summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/asn1')
-rw-r--r--epan/dissectors/asn1/CMakeLists.txt152
-rw-r--r--epan/dissectors/asn1/CMakeListsCustom.example.txt14
-rw-r--r--epan/dissectors/asn1/HI2Operations/CMakeLists.txt32
-rw-r--r--epan/dissectors/asn1/HI2Operations/EpsHI2Operations.asn1143
-rw-r--r--epan/dissectors/asn1/HI2Operations/HI2Operations.cnf100
-rw-r--r--epan/dissectors/asn1/HI2Operations/HI2Operations_ver18.asn808
-rw-r--r--epan/dissectors/asn1/HI2Operations/HI3CCLinkData.asn68
-rw-r--r--epan/dissectors/asn1/HI2Operations/UmtsHI2Operations.asn139
-rw-r--r--epan/dissectors/asn1/HI2Operations/packet-HI2Operations-template.c74
-rw-r--r--epan/dissectors/asn1/acp133/CMakeLists.txt44
-rw-r--r--epan/dissectors/asn1/acp133/MHSDirectoryObjectsAndAttributes.asn433
-rw-r--r--epan/dissectors/asn1/acp133/acp133.asn135
-rw-r--r--epan/dissectors/asn1/acp133/acp133.cnf236
-rw-r--r--epan/dissectors/asn1/acp133/packet-acp133-template.c165
-rw-r--r--epan/dissectors/asn1/acp133/packet-acp133-template.h17
-rw-r--r--epan/dissectors/asn1/acse/CMakeLists.txt43
-rw-r--r--epan/dissectors/asn1/acse/acse.asn435
-rw-r--r--epan/dissectors/asn1/acse/acse.cnf173
-rw-r--r--epan/dissectors/asn1/acse/packet-acse-template.c283
-rw-r--r--epan/dissectors/asn1/acse/packet-acse-template.h19
-rw-r--r--epan/dissectors/asn1/ain/AIN-Errors.asn40
-rw-r--r--epan/dissectors/asn1/ain/AIN-Operations.asn2022
-rw-r--r--epan/dissectors/asn1/ain/AIN-Parameters.asn1555
-rw-r--r--epan/dissectors/asn1/ain/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/ain/ain.cnf253
-rw-r--r--epan/dissectors/asn1/ain/packet-ain-template.c291
-rw-r--r--epan/dissectors/asn1/ansi_map/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/ansi_map/ansi_map.asn8421
-rw-r--r--epan/dissectors/asn1/ansi_map/ansi_map.cnf522
-rw-r--r--epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c5485
-rw-r--r--epan/dissectors/asn1/ansi_map/packet-ansi_map-template.h38
-rw-r--r--epan/dissectors/asn1/ansi_tcap/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/ansi_tcap/TCAP-Remote-Operations-Information-Objects.asn145
-rw-r--r--epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn242
-rw-r--r--epan/dissectors/asn1/ansi_tcap/ansi_tcap.cnf201
-rw-r--r--epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.c487
-rw-r--r--epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.h51
-rw-r--r--epan/dissectors/asn1/atn-cm/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/atn-cm/atn-cm.asn194
-rw-r--r--epan/dissectors/asn1/atn-cm/atn-cm.cnf20
-rw-r--r--epan/dissectors/asn1/atn-cm/packet-atn-cm-template.c229
-rw-r--r--epan/dissectors/asn1/atn-cpdlc/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/atn-cpdlc/atn-cpdlc.asn2793
-rw-r--r--epan/dissectors/asn1/atn-cpdlc/atn-cpdlc.cnf134
-rw-r--r--epan/dissectors/asn1/atn-cpdlc/packet-atn-cpdlc-template.c352
-rw-r--r--epan/dissectors/asn1/atn-ulcs/CMakeLists.txt41
-rw-r--r--epan/dissectors/asn1/atn-ulcs/atn-ulcs.asn508
-rw-r--r--epan/dissectors/asn1/atn-ulcs/atn-ulcs.cnf587
-rw-r--r--epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.c891
-rw-r--r--epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.h81
-rw-r--r--epan/dissectors/asn1/c1222/CMakeLists.txt38
-rw-r--r--epan/dissectors/asn1/c1222/c1222.asn81
-rw-r--r--epan/dissectors/asn1/c1222/c1222.cnf115
-rw-r--r--epan/dissectors/asn1/c1222/packet-c1222-template.c1496
-rw-r--r--epan/dissectors/asn1/c1222/packet-c1222-template.h29
-rw-r--r--epan/dissectors/asn1/camel/CAP-GPRS-ReferenceNumber.asn32
-rw-r--r--epan/dissectors/asn1/camel/CAP-SMS-ops-args.asn269
-rw-r--r--epan/dissectors/asn1/camel/CAP-U-ABORT-Data.asn48
-rw-r--r--epan/dissectors/asn1/camel/CAP-classes.asn306
-rw-r--r--epan/dissectors/asn1/camel/CAP-datatypes.asn1527
-rw-r--r--epan/dissectors/asn1/camel/CAP-errorcodes.asn36
-rw-r--r--epan/dissectors/asn1/camel/CAP-errortypes.asn157
-rw-r--r--epan/dissectors/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn409
-rw-r--r--epan/dissectors/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn147
-rw-r--r--epan/dissectors/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn905
-rw-r--r--epan/dissectors/asn1/camel/CAP-object-identifiers.asn242
-rw-r--r--epan/dissectors/asn1/camel/CAP-operationcodes.asn119
-rw-r--r--epan/dissectors/asn1/camel/CMakeLists.txt58
-rw-r--r--epan/dissectors/asn1/camel/CamelV2diff.asn100
-rw-r--r--epan/dissectors/asn1/camel/TCAPMessages.asn21
-rw-r--r--epan/dissectors/asn1/camel/camel.asn3246
-rw-r--r--epan/dissectors/asn1/camel/camel.cnf831
-rw-r--r--epan/dissectors/asn1/camel/packet-camel-template.c1603
-rw-r--r--epan/dissectors/asn1/camel/packet-camel-template.h127
-rw-r--r--epan/dissectors/asn1/cbrs-oids/CMakeLists.txt41
-rw-r--r--epan/dissectors/asn1/cbrs-oids/cbrs-oids.asn23
-rw-r--r--epan/dissectors/asn1/cbrs-oids/cbrs-oids.cnf11
-rw-r--r--epan/dissectors/asn1/cbrs-oids/packet-cbrs-oids-template.c74
-rw-r--r--epan/dissectors/asn1/cdt/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/cdt/cdt.asn36
-rw-r--r--epan/dissectors/asn1/cdt/cdt.cnf106
-rw-r--r--epan/dissectors/asn1/cdt/packet-cdt-template.c117
-rw-r--r--epan/dissectors/asn1/cdt/packet-cdt-template.h21
-rw-r--r--epan/dissectors/asn1/charging_ase/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/charging_ase/Tariffing-Data-Types.asn446
-rw-r--r--epan/dissectors/asn1/charging_ase/charging_ase.cnf16
-rw-r--r--epan/dissectors/asn1/charging_ase/packet-charging_ase-template.c93
-rw-r--r--epan/dissectors/asn1/charging_ase/packet-charging_ase-template.h16
-rw-r--r--epan/dissectors/asn1/cmip/CMIP-1.asn706
-rw-r--r--epan/dissectors/asn1/cmip/CMIP-A-ABORT-Information.asn17
-rw-r--r--epan/dissectors/asn1/cmip/CMIP-A-ASSOCIATE-Information.asn24
-rw-r--r--epan/dissectors/asn1/cmip/CMIP.asn526
-rw-r--r--epan/dissectors/asn1/cmip/CMakeLists.txt48
-rw-r--r--epan/dissectors/asn1/cmip/cmip.cnf507
-rw-r--r--epan/dissectors/asn1/cmip/packet-cmip-template.c202
-rw-r--r--epan/dissectors/asn1/cmip/packet-cmip-template.h18
-rw-r--r--epan/dissectors/asn1/cmp/CMP.asn522
-rw-r--r--epan/dissectors/asn1/cmp/CMakeLists.txt41
-rw-r--r--epan/dissectors/asn1/cmp/cmp.cnf78
-rw-r--r--epan/dissectors/asn1/cmp/packet-cmp-template.c402
-rw-r--r--epan/dissectors/asn1/cmp/packet-cmp-template.h20
-rw-r--r--epan/dissectors/asn1/cms/AttributeCertificateVersion1.asn51
-rw-r--r--epan/dissectors/asn1/cms/CMSFirmwareWrapper.asn220
-rw-r--r--epan/dissectors/asn1/cms/CMakeLists.txt52
-rw-r--r--epan/dissectors/asn1/cms/CryptographicMessageSyntax.asn485
-rw-r--r--epan/dissectors/asn1/cms/cms.cnf293
-rw-r--r--epan/dissectors/asn1/cms/packet-cms-template.c211
-rw-r--r--epan/dissectors/asn1/cms/packet-cms-template.h20
-rw-r--r--epan/dissectors/asn1/credssp/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/credssp/CredSSP.asn56
-rw-r--r--epan/dissectors/asn1/credssp/credssp.cnf130
-rw-r--r--epan/dissectors/asn1/credssp/packet-credssp-template.c200
-rw-r--r--epan/dissectors/asn1/credssp/packet-credssp-template.h20
-rw-r--r--epan/dissectors/asn1/crmf/CMakeLists.txt43
-rw-r--r--epan/dissectors/asn1/crmf/CRMF.asn311
-rw-r--r--epan/dissectors/asn1/crmf/crmf.cnf49
-rw-r--r--epan/dissectors/asn1/crmf/packet-crmf-template.c75
-rw-r--r--epan/dissectors/asn1/crmf/packet-crmf-template.h18
-rw-r--r--epan/dissectors/asn1/dap/CMakeLists.txt52
-rw-r--r--epan/dissectors/asn1/dap/DirectoryAccessProtocol.asn170
-rw-r--r--epan/dissectors/asn1/dap/dap.asn1304
-rw-r--r--epan/dissectors/asn1/dap/dap.cnf370
-rw-r--r--epan/dissectors/asn1/dap/packet-dap-template.c144
-rw-r--r--epan/dissectors/asn1/dap/packet-dap-template.h17
-rw-r--r--epan/dissectors/asn1/disp/CMakeLists.txt51
-rw-r--r--epan/dissectors/asn1/disp/disp.asn405
-rw-r--r--epan/dissectors/asn1/disp/disp.cnf109
-rw-r--r--epan/dissectors/asn1/disp/packet-disp-template.c251
-rw-r--r--epan/dissectors/asn1/disp/packet-disp-template.h17
-rw-r--r--epan/dissectors/asn1/dop/CMakeLists.txt48
-rw-r--r--epan/dissectors/asn1/dop/dop.asn881
-rw-r--r--epan/dissectors/asn1/dop/dop.cnf207
-rw-r--r--epan/dissectors/asn1/dop/packet-dop-template.c308
-rw-r--r--epan/dissectors/asn1/dop/packet-dop-template.h17
-rw-r--r--epan/dissectors/asn1/dsp/CMakeLists.txt46
-rw-r--r--epan/dissectors/asn1/dsp/dsp.asn489
-rw-r--r--epan/dissectors/asn1/dsp/dsp.cnf55
-rw-r--r--epan/dissectors/asn1/dsp/packet-dsp-template.c313
-rw-r--r--epan/dissectors/asn1/dsp/packet-dsp-template.h17
-rw-r--r--epan/dissectors/asn1/e1ap/CMakeLists.txt44
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn51
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-Constants.asn303
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-Containers.asn152
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-IEs.asn3583
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn2118
-rw-r--r--epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn527
-rw-r--r--epan/dissectors/asn1/e1ap/e1ap.cnf1003
-rw-r--r--epan/dissectors/asn1/e1ap/packet-e1ap-template.c355
-rw-r--r--epan/dissectors/asn1/e1ap/packet-e1ap-template.h37
-rw-r--r--epan/dissectors/asn1/e2ap/CMakeLists.txt47
-rw-r--r--epan/dissectors/asn1/e2ap/E2AP-CommonDataTypes.asn27
-rw-r--r--epan/dissectors/asn1/e2ap/E2AP-Constants.asn165
-rw-r--r--epan/dissectors/asn1/e2ap/E2AP-Containers.asn130
-rw-r--r--epan/dissectors/asn1/e2ap/E2AP-IEs.asn530
-rw-r--r--epan/dissectors/asn1/e2ap/E2AP-PDU-Contents.asn1412
-rw-r--r--epan/dissectors/asn1/e2ap/E2AP-PDU-Descriptions.asn304
-rw-r--r--epan/dissectors/asn1/e2ap/e2ap.cnf917
-rw-r--r--epan/dissectors/asn1/e2ap/e2sm-kpm-v3.00.asn448
-rw-r--r--epan/dissectors/asn1/e2ap/e2sm-ni-v1.00.asn486
-rw-r--r--epan/dissectors/asn1/e2ap/e2sm-rc-v1.03.asn1150
-rw-r--r--epan/dissectors/asn1/e2ap/e2sm-rc-v3.00.asn1332
-rw-r--r--epan/dissectors/asn1/e2ap/e2sm-v3.01.asn573
-rw-r--r--epan/dissectors/asn1/e2ap/packet-e2ap-template.c833
-rw-r--r--epan/dissectors/asn1/ess/CMakeLists.txt41
-rw-r--r--epan/dissectors/asn1/ess/ExtendedSecurityServices.asn297
-rw-r--r--epan/dissectors/asn1/ess/ess.cnf105
-rw-r--r--epan/dissectors/asn1/ess/packet-ess-template.c193
-rw-r--r--epan/dissectors/asn1/ess/packet-ess-template.h19
-rw-r--r--epan/dissectors/asn1/f1ap/CMakeLists.txt44
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn34
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-Constants.asn989
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-Containers.asn186
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-IEs.asn8433
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn5303
-rw-r--r--epan/dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn956
-rw-r--r--epan/dissectors/asn1/f1ap/f1ap.cnf3410
-rw-r--r--epan/dissectors/asn1/f1ap/packet-f1ap-template.c906
-rw-r--r--epan/dissectors/asn1/f1ap/packet-f1ap-template.h29
-rw-r--r--epan/dissectors/asn1/ftam/CMakeLists.txt43
-rw-r--r--epan/dissectors/asn1/ftam/ISO8571-FTAM.asn1451
-rw-r--r--epan/dissectors/asn1/ftam/ftam.cnf164
-rw-r--r--epan/dissectors/asn1/ftam/packet-ftam-template.c168
-rw-r--r--epan/dissectors/asn1/ftam/packet-ftam-template.h22
-rw-r--r--epan/dissectors/asn1/gdt/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/gdt/gdt.asn770
-rw-r--r--epan/dissectors/asn1/gdt/gdt.cnf30
-rw-r--r--epan/dissectors/asn1/gdt/packet-gdt-template.c94
-rw-r--r--epan/dissectors/asn1/gdt/packet-gdt-template.h19
-rw-r--r--epan/dissectors/asn1/glow/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/glow/glow.asn621
-rw-r--r--epan/dissectors/asn1/glow/glow.cnf16
-rw-r--r--epan/dissectors/asn1/glow/packet-glow-template.c91
-rw-r--r--epan/dissectors/asn1/goose/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/goose/goose.asn143
-rw-r--r--epan/dissectors/asn1/goose/goose.cnf96
-rw-r--r--epan/dissectors/asn1/goose/packet-goose-template.c623
-rw-r--r--epan/dissectors/asn1/gprscdr/CMakeLists.txt45
-rw-r--r--epan/dissectors/asn1/gprscdr/GPRSChargingDataTypes.asn1490
-rw-r--r--epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV641.asn890
-rw-r--r--epan/dissectors/asn1/gprscdr/GenericChargingDataTypes.asn987
-rw-r--r--epan/dissectors/asn1/gprscdr/gprscdr.cnf300
-rw-r--r--epan/dissectors/asn1/gprscdr/packet-gprscdr-template.c170
-rw-r--r--epan/dissectors/asn1/gprscdr/packet-gprscdr-template.h31
-rw-r--r--epan/dissectors/asn1/gsm_map/CMakeLists.txt88
-rw-r--r--epan/dissectors/asn1/gsm_map/Ericsson.asn184
-rw-r--r--epan/dissectors/asn1/gsm_map/GSMMAP.asn768
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-ApplicationContexts.asn204
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-BS-Code.asn129
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-CH-DataTypes.asn479
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-CallHandlingOperations.asn214
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-CommonDataTypes.asn673
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-DialogueInformation.asn127
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-ER-DataTypes.asn435
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-Errors.asn508
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-ExtensionDataTypes.asn71
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-GR-DataTypes.asn198
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-Group-Call-Operations.asn97
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-LCS-DataTypes.asn714
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-LocationServiceOperations.asn106
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-MS-DataTypes.asn3494
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-MobileServiceOperations.asn541
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-OM-DataTypes.asn492
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-OperationAndMaintenanceOperations.asn93
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-Protocol.asn177
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-SM-DataTypes.asn380
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-SS-Code.asn188
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-SS-DataTypes.asn340
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-ShortMessageServiceOperations.asn173
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-SupplementaryServiceOperations.asn298
-rw-r--r--epan/dissectors/asn1/gsm_map/MAP-TS-Code.asn90
-rw-r--r--epan/dissectors/asn1/gsm_map/MobileDomainDefinitions.asn30
-rw-r--r--epan/dissectors/asn1/gsm_map/Nokia.asn605
-rw-r--r--epan/dissectors/asn1/gsm_map/SS-DataTypes.asn599
-rw-r--r--epan/dissectors/asn1/gsm_map/SS-Errors.asn44
-rw-r--r--epan/dissectors/asn1/gsm_map/SS-Operations.asn311
-rw-r--r--epan/dissectors/asn1/gsm_map/SS-Protocol.asn53
-rw-r--r--epan/dissectors/asn1/gsm_map/gsm_map.cnf1213
-rw-r--r--epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c3471
-rw-r--r--epan/dissectors/asn1/gsm_map/packet-gsm_map-template.h69
-rw-r--r--epan/dissectors/asn1/h225/CMakeLists.txt44
-rw-r--r--epan/dissectors/asn1/h225/H323-MESSAGES.asn2221
-rw-r--r--epan/dissectors/asn1/h225/h225.cnf961
-rw-r--r--epan/dissectors/asn1/h225/packet-h225-template.c1146
-rw-r--r--epan/dissectors/asn1/h225/packet-h225-template.h83
-rw-r--r--epan/dissectors/asn1/h235/CMakeLists.txt44
-rw-r--r--epan/dissectors/asn1/h235/H235-SECURITY-MESSAGES.asn354
-rw-r--r--epan/dissectors/asn1/h235/H235-SRTP.asn58
-rw-r--r--epan/dissectors/asn1/h235/h235.cnf85
-rw-r--r--epan/dissectors/asn1/h235/packet-h235-template.c132
-rw-r--r--epan/dissectors/asn1/h235/packet-h235-template.h18
-rw-r--r--epan/dissectors/asn1/h245/CMakeLists.txt42
-rw-r--r--epan/dissectors/asn1/h245/MULTIMEDIA-SYSTEM-CONTROL.asn3410
-rw-r--r--epan/dissectors/asn1/h245/h245.cnf1425
-rw-r--r--epan/dissectors/asn1/h245/packet-h245-template.c598
-rw-r--r--epan/dissectors/asn1/h245/packet-h245-template.h119
-rw-r--r--epan/dissectors/asn1/h248/CMakeLists.txt36
-rw-r--r--epan/dissectors/asn1/h248/MEGACO.asn987
-rw-r--r--epan/dissectors/asn1/h248/h248.cnf413
-rw-r--r--epan/dissectors/asn1/h248/h248v1support.asn45
-rw-r--r--epan/dissectors/asn1/h248/h248v3.asn1101
-rw-r--r--epan/dissectors/asn1/h248/packet-h248-template.c2397
-rw-r--r--epan/dissectors/asn1/h248/packet-h248-template.h284
-rw-r--r--epan/dissectors/asn1/h282/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/h282/RDC-PROTOCOL.asn981
-rw-r--r--epan/dissectors/asn1/h282/h282.cnf56
-rw-r--r--epan/dissectors/asn1/h282/packet-h282-template.c86
-rw-r--r--epan/dissectors/asn1/h283/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/h283/LCT-PROTOCOL.asn79
-rw-r--r--epan/dissectors/asn1/h283/h283.cnf115
-rw-r--r--epan/dissectors/asn1/h283/packet-h283-template.c96
-rw-r--r--epan/dissectors/asn1/h323/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/h323/RAS-PROTOCOL-TUNNEL.asn25
-rw-r--r--epan/dissectors/asn1/h323/ROBUSTNESS-DATA.asn87
-rw-r--r--epan/dissectors/asn1/h323/h323.cnf15
-rw-r--r--epan/dissectors/asn1/h323/packet-h323-template.c125
-rw-r--r--epan/dissectors/asn1/h323/packet-h323-template.h52
-rw-r--r--epan/dissectors/asn1/h450-ros/CMakeLists.txt47
-rw-r--r--epan/dissectors/asn1/h450-ros/Remote-Operations-Apdus.asn150
-rw-r--r--epan/dissectors/asn1/h450-ros/h450-ros.cnf108
-rw-r--r--epan/dissectors/asn1/h450-ros/packet-h450-ros-template.c103
-rw-r--r--epan/dissectors/asn1/h450-ros/packet-h450-ros-template.h18
-rw-r--r--epan/dissectors/asn1/h450/Addressing-Data-Elements.asn125
-rw-r--r--epan/dissectors/asn1/h450/CMakeLists.txt62
-rw-r--r--epan/dissectors/asn1/h450/Call-Completion-Operations.asn154
-rw-r--r--epan/dissectors/asn1/h450/Call-Diversion-Operations.asn323
-rw-r--r--epan/dissectors/asn1/h450/Call-Hold-Operations.asn131
-rw-r--r--epan/dissectors/asn1/h450/Call-Intrusion-Operations.asn209
-rw-r--r--epan/dissectors/asn1/h450/Call-Offer-Operations.asn71
-rw-r--r--epan/dissectors/asn1/h450/Call-Park-Pickup-Operations.asn302
-rw-r--r--epan/dissectors/asn1/h450/Call-Transfer-Operations.asn244
-rw-r--r--epan/dissectors/asn1/h450/Call-Waiting-Operations.asn45
-rw-r--r--epan/dissectors/asn1/h450/Common-Information-Operations.asn149
-rw-r--r--epan/dissectors/asn1/h450/H225-generic-parameters-definition.asn17
-rw-r--r--epan/dissectors/asn1/h450/H4501-General-Error-List.asn100
-rw-r--r--epan/dissectors/asn1/h450/H4501-Supplementary-ServiceAPDU-Structure.asn72
-rw-r--r--epan/dissectors/asn1/h450/Manufacturer-specific-service-extension-definition.asn31
-rw-r--r--epan/dissectors/asn1/h450/Message-Waiting-Indication-Operations.asn169
-rw-r--r--epan/dissectors/asn1/h450/Name-Operations.asn97
-rw-r--r--epan/dissectors/asn1/h450/h450.cnf165
-rw-r--r--epan/dissectors/asn1/h450/packet-h450-template.c312
-rw-r--r--epan/dissectors/asn1/h460/CALL-PARTY-CATEGORY.asn23
-rw-r--r--epan/dissectors/asn1/h460/CALL-PRIORITY.asn55
-rw-r--r--epan/dissectors/asn1/h460/CIRCUIT-STATUS-MAP.asn36
-rw-r--r--epan/dissectors/asn1/h460/CMakeLists.txt50
-rw-r--r--epan/dissectors/asn1/h460/MEDIA-TRAVERSAL.asn30
-rw-r--r--epan/dissectors/asn1/h460/MESSAGE-BROADCAST.asn50
-rw-r--r--epan/dissectors/asn1/h460/MLPP.asn62
-rw-r--r--epan/dissectors/asn1/h460/NUMBER-PORTABILITY.asn62
-rw-r--r--epan/dissectors/asn1/h460/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn70
-rw-r--r--epan/dissectors/asn1/h460/QOS-MONITORING-REPORT.asn99
-rw-r--r--epan/dissectors/asn1/h460/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn56
-rw-r--r--epan/dissectors/asn1/h460/SIGNALLING-TRAVERSAL.asn28
-rw-r--r--epan/dissectors/asn1/h460/h460.cnf64
-rw-r--r--epan/dissectors/asn1/h460/packet-h460-template.c284
-rw-r--r--epan/dissectors/asn1/h501/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/h501/H501-MESSAGES.asn656
-rw-r--r--epan/dissectors/asn1/h501/h501.cnf36
-rw-r--r--epan/dissectors/asn1/h501/packet-h501-template.c121
-rw-r--r--epan/dissectors/asn1/hnbap/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/hnbap/HNBAP-CommonDataTypes.asn55
-rw-r--r--epan/dissectors/asn1/hnbap/HNBAP-Constants.asn92
-rw-r--r--epan/dissectors/asn1/hnbap/HNBAP-Containers.asn157
-rw-r--r--epan/dissectors/asn1/hnbap/HNBAP-IEs.asn518
-rw-r--r--epan/dissectors/asn1/hnbap/HNBAP-PDU-Contents.asn490
-rw-r--r--epan/dissectors/asn1/hnbap/HNBAP-PDU-Descriptions.asn231
-rw-r--r--epan/dissectors/asn1/hnbap/hnbap.cnf331
-rw-r--r--epan/dissectors/asn1/hnbap/packet-hnbap-template.c193
-rw-r--r--epan/dissectors/asn1/idmp/CMakeLists.txt45
-rw-r--r--epan/dissectors/asn1/idmp/CommonProtocolSpecification.asn119
-rw-r--r--epan/dissectors/asn1/idmp/IDMProtocolSpecification.asn124
-rw-r--r--epan/dissectors/asn1/idmp/idmp.cnf90
-rw-r--r--epan/dissectors/asn1/idmp/packet-idmp-template.c348
-rw-r--r--epan/dissectors/asn1/idmp/packet-idmp-template.h20
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/IEEE1609dot12.asn101
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/IEEE1609dot2BaseTypes.asn1413
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2.asn1470
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2Crl.asn104
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2CrlBaseTypes.asn469
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/ieee1609dot2.cnf199
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.c156
-rw-r--r--epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.h45
-rw-r--r--epan/dissectors/asn1/ilp/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/ilp/ILP-Components.asn852
-rw-r--r--epan/dissectors/asn1/ilp/ILP.asn419
-rw-r--r--epan/dissectors/asn1/ilp/ilp.cnf115
-rw-r--r--epan/dissectors/asn1/ilp/packet-ilp-template.c137
-rw-r--r--epan/dissectors/asn1/inap/CMakeLists.txt73
-rw-r--r--epan/dissectors/asn1/inap/IN-SCF-SRF-Classes.asn92
-rw-r--r--epan/dissectors/asn1/inap/IN-SCF-SRF-datatypes.asn188
-rw-r--r--epan/dissectors/asn1/inap/IN-SCF-SRF-ops-args.asn279
-rw-r--r--epan/dissectors/asn1/inap/IN-SSF-SCF-Classes.asn296
-rw-r--r--epan/dissectors/asn1/inap/IN-SSF-SCF-datatypes.asn1435
-rw-r--r--epan/dissectors/asn1/inap/IN-SSF-SCF-ops-args.asn2358
-rw-r--r--epan/dissectors/asn1/inap/IN-common-classes.asn352
-rw-r--r--epan/dissectors/asn1/inap/IN-common-datatypes.asn40
-rw-r--r--epan/dissectors/asn1/inap/IN-errorcodes.asn57
-rw-r--r--epan/dissectors/asn1/inap/IN-errortypes.asn195
-rw-r--r--epan/dissectors/asn1/inap/IN-object-identifiers.asn720
-rw-r--r--epan/dissectors/asn1/inap/IN-operationcodes.asn295
-rw-r--r--epan/dissectors/asn1/inap/inap.asn179
-rw-r--r--epan/dissectors/asn1/inap/inap.cnf438
-rw-r--r--epan/dissectors/asn1/inap/packet-inap-template.c293
-rw-r--r--epan/dissectors/asn1/inap/packet-inap-template.h18
-rw-r--r--epan/dissectors/asn1/isdn-sup/Addressing-Data-Elements.asn140
-rw-r--r--epan/dissectors/asn1/isdn-sup/Advice-of-Charge-Operations.asn265
-rw-r--r--epan/dissectors/asn1/isdn-sup/Basic-Service-Elements.asn32
-rw-r--r--epan/dissectors/asn1/isdn-sup/CCBS-Operations-and-Errors.asn170
-rw-r--r--epan/dissectors/asn1/isdn-sup/CCBS-private-networks-Operations-and-Errors.asn69
-rw-r--r--epan/dissectors/asn1/isdn-sup/CMakeLists.txt49
-rw-r--r--epan/dissectors/asn1/isdn-sup/Closed-User-Group-Service-Operations.asn77
-rw-r--r--epan/dissectors/asn1/isdn-sup/Conference-Add-On-Operations.asn123
-rw-r--r--epan/dissectors/asn1/isdn-sup/Diversion-Operations.asn365
-rw-r--r--epan/dissectors/asn1/isdn-sup/Embedded-Q931-Types.asn11
-rw-r--r--epan/dissectors/asn1/isdn-sup/Explicit-Call-Transfer-Operations-and-Errors.asn150
-rw-r--r--epan/dissectors/asn1/isdn-sup/Freephone-Operations.asn112
-rw-r--r--epan/dissectors/asn1/isdn-sup/General-Errors.asn65
-rw-r--r--epan/dissectors/asn1/isdn-sup/MCID-Operations.asn38
-rw-r--r--epan/dissectors/asn1/isdn-sup/MLPP-Operations-And-Errors.asn135
-rw-r--r--epan/dissectors/asn1/isdn-sup/MWI-Operations-and-Errors.asn144
-rw-r--r--epan/dissectors/asn1/isdn-sup/Outgoing-Call-Barring-Operations-and-Errors.asn201
-rw-r--r--epan/dissectors/asn1/isdn-sup/Set-Operations-and-Errors.asn98
-rw-r--r--epan/dissectors/asn1/isdn-sup/Three-Party-Operations.asn53
-rw-r--r--epan/dissectors/asn1/isdn-sup/User-To-User-Signalling-Operations.asn48
-rw-r--r--epan/dissectors/asn1/isdn-sup/isdn-sup.cnf81
-rw-r--r--epan/dissectors/asn1/isdn-sup/packet-isdn-sup-template.c362
-rw-r--r--epan/dissectors/asn1/its/CAM-PDU-Descriptions.asn336
-rw-r--r--epan/dissectors/asn1/its/CAM.asn139
-rw-r--r--epan/dissectors/asn1/its/CAMv1.asn138
-rw-r--r--epan/dissectors/asn1/its/CMakeLists.txt61
-rw-r--r--epan/dissectors/asn1/its/CPM-OriginatingStationContainers.asn28
-rw-r--r--epan/dissectors/asn1/its/CPM-PDU-Descriptions.asn108
-rw-r--r--epan/dissectors/asn1/its/CPM-PerceivedObjectContainer.asn21
-rw-r--r--epan/dissectors/asn1/its/CPM-PerceptionRegionContainer.asn29
-rw-r--r--epan/dissectors/asn1/its/CPM-SensorInformationContainer.asn26
-rw-r--r--epan/dissectors/asn1/its/DENM-PDU-Descriptions.asn113
-rw-r--r--epan/dissectors/asn1/its/DENM.asn104
-rw-r--r--epan/dissectors/asn1/its/DENMv1.asn113
-rw-r--r--epan/dissectors/asn1/its/ETSI-ITS-CDD.asn2133
-rw-r--r--epan/dissectors/asn1/its/ETSI_TS_103301.asn179
-rw-r--r--epan/dissectors/asn1/its/EV-RSR-PDU-Descriptions.asn157
-rw-r--r--epan/dissectors/asn1/its/EVCSN-PDU-Descriptions.asn102
-rw-r--r--epan/dissectors/asn1/its/GDD.asn302
-rw-r--r--epan/dissectors/asn1/its/IMZM-PDU-Descriptions.asn264
-rw-r--r--epan/dissectors/asn1/its/ISO19321IVIv2.asn722
-rw-r--r--epan/dissectors/asn1/its/ISO_TS_14816.asn29
-rw-r--r--epan/dissectors/asn1/its/ISO_TS_14906_Application.asn143
-rw-r--r--epan/dissectors/asn1/its/ISO_TS_17419.asn44
-rw-r--r--epan/dissectors/asn1/its/ISO_TS_19091.asn1583
-rw-r--r--epan/dissectors/asn1/its/ISO_TS_19321.asn626
-rw-r--r--epan/dissectors/asn1/its/ISO_TS_24534-3.asn86
-rw-r--r--epan/dissectors/asn1/its/ITS-Container.asn515
-rw-r--r--epan/dissectors/asn1/its/ITS-ContainerV1.asn464
-rw-r--r--epan/dissectors/asn1/its/TIS_TPG_Transactions_Descriptions.asn347
-rw-r--r--epan/dissectors/asn1/its/VAM-PDU-Descriptions.asn98
-rw-r--r--epan/dissectors/asn1/its/VAM-Temp-Imports.asn122
-rw-r--r--epan/dissectors/asn1/its/its.cnf937
-rw-r--r--epan/dissectors/asn1/its/packet-its-template.c1060
-rw-r--r--epan/dissectors/asn1/its/packet-its-template.h59
-rw-r--r--epan/dissectors/asn1/kerberos/CMakeLists.txt43
-rw-r--r--epan/dissectors/asn1/kerberos/KerberosV5Spec2.asn516
-rw-r--r--epan/dissectors/asn1/kerberos/RFC3244.asn12
-rw-r--r--epan/dissectors/asn1/kerberos/RFC6113.asn147
-rw-r--r--epan/dissectors/asn1/kerberos/SPAKE.asn86
-rw-r--r--epan/dissectors/asn1/kerberos/k5.asn891
-rw-r--r--epan/dissectors/asn1/kerberos/kerberos.cnf691
-rw-r--r--epan/dissectors/asn1/kerberos/packet-kerberos-template.c5451
-rw-r--r--epan/dissectors/asn1/kerberos/packet-kerberos-template.h134
-rw-r--r--epan/dissectors/asn1/kpm-v2/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/kpm-v2/e2sm-kpm-v2.02.asn384
-rw-r--r--epan/dissectors/asn1/kpm-v2/e2sm-v3.01.asn388
-rw-r--r--epan/dissectors/asn1/kpm-v2/kpm-v2.cnf84
-rw-r--r--epan/dissectors/asn1/kpm-v2/packet-kpm-v2-template.c122
-rw-r--r--epan/dissectors/asn1/lcsap/CMakeLists.txt48
-rw-r--r--epan/dissectors/asn1/lcsap/LCS-AP-CommonDataTypes.asn31
-rw-r--r--epan/dissectors/asn1/lcsap/LCS-AP-Constants.asn101
-rw-r--r--epan/dissectors/asn1/lcsap/LCS-AP-Containers.asn117
-rw-r--r--epan/dissectors/asn1/lcsap/LCS-AP-IEs.asn728
-rw-r--r--epan/dissectors/asn1/lcsap/LCS-AP-PDU-Contents.asn334
-rw-r--r--epan/dissectors/asn1/lcsap/LCS-AP-PDU-Descriptions.asn180
-rw-r--r--epan/dissectors/asn1/lcsap/lcsap.cnf382
-rw-r--r--epan/dissectors/asn1/lcsap/packet-lcsap-template.c329
-rw-r--r--epan/dissectors/asn1/lcsap/packet-lcsap-template.h20
-rw-r--r--epan/dissectors/asn1/ldap/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/ldap/Lightweight-Directory-Access-Protocol-V3.asn540
-rw-r--r--epan/dissectors/asn1/ldap/ldap.cnf818
-rw-r--r--epan/dissectors/asn1/ldap/packet-ldap-template.c2423
-rw-r--r--epan/dissectors/asn1/ldap/packet-ldap-template.h100
-rw-r--r--epan/dissectors/asn1/lix2/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/lix2/lix2.asn3731
-rw-r--r--epan/dissectors/asn1/lix2/lix2.cnf19
-rw-r--r--epan/dissectors/asn1/lix2/packet-lix2-template.c75
-rw-r--r--epan/dissectors/asn1/lnpdqp/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/lnpdqp/LNPDQP.asn66
-rw-r--r--epan/dissectors/asn1/lnpdqp/lnpdqp.cnf45
-rw-r--r--epan/dissectors/asn1/lnpdqp/packet-lnpdqp-template.c359
-rw-r--r--epan/dissectors/asn1/logotypecertextn/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/logotypecertextn/LogotypeCertExtn.asn117
-rw-r--r--epan/dissectors/asn1/logotypecertextn/logotypecertextn.cnf28
-rw-r--r--epan/dissectors/asn1/logotypecertextn/packet-logotypecertextn-template.c65
-rw-r--r--epan/dissectors/asn1/logotypecertextn/packet-logotypecertextn-template.h18
-rw-r--r--epan/dissectors/asn1/lpp/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/lpp/LPP-Broadcast-Definitions.asn61
-rw-r--r--epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn6992
-rw-r--r--epan/dissectors/asn1/lpp/lpp.cnf1952
-rw-r--r--epan/dissectors/asn1/lpp/packet-lpp-template.c2156
-rw-r--r--epan/dissectors/asn1/lpp/packet-lpp-template.h68
-rw-r--r--epan/dissectors/asn1/lppa/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/lppa/LPPA-CommonDataTypes.asn53
-rw-r--r--epan/dissectors/asn1/lppa/LPPA-Constants.asn101
-rw-r--r--epan/dissectors/asn1/lppa/LPPA-Containers.asn197
-rw-r--r--epan/dissectors/asn1/lppa/LPPA-IEs.asn971
-rw-r--r--epan/dissectors/asn1/lppa/LPPA-PDU-Contents.asn415
-rw-r--r--epan/dissectors/asn1/lppa/LPPA-PDU-Descriptions.asn235
-rw-r--r--epan/dissectors/asn1/lppa/lppa.cnf179
-rw-r--r--epan/dissectors/asn1/lppa/packet-lppa-template.c165
-rw-r--r--epan/dissectors/asn1/lppa/packet-lppa-template.h37
-rw-r--r--epan/dissectors/asn1/lppe/CMakeLists.txt38
-rw-r--r--epan/dissectors/asn1/lppe/LPPe.asn4331
-rw-r--r--epan/dissectors/asn1/lppe/lppe.cnf49
-rw-r--r--epan/dissectors/asn1/lppe/packet-lppe-template.c90
-rw-r--r--epan/dissectors/asn1/lte-rrc/CMakeLists.txt43
-rw-r--r--epan/dissectors/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn644
-rw-r--r--epan/dissectors/asn1/lte-rrc/EUTRA-RRC-Definitions.asn16921
-rw-r--r--epan/dissectors/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn271
-rw-r--r--epan/dissectors/asn1/lte-rrc/EUTRA-UE-Variables.asn297
-rw-r--r--epan/dissectors/asn1/lte-rrc/NBIOT-InterNodeDefinitions.asn163
-rw-r--r--epan/dissectors/asn1/lte-rrc/NBIOT-RRC-Definitions.asn3073
-rw-r--r--epan/dissectors/asn1/lte-rrc/NBIOT-UE-Variables.asn57
-rw-r--r--epan/dissectors/asn1/lte-rrc/PC5-RRC-Definitions.asn50
-rw-r--r--epan/dissectors/asn1/lte-rrc/lte-rrc.cnf4038
-rw-r--r--epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c4578
-rw-r--r--epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.h18
-rw-r--r--epan/dissectors/asn1/m2ap/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/m2ap/M2AP-CommonDataTypes.asn49
-rw-r--r--epan/dissectors/asn1/m2ap/M2AP-Constants.asn118
-rw-r--r--epan/dissectors/asn1/m2ap/M2AP-Containers.asn195
-rw-r--r--epan/dissectors/asn1/m2ap/M2AP-IEs.asn537
-rw-r--r--epan/dissectors/asn1/m2ap/M2AP-PDU-Contents.asn799
-rw-r--r--epan/dissectors/asn1/m2ap/M2AP-PDU-Descriptions.asn261
-rw-r--r--epan/dissectors/asn1/m2ap/m2ap.cnf325
-rw-r--r--epan/dissectors/asn1/m2ap/packet-m2ap-template.c200
-rw-r--r--epan/dissectors/asn1/m3ap/CMakeLists.txt38
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-CommonDataTypes.asn56
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-Constants.asn88
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-Containers.asn202
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-IEs.asn315
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-PDU-Contents.asn481
-rw-r--r--epan/dissectors/asn1/m3ap/M3AP-PDU-Descriptions.asn213
-rw-r--r--epan/dissectors/asn1/m3ap/m3ap.cnf348
-rw-r--r--epan/dissectors/asn1/m3ap/packet-m3ap-template.c223
-rw-r--r--epan/dissectors/asn1/mms/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/mms/mms.asn2301
-rw-r--r--epan/dissectors/asn1/mms/mms.cnf201
-rw-r--r--epan/dissectors/asn1/mms/packet-mms-template.c248
-rw-r--r--epan/dissectors/asn1/mms/packet-mms-template.h18
-rw-r--r--epan/dissectors/asn1/mpeg-audio/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/mpeg-audio/mpeg-audio.asn75
-rw-r--r--epan/dissectors/asn1/mpeg-audio/mpeg-audio.cnf11
-rw-r--r--epan/dissectors/asn1/mpeg-audio/packet-mpeg-audio-template.c226
-rw-r--r--epan/dissectors/asn1/mpeg-pes/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/mpeg-pes/mpeg-pes.asn117
-rw-r--r--epan/dissectors/asn1/mpeg-pes/mpeg-pes.cnf15
-rw-r--r--epan/dissectors/asn1/mpeg-pes/packet-mpeg-pes-template.c757
-rw-r--r--epan/dissectors/asn1/mudurl/CMakeLists.txt38
-rw-r--r--epan/dissectors/asn1/mudurl/MUDURL.asn64
-rw-r--r--epan/dissectors/asn1/mudurl/mudurl.cnf18
-rw-r--r--epan/dissectors/asn1/mudurl/packet-mudurl-template.c67
-rw-r--r--epan/dissectors/asn1/nbap/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/nbap/NBAP-CommonDataTypes.asn64
-rw-r--r--epan/dissectors/asn1/nbap/NBAP-Constants.asn1575
-rw-r--r--epan/dissectors/asn1/nbap/NBAP-Containers.asn205
-rw-r--r--epan/dissectors/asn1/nbap/NBAP-IEs.asn10050
-rw-r--r--epan/dissectors/asn1/nbap/NBAP-PDU-Contents.asn12119
-rw-r--r--epan/dissectors/asn1/nbap/NBAP-PDU-Descriptions.asn970
-rw-r--r--epan/dissectors/asn1/nbap/nbap.cnf3621
-rw-r--r--epan/dissectors/asn1/nbap/packet-nbap-template.c825
-rw-r--r--epan/dissectors/asn1/nbap/packet-nbap-template.h33
-rw-r--r--epan/dissectors/asn1/ngap/CMakeLists.txt43
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-CommonDataTypes.asn34
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-Constants.asn591
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-Containers.asn200
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-IEs.asn6990
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-PDU-Contents.asn3388
-rw-r--r--epan/dissectors/asn1/ngap/NGAP-PDU-Descriptions.asn888
-rw-r--r--epan/dissectors/asn1/ngap/ngap.cnf2787
-rw-r--r--epan/dissectors/asn1/ngap/packet-ngap-template.c1470
-rw-r--r--epan/dissectors/asn1/ngap/packet-ngap-template.h29
-rw-r--r--epan/dissectors/asn1/nist-csor/CMakeLists.txt42
-rw-r--r--epan/dissectors/asn1/nist-csor/aes1.asn148
-rw-r--r--epan/dissectors/asn1/nist-csor/nist-csor.cnf48
-rw-r--r--epan/dissectors/asn1/nist-csor/packet-nist-csor-template.c140
-rw-r--r--epan/dissectors/asn1/nist-csor/packet-nist-csor-template.h16
-rw-r--r--epan/dissectors/asn1/novell_pkis/CMakeLists.txt33
-rw-r--r--epan/dissectors/asn1/novell_pkis/novell_pkis.asn283
-rw-r--r--epan/dissectors/asn1/novell_pkis/novell_pkis.cnf21
-rw-r--r--epan/dissectors/asn1/novell_pkis/packet-novell_pkis-template.c51
-rw-r--r--epan/dissectors/asn1/nr-rrc/CMakeLists.txt41
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn843
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn19137
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-Sidelink-DiscoveryMessage.asn17
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-Sidelink-Preconf.asn79
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn277
-rw-r--r--epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn483
-rw-r--r--epan/dissectors/asn1/nr-rrc/nr-rrc.cnf2332
-rw-r--r--epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c1091
-rw-r--r--epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.h18
-rw-r--r--epan/dissectors/asn1/nrppa/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/nrppa/NRPPA-CommonDataTypes.asn51
-rw-r--r--epan/dissectors/asn1/nrppa/NRPPA-Constants.asn226
-rw-r--r--epan/dissectors/asn1/nrppa/NRPPA-Containers.asn152
-rw-r--r--epan/dissectors/asn1/nrppa/NRPPA-IEs.asn3206
-rw-r--r--epan/dissectors/asn1/nrppa/NRPPA-PDU-Contents.asn927
-rw-r--r--epan/dissectors/asn1/nrppa/NRPPA-PDU-Descriptions.asn360
-rw-r--r--epan/dissectors/asn1/nrppa/nrppa.cnf383
-rw-r--r--epan/dissectors/asn1/nrppa/packet-nrppa-template.c122
-rw-r--r--epan/dissectors/asn1/nrppa/packet-nrppa-template.h29
-rw-r--r--epan/dissectors/asn1/ns_cert_exts/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/ns_cert_exts/NETSCAPE-CERT-EXTS.asn33
-rw-r--r--epan/dissectors/asn1/ns_cert_exts/ns_cert_exts.cnf26
-rw-r--r--epan/dissectors/asn1/ns_cert_exts/packet-ns_cert_exts-template.c62
-rw-r--r--epan/dissectors/asn1/ocsp/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/ocsp/OCSP.asn186
-rw-r--r--epan/dissectors/asn1/ocsp/ocsp.cnf55
-rw-r--r--epan/dissectors/asn1/ocsp/packet-ocsp-template.c127
-rw-r--r--epan/dissectors/asn1/ocsp/packet-ocsp-template.h21
-rw-r--r--epan/dissectors/asn1/p1/CMakeLists.txt56
-rw-r--r--epan/dissectors/asn1/p1/MHSProtocolObjectIdentifiers.asn112
-rw-r--r--epan/dissectors/asn1/p1/MTAAbstractService.asn499
-rw-r--r--epan/dissectors/asn1/p1/MTSAbstractService.asn2500
-rw-r--r--epan/dissectors/asn1/p1/MTSAccessProtocol.asn321
-rw-r--r--epan/dissectors/asn1/p1/MTSUpperBounds.asn150
-rw-r--r--epan/dissectors/asn1/p1/p1.cnf1291
-rw-r--r--epan/dissectors/asn1/p1/packet-p1-template.c435
-rw-r--r--epan/dissectors/asn1/p1/packet-p1-template.h25
-rw-r--r--epan/dissectors/asn1/p22/CMakeLists.txt61
-rw-r--r--epan/dissectors/asn1/p22/IPMSExtendedBodyPartTypes2.asn38
-rw-r--r--epan/dissectors/asn1/p22/IPMSExtendedVoiceBodyPartType.asn40
-rw-r--r--epan/dissectors/asn1/p22/IPMSFileTransferBodyPartType.asn262
-rw-r--r--epan/dissectors/asn1/p22/IPMSForwardedContentBodyPartType.asn54
-rw-r--r--epan/dissectors/asn1/p22/IPMSHeadingExtensions.asn267
-rw-r--r--epan/dissectors/asn1/p22/IPMSInformationObjects.asn643
-rw-r--r--epan/dissectors/asn1/p22/IPMSMessageStoreAttributes.asn1175
-rw-r--r--epan/dissectors/asn1/p22/IPMSObjectIdentifiers.asn508
-rw-r--r--epan/dissectors/asn1/p22/IPMSSecurityExtensions.asn149
-rw-r--r--epan/dissectors/asn1/p22/IPMSUpperBounds.asn48
-rw-r--r--epan/dissectors/asn1/p22/p22.cnf305
-rw-r--r--epan/dissectors/asn1/p22/packet-p22-template.c136
-rw-r--r--epan/dissectors/asn1/p22/packet-p22-template.h20
-rw-r--r--epan/dissectors/asn1/p7/CMakeLists.txt52
-rw-r--r--epan/dissectors/asn1/p7/MSAbstractService.asn1124
-rw-r--r--epan/dissectors/asn1/p7/MSAccessProtocol.asn257
-rw-r--r--epan/dissectors/asn1/p7/MSGeneralAttributeTypes.asn832
-rw-r--r--epan/dissectors/asn1/p7/MSUpperBounds.asn79
-rw-r--r--epan/dissectors/asn1/p7/p7.cnf422
-rw-r--r--epan/dissectors/asn1/p7/packet-p7-template.c118
-rw-r--r--epan/dissectors/asn1/p7/packet-p7-template.h17
-rw-r--r--epan/dissectors/asn1/p772/CMakeLists.txt47
-rw-r--r--epan/dissectors/asn1/p772/MMSAbstractService.asn182
-rw-r--r--epan/dissectors/asn1/p772/MMSExtendedBodyPartTypes.asn115
-rw-r--r--epan/dissectors/asn1/p772/MMSHeadingExtensions.asn250
-rw-r--r--epan/dissectors/asn1/p772/MMSInformationObjects.asn62
-rw-r--r--epan/dissectors/asn1/p772/MMSObjectIdentifiers.asn262
-rw-r--r--epan/dissectors/asn1/p772/MMSOtherNotificationTypeExtensions.asn56
-rw-r--r--epan/dissectors/asn1/p772/MMSPerRecipientSpecifierExtensions.asn34
-rw-r--r--epan/dissectors/asn1/p772/MMSUpperBounds.asn25
-rw-r--r--epan/dissectors/asn1/p772/p772.cnf117
-rw-r--r--epan/dissectors/asn1/p772/packet-p772-template.c106
-rw-r--r--epan/dissectors/asn1/p772/packet-p772-template.h17
-rw-r--r--epan/dissectors/asn1/pcap/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/pcap/PCAP-CommonDataTypes.asn56
-rw-r--r--epan/dissectors/asn1/pcap/PCAP-Constants.asn244
-rw-r--r--epan/dissectors/asn1/pcap/PCAP-Containers.asn153
-rw-r--r--epan/dissectors/asn1/pcap/PCAP-IEs.asn5142
-rw-r--r--epan/dissectors/asn1/pcap/PCAP-PDU-Contents.asn776
-rw-r--r--epan/dissectors/asn1/pcap/PCAP-PDU-Descriptions.asn281
-rw-r--r--epan/dissectors/asn1/pcap/packet-pcap-template.c180
-rw-r--r--epan/dissectors/asn1/pcap/pcap.cnf465
-rw-r--r--epan/dissectors/asn1/pkcs1/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/pkcs1/PKIXAlgs-2009.asn649
-rw-r--r--epan/dissectors/asn1/pkcs1/packet-pkcs1-template.c174
-rw-r--r--epan/dissectors/asn1/pkcs1/packet-pkcs1-template.h18
-rw-r--r--epan/dissectors/asn1/pkcs1/pkcs1.cnf45
-rw-r--r--epan/dissectors/asn1/pkcs10/CMakeLists.txt47
-rw-r--r--epan/dissectors/asn1/pkcs10/PKCS10.asn114
-rw-r--r--epan/dissectors/asn1/pkcs10/packet-pkcs10-template.c87
-rw-r--r--epan/dissectors/asn1/pkcs10/packet-pkcs10-template.h32
-rw-r--r--epan/dissectors/asn1/pkcs10/pkcs10.cnf31
-rw-r--r--epan/dissectors/asn1/pkcs12/CMakeLists.txt41
-rw-r--r--epan/dissectors/asn1/pkcs12/packet-pkcs12-template.c487
-rw-r--r--epan/dissectors/asn1/pkcs12/packet-pkcs12-template.h19
-rw-r--r--epan/dissectors/asn1/pkcs12/pkcs12.asn269
-rw-r--r--epan/dissectors/asn1/pkcs12/pkcs12.cnf159
-rw-r--r--epan/dissectors/asn1/pkinit/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/pkinit/PKINIT.asn174
-rw-r--r--epan/dissectors/asn1/pkinit/packet-pkinit-template.c102
-rw-r--r--epan/dissectors/asn1/pkinit/packet-pkinit-template.h21
-rw-r--r--epan/dissectors/asn1/pkinit/pkinit.cnf38
-rw-r--r--epan/dissectors/asn1/pkix1explicit/CMakeLists.txt36
-rw-r--r--epan/dissectors/asn1/pkix1explicit/IPAddrAndASCertExtn.asn71
-rw-r--r--epan/dissectors/asn1/pkix1explicit/PKIX1EXPLICIT93.asn864
-rw-r--r--epan/dissectors/asn1/pkix1explicit/packet-pkix1explicit-template.c131
-rw-r--r--epan/dissectors/asn1/pkix1explicit/packet-pkix1explicit-template.h28
-rw-r--r--epan/dissectors/asn1/pkix1explicit/pkix1explicit.cnf99
-rw-r--r--epan/dissectors/asn1/pkix1explicit/pkix1explicit_exp.cnf43
-rw-r--r--epan/dissectors/asn1/pkix1implicit/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/pkix1implicit/PKIX1IMPLICIT93.asn414
-rw-r--r--epan/dissectors/asn1/pkix1implicit/packet-pkix1implicit-template.c79
-rw-r--r--epan/dissectors/asn1/pkix1implicit/packet-pkix1implicit-template.h20
-rw-r--r--epan/dissectors/asn1/pkix1implicit/pkix1implicit.cnf76
-rw-r--r--epan/dissectors/asn1/pkix1implicit/pkix1implicit_exp.cnf16
-rw-r--r--epan/dissectors/asn1/pkixac/CMakeLists.txt42
-rw-r--r--epan/dissectors/asn1/pkixac/PKIXAttributeCertificate.asn200
-rw-r--r--epan/dissectors/asn1/pkixac/packet-pkixac-template.c74
-rw-r--r--epan/dissectors/asn1/pkixac/packet-pkixac-template.h20
-rw-r--r--epan/dissectors/asn1/pkixac/pkixac.cnf63
-rw-r--r--epan/dissectors/asn1/pkixproxy/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/pkixproxy/PKIXProxy.asn69
-rw-r--r--epan/dissectors/asn1/pkixproxy/packet-pkixproxy-template.c68
-rw-r--r--epan/dissectors/asn1/pkixproxy/packet-pkixproxy-template.h18
-rw-r--r--epan/dissectors/asn1/pkixproxy/pkixproxy.cnf19
-rw-r--r--epan/dissectors/asn1/pkixqualified/CMakeLists.txt43
-rw-r--r--epan/dissectors/asn1/pkixqualified/PKIXServiceNameSAN88.asn32
-rw-r--r--epan/dissectors/asn1/pkixqualified/PKIXServiceNameSAN93.asn39
-rw-r--r--epan/dissectors/asn1/pkixqualified/PKIXqualified.asn224
-rw-r--r--epan/dissectors/asn1/pkixqualified/packet-pkixqualified-template.c70
-rw-r--r--epan/dissectors/asn1/pkixqualified/packet-pkixqualified-template.h18
-rw-r--r--epan/dissectors/asn1/pkixqualified/pkixqualified.cnf40
-rw-r--r--epan/dissectors/asn1/pkixtsp/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/pkixtsp/PKIXTSP.asn184
-rw-r--r--epan/dissectors/asn1/pkixtsp/packet-pkixtsp-template.c127
-rw-r--r--epan/dissectors/asn1/pkixtsp/packet-pkixtsp-template.h18
-rw-r--r--epan/dissectors/asn1/pkixtsp/pkixtsp.cnf32
-rw-r--r--epan/dissectors/asn1/pres/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/pres/ISO8823-PRESENTATION.asn388
-rw-r--r--epan/dissectors/asn1/pres/ISO9576-PRESENTATION.asn36
-rw-r--r--epan/dissectors/asn1/pres/packet-pres-template.c432
-rw-r--r--epan/dissectors/asn1/pres/packet-pres-template.h18
-rw-r--r--epan/dissectors/asn1/pres/pres.cnf101
-rw-r--r--epan/dissectors/asn1/q932-ros/CMakeLists.txt42
-rw-r--r--epan/dissectors/asn1/q932-ros/Facility-Information-Element-Components.asn163
-rw-r--r--epan/dissectors/asn1/q932-ros/packet-q932-ros-template.c99
-rw-r--r--epan/dissectors/asn1/q932-ros/q932-ros.cnf120
-rw-r--r--epan/dissectors/asn1/q932/Addressing-Data-Elements.asn157
-rw-r--r--epan/dissectors/asn1/q932/CMakeLists.txt42
-rw-r--r--epan/dissectors/asn1/q932/Interpretation-component.asn24
-rw-r--r--epan/dissectors/asn1/q932/Network-Facility-Extension.asn33
-rw-r--r--epan/dissectors/asn1/q932/Network-Protocol-Profile-component.asn20
-rw-r--r--epan/dissectors/asn1/q932/packet-q932-template.c389
-rw-r--r--epan/dissectors/asn1/q932/packet-q932-template.h18
-rw-r--r--epan/dissectors/asn1/q932/q932.cnf32
-rw-r--r--epan/dissectors/asn1/qsig/CMakeLists.txt68
-rw-r--r--epan/dissectors/asn1/qsig/General-Error-List.asn84
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-AOC.asn305
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-CC.asn175
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-CF.asn251
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-CI.asn176
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-CIDL.asn78
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-CINT.asn152
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-CMN.asn143
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-CO.asn102
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-CPI.asn67
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-CT.asn229
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-DND.asn211
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-MCM.asn399
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-MCR.asn169
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-MID.asn129
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-NA.asn135
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-PR.asn169
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-PUMCH.asn135
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-PUMR.asn205
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-RE.asn62
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-SD.asn89
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-SMS.asn339
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-SSCT.asn120
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-WTMAU.asn154
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-WTMCH.asn138
-rw-r--r--epan/dissectors/asn1/qsig/QSIG-WTMLR.asn122
-rw-r--r--epan/dissectors/asn1/qsig/SYNC-SIG.asn72
-rw-r--r--epan/dissectors/asn1/qsig/packet-qsig-template.c714
-rw-r--r--epan/dissectors/asn1/qsig/packet-qsig-template.h18
-rw-r--r--epan/dissectors/asn1/qsig/qsig-gf-ade.asn132
-rw-r--r--epan/dissectors/asn1/qsig/qsig-gf-ext.asn32
-rw-r--r--epan/dissectors/asn1/qsig/qsig-gf-gp.asn15
-rw-r--r--epan/dissectors/asn1/qsig/qsig.cnf189
-rw-r--r--epan/dissectors/asn1/ranap/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/ranap/RANAP-CommonDataTypes.asn40
-rw-r--r--epan/dissectors/asn1/ranap/RANAP-Constants.asn436
-rw-r--r--epan/dissectors/asn1/ranap/RANAP-Containers.asn202
-rw-r--r--epan/dissectors/asn1/ranap/RANAP-IEs.asn2796
-rw-r--r--epan/dissectors/asn1/ranap/RANAP-PDU-Contents.asn3736
-rw-r--r--epan/dissectors/asn1/ranap/RANAP-PDU-Descriptions.asn646
-rw-r--r--epan/dissectors/asn1/ranap/packet-ranap-template.c474
-rw-r--r--epan/dissectors/asn1/ranap/packet-ranap-template.h29
-rw-r--r--epan/dissectors/asn1/ranap/ranap.cnf1657
-rw-r--r--epan/dissectors/asn1/rnsap/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/rnsap/RNSAP-CommonDataTypes.asn66
-rw-r--r--epan/dissectors/asn1/rnsap/RNSAP-Constants.asn1280
-rw-r--r--epan/dissectors/asn1/rnsap/RNSAP-Containers.asn202
-rw-r--r--epan/dissectors/asn1/rnsap/RNSAP-IEs.asn11607
-rw-r--r--epan/dissectors/asn1/rnsap/RNSAP-PDU-Contents.asn8774
-rw-r--r--epan/dissectors/asn1/rnsap/RNSAP-PDU-Descriptions.asn804
-rw-r--r--epan/dissectors/asn1/rnsap/packet-rnsap-template.c301
-rw-r--r--epan/dissectors/asn1/rnsap/rnsap.cnf1192
-rw-r--r--epan/dissectors/asn1/ros/CMakeLists.txt47
-rw-r--r--epan/dissectors/asn1/ros/Remote-Operations-Generic-ROS-PDUs.asn163
-rw-r--r--epan/dissectors/asn1/ros/Remote-Operations-Information-Objects.asn125
-rw-r--r--epan/dissectors/asn1/ros/Remote-Operations-Useful-Definitions.asn95
-rw-r--r--epan/dissectors/asn1/ros/packet-ros-template.c489
-rw-r--r--epan/dissectors/asn1/ros/packet-ros-template.h66
-rw-r--r--epan/dissectors/asn1/ros/ros-err.cnf46
-rw-r--r--epan/dissectors/asn1/ros/ros-inv.cnf46
-rw-r--r--epan/dissectors/asn1/ros/ros-rej.cnf18
-rw-r--r--epan/dissectors/asn1/ros/ros-res.cnf49
-rw-r--r--epan/dissectors/asn1/ros/ros.asn190
-rw-r--r--epan/dissectors/asn1/ros/ros.cnf207
-rw-r--r--epan/dissectors/asn1/rrc/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/rrc/Class-definitions.asn400
-rw-r--r--epan/dissectors/asn1/rrc/Constant-definitions.asn205
-rw-r--r--epan/dissectors/asn1/rrc/InformationElements.asn25729
-rw-r--r--epan/dissectors/asn1/rrc/Internode-definitions.asn2553
-rw-r--r--epan/dissectors/asn1/rrc/PDU-definitions.asn13970
-rw-r--r--epan/dissectors/asn1/rrc/packet-rrc-template.c662
-rw-r--r--epan/dissectors/asn1/rrc/packet-rrc-template.h68
-rw-r--r--epan/dissectors/asn1/rrc/rrc.cnf1792
-rw-r--r--epan/dissectors/asn1/rrlp/CMakeLists.txt37
-rw-r--r--epan/dissectors/asn1/rrlp/RRLP-Components.asn2413
-rw-r--r--epan/dissectors/asn1/rrlp/RRLP-Messages.asn39
-rw-r--r--epan/dissectors/asn1/rrlp/packet-rrlp-template.c90
-rw-r--r--epan/dissectors/asn1/rrlp/rrlp.cnf40
-rw-r--r--epan/dissectors/asn1/rtse/CMakeLists.txt42
-rw-r--r--epan/dissectors/asn1/rtse/packet-rtse-template.c397
-rw-r--r--epan/dissectors/asn1/rtse/packet-rtse-template.h19
-rw-r--r--epan/dissectors/asn1/rtse/rtse.asn141
-rw-r--r--epan/dissectors/asn1/rtse/rtse.cnf186
-rw-r--r--epan/dissectors/asn1/rua/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/rua/RUA-CommonDataTypes.asn53
-rw-r--r--epan/dissectors/asn1/rua/RUA-Constants.asn63
-rw-r--r--epan/dissectors/asn1/rua/RUA-Containers.asn161
-rw-r--r--epan/dissectors/asn1/rua/RUA-IEs.asn199
-rw-r--r--epan/dissectors/asn1/rua/RUA-PDU-Contents.asn204
-rw-r--r--epan/dissectors/asn1/rua/RUA-PDU-Descriptions.asn176
-rw-r--r--epan/dissectors/asn1/rua/packet-rua-template.c161
-rw-r--r--epan/dissectors/asn1/rua/rua.cnf147
-rw-r--r--epan/dissectors/asn1/s1ap/CMakeLists.txt45
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn34
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-Constants.asn539
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-Containers.asn199
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-IEs.asn3328
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn3370
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn779
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn335
-rw-r--r--epan/dissectors/asn1/s1ap/packet-s1ap-template.c843
-rw-r--r--epan/dissectors/asn1/s1ap/packet-s1ap-template.h41
-rw-r--r--epan/dissectors/asn1/s1ap/s1ap.cnf2729
-rw-r--r--epan/dissectors/asn1/sabp/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/sabp/SABP-CommonDataTypes.asn37
-rw-r--r--epan/dissectors/asn1/sabp/SABP-Constants.asn86
-rw-r--r--epan/dissectors/asn1/sabp/SABP-Containers.asn121
-rw-r--r--epan/dissectors/asn1/sabp/SABP-IEs.asn292
-rw-r--r--epan/dissectors/asn1/sabp/SABP-PDU-Contents.asn534
-rw-r--r--epan/dissectors/asn1/sabp/SABP-PDU-Descriptions.asn202
-rw-r--r--epan/dissectors/asn1/sabp/packet-sabp-template.c285
-rw-r--r--epan/dissectors/asn1/sabp/sabp.cnf216
-rw-r--r--epan/dissectors/asn1/sbc-ap/CMakeLists.txt43
-rw-r--r--epan/dissectors/asn1/sbc-ap/SBC-AP-CommonDataTypes.asn35
-rw-r--r--epan/dissectors/asn1/sbc-ap/SBC-AP-Constants.asn127
-rw-r--r--epan/dissectors/asn1/sbc-ap/SBC-AP-Containers.asn121
-rw-r--r--epan/dissectors/asn1/sbc-ap/SBC-AP-IEs.asn650
-rw-r--r--epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Contents.asn374
-rw-r--r--epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Descriptions.asn179
-rw-r--r--epan/dissectors/asn1/sbc-ap/packet-sbc-ap-template.c272
-rw-r--r--epan/dissectors/asn1/sbc-ap/sbc-ap.cnf377
-rw-r--r--epan/dissectors/asn1/smrse/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/smrse/SMRSE.asn133
-rw-r--r--epan/dissectors/asn1/smrse/packet-smrse-template.c173
-rw-r--r--epan/dissectors/asn1/smrse/packet-smrse-template.h18
-rw-r--r--epan/dissectors/asn1/smrse/smrse.cnf46
-rw-r--r--epan/dissectors/asn1/snmp/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/snmp/packet-snmp-template.c2732
-rw-r--r--epan/dissectors/asn1/snmp/packet-snmp-template.h107
-rw-r--r--epan/dissectors/asn1/snmp/snmp.asn338
-rw-r--r--epan/dissectors/asn1/snmp/snmp.cnf266
-rw-r--r--epan/dissectors/asn1/spnego/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/spnego/packet-spnego-template.c1464
-rw-r--r--epan/dissectors/asn1/spnego/spnego.asn104
-rw-r--r--epan/dissectors/asn1/spnego/spnego.cnf215
-rw-r--r--epan/dissectors/asn1/sv/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/sv/packet-sv-template.c373
-rw-r--r--epan/dissectors/asn1/sv/packet-sv-template.h30
-rw-r--r--epan/dissectors/asn1/sv/sv.asn30
-rw-r--r--epan/dissectors/asn1/sv/sv.cnf115
-rw-r--r--epan/dissectors/asn1/t124/CMakeLists.txt36
-rw-r--r--epan/dissectors/asn1/t124/GCC-PROTOCOL.asn1179
-rw-r--r--epan/dissectors/asn1/t124/packet-t124-template.c208
-rw-r--r--epan/dissectors/asn1/t124/packet-t124-template.h29
-rw-r--r--epan/dissectors/asn1/t124/t124.cnf241
-rw-r--r--epan/dissectors/asn1/t125/CMakeLists.txt34
-rw-r--r--epan/dissectors/asn1/t125/MCS-PROTOCOL.asn445
-rw-r--r--epan/dissectors/asn1/t125/packet-t125-template.c171
-rw-r--r--epan/dissectors/asn1/t125/t125.cnf119
-rw-r--r--epan/dissectors/asn1/t38/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/t38/T38_1998.asn55
-rw-r--r--epan/dissectors/asn1/t38/T38_2002.asn54
-rw-r--r--epan/dissectors/asn1/t38/packet-t38-template.c768
-rw-r--r--epan/dissectors/asn1/t38/packet-t38-template.h76
-rw-r--r--epan/dissectors/asn1/t38/t38.cnf280
-rw-r--r--epan/dissectors/asn1/tcap/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/tcap/DialoguePDUs.asn79
-rw-r--r--epan/dissectors/asn1/tcap/TC-Notation-Extensions.asn87
-rw-r--r--epan/dissectors/asn1/tcap/TCAPMessages.asn96
-rw-r--r--epan/dissectors/asn1/tcap/UnidialoguePDUs.asn25
-rw-r--r--epan/dissectors/asn1/tcap/packet-tcap-template.c2352
-rw-r--r--epan/dissectors/asn1/tcap/packet-tcap-template.h214
-rw-r--r--epan/dissectors/asn1/tcap/tcap.asn246
-rw-r--r--epan/dissectors/asn1/tcap/tcap.cnf281
-rw-r--r--epan/dissectors/asn1/tcg-cp-oids/CMakeLists.txt42
-rw-r--r--epan/dissectors/asn1/tcg-cp-oids/packet-tcg-cp-oids-template.c103
-rw-r--r--epan/dissectors/asn1/tcg-cp-oids/packet-tcg-cp-oids-template.h16
-rw-r--r--epan/dissectors/asn1/tcg-cp-oids/tcg-cp-oids.asn294
-rw-r--r--epan/dissectors/asn1/tcg-cp-oids/tcg-cp-oids.cnf62
-rw-r--r--epan/dissectors/asn1/tetra/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/tetra/packet-tetra-template.c632
-rw-r--r--epan/dissectors/asn1/tetra/packet-tetra-template.h41
-rw-r--r--epan/dissectors/asn1/tetra/tetra.asn2337
-rw-r--r--epan/dissectors/asn1/tetra/tetra.cnf261
-rw-r--r--epan/dissectors/asn1/ulp/CMakeLists.txt36
-rw-r--r--epan/dissectors/asn1/ulp/SUPL.asn1028
-rw-r--r--epan/dissectors/asn1/ulp/ULP-Components.asn917
-rw-r--r--epan/dissectors/asn1/ulp/ULP.asn70
-rw-r--r--epan/dissectors/asn1/ulp/packet-ulp-template.c435
-rw-r--r--epan/dissectors/asn1/ulp/ulp.cnf751
-rw-r--r--epan/dissectors/asn1/wlancertextn/CMakeLists.txt35
-rw-r--r--epan/dissectors/asn1/wlancertextn/WLANCERTEXTN.asn93
-rw-r--r--epan/dissectors/asn1/wlancertextn/packet-wlancertextn-template.c70
-rw-r--r--epan/dissectors/asn1/wlancertextn/packet-wlancertextn-template.h18
-rw-r--r--epan/dissectors/asn1/wlancertextn/wlancertextn.cnf21
-rw-r--r--epan/dissectors/asn1/x2ap/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn50
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-Constants.asn618
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-Containers.asn196
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-IEs.asn3926
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn5017
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn755
-rw-r--r--epan/dissectors/asn1/x2ap/packet-x2ap-template.c771
-rw-r--r--epan/dissectors/asn1/x2ap/packet-x2ap-template.h29
-rw-r--r--epan/dissectors/asn1/x2ap/x2ap.cnf2262
-rw-r--r--epan/dissectors/asn1/x509af/AuthenticationFramework.asn287
-rw-r--r--epan/dissectors/asn1/x509af/CMakeLists.txt45
-rw-r--r--epan/dissectors/asn1/x509af/packet-x509af-template.c194
-rw-r--r--epan/dissectors/asn1/x509af/packet-x509af-template.h20
-rw-r--r--epan/dissectors/asn1/x509af/x509af.cnf176
-rw-r--r--epan/dissectors/asn1/x509ce/CMakeLists.txt52
-rw-r--r--epan/dissectors/asn1/x509ce/CertificateExtensions.asn757
-rw-r--r--epan/dissectors/asn1/x509ce/CertificateExtensionsCiplus.asn56
-rw-r--r--epan/dissectors/asn1/x509ce/CertificateExtensionsRFC9310.asn28
-rw-r--r--epan/dissectors/asn1/x509ce/packet-x509ce-template.c164
-rw-r--r--epan/dissectors/asn1/x509ce/packet-x509ce-template.h33
-rw-r--r--epan/dissectors/asn1/x509ce/x509ce.cnf215
-rw-r--r--epan/dissectors/asn1/x509if/CMakeLists.txt44
-rw-r--r--epan/dissectors/asn1/x509if/InformationFramework.asn685
-rw-r--r--epan/dissectors/asn1/x509if/ServiceAdministration.asn239
-rw-r--r--epan/dissectors/asn1/x509if/packet-x509if-template.c144
-rw-r--r--epan/dissectors/asn1/x509if/packet-x509if-template.h23
-rw-r--r--epan/dissectors/asn1/x509if/x509if.cnf421
-rw-r--r--epan/dissectors/asn1/x509sat/CMakeLists.txt44
-rw-r--r--epan/dissectors/asn1/x509sat/SelectedAttributeTypes.asn1491
-rw-r--r--epan/dissectors/asn1/x509sat/packet-x509sat-template.c110
-rw-r--r--epan/dissectors/asn1/x509sat/packet-x509sat-template.h18
-rw-r--r--epan/dissectors/asn1/x509sat/x509sat.cnf421
-rw-r--r--epan/dissectors/asn1/x721/Attribute-ASN1Module.asn533
-rw-r--r--epan/dissectors/asn1/x721/CMakeLists.txt38
-rw-r--r--epan/dissectors/asn1/x721/ManagedObjectClassesDefinitions.asn19
-rw-r--r--epan/dissectors/asn1/x721/Notification-ASN1Module.asn99
-rw-r--r--epan/dissectors/asn1/x721/Parameter-ASN1Module.asn14
-rw-r--r--epan/dissectors/asn1/xnap/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-CommonDataTypes.asn50
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-Constants.asn580
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-Containers.asn194
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-IEs.asn7724
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-PDU-Contents.asn3253
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-PDU-Descriptions.asn652
-rw-r--r--epan/dissectors/asn1/xnap/packet-xnap-template.c574
-rw-r--r--epan/dissectors/asn1/xnap/packet-xnap-template.h29
-rw-r--r--epan/dissectors/asn1/xnap/xnap.cnf2044
-rw-r--r--epan/dissectors/asn1/z3950/CMakeLists.txt40
-rw-r--r--epan/dissectors/asn1/z3950/packet-z3950-template.c1635
-rw-r--r--epan/dissectors/asn1/z3950/z3950-externals.asn1679
-rw-r--r--epan/dissectors/asn1/z3950/z3950-oclc.asn14
-rw-r--r--epan/dissectors/asn1/z3950/z3950.asn807
-rw-r--r--epan/dissectors/asn1/z3950/z3950.cnf278
951 files changed, 520769 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/CMakeLists.txt b/epan/dissectors/asn1/CMakeLists.txt
new file mode 100644
index 00000000..e6ea5f42
--- /dev/null
+++ b/epan/dissectors/asn1/CMakeLists.txt
@@ -0,0 +1,152 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+ADD_CUSTOM_CMAKE_INCLUDE()
+
+set(ASN1_SRC_DIRS
+ lix2
+ HI2Operations
+ acp133
+ acse
+ ain
+ ansi_map
+ ansi_tcap
+ atn-cm
+ atn-cpdlc
+ atn-ulcs
+ c1222
+ camel
+ cbrs-oids
+ cdt
+ charging_ase
+ cmip
+ cmp
+ cms
+ credssp
+ crmf
+ dap
+ disp
+ dop
+ dsp
+ e1ap
+ e2ap
+ ess
+ f1ap
+ ftam
+ gdt
+ glow
+ goose
+ gprscdr
+ gsm_map
+ h225
+ h235
+ h245
+ h248
+ h282
+ h283
+ h323
+ h450
+ h450-ros
+ h460
+ h501
+ hnbap
+ idmp
+ ieee1609dot2
+ ilp
+ inap
+ isdn-sup
+ its
+ kerberos
+ kpm-v2
+ lcsap
+ ldap
+ lnpdqp
+ logotypecertextn
+ lpp
+ lppa
+ lppe
+ lte-rrc
+ m2ap
+ m3ap
+ mms
+ mpeg-audio
+ mpeg-pes
+ mudurl
+ nbap
+ ngap
+ nist-csor
+ nr-rrc
+ nrppa
+ ns_cert_exts
+ novell_pkis
+ ocsp
+ p1
+ p22
+ p7
+ p772
+ pcap
+ pkcs1
+ pkcs10
+ pkcs12
+ pkinit
+ pkix1explicit
+ pkix1implicit
+ pkixac
+ pkixproxy
+ pkixqualified
+ pkixtsp
+ pres
+ q932
+ q932-ros
+ qsig
+ ranap
+ rnsap
+ ros
+ rrc
+ rrlp
+ rtse
+ rua
+ s1ap
+ sabp
+ sbc-ap
+ smrse
+ snmp
+ spnego
+ sv
+ t124
+ t125
+ t38
+ tcap
+ tcg-cp-oids
+ tetra
+ ulp
+ wlancertextn
+ x2ap
+ x509af
+ x509ce
+ x509if
+ x509sat
+ xnap
+ z3950
+ ${CUSTOM_ASN1_SRC_DIR}
+)
+
+set( BROKEN_ASN1_SRC_DIRS
+ # x721 does not build
+ x721
+)
+
+set(_asn1_deps)
+foreach(ASN1_DIR ${ASN1_SRC_DIRS})
+ add_subdirectory( ${ASN1_DIR} )
+ list(APPEND _asn1_deps ${ASN1_DIR}/generate_dissector-${ASN1_DIR})
+endforeach()
+
+# Target to regenerate all outdated ASN.1 dissectors
+add_custom_target(asn1 DEPENDS ${_asn1_deps})
diff --git a/epan/dissectors/asn1/CMakeListsCustom.example.txt b/epan/dissectors/asn1/CMakeListsCustom.example.txt
new file mode 100644
index 00000000..b6fd7eb1
--- /dev/null
+++ b/epan/dissectors/asn1/CMakeListsCustom.example.txt
@@ -0,0 +1,14 @@
+# CMakeListsCustom.example.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Add a list of your custom asn1 dissectors here
+#
+
+set(CUSTOM_ASN1_SRC_DIR
+ foo
+)
diff --git a/epan/dissectors/asn1/HI2Operations/CMakeLists.txt b/epan/dissectors/asn1/HI2Operations/CMakeLists.txt
new file mode 100644
index 00000000..35eac96a
--- /dev/null
+++ b/epan/dissectors/asn1/HI2Operations/CMakeLists.txt
@@ -0,0 +1,32 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME HI2Operations )
+
+set( ASN_FILE_LIST
+ HI2Operations_ver18.asn
+ HI3CCLinkData.asn
+ EpsHI2Operations.asn
+ UmtsHI2Operations.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/HI2Operations/EpsHI2Operations.asn b/epan/dissectors/asn1/HI2Operations/EpsHI2Operations.asn
new file mode 100644
index 00000000..459c86b1
--- /dev/null
+++ b/epan/dissectors/asn1/HI2Operations/EpsHI2Operations.asn
@@ -0,0 +1,1143 @@
+--- WS Modified EpsHI2Operations, some defines was merged in HI2Operations or fully moved there
+---
+
+EpsHI2Operations {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2)
+threeGPP(4) hi2eps(8) r16 (16) version-1 (1)}
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+IMPORTS
+ GSMLocation,
+ LawfulInterceptionIdentifier,
+ TimeStamp,
+ MapDatum,
+ Network-Identifier,
+ National-Parameters,
+ National-HI2-ASN1parameters,
+ DataNodeAddress,
+ IPAddress,
+ IP-value,
+ PartyInformation,
+ SMS-report,
+ UMTSLocation,
+ X25Address
+ FROM HI2Operations
+ {itu-t(0) identified-organization(4) etsi(0) securityDomain(2)
+ lawfulIntercept(2) hi2(1) version18(18)} -- Imported from TS 101 671 v3.14.1
+
+ CivicAddress,
+ ExtendedLocParameters,
+ LocationErrorCode
+ FROM UmtsHI2Operations
+ {itu-t(0) identified-organization(4) etsi(0) securityDomain(2)
+ lawfulintercept(2) threeGPP(4) hi2(1) r16 (16) version-0 (0)};
+ -- Imported from 3GPP TS 33.108, UMTS PS HI2
+
+-- Object Identifier Definitions
+-- Security DomainId
+-- WS Allready in HI2... lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)}
+-- Security Subdomains
+threeGPPSUBDomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId threeGPP(4)}
+hi2epsDomainId OBJECT IDENTIFIER ::= {threeGPPSUBDomainId hi2eps(8) r16(16) version-1 (1)}
+EpsIRIsContent ::= CHOICE
+{
+ epsiRIContent EpsIRIContent,
+ epsIRISequence EpsIRISequence
+}
+EpsIRISequence ::= SEQUENCE OF EpsIRIContent
+-- Aggregation of EpsIRIContent is an optional feature.
+-- It may be applied in cases when at a given point in time
+-- several IRI records are available for delivery to the same LEA destination.
+-- As a general rule, records created at any event shall be sent
+-- immediately and not withheld in the DF or MF in order to
+-- apply aggragation.
+-- When aggregation is not to be applied,
+-- EpsIRIContent needs to be chosen.
+-- EpsIRIContent includes events that correspond to EPS and UMTS/GPRS.
+EpsIRIContent ::= CHOICE
+{
+ iRI-Begin-record [1] IRI-Parameters, -- include at least one optional parameter
+ iRI-End-record [2] IRI-Parameters,
+ iRI-Continue-record [3] IRI-Parameters, -- include at least one optional parameter
+ iRI-Report-record [4] IRI-Parameters -- include at least one optional parameter
+}
+-- the EpsIRIContent may provide events that correspond to UMTS/GPRS as well.
+-- Parameters having the same tag numbers have to be identical in Rel-5 and onwards modules.
+IRI-Parameters ::= SEQUENCE
+{
+ hi2epsDomainId [0] OBJECT IDENTIFIER, -- 3GPP HI2 EPS domain
+ lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier,
+ -- This identifier is associated to the target.
+ timeStamp [3] TimeStamp,
+ -- date and time of the event triggering the report.)
+ initiator [4] ENUMERATED
+ {
+ not-Available (0),
+ originating-Target (1),
+ -- in case of GPRS, this indicates that the PDP context activation, modification
+ -- or deactivation is MS requested
+ -- in case of EPS, this indicated that the EPS detach, bearer activation, modification
+ -- or deactivation is UE requested
+ terminating-Target (2),
+ -- in case of GPRS, this indicates that the PDP context activation, modification or
+ -- deactivation is network initiated
+ -- in case of EPS, this indicated that the EPS detach, bearer activation, modification
+ -- or deactivation is network initiated
+ ...
+ } OPTIONAL,
+ locationOfTheTarget [8] Location OPTIONAL,
+ -- location of the target
+ -- or cell site location
+ partyInformation [9] SET SIZE (1..10) OF PartyInformation OPTIONAL,
+ -- This parameter provides the concerned party, the identiy(ies) of the party
+ --)and all the information provided by the party.
+ serviceCenterAddress [13] PartyInformation OPTIONAL,
+ -- e.g. in case of SMS message this parameter provides the address of the relevant
+ -- server
+ sMS [14] SMS-report OPTIONAL,
+ -- this parameter provides the SMS content and associated information
+ national-Parameters [16] National-Parameters OPTIONAL,
+ ePSCorrelationNumber [18] EPSCorrelationNumber OPTIONAL,
+ -- this parameter provides GPRS Correlation number when the event corresponds to UMTS/GPRS.
+ ePSevent [20] EPSEvent OPTIONAL,
+ -- This information is used to provide particular action of the target
+ -- such as attach/detach
+ sgsnAddress [21] DataNodeAddress OPTIONAL,
+ gPRSOperationErrorCode [22] GPRSOperationErrorCode OPTIONAL,
+ ggsnAddress [24] DataNodeAddress OPTIONAL,
+ qOS [25] UmtsQos OPTIONAL,
+ networkIdentifier [26] Network-Identifier OPTIONAL,
+ sMSOriginatingAddress [27] DataNodeAddress OPTIONAL,
+ sMSTerminatingAddress [28] DataNodeAddress OPTIONAL,
+ iMSevent [29] IMSevent OPTIONAL,
+ sIPMessage [30] OCTET STRING OPTIONAL,
+ servingSGSN-number [31] OCTET STRING (SIZE (1..20)) OPTIONAL,
+ servingSGSN-address [32] OCTET STRING (SIZE (5..17)) OPTIONAL,
+ -- Octets are coded according to 3GPP TS 23.003 [25]
+ ...,
+ -- Tag [33] was taken into use by ETSI module in TS 101 671v2.13.1
+ ldiEvent [34] LDIevent OPTIONAL,
+ correlation [35] CorrelationValues OPTIONAL,
+ ePS-GTPV2-specificParameters [36] EPS-GTPV2-SpecificParameters OPTIONAL,
+ -- contains parameters to be used in case of GTPV2 based intercepted messages
+ ePS-PMIP-specificParameters [37] EPS-PMIP-SpecificParameters OPTIONAL,
+ -- contains parameters to be used in case of PMIP based intercepted messages
+ ePS-DSMIP-SpecificParameters [38] EPS-DSMIP-SpecificParameters OPTIONAL,
+ -- contains parameters to be used in case of DSMIP based intercepted messages
+ ePS-MIP-SpecificParameters [39] EPS-MIP-SpecificParameters OPTIONAL,
+ -- contains parameters to be used in case of MIP based intercepted messages
+ servingNodeAddress [40] OCTET STRING OPTIONAL,
+ -- this parameter is kept for backward compatibility only and should not be used
+ -- as it has been superseeded by parameter visitedNetworkId
+ visitedNetworkId [41] UTF8String OPTIONAL,
+ -- contains the visited network identifier inside the Serving System Update for
+ -- non 3GPP access and IMS, coded according to [53] and 3GPP TS 29.229 [96]
+ mediaDecryption-info [42] MediaDecryption-info OPTIONAL,
+ servingS4-SGSN-address [43] OCTET STRING OPTIONAL,
+ -- Diameter Origin-Host and Origin-Realm of the S4-SGSN based on the TS 29.272 [59].
+ -- Only the data fields from the Diameter AVPs are provided concatenated
+ -- with a semicolon to populate this field.
+ sipMessageHeaderOffer [44] OCTET STRING OPTIONAL,
+ sipMessageHeaderAnswer [45] OCTET STRING OPTIONAL,
+ sdpOffer [46] OCTET STRING OPTIONAL,
+ sdpAnswer [47] OCTET STRING OPTIONAL,
+ uLITimestamp [48] OCTET STRING (SIZE (8)) OPTIONAL,
+ -- Coded according to 3GPP TS 29.060 [17]; The upper 4 octets shall carry the ULI Timestamp
+ -- value; The lower 4 octets are undefined and shall be ignored by the receiver
+ packetDataHeaderInformation [49] PacketDataHeaderInformation OPTIONAL,
+ mediaSecFailureIndication [50] MediaSecFailureIndication OPTIONAL,
+ csgIdentity [51] OCTET STRING (SIZE (4)) OPTIONAL, -- Octets are coded
+ -- according to 3GPP TS 23.003 [25]. The 27 bits specified in TS 23.003 shall be encoded as.
+ -- follows The most significant bit of the CSG Identity shall be encoded in the most
+ -- significant bit of the first octet of the octet string and the least significant bit coded
+ -- in bit 6 of octet 4.
+ heNBIdentity [52] OCTET STRING OPTIONAL,
+ -- 4 or 6 octets are coded with the HNBUnique Identity
+ -- as specified in 3GPP TS 23.003 [25], Clause 4.10.
+ heNBiPAddress [53] IPAddress OPTIONAL,
+ heNBLocation [54] HeNBLocation OPTIONAL,
+ tunnelProtocol [55] TunnelProtocol OPTIONAL,
+ pANI-Header-Info [56] SEQUENCE OF PANI-Header-Info OPTIONAL,
+ -- information extracted from P-Access-Network-Info headers of SIP message;
+ -- described in TS 24.229 §7.2A.4 [76]
+ imsVoIP [57] IMS-VoIP-Correlation OPTIONAL,
+ xCAPmessage [58] OCTET STRING OPTIONAL,
+ -- The HTTP message (HTPP header and any XCAP body) of any of the target's IMS supplementary
+ -- service setting management or manipulation XCAP messages occuring through the Ut interface
+ -- defined in the 3GPP TS 24 623 [77].
+ logicalFunctionInformation [59] DataNodeIdentifier OPTIONAL,
+ ccUnavailableReason [60] PrintableString OPTIONAL,
+ carrierSpecificData [61] OCTET STRING OPTIONAL,
+ -- Copy of raw data specified by the CSP or his vendor related to HSS.
+ current-previous-systems [62] Current-Previous-Systems OPTIONAL,
+ change-Of-Target-Identity [63] Change-Of-Target-Identity OPTIONAL,
+ requesting-Network-Identifier [64] OCTET STRING OPTIONAL,
+ -- the requesting network identifier PLMN id (Mobile Country Code and Mobile Network Country,
+ -- defined in E212 [87]).
+ requesting-Node-Type [65] Requesting-Node-Type OPTIONAL,
+ serving-System-Identifier [66] OCTET STRING OPTIONAL,
+ -- the serving network identifier PLMN id (MNC, Mobile Country Code and MNC,Mobile Network
+ -- Country, defined in E212 [87]) and 3GPP TR 21.905 [38], that may be included in the Diameter
+ -- AVP to and from the HSS.
+ proSeTargetType [67] ProSeTargetType OPTIONAL,
+ proSeRelayMSISDN [68] OCTET STRING (SIZE (1..9)) OPTIONAL,
+ -- coded according to 3GPP TS 29.274 [46]
+ proSeRelayIMSI [69] OCTET STRING (SIZE (3..8)) OPTIONAL,
+ -- coded according to 3GPP TS 29.274 [46]
+ proSeRelayIMEI [70] OCTET STRING (SIZE (8)) OPTIONAL,
+ -- coded according to 3GPP TS 29.274 [46]
+ extendedLocParameters [71] ExtendedLocParameters OPTIONAL, -- LALS extended parameters
+ locationErrorCode [72] LocationErrorCode OPTIONAL, -- LALS error code
+ otherIdentities [73] SEQUENCE OF PartyInformation OPTIONAL,
+ deregistrationReason [74] DeregistrationReason OPTIONAL,
+ requesting-Node-Identifier [75] OCTET STRING OPTIONAL,
+ roamingIndication [76] VoIPRoamingIndication OPTIONAL,
+ -- used for IMS events in the VPLMN.
+ cSREvent [77] CSREvent OPTIONAL,
+ ptc [78] PTC OPTIONAL, -- PTC Events
+ ptcEncryption [79] PTCEncryptionInfo OPTIONAL,
+ -- PTC Encryption Information
+ additionalCellIDs [80] SEQUENCE OF AdditionalCellID OPTIONAL,
+ scefID [81] UTF8String OPTIONAL,
+ -- SCEF-ID FQDN as defined by TS 29.336 [101], clause 8.4.5 and RFC 3588 [102] section 4.3
+ national-HI2-ASN1parameters [255] National-HI2-ASN1parameters OPTIONAL
+}
+ -- Parameters having the same tag numbers have to be identical in Rel-5 and onwards modules
+-- PARAMETERS FORMATS
+DataNodeIdentifier ::= SEQUENCE
+{
+ dataNodeAddress [1] DataNodeAddress OPTIONAL,
+ logicalFunctionType [2] LogicalFunctionType OPTIONAL,
+ dataNodeName [3] PrintableString(SIZE(7..25)) OPTIONAL,
+ --Unique identifier of a Data Node within the CSP domain. Could be a name/number combination.
+...
+}
+LogicalFunctionType ::= ENUMERATED
+{
+ pDNGW (0),
+ mME (1),
+ sGW (2),
+ ePDG (3),
+ hSS (4),
+...
+}
+PANI-Header-Info ::= SEQUENCE
+{
+ access-Type [1] OCTET STRING OPTIONAL,
+ -- ASCII chain '3GPP-UTRAN-TDD', '3GPP-E-UTRAN-TDD',... : see TS 24.229 §7.2A.4 [76]
+ access-Class [2] OCTET STRING OPTIONAL,
+ -- ASCII chain '3GPP-UTRAN', '3GPP-E-UTRAN',... : see TS 24.229 §7.2A.4 [76]
+ network-Provided [3] NULL OPTIONAL,
+ -- present if provided by the network
+ pANI-Location [4] PANI-Location OPTIONAL,
+ ...
+}
+PANI-Location ::= SEQUENCE
+{
+ raw-Location [1] OCTET STRING OPTIONAL,
+ -- raw copy of the location string from the P-Access-Network-Info header
+ location [2] Location OPTIONAL,
+ ePSLocation [3] EPSLocation OPTIONAL,
+ ...
+}
+
+Location ::= SEQUENCE
+{
+ e164-Number [1] OCTET STRING (SIZE (1..25)) OPTIONAL,
+ -- Coded in the same format as the ISUP location number (parameter
+ -- field) of the ISUP (see EN 300 356 [30]).
+ globalCellID [2] GlobalCellID OPTIONAL,
+ --see MAP format (see [4])
+ rAI [4] Rai OPTIONAL,
+ -- the Routeing Area Identifier in the current SGSN is coded in accordance with the
+ -- § 10.5.5.15 of document [9] without the Routing Area Identification IEI
+ -- (only the last 6 octets are used)
+ gsmLocation [5] GSMLocation OPTIONAL,
+ umtsLocation [6] UMTSLocation OPTIONAL,
+ sAI [7] Sai OPTIONAL,
+ -- format: PLMN-ID 3 octets (no. 1 - 3)
+ -- LAC 2 octets (no. 4 - 5)
+ -- SAC 2 octets (no. 6 - 7)
+ -- (according to 3GPP TS 25.413 [62])
+ ...,
+ oldRAI [8] Rai OPTIONAL,
+ -- the Routeing Area Identifier in the old SGSN is coded in accordance with the
+ -- § 10.5.5.15 of document [9] without the Routing Area Identification IEI
+ -- (only the last 6 octets are used).
+ civicAddress [9] CivicAddress OPTIONAL,
+ operatorSpecificInfo [10] OCTET STRING OPTIONAL,
+ -- other CSP specific information.
+ uELocationTimestamp [11] CHOICE
+ {
+ timestamp [0] TimeStamp,
+ timestampUnknown [1] NULL,
+ ...
+ } OPTIONAL
+ -- Date/time of the UE location
+}
+GlobalCellID ::= OCTET STRING (SIZE (5..7))
+Rai ::= OCTET STRING (SIZE (6))
+Sai ::= OCTET STRING (SIZE (7))
+AdditionalCellID ::= SEQUENCE
+{
+ nCGI [1] NCGI,
+ gsmLocation [2] GSMLocation OPTIONAL,
+ umtsLocation [3] UMTSLocation OPTIONAL,
+ timeOfLocation [4] GeneralizedTime OPTIONAL,
+ ...
+}
+MCC ::= NumericString (SIZE(3))
+MNC ::= NumericString (SIZE(2..3))
+PLMNID ::= SEQUENCE
+{
+ mCC [1] MCC,
+ mNC [2] MNC,
+ ...
+}
+-- TS 36.413 [100], clause 9.2.1.142
+NRCellID ::= BIT STRING (SIZE(36))
+NCGI ::= SEQUENCE
+{
+ pLMNID [1] PLMNID,
+ nRCellID [2] NRCellID,
+ ...
+}
+
+EPSCorrelationNumber ::= OCTET STRING
+ -- In case of PS interception, the size will be in the range (8..20)
+CorrelationValues ::= CHOICE {
+
+ iri-to-CC [0] IRI-to-CC-Correlation, -- correlates IRI to Content(s)
+ iri-to-iri [1] IRI-to-IRI-Correlation, -- correlates IRI to IRI
+ both-IRI-CC [2] SEQUENCE { -- correlates IRI to IRI and IRI to Content(s)
+ iri-CC [0] IRI-to-CC-Correlation,
+ iri-IRI [1] IRI-to-IRI-Correlation}
+}
+IMS-VoIP-Correlation ::= SET OF SEQUENCE {
+ ims-iri [0] IRI-to-IRI-Correlation,
+ ims-cc [1] IRI-to-CC-Correlation OPTIONAL
+}
+IRI-to-CC-Correlation ::= SEQUENCE { -- correlates IRI to Content
+ cc [0] SET OF OCTET STRING,-- correlates IRI to multiple CCs
+ iri [1] OCTET STRING OPTIONAL
+ -- correlates IRI to CC with signaling
+}
+IRI-to-IRI-Correlation ::= OCTET STRING -- correlates IRI to IRI
+EPSEvent ::= ENUMERATED
+{
+ pDPContextActivation (1),
+ startOfInterceptionWithPDPContextActive (2),
+ pDPContextDeactivation (4),
+ gPRSAttach (5),
+ gPRSDetach (6),
+ locationInfoUpdate (10),
+ sMS (11),
+ pDPContextModification (13),
+ servingSystem (14),
+ ... ,
+ startOfInterceptionWithMSAttached (15),
+ e-UTRANAttach (16),
+ e-UTRANDetach (17),
+ bearerActivation (18),
+ startOfInterceptionWithActiveBearer (19),
+ bearerModification (20),
+ bearerDeactivation (21),
+ uERequestedBearerResourceModification (22),
+ uERequestedPDNConnectivity (23),
+ uERequestedPDNDisconnection (24),
+ trackingAreaEpsLocationUpdate (25),
+ servingEvolvedPacketSystem (26),
+ pMIPAttachTunnelActivation (27),
+ pMIPDetachTunnelDeactivation (28),
+ startOfInterceptWithActivePMIPTunnel (29),
+ pMIPPdnGwInitiatedPdnDisconnection (30),
+ mIPRegistrationTunnelActivation (31),
+ mIPDeregistrationTunnelDeactivation (32),
+ startOfInterceptWithActiveMIPTunnel (33),
+ dSMIPRegistrationTunnelActivation (34),
+ dSMIPDeregistrationTunnelDeactivation (35),
+ startOfInterceptWithActiveDsmipTunnel (36),
+ dSMipHaSwitch (37),
+ pMIPResourceAllocationDeactivation (38),
+ mIPResourceAllocationDeactivation (39),
+ pMIPsessionModification (40),
+ startOfInterceptWithEUTRANAttachedUE (41),
+ dSMIPSessionModification (42),
+ packetDataHeaderInformation (43),
+ hSS-Subscriber-Record-Change (44),
+ registration-Termination (45),
+ -- FFS
+ location-Up-Date (46),
+ -- FFS
+ cancel-Location (47),
+ register-Location (48),
+ location-Information-Request (49),
+ proSeRemoteUEReport (50),
+ proSeRemoteUEStartOfCommunication (51),
+ proSeRemoteUEEndOfCommunication (52),
+ startOfLIwithProSeRemoteUEOngoingComm (53),
+ startOfLIforProSeUEtoNWRelay (54),
+ scefRequestednonIPPDNDisconnection (55)
+}
+-- see [19]
+CSREvent ::= ENUMERATED
+{
+ cSREventMessage (1),
+ ...
+}
+IMSevent ::= ENUMERATED
+{
+ unfilteredSIPmessage (1),
+ -- This value indicates to LEMF that the whole SIP message is sent , i.e. without filtering
+ -- CC; location information is removed by the DF2/MF if not required to be sent.
+ ...,
+ sIPheaderOnly (2),
+ -- If warrant requires only IRI then specific content in a 'sIPMessage'
+ -- (e.g. 'Message', etc.) has been deleted before sending it to LEMF.
+ decryptionKeysAvailable (3),
+ -- This value indicates to LEMF that the IRI carries CC decryption keys for the session
+ -- under interception.
+ startOfInterceptionForIMSEstablishedSession (4),
+ -- This value indicates to LEMF that the IRI carries information related to
+ -- interception started on an already established IMS session.
+ xCAPRequest (5),
+ -- This value indicates to LEMF that the XCAP request is sent.
+ xCAPResponse (6) ,
+ -- This value indicates to LEMF that the XCAP response is sent.
+ ccUnavailable (7),
+ -- This value indicates to LEMF that the media is not available for interception for intercept
+ -- orders that require media interception.
+ sMSOverIMS (8),
+ -- This value indicates to LEMF that the SMS utilized by SMS over IP (using IMS) is
+ -- being reported.
+ servingSystem(9),
+ -- Applicable to HSS interception
+ subscriberRecordChange(10),
+ -- Applicable to HSS interception
+ registrationTermination(11),
+ -- Applicable to HSS interception
+ locationInformationRequest(12)
+ -- Applicable to HSS interception
+}
+
+GPRS-parameters ::= SEQUENCE
+{
+ pDP-address-allocated-to-the-target [1] DataNodeAddress OPTIONAL,
+ aPN [2] OCTET STRING (SIZE(1..100)) OPTIONAL,
+ -- The Access Point Name (APN) is coded in accordance with
+ -- 3GPP TS 24.008 [9] without the APN IEI (only the last 100 octets are used).
+ -- Octets are coded according to 3GPP TS 23.003 [25].
+ pDP-type [3] OCTET STRING (SIZE(2)) OPTIONAL,
+ -- Include either Octets 3 and 4 of the Packet Data Protocol Address information element
+ -- of 3GPP TS 24.008 [9] or Octets 4 and 5 of the End User Address IE of 3GPP TS 29.060 [17].
+ -- when PDP-type is IPv4 or IPv6, the IP address is carried by parameter
+ -- pDP-address-allocated-to-the-target
+ -- when PDP-type is IPv4v6, the additional IP address is carried by parameter
+ -- additionalIPaddress
+ ...,
+ nSAPI [4] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- Include either Octet 2 of the NSAPI IE of 3GPP TS 24.008 [9]
+ -- or Octet 2 of the NSAPI IE of 3GPP TS 29.060 [17].
+ additionalIPaddress [5] DataNodeAddress OPTIONAL
+}
+GPRSOperationErrorCode ::= OCTET STRING
+-- The parameter shall carry the GMM cause value or the SM cause value, as defined in the
+-- standard [9], without the IEI.
+LDIevent ::= ENUMERATED
+{
+ targetEntersIA (1),
+ targetLeavesIA (2),
+ ...
+}
+UmtsQos ::= CHOICE
+{
+ qosMobileRadio [1] OCTET STRING,
+ -- The qosMobileRadio parameter shall be coded in accordance with the § 10.5.6.5 of
+ -- document [9] without the Quality of service IEI and Length of
+ -- quality of service IE (. That is, first
+ -- two octets carrying 'Quality of service IEI' and 'Length of quality of service
+ -- IE' shall be excluded).
+ qosGn [2] OCTET STRING
+ -- qosGn parameter shall be coded in accordance with § 7.7.34 of document [17]
+}
+EPS-GTPV2-SpecificParameters ::= SEQUENCE
+{
+ pDNAddressAllocation [1] OCTET STRING OPTIONAL,
+ aPN [2] OCTET STRING (SIZE (1..100)) OPTIONAL,
+ protConfigOptions [3] ProtConfigOptions OPTIONAL,
+ attachType [4] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- coded according to TS 24.301 [47]
+ ePSBearerIdentity [5] OCTET STRING OPTIONAL,
+ detachType [6] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- coded according to TS 24.301 [47], includes switch off indicator
+ rATType [7] OCTET STRING (SIZE (1)) OPTIONAL,
+ failedBearerActivationReason [8] OCTET STRING (SIZE (1)) OPTIONAL,
+ ePSBearerQoS [9] OCTET STRING OPTIONAL,
+ bearerActivationType [10] TypeOfBearer OPTIONAL,
+ aPN-AMBR [11] OCTET STRING OPTIONAL,
+ -- see 3GPP TS 29.274 [46] parameters coding rules defined for EPS-GTPV2-SpecificParameters.
+ procedureTransactionId [12] OCTET STRING OPTIONAL,
+ linkedEPSBearerId [13] OCTET STRING OPTIONAL,
+ --The Linked EPS Bearer Identity shall be included and coded according to 3GPP TS 29.274 [46].
+ tFT [14] OCTET STRING OPTIONAL,
+ -- Only octets 3 onwards of TFT IE from 3GPP TS 24.008 [9] shall be included.
+ handoverIndication [15] NULL OPTIONAL,
+ failedBearerModReason [16] OCTET STRING (SIZE (1)) OPTIONAL,
+ trafficAggregateDescription [17] OCTET STRING OPTIONAL,
+ failedTAUReason [18] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- coded according to TS 24.301 [47]
+ failedEUTRANAttachReason [19] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- coded according to TS 24.301 [47]
+ servingMMEaddress [20] OCTET STRING OPTIONAL,
+ -- Contains the data fields from the Diameter Origin-Host and Origin-Realm AVPs
+ -- as received in the HSS from the MME according to the TS 29.272 [59].
+ -- Only the data fields from the Diameter AVPs are provided concatenated
+ -- with a semicolon to populate this field.
+ bearerDeactivationType [21] TypeOfBearer OPTIONAL,
+ bearerDeactivationCause [22] OCTET STRING (SIZE (1)) OPTIONAL,
+ ePSlocationOfTheTarget [23] EPSLocation OPTIONAL,
+ -- the use of ePSLocationOfTheTarget is mutually exclusive with the use of locationOfTheTarget
+ -- ePSlocationOfTheTarget allows using the coding of the parameter according to SAE stage 3.
+ -- location of the target
+ -- or cell site location
+ ...,
+ pDNType [24] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- coded according to TS 24.301 [47]
+ requestType [25] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- coded according to TS 24.301 [47]
+ uEReqPDNConnFailReason [26] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- coded according to TS 24.301 [47]
+ extendedHandoverIndication [27] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- This parameter with value 1 indicates handover based on the flags in the TS 29.274 [46].
+ -- Otherwise set to the value 0.
+ -- The use of extendedHandoverIndication and handoverIndication parameters is
+ -- mutually exclusive and depends on the actual ASN.1 encoding method.
+ uLITimestamp [28] OCTET STRING (SIZE (8)) OPTIONAL,
+ -- The upper 4 octets shall carry the ULI Timestamp value; The lower 4 octets are undefined
+ -- and shall be ignored by the receiver
+ uELocalIPAddress [29] OCTET STRING OPTIONAL,
+ uEUdpPort [30] OCTET STRING (SIZE (2)) OPTIONAL,
+ tWANIdentifier [31] OCTET STRING OPTIONAL,
+ tWANIdentifierTimestamp [32] OCTET STRING (SIZE (4)) OPTIONAL,
+ proSeRemoteUeContextConnected [33] RemoteUeContextConnected OPTIONAL,
+ proSeRemoteUeContextDisconnected [34] RemoteUeContextDisconnected OPTIONAL,
+ secondaryRATUsageIndication [35] NULL OPTIONAL
+ }
+ -- All the parameters within EPS-GTPV2-SpecificParameters are coded as the corresponding IEs
+ -- without the octets containing type and length. Unless differently stated, they are coded
+ -- according to 3GPP TS 29.274 [46]; in this case the octet containing the instance
+ -- shall also be not included.
+TypeOfBearer ::= ENUMERATED
+{
+ defaultBearer (1),
+ dedicatedBearer (2),
+ ...
+}
+EPSLocation ::= SEQUENCE
+{
+
+ userLocationInfo [1] OCTET STRING (SIZE (1..39)) OPTIONAL,
+ -- see 3GPP TS 29.274 [46] parameters coding rules defined for EPS-GTPV2-SpecificParameters.
+ gsmLocation [2] GSMLocation OPTIONAL,
+ umtsLocation [3] UMTSLocation OPTIONAL,
+ olduserLocationInfo [4] OCTET STRING (SIZE (1..39)) OPTIONAL,
+ -- coded in the same way as userLocationInfo
+ lastVisitedTAI [5] OCTET STRING (SIZE (1..5)) OPTIONAL,
+ -- the Tracking Area Identity is coded in accordance with the TAI field in 3GPP TS 29.274
+ -- [46].
+ tAIlist [6] OCTET STRING (SIZE (7..97)) OPTIONAL,
+ -- the TAI List is coded acording to 3GPP TS 24.301 [47], without the TAI list IEI
+ ...,
+ threeGPP2Bsid [7] OCTET STRING (SIZE (1..12)) OPTIONAL,
+ -- contains only the payload from the 3GPP2-BSID AVP described in the 3GPP TS 29.212 [56].
+ civicAddress [8] CivicAddress OPTIONAL,
+ operatorSpecificInfo [9] OCTET STRING OPTIONAL,
+ -- other CSP specific information.
+ uELocationTimestamp [10] CHOICE
+ {
+ timestamp [0] TimeStamp,
+ timestampUnknown [1] NULL,
+ ...
+ } OPTIONAL
+ -- Date/time of the UE location
+}
+ProtConfigOptions ::= SEQUENCE
+{
+ ueToNetwork [1] OCTET STRING (SIZE(1..251)) OPTIONAL,
+ -- This shall be coded with octet 3 onwards of the Protocol Configuration Options IE in
+ -- accordance with 3GPP TS 24.008 [9].
+ networkToUe [2] OCTET STRING (SIZE(1..251)) OPTIONAL,
+ -- This shall be coded with octet 3 onwards of the Protocol Configuration Options IE in
+ -- accordance with 3GPP TS 24.008 [9].
+...
+}
+RemoteUeContextConnected ::= SEQUENCE OF RemoteUEContext
+RemoteUEContext ::= SEQUENCE
+{
+ remoteUserID [1] RemoteUserID,
+ remoteUEIPInformation [2] RemoteUEIPInformation,
+...
+}
+RemoteUserID ::= OCTET STRING
+RemoteUEIPInformation ::= OCTET STRING
+RemoteUeContextDisconnected ::= RemoteUserID
+EPS-PMIP-SpecificParameters ::= SEQUENCE
+{
+ lifetime [1] INTEGER (0..65535) OPTIONAL,
+ accessTechnologyType [2] OCTET STRING (SIZE (4)) OPTIONAL,
+ aPN [3] OCTET STRING (SIZE (1..100)) OPTIONAL,
+ iPv6HomeNetworkPrefix [4] OCTET STRING (SIZE (20)) OPTIONAL,
+ protConfigurationOption [5] OCTET STRING OPTIONAL,
+ handoverIndication [6] OCTET STRING (SIZE (4)) OPTIONAL,
+ status [7] INTEGER (0..255) OPTIONAL,
+ revocationTrigger [8] INTEGER (0..255) OPTIONAL,
+ iPv4HomeAddress [9] OCTET STRING (SIZE (4)) OPTIONAL,
+ iPv6careOfAddress [10] OCTET STRING OPTIONAL,
+ iPv4careOfAddress [11] OCTET STRING OPTIONAL,
+ ...,
+ servingNetwork [12] OCTET STRING (SIZE (3)) OPTIONAL,
+ dHCPv4AddressAllocationInd [13] OCTET STRING (SIZE (1)) OPTIONAL,
+ ePSlocationOfTheTarget [14] EPSLocation OPTIONAL
+ -- parameters coded according to 3GPP TS 29.275 [48] and RFCs specifically
+ -- referenced in it.
+}
+EPS-DSMIP-SpecificParameters ::= SEQUENCE
+{
+ lifetime [1] INTEGER (0..65535) OPTIONAL,
+ requestedIPv6HomePrefix [2] OCTET STRING (SIZE (25)) OPTIONAL,
+ -- coded according to RFC 5026
+ homeAddress [3] OCTET STRING (SIZE (8)) OPTIONAL,
+ iPv4careOfAddress [4] OCTET STRING (SIZE (8)) OPTIONAL,
+ iPv6careOfAddress [5] OCTET STRING (SIZE(16)) OPTIONAL,
+ aPN [6] OCTET STRING (SIZE (1..100)) OPTIONAL,
+ status [7] INTEGER (0..255) OPTIONAL,
+ hSS-AAA-address [8] OCTET STRING OPTIONAL,
+ targetPDN-GW-Address [9] OCTET STRING OPTIONAL,
+ ...
+ -- parameters coded according to 3GPP TS 24.303 [49] and RFCs specifically
+ -- referenced in it.
+}
+EPS-MIP-SpecificParameters ::= SEQUENCE
+{
+ lifetime [1] INTEGER (0.. 65535) OPTIONAL,
+ homeAddress [2] OCTET STRING (SIZE (4)) OPTIONAL,
+ careOfAddress [3] OCTET STRING (SIZE (4)) OPTIONAL,
+ homeAgentAddress [4] OCTET STRING (SIZE (4)) OPTIONAL,
+ code [5] INTEGER (0..255) OPTIONAL,
+ foreignDomainAddress [7] OCTET STRING (SIZE (4)) OPTIONAL,
+ ...
+ -- parameters coded according to 3GPP TS 29.279 [63] and RFCs specifically
+ -- referenced in it.
+}
+MediaDecryption-info ::= SEQUENCE OF CCKeyInfo
+ -- One or more key can be available for decryption, one for each media streams of the
+ -- intercepted session.
+CCKeyInfo ::= SEQUENCE
+{
+ cCCSID [1] OCTET STRING,
+ -- the parameter uniquely mapping the key to the encrypted stream.
+ cCDecKey [2] OCTET STRING,
+ cCSalt [3] OCTET STRING OPTIONAL,
+ -- The field reports the value from the CS_ID field in the ticket exchange headers as
+ -- defined in IETF RFC 6043 [61].
+ ...
+}
+MediaSecFailureIndication ::= ENUMERATED
+{
+ genericFailure (0),
+ ...
+}
+PacketDataHeaderInformation ::= CHOICE
+{
+ packetDataHeader [1] PacketDataHeaderReport,
+ packetDataSummary [2] PacketDataSummaryReport,
+...
+}
+PacketDataHeaderReport ::= CHOICE
+{
+ packetDataHeaderMapped [1] PacketDataHeaderMapped,
+ packetDataHeaderCopy [2] PacketDataHeaderCopy,
+...
+}
+PacketDataHeaderMapped ::= SEQUENCE
+{
+ sourceIPAddress [1] IPAddress,
+ sourcePortNumber [2] INTEGER (0..65535) OPTIONAL,
+ destinationIPAddress [3] IPAddress,
+ destinationPortNumber [4] INTEGER (0..65535) OPTIONAL,
+ transportProtocol [5] INTEGER,
+ -- For IPv4, report the "Protocol" field and for IPv6 report "Next Header" field.
+ -- Assigned Internet Protocol Numbers can be found at
+ -- http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml
+ packetsize [6] INTEGER OPTIONAL,
+ flowLabel [7] INTEGER OPTIONAL,
+ packetCount [8] INTEGER OPTIONAL,
+ direction [9] TPDU-direction,
+...
+}
+TPDU-direction ::= ENUMERATED
+{
+ from-target (1),
+ to-target (2),
+ unknown (3)
+}
+PacketDataHeaderCopy ::= SEQUENCE
+{
+ direction [1] TPDU-direction,
+ headerCopy [2] OCTET STRING, -- includes a copy of the packet header at the IP
+ -- network layer and above including extension headers, but excluding contents.
+...
+}
+PacketDataSummaryReport ::= SEQUENCE OF PacketFlowSummary
+PacketFlowSummary ::= SEQUENCE
+{
+ sourceIPAddress [1] IPAddress,
+ sourcePortNumber [2] INTEGER (0..65535) OPTIONAL,
+ destinationIPAddress [3] IPAddress,
+ destinationPortNumber [4] INTEGER (0..65535) OPTIONAL,
+ transportProtocol [5] INTEGER,
+ -- For IPv4, report the "Protocol" field and for IPv6 report "Next Header" field.
+ -- Assigned Internet Protocol Numbers can be found at
+ -- http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml
+ flowLabel [6] INTEGER OPTIONAL,
+ summaryPeriod [7] ReportInterval,
+ packetCount [8] INTEGER,
+ sumOfPacketSizes [9] INTEGER,
+ packetDataSummaryReason [10] ReportReason,
+...
+}
+ReportReason ::= ENUMERATED
+{
+ timerExpired (0),
+ countThresholdHit (1),
+ pDPComtextDeactivated (2),
+ pDPContextModification (3),
+ otherOrUnknown (4),
+ ...
+}
+ReportInterval ::= SEQUENCE
+{
+ firstPacketTimeStamp [0] TimeStamp,
+ lastPacketTimeStamp [1] TimeStamp,
+ ...
+}
+TunnelProtocol ::= CHOICE
+{
+ rfc2868ValueField [0] OCTET STRING, -- coded to indicate the type of tunnel established between
+ -- the HeNB and the SeGW as specified in TS 33.320. The actual coding is provided in 3 octets
+ -- with the Value field of the Tunnel Type RADIUS attribute as specified in IETF RFC 2868.
+ -- This corresponds to the outer layer tunnel between the HeNB and the SeGW as viewed by the
+ -- SeGW
+ nativeIPSec [1] NULL, -- if native IPSec is required by TS 33.320 between HeNB and SeGW
+...
+}
+HeNBLocation ::= EPSLocation
+Requesting-Node-Type ::= ENUMERATED
+{
+ mSC (1),
+ sMS-Centre (2),
+ gMLC (3),
+ mME (4),
+ sGSN (5),
+ ...
+}
+Change-Of-Target-Identity ::= SEQUENCE
+{
+ new-MSISDN [1] PartyInformation OPTIONAL,
+ -- new MSISDN of the target, encoded in the same format as the AddressString
+ -- parameters defined in MAP format document TS 29.002 [4]
+ new-A-MSISDN [2] PartyInformation OPTIONAL,
+ -- new A-MSISDN of the target, encoded in the same format as the AddressString
+ -- parameters defined in TS 23.003 [25]
+ old-MSISDN [3] PartyInformation OPTIONAL,
+ -- old MSISDN of the target, encoded in the same format as the AddressString
+ -- parameters defined in MAP format document TS 29.002 [4]
+ old-A-MSISDN [4] PartyInformation OPTIONAL,
+ -- old A-MSISDN of the target, encoded in the same format as the AddressString
+ -- parameters defined in TS 23.003 [25]
+ new-IMSI [5] PartyInformation OPTIONAL,
+ -- See MAP format [4] International Mobile
+ -- Station Identity E.212 number beginning with Mobile Country Code
+ old-IMSI [6] PartyInformation OPTIONAL,
+ -- See MAP format [4] International Mobile
+ -- Station Identity E.212 number beginning with Mobile Country Code
+ new-IMEI [7] PartyInformation OPTIONAL,
+ -- See MAP format [4] International Mobile
+ -- Equipement Identity defined in MAP format document TS 29.002 [4]
+ old-IMEI [8] PartyInformation OPTIONAL,
+ -- See MAP format [4] International Mobile
+ -- Equipement Identity defined in MAP format document TS 29.002 [4]
+...,
+ new-IMPI [9] PartyInformation OPTIONAL,
+ old-IMPI [10] PartyInformation OPTIONAL,
+ new-SIP-URI [11] PartyInformation OPTIONAL,
+ old-SIP-URI [12] PartyInformation OPTIONAL,
+ new-TEL-URI [13] PartyInformation OPTIONAL,
+ old-TEL-URI [14] PartyInformation OPTIONAL
+}
+Current-Previous-Systems ::= SEQUENCE
+{
+ serving-System-Identifier [1] OCTET STRING OPTIONAL,
+ -- VPLMN id (Mobile Country Code and Mobile Network Country, E. 212 number [87]).
+ current-Serving-MME-Address [2] DataNodeIdentifier OPTIONAL,
+ -- The IP address of the current serving MME or its the Diameter Origin-Host and Origin-Realm.
+ previous-Serving-System-Identifier [3] OCTET STRING OPTIONAL,
+ -- VPLMN id (Mobile Country Code and Mobile Network Country, defined in E212 [87]).
+ previous-Serving-MME-Address [4] DataNodeIdentifier OPTIONAL,
+ -- The IP address of the previous serving MME or its Diameter Origin-Host and Origin-Realm.
+...
+}
+ProSeTargetType ::= ENUMERATED
+{
+ pRoSeRemoteUE (1),
+ pRoSeUEtoNwRelay (2),
+ ...
+}
+VoIPRoamingIndication ::= ENUMERATED {
+ roamingLBO (1), -- used in IMS events sent by VPLMN with LBO as roaming
+ roamingS8HR (2), -- used in IMS events sent by VPLMN with S8HR as roaming
+ ...
+}
+DeregistrationReason ::= CHOICE
+{
+ reason-CodeAVP [1] INTEGER,
+ server-AssignmentType [2] INTEGER,
+ -- Coded according to 3GPP TS 29.229 [96]
+ ...
+}
+PTCEncryptionInfo ::= SEQUENCE {
+ cipher [1] UTF8String,
+ cryptoContext [2] UTF8String OPTIONAL,
+ key [3] UTF8String,
+ keyEncoding [4] UTF8String,
+ salt [5] UTF8String OPTIONAL,
+ pTCOther [6] UTF8String OPTIONAL,
+ ...
+}
+PTC ::= SEQUENCE {
+ abandonCause [1] UTF8String OPTIONAL,
+ accessPolicyFailure [2] UTF8String OPTIONAL,
+ accessPolicyType [3] AccessPolicyType OPTIONAL,
+ alertIndicator [5] AlertIndicator OPTIONAL,
+ associatePresenceStatus [6] AssociatePresenceStatus OPTIONAL,
+ bearer-capability [7] UTF8String OPTIONAL,
+ -- identifies the Bearer capability information element (value part)
+ broadcastIndicator [8] BOOLEAN OPTIONAL,
+ -- default False, true indicates this is a braodcast to a group
+ contactID [9] UTF8String OPTIONAL,
+ emergency [10] Emergency OPTIONAL,
+ emergencyGroupState [11] EmergencyGroupState OPTIONAL,
+ timeStamp [12] TimeStamp,
+ pTCType [13] PTCType OPTIONAL,
+ failureCode [14] UTF8String OPTIONAL,
+ floorActivity [15] FloorActivity OPTIONAL,
+ floorSpeakerID [16] PTCAddress OPTIONAL,
+ groupAdSender [17] UTF8String OPTIONAL,
+ -- Identifies the group administrator who was the originator of the group call.
+ -- tag [18] was used in r15 (15) version-4 (4)
+ groupAuthRule [19] GroupAuthRule OPTIONAL,
+ groupCharacteristics [20] UTF8String OPTIONAL,
+ holdRetrieveInd [21] BOOLEAN OPTIONAL,
+ -- true indicates target is placed on hold, false indicates target was retrived from hold.
+ -- tag [22] was used in r15 (15) version-4 (4)
+ imminentPerilInd [23] ImminentPerilInd OPTIONAL,
+ implicitFloorReq [24] ImplicitFloorReq OPTIONAL,
+ initiationCause [25] InitiationCause OPTIONAL,
+ invitationCause [26] UTF8String OPTIONAL,
+ iPAPartyID [27] UTF8String OPTIONAL,
+ iPADirection [28] IPADirection OPTIONAL,
+ listManagementAction [29] ListManagementAction OPTIONAL,
+ listManagementFailure [30] UTF8String OPTIONAL,
+ listManagementType [31] ListManagementType OPTIONAL,
+ maxTBTime [32] UTF8String OPTIONAL, -- defined in seconds.
+ mCPTTGroupID [33] UTF8String OPTIONAL,
+ mCPTTID [34] UTF8String OPTIONAL,
+ mCPTTInd [35] BOOLEAN OPTIONAL,
+ -- default False indicates to associate from target, true indicates to the target.
+ location [36] Location OPTIONAL,
+ mCPTTOrganizationName [37] UTF8String OPTIONAL,
+ mediaStreamAvail [38] BOOLEAN OPTIONAL,
+ -- True indicates available for media, false indicates not able to accept media.
+ priority-Level [40] Priority-Level OPTIONAL,
+ preEstSessionID [41] UTF8String OPTIONAL,
+ preEstStatus [42] PreEstStatus OPTIONAL,
+ pTCGroupID [43] UTF8String OPTIONAL,
+ pTCIDList [44] UTF8String OPTIONAL,
+ pTCMediaCapability [45] UTF8String OPTIONAL,
+ pTCOriginatingId [46] UTF8String OPTIONAL,
+ pTCOther [47] UTF8String OPTIONAL,
+ pTCParticipants [48] UTF8String OPTIONAL,
+ pTCParty [49] UTF8String OPTIONAL,
+ pTCPartyDrop [50] UTF8String OPTIONAL,
+ pTCSessionInfo [51] UTF8String OPTIONAL,
+ pTCServerURI [52] UTF8String OPTIONAL,
+ pTCUserAccessPolicy [53] UTF8String OPTIONAL,
+ pTCAddress [54] PTCAddress OPTIONAL,
+ queuedFloorControl [55] BOOLEAN OPTIONAL,
+ --Default FALSE,send TRUE if Queued floor control is used.
+ queuedPosition [56] UTF8String OPTIONAL,
+ -- indicates the queued position of the Speaker (Target or associate) who has the
+ -- right to speak.
+ registrationRequest [57] RegistrationRequest OPTIONAL,
+ registrationOutcome [58] RegistrationOutcome OPTIONAL,
+ retrieveID [59] UTF8String OPTIONAL,
+ rTPSetting [60] RTPSetting OPTIONAL,
+ talkBurstPriority [61] Priority-Level OPTIONAL,
+ talkBurstReason [62] Talk-burst-reason-code OPTIONAL,
+ -- Talk-burst-reason-code Defined according to the rules and procedures
+ -- in (OMA-PoC-AD [97])
+ talkburstControlSetting [63] TalkburstControlSetting OPTIONAL,
+ targetPresenceStatus [64] UTF8String OPTIONAL,
+ port-Number [65] INTEGER (0..65535) OPTIONAL,
+ ...
+}
+AccessPolicyType ::= SEQUENCE
+{
+ userAccessPolicyAttempt [1] BOOLEAN,
+ -- default False, true indicates Target has accessed.
+ groupAuthorizationRulesAttempt [2] BOOLEAN,
+ -- default False, true indicates Target has accessed.
+ userAccessPolicyQuery [3] BOOLEAN,
+ -- default False, true indicates Target has accessed.
+ groupAuthorizationRulesQuery [4] BOOLEAN,
+ -- default False, true indicates Target has accessed.
+ userAccessPolicyResult [5] UTF8String,
+ groupAuthorizationRulesResult [6] UTF8String,
+ ...
+}
+AlertIndicator ::= ENUMERATED
+{
+ -- indicates the group call alert condition.
+ sent (1),
+ received (2),
+ cancelled (3),
+ ...
+ }
+AssociatePresenceStatus ::= SEQUENCE
+{
+ presenceID [1] UTF8String,
+ -- identity of PTC Client(s)or the PTC group
+ presenceType [2] PresenceType,
+ presenceStatus [3] BOOLEAN,
+ -- default false, true indicates connected.
+...
+}
+PresenceType ::= ENUMERATED
+{
+ pTCClient (1),
+ pTCGroup (2),
+ -- identifies the type of presenceID given [PTC Client(s) or PTC group].
+ ...
+}
+Emergency ::= ENUMERATED
+{
+ -- MCPTT services indication of peril condition.
+ imminent (1),
+ peril (2),
+ cancel (3),
+ ...
+}
+EmergencyGroupState ::= SEQUENCE
+{
+ -- indicates the state of the call, at least one of these information
+ -- elements shall be present.
+ clientEmergencyState [1] ENUMERATED
+{
+ -- in case of MCPTT call, indicates the response for the client
+ inform (1),
+ response (2),
+ cancelInform (3),
+ cancelResponse (4),
+ ...
+} OPTIONAL,
+ groupEmergencyState [2] ENUMERATED
+{
+ -- in case of MCPTT group call, indicates if there is a group emergency or
+ -- a response from the Target to indicate current Client state of emergency.
+ inForm (1),
+ reSponse (2),
+ cancelInform (3),
+ cancelResponse (4),
+...
+ },
+...
+}
+PTCType ::= ENUMERATED
+{
+ pTCStartofInterception (1),
+ pTCServinSystem (2),
+ pTCSessionInitiation (3),
+ pTCSessionAbandonEndRecord (4),
+ pTCSessionStartContinueRecord (5),
+ pTCSessionEndRecord (6),
+ pTCPre-EstablishedSessionSessionRecord (7),
+ pTCInstantPersonalAlert (8),
+ pTCPartyJoin (9),
+ pTCPartyDrop (10),
+ pTCPartyHold-RetrieveRecord (11),
+ pTCMediaModification (12),
+ pTCGroupAdvertizement (13),
+ pTCFloorConttrol (14),
+ pTCTargetPressence (15),
+ pTCAssociatePressence (16),
+ pTCListManagementEvents (17),
+ pTCAccessPolicyEvents (18),
+ pTCMediaTypeNotification (19),
+ pTCGroupCallRequest (20),
+ pTCGroupCallCancel (21),
+ pTCGroupCallResponse (22),
+ pTCGroupCallInterrogate (23),
+ pTCMCPTTImminentGroupCall (24),
+ pTCCC (25),
+ pTCRegistration (26),
+ pTCEncryption (27),
+...
+}
+FloorActivity ::= SEQUENCE
+{
+ tBCP-Request [1] BOOLEAN,
+ -- default False, true indicates Granted.
+ tBCP-Granted [2] BOOLEAN,
+ -- default False, true indicates Granted permission to talk.
+ tBCP-Deny [3] BOOLEAN,
+ -- default True, False indicates permission granted.
+ tBCP-Queued [4] BOOLEAN,
+ -- default False, true indicates the request to talk is in queue.
+ tBCP-Release [5] BOOLEAN,
+ -- default True, true indicates the Request to talk is completed,
+ -- False indicates PTC Client has the request to talk.
+ tBCP-Revoke [6] BOOLEAN,
+ -- default False, true indicates the privilege to talk is canceld from the
+ -- PTC server.
+ tBCP-Taken [7] BOOLEAN,
+ -- default True, false indicates another PTC Client has the permission to talk.
+ tBCP-Idle [8] BOOLEAN,
+ -- default True, False indicates the Talk Burst Protocol is taken.
+...
+}
+GroupAuthRule ::= ENUMERATED
+{
+ allow-Initiating-PtcSession (0),
+ block-Initiating-PtcSession (1),
+ allow-Joining-PtcSession (2),
+ block-Joining-PtcSession (3),
+ allow-Add-Participants (4),
+ block-Add-Participants (5),
+ allow-Subscription-PtcSession-State (6),
+ block-Subscription-PtcSession-State (7),
+ allow-Anonymity (8),
+ forbid-Anonymity (9),
+...
+}
+ImminentPerilInd ::= ENUMERATED
+{
+ request (1),
+ response (2),
+ cancel (3),
+ -- when the MCPTT Imminent Peril Group Call Request, Response or Cancel is detected
+...
+}
+ImplicitFloorReq ::= ENUMERATED
+{
+ join (1),
+ rejoin (2),
+ release (3),
+ -- group Call request to join, rejoin, or release of the group call
+...
+}
+InitiationCause ::= ENUMERATED
+{
+ requests (1),
+ received (2),
+ pTCOriginatingId (3),
+ -- requests or receives a session initiation from the network or another
+ -- party to initiate a PTC session. Identify the originating PTC party, if known.
+...
+}
+IPADirection ::= ENUMERATED
+{
+ toTarget (0),
+ fromTarget (1),
+...
+}
+ListManagementAction ::= ENUMERATED
+{
+ create (1),
+ modify (2),
+ retrieve (3),
+ delete (4),
+ notify (5),
+...
+}
+ListManagementType ::= ENUMERATED
+{
+ contactListManagementAttempt (1),
+ groupListManagementAttempt (2),
+ contactListManagementResult (3),
+ groupListManagementResult (4),
+ requestSuccessful (5),
+...
+}
+Priority-Level ::= ENUMERATED
+{
+ pre-emptive (0),
+ high-priority (1),
+ normal-priority (2),
+ listen-only (3),
+...
+}
+PreEstStatus ::= ENUMERATED
+{
+ established (1),
+ modify (2),
+ released (3),
+...
+}
+PTCAddress ::= SEQUENCE
+{
+ uri [0] UTF8String,
+ -- The set of URIs defined in [RFC3261] and related SIP RFCs.
+ privacy-setting [1] BOOLEAN,
+ -- Default FALSE, send TRUE if privacy is used.
+ privacy-alias [2] VisibleString OPTIONAL,
+ -- if privacy is used, the PTC Server creates an anonymous PTC Address of the form
+ -- <sip:anonymous@anonymous.invalid>. In addition to anonymity, the anonymous PTC
+ -- Addresses SHALL be unique within a PTC Session. In case more than one anonymous
+ -- PTC Addresses are used in the same PTC Session, for the second Anonymous PTC
+ -- Session and thereafter, the PTC Server SHOULD use the form
+ -- sip:anonymous-n@anonymous.invalid where n is an integer number.
+ nickname [3] UTF8String OPTIONAL,
+...
+}
+RegistrationRequest ::= ENUMERATED
+{
+ register (1),
+ re-register (2),
+ de-register (3),
+...
+}
+RegistrationOutcome ::= ENUMERATED
+{
+ success (0),
+ failure (1),
+...
+}
+RTPSetting ::= SEQUENCE
+{
+ ip-address [0] IPAddress,
+ port-number [1] Port-Number,
+ -- the IP address and port number at the PTC Server for the RTP Session
+...
+}
+Port-Number ::= INTEGER (0..65535)
+TalkburstControlSetting ::= SEQUENCE
+{
+ talk-BurstControlProtocol [1] UTF8String,
+ talk-Burst-parameters [2] SET OF VisibleString,
+ -- selected by the PTC Server from those contained in the original SDP offer in the
+ -- incoming SIP INVITE request from the PTC Client
+ tBCP-PortNumber [3] INTEGER (0..65535),
+ -- PTC Server's port number to be used for the Talk Burst Control Protocol
+...
+}
+Talk-burst-reason-code ::= VisibleString
+END -- OF EpsHI2Operations \ No newline at end of file
diff --git a/epan/dissectors/asn1/HI2Operations/HI2Operations.cnf b/epan/dissectors/asn1/HI2Operations/HI2Operations.cnf
new file mode 100644
index 00000000..b70a2c7d
--- /dev/null
+++ b/epan/dissectors/asn1/HI2Operations/HI2Operations.cnf
@@ -0,0 +1,100 @@
+# HI2Operations.cnf
+# HI2Operations conformation file
+
+#.MODULE
+EpsHI2Operations EpsHI2
+UmtsHI2Operations UmtsHI2
+HI3CCLinkData hi3cclinkdata
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.REGISTER
+
+#.PDU
+IRIsContent
+UUS1-Content
+
+#.NO_EMIT
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+CallContentLinkCharacteristics
+CCLink-State
+Intercepted-Call-State
+GPRSCorrelationNumber
+GPRSEvent
+TetraLocation
+
+#.FIELD_RENAME
+GSMLocation/geoCoordinates/latitude geoCoordinates_latitude
+GSMLocation/geoCoordinates/longitude geoCoordinates_longitude
+
+#.FN_HDR UUS1-Content
+
+/* Heuristic test to see if it's our content */
+ gint8 tmp_class;
+ bool tmp_pc;
+ gint32 tmp_tag;
+ int tmp_offset;
+ guint length = tvb_captured_length(tvb);
+ guint32 tmp_length;
+ bool tmp_ind;
+
+ /* Check for min length */
+ if (length < 6){
+ return 0;
+ }
+ /* We start with UUS1-Content ::= SEQUENCE */
+ tmp_offset = get_ber_identifier(tvb, offset, &tmp_class, &tmp_pc, &tmp_tag);
+ if(tmp_class != BER_CLASS_UNI){
+ return 0;
+ }
+ if(tmp_pc != 1){
+ return 0;
+ }
+ if(tmp_tag != BER_UNI_TAG_SEQUENCE){
+ return 0;
+ }
+ /* Get length just to move offset forward */
+ tmp_offset = get_ber_length(tvb, tmp_offset, &tmp_length, &tmp_ind);
+
+ /* Next 2 mandatorry elements
+ * lawfullInterceptionIdentifier [1] LawfulInterceptionIdentifier,
+ * communicationIdentifier [2] CommunicationIdentifier,
+ */
+ get_ber_identifier(tvb, tmp_offset, &tmp_class, &tmp_pc, &tmp_tag);
+ if(tmp_class != BER_CLASS_CON){
+ return 0;
+ }
+ if(tmp_pc != 0){
+ return 0;
+ }
+ if(tmp_tag != 1){
+ return 0;
+ }
+
+#.FN_BODY Network-Element-Identifier/e164-Format VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ dissect_isup_calling_party_number_parameter(parameter_tvb, actx->pinfo, tree, NULL);
+
+#.FN_BODY UUS1-Content/bearer-capability VAL_PTR =&parameter_tvb
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ dissect_q931_bearer_capability_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), tree);
+
+#.FIELD_ATTR
+GSMLocation/geoCoordinates/latitude ABBREV=geoCoordinates.latitude
+GSMLocation/geoCoordinates/longitude ABBREV=geoCoordinates.longitude
+#.END
+
diff --git a/epan/dissectors/asn1/HI2Operations/HI2Operations_ver18.asn b/epan/dissectors/asn1/HI2Operations/HI2Operations_ver18.asn
new file mode 100644
index 00000000..a5e62292
--- /dev/null
+++ b/epan/dissectors/asn1/HI2Operations/HI2Operations_ver18.asn
@@ -0,0 +1,808 @@
+HI2Operations
+{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(18)}
+
+ -- It is advised not to use version11(11) of this ASN.1 module since it contains a syntax error.
+ -- Version11(11) of HI2Operations is only defined in TS 101 671 v3.5.1 [81].
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)}
+
+ -- from 3GPP TS 33.108 [61]
+ CorrelationValues,
+ EpsIRIsContent,
+ GPRS-parameters,
+ IMSevent,
+ LDIevent,
+ Location,
+ UmtsQos
+ FROM EpsHI2Operations
+ {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi2(1) r11(11) version-0(0)};
+
+-- =============================
+-- Object Identifier Definitions
+-- =============================
+
+-- LawfulIntercept DomainId
+lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)}
+
+-- Security Subdomains
+hi2DomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi2(1)}
+hi2OperationId OBJECT IDENTIFIER ::= {hi2DomainId version18(18)}
+
+sending-of-IRI OPERATION ::=
+{
+ ARGUMENT IRIsContent
+ ERRORS {OperationErrors}
+ CODE global:{hi2DomainId sending-of-IRI(1) version1(1)}
+}
+-- Class 2 operation. The timer shall be set to a value between 3s and 240s.
+-- The timer default value is 60s.
+-- NOTE: The same note as for HI management operation applies.
+
+-- WS replace IRIsContent with EpsIRIsContent
+IRIsContent ::= EpsIRIsContent
+
+unknown-version ERROR ::= {CODE local:0}
+missing-parameter ERROR ::= {CODE local:1}
+unknown-parameter-value ERROR ::= {CODE local:2}
+unknown-parameter ERROR ::= {CODE local:3}
+
+OperationErrors ERROR ::=
+{
+ unknown-version |
+ missing-parameter |
+ unknown-parameter-value |
+ unknown-parameter
+}
+-- These values may be sent by the LEMF, when an operation or a parameter is misunderstood.
+
+-- ==================
+-- PARAMETERS FORMATS
+-- ==================
+
+CommunicationIdentifier ::= SEQUENCE
+{
+ communication-Identity-Number [0] OCTET STRING (SIZE (1..8)) OPTIONAL,
+ -- Temporary Identifier of an intercepted call to uniquely identify an intercepted call
+ -- within the node. This parameter is mandatory if there is associated
+ -- information sent over HI3interface (CClink, data,..) or when
+ -- CommunicationIdentifier is used for IRI other than IRI-Report-record
+ -- This parameter was called "call-Identity-Number" in V1.1.1 of ES 201 671 [i.5]
+ -- The individual digits of the communication-Identity-Number shall be represented in
+ -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38.
+ -- For subaddress option only "0"..."9" shall be used.
+ network-Identifier [1] Network-Identifier,
+ ...
+}
+-- NOTE: The same "CommunicationIdentifier" value is sent:
+-- with the HI3 information for correlation purpose between the IRI and the information sent
+-- on the HI3 interfaces (CCLink, data, ..) with each IRI associated to a same intercepted
+-- call for correlation purpose between the different IRI.
+
+Network-Identifier ::= SEQUENCE
+{
+ operator-Identifier [0] OCTET STRING (SIZE (1..5)),
+ -- It is a notification of the NWO/AP/SvP in ASCII- characters.
+ -- For subaddress option only "0"..."9" shall be used.
+ -- The parameter is mandatory.
+ network-Element-Identifier [1] Network-Element-Identifier OPTIONAL,
+ ...
+}
+
+Network-Element-Identifier ::= CHOICE
+{
+ e164-Format [1] OCTET STRING (SIZE (1..25)),
+ -- E164 address of the node in international format. Coded in the same format as the
+ -- calling party number parameter of the ISUP (parameter part: EN 300 356 [5]).
+ x25-Format [2] OCTET STRING (SIZE (1..25)),
+ -- X25 address
+ iP-Format [3] OCTET STRING (SIZE (1..25)),
+ -- IP address
+ dNS-Format [4] OCTET STRING (SIZE (1..25)),
+ -- DNS address
+ ...,
+ iP-Address [5] IPAddress
+}
+
+CC-Link-Identifier ::= OCTET STRING (SIZE (1..8))
+ -- Depending on a network option, this parameter may be used to identify a CClink
+ -- in case of multiparty calls.
+ -- The individual digits of the CC-Link-Identifier shall be represented in
+ -- ASCII format, e.g. "12345678" = 8 octets 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38.
+ -- For subaddress option only "0"..."9" shall be used.
+
+TimeStamp ::= CHOICE
+{
+-- The minimum resolution required is one second.
+-- "Resolution" is the smallest incremental change that can be measured for time and
+-- is expressed with a definite number of decimal digits or bits.
+ localTime [0] LocalTimeStamp,
+ utcTime [1] UTCTime
+}
+
+LocalTimeStamp ::= SEQUENCE
+{
+ generalizedTime [0] GeneralizedTime,
+ -- The minimum resolution required is one second.
+ -- "Resolution" is the smallest incremental change that can be measured for time and
+ -- is expressed with a definite number of decimal digits or bits.
+ winterSummerIndication [1] ENUMERATED
+ {
+ notProvided(0),
+ winterTime(1),
+ summerTime(2),
+ ...
+ }
+}
+
+PartyInformation ::= SEQUENCE
+{
+ party-Qualifier [0] ENUMERATED
+ {
+ originating-Party(0),
+ -- In this case, the partyInformation parameter provides the identities related to
+ -- the originating party and all information provided by this party.
+ -- This parameter provides also all the information concerning the redirecting
+ -- party when a forwarded call reaches a target.
+ terminating-Party(1),
+ -- In this case, the partyInformation parameter provides the identities related to
+ -- the terminating party and all information provided by this party.
+ forwarded-to-Party(2),
+ -- In this case, the partyInformation parameter provides the identities related to
+ -- the forwarded to party and parties beyond this one and all information
+ -- provided by this parties, including the call forwarding reason.
+ gPRS-Target(3),
+ ...
+ },
+ partyIdentity [1] SEQUENCE
+ {
+ imei [1] OCTET STRING (SIZE (8)) OPTIONAL,
+ -- See MAP format TS GSM 09.02 [32]
+ tei [2] OCTET STRING (SIZE (1..15)) OPTIONAL,
+ -- ISDN-based Terminal Equipment Identity
+ imsi [3] OCTET STRING (SIZE (3..8)) OPTIONAL,
+ -- See MAP format TS GSM 09.02 [32] International Mobile
+ -- Station Identity E.212 number beginning with Mobile Country Code
+ callingPartyNumber [4] CallingPartyNumber OPTIONAL,
+ -- The calling party format is used to transmit the identity of a calling party
+ calledPartyNumber [5] CalledPartyNumber OPTIONAL,
+ -- The called party format is used to transmit the identity of a called party or
+ -- a forwarded to party.
+ msISDN [6] OCTET STRING (SIZE (1..9)) OPTIONAL,
+ -- MSISDN of the target, encoded in the same format as the AddressString
+ -- parameters defined in MAP format TS GSM 09.02 [32]
+ ...,
+ e164-Format [7] OCTET STRING (SIZE (1..25)) OPTIONAL,
+ -- E164 address of the node in international format. Coded in the same format as
+ -- the calling party number parameter of the ISUP (parameter part: EN 300 356 [5])
+ sip-uri [8] OCTET STRING OPTIONAL,
+ -- Session Initiation Protocol - Uniform Resource Identifier. See RFC 3261 [59].
+ -- This parameter is duplicated from 3GPP TS 33.108 [61].
+ tel-url [9] OCTET STRING OPTIONAL,
+ -- See "URLs for Telephone Calls", RFC 3966 [68].
+ -- This parameter is duplicated from 3GPP TS 33.108 [61].
+ nai [10] OCTET STRING OPTIONAL,
+ -- NAI of the target, encoded in the same format as defined by [EPS stage 3 specs]
+ x-3GPP-Asserted-Identity [11] OCTET STRING OPTIONAL,
+ -- X-3GPP-Asserted-Identity header (3GPP TS 24.109 [79]) of the target, used in
+ -- some XCAP transactions as a complement information to SIP URI or Tel URI.
+ xUI [12] OCTET STRING OPTIONAL,
+ -- XCAP User Identifier (XUI)is a string, valid as a path element in an XCAP URI, that is
+ -- may be associated with each user served by a XCAP resource server. Defined in IETF RFC
+ -- 4825[80] as a complement information to SIP URI or Tel URI
+ iMPI [13] OCTET STRING OPTIONAL,
+ -- Private User Identity as defined in 3GPP TS 23.003 [25]
+ extID [14] UTF8String OPTIONAL
+ -- RFC 4282 [102] compliant string as per TS 23.003 [25], clause 19.7.2
+ },
+ services-Information [2] Services-Information OPTIONAL,
+ -- This parameter is used to transmit all the information concerning the
+ -- complementary information associated to the basic call
+ supplementary-Services-Information [3] Supplementary-Services OPTIONAL,
+ -- This parameter is used to transmit all the information concerning the
+ -- activation/invocation of supplementary services during a call or out-of call not
+ -- provided by the previous parameters.
+ services-Data-Information [4] Services-Data-Information OPTIONAL,
+ -- This parameter is used to transmit all the information concerning the complementary
+ -- information associated to the basic data call.
+ ...
+}
+
+CallingPartyNumber ::= CHOICE
+{
+ iSUP-Format [1] OCTET STRING (SIZE (1..25)),
+ -- Encoded in the same format as the calling party number (parameter field)
+ -- of the ISUP (see EN 300 356 [5]).
+ dSS1-Format [2] OCTET STRING (SIZE (1..25)),
+ -- Encoded in the format defined for the value part of the Calling party number
+ -- information element of DSS1 protocol EN 300 403-1 [6].
+ -- The DSS1 Information element identifier and the DSS1 length are not included.
+ ...,
+ mAP-Format [3] OCTET STRING (SIZE (1..25))
+ -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32].
+}
+
+CalledPartyNumber ::= CHOICE
+{
+ iSUP-Format [1] OCTET STRING (SIZE (1..25)),
+ -- Encoded in the same format as the called party number (parameter field)
+ -- of the ISUP (see EN 300 356 [5]).
+ mAP-Format [2] OCTET STRING (SIZE (1..25)),
+ -- Encoded as AddressString of the MAP protocol TS GSM 09.02 [32].
+ dSS1-Format [3] OCTET STRING (SIZE (1..25)),
+ -- Encoded in the format defined for the value part of the Called party number information
+ -- element of DSS1 protocol EN 300 403-1 [6].
+ -- The DSS1 Information element identifier and the DSS1 length are not included.
+ ...
+}
+
+TetraLocation ::= CHOICE
+ -- This optional parameter is not in use anymore, but is kept for backwards compatibility.
+{
+ ms-Loc [1] SEQUENCE
+ {
+ mcc [1] INTEGER (0..1023),
+ -- 10 bits EN 300 392-1 [40]
+ mnc [2] INTEGER (0..16383),
+ -- 14 bits EN 300 392-1 [40]
+ lai [3] INTEGER (0..65535),
+ -- 14 bits EN 300 392-1 [40]
+ ci [4] INTEGER OPTIONAL
+ },
+ ls-Loc [2] INTEGER
+}
+
+GSMLocation ::= CHOICE
+{
+ geoCoordinates [1] SEQUENCE
+ {
+ latitude [1] PrintableString (SIZE(7..10)),
+ -- format: XDDMMSS.SS
+ longitude [2] PrintableString (SIZE(8..11)),
+ -- format: XDDDMMSS.SS
+ mapDatum [3] MapDatum DEFAULT wGS84,
+ ...,
+ azimuth [4] INTEGER (0..359) OPTIONAL
+ -- The azimuth is the bearing, relative to true north
+ },
+ -- format: XDDDMMSS.SS
+ -- X : N(orth), S(outh), E(ast), W(est)
+ -- DD or DDD : degrees (numeric characters)
+ -- MM : minutes (numeric characters)
+ -- SS.SS : seconds, the second part (.SS) is optional
+ -- Example:
+ -- latitude short form N502312
+ -- longitude long form E1122312.18
+
+ utmCoordinates [2] SEQUENCE
+ {
+ utm-East [1] PrintableString (SIZE(10)),
+ utm-North [2] PrintableString (SIZE(7)),
+ -- Universal Transverse Mercator
+ -- example utm-East 32U0439955
+ -- utm-North 5540736
+ mapDatum [3] MapDatum DEFAULT wGS84,
+ ...,
+ azimuth [4] INTEGER (0..359) OPTIONAL
+ -- The azimuth is the bearing, relative to true north
+ },
+
+ utmRefCoordinates [3] SEQUENCE
+ {
+ utmref-string PrintableString (SIZE(13)),
+ mapDatum MapDatum DEFAULT wGS84,
+ ...
+ },
+ -- example 32UPU91294045
+
+ wGS84Coordinates [4] OCTET STRING
+ -- format is as defined in 3GPP TS 03.32 [57]
+}
+
+MapDatum ::= ENUMERATED
+{
+ wGS84,
+ -- World Geodetic System 1984
+ wGS72,
+ eD50,
+ -- European Datum 50
+ ...
+}
+
+UMTSLocation ::= CHOICE
+{
+ point [1] GA-Point,
+ pointWithUnCertainty [2] GA-PointWithUnCertainty,
+ polygon [3] GA-Polygon,
+ ...
+}
+
+GeographicalCoordinates ::= SEQUENCE
+{
+ latitudeSign ENUMERATED
+ {
+ north,
+ south
+ },
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ ...
+}
+
+GA-Point ::= SEQUENCE
+{
+ geographicalCoordinates GeographicalCoordinates,
+ ...
+}
+
+GA-PointWithUnCertainty ::=SEQUENCE
+{
+ geographicalCoordinates GeographicalCoordinates,
+ uncertaintyCode INTEGER (0..127)
+}
+
+maxNrOfPoints INTEGER ::= 15
+
+GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
+ SEQUENCE
+ {
+ geographicalCoordinates GeographicalCoordinates,
+ ...
+ }
+
+CallContentLinkCharacteristics ::= SEQUENCE
+{
+ cCLink-State [1] CCLink-State OPTIONAL,
+ -- current state of the CCLink
+ release-Time [2] TimeStamp OPTIONAL,
+ -- date and time of the release of the Call Content Link.
+ release-Reason [3] OCTET STRING (SIZE(2)) OPTIONAL,
+ -- Release cause coded in Q.850 [31] format
+ lEMF-Address [4] CalledPartyNumber OPTIONAL,
+ -- Directory number used to route the call toward the LEMF
+ ...
+}
+
+CCLink-State ::= ENUMERATED
+{
+ setUpInProcess(1),
+ -- The set-up of the call is in process
+ callActive(2),
+ callReleased(3),
+ lack-of-resource(4),
+ -- The lack-of-resource state is sent when a CC Link cannot
+ -- be established because of lack of resource at the MF level.
+ ...
+}
+
+Intercepted-Call-State ::= ENUMERATED
+{
+ idle(1),
+ -- When the intercept call is released, the state is IDLE and the reason is provided
+ -- by the release-Reason-Of-Intercepted-Call parameter.
+ setUpInProcess(2),
+ -- The set-up of the call is in process
+ connected(3),
+ -- The answer has been received
+ ...
+}
+
+Services-Information ::= SEQUENCE
+{
+ iSUP-parameters [1] ISUP-parameters OPTIONAL,
+ dSS1-parameters-codeset-0 [2] DSS1-parameters-codeset-0 OPTIONAL,
+ ...,
+ mAP-parameters [3] MAP-parameters OPTIONAL
+}
+
+ISUP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in
+ -- the previous parameters. The Tag value is the one given in EN 300 356 [5].
+
+ -- In version 1 of the present document "iSUP-parameters" is defined as mandatory.
+ -- It might occur that no ISUP parameter is available. In that case in a version 1
+ -- implementation the value "zero" may be included in the first octet string of the SET.
+
+ -- The Length and the Value are coded in accordance with the parameter definition in
+ -- EN 300 356 [5]. Hereafter are listed the main parameters.
+ -- However other parameters may be added:
+
+ -- Transmission medium requirement: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the "calling party".
+
+ -- Transmission medium requirement prime: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the "calling party".
+
+DSS1-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as
+ -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length
+ -- are included). Hereafter are listed the main parameters.
+ -- However other parameters may be added:
+
+ -- Bearer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6].
+ -- This parameter can be provided with the "Party Information" of the "calling party",
+ -- "called party" or "forwarded to party".
+
+ -- High Layer Compatibility: this parameter may be repeated. Format defined in EN 300 403-1 [6]
+ -- This parameter can be provided with the "Party Information" of the "calling party",
+ -- "called party" or "forwarded to party".
+
+ -- Low Layer capability: this parameter may be repeated. Format defined in EN 300 403-1 [6].
+ -- This parameter can be provided with the "Party Information" of the "calling party",
+ -- "called party" or "forwarded to party".
+
+MAP-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE(1..256))
+ -- Each "OCTET STRING" contains one MAP parameter. The parameter is coded as described in
+ -- TS GSM 09.02 [32] (The map-TS-Code is included).
+
+Supplementary-Services ::= SEQUENCE
+{
+ standard-Supplementary-Services [1] Standard-Supplementary-Services OPTIONAL,
+ non-Standard-Supplementary-Services [2] Non-Standard-Supplementary-Services OPTIONAL,
+ other-Services [3] Other-Services OPTIONAL,
+ ...
+}
+
+Standard-Supplementary-Services ::= SEQUENCE
+{
+ iSUP-SS-parameters [1] ISUP-SS-parameters OPTIONAL,
+ dSS1-SS-parameters-codeset-0 [2] DSS1-SS-parameters-codeset-0 OPTIONAL,
+ dSS1-SS-parameters-codeset-4 [3] DSS1-SS-parameters-codeset-4 OPTIONAL,
+ dSS1-SS-parameters-codeset-5 [4] DSS1-SS-parameters-codeset-5 OPTIONAL,
+ dSS1-SS-parameters-codeset-6 [5] DSS1-SS-parameters-codeset-6 OPTIONAL,
+ dSS1-SS-parameters-codeset-7 [6] DSS1-SS-parameters-codeset-7 OPTIONAL,
+ dSS1-SS-Invoke-components [7] DSS1-SS-Invoke-Components OPTIONAL,
+ mAP-SS-Parameters [8] MAP-SS-Parameters OPTIONAL,
+ mAP-SS-Invoke-Components [9] MAP-SS-Invoke-Components OPTIONAL,
+ ...
+}
+
+Non-Standard-Supplementary-Services ::= SET SIZE (1..20) OF CHOICE
+{
+ simpleIndication [1] SimpleIndication,
+ sciData [2] SciDataMode,
+ ...
+}
+
+Other-Services ::= SET SIZE (1..50) OF OCTET STRING (SIZE (1..256))
+ -- Reference manufacturer manuals.
+
+ISUP-SS-parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- It must be noticed this parameter is retained for compatibility reasons.
+ -- It is recommended not to use it in new work but to use ISUP-parameters parameter.
+
+ -- Each "OCTET STRING" contains one additional ISUP parameter TLV coded not already defined in
+ -- the previous parameters. The Tag value is the one given in EN 300 356 [5].
+ -- The Length and the Value are coded in accordance with the parameter definition in
+ -- EN 300 356 [5]. Hereafter are listed the main parameters.
+ -- However other parameters may be added:
+
+ -- Connected Number: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the
+ -- "called party" or "forwarded to party".
+
+ -- RedirectingNumber: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the "originating party"
+ -- or/and of the “terminating partyâ€.
+
+ -- Original Called Party Number: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the "originating party".
+
+ -- Redirection information: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the
+ -- "originating party", "forwarded to party" or/and "Terminating party".
+
+ -- Redirection Number: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the
+ -- "forwarded to party" or "Terminating party".
+
+ -- Call diversion information: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the
+ -- "forwarded to party" or "Terminating party".
+
+ -- Generic Number: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the
+ -- "calling party", "called party" or "forwarded to party".
+ -- This parameters are used to transmit additional identities (additional, calling party
+ -- number, additional called number, etc.).
+
+ -- Generic Notification: format defined in EN 300 356 [5].
+ -- This parameter may be provided with the "Party Information" of the
+ -- "calling party", "called party" or "forwarded to party".
+ -- This parameters transmit the notification to the other part of the call of the supplementary
+ -- services activated or invoked by a subscriber during the call.
+
+ -- CUG Interlock Code: format defined in EN 300 356 [5].
+ -- This parameter can be provided with the "Party Information" of the "calling party".
+
+DSS1-SS-parameters-codeset-0 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-0. The parameter is coded as
+ -- described in EN 300 403-1 [6] (The DSS1 Information element identifier and the DSS1 length
+ -- are included). Hereafter are listed the main parameters.
+ -- However other parameters may be added:
+
+ -- Calling Party Subaddress: format defined in EN 300 403-1 [6].
+ -- This parameter can be provided with the "Party Information" of the "calling party".
+
+ -- Called Party Subaddress: format defined in EN 300 403-1 [6].
+ -- This parameter can be provided with the "Party Information" of the "calling party".
+
+ -- Connected Subaddress: format defined in recommendation (see EN 300 097-1 [14]).
+ -- This parameter can be provided with the "Party Information" of the
+ -- "called party" or "forwarded to party".
+
+ -- Connected Number: format defined in recommendation (see EN 300 097-1 [14]).
+ -- This parameter can be provided with the "Party Information" of the
+ -- "called party" or "forwarded to party".
+
+ -- Keypad facility: format defined in EN 300 403-1 [6].
+ -- This parameter can be provided with the "Party Information" of the
+ -- "calling party", "called party" or "forwarded to party".
+
+ -- Called Party Number: format defined in EN 300 403-1 [6].
+ -- This parameter could be provided with the "Party Information" of the "calling party"
+ -- when target is the originating party; it contains the dialled digits before modification
+ -- at network level (e.g. IN interaction, translation, etc …).
+
+ -- User-user: format defined in EN 300 286-1 [23]).
+ -- This parameter can be provided with the "Party Information" of the
+ -- "calling party", "called party" or "forwarded to party".
+
+DSS1-SS-parameters-codeset-4 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-4. The parameter is coded as
+ -- described in the relevant recommendation.
+
+DSS1-SS-parameters-codeset-5 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-5. The parameter is coded as
+ -- described in the relevant national recommendation.
+
+DSS1-SS-parameters-codeset-6 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "OCTET STRING" contains one DSS1 parameter of the codeset-6. The parameter is coded as
+ -- described in the relevant local network recommendation.
+
+DSS1-SS-parameters-codeset-7 ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "octet string" contains one DSS1 parameter of the codeset-7. The parameter is coded as
+ -- described in the relevant user specific recommendation.
+
+DSS1-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "octet string" contains one DSS1 Invoke or Return Result component.
+ -- The invoke or return result component is coded as
+ -- described in the relevant DSS1 supplementary service recommendation.
+
+ -- Invoke or Return Result component (BeginCONF): EN 300 185-1 [19]
+ -- Invoke or Return Result component (AddCONF): EN 300 185-1 [19]
+ -- Invoke or Return Result component (SplitCONF): EN 300 185-1 [19]
+ -- Invoke or Return Result component (DropCONF): EN 300 185-1 [19]
+ -- Invoke or Return Result component (IsolateCONF): EN 300 185-1 [19]
+ -- Invoke or Return Result component (ReattachCONF): EN 300 185-1 [19]
+ -- Invoke or Return Result component (PartyDISC): EN 300 185-1 [19]
+ -- Invoke or Return Result component (MCIDRequest): EN 300 130-1 [16]
+ -- Invoke or Return Result component (Begin3PTY): EN 300 188-1 [20]
+ -- Invoke or Return Result component (End3PTY): EN 300 188-1 [20]
+ -- Invoke or Return Result component (ECTExecute): EN 300 369-1 [25]
+ -- Invoke or Return Result component (ECTInform): EN 300 369-1 [25]
+ -- Invoke or Return Result component (ECTLinkIdRequest): EN 300 369-1 [25]
+ -- Invoke or Return Result component (ECTLoopTest): EN 300 369-1 [25]
+ -- Invoke or Return Result component (ExplicitECTExecute): EN 300 369-1 [25]
+ -- Invoke or Return Result component (ECT: RequestSubaddress): EN 300 369-1 [25]
+ -- Invoke or Return Result component (ECT: SubaddressTransfer): EN 300 369-1 [25]
+ -- Invoke or Return Result component (CF: ActivationDiversion): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: DeactivationDiversion): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: ActivationStatusNotification): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: DeactivationStatusNotification): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: InterrogationDiversion): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: InterrogationServedUserNumber): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: DiversionInformation): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: CallDeflection): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: CallRerouteing): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: DivertingLegInformation1): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: DivertingLegInformation2): EN 300 207-1 [21]
+ -- Invoke or Return Result component (CF: DivertingLegInformation3): EN 300 207-1 [21]
+ -- other invoke or return result components ...
+
+MAP-SS-Invoke-Components ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "octet string" contains one MAP Invoke or Return Result component.
+ -- The invoke or return result component is coded as
+ -- described in the relevant MAP supplementary service recommendation.
+
+MAP-SS-Parameters ::= SET SIZE (1..256) OF OCTET STRING (SIZE (1..256))
+ -- Each "octet string" contains one MAP Parameter. The parameter is coded as
+ -- described in the relevant MAP supplementary service recommendation.
+
+SimpleIndication ::= ENUMERATED
+{
+ call-Waiting-Indication(0),
+ -- The target has received a call waiting indication for this call
+ add-conf-Indication(1),
+ -- this call has been added to a conference
+ call-on-hold-Indication(2),
+ -- indication that this call is on hold
+ retrieve-Indication(3),
+ -- indication that this call has been retrieved
+ suspend-Indication(4),
+ -- indication that this call has been suspended
+ resume-Indication(5),
+ -- indication that this call has been resumed
+ answer-Indication(6),
+ -- indication that this call has been answered
+ ...
+}
+
+SciDataMode ::= OCTET STRING (SIZE (1..256))
+
+SMS-report ::= SEQUENCE
+{
+ communicationIdentifier [1] CommunicationIdentifier,
+ -- used to uniquely identify an intercepted call: the same used for the
+ -- relevant IRI
+ -- Called "callIdentifier" in V1.1.1 of ES 201 671 [i.5]
+ timeStamp [2] TimeStamp,
+ -- date and time of the report. The format is
+ -- the one defined in case a) of the ASN.1 ITU-T Recommendation X.680 [33].
+ -- (year month day hour minutes seconds)
+ sMS-Contents [3] SEQUENCE
+ {
+ initiator [1] ENUMERATED
+ {
+ -- party which sent the SMS
+ target(0),
+ server(1),
+ undefined-party(2),
+ ...
+ },
+ transfer-status [2] ENUMERATED
+ {
+ succeed-transfer(0),
+ --the transfer of the SMS message succeeds
+ not-succeed-transfer(1),
+ undefined(2),
+ ...
+ } OPTIONAL,
+ other-message [3] ENUMERATED
+ {
+ -- In case of terminating call, indicates if the server will send other SMS.
+ yes(0),
+ no(1),
+ undefined(2),
+ ...
+ } OPTIONAL,
+ content [4] OCTET STRING (SIZE (1..270)) OPTIONAL,
+ -- Encoded in the format defined for the SMS mobile.
+ -- The content and enhancedContent fields are mutually exclusive.
+ -- The content field is dedicated for 3GPP purposes.
+ ...,
+ enhancedContent [5] SEQUENCE
+ {
+ content [1] OCTET STRING,
+ -- The character encoding used in the content field is specified in the
+ -- character-encoding field.
+ character-encoding [2] ENUMERATED
+ {
+ gsm-7-bit-ascii(0),
+ eight-bit-ascii(1),
+ eight-bit-binary(2),
+ ucs-2(3),
+ utf-8(4),
+ utf-16(5),
+ other(6),
+ ...
+ }
+ } OPTIONAL
+ }
+}
+
+LawfulInterceptionIdentifier ::= OCTET STRING (SIZE (1..25))
+ -- It is recommended to use ASCII characters in "a"…"z", "A"…"Z", "-", "_", ".", and "0"…"9".
+ -- For subaddress option only "0"..."9" shall be used.
+
+National-Parameters ::= SET SIZE (1..40) OF OCTET STRING (SIZE (1..256))
+ -- Content defined by national law.
+
+GPRSCorrelationNumber ::= OCTET STRING (SIZE(8..20))
+
+GPRSEvent ::= ENUMERATED
+ -- see 3GPP TS 03.33 [42]
+{
+ pDPContextActivation(1),
+ startOfInterceptionWithPDPContextActive(2),
+ pDPContextDeactivation(4),
+ gPRSAttach(5),
+ gPRSDetach(6),
+ cellOrRAUpdate(10),
+ sMS(11),
+ ...,
+ pDPContextModification(13),
+ endOfInterceptionWithPDPContextActive(14),
+ startOfInterceptionWithMSAttached (15),
+ packetDataHeaderInformation (16) , hSS-Subscriber-Record-Change (17),
+ registration-Termination (18),
+ -- FFS
+ location-Up-Date (19),
+ -- FFS
+ cancel-Location (20),
+ register-Location (21),
+ location-Information-Request (22)
+}
+
+Services-Data-Information ::= SEQUENCE
+{
+ gPRS-parameters [1] GPRS-parameters OPTIONAL,
+ ...
+}
+
+DataNodeAddress ::= CHOICE
+{
+ ipAddress [1] IPAddress,
+ x25Address [2] X25Address,
+ ...
+}
+
+IPAddress ::= SEQUENCE
+{
+ iP-type [1] ENUMERATED
+ {
+ iPV4(0),
+ iPV6(1),
+ ...
+ },
+ iP-value [2] IP-value,
+ iP-assignment [3] ENUMERATED
+ {
+ static(1),
+ -- The static coding shall be used to report a static address.
+ dynamic(2),
+ -- The dynamic coding shall be used to report a dynamically allocated address.
+ notKnown(3),
+ -- The notKnown coding shall be used to report other then static or dynamically
+ -- allocated IP addresses.
+ ...
+ } OPTIONAL,
+ ...,
+ iPv6PrefixLength [4] INTEGER (1..128) OPTIONAL,
+ -- Indicates the length of the prefix delegated by the CSP to the subscriber
+ -- example: 60 if IP address is “2001:db8:0:85a3::ac1f:8001/60â€
+ -- Mandatory in case where the iP-value contains an IPv6 binary value
+ iPv4SubnetMask [5] OCTET STRING (SIZE(4)) OPTIONAL
+ -- For IPv4 addresses, this indicates the subnetmask to be applied to the iP-value field.
+ -- The subnet mask is intended to be presented as a binary value, e.g. "ff ff ff f8" to
+ -- represent the dotted-decimal subnet mask of "255.255.255.248" corresponding to
+ -- a /29 CIDR-format subnet mask
+}
+
+IP-value ::= CHOICE
+{
+ iPBinaryAddress [1] OCTET STRING (SIZE(4..16)),
+ -- In case of IPv6, the Prefix Length is provided by the "iPv6PrefixLength"
+ -- In case of IPv4, the netmask is provided by the "iPv4SubnetMask"
+ iPTextAddress [2] IA5String (SIZE(7..45)),
+ -- In case of IPv6, the delivered iPTextAddress field could include a complete
+ -- single IPv6-Address or an IPv6-Prefix for a subnetwork on the target side.
+ -- In case of IPv4, the delivered iPTextAddress field could include a single
+ -- IPv4 address or an IPv4address/netmask, for example "192.168.1.1" or "192.168.1.1/24"
+ ...
+}
+
+X25Address ::= OCTET STRING (SIZE(1..25))
+
+National-HI2-ASN1parameters ::= SEQUENCE
+{
+ countryCode [1] PrintableString (SIZE (2)),
+ -- Country Code according to ISO 3166-1 [67],
+ -- the country to which the parameters inserted after the extension marker apply.
+ ...
+ -- In case a given country wants to use additional national parameters according to its law,
+ -- these national parameters should be defined using the ASN.1 syntax and added after the
+ -- extension marker (...).
+ -- It is recommended that "version parameter" and "vendor identification parameter" are
+ -- included in the national parameters definition. Vendor identifications can be
+ -- retrieved from the IANA web site (see annex K). Besides, it is recommended to avoid
+ -- using tags from 240 to 255 in a formal type definition.
+}
+
+END -- end of HI2Operations
diff --git a/epan/dissectors/asn1/HI2Operations/HI3CCLinkData.asn b/epan/dissectors/asn1/HI2Operations/HI3CCLinkData.asn
new file mode 100644
index 00000000..2588543a
--- /dev/null
+++ b/epan/dissectors/asn1/HI2Operations/HI3CCLinkData.asn
@@ -0,0 +1,68 @@
+HI3CCLinkData
+{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi3(2) cclinkLI(4) version4(4)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS
+ -- from clause D.5
+ LawfulInterceptionIdentifier,
+ CommunicationIdentifier,
+ CC-Link-Identifier
+ FROM HI2Operations
+ {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version8(8)};
+
+-- =============================
+-- Object Identifier Definitions
+-- =============================
+
+-- LawfulIntercept DomainId
+-- WS Allready in HI2... lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)}
+
+-- hi3 Domain
+hi3CCLinkId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId hi3(2) ccLinkLI(4)}
+hi3CCLinkIdOperationId OBJECT IDENTIFIER ::= {hi3CCLinkId version4(4)}
+
+UUS1-Content ::= SEQUENCE
+{
+ domainID [0] OBJECT IDENTIFIER (hi3CCLinkIdOperationId) OPTIONAL,
+ -- Once using FTP delivery mechanism
+ lawfullInterceptionIdentifier [1] LawfulInterceptionIdentifier,
+ communicationIdentifier [2] CommunicationIdentifier,
+ cC-Link-Identifier [3] CC-Link-Identifier OPTIONAL,
+ direction-Indication [4] Direction-Indication,
+ bearer-capability [5] OCTET STRING (SIZE(1..12)) OPTIONAL,
+ -- transport the Bearer capability information element (value part)
+ -- Protocol: EN 300 403-1 [6]
+ service-Information [7] Service-Information OPTIONAL,
+ ...
+}
+
+-- ==================
+-- PARAMETERS FORMATS
+-- ==================
+
+Direction-Indication ::= ENUMERATED
+{
+ mono-mode(0),
+ cc-from-target(1),
+ cc-from-other-party(2),
+ ...,
+ direction-unknown(3)
+}
+
+Service-Information ::= SET
+{
+ high-layer-capability [0] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- HLC (octet 4 only)
+ -- Protocol: EN 300 403-1 [6]
+ tMR [1] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- Transmission Medium Requirement
+ -- Protocol: ISUP EN 300 356 [5]
+ bearerServiceCode [2] OCTET STRING (SIZE(1)) OPTIONAL,
+ teleServiceCode [3] OCTET STRING (SIZE(1)) OPTIONAL
+ -- from MAP, TS GSM 09.02 [32], clause 14.7.9 and clause 14.7.10
+}
+
+END -- end of HI3CCLinkData
diff --git a/epan/dissectors/asn1/HI2Operations/UmtsHI2Operations.asn b/epan/dissectors/asn1/HI2Operations/UmtsHI2Operations.asn
new file mode 100644
index 00000000..f8645c6e
--- /dev/null
+++ b/epan/dissectors/asn1/HI2Operations/UmtsHI2Operations.asn
@@ -0,0 +1,139 @@
+--- WS Modified UmtsHI2Operations just containing the imported defines
+---
+
+UmtsHI2Operations {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2)
+threeGPP(4) hi2(1) r16 (16) version-1 (1)}
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+IMPORTS
+ LawfulInterceptionIdentifier,
+ TimeStamp,
+ Network-Identifier,
+ National-Parameters,
+ National-HI2-ASN1parameters,
+ DataNodeAddress,
+ IPAddress,
+ IP-value,
+ X25Address
+ FROM HI2Operations
+ {itu-t(0) identified-organization(4) etsi(0) securityDomain(2)
+ lawfulIntercept(2) hi2(1) version18(18)}; -- Imported from TS 101 671 v3.14.1
+
+CivicAddress ::= CHOICE {
+ detailedCivicAddress SET OF DetailedCivicAddress,
+ xmlCivicAddress XmlCivicAddress,
+ ...
+}
+XmlCivicAddress ::= UTF8String
+ -- Must conform to the February 2008 version of the XML format on the representation of
+ -- civic location described in IETF RFC 5139[72].
+DetailedCivicAddress ::= SEQUENCE {
+ building [1] UTF8String OPTIONAL,
+ -- Building (structure), for example Hope Theatre
+ room [2] UTF8String OPTIONAL,
+ -- Unit (apartment, suite), for example 12a
+ placeType [3] UTF8String OPTIONAL,
+ -- Place-type, for example office
+ postalCommunityName [4] UTF8String OPTIONAL,
+ -- Postal Community Name, for example Leonia
+ additionalCode [5] UTF8String OPTIONAL,
+ -- Additional Code, for example 13203000003
+ seat [6] UTF8String OPTIONAL,
+ -- Seat, desk, or cubicle, workstation, for example WS 181
+ primaryRoad [7] UTF8String OPTIONAL,
+ -- RD is the primary road name, for example Broadway
+ primaryRoadDirection [8] UTF8String OPTIONAL,
+ -- PRD is the leading road direction, for example N or North
+ trailingStreetSuffix [9] UTF8String OPTIONAL,
+ -- POD or trailing street suffix, for example SW or South West
+ streetSuffix [10] UTF8String OPTIONAL,
+ -- Street suffix or type, for example Avenue or Platz or Road
+ houseNumber [11] UTF8String OPTIONAL,
+ -- House number, for example 123
+ houseNumberSuffix [12] UTF8String OPTIONAL,
+ -- House number suffix, for example A or Ter
+ landmarkAddress [13] UTF8String OPTIONAL,
+ -- Landmark or vanity address, for example Columbia University
+ additionalLocation [114] UTF8String OPTIONAL,
+ -- Additional location, for example South Wing
+ name [15] UTF8String OPTIONAL,
+ -- Residence and office occupant, for example Joe's Barbershop
+ floor [16] UTF8String OPTIONAL,
+ -- Floor, for example 4th floor
+ primaryStreet [17] UTF8String OPTIONAL,
+ -- Primary street name, for example Broadway
+ primaryStreetDirection [18] UTF8String OPTIONAL,
+ -- PSD is the leading street direction, for example N or North
+ roadSection [19] UTF8String OPTIONAL,
+ -- Road section, for example 14
+ roadBranch [20] UTF8String OPTIONAL,
+ -- Road branch, for example Lane 7
+ roadSubBranch [21] UTF8String OPTIONAL,
+ -- Road sub-branch, for example Alley 8
+ roadPreModifier [22] UTF8String OPTIONAL,
+ -- Road pre-modifier, for example Old
+ roadPostModifier [23] UTF8String OPTIONAL,
+ -- Road post-modifier, for example Extended
+ postalCode [24]UTF8String OPTIONAL,
+ -- Postal/zip code, for example 10027-1234
+ town [25] UTF8String OPTIONAL,
+ county [26] UTF8String OPTIONAL,
+ -- An administrative sub-section, often defined in ISO.3166-2[74] International
+ -- Organization for Standardization, "Codes for the representation of names of
+ -- countries and their subdivisions - Part 2: Country subdivision code"
+ country [27] UTF8String,
+ -- Defined in ISO.3166-1 [39] International Organization for Standardization, "Codes for
+ -- the representation of names of countries and their subdivisions - Part 1: Country
+ -- codes". Such definition is not optional in case of civic address. It is the
+ -- minimum information needed to qualify and describe a civic address, when a
+ -- regulation of a specific country requires such information
+ language [28] UTF8String,
+ -- Language defined in the IANA registry according to the assignments found
+ -- in the standard ISO 639 Part 1, "ISO 639-1:2002[75], Codes for the representation of
+ -- names of languages - Part 1: Alpha-2 code" or using assignments subsequently made
+ -- by the ISO 639 Part 1 maintenance agency
+ ...
+}
+
+-- LALS extended location parameters are mapped from the MLP pos element parameters
+-- and attributes defined in [88]. For details see specific [88] clauses refered below.
+ExtendedLocParameters ::= SEQUENCE
+{
+ posMethod [0] PrintableString OPTIONAL, -- clause 5.3.93.1
+ mapData [1] -- clause 5.2.2.3
+ CHOICE {base64Map [0] PrintableString, -- clause 5.3.12
+ url [1] PrintableString -- clause 5.3.138
+ } OPTIONAL,
+ altitude [2]
+ SEQUENCE {alt PrintableString, -- clause 5.3.5
+ alt-uncertainty PrintableString OPTIONAL -- clause 5.3.7
+ } OPTIONAL,
+ speed [3] PrintableString OPTIONAL, -- clause 5.3.119
+ direction [4] PrintableString OPTIONAL, -- clause 5.3.26
+ level-conf [5] PrintableString OPTIONAL, -- clause 5.3.24
+ qOS-not-met [6] BOOLEAN OPTIONAL, -- clause 5.3.97
+ motionStateList [7] -- clause 5.2.2.3
+ SEQUENCE {primaryMotionState [0] PrintableString, -- clause 5.3.69
+ secondaryMotionState [1] SEQUENCE OF PrintableString OPTIONAL,
+ confidence [2] PrintableString -- clause 5.3.24
+ } OPTIONAL,
+ floor [8]
+ SEQUENCE {floor-number PrintableString, -- clause 5.3.39
+ floor-number-uncertainty PrintableString OPTIONAL
+ -- clause 5.3.40
+ } OPTIONAL,
+ additional-info [9] PrintableString OPTIONAL, -- clause 5.3.1
+-- The following parameter contains a copy of the unparsed XML code of
+-- MLP response message, i.e. the entire XML document containing
+-- a <slia> (described in [88], clause 5.2.3.2.2) or
+-- a <slirep> (described in [88], clause 5.2.3.2.3) MLP message.
+-- This parameter is present when the LI-LCS client cannot fully map
+-- the MLP response message into an ASN.1 Location object.
+
+ lALS-rawMLPPosData [10] UTF8String OPTIONAL,
+ ...
+}
+LocationErrorCode ::= INTEGER (1..699)
+-- LALS location error codes are the OMA MLP result identifiers defined in [88], Clause 5.4
+
+END -- OF UmtsHI2Operations
diff --git a/epan/dissectors/asn1/HI2Operations/packet-HI2Operations-template.c b/epan/dissectors/asn1/HI2Operations/packet-HI2Operations-template.c
new file mode 100644
index 00000000..9b82c45f
--- /dev/null
+++ b/epan/dissectors/asn1/HI2Operations/packet-HI2Operations-template.c
@@ -0,0 +1,74 @@
+/* packet-HI2Operations.c
+ * Routines for HI2 (ETSI TS 101 671 V3.15.1 (2018-06))
+ * Erwin van Eijk 2010
+ * Joakim Karlsson 2023
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-isup.h"
+#include "packet-q931.h"
+
+#define PNAME "HI2Operations"
+#define PSNAME "HI2OPERATIONS"
+#define PFNAME "HI2operations"
+
+void proto_register_HI2Operations(void);
+void proto_reg_handoff_HI2Operations(void);
+
+/* Initialize the protocol and registered fields */
+int proto_HI2Operations = -1;
+#include "packet-HI2Operations-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-HI2Operations-ett.c"
+
+#include "packet-HI2Operations-fn.c"
+
+
+/*--- proto_register_HI2Operations ----------------------------------------------*/
+void proto_register_HI2Operations(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-HI2Operations-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-HI2Operations-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_HI2Operations = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_HI2Operations, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ register_dissector("HI2Operations", dissect_IRIsContent_PDU, proto_HI2Operations);
+
+
+}
+
+
+/*--- proto_reg_handoff_HI2Operations -------------------------------------------*/
+void proto_reg_handoff_HI2Operations(void) {
+
+ heur_dissector_add("q931_user", dissect_UUS1_Content_PDU, "HI3CCLinkData", "hi3cclinkdata",
+ proto_HI2Operations, HEURISTIC_ENABLE);
+
+}
+
diff --git a/epan/dissectors/asn1/acp133/CMakeLists.txt b/epan/dissectors/asn1/acp133/CMakeLists.txt
new file mode 100644
index 00000000..7f4dff3e
--- /dev/null
+++ b/epan/dissectors/asn1/acp133/CMakeLists.txt
@@ -0,0 +1,44 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME acp133 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+ MHSDirectoryObjectsAndAttributes.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/acp133/MHSDirectoryObjectsAndAttributes.asn b/epan/dissectors/asn1/acp133/MHSDirectoryObjectsAndAttributes.asn
new file mode 100644
index 00000000..4bf0e5eb
--- /dev/null
+++ b/epan/dissectors/asn1/acp133/MHSDirectoryObjectsAndAttributes.asn
@@ -0,0 +1,433 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x402/1999/index.html
+-- Module MHSDirectoryObjectsAndAttributes (X.402:06/1999)
+MHSDirectoryObjectsAndAttributes {joint-iso-itu-t mhs(6) arch(5) modules(0)
+ directory(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS
+ -- MHS Object Identifiers
+ id-at-mhs-acceptable-eits, id-at-mhs-deliverable-classes,
+ id-at-mhs-deliverable-content-types, id-at-mhs-dl-archive-service,
+ id-at-mhs-dl-members, id-at-mhs-dl-policy, id-at-mhs-dl-related-lists,
+ id-at-mhs-dl-submit-permissions, id-at-mhs-dl-subscription-service,
+ id-at-mhs-exclusively-acceptable-eits, id-at-mhs-maximum-content-length,
+ id-at-mhs-message-store-dn, id-at-mhs-or-addresses,
+ id-at-mhs-or-addresses-with-capabilities, id-at-mhs-supported-attributes,
+ id-at-mhs-supported-automatic-actions, id-at-mhs-supported-content-types,
+ id-at-mhs-supported-matching-rules, id-at-mhs-unacceptable-eits,
+ id-con-dl-administrator-annotation, id-con-dl-nested-dl,
+ id-con-dl-reset-originator, id-mr-address-capabilities-match,
+ id-mr-capability-match, id-mr-orname-exact-match,
+ id-oc-mhs-distribution-list, id-oc-mhs-message-store,
+ id-oc-mhs-message-transfer-agent, id-oc-mhs-user, id-oc-mhs-user-agent,
+ id-san-mta-name
+ --==
+ FROM MHSObjectIdentifiers {joint-iso-itu-t mhs(6) arch(5) modules(0)
+ object-identifiers(0) version-1999(1)}
+ -- MTS Abstract Service
+ ContentLength, EncodedInformationTypesConstraints, ExtendedContentType,
+ ExtendedEncodedInformationType, GlobalDomainIdentifier, MTAName,
+ ORAddress, ORName, RequestedDeliveryMethod, SecurityContext
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- MS Abstract Service
+ AUTO-ACTION
+ --==
+ FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ abstract-service(1) version-1999(1)}
+ -- MS General Attribute Types
+ X413ATTRIBUTE, AttributeTable
+ --==
+ FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-attribute-types(2) version-1999(1)}
+ -- MS General Auto Action Types
+ AutoActionTable
+ --==
+ FROM MSGeneralAutoActionTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-auto-action-types(3) version-1994(0)}
+ -- MS Matching Rules
+ MatchingRuleTable, oRAddressMatch, oRAddressElementsMatch,
+ oRAddressSubstringElementsMatch, oRNameMatch, oRNameElementsMatch,
+ oRNameSingleElementMatch, oRNameSubstringElementsMatch
+ --==
+ FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-matching-rules(5) version-1999(1)}
+ -- Information Framework
+ ATTRIBUTE, CONTEXT, distinguishedNameMatch, DIT-CONTEXT-USE-RULE,
+ objectIdentifierMatch, MATCHING-RULE, Name, OBJECT-CLASS, top
+ --==
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 3}
+ -- Selected Object Classes
+ applicationEntity
+ --==
+ FROM SelectedObjectClasses {joint-iso-itu-t ds(5) module(1)
+ selectedObjectClasses(6) 3}
+ -- Selected Attribute Types
+ commonName, description, distinguishedName, integerMatch, organizationName,
+ organizationalUnitName, owner, protocolInformation, seeAlso
+ --==
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 3}
+ -- Authentication Framework
+ AlgorithmIdentifier
+ --==
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3}
+ -- Certificate Extensions
+ CertificateAssertion, OTHER-NAME
+ --==
+ FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
+ certificateExtensions(26) 0};
+
+-- OBJECT CLASSES
+-- MHS Distribution List
+mhs-distribution-list OBJECT-CLASS ::= {
+ SUBCLASS OF {top}
+ MUST CONTAIN {commonName | mhs-dl-submit-permissions | mhs-or-addresses}
+ MAY CONTAIN
+ {description | organizationName | organizationalUnitName | owner | seeAlso
+ | mhs-maximum-content-length | mhs-deliverable-content-types |
+ mhs-acceptable-eits | mhs-exclusively-acceptable-eits |
+ mhs-unacceptable-eits | mhs-dl-policy | mhs-dl-subscription-service |
+ mhs-dl-archive-service | mhs-dl-related-lists | mhs-dl-members}
+ ID id-oc-mhs-distribution-list
+}
+
+-- MHS Message Store
+mhs-message-store OBJECT-CLASS ::= {
+ SUBCLASS OF {applicationEntity}
+ MAY CONTAIN
+ {owner | mhs-supported-attributes | mhs-supported-automatic-actions |
+ mhs-supported-matching-rules | mhs-supported-content-types |
+ protocolInformation}
+ ID id-oc-mhs-message-store
+}
+
+-- MHS Message Transfer Agent
+mhs-message-transfer-agent OBJECT-CLASS ::= {
+ SUBCLASS OF {applicationEntity}
+ MAY CONTAIN {owner | mhs-maximum-content-length | protocolInformation}
+ ID id-oc-mhs-message-transfer-agent
+}
+
+-- MHS User
+mhs-user OBJECT-CLASS ::= {
+ SUBCLASS OF {top}
+ KIND auxiliary
+ MUST CONTAIN {mhs-or-addresses}
+ MAY CONTAIN
+ {mhs-maximum-content-length | mhs-deliverable-content-types |
+ mhs-acceptable-eits | mhs-exclusively-acceptable-eits |
+ mhs-unacceptable-eits | mhs-or-addresses-with-capabilities |
+ mhs-message-store-dn}
+ ID id-oc-mhs-user
+}
+
+-- MHS User Agent
+mhs-user-agent OBJECT-CLASS ::= {
+ SUBCLASS OF {applicationEntity}
+ MAY CONTAIN
+ {owner | mhs-maximum-content-length | mhs-deliverable-content-types |
+ mhs-acceptable-eits | mhs-exclusively-acceptable-eits |
+ mhs-unacceptable-eits | mhs-deliverable-classes | mhs-or-addresses |
+ protocolInformation}
+ ID id-oc-mhs-user-agent
+}
+
+-- ATTRIBUTES
+-- MHS Acceptable EITs
+mhs-acceptable-eits ATTRIBUTE ::= {
+ WITH SYNTAX ExtendedEncodedInformationType
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-mhs-acceptable-eits
+}
+
+-- MHS Deliverable Classes
+mhs-deliverable-classes ATTRIBUTE ::= {
+ WITH SYNTAX Capability
+ EQUALITY MATCHING RULE capabilityMatch
+ ID id-at-mhs-deliverable-classes
+}
+
+-- MHS Deliverable Content Types
+mhs-deliverable-content-types ATTRIBUTE ::= {
+ WITH SYNTAX ExtendedContentType
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-mhs-deliverable-content-types
+}
+
+-- MHS DL Archive Service
+mhs-dl-archive-service ATTRIBUTE ::= {
+ WITH SYNTAX ORName
+ EQUALITY MATCHING RULE oRNameExactMatch
+ -- EXTENSIBLE MATCHING RULE { oRNameMatch | oRNameElementsMatch |
+ -- oRNameSubstringElementsMatch | oRNameSingleElementMatch }
+ ID id-at-mhs-dl-archive-service
+}
+
+-- MHS DL Members
+mhs-dl-members ATTRIBUTE ::= {
+ WITH SYNTAX ORName
+ EQUALITY MATCHING RULE oRNameExactMatch
+ -- EXTENSIBLE MATCHING RULE { oRNameMatch | oRNameElementsMatch |
+ -- oRNameSubstringElementsMatch | oRNameSingleElementMatch }
+ ID id-at-mhs-dl-members
+}
+
+-- MHS DL Policy
+mhs-dl-policy ATTRIBUTE ::= {
+ WITH SYNTAX DLPolicy
+ SINGLE VALUE TRUE
+ ID id-at-mhs-dl-policy
+}
+
+-- MHS DL Related Lists
+mhs-dl-related-lists ATTRIBUTE ::= {
+ SUBTYPE OF distinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ ID id-at-mhs-dl-related-lists
+}
+
+-- MHS DL Submit Permissions
+mhs-dl-submit-permissions ATTRIBUTE ::= {
+ WITH SYNTAX DLSubmitPermission
+ ID id-at-mhs-dl-submit-permissions
+}
+
+-- MHS DL Subscription Service
+mhs-dl-subscription-service ATTRIBUTE ::= {
+ WITH SYNTAX ORName
+ EQUALITY MATCHING RULE oRNameExactMatch
+ -- EXTENSIBLE MATCHING RULE { oRNameMatch | oRNameElementsMatch |
+ -- oRNameSubstringElementsMatch | oRNameSingleElementMatch }
+ ID id-at-mhs-dl-subscription-service
+}
+
+-- MHS Exclusively Acceptable EITs
+mhs-exclusively-acceptable-eits ATTRIBUTE ::= {
+ WITH SYNTAX ExtendedEncodedInformationType
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-mhs-exclusively-acceptable-eits
+}
+
+-- MHS Maximum Content Length
+mhs-maximum-content-length ATTRIBUTE ::= {
+ WITH SYNTAX ContentLength
+ EQUALITY MATCHING RULE integerMatch
+ SINGLE VALUE TRUE
+ ID id-at-mhs-maximum-content-length
+}
+
+-- MHS Message Store Directory Name
+mhs-message-store-dn ATTRIBUTE ::= {
+ SUBTYPE OF distinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ SINGLE VALUE TRUE
+ ID id-at-mhs-message-store-dn
+}
+
+-- MHS OR-Addresses
+mhs-or-addresses ATTRIBUTE ::= {
+ WITH SYNTAX ORAddress
+ EQUALITY MATCHING RULE oRAddressMatch
+ -- EXTENSIBLE MATCHING RULE { oRAddressElementsMatch | oRNameSingleElementMatch |
+ -- oRAddressSubstringElementsMatch }
+ ID id-at-mhs-or-addresses
+}
+
+-- MHS OR-Addresses with Capabilities
+mhs-or-addresses-with-capabilities ATTRIBUTE ::= {
+ WITH SYNTAX AddressCapabilities
+ EQUALITY MATCHING RULE addressCapabilitiesMatch
+ ID id-at-mhs-or-addresses-with-capabilities
+}
+
+-- MHS Supported Attributes
+mhs-supported-attributes ATTRIBUTE ::= {
+ WITH SYNTAX X413ATTRIBUTE.&id({AttributeTable})
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-mhs-supported-attributes
+}
+
+-- MHS Supported Automatic Actions
+mhs-supported-automatic-actions ATTRIBUTE ::= {
+ WITH SYNTAX AUTO-ACTION.&id({AutoActionTable})
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-mhs-supported-automatic-actions
+}
+
+-- MHS Supported Content Types
+mhs-supported-content-types ATTRIBUTE ::= {
+ WITH SYNTAX ExtendedContentType
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-mhs-supported-content-types
+}
+
+-- MHS Supported Matching Rules
+mhs-supported-matching-rules ATTRIBUTE ::= {
+ WITH SYNTAX MATCHING-RULE.&id({MatchingRuleTable})
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-mhs-supported-matching-rules
+}
+
+-- MHS Unacceptable EITs
+mhs-unacceptable-eits ATTRIBUTE ::= {
+ WITH SYNTAX ExtendedEncodedInformationType
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-mhs-unacceptable-eits
+}
+
+-- ATTRIBUTE SYNTAXES
+-- DL Submit Permission
+DLSubmitPermission ::= CHOICE {
+ individual [0] ORName,
+ member-of-dl [1] ORName,
+ pattern-match [2] ORNamePattern,
+ member-of-group [3] Name
+}
+
+ORNamePattern ::= ORName
+
+--any-user-may-submit DLSubmitPermission ::=
+-- pattern-match:{built-in-standard-attributes {}}
+
+-- DL Policy
+DLPolicy ::= SET {
+ report-propagation
+ [0] INTEGER {previous-dl-or-originator(0), dl-owner(1),
+ both-previous-and-owner(2)} DEFAULT previous-dl-or-originator,
+ report-from-dl
+ [1] INTEGER {whenever-requested(0), when-no-propagation(1)}
+ DEFAULT whenever-requested,
+ originating-MTA-report
+ [2] INTEGER {unchanged(0), report(2), non-delivery-report(3),
+ audited-report(4)} DEFAULT unchanged,
+ originator-report
+ [3] INTEGER {unchanged(0), no-report(1), report(2), non-delivery-report(3)}
+ DEFAULT unchanged,
+ return-of-content
+ [4] ENUMERATED {unchanged(0), content-return-not-requested(1),
+ content-return-requested(2)} DEFAULT unchanged,
+ priority
+ [5] INTEGER {unchanged(0), normal(1), non-urgent(2), urgent(3)}
+ DEFAULT unchanged,
+ disclosure-of-other-recipients
+ [6] ENUMERATED {unchanged(0),
+ disclosure-of-other-recipients-prohibited(1),
+ disclosure-of-other-recipients-allowed(2)}
+ DEFAULT unchanged,
+ implicit-conversion-prohibited
+ [7] ENUMERATED {unchanged(0), implicit-conversion-allowed(1),
+ implicit-conversion-prohibited(2)} DEFAULT unchanged,
+ conversion-with-loss-prohibited
+ [8] ENUMERATED {unchanged(0), conversion-with-loss-allowed(1),
+ conversion-with-loss-prohibited(2)} DEFAULT unchanged,
+ further-dl-expansion-allowed [9] BOOLEAN DEFAULT TRUE,
+ originator-requested-alternate-recipient-removed [10] BOOLEAN DEFAULT TRUE,
+ proof-of-delivery
+ [11] INTEGER {dl-expansion-point(0), dl-members(1), both(2), neither(3)}
+ DEFAULT dl-members,
+ requested-delivery-method
+ [12] CHOICE {unchanged [0] NULL,
+ removed [1] NULL,
+ replaced RequestedDeliveryMethod} DEFAULT unchanged:NULL,
+ token-encryption-algorithm-preference
+ [13] SEQUENCE OF AlgorithmInformation OPTIONAL,
+ token-signature-algorithm-preference
+ [14] SEQUENCE OF AlgorithmInformation OPTIONAL,
+ ...
+}
+
+AlgorithmInformation ::= SEQUENCE {
+ algorithm-identifier [0] AlgorithmIdentifier,
+ originator-certificate-selector [1] CertificateAssertion OPTIONAL,
+ recipient-certificate-selector [2] CertificateAssertion OPTIONAL
+}
+
+-- OR-Address with Capabilities
+AddressCapabilities ::= SEQUENCE {
+ description GeneralString OPTIONAL,
+ address ORAddress,
+ capabilities SET OF Capability
+}
+
+Capability ::= SET {
+ content-types
+ [0] SET OF ExtendedContentType OPTIONAL,
+ maximum-content-length [1] ContentLength OPTIONAL,
+ encoded-information-types-constraints
+ [2] EncodedInformationTypesConstraints OPTIONAL,
+ security-labels [3] SecurityContext OPTIONAL,
+ ...
+}
+
+-- MATCHING RULES
+-- OR-Address with Capabilities Match
+addressCapabilitiesMatch MATCHING-RULE ::= {
+ SYNTAX AddressCapabilities
+ ID id-mr-address-capabilities-match
+}
+
+-- Capability Match
+capabilityMatch MATCHING-RULE ::= {
+ SYNTAX Capability
+ ID id-mr-capability-match
+}
+
+-- OR-Name Exact Match
+oRNameExactMatch MATCHING-RULE ::= {
+ SYNTAX ORName
+ ID id-mr-orname-exact-match
+}
+
+-- CONTEXTS
+-- DL Administrator Annotation
+dl-administrator-annotation CONTEXT ::= {
+ WITH SYNTAX
+ CHOICE {bmpstring BMPString,
+ universalstring UniversalString}
+ ID id-con-dl-administrator-annotation
+}
+
+dl-administrator-annotation-use-rule DIT-CONTEXT-USE-RULE ::= {
+ ATTRIBUTE TYPE mhs-dl-members.&id
+ OPTIONAL CONTEXTS {dl-administrator-annotation}
+}
+
+-- DL Nested DL
+dl-nested-dl CONTEXT ::= {WITH SYNTAX NULL
+ ID id-con-dl-nested-dl
+}
+
+dl-nested-dl-use-rule DIT-CONTEXT-USE-RULE ::= {
+ ATTRIBUTE TYPE mhs-dl-members.&id
+ OPTIONAL CONTEXTS {dl-nested-dl}
+}
+
+-- DL Reset Originator
+dl-reset-originator CONTEXT ::= {
+ WITH SYNTAX NULL
+ ID id-con-dl-reset-originator
+}
+
+dl-reset-originator-use-rule DIT-CONTEXT-USE-RULE ::= {
+ ATTRIBUTE TYPE mhs-dl-members.&id
+ OPTIONAL CONTEXTS {dl-reset-originator}
+}
+
+-- CERTIFICATE SUBJECT ALTERNATIVE NAMES
+-- MTA Name
+mta-name OTHER-NAME ::= {
+ SEQUENCE {domain GlobalDomainIdentifier,
+ mta-name MTAName}
+ IDENTIFIED BY id-san-mta-name
+}
+
+END -- of MHSDirectory
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/acp133/acp133.asn b/epan/dissectors/asn1/acp133/acp133.asn
new file mode 100644
index 00000000..8c752357
--- /dev/null
+++ b/epan/dissectors/asn1/acp133/acp133.asn
@@ -0,0 +1,135 @@
+ACP133CommonContent { joint-iso-ccitt(2) country(16) us(840) organization(1) gov(101) dod(2) ds(2) module(0) commonContent(2) editionB (3) }
+DEFINITIONS ::=
+BEGIN
+IMPORTS
+ GeneralNames, CertificateAssertion
+ FROM CertificateExtensions {joint-iso-ccitt ds(5)
+ module(1) certificateExtensions(26) 0}
+ AlgorithmIdentifier
+ --==
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3}
+ ContentLength, EncodedInformationTypesConstraints, ExtendedContentType,
+ ORAddress, ORName, RequestedDeliveryMethod, SecurityContext
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ DirectoryString
+ --==
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 4}
+ Name
+ --==
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 3};
+
+
+
+ACPPreferredDelivery ::= ENUMERATED { smtp(0), acp127(1), mhs(2) }
+
+ALType ::= INTEGER { aig(0), type(1), cad(2), taskforce(3), dag(4) }
+
+Community ::= ENUMERATED { genser(0), si(1), both(2) }
+
+OnSupported ::= BIT STRING { acp127-nn(0), acp127-pn(1), acp127-tn(2) }
+
+ACPLegacyFormat ::= INTEGER {
+ janap128(0),
+ acp127(1), -- changed from acp126 for consistency purposes
+ doi103(2),
+ doi103-special(3),
+ acp127(4),
+ acp127-converted(5),
+ reserved-1(6), -- hold for ACP127Standard if needed
+ acp127-state(7),
+ acp127-modified(8),
+ socomm-special(9),
+ socomm-narrative(10),
+ reserved-2(11), -- hold for SOCOMMNarrativeTTY if needed
+ socomm-narrative-special(12),
+ socomm-data(13),
+ socomm-internal(14),
+ socomm-external(15),
+ mfi-default(16),
+ acp-legacy-format-smtp(17),
+ p22(18),
+ -- 19 - 31 for national or bilateral use
+ acp145-united-states(32),
+ acp145-australia(33),
+ acp145-canada(34),
+ acp145-united-kingdom(35),
+ acp145-new-zealand(36) }
+
+ACPNoAttachments ::= BOOLEAN
+
+Active ::= BOOLEAN
+
+Addressees ::= SEQUENCE OF PrintableString (SIZE (1..55))
+
+Classification ::= ENUMERATED { unmarked(0), unclassified(1), restricted(2),
+confidential(3), secret(4), top-secret(5) }
+
+DistributionCode ::= PrintableString
+
+EmConCapability ::= BOOLEAN
+
+EmConState ::= ENUMERATED { enabled(0), receive-only(1), electronic-silence(2), disabled(3) }
+
+JPEG ::= OCTET STRING -- a JPEG image
+
+MaxMessageSize ::= INTEGER
+
+MonthlyUKMs ::= --SIGNED { SEQUENCE OF UKMEntry }-- SEQUENCE {
+ ukm-entries SEQUENCE OF UKMEntry,
+ algorithm-identifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+MsgProtocolInfoCapability ::= ENUMERATED { acp-127(0), acp-123(1) }
+
+Remarks ::= SEQUENCE OF PrintableString
+
+-- RIParameters used to be defined as a ASN.1 SET specification, but
+-- this has been deprecated in edition D in favour of a DirectoryString
+-- containing a sequence of dollar separated PrintableStrings.
+--
+-- Implemented in Wireshark as a CHOICE to be able to decode both without
+-- using a preference.
+RIParameters ::= CHOICE {
+ ri-parameters DirectoryString,
+ ri-parameters-deprecated RIParametersDeprecated
+}
+
+RIParametersDeprecated ::= SET {
+ rI [0] PrintableString,
+ rIType [1] ENUMERATED
+ { normal(0), off-line(1), partTimeTerminal(2) },
+ minimize [2] BOOLEAN, -- not used any more --
+ sHD [3] PrintableString,
+ classification [4] Classification
+}
+
+UKMEntry ::= SEQUENCE {
+ tag PairwiseTag,
+ ukm OCTET STRING
+}
+
+WebAccessCapability ::= BOOLEAN
+
+-- these are imported directly from SDN.701
+
+PairwiseTag ::= SEQUENCE {
+ kmid Kmid,
+ edition INTEGER --(1..ub-edition-size)--,
+ date UTCTime OPTIONAL }
+
+Kmid ::= OCTET STRING
+
+MLReceiptPolicy ::= CHOICE {
+ none [0] NULL,
+ insteadOf [1] SEQUENCE -- (SIZE (1..ub-insteadOf))
+ OF GeneralNames,
+ inAdditionTo [2] SEQUENCE --(SIZE (1..ub-inAdditionTo))
+ OF GeneralNames }
+
+END
diff --git a/epan/dissectors/asn1/acp133/acp133.cnf b/epan/dissectors/asn1/acp133/acp133.cnf
new file mode 100644
index 00000000..194a10df
--- /dev/null
+++ b/epan/dissectors/asn1/acp133/acp133.cnf
@@ -0,0 +1,236 @@
+# acp133.cnf
+# ACP133 conformation file
+
+#.IMPORT ../p1/p1-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509ce/x509ce-exp.cnf
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509sat/x509sat-exp.cnf
+
+#.PDU
+ACPPreferredDelivery
+ALType
+Community
+OnSupported
+ACPLegacyFormat
+Addressees
+DistributionCode
+JPEG
+MonthlyUKMs
+RIParameters
+Kmid
+
+##.CLASS OBJECT-CLASS
+#&Superclasses ClassReference OBJECT-CLASS
+#&kind
+#&MandatoryAttributes ClassReference ATTRIBUTE
+#&OptionalAttributes ClassReference ATTRIBUTE
+#&id ObjectIdentifierType
+##.END
+
+##.CLASS ATTRIBUTE
+#&derivation ClassReference ATTRIBUTE
+#&Type
+#&equality-match ClassReference MATCHING-RULE
+#&ordering-match ClassReference MATCHING-RULE
+#&substrings-match ClassReference MATCHING-RULE
+#&single-valued BooleanType
+#&collective BooleanType
+#&no-user-modification BooleanType
+#&usage
+#&id ObjectIdentifierType
+##.END
+
+#.CLASS MATCHING-RULE
+&ParentMatchingRules ClassReference MATCHING-RULE
+&AssertionType
+&uniqueMatchIndicator ClassReference ATTRIBUTE
+&id ObjectIdentifierType
+#.END
+
+#.CLASS CONTEXT
+&Type
+&Assertion
+&id ObjectIdentifierType
+#.END
+
+#.CLASS DIT-CONTEXT-USE-RULE
+&attributeType ObjectIdentifierType
+&Mandatory ClassReference CONTEXT
+&Optional ClassReference CONTEXT
+#.END
+
+#.CLASS OTHER-NAME
+&Type OpenType
+&id ObjectIdentifierType
+#.END
+
+#.REGISTER
+
+# X.402
+
+# ContentLength B "2.6.5.2.0" "id-at-mhs-maximum-content-length" - see p1.cnf
+# ExtendedContentType B "2.6.5.2.1" "id-at-mhs-deliverable-content-types" - see p1.cnf
+# ExtendedEncodedInformationType B "2.6.5.2.2" "id-at-mhs-exclusively-acceptable-eits" - see p1.cnf
+# ORName B "2.6.5.2.3" "id-at-mhs-dl-members" - see p1.cnf
+DLSubmitPermission B "2.6.5.2.4" "id-at-mhs-dl-submit-permissions"
+# DistinguishedName B "2.6.5.2.5" "id-at-mhs-message-store-dn" - see x509if.cnf
+# ORAddress B "2.6.5.2.6" "id-at-mhs-or-addresses" - see p1.cnf
+# ObjectIdentifier B "2.6.5.2.8" "id-at-mhs-supported-automatic-actions" - see x509sat.cnf
+# ExtendedContentType B "2.6.5.2.9" "id-at-mhs-supported-content-types" - see p1.cnf
+# ObjectIdentifier B "2.6.5.2.10" "id-at-mhs-supported-attributes" - see x509sat.cnf
+# ObjectIdentifier B "2.6.5.2.11" "id-at-mhs-supported-matching-rules" - see x509sat.cnf
+# ORName B "2.6.5.2.12" "id-at-mhs-dl-archive-service" - see p1.cnf
+DLPolicy B "2.6.5.2.13" "id-at-mhs-dl-policy"
+# DistinguishedName B "2.6.5.2.14" "id-at-mhs-dl-related-lists" - see x509if.cnf
+# ORName B "2.6.5.2.15" "id-at-mhs-dl-subscription-service" - see p1.cnf
+AddressCapabilities B "2.6.5.2.16" "id-at-mhs-or-addresses-with-capabilities"
+# ExtendedEncodedInformationType B "2.6.5.2.17" "id-at-mhs-acceptable-eits" see p1.cnf
+# ExtendedEncodedInformationType B "2.6.5.2.18" "id-at-mhs-unacceptable-eits" - see p1.cnf
+Capability B "2.6.5.2.19" "id-at-mhs-deliverable-classes"
+
+
+# SDN.701
+Kmid B "2.16.840.1.101.2.1.5.14" "id-at-alid"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.20" "id-at-janUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.21" "id-at-febUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.22" "id-at-marUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.23" "id-at-aprUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.24" "id-at-mayUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.25" "id-at-junUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.26" "id-at-julUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.27" "id-at-augUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.28" "id-at-sepUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.29" "id-at-octUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.30" "id-at-novUKMs"
+MonthlyUKMs B "2.16.840.1.101.2.1.5.31" "id-at-decUKMs"
+# ORName B "2.16.840.1.101.2.1.5.47" "id-at-aLExemptedAddressProcessor - see p1.cnf
+
+# ACP133
+# DistinguishedName B "2.16.840.1.101.2.2.1.3" "id-at-alternateRecipient" - see x509if.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.4" "id-at-associatedOrganization" - see x509if.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.6" "id-at-associatedPLA" - see x509if.cnf
+# DirectoryString B "2.16.840.1.101.2.2.1.45" "id-at-releaseAuthorityName" - see x509sat.cnf
+Addressees B "2.16.840.1.101.2.2.1.46" "id-at-actionAddressees"
+Addressees B "2.16.840.1.101.2.2.1.47" "id-at-additionalAddressees"
+Addressees B "2.16.840.1.101.2.2.1.48" "id-at-additionalSecondPartyAddressees"
+# DistinguishedName B "2.16.840.1.101.2.2.1.49" "id-at-aliasPointer" - see x509if.cnf
+Addressees B "2.16.840.1.101.2.2.1.50" "id-at-allowableOriginators"
+#PrintableString B "2.16.840.1.101.2.2.1.51" "id-at-cognizantAuthority" - see x509sat.cnf
+Community B "2.16.840.1.101.2.2.1.52" "id-at-community"
+# PrintableString B "2.16.840.1.101.2.2.1.53" "id-at-accountingCode" - see x509sat.cnf
+# Boolean B "2.16.840.1.101.2.2.1.54" "id-at-dualRoute" - see x509sat.cnf
+# GeneralizedTime B "2.16.840.1.101.2.2.1.55" "id-at-effectiveDate" - see x509sat.cnf
+Classification B "2.16.840.1.101.2.2.1.56" "id-at-entryClassification"
+# GeneralizedTime B "2.16.840.1.101.2.2.1.57" "id-at-expirationDate" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.58" "id-at-hostOrgACP127" - see x509sat.cnf
+Addressees B "2.16.840.1.101.2.2.1.59" "id-at-infoAddressees"
+# GeneralizedTime B "2.16.840.1.101.2.2.1.60" "id-at-lastRecapDate" - see x509sat.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.61" "id-at-listPointer" - see x509if.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.62" "id-at-lmf" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.63" "id-at-longTitle" - see x509sat.cnf
+# Boolean B "2.16.840.1.101.2.2.1.64" "id-at-minimize" - see x509sat.cnf
+# Boolean B "2.16.840.1.101.2.2.1.65" "id-at-minimizeOverride" - see x509sat.cnf
+Classification B "2.16.840.1.101.2.2.1.67" "id-at-nameClassification"
+# PrintableString B "2.16.840.1.101.2.2.1.68" "id-at-nationality" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.68.1" "id-at-collectiveNationality" - see x509sat.cnf
+# Boolean B "2.16.840.1.101.2.2.1.69" "id-at-transferStation" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.70" "id-at-plaNameACP127" - see x509sat.cnf
+Addressees B "2.16.840.1.101.2.2.1.71" "id-at-plaAddressees"
+# Boolean B "2.16.840.1.101.2.2.1.72" "id-at-plaReplace" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.73" "id-at-primarySpellingACP127" - see x509sat.cnf
+# Boolean B "2.16.840.1.101.2.2.1.74" "id-at-publish" - see x509sat.cnf
+# GeneralizedTime B "2.16.840.1.101.2.2.1.75" "id-at-recapDueDate" - see x509sat.cnf
+Remarks B "2.16.840.1.101.2.2.1.76" "id-at-remarks"
+# PrintableString B "2.16.840.1.101.2.2.1.77" "id-at-rI" - see x509sat.cnf
+Classification B "2.16.840.1.101.2.2.1.78" "id-at-rIClassification"
+RIParameters B "2.16.840.1.101.2.2.1.79" "id-at-rIInfo"
+Addressees B "2.16.840.1.101.2.2.1.80" "id-at-secondPartyAddressees"
+# Boolean B "2.16.840.1.101.2.2.1.81" "id-at-section" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.82" "id-at-serviceOrAgency" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.83" "id-at-sHD" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.84" "id-at-shortTitle" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.85" "id-at-sigad" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.86" "id-at-spot" - see x509sat.cnf
+# Boolean B "2.16.840.1.101.2.2.1.87" "id-at-tARE" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.94" "id-at-aCPMobileTelephoneNumber" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.95" "id-at-aCPPagerTelephoneNumber" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.96" "id-at-tCC" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.97" "id-at-tRC" - see x509sat.cnf
+DistributionCode B "2.16.840.1.101.2.2.1.104" "id-at-distributionCodeAction"
+DistributionCode B "2.16.840.1.101.2.2.1.105" "id-at-distributionCodeInfo"
+# PrintableString B "2.16.840.1.101.2.2.1.106" "id-at-accessCodes" - see x509sat.cnf
+# GraphicString B "2.16.840.1.101.2.2.1.107" "id-at-accessSchema" - see x509sat.cnf
+ACPPreferredDelivery B "2.16.840.1.101.2.2.1.108" "id-at-aCPPreferredDelivery"
+# TelephoneNumber B "2.16.840.1.101.2.2.1.109" "id-at-aCPTelephoneFaxNumber" - see x509sat.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.110" "id-at-administrator" - see x509if.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.111" "id-at-aigsExpanded" - see x509if.cnf
+ALType B "2.16.840.1.101.2.2.1.112" "id-at-aLType"
+# DistinguishedName B "2.16.840.1.101.2.2.1.113" "id-at-associatedAL" - see x509if.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.114" "id-at-copyMember" - see x509if.cnf
+# ObjectIdentifier B "2.16.840.1.101.2.2.1.115" "id-at-gatewayType" - see x509sat.cnf
+# ObjectIdentifier B "2.16.840.1.101.2.2.1.116" "id-at-ghpType" - see x509sat.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.117" "id-at-guard" - see x509if.cnf
+# DirectoryString B "2.16.840.1.101.2.2.1.118" "id-at-mailDomains" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.119" "id-at-militaryFacsimileNumber" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.119.1" "id-at-collectiveMilitaryFacsimileNumber" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.120" "id-at-militaryTelephoneNumber" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.120.1" "id-at-collectiveMilitaryTelephoneNumber" - see x509sat.cnf
+# DistingishedName B "2.16.840.1.101.2.2.1.121" "id-at-networkDN" - see x509if.cnf
+# GraphicString B "2.16.840.1.101.2.2.1.122" "id-at-networkSchema" - see x509sat.cnf
+OnSupported B "2.16.840.1.101.2.2.1.123" "id-at-onSupported"
+# DirectoryString B "2.16.840.1.101.2.2.1.124" "id-at-operationName" - see x509sat.cnf
+# DirectoryString B "2.16.840.1.101.2.2.1.125" "id-at-positionNumber" - see x509sat.cnf
+# DirectoryString B "2.16.840.1.101.2.2.1.126" "id-at-proprietaryMailboxes" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.127" "id-at-secureFacsimileNumber" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.127.1" "id-at-collectiveSecureFacsimileNumber" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.128" "id-at-secureTelephoneNumber" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.128.1" "id-at-collectiveSecureTelephoneNumber" - see x509sat.cnf
+# DirectoryString B "2.16.840.1.101.2.2.1.129" "id-at-serviceNumber" - see x509sat.cnf
+# DirectoryString B "2.16.840.1.101.2.2.1.133" "id-at-rank" - see x509sat.cnf
+# B "2.16.840.1.101.2.2.1.134" "id-at-misc-collectives"
+# ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses" - see p1.cnf
+MLReceiptPolicy B "2.16.840.1.101.2.2.1.135" "id-at-aLReceiptPolicy"
+# DistinguishedName B "2.16.840.1.101.2.2.1.138" "id-at-plasServed" - see x509if.cnf
+#DistinguishedName B "2.16.840.1.101.2.2.1.139" "id-at-deployed" - see x509if.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.140" "id-at-garrison" - see x509if.cnf
+ACPLegacyFormat B "2.16.840.1.101.2.2.1.142" "id-at-aCPLegacyFormat"
+# DirectoryString B "2.16.840.1.101.2.2.1.143" "id-at-adminConversion" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.144" "id-at-tCCG" - see x509sat.cnf
+# DirectoryString B "2.16.840.1.101.2.2.1.145" "id-at-usdConversion" - see x509sat.cnf
+JPEG B "2.16.840.1.101.2.2.1.146" "id-at-aCPNetwAccessSchemaEdB"
+JPEG B "2.16.840.1.101.2.2.1.147" "id-at-aCPNetworkSchemaEdB"
+
+# DirectoryString B "2.16.840.1.101.2.2.1.158" "id-at-aCPRoleInformation" - see x509sat.cnf
+# DirectoryString B "2.16.840.1.101.2.2.1.159" "id-at-coalitionGrade" - see x509sat.cnf
+# TelephoneNumber B "2.16.840.1.101.2.2.1.160" "id-at-militaryIPPhoneNumber" - see x509sat.cnf
+# ObjectIdentifier B "2.16.840.1.101.2.2.1.161" "id-at-fileTypeInfoCapability" - see x509sat.cnf
+MaxMessageSize B "2.16.840.1.101.2.2.1.162" "id-at-maxMessageSize"
+MsgProtocolInfoCapability B "2.16.840.1.101.2.2.1.163" "id-at-msgProtocolInfoCapability"
+Active B "2.16.840.1.101.2.2.1.164" "id-at-active"
+EmConCapability B "2.16.840.1.101.2.2.1.165" "id-at-emConCapability"
+EmConState B "2.16.840.1.101.2.2.1.166" "id-at-emConState"
+WebAccessCapability B "2.16.840.1.101.2.2.1.167" "id-at-webAccessCapability"
+DistributionCode B "2.16.840.1.101.2.2.1.168" "id-at-distributionExemptAction"
+DistributionCode B "2.16.840.1.101.2.2.1.169" "id-at-distributionExemptInfo"
+DistributionCode B "2.16.840.1.101.2.2.1.170" "id-at-distributionKeywordAction"
+DistributionCode B "2.16.840.1.101.2.2.1.171" "id-at-distributionKeywordInfo"
+# PrintableString B "2.16.840.1.101.2.2.1.172" "id-at-aCPFunctionalDescription" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.173" "id-at-alternatePLAName" - see x509sat.cnf
+# GeneralizedTime B "2.16.840.1.101.2.2.1.174" "id-at-aCPEntryCreationDate" - see x509sat.cnf
+# GeneralizedTime B "2.16.840.1.101.2.2.1.175" "id-at-aCPEntryModificationDate" - see x509sat.cnf
+# ObjectIdentifier B "2.16.840.1.101.2.2.1.176" "id-at-aCPEntryType" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.177" "id-at-aCPEntryUniqueId" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.178" "id-at-aCPCitizenship" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.179" "id-at-aCPEID" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.180" "id-at-aCPCOI" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.181" "id-at-aCPPublishTo" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.182" "id-at-aCPSvcApps" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.183" "id-at-aCPDirectionsTo" - see x509sat.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.184" "id-at-aCPDutyOfficer" - see x509if.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.185" "id-at-aCPLatitude" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.186" "id-at-aCPLocationMap" - see x509sat.cnf
+# PrintableString B "2.16.840.1.101.2.2.1.187" "id-at-aCPLongitude" - see x509sat.cnf
+# DistinguishedName B "2.16.840.1.101.2.2.1.188" "id-at-primaryMember" - see x509sat.cnf
+ACPNoAttachments B "2.16.840.1.101.2.2.1.189" "id-at-aCPNoAttachments"
+
diff --git a/epan/dissectors/asn1/acp133/packet-acp133-template.c b/epan/dissectors/asn1/acp133/packet-acp133-template.c
new file mode 100644
index 00000000..22d3c385
--- /dev/null
+++ b/epan/dissectors/asn1/acp133/packet-acp133-template.c
@@ -0,0 +1,165 @@
+/* packet-acp133.c
+ * Routines for ACP133 specific syntaxes in X.500 packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/oids.h>
+
+#include "packet-ber.h"
+
+#include "packet-p1.h"
+#include "packet-x509af.h"
+#include "packet-x509ce.h"
+#include "packet-x509if.h"
+#include "packet-x509sat.h"
+
+#include "packet-acp133.h"
+
+#define PNAME "ACP133 Attribute Syntaxes"
+#define PSNAME "ACP133"
+#define PFNAME "acp133"
+
+void proto_register_acp133(void);
+void proto_reg_handoff_acp133(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_acp133 = -1;
+
+
+#include "packet-acp133-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_acp133 = -1;
+#include "packet-acp133-ett.c"
+
+#include "packet-acp133-fn.c"
+
+
+/*--- proto_register_acp133 -------------------------------------------*/
+void proto_register_acp133(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+#include "packet-acp133-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_acp133,
+#include "packet-acp133-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_acp133 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_acp133, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_acp133 --- */
+void proto_reg_handoff_acp133(void) {
+
+#include "packet-acp133-dis-tab.c"
+
+ /* X.402 Object Classes */
+ oid_add_from_string("id-oc-mhs-distribution-list","2.6.5.1.0");
+ oid_add_from_string("id-oc-mhs-message-store","2.6.5.1.1");
+ oid_add_from_string("id-oc-mhs-message-transfer-agent","2.6.5.1.2");
+ oid_add_from_string("id-oc-mhs-user","2.6.5.1.3");
+
+ /* SDN.701 Object Classes */
+ oid_add_from_string("id-oc-secure-user","2.16.840.1.101.2.1.4.13");
+ oid_add_from_string("id-oc-ukms","2.16.840.1.101.2.1.4.16");
+
+ /* ACP133 Object Classes */
+ oid_add_from_string("id-oc-plaData","2.16.840.1.101.2.2.3.26");
+ oid_add_from_string("id-oc-cadACP127","2.16.840.1.101.2.2.3.28");
+ oid_add_from_string("id-oc-mLA","2.16.840.1.101.2.2.3.31");
+ oid_add_from_string("id-oc-orgACP127","2.16.840.1.101.2.2.3.34");
+ oid_add_from_string("id-oc-plaCollectiveACP127","2.16.840.1.101.2.2.3.35");
+ oid_add_from_string("id-oc-routingIndicator","2.16.840.1.101.2.2.3.37");
+ oid_add_from_string("id-oc-sigintPLA","2.16.840.1.101.2.2.3.38");
+ oid_add_from_string("id-oc-sIPLA","2.16.840.1.101.2.2.3.39");
+ oid_add_from_string("id-oc-spotPLA","2.16.840.1.101.2.2.3.40");
+ oid_add_from_string("id-oc-taskForceACP127","2.16.840.1.101.2.2.3.41");
+ oid_add_from_string("id-oc-tenantACP127","2.16.840.1.101.2.2.3.42");
+ oid_add_from_string("id-oc-plaACP127","2.16.840.1.101.2.2.3.47");
+ oid_add_from_string("id-oc-aliasCommonName","2.16.840.1.101.2.2.3.52");
+ oid_add_from_string("id-oc-aliasOrganizationalUnit","2.16.840.1.101.2.2.3.53");
+ oid_add_from_string("id-oc-distributionCodesHandled","2.16.840.1.101.2.2.3.54");
+ oid_add_from_string("id-oc-distributionCodeDescription","2.16.840.1.101.2.2.3.55");
+ oid_add_from_string("id-oc-plaUser","2.16.840.1.101.2.2.3.56");
+ oid_add_from_string("id-oc-addressList","2.16.840.1.101.2.2.3.57");
+ oid_add_from_string("id-oc-altSpellingACP127","2.16.840.1.101.2.2.3.58");
+ oid_add_from_string("id-oc-messagingGateway","2.16.840.1.101.2.2.3.59");
+ oid_add_from_string("id-oc-network","2.16.840.1.101.2.2.3.60");
+ oid_add_from_string("id-oc-networkInstructions","2.16.840.1.101.2.2.3.61");
+ oid_add_from_string("id-oc-otherContactInformation","2.16.840.1.101.2.2.3.62");
+ oid_add_from_string("id-oc-releaseAuthorityPerson","2.16.840.1.101.2.2.3.63");
+ oid_add_from_string("id-oc-mLAgent","2.16.840.1.101.2.2.3.64");
+ oid_add_from_string("id-oc-releaseAuthorityPersonA","2.16.840.1.101.2.2.3.65");
+ oid_add_from_string("id-oc-securePkiUser","2.16.840.1.101.2.2.3.66");
+ oid_add_from_string("id-oc-dSSCSPLA","2.16.840.1.101.2.2.3.67");
+ oid_add_from_string("id-oc-aCPNetworkEdB","2.16.840.1.101.2.2.3.68");
+ oid_add_from_string("id-oc-aCPNetworkInstructionsEdB","2.16.840.1.101.2.2.3.69");
+ oid_add_from_string("id-oc-aCPAddressList","2.16.840.1.101.2.2.3.70");
+ oid_add_from_string("id-oc-aCPAliasCommonName","2.16.840.1.101.2.2.3.71");
+ oid_add_from_string("id-oc-aCPAliasOrganizationalUnit","2.16.840.1.101.2.2.3.72");
+ oid_add_from_string("id-oc-aCPDevice","2.16.840.1.101.2.2.3.73");
+ oid_add_from_string("id-oc-aCPDistributionCodeDescription","2.16.840.1.101.2.2.3.74");
+ oid_add_from_string("id-oc-aCPGroupOfNames","2.16.840.1.101.2.2.3.75");
+ oid_add_from_string("id-oc-aCPLocality","2.16.840.1.101.2.2.3.76");
+ oid_add_from_string("id-oc-aCPOrganization","2.16.840.1.101.2.2.3.77");
+ oid_add_from_string("id-oc-aCPOrganizationalPerson","2.16.840.1.101.2.2.3.78");
+ oid_add_from_string("id-oc-aCPOrganizationalRole","2.16.840.1.101.2.2.3.79");
+ oid_add_from_string("id-oc-aCPOrganizationalUnit","2.16.840.1.101.2.2.3.80");
+ oid_add_from_string("id-oc-aCPDistributionCodesHandled","2.16.840.1.101.2.2.3.81");
+ oid_add_from_string("id-oc-aCPMhsCapabilitiesInformation","2.16.840.1.101.2.2.3.82");
+ oid_add_from_string("id-oc-aCPOtherContactInformation","2.16.840.1.101.2.2.3.83");
+ oid_add_from_string("id-oc-aCPPlaUser","2.16.840.1.101.2.2.3.84");
+ oid_add_from_string("id-oc-aCPCRLDistributionPoint","2.16.840.1.101.2.2.3.85");
+ oid_add_from_string("id-oc-aCPSecurePKIUser","2.16.840.1.101.2.2.3.86");
+ oid_add_from_string("id-oc-aCPAltSpellingACP127","2.16.840.1.101.2.2.3.87");
+ oid_add_from_string("id-oc-aCPCadACP127","2.16.840.1.101.2.2.3.88");
+ oid_add_from_string("id-oc-aCPDSSCSPLA","2.16.840.1.101.2.2.3.89");
+ oid_add_from_string("id-oc-aCPOrgACP127","2.16.840.1.101.2.2.3.90");
+ oid_add_from_string("id-oc-aCPPLACollectiveACP127","2.16.840.1.101.2.2.3.91");
+ oid_add_from_string("id-oc-aCPRoutingIndicator","2.16.840.1.101.2.2.3.92");
+ oid_add_from_string("id-oc-aCPSigIntPLA","2.16.840.1.101.2.2.3.93");
+ oid_add_from_string("id-oc-aCPSIPLA","2.16.840.1.101.2.2.3.94");
+ oid_add_from_string("id-oc-aCPSpotPLA","2.16.840.1.101.2.2.3.95");
+ oid_add_from_string("id-oc-aCPTaskForceACP127","2.16.840.1.101.2.2.3.96");
+ oid_add_from_string("id-oc-aCPTenantACP127","2.16.840.1.101.2.2.3.97");
+ oid_add_from_string("id-oc-aCPPlaACP127","2.16.840.1.101.2.2.3.98");
+ oid_add_from_string("id-oc-aCPPlaData","2.16.840.1.101.2.2.3.99");
+ oid_add_from_string("id-oc-aCPEntryAdmin","2.16.840.1.101.2.2.3.102");
+ oid_add_from_string("id-oc-aCPOrganizationalLocation","2.16.840.1.101.2.2.3.103");
+ oid_add_from_string("id-oc-aCPEntryCharacteristics","2.16.840.1.101.2.2.3.104");
+ oid_add_from_string("id-oc-aCPPrivilege","2.16.840.1.101.2.2.3.105");
+
+ /* gateway types */
+ oid_add_from_string("acp120-acp127","2.16.840.1.101.2.2.5.0");
+ oid_add_from_string("acp120-janap128","2.16.840.1.101.2.2.5.1");
+ oid_add_from_string("acp120-mhs","2.16.840.1.101.2.2.5.2");
+ oid_add_from_string("acp120-mmhs","2.16.840.1.101.2.2.5.3");
+ oid_add_from_string("acp120-rfc822","2.16.840.1.101.2.2.5.4");
+ oid_add_from_string("boundaryMTA","2.16.840.1.101.2.2.5.5");
+ oid_add_from_string("mmhs-mhs","2.16.840.1.101.2.2.5.6");
+ oid_add_from_string("mmhs-rfc822","2.16.840.1.101.2.2.5.7");
+ oid_add_from_string("mta-acp127","2.16.840.1.101.2.2.5.8");
+
+}
diff --git a/epan/dissectors/asn1/acp133/packet-acp133-template.h b/epan/dissectors/asn1/acp133/packet-acp133-template.h
new file mode 100644
index 00000000..242fa5ca
--- /dev/null
+++ b/epan/dissectors/asn1/acp133/packet-acp133-template.h
@@ -0,0 +1,17 @@
+/* packet-acp133.h
+ * Routines for ACP133 specific syntaxes in X.500 packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_ACP133_H
+#define PACKET_ACP133_H
+
+/* #include "packet-acp133-exp.h" */
+
+#endif /* PACKET_ACP133_H */
diff --git a/epan/dissectors/asn1/acse/CMakeLists.txt b/epan/dissectors/asn1/acse/CMakeLists.txt
new file mode 100644
index 00000000..b532cf40
--- /dev/null
+++ b/epan/dissectors/asn1/acse/CMakeLists.txt
@@ -0,0 +1,43 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME acse )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -C )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/acse/acse.asn b/epan/dissectors/asn1/acse/acse.asn
new file mode 100644
index 00000000..968026d1
--- /dev/null
+++ b/epan/dissectors/asn1/acse/acse.asn
@@ -0,0 +1,435 @@
+-- ACSE definition from
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x227bis/1998/ACSE-1.html
+-- and modified to pass through asn2wrs
+--
+--
+-- Module ACSE-1 (X.227bis:09/1998)
+ACSE-1 {joint-iso-itu-t association-control(2) modules(0) acse1(1) version1(1)}
+-- ACSE-1 refers to ACSE version 1
+DEFINITIONS ::=
+BEGIN
+
+IMPORTS
+ Name, RelativeDistinguishedName
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 3};
+
+-- The data types Name and RelativeDistinguishedName are imported from
+-- ITU-T Rec. X.501 | ISO/IEC 9594-2.
+
+
+-- Workaround for bug in asn2wrs in the .cnf file
+-- to handle the lack of support for tagged assignments.
+-- remove that workaround once asn2wrs learns how to handle
+-- tagged assignments.
+EXTERNALt ::= [UNIVERSAL 8] IMPLICIT SEQUENCE
+ {
+ direct-reference OBJECT IDENTIFIER OPTIONAL,
+ indirect-reference INTEGER OPTIONAL,
+ data-value-descriptor ObjectDescriptor OPTIONAL,
+ encoding CHOICE
+ {single-ASN1-type [0] ANY,
+ octet-aligned [1] IMPLICIT OCTET STRING,
+ arbitrary [2] IMPLICIT BIT STRING}
+ }
+
+-- object identifier assignments
+acse-as-id OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0)
+ version1(1)}
+
+-- may be used to reference the abstract syntax of the ACSE APDUs.
+aCSE-id OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t association-control(2) ase-id(3) acse-ase(1) version(1)}
+
+-- may be used to identify the Association Control ASE.
+-- top level CHOICE
+ACSE-apdu ::= CHOICE {
+--asn2wrs bug
+-- aarq AARQ-apdu,
+ aarq [APPLICATION 0] IMPLICIT AARQ-apdu,
+--asn2wrs bug
+-- aare AARE-apdu,
+ aare [APPLICATION 1] IMPLICIT AARE-apdu,
+--asn2wrs bug
+-- rlrq RLRQ-apdu,
+ rlrq [APPLICATION 2] IMPLICIT RLRQ-apdu,
+--asn2wrs bug
+-- rlre RLRE-apdu,
+ rlre [APPLICATION 3] IMPLICIT RLRE-apdu,
+--asn2wrs bug
+-- abrt ABRT-apdu,
+ abrt [APPLICATION 4] IMPLICIT ABRT-apdu,
+ ...,
+ -- Extensions for higher level association FU
+--asn2wrs bug
+-- adt A-DT-apdu,
+ adt [APPLICATION 5] IMPLICIT A-DT-apdu,
+--asn2wrs bug
+-- acrq ACRQ-apdu,
+ acrq [APPLICATION 6] IMPLICIT ACRQ-apdu,
+--asn2wrs bug
+-- acrp ACRP-apdu
+ acrp [APPLICATION 7] IMPLICIT ACRP-apdu
+}
+
+AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
+ protocol-version
+ [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
+ aSO-context-name [1] ASO-context-name,
+ called-AP-title [2] AP-title OPTIONAL,
+ called-AE-qualifier [3] AE-qualifier OPTIONAL,
+ called-AP-invocation-identifier [4] AP-invocation-identifier OPTIONAL,
+ called-AE-invocation-identifier [5] AE-invocation-identifier OPTIONAL,
+ calling-AP-title [6] AP-title OPTIONAL,
+ calling-AE-qualifier [7] AE-qualifier OPTIONAL,
+ calling-AP-invocation-identifier [8] AP-invocation-identifier OPTIONAL,
+ calling-AE-invocation-identifier [9] AE-invocation-identifier OPTIONAL,
+ -- The following field shall not be present if only the Kernel is used.
+ sender-acse-requirements [10] IMPLICIT ACSE-requirements OPTIONAL,
+ -- The following field shall only be present if the Authentication functional unit is selected.
+ mechanism-name [11] IMPLICIT Mechanism-name OPTIONAL,
+ -- The following field shall only be present if the Authentication functional unit is selected.
+ calling-authentication-value [12] EXPLICIT Authentication-value OPTIONAL,
+ aSO-context-name-list
+ [13] IMPLICIT ASO-context-name-list OPTIONAL,
+ -- The above field shall only be present if the Application Context Negotiation functional unit is selected.
+ implementation-information [29] IMPLICIT Implementation-data OPTIONAL,
+ ...,
+ -- Extensions for higher level association FU
+ p-context-definition-list [14] Syntactic-context-list OPTIONAL,
+ called-asoi-tag [15] IMPLICIT ASOI-tag OPTIONAL,
+ calling-asoi-tag [16] IMPLICIT ASOI-tag OPTIONAL,
+ -- End of extensions for higher level association FU
+-- ...,
+ user-information [30] IMPLICIT Association-data OPTIONAL
+}
+
+AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
+ protocol-version
+ [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
+ aSO-context-name [1] ASO-context-name,
+ result [2] Associate-result,
+ result-source-diagnostic [3] Associate-source-diagnostic,
+ responding-AP-title [4] AP-title OPTIONAL,
+ responding-AE-qualifier [5] AE-qualifier OPTIONAL,
+ responding-AP-invocation-identifier [6] AP-invocation-identifier OPTIONAL,
+ responding-AE-invocation-identifier [7] AE-invocation-identifier OPTIONAL,
+ -- The following field shall not be present if only the Kernel is used.
+ responder-acse-requirements [8] IMPLICIT ACSE-requirements OPTIONAL,
+ -- The following field shall only be present if the Authentication functional unit is selected.
+ mechanism-name [9] IMPLICIT Mechanism-name OPTIONAL,
+ -- This following field shall only be present if the Authentication functional unit is selected.
+ responding-authentication-value
+ [10] EXPLICIT Authentication-value OPTIONAL,
+ aSO-context-name-list
+ [11] IMPLICIT ASO-context-name-list OPTIONAL,
+ -- The above field shall only be present if the Application Context Negotiation functional unit is selected.
+ implementation-information
+ [29] IMPLICIT Implementation-data OPTIONAL,
+ ...,
+ -- Extensions for higher level association FU
+ p-context-result-list
+ [12] IMPLICIT P-context-result-list OPTIONAL,
+ called-asoi-tag [13] IMPLICIT ASOI-tag OPTIONAL,
+ calling-asoi-tag [14] IMPLICIT ASOI-tag OPTIONAL,
+ -- End of extensions for higher level association FU
+-- ...,
+ user-information [30] IMPLICIT Association-data OPTIONAL
+}
+
+RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
+ reason [0] IMPLICIT Release-request-reason OPTIONAL,
+ ...,
+ -- Extensions for higher level association FU
+ aso-qualifier [13] ASO-qualifier OPTIONAL,
+ asoi-identifier [14] IMPLICIT ASOI-identifier OPTIONAL,
+ -- End of extensions for higher level association FU
+-- ...,
+ user-information [30] IMPLICIT Association-data OPTIONAL
+}
+
+RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
+ reason [0] IMPLICIT Release-response-reason OPTIONAL,
+ ...,
+ -- Extensions for higher level association FU
+ aso-qualifier [13] ASO-qualifier OPTIONAL,
+ asoi-identifier [14] IMPLICIT ASOI-identifier OPTIONAL,
+ -- End of extensions for higher level association FU
+-- ...,
+ user-information [30] IMPLICIT Association-data OPTIONAL
+}
+
+ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
+ abort-source [0] IMPLICIT ABRT-source,
+ abort-diagnostic [1] IMPLICIT ABRT-diagnostic OPTIONAL,
+ -- This field shall not be present if only the Kernel is used.
+ ...,
+ -- Extensions for higher level association FU
+ aso-qualifier [13] ASO-qualifier OPTIONAL,
+ asoi-identifier [14] IMPLICIT ASOI-identifier OPTIONAL,
+ -- End of extensions for higher level association FU
+-- ...,
+ user-information [30] IMPLICIT Association-data OPTIONAL
+}
+
+A-DT-apdu ::= [APPLICATION 5] IMPLICIT SEQUENCE {
+ aso-qualifier [0] ASO-qualifier OPTIONAL,
+ asoi-identifier [1] IMPLICIT ASOI-identifier OPTIONAL,
+ ...,
+-- ...,
+ a-user-data [30] User-Data
+}
+
+ACRQ-apdu ::= [APPLICATION 6] IMPLICIT SEQUENCE {
+ aso-qualifier [0] ASO-qualifier OPTIONAL,
+ asoi-identifier [1] IMPLICIT ASOI-identifier OPTIONAL,
+ aSO-context-name [3] IMPLICIT ASO-context-name OPTIONAL,
+ aSO-context-name-list [4] IMPLICIT ASO-context-name-list OPTIONAL,
+ p-context-definition-list [5] Syntactic-context-list OPTIONAL,
+ ...,
+-- ...,
+ user-information [30] IMPLICIT User-information OPTIONAL
+}
+
+ACRP-apdu ::= [APPLICATION 7] IMPLICIT SEQUENCE {
+ aso-qualifier [0] ASO-qualifier OPTIONAL,
+ asoi-identifier [1] IMPLICIT ASOI-identifier OPTIONAL,
+ -- originally defined as ASO-context-name-list, but this has to be wrong
+ -- aSO-context-name [3] IMPLICIT ASO-context-name-list OPTIONAL,
+ aSO-context-name [3] IMPLICIT ASO-context-name OPTIONAL,
+ p-context-result-list [4] IMPLICIT P-context-result-list OPTIONAL,
+ ...,
+-- ...,
+ user-information [30] IMPLICIT User-information OPTIONAL
+}
+
+ABRT-diagnostic ::= ENUMERATED {
+ no-reason-given(1), protocol-error(2),
+ authentication-mechanism-name-not-recognized(3),
+ authentication-mechanism-name-required(4), authentication-failure(5),
+ authentication-required(6), ...
+ }
+
+ABRT-source ::= INTEGER {service-user(0), service-provider(1)
+}(0..1, ...)
+
+ACSE-requirements ::= BIT STRING {
+ authentication(0), aSO-context-negotiation(1), higher-level-association(2),
+ nested-association(3)}
+
+Application-context-name ::= ASO-context-name
+
+ASO-context-name ::= OBJECT IDENTIFIER
+
+-- Application-entity title productions follow (not in alphabetical order).
+AP-title ::= CHOICE {
+ ap-title-form1 AP-title-form1,
+ ap-title-form2 AP-title-form2,
+ ...,
+ ap-title-form3 AP-title-form3
+}
+
+AE-qualifier ::= ASO-qualifier
+
+ASO-qualifier ::= CHOICE {
+ aso-qualifier-form1 ASO-qualifier-form1,
+ aso-qualifier-form2 ASO-qualifier-form2,
+ ...,
+ aso-qualifier-form3 ASO-qualifier-form3,
+-- an alternative used by some systems from the days when ASO-qualifier
+-- was an ANY
+ aso-qualifier-form-any-octets ASO-qualifier-form-octets
+}
+
+-- When both AP-title and AE-qualifier data values are present in an AARQ or AARE APDU, both must
+-- have the same form to allow the construction of an AE-title as discussed in itu-t Rec. X.665 |
+-- ISO/IEC 9834-6
+AP-title-form1 ::=
+ Name
+
+-- The value assigned to AP-title-form1 is The Directory Name of an application-process title.
+ASO-qualifier-form1 ::=
+ RelativeDistinguishedName
+
+-- The value assigned to AE-qualifier-form1 is the relative distinguished name of a particular
+-- application-entity of the application-process identified by AP-title-form1.
+AP-title-form2 ::= OBJECT IDENTIFIER
+
+ASO-qualifier-form2 ::= INTEGER
+
+AP-title-form3 ::= PrintableString
+
+ASO-qualifier-form3 ::= PrintableString
+
+ASO-qualifier-form-octets ::= OCTET STRING
+
+AE-title ::= CHOICE {
+ ae-title-form1 AE-title-form1,
+ ae-title-form2 AE-title-form2,
+ ...
+}
+
+-- As defined in ITU-T Rec. X.650 | ISO/IEC 7498-3, an application-entity title is composed of an application process
+-- title and an application-entity qualifier. The ACSE protocol provides for the transfer of an application-entity title
+-- value by the transfer of its component values. However, the following data type is provided for International
+-- Standards that reference a single syntactic structure for AE titles.
+AE-title-form1 ::=
+ Name
+
+-- For access to The Directory (see ITU-T Rec. X.500 series | ISO/IEC 9594), an AE title has AE-title-form1. This value
+-- can be constructed from AP-title-form1 and AE-qualifier-form1 values contained in an AARQ or AARE APDU.
+-- A discussion of forming an AE-title-form1 from AP-title-form1 and AE-qualifier form1 may be found in itu-t
+-- Rec X.665 | ISO/IEC 9834-6.
+AE-title-form2 ::= OBJECT IDENTIFIER
+
+-- A discussion of forming an AE-title-form2 from AP-title-form2 and AE-qualifier-form2 may be found in
+-- itu-t Rec. X.665 | ISO/IEC 9834-6.
+AE-invocation-identifier ::= INTEGER
+
+AP-invocation-identifier ::= INTEGER
+
+ASOI-identifier ::= INTEGER(1..128, ...)
+
+ASOI-tag ::=
+ SEQUENCE SIZE (0..7, ...) OF
+ SEQUENCE {qualifier [0] ASO-qualifier OPTIONAL,
+ identifier [1] ASOI-identifier OPTIONAL}
+
+-- End of Application-entity title productions
+ASO-context-name-list ::= SEQUENCE OF ASO-context-name
+
+Syntactic-context-list ::= CHOICE {
+ context-list [0] Context-list,
+ default-contact-list [1] Default-Context-List
+}
+
+Context-list ::=
+ SEQUENCE OF
+ SEQUENCE {pci Presentation-context-identifier,
+ abstract-syntax Abstract-syntax-name,
+-- bug in asn2wrs
+-- transfer-syntaxes SEQUENCE OF Transfer-syntax-name}
+ transfer-syntaxes SEQUENCE OF TransferSyntaxName}
+
+Default-Context-List ::=
+ SEQUENCE OF
+ SEQUENCE {abstract-syntax-name [0] IMPLICIT Abstract-syntax-name OPTIONAL,
+-- bug in asn2wrs
+-- transfer-syntax-name [1] IMPLICIT Transfer-syntax-name
+ transfer-syntax-name [1] IMPLICIT TransferSyntaxName
+ }
+
+Abstract-syntax-name ::= OBJECT IDENTIFIER
+
+P-context-result-list ::=
+ SEQUENCE OF
+ SEQUENCE {result [0] IMPLICIT Result,
+ concrete-syntax-name [1] IMPLICIT Concrete-syntax-name OPTIONAL,
+ provider-reason
+ [2] IMPLICIT INTEGER {reason-not-specified(0),
+ abstract-syntax-not-supported(1),
+ proposed-transfer-syntaxes-not-supported(2),
+ local-limit-on-DCS-exceeded(3)} OPTIONAL
+ }
+
+Result ::= INTEGER {acceptance(0), user-rejection(1), provider-rejection(2)}
+
+--bug in asn2wrs
+--Concrete-syntax-name ::= Transfer-syntax-name
+Concrete-syntax-name ::= TransferSyntaxName
+
+--bug in asn2wrs
+--Transfer-syntax-name ::= OBJECT IDENTIFIER
+TransferSyntaxName ::= OBJECT IDENTIFIER
+
+Associate-result ::= INTEGER {
+ accepted(0), rejected-permanent(1), rejected-transient(2)}(0..2, ...)
+
+Associate-source-diagnostic ::= CHOICE {
+ service-user
+ [1] INTEGER {null(0), no-reason-given(1),
+ application-context-name-not-supported(2),
+ calling-AP-title-not-recognized(3),
+ calling-AP-invocation-identifier-not-recognized(4),
+ calling-AE-qualifier-not-recognized(5),
+ calling-AE-invocation-identifier-not-recognized(6),
+ called-AP-title-not-recognized(7),
+ called-AP-invocation-identifier-not-recognized(8),
+ called-AE-qualifier-not-recognized(9),
+ called-AE-invocation-identifier-not-recognized(10),
+ authentication-mechanism-name-not-recognized(11),
+ authentication-mechanism-name-required(12),
+ authentication-failure(13), authentication-required(14)}
+ (0..14, ...),
+ service-provider
+ [2] INTEGER {null(0), no-reason-given(1), no-common-acse-version(2)}
+ (0..2, ...)
+}
+
+User-information ::= Association-data
+
+Association-data ::= SEQUENCE OF EXTERNALt
+
+Simply-encoded-data ::= OCTET STRING
+
+User-Data ::= CHOICE {
+ user-information User-information,
+ simply-encoded-data Simply-encoded-data,
+ fully-encoded-data [0] PDV-list
+}
+
+-- see ITU-T Rec. X.226 | ISO/IEC 8823-1.
+PDV-list ::= SEQUENCE {
+--bug in asn2wrs
+-- transfer-syntax-name Transfer-syntax-name OPTIONAL,
+ transfer-syntax-name TransferSyntaxName OPTIONAL,
+ presentation-context-identifier Presentation-context-identifier,
+ presentation-data-values
+ CHOICE {simple-ASN1-type
+ [0] ANY
+ (CONSTRAINED BY {
+
+ -- Type corresponding to presentation context identifier
+ }),
+ octet-aligned [1] IMPLICIT OCTET STRING,
+ arbitrary [2] IMPLICIT BIT STRING}
+ -- see ITU-T Rec. X.226 | ISO/IEC 8823-1.
+}
+
+Presentation-context-identifier ::= INTEGER
+
+Authentication-value-other ::= SEQUENCE {
+ other-mechanism-name OBJECT IDENTIFIER,
+ other-mechanism-value ANY
+}
+
+Authentication-value ::= CHOICE {
+ charstring [0] IMPLICIT GraphicString,
+ bitstring [1] IMPLICIT BIT STRING,
+ external [2] IMPLICIT EXTERNALt,
+ other
+ [3] IMPLICIT Authentication-value-other
+}
+
+-- The abstract syntax of (calling/responding) authentication-value is determined by the authentication mechanism used
+-- during association establishment. The authentication mechanism is either explicitly denoted by the &id field (of type
+-- OBJECT IDENTIFIER) for a mechanism belonging to the class MECHANISM-NAME, or it is known implicitly by
+-- prior agreement between the communicating partners. If the "other" component is chosen, then the
+-- "mechanism-name" component must be present in accordance with ITU-T Rec. X.680 | ISO/IEC 8824-1. If the value
+-- "mechanism-name" occurs in the AARQ-apdu or the AARE-apdu, then that value must be the same as the value for
+-- "other-mechanism-name".
+Implementation-data ::= GraphicString
+
+Mechanism-name ::= OBJECT IDENTIFIER
+
+Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30)
+}
+
+Release-response-reason ::= INTEGER {
+ normal(0), not-finished(1), user-defined(30)}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/acse/acse.cnf b/epan/dissectors/asn1/acse/acse.cnf
new file mode 100644
index 00000000..8676d687
--- /dev/null
+++ b/epan/dissectors/asn1/acse/acse.cnf
@@ -0,0 +1,173 @@
+# asce.cnf
+# ACSE conformation file
+
+#.IMPORT ../x509if/x509if-exp.cnf
+
+#.OMIT_ASSIGNMENT
+Application-context-name
+#.END
+
+#.NO_EMIT ONLY_VALS
+ACSE-apdu
+
+#.EXPORTS
+EXTERNALt
+AE-title
+AP-title
+AP-invocation-identifier
+AE-qualifier
+ASO-qualifier
+AE-invocation-identifier
+
+#.TYPE_RENAME
+AARQ-apdu/_untag/protocol-version T_AARQ_protocol_version
+AARE-apdu/_untag/protocol-version T_AARE_protocol_version
+AARQ-apdu/_untag/aSO-context-name T_AARQ_aSO_context_name
+AARE-apdu/_untag/aSO-context-name T_AARE_aSO_context_name
+ACRQ-apdu/_untag/aSO-context-name T_ACRQ_aSO_context_name
+ACRP-apdu/_untag/aSO-context-name T_ACRP_aSO_context_name
+
+#.FIELD_RENAME
+AARQ-apdu/_untag/user-information aARQ_user_information
+AARE-apdu/_untag/user-information aARE_user_information
+ABRT-apdu/_untag/user-information aBRT_user_information
+RLRE-apdu/_untag/user-information rLRE_user_information
+RLRQ-apdu/_untag/user-information rLRQ_user_information
+P-context-result-list/_item/result pcontext_result
+RLRE-apdu/_untag/reason rLRE_reason
+RLRQ-apdu/_untag/reason rLRQ_reason
+AARQ-apdu/_untag/protocol-version aARQ_protocol_version
+AARE-apdu/_untag/protocol-version aARE_protocol_version
+AARQ-apdu/_untag/aSO-context-name aARQ_aSO_context_name
+AARE-apdu/_untag/aSO-context-name aARE_aSO_context_name
+ACRQ-apdu/_untag/aSO-context-name aCRQ_aSO_context_name
+PDV-list/presentation-data-values/octet-aligned pDVList_octet_aligned
+
+#.FN_PARS Authentication-value-other/other-mechanism-name
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Authentication-value-other/other-mechanism-name
+%(DEFAULT_BODY)s
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY Authentication-value-other/other-mechanism-value
+ if (actx->external.direct_ref_present) {
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, actx->subtree.top_tree, actx->private_data);
+ }
+
+#.FN_BODY PDV-list/presentation-data-values/simple-ASN1-type
+/*XXX not implemented yet */
+
+#.FN_BODY AARQ-apdu/_untag/aSO-context-name
+ offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset,
+ hf_index, &actx->external.direct_reference);
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY AARE-apdu/_untag/aSO-context-name
+ offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset,
+ hf_index, &actx->external.direct_reference);
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY ACRQ-apdu/_untag/aSO-context-name
+ offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset,
+ hf_index, &actx->external.direct_reference);
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY ACRP-apdu/_untag/aSO-context-name
+ offset = dissect_ber_object_identifier_str(FALSE, actx, tree, tvb, offset,
+ hf_index, &actx->external.direct_reference);
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY EXTERNALt/_untag/indirect-reference
+ char *oid;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE*) actx->private_data;
+
+ offset = dissect_ber_integer(FALSE, actx, tree, tvb, offset,
+ hf_acse_indirect_reference,
+ &indir_ref);
+
+ /* look up the indirect reference */
+ if((oid = find_oid_by_pres_ctx_id(actx->pinfo, indir_ref)) != NULL) {
+ actx->external.direct_reference = wmem_strdup(actx->pinfo->pool, oid);
+ actx->external.direct_ref_present = TRUE;
+ }
+
+ if(session)
+ session->pres_ctx_id = indir_ref;
+
+#.FN_PARS EXTERNALt/_untag/direct-reference
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY EXTERNALt/_untag/direct-reference
+%(DEFAULT_BODY)s
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY EXTERNALt/_untag/encoding/single-ASN1-type
+ if (actx->external.direct_ref_present) {
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->private_data);
+ }
+
+#.FN_BODY EXTERNALt/_untag/encoding/octet-aligned
+ if (actx->external.direct_ref_present) {
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->private_data);
+ }
+
+#.FN_BODY AARQ-apdu
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "A-Associate-Request");
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY AARE-apdu
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "A-Associate-Response");
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY RLRQ-apdu
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Release-Request");
+
+ %(DEFAULT_BODY)s
+
+#.FN_PARS Release-request-reason
+ VAL_PTR=&reason
+
+#.FN_BODY Release-request-reason
+ int reason = -1;
+
+ %(DEFAULT_BODY)s
+
+ if(reason != -1)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(reason, acse_Release_request_reason_vals, "reason(%%d)"));
+
+#.FN_BODY RLRE-apdu
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Release-Response");
+
+ %(DEFAULT_BODY)s
+
+#.FN_PARS Release-response-reason
+ VAL_PTR=&reason
+
+#.FN_BODY Release-response-reason
+ int reason = -1;
+
+ %(DEFAULT_BODY)s
+
+ if(reason != -1)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(reason, acse_Release_response_reason_vals, "reason(%%d)"));
+
+#.FN_BODY ABRT-apdu
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Abort");
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY ABRT-source VAL_PTR=&source
+ int source = -1;
+
+ %(DEFAULT_BODY)s
+
+ if(source != -1)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(source, acse_ABRT_source_vals, "source(%%d)"));
+
+#.FIELD_ATTR
+Association-data/_item NAME = "Association-data"
+P-context-result-list/_item/result ABBREV=pcontext.result
+#.END
diff --git a/epan/dissectors/asn1/acse/packet-acse-template.c b/epan/dissectors/asn1/acse/packet-acse-template.c
new file mode 100644
index 00000000..d10208ab
--- /dev/null
+++ b/epan/dissectors/asn1/acse/packet-acse-template.c
@@ -0,0 +1,283 @@
+/*XXX
+ There is a bug in asn2wrs that it can not yet handle tagged assignments such
+ as EXTERNAL ::= [UNIVERSAL 8] IMPLICIT SEQUENCE {
+
+ This bug is workedaround by some .cnf magic but this should be cleaned up
+ once asn2wrs learns how to deal with tagged assignments
+*/
+
+/* packet-acse.c
+ * Routines for ACSE packet dissection
+ * Ronnie Sahlberg 2005
+ * dissect_acse() based original handwritten dissector by Sid
+ * Yuriy Sidelnikov <YSidelnikov@hotmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/expert.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ses.h"
+#include "packet-pres.h"
+#include "packet-x509if.h"
+
+#define PNAME "ISO 8650-1 OSI Association Control Service"
+#define PSNAME "ACSE"
+#define PFNAME "acse"
+
+#define CLPNAME "ISO 10035-1 OSI Connectionless Association Control Service"
+#define CLPSNAME "CLACSE"
+#define CLPFNAME "clacse"
+
+#define ACSE_APDU_OID "2.2.1.0.1"
+
+void proto_register_acse(void);
+void proto_reg_handoff_acse(void);
+
+/* Initialize the protocol and registered fields */
+int proto_acse = -1;
+int proto_clacse = -1;
+
+
+
+#include "packet-acse-hf.c"
+static gint hf_acse_user_data = -1;
+
+/* Initialize the subtree pointers */
+static gint ett_acse = -1;
+#include "packet-acse-ett.c"
+
+static expert_field ei_acse_dissector_not_available = EI_INIT;
+static expert_field ei_acse_malformed = EI_INIT;
+static expert_field ei_acse_invalid_oid = EI_INIT;
+
+static dissector_handle_t acse_handle = NULL;
+
+/* indirect_reference, used to pick up the signalling so we know what
+ kind of data is transferred in SES_DATA_TRANSFER_PDUs */
+static guint32 indir_ref=0;
+
+#if NOT_NEEDED
+/* to keep track of presentation context identifiers and protocol-oids */
+typedef struct _acse_ctx_oid_t {
+ /* XXX here we should keep track of ADDRESS/PORT as well */
+ guint32 ctx_id;
+ char *oid;
+} acse_ctx_oid_t;
+static wmem_map_t *acse_ctx_oid_table = NULL;
+
+static guint
+acse_ctx_oid_hash(gconstpointer k)
+{
+ acse_ctx_oid_t *aco=(acse_ctx_oid_t *)k;
+ return aco->ctx_id;
+}
+/* XXX this one should be made ADDRESS/PORT aware */
+static gint
+acse_ctx_oid_equal(gconstpointer k1, gconstpointer k2)
+{
+ acse_ctx_oid_t *aco1=(acse_ctx_oid_t *)k1;
+ acse_ctx_oid_t *aco2=(acse_ctx_oid_t *)k2;
+ return aco1->ctx_id==aco2->ctx_id;
+}
+
+static void
+register_ctx_id_and_oid(packet_info *pinfo _U_, guint32 idx, char *oid)
+{
+ acse_ctx_oid_t *aco, *tmpaco;
+ aco=wmem_new(wmem_file_scope(), acse_ctx_oid_t);
+ aco->ctx_id=idx;
+ aco->oid=wmem_strdup(wmem_file_scope(), oid);
+
+ /* if this ctx already exists, remove the old one first */
+ tmpaco=(acse_ctx_oid_t *)wmem_map_lookup(acse_ctx_oid_table, aco);
+ if (tmpaco) {
+ wmem_map_remove(acse_ctx_oid_table, tmpaco);
+ }
+ wmem_map_insert(acse_ctx_oid_table, aco, aco);
+}
+static char *
+find_oid_by_ctx_id(packet_info *pinfo _U_, guint32 idx)
+{
+ acse_ctx_oid_t aco, *tmpaco;
+ aco.ctx_id=idx;
+ tmpaco=(acse_ctx_oid_t *)wmem_map_lookup(acse_ctx_oid_table, &aco);
+ if (tmpaco) {
+ return tmpaco->oid;
+ }
+ return NULL;
+}
+
+# endif /* NOT_NEEDED */
+
+#include "packet-acse-fn.c"
+
+
+/*
+* Dissect ACSE PDUs inside a PPDU.
+*/
+static int
+dissect_acse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ int offset = 0;
+ proto_item *item;
+ proto_tree *tree;
+ char *oid;
+ struct SESSION_DATA_STRUCTURE* session;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* do we have spdu type from the session dissector? */
+ if (data == NULL) {
+ return 0;
+ }
+
+ /* first, try to check length */
+ /* do we have at least 2 bytes */
+ if (!tvb_bytes_exist(tvb, 0, 2)) {
+ proto_tree_add_item(parent_tree, hf_acse_user_data, tvb, offset,
+ tvb_reported_length_remaining(tvb,offset), ENC_NA);
+ return 0; /* no, it isn't a ACSE PDU */
+ }
+
+ session = ( (struct SESSION_DATA_STRUCTURE*)data);
+ if (session->spdu_type == 0) {
+ if (parent_tree) {
+ REPORT_DISSECTOR_BUG("Wrong spdu type %x from session dissector.",session->spdu_type);
+ return 0;
+ }
+ }
+
+ asn1_ctx.private_data = session;
+ /* save parent_tree so subdissectors can create new top nodes */
+ asn1_ctx.subtree.top_tree = parent_tree;
+
+ /* ACSE has only AARQ,AARE,RLRQ,RLRE,ABRT type of pdu */
+ /* reject everything else */
+ /* data pdu is not ACSE pdu and has to go directly to app dissector */
+ switch (session->spdu_type) {
+ case SES_CONNECTION_REQUEST: /* AARQ */
+ case SES_CONNECTION_ACCEPT: /* AARE */
+ case SES_REFUSE: /* RLRE */
+ case SES_DISCONNECT: /* RLRQ */
+ case SES_FINISH: /* RLRE */
+ case SES_ABORT: /* ABRT */
+ case CLSES_UNIT_DATA: /* AARQ Connectionless session */
+ break;
+ case SES_DATA_TRANSFER:
+ oid=find_oid_by_pres_ctx_id(pinfo, indir_ref);
+ if (oid) {
+ if (strcmp(oid, ACSE_APDU_OID) == 0) {
+ proto_tree_add_expert_format(parent_tree, pinfo, &ei_acse_invalid_oid, tvb, offset, -1,
+ "Invalid OID: %s", ACSE_APDU_OID);
+ }
+ else {
+ call_ber_oid_callback(oid, tvb, offset, pinfo, parent_tree, NULL);
+ }
+ } else {
+ proto_tree_add_expert(parent_tree, pinfo, &ei_acse_dissector_not_available,
+ tvb, offset, -1);
+ }
+ return 0;
+ default:
+ return 0;
+ }
+
+ if (session->spdu_type == CLSES_UNIT_DATA) {
+ /* create display subtree for the connectionless protocol */
+ item = proto_tree_add_item(parent_tree, proto_clacse, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_acse);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "CL-ACSE");
+ col_clear(pinfo->cinfo, COL_INFO);
+ } else {
+ /* create display subtree for the protocol */
+ item = proto_tree_add_item(parent_tree, proto_acse, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_acse);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ACSE");
+ col_clear(pinfo->cinfo, COL_INFO);
+ }
+
+ /* we can't make any additional checking here */
+ /* postpone it before dissector will have more information */
+ while (tvb_reported_length_remaining(tvb, offset) > 0) {
+ int old_offset=offset;
+ offset = dissect_acse_ACSE_apdu(FALSE, tvb, offset, &asn1_ctx, tree, -1);
+ if (offset == old_offset) {
+ proto_tree_add_expert(tree, pinfo, &ei_acse_malformed, tvb, offset, -1);
+ break;
+ }
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_acse ----------------------------------------------*/
+void proto_register_acse(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_acse_user_data,
+ { "User data", "acse.user_data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-acse-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_acse,
+#include "packet-acse-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_acse_dissector_not_available, { "acse.dissector_not_available", PI_UNDECODED, PI_WARN, "Dissector is not available", EXPFILL }},
+ { &ei_acse_malformed, { "acse.malformed", PI_MALFORMED, PI_ERROR, "Malformed packet", EXPFILL }},
+ { &ei_acse_invalid_oid, { "acse.invalid_oid", PI_UNDECODED, PI_WARN, "Invalid OID", EXPFILL }},
+ };
+
+ expert_module_t* expert_acse;
+
+ /* Register protocol */
+ proto_acse = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ acse_handle = register_dissector("acse", dissect_acse, proto_acse);
+
+ /* Register connectionless protocol */
+ proto_clacse = proto_register_protocol(CLPNAME, CLPSNAME, CLPFNAME);
+
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_acse, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_acse = expert_register_protocol(proto_acse);
+ expert_register_field_array(expert_acse, ei, array_length(ei));
+
+#if NOT_NEEDED
+ acse_ctx_oid_table = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), acse_ctx_oid_hash,
+ acse_ctx_oid_equal);
+#endif
+}
+
+
+/*--- proto_reg_handoff_acse -------------------------------------------*/
+void proto_reg_handoff_acse(void) {
+/*#include "packet-acse-dis-tab.c"*/
+ oid_add_from_string("id-aCSE","2.2.3.1.1");
+ register_ber_oid_dissector_handle(ACSE_APDU_OID, acse_handle, proto_acse, "id-as-acse");
+
+
+}
+
diff --git a/epan/dissectors/asn1/acse/packet-acse-template.h b/epan/dissectors/asn1/acse/packet-acse-template.h
new file mode 100644
index 00000000..26c86702
--- /dev/null
+++ b/epan/dissectors/asn1/acse/packet-acse-template.h
@@ -0,0 +1,19 @@
+/* packet-acse.h
+ * Routines for ACSE packet dissection
+ * Ronnie Sahlberg 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_ACSE_H
+#define PACKET_ACSE_H
+
+#include <epan/asn1.h>
+#include "packet-acse-exp.h"
+
+#endif /* PACKET_ACSE_H */
+
diff --git a/epan/dissectors/asn1/ain/AIN-Errors.asn b/epan/dissectors/asn1/ain/AIN-Errors.asn
new file mode 100644
index 00000000..f1133c47
--- /dev/null
+++ b/epan/dissectors/asn1/ain/AIN-Errors.asn
@@ -0,0 +1,40 @@
+ AIN-Errors{ ainErrorsObjectIdentifier }
+ --This module contains the type definitions for the AIN errors.
+ DEFINITIONS ::=
+
+ BEGIN
+
+ IMPORTS
+ ERROR
+ FROM Remote-Operations-Information-Objects {
+ joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+
+ ApplicationErrorString,
+ ExtensionParameter,
+ FailureCause,
+ FailureCauseData
+ FROM AIN-Parameters{ ainParametersObjectIdentifier };
+
+ --ainErrorsObjectIdentifier OBJECT IDENTIFIER:: = ? - -not yet defined
+ -- TYPE DEFINITION FOR AIN ERRORS FOLLOWS
+
+ applicationError ERROR ::= {
+ PARAMETER
+ SEQUENCE{
+ applicationErrorString ApplicationErrorString,
+ extensionParameter ExtensionParameter OPTIONAL
+ }
+ CODE private: 1
+}
+
+ failureReport ERROR ::= {
+ PARAMETER SEQUENCE{
+ failureCause FailureCause,
+ failureCauseData FailureCauseData OPTIONAL,
+ extensionParameter ExtensionParameter OPTIONAL
+ }
+ CODE private: 2
+}
+
+END
diff --git a/epan/dissectors/asn1/ain/AIN-Operations.asn b/epan/dissectors/asn1/ain/AIN-Operations.asn
new file mode 100644
index 00000000..ce9551d5
--- /dev/null
+++ b/epan/dissectors/asn1/ain/AIN-Operations.asn
@@ -0,0 +1,2022 @@
+ AIN-Operations{ ainOperationsObjectIdentifier }
+ --This module contains type definitions for the AIN operations.
+
+ DEFINITIONS ::=
+
+ BEGIN
+
+ IMPORTS
+ OPERATION
+ FROM Remote-Operations-Information-Objects {
+ joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+ --error types
+ applicationError,
+ failureReport
+ FROM AIN -- Errors(ainErrorsObjectIdentifier}
+ --parameters
+ AccessCode,
+ ACGEncountered,
+ ACGGlobalOverride,
+ ActResult,
+ AdministrableObject,
+ AlternateBillingIndicator,
+ AlternateCarrier,
+ AlternateDialingPlanInd,
+ AlternateTrunkGroup,
+ AMAAlternateBillingNumber,
+ AMABAFModules,
+ AMABillingFeature,
+ AMABusinessCustomerID,
+ AMADigitsDialedWC,
+ AMALineNumber,
+ AMAMeasure,
+ AMAMeasurement,
+ AMASequenceNumber,
+ AMAServiceProviderID,
+ AMASetHexABIndicator,
+ AMAslpID,
+ Amp1,
+ Amp2,
+ AnswerIndicator,
+ ApplicationErrorString,
+ ApplicationIndicator,
+ ApplyRestrictions,
+ BCMType,
+ BearerCapability,
+ BusyCause,
+ BusyType,
+ CalledPartyID,
+ CalledPartyStationType,
+ CallingGeodeticLocation,
+ CallingPartyBGID,
+ CallingPartyID,
+ CallType,
+ Carrier,
+ CarrierUsage,
+ CcID,
+ ChargeNumber,
+ ChargePartyStationType,
+ ClearCause,
+ ClearCauseData,
+ CloseCause,
+ CollectedAddressInfo,
+ CollectedDigits,
+ CongestionLevel,
+ ConnectTime,
+ ControlCauseIndicator,
+ ControlEncountered,
+ ControllingLegTreatment,
+ CsID,
+ CTRConnection,
+ DestinationAddress,
+ DisconnectCause,
+ DisconnectFlag,
+ DisplayText,
+ DPConverter,
+ DTMFDigitsEntered,
+ EchoData,
+ EditListType,
+ EDPNotification,
+ EDPRequest,
+ EnvelopContent,
+ EnvelopeEncodingAuthority,
+ ErrorCause,
+ ExtendedRinging,
+ ExtensionParameter,
+ FacilityGID,
+ FacilityMemberID,
+ FacilityStatus,
+ FailedMessage,
+ Failure,
+ FailureCause,
+ FailureCauseData,
+ FeatureActivatorID,
+ ForwardCallIndicator,
+ GapDuration,
+ GapInterval,
+ GenericAddress,
+ GenericAddressList,
+ GenericDigits,
+ GenericDigitsList,
+ GenericName,
+ GlobalTitleAddress,
+ InfoProvided,
+ IPReturnBlock,
+ JurisdictionInformation,
+ LampTreatment,
+ Lata,
+ LegID,
+ MonitorTime,
+ NetworkSpecificFacilities,
+ NotificationDuration,
+ NotificationIndicator,
+ ODTMFDigitsString,
+ ODTMFNumberOfDigits,
+ ONoAnswerTimer,
+ OriginalCalledPartyID,
+ OSIIndicator,
+ OutpulseNumber,
+ OverflowBillingIndicator,
+ PartyID,
+ PartyOnHold,
+ PassiveLegTreatment,
+ PointInCall,
+ Prefix,
+ PrimaryBillingIndicator,
+ PrimaryTrunkGroup,
+ ProvideInfo,
+ RedirectingPartyID,
+ RedirectionInformation,
+ ResourceType,
+ ResultCause,
+ RTPReroutingNumber,
+ RTPServiceIndicator,
+ Sap,
+ SecondAlternateBillingIndicator,
+ SecondAlternateCarrier,
+ SecondAlternateTrunkGroup,
+ SecurityEnvelope,
+ ServiceContext,
+ ServiceProviderID,
+ SignalingPointCode,
+ Spid,
+ SrhrGroupID,
+ SSPResponseMessageTimerT1,
+ StatusCause,
+ STRConnection,
+ StrParameterBlock,
+ SubsystemNumber,
+ Tcm,
+ TDTMFDigitString,
+ TDTMFNumberOfDigits,
+ TerminationIndicator,
+ TimeoutTimer,
+ TimerUpdated,
+ TNoAnswerTimer,
+ TransID,
+ TranslationType,
+ TriggerCriteriaFlag,
+ TriggerCriteriaType,
+ TriggerInformation,
+ UpdateGroups,
+ UserID,
+ VerticalServiceCode,
+ WakeUpDuration
+ FROM AIN-Parameters{ ainParametersObjectIdentifier };
+
+-- ainOperationsObjectIdentifier OBJECT IDENTIFIER :: = ? - -not yet defined
+
+ -- TYPE DEFINITIONS FOR AIN OPERATIONS FOLLOWS
+
+ callInfoFromResource OPERATION ::= {
+ ARGUMENT
+ CallInfoFromResourceArg
+ ERRORS{
+ applicationError,
+ failureReport
+ }
+ CODE private: 26116
+ --Family Name is "Caller Interaction"
+ }
+
+CallInfoFromResourceArg ::= SEQUENCE {
+ iPReturnBlock IPReturnBlock OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+
+ close OPERATION ::= {
+ ARGUMENT
+ CloseArg
+ CODE private: 28161
+ --Family Name is "Transaction Control"
+ }
+
+ CloseArg ::= SEQUENCE{
+ userID UserID OPTIONAL,
+ bearerCapability BearerCapability OPTIONAL,
+ closeCause CloseCause OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ cTRClear OPERATION ::= {
+ ARGUMENT
+ CTRClearArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --acknowledge,
+ --analyzeRoute,
+ --collectInformation,
+ -- continue,
+ --disconnect,
+ --disconnectLeg,
+ --forwardCall,
+ --mergeCall,
+ --moveleg,
+ --originateCall,
+ --splitLeg
+ -- }
+ CODE private: 26118
+ }
+ -- Family Name is "Caller Interaction"
+
+ CTRClearArg ::= SEQUENCE{
+ clearCause ClearCause,
+ legID LegID OPTIONAL,
+ ccID CcID OPTIONAL,
+ bCMType BCMType OPTIONAL,
+ pointInCall PointInCall OPTIONAL,
+ collectedDigits CollectedDigits OPTIONAL,
+ collectedAddressInfo CollectedAddressInfo OPTIONAL,
+ carrier Carrier OPTIONAL,
+ failureCause FailureCause OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ aMAMeasurement AMAMeasurement OPTIONAL,
+ clearCauseData ClearCauseData OPTIONAL,
+ iPReturnBlock IPReturnBlock OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ failureOutcome OPERATION ::= {
+ ARGUMENT
+ FailureOutcomeArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --acknowledge,
+ --connectToResource,
+ --disconnect,
+ --mergeCall
+ -- }
+ CODE private: 25604
+ }
+ --Family Name is "Connection Control"
+
+ FailureOutcomeArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ ccID CcID OPTIONAL,
+ legID LegID OPTIONAL,
+ bCMType BCMType OPTIONAL,
+ pointInCall PointInCall OPTIONAL,
+ failureCause FailureCause OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ infoAnalyzed OPERATION ::= {
+ ARGUMENT
+ InfoAnalyzedArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ -- continue,
+ --sendToResource,
+ --disconnect,
+ --collectInformation
+ -- }
+ CODE private: 25603
+ }
+ --Family Name is "Request/Notification"
+
+ InfoAnalyzedArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ calledPartyID CalledPartyID OPTIONAL,
+ lata Lata OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ callingPartyBGID CallingPartyBGID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ carrier Carrier OPTIONAL,
+ accessCode AccessCode OPTIONAL,
+ collectedAddressInfo CollectedAddressInfo OPTIONAL,
+ collectedDigits CollectedDigits OPTIONAL,
+ verticalServiceCode VerticalServiceCode OPTIONAL,
+ tcm Tcm OPTIONAL,
+ originalCalledPartyID OriginalCalledPartyID OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ sap Sap OPTIONAL,
+ sTRConnection STRConnection OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ genericAddressList GenericAddressList OPTIONAL,
+ networkSpecificFacilities NetworkSpecificFacilities OPTIONAL,
+ cTRConnection CTRConnection OPTIONAL,
+ jurisdictionInformation JurisdictionInformation OPTIONAL,
+ prefix Prefix OPTIONAL,
+ callingGeodeticLocation CallingGeodeticLocation OPTIONAL,
+ triggerInformation TriggerInformation OPTIONAL
+ }
+
+ infoCollected OPERATION ::= {
+ ARGUMENT
+ InfoCollectedArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ --sendToResource,
+ --disconnect
+ -- continue
+ -- }
+ CODE private: 25602
+ }
+ --Family Name is "Request/Notification"
+
+ InfoCollectedArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ chargeNumber ChargeNumber OPTIONAL,
+ lata Lata OPTIONAL,
+ carrier Carrier OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ accessCode AccessCode OPTIONAL,
+ collectedAddressInfo CollectedAddressInfo OPTIONAL,
+ collectedDigits CollectedDigits OPTIONAL,
+ verticalServiceCode VerticalServiceCode OPTIONAL,
+ tcm Tcm OPTIONAL,
+ originalCalledPartyID OriginalCalledPartyID OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ sap Sap OPTIONAL,
+ genericAddressList GenericAddressList OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ prefix Prefix OPTIONAL,
+ callingGeodeticLocation CallingGeodeticLocation OPTIONAL,
+ triggerInformation TriggerInformation OPTIONAL
+ }
+
+ networkBusy OPERATION ::= {
+ ARGUMENT
+ NetworkBusyArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ --sendToResource,
+ --disconnect,
+ -- continue,
+ --forwardCall
+ -- }
+ CODE private: 25623
+ }
+ --Family Name is "Request/Notification"
+
+ NetworkBusyArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ chargeNumber ChargeNumber OPTIONAL,
+ lata Lata OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ calledPartyID CalledPartyID OPTIONAL,
+ tcm Tcm OPTIONAL,
+ originalCalledPartyID OriginalCalledPartyID OPTIONAL,
+ carrier Carrier OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ sap Sap OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ prefix Prefix OPTIONAL,
+ triggerInformation TriggerInformation OPTIONAL
+ }
+
+ oAnswer OPERATION ::= {
+ ARGUMENT
+ OAnswerArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ CODE private: 25611
+ }
+ --Family Name is "Request/Notification"
+
+ OAnswerArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ oAbandon OPERATION ::= {
+ ARGUMENT
+ OAbandonArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --connectToResource,
+ --disconnect,
+ --disconnectLeg,
+ --mergeCall,
+ --reconnect
+ -- }
+ CODE private: 25614
+ }
+ --Family Name is "Request/Notification"
+
+ OAbandonArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ ccID CcID OPTIONAL,
+ pointInCall PointInCall OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL
+ }
+
+ oDisconnect OPERATION ::= {
+ ARGUMENT
+ ODisconnectArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --collectInformation,
+ --sendToResource,
+ --analyzeRoute,
+ --connectToResource,
+ --disconnect,
+ --disconnectLeg,
+ --mergeCall,
+ --reconnect
+ -- }
+ CODE private: 25626
+ }
+ --Family Name is "Request/Notification"
+
+ ODisconnectArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ disconnectCause DisconnectCause OPTIONAL,
+ legID LegID OPTIONAL,
+ pointInCall PointInCall OPTIONAL
+ }
+
+ oMidCall OPERATION ::= {
+ ARGUMENT
+ OMidCallArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ --collectInformation,
+ --connectToResource,
+ --disconnect,
+ --disconnectLeg,
+ --mergeCall,
+ --moveLeg,
+ --originateCall,
+ --splitLeg
+ -- }
+ CODE private: 25615
+ }
+ --Family Name is "Request/Notification"
+
+ OMidCallArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ legID LegID OPTIONAL,
+ pointInCall PointInCall OPTIONAL,
+ ccID CcID OPTIONAL,
+ featureActivatorID FeatureActivatorID OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ callingPartyBGID CallingPartyBGID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ carrier Carrier OPTIONAL,
+ accessCode AccessCode OPTIONAL,
+ collectedAddressInfo CollectedAddressInfo OPTIONAL,
+ collectedDigits CollectedDigits OPTIONAL,
+ verticalServiceCode VerticalServiceCode OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ oNoAnswer OPERATION ::= {
+ ARGUMENT
+ ONoAnswerArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ --sendToResource,
+ -- continue
+ -- }
+ CODE private: 25609
+ }
+ --Family Name is "Request/Notification"
+
+ ONoAnswerArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ calledPartyID CalledPartyID OPTIONAL,
+ lata Lata OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ carrier Carrier OPTIONAL,
+ originalCalledPartyID OriginalCalledPartyID OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ sap Sap OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ sTRConnection STRConnection OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ cTRConnection CTRConnection OPTIONAL,
+ prefix Prefix OPTIONAL,
+ triggerInformation TriggerInformation OPTIONAL
+ }
+
+ oSuspended OPERATION ::= {
+ ARGUMENT
+ OSuspendedArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --collectInformation,
+ --sendToResource,
+ --analyzeRoute,
+ --connectToResource,
+ --disconnect,
+ --disconnectLeg,
+ --mergeCall
+ -- }
+ CODE private: 25625
+ }
+
+ OSuspendedArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ legID LegID OPTIONAL,
+ pointInCall PointInCall OPTIONAL
+ }
+
+ --Family Name is "Request/Notification"
+
+ oTermSeized OPERATION ::= {
+ ARGUMENT
+ OTermSeizedArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ CODE private: 25612
+ }
+ --Family Name is "Request/Notification"
+
+ OTermSeizedArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ originationAttempt OPERATION ::= {
+ ARGUMENT
+ OriginationAttemptArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ --sendToResource,
+ --disconnect
+ -- }
+ CODE private: 25624
+ }
+ --Family Name is "Request/Notification"
+
+ OriginationAttemptArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ chargeNumber ChargeNumber OPTIONAL,
+ lata Lata OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ carrier Carrier OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ sap Sap OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ triggerInformation TriggerInformation OPTIONAL
+ }
+
+ resourceClear OPERATION ::= {
+ ARGUMENT
+ ResourceClearArg
+ RESULT SEQUENCE{
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ --forwardCall,
+ --sendToResource,
+ --authorizeTermination,
+ --disconnect,
+ -- continue,
+ --offerCall,
+ --collectInformation
+ -- }
+ CODE private: 26114
+ }
+ --Family Name is "Caller Interaction"
+
+ ResourceClearArg ::= SEQUENCE{
+ clearCause ClearCause,
+ collectedDigits CollectedDigits OPTIONAL,
+ collectedAddressInfo CollectedAddressInfo OPTIONAL,
+ carrier Carrier OPTIONAL,
+ failureCause FailureCause OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ aMAMeasurement AMAMeasurement OPTIONAL,
+ clearCauseData ClearCauseData OPTIONAL,
+ iPReturnBlock IPReturnBlock OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ successOutcome OPERATION ::= {
+ ARGUMENT
+ SuccessOutcomeArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --acknowledge,
+ --connectToResource,
+ --disconnectLeg,
+ --moveLeg
+ -- }
+ CODE private: 25617
+ }
+ --Family Name is "Request/Notification"
+
+ SuccessOutcomeArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ ccID CcID OPTIONAL,
+ legID LegID OPTIONAL,
+ bCMType BCMType OPTIONAL,
+ pointInCall PointInCall OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ tAnswer OPERATION ::= {
+ ARGUMENT
+ TAnswerArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ CODE private: 25610
+ }
+ --Family Name is “Request / Notificationâ€
+
+ TAnswerArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ tBusy OPERATION ::= {
+ ARGUMENT
+ TBusyArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --forwardCall,
+ --offerCall,
+ -- continue,
+ --sendToResource
+ -- }
+ CODE private: 25606
+ }
+ --Family Name is "Request/Notification"
+
+ TBusyArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ calledPartyID CalledPartyID OPTIONAL,
+ lata Lata OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ originalCalledPartyID OriginalCalledPartyID OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ busyCause BusyCause OPTIONAL,
+ busyType BusyType OPTIONAL,
+ calledPartyStationType CalledPartyStationType OPTIONAL,
+ sap Sap OPTIONAL,
+ genericName GenericName OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ sTRConnection STRConnection OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ cTRConnection CTRConnection OPTIONAL,
+ triggerInformation TriggerInformation OPTIONAL
+ }
+
+ tDisconnect OPERATION ::= {
+ ARGUMENT
+ TDisconnectArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ --collectInformation,
+ --connectToResource,
+ --disconnect,
+ --disconnectLeg,
+ --mergeCall,
+ --reconnect
+ -- }
+ CODE private: 25618
+ }
+ --Family Name is "Request/Notification"
+
+ TDisconnectArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ ccID CcID OPTIONAL,
+ legID LegID OPTIONAL,
+ pointInCall PointInCall OPTIONAL,
+ disconnectCause DisconnectCause OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL
+ }
+
+ tDTMFEntered OPERATION ::= {
+ ARGUMENT
+ TDTMFEnteredArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ -- continue,
+ --disconnect,
+ --forwardCall,
+ --sendToResource
+ -- }
+ CODE private: 25628
+ }
+ --Family Name is "Request/Notification"
+
+ TDTMFEnteredArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ dTMFDigitsDetected DTMFDigitsDetected OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL
+ }
+
+ tMidCall OPERATION ::= {
+ ARGUMENT
+ TMidCallArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ --collectInformation,
+ --connectToResource,
+ --disconnect,
+ --disconnectLeg,
+ --mergeCall,
+ --moveLeg,
+ --originateCall,
+ --splitLeg
+ -- }
+ CODE private: 25619
+ }
+ --Family Name is "Request/Notification"
+ TMidCallArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ calledPartyID CalledPartyID OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ legID LegID OPTIONAL,
+ pointInCall PointInCall OPTIONAL,
+ ccID CcID OPTIONAL,
+ featureActivatorID FeatureActivatorID OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ callingPartyBGID CallingPartyBGID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ carrier Carrier OPTIONAL,
+ accessCode AccessCode OPTIONAL,
+ collectedAddressInfo CollectedAddressInfo OPTIONAL,
+ collectedDigits CollectedDigits OPTIONAL,
+ verticalServiceCode VerticalServiceCode OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL
+ }
+
+ tNoAnswer OPERATION ::= {
+ ARGUMENT
+ TNoAnswerArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --forwardCall,
+ --sendToResource,
+ -- continue
+ -- }
+ CODE private: 25608
+ }
+ --Family Name is "Request/Notification"
+
+ TNoAnswerArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ calledPartyID CalledPartyID OPTIONAL,
+ lata Lata OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ originalCalledPartyID OriginalCalledPartyID OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ calledPartyStationType CalledPartyStationType OPTIONAL,
+ sap Sap OPTIONAL,
+ genericName GenericName OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ sTRConnection STRConnection OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ cTRConnection CTRConnection OPTIONAL,
+ triggerInformation TriggerInformation OPTIONAL
+ }
+
+ terminationAttempt OPERATION ::= {
+ ARGUMENT
+ TerminationAttemptArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --authorizeTermination,
+ --forwardCall,
+ --sendToResource,
+ --disconnect
+ -- }
+ CODE private: 25605
+ }
+
+ TerminationAttemptArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ calledPartyID CalledPartyID OPTIONAL,
+ lata Lata OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ calledPartyStationType CalledPartyStationType OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ tcm Tcm OPTIONAL,
+ originalCalledPartyID OriginalCalledPartyID OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ genericName GenericName OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ sap Sap OPTIONAL,
+ sTRConnection STRConnection OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ cTRConnection CTRConnection OPTIONAL,
+ rTPServiceIndicator RTPServiceIndicator OPTIONAL,
+ genericAddressList GenericAddressList OPTIONAL,
+ triggerInformation TriggerInformation OPTIONAL,
+ callingGeodeticLocation CallingGeodeticLocation OPTIONAL
+ }
+
+ termResourceAvailable OPERATION ::= {
+ ARGUMENT
+ TermResourceAvailableArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --forwardCall,
+ --sendToResource,
+ -- continue
+ -- }
+ CODE private: 25613
+ }
+ --Family Name is "Request/Notification"
+
+ TermResourceAvailableArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ calledPartyID CalledPartyID OPTIONAL,
+ lata Lata OPTIONAL,
+ triggerCriteriaType TriggerCriteriaType OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ originalCalledPartyID OriginalCalledPartyID OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ calledPartyStationType CalledPartyStationType OPTIONAL,
+ sap Sap OPTIONAL,
+ genericName GenericName OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ sTRConnection STRConnection OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ cTRConnection CTRConnection OPTIONAL,
+ triggerInformation TriggerInformation OPTIONAL
+ }
+
+ timeout OPERATION ::= {
+ ARGUMENT
+ TimeoutArg
+ ERRORS{ applicationError,
+ failureReport
+ }
+ --LINKED{
+ --analyzeRoute,
+ --connectToResource,
+ -- continue,
+ --disconnect,
+ --forwardCall,
+ --sendToResource
+ -- }
+ CODE private:25620
+ }
+ --Family Name is "Request/Notification"
+
+ TimeoutArg ::= SEQUENCE{
+ userID UserID,
+ bearerCapability BearerCapability,
+ legID LegID OPTIONAL,
+ bCMType BCMType OPTIONAL,
+ pointInCall PointInCall OPTIONAL,
+ ccID CcID OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ notificationIndicator [111] IMPLICIT NotificationIndicator OPTIONAL
+ }
+
+ analyzeRoute OPERATION ::= {
+ ARGUMENT
+ AnalyzeRouteArg
+ ERRORS{ applicationError
+ }
+ CODE private: 25857
+ }
+ --Family Name is "Connection Control (Call Model)"
+
+ AnalyzeRouteArg ::= SEQUENCE{
+ chargeNumber ChargeNumber OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ calledPartyID CalledPartyID OPTIONAL,
+ outpulseNumber OutpulseNumber OPTIONAL,
+ tcm Tcm OPTIONAL,
+ primaryTrunkGroup PrimaryTrunkGroup OPTIONAL,
+ alternateTrunkGroup AlternateTrunkGroup OPTIONAL,
+ secondAlternateTrunkGroup SecondAlternateTrunkGroup OPTIONAL,
+ carrier Carrier OPTIONAL,
+ alternateCarrier AlternateCarrier OPTIONAL,
+ secondAlternateCarrier SecondAlternateCarrier OPTIONAL,
+ passiveLegTreatment PassiveLegTreatment OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ alternateBillingIndicator AlternateBillingIndicator OPTIONAL,
+ secondAlternateBillingIndicator SecondAlternateBillingIndicator OPTIONAL,
+ overflowBillingIndicator OverflowBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ carrierUsage CarrierUsage OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ genericAddressList GenericAddressList OPTIONAL,
+ networkSpecificFacilities NetworkSpecificFacilities OPTIONAL,
+ callingPartyBGID CallingPartyBGID OPTIONAL,
+ forwardCallIndicator ForwardCallIndicator OPTIONAL,
+ aMAServiceProviderID AMAServiceProviderID OPTIONAL,
+ prefix Prefix OPTIONAL,
+ genericDigitsList GenericDigitsList OPTIONAL,
+ applyRestrictions ApplyRestrictions OPTIONAL,
+ displayText DisplayText OPTIONAL,
+ genericName GenericName OPTIONAL
+ }
+
+ authorizeTermination OPERATION ::= {
+ ARGUMENT
+ AuthorizeTerminationArg
+ ERRORS{ applicationError
+ }
+ CODE private: 25858
+ }
+ --Family Name is "Connection Control (Call Model)"
+
+ AuthorizeTerminationArg ::= SEQUENCE{
+ callingPartyID CallingPartyID OPTIONAL,
+ tcm Tcm OPTIONAL,
+ controllingLegTreatment ControllingLegTreatment OPTIONAL,
+ displayText DisplayText OPTIONAL,
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL,
+ genericName GenericName OPTIONAL
+ }
+
+
+ cancelResourceEvent OPERATION ::= {
+ ARGUMENT
+ CancelResourceEventArg
+ ERRORS{ applicationError
+ }
+ --LINKED{ resourceClear }
+ CODE private: 26115
+ }
+ --Family Name is "Caller Interaction"
+
+ CancelResourceEventArg ::= SEQUENCE{
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ collectInformation OPERATION ::= {
+ ARGUMENT
+ CollectInformationArg
+ ERRORS{ applicationError
+ }
+ CODE private: 25861
+ }
+ --Family Name is "Connection Control (Call Model)"
+
+ CollectInformationArg ::= SEQUENCE{
+ callingPartyID CallingPartyID OPTIONAL,
+ collectedDigits CollectedDigits OPTIONAL,
+ dPConverter DPConverter OPTIONAL,
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ alternateBillingIndicator AlternateBillingIndicator OPTIONAL,
+ secondAlternateBillingIndicator SecondAlternateBillingIndicator OPTIONAL,
+ overflowBillingIndicator OverflowBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ alternateDialingPlanInd AlternateDialingPlanInd OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL
+ }
+
+ connectToResource OPERATION ::= {
+ ARGUMENT
+ ConnectToResourceArg
+ ERRORS{ applicationError
+ }
+ --LINKED{
+ --callInfoFromResource,
+ --cTRClear
+ -- }
+ CODE private: 26117
+ --Family Name is "Caller Interaction"
+ }
+
+ ConnectToResourceArg ::= SEQUENCE{
+ resourceType ResourceType,
+ strParameterBlock StrParameterBlock,
+ legID LegID OPTIONAL,
+ disconnectFlag DisconnectFlag OPTIONAL,
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ destinationAddress DestinationAddress OPTIONAL,
+ dPConverter DPConverter OPTIONAL,
+ aMAMeasure AMAMeasure OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ continue OPERATION ::= {
+ ARGUMENT
+ ContinueArg
+ ERRORS{ applicationError
+ }
+ CODE private: 25869
+ }
+
+ ContinueArg ::= SEQUENCE{
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL
+ }
+
+ createCall OPERATION ::= {
+ ARGUMENT
+ CreateCallArg
+ RESULT
+ CreateCallRes
+ ERRORS{ applicationError
+ failureReport
+ }
+ --LINKED{
+ --originationAttempt
+ -- }
+ CODE private: 25863
+ }
+
+ CreateCallArg ::= SEQUENCE{
+ calledPartyID CalledPartyID,
+ callingPartyID CallingPartyID,
+ chargeNumber ChargeNumber OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ carrier Carrier OPTIONAL,
+ alternateCarrier AlternateCarrier OPTIONAL,
+ secondAlternateCarrier SecondAlternateCarrier OPTIONAL,
+ passiveLegTreatment PassiveLegTreatment OPTIONAL,
+ genericAddressList GenericAddressList OPTIONAL,
+ callingPartyBGID CallingPartyBGID OPTIONAL,
+ forwardCallIndicator ForwardCallIndicator OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ carrierUsage CarrierUsage OPTIONAL,
+ controllingLegTreatment ControllingLegTreatment OPTIONAL,
+ userID UserID OPTIONAL,
+ bearerCapability BearerCapability OPTIONAL,
+ verticalServiceCode VerticalServiceCode OPTIONAL,
+ accessCode AccessCode OPTIONAL,
+ displayText DisplayText OPTIONAL,
+ notificationDuration NotificationDuration OPTIONAL,
+ wakeUpDuration WakeUpDuration OPTIONAL,
+ oSIIndicator OSIIndicator OPTIONAL,
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ overflowBillingIndicator OverflowBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ prefix Prefix OPTIONAL
+ }
+
+ CreateCallRes ::= SEQUENCE {
+ failureCause FailureCause OPTIONAL
+ }
+
+ disconnect OPERATION ::= {
+ ARGUMENT
+ DisconnectArg
+ ERRORS{ applicationError
+ }
+ CODE private: 25859
+ --Family Name is "Connection Control (Call Model)"
+ }
+
+ DisconnectArg ::= SEQUENCE{
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL,
+ rTPReroutingNumber RTPReroutingNumber OPTIONAL
+ }
+
+ disconnectLeg OPERATION ::= {
+ ARGUMENT
+ DisconnectLegArg
+ ERRORS{ applicationError
+ }
+ --LINKED{
+ --cTRClear,
+ --failureOutcome
+ -- }
+ CODE private: 25864
+ --Family Name is "Connection Control (Call Model)"
+ }
+
+ DisconnectLegArg ::= SEQUENCE{
+ legID LegID,
+ csID CsID OPTIONAL,
+ passiveLegTreatment PassiveLegTreatment OPTIONAL,
+ lampTreatment LampTreatment OPTIONAL,
+ displayText DisplayText OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+
+ forwardCall OPERATION ::= {
+ ARGUMENT
+ ForwardCallArg
+ ERRORS{ applicationError
+ }
+ CODE private: 27137
+ }
+
+ ForwardCallArg ::= SEQUENCE{
+ callingPartyID CallingPartyID OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ calledPartyID CalledPartyID OPTIONAL,
+ outpulseNumber OutpulseNumber OPTIONAL,
+ tcm Tcm OPTIONAL,
+ primaryTrunkGroup PrimaryTrunkGroup OPTIONAL,
+ alternateTrunkGroup AlternateTrunkGroup OPTIONAL,
+ secondAlternateTrunkGroup SecondAlternateTrunkGroup OPTIONAL,
+ carrier Carrier OPTIONAL,
+ alternateCarrier AlternateCarrier OPTIONAL,
+ secondAlternatecarrier SecondAlternateCarrier OPTIONAL,
+ passiveLegTreatment PassiveLegTreatment OPTIONAL,
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ alternateBillingIndicator AlternateBillingIndicator OPTIONAL,
+ secondAlternateBillingIndicator SecondAlternateBillingIndicator OPTIONAL,
+ overflowBillingIndicator OverflowBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ redirectionInformation RedirectionInformation OPTIONAL,
+ carrierUsage CarrierUsage OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL,
+ prefix Prefix OPTIONAL,
+ applyRestrictions ApplyRestrictions OPTIONAL,
+ displayText DisplayText OPTIONAL,
+ genericName GenericName OPTIONAL
+ }
+
+ mergeCall OPERATION ::= {
+ ARGUMENT
+ MergeCallArg
+ ERRORS{ applicationError
+ }
+ --LINKED{
+ --cTRClear,
+ --failureOutcome,
+ --successOutcome
+ -- }
+ CODE private: 25865
+ --Family Name is "Connection Control (Call Model)"
+ }
+
+ MergeCallArg ::= SEQUENCE{
+ displayText DisplayText OPTIONAL,
+ lampTreatment LampTreatment OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ moveLeg OPERATION ::= {
+ ARGUMENT
+ MoveLegArg
+ ERRORS{ applicationError
+ }
+ --LINKED{
+ --cTRClear,
+ --failureOutcome,
+ --successOutcome
+ -- }
+ CODE private: 25866
+ --Family Name is "Connection Control (Call Model)"
+ }
+
+ MoveLegArg ::= SEQUENCE{
+ displayText DisplayText OPTIONAL,
+ lampTreatment LampTreatment OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ offerCall OPERATION ::= {
+ ARGUMENT
+ OfferCallArg
+ ERRORS{ applicationError
+ }
+ CODE private: 25860
+ }
+
+ OfferCallArg ::= SEQUENCE{
+ callingPartyID CallingPartyID OPTIONAL,
+ controllingLegTreatment ControllingLegTreatment OPTIONAL,
+ displayText DisplayText OPTIONAL,
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL,
+ genericName GenericName OPTIONAL
+ }
+
+ originateCall OPERATION ::= {
+ ARGUMENT
+ OriginateCallArg
+ ERRORS{ applicationError
+ }
+ --LINKED{
+ --failureOutcome
+ -- }
+ CODE private: 25867
+ --Family Name is "Connection Control (Call Model)"
+ }
+
+ OriginateCallArg ::= SEQUENCE{
+ collectedDigits CollectedDigits OPTIONAL,
+ dPConverter DPConverter OPTIONAL,
+ alternateDialingPlanInd AlternateDialingPlanInd OPTIONAL,
+ callingPartyID CallingPartyID OPTIONAL,
+ lampTreatment LampTreatment OPTIONAL,
+ controllingLegTreatment ControllingLegTreatment OPTIONAL,
+ displayText DisplayText OPTIONAL,
+ bearerCapability BearerCapability OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ calledPartyID CalledPartyID OPTIONAL,
+ outpulseNumber OutpulseNumber OPTIONAL,
+ tcm Tcm OPTIONAL,
+ primaryTrunkGroup PrimaryTrunkGroup OPTIONAL,
+ alternateTrunkGroup AlternateTrunkGroup OPTIONAL,
+ secondAlternateTrunkGroup SecondAlternateTrunkGroup OPTIONAL,
+ carrier Carrier OPTIONAL,
+ alternateCarrier AlternateCarrier OPTIONAL,
+ secondAlternatecarrier SecondAlternateCarrier OPTIONAL,
+ passiveLegTreatment PassiveLegTreatment OPTIONAL,
+ redirectingPartyID RedirectingPartyID OPTIONAL,
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ alternateBillingIndicator AlternateBillingIndicator OPTIONAL,
+ secondAlternateBillingIndicator SecondAlternateBillingIndicator OPTIONAL,
+ overflowBillingIndicator OverflowBillingIndicator OPTIONAL,
+ genericAddressList GenericAddressList OPTIONAL,
+ forwardCallIndicator ForwardCallIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ carrierUsage CarrierUsage OPTIONAL,
+ networkSpecificFacilities NetworkSpecificFacilities OPTIONAL,
+ callingPartyBGID CallingPartyBGID OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ reconnect OPERATION ::= {
+ ARGUMENT
+ ReconnectArg
+ ERRORS{ applicationError
+ }
+ CODE private: 25870
+ --Family Name is "Connection Control (Call Model)"
+ }
+
+ ReconnectArg ::= SEQUENCE{
+ notificationDuration NotificationDuration OPTIONAL,
+ controllingLegTreatment ControllingLegTreatment OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+
+ sendToResource OPERATION ::= {
+ ARGUMENT
+ SendToResourceArg
+ RESULT SEQUENCE{
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+ ERRORS{ applicationError
+ }
+ --LINKED{
+ --resourceClear,
+ --callInfoFromResource
+ -- }
+ CODE private: 26113
+ --Family Name is "Caller Interaction"
+ }
+
+ SendToResourceArg ::= SEQUENCE{
+ resourceType ResourceType,
+ strParameterBlock StrParameterBlock,
+ disconnectFlag DisconnectFlag OPTIONAL,
+ answerIndicator AnswerIndicator OPTIONAL,
+ primaryBillingIndicator PrimaryBillingIndicator OPTIONAL,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber OPTIONAL,
+ aMABusinessCustomerID AMABusinessCustomerID OPTIONAL,
+ aMALineNumberList SEQUENCE SIZE(1..2) OF AMALineNumber OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL,
+ aMADigitsDialedWCList SEQUENCE SIZE(1..5) OF AMADigitsDialedWC OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ destinationAddress DestinationAddress OPTIONAL,
+ dPConverter DPConverter OPTIONAL,
+ aMAMeasure AMAMeasure OPTIONAL,
+ serviceProviderID ServiceProviderID OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ aMABillingFeature AMABillingFeature OPTIONAL,
+ aMASequenceNumber AMASequenceNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ aMAserviceProviderID AMAServiceProviderID OPTIONAL,
+ extendedRinging ExtendedRinging OPTIONAL,
+ carrier Carrier OPTIONAL,
+ alternateCarrier AlternateCarrier OPTIONAL,
+ secondAlternatecarrier SecondAlternateCarrier OPTIONAL,
+ carrierUsage CarrierUsage OPTIONAL,
+ chargeNumber ChargeNumber OPTIONAL,
+ chargePartyStationType ChargePartyStationType OPTIONAL,
+ tSTRCTimer TSTRCTimer OPTIONAL,
+ partyID PartyID OPTIONAL,
+ partyOnHold PartyOnHold OPTIONAL,
+ calledPartyID CalledPartyID OPTIONAL
+ }
+
+ setTimer OPERATION ::= {
+ ARGUMENT
+ SetTimerArg
+ RESULT
+ TimerUpdated
+ ERRORS{ applicationError
+ }
+ CODE private: 26889
+ --Family Name is "Information Revision"
+ }
+
+ SetTimerArg ::= SEQUENCE{
+ sSPResponseMessageTimerT1 SSPResponseMessageTimerT1 OPTIONAL
+ }
+
+ splitLeg OPERATION ::= {
+ ARGUMENT
+ SplitLegArg
+ ERRORS{ applicationError
+ }
+ --LINKED{
+ --cTRClear,
+ --failureOutcome,
+ --successOutcome
+ -- }
+ CODE private: 25868
+ --Family Name is "Connection Control (Call Model)"
+ }
+
+ SplitLegArg ::= SEQUENCE{
+ legID LegID,
+ displayText DisplayText OPTIONAL,
+ lampTreatment LampTreatment OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ acg OPERATION ::= {
+ ARGUMENT
+ AcgArg
+ ERRORS{ applicationError
+ }
+ CODE private: 26881
+ --Family Name is "Network Management"
+ }
+
+ AcgArg ::= SEQUENCE{
+ controlCauseIndicator ControlCauseIndicator,
+ gapDuration GapDuration,
+ gapInterval GapInterval,
+ translationType TranslationType,
+ globalTitleAddress GlobalTitleAddress,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ acgGlobalCtrlRestore OPERATION ::= {
+ ARGUMENT
+ AcgGlobalCtrlRestoreArg
+ RESULT SEQUENCE{
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+ ERRORS{ applicationError
+ }
+ CODE private: 26883
+ --Family Name is "Network Management"
+ }
+
+ AcgGlobalCtrlRestoreArg ::= SEQUENCE{
+ aCGGlobalOverride ACGGlobalOverride,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ acgOverflow OPERATION ::= {
+ ARGUMENT
+ AcgOverflowArg
+ CODE private: 26884
+ --Family Name is “Network Managementâ€
+ }
+
+ AcgOverflowArg ::= SEQUENCE{
+ controlCauseIndicator ControlCauseIndicator,
+ translationType TranslationType,
+ globalTitleAddress GlobalTitleAddress,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ activityTest OPERATION ::= {
+ ARGUMENT
+ ActivityTestArg
+ RESULT SEQUENCE{
+ actResult ActResult
+ }
+ ERRORS{ applicationError
+ }
+ CODE private: 26886
+ --Family Name is “Network Managementâ€
+ }
+
+ ActivityTestArg ::= SEQUENCE{
+ transID TransID,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ callTypeRequest OPERATION ::= {
+ ARGUMENT
+ CallTypeRequestArg
+ RESULT SEQUENCE{
+ callType CallType,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+ ERRORS{ applicationError,
+ faultReport
+ }
+ CODE private: 26887
+ --Family Name is “Information Revisionâ€
+ }
+
+ CallTypeRequestArg ::= SEQUENCE{
+ calledPartyID CalledPartyID,
+ callingPartyID CallingPartyID,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ controlRequest OPERATION ::= {
+ ARGUMENT
+ ControlRequestArg
+
+ CODE private: 26885
+ --Family Name is “Network Managementâ€
+ }
+
+ ControlRequestArg ::= SEQUENCE{
+ congestionLevel CongestionLevel OPTIONAL,
+ gapInterval GapInterval OPTIONAL,
+ translationType TranslationType OPTIONAL,
+ globalTitleAddress GlobalTitleAddress OPTIONAL,
+ ssignalingPointCode SignalingPointCode OPTIONAL,
+ subsystemNumber SubsystemNumber OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ echoRequest OPERATION ::= {
+ ARGUMENT
+ EchoRequestArg
+ RESULT SEQUENCE{
+ failureCause FailureCause OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+ ERRORS{ applicationError
+ }
+ CODE private: 26882
+ --Family Name is “Network Managementâ€
+ }
+
+ EchoRequestArg ::= SEQUENCE{
+ applicationIndicator ApplicationIndicator OPTIONAL,
+ serviceContext ServiceContext OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ furnishAMAInformation OPERATION ::= {
+ ARGUMENT
+ FurnishAMAInformationArg
+ ERRORS{ applicationError
+ }
+ CODE private: 27649
+ --Family Name is “AMAâ€
+ }
+
+ FurnishAMAInformationArg ::= SEQUENCE{
+ aaMABAFModules AMABAFModules OPTIONAL,
+ aMASetHexABIndicator AMASetHexABIndicator OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ monitorForChange OPERATION ::= {
+ ARGUMENT
+ MonitorForChangeArg
+ ERRORS{ applicationError
+ }
+ --LINKED{
+ --monitorSuccess,
+ --statusReported
+ -- }
+ CODE private: 26369
+ --Family Name is "Status Notification"
+ }
+
+ MonitorForChangeArg ::= SEQUENCE{
+ facilityStatus FacilityStatus,
+ monitorTime MonitorTime,
+ calledPartyID CalledPartyID OPTIONAL,
+ facilityGID FacilityGID OPTIONAL,
+ facilityMemberID FacilityMemberID OPTIONAL,
+ bearerCapability BearerCapability OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ controlEncountered ControlEncountered OPTIONAL
+ }
+
+ monitorSuccess OPERATION ::= {
+ ARGUMENT
+ MonitorSuccessArg
+ ERRORS{ applicationError
+ failureReport
+ }
+ CODE private: 26371
+ --Family Name is "Status Notification"
+ }
+
+ MonitorSuccessArg ::= SEQUENCE{
+ facilityStatus FacilityStatus,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ nCAData OPERATION ::= {
+ ARGUMENT
+ NCADataArg
+ CODE private: 27394
+ --Family Name is "NCA Signaling"
+ }
+
+ NCADataArg ::= SEQUENCE{
+ id CHOICE{
+ calledPartyID CalledPartyID,
+ srhrGroupID SrhrGroupID
+ },
+ callingPartyID CallingPartyID,
+ envelopeEncodingAuthority EnvelopeEncodingAuthority,
+ envelopContent EnvelopContent,
+ securityEnvelope SecurityEnvelope OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ controlEncountered ControlEncountered OPTIONAL
+ }
+
+ nCARequest OPERATION ::= {
+ ARGUMENT
+ NCARequestArg
+ RESULT SEQUENCE{
+ envelopeEncodingAuthority EnvelopeEncodingAuthority,
+ envelopContent EnvelopContent,
+ securityEnvelope SecurityEnvelope OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+ ERRORS{ applicationError,
+ failureReport
+ }
+ CODE private: 27393
+ --Family Name is "NCA Signaling"
+ }
+
+ NCARequestArg ::= SEQUENCE{
+ calledPartyID CalledPartyID,
+ callingPartyID CallingPartyID,
+ envelopeEncodingAuthority EnvelopeEncodingAuthority,
+ envelopContent EnvelopContent,
+ securityEnvelope SecurityEnvelope OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ aCGEncountered ACGEncountered OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ controlEncountered ControlEncountered OPTIONAL
+ }
+
+ queryRequest OPERATION ::= {
+ ARGUMENT
+ QueryRequestArg
+ RESULT SEQUENCE{
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ infoProvided InfoProvided OPTIONAL
+ }
+ ERRORS{ applicationError,
+ failureReport
+ }
+ CODE private: 26626
+ --Family Name is “Information Revisionâ€
+ }
+
+ QueryRequestArg ::= SEQUENCE{
+ userID UserID OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ controlEncountered ControlEncountered OPTIONAL,
+ provideInfo ProvideInfo OPTIONAL
+ }
+
+ requestReportBCMEvent OPERATION ::= {
+ ARGUMENT
+ RequestReportBCMEventArg
+ ERRORS{ applicationError
+ }
+ CODE private: 27905
+ --Family Name is "Request Event"
+ }
+
+ RequestReportBCMEventArg ::= SEQUENCE{
+ eDPRequest EDPRequest OPTIONAL,
+ eDPNotification EDPNotification OPTIONAL,
+ oNoAnswerTimer ONoAnswerTimer OPTIONAL,
+ tNoAnswerTimer TNoAnswerTimer OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ timeoutTimer TimeoutTimer OPTIONAL,
+ oDTMFDigitsString ODTMFDigitsString OPTIONAL,
+ oDTMFNumberOfDigits ODTMFNumberOfDigits OPTIONAL,
+ tDTMFDigitString TDTMFDigitString OPTIONAL,
+ tDTMFNumberOfDigits TDTMFNumberOfDigits OPTIONAL
+ }
+
+
+ statusReported OPERATION ::= {
+ ARGUMENT
+ StatusReportedArg
+ ERRORS{ applicationError
+ }
+ CODE private: 26370
+ --Family Name is "Status Notification"
+ }
+
+ StatusReportedArg ::= SEQUENCE{
+ facilityStatus FacilityStatus OPTIONAL,
+ statusCause StatusCause OPTIONAL,
+ failureCause FailureCause OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ terminationNotification OPERATION ::= {
+ ARGUMENT
+ TerminationNotificationArg
+ CODE private: 26372
+ --Family Name is "Status Notification"
+ }
+
+ TerminationNotificationArg ::= SEQUENCE{
+ echoData EchoData,
+ terminationIndicator TerminationIndicator,
+ connectTime ConnectTime OPTIONAL,
+ busyCause BusyCause OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL
+ }
+
+ update OPERATION ::= {
+ ARGUMENT
+ UpdateArg
+ RESULT SEQUENCE{
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ resultCause ResultCause OPTIONAL
+ }
+ ERRORS{ applicationError,
+ failureReport
+ }
+ CODE private: 26627
+ --Family Name is "Information Revision"
+ }
+
+ UpdateArg ::= SEQUENCE{
+ administrableObject AdministrableObject,
+ editListType EditListType OPTIONAL,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL,
+ extensionParameter [84] IMPLICIT ExtensionParameter OPTIONAL,
+ controlEncountered ControlEncountered OPTIONAL,
+ aMAslpID [10] IMPLICIT AMAslpID OPTIONAL
+ }
+
+ updateRequest OPERATION ::= {
+ ARGUMENT
+ UpdateRequestArg
+ RESULT SEQUENCE{
+ failureCause FailureCause OPTIONAL
+ }
+ ERRORS{ applicationError
+ }
+ CODE private: 26625
+ --Family Name is "Information Revision"
+ }
+
+ UpdateRequestArg ::= SEQUENCE{
+ userID UserID,
+ triggerCriteriaFlag TriggerCriteriaFlag OPTIONAL,
+ bearerCapability BearerCapability OPTIONAL,
+ controlEncountered ControlEncountered OPTIONAL
+ }
+
+END
diff --git a/epan/dissectors/asn1/ain/AIN-Parameters.asn b/epan/dissectors/asn1/ain/AIN-Parameters.asn
new file mode 100644
index 00000000..5b9d8333
--- /dev/null
+++ b/epan/dissectors/asn1/ain/AIN-Parameters.asn
@@ -0,0 +1,1555 @@
+ AIN-Parameters{ ainParametersObjectIdentifier }
+ --This module contains the type definitions for the AIN parameters.
+
+ DEFINITIONS ::=
+
+ BEGIN
+
+ -- ainParametersObjectIdentifier OBJECT IDENTIFIER ::= ? - -not yet defined
+ -- TYPE DEFINITIONS FOR AIN PARAMETERS FOLLOWS
+
+ AccessCode ::= [1] IMPLICIT AINDigits
+ -- range - 1 - 5 digits
+ ACGEncountered ::= [2] IMPLICIT OCTET STRING(SIZE(1))
+ ACGGlobalOverride ::= [110] IMPLICIT ENUMERATED{
+ allItems(0),
+ scpOverloadItems(1),
+ smsInitCntrlExceptZeroGap(2),
+ smsInitCntrl(3),
+ ntmOSInitCntrlExceptZeroGap(4),
+ ntmOSInitCntrl(5),
+ craftInitCntrlExceptZeroGap(6),
+ craftInitCntrl(7)
+ }
+ AdministrableObject ::= CHOICE{
+ triggerItemAssignment TriggerItemAssignment,
+ sSPUserResource SSPUserResource,
+ srhrGroup SrhrGroup,
+ networkTestDesignator NetworkTestDesignator,
+ operationsMonitoringAssignment OperationsMonitoringAssignment
+ }
+ TriggerItemAssignment ::= [102] IMPLICIT SEQUENCE{
+ sSPUserResourceID [1] SSPUserResourceID,
+ triggerItemID [2] IMPLICIT TriggerItemID,
+ activationStateCode [3] IMPLICIT ActivationStateCode OPTIONAL,
+ potentialUse [4] IMPLICIT PotentialUse OPTIONAL,
+ sSPUserResourceSubID [5] SSPUserResourceSubID OPTIONAL
+ }
+ SSPUserResourceID ::= CHOICE{
+ dn [1] IMPLICIT Dn, --see Section 6.151 of this GR for encoding
+ dnCtID [2] IMPLICIT DnCtID,
+ spid [3] IMPLICIT Spid, --see Section 6.129 of this GR for encoding
+ trunkGroupID [4] IMPLICIT TrunkGroupID, --see Section 6.151 of this GR for encoding
+ localSSPID [5] IMPLICIT LocalSSPID,
+ publicDialingPlanID [6] IMPLICIT PublicDialingPlanID,
+ pRIOfficeEquipmentID [7] IMPLICIT PRIOfficeEquipmentID,
+ basicBusinessGroupID [8] IMPLICIT BasicBusinessGroupID,
+ basicBusinessGroupDialingPlanID [9] IMPLICIT BasicBusinessGroupDialingPlanID,
+ aFRPatternID [10] IMPLICIT AFRPatternID,
+ officeEquipmentID [11] IMPLICIT OfficeEquipmentID
+ }
+
+ DnCtID ::= SEQUENCE{
+ dn [1] IMPLICIT Dn, --see Section 6.151 of this GR for encoding
+ ct [2] IMPLICIT Ct
+ }
+ Ct ::= ENUMERATED{
+ voicebandInformation(0),
+ circuitModeData(1)
+ }
+ LocalSSPID ::= IA5String(SIZE(1..8)) --References office - wide triggers
+
+ PublicDialingPlanID ::= IA5String(SIZE(1..8))
+
+ PRIOfficeEquipmentID ::= IA5String(SIZE(1..12))
+
+ BasicBusinessGroupID ::= IA5String(SIZE(1..10))
+
+ BasicBusinessGroupDialingPlanID ::= IA5String(SIZE(1..4))
+
+ AFRPatternID ::= IA5String(SIZE(1..4))
+
+ OfficeEquipmentID ::= IA5String(SIZE(1..12))
+
+ TriggerItemID ::= SEQUENCE{
+ dPNumber [1] IMPLICIT DPNumber,
+ triggerItemSubnumber [2] IMPLICIT TriggerItemSubnumber
+ }
+ DPNumber ::= INTEGER(1..33)
+ --Identifies a Detection Point within the AIN Call Model
+
+ TriggerItemSubnumber ::= IA5String(SIZE(1..8))
+ --Identifies triggers and events within DPs
+
+ ActivationStateCode ::= ENUMERATED{
+ off(0),
+ on(1)
+ }
+ PotentialUse ::= ENUMERATED{
+ notApplicable(0),
+ callForwarding(1)
+ }
+ SSPUserResourceSubID ::= CHOICE{
+ aFRPatternID [1] IMPLICIT AFRPatternID,
+ basicBusinessGroupDialingPlanID [2] IMPLICIT BasicBusinessGroupDialingPlanID,
+ iSDNBChannelID [3] IMPLICIT ISDNBChannelID
+ }
+
+ ISDNBChannelID ::= SEQUENCE{
+ pRIDS1ID [1] IMPLICIT PRIDS1ID OPTIONAL,
+ pRIDS0ID [2] IMPLICIT PRIDS0ID OPTIONAL
+ }
+
+
+ PRIDS1ID ::= INTEGER(1..28)
+
+ PRIDS0ID ::= INTEGER(1..24)
+
+ SSPUserResource ::= [103] IMPLICIT SEQUENCE{
+ sSPUserResourceID [1] SSPUserResourceID, --see Section 6.4.1 for encoding
+ serviceProviderID ServiceProviderID OPTIONAL,
+ updateGroups UpdateGroups OPTIONAL,
+ oNoAnswerTimer ONoAnswerTimer OPTIONAL,
+ tNoAnswerTimer TNoAnswerTimer OPTIONAL,
+ displayText DisplayText OPTIONAL,
+ dPConverter DPConverter OPTIONAL,
+ cancelInterdigitTimer CancelInterdigitTimer OPTIONAL
+ }
+ --For the encoding of the ServiceProviderID parameter, see Section 6.127 of this GR.
+ --For the encoding of the UpdateGroups parameter, see below.
+ --For the encoding of the ONoAnswerTimer parameter, see Section 6.102 of this GR.
+ --For the encoding of the TNoAnswerTimer, see Section 6.143 of this GR.
+ --For the encoding of the DisplayText parameter, see Section 6.62 of this GR.
+ --For the encoding of the DPConverter parameter, see Section 6.63 of this GR.
+ --For the encoding of the CancelInterdigitTimer parameter, see below.
+
+ UpdateGroups::= CHOICE{
+ updateGroup1 [2] IMPLICIT UpdateGroup1,
+ updateGroup2 [3] IMPLICIT UpdateGroup2,
+ updateGroup3 [4] IMPLICIT UpdateGroup3,
+ updateGroup4 [5] IMPLICIT UpdateGroup4,
+ updateGroup5 [6] IMPLICIT UpdateGroup5,
+ updateGroup6 [7] IMPLICIT UpdateGroup6,
+ updateGroup7 [8] IMPLICIT UpdateGroup7,
+ updateGroup8 [9] IMPLICIT UpdateGroup8,
+ updateGroup9 [10] IMPLICIT UpdateGroup9
+ }
+
+ UpdateGroup1::= SEQUENCE{
+ service1 [1] IMPLICIT Service1,
+ action1 Action1
+ }
+
+ Service1::= ENUMERATED{
+ messageWaitingIndicator(0),
+ visualMessageWaitingIndicator(1),
+ anonymousCallRejection(2),
+ automaticCallback(3),
+ automaticRecall(4),
+ callScreening(5),
+ outsideCallingAreaAlerting(6),
+ callingIdPresentAndSuppress(7),
+ callWaiting(8)
+ }
+
+ Action1::= CHOICE{
+ activationStateCode [2] IMPLICIT ActivationStateCode--see Section 6.4.1 for encoding
+ }
+
+ UpdateGroup2::= SEQUENCE{
+ service2 [1] IMPLICIT Service2,
+ action2 Action2
+ }
+
+ Service2::= ENUMERATED{
+ audioMessageWaitingIndicator(0)
+ }
+
+ Action2::= CHOICE{
+ activationStateCode [2] IMPLICIT ActivationStateCode,
+ delayInterval [3] IMPLICIT DelayInterval
+ }
+
+ DelayInterval::= INTEGER(1..60)
+ --used to convey to the switch
+ --a) the number of rings the switch should
+ -- generate prior to forwarding a call; or
+ --b) the number of minutes the switch should
+ -- wait to generate a “ping†ring for an MWI,
+ --i.e., number of minutes between “ping†rings.
+
+ UpdateGroup3::= SEQUENCE{
+ service3 [1] IMPLICIT Service3,
+ action3 Action3
+ }
+
+ Service3::= ENUMERATED{
+ distinctiveRingingCallWaiting(0),
+ selectiveCallRejection(1)
+ }
+
+ Action3::= CHOICE{
+ activationStateCode [2] IMPLICIT ActivationStateCode,
+ editSpecificEntry [3] IMPLICIT EditSpecificEntry,
+ editAllEntries [4] IMPLICIT EditAllEntries
+ }
+
+ EditSpecificEntry::= SEQUENCE{
+ entry Entry,
+ editListType [105] IMPLICIT EditListType--see Section 6.66 for encoding
+ }
+
+ Entry ::= CHOICE{
+ dn [1] IMPLICIT Dn,
+ speedCallingCode [2] IMPLICIT SpeedCallingCode,
+ memorySlot [3] IMPLICIT MemorySlot1
+ }
+
+ SpeedCallingCode ::= IA5String(SIZE(1..3))
+ --The contents of this field shall be numbers 2 through 9 or numbers 20 through 39.
+ --each number shall be allowed to be sent with or without a # sign.
+
+ MemorySlot1 ::= ENUMERATED{
+ incoming(0)
+ }
+
+ EditAllEntries ::= ENUMERATED{
+ deleteAllEntries(0),
+ deleteAllPrivateEntries(1)
+ }
+
+ UpdateGroup4::= SEQUENCE{
+ service4 [1] IMPLICIT Service4,
+ action4 Action4
+ }
+
+ Service4::= ENUMERATED{
+ callForwardingVariable(0),
+ callForwardingDontAnswer(1),
+ callForwardingBusyLine(2)
+ }
+
+ Action4::= CHOICE{
+ activationStateCode [2] IMPLICIT ActivationStateCode,--See Section 6.4.1 for encoding
+ forwardingDn ForwardingDn
+ }
+
+ ForwardingDn ::= CHOICE{
+ set Set,
+ clear [3] IMPLICIT Clear
+ }
+
+ Set ::= CHOICE{
+ dn [1] IMPLICIT Dn,
+ speedCallingCode [4] IMPLICIT SpeedCallingCode
+ }
+
+ Clear ::= ENUMERATED{
+ remove(0)
+ }
+
+ UpdateGroup5::= SEQUENCE{
+ service5 [1] IMPLICIT Service5,
+ action5 Action5
+ }
+
+ Service5::= ENUMERATED{
+ selectiveCallAcceptance(0),
+ selectiveCallForwarding(1)
+ }
+
+ Action5::= CHOICE{
+ activationStateCode [2] IMPLICIT ActivationStateCode,--see above for encoding
+ forwardingDn [3] IMPLICIT ForwardingDn,--see above for the encoding
+ editSpecificEntry [4] IMPLICIT EditSpecificEntry,--see above for the encoding
+ editAllEntries [5] IMPLICIT EditAllEntries--see above for the encoding
+ }
+
+ UpdateGroup6::= SEQUENCE{
+ service6 [1] IMPLICIT Service6,
+ action6 Action6
+ }
+
+ Service6::= ENUMERATED{
+ ringControl(0)
+ }
+
+ Action6::= CHOICE{
+ delayInterval [2] IMPLICIT DelayInterval--See above for the encoding
+ }
+
+ UpdateGroup7::= SEQUENCE{
+ service7 [1] IMPLICIT Service7,
+ action7 Action7
+ }
+ Service7::= ENUMERATED{
+ callingNumberDeliveryBlocking(0),
+ callingNameDeliveryBlocking(1)
+ }
+
+ Action7::= CHOICE{
+ toggle [2] IMPLICIT Toggle
+ }
+
+ Toggle ::= ENUMERATED{
+ presentationStatusValue(0)
+ }
+
+ UpdateGroup8::= SEQUENCE{
+ service8 [1] IMPLICIT Service8,
+ action8 Action8
+ }
+
+ Service8::= ENUMERATED{
+ customerOriginatedTrace(0),
+ cancelCallWaiting(1)
+ }
+
+ Action8::= CHOICE{
+ invoke [2] IMPLICIT Invoke8
+ }
+
+ Invoke8 ::= ENUMERATED{
+ on(0)
+ }
+
+ UpdateGroup9 ::= SEQUENCE{
+ service9 [1] IMPLICIT Service9,
+ action9 Action9
+ }
+
+ Service9::= ENUMERATED{
+ speedCalling(0)
+ }
+
+ Action9::= CHOICE{
+ changeList [2] IMPLICIT ChangeList
+ }
+
+ ChangeList ::= SEQUENCE{
+ dn [1] IMPLICIT Dn,--see Section 6.151 for the encoding
+ speedCallingCode [2] IMPLICIT SpeedCallingCode--see above for the encoding
+ }
+
+ CancelInterdigitTimer::= ActivationStateCode
+
+ SrhrGroup ::= [104] IMPLICIT SEQUENCE{
+ srhrGroupID SrhrGroupID, --see Section 6.130 for encoding
+ srhrID [1] IMPLICIT SrhrID OPTIONAL
+ }
+
+ SrhrID ::= AINDigits
+ -- range - 10 digits
+
+ NetworkTestDesignator ::= [97] IMPLICIT SEQUENCE{
+ ntdID NtdID,
+ amp1 Amp1 OPTIONAL,
+ amp2 Amp2 OPTIONAL
+ }
+
+ NtdID ::= CHOICE{
+ ntdIndirectID [1] NtdIndirectID
+ }
+
+ NtdIndirectID ::= SSPUserResourceID -- see above for encoding
+ -- For the encoding of the Amp1 parameter, see Section 6.23.
+ --For the encoding of the Amp2 parameter, see Section 6.24.
+
+ OperationsMonitoringAssignment ::= [118] IMPLICIT SEQUENCE{
+ operationsMonitoredItemID OperationsMonitoredItemID,
+ activationStateCode [3] IMPLICIT ActivationStateCode OPTIONAL
+ }
+
+ OperationsMonitoredItemID ::= CHOICE{
+ sSPUserResourceID [1] SSPUserResourceID -- see above for encoding
+ }
+ -- For the encoding of the ActivationStateCode, see above.
+
+ ActResult::= [164]IMPLICIT ENUMERATED {
+ transactionClosed(0),
+ transactionOpen(1),
+ deniedProcessOverload(2)
+ }
+
+ AINDigits ::= OCTET STRING
+
+ AlternateBillingIndicator ::= [3] IMPLICIT BillingIndicator
+
+ AlternateCarrier ::= [4] IMPLICIT CarrierFormat
+ -- range - 4 digits
+
+ AlternateTrunkGroup ::= [5] IMPLICIT OCTET STRING(SIZE(5))
+
+ AlternateDialingPlanInd ::= [115] IMPLICIT AINDigits
+ -- range - 10 digits
+
+ AMAAlternateBillingNumber ::= [6] IMPLICIT AINDigits
+ -- range 1 - 11 digits
+
+ AMABAFModules ::= [95] IMPLICIT OCTET STRING(SIZE(2..128))
+ --Contains one or more AMA modules in Bellcore AMA Format(BAF).
+
+ AMABillingFeature ::= [88] IMPLICIT AINDigits
+ -- range - 4 - 24 digits
+
+ AMABusinessCustomerID ::= [7] IMPLICIT AINDigits
+ -- range - 11 digits
+
+ AMADigitsDialedWC ::= [8] IMPLICIT AINDigits
+ -- range - 3 - 27 digits
+
+ AMALineNumber ::= [9] IMPLICIT AINDigits
+ -- range - 3 - 15 digits
+
+ AMAMeasure ::= [71] IMPLICIT ENUMERATED{
+ connectTimeRecordedDestinationSSP(0),
+ connectTimeRecordedDestinationSCP(1),
+ connectTimeNotRecorded(2)
+ }
+
+ AMAMeasurement ::= [73] IMPLICIT SEQUENCE{
+ aMATimeDuration [0] IMPLICIT AMATimeDuration,
+ aMATimeGuard [1] IMPLICIT AMATimeGuard
+ }
+
+ AMAServiceProviderID::= [101] IMPLICIT OCTET STRING(SIZE(7))
+
+ AMATimeDuration ::= OCTET STRING(SIZE(8))
+
+ AMATimeGuard ::= ENUMERATED{
+ noTimingGuard(0),
+ timingGuardExists(1)
+ }
+
+ AMASetHexABIndicator ::= [82] IMPLICIT BOOLEAN
+ -- TRUE = Set BCD character 2 of Hexadecimal Identifier in
+ -- the BAF structure to which the contents of the
+ -- AMABAFModules parameter are appended
+ -- FALSE = Default to switch - based control of Hexadecimal
+ -- Identifier table in structure code
+
+ AMASequenceNumber ::= [89] IMPLICIT OCTET STRING(SIZE(2))
+
+-- AMAslpID ::= [10] IMPLICIT OCTET STRING(SIZE(5))
+ AMAslpID ::= OCTET STRING(SIZE(5))
+
+ Amp1 ::= [11] IMPLICIT OCTET STRING(SIZE(6))
+
+ Amp2 ::= [109] IMPLICIT SEQUENCE{
+ ampAINNodeID AmpAINNodeID,
+ ampCLogSeqNo [3] IMPLICIT AmpCLogSeqNo OPTIONAL,
+ ampCLogRepInd [4] IMPLICIT AmpCLogRepInd OPTIONAL,
+ ampCallProgInd [5] IMPLICIT AmpCallProgInd OPTIONAL,
+ ampTestReqInd [6] IMPLICIT AmpTestReqInd OPTIONAL,
+ ampCLogName [7] IMPLICIT AmpCLogName OPTIONAL,
+ ampSvcProvID [8] IMPLICIT AmpSvcProvID OPTIONAL
+ }
+
+ AmpAINNodeID ::= CHOICE{
+ spcID [1] IMPLICIT SpcID,
+ iSDNDeviceID [2] IMPLICIT ISDNDeviceID
+ }
+
+ SpcID ::= OCTET STRING(SIZE(3))
+ --See Figure 1B of Chapter T1.111.4 of GR-246-CORE for the
+ -- definition of the contents of the SpcID OCTET STRING.
+
+ ISDNDeviceID ::= AINDigits
+ -- range - 10 digits
+
+ AmpCLogSeqNo ::= INTEGER(0..32767)
+ -- 0 = sequence number should not be generated; 0 is used to support
+ -- asynchronous messages
+
+ AmpCLogRepInd ::= ENUMERATED{
+ autoReportOS(0),
+ requestReport(1),
+ autoReportISDN(2)
+ }
+
+ AmpCallProgInd ::= ENUMERATED{
+ callProgressVoiceAnnouncements(0),
+ callProgressTextMessages(1)
+ }
+
+ AmpTestReqInd ::= INTEGER(0..127)
+
+ AmpCLogName ::= OCTET STRING(SIZE(1..10))
+
+ AmpSvcProvID ::= CHOICE{
+ ocn Ocn -- see Section 6.121 for encoding
+ }
+
+ AnswerIndicator ::= [12] IMPLICIT NULL
+ -- Presence = return answer supervision
+ -- Absence = do not return answer supervision
+
+ ApplicationErrorString ::= [55] IMPLICIT SEQUENCE{
+ errorCause ErrorCause,
+ failedMessage FailedMessage OPTIONAL,
+ userID UserID OPTIONAL
+ }
+
+ ApplicationIndicator ::= [90] IMPLICIT ENUMERATED{
+ routeToApplicationProcessOrSLP(0),
+ processEchoRequestMessage(1)
+ }
+
+ ApplyRestrictions ::= [152] IMPLICIT BIT STRING{
+ code(0),
+ toll(1)
+ }
+
+ BCMType ::= [134] IMPLICIT ENUMERATED{
+ oBcm(0),
+ tBcm(1)
+ }
+
+ BearerCapability ::= [13] IMPLICIT ENUMERATED{
+ speech(0),
+ f31kHzaudio(1),
+ f7kHzaudio(2),
+ b56kbps(3),
+ b64kbps(4),
+ packetModeData(5),
+ multiRate(6) -- (64 kbit / s base)
+ }
+ --packetModeData, 7KHz audio, and multiRate will NOT be used for AIN .
+
+ BillingIndicator ::= OCTET STRING(SIZE(4))
+
+ BusinessGroup ::= OCTET STRING(SIZE(7))
+
+ BusyCause ::= [14] IMPLICIT OCTET STRING(SIZE(2..3))
+
+ BusyType ::= [94] IMPLICIT ENUMERATED{
+ callCanBeOffered(0),
+ callCannotBeOffered(1)
+ }
+
+ CalledPartyID ::= [15] IMPLICIT AINDigits
+ -- range - 0 - 15 digits
+
+ CalledPartyStationType ::= [16] IMPLICIT INTEGER(0..99)
+
+ CallingGeodeticLocation ::= [162] IMPLICIT OCTET STRING(SIZE(8..13))
+
+ CallingPartyBGID ::= [17] IMPLICIT BusinessGroup
+
+ CallingPartyID ::= [18] IMPLICIT AINDigits
+ -- range - 3 - 15
+
+ CallType ::= [165] IMPLICIT ENUMERATED{
+ noIndication(0),
+ local(1),
+ intraLATAToll(2),
+ interLATAToll(3)
+ }
+
+ Carrier ::= [41] IMPLICIT CarrierFormat
+ -- range - 4 digits
+
+ CarrierFormat ::= OCTET STRING(SIZE(4))
+
+ CarrierUsage ::= [79] IMPLICIT ENUMERATED{
+ alwaysOverride(0),
+ onlyInterLATAOverride(1)
+ }
+
+ CcID ::= [133] IMPLICIT ENUMERATED{
+ null(0),
+ originatingSetup(1),
+ stable2Party(2),
+ terminatingSetup(3),
+ threePartySetup(4),
+ threePartySetupComplement(5),
+ partyOnHold(6),
+ partyOnHoldComplement(7),
+ callWaiting(8),
+ callWaitingComplement(9),
+ stableMParty(10),
+ transfer(11),
+ forward(12)
+ }
+
+ ChargeNumber ::= [19] IMPLICIT AINDigits
+ -- range - 0 - 10 digits
+
+ ChargePartyStationType ::= [20] IMPLICIT INTEGER(0..99)
+
+ ClearCause ::= [21] IMPLICIT INTEGER(0..255)
+
+ ClearCauseData ::= [74] IMPLICIT OCTET STRING(SIZE(1..20))
+
+ CloseCause ::= [72] IMPLICIT ENUMERATED{
+ callTerminated(0),
+ eDPsCompleted(1),
+ unexpectedCommunication(2),
+ calledPartyAnswered(3),
+ callForwardedEDPsCompleted(4),
+ newRequestedEvent(5)
+ }
+
+ CollectedAddressInfo ::= [22] IMPLICIT AINDigits
+ -- range 0 - 15 digits
+
+ CollectedDigits ::= [23] IMPLICIT AINDigits
+ -- range 0 - 32 digits
+
+ CongestionLevel ::= [117] IMPLICIT ENUMERATED{
+ noCongestion(0),
+ mc1(1),
+ mc2(2),
+ mc3(3)
+ }
+
+ ConnectTime ::= [58] IMPLICIT OCTET STRING(SIZE(5))
+
+ ControlCauseIndicator ::= [59] IMPLICIT OCTET STRING(SIZE(1))
+
+ ControlEncountered ::= [127] IMPLICIT OCTET STRING(SIZE(1))
+
+ ControllingLegTreatment ::= [24] IMPLICIT ENUMERATED{
+ dialToneOn(0),
+ ringBackAudibleRingingToneOn(1),
+ networkCongestionReorderToneOn(3),
+ busyToneOn(4),
+ confirmationTone(5),
+ callWaitingTone(7),
+ tonesOff(63),
+ alertingOnPattern0Normal(64),
+ alertingOnPattern1DistinctiveIntergroup(65),
+ alertingOnPattern2DistinctiveSpecial(66),
+ alertingOnPattern3EKTS(67),
+ alertingOnPattern4ReminderRing(68),
+ alertingOff(79),
+ recallDialToneOn(17),
+ bargeInToneOn(18),
+ incomingAdditionalCallTone(251),
+ priorityAdditionalCallTone(252),
+ expensiveRouteWarningTone(253),
+ campOnTone(19),
+ receiverOffHookTone(20),
+ callingCardServiceTone(21),
+ stutterDialTone(22),
+ silence(23),
+ onHookTR30WithIndication(24),
+ onHookTR30NoIndication(25)
+ }
+
+ CTRConnection ::= [141] IMPLICIT BOOLEAN
+ -- TRUE = reported event caused by Connect_To_Resource
+ -- FALSE = reported event not caused by Connect_To_Resource
+
+ CsID ::= [137] IMPLICIT INTEGER(1..2)
+ --The range is 1 - 2 for CsIDs.
+
+ DestinationAddress ::= [86] IMPLICIT AINDigits
+ -- range - 10 digits
+
+ DisconnectCause ::= [116] IMPLICIT ENUMERATED{
+ farEnd(0)
+ }
+
+ DisconnectFlag ::= [25] IMPLICIT NULL
+ -- Presence = disconnect leg
+ -- Absence = do not disconnect leg
+
+ DisplayText ::= [26] IMPLICIT SEQUENCE SIZE(1..15) OF DisplayInformation
+
+ DisplayInformation ::= CHOICE{
+ blank[0] IMPLICIT OCTET STRING(SIZE(1..20)),
+ skip[1] IMPLICIT OCTET STRING(SIZE(1..20)),
+ continuation[2] IMPLICIT OCTET STRING(SIZE(1..20)),
+ calledAddress[3] IMPLICIT OCTET STRING(SIZE(1..20)),
+ cause[4] IMPLICIT OCTET STRING(SIZE(1..20)),
+ progressIndicator[5] IMPLICIT OCTET STRING(SIZE(1..20)),
+ notificationIndicator[6] IMPLICIT OCTET STRING(SIZE(1..20)),
+ prompt[7] IMPLICIT OCTET STRING(SIZE(1..20)),
+ accumulatedDigits[8] IMPLICIT OCTET STRING(SIZE(1..20)),
+ status[9] IMPLICIT OCTET STRING(SIZE(1..20)),
+ inband[10] IMPLICIT OCTET STRING
+ (SIZE(1..20)),
+ callingAddress[11] IMPLICIT OCTET STRING(SIZE(1..20)),
+ reason[12] IMPLICIT OCTET STRING(SIZE(1..20)),
+ callingPartyName[13] IMPLICIT OCTET STRING(SIZE(1..20)),
+ calledPartyName[14] IMPLICIT OCTET STRING
+ (SIZE(1..20)),
+ originalCalledName[15] IMPLICIT OCTET STRING(SIZE(1..20)),
+ redirectingName[16] IMPLICIT OCTET STRING(SIZE(1..20)),
+ connectedName[17] IMPLICIT OCTET STRING
+ (SIZE(1..20)),
+ origRestrictions[18] IMPLICIT OCTET STRING
+ (SIZE(1..20)),
+ dateTimeOfDay[19] IMPLICIT OCTET STRING(SIZE(1..20)),
+ callAppearanceID[20] IMPLICIT OCTET STRING
+ (SIZE(1..20)),
+ featureAddress[21] IMPLICIT OCTET STRING(SIZE(1..20)),
+ redirectionName[22] IMPLICIT OCTET STRING
+ (SIZE(1..20)),
+ redirectionNumber[23] IMPLICIT OCTET STRING(SIZE(1..20)),
+ redirectingNumber[24] IMPLICIT OCTET STRING(SIZE(1..20)),
+ originalCalledNumber[25] IMPLICIT OCTET STRING(SIZE(1..20)),
+ connectedNumber[26] IMPLICIT OCTET STRING
+ (SIZE(1..20)),
+ text[30] IMPLICIT OCTET STRING(SIZE(1..20)),
+ redirectingReason[31] IMPLICIT OCTET STRING(SIZE(1..20))
+ }
+ --Each DisplayInformation field can be from 1 - 20 octets. The information shown in italics is not required for AIN and is reserved for future releases.
+
+ DPConverter ::= [76] IMPLICIT BOOLEAN
+ -- True = the switch should perform Dial Pulse to DTMF conversion
+ -- False = the switch should not perform Dial Pulse to DTMF conversion
+
+ DTMFDigitsDetected ::= [153] IMPLICIT AINDigits
+ --The range is 1 - 4
+
+ EchoData ::= [60] IMPLICIT OCTET STRING(SIZE(6))
+
+ EditListType ::= ENUMERATED{
+ addListElement(0),
+ deleteListElement(1)
+ }
+
+ EDPNotification ::= [93] IMPLICIT BIT STRING{
+ oCalledPartyBusy(0), --always "0"
+ oNoAnswer(1), --always "0"
+ oTermSeized(2),
+ oAnswer(3),
+ tBusy(4), --always "0"*
+ tNoAnswer(5), --always "0"*
+ termResourceAvailable(6), -- *
+ tAnswer(7), -- *
+ networkBusy(8), --always “0â€*
+ oSuspended(9), --always “0â€
+ oDisconnectCalled(10), --always “0â€
+ oDisconnect(11), --always “0â€
+ oAbandon(12), --always “0â€
+ featureActivator(13), --always “0â€
+ switchHookFlash(14), --always “0â€
+ success(15), --always “0â€
+ tDisconnect(16),
+ timeout(17),
+ originationAttempt(18),
+ oDTMFEntered(19),
+ tDTMFEntered(20)
+ }
+ --Bit = 1 - request is requested, Bit = 0 - request is not requested
+ -- *These values are conditional requirements, based on the condition that the SSP supports
+ -- the corresponding EDP shown as an objective in GR - 1298 - CORE, Section 4, Table 4 - 1.
+
+ EDPRequest ::= [92] IMPLICIT BIT STRING{
+ oCalledPartyBusy(0),
+ oNoAnswer(1),
+ oTermSeized(2), --always "0"
+ oAnswer(3), --always "0"
+ tBusy(4), --*
+ tNoAnswer(5), --*
+ termResourceAvailable(6), --always "0"*
+ tAnswer(7), --always "0"*
+ networkBusy(8),
+ oSuspended(9),
+ oDisconnectCalled(10),
+ oDisconnect(11),
+ oAbandon(12),
+ featureActivator(13),
+ switchHookFlash(14),
+ success(15),
+ tDisconnect(16),
+ timeout(17),
+ originationAttempt(18),
+ oDTMFEntered(19),
+ tDTMFEntered(20)
+ }
+ --Bit = 1 - request is requested, Bit = 0 - request is not requested
+ -- *These values are conditional requirements, based on the condition that the SSP supports
+ -- the corresponding EDP shown as an objective in GR - 1298 - CORE, Section 4, Table 4 - 1.
+
+ EnvelopContent ::= [75] IMPLICIT OCTET STRING(SIZE(1..180))
+
+ EnvelopeEncodingAuthority ::= [98] IMPLICIT OBJECT IDENTIFIER
+ -- Maximum of 15 octets
+
+ ErrorCause ::= [56] IMPLICIT ENUMERATED{
+ erroneousDataValue(0),
+ missingConditionalParameter(1),
+ responseMessageTimerExpired(2),
+ unexpectedCommunication(3),
+ unexpectedMessage(4),
+ unexpectedMessageSequence(5),
+ unexpectedParameterSequence(6)
+ }
+
+ ExtendedRinging ::= [146] IMPLICIT NULL
+ -- Presence = apply extended ringing
+ -- Absence = do not apply extended ringing
+
+ ExtensionParameter ::= SEQUENCE{
+ assignmentAuthority OBJECT IDENTIFIER,
+ parameters ANY DEFINED BY assignmentAuthority
+ }
+ --The maximum length of the assignmentAuthority is 15 octets
+
+ FacilityGID ::= CHOICE{
+ mlhg Mlhg
+ }
+
+ Mlhg ::= [29] IMPLICIT INTEGER(1..2047)
+
+ FacilityMemberID ::= [31] IMPLICIT INTEGER(1..2047)
+ --The range is 1 - 2047 for MLHG member IDs.
+
+ FacilityStatus ::= [61] IMPLICIT ENUMERATED{
+ busy(0),
+ busyInService(1),
+ busyOutOfService(2),
+ idle(3),
+ idleInService(4),
+ idleOutOfService(5),
+ inService(6),
+ outOfService(7)
+ }
+
+ FailedMessage ::= [57] IMPLICIT SEQUENCE{
+ opCode INTEGER,
+ parameter OCTET STRING OPTIONAL,
+ invParms [1] IMPLICIT InvParms OPTIONAL
+ }
+ --The opCode field is equivalent to the value of the Operation Code that
+ -- represents the failed message.
+ --The parameter field represents the parameter, including the identifier,
+ --length and contents, of the received message that contains the
+ -- erroneous data value.
+
+ InvParms ::= SEQUENCE SIZE(1) OF Parms
+
+ Parms ::= CHOICE{
+ accessCode AccessCode,
+ aCGEncountered ACGEncountered,
+ alternateBillingIndicator AlternateBillingIndicator,
+ alternateCarrier AlternateCarrier,
+ alternateTrunkGroup AlternateTrunkGroup,
+ aMAAlternateBillingNumber AMAAlternateBillingNumber,
+ aMABusinessCustomerID AMABusinessCustomerID,
+ aMAslpID [10] IMPLICIT AMAslpID,
+ amp1 Amp1,
+ amp2 Amp2,
+ answerIndicator AnswerIndicator,
+ bearerCapability BearerCapability,
+ busyCause BusyCause,
+ calledPartyID CalledPartyID,
+ calledPartyStationType CalledPartyStationType,
+ callingGeodeticLocation CallingGeodeticLocation,
+ callingPartyBGID CallingPartyBGID,
+ callingPartyID CallingPartyID,
+ callType CallType,
+ chargeNumber ChargeNumber,
+ chargePartyStationType ChargePartyStationType,
+ clearCause ClearCause,
+ collectedAddressInfo CollectedAddressInfo,
+ collectedDigits CollectedDigits,
+ controllingLegTreatment ControllingLegTreatment,
+ disconnectFlag DisconnectFlag,
+ displayText DisplayText,
+ dTMFDigitsDetected DTMFDigitsDetected,
+ facilityGID FacilityGID,
+ facilityMemberID FacilityMemberID,
+ failureCause FailureCause,
+ genericName GenericName,
+ lata Lata,
+ oDTMFDigitsString ODTMFDigitsString,
+ oDTMFNumberofDigits ODTMFNumberOfDigits,
+ originalCalledPartyID OriginalCalledPartyID,
+ outpulseNumber OutpulseNumber,
+ overflowBillingIndicator OverflowBillingIndicator,
+ passiveLegTreatment PassiveLegTreatment,
+ partyID PartyID,
+ partyOnHold PartyOnHold,
+ primaryBillingIndicator PrimaryBillingIndicator,
+ carrier Carrier,
+ primaryTrunkGroup PrimaryTrunkGroup,
+ redirectingPartyID RedirectingPartyID,
+ redirectionInformation RedirectionInformation,
+ resourceType ResourceType,
+ secondAlternateBillingIndicator SecondAlternateBillingIndicator,
+ secondAlternateCarrier SecondAlternateCarrier,
+ secondAlternateTrunkGroup SecondAlternateTrunkGroup,
+ spid Spid,
+ sSPResponseMessageTimerT1 SSPResponseMessageTimerT1,
+ strParameterBlock StrParameterBlock,
+ tcm Tcm,
+ tDTMFDigitString TDTMFDigitString,
+ tDTMFNumberOfDigits TDTMFNumberOfDigits,
+ timerUpdated TimerUpdated,
+ triggerCriteriaType TriggerCriteriaType,
+ triggerInformation TriggerInformation,
+ userID UserID,
+ verticalServiceCode VerticalServiceCode,
+ connectTime ConnectTime,
+ controlCauseIndicator ControlCauseIndicator,
+ echoData EchoData,
+ facilityStatus FacilityStatus,
+ gapDuration GapDuration,
+ gapInterval GapInterval,
+ globalTitleAddress GlobalTitleAddress,
+ monitorTime MonitorTime,
+ statusCause StatusCause,
+ terminationIndicator TerminationIndicator,
+ translationType TranslationType,
+ triggerCriteriaFlag TriggerCriteriaFlag,
+ tSTRCTimer TSTRCTimer,
+ aMAMeasure AMAMeasure,
+ aMAMeasurement AMAMeasurement,
+ clearCauseData ClearCauseData,
+ envelopContent EnvelopContent,
+ iPReturnBlock IPReturnBlock,
+ sap Sap,
+ aMASetHexABIndicator AMASetHexABIndicator,
+ serviceContext ServiceContext,
+ extensionParameter [84] IMPLICIT ExtensionParameter,
+ securityEnvelope SecurityEnvelope,
+ destinationAddress DestinationAddress,
+ derviceProviderID ServiceProviderID,
+ aMABillingFeature AMABillingFeature,
+ aMASequenceNumber AMASequenceNumber,
+ applicationIndicator ApplicationIndicator,
+ oNoAnswerTimer ONoAnswerTimer,
+ eDPRequest EDPRequest,
+ eDPNotification EDPNotification,
+ busyType BusyType,
+ aMABAFModules AMABAFModules,
+ sTRConnection STRConnection,
+ errorCause ErrorCause,
+ resultCause ResultCause,
+ cTRConnection CTRConnection,
+ rTPReroutingNumber RTPReroutingNumber,
+ rTPServiceIndicator RTPServiceIndicator,
+ administrableObject AdministrableObject,
+ envelopeEncodingAuthority EnvelopeEncodingAuthority,
+ tNoAnswerTimer TNoAnswerTimer,
+ editListType EditListType,
+ aCGGlobalOverride ACGGlobalOverride,
+ notificationIndicator [111] IMPLICIT NotificationIndicator,
+ -- TRUE = Switch Notification Message
+ -- FALSE = Switch Request Message
+ aMALineNumber AMALineNumber,
+ aMADigitsDialedWC AMADigitsDialedWC,
+ carrierUsage CarrierUsage,
+ closeCause CloseCause,
+ dPConverter DPConverter,
+ failureCauseData FailureCauseData,
+ genericAddress GenericAddress,
+ srhrGroupID SrhrGroupID,
+ genericAddressList GenericAddressList,
+ networkSpecificFacilities NetworkSpecificFacilities,
+ forwardCallIndicator ForwardCallIndicator,
+ alternateDialingPlanInd AlternateDialingPlanInd,
+ disconnectCause DisconnectCause,
+ aMAServiceProviderID AMAServiceProviderID,
+ congestionLevel CongestionLevel,
+ controlEncountered ControlEncountered,
+ infoProvided InfoProvided,
+ provideInfo ProvideInfo,
+ signalingPointCode SignalingPointCode,
+ subsystemNumber SubsystemNumber,
+ notificationDuration NotificationDuration,
+ wakeUpDuration WakeUpDuration,
+ oSIIndicator OSIIndicator,
+ legID LegID,
+ ccID CcID,
+ bCMType BCMType,
+ pointInCall PointInCall,
+ featureActivatorID FeatureActivatorID,
+ csID CsID,
+ lampTreatment LampTreatment,
+ timeoutTimer TimeoutTimer,
+ transID TransID,
+ actResult ActResult,
+ extendedRinging ExtendedRinging,
+ jurisdictionInformation JurisdictionInformation,
+ prefix Prefix,
+ genericDigitsList GenericDigitsList,
+ applyRestrictions ApplyRestrictions
+ }
+
+ FailureCause ::= [32] IMPLICIT ENUMERATED{
+ rateTooHigh(1),
+ unavailableResources(2),
+ apTimeout(3),
+ apBusy(4),
+ channelsBusy(13),
+ abort(14),
+ resourceLimitation(15),
+ applicationError(16),
+ securityError(17),
+ protocolError(18),
+ timerExpired(19),
+ temporaryFailure(20),
+ msridDoesNotMatchUserProfile(21),
+ segmentationError(22),
+ ncasDisallowed(23),
+ controlEncountered(24),
+ improperCoding(25),
+ inappropriateCondition(26),
+ inappropriateUserInterface(27),
+ inappropriateLegManipulation(28),
+ callingInterfaceBusy(29)
+ }
+ FailureCauseData ::= [112] IMPLICIT OCTET STRING(SIZE(1..5))
+ FeatureActivatorID ::= [136] IMPLICIT OCTET STRING(SIZE(1..2))
+ ForwardCallIndicator ::= [113] IMPLICIT OCTET STRING(SIZE(2))
+ GapDuration ::= [62] IMPLICIT ENUMERATED{
+ no1Second(1),
+ no2Seconds(2),
+ no4Seconds(3),
+ no8Seconds(4),
+ no16Seconds(5),
+ no32Seconds(6),
+ no64Seconds(7),
+ no128Seconds(8),
+ no256Seconds(9),
+ no512Seconds(10),
+ no1024Seconds(11),
+ no2048Seconds(12),
+ infinity(13)
+ }
+
+ GapInterval ::= CHOICE{
+ nationalGapInterval NationalGapInterval,
+ privateGapInterval PrivateGapInterval
+ }
+
+ NationalGapInterval ::= [63] IMPLICIT ENUMERATED{
+ removeGapControl(0),
+ no0Seconds(1),
+ no010Seconds(2), -- 1 / 10 sec.
+ no025Seconds(3), -- 1 / 4 sec.
+ no050Seconds(4), -- 1 / 2 sec.
+ no1Second(5),
+ no2Seconds(6),
+ no5Seconds(7),
+ no10Seconds(8),
+ no15Seconds(9),
+ no30Seconds(10),
+ no60Seconds(11),
+ no120Seconds(12),
+ no300Seconds(13),
+ no600Seconds(14),
+ stopAllCalls(15)
+ }
+
+ PrivateGapInterval ::= [64] IMPLICIT ENUMERATED{
+ no0Seconds(0),
+ no3Seconds(1),
+ no4Seconds(2),
+ no6Seconds(3),
+ no8Seconds(4),
+ no11Seconds(5),
+ no16Seconds(6),
+ no22Seconds(7),
+ no30Seconds(8),
+ no42Seconds(9),
+ no58Seconds(10),
+ no81Seconds(11),
+ no112Seconds(12),
+ no156Seconds(13),
+ no217Seconds(14),
+ no300Seconds(15),
+ removeGapControl(16),
+ no010Seconds(17), -- 1 / 10 sec.
+ no025Seconds(18), -- 1 / 4 sec.
+ no050Seconds(19), -- 1 / 2 sec.
+ no1Second(20),
+ no2Seconds(21)
+ }
+
+ GenericAddress ::= [80] IMPLICIT OCTET STRING(SIZE(4..11))
+
+ GenericAddressList ::= [107] IMPLICIT SEQUENCE SIZE(1..5) OF GenericAddress
+
+ GenericName ::= [33] IMPLICIT OCTET STRING
+
+ GenericDigitsList ::= [150] IMPLICIT SEQUENCE SIZE (1..5) OF GenericDigits
+
+ GenericDigits ::= [149] IMPLICIT OCTET STRING (SIZE(2..11))
+
+ GlobalTitleAddress ::= [69] IMPLICIT OCTET STRING
+
+ InfoProvided ::= [100] IMPLICIT SEQUENCE{
+ activationStateCode [1] IMPLICIT ActivationStateCode OPTIONAL,
+ entireList [2] IMPLICIT EntireList OPTIONAL,
+ memorySlot [3] IMPLICIT MemorySlot OPTIONAL,
+ listSize [4] IMPLICIT ListSize OPTIONAL,
+ forwardToDn [5] IMPLICIT ForwardToDn OPTIONAL,
+ delayInterval [6] IMPLICIT DelayInterval OPTIONAL,
+ empty [7] IMPLICIT Empty OPTIONAL
+ }
+ --For the encoding of the ActivationStateCode parameter, see Section 6.4.1.
+
+ EntireList ::= SEQUENCE SIZE(1..32) OF Entry2
+
+ Entry2 ::= CHOICE{
+ dn [1] IMPLICIT Dn, --see Section 6.151 for the encoding
+ privateDn [2] IMPLICIT PrivateDn
+ }
+
+ PrivateDn ::= ENUMERATED{
+ private (0)
+ }
+
+ MemorySlot ::= SEQUENCE{
+ incoming [1] IMPLICIT Incoming OPTIONAL,
+ outgoing [2] IMPLICIT Outgoing OPTIONAL
+ }
+
+ Incoming ::= SEQUENCE{
+ aINDigits AINDigits,
+ timestamp Timestamp--See GR-246-CORE for values of this field.
+ }
+
+ Outgoing ::= SEQUENCE{
+ aINDigits AINDigits,
+ timestamp Timestamp--See GR-246-CORE for values of this field.
+ }
+
+ Timestamp ::= INTEGER
+ ListSize ::= INTEGER(1..32)
+ ForwardToDn ::= Dn--See Section 6.151 for the encoding
+
+ Empty ::= BIT STRING{
+ entireList(0),
+ outgoingmemorySlot(1),
+ incomingmemorySlot(2),
+ forwardToDn(3)
+ }
+
+ IPReturnBlock ::= [78] IMPLICIT OCTET STRING(SIZE(1..120))
+
+ JurisdictionInformation::= [147] IMPLICIT OCTET STRING(SIZE(3))
+
+ LampTreatment ::= [138] IMPLICIT OCTET STRING(SIZE(2..3))
+
+ Lata ::= [35] IMPLICIT AINDigits
+ -- range - 3 digits
+
+ LegID ::= [132] IMPLICIT INTEGER(0..2)
+ --The range is 0 - 2 for IDs.
+
+ MonitorTime ::= [65] IMPLICIT OCTET STRING(SIZE(3))
+
+ NetworkSpecificFacilities ::= [108] IMPLICIT OCTET STRING(SIZE(2..12))
+
+ NotificationDuration ::= [128] IMPLICIT INTEGER(1..99)
+
+ NotificationIndicator ::= BOOLEAN
+ -- TRUE = Switch Notification Message
+ -- FALSE = Switch Request Message
+
+ ODTMFDigitsString ::= [154] IMPLICIT AINDigits
+ --The range is 1 - 4
+
+ ODTMFNumberOfDigits ::= [155] IMPLICIT INTEGER(1..4)
+
+ ONoAnswerTimer ::= [91] IMPLICIT INTEGER(1..120)
+
+ OriginalCalledPartyID ::= [36] IMPLICIT AINDigits
+ -- range - 3 - 15 digits
+
+ OSIIndicator ::= [129] IMPLICIT BOOLEAN
+ --True = the switch should apply Open Switching Interval
+ --False = the switch should not apply Open Switching Interval
+
+ OutpulseNumber ::= [37] IMPLICIT AINDigits
+ -- 15 digits maximum
+
+ OverflowBillingIndicator ::= [38] IMPLICIT BillingIndicator
+
+ PartyID ::= [159] IMPLICIT ENUMERATED{
+ callingParty(0),
+ calledParty(1),
+ bothParties(2)
+ }
+
+ PartyOnHold ::= [146] IMPLICIT NULL
+ -- Presence = place party on hold
+ -- Absence = do not place party on hold
+
+ PassiveLegTreatment ::= [39] IMPLICIT ENUMERATED{
+ dialToneOn(0),
+ ringBackAudibleRingingToneOn(1),
+ networkCongestionReorderToneOn(3),
+ busyToneOn(4),
+ confirmationTone(5),
+ callWaitingTone(7),
+ tonesOff(63),
+ alertingOnPattern0Normal(64),
+ alertingOnPattern1DistinctiveIntergroup(65),
+ alertingOnPattern2DistinctiveSpecial(66),
+ alertingOnPattern3EKTS(67),
+ alertingOnPattern4ReminderRing(68),
+ alertingOff(79),
+ recallDialToneOn(17),
+ bargeInToneOn(18),
+ incomingAdditionalCallTone(251),
+ priorityAdditionalCallTone(252),
+ expensiveRouteWarningTone(253),
+ campOnTone(19),
+ receiverOffHookTone(20),
+ callingCardServiceTone(21),
+ stutterDialTone(22),
+ silence(23)
+ }
+ --The values shown in italics are not required for AIN and are reserved for future
+ -- AIN releases.
+
+ Prefix ::= [148] IMPLICIT ENUMERATED{
+ onePlus(0)
+ }
+
+ PointInCall ::= [135] IMPLICIT ENUMERATED{
+ oNull(1),
+ authorizeOrigAttempt(2),
+ collectInformation(3),
+ analyzeInformation(4),
+ selectRoute(5),
+ authorizeCallSetup(6),
+ sendCall(7),
+ oAlerting(8),
+ oActive(9),
+ oSuspended(10),
+ tNull(11),
+ authorizeTermination(12),
+ selectFacility(13),
+ presentCall(14),
+ tAlerting(15),
+ tActive(16),
+ tSuspended(17)
+ }
+
+ PrimaryBillingIndicator ::= [40] IMPLICIT BillingIndicator
+
+ PrimaryTrunkGroup ::= [42] IMPLICIT OCTET STRING(SIZE(5))
+
+ ProvideInfo ::= [114] IMPLICIT SEQUENCE{
+ requestGroups RequestGroups OPTIONAL,
+ requestMemorySlot [11] IMPLICIT RequestMemorySlot OPTIONAL
+ }
+
+ RequestGroups ::= CHOICE{
+ requestGroup1 [1] IMPLICIT RequestGroup1,
+ requestGroup2 [2] IMPLICIT RequestGroup2,
+ requestGroup3 [3] IMPLICIT RequestGroup3,
+ requestGroup4 [4] IMPLICIT RequestGroup4,
+ requestGroup5 [5] IMPLICIT RequestGroup5,
+ requestGroup6 [6] IMPLICIT RequestGroup6
+ }
+
+ RequestGroup1 ::= SEQUENCE{
+ service1 [1] IMPLICIT Service1,--See Section 6.4.2 for the encoding.
+ request1 [2] IMPLICIT Request1
+ }
+
+ Request1 ::= BIT STRING{
+ activationStatus(0)
+ }
+ RequestGroup2 ::= SEQUENCE{
+ service2 [1] IMPLICIT Service2,--See Section 6.4.2 for the encoding.
+ request2 [2] IMPLICIT Request2
+ }
+
+ Request2 ::= BIT STRING{
+ activationStatus(0),
+ delayInterval(1)
+ }
+
+ RequestGroup3 ::= SEQUENCE{
+ service3 [1] IMPLICIT Service3,--See Section 6.4.2 for the encoding
+ request3 [2] IMPLICIT Request3
+ }
+
+ Request3 ::= BIT STRING{
+ activationStatus(0),
+ entireList(1),
+ listSize(2)
+ }
+
+ RequestGroup4 ::= SEQUENCE{
+ service4 [1] IMPLICIT Service4,--See Section 6.4.2 for the encoding
+ request4 [2] IMPLICIT Request4
+ }
+
+ Request4 ::= BIT STRING{
+ activationStatus(0),
+ forwardingDn(1)
+ }
+
+ RequestGroup5 ::= SEQUENCE{
+ service5 [1] IMPLICIT Service5,--See Section 6.4.2 for the encoding
+ request5[2] IMPLICIT Request5
+ }
+
+ Request5 ::= BIT STRING{
+ activationStatus(0),
+ forwardingDn(1),
+ entireList(2),
+ listSize(3)
+ }
+ RequestGroup6 ::= SEQUENCE{
+ service6 [1] IMPLICIT Service6,--See Section 6.4.2 for encoding
+ request6 [2] IMPLICIT Request6
+ }
+
+ Request6 ::= BIT STRING{
+ delayInterval(0)
+ }
+ RequestMemorySlot ::= BIT STRING{
+ incoming(0),
+ outgoing(1)
+ }
+ RedirectingPartyID ::= [43] IMPLICIT AINDigits
+ -- range - 3 - 15 digits
+
+ RedirectionInformation ::= [44] IMPLICIT OCTET STRING(SIZE(2))
+
+ ResourceType ::= [45] IMPLICIT INTEGER(0..127)
+
+ ResultCause ::= [151] IMPLICIT ENUMERATED{
+ confServiceActivated(0),
+ confServiceDeactivatedorCancelled(1),
+ confAnonymousEntryAdded(2),
+ confPublicEntryAdded(3),
+ confAnonymousEntryRemoved(4),
+ confPublicEntryRemoved(5),
+ confAllAnonymousEntriesRemoved(6),
+ confAllEntriesRemoved(7),
+ confForwardingDnSet(8),
+ confForwardingDnCleared(9),
+ confDelayIntervalUpdated(10),
+ confInterdigitTimerOn(11),
+ confInterdigitTimerOff(12),
+ confDPConverterOn(13),
+ confDPConverterOff(14),
+ deniedServiceAlreadyActive(15),
+ deniedServiceNotActivated(16),
+ deniedInvalidForwardingDn(17),
+ deniedPermanentPresentationPrivate(18),
+ deniedPermanentPresentationPublic(19),
+ deniedListIsEmpty(20),
+ deniedListIsFull(21),
+ deniedAnonymousDnAlreadyOnList(22),
+ deniedPublicDnAlreadyOnList(23),
+ deniedNoMatch(24),
+ deniedDnNotOnList(25),
+ deniedIncomingMemorySlotEmpty(26),
+ deniedUnsuccessfulUpdate(27)
+ }
+
+ RTPReroutingNumber::= [143] IMPLICIT AINDigits
+ -- Range - 3 - 15 digits
+
+ RTPServiceIndicator ::= [144] IMPLICIT OCTET STRING(SIZE(1))
+
+ Sap ::= [81] IMPLICIT OCTET STRING(SIZE(1..10))
+
+ SecondAlternateBillingIndicator ::= [46] IMPLICIT BillingIndicator
+
+ SecondAlternateCarrier ::= [47] IMPLICIT CarrierFormat
+ -- range - 4 digits
+
+ SecondAlternateTrunkGroup ::= [48] IMPLICIT OCTET STRING(SIZE(5))
+
+ SecurityEnvelope ::= [85] IMPLICIT OCTET STRING(SIZE(3..75))
+
+ ServiceContext ::= [83] IMPLICIT INTEGER(0..32767)
+ ServiceProviderID ::= CHOICE{
+ ocn Ocn,
+ msrID MsrID
+ }
+
+ Ocn ::= [87] IMPLICIT IA5String(SIZE(4..8))
+
+ MsrID ::= [106] IMPLICIT AINDigits -- range - 10 digits
+ --identifies the Message Storage and Retrieval System
+
+ SignalingPointCode ::= [142] IMPLICIT OCTET STRING(SIZE(3))
+ --See Figure 1B of Chapter T1.111.4 of GR-246-CORE
+ -- for the definition of the contents of the SignalingPointCode OCTET STRING.
+
+ Spid ::= [49] IMPLICIT OCTET STRING(SIZE(3..20))
+ --This parameter includes a character string with 3 - 20 IA5 characters,
+ --the last 2 are required to be numeric in the range of 00 - 62.
+
+ SubsystemNumber ::= [130] IMPLICIT INTEGER(0..255)
+ --See Chapter T1.112.3 of GR-246-CORE for values of this parameter
+
+ SrhrGroupID ::= [77] IMPLICIT INTEGER(0..32767)
+
+ SSPResponseMessageTimerT1 ::= [166] IMPLICIT INTEGER(1..300)
+ --Units of tenths of seconds
+
+ StatusCause ::= [66] IMPLICIT ENUMERATED{
+ statusMatch(0),
+ timeOut(1),
+ error(2)
+ }
+
+ STRConnection ::= [96] IMPLICIT BOOLEAN
+ -- TRUE = reported event caused by Send_To_Resource
+ -- FALSE = reported event not caused by Send_To_Resource
+
+ StrParameterBlock ::= [50] CHOICE {
+ announcementBlock [0] IMPLICIT AnnouncementBlock,
+ announcementDigitBlock [1] IMPLICIT AnnouncementDigitBlock,
+ flexParameterBlock [2] IMPLICIT FlexParameterBlock
+ }
+
+ AnnouncementBlock ::= SEQUENCE{
+ uninterAnnounceBlock [1] IMPLICIT UninterAnnounceBlock OPTIONAL,
+ interAnnounceBlock [2] IMPLICIT InterAnnounceBlock OPTIONAL
+ }
+
+ UninterAnnounceBlock ::= SEQUENCE SIZE(1..10) OF AnnounceElement
+
+ InterAnnounceBlock ::= SEQUENCE SIZE(1..10) OF AnnounceElement
+
+ AnnounceElement ::= OCTET STRING(SIZE(3..131))
+
+ AnnouncementDigitBlock ::= SEQUENCE{
+ maximumDigits [0] IMPLICIT MaximumDigits,
+ uninterAnnounceBlock [1] IMPLICIT UninterAnnounceBlock OPTIONAL,
+ interAnnounceBlock [2] IMPLICIT InterAnnounceBlock OPTIONAL
+ }
+
+ MaximumDigits ::= INTEGER(0..255)
+ -- range: 0 - 32 is "fixed number of digits" (e.g., 5 means collect 5 digits)
+ -- 33 - 252 is spare
+ -- 253 is "normal number of digits"
+ -- 254 is "variable number of digits"
+ -- 255 is spare
+
+ FlexParameterBlock ::= OCTET STRING(SIZE(1..120))
+
+ Tcm ::= [51] IMPLICIT AINDigits
+ -- Range 1 - 4 digits
+
+ TDTMFDigitString ::= [157] IMPLICIT AINDigits
+ --The range is 1 - 4
+
+ TDTMFNumberOfDigits ::= [158] IMPLICIT INTEGER(1..4)
+
+ TerminationIndicator ::= [67] IMPLICIT OCTET STRING(SIZE(1))
+
+ TimeoutTimer ::= [139] IMPLICIT CHOICE{
+ intervalTime [0] IMPLICIT IntervalTime,
+ localSSPTime [1] IMPLICIT LocalSSPTime,
+ absoluteSCPTime [2] IMPLICIT AbsoluteSCPTime
+ }
+
+ IntervalTime ::= INTEGER(1..86400)
+
+ --IntervalTime is in units of seconds
+
+ LocalSSPTime ::= OCTET STRING(SIZE(7))
+
+ AbsoluteSCPTime ::= OCTET STRING(SIZE(7))
+
+ TimerUpdated ::= [167] IMPLICIT ENUMERATED{
+ success(0),
+ failure(1),
+ transaction-already-closed(2)
+ }
+
+ TNoAnswerTimer ::= [99] IMPLICIT INTEGER(1..120)
+
+ TransID ::= [163] IMPLICIT OCTET STRING(SIZE(4))
+
+ TranslationType ::= [70] IMPLICIT INTEGER(0..255)
+ --See Chapter T1.112.3 of GR-246-CORE for values of this parameter
+
+ TriggerCriteriaFlag ::= [68] IMPLICIT OCTET STRING(SIZE(2))
+
+ TriggerCriteriaType ::= [52] IMPLICIT ENUMERATED{
+ featureActivator(0),
+ verticalServiceCode(1),
+ customizedAccess(2),
+ customizedIntercom(3),
+ npa(4),
+ npaNXX(5),
+ nxx(6),
+ nxxXXXX(7),
+ npaNXXXXXX(8),
+ countryCodeNPANXXXXXX(9),
+ carrierAccess(10),
+ prefixes(11),
+ n11(12),
+ aFR(13),
+ sharedIOTrunk(14),
+ terminationAttempt(15),
+ offHookImmediate(16),
+ offHookDelay(17),
+ channelSetupPRI(18),
+ npaN(19),
+ npaNX(20),
+ npaNXXX(21),
+ npaNXXXX(22),
+ npaNXXXXX(23),
+ networkBusy(24),
+ tNoAnswer(25),
+ tBusy(26),
+ oCalledPartyBusy(27),
+ specificFeatureCode(28),
+ oNoAnswer(29),
+ priNetworkServices(30),
+ oSwitchHookFlashImmediate(31),
+ oFeatureActivator(32),
+ oSwitchHookFlashSpecifiedCode(33),
+ tSwitchHookFlashImmediate(34),
+ tFeatureActivator(35),
+ tSwitchHookFlashSpecifiedCode(36),
+ numberPortability(37),
+ onePlus(38),
+ specifiedCarrier(39),
+ international(40),
+ zeroPlus(41),
+ zeroMinus(42),
+ localNumberPortabilityPORC(43),
+ localNumberPortabilityPORCdonor(44),
+ reserved(45),
+ termResourceAvailable(46),
+ officePublicFeatureCode(47),
+ trunkGroup(48),
+ dedicatedTrunkGroup(49),
+ reserved(50)
+ }
+
+ TSTRCTimer ::= [156] IMPLICIT INTEGER(0..300)
+ --Units of minutes
+
+ UserID ::= [53] CHOICE{
+ dn [1] IMPLICIT Dn,
+ bri [2] IMPLICIT SEQUENCE {
+ spid Spid,
+ dn Dn
+ }, --BRI(ISDNI)
+ trunkGroupID [5] IMPLICIT TrunkGroupID,
+ privateFacilityGID [6] IMPLICIT PrivateFacilityGID,
+ aDSIcpeID ADSIcpeID
+ }
+
+ Dn ::= OCTET STRING(SIZE(5))
+
+ TriggerInformation ::= OCTET STRING(SIZE(0..31))
+
+ TrunkGroupID ::= INTEGER(0..9999)
+
+ PrivateFacilityGID ::= INTEGER(0..9999)
+
+ ADSIcpeID ::= OCTET STRING(SIZE(4))
+
+ VerticalServiceCode ::= [54] IMPLICIT AINDigits
+ -- Maximum 10 characters; the 1st character may be a * or digit.
+ --The remaining characters are always digits.
+
+ WakeUpDuration ::= [131] IMPLICIT INTEGER(1..999)
+
+ END
diff --git a/epan/dissectors/asn1/ain/CMakeLists.txt b/epan/dissectors/asn1/ain/CMakeLists.txt
new file mode 100644
index 00000000..3ca29366
--- /dev/null
+++ b/epan/dissectors/asn1/ain/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ain )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST_LATE
+ ../ros/Remote-Operations-Information-Objects.asn
+ ../ros/Remote-Operations-Generic-ROS-PDUs.asn
+)
+
+
+set( ASN_FILE_LIST
+ AIN-Operations.asn
+ AIN-Errors.asn
+ AIN-Parameters.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ain/ain.cnf b/epan/dissectors/asn1/ain/ain.cnf
new file mode 100644
index 00000000..1ed7ab7e
--- /dev/null
+++ b/epan/dissectors/asn1/ain/ain.cnf
@@ -0,0 +1,253 @@
+# ain.cnf
+# ain conformation file
+
+
+#.EXPORTS
+
+#.NO_EMIT ONLY_VALS
+ROS
+
+#.OMIT_ASSIGNMENT
+# Removed as they are giving 'defined but not used' warnings currently.
+Priority
+RejectProblem
+
+#.END
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+DisplayInformation/notificationIndicator displayInformation_notificationIndicator
+Reject/problem/invoke invokeproblem
+Action8/invoke action8_invoke
+
+#.OMIT_ASSIGNMENT Remote-Operations-Information-Objects
+Bind
+Unbind
+#.END
+
+#.PDU
+ERROR.&ParameterType
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+
+# This table creates the value_sting to name AIN operation codes and errors
+# in file packet-ain-table.c which is included in the template file
+#
+#.TABLE_HDR
+/* AIN OPERATIONS */
+const value_string ain_opr_code_strings[] = {
+#.TABLE_BODY OPERATION.&operationCode
+ { %(&operationCode)-40s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+#.TABLE_HDR
+/* AIN ERRORS */
+static const value_string ain_err_code_string_vals[] = {
+#.TABLE_BODY ERROR.&errorCode
+ { %(&errorCode)-40s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+# This table creates the switch() to branch on AIN operation codes and errors
+# in file packet-ain-table2.c which is included in the template file
+#
+#.TABLE2_HDR
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
+
+ switch(opcode){
+#.TABLE2_BODY OPERATION.&ArgumentType
+ case %(&operationCode)s: /* %(_ident)s */
+ offset= %(_argument_pdu)s(tvb, actx->pinfo , tree , NULL);
+ break;
+#.TABLE2_FTR
+ default:
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_ain_unknown_invokeData,
+ tvb, offset, -1, "Unknown invokeData %d", opcode);
+ /* todo call the asn.1 dissector */
+ break;
+ }
+ return offset;
+}
+#.END
+#.TABLE2_HDR
+static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx) {
+ switch(opcode){
+#.TABLE2_BODY OPERATION.&ResultType
+ case %(&operationCode)s: /* %(_ident)s */
+ offset= %(_result_pdu)s(tvb, actx->pinfo , tree , NULL);
+ break;
+#.TABLE2_FTR
+ default:
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_ain_unknown_returnResultData,
+ tvb, offset, -1, "Unknown returnResultData %d", opcode);
+ }
+ return offset;
+}
+#.END
+#.TABLE2_HDR
+static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx) {
+ switch(errorCode) {
+#.TABLE2_BODY ERROR.&ParameterType
+ case %(&errorCode)s: /* %(_ident)s */
+ offset= %(_parameter_pdu)s(tvb, actx->pinfo , tree , NULL);
+ break;
+#.TABLE2_FTR
+ default:
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_ain_unknown_returnErrorData,
+ tvb, offset, -1, "Unknown returnErrorData %d", opcode);
+ }
+ return offset;
+}
+#.END
+
+# Create a table of opcode and corresponding args and res
+#.TABLE11_HDR
+typedef struct _ain_op_t {
+ gint32 opcode;
+ dissector_t arg_pdu;
+ dissector_t res_pdu;
+} ain_op_t;
+
+static const ain_op_t ain_op_tab[] = {
+#.TABLE11_BODY OPERATION.&operationCode
+ /* %(_name)-31s */ { %(&operationCode)-40s, %(_argument_pdu)-45s, %(_result_pdu)s },
+#.TABLE11_FTR
+};
+#.END
+
+#.TABLE11_HDR
+typedef struct _ain_err_t {
+ gint32 errcode;
+ dissector_t err_pdu;
+} ain_err_t;
+
+static const ain_err_t ain_err_tab[] = {
+#.TABLE11_BODY ERROR.&errorCode
+ /* %(_name)-30s */ { %(&errorCode)4s, %(_parameter_pdu)s },
+#.TABLE11_FTR
+};
+#.END
+
+# ROS stuff here XXX change when TCAP is redone.
+
+#.FN_BODY Code/local VAL_PTR = &opcode
+ %(DEFAULT_BODY)s
+ if (ain_opcode_type == AIN_OPCODE_RETURN_ERROR){
+ errorCode = opcode;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(errorCode, ain_err_code_string_vals, "Unknown AIN error (%%u)"));
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ }else{
+ col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(opcode, ain_opr_code_strings, "Unknown AIN (%%u)"));
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ }
+
+#.FN_HDR Invoke
+
+ ain_opcode_type=AIN_OPCODE_INVOKE;
+
+#.FN_HDR ReturnResult
+
+ ain_opcode_type=AIN_OPCODE_RETURN_RESULT;
+
+#.FN_HDR ReturnError
+
+ ain_opcode_type=AIN_OPCODE_RETURN_ERROR;
+
+#.FN_HDR Reject
+
+ ain_opcode_type=AIN_OPCODE_REJECT;
+
+#.FN_BODY Invoke/argument
+
+ offset = dissect_invokeData(tree, tvb, offset, actx);
+
+#.FN_BODY ReturnResult/result/result
+
+ offset = dissect_returnResultData(tree, tvb, offset, actx);
+
+#.FN_BODY ReturnError/parameter
+
+ offset = dissect_returnErrorData(tree, tvb, offset, actx);
+
+# END ROS
+#.FN_PARS ExtensionParameter/assignmentAuthority
+ FN_VARIANT = _str HF_INDEX = hf_ain_ext_type_oid VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY ExtensionParameter/parameters
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY AINDigits VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+ %(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ain_digits);
+ proto_tree_add_item(subtree, hf_ain_odd_even_indicator, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ain_nature_of_address, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+
+ proto_tree_add_item(subtree, hf_ain_numbering_plan, parameter_tvb, 1, 1, ENC_BIG_ENDIAN);
+
+ proto_tree_add_item(subtree, hf_ain_bcd_digits, parameter_tvb, 2, tvb_reported_length_remaining(parameter_tvb, 2), ENC_BCD_DIGITS_0_9);
+
+#.FN_BODY CarrierFormat VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+ %(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ain_carrierformat);
+ /* Carrier Selection */
+ proto_tree_add_item(subtree, hf_ain_carrier_selection, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ /* Nature of Carrier Number of Digits (always 4 )*/
+ proto_tree_add_item(subtree, hf_ain_nature_of_carrier, parameter_tvb, 1, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ain_nr_digits, parameter_tvb, 1, 1, ENC_BIG_ENDIAN);
+
+ /* 2nd Digit 1st Digit .. */
+ proto_tree_add_item(subtree, hf_ain_carrier_bcd_digits, parameter_tvb, 2, tvb_reported_length_remaining(parameter_tvb, 2), ENC_BCD_DIGITS_0_9);
+
+#.FN_BODY AMAslpID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+ %(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ain_amaslpid);
+
+ proto_tree_add_item(subtree, hf_ain_amaslpid, parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb, 0), ENC_BCD_DIGITS_0_9);
+
+#.FIELD_ATTR
+DisplayInformation/notificationIndicator ABBREV=displayInformation.notificationIndicator
+Reject/problem/invoke ABBREV=invokeproblem
+Action8/invoke ABBREV=action8.invoke
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/ain/packet-ain-template.c b/epan/dissectors/asn1/ain/packet-ain-template.c
new file mode 100644
index 00000000..cf64e68a
--- /dev/null
+++ b/epan/dissectors/asn1/ain/packet-ain-template.c
@@ -0,0 +1,291 @@
+/* packet-ain-template.c
+* Routines for AIN
+* Copyright 2018, Anders Broman <anders.broman@ericsson.com>
+*
+* Wireshark - Network traffic analyzer
+* By Gerald Combs <gerald@wireshark.org>
+* Copyright 1998 Gerald Combs
+*
+* SPDX-License-Identifier: GPL-2.0-or-later
+*
+* Ref
+* GR-1299-CORE
+*/
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+
+#include "packet-ber.h"
+#include "packet-ansi_tcap.h"
+
+#if defined(__GNUC__)
+/*
+ * This is meant to handle dissect_ain_ROS' defined but not used.
+ *
+ * DIAG_OFF doesn't work with llvm-gcc, for some unknown reason, so
+ * we just use the pragma directly.
+ */
+#pragma GCC diagnostic ignored "-Wunused-function"
+#endif
+
+#define PNAME "Advanced Intelligent Network"
+#define PSNAME "AIN"
+#define PFNAME "ain"
+
+void proto_register_ain(void);
+void proto_reg_handoff_ain(void);
+
+
+/* Initialize the protocol and registered fields */
+static int proto_ain = -1;
+
+static dissector_handle_t ain_handle;
+
+/* include constants */
+#include "packet-ain-val.h"
+
+static int hf_ain_ext_type_oid = -1;
+static int hf_ain_odd_even_indicator = -1;
+static int hf_ain_nature_of_address = -1;
+static int hf_ain_numbering_plan = -1;
+static int hf_ain_bcd_digits = -1;
+static int hf_ain_carrier_selection = -1;
+static int hf_ain_nature_of_carrier = -1;
+static int hf_ain_nr_digits = -1;
+static int hf_ain_carrier_bcd_digits = -1;
+static int hf_ain_amaslpid = -1;
+
+#include "packet-ain-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_ain = -1;
+static int ett_ain_digits = -1;
+static int ett_ain_carrierformat = -1;
+static int ett_ain_amaslpid = -1;
+
+#include "packet-ain-ett.c"
+
+static expert_field ei_ain_unknown_invokeData = EI_INIT;
+static expert_field ei_ain_unknown_returnResultData = EI_INIT;
+static expert_field ei_ain_unknown_returnErrorData = EI_INIT;
+
+/* Global variables */
+static guint32 opcode = 0;
+static guint32 errorCode = 0;
+//static const char *obj_id = NULL;
+
+static int ain_opcode_type;
+#define AIN_OPCODE_INVOKE 1
+#define AIN_OPCODE_RETURN_RESULT 2
+#define AIN_OPCODE_RETURN_ERROR 3
+#define AIN_OPCODE_REJECT 4
+
+/* Forvard declarations */
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
+
+static const value_string ain_np_vals[] = {
+ { 0, "Unknown or not applicable"},
+ { 1, "ISDN Numbering Plan (ITU Rec. E.164)"},
+ { 2, "Telephony Numbering (ITU-T Rec. E.164,E.163)"},
+ { 3, "Data Numbering (ITU-T Rec. X.121)"},
+ { 4, "Telex Numbering (ITU-T Rec. F.69)"},
+ { 5, "Maritime Mobile Numbering"},
+ { 6, "Land Mobile Numbering (ITU-T Rec. E.212)"},
+ { 7, "Private Numbering Plan"},
+ { 0, NULL }
+};
+
+static const value_string ain_carrier_selection_vals[] = {
+ { 0, "No indication"},
+ { 1, "Selected carrier identification code presubscribed and not input by calling party"},
+ { 2, "Selected carrier identification code presubscribed and input by calling party"},
+ { 3, "Selected carrier identification code presubscribed, no indication of whether input by calling party"},
+ { 4, "Selected carrier identification code not presubscribed and input by calling party"},
+ { 0, NULL }
+};
+
+static const value_string ain_nature_of_carrier_vals[] = {
+ { 0, "No NOC Provided"},
+ { 1, "local"},
+ { 2, "intraLATA toll"},
+ { 3, "interLATA"},
+ { 4, "local, intraLATA toll and interLATA"},
+ { 5, "local and intraLATA toll"},
+ { 6, "intraLATA toll and interLATA"},
+ { 0, NULL }
+};
+
+#include "packet-ain-table.c"
+
+#include "packet-ain-fn.c"
+
+#include "packet-ain-table2.c"
+
+
+static int
+dissect_ain(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *ain_item;
+ proto_tree *ain_tree = NULL;
+ struct ansi_tcap_private_t *p_private_tcap = (struct ansi_tcap_private_t *)data;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* The TCAP dissector should have provided data but didn't so reject it. */
+ if (data == NULL)
+ return 0;
+ /*
+ * Make entry in the Protocol column on summary display
+ */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "AIN");
+
+ /*
+ * create the AIN protocol tree
+ */
+ ain_item = proto_tree_add_item(parent_tree, proto_ain, tvb, 0, -1, ENC_NA);
+ ain_tree = proto_item_add_subtree(ain_item, ett_ain);
+
+ switch (p_private_tcap->d.pdu) {
+ /*
+ 1 : invoke,
+ 2 : returnResult,
+ 3 : returnError,
+ 4 : reject
+ */
+ case 1:
+ opcode = p_private_tcap->d.OperationCode_private;
+ /*ansi_map_is_invoke = TRUE;*/
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s Invoke ", val_to_str(opcode, ain_opr_code_strings, "Unknown AIN PDU (%u)"));
+ proto_item_append_text(p_private_tcap->d.OperationCode_item, " %s", val_to_str(opcode, ain_opr_code_strings, "Unknown AIN PDU (%u)"));
+ dissect_invokeData(ain_tree, tvb, 0, &asn1_ctx);
+ /*update_saved_invokedata(pinfo, p_private_tcap);*/
+ break;
+ //case 2:
+ // opcode = find_saved_invokedata(&asn1_ctx, p_private_tcap);
+ // col_add_fstr(pinfo->cinfo, COL_INFO, "%s ReturnResult ", val_to_str_ext(opcode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
+ // proto_item_append_text(p_private_tcap->d.OperationCode_item, " %s", val_to_str_ext(opcode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
+ // dissect_returnData(ain_tree, tvb, 0, &asn1_ctx);
+ // break;
+ case 3:
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s ReturnError ", val_to_str(opcode, ain_opr_code_strings, "Unknown AIN PDU (%u)"));
+ break;
+ case 4:
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s Reject ", val_to_str(opcode, ain_opr_code_strings, "Unknown AIN PDU (%u)"));
+ break;
+ default:
+ /* Must be Invoke ReturnResult ReturnError or Reject */
+ DISSECTOR_ASSERT_NOT_REACHED();
+ break;
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+void proto_reg_handoff_ain(void) {
+
+ /*static gboolean ain_prefs_initialized = FALSE;*/
+ /*static range_t *ssn_range;*/
+
+}
+
+
+void proto_register_ain(void) {
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+
+
+ { &hf_ain_ext_type_oid,
+ { "AssignmentAuthority", "ain.ext_type_oid",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "Type of ExtensionParameter", HFILL } },
+ { &hf_ain_odd_even_indicator,
+ { "Odd/even indicator", "ain.odd_even_indicator",
+ FT_BOOLEAN, 8, TFS(&tfs_odd_even), 0x80,
+ NULL, HFILL } },
+ { &hf_ain_nature_of_address,
+ { "Nature of address", "ain.nature_of_address",
+ FT_UINT8, BASE_DEC, NULL, 0x7f,
+ NULL, HFILL } },
+ { &hf_ain_numbering_plan,
+ { "Numbering plan", "ain.numbering_plan",
+ FT_UINT8, BASE_DEC, VALS(ain_np_vals), 0x70,
+ NULL, HFILL } },
+ { &hf_ain_bcd_digits,
+ { "BCD digits", "ain.bcd_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL } },
+ { &hf_ain_carrier_selection,
+ { "Carrier Selection", "ain.carrier_selection",
+ FT_UINT8, BASE_DEC, VALS(ain_carrier_selection_vals), 0x0,
+ NULL, HFILL } },
+ { &hf_ain_nature_of_carrier,
+ { "Nature of Carrier", "ain.nature_of_carrier",
+ FT_UINT8, BASE_DEC, VALS(ain_nature_of_carrier_vals), 0xf0,
+ NULL, HFILL } },
+ { &hf_ain_nr_digits,
+ { "Number of Digits", "ain.nature_of_carrier",
+ FT_UINT8, BASE_DEC, NULL, 0x0f,
+ NULL, HFILL } },
+ { &hf_ain_carrier_bcd_digits,
+ { "Carrier digits", "ain.carrier_bcd_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL } },
+ { &hf_ain_amaslpid,
+ { "AMAslpID", "ain.amaslpid",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL } },
+
+#include "packet-ain-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ain,
+ &ett_ain_digits,
+ &ett_ain_carrierformat,
+ &ett_ain_amaslpid,
+#include "packet-ain-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_ain_unknown_invokeData,{ "ain.unknown.invokeData", PI_MALFORMED, PI_WARN, "Unknown invokeData", EXPFILL } },
+ { &ei_ain_unknown_returnResultData,{ "ain.unknown.returnResultData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL } },
+ { &ei_ain_unknown_returnErrorData,{ "ain.unknown.returnErrorData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL } },
+ };
+
+ expert_module_t* expert_ain;
+
+ /* Register protocol */
+ proto_ain = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ ain_handle = register_dissector("ain", dissect_ain, proto_ain);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ain, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_ain = expert_register_protocol(proto_ain);
+ expert_register_field_array(expert_ain, ei, array_length(ei));
+
+}
+
+/*
+* Editor modelines
+*
+* Local Variables:
+* c-basic-offset: 2
+* tab-width: 8
+* indent-tabs-mode: nil
+* End:
+*
+* ex: set shiftwidth=2 tabstop=8 expandtab:
+* :indentSize=2:tabSize=8:noTabs=true:
+*/
+
+
+
+
diff --git a/epan/dissectors/asn1/ansi_map/CMakeLists.txt b/epan/dissectors/asn1/ansi_map/CMakeLists.txt
new file mode 100644
index 00000000..2a20d4ff
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_map/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ansi_map )
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../gsm_map/gsm_map-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ansi_map/ansi_map.asn b/epan/dissectors/asn1/ansi_map/ansi_map.asn
new file mode 100644
index 00000000..bd7c4b6f
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_map/ansi_map.asn
@@ -0,0 +1,8421 @@
+-- Copyright 2005 - 2009 Anders Broman
+MAP-Protocol{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-Protocol (4) version5 (5) }
+
+DEFINITIONS ::=
+
+BEGIN
+-- Import from GSM MAP for convenience
+IMPORTS
+ IMSI
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version12 (12)}
+;
+-- 6.4.2.1
+-- http://www.3gpp2.org/Public_html/specs/X.S0004-550-E_v2.0_070723.pdf
+AuthenticationDirective ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ --M 6.5.2.63
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ --M 6.5.2.81
+ msid MSID OPTIONAL,
+ --
+ authenticationAlgorithmVersion [77] IMPLICIT AuthenticationAlgorithmVersion OPTIONAL,
+ -- O 6.5.2.7 a
+ authenticationResponseReauthentication [182] IMPLICIT AuthenticationResponseReauthentication OPTIONAL,
+ -- O 6.5.2.mT j
+ authenticationResponseUniqueChallenge [37] IMPLICIT AuthenticationResponseUniqueChallenge OPTIONAL,
+ -- O 6.5.2.12 b
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 m
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 j
+ caveKey [316] IMPLICIT CaveKey OPTIONAL,
+ -- CaveKey O 2.38 p X.S0004-550-E_v1.0_040406.pdf
+ denyAccess [50] IMPLICIT DenyAccess OPTIONAL,
+ -- O 6.5.2.54 d
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 e
+ randomVariableReauthentication [191] IMPLICIT RandomVariableReauthentication OPTIONAL,
+ -- O 6.5.2.uT j
+ meid [390] IMPLICIT MEID OPTIONAL,
+ -- O
+ mobileStationMIN [184] IMPLICIT MobileStationMIN OPTIONAL,
+ -- O 6.5.2.oC j
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- O 6.5.2.82 n
+ randomVariableSSD [42] IMPLICIT RandomVariableSSD OPTIONAL,
+ -- O 6.5.2.103 f
+ randomVariableUniqueChallenge [43] IMPLICIT RandomVariableUniqueChallenge OPTIONAL,
+ -- O 6.5.2.104 b
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 g
+ -- ServiceIndicator O 2.221 k
+ sharedSecretData [46] IMPLICIT SharedSecretData OPTIONAL,
+ -- O 6.5.2.119 c
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 6.5.2.120 m
+ ssdnotShared [52] IMPLICIT SSDNotShared OPTIONAL,
+ -- O 6.5.2.141 h
+ updateCount [51] IMPLICIT UpdateCount OPTIONAL
+ -- O 6.5.2.163 i
+ -- VoicePrivacyMask O 2.297 m
+}
+-- AuthenticationDirective RETURN RESULT Parameters
+AuthenticationDirectiveRes ::= [PRIVATE 18] SET {
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL
+ -- O 6.5.2.18 a
+}
+-- 6.4.2.2
+AuthenticationDirectiveForward ::= [PRIVATE 18] SET {
+-- AuthenticationDirectiveForward INVOKE Parameters
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ --M 6.5.2.81
+ authenticationResponseUniqueChallenge [37] IMPLICIT AuthenticationResponseUniqueChallenge OPTIONAL,
+ -- O 6.5.2.12 b
+ randomVariableUniqueChallenge [43] IMPLICIT RandomVariableUniqueChallenge OPTIONAL,
+ -- O 6.5.2.104 b
+ updateCount [51] IMPLICIT UpdateCount OPTIONAL,
+ -- O 6.5.2.163 b
+ ...
+}
+
+-- AuthenticationDirectiveForward RETURN RESULT Parameters
+
+AuthenticationDirectiveForwardRes ::= [PRIVATE 18] SET {
+ countUpdateReport [138] IMPLICIT CountUpdateReport OPTIONAL,
+ -- O 6.5.2.52 a
+ uniqueChallengeReport [124] IMPLICIT UniqueChallengeReport OPTIONAL,
+ -- O 6.5.2.162
+ ...
+}
+-- http://www.3gpp2.org/Public_html/specs/X.S0004-540-E_v2.0_070723.pdf
+-- 6.4.2.3 AuthenticationFailureReport
+AuthenticationFailureReport ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ --M 6.5.2.63
+ msid MSID OPTIONAL,
+ reportType [44] IMPLICIT ReportType,
+ -- M 6.5.2.112
+ systemAccessType [34] IMPLICIT SystemAccessType,
+ -- M 6.5.2.145
+ systemCapabilities [49] IMPLICIT SystemCapabilities,
+ -- (Serving) M 6.5.2.146
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18 a
+ callHistoryCountExpected [79] IMPLICIT CallHistoryCountExpected OPTIONAL,
+ -- O 6.5.2.19 a
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving MSC) O 6.5.2.82 b
+ reportType2 [44] IMPLICIT ReportType OPTIONAL,
+ -- M 6.5.2.112 c optional?
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 d
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6.5.2.154
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+}
+
+-- AuthenticationFailureReport RETURN RESULT Parameters
+AuthenticationFailureReportRes ::= [PRIVATE 18] SET {
+ authenticationAlgorithmVersion [77] IMPLICIT AuthenticationAlgorithmVersion OPTIONAL,
+ -- O 6.5.2.7 a
+ authenticationResponseUniqueChallenge [37] IMPLICIT AuthenticationResponseUniqueChallenge OPTIONAL,
+ --O 6.5.2.12 b
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ --O 6.5.2.18 c
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 i
+ denyAccess [50] IMPLICIT DenyAccess OPTIONAL,
+ -- O 6.5.2.54 d
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56 i
+ randomVariableSSD [42] IMPLICIT RandomVariableSSD OPTIONAL,
+ -- O 6.5.2.103 e
+ randomVariableUniqueChallenge [43] IMPLICIT RandomVariableUniqueChallenge OPTIONAL,
+ -- O 6.5.2.104 b
+ sharedSecretData [46] IMPLICIT SharedSecretData OPTIONAL,
+ -- O 6.5.2.119 c
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114
+ ssdnotShared [52] IMPLICIT SSDNotShared OPTIONAL,
+ -- O 6.5.2.141 f
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6.5.2.154 g
+ updateCount [51] IMPLICIT UpdateCount OPTIONAL
+ -- O 6.5.2.163 h
+}
+
+-- 6.4.2.4 AuthenticationRequest
+
+AuthenticationRequest ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ msid MSID OPTIONAL,
+ --M 6.5.2.bu
+ mscid [21] IMPLICIT MSCID,
+ -- (Serving MSC) M 6.5.2.82
+ systemAccessType [34] IMPLICIT SystemAccessType,
+ -- M 6.5.2.145
+ systemCapabilities [49] IMPLICIT SystemCapabilities,
+ -- (Serving) M 6.5.2.146
+ authenticationData [161] IMPLICIT AuthenticationData OPTIONAL,
+ -- O 6.5.2.9 a
+ authenticationResponse [35] IMPLICIT AuthenticationResponse,
+ -- O 6.5.2.10 b
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18 b
+ cdmaNetworkIdentification [232] IMPLICIT CDMANetworkIdentification OPTIONAL,
+ -- (Serving MSC) O 6.5.2.bk
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Actual) O 6.5.2.50 c
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 6.5.2.ac
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 d
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Serving MSC or VLR or HLR) O 6.5.2.93 e
+ randomVariable [40] IMPLICIT RandomVariable OPTIONAL,
+ -- O 6.5.2.101 b
+ serviceRedirectionCause [237] IMPLICIT ServiceRedirectionCause OPTIONAL,
+ -- O 6.5.2.bp
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 f
+ suspiciousAccess [285] IMPLICIT SuspiciousAccess OPTIONAL,
+ -- O 6.5.2.do h
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6.5.2.154 g
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL,
+ -- O 6.5.2.160
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+
+-- AuthenticationRequest RETURN RESULT Parameters
+AuthenticationRequestRes ::= [PRIVATE 18] SET {
+ analogRedirectRecord [225] IMPLICIT AnalogRedirectRecord OPTIONAL,
+ -- O 6.5.2.bd j
+ authenticationAlgorithmVersion [77] IMPLICIT AuthenticationAlgorithmVersion OPTIONAL,
+ -- O 6.5.2.7 a
+ authenticationResponseUniqueChallenge [37] IMPLICIT AuthenticationResponseUniqueChallenge OPTIONAL,
+ -- O 6.5.2.12 b
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18 c
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 i
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ --O 6.5.2.36 d
+ cdmaRedirectRecord [229] IMPLICIT CDMARedirectRecord OPTIONAL,
+ -- O 6.5.2.bh k
+ dataKey [215] IMPLICIT DataKey OPTIONAL,
+ -- O 6.5.2.at j
+ denyAccess [50] IMPLICIT DenyAccess OPTIONAL,
+ -- O 6.5.2.54 e
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 l
+ roamingIndication [239] IMPLICIT RoamingIndication OPTIONAL,
+ -- O 6.5.2.br m
+ serviceRedirectionInfo [238] IMPLICIT ServiceRedirectionInfo OPTIONAL,
+ -- O 6.5.2.bq j, k
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56 i
+ randomVariableSSD [42] IMPLICIT RandomVariableSSD OPTIONAL,
+ -- O 6.5.2.103 f
+ randomVariableUniqueChallenge [43] IMPLICIT RandomVariableUniqueChallenge OPTIONAL,
+ -- O 6.5.2.104 b
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114
+ sharedSecretData [46] IMPLICIT SharedSecretData OPTIONAL,
+ -- O 6.5.2.119 c
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 6.5.2.120 g
+ ssdnotShared [52] IMPLICIT SSDNotShared OPTIONAL,
+ -- O 6.5.2.141 h
+ updateCount [51] IMPLICIT UpdateCount OPTIONAL,
+ -- O 6.5.2.163 i
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 d
+ ...
+}
+
+-- 6.4.2.5 AuthenticationStatusReport
+
+AuthenticationStatusReport ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ msid MSID OPTIONAL,
+ --
+ systemCapabilities [49] IMPLICIT SystemCapabilities,
+ -- (Serving) M 6.5.2.146
+ countUpdateReport [138] IMPLICIT CountUpdateReport OPTIONAL,
+ -- O 6.5.2.52 a
+ meid [390] IMPLICIT MEID OPTIONAL,
+ --
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving) O 6.5.2.82 e
+ reauthenticationReport [192] IMPLICIT ReauthenticationReport OPTIONAL,
+ -- O 6.5.2.vT e
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 b
+ serviceIndicator [193] IMPLICIT ServiceIndicator OPTIONAL,
+ -- O 6.5.2.wB e
+ signalingMessageEncryptionReport [194] IMPLICIT SignalingMessageEncryptionReport OPTIONAL,
+ -- O 6.5.2.xB h
+ ssdUpdateReport [156] IMPLICIT SSDUpdateReport OPTIONAL,
+ -- O 6.5.2.142 c
+ uniqueChallengeReport [124] IMPLICIT UniqueChallengeReport OPTIONAL,
+ -- O 6.5.2.162 d
+ voicePrivacyReport [196] IMPLICIT VoicePrivacyReport OPTIONAL
+ -- O 6.5.2.zB g
+}
+-- AuthenticationStatusReport RETURN RESULT Parameters
+AuthenticationStatusReportRes ::= [PRIVATE 18] SET {
+ authenticationAlgorithmVersion [77] IMPLICIT AuthenticationAlgorithmVersion OPTIONAL,
+ -- O 6.5.2.7 a
+ authenticationResponseUniqueChallenge [37] IMPLICIT AuthenticationResponseUniqueChallenge OPTIONAL,
+ -- O 6.5.2.12 b
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18 c
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 i
+ denyAccess [50] IMPLICIT DenyAccess OPTIONAL,
+ -- O 6.5.2.54 d
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56 i
+ randomVariableSSD [42] IMPLICIT RandomVariableSSD OPTIONAL,
+ -- O 6.5.2.103 e
+ randomVariableUniqueChallenge [43] IMPLICIT RandomVariableUniqueChallenge OPTIONAL,
+ -- O 6.5.2.104 b
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114
+ sharedSecretData [46] IMPLICIT SharedSecretData OPTIONAL,
+ -- O 6.5.2.119 c
+ ssdnotShared [52] IMPLICIT SSDNotShared OPTIONAL,
+ -- O 6.5.2.141 f
+ updateCount [51] IMPLICIT UpdateCount OPTIONAL,
+ -- O 6.5.2.163 g
+ ...
+}
+-- 6.4.2.6 BaseStationChallenge
+BaseStationChallenge ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ msid MSID OPTIONAL,
+ --
+ randomVariableBaseStation [41] IMPLICIT RandomVariableBaseStation,
+ -- M 6.5.2.102
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 a
+ serviceIndicator [193] IMPLICIT ServiceIndicator OPTIONAL,
+ -- O 6.5.2.wB b
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+-- BaseStationChallenge RETURN RESULT Parameters
+BaseStationChallengeRes ::= [PRIVATE 18] SET {
+ authenticationResponseBaseStation [36] IMPLICIT AuthenticationResponseBaseStation,
+ -- M 6.5.2.11
+ ...
+ }
+-- 6.4.2.7 Blocking
+
+Blocking ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ ...
+ }
+-- Blocking RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.8 BulkDeregistration
+BulkDeregistration ::= [PRIVATE 18] SET {
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- M 6.5.2.116
+ ...
+ }
+-- BulkDeregistration RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.9 CountRequest
+CountRequest ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 a
+ meid [390] IMPLICIT MEID OPTIONAL,
+ -- O
+ ...
+ }
+
+--CountRequest RETURN RESULT Parameters
+CountRequestRes ::= [PRIVATE 18] SET {
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18 a
+ ...
+ }
+-- 6.4.2.10 FacilitiesDirective
+FacilitiesDirective ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- M 6.5.2.16
+ channelData [5] IMPLICIT ChannelData,
+ -- (Serving) M 6.5.2.47 a
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ interSwitchCount [7] IMPLICIT InterSwitchCount,
+ -- M 6.5.2.73
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ servingCellID [2] IMPLICIT ServingCellID,
+ -- M 6.5.2.117
+ stationClassMark [18] IMPLICIT StationClassMark,
+ -- M 6.5.2.143
+ targetCellID [3] IMPLICIT TargetCellID,
+ -- M 6.5.2.148
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Desired) O 6.5.2.50 b
+ handoffReason [30] IMPLICIT HandoffReason OPTIONAL,
+ -- O 6.5.2.70 c
+ handoffState [164] IMPLICIT HandoffState OPTIONAL,
+ -- O 6.5.2.71 d
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 6.5.2.120 e
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Serving) O 6.5.2.151 f
+ tdmaCallMode [29] IMPLICIT TDMACallMode OPTIONAL,
+ -- O 6.5.2.152 g
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.153 f
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 h
+ ...
+ }
+
+-- FacilitiesDirective RETURN RESULT Parameters
+FacilitiesDirectiveRes ::= [PRIVATE 18] SET {
+ channelData [5] IMPLICIT ChannelData,
+ -- (Target) M 6.5.2.47 a
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Actual) O 6.5.2.50 b
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Target) O 6.5.2.151 c
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL
+ -- (Target) O 6.5.2.153 d ...
+ }
+
+-- 6.4.2.11 FacilitiesDirective2
+-- N.S0007-0 v 1.0
+FacilitiesDirective2 ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- M 6.5.2.16
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ interSwitchCount [7] IMPLICIT InterSwitchCount,
+ -- M 6.5.2.73
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ servingCellID [2] IMPLICIT ServingCellID,
+ -- M 6.5.2.117
+ baseStationManufacturerCode [197] IMPLICIT BaseStationManufacturerCode OPTIONAL,
+ -- O 6 .5.2.aa a a
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 s
+ cdma2000HandoffInvokeIOSData [356] IMPLICIT CDMA2000HandoffInvokeIOSData OPTIONAL,
+ --O 6.5.2.gm xx
+ cdmaBandClassList [172] IMPLICIT CDMABandClassList OPTIONAL,
+ -- O 6.5.2.c r
+ cdmaCallMode [62] IMPLICIT CDMACallMode OPTIONAL,
+ -- O 6.5.2.29 c, d, e
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.30 c
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- O 6.5.2.aq c, t, aa
+ cdmaMobileProtocolRevision [66] IMPLICIT CDMAMobileProtocolRevision OPTIONAL,
+ -- O 6.5.2.34 c
+ cdmaMSMeasuredChannelIdentity [351] IMPLICIT CDMAMSMeasuredChannelIdentity OPTIONAL,
+ -- O 6.5.2.gh nn
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 f
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e c, s
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g
+ cdmaServingOneWayDelay [60] IMPLICIT CDMAServingOneWayDelay OPTIONAL,
+ -- O 6.5.2.38 a, c
+ cdmaStationClassMark [59] IMPLICIT CDMAStationClassMark OPTIONAL,
+ -- O 6.5.2.41 c
+ cdmaStationClassMark2 [177] IMPLICIT CDMAStationClassMark2 OPTIONAL,
+ -- O 6.5.2.h TSB76 c, mm
+ cdmaTargetMAHOList [136] IMPLICIT CDMATargetMAHOList OPTIONAL,
+ -- O 6.5.2.43 g
+ cdmaTargetMeasurementList [134] IMPLICIT CDMATargetMeasurementList OPTIONAL,
+ -- O 6.5.2.45 h
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.47 i
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Desired) O 6.5.2.50 b
+ dataKey [215] IMPLICIT DataKey OPTIONAL,
+ -- O 6.5.2.at aa
+ dataPrivacyParameters [216] IMPLICIT DataPrivacyParameters OPTIONAL,
+ -- O 6.5.2.au x
+ handoffReason [30] IMPLICIT HandoffReason OPTIONAL,
+ -- O 6.5.2.70 c
+ handoffState [164] IMPLICIT HandoffState OPTIONAL,
+ -- O 6.5.2.71 d
+ ilspInformation [217] IMPLICIT ISLPInformation OPTIONAL,
+ --(Desired) O 6.5.2.av u
+ msLocation [70] IMPLICIT MSLocation OPTIONAL,
+ -- O 6.5.2.84 c
+ nampsCallMode [165] IMPLICIT NAMPSCallMode OPTIONAL,
+ -- O 6.5.2.85 e, m
+ nampsChannelData [74] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.86 n
+ randomVariable [40] IMPLICIT RandomVariable OPTIONAL,
+ -- O 6.5.2.101 aa
+ nonPublicData [200] IMPLICIT NonPublicData OPTIONAL,
+ -- O 6.5.2.ad t
+ pdsnAddress [349] IMPLICIT PDSNAddress OPTIONAL,
+ --O 6.5.2.gf gg
+ pdsnProtocolType [350] IMPLICIT PDSNProtocolType OPTIONAL,
+ -- O 6.5.2.gg hh
+ qosPriority [348] IMPLICIT QoSPriority OPTIONAL,
+ -- O 6.5.2.ge ff
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 6.5.2.120 j
+ stationClassMark [18] IMPLICIT StationClassMark,
+ -- M 6.5.2.143
+ systemOperatorCode [206] IMPLICIT SystemOperatorCode OPTIONAL,
+ -- O 6 .5.2.a j b b
+ targetCellID [3] IMPLICIT TargetCellID OPTIONAL,
+ -- O 6.5.2.148 b
+ tdmaBandwidth [220] IMPLICIT TDMABandwidth OPTIONAL,
+ -- (Desired) O 6.5.2.ay z
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Serving) O 6.5.2.151 o
+ tdmaCallMode [29] IMPLICIT TDMACallMode OPTIONAL,
+ -- O 6.5.2.152 e, p
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.153 o
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6 .5.2.i x
+ tdmaTerminalCapability [179] TDMATerminalCapability OPTIONAL,
+ -- y O 6 .5.2.j x
+ tdmaVoiceCoder [180] IMPLICIT TDMAVoiceCoder OPTIONAL,
+ -- O 6.5.2.k u
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6 .5.2.154
+ userZoneData [209] IMPLICIT UserZoneData OPTIONAL,
+ -- O 6.5.2.am (IS-730) v
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 q
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+}
+
+-- FacilitiesDirective2 RETURN RESULT Parameters
+FacilitiesDirective2Res ::= [PRIVATE 18] SET {
+ bsmcstatus [198] IMPLICIT BSMCStatus OPTIONAL,
+ --
+ cdma2000HandoffResponseIOSData [357] IMPLICIT CDMA2000HandoffResponseIOSData OPTIONAL,
+ -- O 6.5.2.gn yy
+ -- O 6 .5.2.a b f
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Target) O 6.5.2.30 a
+ cdmaCodeChannelList [132] IMPLICIT CDMACodeChannelList OPTIONAL,
+ -- O 6.5.2.33 a
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- O 6.5.2.aq a, i,
+ cdmaSearchParameters [230] IMPLICIT CDMASearchParameters OPTIONAL,
+ --O 6.5.2.bi a, k
+ cdmaSearchWindow [69] IMPLICIT CDMASearchWindow OPTIONAL,
+ -- O 6.5.2.37 a
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e a, h
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Target) O 6.5.2.47 b
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Actual) O 6.5.2.50 c
+ ilspInformation [217] IMPLICIT ISLPInformation OPTIONAL,
+ -- (Actual) O 6.5.2.av j
+ nampsChannelData [74] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Target) O 6.5.2.86 d
+ sOCStatus [205] IMPLICIT SOCStatus OPTIONAL,
+ -- O 6 .5.2.a i f
+ targetCellID [3] IMPLICIT TargetCellID OPTIONAL,
+ -- O 6.5.2.148 e
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Target) O 6.5.2.151 f
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Target) O 6.5.2.153 g
+ tdmaVoiceCoder [180] IMPLICIT TDMAVoiceCoder OPTIONAL
+ -- (Target ) O 6 .5.2.k h
+}
+
+-- 6.4.2.12 FacilitiesRelease
+FacilitiesRelease ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ releaseReason [10] IMPLICIT ReleaseReason,
+ -- M 6.5.2.111
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- O 6.5.2.16 a
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL
+ -- O 6.5.2.81
+ }
+
+-- FacilitiesRelease RETURN RESULT Parameters
+FacilitiesReleaseRes ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID OPTIONAL
+ -- O 6.5.2.16
+ }
+
+-- Updated with N.S0004, N.S0012-0 v 1.0 N.S0023-0 v 1.0
+-- http://www.3gpp2.org/Public_html/specs/X.S0004-540-E_v2.0_070723.pdf
+-- 6.4.2.13 FeatureRequest
+FeatureRequest ::= [PRIVATE 18] SET {
+ digits [4] IMPLICIT Digits,
+ -- (Dialed) M 6.5.2.58
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ msid MSID OPTIONAL,
+ --
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- O 6.5.2.16
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw c
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 c
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 c
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 c
+ conferenceCallingIndicator [137] IMPLICIT ConferenceCallingIndicator OPTIONAL,
+ -- O 6.5.2.49
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving) O 6.5.2.82 e
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 f
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- O 6.5.2.93
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL,
+ -- (Originating MSC)
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL,
+ -- 6.5.2.160
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+-- FeatureRequest RETURN RESULT Parameters
+FeatureRequestRes ::= [PRIVATE 18] SET {
+ featureResult [18] IMPLICIT FeatureResult,
+ -- M 6.5.2.67
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 b
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 c
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 d
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 d
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 d
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 d
+ conferenceCallingIndicator [137] IMPLICIT ConferenceCallingIndicator OPTIONAL,
+ -- O 6.5.2.49 e
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 f
+ digits-Destination [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) O 6.5.2.58 l
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx l, m
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- O 6.5.2.ec l, m
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 g
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 g
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 g
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 d
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 h
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 g
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 d
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 i
+ pACAIndicator [146] IMPLICIT PACAIndicator OPTIONAL,
+ -- O 6.5.2.91 j
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 h
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 n, o
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 d
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 d
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 d
+ resumePIC [266] IMPLICIT ResumePIC OPTIONAL,
+ -- O 6.5.2.cu m
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 d
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 k
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 d
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de n
+ }
+
+-- 6.4.2.14 FlashRequest
+FlashRequest ::= [PRIVATE 18] SET {
+ digits [4] IMPLICIT Digits,
+ -- (Dialed) M 6.5.2.58 a
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Actual) O 6.5.2.50 b
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63
+ emergencyServicesRoutingDigits [239] IMPLICIT EmergencyServicesRoutingDigits OPTIONAL
+ -- O 6.5.bs
+ }
+-- FlashRequest RETURN RESULT Parameters
+-- zero octets
+
+
+-- 6.4.2.15 HandoffBack
+HandoffBack ::= [PRIVATE 18] SET {
+ channelData [5] IMPLICIT ChannelData,
+ -- (Serving) M 6.5.2.47 a
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ servingCellID [2] IMPLICIT ServingCellID,
+ -- M 6.5.2.117
+ targetCellID [3] IMPLICIT TargetCellID,
+ -- M 6.5.2.148
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- O 6.5.2.16 b
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Desired) O 6.5.2.50 c
+ handoffReason [30] IMPLICIT HandoffReason OPTIONAL,
+ -- O 6.5.2.70 d
+ handoffState [164] IMPLICIT HandoffState OPTIONAL,
+ -- O 6.5.2.71 e
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 6.5.2.120 c, f
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Serving) O 6.5.2.151 g
+ tdmaCallMode [29] IMPLICIT TDMACallMode OPTIONAL,
+ -- O 6.5.2.152 h
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.153 g
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 i
+ ...
+ }
+
+-- HandoffBack RETURN RESULT Parameters
+
+HandoffBackRes ::= [PRIVATE 18] SET {
+ channelData [5] IMPLICIT ChannelData,
+ -- (Target) M 6.5.2.47 a
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Actual) O 6.5.2.50 b
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Target) O 6.5.2.151 c
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Target) O 6.5.2.153 d
+ ...
+ }
+--6.4.2.16 HandoffBack2
+HandoffBack2 ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- M 6.5.2.16
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- M 6.5.2.117 a
+ baseStationManufacturerCode [197] IMPLICIT BaseStationManufacturerCode OPTIONAL,
+ -- O 6 .5.2.a a u
+ cdma2000HandoffInvokeIOSData [356] IMPLICIT CDMA2000HandoffInvokeIOSData OPTIONAL,
+ -- O 6.5.2.gm xx
+ cdmaBandClassList [172] IMPLICIT CDMABandClassList OPTIONAL,
+ -- O 6.5.2.c r
+ cdmaCallMode [62] IMPLICIT CDMACallMode OPTIONAL,
+ -- O 6.5.2.29 c, d, e
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.30 c
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- O 6.5.2.aq IS-737 c, t, aa
+ cdmaMSMeasuredChannelIdentity [351] IMPLICIT CDMAMSMeasuredChannelIdentity OPTIONAL,
+ -- O 6.5.2.gh oo
+ cdmaMobileProtocolRevision [66] IMPLICIT CDMAMobileProtocolRevision OPTIONAL,
+ -- O 6.5.2.34 c
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e c, s, mm
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g TSB76 c, x
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 f
+ cdmaServingOneWayDelay [60] IMPLICIT CDMAServingOneWayDelay OPTIONAL,
+ -- O 6.5.2.38 a, c
+ cdmaStationClassMark [59] IMPLICIT CDMAStationClassMark OPTIONAL,
+ -- O 6.5.2.41 c
+ cdmaStationClassMark2 [177] IMPLICIT CDMAStationClassMark2 OPTIONAL,
+ -- O 6.5.2.h TSB76 c, nn
+ cdmaTargetMAHOList [136] IMPLICIT CDMATargetMAHOList OPTIONAL,
+ -- O 6.5.2.43 g
+ cdmaTargetMeasurementList [134] IMPLICIT CDMATargetMeasurementList OPTIONAL,
+ -- O 6.5.2.45 h
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.47 i
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Desired) O 6.5.2.50 j
+ dataKey [215] IMPLICIT DataKey OPTIONAL,
+ -- O 6.5.2.at aa
+ dataPrivacyParameters [216] IMPLICIT DataPrivacyParameters OPTIONAL,
+ -- O 6.5.2.au w
+ handoffReason [30] IMPLICIT HandoffReason OPTIONAL,
+ -- O 6.5.2.70 k
+ handoffState [164] IMPLICIT HandoffState OPTIONAL,
+ -- O 6.5.2.71 l
+ interSwitchCount [7] IMPLICIT InterSwitchCount OPTIONAL,
+ -- O 6.5.2.73 k
+ ilspInformation [217] IMPLICIT ISLPInformation OPTIONAL,
+ -- O 6.5.2.av y
+ msLocation [70] IMPLICIT MSLocation OPTIONAL,
+ -- O 6.5.2.84 c
+ nampsCallMode [165] IMPLICIT NAMPSCallMode OPTIONAL,
+ -- O 6.5.2.85 e, m
+ nampsChannelData [74] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.86 n
+ pdsnAddress [349] IMPLICIT PDSNAddress OPTIONAL,
+ -- O 6.5.2.gf hh
+ pdsnProtocolType [350] IMPLICIT PDSNProtocolType OPTIONAL,
+ -- O 6.5.2.gg ii
+ qosPriority [348] IMPLICIT QoSPriority OPTIONAL,
+ -- O 6.5.2.ge jj
+ randomVariable [40] IMPLICIT RandomVariable OPTIONAL,
+ -- O 6.5.2.101
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 6.5.2.120 j
+ stationClassMark [18] IMPLICIT StationClassMark OPTIONAL,
+ -- O 6 .5.2.14 3 i , n, o
+ systemOperatorCode [206] IMPLICIT SystemOperatorCode OPTIONAL,
+ -- O 6 .5.2.a j v
+ targetCellID [3] IMPLICIT TargetCellID OPTIONAL,
+ -- O 6.5.2.148
+ tdmaBandwidth [220] IMPLICIT TDMABandwidth OPTIONAL,
+ -- (Desired) O 6.5.2.ay
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Serving) O 6.5.2.151 o
+ tdmaCallMode [29] IMPLICIT TDMACallMode OPTIONAL,
+ -- O 6.5.2.152 e, p
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.153 o
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6 .5.2.i x
+ tdmaTerminalCapability [179] TDMATerminalCapability OPTIONAL,
+ -- y O 6 .5.2.j x
+ tdmaVoiceCoder [180] IMPLICIT TDMAVoiceCoder OPTIONAL,
+ -- O 6.5.2.k u
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6 .5.2.154
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 q
+ ...
+ }
+
+-- HandoffBack2 RETURN RESULT Parameters
+HandoffBack2Res ::= [PRIVATE 18] SET {
+ bsmcstatus [198] IMPLICIT BSMCStatus OPTIONAL,
+ -- O 6 .5.2.a b f
+ cdma2000HandoffResponseIOSData [357] IMPLICIT CDMA2000HandoffResponseIOSData OPTIONAL,
+ -- O 6.5.2.gn yy
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Target) O 6.5.2.30 a
+ cdmaCodeChannelList [132] IMPLICIT CDMACodeChannelList OPTIONAL,
+ -- O 6.5.2.33 a
+ cdmaSearchParameters [230] IMPLICIT CDMASearchParameters OPTIONAL,
+ -- O 6.5.2.bi a, k
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- O 6.5.2.aq a, i, l, zz
+ cdmaSearchWindow [69] IMPLICIT CDMASearchWindow OPTIONAL,
+ -- O 6.5.2.37 a
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e a, h, t
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Target) O 6.5.2.47 b
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Actual) O 6.5.2.50 c
+ nampsChannelData [74] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Target) O 6.5.2.86 d
+ sOCStatus [205] IMPLICIT SOCStatus OPTIONAL,
+ -- O 6 .5.2.a i f
+ targetCellID [3] IMPLICIT TargetCellID OPTIONAL,
+ -- O 6.5.2.148 e
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Target) O 6.5.2.151 f
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Target) O 6.5.2.153 g
+ tdmaVoiceCoder [180] IMPLICIT TDMAVoiceCoder OPTIONAL
+ -- (Target ) O 6 .5.2.k h
+ }
+
+-- 6.4.2.17 HandoffMeasurementRequest
+
+HandoffMeasurementRequest ::= [PRIVATE 18] SET {
+ channelData [5] IMPLICIT ChannelData,
+ -- (Serving) M 6.5.2.47 a
+ servingCellID [2] IMPLICIT ServingCellID,
+ -- M 6.5.2.117
+ stationClassMark [18] IMPLICIT StationClassMark,
+ -- M 6.5.2.143
+ targetCellIDList [207] IMPLICIT TargetCellIDList OPTIONAL,
+ -- O 6 .5.2.ak i
+ tdmaCallMode [29] IMPLICIT TDMACallMode OPTIONAL,
+ -- O 6.5.2.152 b
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.153 c
+ tdmaTerminalCapability [179] IMPLICIT TDMATerminalCapability OPTIONAL
+ -- O 6 .5.2.j h
+ }
+
+--HandoffMeasurementRequest RETURN RESULT Parameters
+HandoffMeasurementRequestRes ::= [PRIVATE 18] SET {
+ signalQuality [11] IMPLICIT SignalQuality,
+ -- M 6.5.2.121 a
+ targetCellID [3] IMPLICIT TargetCellID,
+ -- M 6.5.2.148 a
+ ...
+ }
+
+-- 6.4.2.18 HandoffMeasurementRequest2
+HandoffMeasurementRequest2 ::= [PRIVATE 18] SET {
+ servingCellID [2] IMPLICIT ServingCellID,
+ -- M 6.5.2.117
+ cdmaCallMode [62] IMPLICIT CDMACallMode OPTIONAL,
+ -- O 6.5.2.29 a, b
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.30 b
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e
+ cdmaServingOneWayDelay [60] IMPLICIT CDMAServingOneWayDelay OPTIONAL,
+ -- O 6.5.2.38 b
+ cdmaStationClassMark [59] IMPLICIT CDMAStationClassMark OPTIONAL,
+ -- O 6.5.2.41 b
+ cdmaStationClassMark2 [177] IMPLICIT CDMAStationClassMark2 OPTIONAL,
+ -- O 6.5.2.h i
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.47 c
+ msLocation [70] IMPLICIT MSLocation OPTIONAL,
+ -- O 6.5.2.84 b
+ nampsCallMode [165] IMPLICIT NAMPSCallMode OPTIONAL,
+ -- O 6.5.2.85 d
+ nampsChannelData [74] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.86 e
+ stationClassMark [18] IMPLICIT StationClassMark OPTIONAL,
+ -- O 6.5.2.143 c, f
+ targetCellIDList [207] IMPLICIT TargetCellIDList OPTIONAL,
+ -- O 6.5.2.ak
+ tdmaBandwidth [220] IMPLICIT TDMABandwidth OPTIONAL,
+ -- (Desired) O 6.5.2.ay
+ tdmaCallMode [29] IMPLICIT TDMACallMode OPTIONAL,
+ -- O 6.5.2.152 g
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.153 f
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i
+ tdmaTerminalCapability [179] IMPLICIT TDMATerminalCapability OPTIONAL
+ -- O 6.5.2.j
+ }
+
+-- HandoffMeasurementRequest2 RETURN RESULT Parameters
+HandoffMeasurementRequest2Res ::= [PRIVATE 18] SET {
+ cdmaTargetMeasurementList [134] IMPLICIT CDMATargetMeasurementList OPTIONAL,
+ -- O 6.5.2.45 a
+ targetMeasurementList [157] IMPLICIT TargetMeasurementList OPTIONAL
+ -- O 6.5.2.150 b ...
+ }
+
+-- 6.4.2.19 HandoffToThird
+HandoffToThird ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- M 6.5.2.16 N.S0006
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ interSwitchCount [7] IMPLICIT InterSwitchCount,
+ -- (Serving) M 6.5.2.73
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ mscid [21] IMPLICIT MSCID,
+ -- (Target) M 6.5.2.82
+ servingCellID [2] IMPLICIT ServingCellID,
+ -- M 6.5.2.117
+ baseStationManufacturerCode [197] IMPLICIT BaseStationManufacturerCode OPTIONAL,
+ -- O 6 .5.2.aa u
+ stationClassMark [18] IMPLICIT StationClassMark,
+ -- M 6.5.2.143
+ targetCellID [3] IMPLICIT TargetCellID,
+ -- M 6.5.2.148
+ cdmaBandClassList [172] IMPLICIT CDMABandClassList OPTIONAL,
+ -- O 6.5.2.c q
+ cdmaCallMode [62] IMPLICIT CDMACallMode OPTIONAL,
+ -- O 6.5.2.29 c, d, e
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.30 c
+ cdmaMobileProtocolRevision [66] IMPLICIT CDMAMobileProtocolRevision OPTIONAL,
+ -- O 6.5.2.34 c, r
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 f
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e c, s
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g c, t
+ cdmaServingOneWayDelay [60] IMPLICIT CDMAServingOneWayDelay OPTIONAL,
+ -- O 6.5.2.38 a, c
+ cdmaStationClassMark [59] IMPLICIT CDMAStationClassMark OPTIONAL,
+ -- O 6.5.2.41 c, r, u
+ cdmaStationClassMark2 [177] IMPLICIT CDMAStationClassMark2 OPTIONAL,
+ -- O 6.5.2.h r
+ cdmaTargetMAHOList [136] IMPLICIT CDMATargetMAHOList OPTIONAL,
+ -- O 6.5.2.43 g
+ cdmaTargetMeasurementList [134] IMPLICIT CDMATargetMeasurementList OPTIONAL,
+ -- O 6.5.2.45 h
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.47 b
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Desired) O 6.5.2.50 c
+ handoffReason [30] IMPLICIT HandoffReason OPTIONAL,
+ -- O 6.5.2.70 d
+ handoffState [164] IMPLICIT HandoffState OPTIONAL,
+ -- O 6 .5.2.71 t
+ msLocation [70] IMPLICIT MSLocation OPTIONAL,
+ -- O 6.5.2.84 c
+ nampsCallMode [165] IMPLICIT NAMPSCallMode OPTIONAL,
+ -- O 6.5.2.85 e, l
+ nampsChannelData [74] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.86 m
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 6.5.2.120 c
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Serving) O 6.5.2.151 e
+ tdmaCallMode [29] IMPLICIT TDMACallMode OPTIONAL,
+ -- O 6.5.2.152 f
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.153 e
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6 .5.2.i x
+ tdmaTerminalCapability [179] IMPLICIT TDMATerminalCapability OPTIONAL,
+ -- y O 6 .5.2.j x
+ tdmaVoiceCoder [180] IMPLICIT TDMAVoiceCoder OPTIONAL,
+ -- O 6.5.2.k u
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6 .5.2.154
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL
+ -- O 6.5.2.166 g
+ }
+
+-- HandoffToThird RETURN RESULT Parameters
+HandoffToThirdRes ::= [PRIVATE 18] SET {
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Target) O 6.5.2.30 a
+ cdmaCodeChannelList [132] IMPLICIT CDMACodeChannelList OPTIONAL,
+ -- O 6.5.2.33 a
+ cdmaSearchWindow [69] IMPLICIT CDMASearchWindow OPTIONAL,
+ -- O 6.5.2.37 a
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ --
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Target) O 6.5.2.47 a
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Actual) O 6.5.2.50 b
+ nampsChannelData [74] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Target) O 6.5.2.86 d
+ targetCellID [3] IMPLICIT TargetCellID,
+ -- O 6.5.2.148 e
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Target) O 6.5.2.151 c
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Target) O 6.5.2.153 d
+ tdmaVoiceCoder [180] IMPLICIT TDMAVoiceCoder OPTIONAL
+ -- (Target) O 6.5.2.k j
+ }
+
+-- 6.4.2.20 HandoffToThird2
+HandoffToThird2 ::= [PRIVATE 18] SET {
+ bsmcstatus [198] IMPLICIT BSMCStatus OPTIONAL,
+ -- O 6 .5.2.a b f
+ billingID [1] IMPLICIT BillingID,
+ -- M 6.5.2.16
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ interSwitchCount [7] IMPLICIT InterSwitchCount,
+ -- (Serving) M 6.5.2.73
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ mscid [21] IMPLICIT MSCID,
+ -- (Target) M 6.5.2.82
+ servingCellID [2] IMPLICIT ServingCellID,
+ -- M 6.5.2.117 a
+ targetCellID [3] IMPLICIT TargetCellID,
+ -- O 6.5.2.148 b
+ cdma2000HandoffInvokeIOSData [356] IMPLICIT CDMA2000HandoffInvokeIOSData OPTIONAL,
+ -- O 6.5.2.gm xx
+ cdmaCallMode [62] IMPLICIT CDMACallMode OPTIONAL,
+ -- O 6.5.2.29 c, d, e
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.30 c
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- O 6.5.2.aq IS-737 c, s, z
+ cdmaMSMeasuredChannelIdentity [351] IMPLICIT CDMAMSMeasuredChannelIdentity OPTIONAL,
+ -- O 6.5.2.gh oo
+ cdmaMobileProtocolRevision [66] IMPLICIT CDMAMobileProtocolRevision OPTIONAL,
+ -- O 6.5.2.34 c
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 f
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e c, r, mm
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g c, x
+ cdmaServingOneWayDelay [60] IMPLICIT CDMAServingOneWayDelay OPTIONAL,
+ -- O 6.5.2.38 a, c
+ cdmaStationClassMark [59] IMPLICIT CDMAStationClassMark OPTIONAL,
+ -- O 6.5.2.41 c
+ cdmaStationClassMark2 [177] IMPLICIT CDMAStationClassMark2 OPTIONAL,
+ -- O 6.5.2.h TSB76 c, nn
+ cdmaTargetMAHOList [136] IMPLICIT CDMATargetMAHOList OPTIONAL,
+ -- O 6.5.2.43 g
+ cdmaTargetMeasurementList [134] IMPLICIT CDMATargetMeasurementList OPTIONAL,
+ -- O 6.5.2.45 h
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.47 i
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Desired) O 6.5.2.50 j
+ dataKey [215] IMPLICIT DataKey OPTIONAL,
+ -- O 6.5.2.at IS-737 ab z
+ dataPrivacyParameters [216] IMPLICIT DataPrivacyParameters OPTIONAL,
+ -- O 6.5.2.au IS-737 v
+ handoffReason [30] IMPLICIT HandoffReason OPTIONAL,
+ -- O 6.5.2.70 k
+ ilspInformation [217] IMPLICIT ISLPInformation OPTIONAL,
+ -- O 6.5.2.av w
+ msLocation [70] IMPLICIT MSLocation OPTIONAL,
+ -- O 6.5.2.84 c
+ nampsCallMode [165] IMPLICIT NAMPSCallMode OPTIONAL,
+ -- O 6.5.2.85 e, l
+ nampsChannelData [74] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.86 m
+ pdsnAddress [349] IMPLICIT PDSNAddress OPTIONAL,
+ -- O 6.5.2.gf hh
+ pdsnProtocolType [350] IMPLICIT PDSNProtocolType OPTIONAL,
+ -- O 6.5.2,gg ii
+ qosPriority [348] IMPLICIT QoSPriority OPTIONAL,
+ -- O 6.5.2.ge jj
+ randomVariable [40] IMPLICIT RandomVariable OPTIONAL,
+ -- O 6.5.2.101 z
+ sOCStatus [205] IMPLICIT SOCStatus OPTIONAL,
+ -- O 6 .5.2.a i f
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 6.5.2.120 j
+ stationClassMark [18] IMPLICIT StationClassMark OPTIONAL,
+ -- O 6.5.2.143 i, m, n
+ tdmaBandwidth [220] IMPLICIT TDMABandwidth OPTIONAL,
+ --(Desired) O 6.5.2.ay y
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Serving) O 6.5.2.151 n
+ tdmaCallMode [29] IMPLICIT TDMACallMode OPTIONAL,
+ -- O 6.5.2.152 n, o
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.153 n
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i u
+ tdmaTerminalCapability [179] TDMATerminalCapability OPTIONAL,
+ -- O 6.5.2.j
+ tdmaVoiceCoder [180] IMPLICIT TDMAVoiceCoder OPTIONAL,
+ -- O 6.5.2.k
+ userZoneData [209] IMPLICIT UserZoneData OPTIONAL,
+ -- O 6.5.2.am (IS-730)
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 p
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+-- HandoffToThird2 RETURN RESULT Parameters
+HandoffToThird2Res ::= [PRIVATE 18] SET {
+ cdma2000HandoffResponseIOSData [357] IMPLICIT CDMA2000HandoffResponseIOSData OPTIONAL,
+ -- O 6.5.2.gn yy
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Target) O 6.5.2.30 a
+ cdmaCodeChannelList [132] IMPLICIT CDMACodeChannelList OPTIONAL,
+ -- O 6.5.2.33 a
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- O 6.5.2.aq IS-737 a, i, k, zz
+ cdmaSearchParameters [230] IMPLICIT CDMASearchParameters OPTIONAL,
+ -- O 6.5.2.bi a, k
+ cdmaSearchWindow [69] IMPLICIT CDMASearchWindow OPTIONAL,
+ -- O 6.5.2.37 a
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e a, h, t
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Target) O 6.5.2.47 b
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- (Actual) O 6.5.2.50 c
+ nampsChannelData [74] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Target) O 6.5.2.86 d
+ targetCellID [3] IMPLICIT TargetCellID,
+ -- O 6.5.2.148 e
+ tdmaBurstIndicator [31] IMPLICIT TDMABurstIndicator OPTIONAL,
+ -- (Target) O 6.5.2.151 f
+ tdmaChannelData [28] IMPLICIT TDMAChannelData OPTIONAL,
+ -- (Target) O 6.5.2.153 g
+ tdmaVoiceCoder [180] IMPLICIT TDMAVoiceCoder OPTIONAL
+ -- (Target) O 6.5.2.k j
+ }
+
+-- 6.4.2.21 InformationDirective Updated with N.S0012-0 v 1.0
+-- http://www.3gpp2.org/Public_html/specs/X.S0004-540-E_v2.0_070723.pdf
+InformationDirective ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ msid MSID OPTIONAL,
+ -- M 2.153 e
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 a
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 b
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 c
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 c
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 c
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- 6.5.2.ec
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 c
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 c
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL
+ -- O 6.5.2.116 d
+ }
+
+-- InformationDirective RETURN RESULT Parameters
+
+InformationDirectiveRes ::= [PRIVATE 18] SET {
+ alertResult [129] IMPLICIT AlertResult OPTIONAL
+ -- O 6.5.2.4 a
+ }
+
+-- 6.4.2.22 InformationForward
+InformationForward ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 a
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 a
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 b
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 b
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 b
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- 6.5.2.ec
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 a
+ messageWaitingNotificationCount [92] IMPLICIT MessageWaitingNotificationCount OPTIONAL,
+ -- O 6.5.2.78 a
+ messageWaitingNotificationType [145] IMPLICIT MessageWaitingNotificationType OPTIONAL,
+ -- O 6.5.2.79 a
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 b
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 b
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+-- InformationForward RETURN RESULT Parameters
+InformationForwardRes ::= [PRIVATE 18] SET {
+ alertResult [129] IMPLICIT AlertResult OPTIONAL
+ -- O 6.5.2.4 a
+ }
+
+-- 6.4.2.23 InterSystemAnswer
+
+InterSystemAnswer ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL
+ -- O 6.5.2.63 a
+ }
+-- InterSystemAnswer RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.24 InterSystemPage
+
+InterSystemPage ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 a
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw a, m
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 a
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 a
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 a
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 a
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 a
+ cdmaBandClass [170] IMPLICIT CDMABandClass OPTIONAL,
+ -- O 6.5.2.a m
+ cdmaMobileProtocolRevision [66] IMPLICIT CDMAMobileProtocolRevision OPTIONAL,
+ -- O 6.5.2.34 c
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f m
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g
+ cdmaSlotCycleIndex [166] IMPLICIT CDMASlotCycleIndex OPTIONAL,
+ -- O 6.5.2.40 b
+ cdmaStationClassMark [59] IMPLICIT CDMAStationClassMark OPTIONAL,
+ -- O 6.5.2.41 c
+ cdmaStationClassMark2 [177] IMPLICIT CDMAStationClassMark2 OPTIONAL,
+ -- O 6.5.2.h m
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 6 .5.2.ac m
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- 6.5.2.ec
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 a
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 a
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 a
+ extendedMSCID [53] IMPLICIT ExtendedMSCID OPTIONAL,
+ -- (Serving MSC) O 6.5.2.64 d
+ extendedSystemMyTypeCode [54] IMPLICIT ExtendedSystemMyTypeCode OPTIONAL,
+ -- (Serving MSC) O 6.5.2.65 e
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 f
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 f
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 a
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Originating MSC) O 6.5.2.82 g
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 f
+ mSIDUsage [327] IMPLICIT MSIDUsage OPTIONAL,
+ -- O 6.5.2.fe
+ networkTMSI [233] IMPLICIT NetworkTMSI OPTIONAL,
+ -- O 6.5.2.bl o
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 f
+ pageCount [300] IMPLICIT PageCount OPTIONAL,
+ -- O 6.5.2.ed
+ pageIndicator [71] IMPLICIT PageIndicator OPTIONAL,
+ -- O 6.5.2.92 h
+ pageResponseTime [301] IMPLICIT PageResponseTime OPTIONAL,
+ -- O 6.5.2.ee
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Originating MSC) O 6.5.2.93 i
+ pilotBillingID [169] IMPLICIT PilotBillingID OPTIONAL,
+ -- O 6.5.2.94 j
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 k
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 a
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ --O 6.5.2.107 a
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 a
+ redirectingPartyName [245] IMPLICIT RedirectingPartyName OPTIONAL,
+ -- O 6.5.2.by a, m
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 a
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 f
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL,
+ -- (Originating MSC) O 6.5.2.147 l
+ tdmaDataFeaturesIndicator [221] IMPLICIT TDMADataFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.az p
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6 .5.2.154 f
+ terminationTreatment [121] IMPLICIT TerminationTreatment OPTIONAL,
+ -- O 6.5.2.158 f
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 a
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de a
+ }
+
+-- InterSystemPage RETURN RESULT Parameters
+InterSystemPageRes ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- (Terminating) O 6.5.2.16 b, c
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f
+ conditionallyDeniedReason [162] IMPLICIT ConditionallyDeniedReason OPTIONAL,
+ -- O 6.5.2.48 d
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) O 6.5.2.58 c
+ extendedMSCID [53] IMPLICIT ExtendedMSCID OPTIONAL,
+ -- (Border MSC) O 6.5.2.64 c
+ extendedSystemMyTypeCode [54] IMPLICIT ExtendedSystemMyTypeCode OPTIONAL,
+ -- (Border MSC) O 6.5.2.65 c
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 e
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Border MSC) O 6.5.2.93 f
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL
+ -- O 6.5.2.i
+ }
+
+-- 6.4.2.25 InterSystemPage2
+InterSystemPage2 ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Anchor MSC) M 6.5.2.16
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 a
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 b
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 b
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 b
+ cdmaBandClass [170] IMPLICIT CDMABandClass OPTIONAL,
+ -- O 6.5.2.a f
+ cdmaMobileProtocolRevision [66] IMPLICIT CDMAMobileProtocolRevision OPTIONAL,
+ -- O 6.5.2.34 c
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 6 .5.2.ac f
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f f
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g h
+ cdmaSlotCycleIndex [166] IMPLICIT CDMASlotCycleIndex OPTIONAL,
+ -- O 6.5.2.40 b
+ cdmaStationClassMark [59] IMPLICIT CDMAStationClassMark OPTIONAL,
+ -- O 6.5.2.41 d
+ cdmaStationClassMark2 [177] IMPLICIT CDMAStationClassMark2 OPTIONAL,
+ -- O 6.5.2.h f
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- 6.5.2.ec
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 e
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 a
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ mSIDUsage [327] IMPLICIT MSIDUsage OPTIONAL,
+ -- O 6.5.2.fe k
+ networkTMSI [233] IMPLICIT NetworkTMSI OPTIONAL,
+ -- O 6.5.2.bl h
+ nonPublicData [200] IMPLICIT NonPublicData OPTIONAL,
+ -- O 6.5.2.ad IS-730 l
+ pageCount [300] IMPLICIT PageCount OPTIONAL,
+ -- O 6.5.2.ed
+ pageIndicator [71] IMPLICIT PageIndicator OPTIONAL,
+ -- O 6.5.2.92 f
+ pagingFrameClass [210] IMPLICIT PagingFrameClass OPTIONAL,
+ -- O 6 .5.2.ae g
+ pageResponseTime [301] IMPLICIT PageResponseTime OPTIONAL,
+ -- O 6.5.2.ee IS-730 h
+ pSID-RSIDList [203] IMPLICIT PSID-RSIDList OPTIONAL,
+ -- O 6.5.2.ag IS-730 m,
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 b
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 b
+ tdmaDataFeaturesIndicator [221] IMPLICIT TDMADataFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.az i
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6 .5.2.154 d
+ userZoneData [209] IMPLICIT UserZoneData OPTIONAL
+ -- O 6.5.2.am IS-730
+ }
+
+-- InterSystemPage2 RETURN RESULT Parameters
+
+InterSystemPage2Res ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ authenticationResponseBaseStation [36] IMPLICIT AuthenticationResponseBaseStation,
+ -- O 6.5.2.10 b
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18 b
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f
+ randc [67] IMPLICIT RANDC OPTIONAL,
+ -- O 6.5.2.100 c
+ randomVariableBaseStation [41] IMPLICIT RandomVariableBaseStation,
+ -- O 6.5.2.101 d
+ systemAccessType [34] IMPLICIT SystemAccessType,
+ -- O 6.5.2.145 b
+ systemCapabilities [49] IMPLICIT SystemCapabilities OPTIONAL,
+ -- (Border) O 6.5.2.146 e
+ tdmaDataMode [222] IMPLICIT TDMADataMode OPTIONAL,
+ -- O 6.5.2.ba e
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i
+ terminalType [47] IMPLICIT TerminalType OPTIONAL
+ -- O 6.5.2.154 e
+ }
+
+-- 6.4.2.26 InterSystemSetup
+InterSystemSetup ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Anchor MSC) M 6.5.2.16
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+-- (IS-751)
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 a, g
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 b, g
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 b, g
+
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 b, g
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 a
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f e, g
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g f, g
+ changeServiceAttributes [214] IMPLICIT ChangeServiceAttributes OPTIONAL,
+ -- O 6.5.2.as c
+ dataKey [215] IMPLICIT DataKey OPTIONAL,
+ -- O 6.5.2.at b
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx a, b
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- O 6.5.2.ec (misc 10.0) a, c, g
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu (IS-751) d
+ ilspInformation [217] IMPLICIT ISLPInformation OPTIONAL,
+ -- (Desired) O 6.5.2.av d
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81 (IS-751)
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 b, g
+ edirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 b, g
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 6.5.2.120 a
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 a
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+-- InterSystemSetup RETURN RESULT Parameters
+
+InterSystemSetupRes ::= [PRIVATE 18] SET {
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- O 6.5.2.aq a
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ --O 6.5.2.f TSB76 b
+ ilspInformation [217] IMPLICIT ISLPInformation OPTIONAL,
+ -- (Actual) O 6.5.2.av
+ setupResult [151] IMPLICIT SetupResult OPTIONAL
+ -- O 6.5.2.118 a
+ }
+
+-- 6.4.2.27 LocationRequest Updated with N.S0023-0 v 1.0
+LocationRequest ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16
+ digits [4] IMPLICIT Digits,
+ -- (Dialed) M 6.5.2.58
+ mscid [21] IMPLICIT MSCID,
+ -- (Originating) M 6.5.2.82
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (Originating) M 6.5.2.147
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ --O 6.5.2.21 a
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ --O 6.5.2.22 a
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ --O 6.5.2.25 a
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f g
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 b
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Originating) O 6.5.2.93 c
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 a
+ redirectingPartyName [245] IMPLICIT RedirectingPartyName OPTIONAL,
+ -- O 6.5.2.by
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 a
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 d
+ terminationAccessType [119] IMPLICIT TerminationAccessType OPTIONAL,
+ -- O 6.5.2.155 d
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i h
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL,
+ -- O 6.5.2.160 e
+ triggerType [279] IMPLICIT TriggerType OPTIONAL,
+ -- O 6.5.2.dh f
+ winCapability [280] IMPLICIT WINCapability OPTIONAL,
+ -- O 6.5.2.di
+ callingPartyCategory [355] IMPLICIT CallingPartyCategory OPTIONAL
+ -- O 6.5.2.gl
+ }
+-- LocationRequest RETURN RESULT Parameters
+
+LocationRequestRes ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63 a
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81 a
+ mscid [21] IMPLICIT MSCID,
+ -- (Serving MSC) M 6.5.2.82 b
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 c
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 d
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 e
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 e
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f
+ controlNetworkID [307] IMPLICIT ControlNetworkID OPTIONAL,
+ -- O 6.5.2.ek s
+ digits-carrier [4] IMPLICIT Digits OPTIONAL,
+ -- (Carrier) O 6.5.2.58 f
+ digits-dest [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) O 6.5.2.58 g, h
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- 6.5.2.ec
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 i
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 i
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 i
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 j
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei q
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 k
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 i
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 l
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 m
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Serving MSC or VLR) O 6.5.2.93 n
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 f, r
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 j
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 f
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 e, j
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 f
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 o
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 f
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL,
+ -- O 6.5.2.de f, t
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+-- 6.4.2.28 MobileOnChannel
+
+--MobileOnChannel ::= [PRIVATE 18] SET {
+-- zero octets
+-- }
+
+-- 6.4.2.29 MSInactive
+MSInactive ::= [PRIVATE 18] SET {
+ lectronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18 a
+ deregistrationType [73] IMPLICIT DeregistrationType OPTIONAL,
+ -- O 6.5.2.55 b
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 c
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 d
+ servicesResult [204] IMPLICIT ServicesResult OPTIONAL,
+ -- O 6 .5.2.ah f
+ sms-MessageWaitingIndicator [118] IMPLICIT SMS-MessageWaitingIndicator OPTIONAL,
+ -- O 6.5.2.129 e
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+-- MSInactive RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.30
+-- OriginationRequest INVOKE Parameters Updated with N.S0023-0 v 1.0
+OriginationRequest ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ --(originating) M 6.5.2.16 1 0 0 0 0 0 0 1 (0x81)(0x1)
+ digits [4] IMPLICIT Digits,
+ --(Dialed) M 6.5.2.58
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ --M 6.5.2.63
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ --M 6.5.2.81
+ mscid [21] IMPLICIT MSCID,
+ --(Originating MSC) M 6.5.2.82 1 0 0 1 0 1 0 1 (0x95)(0x15)
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bv k
+ originationTriggers [98] IMPLICIT OriginationTriggers,
+ --M 6.5.2.90 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 1 0 0 0 1 0 (0x62) (98)
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ --M 6.5.2.160 1 0 0 1 1 1 1 1 (0x9f)
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv k
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw g
+ -- N.S0012-0_v1.0
+ -- 0 1 1 1 1 0 1 1 (0x7b)(123)
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ --O 6.5.2.21 a 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 0 1 0 0 0 0 (0x50)
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ --O 6.5.2.22 a 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 0 1 0 0 0 1 (0x51)
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ --O 6.5.2.25 a 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 0 1 0 1 0 0 (0x54)
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 a
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ --O 6.5.2.80 b 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 0 1 1 1 0 1 (0x5d)
+ featureIndicator [306] IMPLICIT FeatureIndicator OPTIONAL,
+ -- O 6.5.2.ej m
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ --O 6.5.2.83 c 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 0 1 1 1 1 0 (0x5e)
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ --O 6.5.2.88 d 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 1 0 0 0 0 1 (0x61)
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ --(Originating MSC), O 6.5.2.93 e 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 0 1 0 0 0 0 0 (0x20)
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 j
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ --O 6.5.2.116 f 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 1 0 0 1 1 1 (0x67)
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 a
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i
+ triggerType [279] IMPLICIT TriggerType OPTIONAL,
+ -- O 6.5.2.dh h
+ winCapability [280] IMPLICIT WINCapability OPTIONAL,
+ -- O 6.5.2.di a
+ -- NS0027
+ callingPartyCategory [355] IMPLICIT CallingPartyCategory OPTIONAL,
+ -- O 6.5.2.gl
+ meid [390] IMPLICIT MEID OPTIONAL,
+ -- O
+ ... }
+
+-- OriginationRequest RETURN RESULT Parameters
+OriginationRequestRes ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 b
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 c
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 d, e
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 d, e
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 d, e, f
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 g
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 h
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- O 6.5.2.ec d, e, p
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 i
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 i
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 i
+ dmh-ChargeInformation [311] IMPLICIT DMH-ChargeInformation OPTIONAL,
+ -- O 6.5.2.eo i, t
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 i, j
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei s
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 k
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 i
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 l
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 m
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 k
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 q, r
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 f
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 d
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 d, e
+ resumePIC [266] IMPLICIT ResumePIC OPTIONAL,
+ -- O 6.5.2.cu p
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 g
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 n
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.57 o
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de q
+ }
+
+-- 6.4.2.31 QualificationDirective
+
+QualificationDirective ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bu j
+ qualificationInformationCode [17] IMPLICIT QualificationInformationCode,
+ -- M 6.5.2.99
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (HLR or VLR) M 6.5.2.147
+ analogRedirectRecord [225] IMPLICIT AnalogRedirectRecord OPTIONAL,
+ -- O 6.5.2.bd k
+ authorizationDenied [13] IMPLICIT AuthorizationDenied OPTIONAL,
+ -- O 6.5.2.13 a
+ authorizationPeriod [14] IMPLICIT AuthorizationPeriod OPTIONAL,
+ -- O 6.5.2.14 b
+ cdmaRedirectRecord [229] IMPLICIT CDMARedirectRecord OPTIONAL,
+ -- O 6.5.2.bh l
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 6 .5.2.ac j
+ deniedAuthorizationPeriod [167] IMPLICIT DeniedAuthorizationPeriod OPTIONAL,
+ -- O 6.5.2.53 c
+ digits-carrier [4] IMPLICIT Digits OPTIONAL,
+ -- (Carrier) O 6.5.2.58 d, e
+ digits-dest [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) O 6.5.2.58 d, f
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 g
+-- Profile **Macro** O 6.5.2.97 h
+ authenticationCapability [78] IMPLICIT AuthenticationCapability OPTIONAL,
+ -- O 6.5.2.8 a
+ callingFeaturesIndicator [25] IMPLICIT CallingFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.20 b
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 c
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g d
+ controlNetworkID [307] IMPLICIT ControlNetworkID OPTIONAL,
+ -- O 6.5.2.ek u
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 d
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 d
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 d
+ geographicAuthorization [143] IMPLICIT GeographicAuthorization OPTIONAL,
+ -- O 6.5.2.68 e
+ meidValidated [401] IMPLICIT MEIDValidated OPTIONAL,
+ -- O 3.2.2.98
+ messageWaitingNotificationCount [92] IMPLICIT MessageWaitingNotificationCount OPTIONAL,
+ -- O 6.5.2.78 f
+ messageWaitingNotificationType [145] IMPLICIT MessageWaitingNotificationType OPTIONAL,
+ -- O 6.5.2.79 g
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d
+ mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm t TIA/EIA/J-STD-036-A
+ originationIndicator [23] IMPLICIT OriginationIndicator OPTIONAL,
+ -- O 6.5.2.89 h
+ originationTriggers [98] IMPLICIT OriginationTriggers OPTIONAL,
+ -- O 6.5.2.90 i
+ pACAIndicator [146] IMPLICIT PACAIndicator OPTIONAL,
+ -- O 6.5.2.91 j
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 k
+ qosPriority [348] IMPLICIT QoSPriority OPTIONAL,
+ --6.5.2.ge z
+ restrictionDigits [227] IMPLICIT RestrictionDigits OPTIONAL,
+ -- O 6.5.2.113 l
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 m
+ pSID-RSIDList [203] IMPLICIT PSID-RSIDList OPTIONAL,
+ -- O 6 .5.2.ag u , w
+ sms-OriginationRestrictions [115] IMPLICIT SMS-OriginationRestrictions OPTIONAL,
+ -- O 6.5.2.136 n
+ sms-TerminationRestrictions [117] IMPLICIT SMS-TerminationRestrictions OPTIONAL,
+ -- O 6.5.2.138 o
+ spinipin [154] IMPLICIT SPINIPIN OPTIONAL,
+ -- O 6.5.2.139 p
+ spiniTriggers [155] IMPLICIT SPINITriggers OPTIONAL,
+ -- O 6.5.2.140 q
+ tdmaDataFeaturesIndicator [221] IMPLICIT TDMADataFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.az s
+ terminationRestrictionCode [24] IMPLICIT TerminationRestrictionCode OPTIONAL,
+ -- O 6.5.2.157 r
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 s
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL,
+ -- O 6.5.2.de t
+ userGroup [208] IMPLICIT UserGroup OPTIONAL,
+ -- O 6 .5.2.al p
+ nonPublicData [200] IMPLICIT NonPublicData OPTIONAL,
+ -- O 6 .5.2.ad v
+ userZoneData [209] IMPLICIT UserZoneData OPTIONAL,
+ -- O 6 .5.2.am v , w
+ callingPartyCategory [355] IMPLICIT CallingPartyCategory OPTIONAL,
+ -- O 6.5.2.gl z
+ lirMode [369] IMPLICIT LIRMode OPTIONAL,
+ -- O 6.5.2.gz z
+-- END MACRO
+ serviceRedirectionInfo [238] IMPLICIT ServiceRedirectionInfo OPTIONAL,
+ -- O 6.5.2.bq k, l, m
+ roamingIndication [239] IMPLICIT RoamingIndication OPTIONAL,
+ -- O 6.5.2.br n
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL
+ -- O 6.5.2.116 i
+ }
+
+-- QualificationDirective RETURN RESULT Parameters
+-- Zero octets
+QualificationDirectiveRes ::= [PRIVATE 18] SET {
+
+}
+-- 6.4.2.32 QualificationRequest
+
+QualificationRequest ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bu c
+ qualificationInformationCode [17] IMPLICIT QualificationInformationCode,
+ -- M 6.5.2.99
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (MSC or VLR) M 6.5.2.147
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 c
+ cdmaNetworkIdentification [232] IMPLICIT CDMANetworkIdentification OPTIONAL,
+ -- (Serving) O 6.5.2.bk d
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 6.5.2.ac e
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving MSC or Originating MSC) O 6.5.2.82 a
+-- ReturnCause O 6.5.2.bp f
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 b
+ systemAccessType [34] IMPLICIT SystemAccessType OPTIONAL,
+ -- O 6.5.2.145 a
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6.5.2.154 e
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL,
+ -- O 6.5.2.160 a
+ winCapability [280] IMPLICIT WINCapability OPTIONAL,
+ -- O 6.5.2.di c
+ nonPublicData [200] IMPLICIT NonPublicData OPTIONAL,
+ -- O 6 .5.2.a d
+ userZoneData [209] IMPLICIT UserZoneData OPTIONAL,
+ -- O 6 .5.2.am e
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+-- QualificationRequest RETURN RESULT Parameters
+QualificationRequestRes ::= [PRIVATE 18] SET {
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (VLR or HLR) M 6.5.2.147
+ analogRedirectRecord [225] IMPLICIT AnalogRedirectRecord OPTIONAL,
+ -- O 6.5.2.bc
+ authorizationDenied [13] IMPLICIT AuthorizationDenied OPTIONAL,
+ -- O 6.5.2.13 a
+ authorizationPeriod [14] IMPLICIT AuthorizationPeriod OPTIONAL,
+ -- O 6.5.2.14 b
+ cdmaRedirectRecord [229] IMPLICIT CDMARedirectRecord OPTIONAL,
+ -- O 6.5.2.bh
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 6 .5.2.ac h
+ deniedAuthorizationPeriod [167] IMPLICIT DeniedAuthorizationPeriod OPTIONAL,
+ -- O 6.5.2.53 c
+ digits-carrier [4] IMPLICIT Digits OPTIONAL,
+ -- (Carrier) O 6.5.2.58 d
+ digits-dest [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) O 6.5.2.58 e
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (HLR) O 6.5.2.82 f
+-- Profile **Macro** O 6.5.2.97 g
+ authenticationCapability [78] IMPLICIT AuthenticationCapability OPTIONAL,
+ -- O 6.5.2.8 a
+ callingFeaturesIndicator [25] IMPLICIT CallingFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.20 b
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 c
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g f, g
+ controlNetworkID [307] IMPLICIT ControlNetworkID OPTIONAL,
+ -- O 6.5.2.ek u
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 d
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 d
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 d
+ geographicAuthorization [143] IMPLICIT GeographicAuthorization OPTIONAL,
+ -- O 6.5.2.68 e
+ meidValidated [401] IMPLICIT MEIDValidated OPTIONAL,
+ -- O 3.2.2.98
+ messageWaitingNotificationCount [92] IMPLICIT MessageWaitingNotificationCount OPTIONAL,
+ -- O 6.5.2.78 f
+ messageWaitingNotificationType [145] IMPLICIT MessageWaitingNotificationType OPTIONAL,
+ -- O 6.5.2.79 g
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d
+ mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm t TIA/EIA/J-STD-036-A
+ originationIndicator [23] IMPLICIT OriginationIndicator OPTIONAL,
+ -- O 6.5.2.89 h
+ originationTriggers [98] IMPLICIT OriginationTriggers OPTIONAL,
+ -- O 6.5.2.90 i
+ pACAIndicator [146] IMPLICIT PACAIndicator OPTIONAL,
+ -- O 6.5.2.91 j
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 k
+ restrictionDigits [227] IMPLICIT RestrictionDigits OPTIONAL,
+ -- O 6.5.2.113 l
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 m
+ sms-OriginationRestrictions [115] IMPLICIT SMS-OriginationRestrictions OPTIONAL,
+ -- O 6.5.2.136 n
+ sms-TerminationRestrictions [117] IMPLICIT SMS-TerminationRestrictions OPTIONAL,
+ -- O 6.5.2.138 o
+ spinipin [154] IMPLICIT SPINIPIN OPTIONAL,
+ -- O 6.5.2.139 p
+ spiniTriggers [155] IMPLICIT SPINITriggers OPTIONAL,
+ -- O 6.5.2.140 q
+ terminationRestrictionCode [24] IMPLICIT TerminationRestrictionCode OPTIONAL,
+ -- O 6.5.2.157 r
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 s
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL,
+ -- O 6.5.2.de t
+ callingPartyCategory [355] IMPLICIT CallingPartyCategory OPTIONAL,
+ -- O 6.5.2.gl z
+ lirMode [369] IMPLICIT LIRMode OPTIONAL,
+ -- O 6.5.2.gz z
+-- END MACRO
+ serviceRedirectionInfo [238] IMPLICIT ServiceRedirectionInfo OPTIONAL,
+ -- O 6.5.2.bq h, i
+ roamingIndication [239] IMPLICIT RoamingIndication OPTIONAL
+ -- O 6.5.2.br
+ }
+
+-- 6.4.2.33 RandomVariableRequest
+RandomVariableRequest ::= [PRIVATE 18] SET {
+ mscid [21] IMPLICIT MSCID,
+ -- (Serving MSC) M 6.5.2.82
+ randc [67] IMPLICIT RANDC,
+ -- M 6.5.2.100
+ servingCellID [2] IMPLICIT ServingCellID
+ -- M 6.5.2.117
+ }
+
+-- RandomVariableRequest RETURN RESULT Parameters
+RandomVariableRequestRes ::= [PRIVATE 18] SET {
+ randomVariable [40] IMPLICIT RandomVariable OPTIONAL,
+ -- O 6.5.2.101 a
+ randValidTime [148] IMPLICIT RANDValidTime
+ -- O 6.5.2.105 a
+ }
+
+-- 6.4.2.34 RedirectionDirective
+RedirectionDirective ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16
+ digits-dest [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) M 6.5.2.58
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (MSC) M 6.5.2.147
+ digits-carrier [4] IMPLICIT Digits OPTIONAL,
+ -- (Carrier) O 6.5.2.58 a
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 b
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 b
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 d
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ --O 6.5.2.83 c
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 d
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 d
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL
+ -- O 6.5.2.116 e
+ }
+
+-- RedirectionDirective RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.35 RedirectionRequest
+RedirectionRequest ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ msid MSID,
+ redirectionReason [19] IMPLICIT RedirectionReason,
+ -- M 6.5.2.110
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 a
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 b
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL
+ -- O 6.5.2.i
+ }
+-- RedirectionRequest RETURN RESULT Parameters
+-- Zero octets
+
+-- 6.4.2.36 RegistrationCancellation
+
+RegistrationCancellation ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ cancellationType [85] IMPLICIT CancellationType OPTIONAL,
+ -- O 6.5.2.27 a
+ controlChannelData [55] IMPLICIT ControlChannelData OPTIONAL,
+ -- O 6.5.2.51 b
+ receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 b
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 c
+ systemAccessData [56] IMPLICIT SystemAccessData OPTIONAL
+ -- O 6.5.2.144 b
+ }
+-- RegistrationCancellation RETURN RESULT Parameters
+
+RegistrationCancellationRes ::= [PRIVATE 18] SET {
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18 a
+ cancellationDenied [57] IMPLICIT CancellationDenied OPTIONAL,
+ -- O 6.5.2.26 b
+ controlChannelData [55] IMPLICIT ControlChannelData OPTIONAL,
+ -- O 6.5.2.51 b
+ receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 b
+ sms-MessageWaitingIndicator [118] IMPLICIT SMS-MessageWaitingIndicator OPTIONAL,
+ -- O 6.5.2.129 c
+ systemAccessData [56] IMPLICIT SystemAccessData OPTIONAL
+ -- O 6.5.2.144 b
+ }
+
+-- 6.4.2.37 RegistrationNotification
+-- RegistrationNotification INVOKE Parameters
+
+RegistrationNotification ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bu
+ meid [390] IMPLICIT MEID OPTIONAL,
+ --
+ mscid [21] IMPLICIT MSCID,
+ --(Serving MSC) M 6.5.2.82
+ qualificationInformationCode [17] IMPLICIT QualificationInformationCode,
+ -- M 6.5.2.99
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (Serving MSC or VLR) M 6.5.2.147
+ availabilityType [90] IMPLICIT AvailabilityType OPTIONAL,
+ -- O 6.5.2.15 a
+ borderCellAccess [58] IMPLICIT BorderCellAccess OPTIONAL,
+ -- O 6.5.2.17 b
+ cdmaNetworkIdentification [232] IMPLICIT CDMANetworkIdentification OPTIONAL,
+ -- (Serving) O 6.5.2.bk
+ controlChannelData [55] IMPLICIT ControlChannelData OPTIONAL,
+ -- O 6.5.2.51 b
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 6 .5.2.ac h
+ extendedMSCID [53] IMPLICIT ExtendedMSCID OPTIONAL,
+ -- (VLR) O 6.5.2.64 c
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 d
+ msc-Address [284] IMPLICIT MSC-Address OPTIONAL,
+ -- O 6.5.2.dnC l
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 2.152 t
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ --(Serving MSC or VLR) O 6.5.2.93 e
+ receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 b
+ reportType [44] IMPLICIT ReportType OPTIONAL,
+ -- O 6.5.2.112 f
+ serviceRedirectionCause [237] IMPLICIT ServiceRedirectionCause OPTIONAL,
+ -- O 6.5.2.bp
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 g
+ sms-Address [104] IMPLICIT SMS-Address OPTIONAL,
+ -- O 6.5.2.123 h
+ sms-MessageWaitingIndicator [118] IMPLICIT SMS-MessageWaitingIndicator OPTIONAL,
+ -- O 6.5.2.129 i
+ systemAccessData [56] IMPLICIT SystemAccessData OPTIONAL,
+ -- O 6.5.2.144 b
+ systemAccessType [34] IMPLICIT SystemAccessType OPTIONAL,
+ -- O 6.5.2.145 j
+ systemCapabilities [49] IMPLICIT SystemCapabilities OPTIONAL,
+ -- O 6.5.2.146 k
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6.5.2.154 j
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL,
+ -- O 6.5.2.160 j
+ winCapability [280] IMPLICIT WINCapability OPTIONAL,
+ -- O 6.5.2.di l
+ ...,
+ mpcAddress [370] IMPLICIT MPCAddress OPTIONAL,
+ -- O 6.5.2.ha z, ab
+ mpcAddressList [381] IMPLICIT MPCAddressList OPTIONAL
+ -- O 6.5.2.hm aa, ab
+ }
+-- RegistrationNotification RETURN RESULT Parameters
+RegistrationNotificationRes ::= [PRIVATE 18] SET {
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (VLR or HLR) M 6.5.2.147
+ analogRedirectRecord [225] IMPLICIT AnalogRedirectRecord OPTIONAL,
+ -- O 6.5.2.bd
+ authorizationDenied [13] IMPLICIT AuthorizationDenied OPTIONAL,
+ -- O 6.5.2.13 a
+ authorizationPeriod [14] IMPLICIT AuthorizationPeriod OPTIONAL,
+ -- O 6.5.2.14 b
+ cdmaRedirectRecord [229] IMPLICIT CDMARedirectRecord OPTIONAL,
+ -- O 6.5.2.bh
+ controlChannelData [55] IMPLICIT ControlChannelData OPTIONAL,
+ -- O 6.5.2.51 c
+ deniedAuthorizationPeriod [167] IMPLICIT DeniedAuthorizationPeriod OPTIONAL,
+ -- O 6.5.2.53 d
+ digits-Carrier [4] IMPLICIT Digits OPTIONAL,
+ --(Carrier) O 6.5.2.58 e
+ digits-Destination [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) O 6.5.2.58 f
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ --(HLR) O 6.5.2.82 g
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bu
+--Profile **Macro** O 6.5.2.97 h
+ authenticationCapability [78] IMPLICIT AuthenticationCapability OPTIONAL,
+ -- O 6.5.2.8 a
+ callingFeaturesIndicator [25] IMPLICIT CallingFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.20 b
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 c
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g d
+ controlNetworkID [307] IMPLICIT ControlNetworkID OPTIONAL,
+ -- O 6.5.2.ek u
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 d
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 d
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 d
+ geographicAuthorization [143] IMPLICIT GeographicAuthorization OPTIONAL,
+ -- O 6.5.2.68 e
+ meidValidated [401] IMPLICIT MEIDValidated OPTIONAL,
+ -- O 3.2.2.98
+ messageWaitingNotificationCount [92] IMPLICIT MessageWaitingNotificationCount OPTIONAL,
+ -- O 6.5.2.78 f
+ messageWaitingNotificationType [145] IMPLICIT MessageWaitingNotificationType OPTIONAL,
+ -- O 6.5.2.79 g
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d
+ mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm t TIA/EIA/J-STD-036-A
+ originationIndicator [23] IMPLICIT OriginationIndicator OPTIONAL,
+ -- O 6.5.2.89 h
+ originationTriggers [98] IMPLICIT OriginationTriggers OPTIONAL,
+ -- O 6.5.2.90 i
+ pACAIndicator [146] IMPLICIT PACAIndicator OPTIONAL,
+ -- O 6.5.2.91 j
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 k
+ qosPriority [348] IMPLICIT QoSPriority OPTIONAL,
+ --6.5.2.ge z
+ restrictionDigits [227] IMPLICIT RestrictionDigits OPTIONAL,
+ -- O 6.5.2.113 l
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 m
+ pSID-RSIDList [203] IMPLICIT PSID-RSIDList OPTIONAL,
+ -- O 6 .5.2.ag u , w
+ sms-OriginationRestrictions [115] IMPLICIT SMS-OriginationRestrictions OPTIONAL,
+ -- O 6.5.2.136 n
+ sms-TerminationRestrictions [117] IMPLICIT SMS-TerminationRestrictions OPTIONAL,
+ -- O 6.5.2.138 o
+ spinipin [154] IMPLICIT SPINIPIN OPTIONAL,
+ -- O 6.5.2.139 p
+ spiniTriggers [155] IMPLICIT SPINITriggers OPTIONAL,
+ -- O 6.5.2.140 q
+ tdmaDataFeaturesIndicator [221] IMPLICIT TDMADataFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.az s
+ terminationRestrictionCode [24] IMPLICIT TerminationRestrictionCode OPTIONAL,
+ -- O 6.5.2.157 r
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 s
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL,
+ -- O 6.5.2.de t
+ userGroup [208] IMPLICIT UserGroup OPTIONAL,
+ -- O 6 .5.2.al p
+ nonPublicData [200] IMPLICIT NonPublicData OPTIONAL,
+ -- O 6 .5.2.ad v
+ userZoneData [209] IMPLICIT UserZoneData OPTIONAL,
+ -- O 6 .5.2.am v , w
+ callingPartyCategory [355] IMPLICIT CallingPartyCategory OPTIONAL,
+ -- O 6.5.2.gl z
+ lirMode [369] IMPLICIT LIRMode OPTIONAL,
+ -- O 6.5.2.gz z
+-- END MACRO
+ receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 c
+ serviceRedirectionInfo [238] IMPLICIT ServiceRedirectionInfo OPTIONAL,
+ -- O 6.5.2.bq k, l
+ roamingIndication [239] IMPLICIT RoamingIndication OPTIONAL,
+ -- O 6.5.2.br
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 i
+ sms-MessageWaitingIndicator [118] IMPLICIT SMS-MessageWaitingIndicator OPTIONAL,
+ -- O 6.5.2.129 j
+ systemAccessData [56] IMPLICIT SystemAccessData OPTIONAL
+ -- O 6.5.2.144 c
+ }
+
+-- 6.4.2.38 RemoteUserInteractionDirective
+RemoteUserInteractionDirective ::= [PRIVATE 18] SET {
+ announcementList [130] IMPLICIT AnnouncementList,
+ -- M 6.5.2.6
+ digitCollectionControl [139] IMPLICIT DigitCollectionControl
+ -- M 6.5.2.57
+ }
+
+-- RemoteUserInteractionDirective RETURN RESULT Parameters
+RemoteUserInteractionDirectiveRes ::= [PRIVATE 18] SET {
+ digits [4] IMPLICIT Digits OPTIONAL
+ -- (Dialed) O 6.5.2.58 a
+ }
+
+-- 6.4.2.39 ResetCircuit
+ResetCircuit ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID
+ -- M 6.5.2.72
+ }
+-- ResetCircuit RETURN RESULT Parameters
+ResetCircuitRes ::= [PRIVATE 18] SET {
+ trunkStatus [16] IMPLICIT TrunkStatus
+ -- M 6.5.2.161
+ }
+
+-- 6.4.2.40 RoutingRequest
+RoutingRequest ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16 a
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ mscid [21] IMPLICIT MSCID,
+ -- (Originating MSC) M 6.5.2.82
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (Originating MSC) M 6.5.2.147
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 b
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw r, u, v
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 c, t
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 c, t
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 c
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ --, O 6.5.2.24 c
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 c
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 6 .5.2.ac r
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56 d, e
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- O 6.5.2.ec d, e, p
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 f
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 f
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 f
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 g
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 f, h
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 f
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ msid MSID,
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 i
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 j
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 k
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Originating MSC) O 6.5.2.93 l
+ pilotBillingID [169] IMPLICIT PilotBillingID OPTIONAL,
+ -- O 6.5.2.94 m
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 m
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- OO 6.5.2.107 c, t
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 c
+ redirectingPartyName [245] IMPLICIT RedirectingPartyName OPTIONAL,
+ -- O 6.5.2.by s, u, v
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 c
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 n
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i
+ terminationTreatment [121] IMPLICIT TerminationTreatment OPTIONAL,
+ -- O 6.5.2.158 o
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 f
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL,
+ -- O 6.5.2.de u
+ userGroup [208] IMPLICIT UserGroup OPTIONAL,
+ -- O 6 .5.2.al s
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL,
+ -- (Originating MSC) O M 6.5.2.160
+ voiceMailboxNumber [160] IMPLICIT VoiceMailboxNumber OPTIONAL,
+ -- O 6.5.2.164 p
+ voiceMailboxPIN [159] IMPLICIT VoiceMailboxPIN OPTIONAL
+ -- O 6.5.2.165 q
+ }
+
+-- RoutingRequest RETURN RESULT Parameters
+RoutingRequestRes ::= [PRIVATE 18] SET {
+ mscid [21] IMPLICIT MSCID,
+ -- (Serving) M 6.5.2.82
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- (Anchor) O 6.5.2.16 b
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f
+ conditionallyDeniedReason [162] IMPLICIT ConditionallyDeniedReason OPTIONAL,
+ -- O 6.5.2.48 c
+ digits-Destination [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) O 6.5.2.58 d
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 e
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Serving MSC) O 6.5.2.93 f
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL
+ -- O 6.5.2.i
+ }
+
+-- 6.4.2.41 SMSDeliveryBackward
+SMSDeliveryBackward ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81 a
+ sms-BearerData [105] IMPLICIT SMS-BearerData,
+ -- M 6.5.2.124
+ sms-TeleserviceIdentifier [116] IMPLICIT SMS-TeleserviceIdentifier,
+ --M 6.5.2.137
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 b
+ sms-ChargeIndicator [106] IMPLICIT SMS-ChargeIndicator OPTIONAL,
+ -- O 6.5.2.126 c
+ sms-DestinationAddress [107] IMPLICIT SMS-DestinationAddress OPTIONAL,
+ -- O 6.5.2.127 d
+ sms-OriginalDestinationAddress [110] IMPLICIT SMS-OriginalDestinationAddress OPTIONAL,
+ -- O 6.5.2.131 e
+ sms-OriginalDestinationSubaddress [111] IMPLICIT SMS-OriginalDestinationSubaddress OPTIONAL,
+ -- O 6.5.2.132 b
+ sms-OriginalOriginatingAddress [112] IMPLICIT SMS-OriginalOriginatingAddress OPTIONAL,
+ -- O 6.5.2.133 f
+ sms-OriginalOriginatingSubaddress [113] IMPLICIT SMS-OriginalOriginatingSubaddress OPTIONAL,
+ -- O 6.5.2.134 b
+ sms-OriginatingAddress [114] IMPLICIT SMS-OriginatingAddress OPTIONAL
+ -- O 6.5.2.135 g
+ }
+
+-- SMSDeliveryBackward RETURN RESULT Parameters
+SMSDeliveryBackwardRes ::= [PRIVATE 18] SET {
+ sms-BearerData [105] IMPLICIT SMS-BearerData OPTIONAL,
+ -- O 6.5.2.124 a
+ sms-CauseCode [153] IMPLICIT SMS-CauseCode OPTIONAL
+ -- O 6.5.2.125 b
+ }
+
+
+-- 6.4.2.42 SMSDeliveryForward
+SMSDeliveryForward ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81 a
+ sms-BearerData [105] IMPLICIT SMS-BearerData,
+ -- M 6.5.2.124
+ sms-TeleserviceIdentifier [116] IMPLICIT SMS-TeleserviceIdentifier,
+ -- M 6.5.2.137
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- O 6.5.2.63 b
+ sms-ChargeIndicator [106] IMPLICIT SMS-ChargeIndicator OPTIONAL,
+ -- O 6.5.2.126 c
+ sms-DestinationAddress [107] IMPLICIT SMS-DestinationAddress OPTIONAL,
+ --O 6.5.2.127 d
+ sms-OriginalDestinationAddress [110] IMPLICIT SMS-OriginalDestinationAddress OPTIONAL,
+ -- O 6.5.2.131 e
+ sms-OriginalDestinationSubaddress [111] IMPLICIT SMS-OriginalDestinationSubaddress OPTIONAL,
+ -- O 6.5.2.132 b
+ sms-OriginalOriginatingAddress [112] IMPLICIT SMS-OriginalOriginatingAddress OPTIONAL,
+ -- O 6.5.2.133 f
+ sms-OriginalOriginatingSubaddress [113] IMPLICIT SMS-OriginalOriginatingSubaddress OPTIONAL,
+ -- O 6.5.2.134 b
+ sms-OriginatingAddress [114] IMPLICIT SMS-OriginatingAddress OPTIONAL
+ -- O 6.5.2.135 g
+ }
+
+-- SMSDeliveryForward RETURN RESULT Parameters
+SMSDeliveryForwardRes ::= [PRIVATE 18] SET {
+ sms-BearerData [105] IMPLICIT SMS-BearerData OPTIONAL,
+ --, O 6.5.2.124 a
+ sms-CauseCode [153] IMPLICIT SMS-CauseCode OPTIONAL
+ -- O 6.5.2.125 b
+ }
+
+-- N.S0005-0 v 1.0
+-- 6.4.2.43 SMSDeliveryPointToPoint
+SMSDeliveryPointToPoint ::= [PRIVATE 18] SET {
+ sms-BearerData [105] IMPLICIT SMS-BearerData,
+ -- M 6.5.2.124
+ sms-TeleserviceIdentifier [116] IMPLICIT SMS-TeleserviceIdentifier,
+ -- M 6.5.2.137
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2
+ cdmaServingOneWayDelay2 [347] IMPLICIT CDMAServingOneWayDelay2 OPTIONAL,
+ -- O 6.5.2.gd n, r
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 a
+ meid [390] IMPLICIT MEID OPTIONAL,
+ -- O 6.5.2.hv
+ interMessageTime [325] IMPLICIT InterMessageTime OPTIONAL,
+ -- O 6.5.2.fd
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 a
+ -- Exchanged by MSID
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- O 6.5.2.82 f
+-- msid MSID OPTIONAL,
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ --6.5.2.bv
+ newlyAssignedIMSI [287] IMPLICIT NewlyAssignedIMSI OPTIONAL,
+ -- O 6.5.2.dqB j
+ newlyAssignedMIN [187] IMPLICIT NewlyAssignedMIN OPTIONAL,
+ -- O 6.5.2.rB j
+ newMINExtension [328] IMPLICIT NewMINExtension OPTIONAL,
+ -- O 6.5.2.ff n
+ serviceIndicator [193] IMPLICIT ServiceIndicator OPTIONAL,
+ -- O 6.5.2.wB
+ sms-ChargeIndicator [106] IMPLICIT SMS-ChargeIndicator OPTIONAL,
+ -- O 6.5.2.126 b
+ sms-DestinationAddress [107] IMPLICIT SMS-DestinationAddress OPTIONAL,
+ -- O 6.5.2.127 c
+ sms-MessageCount [108] IMPLICIT SMS-MessageCount OPTIONAL,
+ -- O 6.5.2.128 d
+ sms-NotificationIndicator [109] IMPLICIT SMS-NotificationIndicator OPTIONAL,
+ -- O 6.5.2.130 e
+ sms-OriginalDestinationAddress [110] IMPLICIT SMS-OriginalDestinationAddress OPTIONAL,
+ -- O 6.5.2.131 f
+ sms-OriginalDestinationSubaddress [111] IMPLICIT SMS-OriginalDestinationSubaddress OPTIONAL,
+ -- O 6.5.2.132 g
+ sms-OriginalOriginatingAddress [112] IMPLICIT SMS-OriginalOriginatingAddress OPTIONAL,
+ -- O 6.5.2.133 f
+ sms-OriginalOriginatingSubaddress [113] IMPLICIT SMS-OriginalOriginatingSubaddress OPTIONAL,
+ -- O 6.5.2.134 b
+ sms-OriginatingAddress [114] IMPLICIT SMS-OriginatingAddress OPTIONAL,
+ -- O 6.5.2.135 g
+ teleservice-Priority [290] IMPLICIT Teleservice-Priority OPTIONAL,
+ -- O 6.5.2.dt
+ temporaryReferenceNumber [195] IMPLICIT TemporaryReferenceNumber OPTIONAL
+ -- O 6.5.2.yC
+ }
+
+-- SMSDeliveryPointToPoint RETURN RESULT Parameters
+SMSDeliveryPointToPointRes ::= [PRIVATE 18] SET {
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 k
+ authorizationDenied [13] IMPLICIT AuthorizationDenied OPTIONAL,
+ -- O 6.5.2.13 h
+ denyAccess [50] IMPLICIT DenyAccess OPTIONAL,
+ -- O 6.5.2.54 c
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 d
+ meid [390] IMPLICIT MEID OPTIONAL,
+ -- O 6.5.2.hv
+ mobileStationMSID MobileStationMSID OPTIONAL,
+ -- O 6.5.2.oC e
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- O 6.5.2.82 f
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 TIA/EIA/J-STD-036-A
+ sms-BearerData [105] IMPLICIT SMS-BearerData OPTIONAL,
+ -- O 6.5.2.124 a
+ sms-CauseCode [153] IMPLICIT SMS-CauseCode OPTIONAL,
+ -- O 6.5.2.125 b
+ systemCapabilities [49] IMPLICIT SystemCapabilities OPTIONAL
+ -- O 6.5.2.146 g
+ }
+-- 2.65 SMSDeliveryPointToPointAck X.S0004-540-E v2.0
+SMSDeliveryPointToPointAck ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 2.129
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 2.127 d
+ msid MSID OPTIONAL,
+ -- MobileIdentificationNumber O 2.140 d ( exchanged for msid RAB).
+ sms-BearerData [105] IMPLICIT SMS-BearerData OPTIONAL,
+ -- O 2.233 a
+ sms-CauseCode [153] IMPLICIT SMS-CauseCode OPTIONAL,
+ -- O 2.234 b
+ sms-TransactionID [302] IMPLICIT SMS-TransactionID OPTIONAL
+ -- O 2.248 c
+}
+
+
+-- 6.4.2.44 SMSNotification
+SMSNotification ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ -- Exchanged by MCID
+ msid MSID OPTIONAL,
+ --6.5.2.bv
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 f
+ sms-AccessDeniedReason [152] IMPLICIT SMS-AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.122 a
+ sms-Address [104] IMPLICIT SMS-Address OPTIONAL,
+ -- O 6.5.2.123 a, b
+ sms-TeleserviceIdentifier [116] IMPLICIT SMS-TeleserviceIdentifier OPTIONAL,
+ -- O 6.5.2.137
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+-- SMSNotification RETURN RESULT Parameters
+SMSNotificationRes ::= [PRIVATE 18] SET {
+ sms-MessageCount [108] IMPLICIT SMS-MessageCount OPTIONAL
+ -- O 6.5.2.128
+}
+
+-- 6.4.2.45 SMSRequest
+SMSRequest ::= [PRIVATE 18] SET {
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ msid MSID OPTIONAL,
+ -- 6.5.2.bv e, f, g
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 e
+ serviceIndicator [193] IMPLICIT ServiceIndicator OPTIONAL,
+ -- O 6.5.2.wB d
+ -- O 6.5.2.63 a
+ sms-NotificationIndicator [109] IMPLICIT SMS-NotificationIndicator OPTIONAL,
+ -- O 6.5.2.130 b
+ sms-TeleserviceIdentifier [116] IMPLICIT SMS-TeleserviceIdentifier OPTIONAL
+ -- O 6.5.2.137 c
+ }
+
+-- SMSRequest RETURN RESULT Parameters
+-- X.S0004-540-E v2.0
+SMSRequestRes ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 a
+ msid MSID OPTIONAL,
+ -- 6.5.2.bv
+ sms-AccessDeniedReason [152] IMPLICIT SMS-AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.122 b, c
+ sms-Address [104] IMPLICIT SMS-Address OPTIONAL,
+ -- O 6.5.2.123 c, d
+ sms-CauseCode [153] IMPLICIT SMS-CauseCode OPTIONAL,
+ -- O 6.5.2.125
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL
+ -- O 2.285 f
+ }
+
+-- 6.4.2.46 TransferToNumberRequest Updated with N.S0023-0 v 1.0
+TransferToNumberRequest ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bv h
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ redirectionReason [19] IMPLICIT RedirectionReason,
+ -- M 6.5.2.110
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (MSC) M 6.5.2.147
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv h
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- (Originating) O 6.5.2.16 a
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw r, u, v
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 c, t
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 c, t
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 c
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 b
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 c
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Originating) O 6.5.2.82 d
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 e
+ pilotBillingID [169] IMPLICIT PilotBillingID OPTIONAL,
+ -- O 6.5.2.94 f
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 f
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 g N.S.00013
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL,
+ -- O 6.5.2.160 e
+ winCapability [280] IMPLICIT WINCapability OPTIONAL,
+ -- O 6.5.2.di i
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+-- TransferToNumberRequest RETURN RESULT Parameters
+TransferToNumberRequestRes ::= [PRIVATE 18] SET {
+ digits-Destination [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) M 6.5.2.58 a
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 b
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 c
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 d
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 e
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 e
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 e, f
+ digits-Carrier [4] IMPLICIT Digits OPTIONAL,
+ -- (Carrier) O 6.5.2.58 g
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- O 6.5.2.ec d, e, p
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 h
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 h
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 h
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 h
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei k
+ groupInformation [163] GroupInformation OPTIONAL,
+ -- O 6.5.2.69 i
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 h
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 g
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 g, m
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 f
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 e
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 e, f
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 j
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 g
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de l
+ }
+
+-- 6.4.2.47 TrunkTest
+TrunkTest ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ seizureType [15] IMPLICIT SeizureType
+ -- M 6.5.2.115
+ }
+
+-- TrunkTest RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.48 TrunkTestDisconnect
+TrunkTestDisconnect ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID
+ -- M 6.5.2.72
+ }
+
+-- TrunkTestDisconnect RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.49 Unblocking
+Unblocking ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID
+ -- M 6.5.2.72
+ }
+
+-- Unblocking RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.50 UnreliableRoamerDataDirective
+UnreliableRoamerDataDirective ::= [PRIVATE 18] SET {
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (HLR) O 6.5.2.82 a
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL
+ -- O 6.5.2.116 b
+ }
+-- UnreliableRoamerDataDirective RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.51 UnsolicitedResponse
+UnsolicitedResponse ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Anchor) M 6.5.2.16
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f
+ digits-Destination [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) O 6.5.2.58 a
+ extendedMSCID [53] IMPLICIT ExtendedMSCID OPTIONAL,
+ -- (Border MSC) O 6.5.2.64 a
+ extendedSystemMyTypeCode [54] IMPLICIT ExtendedSystemMyTypeCode OPTIONAL,
+ -- (Border MSC) O 6.5.2.65 a
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Border MSC) O 6.5.2.93 a, b
+ systemAccessType [34] IMPLICIT SystemAccessType OPTIONAL,
+ -- O 6.5.2.145 c
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+-- UnsolicitedResponse RETURN RESULT Parameters
+UnsolicitedResponseRes ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 a
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- (Originating) O 6.5.2.16 b
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw g, i
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 d
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 d
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 c
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 c
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 c
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- O 6.5.2.ec d, e, p
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 d
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 d
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 d
+ extendedMSCID [53] IMPLICIT ExtendedMSCID OPTIONAL,
+ -- (Originating MSC) O 6.5.2.64 e
+ extendedSystemMyTypeCode [54] IMPLICIT ExtendedSystemMyTypeCode OPTIONAL,
+ -- (Originating MSC) O 6.5.2.65 f
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 g
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- (Origination MSC) O 6.5.2.83 g
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 g
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Originating MSC) O 6.5.2.93 h
+ pilotBillingID [169] IMPLICIT PilotBillingID OPTIONAL,
+ -- O 6.5.2.94 g
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 g
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 g
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 d
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 c
+ redirectingPartyName [245] IMPLICIT RedirectingPartyName OPTIONAL,
+ -- O 6.5.2.by g, i
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 c
+ terminationTreatment [121] IMPLICIT TerminationTreatment OPTIONAL,
+ -- O 6.5.2.158 g
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 g
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de g
+ }
+
+-- N.S0010-0 v 1.0
+-- 6.4.2.e ParameterRequest
+ParameterRequest ::= [PRIVATE 18] SET {
+ requiredParametersMask [236] IMPLICIT RequiredParametersMask,
+ -- M 6.5.2.j
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 a
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bu b
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ --O 6.5.2.82 c
+ networkTMSI [233] IMPLICIT NetworkTMSI OPTIONAL,
+ -- O 6.5.2.bl b
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- O 6.5.2.93 d
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 e
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL
+ -- O 6.5.2.147 f
+ }
+-- Table 6.4.2.e-2 ParameterRequest RETURN RESULT Parameters
+ParameterRequestRes ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 a
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu a
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 a
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 a
+ networkTMSI [233] IMPLICIT NetworkTMSI OPTIONAL,
+ -- O 6.5.2.bl a
+ reasonList [218] IMPLICIT ReasonList OPTIONAL
+ -- O 6.5.2.aw
+ }
+
+-- 6.4.2.f TMSIDirective (N.S0005-0 v 1.0 Chapter 5, page 1
+TMSIDirective ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ mscid [21] IMPLICIT MSCID,
+ -- M 6.5.2.bu
+ networkTMSIExpirationTime [234] IMPLICIT NetworkTMSIExpirationTime,
+ -- M 6.5.2.bm
+ newNetworkTMSI [235] IMPLICIT NewNetworkTMSI,
+ --M 6.5.2.bn
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.83 a
+ networkTMSI [233] IMPLICIT NetworkTMSI OPTIONAL
+ -- O 6.5.2.bl
+ }
+
+--Table 6.4.2.f-2 TMSIDirective RETURN RESULT Parameters
+TMSIDirectiveRes ::= [PRIVATE 18] SET {
+ denyAccess [50] IMPLICIT DenyAccess OPTIONAL,
+ -- O 6.5.2.54 b
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 b
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- O 6.5.2.bu b
+ reasonList [218] IMPLICIT ReasonList OPTIONAL,
+ -- O 6.5.2.aw
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+
+--X.S0004-540-E v2.0 2.42 NumberPortabilityRequest
+-- 6.4.2.g NumberPortabilityRequest Updated with N.S0023-0 v 1.0
+NumberPortabilityRequest ::= [PRIVATE 18] SET {
+ digits [4] IMPLICIT Digits,
+ -- (Dialed) M 6.5.2.58
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv d
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 a
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- O 6.5.2.82 b
+ msid MSID OPTIONAL
+ -- (Originating) O 6.5.2.bv c
+ }
+
+NumberPortabilityRequestRes ::= [PRIVATE 18] SET {
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL
+ -- O 2.209
+ }
+
+-- 6.4.2.h ServiceRequest Updated with N.S0023-0 v 1.0
+
+ServiceRequest ::= [PRIVATE 18] SET {
+ serviceID [246] IMPLICIT ServiceID,
+ -- M 6.5.2.bz
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 c d
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv p
+ availabilityType [90] IMPLICIT AvailabilityType OPTIONAL,
+ -- O 6.5.2.15 c, e
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- O 6.5.2.16 a, f
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw a
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ --O 6.5.2.21 a 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 0 1 0 0 0 0 (0x50)
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ --O 6.5.2.22 b 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 0 1 0 0 0 1 (0x51)
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ --O 6.5.2.25 a 1 0 0 1 1 1 1 1 (0x9f)
+ -- 0 1 0 1 0 1 0 0 (0x54)
+
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 p
+ conditionallyDeniedReason [162] IMPLICIT ConditionallyDeniedReason OPTIONAL,
+ -- O 6.5.2.48 c, d
+ dataAccessElementList [250] IMPLICIT DataAccessElementList OPTIONAL,
+ -- O 6.5.2.cd c
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56 q
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 a
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 c
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ej c, r
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 c, s
+ extendedMSCID [53] IMPLICIT ExtendedMSCID OPTIONAL,
+ -- O 6.5.2.64 c, t
+ featureIndicator [306] IMPLICIT FeatureIndicator OPTIONAL,
+ -- O 6.5.2.ej c, u
+ groupInformation [163] GroupInformation OPTIONAL,
+ -- O 6.5.2.69 c
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 c
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 c
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 c, g
+-- Removed MobileIdentificationNumber O 6.5.2.81 c
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Invoking) O 6.5.2.82 c, h
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- (Invoking) O 6.5.2.83 c, i
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bv p
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- O 6.5.2.93 i, j
+ pilotBillingID [169] IMPLICIT PilotBillingID OPTIONAL,
+ -- O 6.5.2.94 c
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 c
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 a
+ redirectingPartyName [245] IMPLICIT RedirectingPartyName OPTIONAL,
+ -- O 6.5.2.by a
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 a
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 a
+ redirectionReason [19] IMPLICIT RedirectionReason OPTIONAL,
+ -- O 6.5.2.110 a, c
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 v
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 6.5.2.116 k
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 c
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL,
+ -- O 6.5.2.147 l
+ terminationAccessType [119] IMPLICIT TerminationAccessType OPTIONAL,
+ -- O 6.5.2.155 c
+ timeDateOffset [275] IMPLICIT TimeDateOffset OPTIONAL,
+ -- O 6.5.2.dd c, w
+ timeOfDay [309] IMPLICIT TimeOfDay OPTIONAL,
+ -- O 6.5.2.em c, x
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL,
+ -- O 6.5.2.160 m
+ triggerType [279] IMPLICIT TriggerType OPTIONAL,
+ -- O 6.5.2.dh n
+ winCapability [280] IMPLICIT WINCapability OPTIONAL
+ -- O 6.5.2.di o
+}
+
+-- ServiceRequest RETURN RESULT Parameters
+ServiceRequestRes ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 b
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 c
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 d
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 e
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw a
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 a
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 a
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 a
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 a
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 f
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, p
+ displayText2 [299] IMPLICIT DisplayText2 OPTIONAL,
+ -- O 6.5.2.ec d, e, p
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 a
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 a
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 a
+ dmh-ChargeInformation [311] IMPLICIT DMH-ChargeInformation OPTIONAL,
+ -- O 6.5.2.eo a, k
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 a
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei i
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 a
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 a
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 a
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 a
+ redirectingNumberString [101] IMPLICIT RedirectingNumberString OPTIONAL,
+ -- O 6.5.2.108 a
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 a
+ resumePIC [266] IMPLICIT ResumePIC OPTIONAL,
+ -- O 6.5.2.cu g
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 a
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 h
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de j
+
+}
+
+-- 6.4.2.i AnalyzedInformation Updated with N.S0023-0 v 1.0
+AnalyzedInformation ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16 a
+ digits [4] IMPLICIT Digits,
+ -- (Dialed) M 6.5.2.58
+ mscid [21] IMPLICIT MSCID,
+ -- (Originating) M 6.5.2.82 b
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ -- M 6.5.2.160
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh c
+ winCapability [280] IMPLICIT WINCapability,
+ -- M 6.5.2.di d
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv n
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw e, m
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 e
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 e
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 e
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 n, o
+ conferenceCallingIndicator [137] IMPLICIT ConferenceCallingIndicator OPTIONAL,
+ -- O 6.5.2.49 f
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56 n, p
+ dmd-BillingIndicator [312] IMPLICIT DMH-BillingIndicator OPTIONAL,
+ -- O 6.5.2.ep y
+ dmh-ChargeInformation [311] IMPLICIT DMH-ChargeInformation OPTIONAL,
+ -- O 6.5.2.eo g, r
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 q
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 g, r
+ featureIndicator [306] IMPLICIT FeatureIndicator OPTIONAL,
+ -- O 6.5.2.ej s
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 h, t
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 i
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 g
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 j
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bv n
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 k
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 e
+ redirectingPartyName [245] IMPLICIT RedirectingPartyName OPTIONAL,
+ -- O 6.5.2.by b, m
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 e
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 n, u
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 h, v
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL,
+ -- O 6.5.2.147
+ terminationAccessType [119] IMPLICIT TerminationAccessType OPTIONAL,
+ -- O 6.5.2.155 l
+ timeDateOffset [275] IMPLICIT TimeDateOffset OPTIONAL,
+ -- O 6.5.2.dd w
+ timeOfDay [309] IMPLICIT TimeOfDay OPTIONAL
+ -- O 6.5.2.em x
+ }
+
+--AnalyzedInformation RETURN RESULT Parameters
+-- Analyzed Information Request
+AnalyzedInformationRes ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 b
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 c
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 d
+ conferenceCallingIndicator [137] IMPLICIT ConferenceCallingIndicator OPTIONAL,
+ -- O 6.5.2.49 e
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 f
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, m
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 g
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 g
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 g
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 h
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei n
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 i
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 j
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 d
+ resumePIC [266] IMPLICIT ResumePIC OPTIONAL,
+ -- O 6.5.2.cu k
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 d
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 l
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 d
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de d, o
+ }
+-- 6.4.2.j ConnectionFailureReport
+
+ConnectionFailureReport ::= [PRIVATE 18] SET {
+ failureType [260] IMPLICIT FailureType,
+ -- M 6.5.2.cn
+ failureCause [387] IMPLICIT FailureCause OPTIONAL
+ -- O 6.5.2.cm
+ }
+
+-- 6.4.2.k ConnectResource
+ConnectResource ::= [PRIVATE 18] SET {
+ destinationDigits [87] IMPLICIT DestinationDigits,
+ -- M 6.5.2.56
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 a
+ outingDigits [150] IMPLICIT RoutingDigits OPTIONAL
+ -- O 6.5.2.114 a
+ }
+
+-- 6.4.2.l DisconnectResource
+-- NO data
+--DisconnectResource ::= [PRIVATE 18] SET {
+-- }
+
+-- 6.4.2.m FacilitySelectedAndAvailable updated with N.S0023-0 v 1.0
+FacilitySelectedAndAvailable ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Serving) M 6.5.2.16
+ mscid [21] IMPLICIT MSCID,
+ -- (Serving) M 6.5.2.82
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ -- M 6.5.2.160
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh a
+ winCapability [280] IMPLICIT WINCapability,
+ -- M 6.5.2.di b
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw c, i
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 c
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 c
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 c
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 c
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 c
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 c
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d, e
+--MobileIdentificationNumber O 6.5.2.81 d
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 f
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bv d, j
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 g
+ pilotBillingID [169] IMPLICIT PilotBillingID OPTIONAL,
+ -- O 6.5.2.94 c
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 c
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 c
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 c
+ redirectingPartyName [245] IMPLICIT RedirectingPartyName OPTIONAL,
+ -- O 6.5.2.by c, i
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 c
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 c
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL,
+ -- O 6.5.2.147
+ terminationAccessType [119] IMPLICIT TerminationAccessType OPTIONAL
+ -- O 6.5.2.155 h
+ }
+
+-- FacilitySelectedAndAvailable RETURN RESULT Parameters
+
+FacilitySelectedAndAvailableRes ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 b
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 c
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, j
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 e
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 e
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 e
+ dmh-ChargeInformation [311] IMPLICIT DMH-ChargeInformation OPTIONAL,
+ -- O 6.5.2.eo e, l
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 e, f
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei k
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 g
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 h
+ resumePIC [266] IMPLICIT ResumePIC OPTIONAL,
+ -- O 6.5.2.cu i
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 d
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de d, l
+ }
+
+-- 6.4.2.n InstructionRequest
+-- InstructionRequest ::= [PRIVATE 18] SET {
+-- Length zero octets
+-- }
+
+-- InstructionRequest RETURN RESULT Parameters
+-- zero octets M 6.3.2.2
+
+-- 6.4.2.o Modify
+Modify ::= [PRIVATE 18] SET {
+ databaseKey [252] IMPLICIT DatabaseKey,
+ -- M 6.5.2.cf a
+ modificationRequestList [263] IMPLICIT ModificationRequestList
+ -- M 6.5.2.cq
+ }
+-- Modify RETURN RESULT Parameters
+ModifyRes ::= [PRIVATE 18] SET {
+ modificationResultList [264] IMPLICIT ModificationResultList
+ -- M 6.5.2.cs a
+ }
+
+-- 6.4.2.p ResetTimer
+-- NO data
+
+-- 6.4.2.q Search
+Search ::= [PRIVATE 18] SET {
+ databaseKey [252] IMPLICIT DatabaseKey,
+ -- M 6.5.2.cf a
+ serviceDataAccessElementList [271] IMPLICIT ServiceDataAccessElementList
+ --M 6.5.2.cz b
+ }
+
+-- Search RETURN RESULT Parameters
+SearchRes ::= [PRIVATE 18] SET {
+ serviceDataAccessElementList [271] IMPLICIT ServiceDataAccessElementList
+ -- M 6.5.2.cz a
+ }
+
+-- 6.4.2.r SeizeResource
+SeizeResource ::= [PRIVATE 18] SET {
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96
+ privateSpecializedResource [265] IMPLICIT PrivateSpecializedResource OPTIONAL,
+ --O 6.5.2.u a
+ specializedResource [274] IMPLICIT SpecializedResource OPTIONAL
+ --O 6.5.2.dc a
+ }
+
+-- SeizeResource RETURN RESULT Parameters
+SeizeResourceRes ::= [PRIVATE 18] SET {
+ destinationDigits [87] IMPLICIT DestinationDigits
+ -- M 6.5.2.56 a
+ }
+
+--6.4.2.s SRFDirective
+SRFDirective ::= [PRIVATE 18] SET {
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 a, d
+ digitCollectionControl [139] IMPLICIT DigitCollectionControl OPTIONAL,
+ -- O 6.5.2.57 b
+ executeScript [386] IMPLICIT ExecuteScript OPTIONAL,
+ -- O 6.5.2.cl c, d
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL
+ -- O 6.5.2.80 e
+ }
+-- SRFDirective RETURN RESULT Parameters
+SRFDirectiveRes ::= [PRIVATE 18] SET {
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 a, b
+ scriptResult [269] IMPLICIT ScriptResult OPTIONAL
+ -- O 6.5.2.cx c
+ }
+
+-- 6.4.2.t TBusy updated with N.S0023-0 v 1.0
+TBusy ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Invoking) M 6.5.2.16 a
+ mscid [21] IMPLICIT MSCID,
+ -- M 6.5.2.82 b
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ -- M 6.5.2.160
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh c
+ winCapability [280] IMPLICIT WINCapability,
+ -- M 6.5.2.di d
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 e
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 e
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 e
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 f
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 f
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 f
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 g
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 h, i
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 h
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 b
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bv h
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 j
+ pilotBillingID [169] IMPLICIT PilotBillingID OPTIONAL,
+ -- O 6.5.2.94 f
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 f
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 g
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 e
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 e
+ redirectionReason [19] IMPLICIT RedirectionReason OPTIONAL,
+ --: TBusy O 6.5.2.110 f
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 g
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL,
+ -- O 6.5.2.147
+ terminationAccessType [119] IMPLICIT TerminationAccessType OPTIONAL
+ -- O 6.5.2.155 f
+ }
+
+
+-- TBusy RETURN RESULT Parameters
+
+TBusyRes ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 b
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 c
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 d, e
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 d, e
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 l
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, m
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 g
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 f
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 f
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei n
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 g
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 h
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 g
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 l, o
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 i
+ resumePIC [266] IMPLICIT ResumePIC OPTIONAL,
+ -- O 6.5.2.cu j
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 l
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 k
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 l
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de l
+ }
+-- 6.4.2.u TNoAnswer updated with N.S0023-0 v 1.0
+TNoAnswer ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Invoking) M 6.5.2.16 a
+ mscid [21] IMPLICIT MSCID,
+ -- M 6.5.2.82 b
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ -- M 6.5.2.160
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh c
+ winCapability [280] IMPLICIT WINCapability,
+ -- M 6.5.2.di d
+ acgencountered [340] IMPLICIT ACGEncountered OPTIONAL,
+ -- O 6.5.2.fv
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 e
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 e
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 e
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 f
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 f
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 f
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 g
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 h, i
+-- mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 h
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 b
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bv h
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 j
+ pilotBillingID [169] IMPLICIT PilotBillingID OPTIONAL,
+ -- O 6.5.2.94 f
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 f
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 g
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 e
+ redirectingSubaddress [102] IMPLICIT RedirectingSubaddress OPTIONAL,
+ -- O 6.5.2.109 e
+ redirectionReason [19] IMPLICIT RedirectionReason OPTIONAL,
+ --:TNoAnswer O 6.5.2.110 f
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 g
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL,
+ -- O 6.5.2.147
+ terminationAccessType [119] IMPLICIT TerminationAccessType OPTIONAL
+ -- O 6.5.2.155 f
+}
+-- TNoAnswer RETURN RESULT Parameters
+-- 6.4.2.u TNoAnswer
+TNoAnswerRes ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 b
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 c
+ callingPartyNumberString1 [82] IMPLICIT CallingPartyNumberString1 OPTIONAL,
+ -- O 6.5.2.23 d, e
+ callingPartyNumberString2 [83] IMPLICIT CallingPartyNumberString2 OPTIONAL,
+ -- O 6.5.2.24 d, e
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 l
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx d, e, m
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 f
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 f
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 f
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 f
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei n
+ groupInformation [163] IMPLICIT GroupInformation OPTIONAL,
+ -- O 6.5.2.69 g
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 h
+ pilotNumber [168] IMPLICIT PilotNumber OPTIONAL,
+ -- O 6.5.2.95 g
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 l, o
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 i
+ resumePIC [266] IMPLICIT ResumePIC OPTIONAL,
+ -- O 6.5.2.cu j
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 l
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 k
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 l
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de l, p
+}
+
+-- 6.4.2.x.1. ChangeFacilities N.S0008-0 v 1.0
+ChangeFacilities ::= [PRIVATE 18] SET {
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 f
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e b
+ dataKey [215] IMPLICIT DataKey OPTIONAL,
+ -- O 6.5.2.at f
+ dataPrivacyParameters [216] IMPLICIT DataPrivacyParameters OPTIONAL,
+ -- O 6.5.2.au i, f
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 c
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID OPTIONAL,
+ -- O 6.5.2.72 a, c
+ ilspInformation [217] IMPLICIT ISLPInformation OPTIONAL,
+ -- O 6.5.2.av d
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 c
+ randomVariable [40] IMPLICIT RandomVariable OPTIONAL,
+ -- O 6.5.2.101 f
+-- SecondInterMSCCircuitID O 6.5.2.aj c, g
+ tdmaBandwidth [220] IMPLICIT TDMABandwidth OPTIONAL,
+ -- O 6.5.2.ay h
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i e
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL
+ -- O 6.5.2.167 f
+ }
+-- Table 6.4.2.x.1r ChangeFacilities RETURN RESULT Parameters
+
+ChangeFacilitiesRes ::= [PRIVATE 18] SET {
+ reasonList [218] IMPLICIT ReasonList OPTIONAL
+ -- O 6.5.2.aw a
+ }
+
+-- 6.4.2.x.2. ChangeService N.S0008-0 v 1.0
+ChangeService ::= [PRIVATE 18] SET {
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e a
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g b
+ changeServiceAttributes [214] IMPLICIT ChangeServiceAttributes OPTIONAL,
+ -- O 6.5.2.as c
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 d
+ ilspInformation [217] IMPLICIT ISLPInformation OPTIONAL,
+ -- O 6.5.2.av e
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.72 j
+ tdmaBandwidth [220] IMPLICIT TDMABandwidth OPTIONAL,
+ -- O 6.5.2.ay g
+ tdmaDataMode [222] IMPLICIT TDMADataMode OPTIONAL,
+ -- O 6.5.2.ba i
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i f
+ tdmaVoiceMode [223] IMPLICIT TDMAVoiceMode OPTIONAL
+ -- O 6.5.2.bb h
+ }
+
+-- ChangeService RETURN RESULT Parameters
+ChangeServiceRes ::= [PRIVATE 18] SET {
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 f
+ cdmaServiceConfigurationRecord [174] IMPLICIT CDMAServiceConfigurationRecord OPTIONAL,
+ -- O 6.5.2.e b
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g c
+ changeServiceAttributes [214] IMPLICIT ChangeServiceAttributes OPTIONAL,
+ -- O 6.5.2.as d
+ dataKey [215] IMPLICIT DataKey OPTIONAL,
+ -- O 6.5.2.au f
+ dataPrivacyParameters [216] IMPLICIT DataPrivacyParameters OPTIONAL,
+ -- O 6.5.2.au g, f
+ randomVariable [40] IMPLICIT RandomVariable OPTIONAL,
+ -- O 6.5.2.101 f
+ reasonList [218] IMPLICIT ReasonList OPTIONAL,
+ -- O 6.5.2.aw a
+ tdmaServiceCode [178] IMPLICIT TDMAServiceCode OPTIONAL,
+ -- O 6.5.2.i e
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL
+ -- O 6.5.2.167 f
+ }
+
+
+-- 6.4.2.X MessageDirective
+MessageDirective ::= [PRIVATE 18] SET {
+ messageWaitingNotificationCount [92] IMPLICIT MessageWaitingNotificationCount,
+ -- O 6.5.2.78 a
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 b, c
+ msid MSID OPTIONAL
+ -- O 6.5.2.bv IS-751 b, c
+ }
+-- 6.4.2.X2 MessageDirective RETURN RESULT Parameters
+--zero octets
+
+-- 6.4.2.y BulkDisconnection
+BulkDisconnection ::= [PRIVATE 18] SET {
+ mscid [21] IMPLICIT MSCID,
+ -- M 6.5.2.82
+ timeDateOffset [275] IMPLICIT TimeDateOffset OPTIONAL,
+ -- M 6.5.2.2 a
+ timeOfDay [309] IMPLICIT TimeOfDay OPTIONAL,
+ -- M 6.5.2.em b
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 c
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL
+ -- O 6.5.2.116 d
+ }
+
+-- BulkDisconnection RETURN RESULT Parameters
+-- Length zero octets M 6.3.2.2
+--BulkDisconnectionRes ::= [PRIVATE 18] SET {
+-- }
+
+
+-- 6.4.2.z CallControlDirective
+CallControlDirective ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- M 6.5.2.16 a
+ mscid [21] IMPLICIT MSCID,
+ -- M 6.5.2.82 b
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bv c
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 d
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 e
+ displayText [244] IMPLICIT DisplayText OPTIONAL,
+ -- O 6.5.2.bx f
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 g
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 g
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 g
+ dmh-ChargeInformation [311] IMPLICIT DMH-ChargeInformation OPTIONAL,
+ -- O 6.5.2.eo g, o
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 g, h
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 i, j
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 k
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 l, m
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 k
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de h
+}
+
+-- z-2 CallControlDirective RETURN RESULT Parameters
+CallControlDirectiveRes ::= [PRIVATE 18] SET {
+ callStatus [310] IMPLICIT CallStatus OPTIONAL
+ -- O 6.5.2.en a
+
+ }
+
+-- 6.4.2.aa OAnswer
+OAnswer ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16 a
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- M 6.5.2.63 b
+ mscid [21] IMPLICIT MSCID,
+ -- (Originating) M 6.5.2.82 c
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bv d
+ timeDateOffset [275] IMPLICIT TimeDateOffset,
+ -- M 6.5.2.dd e
+ timeOfDay [309] IMPLICIT TimeOfDay,
+ -- M 6.5.2.em f
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh g
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 h, i
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 j
+ featureIndicator [306] IMPLICIT FeatureIndicator OPTIONAL,
+ -- O 6.5.2.ej k
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 l
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 h, m
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL
+ -- O 6.5.2.147
+ }
+
+
+--6.4.2.ab ODisconnect
+ODisconnect ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16 a
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- M 6.5.2.63 b
+ mscid [21] IMPLICIT MSCID,
+ -- (Originating) M 6.5.2.82 c
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bv d
+ releaseCause [308] IMPLICIT ReleaseCause OPTIONAL,
+ -- M 6.5.2.el e
+ timeDateOffset [275] IMPLICIT TimeDateOffset OPTIONAL,
+ -- M 6.5.2.dd f
+ timeOfDay [309] IMPLICIT TimeOfDay,
+ -- M 6.5.2.em g
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ -- M 6.5.2.160
+ winCapability [280] IMPLICIT WINCapability,
+ -- M 6.5.2.di
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh h
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 i, j
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 k
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 l
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 i, m
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL
+ -- O 6.5.2.147
+}
+
+-- ab-2 ODisconnect RETURN RESULT Parameters
+ODisconnectRes ::= [PRIVATE 18] SET {
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 a
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL
+ -- O 6.5.2.ei b
+ }
+-- 6.4.2.ac CallRecoveryReport
+
+CallRecoveryReport ::= [PRIVATE 18] SET {
+ callRecoveryIDList [304] IMPLICIT CallRecoveryIDList
+ -- M 6.5.2.eh a
+ }
+
+-- ac-2 CallRecoveryReport RETURN RESULT Parameters
+--CallRecoveryReportRes ::= [PRIVATE 18] SET {
+-- }
+
+-- 6.4.2.ad TAnswer
+TAnswer ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16 a
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- M 6.5.2.63 b
+ mscid [21] IMPLICIT MSCID,
+ -- M 6.5.2.82 c
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bv b
+ timeDateOffset [275] IMPLICIT TimeDateOffset OPTIONAL,
+ -- M 6.5.2.dd d
+ timeOfDay [309] IMPLICIT TimeOfDay,
+ -- M 6.5.2.em e
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ -- M 6.5.2.160
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh f
+ winCapability [280] IMPLICIT WINCapability,
+ -- M 6.5.2.di
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 g, h
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 i
+ featureIndicator [306] IMPLICIT FeatureIndicator OPTIONAL,
+ -- O 6.5.2.ej j
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 k
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 g, l
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL,
+ -- O 6.5.2.147
+ terminationAccessType [119] IMPLICIT TerminationAccessType OPTIONAL
+ -- O 6.5.2.155 m
+ }
+-- 6.4.2.ae TDisconnect
+TDisconnect ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16 a
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- M 6.5.2.63 b
+ mscid [21] IMPLICIT MSCID,
+ -- M 6.5.2.82 c
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bv d
+ timeDateOffset [275] IMPLICIT TimeDateOffset OPTIONAL,
+ -- M 6.5.2.dd e
+ timeOfDay [309] IMPLICIT TimeOfDay,
+ -- M 6.5.2.em f
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh g
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 n
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 n
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 h, i
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 j
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 k
+ releaseCause [308] IMPLICIT ReleaseCause OPTIONAL,
+ -- O 6.5.2.el l
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 h, m
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode OPTIONAL
+ -- O 6.5.2.147
+ }
+
+-- Table ae-2 TDisconnect RETURN RESULT Parameters
+TDisconnectRes ::= [PRIVATE 18] SET {
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL
+ -- O 6.5.2.ei a
+ }
+
+-- 6.4.2.af UnreliableCallData
+UnreliableCallData ::= [PRIVATE 18] SET {
+ controlNetworkID [307] IMPLICIT ControlNetworkID,
+ -- M 6.5.2.ek a
+ mscid [21] IMPLICIT MSCID
+ -- M 6.5.2.82 b
+}
+
+-- UnreliableCallData RETURN RESULT Parameters
+--UnreliableCallData ::= [PRIVATE 18] SET {
+--
+--}
+
+-- 6.4.2.ag OCalledPartyBusy
+
+OCalledPartyBusy ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- M 6.5.2.63 a
+ mscid [21] IMPLICIT MSCID,
+ -- (Originating MSC) M 6.5.2.82
+ msid MSID,
+ -- M 6.5.2.bv b
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ -- M 6.5.2.160
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh
+ winCapability [280] IMPLICIT WINCapability,
+ -- M 6.5.2.di
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw c
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 c
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 c
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 c
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 d
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56 e
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 d
+ failureCause [387] IMPLICIT FailureCause OPTIONAL,
+ -- O 6.5.2.cm f
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 d, g
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 h
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 i
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Originating MSC) O 6.5.2.93 j
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.114 c
+ redirectingPartyName [245] IMPLICIT RedirectingPartyName OPTIONAL,
+ -- O 6.5.2.114 c
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 d
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL
+ -- O 6.5.2.117 d, k
+ }
+
+-- OCalledPartyBusy RETURN RESULT Parameters
+OCalledPartyBusyRes ::= [PRIVATE 18] SET {
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 a
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 b
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 c
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 e
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 e
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 e
+ dmh-ChargeInformation [311] IMPLICIT DMH-ChargeInformation OPTIONAL,
+ -- O 6.5.2.eo e, d
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 e, f
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei g
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 h
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 i
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 c, j
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 k
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 c
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 l
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de m
+ }
+
+-- 6.4.2.ah ONoAnswer
+ONoAnswer ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- (Originating) M 6.5.2.16
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- M 6.5.2.63 a
+ mscid [21] IMPLICIT MSCID,
+ -- (Originating MSC) M 6.5.2.82
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bv b
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ -- M 6.5.2.160
+ triggerType [279] IMPLICIT TriggerType,
+ -- M 6.5.2.dh
+ winCapability [280] IMPLICIT WINCapability,
+ -- M 6.5.2.di
+ callingPartyName [243] IMPLICIT CallingPartyName OPTIONAL,
+ -- O 6.5.2.bw c
+ callingPartyNumberDigits1 [80] IMPLICIT CallingPartyNumberDigits1 OPTIONAL,
+ -- O 6.5.2.21 c
+ callingPartyNumberDigits2 [81] IMPLICIT CallingPartyNumberDigits2 OPTIONAL,
+ -- O 6.5.2.22 c
+ callingPartySubaddress [84] IMPLICIT CallingPartySubaddress OPTIONAL,
+ -- O 6.5.2.25 c
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 d
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56 e
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 d
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 d, f
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 g
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 h
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Originating MSC) O 6.5.2.93 i
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.114 c
+ redirectingPartyName [245] IMPLICIT RedirectingPartyName OPTIONAL,
+ -- O 6.5.2.114 c
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 d
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL
+ -- O 6.5.2.117 d, j
+ }
+
+-- ONoAnswer RETURN RESULT Parameters
+ONoAnswerRes ::= [PRIVATE 18] SET {
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 a
+ announcementList [130] IMPLICIT AnnouncementList OPTIONAL,
+ -- O 6.5.2.6 b
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 c
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 e
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 e
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 e
+ dmh-ChargeInformation [311] IMPLICIT DMH-ChargeInformation OPTIONAL,
+ -- O 6.5.2.eo e, d
+ dmh-RedirectionIndicator [88] IMPLICIT DMH-RedirectionIndicator OPTIONAL,
+ -- O 6.5.2.62 e, f
+ dmh-ServiceID [305] IMPLICIT DMH-ServiceID OPTIONAL,
+ -- O 6.5.2.ei g
+ noAnswerTime [96] IMPLICIT NoAnswerTime OPTIONAL,
+ -- O 6.5.2.87 h
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 i
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 c, j
+ redirectingNumberDigits [100] IMPLICIT RedirectingNumberDigits OPTIONAL,
+ -- O 6.5.2.107 k
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 c
+ terminationList [120] IMPLICIT TerminationList OPTIONAL,
+ -- O 6.5.2.156 l
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL
+ -- O 6.5.2.de m
+ }
+
+-- 6.4.2.ai PositionRequest
+PositionRequest ::= [PRIVATE 18] SET {
+ mscid [21] IMPLICIT MSCID,
+ -- (Requesting) M 6.5.2.82 a
+ positionInformationCode [315] IMPLICIT PositionInformationCode,
+ -- M 6.5.2.er b
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 c
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d, e
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bv c, e
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL
+ -- O 6.5.2.116 f
+ }
+
+-- PositionRequest RETURN RESULT Parameters
+PositionRequestRes ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 a, b
+ extendedMSCID [53] IMPLICIT ExtendedMSCID OPTIONAL,
+ -- O 6.5.2.64 c, d
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- (Serving MSC) O 6.5.2.83 a, d, e, f
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving) O 6.5.2.82 g, d, h
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bv a, b
+ mSStatus [313] IMPLICIT MSStatus OPTIONAL,
+ -- O 6.5.2.eq i, d
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Serving MSC) O 6.5.2.93 a, d, e, f
+ pSID-RSIDInformation [202] IMPLICIT PSID-RSIDInformation OPTIONAL,
+ -- O 6.5.2.f j, a, d
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 k, a, d
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL
+ -- O 6.5.2.117 l, a, d
+ }
+
+
+-- 6.4.2.aj PositionRequestForward
+PositionRequestForward ::= [PRIVATE 18] SET {
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ positionInformationCode [315] IMPLICIT PositionInformationCode,
+ -- M 6.5.2.er a
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.bu b
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu c, d
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL
+ -- O 6.5.2.81 c, d
+ }
+
+-- PositionRequestForward RETURN RESULT Parameters
+PositionRequestForwardRes ::= [PRIVATE 18] SET {
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving) O 6.5.2.82 a
+ mSStatus [313] IMPLICIT MSStatus OPTIONAL,
+ -- O 6.5.2.eq b
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 6.5.2.77 c, d
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL
+ -- O 6.5.2.117 c, e
+ }
+
+-- J-STD-036-AD-2
+CallTerminationReport ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- O 6.5.2.16 a
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 b, c
+ networkTMSI [233] IMPLICIT NetworkTMSI OPTIONAL
+ -- O 6.5.2.117 c
+}
+
+-- 6.4.2.am GeoPositionRequest (See J-STD-036, page 8-7) X.S0002-0 v2.0
+GeoPositionRequest ::= [PRIVATE 18] SET {
+ positionRequestType [337] IMPLICIT PositionRequestType,
+ -- M 6.5.2.fs
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- O 6.5.2.16 h
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 b
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu b
+ lcsBillingID [367] IMPLICIT LCSBillingID OPTIONAL,
+ -- O 6.5.2.gx i
+ lcs-Client-ID [358] IMPLICIT LCS-Client-ID OPTIONAL,
+ -- O 6.5.2.go b
+ meid [390] IMPLICIT MEID OPTIONAL,
+ -- O 6.5.2.hv b
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 b
+ mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm a
+-- Mobinfo_AMPS **Macro** O 6.5.2.fn f expanded
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.47
+ dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+ receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+-- Mobinfo_CDMA **Macro** O 6.5.2.fo g expanded:
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.30 c
+ cdmaCodeChannel [68] IMPLICIT CDMACodeChannel OPTIONAL,
+ -- O 6.5.2.31 a
+ cdmaMobileCapabilities [330] IMPLICIT CDMAMobileCapabilities OPTIONAL,
+ -- O 6.5.2.xx a
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 a
+ cdmaServingOneWayDelay2 [347] IMPLICIT CDMAServingOneWayDelay2 OPTIONAL,
+ -- O 6.5.2.gd a
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f m
+ cdmaTargetMAHOList [136] IMPLICIT CDMATargetMAHOList OPTIONAL,
+ -- O 6.5.2.43 g
+ cdmaPSMMList [346] IMPLICIT CDMAPSMMList OPTIONAL,
+ -- O 6.5.2.gc a
+
+-- Mobinfo_NAMPS **Macro** O 6.5.2.fp e expanded:
+-- channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.47
+ nampsChannelData [76] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.86
+-- dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+-- receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+-- Mobinfo_TDMA **Macro** O 6.5.2.fq d expanded:
+ tdmaChannelData [28] IMPLICIT TDMAChannelData,
+ -- M 6.5.2.153
+-- dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+-- receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+ targetMeasurementList [157] IMPLICIT TargetMeasurementList OPTIONAL,
+ -- O 6.5.2.150 a
+ tdma-MAHO-CELLID [359] IMPLICIT TDMA-MAHO-CELLID OPTIONAL,
+ -- O 2.3.2.26 b
+ tdma-MAHO-CHANNEL [360] IMPLICIT TDMA-MAHO-CHANNEL OPTIONAL,
+ -- O 2.3.2.27 c
+ tdma-TimeAlignment [362] IMPLICIT TDMA-TimeAlignment OPTIONAL,
+ -- O 2.3.2.29 d
+ tdmaVoiceMode [223] IMPLICIT TDMAVoiceMode OPTIONAL,
+ -- O ANSI-41-E a
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 a
+
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving) O 6.5.2.82 b
+ networkTMSI [233] IMPLICIT NetworkTMSI OPTIONAL,
+ -- O 6.5.2.bl b
+-- PositionQualityOfService O 6.5.2.hc j MACRO expanded:
+ pqos-HorizontalPosition [372] IMPLICIT PQOS-HorizontalPosition OPTIONAL,
+ -- O 6.5.2.hd a, b
+ pqos-HorizontalVelocity [373] IMPLICIT PQOS-HorizontalVelocity OPTIONAL,
+ -- O 6.5.2.he c
+ pqos-MaximumPositionAge [374] IMPLICIT PQOS-MaximumPositionAge OPTIONAL,
+ -- O 6.5.2.hf d
+ pqos-PositionPriority [375] IMPLICIT PQOS-PositionPriority OPTIONAL,
+ -- O 6.5.2.hg e
+ pqos-ResponseTime [376] IMPLICIT PQOS-ResponseTime OPTIONAL,
+ -- O 6.5.2.hh f
+ pqos-VerticalPosition [377] IMPLICIT PQOS-VerticalPosition OPTIONAL,
+ -- O 6.5.2.hi g
+ pqos-VerticalVelocity [378] IMPLICIT PQOS-VerticalVelocity OPTIONAL,
+ -- O 6.5.2.hj h
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 b
+ teleservice-Priority [290] IMPLICIT Teleservice-Priority OPTIONAL
+ -- O 6.5.2.dt c
+}
+
+-- 6.4.2.an InterSystemPositionRequest
+InterSystemPositionRequest ::= [PRIVATE 18] SET {
+ positionRequestType [337] IMPLICIT PositionRequestType,
+ -- M 6.5.2.fs
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 o
+ cdmaPSMMCount [345] IMPLICIT CDMAPSMMCount OPTIONAL,
+ -- O 6.5.2.gbh
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 j
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 d
+ emergencyServicesRoutingDigits [239] IMPLICIT EmergencyServicesRoutingDigits OPTIONAL,
+ -- O 6.5.2.bs d, f
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu d
+ lcsBillingID [367] IMPLICIT LCSBillingID OPTIONAL,
+ -- O 6.5.2.gx k
+ lirAuthorization [368] IMPLICIT LIRAuthorization OPTIONAL,
+ -- O 6.5.2.gy l
+ lcs-Client-ID [358] IMPLICIT LCS-Client-ID OPTIONAL,
+ -- O 6.5.2.go d
+ meid [390] IMPLICIT MEID OPTIONAL,
+ -- O 6.5.2.hv d
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 d
+-- MobInfo_AMPS **Macro** O 6.5.2.fn b, p f expanded:
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.47
+ dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+ receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+
+-- Mobinfo_CDMA **Macro** O 6.5.2.fo a, p f
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.30 c
+ cdmaCodeChannel [68] IMPLICIT CDMACodeChannel OPTIONAL,
+ -- O 6.5.2.31 a
+ cdmaMobileCapabilities [330] IMPLICIT CDMAMobileCapabilities OPTIONAL,
+ -- O 6.5.2.xx a
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 a
+ cdmaServingOneWayDelay2 [347] IMPLICIT CDMAServingOneWayDelay2 OPTIONAL,
+ -- O 6.5.2.gd a
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f m
+ cdmaTargetMAHOList [136] IMPLICIT CDMATargetMAHOList OPTIONAL,
+ -- O 6.5.2.43 g
+ cdmaPSMMList [346] IMPLICIT CDMAPSMMList OPTIONAL,
+ -- O 6.5.2.gc a
+
+-- Mobinfo_NAMPS **Macro** O 6.5.2.fp c, p f expanded:
+-- channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.47
+ nampsChannelData [76] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.86
+-- dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+-- receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+-- Mobinfo_TDMA **Macro** O 6.5.2.fq g, p f expanded:
+ tdmaChannelData [28] IMPLICIT TDMAChannelData,
+ -- M 6.5.2.153
+-- dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+-- receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+ targetMeasurementList [157] IMPLICIT TargetMeasurementList OPTIONAL,
+ -- O 6.5.2.150 a
+ tdma-MAHO-CELLID [359] IMPLICIT TDMA-MAHO-CELLID OPTIONAL,
+ -- O 2.3.2.26 b
+ tdma-MAHO-CHANNEL [360] IMPLICIT TDMA-MAHO-CHANNEL OPTIONAL,
+ -- O 2.3.2.27 c
+ tdma-TimeAlignment [362] IMPLICIT TDMA-TimeAlignment OPTIONAL,
+ -- O 2.3.2.29 d
+ tdmaVoiceMode [223] IMPLICIT TDMAVoiceMode OPTIONAL,
+ -- O ANSI-41-E a
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 a
+
+ mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm e, f
+ mpcAddress [370] IMPLICIT MPCAddress OPTIONAL,
+ -- O 6.5.2.ha s, u
+ mpcAddressList [381] IMPLICIT MPCAddressList OPTIONAL,
+ -- O 6.5.2.hm t, u
+ mpcid [371] IMPLICIT MPCID OPTIONAL,
+ -- O 6.5.2.hb m
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving) O 6.5.2.82 q f
+ networkTMSI [233] IMPLICIT NetworkTMSI OPTIONAL,
+ -- O 6.5.2.bl d
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL,
+ -- (Serving MSC) O 6.5.2.93 r
+-- PositionQualityOfService O 6.5.2.hc n MACRO expanded:
+ pqos-HorizontalPosition [372] IMPLICIT PQOS-HorizontalPosition OPTIONAL,
+ -- O 6.5.2.hd a, b
+ pqos-HorizontalVelocity [373] IMPLICIT PQOS-HorizontalVelocity OPTIONAL,
+ -- O 6.5.2.he c
+ pqos-MaximumPositionAge [374] IMPLICIT PQOS-MaximumPositionAge OPTIONAL,
+ -- O 6.5.2.hf d
+ pqos-PositionPriority [375] IMPLICIT PQOS-PositionPriority OPTIONAL,
+ -- O 6.5.2.hg e
+ pqos-ResponseTime [376] IMPLICIT PQOS-ResponseTime OPTIONAL,
+ -- O 6.5.2.hh f
+ pqos-VerticalPosition [377] IMPLICIT PQOS-VerticalPosition OPTIONAL,
+ -- O 6.5.2.hi g
+ pqos-VerticalVelocity [378] IMPLICIT PQOS-VerticalVelocity OPTIONAL,
+ -- O 6.5.2.hj h
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL,
+ -- O 6.5.2.117 p f
+ tdma-MAHORequest [364] IMPLICIT TDMA-MAHORequest OPTIONAL
+ -- O 6.5.2.gu
+}
+
+-- InterSystemPositionRequest RETURN RESULT Parameters
+InterSystemPositionRequestRes ::= [PRIVATE 18] SET {
+ positionResult [338] IMPLICIT PositionResult,
+ -- M 6.5.2.ft
+ lcsBillingID [367] IMPLICIT LCSBillingID OPTIONAL,
+ -- O 6.5.2.gx i
+ mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm e
+-- MobInfo_AMPS **Macro** O 6.5.2.fn c, e expanded:
+ channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.47
+ dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+ receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+-- MobInfo_CDMA **Macro** O 6.5.2.fo b, e expanded:
+ cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.30 c
+ cdmaCodeChannel [68] IMPLICIT CDMACodeChannel OPTIONAL,
+ -- O 6.5.2.31 a
+ cdmaMobileCapabilities [330] IMPLICIT CDMAMobileCapabilities OPTIONAL,
+ -- O 6.5.2.xx a
+ cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 a
+ cdmaServingOneWayDelay2 [347] IMPLICIT CDMAServingOneWayDelay2 OPTIONAL,
+ -- O 6.5.2.gd a
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f m
+ cdmaTargetMAHOList [136] IMPLICIT CDMATargetMAHOList OPTIONAL,
+ -- O 6.5.2.43 g
+ cdmaPSMMList [346] IMPLICIT CDMAPSMMList OPTIONAL,
+ -- O 6.5.2.gc a
+
+-- MobInfo_NAMPS **Macro** O 6.5.2.fp g, e expended:
+-- channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.47
+ nampsChannelData [76] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.86
+-- dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+-- receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+
+-- MobInfo_TDMA **Macro** O 6.5.2.fq a, e
+ tdmaChannelData [28] IMPLICIT TDMAChannelData,
+ -- M 6.5.2.153
+-- dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+-- receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+ targetMeasurementList [157] IMPLICIT TargetMeasurementList OPTIONAL,
+ -- O 6.5.2.150 a
+ tdma-MAHO-CELLID [359] IMPLICIT TDMA-MAHO-CELLID OPTIONAL,
+ -- O 2.3.2.26 b
+ tdma-MAHO-CHANNEL [360] IMPLICIT TDMA-MAHO-CHANNEL OPTIONAL,
+ -- O 2.3.2.27 c
+ tdma-TimeAlignment [362] IMPLICIT TDMA-TimeAlignment OPTIONAL,
+ -- O 2.3.2.29 d
+ tdmaVoiceMode [223] IMPLICIT TDMAVoiceMode OPTIONAL,
+ -- O ANSI-41-E a
+ voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 a
+
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving) O 6.5.2.82 f
+ positionInformation [336] IMPLICIT PositionInformation OPTIONAL,
+ -- O 6.5.2.fr h
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL
+ -- O 6.5.2.117 d
+}
+-- 6.4.2.ao InterSystemPositionRequestForward
+InterSystemPositionRequestForward ::= [PRIVATE 18] SET {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- M 6.5.2.63
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ positionRequestType [337] IMPLICIT PositionRequestType,
+ -- M 6.5.2.fs
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu a
+ lcsBillingID [367] IMPLICIT LCSBillingID OPTIONAL,
+ -- O 6.5.2.gx d
+ lcs-Client-ID [358] IMPLICIT LCS-Client-ID OPTIONAL,
+ -- O 6.5.2.go a
+ meid [390] IMPLICIT MEID OPTIONAL,
+ -- O 6.5.2.hv a
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 a
+ mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm b
+ mpcid [371] IMPLICIT MPCID OPTIONAL,
+ -- O 6.5.2.hb d
+-- PositionQualityOfService O 6.5.2.hc d MACRO expanded:
+ pqos-HorizontalPosition [372] IMPLICIT PQOS-HorizontalPosition OPTIONAL,
+ -- O 6.5.2.hd a, b
+ pqos-HorizontalVelocity [373] IMPLICIT PQOS-HorizontalVelocity OPTIONAL,
+ -- O 6.5.2.he c
+ pqos-MaximumPositionAge [374] IMPLICIT PQOS-MaximumPositionAge OPTIONAL,
+ -- O 6.5.2.hf d
+ pqos-PositionPriority [375] IMPLICIT PQOS-PositionPriority OPTIONAL,
+ -- O 6.5.2.hg e
+ pqos-ResponseTime [376] IMPLICIT PQOS-ResponseTime OPTIONAL,
+ -- O 6.5.2.hh f
+ pqos-VerticalPosition [377] IMPLICIT PQOS-VerticalPosition OPTIONAL,
+ -- O 6.5.2.hi g
+ pqos-VerticalVelocity [378] IMPLICIT PQOS-VerticalVelocity OPTIONAL,
+ -- O 6.5.2.hj h
+ tdma-MAHORequest [364] IMPLICIT TDMA-MAHORequest OPTIONAL
+ -- O 6.5.2.gu c
+}
+--InterSystemPositionRequestForward RETURN RESULT Parameters
+InterSystemPositionRequestForwardRes ::= [PRIVATE 18] SET {
+ mscid [21] IMPLICIT MSCID,
+ -- (Serving) M 6.5.2.82
+ positionResult [338] IMPLICIT PositionResult,
+ -- M 6.5.2.ft
+ lcsBillingID [367] IMPLICIT LCSBillingID OPTIONAL,
+ -- O 6.5.2.gx b
+ positionInformation [336] IMPLICIT PositionInformation OPTIONAL,
+ -- O 6.5.2.fr a
+ servingCellID [2] IMPLICIT ServingCellID OPTIONAL
+ -- O 6.5.2.117
+}
+
+-- 6.4.2.ap ACGDirective
+ACGDirective ::= [PRIVATE 18] SET {
+ controlType [341] IMPLICIT ControlType,
+ -- M 6.5.2.fw a
+ destinationAddress DestinationAddress OPTIONAL,
+ --M 6.5.2.cc b
+ gapDuration [342] IMPLICIT GapDuration OPTIONAL,
+ -- O 6.5.2.fx c, e
+ gapInterval GapInterval OPTIONAL
+ -- O 6.5.2.fy d, e
+
+}
+
+-- 6.4.2.aq RoamerDatabaseVerificationRequest
+
+RoamerDatabaseVerificationRequest ::= [PRIVATE 18] SET {
+ invokingNEType [353] IMPLICIT InvokingNEType OPTIONAL,
+ -- O 6.5.2.gj g
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 e, f
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (HLR) O 6.5.2.82 a
+ msid MSID OPTIONAL,
+ -- O 6.5.2.bv b, f
+ range [352] IMPLICIT Range OPTIONAL
+ -- O 6.5.2.gj c, d
+ }
+
+-- RoamerDatabaseVerificationRequest RETURN RESULT Parameters
+RoamerDatabaseVerificationRequestRes ::= [PRIVATE 18] SET {
+ transactionCapability [123] IMPLICIT TransactionCapability OPTIONAL
+ -- O 6.5.2.160
+ }
+
+-- 6.4.2.au LCSParameterRequest
+LCSParameterRequest ::= [PRIVATE 18] SET {
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 a
+ mpcid [371] IMPLICIT MPCID OPTIONAL,
+ -- O 6.5.2.hbb
+ msid MSID OPTIONAL
+ -- O 6.5.2.bv a
+}
+-- LCSParameterRequest RETURN RESULT Parameters
+LCSParameterRequestRes ::= [PRIVATE 18] SET {
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 b
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu b, c
+ meid [390] IMPLICIT MEID OPTIONAL,
+ -- O 6.5.2.hv j
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 b, c
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 b, c
+ mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm d
+ mpcAddress [370] IMPLICIT MPCAddress OPTIONAL,
+ -- O 6.5.2.ha e, g
+ mpcAddressList [381] IMPLICIT MPCAddressList OPTIONAL,
+ -- O 6.5.2.hm f, g
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (Serving) O 6.5.2.82 h
+ pc-ssn [32] IMPLICIT PC-SSN OPTIONAL
+ -- (Serving MSC) O 6.5.2.93
+}
+
+-- 3.2.2.1 CheckMEID (new) X.S0002-0 v1.0
+
+CheckMEID ::= [PRIVATE 18] SET {
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) M 6.5.2.58 a
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- M 6.5.2.72
+ msid MSID OPTIONAL,
+ -- M 6.5.2.bv b
+ confidentialityModes [39] IMPLICIT ConfidentialityModes OPTIONAL,
+ -- O 6.5.2.50 c
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63
+ emergencyServicesRoutingDigits [239] IMPLICIT EmergencyServicesRoutingDigits OPTIONAL
+ -- O 6.5.bs d
+}
+
+-- CheckMEID RETURN RESULTParameters
+CheckMEIDRes ::= [PRIVATE 18] SET {
+ meidStatus [391] IMPLICIT MEIDStatus OPTIONAL
+ -- M 3.3.2.97 a
+}
+-- 6.4.2.ar AddService N.S0029-0 v1.0
+
+AddService ::= [PRIVATE 18] SET {
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- M 6.5.2.aq IS-737 a
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g TSB76 b
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Dialed) O 6.5.2.58 d, e
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID OPTIONAL,
+ -- O 6.5.2.72 f
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu IS-751 c
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL
+ -- O 6.5.2.81 c
+ }
+-- Table ar3 AddService RETURN RESULT Parameters
+
+AddServiceRes ::= [PRIVATE 18] SET {
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- O 6.5.2.aq IS-737 a
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ --O 6.5.2.g TSB76 b
+ qosPriority [348] IMPLICIT QoSPriority OPTIONAL,
+ -- O 6.5.2.ge c
+ reasonList [218] IMPLICIT ReasonList OPTIONAL
+ -- O 6.5.2.aw IS-737 d
+-- SpecialHandling O 6.5.2.bt J-STD-034 e
+ }
+
+-- 6.4.2.as DropService N.S0029-0 v1.0
+DropService ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID,
+ -- O 6.5.2.16 a
+ cdmaConnectionReferenceList [212] IMPLICIT CDMAConnectionReferenceList OPTIONAL,
+ -- O 6.5.2.aq IS-737 b
+ interMSCCircuitID [6] IMPLICIT InterMSCCircuitID,
+ -- O 6.5.2.72 c
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bu IS-751 d
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 d
+ releaseReason [10] IMPLICIT ReleaseReason OPTIONAL
+ -- O 6.5.2.111 e
+ }
+-- Table as3 DropService RETURN RESULT Parameters
+DropServiceRes ::= [PRIVATE 18] SET {
+ billingID [1] IMPLICIT BillingID OPTIONAL
+ -- O 6.5.2.16 a
+ }
+
+-- 6.4.2.ay PositionEventNotification
+PositionEventNotification ::= [PRIVATE 18] SET {
+ positionResult [338] IMPLICIT PositionResult,
+ -- M 6.5.2.ft a
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 6.5.2.bj c, d
+ lcsBillingID [367] IMPLICIT LCSBillingID OPTIONAL,
+ -- O 6.5.2.gx b
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL
+ -- O 6.5.2.81 c, d
+}
+-- PositionEventNotification RETURN RESULT Parameters
+-- zero octets
+
+-- 6.4.2.CC OTASPRequest
+OTASPRequest ::= [PRIVATE 18] SET {
+ actionCode [128] IMPLICIT ActionCode OPTIONAL,
+ -- O 6.5.2.2 a
+ aKeyProtocolVersion [181] IMPLICIT AKeyProtocolVersion OPTIONAL,
+ -- O 6.5.2.lB b
+ authenticationData [161] IMPLICIT AuthenticationData OPTIONAL,
+ -- O 6.5.2.9 c
+ authenticationResponse [35] IMPLICIT AuthenticationResponse OPTIONAL,
+ -- O 6.5.2.10 c
+ callHistoryCount [38] IMPLICIT CallHistoryCount OPTIONAL,
+ -- O 6.5.2.18 c
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 d
+ msid MSID OPTIONAL,
+ -- O 6.5.2.81 e, d
+ mobileStationMSID MobileStationMSID OPTIONAL,
+ -- O 6.5.2.oC f
+ mobileStationPartialKey [185] IMPLICIT MobileStationPartialKey OPTIONAL,
+ -- O 6.5.2.pB g
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- O 6.5.2.64 h
+ newlyAssignedMSID NewlyAssignedMSID OPTIONAL,
+ --O 6.5.2.rB i
+ randomVariable [40] IMPLICIT RandomVariable OPTIONAL,
+ -- O 6.5.2.101 c
+ randomVariableBaseStation [41] IMPLICIT RandomVariableBaseStation,
+ -- O 6.5.2.102 m
+ serviceIndicator [193] IMPLICIT ServiceIndicator OPTIONAL,
+ -- O 6.5.2.wB j
+ systemCapabilities [49] IMPLICIT SystemCapabilities OPTIONAL,
+ -- O 6.5.2.146 k
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 6.5.2.154
+ meid [390] IMPLICIT MEID OPTIONAL
+ -- O
+ }
+-- Table 6.4.2.CCy OTASPRequest RETURN RESULT Parameters
+OTASPRequestRes ::= [PRIVATE 18] SET {
+ aKeyProtocolVersion [181] IMPLICIT AKeyProtocolVersion OPTIONAL,
+ -- O 6.5.2.lB a
+ authenticationResponseBaseStation [36] IMPLICIT AuthenticationResponseBaseStation OPTIONAL,
+ -- O 6.5.2.11 g
+ baseStationPartialKey [183] IMPLICIT BaseStationPartialKey OPTIONAL,
+ -- O 6.5.2.nB b
+ denyAccess [50] IMPLICIT DenyAccess OPTIONAL,
+ -- O 6.5.2.54 c
+ modulusValue [186] IMPLICIT ModulusValue OPTIONAL,
+ -- O 6.5.2.qB b
+ otasp-ResultCode [189] IMPLICIT OTASP-ResultCode OPTIONAL,
+ -- O 6.5.2.sB d
+ primitiveValue [190] IMPLICIT PrimitiveValue OPTIONAL,
+ -- O 6.5.2.tB b
+ signalingMessageEncryptionReport [194] IMPLICIT SignalingMessageEncryptionReport OPTIONAL,
+ -- O 6.5.2.xB e
+ ssdUpdateReport [156] IMPLICIT SSDUpdateReport OPTIONAL,
+ -- O 6.5.2.142 f
+ uniqueChallengeReport [124] IMPLICIT UniqueChallengeReport OPTIONAL,
+ -- O 6.5.2.162 f
+ voicePrivacyReport [196] IMPLICIT VoicePrivacyReport OPTIONAL
+ -- O 6.5.2.zB e
+ }
+
+-- 3.2.2.2 StatusRequest (new) X.S0008-0 v1.0
+StatusRequest ::= [PRIVATE 18] SET {
+ msid MSID,
+ -- M 2.153 a
+ record-Type [392] IMPLICIT Record-Type
+ -- M 3.3.2.2 b
+}
+
+-- StatusRequest RETURN RESULT Parameters
+StatusRequestRes ::= [PRIVATE 18] SET {
+ information-Record [389] IMPLICIT Information-Record OPTIONAL
+ -- O 3.3.2.2
+}
+
+-- 2.35 InterSystemSMSDeliveryPointToPoint
+InterSystemSMSDeliveryPointToPoint ::= [PRIVATE 18] SET {
+ sms-BearerData [105] IMPLICIT SMS-BearerData,
+ -- M 2.233
+ sms-TeleserviceIdentifier [116] IMPLICIT SMS-TeleserviceIdentifier,
+ -- M 2.246
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 2.127 a
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 2.140 a
+ signalingMessageEncryptionKey [45] IMPLICIT SignalingMessageEncryptionKey OPTIONAL,
+ -- O 2.228 b
+ sms-MessageCount [108] IMPLICIT SMS-MessageCount OPTIONAL,
+ -- O 2.237 c
+ sms-OriginalOriginatingAddress [112] IMPLICIT SMS-OriginalOriginatingAddress OPTIONAL,
+ -- O 2.242 d
+ sms-OriginalOriginatingSubaddress [113] IMPLICIT SMS-OriginalOriginatingSubaddress OPTIONAL
+ -- O 2.243 e
+}
+InterSystemSMSDeliveryPointToPointRes ::= [PRIVATE 18] SET {
+ sms-BearerData [105] IMPLICIT SMS-BearerData OPTIONAL,
+ -- O 2.233 a
+ sms-CauseCode [153] IMPLICIT SMS-CauseCode OPTIONAL
+ -- O 2.234 b
+}
+-- 2.36 InterSystemSMSPage X.S0004-540-E v2.0
+InterSystemSMSPage ::= [PRIVATE 18] SET {
+ sms-BearerData [105] IMPLICIT SMS-BearerData,
+ -- M 2.236
+ sms-TeleserviceIdentifier [116] IMPLICIT SMS-TeleserviceIdentifier,
+ -- M 2.249
+ cdma2000MobileSupportedCapabilities [321] IMPLICIT CDMA2000MobileSupportedCapabilities OPTIONAL,
+ -- O 2.42 a
+ cdmaSlotCycleIndex [166] IMPLICIT CDMASlotCycleIndex OPTIONAL,
+ -- O 2.71 b
+ cdmaStationClassMark2 [177] IMPLICIT CDMAStationClassMark2 OPTIONAL,
+ -- O 2.73 c, d
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 2.113 e
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 2.130 f
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 2.138 g
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 2.143 f
+ networkTMSI [233] IMPLICIT NetworkTMSI OPTIONAL,
+ -- O 2.161 f
+ pageIndicator [71] IMPLICIT PageIndicator OPTIONAL,
+ -- O 2.173 h
+ pageResponseTime [301] IMPLICIT PageResponseTime OPTIONAL,
+ -- O 2.174 i
+ sms-ChargeIndicator [106] IMPLICIT SMS-ChargeIndicator OPTIONAL,
+ -- O 2.238 j
+ sms-DestinationAddress [107] IMPLICIT SMS-DestinationAddress OPTIONAL,
+ -- O 2.239 k
+ sms-OriginalDestinationAddress [110] IMPLICIT SMS-OriginalDestinationAddress OPTIONAL,
+ -- O 2.243 l
+ sms-OriginalDestinationSubaddress [111] IMPLICIT SMS-OriginalDestinationSubaddress OPTIONAL,
+ -- O 2.244 m
+ sms-OriginalOriginatingAddress [112] IMPLICIT SMS-OriginalOriginatingAddress OPTIONAL,
+ -- O 2.245 n
+ sms-OriginalOriginatingSubaddress [113] IMPLICIT SMS-OriginalOriginatingSubaddress OPTIONAL,
+ -- O 2.246 m
+ sms-OriginatingAddress [114] IMPLICIT SMS-OriginatingAddress OPTIONAL
+ -- O 2.247 o
+ }
+-- 2.48 QualificationRequest2 X.S0004-540-E v2.0
+QualificationRequest2 ::= [PRIVATE 18] SET {
+ mscid [21] IMPLICIT MSCID,
+ -- (Serving MSC or Originating MSC) M 2.154
+ qualificationInformationCode [17] IMPLICIT QualificationInformationCode,
+ -- M 2.190
+ systemAccessType [34] IMPLICIT SystemAccessType,
+ -- M 2.261
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (MSC or VLR) M 2.263
+ transactionCapability [123] IMPLICIT TransactionCapability,
+ -- M 2.288 a
+ cdmaNetworkIdentification [232] IMPLICIT CDMANetworkIdentification OPTIONAL,
+ -- (Serving) O 2.58 b
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 2.88 c
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 2.113 d
+ locationAreaID [33] IMPLICIT LocationAreaID OPTIONAL,
+ -- O 2.138 e
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 2.142 f
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 2.155 g
+-- mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- O 2.156 d, h
+ nonPublicData [200] IMPLICIT NonPublicData OPTIONAL,
+ -- O 2.169
+ serviceRedirectionCause [237] IMPLICIT ServiceRedirectionCause OPTIONAL,
+ -- O 2.225 i
+ senderIdentificationNumber [103] IMPLICIT SenderIdentificationNumber OPTIONAL,
+ -- O 2.218 j
+ terminalType [47] IMPLICIT TerminalType OPTIONAL,
+ -- O 2.281 k
+ userGroup [208] IMPLICIT UserGroup OPTIONAL,
+ -- O 2.297 l
+ userZoneData [209] IMPLICIT UserZoneData OPTIONAL,
+ -- O 2.298 m
+ winCapability [280] IMPLICIT WINCapability OPTIONAL
+ -- O 2.303 n
+}
+QualificationRequest2Res ::= [PRIVATE 18] SET {
+ systemMyTypeCode [22] IMPLICIT SystemMyTypeCode,
+ -- (VLR or HLR) M 2.263
+ analogRedirectRecord [225] IMPLICIT AnalogRedirectRecord OPTIONAL,
+ -- O 2.8 a
+ authorizationDenied [13] IMPLICIT AuthorizationDenied OPTIONAL,
+ -- O 2.19 b
+ authorizationPeriod [14] IMPLICIT AuthorizationPeriod OPTIONAL,
+ -- O 2.20 c
+ cdmaRedirectRecord [229] IMPLICIT CDMARedirectRecord OPTIONAL,
+ -- O 2.63 d
+ controlChannelMode [199] IMPLICIT ControlChannelMode OPTIONAL,
+ -- O 2.88 e
+ deniedAuthorizationPeriod [167] IMPLICIT DeniedAuthorizationPeriod OPTIONAL,
+ -- O 2.100 f
+ digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Carrier) O 2.106 g
+-- digits [4] IMPLICIT Digits OPTIONAL,
+ -- (Destination) O 2.106 h, i
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 2.113 j
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- O 2.130 k
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 2.143 k
+ mscid [21] IMPLICIT MSCID OPTIONAL,
+ -- (HLR) O 2.154 l
+-- Profile **Macro** O 2.185 m, n
+ authenticationCapability [78] IMPLICIT AuthenticationCapability OPTIONAL,
+ -- O 6.5.2.8 a
+ callingFeaturesIndicator [25] IMPLICIT CallingFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.20 b
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 c
+ cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g d
+ controlNetworkID [307] IMPLICIT ControlNetworkID OPTIONAL,
+ -- O 6.5.2.ek u
+ dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 d
+ dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 d
+ dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 d
+ geographicAuthorization [143] IMPLICIT GeographicAuthorization OPTIONAL,
+ -- O 6.5.2.68 e
+ meidValidated [401] IMPLICIT MEIDValidated OPTIONAL,
+ -- O 3.2.2.98
+ messageWaitingNotificationCount [92] IMPLICIT MessageWaitingNotificationCount OPTIONAL,
+ -- O 6.5.2.78 f
+ messageWaitingNotificationType [145] IMPLICIT MessageWaitingNotificationType OPTIONAL,
+ -- O 6.5.2.79 g
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d
+ mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm t TIA/EIA/J-STD-036-A
+ originationIndicator [23] IMPLICIT OriginationIndicator OPTIONAL,
+ -- O 6.5.2.89 h
+ originationTriggers [98] IMPLICIT OriginationTriggers OPTIONAL,
+ -- O 6.5.2.90 i
+ pACAIndicator [146] IMPLICIT PACAIndicator OPTIONAL,
+ -- O 6.5.2.91 j
+ preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 k
+ qosPriority [348] IMPLICIT QoSPriority OPTIONAL,
+ --6.5.2.ge z
+ restrictionDigits [227] IMPLICIT RestrictionDigits OPTIONAL,
+ -- O 6.5.2.113 l
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 m
+ pSID-RSIDList [203] IMPLICIT PSID-RSIDList OPTIONAL,
+ -- O 6 .5.2.ag u , w
+ sms-OriginationRestrictions [115] IMPLICIT SMS-OriginationRestrictions OPTIONAL,
+ -- O 6.5.2.136 n
+ sms-TerminationRestrictions [117] IMPLICIT SMS-TerminationRestrictions OPTIONAL,
+ -- O 6.5.2.138 o
+ spinipin [154] IMPLICIT SPINIPIN OPTIONAL,
+ -- O 6.5.2.139 p
+ spiniTriggers [155] IMPLICIT SPINITriggers OPTIONAL,
+ -- O 6.5.2.140 q
+ tdmaDataFeaturesIndicator [221] IMPLICIT TDMADataFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.az s
+ terminationRestrictionCode [24] IMPLICIT TerminationRestrictionCode OPTIONAL,
+ -- O 6.5.2.157 r
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 s
+ triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL,
+ -- O 6.5.2.de t
+ userGroup [208] IMPLICIT UserGroup OPTIONAL,
+ -- O 6 .5.2.al p
+ nonPublicData [200] IMPLICIT NonPublicData OPTIONAL,
+ -- O 6 .5.2.ad v
+ userZoneData [209] IMPLICIT UserZoneData OPTIONAL,
+ -- O 6 .5.2.am v , w
+ callingPartyCategory [355] IMPLICIT CallingPartyCategory OPTIONAL,
+ -- O 6.5.2.gl z
+ lirMode [369] IMPLICIT LIRMode OPTIONAL,
+ -- O 6.5.2.gz z
+-- END MACRO
+ roamingIndication [239] IMPLICIT RoamingIndication OPTIONAL,
+ -- O 2.211 o
+ serviceRedirectionInfo [238] IMPLICIT ServiceRedirectionInfo OPTIONAL
+ -- O 2.226 a, d
+}
+-- Parameters
+-- 6.5.2.1
+-- 1 0 0 1 0 1 0 0 (0x94)
+AccessDeniedReason ::= ENUMERATED {
+ not-used ( 0 ),
+ unassigned-directory-number ( 1 ),
+ inactive ( 2 ),
+ busy ( 3 ),
+ termination-denied ( 4 ),
+ no-page-response ( 5 ),
+ unavailable ( 6 ),
+ service-Rejected-by-MS ( 7 ),
+ services-Rejected-by-the-System ( 8 ),
+ service-Type-Mismatch ( 9 ),
+ service-Denied ( 10 ),
+ position-Determination-Not-Supported (12)
+ }
+-- 6.5.2.2
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 0 0 0 0 (0x00) (128)
+ActionCode ::= OCTET STRING
+
+-- 6.5.2.3
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 1 0 1 1 (0x4b) 75
+AlertCode ::= OCTET STRING
+
+-- 6.5.2.4
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 0 0 0 1 (0x01)(129)
+AlertResult ::= OCTET STRING
+
+-- 6.5.2.5
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 1 1 0 0 (0x4c) 76
+AnnouncementCode ::= OCTET STRING
+
+-- 6.5.2.6
+-- 1 0 1 1 1 1 1 1 (0x9f) (0xbf)(constructed encoding)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 0 0 1 0 (0x02)(130)
+AnnouncementList ::= SEQUENCE {
+ announcementCode1 [ 76 ] IMPLICIT AnnouncementCode,
+ announcementCode2 [ 76 ] IMPLICIT AnnouncementCode OPTIONAL
+ }
+
+-- 6.5.2.7
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 1 1 0 1 (0x4d) (77)
+AuthenticationAlgorithmVersion ::= OCTET STRING
+
+-- 6.5.2.8
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 1 1 1 0 (0x4e) 78
+AuthenticationCapability ::= OCTET STRING
+
+-- 6.5.2.9
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 0 0 0 1 (0x21)(161)
+AuthenticationData ::= OCTET STRING
+
+-- 6.5.2.10
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 0 0 1 1 (0x23)(35)
+AuthenticationResponse ::= OCTET STRING
+
+-- 6.5.2.11
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 0 1 0 0 (0x24)(36)
+AuthenticationResponseBaseStation ::= OCTET STRING
+
+-- 6.5.2.12
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 0 1 0 1 (0x25)(37)
+AuthenticationResponseUniqueChallenge ::= OCTET STRING
+
+-- 6.5.2.13
+-- 1 0 0 0 1 1 0 1 (0x8d)(13)
+AuthorizationDenied ::= ENUMERATED {
+ not-used ( 0 ),
+ delinquent-account ( 1 ),
+ invalid-serial-number ( 2 ),
+ stolen-unit ( 3 ),
+ duplicate-unit ( 4 ),
+ unassigned-directory-number ( 5 ),
+ unspecified ( 6 ),
+ multiple-access ( 7 ),
+ not-Authorized-for-the-MSC ( 8 ),
+ missing-authentication-parameters ( 9 ),
+ terminalType-mismatch ( 10 ),
+ requested-Service-Code-Not-Supported ( 11 )
+ }
+
+-- 6.5.2.14
+-- 1 0 0 0 1 1 1 0 (0x8e)(14)
+AuthorizationPeriod ::= OCTET STRING
+
+-- 6.5.2.15
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 1 0 1 0 (0x5a)(90)
+AvailabilityType ::= OCTET STRING
+
+-- 6.5.2.16 1 0 0 0 0 0 0 1 (0x81)(1)
+BillingID ::= OCTET STRING
+
+-- 6.5.2.17
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 1 0 1 0 (0x3a)(58)
+BorderCellAccess ::= ENUMERATED{
+ not-used ( 0 ),
+ border-Cell-Access ( 1 )
+ }
+
+-- 6.5.2.18
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 0 1 1 0 (0x26)(38)
+CallHistoryCount ::= INTEGER (0..63)
+
+-- 6.5.2.19
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 1 1 1 1 (0x4f)
+CallHistoryCountExpected ::= INTEGER (0..63)
+
+-- 6.5.2.20
+-- 1 0 0 1 1 0 0 1 (0x99)(25)
+CallingFeaturesIndicator ::= OCTET STRING
+
+-- 6.5.2.21
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 0 0 0 0 (0x50)(80)
+CallingPartyNumberDigits1 ::= DigitsType
+
+-- 6.5.2.22
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 0 0 0 1
+CallingPartyNumberDigits2 ::= DigitsType
+
+-- 6.5.2.23
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 0 0 1 0 (0x52)(82)
+CallingPartyNumberString1 ::= DigitsType
+
+-- 6.5.2.24
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 0 0 1 1 (0x53)(83)
+CallingPartyNumberString2 ::= DigitsType
+
+-- 6.5.2.25
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 0 1 0 0 (0x54)(84)
+CallingPartySubaddress ::= Subaddress
+
+-- 6.5.2.26
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 1 0 0 1 (0x39)(57)
+CancellationDenied ::= ENUMERATED {
+ not-used ( 0 ),
+ multipleAccess ( 1 ),
+ busy ( 2 )
+}
+
+-- 6.5.2.27
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 0 1 0 1 (0x55)(85)
+CancellationType ::= OCTET STRING
+
+-- 6.5.2.28
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 0 1 1 0 (0x56)(86)
+CarrierDigits ::= DigitsType
+
+-- 6.5.2.29
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 1 1 1 0 (0x3e)(62)
+CDMACallMode ::= OCTET STRING
+
+-- 6.5.2.30
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 1 1 1 1 (0x3f)(63)
+CDMAChannelData ::= OCTET STRING
+
+-- 6.5.2.31
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 0 1 0 0 (0x44)(68)
+CDMACodeChannel ::= OCTET STRING
+
+-- 6.5.2.32
+-- 1 0 1 1 1 1 1 1 (0xbf)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 0 0 1 1 (0x03)(131)
+CDMACodeChannelInformation ::= SEQUENCE {
+ targetCellID [3] IMPLICIT TargetCellID,
+ cdmaCodeChannel [68] IMPLICIT CDMACodeChannel,
+ cdmaPilotPN [173] IMPLICIT CDMAPilotPN OPTIONAL,
+ -- O 6.5.2.d a
+ cdmaPowerCombinedIndicator [228] IMPLICIT CDMAPowerCombinedIndicator OPTIONAL,
+ -- O 6.5.2.bg b
+...
+}
+
+-- 6.5.2.33
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 0 1 0 0 (0x04)(132)
+CDMACodeChannelList ::= SEQUENCE OF [131] IMPLICIT CDMACodeChannelInformation
+--
+-- cdmaCodeChannelInformation [9999] IMPLICIT CDMACodeChannelInformation,
+-- cdmaCodeChannelInformation [9999] IMPLICIT CDMACodeChannelInformation OPTIONAL
+-- }
+
+-- 6.5.2.34
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 0 0 1 0 (0x42)(66)
+CDMAMobileProtocolRevision ::= OCTET STRING
+
+-- 6.5.2.35
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 0 0 0 1 (0x41)(65)
+CDMAPilotStrength ::= OCTET STRING
+
+-- 6.5.2.36
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 0 0 1 1 (0x43)(67)
+CDMAPrivateLongCodeMask ::= OCTET STRING
+
+-- 6.5.2.37
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 0 1 0 1 (0x45)(69)
+CDMASearchWindow ::= OCTET STRING
+
+-- 6.5.2.38
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 1 1 0 0 (0x3c)(60)
+CDMAServingOneWayDelay ::= OCTET STRING
+
+-- 6.5.2.39
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 0 0 0 0 (0x40) (64)
+CDMASignalQuality ::= OCTET STRING
+
+-- 6.5.2.40
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 0 1 1 0 (0x26)(166)
+CDMASlotCycleIndex ::= OCTET STRING
+
+-- 6.5.2.41 N.S0005-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 1 0 1 1 (0x3b)(59)
+CDMAStationClassMark ::= OCTET STRING
+
+-- 6.5.2.42
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 0 1 1 1 (0x07)(135)
+CDMATargetMAHOInformation ::= SEQUENCE {
+ targetCellID [3] IMPLICIT TargetCellID,
+ cdmaPilotStrength [65] IMPLICIT CDMAPilotStrength,
+ cdmaTargetOneWayDelay [61] IMPLICIT CDMATargetOneWayDelay
+ }
+
+-- 6.5.2.43
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 1 0 0 0 (0x08)(136)
+CDMATargetMAHOList ::= SEQUENCE OF [135] IMPLICIT CDMATargetMAHOInformation
+-- CDMATargetMAHOList ::= SEQUENCE OF CDMATargetMAHOInformation
+
+-- cdmaTargetMAHOInformation [9999] IMPLICIT CDMATargetMAHOInformation,
+-- cdmaTargetMAHOInformation [9999] IMPLICIT CDMATargetMAHOInformation OPTIONAL
+-- }
+
+-- 6.5.2.44
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 0 1 0 1 (0x05)(133)
+CDMATargetMeasurementInformation ::= SEQUENCE {
+ targetCellID [3] IMPLICIT TargetCellID,
+ cdmaSignalQuality [64] IMPLICIT CDMASignalQuality,
+ cdmaTargetOneWayDelay [61] IMPLICIT CDMATargetOneWayDelay OPTIONAL
+ }
+
+-- 6.5.2.45
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 0 1 1 0 (0x06)(134)
+CDMATargetMeasurementList ::= SEQUENCE OF [133] IMPLICIT CDMATargetMeasurementInformation
+--{
+-- cdmaTargetMeasurementInformation [133] IMPLICIT CDMATargetMeasurementInformation,
+-- cdmaTargetMeasurementInformation [133] IMPLICIT CDMATargetMeasurementInformation OPTIONAL
+-- }
+
+
+-- 6.5.2.46
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 1 1 0 1 (0x3d)(61)
+CDMATargetOneWayDelay ::= OCTET STRING
+
+-- 6.5.2.47
+-- 1 0 0 0 0 1 0 1 (0x85)(0x5)
+ChannelData ::= OCTET STRING
+
+-- 6.5.2.48
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 0 0 1 0 (0x22)(162)
+ConditionallyDeniedReason ::= ENUMERATED {
+ not-used ( 0 ),
+ waitable ( 1 ),
+ ...
+}
+
+-- 6.5.2.49
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 1 0 0 1 (0x09)(137)
+ConferenceCallingIndicator ::= OCTET STRING
+
+-- 6.5.2.50
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 0 1 1 1 (0x27) (39)
+ConfidentialityModes ::= OCTET STRING
+
+-- 6.5.2.51
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 0 1 1 1 (0x37)(55)
+ControlChannelData ::= OCTET STRING
+
+-- 6.5.2.52
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 1 0 1 0 (0x0a)(138)
+CountUpdateReport ::= OCTET STRING
+
+-- 6.5.2.53
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 0 1 1 1 (0x27)(167)
+DeniedAuthorizationPeriod ::= OCTET STRING
+
+-- 6.5.2.54
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 0 0 1 0 (0x32)(50)
+DenyAccess ::= ENUMERATED {
+ not-used ( 0 ),
+ unspecified ( 1 ),
+ ssd-Update-failure ( 2 ),
+ cOUNT-Update-failure ( 3 ),
+ unique-Challenge-failure ( 4 ),
+ aUTHR-mismatch ( 5 ),
+ cOUNT-mismatch ( 6 ),
+ process-collision ( 7 ),
+ missing-authentication-parameters ( 8 ),
+ terminalType-mismatch ( 9 ),
+ mIN-IMSI-or-ESN-authorization-failure ( 10 ),
+ ...
+}
+
+--6.5.2.55
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 1 0 0 1 (0x49)(73)
+DeregistrationType ::= ENUMERATED {
+ not-used ( 0 ),
+ deregister-for-an-unspecified-reason ( 1 ),
+ deregister-for-an-administrative-reason ( 2 ),
+ deregister-due-to-MS-power-down ( 3 ),
+ ...
+}
+
+-- 6.5.2.56
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 0 1 1 1 (0x57)(87)
+DestinationDigits ::= DigitsType
+
+-- 6.5.2.57
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 1 0 1 1 (0x0b)(139)
+DigitCollectionControl ::= OCTET STRING
+
+-- 6.5.2.58
+-- 1 0 0 0 0 1 0 0 (0x84)(0x4)
+Digits ::= DigitsType
+
+-- 6.5.2.59
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 1 1 0 0 (0x0c)(140)
+DMH-AccountCodeDigits ::= DigitsType
+
+-- 6.5.2.60
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 1 1 0 1 (0x0d)(141)
+DMH-AlternateBillingDigits ::= DigitsType
+
+-- 6.5.2.61
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 1 1 1 0 (0x0e)(142)
+DMH-BillingDigits ::= DigitsType
+
+-- 6.5.2.62
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 1 0 0 0 (0x58)(88)
+
+DMH-RedirectionIndicator ::= ENUMERATED {
+ not-specified (0),
+ cfu (1),
+ cfb (2),
+ cfna (3),
+ cfo (4),
+ cd-Unspecified (5),
+ cd-PSTN (6),
+ cd-Private (7),
+ pstn-Tandem (8),
+ private (9),
+ busy (10),
+ inactive (11),
+ unassigned (12),
+ termination-denied (13),
+ cd-failure (14),
+ ect (15),
+ mah (16),
+ fa (17),
+ abandoned-call-leg (18),
+ pca-call-refused (19),
+ sca-call-refused (20),
+ dialogue (21),
+ cfd (22),
+ cd-local (23),
+ voice-mail-retrieval (24)
+}
+
+-- 6.5.2.63
+-- 1 0 0 0 1 0 0 1 (0x89)(0x9)
+ElectronicSerialNumber ::= OCTET STRING
+
+-- 6.5.2.64
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 0 1 0 1 (0x35)(53)
+ExtendedMSCID ::= OCTET STRING
+
+-- 6.5.2.65
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 0 1 1 0 (0x36)(54)
+ExtendedSystemMyTypeCode ::= OCTET STRING
+
+-- 6.5.2.66
+-- FaultyParameter ::= OCTET STRING
+
+-- 6.5.2.67
+-- 1 0 0 1 0 0 1 0 (0x92)(18)
+FeatureResult ::= ENUMERATED {
+ not-used ( 0 ),
+ unsuccessful ( 1 ),
+ successful ( 2 ),
+ ...
+}
+
+-- 6.5.2.68
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 0 1 1 1 1 (0x0f)(143)
+GeographicAuthorization ::= OCTET STRING
+
+--6.5.2.69
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 0 0 1 1 (0x23)(163)
+GroupInformation ::= OCTET STRING
+
+-- 6.5.2.70
+-- 1 0 0 1 1 1 1 0 (0x9e)(30)
+HandoffReason ::= ENUMERATED {
+ not-used ( 0 ),
+ unspecified ( 1 ),
+ weak-Signal ( 2 ),
+ off-loading ( 3 ),
+ anticipatory ( 4 )
+}
+
+-- 6.5.2.71
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 0 1 0 0 (0x24)(164)
+HandoffState ::= OCTET STRING
+
+-- 6.5.2.72
+-- 1 0 0 0 0 1 1 0 (0x86)(0x6)
+InterMSCCircuitID ::= OCTET STRING
+
+-- 6.5.2.73
+-- 1 0 0 0 0 1 1 1 (0x87)(0x7)
+InterSwitchCount ::= INTEGER (0..255)
+
+--6.5.2.74
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 1 0 0 1 (0x59)(89)
+IntersystemTermination ::= SEQUENCE {
+ destinationDigits [87] IMPLICIT DestinationDigits,
+ -- M 6.5.2.56
+ mscid [21] IMPLICIT MSCID,
+ -- (serving) M 6.5.2.82
+ accessDeniedReason [20] IMPLICIT AccessDeniedReason OPTIONAL,
+ -- O 6.5.2.1 a
+ billingID [1] IMPLICIT BillingID OPTIONAL,
+ -- (terminating) O 6.5.2.16 b
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 c, d
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber OPTIONAL,
+ -- O 6.5.2.63 e
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- 6.5.2.bu e, k
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 f
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d, e
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 e
+ mSCIdentificationNumber [94] IMPLICIT MSCIdentificationNumber OPTIONAL,
+ -- O 6.5.2.83 g
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 d, h
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 d, i
+...
+}
+
+-- 6.5.2.75
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 0 0 0 0 (0x10)(144)
+LegInformation ::= OCTET STRING
+
+-- 6.5.2.76
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 1 0 1 1 (0x5b)(91)
+LocalTermination ::= SEQUENCE {
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- M 6.5.2.63
+ terminationTreatment [121] IMPLICIT TerminationTreatment,
+ -- M 6.5.2.158
+ alertCode [75] IMPLICIT AlertCode OPTIONAL,
+ -- O 6.5.2.3 a, b
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 b, c
+ destinationDigits [87] IMPLICIT DestinationDigits OPTIONAL,
+ -- O 6.5.2.56 d, e
+ imsi [242] IMPLICIT IMSI OPTIONAL,
+ -- 6.5.2.bu e, k
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 a
+ mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 b, f
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ -- M 6.5.2.81
+ oneTimeFeatureIndicator [97] IMPLICIT OneTimeFeatureIndicator OPTIONAL,
+ -- O 6.5.2.88 b, g
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 b, h
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 a, b
+ voiceMailboxPIN [159] IMPLICIT VoiceMailboxPIN OPTIONAL,
+ -- O 6.5.2.165 i
+ voiceMailboxNumber [160] IMPLICIT VoiceMailboxNumber OPTIONAL,
+ -- O 6.5.2.164 j
+ ...
+ }
+
+-- 6.5.2.77
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 0 0 0 1 (0x21)(33)
+LocationAreaID ::= OCTET STRING
+
+-- 6.5.2.78
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 1 1 0 0 (0x5c)(92)
+MessageWaitingNotificationCount::= OCTET STRING
+
+-- 6.5.2.79
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 0 0 0 1 (0x11)(145)
+MessageWaitingNotificationType ::= OCTET STRING
+
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 1 1 0 1 (0x5d)(93)
+-- 6.5.2.80
+MobileDirectoryNumber ::= DigitsType
+
+-- 6.5.2.81
+-- 1 0 0 0 1 0 0 0 (0x88)(0x8)
+MobileIdentificationNumber ::= MINType
+--N.S0011-0 v 1.0
+-- b. Refer to the MINType parameter type (see 6.5.3.u1) for notes and field encoding.
+
+-- 6.5.2.82
+-- 1 0 0 1 0 1 0 1 (0x95)
+MSCID ::= OCTET STRING
+
+-- 6.5.2.83
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 1 1 1 0 (0x5e)(94)
+MSCIdentificationNumber ::= DigitsType
+
+-- 6.5.2.84
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 0 1 1 0 (0x46)(70)
+MSLocation ::= OCTET STRING
+
+-- 6.5.2.85
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 0 1 0 1 (0x25)(165)
+NAMPSCallMode ::= OCTET STRING
+
+-- 6.5.2.86
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 1 0 1 0 (0x4a)(76)
+NAMPSChannelData ::= OCTET STRING
+
+-- 6.5.2.87
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 0 0 0 0 (0x60)(96)
+NoAnswerTime ::= OCTET STRING
+
+-- 6.5.2.88
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 0 0 0 1 (0x61)(97)
+OneTimeFeatureIndicator ::= OCTET STRING
+
+-- 6.5.2.89
+-- 1 0 0 1 0 1 1 1 (0x97)(23)
+OriginationIndicator ::= ENUMERATED {
+ not-used ( 0 ),
+ prior-agreement ( 1 ),
+ origination-denied ( 2 ),
+ local-calls-only ( 3 ),
+ selected-leading-digits-of-directorynumber-or-of-international-E164-number ( 4 ),
+ selected-leading-digits-of-directorynumber-or-of-international-E164-number-and-local-calls-only ( 5 ),
+ national-long-distance ( 6 ),
+ international-calls ( 7 ),
+ single-directory-number-or-international-E164-number ( 8 ),
+ ...
+ }
+-- 6.5.2.90
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 0 0 1 0 (0x62)
+OriginationTriggers ::= OCTET STRING
+
+-- 6.5.2.91
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 0 0 1 0 (0x12)(146)
+PACAIndicator ::= OCTET STRING
+
+-- 6.5.2.92
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 0 1 1 1 (0x47)(71)
+PageIndicator ::= OCTET STRING
+
+-- 6.5.2.93
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 0 0 0 0 (0x20)
+PC-SSN ::= OCTET STRING
+
+-- 6.5.2.94
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 1 0 0 1 (0x29)(169)
+PilotBillingID ::= OCTET STRING
+
+-- 6.5.2.95
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 1 0 0 0 (0x28)(168)
+PilotNumber ::= DigitsType
+
+-- 6.5.2.96
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 0 0 1 1 (0x13)(147)
+PreferredLanguageIndicator ::= OCTET STRING
+
+-- 6.5.2.97 Profile MACRO ?
+-- Profile ::= SET {
+-- authenticationCapability [78] IMPLICIT AuthenticationCapability OPTIONAL,
+ -- O 6.5.2.8 a
+-- callingFeaturesIndicator [25] IMPLICIT CallingFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.20 b
+-- carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 c
+-- cdmaServiceOptionList [176] IMPLICIT CDMAServiceOptionList OPTIONAL,
+ -- O 6.5.2.g d
+-- controlNetworkID [307] IMPLICIT ControlNetworkID OPTIONAL,
+ -- O 6.5.2.ek u
+-- dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL,
+ -- O 6.5.2.59 d
+-- dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL,
+ -- O 6.5.2.60 d
+-- dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL,
+ -- O 6.5.2.61 d
+-- geographicAuthorization [143] IMPLICIT GeographicAuthorization OPTIONAL,
+ -- O 6.5.2.68 e
+-- messageWaitingNotificationCount [92] IMPLICIT MessageWaitingNotificationCount OPTIONAL,
+ -- O 6.5.2.78 f
+-- messageWaitingNotificationType [145] IMPLICIT MessageWaitingNotificationType OPTIONAL,
+ -- O 6.5.2.79 g
+-- mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL,
+ -- O 6.5.2.80 d
+-- mobilePositionCapability [335] IMPLICIT MobilePositionCapability OPTIONAL,
+ -- O 6.5.2.fm t TIA/EIA/J-STD-036-A
+-- originationIndicator [23] IMPLICIT OriginationIndicator OPTIONAL,
+ -- O 6.5.2.89 h
+-- originationTriggers [98] IMPLICIT OriginationTriggers,
+ -- O 6.5.2.90 i
+-- pACAIndicator [274] IMPLICIT PACAIndicator OPTIONAL,
+ -- O 6.5.2.91 j
+-- preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL,
+ -- O 6.5.2.96 k
+-- qosPriority [348] IMPLICIT QoSPriority OPTIONAL,
+ --6.5.2.ge z
+-- restrictionDigits [227] IMPLICIT RestrictionDigits OPTIONAL,
+ -- O 6.5.2.113 l
+-- routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 m
+-- pSID-RSIDList [203] IMPLICIT PSID-RSIDList OPTIONAL,
+ -- O 6 .5.2.ag u , w
+-- sms-OriginationRestrictions [115] IMPLICIT SMS-OriginationRestrictions OPTIONAL,
+ -- O 6.5.2.136 n
+-- sms-TerminationRestrictions [117] IMPLICIT SMS-TerminationRestrictions OPTIONAL,
+ -- O 6.5.2.138 o
+-- spinipin [154] IMPLICIT SPINIPIN OPTIONAL,
+ -- O 6.5.2.139 p
+-- spiniTriggers [155] IMPLICIT SPINITriggers OPTIONAL,
+ -- O 6.5.2.140 q
+-- tdmaDataFeaturesIndicator [221] IMPLICIT TDMADataFeaturesIndicator OPTIONAL,
+ -- O 6.5.2.az s
+-- terminationRestrictionCode [24] IMPLICIT TerminationRestrictionCode OPTIONAL,
+ -- O 6.5.2.157 r
+-- terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 s
+-- triggerAddressList [276] IMPLICIT TriggerAddressList OPTIONAL,
+ -- O 6.5.2.de t
+-- userGroup [208] IMPLICIT UserGroup OPTIONAL,
+ -- O 6 .5.2.al p
+-- nonPublicData [200] IMPLICIT NonPublicData OPTIONAL,
+ -- O 6 .5.2.ad v
+-- userZoneData [209] IMPLICIT UserZoneData OPTIONAL,
+ -- O 6 .5.2.am v , w
+-- callingPartyCategory [355] IMPLICIT CallingPartyCategory OPTIONAL,
+ -- O 6.5.2.gl z
+-- ...,
+-- lirMode [369] IMPLICIT LIRMode OPTIONAL
+ -- O 6.5.2.gz z
+-- }
+-- END MACRO
+
+-- authenticationCapability [78] IMPLICIT AuthenticationCapability OPTIONAL O 6.5.2.8 a
+-- callingFeaturesIndicator [25] IMPLICIT CallingFeaturesIndicator OPTIONAL, O 6.5.2.20 b
+-- carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL, O 6.5.2.28 c
+-- dmh-AccountCodeDigits [140] IMPLICIT DMH-AccountCodeDigits OPTIONAL, O 6.5.2.59 d
+-- dmh-AlternateBillingDigits [141] IMPLICIT DMH-AlternateBillingDigits OPTIONAL, O 6.5.2.60 d
+-- dmh-BillingDigits [142] IMPLICIT DMH-BillingDigits OPTIONAL, O 6.5.2.61 d
+-- geographicAuthorization [143] IMPLICIT GeographicAuthorization OPTIONAL, O 6.5.2.68 e
+-- messageWaitingNotificationCount [92] IMPLICIT MessageWaitingNotificationCount OPTIONAL, O 6.5.2.78 f
+-- messageWaitingNotificationType [145] IMPLICIT MessageWaitingNotificationType OPTIONAL, O 6.5.2.79 g
+-- mobileDirectoryNumber [93] IMPLICIT MobileDirectoryNumber OPTIONAL, O 6.5.2.80 d
+-- originationIndicator [23] IMPLICIT OriginationIndicator OPTIONAL, O 6.5.2.89 h
+-- originationTriggers [98] IMPLICIT OriginationTriggers, O 6.5.2.90 i
+-- pACAIndicator [274] IMPLICIT PACAIndicator OPTIONAL, O 6.5.2.91 j
+-- preferredLanguageIndicator [147] IMPLICIT PreferredLanguageIndicator OPTIONAL, O 6.5.2.96 k
+-- restrictionDigits [227] IMPLICIT RestrictionDigits OPTIONAL, O 6.5.2.113 l
+-- routingDigits [150] IMPLICIT RoutingDigits OPTIONAL, O 6.5.2.114 m
+-- sms-OriginationRestrictions [115] IMPLICIT SMS-OriginationRestrictions OPTIONAL, O 6.5.2.136 n
+-- sms-TerminationRestrictions [117] IMPLICIT SMS-TerminationRestrictions OPTIONAL, O 6.5.2.138 o
+-- spinipin [154] IMPLICIT SPINIPIN OPTIONAL, O 6.5.2.139 p
+-- spiniTriggers [155] IMPLICIT SPINITriggers OPTIONAL, O 6.5.2.140 q
+-- terminationRestrictionCode [24] IMPLICIT TerminationRestrictionCode OPTIONAL, O 6.5.2.157 r
+-- terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL, O 6.5.2.159 s
+-- triggerAddressList [276] IPMPLICIT TriggerAddressList OPTIONAL, O 6.5.2.de t
+
+-- 6.5.2.98
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 0 1 0 1 1 1 1 1 (0x5f)(95)
+PSTNTermination ::= SEQUENCE {
+ destinationDigits [87] IMPLICIT DestinationDigits,
+ -- M 6.5.2.56
+ carrierDigits [86] IMPLICIT CarrierDigits OPTIONAL,
+ -- O 6.5.2.28 a, b
+ electronicSerialNumber [9] IMPLICIT ElectronicSerialNumber,
+ -- O 6.5.2.63 c
+ imsi [242] IMPLICIT IMSI,
+ -- 6.5.2.bu
+ legInformation [144] IMPLICIT LegInformation OPTIONAL,
+ -- O 6.5.2.75 d
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber OPTIONAL,
+ -- O 6.5.2.81 c, e
+ routingDigits [150] IMPLICIT RoutingDigits OPTIONAL,
+ -- O 6.5.2.114 b, e
+ terminationTriggers [122] IMPLICIT TerminationTriggers OPTIONAL,
+ -- O 6.5.2.159 b, f
+ ...
+ }
+
+-- 6.5.2.99
+-- 1 0 0 1 0 0 0 1 (0x91)(17)
+QualificationInformationCode ::= ENUMERATED {
+ not-used ( 0 ),
+ no-information ( 1 ),
+ validation-only ( 2 ),
+ validation-and-profile ( 3 ),
+ profile-only ( 4 )
+ }
+
+-- 6.5.2.100
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 0 0 1 1 (0x43)(67)
+RANDC ::= OCTET STRING
+
+-- 6.5.2.101
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 1 0 0 0 (0x28)(40)
+RandomVariable ::= OCTET STRING
+
+-- 6.5.2.102
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 1 0 0 1 (0x29)(41)
+RandomVariableBaseStation ::= OCTET STRING
+
+-- 6.5.2.103
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 1 0 1 0 (0x2a)(42)
+RandomVariableSSD ::= OCTET STRING
+
+-- 6.5.2.104
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 1 0 1 1 (0x2b)(43)
+RandomVariableUniqueChallenge ::= OCTET STRING
+
+-- 6.5.2.105
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 0 1 0 0 (0x14)(148)
+RANDValidTime ::= OCTET STRING
+
+-- 6.5.2.106
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 0 0 1 0 0 0 (0x48)(72)
+ReceivedSignalQuality ::= INTEGER (0..255)
+
+-- 6.5.2.107
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 0 1 0 0 (0x64)(100)
+RedirectingNumberDigits ::= DigitsType
+
+-- 6.5.2.108
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 0 1 0 1 (0x65)(101)
+RedirectingNumberString ::= DigitsType
+
+-- 6.5.2.109
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 0 1 1 0 (0x66)(102)
+RedirectingSubaddress ::= Subaddress
+
+-- 6.5.2.110 RedirectionReason updated N.S0021
+-- 1 0 0 1 0 0 1 1 (0x93)(19)
+RedirectionReason ::= ENUMERATED {
+ not-used (0),
+ busy (1),
+ no-Answer (2),
+ unconditional (3),
+ no-Page-Response (4),
+ unavailable (5),
+ unroutable (6),
+ call-accepted (7),
+ call-refused (8),
+ uSCFvm-Divert-to-voice-mail (9),
+ uSCFms-Divert-to-an-MS-provided-DN (10),
+ uSCFnr-Divert-to-a-network-registered-DN (11),
+ ...
+ }
+
+-- 6.5.2.111 ReleaseReason updated N.S0029-0 v1.0
+-- 1 0 0 0 1 0 1 0 (0x8a)
+ReleaseReason ::= ENUMERATED {
+ unspecified (0),
+ callOverClearForward (1),
+ callOverClearBackward (2),
+ handoffSuccessful (3),
+ handoffAbort-call-over (4),
+ handoffAbort-not-received (5),
+ abnormalMobileTermination (6),
+ abnormalSwitchTermination (7),
+ specialFeatureRelease (8),
+ sessionOverClearForward (9),
+ sessionOverClearBackward (10),
+ clearAllServicesForward (11),
+ clearAllServicesBackward (12),
+ anchor-MSC-was-removed-from-the-packet-data-session (13),
+ keep-MS-on-traffic-channel (14),
+ ...
+ }
+
+-- 6.5.2.112
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 1 1 0 0 (0x2c)
+ReportType ::= ENUMERATED {
+ not-used ( 0 ),
+ unspecified-security-violation ( 1 ),
+ mSID-ESN-mismatch ( 2 ),
+ rANDC-mismatch ( 3 ),
+ reserved ( 4 ),
+ sSD-update-failed ( 5 ),
+ reserved ( 6 ),
+ cOUNT-mismatch ( 7 ),
+ reserved ( 8 ),
+ unique-Challenge-failed ( 9 ),
+ unsolicited-Base-Station-Challenge ( 10 ),
+ sSD-Update-no-response ( 11 ),
+ cOUNT-Update-no-response ( 12 ),
+ unique-Challenge-no-response ( 13 ),
+ aUTHR-mismatch ( 14 ),
+ tERMTYP-mismatch ( 15 ),
+ missing-authentication-parameters ( 16 ),
+ ...
+ }
+
+
+-- 6.5.2.113
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 0 1 0 1 (0x15)(227)
+RestrictionDigits ::= DigitsType
+
+-- 6.5.2.114
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 0 1 1 0 (0x16)(150)
+RoutingDigits ::= DigitsType
+
+-- 6.5.2.115
+-- 1 0 0 0 1 1 1 1 (0x8f)
+SeizureType ::= ENUMERATED {
+ unspecified ( 0 ),
+ loop-back ( 1 ),
+ ...
+ }
+
+-- 6.5.2.116
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 0 1 1 1
+SenderIdentificationNumber ::= DigitsType
+
+-- 6.5.2.117
+-- 1 0 0 0 0 0 1 0 (0x82)(0x2)
+ServingCellID ::= OCTET STRING
+
+-- 6.5.2.118
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 0 1 1 1 (0x17)(151)
+SetupResult ::= OCTET STRING
+
+-- 6.5.2.119
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 1 1 1 0 (0x2e)(46)
+SharedSecretData ::= OCTET STRING
+
+-- 6.5.2.120
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 1 1 0 1 (0x2d)(45)
+SignalingMessageEncryptionKey ::= OCTET STRING
+
+-- 6.5.2.121
+-- 1 0 0 0 1 0 1 1 (0x8b)(11)
+SignalQuality ::= INTEGER{
+ not-a-usable-signal (0),
+ treat-as-Not-a-usable-signal (1),
+ treat-as-Not-a-usable-signal (2),
+ treat-as-Not-a-usable-signal (3),
+ treat-as-Not-a-usable-signal (4),
+ treat-as-Not-a-usable-signal (5),
+ treat-as-Not-a-usable-signal (6),
+ treat-as-Not-a-usable-signal (7),
+ treat-as-Not-a-usable-signal (8),
+ usable-signal-range (9),
+ usable-signal-range (245),
+ treat-the-same-as-interference (246),
+ treat-the-same-as-interference (247),
+ treat-the-same-as-interference (248),
+ treat-the-same-as-interference (249),
+ treat-the-same-as-interference (250),
+ treat-the-same-as-interference (251),
+ treat-the-same-as-interference (252),
+ treat-the-same-as-interference (253),
+ treat-the-same-as-interference (254),
+ interference (255)
+} (0..255)
+
+-- 6.5.2.122
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 1 0 0 0 (0x18)(152)
+SMS-AccessDeniedReason ::= OCTET STRING
+
+-- 6.5.2.123
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 1 0 0 0 (0x68)(104)
+SMS-Address ::= DigitsType
+
+-- 6.5.2.124
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 1 0 0 1 (0x69)(105)
+SMS-BearerData ::= OCTET STRING
+
+-- 6.5.2.125
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 1 0 0 1 (0x19)(153)
+SMS-CauseCode ::= OCTET STRING
+
+-- 6.5.2.126
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 1 0 1 0 (0x6a)(106)
+SMS-ChargeIndicator ::= OCTET STRING
+
+-- 6.5.2.127
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 1 0 1 1 (0x6b)(107)
+SMS-DestinationAddress ::= DigitsType
+
+-- 6.5.2.128
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 1 1 0 0 (0x6c)(108)
+SMS-MessageCount ::= OCTET STRING
+
+-- 6.5.2.129
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 0 1 1 0 (0x76)(118)
+SMS-MessageWaitingIndicator ::= NULL
+
+-- 6.5.2.130
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 1 1 0 1 (0x6d)(109)
+SMS-NotificationIndicator ::= OCTET STRING
+
+-- 6.5.2.131
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 1 1 1 0 (0x6e)(110)
+SMS-OriginalDestinationAddress ::= DigitsType
+
+-- 6.5.2.132
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 0 1 1 1 1 (0x6f)(111)
+SMS-OriginalDestinationSubaddress ::= Subaddress
+
+-- 6.5.2.133
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 0 0 0 0 (0x70)(112)
+SMS-OriginalOriginatingAddress ::= DigitsType
+
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 0 0 0 1 (0x71)(113)
+-- 6.5.2.134
+SMS-OriginalOriginatingSubaddress ::= Subaddress
+
+-- 6.5.2.135
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 0 0 1 0 (0x72)(114)
+SMS-OriginatingAddress ::= DigitsType
+
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 0 0 1 1 (0x73)(115)
+-- 6.5.2.136
+SMS-OriginationRestrictions ::= OCTET STRING
+
+-- 6.5.2.137
+-- N.S0005-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 0 1 0 0 (0x74)(116)
+SMS-TeleserviceIdentifier ::= OCTET STRING
+-- SMS-TeleserviceIdentifier ::= INTEGER
+
+-- 6.5.2.138
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 0 1 0 1 (0x75)(117)
+SMS-TerminationRestrictions ::= OCTET STRING
+
+-- 6.5.2.139
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 1 0 1 0 (0x1a)(154)
+SPINIPIN ::= DigitsType
+
+-- 6.5.2.140
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 1 0 1 1 (0x1b)(155)
+SPINITriggers ::= OCTET STRING
+
+-- 6.5.2.141
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 0 1 0 0 (0x34) (52)
+SSDNotShared ::= ENUMERATED {
+ not-used ( 0 ),
+ discard-SSD ( 1 ),
+ ...
+ }
+-- 6.5.2.142
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 1 1 0 0 (0x1c)(156)
+SSDUpdateReport ::= OCTET STRING
+
+-- 6.5.2.143
+-- 1 0 0 0 1 1 0 0 (0x8c)(18)
+StationClassMark ::= OCTET STRING
+
+
+-- 6.5.2.144
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 1 0 0 0 (0x38)(56)
+SystemAccessData ::= OCTET STRING
+
+-- 6.5.2.145
+-- 1 0 0 1 1 1 1 1 (0x9f) (0x9c)
+-- 0 0 1 0 0 0 1 0 (0x22)(34)
+SystemAccessType ::= ENUMERATED {
+ not-used (0),
+ unspecified (1),
+ flash-request (2),
+ autonomous-registration (3),
+ call-origination (4),
+ page-response (5),
+ no-access (6),
+ power-down-registration (7),
+ sms-page-response (8),
+ otasp (9),
+ ...
+ }
+
+-- 6.5.2.146
+-- 1 0 0 1 1 1 1 1 (0x9f) (0x9c)
+-- 0 0 1 1 0 0 0 1 (0x31)(49)
+SystemCapabilities ::= OCTET STRING
+
+-- 6.5.2.147
+-- 1 0 0 1 0 1 1 0 (0x96)(22)
+SystemMyTypeCode ::= ENUMERATED {
+ not-used ( 0 ),
+ eDS ( 1 ),
+ astronet ( 2 ),
+ lucent-Technologies ( 3 ),
+ ericsson ( 4 ),
+ gTE ( 5 ),
+ motorola ( 6 ),
+ nEC ( 7 ),
+ nORTEL ( 8 ),
+ novAtel ( 9 ),
+ plexsys ( 10 ),
+ digital-Equipment-Corp ( 11 ),
+ iNET ( 12 ),
+ bellcore ( 13 ),
+ alcatel-SEL ( 14 ),
+ compaq ( 15 ),
+ qUALCOMM ( 16 ),
+ aldiscon ( 17 ),
+ celcore ( 18 ),
+ tELOS ( 19 ),
+ aDI-Limited ( 20 ),
+ coral-Systems ( 21 ),
+ synacom-Technology ( 22 ),
+ dSC ( 23 ),
+ mCI ( 24 ),
+ newNet ( 25 ),
+ sema-Group-Telecoms ( 26 ),
+ lG-Information-and-Communications ( 27 ),
+ cBIS ( 28 ),
+ siemens ( 29 ),
+ samsung-Electronics ( 30 ),
+ readyCom-Inc ( 31 ),
+ aG-Communication-Systems ( 32 ),
+ hughes-Network-Systems ( 33 ),
+ phoenix-Wireless-Group ( 34 )
+ }
+
+
+-- 6.5.2.148
+-- 1 0 0 0 0 0 1 1 (0x83)(0x3)
+TargetCellID ::= OCTET STRING
+
+-- 6.5.2.149
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 1 1 0 1 (0x1d)(157)
+TargetMeasurementInformation ::= SEQUENCE{
+ targetCellID [3] IMPLICIT TargetCellID,
+ -- M 6.5.2.148
+ signalQuality [11] IMPLICIT SignalQuality,
+ -- M 6.5.2.121
+ ...
+ }
+-- 6.5.2.150
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 1 1 1 0 (0x1e)(158)
+TargetMeasurementList ::= SEQUENCE OF [157] IMPLICIT TargetMeasurementInformation
+
+-- 6.5.2.151
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 0 1 1 1 1 1 (0x1f)(31)
+TDMABurstIndicator ::= OCTET STRING
+
+-- 6.5.2.152
+-- 1 0 0 1 1 1 0 1 (0x9d)(29)
+TDMACallMode ::= OCTET STRING
+
+-- 6.5.2.153
+-- 1 0 0 1 1 1 0 0 (0x9c)(28)
+TDMAChannelData ::= OCTET STRING
+
+-- 6.5.2.154
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 0 1 1 1 1 (0x2f)(47)
+TerminalType ::= ENUMERATED {
+ not-used ( 0 ),
+ not-distinguished ( 1 ),
+ iS-54-B ( 2 ),
+ iS-136 ( 3 ),
+ j-STD-011 ( 4 ),
+ iS-136-A-or-TIA-EIA-136-Revision-0 ( 5 ),
+ tIA-EIA-136-A ( 6 ),
+ iA-EIA-136-B ( 7 ),
+ iS-95 ( 32 ),
+ iS-95B ( 33 ),
+ j-STD-008 ( 34 ),
+ tIA-EIA-95-B ( 35 ),
+ iS-2000 ( 36 ),
+ iS-88 ( 64 ),
+ iS-94 ( 65 ),
+ iS-91 ( 66 ),
+ j-STD-014 ( 67 ),
+ tIA-EIA-553-A ( 68 ),
+ iS-91-A ( 69 ),
+ ...
+ }
+
+-- 6.5.2.155
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 0 1 1 1 (0x77)(119)
+TerminationAccessType ::= OCTET STRING
+
+-- 6.5.2.156
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 1 0 0 0 (0x78)(120)
+TerminationList ::= SET OF CHOICE {
+ intersystemTermination [89] IMPLICIT IntersystemTermination,
+ -- O 6.5.2.74 b, c, d
+ localTermination [91] IMPLICIT LocalTermination,
+ -- O 6.5.2.76 b, c, e
+ pstnTermination [95] IMPLICIT PSTNTermination,
+ -- O 6.5.2.98 b, c, f
+ ...
+ }
+
+-- 6.5.2.157
+-- 1 0 0 1 1 0 0 0 (0x98)(24)
+TerminationRestrictionCode ::= ENUMERATED {
+ not-used ( 0 ),
+ termination-denied ( 1 ),
+ unrestricted ( 2 ),
+ the-treatment-for-this-value-is-not-specified ( 3 ),
+ ...
+ }
+
+-- 6.5.2.158
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 1 0 0 1 (0x79)(121)
+TerminationTreatment ::= OCTET STRING
+
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 1 0 1 0 (0x7a)(122)
+-- 6.5.2.159
+TerminationTriggers ::= OCTET STRING
+
+-- 6.5.2.160
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 1 0 1 1 (0x9b)(123)
+TransactionCapability ::= OCTET STRING
+
+-- 6.5.2.161
+-- 1 0 0 1 0 0 0 0 (0x90)(16)
+TrunkStatus ::= ENUMERATED {
+ idle ( 0 ),
+ blocked ( 1 ),
+ ...
+ }
+
+-- 6.5.2.162
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 1 1 1 1 1 0 0 (0x7c)(124)
+UniqueChallengeReport ::= OCTET STRING
+
+-- 6.5.2.163
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 0 0 1 1 (0x33) (51)
+UpdateCount ::= ENUMERATED {
+ not-used ( 0 ),
+ update-COUNT ( 1 ),
+ ...
+ }
+
+-- 6.5.2.164
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 0 0 0 0 (0x20)(160)
+VoiceMailboxNumber ::= DigitsType
+
+-- 6.5.2.165
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 0 1 1 1 1 1 (0x1f)(159)
+VoiceMailboxPIN ::= DigitsType
+
+
+-- 6.5.2.166
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 0 0 1 1 0 0 0 0 (0x30)(48)
+VoicePrivacyMask ::= OCTET STRING
+
+
+-- 6.5.2.a N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 1 0 1 0 (0x2a)(170)
+-- a. See CDMA [TSB76] for the definition of this parameter.
+CDMABandClass ::= OCTET STRING
+
+-- 6.5.2.b N.S0010-0 v 1.0 N.S0006
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 1 0 1 1 (0x2b)(171)
+CDMABandClassInformation ::= SEQUENCE{
+ cdmaBandClass [170] IMPLICIT CDMABandClass,
+ -- M 6.5.2.a a
+ cdmaMobileProtocolRevision [66] IMPLICIT CDMAMobileProtocolRevision OPTIONAL,
+ -- O 6.5.2.34 b
+ cdmaStationClassMark2 [177] IMPLICIT CDMAStationClassMark2 OPTIONAL,
+ -- O 6.5.2.h b
+ ...
+}
+
+-- 6.5.2.c N.S0010-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 1 1 0 0 (0x2c)(172)
+CDMABandClassList ::= SEQUENCE OF [171] IMPLICIT CDMABandClassInformation
+
+-- 6.5.2.d N.S0010-0 v 1.0 N.S0006
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 1 1 0 1 (0x2d)(173)
+CDMAPilotPN ::= OCTET STRING
+
+-- 6.5.2.e (TSB76) N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 1 1 1 0 (0x2e)(174)
+CDMAServiceConfigurationRecord ::= OCTET STRING
+-- a. This field carries the CDMA Service Configuration Record. The bit-layout is the
+-- same as that of Service Configuration Record in TSB74, and J-STD-008.
+
+-- 6.5.2.f (TSB76) CDMAServiceOption N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 0 1 1 1 1 (0x2f)(175)
+CDMAServiceOption ::= OCTET STRING
+--a. This field carries the CDMA Service Option. The bit-layout is the same as that of
+-- Service Option in TSB74 and J-STD-008.
+
+-- 6.5.2.g N.S0010-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0xbf)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 0 0 0 0 (0x30)(176)
+CDMAServiceOptionList ::= SEQUENCE OF [175] IMPLICIT CDMAServiceOption
+
+-- 6.5.2.h N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 0 0 0 1 (0x31)(177)
+CDMAStationClassMark2 ::= OCTET STRING
+
+
+-- 6 .5.2.i N.S0007-0 v 1.0 N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 0 0 1 0 (0x32)(178)
+TDMAServiceCode ::= OCTET STRING
+
+
+-- 6.5.2.j N.S0007-0 v 1.0 N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 0 0 1 1 (0x33)(179)
+TDMATerminalCapability ::= OCTET STRING
+
+-- 6.5.2.k N.S0007-0 v 1.0 N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 0 1 0 0 (0x34)(180)
+-- last TSB76 assigned identifier)
+TDMAVoiceCoder ::= OCTET STRING
+
+
+
+-- 6.5.2.aa (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 0 1 0 1 (0x45)(197)
+BaseStationManufacturerCode ::= OCTET STRING
+
+-- 6.5.2.ab (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 0 1 1 0 (0x46)(198)
+BSMCStatus ::= OCTET STRING
+
+-- 6.5.2.ac (N.S0007-0 v 1.0) N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 0 1 1 1 (0x49)(199)
+ControlChannelMode ::= OCTET STRING
+
+-- 6 .5.2.ad (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 1 0 0 0 (0x48)(200)
+NonPublicData ::= OCTET STRING
+
+
+-- 6.5.2.ae (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 1 0 0 1 (0x49)(201)
+PagingFrameClass ::= OCTET STRING
+
+
+-- 6.5.2.af (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 1 0 1 0 (0x4a)(202)
+PSID-RSIDInformation ::= OCTET STRING
+
+-- 6.5.2.ag (N.S0007-0 v 1.0)
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 1 0 1 1 (0x4b)(203)
+
+PSID-RSIDList ::= SEQUENCE{
+ pSID-RSIDInformation [202] IMPLICIT PSID-RSIDInformation,
+ -- M 6.5.2.af
+ pSID-RSIDInformation1 [202] IMPLICIT PSID-RSIDInformation OPTIONAL
+ --O 6.5.2.af a
+ }
+
+-- 6.5.2.ah (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 1 1 0 0 (0x4c)(204)
+ServicesResult ::= OCTET STRING
+
+-- 6.5.2.ai (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 1 1 0 1 (0x4d)(205)
+SOCStatus ::= OCTET STRING
+
+-- 6.5.2.aj (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 1 1 1 0 (0x4e)(206)
+SystemOperatorCode ::= OCTET STRING
+
+
+-- 6.5.2.aj
+-- XXX Same code as ISLPinformation???
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 1 0 0 1 (0x59)()
+-- SecondInterMSCCircuitID N.S0008-0 v 1.0
+
+-- 6.5.2.ak (N.S0007-0 v 1.0)
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 1 1 1 1 (0x4f)(207)
+TargetCellIDList ::= SEQUENCE {
+ targetCellID [3] IMPLICIT TargetCellID,
+ -- M 6.5.2.148
+ targetCellID1 [3] IMPLICIT TargetCellID OPTIONAL
+ -- O 6.5.2.148
+ }
+
+
+-- 6.5.2.al (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 0 0 0 0 (0x50)(208)
+UserGroup ::= OCTET STRING
+
+
+-- 6.5.2.am (N.S0007-0 v 1.0)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 0 0 0 1 (0x51)(209)
+UserZoneData ::= OCTET STRING
+
+-- 6.5.2.ap (IS-737)
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 0 0 1 1 (0x53)(211)
+CDMAConnectionReferenceInformation ::= SEQUENCE {
+ cdmaConnectionReference [208] IMPLICIT CDMAConnectionReference,
+ -- M 6.5.2.bb d
+ cdmaServiceOption [175] IMPLICIT CDMAServiceOption,
+ -- M 6.5.2.f
+ cdmaState [213] IMPLICIT CDMAState OPTIONAL,
+ -- O 6.5.2.ad a
+ dataPrivacyParameters [216] IMPLICIT DataPrivacyParameters OPTIONAL,
+ -- O 6.5.2.au b
+ cdmaServiceOptionConnectionIdentifier [361] IMPLICIT CDMAServiceOptionConnectionIdentifier OPTIONAL,
+ --O 6.5.2.gr e
+ ...
+ }
+
+-- 6.5.2.ad (IS-737)
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 0 1 0 0 (0x54)(212)
+CDMAConnectionReferenceList ::= SEQUENCE OF SEQUENCE {
+ cdmaConnectionReferenceInformation [211] IMPLICIT CDMAConnectionReferenceInformation,
+ -- M 6.5.2.ap
+ cdmaConnectionReferenceInformation2 [211] IMPLICIT CDMAConnectionReferenceInformation OPTIONAL,
+ -- O 6.5.2.ap a
+ ...
+ }
+
+--6.5.2.ar
+-- 6.5.2.ad CDMAState N.S0008-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 0 1 0 1 (0x55)(213)
+CDMAState ::= OCTET STRING
+
+-- 6.5.2.as N.S0008-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 0 1 1 0 (0x56)(214)
+ChangeServiceAttributes ::= OCTET STRING
+
+-- 6.5.2.at
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 0 1 1 1 (0x57)(215)
+DataKey ::= OCTET STRING
+
+-- 6.5.2.au
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 1 0 0 0 (0x58)(216)
+DataPrivacyParameters ::= OCTET STRING
+
+
+-- 6.5.2.av
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 1 0 0 1 (0x59)(217)
+ISLPInformation ::= OCTET STRING
+
+-- 6.5.2.aw ReasonList N.S0008-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 1 0 1 0 (0x5a)(218)
+ReasonList ::= ENUMERATED {
+ unknown (0),
+ unable-to-configure-ISLP (1),
+ iSLP-failure (2),
+ service-allowed-but-facilities-not-available (3),
+ service-not-allowed (4),
+ no-Response-to-TMSI-assignment (5),
+ required-parameters-unavailable (6)
+ }
+
+-- 6.5.2.ay N.S0008-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 1 1 0 0 (0x5c)(220)
+TDMABandwidth ::= OCTET STRING
+
+
+-- 6.5.2.az N.S0008-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 1 1 0 1 (0x5d)(221)
+TDMADataFeaturesIndicator ::= OCTET STRING
+
+-- 6.5.2.ba
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 1 1 1 0 (0x5e)(222)
+TDMADataMode ::= OCTET STRING
+
+-- 6.5.2.bb
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 1 1 1 1 (0x5f)(223)
+TDMAVoiceMode ::= OCTET STRING
+
+-- 6.5.2.bb
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 1 0 0 1 0 (0x52)(208)
+CDMAConnectionReference ::= OCTET STRING
+-- a. This field carries the CDMA Service Option Connection Reference. The bitlayout
+-- is the same as that of Service Option Connection Reference in TSB74 and
+-- J-STD-008.
+
+-- 6.5.2.bc N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 0 0 0 0 (0x60)(224)
+AnalogRedirectInfo ::= OCTET STRING
+
+-- 6.5.2.bd N.S0010-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 0 0 0 1 (0x61)(225)
+AnalogRedirectRecord ::= SEQUENCE {
+ analogRedirectInfo [224] IMPLICIT AnalogRedirectInfo,
+ -- M 6.5.2.bc
+ mscid [21] IMPLICIT MSCID,
+ -- M 6.5.2.82
+ ...
+ }
+
+-- 6.5.2.be N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 0 0 1 0 (0x62)(226)
+CDMAChannelNumber ::= OCTET STRING
+
+-- 6.5.2.bf N.S0010-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 0 0 1 1 (0x63)(227)
+CDMAChannelNumberList ::= SEQUENCE OF SEQUENCE{
+ cdmaChannelNumber [226] IMPLICIT CDMAChannelNumber,
+ -- M 6.5.2.be
+ cdmaChannelNumber2 [226] IMPLICIT CDMAChannelNumber,
+ -- O 6.5.2.be a
+ ...
+ }
+
+-- 6.5.2.bg N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 0 1 0 0 (0x64)(228)
+CDMAPowerCombinedIndicator ::= OCTET STRING
+
+-- 6.5.2.bh N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 0 1 0 1 (0x65)(229)
+CDMARedirectRecord ::= SEQUENCE {
+ cdmaBandClass [170] IMPLICIT CDMABandClass,
+ -- M 6.5.2.a a
+ cdmaChannelNumberList [227] IMPLICIT CDMAChannelNumberList,
+ -- M 6.5.2.bf
+ mscid [21] IMPLICIT MSCID,
+ -- M 6.5.2.82
+ cdmaNetworkIdentification [232] IMPLICIT CDMANetworkIdentification,
+ -- M 6.5.2.bk
+ ...
+ }
+
+-- 6.5.2.bi N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 0 1 1 0 (0x66)(230)
+CDMASearchParameters ::= OCTET STRING
+
+-- 6.5.2.bj N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 0 1 1 1 (0x67)(231)
+-- Reserved
+
+-- 6.5.2.bk N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 1 0 0 0 (0x68)(232)
+CDMANetworkIdentification ::= OCTET STRING
+
+-- 6.5.2.bl N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 1 0 0 1 (0x69)(233)
+-- XXX Is this correct? see (N.S0005-0 v 1.0 Chapter 5, page 219)
+-- Changed from DigitsType to Octetstring J-STD-036-AD-1
+NetworkTMSI ::= OCTET STRING
+
+-- 6.5.2.bm N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 1 0 1 0 (0x6a)(234)
+NetworkTMSIExpirationTime ::= OCTET STRING
+
+-- 6.5.2.bn N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 1 0 1 1 (0x6b)(235)
+NewNetworkTMSI ::= DigitsType
+
+-- 6.5.2.bo N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 1 1 0 0 (0x6c)(236)
+RequiredParametersMask ::= OCTET STRING
+
+-- 6.5.2.bp N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 1 1 0 1 (0x6d)(237)
+ServiceRedirectionCause ::= OCTET STRING
+
+-- 6.5.2.bq N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 1 1 1 0 (0x6e)(238)
+ServiceRedirectionInfo ::= OCTET STRING
+
+-- 6.5.2.br N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 0 1 1 1 1 (0x6f)(239)
+RoamingIndication ::= OCTET STRING
+
+-- 6.5.2.bs
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 0 0 0 0 (0x6f)(239)
+EmergencyServicesRoutingDigits ::= DigitsType
+
+-- 6.5.2.bu
+-- N.S0010-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 0 0 0 0 (0x70)(240)
+-- MSID
+
+
+-- 6.5.2.bv MSID
+
+MSID ::= CHOICE {
+ mobileIdentificationNumber [8] IMPLICIT MobileIdentificationNumber,
+ imsi [242] IMPLICIT IMSI
+ }
+
+-- 6.5.2.bu (IS-751)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 0 0 1 0 (0x72)(242)
+-- Import from GSM MAP for convenience
+-- IMSI ::= OCTET STRING
+
+-- 6.5.2.bw N.S0012-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 0 0 1 1 (0x73)(243)
+CallingPartyName ::= OCTET STRING
+
+
+-- 6.5.2.bx N.S0012-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 0 1 0 0 (0x74)(244)
+DisplayText ::= OCTET STRING
+
+-- 6.5.2.by N.S0012-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 0 1 0 1 (0x75)(245)
+RedirectingPartyName ::= OCTET STRING
+
+-- 6.5.2.bz N.S0012-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 0 1 1 0 (0x76)(246)
+ServiceID ::= OCTET STRING
+
+--6.5.2.ca
+-- Ref N.S0013-0_v1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 0 1 1 1 (0x77) (247)
+AllOrNone ::= ENUMERATED{
+ notUsed ( 0 ),
+ allChangesMustSucceedOrNoneShouldBeApplied (1),
+ treatEachChangeIndependently (2)
+ }
+
+-- 6.5.2.cb N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 1 0 0 0 (0x78)(248)
+Change ::= ENUMERATED {
+ setDataItemToDefaultValue (1),
+ addDataItem (2),
+ deleteDataItem (3),
+ replaceDataItemWithAssociatedDataValue (4),
+...}
+
+-- 6.5.2.cc N.S0013-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0xbf)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 1 0 0 1 (0x79)(249)
+DataAccessElement ::= SEQUENCE {
+ dataID [251] IMPLICIT DataID,
+-- M 6.5.2.ce
+ change [248] IMPLICIT Change OPTIONAL,
+-- O 6.5.2.cb a
+ dataValue [256]IMPLICIT DataValue OPTIONAL,
+-- O 6.5.2.cj a
+ ...}
+
+-- 6.5.2.cd N.S0013-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 1 0 1 0 (0x7a) (250)
+DataAccessElementList ::= SEQUENCE OF SEQUENCE{
+ dataAccessElement1 [249] IMPLICIT DataAccessElement,
+ dataAccessElement2 [249] IMPLICIT DataAccessElement OPTIONAL
+}
+
+-- 6.5.2.ce N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 1 0 1 1 (0x7b)(251)
+DataID ::= OCTET STRING
+
+-- 6.5.2.cf N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 1 1 0 0 (0x7c)(252)
+DatabaseKey ::= OCTET STRING
+
+-- 6.5.2.cg N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 1 1 0 1 (0x7d)(253)
+DataResult ::= ENUMERATED {
+ not-used ( 0 ),
+ successful ( 1 ),
+ unsuccessful-unspecified ( 2 ),
+ unsuccessful-no-default-value-available ( 3 ),
+ reserved ( 4 ) }
+
+
+-- 6.5.2.ch N.S0013-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0xbf)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 1 1 1 0 (0x7e)(254)
+DataUpdateResult ::= SEQUENCE {
+ dataID [251] IMPLICIT DataID,
+-- M 6.5.2.ce
+ dataResult [253] IMPLICIT DataResult
+-- M 6.5.2.cg
+}
+
+-- 6.5.2.ci N.S0013-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 1 1 1 1 1 1 (0x7f)(255)
+DataUpdateResultList ::= SEQUENCE OF DataUpdateResult
+--DataUpdateResultList ::= SEQUENCE OF SEQUENCE{
+-- dataUpdateResult [254] IMPLICIT DataUpdateResult,
+ -- M 6.5.2.ch
+-- dataUpdateResultopt [254] IMPLICIT DataUpdateResult OPTIONAL
+ -- O 6.5.2.ch
+--}
+
+-- 6.5.2.cj N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 0 0 0 0 (0x00)(256)
+DataValue ::= OCTET STRING
+
+
+-- 6.5.2.ck DestinationAddress N.S0013-0 v 1.0
+DestinationAddress ::= CHOICE {
+ globalTitle [261] IMPLICIT GlobalTitle,
+ pC-SSN [32] IMPLICIT PC-SSN
+ }
+
+DetectionPointType ::= ENUMERATED {
+ tDP-R (1),
+ tDP-N (2),
+ eDP-R (3),
+ eDP-N (4)
+}
+
+-- 6.5.2.cl N.S0013-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 0 0 1 0 (0x02)(386)
+ExecuteScript ::= SEQUENCE {
+ scriptName [268] IMPLICIT ScriptName,
+-- M 6.5.2.cw a
+ scriptArgument [267] IMPLICIT ScriptArgument OPTIONAL
+-- O 6.5.2.cv b
+}
+
+-- 6.5.2.cm N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 0 0 1 1 (0x03)(387)
+FailureCause ::= OCTET STRING
+--encoding of this parameter is based on the encoding of
+--the information elements in T1.113.3 section 2.3.9.
+
+-- 6.5.2.cn N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 0 1 0 0 (0x04)(260)
+
+FailureType ::= ENUMERATED {
+ callAbandoned (1),
+ resourceDisconnect (2),
+ failureAtMSC (3),
+ sSFTExpiration (4)
+}
+
+
+-- 6.5.2.co N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 0 1 0 1 (0x05)(261)
+GlobalTitle ::= OCTET STRING
+--parameter carries the SCCP Global Title as defined in
+--Section 3 of ANSI T1.112.
+
+-- 6.5.2.cp N.S0013-0 v 1.0
+-- ModificationRequest
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 0 1 1 0 (0x06)(262)
+
+ModificationRequest ::= SEQUENCE {
+ serviceDataAccessElementList [271] IMPLICIT ServiceDataAccessElementList OPTIONAL,
+ allOrNone [247] IMPLICIT AllOrNone
+ }
+
+-- 6.5.2.cq N.S0013-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 0 1 1 1 (0x07)(263)
+ModificationRequestList ::= SEQUENCE OF [262] IMPLICIT ModificationRequest
+
+-- 6.5.2.cr ModificationResult N.S0013-0 v 1.0
+-- The ModificationResult CHOICE is not explicitly encoded with a parameter identifier and length
+ModificationResult ::= CHOICE
+ {dataResult [253] IMPLICIT DataResult,
+ serviceDataResultList [273] IMPLICIT ServiceDataResultList
+ }
+
+-- 6.5.2.cs N.S0013-0 v 1.0
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 1 0 0 0 (0x08)(264)
+ModificationResultList ::= SEQUENCE OF ModificationResult
+
+
+-- 6.5.2.ct N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 1 0 0 1 (0x09)(265)
+PrivateSpecializedResource ::= OCTET STRING
+--values are allocated by network operators for use
+--within their networks
+
+-- 6.5.2.cu N.S0013-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 1 0 1 0 (0x0a)(266)
+ResumePIC ::= ENUMERATED {
+ continue-Call-Processing (1),
+ collect-Information-PIC (2),
+ analyze-Information-PIC (3),
+ select-Route-PIC (4),
+ authorize-Origination-Attempt-PIC (5),
+ authorize-Call-Setup-PIC (6),
+ send-Call-PIC (7),
+ o-Alerting-PIC (8),
+ o-Active-PIC (9),
+ o-Suspended-PIC (10),
+ o-Null-PIC (11),
+ select-Facility-PIC (32),
+ present-Call-PIC (33),
+ authorize-Termination-Attempt-PIC (34),
+ t-Alerting-PIC (35),
+ t-Active-PIC (36),
+ t-Suspended-PIC (37),
+ t-Null-PIC (38)
+}
+
+-- 6.5.2.cv
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 1 0 1 1 (0x0b)(267)
+ScriptArgument ::= OCTET STRING
+
+-- 6.5.2.cw
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 1 1 0 0 (0x0c)(268)
+ScriptName ::= OCTET STRING
+
+-- 6.5.2.cx
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 1 1 0 1 (0x0d)(269)
+ScriptResult ::= OCTET STRING
+
+-- 6.5.2.cy
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 1 1 1 0 (0x0e) (270)
+ServiceDataAccessElement ::= SEQUENCE {
+ dataAccessElementList [250] IMPLICIT DataAccessElementList,
+ serviceID [246] IMPLICIT ServiceID OPTIONAL
+ }
+
+-- 6.5.2.cz
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 0 1 1 1 1 (0x0f)(271)
+ServiceDataAccessElementList ::= SEQUENCE OF [270] IMPLICIT ServiceDataAccessElement
+
+-- 6.5.2.da
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 0 0 0 0 (0x10)(272)
+ServiceDataResult ::= SEQUENCE {
+ dataUpdateResultList [255] IMPLICIT DataUpdateResultList,
+ serviceID [246] IMPLICIT ServiceID OPTIONAL
+ }
+
+-- 6.5.2.db
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 0 0 0 1 (0x11)(273)
+ServiceDataResultList ::= SEQUENCE OF [272] IMPLICIT ServiceDataResult
+
+-- 6.5.2.dc
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 0 0 1 0 (0x12)(274)
+SpecializedResource ::= OCTET STRING
+
+--SRFCapability ::= SET {
+-- specializedResource [274] IMPLICIT SpecializedResource OPTIONAL,
+-- privateSpecializedResource [265] IMPLICIT PrivateSpecializedResource OPTIONAL
+-- }
+--at least one must be present
+
+-- 6.5.2.dd
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 0 0 1 1 (0x13)(275)
+TimeDateOffset ::= OCTET STRING
+
+-- 6.5.2.de
+-- 1 0 1 1 1 1 1 1 (0xbf)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 0 1 0 0 (0x14)(276)
+TriggerAddressList ::= SET{
+ triggerList [278] IMPLICIT TriggerList,
+-- M 6.5.2.dg
+ triggerListOpt [278] IMPLICIT TriggerList OPTIONAL
+-- O 6.5.2.dg a
+}
+
+-- 6.5.2.df TIA/EIA/IS-848 N.S0004
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 0 1 0 1 (0x15)(277)
+TriggerCapability ::= OCTET STRING
+--see 6.5.2.gg for encoding
+
+-- 6.5.2.dg
+-- 1 0 1 1 1 1 1 1 (0xbf) (0xbf)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 0 1 1 0 (0x16)(278)
+-- 6.5.2.ck DestinationAddress N.S0013-0 v 1.0
+--DestinationAddress ::= CHOICE {
+-- globalTitle [261] IMPLICIT GlobalTitle,
+-- pC-SSN [32] IMPLICIT PC-SSN
+-- }
+
+TriggerList ::= SET{
+ destinationAddress DestinationAddress,
+ wIN-TriggerList [283] IMPLICIT WIN-TriggerList
+ -- M 6.5.2.dk
+}
+
+-- 6.5.2.dh
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 0 1 1 1 (0x17)(279)
+
+TriggerType ::= ENUMERATED {
+ all-Calls (1),
+ double-Introducing-Star (2),
+ single-Introducing-Star (3),
+ reserved-for-Home-System-Feature-Code (4),
+ double-Introducing-Pound (5),
+ single-Introducing-Pound (6),
+ revertive-Call (7),
+ a0-Digit (8),
+ a1-Digit (9),
+ a2-Digit (10),
+ a3-Digit (11),
+ a4-Digit (12),
+ a5-Digit (13),
+ a6-Digit (14),
+ a7-Digit (15),
+ a8-Digit (16),
+ a9-Digit (17),
+ a10-Digit (18),
+ a11-Digit (19),
+ a12-Digit (20),
+ a13-Digit (21),
+ a14-Digit (22),
+ a15-Digit (23),
+ local-Call (24),
+ intra-LATA-Toll-Call (25),
+ inter-LATA-Toll-Call (26),
+ world-Zone-Call (27),
+ international-Call (28),
+ unrecognized-Number (29),
+ prior-Agreement (30),
+ specific-Called-Party-Digit-String (31),
+ mobile-Termination (32),
+ advanced-Termination (33),
+ location (34),
+ locally-Allowed-Specific-Digit-String (35),
+ origination-Attempt-Authorized (36),
+ calling-Routing-Address-Available (37),
+ initial-Termination (38),
+ called-Routing-Address-Available (39),
+ o-Answer (40),
+ o-Disconnect (41),
+ o-Called-Party-Busy (42),
+ o-No-Answer (43),
+
+ terminating-Resource-Available (64),
+ t-Busy (65),
+ t-No-Answer (66),
+ t-No-Page-Response (67),
+ t-Routable (68),
+ t-Answer (69),
+ t-Disconnect (70),
+
+ reserved-for-TDP-R-DP-Type-value (220),
+ reserved-for-TDP-N-DP-Type-value (221),
+ reserved-for-EDP-R-DP-Type-value (222),
+ reserved-for-EDP-N-DP-Type-value (223),
+ ...
+ }
+-- 1 0 1 1 1 1 1 1 (0x9f) (0xbf)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 1 0 0 0 (0x18)(280)
+-- 6.5.2.di
+WINCapability ::= SET {
+ triggerCapability [277] IMPLICIT TriggerCapability OPTIONAL,
+-- O 6.5.2.df a
+ wINOperationsCapability [281] IMPLICIT WINOperationsCapability OPTIONAL
+-- O 6.5.2.dj a
+}
+
+-- 6.5.2.dj
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 1 0 0 1 (0x19)(281)
+WINOperationsCapability ::= OCTET STRING
+--see 6.5.2.kk for encoding
+
+--WIN-Trigger ::= SEQUENCE {
+-- triggerType [279] IMPLICIT TriggerType OPTIONAL,
+-- detectionPointType DetectionPointType
+-- }
+
+--6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 1 0 1 1 (0x1b)(283)
+-- WIN-TriggerList ::= SET OF WIN-Trigger
+WIN-TriggerList ::= OCTET STRING
+
+-- 6.5.2.do
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 1 1 0 1 (0x1d)(285)
+
+SuspiciousAccess ::= ENUMERATED {
+ not-used (0),
+ anomalous-Digits (1),
+ unspecified (2),
+ ...
+ }
+-- 6.5.2.dp 1e 286
+-- 6.5.2.dq 1f 287
+-- 6.5.2.dr 20 288
+-- 6.5.2.ds 21 289
+-- (ANSI-41 6.5.2.dt) 2.2.2.25 J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 0 0 0 1 0 (0x22)(290)
+Teleservice-Priority ::= OCTET STRING
+
+-- 6.5.2.eb
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 0 1 0 1 0 1 0
+-- [298)
+--CommandCode
+--(IS-764 modification)
+
+-- 6.5.2.ec
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 0 1 0 1 0 1 1
+-- (299)
+DisplayText2 ::= OCTET STRING
+
+
+
+-- 6.5.2.ed
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 0 1 0 1 1 0 0
+-- (300)
+-- PageCount
+
+PageCount ::= OCTET STRING
+
+-- 6.5.2.ee
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 0 1 0 1 1 0 1
+-- (301)
+-- PageResponseTime
+PageResponseTime ::= OCTET STRING
+
+-- 2.258 X.S0004-550-E v2.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 0 1 1 1 0 (0x2e)(302)
+SMS-TransactionID ::= OCTET STRING
+
+-- 6.5.2.eg
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 0 1 1 1 1 (0x2f)(303)
+CallRecoveryID ::= SET{
+ billingID [1] IMPLICIT BillingID ,
+ timeDateOffset [275] IMPLICIT TimeDateOffset,
+ timeOfDay [309] IMPLICIT TimeOfDay,
+ ...}
+
+-- 6.5.2.eh
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 0 0 0 0 (0x30)(304)
+CallRecoveryIDList ::= SET OF [303] IMPLICIT CallRecoveryID
+
+-- callRecoveryID [303] IMPLICIT CallRecoveryID,
+-- callRecoveryIDopt [303] IMPLICIT CallRecoveryID OPTIONAL,
+-- }
+
+-- 6.5.2.ei TIA/EIA-41.5-D Modifications N.S0018Re ??
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 0 0 0 1 (0x31)(305)
+DMH-ServiceID ::= OCTET STRING
+
+-- 6.5.2.ej
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 0 0 1 0 (0x32)(306)
+FeatureIndicator ::= ENUMERATED {
+ not-used (0),
+ user-selective-call-forwarding (38),
+ ...
+ }
+-- See the DMH FeatureIndicator parameter for the values of this field.
+-- Dummy define here
+
+-- 6.5.2.ek
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 0 0 1 1 (0x33)(307)
+ControlNetworkID ::= OCTET STRING
+
+-- 6.5.2.el
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 0 1 0 0 (0x34)(308)
+ReleaseCause ::= ENUMERATED {
+ unspecified (0),
+ calling-Party (1),
+ called-Party (2),
+ commanded-Disconnect (3),
+ ...
+ }
+
+-- 6.5.2.em
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 0 1 0 1 (0x35) (309)
+TimeOfDay ::= INTEGER
+
+-- 6.5.2.en
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 0 1 1 0 (0x36) (310)
+CallStatus ::= ENUMERATED {
+ not-used (0),
+ call-Setup-in-Progress (1),
+ called-Party (2),
+ locally-Allowed-Call-No-Action (3),
+ ...
+ }
+
+-- 6.5.2.eo
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 0 1 1 1 (0x37)(311)
+DMH-ChargeInformation ::= OCTET STRING
+
+
+-- 6.5.2.ep
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 1 0 0 0 (0x38)(312)
+DMH-BillingIndicator ::= ENUMERATED {
+ unspecified (0)
+ }
+-- b. See the DMH BillingIndicator parameter for the values of this field. (?? Huh?)
+
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 1 0 0 1 (0x39)(313)
+-- 6.5.2.eq
+MSStatus ::= OCTET STRING
+
+-- 6.5.2.er
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 1 0 1 1 (0x3b)(315)
+PositionInformationCode::= OCTET STRING
+
+-- 2.38 http://www.3gpp2.org/Public_html/specs/X.S0004-550-E_v1.0_040406.pdf
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 1 1 1 1 0 0 (0x3c)(316)
+CaveKey ::= OCTET STRING
+
+-- 2.41 http://www.3gpp2.org/Public_html/specs/X.S0004-550-E_v1.0_040406.pdf
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 0 0 0 1 (0x41)(321)
+CDMA2000MobileSupportedCapabilities ::= OCTET STRING
+
+-- 2.114 http://www.3gpp2.org/Public_html/specs/X.S0004-550-E_v1.0_040406.pdf
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 0 1 0 1 (0x45)(325)
+EnhancedPrivacyEncryptionReport ::= OCTET STRING
+
+-- 6.5.2.fd
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 0 1 1 0 (0x46)(326)
+InterMessageTime ::= OCTET STRING
+
+-- 6.5.2.fe
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 0 1 1 1 (0x47)(327)
+-- (3xx)
+MSIDUsage ::= OCTET STRING
+
+-- 6.5.2.ff
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 1 0 0 0 (0x48)(328)
+-- (3xx)
+NewMINExtension ::= MINType
+
+-- (ANSI-41 6.5.2.fg) 2.2.2.7 J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 1 0 0 1 (0x49)(329)
+DTXIndication ::= OCTET STRING
+
+-- (ANSI-4a1 6.5.2.fh) 2.2.2.5 J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 1 0 1 0 (0x4a)(330)
+CDMAMobileCapabilities ::= OCTET STRING
+-- H G F E D C B A octet Notes
+-- Reserved MIPLI 1 a ( Bit A)
+--
+-- 0 No MS-initiated position determination.
+-- 1 MS-initiated position determination.
+
+-- (ANSI-41 6.5.2.fi) 2.2.2.8 J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 1 0 1 1 (0x4b)(331)
+-- GeneralizedTime
+-- Generalized Time is included by reference to Chapter 7. The definition from
+-- X.680 that is referenced from Chapter 7 should be used, and not the definition
+-- from TIA/EIA-41-D.
+
+-- (ANSI-41 6.5.2.fj) 2.2.2.9 J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 1 1 0 0 (0x4c)(332)
+-- GenericDigits
+
+-- (ANSI-41 6.5.2.fk) 2.2.2.10 J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 1 1 0 1 (0x4d)(333)
+GeographicPosition ::= OCTET STRING
+
+-- 2.2.2.11 (ANSI-41 6.5.2.fl) J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 1 1 1 0 (0x4e)(334)
+-- MobileCallStatus ::= OCTET STRING
+
+-- 2.2.2.12 (ANSI-41 6.5.2.fm) J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 0 1 1 1 1 (0x4f)(335)
+MobilePositionCapability ::= OCTET STRING
+
+-- 2.3.2.14 MobInfo_AMPS
+-- The MobInfo_AMPS (AMPS Analog Mobile Information) is a collection of information
+-- needed to determine the position of an MS that is currently operating in the AMPS analog mode.
+-- The MobInfo_AMPS macro has been defined solely for editorial convenience, and does not
+-- affect the encoding in any way.
+
+-- channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.47
+-- dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+-- receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+
+-- 2.3.2.15 MobInfo_CDMA
+-- 6.5.2.fo MobInfo_CDMA
+-- MobInfo_CDMA Macro
+-- cdmaChannelData [63] IMPLICIT CDMAChannelData OPTIONAL,
+ -- (Serving) O 6.5.2.30 c
+-- cdmaCodeChannel [68] IMPLICIT CDMACodeChannel OPTIONAL,
+ -- O 6.5.2.31 a
+-- cdmaMobileCapabilities [330] IMPLICIT CDMAMobileCapabilities OPTIONAL,
+ -- O 6.5.2.xx a
+-- cdmaPrivateLongCodeMask [67] IMPLICIT CDMAPrivateLongCodeMask OPTIONAL,
+ -- O 6.5.2.36 a
+-- cdmaServingOneWayDelay2 [347] IMPLICIT CDMAServingOneWayDelay2 OPTIONAL,
+ -- O 6.5.2.gd a
+-- cdmaServiceOption [175] IMPLICIT CDMAServiceOption OPTIONAL,
+ -- O 6.5.2.f m
+-- cdmaTargetMAHOList [136] IMPLICIT CDMATargetMAHOList OPTIONAL,
+ -- O 6.5.2.43 g
+-- cdmaPSMMList [346] IMPLICIT CDMAPSMMList OPTIONAL,
+ -- O 6.5.2.gc a
+
+-- 2.3.2.16 MobInfo_NAMPS TIA/EIA/J-STD-036-A
+-- channelData [5] IMPLICIT ChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.47
+-- nampsChannelData [76] IMPLICIT NAMPSChannelData OPTIONAL,
+ -- (Serving) M 6.5.2.86
+-- dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+-- receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+
+-- 2.3.2.17 MobInfo_TDMA
+-- (new for ANSI-41-D Chapter 5, page 5-306)
+-- The MobInfo_TDMA (TDMA Mobile Information) is a collection of information needed to
+-- determine the position of an MS that is currently operating in the TDMA mode. The
+-- MobInfo_TDMA macro has been defined solely for editorial convenience, and does not affect
+-- the encoding in any way.
+-- tdmaChannelData [28] IMPLICIT TDMAChannelData,
+ -- M 6.5.2.153
+-- dtxIndication [329] IMPLICIT DTXIndication OPTIONAL,
+ -- O 6.5.2.fg a
+-- receivedSignalQuality [72] IMPLICIT ReceivedSignalQuality OPTIONAL,
+ -- O 6.5.2.106 a
+-- targetMeasurementList [157] IMPLICIT TargetMeasurementList OPTIONAL,
+ -- O 6.5.2.150 a
+-- tdma-MAHO-CELLID [359] IMPLICIT TDMA-MAHO-CELLID OPTIONAL,
+ -- O 2.3.2.26 b
+-- tdma-MAHO-CHANNEL [360] IMPLICIT TDMA-MAHO-CHANNEL OPTIONAL,
+ -- O 2.3.2.27 c
+-- tdma-TimeAlignment [362] IMPLICIT TDMA-TimeAlignment OPTIONAL,
+ -- O 2.3.2.29 d
+-- tdmaVoiceMode [223] IMPLICIT TDMAVoiceMode OPTIONAL,
+ -- O ANSI-41-E a
+-- voicePrivacyMask [48] IMPLICIT VoicePrivacyMask OPTIONAL,
+ -- O 6.5.2.166 a
+
+-- 2.2.2.18 (ANSI-41 6.5.2.fr) J-STD-036-AD-1
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 0 0 0 0 (0x50)(336)
+PositionInformation ::= SET {
+ generalizedTime [331] IMPLICIT GeneralizedTime,
+ -- M 6.5.2.fi
+ geographicPosition [333] IMPLICIT GeographicPosition,
+ -- M 6.5.2.fk
+ positionSource [339] IMPLICIT PositionSource OPTIONAL,
+ -- O 6.5.2.fu
+ horizontal-Velocity [379] IMPLICIT Horizontal-Velocity OPTIONAL,
+ -- O 6.5.2.hk
+ vertical-Velocity [380] IMPLICIT Vertical-Velocity OPTIONAL,
+ -- O 6.5.2.hl
+ ...
+}
+
+-- 2.2.2.19 (ANSI-41 6.5.2.fs) J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 0 0 0 1 (0x51)(337)
+PositionRequestType ::= OCTET STRING
+
+-- 2.2.2.20 (ANSI-41 6.5.2.ft) J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 0 0 1 0 (0x52)(338)
+PositionResult ::= OCTET STRING
+
+-- 2.2.2.21 (ANSI-41 6.5.2.fu) J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 0 0 1 1 (0x53)(339)
+PositionSource ::= OCTET STRING
+
+-- 6.5.2.fv ACGEncountered N.S0023-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 0 1 0 0 (0x54)(340)
+ACGEncountered ::= OCTET STRING
+
+-- 6.5.2.fw N.S0023-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 0 1 0 1 (0x55)(341)
+ControlType ::= OCTET STRING
+
+-- 6.5.2.fx GapDuration N.S0023-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 0 1 1 0 (0x56)(342)
+GapDuration ::= ENUMERATED{
+ not-used (0)
+ }
+
+-- 6.5.2.fy GapInterval
+-- The GapInterval (GAPINT) identifies the average minimum amount of time in seconds
+-- that the NE must wait before sending another query of the type under control. The
+-- GapInterval CHOICE is not explicitly encoded with a parameter identifier and length.
+GapInterval ::= CHOICE {
+ sCFOverloadGapInterval [343] IMPLICIT SCFOverloadGapInterval,
+ -- O 6.5.2.fz a
+ serviceManagementSystemGapInterval [344] IMPLICIT ServiceManagementSystemGapInterval
+ -- O 6.5.2.ga b
+}
+
+-- 6.5.2.fz N.S0023-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 0 1 1 1 (0x57)(343)
+SCFOverloadGapInterval ::= ENUMERATED {
+ not-used (0)
+ }
+
+
+-- 6.5.2.ga N.S0023-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 1 0 0 0 (0x58)(344)
+ServiceManagementSystemGapInterval ::= ENUMERATED{
+ not-used (0)
+ }
+
+-- 2.2.2.3 (ANSI-41 6.5.2.gb) J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 0 1 1 0 0 1(0x59)(345)
+CDMAPSMMCount ::= OCTET STRING
+
+-- 2.2.2.4 (ANSI-41 6.5.2.gc) J-STD-036-AD-1
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 1 0 1 0 (0x5a)(346)
+ CDMAPSMMList ::= SET OF SET{
+ cdmaServingOneWayDelay2 [347] IMPLICIT CDMAServingOneWayDelay2,
+ -- M 6.5.2.gd
+ cdmaTargetMAHOList [136] IMPLICIT CDMATargetMAHOList,
+ -- M 6.5.2.43
+ cdmaTargetMAHOList2 [136] IMPLICIT CDMATargetMAHOList OPTIONAL
+ -- O 6.5.2.43 a
+}
+
+-- 2.2.2.5 (ANSI-41 6.5.2.gd) J-STD-036-AD-1
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 1 0 1 1 (0x5b)(347)
+CDMAServingOneWayDelay2 ::= OCTET STRING
+
+-- 6.5.2.ge (Misc. 10.9)
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 1 1 0 0 (0x5c)(348)
+QoSPriority ::= OCTET STRING
+
+-- 6.5.2.gf
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 1 1 0 1 (0x5d)(349)
+PDSNAddress ::= OCTET STRING
+
+-- 6.5.2.gg
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 1 1 1 0 (0x5e)(350)
+PDSNProtocolType ::= OCTET STRING
+
+-- 6.5.2.gh
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 0 1 1 1 1 1 (0x5f)(351)
+CDMAMSMeasuredChannelIdentity ::= OCTET STRING
+
+-- 6.5.2.gj Range N.S0025-B v1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 0 0 0 0 (0x60)(352)
+Range ::= INTEGER
+
+-- 6.5.2.gk InvokingNEType N.S0025-B v1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 0 0 0 1 (0x61)(353)
+InvokingNEType ::= INTEGER
+
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 0 0 1 0 (0x62)(354)
+
+-- 6.5.2.gl
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 0 0 1 1 (0x63)(355)
+CallingPartyCategory ::= OCTET STRING
+
+--The CallingPartyCategory (CPC) parameter identifies the Calling Party's Category. This
+--parameter is based on the Calling Party's Category parameter defined in Section 3.11 of
+--ITU-T Q.763-1997 and includes the "reserved for national use" values.
+
+
+-- 6.5.2.gm
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 0 1 0 0 (0x64)(356)
+CDMA2000HandoffInvokeIOSData ::= OCTET STRING
+
+-- 6.5.2.gn
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 0 1 0 1 (0x65)(357)
+CDMA2000HandoffResponseIOSData ::= OCTET STRING
+
+-- 6.5.2.go X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 0 1 1 0 (0x66)(358)
+LCS-Client-ID ::= DigitsType
+
+-- 2.3.2.26 TIA/EIA/J-STD-036-A
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 0 1 1 1 (0x67)(359)
+TDMA-MAHO-CELLID ::= OCTET STRING
+
+-- 2.3.2.27
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 1 0 0 0 (0x68)(360)
+TDMA-MAHO-CHANNEL ::= OCTET STRING
+
+-- 2.3.2.29
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 1 0 1 0 (0x6a)(362)
+TDMA-TimeAlignment ::= OCTET STRING
+
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 1 1 0 0 (0x6c)(364)
+-- 2.3.2.28
+TDMA-MAHORequest ::= OCTET STRING
+
+-- 6.5.2.gr
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 1 0 0 1 (0x69)(361)
+CDMAServiceOptionConnectionIdentifier ::= OCTET STRING
+
+-- (0x6a)(362)
+-- (0x6b)(363)
+-- (0x6c)(364)
+-- (0x6d)(365)
+-- (0x6e)(366)
+
+-- 6.5.2.gx X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 0 1 1 1 1 (0x6f)(367)
+LCSBillingID ::= OCTET STRING
+
+-- 6.5.2.gy X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 1 0 0 0 0 (0x70)(368)
+LIRAuthorization ::= ENUMERATED {
+ not-used (0),
+ user-Authorized (1)
+ }
+
+-- 6.5.2.gz X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 1 0 0 0 1 (0x71)(369)
+LIRMode ::= ENUMERATED {
+ not-used (0),
+ unconditionally-Restricted (1),
+ pre-Authorized-LCS-Clients-Only (2),
+ pre-Authorized-LCS-Clients-and-User-Authorized-LCS-Clients (3),
+ unrestricted (4)
+ }
+
+-- 6.5.2.ha X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 0 0 1 0 (0x72)(370)
+MPCAddress ::= DigitsType
+
+-- 6.5.2.hb X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 0 0 1 1 (0x73)(371)
+MPCID ::= DigitsType
+
+--6.5.2.hc PositionQualityOfService
+--(New for MAP, Section 6.5.2)
+--The PositionQualityOfService (PQOS) is a collection of the required levels for the
+--independent positioning attributes that should be satisfied by the position estimate. The
+--PositionQualityOfService macro has been defined solely for editorial convenience and
+--does not affect the encoding in any way.
+-- pqos-HorizontalPosition [372] IMPLICIT PQOS-HorizontalPosition OPTIONAL,
+ -- O 6.5.2.hd a, b
+-- pqos-HorizontalVelocity [373] IMPLICIT PQOS-HorizontalVelocity OPTIONAL,
+ -- O 6.5.2.he c
+-- pqos-MaximumPositionAge [374] IMPLICIT PQOS-MaximumPositionAge OPTIONAL,
+ -- O 6.5.2.hf d
+-- pqos-PositionPriority [375] IMPLICIT PQOS-PositionPriority OPTIONAL,
+ -- O 6.5.2.hg e
+-- pqos-ResponseTime [376] IMPLICIT PQOS-ResponseTime OPTIONAL,
+ -- O 6.5.2.hh f
+-- pqos-VerticalPosition [377] IMPLICIT PQOS-VerticalPosition OPTIONAL,
+ -- O 6.5.2.hi g
+-- pqos-VerticalVelocity [378] IMPLICIT PQOS-VerticalVelocity OPTIONAL,
+ -- O 6.5.2.hj h
+
+-- 6.5.2.hd X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 0 1 0 0 (0x74)(372)
+PQOS-HorizontalPosition ::= OCTET STRING
+
+-- 6.5.2.he X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 0 1 0 1 (0x75)(373)
+PQOS-HorizontalVelocity ::= OCTET STRING
+
+-- 6.5.2.hf X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 0 1 1 0 (0x76)(374)
+PQOS-MaximumPositionAge ::= OCTET STRING
+
+-- 6.5.2.hg X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 0 1 1 1 (0x77)(375)
+PQOS-PositionPriority ::= OCTET STRING
+
+-- 6.5.2.hh X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 1 0 0 0 (0x78)(376)
+PQOS-ResponseTime ::= ENUMERATED {
+ not-used (0),
+ no-Delay (1),
+ low-Delay (2),
+ delay-Tolerant (3)
+ }
+
+-- 6.5.2.hi X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 1 0 0 1 (0x79)(377)
+PQOS-VerticalPosition ::= OCTET STRING
+
+-- 6.5.2.hj X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 1 0 1 0 (0x7a)(378)
+PQOS-VerticalVelocity ::= OCTET STRING
+
+-- 6.5.2.hk X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 1 0 1 1 (0x7b)(379)
+Horizontal-Velocity ::= OCTET STRING
+
+-- 6.5.2.hl X.S0002-0 v2.0
+-- 1 0 0 1 1 1 1 1
+-- 1 0 0 0 0 0 1 0
+-- 0 1 1 1 1 1 0 0 (0x7c)(380)
+Vertical-Velocity ::= OCTET STRING
+
+-- 6.5.2.hm X.S0002-0 v2.0
+-- 1 0 1 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 1 1 1 1 1 0 1 (0x7d)(381)
+MPCAddressList ::= SET{
+ mpcAddress [370] IMPLICIT MPCAddress,
+ -- M 6.5.2.ha
+ mpcAddress2 [370] IMPLICIT MPCAddress OPTIONAL,
+ -- O 6.5.2.ha a
+ ...
+}
+-- (0x7e)(382)
+-- (0x7f)(383)
+-- (0x00)(384)
+-- (0x01)(385)
+-- (0x02)(386)
+-- (0x03)(387)
+
+-- 2.138 http://www.3gpp2.org/Public_html/specs/X.S0004-550-E_v1.0_040406.pdf
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 1 (0x83)
+-- 0 0 0 0 0 1 0 0 (0x04)(388)
+MINExtension ::= OCTET STRING
+
+-- 3.3.2.2 X.S0008-0 v1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 1 (0x83)
+-- 0 0 0 0 0 1 0 1 (0x05)(389)
+Information-Record ::= OCTET STRING
+
+-- 3.3.2.3 X.S0008-0 v1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 1 (0x83)
+-- 0 0 0 0 0 1 1 0 (0x06)(390)
+MEID ::= OCTET STRING
+
+-- 3.3.2.97 X.S0008-0 v1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 1 (0x83)
+-- 0 0 0 0 0 1 1 1 (0x07)(391)
+MEIDStatus ::= OCTET STRING
+
+-- 3.3.2.98 X.S0008-0 v1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 1 (0x83)
+-- 0 0 0 0 1 0 0 0 (0x08)(392)
+Record-Type ::= OCTET STRING
+
+-- 3.3.2.98 X.S0008-0 v1.0, X.S0004-550
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 1 (0x83)
+-- 0 0 0 1 0 0 0 1 (0x11)(401)
+MEIDValidated ::= NULL
+
+-- 6.5.2.lB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 0 1 0 1 (0x35)(181)
+AKeyProtocolVersion ::= OCTET STRING
+
+
+-- 6.5.2.mT N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 0 1 1 0 (0x36)(182)
+AuthenticationResponseReauthentication ::= OCTET STRING
+
+-- 6.5.2.nB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 0 1 1 1 (0x37)(183)
+BaseStationPartialKey ::= OCTET STRING
+
+-- 6.5.2.oC N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 1 0 0 0 (0x38)(184)
+MobileStationMIN ::= MINType
+-- b. Refer to the MINType parameter type (see 6.5.3.u1) for notes and field encoding.
+
+-- 6.5.2.pB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 1 0 0 1 (0x39)(185)
+MobileStationPartialKey ::= OCTET STRING
+
+-- 6.5.2.qB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 1 0 1 0 (0x3a)(186)
+ModulusValue ::= OCTET STRING
+
+-- 6.5.2.rB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 1 0 1 1 (0x3b)(187)
+NewlyAssignedMIN ::= MINType
+
+
+-- 6.5.2.sB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 1 1 0 1 (0x3d)(189)
+OTASP-ResultCode ::= OCTET STRING
+
+-- 6.5.2.tB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 1 1 1 0 (0x3e)(190)
+PrimitiveValue ::= OCTET STRING
+
+-- 6.5.2.uT N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 0 1 1 1 1 1 1 (0x3f)(191)
+RandomVariableReauthentication ::= OCTET STRING
+
+-- 6.5.2.vT N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 0 0 0 0 (0x40)(192)
+ReauthenticationReport ::= OCTET STRING
+
+-- 6.5.2.wB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 0 0 0 1 (0x41)(193)
+ServiceIndicator ::= OCTET STRING
+
+-- 6.5.2.xB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 0 0 1 0 (0x42)(194)
+SignalingMessageEncryptionReport ::= OCTET STRING
+
+
+-- 6.5.2.yC N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 0 0 1 1 (0x43)(195)
+TemporaryReferenceNumber ::= MINType
+
+-- 6.5.2.zB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 0 1 (0x81)
+-- 0 1 0 0 0 1 0 0 (0x44)(196)
+VoicePrivacyReport::= OCTET STRING
+
+-- 6.5.2.dnC N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 1 1 0 0 (0x1c)(284)
+MSC-Address::= DigitsType
+
+-- 6.5.2.dpC N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 1 1 1 0 (0x1e)(286)
+MobileStationIMSI ::= IMSIType
+
+-- 6.5.2.dqB N.S0011-0 v 1.0
+-- 1 0 0 1 1 1 1 1 (0x9f)
+-- 1 0 0 0 0 0 1 0 (0x82)
+-- 0 0 0 1 1 1 1 1 (0x1f)(287)
+NewlyAssignedIMSI ::= IMSIType
+
+-- 6.5.2.adC MobileStationMSID N.S0011-0 v 1.0
+--The MobileStationMSID (MS_MSID) identifies the MIN or the IMSI value stored in the
+--MS's permanent memory at an OTASP call origination. The MS_MSID CHOICE is not
+--explicitly encoded with a parameter ID and length.
+
+MobileStationMSID ::= CHOICE {
+ mobileStationMIN [184] IMPLICIT MobileStationMIN,
+ -- O 6.5.2.oC
+ mobileStationIMSI [286] IMPLICIT MobileStationIMSI
+ -- O 6.5.2.dpC
+ }
+
+-- 6.5.2.aeB NewlyAssignedMSID
+--The NewlyAssignedMSID (NEWMSID) identifies the MIN or the IMSI value that may be
+--assigned following the successful completion of the OTASP process. The MS_MSID
+--CHOICE is not explicitly encoded with a parameter ID and length.
+
+NewlyAssignedMSID ::= CHOICE {
+ newlyAssignedMIN [187] IMPLICIT NewlyAssignedMIN,
+ -- O 6.5.2.rB
+ newlyAssignedIMSI [287] IMPLICIT NewlyAssignedIMSI
+ -- O 6.5.2.dqB
+ }
+
+--Notes:
+--a. Parameters with references ending with a "B" in them, such as "6.5.2.qB" are
+--common to BOTH CDMA and TDMA OTASP.
+--b. Parameters with references ending with a "C" in them, such as "6.5.2.oC" are
+--unique to CDMA OTASP.
+--c. Parameters with references ending with a "T" in them, such as "6.5.2.uT" are
+--unique to TDMA OTASP.
+
+-- 6.5.3 Parameter Type Definitions
+-- 6.5.3.2
+DigitsType ::= OCTET STRING
+
+-- 6.5.3.13
+Subaddress ::= OCTET STRING
+
+-- 6.5.3.u1 MINType
+MINType ::= OCTET STRING
+
+-- 6.5.3.u2 IMSIType
+
+IMSIType ::= OCTET STRING
+
+
+
+-- Definition to support ASN2WRS generating hf_indices
+
+InvokeData ::= SEQUENCE {
+ handoffMeasurementRequest HandoffMeasurementRequest,
+ facilitiesDirective FacilitiesDirective,
+ handoffBack HandoffBack,
+ facilitiesRelease FacilitiesRelease,
+ qualificationRequest QualificationRequest,
+ qualificationDirective QualificationDirective,
+ blocking Blocking,
+ unblocking Unblocking,
+ resetCircuit ResetCircuit,
+ trunkTest TrunkTest,
+ trunkTestDisconnect TrunkTestDisconnect,
+ registrationNotification RegistrationNotification,
+ registrationCancellation RegistrationCancellation,
+ locationRequest LocationRequest,
+ routingRequest RoutingRequest,
+ featureRequest FeatureRequest,
+ unreliableRoamerDataDirective UnreliableRoamerDataDirective,
+ mSInactive MSInactive,
+ transferToNumberRequest TransferToNumberRequest,
+ redirectionRequest RedirectionRequest,
+ handoffToThird HandoffToThird,
+ flashRequest FlashRequest,
+ authenticationDirective AuthenticationDirective,
+ authenticationRequest AuthenticationRequest,
+ baseStationChallenge BaseStationChallenge,
+ authenticationFailureReport AuthenticationFailureReport,
+ countRequest CountRequest,
+ interSystemPage InterSystemPage,
+ unsolicitedResponse UnsolicitedResponse,
+ bulkDeregistration BulkDeregistration,
+ handoffMeasurementRequest2 HandoffMeasurementRequest2,
+ facilitiesDirective2 FacilitiesDirective2,
+ handoffBack2 HandoffBack2,
+ handoffToThird2 HandoffToThird2,
+ authenticationDirectiveForward AuthenticationDirectiveForward,
+ authenticationStatusReport AuthenticationStatusReport,
+ informationDirective InformationDirective,
+ informationForward InformationForward,
+ interSystemAnswer InterSystemAnswer,
+ interSystemPage2 InterSystemPage2,
+ interSystemSetup InterSystemSetup,
+ originationRequest OriginationRequest,
+ randomVariableRequest RandomVariableRequest,
+ redirectionDirective RedirectionDirective,
+ remoteUserInteractionDirective RemoteUserInteractionDirective,
+ sMSDeliveryBackward SMSDeliveryBackward,
+ sMSDeliveryForward SMSDeliveryForward,
+ sMSDeliveryPointToPoint SMSDeliveryPointToPoint,
+ sMSNotification SMSNotification,
+ sMSRequest SMSRequest,
+ oTASPRequest OTASPRequest,
+ changeFacilities ChangeFacilities,
+ changeService ChangeService,
+ parameterRequest ParameterRequest,
+ tMSIDirective TMSIDirective,
+ numberPortabilityRequest NumberPortabilityRequest,
+ serviceRequest ServiceRequest,
+ analyzedInformation AnalyzedInformation,
+ connectionFailureReport ConnectionFailureReport,
+ connectResource ConnectResource,
+ facilitySelectedAndAvailable FacilitySelectedAndAvailable,
+ modify Modify,
+ search Search,
+ seizeResource SeizeResource,
+ sRFDirective SRFDirective,
+ tBusy TBusy,
+ tNoAnswer TNoAnswer,
+ smsDeliveryPointToPointAck SMSDeliveryPointToPointAck,
+ messageDirective MessageDirective,
+ bulkDisconnection BulkDisconnection,
+ callControlDirective CallControlDirective,
+ oAnswer OAnswer,
+ oDisconnect ODisconnect,
+ callRecoveryReport CallRecoveryReport,
+ tAnswer TAnswer,
+ tDisconnect TDisconnect,
+ unreliableCallData UnreliableCallData,
+ oCalledPartyBusy OCalledPartyBusy,
+ oNoAnswer ONoAnswer,
+ positionRequest PositionRequest,
+ positionRequestForward PositionRequestForward,
+ callTerminationReport CallTerminationReport,
+ geoPositionRequest GeoPositionRequest,
+ interSystemPositionRequest InterSystemPositionRequest,
+ interSystemPositionRequestForward InterSystemPositionRequestForward,
+ aCGDirective ACGDirective,
+ roamerDatabaseVerificationRequest RoamerDatabaseVerificationRequest,
+ addService AddService,
+ dropService DropService,
+ lcsParameterRequest LCSParameterRequest,
+ checkMEID CheckMEID,
+ positionEventNotification PositionEventNotification,
+ statusRequest StatusRequest,
+ interSystemSMSDeliveryPointToPoint InterSystemSMSDeliveryPointToPoint,
+ qualificationRequest2 QualificationRequest2
+}
+
+ReturnData ::= SEQUENCE {
+ handoffMeasurementRequestRes HandoffMeasurementRequestRes,
+ facilitiesDirectiveRes FacilitiesDirectiveRes,
+ handoffBackRes HandoffBackRes,
+ facilitiesReleaseRes FacilitiesReleaseRes,
+ qualificationDirectiveRes QualificationDirectiveRes,
+ qualificationRequestRes QualificationRequestRes,
+ resetCircuitRes ResetCircuitRes,
+ registrationNotificationRes RegistrationNotificationRes,
+ registrationCancellationRes RegistrationCancellationRes,
+ locationRequestRes LocationRequestRes,
+ routingRequestRes RoutingRequestRes,
+ featureRequestRes FeatureRequestRes,
+ transferToNumberRequestRes TransferToNumberRequestRes,
+ handoffToThirdRes HandoffToThirdRes,
+ authenticationDirectiveRes AuthenticationDirectiveRes,
+ authenticationRequestRes AuthenticationRequestRes,
+ baseStationChallengeRes BaseStationChallengeRes,
+ authenticationFailureReportRes AuthenticationFailureReportRes,
+ countRequestRes CountRequestRes,
+ interSystemPageRes InterSystemPageRes,
+ unsolicitedResponseRes UnsolicitedResponseRes,
+ handoffMeasurementRequest2Res HandoffMeasurementRequest2Res,
+ facilitiesDirective2Res FacilitiesDirective2Res,
+ handoffBack2Res HandoffBack2Res,
+ handoffToThird2Res HandoffToThird2Res,
+ authenticationDirectiveForwardRes AuthenticationDirectiveForwardRes,
+ authenticationStatusReportRes AuthenticationStatusReportRes,
+ informationDirectiveRes InformationDirectiveRes,
+ informationForwardRes InformationForwardRes,
+ interSystemPage2Res InterSystemPage2Res,
+ interSystemSetupRes InterSystemSetupRes,
+ originationRequestRes OriginationRequestRes,
+ randomVariableRequestRes RandomVariableRequestRes,
+ remoteUserInteractionDirectiveRes RemoteUserInteractionDirectiveRes,
+ sMSDeliveryBackwardRes SMSDeliveryBackwardRes,
+ sMSDeliveryForwardRes SMSDeliveryForwardRes,
+ sMSDeliveryPointToPointRes SMSDeliveryPointToPointRes,
+ sMSNotificationRes SMSNotificationRes,
+ sMSRequestRes SMSRequestRes,
+ oTASPRequestRes OTASPRequestRes,
+ changeFacilitiesRes ChangeFacilitiesRes,
+ changeServiceRes ChangeServiceRes,
+ parameterRequestRes ParameterRequestRes,
+ tMSIDirectiveRes TMSIDirectiveRes,
+ numberPortabilityRequestRes NumberPortabilityRequestRes,
+ serviceRequestRes ServiceRequestRes,
+ analyzedInformationRes AnalyzedInformationRes,
+ facilitySelectedAndAvailableRes FacilitySelectedAndAvailableRes,
+ modifyRes ModifyRes,
+ searchRes SearchRes,
+ seizeResourceRes SeizeResourceRes,
+ sRFDirectiveRes SRFDirectiveRes,
+ tBusyRes TBusyRes,
+ tNoAnswerRes TNoAnswerRes,
+ callControlDirectiveRes CallControlDirectiveRes,
+ oDisconnectRes ODisconnectRes,
+ tDisconnectRes TDisconnectRes,
+ oCalledPartyBusyRes OCalledPartyBusyRes,
+ oNoAnswerRes ONoAnswerRes,
+ positionRequestRes PositionRequestRes,
+ positionRequestForwardRes PositionRequestForwardRes,
+ interSystemPositionRequestRes InterSystemPositionRequestRes,
+ interSystemPositionRequestForwardRes InterSystemPositionRequestForwardRes,
+ roamerDatabaseVerificationRequestRes RoamerDatabaseVerificationRequestRes,
+ addServiceRes AddServiceRes,
+ dropServiceRes DropServiceRes,
+ interSystemSMSPage InterSystemSMSPage,
+ lcsParameterRequestRes LCSParameterRequestRes,
+ checkMEIDRes CheckMEIDRes,
+ statusRequestRes StatusRequestRes,
+ interSystemSMSDeliveryPointToPointRes InterSystemSMSDeliveryPointToPointRes,
+ qualificationRequest2Res QualificationRequest2Res
+}
+
+END
diff --git a/epan/dissectors/asn1/ansi_map/ansi_map.cnf b/epan/dissectors/asn1/ansi_map/ansi_map.cnf
new file mode 100644
index 00000000..cab89c13
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_map/ansi_map.cnf
@@ -0,0 +1,522 @@
+# ansi_map.cnf
+# ansi_map conformation file
+# Copyright 2005-2007 Anders Broman
+
+#.IMPORT ../gsm_map/gsm_map-exp.cnf
+#.EXPORTS
+
+#.OMIT_ASSIGNMENT
+DetectionPointType
+EnhancedPrivacyEncryptionReport
+MINExtension
+
+#.USE_VALS_EXT
+# AnnouncementCode-std-ann
+TriggerType
+SMS-CauseCode
+SystemMyTypeCode
+# AnnouncementCode-tone
+DMH-RedirectionIndicator
+ActionCode
+SignalQuality
+# AlertCode-Cadence
+TerminalType
+
+#.NO_EMIT
+InvokeData
+ReturnData
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+
+
+# N.S0005-0 v 1.0 TCAP Formats and Procedures 5-16 Application Services
+# 6.3.2 Component Portion
+# The Operation Code is partitioned into an Operation Family followed by a
+# Specifier associated with each Operation Family member. For TIA/EIA-41 the
+# Operation Family is coded as decimal 9. Bit H of the Operation Family is always
+# coded as 0.
+
+#.FN_BODY MINType VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_min_type(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+#.FN_BODY DigitsType VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_digits_type(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+#.FN_BODY Subaddress VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_subaddress(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.3 AlertCode
+#.FN_BODY AlertCode VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_alertcode(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.5 AnnouncementCode
+#.FN_BODY AnnouncementCode VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_announcementcode(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.14 AuthorizationPeriod
+#.FN_BODY AuthorizationPeriod VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_authorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+
+# 6.5.2.16 BillingID
+#.FN_BODY BillingID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_billingid(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.20 CallingFeaturesIndicator
+#.FN_BODY CallingFeaturesIndicator VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_callingfeaturesindicator(parameter_tvb,actx->pinfo,tree, actx);
+ }
+# 6.5.2.29 CDMACallMode
+#.FN_BODY CDMACallMode VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_cdmacallmode(parameter_tvb,actx->pinfo,tree, actx);
+ }
+# 6.5.2.30 CDMAChannelData
+#.FN_BODY CDMAChannelData VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_cdmachanneldata(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.41 CDMAStationClassMark
+#.FN_BODY CDMAStationClassMark VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_cdmastationclassmark(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.47 ChannelData
+#.FN_BODY ChannelData VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_channeldata(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.50 ConfidentialityModes
+#.FN_BODY ConfidentialityModes VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_confidentialitymodes(parameter_tvb,actx->pinfo,tree, actx);
+ }
+# 6.5.2.51 ControlChannelData
+#.FN_BODY ControlChannelData VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_controlchanneldata(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.53 DeniedAuthorizationPeriod
+#.FN_BODY DeniedAuthorizationPeriod VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_deniedauthorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.64 ExtendedMSCID
+#.FN_BODY ExtendedMSCID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_extendedmscid(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.65 ExtendedSystemMyTypeCode
+#.FN_BODY ExtendedSystemMyTypeCode VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_extendedsystemmytypecode(parameter_tvb, actx->pinfo, tree, actx);
+ }
+#6.5.2.71 HandoffState
+#.FN_BODY HandoffState VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_handoffstate(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.72 InterMSCCircuitID
+#.FN_BODY InterMSCCircuitID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_intermsccircuitid(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.78 MessageWaitingNotificationCount
+#.FN_BODY MessageWaitingNotificationCount VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_messagewaitingnotificationcount(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.79 MessageWaitingNotificationType
+#.FN_BODY MessageWaitingNotificationType VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_messagewaitingnotificationtype(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+
+# 6.5.2.82 MSCID
+#.FN_BODY MSCID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_mscid(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.84 MSLocation
+#.FN_BODY MSLocation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_mslocation(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.85 NAMPSCallMode
+#.FN_BODY NAMPSCallMode VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_nampscallmode(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.86 NAMPSChannelData
+#.FN_BODY NAMPSChannelData VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_nampschanneldata(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.88 OneTimeFeatureIndicator
+#.FN_BODY OneTimeFeatureIndicator VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_onetimefeatureindicator(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.90 OriginationTriggers
+#.FN_BODY OriginationTriggers VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_originationtriggers(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.91 PACAIndicator
+#.FN_BODY PACAIndicator VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_pacaindicator(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.93 PC_SSN
+#.FN_BODY PC-SSN VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_pc_ssn(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.94 PilotBillingID
+#.FN_BODY PilotBillingID VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_pilotbillingid(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.124
+#.FN_BODY SMS-BearerData VAL_PTR = &SMS_BearerData_tvb
+ int length;
+ SMS_BearerData_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (SMS_BearerData_tvb){
+ /* A zero length OCTET STRING will return a zero length tvb */
+ length = tvb_reported_length_remaining(SMS_BearerData_tvb,0);
+ if (length <=0){
+ proto_item_append_text(actx->created_item," length %%u",length);
+ SMS_BearerData_tvb = NULL;
+ return offset;
+ }
+ if (ansi_map_sms_tele_id != -1)
+ {
+ dissector_try_uint(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
+ }
+ else
+ {
+ switch(ServiceIndicator){
+ case 1: /* CDMA OTASP Service */
+ case 3: /* CDMA OTAPA Service */
+ dissector_try_uint(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
+ break;
+ case 4: /* CDMA Position Determination Service */
+ dissector_try_uint(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+# 6.5.2.136 SMS-OriginationRestrictions
+#.FN_BODY SMS-OriginationRestrictions VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_sms_originationrestrictions(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.137
+# N.S0005-0 v 1.0
+#.FN_BODY SMS-TeleserviceIdentifier VAL_PTR = &parameter_tvb
+
+ int length;
+ tvbuff_t *parameter_tvb = NULL;
+ ansi_map_sms_tele_id = -1;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ /* A zero length OCTET STRING will return a zero length tvb */
+ length = tvb_reported_length_remaining(parameter_tvb,0);
+ if (length <=0){
+ proto_item_append_text(actx->created_item, " length %%u",length);
+ return offset;
+ }
+ ansi_map_sms_tele_id = tvb_get_ntohs(tvb,0);
+ if ((ansi_map_sms_tele_id != -1)&&(SMS_BearerData_tvb !=NULL))
+ {
+ dissector_try_uint(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
+ }
+ }
+
+# 6.5.2.146 SystemCapabilities */
+# Updated in N.S0008-0 v 1.0 */
+#.FN_BODY SystemCapabilities VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_systemcapabilities(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+
+# 6.5.2.159 TerminationTriggers
+#.FN_BODY TerminationTriggers VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_terminationtriggers(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.160 TransactionCapability
+#.FN_BODY TransactionCapability VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_transactioncapability(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.f (TSB76) CDMAServiceOption N.S0010-0 v 1.0
+#.FN_BODY CDMAServiceOption VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_cdmaserviceoption(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.aj SecondInterMSCCircuitID
+# -- XXX Same code as ISLPinformation???
+
+# 6.5.2.bw CallingPartyName N.S0012-0 v 1.0
+#.FN_BODY CallingPartyName VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_callingpartyname(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.df TriggerCapability
+#.FN_BODY TriggerCapability VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_triggercapability(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.dj WINOperationsCapability
+#.FN_BODY WINOperationsCapability VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_winoperationscapability(parameter_tvb,actx->pinfo,tree, actx);
+ }
+# 6.5.2.dk WIN-TriggerList
+#.FN_BODY WIN-TriggerList VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_win_trigger_list(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+# 6.5.2.ek ControlNetworkID
+#.FN_BODY ControlNetworkID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_ansi_map_controlnetworkid(parameter_tvb,actx->pinfo,tree, actx);
+ }
+
+#6.5.2.gm CDMA2000HandoffInvokeIOSData
+#.FN_BODY CDMA2000HandoffInvokeIOSData VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffInvokeIOSData);
+ dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree,
+ 0, tvb_reported_length_remaining(parameter_tvb,0));
+ }
+#6.5.2.gn CDMA2000HandoffResponseIOSData
+#.FN_BODY CDMA2000HandoffResponseIOSData VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffResponseIOSData);
+ dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree,
+ 0, tvb_reported_length_remaining(parameter_tvb,0));
+ }
+#6.5.2.wB ServiceIndicator N.S0011-0 v 1.0
+#.FN_BODY ServiceIndicator VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ ServiceIndicator = tvb_get_guint8(parameter_tvb,0);
+ if (SMS_BearerData_tvb !=NULL)
+ {
+ switch(ServiceIndicator){
+ case 1: /* CDMA OTASP Service */
+ case 3: /* CDMA OTAPA Service */
+ dissector_try_uint(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
+ break;
+ case 4: /* CDMA Position Determination Service */
+ dissector_try_uint(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+#.TYPE_ATTR
+# Don't put the bytes after the name in the display
+CDMA2000HandoffInvokeIOSData TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+CDMA2000HandoffResponseIOSData TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+InterMSCCircuitID TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+MobileIdentificationNumber TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+MobileStationMIN TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+CallingPartyNumberString1 TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+CallingPartyNumberString2 TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+SMS-Address TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+SMS-DestinationAddress TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+SMS-OriginatingAddress TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+SMS-OriginalOriginatingAddress TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+SMS-OriginalDestinationAddress TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+SenderIdentificationNumber TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+MobileDirectoryNumber TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+Digits TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+MSCIdentificationNumber TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+NewlyAssignedMIN TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+RedirectingNumberDigits = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+RedirectingNumberString = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+CallingPartyNumberDigits1 = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+CallingPartyNumberDigits2 = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+TemporaryReferenceNumber TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL
+
+ActionCode TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &ansi_map_ActionCode_vals_ext
+AuthenticationCapability TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_AuthenticationCapability_vals)
+AlertResult TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_AlertResult_result_vals)
+AvailabilityType TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_AvailabilityType_vals)
+CancellationType TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_CancellationType_vals)
+GeographicAuthorization TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_GeographicAuthorization_vals)
+CountUpdateReport TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_CountUpdateReport_vals)
+ControlChannelMode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_ControlChannelMode_vals)
+PageIndicator TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_PageIndicator_vals)
+SMS-AccessDeniedReason TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_SMS_AccessDeniedReason_vals)
+SMS-CauseCode TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &ansi_map_SMS_CauseCode_vals_ext
+SMS-ChargeIndicator TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_SMS_ChargeIndicator_vals)
+SMS-NotificationIndicator TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_SMS_NotificationIndicator_vals)
+#SMS-TeleserviceIdentifier TYPE = FT_UINT16 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_SMS_TeleserviceIdentifier_vals)
+TDMABandwidth TYPE = FT_UINT8 DISPLAY = BASE_DEC BITMASK = 0x0f STRINGS = VALS(ansi_map_TDMABandwidth_vals)
+TDMAServiceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_TDMAServiceCode_vals)
+OTASP-ResultCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_OTASP_ResultCode_vals)
+ServiceIndicator TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_ServiceIndicator_vals)
+TerminationAccessType TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_TerminationAccessType_vals)
+TerminationTreatment TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_TerminationTreatment_vals)
+SignalingMessageEncryptionReport TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_SMEReport_vals)
+VoicePrivacyReport TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_VoicePrivacyReport_vals)
+PreferredLanguageIndicator TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_PreferredLanguageIndicator_vals)
+SetupResult TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_SetupResult_vals)
+UniqueChallengeReport TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_UniqueChallengeReport_vals)
+ISLPInformation TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_islp_type_vals)
+ServiceRedirectionCause TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_ServiceRedirectionCause_type_vals)
+SSDUpdateReport TYPE = FT_UINT16 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_SSDUpdateReport_vals)
+ReauthenticationReport TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_ReauthenticationReport_vals)
+MSIDUsage TYPE = FT_UINT8 DISPLAY = BASE_DEC BITMASK = 0x03 STRINGS = VALS(ansi_MSIDUsage_m_or_i_vals)
+BSMCStatus TYPE = FT_UINT8 DISPLAY = BASE_DEC BITMASK = 0x03 STRINGS = VALS(ansi_map_BSMCStatus_vals)
+PagingFrameClass TYPE = FT_UINT8 DISPLAY = BASE_DEC BITMASK = 0x03 STRINGS = VALS(ansi_map_PagingFrameClass_vals)
+ServicesResult TYPE = FT_UINT8 DISPLAY = BASE_DEC BITMASK = 0x03 STRINGS = VALS(ansi_map_ServicesResult_ppr_vals)
+SOCStatus TYPE = FT_UINT8 DISPLAY = BASE_DEC BITMASK = 0x03 STRINGS = VALS(ansi_map_SOCStatus_vals)
+#.END
diff --git a/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c
new file mode 100644
index 00000000..14738320
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.c
@@ -0,0 +1,5485 @@
+/* packet-ansi_map.c
+ * Routines for ANSI 41 Mobile Application Part (IS41 MAP) dissection
+ * Specications from 3GPP2 (www.3gpp2.org)
+ * Based on the dissector by :
+ * Michael Lum <mlum [AT] telostech.com>
+ * In association with Telos Technology Inc.
+ *
+ * Copyright 2005 - 2009, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Credit to Tomas Kukosa for developing the asn2wrs compiler.
+ *
+ * Title 3GPP2 Other
+ *
+ * Cellular Radiotelecommunications Intersystem Operations
+ * 3GPP2 N.S0005-0 v 1.0 ANSI/TIA/EIA-41-D
+ *
+ * Network Support for MDN-Based Message Centers
+ * 3GPP2 N.S0024-0 v1.0 IS-841
+ *
+ * Enhanced International Calling
+ * 3GPP2 N.S0027 IS-875
+ *
+ * ANSI-41-D Miscellaneous Enhancements Revision 0
+ * 3GPP2 N.S0015 PN-3590 (ANSI-41-E)
+ *
+ * Authentication Enhancements
+ * 3GPP2 N.S0014-0 v1.0 IS-778
+ *
+ * Features In CDMA
+ * 3GPP2 N.S0010-0 v1.0 IS-735
+ *
+ * OTASP and OTAPA
+ * 3GPP2 N.S0011-0 v1.0 IS-725-A
+ *
+ * Circuit Mode Services
+ * 3GPP2 N.S0008-0 v1.0 IS-737
+ * XXX SecondInterMSCCircuitID not implemented, parameter ID conflicts with ISLP Information!
+ *
+ * IMSI
+ * 3GPP2 N.S0009-0 v1.0 IS-751
+ *
+ * WIN Phase 1
+ * 3GPP2 N.S0013-0 v1.0 IS-771
+ *
+ * DCCH (Clarification of Audit Order with Forced
+ * Re-Registration in pre-TIA/EIA-136-A Implementation
+ * 3GPP2 A.S0017-B IS-730
+ *
+ * UIM
+ * 3GPP2 N.S0003
+ *
+ * WIN Phase 2
+ * 3GPP2 N.S0004-0 v1.0 IS-848
+ *
+ * TIA/EIA-41-D Pre-Paid Charging
+ * 3GPP2 N.S0018-0 v1.0 IS-826
+ *
+ * User Selective Call Forwarding
+ * 3GPP2 N.S0021-0 v1.0 IS-838
+ *
+ *
+ * Answer Hold
+ * 3GPP2 N.S0022-0 v1.0 IS-837
+ *
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/expert.h>
+#include <epan/tap.h>
+#include <epan/stat_tap_ui.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-ansi_map.h"
+#include "packet-ansi_a.h"
+#include "packet-gsm_map.h"
+#include "packet-tcap.h"
+#include "packet-ansi_tcap.h"
+
+#define PNAME "ANSI Mobile Application Part"
+#define PSNAME "ANSI MAP"
+#define PFNAME "ansi_map"
+
+
+void proto_register_ansi_map(void);
+void proto_reg_handoff_ansi_map(void);
+
+/* Preference settings */
+#define MAX_SSN 254
+static range_t *global_ssn_range;
+#define ANSI_MAP_TID_ONLY 0
+#define ANSI_MAP_TID_AND_SOURCE 1
+#define ANSI_MAP_TID_SOURCE_AND_DEST 2
+static gint ansi_map_response_matching_type = ANSI_MAP_TID_AND_SOURCE;
+
+static dissector_handle_t ansi_map_handle=NULL;
+
+/* Initialize the protocol and registered fields */
+static int ansi_map_tap = -1;
+static int proto_ansi_map = -1;
+
+#if 0
+static int hf_ansi_map_op_code_fam = -1;
+static int hf_ansi_map_op_code = -1;
+#endif
+
+static int hf_ansi_map_reservedBitH = -1;
+static int hf_ansi_map_reservedBitHG = -1;
+static int hf_ansi_map_reservedBitHGFE = -1;
+static int hf_ansi_map_reservedBitFED = -1;
+static int hf_ansi_map_reservedBitD = -1;
+static int hf_ansi_map_reservedBitED = -1;
+
+static int hf_ansi_map_type_of_digits = -1;
+static int hf_ansi_map_na = -1;
+static int hf_ansi_map_pi = -1;
+static int hf_ansi_map_navail = -1;
+static int hf_ansi_map_si = -1;
+static int hf_ansi_map_digits_enc = -1;
+static int hf_ansi_map_np = -1;
+static int hf_ansi_map_nr_digits = -1;
+static int hf_ansi_map_bcd_digits = -1;
+static int hf_ansi_map_ia5_digits = -1;
+static int hf_ansi_map_subaddr_type = -1;
+static int hf_ansi_map_subaddr_odd_even = -1;
+static int hf_ansi_alertcode_cadence = -1;
+static int hf_ansi_alertcode_pitch = -1;
+static int hf_ansi_alertcode_alertaction = -1;
+static int hf_ansi_map_announcementcode_tone = -1;
+static int hf_ansi_map_announcementcode_class = -1;
+static int hf_ansi_map_announcementcode_std_ann = -1;
+static int hf_ansi_map_announcementcode_cust_ann = -1;
+static int hf_ansi_map_authorizationperiod_period = -1;
+static int hf_ansi_map_value = -1;
+static int hf_ansi_map_msc_type = -1;
+static int hf_ansi_map_handoffstate_pi = -1;
+static int hf_ansi_map_tgn = -1;
+static int hf_ansi_map_tmn = -1;
+static int hf_ansi_map_messagewaitingnotificationcount_tom = -1;
+static int hf_ansi_map_messagewaitingnotificationcount_no_mw = -1;
+static int hf_ansi_map_messagewaitingnotificationtype_mwi = -1;
+static int hf_ansi_map_messagewaitingnotificationtype_apt = -1;
+static int hf_ansi_map_messagewaitingnotificationtype_pt = -1;
+
+static int hf_ansi_map_trans_cap_prof = -1;
+static int hf_ansi_map_trans_cap_busy = -1;
+static int hf_ansi_map_trans_cap_ann = -1;
+static int hf_ansi_map_trans_cap_rui = -1;
+static int hf_ansi_map_trans_cap_spini = -1;
+static int hf_ansi_map_trans_cap_uzci = -1;
+static int hf_ansi_map_trans_cap_ndss = -1;
+static int hf_ansi_map_trans_cap_nami = -1;
+static int hf_ansi_trans_cap_multerm = -1;
+static int hf_ansi_map_terminationtriggers_busy = -1;
+static int hf_ansi_map_terminationtriggers_rf = -1;
+static int hf_ansi_map_terminationtriggers_npr = -1;
+static int hf_ansi_map_terminationtriggers_na = -1;
+static int hf_ansi_map_terminationtriggers_nr = -1;
+static int hf_ansi_trans_cap_tl = -1;
+static int hf_ansi_map_cdmaserviceoption = -1;
+static int hf_ansi_trans_cap_waddr = -1;
+static int hf_ansi_map_MarketID = -1;
+static int hf_ansi_map_swno = -1;
+static int hf_ansi_map_idno = -1;
+static int hf_ansi_map_segcount = -1;
+static int hf_ansi_map_sms_originationrestrictions_fmc = -1;
+static int hf_ansi_map_sms_originationrestrictions_direct = -1;
+static int hf_ansi_map_sms_originationrestrictions_default = -1;
+static int hf_ansi_map_systemcapabilities_auth = -1;
+static int hf_ansi_map_systemcapabilities_se = -1;
+static int hf_ansi_map_systemcapabilities_vp = -1;
+static int hf_ansi_map_systemcapabilities_cave = -1;
+static int hf_ansi_map_systemcapabilities_ssd = -1;
+static int hf_ansi_map_systemcapabilities_dp = -1;
+
+static int hf_ansi_map_mslocation_lat = -1;
+static int hf_ansi_map_mslocation_long = -1;
+static int hf_ansi_map_mslocation_res = -1;
+static int hf_ansi_map_nampscallmode_namps = -1;
+static int hf_ansi_map_nampscallmode_amps = -1;
+static int hf_ansi_map_nampschanneldata_navca = -1;
+static int hf_ansi_map_nampschanneldata_CCIndicator = -1;
+
+static int hf_ansi_map_callingfeaturesindicator_cfufa = -1;
+static int hf_ansi_map_callingfeaturesindicator_cfbfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_cfnafa = -1;
+static int hf_ansi_map_callingfeaturesindicator_cwfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_3wcfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_pcwfa =-1;
+static int hf_ansi_map_callingfeaturesindicator_dpfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_ahfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_uscfvmfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_uscfmsfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_uscfnrfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_cpdsfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_ccsfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_epefa = -1;
+static int hf_ansi_map_callingfeaturesindicator_cdfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_vpfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_ctfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_cnip1fa = -1;
+static int hf_ansi_map_callingfeaturesindicator_cnip2fa = -1;
+static int hf_ansi_map_callingfeaturesindicator_cnirfa = -1;
+static int hf_ansi_map_callingfeaturesindicator_cniroverfa = -1;
+static int hf_ansi_map_cdmacallmode_cdma = -1;
+static int hf_ansi_map_cdmacallmode_amps = -1;
+static int hf_ansi_map_cdmacallmode_namps = -1;
+static int hf_ansi_map_cdmacallmode_cls1 = -1;
+static int hf_ansi_map_cdmacallmode_cls2 = -1;
+static int hf_ansi_map_cdmacallmode_cls3 = -1;
+static int hf_ansi_map_cdmacallmode_cls4 = -1;
+static int hf_ansi_map_cdmacallmode_cls5 = -1;
+static int hf_ansi_map_cdmacallmode_cls6 = -1;
+static int hf_ansi_map_cdmacallmode_cls7 = -1;
+static int hf_ansi_map_cdmacallmode_cls8 = -1;
+static int hf_ansi_map_cdmacallmode_cls9 = -1;
+static int hf_ansi_map_cdmacallmode_cls10 = -1;
+static int hf_ansi_map_cdmachanneldata_Frame_Offset = -1;
+static int hf_ansi_map_cdmachanneldata_CDMA_ch_no = -1;
+static int hf_ansi_map_cdmachanneldata_band_cls = -1;
+static int hf_ansi_map_cdmachanneldata_lc_mask_b6 = -1;
+static int hf_ansi_map_cdmachanneldata_lc_mask_b5 = -1;
+static int hf_ansi_map_cdmachanneldata_lc_mask_b4 = -1;
+static int hf_ansi_map_cdmachanneldata_lc_mask_b3 = -1;
+static int hf_ansi_map_cdmachanneldata_lc_mask_b2 = -1;
+static int hf_ansi_map_cdmachanneldata_lc_mask_b1 = -1;
+static int hf_ansi_map_cdmachanneldata_np_ext = -1;
+static int hf_ansi_map_cdmachanneldata_nominal_pwr = -1;
+static int hf_ansi_map_cdmachanneldata_nr_preamble = -1;
+
+static int hf_ansi_map_cdmastationclassmark_pc = -1;
+static int hf_ansi_map_cdmastationclassmark_dtx = -1;
+static int hf_ansi_map_cdmastationclassmark_smi = -1;
+static int hf_ansi_map_cdmastationclassmark_dmi = -1;
+static int hf_ansi_map_channeldata_vmac = -1;
+static int hf_ansi_map_channeldata_dtx = -1;
+static int hf_ansi_map_channeldata_scc = -1;
+static int hf_ansi_map_channeldata_chno = -1;
+static int hf_ansi_map_ConfidentialityModes_vp = -1;
+static int hf_ansi_map_controlchanneldata_dcc = -1;
+static int hf_ansi_map_controlchanneldata_cmac = -1;
+static int hf_ansi_map_controlchanneldata_chno = -1;
+static int hf_ansi_map_controlchanneldata_sdcc1 = -1;
+static int hf_ansi_map_controlchanneldata_sdcc2 = -1;
+static int hf_ansi_map_ConfidentialityModes_se = -1;
+static int hf_ansi_map_deniedauthorizationperiod_period = -1;
+static int hf_ansi_map_ConfidentialityModes_dp = -1;
+
+static int hf_ansi_map_originationtriggers_all = -1;
+static int hf_ansi_map_originationtriggers_local = -1;
+static int hf_ansi_map_originationtriggers_ilata = -1;
+static int hf_ansi_map_originationtriggers_olata = -1;
+static int hf_ansi_map_originationtriggers_int = -1;
+static int hf_ansi_map_originationtriggers_wz = -1;
+static int hf_ansi_map_originationtriggers_unrec = -1;
+static int hf_ansi_map_originationtriggers_rvtc = -1;
+static int hf_ansi_map_originationtriggers_star = -1;
+static int hf_ansi_map_originationtriggers_ds = -1;
+static int hf_ansi_map_originationtriggers_pound = -1;
+static int hf_ansi_map_originationtriggers_dp = -1;
+static int hf_ansi_map_originationtriggers_pa = -1;
+static int hf_ansi_map_originationtriggers_nodig = -1;
+static int hf_ansi_map_originationtriggers_onedig = -1;
+static int hf_ansi_map_originationtriggers_twodig = -1;
+static int hf_ansi_map_originationtriggers_threedig = -1;
+static int hf_ansi_map_originationtriggers_fourdig = -1;
+static int hf_ansi_map_originationtriggers_fivedig = -1;
+static int hf_ansi_map_originationtriggers_sixdig = -1;
+static int hf_ansi_map_originationtriggers_sevendig = -1;
+static int hf_ansi_map_originationtriggers_eightdig = -1;
+static int hf_ansi_map_originationtriggers_ninedig = -1;
+static int hf_ansi_map_originationtriggers_tendig = -1;
+static int hf_ansi_map_originationtriggers_elevendig = -1;
+static int hf_ansi_map_originationtriggers_twelvedig = -1;
+static int hf_ansi_map_originationtriggers_thirteendig = -1;
+static int hf_ansi_map_originationtriggers_fourteendig = -1;
+static int hf_ansi_map_originationtriggers_fifteendig = -1;
+static int hf_ansi_map_triggercapability_init = -1;
+static int hf_ansi_map_triggercapability_kdigit = -1;
+static int hf_ansi_map_triggercapability_all = -1;
+static int hf_ansi_map_triggercapability_rvtc = -1;
+static int hf_ansi_map_triggercapability_oaa = -1;
+static int hf_ansi_map_triggercapability_oans = -1;
+static int hf_ansi_map_triggercapability_odisc = -1;
+static int hf_ansi_map_triggercapability_ona = -1;
+static int hf_ansi_map_triggercapability_ct = -1;
+static int hf_ansi_map_triggercapability_unrec =-1;
+static int hf_ansi_map_triggercapability_pa = -1;
+static int hf_ansi_map_triggercapability_at = -1;
+static int hf_ansi_map_triggercapability_cgraa = -1;
+static int hf_ansi_map_triggercapability_it = -1;
+static int hf_ansi_map_triggercapability_cdraa = -1;
+static int hf_ansi_map_triggercapability_obsy = -1;
+static int hf_ansi_map_triggercapability_tra = -1;
+static int hf_ansi_map_triggercapability_tbusy = -1;
+static int hf_ansi_map_triggercapability_tna = -1;
+static int hf_ansi_map_triggercapability_tans = -1;
+static int hf_ansi_map_triggercapability_tdisc = -1;
+static int hf_ansi_map_winoperationscapability_conn = -1;
+static int hf_ansi_map_winoperationscapability_ccdir = -1;
+static int hf_ansi_map_winoperationscapability_pos = -1;
+static int hf_ansi_map_PACA_Level = -1;
+static int hf_ansi_map_pacaindicator_pa = -1;
+
+static int hf_ansi_map_point_code = -1;
+static int hf_ansi_map_SSN = -1;
+static int hf_ansi_map_win_trigger_list = -1;
+
+#include "packet-ansi_map-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_ansi_map = -1;
+static gint ett_mintype = -1;
+static gint ett_digitstype = -1;
+static gint ett_billingid = -1;
+static gint ett_sms_bearer_data = -1;
+static gint ett_sms_teleserviceIdentifier = -1;
+static gint ett_extendedmscid = -1;
+static gint ett_extendedsystemmytypecode = -1;
+static gint ett_handoffstate = -1;
+static gint ett_mscid = -1;
+static gint ett_cdmachanneldata = -1;
+static gint ett_cdmastationclassmark = -1;
+static gint ett_channeldata = -1;
+static gint ett_confidentialitymodes = -1;
+static gint ett_controlchanneldata = -1;
+static gint ett_CDMA2000HandoffInvokeIOSData = -1;
+static gint ett_CDMA2000HandoffResponseIOSData = -1;
+static gint ett_originationtriggers = -1;
+static gint ett_pacaindicator = -1;
+static gint ett_callingpartyname = -1;
+static gint ett_triggercapability = -1;
+static gint ett_winoperationscapability = -1;
+static gint ett_win_trigger_list = -1;
+static gint ett_controlnetworkid = -1;
+static gint ett_transactioncapability = -1;
+static gint ett_cdmaserviceoption = -1;
+static gint ett_systemcapabilities = -1;
+static gint ett_sms_originationrestrictions = -1;
+
+#include "packet-ansi_map-ett.c"
+
+static expert_field ei_ansi_map_nr_not_used = EI_INIT;
+static expert_field ei_ansi_map_unknown_invokeData_blob = EI_INIT;
+static expert_field ei_ansi_map_no_data = EI_INIT;
+
+/* Global variables */
+static dissector_table_t is637_tele_id_dissector_table; /* IS-637 Teleservice ID */
+static dissector_table_t is683_dissector_table; /* IS-683-A (OTA) */
+static dissector_table_t is801_dissector_table; /* IS-801 (PLD) */
+static packet_info *g_pinfo;
+static proto_tree *g_tree;
+tvbuff_t *SMS_BearerData_tvb = NULL;
+gint32 ansi_map_sms_tele_id = -1;
+static gboolean is683_ota;
+static gboolean is801_pld;
+static gboolean ansi_map_is_invoke;
+static guint32 OperationCode;
+static guint8 ServiceIndicator;
+
+
+struct ansi_map_invokedata_t {
+ guint32 opcode;
+ guint8 ServiceIndicator;
+};
+
+static void dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_);
+
+
+/* Transaction table */
+static wmem_multimap_t *TransactionId_table=NULL;
+
+/* Store Invoke information needed for the corresponding reply */
+static void
+update_saved_invokedata(packet_info *pinfo, struct ansi_tcap_private_t *p_private_tcap){
+ struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
+ address* src = &(pinfo->src);
+ address* dst = &(pinfo->dst);
+ guint8 *src_str;
+ guint8 *dst_str;
+ const char *buf = NULL;
+
+ src_str = address_to_str(pinfo->pool, src);
+ dst_str = address_to_str(pinfo->pool, dst);
+
+ /* Data from the TCAP dissector */
+ if ((!pinfo->fd->visited)&&(p_private_tcap->TransactionID_str)){
+ /* Only do this once XXX I hope it's the right thing to do */
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ switch(ansi_map_response_matching_type){
+ case ANSI_MAP_TID_ONLY:
+ buf = wmem_strdup(pinfo->pool, p_private_tcap->TransactionID_str);
+ break;
+ case ANSI_MAP_TID_AND_SOURCE:
+ buf = wmem_strdup_printf(pinfo->pool, "%s%s",p_private_tcap->TransactionID_str,src_str);
+ break;
+ case ANSI_MAP_TID_SOURCE_AND_DEST:
+ default:
+ buf = wmem_strdup_printf(pinfo->pool, "%s%s%s",p_private_tcap->TransactionID_str,src_str,dst_str);
+ break;
+ }
+
+ ansi_map_saved_invokedata = wmem_new(wmem_file_scope(), struct ansi_map_invokedata_t);
+ ansi_map_saved_invokedata->opcode = p_private_tcap->d.OperationCode_private;
+ ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator;
+
+ wmem_multimap_insert32(TransactionId_table,
+ wmem_strdup(wmem_file_scope(), buf),
+ pinfo->num,
+ ansi_map_saved_invokedata);
+
+ /*ws_warning("Invoke Hash string %s pkt: %u",buf,pinfo->num);*/
+ }
+}
+/* value strings */
+const value_string ansi_map_opr_code_strings[] = {
+ { 1, "Handoff Measurement Request" },
+ { 2, "Facilities Directive" },
+ { 3, "Mobile On Channel" },
+ { 4, "Handoff Back" },
+ { 5, "Facilities Release" },
+ { 6, "Qualification Request" },
+ { 7, "Qualification Directive" },
+ { 8, "Blocking" },
+ { 9, "Unblocking" },
+ { 10, "Reset Circuit" },
+ { 11, "Trunk Test" },
+ { 12, "Trunk Test Disconnect" },
+ { 13, "Registration Notification" },
+ { 14, "Registration Cancellation" },
+ { 15, "Location Request" },
+ { 16, "Routing Request" },
+ { 17, "Feature Request" },
+ { 18, "Reserved 18 (Service Profile Request, IS-41-C)" },
+ { 19, "Reserved 19 (Service Profile Directive, IS-41-C)" },
+ { 20, "Unreliable Roamer Data Directive" },
+ { 21, "Reserved 21 (Call Data Request, IS-41-C)" },
+ { 22, "MS Inactive" },
+ { 23, "Transfer To Number Request" },
+ { 24, "Redirection Request" },
+ { 25, "Handoff To Third" },
+ { 26, "Flash Request" },
+ { 27, "Authentication Directive" },
+ { 28, "Authentication Request" },
+ { 29, "Base Station Challenge" },
+ { 30, "Authentication Failure Report" },
+ { 31, "Count Request" },
+ { 32, "Inter System Page" },
+ { 33, "Unsolicited Response" },
+ { 34, "Bulk Deregistration" },
+ { 35, "Handoff Measurement Request 2" },
+ { 36, "Facilities Directive 2" },
+ { 37, "Handoff Back 2" },
+ { 38, "Handoff To Third 2" },
+ { 39, "Authentication Directive Forward" },
+ { 40, "Authentication Status Report" },
+ { 41, "Reserved 41" },
+ { 42, "Information Directive" },
+ { 43, "Information Forward" },
+ { 44, "Inter System Answer" },
+ { 45, "Inter System Page 2" },
+ { 46, "Inter System Setup" },
+ { 47, "Origination Request" },
+ { 48, "Random Variable Request" },
+ { 49, "Redirection Directive" },
+ { 50, "Remote User Interaction Directive" },
+ { 51, "SMS Delivery Backward" },
+ { 52, "SMS Delivery Forward" },
+ { 53, "SMS Delivery Point to Point" },
+ { 54, "SMS Notification" },
+ { 55, "SMS Request" },
+ { 56, "OTASP Request" },
+ { 57, "Information Backward" },
+ { 58, "Change Facilities" },
+ { 59, "Change Service" },
+ { 60, "Parameter Request" },
+ { 61, "TMSI Directive" },
+ { 62, "NumberPortabilityRequest" },
+ { 63, "Service Request" },
+ { 64, "Analyzed Information Request" },
+ { 65, "Connection Failure Report" },
+ { 66, "Connect Resource" },
+ { 67, "Disconnect Resource" },
+ { 68, "Facility Selected and Available" },
+ { 69, "Instruction Request" },
+ { 70, "Modify" },
+ { 71, "Reset Timer" },
+ { 72, "Search" },
+ { 73, "Seize Resource" },
+ { 74, "SRF Directive" },
+ { 75, "T Busy" },
+ { 76, "T NoAnswer" },
+ { 77, "Release" },
+ { 78, "SMS Delivery Point to Point Ack" },
+ { 79, "Message Directive" },
+ { 80, "Bulk Disconnection" },
+ { 81, "Call Control Directive" },
+ { 82, "O Answer" },
+ { 83, "O Disconnect" },
+ { 84, "Call Recovery Report" },
+ { 85, "T Answer" },
+ { 86, "T Disconnect" },
+ { 87, "Unreliable Call Data" },
+ { 88, "O CalledPartyBusy" },
+ { 89, "O NoAnswer" },
+ { 90, "Position Request" },
+ { 91, "Position Request Forward" },
+ { 92, "Call Termination Report" },
+ { 93, "Geo Position Directive" },
+ { 94, "Geo Position Request" },
+ { 95, "Inter System Position Request" },
+ { 96, "Inter System Position Request Forward" },
+ { 97, "ACG Directive" },
+ { 98, "Roamer Database Verification Request" },
+ { 99, "Add Service" },
+ { 100, "Drop Service" },
+ { 101, "InterSystemSMSPage" },
+ { 102, "LCSParameterRequest" },
+ { 103, "Unknown ANSI-MAP PDU" },
+ { 104, "Unknown ANSI-MAP PDU" },
+ { 105, "Unknown ANSI-MAP PDU" },
+ { 106, "PositionEventNotification" },
+ { 107, "Unknown ANSI-MAP PDU" },
+ { 108, "Unknown ANSI-MAP PDU" },
+ { 109, "Unknown ANSI-MAP PDU" },
+ { 110, "Unknown ANSI-MAP PDU" },
+ { 111, "InterSystemSMSDelivery-PointToPoint" },
+ { 112, "QualificationRequest2" },
+ { 0, NULL },
+};
+static value_string_ext ansi_map_opr_code_strings_ext = VALUE_STRING_EXT_INIT(ansi_map_opr_code_strings);
+
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
+static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
+static int dissect_ansi_map_SystemMyTypeCode(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
+
+/* Type of Digits (octet 1, bits A-H) */
+static const value_string ansi_map_type_of_digits_vals[] = {
+ { 0, "Not Used" },
+ { 1, "Dialed Number or Called Party Number" },
+ { 2, "Calling Party Number" },
+ { 3, "Caller Interaction" },
+ { 4, "Routing Number" },
+ { 5, "Billing Number" },
+ { 6, "Destination Number" },
+ { 7, "LATA" },
+ { 8, "Carrier" },
+ { 0, NULL }
+};
+/* Nature of Number (octet 2, bits A-H )*/
+static const true_false_string ansi_map_na_bool_val = {
+ "International",
+ "National"
+};
+static const true_false_string ansi_map_pi_bool_val = {
+ "Presentation Restricted",
+ "Presentation Allowed"
+};
+static const true_false_string ansi_map_navail_bool_val = {
+ "Number is not available",
+ "Number is available"
+};
+#if 0
+static const true_false_string ansi_map_si_bool_val = {
+ "User provided, screening passed",
+ "User provided, not screened"
+};
+#endif
+static const value_string ansi_map_si_vals[] = {
+ { 0, "User provided, not screened"},
+ { 1, "User provided, screening passed"},
+ { 2, "User provided, screening failed"},
+ { 3, "Network provided"},
+ { 0, NULL }
+};
+/* Encoding (octet 3, bits A-D) */
+static const value_string ansi_map_digits_enc_vals[] = {
+ { 0, "Not used"},
+ { 1, "BCD"},
+ { 2, "IA5"},
+ { 3, "Octet string"},
+ { 0, NULL }
+};
+/* Numbering Plan (octet 3, bits E-H) */
+static const value_string ansi_map_np_vals[] = {
+ { 0, "Unknown or not applicable"},
+ { 1, "ISDN Numbering"},
+ { 2, "Telephony Numbering (ITU-T Rec. E.164,E.163)"},
+ { 3, "Data Numbering (ITU-T Rec. X.121)"},
+ { 4, "Telex Numbering (ITU-T Rec. F.69)"},
+ { 5, "Maritime Mobile Numbering"},
+ { 6, "Land Mobile Numbering (ITU-T Rec. E.212)"},
+ { 7, "Private Numbering Plan"},
+ { 13, "SS7 Point Code (PC) and Subsystem Number (SSN)"},
+ { 14, "Internet Protocol (IP) Address."},
+ { 15, "Reserved for extension"},
+ { 0, NULL }
+};
+
+static void
+dissect_ansi_map_min_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ char *digit_str;
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_mintype);
+
+ proto_tree_add_item_ret_display_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, tvb_reported_length_remaining(tvb, offset), ENC_BCD_DIGITS_0_9, pinfo->pool, &digit_str);
+ proto_item_append_text(actx->created_item, " - %s", digit_str);
+}
+
+static void
+dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ guint8 octet , octet_len;
+ guint8 b1,b2,b3,b4;
+ int offset = 0;
+ char *digit_str;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_digitstype);
+
+ /* Octet 1 */
+ proto_tree_add_item(subtree, hf_ansi_map_type_of_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Octet 2 */
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_si, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitD, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_navail, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_pi, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_na, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Octet 3 */
+ octet = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_ansi_map_np, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_digits_enc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Octet 4 - */
+ switch(octet>>4){
+ case 0:/* Unknown or not applicable */
+ switch ((octet&0xf)){
+ case 1:
+ /* BCD Coding */
+ octet_len = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
+ if(octet_len == 0)
+ return;
+ offset++;
+ proto_tree_add_item_ret_display_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, ENC_KEYPAD_BC_TBCD, pinfo->pool, &digit_str);
+ proto_item_append_text(actx->created_item, " - %s", digit_str);
+ break;
+ case 2:
+ {
+ const guint8* digits;
+ /* IA5 Coding */
+ octet_len = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
+ if(octet_len == 0)
+ return;
+ offset++;
+ proto_tree_add_item_ret_string(subtree, hf_ansi_map_ia5_digits, tvb, offset, tvb_reported_length_remaining(tvb,offset),
+ ENC_ASCII|ENC_NA, pinfo->pool, &digits);
+ proto_item_append_text(actx->created_item, " - %s", digits);
+ }
+ break;
+ case 3:
+ /* Octet string */
+ break;
+ default:
+ break;
+ }
+ break;
+ case 1:/* ISDN Numbering (not used in this Standard). */
+ case 3:/* Data Numbering (ITU-T Rec. X.121) (not used in this Standard). */
+ case 4:/* Telex Numbering (ITU-T Rec. F.69) (not used in this Standard). */
+ case 5:/* Maritime Mobile Numbering (not used in this Standard). */
+ proto_tree_add_expert(subtree, pinfo, &ei_ansi_map_nr_not_used, tvb, offset, -1);
+ break;
+ case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */
+ case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */
+ case 7:/* Private Numbering Plan */
+ octet_len = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
+ if(octet_len == 0)
+ return;
+ offset++;
+ switch ((octet&0xf)){
+ case 1:
+ /* BCD Coding */
+ proto_tree_add_item_ret_display_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, ENC_KEYPAD_BC_TBCD, pinfo->pool, &digit_str);
+ proto_item_append_text(actx->created_item, " - %s", digit_str);
+ break;
+ case 2:
+ {
+ const guint8* digits;
+ /* IA5 Coding */
+ proto_tree_add_item_ret_string(subtree, hf_ansi_map_ia5_digits, tvb, offset, tvb_reported_length_remaining(tvb,offset),
+ ENC_ASCII|ENC_NA, pinfo->pool, &digits);
+ proto_item_append_text(actx->created_item, " - %s", digits);
+ }
+ break;
+ case 3:
+ /* Octet string */
+ break;
+ default:
+ break;
+ }
+ break;
+ case 13:/* ANSI SS7 Point Code (PC) and Subsystem Number (SSN). */
+ switch ((octet&0xf)){
+ case 3:
+ /* Octet string */
+ /* Point Code Member Number octet 2 */
+ b1 = tvb_get_guint8(tvb,offset);
+ offset++;
+ /* Point Code Cluster Number octet 3 */
+ b2 = tvb_get_guint8(tvb,offset);
+ offset++;
+ /* Point Code Network Number octet 4 */
+ b3 = tvb_get_guint8(tvb,offset);
+ offset++;
+ proto_tree_add_bytes_format_value(subtree, hf_ansi_map_point_code, tvb, offset-3, 3, NULL, "%u-%u-%u", b3, b2, b1);
+ /* Subsystem Number (SSN) octet 5 */
+ b4 = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_ansi_map_SSN, tvb, offset, 1, ENC_NA);
+ proto_item_append_text(actx->created_item, " - Point Code %u-%u-%u SSN %u", b3, b2, b1, b4);
+ break;
+ default:
+ break;
+ }
+ break;
+ case 14:/* Internet Protocol (IP) Address. */
+ break;
+ default:
+ proto_tree_add_expert(subtree, pinfo, &ei_ansi_map_nr_not_used, tvb, offset, -1);
+ break;
+ }
+
+}
+/* 6.5.3.13. Subaddress */
+
+/* Type of Subaddress (octet 1, bits E-G) */
+static const value_string ansi_map_sub_addr_type_vals[] = {
+ { 0, "NSAP (CCITT Rec. X.213 or ISO 8348 AD2)"},
+ { 1, "User specified"},
+ { 2, "Reserved"},
+ { 3, "Reserved"},
+ { 4, "Reserved"},
+ { 5, "Reserved"},
+ { 6, "Reserved"},
+ { 7, "Reserved"},
+ { 0, NULL }
+};
+
+static void
+dissect_ansi_map_subaddress(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+ /* Type of Subaddress (octet 1, bits E-G) */
+ proto_tree_add_item(subtree, hf_ansi_map_subaddr_type, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Odd/Even Indicator (O/E) (octet 1, bit D) */
+ proto_tree_add_item(subtree, hf_ansi_map_subaddr_odd_even, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/*
+ * 6.5.2.2 ActionCode
+ * Table 114 ActionCode value
+ *
+ * 6.5.2.2 ActionCode(TIA/EIA-41.5-D, page 5-129) */
+
+static const value_string ansi_map_ActionCode_vals[] = {
+ { 0, "Not used"},
+ { 1, "Continue processing"},
+ { 2, "Disconnect call"},
+ { 3, "Disconnect call leg"},
+ { 4, "Conference Calling Drop Last Party"},
+ { 5, "Bridge call leg(s) to conference call"},
+ { 6, "Drop call leg on busy or routing failure"},
+ { 7, "Disconnect all call legs"},
+ { 8, "Attach MSC to OTAF"},
+ { 9, "Initiate RegistrationNotification"},
+ { 10, "Generate Public Encryption values"},
+ { 11, "Generate A-key"},
+ { 12, "Perform SSD Update procedure"},
+ { 13, "Perform Re-authentication procedure"},
+ { 14, "Release TRN"},
+ { 15, "Commit A-key"},
+ { 16, "Release Resources (e.g., A-key, Traffic Channel)"},
+ { 17, "Record NEWMSID"},
+ { 18, "Allocate Resources (e.g., Multiple message traffic channel delivery)."},
+ { 19, "Generate Authentication Signature"},
+ { 20, "Release leg and redirect subscriber"},
+ { 21, "Do Not Wait For MS User Level Response"},
+ { 22, "Prepare for CDMA Handset-Based Position Determination"},
+ { 23, "CDMA Handset-Based Position Determination Complete"},
+ { 0, NULL }
+};
+static value_string_ext ansi_map_ActionCode_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_ActionCode_vals);
+
+/* 6.5.2.3 AlertCode */
+
+/* Pitch (octet 1, bits G-H) */
+static const value_string ansi_map_AlertCode_Pitch_vals[] = {
+ { 0, "Medium pitch"},
+ { 1, "High pitch"},
+ { 2, "Low pitch"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+/* Cadence (octet 1, bits A-F) */
+static const value_string ansi_map_AlertCode_Cadence_vals[] = {
+ { 0, "NoTone"},
+ { 1, "Long"},
+ { 2, "ShortShort"},
+ { 3, "ShortShortLong"},
+ { 4, "ShortShort2"},
+ { 5, "ShortLongShort"},
+ { 6, "ShortShortShortShort"},
+ { 7, "PBXLong"},
+ { 8, "PBXShortShort"},
+ { 9, "PBXShortShortLong"},
+
+ { 10, "PBXShortLongShort"},
+ { 11, "PBXShortShortShortShort"},
+ { 12, "PipPipPipPip"},
+ { 13, "Reserved. Treat the same as value 0, NoTone"},
+ { 14, "Reserved. Treat the same as value 0, NoTone"},
+ { 15, "Reserved. Treat the same as value 0, NoTone"},
+ { 16, "Reserved. Treat the same as value 0, NoTone"},
+ { 17, "Reserved. Treat the same as value 0, NoTone"},
+ { 18, "Reserved. Treat the same as value 0, NoTone"},
+ { 19, "Reserved. Treat the same as value 0, NoTone"},
+ { 0, NULL }
+};
+
+/* Alert Action (octet 2, bits A-C) */
+static const value_string ansi_map_AlertCode_Alert_Action_vals[] = {
+ { 0, "Alert without waiting to report"},
+ { 1, "Apply a reminder alert once"},
+ { 2, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
+ { 3, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
+ { 4, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
+ { 5, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
+ { 6, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
+ { 7, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
+ { 0, NULL }
+};
+static void
+dissect_ansi_map_alertcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+ /* Pitch (octet 1, bits G-H) */
+ proto_tree_add_item(subtree, hf_ansi_alertcode_pitch, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Cadence (octet 1, bits A-F) */
+ proto_tree_add_item(subtree, hf_ansi_alertcode_cadence, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /* Alert Action (octet 2, bits A-C) */
+ proto_tree_add_item(subtree, hf_ansi_alertcode_alertaction, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/* 6.5.2.4 AlertResult */
+/* Result (octet 1) */
+static const value_string ansi_map_AlertResult_result_vals[] = {
+ { 0, "Not specified"},
+ { 1, "Success"},
+ { 2, "Failure"},
+ { 3, "Denied"},
+ { 4, "NotAttempted"},
+ { 5, "NoPageResponse"},
+ { 6, "Busy"},
+ { 0, NULL }
+};
+
+/* 6.5.2.5 AnnouncementCode Updatef from NS0018Re*/
+/* Tone (octet 1) */
+static const value_string ansi_map_AnnouncementCode_tone_vals[] = {
+ { 0, "DialTone"},
+ { 1, "RingBack or AudibleAlerting"},
+ { 2, "InterceptTone or MobileReorder"},
+ { 3, "CongestionTone or ReorderTone"},
+ { 4, "BusyTone"},
+ { 5, "ConfirmationTone"},
+ { 6, "AnswerTone"},
+ { 7, "CallWaitingTone"},
+ { 8, "OffHookTone"},
+ { 17, "RecallDialTone"},
+ { 18, "BargeInTone"},
+ { 20, "PPCInsufficientTone"},
+ { 21, "PPCWarningTone1"},
+ { 22, "PPCWarningTone2"},
+ { 23, "PPCWarningTone3"},
+ { 24, "PPCDisconnectTone"},
+ { 25, "PPCRedirectTone"},
+ { 63, "TonesOff"},
+ { 192, "PipTone"},
+ { 193, "AbbreviatedIntercept"},
+ { 194, "AbbreviatedCongestion"},
+ { 195, "WarningTone"},
+ { 196, "DenialToneBurst"},
+ { 197, "DialToneBurst"},
+ { 250, "IncomingAdditionalCallTone"},
+ { 251, "PriorityAdditionalCallTone"},
+ { 0, NULL }
+};
+/* Class (octet 2, bits A-D) */
+static const value_string ansi_map_AnnouncementCode_class_vals[] = {
+ { 0, "Concurrent"},
+ { 1, "Sequential"},
+ { 0, NULL }
+};
+/* Standard Announcement (octet 3) Updated with N.S0015 */
+static const value_string ansi_map_AnnouncementCode_std_ann_vals[] = {
+ { 0, "None"},
+ { 1, "UnauthorizedUser"},
+ { 2, "InvalidESN"},
+ { 3, "UnauthorizedMobile"},
+ { 4, "SuspendedOrigination"},
+ { 5, "OriginationDenied"},
+ { 6, "ServiceAreaDenial"},
+ { 16, "PartialDial"},
+ { 17, "Require1Plus"},
+ { 18, "Require1PlusNPA"},
+ { 19, "Require0Plus"},
+ { 20, "Require0PlusNPA"},
+ { 21, "Deny1Plus"},
+ { 22, "Unsupported10plus"},
+ { 23, "Deny10plus"},
+ { 24, "Unsupported10XXX"},
+ { 25, "Deny10XXX"},
+ { 26, "Deny10XXXLocally"},
+ { 27, "Require10Plus"},
+ { 28, "RequireNPA"},
+ { 29, "DenyTollOrigination"},
+ { 30, "DenyInternationalOrigination"},
+ { 31, "Deny0Minus"},
+ { 48, "DenyNumber"},
+ { 49, "AlternateOperatorServices"},
+ { 64, "No Circuit or AllCircuitsBusy or FacilityProblem"},
+ { 65, "Overload"},
+ { 66, "InternalOfficeFailure"},
+ { 67, "NoWinkReceived"},
+ { 68, "InterofficeLinkFailure"},
+ { 69, "Vacant"},
+ { 70, "InvalidPrefix or InvalidAccessCode"},
+ { 71, "OtherDialingIrregularity"},
+ { 80, "VacantNumber or DisconnectedNumber"},
+ { 81, "DenyTermination"},
+ { 82, "SuspendedTermination"},
+ { 83, "ChangedNumber"},
+ { 84, "InaccessibleSubscriber"},
+ { 85, "DenyIncomingTol"},
+ { 86, "RoamerAccessScreening"},
+ { 87, "RefuseCall"},
+ { 88, "RedirectCall"},
+ { 89, "NoPageResponse"},
+ { 90, "NoAnswer"},
+ { 96, "RoamerIntercept"},
+ { 97, "GeneralInformation"},
+ { 112, "UnrecognizedFeatureCode"},
+ { 113, "UnauthorizedFeatureCode"},
+ { 114, "RestrictedFeatureCode"},
+ { 115, "InvalidModifierDigits"},
+ { 116, "SuccessfulFeatureRegistration"},
+ { 117, "SuccessfulFeatureDeRegistration"},
+ { 118, "SuccessfulFeatureActivation"},
+ { 119, "SuccessfulFeatureDeActivation"},
+ { 120, "InvalidForwardToNumber"},
+ { 121, "CourtesyCallWarning"},
+ { 128, "EnterPINSendPrompt"},
+ { 129, "EnterPINPrompt"},
+ { 130, "ReEnterPINSendPrompt"},
+ { 131, "ReEnterPINPrompt"},
+ { 132, "EnterOldPINSendPrompt"},
+ { 133, "EnterOldPINPrompt"},
+ { 134, "EnterNewPINSendPrompt"},
+ { 135, "EnterNewPINPrompt"},
+ { 136, "ReEnterNewPINSendPrompt"},
+ { 137, "ReEnterNewPINPrompt"},
+ { 138, "EnterPasswordPrompt"},
+ { 139, "EnterDirectoryNumberPrompt"},
+ { 140, "ReEnterDirectoryNumberPrompt"},
+ { 141, "EnterFeatureCodePrompt"},
+ { 142, "EnterEnterCreditCardNumberPrompt"},
+ { 143, "EnterDestinationNumberPrompt"},
+ { 152, "PPCInsufficientAccountBalance"},
+ { 153, "PPCFiveMinuteWarning"},
+ { 154, "PPCThreeMinuteWarning"},
+ { 155, "PPCTwoMinuteWarning"},
+ { 156, "PPCOneMinuteWarning"},
+ { 157, "PPCDisconnect"},
+ { 158, "PPCRedirect"},
+ { 0, NULL }
+};
+
+
+
+static void
+dissect_ansi_map_announcementcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+
+ /* Tone (octet 1) */
+ proto_tree_add_item(subtree, hf_ansi_map_announcementcode_tone, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Class (octet 2, bits A-D) */
+ proto_tree_add_item(subtree, hf_ansi_map_announcementcode_class, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Standard Announcement (octet 3) */
+ proto_tree_add_item(subtree, hf_ansi_map_announcementcode_std_ann, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Custom Announcement ( octet 4 )
+ e. The assignment of this octet is left to bilateral agreement. When a Custom
+ Announcement is specified it takes precedence over either the Standard
+ Announcement or Tone
+ */
+ proto_tree_add_item(subtree, hf_ansi_map_announcementcode_cust_ann, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/* 6.5.2.8 AuthenticationCapability Updated N.S0003*/
+static const value_string ansi_map_AuthenticationCapability_vals[] = {
+ { 0, "Not used"},
+ { 1, "No authentication required"},
+ { 2, "Authentication required"},
+ { 128, "Authentication required and UIM capable."},
+ { 0, NULL }
+};
+
+/* 6.5.2.14 AuthorizationPeriod*/
+
+/* Period (octet 1) */
+static const value_string ansi_map_authorizationperiod_period_vals[] = {
+ { 0, "Not used"},
+ { 1, "Per Call"},
+ { 2, "Hours"},
+ { 3, "Days"},
+ { 4, "Weeks"},
+ { 5, "Per Agreement"},
+ { 6, "Indefinite (i.e., authorized until canceled or deregistered)"},
+ { 7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
+ { 0, NULL }
+};
+/* Value (octet 2)
+Number of minutes hours, days, weeks, or
+number of calls (as per Period). If Period
+indicates anything else the Value is set to zero
+on sending and ignored on receipt.
+*/
+static void
+dissect_ansi_map_authorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+ proto_tree_add_item(subtree, hf_ansi_map_authorizationperiod_period, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/* 6.5.2.15 AvailabilityType */
+static const value_string ansi_map_AvailabilityType_vals[] = {
+ { 0, "Not used"},
+ { 1, "Unspecified MS inactivity type"},
+ { 0, NULL }
+};
+
+/* 6.5.2.16 BillingID */
+static void
+dissect_ansi_map_billingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+
+ proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset = offset + 2;
+ proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* ID Number */
+ proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, ENC_BIG_ENDIAN);
+ offset = offset + 3;
+ proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+
+
+/* 6.5.2.20 CallingFeaturesIndicator */
+static const value_string ansi_map_FeatureActivity_vals[] = {
+ { 0, "Not used"},
+ { 1, "Not authorized"},
+ { 2, "Authorized but de-activated"},
+ { 3, "Authorized and activated"},
+ { 0, NULL }
+};
+
+
+static void
+dissect_ansi_map_callingfeaturesindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+ int length;
+
+ proto_tree *subtree;
+
+ length = tvb_reported_length_remaining(tvb,offset);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
+
+ /* Call Waiting: FeatureActivity, CW-FA (Octet 1 bits GH ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cwfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Forwarding No Answer FeatureActivity, CFNA-FA (Octet 1 bits EF ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfnafa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Forwarding Busy FeatureActivity, CFB-FA (Octet 1 bits CD ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfbfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Forwarding Unconditional FeatureActivity, CFU-FA (Octet 1 bits AB ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfufa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ length--;
+
+ /* Call Transfer: FeatureActivity, CT-FA (Octet 2 bits GH ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ctfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Voice Privacy FeatureActivity, VP-FA (Octet 2 bits EF ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_vpfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Delivery: FeatureActivity (not interpreted on reception by IS-41-C or later)
+ CD-FA (Octet 2 bits CD ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cdfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Three-Way Calling FeatureActivity, 3WC-FA (Octet 2 bits AB ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_3wcfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ length--;
+
+
+ /* Calling Number Identification Restriction Override FeatureActivity CNIROver-FA (Octet 3 bits GH ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cniroverfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Calling Number Identification Restriction: FeatureActivity CNIR-FA (Octet 3 bits EF ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnirfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Calling Number Identification Presentation: FeatureActivity CNIP2-FA (Octet 3 bits CD ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip2fa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Calling Number Identification Presentation: FeatureActivity CNIP1-FA (Octet 3 bits AB ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip1fa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ length--;
+ if ( length == 0)
+ return;
+ offset++;
+
+ /* USCF divert to voice mail: FeatureActivity USCFvm-FA (Octet 4 bits GH ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfvmfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Answer Hold: FeatureActivity AH-FA (Octet 4 bits EF ) N.S0029-0 v1.0 */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ahfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Data Privacy Feature Activity DP-FA (Octet 4 bits CD ) N.S0008-0 v 1.0 */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_dpfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Priority Call Waiting FeatureActivity PCW-FA (Octet 4 bits AB ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_pcwfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ length--;
+ if ( length == 0)
+ return;
+ offset++;
+
+ /* USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA (Octet 5 bits AB ) */
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfmsfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* USCF divert to network registered DN:FeatureActivity. USCFnr-FA (Octet 5 bits CD )*/
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfnrfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* CDMA-Packet Data Service: FeatureActivity. CPDS-FA (Octet 5 bits EF ) N.S0029-0 v1.0*/
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cpdsfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* CDMA-Concurrent Service:FeatureActivity. CCS-FA (Octet 5 bits GH ) N.S0029-0 v1.0*/
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ccsfa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ length--;
+ if ( length == 0)
+ return;
+ offset++;
+
+ /* TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA (Octet 6 bits AB ) N.S0029-0 v1.0*/
+ proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_epefa, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+
+
+/* 6.5.2.27 CancellationType */
+static const value_string ansi_map_CancellationType_vals[] = {
+ { 0, "Not used"},
+ { 1, "ServingSystemOption"},
+ { 2, "ReportInCall."},
+ { 3, "Discontinue"},
+ { 0, NULL }
+};
+
+/* 6.5.2.29 CDMACallMode Updated with N.S0029-0 v1.0*/
+/* Call Mode (octet 1, bit A) */
+static const true_false_string ansi_map_CDMACallMode_cdma_bool_val = {
+ "CDMA 800 MHz channel (Band Class 0) acceptable.",
+ "CDMA 800 MHz channel (Band Class 0) not acceptable"
+};
+/* Call Mode (octet 1, bit B) */
+static const true_false_string ansi_map_CallMode_amps_bool_val = {
+ "AAMPS 800 MHz channel acceptable",
+ "AMPS 800 MHz channel not acceptable"
+};
+/* Call Mode (octet 1, bit C) */
+static const true_false_string ansi_map_CallMode_namps_bool_val = {
+ "NAMPS 800 MHz channel acceptable",
+ "NAMPS 800 MHz channel not acceptable"
+};
+/* Call Mode (octet 1, bit D) */
+static const true_false_string ansi_map_CDMACallMode_cls1_bool_val = {
+ "CDMA 1900 MHz channel (Band Class 1) acceptable.",
+ "CDMA 1900 MHz channel (Band Class 1) not acceptable"
+};
+/* Call Mode (octet 1, bit E) */
+static const true_false_string ansi_map_CDMACallMode_cls2_bool_val = {
+ "TACS channel (Band Class 2) acceptable",
+ "TACS channel (Band Class 2) not acceptable"
+};
+/* Call Mode (octet 1, bit F) */
+static const true_false_string ansi_map_CDMACallMode_cls3_bool_val = {
+ "JTACS channel (Band Class 3) acceptable",
+ "JTACS channel (Band Class 3) not acceptable"
+};
+/* Call Mode (octet 1, bit G) */
+static const true_false_string ansi_map_CDMACallMode_cls4_bool_val = {
+ "Korean PCS channel (Band Class 4) acceptable",
+ "Korean PCS channel (Band Class 4) not acceptable"
+};
+/* Call Mode (octet 1, bit H) */
+static const true_false_string ansi_map_CDMACallMode_cls5_bool_val = {
+ "450 MHz channel (Band Class 5) acceptable",
+ "450 MHz channel (Band Class 5) not acceptable"
+};
+/* Call Mode (octet 2, bit A) */
+static const true_false_string ansi_map_CDMACallMode_cls6_bool_val = {
+ "2 GHz channel (Band Class 6) acceptable.",
+ "2 GHz channel (Band Class 6) not acceptable."
+};
+
+/* Call Mode (octet 2, bit B) */
+static const true_false_string ansi_map_CDMACallMode_cls7_bool_val = {
+ "700 MHz channel (Band Class 7) acceptable",
+ "700 MHz channel (Band Class 7) not acceptable"
+};
+
+/* Call Mode (octet 2, bit C) */
+static const true_false_string ansi_map_CDMACallMode_cls8_bool_val = {
+ "1800 MHz channel (Band Class 8) acceptable",
+ "1800 MHz channel (Band Class 8) not acceptable"
+};
+/* Call Mode (octet 2, bit D) */
+static const true_false_string ansi_map_CDMACallMode_cls9_bool_val = {
+ "900 MHz channel (Band Class 9) acceptable",
+ "900 MHz channel (Band Class 9) not acceptable"
+};
+/* Call Mode (octet 2, bit E) */
+static const true_false_string ansi_map_CDMACallMode_cls10_bool_val = {
+ "Secondary 800 MHz channel (Band Class 10) acceptable.",
+ "Secondary 800 MHz channel (Band Class 10) not acceptable."
+};
+
+static void
+dissect_ansi_map_cdmacallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+ int length;
+
+ proto_tree *subtree;
+
+ length = tvb_reported_length_remaining(tvb,offset);
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
+ /* Call Mode (octet 1, bit H) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls5, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 1, bit G) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls4, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 1, bit F) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls3, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 1, bit E) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls2, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 1, bit D) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls1, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 1, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_namps, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 1, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_amps, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 1, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cdma, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+ length--;
+ if ( length == 0)
+ return;
+ offset++;
+
+ /* Call Mode (octet 2, bit E) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls10, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 2, bit D) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls9, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 2, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls8, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 2, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls7, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Mode (octet 2, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls6, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/* 6.5.2.30 CDMAChannelData */
+/* Updated with N.S0010-0 v 1.0 */
+
+static const value_string ansi_map_cdmachanneldata_band_cls_vals[] = {
+ { 0, "800 MHz Cellular System"},
+ { 0, NULL }
+};
+
+static void
+dissect_ansi_map_cdmachanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ int length;
+
+ proto_tree *subtree;
+
+ length = tvb_reported_length_remaining(tvb,offset);
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_cdmachanneldata);
+
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_Frame_Offset, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* CDMA Channel Number */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_CDMA_ch_no, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset = offset + 2;
+ length = length -2;
+ /* Band Class */
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_band_cls, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Long Code Mask */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b6, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b5, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b4, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b3, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b2, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b1, tvb, offset, 1, ENC_BIG_ENDIAN);
+ length = length - 6;
+ if (length == 0)
+ return;
+ offset++;
+ /* NP_EXT */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_np_ext, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Nominal Power */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nominal_pwr, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Number Preamble */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nr_preamble, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/* 6.5.2.31 CDMACodeChannel */
+
+/* 6.5.2.41 CDMAStationClassMark */
+/* Power Class: (PC) (octet 1, bits A and B) */
+static const value_string ansi_map_CDMAStationClassMark_pc_vals[] = {
+ { 0, "Class I"},
+ { 1, "Class II"},
+ { 2, "Class III"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+/* Analog Transmission: (DTX) (octet 1, bit C) */
+static const true_false_string ansi_map_CDMAStationClassMark_dtx_bool_val = {
+ "Discontinuous",
+ "Continuous"
+};
+/* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
+static const true_false_string ansi_map_CDMAStationClassMark_smi_bool_val = {
+ "Slotted capable",
+ "Slotted incapable"
+};
+/* Dual-mode Indicator(DMI) (octet 1, bit G) */
+static const true_false_string ansi_map_CDMAStationClassMark_dmi_bool_val = {
+ "Dual-mode CDMA",
+ "CDMA only"
+};
+
+
+static void
+dissect_ansi_map_cdmastationclassmark(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_cdmastationclassmark);
+
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Dual-mode Indicator(DMI) (octet 1, bit G) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dmi, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_smi, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitED, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Analog Transmission: (DTX) (octet 1, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dtx, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Power Class: (PC) (octet 1, bits A and B) */
+ proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_pc, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+/* 6.5.2.47 ChannelData */
+/* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
+static const value_string ansi_map_ChannelData_dtx_vals[] = {
+ { 0, "DTX disabled"},
+ { 1, "Reserved. Treat the same as value 00, DTX disabled."},
+ { 2, "DTX-low mode"},
+ { 3, "DTX mode active or acceptable"},
+ { 0, NULL }
+};
+
+
+static void
+dissect_ansi_map_channeldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_channeldata);
+
+ /* SAT Color Code (SCC) (octet 1, bits H and G) */
+ proto_tree_add_item(subtree, hf_ansi_map_channeldata_scc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
+ proto_tree_add_item(subtree, hf_ansi_map_channeldata_dtx, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Voice Mobile Attenuation Code (VMAC) (octet 1, bits A - C)*/
+ proto_tree_add_item(subtree, hf_ansi_map_channeldata_vmac, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+ offset++;
+ /* Channel Number (CHNO) ( octet 2 and 3 ) */
+ proto_tree_add_item(subtree, hf_ansi_map_channeldata_chno, tvb, offset, 2, ENC_BIG_ENDIAN);
+
+}
+
+/* 6.5.2.50 ConfidentialityModes */
+/* Updated with N.S0008-0 v 1.0*/
+/* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
+
+static void
+dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_confidentialitymodes);
+
+ /* DataPrivacy (DP) Confidentiality Status (octet 1, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_dp, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Signaling Message Encryption (SE) Confidentiality Status (octet 1, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_se, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_vp, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+
+/* 6.5.2.51 ControlChannelData */
+
+/* Digital Color Code (DCC) (octet 1, bit H and G) */
+/* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
+/* Channel Number (CHNO) ( octet 2 and 3 ) */
+/* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
+/* SDCC1 ( octet 4, bit D and C )*/
+/* SDCC2 ( octet 4, bit A and B )*/
+
+static void
+dissect_ansi_map_controlchanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_controlchanneldata);
+
+ /* Digital Color Code (DCC) (octet 1, bit H and G) */
+ proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_dcc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitFED, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
+ proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_cmac, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Channel Number (CHNO) ( octet 2 and 3 ) */
+ proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_chno, tvb, offset, 2, ENC_BIG_ENDIAN);
+ /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
+ offset = offset +2;
+ /* SDCC1 ( octet 4, bit D and C )*/
+ proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc1, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* SDCC2 ( octet 4, bit A and B )*/
+ proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc2, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+
+/* 6.5.2.52 CountUpdateReport */
+static const value_string ansi_map_CountUpdateReport_vals[] = {
+ { 0, "Class I"},
+ { 1, "Class II"},
+ { 2, "Class III"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+
+/* 6.5.2.53 DeniedAuthorizationPeriod */
+/* Period (octet 1) */
+static const value_string ansi_map_deniedauthorizationperiod_period_vals[] = {
+ { 0, "Not used"},
+ { 1, "Per Call. Re-authorization should be attempted on the next call attempt"},
+ { 2, "Hours"},
+ { 3, "Days"},
+ { 4, "Weeks"},
+ { 5, "Per Agreement"},
+ { 6, "Reserved"},
+ { 7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
+ { 8, "Minutes"},
+ { 0, NULL }
+};
+/* Value (octet 2)
+Number of minutes hours, days, weeks, or
+number of calls (as per Period). If Period
+indicates anything else the Value is set to zero
+on sending and ignored on receipt.
+*/
+
+static void
+dissect_ansi_map_deniedauthorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+ proto_tree_add_item(subtree, hf_ansi_map_deniedauthorizationperiod_period, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+
+
+/* 6.5.2.57 DigitCollectionControl */
+/* TODO Add decoding here */
+
+/* 6.5.2.64 ExtendedMSCID */
+static const value_string ansi_map_msc_type_vals[] = {
+ { 0, "Not specified"},
+ { 1, "Serving MSC"},
+ { 2, "Home MSC"},
+ { 3, "Gateway MSC"},
+ { 4, "HLR"},
+ { 5, "VLR"},
+ { 6, "EIR (reserved)"},
+ { 7, "AC"},
+ { 8, "Border MSC"},
+ { 9, "Originating MSC"},
+ { 0, NULL }
+};
+
+static void
+dissect_ansi_map_extendedmscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_extendedmscid);
+ /* Type (octet 1) */
+ proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset = offset + 2;
+ proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/* 6.5.2.65 ExtendedSystemMyTypeCode */
+static void
+dissect_ansi_map_extendedsystemmytypecode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_extendedsystemmytypecode);
+ /* Type (octet 1) */
+ proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ dissect_ansi_map_SystemMyTypeCode(TRUE, tvb, offset, actx, subtree, hf_ansi_map_systemMyTypeCode);
+}
+
+
+/* 6.5.2.68 GeographicAuthorization */
+/* Geographic Authorization (octet 1) */
+static const value_string ansi_map_GeographicAuthorization_vals[] = {
+ { 0, "Not used"},
+ { 1, "Authorized for all MarketIDs served by the VLR"},
+ { 2, "Authorized for this MarketID only"},
+ { 3, "Authorized for this MarketID and Switch Number only"},
+ { 4, "Authorized for this LocationAreaID within a MarketID only"},
+ { 5, "VLR"},
+ { 6, "EIR (reserved)"},
+ { 7, "AC"},
+ { 8, "Border MSC"},
+ { 9, "Originating MSC"},
+ { 0, NULL }
+};
+
+/* 6.5.2.71 HandoffState */
+/* Party Involved (PI) (octet 1, bit A) */
+static const true_false_string ansi_map_HandoffState_pi_bool_val = {
+ "Terminator is handing off",
+ "Originator is handing off"
+};
+static void
+dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_handoffstate);
+ /* Party Involved (PI) (octet 1, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_handoffstate_pi, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+
+/* 6.5.2.72 InterMSCCircuitID */
+/* Trunk Member Number (M) Octet2 */
+static void
+dissect_ansi_map_intermsccircuitid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+ guint8 octet, octet2;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+ /* Trunk Group Number (G) Octet 1 */
+ octet = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Trunk Member Number (M) Octet2 */
+ octet2 = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_item_append_text(actx->created_item, " (G %u/M %u)", octet, octet2);
+}
+
+/* 6.5.2.78 MessageWaitingNotificationCount */
+/* Type of messages (octet 1) */
+static const value_string ansi_map_MessageWaitingNotificationCount_type_vals[] = {
+ { 0, "Voice messages"},
+ { 1, "Short Message Services (SMS) messages"},
+ { 2, "Group 3 (G3) Fax messages"},
+ { 0, NULL }
+};
+
+static void
+dissect_ansi_map_messagewaitingnotificationcount(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+ /* Type of messages (octet 1) */
+ proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_tom, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Number of Messages Waiting (octet 2) */
+ proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_no_mw, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+
+#if 0
+/* 6.5.2.79 MessageWaitingNotificationType */
+/* Pip Tone (PT) (octet 1, bit A) */
+static const true_false_string ansi_map_MessageWaitingNotificationType_pt_bool_val = {
+ "Pip Tone (PT) notification is required",
+ "Pip Tone (PT) notification is not authorized or no notification is required"
+};
+#endif
+#if 0
+/* Alert Pip Tone (APT) (octet 1, bit B) */
+static const true_false_string ansi_map_MessageWaitingNotificationType_apt_bool_val = {
+ "Alert Pip Tone (APT) notification is required",
+ "Alert Pip Tone (APT) notification is not authorized or notification is not required"
+};
+#endif
+/* Message Waiting Indication (MWI) (octet 1, bits C and D) */
+static const value_string ansi_map_MessageWaitingNotificationType_mwi_vals[] = {
+ { 0, "No MWI. Message Waiting Indication (MWI) notification is not authorized or notification is not required"},
+ { 1, "Reserved"},
+ { 2, "MWI On. Message Waiting Indication (MWI) notification is required. Messages waiting"},
+ { 3, "MWI Off. Message Waiting Indication (MWI) notification is required. No messages waiting"},
+ { 0, NULL }
+};
+
+static void
+dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+
+ /* Message Waiting Indication (MWI) (octet 1, bits C and D) */
+ proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_mwi, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Alert Pip Tone (APT) (octet 1, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_apt, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Pip Tone (PT) (octet 1, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_pt, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+
+/* 6.5.2.81 MobileIdentificationNumber */
+
+/* 6.5.2.82 MSCID */
+
+static void
+dissect_ansi_map_mscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
+
+ proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset = offset + 2;
+ proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+
+
+/* 6.5.2.84 MSLocation */
+static void
+dissect_ansi_map_mslocation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
+
+ /* Latitude in tenths of a second octet 1 - 3 */
+ proto_tree_add_item(subtree, hf_ansi_map_mslocation_lat, tvb, offset, 3, ENC_BIG_ENDIAN);
+ offset = offset + 3;
+ /* Longitude in tenths of a second octet 4 - 6 */
+ proto_tree_add_item(subtree, hf_ansi_map_mslocation_long, tvb, offset, 3, ENC_BIG_ENDIAN);
+ offset = offset + 3;
+ /* Resolution in units of 1 foot octet 7, octet 8 optional */
+ proto_tree_add_item(subtree, hf_ansi_map_mslocation_res, tvb, offset, -1, ENC_BIG_ENDIAN);
+
+}
+/* 6.5.2.85 NAMPSCallMode */
+static void
+dissect_ansi_map_nampscallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
+
+ /* Call Mode (octet 1, bits A and B) */
+ proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_amps, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_namps, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+
+/* 6.5.2.86 NAMPSChannelData */
+/* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
+static const value_string ansi_map_NAMPSChannelData_navca_vals[] = {
+ { 0, "Wide. 30 kHz AMPS voice channel"},
+ { 1, "Upper. 10 kHz NAMPS voice channel"},
+ { 2, "Middle. 10 kHz NAMPS voice channel"},
+ { 3, "Lower. 10 kHz NAMPS voice channel"},
+ { 0, NULL }
+};
+/* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
+static const value_string ansi_map_NAMPSChannelData_ccinidicator_vals[] = {
+ { 0, "ChannelData parameter SCC field applies"},
+ { 1, "Digital SAT Color Code 1 (ignore SCC field)"},
+ { 2, "Digital SAT Color Code 2 (ignore SCC field)"},
+ { 3, "Digital SAT Color Code 3 (ignore SCC field)"},
+ { 4, "Digital SAT Color Code 4 (ignore SCC field)"},
+ { 5, "Digital SAT Color Code 5 (ignore SCC field)"},
+ { 6, "Digital SAT Color Code 6 (ignore SCC field)"},
+ { 7, "Digital SAT Color Code 7 (ignore SCC field)"},
+ { 0, NULL }
+};
+
+
+
+static void
+dissect_ansi_map_nampschanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
+
+ /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
+ proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_CCIndicator, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
+ proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_navca, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+
+#if 0
+/* 6.5.2.88 OneTimeFeatureIndicator */
+/* updated with N.S0012 */
+/* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
+/* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
+
+static const value_string ansi_map_onetimefeatureindicator_cw_vals[] = {
+ { 0, "Ignore"},
+ { 1, "No CW"},
+ { 2, "Normal CW"},
+ { 3, "Priority CW"},
+ { 0, NULL }
+};
+#endif
+#if 0
+/* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
+static const value_string ansi_map_onetimefeatureindicator_mwn_vals[] = {
+ { 0, "Ignore"},
+ { 1, "Pip Tone Inactive"},
+ { 2, "Pip Tone Active"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+#endif
+#if 0
+/* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
+static const value_string ansi_map_onetimefeatureindicator_cnir_vals[] = {
+ { 0, "Ignore"},
+ { 1, "CNIR Inactive"},
+ { 2, "CNIR Active"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+#endif
+
+#if 0
+/* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
+static const value_string ansi_map_onetimefeatureindicator_paca_vals[] = {
+ { 0, "Ignore"},
+ { 1, "PACA Demand Inactive"},
+ { 2, "PACA Demand Activated"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+#endif
+
+#if 0
+/* Flash Privileges (Flash) (octet 2, bits C and D) */
+static const value_string ansi_map_onetimefeatureindicator_flash_vals[] = {
+ { 0, "Ignore"},
+ { 1, "Flash Inactive"},
+ { 2, "Flash Active"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+#endif
+#if 0
+/* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
+static const value_string ansi_map_onetimefeatureindicator_cnar_vals[] = {
+ { 0, "Ignore"},
+ { 1, "Presentation Allowed"},
+ { 2, "Presentation Restricted."},
+ { 3, "Blocking Toggle"},
+ { 0, NULL }
+};
+#endif
+static void
+dissect_ansi_map_onetimefeatureindicator(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ /*
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
+ */
+ /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
+ /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
+ /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
+ /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
+ /*offset++;*/
+ /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
+ /* Flash Privileges (Flash) (octet 2, bits C and D) */
+ /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
+
+
+}
+
+/* 6.5.2.90 OriginationTriggers */
+/* All Origination (All) (octet 1, bit A) */
+static const true_false_string ansi_map_originationtriggers_all_bool_val = {
+ "Launch an OriginationRequest for any call attempt. This overrides all other values",
+ "Trigger is not active"
+};
+
+/* Local (octet 1, bit B) */
+static const true_false_string ansi_map_originationtriggers_local_bool_val = {
+ "Launch an OriginationRequest for any local call attempt",
+ "Trigger is not active"
+};
+
+/* Intra-LATA Toll (ILATA) (octet 1, bit C) */
+static const true_false_string ansi_map_originationtriggers_ilata_bool_val = {
+ "Launch an OriginationRequest for any intra-LATA call attempt",
+ "Trigger is not active"
+};
+/* Inter-LATA Toll (OLATA) (octet 1, bit D) */
+static const true_false_string ansi_map_originationtriggers_olata_bool_val = {
+ "Launch an OriginationRequest for any inter-LATA toll call attempt",
+ "Trigger is not active"
+};
+/* International (Int'l ) (octet 1, bit E) */
+static const true_false_string ansi_map_originationtriggers_int_bool_val = {
+ "Launch an OriginationRequest for any international call attempt",
+ "Trigger is not active"
+};
+/* World Zone (WZ) (octet 1, bit F) */
+static const true_false_string ansi_map_originationtriggers_wz_bool_val = {
+ "Launch an OriginationRequest for any call attempt outside of the current World Zone (as defined in ITU-T Rec. E.164)",
+ "Trigger is not active"
+};
+
+/* Unrecognized Number (Unrec) (octet 1, bit G) */
+static const true_false_string ansi_map_originationtriggers_unrec_bool_val = {
+ "Launch an OriginationRequest for any call attempt to an unrecognized number",
+ "Trigger is not active"
+};
+/* Revertive Call (RvtC) (octet 1, bit H)*/
+static const true_false_string ansi_map_originationtriggers_rvtc_bool_val = {
+ "Launch an OriginationRequest for any Revertive Call attempt",
+ "Trigger is not active"
+};
+
+/* Star (octet 2, bit A) */
+static const true_false_string ansi_map_originationtriggers_star_bool_val = {
+ "Launch an OriginationRequest for any number beginning with a Star '*' digit",
+ "Trigger is not active"
+};
+
+/* Double Star (DS) (octet 2, bit B) */
+static const true_false_string ansi_map_originationtriggers_ds_bool_val = {
+ "Launch an OriginationRequest for any number beginning with two Star '**' digits",
+ "Trigger is not active"
+};
+/* Pound (octet 2, bit C) */
+static const true_false_string ansi_map_originationtriggers_pound_bool_val = {
+ "Launch an OriginationRequest for any number beginning with a Pound '#' digit",
+ "Trigger is not active"
+};
+/* Double Pound (DP) (octet 2, bit D) */
+static const true_false_string ansi_map_originationtriggers_dp_bool_val = {
+ "Launch an OriginationRequest for any number beginning with two Pound '##' digits",
+ "Trigger is not active"
+};
+/* Prior Agreement (PA) (octet 2, bit E) */
+static const true_false_string ansi_map_originationtriggers_pa_bool_val = {
+ "Launch an OriginationRequest for any number matching a criteria of a prior agreement",
+ "Trigger is not active"
+};
+
+/* No digits (octet 3, bit A) */
+static const true_false_string ansi_map_originationtriggers_nodig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with no digits",
+ "Trigger is not active"
+};
+
+/* 1 digit (octet 3, bit B) */
+static const true_false_string ansi_map_originationtriggers_onedig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 1 digit",
+ "Trigger is not active"
+};
+/* 1 digit (octet 3, bit C) */
+static const true_false_string ansi_map_originationtriggers_twodig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 2 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 3, bit D) */
+static const true_false_string ansi_map_originationtriggers_threedig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 3 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 3, bit E) */
+static const true_false_string ansi_map_originationtriggers_fourdig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 4 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 3, bit F) */
+static const true_false_string ansi_map_originationtriggers_fivedig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 5 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 3, bit G) */
+static const true_false_string ansi_map_originationtriggers_sixdig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 6 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 3, bit H) */
+static const true_false_string ansi_map_originationtriggers_sevendig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 7 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 4, bit A) */
+static const true_false_string ansi_map_originationtriggers_eightdig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 8 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 4, bit B) */
+static const true_false_string ansi_map_originationtriggers_ninedig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 9 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 4, bit C) */
+static const true_false_string ansi_map_originationtriggers_tendig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 10 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 4, bit D) */
+static const true_false_string ansi_map_originationtriggers_elevendig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 11 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 4, bit E) */
+static const true_false_string ansi_map_originationtriggers_twelvedig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 12 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 4, bit F) */
+static const true_false_string ansi_map_originationtriggers_thirteendig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 13 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 4, bit G) */
+static const true_false_string ansi_map_originationtriggers_fourteendig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 14 digits",
+ "Trigger is not active"
+};
+/* 1 digit (octet 4, bit H) */
+static const true_false_string ansi_map_originationtriggers_fifteendig_bool_val = {
+ "Launch an OriginationRequest for any call attempt with 15 digits",
+ "Trigger is not active"
+};
+
+static void
+dissect_ansi_map_originationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_originationtriggers);
+
+ /* Revertive Call (RvtC) (octet 1, bit H)*/
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_rvtc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Unrecognized Number (Unrec) (octet 1, bit G) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_unrec, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* World Zone (WZ) (octet 1, bit F) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_wz, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* International (Int'l ) (octet 1, bit E) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_int, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Inter-LATA Toll (OLATA) (octet 1, bit D) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_olata, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Intra-LATA Toll (ILATA) (octet 1, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ilata, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Local (octet 1, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_local, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* All Origination (All) (octet 1, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_all, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /*Prior Agreement (PA) (octet 2, bit E) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Double Pound (DP) (octet 2, bit D) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_dp, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Pound (octet 2, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pound, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Double Star (DS) (octet 2, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ds, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Star (octet 2, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_star, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /* 7 digit (octet 3, bit H) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sevendig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 6 digit (octet 3, bit G) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sixdig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 5 digit (octet 3, bit F) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fivedig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 4 digit (octet 3, bit E) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourdig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 3 digit (octet 3, bit D) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_threedig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 2 digit (octet 3, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twodig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 1 digit (octet 3, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_onedig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* No digits (octet 3, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_nodig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /* 15 digit (octet 4, bit H) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fifteendig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 14 digit (octet 4, bit G) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourteendig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 13 digit (octet 4, bit F) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_thirteendig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 12 digit (octet 4, bit E) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twelvedig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 11 digit (octet 4, bit D) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_elevendig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 10 digit (octet 4, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_tendig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 9 digit (octet 4, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ninedig, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* 8 digits (octet 4, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_eightdig, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+
+/* 6.5.2.91 PACAIndicator */
+
+/* Permanent Activation (PA) (octet 1, bit A) */
+static const true_false_string ansi_map_pacaindicator_pa_bool_val = {
+ "PACA is permanently activated",
+ "PACA is not permanently activated"
+};
+
+static const value_string ansi_map_PACA_Level_vals[] = {
+ { 0, "Not used"},
+ { 1, "Priority Level. 1 This is the highest level"},
+ { 2, "Priority Level 2"},
+ { 3, "Priority Level 3"},
+ { 4, "Priority Level 4"},
+ { 5, "Priority Level 5"},
+ { 6, "Priority Level 6"},
+ { 7, "Priority Level 7"},
+ { 8, "Priority Level 8"},
+ { 9, "Priority Level 9"},
+ { 10, "Priority Level 10"},
+ { 11, "Priority Level 11"},
+ { 12, "Priority Level 12"},
+ { 13, "Priority Level 13"},
+ { 14, "Priority Level 14"},
+ { 15, "Priority Level 15"},
+ { 0, NULL }
+};
+
+static void
+dissect_ansi_map_pacaindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_pacaindicator);
+ /* PACA Level (octet 1, bits B-E) */
+ proto_tree_add_item(subtree, hf_ansi_map_PACA_Level, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Permanent Activation (PA) (octet 1, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_pacaindicator_pa, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+
+/* 6.5.2.92 PageIndicator */
+static const value_string ansi_map_PageIndicator_vals[] = {
+ { 0, "Not used"},
+ { 1, "Page"},
+ { 2, "Listen only"},
+ { 0, NULL }
+};
+
+/* 6.5.2.93 PC_SSN */
+static void
+dissect_ansi_map_pc_ssn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+ guint8 b1,b2,b3;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+ /* Type (octet 1) */
+ proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Point Code Member Number octet 2 */
+ b1 = tvb_get_guint8(tvb,offset);
+ offset++;
+ /* Point Code Cluster Number octet 3 */
+ b2 = tvb_get_guint8(tvb,offset);
+ offset++;
+ /* Point Code Network Number octet 4 */
+ b3 = tvb_get_guint8(tvb,offset);
+ offset++;
+ proto_tree_add_bytes_format_value(subtree, hf_ansi_map_point_code, tvb, offset-3, 3, NULL, "%u-%u-%u", b3, b2, b1);
+ proto_tree_add_item(subtree, hf_ansi_map_SSN, tvb, offset, 1, ENC_NA);
+}
+/* 6.5.2.94 PilotBillingID */
+static void
+dissect_ansi_map_pilotbillingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+ /* First Originating MarketID octet 1 and 2 */
+ proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset = offset + 2;
+ /* First Originating Switch Number octet 3*/
+ proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* ID Number */
+ proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, ENC_BIG_ENDIAN);
+ offset = offset + 3;
+ proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/* 6.5.2.96 PreferredLanguageIndicator */
+static const value_string ansi_map_PreferredLanguageIndicator_vals[] = {
+ { 0, "Unspecified"},
+ { 1, "English"},
+ { 2, "French"},
+ { 3, "Spanish"},
+ { 4, "German"},
+ { 5, "Portuguese"},
+ { 0, NULL }
+};
+
+/* 6.5.2.106 ReceivedSignalQuality */
+/* a. This octet is encoded the same as octet 1 in the SignalQuality parameter (see
+ 6.5.2.121).
+*/
+/* 6.5.2.118 SetupResult */
+static const value_string ansi_map_SetupResult_vals[] = {
+ { 0, "Not used"},
+ { 1, "Unsuccessful"},
+ { 2, "Successful"},
+ { 0, NULL }
+};
+/* 6.5.2.121 SignalQuality */
+/* TODO */
+
+/* 6.5.2.122 SMS_AccessDeniedReason (TIA/EIA-41.5-D, page 5-256)
+ N.S0011-0 v 1.0
+*/
+static const value_string ansi_map_SMS_AccessDeniedReason_vals[] = {
+ { 0, "Not used"},
+ { 1, "Denied"},
+ { 2, "Postponed"},
+ { 3, "Unavailable"},
+ { 4, "Invalid"},
+ { 0, NULL }
+};
+
+
+/* 6.5.2.125 SMS_CauseCode (TIA/EIA-41.5-D, page 5-262)
+ N.S0011-0 v 1.0
+*/
+static const value_string ansi_map_SMS_CauseCode_vals[] = {
+ { 0, "Address vacant"},
+ { 1, "Address translation failure"},
+ { 2, "Network resource shortage"},
+ { 3, "Network failure"},
+ { 4, "Invalid Teleservice ID"},
+ { 5, "Other network problem"},
+ { 6, "Unsupported network interface"},
+ { 8, "CDMA handset-based position determination failure"},
+ { 9, "CDMA handset-based position determination resources released - voice service request"},
+ { 10, "CDMA handset-based position determination resources released - voice service request - message acknowledged"},
+ { 11, "Reserved"},
+ { 12, "Reserved"},
+ { 13, "Reserved"},
+ { 14, "Emergency Services Call Precedence"},
+ { 32, "No page response"},
+ { 33, "Destination busy"},
+ { 34, "No acknowledgment"},
+ { 35, "Destination resource shortage"},
+ { 36, "SMS delivery postponed"},
+ { 37, "Destination out of service"},
+ { 38, "Destination no longer at this address"},
+ { 39, "Other terminal problem"},
+ { 64, "Radio interface resource shortage"},
+ { 65, "Radio interface incompatibility"},
+ { 66, "Other radio interface problem"},
+ { 67, "Unsupported Base Station Capability"},
+ { 96, "Encoding problem"},
+ { 97, "Service origination denied"},
+ { 98, "Service termination denied"},
+ { 99, "Supplementary service not supported"},
+ { 100, "Service not supported"},
+ { 101, "Reserved"},
+ { 102, "Missing expected parameter"},
+ { 103, "Missing mandatory parameter"},
+ { 104, "Unrecognized parameter value"},
+ { 105, "Unexpected parameter value"},
+ { 106, "User Data size error"},
+ { 107, "Other general problems"},
+ { 108, "Session not active"},
+ { 109, "Reserved"},
+ { 110, "MS Disconnect"},
+ { 0, NULL }
+};
+static value_string_ext ansi_map_SMS_CauseCode_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_SMS_CauseCode_vals);
+
+/* 6.5.2.126 SMS_ChargeIndicator */
+/* SMS Charge Indicator (octet 1) */
+static const value_string ansi_map_SMS_ChargeIndicator_vals[] = {
+ { 0, "Not used"},
+ { 1, "No charge"},
+ { 2, "Charge original originator"},
+ { 3, "Charge original destination"},
+ { 0, NULL }
+};
+/* 4 through 63 Reserved. Treat the same as value 1, No charge.
+ 64 through 127 Reserved. Treat the same as value 2, Charge original originator.
+ 128 through 223 Reserved. Treat the same as value 3, Charge original destination.
+ 224 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 2, Charge
+ original originator.
+*/
+
+/* 6.5.2.130 SMS_NotificationIndicator N.S0005-0 v 1.0*/
+static const value_string ansi_map_SMS_NotificationIndicator_vals[] = {
+ { 0, "Not used"},
+ { 1, "Notify when available"},
+ { 2, "Do not notify when available"},
+ { 0, NULL }
+};
+
+/* 6.5.2.136 SMS_OriginationRestrictions */
+/* DEFAULT (octet 1, bits A and B) */
+
+static const value_string ansi_map_SMS_OriginationRestrictions_default_vals[] = {
+ { 0, "Block all"},
+ { 1, "Reserved"},
+ { 2, "Allow specific"},
+ { 3, "Allow all"},
+ { 0, NULL }
+};
+/* DIRECT (octet 1, bit C) */
+static const true_false_string ansi_map_SMS_OriginationRestrictions_direct_bool_val = {
+ "Allow Direct",
+ "Block Direct"
+};
+
+/* Force Message Center (FMC) (octet 1, bit D) */
+static const true_false_string ansi_map_SMS_OriginationRestrictions_fmc_bool_val = {
+ "Force Indirect",
+ "No effect"
+};
+
+static void
+dissect_ansi_map_sms_originationrestrictions(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_sms_originationrestrictions);
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_fmc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_direct, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_default, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+
+/* 6.5.2.137 SMS_TeleserviceIdentifier */
+/* Updated with N.S0011-0 v 1.0 */
+
+#if 0
+/* SMS Teleservice Identifier (octets 1 and 2) */
+static const value_string ansi_map_SMS_TeleserviceIdentifier_vals[] = {
+ { 0, "Not used"},
+ { 1, "Reserved for maintenance"},
+ { 2, "SSD Update no response"},
+ { 3, "SSD Update successful"},
+ { 4, "SSD Update failed"},
+ { 4096, "AMPS Extended Protocol Enhanced Services" },
+ { 4097, "CDMA Cellular Paging Teleservice" },
+ { 4098, "CDMA Cellular Messaging Teleservice" },
+ { 4099, "CDMA Voice Mail Notification" },
+ { 32513, "TDMA Cellular Messaging Teleservice" },
+ { 32520, "TDMA System Assisted Mobile Positioning through Satellite (SAMPS)" },
+ { 32584, "TDMA Segmented System Assisted Mobile Positioning Service" },
+ { 0, NULL }
+};
+#endif
+/* 6.5.2.140 SPINITriggers */
+/* All Origination (All) (octet 1, bit A) */
+
+/* 6.5.2.142 SSDUpdateReport */
+static const value_string ansi_map_SSDUpdateReport_vals[] = {
+ { 0, "Not used"},
+ { 4096, "AMPS Extended Protocol Enhanced Services"},
+ { 4097, "CDMA Cellular Paging Teleservice"},
+ { 4098, "CDMA Cellular Messaging Teleservice"},
+ { 32513, "TDMA Cellular Messaging Teleservice"},
+ { 32514, "TDMA Cellular Paging Teleservice (CPT-136)"},
+ { 32515, "TDMA Over-the-Air Activation Teleservice (OATS)"},
+ { 32516, "TDMA Over-the-Air Programming Teleservice (OPTS)"},
+ { 32517, "TDMA General UDP Transport Service (GUTS)"},
+ { 32576, "Reserved"},
+ { 32577, "TDMA Segmented Cellular MessagingTeleservice"},
+ { 32578, "TDMA Segmented Cellular Paging Teleservice"},
+ { 32579, "TDMA Segmented Over-the-Air Activation Teleservice (OATS)"},
+ { 32580, "TDMA Segmented Over-the-Air Programming Teleservice (OPTS)."},
+ { 32581, "TDMA Segmented General UDP Transport Service (GUTS)"},
+ { 32576, "Reserved"},
+ { 0, NULL }
+};
+
+/* 6.5.2.143 StationClassMark */
+
+/* 6.5.2.144 SystemAccessData */
+
+/* 6.5.2.146 SystemCapabilities */
+/* Updated in N.S0008-0 v 1.0 */
+static const true_false_string ansi_map_systemcapabilities_auth_bool_val = {
+ "Authentication parameters were requested on this system access (AUTH=1 in the OMT)",
+ "Authentication parameters were not requested on this system access (AUTH=0 in the OMT)."
+};
+
+static const true_false_string ansi_map_systemcapabilities_se_bool_val = {
+ "Signaling Message Encryption supported by the system",
+ "Signaling Message Encryption not supported by the system"
+};
+
+static const true_false_string ansi_map_systemcapabilities_vp_bool_val = {
+ "Voice Privacy supported by the system",
+ "Voice Privacy not supported by the system"
+};
+
+static const true_false_string ansi_map_systemcapabilities_cave_bool_val = {
+ "System can execute the CAVE algorithm and share SSD for the indicated MS",
+ "System cannot execute the CAVE algorithm and cannot share SSD for the indicated MS"
+};
+
+static const true_false_string ansi_map_systemcapabilities_ssd_bool_val = {
+ "SSD is shared with the system for the indicated MS",
+ "SSD is not shared with the system for the indicated MS"
+};
+
+static const true_false_string ansi_map_systemcapabilities_dp_bool_val = {
+ "DP is supported by the system",
+ "DP is not supported by the system"
+};
+
+static void
+dissect_ansi_map_systemcapabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_systemcapabilities);
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_dp, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_ssd, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_cave, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_vp, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_se, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_auth, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+
+/* 6.5.2.151 TDMABurstIndicator */
+/* 6.5.2.152 TDMACallMode */
+/* 6.5.2.153 TDMAChannelData Updated in N.S0007-0 v 1.0*/
+
+/* 6.5.2.155 TerminationAccessType */
+/* XXX Fix Me, Fill up the values or do special decoding? */
+static const value_string ansi_map_TerminationAccessType_vals[] = {
+ { 0, "Not used"},
+ { 1, "Reserved for controlling system assignment (may be a trunk group identifier)."},
+ /* 1 through 127 */
+ { 127, "Reserved for controlling system assignment (may be a trunk group identifier)."},
+ { 128, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
+ /* 128 through 160 */
+ { 160, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
+ { 161, "Reserved for this Standard"},
+ /* 161 through 251 */
+ { 151, "Reserved for this Standard"},
+ { 252, "Mobile-to-Mobile Directory Number access"},
+ { 253, "Land-to-Mobile Directory Number access"},
+ { 254, "Remote Feature Control port access"},
+ { 255, "Roamer port access"},
+ { 0, NULL }
+};
+
+/* 6.5.2.158 TerminationTreatment */
+static const value_string ansi_map_TerminationTreatment_vals[] = {
+ { 0, "Not used"},
+ { 1, "MS Termination"},
+ { 2, "Voice Mail Storage"},
+ { 3, "Voice Mail Retrieval"},
+ { 4, "Dialogue Termination"},
+ { 0, NULL }
+};
+
+/* 6.5.2.159 TerminationTriggers */
+/* Busy (octet 1, bits A and B) */
+static const value_string ansi_map_terminationtriggers_busy_vals[] = {
+ { 0, "Busy Call"},
+ { 1, "Busy Trigger"},
+ { 2, "Busy Leg"},
+ { 3, "Reserved. Treat as an unrecognized parameter value"},
+ { 0, NULL }
+};
+/* Routing Failure (RF) (octet 1, bits C and D) */
+static const value_string ansi_map_terminationtriggers_rf_vals[] = {
+ { 0, "Failed Call"},
+ { 1, "Routing Failure Trigger"},
+ { 2, "Failed Leg"},
+ { 3, "Reserved. Treat as an unrecognized parameter value"},
+ { 0, NULL }
+};
+/* No Page Response (NPR) (octet 1, bits E and F) */
+static const value_string ansi_map_terminationtriggers_npr_vals[] = {
+ { 0, "No Page Response Call"},
+ { 1, "No Page Response Trigger"},
+ { 2, "No Page Response Leg"},
+ { 3, "Reserved. Treat as an unrecognized parameter value"},
+ { 0, NULL }
+};
+/* No Answer (NA) (octet 1, bits G and H) */
+static const value_string ansi_map_terminationtriggers_na_vals[] = {
+ { 0, "No Answer Call"},
+ { 1, "No Answer Trigger"},
+ { 2, "No Answer Leg"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+/* None Reachable (NR) (octet 2, bit A) */
+static const value_string ansi_map_terminationtriggers_nr_vals[] = {
+ { 0, "Member Not Reachable"},
+ { 1, "Group Not Reachable"},
+ { 0, NULL }
+};
+
+/* 6.5.2.159 TerminationTriggers N.S0005-0 v 1.0*/
+static void
+dissect_ansi_map_terminationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
+
+ proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* No Page Response (NPR) (octet 1, bits E and F) */
+ proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_npr, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* No Answer (NA) (octet 1, bits G and H) */
+ proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_na, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Routing Failure (RF) (octet 1, bits C and D) */
+ proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_rf, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Busy (octet 1, bits A and B) */
+ proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_busy, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /* None Reachable (NR) (octet 2, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_nr, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+
+/* 6.5.2.160 TransactionCapability (TIA/EIA-41.5-D, page 5-315) */
+/* Updated with N.S0010-0 v 1.0, N.S0012-0 v 1.0 N.S0013-0 v 1.0 */
+static const true_false_string ansi_map_trans_cap_prof_bool_val = {
+ "The system is capable of supporting the IS-41-C profile parameters",
+ "The system is not capable of supporting the IS-41-C profile parameters"
+};
+
+static const true_false_string ansi_map_trans_cap_busy_bool_val = {
+ "The system is capable of detecting a busy condition at the current time",
+ "The system is not capable of detecting a busy condition at the current time"
+};
+
+static const true_false_string ansi_map_trans_cap_ann_bool_val = {
+ "The system is capable of honoring the AnnouncementList parameter at the current time",
+ "The system is not capable of honoring the AnnouncementList parameter at the current time"
+};
+
+static const true_false_string ansi_map_trans_cap_rui_bool_val = {
+ "The system is capable of interacting with the user",
+ "The system is not capable of interacting with the user"
+};
+
+static const true_false_string ansi_map_trans_cap_spini_bool_val = {
+ "The system is capable of supporting local SPINI operation",
+ "The system is not capable of supporting local SPINI operation at the current time"
+};
+
+static const true_false_string ansi_map_trans_cap_uzci_bool_val = {
+ "The system is User Zone capable at the current time",
+ "The system is not User Zone capable at the current time"
+};
+static const true_false_string ansi_map_trans_cap_ndss_bool_val = {
+ "Serving system is NDSS capable",
+ "Serving system is not NDSS capable"
+};
+static const true_false_string ansi_map_trans_cap_nami_bool_val = {
+ "The system is CNAP/CNAR capable",
+ "The system is not CNAP/CNAR capable"
+};
+
+static const value_string ansi_map_trans_cap_multerm_vals[] = {
+ { 0, "The system cannot accept a termination at this time (i.e., cannot accept routing information)"},
+ { 1, "The system supports the number of call legs indicated"},
+ { 2, "The system supports the number of call legs indicated"},
+ { 3, "The system supports the number of call legs indicated"},
+ { 4, "The system supports the number of call legs indicated"},
+ { 5, "The system supports the number of call legs indicated"},
+ { 6, "The system supports the number of call legs indicated"},
+ { 7, "The system supports the number of call legs indicated"},
+ { 8, "The system supports the number of call legs indicated"},
+ { 9, "The system supports the number of call legs indicated"},
+ { 10, "The system supports the number of call legs indicated"},
+ { 11, "The system supports the number of call legs indicated"},
+ { 12, "The system supports the number of call legs indicated"},
+ { 13, "The system supports the number of call legs indicated"},
+ { 14, "The system supports the number of call legs indicated"},
+ { 15, "The system supports the number of call legs indicated"},
+ { 0, NULL }
+};
+
+static const true_false_string ansi_map_trans_cap_tl_bool_val = {
+ "The system is capable of supporting the TerminationList parameter at the current time",
+ "The system is not capable of supporting the TerminationList parameter at the current time"
+};
+
+static const true_false_string ansi_map_trans_cap_waddr_bool_val = {
+ "The system is capable of supporting the TriggerAddressList parameter",
+ "The system is not capable of supporting the TriggerAddressList parameter"
+};
+
+
+static void
+dissect_ansi_map_transactioncapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
+
+ /*NAME Capability Indicator (NAMI) (octet 1, bit H) */
+ proto_tree_add_item(subtree, hf_ansi_map_trans_cap_nami, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* NDSS Capability (NDSS) (octet 1, bit G) */
+ proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ndss, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* UZ Capability Indicator (UZCI) (octet 1, bit F) */
+ proto_tree_add_item(subtree, hf_ansi_map_trans_cap_uzci, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Subscriber PIN Intercept (SPINI) (octet 1, bit E) */
+ proto_tree_add_item(subtree, hf_ansi_map_trans_cap_spini, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Remote User Interaction (RUI) (octet 1, bit D) */
+ proto_tree_add_item(subtree, hf_ansi_map_trans_cap_rui, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Announcements (ANN) (octet 1, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ann, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Busy Detection (BUSY) (octet 1, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_trans_cap_busy, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Profile (PROF) (octet 1, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_trans_cap_prof, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /* WIN Addressing (WADDR) (octet 2, bit F) */
+ proto_tree_add_item(subtree, hf_ansi_trans_cap_waddr, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* TerminationList (TL) (octet 2, bit E) */
+ proto_tree_add_item(subtree, hf_ansi_trans_cap_tl, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Multiple Terminations (octet 2, bits A-D) */
+ proto_tree_add_item(subtree, hf_ansi_trans_cap_multerm, tvb, offset, 1, ENC_BIG_ENDIAN);
+}
+
+/* 6.5.2.162 UniqueChallengeReport */
+/* Unique Challenge Report (octet 1) */
+static const value_string ansi_map_UniqueChallengeReport_vals[] = {
+ { 0, "Not used"},
+ { 1, "Unique Challenge not attempted"},
+ { 2, "Unique Challenge no response"},
+ { 3, "Unique Challenge successful"},
+ { 4, "Unique Challenge failed"},
+ { 0, NULL }
+};
+
+/* 6.5.2.166 VoicePrivacyMask */
+
+
+/* 6.5.2.e (TSB76) CDMAServiceConfigurationRecord N.S0008-0 v 1.0 */
+/* a. This field carries the CDMA Service Configuration Record. The bit-layout is the
+ same as that of Service Configuration Record in TSB74, and J-STD-008.
+*/
+
+/* 6.5.2.f CDMAServiceOption N.S0010-0 v 1.0 */
+
+/* values copied from old ANSI map dissector */
+static const range_string cdmaserviceoption_vals[] = {
+ { 1, 1, "Basic Variable Rate Voice Service (8 kbps)" },
+ { 2, 2, "Mobile Station Loopback (8 kbps)" },
+ { 3, 3, "Enhanced Variable Rate Voice Service (8 kbps)" },
+ { 4, 4, "Asynchronous Data Service (9.6 kbps)" },
+ { 5, 5, "Group 3 Facsimile (9.6 kbps)" },
+ { 6, 6, "Short Message Services (Rate Set 1)" },
+ { 7, 7, "Packet Data Service: Internet or ISO Protocol Stack (9.6 kbps)" },
+ { 8, 8, "Packet Data Service: CDPD Protocol Stack (9.6 kbps)" },
+ { 9, 9, "Mobile Station Loopback (13 kbps)" },
+ { 10, 10, "STU-III Transparent Service" },
+ { 11, 11, "STU-III Non-Transparent Service" },
+ { 12, 12, "Asynchronous Data Service (14.4 or 9.6 kbps)" },
+ { 13, 13, "Group 3 Facsimile (14.4 or 9.6 kbps)" },
+ { 14, 14, "Short Message Services (Rate Set 2)" },
+ { 15, 15, "Packet Data Service: Internet or ISO Protocol Stack (14.4 kbps)" },
+ { 16, 16, "Packet Data Service: CDPD Protocol Stack (14.4 kbps)" },
+ { 17, 17, "High Rate Voice Service (13 kbps)" },
+ { 18, 18, "Over-the-Air Parameter Administration (Rate Set 1)" },
+ { 19, 19, "Over-the-Air Parameter Administration (Rate Set 2)" },
+ { 20, 20, "Group 3 Analog Facsimile (Rate Set 1)" },
+ { 21, 21, "Group 3 Analog Facsimile (Rate Set 2)" },
+ { 22, 22, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS1 reverse)" },
+ { 23, 23, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS2 reverse)" },
+ { 24, 24, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS1 reverse)" },
+ { 25, 25, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS2 reverse)" },
+ { 26, 26, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS1 reverse)" },
+ { 27, 27, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS2 reverse)" },
+ { 28, 28, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS1 reverse)" },
+ { 29, 29, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS2 reverse)" },
+ { 30, 30, "Supplemental Channel Loopback Test for Rate Set 1" },
+ { 31, 31, "Supplemental Channel Loopback Test for Rate Set 2" },
+ { 32, 32, "Test Data Service Option (TDSO)" },
+ { 33, 33, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" },
+ { 34, 34, "cdma2000 High Speed Packet Data Service, CDPD Protocol Stack" },
+ { 35, 35, "Location Services, Rate Set 1 (9.6 kbps)" },
+ { 36, 36, "Location Services, Rate Set 2 (14.4 kbps)" },
+ { 37, 37, "ISDN Interworking Service (64 kbps)" },
+ { 38, 38, "GSM Voice" },
+ { 39, 39, "GSM Circuit Data" },
+ { 40, 40, "GSM Packet Data" },
+ { 41, 41, "GSM Short Message Service" },
+ { 42, 42, "None Reserved for MC-MAP standard service options" },
+ { 54, 54, "Markov Service Option (MSO)" },
+ { 55, 55, "Loopback Service Option (LSO)" },
+ { 56, 56, "Selectable Mode Vocoder" },
+ { 57, 57, "32 kbps Circuit Video Conferencing" },
+ { 58, 58, "64 kbps Circuit Video Conferencing" },
+ { 59, 59, "HRPD Accounting Records Identifier" },
+ { 60, 60, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Removal" },
+ { 61, 61, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Compression" },
+ { 62, 62, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 2" },
+ { 63, 63, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 1" },
+ { 64, 64, "HRPD auxiliary Packet Data Service instance" },
+ { 65, 65, "cdma2000/GPRS Inter-working" },
+ { 66, 66, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" },
+ { 67, 67, "HRPD Packet Data IP Service where Higher Layer Protocol is IP or ROHC" },
+ { 68, 68, "Enhanced Variable Rate Voice Service (EVRC-B)" },
+ { 69, 69, "HRPD Packet Data Service, which when used in paging over the 1x air interface, a page response is required" },
+ { 70, 70, "Enhanced Variable Rate Voice Service (EVRC-WB)" },
+ { 71, 4099, "None Reserved for standard service options" },
+ { 4100, 4100, "Asynchronous Data Service, Revision 1 (9.6 or 14.4 kbps)" },
+ { 4101, 4101, "Group 3 Facsimile, Revision 1 (9.6 or 14.4 kbps)" },
+ { 4102, 4102, "Reserved for standard service option" },
+ { 4103, 4103, "Packet Data Service: Internet or ISO Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" },
+ { 4104, 4104, "Packet Data Service: CDPD Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" },
+ { 4105, 32767, "Reserved for standard service options" },
+ { 32768, 32768, "QCELP (13 kbps)" },
+ { 32769, 32771, "Proprietary QUALCOMM Incorporated" },
+ { 32772, 32775, "Proprietary OKI Telecom" },
+ { 32776, 32779, "Proprietary Lucent Technologies" },
+ { 32780, 32783, "Nokia" },
+ { 32784, 32787, "NORTEL NETWORKS" },
+ { 32788, 32791, "Sony Electronics Inc" },
+ { 32792, 32795, "Motorola" },
+ { 32796, 32799, "QUALCOMM Incorporated" },
+ { 32800, 32803, "QUALCOMM Incorporated" },
+ { 32804, 32807, "QUALCOMM Incorporated" },
+ { 32808, 32811, "QUALCOMM Incorporated" },
+ { 32812, 32815, "Lucent Technologies" },
+ { 32816, 32819, "Denso International" },
+ { 32820, 32823, "Motorola" },
+ { 32824, 32827, "Denso International" },
+ { 32828, 32831, "Denso International" },
+ { 32832, 32835, "Denso International" },
+ { 32836, 32839, "NEC America" },
+ { 32840, 32843, "Samsung Electronics" },
+ { 32844, 32847, "Texas Instruments Incorporated" },
+ { 32848, 32851, "Toshiba Corporation" },
+ { 32852, 32855, "LG Electronics Inc." },
+ { 32856, 32859, "VIA Telecom Inc." },
+ { 0, 0, NULL }
+};
+
+static void
+dissect_ansi_map_cdmaserviceoption(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_cdmaserviceoption);
+
+ proto_tree_add_item(subtree, hf_ansi_map_cdmaserviceoption, tvb, offset, 2, ENC_BIG_ENDIAN);
+
+
+}
+/* 6.5.2.f (TSB76) CDMAServiceOption N.S0008-0 v 1.0*/
+/* This field carries the CDMA Service Option. The bit-layout is the same as that of
+ Service Option in TSB74 and J-STD-008.*/
+
+/* 6.5.2.i (IS-730) TDMAServiceCode N.S0008-0 v 1.0 */
+static const value_string ansi_map_TDMAServiceCode_vals[] = {
+ { 0, "Analog Speech Only"},
+ { 1, "Digital Speech Only"},
+ { 2, "Analog or Digital Speech, Analog Preferred"},
+ { 3, "Analog or Digital Speech, Digital Preferred"},
+ { 4, "Asynchronous Data"},
+ { 5, "G3 Fax"},
+ { 6, "Not Used (Service Rejected)"},
+ { 7, "STU-III"},
+ { 0, NULL }
+};
+#if 0
+/* 6.5.2.j (IS-730) TDMATerminalCapability N.S0008-0 v 1.0 Updted with N.S0015-0 */
+/* Supported Frequency Band (octet 1) */
+/* Voice Coder (octet 2) */
+/* Protocol Version (octet 3) N.S0015-0 */
+static const value_string ansi_map_TDMATerminalCapability_prot_ver_vals[] = {
+ { 0, "EIA-553 or IS-54-A"},
+ { 1, "TIA/EIA-627.(IS-54-B)"},
+ { 2, "IS-136"},
+ { 3, "Permanently Reserved (ANSI J-STD-011).Treat the same as value 4, IS-136-A."},
+ { 4, "PV 0 as published in TIA/EIA-136-0 and IS-136-A."},
+ { 5, "PV 1 as published in TIA/EIA-136-A."},
+ { 6, "PV 2 as published in TIA/EIA-136-A."},
+ { 7, "PV 3 as published in TIA/EIA-136-A."},
+ { 0, NULL }
+};
+#endif
+/* Asynchronous Data (ADS) (octet 4, bit A) N.S0007-0*/
+/* Group 3 Fax (G3FAX) (octet 4, bit B) */
+/* Secure Telephone Unit III (STU3) (octet 4, bit C) */
+/* Analog Voice (AVOX) (octet 4, bit D) */
+/* Half Rate (HRATE) (octet 4, bit E) */
+/* Full Rate (FRATE) (octet 4, bit F) */
+/* Double Rate (2RATE) (octet 4, bit G) */
+/* Triple Rate (3RATE) (octet 4, bit H) */
+
+
+/* 6.5.2.k (IS-730)) TDMAVoiceCoder N.S0008-0 v 1.0, N.S0007-0 */
+/* VoiceCoder (octet 1) */
+
+/* 6.5.2.p UserZoneData N.S0015-0 */
+
+/* 6.5.2.aa BaseStationManufacturerCode N.S0007-0 v 1.0 */
+/* The BaseStationManufacturerCode (BSMC) parameter specifies the manufacturer of the
+ base station that is currently serving the MS (see IS-136 for enumeration of values).*/
+
+/* 6.5.2.ab BSMCStatus */
+
+/* BSMC Status (octet 1) */
+static const value_string ansi_map_BSMCStatus_vals[] = {
+ { 0, "Same BSMC Value shall not be supported"},
+ { 1, "Same BSMC Value shall be supported"},
+ { 0, NULL }
+};
+
+/*- 6.5.2.ac ControlChannelMode (N.S0007-0 v 1.0)*/
+static const value_string ansi_map_ControlChannelMode_vals[] = {
+ { 0, "Unknown"},
+ { 1, "MS is in Analog CC Mode"},
+ { 2, "MS is in Digital CC Mode"},
+ { 3, "MS is in NAMPS CC Mode"},
+ { 0, NULL }
+};
+
+/* 6.5.2.ad NonPublicData N.S0007-0 v 1.0*/
+/* NP Only Service (NPOS) (octet 1, bits A and B) */
+/* Charging Area Tone Service (CATS) (octet 1, bits C - F) */
+/* PSID/RSID Download Order (PRDO) (octet 1, bits G and H) */
+
+/* 6.5.2.ae PagingFrameClass N.S0007-0 v 1.0*/
+/* Paging Frame Class (octet 1) */
+
+static const value_string ansi_map_PagingFrameClass_vals[] = {
+ { 0, "PagingFrameClass 1 (1.28 seconds)"},
+ { 1, "PagingFrameClass 2 (2.56 seconds)"},
+ { 2, "PagingFrameClass 3 (3.84 seconds)"},
+ { 3, "PagingFrameClass 4 (7.68 seconds)"},
+ { 4, "PagingFrameClass 5 (15.36 seconds)"},
+ { 5, "PagingFrameClass 6 (30.72 seconds)"},
+ { 6, "PagingFrameClass 7 (61.44 seconds)"},
+ { 7, "PagingFrameClass 8 (122.88 seconds)"},
+ { 8, "Reserved. Treat the same as value 0, PagingFrameClass 1"},
+ { 0, NULL }
+};
+
+/* 6.5.2.af PSID_RSIDInformation N.S0007-0 v 1.0*/
+/* PSID/RSID Indicator (octet 1, bit A) */
+/* PSID/RSID Type (octet 1, bits B-D) */
+
+/* 6.5.2.ah ServicesResult N.S0007-0 v 1.0*/
+/* PSID/RSID Download Result (PRDR) (octet 1, bits A and B) */
+static const value_string ansi_map_ServicesResult_ppr_vals[] = {
+ { 0, "No Indication"},
+ { 1, "Unsuccessful PSID/RSID download"},
+ { 2, "Successful PSID/RSID download"},
+ { 3, "Reserved. Treat the same as value 0, No Indication"},
+ { 0, NULL }
+};
+
+/* 6.5.2.ai SOCStatus N.S0007-0 v 1.0*/
+
+/* SOC Status (octet 1) */
+static const value_string ansi_map_SOCStatus_vals[] = {
+ { 0, "Same SOC Value shall not be supported"},
+ { 1, "Same SOC Value shall be supported"},
+ { 0, NULL }
+};
+
+/* 6.5.2.aj SystemOperatorCode N.S0007-0 v 1.0*/
+/* The SystemOperatorCode (SOC) parameter specifies the system operator that is currently
+ providing service to a MS (see IS-136 for enumeration of values) */
+
+/* 6.5.2.al UserGroup N.S0007-0 v 1.0*/
+
+/* 6.5.2.am UserZoneData N.S0007-0 v 1.0*/
+
+
+/*Table 6.5.2.ay TDMABandwidth value N.S0008-0 v 1.0 */
+static const value_string ansi_map_TDMABandwidth_vals[] = {
+ { 0, "Half-Rate Digital Traffic Channel Only"},
+ { 1, "Full-Rate Digital Traffic Channel Only"},
+ { 2, "Half-Rate or Full-rate Digital Traffic Channel - Full-Rate Preferred"},
+ { 3, "Half-rate or Full-rate Digital Traffic Channel - Half-rate Preferred"},
+ { 4, "Double Full-Rate Digital Traffic Channel Only"},
+ { 5, "Triple Full-Rate Digital Traffic Channel Only"},
+ { 6, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 7, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 8, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 9, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 10, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 11, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 12, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 13, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 14, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 15, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
+ { 0, NULL }
+
+};
+
+/* 6.5.2.az TDMADataFeaturesIndicator N.S0008-0 v 1.0 */
+/* TDMADataFeaturesIndicator
+ ansi_map_FeatureActivity_vals
+
+ ADS FeatureActivity ADS-FA ( octet 1 bit A and B )
+ G3 Fax FeatureActivity G3FAX-FA ( octet 1 bit C and D )
+ STU-III FeatureActivity STUIII-FA ( octet 1 bit E and F )
+ Half Rate data FeatureActivity HRATE-FA ( octet 2 bit A and B )
+ Full Rate data FeatureActivity FRATE-FA ( octet 2 bit C and D )
+ Double Rate data FeatureActivity 2RATE-FA ( octet 2 bit E and F )
+ Triple Rate data FeatureActivity 3RATE-FA ( octet g bit G and H )
+
+ Table 6.5.2.azt TDMADataFeaturesIndicator value
+ static const value_string ansi_map_TDMADataFeaturesIndicator_vals[] = {
+ { 0, "Not Used"},
+ { 1, "Not Authorized"},
+ { 2, "Authorized, but de-activated"},
+ { 3, "Authorized and activated"},
+ { 0, NULL }
+
+ };
+*/
+
+/* 6.5.2.ba TDMADataMode N.S0008-0 v 1.0*/
+
+/* 6.5.2.bb TDMAVoiceMode */
+
+/* 6.5.2.bb CDMAConnectionReference N.S0008-0 v 1.0 */
+/* Service Option Connection Reference Octet 1 */
+/* a. This field carries the CDMA Service Option Connection Reference. The bitlayout
+ is the same as that of Service Option Connection Reference in TSB74 and
+ J-STD-008.
+*/
+
+/* 6.5.2.ad CDMAState N.S0008-0 v 1.0 */
+/* Service Option State Octet 1 */
+/* a. This field carries the CDMA Service Option State information. The CDMA
+ Service Option State is defined in the current CDMA Service Options standard.
+ If CDMA Service Option State is not explicitly defined within a section of the
+ relevant CDMA Service Option standard, the CDMA Service Option State shall
+ carry the value of the ORD_Q octet of all current Service Option Control Orders
+ (see IS-95), or the contents of all current CDMA Service Option Control
+ Messages (see TSB74) type specific field for this connection reference. */
+
+/* 6.5.2.aj SecondInterMSCCircuitID */
+/* -- XXX Same code as ISLPinformation???
+ dissect_ansi_map_secondintermsccircuitid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){
+
+ int offset = 0;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
+ / Trunk Group Number (G) Octet 1 /
+ proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ / Trunk Member Number (M) Octet2 /
+ proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, ENC_BIG_ENDIAN);
+ }
+*/
+#if 0
+/* 6.5.2.as ChangeServiceAttributes N.S0008-0 v 1.0 */
+/* Change Facilities Flag (CHGFAC)(octet 1, bits A - B) */
+static const value_string ansi_map_ChangeServiceAttributes_chgfac_vals[] = {
+ { 0, "Change Facilities Operation Requested"},
+ { 1, "Change Facilities Operation Not Requested"},
+ { 2, "Change Facilities Operation Used"},
+ { 3, "Change Facilities Operation Not Used"},
+ { 0, NULL }
+};
+#endif
+#if 0
+/* Service Negotiate Flag (SRVNEG)(octet 1, bits C - D) */
+static const value_string ansi_map_ChangeServiceAttributes_srvneg_vals[] = {
+ { 0, "Service Negotiation Used"},
+ { 1, "Service Negotiation Not Used"},
+ { 2, "Service Negotiation Required"},
+ { 3, "Service Negotiation Not Required"},
+ { 0, NULL }
+};
+#endif
+#if 0
+/* 6.5.2.au DataPrivacyParameters N.S0008-0 v 1.0*/
+/* Privacy Mode (PM) (octet 1, Bits A and B) */
+static const value_string ansi_map_DataPrivacyParameters_pm_vals[] = {
+ { 0, "Privacy inactive or not supported"},
+ { 1, "Privacy Requested or Acknowledged"},
+ { 2, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
+ { 3, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
+ { 0, NULL }
+};
+#endif
+#if 0
+/* Data Privacy Version (PM) (octet 2) */
+static const value_string ansi_map_DataPrivacyParameters_data_priv_ver_vals[] = {
+ { 0, "Not used"},
+ { 1, "Data Privacy Version 1"},
+ { 0, NULL }
+};
+#endif
+
+/* 6.5.2.av ISLPInformation N.S0008-0 v 1.0*/
+/* ISLP Type (octet 1) */
+static const value_string ansi_map_islp_type_vals[] = {
+ { 0, "No ISLP supported"},
+ { 1, "ISLP supported"},
+ { 0, NULL }
+};
+/* 6.5.2.bc AnalogRedirectInfo */
+/* Sys Ordering (octet 1, bits A-E) */
+/* Ignore CDMA (IC) (octet 1, bit F) */
+
+/* 6.5.2.be CDMAChannelNumber N.S0010-0 v 1.0*/
+
+/* 6.5.2.bg CDMAPowerCombinedIndicator N.S0010-0 v 1.0*/
+
+/* 6.5.2.bi CDMASearchParameters N.S0010-0 v 1.0*/
+
+/* 6.5.2.bk CDMANetworkIdentification N.S0010-0 v 1.0*/
+/* See CDMA [J-STD-008] for encoding of this field. */
+
+/* 6.5.2.bo RequiredParametersMask N.S0010-0 v 1.0 */
+
+/* 6.5.2.bp ServiceRedirectionCause */
+static const value_string ansi_map_ServiceRedirectionCause_type_vals[] = {
+ { 0, "Not used"},
+ { 1, "NormalRegistration"},
+ { 2, "SystemNotFound."},
+ { 3, "ProtocolMismatch."},
+ { 4, "RegistrationRejection."},
+ { 5, "WrongSID."},
+ { 6, "WrongNID.."},
+ { 0, NULL }
+};
+
+/* 6.5.2.bq ServiceRedirectionInfo N.S0010-0 v 1.0 */
+
+/* 6.5.2.br RoamingIndication N.S0010-0 v 1.0*/
+/* See CDMA [TSB58] for the definition of this field. */
+
+/* 6.5.2.bw CallingPartyName N.S0012-0 v 1.0*/
+
+#if 0
+/* Presentation Status (octet 1, bits A and B) */
+static const value_string ansi_map_Presentation_Status_vals[] = {
+ { 0, "Presentation allowed"},
+ { 1, "Presentation restricted"},
+ { 2, "Blocking toggle"},
+ { 3, "No indication"},
+ { 0, NULL }
+};
+#endif
+#if 0
+/* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
+static const true_false_string ansi_map_Availability_bool_val = {
+ "Name not available",
+ "Name available/unknown"
+};
+#endif
+static void
+dissect_ansi_map_callingpartyname(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
+
+ /* Presentation Status (octet 1, bits A and B) */
+
+
+
+}
+
+
+/* 6.5.2.bx DisplayText N.S0012-0 v 1.0*/
+/* a. Refer to ANSI T1.610 for field encoding. */
+
+/* 6.5.2.bz ServiceID
+ Service Identifier (octets 1 to n)
+ 0 Not used.
+ 1 Calling Name Presentation - No RND.
+ 2 Calling Name Presentation with RND.
+*/
+
+/* 6.5.2.co GlobalTitle N.S0013-0 v 1.0
+ * Refer to Section 3 of ANSI T1.112 for the encoding of this field.
+ */
+/* Address Indicator octet 1 */
+/* Global Title Octet 2 - n */
+
+
+#if 0
+/* 6.5.2.dc SpecializedResource N.S0013-0 v 1.0*/
+/* Resource Type (octet 1) */
+static const value_string ansi_map_resource_type_vals[] = {
+ { 0, "Not used"},
+ { 1, "DTMF tone detector"},
+ { 2, "Automatic Speech Recognition - Speaker Independent - Digits"},
+ { 3, "Automatic Speech Recognition - Speaker Independent - Speech User Interface Version 1"},
+ { 0, NULL }
+};
+#endif
+/* 6.5.2.df TriggerCapability */
+/* Updated with N.S0004 N.S0013-0 v 1.0*/
+
+static const true_false_string ansi_map_triggercapability_bool_val = {
+ "triggers can be armed by the TriggerAddressList parameter",
+ "triggers cannot be armed by the TriggerAddressList parameter"
+};
+
+static void
+dissect_ansi_map_triggercapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_triggercapability);
+
+
+ /* O_No_Answer (ONA) (octet 1, bit H)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ona, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* O_Disconnect (ODISC) (octet 1, bit G)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_odisc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* O_Answer (OANS) (octet 1, bit F)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oans, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Origination_Attempt_Authorized (OAA) (octet 1, bit E)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oaa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Revertive_Call (RvtC) (octet 1, bit D)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_rvtc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* All_Calls (All) (octet 1, bit C)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_all, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* K-digit (K-digit) (octet 1, bit B)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_kdigit, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Introducing Star/Pound (INIT) (octet 1, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_init, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+
+ /* O_Called_Party_Busy (OBSY) (octet 2, bit H)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_obsy, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Called_Routing_Address_Available (CdRAA) (octet 2, bit G)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cdraa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Initial_Termination (IT) (octet 2, bit F)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_it, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Calling_Routing_Address_Available (CgRAA)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cgraa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Advanced_Termination (AT) (octet 2, bit D)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_at, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Prior_Agreement (PA) (octet 2, bit C)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_pa, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Unrecognized_Number (Unrec) (octet 2, bit B)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_unrec, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Call Types (CT) (octet 2, bit A)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ct, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* */
+ /* */
+ /* */
+ /* T_Disconnect (TDISC) (octet 3, bit E)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tdisc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* T_Answer (TANS) (octet 3, bit D)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tans, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* T_No_Answer (TNA) (octet 3, bit C)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tna, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* T_Busy (TBusy) (octet 3, bit B)*/
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tbusy, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Terminating_Resource_Available (TRA) (octet 3, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tra, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/* 6.5.2.ei DMH_ServiceID N.S0018 */
+
+/* 6.5.2.dj WINOperationsCapability */
+/* Updated with N.S0004 */
+/* ConnectResource (CONN) (octet 1, bit A) */
+static const true_false_string ansi_map_winoperationscapability_conn_bool_val = {
+ "Sender is capable of supporting the ConnectResource, DisconnectResource, ConnectionFailureReport and ResetTimer (SSFT timer) operations",
+ "Sender is not capable of supporting the ConnectResource, DisconnectResource,ConnectionFailureReport and ResetTimer (SSFT timer) operations"
+};
+
+/* CallControlDirective (CCDIR) (octet 1, bit B) */
+static const true_false_string ansi_map_winoperationscapability_ccdir_bool_val = {
+ "Sender is capable of supporting the CallControlDirective operation",
+ "Sender is not capable of supporting the CallControlDirective operation"
+};
+
+/* PositionRequest (POS) (octet 1, bit C) */
+static const true_false_string ansi_map_winoperationscapability_pos_bool_val = {
+ "Sender is capable of supporting the PositionRequest operation",
+ "Sender is not capable of supporting the PositionRequest operation"
+};
+static void
+dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_winoperationscapability);
+
+ /* PositionRequest (POS) (octet 1, bit C) */
+ proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_pos, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* CallControlDirective (CCDIR) (octet 1, bit B) */
+ proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_ccdir, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* ConnectResource (CONN) (octet 1, bit A) */
+ proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_conn, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+/*
+ * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
+ * Code to be found after include functions.
+ */
+
+/* 6.5.2.ei TIA/EIA-41.5-D Modifications N.S0018Re */
+/* Octet 1,2 1st MarketID */
+/* Octet 3 1st MarketSegmentID */
+/* Octet 4,5 1st DMH_ServiceID value */
+/* Second marcet ID etc */
+/* 6.5.2.ek ControlNetworkID N.S0018*/
+static void
+dissect_ansi_map_controlnetworkid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_controlnetworkid);
+ /* MarketID octet 1 and 2 */
+ proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset = offset + 2;
+ /* Switch Number octet 3*/
+ proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+}
+
+
+/* 6.5.2.dk WIN_TriggerList N.S0013-0 v 1.0 */
+
+/* 6.5.2.ec DisplayText2 Updated in N.S0015-0*/
+
+/* 6.5.2.eq MSStatus N.S0004 */
+
+/* 6.5.2.er PositionInformationCode N.S0004 */
+
+/* 6.5.2.fd InterMessageTime N.S0015-0*/
+/* Timer value (in 10s of seconds) octet 1 */
+
+/* 6.5.2.fe MSIDUsage N.S0015-0 */
+/* M and I Report (octet 1, bits A and B) */
+static const value_string ansi_MSIDUsage_m_or_i_vals[] = {
+ { 0, "Not used"},
+ { 1, "MIN last used"},
+ { 2, "IMSI last used"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+
+/* 6.5.2.ff NewMINExtension N.S0015-0 */
+
+#if 0
+/* 6.5.2.fv ACGEncountered N.S0023-0 v 1.0 */
+/* ACG Encountered (octet 1, bits A-F) */
+static const value_string ansi_ACGEncountered_vals[] = {
+ { 0, "PC_SSN"},
+ { 1, "1-digit control"},
+ { 2, "2-digit control"},
+ { 3, "3-digit control"},
+ { 4, "4-digit control"},
+ { 5, "5-digit control"},
+ { 6, "6-digit control"},
+ { 7, "7-digit control"},
+ { 8, "8-digit control"},
+ { 9, "9-digit control"},
+ { 10, "10-digit control"},
+ { 11, "11-digit control"},
+ { 12, "12-digit control"},
+ { 13, "13-digit control"},
+ { 14, "14-digit control"},
+ { 15, "15-digit control"},
+ { 0, NULL }
+};
+#endif
+#if 0
+/* Control Type (octet 1, bits G-H) */
+static const value_string ansi_ACGEncountered_cntrl_type_vals[] = {
+ { 0, "Not used."},
+ { 1, "Service Management System Initiated control encountered"},
+ { 2, "SCF Overload control encountered"},
+ { 3, "Reserved. Treat the same as value 0, Not used."},
+ { 0, NULL }
+};
+#endif
+
+/* 6.5.2.fw ControlType N.S0023-0 v 1.0 */
+
+
+
+#if 0
+/* 6.5.2.ge QoSPriority N.S0029-0 v1.0*/
+/* 6.5.2.xx QOSPriority */
+/* Non-Assured Priority (octet 1, bits A-D) */
+static const value_string ansi_map_Priority_vals[] = {
+ { 0, "Priority Level 0. This is the lowest level"},
+ { 1, "Priority Level 1"},
+ { 2, "Priority Level 2"},
+ { 3, "Priority Level 3"},
+ { 4, "Priority Level 4"},
+ { 5, "Priority Level 5"},
+ { 6, "Priority Level 6"},
+ { 7, "Priority Level 7"},
+ { 8, "Priority Level 8"},
+ { 8, "Priority Level 9"},
+ { 10, "Priority Level 10"},
+ { 11, "Priority Level 11"},
+ { 12, "Priority Level 12"},
+ { 13, "Priority Level 13"},
+ { 14, "Reserved"},
+ { 15, "Reserved"},
+ { 0, NULL }
+};
+#endif
+/* Assured Priority (octet 1, bits E-H)*/
+
+
+/* 6.5.2.gf PDSNAddress N.S0029-0 v1.0*/
+/* a. See IOS Handoff Request message for the definition of this field. */
+
+/* 6.5.2.gg PDSNProtocolType N.S0029-0 v1.0*/
+/* See IOS Handoff Request message for the definition of this field. */
+
+/* 6.5.2.gh CDMAMSMeasuredChannelIdentity N.S0029-0 v1.0*/
+
+/* 6.5.2.gl CallingPartyCategory N.S0027*/
+/* a. Refer to ITU-T Q.763 (Signalling System No. 7 ISDN user part formats and
+ codes) for encoding of this parameter.
+ b. Refer to national ISDN user part specifications for definitions and encoding of the
+ reserved for national use values.
+*/
+/* 6.5.2.gm CDMA2000HandoffInvokeIOSData N.S0029-0 v1.0*/
+/* IOS A1 Element Handoff Invoke Information */
+
+
+/* 6.5.2.gn CDMA2000HandoffResponseIOSData */
+/* IOS A1 Element Handoff Response Information N.S0029-0 v1.0*/
+
+/* 6.5.2.gr CDMAServiceOptionConnectionIdentifier N.S0029-0 v1.0*/
+
+/* 6.5.2.fk GeographicPosition */
+/* Calling Geodetic Location (CGL)
+ * a. See T1.628 for encoding.
+ * b. Ignore extra octets, if received. Send only defined (or significant) octets.
+ */
+/* 6.5.2.fs PositionRequestType (See J-STD-036, page 8-47) X.S0002-0 v2.0
+ */
+
+/* Position Request Type (octet 1, bits A-H) */
+/*
+ static const value_string ansi_map_Position_Request_Type_vals[] = {
+ { 0, "Not used"},
+ { 1, "Initial Position"},
+ { 2, "Return the updated position"},
+ { 3, "Return the updated or last known position"},
+ { 4, "Reserved for LSP interface"},
+ { 5, "Initial Position Only"},
+ { 6, "Return the last known position"},
+ { 7, "Return the updated position based on the serving cell identity"},
+*/
+/*
+ values through 95 Reserved. Treat the same as value 1, Initial position.
+ 96 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the
+ same as value 1, Initial position.
+ *
+ { 0, NULL }
+ };
+
+*/
+
+/* LCS Client Type (CTYP) (octet 2, bit A) *
+ 0 Emergency services LCS Client.
+ 1 Non-emergency services LCS Client.
+ Call-Related Indicator (CALL) (octet 2, bit B)
+ Decimal Value Meaning
+ 0 Call-related LCS Client request.
+ 1 Non call-related LCS Client request.
+
+ Current Serving Cell Information for Coarse Position Determination (CELL) (octet 2, bit C)
+ Decimal Value Meaning
+ 0 No specific request.
+ 1 Current serving cell information. Current serving cell information for
+ Target MS requested. Radio contact with Target MS is required.
+*/
+/* 6.5.2.ft PositionResult *
+ static const value_string ansi_map_PositionResult_vals[] = {
+ { 0, "Not used"},
+ { 1, "Initial position returned"},
+ { 2, "Updated position returned"},
+ { 3, "Last known position returned"},
+ { 4, "Requested position is not available"},
+ { 5, "Target MS disconnect"},
+ { 6, "Target MS has handed-off"},
+ { 7, "Identified MS is inactive or has roamed to another system"},
+ { 8, "Unresponsive"},
+ { 9, "Identified MS is responsive, but refused position request"},
+ { 10, "System Failure"},
+ { 11, "MSID is not known"},
+ { 12, "Callback number is not known"},
+ { 13, "Improper request"},
+ { 14, "Mobile information returned"},
+ { 15, "Signal not detected"},
+ { 16, "PDE Timeout"},
+ { 17, "Position pending"},
+ { 18, "TDMA MAHO Information Returned"},
+ { 19, "TDMA MAHO Information is not available"},
+ { 20, "Access Denied"},
+ { 21, "Requested PQOS not met"},
+ { 22, "Resource required for CDMA handset-based position determination is currently unavailable"},
+ { 23, "CDMA handset-based position determination failure"},
+ { 24, "CDMA handset-based position determination failure detected by the PDE"},
+ { 25, "CDMA handset-based position determination incomplete traffic channel requested for voice services"},
+ { 26, "Emergency services call notification"},
+ { 27, "Emergency services call precedence"},
+ { 28, "Request acknowledged"},
+ { 0, NULL }
+ };
+*/
+#if 0
+/* 6.5.2.bp-1 ServiceRedirectionCause value */
+static const value_string ansi_map_ServiceRedirectionCause_vals[] = {
+ { 0, "Not used"},
+ { 1, "NormalRegistration"},
+ { 2, "SystemNotFound"},
+ { 3, "ProtocolMismatch"},
+ { 4, "RegistrationRejection"},
+ { 5, "WrongSID"},
+ { 6, "WrongNID"},
+ { 0, NULL }
+};
+#endif
+/* 6.5.2.mT AuthenticationResponseReauthentication N.S0011-0 v 1.0*/
+
+/* 6.5.2.vT ReauthenticationReport N.S0011-0 v 1.0*/
+static const value_string ansi_map_ReauthenticationReport_vals[] = {
+ { 0, "Not used"},
+ { 1, "Reauthentication not attempted"},
+ { 2, "Reauthentication no response"},
+ { 3, "Reauthentication successful"},
+ { 4, "Reauthentication failed"},
+ { 0, NULL }
+};
+
+
+
+#if 0
+/* 6.5.2.lB AKeyProtocolVersion
+ N.S0011-0 v 1.0
+*/
+static const value_string ansi_map_AKeyProtocolVersion_vals[] = {
+ { 0, "Not used"},
+ { 1, "A-key Generation not supported"},
+ { 2, "Diffie Hellman with 768-bit modulus, 160-bit primitive, and 160-bit exponents"},
+ { 3, "Diffie Hellman with 512-bit modulus, 160-bit primitive, and 160-bit exponents"},
+ { 4, "Diffie Hellman with 768-bit modulus, 32-bit primitive, and 160-bit exponents"},
+ { 0, NULL }
+};
+#endif
+/* 6.5.2.sB OTASP_ResultCode
+ N.S0011-0 v 1.0
+*/
+static const value_string ansi_map_OTASP_ResultCode_vals[] = {
+ { 0, "Accepted - Successful"},
+ { 1, "Rejected - Unknown cause."},
+ { 2, "Computation Failure - E.g., unable to compute A-key"},
+ { 3, "CSC Rejected - CSC challenge failure"},
+ { 4, "Unrecognized OTASPCallEntry"},
+ { 5, "Unsupported AKeyProtocolVersion(s)"},
+ { 6, "Unable to Commit"},
+ { 0, NULL }
+};
+
+/*6.5.2.wB ServiceIndicator
+ N.S0011-0 v 1.0
+*/
+static const value_string ansi_map_ServiceIndicator_vals[] = {
+ { 0, "Undefined Service"},
+ { 1, "CDMA OTASP Service"},
+ { 2, "TDMA OTASP Service"},
+ { 3, "CDMA OTAPA Service"},
+ { 4, "CDMA Position Determination Service (Emergency Services)"},
+ { 5, "AMPS Position Determination Service (Emergency Services)"},
+ { 6, "CDMA Position Determination Service (Value Added Services)"},
+ { 0, NULL }
+};
+
+/* 6.5.2.xB SignalingMessageEncryptionReport
+ N.S0011-0 v 1.0
+*/
+static const value_string ansi_map_SMEReport_vals[] = {
+ { 0, "Not used"},
+ { 1, "Signaling Message Encryption enabling not attempted"},
+ { 2, "Signaling Message Encryption enabling no response"},
+ { 3, "Signaling Message Encryption is enabled"},
+ { 4, "Signaling Message Encryption enabling failed"},
+ { 0, NULL }
+};
+
+/* 6.5.2.zB VoicePrivacyReport
+ N.S0011-0 v 1.0
+*/
+static const value_string ansi_map_VoicePrivacyReport_vals[] = {
+ { 0, "Not used"},
+ { 1, "Voice Privacy not attempted"},
+ { 2, "Voice Privacy no response"},
+ { 3, "Voice Privacy is active"},
+ { 4, "Voice Privacy failed"},
+ { 0, NULL }
+};
+
+
+#include "packet-ansi_map-fn.c"
+
+/*
+ * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
+ */
+static void
+dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ int offset = 0;
+ int end_offset = 0;
+ int j = 0;
+ proto_tree *subtree;
+ guint8 octet;
+
+ end_offset = tvb_reported_length_remaining(tvb,offset);
+ subtree = proto_item_add_subtree(actx->created_item, ett_win_trigger_list);
+
+ while(offset< end_offset) {
+ octet = tvb_get_guint8(tvb,offset);
+ switch (octet){
+ case 0xdc:
+ proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "TDP-R's armed");
+ j=0;
+ break;
+ case 0xdd:
+ proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "TDP-N's armed");
+ j=0;
+ break;
+ case 0xde:
+ proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "EDP-R's armed");
+ j=0;
+ break;
+ case 0xdf:
+ proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "EDP-N's armed");
+ j=0;
+ break;
+ default:
+ proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "[%u] (%u) %s",j,octet,val_to_str_ext(octet, &ansi_map_TriggerType_vals_ext, "Unknown TriggerType (%u)"));
+ j++;
+ break;
+ }
+ offset++;
+ }
+}
+
+
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
+ static gboolean opCodeKnown = TRUE;
+ static ansi_map_tap_rec_t tap_rec[16];
+ static ansi_map_tap_rec_t *tap_p;
+ static int tap_current=0;
+
+ /*
+ * set tap record pointer
+ */
+ tap_current++;
+ if (tap_current == array_length(tap_rec))
+ {
+ tap_current = 0;
+ }
+ tap_p = &tap_rec[tap_current];
+
+ switch(OperationCode){
+ case 1: /*Handoff Measurement Request*/
+ offset = dissect_ansi_map_HandoffMeasurementRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest);
+ break;
+ case 2: /*Facilities Directive*/
+ offset = dissect_ansi_map_FacilitiesDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective);
+ break;
+ case 3: /*Mobile On Channel*/
+ proto_tree_add_expert(tree, actx->pinfo, &ei_ansi_map_no_data, tvb, offset, -1);
+ break;
+ case 4: /*Handoff Back*/
+ offset = dissect_ansi_map_HandoffBack(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack);
+ break;
+ case 5: /*Facilities Release*/
+ offset = dissect_ansi_map_FacilitiesRelease(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesRelease);
+ break;
+ case 6: /*Qualification Request*/
+ offset = dissect_ansi_map_QualificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest);
+ break;
+ case 7: /*Qualification Directive*/
+ offset = dissect_ansi_map_QualificationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirective);
+ break;
+ case 8: /*Blocking*/
+ offset = dissect_ansi_map_Blocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_blocking);
+ break;
+ case 9: /*Unblocking*/
+ offset = dissect_ansi_map_Unblocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_unblocking);
+ break;
+ case 10: /*Reset Circuit*/
+ offset = dissect_ansi_map_ResetCircuit(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuit);
+ break;
+ case 11: /*Trunk Test*/
+ offset = dissect_ansi_map_TrunkTest(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTest);
+ break;
+ case 12: /*Trunk Test Disconnect*/
+ offset = dissect_ansi_map_TrunkTestDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTestDisconnect);
+ break;
+ case 13: /*Registration Notification*/
+ offset = dissect_ansi_map_RegistrationNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotification);
+ break;
+ case 14: /*Registration Cancellation*/
+ offset = dissect_ansi_map_RegistrationCancellation(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellation);
+ break;
+ case 15: /*Location Request*/
+ offset = dissect_ansi_map_LocationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequest);
+ break;
+ case 16: /*Routing Request*/
+ offset = dissect_ansi_map_RoutingRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequest);
+ break;
+ case 17: /*Feature Request*/
+ offset = dissect_ansi_map_FeatureRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequest);
+ break;
+ case 18: /*Reserved 18 (Service Profile Request, IS-41-C)*/
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1, "Unknown invokeData blob(18 (Service Profile Request, IS-41-C)");
+ break;
+ case 19: /*Reserved 19 (Service Profile Directive, IS-41-C)*/
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1, "Unknown invokeData blob(19 Service Profile Directive, IS-41-C)");
+ break;
+ case 20: /*Unreliable Roamer Data Directive*/
+ offset = dissect_ansi_map_UnreliableRoamerDataDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableRoamerDataDirective);
+ break;
+ case 21: /*Reserved 21 (Call Data Request, IS-41-C)*/
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1, "Unknown invokeData blob(Reserved 21 (Call Data Request, IS-41-C)");
+ break;
+ case 22: /*MS Inactive*/
+ offset = dissect_ansi_map_MSInactive(TRUE, tvb, offset, actx, tree, hf_ansi_map_mSInactive);
+ break;
+ case 23: /*Transfer To Number Request*/
+ offset = dissect_ansi_map_TransferToNumberRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequest);
+ break;
+ case 24: /*Redirection Request*/
+ offset = dissect_ansi_map_RedirectionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionRequest);
+ break;
+ case 25: /*Handoff To Third*/
+ offset = dissect_ansi_map_HandoffToThird(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird);
+ break;
+ case 26: /*Flash Request*/
+ offset = dissect_ansi_map_FlashRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_flashRequest);
+ break;
+ case 27: /*Authentication Directive*/
+ offset = dissect_ansi_map_AuthenticationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirective);
+ break;
+ case 28: /*Authentication Request*/
+ offset = dissect_ansi_map_AuthenticationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequest);
+ break;
+ case 29: /*Base Station Challenge*/
+ offset = dissect_ansi_map_BaseStationChallenge(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallenge);
+ break;
+ case 30: /*Authentication Failure Report*/
+ offset = dissect_ansi_map_AuthenticationFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReport);
+ break;
+ case 31: /*Count Request*/
+ offset = dissect_ansi_map_CountRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequest);
+ break;
+ case 32: /*Inter System Page*/
+ offset = dissect_ansi_map_InterSystemPage(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage);
+ break;
+ case 33: /*Unsolicited Response*/
+ offset = dissect_ansi_map_UnsolicitedResponse(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponse);
+ break;
+ case 34: /*Bulk Deregistration*/
+ offset = dissect_ansi_map_BulkDeregistration(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDeregistration);
+ break;
+ case 35: /*Handoff Measurement Request 2*/
+ offset = dissect_ansi_map_HandoffMeasurementRequest2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2);
+ break;
+ case 36: /*Facilities Directive 2*/
+ offset = dissect_ansi_map_FacilitiesDirective2(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2);
+ break;
+ case 37: /*Handoff Back 2*/
+ offset = dissect_ansi_map_HandoffBack2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2);
+ break;
+ case 38: /*Handoff To Third 2*/
+ offset = dissect_ansi_map_HandoffToThird2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2);
+ break;
+ case 39: /*Authentication Directive Forward*/
+ offset = dissect_ansi_map_AuthenticationDirectiveForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForward);
+ break;
+ case 40: /*Authentication Status Report*/
+ offset = dissect_ansi_map_AuthenticationStatusReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReport);
+ break;
+ case 41: /*Reserved 41*/
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1, "Reserved 41, Unknown invokeData blob");
+ break;
+ case 42: /*Information Directive*/
+ offset = dissect_ansi_map_InformationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirective);
+ break;
+ case 43: /*Information Forward*/
+ offset = dissect_ansi_map_InformationForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForward);
+ break;
+ case 44: /*Inter System Answer*/
+ offset = dissect_ansi_map_InterSystemAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemAnswer);
+ break;
+ case 45: /*Inter System Page 2*/
+ offset = dissect_ansi_map_InterSystemPage2(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2);
+ break;
+ case 46: /*Inter System Setup*/
+ offset = dissect_ansi_map_InterSystemSetup(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetup);
+ break;
+ case 47: /*OriginationRequest*/
+ offset = dissect_ansi_map_OriginationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequest);
+ break;
+ case 48: /*Random Variable Request*/
+ offset = dissect_ansi_map_RandomVariableRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequest);
+ break;
+ case 49: /*Redirection Directive*/
+ offset = dissect_ansi_map_RedirectionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionDirective);
+ break;
+ case 50: /*Remote User Interaction Directive*/
+ offset = dissect_ansi_map_RemoteUserInteractionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirective);
+ break;
+ case 51: /*SMS Delivery Backward*/
+ offset = dissect_ansi_map_SMSDeliveryBackward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackward);
+ break;
+ case 52: /*SMS Delivery Forward*/
+ offset = dissect_ansi_map_SMSDeliveryForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForward);
+ break;
+ case 53: /*SMS Delivery Point to Point*/
+ offset = dissect_ansi_map_SMSDeliveryPointToPoint(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPoint);
+ break;
+ case 54: /*SMS Notification*/
+ offset = dissect_ansi_map_SMSNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotification);
+ break;
+ case 55: /*SMS Request*/
+ offset = dissect_ansi_map_SMSRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequest);
+ break;
+ /* End N.S0005*/
+ /* N.S0010-0 v 1.0 */
+ /* N.S0011-0 v 1.0 */
+ case 56: /*OTASP Request 6.4.2.CC*/
+ offset = dissect_ansi_map_OTASPRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequest);
+ break;
+ /*End N.S0011-0 v 1.0 */
+ case 57: /*Information Backward*/
+ break;
+ /* N.S0008-0 v 1.0 */
+ case 58: /*Change Facilities*/
+ offset = dissect_ansi_map_ChangeFacilities(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilities);
+ break;
+ case 59: /*Change Service*/
+ offset = dissect_ansi_map_ChangeService(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeService);
+ break;
+ /* End N.S0008-0 v 1.0 */
+ case 60: /*Parameter Request*/
+ offset = dissect_ansi_map_ParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequest);
+ break;
+ case 61: /*TMSI Directive*/
+ offset = dissect_ansi_map_TMSIDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirective);
+ break;
+ /*End N.S0010-0 v 1.0 */
+ case 62: /*NumberPortabilityRequest 62*/
+ offset = dissect_ansi_map_NumberPortabilityRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequest);
+ break;
+ case 63: /*Service Request N.S0012-0 v 1.0*/
+ offset = dissect_ansi_map_ServiceRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequest);
+ break;
+ /* N.S0013 */
+ case 64: /*Analyzed Information Request*/
+ offset = dissect_ansi_map_AnalyzedInformation(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformation);
+ break;
+ case 65: /*Connection Failure Report*/
+ offset = dissect_ansi_map_ConnectionFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectionFailureReport);
+ break;
+ case 66: /*Connect Resource*/
+ offset = dissect_ansi_map_ConnectResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectResource);
+ break;
+ case 67: /*Disconnect Resource*/
+ /* No data */
+ break;
+ case 68: /*Facility Selected and Available*/
+ offset = dissect_ansi_map_FacilitySelectedAndAvailable(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailable);
+ break;
+ case 69: /*Instruction Request*/
+ /* No data */
+ break;
+ case 70: /*Modify*/
+ offset = dissect_ansi_map_Modify(TRUE, tvb, offset, actx, tree, hf_ansi_map_modify);
+ break;
+ case 71: /*Reset Timer*/
+ /*No Data*/
+ break;
+ case 72: /*Search*/
+ offset = dissect_ansi_map_Search(TRUE, tvb, offset, actx, tree, hf_ansi_map_search);
+ break;
+ case 73: /*Seize Resource*/
+ offset = dissect_ansi_map_SeizeResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResource);
+ break;
+ case 74: /*SRF Directive*/
+ offset = dissect_ansi_map_SRFDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirective);
+ break;
+ case 75: /*T Busy*/
+ offset = dissect_ansi_map_TBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusy);
+ break;
+ case 76: /*T NoAnswer*/
+ offset = dissect_ansi_map_TNoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswer);
+ break;
+ /*END N.S0013 */
+ case 77: /*Release*/
+ break;
+ case 78: /*SMS Delivery Point to Point Ack*/
+ offset = dissect_ansi_map_SMSDeliveryPointToPointAck(TRUE, tvb, offset, actx, tree, hf_ansi_map_smsDeliveryPointToPointAck);
+ break;
+ /* N.S0024*/
+ case 79: /*Message Directive*/
+ offset = dissect_ansi_map_MessageDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_messageDirective);
+ break;
+ /*END N.S0024*/
+ /* N.S0018 PN-4287*/
+ case 80: /*Bulk Disconnection*/
+ offset = dissect_ansi_map_BulkDisconnection(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDisconnection);
+ break;
+ case 81: /*Call Control Directive*/
+ offset = dissect_ansi_map_CallControlDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirective);
+ break;
+ case 82: /*O Answer*/
+ offset = dissect_ansi_map_OAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oAnswer);
+ break;
+ case 83: /*O Disconnect*/
+ offset = dissect_ansi_map_ODisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnect);
+ break;
+ case 84: /*Call Recovery Report*/
+ offset = dissect_ansi_map_CallRecoveryReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callRecoveryReport);
+ break;
+ case 85: /*T Answer*/
+ offset = dissect_ansi_map_TAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tAnswer);
+ break;
+ case 86: /*T Disconnect*/
+ offset = dissect_ansi_map_TDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnect);
+ break;
+ case 87: /*Unreliable Call Data*/
+ offset = dissect_ansi_map_UnreliableCallData(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableCallData);
+ break;
+ /* N.S0018 PN-4287*/
+ /*N.S0004 */
+ case 88: /*O CalledPartyBusy*/
+ offset = dissect_ansi_map_OCalledPartyBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusy);
+ break;
+ case 89: /*O NoAnswer*/
+ offset = dissect_ansi_map_ONoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswer);
+ break;
+ case 90: /*Position Request*/
+ offset = dissect_ansi_map_PositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequest);
+ break;
+ case 91: /*Position Request Forward*/
+ offset = dissect_ansi_map_PositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForward);
+ break;
+ /*END N.S0004 */
+ case 92: /*Call Termination Report*/
+ offset = dissect_ansi_map_CallTerminationReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callTerminationReport);
+ break;
+ case 93: /*Geo Position Directive*/
+ break;
+ case 94: /*Geo Position Request*/
+ offset = dissect_ansi_map_GeoPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_geoPositionRequest);
+ break;
+ case 95: /*Inter System Position Request*/
+ offset = dissect_ansi_map_InterSystemPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest);
+ break;
+ case 96: /*Inter System Position Request Forward*/
+ offset = dissect_ansi_map_InterSystemPositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestForward);
+ break;
+ /* 3GPP2 N.S0023-0 */
+ case 97: /*ACG Directive*/
+ offset = dissect_ansi_map_ACGDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_aCGDirective);
+ break;
+ /* END 3GPP2 N.S0023-0 */
+ case 98: /*Roamer Database Verification Request*/
+ offset = dissect_ansi_map_RoamerDatabaseVerificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequest);
+ break;
+ /* N.S0029 X.S0001-A v1.0*/
+ case 99: /*Add Service*/
+ offset = dissect_ansi_map_AddService(TRUE, tvb, offset, actx, tree, hf_ansi_map_addService);
+ break;
+ case 100: /*Drop Service*/
+ offset = dissect_ansi_map_DropService(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropService);
+ break;
+ /*End N.S0029 X.S0001-A v1.0*/
+ /* X.S0002-0 v1.0 */
+ /* LCSParameterRequest */
+ case 101: /* InterSystemSMSPage 101 */
+ offset = dissect_ansi_map_InterSystemSMSPage(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSPage);
+ break;
+ case 102:
+ offset = dissect_ansi_map_LCSParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequest);
+ break;
+ /* CheckMEID X.S0008-0 v1.0*/
+ case 104:
+ offset = dissect_ansi_map_CheckMEID(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEID);
+ break;
+ /* PositionEventNotification */
+ case 106:
+ offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotification);
+ break;
+ case 107:
+ /* StatusRequest X.S0008-0 v1.0*/
+ offset = dissect_ansi_map_StatusRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequest);
+ break;
+ /* InterSystemSMSDelivery-PointToPoint 111 X.S0004-540-E v2.0*/
+ case 111:
+ /* InterSystemSMSDeliveryPointToPoint X.S0004-540-E v2.0 */
+ offset = dissect_ansi_map_InterSystemSMSDeliveryPointToPoint(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSDeliveryPointToPoint);
+ break;
+ case 112:
+ /* QualificationRequest2 112 X.S0004-540-E v2.0*/
+ offset = dissect_ansi_map_QualificationRequest2(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest2);
+ break;
+ default:
+ proto_tree_add_expert(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1);
+ opCodeKnown = FALSE;
+ break;
+ }
+
+ if (opCodeKnown)
+ {
+ tap_p->message_type = OperationCode;
+ tap_p->size = 0; /* should be number of octets in message */
+
+ tap_queue_packet(ansi_map_tap, g_pinfo, tap_p);
+ }
+
+ return offset;
+}
+
+static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
+ static gboolean opCodeKnown = TRUE;
+ static ansi_map_tap_rec_t tap_rec[16];
+ static ansi_map_tap_rec_t *tap_p;
+ static int tap_current=0;
+
+ /*
+ * set tap record pointer
+ */
+ tap_current++;
+ if (tap_current == array_length(tap_rec))
+ {
+ tap_current = 0;
+ }
+ tap_p = &tap_rec[tap_current];
+
+ switch(OperationCode){
+ case 1: /*Handoff Measurement Request*/
+ offset = dissect_ansi_map_HandoffMeasurementRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequestRes);
+ break;
+ case 2: /*Facilities Directive*/
+ offset = dissect_ansi_map_FacilitiesDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirectiveRes);
+ break;
+ case 4: /*Handoff Back*/
+ offset = dissect_ansi_map_HandoffBackRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBackRes);
+ break;
+ case 5: /*Facilities Release*/
+ offset = dissect_ansi_map_FacilitiesReleaseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesReleaseRes);
+ break;
+ case 6: /*Qualification Request*/
+ offset = dissect_ansi_map_QualificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequestRes);
+ break;
+ case 7: /*Qualification Directive*/
+ offset = dissect_ansi_map_QualificationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirectiveRes);
+ break;
+ case 10: /*Reset Circuit*/
+ offset = dissect_ansi_map_ResetCircuitRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuitRes);
+ break;
+ case 13: /*Registration Notification*/
+ offset = dissect_ansi_map_RegistrationNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotificationRes);
+ break;
+ case 14: /*Registration Cancellation*/
+ offset = dissect_ansi_map_RegistrationCancellationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellationRes);
+ break;
+ case 15: /*Location Request*/
+ offset = dissect_ansi_map_LocationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequestRes);
+ break;
+ case 16: /*Routing Request*/
+ offset = dissect_ansi_map_RoutingRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequestRes);
+ break;
+ case 17: /*Feature Request*/
+ offset = dissect_ansi_map_FeatureRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequestRes);
+ break;
+ case 23: /*Transfer To Number Request*/
+ offset = dissect_ansi_map_TransferToNumberRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequestRes);
+ break;
+ case 25: /*Handoff To Third*/
+ offset = dissect_ansi_map_HandoffToThirdRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThirdRes);
+ break;
+ case 26: /*Flash Request*/
+ /* No data */
+ proto_tree_add_expert(tree, actx->pinfo, &ei_ansi_map_no_data, tvb, offset, -1);
+ break;
+ case 27: /*Authentication Directive*/
+ offset = dissect_ansi_map_AuthenticationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveRes);
+ break;
+ case 28: /*Authentication Request*/
+ offset = dissect_ansi_map_AuthenticationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequestRes);
+ break;
+ case 29: /*Base Station Challenge*/
+ offset = dissect_ansi_map_BaseStationChallengeRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallengeRes);
+ break;
+ case 30: /*Authentication Failure Report*/
+ offset = dissect_ansi_map_AuthenticationFailureReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReportRes);
+ break;
+ case 31: /*Count Request*/
+ offset = dissect_ansi_map_CountRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequestRes);
+ break;
+ case 32: /*Inter System Page*/
+ offset = dissect_ansi_map_InterSystemPageRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPageRes);
+ break;
+ case 33: /*Unsolicited Response*/
+ offset = dissect_ansi_map_UnsolicitedResponseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponseRes);
+ break;
+ case 35: /*Handoff Measurement Request 2*/
+ offset = dissect_ansi_map_HandoffMeasurementRequest2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2Res);
+ break;
+ case 36: /*Facilities Directive 2*/
+ offset = dissect_ansi_map_FacilitiesDirective2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2Res);
+ break;
+ case 37: /*Handoff Back 2*/
+ offset = dissect_ansi_map_HandoffBack2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2Res);
+ break;
+ case 38: /*Handoff To Third 2*/
+ offset = dissect_ansi_map_HandoffToThird2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2Res);
+ break;
+ case 39: /*Authentication Directive Forward*/
+ offset = dissect_ansi_map_AuthenticationDirectiveForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForwardRes);
+ break;
+ case 40: /*Authentication Status Report*/
+ offset = dissect_ansi_map_AuthenticationStatusReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReportRes);
+ break;
+ /*Reserved 41*/
+ case 42: /*Information Directive*/
+ offset = dissect_ansi_map_InformationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirectiveRes);
+ break;
+ case 43: /*Information Forward*/
+ offset = dissect_ansi_map_InformationForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForwardRes);
+ break;
+ case 45: /*Inter System Page 2*/
+ offset = dissect_ansi_map_InterSystemPage2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2Res);
+ break;
+ case 46: /*Inter System Setup*/
+ offset = dissect_ansi_map_InterSystemSetupRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetupRes);
+ break;
+ case 47: /*OriginationRequest*/
+ offset = dissect_ansi_map_OriginationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequestRes);
+ break;
+ case 48: /*Random Variable Request*/
+ offset = dissect_ansi_map_RandomVariableRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequestRes);
+ break;
+ case 50: /*Remote User Interaction Directive*/
+ offset = dissect_ansi_map_RemoteUserInteractionDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirectiveRes);
+ break;
+ case 51: /*SMS Delivery Backward*/
+ offset = dissect_ansi_map_SMSDeliveryBackwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackwardRes);
+ break;
+ case 52: /*SMS Delivery Forward*/
+ offset = dissect_ansi_map_SMSDeliveryForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForwardRes);
+ break;
+ case 53: /*SMS Delivery Point to Point*/
+ offset = dissect_ansi_map_SMSDeliveryPointToPointRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPointRes);
+ break;
+ case 54: /*SMS Notification*/
+ offset = dissect_ansi_map_SMSNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotificationRes);
+ break;
+ case 55: /*SMS Request*/
+ offset = dissect_ansi_map_SMSRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequestRes);
+ break;
+ /* N.S0008-0 v 1.0 */
+ case 56: /*OTASP Request 6.4.2.CC*/
+ offset = dissect_ansi_map_OTASPRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequestRes);
+ break;
+ /* 57 Information Backward*/
+ case 58: /*Change Facilities*/
+ offset = dissect_ansi_map_ChangeFacilitiesRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilitiesRes);
+ break;
+ case 59: /*Change Service*/
+ offset = dissect_ansi_map_ChangeServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeServiceRes);
+ break;
+ case 60: /*Parameter Request*/
+ offset = dissect_ansi_map_ParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequestRes);
+ break;
+ case 61: /*TMSI Directive*/
+ offset = dissect_ansi_map_TMSIDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirectiveRes);
+ break;
+ case 62: /*NumberPortabilityRequest */
+ offset = dissect_ansi_map_NumberPortabilityRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequestRes);
+ break;
+ case 63: /*Service Request*/
+ offset = dissect_ansi_map_ServiceRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequestRes);
+ break;
+ /* N.S0013 */
+ case 64: /*Analyzed Information Request*/
+ offset = dissect_ansi_map_AnalyzedInformationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformationRes);
+ break;
+ /* 65 Connection Failure Report*/
+ /* 66 Connect Resource*/
+ /* 67 Disconnect Resource*/
+ case 68: /*Facility Selected and Available*/
+ offset = dissect_ansi_map_FacilitySelectedAndAvailableRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailableRes);
+ break;
+ /* 69 Instruction Request*/
+ case 70: /*Modify*/
+ offset = dissect_ansi_map_ModifyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_modifyRes);
+ break;
+ case 72: /*Search*/
+ offset = dissect_ansi_map_SearchRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_searchRes);
+ break;
+ case 73: /*Seize Resource*/
+ offset = dissect_ansi_map_SeizeResourceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResourceRes);
+ break;
+ case 74: /*SRF Directive*/
+ offset = dissect_ansi_map_SRFDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirectiveRes);
+ break;
+ case 75: /*T Busy*/
+ offset = dissect_ansi_map_TBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusyRes);
+ break;
+ case 76: /*T NoAnswer*/
+ offset = dissect_ansi_map_TNoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswerRes);
+ break;
+ case 81: /*Call Control Directive*/
+ offset = dissect_ansi_map_CallControlDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirectiveRes);
+ break;
+ case 83: /*O Disconnect*/
+ offset = dissect_ansi_map_ODisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnectRes);
+ break;
+ case 86: /*T Disconnect*/
+ offset = dissect_ansi_map_TDisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnectRes);
+ break;
+ case 88: /*O CalledPartyBusy*/
+ offset = dissect_ansi_map_OCalledPartyBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusyRes);
+ break;
+ case 89: /*O NoAnswer*/
+ offset = dissect_ansi_map_ONoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswerRes);
+ break;
+ case 90: /*Position Request*/
+ offset = dissect_ansi_map_PositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestRes);
+ break;
+ case 91: /*Position Request Forward*/
+ offset = dissect_ansi_map_PositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForwardRes);
+ break;
+ case 95: /*Inter System Position Request*/
+ offset = dissect_ansi_map_InterSystemPositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes);
+ break;
+ case 96: /*Inter System Position Request Forward*/
+ offset = dissect_ansi_map_InterSystemPositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestForwardRes);
+ break;
+ case 98: /*Roamer Database Verification Request*/
+ offset = dissect_ansi_map_RoamerDatabaseVerificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequestRes);
+ break;
+ case 99: /*Add Service*/
+ offset = dissect_ansi_map_AddServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_addServiceRes);
+ break;
+ case 100: /*Drop Service*/
+ offset = dissect_ansi_map_DropServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropServiceRes);
+ break;
+ /*End N.S0029 */
+ /* X.S0002-0 v1.0 */
+ /* LCSParameterRequest */
+ case 102:
+ offset = dissect_ansi_map_LCSParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequestRes);
+ break;
+ /* CheckMEID X.S0008-0 v1.0*/
+ case 104:
+ offset = dissect_ansi_map_CheckMEIDRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEIDRes);
+ break;
+ /* PositionEventNotification *
+ case 106:
+ offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotificationRes);
+ break;
+ */
+ case 107:
+ /* StatusRequest X.S0008-0 v1.0*/
+ offset = dissect_ansi_map_StatusRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequestRes);
+ break;
+ case 111:
+ /* InterSystemSMSDeliveryPointToPointRes X.S0004-540-E v2.0 */
+ offset = dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSDeliveryPointToPointRes);
+ break;
+ case 112:
+ /* QualificationRequest2Res 112 X.S0004-540-E v2.0*/
+ offset = dissect_ansi_map_QualificationRequest2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest2Res);
+ break;
+ default:
+ proto_tree_add_expert(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1);
+ opCodeKnown = FALSE;
+ break;
+ }
+
+ if (opCodeKnown)
+ {
+ tap_p->message_type = OperationCode;
+ tap_p->size = 0; /* should be number of octets in message */
+
+ tap_queue_packet(ansi_map_tap, g_pinfo, tap_p);
+ }
+
+ return offset;
+}
+
+static int
+find_saved_invokedata(asn1_ctx_t *actx, struct ansi_tcap_private_t *p_private_tcap){
+ struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
+ address* src = &(actx->pinfo->src);
+ address* dst = &(actx->pinfo->dst);
+ guint8 *src_str;
+ guint8 *dst_str;
+ char *buf;
+
+ buf=(char *)wmem_alloc(actx->pinfo->pool, 1024);
+
+ /* Data from the TCAP dissector */
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ src_str = address_to_str(actx->pinfo->pool, src);
+ dst_str = address_to_str(actx->pinfo->pool, dst);
+ /* Reverse order to invoke */
+ switch(ansi_map_response_matching_type){
+ case ANSI_MAP_TID_ONLY:
+ snprintf(buf,1024,"%s",p_private_tcap->TransactionID_str);
+ break;
+ case ANSI_MAP_TID_AND_SOURCE:
+ snprintf(buf,1024,"%s%s",p_private_tcap->TransactionID_str,dst_str);
+ break;
+ case ANSI_MAP_TID_SOURCE_AND_DEST:
+ default:
+ snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,dst_str,src_str);
+ break;
+ }
+
+ /*ws_warning("Find Hash string %s pkt: %u",buf,actx->pinfo->num);*/
+ ansi_map_saved_invokedata = (struct ansi_map_invokedata_t *)wmem_multimap_lookup32_le(TransactionId_table, buf, actx->pinfo->num);
+ if(ansi_map_saved_invokedata){
+ OperationCode = ansi_map_saved_invokedata->opcode & 0xff;
+ ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
+ }else{
+ OperationCode = OperationCode & 0x00ff;
+ }
+
+ return OperationCode;
+}
+
+static int
+dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ proto_item *ansi_map_item;
+ proto_tree *ansi_map_tree = NULL;
+ struct ansi_tcap_private_t *p_private_tcap = (struct ansi_tcap_private_t *)data;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ SMS_BearerData_tvb = NULL;
+ ansi_map_sms_tele_id = -1;
+ g_pinfo = pinfo;
+ g_tree = tree;
+
+ /* The TCAP dissector should have provided data but didn't so reject it. */
+ if (data == NULL)
+ return 0;
+ /*
+ * Make entry in the Protocol column on summary display
+ */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI MAP");
+
+ /*
+ * create the ansi_map protocol tree
+ */
+ ansi_map_item = proto_tree_add_item(tree, proto_ansi_map, tvb, 0, -1, ENC_NA);
+ ansi_map_tree = proto_item_add_subtree(ansi_map_item, ett_ansi_map);
+ ansi_map_is_invoke = FALSE;
+ is683_ota = FALSE;
+ is801_pld = FALSE;
+ ServiceIndicator = 0;
+
+ switch(p_private_tcap->d.pdu){
+ /*
+ 1 : invoke,
+ 2 : returnResult,
+ 3 : returnError,
+ 4 : reject
+ */
+ case 1:
+ OperationCode = p_private_tcap->d.OperationCode_private & 0x00ff;
+ ansi_map_is_invoke = TRUE;
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s Invoke ", val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
+ proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
+ dissect_invokeData(ansi_map_tree, tvb, 0, &asn1_ctx);
+ update_saved_invokedata(pinfo, p_private_tcap);
+ break;
+ case 2:
+ OperationCode = find_saved_invokedata(&asn1_ctx, p_private_tcap);
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnResult ", val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
+ proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
+ dissect_returnData(ansi_map_tree, tvb, 0, &asn1_ctx);
+ break;
+ case 3:
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnError ", val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
+ break;
+ case 4:
+ col_add_fstr(pinfo->cinfo, COL_INFO,"%s Reject ", val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
+ break;
+ default:
+ /* Must be Invoke ReturnResult ReturnError or Reject */
+ DISSECTOR_ASSERT_NOT_REACHED();
+ break;
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+static void range_delete_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if (ssn) {
+ delete_ansi_tcap_subdissector(ssn, ansi_map_handle);
+ }
+}
+
+static void range_add_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if (ssn) {
+ add_ansi_tcap_subdissector(ssn, ansi_map_handle);
+ }
+}
+
+/* TAP STAT INFO */
+typedef enum
+{
+ OPCODE_COLUMN = 0,
+ OPERATION_COLUMN,
+ COUNT_COLUMN,
+ TOTAL_BYTES_COLUMN,
+ AVG_BYTES_COLUMN
+} ansi_map_stat_columns;
+
+static stat_tap_table_item stat_fields[] = {{TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "OpCode", "0x%02x"}, {TABLE_ITEM_STRING, TAP_ALIGN_LEFT, "Operation Name", "%-50s"},
+ {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Count", " %d "}, {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Total Bytes", " %d "},
+ {TABLE_ITEM_FLOAT, TAP_ALIGN_RIGHT, "Avg Bytes", " %8.2f "}};
+
+static void ansi_map_stat_init(stat_tap_table_ui* new_stat)
+{
+ const char *table_name = "ANSI MAP Operation Statistics";
+ int num_fields = sizeof(stat_fields)/sizeof(stat_tap_table_item);
+ stat_tap_table *table;
+ int i = 0;
+ stat_tap_table_item_type items[sizeof(stat_fields)/sizeof(stat_tap_table_item)];
+
+ table = stat_tap_find_table(new_stat, table_name);
+ if (table) {
+ if (new_stat->stat_tap_reset_table_cb) {
+ new_stat->stat_tap_reset_table_cb(table);
+ }
+ return;
+ }
+
+ table = stat_tap_init_table(table_name, num_fields, 0, "ansi_map.op_code");
+ stat_tap_add_table(new_stat, table);
+
+ /* Add a fow for each value type */
+ while (ansi_map_opr_code_strings[i].strptr)
+ {
+ items[OPCODE_COLUMN].type = TABLE_ITEM_UINT;
+ items[OPCODE_COLUMN].value.uint_value = ansi_map_opr_code_strings[i].value;
+ items[OPERATION_COLUMN].type = TABLE_ITEM_STRING;
+ items[OPERATION_COLUMN].value.string_value = ansi_map_opr_code_strings[i].strptr;
+ items[COUNT_COLUMN].type = TABLE_ITEM_UINT;
+ items[COUNT_COLUMN].value.uint_value = 0;
+ items[TOTAL_BYTES_COLUMN].type = TABLE_ITEM_UINT;
+ items[TOTAL_BYTES_COLUMN].value.uint_value = 0;
+ items[AVG_BYTES_COLUMN].type = TABLE_ITEM_FLOAT;
+ items[AVG_BYTES_COLUMN].value.float_value = 0.0f;
+
+ stat_tap_init_table_row(table, ansi_map_opr_code_strings[i].value, num_fields, items);
+ i++;
+ }
+}
+
+
+static tap_packet_status
+ansi_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data, tap_flags_t flags _U_)
+{
+ stat_data_t* stat_data = (stat_data_t*)tapdata;
+ const ansi_map_tap_rec_t *data_p = (const ansi_map_tap_rec_t *)data;
+ stat_tap_table* table;
+ stat_tap_table_item_type* item_data;
+ guint count, total_bytes;
+
+ /* Only tracking field values we know */
+ if (try_val_to_str(data_p->message_type, ansi_map_opr_code_strings) == NULL)
+ return TAP_PACKET_DONT_REDRAW;
+
+ table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, 0);
+
+ item_data = stat_tap_get_field_data(table, data_p->message_type, COUNT_COLUMN);
+ item_data->value.uint_value++;
+ count = item_data->value.uint_value;
+ stat_tap_set_field_data(table, data_p->message_type, COUNT_COLUMN, item_data);
+
+ item_data = stat_tap_get_field_data(table, data_p->message_type, TOTAL_BYTES_COLUMN);
+ item_data->value.uint_value += data_p->size;
+ total_bytes = item_data->value.uint_value;
+ stat_tap_set_field_data(table, data_p->message_type, TOTAL_BYTES_COLUMN, item_data);
+
+ item_data = stat_tap_get_field_data(table, data_p->message_type, AVG_BYTES_COLUMN);
+ item_data->value.float_value = (float)total_bytes/(float)count;
+ stat_tap_set_field_data(table, data_p->message_type, AVG_BYTES_COLUMN, item_data);
+
+ return TAP_PACKET_REDRAW;
+}
+
+static void
+ansi_map_stat_reset(stat_tap_table* table)
+{
+ guint element;
+ stat_tap_table_item_type* item_data;
+
+ for (element = 0; element < table->num_elements; element++)
+ {
+ item_data = stat_tap_get_field_data(table, element, COUNT_COLUMN);
+ item_data->value.uint_value = 0;
+ stat_tap_set_field_data(table, element, COUNT_COLUMN, item_data);
+
+ item_data = stat_tap_get_field_data(table, element, TOTAL_BYTES_COLUMN);
+ item_data->value.uint_value = 0;
+ stat_tap_set_field_data(table, element, TOTAL_BYTES_COLUMN, item_data);
+
+ item_data = stat_tap_get_field_data(table, element, AVG_BYTES_COLUMN);
+ item_data->value.float_value = 0.0f;
+ stat_tap_set_field_data(table, element, AVG_BYTES_COLUMN, item_data);
+ }
+
+}
+
+void
+proto_reg_handoff_ansi_map(void)
+{
+ static gboolean ansi_map_prefs_initialized = FALSE;
+ static range_t *ssn_range;
+
+ if(!ansi_map_prefs_initialized)
+ {
+ ansi_map_prefs_initialized = TRUE;
+ }
+ else
+ {
+ range_foreach(ssn_range, range_delete_callback, NULL);
+ wmem_free(wmem_epan_scope(), ssn_range);
+ }
+
+ ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
+
+ range_foreach(ssn_range, range_add_callback, NULL);
+}
+
+/*--- proto_register_ansi_map -------------------------------------------*/
+void proto_register_ansi_map(void) {
+
+ module_t *ansi_map_module;
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#if 0
+ { &hf_ansi_map_op_code_fam,
+ { "Operation Code Family", "ansi_map.op_code_fam",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+#endif
+ { &hf_ansi_map_reservedBitH,
+ { "Reserved", "ansi_map.reserved_bitH",
+ FT_BOOLEAN, 8, NULL,0x80,
+ NULL, HFILL }},
+ { &hf_ansi_map_reservedBitD,
+ { "Reserved", "ansi_map.reserved_bitD",
+ FT_BOOLEAN, 8, NULL,0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_reservedBitHG,
+ { "Reserved", "ansi_map.reserved_bitHG",
+ FT_UINT8, BASE_DEC, NULL, 0xc0,
+ NULL, HFILL }},
+ { &hf_ansi_map_reservedBitHGFE,
+ { "Reserved", "ansi_map.reserved_bitHGFE",
+ FT_UINT8, BASE_DEC, NULL, 0xf0,
+ NULL, HFILL }},
+ { &hf_ansi_map_reservedBitFED,
+ { "Reserved", "ansi_map.reserved_bitFED",
+ FT_UINT8, BASE_DEC, NULL, 0x38,
+ NULL, HFILL }},
+ { &hf_ansi_map_reservedBitED,
+ { "Reserved", "ansi_map.reserved_bitED",
+ FT_UINT8, BASE_DEC, NULL, 0x18,
+ NULL, HFILL }},
+#if 0
+ { &hf_ansi_map_op_code,
+ { "Operation Code", "ansi_map.op_code",
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &ansi_map_opr_code_strings_ext, 0x0,
+ NULL, HFILL }},
+#endif
+ { &hf_ansi_map_type_of_digits,
+ { "Type of Digits", "ansi_map.type_of_digits",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_type_of_digits_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_na,
+ { "Nature of Number", "ansi_map.na",
+ FT_BOOLEAN, 8, TFS(&ansi_map_na_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_pi,
+ { "Presentation Indication", "ansi_map.type_of_pi",
+ FT_BOOLEAN, 8, TFS(&ansi_map_pi_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_navail,
+ { "Number available indication", "ansi_map.navail",
+ FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_si,
+ { "Screening indication", "ansi_map.si",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_si_vals), 0x30,
+ NULL, HFILL }},
+ { &hf_ansi_map_digits_enc,
+ { "Encoding", "ansi_map.enc",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_digits_enc_vals), 0x0f,
+ NULL, HFILL }},
+ { &hf_ansi_map_np,
+ { "Numbering Plan", "ansi_map.np",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_np_vals), 0xf0,
+ NULL, HFILL }},
+ { &hf_ansi_map_nr_digits,
+ { "Number of Digits", "ansi_map.nr_digits",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_bcd_digits,
+ { "BCD digits", "ansi_map.bcd_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ansi_map_ia5_digits,
+ { "IA5 digits", "ansi_map.ia5_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ansi_map_subaddr_type,
+ { "Type of Subaddress", "ansi_map.subaddr_type",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_sub_addr_type_vals), 0x70,
+ NULL, HFILL }},
+ { &hf_ansi_map_subaddr_odd_even,
+ { "Odd/Even Indicator", "ansi_map.subaddr_odd_even",
+ FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x08,
+ NULL, HFILL }},
+
+ { &hf_ansi_alertcode_cadence,
+ { "Cadence", "ansi_map.alertcode.cadence",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Cadence_vals), 0x3f,
+ NULL, HFILL }},
+ { &hf_ansi_alertcode_pitch,
+ { "Pitch", "ansi_map.alertcode.pitch",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Pitch_vals), 0xc0,
+ NULL, HFILL }},
+ { &hf_ansi_alertcode_alertaction,
+ { "Alert Action", "ansi_map.alertcode.alertaction",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Alert_Action_vals), 0x07,
+ NULL, HFILL }},
+ { &hf_ansi_map_announcementcode_tone,
+ { "Tone", "ansi_map.announcementcode.tone",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_tone_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_announcementcode_class,
+ { "Tone", "ansi_map.announcementcode.class",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_class_vals), 0xf,
+ NULL, HFILL }},
+ { &hf_ansi_map_announcementcode_std_ann,
+ { "Standard Announcement", "ansi_map.announcementcode.std_ann",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_std_ann_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_announcementcode_cust_ann,
+ { "Custom Announcement", "ansi_map.announcementcode.cust_ann",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_authorizationperiod_period,
+ { "Period", "ansi_map.authorizationperiod.period",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_authorizationperiod_period_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_value,
+ { "Value", "ansi_map.value",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_msc_type,
+ { "Type", "ansi_map.extendedmscid.type",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_msc_type_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_handoffstate_pi,
+ { "Party Involved (PI)", "ansi_map.handoffstate.pi",
+ FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_tgn,
+ { "Trunk Group Number (G)", "ansi_map.tgn",
+ FT_UINT8, BASE_DEC, NULL,0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_tmn,
+ { "Trunk Member Number (M)", "ansi_map.tmn",
+ FT_UINT8, BASE_DEC, NULL,0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_messagewaitingnotificationcount_tom,
+ { "Type of messages", "ansi_map.messagewaitingnotificationcount.tom",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationCount_type_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_messagewaitingnotificationcount_no_mw,
+ { "Number of Messages Waiting", "ansi_map.messagewaitingnotificationcount.nomw",
+ FT_UINT8, BASE_DEC, NULL,0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_messagewaitingnotificationtype_mwi,
+ { "Message Waiting Indication (MWI)", "ansi_map.messagewaitingnotificationcount.mwi",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_messagewaitingnotificationtype_apt,
+ { "Alert Pip Tone (APT)", "ansi_map.messagewaitingnotificationtype.apt",
+ FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_messagewaitingnotificationtype_pt,
+ { "Pip Tone (PT)", "ansi_map.messagewaitingnotificationtype.pt",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0xc0,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_trans_cap_prof,
+ { "Profile (PROF)", "ansi_map.trans_cap_prof",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_prof_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_trans_cap_busy,
+ { "Busy Detection (BUSY)", "ansi_map.trans_cap_busy",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_busy_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_trans_cap_ann,
+ { "Announcements (ANN)", "ansi_map.trans_cap_ann",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ann_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_trans_cap_rui,
+ { "Remote User Interaction (RUI)", "ansi_map.trans_cap_rui",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_rui_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_trans_cap_spini,
+ { "Subscriber PIN Intercept (SPINI)", "ansi_map.trans_cap_spini",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_spini_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_trans_cap_uzci,
+ { "UZ Capability Indicator (UZCI)", "ansi_map.trans_cap_uzci",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_uzci_bool_val),0x20,
+ NULL, HFILL }},
+ { &hf_ansi_map_trans_cap_ndss,
+ { "NDSS Capability (NDSS)", "ansi_map.trans_cap_ndss",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ndss_bool_val),0x40,
+ NULL, HFILL }},
+ { &hf_ansi_map_trans_cap_nami,
+ { "NAME Capability Indicator (NAMI)", "ansi_map.trans_cap_nami",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_nami_bool_val),0x80,
+ NULL, HFILL }},
+ { &hf_ansi_trans_cap_multerm,
+ { "Multiple Terminations", "ansi_map.trans_cap_multerm",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_trans_cap_multerm_vals), 0x0f,
+ NULL, HFILL }},
+ { &hf_ansi_map_terminationtriggers_busy,
+ { "Busy", "ansi_map.terminationtriggers.busy",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_busy_vals), 0x03,
+ NULL, HFILL }},
+ { &hf_ansi_map_terminationtriggers_rf,
+ { "Routing Failure (RF)", "ansi_map.terminationtriggers.rf",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_rf_vals), 0x0c,
+ NULL, HFILL }},
+ { &hf_ansi_map_terminationtriggers_npr,
+ { "No Page Response (NPR)", "ansi_map.terminationtriggers.npr",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_npr_vals), 0x30,
+ NULL, HFILL }},
+ { &hf_ansi_map_terminationtriggers_na,
+ { "No Answer (NA)", "ansi_map.terminationtriggers.na",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_na_vals), 0xc0,
+ NULL, HFILL }},
+ { &hf_ansi_map_terminationtriggers_nr,
+ { "None Reachable (NR)", "ansi_map.terminationtriggers.nr",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_nr_vals), 0x01,
+ NULL, HFILL }},
+ { &hf_ansi_trans_cap_tl,
+ { "TerminationList (TL)", "ansi_map.trans_cap_tl",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_tl_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmaserviceoption,
+ { "CDMAServiceOption", "ansi_map.cdmaserviceoption",
+ FT_UINT16, BASE_RANGE_STRING | BASE_DEC, RVALS(cdmaserviceoption_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_trans_cap_waddr,
+ { "WIN Addressing (WADDR)", "ansi_map.trans_cap_waddr",
+ FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_waddr_bool_val),0x20,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_MarketID,
+ { "MarketID", "ansi_map.marketid",
+ FT_UINT16, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ansi_map_swno,
+ { "Switch Number (SWNO)", "ansi_map.swno",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ansi_map_idno,
+ { "ID Number", "ansi_map.idno",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ansi_map_segcount,
+ { "Segment Counter", "ansi_map.segcount",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ansi_map_sms_originationrestrictions_direct,
+ { "DIRECT", "ansi_map.originationrestrictions.direct",
+ FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_direct_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_sms_originationrestrictions_default,
+ { "DEFAULT", "ansi_map.originationrestrictions.default",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_OriginationRestrictions_default_vals), 0x03,
+ NULL, HFILL }},
+ { &hf_ansi_map_sms_originationrestrictions_fmc,
+ { "Force Message Center (FMC)", "ansi_map.originationrestrictions.fmc",
+ FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_fmc_bool_val),0x08,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_systemcapabilities_auth,
+ { "Authentication Parameters Requested (AUTH)", "ansi_map.systemcapabilities.auth",
+ FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_auth_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_systemcapabilities_se,
+ { "Signaling Message Encryption Capable (SE )", "ansi_map.systemcapabilities.se",
+ FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_se_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_systemcapabilities_vp,
+ { "Voice Privacy Capable (VP )", "ansi_map.systemcapabilities.vp",
+ FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_vp_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_systemcapabilities_cave,
+ { "CAVE Algorithm Capable (CAVE)", "ansi_map.systemcapabilities.cave",
+ FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_cave_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_systemcapabilities_ssd,
+ { "Shared SSD (SSD)", "ansi_map.systemcapabilities.ssd",
+ FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_ssd_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_systemcapabilities_dp,
+ { "Data Privacy (DP)", "ansi_map.systemcapabilities.dp",
+ FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_dp_bool_val),0x20,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_mslocation_lat,
+ { "Latitude in tenths of a second", "ansi_map.mslocation.lat",
+ FT_UINT24, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ansi_map_mslocation_long,
+ { "Longitude in tenths of a second", "ansi_map.mslocation.long",
+ FT_UINT24, BASE_DEC, NULL, 0,
+ "Switch Number (SWNO)", HFILL }},
+ { &hf_ansi_map_mslocation_res,
+ { "Resolution in units of 1 foot", "ansi_map.mslocation.res",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ansi_map_nampscallmode_namps,
+ { "Call Mode", "ansi_map.nampscallmode.namps",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_nampscallmode_amps,
+ { "Call Mode", "ansi_map.nampscallmode.amps",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_nampschanneldata_navca,
+ { "Narrow Analog Voice Channel Assignment (NAVCA)", "ansi_map.nampschanneldata.navca",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_navca_vals), 0x03,
+ NULL, HFILL }},
+ { &hf_ansi_map_nampschanneldata_CCIndicator,
+ { "Color Code Indicator (CCIndicator)", "ansi_map.nampschanneldata.ccindicator",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_ccinidicator_vals), 0x1c,
+ NULL, HFILL }},
+
+
+ { &hf_ansi_map_callingfeaturesindicator_cfufa,
+ { "Call Forwarding Unconditional FeatureActivity, CFU-FA", "ansi_map.callingfeaturesindicator.cfufa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_cfbfa,
+ { "Call Forwarding Busy FeatureActivity, CFB-FA", "ansi_map.callingfeaturesindicator.cfbafa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_cfnafa,
+ { "Call Forwarding No Answer FeatureActivity, CFNA-FA", "ansi_map.callingfeaturesindicator.cfnafa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_cwfa,
+ { "Call Waiting: FeatureActivity, CW-FA", "ansi_map.callingfeaturesindicator.cwfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_callingfeaturesindicator_3wcfa,
+ { "Three-Way Calling FeatureActivity, 3WC-FA", "ansi_map.callingfeaturesindicator.3wcfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_callingfeaturesindicator_pcwfa,
+ { "Priority Call Waiting FeatureActivity PCW-FA", "ansi_map.callingfeaturesindicator.pcwfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_callingfeaturesindicator_dpfa,
+ { "Data Privacy Feature Activity DP-FA", "ansi_map.callingfeaturesindicator.dpfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_ahfa,
+ { "Answer Hold: FeatureActivity AH-FA", "ansi_map.callingfeaturesindicator.ahfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_uscfvmfa,
+ { "USCF divert to voice mail: FeatureActivity USCFvm-FA", "ansi_map.callingfeaturesindicator.uscfvmfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_callingfeaturesindicator_uscfmsfa,
+ { "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", "ansi_map.callingfeaturesindicator.uscfmsfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_uscfnrfa,
+ { "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", "ansi_map.callingfeaturesindicator.uscfnrfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_cpdsfa,
+ { "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", "ansi_map.callingfeaturesindicator.cpdfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_ccsfa,
+ { "CDMA-Concurrent Service:FeatureActivity. CCS-FA", "ansi_map.callingfeaturesindicator.ccsfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_callingfeaturesindicator_epefa,
+ { "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", "ansi_map.callingfeaturesindicator.epefa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
+ NULL, HFILL }},
+
+
+ { &hf_ansi_map_callingfeaturesindicator_cdfa,
+ { "Call Delivery: FeatureActivity, CD-FA", "ansi_map.callingfeaturesindicator.cdfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_vpfa,
+ { "Voice Privacy FeatureActivity, VP-FA", "ansi_map.callingfeaturesindicator.vpfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_ctfa,
+ { "Call Transfer: FeatureActivity, CT-FA", "ansi_map.callingfeaturesindicator.ctfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_callingfeaturesindicator_cnip1fa,
+ { "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", "ansi_map.callingfeaturesindicator.cnip1fa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_cnip2fa,
+ { "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", "ansi_map.callingfeaturesindicator.cnip2fa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_cnirfa,
+ { "Calling Number Identification Restriction: FeatureActivity CNIR-FA", "ansi_map.callingfeaturesindicator.cnirfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
+ NULL, HFILL }},
+ { &hf_ansi_map_callingfeaturesindicator_cniroverfa,
+ { "Calling Number Identification Restriction Override FeatureActivity CNIROver-FA", "ansi_map.callingfeaturesindicator.cniroverfa",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_cdmacallmode_cdma,
+ { "Call Mode", "ansi_map.cdmacallmode.cdma",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cdma_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_amps,
+ { "Call Mode", "ansi_map.cdmacallmode.amps",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_namps,
+ { "Call Mode", "ansi_map.cdmacallmode.namps",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls1,
+ { "Call Mode", "ansi_map.cdmacallmode.cls1",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls1_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls2,
+ { "Call Mode", "ansi_map.cdmacallmode.cls2",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls2_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls3,
+ { "Call Mode", "ansi_map.cdmacallmode.cls3",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls3_bool_val),0x20,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls4,
+ { "Call Mode", "ansi_map.cdmacallmode.cls4",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls4_bool_val),0x40,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls5,
+ { "Call Mode", "ansi_map.cdmacallmode.cls5",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls5_bool_val),0x80,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls6,
+ { "Call Mode", "ansi_map.cdmacallmode.cls6",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls6_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls7,
+ { "Call Mode", "ansi_map.cdmacallmode.cls7",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls7_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls8,
+ { "Call Mode", "ansi_map.cdmacallmode.cls8",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls8_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls9,
+ { "Call Mode", "ansi_map.cdmacallmode.cls9",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls9_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmacallmode_cls10,
+ { "Call Mode", "ansi_map.cdmacallmode.cls10",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls10_bool_val),0x10,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_Frame_Offset,
+ { "Frame Offset", "ansi_map.cdmachanneldata.frameoffset",
+ FT_UINT8, BASE_DEC, NULL, 0x78,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_CDMA_ch_no,
+ { "CDMA Channel Number", "ansi_map.cdmachanneldata.cdma_ch_no",
+ FT_UINT16, BASE_DEC, NULL, 0x07FF,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_band_cls,
+ { "Band Class", "ansi_map.cdmachanneldata.band_cls",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_cdmachanneldata_band_cls_vals), 0x7c,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_lc_mask_b6,
+ { "Long Code Mask (byte 6) MSB", "ansi_map.cdmachanneldata.lc_mask_b6",
+ FT_UINT8, BASE_HEX, NULL, 0x03,
+ "Long Code Mask MSB (byte 6)", HFILL }},
+ {&hf_ansi_map_cdmachanneldata_lc_mask_b5,
+ { "Long Code Mask (byte 5)", "ansi_map.cdmachanneldata.lc_mask_b5",
+ FT_UINT8, BASE_HEX, NULL, 0xff,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_lc_mask_b4,
+ { "Long Code Mask (byte 4)", "ansi_map.cdmachanneldata.lc_mask_b4",
+ FT_UINT8, BASE_HEX, NULL, 0xff,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_lc_mask_b3,
+ { "Long Code Mask (byte 3)", "ansi_map.cdmachanneldata.lc_mask_b3",
+ FT_UINT8, BASE_HEX, NULL, 0xff,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_lc_mask_b2,
+ { "Long Code Mask (byte 2)", "ansi_map.cdmachanneldata.lc_mask_b2",
+ FT_UINT8, BASE_HEX, NULL, 0xff,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_lc_mask_b1,
+ { "Long Code Mask LSB(byte 1)", "ansi_map.cdmachanneldata.lc_mask_b1",
+ FT_UINT8, BASE_HEX, NULL, 0xff,
+ "Long Code Mask (byte 1)LSB", HFILL }},
+ {&hf_ansi_map_cdmachanneldata_np_ext,
+ { "NP EXT", "ansi_map.cdmachanneldata.np_ext",
+ FT_BOOLEAN, 8, NULL,0x80,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_nominal_pwr,
+ { "Nominal Power", "ansi_map.cdmachanneldata.nominal_pwr",
+ FT_UINT8, BASE_DEC, NULL, 0x78,
+ NULL, HFILL }},
+ {&hf_ansi_map_cdmachanneldata_nr_preamble,
+ { "Number Preamble", "ansi_map.cdmachanneldata.nr_preamble",
+ FT_UINT8, BASE_DEC, NULL, 0x07,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_cdmastationclassmark_pc,
+ { "Power Class(PC)", "ansi_map.cdmastationclassmark.pc",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_CDMAStationClassMark_pc_vals), 0x03,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_cdmastationclassmark_dtx,
+ { "Analog Transmission: (DTX)", "ansi_map.cdmastationclassmark.dtx",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dtx_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmastationclassmark_smi,
+ { "Slotted Mode Indicator: (SMI)", "ansi_map.cdmastationclassmark.smi",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_smi_bool_val),0x20,
+ NULL, HFILL }},
+ { &hf_ansi_map_cdmastationclassmark_dmi,
+ { "Dual-mode Indicator(DMI)", "ansi_map.cdmastationclassmark.dmi",
+ FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dmi_bool_val),0x40,
+ NULL, HFILL }},
+ { &hf_ansi_map_channeldata_vmac,
+ { "Voice Mobile Attenuation Code (VMAC)", "ansi_map.channeldata.vmac",
+ FT_UINT8, BASE_DEC, NULL, 0x07,
+ NULL, HFILL }},
+ { &hf_ansi_map_channeldata_dtx,
+ { "Discontinuous Transmission Mode (DTX)", "ansi_map.channeldata.dtx",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_ChannelData_dtx_vals), 0x18,
+ NULL, HFILL }},
+ { &hf_ansi_map_channeldata_scc,
+ { "SAT Color Code (SCC)", "ansi_map.channeldata.scc",
+ FT_UINT8, BASE_DEC, NULL, 0xc0,
+ NULL, HFILL }},
+ { &hf_ansi_map_channeldata_chno,
+ { "Channel Number (CHNO)", "ansi_map.channeldata.chno",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_ConfidentialityModes_vp,
+ { "Voice Privacy (VP) Confidentiality Status", "ansi_map.confidentialitymodes.vp",
+ FT_BOOLEAN, 8, TFS(&tfs_on_off),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_controlchanneldata_dcc,
+ { "Digital Color Code (DCC)", "ansi_map.controlchanneldata.dcc",
+ FT_UINT8, BASE_DEC, NULL, 0xc0,
+ NULL, HFILL }},
+ { &hf_ansi_map_controlchanneldata_cmac,
+ { "Control Mobile Attenuation Code (CMAC)", "ansi_map.controlchanneldata.cmac",
+ FT_UINT8, BASE_DEC, NULL, 0x07,
+ NULL, HFILL }},
+ { &hf_ansi_map_controlchanneldata_chno,
+ { "Channel Number (CHNO)", "ansi_map.controlchanneldata.chno",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_controlchanneldata_sdcc1,
+ { "Supplementary Digital Color Codes (SDCC1)", "ansi_map.controlchanneldata.ssdc1",
+ FT_UINT8, BASE_DEC, NULL, 0x0c,
+ NULL, HFILL }},
+ { &hf_ansi_map_controlchanneldata_sdcc2,
+ { "Supplementary Digital Color Codes (SDCC2)", "ansi_map.controlchanneldata.ssdc2",
+ FT_UINT8, BASE_DEC, NULL, 0x03,
+ NULL, HFILL }},
+ { &hf_ansi_map_ConfidentialityModes_se,
+ { "Signaling Message Encryption (SE) Confidentiality Status", "ansi_map.confidentialitymodes.se",
+ FT_BOOLEAN, 8, TFS(&tfs_on_off),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_ConfidentialityModes_dp,
+ { "DataPrivacy (DP) Confidentiality Status", "ansi_map.confidentialitymodes.dp",
+ FT_BOOLEAN, 8, TFS(&tfs_on_off),0x04,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_deniedauthorizationperiod_period,
+ { "Period", "ansi_map.deniedauthorizationperiod.period",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_deniedauthorizationperiod_period_vals), 0x0,
+ NULL, HFILL }},
+
+
+ { &hf_ansi_map_originationtriggers_all,
+ { "All Origination (All)", "ansi_map.originationtriggers.all",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_all_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_local,
+ { "Local", "ansi_map.originationtriggers.local",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_local_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_ilata,
+ { "Intra-LATA Toll (ILATA)", "ansi_map.originationtriggers.ilata",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ilata_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_olata,
+ { "Inter-LATA Toll (OLATA)", "ansi_map.originationtriggers.olata",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_olata_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_int,
+ { "International (Int'l )", "ansi_map.originationtriggers.int",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_int_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_wz,
+ { "World Zone (WZ)", "ansi_map.originationtriggers.wz",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_wz_bool_val),0x20,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_unrec,
+ { "Unrecognized Number (Unrec)", "ansi_map.originationtriggers.unrec",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_unrec_bool_val),0x40,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_rvtc,
+ { "Revertive Call (RvtC)", "ansi_map.originationtriggers.rvtc",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_rvtc_bool_val),0x80,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_star,
+ { "Star", "ansi_map.originationtriggers.star",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_star_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_ds,
+ { "Double Star (DS)", "ansi_map.originationtriggers.ds",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ds_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_pound,
+ { "Pound", "ansi_map.originationtriggers.pound",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pound_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_dp,
+ { "Double Pound (DP)", "ansi_map.originationtriggers.dp",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_dp_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_pa,
+ { "Prior Agreement (PA)", "ansi_map.originationtriggers.pa",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pa_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_nodig,
+ { "No digits", "ansi_map.originationtriggers.nodig",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_nodig_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_onedig,
+ { "1 digit", "ansi_map.originationtriggers.onedig",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_onedig_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_twodig,
+ { "2 digits", "ansi_map.originationtriggers.twodig",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twodig_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_threedig,
+ { "3 digits", "ansi_map.originationtriggers.threedig",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_threedig_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_fourdig,
+ { "4 digits", "ansi_map.originationtriggers.fourdig",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourdig_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_fivedig,
+ { "5 digits", "ansi_map.originationtriggers.fivedig",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fivedig_bool_val),0x20,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_sixdig,
+ { "6 digits", "ansi_map.originationtriggers.sixdig",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sixdig_bool_val),0x40,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_sevendig,
+ { "7 digits", "ansi_map.originationtriggers.sevendig",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sevendig_bool_val),0x80,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_eightdig,
+ { "8 digits", "ansi_map.originationtriggers.eight",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_eightdig_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_ninedig,
+ { "9 digits", "ansi_map.originationtriggers.nine",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ninedig_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_tendig,
+ { "10 digits", "ansi_map.originationtriggers.ten",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_tendig_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_elevendig,
+ { "11 digits", "ansi_map.originationtriggers.eleven",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_elevendig_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_twelvedig,
+ { "12 digits", "ansi_map.originationtriggers.twelve",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twelvedig_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_thirteendig,
+ { "13 digits", "ansi_map.originationtriggers.thirteen",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_thirteendig_bool_val),0x20,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_fourteendig,
+ { "14 digits", "ansi_map.originationtriggers.fourteen",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourteendig_bool_val),0x40,
+ NULL, HFILL }},
+ { &hf_ansi_map_originationtriggers_fifteendig,
+ { "15 digits", "ansi_map.originationtriggers.fifteen",
+ FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fifteendig_bool_val),0x80,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_triggercapability_init,
+ { "Introducing Star/Pound (INIT)", "ansi_map.triggercapability.init",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_kdigit,
+ { "K-digit (K-digit)", "ansi_map.triggercapability.kdigit",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_all,
+ { "All_Calls (All)", "ansi_map.triggercapability.all",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_rvtc,
+ { "Revertive_Call (RvtC)", "ansi_map.triggercapability.rvtc",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_oaa,
+ { "Origination_Attempt_Authorized (OAA)", "ansi_map.triggercapability.oaa",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_oans,
+ { "O_Answer (OANS)", "ansi_map.triggercapability.oans",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_odisc,
+ { "O_Disconnect (ODISC)", "ansi_map.triggercapability.odisc",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_ona,
+ { "O_No_Answer (ONA)", "ansi_map.triggercapability.ona",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_triggercapability_ct ,
+ { "Call Types (CT)", "ansi_map.triggercapability.ct",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_unrec,
+ { "Unrecognized_Number (Unrec)", "ansi_map.triggercapability.unrec",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_pa,
+ { "Prior_Agreement (PA)", "ansi_map.triggercapability.pa",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_at,
+ { "Advanced_Termination (AT)", "ansi_map.triggercapability.at",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_cgraa,
+ { "Calling_Routing_Address_Available (CgRAA)", "ansi_map.triggercapability.cgraa",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_it,
+ { "Initial_Termination (IT)", "ansi_map.triggercapability.it",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_cdraa,
+ { "Called_Routing_Address_Available (CdRAA)", "ansi_map.triggercapability.cdraa",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_obsy,
+ { "O_Called_Party_Busy (OBSY)", "ansi_map.triggercapability.obsy",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
+ NULL, HFILL }},
+
+ { &hf_ansi_map_triggercapability_tra ,
+ { "Terminating_Resource_Available (TRA)", "ansi_map.triggercapability.tra",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_tbusy,
+ { "T_Busy (TBusy)", "ansi_map.triggercapability.tbusy",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_tna,
+ { "T_No_Answer (TNA)", "ansi_map.triggercapability.tna",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_tans,
+ { "T_Answer (TANS)", "ansi_map.triggercapability.tans",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
+ NULL, HFILL }},
+ { &hf_ansi_map_triggercapability_tdisc,
+ { "T_Disconnect (TDISC)", "ansi_map.triggercapability.tdisc",
+ FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
+ NULL, HFILL }},
+ { &hf_ansi_map_winoperationscapability_conn,
+ { "ConnectResource (CONN)", "ansi_map.winoperationscapability.conn",
+ FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_conn_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_winoperationscapability_ccdir,
+ { "CallControlDirective(CCDIR)", "ansi_map.winoperationscapability.ccdir",
+ FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_ccdir_bool_val),0x02,
+ NULL, HFILL }},
+ { &hf_ansi_map_winoperationscapability_pos,
+ { "PositionRequest (POS)", "ansi_map.winoperationscapability.pos",
+ FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_pos_bool_val),0x04,
+ NULL, HFILL }},
+ { &hf_ansi_map_pacaindicator_pa,
+ { "Permanent Activation (PA)", "ansi_map.pacaindicator_pa",
+ FT_BOOLEAN, 8, TFS(&ansi_map_pacaindicator_pa_bool_val),0x01,
+ NULL, HFILL }},
+ { &hf_ansi_map_PACA_Level,
+ { "PACA Level", "ansi_map.PACA_Level",
+ FT_UINT8, BASE_DEC, VALS(ansi_map_PACA_Level_vals), 0x1e,
+ NULL, HFILL }},
+ { &hf_ansi_map_point_code,
+ { "Point Code", "ansi_map.point_code",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_SSN,
+ { "SSN", "ansi_map.SSN",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_ansi_map_win_trigger_list,
+ { "WIN trigger list", "ansi_map.win_trigger_list",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+#include "packet-ansi_map-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ansi_map,
+ &ett_mintype,
+ &ett_digitstype,
+ &ett_billingid,
+ &ett_sms_bearer_data,
+ &ett_sms_teleserviceIdentifier,
+ &ett_extendedmscid,
+ &ett_extendedsystemmytypecode,
+ &ett_handoffstate,
+ &ett_mscid,
+ &ett_cdmachanneldata,
+ &ett_cdmastationclassmark,
+ &ett_channeldata,
+ &ett_confidentialitymodes,
+ &ett_controlchanneldata,
+ &ett_CDMA2000HandoffInvokeIOSData,
+ &ett_CDMA2000HandoffResponseIOSData,
+ &ett_originationtriggers,
+ &ett_pacaindicator,
+ &ett_callingpartyname,
+ &ett_triggercapability,
+ &ett_winoperationscapability,
+ &ett_win_trigger_list,
+ &ett_controlnetworkid,
+ &ett_transactioncapability,
+ &ett_cdmaserviceoption,
+ &ett_sms_originationrestrictions,
+ &ett_systemcapabilities,
+#include "packet-ansi_map-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_ansi_map_nr_not_used, { "ansi_map.nr_not_used", PI_PROTOCOL, PI_WARN, "This Number plan should not have been used", EXPFILL }},
+ { &ei_ansi_map_unknown_invokeData_blob, { "ansi_map.unknown_invokeData_blob", PI_PROTOCOL, PI_WARN, "Unknown invokeData blob", EXPFILL }},
+ { &ei_ansi_map_no_data, { "ansi_map.no_data", PI_PROTOCOL, PI_NOTE, "Carries no data", EXPFILL }},
+ };
+
+ expert_module_t* expert_ansi_map;
+
+ static const enum_val_t ansi_map_response_matching_type_values[] = {
+ {"Only Transaction ID will be used in Invoke/response matching", "Transaction ID only", ANSI_MAP_TID_ONLY},
+ {"Transaction ID and Source will be used in Invoke/response matching", "Transaction ID and Source", ANSI_MAP_TID_AND_SOURCE},
+ {"Transaction ID Source and Destination will be used in Invoke/response matching", "Transaction ID Source and Destination", ANSI_MAP_TID_SOURCE_AND_DEST},
+ {NULL, NULL, -1}
+ };
+
+ /* TAP STAT INFO */
+ static stat_tap_table_ui stat_table = {
+ REGISTER_STAT_GROUP_TELEPHONY_ANSI,
+ "Map Operation Statistics",
+ "ansi_map",
+ "ansi_map",
+ ansi_map_stat_init,
+ ansi_map_stat_packet,
+ ansi_map_stat_reset,
+ NULL,
+ NULL,
+ sizeof(stat_fields)/sizeof(stat_tap_table_item), stat_fields,
+ 0, NULL,
+ NULL,
+ 0
+ };
+
+ /* Register protocol */
+ proto_ansi_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ansi_map, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_ansi_map = expert_register_protocol(proto_ansi_map);
+ expert_register_field_array(expert_ansi_map, ei, array_length(ei));
+
+ ansi_map_handle = register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map);
+
+ is637_tele_id_dissector_table =
+ register_dissector_table("ansi_map.tele_id", "IS-637 Teleservice ID", proto_ansi_map,
+ FT_UINT8, BASE_DEC);
+
+ is683_dissector_table =
+ register_dissector_table("ansi_map.ota", "IS-683-A (OTA)", proto_ansi_map,
+ FT_UINT8, BASE_DEC);
+
+ is801_dissector_table =
+ register_dissector_table("ansi_map.pld", "IS-801 (PLD)", proto_ansi_map,
+ FT_UINT8, BASE_DEC);
+
+ ansi_map_tap = register_tap("ansi_map");
+
+
+ range_convert_str(wmem_epan_scope(), &global_ssn_range, "5-14", MAX_SSN);
+
+ ansi_map_module = prefs_register_protocol(proto_ansi_map, proto_reg_handoff_ansi_map);
+
+
+ prefs_register_range_preference(ansi_map_module, "map.ssn", "ANSI MAP SSNs",
+ "ANSI MAP SSNs to decode as ANSI MAP",
+ &global_ssn_range, MAX_SSN);
+
+ prefs_register_enum_preference(ansi_map_module, "transaction.matchtype",
+ "Type of matching invoke/response",
+ "Type of matching invoke/response, risk of mismatch if loose matching chosen",
+ &ansi_map_response_matching_type, ansi_map_response_matching_type_values, FALSE);
+
+ TransactionId_table = wmem_multimap_new_autoreset(wmem_epan_scope(), wmem_file_scope(), wmem_str_hash, g_str_equal);
+ register_stat_tap_table_ui(&stat_table);
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.h b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.h
new file mode 100644
index 00000000..c164521a
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_map/packet-ansi_map-template.h
@@ -0,0 +1,38 @@
+/* packet-ansi_map.h
+ * Routines for ansi_map packet dissection
+ * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_ANSI_MAP_H
+#define PACKET_ANSI_MAP_H
+
+#include "ws_symbol_export.h"
+
+#define ANSI_MAP_MAX_NUM_MESSAGE_TYPES 256
+
+typedef struct _ansi_map_tap_rec_t {
+ guint8 message_type;
+ guint16 size;
+} ansi_map_tap_rec_t;
+
+
+/*
+ * the following allows TAP code access to the messages
+ * without having to duplicate it. With MSVC and a
+ * libwireshark.dll, we need a special declaration.
+ */
+WS_DLL_PUBLIC const value_string ansi_map_opr_code_strings[];
+
+
+
+/*#include "packet-ansi_map-exp.h" */
+
+#endif /* PACKET_ansi_map_H */
+
+
diff --git a/epan/dissectors/asn1/ansi_tcap/CMakeLists.txt b/epan/dissectors/asn1/ansi_tcap/CMakeLists.txt
new file mode 100644
index 00000000..1c1ae9fe
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_tcap/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ansi_tcap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ TCAP-Remote-Operations-Information-Objects.asn
+ TCAPPackage.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ansi_tcap/TCAP-Remote-Operations-Information-Objects.asn b/epan/dissectors/asn1/ansi_tcap/TCAP-Remote-Operations-Information-Objects.asn
new file mode 100644
index 00000000..7996446d
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_tcap/TCAP-Remote-Operations-Information-Objects.asn
@@ -0,0 +1,145 @@
+TCAP-Remote-Operations-Information-Objects {iso(1)
+memberbody(2) usa(840) t1-114(10013) modules(0) informationObjects(1) version4(4) }
+
+DEFINITIONS ::=
+
+BEGIN
+
+--Exports Everything
+
+IMPORTS
+ emptyBind, emptyUnbind
+ FROM Remote-Operations-Useful-Definitions {joint-iso-ccitt remote-operations(4) useful-definitions(7) version1(0) };
+
+OPERATION ::= CLASS {
+ &ArgumentType OPTIONAL,
+ &argumentTypeOptional BOOLEAN OPTIONAL,
+ &returnResult BOOLEAN DEFAULT TRUE,
+ &ResultType OPTIONAL,
+ &resultTypeOptional BOOLEAN OPTIONAL,
+ &Errors ERROR OPTIONAL,
+ &Linked OPERATION OPTIONAL,
+ &synchronous BOOLEAN DEFAULT FALSE,
+ &alwaysReturns BOOLEAN DEFAULT TRUE,
+ &InvokePriority Priority OPTIONAL,
+ &ResultPriority Priority OPTIONAL,
+ &invokeLast BOOLEAN DEFAULT FALSE,
+ &operationCode OperationCode UNIQUE OPTIONAL
+ }
+WITH SYNTAX {
+ [ARGUMENT &ArgumentType
+ [OPTIONAL &argumentTypeOptional]]
+ [RESULT &ResultType
+ [OPTIONAL &resultTypeOptional]]
+ [RETURN RESULT &returnResult]
+ [ERRORS &Errors]
+ [LINKED &Linked]
+ [SYNCHRONOUS &synchronous]
+ [ALWAYS RETURNS &alwaysReturns]
+ [INVOKE PRIORITY &InvokePriority]
+ [RESULT PRIORITY &ResultPriority]
+ [LAST &invokeLast]
+ [CODE &operationCode]
+ }
+
+ERROR ::= CLASS {
+ &ParameterType OPTIONAL,
+ &parameterTypeOptional BOOLEAN OPTIONAL,
+ &ErrorPriority Priority OPTIONAL,
+ &errorCode ErrorCode UNIQUE OPTIONAL
+ }
+WITH SYNTAX {
+ [PARAMETER &ParameterType
+ [OPTIONAL &parameterTypeOptional]]
+ [PRIORITY &ErrorPriority]
+ [CODE &errorCode]
+ }
+
+OPERATION-PACKAGE ::= CLASS {
+ &Both OPERATION OPTIONAL,
+ &Consumer OPERATION OPTIONAL,
+ &Supplier OPERATION OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE OPTIONAL
+ }
+WITH SYNTAX {
+ [OPERATIONS &Both]
+ [CONSUMER INVOKES &Supplier]
+ [SUPPLIER INVOKES &Consumer]
+ [ID &id]
+}
+
+CONNECTION-PACKAGE ::= CLASS {
+ &bind OPERATION DEFAULT emptyBind,
+ &unbind OPERATION DEFAULT emptyUnbind,
+ &responderCanUnbind BOOLEAN DEFAULT FALSE,
+ &unbindCanFail BOOLEAN DEFAULT FALSE,
+ &id OBJECT IDENTIFIER UNIQUE OPTIONAL
+ }
+WITH SYNTAX {
+ [BIND &bind]
+ [UNBIND &unbind]
+ [RESPONDER UNBIND &responderCanUnbind]
+ [FAILURE TO UNBIND &unbindCanFail]
+ [ID &id]
+ }
+
+CONTRACT ::= CLASS {
+ &connection CONNECTION-PACKAGE OPTIONAL,
+ &OperationsOf OPERATION-PACKAGE OPTIONAL,
+ &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
+ &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE OPTIONAL
+}
+
+WITH SYNTAX {
+ [CONNECTION &connection]
+ [OPERATIONS OF &OperationsOf]
+ [INITIATOR CONSUMER OF &InitiatorConsumerOf]
+ [RESPONDER CONSUMER OF &InitiatorSupplierOf]
+ [ID &id]
+ }
+
+ROS-OBJECT-CLASS ::= CLASS {
+ &Is ROS-OBJECT-CLASS OPTIONAL,
+ &Initiates CONTRACT OPTIONAL,
+ &Responds CONTRACT OPTIONAL,
+ &InitiatesAndResponds CONTRACT OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE
+ }
+WITH SYNTAX {
+ [IS &Is]
+ [BOTH &InitiatesAndResponds]
+ [INITIATES &Initiates]
+ [RESPONDS &Responds]
+ ID &id
+ }
+
+OperationCode ::= CHOICE{
+ national [PRIVATE 16] IMPLICIT INTEGER (-32768..32767),
+ private [PRIVATE 17] IMPLICIT INTEGER
+ }
+
+ErrorCode ::= CHOICE {
+ national [PRIVATE 19] INTEGER (-128..127),
+--WS adaptation This is only correct for ANSI MAP but that's the only user.
+ private [PRIVATE 20] IMPLICIT ANSIMAPPrivateErrorcode
+ }
+
+ANSIMAPPrivateErrorcode ::= INTEGER {
+ unrecognized-MIN (129),
+ unrecognized-ESN (130),
+ mINorHLR-Mismatch (131),
+ operation-Sequence-Problem (132),
+ resource-Shortage (133),
+ operation-Not-Supported (134),
+ trunk-Unavailable (135),
+ parameter-Error (136),
+ system-Failure (137),
+ unrecognized-Parameter-Value (138),
+ feature-Inactive (139),
+ missing-Parameter (140)
+} (0..255)
+
+Priority ::= INTEGER (0..MAX)
+
+END --end of Information Object Specifications
diff --git a/epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn b/epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn
new file mode 100644
index 00000000..7bd3361b
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn
@@ -0,0 +1,242 @@
+TCAPPackage {iso(1) memberbody(2) usa(840) t1-114(10013) modules(0) tcapPackage(0) version4(4)}
+
+DEFINITIONS ::=
+-- iso(1) memberbody(2)
+-- usa(840) T1.114(10013)
+
+BEGIN
+ -- defining a module called TCAPPackage which contains type
+ -- definitions for the contents of any generic TCAP message
+
+--exports everything
+
+IMPORTS OPERATION, ERROR FROM
+ TCAP-Remote-Operations-Information-Objects{iso(1) memberbody(2) usa(840) t1-114(10013) modules(0) information-objects(1) version4(4)};
+
+PackageType ::= CHOICE { unidirectional [PRIVATE 1] IMPLICIT UniTransactionPDU,
+ queryWithPerm [PRIVATE 2] IMPLICIT TransactionPDU,
+ queryWithoutPerm [PRIVATE 3] IMPLICIT TransactionPDU,
+ response [PRIVATE 4] IMPLICIT TransactionPDU,
+ conversationWithPerm [PRIVATE 5] IMPLICIT TransactionPDU,
+ conversationWithoutPerm [PRIVATE 6] IMPLICIT TransactionPDU,
+ abort [PRIVATE 22] IMPLICIT Abort
+ }
+
+UniTransactionPDU ::= SEQUENCE {
+ identifier TransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ componentPortion ComponentSequence
+ }
+
+TransactionPDU ::= SEQUENCE {
+ identifier TransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ componentPortion ComponentSequence OPTIONAL
+ }
+--TransactionPDU should include either a Dialogue Portion, a Component Sequence or both
+
+TransactionID ::= [PRIVATE 7] IMPLICIT OCTET STRING
+-- 0 octets for the Unidirectional, 4 octets for Query, Response & Abort
+-- 8 octets for Conversation in the order Originating then Responding TID
+
+Abort ::= SEQUENCE {
+ identifier TransactionID,
+ dialogPortion DialoguePortion OPTIONAL,
+ causeInformation CHOICE {
+ abortCause P-Abort-cause,
+ userInformation UserAbortInformation --OPTIONAL
+ }
+ }
+-- When the Abort package is generated by the Transaction sublayer,
+-- the P-Abort-cause must be present
+
+P-Abort-cause ::= [PRIVATE 23] IMPLICIT INTEGER{
+ unrecognizedPackageType (1),
+ incorrectTransactionPortion (2),
+ badlyStructuredTransactionPortion (3),
+ unassignedRespondingTransactionID (4),
+ permissionToReleaseProblem (5), -- for further study
+ resourceUnavailable (6),
+ unrecognizedDialoguePortionID (7),
+ badlyStructuredDialoguePortion (8),
+ missingDialoguePortion (9),
+ inconsistentDialoguePortion (10)
+ }
+
+DialoguePortion ::= [PRIVATE 25] IMPLICIT SEQUENCE {
+ version ProtocolVersion OPTIONAL,
+ applicationContext CHOICE {
+ integerApplicationId IntegerApplicationContext,
+ objectApplicationId ObjectIDApplicationContext
+ } OPTIONAL,
+ userInformation UserInformation OPTIONAL,
+ securityContext CHOICE {
+ integerSecurityId [0] IMPLICIT INTEGER,
+ objectSecurityId [1] IMPLICIT OBJECT IDENTIFIER
+ } OPTIONAL,
+
+ confidentiality [2] IMPLICIT Confidentiality OPTIONAL
+}
+
+ProtocolVersion ::=[PRIVATE 26] IMPLICIT OCTET STRING (SIZE (1))
+--0000 0000 not used
+--0000 0001 T1.114-1996
+--0000 0010 T1.114-2000
+--other reserved
+--These values can be combined using the bit-wise logical or operation
+-- to indicate support for more than one version, e.g. the value 0000 0011
+-- means that both 1996 and 2000 versions are supported
+
+IntegerApplicationContext ::= [PRIVATE 27] IMPLICIT INTEGER
+
+ObjectIDApplicationContext ::= [PRIVATE 28] IMPLICIT OBJECT IDENTIFIER
+
+UserInformation ::= [PRIVATE 29] IMPLICIT SEQUENCE OF EXTERNAL
+
+Confidentiality ::= SEQUENCE {
+ confidentialityId CHOICE {
+ integerConfidentialityId [0] IMPLICIT INTEGER,
+ objectConfidentialityId [1] IMPLICIT OBJECT IDENTIFIER
+ } OPTIONAL
+-- The extension marker indicates the possible presence of items
+-- in the confidentiality set that are used by the confidentiality
+-- algorithm.
+}
+
+UserAbortInformation ::= [PRIVATE 24] EXTERNAL
+
+ComponentSequence ::= [PRIVATE 8] IMPLICIT SEQUENCE OF ComponentPDU
+-- Component Portion specification starts below
+
+ComponentPDU{ InvokeId: InvokeIdSet, OPERATION: Invocable, OPERATION: Returnable } ::=
+ CHOICE {
+ invokeLast [PRIVATE 9] IMPLICIT Invoke {{InvokeIdSet}, {Invocable}}
+ (CONSTRAINED BY { --invocable.&invokeLast must be TRUE -- }
+ ! RejectProblem : general-incorrectComponentPortion),
+ returnResultLast [PRIVATE 10] IMPLICIT ReturnResult{{Returnable}},
+ returnError [PRIVATE 11] IMPLICIT ReturnError{{Errors{{Returnable}}}},
+ reject [PRIVATE 12] IMPLICIT Reject,
+ invokeNotLast [PRIVATE 13] IMPLICIT Invoke{{InvokeIdSet}, {Invocable}}
+ (CONSTRAINED BY { --invocable.&invokeLast must be FALSE -- }
+ ! RejectProblem : general-incorrectComponentPortion),
+ returnResultNotLast [PRIVATE 14] IMPLICIT ReturnResult {{Returnable}}
+ }
+ (CONSTRAINED BY { -- must conform to the above definition -- }
+ ! RejectProblem : general-unrecognisedComponentType)
+
+Invoke{ InvokeID: InvokeIdSet, OPERATION: Operations } ::= SEQUENCE {
+ componentIDs [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(0..2))
+ -- The invoke ID precedes the correlation id. There may be no
+ -- identifier,only an invoke ID, or both invoke and correlation
+ --ID's.
+ (CONSTRAINED BY { -- must be unambiguous -- }
+ ! RejectProblem : invoke-duplicateInvocation )
+ (CONSTRAINED BY { -- correlation ID must identify an
+ -- outstanding operation -- }
+ ! RejectProblem : invoke-unrecognisedCorrelationId )
+ OPTIONAL,
+ operationCode OPERATION.&operationCode
+ ((Operations)
+ ! RejectProblem : invoke-unrecognisedOperation),
+ parameter
+ OPERATION.&ParameterType
+ ({Operations}{@opcode}
+ ! RejectProblem : invoke-mistypedArgument ) OPTIONAL
+ }
+ (CONSTRAINED BY { -- must conform to the above definition -- }
+ ! RejectProblem : general-incorrectComponentPortion )
+ (CONSTRAINED BY { -- must have consistent encoding -- }
+ ! RejectProblem : general-badlyStructuredCompPortion )
+ (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- }
+ ! RejectProblem : general-incorrectComponentCoding )
+
+ReturnResult{ OPERATION: Operations } ::= SEQUENCE {
+ componentID [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(1))
+ (CONSTRAINED BY { --must be that of an outstanding operation--}
+ ! RejectProblem : returnResult-unrecognisedCorrelationId)
+ (CONSTRAINED BY { -- which returns a result -- }
+ ! RejectProblem : returnResult-unexpectedReturnResult),
+ parameter OPERATION.&ResultType
+ ({Operations}{@opcode}
+ ! RejectProblem : returnResult-incorrectParameter)
+ OPTIONAL
+ }
+ (CONSTRAINED BY { -- must conform to the above definition -- }
+ ! RejectProblem : general-incorrectComponentPortion )
+ (CONSTRAINED BY { -- must have consistent encoding -- }
+ ! RejectProblem : general-badlyStructuredCompPortion )
+ (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- }
+ ! RejectProblem : general-incorrectComponentCoding )
+
+ReturnError{ ERROR: Errors } ::= SEQUENCE {
+ componentID [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(1))
+ (CONSTRAINED BY { --must be that of an outstanding operation--}
+ ! RejectProblem : returnError-unrecognisedCorrelationId)
+ (CONSTRAINED BY { --which returns an error-- }
+ ! RejectProblem : returnError-unexpectedReturnError),
+ errorCode ERROR.&errorCode
+ ({Errors}
+ ! RejectProblem : returnError-unrecognisedError)
+ (CONSTRAINED BY { -- must be in the &Errors field of the
+ --associated operation -- }
+ ! RejectProblem : returnError-unexpectedError),
+ parameter
+ ERROR.&ParameterType
+ ({Errors}{@errorcode}
+ ! RejectProblem : returnError-incorrectParameter) OPTIONAL
+ }
+ (CONSTRAINED BY { -- must conform to the above definition -- }
+ ! RejectProblem : general-incorrectComponentPortion )
+ (CONSTRAINED BY { -- must have consistent encoding -- }
+ ! RejectProblem : general-badlyStructuredCompPortion )
+ (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- }
+ ! RejectProblem : general-incorrectComponentCoding )
+
+Reject ::= SEQUENCE {
+ componentID [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(0..1)),
+ rejectProblem [PRIVATE 21] IMPLICIT Problem,
+ parameter CHOICE {
+ paramSequence [PRIVATE 16] IMPLICIT SEQUENCE { },
+ paramSet [PRIVATE 18] IMPLICIT SET { }
+ } --The choice between paramSequence and paramSet is implementation
+ --dependent, however paramSequence is preferred.
+}
+ (CONSTRAINED BY { -- must conform to the above definition -- }
+ ! RejectProblem : general-incorrectComponentPortion )
+ (CONSTRAINED BY { -- must have consistent encoding -- }
+ ! RejectProblem : general-badlyStructuredCompPortion )
+ (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- }
+ ! RejectProblem : general-incorrectComponentCoding )
+
+-- PROBLEMS, the specification of Problems follows
+Problem ::= INTEGER {
+ general-unrecognisedComponentType (257),
+ general-incorrectComponentPortion (258),
+ general-badlyStructuredCompPortion (259),
+ general-incorrectComponentCoding (260),
+ invoke-duplicateInvocation (513),
+ invoke-unrecognisedOperation (514),
+ invoke-incorrectParameter (515),
+ invoke-unrecognisedCorrelationID (516),
+ returnResult-unrecognisedCorrelationID (769),
+ returnResult-unexpectedReturnResult (770),
+ returnResult-incorrectParameter (771),
+ returnError-unrecognisedCorrelationID (1025),
+ returnError-unexpectedReturnError (1026),
+ returnError-unrecognisedError (1027),
+ returnError-unexpectedError (1028),
+ returnError-incorrectParameter (1029),
+ -- Applications using T1.114-1988 report Transaction portion
+ -- problems using a Reject component with a problem code in
+ -- the range 1281-1286.
+ -- It is preferred that other applications report
+ -- these problems using the Abort package type
+ transaction-unrecognizedPackageType (1281),
+ transaction-incorrectTransPortion (1282),
+ transaction-badlyStructuredTransPortion (1283),
+ transaction-unassignedRespondingTransID (1284),
+ transaction-permissionToReleaseProblem (1285),
+ transaction-resourceUnavailable (1286)
+ }
+
+END -- end of the TCAPPackage Module
diff --git a/epan/dissectors/asn1/ansi_tcap/ansi_tcap.cnf b/epan/dissectors/asn1/ansi_tcap/ansi_tcap.cnf
new file mode 100644
index 00000000..b24c798e
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_tcap/ansi_tcap.cnf
@@ -0,0 +1,201 @@
+# tcap.cnf
+# tcap conformation file
+
+#.NO_EMIT ONLY_VALS
+PackageType
+
+#.OMIT_ASSIGNMENT
+# Removed as they are giving 'defined but not used' warnings currently.
+Priority
+#.END
+
+#.FIELD_RENAME
+Invoke/parameter invoke_parameter
+ReturnResult/parameter returnResult_parameter
+ReturnError/parameter returnError_parameter
+Reject/parameter reject_parameter
+Abort/causeInformation/userInformation abort_userInformation
+ErrorCode/private ec_private
+#.FIELD_ATTR
+ErrorCode/private ABBREV=ec_private
+#--- OperationCode ---
+
+#.FN_PARS
+OperationCode VAL_PTR = &ansi_tcap_private.d.OperationCode
+OperationCode/private VAL_PTR = &ansi_tcap_private.d.OperationCode_private
+#.FN_FTR OperationCode
+ ansi_tcap_private.d.OperationCode_item = actx->created_item;
+#.END
+
+#.FN_BODY OperationCode/national VAL_PTR = &ansi_tcap_private.d.OperationCode_national
+ proto_tree *subtree;
+ proto_item *spcifier_item;
+ int start_offset = offset;
+ guint8 family;
+ guint8 specifier;
+
+ %(DEFAULT_BODY)s
+ /* mask off the H bit */
+ ansi_tcap_private.d.OperationCode_national = (ansi_tcap_private.d.OperationCode_national&0x7fff);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ansi_tcap_op_code_nat);
+ /* Bit H is used to distinguish between Operations that require a reply and those that do not. A value of 1
+ * indicates that a reply is required; a value of 0 indicates that a reply is not required.
+ */
+ family = (ansi_tcap_private.d.OperationCode_national & 0x7f00)>>8;
+ specifier = (guint8)(ansi_tcap_private.d.OperationCode_national & 0xff);
+ proto_tree_add_item(subtree, hf_ansi_tcap_bit_h, tvb, start_offset, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ansi_tcap_op_family, tvb, start_offset, 2, ENC_BIG_ENDIAN);
+ spcifier_item = proto_tree_add_item(subtree, hf_ansi_tcap_op_specifier, tvb, start_offset, 2, ENC_BIG_ENDIAN);
+
+ switch(family){
+ case 0:
+ /* All Families ( Not used ) */
+ break;
+ case 1:
+ /* Parameter */
+ if(specifier== 1){
+ proto_item_append_text(spcifier_item, " Provide Value");
+ }else if (specifier== 2){
+ proto_item_append_text(spcifier_item, " Set Value");
+ }
+ break;
+ case 2:
+ /* Charging */
+ if (specifier== 1){
+ proto_item_append_text(spcifier_item, " Bill Call");
+ }
+ break;
+ case 3:
+ /* Provide Instructions */
+ if (specifier== 1){
+ proto_item_append_text(spcifier_item, " Start");
+ }else if (specifier== 2){
+ proto_item_append_text(spcifier_item, " Assist");
+ }
+ break;
+ case 4:
+ /* Connection Control */
+ if (specifier== 1){
+ proto_item_append_text(spcifier_item, " Connect");
+ }else if (specifier== 2){
+ proto_item_append_text(spcifier_item, " Temporary Connect");
+ }else if (specifier== 3){
+ proto_item_append_text(spcifier_item, " Disconnect");
+ }else if (specifier== 4){
+ proto_item_append_text(spcifier_item, " Forward Disconnect");
+ }
+ break;
+ default:
+ break;
+ }
+
+#--- INVOKE ---
+
+#.FN_BODY Invoke/parameter
+
+ if(find_tcap_subdissector(tvb, actx, tree))
+ offset = tvb_reported_length(tvb);
+
+
+#.FN_HDR Invoke
+ ansi_tcap_private.d.pdu = 1;
+
+#--- RETURN RESULT ---
+
+#.FIELD_ATTR
+
+#.FN_BODY ReturnResult/parameter
+ if(find_tcap_subdissector(tvb, actx, tree))
+ offset = tvb_reported_length(tvb);
+
+#.FN_HDR ReturnResult
+ ansi_tcap_private.d.pdu = 2;
+
+
+#--- RETURN ERROR ---
+
+#.FN_BODY ReturnError/parameter
+ if(find_tcap_subdissector(tvb, actx, tree))
+ offset = tvb_reported_length(tvb);
+
+#.FN_HDR ReturnError
+ ansi_tcap_private.d.pdu = 3;
+
+#--- ObjectIDApplicationContext --
+#.FN_BODY ObjectIDApplicationContext FN_VARIANT = _str VAL_PTR = &oid_str
+
+ static const char * oid_str;
+
+ %(DEFAULT_BODY)s
+ ansi_tcap_private.objectApplicationId_oid= (const void*) oid_str;
+ ansi_tcap_private.oid_is_present=TRUE;
+
+#.FN_HDR PackageType/unidirectional
+gp_tcapsrt_info->ope=TC_ANSI_ALL;
+col_set_str(actx->pinfo->cinfo, COL_INFO, "unidirectional ");
+
+#.FN_HDR PackageType/queryWithPerm
+gp_tcapsrt_info->ope=TC_ANSI_ALL;
+col_set_str(actx->pinfo->cinfo, COL_INFO, "queryWithPerm ");
+
+#.FN_HDR PackageType/queryWithoutPerm
+gp_tcapsrt_info->ope=TC_ANSI_ALL;
+col_set_str(actx->pinfo->cinfo, COL_INFO, "queryWithoutPerm ");
+
+#.FN_HDR PackageType/response
+gp_tcapsrt_info->ope=TC_ANSI_ALL;
+col_set_str(actx->pinfo->cinfo, COL_INFO, "response ");
+
+#.FN_HDR PackageType/conversationWithPerm
+gp_tcapsrt_info->ope=TC_ANSI_ALL;
+col_set_str(actx->pinfo->cinfo, COL_INFO, "conversationWithPerm ");
+
+#.FN_HDR PackageType/conversationWithoutPerm
+gp_tcapsrt_info->ope=TC_ANSI_ALL;
+col_set_str(actx->pinfo->cinfo, COL_INFO, "conversationWithoutPerm ");
+
+#.FN_HDR PackageType/abort
+gp_tcapsrt_info->ope=TC_ANSI_ABORT;
+col_set_str(actx->pinfo->cinfo, COL_INFO, "Abort ");
+
+#.FN_BODY TransactionID/_untag VAL_PTR = &next_tvb
+
+tvbuff_t *next_tvb;
+guint8 len;
+
+%(DEFAULT_BODY)s
+
+if(next_tvb) {
+ len = tvb_reported_length_remaining(next_tvb, 0);
+ if(len !=0){
+ /* 0 octets for the Unidirectional,
+ * 4 octets for Query, Response & Abort
+ * 8 octets for Conversation in the order Originating then Responding TID
+ *
+ * In order to match this it seems like we should only use the last 4 octets
+ * in the 8 octets case.
+ */
+ if (len > 4){
+ ansi_tcap_private.TransactionID_str = tvb_bytes_to_str(actx->pinfo->pool, next_tvb, 4,len-4);
+ }else{
+ ansi_tcap_private.TransactionID_str = tvb_bytes_to_str(actx->pinfo->pool, next_tvb, 0,len);
+ }
+ }
+ switch(len) {
+ case 1:
+ gp_tcapsrt_info->src_tid=tvb_get_guint8(next_tvb, 0);
+ break;
+ case 2:
+ gp_tcapsrt_info->src_tid=tvb_get_ntohs(next_tvb, 0);
+ break;
+ case 4:
+ gp_tcapsrt_info->src_tid=tvb_get_ntohl(next_tvb, 0);
+ break;
+ default:
+ gp_tcapsrt_info->src_tid=0;
+ break;
+ }
+}
+
+#.END
diff --git a/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.c b/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.c
new file mode 100644
index 00000000..10a5f4b7
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.c
@@ -0,0 +1,487 @@
+/* packet-ansi_tcap-template.c
+ * Routines for ANSI TCAP
+ * Copyright 2007 Anders Broman <anders.broman@ericsson.com>
+ * Built from the gsm-map dissector Copyright 2004 - 2005, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References: T1.114
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/expert.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/strutil.h>
+
+#include "packet-ber.h"
+#include "packet-tcap.h"
+#include "packet-ansi_tcap.h"
+
+#define PNAME "ANSI Transaction Capabilities Application Part"
+#define PSNAME "ANSI_TCAP"
+#define PFNAME "ansi_tcap"
+
+void proto_register_ansi_tcap(void);
+void proto_reg_handoff_ansi_tcap(void);
+
+/* Preference settings */
+#define ANSI_TCAP_TID_ONLY 0
+#define ANSI_TCAP_TID_AND_SOURCE 1
+#define ANSI_TCAP_TID_SOURCE_AND_DEST 2
+static gint ansi_tcap_response_matching_type = ANSI_TCAP_TID_ONLY;
+
+/* Initialize the protocol and registered fields */
+static int proto_ansi_tcap = -1;
+
+#if 0
+static int hf_ansi_tcapsrt_SessionId = -1;
+static int hf_ansi_tcapsrt_Duplicate = -1;
+static int hf_ansi_tcapsrt_BeginSession = -1;
+static int hf_ansi_tcapsrt_EndSession = -1;
+static int hf_ansi_tcapsrt_SessionTime = -1;
+#endif
+static int hf_ansi_tcap_bit_h = -1;
+static int hf_ansi_tcap_op_family = -1;
+static int hf_ansi_tcap_op_specifier = -1;
+
+#include "packet-ansi_tcap-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_tcap = -1;
+static gint ett_param = -1;
+static gint ett_ansi_tcap_op_code_nat = -1;
+
+static gint ett_otid = -1;
+static gint ett_dtid = -1;
+static gint ett_ansi_tcap_stat = -1;
+
+static expert_field ei_ansi_tcap_dissector_not_implemented = EI_INIT;
+
+static struct tcapsrt_info_t * gp_tcapsrt_info;
+static gboolean tcap_subdissector_used=FALSE;
+
+static struct tcaphash_context_t * gp_tcap_context=NULL;
+
+/* Note the high bit should be masked off when registering in this table (0x7fff)*/
+static dissector_table_t ansi_tcap_national_opcode_table; /* National Operation Codes */
+
+#include "packet-ansi_tcap-ett.c"
+
+#define MAX_SSN 254
+
+extern gboolean gtcap_PersistentSRT;
+extern guint gtcap_RepetitionTimeout;
+extern guint gtcap_LostTimeout;
+
+/* When several Tcap components are received in a single TCAP message,
+ we have to use several buffers for the stored parameters
+ because else this data are erased during TAP dissector call */
+#define MAX_TCAP_INSTANCE 10
+int tcapsrt_global_current=0;
+struct tcapsrt_info_t tcapsrt_global_info[MAX_TCAP_INSTANCE];
+
+static dissector_table_t ber_oid_dissector_table=NULL;
+static const char * cur_oid;
+static const char * tcapext_oid;
+
+static dissector_handle_t ansi_map_handle;
+static dissector_handle_t ain_handle;
+
+struct ansi_tcap_private_t ansi_tcap_private;
+#define MAX_TID_STR_LEN 1024
+
+static void ansi_tcap_ctx_init(struct ansi_tcap_private_t *a_tcap_ctx) {
+ memset(a_tcap_ctx, '\0', sizeof(*a_tcap_ctx));
+ a_tcap_ctx->signature = ANSI_TCAP_CTX_SIGNATURE;
+ a_tcap_ctx->oid_is_present = FALSE;
+ a_tcap_ctx->TransactionID_str = NULL;
+}
+
+static const value_string ansi_tcap_national_op_code_family_vals[] = {
+ { 0x0, "All Families" },
+ { 0x1, "Parameter" },
+ { 0x2, "Charging" },
+ { 0x3, "Provide Instructions" },
+ { 0x4, "Connection Control" },
+ { 0x5, "Caller Interaction" },
+ { 0x6, "Send Notification" },
+ { 0x7, "Network Management" },
+ { 0x8, "Procedural" },
+ { 0x9, "Operation Control" },
+ { 0xa, "Report Event" },
+ /* Spare */
+ { 0x7e, "Miscellaneous" },
+ { 0x7f, "Reserved" },
+ { 0, NULL }
+};
+
+/* Transaction tracking */
+/* Transaction table */
+struct ansi_tcap_invokedata_t {
+ gint OperationCode;
+ /*
+ 0 : national,
+ 1 : private
+ */
+ gint32 OperationCode_private;
+ gint32 OperationCode_national;
+};
+
+static wmem_multimap_t *TransactionId_table=NULL;
+
+/* Store Invoke information needed for the corresponding reply */
+static void
+save_invoke_data(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
+ struct ansi_tcap_invokedata_t *ansi_tcap_saved_invokedata;
+ gchar *src, *dst;
+ char *buf;
+
+ src = address_to_str(pinfo->pool, &(pinfo->src));
+ dst = address_to_str(pinfo->pool, &(pinfo->dst));
+
+ if ((!pinfo->fd->visited)&&(ansi_tcap_private.TransactionID_str)){
+
+ /* Only do this once XXX I hope it's the right thing to do */
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ switch(ansi_tcap_response_matching_type){
+ case ANSI_TCAP_TID_ONLY:
+ buf = wmem_strdup(pinfo->pool, ansi_tcap_private.TransactionID_str);
+ break;
+ case ANSI_TCAP_TID_AND_SOURCE:
+ buf = wmem_strdup_printf(pinfo->pool, "%s%s",ansi_tcap_private.TransactionID_str,src);
+ break;
+ case ANSI_TCAP_TID_SOURCE_AND_DEST:
+ default:
+ buf = wmem_strdup_printf(pinfo->pool, "%s%s%s",ansi_tcap_private.TransactionID_str,src,dst);
+ break;
+ }
+
+ ansi_tcap_saved_invokedata = wmem_new(wmem_file_scope(), struct ansi_tcap_invokedata_t);
+ ansi_tcap_saved_invokedata->OperationCode = ansi_tcap_private.d.OperationCode;
+ ansi_tcap_saved_invokedata->OperationCode_national = ansi_tcap_private.d.OperationCode_national;
+ ansi_tcap_saved_invokedata->OperationCode_private = ansi_tcap_private.d.OperationCode_private;
+
+ wmem_multimap_insert32(TransactionId_table,
+ wmem_strdup(wmem_file_scope(), buf),
+ pinfo->num,
+ ansi_tcap_saved_invokedata);
+ /*
+ ws_warning("Tcap Invoke Hash string %s",buf);
+ */
+ }
+}
+
+static gboolean
+find_saved_invokedata(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
+ struct ansi_tcap_invokedata_t *ansi_tcap_saved_invokedata;
+ gchar *src, *dst;
+ char *buf;
+
+ if (!ansi_tcap_private.TransactionID_str) {
+ return FALSE;
+ }
+
+ src = address_to_str(pinfo->pool, &(pinfo->src));
+ dst = address_to_str(pinfo->pool, &(pinfo->dst));
+
+ /* The hash string needs to contain src and dest to distiguish differnt flows */
+ buf = (char *)wmem_alloc(pinfo->pool, MAX_TID_STR_LEN);
+ buf[0] = '\0';
+ /* Reverse order to invoke */
+ switch(ansi_tcap_response_matching_type){
+ case ANSI_TCAP_TID_ONLY:
+ snprintf(buf,MAX_TID_STR_LEN,"%s",ansi_tcap_private.TransactionID_str);
+ break;
+ case ANSI_TCAP_TID_AND_SOURCE:
+ snprintf(buf,MAX_TID_STR_LEN,"%s%s",ansi_tcap_private.TransactionID_str,dst);
+ break;
+ case ANSI_TCAP_TID_SOURCE_AND_DEST:
+ default:
+ snprintf(buf,MAX_TID_STR_LEN,"%s%s%s",ansi_tcap_private.TransactionID_str,dst,src);
+ break;
+ }
+
+ ansi_tcap_saved_invokedata = (struct ansi_tcap_invokedata_t *)wmem_multimap_lookup32_le(TransactionId_table, buf, pinfo->num);
+ if(ansi_tcap_saved_invokedata){
+ ansi_tcap_private.d.OperationCode = ansi_tcap_saved_invokedata->OperationCode;
+ ansi_tcap_private.d.OperationCode_national = ansi_tcap_saved_invokedata->OperationCode_national;
+ ansi_tcap_private.d.OperationCode_private = ansi_tcap_saved_invokedata->OperationCode_private;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+/* As currently ANSI MAP is the only possible sub dissector this function
+ * must be improved to handle general cases.
+ *
+ *
+ *
+ * TODO:
+ * 1)Handle national codes
+ * Design option
+ * - Create a ansi.tcap.national dissector table and have dissectors for
+ * national codes register there and let ansi tcap call them.
+ * 2)Handle Private codes properly
+ * Design question
+ * Unclear how to differentiate between different private "code sets".
+ * Use SCCP SSN table as before? or a ansi.tcap.private dissector table?
+ *
+ */
+static gboolean
+find_tcap_subdissector(tvbuff_t *tvb, asn1_ctx_t *actx, proto_tree *tree){
+ proto_item *item;
+
+ /* If "DialoguePortion objectApplicationId ObjectIDApplicationContext
+ * points to the subdissector this code can be used.
+ *
+ if(ansi_tcap_private.d.oid_is_present){
+ call_ber_oid_callback(ansi_tcap_private.objectApplicationId_oid, tvb, 0, actx-pinfo, tree, NULL);
+ return TRUE;
+ }
+ */
+ if(ansi_tcap_private.d.pdu == 1){
+ /* Save Invoke data for this transaction */
+ save_invoke_data(actx->pinfo, tree, tvb);
+ }else{
+ /* Get saved data for this transaction */
+ if(find_saved_invokedata(actx->pinfo, tree, tvb)){
+ if(ansi_tcap_private.d.OperationCode == 0){
+ /* national */
+ item = proto_tree_add_int(tree, hf_ansi_tcap_national, tvb, 0, 0, ansi_tcap_private.d.OperationCode_national);
+ }else{
+ item = proto_tree_add_int(tree, hf_ansi_tcap_private, tvb, 0, 0, ansi_tcap_private.d.OperationCode_private);
+ }
+ proto_item_set_generated(item);
+ ansi_tcap_private.d.OperationCode_item = item;
+ }
+ }
+ if(ansi_tcap_private.d.OperationCode == 0){
+ /* national */
+ guint8 family = (ansi_tcap_private.d.OperationCode_national & 0x7f00)>>8;
+ guint8 specifier = (guint8)(ansi_tcap_private.d.OperationCode_national & 0xff);
+ if(!dissector_try_uint(ansi_tcap_national_opcode_table, ansi_tcap_private.d.OperationCode_national, tvb, actx->pinfo, actx->subtree.top_tree)){
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_tcap_dissector_not_implemented, tvb, 0, -1,
+ "Dissector for ANSI TCAP NATIONAL code:0x%x(Family %u, Specifier %u) \n"
+ "not implemented. Contact Wireshark developers if you want this supported(Spec required)",
+ ansi_tcap_private.d.OperationCode_national, family, specifier);
+ return FALSE;
+ }
+ return TRUE;
+ }else if(ansi_tcap_private.d.OperationCode == 1){
+ /* private */
+ if((ansi_tcap_private.d.OperationCode_private & 0xff00) == 0x0900){
+ /* This is abit of a hack as it assumes the private codes with a "family" of 0x09 is ANSI MAP
+ * See TODO above.
+ * N.S0005-0 v 1.0 TCAP Formats and Procedures 5-16 Application Services
+ * 6.3.2 Component Portion
+ * The Operation Code is partitioned into an Operation Family followed by a
+ * Specifier associated with each Operation Family member. For TIA/EIA-41 the
+ * Operation Family is coded as decimal 9. Bit H of the Operation Family is always
+ * coded as 0.
+ */
+ call_dissector_with_data(ansi_map_handle, tvb, actx->pinfo, actx->subtree.top_tree, &ansi_tcap_private);
+
+ return TRUE;
+ } else if ((ansi_tcap_private.d.OperationCode_private & 0xf000) == 0x6000) {
+ call_dissector_with_data(ain_handle, tvb, actx->pinfo, actx->subtree.top_tree, &ansi_tcap_private);
+ return TRUE;
+ }
+ }
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_tcap_dissector_not_implemented, tvb, 0, -1,
+ "Dissector for ANSI TCAP PRIVATE code:%u not implemented.\n"
+ "Contact Wireshark developers if you want this supported(Spec required)",
+ ansi_tcap_private.d.OperationCode_private);
+ return FALSE;
+}
+
+#include "packet-ansi_tcap-fn.c"
+
+
+
+
+static int
+dissect_ansi_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+#if 0
+ proto_item *stat_item=NULL;
+ proto_tree *stat_tree=NULL;
+ gint offset = 0;
+ struct tcaphash_context_t * p_tcap_context;
+ dissector_handle_t subdissector_handle;
+#endif
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ ansi_tcap_ctx_init(&ansi_tcap_private);
+
+ asn1_ctx.subtree.top_tree = parent_tree;
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI TCAP");
+
+ /* create display subtree for the protocol */
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_ansi_tcap, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_tcap);
+ }
+ cur_oid = NULL;
+ tcapext_oid = NULL;
+
+ gp_tcapsrt_info=tcapsrt_razinfo();
+ tcap_subdissector_used=FALSE;
+ gp_tcap_context=NULL;
+ dissect_ansi_tcap_PackageType(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+
+#if 0 /* Skip this part for now it will be rewritten */
+ if (g_ansi_tcap_HandleSRT && !tcap_subdissector_used ) {
+ if (gtcap_DisplaySRT && tree) {
+ stat_tree = proto_tree_add_subtree(tree, tvb, 0, 0, ett_ansi_tcap_stat, &stat_item, "Stat");
+ proto_item_set_generated(stat_item);
+ }
+ p_tcap_context=tcapsrt_call_matching(tvb, pinfo, stat_tree, gp_tcapsrt_info);
+ ansi_tcap_private.context=p_tcap_context;
+
+ /* If the current message is TCAP only,
+ * save the Application contexte name for the next messages
+ */
+ if ( p_tcap_context && cur_oid && !p_tcap_context->oid_present ) {
+ /* Save the application context and the sub dissector */
+ (void) g_strlcpy(p_tcap_context->oid, cur_oid, sizeof(p_tcap_context->oid));
+ if ( (subdissector_handle = dissector_get_string_handle(ber_oid_dissector_table, cur_oid)) ) {
+ p_tcap_context->subdissector_handle=subdissector_handle;
+ p_tcap_context->oid_present=TRUE;
+ }
+ }
+ if (g_ansi_tcap_HandleSRT && p_tcap_context && p_tcap_context->callback) {
+ /* Callback fonction for the upper layer */
+ (p_tcap_context->callback)(tvb, pinfo, stat_tree, p_tcap_context);
+ }
+ }
+#endif
+ return tvb_captured_length(tvb);
+}
+
+
+void
+proto_reg_handoff_ansi_tcap(void)
+{
+ ansi_map_handle = find_dissector_add_dependency("ansi_map", proto_ansi_tcap);
+ ain_handle = find_dissector_add_dependency("ain", proto_ansi_tcap);
+ ber_oid_dissector_table = find_dissector_table("ber.oid");
+}
+
+
+
+void
+proto_register_ansi_tcap(void)
+{
+ module_t *ansi_tcap_module;
+
+
+/* Setup list of header fields See Section 1.6.1 for details*/
+ static hf_register_info hf[] = {
+#if 0
+ /* Tcap Service Response Time */
+ { &hf_ansi_tcapsrt_SessionId,
+ { "Session Id",
+ "ansi_tcap.srt.session_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_tcapsrt_BeginSession,
+ { "Begin Session",
+ "ansi_tcap.srt.begin",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "SRT Begin of Session", HFILL }
+ },
+ { &hf_ansi_tcapsrt_EndSession,
+ { "End Session",
+ "ansi_tcap.srt.end",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "SRT End of Session", HFILL }
+ },
+ { &hf_ansi_tcapsrt_SessionTime,
+ { "Session duration",
+ "ansi_tcap.srt.sessiontime",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "Duration of the TCAP session", HFILL }
+ },
+ { &hf_ansi_tcapsrt_Duplicate,
+ { "Request Duplicate",
+ "ansi_tcap.srt.duplicate",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+#endif
+ { &hf_ansi_tcap_bit_h,
+ { "Require Reply", "ansi_tcap.req_rep",
+ FT_BOOLEAN, 16, NULL, 0x8000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_tcap_op_family,
+ { "Family",
+ "ansi_tcap.op_family",
+ FT_UINT16, BASE_DEC, VALS(ansi_tcap_national_op_code_family_vals), 0x7f00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_tcap_op_specifier,
+ { "Specifier",
+ "ansi_tcap.op_specifier",
+ FT_UINT16, BASE_DEC, NULL, 0x00ff,
+ NULL, HFILL }
+ },
+#include "packet-ansi_tcap-hfarr.c"
+ };
+
+/* Setup protocol subtree array */
+ static gint *ett[] = {
+ &ett_tcap,
+ &ett_param,
+ &ett_otid,
+ &ett_dtid,
+ &ett_ansi_tcap_stat,
+ &ett_ansi_tcap_op_code_nat,
+ #include "packet-ansi_tcap-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_ansi_tcap_dissector_not_implemented, { "ansi_tcap.dissector_not_implemented", PI_UNDECODED, PI_WARN, "Dissector not implemented", EXPFILL }},
+ };
+
+ expert_module_t* expert_ansi_tcap;
+
+ static const enum_val_t ansi_tcap_response_matching_type_values[] = {
+ {"Only Transaction ID will be used in Invoke/response matching", "Transaction ID only", ANSI_TCAP_TID_ONLY},
+ {"Transaction ID and Source will be used in Invoke/response matching", "Transaction ID and Source", ANSI_TCAP_TID_AND_SOURCE},
+ {"Transaction ID Source and Destination will be used in Invoke/response matching", "Transaction ID Source and Destination", ANSI_TCAP_TID_SOURCE_AND_DEST},
+ {NULL, NULL, -1}
+ };
+
+/* Register the protocol name and description */
+ proto_ansi_tcap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("ansi_tcap", dissect_ansi_tcap, proto_ansi_tcap);
+
+ /* Note the high bit should be masked off when registering in this table (0x7fff)*/
+ ansi_tcap_national_opcode_table = register_dissector_table("ansi_tcap.nat.opcode", "ANSI TCAP National Opcodes", proto_ansi_tcap, FT_UINT16, BASE_DEC);
+/* Required function calls to register the header fields and subtrees used */
+ proto_register_field_array(proto_ansi_tcap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_ansi_tcap = expert_register_protocol(proto_ansi_tcap);
+ expert_register_field_array(expert_ansi_tcap, ei, array_length(ei));
+
+ ansi_tcap_module = prefs_register_protocol(proto_ansi_tcap, proto_reg_handoff_ansi_tcap);
+
+ prefs_register_enum_preference(ansi_tcap_module, "transaction.matchtype",
+ "Type of matching invoke/response",
+ "Type of matching invoke/response, risk of mismatch if loose matching chosen",
+ &ansi_tcap_response_matching_type, ansi_tcap_response_matching_type_values, FALSE);
+
+ TransactionId_table = wmem_multimap_new_autoreset(wmem_epan_scope(), wmem_file_scope(), wmem_str_hash, g_str_equal);
+}
diff --git a/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.h b/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.h
new file mode 100644
index 00000000..51f44771
--- /dev/null
+++ b/epan/dissectors/asn1/ansi_tcap/packet-ansi_tcap-template.h
@@ -0,0 +1,51 @@
+/* packet-ansi_tcap.h
+ *
+ * Copyright 2007 Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+
+#ifndef PACKET_ANSI_TCAP_H
+#define PACKET_ANSI_TCAP_H
+
+#define ANSI_TCAP_CTX_SIGNATURE 0x41544341 /* "ATCA" */
+
+struct ansi_tcap_private_t {
+ guint32 signature;
+ gboolean oid_is_present; /* Is the Application Context Version present */
+ const void * objectApplicationId_oid;
+ guint32 session_id;
+ void * context;
+ gchar *TransactionID_str;
+ struct { /* "dynamic" data */
+ gint pdu;
+ /*
+ 1 : invoke,
+ 2 : returnResult,
+ 3 : returnError,
+ 4 : reject
+ */
+ gint OperationCode;
+ /*
+ 0 : national,
+ 1 : private
+ */
+ gint32 OperationCode_national;
+ gint32 OperationCode_private;
+ proto_item *OperationCode_item;
+ } d;
+
+};
+
+/*extern void add_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);*/
+
+
+/*extern void delete_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);*/
+
+
+#endif /* PACKET_ANSI_TCAP_H */
diff --git a/epan/dissectors/asn1/atn-cm/CMakeLists.txt b/epan/dissectors/asn1/atn-cm/CMakeLists.txt
new file mode 100644
index 00000000..0d2f4acf
--- /dev/null
+++ b/epan/dissectors/asn1/atn-cm/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME atn-cm )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -u )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/atn-cm/atn-cm.asn b/epan/dissectors/asn1/atn-cm/atn-cm.asn
new file mode 100644
index 00000000..3ec503f1
--- /dev/null
+++ b/epan/dissectors/asn1/atn-cm/atn-cm.asn
@@ -0,0 +1,194 @@
+-- ICAO doc 9705 Edition 2 Contact Management (CM)
+CMMessageSetVersion1 DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+-- ----------------------------------------------------------------------------------
+-- CM Message Structure
+-- ----------------------------------------------------------------------------------
+-- Aircraft-generated messages
+
+CMAircraftMessage ::= CHOICE
+{
+ cmLogonRequest [0] CMLogonRequest,
+ cmContactResponse [1] CMContactResponse,
+ cmAbortReason [2] CMAbortReason,
+ ...
+}
+
+-- Ground-generated messages
+
+CMGroundMessage ::= CHOICE
+{
+ cmLogonResponse [0] CMLogonResponse,
+ cmUpdate [1] CMUpdate,
+ cmContactRequest [2] CMContactRequest,
+ cmForwardRequest [3] CMForwardRequest,
+ cmAbortReason [4] CMAbortReason,
+ cmForwardResponse [5] CMForwardResponse,
+ ...
+}
+
+-- ----------------------------------------------------------------------------------
+-- CM Message Components
+-- ----------------------------------------------------------------------------------
+
+AircraftFlightIdentification ::= IA5String(SIZE(2..8))
+Airport ::=IA5String (SIZE(4))
+
+APAddress ::= CHOICE
+{
+ longTsap [0] LongTsap,
+ shortTsap [1] ShortTsap
+}
+
+AEQualifier ::= INTEGER (0..255)
+-- ATN AE-Qualifier Numeric Values are described in 4
+
+AEQualifierVersion ::= SEQUENCE
+{
+ aeQualifier AEQualifier,
+ apVersion VersionNumber
+}
+
+AEQualifierVersionAddress ::= SEQUENCE
+{
+ aeQualifier AEQualifier,
+ apVersion VersionNumber,
+ apAddress APAddress
+}
+
+CMAbortReason ::= ENUMERATED
+{
+ timer-expired (0),
+ undefined-error (1),
+ invalid-PDU (2),
+ protocol-error (3),
+ dialogue-acceptance-not-permitted (4),
+ dialogue-end-not-accepted (5),
+ communication-service-error (6),
+ communication-service-failure (7),
+ invalid-QOS-parameter (8),
+ expected-PDU-missing (9),
+ ...
+}
+
+CMContactRequest ::= SEQUENCE
+{
+ facilityDesignation FacilityDesignation,
+ address LongTsap
+}
+
+CMContactResponse ::= Response
+
+
+CMForwardRequest ::= CMLogonRequest
+
+CMForwardResponse ::= ENUMERATED
+{
+ success (0),
+ incompatible-version (1),
+ service-not-supported (2)
+}
+
+CMLogonRequest ::= SEQUENCE
+{
+ aircraftFlightIdentification [0] AircraftFlightIdentification,
+ cMLongTSAP [1] LongTsap,
+
+ groundInitiatedApplications [2] SEQUENCE SIZE (1..256) OF AEQualifierVersionAddress OPTIONAL,
+ airOnlyInitiatedApplications [3] SEQUENCE SIZE (1..256) OF AEQualifierVersion OPTIONAL,
+ facilityDesignation [4] FacilityDesignation OPTIONAL,
+ airportDeparture [5] Airport OPTIONAL,
+ airportDestination [6] Airport OPTIONAL,
+ dateTimeDepartureETD [7] DateTime OPTIONAL
+}
+
+CMLogonResponse ::= SEQUENCE
+{
+ airInitiatedApplications [0] SEQUENCE SIZE (1..256) OF AEQualifierVersionAddress
+ OPTIONAL,
+ groundOnlyInitiatedApplications [1] SEQUENCE SIZE (1..256) OF AEQualifierVersion
+ OPTIONAL
+}
+
+CMUpdate ::= CMLogonResponse
+
+Date ::= SEQUENCE
+{
+ year Year,
+ month Month,
+ day Day
+}
+
+ -- The Date field does not have to correspond to the flight if the field is not to be used;
+ -- the field's value can be assigned a meaningless, but compliant, value locally. If operational
+ -- use of the Date field is intended, there must be bilateral agreements in place to ensure its proper
+ -- use. This is a local implementation issue.
+
+DateTime ::= SEQUENCE
+{
+ date Date,
+ time Time
+}
+
+Day ::= INTEGER (1..31)
+ --unit = Day, Range (1..31), resolution = 1
+
+FacilityDesignation ::= IA5String (SIZE(4..8))
+
+LongTsap ::= SEQUENCE
+{
+ rDP OCTET STRING (SIZE(5)),
+ shortTsap ShortTsap
+}
+
+Month ::= INTEGER (1..12)
+ --unit = Month, Range (1..12), resolution = 1
+
+Response ::= ENUMERATED
+{
+ contactSuccess (0),
+ contactNotSuccessful (1)
+}
+
+ShortTsap ::= SEQUENCE
+{
+ aRS [0] OCTET STRING (SIZE(3)) OPTIONAL,
+ -- the aRS contains the ICAO 24 bit aircraft address when the ShortTsap belongs to an aircraft;
+ -- or a ground address when the Short Tsap belongs to a ground system
+ locSysNselTsel [1] OCTET STRING (SIZE(10..11))
+}
+
+Time ::= SEQUENCE
+{
+ hours Timehours,
+ minutes Timeminutes
+}
+
+Timehours ::= INTEGER (0..23)
+-- units = hour, range (0..23), resolution = 1 hour
+
+Timeminutes ::= INTEGER (0..59)
+-- units = minute, range (0..59), resolution = 1 minute
+
+VersionNumber ::= INTEGER (1..255)
+ -- VersionNumber 0 is reserved for the Dialogue Service
+
+Year ::= INTEGER (1996..2095)
+ --unit = Year, Range (1996..2095), resolution = 1
+
+END
+
+--
+-- Editor modelines - https://www.wireshark.org/tools/modelines.html
+--
+-- Local variables:
+-- c-basic-offset: 4
+-- tab-width: 8
+-- indent-tabs-mode: nil
+-- End:
+--
+-- vi: set shiftwidth=4 tabstop=8 expandtab:
+-- :indentSize=4:tabSize=8:noTabs=true:
+--
+
diff --git a/epan/dissectors/asn1/atn-cm/atn-cm.cnf b/epan/dissectors/asn1/atn-cm/atn-cm.cnf
new file mode 100644
index 00000000..81283bf5
--- /dev/null
+++ b/epan/dissectors/asn1/atn-cm/atn-cm.cnf
@@ -0,0 +1,20 @@
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.PDU
+ CMAircraftMessage
+ CMGroundMessage
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 4
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=4 tabstop=8 expandtab:
+# :indentSize=4:tabSize=8:noTabs=true:
diff --git a/epan/dissectors/asn1/atn-cm/packet-atn-cm-template.c b/epan/dissectors/asn1/atn-cm/packet-atn-cm-template.c
new file mode 100644
index 00000000..e4628178
--- /dev/null
+++ b/epan/dissectors/asn1/atn-cm/packet-atn-cm-template.c
@@ -0,0 +1,229 @@
+/* packet-atn-cm.c
+ * By Mathias Guettler <guettler@web.de>
+ * Copyright 2013
+ *
+ * Routines for ATN context management protocol packet disassembly.
+ * ATN context management allows an aircraft
+ * to log on to a ground facility.
+
+ * details see:
+ * http://en.wikipedia.org/wiki/CPDLC
+ * http://members.optusnet.com.au/~cjr/introduction.htm
+
+ * standards:
+ * http://legacy.icao.int/anb/panels/acp/repository.cfm
+
+ * note:
+ * We are dealing with ATN/CPDLC aka ICAO Doc 9705 Ed2 here
+ * (CPDLC may also be transmitted via ACARS/AOA aka "FANS-1/A ").
+
+
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/conversation.h>
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-atn-ulcs.h"
+
+#define ATN_CM_PROTO "ICAO Doc9705 CM"
+
+void proto_register_atn_cm(void);
+void proto_reg_handoff_atn_cm(void);
+
+#include "packet-atn-cm-hf.c"
+
+#include "packet-atn-cm-ett.c"
+static gint ett_atn_cm = -1;
+
+#include "packet-atn-cm-fn.c"
+static int proto_atn_cm = -1;
+
+static int
+dissect_atn_cm(
+ tvbuff_t *tvb,
+ packet_info *pinfo,
+ proto_tree *tree,
+ void *data _U_)
+{
+ int type;
+ proto_tree *sub_tree;
+
+ sub_tree = proto_tree_add_subtree(
+ tree, tvb, 0, -1, ett_atn_cm, NULL, ATN_CM_PROTO);
+
+ /* ti = proto_tree_add_item(tree, proto_atn_cm, tvb, 0, 0 , ENC_NA); */
+ /* sub_tree = proto_item_add_subtree(ti, ett_atn_cm_pdu); */
+
+ /* determine whether it is uplink or downlink */
+ type = check_heur_msg_type(pinfo);
+
+ switch(type){
+ case um:
+ dissect_CMGroundMessage_PDU(
+ tvb,
+ pinfo,
+ sub_tree, NULL);
+ break;
+ case dm:
+ dissect_CMAircraftMessage_PDU(
+ tvb,
+ pinfo,
+ sub_tree, NULL);
+ break;
+ default:
+ break;
+ }
+ return tvb_reported_length_remaining(tvb, 0);
+}
+
+static gboolean
+dissect_atn_cm_heur(
+ tvbuff_t *tvb,
+ packet_info *pinfo,
+ proto_tree *tree,
+ void *data _U_)
+{
+ atn_conversation_t *volatile atn_cv = NULL;
+ volatile gboolean is_atn_cm = FALSE;
+ int type;
+
+ /* determine whether it is uplink or downlink */
+ type = check_heur_msg_type(pinfo);
+
+ /* heuristically decode message */
+ switch(type){
+ case um:
+ TRY {
+ dissect_CMGroundMessage_PDU(
+ tvb,
+ pinfo,
+ NULL, NULL);
+ /* no exception thrown: looks like it is a CM PDU */
+ is_atn_cm = TRUE; }
+ CATCH_ALL {
+ is_atn_cm = FALSE; }
+ ENDTRY;
+ break;
+ case dm:
+ TRY {
+ dissect_CMAircraftMessage_PDU(
+ tvb,
+ pinfo,
+ NULL, NULL);
+ /* no exception thrown: looks like it is a CM PDU */
+ is_atn_cm = TRUE;}
+ CATCH_ALL {
+ is_atn_cm = FALSE; }
+ ENDTRY;
+ break;
+ default:
+ break;
+ }
+
+ if (is_atn_cm == TRUE) {
+ /* note: */
+ /* all subsequent PDU's belonging to this conversation are considered CM */
+ /* if the first CM PDU has been decoded successfully */
+ /* (This is done in "atn-ulcs" by using "call_dissector_with_data()") */
+
+ /* DT: dstref present, srcref is always zero */
+ if((pinfo->clnp_dstref) &&
+ (!pinfo->clnp_srcref)){
+
+ atn_cv = find_atn_conversation(
+ &pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src );
+ }
+ /* CR: srcref present, dstref is always zero */
+ if((!pinfo->clnp_dstref) &&
+ (pinfo->clnp_srcref)){
+
+ atn_cv = find_atn_conversation(
+ &pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst );
+
+ }
+ /* CC: srcref and dstref present */
+ if((pinfo->clnp_dstref) &&
+ (pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(
+ &pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst );
+ }
+ if(atn_cv){
+ atn_cv->ae_qualifier = cma;
+ }
+ dissect_atn_cm(
+ tvb,
+ pinfo,
+ tree,
+ NULL);
+ }
+
+ return is_atn_cm;
+}
+
+
+void proto_register_atn_cm (void)
+{
+ static hf_register_info hf_atn_cm[] = {
+ #include "packet-atn-cm-hfarr.c"
+ };
+ static gint *ett[] = {
+ #include "packet-atn-cm-ettarr.c"
+ &ett_atn_cm
+ };
+
+ /* register CM application */
+ proto_atn_cm = proto_register_protocol(ATN_CM_PROTO, "ATN-CM", "atn-cm");
+
+ proto_register_field_array(
+ proto_atn_cm,
+ hf_atn_cm,
+ array_length(hf_atn_cm));
+
+ proto_register_subtree_array(
+ ett,
+ array_length(ett));
+
+ register_dissector(
+ "atn-cm",
+ dissect_atn_cm,
+ proto_atn_cm);
+}
+
+void proto_reg_handoff_atn_cm(void)
+{
+ /* add session dissector to subdissector list*/
+ heur_dissector_add(
+ "atn-ulcs",
+ dissect_atn_cm_heur,
+ "ATN-CM over ATN-ULCS",
+ "atn-cm-ulcs",
+ proto_atn_cm, HEURISTIC_ENABLE);
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/atn-cpdlc/CMakeLists.txt b/epan/dissectors/asn1/atn-cpdlc/CMakeLists.txt
new file mode 100644
index 00000000..12e357c5
--- /dev/null
+++ b/epan/dissectors/asn1/atn-cpdlc/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME atn-cpdlc )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -u )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/atn-cpdlc/atn-cpdlc.asn b/epan/dissectors/asn1/atn-cpdlc/atn-cpdlc.asn
new file mode 100644
index 00000000..546fa8ef
--- /dev/null
+++ b/epan/dissectors/asn1/atn-cpdlc/atn-cpdlc.asn
@@ -0,0 +1,2793 @@
+-- Sub-Volume IV ASN.1 reference definitions for ICAO Doc. 9705,
+-- Second Edition
+-- Version 1.1, 03 Oct 2001
+
+-- protected mode PDR's
+-- 2011-10-25 Doc 9705 Draft Ed 3 (ICAO web site - 11/00) including "9705 PDRS FOR CPDLC"
+-- based on "ACP WGN SG/N2 Version 1.1 (Output Montreal - May 2005)"
+
+
+-- plain old CPDLC
+CPDLCAPDUsVersion1 DEFINITIONS ::=
+BEGIN
+
+IMPORTS
+ ATCUplinkMessage, ATCDownlinkMessage
+ FROM PMCPDLCMessageSetVersion1
+ ATCForwardMessage, ATCForwardResponse
+ FROM PMCPDLCAPDUsVersion1;
+
+-- ----------------------------------------------------------------------------------
+-- Ground Generated Messages - Top level
+-- ----------------------------------------------------------------------------------
+GroundPDUs ::= CHOICE
+{
+ abortUser [0] CPDLCUserAbortReason,
+ abortProvider [1] CPDLCProviderAbortReason,
+ startup [2] UplinkMessage,
+ send [3] ATCUplinkMessage,
+ forward [4] ATCForwardMessage,
+ forwardresponse [5] ATCForwardResponse,
+ ...
+}
+
+UplinkMessage ::= CHOICE
+{
+ noMessage [0] NULL,
+ aTCUplinkMessage [1] ATCUplinkMessage
+}
+
+AircraftPDUs::= CHOICE
+{
+ abortUser [0] CPDLCUserAbortReason,
+ abortProvider [1] CPDLCProviderAbortReason,
+ startdown [2] StartDownMessage,
+ send [3] ATCDownlinkMessage,
+ ...
+}
+
+StartDownMessage ::= SEQUENCE
+{
+ mode Mode DEFAULT cpdlc,
+ startDownlinkMessage DownlinkMessage
+}
+
+Mode ::= ENUMERATED
+{
+ cpdlc (0),
+ dsc (1)
+}
+
+DownlinkMessage ::= CHOICE
+{
+ noMessage [0] NULL,
+ aTCDownlinkMessage [1] ATCDownlinkMessage
+}
+
+CPDLCUserAbortReason ::= ENUMERATED
+{
+ undefined (0),
+ no-message-identification-numbers-available (1),
+ duplicate-message-identification-numbers (2),
+ no-longer-next-data-authority (3),
+ current-data-authority-abort (4),
+ commanded-termination (5),
+ invalid-response (6),
+ ...
+}
+
+
+CPDLCProviderAbortReason ::= ENUMERATED
+{
+ timer-expired (0),
+ undefined-error (1),
+ invalid-PDU (2),
+ protocol-error (3),
+ communication-service-error (4),
+ communication-service-failure (5),
+ invalid-QOS-parameter (6),
+ expected-PDU-missing (7),
+ ...
+ }
+
+END
+
+-- protected mode PMCPDLC
+PMCPDLCAPDUsVersion1 DEFINITIONS::=
+BEGIN
+
+IMPORTS
+DateTimeGroup,
+AircraftFlightIdentification,
+AircraftAddress
+FROM PMCPDLCMessageSetVersion1;
+
+-- ----------------------------------------------------------------------------------
+-- Ground Generated Messages - Top level
+-- ----------------------------------------------------------------------------------
+ProtectedGroundPDUs ::= CHOICE
+{
+ abortUser [0] PMCPDLCUserAbortReason,
+ abortProvider [1] PMCPDLCProviderAbortReason,
+ startup [2] ProtectedUplinkMessage,
+ send [3] ProtectedUplinkMessage,
+ forward [4] ATCForwardMessage,
+ forwardresponse [5] ATCForwardResponse,
+ ...
+}
+
+ProtectedUplinkMessage::= SEQUENCE
+{
+ algorithmIdentifier [0] AlgorithmIdentifier OPTIONAL,
+ protectedMessage [1] CPDLCMessage OPTIONAL,
+-- PER encoded ATCUplinkMessage
+-- (see Module PMCPDLCMessageSetVersion1)
+ integrityCheck [2] BIT STRING,
+ ...
+}
+
+ATCForwardMessage ::= SEQUENCE
+{
+ forwardHeader ForwardHeader,
+ forwardMessage ForwardMessage
+}
+
+ForwardHeader ::= SEQUENCE
+{
+ dateTime DateTimeGroup,
+ aircraftID AircraftFlightIdentification,
+ aircraftAddress AircraftAddress
+}
+
+ForwardMessage ::= CHOICE
+{
+ upElementIDs [0] BIT STRING,
+--PER encoded ATCUplinkMessageData,
+-- (see Module PMCPDLCMessageSetVersion1)
+ downElementIDs [1] BIT STRING
+--PER encoded ATCDownlinkMessageData,
+-- (see Module PMCPDLCMessageSetVersion1)
+}
+
+ATCForwardResponse ::= ENUMERATED
+{
+ success (0),
+ service-not-supported (1),
+ version-not-equal (2),
+ ...
+}
+-- ----------------------------------------------------------------------------------
+-- Aircraft Generated Messages - Top level
+-- ----------------------------------------------------------------------------------
+ProtectedAircraftPDUs::= CHOICE
+{
+ abortUser [0] PMCPDLCUserAbortReason,
+ abortProvider [1] PMCPDLCProviderAbortReason,
+ startdown [2] ProtectedStartDownMessage,
+ send [3] ProtectedDownlinkMessage,
+ ...
+}
+
+
+ProtectedStartDownMessage ::= SEQUENCE
+{
+ mode ProtectedMode DEFAULT cpdlc,
+ startDownlinkMessage ProtectedDownlinkMessage
+}
+
+ProtectedMode ::= ENUMERATED
+{
+ cpdlc (0),
+ dsc (1)
+}
+
+ProtectedDownlinkMessage::= SEQUENCE
+{
+ algorithmIdentifier [0] AlgorithmIdentifier OPTIONAL,
+ protectedMessage [1] CPDLCMessage OPTIONAL,
+--PER encoded ATCDownlinkMessage,
+-- (see Module PMCPDLCMessageSetVersion1)
+ integrityCheck [2] BIT STRING,
+ ...
+}
+
+-- ----------------------------------------------------------------------------------
+-- Uplink and Downlink messages - Common Elements
+-- ----------------------------------------------------------------------------------
+AlgorithmIdentifier ::= RELATIVE-OID
+--root is {icao-arc atn-algorithms(9)}
+
+CPDLCMessage ::= BIT STRING
+
+PMCPDLCUserAbortReason ::= ENUMERATED
+{
+ undefined (0),
+ no-message-identification-numbers-available (1),
+ duplicate-message-identification-numbers (2),
+ no-longer-next-data-authority (3),
+ current-data-authority-abort (4),
+ commanded-termination (5),
+ invalid-response (6),
+ time-out-of-synchronisation (7),
+ unknown-integrity-check (8),
+ validation-failure (9),
+ unable-to-decode-message (10),
+ invalid-pdu (11),
+ invalid-CPDLC-message (12),
+ ...
+}
+
+PMCPDLCProviderAbortReason ::= ENUMERATED
+{
+ timer-expired (0),
+ undefined-error (1),
+ invalid-PDU (2),
+ protocol-error (3),
+ communication-service-error (4),
+ communication-service-failure (5),
+ invalid-QOS-parameter (6),
+ expected-PDU-missing (7),
+ ...
+}
+
+END
+
+PMCPDLCMessageSetVersion1 DEFINITIONS::=
+BEGIN
+
+ATCUplinkMessage ::= SEQUENCE
+{
+ header ATCMessageHeader,
+ messageData ATCUplinkMessageData
+}
+
+ATCUplinkMessageData ::= SEQUENCE
+{
+ elementIds SEQUENCE SIZE (1..5) OF ATCUplinkMsgElementId,
+ constrainedData SEQUENCE
+ {
+ routeClearanceData SEQUENCE SIZE (1..2) OF RouteClearance OPTIONAL,
+ ...
+ } OPTIONAL
+}
+
+ATCDownlinkMessage ::= SEQUENCE
+{
+ header ATCMessageHeader,
+ messageData ATCDownlinkMessageData
+}
+
+ATCDownlinkMessageData ::= SEQUENCE
+{
+ elementIds SEQUENCE SIZE (1..5) OF ATCDownlinkMsgElementId,
+ constrainedData SEQUENCE
+ {
+ routeClearanceData SEQUENCE SIZE (1..2) OF RouteClearance OPTIONAL,
+ ...
+ } OPTIONAL
+}
+
+-- ----------------------------------------------------------------------------------
+-- Uplink and Downlink messages - Common Elements
+-- ----------------------------------------------------------------------------------
+ATCMessageHeader ::= SEQUENCE
+{
+ messageIdNumber [0] MsgIdentificationNumber,
+ messageRefNumber [1] MsgReferenceNumber OPTIONAL,
+ dateTime [2] DateTimeGroup,
+ logicalAck [3] LogicalAck DEFAULT notRequired
+}
+
+MsgIdentificationNumber ::= INTEGER (0..63)
+
+MsgReferenceNumber ::= INTEGER (0..63)
+
+LogicalAck ::= ENUMERATED
+{
+ required (0),
+ notRequired (1)
+}
+
+-- ----------------------------------------------------------------------------------
+-- Uplink message element
+-- ----------------------------------------------------------------------------------
+ATCUplinkMsgElementId ::= CHOICE
+{
+ -- UNABLE
+ -- Urg(N)/Alr(M)/Resp(N)
+ uM0NULL [0] NULL,
+
+ -- STANDBY
+ -- Urg(N)/Alr(L)/Resp(N)
+ uM1NULL [1] NULL,
+
+ -- REQUEST DEFERRED
+ -- Urg(N)/Alr(L)/Resp(N)
+ uM2NULL [2] NULL,
+
+ -- ROGER
+ -- Urg(N)/Alr(L)/Resp(N)
+ uM3NULL [3] NULL,
+
+ -- AFFIRM
+ -- Urg(N)/Alr(L)/Resp(N)
+ uM4NULL [4] NULL,
+
+ -- NEGATIVE Urg(N)/Alr(L)/Resp(N)
+ uM5NULL [5] NULL,
+
+ -- EXPECT [level] Urg(L)/Alr(L)/Resp(R)
+ uM6Level [6] Level,
+
+ -- EXPECT CLIMB AT [time]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM7Time [7] Time,
+
+ -- EXPECT CLIMB AT [position]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM8Position [8] Position,
+
+ -- EXPECT DESCENT AT [time]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM9Time [9] Time,
+
+ -- EXPECT DESCENT AT [position]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM10Position [10] Position,
+
+ -- EXPECT CRUISE CLIMB AT [time]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM11Time [11] Time,
+
+ -- EXPECT CRUISE CLIMB AT [position]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM12Position [12] Position,
+
+ -- AT [time] EXPECT CLIMB TO [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM13TimeLevel [13] TimeLevel,
+
+ -- AT [position] EXPECT CLIMB TO [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM14PositionLevel [14] PositionLevel,
+
+ -- AT [time] EXPECT DESCENT TO [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM15TimeLevel [15] TimeLevel,
+
+ -- AT [position] EXPECT DESCENT TO [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM16PositionLevel [16] PositionLevel,
+
+ -- AT [time] EXPECT CRUISE CLIMB TO [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM17TimeLevel [17] TimeLevel,
+
+ -- AT [position] EXPECT CRUISE CLIMB TO [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM18PositionLevel [18] PositionLevel,
+
+ -- MAINTAIN [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM19Level [19] Level,
+
+ -- CLIMB TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM20Level [20] Level,
+
+ -- AT [time] CLIMB TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM21TimeLevel [21] TimeLevel,
+
+ -- AT [position] CLIMB TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM22PositionLevel [22] PositionLevel,
+
+ -- DESCEND TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM23Level [23] Level,
+
+ -- AT [time] DESCEND TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM24TimeLevel [24] TimeLevel,
+
+ -- AT [position] DESCEND TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM25PositionLevel [25] PositionLevel,
+
+ -- CLIMB TO REACH [level] BY [time]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM26LevelTime [26] LevelTime,
+
+ -- CLIMB TO REACH [level] BY [position]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM27LevelPosition [27] LevelPosition,
+
+ -- DESCEND TO REACH [level] BY [time]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM28LevelTime [28] LevelTime,
+
+ -- DESCEND TO REACH [level] BY [position]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM29LevelPosition [29] LevelPosition,
+
+ -- MAINTAIN BLOCK [level] TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM30LevelLevel [30] LevelLevel,
+
+ -- CLIMB TO AND MAINTAIN BLOCK [level] TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM31LevelLevel [31] LevelLevel,
+
+ -- DESCEND TO AND MAINTAIN BLOCK [level] TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM32LevelLevel [32] LevelLevel,
+
+ -- Reserved
+ -- Urg(L)/Alr(L)/Resp(Y)
+ uM33NULL [33] NULL,
+
+ -- CRUISE CLIMB TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM34Level [34] Level,
+
+ -- CRUISE CLIMB ABOVE [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM35Level [35] Level,
+
+ -- EXPEDITE CLIMB TO [level]
+ -- Urg(U)/Alr(M)/Resp(W/U)
+ uM36Level [36] Level,
+
+ -- EXPEDITE DESCENT TO [level]
+ -- Urg(U)/Alr(M)/Resp(W/U)
+ uM37Level [37] Level,
+
+ -- IMMEDIATELY CLIMB TO [level]
+ -- Urg(D)/Alr(H)/Resp(W/U)
+ uM38Level [38] Level,
+
+ -- IMMEDIATELY DESCEND TO [level]
+ -- Urg(D)/Alr(H)/Resp(W/U)
+ uM39Level [39] Level,
+
+ -- Reserved
+ -- Urg(L)/Alr(L)/Resp(Y)
+ uM40NULL [40] NULL,
+
+ -- Reserved Urg(L)/Alr(L)/Resp(Y)
+ uM41NULL [41] NULL,
+
+ -- EXPECT TO CROSS [position] AT [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM42PositionLevel [42] PositionLevel,
+
+ -- EXPECT TO CROSS [position] AT OR ABOVE [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM43PositionLevel [43] PositionLevel,
+
+ -- EXPECT TO CROSS [position] AT OR BELOW [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM44PositionLevel [44] PositionLevel,
+
+ -- EXPECT TO CROSS [position] AT AND MAINTAIN [level]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM45PositionLevel [45] PositionLevel,
+
+ -- CROSS [position] AT [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM46PositionLevel [46] PositionLevel,
+
+ -- CROSS [position] AT OR ABOVE [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM47PositionLevel [47] PositionLevel,
+
+ -- CROSS [position] AT OR BELOW [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM48PositionLevel [48] PositionLevel,
+
+ -- CROSS [position] AT AND MAINTAIN [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM49PositionLevel [49] PositionLevel,
+
+ -- CROSS [position] BETWEEN [level] AND [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM50PositionLevelLevel [50] PositionLevelLevel,
+
+ -- CROSS [position] AT [time]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM51PositionTime [51] PositionTime,
+
+ -- CROSS [position] AT OR BEFORE [time]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM52PositionTime [52] PositionTime,
+
+ -- CROSS [position] AT OR AFTER [time]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM53PositionTime [53] PositionTime,
+
+ -- CROSS [position] BETWEEN [time] AND [time]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM54PositionTimeTime [54] PositionTimeTime,
+
+ -- CROSS [position] AT [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM55PositionSpeed [55] PositionSpeed,
+
+ -- CROSS [position] AT OR LESS THAN [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM56PositionSpeed [56] PositionSpeed,
+
+ -- CROSS [position] AT OR GREATER THAN [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM57PositionSpeed [57] PositionSpeed,
+
+ -- CROSS [position] AT [time] AT [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM58PositionTimeLevel [58] PositionTimeLevel,
+
+ -- CROSS [position] AT OR BEFORE [time] AT [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM59PositionTimeLevel [59] PositionTimeLevel,
+
+ -- CROSS [position] AT OR AFTER [time] AT [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM60PositionTimeLevel [60] PositionTimeLevel,
+
+ -- CROSS [position] AT AND MAINTAIN [level] AT [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM61PositionLevelSpeed [61] PositionLevelSpeed,
+
+ -- AT [time] CROSS [position] AT AND MAINTAIN [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM62TimePositionLevel [62] TimePositionLevel,
+
+ -- AT [time] CROSS [position] AT AND MAINTAIN [level] AT [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM63TimePositionLevelSpeed [63] TimePositionLevelSpeed,
+
+ -- OFFSET [specifiedDistance] [direction] OF ROUTE
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM64DistanceSpecifiedDirection [64] DistanceSpecifiedDirection,
+
+ -- AT [position] OFFSET [specifiedDistance] [direction] OF ROUTE
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM65PositionDistanceSpecifiedDirection[65] PositionDistanceSpecifiedDirection,
+
+ -- AT [time] OFFSET [specifiedDistance] [direction] OF ROUTE
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM66TimeDistanceSpecifiedDirection [66] TimeDistanceSpecifiedDirection,
+
+ -- PROCEED BACK ON ROUTE
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM67NULL [67] NULL,
+
+ -- REJOIN ROUTE BY [position]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM68Position [68] Position,
+
+ -- REJOIN ROUTE BY [time]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM69Time [69] Time,
+
+ -- EXPECT BACK ON ROUTE BY [position]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM70Position [70] Position,
+
+ -- EXPECT BACK ON ROUTE BY [time]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM71Time [71] Time,
+
+ -- RESUME OWN NAVIGATION
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM72NULL [72] NULL,
+
+ -- [DepartureClearance]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM73DepartureClearance [73] DepartureClearance,
+
+ -- PROCEED DIRECT TO [position]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM74Position [74] Position,
+
+ -- WHEN ABLE PROCEED DIRECT TO [position]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM75Position [75] Position,
+
+ -- AT [time] PROCEED DIRECT TO [position]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM76TimePosition [76] TimePosition,
+
+ -- AT [position] PROCEED DIRECT TO [position]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM77PositionPosition [77] PositionPosition,
+
+ -- AT [level] PROCEED DIRECT TO [position]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM78LevelPosition [78] LevelPosition,
+
+ -- CLEARED TO [position] VIA [routeClearance]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM79PositionRouteClearance [79] PositionRouteClearanceIndex,
+
+ -- CLEARED [routeClearance]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM80RouteClearance [80] RouteClearanceIndex,
+
+ -- CLEARED [procedureName]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM81ProcedureName [81] ProcedureName,
+
+ -- CLEARED TO DEVIATE UP TO [specifiedDistance] [direction] OF ROUTE
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM82DistanceSpecifiedDirection [82] DistanceSpecifiedDirection,
+
+ -- AT [position] CLEARED [routeClearance]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM83PositionRouteClearance [83] PositionRouteClearanceIndex,
+
+ -- AT [position] CLEARED [procedureName]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM84PositionProcedureName [84] PositionProcedureName,
+
+ -- EXPECT [routeClearance]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM85RouteClearance [85] RouteClearanceIndex,
+
+ -- AT [position] EXPECT [routeClearance]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM86PositionRouteClearance [86] PositionRouteClearanceIndex,
+
+ -- EXPECT DIRECT TO [position]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM87Position [87] Position,
+
+ -- AT [position] EXPECT DIRECT TO [position]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM88PositionPosition [88]PositionPosition,
+
+ -- AT [time] EXPECT DIRECT TO [position]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM89TimePosition [89] TimePosition,
+
+
+ -- AT [level] EXPECT DIRECT TO [position]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM90LevelPosition [90] LevelPosition,
+
+ -- HOLD AT [position] MAINTAIN [level] INBOUND TRACK [degrees][direction] TURNS [legtype]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM91HoldClearance [91] HoldClearance,
+
+ -- HOLD AT [position] AS PUBLISHED MAINTAIN [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM92PositionLevel [92] PositionLevel,
+
+ -- EXPECT FURTHER CLEARANCE AT [time]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM93Time [93] Time,
+
+ -- TURN [direction] HEADING [degrees]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM94DirectionDegrees [94] DirectionDegrees,
+
+ -- TURN [direction] GROUND TRACK [degrees]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM95DirectionDegrees [95] DirectionDegrees,
+
+ -- CONTINUE PRESENT HEADING
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM96NULL [96] NULL,
+
+ -- AT [position] FLY HEADING [degrees]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM97PositionDegrees [97] PositionDegrees,
+
+ -- IMMEDIATELY TURN [direction] HEADING [degrees]
+ -- Urg(D)/Alr(H)/Resp(W/U)
+ uM98DirectionDegrees [98] DirectionDegrees,
+
+ -- EXPECT [procedureName]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM99ProcedureName [99] ProcedureName,
+
+ -- AT [time] EXPECT [speed]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM100TimeSpeed [100] TimeSpeed,
+
+ -- AT [position] EXPECT [speed]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM101PositionSpeed [101] PositionSpeed,
+
+ -- AT [level] EXPECT [speed]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM102LevelSpeed [102] LevelSpeed,
+
+ -- AT [time] EXPECT [speed] TO [speed]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM103TimeSpeedSpeed [103] TimeSpeedSpeed,
+
+ -- AT [position] EXPECT [speed] TO [speed]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM104PositionSpeedSpeed [104] PositionSpeedSpeed,
+
+ -- AT [level] EXPECT [speed] TO [speed]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM105LevelSpeedSpeed [105] LevelSpeedSpeed,
+
+ -- MAINTAIN [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM106Speed [106] Speed,
+
+ -- MAINTAIN PRESENT SPEED
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM107NULL [107] NULL,
+
+ -- MAINTAIN [speed] OR GREATER
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM108Speed [108] Speed,
+
+ -- MAINTAIN [speed] OR LESS
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM109Speed [109] Speed,
+
+ -- MAINTAIN [speed] TO [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM110SpeedSpeed [110] SpeedSpeed,
+
+ -- INCREASE SPEED TO [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM111Speed [111] Speed,
+
+ -- INCREASE SPEED TO [speed] OR GREATER
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM112Speed [112] Speed,
+
+ -- REDUCE SPEED TO [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM113Speed [113] Speed,
+
+ -- REDUCE SPEED TO [speed] OR LESS
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM114Speed [114] Speed,
+
+ -- DO NOT EXCEED [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM115Speed [115] Speed,
+
+ -- RESUME NORMAL SPEED
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM116NULL [116] NULL,
+
+ -- CONTACT [unitname] [frequency]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM117UnitNameFrequency [117] UnitNameFrequency,
+
+ -- AT [position] CONTACT [unitname] [frequency]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM118PositionUnitNameFrequency [118] PositionUnitNameFrequency,
+
+ -- AT [time] CONTACT [unitname] [frequency]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM119TimeUnitNameFrequency [119] TimeUnitNameFrequency,
+
+ -- MONITOR [unitname] [frequency]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM120UnitNameFrequency [120] UnitNameFrequency,
+
+ -- AT [position] MONITOR [unitname] [frequency]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM121PositionUnitNameFrequency [121] PositionUnitNameFrequency,
+
+ -- AT [time] MONITOR [unitname] [frequency]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM122TimeUnitNameFrequency [122] TimeUnitNameFrequency,
+
+ -- SQUAWK [code]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM123Code [123] Code,
+
+ -- STOP SQUAWK
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM124NULL [124] NULL,
+
+ -- SQUAWK MODE CHARLIE
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM125NULL [125] NULL,
+
+ -- STOP SQUAWK MODE CHARLIE
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM126NULL [126] NULL,
+
+ -- REPORT BACK ON ROUTE
+ -- Urg(N)/Alr(L)/Resp(W/U)
+ uM127NULL [127] NULL,
+
+ -- REPORT LEAVING [level]
+ -- Urg(N)/Alr(L)/Resp(W/U)
+ uM128Level [128] Level,
+
+ -- REPORT MAINTAINING [level]
+ -- Urg(N)/Alr(L)/Resp(W/U)
+ uM129Level [129] Level,
+
+ -- REPORT PASSING [position]
+ -- Urg(N)/Alr(L)/Resp(W/U)
+ uM130Position [130] Position,
+
+ -- REPORT REMAINING FUEL AND PERSONS ON BOARD
+ -- Urg(U)/Alr(M)/Resp(Y)
+ uM131NULL [131] NULL,
+
+ -- REPORT POSITION
+ -- Urg(N)/Alr(M)/Resp(Y)
+ uM132NULL [132] NULL,
+
+ -- REPORT PRESENT LEVEL
+ -- Urg(N)/Alr(M)/Resp(Y)
+ uM133NULL [133] NULL,
+
+ -- REPORT [speedtype] [speedtype] [speedtype]SPEED
+ -- Urg(N)/Alr(M)/Resp(Y)
+ uM134SpeedTypeSpeedTypeSpeedType [134] SpeedTypeSpeedTypeSpeedType,
+
+ -- CONFIRM ASSIGNED LEVEL
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM135NULL [135] NULL,
+
+ -- CONFIRM ASSIGNED SPEED
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM136NULL [136] NULL,
+
+ -- CONFIRM ASSIGNED ROUTE
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM137NULL [137] NULL,
+
+ -- CONFIRM TIME OVER REPORTED WAYPOINT
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM138NULL [138] NULL,
+
+ -- CONFIRM REPORTED WAYPOINT
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM139NULL [139] NULL,
+
+ -- CONFIRM NEXT WAYPOINT
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM140NULL [140] NULL,
+
+ -- CONFIRM NEXT WAYPOINT ETA
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM141NULL [141] NULL,
+
+ -- CONFIRM ENSUING WAYPOINT
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM142NULL [142] NULL,
+
+ -- CONFIRM REQUEST
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM143NULL [143] NULL,
+
+ -- CONFIRM SQUAWK
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM144NULL [144] NULL,
+
+ -- REPORT HEADING
+ -- Urg(N)/Alr(M)/Resp(Y)
+ uM145NULL [145] NULL,
+
+ -- REPORT GROUND TRACK
+ -- Urg(N)/Alr(M)/Resp(Y)
+ uM146NULL [146] NULL,
+
+ -- REQUEST POSITION REPORT
+ -- Urg(N)/Alr(M)/Resp(Y )
+ uM147NULL [147] NULL,
+
+ -- WHEN CAN YOU ACCEPT [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM148Level [148] Level,
+
+ -- CAN YOU ACCEPT [level] AT [position]
+ -- Urg(N)/Alr(L)/Resp(A/N)
+ uM149LevelPosition [149] LevelPosition,
+
+ -- CAN YOU ACCEPT [level] AT [time]
+ -- Urg(N)/Alr(L)/Resp(A/N)
+ uM150LevelTime [150] LevelTime,
+
+ -- WHEN CAN YOU ACCEPT [speed]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM151Speed [151] Speed,
+
+ -- WHEN CAN YOU ACCEPT [specifiedDistance] [direction] OFFSET
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM152DistanceSpecifiedDirection [152] DistanceSpecifiedDirection,
+
+ -- ALTIMETER [altimeter]
+ -- Urg(N)/Alr(L)/Resp(R)
+ uM153Altimeter [153] Altimeter,
+
+ -- RADAR SERVICE TERMINATED
+ -- Urg(N)/Alr(L)/Resp(R)
+ uM154NULL [154] NULL,
+
+ -- RADAR CONTACT [position]
+ -- Urg(N)/Alr(M)/Resp(R)
+ uM155Position [155] Position,
+
+ -- RADAR CONTACT LOST
+ -- Urg(N)/Alr(M)/Resp(R)
+ uM156NULL [156] NULL,
+
+ -- CHECK STUCK MICROPHONE [frequency]
+ -- Urg(U)/Alr(M)/Resp(N)
+ uM157Frequency [157] Frequency,
+
+ -- ATIS [atiscode]
+ -- Urg(N)/Alr(L)/Resp(R)
+ uM158AtisCode [158] ATISCode,
+
+ -- ERROR [errorInformation]
+ -- Urg(U)/Alr(M)/Resp(N)
+ uM159ErrorInformation [159] ErrorInformation,
+
+ -- NEXT DATA AUTHORITY [facility]
+ -- Urg(L)/Alr(N)/Resp(N)
+ uM160Facility [160] Facility,
+
+ -- END SERVICE
+ -- Urg(L)/Alr(N)/Resp(N)
+ uM161NULL [161] NULL,
+
+ -- SERVICE UNAVAILABLE
+ -- Urg(L)/Alr(L)/Resp(N )
+ uM162NULL [162] NULL,
+
+ -- [facilitydesignation]
+ -- Urg(L)/Alr(N)/Resp(N)
+ uM163FacilityDesignation [163] FacilityDesignation,
+
+ -- WHEN READY
+ -- Urg(L)/Alr(N)/Resp(N)
+ uM164NULL [164] NULL,
+
+ -- THEN
+ -- Urg(L)/Alr(N)/Resp(N)
+ uM165NULL [165] NULL,
+
+ -- DUE TO [traffictype]TRAFFIC
+ -- Urg(L)/Alr(N)/Resp(N)
+ uM166TrafficType [166] TrafficType,
+
+ -- DUE TO AIRSPACE RESTRICTION
+ -- Urg(L)/Alr(N)/Resp(N)
+ uM167NULL [167] NULL,
+
+ -- DISREGARD
+ -- Urg(U)/Alr(M)/Resp(R)
+ uM168NULL [168] NULL,
+
+ -- [freetext]
+ -- Urg(N)/Alr(L)/Resp(R)
+ uM169FreeText [169] FreeText,
+
+ -- [freetext]
+ -- Urg(D)/Alr(H)/Resp(R)
+ uM170FreeText [170] FreeText,
+
+ -- CLIMB AT [verticalRate] MINIMUM
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM171VerticalRate [171] VerticalRate,
+
+ -- CLIMB AT [verticalRate] MAXIMUM
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM172VerticalRate [172] VerticalRate,
+
+ -- DESCEND AT [verticalRate] MINIMUM
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM173VerticalRate [173] VerticalRate,
+
+ -- DESCEND AT [verticalRate] MAXIMUM
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM174VerticalRate [174] VerticalRate,
+
+ -- REPORT REACHING [level]
+ -- Urg(N)/Alr(L)/Resp(W/U)
+ uM175Level [175] Level,
+
+ -- MAINTAIN OWN SEPARATION AND VMC
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM176NULL [176] NULL,
+
+ -- AT PILOTS DISCRETION
+ -- Urg(L)/Alr(L)/Resp(N)
+ uM177NULL [177] NULL,
+
+ -- Reserved
+ -- Urg(L)/Alr(L)/Resp(Y)
+ uM178NULL [178] NULL,
+
+ -- SQUAWK IDENT
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM179NULL [179] NULL,
+
+ -- REPORT REACHING BLOCK [level] TO [level]
+ -- Urg(N)/Alr(L)/Resp(W/U)
+ uM180LevelLevel [180] LevelLevel,
+
+ -- REPORT DISTANCE [tofrom] [position]
+ -- Urg(N)/Alr(M)/Resp(Y)
+ uM181ToFromPosition [181] ToFromPosition,
+
+ -- CONFIRM ATIS CODE
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM182NULL [182] NULL,
+
+ -- [freetext]
+ -- Urg(N)/Alr(M)/Resp(N)
+ uM183FreeText [183] FreeText,
+
+ -- AT [time] REPORT DISTANCE [tofrom] [position]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM184TimeToFromPosition [184] TimeToFromPosition,
+
+ -- AFTER PASSING [position] CLIMB TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM185PositionLevel [185] PositionLevel,
+
+ -- AFTER PASSING [position] DESCEND TO [level]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM186PositionLevel [186] PositionLevel,
+
+ -- [freetext]
+ -- Urg(L)/Alr(N)/Resp(N)
+ uM187FreeText [187] FreeText,
+
+ -- AFTER PASSING [position] MAINTAIN [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM188PositionSpeed [188] PositionSpeed,
+
+ -- ADJUST SPEED TO [speed]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM189Speed [189] Speed,
+
+ -- FLY HEADING [degrees]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM190Degrees [190] Degrees,
+
+ -- ALL ATS TERMINATED
+ -- Urg(N)/Alr(M)/Resp(R)
+ uM191NULL [191] NULL,
+
+ -- REACH [level] BY [time]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM192LevelTime [192] LevelTime,
+
+ -- IDENTIFICATION LOST
+ -- Urg(N)/Alr(M)/Resp(R)
+ uM193NULL [193] NULL,
+
+ -- [freetext]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ uM194FreeText [194] FreeText,
+
+ -- [freetext]
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM195FreeText [195] FreeText,
+
+ -- [freetext]
+ -- Urg(N)/Alr(M)/Resp
+ uM196FreeText [196] FreeText,
+
+ -- [freetext]
+ -- Urg(U)/Alr(M)/Resp(W/U)
+ uM197FreeText [197] FreeText,
+
+ -- [freetext]
+ -- Urg(D)/Alr(H)/Resp(W/U)
+ uM198FreeText [198] FreeText,
+
+ -- [freetext]
+ -- Urg(N)/Alr(L)/Resp(N)
+ uM199FreeText [199] FreeText,
+
+ -- REPORT REACHING
+ -- Urg(N)/Alr(L)/Resp(W/U)
+ uM200NULL [200] NULL,
+
+ -- Not Used
+ -- Urg(L)/Alr(L)/Resp(N)
+ uM201NULL [201] NULL,
+
+ -- Not Used
+ -- Urg(L)/Alr(L)/Resp(N)
+ uM202NULL [202] NULL,
+
+ -- [freetext]
+ -- Urg(N)/Alr(M)/Resp(R)
+ uM203FreeText [203] FreeText,
+
+ -- [freetext]
+ -- Urg(N)/Alr(M)/Resp(Y)
+ uM204FreeText [204] FreeText,
+
+ -- [freetext]
+ -- Urg(N)/Alr(M)/Resp(A/N)
+ uM205FreeText [205] FreeText,
+
+ -- [freetext]
+ -- Urg(L)/Alr(N)/Resp(Y)
+ uM206FreeText [206] FreeText,
+
+ -- [freetext]
+ -- Urg(L)/Alr(L)/Resp(Y)
+ uM207FreeText [207] FreeText,
+
+ -- [freetext]
+ -- Urg(L)/Alr(L)/Resp(N)
+ uM208FreeText [208] FreeText,
+
+ -- REACH [level] BY [position]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM209LevelPosition [209] LevelPosition,
+
+ -- IDENTIFIED [position]
+ -- Urg(N)/Alr(M)/Resp(R)
+ uM210Position [210] Position,
+
+ -- REQUEST FORWARDED
+ -- Urg(N)/Alr(L)/Resp(N)
+ uM211NULL [211] NULL,
+
+ -- [facilitydesignation] ATIS [atiscode] CURRENT
+ -- Urg(N)/Alr(L)/Resp(R)
+ uM212FacilityDesignationATISCode [212] FacilityDesignationATISCode,
+
+ -- [facilitydesignation] ALTIMETER [altimeter]
+ -- Urg(N)/Alr(L)/Resp(R)
+ uM213FacilityDesignationAltimeter [213] FacilityDesignationAltimeter,
+
+ -- RVR RUNWAY [runway] [rvr]
+ -- Urg(N)/Alr(M)/Resp(R)
+ uM214RunwayRVR [214] RunwayRVR,
+
+ -- TURN [direction][degrees]
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM215DirectionDegrees [215] DirectionDegrees,
+
+ -- REQUEST FLIGHT PLAN
+ -- Urg(N)/Alr(M)/Resp(Y)
+ uM216NULL [216] NULL,
+
+ -- REPORT ARRIVAL
+ -- Urg(N)/Alr(M)/Resp(Y)
+ uM217NULL [217] NULL,
+
+ -- REQUEST ALREADY RECEIVED
+ -- Urg(L)/Alr(N)/Resp(N)
+ uM218NULL [218] NULL,
+
+ -- STOP CLIMB AT [level]
+ -- Urg(U)/Alr(M)/Resp(W/U)
+ uM219Level [219] Level,
+
+ -- STOP DESCENT AT [level]
+ -- Urg(U)/Alr(M)/Resp(W/U)
+ uM220Level [220] Level,
+
+ -- STOP TURN HEADING [degrees]
+ -- Urg(U)/Alr(M)/Resp(W/U)
+ uM221Degrees [221] Degrees,
+
+ -- NO SPEED RESTRICTION
+ -- Urg(L)/Alr(L)/Resp(R)
+ uM222NULL [222] NULL,
+
+ -- REDUCE TO MINIMUM APPROACH SPEED
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM223NULL [223] NULL,
+
+ -- NO DELAY EXPECTED
+ -- Urg(N)/Alr(L)/Resp(R)
+ uM224NULL [224] NULL,
+
+ -- DELAY NOT DETERMINED
+ -- Urg(N)/Alr(L)/Resp(R)
+ uM225NULL [225] NULL,
+
+ -- EXPECTED APPROACH TIME [time]
+ -- Urg(N)/Alr(L)/Resp(R)
+ uM226Time [226] Time,
+
+ -- LOGICAL ACKNOWLEDGMENT
+ -- Urg(N)/Alr(M)/Resp(N)
+ uM227NULL [227] NULL,
+
+ -- REPORT ETA [position]
+ --Urg(L)/Alr(L)/Resp(Y)
+ uM228Position [228] Position,
+
+ -- REPORT ALTERNATE AERODROME
+ -- Urg(L)/Alr(L)/Resp(Y)
+ uM229NULL [229] NULL,
+
+ -- IMMEDIATELY
+ -- Urg(D)/Alr(H)/Resp(N)
+ uM230NULL [230] NULL,
+
+ -- STATE PREFERRED LEVEL
+ -- Urg(L)/Alr(L)/Resp(Y)
+ uM231NULL [231] NULL,
+
+ -- STATE TOP OF DESCENT
+ -- Urg(L)/Alr(L)/Resp(Y)
+ uM232NULL [232] NULL,
+
+ -- USE OF LOGICAL ACKNOWLEDGMENT PROHIBITED
+ -- Urg(N)/Alr(M)/Resp(N)
+ uM233NULL [233] NULL,
+
+ -- FLIGHT PLAN NOT HELD
+ -- Urg(L)/Alr(L)/Resp(N)
+ uM234NULL [234] NULL,
+
+ -- ROGER 7500
+ -- Urg(U)/Alr(H)/Resp(N)
+ uM235NULL [235] NULL,
+
+ -- LEAVE CONTROLLED AIRSPACE
+ -- Urg(N)/Alr(M)/Resp(W/U)
+ uM236NULL [236] NULL,
+ ...,
+
+ -- REQUEST AGAIN WITH NEXT UNIT
+ -- Urg(N)/Alr(L)/Resp(N)
+ uM237NULL [237]NULL
+}
+
+------------------------------------------------------------------------------------
+-- Downlink message element
+-- ----------------------------------------------------------------------------------
+ATCDownlinkMsgElementId ::= CHOICE
+{
+ -- WILCO
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM0NULL [0] NULL,
+
+ --UNABLE
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM1NULL [1] NULL,
+
+ -- STANDBY
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM2NULL [2] NULL,
+
+ -- ROGER
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM3NULL [3] NULL,
+
+ -- AFFIRM
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM4NULL [4] NULL,
+
+ -- NEGATIVE
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM5NULL [5] NULL,
+
+ -- REQUEST [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM6Level [6] Level,
+
+ -- REQUEST BLOCK [level] TO [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM7LevelLevel [7] LevelLevel,
+
+ -- REQUEST CRUISE CLIMB TO [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM8Level [8] Level,
+
+ -- REQUEST CLIMB TO [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM9Level [9] Level,
+
+ -- REQUEST DESCENT TO [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM10Level [10] Level,
+
+ -- AT [position] REQUEST CLIMB TO [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM11PositionLevel [11] PositionLevel,
+
+ -- AT [position] REQUEST DESCENT TO [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM12PositionLevel [12] PositionLevel,
+
+ -- AT [time] REQUEST CLIMB TO [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM13TimeLevel [13] TimeLevel,
+
+ -- AT [time] REQUEST DESCENT TO [level]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM14TimeLevel [14] TimeLevel,
+
+ -- REQUEST OFFSET [specifiedDistance] [direction] OF ROUTE
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM15DistanceSpecifiedDirection [15] DistanceSpecifiedDirection,
+
+ -- AT [position] REQUEST OFFSET [specifiedDistance] [direction] OF ROUTE
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM16PositionDistanceSpecifiedDirection [16] PositionDistanceSpecifiedDirection,
+
+ -- AT [time] REQUEST OFFSET [specifiedDistance] [direction] OF ROUTE
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM17TimeDistanceSpecifiedDirection [17] TimeDistanceSpecifiedDirection,
+
+ -- REQUEST [speed]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM18Speed [18] Speed,
+
+ -- REQUEST [speed] TO [speed]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM19SpeedSpeed [19] SpeedSpeed,
+
+ -- REQUEST VOICE CONTACT
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM20NULL [20] NULL,
+
+ -- REQUEST VOICE CONTACT [frequency]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM21Frequency [21] Frequency,
+
+ -- REQUEST DIRECT TO [position]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM22Position [22] Position,
+
+ -- REQUEST [procedureName]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM23ProcedureName [23] ProcedureName,
+
+ -- REQUEST CLEARANCE [routeClearance]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM24RouteClearance [24] RouteClearanceIndex,
+
+ -- REQUEST [clearanceType] CLEARANCE
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM25ClearanceType [25] ClearanceType,
+
+ -- REQUEST WEATHER DEVIATION TO [position] VIA [routeClearance]
+ -- Urg(N)/Alr(M)/Resp(Y)
+ dM26PositionRouteClearance [26] PositionRouteClearanceIndex,
+
+ -- REQUEST WEATHER DEVIATION UP TO [specifiedDistance] [direction] OF ROUTE
+ -- Urg(N)/Alr(M)/Resp(Y)
+ dM27DistanceSpecifiedDirection [27] DistanceSpecifiedDirection,
+
+ -- LEAVING [level]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM28Level [28] Level,
+
+ -- CLIMBING TO [level]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM29Level [29]Level,
+
+ -- DESCENDING TO [level]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM30Level [30] Level,
+
+ -- PASSING [position]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM31Position [31] Position,
+
+ -- PRESENT LEVEL [level]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM32Level [32] Level,
+
+ -- PRESENT POSITION [position]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM33Position [33] Position,
+
+ -- PRESENT SPEED [speed]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM34Speed [34] Speed,
+
+ -- PRESENT HEADING [degrees]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM35Degrees [35] Degrees,
+
+ -- PRESENT GROUND TRACK [degrees]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM36Degrees [36] Degrees,
+
+ -- MAINTAINING [level]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM37Level [37] Level,
+
+ -- ASSIGNED LEVEL [level]
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM38Level [38] Level,
+
+ -- ASSIGNED SPEED [speed]
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM39Speed [39] Speed,
+
+ -- ASSIGNED ROUTE [routeClearance]
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM40RouteClearance [40] RouteClearanceIndex,
+
+ -- BACK ON ROUTE
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM41NULL [41] NULL,
+
+ -- NEXT WAYPOINT [position]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM42Position [42] Position,
+
+ -- NEXT WAYPOINT ETA [time]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM43Time [43] Time,
+
+ -- ENSUING WAYPOINT [position]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM44Position [44] Position,
+
+ -- REPORTED WAYPOINT [position]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM45Position [45] Position,
+
+ -- REPORTED WAYPOINT [time]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM46Time [46] Time,
+
+ -- SQUAWKING [code]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM47Code [47] Code,
+
+ -- POSITION REPORT [positionreport]
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM48PositionReport [48] PositionReport,
+
+ -- WHEN CAN WE EXPECT [speed]
+ -- Urg(L)/Alr(L)/Resp(Y)
+ dM49Speed [49] Speed,
+
+ -- WHEN CAN WE EXPECT [speed] TO [speed]
+ -- Urg(L)/Alr(L)/Resp(Y)
+ dM50SpeedSpeed [50] SpeedSpeed,
+
+ -- WHEN CAN WE EXPECT BACK ON ROUTE
+ -- Urg(L)/Alr(L)/Resp(Y)
+ dM51NULL [51] NULL,
+
+ -- WHEN CAN WE EXPECT LOWER LEVEL
+ -- Urg(L)/Alr(L)/Resp(Y)
+ dM52NULL [52] NULL,
+
+ -- WHEN CAN WE EXPECT HIGHER LEVEL Urg(L)/Alr(L)/Resp(Y)
+ dM53NULL [53] NULL,
+
+ -- WHEN CAN WE EXPECT CRUISE CLIMB TO [level]
+ -- Urg(L)/Alr(L)/Resp(Y)
+ dM54Level [54] Level,
+
+ -- PAN PAN PAN
+ -- Urg(U)/Alr(H)/Resp(Y)
+ dM55NULL [55] NULL,
+
+ -- MAYDAY MAYDAY MAYDAY
+ -- Urg(D)/Alr(H)/Resp(Y)
+ dM56NULL [56] NULL,
+
+ -- [remainingFuel] OF FUEL REMAINING AND [personsonboard] PERSONS ON BOARD
+ -- Urg(U)/Alr(H)/Resp(Y)
+ dM57RemainingFuelPersonsOnBoard [57] RemainingFuelPersonsOnBoard,
+
+ -- CANCEL EMERGENCY
+ -- Urg(U)/Alr(M)/Resp(Y)
+ dM58NULL [58] NULL,
+
+ -- DIVERTING TO [position] VIA [routeClearance]
+ -- Urg(U)/Alr(H)/Resp(Y)
+ dM59PositionRouteClearance [59] PositionRouteClearanceIndex,
+
+ -- OFFSETTING [specifiedDistance] [direction] OF ROUTE
+ -- Urg(U)/Alr(H)/Resp(Y)
+ dM60DistanceSpecifiedDirection [60] DistanceSpecifiedDirection,
+
+ -- DESCENDING TO [level]
+ -- Urg(U)/Alr(H)/Resp(Y)
+ dM61Level [61] Level,
+
+ -- ERROR [errorInformation]
+ -- Urg(U)/Alr(L)/Resp(N)
+ dM62ErrorInformation [62] ErrorInformation,
+
+ -- NOT CURRENT DATA AUTHORITY
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM63NULL [63] NULL,
+
+ -- [facilitydesignation]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM64FacilityDesignation [64] FacilityDesignation,
+
+ -- DUE TO WEATHER
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM65NULL [65] NULL,
+
+ -- DUE TO AIRCRAFT PERFORMANCE
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM66NULL [66] NULL,
+
+ -- [freetext]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM67FreeText [67] FreeText,
+
+ -- [freetext]
+ -- Urg(D)/Alr(H)/Resp(Y)
+ dM68FreeText [68] FreeText,
+
+ -- REQUEST VMC DESCENT
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM69NULL [69] NULL,
+
+ -- REQUEST HEADING [degrees]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM70Degrees [70] Degrees,
+
+ -- REQUEST GROUND TRACK [degrees]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM71Degrees [71] Degrees,
+
+ -- REACHING [level]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM72Level [72] Level,
+
+ -- [versionnumber]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM73Versionnumber [73] VersionNumber,
+
+ -- REQUEST TO MAINTAIN OWN SEPARATION AND VMC
+ -- Urg(L)/Alr(L)/Resp(Y)
+ dM74NULL [74] NULL,
+
+ -- AT PILOTS DISCRETION
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM75NULL [75] NULL,
+
+ -- REACHING BLOCK [level] TO [level]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM76LevelLevel [76] LevelLevel,
+
+ -- ASSIGNED BLOCK [level] TO [level]
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM77LevelLevel [77] LevelLevel,
+
+ -- AT [time] [distance] [tofrom] [position]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM78TimeDistanceToFromPosition [78] TimeDistanceToFromPosition,
+
+ -- ATIS [atiscode]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM79AtisCode [79] ATISCode,
+
+ -- DEVIATING UP TO [specifiedDistance] [direction] OF ROUTE
+ -- Urg(U)/Alr(H)/Resp(Y)
+ dM80DistanceSpecifiedDirection [80] DistanceSpecifiedDirection,
+
+ -- WE CAN ACCEPT [level] AT [time]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM81LevelTime [81] LevelTime,
+
+ -- WE CANNOT ACCEPT [level]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM82Level [82] Level,
+
+ -- WE CAN ACCEPT [speed] AT [time]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM83SpeedTime [83] SpeedTime,
+
+ -- WE CANNOT ACCEPT [speed]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM84Speed [84] Speed,
+
+ -- WE CAN ACCEPT [specifiedDistance] [direction] AT [time]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM85DistanceSpecifiedDirectionTime [85] DistanceSpecifiedDirectionTime,
+
+ -- WE CANNOT ACCEPT [specifiedDistance] [direction]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM86DistanceSpecifiedDirection [86] DistanceSpecifiedDirection,
+
+ -- WHEN CAN WE EXPECT CLIMB TO [level]
+ -- Urg(L)/Alr(L)/Resp(Y)
+ dM87Level [87] Level,
+
+ -- WHEN CAN WE EXPECT DESCENT TO [level]
+ --Urg(L)/Alr(L)/Resp(Y)
+ dM88Level [88] Level,
+
+ -- MONITORING [unitname] [frequency]
+ -- Urg(U)/Alr(M)/Resp(N)
+ dM89UnitnameFrequency [89] UnitNameFrequency,
+
+ -- [freetext]
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM90FreeText [90] FreeText,
+
+ -- [freetext]
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM91FreeText [91] FreeText,
+
+ -- [freetext]
+ -- Urg(L)/Alr(L)/Resp(Y)
+ dM92FreeText [92] FreeText,
+
+ -- [freetext]
+ -- Urg(U)/Alr(H)/Resp(N)
+ dM93FreeText [93] FreeText,
+
+ -- [freetext]
+ -- Urg(D)/Alr(H)/Resp(N)
+ dM94FreeText [94] FreeText,
+
+ -- [freetext]
+ -- Urg(U)/Alr(M)/Resp(N)
+ dM95FreeText [95] FreeText,
+
+ -- [freetext]
+ -- Urg(U)/Alr(L)/Resp(N)
+ dM96FreeText [96] FreeText,
+
+ -- [freetext]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM97FreeText [97] FreeText,
+
+ -- [freetext]
+ -- Urg(N)/Alr(N)/Resp(N)
+ dM98FreeText [98] FreeText,
+
+ -- CURRENT DATA AUTHORITY
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM99NULL [99] NULL,
+
+ -- LOGICAL ACKNOWLEDGMENT
+ -- Urg(N)/Alr(M)/Resp(N)
+ dM100NULL [100] NULL,
+
+ -- REQUEST END OF SERVICE
+ -- Urg(L)/Alr(L)/Resp(Y)
+ dM101NULL [101] NULL,
+
+ -- LANDING REPORT
+ -- Urg(N)/Alr(N)/Resp(N)
+ dM102NULL [102] NULL,
+
+ -- CANCELLING IFR
+ -- Urg(N)/Alr(L)/Resp(Y)
+ dM103NULL [103] NULL,
+
+ -- ETA[position][time]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM104PositionTime [104] PositionTime,
+
+ -- ALTERNATE AERODROME[airport]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM105Airport [105] Airport,
+
+ -- PREFERRED LEVEL[level]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM106Level [106] Level,
+
+ -- NOT AUTHORIZED NEXT DATA AUTHORITY
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM107NULL [107] NULL,
+
+ -- DE-ICING COMPLETE
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM108NULL [108] NULL,
+
+ -- TOP OF DESCENT [time]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM109Time [109] Time,
+
+ -- TOP OF DESCENT [position]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM110Position [110] Position,
+
+ -- TOP OF DESCENT [time] [position]
+ -- Urg(L)/Alr(L)/Resp(N)
+ dM111TimePosition [111] TimePosition,
+
+ -- SQUAWKING 7500
+ -- Urg(U)/Alr(H)/Resp(N)
+ dM112NULL [112] NULL,
+
+ -- [speedType] [speedType] [speedType] SPEED [speed]
+ -- Urg(N)/Alr(L)/Resp(N)
+ dM113SpeedTypeSpeedTypeSpeedTypeSpeed [113] SpeedTypeSpeedTypeSpeedTypeSpeed,
+
+ ...
+}
+
+AircraftAddress ::= BIT STRING (SIZE(24))
+
+AircraftFlightIdentification ::= IA5String (SIZE (2..8))
+
+Airport ::= IA5String (SIZE (4))
+
+Altimeter ::= CHOICE
+{
+ altimeterEnglish [0] AltimeterEnglish,
+ altimeterMetric [1] AltimeterMetric
+}
+
+AltimeterEnglish ::= INTEGER (2200..3200)
+-- unit = Inches Mercury, Range (22.00 .. 32.00), resolution = 0.01
+
+AltimeterMetric ::= INTEGER (7500..12500)
+-- unit = Hectopascal, Range (750.0..1250.0), resolution = 0.1
+
+ATISCode ::= IA5String (SIZE (1))
+
+ATSRouteDesignator ::= IA5String (SIZE (2..7))
+
+ATWAlongTrackWaypoint ::= SEQUENCE
+{
+ position [0] Position,
+ aTWDistance [1] ATWDistance,
+ speed [2] Speed OPTIONAL,
+ aTWLevels [3] ATWLevelSequence OPTIONAL
+}
+
+ATWLevel ::= SEQUENCE
+{
+ atw ATWLevelTolerance,
+ level Level
+}
+
+ATWLevelSequence ::= SEQUENCE SIZE (1..2) OF ATWLevel
+
+ATWLevelTolerance ::= ENUMERATED
+{
+ at (0),
+ atorabove (1),
+ atorbelow (2)
+}
+
+ATWDistance ::= SEQUENCE
+{
+ atwDistanceTolerance ATWDistanceTolerance,
+ distance Distance
+}
+
+ATWDistanceTolerance ::= ENUMERATED
+{
+ plus (0),
+ minus (1)
+}
+
+ClearanceType ::= ENUMERATED
+{
+ noneSpecified (0),
+ approach (1),
+ departure (2),
+ further (3),
+ start-up (4),
+ pushback (5),
+ taxi (6),
+ take-off (7),
+ landing (8),
+ oceanic (9),
+ en-route (10),
+ downstream (11),
+ ...
+}
+
+Code ::= SEQUENCE SIZE (4) OF CodeOctalDigit
+
+CodeOctalDigit ::= INTEGER (0..7)
+
+ControlledTime ::= SEQUENCE
+{
+ time Time,
+ timeTolerance TimeTolerance
+}
+
+Date ::= SEQUENCE
+{
+ year Year,
+ month Month,
+ day Day
+}
+
+DateTimeGroup ::= SEQUENCE
+{
+ date Date,
+ timehhmmss Timehhmmss
+}
+
+Day ::= INTEGER (1..31)
+--unit = Day, Range (1..31), resolution = 1
+
+DegreeIncrement ::= INTEGER (1..20)
+--unit = Degree, Range (1..20), resolution = 1
+
+Degrees ::= CHOICE
+{
+ degreesMagnetic [0] DegreesMagnetic,
+ degreesTrue [1] DegreesTrue
+}
+
+DegreesMagnetic ::= INTEGER (1..360)
+--unit = degree, Range (1..360), resolution = 1
+
+DegreesTrue ::= INTEGER (1..360)
+--unit = degree, Range (1..360), resolution = 1
+
+DepartureClearance ::= SEQUENCE
+{
+ aircraftFlightIdentification [0] AircraftFlightIdentification,
+ clearanceLimit [1] Position,
+ flightInformation [2] FlightInformation OPTIONAL,
+ furtherInstructions [3] FurtherInstructions OPTIONAL
+}
+
+DepartureMinimumInterval ::= INTEGER (1..150)
+--unit = Minute, Range (0.1..15.0), resolution = 0.1
+
+Direction ::= ENUMERATED
+{
+ left (0),
+ right (1),
+ eitherSide (2),
+ north (3),
+ south (4),
+ east (5),
+ west (6),
+ northEast (7),
+ northWest (8),
+ southEast (9),
+ southWest (10)
+}
+
+DirectionDegrees ::= SEQUENCE
+{
+ direction Direction,
+ degrees Degrees
+}
+
+Distance ::= CHOICE
+{
+ distanceNm [0] DistanceNm,
+ distanceKm [1] DistanceKm
+}
+
+
+DistanceKm ::= INTEGER (0..8000)
+-- unit = Kilometer, Range (0..2000), resolution = 0.25
+
+DistanceNm ::= INTEGER (0..9999)
+-- unit = Nautical Mile, Range (0..999.9), resolution = 0.1
+
+DistanceSpecified ::= CHOICE
+{
+ distanceSpecifiedNm [0] DistanceSpecifiedNm,
+ distanceSpecifiedKm [1] DistanceSpecifiedKm
+}
+
+
+DistanceSpecifiedDirection ::= SEQUENCE
+{
+ distanceSpecified DistanceSpecified,
+ direction Direction
+}
+
+DistanceSpecifiedDirectionTime ::= SEQUENCE
+{
+ distanceSpecifiedDirection DistanceSpecifiedDirection,
+ time Time
+}
+
+DistanceSpecifiedKm ::= INTEGER (1..500)
+-- unit = Kilometer, Range (1..500), resolution = 1
+
+DistanceSpecifiedNm ::= INTEGER (1..250)
+-- unit = Nautical Mile, Range (1..250), resolution = 1
+
+ErrorInformation ::= ENUMERATED
+{
+ unrecognizedMsgReferenceNumber (0),
+ logicalAcknowledgmentNotAccepted (1),
+ insufficientResources (2),
+ invalidMessageElementCombination (3),
+ invalidMessageElement (4),
+ ...
+}
+
+Facility ::= CHOICE{
+ noFacility [0] NULL,
+ facilityDesignation [1] FacilityDesignation
+}
+
+FacilityDesignation ::= IA5String (SIZE (4..8))
+
+FacilityFunction ::= ENUMERATED
+{
+ center (0),
+ approach (1),
+ tower (2),
+ final (3),
+ groundControl (4),
+ clearanceDelivery (5),
+ departure (6),
+ control (7),
+ radio (8),
+ ...
+}
+
+FacilityDesignationAltimeter ::= SEQUENCE
+{
+ facilityDesignation FacilityDesignation,
+ altimeter Altimeter
+}
+
+FacilityDesignationATISCode ::= SEQUENCE
+{
+ facilityDesignation FacilityDesignation,
+ aTISCode ATISCode
+}
+
+FacilityName ::= IA5String (SIZE (3..18))
+
+Fix ::= IA5String (SIZE (1..5))
+
+FixName ::= SEQUENCE
+{
+ name [0] Fix,
+ latlon [1] LatitudeLongitude OPTIONAL
+}
+
+FlightInformation ::= CHOICE
+{
+ routeOfFlight [0] RouteInformation,
+ levelsOfFlight [1] LevelsOfFlight,
+ routeAndLevels [2] RouteAndLevels
+}
+
+FreeText ::= IA5String (SIZE (1..256))
+
+Frequency ::= CHOICE
+{
+ frequencyhf [0] Frequencyhf,
+ frequencyvhf [1] Frequencyvhf,
+ frequencyuhf [2] Frequencyuhf,
+ frequencysatchannel [3] Frequencysatchannel
+}
+
+Frequencyhf ::= INTEGER (2850..28000)
+-- unit = Kilohertz, Range (2850..28000), resolution = 1
+
+Frequencysatchannel ::= NumericString (SIZE (12))
+-- Frequencysatchannel corresponds to a 12 digit telephone number
+
+Frequencyuhf ::= INTEGER (9000..15999)
+-- unit = Megahertz, Range (225.000..399.975), resolution = 0.025
+
+Frequencyvhf ::= INTEGER (23600..27398)
+-- unit = Megahertz, Range (118.000..136.990), resolution = 0.005
+
+FurtherInstructions ::= SEQUENCE
+{
+ code [0] Code OPTIONAL,
+ frequencyDeparture [1] UnitNameFrequency OPTIONAL,
+ clearanceExpiryTime [2] Time OPTIONAL,
+ airportDeparture [3] Airport OPTIONAL,
+ airportDestination [4] Airport OPTIONAL,
+ timeDeparture [5] TimeDeparture OPTIONAL,
+ runwayDeparture [6] Runway OPTIONAL,
+ revisionNumber [7] RevisionNumber OPTIONAL,
+ aTISCode [8] ATISCode OPTIONAL
+}
+
+
+Holdatwaypoint ::= SEQUENCE
+{
+ position [0] Position,
+ holdatwaypointspeedlow [1] Speed OPTIONAL,
+ aTWlevel [2] ATWLevel OPTIONAL,
+ holdatwaypointspeedhigh [3] Speed OPTIONAL,
+ direction [4] Direction OPTIONAL,
+ degrees [5] Degrees OPTIONAL,
+ eFCtime [6] Time OPTIONAL,
+ legtype [7] LegType OPTIONAL
+}
+
+HoldClearance ::= SEQUENCE
+{
+ position [0] Position,
+ level [1] Level,
+ degrees [2] Degrees,
+ direction [3] Direction,
+ legType [4] LegType OPTIONAL
+}
+
+
+Humidity ::= INTEGER (0..100)
+-- unit = Percent humidity, Range (0..100), resolution = 1
+
+InterceptCourseFrom ::= SEQUENCE
+{
+ fromSelection InterceptCourseFromSelection,
+ degrees Degrees
+}
+
+InterceptCourseFromSelection ::= CHOICE
+{
+ publishedIdentifier [0] PublishedIdentifier,
+ latitudeLongitude [1] LatitudeLongitude,
+ placeBearingPlaceBearing [2] PlaceBearingPlaceBearing,
+ placeBearingDistance [3] PlaceBearingDistance
+}
+
+Icing ::= ENUMERATED
+{
+ reserved (0),
+ light (1),
+ moderate (2),
+ severe (3)
+}
+
+
+Latitude ::= SEQUENCE
+{
+ latitudeType LatitudeType,
+ latitudeDirection LatitudeDirection
+}
+
+LatitudeDegrees ::= INTEGER (0..90000)
+-- unit = Degree, Range (0..90), resolution = 0.001
+
+LatitudeDegreesMinutes ::= SEQUENCE
+{
+ latitudeWholeDegrees LatitudeWholeDegrees,
+ minutesLatLon MinutesLatLon
+}
+
+LatitudeDegreesMinutesSeconds ::= SEQUENCE
+{
+ latitudeWholeDegrees LatitudeWholeDegrees,
+ latlonWholeMinutes LatLonWholeMinutes,
+ secondsLatLon SecondsLatLon
+}
+
+LatitudeDirection ::= ENUMERATED
+{
+ north (0),
+ south (1)
+}
+
+LatitudeWholeDegrees ::= INTEGER (0..89)
+-- unit = Degree, Range (0..89), resolution = 1
+
+LatitudeLongitude ::= SEQUENCE
+{
+ latitude [0] Latitude OPTIONAL,
+ longitude [1] Longitude OPTIONAL
+}
+
+LatitudeReportingPoints ::= SEQUENCE
+{
+ latitudeDirection LatitudeDirection,
+ latitudeDegrees LatitudeDegrees
+}
+
+LatitudeType ::= CHOICE
+{
+ latitudeDegrees [0] LatitudeDegrees,
+ latitudeDegreesMinutes [1] LatitudeDegreesMinutes,
+ latitudeDMS [2] LatitudeDegreesMinutesSeconds
+}
+
+LatLonWholeMinutes ::= INTEGER (0..59)
+-- unit = Minute, Range (0..59), resolution = 1
+
+LatLonReportingPoints ::= CHOICE
+{
+ latitudeReportingPoints [0] LatitudeReportingPoints,
+ longitudeReportingPoints [1] LongitudeReportingPoints
+}
+
+LegDistance ::= CHOICE
+{
+ legDistanceEnglish [0] LegDistanceEnglish,
+ legDistanceMetric [1] LegDistanceMetric
+}
+
+LegDistanceEnglish ::= INTEGER (0..50)
+-- unit = Nautical Mile, Range (0..50), resolution = 1
+
+LegDistanceMetric ::= INTEGER (1..128)
+-- unit = Kilometer, Range (1..128), resolution = 1
+
+LegTime ::= INTEGER (0..10)
+--unit = Minute, Range (0..10), resolution = 1
+
+LegType ::= CHOICE
+{
+ legDistance [0] LegDistance,
+ legTime [1] LegTime
+}
+
+Level ::= CHOICE
+{
+ singleLevel [0] LevelType,
+ blockLevel [1] SEQUENCE SIZE (2) OF LevelType
+}
+
+LevelFeet ::= INTEGER (-60..7000)
+--unit = Feet, Range (-600..70000), resolution = 10
+
+LevelFlightLevel ::= INTEGER (30..700)
+--unit = Level (100 Feet), Range (030..700), resolution = 1
+
+LevelFlightLevelMetric ::= INTEGER (100..2500)
+--unit = Level (10 Meters), Range (100..2500), resolution = 1
+LevelLevel ::= SEQUENCE SIZE (2) OF Level
+LevelMeters ::= INTEGER (-30..25000)
+--unit = Meter, Range (-30..25000), resolution = 1
+
+LevelPosition ::= SEQUENCE
+{
+ level Level,
+ position Position
+}
+
+LevelProcedureName ::= SEQUENCE
+{
+ level Level,
+ procedureName ProcedureName
+}
+
+LevelsOfFlight ::= CHOICE
+{
+ level [0] Level,
+ procedureName [1] ProcedureName,
+ levelProcedureName [2] LevelProcedureName
+}
+
+LevelSpeed ::= SEQUENCE
+{
+ level Level,
+ speed SpeedSpeed
+}
+
+LevelSpeedSpeed ::= SEQUENCE
+{
+ level Level,
+ speeds SpeedSpeed
+}
+
+LevelTime ::= SEQUENCE
+{
+ level Level,
+ time Time
+}
+
+LevelType ::= CHOICE
+{
+ levelFeet [0] LevelFeet,
+ levelMeters [1] LevelMeters,
+ levelFlightLevel [2] LevelFlightLevel,
+ levelFlightLevelMetric [3] LevelFlightLevelMetric
+}
+
+Longitude ::= SEQUENCE
+{
+ longitudeType LongitudeType,
+ longitudeDirection LongitudeDirection
+}
+
+LongitudeDegrees ::= INTEGER (0..180000)
+--unit = Degree, Range (0..180), resolution = 0.001
+
+LongitudeDegreesMinutes ::= SEQUENCE
+{
+ longitudeWholeDegrees LongitudeWholeDegrees,
+ minutesLatLon MinutesLatLon
+}
+
+LongitudeDegreesMinutesSeconds ::= SEQUENCE
+{
+ longitudeWholeDegrees LongitudeWholeDegrees,
+ latLonWholeMinutes LatLonWholeMinutes,
+ secondsLatLon SecondsLatLon
+}
+
+LongitudeDirection ::= ENUMERATED
+{
+ east (0),
+ west (1)
+}
+
+LongitudeWholeDegrees ::= INTEGER (0..179)
+-- unit = Degree, Range (0..179), resolution = 1
+
+LongitudeReportingPoints ::= SEQUENCE
+{
+ longitudeDirection LongitudeDirection,
+ longitudeDegrees LongitudeDegrees
+}
+
+LongitudeType ::= CHOICE
+{
+ longitudeDegrees [0] LongitudeDegrees,
+ longitudeDegreesMinutes [1] LongitudeDegreesMinutes,
+ longitudeDMS [2] LongitudeDegreesMinutesSeconds
+}
+
+MinutesLatLon ::= INTEGER (0..5999)
+--unit = Minute, Range (0..59.99), resolution = 0.01
+
+Month ::= INTEGER (1..12)
+--unit = 1 Month, Range (1..12), resolution = 1
+
+Navaid ::= SEQUENCE
+{
+ name [0] NavaidName,
+ latlon [1] LatitudeLongitude OPTIONAL
+}
+
+NavaidName ::= IA5String (SIZE (1..4))
+
+PersonsOnBoard ::= INTEGER (1..1024)
+
+PlaceBearing ::= SEQUENCE
+{
+ publishedIdentifier PublishedIdentifier,
+ degrees Degrees
+}
+
+PlaceBearingDistance ::= SEQUENCE
+{
+ publishedIdentifier PublishedIdentifier,
+ degrees Degrees,
+ distance Distance
+}
+
+PlaceBearingPlaceBearing ::= SEQUENCE SIZE (2) OF PlaceBearing
+
+Position ::= CHOICE
+{
+ fixName [0] FixName,
+ navaid [1] Navaid,
+ airport [2] Airport,
+ latitudeLongitude [3] LatitudeLongitude,
+ placeBearingDistance [4] PlaceBearingDistance
+}
+
+PositionDegrees ::= SEQUENCE
+{
+ position Position,
+ degrees Degrees
+}
+
+
+PositionDistanceSpecifiedDirection ::= SEQUENCE
+{
+ position Position,
+ distanceSpecifiedDirection DistanceSpecifiedDirection
+}
+
+PositionLevel ::= SEQUENCE
+{
+ position Position,
+ level Level
+}
+
+PositionLevelLevel ::= SEQUENCE
+{
+ position Position,
+ levels LevelLevel
+}
+
+PositionLevelSpeed ::= SEQUENCE
+{
+ positionlevel PositionLevel,
+ speed Speed
+}
+
+PositionPosition ::= SEQUENCE SIZE (2) OF Position
+
+PositionProcedureName ::= SEQUENCE
+{
+ position Position,
+ procedureName ProcedureName
+}
+
+PositionReport ::= SEQUENCE
+{
+ positioncurrent [0] Position,
+ timeatpositioncurrent [1] Time,
+ level [2] Level,
+ fixnext [3] Position OPTIONAL,
+ timeetaatfixnext [4] Time OPTIONAL,
+ fixnextplusone [5] Position OPTIONAL,
+ timeetaatdestination [6] Time OPTIONAL,
+ remainingFuel [7] RemainingFuel OPTIONAL,
+ temperature [8] Temperature OPTIONAL,
+ winds [9] Winds OPTIONAL,
+ turbulence [10] Turbulence OPTIONAL,
+ icing [11] Icing OPTIONAL,
+ speed [12] Speed OPTIONAL,
+ speedground [13] SpeedGround OPTIONAL,
+ verticalChange [14] VerticalChange OPTIONAL,
+ trackAngle [15] Degrees OPTIONAL,
+ heading [16] Degrees OPTIONAL,
+ distance [17] Distance OPTIONAL,
+ humidity [18] Humidity OPTIONAL,
+ reportedWaypointPosition[19] Position OPTIONAL,
+ reportedWaypointTime [20] Time OPTIONAL,
+ reportedWaypointLevel [21] Level OPTIONAL
+}
+
+PositionRouteClearanceIndex ::= SEQUENCE
+{
+ position Position,
+ routeClearanceIndex RouteClearanceIndex
+}
+
+PositionSpeed ::= SEQUENCE
+{
+ position Position,
+ speed Speed
+}
+
+PositionSpeedSpeed ::= SEQUENCE
+{
+ position Position,
+ speeds SpeedSpeed
+}
+
+PositionTime ::= SEQUENCE
+{
+ position Position,
+ time Time
+}
+
+PositionTimeLevel ::= SEQUENCE
+{
+ positionTime PositionTime,
+ level Level
+}
+
+PositionTimeTime ::= SEQUENCE
+{
+ position Position,
+ times TimeTime
+}
+
+PositionUnitNameFrequency ::= SEQUENCE
+{
+ position Position,
+ unitname UnitName,
+ frequency Frequency
+}
+
+Procedure ::= IA5String (SIZE (1..20))
+
+ProcedureName ::= SEQUENCE
+{
+ type [0] ProcedureType,
+ procedure [1] Procedure,
+ transition [2] ProcedureTransition OPTIONAL
+}
+
+ProcedureTransition ::= IA5String (SIZE (1..5))
+
+ProcedureType ::= ENUMERATED
+{
+ arrival (0),
+ approach (1),
+ departure (2)
+}
+
+PublishedIdentifier ::= CHOICE
+{
+ fixName [0] FixName,
+ navaid [1] Navaid
+}
+
+RemainingFuel ::= Time
+
+RemainingFuelPersonsOnBoard ::= SEQUENCE
+{
+ remainingFuel RemainingFuel,
+ personsOnBoard PersonsOnBoard
+}
+
+ReportingPoints ::= SEQUENCE
+{
+ latLonReportingPoints [0] LatLonReportingPoints,
+ degreeIncrement [1] DegreeIncrement OPTIONAL
+}
+
+RevisionNumber ::= INTEGER (1..16)
+
+RouteAndLevels ::= SEQUENCE
+{
+ routeOfFlight RouteInformation,
+ levelsOfFlight LevelsOfFlight
+}
+
+RouteClearance ::= SEQUENCE
+{
+ airportDeparture [0] Airport OPTIONAL,
+ airportDestination [1] Airport OPTIONAL,
+ runwayDeparture [2] Runway OPTIONAL,
+ procedureDeparture [3] ProcedureName OPTIONAL,
+ runwayArrival [4] Runway OPTIONAL,
+ procedureApproach [5] ProcedureName OPTIONAL,
+ procedureArrival [6] ProcedureName OPTIONAL,
+ routeInformations [7] SEQUENCE SIZE (1..128) OF RouteInformation OPTIONAL,
+ routeInformationAdditional [8] RouteInformationAdditional OPTIONAL
+}
+
+RouteClearanceIndex ::= INTEGER (1..2)
+-- RouteClearanceIndex identifies the position of the RouteClearance data
+-- in the ASN.1 type for
+-- ATC UplinkMessage, constrained Data, routeClearance Data
+-- ATC DownlinkMessage, constrained Data, routeClearance Data
+
+RouteInformation ::= CHOICE
+{
+ publishedIdentifier [0] PublishedIdentifier,
+ latitudeLongitude [1] LatitudeLongitude,
+ placeBearingPlaceBearing [2] PlaceBearingPlaceBearing,
+ placeBearingDistance [3] PlaceBearingDistance,
+ aTSRouteDesignator [4] ATSRouteDesignator
+}
+
+
+RouteInformationAdditional ::= SEQUENCE
+{
+ aTWAlongTrackWaypoints [0] SEQUENCE SIZE (1..8) OF ATWAlongTrackWaypoint OPTIONAL,
+ reportingpoints [1] ReportingPoints OPTIONAL,
+ interceptCourseFroms [2] SEQUENCE SIZE (1..4) OF InterceptCourseFrom OPTIONAL,
+ holdAtWaypoints [3] SEQUENCE SIZE (1..8) OF Holdatwaypoint OPTIONAL,
+ waypointSpeedLevels [4] SEQUENCE SIZE (1..32) OF WaypointSpeedLevel OPTIONAL,
+ rTARequiredTimeArrivals [5] SEQUENCE SIZE (1..32) OF RTARequiredTimeArrival OPTIONAL
+}
+
+RTARequiredTimeArrival ::= SEQUENCE
+{
+ position [0] Position,
+ rTATime [1] RTATime,
+ rTATolerance [2] RTATolerance OPTIONAL
+}
+
+RTATime ::= SEQUENCE
+{
+ time Time,
+ timeTolerance TimeTolerance
+}
+
+RTATolerance ::= INTEGER (1..150)
+--unit= Minute, Range (0.1..15.0), resolution = 0.1
+
+Runway ::= SEQUENCE
+{
+ direction RunwayDirection,
+ configuration RunwayConfiguration
+}
+
+RunwayDirection ::= INTEGER (1..36)
+
+RunwayConfiguration ::= ENUMERATED
+{
+ left (0),
+ right (1),
+ center (2),
+ none (3)
+}
+
+RunwayRVR ::= SEQUENCE
+{
+ runway Runway,
+ rVR RVR
+}
+
+RVR ::= CHOICE
+{
+ rVRFeet [0] RVRFeet,
+ rVRMeters [1] RVRMeters
+}
+
+RVRFeet ::= INTEGER (0..6100)
+-- unit = Feet, Range (0..6100), resolution = 1
+
+RVRMeters ::= INTEGER (0..1500)
+-- unit = Meters (0..1500), resolution = 1
+
+SecondsLatLon ::= INTEGER (0..59)
+--unit = Second, Range (0.. 59), resolution = 1
+
+Speed ::= CHOICE
+{
+ speedIndicated [0] SpeedIndicated,
+ speedIndicatedMetric [1] SpeedIndicatedMetric,
+ speedTrue [2] SpeedTrue,
+ speedTrueMetric [3] SpeedTrueMetric,
+ speedGround [4] SpeedGround,
+ speedGroundMetric [5] SpeedGroundMetric,
+ speedMach [6] SpeedMach
+}
+
+SpeedIndicated ::= INTEGER (0..400)
+-- unit = Knots, Range (0..400), resolution = 1
+
+SpeedIndicatedMetric ::= INTEGER (0..800)
+-- unit = Kilometers/Hour, Range (0..800), resolution = 1
+
+SpeedGround ::= INTEGER (-50..2000)
+-- unit = Knots, Range (-50..2000), resolution = 1
+
+SpeedGroundMetric ::= INTEGER (-100..4000)
+-- unit = Kilometers/Hour, Range (-100..4000), resolution = 1
+
+SpeedMach ::= INTEGER (500..4000)
+-- unit = Mach Range (0.5 to 4.0), resolution = 0.001
+
+SpeedSpeed ::= SEQUENCE SIZE (2) OF Speed
+SpeedTime ::= SEQUENCE
+{
+ speed Speed,
+ time Time
+}
+
+SpeedTrue ::= INTEGER (0..2000)
+-- unit = Knots, Range (0..2000), resolution = 1
+
+SpeedTrueMetric ::= INTEGER (0..4000)
+-- unit = Kilometers/Hour, Range (0..4000), resolution = 1
+
+SpeedType ::= ENUMERATED
+{
+ noneSpecified (0),
+ indicated (1),
+ true (2),
+ ground (3),
+ mach (4),
+ approach (5),
+ cruise (6),
+ minimum (7),
+ maximum (8),
+ ...
+}
+
+SpeedTypeSpeedTypeSpeedType ::= SEQUENCE SIZE (3) OF SpeedType
+
+SpeedTypeSpeedTypeSpeedTypeSpeed ::= SEQUENCE
+{
+ speedTypes SpeedTypeSpeedTypeSpeedType,
+ speed Speed
+}
+
+Temperature ::= INTEGER (-100..100)
+-- unit = Degree Celsius, Range (-100..100), resolution = 1
+
+Time ::= SEQUENCE
+{
+ hours TimeHours,
+ minutes TimeMinutes
+}
+
+TimeLevel ::= SEQUENCE
+{
+ time Time,
+ level Level
+}
+
+TimeDeparture ::= SEQUENCE
+{
+ timeDepartureAllocated [0] Time OPTIONAL,
+ timeDepartureControlled [1] ControlledTime OPTIONAL,
+ timeDepartureClearanceExpected [2] Time OPTIONAL,
+ departureMinimumInterval [3] DepartureMinimumInterval OPTIONAL
+}
+
+
+TimeDistanceSpecifiedDirection ::= SEQUENCE
+{
+ time Time,
+ distanceSpecifiedDirection DistanceSpecifiedDirection
+}
+
+TimeDistanceToFromPosition ::= SEQUENCE
+{
+ time Time,
+ distance Distance,
+ tofrom ToFrom,
+ position Position
+}
+
+Timehhmmss ::= SEQUENCE
+{
+ hoursminutes Time,
+ seconds TimeSeconds
+}
+
+TimeHours ::= INTEGER (0..23)
+-- unit = Hour, Range (0..23), resolution = 1
+
+TimeUnitNameFrequency ::= SEQUENCE
+{
+ time Time,
+ unitName UnitName,
+ frequency Frequency
+}
+
+TimeMinutes ::= INTEGER (0..59)
+-- unit = Minute, Range (0..59), resolution = 1
+
+TimePosition ::= SEQUENCE
+{
+ time Time,
+ position Position
+}
+
+TimePositionLevel ::= SEQUENCE
+{
+ timeposition TimePosition,
+ level Level
+}
+
+TimePositionLevelSpeed ::= SEQUENCE
+{
+ timeposition TimePosition,
+ levelspeed LevelSpeed
+}
+
+TimeSeconds ::= INTEGER (0..59)
+-- unit = Second, Range (0..59), resolution = 1
+
+TimeSpeed ::= SEQUENCE
+{
+ time Time,
+ speed Speed
+}
+
+TimeSpeedSpeed ::= SEQUENCE
+{
+ time Time,
+ speedspeed SpeedSpeed
+}
+
+TimeTime ::= SEQUENCE SIZE (2) OF Time
+
+TimeToFromPosition ::= SEQUENCE
+{
+ time Time,
+ tofrom ToFrom,
+ position Position
+}
+TimeTolerance ::= ENUMERATED
+{
+ at (0),
+ atorafter (1),
+ atorbefore(2)
+}
+
+ToFrom ::= ENUMERATED
+{
+ to (0),
+ from (1)
+}
+
+ToFromPosition ::= SEQUENCE
+{
+ toFrom ToFrom,
+ position Position
+}
+
+TrafficType ::= ENUMERATED
+{
+ noneSpecified (0),
+ oppositeDirection (1),
+ sameDirection (2),
+ converging (3),
+ crossing (4),
+ diverging (5),
+ ...
+}
+
+Turbulence ::= ENUMERATED
+{
+ light (0),
+ moderate (1),
+ severe (2)
+}
+
+UnitName ::= SEQUENCE
+{
+ facilityDesignation [0] FacilityDesignation,
+ facilityName [1] FacilityName OPTIONAL,
+ facilityFunction [2] FacilityFunction
+}
+
+UnitNameFrequency ::= SEQUENCE
+{
+ unitName UnitName,
+ frequency Frequency
+}
+
+VersionNumber ::= INTEGER (0..15)
+
+VerticalChange ::= SEQUENCE
+{
+ direction VerticalDirection,
+ rate VerticalRate
+}
+
+VerticalDirection ::= ENUMERATED
+{
+ up (0),
+ down (1)
+}
+
+VerticalRate ::= CHOICE
+{
+ verticalRateEnglish [0] VerticalRateEnglish,
+ verticalRateMetric [1] VerticalRateMetric
+}
+
+VerticalRateEnglish ::= INTEGER (0..3000)
+-- unit = Feet/Minute, Range (0..30000), resolution = 10
+
+VerticalRateMetric ::= INTEGER (0..1000)
+-- unit = Meters/Minute, Range (0..10000), resolution = 10
+
+WaypointSpeedLevel ::= SEQUENCE
+{
+ position [0] Position,
+ speed [1] Speed OPTIONAL,
+ aTWLevels [2] ATWLevelSequence OPTIONAL
+}
+
+WindDirection ::= INTEGER (1..360)
+-- unit = Degree, Range (1..360), resolution = 1
+
+Winds ::= SEQUENCE
+{
+ direction WindDirection,
+ speed WindSpeed
+}
+
+WindSpeed ::= CHOICE
+{
+ windSpeedEnglish [0] WindSpeedEnglish,
+ windSpeedMetric [1] WindSpeedMetric
+}
+
+WindSpeedEnglish ::= INTEGER (0..255)
+-- unit = Knot, Range (0..255), resolution = 1
+
+WindSpeedMetric ::= INTEGER (0..511)
+-- unit = Kilometer/Hour, Range (0..511), resolution = 1
+
+Year ::= INTEGER (1996..2095)
+-- unit = Year, Range (1996..2095), resolution = 1
+
+END
+
+
+--
+-- Editor modelines - https://www.wireshark.org/tools/modelines.html
+--
+-- Local variables:
+-- c-basic-offset: 4
+-- tab-width: 8
+-- indent-tabs-mode: nil
+-- End:
+--
+-- vi: set shiftwidth=4 tabstop=8 expandtab:
+-- :indentSize=4:tabSize=8:noTabs=true:
+--
diff --git a/epan/dissectors/asn1/atn-cpdlc/atn-cpdlc.cnf b/epan/dissectors/asn1/atn-cpdlc/atn-cpdlc.cnf
new file mode 100644
index 00000000..ca700443
--- /dev/null
+++ b/epan/dissectors/asn1/atn-cpdlc/atn-cpdlc.cnf
@@ -0,0 +1,134 @@
+#.MODULE_IMPORT
+#.END
+
+#.EXPORTS
+#.END
+
+#.OMIT_ASSIGNMENT
+#.END
+
+#.PDU
+ AircraftPDUs
+ GroundPDUs
+ ProtectedAircraftPDUs
+ ProtectedGroundPDUs
+#.END
+
+
+#.FIELD_RENAME
+AircraftPDUs/send aircraftpdus_send
+GroundPDUs/send groundpdus_send
+ATCUplinkMessageData/constrainedData atcuplinkmessagedata_constraineddata
+ATCDownlinkMessageData/constrainedData atcdownlinkmessagedata_constraineddata
+ATCDownlinkMessageData/elementIds/_item atcdownlinkmessagedata_elementids_item
+ATCUplinkMessageData/elementIds/_item atcuplinkmessagedata_elementids_item
+ATCDownlinkMessageData/elementIds atcdownlinkmessagedata_elementids
+ATCUplinkMessageData/elementIds atcuplinkmessagedata_elementids
+ATCUplinkMessage/messageData atcuplinkmessage_messagedata
+ATCDownlinkMessage/messageData atcdownlinkmessage_messagedata
+Runway/direction runway_direction
+Winds/direction winds_direction
+DirectionDegrees/direction direction
+DistanceSpecifiedDirection/direction direction
+Holdatwaypoint/direction direction
+HoldClearance/direction direction
+VerticalChange/direction vertical_direction
+FixName/name fixname_name
+Navaid/name navaid_name
+Winds/speed winds_speed
+LevelSpeed/speed levelspeed_speed
+ProtectedGroundPDUs/abortProvider pmcpdlcproviderabortreason
+ProtectedAircraftPDUs/abortProvider pmcpdlcproviderabortreason
+ProtectedGroundPDUs/abortUser pmcpdlcuserabortreason
+ProtectedAircraftPDUs/abortUser pmcpdlcuserabortreason
+ProtectedStartDownMessage/mode protectedmode
+ProtectedGroundPDUs/send protecteduplinkmessage
+ProtectedStartDownMessage/startDownlinkMessage protecteddownlinkmessage
+ProtectedGroundPDUs/startup protecteduplinkmessage
+ProtectedAircraftPDUs/startdown protectedstartDownmessage
+#.END
+
+
+#.FN_BODY CPDLCMessage
+ tvbuff_t *tvb_usr = NULL;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, NULL, 0, &tvb_usr, NULL);
+
+ if (tvb_usr) {
+ switch(check_heur_msg_type(actx->pinfo)){
+ case dm:
+ dissect_atn_cpdlc_ATCDownlinkMessage(tvb_new_subset_remaining(tvb_usr, 0), 0, actx, tree, hf_index);
+ break;
+ case um:
+ dissect_atn_cpdlc_ATCUplinkMessage(tvb_new_subset_remaining(tvb_usr, 0), 0, actx , tree, hf_index);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.END
+
+#.FN_BODY AlgorithmIdentifier
+ proto_tree *top_tree=NULL;
+
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, top_tree, NULL);
+
+#.END
+
+#.FN_BODY AircraftFlightIdentification
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,2, 8, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY Airport
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,4, 4, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY FacilityDesignation
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,4, 8, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY FreeText
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,1, 256, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY NavaidName
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,1, 4, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY Procedure
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,1, 20, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY ProcedureTransition
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,1, 5, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY Fix
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,1, 5, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY ATISCode
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,1, 1, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY ATSRouteDesignator
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,2, 7, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#.FN_BODY FacilityName
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,3, 18, FALSE, ia5alpha , 127, NULL);
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 4
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=4 tabstop=8 expandtab:
+# :indentSize=4:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/atn-cpdlc/packet-atn-cpdlc-template.c b/epan/dissectors/asn1/atn-cpdlc/packet-atn-cpdlc-template.c
new file mode 100644
index 00000000..0e8bca4d
--- /dev/null
+++ b/epan/dissectors/asn1/atn-cpdlc/packet-atn-cpdlc-template.c
@@ -0,0 +1,352 @@
+/* packet-atn-cpdlc-template.c
+ * By Mathias Guettler <guettler@web.de>
+ * Copyright 2013
+ *
+ * Routines for ATN Cpdlcc protocol packet disassembly
+
+ * details see:
+ * http://en.wikipedia.org/wiki/CPDLC
+ * http://members.optusnet.com.au/~cjr/introduction.htm
+
+ * standards:
+ * http://legacy.icao.int/anb/panels/acp/repository.cfm
+
+ * note:
+ * We are dealing with ATN/CPDLC aka ICAO Doc 9705 Ed2 here
+ * (CPDLC may also be transmitted via ACARS/AOA aka "FANS-1/A ").
+
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+/*
+ developper comments:
+ Which CPDLC messages are supported ?
+ Protected Mode CPDLC (AeQualifier 22) and Plain Old CPDLC (AeQualifier 2)
+ The dissector has been tested with ICAO doc9705 Edition2 compliant traffic.
+*/
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/conversation.h>
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-atn-ulcs.h"
+
+#define ATN_CPDLC_PROTO "ICAO Doc9705 CPDLC"
+
+void proto_register_atn_cpdlc(void);
+void proto_reg_handoff_atn_cpdlc(void);
+
+static const char *object_identifier_id;
+
+/* IA5 charset (7-bit) for PER IA5 decoding */
+static const gchar ia5alpha[] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, \
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, \
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, \
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, \
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, \
+ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, \
+ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, \
+ 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, \
+ 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, '\0'
+};
+
+/* forward declarations */
+static int dissect_GroundPDUs_PDU(
+ tvbuff_t *tvb _U_,
+ packet_info *pinfo _U_,
+ proto_tree *tree _U_,
+ void *data _U_);
+static int dissect_AircraftPDUs_PDU(
+ tvbuff_t *tvb _U_,
+ packet_info *pinfo _U_,
+ proto_tree *tree _U_,
+ void *data _U_);
+static int dissect_ProtectedGroundPDUs_PDU(
+ tvbuff_t *tvb _U_,
+ packet_info *pinfo _U_,
+ proto_tree *tree _U_,
+ void *data _U_);
+static int dissect_ProtectedAircraftPDUs_PDU(
+ tvbuff_t *tvb _U_,
+ packet_info *pinfo _U_,
+ proto_tree *tree _U_,
+ void *data _U_);
+
+#include "packet-atn-cpdlc-hf.c"
+
+#include "packet-atn-cpdlc-ett.c"
+static gint ett_atn_cpdlc = -1;
+
+#include "packet-atn-cpdlc-fn.c"
+
+/* Wireshark ID of CPDLC protocol */
+static int proto_atn_cpdlc = -1;
+
+
+static int
+dissect_atn_cpdlc(
+ tvbuff_t *tvb,
+ packet_info *pinfo,
+ proto_tree *tree,
+ void *data _U_)
+{
+ /* note: */
+ /* there are two co-existing applications of CPDLC: */
+ /* "plain old" (ae-qualifier 2) and */
+ /* "protected mode" (ae-qualifier 22) CPDLC. */
+ /* "protected mode" was introduced to cope with a */
+ /* safety issue in which a message would sent to the wrong aircraft. */
+
+ /* note:*/
+ /* The protection is an additional checksum and covers the message content, */
+ /* the 24-bit address of the aircraft, the current flight id and */
+ /* the current ground facility so that an aircraft would be able to reject */
+ /* messages which are unexpected (i.e. messages to another flight or */
+ /* messages from the wrong center). */
+
+ /*note:*/
+ /* although "plain old" CPDLC is more or less deprecated */
+ /* many aircraft cannot perform */
+ /* "protected mode" for this largely depends on */
+ /* upgraded avionics packages */
+
+ /*note:*/
+ /* The use of CPDLC is *optional* as the pilot */
+ /* may always use a voice radio channel to talk to the controller.*/
+
+ proto_tree *atn_cpdlc_tree = NULL;
+ atn_conversation_t *atn_cv = NULL;
+
+ /* note: */
+ /* we need the ae qualifier stored within the conversation */
+ /* to decode "plain old cpdlc" or */
+ /* "protected mode cpdlc correctly " */
+
+ /* DT: dstref present, srcref is always zero */
+ if((pinfo->clnp_dstref) && (!pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(
+ &pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src );
+ }
+ /* CR: srcref present, dstref is always zero */
+ if((!pinfo->clnp_dstref) && (pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(
+ &pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst );
+ }
+ /* CC: srcref and dstref present, always use src/srcref & dst */
+ if((pinfo->clnp_dstref) && (pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(
+ &pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst );
+ }
+
+ if(!atn_cv){ /* atn conversation not found */
+ return 0; }
+
+ atn_cpdlc_tree = proto_tree_add_subtree(
+ tree, tvb, 0, -1, ett_atn_cpdlc, NULL,
+ ATN_CPDLC_PROTO );
+
+ switch(atn_cv->ae_qualifier){
+ case pmcpdlc:
+ if( check_heur_msg_type(pinfo) == um ) {
+ /* uplink PDU's = Ground PDU's */
+ dissect_ProtectedGroundPDUs_PDU(
+ tvb,
+ pinfo,
+ atn_cpdlc_tree, NULL);
+ }else { /* downlink PDU's = Aircraft PDU's */
+ dissect_ProtectedAircraftPDUs_PDU(
+ tvb,
+ pinfo,
+ atn_cpdlc_tree, NULL);
+ }
+ break;
+ case cpdlc:
+ if( check_heur_msg_type(pinfo) == um ) {
+ /* uplink PDU's = Ground PDU's */
+ dissect_GroundPDUs_PDU(
+ tvb,
+ pinfo,
+ atn_cpdlc_tree, NULL);
+ }else { /* downlink PDU's = Aircraft PDU's */
+ dissect_AircraftPDUs_PDU(
+ tvb,
+ pinfo,
+ atn_cpdlc_tree, NULL);
+ }
+ break;
+ default:
+ break;
+ }
+ return tvb_reported_length_remaining(tvb, 0);
+}
+
+static gboolean
+dissect_atn_cpdlc_heur(
+ tvbuff_t *tvb,
+ packet_info *pinfo,
+ proto_tree *tree,
+ void *data _U_)
+{
+ atn_conversation_t *volatile atn_cv = NULL;
+ volatile gboolean is_atn_cpdlc = FALSE;
+ volatile gboolean is_pm = FALSE;
+ int type;
+
+ type = check_heur_msg_type(pinfo);
+
+ switch(type){
+ case um:
+ TRY {
+ dissect_ProtectedGroundPDUs_PDU(tvb, pinfo, NULL, NULL);
+ is_atn_cpdlc = TRUE;
+ is_pm = TRUE;}
+ CATCH_ALL{
+ is_atn_cpdlc = FALSE;
+ is_pm = FALSE;}
+ ENDTRY;
+ if (is_atn_cpdlc) {
+ break;
+ }
+ TRY {
+ dissect_GroundPDUs_PDU(tvb, pinfo, NULL, NULL);
+ is_pm = FALSE;
+ is_atn_cpdlc = TRUE;}
+ CATCH_ALL{
+ is_atn_cpdlc = FALSE;
+ is_pm = FALSE;}
+ ENDTRY;
+ break;
+ case dm:
+ TRY {
+ dissect_ProtectedAircraftPDUs_PDU(tvb, pinfo, NULL, NULL);
+ is_atn_cpdlc = TRUE;
+ is_pm = TRUE;}
+ CATCH_ALL {
+ is_atn_cpdlc = FALSE;
+ is_pm = FALSE; }
+ ENDTRY;
+ if (is_atn_cpdlc) {
+ break;
+ }
+ TRY{
+ dissect_AircraftPDUs_PDU(tvb, pinfo, NULL, NULL);
+ is_atn_cpdlc = TRUE;
+ is_pm = FALSE;}
+ CATCH_ALL{
+ is_atn_cpdlc = FALSE;
+ is_pm = FALSE;}
+ ENDTRY;
+ break;
+ default:
+ break;
+ }
+
+ if(is_atn_cpdlc){
+ /* note: */
+ /* all subsequent PDU's belonging to this conversation */
+ /* are considered CPDLC */
+ /* if the first CPDLC PDU has been decoded successfully */
+ /* (This is done in "atn-ulcs" by using "call_dissector_with_data()") */
+
+ /* DT: dstref present, srcref is always zero */
+ if((pinfo->clnp_dstref) && (!pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(&pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src );
+ }
+ /* CR: srcref present, dstref is always zero */
+ if((!pinfo->clnp_dstref) && (pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(&pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst );
+ }
+ /* CC: srcref and dstref present, always use src/srcref & dst */
+ if((pinfo->clnp_dstref) && (pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(&pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst );
+ }
+
+ if(atn_cv){ /* atn conversation found */
+ if(is_pm == TRUE) {
+ atn_cv->ae_qualifier = pmcpdlc; }
+ else {
+ atn_cv->ae_qualifier = cpdlc; }
+ dissect_atn_cpdlc(tvb, pinfo, tree, NULL);
+ }
+ }else { /* there should *always* be an atn conversation */
+ is_atn_cpdlc = FALSE;
+ }
+
+ return is_atn_cpdlc;
+}
+
+
+
+void proto_register_atn_cpdlc (void)
+{
+ static hf_register_info hf_atn_cpdlc[] = {
+ #include "packet-atn-cpdlc-hfarr.c"
+ };
+
+ static gint *ett[] = {
+ #include "packet-atn-cpdlc-ettarr.c"
+ &ett_atn_cpdlc
+ };
+
+ /* register CPDLC */
+ proto_atn_cpdlc = proto_register_protocol(ATN_CPDLC_PROTO, "ATN-CPDLC", "atn-cpdlc");
+
+ proto_register_field_array(
+ proto_atn_cpdlc,
+ hf_atn_cpdlc,
+ array_length(hf_atn_cpdlc));
+
+ proto_register_subtree_array(
+ ett,
+ array_length(ett));
+
+ register_dissector(
+ "atn-cpdlc",
+ dissect_atn_cpdlc,
+ proto_atn_cpdlc);
+}
+
+void proto_reg_handoff_atn_cpdlc(void)
+{
+ /* add session dissector to atn dissector list dissector list*/
+ heur_dissector_add(
+ "atn-ulcs",
+ dissect_atn_cpdlc_heur,
+ "ATN-CPDLC over ATN-ULCS",
+ "atn-cpdlc-ulcs",
+ proto_atn_cpdlc, HEURISTIC_ENABLE);
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/atn-ulcs/CMakeLists.txt b/epan/dissectors/asn1/atn-ulcs/CMakeLists.txt
new file mode 100644
index 00000000..c95e8025
--- /dev/null
+++ b/epan/dissectors/asn1/atn-ulcs/CMakeLists.txt
@@ -0,0 +1,41 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME atn-ulcs )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -u )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/atn-ulcs/atn-ulcs.asn b/epan/dissectors/asn1/atn-ulcs/atn-ulcs.asn
new file mode 100644
index 00000000..de9b94e6
--- /dev/null
+++ b/epan/dissectors/asn1/atn-ulcs/atn-ulcs.asn
@@ -0,0 +1,508 @@
+-- File: atn-ulcs.asn
+-- Sub-Volume IV ASN.1 reference definitions for ICAO Doc. 9705,
+-- Second Edition
+-- Version 1.1, 03 Oct 2001
+
+-- The majority of the ULCS protocol definitions are specified in the ULCS
+-- Technical Provisions by reference to ISO/IEC Standards and/or ITU-T
+-- Recommendations. The ASN.1 definitions are reproduced here for ease of
+-- reference and to allow explanatory annotations to be added. In the case of
+-- any discrepancy between the definitions here and the corresponding
+-- definitions defined in or referenced by the ULCS Technical Provisions,
+-- the latter are assumed to take precedence.
+
+-- The following ASN.1 modules are included here:
+
+-- * General ULCS types. These are ASN.1 definitions used in the ULCS
+-- Technical Provisions, though there is no equivalent ASN.1 module
+-- defined there. The definitions in this module would generally be
+-- incorporated into a wider "user" protocol module if using ASN.1 automated
+-- tools. They are defined in a separate module here so that their syntax can
+-- easily be verified by an ASN.1 syntax checker.
+
+-- * Connection-oriented ACSE definitions. This is equivalent to the "ACSE-1"
+-- module defined in the connection-oriented ACSE protocol standard.
+
+-- * Information Framework. This is an extract of relevant definitions from the
+-- InformationFramework module in the OSI standard "Directory : Models". The
+-- types defined in this module are not actively used in the ULCS protocol, but
+-- they are needed to satisfy IMPORTS statements in the ACSE definitions, and
+-- to allow certain CHOICE types in the ACSE definitions to be sorted correctly
+-- into canonical order.
+
+
+-- Note.- In the following definitions, the ASN.1 comment " X" indicates
+-- choice elements and optional elements in sequence types that are defined as
+-- "Excluded" in the ULCS profile. That is, implementations of ULCS provisions
+-- are never required to encode values for such elements (though they are
+-- required to indicate the absence of these elements in all instances, by means
+-- of bits in the appropriate PER preamble or choice index).
+
+
+-- General ULCS types
+
+ULCS DEFINITIONS ::= BEGIN
+-- ***************************************************************************
+-- The following ASN.1 definitions are from Doc 9705 Sub-Volume IV,
+-- section 4.3.2.6.2
+-- ***************************************************************************
+
+--Presentation User Data is Fully-encoded-data from
+--ISO/IEC 8823-1:1994/Amd.1:1997 | ITU-T Rec. X.226/Amd. 1
+
+--Fully-encoded-data ::= SEQUENCE SIZE (1, ...) OF PDV-list
+Fully-encoded-data ::= SEQUENCE SIZE (1, ..., 2..MAX) OF PDV-list
+-- contains one or more presentation-data-value-list (PDV-list) values
+-- ATN commentary: The SIZE constraint above differs from the referenced
+-- standard, which specifies (in 8.2):
+-- Fully-encoded-data ::= SEQUENCE SIZE (1, ..., 2..MAX) OF PDV-list.
+-- The ULCS provisions specify a simplified, but compatible, efficiency
+-- constraint as there will never be more than one element in the SEQUENCE OF
+-- for the foreseeable future.
+-- This simplifies matters for some compilers.
+
+PDV-list ::= SEQUENCE {
+ transfer-syntax-name Transfer-syntax-name OPTIONAL, -- X
+ presentation-context-identifier Presentation-context-identifier,
+ presentation-data-values CHOICE
+ { single-ASN1-type [0] ABSTRACT-SYNTAX.&Type
+ (CONSTRAINED BY {
+ -- Type corresponding to presentation context identifier -- }) , -- X
+ octet-aligned [1] IMPLICIT OCTET STRING, -- X
+ arbitrary [2] IMPLICIT BIT STRING }
+ -- contains one or more presentation data values from the same
+ -- presentation context.
+ -- ATN Commentary: only the arbitrary BIT STRING encoding choice is used.
+}
+
+Transfer-syntax-name ::= OBJECT IDENTIFIER -- ATN: not used for ATN Upper Layers
+
+Presentation-context-identifier::= INTEGER -- ATN: the following values are
+ -- ATN-specific
+{ acse-apdu (1),
+ reserved (2),
+ user-ase-apdu (3) } (1..127, ... )
+-- ATN commentary: The SIZE constraint above differs from the referenced
+-- standard, which specifies (in 8.2):
+-- Presentation-context-identifier::= INTEGER (1..127, ..., 128..MAX ).
+-- The ULCS provisions specify a simplified, but compatible, efficiency
+-- constraint as there will never be more than 127 presentation contexts in
+-- ATN for the foreseeable future.
+-- This simplifies matters for some compilers. The list of defined values is
+-- shown here for guidance only, and has no effect on the PER encoding.
+
+
+END -- of ULCS definitions
+
+-- Connection-oriented ACSE definitions
+--*************************************************************************
+-- The ACSE abstract syntax from ISO/IEC 8650-1/Amd.1 | ITU-T Rec. X.227/
+-- Amd. 1 is reproduced here for ease of reference. In case of any discrepancy,
+-- the ISO/IEC standard takes precedence.
+--*************************************************************************
+
+ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0) version1(1)}
+-- ACSE-1 refers to ACSE version 1
+DEFINITIONS ::=
+BEGIN
+ EXPORTS
+ acse-as-id, ACSE-apdu, aCSE-id, Application-context-name, AP-title,
+ AE-qualifier, -- AE-title, (ATN: AE-title is not needed)
+ AP-invocation-identifier,
+ AE-invocation-identifier, Mechanism-name, Authentication-value,
+ ACSE-requirements;
+ IMPORTS Name, RelativeDistinguishedName
+ FROM InformationFramework
+ { joint-iso-ccitt ds(5) module(1) informationFramework(1) 2 };
+ -- The data types Name and RelativeDistinguishedName are imported
+ -- from ISO/IEC 9594-2 | ITU-T Rec. X.501.
+ -- ATN Commentary: The relevant InformationFramework extracts are given
+ -- below.
+
+-- *************************************************************************
+-- EXTERNAL
+-- *************************************************************************
+
+-- EXTERNAL is an ASN.1 UNIVERSAL type. The definition in the PER standard
+-- ISO/IEC 8825-2 | ITU-T Rec. X.691 is assumed for ACSE.
+-- The type is used in ACSE user-information
+-- fields. ASN.1 compilers will not in general allow EXTERNAL to be
+-- redefined (therefore 'EXTERNALt'),
+-- and it is invalid ASN.1 to define a type with tag [UNIVERSAL 8]
+--
+-- Workaround for bug in asn2wrs in the .cnf file
+-- to handle the lack of support for tagged assignments.
+-- remove that workaround once asn2wrs learns how to handle
+-- tagged assignments.
+--
+EXTERNALt ::= [8] IMPLICIT SEQUENCE {
+ direct-reference OBJECT IDENTIFIER OPTIONAL, -- X
+ indirect-reference INTEGER OPTIONAL,
+ data-value-descriptor ObjectDescriptor OPTIONAL, -- X
+ encoding CHOICE {
+ single-ASN1-type [0] ABSTRACT-SYNTAX.&Type,
+ octet-aligned [1] IMPLICIT OCTET STRING, -- X
+ arbitrary [2] IMPLICIT BIT STRING }}
+-- ATN: implementations are advised to use arbitrary (BIT STRING)
+-- encodings only (see Guidance Material section 2.6.5.21).
+-- BIT STRING values are not padded to octet boundaries.
+
+
+-- object identifier assignments
+acse-as-id OBJECT IDENTIFIER ::=
+{joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0) version1(1)}
+ -- may be used to reference the abstract syntax of the ACSE APDUs
+aCSE-id OBJECT IDENTIFIER ::=
+{ joint-iso-itu-t association-control(2) ase-id(3) acse-ase(1) version(1) }
+ -- may be used to identify the Association Control ASE.
+
+-- top level CHOICE
+ACSE-apdu ::= CHOICE
+{
+ aarq AARQ-apdu, -- ACSE associate request pdu
+ aare AARE-apdu, -- ACSE associate response pdu
+ rlrq RLRQ-apdu, -- ACSE release request pdu
+ rlre RLRE-apdu, -- ACSE release response pdu
+ abrt ABRT-apdu, -- ACSE abort pdu
+ ...
+}
+
+AARQ-apdu ::= [ APPLICATION 0 ] IMPLICIT SEQUENCE
+{ protocol-version [0] IMPLICIT BIT STRING { version1 (0) } DEFAULT { version1 }, -- X
+ application-context-name [1] Application-context-name,
+ called-AP-title [2] AP-title OPTIONAL, -- X
+ called-AE-qualifier [3] AE-qualifier OPTIONAL, -- X
+ called-AP-invocation-identifier [4] AP-invocation-identifier OPTIONAL, -- X
+ called-AE-invocation-identifier [5] AE-invocation-identifier OPTIONAL, -- X
+ calling-AP-title [6] AP-title OPTIONAL,
+ calling-AE-qualifier [7] AE-qualifier OPTIONAL,
+ calling-AP-invocation-identifier [8] AP-invocation-identifier OPTIONAL, -- X
+ calling-AE-invocation-identifier [9] AE-invocation-identifier OPTIONAL, -- X
+ -- The following field is not present if only the Kernel is used.
+ -- ATN: For Doc 9705 ed 1/ed 2, only the Kernel is required.
+ sender-acse-requirements [10] IMPLICIT ACSE-requirements OPTIONAL,
+ -- The following field is only present if the Authentication functional
+ -- unit is selected. ATN: not used in Doc 9705 ed 1/ed 2.
+ mechanism-name [11] IMPLICIT Mechanism-name OPTIONAL,
+ -- The following field is only present if the Authentication functional
+ -- unit is selected. ATN: use is deprecated in Doc 9705 ed 1/ed 2.
+ calling-authentication-value [12] EXPLICIT Authentication-value OPTIONAL,
+ application-context-name-list [13] IMPLICIT Application-context-name-list OPTIONAL, -- X
+ -- The above field is only present if the Application Context Negotiation
+ -- functional unit is selected - never for ATN
+ implementation-information [29] IMPLICIT Implementation-data OPTIONAL, -- X
+ ..., ..., -- ATN: Note use of extension marker pair
+ user-information [30] IMPLICIT Association-information OPTIONAL
+}
+
+
+AARE-apdu ::= [ APPLICATION 1 ] IMPLICIT SEQUENCE
+{ protocol-version [0] IMPLICIT BIT STRING{ version1 (0) }
+ DEFAULT { version1 }, -- X
+ application-context-name [1] Application-context-name,
+ result [2] Associate-result,
+ result-source-diagnostic [3] Associate-source-diagnostic,
+ responding-AP-title [4] AP-title OPTIONAL, -- X
+ responding-AE-qualifier [5] AE-qualifier OPTIONAL, -- X
+ responding-AP-invocation-identifier [6] AP-invocation-identifier OPTIONAL, -- X
+ responding-AE-invocation-identifier [7] AE-invocation-identifier OPTIONAL, -- X
+ -- The following field is not present if only the Kernel is used.
+ -- ATN: For Doc 9705 ed 1/ed 2, only the Kernel is required.
+ responder-acse-requirements [8] IMPLICIT ACSE-requirements OPTIONAL,
+ -- The following field is only present if the Authentication functional
+ -- unit is selected. ATN: not used in Doc 9705 ed 1/ed 2.
+ mechanism-name [9] IMPLICIT Mechanism-name OPTIONAL,
+ -- The following field is only present if the Authentication functional
+ -- unit is selected. ATN: use is deprecated in Doc 9705 ed 1/ed 2.
+ responding-authentication-value [10] EXPLICIT Authentication-value OPTIONAL,
+ application-context-name-list [11] IMPLICIT Application-context-name-list
+ OPTIONAL, -- X
+ -- The above field is only present if the Application Context Negotiation
+ -- functional unit is selected - never for ATN
+ implementation-information [29] IMPLICIT Implementation-data OPTIONAL, --X
+ ..., ..., -- ATN: Note use of extension marker pair
+ user-information [30] IMPLICIT Association-information OPTIONAL
+}
+
+
+RLRQ-apdu ::= [ APPLICATION 2 ] IMPLICIT SEQUENCE
+{ reason [0] IMPLICIT Release-request-reason OPTIONAL,
+ ..., ..., -- ATN: Note use of extension marker pair
+ user-information [30] IMPLICIT Association-information OPTIONAL
+}
+
+
+RLRE-apdu ::= [ APPLICATION 3 ] IMPLICIT SEQUENCE
+{ reason [0] IMPLICIT Release-response-reason OPTIONAL,
+ ..., ..., -- ATN: Note use of extension marker pair
+ user-information [30] IMPLICIT Association-information OPTIONAL
+}
+
+
+ABRT-apdu ::= [ APPLICATION 4 ] IMPLICIT SEQUENCE
+{ abort-source [0] IMPLICIT ABRT-source,
+ abort-diagnostic [1] IMPLICIT ABRT-diagnostic OPTIONAL,
+ -- The above field is not present if only the Kernel is used.
+ -- ATN: For Doc 9705 ed 1/ed 2, only the Kernel is required.
+ ..., ..., -- ATN: Note use of extension marker pair
+ user-information [30] IMPLICIT Association-information OPTIONAL
+}
+
+
+ABRT-diagnostic ::= ENUMERATED
+{ no-reason-given (1),
+ protocol-error (2),
+ authentication-mechanism-name-not-recognized (3),
+ authentication-mechanism-name-required (4),
+ authentication-failure (5),
+ authentication-required (6),
+ ... }
+
+ABRT-source ::= INTEGER { acse-service-user (0), acse-service-provider (1)} (0..1, ...)
+
+ACSE-requirements ::= BIT STRING
+{ authentication (0), application-context-negotiation(1) }
+-- ATN commentary: application-context-negotiation (bit 1) is
+-- never set for ATN ULCS. Use of authentication is deprecated
+-- for Doc 9705 ed 1/ed 2.
+
+Application-context-name-list ::= SEQUENCE OF Application-context-name
+-- ATN Commentary: the above type is not used for ATN ULCS.
+
+Application-context-name ::= OBJECT IDENTIFIER
+
+-- ***************************************************************************
+-- Application-entity title productions follow (not in alphabetical order)
+-- ***************************************************************************
+-- MG: asn2wrs cannot handle untagged CHOICEs within either a SET or a SEQUENCE.
+-- https://gitlab.com/wireshark/wireshark/-/wikis/Asn2wrs_Handmassaging_the_ASN_file
+AP-title ::= CHOICE { -- ATN: See encoding guidance in 2.5.11
+ -- "form2" is encoded as 0 and "form1" as 1
+ ap-title-form2 [0] IMPLICIT AP-title-form2, -- Object Identifier form
+ ap-title-form1 [1] IMPLICIT AP-title-form1, -- X (Directory name form)
+ ... }
+
+AE-qualifier ::= CHOICE {-- ATN: See encoding guidance in 2.5.11
+ -- "form2" is encoded as 0 and "form1" as 1
+ ae-qualifier-form2 [0] IMPLICIT AE-qualifier-form2, -- INTEGER form
+ ae-qualifier-form1 [1] IMPLICIT AE-qualifier-form1, -- X (RDN form)
+ ... }
+-- ATN commentary: AE-qualifier is set to "app-type" in Doc 9705 1st and
+-- 2nd editions. For forward compatibility, the value should not be
+-- analysed.
+
+-- When both AP-title and AE-qualifier data values are present in an AARQ or
+-- AARE APDU, both have the same form to allow the construction of an
+-- AE-title as discussed in CCITT Rec. X.665 | ISO/IEC 9834-6.
+
+AP-title-form1 ::= Name -- ATN: Not used for ATN ULCS
+-- The value assigned to AP-title-form1 is The Directory Name of an
+-- application-process title.
+
+AE-qualifier-form1 ::= RelativeDistinguishedName -- ATN: Not used for ULCS
+-- The value assigned to AE-qualifier-form1 is the relative distinguished name
+-- of a particular application-entity of the application-process identified by
+-- AP-title-form1.
+
+AP-title-form2 ::= OBJECT IDENTIFIER
+
+AE-qualifier-form2 ::= INTEGER
+
+-- ATN commentary: The AE-title productions below are commented out,
+-- as they are not required for ATN ULCS.
+-- AE-title ::= CHOICE {
+-- ae-title-form1 AE-title-form1,
+-- ae-title-form2 AE-title-form2,
+-- ... }
+--
+-- As defined in CCITT Rec. X.650 | ISO 7498-3, an application-entity title is
+-- composed of an application-process title and an application-entity qualifier.
+-- The ACSE protocol provides for the transfer of an application-entity title
+-- value by the transfer of its component values. However, the following data
+-- type is provided for International Standards that reference a single
+-- syntactic structure for AE titles. (Not used for ATN ULCS)
+--
+-- AE-title-form1 ::= Name
+-- For access to The Directory (ITU-T Rec. X.500-Series | ISO/IEC 9594), an
+-- AE title has AE-title-form1.
+-- This value can be constructed from AP-title-form1 and AE-qualifier-form1
+-- values contained in an AARQ or AARE APDU. A discussion of forming an
+-- AE-title-form1 from AP-title-form1 and AE-qualifier-form1 may be found in
+-- CCITT Rec. X.665 | ISO/IEC 9834-6.
+--
+-- AE-title-form2 ::= OBJECT IDENTIFIER
+-- A discussion of forming an AE-title-form2 from AP-title-form2 and
+-- AE-qualifier-form2 may be found in CCITT Rec. X.665 | ISO/IEC 9834-6.
+
+AE-invocation-identifier ::= INTEGER -- ATN: not used in ULCS
+AP-invocation-identifier ::= INTEGER -- ATN: not used in ULCS
+-- End of Application-entity title productions
+-- ***************************************************************************
+
+Associate-result ::= INTEGER
+{ accepted (0),
+ rejected-permanent (1),
+ rejected-transient (2) } (0..2, ...)
+
+Associate-source-diagnostic ::= CHOICE
+{ acse-service-user [1] INTEGER
+ { null (0),
+ no-reason-given (1),
+ application-context-name-not-supported (2),
+ calling-AP-title-not-recognized (3),
+ calling-AP-invocation-identifier-not-recognized (4),
+ calling-AE-qualifier-not-recognized (5),
+ calling-AE-invocation-identifier-not-recognized (6),
+ called-AP-title-not-recognized (7),
+ called-AP-invocation-identifier-not-recognized (8),
+ called-AE-qualifier-not-recognized (9),
+ called-AE-invocation-identifier-not-recognized (10),
+ authentication-mechanism-name-not-recognized (11),
+ authentication-mechanism-name-required (12),
+ authentication-failure (13),
+ authentication-required (14) } (0..14 , ...),
+ acse-service-provider [2] INTEGER
+ { null (0),
+ no-reason-given (1),
+ no-common-acse-version (2) } (0..2 , ...)
+}
+
+Association-information ::= SEQUENCE SIZE (1, ..., 0 | 2..MAX) OF EXTERNALt
+-- ATN: No SIZE extensions are defined, only one EXTERNAL element is present
+
+
+
+Implementation-data ::= OCTET STRING -- ATN: Not used for ULCS
+
+Mechanism-name ::= OBJECT IDENTIFIER -- ATN: Not used for ULCS
+
+MECHANISM-NAME ::=TYPE-IDENTIFIER -- ATN: Not used for ULCS
+
+ObjectSet MECHANISM-NAME ::= {...} -- ATN: Not used for ULCS
+
+Release-request-reason ::= INTEGER {normal (0), urgent (1), user-defined (30)} (0 | 1 | 30, ...)
+
+Release-response-reason ::= INTEGER {normal (0), not-finished (1), user-defined (30)} (0 | 1 | 30, ...)
+-- ATN commentary: For the above two types, see the encoding guidance in 2.5.10
+-- Values are encoded in 5 bits, not 3 as might be expected.
+
+Authentication-value ::= CHOICE -- ATN: use is deprecated in ed 1/ed 2
+{ charstring [0] IMPLICIT OCTET STRING,
+ bitstring [1] IMPLICIT BIT STRING,
+ external [2] IMPLICIT EXTERNAL,
+ other [3] IMPLICIT SEQUENCE {
+-- other-mechanism-name MECHANISM-NAME.&id ({ObjectSet}),
+ other-mechanism-name OBJECT IDENTIFIER,
+-- other-mechanism-value MECHANISM-NAME.&Type ({ObjectSet}{@.other-mechanism-name})
+ other-mechanism-value ANY
+ } -- X
+}
+-- The abstract syntax of (calling/responding) authentication-value is
+-- determined by the authentication mechanism used during association
+-- establishment. The authentication mechanism is either explicitly
+-- denoted by the &id field (of type OBJECT IDENTIFIER) for a mechanism
+-- belonging to the class MECHANISM-NAME, or it is known implicitly by
+-- prior agreement between the communicating partners. If the "other"
+-- component is chosen, then the "mechanism-name" component is present
+-- in accordance with ITU-T Rec. X.680|ISO/IEC 8824. If the value
+-- "mechanism-name" occurs in the AARQ-apdu or the AARE-apdu, then that
+-- value is the same as the value for "other-mechanism-name"
+END -- of Connection-Oriented ACSE definitions
+
+
+-- *************************************************************************
+-- The following definitions are adapted from the Directory standard
+-- ISO/IEC 9594-2:1993 | ITU-T Rec. X.501 (1993 E). In case of any discrepancy,
+-- the ISO/IEC standard takes precedence.
+-- *************************************************************************
+
+InformationFramework {joint-iso-ccitt ds(5) module(1) informationFramework(1) 2}
+DEFINITIONS ::=
+BEGIN
+EXPORTS Name, RelativeDistinguishedName;
+
+Name ::= CHOICE {rdnSequence RDNSequence}
+-- only one CHOICE defined
+
+RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
+
+RelativeDistinguishedName ::= SET SIZE (1 .. MAX) OF AttributeTypeAndValue
+
+AttributeTypeAndValue ::= SEQUENCE {
+-- ATN commentary: The following line has been inserted to allow the Name and
+-- RelativeDistinguishedName types, as used by ACSE, to be resolved by an
+-- ASN.1 compiler, without introducing the unnecessary complexity
+-- Of the ATTRIBUTE information object class, which is used in the
+-- Directory standards.
+ null NULL}
+-- The "real" components of AttributeTypeAndValue follow. They have been
+-- commented out here, but could be restored if required, for example, for
+-- sharing data types with a Directory implementation. The syntax has been
+-- verified by the OSS syntax checker.
+-- type ATTRIBUTE.&id ({SupportedAttributes}),
+-- value ATTRIBUTE.&Type ({SupportedAttributes} {@type})
+--}
+
+--SupportedAttributes ATTRIBUTE ::=
+-- {objectClass | aliasedEntryName, ...}
+
+-- ATN Commentary: ATTRIBUTE is an information object class, specified in
+-- ISO/IEC 9594-2 | ITU-T Rec. X.501, using the notation defined in
+-- ISO/IEC 8824-2 | ITU-T Rec. X.681. However, for ULCS implementation, it
+-- is only necessary to note that the ACSE CHOICE types AP-title,
+-- AE-qualifier and AE-title are all constrained to be the "form 2" variants,
+-- with types Object Identifier, Integer and Object Identifier, respectively.
+-- It is however necessary to know the syntax of the "form 1" variants (Name,
+-- RelativeDistinguishedName and Name, respectively) so that the CHOICE
+-- elements can be sorted into canonical order, based on their ASN.1 types,
+-- for PER encoding (see 2.5.11).
+--
+--ATTRIBUTE ::= CLASS {
+-- &derivation ATTRIBUTE OPTIONAL,
+-- &Type OPTIONAL,
+-- &equality-match MATCHING-RULE OPTIONAL,
+-- &ordering-match MATCHING-RULE OPTIONAL,
+-- &substrings-match MATCHING-RULE OPTIONAL,
+-- &single-valued BOOLEAN DEFAULT FALSE,
+-- &collective BOOLEAN DEFAULT FALSE,
+-- &no-user-modification BOOLEAN DEFAULT FALSE,
+-- &usage AttributeUsage DEFAULT userApplications,
+-- &id OBJECT IDENTIFIER UNIQUE }
+--
+--MATCHING-RULE ::= CLASS {
+-- &AssertionType OPTIONAL,
+-- &id OBJECT IDENTIFIER UNIQUE }
+
+--objectClass ATTRIBUTE ::= {
+-- &Type OBJECT IDENTIFIER,
+-- &id id-at-objectClass
+--}
+--
+--aliasedEntryName ATTRIBUTE ::= {
+-- &Type OBJECT IDENTIFIER,
+-- &id id-at-aliasedEntryName
+--}
+--
+--AttributeUsage ::= ENUMERATED {
+-- userApplications (0),
+-- directoryOperation (1),
+-- distributedOperation (2),
+-- dSAOperation (3) }
+--
+--id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
+--id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
+--id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt ds(5) attributeType(4)}
+
+END -- of Directory Information Framework extracts
+--
+-- Editor modelines - https://www.wireshark.org/tools/modelines.html
+--
+-- Local variables:
+-- c-basic-offset: 4
+-- tab-width: 8
+-- indent-tabs-mode: nil
+-- End:
+--
+-- vi: set shiftwidth=4 tabstop=8 expandtab:
+-- :indentSize=4:tabSize=8:noTabs=true:
+--
diff --git a/epan/dissectors/asn1/atn-ulcs/atn-ulcs.cnf b/epan/dissectors/asn1/atn-ulcs/atn-ulcs.cnf
new file mode 100644
index 00000000..793a4509
--- /dev/null
+++ b/epan/dissectors/asn1/atn-ulcs/atn-ulcs.cnf
@@ -0,0 +1,587 @@
+#.MODULE_IMPORT
+
+#.FIELD_RENAME
+AARQ-apdu/protocol-version aarq-apdu_protocol-version
+AARE-apdu/protocol-version aare-apdu_protocol-version
+RLRE-apdu/reason rlre-apdu_response_reason
+RLRQ-apdu/reason rlrq-apdu_request_reason
+EXTERNALt/encoding/single-ASN1-type externalt_encoding_single-asn1-type
+EXTERNALt/encoding/arbitrary externalt_encoding_arbitrary
+EXTERNALt/encoding/octet-aligned externalt_encoding_octet-aligned
+PDV-list/presentation-data-values/single-ASN1-type pdv-list_presentation-data-values_single-asn1-type
+PDV-list/presentation-data-values/arbitrary pdv-list_presentation-data-values_arbitrary
+#.END
+
+#.PDU
+ Fully-encoded-data
+ ACSE-apdu
+#.END
+
+
+#.FN_PARS Release-request-reason
+ VAL_PTR=&reason
+#.END
+
+
+#.FN_BODY Presentation-context-identifier
+
+ offset = dissect_per_constrained_integer(
+ tvb,
+ offset,
+ actx,
+ tree,
+ hf_index,
+ 1U,
+ 127U,
+ &ulcs_context_value,
+ TRUE);
+
+#.END
+
+#.FN_BODY PDV-list/presentation-data-values/arbitrary
+
+ packet_info * pinfo = actx->pinfo;
+ tvbuff_t *tvb_usr = NULL;
+ proto_tree *atn_ulcs_tree = NULL;
+ atn_conversation_t *atn_cv = NULL;
+ heur_dtbl_entry_t *hdtbl_entry;
+
+ /* extract bitstring into new tvb buffer */
+ offset = dissect_per_bit_string(
+ tvb,
+ offset,
+ actx,
+ tree,
+ hf_index,
+ NO_BOUND,
+ NO_BOUND,
+ FALSE,
+ NULL,
+ 0,
+ &tvb_usr,
+ NULL);
+
+ if (tvb_usr) {
+ /* call appropiate dissector for bitstring data */
+ switch(ulcs_context_value){
+ case 1: /* ACSE PDU*/
+ atn_ulcs_tree = proto_tree_add_subtree(
+ root_tree, tvb, offset, 0,
+ ett_atn_acse, NULL, ATN_ACSE_PROTO );
+
+ dissect_ACSE_apdu_PDU(
+ tvb_new_subset_remaining(tvb_usr, 0),
+ pinfo,
+ atn_ulcs_tree, NULL);
+ break;
+ case 3: /* USER data; call subdissector for CM, CPDLC ... */
+
+ /* using dstref for PDV-list only occurrs in DT */
+ atn_cv = find_atn_conversation(
+ &pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src);
+
+ if(atn_cv) {
+ switch(atn_cv->ae_qualifier){
+ case cma: /* contact management */
+ call_dissector_with_data(
+ atn_cm_handle,
+ tvb_new_subset_remaining(tvb_usr, 0),
+ pinfo,
+ root_tree,
+ NULL);
+ break;
+ case cpdlc: /* plain old cpdlc */
+ case pmcpdlc: /* protected mode cpdlc */
+ call_dissector_with_data(
+ atn_cpdlc_handle,
+ tvb_new_subset_remaining(tvb_usr, 0),
+ pinfo,
+ root_tree,
+ NULL);
+ break;
+ default: /* unknown or unhandled datalink application */
+ dissector_try_heuristic(
+ atn_ulcs_heur_subdissector_list,
+ tvb_new_subset_remaining(tvb_usr,0),
+ actx->pinfo,
+ root_tree,
+ &hdtbl_entry,
+ NULL);
+ break;
+ }
+ }
+ else{
+ dissector_try_heuristic(
+ atn_ulcs_heur_subdissector_list,
+ tvb_new_subset_remaining(tvb_usr,0),
+ actx->pinfo,
+ root_tree,
+ &hdtbl_entry,
+ NULL);
+ }
+ break;
+ default:
+ break;
+ } /* switch(ulcs_context_value) */
+ }
+
+#.END
+
+
+#.FN_BODY Authentication-value/other/other-mechanism-value
+
+ offset=call_ber_oid_callback(
+ object_identifier_id,
+ tvb,
+ offset,
+ actx->pinfo,
+ tree, NULL);
+
+#.END
+
+#.FN_BODY Mechanism-name
+
+ offset = dissect_per_object_identifier(
+ tvb,
+ offset,
+ actx,
+ tree,
+ hf_index,
+ NULL);
+
+#.END
+
+
+#.FN_BODY Authentication-value/other/other-mechanism-value
+
+ offset=call_ber_oid_callback(
+ object_identifier_id,
+ tvb,
+ offset,
+ actx->pinfo,
+ tree, NULL);
+
+#.END
+
+#.FN_BODY AE-qualifier-form2
+ packet_info * pinfo = actx->pinfo;
+ atn_conversation_t *atn_cv = NULL;
+ guint32 ae_qualifier = 0;
+
+ /* dissect ae-qualifier */
+ offset = dissect_per_integer(
+ tvb,
+ offset,
+ actx,
+ tree,
+ hf_index,
+ &ae_qualifier);
+
+
+ /*note: */
+ /* the field "calling-AE-qualifier" is optional, */
+ /* which means that we can exploit it only if it is present. */
+ /* We still depend on heuristical decoding of CM, CPDLC PDU's otherwise. */
+
+ /* AARQ/DT: dstref present, srcref is always zero */
+ if((pinfo->clnp_dstref) && (!pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(&pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src );
+ }
+
+ /* AARQ/CR: srcref present, dstref is always zero */
+ if((!pinfo->clnp_dstref) && (pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(&pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst );
+ }
+
+ if(atn_cv){
+ atn_cv->ae_qualifier = ae_qualifier;
+ }
+#.END
+
+#.FN_BODY AARQ-apdu
+ packet_info * pinfo = actx->pinfo;
+ aarq_data_t *aarq_data = NULL;
+ atn_conversation_t *atn_cv = NULL;
+ guint32 aircraft_24_bit_address = 0;
+
+ /* AARQ/DT: dstref present, srcref is always zero */
+ if((pinfo->clnp_dstref) && (!pinfo->clnp_srcref)){
+
+ atn_cv = find_atn_conversation(
+ &pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src );
+ if(!atn_cv){
+ atn_cv = wmem_new(wmem_file_scope(), atn_conversation_t);
+ atn_cv->ae_qualifier = unknown;
+ create_atn_conversation(&pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src ,
+ atn_cv);
+ }
+ }
+
+ /* AARQ/CR: srcref present, dstref is always zero */
+ if((!pinfo->clnp_dstref) && (pinfo->clnp_srcref)){
+ atn_cv = find_atn_conversation(&pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst );
+ if(!atn_cv){
+ atn_cv = wmem_new(wmem_file_scope(), atn_conversation_t);
+ atn_cv->ae_qualifier = unknown;
+ create_atn_conversation(&pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst ,
+ atn_cv);
+ }
+ }
+
+ /* conversation is to be created prior to decoding */
+ /* of "AE-qualifier-form2" which takes place here: */
+ %(DEFAULT_BODY)s
+
+
+ /* save AARQ packet data to create a conversation */
+ /* when decoding the following AARE PDU */
+ /* ATN applications CM and CPDLC are air/ground applications */
+ /* so there is always an aircraft (with its 24-bit address) */
+ /* and a ground facility. */
+ /* the assumption is that there is only one open AARQ/AARE */
+ /* dialog per aircraft at a time. */
+ /* the aircraft's 24-bit address is used as a key to each AARQ */
+ /* data. AARQ data is used to create a conversation with */
+ /* air and ground endpoints (based on NSAP's and transport references) */
+ /* when decoding AARE.*/
+ /* note: */
+ /* it may be more robust to create the conversation */
+ /* in the "ositp" dissector an to merely use the conversation here */
+ aircraft_24_bit_address =
+ get_aircraft_24_bit_address_from_nsap(pinfo);
+
+ /* search for aarq entry */
+ aarq_data = (aarq_data_t *) wmem_tree_lookup32(
+ aarq_data_tree,
+ aircraft_24_bit_address);
+
+ if(!aarq_data){ /* aarq data not found, create new record */
+
+ /* alloc aarq data */
+ aarq_data = wmem_new(wmem_file_scope(), aarq_data_t);
+ aarq_data-> aarq_pending = FALSE;
+
+ /* insert aarq data */
+ wmem_tree_insert32(aarq_data_tree ,aircraft_24_bit_address,(void*)aarq_data);
+ }
+
+ /* check for pending AARQ/AARE sequences */
+ /* if "aarq_data-> aarq_pending" is set this means that there is already one */
+ /* AARQ/AARE sequence pending (is unwise to overwrite AARE/AARQ) */
+ if (aarq_data-> aarq_pending == FALSE ) {
+
+ /* init aarq data */
+ memset(aarq_data,0,sizeof(aarq_data_t));
+
+ aarq_data->cv = atn_cv;
+ aarq_data-> aarq_pending = TRUE;
+ }
+
+#.END
+
+
+#.FN_BODY AARE-apdu
+ packet_info * pinfo = actx->pinfo;
+ guint32 aircraft_24_bit_address = 0 ;
+ atn_conversation_t *atn_cv = NULL;
+ aarq_data_t *aarq_data = NULL;
+
+ /* get AARQ data and use it to create a new conversation, */
+ /* the conversation is used along with */
+ /* AARQ's "calling ae qualifier" to determine the */
+ /* type of air/ground application of each subsequent frame.*/
+ /* we use this information to invoke the correct application dissector. */
+ /* note: */
+ /* heuristical decoding of ASN1 will not work for all cases, */
+ /* for there may be CM PDU's which will exactly look like CPDLC PDU'S */
+
+ /* get 24-bit icao address */
+ aircraft_24_bit_address = get_aircraft_24_bit_address_from_nsap(pinfo);
+
+ /* search for aarq entry */
+ aarq_data = (aarq_data_t *) wmem_tree_lookup32(
+ aarq_data_tree,
+ aircraft_24_bit_address);
+
+ /* no aarq data present, do nothing */
+ /* without both ends of the conversation and without */
+ /* the "calling ae-qualifier there is no point in setting up "*/
+ /* a conversation */
+ if(!aarq_data) {
+
+ return offset;
+ }
+
+ /* AARE/DT: dstref present, srcref is always zero */
+ if((pinfo->clnp_dstref) && (!pinfo->clnp_srcref)){
+
+ atn_cv = find_atn_conversation(&pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src );
+
+ if(!atn_cv){ /* conversation not fond */
+
+ /* DT has only dstref - create new conversation */
+ create_atn_conversation(&pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src ,
+ aarq_data->cv);
+ }
+ }
+
+ /* AARE/CC: srcref and dstref present */
+ if((pinfo->clnp_dstref) && (pinfo->clnp_srcref)){
+
+ atn_cv = find_atn_conversation(
+ &pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst);
+
+ if(atn_cv){ /* conversation found. */
+
+ /* create new conversation for dstref */
+ create_atn_conversation(&pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src ,
+ aarq_data->cv);
+
+ }else { /* no conversation found */
+ /* as CC contains srcref *and* dstref we use both to create new records */
+ create_atn_conversation(&pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst ,
+ aarq_data->cv);
+ create_atn_conversation(&pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src ,
+ aarq_data->cv);
+ }
+ }
+
+ /* clear aarq data */
+ memset(aarq_data,0,sizeof(aarq_data_t));
+ aarq_data-> aarq_pending = FALSE;
+
+ %(DEFAULT_BODY)s
+
+
+#.END
+
+
+#.FN_BODY Associate-result
+ /* extension present: last param set to true. asn2wrs didn't take notice of that */
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 2U, NULL, TRUE);
+#.END
+
+#.FN_BODY Release-request-reason
+ /* extension present: last param set to true. asn2wrs didn't take notice of that */
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 30U, NULL, TRUE);
+#.END
+
+#.FN_BODY Release-response-reason
+
+ /* extension present: last param set to true. asn2wrs didn't take notice of that */
+ offset = dissect_per_constrained_integer(
+ tvb,
+ offset,
+ actx,
+ tree,
+ hf_index,
+ 0U,
+ 30U,
+ NULL,
+ TRUE);
+
+#.END
+
+#.FN_BODY Mechanism-name
+
+ offset = dissect_per_object_identifier(
+ tvb,
+ offset,
+ actx,
+ tree,
+ hf_index,
+ NULL);
+
+#.END
+
+#.FN_BODY RDNSequence
+
+ /*
+ * atn-ulcs.asn currently defines
+ *
+ * RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
+ * RelativeDistinguishedName ::= SET SIZE (1 .. MAX) OF AttributeTypeAndValue
+ * AttributeTypeAndValue ::= SEQUENCE { null NULL}
+ *
+ * which makes it easy to spam the dissection tree with null items. Dissect
+ * the first item only.
+ */
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_atn_ulcs_RDNSequence, RDNSequence_sequence_of,
+ 1, 1, FALSE);
+
+#.END
+
+#.FN_BODY RelativeDistinguishedName
+
+ /*
+ * Dissect the first null item only, similar to RDNSequence.
+ */
+ offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
+ ett_atn_ulcs_RelativeDistinguishedName, RelativeDistinguishedName_set_of,
+ 1, 1, FALSE);
+
+#.END
+
+#.FN_BODY EXTERNALt/data-value-descriptor
+
+ offset = dissect_per_octet_string(
+ tvb,
+ offset,
+ actx,
+ tree,
+ hf_index,
+ -1,
+ -1,
+ FALSE,
+ &actx->external.data_value_descriptor);
+ actx->external.data_value_descr_present = TRUE;
+
+#.END
+
+#.FN_BODY EXTERNALt/encoding/single-ASN1-type
+
+ %(DEFAULT_BODY)s
+
+#.END
+
+#.FN_BODY EXTERNALt/encoding/octet-aligned
+
+ %(DEFAULT_BODY)s
+
+#.END
+
+#.FN_BODY EXTERNALt/encoding/arbitrary
+ tvbuff_t *tvb_usr = NULL;
+ packet_info * pinfo = actx->pinfo;
+ atn_conversation_t *atn_cv = NULL;
+ heur_dtbl_entry_t *hdtbl_entry;
+
+ /* decode bit-string user data within ACSE */
+ offset = dissect_per_bit_string(
+ tvb,
+ offset,
+ actx,
+ tree, hf_index,
+ NO_BOUND,
+ NO_BOUND,
+ FALSE,
+ NULL,
+ 0,
+ &tvb_usr,
+ NULL);
+
+ if (tvb_usr) {
+ /* DT: dstref present, srcref is always zero */
+ if((pinfo->clnp_dstref) && (!pinfo->clnp_srcref)){
+
+ atn_cv = find_atn_conversation(
+ &pinfo->dst,
+ pinfo->clnp_dstref,
+ &pinfo->src);
+ }
+ /* CR: srcref present, dstref always zero */
+ if((pinfo->clnp_srcref) && (!pinfo->clnp_dstref)){
+
+ atn_cv = find_atn_conversation(
+ &pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst);
+ }
+ /* CC: srcref and dstref present */
+ if((pinfo->clnp_srcref) && (pinfo->clnp_dstref)){
+
+ atn_cv = find_atn_conversation(
+ &pinfo->src,
+ pinfo->clnp_srcref,
+ &pinfo->dst);
+ }
+
+ if(atn_cv) {
+ switch(atn_cv->ae_qualifier){
+ case cma: /* contact management */
+
+ call_dissector_with_data(
+ atn_cm_handle,
+ tvb_new_subset_remaining(tvb_usr, 0),
+ pinfo,
+ root_tree,
+ NULL);
+ break;
+ case cpdlc: /* plain old cpdlc */
+ case pmcpdlc: /* protected mode cpdlc */
+
+ call_dissector_with_data(
+ atn_cpdlc_handle,
+ tvb_new_subset_remaining(tvb_usr, 0),
+ pinfo,
+ root_tree,
+ NULL);
+ break;
+ default: /* unknown or unhandled datalink application */
+
+ dissector_try_heuristic(
+ atn_ulcs_heur_subdissector_list,
+ tvb_new_subset_remaining(tvb_usr,0),
+ actx->pinfo,
+ root_tree,
+ &hdtbl_entry,
+ NULL);
+ break;
+ }
+ }else {
+
+ dissector_try_heuristic(
+ atn_ulcs_heur_subdissector_list,
+ tvb_new_subset_remaining(tvb_usr,0),
+ actx->pinfo,
+ root_tree,
+ &hdtbl_entry,
+ NULL);
+ }
+ }
+
+ offset += tvb_reported_length_remaining(tvb, offset);
+
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 4
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=4 tabstop=8 expandtab:
+# :indentSize=4:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.c b/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.c
new file mode 100644
index 00000000..18e32836
--- /dev/null
+++ b/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.c
@@ -0,0 +1,891 @@
+/* packet-atn-ulcs.c
+ * By Mathias Guettler <guettler@web.de>
+ * Copyright 2013
+ *
+ * Routines for ATN upper layer
+ * protocol packet disassembly
+
+ * ATN upper layers are embedded within OSI Layer 4 (COTP).
+ *
+ * ATN upper layers contain:
+ * Session Layer (NUL protocol option)
+ * Presentation Layer (NUL protocol option)
+ * ATN upper Layer/Application (ACSE PDU or PDV-list PDU)
+
+ * ATN applications protocols (i.e. CM or CPDLC) are contained within
+ * ACSE user-information or PDV presentation data.
+
+ * details see:
+ * http://en.wikipedia.org/wiki/CPDLC
+ * http://members.optusnet.com.au/~cjr/introduction.htm
+
+ * standards:
+ * http://legacy.icao.int/anb/panels/acp/repository.cfm
+
+ * note:
+ * We are dealing with ATN/ULCS aka ICAO Doc 9705 Ed2 here
+ * (don't think there is an ULCS equivalent for "FANS-1/A ").
+
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+/*
+ developer comments:
+why not using existing ses, pres and acse dissectors ?
+ ATN upper layers are derived from OSI standards for session,
+ presentation and application but the encoding differs
+ (it's PER instead of BER encoding to save bandwith).
+ Session and presentation use the "null" encoding option,
+ meaning that they are only present at connection establishment
+ and ommitted otherwise.
+ Instead of adapting existing dissectors it seemed simpler and cleaner
+ to implement everything the new atn-ulcs dissector.
+
+why using conversations ?
+ PER encoded user data is ambigous; the same encoding may apply to a CM or
+ CPDLC PDU. The workaround is to decode on a transport connection basis.
+ I use my own version of conversations to identify
+ the transport connection the PDU belongs to for the standard functions
+ from "conversation.h" didn't work out.
+
+what is the use of AARQ/AARE data ?
+ Converstions should be maintained on the COTP layer in a standard way
+ for there are usually more packets available than in the layers above.
+ In the worst case my dissector is called from a DT packet which
+ has destination references but no source reference.
+ I have to guess the reference used the other way round
+ (curently I am using ACSE PDU'S used during OSI connection establishment for that).
+ The idea is that each ACSE AARQ is answered by ACSE AARE and having this sequence
+ I have all the source/destination references for this transport connection.
+ I use AARQ/AARE data to store the source/destination reference of AARQ as well
+ as the optional ae-qualifier which tells me the application and
+ the dissector I have to use.
+ This approach donesn't work well when there are interleaving AARQ/AARE sequences for
+ the same aircraft.
+
+which ATN standard is supported ?
+ The dissector has been tested with ICAO doc9705 Edition2 compliant traffic.
+ No ATN Secutity is supported.
+ note:
+ The ATN upper layers are derived from OSI standards (ICAO DOC 9705)
+ while ATN/IPS (ICAO DOC 9896) which is entirely based on IPV6.
+
+*/
+
+/*
+ known defects/deficiencies:
+
+- user-information within AARE is sometines not decoded due to an unset flag
+ (the field is optional). As far as I can tell asn2wrs is right here,
+ but on the other hand I know that in all of this cases user-information
+ is present and is processed by the ATN end system.
+ Maybe a true ATN expert may help me out here.
+
+ - The conversation handling is based on src/dst addresses as well as
+ source or destination references depending on the TP4 packet type.
+ This means that after some time these references get reused for
+ new conversations. This almost certain happens for traces longer
+ than one day rendering this dissector unsuitable for captures exceeding
+ this one day.
+
+*/
+
+#include "config.h"
+
+#ifndef _MSC_VER
+#include <stdint.h>
+#endif
+
+
+#include <epan/packet.h>
+#include <epan/address.h>
+#include <epan/conversation.h>
+#include <epan/osi-utils.h>
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-atn-ulcs.h"
+
+#define ATN_ACSE_PROTO "ICAO Doc9705 ULCS ACSE (ISO 8649/8650-1:1996)"
+#define ATN_ULCS_PROTO "ICAO Doc9705 ULCS"
+
+void proto_register_atn_ulcs(void);
+void proto_reg_handoff_atn_ulcs(void);
+
+static heur_dissector_list_t atn_ulcs_heur_subdissector_list;
+
+/* presentation subdissectors i.e. CM, CPDLC */
+static dissector_handle_t atn_cm_handle = NULL;
+static dissector_handle_t atn_cpdlc_handle = NULL;
+
+static int proto_atn_ulcs = -1;
+static guint32 ulcs_context_value = 0;
+static const char *object_identifier_id;
+
+static wmem_tree_t *aarq_data_tree = NULL;
+static wmem_tree_t *atn_conversation_tree = NULL;
+
+
+static proto_tree *root_tree = NULL;
+
+/* forward declarations for functions generated from asn1 */
+static int dissect_atn_ulcs_T_externalt_encoding_single_asn1_type(
+ tvbuff_t *tvb _U_,
+ int offset _U_,
+ asn1_ctx_t *actx _U_,
+ proto_tree *tree _U_,
+ int hf_index
+ _U_);
+
+static int dissect_atn_ulcs_T_externalt_encoding_octet_aligned(
+ tvbuff_t *tvb _U_,
+ int offset _U_,
+ asn1_ctx_t *actx _U_,
+ proto_tree *tree _U_,
+ int hf_index _U_);
+
+static int dissect_atn_ulcs_T_externalt_encoding_arbitrary(
+ tvbuff_t *tvb _U_,
+ int offset _U_,
+ asn1_ctx_t *actx _U_,
+ proto_tree *tree _U_,
+ int hf_index _U_);
+
+static int dissect_ACSE_apdu_PDU(
+ tvbuff_t *tvb _U_,
+ packet_info *pinfo _U_,
+ proto_tree *tree _U_,
+ void *data _U_);
+
+guint32 dissect_per_object_descriptor_t(
+ tvbuff_t *tvb,
+ guint32 offset,
+ asn1_ctx_t *actx,
+ proto_tree *tree,
+ int hf_index,
+ tvbuff_t **value_tvb);
+
+static gint dissect_atn_ulcs(
+ tvbuff_t *tvb,
+ packet_info *pinfo,
+ proto_tree *tree,
+ void *data _U_);
+
+#include "packet-atn-ulcs-hf.c"
+
+#include "packet-atn-ulcs-ett.c"
+static gint ett_atn_ulcs = -1;
+static gint ett_atn_acse = -1;
+
+#include "packet-atn-ulcs-fn.c"
+
+#if 0
+/* re-implementing external data: packet-per.c */
+static const value_string per_External_encoding_vals[] = {
+{ 0, "single-ASN1-type" },
+{ 1, "octet-aligned" },
+{ 2, "arbitrary" },
+{ 0, NULL }
+};
+
+/* re-implementing external data: packet-per.c */
+static const per_choice_t External_encoding_choice[] =
+{
+ { 0,
+ &hf_atn_ulcs_externalt_encoding_single_asn1_type,
+ ASN1_NO_EXTENSIONS,
+ dissect_atn_ulcs_T_externalt_encoding_single_asn1_type
+ },
+ { 1,
+ &hf_atn_ulcs_externalt_encoding_octet_aligned,
+ ASN1_NO_EXTENSIONS,
+ dissect_atn_ulcs_T_externalt_encoding_octet_aligned
+ },
+ { 2,
+ &hf_atn_ulcs_externalt_encoding_arbitrary,
+ ASN1_NO_EXTENSIONS,
+ dissect_atn_ulcs_T_externalt_encoding_arbitrary
+ },
+ { 0,
+ NULL,
+ 0,
+ NULL
+ }
+};
+#endif
+
+/* ATN Session layer */
+#define SES_PDU_TYPE_MASK 0xf8
+#define SES_PARAM_IND_MASK 0x04
+#define SES_PARAM_B2_MASK 0x02
+#define SES_PARAM_B1_MASK 0x01
+
+static int hf_atn_ses_type = -1;
+static int hf_atn_ses_param_ind = -1;
+static int hf_atn_ses_param_b1 = -1;
+static int hf_atn_ses_param_b2 = -1;
+
+static gint ett_atn_ses = -1;
+
+#define ATN_SES_PROTO "ICAO Doc9705 ULCS Session (ISO 8326/8327-1:1994)"
+
+const value_string atn_ses_param_ind[] =
+{
+ {0, "No Parameter Indication "},
+ {1, "Parameter Indication "},
+ {0, NULL }
+};
+
+const value_string srf_b2[] =
+{
+ {0, "Transport Connection is kept"},
+ {1, "Transport Connection is released" },
+ {0, NULL }
+};
+
+const value_string srf_b1[] =
+{
+ {0, "Transport Connection is transient"},
+ {1, "Transport Connection is persistent"},
+ {0, NULL }
+};
+
+#define SES_ATN_SCN 0xe8
+#define SES_ATN_SCNC 0xf8
+#define SES_ATN_SAC 0xf0
+#define SES_ATN_SACC 0xd8
+#define SES_ATN_SRF 0xe0
+#define SES_ATN_SRFC 0xa0
+
+const value_string atn_ses_type[] =
+{
+ { 0x1d, "Short Connect (SCN) SPDU" },
+ { 0x1f, "Short Connect Accept (SAC) SPDU" },
+ { 0x1e, "Short Connect Accept Continue (SACC) SPDU" },
+ { 0x1c, "Short Refuse (SRF) SPDU" },
+ { 0x14, "Short Refuse Continue (SRFC) SPDU" },
+ {0, NULL }
+};
+
+/* ATN Presentation layer */
+#define ATN_PRES_PROTO "ICAO Doc9705 ULCS Presentation (ISO 8822/8823-1:1994)"
+
+static int hf_atn_pres_err = -1;
+static int hf_atn_pres_pdu_type = -1;
+static gint ett_atn_pres = -1;
+
+#define ATN_SES_PRES_MASK 0xf803
+#define PRES_CPR_ER_MASK 0x70
+
+/* type determined by SPDU and PPDU */
+const value_string atn_pres_vals[] =
+{
+ { 0xe802, "Short Presentation Connect PPDU (CP) " },
+ { 0xf802, "Short Presentation Connect PPDU (CP) " },
+ { 0xf002, "Short Presentation Connect Accept PPDU (CPA)" },
+ { 0xd802, "Short Presentation Connect Accept PPDU (CPA)" },
+ { 0xe002, "Short Presentation Connect Reject PPDU (CPR)" },
+ { 0xa002, "Short Presentation Connect Reject PPDU (CPR)" },
+ {0, NULL }
+};
+
+/* Short Presentation Connect Reject PPDU's 0yyy 00zz */
+const value_string atn_pres_err[] =
+{
+ { 0x00, "Presentation-user" },
+ { 0x01, "Reason not specified (transient)"},
+ { 0x02, "Temporary congestion (transient)"},
+ { 0x03, "Local limit exceeded (transient)"},
+ { 0x04, "Called presentation-address unknown (permanent)"},
+ { 0x05, "Protocol version not supported (permanent)"},
+ { 0x06, "Default context not supported (permanent)"},
+ { 0x07, "User data not readable (permanent)"},
+ { 0, NULL }
+};
+
+#if 0
+/* re-implementing external data: packet-per.c */
+static int atn_ulcs_Externalt_encoding(
+ tvbuff_t *tvb _U_,
+ int offset _U_,
+ asn1_ctx_t *actx _U_,
+ proto_tree *tree _U_,
+ int hf_index _U_)
+{
+ offset = dissect_per_choice(
+ tvb,
+ offset,
+ actx,
+ tree,
+ hf_index,
+ ett_atn_ulcs_EXTERNALt,
+ External_encoding_choice,
+ &actx->external.encoding);
+
+ return offset;
+}
+
+/* re-implementing external data: packet-per.c */
+static guint32 atn_per_external_type(
+ tvbuff_t *tvb _U_,
+ guint32 offset,
+ asn1_ctx_t *actx,
+ proto_tree *tree _U_,
+ int hf_index _U_,
+ per_type_fn type_cb)
+{
+ memset(&actx->external, '\0', sizeof(actx->external));
+ actx->external.hf_index = -1;
+ actx->external.encoding = -1;
+
+ actx->external.u.per.type_cb = type_cb;
+ offset = atn_ulcs_Externalt_encoding(
+ tvb,
+ offset,
+ actx,
+ tree,
+ hf_index);
+
+ memset(
+ &actx->external,
+ '\0',
+ sizeof(actx->external));
+
+ actx->external.hf_index = -1;
+ actx->external.encoding = -1;
+
+ return offset;
+}
+#endif
+
+/* determine 24-bit aircraft address(ARS) */
+/* from 20-byte ATN NSAP. */
+guint32 get_aircraft_24_bit_address_from_nsap(
+ packet_info *pinfo)
+{
+ const guint8* addr = NULL;
+ guint32 ars =0;
+ guint32 adr_prefix =0;
+
+ /* check NSAP address type*/
+ if( (pinfo->src.type != get_osi_address_type()) ||
+ (pinfo->dst.type != get_osi_address_type())) {
+ return ars; }
+
+ /* 20 octets address length required */
+ /* for ATN */
+ if( (pinfo->src.len != 20) ||
+ (pinfo->dst.len != 20)) {
+ return ars; }
+
+ /* first try source address */
+ /* if the src address originates */
+ /* from an aircraft it's downlink */
+
+ /* convert addr into 32-bit integer */
+ addr = (const guint8 *)pinfo->src.data;
+ adr_prefix =
+ ((addr[0]<<24) |
+ (addr[1]<<16) |
+ (addr[2]<<8) |
+ addr[3] );
+
+ /* according to ICAO doc9507 Ed2 SV5 */
+ /* clause 5.4.3.8.1.5 and 5.4.3.8.1.3 */
+ /* mobile addresses contain "c1" of "41" */
+ /* in the VER subfield of the NSAP */
+ if((adr_prefix == 0x470027c1) ||
+ (adr_prefix == 0x47002741)) {
+ /* ICAO doc9507 Ed2 SV5 5.4.3.8.4.4 */
+ /* states that the ARS subfield containes */
+ /* the 24-bitaddress of the aircraft */
+ ars = ((addr[8])<<16) |
+ ((addr[9])<<8) |
+ (addr[10]);
+ }
+
+ /* try destination address */
+ /* if the src address originates */
+ /* from an aircraft it's downlink */
+
+ /* convert addr into 32-bit integer */
+ addr = (const guint8 *)pinfo->dst.data;
+ adr_prefix = ((addr[0]<<24) |
+ (addr[1]<<16) |
+ (addr[2]<<8) |
+ addr[3] );
+
+ /* according to ICAO doc9507 Ed2 SV5 */
+ /* clause 5.4.3.8.1.5 and 5.4.3.8.1.3 */
+ /* mobile addresses contain "c1" of "41" */
+ /* in the VER subfield of the NSAP */
+ if((adr_prefix == 0x470027c1) ||
+ (adr_prefix == 0x47002741)) {
+ /* ICAO doc9507 Ed2 SV5 5.4.3.8.4.4 */
+ /* states that the ARS subfield containes */
+ /* the 24-bitaddress of the aircraft */
+ ars = ((addr[8])<<16) |
+ ((addr[9])<<8) |
+ (addr[10]);
+ }
+ return ars;
+}
+
+/* determine whether a PDU is uplink or downlink */
+/* by checking for known aircraft address prefices*/
+int check_heur_msg_type(packet_info *pinfo _U_)
+{
+ int t = no_msg;
+ const guint8* addr = NULL;
+ guint32 adr_prefix =0;
+
+ /* check NSAP address type*/
+ if( (pinfo->src.type != get_osi_address_type()) || (pinfo->dst.type != get_osi_address_type())) {
+ return t; }
+
+ /* check NSAP address length; 20 octets address length required */
+ if( (pinfo->src.len != 20) || (pinfo->dst.len != 20)) {
+ return t; }
+
+ addr = (const guint8 *)pinfo->src.data;
+
+ /* convert address to 32-bit integer */
+ adr_prefix = ((addr[0]<<24) | (addr[1]<<16) | (addr[2]<<8) | addr[3] );
+
+ /* According to the published ATN NSAP adddressing scheme */
+ /* in ICAO doc9705 Ed2 SV5 5.4.3.8.1.3 and 5.4.3.8.1.5 */
+ /* the "VER" field shall be 0x41 ("all Mobile AINSC") or */
+ /* 0xc1 ("all Mobile ATSC") for mobile stations (aka aircraft).*/
+ if((adr_prefix == 0x470027c1) || (adr_prefix == 0x47002741)) {
+ t = dm; /* source is an aircraft: it's a downlink PDU */
+ }
+
+ addr = (const guint8 *)pinfo->dst.data;
+
+ /* convert address to 32-bit integer */
+ adr_prefix = ((addr[0]<<24) | (addr[1]<<16) | (addr[2]<<8) | addr[3] );
+
+ /* According to the published ATN NSAP adddressing scheme */
+ /* in ICAO doc9705 Ed2 SV5 5.4.3.8.1.3 and 5.4.3.8.1.5 */
+ /* the "VER" field shall be 0x41 ("all Mobile AINSC") or */
+ /* 0xc1 ("all Mobile ATSC") for mobile stations (aka aircraft).*/
+ if((adr_prefix == 0x470027c1) || (adr_prefix == 0x47002741)) {
+ t = um; /* destination is aircraft: uplink PDU */
+ }
+
+ return t;
+}
+
+/* conversation may be used by other dissectors */
+wmem_tree_t *get_atn_conversation_tree(void){
+ return atn_conversation_tree;
+}
+
+
+/* find a atn conversation tree node by an endpoint */
+/* an endpoint is identified by atn src and dst addresses */
+/* and srcref or dstref (depends on the transport packet type) */
+/* IMHO it's a hack - conversations should be maintained */
+/* at transport layer (cotp) but this isn't working yet. */
+atn_conversation_t * find_atn_conversation(
+ address *address1,
+ guint16 clnp_ref1,
+ address *address2 )
+{
+ atn_conversation_t *cv = NULL;
+ guint32 key = 0;
+ guint32 tmp = 0;
+
+ tmp = add_address_to_hash( tmp, address1);
+ key = (tmp << 16) | clnp_ref1 ;
+
+ tmp = add_address_to_hash( tmp, address2);
+ key = (tmp << 24) | key ;
+
+ /* search for atn conversation */
+ cv = (atn_conversation_t *)
+ wmem_tree_lookup32(get_atn_conversation_tree(),key);
+
+ return cv;
+}
+
+/* create a atn conversation tree node */
+/* conversation data is to be allocated externally */
+/* a conversation may be referenced from both endpoints */
+atn_conversation_t * create_atn_conversation(
+ address *address1,
+ guint16 clnp_ref1,
+ address *address2,
+ atn_conversation_t *conversation)
+{
+ atn_conversation_t *cv = NULL;
+ guint32 key = 0;
+ guint32 tmp = 0;
+
+ tmp = add_address_to_hash( tmp, address1);
+ key = (tmp << 16) | clnp_ref1 ;
+
+ tmp = add_address_to_hash( tmp, address2);
+ key = (tmp << 24) | key ;
+
+ /* search for aircraft entry */
+ cv = (atn_conversation_t *)
+ wmem_tree_lookup32(
+ get_atn_conversation_tree(),
+ key);
+
+ /* tree node already present */
+ if(cv) {
+ return NULL; }
+
+ /* insert conversation data in tree*/
+ wmem_tree_insert32(
+ get_atn_conversation_tree(),
+ key,
+ (void*)conversation);
+
+ return conversation;
+}
+
+static int
+dissect_atn_ulcs(
+ tvbuff_t *tvb,
+ packet_info *pinfo,
+ proto_tree *tree,
+ void *data _U_)
+{
+ int offset = 0;
+ proto_item *ti = NULL;
+ proto_tree *atn_ulcs_tree = NULL;
+ guint8 value_pres = 0;
+ guint8 value_ses = 0;
+ guint16 value_ses_pres = 0;
+
+ root_tree = tree;
+
+ /* data pointer */
+ /* decode as PDV-list */
+ if ( (int)(intptr_t) data == FALSE )
+ {
+ ti = proto_tree_add_item(
+ tree,
+ proto_atn_ulcs,
+ tvb,
+ 0,
+ 0 ,
+ ENC_NA);
+
+ atn_ulcs_tree = proto_item_add_subtree(
+ ti,
+ ett_atn_ulcs);
+
+ dissect_Fully_encoded_data_PDU(
+ tvb,
+ pinfo,
+ atn_ulcs_tree, NULL);
+
+ return offset +
+ tvb_reported_length_remaining(tvb, offset ) ;
+ }
+
+ /* decode as SPDU, PPDU and ACSE PDU */
+ if ( (int)(intptr_t) data == TRUE )
+ {
+ /* get session and presentation PDU's */
+ value_ses_pres = tvb_get_ntohs(tvb, offset);
+
+ /* SPDU: dissect session layer */
+ atn_ulcs_tree = proto_tree_add_subtree(
+ tree, tvb, offset, 0,
+ ett_atn_ses, NULL, ATN_SES_PROTO );
+
+ /* get SPDU (1 octet) */
+ value_ses = tvb_get_guint8(tvb, offset);
+
+ /* SPDU type/identifier */
+ proto_tree_add_item(atn_ulcs_tree,
+ hf_atn_ses_type,
+ tvb,
+ offset,
+ 1,
+ ENC_BIG_ENDIAN );
+
+ /* SPDU parameters may be present in Short Refuse */
+ /* or Short Refuse Continue SPDU's */
+ switch(value_ses & SES_PDU_TYPE_MASK){
+ case SES_ATN_SRF:
+ case SES_ATN_SRFC:
+
+ /* SPDU parameter presence */
+ proto_tree_add_item(atn_ulcs_tree,
+ hf_atn_ses_param_ind,
+ tvb,
+ offset,
+ 1,
+ ENC_BIG_ENDIAN );
+
+ /* parameter B2 */
+ proto_tree_add_item(atn_ulcs_tree,
+ hf_atn_ses_param_b2,
+ tvb,
+ offset,
+ 1,
+ ENC_BIG_ENDIAN );
+
+ /* parameter B1 */
+ proto_tree_add_item(atn_ulcs_tree,
+ hf_atn_ses_param_b1,
+ tvb,
+ offset,
+ 1,
+ ENC_BIG_ENDIAN );
+
+ break;
+ default:
+ break;
+ }
+ offset++;
+
+ /* PPDU: dissect presentation layer */
+ atn_ulcs_tree = proto_tree_add_subtree(
+ tree, tvb, offset, 0,
+ ett_atn_pres, NULL, ATN_PRES_PROTO );
+
+ value_pres = tvb_get_guint8(tvb, offset);
+
+ /* need session context to identify PPDU type */
+ /* note: */
+ proto_tree_add_uint_format(atn_ulcs_tree, hf_atn_pres_pdu_type,
+ tvb,
+ offset,
+ 1,
+ value_ses_pres,
+ "%s (0x%02x)",
+ val_to_str_const( value_ses_pres & ATN_SES_PRES_MASK, atn_pres_vals, "?"),
+ value_pres);
+
+ /* PPDU errorcode in case of SRF/CPR */
+ switch(value_ses & SES_PDU_TYPE_MASK){
+ case SES_ATN_SRF:
+ case SES_ATN_SRFC:
+ proto_tree_add_item(
+ atn_ulcs_tree,
+ hf_atn_pres_err,
+ tvb,
+ offset,
+ 1,
+ ENC_BIG_ENDIAN );
+ break;
+ default:
+ break;
+ }
+
+ offset++;
+
+ /* ACSE PDU: dissect application layer */
+ atn_ulcs_tree = proto_tree_add_subtree(
+ tree, tvb, offset, 0,
+ ett_atn_acse, NULL, ATN_ACSE_PROTO );
+
+ dissect_ACSE_apdu_PDU(
+ tvb_new_subset_remaining(tvb, offset),
+ pinfo,
+ atn_ulcs_tree, NULL);
+
+ return offset +
+ tvb_reported_length_remaining(tvb, offset );
+ }
+ return offset;
+}
+
+static gboolean dissect_atn_ulcs_heur(
+ tvbuff_t *tvb,
+ packet_info *pinfo,
+ proto_tree *tree,
+ void *data _U_)
+{
+ /* do we have enough data*/
+ /* at least session + presentation data or pdv-list */
+ if (tvb_captured_length(tvb) < 2){
+ return FALSE; }
+
+ /* check for session/presentation/ACSE PDU's */
+ /* SPDU and PPDU are one octet each */
+ switch( tvb_get_ntohs(tvb, 0) & 0xf8ff ){
+ case 0xe802: /* SCN + CP*/
+ case 0xf802: /* SCNC + CP */
+ case 0xf002: /* SAC + CPA */
+ case 0xd802: /* SACC + CPA */
+ case 0xe002: /* SRF + CPR + R0 */
+ case 0xe012: /* SRF + CPR + R1 */
+ case 0xe022: /* SRF + CPR + R2 */
+ case 0xe032: /* SRF + CPR + R3 */
+ case 0xe042: /* SRF + CPR + R4 */
+ case 0xe052: /* SRF + CPR + R5 */
+ case 0xe062: /* SRF + CPR + R6 */
+ case 0xe072: /* SRF + CPR + R7 */
+ case 0xa002: /* SRFC + CPR + R0*/
+ case 0xa012: /* SRFC + CPR + R1*/
+ case 0xa022: /* SRFC + CPR + R2*/
+ case 0xa032: /* SRFC + CPR + R3*/
+ case 0xa042: /* SRFC + CPR + R4*/
+ case 0xa052: /* SRFC + CPR + R5*/
+ case 0xa062: /* SRFC + CPR + R6*/
+ case 0xa072: /* SRFC + CPR + R7*/
+ /* indicate to dissector routine */
+ /* that a least SPDU, PPDU and */
+ /* ACSE PDU is present */
+ dissect_atn_ulcs(
+ tvb,
+ pinfo,
+ tree,
+ (void*) TRUE);
+ return TRUE;
+ default: /* no SPDU */
+ break;
+ }
+
+ /* try to detect "Fully-encoded-data" heuristically */
+ /* the constants listed match the ASN.1 PER encoding */
+ /* of PDV-List */
+ switch( tvb_get_ntohs(tvb, 0) & 0xfff0 ){
+ case 0x0020: /* acse-apdu */
+ case 0x00a0: /* user-ase-apdu */
+ /* indicate to dissector routine */
+ /* that a PDV-list PDU is present */
+ /* */
+ /* PDV-list PDU may contain */
+ /* application protocol data (CM, CPDLC) */
+ /* or an ACSE PDU */
+ dissect_atn_ulcs(tvb, pinfo, tree, (void*) FALSE);
+ return TRUE;
+ break;
+ default: /* no or unsupported PDU */
+ break;
+ }
+ return FALSE;
+}
+
+void proto_register_atn_ulcs (void)
+{
+ static hf_register_info hf_atn_ulcs[] = {
+ #include "packet-atn-ulcs-hfarr.c"
+ {&hf_atn_ses_type,
+ { "SPDU Type",
+ "atn-ulcs.ses.type",
+ FT_UINT8,
+ BASE_HEX,
+ VALS(atn_ses_type),
+ 0xf8,
+ "Indicates presence of session parameters",
+ HFILL}},
+ {&hf_atn_ses_param_ind,
+ { "SPDU Parameter Indication",
+ "atn-ulcs.ses.parameter-indication",
+ FT_UINT8,
+ BASE_HEX,
+ VALS(atn_ses_param_ind),
+ SES_PARAM_IND_MASK,
+ "Indicates presence of session parameters",
+ HFILL}},
+ {&hf_atn_ses_param_b1,
+ { "SRF Parameter B1",
+ "atn-ulcs.ses.srf-b1",
+ FT_UINT8,
+ BASE_HEX,
+ VALS(srf_b1),
+ 0x01,
+ "Determines if transport connection reject is transient or persistent",
+ HFILL}},
+ {&hf_atn_ses_param_b2,
+ { "SRF Parameter B2",
+ "atn-ulcs.ses.srf-b2",
+ FT_UINT8,
+ BASE_HEX,
+ VALS(srf_b2),
+ 0x02,
+ "Determines if transport connection is retained or released",
+ HFILL}},
+ { &hf_atn_pres_err,
+ { "Error Code", "atn-ulcs.pres.cpr-error",
+ FT_UINT8,
+ BASE_HEX,
+ VALS(atn_pres_err),
+ PRES_CPR_ER_MASK,
+ NULL,
+ HFILL}},
+ { &hf_atn_pres_pdu_type,
+ { "PDU type", "atn-ulcs.pres.pdu_type",
+ FT_UINT16,
+ BASE_HEX,
+ NULL,
+ ATN_SES_PRES_MASK,
+ NULL,
+ HFILL}},
+ };
+
+ static gint *ett[] = {
+ #include "packet-atn-ulcs-ettarr.c"
+ &ett_atn_ses,
+ &ett_atn_pres,
+ &ett_atn_acse,
+ &ett_atn_ulcs
+ };
+
+ proto_atn_ulcs = proto_register_protocol (
+ ATN_ULCS_PROTO ,
+ "ATN-ULCS",
+ "atn-ulcs");
+
+ proto_register_field_array (
+ proto_atn_ulcs,
+ hf_atn_ulcs,
+ array_length(hf_atn_ulcs));
+
+ proto_register_subtree_array (
+ ett,
+ array_length (ett));
+
+ register_dissector(
+ "atn-ulcs",
+ dissect_atn_ulcs,
+ proto_atn_ulcs);
+
+ /* initiate sub dissector list */
+ atn_ulcs_heur_subdissector_list = register_heur_dissector_list("atn-ulcs", proto_atn_ulcs);
+
+ /* init aare/aare data */
+ aarq_data_tree = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+
+ atn_conversation_tree = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+}
+
+void proto_reg_handoff_atn_ulcs(void)
+{
+ atn_cm_handle = find_dissector_add_dependency("atn-cm", proto_atn_ulcs);
+ atn_cpdlc_handle = find_dissector_add_dependency("atn-cpdlc", proto_atn_ulcs);
+
+ /* add session dissector to cotp dissector list dissector list*/
+ heur_dissector_add(
+ "cotp",
+ dissect_atn_ulcs_heur,
+ "ATN-ULCS over COTP",
+ "atn-ucls_cotp",
+ proto_atn_ulcs, HEURISTIC_ENABLE);
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.h b/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.h
new file mode 100644
index 00000000..872403f8
--- /dev/null
+++ b/epan/dissectors/asn1/atn-ulcs/packet-atn-ulcs-template.h
@@ -0,0 +1,81 @@
+/* packet-atn-ulcs.h
+ * Definitions for atn packet disassembly structures and routines
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+#ifndef PACKET_ATN_ULCS_H
+#define PACKET_ATN_ULCS_H
+
+#include "packet.h"
+
+#include <epan/wmem_scopes.h>
+
+enum msg_type {
+ um,
+ dm,
+ no_msg
+};
+
+enum ae_qualifier {
+ ads = 0,
+ cma =1, /* contact management (CM) */
+ cpdlc = 2, /* "plain old" CPDLC */
+ ati = 3 ,
+ arf =10 ,
+ met =11,
+ gac =12,
+ pmcpdlc =22, /* "protected mode" CPDLC */
+ unknown = -1
+};
+
+typedef struct atn_conversation_t {
+ gint ae_qualifier; /* A/G application type */
+} atn_conversation_t;
+
+atn_conversation_t * create_atn_conversation(
+ address*,
+ guint16,
+ address*,
+ atn_conversation_t*);
+
+atn_conversation_t * find_atn_conversation(
+ address*,
+ guint16,
+ address*);
+
+/* struct for conversation data reconstruction used in AARQ and AARE */
+/* if transport data is larger than 32 octets AARQ/AARE is contained */
+/* within DT frames which have only dest_ref, but no src_ref */
+/* if AARQ/AARQ is contained within CR/CC only src_ref is present in CR */
+/* while CC provides src_ref and dstref */
+typedef struct aarq_data_t {
+ gboolean aarq_pending; /* flag tells whether AARQ/sequence is pending (true) */
+ /* required not to mix up different AARQ/AARE sequences */
+ /* during simoultanous establishment of transport connections */
+ /* i.e. GND facility initialises cpcstart and cmcontact at the same time */
+ atn_conversation_t* cv; /* pointer to AARQ conversation */
+} aarq_data_t;
+
+wmem_tree_t *get_atn_conversation_tree(void);
+
+guint32 get_aircraft_24_bit_address_from_nsap(packet_info *);
+int check_heur_msg_type(packet_info *);
+
+#endif
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/c1222/CMakeLists.txt b/epan/dissectors/asn1/c1222/CMakeLists.txt
new file mode 100644
index 00000000..96c3e46a
--- /dev/null
+++ b/epan/dissectors/asn1/c1222/CMakeLists.txt
@@ -0,0 +1,38 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME c1222 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/c1222/c1222.asn b/epan/dissectors/asn1/c1222/c1222.asn
new file mode 100644
index 00000000..a92781ce
--- /dev/null
+++ b/epan/dissectors/asn1/c1222/c1222.asn
@@ -0,0 +1,81 @@
+-- C1222 PROTOCOL
+--
+
+C1222-PROTOCOL DEFINITIONS ::=
+BEGIN
+
+MESSAGE ::= [APPLICATION 0] IMPLICIT SEQUENCE {
+ aSO-context [1] ASO-qualifier OPTIONAL,
+ called-AP-title [2] Called-AP-title OPTIONAL,
+ called-AP-invocation-id [4] Called-AP-invocation-id OPTIONAL,
+ calling-AP-title [6] Calling-AP-title OPTIONAL,
+ calling-AE-qualifier [7] Calling-AE-qualifier OPTIONAL,
+ calling-AP-invocation-id [8] Calling-AP-invocation-id,
+ mechanism-name [11] IMPLICIT Mechanism-name OPTIONAL,
+ calling-authentication-value [12] Calling-authentication-value OPTIONAL,
+ user-information [30] User-information
+}
+
+ASO-qualifier ::= OBJECT IDENTIFIER
+
+Called-AP-title ::= CHOICE {
+ called-ap-title-abs OBJECT IDENTIFIER,
+ called-ap-title-rel [0] IMPLICIT RELATIVE-OID
+}
+Calling-AP-title ::= CHOICE {
+ calling-ap-title-abs OBJECT IDENTIFIER,
+ calling-ap-title-rel [0] IMPLICIT RELATIVE-OID
+}
+AP-invocation-id ::= INTEGER
+Called-AP-invocation-id ::= AP-invocation-id
+Calling-AP-invocation-id ::= AP-invocation-id
+AE-qualifier ::= INTEGER
+Calling-AE-qualifier ::= AE-qualifier
+Mechanism-name ::= OBJECT IDENTIFIER
+
+-- this is all of the authentication mechanism related stuff
+
+Calling-authentication-value ::= [2] IMPLICIT SEQUENCE {
+ calling-authentication-value-indirect INTEGER DEFAULT 0,
+ calling-authentication-value-encoding Authentication-value-encoding
+}
+
+Authentication-value-encoding ::= CHOICE {
+ calling-authentication-value-single-asn1 [0] Calling-authentication-value-single-asn1,
+ calling-authentication-value-octet-aligned [1] IMPLICIT OCTET STRING
+}
+
+Calling-authentication-value-single-asn1 ::= CHOICE {
+ calling-authentication-value-c1222 Calling-authentication-value-c1222,
+ calling-authentication-value-c1221 Calling-authentication-value-c1221
+}
+
+Calling-authentication-value-c1222 ::= [1] IMPLICIT SEQUENCE {
+ key-id-element [0] IMPLICIT Key-id-element OPTIONAL,
+ iv-element [1] IMPLICIT Iv-element OPTIONAL
+}
+
+Key-id-element ::= OCTET STRING (SIZE(1))
+Iv-element ::= OCTET STRING (SIZE(4))
+
+Calling-authentication-value-c1221 ::= [0] IMPLICIT CHOICE {
+ c1221-auth-identification [0] IMPLICIT OCTET STRING (SIZE(3|5..259)),
+ c1221-auth-request [1] IMPLICIT OCTET STRING (SIZE(1..255)),
+ c1221-auth-response [2] IMPLICIT OCTET STRING (SIZE(0|1..255)),
+ ...
+}
+
+-- now the user information (EPSEM)
+User-information ::= EXTERNAL
+
+--User-information EPSEM-TYPE ::= { ... }
+
+--EPSEM-TYPE ::= CLASS {
+-- &direct-reference OBJECT IDENTIFIER OPTIONAL,
+-- &octet-aligned [1] IMPLICIT OCTET STRING
+--}
+
+
+END
+
+
diff --git a/epan/dissectors/asn1/c1222/c1222.cnf b/epan/dissectors/asn1/c1222/c1222.cnf
new file mode 100644
index 00000000..d3bf6dd5
--- /dev/null
+++ b/epan/dissectors/asn1/c1222/c1222.cnf
@@ -0,0 +1,115 @@
+# c1222.cnf
+# C1222 conformation file
+# Copyright 2010, Edward J. Beroset, edward.beroset@elster.com
+
+#.MODULE_IMPORT
+IMPORT ../acse/acse.inf
+
+#.EXPORTS
+
+#.PDU
+MESSAGE
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.TYPE_ATTR
+Calling-authentication-value-c1222/_untag/iv-element BLURB="c1222.iv-element"
+Calling-authentication-value-c1222/_untag/key-id-element BLURB = "c1222.key-id-element"
+AP-invocation-id TYPE=FT_UINT32
+AE-qualifier TYPE=FT_UINT32
+
+#.FN_BODY User-information
+ gint8 end_device_class;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+ proto_item *tf = NULL;
+ proto_tree *epsem_tree = NULL;
+ FILL_START;
+
+ /* get Tag and Length */
+ offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &end_device_class, &pc, &tag);
+ offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
+ FILL_TABLE_TRUNCATE(user_information, len+offset-start_offset);
+ if (tag == 0x8) { /* BER_TAG_EXTERNAL */
+ offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &end_device_class, &pc, &tag);
+ offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
+ if (tag == 0x1) { /* implicit octet string */
+ tf = proto_tree_add_item(tree, hf_c1222_user_information, tvb, offset, len, ENC_NA);
+ epsem_tree = proto_item_add_subtree(tf, ett_c1222_epsem);
+ dissect_epsem(tvb, offset, len, actx->pinfo, epsem_tree);
+ offset += len;
+ }
+ }
+
+#.FN_BODY ASO-qualifier
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE(aSO_context);
+
+#.FN_BODY Called-AP-title
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE_APTITLE(called_AP_title);
+
+#.FN_BODY Called-AP-invocation-id
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE(called_AP_invocation_id);
+
+#.FN_BODY Calling-AE-qualifier
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE(calling_AE_qualifier);
+
+#.FN_BODY Calling-AP-invocation-id
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE(calling_AP_invocation_id);
+
+#.FN_BODY Mechanism-name
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE(mechanism_name);
+
+#.FN_BODY Calling-authentication-value
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE(calling_authentication_value);
+
+#.FN_BODY Calling-AP-title
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE_APTITLE(calling_AP_title);
+
+#.FN_BODY Key-id-element
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE(key_id_element);
+
+#.FN_BODY Iv-element
+ FILL_START;
+ %(DEFAULT_BODY)s
+ FILL_TABLE(iv_element);
+
+#.FN_BODY MESSAGE
+ clear_canon();
+ %(DEFAULT_BODY)s
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/c1222/packet-c1222-template.c b/epan/dissectors/asn1/c1222/packet-c1222-template.c
new file mode 100644
index 00000000..276a9278
--- /dev/null
+++ b/epan/dissectors/asn1/c1222/packet-c1222-template.c
@@ -0,0 +1,1496 @@
+/* packet-c1222.c
+ * Routines for ANSI C12.22 packet dissection
+ * Copyright 2010, Edward J. Beroset, edward.beroset@elster.com
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/expert.h>
+#include <epan/prefs.h>
+#include <epan/strutil.h>
+#include <epan/uat.h>
+#include <epan/oids.h>
+#include <wsutil/eax.h>
+#include "packet-ber.h"
+#include "packet-tcp.h"
+#include "packet-c1222.h"
+
+#define PNAME "ANSI C12.22"
+#define PSNAME "C12.22"
+#define PFNAME "c1222"
+#define C1222_PORT 1153 /* TCP port */
+
+/* C12.22 flag definitions */
+#define C1222_EPSEM_FLAG_RESERVED 0x80
+#define C1222_EPSEM_FLAG_RECOVERY_SESSION 0x40
+#define C1222_EPSEM_FLAG_PROXY_SERVICE_USED 0x20
+#define C1222_EPSEM_FLAG_ED_CLASS_INCLUDED 0x10
+#define C1222_EPSEM_FLAG_SECURITY_MODE 0x0c
+#define C1222_EPSEM_FLAG_RESPONSE_CONTROL 0x03
+
+#define C1222_PROCEDURE_RESPONSE 0xf000
+#define C1222_PROCEDURE_MFG 0x800
+#define C1222_PROCEDURE_NUMBER 0x7ff
+
+/* if the packet is encrypted, it can be
+ * good, bad, or simply not checked
+ */
+#define C1222_EPSEM_CRYPTO_GOOD 0x01
+#define C1222_EPSEM_CRYPTO_BAD 0x02
+
+/* these defines are for each of the C12.22 services */
+#define C1222_CMD_IDENTIFY 0x20
+#define C1222_CMD_TERMINATE 0x21
+#define C1222_CMD_DISCONNECT 0x22
+#define C1222_CMD_FULL_READ 0x30
+#define C1222_CMD_DEFAULT_READ 0x3E
+#define C1222_CMD_PARTIAL_READ_OFFSET 0x3F
+#define C1222_CMD_FULL_WRITE 0x40
+#define C1222_CMD_DEFAULT_WRITE 0x4E
+#define C1222_CMD_PARTIAL_WRITE_OFFSET 0x4F
+#define C1222_CMD_LOGON 0x50
+#define C1222_CMD_SECURITY 0x51
+#define C1222_CMD_LOGOFF 0x52
+#define C1222_CMD_AUTHENTICATE 0x53
+#define C1222_CMD_NEGOTIATE 0x60
+#define C1222_CMD_WAIT 0x70
+#define C1222_CMD_TIMING_SETUP 0x71
+
+void proto_register_c1222(void);
+
+static dissector_handle_t c1222_handle=NULL;
+static dissector_handle_t c1222_udp_handle=NULL;
+
+/* Initialize the protocol and registered fields */
+static int proto_c1222 = -1;
+
+#include "packet-c1222-hf.c"
+/* These are the EPSEM pieces */
+/* first, the flag components */
+static int hf_c1222_epsem_flags = -1;
+static int hf_c1222_epsem_flags_reserved = -1;
+static int hf_c1222_epsem_flags_recovery = -1;
+static int hf_c1222_epsem_flags_proxy = -1;
+static int hf_c1222_epsem_flags_ed_class = -1;
+static int hf_c1222_epsem_flags_security_modes = -1;
+static int hf_c1222_epsem_flags_response_control = -1;
+/* and the structure of the flag components */
+static int * const c1222_flags[] = {
+ &hf_c1222_epsem_flags_reserved,
+ &hf_c1222_epsem_flags_recovery,
+ &hf_c1222_epsem_flags_proxy,
+ &hf_c1222_epsem_flags_ed_class,
+ &hf_c1222_epsem_flags_security_modes,
+ &hf_c1222_epsem_flags_response_control,
+ NULL
+};
+/* next the optional ed_class */
+static int hf_c1222_epsem_ed_class = -1;
+/* now the aggregate epsem */
+static int hf_c1222_epsem_total = -1;
+/* generic command */
+static int hf_c1222_cmd = -1;
+static int hf_c1222_err = -1;
+static int hf_c1222_data = -1;
+/* individual epsem fields */
+static int hf_c1222_logon_id = -1;
+static int hf_c1222_logon_user = -1;
+static int hf_c1222_security_password = -1;
+static int hf_c1222_auth_len = -1;
+static int hf_c1222_auth_data = -1;
+static int hf_c1222_read_table = -1;
+static int hf_c1222_read_offset = -1;
+static int hf_c1222_read_count = -1;
+static int hf_c1222_write_table = -1;
+static int hf_c1222_write_offset = -1;
+static int hf_c1222_write_size = -1;
+static int hf_c1222_write_data = -1;
+static int hf_c1222_procedure_response = -1;
+static int hf_c1222_procedure_mfg = -1;
+static int hf_c1222_procedure_num = -1;
+static int hf_c1222_procedure_sequence = -1;
+static int hf_c1222_write_chksum = -1;
+static int hf_c1222_write_chksum_status = -1;
+static int hf_c1222_wait_secs = -1;
+static int hf_c1222_neg_pkt_size = -1;
+static int hf_c1222_neg_nbr_pkts = -1;
+static int hf_c1222_timing_setup_traffic = -1;
+static int hf_c1222_timing_setup_inter_char = -1;
+static int hf_c1222_timing_setup_resp_to = -1;
+static int hf_c1222_timing_setup_nbr_retries = -1;
+
+/* the MAC */
+static int hf_c1222_epsem_mac = -1;
+
+/* crypto result flags */
+static int hf_c1222_epsem_crypto_good = -1;
+static int hf_c1222_epsem_crypto_bad = -1;
+
+/* Initialize the subtree pointers */
+static int ett_c1222 = -1;
+static int ett_c1222_epsem = -1;
+static int ett_c1222_flags = -1;
+static int ett_c1222_crypto = -1;
+static int ett_c1222_cmd = -1;
+
+/* these pointers are for the header elements that may be needed to verify the crypto */
+static guint8 *aSO_context = NULL;
+static guint8 *called_AP_title = NULL;
+static guint8 *called_AP_invocation_id = NULL;
+static guint8 *calling_AE_qualifier = NULL;
+static guint8 *calling_AP_invocation_id = NULL;
+static guint8 *mechanism_name = NULL;
+static guint8 *calling_authentication_value = NULL;
+static guint8 *user_information = NULL;
+static guint8 *calling_AP_title = NULL;
+static guint8 *key_id_element = NULL;
+static guint8 *iv_element = NULL;
+
+/* these are the related lengths */
+static guint32 aSO_context_len = 0;
+static guint32 called_AP_title_len = 0;
+static guint32 called_AP_invocation_id_len = 0;
+static guint32 calling_AE_qualifier_len = 0;
+static guint32 calling_AP_invocation_id_len = 0;
+static guint32 mechanism_name_len = 0;
+static guint32 calling_authentication_value_len = 0;
+static guint32 user_information_len = 0;
+static guint32 calling_AP_title_len = 0;
+static guint32 key_id_element_len = 0;
+static guint32 iv_element_len = 0;
+
+/* these are the related allocation sizes (which might be different from the lengths) */
+static guint32 aSO_context_allocated = 0;
+static guint32 called_AP_title_allocated = 0;
+static guint32 called_AP_invocation_id_allocated = 0;
+static guint32 calling_AE_qualifier_allocated = 0;
+static guint32 calling_AP_invocation_id_allocated = 0;
+static guint32 mechanism_name_allocated = 0;
+static guint32 calling_authentication_value_allocated = 0;
+static guint32 user_information_allocated = 0;
+static guint32 calling_AP_title_allocated = 0;
+static guint32 key_id_element_allocated = 0;
+static guint32 iv_element_allocated = 0;
+
+#include "packet-c1222-ett.c"
+
+static expert_field ei_c1222_command_truncated = EI_INIT;
+static expert_field ei_c1222_bad_checksum = EI_INIT;
+static expert_field ei_c1222_epsem_missing = EI_INIT;
+static expert_field ei_c1222_epsem_failed_authentication = EI_INIT;
+static expert_field ei_c1222_epsem_not_decrypted = EI_INIT;
+static expert_field ei_c1222_ed_class_missing = EI_INIT;
+static expert_field ei_c1222_epsem_ber_length_error = EI_INIT;
+static expert_field ei_c1222_epsem_field_length_error = EI_INIT;
+static expert_field ei_c1222_mac_missing = EI_INIT;
+
+/* Preferences */
+static gboolean c1222_desegment = TRUE;
+static gboolean c1222_decrypt = TRUE;
+static gboolean c1222_big_endian = FALSE;
+static const gchar *c1222_baseoid_str = NULL;
+static guint8 *c1222_baseoid = NULL;
+static guint c1222_baseoid_len = 0;
+
+/*------------------------------
+ * Data Structures
+ *------------------------------
+ */
+static const value_string c1222_security_modes[] = {
+ { 0x00, "Cleartext"},
+ { 0x01, "Cleartext with authentication"},
+ { 0x02, "Ciphertext with authentication"},
+ { 0, NULL }
+};
+
+static const value_string c1222_response_control[] = {
+ { 0x00, "Always respond"},
+ { 0x01, "Respond on exception"},
+ { 0x02, "Never respond"},
+ { 0, NULL }
+};
+
+static const value_string tableflags[] = {
+ { 0x00, "ST" },
+ { 0x08, "MT" },
+ { 0x10, "Pending ST" },
+ { 0x18, "Pending MT" },
+ { 0x20, "UDT" },
+ { 0x30, "Pending UDT" },
+ { 0, NULL }
+};
+
+static const value_string procflags[] = {
+ { 0x00, "SF" },
+ { 0x08, "MF" },
+ { 0, NULL }
+};
+
+static const value_string c1222_proc_response_control[] = {
+ { 0x00, "Post response in ST-8 on completion" },
+ { 0x01, "Post response in ST-8 on exception" },
+ { 0x02, "Do not post response in ST-8" },
+ { 0x03, "Post response in ST-8 now, and on completion" },
+ { 0, NULL }
+};
+
+static const value_string commandnames[] = {
+/* error codes are in the range 0x00 - 0x1f inclusive */
+ { 0x00, "OK" },
+ { 0x01, "Error" },
+ { 0x02, "Service Not Supported" },
+ { 0x03, "Insufficient Security Clearance" },
+ { 0x04, "Operation Not Possible" },
+ { 0x05, "Inappropriate Action Requested" },
+ { 0x06, "Device Busy" },
+ { 0x07, "Data Not Ready" },
+ { 0x08, "Data Locked" },
+ { 0x09, "Renegotiate Request" },
+ { 0x0A, "Invalid Service Sequence State" },
+ { 0x0B, "Security Mechanism Error" },
+ { 0x0C, "Unknown Application Title" },
+ { 0x0D, "Network Time-out" },
+ { 0x0E, "Network Not Reachable" },
+ { 0x0F, "Request Too Large" },
+ { 0x10, "Response Too Large" },
+ { 0x11, "Segmentation Not Possible" },
+ { 0x12, "Segmentation Error" },
+/* commands are in the range 0x20 - 0x7f inclusive */
+ {C1222_CMD_IDENTIFY, "Identify" },
+ {C1222_CMD_TERMINATE, "Terminate" },
+ {C1222_CMD_DISCONNECT, "Disconnect" },
+ {C1222_CMD_FULL_READ, "Full Read" },
+ {C1222_CMD_DEFAULT_READ, "Default Read" },
+ {C1222_CMD_PARTIAL_READ_OFFSET, "Partial Read Offset" },
+ {C1222_CMD_FULL_WRITE, "Full Write" },
+ {C1222_CMD_DEFAULT_WRITE, "Default Write" },
+ {C1222_CMD_PARTIAL_WRITE_OFFSET, "Partial Write Offset" },
+ {C1222_CMD_LOGON, "Logon" },
+ {C1222_CMD_SECURITY, "Security" },
+ {C1222_CMD_LOGOFF, "Logoff" },
+ {C1222_CMD_AUTHENTICATE, "Authenticate" },
+ {C1222_CMD_NEGOTIATE, "Negotiate" },
+ {C1222_CMD_NEGOTIATE | 0x1, "Negotiate w/ 1 Baud Rate" },
+ {C1222_CMD_NEGOTIATE | 0x2, "Negotiate w/ 2 Baud Rates" },
+ {C1222_CMD_NEGOTIATE | 0x3, "Negotiate w/ 3 Baud Rates" },
+ {C1222_CMD_NEGOTIATE | 0x4, "Negotiate w/ 4 Baud Rates" },
+ {C1222_CMD_NEGOTIATE | 0x5, "Negotiate w/ 5 Baud Rates" },
+ {C1222_CMD_NEGOTIATE | 0x6, "Negotiate w/ 6 Baud Rates" },
+ {C1222_CMD_NEGOTIATE | 0x7, "Negotiate w/ 7 Baud Rates" },
+ {C1222_CMD_NEGOTIATE | 0x8, "Negotiate w/ 8 Baud Rates" },
+ {C1222_CMD_NEGOTIATE | 0x9, "Negotiate w/ 9 Baud Rates" },
+ {C1222_CMD_NEGOTIATE | 0xA, "Negotiate w/ 10 Baud Rates" },
+ {C1222_CMD_NEGOTIATE | 0xB, "Negotiate w/ 11 Baud Rates" },
+ {C1222_CMD_WAIT, "Wait" },
+ {C1222_CMD_TIMING_SETUP, "Timing Setup" },
+ { 0, NULL }
+};
+
+/* these are for the key tables */
+typedef struct _c1222_uat_data {
+ guint keynum;
+ guchar *key;
+ guint keylen;
+} c1222_uat_data_t;
+
+UAT_HEX_CB_DEF(c1222_users, keynum, c1222_uat_data_t)
+UAT_BUFFER_CB_DEF(c1222_users, key, c1222_uat_data_t, key, keylen)
+
+static c1222_uat_data_t *c1222_uat_data = NULL;
+static guint num_c1222_uat_data = 0;
+static uat_t *c1222_uat;
+
+/* these macros ares used to populate fields needed to verify crypto */
+#define FILL_START int length, start_offset = offset;
+#define FILL_TABLE(fieldname) \
+ length = offset - start_offset; \
+ fieldname = (guint8 *)tvb_memdup(actx->pinfo->pool, tvb, start_offset, length); \
+ fieldname##_len = length; \
+ fieldname##_allocated = length;
+#define FILL_TABLE_TRUNCATE(fieldname, len) \
+ length = 1 + 2*(offset - start_offset); \
+ fieldname = (guint8 *)tvb_memdup(actx->pinfo->pool, tvb, start_offset, length); \
+ fieldname##_len = len; \
+ fieldname##_allocated = length;
+#define FILL_TABLE_APTITLE(fieldname) \
+ length = offset - start_offset; \
+ switch (tvb_get_guint8(tvb, start_offset)) { \
+ case 0x80: /* relative OID */ \
+ tvb_ensure_bytes_exist(tvb, start_offset, length); \
+ fieldname##_len = length + c1222_baseoid_len; \
+ fieldname = (guint8 *)wmem_alloc(actx->pinfo->pool, fieldname##_len); \
+ fieldname##_allocated = fieldname##_len; \
+ fieldname[0] = 0x06; /* create absolute OID tag */ \
+ fieldname[1] = (fieldname##_len - 2) & 0xff; \
+ memcpy(&(fieldname[2]), c1222_baseoid, c1222_baseoid_len); \
+ tvb_memcpy(tvb, &(fieldname[c1222_baseoid_len+2]), start_offset+2, length-2); \
+ break; \
+ case 0x06: /* absolute OID */ \
+ default: \
+ fieldname = (guint8 *)tvb_memdup(actx->pinfo->pool, tvb, start_offset, length); \
+ fieldname##_len = length; \
+ fieldname##_allocated = length; \
+ break; \
+ }
+
+/*------------------------------
+ * Function Prototypes
+ *------------------------------
+ */
+void proto_reg_handoff_c1222(void);
+
+
+/*------------------------------
+ * Code
+ *------------------------------
+ */
+
+/**
+ * Calculates simple one's complement checksum.
+ *
+ * \param tvb pointer to tvbuff containing data to be checksummed
+ * \param offset offset within tvbuff to beginning of data
+ * \param len length of data to be checksummed
+ * \returns calculated checksum
+ */
+static guint8
+c1222_cksum(tvbuff_t *tvb, gint offset, int len)
+{
+ guint8 sum;
+ for (sum = 0; len; offset++, len--)
+ sum += tvb_get_guint8(tvb, offset);
+ return ~sum + 1;
+}
+/**
+ * Dissects C12.22 packet in detail (with a tree).
+ *
+ * \param tvb input buffer containing packet to be dissected
+ * \param pinfo the packet info of the current data
+ * \param tree the tree to append this item to
+ * \param length length of data
+ * \param offset the offset in the tvb
+ */
+static void
+parse_c1222_detailed(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int cmd, guint32 *length, int *offset)
+{
+ guint16 user_id = 0;
+ const guint8 *user_name = NULL;
+ const guint8 *password = NULL;
+ guint8 auth_len = 0;
+ gchar *auth_req = NULL;
+ guint16 table = 0;
+ guint16 tblsize = 0;
+ guint16 calcsum = 0;
+ guint8 wait_seconds = 0;
+ guint8 proc_seq = 0;
+ int numrates = 0;
+ guint16 packet_size;
+ guint16 procedure_num = 0;
+ guint8 nbr_packet;
+ /* timing setup parameters */
+ guint8 traffic;
+ guint8 inter_char;
+ guint8 resp_to;
+ guint8 nbr_retries;
+
+ /* special case to simplify handling of Negotiate service */
+ if ((cmd & 0xF0) == C1222_CMD_NEGOTIATE) {
+ numrates = cmd & 0x0F;
+ cmd = C1222_CMD_NEGOTIATE;
+ }
+ proto_tree_add_uint(tree, cmd >= 0x20 ? hf_c1222_cmd : hf_c1222_err, tvb, *offset, 1, cmd);
+ (*offset)++;
+ (*length)--;
+ switch (cmd) {
+ case C1222_CMD_LOGON:
+ if (*length >= 12) {
+ user_id = tvb_get_ntohs(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_logon_id, tvb, *offset, 2, user_id);
+ *offset += 2;
+ proto_tree_add_item_ret_string(tree, hf_c1222_logon_user, tvb, *offset, 10, ENC_ASCII|ENC_NA, pinfo->pool, &user_name);
+ *offset += 10;
+ *length -= 12;
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (id %d, user \"%s\")",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"), user_id, user_name);
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 LOGON command truncated");
+ }
+ break;
+ case C1222_CMD_SECURITY:
+ if (*length >= 20) {
+ proto_tree_add_item_ret_string(tree, hf_c1222_security_password, tvb, *offset, 20, ENC_ASCII|ENC_NA, pinfo->pool, &password);
+ *offset += 20;
+ *length -= 20;
+ if (*length >= 2) {
+ user_id = tvb_get_ntohs(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_logon_id, tvb, *offset, 2, user_id);
+ *offset += 2;
+ *length -= 2;
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (password \"%s\", id %d)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"), password, user_id);
+ } else {
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (password \"%s\")",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"), password);
+ }
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 SECURITY command truncated");
+ }
+ break;
+ case C1222_CMD_AUTHENTICATE:
+ if (*length >= 1) {
+ auth_len = tvb_get_guint8(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_auth_len, tvb, *offset, 1, auth_len);
+ *offset += 1;
+ if (*length >= auth_len) {
+ auth_req = tvb_bytes_to_str(pinfo->pool, tvb, *offset, auth_len);
+ proto_tree_add_item(tree, hf_c1222_auth_data, tvb, *offset, auth_len, ENC_NA);
+ *offset += auth_len;
+ *length -= auth_len + 1;
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (%d bytes: %s)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"), auth_len, auth_req);
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 AUTHENTICATE command truncated");
+ }
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 AUTHENTICATE command truncated");
+ }
+ break;
+ case C1222_CMD_FULL_READ:
+ if (*length >= 2) {
+ table = tvb_get_ntohs(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_read_table, tvb, *offset, 2, table);
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (%s-%d)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"),
+ val_to_str((table >> 8) & 0xF8, tableflags,"Unknown (0x%04x)"), table & 0x7FF);
+ *offset += 2;
+ *length -= 2;
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 READ command truncated");
+ }
+ break;
+ case C1222_CMD_PARTIAL_READ_OFFSET:
+ if (*length >= 7) {
+ table = tvb_get_ntohs(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_read_table, tvb, *offset, 2, table);
+ *offset += 2;
+ *length -= 2;
+ proto_tree_add_item(tree, hf_c1222_read_offset, tvb, *offset, 3, ENC_BIG_ENDIAN);
+ *offset += 3;
+ *length -= 3;
+ proto_tree_add_item(tree, hf_c1222_read_count, tvb, *offset, 2, ENC_BIG_ENDIAN);
+ *offset += 2;
+ *length -= 2;
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (%s-%d)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"),
+ val_to_str((table >> 8) & 0xF8, tableflags,"Unknown (0x%04x)"), table & 0x7FF);
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 READ command truncated");
+ }
+ break;
+ case C1222_CMD_FULL_WRITE:
+ if (*length >= 5) {
+ table = tvb_get_ntohs(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_write_table, tvb, *offset, 2, table);
+ *offset += 2;
+ *length -= 2;
+ tblsize = tvb_get_ntohs(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_write_size, tvb, *offset, 2, tblsize);
+ *offset += 2;
+ *length -= 2;
+ if (*length >= tblsize+1U) {
+ if (table == 7) {/* is it a procedure call? */
+ procedure_num = tvb_get_guint16(tvb, *offset, c1222_big_endian ? ENC_BIG_ENDIAN : ENC_LITTLE_ENDIAN);
+ proto_tree_add_uint(tree, hf_c1222_procedure_response, tvb, *offset, 2, procedure_num);
+ proto_tree_add_uint(tree, hf_c1222_procedure_mfg, tvb, *offset, 2, procedure_num);
+ proto_tree_add_uint(tree, hf_c1222_procedure_num, tvb, *offset, 2, procedure_num);
+ *offset += 2;
+ *length -= 2;
+ proc_seq = tvb_get_guint8(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_procedure_sequence, tvb, *offset, 1, proc_seq);
+ *offset += 1;
+ *length -= 1;
+ tblsize -= 3;
+ }
+ proto_tree_add_item(tree, hf_c1222_write_data, tvb, *offset, tblsize, ENC_NA);
+ *offset += tblsize;
+ *length -= tblsize;
+ if (table == 7) {/* is it a procedure call? */
+ calcsum = c1222_cksum(tvb, (*offset)-tblsize-3, tblsize+3);
+ } else {
+ calcsum = c1222_cksum(tvb, (*offset)-tblsize, tblsize);
+ }
+ proto_tree_add_checksum(tree, tvb, *offset, hf_c1222_write_chksum, hf_c1222_write_chksum_status,
+ &ei_c1222_bad_checksum, pinfo, calcsum, ENC_NA, PROTO_CHECKSUM_VERIFY);
+
+ if (table == 7) {/* is it a procedure call? */
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (%s-%d, %s-%d)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"),
+ val_to_str((table >> 8) & 0xF8, tableflags,"Unknown (0x%04x)"), table & 0x7FF,
+ val_to_str((procedure_num >> 8) & 0x08, procflags,"Unknown (0x%04x)"), procedure_num & 0x7FF);
+ } else {
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (%s-%d)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"),
+ val_to_str((table >> 8) & 0xF8, tableflags,"Unknown (0x%04x)"), table & 0x7FF);
+ }
+ *offset += 1;
+ *length -= 1;
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 WRITE command truncated");
+ }
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 WRITE command truncated");
+ }
+ break;
+ case C1222_CMD_PARTIAL_WRITE_OFFSET:
+ if (*length >= 8) {
+ table = tvb_get_ntohs(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_write_table, tvb, *offset, 2, table);
+ *offset += 2;
+ *length -= 2;
+ proto_tree_add_item(tree, hf_c1222_write_offset, tvb, *offset, 3, ENC_BIG_ENDIAN);
+ *offset += 3;
+ *length -= 3;
+ tblsize = tvb_get_ntohs(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_write_size, tvb, *offset, 2, tblsize);
+ *offset += 2;
+ *length -= 2;
+ if (*length >= tblsize+1U) {
+ proto_tree_add_item(tree, hf_c1222_write_data, tvb, *offset, tblsize, ENC_NA);
+ *offset += tblsize;
+ *length -= tblsize;
+ calcsum = c1222_cksum(tvb, (*offset)-tblsize, tblsize);
+ proto_tree_add_checksum(tree, tvb, *offset, hf_c1222_write_chksum, hf_c1222_write_chksum_status,
+ &ei_c1222_bad_checksum, pinfo, calcsum, ENC_NA, PROTO_CHECKSUM_VERIFY);
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (%s-%d)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"),
+ val_to_str((table >> 8) & 0xF8, tableflags,"Unknown (0x%04x)"), table & 0x7FF);
+ *offset += 1;
+ *length -= 1;
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 WRITE command truncated");
+ }
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 WRITE command truncated");
+ }
+ break;
+ case C1222_CMD_WAIT:
+ if (*length >= 1) {
+ wait_seconds = tvb_get_guint8(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_wait_secs, tvb, *offset, 1, wait_seconds);
+ *offset += 1;
+ *length -= 1;
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (%d seconds)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"), wait_seconds);
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 WAIT command truncated");
+ }
+ break;
+ case C1222_CMD_NEGOTIATE:
+ if (*length >= 3) {
+ packet_size = tvb_get_ntohs(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_neg_pkt_size, tvb, *offset, 2, packet_size);
+ *offset += 2;
+ *length -= 2;
+ nbr_packet = tvb_get_guint8(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_neg_nbr_pkts, tvb, *offset, 1, nbr_packet);
+ *offset += 1;
+ *length -= 1;
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (pkt size %d, num pkts %d, with %d baud rates)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"), packet_size, nbr_packet, numrates);
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 NEGOTIATE command truncated");
+ }
+ break;
+ case C1222_CMD_TIMING_SETUP:
+ if (*length >= 4) {
+ traffic = tvb_get_guint8(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_timing_setup_traffic, tvb, *offset, 1, traffic);
+ *offset += 1;
+ *length -= 1;
+ inter_char = tvb_get_guint8(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_timing_setup_inter_char, tvb, *offset, 1, inter_char);
+ *offset += 1;
+ *length -= 1;
+ resp_to = tvb_get_guint8(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_timing_setup_resp_to, tvb, *offset, 1, resp_to);
+ *offset += 1;
+ *length -= 1;
+ nbr_retries = tvb_get_guint8(tvb, *offset);
+ proto_tree_add_uint(tree, hf_c1222_timing_setup_nbr_retries, tvb, *offset, 1, nbr_retries);
+ *offset += 1;
+ *length -= 1;
+ proto_item_set_text(tree, "C12.22 EPSEM: %s (traffic to %d s, inter-char to %d s, response to %d s, %d retries)",
+ val_to_str(cmd,commandnames,"Unknown (0x%02x)"), traffic, inter_char, resp_to, nbr_retries);
+ } else {
+ expert_add_info_format(pinfo, tree, &ei_c1222_command_truncated, "C12.22 NEGOTIATE command truncated");
+ }
+ break;
+
+ default:
+ /* don't do anything */
+ proto_item_set_text(tree, "C12.22 EPSEM: %s", val_to_str(cmd, commandnames, "Unknown (0x%02x)"));
+ if (*length) {
+ proto_tree_add_item(tree, hf_c1222_data, tvb, *offset, *length, ENC_NA);
+ }
+ break;
+ }
+}
+
+typedef struct tagTOP_ELEMENT_CONTROL
+{
+ /* TRUE if this tag is required */
+ gboolean required;
+ /* TRUE if we must truncate this tag */
+ gboolean truncate;
+ /* actual hex value of the tag we're seeking */
+ guint8 tag;
+ /* if TRUE, add tag and length before copying */
+ gboolean addtag;
+ /* pointer to pointer to memory copy of element */
+ guint8 **element;
+ /* pointer to element length */
+ guint32 *length;
+ /* pointer to element allocated size */
+ guint32 *allocated;
+} TOP_ELEMENT_CONTROL;
+
+static const TOP_ELEMENT_CONTROL canonifyTable[] = {
+ { FALSE, FALSE, 0xA1, TRUE, &aSO_context, &aSO_context_len, &aSO_context_allocated },
+ { TRUE , FALSE, 0xA2, TRUE, &called_AP_title, &called_AP_title_len, &called_AP_title_allocated },
+ { FALSE, FALSE, 0xA4, TRUE, &called_AP_invocation_id, &called_AP_invocation_id_len, &called_AP_invocation_id_allocated },
+ { FALSE, FALSE, 0xA7, TRUE, &calling_AE_qualifier, &calling_AE_qualifier_len, &calling_AE_qualifier_allocated },
+ { TRUE, FALSE, 0xA8, TRUE, &calling_AP_invocation_id, &calling_AP_invocation_id_len, &calling_AP_invocation_id_allocated },
+ { FALSE, FALSE, 0x8B, TRUE, &mechanism_name, &mechanism_name_len, &mechanism_name_allocated },
+ { FALSE, FALSE, 0xAC, TRUE, &calling_authentication_value, &calling_authentication_value_len, &calling_authentication_value_allocated },
+ { TRUE , TRUE , 0xBE, TRUE, &user_information, &user_information_len, &user_information_allocated },
+ { FALSE, FALSE, 0xA6, TRUE, &calling_AP_title, &calling_AP_title_len, &calling_AP_title_allocated },
+ { FALSE, FALSE, 0xAC, FALSE, &key_id_element, &key_id_element_len, &key_id_element_allocated },
+ { FALSE, FALSE, 0xAC, FALSE, &iv_element, &iv_element_len, &iv_element_allocated },
+ { FALSE, FALSE, 0x0, TRUE, NULL, NULL, NULL }
+};
+
+static void
+clear_canon(void)
+{
+ const TOP_ELEMENT_CONTROL *t = canonifyTable;
+
+ for (t = canonifyTable; t->element != NULL; t++) {
+ *(t->length) = 0;
+ *(t->element) = NULL;
+ }
+}
+
+/**
+ * Calculates the size of the passed number n as encoded as a BER length field.
+ *
+ * \param n is the length value to be BER encoded
+ * \returns the sized of the encoding
+ */
+static guint32
+get_ber_len_size(guint32 n)
+{
+ guint32 len = 1;
+ if (n > 0x7f) len++;
+ if (n > 0xff) len++;
+ if (n > 0xffff) len++;
+ if (n > 0xffffff) len++;
+ return len;
+}
+/**
+ * Encodes the passed value n as a BER-encoded length at puts it in memory.
+ *
+ * \param ptr points to the buffer to be written
+ * \param n is the length to be BER encoded
+ * \param maxsize is the maximum number of bytes we're allowed to write
+ * \returns length of encoded value in bytes
+ */
+static int
+encode_ber_len(guint8 *ptr, guint32 n, int maxsize)
+{
+ int len = get_ber_len_size(n);
+ if (len > maxsize) return 0;
+ if (len == 1) {
+ *ptr = 0x7f & n;
+ } else {
+ *ptr = (len -1) | 0x80;
+ for (ptr += len-1; n; n >>= 8)
+ *ptr-- = n & 0xff;
+ }
+ return len;
+
+}
+
+static void*
+c1222_uat_data_copy_cb(void *dest, const void *source, size_t len _U_)
+{
+ const c1222_uat_data_t* o = (const c1222_uat_data_t*)source;
+ c1222_uat_data_t* d = (c1222_uat_data_t*)dest;
+
+ d->keynum = o->keynum;
+ d->keylen = o->keylen;
+ d->key = (guchar *)g_memdup2(o->key, o->keylen);
+
+ return dest;
+}
+
+/**
+ * Checks a new encryption table item for validity.
+ *
+ * \param n points to the new record
+ * \param err is updated to point to an error string if needed
+ * \return FALSE if error; TRUE otherwise
+ */
+static bool
+c1222_uat_data_update_cb(void* n, char** err)
+{
+ c1222_uat_data_t* new_rec = (c1222_uat_data_t *)n;
+
+ if (new_rec->keynum > 0xff) {
+ *err = g_strdup("Invalid key number; must be less than 256");
+ return FALSE;
+ }
+ if (new_rec->keylen != EAX_SIZEOF_KEY) {
+ *err = g_strdup("Invalid key size; must be 16 bytes");
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static void
+c1222_uat_data_free_cb(void *r)
+{
+ c1222_uat_data_t *rec = (c1222_uat_data_t *)r;
+ g_free(rec->key);
+}
+
+/**
+ * Canonifies header fields in preparation for authenticating and/or decrypting the packet.
+ *
+ * \param buff points to the allocated canonization buffer
+ * \param offset points to start of unallocated space in buffer and
+ is updated as we put bytes into buffer
+ * \param buffsize total size of allocated buffer
+ * \return FALSE if element is required and not present; otherwise TRUE
+ */
+static gboolean
+canonify_unencrypted_header(guchar *buff, guint32 *offset, guint32 buffsize)
+{
+ const TOP_ELEMENT_CONTROL *t = canonifyTable;
+ guint32 len, allocated;
+
+ for (t = canonifyTable; t->element != NULL; t++)
+ {
+ len = *(t->length);
+ allocated = *(t->allocated);
+ if (t->required && *(t->element) == NULL)
+ return FALSE;
+ if (*(t->element) != NULL) {
+ if (t->addtag) {
+ /* recreate original tag and length */
+ buff[(*offset)++] = t->tag;
+ (*offset) += encode_ber_len(&buff[*offset], len, 4);
+ }
+ if (t->truncate) {
+ len = 3+2*get_ber_len_size(len);
+ }
+ /* bail out if the cannonization buffer is too small */
+ /* this should never happen! */
+ if (buffsize < *offset + len) {
+ return FALSE;
+ }
+ /* bail out if our we're trying to read past the end of our element */
+ /* the network is always hostile */
+ if (allocated < len) {
+ return FALSE;
+ }
+ memcpy(&buff[*offset], *(t->element), len);
+ (*offset) += len;
+ if (t->addtag) {
+ *(t->element) = NULL;
+ }
+ }
+ }
+ return TRUE;
+}
+
+/**
+ * Looks up the required key in the key table.
+ *
+ * \param keybuff is updated with a copy of the key data if successful lookup.
+ * \param keyid is the ID number of the desired key
+ * \returns TRUE if key was found; otherwise FALSE
+ */
+static gboolean
+keylookup(guint8 *keybuff, guint8 keyid)
+{
+ guint i;
+
+ if (c1222_uat_data == NULL)
+ return FALSE;
+ for (i = 0; i < num_c1222_uat_data; i++) {
+ if (c1222_uat_data[i].keynum == keyid) {
+ memcpy(keybuff, c1222_uat_data[i].key, EAX_SIZEOF_KEY);
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+/**
+ * Authenticates and decrypts the passed packet.
+ *
+ * \param buffer points to a memory copy of the packet to be authenticated/decrypted
+ * and contains the decrypted value on successful return.
+ * \param length lenth of input packet
+ * \param decrypt TRUE if packet is to be authenticated and decrypted; FALSE if authentication only is requested
+ * \returns TRUE if the requested operation was successful; otherwise FALSE
+ */
+static gboolean
+decrypt_packet(guchar *buffer, guint32 length, gboolean decrypt)
+{
+#define CANONBUFFSIZE 300U
+ guchar canonbuff[CANONBUFFSIZE];
+ guint8 c1222_key[EAX_SIZEOF_KEY];
+ guchar key_id = 0;
+ guint32 offset = 0;
+ gboolean status = FALSE;
+
+ /* must be at least 4 bytes long to include the MAC */
+ if (length < 4)
+ return status;
+ if (key_id_element != NULL)
+ key_id = key_id_element[0];
+ /* extract unencrypted header information */
+ if (!canonify_unencrypted_header(canonbuff, &offset, CANONBUFFSIZE))
+ return status;
+ /* decrypt and authenticate in place */
+/* PARAMETERS: pN : Pointer to ClearText (Input, Canonified form). */
+/* pK : Pointer to secret key (Input). */
+/* pC : Pointer to CipherText (Input/Output). */
+/* SizeN : Byte length of ClearText buffer. */
+/* SizeK : Byte length of secret key. */
+/* SizeC : Byte length of CipherText buffer. */
+/* pMac : Four byte Message Authentication Code. */
+/* Mode : Operating mode (See EAX_MODE_xxx). */
+/* RETURNS: TRUE if message has been authenticated. */
+/* FALSE if not authenticated, invalid Mode, or error. */
+ if (offset) {
+ if (!keylookup((guint8 *)&c1222_key, key_id))
+ return FALSE;
+ status = Eax_Decrypt(canonbuff, c1222_key, buffer,
+ offset, EAX_SIZEOF_KEY, length-4,
+ (MAC_T *)&buffer[length-4],
+ decrypt ? EAX_MODE_CIPHERTEXT_AUTH : EAX_MODE_CLEARTEXT_AUTH);
+ }
+ return status;
+}
+
+/**
+ * Checks to make sure that a complete, valid BER-encoded length is in the buffer.
+ *
+ * \param tvb contains the buffer to be examined
+ * \param offset is the offset within the buffer at which the BER-encoded length begins
+ * \returns TRUE if a complete, valid BER-encoded length is in the buffer; otherwise FALSE
+ */
+static gboolean
+ber_len_ok(tvbuff_t *tvb, int offset)
+{
+ guint8 ch;
+
+ if (tvb_offset_exists(tvb, offset)) {
+ ch = tvb_get_guint8(tvb, offset);
+ offset++;
+ if (!(ch & 0x80)) {
+ return TRUE;
+ } else if (tvb_offset_exists(tvb, offset)) {
+ ch = tvb_get_guint8(tvb, offset);
+ offset++;
+ if (!(ch & 0x80)) {
+ return TRUE;
+ } else if (tvb_offset_exists(tvb, offset)) {
+ ch = tvb_get_guint8(tvb, offset);
+ offset++;
+ if (!(ch & 0x80)) {
+ return TRUE;
+ } else if (tvb_offset_exists(tvb, offset)) {
+ ch = tvb_get_guint8(tvb, offset);
+ /*offset++;*/
+ if (!(ch & 0x80)) {
+ return TRUE;
+ }
+ }
+ }
+ }
+ }
+ return FALSE;
+}
+
+/**
+ * Dissects the EPSEM portion of the User-information part of a C12.22 message.
+ *
+ * \param tvb the tv buffer of the current data
+ * \param offset the offset in the tvb
+ * \param len length of data
+ * \param pinfo the packet info of the current data
+ * \param tree the tree to append this item to
+ */
+static int
+dissect_epsem(tvbuff_t *tvb, int offset, guint32 len, packet_info *pinfo, proto_tree *tree)
+{
+ proto_tree *cmd_tree = NULL;
+ proto_tree *ct = NULL;
+ proto_tree *crypto_tree = NULL;
+ proto_tree *yt = NULL;
+ proto_item *item = NULL;
+ guint8 flags;
+ int local_offset;
+ gint len2;
+ int cmd_err;
+ bool ind;
+ guchar *buffer;
+ tvbuff_t *epsem_buffer = NULL;
+ gboolean crypto_good = FALSE;
+ gboolean crypto_bad = FALSE;
+ gboolean hasmac = FALSE;
+ gboolean encrypted = FALSE;
+
+ if ((tvb == NULL) && (len == 0)) {
+ expert_add_info(pinfo, tree, &ei_c1222_epsem_missing);
+ return offset;
+ }
+ /* parse the flags byte which is always unencrypted */
+ flags = tvb_get_guint8(tvb, offset);
+ proto_tree_add_bitmask(tree, tvb, offset, hf_c1222_epsem_flags, ett_c1222_flags, c1222_flags, ENC_BIG_ENDIAN);
+ offset++;
+ switch ((flags & C1222_EPSEM_FLAG_SECURITY_MODE) >> 2) {
+ case EAX_MODE_CIPHERTEXT_AUTH:
+ /* mode is ciphertext with authentication */
+ hasmac = TRUE;
+ len2 = tvb_reported_length_remaining(tvb, offset);
+ if (len2 <= 0)
+ return offset;
+ encrypted = TRUE;
+ if (c1222_decrypt) {
+ buffer = (guchar *)tvb_memdup(pinfo->pool, tvb, offset, len2);
+ if (!decrypt_packet(buffer, len2, TRUE)) {
+ crypto_bad = TRUE;
+ } else {
+ epsem_buffer = tvb_new_real_data(buffer, len2, len2);
+ tvb_set_child_real_data_tvbuff(tvb, epsem_buffer);
+ add_new_data_source(pinfo, epsem_buffer, "Decrypted EPSEM Data");
+ crypto_good = TRUE;
+ encrypted = FALSE;
+ }
+ }
+ break;
+ case EAX_MODE_CLEARTEXT_AUTH:
+ /* mode is cleartext with authentication */
+ hasmac = TRUE;
+ len2 = tvb_reported_length_remaining(tvb, offset);
+ if (len2 <= 0)
+ return offset;
+ epsem_buffer = tvb_new_subset_remaining(tvb, offset);
+ buffer = (guchar *)tvb_memdup(pinfo->pool, tvb, offset, len2);
+ if (c1222_decrypt) {
+ if (!decrypt_packet(buffer, len2, FALSE)) {
+ crypto_bad = TRUE;
+ expert_add_info(pinfo, tree, &ei_c1222_epsem_failed_authentication);
+ } else {
+ crypto_good = TRUE;
+ }
+ }
+ break;
+ default:
+ /* it's not encrypted */
+ epsem_buffer = tvb_new_subset_remaining(tvb, offset);
+ }
+ /* it's only encrypted if we have an undecrypted payload */
+ if (encrypted) {
+ proto_tree_add_item(tree, hf_c1222_epsem_total, tvb, offset, -1, ENC_NA);
+ expert_add_info(pinfo, tree, &ei_c1222_epsem_not_decrypted);
+ local_offset = offset+len2-4;
+ epsem_buffer = tvb;
+ } else { /* it's not (now) encrypted */
+ local_offset = 0;
+ /* retrieve the ed_class if it's there */
+ if (flags & C1222_EPSEM_FLAG_ED_CLASS_INCLUDED) {
+ if (tvb_offset_exists(epsem_buffer, local_offset+4-1)) {
+ proto_tree_add_item(tree, hf_c1222_epsem_ed_class, epsem_buffer, local_offset, 4, ENC_NA);
+ local_offset += 4;
+ } else {
+ expert_add_info(pinfo, tree, &ei_c1222_ed_class_missing);
+ }
+ }
+ /* what follows are one or more <epsem-data> elements possibly followed by
+ * a <mac>. Each <epsem-data> element is defined as <service-length><res-req>,
+ * so we fetch such pairs until there isn't anything left (except possibly
+ * the <mac>).
+ */
+ while (tvb_offset_exists(epsem_buffer, local_offset+(hasmac?5:1))) {
+ if (ber_len_ok(epsem_buffer, local_offset)) {
+ local_offset = dissect_ber_length(pinfo, tree, epsem_buffer, local_offset, (guint32 *)&len2, &ind);
+ } else {
+ expert_add_info(pinfo, tree, &ei_c1222_epsem_ber_length_error);
+ return offset+len;
+ }
+ if (tvb_offset_exists(epsem_buffer, local_offset+len2-1)) {
+ cmd_err = tvb_get_guint8(epsem_buffer, local_offset);
+ ct = proto_tree_add_item(tree, hf_c1222_epsem_total, epsem_buffer, local_offset, len2, ENC_NA);
+ cmd_tree = proto_item_add_subtree(ct, ett_c1222_cmd);
+ parse_c1222_detailed(epsem_buffer, pinfo, cmd_tree, cmd_err, (guint32 *)&len2, &local_offset);
+ local_offset += len2;
+ } else {
+ expert_add_info(pinfo, tree, &ei_c1222_epsem_field_length_error);
+ return offset+len;
+ }
+ }
+ }
+ if (hasmac) {
+ if (tvb_offset_exists(epsem_buffer, local_offset+4-1)) {
+ yt = proto_tree_add_item(tree, hf_c1222_epsem_mac, epsem_buffer, local_offset, 4, ENC_NA);
+ /* now we have enough information to fill in the crypto subtree */
+ crypto_tree = proto_item_add_subtree(yt, ett_c1222_crypto);
+ item = proto_tree_add_boolean(crypto_tree, hf_c1222_epsem_crypto_good, tvb, local_offset, 4, crypto_good);
+ proto_item_set_generated(item);
+ item = proto_tree_add_boolean(crypto_tree, hf_c1222_epsem_crypto_bad, tvb, local_offset, 4, crypto_bad);
+ proto_item_set_generated(item);
+ } else {
+ expert_add_info(pinfo, tree, &ei_c1222_mac_missing);
+ return offset+len;
+ }
+ }
+ return offset;
+}
+
+#include "packet-c1222-fn.c"
+
+/**
+ * Dissects a a full (reassembled) C12.22 message.
+ *
+ * \param tvb the tv buffer of the current data
+ * \param pinfo the packet info of the current data
+ * \param tree the tree to append this item to
+ */
+static int
+dissect_c1222_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *c1222_item = NULL;
+ proto_tree *c1222_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PNAME);
+
+ /* create the c1222 protocol tree */
+ c1222_item = proto_tree_add_item(tree, proto_c1222, tvb, 0, -1, ENC_NA);
+ c1222_tree = proto_item_add_subtree(c1222_item, ett_c1222);
+ return dissect_MESSAGE_PDU(tvb, pinfo, c1222_tree, NULL);
+}
+
+/**
+ * Fetches the length of an entire C12.22 message to assist in reassembly.
+ *
+ * \param pinfo the packet info of the current data
+ * \param tvb the tv buffer of the current data
+ * \param offset the offset in the tvb
+ * \returns length of entire C12.22 message
+ */
+static guint
+get_c1222_message_len(packet_info *pinfo, tvbuff_t *tvb, int offset, void *data _U_)
+{
+ int orig_offset;
+ guint length;
+ bool ind;
+
+ orig_offset = offset;
+ /* note that this assumes a Tag length of 1 which is always valid for C12.22 */
+ offset = dissect_ber_length(pinfo, NULL, tvb, offset+1, &length, &ind);
+ return length+(offset - orig_offset);
+}
+
+/**
+ * Reassembles and dissects C12.22 messages.
+ *
+ * \param tvb the tv buffer of the current data
+ * \param pinfo the packet info of the current data
+ * \param tree the tree to append this item to
+ */
+static int
+dissect_c1222(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ tcp_dissect_pdus(tvb, pinfo, tree, c1222_desegment, 5,
+ get_c1222_message_len, dissect_c1222_common, data);
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_c1222 -------------------------------------------*/
+void proto_register_c1222(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_c1222_epsem_flags,
+ { "C12.22 EPSEM Flags", "c1222.epsem.flags",
+ FT_UINT8, BASE_HEX,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_flags_reserved,
+ { "C12.22 Reserved Flag", "c1222.epsem.flags.reserved",
+ FT_BOOLEAN, 8,
+ NULL, C1222_EPSEM_FLAG_RESERVED,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_flags_recovery,
+ { "C12.22 Recovery Flag", "c1222.epsem.flags.recovery",
+ FT_BOOLEAN, 8,
+ NULL, C1222_EPSEM_FLAG_RECOVERY_SESSION,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_flags_proxy,
+ { "C12.22 Proxy Service Used Flag", "c1222.epsem.flags.proxy",
+ FT_BOOLEAN, 8,
+ NULL, C1222_EPSEM_FLAG_PROXY_SERVICE_USED,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_flags_ed_class,
+ { "C12.22 ED Class Flag", "c1222.epsem.flags.ed_class",
+ FT_BOOLEAN, 8,
+ NULL, C1222_EPSEM_FLAG_ED_CLASS_INCLUDED,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_flags_security_modes,
+ { "C12.22 Security Mode Flags", "c1222.epsem.flags.security",
+ FT_UINT8, BASE_HEX,
+ VALS(c1222_security_modes), C1222_EPSEM_FLAG_SECURITY_MODE,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_flags_response_control,
+ { "C12.22 Response Control Flags", "c1222.epsem.flags.response_control",
+ FT_UINT8, BASE_HEX,
+ VALS(c1222_response_control), C1222_EPSEM_FLAG_RESPONSE_CONTROL,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_ed_class,
+ { "C12.22 EPSEM ED Class", "c1222.epsem.edclass",
+ FT_BYTES, BASE_NONE,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_total,
+ { "C12.22 EPSEM", "c1222.epsem.data",
+ FT_BYTES, BASE_NONE,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_mac,
+ { "C12.22 EPSEM MAC", "c1222.epsem.mac",
+ FT_BYTES, BASE_NONE,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_cmd,
+ { "C12.22 Command", "c1222.cmd",
+ FT_UINT8, BASE_HEX,
+ VALS(commandnames), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_err,
+ { "C12.22 Response", "c1222.err",
+ FT_UINT8, BASE_HEX,
+ VALS(commandnames), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_logon_id,
+ { "C12.22 Logon User-Id", "c1222.logon.id",
+ FT_UINT16, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_logon_user,
+ { "C12.22 Logon User", "c1222.logon.user",
+ FT_STRING, BASE_NONE,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_security_password,
+ { "C12.22 Security Password", "c1222.security.password",
+ FT_STRING, BASE_NONE,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_auth_len,
+ { "C12.22 Authenticate Request Length", "c1222.authenticate.len",
+ FT_UINT8, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_auth_data,
+ { "C12.22 Authenticate Data", "c1222.authenticate.data",
+ FT_BYTES, BASE_NONE,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_read_table,
+ { "C12.22 Table", "c1222.read.table",
+ FT_UINT16, BASE_HEX,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_read_offset,
+ { "C12.22 Offset", "c1222.read.offset",
+ FT_UINT24, BASE_HEX,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_read_count,
+ { "C12.22 Count", "c1222.read.count",
+ FT_UINT16, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_write_table,
+ { "C12.22 Table", "c1222.write.table",
+ FT_UINT16, BASE_HEX,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_write_offset,
+ { "C12.22 Offset", "c1222.write.offset",
+ FT_UINT24, BASE_HEX,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_write_size,
+ { "C12.22 Table Size", "c1222.write.size",
+ FT_UINT16, BASE_HEX,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_write_data,
+ { "C12.22 Table Data", "c1222.write.data",
+ FT_BYTES, BASE_NONE,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_write_chksum,
+ { "C12.22 Table Data Checksum", "c1222.write.chksum",
+ FT_UINT8, BASE_HEX,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_write_chksum_status,
+ { "C12.22 Table Data Checksum Status", "c1222.write.chksum.status",
+ FT_UINT8, BASE_NONE,
+ VALS(proto_checksum_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_procedure_response,
+ { "C12.22 Procedure Response", "c1222.procedure.response",
+ FT_UINT16, BASE_DEC,
+ VALS(c1222_proc_response_control), C1222_PROCEDURE_RESPONSE,
+ NULL, HFILL }
+ },
+ { &hf_c1222_procedure_mfg,
+ { "C12.22 Procedure Mfg", "c1222.procedure.mfg",
+ FT_UINT16, BASE_DEC,
+ NULL, C1222_PROCEDURE_MFG,
+ NULL, HFILL }
+ },
+ { &hf_c1222_procedure_num,
+ { "C12.22 Procedure Number", "c1222.procedure.num",
+ FT_UINT16, BASE_DEC,
+ NULL, C1222_PROCEDURE_NUMBER,
+ NULL, HFILL }
+ },
+ { &hf_c1222_procedure_sequence,
+ { "C12.22 Procedure Sequence Number", "c1222.procedure.sequence",
+ FT_UINT8, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_neg_pkt_size,
+ { "C12.22 Negotiate Packet Size", "c1222.negotiate.pktsize",
+ FT_UINT16, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_neg_nbr_pkts,
+ { "C12.22 Negotiate Number of Packets", "c1222.negotiate.numpkts",
+ FT_UINT8, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_wait_secs,
+ { "C12.22 Wait Seconds", "c1222.wait.seconds",
+ FT_UINT8, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_timing_setup_traffic,
+ { "C12.22 Timing Setup Channel Traffic Timeout", "c1222.timingsetup.traffic",
+ FT_UINT8, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_timing_setup_inter_char,
+ { "C12.22 Timing Setup Intercharacter Timeout", "c1222.timingsetup.interchar",
+ FT_UINT8, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_timing_setup_resp_to,
+ { "C12.22 Timing Setup Response Timeout", "c1222.timingsetup.respto",
+ FT_UINT8, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_timing_setup_nbr_retries,
+ { "C12.22 Timing Setup Number of Retries", "c1222.timingsetup.nbrretries",
+ FT_UINT8, BASE_DEC,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_data,
+ { "C12.22 data", "c1222.data",
+ FT_BYTES, BASE_NONE,
+ NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_c1222_epsem_crypto_good,
+ { "Crypto good", "c1222.crypto_good",
+ FT_BOOLEAN, BASE_NONE,
+ NULL, 0x0,
+ "True: crypto ok; False: doesn't match or not checked", HFILL }
+ },
+ { &hf_c1222_epsem_crypto_bad,
+ { "Crypto bad", "c1222.crypto_bad",
+ FT_BOOLEAN, BASE_NONE,
+ NULL, 0x0,
+ "True: crypto bad; False: crypto ok or not checked", HFILL }
+ },
+#include "packet-c1222-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_c1222,
+ &ett_c1222_epsem,
+ &ett_c1222_flags,
+ &ett_c1222_crypto,
+ &ett_c1222_cmd,
+#include "packet-c1222-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_c1222_command_truncated, { "c1222.command_truncated", PI_MALFORMED, PI_ERROR, "C12.22 command truncated", EXPFILL }},
+ { &ei_c1222_bad_checksum, { "c1222.bad_checksum", PI_CHECKSUM, PI_ERROR, "Bad checksum", EXPFILL }},
+ { &ei_c1222_epsem_missing, { "c1222.epsem.missing", PI_MALFORMED, PI_ERROR, "C12.22 EPSEM missing", EXPFILL }},
+ { &ei_c1222_epsem_failed_authentication, { "c1222.epsem.failed_authentication", PI_SECURITY, PI_ERROR, "C12.22 EPSEM failed authentication", EXPFILL }},
+ { &ei_c1222_epsem_not_decrypted, { "c1222.epsem.not_decrypted", PI_UNDECODED, PI_WARN, "C12.22 EPSEM could not be decrypted", EXPFILL }},
+ { &ei_c1222_ed_class_missing, { "c1222.ed_class_missing", PI_SECURITY, PI_ERROR, "C12.22 ED Class missing", EXPFILL }},
+ { &ei_c1222_epsem_ber_length_error, { "c1222.epsem.ber_length_error", PI_MALFORMED, PI_ERROR, "C12.22 EPSEM BER length error", EXPFILL }},
+ { &ei_c1222_epsem_field_length_error, { "c1222.epsem.field_length_error", PI_MALFORMED, PI_ERROR, "C12.22 EPSEM field length error", EXPFILL }},
+ { &ei_c1222_mac_missing, { "c1222.mac_missing", PI_MALFORMED, PI_ERROR, "C12.22 MAC missing", EXPFILL }},
+ };
+
+ expert_module_t* expert_c1222;
+ module_t *c1222_module;
+
+ static uat_field_t c1222_uat_flds[] = {
+ UAT_FLD_HEX(c1222_users,keynum,"Key ID","Key identifier in hexadecimal"),
+ UAT_FLD_BUFFER(c1222_users, key, "Key", "Encryption key as 16-byte hex string"),
+ UAT_END_FIELDS
+ };
+
+ /* Register protocol */
+ proto_c1222 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_c1222, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_c1222 = expert_register_protocol(proto_c1222);
+ expert_register_field_array(expert_c1222, ei, array_length(ei));
+ /* Register dissectors */
+ c1222_handle = register_dissector("c1222.tcp", dissect_c1222, proto_c1222);
+ c1222_udp_handle = register_dissector("c1222.udp", dissect_c1222_common, proto_c1222);
+ /* Register dissection preferences */
+ c1222_module = prefs_register_protocol(proto_c1222, proto_reg_handoff_c1222);
+ prefs_register_bool_preference(c1222_module, "desegment",
+ "Reassemble all C12.22 messages spanning multiple TCP segments",
+ "Whether the C12.22 dissector should reassemble all messages spanning multiple TCP segments",
+ &c1222_desegment);
+ prefs_register_string_preference(c1222_module, "baseoid", "Base OID to use for relative OIDs",
+ "Base object identifier for use in resolving relative object identifiers",
+ &c1222_baseoid_str);
+ prefs_register_bool_preference(c1222_module, "decrypt",
+ "Verify crypto for all applicable C12.22 messages",
+ "Whether the C12.22 dissector should verify the crypto for all relevant messages",
+ &c1222_decrypt);
+ prefs_register_bool_preference(c1222_module, "big_endian",
+ "Interpret multibyte numbers as big endian",
+ "Whether the C12.22 dissector should interpret procedure numbers as big-endian",
+ &c1222_big_endian);
+
+ c1222_uat = uat_new("Decryption Table",
+ sizeof(c1222_uat_data_t), /* record size */
+ "c1222_decryption_table", /* filename */
+ TRUE, /* from_profile */
+ &c1222_uat_data, /* data_ptr */
+ &num_c1222_uat_data, /* numitems_ptr */
+ UAT_AFFECTS_DISSECTION, /* affects dissection of packets, but not set of named fields */
+ NULL, /* help */
+ c1222_uat_data_copy_cb, /* copy callback */
+ c1222_uat_data_update_cb, /* update callback */
+ c1222_uat_data_free_cb, /* free callback */
+ NULL, /* post update callback */
+ NULL, /* reset callback */
+ c1222_uat_flds); /* UAT field definitions */
+
+ prefs_register_uat_preference(c1222_module,
+ "decryption_table",
+ "Decryption Table",
+ "Table of security parameters for decryption of C12.22 packets",
+ c1222_uat);
+}
+
+/*--- proto_reg_handoff_c1222 ---------------------------------------*/
+void
+proto_reg_handoff_c1222(void)
+{
+ static gboolean initialized = FALSE;
+ guint8 *temp = NULL;
+
+ if( !initialized ) {
+ dissector_add_uint_with_preference("tcp.port", C1222_PORT, c1222_handle);
+ dissector_add_uint_with_preference("udp.port", C1222_PORT, c1222_udp_handle);
+ initialized = TRUE;
+ }
+ if (c1222_baseoid_str && (c1222_baseoid_str[0] != '\0') &&
+ ((c1222_baseoid_len = oid_string2encoded(NULL, c1222_baseoid_str, &temp)) != 0)) {
+ c1222_baseoid = (guint8 *)wmem_realloc(wmem_epan_scope(), c1222_baseoid, c1222_baseoid_len);
+ memcpy(c1222_baseoid, temp, c1222_baseoid_len);
+ wmem_free(NULL, temp);
+ } else if (c1222_baseoid) {
+ wmem_free(wmem_epan_scope(), c1222_baseoid);
+ c1222_baseoid = NULL;
+ c1222_baseoid_len = 0;
+ }
+}
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/c1222/packet-c1222-template.h b/epan/dissectors/asn1/c1222/packet-c1222-template.h
new file mode 100644
index 00000000..5adebd32
--- /dev/null
+++ b/epan/dissectors/asn1/c1222/packet-c1222-template.h
@@ -0,0 +1,29 @@
+/* packet-c1222.h
+ * Routines for ANSI C12.22 packet dissection
+ * Copyright 2010, Edward J. Beroset, edward.beroset@elster.com
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_C1222_H
+#define PACKET_C1222_H
+
+#endif /* PACKET_C1222_H */
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
+
diff --git a/epan/dissectors/asn1/camel/CAP-GPRS-ReferenceNumber.asn b/epan/dissectors/asn1/camel/CAP-GPRS-ReferenceNumber.asn
new file mode 100644
index 00000000..f8859782
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-GPRS-ReferenceNumber.asn
@@ -0,0 +1,32 @@
+-- 3GPP TS 29.078 29.078 11.0.0 (2011-09)
+-- 8.1.1 GPRS Reference Number
+
+CAP-GPRS-ReferenceNumber {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-dialogueInformation(111) version8(7)}
+-- Module CAP-GPRS-ReferenceNumber is updated to version8(7) for Rel-6. The definitions
+-- in this module are not modified, compared to Rel-5.
+
+DEFINITIONS ::= BEGIN
+
+EXPORTS
+ id-CAP-GPRS-ReferenceNumber,
+ cAP-GPRS-ReferenceNumber-Abstract-Syntax;
+
+IMPORTS
+
+ Integer4
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+;
+
+id-CAP-GPRS-ReferenceNumber OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) as(1) cap-GPRS-ReferenceNumber(5) version3(2)}
+
+cAP-GPRS-ReferenceNumber-Abstract-Syntax ABSTRACT-SYNTAX ::= {CAP-GPRS-ReferenceNumber IDENTIFIED BY id-CAP-GPRS-ReferenceNumber}
+
+CAP-GPRS-ReferenceNumber ::= SEQUENCE {
+ destinationReference [0] Integer4 OPTIONAL,
+ originationReference [1] Integer4 OPTIONAL
+ }
+-- This parameter is used to identify the relationship between SGSN and the gsmSCF.
+
+END -- of CAP-GPRS-ReferenceNumber
diff --git a/epan/dissectors/asn1/camel/CAP-SMS-ops-args.asn b/epan/dissectors/asn1/camel/CAP-SMS-ops-args.asn
new file mode 100644
index 00000000..a337ace9
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-SMS-ops-args.asn
@@ -0,0 +1,269 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 7 SMS Control
+-- 7.1 SMS operations and arguments
+CAP-SMS-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-SMS-ops-args(105) version8(7)}
+-- The module CAP-SMS-ops-args is updated to version8(7) for Rel-6. The OPERATION definitions
+-- are not modified.
+
+DEFINITIONS IMPLICIT TAGS::= BEGIN
+
+-- This module contains the operations and operation arguments used for the
+-- smsSSF? gsmSCF interface, for the control of MO-SMS and MT-SMS.
+
+-- The table in subclause 2.1 lists the specifications that contain the modules
+-- that are used by CAP.
+
+IMPORTS
+
+ errortypes,
+ datatypes,
+ operationcodes,
+ classes,
+ ros-InformationObjects,
+ tc-Messages
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+ OPERATION
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+ ServiceKey
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+
+ MiscCallInfo
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+cs2(20) modules(0) in-cs2-datatypes (0) version1(0)}
+
+ IMEI,
+ IMSI,
+ ISDN-AddressString
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version12(12)}
+
+ GPRSMSClass,
+ LocationInformation,
+ MS-Classmark2
+FROM MAP-MS-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-MS-DataTypes(11) version12(12)}
+
+ PARAMETERS-BOUND
+FROM CAP-classes classes
+
+ opcode-connectSMS,
+ opcode-continueSMS,
+ opcode-eventReportSMS,
+ opcode-furnishChargingInformationSMS,
+ opcode-initialDPSMS,
+ opcode-releaseSMS,
+ opcode-requestReportSMSEvent,
+ opcode-resetTimerSMS
+FROM CAP-operationcodes operationcodes
+-- The CAP Operation identifiers for CAP V3 and CAP V4 for SMS in Rel-6 are the same as in Rel-5.
+
+ CalledPartyBCDNumber {},
+ EventSpecificInformationSMS,
+ EventTypeSMS,
+ Extensions {},
+ FCISMSBillingChargingCharacteristics,
+ LocationInformationGPRS,
+ RPCause,
+ SMS-AddressString,
+ SMSEvent,
+ TimeAndTimezone {},
+ TimerID,
+ TimerValue,
+ TPDataCodingScheme,
+ TPProtocolIdentifier,
+ TPShortMessageSpecificInfo,
+ TPValidityPeriod
+FROM CAP-datatypes datatypes
+-- For Rel-6, the CAP-datatypes module is updated to version8(7); Object Identifier 'datatypes'
+-- is also updated to version8(7). As a result, the present module uses Rel-6 data type definitions.
+
+ missingCustomerRecord,
+ missingParameter,
+ parameterOutOfRange,
+ systemFailure,
+ taskRefused,
+ unexpectedComponentSequence,
+ unexpectedDataValue,
+ unexpectedParameter
+FROM CAP-errortypes errortypes
+-- For Rel-6, the CAP-errortypes module is updated to version8(7); Object Identifier
+-- 'errortypes' is also updated to version8(7). As a result, the present module uses Rel-6
+-- error type definitions.
+
+ CallReferenceNumber
+FROM MAP-CH-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CH-DataTypes(13) version12(12)}
+
+;
+
+connectSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ConnectSMSArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter}
+ CODE opcode-connectSMS}
+-- Direction: gsmSCF -> gsmSSF or gprsSSF, Timer: Tconsms
+-- This operation is used to request the smsSSF to perform the SMS processing
+-- actions to route or forward a short message to a specified destination.
+
+ConnectSMSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ callingPartysNumber [0] SMS-AddressString OPTIONAL,
+ destinationSubscriberNumber [1] CalledPartyBCDNumber {bound} OPTIONAL,
+ sMSCAddress [2] ISDN-AddressString OPTIONAL,
+ extensions [10] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+continueSMS OPERATION ::= {
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-continueSMS}
+-- Direction: gsmSCF -> smsSSF, Timer: Tcuesms
+-- This operation is used to request the smsSSF to proceed with
+-- Short Message processing at the DP at which it previously suspended
+-- Short Message processing to await gsmSCF instructions (i.e. proceed
+-- to the next Point in Association in the SMS FSM). The smsSSF
+-- continues SMS processing without substituting new data from the gsmSCF.
+
+eventReportSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT EventReportSMSArg {bound}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-eventReportSMS}
+-- Direction: gsmSSF or gprsSSF -> gsmSCF, Timer: Terbsms
+-- This operation is used to notify the gsmSCF of a Short Message related event (FSM events
+-- such as submission, delivery or failure) previously requested by the gsmSCF in a
+-- RequestReportSMSEvent operation.
+
+EventReportSMSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ eventTypeSMS [0] EventTypeSMS,
+ eventSpecificInformationSMS [1] EventSpecificInformationSMS OPTIONAL,
+ miscCallInfo [2] MiscCallInfo DEFAULT {messageType request},
+ extensions [10] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+furnishChargingInformationSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT FurnishChargingInformationSMSArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter}
+ CODE opcode-furnishChargingInformationSMS}
+-- Direction: gsmSCF ?? gsmSSF or gprsSSF, Timer: Tfcisms
+-- This operation is used to request the smsSSF to generate, register a charging record
+-- or to include some information in the default SM record. The registered charging record is
+-- intended for off line charging of the Short Message.
+
+FurnishChargingInformationSMSArg {PARAMETERS-BOUND : bound} ::=
+ FCISMSBillingChargingCharacteristics {bound}
+
+initialDPSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT InitialDPSMSArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingCustomerRecord |
+ missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter}
+ CODE opcode-initialDPSMS}
+-- Direction: gsmSSF or gprsSSF -> gsmSCF, Timer: Tidpsms
+-- This operation is used after a TDP to indicate request for service.
+
+InitialDPSMSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ serviceKey [0] ServiceKey,
+ destinationSubscriberNumber [1] CalledPartyBCDNumber {bound} OPTIONAL,
+ callingPartyNumber [2] SMS-AddressString OPTIONAL,
+ eventTypeSMS [3] EventTypeSMS OPTIONAL,
+ iMSI [4] IMSI OPTIONAL,
+ locationInformationMSC [5] LocationInformation OPTIONAL,
+ locationInformationGPRS [6] LocationInformationGPRS OPTIONAL,
+ sMSCAddress [7] ISDN-AddressString OPTIONAL,
+ timeAndTimezone [8] TimeAndTimezone {bound} OPTIONAL,
+ tPShortMessageSpecificInfo [9] TPShortMessageSpecificInfo OPTIONAL,
+ tPProtocolIdentifier [10] TPProtocolIdentifier OPTIONAL,
+ tPDataCodingScheme [11] TPDataCodingScheme OPTIONAL,
+ tPValidityPeriod [12] TPValidityPeriod OPTIONAL,
+ extensions [13] Extensions {bound} OPTIONAL,
+ ...,
+ smsReferenceNumber [14] CallReferenceNumber OPTIONAL,
+ mscAddress [15] ISDN-AddressString OPTIONAL,
+ sgsn-Number [16] ISDN-AddressString OPTIONAL,
+ ms-Classmark2 [17] MS-Classmark2 OPTIONAL,
+ gPRSMSClass [18] GPRSMSClass OPTIONAL,
+ iMEI [19] IMEI OPTIONAL,
+ calledPartyNumber [20] ISDN-AddressString OPTIONAL
+ }
+
+-- The UserCSGInformation is conveyed in the LocationInformation for CS and LocationInformationGPRS
+-- for GPRS. The encoding of the parameter is as defined in 3GPP TS 29.002 [11].
+
+releaseSMS OPERATION ::= {
+ ARGUMENT ReleaseSMSArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-releaseSMS}
+-- Direction: gsmSCF -> gsmSSF or gprsSSF, Timer: Trelsms
+-- This operation is used to prevent an attempt to submit or deliver a short message.
+
+ReleaseSMSArg ::= RPCause
+
+requestReportSMSEvent {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT RequestReportSMSEventArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter}
+ CODE opcode-requestReportSMSEvent}
+-- Direction: gsmSCF -> gsmSSF or gprsSSF, Timer: Trrbsms
+-- This operation is used to request the gsmSSF or gprsSSF to monitor for a
+-- Short Message related event (FSM events such as submission, delivery or failure)
+-- and to send a notification to the gsmSCF when the event is detected.
+
+RequestReportSMSEventArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ sMSEvents [0] SEQUENCE SIZE (1..bound.&numOfSMSEvents) OF SMSEvent,
+ extensions [10] Extensions {bound} OPTIONAL,
+ ...
+ }
+-- Indicates the Short Message related events(s) for notification.
+
+resetTimerSMS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ResetTimerSMSArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter}
+ CODE opcode-resetTimerSMS}
+-- Direction: gsmSCF -> smsSSF, Timer: Trtsms
+-- This operation is used to request the smsSSF to refresh an application
+-- timer in the smsSSF.
+
+ResetTimerSMSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ timerID [0] TimerID DEFAULT tssf,
+ timervalue [1] TimerValue,
+ extensions [2] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+END
diff --git a/epan/dissectors/asn1/camel/CAP-U-ABORT-Data.asn b/epan/dissectors/asn1/camel/CAP-U-ABORT-Data.asn
new file mode 100644
index 00000000..ebbd786b
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-U-ABORT-Data.asn
@@ -0,0 +1,48 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 5.7 User Abort Data
+CAP-U-ABORT-Data {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-u-abort-data(110) version8(7)}
+
+DEFINITIONS ::= BEGIN
+
+id-CAP-U-ABORT-Reason OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-Network(1) as(1) cap-u-abort-reason(2) version3(2)}
+
+cAP-U-ABORT-Reason-Abstract-Syntax ABSTRACT-SYNTAX ::= {CAP-U-ABORT-REASON IDENTIFIED BY
+id-CAP-U-ABORT-Reason}
+
+CAP-U-ABORT-REASON ::= ENUMERATED {
+ no-reason-given (1),
+ application-timer-expired (2),
+ not-allowed-procedures (3),
+ abnormal-processing (4),
+ congestion (5),
+ invalid-reference (6),
+ missing-reference (7),
+ overlapping-dialogue (8)
+ }
+-- application-timer-expired shall be set when application timer (e.g. Tssf) is expired.
+-- not-allowed-procedures shall be set when received signal is not allowed in CAP
+-- procedures.
+-- For example, when a class 4 operation is received from the
+-- gsmSCF and the operation is not allowed in gsmSSF FSM.
+-- (gsmSSF FSM cannot continue state transition). (e.g. ReleaseCall
+-- operation received in Waiting for End of Temporary Connection
+-- state.)
+-- abnormal-processing shall be set when abnormal procedures occur at entity action.
+-- congestion shall be set when requested resource is unavailable due to
+-- congestion at TC user (CAP) level.
+-- invalid-reference shall be set if the received destinationReference is unknown or
+-- for a known destination Reference the received originationReference
+-- does not match with the stored originationReference.
+-- This abort reason is used for CAP defined GPRS-ReferenceNumber.
+-- missing-reference shall be set when the destinationReference or the
+-- originationReference is absent in the received message but is
+-- required to be present according to the procedures in
+-- subclause 14.1.7.
+-- This abort reason is used for CAP defined GPRS ReferenceNumber.
+-- overlapping-dialogue shall be used by the gprsSSF to indicate to the gsmSCF that a
+-- specific instance already has a TC dialogue open. This error
+-- cause is typically obtained when both the gsmSCF and gprsSSF
+-- open a new dialogue at the same time.
+-- no-reason-given shall be set when any other reasons above do not apply
+END -- of CAP-U-ABORT-Data
+
diff --git a/epan/dissectors/asn1/camel/CAP-classes.asn b/epan/dissectors/asn1/camel/CAP-classes.asn
new file mode 100644
index 00000000..f35ea95c
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-classes.asn
@@ -0,0 +1,306 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 5.5 Classes
+CAP-classes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1)
+modules(3) cap-classes(54) version8(7)}
+
+DEFINITIONS ::= BEGIN
+
+IMPORTS
+
+ ROS-OBJECT-CLASS,
+ Code
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+ id-rosObject-gprsSSF,
+ id-rosObject-gsmSRF,
+ id-rosObject-gsmSSF,
+ id-rosObject-smsSSF-V3,
+ id-rosObject-smsSSF-V4,
+ ros-InformationObjects,
+ gsmSSF-gsmSCF-Protocol,
+ gsmSCF-gsmSRF-Protocol,
+ smsSSF-gsmSCF-Protocol,
+ gprsSSF-gsmSCF-Protocol
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+ capSsfToScfGeneric,
+ capAssistHandoffssfToScf,
+ capScfToSsfGeneric
+FROM CAP-gsmSSF-gsmSCF-pkgs-contracts-acs gsmSSF-gsmSCF-Protocol
+
+ gsmSRF-gsmSCF-contract
+FROM CAP-gsmSCF-gsmSRF-pkgs-contracts-acs gsmSCF-gsmSRF-Protocol
+
+ cap3SMS,
+ cap4SMS
+FROM CAP-smsSSF-gsmSCF-pkgs-contracts-acs smsSSF-gsmSCF-Protocol
+
+ capGprsSsfToScf,
+ capGsmScfToGprsSsf
+FROM CAP-gprsSSF-gsmSCF-pkgs-contracts-acs gprsSSF-gsmSCF-Protocol
+
+ CriticalityType
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1) cs2(20)
+modules(0) in-cs2-datatypes(0) version1(0)}
+
+;
+
+gsmSSF ROS-OBJECT-CLASS ::= {
+ INITIATES {capSsfToScfGeneric|
+ capAssistHandoffssfToScf}
+ RESPONDS {capScfToSsfGeneric}
+ ID id-rosObject-gsmSSF}
+-- The Rel-6 'gsmSSF' definition uses the Rel-6 capSsfToScfGeneric, capAssistHandoffssfToScf
+-- and capScfToSsfGeneric CONTRACT definitions.
+
+gsmSRF ROS-OBJECT-CLASS ::= {
+ INITIATES {gsmSRF-gsmSCF-contract}
+ ID id-rosObject-gsmSRF}
+-- The Rel-6 'gsmSRF' definition uses the Rel-6 gsmSRF-gsmSCF-contract CONTRACT definition.
+
+smsSSF-V3 ROS-OBJECT-CLASS ::= {
+ INITIATES {cap3SMS}
+ ID id-rosObject-smsSSF-V3}
+-- The Rel-6 'smsSSF-V3' definition uses the Rel-6 cap3SMS CONTRACT definition. The smsSSF-V3
+-- ROS-OBJECT-CLASS is used for MO SMS control.
+
+smsSSF-V4 ROS-OBJECT-CLASS ::= {
+ INITIATES {cap4SMS}
+ ID id-rosObject-smsSSF-V4}
+-- The Rel-6 'smsSSF-V4' definition uses the Rel-6 cap4SMS CONTRACT definition. The smsSSF-V4
+-- ROS-OBJECT-CLASS is used for MT SMS control.
+
+gprsSSF ROS-OBJECT-CLASS ::= {
+ INITIATES {capGprsSsfToScf}
+ RESPONDS {capGsmScfToGprsSsf}
+ ID id-rosObject-gprsSSF}
+-- The Rel-6 'gprsSSF' definition uses the Rel-6 capGprsSsfTogsmScf and capGsmScfToGprsSsf
+-- CONTRACT definitions.
+
+EXTENSION ::= CLASS {
+ &ExtensionType,
+ &criticality CriticalityType DEFAULT ignore,
+ &id Code}
+
+WITH SYNTAX {
+ EXTENSION-SYNTAX &ExtensionType
+ CRITICALITY &criticality
+ IDENTIFIED BY &id
+ }
+-- Only value Global OBJECT IDENTIFIER is used for &id;
+-- Only the value ignore (0) is used for &criticality.
+
+-- Example of addition of an extension named 'Some Network Specific Indicator' of type
+-- BOOLEAN, with criticality 'ignore' and identified by global Object Identifier.
+--
+-- Example of definition using the above information object class:
+--
+-- SomeNetworkSpecificIndicator EXTENSION ::= {
+-- EXTENSION-SYNTAX BOOLEAN
+-- CRITICALITY ignore
+-- IDENTIFIED BY global : {itu-t(0) identified-organization(4) organisation(0) gsm(1)
+-- capextension(2)}
+-- }
+
+-- Example of transfer syntax, using the ExtensionField datatype as specified in clause 5.
+-- Assuming the value of the extension is set to TRUE, the extensions parameter becomes
+-- a Sequence of type {itu-t(0) identified-organization(4) organisation(0) gsm(1)
+-- capextension(2)}, criticality ENUMERATED ::= ignore(0) and value [1] EXPLICIT BOOLEAN
+-- ::= TRUE.
+--
+-- Use of ITU-T Recommendation Q.1400 [52] defined Extension is for further study.
+-- In addition the extension mechanism marker is used to identify the future minor additions
+-- to CAP.
+
+firstExtension EXTENSION ::= {
+ EXTENSION-SYNTAX NULL
+ CRITICALITY ignore
+ IDENTIFIED BY global : {itu-t(0) identified-organization(4) organisation(0) gsm(1)
+ capextension(2)}
+ }
+-- firstExtension is just an example.
+
+SupportedExtensions EXTENSION ::= {firstExtension, ...
+-- full set of network operator extensions --
+}
+-- SupportedExtension is the full set of the network operator extensions.
+
+PARAMETERS-BOUND ::= CLASS {
+ &minAccessPointNameLength INTEGER,
+ &maxAccessPointNameLength INTEGER,
+ &minAChBillingChargingLength INTEGER,
+ &maxAChBillingChargingLength INTEGER,
+ &minAttributesLength INTEGER,
+ &maxAttributesLength INTEGER,
+ &maxBearerCapabilityLength INTEGER,
+ &minCalledPartyBCDNumberLength INTEGER,
+ &maxCalledPartyBCDNumberLength INTEGER,
+ &minCalledPartyNumberLength INTEGER,
+ &maxCalledPartyNumberLength INTEGER,
+ &minCallingPartyNumberLength INTEGER,
+ &maxCallingPartyNumberLength INTEGER,
+ &minCallResultLength INTEGER,
+ &maxCallResultLength INTEGER,
+ &minCarrierLength INTEGER,
+ &maxCarrierLength INTEGER,
+ &minCauseLength INTEGER,
+ &maxCauseLength INTEGER,
+ &minDigitsLength INTEGER,
+ &maxDigitsLength INTEGER,
+ &minFCIBillingChargingDataLength INTEGER,
+ &maxFCIBillingChargingDataLength INTEGER,
+ &minFCIBillingChargingLength INTEGER,
+ &maxFCIBillingChargingLength INTEGER,
+ &minGenericNumberLength INTEGER,
+ &maxGenericNumberLength INTEGER,
+ &minGPRSCauseLength INTEGER,
+ &maxGPRSCauseLength INTEGER,
+ &minIPSSPCapabilitiesLength INTEGER,
+ &maxIPSSPCapabilitiesLength INTEGER,
+ &minLocationNumberLength INTEGER,
+ &maxLocationNumberLength INTEGER,
+ &minLowLayerCompatibilityLength INTEGER,
+ &maxLowLayerCompatibilityLength INTEGER,
+ &minMessageContentLength INTEGER,
+ &maxMessageContentLength INTEGER,
+ &minOriginalCalledPartyIDLength INTEGER,
+ &maxOriginalCalledPartyIDLength INTEGER,
+ &minPDPAddressLength INTEGER,
+ &maxPDPAddressLength INTEGER,
+ &minRedirectingPartyIDLength INTEGER,
+ &maxRedirectingPartyIDLength INTEGER,
+ &minScfIDLength INTEGER,
+ &maxScfIDLength INTEGER,
+ &minSCIBillingChargingLength INTEGER,
+ &maxSCIBillingChargingLength INTEGER,
+ &minTimeAndTimezoneLength INTEGER,
+ &maxTimeAndTimezoneLength INTEGER,
+ &numOfBCSMEvents INTEGER,
+ &numOfChangeOfPositionControlInfo INTEGER,
+ &numOfCSs INTEGER,
+ &numOfSMSEvents INTEGER,
+ &numOfGPRSEvents INTEGER,
+ &numOfExtensions INTEGER,
+ &numOfGenericNumbers INTEGER,
+ &numOfMessageIDs INTEGER}
+
+WITH SYNTAX {
+ MINIMUM-FOR-ACCESS-POINT-NAME &minAccessPointNameLength
+ MAXIMUM-FOR-ACCESS-POINT-NAME &maxAccessPointNameLength
+ MINIMUM-FOR-ACH-BILLING-CHARGING &minAChBillingChargingLength
+ MAXIMUM-FOR-ACH-BILLING-CHARGING &maxAChBillingChargingLength
+ MINIMUM-FOR-ATTRIBUTES &minAttributesLength
+ MAXIMUM-FOR-ATTRIBUTES &maxAttributesLength
+ MAXIMUM-FOR-BEARER-CAPABILITY &maxBearerCapabilityLength
+ MINIMUM-FOR-CALLED-PARTY-BCD-NUMBER &minCalledPartyBCDNumberLength
+ MAXIMUM-FOR-CALLED-PARTY-BCD-NUMBER &maxCalledPartyBCDNumberLength
+ MINIMUM-FOR-CALLED-PARTY-NUMBER &minCalledPartyNumberLength
+ MAXIMUM-FOR-CALLED-PARTY-NUMBER &maxCalledPartyNumberLength
+ MINIMUM-FOR-CALLING-PARTY-NUMBER &minCallingPartyNumberLength
+ MAXIMUM-FOR-CALLING-PARTY-NUMBER &maxCallingPartyNumberLength
+ MINIMUM-FOR-CALL-RESULT &minCallResultLength
+ MAXIMUM-FOR-CALL-RESULT &maxCallResultLength
+ MINIMUM-FOR-CARRIER &minCarrierLength
+ MAXIMUM-FOR-CARRIER &maxCarrierLength
+ MINIMUM-FOR-CAUSE &minCauseLength
+ MAXIMUM-FOR-CAUSE &maxCauseLength
+ MINIMUM-FOR-DIGITS &minDigitsLength
+ MAXIMUM-FOR-DIGITS &maxDigitsLength
+ MINIMUM-FOR-FCI-BILLING-CHARGING-DATA &minFCIBillingChargingDataLength
+ MAXIMUM-FOR-FCI-BILLING-CHARGING-DATA &maxFCIBillingChargingDataLength
+ MINIMUM-FOR-FCI-BILLING-CHARGING &minFCIBillingChargingLength
+ MAXIMUM-FOR-FCI-BILLING-CHARGING &maxFCIBillingChargingLength
+ MINIMUM-FOR-GENERIC-NUMBER &minGenericNumberLength
+ MAXIMUM-FOR-GENERIC-NUMBER &maxGenericNumberLength
+ MINIMUM-FOR-GPRS-CAUSE-LENGTH &minGPRSCauseLength
+ MAXIMUM-FOR-GPRS-CAUSE-LENGTH &maxGPRSCauseLength
+ MINIMUM-FOR-IP-SSP-CAPABILITIES &minIPSSPCapabilitiesLength
+ MAXIMUM-FOR-IP-SSP-CAPABILITIES &maxIPSSPCapabilitiesLength
+ MINIMUM-FOR-LOCATION-NUMBER &minLocationNumberLength
+ MAXIMUM-FOR-LOCATION-NUMBER &maxLocationNumberLength
+ MINIMUM-FOR-LOW-LAYER-COMPATIBILITY &minLowLayerCompatibilityLength
+ MAXIMUM-FOR-LOW-LAYER-COMPATIBILITY &maxLowLayerCompatibilityLength
+ MINIMUM-FOR-MESSAGE-CONTENT &minMessageContentLength
+ MAXIMUM-FOR-MESSAGE-CONTENT &maxMessageContentLength
+ MINIMUM-FOR-ORIGINAL-CALLED-PARTY-ID &minOriginalCalledPartyIDLength
+ MAXIMUM-FOR-ORIGINAL-CALLED-PARTY-ID &maxOriginalCalledPartyIDLength
+ MINIMUM-FOR-PDP-ADDRESS-LENGTH &minPDPAddressLength
+ MAXIMUM-FOR-PDP-ADDRESS-LENGTH &maxPDPAddressLength
+ MINIMUM-FOR-REDIRECTING-ID &minRedirectingPartyIDLength
+ MAXIMUM-FOR-REDIRECTING-ID &maxRedirectingPartyIDLength
+ MINIMUM-FOR-GSMSCF-ID &minScfIDLength
+ MAXIMUM-FOR-GSMSCF-ID &maxScfIDLength
+ MINIMUM-FOR-SCI-BILLING-CHARGING &minSCIBillingChargingLength
+ MAXIMUM-FOR-SCI-BILLING-CHARGING &maxSCIBillingChargingLength
+ MINIMUM-FOR-TIME-AND-TIMEZONE &minTimeAndTimezoneLength
+ MAXIMUM-FOR-TIME-AND-TIMEZONE &maxTimeAndTimezoneLength
+ NUM-OF-BCSM-EVENT &numOfBCSMEvents
+ NUM-OF-CHANGE-OF-POSITION-CONTROL-INFO &numOfChangeOfPositionControlInfo
+ NUM-OF-CSS &numOfCSs
+ NUM-OF-SMS-EVENTS &numOfSMSEvents
+ NUM-OF-GPRS-EVENTS &numOfGPRSEvents
+ NUM-OF-EXTENSIONS &numOfExtensions
+ NUM-OF-GENERIC-NUMBERS &numOfGenericNumbers
+ NUM-OF-MESSAGE-IDS &numOfMessageIDs}
+
+cAPSpecificBoundSet PARAMETERS-BOUND ::= {
+ MINIMUM-FOR-ACCESS-POINT-NAME 1
+ MAXIMUM-FOR-ACCESS-POINT-NAME 100
+ MINIMUM-FOR-ACH-BILLING-CHARGING 5
+ MAXIMUM-FOR-ACH-BILLING-CHARGING 177
+ MINIMUM-FOR-ATTRIBUTES 2
+ MAXIMUM-FOR-ATTRIBUTES 10
+ MAXIMUM-FOR-BEARER-CAPABILITY 11
+ MINIMUM-FOR-CALLED-PARTY-BCD-NUMBER 1
+ MAXIMUM-FOR-CALLED-PARTY-BCD-NUMBER 41
+ MINIMUM-FOR-CALLED-PARTY-NUMBER 2
+ MAXIMUM-FOR-CALLED-PARTY-NUMBER 18
+ MINIMUM-FOR-CALLING-PARTY-NUMBER 2
+ MAXIMUM-FOR-CALLING-PARTY-NUMBER 10
+ MINIMUM-FOR-CALL-RESULT 12
+ MAXIMUM-FOR-CALL-RESULT 193
+ MINIMUM-FOR-CARRIER 4
+ MAXIMUM-FOR-CARRIER 4
+ MINIMUM-FOR-CAUSE 2
+ MAXIMUM-FOR-CAUSE 32
+ MINIMUM-FOR-DIGITS 2
+ MAXIMUM-FOR-DIGITS 16
+ MINIMUM-FOR-FCI-BILLING-CHARGING-DATA 1
+ MAXIMUM-FOR-FCI-BILLING-CHARGING-DATA 160
+ MINIMUM-FOR-FCI-BILLING-CHARGING 5
+ MAXIMUM-FOR-FCI-BILLING-CHARGING 225
+ MINIMUM-FOR-GENERIC-NUMBER 3
+ MAXIMUM-FOR-GENERIC-NUMBER 11
+ MINIMUM-FOR-GPRS-CAUSE-LENGTH 1
+ MAXIMUM-FOR-GPRS-CAUSE-LENGTH 1
+ MINIMUM-FOR-IP-SSP-CAPABILITIES 1
+ MAXIMUM-FOR-IP-SSP-CAPABILITIES 4
+ MINIMUM-FOR-LOCATION-NUMBER 2
+ MAXIMUM-FOR-LOCATION-NUMBER 10
+ MINIMUM-FOR-LOW-LAYER-COMPATIBILITY 1
+ MAXIMUM-FOR-LOW-LAYER-COMPATIBILITY 16
+ MINIMUM-FOR-MESSAGE-CONTENT 1
+ MAXIMUM-FOR-MESSAGE-CONTENT 127
+ MINIMUM-FOR-ORIGINAL-CALLED-PARTY-ID 2
+ MAXIMUM-FOR-ORIGINAL-CALLED-PARTY-ID 10
+ MINIMUM-FOR-PDP-ADDRESS-LENGTH 1
+ MAXIMUM-FOR-PDP-ADDRESS-LENGTH 63
+ MINIMUM-FOR-REDIRECTING-ID 2
+ MAXIMUM-FOR-REDIRECTING-ID 10
+ MINIMUM-FOR-GSMSCF-ID 2
+ MAXIMUM-FOR-GSMSCF-ID 10
+ MINIMUM-FOR-SCI-BILLING-CHARGING 4
+ MAXIMUM-FOR-SCI-BILLING-CHARGING 225
+ MINIMUM-FOR-TIME-AND-TIMEZONE 8
+ MAXIMUM-FOR-TIME-AND-TIMEZONE 8
+ NUM-OF-BCSM-EVENT 30
+ NUM-OF-CHANGE-OF-POSITION-CONTROL-INFO 10
+ NUM-OF-CSS 127
+ NUM-OF-SMS-EVENTS 10
+ NUM-OF-GPRS-EVENTS 10
+ NUM-OF-EXTENSIONS 10
+ NUM-OF-GENERIC-NUMBERS 5
+ NUM-OF-MESSAGE-IDS 16}
+
+END
diff --git a/epan/dissectors/asn1/camel/CAP-datatypes.asn b/epan/dissectors/asn1/camel/CAP-datatypes.asn
new file mode 100644
index 00000000..df8d1df0
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-datatypes.asn
@@ -0,0 +1,1527 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 5 Common CAP Types
+-- 5.1 Data types
+
+CAP-datatypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-datatypes(52) version8(7)}
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+IMPORTS
+
+ Duration,
+ Integer4,
+ Interval,
+ LegID,
+ ServiceKey
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+
+ BothwayThroughConnectionInd,
+ CriticalityType,
+ MiscCallInfo
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+cs2(20) modules(0) in-cs2-datatypes(0) version1(0)}
+
+ AddressString,
+ CellGlobalIdOrServiceAreaIdFixedLength,
+ Ext-BasicServiceCode,
+ IMSI,
+ ISDN-AddressString,
+ LAIFixedLength,
+ GSN-Address, -- WS moved to common datatypes in rel 9.0.0
+ RAIdentity, -- WS moved to common datatypes in rel 10.4.0
+ NAEA-CIC
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version12(12)}
+
+ Ext-QoS-Subscribed,
+ Ext2-QoS-Subscribed,
+ Ext3-QoS-Subscribed,
+ GeographicalInformation,
+-- GSN-Address, WS moved to common datatypes in rel 9.0.0
+ LocationInformation,
+ LSAIdentity,
+ QoS-Subscribed,
+-- RAIdentity, WS moved to common datatypes in rel 10.4.0
+ SubscriberState,
+ GPRSChargingID
+FROM MAP-MS-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-MS-DataTypes(11) version12(12)}
+
+ CallReferenceNumber,
+ SuppressionOfAnnouncement
+FROM MAP-CH-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CH-DataTypes(13) version12(12)}
+
+ tc-Messages,
+ classes
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+ EXTENSION,
+ PARAMETERS-BOUND,
+ SupportedExtensions
+FROM CAP-classes classes
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-ExtensionDataTypes(21) version12(12)}
+
+;
+
+AccessPointName {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minAccessPointNameLength .. bound.&maxAccessPointNameLength))
+-- Indicates the AccessPointName, refer to 3GPP TS 24.008 [9] for the encoding.
+-- It shall be coded as in the value part defined in 3GPP TS 24.008,
+-- i.e. the 3GPP TS 24.008 IEI and 3GPP TS 24.008 octet length indicator
+-- shall not be included.
+
+AChBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE
+ (bound.&minAChBillingChargingLength .. bound.&maxAChBillingChargingLength))
+ (CONSTRAINED BY {-- shall be the result of the BER-encoded value of the type --
+ CAMEL-AChBillingChargingCharacteristics {bound}})
+-- The AChBillingChargingCharacteristics parameter specifies the charging related information
+-- to be provided by the gsmSSF and the conditions on which this information has to be reported
+-- back to the gsmSCF with the ApplyChargingReport operation. The value of the
+-- AChBillingChargingCharacteristics of type OCTET STRING carries a value of the ASN.1 data type:
+-- CAMEL-AChBillingChargingCharacteristics. The normal encoding rules are used to encode this
+-- value.
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+AChChargingAddress {PARAMETERS-BOUND : bound} ::= CHOICE {
+ legID [2] LegID,
+ srfConnection [50] CallSegmentID {bound}
+ }
+
+AdditionalCallingPartyNumber {PARAMETERS-BOUND : bound} ::= Digits {bound}
+-- Indicates the Additional Calling Party Number.
+
+AlertingPattern ::= OCTET STRING (SIZE(3))
+-- Indicates a specific pattern that is used to alert a subscriber
+-- (e.g. distinctive ringing, tones, etc.).
+-- The encoding of the last octet of this parameter is as defined in 3GPP TS 29.002 [11].
+-- Only the trailing OCTET is used, the remaining OCTETS shall be sent as NULL (zero)
+-- The receiving side shall ignore the leading two OCTETS.
+
+AOCBeforeAnswer ::= SEQUENCE {
+ aOCInitial [0] CAI-GSM0224,
+ aOCSubsequent [1] AOCSubsequent OPTIONAL
+ }
+
+AOCGPRS ::= SEQUENCE {
+ aOCInitial [0] CAI-GSM0224,
+ aOCSubsequent [1] AOCSubsequent OPTIONAL
+ }
+
+AOCSubsequent ::= SEQUENCE {
+ cAI-GSM0224 [0] CAI-GSM0224 ,
+ tariffSwitchInterval [1] INTEGER (1..86400) OPTIONAL
+ }
+-- tariffSwitchInterval is measured in 1 second units
+
+AppendFreeFormatData ::= ENUMERATED {
+ overwrite (0),
+ append (1)
+ }
+
+ApplicationTimer ::=INTEGER (0..2047)
+-- Used by the gsmSCF to set a timer in the gsmSSF. The timer is in seconds.
+
+AssistingSSPIPRoutingAddress {PARAMETERS-BOUND : bound} ::= Digits {bound}
+-- Indicates the destination address of the gsmSRF for the assist procedure.
+
+AudibleIndicator ::= CHOICE {
+ tone BOOLEAN,
+ burstList [1] BurstList
+ }
+
+BackwardServiceInteractionInd ::= SEQUENCE {
+ conferenceTreatmentIndicator [1] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- acceptConferenceRequest 'xxxx xx01'B
+ -- rejectConferenceRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect conference treatement
+ callCompletionTreatmentIndicator [2] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- acceptCallCompletionServiceRequest 'xxxx xx01'B,
+ -- rejectCallCompletionServiceRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect call completion treatment
+ ...
+ }
+
+BasicGapCriteria {PARAMETERS-BOUND : bound} ::= CHOICE {
+ calledAddressValue [0] Digits {bound},
+ gapOnService [2] GapOnService,
+ calledAddressAndService [29] SEQUENCE {
+ calledAddressValue [0] Digits {bound},
+ serviceKey [1] ServiceKey,
+ ...
+ },
+ callingAddressAndService [30] SEQUENCE {
+ callingAddressValue [0] Digits {bound},
+ serviceKey [1] ServiceKey,
+ ...
+ }
+ }
+-- Both calledAddressValue and callingAddressValue can be
+-- incomplete numbers, in the sense that a limited amount of digits can be given.
+-- For the handling of numbers starting with the same digit string refer to the detailed
+-- procedure of the CallGap operation
+
+BCSMEvent{PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ eventTypeBCSM [0] EventTypeBCSM,
+ monitorMode [1] MonitorMode,
+ legID [2] LegID OPTIONAL,
+ dpSpecificCriteria [30] DpSpecificCriteria {bound} OPTIONAL,
+ automaticRearm [50] NULL OPTIONAL,
+ ...
+ }
+-- Indicates the BCSM Event information for monitoring.
+
+BCSM-Failure {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ legID [0] LegID OPTIONAL,
+ cause [2] Cause {bound} OPTIONAL,
+ ...
+ }
+
+BearerCapability {PARAMETERS-BOUND : bound} ::= CHOICE {
+ bearerCap [0] OCTET STRING (SIZE(2..bound.&maxBearerCapabilityLength))
+ }
+-- Indicates the type of bearer capability connection to the user. For bearerCap, the ISUP User
+-- Service Information, ETSI EN 300 356-1 [23]
+-- encoding shall be used.
+
+Burst ::= SEQUENCE {
+ numberOfBursts [0] INTEGER (1..3) DEFAULT 1,
+ burstInterval [1] INTEGER (1..1200) DEFAULT 2,
+ numberOfTonesInBurst [2] INTEGER (1..3) DEFAULT 3,
+ toneDuration [3] INTEGER (1..20) DEFAULT 2,
+ toneInterval [4] INTEGER (1..20) DEFAULT 2,
+ ...
+ }
+-- burstInterval, toneDurartion and toneInterval are measured in 100 millisecond units
+
+BurstList ::= SEQUENCE {
+ warningPeriod [0] INTEGER (1..1200) DEFAULT 30,
+ bursts [1] Burst,
+ ...
+ }
+-- warningPeriod is measured in 1 second units.
+
+CAI-GSM0224 ::= SEQUENCE {
+ e1 [0] INTEGER (0..8191) OPTIONAL,
+ e2 [1] INTEGER (0..8191) OPTIONAL,
+ e3 [2] INTEGER (0..8191) OPTIONAL,
+ e4 [3] INTEGER (0..8191) OPTIONAL,
+ e5 [4] INTEGER (0..8191) OPTIONAL,
+ e6 [5] INTEGER (0..8191) OPTIONAL,
+ e7 [6] INTEGER (0..8191) OPTIONAL
+ }
+-- Indicates Charge Advice Information to the Mobile Station. For information regarding
+-- parameter usage, refer to 3GPP TS 22.024 [2].
+
+CalledPartyBCDNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minCalledPartyBCDNumberLength .. bound.&maxCalledPartyBCDNumberLength))
+-- Indicates the Called Party Number, including service selection information.
+-- Refer to 3GPP TS 24.008 [9] for encoding.
+-- This data type carries only the 'type of number', 'numbering plan
+-- identification' and 'number digit' fields defined in 3GPP TS 24.008 [9];
+-- it does not carry the 'called party BCD number IEI' or 'length of called
+-- party BCD number contents'.
+-- In the context of the DestinationSubscriberNumber field in ConnectSMSArg or
+-- InitialDPSMSArg, a CalledPartyBCDNumber may also contain an alphanumeric
+-- character string. In this case, type-of-number '101'B is used, in accordance
+-- with 3GPP TS 23.040 [6]. The address is coded in accordance with the
+-- GSM 7 bit default alphabet definition and the SMS packing rules
+-- as specified in 3GPP TS 23.038 [15] in this case.
+
+CalledPartyNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minCalledPartyNumberLength .. bound.&maxCalledPartyNumberLength))
+-- Indicates the Called Party Number. Refer to ETS EN 300 356 1 [23] for encoding.
+
+-- A CalledPartyNumber may contain national-specific values of the Nature Of Address
+-- indicator. The filling-in of the national-specific Nature Of Address indicator
+-- values shall be done in accordance with the national ISUP of the gsmSSF country, e.g.
+-- ANSI T1.113-1995 [92].
+-- In terms of ETS EN 300 356-1 [23], the Destination Address Field is not present if the
+-- destination address length is set to zero. This is the case e.g. when the ANSI
+-- ISUP Nature Of Address indicator indicates no number present, operator requested
+-- (1110100) or no number present, cut-through call to carrier (1110101).
+-- See also see 3GPP TS 23.078 [7].
+
+CallingPartyNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minCallingPartyNumberLength .. bound.&maxCallingPartyNumberLength))
+-- Indicates the Calling Party Number. Refer to ETSI EN 300 356 1 [23] for encoding.
+
+CallResult {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minCallResultLength .. bound.&maxCallResultLength))
+ (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type -
+ CAMEL-CallResult {bound}})
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+-- This parameter provides the gsmSCF with the charging related information previously requested
+-- using the ApplyCharging operation. This shall include the partyToCharge parameter as
+-- received in the related ApplyCharging operation to correlate the result to the request
+
+CallSegmentFailure {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ callSegmentID [0] CallSegmentID {bound} OPTIONAL,
+ cause [2] Cause {bound} OPTIONAL,
+ ...
+ }
+
+CallSegmentID {PARAMETERS-BOUND : bound} ::= INTEGER (1..bound.&numOfCSs)
+
+CallSegmentToCancel {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ invokeID [0] InvokeID OPTIONAL,
+ callSegmentID [1] CallSegmentID {bound} OPTIONAL,
+ ...
+ }
+
+CAMEL-AChBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= CHOICE {
+ timeDurationCharging [0] SEQUENCE {
+ maxCallPeriodDuration [0] INTEGER (1..864000),
+ releaseIfdurationExceeded [1] BOOLEAN DEFAULT FALSE,
+ tariffSwitchInterval [2] INTEGER (1..86400) OPTIONAL,
+ audibleIndicator [3] AudibleIndicator DEFAULT tone: FALSE,
+ extensions [4] Extensions {bound} OPTIONAL,
+ ...
+ }
+ }
+-- tariffSwitchInterval is measured in 1 second units.
+-- maxCallPeriodDuration is measured in 100 millisecond units
+
+CAMEL-CallResult {PARAMETERS-BOUND : bound} ::= CHOICE {
+ timeDurationChargingResult [0] SEQUENCE {
+ partyToCharge [0] ReceivingSideID,
+ timeInformation [1] TimeInformation,
+ legActive [2] BOOLEAN DEFAULT TRUE,
+ callLegReleasedAtTcpExpiry [3] NULL OPTIONAL,
+ extensions [4] Extensions {bound} OPTIONAL,
+ aChChargingAddress [5] AChChargingAddress {bound}
+ DEFAULT legID:receivingSideID:leg1,
+ ...
+ }
+ }
+
+CAMEL-FCIBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= CHOICE{
+ fCIBCCCAMELsequence1 [0] SEQUENCE {
+ freeFormatData [0] OCTET STRING (SIZE(
+ bound.&minFCIBillingChargingDataLength .. bound.&maxFCIBillingChargingDataLength)),
+ partyToCharge [1] SendingSideID DEFAULT sendingSideID: leg1,
+ appendFreeFormatData [2] AppendFreeFormatData DEFAULT overwrite,
+ ...
+ }
+ }
+
+CAMEL-FCIGPRSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= SEQUENCE{
+ fCIBCCCAMELsequence1 [0] SEQUENCE {
+ freeFormatData [0] OCTET STRING (SIZE(
+ bound.&minFCIBillingChargingDataLength .. bound.&maxFCIBillingChargingDataLength)),
+ pDPID [1] PDPID OPTIONAL,
+ appendFreeFormatData [2] AppendFreeFormatData DEFAULT overwrite,
+ ...
+ }
+ }
+
+CAMEL-FCISMSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= CHOICE{
+ fCIBCCCAMELsequence1 [0] SEQUENCE {
+ freeFormatData [0] OCTET STRING (SIZE(
+ bound.&minFCIBillingChargingDataLength .. bound.&maxFCIBillingChargingDataLength)),
+ appendFreeFormatData [1] AppendFreeFormatData DEFAULT overwrite
+ }
+ }
+
+CAMEL-SCIBillingChargingCharacteristics ::= CHOICE {
+ aOCBeforeAnswer [0] AOCBeforeAnswer,
+ aOCAfterAnswer [1] AOCSubsequent,
+ aOC-extension [2] CAMEL-SCIBillingChargingCharacteristicsAlt
+ }
+
+CAMEL-SCIBillingChargingCharacteristicsAlt ::= SEQUENCE {
+ ...
+ }
+-- This datatype is for extension in future releases.
+
+CAMEL-SCIGPRSBillingChargingCharacteristics ::= SEQUENCE {
+ aOCGPRS [0] AOCGPRS,
+ pDPID [1] PDPID OPTIONAL,
+ ...
+ }
+
+Carrier {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minCarrierLength .. bound.&maxCarrierLength))
+-- This parameter is used for North America (na) only.
+-- It contains the carrier selection field (first octet) followed by Carrier ID
+-- information (North America (na)).
+
+-- The Carrier selection is one octet and is encoded as:
+-- 00000000 No indication
+-- 00000001 Selected carrier identification code (CIC) pre subscribed and not
+-- input by calling party
+-- 00000010 Selected carrier identification code (CIC) pre subscribed and input by
+-- calling party
+-- 00000011 Selected carrier identification code (CIC) pre subscribed, no
+-- indication of whether input by calling party (undetermined)
+-- 00000100 Selected carrier identification code (CIC) not pre subscribed and
+-- input by calling party
+-- 00000101
+-- to Spare
+-- 11111110
+-- 11111111 Reserved
+
+-- Refer to ANSI T1.113-1995 [92] for encoding of na carrier ID information (3 octets).
+
+Cause {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minCauseLength .. bound.&maxCauseLength))
+-- Indicates the cause for interface related information.
+-- Refer to ETSI EN 300 356 1 [23] Cause parameter for encoding.
+-- For the use of cause and location values refer to ITU T Recommendation Q.850 [47]
+-- Shall always include the cause value and shall also include the diagnostics field,
+-- if available.
+
+CGEncountered ::= ENUMERATED {
+ noCGencountered (0),
+ manualCGencountered (1),
+ scpOverload (2)
+ }
+-- Indicates the type of automatic call gapping encountered, if any.
+
+ChangeOfPositionControlInfo {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE (1..bound.&numOfChangeOfPositionControlInfo) OF ChangeOfLocation {bound}
+
+ChangeOfLocation {PARAMETERS-BOUND : bound} ::= CHOICE {
+ cellGlobalId [0] CellGlobalIdOrServiceAreaIdFixedLength,
+ serviceAreaId [1] CellGlobalIdOrServiceAreaIdFixedLength,
+ locationAreaId [2] LAIFixedLength,
+ inter-SystemHandOver [3] NULL,
+ inter-PLMNHandOver [4] NULL,
+ inter-MSCHandOver [5] NULL,
+ changeOfLocationAlt [6] ChangeOfLocationAlt {bound}
+}
+-- The cellGlobalId shall contain a Cell Global Identification.
+-- The serviceAreaId shall contain a Service Area Identification.
+
+ChangeOfLocationAlt {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ ...
+ }
+
+ChargeIndicator ::= OCTET STRING (SIZE (1))
+-- As specified in ITU-T Recommendation Q.763 as follows:
+-- no indication 'xxxx xx00'B
+-- no charge 'xxxx xx01'B
+-- charge 'xxxx xx10'B
+-- spare 'xxxx xx11'B
+-- Sending entity shall fill the upper six bits with '0's.
+-- Receiving entity shall ignore the upper six bits.
+
+ChargeNumber {PARAMETERS-BOUND : bound} ::= LocationNumber {bound}
+-- Information sent in either direction indicating the chargeable number for the call and
+-- consisting of the odd/even indicator, nature of address indicator, numbering plan indicator,
+-- and address signals.
+
+-- Uses the LocationNumber format which is based on the Location Number format as defined
+-- in ITU-T Recommendation Q.763 [45].
+-- For example, the ChargeNumber may be a third party number to which a call is billed for
+-- the 3rd party billing service. In this case, the calling party may request operator assistance
+-- to charge the call to, for example, their home number.
+
+-- For NA, this parameter uniquely identifies the chargeable number for a call sent into a North
+-- American long distance carrier. It transports the ChargeNumber Parameter Field as defined in
+-- ANSI T1.113-1995 [92]. This provides
+-- - 1 octet for the nature of address indicator field, plus
+-- - 1 octet for a numbering plan field, plus
+-- - up to 5 octets for the address signal (up to 10 digits)
+
+-- The Charge Number in ANSI T1.113-1995 [92] normally contains a 10 digit national number within
+-- the North American Numbering Plan (NANP); longer (e.g. international) charge numbers are not
+-- supported in ANSI T1.113-1995 [92].
+
+ChargingCharacteristics ::= CHOICE {
+ maxTransferredVolume [0] INTEGER (1..4294967295),
+ maxElapsedTime [1] INTEGER (1..86400)
+ }
+-- maxTransferredVolume is measured in number of bytes
+-- maxElapsedTime is measured in seconds
+
+ChargingResult ::= CHOICE {
+ transferredVolume [0] TransferredVolume,
+ elapsedTime [1] ElapsedTime
+ }
+
+ChargingRollOver ::= CHOICE {
+ transferredVolumeRollOver [0] TransferredVolumeRollOver,
+ elapsedTimeRollOver [1] ElapsedTimeRollOver
+ }
+-- transferredVolumeRollOver shall be reported if ApplyChargingReportGPRS reports volume and
+-- a roll-over has occurred in one or more volume counters. Otherwise, it shall be absent.
+-- elapsedTimeRollOver shall be reported if ApplyChargingReportGPRS reports duration and
+-- a roll-over has occurred in one or more duration counters. Otherwise, it shall be absent.
+
+CollectedDigits ::= SEQUENCE {
+ minimumNbOfDigits [0] INTEGER (1..30) DEFAULT 1,
+ maximumNbOfDigits [1] INTEGER (1..30),
+ endOfReplyDigit [2] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ cancelDigit [3] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ startDigit [4] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ firstDigitTimeOut [5] INTEGER (1..127) OPTIONAL,
+ interDigitTimeOut [6] INTEGER (1..127) OPTIONAL,
+ errorTreatment [7] ErrorTreatment DEFAULT stdErrorAndInfo,
+ interruptableAnnInd [8] BOOLEAN DEFAULT TRUE,
+ voiceInformation [9] BOOLEAN DEFAULT FALSE,
+ voiceBack [10] BOOLEAN DEFAULT FALSE
+ }
+-- The use of voiceBack and the support of voice recognition via voiceInformation
+-- is network operator specific.
+-- The endOfReplyDigit, cancelDigit, and startDigit parameters have been
+-- designated as OCTET STRING, and are to be encoded as BCD, one digit per octet
+-- only, contained in the four least significant bits of each OCTET. The following encoding shall
+-- be applied for the non-decimal characters:
+-- 1011 (*), 1100 (#).
+-- The usage is service dependent.
+-- firstDigitTimeOut and interDigitTimeOut are measured in seconds.
+
+CollectedInfo ::= CHOICE {
+ collectedDigits [0] CollectedDigits
+ }
+
+ConnectedNumberTreatmentInd ::= ENUMERATED {
+ noINImpact (0),
+ presentationRestricted (1),
+ presentCalledINNumber (2),
+ presentCallINNumberRestricted (3)
+}
+-- This parameter is used to suppress or to display the connected number.
+
+ControlType ::= ENUMERATED {
+ sCPOverloaded (0),
+ manuallyInitiated (1)
+ }
+
+CompoundCriteria {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ basicGapCriteria [0] BasicGapCriteria {bound},
+ scfID [1] ScfID {bound} OPTIONAL
+ }
+
+CorrelationID {PARAMETERS-BOUND : bound} ::= Digits {bound}
+-- used by gsmSCF for correlation with a previous operation.
+
+DateAndTime ::= OCTET STRING (SIZE(7))
+-- DateAndTime is BCD encoded. The year digit indicating millenium occupies bits
+-- 0-3 of the first octet, and the year digit indicating century occupies bits
+-- 4-7 of the first octet.
+-- The year digit indicating decade occupies bits 0-3 of the second octet,
+-- whilst the digit indicating the year within the decade occupies bits 4-7 of
+-- the second octet.
+-- The most significant month digit occupies bits 0-3 of the third octet,
+-- and the least significant month digit occupies bits 4-7 of the third octet.
+-- The most significant day digit occupies bits 0-3 of the fourth octet,
+-- and the least significant day digit occupies bits 4-7 of the fourth octet.
+-- The most significant hours digit occupies bits 0-3 of the fifth octet,
+-- and the least significant digit occupies bits 4-7 of the fifth octet.
+-- The most significant minutes digit occupies bits 0-3 of the sixth octet,
+-- and the least significant digit occupies bits 4-7 of the sixth octet.
+-- The most significant seconds digit occupies bits 0-3 of the seventh octet,
+-- and the least seconds significant digit occupies bits 4-7 of the seventh octet.
+-- For the encoding of digits in an octet, refer to the timeAndtimezone parameter.
+
+DestinationRoutingAddress {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE(1) OF
+ CalledPartyNumber {bound}
+-- Indicates the Called Party Number.
+
+Digits {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minDigitsLength .. bound.&maxDigitsLength))
+-- Indicates the address signalling digits.
+-- Refer to ETSI EN 300 356 1 [23] Generic Number & Generic Digits parameters for encoding.
+-- The coding of the subfields 'NumberQualifier' in Generic Number and 'TypeOfDigits' in
+-- Generic Digits are irrelevant to the CAP;
+-- the ASN.1 tags are sufficient to identify the parameter.
+-- The ISUP format does not allow to exclude these subfields,
+-- therefore the value is network operator specific.
+--
+-- The following parameters shall use Generic Number:
+-- - AdditionalCallingPartyNumber for InitialDP
+-- - AssistingSSPIPRoutingAddress for EstablishTemporaryConnection
+-- - CorrelationID for AssistRequestInstructions
+-- - CalledAddressValue for all occurrences, CallingAddressValue for all occurrences.
+--
+-- The following parameters shall use Generic Digits:
+-- - CorrelationID in EstablishTemporaryConnection
+-- - number in VariablePart
+-- - digitsResponse in ReceivedInformationArg
+-- - midCallEvents in oMidCallSpecificInfo and tMidCallSpecificInfo
+--
+-- In the digitsResponse and midCallevents, the digits may also include the '*', '#',
+-- a, b, c and d digits by using the IA5 character encoding scheme. If the BCD even or
+-- BCD odd encoding scheme is used, then the following encoding shall be applied for the
+-- non-decimal characters: 1011 (*), 1100 (#).
+--
+-- AssistingSSPIPRoutingAddress in EstablishTemporaryConnection and CorrelationID in
+-- AssistRequestInstructions may contain a Hex B digit as address signal. Refer to
+-- Annex A.6 for the usage of the Hex B digit.
+--
+-- Note that when CorrelationID is transported in Generic Digits, then the digits shall
+-- always be BCD encoded.
+
+DpSpecificCriteria {PARAMETERS-BOUND : bound}::= CHOICE {
+ applicationTimer [1] ApplicationTimer,
+ midCallControlInfo [2] MidCallControlInfo,
+ dpSpecificCriteriaAlt [3] DpSpecificCriteriaAlt {bound}
+ }
+-- Exception handling: reception of DpSpecificCriteriaAlt shall be treated like
+-- reception of no DpSpecificCriteria.
+-- The gsmSCF may set a timer in the gsmSSF for the No_Answer event.
+-- If the user does not answer the call within the allotted time,
+-- then the gsmSSF reports the event to the gsmSCF.
+-- The gsmSCF may define a criterion for the detection of DTMF digits during a call.
+-- The gsmSCF may define other criteria in the dpSpecificCriteriaAlt alternative
+-- in future releases.
+
+DpSpecificCriteriaAlt {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ ...,
+ changeOfPositionControlInfo [0] ChangeOfPositionControlInfo {bound},
+ numberOfDigits [1] NumberOfDigits OPTIONAL,
+ interDigitTimeout [2] INTEGER (1..127) OPTIONAL
+ }
+-- interDigitTimeout duration in seconds.
+
+DpSpecificInfoAlt {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ ...,
+ oServiceChangeSpecificInfo [0] SEQUENCE {
+ ext-basicServiceCode [0] Ext-BasicServiceCode OPTIONAL,
+ ...,
+ initiatorOfServiceChange [1] InitiatorOfServiceChange OPTIONAL,
+ natureOfServiceChange [2] NatureOfServiceChange OPTIONAL
+
+ },
+ tServiceChangeSpecificInfo [1] SEQUENCE {
+ ext-basicServiceCode [0] Ext-BasicServiceCode OPTIONAL,
+ ...,
+ initiatorOfServiceChange [1] InitiatorOfServiceChange OPTIONAL,
+ natureOfServiceChange [2] NatureOfServiceChange OPTIONAL
+ },
+
+ collectedInfoSpecificInfo [2] SEQUENCE {
+ calledPartyNumber [0] CalledPartyNumber OPTIONAL,
+ ...
+ }
+ }
+-- This datatype is for extension in future releases.
+
+ElapsedTime ::= CHOICE {
+ timeGPRSIfNoTariffSwitch [0] INTEGER (0..86400),
+ timeGPRSIfTariffSwitch [1] SEQUENCE {
+ timeGPRSSinceLastTariffSwitch [0] INTEGER (0..86400),
+ timeGPRSTariffSwitchInterval [1] INTEGER (0..86400) OPTIONAL
+ }
+ }
+-- timeGPRSIfNoTariffSwitch is measured in seconds
+-- timeGPRSSinceLastTariffSwitch and timeGPRSTariffSwitchInterval are measured in seconds
+
+ElapsedTimeRollOver ::= CHOICE {
+ rO-TimeGPRSIfNoTariffSwitch [0] INTEGER (0..255),
+ rO-TimeGPRSIfTariffSwitch [1] SEQUENCE {
+ rO-TimeGPRSSinceLastTariffSwitch [0] INTEGER (0..255) OPTIONAL,
+ rO-TimeGPRSTariffSwitchInterval [1] INTEGER (0..255) OPTIONAL
+ }
+ }
+-- rO-TimeGPRSIfNoTariffSwitch, rO-TimeGPRSSinceLastTariffSwitch and
+-- rO-TimeGPRSTariffSwitchInterval
+-- present counters indicating the number of parameter range rollovers.
+
+EndUserAddress {PARAMETERS-BOUND: bound} ::= SEQUENCE {
+ pDPTypeOrganization [0] OCTET STRING (SIZE(1)),
+ pDPTypeNumber [1] OCTET STRING (SIZE(1)),
+ pDPAddress [2] OCTET STRING (SIZE(
+ bound.&minPDPAddressLength .. bound.&maxPDPAddressLength)) OPTIONAL
+ }
+-- Indicates the EndUserAddress, refer to 3GPP TS 29.060 [12] for the encoding.
+-- The pDPTypeOrganization shall use the least significant 4 bits of the octet encoded.
+-- The sender of this parameter shall set the most significant 4 bits of the octet to 1.
+-- The receiver of this parameter shall ignore the most significant 4 bits of this octet.
+
+ErrorTreatment ::= ENUMERATED {
+ stdErrorAndInfo (0),
+ help (1),
+ repeatPrompt (2)
+ }
+-- stdErrorAndInfomeans returning the 'ImproperCallerResponse' error in the event of an error
+-- condition during collection of user info.
+
+EventSpecificInformationBCSM {PARAMETERS-BOUND : bound} ::= CHOICE {
+ routeSelectFailureSpecificInfo [2] SEQUENCE {
+ failureCause [0] Cause {bound} OPTIONAL,
+ ...
+ },
+ oCalledPartyBusySpecificInfo [3] SEQUENCE {
+ busyCause [0] Cause {bound} OPTIONAL,
+ ...
+ },
+ oNoAnswerSpecificInfo [4] SEQUENCE {
+ -- no specific info defined --
+ ...
+ },
+ oAnswerSpecificInfo [5] SEQUENCE {
+ destinationAddress [50] CalledPartyNumber {bound} OPTIONAL,
+ or-Call [51] NULL OPTIONAL,
+ forwardedCall [52] NULL OPTIONAL,
+ chargeIndicator [53] ChargeIndicator OPTIONAL,
+ ext-basicServiceCode [54] Ext-BasicServiceCode OPTIONAL,
+ ext-basicServiceCode2 [55] Ext-BasicServiceCode OPTIONAL,
+ ...
+ },
+ oMidCallSpecificInfo [6] SEQUENCE {
+ midCallEvents [1] CHOICE {
+ dTMFDigitsCompleted [3] Digits {bound},
+ dTMFDigitsTimeOut [4] Digits {bound}
+ } OPTIONAL,
+ ...
+ },
+ oDisconnectSpecificInfo [7] SEQUENCE {
+ releaseCause [0] Cause {bound} OPTIONAL,
+ ...
+ },
+ tBusySpecificInfo [8] SEQUENCE {
+ busyCause [0] Cause {bound} OPTIONAL,
+ callForwarded [50] NULL OPTIONAL,
+ routeNotPermitted [51] NULL OPTIONAL,
+ forwardingDestinationNumber [52] CalledPartyNumber {bound} OPTIONAL,
+ ...
+ },
+ tNoAnswerSpecificInfo [9] SEQUENCE {
+ callForwarded [50] NULL OPTIONAL,
+ forwardingDestinationNumber [52] CalledPartyNumber {bound} OPTIONAL,
+ ...
+ },
+ tAnswerSpecificInfo [10] SEQUENCE {
+ destinationAddress [50] CalledPartyNumber {bound} OPTIONAL,
+ or-Call [51] NULL OPTIONAL,
+ forwardedCall [52] NULL OPTIONAL,
+ chargeIndicator [53] ChargeIndicator OPTIONAL,
+ ext-basicServiceCode [54] Ext-BasicServiceCode OPTIONAL,
+ ext-basicServiceCode2 [55] Ext-BasicServiceCode OPTIONAL,
+ ...
+ },
+ tMidCallSpecificInfo [11] SEQUENCE {
+ midCallEvents [1] CHOICE {
+ dTMFDigitsCompleted [3] Digits {bound},
+ dTMFDigitsTimeOut [4] Digits {bound}
+ } OPTIONAL,
+ ...
+ },
+ tDisconnectSpecificInfo [12] SEQUENCE {
+ releaseCause [0] Cause {bound} OPTIONAL,
+ ...
+ },
+ oTermSeizedSpecificInfo [13] SEQUENCE {
+ locationInformation [50] LocationInformation OPTIONAL,
+ ...
+ },
+ callAcceptedSpecificInfo [20] SEQUENCE {
+ locationInformation [50] LocationInformation OPTIONAL,
+ ...
+ },
+ oAbandonSpecificInfo [21] SEQUENCE {
+ routeNotPermitted [50] NULL OPTIONAL,
+ ...
+ },
+ oChangeOfPositionSpecificInfo [50] SEQUENCE {
+ locationInformation [50] LocationInformation OPTIONAL,
+ ...,
+ metDPCriteriaList [51] MetDPCriteriaList {bound} OPTIONAL
+ },
+ tChangeOfPositionSpecificInfo [51] SEQUENCE {
+ locationInformation [50] LocationInformation OPTIONAL,
+ ...,
+ metDPCriteriaList [51] MetDPCriteriaList {bound} OPTIONAL
+ },
+ dpSpecificInfoAlt [52] DpSpecificInfoAlt {bound}
+ }
+-- Indicates the call related information specific to the event.
+
+EventSpecificInformationSMS ::= CHOICE {
+ o-smsFailureSpecificInfo [0] SEQUENCE {
+ failureCause [0] MO-SMSCause OPTIONAL,
+ ...
+ },
+ o-smsSubmissionSpecificInfo [1] SEQUENCE {
+ -- no specific info defined--
+ ...
+ },
+ t-smsFailureSpecificInfo [2] SEQUENCE {
+ failureCause [0] MT-SMSCause OPTIONAL,
+ ...
+ },
+ t-smsDeliverySpecificInfo [3] SEQUENCE {
+ -- no specific info defined--
+ ...
+ }
+ }
+
+EventTypeBCSM ::= ENUMERATED {
+ collectedInfo (2),
+ analyzedInformation (3),
+ routeSelectFailure (4),
+ oCalledPartyBusy (5),
+ oNoAnswer (6),
+ oAnswer (7),
+ oMidCall (8),
+ oDisconnect (9),
+ oAbandon (10),
+ termAttemptAuthorized (12),
+ tBusy (13),
+ tNoAnswer (14),
+ tAnswer (15),
+ tMidCall (16),
+ tDisconnect (17),
+ tAbandon (18),
+ oTermSeized (19),
+ callAccepted (27),
+ oChangeOfPosition (50),
+ tChangeOfPosition (51),
+ ...,
+ oServiceChange (52),
+ tServiceChange (53)
+ }
+-- Indicates the BCSM detection point event.
+-- Values analyzedInformation and termAttemptAuthorized may be used
+-- for TDPs only.
+-- Exception handling: reception of an unrecognized value shall be treated
+-- like reception of no detection point.
+
+EventTypeSMS ::= ENUMERATED {
+ sms-CollectedInfo (1),
+ o-smsFailure (2),
+ o-smsSubmission (3),
+ sms-DeliveryRequested (11),
+ t-smsFailure (12),
+ t-smsDelivery (13)
+ }
+-- Values sms-CollectedInfo and sms-DeliveryRequested may be used for TDPs only.
+
+Extensions {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE (1..bound.&numOfExtensions) OF ExtensionField
+ExtensionField ::= SEQUENCE {
+ type EXTENSION.&id ({SupportedExtensions}),
+ -- shall identify the value of an EXTENSION type
+ criticality CriticalityType DEFAULT ignore,
+ value [1] EXTENSION.&ExtensionType ({SupportedExtensions}{@type}),
+ ...
+ }
+-- This parameter indicates an extension of an argument data type.
+-- Its content is network operator specific
+
+FCIBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minFCIBillingChargingLength .. bound.&maxFCIBillingChargingLength))
+ (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type --
+ CAMEL-FCIBillingChargingCharacteristics {bound}})
+-- This parameter indicates the billing and/or charging characteristics.
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+FCIGPRSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minFCIBillingChargingLength .. bound.&maxFCIBillingChargingLength))
+ (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type -
+ CAMEL-FCIGPRSBillingChargingCharacteristics {bound}})
+-- This parameter indicates the GPRS billing and/or charging characteristics.
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+FCISMSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minFCIBillingChargingLength .. bound.&maxFCIBillingChargingLength))
+ (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type -
+ CAMEL-FCISMSBillingChargingCharacteristics {bound}})
+-- This parameter indicates the SMS billing and/or charging characteristics.
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+ForwardServiceInteractionInd ::= SEQUENCE {
+ conferenceTreatmentIndicator [1] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- acceptConferenceRequest 'xxxx xx01'B
+ -- rejectConferenceRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect conference treatment
+ callDiversionTreatmentIndicator [2] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- callDiversionAllowed 'xxxx xx01'B
+ -- callDiversionNotAllowed 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect call diversion treatment
+ callingPartyRestrictionIndicator [4] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- noINImpact 'xxxx xx01'B
+ -- presentationRestricted 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect calling party restriction treatment
+...
+ }
+
+GapCriteria {PARAMETERS-BOUND : bound}::= CHOICE {
+ basicGapCriteria BasicGapCriteria {bound},
+ compoundGapCriteria CompoundCriteria {bound}
+ }
+
+GapIndicators ::= SEQUENCE {
+ duration [0] Duration,
+ gapInterval [1] Interval,
+ ...
+ }
+-- Indicates the call gapping characteristics.
+-- No call gapping when gapInterval equals 0.
+
+GapOnService ::= SEQUENCE {
+ serviceKey [0] ServiceKey,
+ ...
+ }
+
+GapTreatment {PARAMETERS-BOUND : bound} ::= CHOICE {
+ informationToSend [0] InformationToSend {bound},
+ releaseCause [1] Cause {bound}
+ }
+-- The default value for Cause is the same as in ISUP.
+
+GenericNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minGenericNumberLength .. bound.&maxGenericNumberLength))
+-- Indicates a generic number. Refer to ETSI EN 300 356 1 [23] Generic number for encoding.
+
+GenericNumbers {PARAMETERS-BOUND : bound} ::= SET SIZE(1..bound.&numOfGenericNumbers) OF GenericNumber {bound}
+
+GPRS-QoS ::= CHOICE {
+ short-QoS-format [0] QoS-Subscribed,
+ long-QoS-format [1] Ext-QoS-Subscribed
+ }
+-- Short-QoS-format shall be sent for QoS in pre GSM release 99 format.
+-- Long-QoS-format shall be sent for QoS in GSM release 99 (and beyond) format.
+-- Which of the two QoS formats shall be sent is determined by which QoS
+-- format is available in the SGSN at the time of sending.
+-- Refer to 3GPP TS 29.002 [11] for encoding details of QoS-Subscribed and
+-- Ext-QoS-Subscribed.
+
+GPRS-QoS-Extension ::= SEQUENCE {
+ supplement-to-long-QoS-format [0] Ext2-QoS-Subscribed,
+ ... ,
+ additionalSupplement [1] Ext3-QoS-Subscribed OPTIONAL
+ }
+
+GPRSCause {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE
+ (bound.&minGPRSCauseLength .. bound.&maxGPRSCauseLength))
+-- Shall only include the cause value.
+
+-- 00000000 Unspecified
+-- All other values shall be interpreted as 'Unspecified'.
+--
+-- This parameter indicates the cause for CAP interface related information.
+-- The GPRSCause mapping to/from GTP cause values specified in the 3GPP TS 29.060 [12] and
+-- to/from 3GPP TS 24.008 [9] GMM cause and SM cause values are outside scope of this document.
+
+GPRSEvent ::= SEQUENCE {
+ gPRSEventType [0] GPRSEventType,
+ monitorMode [1] MonitorMode
+ }
+-- Indicates the GPRS event information for monitoring.
+
+GPRSEventSpecificInformation {PARAMETERS-BOUND : bound} ::= CHOICE {
+
+ attachChangeOfPositionSpecificInformation
+ [0] SEQUENCE {
+ locationInformationGPRS [0] LocationInformationGPRS OPTIONAL,
+ ...
+ },
+
+ pdp-ContextchangeOfPositionSpecificInformation
+ [1] SEQUENCE {
+ accessPointName [0] AccessPointName {bound} OPTIONAL,
+ chargingID [1] GPRSChargingID OPTIONAL,
+ locationInformationGPRS [2] LocationInformationGPRS OPTIONAL,
+ endUserAddress [3] EndUserAddress {bound} OPTIONAL,
+ qualityOfService [4] QualityOfService OPTIONAL,
+ timeAndTimeZone [5] TimeAndTimezone {bound} OPTIONAL,
+ ...,
+ gGSNAddress [6] GSN-Address OPTIONAL
+ },
+
+ detachSpecificInformation [2] SEQUENCE {
+ initiatingEntity [0] InitiatingEntity OPTIONAL,
+ ...,
+ routeingAreaUpdate [1] NULL OPTIONAL
+ },
+
+ disconnectSpecificInformation [3] SEQUENCE {
+ initiatingEntity [0] InitiatingEntity OPTIONAL,
+ ...,
+ routeingAreaUpdate [1] NULL OPTIONAL
+ },
+
+ pDPContextEstablishmentSpecificInformation
+ [4] SEQUENCE {
+ accessPointName [0] AccessPointName {bound} OPTIONAL,
+ endUserAddress [1] EndUserAddress {bound} OPTIONAL,
+ qualityOfService [2] QualityOfService OPTIONAL,
+ locationInformationGPRS [3] LocationInformationGPRS OPTIONAL,
+ timeAndTimeZone [4] TimeAndTimezone {bound} OPTIONAL,
+ pDPInitiationType [5] PDPInitiationType OPTIONAL,
+ ...,
+ secondaryPDP-context [6] NULL OPTIONAL
+ },
+
+ pDPContextEstablishmentAcknowledgementSpecificInformation
+ [5] SEQUENCE {
+ accessPointName [0] AccessPointName {bound} OPTIONAL,
+ chargingID [1] GPRSChargingID OPTIONAL,
+ endUserAddress [2] EndUserAddress {bound} OPTIONAL,
+ qualityOfService [3] QualityOfService OPTIONAL,
+ locationInformationGPRS [4] LocationInformationGPRS OPTIONAL,
+ timeAndTimeZone [5] TimeAndTimezone {bound} OPTIONAL,
+ ...,
+ gGSNAddress [6] GSN-Address OPTIONAL
+ }
+ }
+
+GPRSEventType ::= ENUMERATED {
+ attach (1),
+ attachChangeOfPosition (2),
+ detached (3),
+ pdp-ContextEstablishment (11),
+ pdp-ContextEstablishmentAcknowledgement (12),
+ disonnect (13),
+ pdp-ContextChangeOfPosition (14)
+ }
+
+InbandInfo {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ messageID [0] MessageID {bound},
+ numberOfRepetitions [1] INTEGER (1..127) OPTIONAL,
+ duration [2] INTEGER (0..32767) OPTIONAL,
+ interval [3] INTEGER (0..32767) OPTIONAL,
+...
+ }
+-- Interval is the time in seconds between each repeated announcement. Duration is the total
+-- amount of time in seconds, including repetitions and intervals.
+-- The end of announcement is either the end of duration or numberOfRepetitions,
+-- whatever comes first.
+-- duration with value 0 indicates infinite duration
+
+InformationToSend {PARAMETERS-BOUND : bound} ::= CHOICE {
+ inbandInfo [0] InbandInfo {bound},
+ tone [1] Tone
+ }
+
+InitiatingEntity ::= ENUMERATED {
+ mobileStation (0),
+ sgsn (1),
+ hlr (2),
+ ggsn (3)
+ }
+
+InitiatorOfServiceChange ::= ENUMERATED {
+ a-side (0),
+ b-side (1)
+ }
+
+InvokeID ::= INTEGER (-128..127)
+
+IPRoutingAddress {PARAMETERS-BOUND : bound} ::= CalledPartyNumber {bound}
+-- Indicates the routeing address for the IP.
+
+IPSSPCapabilities {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minIPSSPCapabilitiesLength .. bound.&maxIPSSPCapabilitiesLength))
+-- Indicates the gsmSRF resources available. The parameter has two parts, a standard and a
+-- bilateral part. The standard part indicates capabilities defined as optional in CAP
+-- that shall be recognised (but not necessarily supported) by a gsmSCF. The bilateral
+-- part contains further information that is not specified in this standard, but which is set
+-- according to bilateral agreements between network operators and/or equipment vendors.
+-- The last octet of the standard part is indicated by bit 7 being set to 0, otherwise Bit 7 of
+-- a standard part octet is set to 1 indicating that the standard part continues in the following
+-- octet. Coding is as follows:
+
+-- Octet 1 Standard Part for CAP
+-- Bit Value Meaning
+-- 0 0 IPRoutingAddress not supported
+-- 1 IPRoutingAddress supported
+-- 1 0 VoiceBack not supported
+-- 1 VoiceBack supported
+-- 2 0 VoiceInformation not supported, via speech recognition
+-- 1 VoiceInformation supported, via speech recognition
+-- 3 0 VoiceInformation not supported, via voice recognition
+-- 1 VoiceInformation supported, via voice recognition
+-- 4 0 Generation of voice announcements from Text not supported
+-- 1 Generation of voice announcements from Text supported
+-- 5 - Reserved
+-- 6 - Reserved
+-- 7 0 End of standard part
+-- 1 This value is reserved in CAP
+--
+-- Octets 2 to 4 Bilateral Part: Network operator/equipment vendor specific
+
+LegOrCallSegment {PARAMETERS-BOUND : bound} ::= CHOICE {
+ callSegmentID [0] CallSegmentID {bound},
+ legID [1] LegID
+ }
+
+LegType ::= OCTET STRING (SIZE(1))
+leg1 LegType ::= '01'H
+leg2 LegType ::= '02'H
+
+LocationInformationGPRS ::= SEQUENCE {
+ cellGlobalIdOrServiceAreaIdOrLAI [0] OCTET STRING (SIZE(5..7)) OPTIONAL,
+ routeingAreaIdentity [1] RAIdentity OPTIONAL,
+ geographicalInformation [2] GeographicalInformation OPTIONAL,
+ sgsn-Number [3] ISDN-AddressString OPTIONAL,
+ selectedLSAIdentity [4] LSAIdentity OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ ...,
+ sai-Present [6] NULL OPTIONAL,
+ userCSGInformation [7] UserCSGInformation OPTIONAL
+}
+-- cellGlobalIdOrServiceAreaIdOrLAI shall contain the value part of the
+-- CellGlobalIdOrServiceAreaIdFixedLength type or the LAIFixedLength type (i.e. excluding tags
+-- and lengths) as defined in 3GPP TS 29.002 [13].
+-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
+-- a Service Area Identity.
+-- UserCSGInformation contains the CSG ID, Access mode, and the CSG Membership Indication in the
+-- case the Access mode is Hybrid Mode, as defined in 3GPP TS 23.060 [93].
+
+-- WS define UserCSGInformation
+UserCSGInformation ::= OCTET STRING
+
+LocationNumber {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+ bound.&minLocationNumberLength .. bound.&maxLocationNumberLength))
+-- Indicates the Location Number for the calling party.
+-- Refer to ETSI EN 300 356 1 [23] for encoding.
+
+LowLayerCompatibility {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+ bound.&minLowLayerCompatibilityLength .. bound.&maxLowLayerCompatibilityLength))
+-- indicates the LowLayerCompatibility for the calling party.
+-- Refer to 3GPP TS 24.008 [9] for encoding.
+-- It shall be coded as in the value part defined in 3GPP TS 24.008.
+-- i.e. the 3GPP TS 24.008 IEI and 3GPP TS 24.008 octet length indicator
+-- shall not be included.
+
+MessageID {PARAMETERS-BOUND : bound} ::= CHOICE {
+ elementaryMessageID [0] Integer4,
+ text [1] SEQUENCE {
+ messageContent [0] IA5String (SIZE(
+ bound.&minMessageContentLength .. bound.&maxMessageContentLength)),
+ attributes [1] OCTET STRING (SIZE(
+ bound.&minAttributesLength .. bound.&maxAttributesLength)) OPTIONAL
+ },
+ elementaryMessageIDs [29] SEQUENCE SIZE (1.. bound.&numOfMessageIDs) OF Integer4,
+ variableMessage [30] SEQUENCE {
+ elementaryMessageID [0] Integer4,
+ variableParts [1] SEQUENCE SIZE (1..5) OF VariablePart {bound}
+ }
+ }
+-- Use of the text parameter is network operator/equipment vendor specific.
+
+MetDPCriteriaList {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE (1..bound.&numOfChangeOfPositionControlInfo) OF MetDPCriterion {bound}
+
+MetDPCriterion {PARAMETERS-BOUND : bound} ::= CHOICE {
+ enteringCellGlobalId [0] CellGlobalIdOrServiceAreaIdFixedLength,
+ leavingCellGlobalId [1] CellGlobalIdOrServiceAreaIdFixedLength,
+ enteringServiceAreaId [2] CellGlobalIdOrServiceAreaIdFixedLength,
+ leavingServiceAreaId [3] CellGlobalIdOrServiceAreaIdFixedLength,
+ enteringLocationAreaId [4] LAIFixedLength,
+ leavingLocationAreaId [5] LAIFixedLength,
+ inter-SystemHandOverToUMTS [6] NULL,
+ inter-SystemHandOverToGSM [7] NULL,
+ inter-PLMNHandOver [8] NULL,
+ inter-MSCHandOver [9] NULL,
+ metDPCriterionAlt [10] MetDPCriterionAlt {bound}
+}
+-- The enteringCellGlobalId and leavingCellGlobalId shall contain a Cell Global Identification.
+-- The enteringServiceAreaId and leavingServiceAreaId shall contain a Service Area Identification.
+
+MetDPCriterionAlt {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ ...
+ }
+
+MidCallControlInfo ::= SEQUENCE {
+ minimumNumberOfDigits [0] INTEGER (1..30) DEFAULT 1,
+ maximumNumberOfDigits [1] INTEGER (1..30) DEFAULT 30,
+ endOfReplyDigit [2] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ cancelDigit [3] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ startDigit [4] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ interDigitTimeout [6] INTEGER (1..127) DEFAULT 10,
+ ...
+ }
+--
+-- - minimumNumberOfDigits specifies the minumum number of digits that shall be collected
+-- - maximumNumberOfDigits specifies the maximum number of digits that shall be collected
+-- - endOfReplyDigit specifies the digit string that denotes the end of the digits
+-- to be collected.
+-- - cancelDigit specifies the digit string that indicates that the input shall
+-- be erased and digit collection shall start afresh.
+-- - startDigit specifies the digit string that denotes the start of the digits
+-- to be collected.
+-- - interDigitTimeout specifies the maximum duration in seconds between successive
+-- digits.
+--
+-- endOfReplyDigit, cancelDigit and startDigit shall contain digits in the range 0..9, '*' and '#'
+-- only. The collected digits string, reported to the gsmSCF, shall include the endOfReplyDigit and
+-- the startDigit, if present.
+--
+-- endOfReplyDigit, cancelDigit and startDigit shall be encoded as BCD digits. Each octet shall
+-- contain one BCD digit, in the 4 least significant bits of each octet.
+-- The following encoding shall be used for the over-decadic digits: 1011 (*), 1100 (#).
+
+MonitorMode ::= ENUMERATED {
+ interrupted (0),
+ notifyAndContinue (1),
+ transparent (2)
+ }
+-- Indicates the event is relayed and/or processed by the SSP.
+-- Transparent means that the gsmSSF or gprsSSF does not notify the gsmSCF of the event.
+-- For the use of this parameter refer to the procedure descriptions in clause 11.
+-- For the RequestNotificationCharging operation, 'interrupted' shall not be used in MonitorMode.
+
+MO-SMSCause ::= ENUMERATED {
+ systemFailure (0),
+ unexpectedDataValue (1),
+ facilityNotSupported (2),
+ sM-DeliveryFailure (3),
+ releaseFromRadioInterface (4)
+ }
+-- MO SMS error values which are reported to gsmSCF.
+-- Most of these values are received from the SMSC as a response to
+-- MO-ForwardSM operation.
+
+MT-SMSCause ::= OCTET STRING (SIZE (1))
+-- This variable is sent to the gsmSCF for a Short Message delivery failure
+-- notification.
+-- If the delivery failure is due to RP-ERROR RPDU received from the MS,
+-- then MT-SMSCause shall be set to the RP-Cause component in the RP-ERROR RPDU.
+-- Refer to 3GPP TS 24.011 [10] for the encoding of RP-Cause values.
+-- Otherwise, if the delivery failure is due to internal failure in the MSC or SGSN
+-- or time-out from the MS, then MT-SMSCause shall be set to 'Protocol error,
+-- unspecified', as defined in 3GPP TS 24.011 [10].
+
+NAOliInfo ::= OCTET STRING (SIZE (1))
+-- NA Oli information takes the same value as defined in ANSI T1.113-1995 [92]
+-- e.g. '3D'H - Decimal value 61 - Cellular Service (Type 1)
+-- '3E'H - Decimal value 62 - Cellular Service (Type 2)
+-- '3F'H - Decimal value 63 - Cellular Service (roaming)
+
+NatureOfServiceChange ::= ENUMERATED {
+ userInitiated (0),
+ networkInitiated (1)
+ }
+
+NumberOfDigits ::= INTEGER (1..255)
+-- Indicates the number of digits to be collected.
+
+OCSIApplicable ::= NULL
+-- Indicates that the Originating CAMEL Subscription Information, if present, shall be
+-- applied on the outgoing call leg created with a Connect operation. For the use of this
+-- parameter see 3GPP TS 23.078 [7].
+
+OriginalCalledPartyID {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minOriginalCalledPartyIDLength .. bound.&maxOriginalCalledPartyIDLength))
+-- Indicates the original called number. Refer to ETSI EN 300 356 1 [23] Original Called Number
+-- for encoding.
+
+PDPID ::= OCTET STRING (SIZE (1))
+-- PDP Identifier is a counter used to identify a specific PDP Context within a control
+-- relationship between gprsSSF and gsmSCF.
+
+PDPInitiationType ::= ENUMERATED {
+ mSInitiated (0),
+ networkInitiated (1)
+ }
+
+QualityOfService ::= SEQUENCE {
+ requested-QoS [0] GPRS-QoS OPTIONAL,
+ subscribed-QoS [1] GPRS-QoS OPTIONAL,
+ negotiated-QoS [2] GPRS-QoS OPTIONAL,
+ ...,
+ requested-QoS-Extension [3] GPRS-QoS-Extension OPTIONAL,
+ subscribed-QoS-Extension [4] GPRS-QoS-Extension OPTIONAL,
+ negotiated-QoS-Extension [5] GPRS-QoS-Extension OPTIONAL
+ }
+
+ReceivingSideID ::= CHOICE {
+ receivingSideID [1] LegType
+ }
+-- used to identify LegID in operations sent from gsmSSF to gsmSCF
+
+RedirectingPartyID {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+ bound.&minRedirectingPartyIDLength .. bound.&maxRedirectingPartyIDLength))
+-- Indicates redirecting number.
+-- Refer to ETSI EN 300 356 1 [23] Redirecting number for encoding.
+
+RequestedInformationList {PARAMETERS-BOUND : bound} ::= SEQUENCE SIZE (1.. numOfInfoItems) OF RequestedInformation {bound}
+
+RequestedInformationTypeList ::= SEQUENCE SIZE (1.. numOfInfoItems) OF RequestedInformationType
+
+RequestedInformation {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ requestedInformationType [0] RequestedInformationType,
+ requestedInformationValue [1] RequestedInformationValue {bound},
+...
+ }
+
+RequestedInformationType ::= ENUMERATED {
+ callAttemptElapsedTime (0),
+ callStopTime (1),
+ callConnectedElapsedTime (2),
+ releaseCause (30)
+ }
+
+RequestedInformationValue {PARAMETERS-BOUND : bound} ::= CHOICE {
+ callAttemptElapsedTimeValue [0] INTEGER (0..255),
+ callStopTimeValue [1] DateAndTime,
+ callConnectedElapsedTimeValue [2] Integer4,
+ releaseCauseValue [30] Cause {bound}
+ }
+-- The callAttemptElapsedTimeValue is specified in seconds. The unit for the
+-- callConnectedElapsedTimeValue is 100 milliseconds
+
+RPCause ::= OCTET STRING (SIZE (1))
+-- RP cause according to 3GPP TS 24.011 [10] or 3GPP TS 29.002 [11].
+-- GsmSCF shall send this cause in the ReleaseSMS operation.
+-- For a MO-SMS service, the MSC or SGSN shall send the RP Cause to the originating MS.
+-- It shall be used to overwrite the RP-Cause element in the RP-ERROR RPDU.
+-- For a MT-SMS service, the MSC or SGSN shall send the RP Cause to the sending SMS-GMSC.
+-- It shall be used to overwrite the RP-Cause element in the RP-ERROR RPDU.
+
+ScfID {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minScfIDLength .. bound.&maxScfIDLength))
+-- defined by network operator.
+-- Indicates the gsmSCF identity.
+
+SCIBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+ bound.&minSCIBillingChargingLength .. bound.&maxSCIBillingChargingLength))
+ (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type --
+ CAMEL-SCIBillingChargingCharacteristics})
+-- Indicates AOC information to be sent to a Mobile Station
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+SCIGPRSBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE (
+ bound.&minSCIBillingChargingLength .. bound.&maxSCIBillingChargingLength))
+ (CONSTRAINED BY {-- shall be the result of the BER-encoded value of type -
+ CAMEL-SCIGPRSBillingChargingCharacteristics})
+-- Indicates AOC information to be sent to a Mobile Station
+-- The violation of the UserDefinedConstraint shall be handled as an ASN.1 syntax error.
+
+SendingSideID ::= CHOICE {sendingSideID [0] LegType}
+-- used to identify LegID in operations sent from gsmSCF to gsmSSF
+
+ServiceInteractionIndicatorsTwo ::= SEQUENCE {
+ forwardServiceInteractionInd [0] ForwardServiceInteractionInd OPTIONAL,
+ -- applicable to operations InitialDP, Connect and ContinueWithArgument.
+ backwardServiceInteractionInd [1] BackwardServiceInteractionInd OPTIONAL,
+ -- applicable to operations Connect and ContinueWithArgument.
+ bothwayThroughConnectionInd [2] BothwayThroughConnectionInd OPTIONAL,
+ -- applicable to ConnectToResource and EstablishTemporaryConnection
+ connectedNumberTreatmentInd [4] ConnectedNumberTreatmentInd OPTIONAL,
+ -- applicable to Connect and ContinueWithArgument
+ nonCUGCall [13] NULL OPTIONAL,
+ -- applicable to Connect and ContinueWithArgument
+ -- indicates that no parameters for CUG shall be used for the call (i.e. the call shall
+ -- be a non-CUG call).
+ -- If not present, it indicates one of three things:
+ -- a) continue with modified CUG information (when one or more of either CUG Interlock Code
+ -- and Outgoing Access Indicator are present), or
+ -- b) continue with original CUG information (when neither CUG Interlock Code or Outgoing
+ -- Access Indicator are present), i.e. no IN impact.
+ -- c) continue with the original non-CUG call.
+ holdTreatmentIndicator [50] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- applicable to InitialDP, Connect and ContinueWithArgument
+ -- acceptHoldRequest 'xxxx xx01'B
+ -- rejectHoldRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect call hold treatment
+ cwTreatmentIndicator [51] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- applicable to InitialDP, Connect and ContinueWithArgument
+ -- acceptCw 'xxxx xx01'B
+ -- rejectCw 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect call waiting treatment
+ ectTreatmentIndicator [52] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- applicable to InitialDP, Connect and ContinueWithArgument
+ -- acceptEctRequest 'xxxx xx01'B
+ -- rejectEctRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect explicit call transfer treatment
+ ...
+ }
+
+SGSNCapabilities ::= OCTET STRING (SIZE (1))
+
+-- Indicates the SGSN capabilities. The coding of the parameter is as follows:
+-- Bit Value Meaning
+-- 0 0 AoC not supported by SGSN
+-- 1 AoC supported by SGSN
+-- 1 - This bit is reserved in CAP V.3
+-- 2 - This bit is reserved in CAP V.3
+-- 3 - This bit is reserved in CAP V.3
+-- 4 - This bit is reserved in CAP V.3
+-- 5 - This bit is reserved in CAP V.3
+-- 6 - This bit is reserved in CAP V.3
+-- 7 - This bit is reserved in CAP V.3
+
+SMS-AddressString ::= AddressString (SIZE (1 .. maxSMS-AddressStringLength))
+-- This data type is used to transport CallingPartyNumber for MT-SMS.
+-- If this data type is used for MO-SMS, then the maximum number of digits shall be 16.
+-- An SMS-AddressString may contain an alphanumeric character string. In this
+-- case, a nature of address indicator '101'B is used, in accordance with
+-- 3GPP TS 23.040 [6]. The address is coded in accordance with the GSM 7 bit
+-- default alphabet definition and the SMS packing rules as specified in
+-- 3GPP TS 23.038 [15] in this case.
+
+maxSMS-AddressStringLength INTEGER ::= 11
+
+SMSEvent ::= SEQUENCE {
+ eventTypeSMS [0] EventTypeSMS,
+ monitorMode [1] MonitorMode
+ }
+
+TariffSwitchInterval ::= INTEGER (1 .. 86400)
+-- TariffSwitchInterval is measured in 1 second units
+
+TimeAndTimezone {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+ bound.&minTimeAndTimezoneLength .. bound.&maxTimeAndTimezoneLength))
+-- Indicates the time and timezone, relative to GMT. This parameter is BCD encoded.
+-- The year digit indicating millenium occupies bits 0-3 of the first octet, and the year
+-- digit indicating century occupies bits 4-7 of the first octet.
+-- The year digit indicating decade occupies bits 0-3 of the second octet, whilst the digit
+-- indicating the year within the decade occupies bits 4-7 of the second octet.
+-- The most significant month digit occupies bits 0-3 of the third octet, and the least
+-- significant month digit occupies bits 4-7 of the third octet.
+-- The most significant day digit occupies bits 0-3 of the fourth octet, and the least
+-- significant day digit occupies bits 4-7 of the fourth octet.
+-- The most significant hours digit occupies bits 0-3 of the fifth octet, and the least
+-- significant hours digit occupies bits 4-7 of the fifth octet.
+-- The most significant minutes digit occupies bits 0-3 of the sixth octet, and the least
+-- significant minutes digit occupies bits 4-7 of the sixth octet.
+-- The most significant seconds digit occupies bits 0-3 of the seventh octet, and the least
+-- significant seconds digit occupies bits 4-7 of the seventh octet.
+--
+-- The timezone information occupies the eighth octet. For the encoding of Timezone refer to
+-- 3GPP TS 23.040 [6].
+--
+-- The BCD digits are packed and encoded as follows:
+--
+-- Bit 7 6 5 4 | 3 2 1 0
+-- 2nd digit | 1st digit Octet 1
+-- 3rd digit | 4th digit Octet 2
+-- .. ..
+-- nth digit | n-1th digit Octet m
+--
+-- 0000 digit 0
+-- 0001 digit 1
+-- 0010 digit 2
+-- 0011 digit 3
+-- 0100 digit 4
+-- 0101 digit 5
+-- 0110 digit 6
+-- 0111 digit 7
+-- 1000 digit 8
+-- 1001 digit 9
+-- 1010 spare
+-- 1011 spare
+-- 1100 spare
+-- 1101 spare
+-- 1110 spare
+-- 1101 spare
+--
+-- where the leftmost bit of the digit is either bit 7 or bit 3 of the octet.
+
+TimeIfNoTariffSwitch ::= INTEGER(0..864000)
+-- TimeIfNoTariffSwitch is measured in 100 millisecond intervals
+
+TimeIfTariffSwitch ::= SEQUENCE {
+ timeSinceTariffSwitch [0] INTEGER(0..864000),
+ tariffSwitchInterval [1] INTEGER(1..864000) OPTIONAL
+ }
+-- timeSinceTariffSwitch and tariffSwitchInterval are measured in 100 millisecond intervals
+
+TimeInformation ::= CHOICE {
+ timeIfNoTariffSwitch [0] TimeIfNoTariffSwitch,
+ timeIfTariffSwitch [1] TimeIfTariffSwitch
+ }
+-- Indicates call duration information
+
+TimerID ::= ENUMERATED {
+ tssf (0)
+ }
+-- Indicates the timer to be reset.
+
+TimerValue ::= Integer4
+-- Indicates the timer value (in seconds).
+
+Tone ::= SEQUENCE {
+ toneID [0] Integer4,
+ duration [1] Integer4 OPTIONAL,
+...
+ }
+-- The duration specifies the length of the tone in seconds, value 0 indicates infinite duration.
+
+TPDataCodingScheme ::= OCTET STRING (SIZE (1))
+-- TP Data Coding Scheme according to 3GPP TS 23.040 [6]
+
+TPProtocolIdentifier ::= OCTET STRING (SIZE (1))
+-- indicates the protocol used above the SM-Transfer Layer as specified in 3GPP TS 23.040 [6].
+
+TPShortMessageSpecificInfo ::= OCTET STRING (SIZE (1))
+-- contains the 1st octect of the applicable TPDU or the SMS-COMMAND TPDU as specified in
+-- 3GPP TS 23.040 [6].
+
+TPValidityPeriod ::= OCTET STRING (SIZE (1..7))
+-- indicates the length of the validity period or the absolute time of the validity
+-- period termination as specified in 3GPP TS 23.040 [6].
+-- the length of ValidityPeriod is either 1 octet or 7 octets
+
+TransferredVolume ::= CHOICE {
+ volumeIfNoTariffSwitch [0] INTEGER (0..4294967295),
+ volumeIfTariffSwitch [1] SEQUENCE {
+ volumeSinceLastTariffSwitch [0] INTEGER (0..4294967295),
+ volumeTariffSwitchInterval [1] INTEGER (0..4294967295) OPTIONAL
+ }
+ }
+-- volumeIfNoTariffSwitch, volumeSinceLastTariffSwitch and volumeTariffSwitchInterval
+-- are measured in bytes.
+
+TransferredVolumeRollOver ::= CHOICE {
+ rO-VolumeIfNoTariffSwitch [0] INTEGER (0..255),
+ rO-VolumeIfTariffSwitch [1] SEQUENCE {
+ rO-VolumeSinceLastTariffSwitch [0] INTEGER (0..255) OPTIONAL,
+ rO-VolumeTariffSwitchInterval [1] INTEGER (0..255) OPTIONAL
+ }
+ }
+-- rO-VolumeIfNoTariffSwitch, rO-VolumeSinceLastTariffSwitch and rO-VolumeTariffSwitchInterval
+-- present counters indicating the number of parameter range rollovers.
+
+UnavailableNetworkResource ::= ENUMERATED {
+ unavailableResources (0),
+ componentFailure (1),
+ basicCallProcessingException (2),
+ resourceStatusFailure (3),
+ endUserFailure (4)
+ }
+-- Indicates the network resource that failed.
+
+VariablePart {PARAMETERS-BOUND : bound} ::= CHOICE {
+ integer [0] Integer4,
+ number [1] Digits {bound}, -- Generic digits
+ time [2] OCTET STRING (SIZE(2)), -- HH: MM, BCD coded
+ date [3] OCTET STRING (SIZE(4)), -- YYYYMMDD, BCD coded
+ price [4] OCTET STRING (SIZE(4))
+ }
+-- Indicates the variable part of the message. Time is BCD encoded.
+-- The most significant hours digit occupies bits 0-3 of the first octet, and the least
+-- significant digit occupies bits 4-7 of the first octet. The most significant minutes digit
+-- occupies bits 0-3 of the second octet, and the least significant digit occupies bits 4-7
+-- of the second octet.
+--
+-- Date is BCD encoded. The year digit indicating millenium occupies bits 0-3 of the first octet,
+-- and the year digit indicating century occupies bits 4-7 of the first octet. The year digit
+-- indicating decade occupies bits 0-3 of the second octet, whilst the digit indicating the year
+-- within the decade occupies bits 4-7 of the second octet.
+-- The most significant month digit occupies bits 0-3 of the third octet, and the least
+-- significant month digit occupies bits 4-7 of the third octet. The most significant day digit
+-- occupies bits 0-3 of the fourth octet, and the least significant day digit occupies bits 4-7
+-- of the fourth octet.
+-- Price is BCD encoded. The digit indicating hundreds of thousands occupies bits 0-3 of the
+-- first octet, and the digit indicating tens of thousands occupies bits 4-7 of the first octet.
+-- The digit indicating thousands occupies bits 0-3 of the second octet, whilst the digit
+-- indicating hundreds occupies bits 4-7 of the second octet. The digit indicating tens occupies
+-- bits 0-3 of the third octet, and the digit indicating 0 to 9 occupies bits 4-7 of the third
+-- octet. The tenths digit occupies bits 0-3 of the fourth octet, and the hundredths digit
+-- occupies bits 4-7 of the fourth octet.
+--
+-- For the encoding of digits in an octet, refer to the timeAndtimezone parameter
+
+-- The Definition of range of constants follows
+numOfInfoItems INTEGER ::= 4
+
+END
diff --git a/epan/dissectors/asn1/camel/CAP-errorcodes.asn b/epan/dissectors/asn1/camel/CAP-errorcodes.asn
new file mode 100644
index 00000000..8db9639d
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-errorcodes.asn
@@ -0,0 +1,36 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 5.4 Error codes
+CAP-errorcodes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-errorcodes(57) version8(7)}
+
+DEFINITIONS ::= BEGIN
+
+IMPORTS
+
+ ros-InformationObjects
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+ Code
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+;
+
+errcode-canceled Code ::= local: 0
+errcode-cancelFailed Code ::= local: 1
+errcode-eTCFailed Code ::= local: 3
+errcode-improperCallerResponse Code ::= local: 4
+errcode-missingCustomerRecord Code ::= local: 6
+errcode-missingParameter Code ::= local: 7
+errcode-parameterOutOfRange Code ::= local: 8
+errcode-requestedInfoError Code ::= local: 10
+errcode-systemFailure Code ::= local: 11
+errcode-taskRefused Code ::= local: 12
+errcode-unavailableResource Code ::= local: 13
+errcode-unexpectedComponentSequence Code ::= local: 14
+errcode-unexpectedDataValue Code ::= local: 15
+errcode-unexpectedParameter Code ::= local: 16
+errcode-unknownLegID Code ::= local: 17
+errcode-unknownPDPID Code ::= local: 50
+errcode-unknownCSID Code ::= local: 51
+
+END
diff --git a/epan/dissectors/asn1/camel/CAP-errortypes.asn b/epan/dissectors/asn1/camel/CAP-errortypes.asn
new file mode 100644
index 00000000..7f4a60d1
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-errortypes.asn
@@ -0,0 +1,157 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 5.2 Error types
+
+CAP-errortypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-errortypes(51) version8(7)}
+
+-- This module contains the type definitions for the CAP Error Types.
+-- Where a parameter of type CHOICE is tagged with a specific tag value, the tag is automatically
+-- replaced with an EXPLICIT tag of the same value.
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+IMPORTS
+
+ ros-InformationObjects,
+ datatypes,
+ errorcodes
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+ ERROR
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+ InvokeID,
+ UnavailableNetworkResource
+FROM CAP-datatypes datatypes
+
+ errcode-canceled,
+ errcode-cancelFailed,
+ errcode-eTCFailed,
+ errcode-improperCallerResponse,
+ errcode-missingCustomerRecord,
+ errcode-missingParameter,
+ errcode-parameterOutOfRange,
+ errcode-requestedInfoError,
+ errcode-systemFailure,
+ errcode-taskRefused,
+ errcode-unavailableResource,
+ errcode-unexpectedComponentSequence,
+ errcode-unexpectedDataValue,
+ errcode-unexpectedParameter,
+ errcode-unknownLegID,
+ errcode-unknownCSID,
+ errcode-unknownPDPID
+FROM CAP-errorcodes errorcodes
+
+;
+
+-- TYPE DEFINITION FOR CAP ERROR TYPES FOLLOWS
+
+canceled ERROR ::= {
+ CODE errcode-canceled
+ }
+-- The operation has been canceled.
+
+cancelFailed ERROR ::= {
+ PARAMETER SEQUENCE {
+ problem [0] ENUMERATED {
+ unknownOperation (0),
+ tooLate (1),
+ operationNotCancellable (2)
+ },
+ operation [1] InvokeID,
+ ...
+ }
+ CODE errcode-cancelFailed
+ }
+-- The operation failed to be canceled.
+
+eTCFailed ERROR ::= {
+ CODE errcode-eTCFailed
+ }
+-- The establish temporary connection failed.
+
+improperCallerResponse ERROR ::= {
+ CODE errcode-improperCallerResponse
+ }
+-- The caller response was not as expected.
+
+missingCustomerRecord ERROR ::= {
+ CODE errcode-missingCustomerRecord
+ }
+-- The Service Logic Program could not be found in the gsmSCF.
+
+missingParameter ERROR ::= {
+ CODE errcode-missingParameter
+ }
+-- An expected optional parameter was not received.
+
+parameterOutOfRange ERROR ::= {
+ CODE errcode-parameterOutOfRange
+ }
+-- The parameter was not as expected (e.g. missing or out of range).
+
+requestedInfoError ERROR ::= {
+ PARAMETER ENUMERATED {
+ unknownRequestedInfo (1),
+ requestedInfoNotAvailable (2)
+ }
+ CODE errcode-requestedInfoError
+ }
+-- The requested information cannot be found.
+
+systemFailure ERROR ::= {
+ PARAMETER UnavailableNetworkResource
+ CODE errcode-systemFailure
+ }
+-- The operation could not be completed due to a system failure at the serving physical entity.
+
+taskRefused ERROR ::= {
+ PARAMETER ENUMERATED {
+ generic (0),
+ unobtainable (1),
+ congestion (2)
+ }
+ CODE errcode-taskRefused
+ }
+-- An entity normally capable of the task requested cannot or chooses not to perform the task at
+-- this time. This includes error situations like congestion and unobtainable address as used in
+-- e.g. the connect operation.)
+
+unavailableResource ERROR ::= {
+ CODE errcode-unavailableResource
+ }
+-- A requested resource is not available at the serving entity.
+
+unexpectedComponentSequence ERROR ::= {
+ CODE errcode-unexpectedComponentSequence
+ }
+-- An incorrect sequence of Components was received (e.g. 'DisconnectForwardConnection'
+-- followed by 'PlayAnnouncement').
+
+unexpectedDataValue ERROR ::= {
+ CODE errcode-unexpectedDataValue
+ }
+-- The data value was not as expected (e.g. route number expected but billing number received)
+
+unexpectedParameter ERROR ::= {
+ CODE errcode-unexpectedParameter
+ }
+-- A parameter received was not expected.
+
+unknownLegID ERROR ::= {
+ CODE errcode-unknownLegID
+ }
+-- Leg not known to the gsmSSF.
+
+unknownCSID ERROR ::= {
+ CODE errcode-unknownCSID
+ }
+-- Call Segment not known to the gsmSSF.
+
+unknownPDPID ERROR ::= {
+ CODE errcode-unknownPDPID
+ }
+-- PDPID not known by the receiving entity.
+
+END
diff --git a/epan/dissectors/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn b/epan/dissectors/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn
new file mode 100644
index 00000000..219c5dca
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-gprsSSF-gsmSCF-ops-args.asn
@@ -0,0 +1,409 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 8 GPRS Control
+-- 8.1 gsmSCF/gprsSSF operations and arguments
+
+CAP-gprsSSF-gsmSCF-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-GPRS-ops-args(107) version8(7)}
+-- Module CAP-gprsSSF-gsmSCF-ops-args is updated to version8(7) for Rel-6. The OPERATION
+-- definitions in this module are not modified, compared to Rel-5.
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- This module contains the operations and operation arguments used for the
+-- gprsSSF ? gsmSCF interface, for the control of GPRS.
+
+-- The table in subclause 2.1 lists the specifications that contain the modules
+-- that are used by CAP.
+
+IMPORTS
+
+ errortypes,
+ datatypes,
+ operationcodes,
+ classes,
+ ros-InformationObjects
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+ OPERATION
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+ ServiceKey
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+
+ MiscCallInfo
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+cs2(20) modules(0) in-cs2-datatypes (0) version1(0)}
+
+ IMEI,
+ IMSI,
+ GSN-Address, -- WS moved to common datatypes in rel 9.0.0
+ RAIdentity, -- WS moved to common datatypes in rel 10.4.0
+ ISDN-AddressString
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version12(12)}
+
+ GPRSChargingID,
+ GPRSMSClass
+-- GSN-Address, WS moved to common datatypes in rel 9.0.0
+-- RAIdentity WS moved to common datatypes in rel 10.4.0
+FROM MAP-MS-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-MS-DataTypes(11) version12(12)}
+
+ PARAMETERS-BOUND
+FROM CAP-classes classes
+
+ opcode-activityTestGPRS,
+ opcode-applyChargingGPRS,
+ opcode-applyChargingReportGPRS,
+ opcode-cancelGPRS,
+ opcode-connectGPRS,
+ opcode-continueGPRS,
+ opcode-entityReleasedGPRS,
+ opcode-eventReportGPRS,
+ opcode-furnishChargingInformationGPRS,
+ opcode-initialDPGPRS,
+ opcode-releaseGPRS,
+ opcode-requestReportGPRSEvent,
+ opcode-resetTimerGPRS,
+ opcode-sendChargingInformationGPRS
+FROM CAP-operationcodes operationcodes
+-- The CAP Operation identifiers for CAP V3 for GPRS in Rel-6 are the same as the CAP Operation
+-- identifiers for CAP V3 for GPRS in Rel-5.
+
+ AccessPointName {},
+ GPRSCause {},
+ ChargingCharacteristics,
+ ChargingResult,
+ ChargingRollOver,
+ EndUserAddress,
+ Extensions,
+ FCIGPRSBillingChargingCharacteristics,
+ GPRSEventSpecificInformation {},
+ GPRSEvent,
+ GPRSEventType,
+ LocationInformationGPRS,
+ PDPID,
+ PDPInitiationType,
+ QualityOfService,
+ SCIGPRSBillingChargingCharacteristics {},
+ SGSNCapabilities,
+ TimeAndTimezone {},
+ TimerID,
+ TimerValue
+FROM CAP-datatypes datatypes
+-- For Rel-6, the CAP-datatypes module is updated to version8(7); Object Identifier 'datatypes'
+-- is also updated to version8(7). As a result, the present module uses Rel-6 data type definitions.
+
+ missingCustomerRecord,
+ missingParameter,
+ parameterOutOfRange,
+ systemFailure,
+ taskRefused,
+ unexpectedComponentSequence,
+ unexpectedDataValue,
+ unexpectedParameter,
+ unknownPDPID
+FROM CAP-errortypes errortypes
+-- For Rel-6, the CAP-errortypes module is updated to version8(7); Object Identifier
+-- 'errortypes' is also updated to version8(7). As a result, the present module uses Rel-6
+-- error type definitions.
+
+;
+
+activityTestGPRS OPERATION ::= {
+ RETURN RESULT TRUE
+ CODE opcode-activityTestGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tatg
+-- This operation is used to check for the continued existence of a relationship between the gsmSCF
+-- and gprsSSF. If the relationship is still in existence, then the gprsSSF will respond. If no
+-- reply is received, then the gsmSCF will assume that the gprsSSF has failed in some way
+-- and will take the appropriate action.
+
+applyChargingGPRS OPERATION ::= {
+ ARGUMENT ApplyChargingGPRSArg
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ unexpectedComponentSequence |
+ unexpectedParameter |
+ unexpectedDataValue |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unknownPDPID}
+ CODE opcode-applyChargingGPRS}
+-- Direction gsmSCF -> gprsSSF, Timer Tacg
+-- This operation is used for interacting from the gsmSCF with the gprsSSF CSE-controlled
+-- GPRS session or PDP Context charging mechanism.
+
+ApplyChargingGPRSArg ::= SEQUENCE {
+ chargingCharacteristics [0] ChargingCharacteristics,
+ tariffSwitchInterval [1] INTEGER (1..86400) OPTIONAL,
+ pDPID [2] PDPID OPTIONAL,
+ ...
+ }
+-- tariffSwitchInterval is measured in 1 second units.
+
+applyChargingReportGPRS OPERATION ::= {
+ ARGUMENT ApplyChargingReportGPRSArg
+ RETURN RESULT TRUE
+ ERRORS {missingParameter |
+ unexpectedComponentSequence |
+ unexpectedParameter |
+ unexpectedDataValue |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unknownPDPID}
+ CODE opcode-applyChargingReportGPRS}
+-- Direction gprsSSF -> gsmSCF,Timer Tacrg
+-- The ApplyChargingReportGPRS operation provides the feedback from the gprsSCF to the gsmSCF
+-- CSE-controlled GPRS session charging mechanism.
+
+ApplyChargingReportGPRSArg ::= SEQUENCE {
+ chargingResult [0] ChargingResult,
+ qualityOfService [1] QualityOfService OPTIONAL,
+ active [2] BOOLEAN DEFAULT TRUE,
+ pDPID [3] PDPID OPTIONAL,
+ ...,
+ chargingRollOver [4] ChargingRollOver OPTIONAL
+ }
+
+cancelGPRS OPERATION ::= {
+ ARGUMENT CancelGPRSArg
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ taskRefused |
+ unknownPDPID}
+ CODE opcode-cancelGPRS}
+-- Direction: gsmSCF ?? gprsSSF, Timer: Tcag
+-- This generic operation cancels all previous requests,
+-- i.e. all EDPs and reports can be cancelled by the gsmSCF.
+
+CancelGPRSArg ::= SEQUENCE {
+ pDPID [0] PDPID OPTIONAL,
+ ...
+ }
+
+connectGPRS {PARAMETERS-BOUND: bound} OPERATION::= {
+ ARGUMENT ConnectGPRSArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ unknownPDPID |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter}
+ CODE opcode-connectGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tcong
+-- This operation is used to modify the Access Point Name used when establishing a PDP Context.
+
+ConnectGPRSArg {PARAMETERS-BOUND: bound}::= SEQUENCE {
+ accessPointName [0] AccessPointName {bound},
+ pdpID [1] PDPID OPTIONAL,
+ ...
+ }
+
+continueGPRS OPERATION ::= {
+ ARGUMENT ContinueGPRSArg
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ unknownPDPID |
+ unexpectedDataValue}
+ CODE opcode-continueGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tcueg
+-- This operation is used to request the gprsSSF to proceed with processing at the DP at
+-- which it previously suspended processing to await gsmSCF instructions (i.e., proceed to
+-- the next point in processing in the Attach/Detach state model or PDP Context
+-- state model) substituting new data from the gsmSCF.
+
+ContinueGPRSArg ::= SEQUENCE {
+ pDPID [0] PDPID OPTIONAL,
+ ...
+}
+
+entityReleasedGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT EntityReleasedGPRSArg {bound}
+ RETURN RESULT TRUE
+ ERRORS {missingParameter |
+ taskRefused |
+ unknownPDPID}
+ CODE opcode-entityReleasedGPRS}
+-- Direction: gprsSSF -> gsmSCF, Timer: Terg
+-- This operation is used when the GPRS Session is detached or a PDP Context is diconnected and
+-- the associated event is not armed for reporting.
+-- The usage of this operation is independent of the functional entity that initiates the Detach
+-- or PDP Context Disconnection and is independent of the cause of the Detach or PDP Context
+-- Disconnect.
+
+EntityReleasedGPRSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ gPRSCause [0] GPRSCause {bound},
+ pDPID [1] PDPID OPTIONAL,
+ ...
+ }
+
+eventReportGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT EventReportGPRSArg {bound}
+ RETURN RESULT TRUE
+ ERRORS {unknownPDPID}
+ CODE opcode-eventReportGPRS}
+-- Direction gprsSSF -> gsmSCF,Timer Tereg
+-- This operation is used to notify the gsmSCF of a GPRS session or PDP context related
+-- events (e.g. PDP context activation) previously requested by the gsmSCF in a
+-- RequestReportGPRSEventoperation.
+
+EventReportGPRSArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+ gPRSEventType [0] GPRSEventType,
+ miscGPRSInfo [1] MiscCallInfo DEFAULT {messageType request},
+ gPRSEventSpecificInformation [2] GPRSEventSpecificInformation {bound} OPTIONAL,
+ pDPID [3] PDPID OPTIONAL,
+ ...
+ }
+
+furnishChargingInformationGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT FurnishChargingInformationGPRSArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownPDPID}
+ CODE opcode-furnishChargingInformationGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tfcig
+-- This operation is used to request the gprsSSF to generate, register a logical record or to
+-- include some information in the default logical GPRS record.
+-- The registered logical record is intended for off line charging of the GPRS session
+-- or PDP Context.
+
+FurnishChargingInformationGPRSArg {PARAMETERS-BOUND : bound} ::=
+ FCIGPRSBillingChargingCharacteristics{bound}
+
+initialDPGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT InitialDPGPRSArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingCustomerRecord |
+ missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter}
+ CODE opcode-initialDPGPRS}
+-- Direction gprsSSF -> gsmSCF,Timer Tidpg
+-- This operation is used by the gprsSSF when a trigger is detected at a DP in the GPRS state
+-- machines to request instructions from the gsmSCF
+
+InitialDPGPRSArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+ serviceKey [0] ServiceKey,
+ gPRSEventType [1] GPRSEventType,
+ mSISDN [2] ISDN-AddressString,
+ iMSI [3] IMSI,
+ timeAndTimeZone [4] TimeAndTimezone {bound},
+ gPRSMSClass [5] GPRSMSClass OPTIONAL,
+ endUserAddress [6] EndUserAddress {bound} OPTIONAL,
+ qualityOfService [7] QualityOfService OPTIONAL,
+ accessPointName [8] AccessPointName{bound} OPTIONAL,
+ routeingAreaIdentity [9] RAIdentity OPTIONAL,
+ chargingID [10] GPRSChargingID OPTIONAL,
+ sGSNCapabilities [11] SGSNCapabilities OPTIONAL,
+ locationInformationGPRS [12] LocationInformationGPRS OPTIONAL,
+ pDPInitiationType [13] PDPInitiationType OPTIONAL,
+ extensions [14] Extensions {bound} OPTIONAL,
+ ...,
+ gGSNAddress [15] GSN-Address OPTIONAL,
+ secondaryPDP-context [16] NULL OPTIONAL,
+ iMEI [17] IMEI OPTIONAL
+ }
+-- The RouteingAreaIdentity parameter is not used.
+-- The receiving entity shall ignore RouteingAreaIdentity if received.
+-- The RouteingAreaIdentity is conveyed in the LocationInformationGPRS parameter.
+-- The CSGInformation is conveyed in the LocationInformationGPRS parameter. The encoding of the
+-- parameter is as defined in 3GPP TS 29.002 [11].
+
+releaseGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ReleaseGPRSArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ taskRefused |
+ unknownPDPID}
+ CODE opcode-releaseGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Trg
+-- This operation is used to tear down an existing GPRS session or PDP Context at any phase.
+
+ReleaseGPRSArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ gprsCause [0] GPRSCause {bound},
+ pDPID [1] PDPID OPTIONAL,
+ ...
+ }
+
+requestReportGPRSEvent {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT RequestReportGPRSEventArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownPDPID}
+ CODE opcode-requestReportGPRSEvent}
+-- Direction: gsmSCF -> gprsSSF, Timer: Trrqe
+-- This operation is used to request the gprsSSF to monitor for an event (e.g., GPRS events
+-- such as attach or PDP Context activiation), then send a notification back to the
+-- gsmSCF when the event is detected.
+
+RequestReportGPRSEventArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ gPRSEvent [0] SEQUENCE SIZE (1..bound.&numOfGPRSEvents) OF GPRSEvent,
+ pDPID [1] PDPID OPTIONAL,
+ ...
+ }
+-- Indicates the GPRS related events for notification.
+
+resetTimerGPRS OPERATION ::= {
+ ARGUMENT ResetTimerGPRSArg
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownPDPID}
+ CODE opcode-resetTimerGPRS}
+-- Direction: gsmSCF ? gprsSSF, Timer: Trtg
+-- This operation is used to request the gprsSSF to refresh an application timer in the gprsSSF.
+
+ResetTimerGPRSArg ::= SEQUENCE {
+ timerID [0] TimerID DEFAULT tssf,
+ timervalue [1] TimerValue,
+ ...
+ }
+
+sendChargingInformationGPRS {PARAMETERS-BOUND: bound} OPERATION ::= {
+ ARGUMENT SendChargingInformationGPRSArg { bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ unexpectedComponentSequence |
+ unexpectedParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedDataValue |
+ unknownPDPID}
+ CODE opcode-sendChargingInformationGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tscig
+-- This operation is used to instruct the gprsSSF on the charging information which the
+-- gprsSSF shall send to the Mobile Station by means of GSM access signalling.
+
+SendChargingInformationGPRSArg {PARAMETERS-BOUND: bound}::= SEQUENCE {
+ sCIGPRSBillingChargingCharacteristics [0] SCIGPRSBillingChargingCharacteristics {bound},
+ ...
+ }
+
+END
diff --git a/epan/dissectors/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn b/epan/dissectors/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn
new file mode 100644
index 00000000..92840c19
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-gsmSCF-gsmSRF-ops-args.asn
@@ -0,0 +1,147 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 6.2 gsmSCF/gsmSRF interface
+-- 6.2.1 gsmSCF/gsmSRF operations and arguments
+CAP-gsmSCF-gsmSRF-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-gsmSCF-gsmSRF-ops-args(103) version8(7)}
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- This module contains the operations and operation arguments used for the
+-- gsmSRF - gsmSCF interface, for the control of circuit switched calls.
+
+-- The table in subclause 2.1 lists the specifications that contain the modules
+-- that are used by CAP.
+
+IMPORTS
+
+ OPERATION
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+ opcode-playAnnouncement,
+ opcode-promptAndCollectUserInformation,
+ opcode-specializedResourceReport
+FROM CAP-operationcodes operationcodes
+-- The CAP Operation identifiers for CAP V4 in Rel-6 are the same as the CAP Operation
+-- identifiers for CAP V4 in Rel-5.
+
+ CallSegmentID {},
+ CollectedInfo,
+ Digits {},
+ Extensions {},
+ InformationToSend {}
+FROM CAP-datatypes datatypes
+-- For Rel-6, the CAP-datatypes module is updated to version8(7); Object Identifier 'datatypes'
+-- is also updated to version8(7). As a result, the present module uses Rel-6 data type definitions.
+
+ canceled,
+ improperCallerResponse,
+ missingParameter,
+ parameterOutOfRange,
+ systemFailure,
+ taskRefused,
+ unavailableResource,
+ unexpectedComponentSequence,
+ unexpectedDataValue,
+ unexpectedParameter,
+ unknownCSID
+FROM CAP-errortypes errortypes
+-- For Rel-6, the CAP-errortypes module is updated to version8(7); Object Identifier
+-- 'errortypes' is also updated to version8(7). As a result, the present module uses Rel-6
+-- error type definitions.
+
+ PARAMETERS-BOUND
+FROM CAP-classes classes
+
+ ros-InformationObjects,
+ operationcodes,
+ datatypes,
+ errortypes,
+ classes
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+;
+
+playAnnouncement {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT PlayAnnouncementArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {canceled |
+ missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unavailableResource |
+ unknownCSID}
+ LINKED {specializedResourceReport}
+ CODE opcode-playAnnouncement}
+-- Direction: gsmSCF -> gsmSRF, Timer: Tpa
+-- This operation is to be used after Establish Temporary Connection (assist procedure
+-- with a second gsmSSF) or a Connect to Resource (no assist) operation. It may be used
+-- for inband interaction with a mobile station, or for interaction with an ISDN user.
+-- In the former case, the gsmSRF is usually collocated with the gsmSSF for standard
+-- tones (congestion tone...) or standard announcements.
+-- In the latter case, the gsmSRF is always collocated with the gsmSSF in the switch.
+-- Any error is returned to the gsmSCF. The timer associated with this operation must
+-- be of a sufficient duration to allow its linked operation to be correctly correlated.
+
+PlayAnnouncementArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+ informationToSend [0] InformationToSend {bound},
+ disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
+ requestAnnouncementCompleteNotification [2] BOOLEAN DEFAULT TRUE,
+ extensions [3] Extensions {bound} OPTIONAL,
+ callSegmentID [5] CallSegmentID {bound} OPTIONAL,
+ requestAnnouncementStartedNotification [51] BOOLEAN DEFAULT FALSE,
+ ...
+ }
+
+promptAndCollectUserInformation {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT PromptAndCollectUserInformationArg {bound}
+ RESULT ReceivedInformationArg {bound}
+ ERRORS {canceled |
+ improperCallerResponse |
+ missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unavailableResource |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownCSID}
+ LINKED {specializedResourceReport}
+ CODE opcode-promptAndCollectUserInformation}
+-- Direction: gsmSCF -> gsmSRF, Timer: Tpc
+-- This operation is used to interact with a user to collect information.
+
+PromptAndCollectUserInformationArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+ collectedInfo [0] CollectedInfo,
+ disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
+ informationToSend [2] InformationToSend {bound} OPTIONAL,
+ extensions [3] Extensions {bound} OPTIONAL,
+ callSegmentID [4] CallSegmentID {bound} OPTIONAL,
+ requestAnnouncementStartedNotification [51] BOOLEAN DEFAULT FALSE,
+ ...
+ }
+
+ReceivedInformationArg {PARAMETERS-BOUND : bound}::= CHOICE {
+ digitsResponse [0] Digits {bound}
+ }
+
+specializedResourceReport OPERATION ::= {
+ ARGUMENT SpecializedResourceReportArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-specializedResourceReport}
+-- Direction: gsmSRF -> gsmSCF, Timer: Tsrr
+-- This operation is used as the response to a PlayAnnouncement operation when the announcement
+-- completed report indication is set.
+
+SpecializedResourceReportArg ::= CHOICE {
+ allAnnouncementsComplete [50] NULL,
+ firstAnnouncementStarted [51] NULL
+ }
+
+END
diff --git a/epan/dissectors/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn b/epan/dissectors/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn
new file mode 100644
index 00000000..36f847ed
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-gsmSSF-gsmSCF-ops-args.asn
@@ -0,0 +1,905 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 6 Circuit Switched Call Control
+-- 6.1 gsmSSF/CCF - gsmSCF Interface
+-- 6.1.1 Operations and arguments
+CAP-gsmSSF-gsmSCF-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-gsmSSF-gsmSCF-ops-args(101) version8(7)}
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- This module contains the operations and operation arguments used for the
+-- gsmSSF - gsmSCF interface, for the control of circuit switched calls.
+
+-- The table in subclause 2.1 lists the specifications that contain the modules
+-- that are used by CAP.
+
+IMPORTS
+
+ errortypes,
+ datatypes,
+ operationcodes,
+ classes,
+ tc-Messages,
+ ros-InformationObjects
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+ OPERATION
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+ CallingPartysCategory,
+ HighLayerCompatibility,
+ LegID,
+ RedirectionInformation,
+ ServiceKey
+FROM CS1-DataTypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+modules(0) cs1-datatypes(2) version1(0)}
+
+ MiscCallInfo
+FROM CS2-datatypes {itu-t(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)
+cs2(20) modules(0) in-cs2-datatypes (0) version1(0)}
+
+ Ext-BasicServiceCode,
+ IMEI,
+ IMSI,
+ ISDN-AddressString
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version12(12)}
+
+ CUG-Index,
+ CUG-Interlock,
+ CUG-Info,
+ LocationInformation,
+ MS-Classmark2,
+ SubscriberState,
+ SupportedCamelPhases,
+ OfferedCamel4Functionalities
+FROM MAP-MS-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-MS-DataTypes(11) version12(12)}
+
+ CallReferenceNumber,
+ SuppressionOfAnnouncement,
+ UU-Data
+FROM MAP-CH-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CH-DataTypes(13) version12(12)}
+
+ PARAMETERS-BOUND
+FROM CAP-classes classes
+
+ opcode-activityTest,
+ opcode-applyCharging,
+ opcode-applyChargingReport,
+ opcode-assistRequestInstructions,
+ opcode-callGap,
+ opcode-callInformationReport,
+ opcode-callInformationRequest,
+ opcode-cancel,
+ opcode-collectInformation,
+ opcode-connect,
+ opcode-connectToResource,
+ opcode-continue,
+ opcode-continueWithArgument,
+ opcode-disconnectForwardConnection,
+ opcode-dFCWithArgument,
+ opcode-disconnectLeg,
+ opcode-entityReleased,
+ opcode-establishTemporaryConnection,
+ opcode-eventReportBCSM,
+ opcode-furnishChargingInformation,
+ opcode-initialDP,
+ opcode-initiateCallAttempt,
+ opcode-moveLeg,
+ opcode-playTone,
+ opcode-releaseCall,
+ opcode-requestReportBCSMEvent,
+ opcode-resetTimer,
+ opcode-sendChargingInformation,
+ opcode-splitLeg
+FROM CAP-operationcodes operationcodes
+-- The CAP Operation identifiers for CAP V4 in Rel-6 are the same as the CAP Operation
+-- identifiers for CAP V4 in Rel-5.
+
+ AChBillingChargingCharacteristics {},
+ AdditionalCallingPartyNumber {},
+ AlertingPattern,
+ AChChargingAddress {},
+ AssistingSSPIPRoutingAddress {},
+ BCSMEvent {},
+ BCSM-Failure,
+ BearerCapability {},
+ Burst,
+ CalledPartyNumber {},
+ CalledPartyBCDNumber {},
+ CallingPartyNumber {},
+ CallResult {},
+ CallSegmentID {},
+ CallSegmentToCancel {},
+ CallSegmentFailure {},
+ Carrier,
+ Cause {},
+ CGEncountered,
+ ChargeNumber {},
+ ControlType,
+ CorrelationID {},
+ DestinationRoutingAddress {},
+ EventSpecificInformationBCSM {},
+ EventTypeBCSM,
+ Extensions {},
+ FCIBillingChargingCharacteristics {},
+ GapCriteria {},
+ GapIndicators,
+ GapTreatment,
+ GenericNumbers {},
+ InvokeID,
+ IPRoutingAddress {},
+ IPSSPCapabilities {},
+ leg1,
+ leg2,
+ LegOrCallSegment {},
+ LocationNumber {},
+ LowLayerCompatibility {},
+ MonitorMode,
+ NAOliInfo,
+ OCSIApplicable,
+ OriginalCalledPartyID {},
+ ReceivingSideID,
+ RedirectingPartyID {},
+ RequestedInformationList {},
+ RequestedInformationTypeList,
+ ScfID {},
+ SCIBillingChargingCharacteristics {},
+ SendingSideID,
+ ServiceInteractionIndicatorsTwo,
+ TimeAndTimezone {},
+ TimerID,
+ TimerValue
+FROM CAP-datatypes datatypes
+-- For Rel-6, the CAP-datatypes module is updated to version8(7); Object Identifier 'datatypes'
+-- is also updated to version8(7). As a result, the present module uses Rel-6 data type definitions.
+
+ cancelFailed,
+ eTCFailed,
+ missingCustomerRecord,
+ missingParameter,
+ parameterOutOfRange,
+ requestedInfoError,
+ systemFailure,
+ taskRefused,
+ unexpectedComponentSequence,
+ unexpectedDataValue,
+ unexpectedParameter,
+ unknownLegID,
+ unknownCSID
+FROM CAP-errortypes errortypes
+-- For Rel-6, the CAP-errortypes module is updated to version8(7); Object Identifier
+-- 'errortypes' is also updated to version8(7). As a result, the present module uses Rel-6
+-- error type definitions.
+
+;
+
+activityTest OPERATION ::= {
+ RETURN RESULT TRUE
+ CODE opcode-activityTest}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tat
+-- This operation is used to check for the continued existence of a relationship
+-- between the gsmSCF and gsmSSF, assist gsmSSF or gsmSRF. If the relationship is
+-- still in existence, then the gsmSSF will respond. If no reply is received,
+-- then the gsmSCF will assume that the gsmSSF, assist gsmSSF or gsmSRF has failed
+-- in some way.
+
+applyCharging {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ApplyChargingArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ unexpectedComponentSequence |
+ unexpectedParameter |
+ unexpectedDataValue |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unknownLegID |
+ unknownCSID}
+ CODE opcode-applyCharging}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tac
+-- This operation is used for interacting from the gsmSCF with the gsmSSF charging mechanisms.
+-- The ApplyChargingReport operation provides the feedback from the gsmSSF to the gsmSCF.
+
+ApplyChargingArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ aChBillingChargingCharacteristics [0] AChBillingChargingCharacteristics {bound},
+ partyToCharge [2] SendingSideID DEFAULT sendingSideID : leg1,
+ extensions [3] Extensions {bound} OPTIONAL,
+ aChChargingAddress [50] AChChargingAddress {bound}
+ DEFAULT legID:sendingSideID:leg1,
+ ...,
+ -- WS modification Frensh National standard addition
+ -- https://gitlab.com/wireshark/wireshark/-/issues/7656
+ iTXcharging [64] BOOLEAN OPTIONAL
+ -- End WS
+ }
+
+-- The partyToCharge parameter indicates the party in the call to which the ApplyCharging operation
+-- shall be applied.
+
+applyChargingReport {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ApplyChargingReportArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ unexpectedComponentSequence |
+ unexpectedParameter |
+ unexpectedDataValue |
+ unknownCSID |
+ unknownLegID |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused}
+ CODE opcode-applyChargingReport}
+-- Direction: gsmSSF -> gsmSCF, Timer: Tacr
+-- This operation is used by the gsmSSF to report to the gsmSCF the occurrence of a
+-- specific charging event as requested by the gsmSCF using the ApplyCharging operation.
+
+ApplyChargingReportArg {PARAMETERS-BOUND : bound} ::= CallResult {bound}
+
+assistRequestInstructions {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT AssistRequestInstructionsArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingCustomerRecord |
+ missingParameter |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter}
+ CODE opcode-assistRequestInstructions}
+-- Direction: gsmSSF -> gsmSCF or gsmSRF -> gsmSCF, Timer: Tari
+-- This operation is used when there is an assist procedure and may be
+-- sent by the gsmSSF or gsmSRF to the gsmSCF. This operation is sent by the
+-- assisting gsmSSF to gsmSCF, when the initiating gsmSSF has set up a connection to
+-- the gsmSRF or to the assisting gsmSSF as a result of receiving an
+-- EstablishTemporaryConnection from
+-- the gsmSCF.
+-- Refer to clause 11 for a description of the procedures associated with this operation.
+
+AssistRequestInstructionsArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ correlationID [0] CorrelationID {bound},
+ iPSSPCapabilities [2] IPSSPCapabilities {bound},
+ extensions [3] Extensions {bound} OPTIONAL,
+ ...
+ }
+-- OPTIONAL denotes network operator specific use. The value of the correlationID may be the
+-- Called Party Number supplied by the initiating gsmSSF.
+
+callGap {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT CallGapArg {bound}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-callGap}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tcg
+-- This operation is used to request the gsmSSF to reduce the rate at which specific service
+-- requests are sent to the gsmSCF.
+
+CallGapArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+ gapCriteria [0] GapCriteria {bound},
+ gapIndicators [1] GapIndicators,
+ controlType [2] ControlType OPTIONAL,
+ gapTreatment [3] GapTreatment {bound} OPTIONAL,
+ extensions [4] Extensions {bound} OPTIONAL,
+ ...
+ }
+-- OPTIONAL denotes network operator optional. If gapTreatment is not present, then the gsmSSF will
+-- use a default treatment depending on network operator implementation.
+
+callInformationReport {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT CallInformationReportArg {bound}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-callInformationReport}
+-- Direction: gsmSSF -> gsmSCF, Timer: Tcirp
+-- This operation is used to send specific call information for a single call party to the gsmSCF as
+-- requested by the gsmSCF in a previous CallInformationRequest.
+
+CallInformationReportArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ requestedInformationList [0] RequestedInformationList {bound},
+ extensions [2] Extensions {bound} OPTIONAL,
+ legID [3] ReceivingSideID DEFAULT receivingSideID:leg2,
+ ...
+ }
+
+callInformationRequest {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT CallInformationRequestArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ requestedInfoError |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownLegID}
+ CODE opcode-callInformationRequest}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tcirq
+-- This operation is used to request the gsmSSF to record specific information about a single
+-- call party and report it to the gsmSCF (with a CallInformationReport operation).
+
+CallInformationRequestArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+ requestedInformationTypeList [0] RequestedInformationTypeList,
+ extensions [2] Extensions {bound} OPTIONAL,
+ legID [3] SendingSideID DEFAULT sendingSideID:leg2,
+ ...
+ }
+-- OPTIONAL denotes network operator optional.
+
+cancel {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT CancelArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {cancelFailed |
+ missingParameter |
+ taskRefused |
+ unknownCSID}
+ CODE opcode-cancel}
+-- Direction: gsmSCF -> gsmSSF, or gsmSCF -> gsmSRF, Timer: Tcan
+-- This operation cancels the correlated previous operation or all previous requests. The following
+-- operations can be canceled: PlayAnnouncement, PromptAndCollectUserInformation.
+
+CancelArg {PARAMETERS-BOUND : bound} ::= CHOICE {
+ invokeID [0] InvokeID,
+ allRequests [1] NULL,
+ callSegmentToCancel [2] CallSegmentToCancel {bound}
+ }
+-- The InvokeID has the same value as that which was used for the operation to be cancelled.
+
+collectInformation {PARAMETERS-BOUND : bound} OPERATION::= {
+ ARGUMENT CollectInformationArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ SystemFailure |
+ TaskRefused |
+ UnexpectedComponentSequence |
+ UnexpectedDataValue |
+ UnexpectedParameter}
+ CODE opcode-collectInformation}
+-- Direction: gsmSCF-> gsmSSF, Timer: Tci
+-- This operation is used to request the gsmSSF to perform the call
+-- processing actions to prompt a calling party for additional digits.
+
+CollectInformationArg {PARAMETERS-BOUND : bound} ::= SEQUENCE{
+ extensions [0] Extensions {bound} OPTIONAL,
+ ...
+}
+
+connect {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ConnectArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownLegID}
+ CODE opcode-connect}
+-- Direction: gsmSCF-> gsmSSF, Timer: Tcon
+-- This operation is used to request the gsmSSF to perform the call processing actions
+-- to route or forward a call to a specified destination.
+
+ConnectArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ destinationRoutingAddress [0] DestinationRoutingAddress {bound},
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ originalCalledPartyID [6] OriginalCalledPartyID {bound} OPTIONAL,
+ extensions [10] Extensions {bound} OPTIONAL,
+ carrier [11] Carrier {bound} OPTIONAL,
+ callingPartysCategory [28] CallingPartysCategory OPTIONAL,
+ redirectingPartyID [29] RedirectingPartyID {bound} OPTIONAL,
+ redirectionInformation [30] RedirectionInformation OPTIONAL,
+ genericNumbers [14] GenericNumbers {bound} OPTIONAL,
+ serviceInteractionIndicatorsTwo [15] ServiceInteractionIndicatorsTwo OPTIONAL,
+ chargeNumber [19] ChargeNumber {bound} OPTIONAL,
+ legToBeConnected [21] LegID OPTIONAL,
+ cug-Interlock [31] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [32] NULL OPTIONAL,
+ suppressionOfAnnouncement [55] SuppressionOfAnnouncement OPTIONAL,
+ oCSIApplicable [56] OCSIApplicable OPTIONAL,
+ naOliInfo [57] NAOliInfo OPTIONAL,
+ bor-InterrogationRequested [58] NULL OPTIONAL,
+ ... ,
+ suppress-N-CSI [59] NULL OPTIONAL
+ }
+-- na-Info is included at the discretion of the gsmSCF operator.
+
+connectToResource {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ConnectToResourceArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownCSID}
+ CODE opcode-connectToResource}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tctr
+-- This operation is used to connect a call segment from the gsmSSF to the
+-- gsmSRF.
+
+ConnectToResourceArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ resourceAddress CHOICE {
+ ipRoutingAddress [0] IPRoutingAddress {bound},
+ none [3] NULL
+ },
+ extensions [4] Extensions {bound} OPTIONAL,
+ serviceInteractionIndicatorsTwo [7] ServiceInteractionIndicatorsTwo OPTIONAL,
+ callSegmentID [50] CallSegmentID {bound} OPTIONAL,
+ ...
+ }
+
+continue OPERATION ::= {
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-continue}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tcue
+-- This operation is used to request the gsmSSF to proceed with call processing at the
+-- DP at which it previously suspended call processing to await gsmSCF instructions
+-- (i.e. proceed to the next point in call in the BCSM). The gsmSSF continues call
+-- processing without substituting new data from gsmSCF.
+
+continueWithArgument {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ContinueWithArgumentArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownLegID |
+ unknownCSID}
+ CODE opcode-continueWithArgument}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tcwa
+-- This operation is used to request the gsmSSF to proceed with call processing at the
+-- DP at which it previously suspended call processing to await gsmSCF instructions
+-- (i.e. proceed to the next point in call in the BCSM). The gsmSSF continues call
+-- processing with the modified call setup information as received from the gsmSCF.
+
+ContinueWithArgumentArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ extensions [6] Extensions {bound} OPTIONAL,
+ serviceInteractionIndicatorsTwo [7] ServiceInteractionIndicatorsTwo OPTIONAL,
+ callingPartysCategory [12] CallingPartysCategory OPTIONAL,
+ genericNumbers [16] GenericNumbers {bound} OPTIONAL,
+ cug-Interlock [17] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [18] NULL OPTIONAL,
+ chargeNumber [50] ChargeNumber {bound} OPTIONAL,
+ carrier [52] Carrier {bound} OPTIONAL,
+ suppressionOfAnnouncement [55] SuppressionOfAnnouncement OPTIONAL,
+ naOliInfo [56] NAOliInfo OPTIONAL,
+ bor-InterrogationRequested [57] NULL OPTIONAL,
+ suppress-O-CSI [58] NULL OPTIONAL,
+ continueWithArgumentArgExtension [59] ContinueWithArgumentArgExtension {bound} OPTIONAL,
+ ...
+ }
+
+ContinueWithArgumentArgExtension {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ suppress-D-CSI [0] NULL OPTIONAL,
+ suppress-N-CSI [1] NULL OPTIONAL,
+ suppressOutgoingCallBarring [2] NULL OPTIONAL,
+ legOrCallSegment [3] LegOrCallSegment {bound} OPTIONAL,
+ ...
+ }
+
+disconnectForwardConnection OPERATION ::= {
+ RETURN RESULT FALSE
+ ERRORS {systemFailure |
+ taskRefused |
+ unexpectedComponentSequence}
+ CODE opcode-disconnectForwardConnection}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tdfc
+-- This operation is used to disconnect a forward temporary connection or a connection to a
+-- resource. Refer to clause 11 for a description of the procedures associated with this operation.
+
+disconnectForwardConnectionWithArgument {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT DisconnectForwardConnectionWithArgumentArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownCSID}
+ CODE opcode-dFCWithArgument}
+-- Direction gsmSCF -> gsmSSF, Timer Tdfcwa
+-- This operation is used to disconnect a forward temporary connection or a connection to a
+-- resource. Refer to clause 11 for a description of the procedures associated with this operation.
+
+DisconnectForwardConnectionWithArgumentArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ callSegmentID [1] CallSegmentID {bound} OPTIONAL,
+ extensions [2] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+disconnectLeg {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT DisconnectLegArg {bound}
+ RETURN RESULT TRUE
+ ERRORS {missingParameter |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownLegID}
+ CODE opcode-disconnectLeg}
+-- Direction: gsmSCF -> gsmSSF, Timer Tdl
+-- This operation is used by the gsmSCF to release a specific leg associated with the call and
+-- retain any other legs not specified in the DisconnectLeg. Refer to clause 11 for a description
+-- of the procedures associated with this operation.
+
+DisconnectLegArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ legToBeReleased [0] LegID,
+ releaseCause [1] Cause {bound} OPTIONAL,
+ extensions [2] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+entityReleased {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT EntityReleasedArg {bound}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-entityReleased}
+-- Direction: gsmSSF -> gsmSCF, Timer: Ter
+-- This operation is used by the gsmSSF to inform the gsmSCF of an error or exception
+
+EntityReleasedArg {PARAMETERS-BOUND : bound} ::= CHOICE {
+ callSegmentFailure [0] CallSegmentFailure {bound},
+ bCSM-Failure [1] BCSM-Failure {bound}
+ }
+
+establishTemporaryConnection {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT EstablishTemporaryConnectionArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {eTCFailed |
+ missingParameter |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownCSID}
+ CODE opcode-establishTemporaryConnection}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tetc
+-- This operation is used to create a connection to a resource for a limited period
+-- of time (e.g. to play an announcement, to collect user information); it implies
+-- the use of the assist procedure. Refer to clause 11 for a description of the
+-- procedures associated with this operation.
+
+EstablishTemporaryConnectionArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ assistingSSPIPRoutingAddress [0] AssistingSSPIPRoutingAddress {bound},
+ correlationID [1] CorrelationID {bound} OPTIONAL,
+ scfID [3] ScfID {bound} OPTIONAL,
+ extensions [4] Extensions {bound} OPTIONAL,
+ carrier [5] Carrier {bound} OPTIONAL,
+ serviceInteractionIndicatorsTwo [6] ServiceInteractionIndicatorsTwo OPTIONAL,
+ callSegmentID [7] CallSegmentID {bound} OPTIONAL,
+ naOliInfo [50] NAOliInfo OPTIONAL,
+ chargeNumber [51] ChargeNumber {bound} OPTIONAL,
+ ...,
+ originalCalledPartyID [52] OriginalCalledPartyID {bound} OPTIONAL,
+ callingPartyNumber [53] CallingPartyNumber {bound} OPTIONAL
+ }
+
+eventReportBCSM {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT EventReportBCSMArg {bound}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-eventReportBCSM}
+-- Direction: gsmSSF -> gsmSCF, Timer: Terb
+-- This operation is used to notify the gsmSCF of a call-related event (e.g. BCSM
+-- events such as O_Busy or O_No_Answer) previously requested by the gsmSCF in a
+-- RequestReportBCSMEvent operation.
+
+EventReportBCSMArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ eventTypeBCSM [0] EventTypeBCSM,
+ eventSpecificInformationBCSM [2] EventSpecificInformationBCSM {bound} OPTIONAL,
+ legID [3] ReceivingSideID OPTIONAL,
+ miscCallInfo [4] MiscCallInfo DEFAULT {messageType request},
+ extensions [5] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+furnishChargingInformation {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT FurnishChargingInformationArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownLegID}
+ CODE opcode-furnishChargingInformation}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tfci
+-- This operation is used to request the gsmSSF to generate, register a call record
+-- or to include some information in the default call record.
+-- The registered call record is intended for off line charging of the call.
+
+FurnishChargingInformationArg {PARAMETERS-BOUND : bound} ::=
+ FCIBillingChargingCharacteristics{bound}
+
+initialDP {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT InitialDPArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingCustomerRecord |
+ missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter}
+ CODE opcode-initialDP}
+-- Direction: gsmSSF -> gsmSCF, Timer: Tidp
+-- This operation is used after a TDP to indicate request for service.
+
+InitialDPArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ serviceKey [0] ServiceKey ,
+ calledPartyNumber [2] CalledPartyNumber {bound} OPTIONAL,
+ callingPartyNumber [3] CallingPartyNumber {bound} OPTIONAL,
+ callingPartysCategory [5] CallingPartysCategory OPTIONAL,
+ cGEncountered [7] CGEncountered OPTIONAL,
+ iPSSPCapabilities [8] IPSSPCapabilities {bound} OPTIONAL,
+ locationNumber [10] LocationNumber {bound} OPTIONAL,
+ originalCalledPartyID [12] OriginalCalledPartyID {bound} OPTIONAL,
+ extensions [15] Extensions {bound} OPTIONAL,
+ highLayerCompatibility [23] HighLayerCompatibility OPTIONAL,
+ additionalCallingPartyNumber [25] AdditionalCallingPartyNumber {bound} OPTIONAL,
+ bearerCapability [27] BearerCapability {bound} OPTIONAL,
+ eventTypeBCSM [28] EventTypeBCSM OPTIONAL,
+ redirectingPartyID [29] RedirectingPartyID {bound} OPTIONAL,
+ redirectionInformation [30] RedirectionInformation OPTIONAL,
+ cause [17] Cause {bound} OPTIONAL,
+ serviceInteractionIndicatorsTwo [32] ServiceInteractionIndicatorsTwo OPTIONAL,
+ carrier [37] Carrier {bound} OPTIONAL,
+ cug-Index [45] CUG-Index OPTIONAL,
+ cug-Interlock [46] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [47] NULL OPTIONAL,
+ iMSI [50] IMSI OPTIONAL,
+ subscriberState [51] SubscriberState OPTIONAL,
+ locationInformation [52] LocationInformation OPTIONAL,
+ ext-basicServiceCode [53] Ext-BasicServiceCode OPTIONAL,
+ callReferenceNumber [54] CallReferenceNumber OPTIONAL,
+ mscAddress [55] ISDN-AddressString OPTIONAL,
+ calledPartyBCDNumber [56] CalledPartyBCDNumber {bound} OPTIONAL,
+ timeAndTimezone [57] TimeAndTimezone {bound} OPTIONAL,
+ callForwardingSS-Pending [58] NULL OPTIONAL,
+ initialDPArgExtension [59] InitialDPArgExtension {bound} OPTIONAL,
+ ...
+ }
+
+InitialDPArgExtension {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ gmscAddress [0] ISDN-AddressString OPTIONAL,
+ forwardingDestinationNumber [1] CalledPartyNumber {bound} OPTIONAL,
+ ms-Classmark2 [2] MS-Classmark2 OPTIONAL,
+ iMEI [3] IMEI OPTIONAL,
+ supportedCamelPhases [4] SupportedCamelPhases OPTIONAL,
+ offeredCamel4Functionalities [5] OfferedCamel4Functionalities OPTIONAL,
+ bearerCapability2 [6] BearerCapability {bound} OPTIONAL,
+ ext-basicServiceCode2 [7] Ext-BasicServiceCode OPTIONAL,
+ highLayerCompatibility2 [8] HighLayerCompatibility OPTIONAL,
+ lowLayerCompatibility [9] LowLayerCompatibility {bound} OPTIONAL,
+ lowLayerCompatibility2 [10] LowLayerCompatibility {bound} OPTIONAL,
+ ...,
+ enhancedDialledServicesAllowed [11] NULL OPTIONAL,
+ uu-Data [12] UU-Data OPTIONAL,
+ collectInformationAllowed [13] NULL OPTIONAL,
+ releaseCallArgExtensionAllowed [14] NULL OPTIONAL
+}
+-- If iPSSPCapabilities is not present then this denotes that a colocated gsmSRF is not
+-- supported by the gsmSSF. If present, then the gsmSSF supports a colocated gsmSRF capable
+-- of playing announcements via elementaryMessageIDs and variableMessages, the playing of
+-- tones and the collection of DTMF digits. Other supported capabilities are explicitly
+-- detailed in the IPSSPCapabilities parameter itself.
+-- Carrier is included at the discretion of the gsmSSF operator.
+-- The UserCSGInformation is conveyed in the LocationInformation. The encoding of the parameter is
+-- as defined in 3GPP TS 29.002 [11].
+
+initiateCallAttempt {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT InitiateCallAttemptArg {bound}
+ RESULT InitiateCallAttemptRes {bound}
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter
+ }
+ CODE opcode-initiateCallAttempt}
+-- Direction: gsmSCF -> gsmSSF, Timer Tica
+-- This operation is used to instruct the gsmSSF to create a new call to a call party using the
+-- address information provided by the gsmSCF.
+
+InitiateCallAttemptArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ destinationRoutingAddress [0] DestinationRoutingAddress {bound},
+ extensions [4] Extensions {bound} OPTIONAL,
+ legToBeCreated [5] LegID OPTIONAL,
+ newCallSegment [6] CallSegmentID {bound} OPTIONAL,
+ callingPartyNumber [30] CallingPartyNumber {bound} OPTIONAL,
+ callReferenceNumber [51] CallReferenceNumber OPTIONAL,
+ gsmSCFAddress [52] ISDN-AddressString OPTIONAL,
+ suppress-T-CSI [53] NULL OPTIONAL,
+ ...
+ }
+
+InitiateCallAttemptRes {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ supportedCamelPhases [0] SupportedCamelPhases OPTIONAL,
+ offeredCamel4Functionalities [1] OfferedCamel4Functionalities OPTIONAL,
+ extensions [2] Extensions {bound} OPTIONAL,
+ ...,
+ releaseCallArgExtensionAllowed [3] NULL OPTIONAL
+ }
+
+moveLeg {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT MoveLegArg {bound}
+ RETURN RESULT TRUE
+ ERRORS {missingParameter |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownLegID}
+ CODE opcode-moveLeg}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tml
+-- This operation is used by the gsmSCF to move a leg from one call segment to another call segment
+-- within the same call segment association.
+
+MoveLegArg {PARAMETERS-BOUND : bound} ::= SEQUENCE{
+ legIDToMove [0] LegID,
+ extensions [2] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+playTone {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT PlayToneArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownLegID |
+ unknownCSID}
+ CODE opcode-playTone}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tpt
+-- This operation is used to play tones to either a leg or a call segment using
+-- the MSC's tone generator.
+
+PlayToneArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ legOrCallSegment [0] LegOrCallSegment {bound},
+ bursts [1] Burst,
+ extensions [2] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+releaseCall {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ReleaseCallArg {bound}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-releaseCall}
+-- Direction: gsmSCF ->?gsmSSF, Timer: Trc
+-- This operation is used to tear down an existing call at any phase of the call for all parties
+-- involved in the call.
+
+ReleaseCallArg {PARAMETERS-BOUND : bound} ::= CHOICE {
+ allCallSegments AllCallSegments,
+ allCallSegmentsWithExtension [2] AllCallSegmentsWithExtension
+ }
+
+AllCallSegments ::= Cause {bound}
+-- A default value of decimal 31 (normal unspecified) shall be given.
+
+AllCallSegmentsWithExtension ::= SEQUENCE {
+ allCallSegments [0] AllCallSegments,
+ extensions [1] Extensions {bound} OPTIONAL
+ }
+
+requestReportBCSMEvent {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT RequestReportBCSMEventArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownLegID}
+ CODE opcode-requestReportBCSMEvent}
+-- Direction: gsmSCF -> gsmSSF, Timer: Trrb
+-- This operation is used to request the gsmSSF to monitor for a call-related event
+-- (e.g. BCSM events such as O_Busy or O_No_Answer) and to send a notification
+-- to the gsmSCF when the event is detected.
+--
+-- NOTE:
+-- Every EDP must be explicitly armed by the gsmSCF via a RequestReportBCSMEvent operation.
+-- No implicit arming of EDPs at the gsmSSF after reception of any operation (different
+-- from RequestReportBCSMEvent) from the gsmSCF is allowed.
+
+RequestReportBCSMEventArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ bcsmEvents [0] SEQUENCE SIZE(1..bound.&numOfBCSMEvents) OF
+ BCSMEvent {bound},
+ extensions [2] Extensions {bound} OPTIONAL,
+ ...
+ }
+-- Indicates the BCSM related events for notification.
+
+resetTimer {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT ResetTimerArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ parameterOutOfRange |
+ taskRefused |
+ unexpectedComponentSequence |
+ unexpectedDataValue |
+ unexpectedParameter |
+ unknownCSID}
+ CODE opcode-resetTimer}
+-- Direction: gsmSCF -> gsmSSF, Timer: Trt
+-- This operation is used to request the gsmSSF to refresh an application timer in the gsmSSF.
+
+ResetTimerArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ timerID [0] TimerID DEFAULT tssf,
+ timervalue [1] TimerValue,
+ extensions [2] Extensions {bound} OPTIONAL,
+ callSegmentID [3] CallSegmentID {bound} OPTIONAL,
+ ...
+ }
+
+sendChargingInformation {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT SendChargingInformationArg {bound}
+ RETURN RESULT FALSE
+ ERRORS {missingParameter |
+ unexpectedComponentSequence |
+ unexpectedParameter |
+ parameterOutOfRange |
+ systemFailure |
+ taskRefused |
+ unexpectedDataValue |
+ unknownLegID}
+ CODE opcode-sendChargingInformation}
+-- Direction: gsmSCF -> gsmSSF, Timer: Tsci
+-- This operation is used to instruct the gsmSSF on the charging information to send by the gsmSSF.
+-- The charging information can either be sent back by means of signalling or internal
+-- if the gsmSSF is located in the local exchange. In the local exchange
+-- this information may be used to update the charge meter or to create a standard call record.
+
+SendChargingInformationArg {PARAMETERS-BOUND : bound}::= SEQUENCE {
+ sCIBillingChargingCharacteristics [0] SCIBillingChargingCharacteristics {bound},
+ partyToCharge [1] SendingSideID,
+ extensions [2] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+splitLeg {PARAMETERS-BOUND : bound} OPERATION ::= {
+ ARGUMENT SplitLegArg {bound}
+ RETURN RESULT TRUE
+ ERRORS {missingParameter |
+ unexpectedComponentSequence |
+ unexpectedParameter |
+ unexpectedDataValue |
+ systemFailure |
+ taskRefused |
+ unknownLegID}
+ CODE opcode-splitLeg}
+-- Direction: gsmSCF -> gsmSSF, Timer Tsl
+-- This operation is used by the gsmSCF to separate a leg from its source call segment and
+-- place it in a new call segment within the same call segment association.
+
+SplitLegArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
+ legToBeSplit [0] LegID,
+ newCallSegment [1] CallSegmentID {bound} OPTIONAL,
+ extensions [2] Extensions {bound} OPTIONAL,
+ ...
+ }
+
+END
diff --git a/epan/dissectors/asn1/camel/CAP-object-identifiers.asn b/epan/dissectors/asn1/camel/CAP-object-identifiers.asn
new file mode 100644
index 00000000..40a3bf9f
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-object-identifiers.asn
@@ -0,0 +1,242 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 5.6 Object IDentifiers (IDs)
+CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+DEFINITIONS ::= BEGIN
+
+-- This module assigns object identifiers for Modules, Packages, Contracts and ACs
+-- used by CAP
+
+-- For Modules from TC, ROS,
+tc-Messages OBJECT IDENTIFIER ::=
+ {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
+
+tc-NotationExtensions OBJECT IDENTIFIER ::=
+ {itu-t recommendation q 775 modules(2) notation-extension (4) version1(1)}
+
+ros-InformationObjects OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+
+-- For CAP Modules
+datatypes OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-datatypes(52) version8(7)}
+
+errortypes OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-errortypes(51) version8(7)}
+
+operationcodes OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-operationcodes(53) version8(7)}
+
+errorcodes OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-errorcodes(57) version8(7)}
+
+classes OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-classes(54) version8(7)}
+
+
+gsmSSF-gsmSCF-Operations OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-gsmSSF-gsmSCF-ops-args(101) version8(7)}
+-- The Object Identifier 'gsmSSF-gsmSCF-Operations' is updated to version8(7) in Rel-6, so
+-- other modules can IMPORT Rel-6 Operation definitions related to call control.
+
+gsmSSF-gsmSCF-Protocol OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-gsmSSF-gsmSCF-pkgs-contracts-acs(102) version8(7)}
+-- The Object Identifier 'gsmSSF-gsmSCF-Protocol' is updated to version8(7) in Rel-6, so
+-- other modules can IMPORT Rel-6 Protocol definitions related to call control.
+
+gsmSCF-gsmSRF-Operations OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-gsmSCF-gsmSRF-ops-args(103) version8(7)}
+-- The Object Identifier 'gsmSCF-gsmSRF-Operations' is updated to version8(7) in Rel-6, so
+-- other modules can IMPORT Rel-6 Operation definitions related to gsmSRF control.
+
+gsmSCF-gsmSRF-Protocol OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-gsmSCF-gsmSRF-pkgs-contracts-acs(104) version8(7)}
+-- The Object Identifier 'gsmSCF-gsmSRF-Protocol' is updated to version8(7) in Rel-6, so
+-- other modules can IMPORT Rel-6 Protocol definitions related to gsmSRF control.
+
+sms-Operations OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-SMS-ops-args(105) version8(7)}
+-- The Object Identifier 'sms-Operations' is updated to version8(7) in Rel-6, so other
+-- modules can IMPORT Rel-6 Operation definitions related to SMS control.
+
+smsSSF-gsmSCF-Protocol OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-smsSSF-gsmSCF-pkgs-contracts-acs(106) version8(7)}
+-- The Object Identifier 'smsSSF-gsmSCF-Protocol' is updated to version8(7) in Rel-6, so
+-- other modules can IMPORT Rel-6 Protocol definitions related to SMS control.
+
+gprsSSF-gsmSCF-Operations OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-GPRS-ops-args(107) version8(7)}
+-- The Object Identifier 'gprsSSF-gsmSCF-Operations' is updated to version8(7) in Rel-6, so
+-- other modules can IMPORT Rel-6 Operation definitions related to GPRS control.
+
+gprsSSF-gsmSCF-Protocol OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3)
+ cap-gprsSSF-gsmSCF-pkgs-contracts-acs(108) version8(7)}
+-- The Object Identifier 'gprsSSF-gsmSCF-Protocol' is updated to version8(7) in Rel-6, so
+-- other modules can IMPORT Rel-6 Protocol definitions related to GPRS control.
+
+id-CAP OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+ umts-network(1) cap4(22)}
+
+id-CAP3 OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+ umts-network(1) cap3(20)}
+
+id-CAPOE OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+ umts-network(1) cap4OE(23)}
+
+id-CAP3OE OBJECT IDENTIFIER ::=
+ {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+ umts-network(1) cap3OE(21)}
+
+id-ac OBJECT IDENTIFIER ::= {id-CAP ac(3)}
+id-acE OBJECT IDENTIFIER ::= {id-CAPOE ac(3)}
+id-ac3E OBJECT IDENTIFIER ::= {id-CAP3OE ac(3)}
+id-as OBJECT IDENTIFIER ::= {id-CAP as(5)}
+id-asE OBJECT IDENTIFIER ::= {id-CAPOE as(5)}
+id-rosObject OBJECT IDENTIFIER ::= {id-CAP rosObject(25)}
+id-contract OBJECT IDENTIFIER ::= {id-CAP contract(26)}
+id-contract3 OBJECT IDENTIFIER ::= {id-CAP3 contract(26)}
+id-contractE OBJECT IDENTIFIER ::= {id-CAPOE contract(26)}
+id-package OBJECT IDENTIFIER ::= {id-CAP package(27)}
+id-packageE OBJECT IDENTIFIER ::= {id-CAPOE package(27)}
+
+-- for ac, as, rosObject, contract and package, the values are identical to ITU-T Recommendation
+-- Q.1218 [49]
+
+
+-- ROS Objects
+
+id-rosObject-gsmSCF OBJECT IDENTIFIER ::= {id-rosObject 4}
+id-rosObject-gsmSSF OBJECT IDENTIFIER ::= {id-rosObject 5}
+id-rosObject-gsmSRF OBJECT IDENTIFIER ::= {id-rosObject 6}
+id-rosObject-gprsSSF OBJECT IDENTIFIER ::= {id-rosObject 7}
+id-rosObject-smsSSF-V3 OBJECT IDENTIFIER ::= {id-rosObject 8}
+id-rosObject-smsSSF-V4 OBJECT IDENTIFIER ::= {id-rosObject 9}
+
+
+-- Application Contexts
+
+-- gsmSSF/gsmSCF AC
+id-ac-CAP-gsmSSF-scfGenericAC OBJECT IDENTIFIER ::= {id-acE 4}
+id-ac-CAP-gsmSSF-scfAssistHandoffAC OBJECT IDENTIFIER ::= {id-acE 6}
+id-ac-CAP-scf-gsmSSFGenericAC OBJECT IDENTIFIER ::= {id-acE 8}
+
+-- gsmSRF/gsmSCF AC
+id-ac-gsmSRF-gsmSCF OBJECT IDENTIFIER ::= {id-ac 14}
+
+-- gprsSSF/gsmSCF AC
+id-ac-CAP-gprsSSF-gsmSCF-AC OBJECT IDENTIFIER ::= {id-ac3E 50}
+id-ac-CAP-gsmSCF-gprsSSF-AC OBJECT IDENTIFIER ::= {id-ac3E 51}
+
+-- gprsSSF/gsmSCF or gsmSSF/gsmSCF AC
+id-ac-cap3-sms-AC OBJECT IDENTIFIER ::= {id-ac3E 61}
+id-ac-cap4-sms-AC OBJECT IDENTIFIER ::= {id-acE 61}
+
+
+-- Contracts
+
+-- gsmSSF/gsmSCF Contracts
+id-CAPSsfToScfGeneric OBJECT IDENTIFIER ::= {id-contractE 3}
+id-CAPAssistHandoffssfToScf OBJECT IDENTIFIER ::= {id-contractE 5}
+id-CAPScfToSsfGeneric OBJECT IDENTIFIER ::= {id-contractE 6}
+
+-- gsmSRF/gsmSCF Contracts
+id-contract-gsmSRF-gsmSCF OBJECT IDENTIFIER ::= {id-contract 13}
+
+-- gprsSSF/gsmSCF Contracts
+id-capGprsSsfTogsmScf OBJECT IDENTIFIER ::= {id-contract 14}
+id-capGsmScfToGprsSsf OBJECT IDENTIFIER ::= {id-contract 15}
+
+-- gprsSSF/gsmSCF or gsmSSF/gsmSCF Contracts
+id-cap3SmsSsfTogsmScf OBJECT IDENTIFIER ::= {id-contract3 16}
+id-cap4SmsSsfTogsmScf OBJECT IDENTIFIER ::= {id-contract 16}
+
+
+-- Operation Packages
+
+-- gsmSSF/gsmSCF Operation Packages
+id-package-scfActivation OBJECT IDENTIFIER ::= {id-package 11}
+id-package-gsmSRF-scfActivationOfAssist OBJECT IDENTIFIER ::= {id-package 15}
+id-package-assistConnectionEstablishment OBJECT IDENTIFIER ::= {id-package 16}
+id-package-genericDisconnectResource OBJECT IDENTIFIER ::= {id-package 17}
+id-package-nonAssistedConnectionEstablishment OBJECT IDENTIFIER ::= {id-package 18}
+id-package-connect OBJECT IDENTIFIER ::= {id-package 19}
+id-package-callHandling OBJECT IDENTIFIER ::= {id-packageE 20}
+id-package-bcsmEventHandling OBJECT IDENTIFIER ::= {id-package 21}
+id-package-ssfCallProcessing OBJECT IDENTIFIER ::= {id-packageE 24}
+id-package-scfCallInitiation OBJECT IDENTIFIER ::= {id-package 25}
+id-package-timer OBJECT IDENTIFIER ::= {id-package 26}
+id-package-billing OBJECT IDENTIFIER ::= {id-package 27}
+id-package-charging OBJECT IDENTIFIER ::= {id-package 28}
+id-package-trafficManagement OBJECT IDENTIFIER ::= {id-package 29}
+id-package-callReport OBJECT IDENTIFIER ::= {id-package 32}
+id-package-signallingControl OBJECT IDENTIFIER ::= {id-package 33}
+id-package-activityTest OBJECT IDENTIFIER ::= {id-package 34}
+id-package-cancel OBJECT IDENTIFIER ::= {id-packageE 36}
+id-package-cphResponse OBJECT IDENTIFIER ::= {id-package 37}
+id-package-exceptionInform OBJECT IDENTIFIER ::= {id-package 38}
+id-package-playTone OBJECT IDENTIFIER ::= {id-package 39}
+
+-- gsmSRF/gsmSCF Operation Packages
+id-package-specializedResourceControl OBJECT IDENTIFIER ::= {id-package 42}
+id-package-gsmSRF-scfCancel OBJECT IDENTIFIER ::= {id-package 43}
+
+-- gprsSSF/gsmSCF Operation Packages
+id-package-gprsContinue OBJECT IDENTIFIER ::= {id-package 49}
+id-package-gprsExceptionInformation OBJECT IDENTIFIER ::= {id-package 50}
+id-package-gprsScfActivation OBJECT IDENTIFIER ::= {id-package 51}
+id-package-gprsConnect OBJECT IDENTIFIER ::= {id-package 52}
+id-package-gprsRelease OBJECT IDENTIFIER ::= {id-package 53}
+id-package-gprsEventHandling OBJECT IDENTIFIER ::= {id-package 54}
+id-package-gprsTimer OBJECT IDENTIFIER ::= {id-package 55}
+id-package-gprsBilling OBJECT IDENTIFIER ::= {id-package 56}
+id-package-gprsCharging OBJECT IDENTIFIER ::= {id-package 57}
+id-package-gprsActivityTest OBJECT IDENTIFIER ::= {id-package 58}
+id-package-gprsCancel OBJECT IDENTIFIER ::= {id-package 59}
+id-package-gprsChargeAdvice OBJECT IDENTIFIER ::= {id-package 60}
+
+-- gprsSSF/gsmSCF or gsmSSF/gsmSCF Operation Packages
+id-package-smsActivation OBJECT IDENTIFIER ::= {id-package 61}
+id-package-smsConnect OBJECT IDENTIFIER ::= {id-package 62}
+id-package-smsContinue OBJECT IDENTIFIER ::= {id-package 63}
+id-package-smsRelease OBJECT IDENTIFIER ::= {id-package 64}
+id-package-smsEventHandling OBJECT IDENTIFIER ::= {id-package 65}
+id-package-smsBilling OBJECT IDENTIFIER ::= {id-package 66}
+id-package-smsTimer OBJECT IDENTIFIER ::= {id-package 67}
+
+
+-- Abstract Syntaxes
+
+-- gsmSSF/gsmSCF Abstract Syntaxes
+id-as-gsmSSF-scfGenericAS OBJECT IDENTIFIER ::= {id-asE 4}
+id-as-assistHandoff-gsmSSF-scfAS OBJECT IDENTIFIER ::= {id-asE 6}
+id-as-scf-gsmSSFGenericAS OBJECT IDENTIFIER ::= {id-asE 7}
+
+-- gsmSRF/gsmSCF Abstract Syntaxes
+id-as-basic-gsmSRF-gsmSCF OBJECT IDENTIFIER ::= {id-as 14}
+
+-- gprsSSF/gsmSCF Abstract Syntaxes
+id-as-gprsSSF-gsmSCF-AS OBJECT IDENTIFIER ::= {id-as 50}
+id-as-gsmSCF-gprsSSF-AS OBJECT IDENTIFIER ::= {id-as 51}
+
+-- gprsSSF/gsmSCF or gsmSSF/gsmSCF Abstract Syntaxes
+id-as-smsSSF-gsmSCF-AS OBJECT IDENTIFIER ::= {id-as 61}
+
+END
diff --git a/epan/dissectors/asn1/camel/CAP-operationcodes.asn b/epan/dissectors/asn1/camel/CAP-operationcodes.asn
new file mode 100644
index 00000000..deecd260
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CAP-operationcodes.asn
@@ -0,0 +1,119 @@
+-- 3GPP TS 29.078 11.0.0 (2011-09)
+-- 5.3 Operation codes
+CAP-operationcodes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-operationcodes(53) version8(7)}
+
+DEFINITIONS ::= BEGIN
+
+IMPORTS
+
+ ros-InformationObjects
+FROM CAP-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+umts-network(1) modules(3) cap-object-identifiers(100) version8(7)}
+
+ Code
+FROM Remote-Operations-Information-Objects ros-InformationObjects
+
+;
+
+-- the operations are grouped by the identified operation packages.
+
+-- gsmSCF activation Package
+ opcode-initialDP Code ::= local: 0
+-- gsmSCF/gsmSRF activation of assist Package
+ opcode-assistRequestInstructions Code ::= local: 16
+-- Assist connection establishment Package
+ opcode-establishTemporaryConnection Code ::= local: 17
+-- Generic disconnect resource Package
+ opcode-disconnectForwardConnection Code ::= local: 18
+ opcode-dFCWithArgument Code ::= local: 86
+-- Non-assisted connection establishment Package
+
+ opcode-connectToResource Code ::= local: 19
+-- Connect Package (elementary gsmSSF function)
+ opcode-connect Code ::= local: 20
+-- Call handling Package (elementary gsmSSF function)
+ opcode-releaseCall Code ::= local: 22
+-- BCSM Event handling Package
+ opcode-requestReportBCSMEvent Code ::= local: 23
+ opcode-eventReportBCSM Code ::= local: 24
+-- gsmSSF call processing Package
+ opcode-collectInformation Code ::= local: 27
+ opcode-continue Code ::= local: 31
+-- gsmSCF call initiation Package
+ opcode-initiateCallAttempt Code ::= local: 32
+-- Timer Package
+ opcode-resetTimer Code ::= local: 33
+-- Billing Package
+ opcode-furnishChargingInformation Code ::= local: 34
+-- Charging Package
+ opcode-applyCharging Code ::= local: 35
+ opcode-applyChargingReport Code ::= local: 36
+-- Traffic management Package
+ opcode-callGap Code ::= local: 41
+-- Call report Package
+ opcode-callInformationReport Code ::= local: 44
+ opcode-callInformationRequest Code ::= local: 45
+-- Signalling control Package
+ opcode-sendChargingInformation Code ::= local: 46
+-- Specialized resource control Package
+ opcode-playAnnouncement Code ::= local: 47
+ opcode-promptAndCollectUserInformation Code ::= local: 48
+ opcode-specializedResourceReport Code ::= local: 49
+-- Cancel Package
+ opcode-cancel Code ::= local: 53
+-- Activity Test Package
+ opcode-activityTest Code ::= local: 55
+-- CPH Response Package
+ opcode-continueWithArgument Code ::= local: 88
+ opcode-disconnectLeg Code ::= local: 90
+ opcode-moveLeg Code ::= local: 93
+ opcode-splitLeg Code ::= local: 95
+-- Exception Inform Package
+ opcode-entityReleased Code ::= local: 96
+-- Play Tone Package
+ opcode-playTone Code ::= local: 97
+
+-- Sms Activation Package
+ opcode-initialDPSMS Code ::= local: 60
+-- Sms Billing Package
+ opcode-furnishChargingInformationSMS Code ::= local: 61
+-- Sms Connect Package
+ opcode-connectSMS Code ::= local: 62
+-- Sms Event Handling Package
+ opcode-requestReportSMSEvent Code ::= local: 63
+ opcode-eventReportSMS Code ::= local: 64
+-- Sms Processing Package
+ opcode-continueSMS Code ::= local: 65
+-- Sms Release Package
+ opcode-releaseSMS Code ::= local: 66
+-- Sms Timer Package
+ opcode-resetTimerSMS Code ::= local: 67
+
+-- Gprs Activity Test Package
+ opcode-activityTestGPRS Code ::= local: 70
+-- Gprs Charging Package
+ opcode-applyChargingGPRS Code ::= local: 71
+ opcode-applyChargingReportGPRS Code ::= local: 72
+-- Gprs Cancel Package
+ opcode-cancelGPRS Code ::= local: 73
+-- Gprs Connect Package
+ opcode-connectGPRS Code ::= local: 74
+-- Gprs Processing Package
+ opcode-continueGPRS Code ::= local: 75
+-- Gprs Exception Information Package
+ opcode-entityReleasedGPRS Code ::= local: 76
+-- Gprs Billing Package
+ opcode-furnishChargingInformationGPRS Code ::= local: 77
+-- Gprs Scf Activation Package
+ opcode-initialDPGPRS Code ::= local: 78
+-- Gprs Release Package
+ opcode-releaseGPRS Code ::= local: 79
+-- Gprs Event Handling Package
+ opcode-eventReportGPRS Code ::= local: 80
+ opcode-requestReportGPRSEvent Code ::= local: 81
+-- Gprs Timer Package
+ opcode-resetTimerGPRS Code ::= local: 82
+-- Gprs Charge Advice Package
+ opcode-sendChargingInformationGPRS Code ::= local: 83
+
+END
diff --git a/epan/dissectors/asn1/camel/CMakeLists.txt b/epan/dissectors/asn1/camel/CMakeLists.txt
new file mode 100644
index 00000000..addfed17
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CMakeLists.txt
@@ -0,0 +1,58 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME camel )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( EXT_ASN_FILE_LIST_LATE
+ ../ros/Remote-Operations-Information-Objects.asn
+ ../ros/Remote-Operations-Generic-ROS-PDUs.asn
+)
+
+set( ASN_FILE_LIST
+ CAP-object-identifiers.asn
+ CAP-classes.asn
+ CAP-datatypes.asn
+ CAP-errorcodes.asn
+ CAP-errortypes.asn
+ CAP-operationcodes.asn
+ CAP-GPRS-ReferenceNumber.asn
+ CAP-gsmSCF-gsmSRF-ops-args.asn
+ CAP-gsmSSF-gsmSCF-ops-args.asn
+ CAP-gprsSSF-gsmSCF-ops-args.asn
+ CAP-SMS-ops-args.asn
+ CAP-U-ABORT-Data.asn
+ CamelV2diff.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.asn
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../inap/inap-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../gsm_map/gsm_map-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/camel/CamelV2diff.asn b/epan/dissectors/asn1/camel/CamelV2diff.asn
new file mode 100644
index 00000000..6f2f11ce
--- /dev/null
+++ b/epan/dissectors/asn1/camel/CamelV2diff.asn
@@ -0,0 +1,100 @@
+-- Hand crafted ASN1 file for the differences between latest spec and V2
+-- statments sufixed with V2 to be able to generate this with the latest ASN1 spec.
+-- .cnf and -template is used to call the statmets here.
+
+CAP-DataTypesV2 {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) modules(3)cap-datatypes(52) version2(1)}
+
+-- This module contains the type definitions for the CAP v.2 data types.
+
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+ IMPORTS
+
+ NAEA-CIC
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version12(12)}
+
+;
+
+-- From:
+-- CAP-Operations {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0)
+-- gsm-Network(1) modules(3) cap-operations(50) version2(1)}
+-- This module contains the type definitions for the CAP v.2 operations.
+EstablishTemporaryConnectionArgV2 ::= SEQUENCE {
+ assistingSSPIPRoutingAddress [0] AssistingSSPIPRoutingAddress,
+ correlationID [1] CorrelationID OPTIONAL,
+ scfID [3] ScfID OPTIONAL,
+ extensions [4] SEQUENCE SIZE(1..numOfExtensions) OF
+ ExtensionField OPTIONAL,
+ serviceInteractionIndicatorsTwo [7] ServiceInteractionIndicatorsTwo OPTIONAL,
+ ...,
+ na-info [50] NA-Info OPTIONAL
+ }
+-- na-info is included at the discretion of the
+-- gsmSCF operator.
+
+-- Use of the text parameter is network operator/equipment vendor specific.
+-- End CAP-Operations
+
+-- TYPE DEFINITIONS FOR CAP v.2 DATA TYPES FOLLOW
+
+InitialDPArgExtensionV2 ::= SEQUENCE {
+ naCarrierInformation [0] NACarrierInformation OPTIONAL,
+ gmscAddress [1] ISDN-AddressString OPTIONAL,
+ ...
+
+
+}
+
+NACarrierInformation ::= SEQUENCE {
+ naCarrierId [0] NAEA-CIC OPTIONAL,
+ naCICSelectionType [1] NACarrierSelectionInfo OPTIONAL,
+ ...}
+
+NACarrierSelectionInfo ::= OCTET STRING (SIZE (1))
+-- NA carrier selection information octet carries the same values as ANSI
+-- ISUP T1.113: '00'H - not indicated or not explicitly provided
+-- '01'H - subscribed not dialed
+-- '02'H - subscribed and dialed
+-- '03'H - subscribed with dialing undetermined
+-- '04'H - dialed CIC not subscribed
+
+NAChargeNumber ::= OCTET STRING (SIZE (2..7))
+-- This parameter uniquely identifies the chargeable number for a call sent into a North American
+-- long distance carrier. It transports the ChargeNumber Parameter Field
+-- as defined in ANSI ISUP T1.113. This provides
+-- - 1 octet for the nature of address indicator field, plus
+-- - 1 octet for a numbering plan field, plus
+-- - up to 5 octets for the address signal (up to 10 digits)
+
+-- The Charge Number in ANSI T1.113 normally contains a 10 digit national number within the North
+-- American Numbering Plan (NANP); longer (e.g. international) charge numbers are not supported in
+-- T1.113
+
+NA-Info ::= SEQUENCE {
+ naCarrierInformation [0] NACarrierInformation OPTIONAL,
+ naOliInfo [1] NAOliInfo OPTIONAL,
+ naChargeNumber [2] NAChargeNumber OPTIONAL,
+ ...}
+
+
+CAMEL-AChBillingChargingCharacteristicsV2 ::= CHOICE {
+ timeDurationCharging [0] SEQUENCE {
+ maxCallPeriodDuration [0] INTEGER (1..864000),
+ releaseIfdurationExceeded [1] ReleaseIfDurationExceeded OPTIONAL,
+ tariffSwitchInterval [2] INTEGER (1..86400) OPTIONAL
+ }
+ }
+-- tariffSwitchInterval is measured in 1 second units.
+-- maxCallPeriodDuration is measured in100 millisecond units
+
+ReleaseIfDurationExceeded ::= SEQUENCE {
+ tone BOOLEAN DEFAULT FALSE,
+ ...,
+ extensions [10] SEQUENCE SIZE(1..numOfExtensions) OF
+ ExtensionField OPTIONAL
+ }
+
+SpecializedResourceReportArgV23 ::= NULL
+
+END
diff --git a/epan/dissectors/asn1/camel/TCAPMessages.asn b/epan/dissectors/asn1/camel/TCAPMessages.asn
new file mode 100644
index 00000000..1e0b5561
--- /dev/null
+++ b/epan/dissectors/asn1/camel/TCAPMessages.asn
@@ -0,0 +1,21 @@
+-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
+TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+-- This is a dummy asn1 file to be replacet when everthing is in place...
+-- EXPORTS everything
+-- Transaction Portion fields.
+IMPORTS
+ ROS{}, InvokeId
+ FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
+ remote-operations(4) generic-ROS-PDUs(6) version1(0)}
+ OPERATION
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+
+TCInvokeIdSet ::= InvokeId(WITH COMPONENTS {
+ present (-128..127)
+ })
+
+END -- TCAPMessages
diff --git a/epan/dissectors/asn1/camel/camel.asn b/epan/dissectors/asn1/camel/camel.asn
new file mode 100644
index 00000000..0c65a275
--- /dev/null
+++ b/epan/dissectors/asn1/camel/camel.asn
@@ -0,0 +1,3246 @@
+--***********************************************
+-- ASN.1+ version of CAMEL3 message set.
+--
+-- Ref : CAMEL Application Part (CAP) specification
+-- (3GPP TS 29.078 version 3.5.0 Release 1999)
+-- ETSI TS 129 078 V3.5.0 (2000-09)
+-- Updated to 3GPP TS 29.078 version 7.3.0 Release 7 (2006-06)
+--
+--***********************************************
+
+--*********************************************
+-- Core-INAP-CS1-Operations DEFINITIONS
+--*********************************************
+
+CAP-datatypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-datatypes(52) version5(4)}
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+
+
+-- exports everything
+
+
+
+IMPORTS
+
+ CellGlobalIdOrServiceAreaIdFixedLength,
+ Ext-BasicServiceCode,
+ IMEI,
+ IMSI,
+ LAIFixedLength
+
+FROM MAP-CommonDataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CommonDataTypes(18) version9(9)}
+
+ CUG-Index,
+ CUG-Interlock,
+ Ext-QoS-Subscribed,
+ Ext2-QoS-Subscribed,
+ GeographicalInformation,
+ GSN-Address,
+ LocationInformation,
+ LSAIdentity,
+ MS-Classmark2,
+ QoS-Subscribed,
+ RAIdentity,
+ GPRSChargingID
+FROM MAP-MS-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-MS-DataTypes(11) version9(9)}
+
+ UU-Data
+FROM MAP-CH-DataTypes {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
+gsm-Network(1) modules(3) map-CH-DataTypes(13) version9(9)}
+
+;
+-- ================================
+-- MACRO OPERATION
+-- ================================
+
+-- ROS def's
+-- Module Remote-Operations-Apdus (H.450.1:02/1998)
+--Remote-Operations-Apdus {itu-t recommendation h 450 1 version1(0)
+-- remote-operations-apdus(11)} DEFINITIONS AUTOMATIC TAGS ::=
+--BEGIN
+
+Component ::= CHOICE {
+ invoke [1] IMPLICIT Invoke,
+ returnResultLast [2] IMPLICIT ReturnResult,
+ returnError [3] IMPLICIT ReturnError,
+ reject [4] IMPLICIT Reject
+}
+
+Invoke ::= SEQUENCE {
+ invokeID InvokeIdType,
+ linkedID [0] IMPLICIT InvokeIdType OPTIONAL,
+ opCode OPERATION,
+ invokeparameter InvokeParameter OPTIONAL
+}
+InvokeParameter ::= ANY
+
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT
+-- in the type definition of a particular operation.
+
+ReturnResult ::= SEQUENCE {
+ invokeID InvokeIdType,
+ resultretres SEQUENCE {
+ opCode OPERATION,
+ returnparameter ReturnResultParameter OPTIONAL
+ } OPTIONAL
+}
+
+ReturnResultParameter ::= ANY
+
+-- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition
+-- of a particular operation.
+
+ReturnError ::= SEQUENCE {
+ invokeID InvokeIdType,
+ errorCode ERROR,
+ parameter ReturnErrorParameter OPTIONAL }
+
+ReturnErrorParameter ::= ANY
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
+-- of a particular error.
+
+Reject ::= SEQUENCE {
+ invokeIDRej CHOICE {
+ derivable InvokeIdType,
+ not-derivable NULL },
+ problem CHOICE {
+ generalProblem [0] IMPLICIT GeneralProblem,
+ invokeProblem [1] IMPLICIT InvokeProblem,
+ returnResultProblem [2] IMPLICIT ReturnResultProblem,
+ returnErrorProblem [3] IMPLICIT ReturnErrorProblem } }
+
+InvokeIdType ::= INTEGER (-128..127)
+
+
+OPERATION ::= CHOICE {
+ localValue OperationLocalvalue,
+ globalValue OBJECT IDENTIFIER }
+
+
+CAMELOperationLocalvalue ::= INTEGER{
+ initialDP (0),
+ assistRequestInstructions (16),
+ establishTemporaryConnection (17),
+ disconnectForwardConnection (18),
+ connectToResource (19),
+ connect (20),
+ releaseCall (22),
+ requestReportBCSMEvent (23),
+ eventReportBCSM (24),
+ collectInformation (27),
+ continue (31),
+ initiateCallAttempt (32),
+ resetTimer (33),
+ furnishChargingInformation (34),
+ applyCharging (35),
+ applyChargingReport (36),
+ callGap (41),
+ callInformationReport (44),
+ callInformationRequest (45),
+ sendChargingInformation (46),
+ playAnnouncement (47),
+ promptAndCollectUserInformation (48),
+ specializedResourceReport (49),
+ cancel (53),
+ activityTest (55),
+ continueWithArgument (56),
+ initialDPSMS (60),
+ furnishChargingInformationSMS (61),
+ connectSMS (62),
+ requestReportSMSEvent (63),
+ eventReportSMS (64),
+ continueSMS (65),
+ releaseSMS (66),
+ resetTimerSMS (67),
+ activityTestGPRS (70),
+ applyChargingGPRS (71),
+ applyChargingReportGPRS (72),
+ cancelGPRS (73),
+ connectGPRS (74),
+ continueGPRS (75),
+ entityReleasedGPRS (76),
+ furnishChargingInformationGPRS (77),
+ initialDPGPRS (78),
+ releaseGPRS (79),
+ eventReportGPRS (80),
+ requestReportGPRSEvent (81),
+ resetTimerGPRS (82),
+ sendChargingInformationGPRS (83),
+ dFCWithArgument (86),
+ continueWithArgument (88),
+ disconnectLeg (90),
+ moveLeg (93),
+ splitLeg (95),
+ entityReleased (96),
+ playTone (97)
+}
+
+OperationLocalvalue ::= CAMELOperationLocalvalue
+
+
+ERROR ::= CHOICE {
+ localErrorValue LocalErrorcode,
+ globalErrorValue OBJECT IDENTIFIER
+}
+
+CAMELLocalErrorcode ::= INTEGER{
+ canceled (0),
+ cancelFailed (1),
+ eTCFailed (3),
+ improperCallerResponse (4),
+ missingCustomerRecord (6),
+ missingParameter (7),
+ parameterOutOfRange (8),
+ requestedInfoError (10),
+ systemFailure (11),
+ taskRefused (12),
+ unavailableResource (13),
+ unexpectedComponentSequence (14),
+ unexpectedDataValue (15),
+ unexpectedParameter (16),
+ unknownLegID (17),
+ unknownPDPID (50),
+ unknownCSID (51)
+}
+
+LocalErrorcode ::= CAMELLocalErrorcode
+
+-- PROBLEMS
+
+GeneralProblem ::= INTEGER { unrecognizedComponent (0),
+ mistypedComponent (1),
+ badlyStructuredComponent (2) }
+
+InvokeProblem ::= INTEGER { duplicateInvokeID (0),
+ unrecognizedOperation (1),
+ mistypedParameter (2),
+ resourceLimitation (3),
+ initiatingRelease (4),
+ unrecognizedLinkedID (5),
+ linkedResponseUnexpected (6),
+ unexpectedLinkedOperation (7) }
+
+ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnResultUnexpected (1),
+ mistypedParameter (2) }
+
+ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnErrorUnexpected (1),
+ unrecognizedError (2),
+ unexpectedError (3),
+ mistypedParameter (4) }
+
+
+--END
+
+--
+--
+--
+
+
+
+
+-- AccessPointName notes: not recursive, exported,
+-- locally refd 5 times, import refd 0 times
+
+AccessPointName ::= OCTET STRING (SIZE (cAPSpecificBoundSetminAccessPointNameLength .. cAPSpecificBoundSetmaxAccessPointNameLength ))
+
+-- Indicates the AccessPointName, refer to 3GPP TS 24.008 [9] for the encoding.
+-- It shall be coded as in the value part defined in 3GPP TS 24.008,
+-- i.e. the 3GPP TS 24.008 IEI and 3GPP TS 24.008 octet length indicator
+-- shall not be included.
+
+-- AChBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+AChBillingChargingCharacteristics ::= CHOICE
+{
+ actimeDurationCharging [0] SEQUENCE
+ {
+ maxCallPeriodDuration [0] INTEGER (1..864000),
+ releaseIfdurationExceeded [1] BOOLEAN DEFAULT FALSE,
+ tariffSwitchInterval [2] INTEGER (1..86400) OPTIONAL,
+ actone [3] BOOLEAN DEFAULT FALSE,
+ extensions [4] ExtensionsArray OPTIONAL
+ }
+}
+
+AChChargingAddress ::= CHOICE {
+ legID [2] LegID,
+ srfConnection [50] CallSegmentID
+ }
+
+-- AdditionalCallingPartyNumber notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+AdditionalCallingPartyNumber ::= Digits
+
+-- AlertingPattern notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+AlertingPattern ::= OCTET STRING (SIZE(3))
+-- Indicates a specific pattern that is used to alert a subscriber
+-- (e.g. distinctive ringing, tones, etc.).
+-- The encoding of the last octet of this parameter is as defined in 3GPP TS 29.002 [11].
+
+
+-- This one Commented out by Javier Acuna (javier.acuna@sixbell.cl)
+-- Because I added a new Errortypes section at the end.
+
+--CancelFailedPARAM ::= SEQUENCE
+--{
+ -- operation [1] InvokeID
+--}
+
+-- AOCBeforeAnswer notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+
+AOCBeforeAnswer ::= SEQUENCE
+{
+ aOCInitial [0] CAI-Gsm0224,
+ aOCSubsequent [1] AOCSubsequent OPTIONAL
+}
+
+-- AOCGprs notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+AOCGprs ::= SEQUENCE
+{
+ aOCInitial [0] CAI-Gsm0224,
+ aOCSubsequent [1] AOCSubsequent OPTIONAL
+}
+
+-- AOCSubsequent notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+AOCSubsequent ::= SEQUENCE
+{
+ cAI-GSM0224 [0] CAI-Gsm0224,
+ tariffSwitchInterval [1] INTEGER (1..86400) OPTIONAL
+}
+
+-- AppendFreeFormatData notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+AppendFreeFormatData ::= ENUMERATED
+{
+ overwrite (0),
+ append (1)
+}
+
+-- ApplicationTimer notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ApplicationTimer ::= INTEGER (0..2047)
+
+-- AssistingSSPIPRoutingAddress notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+AssistingSSPIPRoutingAddress ::= Digits
+
+AudibleIndicator ::= CHOICE {
+ istone BOOLEAN,
+ burstList [1] BurstList
+ }
+
+-- BackwardServiceInteractionInd notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+BackwardServiceInteractionInd ::= SEQUENCE {
+ conferenceTreatmentIndicator [1] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- acceptConferenceRequest 'xxxx xx01'B
+ -- rejectConferenceRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect conference treatement
+ callCompletionTreatmentIndicator [2] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- acceptCallCompletionServiceRequest 'xxxx xx01'B,
+ -- rejectCallCompletionServiceRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect call completion treatment
+ ...
+ }
+
+-- BasicGapCriteria notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+BasicGapCriteria ::= CHOICE
+{
+ calledAddressValue [0] Digits,
+ gapOnService [2] GapOnService,
+ calledAddressAndService [29] SEQUENCE
+ {
+ calledAddressValue [0] Digits,
+ serviceKey [1] ServiceKey,
+ ...
+ },
+ callingAddressAndService [30] SEQUENCE
+ {
+ callingAddressValue [0] Digits,
+ serviceKey [1] ServiceKey,
+ ...
+ }
+}
+-- Both calledAddressValue and callingAddressValue can be
+-- incomplete numbers, in the sense that a limited amount of digits can be given.
+-- For the handling of numbers starting with the same digit string refer to the detailed
+-- procedure of the CallGap operation
+
+
+-- BCSMEvent notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+BCSMEvent ::= SEQUENCE
+{
+ eventTypeBCSM [0] EventTypeBCSM,
+ monitorMode [1] MonitorMode,
+ legID6 [2] LegID OPTIONAL,
+ dpSpecificCriteria [30] DpSpecificCriteria OPTIONAL,
+ automaticRearm [50] NULL OPTIONAL,
+ ...
+}
+
+-- Indicates the BCSM Event information for monitoring.
+BCSM-Failure ::= SEQUENCE {
+ legID [0] LegID OPTIONAL,
+ cause [2] Cause OPTIONAL,
+ ...
+ }
+
+-- BearerCapability notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+BearerCapability ::= CHOICE
+{
+ bearerCap [0] BearerCap
+}
+
+BearerCap ::= OCTET STRING (SIZE (2..cAPSpecificBoundSetmaxBearerCapabilityLength ))
+
+-- Indicates the type of bearer capability connection to the user. For bearerCap, the ISUP User
+-- Service Information, ETSI EN 300 356-1 [23]
+-- encoding shall be used.
+
+Burst ::= SEQUENCE {
+ numberOfBursts [0] INTEGER (1..3) DEFAULT 1,
+ burstInterval [1] INTEGER (1..1200) DEFAULT 2,
+ numberOfTonesInBurst [2] INTEGER (1..3) DEFAULT 3,
+ toneDuration [3] INTEGER (1..20) DEFAULT 2,
+ toneInterval [4] INTEGER (1..20) DEFAULT 2,
+ ...
+ }
+-- burstInterval, toneDurartion and toneInterval are measured in 100 millisecond units
+
+BurstList ::= SEQUENCE {
+ warningPeriod [0] INTEGER (1..1200) DEFAULT 30,
+ bursts [1] Burst,
+ ...
+ }
+-- warningPeriod is measured in 1 second units.
+
+-- CAI-Gsm0224 notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+CAI-Gsm0224 ::= SEQUENCE
+{
+ e1 [0] INTEGER (0..8191) OPTIONAL,
+ e2 [1] INTEGER (0..8191) OPTIONAL,
+ e3 [2] INTEGER (0..8191) OPTIONAL,
+ e4 [3] INTEGER (0..8191) OPTIONAL,
+ e5 [4] INTEGER (0..8191) OPTIONAL,
+ e6 [5] INTEGER (0..8191) OPTIONAL,
+ e7 [6] INTEGER (0..8191) OPTIONAL
+}
+-- Indicates Charge Advice Information to the Mobile Station. For information regarding
+-- parameter usage, refer to 3GPP TS 22.024 [2].
+
+-- CalledPartyBCDNumber notes: not recursive, exported,
+-- locally refd 4 times, import refd 0 times
+-- See 3GPP TS 29.078
+-- and 3GPP TS 24.008, section 10.5.4.7
+CalledPartyBCDNumber ::= ISDN-AddressString
+-- Indicates the Called Party Number, including service selection information.
+-- Refer to 3GPP TS 24.008 [9] for encoding.
+-- This data type carries only the 'type of number', 'numbering plan
+-- identification' and 'number digit' fields defined in 3GPP TS 24.008 [9];
+-- it does not carry the 'called party BCD number IEI' or 'length of called
+-- party BCD number contents'.
+-- In the context of the DestinationSubscriberNumber field in ConnectSMSArg or
+-- InitialDPSMSArg, a CalledPartyBCDNumber may also contain an alphanumeric
+-- character string. In this case, type-of-number '101'B is used, in accordance
+-- with 3GPP TS 23.040 [6]. The address is coded in accordance with the
+-- GSM 7-bit default alphabet definition and the SMS packing rules
+-- as specified in 3GPP TS 23.038 [15] in this case.
+
+-- CalledPartyNumber notes: not recursive, exported,
+-- locally refd 6 times, import refd 0 times
+
+CalledPartyNumber ::=
+
+
+ OCTET STRING (SIZE (cAPSpecificBoundSetminCalledPartyNumberLength ..cAPSpecificBoundSetmaxCalledPartyNumberLength ))
+-- Indicates the Called Party Number. Refer to ETS EN 300 356-1 [23] for encoding.
+
+-- A CalledPartyNumber may contain national-specific values of the Nature Of Address
+-- indicator. The filling-in of the national-specific Nature Of Address indicator
+-- values shall be done in accordance with the national ISUP of the gsmSSF country, e.g.
+-- ANSI T1.113-1995 [92].
+-- In terms of ETS EN 300 356-1 [23], the Destination Address Field is not present if the
+-- destination address length is set to zero. This is the case e.g. when the ANSI
+-- ISUP Nature Of Address indicator indicates no number present, operator requested
+-- (1110100) or no number present, cut-through call to carrier (1110101).
+-- See also see 3GPP TS 23.078 [7].
+
+-- CallingPartyNumber notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+CallingPartyNumber ::=
+
+
+ OCTET STRING (SIZE (cAPSpecificBoundSetminCallingPartyNumberLength..cAPSpecificBoundSetmaxCallingPartyNumberLength ))
+-- Indicates the Calling Party Number. Refer to ETSI EN 300 356-1 [23] for encoding.
+
+-- CallResult notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+CallResult ::= CAMEL-CallResult
+
+--OCTET STRING (SIZE (cAPSpecificBoundSetminCallResultLength..cAPSpecificBoundSetmaxCallResultLength))
+-- shall be the result of the BER-encoded value of type
+-- CAMEL-CallResult
+
+CallSegmentFailure ::= SEQUENCE {
+ callSegmentID [0] CallSegmentID OPTIONAL,
+ cause [2] Cause OPTIONAL,
+ ...
+ }
+
+CallSegmentID ::= INTEGER (1..cAPSpecificBoundsSetnumOfCSs)
+
+CallSegmentToCancel ::= SEQUENCE {
+ callInvokeID [0] InvokeID OPTIONAL,
+ callSegmentID [1] CallSegmentID OPTIONAL,
+ ...
+ }
+
+-- CAMEL-AChBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CAMEL-AChBillingChargingCharacteristics ::= CHOICE
+{
+ timeDurationCharging [0] SEQUENCE
+ {
+ maxCallPeriodDuration [0] INTEGER (1..864000),
+ releaseIfdurationExceeded [1] BOOLEAN DEFAULT FALSE,
+ tariffSwitchInterval [2] INTEGER (1..86400) OPTIONAL,
+ audibleIndicator [3] AudibleIndicator,
+ extensions [4] ExtensionsArray OPTIONAL,
+ ...
+ }
+}
+
+-- CAMEL-CallResult notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+--CAMEL-CallResult ::= CHOICE
+--{
+-- timeDurationChargingResult [0] SEQUENCE {
+-- partyToCharge [0] ReceivingSideID,
+-- timeInformation [1] TimeInformation,
+-- legActive [2] BOOLEAN DEFAULT TRUE,
+-- callLegReleasedAtTcpExpiry [3] NULL OPTIONAL,
+-- extensions [4] ExtensionsArray OPTIONAL,
+-- aChChargingAddress [5] AChChargingAddress,
+-- ...
+-- }
+-- }
+
+CAMEL-CallResult ::= CHOICE
+{
+ timeDurationChargingResult [0] TimeDurationChargingResult,
+ void [99] NULL
+}
+
+TimeDurationChargingResult ::= SEQUENCE {
+ partyToCharge [0] ReceivingSideID,
+ timeInformation [1] TimeInformation,
+ legActive [2] BOOLEAN OPTIONAL,
+ callLegReleasedAtTcpExpiry [3] NULL OPTIONAL,
+ extensions [4] ExtensionsArray OPTIONAL,
+ aChChargingAddress [5] AChChargingAddress OPTIONAL,
+ ...
+}
+
+
+-- CAMEL-FCIBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CAMEL-FCIBillingChargingCharacteristics ::= CHOICE
+{
+ fCIBCCCAMELsequence1 [0] SEQUENCE
+ {
+ freeFormatData [0] FreeFormatData,
+ partyToCharge4 [1] SendingSideID DEFAULT '01'H,
+ appendFreeFormatData [2] AppendFreeFormatData DEFAULT overwrite
+ }
+}
+
+
+-- CAMEL-FCIGPRSBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CAMEL-FCIGPRSBillingChargingCharacteristics ::=
+
+SEQUENCE
+{
+ fCIBCCCAMELsequence2 [0] SEQUENCE
+ {
+ freeFormatData [0] FreeFormatData,
+ pDPID [1] PDPId OPTIONAL,
+ appendFreeFormatData [2] AppendFreeFormatData DEFAULT overwrite
+ }
+}
+
+
+-- CCAMEL-FCISMSBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CAMEL-FCISMSBillingChargingCharacteristics ::= CHOICE
+{
+ fCIBCCCAMELsequence3 [0] SEQUENCE
+ {
+ freeFormatData [0] FreeFormatData,
+ appendFreeFormatData [1] AppendFreeFormatData DEFAULT overwrite
+ }
+}
+
+
+-- CAMEL-SCIBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+CAMEL-SCIBillingChargingCharacteristics ::= CHOICE
+{
+ aOCBeforeAnswer [0] AOCBeforeAnswer,
+ aOCAfterAnswer [1] AOCSubsequent,
+ aOC-extension [2] CAMEL-SCIBillingChargingCharacteristicsAlt
+}
+
+CAMEL-SCIBillingChargingCharacteristicsAlt ::= SEQUENCE {
+ ...
+ }
+-- This datatype is for extension in future releases.
+
+-- CAMEL-SCIGPRSBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+CamelSCIGPRSBillingChargingCharacteristics ::=
+
+ SEQUENCE
+{
+ aOCGPRS [0] AOCGprs,
+ pDPID [1] PDPId OPTIONAL
+}
+
+-- Carrier notes: not recursive, exported,
+-- locally refd 5 times, import refd 0 times
+Carrier ::=
+
+OCTET STRING (SIZE (cAPSpecificBoundSetminCarrierLength ..cAPSpecificBoundSetmaxCarrierLength ))
+-- This parameter is used for North America (na) only.
+-- It contains the carrier selection field (first octet) followed by Carrier ID
+-- information (North America (na)).
+
+-- The Carrier selection is one octet and is encoded as:
+-- 00000000 No indication
+-- 00000001 Selected carrier identification code (CIC) pre subscribed and not
+-- input by calling party
+-- 00000010 Selected carrier identification code (CIC) pre subscribed and input by
+-- calling party
+-- 00000011 Selected carrier identification code (CIC) pre subscribed, no
+-- indication of whether input by calling party (undetermined)
+-- 00000100 Selected carrier identification code (CIC) not pre subscribed and
+-- input by calling party
+-- 00000101
+-- to Spare
+-- 11111110
+-- 11111111 Reserved
+
+-- Refer to ANSI T1.113-1995 [92] for encoding of na carrier ID information (3 octets).
+
+
+
+-- CGEncountered notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CGEncountered ::= ENUMERATED
+{
+ noCGencountered (0),
+ manualCGencountered (1),
+ scpOverload (2)
+}
+
+ChangeOfPositionControlInfo ::= SEQUENCE SIZE(1..cAPSpecificBoundsSetnumOfChangeOfPositionControlInf) OF ChangeOfLocation
+
+ChangeOfLocation ::= CHOICE {
+ cellGlobalId [0] CellGlobalIdOrServiceAreaIdFixedLength,
+ serviceAreaId [1] CellGlobalIdOrServiceAreaIdFixedLength,
+ locationAreaId [2] LAIFixedLength,
+ inter-SystemHandOver [3] NULL,
+ inter-PLMNHandOver [4] NULL,
+ inter-MSCHandOver [5] NULL,
+ changeOfLocationAlt [6] ChangeOfLocationAlt
+}
+-- The cellGlobalId shall contain a Cell Global Identification.
+-- The serviceAreaId shall contain a Service Area Identification.
+
+ChangeOfLocationAlt ::= SEQUENCE {
+ ...
+ }
+
+ChargeIndicator ::= OCTET STRING (SIZE (1))
+-- As specified in ITU-T Recommendation Q.763 as follows:
+-- no indication 'xxxx xx00'B
+-- no charge 'xxxx xx01'B
+-- charge 'xxxx xx10'B
+-- spare 'xxxx xx11'B
+-- Sending entity shall fill the upper six bits with '0's.
+-- Receiving entity shall ignore the upper six bits.
+
+
+-- ChargeNumber notes: not recursive, exported,
+-- locally refd 4 times, import refd 0 times
+ChargeNumber ::= LocationNumber
+
+-- ChargingCharacteristics notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ChargingCharacteristics ::= CHOICE
+{
+ maxTransferredVolume [0] INTEGER (1..4294967295),
+ maxElapsedTime [1] INTEGER (1..86400)
+}
+
+-- ChargingResult notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ChargingResult ::= CHOICE
+{
+ transferredVolume [0] TransferredVolume,
+ elapsedTime [1] ElapsedTime
+}
+
+ChargingRollOver ::= CHOICE {
+ transferredVolumeRollOver [0] TransferredVolumeRollOver,
+ elapsedTimeRollOver [1] ElapsedTimeRollOver
+}
+
+-- CollectedDigits notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CollectedDigits ::= SEQUENCE
+{
+ minimumNbOfDigits [0] INTEGER (1..30) DEFAULT 1,
+ maximumNbOfDigits [1] INTEGER (1..30),
+ endOfReplyDigit [2] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ cancelDigit [3] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ startDigit [4] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ firstDigitTimeOut [5] INTEGER (1..127) OPTIONAL,
+ interDigitTimeOut [6] INTEGER (1..127) OPTIONAL,
+ errorTreatment [7] ErrorTreatment DEFAULT stdErrorAndInfo,
+ interruptableAnnInd [8] BOOLEAN DEFAULT TRUE,
+ voiceInformation [9] BOOLEAN DEFAULT FALSE,
+ voiceBack [10] BOOLEAN DEFAULT FALSE
+}
+-- The use of voiceBack and the support of voice recognition via voiceInformation
+-- is network operator specific.
+-- The endOfReplyDigit, cancelDigit, and startDigit parameters have been
+-- designated as OCTET STRING, and are to be encoded as BCD, one digit per octet
+-- only, contained in the four least significant bits of each OCTET. The following encoding shall
+-- be applied for the non-decimal characters:
+-- 1011 (*), 1100 (#).
+-- The usage is service dependent.
+-- firstDigitTimeOut and interDigitTimeOut are measured in seconds.
+
+-- CollectedInfo notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CollectedInfo ::= CHOICE
+{
+ collectedDigits [0] CollectedDigits
+}
+
+
+-- ConnectedNumberTreatmentInd notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ConnectedNumberTreatmentInd ::= ENUMERATED
+{
+ noINImpact (0),
+ presentationRestricted (1),
+ presentCalledINNumber (2),
+ presentCallINNumberRestricted (3)
+}
+
+-- ControlType notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ControlType ::= ENUMERATED
+{
+ sCPOverloaded (0),
+ manuallyInitiated (1)
+}
+
+-- CompoundCriteria notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CompoundCriteria ::= SEQUENCE
+{
+ basicGapCriteria [0] BasicGapCriteria,
+ scfID [1] ScfID OPTIONAL
+}
+
+-- CorrelationID notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+CorrelationID ::= Digits
+-- used by gsmSCF for correlation with a previous operation.
+
+-- DateAndTime notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+DateAndTime ::= OCTET STRING (SIZE (7))
+-- DateAndTime is BCD encoded. The year digit indicating millenium occupies bits
+-- 0-3 of the first octet, and the year digit indicating century occupies bits
+-- 4-7 of the first octet.
+-- The year digit indicating decade occupies bits 0-3 of the second octet,
+-- whilst the digit indicating the year within the decade occupies bits 4-7 of
+-- the second octet.
+-- The most significant month digit occupies bits 0-3 of the third octet,
+-- and the least significant month digit occupies bits 4-7 of the third octet.
+-- The most significant day digit occupies bits 0-3 of the fourth octet,
+-- and the least significant day digit occupies bits 4-7 of the fourth octet.
+-- The most significant hours digit occupies bits 0-3 of the fifth octet,
+-- and the least significant digit occupies bits 4-7 of the fifth octet.
+-- The most significant minutes digit occupies bits 0-3 of the sixth octet,
+-- and the least significant digit occupies bits 4-7 of the sixth octet.
+-- The most significant seconds digit occupies bits 0-3 of the seventh octet,
+-- and the least seconds significant digit occupies bits 4-7 of the seventh octet.
+-- For the encoding of digits in an octet, refer to the timeAndtimezone parameter.
+
+
+-- DestinationRoutingAddress notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+DestinationRoutingAddress ::=
+
+SEQUENCE SIZE (1) OF CalledPartyNumber
+
+-- Digits notes: not recursive, exported,
+-- locally refd 9 times, import refd 0 times
+Digits ::=
+
+OCTET STRING (SIZE (cAPSpecificBoundSetminDigitsLength ..cAPSpecificBoundSetmaxDigitsLength ))
+-- Indicates the address signalling digits.
+-- Refer to ETSI EN 300 356-1 [23] Generic Number & Generic Digits parameters for encoding.
+-- The coding of the subfields 'NumberQualifier' in Generic Number and 'TypeOfDigits' in
+-- Generic Digits are irrelevant to the CAP;
+-- the ASN.1 tags are sufficient to identify the parameter.
+-- The ISUP format does not allow to exclude these subfields,
+-- therefore the value is network operator specific.
+--
+-- The following parameters shall use Generic Number:
+-- - AdditionalCallingPartyNumber for InitialDP
+-- - AssistingSSPIPRoutingAddress for EstablishTemporaryConnection
+-- - CorrelationID for AssistRequestInstructions
+-- - CalledAddressValue for all occurrences, CallingAddressValue for all occurrences.
+--
+-- The following parameters shall use Generic Digits:
+-- - CorrelationID in EstablishTemporaryConnection
+-- - number in VariablePart
+-- - digitsResponse in ReceivedInformationArg
+-- - midCallEvents in oMidCallSpecificInfo and tMidCallSpecificInfo
+--
+-- In the digitsResponse and midCallevents, the digits may also include the '*', '#',
+-- a, b, c and d digits by using the IA5 character encoding scheme. If the BCD even or
+-- BCD odd encoding scheme is used, then the following encoding shall be applied for the
+-- non-decimal characters: 1011 (*), 1100 (#).
+--
+-- AssistingSSPIPRoutingAddress in EstablishTemporaryConnection and CorrelationID in
+-- AssistRequestInstructions may contain a Hex B digit as address signal. Refer to
+-- Annex A.6 for the usage of the Hex B digit.
+--
+-- Note that when CorrelationID is transported in Generic Digits, then the digits shall
+-- always be BCD encoded.
+
+
+-- DpSpecificCriteria notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+DpSpecificCriteria ::= CHOICE
+{
+ applicationTimer [1] ApplicationTimer,
+ midCallControlInfo [2] MidCallControlInfo,
+ dpSpecificCriteriaAlt [3] DpSpecificCriteriaAlt
+}
+
+DpSpecificCriteriaAlt ::= SEQUENCE {
+ ...,
+ changeOfPositionControlInfo [0] ChangeOfPositionControlInfo,
+ numberOfDigits [1] NumberOfDigits OPTIONAL,
+ interDigitTimeout [2] INTEGER (1..127) OPTIONAL
+ }
+-- interDigitTimeout duration in seconds.
+
+DpSpecificInfoAlt ::= SEQUENCE {
+ ...,
+ oServiceChangeSpecificInfo [0] SEQUENCE {
+ ext-basicServiceCode [0] Ext-BasicServiceCode OPTIONAL,
+ ...,
+ initiatorOfServiceChange [1] InitiatorOfServiceChange OPTIONAL,
+ natureOfServiceChange [2] NatureOfServiceChange OPTIONAL
+ },
+ tServiceChangeSpecificInfo [1] SEQUENCE {
+ ext-basicServiceCode [0] Ext-BasicServiceCode OPTIONAL,
+ ...,
+ initiatorOfServiceChange [1] InitiatorOfServiceChange OPTIONAL,
+ natureOfServiceChange [2] NatureOfServiceChange OPTIONAL
+ }
+ }
+-- This datatype is for extension in future releases.
+
+-- ElapsedTime notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ElapsedTime ::= CHOICE
+{
+ timeGPRSIfNoTariffSwitch [0] INTEGER (0..86400),
+ timeGPRSIfTariffSwitch [1] SEQUENCE
+ {
+ timeGPRSSinceLastTariffSwitch [0] INTEGER (0..86400),
+ timeGPRSTariffSwitchInterval [1] INTEGER (0..86400) OPTIONAL
+ }
+}
+
+
+ElapsedTimeRollOver ::= CHOICE {
+ rOTimeGPRSIfNoTariffSwitch [0] INTEGER (0..255),
+ rOTimeGPRSIfTariffSwitch [1] SEQUENCE {
+ rOTimeGPRSSinceLastTariffSwitch [0] INTEGER (0..255) OPTIONAL,
+ rOTimeGPRSTariffSwitchInterval [1] INTEGER (0..255) OPTIONAL
+ }
+}
+
+-- Indicates the EndUserAddress, refer to 3GPP TS 29.060 for the encoding.
+-- The pDPTypeOrganization shall use the least significant 4 bits of the octet encoded.
+-- The sender of this parameter shall set the most significant 4 bits of the octet to 1.
+-- The receiver of this parameter shall ignore the most significant 4 bits of this octet.
+-- Not used anymore, replaced by PDPType
+-- EndUserAddress ::= SEQUENCE
+-- {
+-- pDPTypeOrganization [0] OCTET STRING (SIZE (1)),
+-- pDPTypeNumber [1] OCTET STRING (SIZE (1)),
+-- pDPAddress [2] OCTET STRING (SIZE (cAPSpecificBoundSetminPDPAddressLength..cAPSpecificBoundSetmaxPDPAddressLength)) OPTIONAL
+-- }
+
+-- Indicates the EndUserAddress, refer to 3GPP TS 29.060 [12] for the encoding.
+-- The pDPTypeOrganization shall use the least significant 4 bits of the octet encoded.
+-- The sender of this parameter shall set the most significant 4 bits of the octet to 1.
+-- The receiver of this parameter shall ignore the most significant 4 bits of this octet.
+
+-- ErrorTreatment notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ErrorTreatment ::= ENUMERATED
+{
+ stdErrorAndInfo (0),
+ help (1),
+ repeatPrompt (2)
+}
+
+-- EventSpecificInformationBCSM notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+EventSpecificInformationBCSM ::= CHOICE
+{
+ routeSelectFailureSpecificInfo [2] SEQUENCE {
+ failureCause [0] Cause OPTIONAL,
+ ...
+ },
+ oCalledPartyBusySpecificInfo [3] SEQUENCE {
+ busyCause [0] Cause OPTIONAL,
+ ...
+ },
+ oNoAnswerSpecificInfo [4] SEQUENCE {
+ -- no specific info defined --
+ ...
+ },
+ oAnswerSpecificInfo [5] SEQUENCE {
+ destinationAddress [50] CalledPartyNumber OPTIONAL,
+ or-Call [51] NULL OPTIONAL,
+ forwardedCall [52] NULL OPTIONAL,
+ chargeIndicator [53] ChargeIndicator OPTIONAL,
+ ext-basicServiceCode [54] Ext-BasicServiceCode OPTIONAL,
+ ext-basicServiceCode2 [55] Ext-BasicServiceCode OPTIONAL,
+ ...
+ },
+ oMidCallSpecificInfo [6] SEQUENCE {
+ omidCallEvents [1] CHOICE {
+ dTMFDigitsCompleted [3] Digits,
+ dTMFDigitsTimeOut [4] Digits
+ } OPTIONAL,
+ ...
+ },
+ oDisconnectSpecificInfo [7] SEQUENCE {
+ releaseCause [0] Cause OPTIONAL,
+ ...
+ },
+ tBusySpecificInfo [8] SEQUENCE {
+ busyCause [0] Cause OPTIONAL,
+ callForwarded [50] NULL OPTIONAL,
+ routeNotPermitted [51] NULL OPTIONAL,
+ forwardingDestinationNumber [52] CalledPartyNumber OPTIONAL,
+ ...
+ },
+ tNoAnswerSpecificInfo [9] SEQUENCE {
+ callForwarded [50] NULL OPTIONAL,
+ forwardingDestinationNumber [52] CalledPartyNumber OPTIONAL,
+ ...
+ },
+ tAnswerSpecificInfo [10] SEQUENCE {
+ destinationAddress [50] CalledPartyNumber OPTIONAL,
+ or-Call [51] NULL OPTIONAL,
+ forwardedCall [52] NULL OPTIONAL,
+ chargeIndicator [53] ChargeIndicator OPTIONAL,
+ ext-basicServiceCode [54] Ext-BasicServiceCode OPTIONAL,
+ ext-basicServiceCode2 [55] Ext-BasicServiceCode OPTIONAL,
+ ...
+ },
+ tMidCallSpecificInfo [11] SEQUENCE {
+ tmidCallEvents [1] CHOICE {
+ dTMFDigitsCompleted [3] Digits,
+ dTMFDigitsTimeOut [4] Digits
+ } OPTIONAL,
+ ...
+ },
+ tDisconnectSpecificInfo [12] SEQUENCE {
+ releaseCause [0] Cause OPTIONAL,
+ ...
+ },
+ oTermSeizedSpecificInfo [13] SEQUENCE {
+ locationInformation [50] LocationInformation OPTIONAL,
+ ...
+ },
+ callAcceptedSpecificInfo [20] SEQUENCE {
+ locationInformation [50] LocationInformation OPTIONAL,
+ ...
+ },
+ oAbandonSpecificInfo [21] SEQUENCE {
+ routeNotPermitted [50] NULL OPTIONAL,
+ ...
+ },
+ oChangeOfPositionSpecificInfo [50] SEQUENCE {
+ locationInformation [50] LocationInformation OPTIONAL,
+ ...,
+ metDPCriteriaList [51] MetDPCriteriaList OPTIONAL
+ },
+ tChangeOfPositionSpecificInfo [51] SEQUENCE {
+ locationInformation [50] LocationInformation OPTIONAL,
+ ...,
+ metDPCriteriaList [51] MetDPCriteriaList OPTIONAL
+ },
+ dpSpecificInfoAlt [52] DpSpecificInfoAlt
+}
+
+-- EventSpecificInformationSMS notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+EventSpecificInformationSMS ::= CHOICE
+{
+ o-smsFailureSpecificInfo [0] SEQUENCE
+ {
+ smsfailureCause [0] MO-SMSCause OPTIONAL
+ },
+ o-smsSubmittedSpecificInfo [1] SEQUENCE
+ {
+ -- no specific info defined-
+ foo INTEGER(0) OPTIONAL
+ },
+ t-smsFailureSpecificInfo [2] SEQUENCE {
+ failureMTSMSCause [0] MT-SMSCause OPTIONAL,
+ ...
+ },
+ t-smsDeliverySpecificInfo [3] SEQUENCE {
+ -- no specific info defined-
+ ...
+ }
+}
+
+-- EventTypeBCSM notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+EventTypeBCSM ::= ENUMERATED
+{
+ collectedInfo (2),
+ analyzedInformation (3),
+ routeSelectFailure (4),
+ oCalledPartyBusy (5),
+ oNoAnswer (6),
+ oAnswer (7),
+ oMidCall (8),
+ oDisconnect (9),
+ oAbandon (10),
+ termAttemptAuthorized (12),
+ tBusy (13),
+ tNoAnswer (14),
+ tAnswer (15),
+ tMidCall (16),
+ tDisconnect (17),
+ tAbandon (18),
+ oTermSeized (19),
+ callAccepted (27),
+ oChangeOfPosition (50),
+ tChangeOfPosition (51),
+ ...,
+ oServiceChange (52),
+ tServiceChange (53)
+}
+-- Indicates the BCSM detection point event.
+-- Values collectedInfo, analyzedInformation and termAttemptAuthorized may be used
+-- for TDPs only.
+-- Exception handling: reception of an unrecognized value shall be treated
+-- like reception of no detection point.
+
+-- EventTypeSMS notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+EventTypeSMS ::= ENUMERATED
+{
+ sms-CollectedInfo (1),
+ o-smsFailure (2),
+ o-smsSubmission (3),
+ sms-DeliveryRequested (11),
+ t-smsFailure (12),
+ t-smsDelivery (13)
+}
+-- Values sms-CollectedInfo and sms-DeliveryRequested may be used for TDPs only.
+-- Replace by ExtensionsArray
+--Extensions ::= SEQUENCE SIZE (1..cAPSpecificBoundSetnumOfExtensions) OF ExtensionField
+--
+
+-- FCIBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+FCIBillingChargingCharacteristics ::= CAMEL-FCIBillingChargingCharacteristics
+
+-- FCIGPRSBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+FCIGPRSBillingChargingCharacteristics ::= CAMEL-FCIGPRSBillingChargingCharacteristics
+
+-- shall be the result of the BER-encoded value of type
+-- CAMEL-FCIGPRSBillingChargingCharacteristics
+
+-- FCISMSBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+
+--FCISMSBillingChargingCharacteristics ::= OCTET STRING (SIZE (cAPSpecificBoundSetminFCIBillingChargingLength ..cAPSpecificBoundSetmaxFCIBillingChargingLength ))
+-- (CONSTRAINED BY { shall be the result of the BER-encoded value of type
+-- CAMEL-FCISMSBillingChargingCharacteristics {bound}})
+
+FCISMSBillingChargingCharacteristics ::= CAMEL-FCISMSBillingChargingCharacteristics
+
+-- ForwardServiceInteractionInd notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ForwardServiceInteractionInd ::= SEQUENCE
+{
+ conferenceTreatmentIndicator [1] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- acceptConferenceRequest 'xxxx xx01'B
+ -- rejectConferenceRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect conference treatment
+ callDiversionTreatmentIndicator [2] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- callDiversionAllowed 'xxxx xx01'B
+ -- callDiversionNotAllowed 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect call diversion treatment
+ callingPartyRestrictionIndicator [4] OCTET STRING (SIZE(1)) OPTIONAL,
+ -- noINImpact 'xxxx xx01'B
+ -- presentationRestricted 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect calling party restriction treatment
+...
+}
+
+-- GapCriteria notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+GapCriteria ::= CHOICE
+{
+ basicGapCriteria BasicGapCriteria,
+ compoundGapCriteria CompoundCriteria
+}
+
+
+-- GapIndicators notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+GapIndicators ::= SEQUENCE
+{
+ duration1 [0] Duration,
+ gapInterval [1] Interval,
+ ...
+}
+
+
+
+-- GapOnService notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+GapOnService ::= SEQUENCE
+{
+ serviceKey [0] ServiceKey,
+ ...
+}
+
+
+-- GapTreatment notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+GapTreatment ::= CHOICE
+{
+ informationToSend [0] InformationToSend,
+ releaseCause [1] Cause
+}
+
+-- GenericNumber notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+GenericNumber ::=
+
+
+ OCTET STRING (SIZE (cAPSpecificBoundSetminGenericNumberLength..cAPSpecificBoundSetmaxGenericNumberLength))
+
+-- GenericNumbers notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+GenericNumbers ::=
+
+SET SIZE (1..cAPSpecificBoundSetnumOfGenericNumbers) OF GenericNumber
+
+
+-- GPRS-QoS notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+GPRS-QoS ::= CHOICE
+{
+ short-QoS-format [0] QoS-Subscribed,
+ long-QoS-format [1] Ext-QoS-Subscribed
+}
+
+GPRS-QoS-Extension ::= SEQUENCE {
+ supplement-to-long-QoS-format [0] Ext2-QoS-Subscribed,
+ ...
+ }
+
+-- GPRSCause notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+GPRSCause ::=
+
+ OCTET STRING (SIZE (cAPSpecificBoundSetminGPRSCauseLength..cAPSpecificBoundSetmaxGPRSCauseLength))
+-- 00000000 Unspecified
+-- All other values shall be interpreted as 'Unspecified'.
+--
+-- This parameter indicates the cause for CAP interface related information.
+-- The GPRSCause mapping to/from GTP cause values specified in the 3GPP TS 29.060 [12] and
+-- to/from 3GPP TS 24.008 [9] GMM cause and SM cause values are outside scope of this document.
+
+
+-- GPRSEvent notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+GPRSEvent ::= SEQUENCE
+{
+ gPRSEventType [0] GPRSEventType,
+ monitorMode [1] MonitorMode
+}
+
+-- GPRSEventSpecificInformation notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+GPRSEventSpecificInformation ::= CHOICE
+{
+ attachChangeOfPositionSpecificInformation [0] SEQUENCE
+ {
+ locationInformationGPRS [0] LocationInformationGPRS OPTIONAL,
+ ...
+ },
+ pdp-ContextchangeOfPositionSpecificInformation [1] SEQUENCE
+ {
+ accessPointName [0] AccessPointName OPTIONAL,
+ chargingID [1] GPRSChargingID OPTIONAL,
+ locationInformationGPRS [2] LocationInformationGPRS OPTIONAL,
+ pDPType [3] PDPType OPTIONAL,
+ qualityOfService [4] QualityOfService OPTIONAL,
+ timeAndTimeZone [5] TimeAndTimezone OPTIONAL,
+ ...,
+ gGSNAddress [6] GSN-Address OPTIONAL
+ },
+ detachSpecificInformation [2] SEQUENCE
+ {
+ inititatingEntity [0] InitiatingEntity OPTIONAL,
+ ...,
+ routeingAreaUpdate [1] NULL OPTIONAL
+ },
+ disconnectSpecificInformation [3] SEQUENCE
+ {
+ inititatingEntity [0] InitiatingEntity OPTIONAL,
+ ...,
+ routeingAreaUpdate [1] NULL OPTIONAL
+ },
+ pDPContextEstablishmentSpecificInformation [4] SEQUENCE
+ {
+ accessPointName [0] AccessPointName OPTIONAL,
+ pDPType [1] PDPType OPTIONAL,
+ qualityOfService [2] QualityOfService OPTIONAL,
+ locationInformationGPRS [3] LocationInformationGPRS OPTIONAL,
+ timeAndTimeZone [4] TimeAndTimezone OPTIONAL,
+ pDPInitiationType [5] PDPInitiationType OPTIONAL,
+ ...,
+ secondaryPDPContext [6] NULL OPTIONAL
+ },
+ pDPContextEstablishmentAcknowledgementSpecificInformation [5] SEQUENCE
+ {
+ accessPointName [0] AccessPointName OPTIONAL,
+ chargingID [1] GPRSChargingID OPTIONAL,
+ pDPType [2] PDPType OPTIONAL,
+ qualityOfService [3] QualityOfService OPTIONAL,
+ locationInformationGPRS [4] LocationInformationGPRS OPTIONAL,
+ timeAndTimeZone [5] TimeAndTimezone OPTIONAL,
+ ...,
+ gGSNAddress [6] GSN-Address OPTIONAL
+ }
+}
+
+-- GPRSEventType notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+GPRSEventType ::= ENUMERATED
+{
+ attach (1),
+ attachChangeOfPosition (2),
+ detached (3),
+ pdp-ContextEstablishment (11),
+ pdp-ContextEstablishmentAcknowledgement (12),
+ disconnect (13),
+ pdp-ContextChangeOfPosition (14)
+}
+
+-- GPRSMSClass notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+GPRSMSClass ::= SEQUENCE
+ {
+ mSNetworkCapability [0] MSNetworkCapability,
+ mSRadioAccessCapability [1] MSRadioAccessCapability OPTIONAL
+ }
+
+-- InbandInfo notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+InbandInfo ::= SEQUENCE
+{
+ messageID [0] MessageID,
+ numberOfRepetitions [1] INTEGER (1..127) OPTIONAL,
+ duration2 [2] INTEGER (0..32767) OPTIONAL,
+ interval [3] INTEGER (0..32767) OPTIONAL,
+ ...
+}
+
+
+-- InformationToSend notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+InformationToSend ::= CHOICE
+{
+ inbandInfo [0] InbandInfo,
+ tone [1] Tone
+}
+
+-- InitiatingEntity notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+InitiatingEntity ::= ENUMERATED
+{
+ mobileStation (0),
+ sgsn (1),
+ hlr (2),
+ ggsn (3)
+}
+
+InitiatorOfServiceChange ::= ENUMERATED
+{
+ a-side (0),
+ b-side (1)
+}
+
+-- InvokeID notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+--InvokeID ::= TCInvokeIdSet
+InvokeID ::= InvokeIdType
+
+-- IPRoutingAddress notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+IPRoutingAddress ::= CalledPartyNumber
+
+-- IPSSPCapabilities notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+IPSSPCapabilities ::=
+
+OCTET STRING (SIZE (cAPSpecificBoundSetminIPSSPCapabilitiesLength..cAPSpecificBoundSetmaxIPSSPCapabilitiesLength ))
+-- Indicates the gsmSRF resources available. The parameter has two parts, a standard and a
+-- bilateral part. The standard part indicates capabilities defined as optional in CAP
+-- that shall be recognised (but not necessarily supported) by a gsmSCF. The bilateral
+-- part contains further information that is not specified in this standard, but which is set
+-- according to bilateral agreements between network operators and/or equipment vendors.
+-- The last octet of the standard part is indicated by bit 7 being set to 0, otherwise Bit 7 of
+-- a standard part octet is set to 1 indicating that the standard part continues in the following
+-- octet. Coding is as follows:
+
+-- Octet 1 Standard Part for CAP
+-- Bit Value Meaning
+-- 0 0 IPRoutingAddress not supported
+-- 1 IPRoutingAddress supported
+-- 1 0 VoiceBack not supported
+-- 1 VoiceBack supported
+-- 2 0 VoiceInformation not supported, via speech recognition
+-- 1 VoiceInformation supported, via speech recognition
+-- 3 0 VoiceInformation not supported, via voice recognition
+-- 1 VoiceInformation supported, via voice recognition
+-- 4 0 Generation of voice announcements from Text not supported
+-- 1 Generation of voice announcements from Text supported
+-- 5 - Reserved
+-- 6 - Reserved
+-- 7 0 End of standard part
+-- 1 This value is reserved in CAP
+--
+-- Octets 2 to 4 Bilateral Part: Network operator/equipment vendor specific
+
+LegOrCallSegment ::= CHOICE {
+ callSegmentID [0] CallSegmentID,
+ legID [1] LegID
+ }
+
+-- LegType notes: not recursive, exported,
+-- locally refd 6 times, import refd 0 times
+LegType ::= OCTET STRING (SIZE(1))
+
+-- LocationInformationGPRS notes: not recursive, exported,
+-- locally refd 6 times, import refd 0 times
+LocationInformationGPRS ::= SEQUENCE
+{
+ cellGlobalIdOrServiceAreaIdOrLAI [0] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
+ routeingAreaIdentity [1] RAIdentity OPTIONAL,
+ geographicalInformation [2] GeographicalInformation OPTIONAL,
+ sgsn-Number [3] ISDN-AddressString OPTIONAL,
+ selectedLSAIdentity [4] LSAIdentity OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ ...,
+ saiPresent [6] NULL OPTIONAL
+}
+-- cellGlobalIdOrServiceAreaIdOrLAI shall contain the value part of the
+-- CellGlobalIdOrServiceAreaIdFixedLength type or the LAIFixedLength type (i.e. excluding tags
+-- and lengths) as defined in 3GPP TS 29.002 [13].
+-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
+-- a Service Area Identity.
+
+-- LocationNumber notes: not recursive, exported,
+-- locally refd 4 times, import refd 0 times
+LocationNumber ::=
+
+ OCTET STRING (SIZE (cAPSpecificBoundSetminLocationNumberLength ..cAPSpecificBoundSetmaxLocationNumberLength ))
+-- Indicates the Location Number for the calling party.
+-- Refer to ETSI EN 300 356-1 [23] for encoding.
+
+LowLayerCompatibility ::=
+OCTET STRING (SIZE (cAPSpecificBoundSetminLowLayerCompatibilityLength .. cAPSpecificBoundSetmaxLowLayerCompatibilityLength ))
+-- indicates the LowLayerCompatibility for the calling party.
+-- Refer to 3GPP TS 24.008 [9] for encoding.
+-- It shall be coded as in the value part defined in 3GPP TS 24.008.
+-- i.e. the 3GPP TS 24.008 IEI and 3GPP TS 24.008 octet length indicator
+-- shall not be included.
+
+-- MessageID notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+MessageID ::= CHOICE
+{
+ elementaryMessageID [0] Integer4,
+ text [1] SEQUENCE
+ {
+ messageContent [0]
+
+ IA5String (SIZE (cAPSpecificBoundSetminMessageContentLength..cAPSpecificBoundSetmaxMessageContentLength)),
+ attributes [1]
+
+ OCTET STRING (SIZE (cAPSpecificBoundSetminAttributesLength..cAPSpecificBoundSetmaxAttributesLength)) OPTIONAL
+ },
+ elementaryMessageIDs [29]
+
+ SEQUENCE SIZE (1..cAPSpecificBoundSetnumOfMessageIDs) OF Integer4,
+ variableMessage [30] SEQUENCE
+ {
+ elementaryMessageID [0] Integer4,
+ variableParts [1] VariablePartsArray
+ }
+}
+-- Use of the text parameter is network operator/equipment vendor specific.
+
+MetDPCriteriaList ::= SEQUENCE SIZE(1..cAPSpecificBoundsSetnumOfChangeOfPositionControlInf) OF MetDPCriterion
+
+MetDPCriterion ::= CHOICE {
+ enteringCellGlobalId [0] CellGlobalIdOrServiceAreaIdFixedLength,
+ leavingCellGlobalId [1] CellGlobalIdOrServiceAreaIdFixedLength,
+ enteringServiceAreaId [2] CellGlobalIdOrServiceAreaIdFixedLength,
+ leavingServiceAreaId [3] CellGlobalIdOrServiceAreaIdFixedLength,
+ enteringLocationAreaId [4] LAIFixedLength,
+ leavingLocationAreaId [5] LAIFixedLength,
+ inter-SystemHandOverToUMTS [6] NULL,
+ inter-SystemHandOverToGSM [7] NULL,
+ inter-PLMNHandOver [8] NULL,
+ inter-MSCHandOver [9] NULL,
+ metDPCriterionAlt [10] MetDPCriterionAlt
+}
+-- The enteringCellGlobalId and leavingCellGlobalId shall contain a Cell Global Identification.
+-- The enteringServiceAreaId and leavingServiceAreaId shall contain a Service Area Identification.
+
+MetDPCriterionAlt ::= SEQUENCE {
+ ...
+ }
+
+MidCallControlInfo ::= SEQUENCE {
+ minimumNumberOfDigits [0] INTEGER (1..30) DEFAULT 1,
+ maximumNumberOfDigits [1] INTEGER (1..30) DEFAULT 30,
+ endOfReplyDigit [2] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ cancelDigit [3] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ startDigit [4] OCTET STRING (SIZE (1..2)) OPTIONAL,
+ interDigitTimeout [6] INTEGER (1..127) DEFAULT 10,
+ ...
+ }
+--
+-- - minimumNumberOfDigits specifies the minumum number of digits that shall be collected
+-- - maximumNumberOfDigits specifies the maximum number of digits that shall be collected
+-- - endOfReplyDigit specifies the digit string that denotes the end of the digits
+-- to be collected.
+-- - cancelDigit specifies the digit string that indicates that the input shall
+-- be erased and digit collection shall start afresh.
+-- - startDigit specifies the digit string that denotes the start of the digits
+-- to be collected.
+-- - interDigitTimeout specifies the maximum duration in seconds between successive
+-- digits.
+--
+-- endOfReplyDigit, cancelDigit and startDigit shall contain digits in the range 0..9, '*' and '#'
+-- only. The collected digits string, reported to the gsmSCF, shall include the endOfReplyDigit and
+-- the startDigit, if present.
+--
+-- endOfReplyDigit, cancelDigit and startDigit shall be encoded as BCD digits. Each octet shall
+-- contain one BCD digit, in the 4 least significant bits of each octet.
+-- The following encoding shall be used for the over-decadic digits: 1011 (*), 1100 (#).
+
+
+
+
+-- MonitorMode notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+MonitorMode ::= ENUMERATED
+{
+ interrupted (0),
+ notifyAndContinue (1),
+ transparent (2)
+}
+-- Indicates the event is relayed and/or processed by the SSP.
+-- Transparent means that the gsmSSF or gprsSSF does not notify the gsmSCF of the event.
+-- For the use of this parameter refer to the procedure descriptions in clause 11.
+-- For the RequestNotificationCharging operation, 'interrupted' shall not be used in MonitorMode.
+
+-- MO-SMSCause notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+MO-SMSCause ::= ENUMERATED {
+ systemFailure (0),
+ unexpectedDataValue (1),
+ facilityNotSupported (2),
+ sM-DeliveryFailure (3),
+ releaseFromRadioInterface (4)
+ }
+MT-SMSCause ::= OCTET STRING (SIZE (1))
+-- This variable is sent to the gsmSCF for a Short Message delivery failure
+-- notification.
+-- If the delivery failure is due to RP-ERROR RPDU received from the MS,
+-- then MT-SMSCause shall be set to the RP-Cause component in the RP-ERROR RPDU.
+-- Refer to 3GPP TS 24.011 [10] for the encoding of RP-Cause values.
+-- Otherwise, if the delivery failure is due to internal failure in the MSC or SGSN
+-- or time-out from the MS, then MT-SMSCause shall be set to 'Protocol error,
+-- unspecified', as defined in 3GPP TS 24.011 [10].
+
+
+
+
+-- MSNetworkCapability notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+MSNetworkCapability ::=
+
+OCTET STRING (SIZE (1..8))
+-- MS Network Capability describes the GPRS terminal capabilites related to the network, i.e. SMS
+-- point to point service over packet data channels. For encoding refer to 3GPP TS 24.008 [12].
+-- It shall contain the value part defined in 3GPP TS 24.008 only. I.e. the 3GPP TS 24.008 IEI
+-- and 3GPP TS 24.008 octet length indicator shall not be included.
+
+
+-- MSRadioAccessCapability notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+MSRadioAccessCapability ::=
+
+OCTET STRING (SIZE (1..50))
+-- MS Radio Access Capability describes the terminal capabilites relevant for the radio network,
+-- which may affect the way the network handles the mobile.
+-- For encoding refer to 3GPP TS 24.008 [12].
+-- It shall contain the value part defined in 3GPP TS 24.008 only. I.e. the 3GPP TS 24.008 IEI
+-- and 3GPP TS 24.008 octet length indicator shall not be included.
+
+
+-- NAOliInfo notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+NAOliInfo ::=
+
+OCTET STRING (SIZE (1))
+-- NA Oli information takes the same value as defined in ANSI T1.113-1995 [92]
+-- e.g. '3D'H - Decimal value 61 - Cellular Service (Type 1)
+-- '3E'H - Decimal value 62 - Cellular Service (Type 2)
+-- '3F'H - Decimal value 63 - Cellular Service (roaming)
+
+NatureOfServiceChange ::= ENUMERATED {
+ userInitiated (0),
+ networkInitiated (1)
+}
+
+NumberOfDigits ::= INTEGER (1..255)
+-- Indicates the number of digits to be collected.
+
+
+-- OCSIApplicable notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+OCSIApplicable ::= NULL
+-- Indicates that the Originating CAMEL Subscription Information, if present, shall be
+-- applied on the outgoing call leg created with a Connect operation. For the use of this
+-- parameter see 3GPP TS 23.078 [7].
+
+-- OriginalCalledPartyID notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+OriginalCalledPartyID ::=
+
+OCTET STRING (SIZE (cAPSpecificBoundSetminOriginalCalledPartyIDLength ..cAPSpecificBoundSetmaxOriginalCalledPartyIDLength ))
+
+
+
+-- PDPId notes: not recursive, exported,
+-- locally refd 11 times, import refd 0 times
+PDPId ::=
+
+OCTET STRING (SIZE (1))
+
+-- PDPInitiationType notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+PDPInitiationType ::= ENUMERATED
+{
+ mSInitiated (0),
+ networkInitiated (1)
+}
+
+-- QualityOfService notes: not recursive, exported,
+-- locally refd 5 times, import refd 0 times
+QualityOfService ::=
+ SEQUENCE
+{
+ requested-QoS [0] GPRS-QoS OPTIONAL,
+ subscribed-QoS [1] GPRS-QoS OPTIONAL,
+ negotiated-QoS [2] GPRS-QoS OPTIONAL,
+ ...,
+ requested-QoS-Extension [3] GPRS-QoS-Extension OPTIONAL,
+ subscribed-QoS-Extension [4] GPRS-QoS-Extension OPTIONAL,
+ negotiated-QoS-Extension [5] GPRS-QoS-Extension OPTIONAL
+}
+
+-- ReceivingSideID notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+ReceivingSideID ::= CHOICE
+{
+ receivingSideID [1] LegType
+}
+
+-- RedirectingPartyID notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+RedirectingPartyID ::=
+
+OCTET STRING (SIZE (cAPSpecificBoundSetminRedirectingPartyIDLength ..cAPSpecificBoundSetmaxRedirectingPartyIDLength ))
+-- Indicates redirecting number.
+-- Refer to ETSI EN 300 356-1 [23] Redirecting number for encoding.
+
+
+-- RequestedInformationList notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+RequestedInformationList ::=
+
+SEQUENCE SIZE (1..numOfInfoItems) OF RequestedInformation
+
+-- RequestedInformationTypeList notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+RequestedInformationTypeList ::=
+
+SEQUENCE SIZE (1..numOfInfoItems) OF RequestedInformationType
+
+-- RequestedInformation notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+RequestedInformation ::= SEQUENCE
+{
+ requestedInformationType [0] RequestedInformationType,
+ requestedInformationValue [1] RequestedInformationValue
+}
+
+-- RequestedInformationType notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+RequestedInformationType ::= ENUMERATED
+{
+ callAttemptElapsedTime (0),
+ callStopTime (1),
+ callConnectedElapsedTime (2),
+ releaseCause (30)
+}
+
+-- RequestedInformationValue notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+RequestedInformationValue ::= CHOICE
+{
+ callAttemptElapsedTimeValue [0] INTEGER (0..255),
+ callStopTimeValue [1] DateAndTime,
+ callConnectedElapsedTimeValue [2] Integer4,
+ releaseCauseValue [30] Cause
+}
+
+-- RPCause notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+RPCause ::=
+
+OCTET STRING (SIZE (1))
+-- RP cause according to 3GPP TS 24.011 [10] or 3GPP TS 29.002 [11].
+-- GsmSCF shall send this cause in the ReleaseSMS operation.
+-- For a MO-SMS service, the MSC or SGSN shall send the RP Cause to the originating MS.
+-- It shall be used to overwrite the RP-Cause element in the RP-ERROR RPDU.
+-- For a MT-SMS service, the MSC or SGSN shall send the RP Cause to the sending SMS-GMSC.
+-- It shall be used to overwrite the RP-Cause element in the RP-ERROR RPDU.
+
+-- ScfID notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+ScfID ::=
+
+OCTET STRING (SIZE (cAPSpecificBoundSetminScfIDLength..cAPSpecificBoundSetmaxScfIDLength ))
+
+-- SCIBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+SCIBillingChargingCharacteristics ::=
+
+OCTET STRING (SIZE (cAPSpecificBoundSetminSCIBillingChargingLength ..cAPSpecificBoundSetmaxSCIBillingChargingLength ))
+
+-- SCIGPRSBillingChargingCharacteristics notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+SCIGPRSBillingChargingCharacteristics ::=
+
+OCTET STRING (SIZE (cAPSpecificBoundSetminSCIBillingChargingLength ..cAPSpecificBoundSetmaxSCIBillingChargingLength ))
+
+-- SendingSideID notes: not recursive, exported,
+-- locally refd 4 times, import refd 0 times
+SendingSideID ::= CHOICE
+{
+ sendingSideID [0] LegType
+}
+
+-- ServiceInteractionIndicatorsTwo notes: not recursive, exported,
+-- locally refd 5 times, import refd 0 times
+ServiceInteractionIndicatorsTwo ::= SEQUENCE
+{
+ forwardServiceInteractionInd [0] ForwardServiceInteractionInd OPTIONAL,
+ backwardServiceInteractionInd [1] BackwardServiceInteractionInd OPTIONAL,
+ bothwayThroughConnectionInd [2] BothwayThroughConnectionInd OPTIONAL,
+ connectedNumberTreatmentInd [4] ConnectedNumberTreatmentInd OPTIONAL,
+ nonCUGCall [13] NULL OPTIONAL,
+ -- applicable to Connect and ContinueWithArgument
+ -- indicates that no parameters for CUG shall be used for the call (i.e. the call shall
+ -- be a non-CUG call).
+ -- If not present, it indicates one of three things:
+ -- a) continue with modified CUG information (when one or more of either CUG Interlock Code
+ -- and Outgoing Access Indicator are present), or
+ -- b) continue with original CUG information (when neither CUG Interlock Code or Outgoing
+ -- Access Indicator are present), i.e. no IN impact.
+ -- c) continue with the original non-CUG call.
+ holdTreatmentIndicator [50] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- applicable to InitialDP, Connect and ContinueWithArgument
+ -- acceptHoldRequest 'xxxx xx01'B
+ -- rejectHoldRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect call hold treatment
+ cwTreatmentIndicator [51] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- applicable to InitialDP, Connect and ContinueWithArgument
+ -- acceptCw 'xxxx xx01'B
+ -- rejectCw 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect call waiting treatment
+ ectTreatmentIndicator [52] OCTET STRING (SIZE (1)) OPTIONAL,
+ -- applicable to InitialDP, Connect and ContinueWithArgument
+ -- acceptEctRequest 'xxxx xx01'B
+ -- rejectEctRequest 'xxxx xx10'B
+ -- if absent from Connect or ContinueWithArgument,
+ -- then CAMEL service does not affect explicit call transfer treatment
+ ...
+}
+
+-- SGSNCapabilities notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+SGSNCapabilities ::=
+
+
+OCTET STRING (SIZE (1))
+-- Indicates the SGSN capabilities. The coding of the parameter is as follows:
+-- Bit Value Meaning
+-- 0 0 AoC not supported by SGSN
+-- 1 AoC supported by SGSN
+-- 1 - This bit is reserved in CAP V.3
+-- 2 - This bit is reserved in CAP V.3
+-- 3 - This bit is reserved in CAP V.3
+-- 4 - This bit is reserved in CAP V.3
+-- 5 - This bit is reserved in CAP V.3
+-- 6 - This bit is reserved in CAP V.3
+-- 7 - This bit is reserved in CAP V.3
+
+SMS-AddressString ::= AddressString
+-- (SIZE (1 .. maxSMS-AddressStringLength))
+-- This data type is used to transport CallingPartyNumber for MT-SMS.
+-- If this data type is used for MO-SMS, then the maximum number of digits shall be 16.
+-- An SMS-AddressString may contain an alphanumeric character string. In this
+-- case, a nature of address indicator '101'B is used, in accordance with
+-- 3GPP TS 23.040 [6]. The address is coded in accordance with the GSM 7-bit
+-- default alphabet definition and the SMS packing rules as specified in
+-- 3GPP TS 23.038 [15] in this case.
+-- maxSMS-AddressStringLength INTEGER ::= 11
+
+SMSEvent ::= SEQUENCE
+{
+ eventTypeSMS [0] EventTypeSMS,
+ monitorMode [1] MonitorMode
+}
+
+-- TimeAndTimezone notes: not recursive, exported,
+-- locally refd 7 times, import refd 0 times
+TimeAndTimezone ::=
+ OCTET STRING (SIZE (cAPSpecificBoundSetminTimeAndTimezoneLength..cAPSpecificBoundSetmaxTimeAndTimezoneLength))
+-- Indicates the time and timezone, relative to GMT. This parameter is BCD encoded.
+-- The year digit indicating millenium occupies bits 0-3 of the first octet, and the year
+-- digit indicating century occupies bits 4-7 of the first octet.
+-- The year digit indicating decade occupies bits 0-3 of the second octet, whilst the digit
+-- indicating the year within the decade occupies bits 4-7 of the second octet.
+-- The most significant month digit occupies bits 0-3 of the third octet, and the least
+-- significant month digit occupies bits 4-7 of the third octet.
+-- The most significant day digit occupies bits 0-3 of the fourth octet, and the least
+-- significant day digit occupies bits 4-7 of the fourth octet.
+-- The most significant hours digit occupies bits 0-3 of the fifth octet, and the least
+-- significant hours digit occupies bits 4-7 of the fifth octet.
+-- The most significant minutes digit occupies bits 0-3 of the sixth octet, and the least
+-- significant minutes digit occupies bits 4-7 of the sixth octet.
+-- The most significant seconds digit occupies bits 0-3 of the seventh octet, and the least
+-- significant seconds digit occupies bits 4-7 of the seventh octet.
+--
+-- The timezone information occupies the eighth octet. For the encoding of Timezone refer to
+-- 3GPP TS 23.040 [6].
+--
+-- The BCD digits are packed and encoded as follows:
+--
+-- Bit 7 6 5 4 | 3 2 1 0
+-- 2nd digit | 1st digit Octet 1
+-- 3rd digit | 4th digit Octet 2
+-- .. ..
+-- nth digit | n-1th digit Octet m
+--
+-- 0000 digit 0
+-- 0001 digit 1
+-- 0010 digit 2
+-- 0011 digit 3
+-- 0100 digit 4
+-- 0101 digit 5
+-- 0110 digit 6
+-- 0111 digit 7
+-- 1000 digit 8
+-- 1001 digit 9
+-- 1010 spare
+-- 1011 spare
+-- 1100 spare
+-- 1101 spare
+-- 1110 spare
+-- 1101 spare
+--
+-- where the leftmost bit of the digit is either bit 7 or bit 3 of the octet.
+
+-- TimeIfNoTariffSwitch notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+TimeIfNoTariffSwitch ::= INTEGER (0..864000)
+
+-- TimeIfTariffSwitch notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+TimeIfTariffSwitch ::= SEQUENCE
+{
+ timeSinceTariffSwitch [0] INTEGER (0..864000),
+ tttariffSwitchInterval [1] INTEGER (1..864000) OPTIONAL
+}
+
+-- TimeInformation notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+TimeInformation ::= CHOICE
+{
+ timeIfNoTariffSwitch [0] TimeIfNoTariffSwitch,
+ timeIfTariffSwitch [1] TimeIfTariffSwitch
+}
+
+
+-- TimerID notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+TimerID ::= ENUMERATED
+{
+ tssf (0)
+}
+
+-- TimerValue notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+TimerValue ::= Integer4
+
+
+-- Tone notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+Tone ::= SEQUENCE
+{
+ toneID [0] Integer4,
+ duration3 [1] Integer4 OPTIONAL
+}
+
+-- TPDataCodingScheme notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+TPDataCodingScheme ::=
+
+OCTET STRING (SIZE (1))
+-- TP Data Coding Scheme according to 3GPP TS 23.040 [6]
+
+-- TPProtocolIdentifier notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+TPProtocolIdentifier ::= OCTET STRING (SIZE (1))
+-- indicates the protocol used above the SM-Transfer Layer as specified in 3GPP TS 23.040 [6].
+
+TPShortMessageSpecificInfo ::= OCTET STRING (SIZE (1))
+-- contains the 1st octect of the applicable TPDU or the SMS-COMMAND TPDU as specified in
+-- 3GPP TS 23.040 [6].
+
+
+-- TPValidityPeriod notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+TPValidityPeriod ::= OCTET STRING (SIZE (1..7))
+-- indicates the length of the validity period or the absolute time of the validity
+-- period termination as specified in 3GPP TS 23.040 [6].
+-- the length of ValidityPeriod is either 1 octet or 7 octets
+
+-- TransferredVolume notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+TransferredVolume ::= CHOICE
+{
+ volumeIfNoTariffSwitch [0] INTEGER (0..4294967295),
+ volumeIfTariffSwitch [1] SEQUENCE
+ {
+ volumeSinceLastTariffSwitch [0] INTEGER (0..4294967295),
+ volumeTariffSwitchInterval [1] INTEGER (0..4294967295) OPTIONAL
+ }
+}
+-- volumeIfNoTariffSwitch, volumeSinceLastTariffSwitch and volumeTariffSwitchInterval
+-- are measured in bytes.
+
+
+TransferredVolumeRollOver ::= CHOICE {
+ rOVolumeIfNoTariffSwitch [0] INTEGER (0.. 255),
+ rOVolumeIfTariffSwitch [1] SEQUENCE {
+ rOVolumeSinceLastTariffSwitch [0] INTEGER (0.. 255) OPTIONAL,
+ rOVolumeTariffSwitchInterval [1] INTEGER (0.. 255) OPTIONAL
+ }
+}
+-- rO-VolumeIfNoTariffSwitch, rO-VolumeSinceLastTariffSwitch and rO-VolumeTariffSwitchInterval
+-- present counters indicating the number of parameter range rollovers.
+
+UnavailableNetworkResource ::= ENUMERATED {
+ unavailableResources (0),
+ componentFailure (1),
+ basicCallProcessingException (2),
+ resourceStatusFailure (3),
+ endUserFailure (4)
+}
+-- Indicates the network resource that failed.
+
+-- VariablePart notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+VariablePart ::= CHOICE
+{
+ integer [0] Integer4,
+ number [1] Digits,
+ time [2]
+ OCTET STRING (SIZE (2)),
+ date [3]
+ OCTET STRING (SIZE (4)),
+ price [4]
+ OCTET STRING (SIZE (4))
+}
+-- Indicates the variable part of the message. Time is BCD encoded.
+-- The most significant hours digit occupies bits 0-3 of the first octet, and the least
+-- significant digit occupies bits 4-7 of the first octet. The most significant minutes digit
+-- occupies bits 0-3 of the second octet, and the least significant digit occupies bits 4-7
+-- of the second octet.
+--
+-- Date is BCD encoded. The year digit indicating millenium occupies bits 0-3 of the first octet,
+-- and the year digit indicating century occupies bits 4-7 of the first octet. The year digit
+-- indicating decade occupies bits 0-3 of the second octet, whilst the digit indicating the year
+-- within the decade occupies bits 4-7 of the second octet.
+-- The most significant month digit occupies bits 0-3 of the third octet, and the least
+-- significant month digit occupies bits 4-7 of the third octet. The most significant day digit
+-- occupies bits 0-3 of the fourth octet, and the least significant day digit occupies bits 4-7
+-- of the fourth octet.
+-- Price is BCD encoded. The digit indicating hundreds of thousands occupies bits 0-3 of the
+-- first octet, and the digit indicating tens of thousands occupies bits 4-7 of the first octet.
+-- The digit indicating thousands occupies bits 0-3 of the second octet, whilst the digit
+-- indicating hundreds occupies bits 4-7 of the second octet. The digit indicating tens occupies
+-- bits 0-3 of the third octet, and the digit indicating 0 to 9 occupies bits 4-7 of the third
+-- octet. The tenths digit occupies bits 0-3 of the fourth octet, and the hundredths digit
+-- occupies bits 4-7 of the fourth octet.
+--
+-- For the encoding of digits in an octet, refer to the timeAndtimezone parameter
+
+-- SpecializedResourceReportArg notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+-- SpecializedResourceReportArg ::= NULL
+SpecializedResourceReportArg ::= CHOICE {
+ allAnnouncementsComplete [50] NULL,
+ firstAnnouncementStarted [51] NULL
+}
+
+-- CUG-Interlock notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+-- imported from gsmmap
+-- CUG-Interlock ::= OCTET STRING (SIZE (4))
+
+-- CUG-Index notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+-- imported from gsmmap
+-- CUG-Index ::= INTEGER (0..32767)
+
+-- CallReferenceNumber notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CallReferenceNumber ::= OCTET STRING (SIZE (1..8))
+
+-- SuppressionOfAnnouncement notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+SuppressionOfAnnouncement ::= NULL
+
+-- NotReachableReason notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+NotReachableReason ::= ENUMERATED
+{
+ msPurged (0),
+ imsiDetached (1),
+ restrictedArea (2),
+ notRegistred (3)
+}
+
+-- AddressString notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+AddressString ::=
+
+
+ OCTET STRING (SIZE(1..maxAddressLength))
+
+-- LAIFixedLength notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+-- IMPORTED fom GSM MAP
+-- LAIFixedLength ::= OCTET STRING (SIZE (5))
+ -- Refers to Location Area Identification defined in TS GSM 03.03.
+ -- Octets ares encoded according to TS GSM 04.08.
+ -- The internal structure is defined as follows:
+ -- Mobile Country Code: 3 digits according to CCITT Rec E.212.
+ -- 1 digits filler (1111)
+ -- Mobile Network Code: 2 digits according to CCITT Rec E.212.
+ -- Location Area Code: 2 octets according to TS GSM 04.08.
+
+
+-- ServiceKey notes: not recursive, exported,
+-- locally refd 6 times, import refd 0 times
+ServiceKey ::= INTEGER (0..2147483647)
+
+
+-- Duration notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+Duration ::= INTEGER (-2..86400)
+
+-- Integer4 notes: not recursive, exported,
+-- locally refd 8 times, import refd 0 times
+Integer4 ::= INTEGER (0..2147483647)
+
+-- Interval notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+Interval ::= INTEGER (-1..60000)
+
+-- CallingPartysCategory notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+CallingPartysCategory ::=
+
+OCTET STRING (SIZE (1))
+
+-- RedirectionInformation notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+RedirectionInformation ::=
+
+ OCTET STRING (SIZE (2))
+
+-- HighLayerCompatibility notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+HighLayerCompatibility ::=
+
+OCTET STRING (SIZE (highLayerCompatibilityLength))
+
+-- BothwayThroughConnectionInd notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+BothwayThroughConnectionInd ::= ENUMERATED
+{
+ bothwayPathRequired (0),
+ bothwayPathNotRequired (1)
+}
+
+
+-- TCInvokeIdSet notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+-- TCInvokeIdSet ::= INTEGER (-128..127)
+
+-- ExtensionSetExtensionType notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+-- FIXME: add to decode this: ExtensionSetExtensionType ::= ANY
+
+
+-- ExtensionSetextensionId notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ExtensionSetextensionId ::= OBJECT IDENTIFIER
+
+
+-- Import from GSM MAP
+-- GSN-Address ::= OCTET STRING (SIZE (5..17))
+
+
+
+-- PDPType notes: not recursive, exported,
+-- locally refd 5 times, import refd 0 times
+-- Equivalent to EndUserAddress
+PDPType ::= SEQUENCE
+{
+ pDPTypeOrganization [0] PDPTypeOrganization,
+ pDPTypeNumber [1] PDPTypeNumber,
+ pDPAddress [2] PDPAddress OPTIONAL
+}
+
+PDPTypeOrganization ::= OCTET STRING (SIZE (1))
+
+PDPTypeNumber ::= OCTET STRING (SIZE (1))
+
+PDPAddress ::= OCTET STRING (SIZE (cAPSpecificBoundSetminPDPAddressLength..cAPSpecificBoundSetmaxPDPAddressLength))
+
+-- Indicates the PDPType, refer to 3GPP TS 29.060 for the encoding.
+-- The pDPTypeOrganization shall use the least significant 4 bits of the octet encoded.
+-- The sender of this parameter shall set the most significant 4 bit of the octet to 0.
+-- The receiver of this parameter shall ignore the most significant 4 bits of this octet.
+-- TS 29.060 "The PDP Type Organisation and PDP Type Number are encoded as in the End User Address information element."
+
+-- Code notes: not recursive, exported,
+-- locally refd 63 times, import refd 0 times
+Code ::= CHOICE
+{
+ local INTEGER,
+ global OBJECT IDENTIFIER
+}
+
+-- PCS-Extensions notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+PCS-Extensions ::= SEQUENCE
+{
+ foo INTEGER (0) OPTIONAL
+}
+
+
+
+-- MiscCallInfo notes: not recursive, exported,
+-- locally refd 3 times, import refd 0 times
+MiscCallInfo ::= SEQUENCE
+{
+ messageType [0] ENUMERATED
+ {
+ request (0),
+ notification (1)
+ }
+}
+
+-- SupportedExtensionsExtensionType notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+SupportedExtensionsExtensionType ::= CHOICE
+{
+ firstExtensionExtensionType NULL --,
+ -- secondExtensionExtensionType NULL
+}
+
+-- PrivateExtension notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+PrivateExtension ::= SEQUENCE
+{
+ extId ExtensionSetextensionId
+ -- FIXME: add to decode this: extType ExtensionSetExtensionType OPTIONAL
+}
+
+
+FreeFormatData ::=
+
+OCTET STRING (SIZE (cAPSpecificBoundSetminSCIBillingChargingLength..cAPSpecificBoundSetmaxSCIBillingChargingLength ))
+
+
+-- The endOfReplyDigit, cancelDigit, and startDigit parameters have been
+-- designated as OCTET STRING, and are to be encoded as BCD, one digit per octet
+-- only, contained in the four least significant bits of each OCTET. The following encoding shall
+-- be applied for the non-decimal characters:
+-- 1011 (*), 1100 (#).
+
+
+
+-- ApplyChargingReportArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CallresultoctetPDU ::= OCTET STRING (SIZE (cAPSpecificBoundSetminCallResultLength..cAPSpecificBoundSetmaxCallResultLength))
+
+--ApplyChargingReportArg ::= SEQUENCE {
+-- callresultOctet CallresultoctetPDU
+-- }
+-- (
+-- CONTAINING CamelCallResult
+-- ENCODED BY enc-BER
+-- )
+
+-- CallResult type
+ApplyChargingReportArg ::= SEQUENCE {
+ callresultOctet CAMEL-CallResult
+ }
+
+-- CancelArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CancelArg ::=
+
+CHOICE
+{
+ callInvokeID [0] InvokeID,
+ allRequests [1] NULL,
+ callSegmentToCancel [2] CallSegmentToCancel
+
+}
+
+CollectInformationArg ::= SEQUENCE {
+ extensions [0] ExtensionsArray OPTIONAL,
+ ...
+ }
+
+-- FurnishChargingInformationArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+FurnishChargingInformationArg ::= CAMEL-FCIBillingChargingCharacteristics
+
+-- FCIBillingChargingCharacteristics type.
+
+-- ReleaseCallArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+-- ReleaseCallArg ::= OCTET STRING (SIZE (minCauseLength..32))
+ReleaseCallArg ::= Q850Cause
+
+Q850Cause ::=OCTET STRING (SIZE (cAPSpecificBoundSetminCauseLength..cAPSpecificBoundSetminCauseLength))
+
+-- Cause notes: not recursive, exported,
+-- locally refd 10 times, import refd 0 times
+Cause ::= OCTET STRING (SIZE (cAPSpecificBoundSetminCauseLength..cAPSpecificBoundSetmaxCauseLength))
+
+--
+-- ReceivedInformationArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ReceivedInformationArg ::=
+
+CHOICE
+{
+ digitsResponse [0] Digits
+}
+
+-- FurnishChargingInformationSMSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+FurnishChargingInformationSMSArg ::=
+
+
+OCTET STRING (SIZE (5..225))
+-- FCISMSBillingChargingCharacteristics type.
+
+
+-- ConnectGPRSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ConnectGPRSArg ::=
+
+ SEQUENCE
+{
+ accessPointName [0] AccessPointName,
+ pdpID [1] PDPId OPTIONAL,
+ ...
+}
+
+
+
+-- EntityReleasedGPRSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+EntityReleasedGPRSArg ::=
+
+ SEQUENCE
+{
+ gPRSCause [0] GPRSCause,
+ pDPID [1] PDPId OPTIONAL,
+ ...
+}
+
+-- ReleaseGPRSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ReleaseGPRSArg ::=
+
+ SEQUENCE
+{
+ gprsCause [0] GPRSCause,
+ pDPID [1] PDPId OPTIONAL,
+ ...
+}
+
+-- RequestReportGPRSEventArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+RequestReportGPRSEventArg ::=
+
+ SEQUENCE
+{
+ gPRSEvent [0] GPRSEventArray,
+ pDPID [1] PDPId OPTIONAL,
+ ...
+}
+
+GPRSEventArray ::=
+ SEQUENCE SIZE (1..cAPSpecificBoundSetnumOfGPRSEvents) OF GPRSEvent
+
+-- SendChargingInformationGPRSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+SendChargingInformationGPRSArg ::=
+
+ SEQUENCE
+{
+ sCIGPRSBillingChargingCharacteristics [0] SCIGPRSBillingChargingCharacteristics,
+ ...
+}
+
+
+
+-- SubscriberState notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+SubscriberState ::=
+CHOICE
+{
+ assumedIdle [0] NULL,
+ camelBusy [1] NULL,
+ netDetNotReachable NotReachableReason,
+ notProvidedFromVLR [2] NULL
+}
+
+-- PrivateExtensionList notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+PrivateExtensionList ::=
+
+SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF PrivateExtension
+
+-- ISDN-AddressString notes: not recursive, exported,
+-- locally refd 9 times, import refd 0 times
+ISDN-AddressString ::= OCTET STRING (SIZE(1..maxISDN-AddressLength))
+
+
+-- LegID notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+LegID ::= CHOICE
+{
+ sendingSideID [0] LegType,
+ receivingSideID [1] LegType
+}
+
+
+VariablePartsArray ::= SEQUENCE SIZE (1..5) OF VariablePart
+
+
+-- InitialDPArgExtension notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+-- Updated from ETSI TS 129 078 V6.4.0 (2004-3GPP TS 29.078 version 6.4.0 Release 6 1 12)
+InitialDPArgExtension ::= SEQUENCE {
+ gmscAddress [0] ISDN-AddressString OPTIONAL,
+ forwardingDestinationNumber [1] CalledPartyNumber OPTIONAL,
+ ms-Classmark2 [2] MS-Classmark2 OPTIONAL,
+ iMEI [3] IMEI OPTIONAL,
+ supportedCamelPhases [4] SupportedCamelPhases OPTIONAL,
+ offeredCamel4Functionalities [5] OfferedCamel4Functionalities OPTIONAL,
+ bearerCapability2 [6] BearerCapability OPTIONAL,
+ ext-basicServiceCode2 [7] Ext-BasicServiceCode OPTIONAL,
+ highLayerCompatibility2 [8] HighLayerCompatibility OPTIONAL,
+ lowLayerCompatibility [9] LowLayerCompatibility OPTIONAL,
+ lowLayerCompatibility2 [10] LowLayerCompatibility OPTIONAL,
+ ...,
+ enhancedDialledServicesAllowed [11] NULL OPTIONAL,
+ uu-Data [12] UU-Data OPTIONAL,
+ collectInformationAllowed [13] NULL OPTIONAL
+}
+
+
+InitiateCallAttemptArg ::= SEQUENCE {
+ destinationRoutingAddress [0] DestinationRoutingAddress,
+ extensions [4] ExtensionsArray OPTIONAL,
+ legToBeCreated [5] LegID OPTIONAL,
+ newCallSegment [6] CallSegmentID OPTIONAL,
+ callingPartyNumber [30] CallingPartyNumber OPTIONAL,
+ callReferenceNumber [51] CallReferenceNumber OPTIONAL,
+ gsmSCFAddress [52] ISDN-AddressString OPTIONAL,
+ suppress-T-CSI [53] NULL OPTIONAL,
+ ...
+ }
+
+InitiateCallAttemptRes ::= SEQUENCE {
+ supportedCamelPhases [0] SupportedCamelPhases OPTIONAL,
+ offeredCamel4Functionalities [1] OfferedCamel4Functionalities OPTIONAL,
+ extensions [2] ExtensionsArray OPTIONAL,
+ ...
+ }
+
+MoveLegArg ::= SEQUENCE{
+ legIDToMove [0] LegID,
+ extensions [2] ExtensionsArray OPTIONAL,
+ ...
+ }
+
+PlayToneArg ::= SEQUENCE {
+ legOrCallSegment [0] LegOrCallSegment,
+ bursts [1] Burst,
+ extensions [2] ExtensionsArray OPTIONAL,
+ ...
+ }
+
+CellGlobalIdOrServiceAreaIdOrLAI ::= OCTET STRING (SIZE (5..7))
+
+-- The 3GPP TS 29.078 standard, about cellGlobalIdOrServiceAreaIdOrLAI:
+-- "CellGlobalIdOrServiceAreaIdOrLAI and LSAIdentity are coded in accordance with
+-- 3GPP TS 29.002 [13].
+-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
+-- a Service Area Identity."
+
+-- GPP TS 29.078 version 6.4.0 Release 6 has it as:
+-- CellGlobalIdOrServiceAreaIdFixedLength type or the LAIFixedLength type (i.e. excluding tags
+-- and lengths) as defined in 3GPP TS 29.002 [13].
+-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
+-- a Service Area Identity.
+
+-- 3GPP TS 29.002 [13] gives the folowing coding for CellGlobalIdOrServiceAreaIdOrLAI:
+-- CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE {
+-- cellGlobalIdOrServiceAreaIdFixedLength [0] CellGlobalIdOrServiceAreaIdFixedLength,
+-- laiFixedLength [1] LAIFixedLength
+-- }
+--
+-- CellGlobalIdOrServiceAreaIdFixedLength ::=
+-- implement size < 8 --
+-- OCTET STRING (SIZE (7))
+-- This coding would disrupt the backward compatibillity, so the cellGlobalIdOrServiceAreaIdOrLAI
+-- parameter is set as an OCTET STRING, as it was in previous implementations.
+
+-- Local imports
+SupportedCamelPhases ::= BIT STRING {
+ phase1 (0 ),
+ phase2 (1 ),
+ phase3 (2 ),
+ phase4 (3 )}
+
+
+OfferedCamel4Functionalities ::= BIT STRING {
+ initiateCallAttempt (0),
+ splitLeg (1),
+ moveLeg (2),
+ disconnectLeg (3),
+ entityReleased (4),
+ dfc-WithArgument (5),
+ playTone (6),
+ dtmf-MidCall (7),
+ chargingIndicator (8),
+ alertingDP (9),
+ locationAtAlerting (10),
+ changeOfPositionDP (11),
+ or-Interactions (12),
+ warningToneEnhancements (13),
+ cf-Enhancements (14),
+ subscribedEnhancedDialledServices (15),
+ servingNetworkEnhancedDialledServices (16),
+ criteriaForChangeOfPositionDP (17),
+ serviceChangeDP (18)
+} (SIZE (15..64))
+-- A node supporting Camel phase 4 shall mark in the BIT STRING all CAMEL4
+-- functionalities it offers.
+-- Other values than listed above shall be discarded.
+
+
+-- EventReportGPRSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+EventReportGPRSArg ::=
+
+ SEQUENCE
+{
+ gPRSEventType [0] GPRSEventType,
+ miscGPRSInfo [1] MiscCallInfo OPTIONAL,
+ gPRSEventSpecificInformation [2] GPRSEventSpecificInformation OPTIONAL,
+ pDPID [3] PDPId OPTIONAL,
+ ...
+}
+
+-- SupportedExtensionsid notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+SupportedExtensionsid ::= Code
+-- Creation d'un nouveau type : NomObjetClasse-NomChampsClasse --
+
+
+-- ExtensionField notes: not recursive, exported,
+-- locally refd 24 times, import refd 0 times
+ExtensionField ::= SEQUENCE
+{
+ type SupportedExtensionsid,
+ criticality CriticalityType DEFAULT ignore,
+ value [1] SupportedExtensionsExtensionType,
+ ...
+}
+
+
+
+-- ApplyChargingArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ApplyChargingArg ::= SEQUENCE
+{
+ aChBillingChargingCharacteristics [0] AChBillingChargingCharacteristics,
+ partyToCharge1 [2] SendingSideID DEFAULT '01'H,
+ extensions [3] ExtensionsArray OPTIONAL,
+ aChChargingAddress [50] AChChargingAddress,
+ ...
+}
+
+ExtensionsArray ::= SEQUENCE SIZE (1..cAPSpecificBoundSetnumOfExtensions) OF ExtensionField
+
+
+-- AssistRequestInstructionsArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+AssistRequestInstructionsArg ::=
+
+ SEQUENCE
+{
+ correlationID [0] CorrelationID,
+ iPSSPCapabilities [2] IPSSPCapabilities,
+ extensions [3] ExtensionsArray OPTIONAL,
+ ...
+}
+
+
+
+-- CallInformationRequestArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CallInformationRequestArg ::=
+
+ SEQUENCE
+{
+ requestedInformationTypeList [0] RequestedInformationTypeList,
+ extensions [2] ExtensionsArray OPTIONAL,
+ legID3 [3] SendingSideID OPTIONAL,
+ ...
+}
+
+
+
+-- ConnectArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ConnectArg ::=
+
+ SEQUENCE
+{
+ destinationRoutingAddress [0] DestinationRoutingAddress,
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ originalCalledPartyID [6] OriginalCalledPartyID OPTIONAL,
+ extensions [10] ExtensionsArray OPTIONAL,
+ carrier [11] Carrier OPTIONAL,
+ callingPartysCategory [28] CallingPartysCategory OPTIONAL,
+ redirectingPartyID [29] RedirectingPartyID OPTIONAL,
+ redirectionInformation [30] RedirectionInformation OPTIONAL,
+ genericNumbers [14] GenericNumbers OPTIONAL,
+ serviceInteractionIndicatorsTwo [15] ServiceInteractionIndicatorsTwo OPTIONAL,
+ chargeNumber [19] ChargeNumber OPTIONAL,
+ legToBeConnected [21] LegID OPTIONAL,
+ cug-Interlock [31] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [32] NULL OPTIONAL,
+ suppressionOfAnnouncement [55] SuppressionOfAnnouncement OPTIONAL,
+ oCSIApplicable [56] OCSIApplicable OPTIONAL,
+ naOliInfo [57] NAOliInfo OPTIONAL,
+ bor-InterrogationRequested [58] NULL OPTIONAL,
+ ...,
+ suppress-N-CSI [59] NULL OPTIONAL
+}
+
+-- ConnectToResourceArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ConnectToResourceArg ::=
+
+ SEQUENCE
+{
+ resourceAddress CHOICE
+ {
+ ipRoutingAddress [0] IPRoutingAddress,
+ none [3] NULL
+ },
+ extensions [4] ExtensionsArray OPTIONAL,
+ serviceInteractionIndicatorsTwo [7] ServiceInteractionIndicatorsTwo OPTIONAL,
+ callSegmentID [50] CallSegmentID OPTIONAL,
+ ...
+}
+
+
+
+-- ContinueWithArgumentArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ContinueWithArgumentArg ::=
+
+ SEQUENCE
+{
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ extensions [6] ExtensionsArray OPTIONAL,
+ serviceInteractionIndicatorsTwo [7] ServiceInteractionIndicatorsTwo OPTIONAL,
+ callingPartysCategory [12] CallingPartysCategory OPTIONAL,
+ genericNumbers [16] GenericNumbers OPTIONAL,
+ cug-Interlock [17] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [18] NULL OPTIONAL,
+ chargeNumber [50] ChargeNumber OPTIONAL,
+ carrier [52] Carrier OPTIONAL,
+ suppressionOfAnnouncement [55] SuppressionOfAnnouncement OPTIONAL,
+ naOliInfo [56] NAOliInfo OPTIONAL,
+ bor-InterrogationRequested [57] NULL OPTIONAL,
+ suppress-O-CSI [58] NULL OPTIONAL,
+ continueWithArgumentArgExtension [59] ContinueWithArgumentArgExtension OPTIONAL,
+ ...
+}
+
+ContinueWithArgumentArgExtension ::= SEQUENCE {
+ suppress-D-CSI [0] NULL OPTIONAL,
+ suppress-N-CSI [1] NULL OPTIONAL,
+ suppressOutgoingCallBarring [2] NULL OPTIONAL,
+ legOrCallSegment [3] LegOrCallSegment OPTIONAL,
+ ...
+ }
+
+DisconnectLegArg ::= SEQUENCE {
+ legToBeReleased [0] LegID,
+ releaseCause [1] Cause OPTIONAL,
+ extensions [2] ExtensionsArray OPTIONAL,
+ ...
+ }
+EntityReleasedArg ::= CHOICE {
+ callSegmentFailure [0] CallSegmentFailure,
+ bCSM-Failure [1] BCSM-Failure
+ }
+
+DisconnectForwardConnectionWithArgumentArg ::= SEQUENCE {
+ callSegmentID [1] CallSegmentID OPTIONAL,
+ extensions [2] ExtensionsArray OPTIONAL,
+ ...
+ }
+
+-- EstablishTemporaryConnectionArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+EstablishTemporaryConnectionArg ::=
+
+ SEQUENCE
+{
+ assistingSSPIPRoutingAddress [0] AssistingSSPIPRoutingAddress,
+ correlationID [1] CorrelationID OPTIONAL,
+ scfID [3] ScfID OPTIONAL,
+ extensions [4] ExtensionsArray OPTIONAL,
+ carrier [5] Carrier OPTIONAL,
+ serviceInteractionIndicatorsTwo [6] ServiceInteractionIndicatorsTwo OPTIONAL,
+ callSegmentID [7] CallSegmentID OPTIONAL,
+ naOliInfo [50] NAOliInfo OPTIONAL,
+ chargeNumber [51] ChargeNumber OPTIONAL,
+ ...,
+ originalCalledPartyID [52] OriginalCalledPartyID OPTIONAL,
+ callingPartyNumber [53] CallingPartyNumber OPTIONAL
+}
+
+
+-- EventReportBCSMArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+EventReportBCSMArg ::=
+
+ SEQUENCE
+{
+ eventTypeBCSM [0] EventTypeBCSM,
+ eventSpecificInformationBCSM [2] EventSpecificInformationBCSM OPTIONAL,
+ legID4 [3] ReceivingSideID OPTIONAL,
+ miscCallInfo [4] MiscCallInfo OPTIONAL,
+ extensions [5] ExtensionsArray OPTIONAL,
+ ...
+}
+
+
+
+-- ResetTimerArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ResetTimerArg ::=
+
+ SEQUENCE
+{
+ timerID [0] TimerID DEFAULT tssf,
+ timervalue [1] TimerValue,
+ extensions [2] ExtensionsArray OPTIONAL,
+ callSegmentID [3] CallSegmentID OPTIONAL,
+ ...
+}
+
+
+
+-- SendChargingInformationArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+SendChargingInformationArg ::=
+
+ SEQUENCE
+{
+ sCIBillingChargingCharacteristics [0] SCIBillingChargingCharacteristics,
+ partyToCharge2 [1] SendingSideID,
+ extensions [2] ExtensionsArray OPTIONAL,
+ ...
+}
+
+SplitLegArg ::= SEQUENCE {
+ legToBeSplit [0] LegID,
+ newCallSegment [1] CallSegmentID OPTIONAL,
+ extensions [2] ExtensionsArray OPTIONAL,
+ ...
+ }
+
+CAPGPRSReferenceNumber ::= SEQUENCE {
+ destinationReference [0] EXPLICIT Integer4 OPTIONAL,
+ originationReference [1] EXPLICIT Integer4 OPTIONAL
+ }
+
+-- EventReportSMSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+EventReportSMSArg ::=
+
+ SEQUENCE
+{
+ eventTypeSMS [0] EventTypeSMS,
+ eventSpecificInformationSMS [1] EventSpecificInformationSMS OPTIONAL,
+ miscCallInfo [2] MiscCallInfo OPTIONAL,
+ extensions [10] ExtensionsArray OPTIONAL,
+ ...
+}
+
+
+
+-- ResetTimerSMSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ResetTimerSMSArg ::=
+
+ SEQUENCE
+{
+ timerID [0] TimerID DEFAULT tssf,
+ timervalue [1] TimerValue,
+ extensions [2] ExtensionsArray OPTIONAL,
+ ...
+}
+
+
+
+
+-- RequestReportBCSMEventArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+RequestReportBCSMEventArg ::=
+
+ SEQUENCE
+{
+ bcsmEvents [0] BCSMEventArray,
+ extensions [2] ExtensionsArray OPTIONAL,
+ ...
+}
+
+BCSMEventArray ::=
+ SEQUENCE SIZE (1..cAPSpecificBoundSetnumOfBCSMEvents) OF BCSMEvent
+
+
+
+-- ConnectSMSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+ConnectSMSArg ::=
+
+ SEQUENCE
+{
+ callingPartysNumber [0] SMS-AddressString OPTIONAL,
+ destinationSubscriberNumber [1] CalledPartyBCDNumber OPTIONAL,
+ sMSCAddress [2] ISDN-AddressString OPTIONAL,
+ extensions [10] ExtensionsArray OPTIONAL,
+ ...
+}
+
+
+-- CallInformationReportArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CallInformationReportArg ::=
+
+ SEQUENCE
+{
+ requestedInformationList [0] RequestedInformationList,
+ extensions [2] ExtensionsArray OPTIONAL,
+ legID5 [3] ReceivingSideID OPTIONAL,
+ ...
+}
+
+
+
+-- PlayAnnouncementArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+PlayAnnouncementArg ::=
+
+ SEQUENCE
+{
+ informationToSend [0] InformationToSend,
+ disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
+ requestAnnouncementComplete [2] BOOLEAN DEFAULT TRUE,
+ extensions [3] ExtensionsArray OPTIONAL,
+ callSegmentID [5] CallSegmentID OPTIONAL,
+ requestAnnouncementStartedNotification [51] BOOLEAN DEFAULT FALSE,
+ ...
+}
+
+
+
+-- PromptAndCollectUserInformationArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+PromptAndCollectUserInformationArg ::=
+
+ SEQUENCE
+{
+ collectedInfo [0] CollectedInfo,
+ disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
+ informationToSend [2] InformationToSend OPTIONAL,
+ extensions [3] ExtensionsArray OPTIONAL,
+ callSegmentID [5] CallSegmentID OPTIONAL,
+ requestAnnouncementStartedNotification [51] BOOLEAN DEFAULT FALSE,
+ ...
+}
+
+--furnishChargingInformationGPRS {PARAMETERS-BOUND : bound} OPERATION ::= {
+-- ARGUMENT FurnishChargingInformationGPRSArg {bound}
+-- RETURN RESULT FALSE
+-- ERRORS {missingParameter |
+-- taskRefused |
+-- unexpectedComponentSequence |
+-- unexpectedDataValue |
+-- unexpectedParameter |
+-- unknownPDPID}
+-- CODE opcode-furnishChargingInformationGPRS}
+-- Direction: gsmSCF -> gprsSSF, Timer: Tfcig
+-- This operation is used to request the gprsSSF to generate, register a logical record or to
+-- include some information in the default logical GPRS record.
+-- The registered logical record is intended for off line charging of the GPRS session
+-- or PDP Context.
+
+-- FurnishChargingInformationGPRSArg {PARAMETERS-BOUND : bound} ::=
+-- FCIGPRSBillingChargingCharacteristics{bound}
+
+FurnishChargingInformationGPRSArg ::= FCIGPRSBillingChargingCharacteristics
+
+
+-- InitialDPGPRSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+InitialDPGPRSArg ::=
+
+ SEQUENCE
+{
+ serviceKey [0] ServiceKey,
+ gPRSEventType [1] GPRSEventType,
+ mSISDN [2] ISDN-AddressString,
+ iMSI [3] IMSI,
+ timeAndTimeZone [4] TimeAndTimezone,
+ gPRSMSClass [5] GPRSMSClass OPTIONAL,
+ pDPType [6] PDPType OPTIONAL,
+ qualityOfService [7] QualityOfService OPTIONAL,
+ accessPointName [8] AccessPointName OPTIONAL,
+ routeingAreaIdentity [9] RAIdentity OPTIONAL,
+ chargingID [10] GPRSChargingID OPTIONAL,
+ sGSNCapabilities [11] SGSNCapabilities OPTIONAL,
+ locationInformationGPRS [12] LocationInformationGPRS OPTIONAL,
+ pDPInitiationType [13] PDPInitiationType OPTIONAL,
+ extensions [14] ExtensionsArray OPTIONAL,
+ ...,
+ gGSNAddress [15] GSN-Address OPTIONAL,
+ secondaryPDPContext [16] NULL OPTIONAL,
+ iMEI [17] IMEI OPTIONAL
+}
+
+
+
+-- CallGapArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+CallGapArg ::=
+
+ SEQUENCE
+{
+ gapCriteria [0] GapCriteria,
+ gapIndicators [1] GapIndicators,
+ controlType [2] ControlType OPTIONAL,
+ gapTreatment [3] GapTreatment OPTIONAL,
+ extensions [4] ExtensionsArray OPTIONAL,
+ ...
+}
+
+
+
+-- InitialDPArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+InitialDPArg ::=
+
+ SEQUENCE
+{
+ serviceKey [0] ServiceKey,
+ calledPartyNumber [2] CalledPartyNumber OPTIONAL,
+ callingPartyNumber [3] CallingPartyNumber OPTIONAL,
+ callingPartysCategory [5] CallingPartysCategory OPTIONAL,
+ cGEncountered [7] CGEncountered OPTIONAL,
+ iPSSPCapabilities [8] IPSSPCapabilities OPTIONAL,
+ locationNumber [10] LocationNumber OPTIONAL,
+ originalCalledPartyID [12] OriginalCalledPartyID OPTIONAL,
+ extensions [15] ExtensionsArray OPTIONAL,
+ highLayerCompatibility [23] HighLayerCompatibility OPTIONAL,
+ additionalCallingPartyNumber [25] AdditionalCallingPartyNumber OPTIONAL,
+ bearerCapability [27] BearerCapability OPTIONAL,
+ eventTypeBCSM [28] EventTypeBCSM OPTIONAL,
+ redirectingPartyID [29] RedirectingPartyID OPTIONAL,
+ redirectionInformation [30] RedirectionInformation OPTIONAL,
+ cause [17] Cause OPTIONAL,
+ serviceInteractionIndicatorsTwo [32] ServiceInteractionIndicatorsTwo OPTIONAL,
+ carrier [37] Carrier OPTIONAL,
+ cug-Index [45] CUG-Index OPTIONAL,
+ cug-Interlock [46] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [47] NULL OPTIONAL,
+ iMSI [50] IMSI OPTIONAL,
+ subscriberState [51] SubscriberState OPTIONAL,
+ locationInformation [52] LocationInformation OPTIONAL,
+ ext-basicServiceCode [53] Ext-BasicServiceCode OPTIONAL,
+ callReferenceNumber [54] CallReferenceNumber OPTIONAL,
+ mscAddress [55] ISDN-AddressString OPTIONAL,
+ calledPartyBCDNumber [56] CalledPartyBCDNumber OPTIONAL,
+ timeAndTimezone [57] TimeAndTimezone OPTIONAL,
+ gsm-ForwardingPending [58] NULL OPTIONAL,
+ initialDPArgExtension [59] InitialDPArgExtension OPTIONAL,
+ ...
+}
+
+
+
+-- InitialDPSMSArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+InitialDPSMSArg ::=
+
+ SEQUENCE
+{
+ serviceKey [0] ServiceKey,
+ destinationSubscriberNumber [1] CalledPartyBCDNumber OPTIONAL,
+ callingPartyNumberas [2] SMS-AddressString OPTIONAL,
+ eventTypeSMS [3] EventTypeSMS OPTIONAL,
+ iMSI [4] IMSI OPTIONAL,
+ locationInformationMSC [5] LocationInformation OPTIONAL,
+ locationInformationGPRS [6] LocationInformationGPRS OPTIONAL,
+ sMSCAddress [7] ISDN-AddressString OPTIONAL,
+ timeAndTimezone [8] TimeAndTimezone OPTIONAL,
+ tPShortMessageSpecificInfo [9] TPShortMessageSpecificInfo OPTIONAL,
+ tPProtocolIdentifier [10] TPProtocolIdentifier OPTIONAL,
+ tPDataCodingScheme [11] TPDataCodingScheme OPTIONAL,
+ tPValidityPeriod [12] TPValidityPeriod OPTIONAL,
+ extensions [13] ExtensionsArray OPTIONAL,
+ ...,
+ smsReferenceNumber [14] CallReferenceNumber OPTIONAL,
+ mscAddress [15] ISDN-AddressString OPTIONAL,
+ sgsnNumber [16] ISDN-AddressString OPTIONAL,
+ ms-Classmark2 [17] MS-Classmark2 OPTIONAL,
+ gPRSMSClass [18] GPRSMSClass OPTIONAL,
+ iMEI [19] IMEI OPTIONAL,
+ calledPartyNumberSMS [20] ISDN-AddressString OPTIONAL
+}
+
+-- ReleaseSMSArg notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+ReleaseSMSArg ::= RPCause
+
+-- RequestReportSMSEventArg notes: not recursive, exported,
+-- locally refd 1 times, import refd 0 times
+RequestReportSMSEventArg ::=
+
+ SEQUENCE
+{
+ sMSEvents [0] SMSEventArray,
+ extensions [10] ExtensionsArray OPTIONAL,
+ ...
+}
+
+SMSEventArray ::=
+ SEQUENCE SIZE (1..cAPSpecificBoundSetnumOfSMSEvents) OF SMSEvent
+
+
+-- ExtensionContainer notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+ExtensionContainer ::= SEQUENCE
+{
+ privateExtensionList [0] PrivateExtensionList OPTIONAL,
+ pcs-Extensions [1] PCS-Extensions OPTIONAL
+}
+
+
+
+-- ApplyChargingGPRSArg notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+ApplyChargingGPRSArg ::= SEQUENCE
+{
+ chargingCharacteristics [0] ChargingCharacteristics,
+ tariffSwitchInterval [1] INTEGER (1..86400) OPTIONAL,
+ pDPID [2] PDPId OPTIONAL,
+ ...
+}
+
+-- CriticalityType notes: not recursive, exported,
+-- locally refd 2 times, import refd 0 times
+CriticalityType ::= ENUMERATED
+{
+ ignore (0),
+ abort (1)
+}
+
+-- ApplyChargingReportGPRSArg notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+ApplyChargingReportGPRSArg ::=
+
+ SEQUENCE
+{
+ chargingResult [0] ChargingResult,
+ qualityOfService [1] QualityOfService OPTIONAL,
+ active [2] BOOLEAN DEFAULT TRUE,
+ pDPID [3] PDPId OPTIONAL,
+ ...,
+ chargingRollOver [4] ChargingRollOver OPTIONAL
+}
+
+-- CancelGPRSArg notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+CancelGPRSArg ::=
+
+ SEQUENCE
+{
+ pDPID [0] PDPId OPTIONAL,
+ ...
+}
+
+-- ContinueGPRSArg notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+ContinueGPRSArg ::=
+
+ SEQUENCE
+{
+ pDPID [0] PDPId OPTIONAL,
+ ...
+}
+
+-- ResetTimerGPRSArg notes: not recursive, exported,
+-- locally refd 0 times, import refd 0 times
+ResetTimerGPRSArg ::=
+
+ SEQUENCE
+{
+ timerID [0] TimerID DEFAULT tssf,
+ timervalue [1] TimerValue,
+ ...
+}
+
+-- #############################
+-- Definition of range constants
+-- #############################
+
+leg1 LegType ::= '01'H
+leg2 LegType ::= '02'H
+
+numOfInfoItems INTEGER ::= 4
+
+opcode-initialDP Code ::= 0
+opcode-assistRequestInstructions Code ::= 16
+opcode-establishTemporaryConnection Code ::= 17
+opcode-disconnectForwardConnection Code ::= 18
+opcode-dFCWithArgument Code ::= 86
+opcode-connectToResource Code ::= 19
+opcode-connect Code ::= 20
+opcode-releaseCall Code ::= 22
+opcode-requestReportBCSMEvent Code ::= 23
+opcode-eventReportBCSM Code ::= 24
+opcode-collectInformation Code ::= 27
+opcode-continue Code ::= 31
+opcode-initiateCallAttempt Code ::= 32
+-- opcode-continueWithArgument Code ::= 56 (should be 88)
+opcode-resetTimer Code ::= 33
+opcode-furnishChargingInformation Code ::= 34
+opcode-applyCharging Code ::= 35
+opcode-applyChargingReport Code ::= 36
+opcode-callGap Code ::= 41
+opcode-callInformationReport Code ::= 44
+opcode-callInformationRequest Code ::= 45
+opcode-sendChargingInformation Code ::= 46
+opcode-playAnnouncement Code ::= 47
+opcode-promptAndCollectUserInformation Code ::= 48
+opcode-specializedResourceReport Code ::= 49
+opcode-cancel Code ::= 53
+opcode-activityTest Code ::= 55
+opcode-initialDPSMS Code ::= 60
+opcode-furnishChargingInformationSMS Code ::= 61
+opcode-connectSMS Code ::= 62
+opcode-requestReportSMSEvent Code ::= 63
+opcode-eventReportSMS Code ::= 64
+opcode-continueSMS Code ::= 65
+opcode-releaseSMS Code ::= 66
+opcode-resetTimerSMS Code ::= 67
+opcode-activityTestGPRS Code ::= 70
+opcode-applyChargingGPRS Code ::= 71
+opcode-applyChargingReportGPRS Code ::= 72
+opcode-cancelGPRS Code ::= 73
+opcode-connectGPRS Code ::= 74
+opcode-continueGPRS Code ::= 75
+opcode-entityReleasedGPRS Code ::= 76
+opcode-furnishChargingInformationGPRS Code ::= 77
+opcode-initialDPGPRS Code ::= 78
+opcode-releaseGPRS Code ::= 79
+opcode-eventReportGPRS Code ::= 80
+opcode-requestReportGPRSEvent Code ::= 81
+opcode-resetTimerGPRS Code ::= 82
+opcode-sendChargingInformationGPRS Code ::= 83
+opcode-continueWithArgument Code ::= 88
+opcode-disconnectLeg Code ::= 90
+opcode-moveLeg Code ::= 93
+opcode-splitLeg Code ::= 95
+opcode-entityReleased Code ::= 96
+opcode-playTone Code ::= 97
+
+errcode-canceled Code ::= 0
+errcode-cancelFailed Code ::= 1
+errcode-eTCFailed Code ::= 3
+errcode-improperCallerResponse Code ::= 4
+errcode-missingCustomerRecord Code ::= 6
+errcode-missingParameter Code ::= 7
+errcode-parameterOutOfRange Code ::= 8
+errcode-requestedInfoError Code ::= 10
+errcode-systemFailure Code ::= 11
+errcode-taskRefused Code ::= 12
+errcode-unavailableResource Code ::= 13
+errcode-unexpectedComponentSequence Code ::= 14
+errcode-unexpectedDataValue Code ::= 15
+errcode-unexpectedParameter Code ::= 16
+errcode-unknownLegID Code ::= 17
+errcode-unknownPDPId Code ::= 50
+errcode-unknownCSId Code ::= 51
+
+--cAPSpecificBoundSetnumOfExtensions INTEGER ::= 10
+maxNumOfPrivateExtensions INTEGER ::= 10
+
+--cAPSpecificBoundSetminCalledPartyBCDNumberLength INTEGER ::= 1
+--cAPSpecificBoundSetmaxCalledPartyBCDNumberLength INTEGER ::= 41
+maxISDN-AddressLength INTEGER ::= 9
+-- for AddressString
+maxAddressLength INTEGER ::= 20
+
+highLayerCompatibilityLength INTEGER ::= 2
+
+cAPSpecificBoundSetminAccessPointNameLength INTEGER ::= 1
+cAPSpecificBoundSetmaxAccessPointNameLength INTEGER ::= 100
+cAPSpecificBoundSetminAChBillingChargingLength INTEGER ::= 5
+cAPSpecificBoundSetmaxAChBillingChargingLength INTEGER ::= 177
+cAPSpecificBoundSetminAttributesLength INTEGER ::= 2
+cAPSpecificBoundSetmaxAttributesLength INTEGER ::= 10
+cAPSpecificBoundSetmaxBearerCapabilityLength INTEGER ::= 11
+cAPSpecificBoundSetminCalledPartyBCDNumberLength INTEGER ::= 1
+cAPSpecificBoundSetmaxCalledPartyBCDNumberLength INTEGER ::= 41
+cAPSpecificBoundSetminCalledPartyNumberLength INTEGER ::= 2
+cAPSpecificBoundSetmaxCalledPartyNumberLength INTEGER ::= 18
+cAPSpecificBoundSetminCallingPartyNumberLength INTEGER ::= 2
+cAPSpecificBoundSetmaxCallingPartyNumberLength INTEGER ::= 10
+cAPSpecificBoundSetminCallResultLength INTEGER ::= 12
+cAPSpecificBoundSetmaxCallResultLength INTEGER ::= 193
+cAPSpecificBoundSetminCarrierLength INTEGER ::= 4
+cAPSpecificBoundSetmaxCarrierLength INTEGER ::= 4
+cAPSpecificBoundSetminCauseLength INTEGER ::= 2
+cAPSpecificBoundSetmaxCauseLength INTEGER ::= 32
+cAPSpecificBoundSetminDigitsLength INTEGER ::= 2
+cAPSpecificBoundSetmaxDigitsLength INTEGER ::= 16
+cAPSpecificBoundSetminFCIBillingChargingDataLength INTEGER ::= 1
+cAPSpecificBoundSetmaxFCIBillingChargingDataLength INTEGER ::= 160
+cAPSpecificBoundSetminFCIBillingChargingLength INTEGER ::= 5
+cAPSpecificBoundSetmaxFCIBillingChargingLength INTEGER ::= 225
+cAPSpecificBoundSetminGenericNumberLength INTEGER ::= 3
+cAPSpecificBoundSetmaxGenericNumberLength INTEGER ::= 11
+cAPSpecificBoundSetminGPRSCauseLength INTEGER ::= 1
+cAPSpecificBoundSetmaxGPRSCauseLength INTEGER ::= 1
+cAPSpecificBoundSetminIPSSPCapabilitiesLength INTEGER ::= 1
+cAPSpecificBoundSetmaxIPSSPCapabilitiesLength INTEGER ::= 4
+cAPSpecificBoundSetminLocationNumberLength INTEGER ::= 2
+cAPSpecificBoundSetmaxLocationNumberLength INTEGER ::= 10
+cAPSpecificBoundSetminLowLayerCompatibilityLength INTEGER ::= 1
+cAPSpecificBoundSetmaxLowLayerCompatibilityLength INTEGER ::= 16
+cAPSpecificBoundSetminMessageContentLength INTEGER ::= 1
+cAPSpecificBoundSetmaxMessageContentLength INTEGER ::= 127
+cAPSpecificBoundSetminOriginalCalledPartyIDLength INTEGER ::= 2
+cAPSpecificBoundSetmaxOriginalCalledPartyIDLength INTEGER ::= 10
+cAPSpecificBoundSetminPDPAddressLength INTEGER ::= 1
+cAPSpecificBoundSetmaxPDPAddressLength INTEGER ::= 63
+cAPSpecificBoundSetminRedirectingPartyIDLength INTEGER ::= 2
+cAPSpecificBoundSetmaxRedirectingPartyIDLength INTEGER ::= 10
+cAPSpecificBoundSetminScfIDLength INTEGER ::= 2
+cAPSpecificBoundSetmaxScfIDLength INTEGER ::= 10
+cAPSpecificBoundSetminSCIBillingChargingLength INTEGER ::= 4
+cAPSpecificBoundSetmaxSCIBillingChargingLength INTEGER ::= 225
+cAPSpecificBoundSetminTimeAndTimezoneLength INTEGER ::= 8
+cAPSpecificBoundSetmaxTimeAndTimezoneLength INTEGER ::= 8
+cAPSpecificBoundSetnumOfBCSMEvents INTEGER ::= 30
+cAPSpecificBoundsSetnumOfChangeOfPositionControlInfo INTEGER ::= 10
+cAPSpecificBoundsSetnumOfCSs INTEGER ::= 127
+cAPSpecificBoundSetnumOfSMSEvents INTEGER ::= 10
+cAPSpecificBoundSetnumOfGPRSEvents INTEGER ::= 10
+cAPSpecificBoundSetnumOfExtensions INTEGER ::= 10
+cAPSpecificBoundSetnumOfGenericNumbers INTEGER ::= 5
+cAPSpecificBoundSetnumOfMessageIDs INTEGER ::= 16
+
+
+END
+
+
+-- #############################
+-- CAP ErrorTypes
+-- #############################
+
+
+CAP-errortypes --{ccitt(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-errortypes(51) version3(2)}
+-- This module contains the type definitions for the CAP Error Types.
+-- Where a parameter of type CHOICE is tagged with a specific tag value, the tag is automatically
+-- replaced with an EXPLICIT tag of the same value.
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+
+
+-- TYPE DEFINITION FOR CAP ERROR TYPES FOLLOWS
+
+
+--cancelFailed ERROR
+-- PARAMETER
+CancelFailedPARAM ::= SEQUENCE
+{
+ cancelproblem [0] ENUMERATED
+ {
+ unknownOperation (0),
+ tooLate (1),
+ operationNotCancellable (2)
+ },
+ operation [1] InvokeID
+
+}
+-- The operation failed to be canceled.
+
+
+--requestedInfoError ERROR ::= {
+-- PARAMETER
+RequestedInfoErrorPARAM ::= ENUMERATED
+{
+ unknownRequestedInfo (1),
+ requestedInfoNotAvailable (2)
+}
+-- The requested information cannot be found.
+
+SystemFailurePARAM ::= UnavailableNetworkResource
+-- The operation could not be completed due to a system failure at the serving physical entity.
+
+--taskRefused ERROR ::= {
+-- PARAMETER
+TaskRefusedPARAM ::= ENUMERATED
+{
+ generic (0),
+ unobtainable (1),
+ congestion (2)
+}
+-- An entity normally capable of the task requested cannot or chooses not to perform the task at
+-- this time. This includes error situations like congestion and unobtainable address as used in
+-- e.g. the connect operation.)
+
+END
+
diff --git a/epan/dissectors/asn1/camel/camel.cnf b/epan/dissectors/asn1/camel/camel.cnf
new file mode 100644
index 00000000..40fa1959
--- /dev/null
+++ b/epan/dissectors/asn1/camel/camel.cnf
@@ -0,0 +1,831 @@
+# camel.cnf
+# camel conformation file
+# Anders Broman 2007
+
+#.IMPORT ../gsm_map/gsm_map-exp.cnf
+#.IMPORT ../inap/inap-exp.cnf
+
+#.MODULE
+CS1-DataTypes inap
+CS2-datatypes inap
+
+#.ASSIGNED_OBJECT_IDENTIFIER classes
+#.ASSIGNED_OBJECT_IDENTIFIER ros-InformationObjects
+#.ASSIGNED_OBJECT_IDENTIFIER tc-Messages
+#.ASSIGNED_OBJECT_IDENTIFIER tc-NotationExtensions
+#.ASSIGNED_OBJECT_IDENTIFIER gprsSSF-gsmSCF-Operations
+#.ASSIGNED_OBJECT_IDENTIFIER gsmSCF-gsmSRF-Operations
+#.ASSIGNED_OBJECT_IDENTIFIER gsmSSF-gsmSCF-Operations
+#.ASSIGNED_OBJECT_IDENTIFIER sms-Operations
+#.ASSIGNED_OBJECT_IDENTIFIER gsmSSF-gsmSCF-Protocol
+#.ASSIGNED_OBJECT_IDENTIFIER gsmSCF-gsmSRF-Protocol
+#.ASSIGNED_OBJECT_IDENTIFIER operationcodes
+#.ASSIGNED_OBJECT_IDENTIFIER datatypes
+#.ASSIGNED_OBJECT_IDENTIFIER errortypes
+
+#.OMIT_ASSIGNMENT Remote-Operations-Information-Objects
+Bind
+Unbind
+#.END
+#.OMIT_ASSIGNMENT
+# Removed as they are giving 'defined but not used' warnings currently.
+RejectProblem
+TariffSwitchInterval
+Priority
+#.END
+
+#.PDU
+ERROR.&ParameterType
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+#.END
+
+
+#.REGISTER
+CAP-GPRS-ReferenceNumber B "0.4.0.0.1.1.5.2" "id-CAP-GPRS-ReferenceNumber"
+CAP-U-ABORT-REASON B "0.4.0.0.1.1.2.2" "id-CAP-U-ABORT-Reason"
+
+#.NO_EMIT ONLY_VALS
+CAMEL-AChBillingChargingCharacteristicsV2
+ROS
+
+#.TYPE_RENAME
+ReturnResult/result/result ResultArgument
+
+#.FIELD_RENAME
+Invoke/linkedId/present linkedIdPresent
+Reject/problem/invoke invokeProblem
+Reject/problem/returnError returnErrorProblem
+ReturnResult/result/result resultArgument
+Reject/problem/returnResult problemReturnResult
+
+PAR-cancelFailed/problem par-cancelFailedProblem
+CAMEL-FCIBillingChargingCharacteristics/fCIBCCCAMELsequence1 fci-fCIBCCCAMELsequence1
+CAMEL-FCIGPRSBillingChargingCharacteristics/fCIBCCCAMELsequence1 fciGPRS-fCIBCCCAMELsequence1
+CAMEL-FCISMSBillingChargingCharacteristics/fCIBCCCAMELsequence1 fciSMS-fCIBCCCAMELsequence1
+EventSpecificInformationBCSM/oMidCallSpecificInfo/midCallEvents omidCallEvents
+EventSpecificInformationBCSM/tMidCallSpecificInfo/midCallEvents tmidCallEvents
+AudibleIndicator/tone audibleIndicatorTone
+GapIndicators/duration gapIndicatorsDuration
+InbandInfo/duration inbandInfoDuration
+Tone/duration toneDuration
+Burst/toneDuration burstToneDuration
+
+EventSpecificInformationSMS/o-smsFailureSpecificInfo/failureCause mo-smsfailureCause
+EventSpecificInformationBCSM/routeSelectFailureSpecificInfo/failureCause routeSelectfailureCause
+EventSpecificInformationSMS/t-smsFailureSpecificInfo/failureCause t-smsfailureCause
+
+CAMEL-FCIBillingChargingCharacteristics/fCIBCCCAMELsequence1/partyToCharge fCIBCCCAMELsequence1partyToCharge
+CAMEL-CallResult/timeDurationChargingResult/partyToCharge timeDurationChargingResultpartyToCharge
+
+AOCSubsequent/tariffSwitchInterval aocSubsequent-tariffSwitchInterval
+CAMEL-AChBillingChargingCharacteristics/timeDurationCharging/tariffSwitchInterval timeDurationCharging-tariffSwitchInterval
+ApplyChargingGPRSArg/tariffSwitchInterval applyChargingGPRS-tariffSwitchInterval
+TimeIfTariffSwitch/tariffSwitchInterval timeIfTariffSwitch-tariffSwitchInterval
+
+# This table creates the value_sting to name Camel operation codes and errors
+# in file packet-camel-table.c which is included in the template file
+#
+#.TABLE_HDR
+/* CAMEL OPERATIONS */
+const value_string camel_opr_code_strings[] = {
+#.TABLE_BODY OPERATION
+ { %(&operationCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+#.TABLE_HDR
+/* CAMEL ERRORS */
+static const value_string camel_err_code_string_vals[] = {
+#.TABLE_BODY ERROR
+ { %(&errorCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+# This table creates the switch() to branch on Camel operation codes and errors
+# in file packet-camel-table2.c which is included in the template file
+#
+#.TABLE2_HDR
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
+
+ switch(opcode){
+#.TABLE2_BODY OPERATION.&ArgumentType
+ case %(&operationCode)s: /* %(_ident)s */
+ offset= %(_argument_pdu)s(tvb, actx->pinfo , tree , NULL);
+ break;
+#.TABLE2_FTR
+ default:
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_camel_unknown_invokeData,
+ tvb, offset, -1, "Unknown invokeData %d", opcode);
+ /* todo call the asn.1 dissector */
+ break;
+ }
+ return offset;
+}
+#.END
+#.TABLE2_HDR
+static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx) {
+
+ switch(opcode){
+#.TABLE2_BODY OPERATION.&ResultType
+ case %(&operationCode)s: /* %(_ident)s */
+ offset= %(_result_pdu)s(tvb, actx->pinfo , tree , NULL);
+ break;
+#.TABLE2_FTR
+ default:
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_camel_unknown_returnResultData,
+ tvb, offset, -1, "Unknown returnResultData %d",opcode);
+ }
+ return offset;
+}
+#.END
+#.TABLE2_HDR
+static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx) {
+
+ switch(errorCode) {
+#.TABLE2_BODY ERROR.&ParameterType
+ case %(&errorCode)s: /* %(_ident)s */
+ %(_parameter_pdu)s(tvb, actx->pinfo , tree , NULL);
+ break;
+#.TABLE2_FTR
+ default:
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_camel_unknown_returnErrorData,
+ tvb, offset, -1, "Unknown returnErrorData %d",errorCode);
+ }
+ return offset;
+}
+#.END
+# ROS stuff here XXX change when TCAP is redone.
+
+#.FN_BODY Code/local VAL_PTR = &opcode
+
+ if (is_ExtensionField){
+ hf_index = hf_camel_extension_code_local;
+ }else if (camel_opcode_type == CAMEL_OPCODE_RETURN_ERROR){
+ hf_index = hf_camel_error_code_local;
+ }
+ %(DEFAULT_BODY)s
+ if (is_ExtensionField == FALSE){
+ if (camel_opcode_type == CAMEL_OPCODE_RETURN_ERROR){
+ errorCode = opcode;
+ col_append_str(actx->pinfo->cinfo, COL_INFO,
+ val_to_str(errorCode, camel_err_code_string_vals, "Unknown CAMEL error (%%u)"));
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ }else{
+ col_append_str(actx->pinfo->cinfo, COL_INFO,
+ val_to_str(opcode, camel_opr_code_strings, "Unknown CAMEL (%%u)"));
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ }
+ gp_camelsrt_info->opcode=opcode;
+ }
+#.FN_HDR Invoke
+ camel_opcode_type=CAMEL_OPCODE_INVOKE;
+
+#.FN_HDR ReturnResult
+ camel_opcode_type=CAMEL_OPCODE_RETURN_RESULT;
+
+#.FN_HDR ReturnError
+ camel_opcode_type=CAMEL_OPCODE_RETURN_ERROR;
+
+#.FN_HDR Reject
+ camel_opcode_type=CAMEL_OPCODE_REJECT;
+
+
+#.FN_BODY Invoke/argument
+ offset = dissect_invokeData(tree, tvb, offset, actx);
+
+#.FN_BODY ReturnResult/result/result
+ offset = dissect_returnResultData(tree, tvb, offset, actx);
+
+#.FN_BODY ReturnError/parameter
+ offset = dissect_returnErrorData(tree, tvb, offset, actx);
+
+# END ROS
+
+#.FN_BODY InitialDPArgExtension
+
+if((camel_ver == 2)||(camel_ver == 1)){
+ return dissect_camel_InitialDPArgExtensionV2(implicit_tag, tvb, offset, actx, tree, hf_index);
+}
+
+%(DEFAULT_BODY)s
+
+#.FN_HDR ExtensionField
+ camel_obj_id = NULL;
+ is_ExtensionField =TRUE;
+
+#.FN_PARS Code/global FN_VARIANT = _str VAL_PTR = &camel_obj_id
+
+#.FN_BODY ExtensionField/value
+ /*XXX handle local form here */
+ if(camel_obj_id){
+ offset=call_ber_oid_callback(camel_obj_id, tvb, offset, actx->pinfo, tree, NULL);
+ }
+ is_ExtensionField = FALSE;
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY CallingPartyNumber VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+subtree = proto_item_add_subtree(actx->created_item, ett_camel_callingpartynumber);
+dissect_isup_calling_party_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY CalledPartyNumber VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_calledpartybcdnumber);
+ dissect_isup_called_party_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY LocationNumber VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+subtree = proto_item_add_subtree(actx->created_item, ett_camel_locationnumber);
+dissect_isup_location_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY GenericNumber VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+dissect_isup_generic_number_parameter(parameter_tvb, actx->pinfo, tree, NULL);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY Cause VAL_PTR = &parameter_tvb
+
+tvbuff_t *parameter_tvb;
+guint8 Cause_value;
+proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_cause);
+
+ dissect_q931_cause_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), subtree, hf_camel_cause_indicator, &Cause_value, isup_parameter_type_value);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY RPCause VAL_PTR = &parameter_tvb
+
+tvbuff_t *parameter_tvb;
+guint8 Cause_value;
+proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_RPcause);
+
+ dissect_RP_cause_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), subtree, hf_camel_RP_Cause, &Cause_value);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY DateAndTime
+
+
+/*
+* date_option = 1 european dd:mm:yyyy
+* date_option = 2 american mm:dd:yyyy
+*/
+
+/*
+* Output should be HH:MM:SS;dd/mm/yyyy
+* if european is selected, and HH:MM:SS;mm/dd/yyyy
+* otherwise.
+*/
+
+ guint8 digit_pair;
+ guint8 i = 0, curr_offset;
+ char camel_time[CAMEL_DATE_AND_TIME_LEN];
+ char c[CAMEL_DATE_AND_TIME_LEN]; /*temporary container*/
+
+ /* 2 digits per octet, 7 octets total + 5 delimiters */
+
+ for (curr_offset = 0; curr_offset < 7 ; curr_offset++)
+ /*Loop to extract date*/
+ {
+ digit_pair = tvb_get_guint8(tvb, curr_offset);
+
+ proto_tree_add_uint(tree,
+ hf_digit,
+ tvb,
+ curr_offset,
+ 1,
+ digit_pair & 0x0F);
+
+ proto_tree_add_uint(tree,
+ hf_digit,
+ tvb,
+ curr_offset,
+ 1,
+ digit_pair >>4);
+
+
+ c[i] = camel_number_to_char( digit_pair & 0x0F);
+ i++;
+ c[i] = camel_number_to_char( digit_pair >>4);
+ i++;
+ }
+
+ /* Pretty print date */
+ /* XXX - Should we use sprintf here instead of assembling the string by
+ * hand? */
+
+ camel_time[0] = c[8];
+ camel_time[1] = c[9];
+ camel_time[2] = ':';
+ camel_time[3] = c[10];
+ camel_time[4] = c[11];
+ camel_time[5] = ':';
+ camel_time[6] = c[12];
+ camel_time[7] = c[13];
+ camel_time[8] = ';';
+ if ( EUROPEAN_DATE == date_format) /*european*/
+ {
+ camel_time[9] = c[6]; /*day*/
+ camel_time[10] = c[7];
+ camel_time[11] = '/';
+ camel_time[12] = c[4]; /*month*/
+ camel_time[13] = c[5];
+ }
+ else /*american*/
+ {
+ camel_time[9] = c[4]; /*month*/
+ camel_time[10] = c[5];
+ camel_time[11] = '/';
+ camel_time[12] = c[6]; /*day*/
+ camel_time[13] = c[7];
+ }
+ camel_time[14] = '/';
+ camel_time[15] = c[0];
+ camel_time[16] = c[1];
+ camel_time[17] = c[2];
+ camel_time[18] = c[3];
+
+ camel_time[CAMEL_DATE_AND_TIME_LEN - 1] = '\0';
+
+/*start = 0, length = 7*/
+
+ proto_tree_add_string(tree,
+ hf_index,
+ tvb,
+ 0,
+ 7,
+ camel_time);
+
+ return 7; /* 7 octets eaten*/
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY BearerCapability/bearerCap VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ dissect_q931_bearer_capability_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), tree);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY OriginalCalledPartyID VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_originalcalledpartyid);
+ dissect_isup_original_called_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_PARS RedirectingPartyID
+
+ VAL_PTR = &parameter_tvb
+
+#.FN_BODY RedirectingPartyID
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_redirectingpartyid);
+ dissect_isup_redirecting_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_PARS AccessPointName
+ VAL_PTR = &parameter_tvb
+
+#.FN_BODY AccessPointName
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_AccessPointName);
+ de_sm_apn(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY EndUserAddress/pDPTypeOrganization VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ PDPTypeOrganization = (tvb_get_guint8(parameter_tvb,0) &0x0f);
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY EndUserAddress/pDPTypeNumber VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ PDPTypeNumber = tvb_get_guint8(parameter_tvb,0);
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_pdptypenumber);
+ switch (PDPTypeOrganization){
+ case 0: /* ETSI */
+ proto_tree_add_item(subtree, hf_camel_PDPTypeNumber_etsi, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ break;
+ case 1: /* IETF */
+ proto_tree_add_item(subtree, hf_camel_PDPTypeNumber_ietf, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ break;
+ default:
+ break;
+ }
+#.END
+
+
+#.FN_BODY EndUserAddress/pDPAddress VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_pdptypenumber);
+ switch (PDPTypeOrganization){
+ case 0: /* ETSI */
+ break;
+ case 1: /* IETF */
+ switch(PDPTypeNumber){
+ case 0x21: /* IPv4 */
+ proto_tree_add_item(subtree, hf_camel_PDPAddress_IPv4, parameter_tvb, 0, tvb_reported_length(parameter_tvb), ENC_BIG_ENDIAN);
+ break;
+ case 0x57: /* IPv6 */
+ proto_tree_add_item(subtree, hf_camel_PDPAddress_IPv6, parameter_tvb, 0, tvb_reported_length(parameter_tvb), ENC_NA);
+ break;
+ default:
+ break;
+ }
+ default:
+ break;
+
+ }
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY LocationInformationGPRS/cellGlobalIdOrServiceAreaIdOrLAI
+ proto_tree *subtree;
+ int start_offset;
+
+ start_offset = offset;
+%(DEFAULT_BODY)s
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_pdptypenumber);
+
+ if (tvb_reported_length_remaining(tvb,start_offset) == 7){
+ dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, start_offset, actx, subtree, hf_camel_cellGlobalIdOrServiceAreaIdFixedLength);
+ }else{
+ dissect_gsm_map_LAIFixedLength(TRUE, tvb, start_offset, actx, subtree, hf_camel_locationAreaId);
+ }
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY AChBillingChargingCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_CAMEL_AChBillingChargingCharacteristics);
+ if((camel_ver == 2)||(camel_ver == 1)){
+ return dissect_camel_CAMEL_AChBillingChargingCharacteristicsV2(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_AChBillingChargingCharacteristics);
+ }
+ dissect_camel_CAMEL_AChBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_AChBillingChargingCharacteristics);
+
+#.FN_BODY FCIBillingChargingCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_CAMEL_FCIBillingChargingCharacteristics);
+ dissect_camel_CAMEL_FCIBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_FCIBillingChargingCharacteristics);
+
+#.FN_BODY FCIGPRSBillingChargingCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_CAMEL_FCIGPRSBillingChargingCharacteristics);
+ dissect_camel_CAMEL_FCIGPRSBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_FCIGPRSBillingChargingCharacteristics);
+
+#.FN_BODY FCISMSBillingChargingCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_CAMEL_FCISMSBillingChargingCharacteristics);
+ dissect_camel_CAMEL_FCISMSBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_FCISMSBillingChargingCharacteristics);
+
+#.FN_BODY SCIBillingChargingCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_CAMEL_SCIBillingChargingCharacteristics);
+ dissect_camel_CAMEL_SCIBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_SCIBillingChargingCharacteristics);
+
+#.FN_BODY SCIGPRSBillingChargingCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_CAMEL_SCIGPRSBillingChargingCharacteristics);
+ dissect_camel_CAMEL_SCIGPRSBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_SCIGPRSBillingChargingCharacteristics);
+
+#.FN_BODY CallResult VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_CAMEL_CallResult);
+ dissect_camel_CAMEL_CallResult(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_CallResult);
+
+# V3 and V4 incompatibillity bug #1719
+#.FN_BODY CAMEL-AChBillingChargingCharacteristics/timeDurationCharging/audibleIndicator
+ if (tvb_reported_length_remaining(tvb,offset) < 2)
+ offset = dissect_camel_BOOLEAN(TRUE, tvb, offset, actx , tree, hf_camel_audibleIndicatorTone);
+ else
+%(DEFAULT_BODY)s
+
+#.FN_BODY CalledPartyBCDNumber VAL_PTR = &parameter_tvb
+/* See 3GPP TS 29.078
+ * and 3GPP TS 24.008, section 10.5.4.7
+ * Indicates the Called Party Number, including service selection information.
+ * Refer to 3GPP TS 24.008 [9] for encoding.
+ * This data type carries only the 'type of number', 'numbering plan
+ * identification' and 'number digit' fields defined in 3GPP TS 24.008 [9];
+ * it does not carry the 'called party BCD number IEI' or 'length of called
+ * party BCD number contents'.
+ * In the context of the DestinationSubscriberNumber field in ConnectSMSArg or
+ * InitialDPSMSArg, a CalledPartyBCDNumber may also contain an alphanumeric
+ * character string. In this case, type-of-number '101'B is used, in accordance
+ * with 3GPP TS 23.040 [6]. The address is coded in accordance with the
+ * GSM 7-bit default alphabet definition and the SMS packing rules
+ * as specified in 3GPP TS 23.038 [15] in this case.
+ */
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_calledpartybcdnumber);
+ de_cld_party_bcd_num(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+
+#.END
+
+#.FN_BODY Digits VAL_PTR = &parameter_tvb
+/*
+* Digits {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE(
+* bound.&minDigitsLength .. bound.&maxDigitsLength))
+*-- Indicates the address signalling digits.
+*-- Refer to ETSI EN 300 356 1 [23] Generic Number & Generic Digits parameters for encoding.
+*-- The coding of the subfields 'NumberQualifier' in Generic Number and 'TypeOfDigits' in
+*-- Generic Digits are irrelevant to the CAP;
+*-- the ASN.1 tags are sufficient to identify the parameter.
+*-- The ISUP format does not allow to exclude these subfields,
+*-- therefore the value is network operator specific.
+*--
+*-- The following parameters shall use Generic Number:
+*-- - AdditionalCallingPartyNumber for InitialDP
+*-- - AssistingSSPIPRoutingAddress for EstablishTemporaryConnection
+*-- - CorrelationID for AssistRequestInstructions
+*-- - CalledAddressValue for all occurrences, CallingAddressValue for all occurrences.
+*--
+*-- The following parameters shall use Generic Digits:
+*-- - CorrelationID in EstablishTemporaryConnection
+*-- - number in VariablePart
+*-- - digitsResponse in ReceivedInformationArg
+*-- - midCallEvents in oMidCallSpecificInfo and tMidCallSpecificInfo
+*--
+*-- In the digitsResponse and midCallevents, the digits may also include the '*', '#',
+*-- a, b, c and d digits by using the IA5 character encoding scheme. If the BCD even or
+*-- BCD odd encoding scheme is used, then the following encoding shall be applied for the
+*-- non-decimal characters: 1011 (*), 1100 (#).
+*--
+*-- AssistingSSPIPRoutingAddress in EstablishTemporaryConnection and CorrelationID in
+*-- AssistRequestInstructions may contain a Hex B digit as address signal. Refer to
+*-- Annex A.6 for the usage of the Hex B digit.
+*--
+*-- Note that when CorrelationID is transported in Generic Digits, then the digits shall
+*-- always be BCD encoded.
+*/
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+ gint ett = -1;
+ bool digits = FALSE;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ &parameter_tvb);
+
+ if (!parameter_tvb)
+ return offset;
+
+ if (hf_index == hf_camel_calledAddressValue) {
+ ett = ett_camel_calledAddressValue;
+ } else if (hf_index == hf_camel_callingAddressValue) {
+ ett = ett_camel_callingAddressValue;
+ } else if (hf_index == hf_camel_additionalCallingPartyNumber) {
+ ett = ett_camel_additionalcallingpartynumber;
+ } else if (hf_index == hf_camel_assistingSSPIPRoutingAddress) {
+ ett = ett_camel_assistingSSPIPRoutingAddress;
+ } else if (hf_index == hf_camel_correlationID) {
+ ett = ett_camel_correlationID;
+ digits = (opcode == opcode_establishTemporaryConnection) ? TRUE : FALSE;
+ } else if (hf_index == hf_camel_dTMFDigitsCompleted) {
+ ett = ett_camel_dTMFDigitsCompleted;
+ digits = TRUE;
+ } else if (hf_index == hf_camel_dTMFDigitsTimeOut) {
+ ett = ett_camel_dTMFDigitsTimeOut;
+ digits = TRUE;
+ } else if (hf_index == hf_camel_number) {
+ ett = ett_camel_number;
+ digits = TRUE;
+ } else if (hf_index == hf_camel_digitsResponse) {
+ ett = ett_camel_digitsResponse;
+ digits = TRUE;
+ }
+
+ subtree = proto_item_add_subtree(actx->created_item, ett);
+ if (digits) {
+ dissect_isup_generic_digits_parameter(parameter_tvb, subtree, NULL);
+ } else {
+ dissect_isup_generic_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+# I don't know how to "access" the EstablishTemporaryConnectionArg-PDU which would have been cleaner.
+#.FN_BODY EstablishTemporaryConnectionArg
+
+ if(camel_ver==2){
+ return dissect_camel_EstablishTemporaryConnectionArgV2(implicit_tag, tvb, offset, actx, tree, hf_index);
+ }
+%(DEFAULT_BODY)s
+
+#.FN_BODY SpecializedResourceReportArg
+ if (camel_ver < 4) {
+ return dissect_camel_SpecializedResourceReportArgV23(implicit_tag, tvb, offset, actx, tree, hf_camel_allAnnouncementsComplete);
+ }
+%(DEFAULT_BODY)s
+
+#.FN_BODY TimeAndTimezone VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+ proto_item *item;
+ gchar *digit_str;
+ guint length;
+ gchar year[5];
+ gchar month[3];
+ gchar day[3];
+ gchar hour[3];
+ gchar minute[3];
+ gchar second[3];
+
+ guint8 oct;
+ int8_t tz;
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ length = tvb_reported_length(parameter_tvb);
+ if (length < 8 /*cAPSpecificBoundSetminTimeAndTimezoneLength*/){
+ expert_add_info(actx->pinfo, actx->created_item, &ei_camel_par_wrong_length);
+ return offset;
+ }
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_timeandtimezone);
+ item = proto_tree_add_item_ret_display_string(subtree, hf_camel_timeandtimezone_time, parameter_tvb, 0, 7, ENC_BCD_DIGITS_0_9, actx->pinfo->pool, &digit_str);
+
+/*
+The Time Zone indicates the difference, expressed in quarters of an hour, between the local time and GMT. In the first of the two semi octets,
+the first bit (bit 3 of the seventh octet of the TP Service Centre Time Stamp field) represents the algebraic sign of this difference (0: positive, 1: negative).
+*/
+ oct = tvb_get_guint8(parameter_tvb,7);
+
+ /* packet-gsm_sms.c time dis_field_scts_aux() */
+ tz = (oct >> 4) + (oct & 0x07) * 10;
+ tz = (oct & 0x08) ? -tz : tz;
+
+ proto_tree_add_int_format_value(subtree, hf_camel_timeandtimezone_tz, parameter_tvb, 7, 1, tz, "GMT %%+d hours %%d minutes", tz / 4, tz %% 4 * 15);
+
+ /* ENC_BCD_DIGITS_0_9 truncates if the nibble is 0xf. */
+ if (strlen(digit_str) < 14 || strchr(digit_str, '?')) {
+ expert_add_info(actx->pinfo, item, &ei_camel_bcd_not_digit);
+ return offset;
+ }
+
+ (void) g_strlcpy(year, digit_str, 5);
+ (void) g_strlcpy(month, digit_str+4, 3);
+ (void) g_strlcpy(day, digit_str+6, 3);
+ (void) g_strlcpy(hour, digit_str+8, 3);
+ (void) g_strlcpy(minute, digit_str+10, 3);
+ (void) g_strlcpy(second, digit_str+12, 3);
+
+ proto_item_append_text(item, " (%%s-%%s-%%s %%s:%%s:%%s)",year,month,day,hour,minute,second);
+
+#.TYPE_ATTR
+PDPTypeOrganization TYPE = FT_UINT8 DISPLAY = BASE_DEC BITMASK = 0x0f STRINGS = VALS(gsm_map_PDP_Type_Organisation_vals)
+DateAndTime TYPE = FT_STRING DISPLAY = BASE_NONE
+Code/local TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = VALS(camel_opr_code_strings)
+ServiceInteractionIndicatorsTwo/holdTreatmentIndicator TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = VALS(camel_holdTreatmentIndicator_values)
+ServiceInteractionIndicatorsTwo/cwTreatmentIndicator TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = VALS(camel_cwTreatmentIndicator_values)
+ServiceInteractionIndicatorsTwo/ectTreatmentIndicator TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = VALS(camel_ectTreatmentIndicator_values)
+#.FIELD_ATTR
+EventSpecificInformationSMS/o-smsFailureSpecificInfo/failureCause ABBREV=mo-smsfailureCause
+EventSpecificInformationBCSM/routeSelectFailureSpecificInfo/failureCause ABBREV=routeSelectfailureCause
+EventSpecificInformationSMS/t-smsFailureSpecificInfo/failureCause ABBREV=t-smsfailureCause
+Tone/duration ABBREV=toneDuration
+GapIndicators/duration ABBREV=gapIndicatorsDuration
+InbandInfo/duration ABBREV=inbandInfoDuration
+
+#.END
diff --git a/epan/dissectors/asn1/camel/packet-camel-template.c b/epan/dissectors/asn1/camel/packet-camel-template.c
new file mode 100644
index 00000000..cf36f5c2
--- /dev/null
+++ b/epan/dissectors/asn1/camel/packet-camel-template.c
@@ -0,0 +1,1603 @@
+/* packet-camel-template.c
+ * Routines for Camel
+ * Copyright 2004, Tim Endean <endeant@hotmail.com>
+ * Copyright 2005, Olivier Jacques <olivier.jacques@hp.com>
+ * Copyright 2005, Javier Acuna <javier.acuna@sixbell.com>
+ * Updated to ETSI TS 129 078 V6.4.0 (2004-3GPP TS 29.078 version 6.4.0 Release 6 1 12)
+ * Copyright 2005-2010, Anders Broman <anders.broman@ericsson.com>
+ * Updated to 3GPP TS 29.078 version 7.3.0 Release 7 (2006-06)
+ * Built from the gsm-map dissector Copyright 2004, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References: ETSI 300 374
+ */
+/*
+ * Indentation logic: this file is indented with 2 spaces indentation.
+ * there are no tabs.
+ */
+#include "config.h"
+
+#include <stdlib.h>
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/tap.h>
+#include <epan/srt_table.h>
+#include <epan/stat_tap_ui.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <wsutil/strtoi.h>
+
+#include "packet-ber.h"
+#include "packet-camel.h"
+#include "packet-q931.h"
+#include "packet-e164.h"
+#include "packet-isup.h"
+#include "packet-gsm_map.h"
+#include "packet-gsm_a_common.h"
+#include "packet-inap.h"
+#include "packet-tcap.h"
+
+#define PNAME "Camel"
+#define PSNAME "CAMEL"
+#define PFNAME "camel"
+
+/* Initialize the protocol and registered fields */
+static int proto_camel = -1;
+int date_format = 1; /*assume european date format */
+int camel_tap = -1;
+/* Global variables */
+static guint32 opcode=0;
+static guint32 errorCode=0;
+static guint32 camel_ver = 0;
+
+/* When several Camel components are received in a single TCAP message,
+ we have to use several buffers for the stored parameters
+ because else this data are erased during TAP dissector call */
+#define MAX_CAMEL_INSTANCE 10
+static int camelsrt_global_current=0;
+static struct camelsrt_info_t camelsrt_global_info[MAX_CAMEL_INSTANCE];
+
+/* ROSE context */
+static rose_ctx_t camel_rose_ctx;
+
+static int hf_digit = -1;
+static int hf_camel_extension_code_local = -1;
+static int hf_camel_error_code_local = -1;
+static int hf_camel_cause_indicator = -1;
+static int hf_camel_PDPTypeNumber_etsi = -1;
+static int hf_camel_PDPTypeNumber_ietf = -1;
+static int hf_camel_PDPAddress_IPv4 = -1;
+static int hf_camel_PDPAddress_IPv6 = -1;
+static int hf_camel_cellGlobalIdOrServiceAreaIdFixedLength = -1;
+static int hf_camel_RP_Cause = -1;
+static int hf_camel_CAMEL_AChBillingChargingCharacteristics = -1;
+static int hf_camel_CAMEL_FCIBillingChargingCharacteristics = -1;
+static int hf_camel_CAMEL_FCIGPRSBillingChargingCharacteristics = -1;
+static int hf_camel_CAMEL_FCISMSBillingChargingCharacteristics = -1;
+static int hf_camel_CAMEL_SCIBillingChargingCharacteristics = -1;
+static int hf_camel_CAMEL_SCIGPRSBillingChargingCharacteristics = -1;
+static int hf_camel_CAMEL_CallResult = -1;
+
+/* Used by persistent data */
+static int hf_camelsrt_SessionId=-1;
+//static int hf_camelsrt_RequestNumber=-1;
+static int hf_camelsrt_Duplicate=-1;
+static int hf_camelsrt_RequestFrame=-1;
+static int hf_camelsrt_ResponseFrame=-1;
+//static int hf_camelsrt_DeltaTime=-1;
+//static int hf_camelsrt_SessionTime=-1;
+static int hf_camelsrt_DeltaTime31=-1;
+static int hf_camelsrt_DeltaTime75=-1;
+static int hf_camelsrt_DeltaTime65=-1;
+static int hf_camelsrt_DeltaTime22=-1;
+static int hf_camelsrt_DeltaTime35=-1;
+static int hf_camelsrt_DeltaTime80=-1;
+static int hf_camel_timeandtimezone_time = -1;
+static int hf_camel_timeandtimezone_tz = -1;
+
+#include "packet-camel-hf.c"
+
+static struct camelsrt_info_t * gp_camelsrt_info;
+
+/* Forward declarations */
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx);
+static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx);
+static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx);
+static int dissect_camel_CAMEL_AChBillingChargingCharacteristics(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_camel_CAMEL_AChBillingChargingCharacteristicsV2(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_camel_CAMEL_CallResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_camel_EstablishTemporaryConnectionArgV2(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_camel_SpecializedResourceReportArgV23(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+/* XXX - can we get rid of these and always do the SRT work? */
+static gboolean gcamel_PersistentSRT=FALSE;
+static gboolean gcamel_DisplaySRT=FALSE;
+gboolean gcamel_StatSRT=FALSE;
+
+/* Initialize the subtree pointers */
+static gint ett_camel = -1;
+static gint ett_camelisup_parameter = -1;
+static gint ett_camel_AccessPointName = -1;
+static gint ett_camel_pdptypenumber = -1;
+static gint ett_camel_cause = -1;
+static gint ett_camel_RPcause = -1;
+static gint ett_camel_stat = -1;
+static gint ett_camel_calledpartybcdnumber = -1;
+static gint ett_camel_callingpartynumber = -1;
+static gint ett_camel_originalcalledpartyid = -1;
+static gint ett_camel_redirectingpartyid = -1;
+static gint ett_camel_locationnumber = -1;
+static gint ett_camel_additionalcallingpartynumber = -1;
+static gint ett_camel_calledAddressValue = -1;
+static gint ett_camel_callingAddressValue = -1;
+static gint ett_camel_assistingSSPIPRoutingAddress = -1;
+static gint ett_camel_correlationID = -1;
+static gint ett_camel_dTMFDigitsCompleted = -1;
+static gint ett_camel_dTMFDigitsTimeOut = -1;
+static gint ett_camel_number = -1;
+static gint ett_camel_digitsResponse = -1;
+static gint ett_camel_timeandtimezone = -1;
+
+#include "packet-camel-ett.c"
+
+static expert_field ei_camel_unknown_invokeData = EI_INIT;
+static expert_field ei_camel_unknown_returnResultData = EI_INIT;
+static expert_field ei_camel_unknown_returnErrorData = EI_INIT;
+static expert_field ei_camel_par_wrong_length = EI_INIT;
+static expert_field ei_camel_bcd_not_digit = EI_INIT;
+
+/* Preference settings default */
+#define MAX_SSN 254
+static range_t *global_ssn_range;
+static dissector_handle_t camel_handle;
+static dissector_handle_t camel_v1_handle;
+static dissector_handle_t camel_v2_handle;
+static dissector_handle_t camel_v3_handle;
+static dissector_handle_t camel_v4_handle;
+
+/* Global variables */
+
+static guint8 PDPTypeOrganization;
+static guint8 PDPTypeNumber;
+const char *camel_obj_id = NULL;
+gboolean is_ExtensionField =FALSE;
+
+/* Global hash tables*/
+static wmem_map_t *srt_calls = NULL;
+static guint32 camelsrt_global_SessionId=1;
+
+static int camel_opcode_type;
+#define CAMEL_OPCODE_INVOKE 1
+#define CAMEL_OPCODE_RETURN_RESULT 2
+#define CAMEL_OPCODE_RETURN_ERROR 3
+#define CAMEL_OPCODE_REJECT 4
+
+static const value_string camel_Component_vals[] = {
+ { 1, "invoke" },
+ { 2, "returnResultLast" },
+ { 3, "returnError" },
+ { 4, "reject" },
+ { 0, NULL }
+};
+
+const value_string camelSRTtype_naming[]= {
+ { CAMELSRT_SESSION, "TCAP_Session" },
+ { CAMELSRT_VOICE_INITIALDP, "InitialDP/Continue" },
+ { CAMELSRT_VOICE_ACR1, "Slice1_ACR/ACH" },
+ { CAMELSRT_VOICE_ACR2, "Slice2_ACR/ACH" },
+ { CAMELSRT_VOICE_ACR3, "Slice3_ACR/ACH" },
+ { CAMELSRT_VOICE_DISC, "EvtRepBSCM/Release" },
+ { CAMELSRT_SMS_INITIALDP, "InitialDP/ContinueSMS" },
+ { CAMELSRT_GPRS_INITIALDP, "InitialDP/ContinueGPRS" },
+ { CAMELSRT_GPRS_REPORT, "EvtRepGPRS/ContinueGPRS" },
+ { 0,NULL}
+};
+
+#define EUROPEAN_DATE 1
+#define AMERICAN_DATE 2
+#define CAMEL_DATE_AND_TIME_LEN 20 /* 2*5 + 4 + 5 + 1 (HH:MM:SS;mm/dd/yyyy) */
+
+static const enum_val_t date_options[] = {
+ { "european", "DD/MM/YYYY", EUROPEAN_DATE },
+ { "american", "MM/DD/YYYY", AMERICAN_DATE },
+ { NULL, NULL, 0 }
+};
+
+static const value_string digit_value[] = {
+ { 0, "0"},
+ { 1, "1"},
+ { 2, "2"},
+ { 3, "3"},
+ { 4, "4"},
+ { 5, "5"},
+ { 6, "6"},
+ { 7, "7"},
+ { 8, "8"},
+ { 9, "9"},
+ { 10, "spare"},
+ { 11, "spare"},
+ { 12, "spare"},
+ { 13, "spare"},
+ { 0, NULL}
+
+};
+
+
+#if 0
+static const value_string camel_nature_of_addr_indicator_values[] = {
+ { 0x00, "unknown" },
+ { 0x01, "International Number" },
+ { 0x02, "National Significant Number" },
+ { 0x03, "Network Specific Number" },
+ { 0x04, "Subscriber Number" },
+ { 0x05, "Reserved" },
+ { 0x06, "Abbreviated Number" },
+ { 0x07, "Reserved for extension" },
+ { 0, NULL }
+};
+static const value_string camel_number_plan_values[] = {
+ { 0x00, "unknown" },
+ { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" },
+ { 0x02, "spare" },
+ { 0x03, "Data Numbering (ITU-T Rec. X.121)" },
+ { 0x04, "Telex Numbering (ITU-T Rec. F.69)" },
+ { 0x05, "spare" },
+ { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" },
+ { 0x07, "spare" },
+ { 0x08, "National Numbering" },
+ { 0x09, "Private Numbering" },
+ { 0x0f, "Reserved for extension" },
+ { 0, NULL }
+};
+#endif
+
+/* End includes from old" packet-camel.c */
+
+static const value_string camel_RP_Cause_values[] = {
+ { 1, "Unassigned (unallocated) number" },
+ { 8, "Operator determined barring" },
+ { 10, "Call barred" },
+ { 11, "Reserved" },
+ { 21, "Short message transfer rejected" },
+ { 27, "Destination out of order" },
+ { 28, "Unidentified subscriber" },
+ { 29, "Facility Rejected" },
+ { 30, "Unknown subscriber" },
+ { 38, "Network out of order" },
+ { 41, "Temporary failure" },
+ { 42, "Congestion" },
+ { 47, "Resources unavailable, unspecified" },
+ { 50, "Requested facility not subscribed" },
+ { 69, "Requested facility not implemented" },
+ { 81, "Invalid short message transfer reference value" },
+ { 95, "Semantically incorrect message" },
+ { 96, "Invalid mandatory information" },
+ { 97, " Message Type non-existent or not implemented" },
+ { 98, "Message not compatible with short message protocol state" },
+ { 99, "Information element non existent or not implemented" },
+ { 111, "Protocol error, unspecified" },
+ { 127, "Interworking, unspecified" },
+ { 22,"Memory capacity exceeded" },
+ { 0, NULL }
+};
+
+static const value_string camel_holdTreatmentIndicator_values[] = {
+ { 0x01, "acceptHoldRequest" },
+ { 0x02, "rejectHoldRequest" },
+ { 0, NULL }
+};
+static const value_string camel_cwTreatmentIndicator_values[] = {
+ { 0x01, "acceptCw" },
+ { 0x02, "rejectCw" },
+ { 0, NULL }
+};
+static const value_string camel_ectTreatmentIndicator_values[] = {
+ { 0x01, "acceptEctRequest" },
+ { 0x02, "rejectEctRequest" },
+ { 0, NULL }
+};
+
+#include "packet-camel-val.h"
+
+#include "packet-camel-table.c"
+
+/*
+ * DEBUG fonctions
+ */
+
+#undef DEBUG_CAMELSRT
+/* #define DEBUG_CAMELSRT */
+
+#ifdef DEBUG_CAMELSRT
+#include <stdio.h>
+#include <stdarg.h>
+static guint debug_level = 99;
+
+static void dbg(guint level, char *fmt, ...) {
+ va_list ap;
+
+ if (level > debug_level) return;
+ va_start(ap,fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+}
+#endif
+
+static void
+camelstat_init(struct register_srt* srt _U_, GArray* srt_array)
+{
+ srt_stat_table *camel_srt_table;
+ gchar* tmp_str;
+ guint32 i;
+
+ camel_srt_table = init_srt_table("CAMEL Commands", NULL, srt_array, NB_CAMELSRT_CATEGORY, NULL, NULL, NULL);
+ for (i = 0; i < NB_CAMELSRT_CATEGORY; i++)
+ {
+ tmp_str = val_to_str_wmem(NULL,i,camelSRTtype_naming,"Unknown (%d)");
+ init_srt_table_row(camel_srt_table, i, tmp_str);
+ wmem_free(NULL, tmp_str);
+ }
+}
+
+static tap_packet_status
+camelstat_packet(void *pcamel, packet_info *pinfo, epan_dissect_t *edt _U_, const void *psi, tap_flags_t flags _U_)
+{
+ guint idx = 0;
+ srt_stat_table *camel_srt_table;
+ const struct camelsrt_info_t * pi=(const struct camelsrt_info_t *)psi;
+ srt_data_t *data = (srt_data_t *)pcamel;
+ int i;
+
+ for (i=1; i<NB_CAMELSRT_CATEGORY; i++) {
+ if ( pi->bool_msginfo[i] &&
+ pi->msginfo[i].is_delta_time
+ && pi->msginfo[i].request_available
+ && !pi->msginfo[i].is_duplicate )
+ {
+ camel_srt_table = g_array_index(data->srt_array, srt_stat_table*, idx);
+ add_srt_table_data(camel_srt_table, i, &pi->msginfo[i].req_time, pinfo);
+ }
+ } /* category */
+ return TAP_PACKET_REDRAW;
+}
+
+
+static char camel_number_to_char(int number)
+{
+ if (number < 10)
+ return (char) (number + 48 ); /* this is ASCII specific */
+ else
+ return (char) (number + 55 );
+}
+
+/*
+ * 24.011 8.2.5.4
+ */
+static guint8
+dissect_RP_cause_ie(tvbuff_t *tvb, guint32 offset, _U_ guint len,
+ proto_tree *tree, int hf_cause_value, guint8 *cause_value)
+{
+ guint8 oct;
+ guint32 curr_offset;
+
+ curr_offset = offset;
+ oct = tvb_get_guint8(tvb, curr_offset);
+
+ *cause_value = oct & 0x7f;
+
+ proto_tree_add_uint(tree, hf_cause_value, tvb, curr_offset, 1, oct);
+ curr_offset++;
+
+ if ((oct & 0x80)) {
+ oct = tvb_get_guint8(tvb, curr_offset);
+ proto_tree_add_uint_format(tree, hf_cause_value,
+ tvb, curr_offset, 1, oct,
+ "Diagnostic : %u", oct);
+ curr_offset++;
+ }
+ return(curr_offset - offset);
+}
+
+static int dissect_camel_InitialDPArgExtensionV2(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+#include "packet-camel-fn.c"
+
+#include "packet-camel-table2.c"
+
+/*
+ * Functions needed for Hash-Table
+ */
+
+/* compare 2 keys */
+static gint
+camelsrt_call_equal(gconstpointer k1, gconstpointer k2)
+{
+ const struct camelsrt_call_info_key_t *key1 = (const struct camelsrt_call_info_key_t *) k1;
+ const struct camelsrt_call_info_key_t *key2 = (const struct camelsrt_call_info_key_t *) k2;
+
+ return (key1->SessionIdKey == key2->SessionIdKey) ;
+}
+
+/* calculate a hash key */
+static guint
+camelsrt_call_hash(gconstpointer k)
+{
+ const struct camelsrt_call_info_key_t *key = (const struct camelsrt_call_info_key_t *) k;
+ return key->SessionIdKey;
+}
+
+/*
+ * Find the dialog by Key and Time
+ */
+static struct camelsrt_call_t *
+find_camelsrt_call(struct camelsrt_call_info_key_t *p_camelsrt_call_key)
+{
+ struct camelsrt_call_t *p_camelsrt_call = NULL;
+ p_camelsrt_call = (struct camelsrt_call_t *)wmem_map_lookup(srt_calls, p_camelsrt_call_key);
+
+#ifdef DEBUG_CAMELSRT
+ if(p_camelsrt_call) {
+ dbg(10,"D%d ", p_camelsrt_call->session_id);
+ } else {
+ dbg(23,"Not in hash ");
+ }
+#endif
+
+ return p_camelsrt_call;
+}
+
+/*
+ * Initialize the data per call for the Service Response Time Statistics
+ * Data are linked to a Camel operation in a TCAP transaction
+ */
+static void
+raz_camelsrt_call (struct camelsrt_call_t *p_camelsrt_call)
+{
+ memset(p_camelsrt_call,0,sizeof(struct camelsrt_call_t));
+}
+
+/*
+ * New record to create, to identify a new transaction
+ */
+static struct camelsrt_call_t *
+new_camelsrt_call(struct camelsrt_call_info_key_t *p_camelsrt_call_key)
+{
+ struct camelsrt_call_info_key_t *p_new_camelsrt_call_key;
+ struct camelsrt_call_t *p_new_camelsrt_call = NULL;
+
+ /* Register the transaction in the hash table
+ with the tcap transaction Id as main Key
+ Once created, this entry will be updated later */
+
+ p_new_camelsrt_call_key = wmem_new(wmem_file_scope(), struct camelsrt_call_info_key_t);
+ p_new_camelsrt_call_key->SessionIdKey = p_camelsrt_call_key->SessionIdKey;
+ p_new_camelsrt_call = wmem_new(wmem_file_scope(), struct camelsrt_call_t);
+ raz_camelsrt_call(p_new_camelsrt_call);
+ p_new_camelsrt_call->session_id = camelsrt_global_SessionId++;
+#ifdef DEBUG_CAMELSRT
+ dbg(10,"D%d ", p_new_camelsrt_call->session_id);
+#endif
+ /* store it */
+ wmem_map_insert(srt_calls, p_new_camelsrt_call_key, p_new_camelsrt_call);
+ return p_new_camelsrt_call;
+}
+
+/*
+ * Routine called when the TAP is initialized.
+ * so hash table are (re)created
+ */
+static void
+camelsrt_init_routine(void)
+{
+ /* Reset the session counter */
+ camelsrt_global_SessionId=1;
+
+ /* The Display of SRT is enable
+ * 1) For wireshark only if Persistent Stat is enable
+ * 2) For Tshark, if the SRT CLI tap is registered
+ */
+ gcamel_DisplaySRT=gcamel_PersistentSRT || gcamel_StatSRT;
+}
+
+
+/*
+ * Update a record with the data of the Request
+ */
+static void
+update_camelsrt_call(struct camelsrt_call_t *p_camelsrt_call, packet_info *pinfo,
+ guint msg_category)
+{
+ p_camelsrt_call->category[msg_category].req_num = pinfo->num;
+ p_camelsrt_call->category[msg_category].rsp_num = 0;
+ p_camelsrt_call->category[msg_category].responded = FALSE;
+ p_camelsrt_call->category[msg_category].req_time = pinfo->abs_ts;
+}
+
+/*
+ * Update the Camel session info, and close the session.
+ * Then remove the associated context, if we do not have persistentSRT enable
+ */
+static void
+camelsrt_close_call_matching(packet_info *pinfo,
+ struct camelsrt_info_t *p_camelsrt_info)
+{
+ struct camelsrt_call_t *p_camelsrt_call;
+ struct camelsrt_call_info_key_t camelsrt_call_key;
+ nstime_t delta;
+
+ p_camelsrt_info->bool_msginfo[CAMELSRT_SESSION]=TRUE;
+#ifdef DEBUG_CAMELSRT
+ dbg(10,"\n Session end #%u\n", pinfo->num);
+#endif
+ /* look only for matching request, if matching conversation is available. */
+ camelsrt_call_key.SessionIdKey = p_camelsrt_info->tcap_session_id;
+
+#ifdef DEBUG_CAMELSRT
+ dbg(11,"Search key %lu ",camelsrt_call_key.SessionIdKey);
+#endif
+ p_camelsrt_call = find_camelsrt_call(&camelsrt_call_key);
+ if(p_camelsrt_call) {
+#ifdef DEBUG_CAMELSRT
+ dbg(12,"Found ");
+#endif
+ /* Calculate Service Response Time */
+ nstime_delta(&delta, &pinfo->abs_ts, &p_camelsrt_call->category[CAMELSRT_SESSION].req_time);
+ p_camelsrt_call->category[CAMELSRT_SESSION].responded = TRUE;
+ p_camelsrt_info->msginfo[CAMELSRT_SESSION].request_available = TRUE;
+ p_camelsrt_info->msginfo[CAMELSRT_SESSION].is_delta_time = TRUE;
+ p_camelsrt_info->msginfo[CAMELSRT_SESSION].delta_time = delta; /* give it to tap */
+ p_camelsrt_info->msginfo[CAMELSRT_SESSION].req_time = p_camelsrt_call->category[CAMELSRT_SESSION].req_time;
+
+ if ( !gcamel_PersistentSRT ) {
+ wmem_map_remove(srt_calls, &camelsrt_call_key);
+#ifdef DEBUG_CAMELSRT
+ dbg(20,"remove hash ");
+#endif
+ } else {
+#ifdef DEBUG_CAMELSRT
+ dbg(20,"keep hash ");
+#endif
+ }
+ } /* call reference found */
+}
+
+/*
+ * Callback function for the TCAP dissector
+ * This callback function is used to inform the camel layer, that the session
+ * has been Closed or Aborted by a TCAP message without Camel component
+ * So, we can close the context for camel session, and update the stats.
+ */
+static void
+camelsrt_tcap_matching(tvbuff_t *tvb _U_, packet_info *pinfo,
+ proto_tree *tree _U_,
+ struct tcaphash_context_t *p_tcap_context)
+{
+ struct camelsrt_info_t *p_camelsrt_info;
+
+#ifdef DEBUG_CAMELSRT
+ dbg(11,"Camel_CallBack ");
+#endif
+ p_camelsrt_info=camelsrt_razinfo();
+
+ p_camelsrt_info->tcap_context=p_tcap_context;
+ if (p_tcap_context) {
+#ifdef DEBUG_CAMELSRT
+ dbg(11,"Close TCAP ");
+#endif
+ p_camelsrt_info->tcap_session_id = p_tcap_context->session_id;
+ camelsrt_close_call_matching(pinfo, p_camelsrt_info);
+ tap_queue_packet(camel_tap, pinfo, p_camelsrt_info);
+ }
+}
+
+/*
+ * Create the record identifiying the Camel session
+ * As the Tcap session id given by the TCAP dissector is uniq, it will be
+ * used as main key.
+ */
+static void
+camelsrt_begin_call_matching(packet_info *pinfo,
+ struct camelsrt_info_t *p_camelsrt_info)
+{
+ struct camelsrt_call_t *p_camelsrt_call;
+ struct camelsrt_call_info_key_t camelsrt_call_key;
+
+ p_camelsrt_info->bool_msginfo[CAMELSRT_SESSION]=TRUE;
+
+ /* prepare the key data */
+ camelsrt_call_key.SessionIdKey = p_camelsrt_info->tcap_session_id;
+
+ /* look up the request */
+#ifdef DEBUG_CAMELSRT
+ dbg(10,"\n Session begin #%u\n", pinfo->num);
+ dbg(11,"Search key %lu ",camelsrt_call_key.SessionIdKey);
+#endif
+ p_camelsrt_call = (struct camelsrt_call_t *)wmem_map_lookup(srt_calls, &camelsrt_call_key);
+ if (p_camelsrt_call) {
+ /* We have seen this request before -> do nothing */
+#ifdef DEBUG_CAMELSRT
+ dbg(22,"Already seen ");
+#endif
+ } else { /* p_camelsrt_call has not been found */
+#ifdef DEBUG_CAMELSRT
+ dbg(10,"New key %lu ",camelsrt_call_key.SessionIdKey);
+#endif
+ p_camelsrt_call = new_camelsrt_call(&camelsrt_call_key);
+ p_camelsrt_call->tcap_context=(struct tcaphash_context_t *)p_camelsrt_info->tcap_context;
+ update_camelsrt_call(p_camelsrt_call, pinfo,CAMELSRT_SESSION);
+
+#ifdef DEBUG_CAMELSRT
+ dbg(11,"Update Callback ");
+#endif
+ p_camelsrt_call->tcap_context->callback=camelsrt_tcap_matching;
+ }
+}
+
+/*
+ * Register the request, and try to find the response
+ *
+ */
+static void
+camelsrt_request_call_matching(tvbuff_t *tvb, packet_info *pinfo,
+ proto_tree *tree,
+ struct camelsrt_info_t *p_camelsrt_info,
+ guint srt_type )
+{
+ struct camelsrt_call_t *p_camelsrt_call;
+ struct camelsrt_call_info_key_t camelsrt_call_key;
+ proto_item *ti, *hidden_item;
+
+#ifdef DEBUG_CAMELSRT
+ dbg(10,"\n %s #%u\n", val_to_str_const(srt_type, camelSRTtype_naming, "Unk"),pinfo->num);
+#endif
+
+ /* look only for matching request, if matching conversation is available. */
+ camelsrt_call_key.SessionIdKey = p_camelsrt_info->tcap_session_id;
+
+#ifdef DEBUG_CAMELSRT
+ dbg(11,"Search key %lu ", camelsrt_call_key.SessionIdKey);
+#endif
+ p_camelsrt_call = find_camelsrt_call(&camelsrt_call_key);
+ if(p_camelsrt_call) {
+#ifdef DEBUG_CAMELSRT
+ dbg(12,"Found ");
+#endif
+ if (gcamel_DisplaySRT)
+ proto_tree_add_uint(tree, hf_camelsrt_SessionId, tvb, 0,0, p_camelsrt_call->session_id);
+
+
+ /* Hmm.. As there are several slices ApplyChargingReport/ApplyCharging
+ * we will prepare the measurement for 3 slices with 3 categories */
+ if (srt_type==CAMELSRT_VOICE_ACR1) {
+ if (p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].req_num == 0) {
+ srt_type=CAMELSRT_VOICE_ACR1;
+ } else if ( (p_camelsrt_call->category[CAMELSRT_VOICE_ACR2].req_num == 0)
+ && (p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].rsp_num != 0)
+ && (p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].rsp_num < pinfo->num) ) {
+ srt_type=CAMELSRT_VOICE_ACR2;
+ } else if ( (p_camelsrt_call->category[CAMELSRT_VOICE_ACR3].req_num == 0)
+ && (p_camelsrt_call->category[CAMELSRT_VOICE_ACR2].rsp_num != 0)
+ && (p_camelsrt_call->category[CAMELSRT_VOICE_ACR2].rsp_num < pinfo->num) ) {
+ srt_type=CAMELSRT_VOICE_ACR3;
+ } else if (p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].rsp_num != 0
+ && p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].rsp_num > pinfo->num) {
+ srt_type=CAMELSRT_VOICE_ACR1;
+ } else if ( p_camelsrt_call->category[CAMELSRT_VOICE_ACR2].rsp_num != 0
+ && p_camelsrt_call->category[CAMELSRT_VOICE_ACR2].rsp_num > pinfo->num) {
+ srt_type=CAMELSRT_VOICE_ACR2;
+ } else if (p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].rsp_num != 0
+ && p_camelsrt_call->category[CAMELSRT_VOICE_ACR3].rsp_num > pinfo->num) {
+ srt_type=CAMELSRT_VOICE_ACR3;
+ }
+#ifdef DEBUG_CAMELSRT
+ dbg(70,"Request ACR %u ",srt_type);
+ dbg(70,"ACR1 %u %u",p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].req_num, p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].rsp_num);
+ dbg(70,"ACR2 %u %u",p_camelsrt_call->category[CAMELSRT_VOICE_ACR2].req_num, p_camelsrt_call->category[CAMELSRT_VOICE_ACR2].rsp_num);
+ dbg(70,"ACR3 %u %u",p_camelsrt_call->category[CAMELSRT_VOICE_ACR3].req_num, p_camelsrt_call->category[CAMELSRT_VOICE_ACR3].rsp_num);
+#endif
+ } /* not ACR */
+ p_camelsrt_info->bool_msginfo[srt_type]=TRUE;
+
+
+ if (p_camelsrt_call->category[srt_type].req_num == 0) {
+ /* We have not yet seen a request to that call, so this must be the first request
+ remember its frame number. */
+#ifdef DEBUG_CAMELSRT
+ dbg(5,"Set reqlink #%u ", pinfo->num);
+#endif
+ update_camelsrt_call(p_camelsrt_call, pinfo, srt_type);
+ } else {
+ /* We have seen a request to this call - but was it *this* request? */
+ if (p_camelsrt_call->category[srt_type].req_num != pinfo->num) {
+
+ if (srt_type!=CAMELSRT_VOICE_DISC) {
+ /* No, so it's a duplicate request. Mark it as such. */
+#ifdef DEBUG_CAMELSRT
+ dbg(21,"Display_duplicate with req %d ", p_camelsrt_call->category[srt_type].req_num);
+#endif
+ p_camelsrt_info->msginfo[srt_type].is_duplicate = TRUE;
+ if (gcamel_DisplaySRT){
+ hidden_item = proto_tree_add_uint(tree, hf_camelsrt_Duplicate, tvb, 0,0, 77);
+ proto_item_set_hidden(hidden_item);
+ }
+
+ } else {
+ /* Ignore duplicate frame */
+ if (pinfo->num > p_camelsrt_call->category[srt_type].req_num) {
+ p_camelsrt_call->category[srt_type].req_num = pinfo->num;
+#ifdef DEBUG_CAMELSRT
+ dbg(5,"DISC Set reqlink #%u ", pinfo->num);
+#endif
+ update_camelsrt_call(p_camelsrt_call, pinfo, srt_type);
+ } /* greater frame */
+ } /* DISC */
+ } /* req_num already seen */
+ } /* req_num != 0 */
+
+ /* add link to response frame, if available */
+ if ( gcamel_DisplaySRT &&
+ (p_camelsrt_call->category[srt_type].rsp_num != 0) &&
+ (p_camelsrt_call->category[srt_type].req_num != 0) &&
+ (p_camelsrt_call->category[srt_type].req_num == pinfo->num) ) {
+#ifdef DEBUG_CAMELSRT
+ dbg(20,"Display_framersplink %d ",p_camelsrt_call->category[srt_type].rsp_num);
+#endif
+ ti = proto_tree_add_uint_format(tree, hf_camelsrt_RequestFrame, tvb, 0, 0,
+ p_camelsrt_call->category[srt_type].rsp_num,
+ "Linked response %s in frame %u",
+ val_to_str_const(srt_type, camelSRTtype_naming, "Unk"),
+ p_camelsrt_call->category[srt_type].rsp_num);
+ proto_item_set_generated(ti);
+ } /* frame valid */
+ } /* call reference */
+}
+
+/*
+ * Display the delta time between two messages in a field corresponding
+ * to the category (hf_camelsrt_DeltaTimexx).
+ */
+static void
+camelsrt_display_DeltaTime(proto_tree *tree, tvbuff_t *tvb, nstime_t *value_ptr,
+ guint category)
+{
+ proto_item *ti;
+
+ if ( gcamel_DisplaySRT ) {
+ switch(category) {
+ case CAMELSRT_VOICE_INITIALDP:
+ ti = proto_tree_add_time(tree, hf_camelsrt_DeltaTime31, tvb, 0, 0, value_ptr);
+ proto_item_set_generated(ti);
+ break;
+
+ case CAMELSRT_VOICE_ACR1:
+ case CAMELSRT_VOICE_ACR2:
+ case CAMELSRT_VOICE_ACR3:
+ ti = proto_tree_add_time(tree, hf_camelsrt_DeltaTime22, tvb, 0, 0, value_ptr);
+ proto_item_set_generated(ti);
+ break;
+
+ case CAMELSRT_VOICE_DISC:
+ ti = proto_tree_add_time(tree, hf_camelsrt_DeltaTime35, tvb, 0, 0, value_ptr);
+ proto_item_set_generated(ti);
+ break;
+
+ case CAMELSRT_GPRS_INITIALDP:
+ ti = proto_tree_add_time(tree, hf_camelsrt_DeltaTime75, tvb, 0, 0, value_ptr);
+ proto_item_set_generated(ti);
+ break;
+
+ case CAMELSRT_GPRS_REPORT:
+ ti = proto_tree_add_time(tree, hf_camelsrt_DeltaTime80, tvb, 0, 0, value_ptr);
+ proto_item_set_generated(ti);
+ break;
+
+ case CAMELSRT_SMS_INITIALDP:
+ ti = proto_tree_add_time(tree, hf_camelsrt_DeltaTime65, tvb, 0, 0, value_ptr);
+ proto_item_set_generated(ti);
+ break;
+
+ default:
+ break;
+ }
+ }
+}
+
+/*
+ * Check if the received message is a response to a previous request
+ * registered is the camel session context.
+ */
+static void
+camelsrt_report_call_matching(tvbuff_t *tvb, packet_info *pinfo,
+ proto_tree *tree,
+ struct camelsrt_info_t *p_camelsrt_info,
+ guint srt_type)
+{
+ struct camelsrt_call_t *p_camelsrt_call;
+ struct camelsrt_call_info_key_t camelsrt_call_key;
+ nstime_t delta;
+ proto_item *ti, *hidden_item;
+
+#ifdef DEBUG_CAMELSRT
+ dbg(10,"\n %s #%u\n", val_to_str_const(srt_type, camelSRTtype_naming, "Unk"),pinfo->num);
+#endif
+ camelsrt_call_key.SessionIdKey = p_camelsrt_info->tcap_session_id;
+ /* look only for matching request, if matching conversation is available. */
+
+#ifdef DEBUG_CAMELSRT
+ dbg(11,"Search key %lu ",camelsrt_call_key.SessionIdKey);
+#endif
+ p_camelsrt_call = find_camelsrt_call(&camelsrt_call_key);
+ if(p_camelsrt_call) {
+#ifdef DEBUG_CAMELSRT
+ dbg(12,"Found, req=%d ",p_camelsrt_call->category[srt_type].req_num);
+#endif
+ if ( gcamel_DisplaySRT )
+ proto_tree_add_uint(tree, hf_camelsrt_SessionId, tvb, 0,0, p_camelsrt_call->session_id);
+
+ if (srt_type==CAMELSRT_VOICE_ACR1) {
+ if (p_camelsrt_call->category[CAMELSRT_VOICE_ACR3].req_num != 0
+ && p_camelsrt_call->category[CAMELSRT_VOICE_ACR3].req_num < pinfo->num) {
+ srt_type=CAMELSRT_VOICE_ACR1;
+ } else if ( p_camelsrt_call->category[CAMELSRT_VOICE_ACR2].req_num != 0
+ && p_camelsrt_call->category[CAMELSRT_VOICE_ACR2].req_num < pinfo->num) {
+ srt_type=CAMELSRT_VOICE_ACR2;
+ } else if (p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].req_num != 0
+ && p_camelsrt_call->category[CAMELSRT_VOICE_ACR1].req_num < pinfo->num) {
+ srt_type=CAMELSRT_VOICE_ACR1;
+ }
+#ifdef DEBUG_CAMELSRT
+ dbg(70,"Report ACR %u ",srt_type);
+#endif
+ } /* not ACR */
+ p_camelsrt_info->bool_msginfo[srt_type]=TRUE;
+
+ if (p_camelsrt_call->category[srt_type].rsp_num == 0) {
+ if ( (p_camelsrt_call->category[srt_type].req_num != 0)
+ && (pinfo->num > p_camelsrt_call->category[srt_type].req_num) ){
+ /* We have not yet seen a response to that call, so this must be the first response;
+ remember its frame number only if response comes after request */
+#ifdef DEBUG_CAMELSRT
+ dbg(14,"Set reslink #%d req %u ",pinfo->num, p_camelsrt_call->category[srt_type].req_num);
+#endif
+ p_camelsrt_call->category[srt_type].rsp_num = pinfo->num;
+
+ } else {
+#ifdef DEBUG_CAMELSRT
+ dbg(2,"badreslink #%u req %u ",pinfo->num, p_camelsrt_call->category[srt_type].req_num);
+#endif
+ } /* req_num != 0 */
+ } else { /* rsp_num != 0 */
+ /* We have seen a response to this call - but was it *this* response? */
+ if (p_camelsrt_call->category[srt_type].rsp_num != pinfo->num) {
+ /* No, so it's a duplicate response. Mark it as such. */
+#ifdef DEBUG_CAMELSRT
+ dbg(21,"Display_duplicate rsp=%d ", p_camelsrt_call->category[srt_type].rsp_num);
+#endif
+ p_camelsrt_info->msginfo[srt_type].is_duplicate = TRUE;
+ if ( gcamel_DisplaySRT ){
+ hidden_item = proto_tree_add_uint(tree, hf_camelsrt_Duplicate, tvb, 0,0, 77);
+ proto_item_set_hidden(hidden_item);
+ }
+ }
+ } /* rsp_num != 0 */
+
+ if ( (p_camelsrt_call->category[srt_type].req_num != 0) &&
+ (p_camelsrt_call->category[srt_type].rsp_num != 0) &&
+ (p_camelsrt_call->category[srt_type].rsp_num == pinfo->num) ) {
+
+ p_camelsrt_call->category[srt_type].responded = TRUE;
+ p_camelsrt_info->msginfo[srt_type].request_available = TRUE;
+#ifdef DEBUG_CAMELSRT
+ dbg(20,"Display_frameReqlink %d ",p_camelsrt_call->category[srt_type].req_num);
+#endif
+ /* Indicate the frame to which this is a reply. */
+ if ( gcamel_DisplaySRT ) {
+ ti = proto_tree_add_uint_format(tree, hf_camelsrt_ResponseFrame, tvb, 0, 0,
+ p_camelsrt_call->category[srt_type].req_num,
+ "Linked request %s in frame %u",
+ val_to_str_const(srt_type, camelSRTtype_naming, "Unk"),
+ p_camelsrt_call->category[srt_type].req_num);
+ proto_item_set_generated(ti);
+ }
+ /* Calculate Service Response Time */
+ nstime_delta(&delta, &pinfo->abs_ts, &p_camelsrt_call->category[srt_type].req_time);
+
+ p_camelsrt_info->msginfo[srt_type].is_delta_time = TRUE;
+ p_camelsrt_info->msginfo[srt_type].delta_time = delta; /* give it to tap */
+ p_camelsrt_info->msginfo[srt_type].req_time = p_camelsrt_call->category[srt_type].req_time;
+
+ /* display Service Response Time and make it filterable */
+ camelsrt_display_DeltaTime(tree, tvb, &delta, srt_type);
+
+ } /*req_num != 0 && not duplicate */
+ } /* call reference found */
+}
+
+/*
+ * Service Response Time analyze, called just after the camel dissector
+ * According to the camel operation, we
+ * - open/close a context for the camel session
+ * - look for a request, or look for the corresponding response
+ */
+void
+camelsrt_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ struct camelsrt_info_t *p_camelsrt_info)
+{
+
+#ifdef DEBUG_CAMELSRT
+ dbg(10,"tcap_session #%d ", p_camelsrt_info->tcap_session_id);
+#endif
+
+ switch (p_camelsrt_info->opcode) {
+
+ case 0: /*InitialDP*/
+ camelsrt_begin_call_matching(pinfo, p_camelsrt_info);
+ camelsrt_request_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_VOICE_INITIALDP);
+ break;
+ case 60: /*InitialDPSMS*/
+ camelsrt_begin_call_matching(pinfo, p_camelsrt_info);
+ camelsrt_request_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_SMS_INITIALDP);
+ break;
+ case 78: /*InitialDPGPRS*/
+ camelsrt_begin_call_matching(pinfo, p_camelsrt_info);
+ camelsrt_request_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_GPRS_INITIALDP);
+ break;
+
+ case 23: /*RequestReportBCSMEvent*/
+ break;
+
+ case 63: /*RequestReportSMSEvent*/
+ break;
+
+ case 81: /*RequestReportGPRSEvent*/
+ break;
+
+ case 24: /*EventReportBCSMEvent*/
+ camelsrt_request_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_VOICE_DISC );
+ break;
+
+ case 64: /*EventReportSMS*/
+ /* Session has been explicity closed without TC_END */
+ camelsrt_close_call_matching(pinfo, p_camelsrt_info);
+ tcapsrt_close((struct tcaphash_context_t *)p_camelsrt_info->tcap_context, pinfo);
+ break;
+
+ case 80: /*EventReportGPRS*/
+ camelsrt_begin_call_matching(pinfo, p_camelsrt_info);
+ camelsrt_request_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_GPRS_REPORT);
+ break;
+
+ case 35: /*ApplyCharging*/
+ camelsrt_report_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_VOICE_ACR1 );
+ break;
+
+ case 71: /*ApplyChargingGPRS*/
+ break;
+
+ case 36: /*ApplyChargingReport*/
+ camelsrt_request_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_VOICE_ACR1 );
+ break;
+
+ case 72: /*ApplyChargingReportGPRS*/
+ break;
+
+ case 31: /*Continue*/
+ camelsrt_report_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_VOICE_INITIALDP);
+ break;
+ case 65: /*ContinueSMS*/
+ camelsrt_report_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_SMS_INITIALDP);
+ break;
+ case 75: /*ContinueGPRS*/
+ camelsrt_report_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_GPRS_INITIALDP);
+ camelsrt_report_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_GPRS_REPORT);
+ break;
+
+ case 22: /*ReleaseCall*/
+ camelsrt_report_call_matching(tvb, pinfo, tree, p_camelsrt_info,
+ CAMELSRT_VOICE_DISC);
+ /* Session has been closed by Network */
+ camelsrt_close_call_matching(pinfo, p_camelsrt_info);
+ break;
+
+ case 66: /*ReleaseSMS*/
+ /* Session has been closed by Network */
+ camelsrt_close_call_matching(pinfo, p_camelsrt_info);
+ tcapsrt_close((struct tcaphash_context_t *)p_camelsrt_info->tcap_context,pinfo);
+ break;
+
+ case 79: /*ReleaseGPRS*/
+ /* Session has been closed by Network */
+ camelsrt_close_call_matching(pinfo, p_camelsrt_info);
+ break;
+ } /* switch opcode */
+}
+
+/*
+ * Initialize the Message Info used by the main dissector
+ * Data are linked to a TCAP transaction
+ */
+struct camelsrt_info_t *
+camelsrt_razinfo(void)
+{
+ struct camelsrt_info_t *p_camelsrt_info ;
+
+ /* Global buffer for packet extraction */
+ camelsrt_global_current++;
+ if(camelsrt_global_current==MAX_CAMEL_INSTANCE){
+ camelsrt_global_current=0;
+ }
+
+ p_camelsrt_info=&camelsrt_global_info[camelsrt_global_current];
+ memset(p_camelsrt_info,0,sizeof(struct camelsrt_info_t));
+
+ p_camelsrt_info->opcode=255;
+
+ return p_camelsrt_info;
+}
+
+
+static guint8 camel_pdu_type = 0;
+static guint8 camel_pdu_size = 0;
+
+
+static int
+dissect_camel_camelPDU(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_,proto_tree *tree,
+ int hf_index, struct tcap_private_t * p_private_tcap) {
+
+ opcode = 0;
+ if (p_private_tcap != NULL){
+ gp_camelsrt_info->tcap_context=p_private_tcap->context;
+ if (p_private_tcap->context)
+ gp_camelsrt_info->tcap_session_id = ( (struct tcaphash_context_t *) (p_private_tcap->context))->session_id;
+ }
+
+ camel_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
+ /* Get the length and add 2 */
+ camel_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
+
+ /* Populate the info column with PDU type*/
+ col_add_str(actx->pinfo->cinfo, COL_INFO, val_to_str(camel_pdu_type, camel_Component_vals, "Unknown Camel (%u)"));
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
+
+ is_ExtensionField =FALSE;
+ offset = dissect_camel_ROS(TRUE, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+static int
+dissect_camel_all(int version, const char* col_protocol, const char* suffix,
+ tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ proto_item *item;
+ proto_tree *tree = NULL, *stat_tree = NULL;
+ struct tcap_private_t * p_private_tcap = (struct tcap_private_t*)data;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, col_protocol);
+
+ camel_ver = version;
+
+ /* create display subtree for the protocol */
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_camel, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_camel);
+ proto_item_append_text(item, "%s", suffix);
+ }
+ /* camelsrt reset counter, and initialise global pointer
+ to store service response time related data */
+ gp_camelsrt_info=camelsrt_razinfo();
+
+ dissect_camel_camelPDU(FALSE, tvb, 0, &asn1_ctx , tree, -1, p_private_tcap);
+
+ /* If a Tcap context is associated to this transaction */
+ if (gp_camelsrt_info->tcap_context ) {
+ if (gcamel_DisplaySRT && tree) {
+ stat_tree = proto_tree_add_subtree(tree, tvb, 0, 0, ett_camel_stat, NULL, "Stat");
+ }
+ camelsrt_call_matching(tvb, pinfo, stat_tree, gp_camelsrt_info);
+ tap_queue_packet(camel_tap, pinfo, gp_camelsrt_info);
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_camel_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ return dissect_camel_all(1, "Camel-v1", "-V1", tvb, pinfo, parent_tree, data);
+}
+
+static int
+dissect_camel_v2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ return dissect_camel_all(2, "Camel-v2", "-V2", tvb, pinfo, parent_tree, data);
+}
+
+static int
+dissect_camel_v3(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ return dissect_camel_all(3, "Camel-v3", "-V3", tvb, pinfo, parent_tree, data);
+}
+
+static int
+dissect_camel_v4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ return dissect_camel_all(4, "Camel-v4", "-V4", tvb, pinfo, parent_tree, data);
+}
+
+static int
+dissect_camel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ return dissect_camel_all(4, "Camel", "", tvb, pinfo, parent_tree, data);
+}
+
+/* TAP STAT INFO */
+typedef enum
+{
+ MESSAGE_TYPE_COLUMN = 0,
+ COUNT_COLUMN
+} camel_stat_columns;
+
+static stat_tap_table_item camel_stat_fields[] = {{TABLE_ITEM_STRING, TAP_ALIGN_LEFT, "Message Type or Reason", "%-25s"}, {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Count", "%d"}};
+
+static void camel_stat_init(stat_tap_table_ui* new_stat)
+{
+ const char *table_name = "CAMEL Message Counters";
+ int num_fields = sizeof(camel_stat_fields)/sizeof(stat_tap_table_item);
+ stat_tap_table *table;
+ int i;
+ stat_tap_table_item_type items[sizeof(camel_stat_fields)/sizeof(stat_tap_table_item)];
+
+ table = stat_tap_find_table(new_stat, table_name);
+ if (table) {
+ if (new_stat->stat_tap_reset_table_cb) {
+ new_stat->stat_tap_reset_table_cb(table);
+ }
+ return;
+ }
+
+ table = stat_tap_init_table(table_name, num_fields, 0, NULL);
+ stat_tap_add_table(new_stat, table);
+
+ memset(items, 0x0, sizeof(items));
+ items[MESSAGE_TYPE_COLUMN].type = TABLE_ITEM_STRING;
+ items[COUNT_COLUMN].type = TABLE_ITEM_UINT;
+ items[COUNT_COLUMN].value.uint_value = 0;
+
+ /* Add a row for each value type */
+ for (i = 0; i < camel_MAX_NUM_OPR_CODES; i++)
+ {
+ const char *ocs = try_val_to_str(i, camel_opr_code_strings);
+ char *col_str;
+ if (ocs) {
+ col_str = ws_strdup_printf("Request %s", ocs);
+ } else {
+ col_str = ws_strdup_printf("Unknown op code %d", i);
+ }
+
+ items[MESSAGE_TYPE_COLUMN].value.string_value = col_str;
+ stat_tap_init_table_row(table, i, num_fields, items);
+ }
+}
+
+static tap_packet_status
+camel_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *csi_ptr, tap_flags_t flags _U_)
+{
+ stat_data_t* stat_data = (stat_data_t*)tapdata;
+ const struct camelsrt_info_t *csi = (const struct camelsrt_info_t *) csi_ptr;
+ stat_tap_table* table;
+ stat_tap_table_item_type* msg_data;
+
+ table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, 0);
+ if (csi->opcode >= table->num_elements)
+ return TAP_PACKET_DONT_REDRAW;
+ msg_data = stat_tap_get_field_data(table, csi->opcode, COUNT_COLUMN);
+ msg_data->value.uint_value++;
+ stat_tap_set_field_data(table, csi->opcode, COUNT_COLUMN, msg_data);
+
+ return TAP_PACKET_REDRAW;
+}
+
+static void
+camel_stat_reset(stat_tap_table* table)
+{
+ guint element;
+ stat_tap_table_item_type* item_data;
+
+ for (element = 0; element < table->num_elements; element++)
+ {
+ item_data = stat_tap_get_field_data(table, element, COUNT_COLUMN);
+ item_data->value.uint_value = 0;
+ stat_tap_set_field_data(table, element, COUNT_COLUMN, item_data);
+ }
+}
+
+static void
+camel_stat_free_table_item(stat_tap_table* table _U_, guint row _U_, guint column, stat_tap_table_item_type* field_data)
+{
+ if (column != MESSAGE_TYPE_COLUMN) return;
+ g_free((char*)field_data->value.string_value);
+}
+
+/*--- proto_reg_handoff_camel ---------------------------------------*/
+static void range_delete_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if (ssn) {
+ delete_itu_tcap_subdissector(ssn, camel_handle);
+ }
+}
+
+static void range_add_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if (ssn) {
+ add_itu_tcap_subdissector(ssn, camel_handle);
+ }
+}
+
+void proto_reg_handoff_camel(void) {
+ static gboolean camel_prefs_initialized = FALSE;
+ static range_t *ssn_range;
+
+ if (!camel_prefs_initialized) {
+
+ camel_prefs_initialized = TRUE;
+
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.50.0",camel_v1_handle, proto_camel, "CAP-v1-gsmSSF-to-gsmSCF-AC" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.50.1",camel_v2_handle, proto_camel, "CAP-v2-gsmSSF-to-gsmSCF-AC" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.51.1",camel_v2_handle, proto_camel, "CAP-v2-assist-gsmSSF-to-gsmSCF-AC" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.52.1",camel_v2_handle, proto_camel, "CAP-v2-gsmSRF-to-gsmSCF-AC" );
+
+ /* CAMEL Phase 3 Application Context Names */
+ register_ber_oid_dissector_handle("0.4.0.0.1.21.3.4", camel_v3_handle, proto_camel, "capssf-scfGenericAC");
+ register_ber_oid_dissector_handle("0.4.0.0.1.21.3.6", camel_v3_handle, proto_camel, "capssf-scfAssistHandoffAC");
+ register_ber_oid_dissector_handle("0.4.0.0.1.20.3.14", camel_v3_handle, proto_camel, "gsmSRF-gsmSCF-ac");
+ register_ber_oid_dissector_handle("0.4.0.0.1.21.3.50", camel_v3_handle, proto_camel, "cap3-gprssf-scfAC");
+ register_ber_oid_dissector_handle("0.4.0.0.1.21.3.51", camel_v3_handle, proto_camel, "cap3-gsmscf-gprsssfAC");
+ register_ber_oid_dissector_handle("0.4.0.0.1.21.3.61", camel_v3_handle, proto_camel, "cap3-sms-AC");
+
+ /* CAMEL Phase 4 Application Context Names */
+ register_ber_oid_dissector_handle("0.4.0.0.1.23.3.4", camel_v4_handle, proto_camel, "capssf-scfGenericAC");
+ register_ber_oid_dissector_handle("0.4.0.0.1.23.3.6", camel_v4_handle, proto_camel, "capssf-scfAssistHandoffAC");
+ register_ber_oid_dissector_handle("0.4.0.0.1.23.3.8", camel_v4_handle, proto_camel, "capscf-ssfGenericAC");
+ register_ber_oid_dissector_handle("0.4.0.0.1.22.3.14", camel_v4_handle, proto_camel, "gsmSRF-gsmSCF-ac");
+ register_ber_oid_dissector_handle("0.4.0.0.1.23.3.61", camel_v4_handle, proto_camel, "cap4-sms-AC");
+
+
+#include "packet-camel-dis-tab.c"
+ } else {
+ range_foreach(ssn_range, range_delete_callback, NULL);
+ wmem_free(wmem_epan_scope(), ssn_range);
+ }
+
+ ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
+
+ range_foreach(ssn_range, range_add_callback, NULL);
+
+}
+
+void proto_register_camel(void) {
+ module_t *camel_module;
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_camel_extension_code_local,
+ { "local", "camel.extension_code_local",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "Extension local code", HFILL }},
+ { &hf_camel_error_code_local,
+ { "local", "camel.error_code_local",
+ FT_INT32, BASE_DEC, VALS(camel_err_code_string_vals), 0,
+ "ERROR code", HFILL }},
+ { &hf_camel_cause_indicator, /* Currently not enabled */
+ { "Cause indicator", "camel.cause_indicator",
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &q850_cause_code_vals_ext, 0x7f,
+ NULL, HFILL }},
+ { &hf_digit,
+ { "Digit Value", "camel.digit_value",
+ FT_UINT8, BASE_DEC, VALS(digit_value), 0, NULL, HFILL }},
+ { &hf_camel_PDPTypeNumber_etsi,
+ { "ETSI defined PDP Type Value", "camel.PDPTypeNumber_etsi",
+ FT_UINT8, BASE_HEX, VALS(gsm_map_etsi_defined_pdp_vals), 0,
+ NULL, HFILL }},
+ { &hf_camel_PDPTypeNumber_ietf,
+ { "IETF defined PDP Type Value", "camel.PDPTypeNumber_ietf",
+ FT_UINT8, BASE_HEX, VALS(gsm_map_ietf_defined_pdp_vals), 0,
+ NULL, HFILL }},
+ { &hf_camel_PDPAddress_IPv4,
+ { "PDPAddress IPv4", "camel.PDPAddress_IPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ "IPAddress IPv4", HFILL }},
+ { &hf_camel_PDPAddress_IPv6,
+ { "PDPAddress IPv6", "camel.PDPAddress_IPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ "IPAddress IPv6", HFILL }},
+ { &hf_camel_cellGlobalIdOrServiceAreaIdFixedLength,
+ { "CellGlobalIdOrServiceAreaIdFixedLength", "camel.CellGlobalIdOrServiceAreaIdFixedLength",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "LocationInformationGPRS/CellGlobalIdOrServiceAreaIdOrLAI", HFILL }},
+ { &hf_camel_RP_Cause,
+ { "RP Cause", "camel.RP_Cause",
+ FT_UINT8, BASE_DEC, VALS(camel_RP_Cause_values), 0x7F,
+ "RP Cause Value", HFILL }},
+
+ { &hf_camel_CAMEL_AChBillingChargingCharacteristics,
+ { "CAMEL-AChBillingChargingCharacteristics", "camel.CAMEL_AChBillingChargingCharacteristics",
+ FT_UINT32, BASE_DEC, VALS(camel_CAMEL_AChBillingChargingCharacteristics_vals), 0,
+ NULL, HFILL }},
+
+ { &hf_camel_CAMEL_FCIBillingChargingCharacteristics,
+ { "CAMEL-FCIBillingChargingCharacteristics", "camel.CAMEL_FCIBillingChargingCharacteristics",
+ FT_UINT32, BASE_DEC, VALS(camel_CAMEL_FCIBillingChargingCharacteristics_vals), 0,
+ NULL, HFILL }},
+
+ { &hf_camel_CAMEL_FCIGPRSBillingChargingCharacteristics,
+ { "CAMEL-FCIGPRSBillingChargingCharacteristics", "camel.CAMEL_FCIGPRSBillingChargingCharacteristics",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_camel_CAMEL_FCISMSBillingChargingCharacteristics,
+ { "CAMEL-FCISMSBillingChargingCharacteristics", "camel.CAMEL_FCISMSBillingChargingCharacteristics",
+ FT_UINT32, BASE_DEC, VALS(camel_CAMEL_FCISMSBillingChargingCharacteristics_vals), 0,
+ NULL, HFILL }},
+
+ { &hf_camel_CAMEL_SCIBillingChargingCharacteristics,
+ { "CAMEL-SCIBillingChargingCharacteristics", "camel.CAMEL_SCIBillingChargingCharacteristics",
+ FT_UINT32, BASE_DEC, VALS(camel_CAMEL_SCIBillingChargingCharacteristics_vals), 0,
+ NULL, HFILL }},
+
+ { &hf_camel_CAMEL_SCIGPRSBillingChargingCharacteristics,
+ { "CAMEL-SCIGPRSBillingChargingCharacteristics", "camel.CAMEL_SCIGPRSBillingChargingCharacteristics",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "CAMEL-FSCIGPRSBillingChargingCharacteristics", HFILL }},
+
+ { &hf_camel_CAMEL_CallResult,
+ { "CAMEL-CAMEL_CallResult", "camel.CAMEL_CallResult",
+ FT_UINT32, BASE_DEC, VALS(camel_CAMEL_CallResult_vals), 0,
+ "CAMEL-CallResult", HFILL }},
+
+ /* Camel Service Response Time */
+ { &hf_camelsrt_SessionId,
+ { "Session Id",
+ "camel.srt.session_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ //{ &hf_camelsrt_RequestNumber,
+ // { "Request Number",
+ // "camel.srt.request_number",
+ // FT_UINT64, BASE_DEC, NULL, 0x0,
+ // NULL, HFILL }
+ //},
+ { &hf_camelsrt_Duplicate,
+ { "Request Duplicate",
+ "camel.srt.duplicate",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_camelsrt_RequestFrame,
+ { "Requested Frame",
+ "camel.srt.reqframe",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "SRT Request Frame", HFILL }
+ },
+ { &hf_camelsrt_ResponseFrame,
+ { "Response Frame",
+ "camel.srt.rspframe",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "SRT Response Frame", HFILL }
+ },
+ //{ &hf_camelsrt_DeltaTime,
+ // { "Service Response Time",
+ // "camel.srt.deltatime",
+ // FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ // "DeltaTime between Request and Response", HFILL }
+ //},
+ //{ &hf_camelsrt_SessionTime,
+ // { "Session duration",
+ // "camel.srt.sessiontime",
+ // FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ // "Duration of the TCAP session", HFILL }
+ //},
+ { &hf_camelsrt_DeltaTime31,
+ { "Service Response Time",
+ "camel.srt.deltatime31",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "DeltaTime between InitialDP and Continue", HFILL }
+ },
+ { &hf_camelsrt_DeltaTime65,
+ { "Service Response Time",
+ "camel.srt.deltatime65",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "DeltaTime between InitialDPSMS and ContinueSMS", HFILL }
+ },
+ { &hf_camelsrt_DeltaTime75,
+ { "Service Response Time",
+ "camel.srt.deltatime75",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "DeltaTime between InitialDPGPRS and ContinueGPRS", HFILL }
+ },
+ { &hf_camelsrt_DeltaTime35,
+ { "Service Response Time",
+ "camel.srt.deltatime35",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "DeltaTime between ApplyChargingReport and ApplyCharging", HFILL }
+ },
+ { &hf_camelsrt_DeltaTime22,
+ { "Service Response Time",
+ "camel.srt.deltatime22",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "DeltaTime between EventReport(Disconnect) and Release Call", HFILL }
+ },
+ { &hf_camelsrt_DeltaTime80,
+ { "Service Response Time",
+ "camel.srt.deltatime80",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "DeltaTime between EventReportGPRS and ContinueGPRS", HFILL }
+ },
+ { &hf_camel_timeandtimezone_time,
+ { "Time",
+ "camel.timeandtimezone.time",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_camel_timeandtimezone_tz,
+ { "Time Zone",
+ "camel.timeandtimezone.timezone",
+ FT_INT8, BASE_DEC, NULL, 0x0,
+ "Difference, expressed in quarters of an hour, between local time and GMT", HFILL }
+ },
+#ifdef REMOVED
+#endif
+#include "packet-camel-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_camel,
+ &ett_camelisup_parameter,
+ &ett_camel_AccessPointName,
+ &ett_camel_pdptypenumber,
+ &ett_camel_cause,
+ &ett_camel_RPcause,
+ &ett_camel_stat,
+ &ett_camel_calledpartybcdnumber,
+ &ett_camel_callingpartynumber,
+ &ett_camel_originalcalledpartyid,
+ &ett_camel_redirectingpartyid,
+ &ett_camel_locationnumber,
+ &ett_camel_additionalcallingpartynumber,
+ &ett_camel_calledAddressValue,
+ &ett_camel_callingAddressValue,
+ &ett_camel_assistingSSPIPRoutingAddress,
+ &ett_camel_correlationID,
+ &ett_camel_dTMFDigitsCompleted,
+ &ett_camel_dTMFDigitsTimeOut,
+ &ett_camel_number,
+ &ett_camel_digitsResponse,
+ &ett_camel_timeandtimezone,
+
+#include "packet-camel-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_camel_unknown_invokeData, { "camel.unknown.invokeData", PI_MALFORMED, PI_WARN, "Unknown invokeData", EXPFILL }},
+ { &ei_camel_unknown_returnResultData, { "camel.unknown.returnResultData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL }},
+ { &ei_camel_unknown_returnErrorData, { "camel.unknown.returnErrorData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL }},
+ { &ei_camel_par_wrong_length, { "camel.par_wrong_length", PI_PROTOCOL, PI_ERROR, "Wrong length of parameter", EXPFILL }},
+ { &ei_camel_bcd_not_digit, { "camel.bcd_not_digit", PI_MALFORMED, PI_WARN, "BCD number contains a value that is not a digit", EXPFILL }},
+ };
+
+ expert_module_t* expert_camel;
+
+ static tap_param camel_stat_params[] = {
+ { PARAM_FILTER, "filter", "Filter", NULL, TRUE }
+ };
+
+ static stat_tap_table_ui camel_stat_table = {
+ REGISTER_STAT_GROUP_TELEPHONY_GSM,
+ "CAMEL Messages and Response Status",
+ PSNAME,
+ "camel,counter",
+ camel_stat_init,
+ camel_stat_packet,
+ camel_stat_reset,
+ camel_stat_free_table_item,
+ NULL,
+ sizeof(camel_stat_fields)/sizeof(stat_tap_table_item), camel_stat_fields,
+ sizeof(camel_stat_params)/sizeof(tap_param), camel_stat_params,
+ NULL,
+ 0
+ };
+
+ /* Register protocol */
+ proto_camel = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ camel_handle = register_dissector("camel", dissect_camel, proto_camel);
+ camel_v1_handle = register_dissector("camel-v1", dissect_camel_v1, proto_camel);
+ camel_v2_handle = register_dissector("camel-v2", dissect_camel_v2, proto_camel);
+ camel_v3_handle = register_dissector("camel-v3", dissect_camel_v3, proto_camel);
+ camel_v4_handle = register_dissector("camel-v4", dissect_camel_v4, proto_camel);
+
+ proto_register_field_array(proto_camel, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_camel = expert_register_protocol(proto_camel);
+ expert_register_field_array(expert_camel, ei, array_length(ei));
+
+ rose_ctx_init(&camel_rose_ctx);
+
+ /* Register dissector tables */
+ camel_rose_ctx.arg_local_dissector_table = register_dissector_table("camel.ros.local.arg",
+ "CAMEL Operation Argument (local opcode)", proto_camel,
+ FT_UINT32, BASE_HEX);
+ camel_rose_ctx.res_local_dissector_table = register_dissector_table("camel.ros.local.res",
+ "CAMEL Operation Result (local opcode)", proto_camel,
+ FT_UINT32, BASE_HEX);
+ camel_rose_ctx.err_local_dissector_table = register_dissector_table("camel.ros.local.err",
+ "CAMEL Error (local opcode)", proto_camel,
+ FT_UINT32, BASE_HEX);
+
+ /* Register our configuration options, particularly our SSNs */
+ /* Set default SSNs */
+ range_convert_str(wmem_epan_scope(), &global_ssn_range, "146", MAX_SSN);
+
+ camel_module = prefs_register_protocol(proto_camel, proto_reg_handoff_camel);
+
+ prefs_register_enum_preference(camel_module, "date.format", "Date Format",
+ "The date format: (DD/MM) or (MM/DD)",
+ &date_format, date_options, FALSE);
+
+
+ prefs_register_range_preference(camel_module, "tcap.ssn",
+ "TCAP SSNs",
+ "TCAP Subsystem numbers used for Camel",
+ &global_ssn_range, MAX_SSN);
+
+ prefs_register_obsolete_preference(camel_module, "srt");
+
+ prefs_register_bool_preference(camel_module, "persistentsrt",
+ "Persistent stats for SRT",
+ "Statistics for Response Time",
+ &gcamel_PersistentSRT);
+
+ /* Routine for statistic */
+ register_init_routine(&camelsrt_init_routine);
+
+ /* create new hash-table for SRT */
+ srt_calls = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), camelsrt_call_hash, camelsrt_call_equal);
+
+ camel_tap=register_tap(PSNAME);
+
+ register_srt_table(proto_camel, PSNAME, 1, camelstat_packet, camelstat_init, NULL);
+ register_stat_tap_table_ui(&camel_stat_table);
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/camel/packet-camel-template.h b/epan/dissectors/asn1/camel/packet-camel-template.h
new file mode 100644
index 00000000..4db9e099
--- /dev/null
+++ b/epan/dissectors/asn1/camel/packet-camel-template.h
@@ -0,0 +1,127 @@
+/* packet-camel-template.h
+ * Routines for Camel
+ * Copyright 2004, Tim Endean <endeant@hotmail.com>
+ * Copyright 2005, Olivier Jacques <olivier.jacques@hp.com>
+ * Built from the gsm-map dissector Copyright 2004, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References: ETSI 300 374
+ */
+/*
+ * Indentation logic: this file is indented with 2 spaces indentation.
+ * there are no tabs.
+ */
+
+
+#ifndef PACKET_CAMEL_H
+#define PACKET_CAMEL_H
+
+#include "ws_symbol_export.h"
+
+void proto_reg_handoff_camel(void);
+void proto_register_camel(void);
+
+/* Defines for the camel taps */
+#define camel_MAX_NUM_OPR_CODES 256
+
+WS_DLL_PUBLIC const value_string camel_opr_code_strings[];
+/* #include "packet-camel-exp.h"*/
+
+/** @file
+*/
+#define NB_CAMELSRT_CATEGORY 9+1 /**< Number of type of message */
+/* for example TC_BEGIN with InitalDP, and TC_CONT with RequestReportBCSMEvent
+ is a category, we want to measure the delay between the two messages */
+
+#define CAMELSRT_SESSION 1
+
+#define CAMELSRT_VOICE_INITIALDP 2
+#define CAMELSRT_VOICE_ACR1 3
+#define CAMELSRT_VOICE_ACR2 4
+#define CAMELSRT_VOICE_ACR3 5
+#define CAMELSRT_VOICE_DISC 6
+
+#define CAMELSRT_GPRS_INITIALDP 7
+#define CAMELSRT_GPRS_REPORT 8
+
+#define CAMELSRT_SMS_INITIALDP 9
+
+WS_DLL_PUBLIC const value_string camelSRTtype_naming[];
+
+/** If we have a request message and its response,
+ (eg: ApplyCharging, ApplyChargingReport)
+ the frames numbers are stored in this structure */
+
+struct camelsrt_category_t {
+ guint32 req_num; /**< frame number request seen */
+ guint32 rsp_num; /**< frame number response seen */
+ nstime_t req_time; /**< arrival time of request */
+ gboolean responded; /**< true, if request has been responded */
+};
+
+/** List of stored parameters for a Camel dialogue
+ All this parameters are linked to the hash table key below (use of Tid)
+ In case of same Tid reused, the Camel parameters are chained.
+ The right dialogue will be identified with the arrival time of the InitialDP */
+
+struct camelsrt_call_t {
+ guint32 session_id; /**< Identify the session, with an internal number */
+ struct tcaphash_context_t * tcap_context;
+ struct camelsrt_category_t category[NB_CAMELSRT_CATEGORY];
+};
+
+
+/** The Key for the hash table is the TCAP origine transaction identifier
+ of the TC_BEGIN containing the InitialDP */
+
+struct camelsrt_call_info_key_t {
+ guint32 SessionIdKey;
+};
+
+/** Info for a couple of messages (or category)
+ The request must be available, not duplicated,
+ and once the corresponding response received,
+ we can deduce the Delta Time between Request/response */
+
+struct camelsrt_msginfo_t {
+ gboolean request_available;
+ gboolean is_duplicate;
+ gboolean is_delta_time;
+ nstime_t req_time;
+ nstime_t delta_time;
+};
+
+/** List of infos to store for the analyse */
+
+struct camelsrt_info_t {
+ guint32 tcap_session_id;
+ void * tcap_context;
+ guint8 opcode; /**< operation code of message received */
+ guint8 bool_msginfo[NB_CAMELSRT_CATEGORY]; /**< category for the received message */
+ struct camelsrt_msginfo_t msginfo[NB_CAMELSRT_CATEGORY];
+};
+
+/**
+ * Initialize the Message Info used by the main dissector
+ * Data are linked to a TCAP transaction
+ */
+struct camelsrt_info_t * camelsrt_razinfo(void);
+
+/**
+ * Service Response Time analyze, called just after the camel dissector
+ * According to the camel operation, we
+ * - open/close a context for the camel session
+ * - look for a request, or look for the corresponding response
+ */
+void camelsrt_call_matching(tvbuff_t *tvb,
+ packet_info * pinfo _U_,
+ proto_tree *tree,
+ struct camelsrt_info_t * p_camel_info);
+
+WS_DLL_PUBLIC gboolean gcamel_StatSRT;
+
+#endif /* PACKET_camel_H */
diff --git a/epan/dissectors/asn1/cbrs-oids/CMakeLists.txt b/epan/dissectors/asn1/cbrs-oids/CMakeLists.txt
new file mode 100644
index 00000000..232cf9f3
--- /dev/null
+++ b/epan/dissectors/asn1/cbrs-oids/CMakeLists.txt
@@ -0,0 +1,41 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME cbrs-oids )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ cbrs-oids.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/cbrs-oids/cbrs-oids.asn b/epan/dissectors/asn1/cbrs-oids/cbrs-oids.asn
new file mode 100644
index 00000000..6c22d801
--- /dev/null
+++ b/epan/dissectors/asn1/cbrs-oids/cbrs-oids.asn
@@ -0,0 +1,23 @@
+--
+-- Citizens Broadband Radio Service - Object Identifiers
+--
+-- ASN.1 interpolated from
+-- - WInnForum CBRS COMSEC TS WINNF-15-S-0065-V2.0.0
+-- https://www.wirelessinnovation.org/assets/work_products/Specifications/winnf-15-s-0065-v2.0.0%20cbrs%20communications%20security%20technical%20specification.pdf
+-- - WInnForum CBRS Certificate Policy Document WINNF-17-S-0022
+-- https://www.wirelessinnovation.org/assets/work_products/Specifications/winnf-17-s-0022%20v1.0.0%20cbrs%20pki%20certificate%20policy.pdf
+-- on 2018-11-14
+
+TCG DEFINITIONS::=
+
+BEGIN
+
+ZONE ::= UTF8String
+FREQUENCY ::= UTF8String
+FCCID ::= UTF8String
+SERIAL ::= UTF8String
+FRN ::= UTF8String
+CPIRID ::= UTF8String
+TEST ::= UTF8String
+
+END
diff --git a/epan/dissectors/asn1/cbrs-oids/cbrs-oids.cnf b/epan/dissectors/asn1/cbrs-oids/cbrs-oids.cnf
new file mode 100644
index 00000000..0ad6da1b
--- /dev/null
+++ b/epan/dissectors/asn1/cbrs-oids/cbrs-oids.cnf
@@ -0,0 +1,11 @@
+# cbrs-oids.cnf
+# Citizens Broadband Radio Service - Object Identifiers confirmation file
+
+#.REGISTER
+ZONE B "1.3.6.1.4.1.46609.1.2" "CBRS_PAL_ZONE"
+FREQUENCY B "1.3.6.1.4.1.46609.1.3" "CBRS_PAL_FREQUENCY"
+FCCID B "1.3.6.1.4.1.46609.1.4" "CBRS_CBSD_FCCID"
+SERIAL B "1.3.6.1.4.1.46609.1.5" "CBRS_CBSD_SERIAL"
+FRN B "1.3.6.1.4.1.46609.1.6" "CBRS_SAS/OPERATOR_administrator_FRN"
+CPIRID B "1.3.6.1.4.1.46609.1.7" "CBRS_installer_CPIR-ID"
+TEST B "1.3.6.1.4.1.46609.1.8" "CBRS_TEST"
diff --git a/epan/dissectors/asn1/cbrs-oids/packet-cbrs-oids-template.c b/epan/dissectors/asn1/cbrs-oids/packet-cbrs-oids-template.c
new file mode 100644
index 00000000..542c01e5
--- /dev/null
+++ b/epan/dissectors/asn1/cbrs-oids/packet-cbrs-oids-template.c
@@ -0,0 +1,74 @@
+/* packet-cbrs-oids.c
+ *
+ * Citizens Broadband Radio Service - Object Identifiers
+ *
+ * Extracted from
+ * - WInnForum CBRS COMSEC TS WINNF-15-S-0065-V2.0.0
+ * https://www.wirelessinnovation.org/assets/work_products/Specifications/winnf-15-s-0065-v2.0.0%20cbrs%20communications%20security%20technical%20specification.pdf
+ * - WInnForum CBRS Certificate Policy Document WINNF-17-S-0022
+ * https://www.wirelessinnovation.org/assets/work_products/Specifications/winnf-17-s-0022%20v1.0.0%20cbrs%20pki%20certificate%20policy.pdf
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+
+#define PNAME "Citizen Broadband Radio Service - Object Identifiers"
+#define PSNAME "CBRS_OIDS"
+#define PFNAME "cbrs_oids"
+
+void proto_register_cbrs_oids(void);
+void proto_reg_handoff_cbrs_oids(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_cbrs_oids = -1;
+#include "packet-cbrs-oids-hf.c"
+static int hf_cbrs_oids_UTF8String_PDU = -1;
+
+/* Initialize the subtree pointers */
+#include "packet-cbrs-oids-fn.c"
+
+/*--- proto_register_cbrs_oids ----------------------------------------------*/
+void proto_register_cbrs_oids(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_cbrs_oids_UTF8String_PDU,
+ { "UTF8String", "cbrs-oids.UTF8String",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-cbrs-oids-hfarr.c"
+ };
+
+ /* Register protocol */
+ proto_cbrs_oids = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_cbrs_oids, hf, array_length(hf));
+/* proto_register_subtree_array(ett, array_length(ett)); */
+}
+
+/*--- proto_reg_handoff_cbrs_oids -------------------------------------------*/
+void proto_reg_handoff_cbrs_oids(void) {
+#include "packet-cbrs-oids-dis-tab.c"
+ oid_add_from_string("CBRS Policy Documents","1.3.6.1.4.1.46609.2");
+ oid_add_from_string("CBRS Certificates issued pursuant to CPS","1.3.6.1.4.1.46609.2.1");
+ oid_add_from_string("CBRS ROLE","1.3.6.1.4.1.46609.1.1");
+ oid_add_from_string("CBRS SAS","1.3.6.1.4.1.46609.1.1.1");
+ oid_add_from_string("CBRS INSTALLER","1.3.6.1.4.1.46609.1.1.2");
+ oid_add_from_string("CBRS CBSD","1.3.6.1.4.1.46609.1.1.3");
+ oid_add_from_string("CBRS OPERATOR (Domain Proxy Operator)","1.3.6.1.4.1.46609.1.1.4");
+ oid_add_from_string("CBRS CA","1.3.6.1.4.1.46609.1.1.5");
+ oid_add_from_string("CBRS PAL","1.3.6.1.4.1.46609.1.1.6");
+ oid_add_from_string("CBRS ESC","1.3.6.1.4.1.46609.1.1.7");
+}
diff --git a/epan/dissectors/asn1/cdt/CMakeLists.txt b/epan/dissectors/asn1/cdt/CMakeLists.txt
new file mode 100644
index 00000000..29ffd9a3
--- /dev/null
+++ b/epan/dissectors/asn1/cdt/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME cdt )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/cdt/cdt.asn b/epan/dissectors/asn1/cdt/cdt.asn
new file mode 100644
index 00000000..9acc2da4
--- /dev/null
+++ b/epan/dissectors/asn1/cdt/cdt.asn
@@ -0,0 +1,36 @@
+CompressedDataType
+ { iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) id-mcont(4) 2 }
+
+DEFINITIONS ::=
+BEGIN
+
+CompressedData ::= SEQUENCE {
+ compressionAlgorithm CompressionAlgorithmIdentifier,
+ compressedContentInfo CompressedContentInfo }
+
+CompressionAlgorithmIdentifier ::= CHOICE {
+ algorithmID-ShortForm [0] IMPLICIT AlgorithmID-ShortForm,
+ algorithmID-OID [1] IMPLICIT OBJECT IDENTIFIER }
+
+AlgorithmID-ShortForm ::= INTEGER {
+ zlibCompress (0) }
+
+CompressedContentInfo ::= SEQUENCE {
+ contentType CHOICE {
+ contentType-ShortForm [0] IMPLICIT ContentType-ShortForm,
+ contentType-OID [1] IMPLICIT OBJECT IDENTIFIER
+ },
+ compressedContent [0] EXPLICIT CompressedContent }
+
+CompressedContent ::= OCTET STRING
+
+ContentType-ShortForm ::= INTEGER {
+ unidentified (0),
+ external (1), -- identified by the object-identifier
+ -- of the EXTERNAL content
+ p1 (2),
+ p3 (3),
+ p7 (4) }
+
+END
diff --git a/epan/dissectors/asn1/cdt/cdt.cnf b/epan/dissectors/asn1/cdt/cdt.cnf
new file mode 100644
index 00000000..4369bd69
--- /dev/null
+++ b/epan/dissectors/asn1/cdt/cdt.cnf
@@ -0,0 +1,106 @@
+# cdt.cnf
+# Compressed Data Type conformation file
+
+#.EXPORTS
+CompressedData
+
+#.REGISTER
+CompressedData B "1.3.26.0.4406.0.4.2" "cdt"
+
+#.FN_BODY CompressedData
+ content_type = 0;
+
+ %(DEFAULT_BODY)s
+
+#.FN_PARS AlgorithmID-ShortForm
+ VAL_PTR = &value
+
+#.FN_BODY AlgorithmID-ShortForm
+ guint32 value;
+
+ %(DEFAULT_BODY)s
+ proto_item_append_text (cdt_item, ", %%s",
+ val_to_str (value, cdt_AlgorithmID_ShortForm_vals,
+ "unknown"));
+
+ col_append_fstr (actx->pinfo->cinfo, COL_INFO, "%%s ",
+ val_to_str (value, cdt_AlgorithmID_ShortForm_vals,
+ "unknown"));
+
+#.FN_PARS ContentType-ShortForm
+ VAL_PTR = &content_type
+
+#.FN_BODY ContentType-ShortForm
+
+ %(DEFAULT_BODY)s
+ proto_item_append_text (cdt_item, ", %%s",
+ val_to_str (content_type, cdt_ContentType_ShortForm_vals,
+ "unknown"));
+
+ col_append_fstr (actx->pinfo->cinfo, COL_INFO, "%%s ",
+ val_to_str (content_type, cdt_ContentType_ShortForm_vals,
+ "unknown"));
+
+#.FN_PARS CompressedContentInfo/contentType/contentType-OID
+ FN_VARIANT = _str VAL_PTR = &obj_id
+
+#.FN_BODY CompressedContentInfo/contentType/contentType-OID
+ const char *obj_id = NULL;
+
+ %(DEFAULT_BODY)s
+ if (obj_id) {
+ const char *name = oid_resolved_from_string (actx->pinfo->pool, obj_id);
+
+ if (!name) {
+ name = obj_id;
+ }
+
+ proto_item_append_text (cdt_item, ", %%s", name);
+
+ col_append_fstr (actx->pinfo->cinfo, COL_INFO, "%%s ", name);
+ }
+
+#.FN_PARS CompressedContent
+ VAL_PTR = &compr_tvb
+
+#.FN_BODY CompressedContent
+ tvbuff_t *next_tvb = NULL, *compr_tvb = NULL;
+ int save_offset = offset;
+
+ %(DEFAULT_BODY)s
+ if (compr_tvb == NULL) {
+ proto_tree_add_expert(top_tree, actx->pinfo, &ei_cdt_unable_compress_content,
+ tvb, save_offset, -1);
+ col_append_str (actx->pinfo->cinfo, COL_INFO,
+ "[Error: Unable to get compressed content]");
+ return offset;
+ }
+
+ next_tvb = tvb_child_uncompress (tvb, compr_tvb, 0, tvb_reported_length (compr_tvb));
+
+ if (next_tvb == NULL) {
+ proto_tree_add_expert(top_tree, actx->pinfo, &ei_cdt_unable_uncompress_content,
+ tvb, save_offset, -1);
+ col_append_str (actx->pinfo->cinfo, COL_INFO,
+ "[Error: Unable to uncompress content]");
+ return offset;
+ }
+
+ add_new_data_source (actx->pinfo, next_tvb, "Uncompressed Content");
+
+ switch (content_type) {
+ case CDT_UNDEFINED:
+ call_data_dissector(next_tvb, actx->pinfo, top_tree);
+ break;
+ case CDT_EXTERNAL:
+ dissect_unknown_ber (actx->pinfo, next_tvb, 0, top_tree);
+ break;
+ case CDT_P1:
+ dissect_p1_mts_apdu (next_tvb, actx->pinfo, top_tree, NULL);
+ break;
+ default:
+ call_data_dissector(next_tvb, actx->pinfo, top_tree);
+ break;
+ }
+
+#.END
diff --git a/epan/dissectors/asn1/cdt/packet-cdt-template.c b/epan/dissectors/asn1/cdt/packet-cdt-template.c
new file mode 100644
index 00000000..8cf27bbd
--- /dev/null
+++ b/epan/dissectors/asn1/cdt/packet-cdt-template.c
@@ -0,0 +1,117 @@
+/* packet-cdt.c
+ *
+ * Routines for Compressed Data Type packet dissection.
+ *
+ * Copyright 2005, Stig Bjorlykke <stig@bjorlykke.org>, Thales Norway AS
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref: STANAG 4406 Annex E
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/expert.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-p1.h"
+
+#include "packet-cdt.h"
+
+#define CDT_UNDEFINED 0
+#define CDT_EXTERNAL 1
+#define CDT_P1 2
+#define CDT_P3 3
+#define CDT_P7 4
+
+#define PNAME "Compressed Data Type"
+#define PSNAME "CDT"
+#define PFNAME "cdt"
+
+void proto_register_cdt(void);
+void proto_reg_handoff_cdt(void);
+
+static proto_tree *top_tree = NULL;
+static proto_item *cdt_item = NULL;
+
+static guint32 content_type = 0;
+
+/* Initialize the protocol and registered fields */
+static int proto_cdt = -1;
+#include "packet-cdt-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-cdt-ett.c"
+
+static expert_field ei_cdt_unable_compress_content = EI_INIT;
+static expert_field ei_cdt_unable_uncompress_content = EI_INIT;
+
+#include "packet-cdt-fn.c"
+
+
+/*--- proto_register_cdt -------------------------------------------*/
+
+/*
+** Dissect Compressed Data Type
+*/
+void dissect_cdt (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+ proto_tree *tree = NULL;
+
+ /* save parent_tree so subdissectors can create new top nodes */
+ top_tree = parent_tree;
+
+ if (parent_tree) {
+ cdt_item = proto_tree_add_item (parent_tree, proto_cdt, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree (cdt_item, ett_cdt_CompressedData);
+ } else {
+ cdt_item = NULL;
+ }
+
+ col_set_str (pinfo->cinfo, COL_PROTOCOL, "CDT");
+ col_clear (pinfo->cinfo, COL_INFO);
+
+ dissect_CompressedData_PDU (tvb, pinfo, tree, NULL);
+}
+
+void proto_register_cdt (void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-cdt-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-cdt-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_cdt_unable_compress_content, { "cdt.unable_compress_content", PI_UNDECODED, PI_ERROR, "Unable to get compressed content", EXPFILL }},
+ { &ei_cdt_unable_uncompress_content, { "cdt.unable_uncompress_content", PI_UNDECODED, PI_ERROR, "Unable to get uncompressed content", EXPFILL }},
+ };
+
+ expert_module_t* expert_cdt;
+
+ /* Register protocol */
+ proto_cdt = proto_register_protocol (PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array (proto_cdt, hf, array_length(hf));
+ proto_register_subtree_array (ett, array_length(ett));
+ expert_cdt = expert_register_protocol(proto_cdt);
+ expert_register_field_array(expert_cdt, ei, array_length(ei));
+}
+
+
+/*--- proto_reg_handoff_cdt ---------------------------------------*/
+void proto_reg_handoff_cdt (void) {
+#include "packet-cdt-dis-tab.c"
+}
diff --git a/epan/dissectors/asn1/cdt/packet-cdt-template.h b/epan/dissectors/asn1/cdt/packet-cdt-template.h
new file mode 100644
index 00000000..d0d7391d
--- /dev/null
+++ b/epan/dissectors/asn1/cdt/packet-cdt-template.h
@@ -0,0 +1,21 @@
+/* packet-cdt.h
+ *
+ * Routines for Compressed Data Type packet dissection.
+ *
+ * Copyright 2005, Stig Bjorlykke <stig@bjorlykke.org>, Thales Norway AS
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_CDT_H
+#define PACKET_CDT_H
+
+void dissect_cdt (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree);
+#include "packet-cdt-exp.h"
+
+#endif /* PACKET_CDT_H */
+
diff --git a/epan/dissectors/asn1/charging_ase/CMakeLists.txt b/epan/dissectors/asn1/charging_ase/CMakeLists.txt
new file mode 100644
index 00000000..e99065b8
--- /dev/null
+++ b/epan/dissectors/asn1/charging_ase/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME charging_ase )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ Tariffing-Data-Types.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/charging_ase/Tariffing-Data-Types.asn b/epan/dissectors/asn1/charging_ase/Tariffing-Data-Types.asn
new file mode 100644
index 00000000..86d6fbfb
--- /dev/null
+++ b/epan/dissectors/asn1/charging_ase/Tariffing-Data-Types.asn
@@ -0,0 +1,446 @@
+-- ETSI ES 201 296 V1.3.1 (2003-04)
+Tariffing-Data-Types {itu-t(0) identified-organization(4) etsi (0) 1296 version3(4)}
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- This module contains the common data type definitions for the charging information used in the
+-- new ISUP APM application "Charging ASE" and in the INAP charging operations.
+--
+--
+
+EXPORTS
+
+-- Charging Common Data Types
+ ChargingAcknowledgementInformation ,
+ AddOnChargingInformation ,
+ ChargingTariffInformation ,
+ StartCharging ,
+ StopCharging ,
+ ChargingMessageType
+
+;
+
+-- ChargingMessageType Type
+
+ChargingMessageType ::= CHOICE {
+ crgt [0] ChargingTariffInformation,
+ aocrg [1] AddOnChargingInformation ,
+ crga [2] ChargingAcknowledgementInformation ,
+ start [3] StartCharging ,
+ stop [4] StopCharging }
+
+-- ChargeUnitTimeInterval Type
+
+ChargeUnitTimeInterval ::= OCTET STRING (SIZE(2))
+
+-- The ChargeUnitTimeInterval is binary coded and has the value range from 0 to 35997. It begins with 200 milliseconds and
+-- then in steps of 50 milliseconds.
+-- the LSBit is the least significant bit of the first octet
+-- the MSBit is the most significant bit of the last octet
+-- the coding of the ChargeUnitTimeInterval is the following:
+-- 0 : no periodic metering
+-- 1 : 200 msec
+-- 2 : 250 msec
+-- ..
+-- 35997 : 30 minutes
+-- All other values are spare.
+
+-- ChargingAcknowledgementInformation Type
+
+ChargingAcknowledgementInformation ::= SEQUENCE {
+ acknowledgementIndicators [0] BIT STRING {
+ accepted (0) }
+ (SIZE(minAcknowledgementIndicatorsLen..maxAcknowledgementIndicatorsLen)), extensions [1]
+SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
+ originationIdentification [2] ChargingReferenceIdentification,
+ destinationIdentification [3] ChargingReferenceIdentification
+}
+
+-- Coding of "accepted":
+-- 0: not accepted.
+-- 1: accepted.
+-- The "extensions" is a SEQUENCE for possible extensions.
+
+-- ChargingControlIndicators Type
+
+ChargingControlIndicators ::= BIT STRING {
+ subscriberCharge (0),
+ immediateChangeOfActuallyAppliedTariff (1),
+ delayUntilStart (2) }
+ (SIZE(minChargingControlIndicatorsLen..maxChargingControlIndicatorsLen))
+
+-- Coding of "subscriberCharge":
+-- 0 - advice-of-charge: charging information only to be used by the advice of charge service.
+-- 1 - subscriber-charge: charging information to be used by the subscriber charging program.
+-- Coding of "immediateChangeOfActuallyAppliedTariff":
+-- 0 - immediate tariff change without restart
+-- 1 - immediate tariff change with restart
+-- It is only used to change the actually applied tariff.
+-- Coding of 'delayUntilStart':
+-- 0 - start tariffing, if it is not already started, without waiting for the 'start' signal
+-- 1 - delay start of tariffing up to the receipt of the 'start' signal
+
+-- AddOnChargingInformation Type
+
+AddOnChargingInformation ::= SEQUENCE {
+ chargingControlIndicators [0] ChargingControlIndicators ,
+ addOncharge [1] CHOICE {
+ addOnChargeCurrency [0] CurrencyFactorScale ,
+ addOnChargePulse [1] PulseUnits
+ },
+ extensions [2] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
+ originationIdentification [3] ChargingReferenceIdentification,
+ destinationIdentification [4] ChargingReferenceIdentification OPTIONAL,
+ currency [5] Currency
+}
+
+-- This message is used to add an amount of charge for the call and does not alter the current tariff.
+-- The destinationIdentification is not available in an initial AddOnChargingInformation, in all subsequent ones it is included, see
+-- "Handling of Identifiers".
+-- In the message the
+-- add-on charge has either the pulse or currency format.
+-- ChargingTariffInformation Type
+
+ChargingTariffInformation ::= SEQUENCE {
+ chargingControlIndicators [0] ChargingControlIndicators,
+ chargingTariff [1] CHOICE {
+ tariffCurrency [0] TariffCurrency,
+ tariffPulse [1] TariffPulse
+ },
+ extensions [2] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
+ originationIdentification [3] ChargingReferenceIdentification,
+ destinationIdentification [4] ChargingReferenceIdentification OPTIONAL,
+ currency [5] Currency
+}
+
+--This message is used
+-- to transfer explicit tariff data to the originating subscriber exchange and the charge registration exchange during call
+-- set-up and also in the active phase of a call.
+-- The destinationIdentification is not available in an initial ChargingTariffInformation, in all subsequent ones it is included, see
+-- "Handling of Identifiers".
+Code ::= CHOICE
+{
+ local INTEGER,
+ global OBJECT IDENTIFIER
+}
+
+-- CommunicationChargeCurrency Type
+
+CommunicationChargeCurrency ::= SEQUENCE {
+ currencyFactorScale [0] CurrencyFactorScale ,
+ tariffDuration [1] TariffDuration ,
+ subTariffControl [2] SubTariffControl }
+
+-- CommunicationChargePulse Type
+
+CommunicationChargePulse ::= SEQUENCE {
+ pulseUnits [0] PulseUnits ,
+ chargeUnitTimeInterval [1] ChargeUnitTimeInterval ,
+ tariffDuration [2] TariffDuration }
+
+-- Criticality Type
+CriticalityType ::= ENUMERATED {
+ ignore(0),
+ abort(1) }
+
+-- Currency Type
+Currency ::= ENUMERATED {
+ noIndication (0),
+ australianDollar (1),
+ austrianSchilling (2),
+ belgianFranc (3),
+ britishPound (4),
+ czechKoruna (5),
+ danishKrone (6),
+ dutchGuilder (7),
+ euro (8),
+ finnishMarkka (9),
+ frenchFranc (10),
+ germanMark (11),
+ greekDrachma (12),
+ hungarianForint (13),
+ irishPunt (14),
+ italianLira (15),
+ japaneseYen (16),
+ luxembourgian-Franc (17),
+ norwegianKrone (18),
+ polishZloty (19),
+ portugeseEscudo (20),
+ russianRouble (21),
+ slovakKoruna (22),
+ spanishPeseta (23),
+ swedishKrone (24),
+ swissFranc (25),
+ turkishLira (26),
+ uSDollar (27),
+ ...}
+
+-- CurrencyFactor Type
+
+CurrencyFactor ::= INTEGER (0..999999)
+
+-- Value 0 indicates "no charge".
+-- CurrencyFactorScale Type
+
+CurrencyFactorScale ::= SEQUENCE {
+ currencyFactor [0] CurrencyFactor DEFAULT noCharge ,
+ currencyScale [1] CurrencyScale DEFAULT noScale }
+
+-- The charge amount is indicated by the currency factor multiplied with the currency scale.
+-- "no charge" indicates CurrencyFactorScale has the value 0.
+-- CurrencyScale Type
+
+CurrencyScale ::= INTEGER (-7..3)
+
+-- The actual value for currency scale is given by 10x, where x is the value of the CurrencyScale.
+--
+-- the coding of CurrencyScale is as follows, all other values are spare:
+-- -7 (249): 0,0000001
+-- -6 (250): 0,000001
+-- -5 (251): 0,00001
+-- -4 (252): 0,0001
+-- -3 (253): 0,001
+-- -2 (254): 0,01
+-- -1 (255): 0,1
+-- 0 : 1
+-- 1 : 10
+-- 2 : 100
+-- 3 : 1000
+
+-- Definition of the extension class
+
+EXTENSION ::= CLASS {
+ &ExtensionType,
+ &criticality CriticalityType DEFAULT ignore,
+ &id Code
+}
+WITH SYNTAX {
+ EXTENSION-SYNTAX &ExtensionType
+ CRITICALITY &criticality
+ IDENTIFIED BY &id
+}
+-- Example of addition of an extension named 'Some Network Specific Indicator' of type
+-- BOOLEAN, with criticality 'abort' and to be identified as extension number 1
+-- Example of definition using the above information object class:
+--
+-- SomeNetworkSpecificIndicator EXTENSION ::= {
+-- EXTENSION-SYNTAX BOOLEAN
+-- CRITICALITY abort
+-- IDENTIFIED BY local : 1
+-- }
+-- Example of transfer syntax, using the ExtensionField datatype as specified in section 4.1.
+-- Assuming the value of the extension is set to TRUE, the extensions parameter
+-- becomes a Sequence of type INTEGER ::= 1, criticality ENUMERATED ::= 1 and value [1]
+-- EXPLICIT BOOLEAN ::= TRUE.
+--
+-- Use of Q.1400 defined Extension is ffs
+-- In addition the extension mechanism marker is used to identify the future minor additions to INAP.
+firstExtension EXTENSION ::= {
+ EXTENSION-SYNTAX NULL
+ CRITICALITY ignore
+ IDENTIFIED BY local:1
+ }
+
+-- firstExtension is just an example.
+
+SupportedExtensions EXTENSION ::= {firstExtension , ...
+-- full set of network operator extensions --}
+-- SupportedExtension is the full set of the network operator extensions.
+-- ExtensionField Type
+
+ExtensionField ::= SEQUENCE {
+ type EXTENSION.&id ({SupportedExtensions}),
+ -- shall identify the value of an EXTENSION type
+ criticality CriticalityType DEFAULT ignore,
+ value [1] EXTENSION.&ExtensionType
+ ({SupportedExtensions}{@type})
+}
+-- This parameter indicates an extension of an argument data type. Its contents is network operator specific.
+-- PulseUnits Type
+
+PulseUnits ::= OCTET STRING (SIZE(1))
+-- the PulseUnits is binary coded and has the value range from 0 to 255
+-- StartCharging Type
+StartCharging ::= SEQUENCE {
+ networkOperators [0] SEQUENCE SIZE (1..maxNetworkOperators) OF NetworkIdentification OPTIONAL,
+ extensions [1] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
+ originationIdentification [2] ChargingReferenceIdentification
+}
+
+--This message is used
+-- to start charge generation/registration for one that belongs to one network operator or
+-- to start charge generation/registration for more tariffs that belong to several network
+-- operators.
+-- The corresponding network operator(s) are listed within sub-parameter 'networkOperators'.
+-- The sub-parameter 'networkOperators' is mandatory in configurations of multiple charge
+-- determination points.
+-- If sub-parameter 'networkOperators' is not present in a configuration with only one charge
+-- determination point, the corresponding tariff is started.
+-- The 'extensions' is a SEQUENCE for possible extensions.
+-- StopCharging Type
+
+StopCharging ::= SEQUENCE {
+ stopIndicators [0] BIT STRING {
+ callAttemptChargesApplicable (0) }
+ (SIZE(minStopIndicatorsLen.. maxStopIndicatorsLen)),
+ networkOperators [1] SEQUENCE SIZE (1..maxNetworkOperators) OF NetworkIdentification OPTIONAL,
+ extensions [2] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
+ originationIdentification [3] ChargingReferenceIdentification
+}
+
+--This message is used to stop charge generation/registration
+-- for one that belongs to one network operator or
+-- to stop charge generation/registration for more tariffs that belong to several network operators.
+-- The corresponding network operator(s) are listed within sub-parameter 'networkOperators'.
+-- The sub-parameter 'networkOperators' is mandatory in configurations of multiple charge
+-- determination points.
+-- If sub-parameter 'networkOperators' is not present in a configuration with only one charge
+-- determination point, the corresponding tariff is stopped.
+-- Coding of 'callAttemptChargesApplicable':
+-- 0 - stop tariffing, call attempt charges are not applicable
+-- 1 - stop tariffing, call attempt charges are applicable
+-- The 'extensions' is a SEQUENCE for possible extensions.
+
+-- SubTariffControl Type
+
+SubTariffControl ::= BIT STRING {oneTimeCharge (0)}
+(SIZE(minSubTariffControlLen..maxSubTariffControlLen))
+-- The coding of the oneTimeCharge is as follows:
+-- 0 - Periodic charge
+-- 1 - One time charge
+minSubTariffControlLen INTEGER ::= 1
+maxSubTariffControlLen INTEGER ::= 8
+
+-- TariffCurrency Type
+
+TariffCurrency ::= SEQUENCE {
+ currentTariffCurrency [0] TariffCurrencyFormat OPTIONAL ,
+ tariffSwitchCurrency [1] TariffSwitchCurrency OPTIONAL
+}
+-- TariffSwitchCurrency Type
+
+TariffSwitchCurrency ::= SEQUENCE {
+ nextTariffCurrency [0] TariffCurrencyFormat ,
+ tariffSwitchoverTime [1] TariffSwitchoverTime
+}
+
+-- TariffCurrencyFormat Type
+
+TariffCurrencyFormat ::= SEQUENCE {
+ communicationChargeSequenceCurrency [0] SEQUENCE
+ SIZE(minCommunicationTariffNum..maxCommunicationTariffNum)
+ OF CommunicationChargeCurrency OPTIONAL ,
+ tariffControlIndicators [1] BIT STRING {
+ non-cyclicTariff (0) }
+ (SIZE(minTariffIndicatorsLen..maxTariffIndicatorsLen)) ,
+ callAttemptChargeCurrency [2] CurrencyFactorScale OPTIONAL ,
+ callSetupChargeCurrency [3] CurrencyFactorScale OPTIONAL }
+
+-- The communication charge sequence currency is a direct charge in currency per time unit. Only one fixed time unit is used.
+-- This time unit has
+-- to be agreed between all cooperating networks, e.g. one second. Being fixed, the time unit is not transferred over
+-- ISUP/INAP.
+-- The call attempt charge is a direct charge, to be charged only for unsuccessful calls.
+-- The call set-up charge is a direct charge, to be charged once at start of charging.
+--
+-- The coding of the non-cyclicTariff is as follows:
+-- 0 - Cyclic tariff ( at expiration of the tariff duration of the last communication tariff of the communication charge sequence,
+-- the communication charge sequence is re-applied.
+-- 1 - Non-cyclic tariff ( at expiration of the tariff duration of the last communication tariff of the communication charge
+-- sequence, do not re-apply the communication charge sequence)
+
+-- TariffDuration Type
+
+TariffDuration ::= INTEGER (0..36000)
+
+-- TariffDuration identifies with 0 unlimited duration and else in seconds unit.
+-- 0 = unlimited
+-- 1 = 1 second
+-- 2 = 2 seconds
+-- ...
+-- 36000 = 10 hours
+--
+-- The duration indicates for how long time the communication charge component is valid. Expiration of the tariff duration
+-- timer leads to the activation of the next communication charge (if present).
+-- In the case where there is no next communication charge in the communication charge sequence, the action to be performed
+-- is indicated by the tariffControlIndicators.
+-- TariffPulse Type
+
+TariffPulse ::= SEQUENCE {
+ currentTariffPulse [0] TariffPulseFormat OPTIONAL ,
+ tariffSwitchPulse [1] TariffSwitchPulse OPTIONAL }
+
+-- TariffSwitchPulse Type
+
+TariffSwitchPulse ::= SEQUENCE {
+ nextTariffPulse [0] TariffPulseFormat ,
+ tariffSwitchoverTime [1] TariffSwitchoverTime }
+
+-- TariffPulseFormat Type
+
+TariffPulseFormat ::= SEQUENCE {
+ communicationChargeSequencePulse [0] SEQUENCE
+ SIZE(minCommunicationTariffNum.. maxCommunicationTariffNum)
+ OF CommunicationChargePulse OPTIONAL ,
+ tariffControlIndicators [1] BIT STRING {
+ non-cyclicTariff (0) }
+ (SIZE(minTariffIndicatorsLen..maxTariffIndicatorsLen)) ,
+ callAttemptChargePulse [2] PulseUnits OPTIONAL ,
+ callSetupChargePulse [3] PulseUnits OPTIONAL }
+
+-- The communication charges are meter-pulse units, which are to be applied per charge unit time interval.
+-- The call attempt pulse units are to be charged only for unsuccessful calls.
+-- The call set-up pulse units are to be charged once at start of charging.
+
+-- TariffSwitchoverTime Type
+
+TariffSwitchoverTime ::= OCTET STRING (SIZE(1))
+
+-- This time is the absolute time at which the next tariff has to become active. It is represented in steps of 15 minutes.
+-- The coding is the following:
+-- 0 : spare
+-- 1 : 0 hour 15 minutes
+-- 2 : 0 hour 30 minutes
+-- 3 : 0 hour 45 minutes
+-- 4 : 1 hour 0 minutes
+-- ..
+-- 96 : 24 hours 0 minutes
+-- 97-255 : spare
+
+minAcknowledgementIndicatorsLen INTEGER ::= 1
+maxAcknowledgementIndicatorsLen INTEGER ::= 8
+minChargingControlIndicatorsLen INTEGER ::= 1
+maxChargingControlIndicatorsLen INTEGER ::= 8
+maxNetworkOperators INTEGER ::= 6
+minStopIndicatorsLen INTEGER ::= 1
+maxStopIndicatorsLen INTEGER ::= 8
+minTariffIndicatorsLen INTEGER ::= 1
+maxTariffIndicatorsLen INTEGER ::= 8
+minCommunicationTariffNum INTEGER ::= 1
+maxCommunicationTariffNum INTEGER ::= 4
+noCharge INTEGER ::= 0
+noScale INTEGER ::= 0
+numOfExtensions INTEGER ::= 1 --network specific
+
+-- ChargingReferenceIdentification Type
+
+ChargingReferenceIdentification ::= SEQUENCE {
+ networkIdentification [0] NetworkIdentification,
+ referenceID [1] ReferenceID}
+
+-- NetworkIdentification Type
+
+NetworkIdentification ::= OBJECT IDENTIFIER
+
+-- Following structure of the networkIdentification value shall be used:
+-- {itu-t (0) administration (2) <national regulation authority> (x) network (y) node identification (z)}
+-- The value for x is the value of the national regulation authority, the value for y is under the control of the national
+-- regulation authority concerned, the value for z is under the control of the network concerned.
+
+-- ReferenceID Type
+
+ReferenceID ::= INTEGER (0..4294967295)
+-- maximum value 232 - 1
+
+END
+-- of Tariffing-Data Types
diff --git a/epan/dissectors/asn1/charging_ase/charging_ase.cnf b/epan/dissectors/asn1/charging_ase/charging_ase.cnf
new file mode 100644
index 00000000..661c68f2
--- /dev/null
+++ b/epan/dissectors/asn1/charging_ase/charging_ase.cnf
@@ -0,0 +1,16 @@
+# charging ase.cnf
+# charging ase conformation file
+# Anders Broman 2009
+
+#.EXPORTS
+ChargingMessageType
+ChargingMessageType_PDU
+
+#.PDU
+ChargingMessageType
+
+#.FN_BODY ExtensionField/value
+
+ proto_tree_add_expert(tree, actx->pinfo, &ei_charging_ase_extensions_not_dissected, tvb, offset, -1);
+ return tvb_reported_length(tvb);
+#.END
diff --git a/epan/dissectors/asn1/charging_ase/packet-charging_ase-template.c b/epan/dissectors/asn1/charging_ase/packet-charging_ase-template.c
new file mode 100644
index 00000000..72d02b50
--- /dev/null
+++ b/epan/dissectors/asn1/charging_ase/packet-charging_ase-template.c
@@ -0,0 +1,93 @@
+/* packet-charging_ase-template.c
+ * Copyright 2009 , Anders Broman <anders.broman [AT] ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References: ETSI ES 201 296 V1.3.1 (2003-04)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-charging_ase.h"
+
+#define PNAME "Charging ASE"
+#define PSNAME "ChargingASE"
+#define PFNAME "chargingase"
+
+void proto_register_charging_ase(void);
+void proto_reg_handoff_charging_ase(void);
+
+/* Define the Charging ASE proto */
+static int proto_charging_ase = -1;
+
+#include "packet-charging_ase-hf.c"
+
+static int ett_charging_ase = -1;
+#include "packet-charging_ase-ett.c"
+
+static expert_field ei_charging_ase_extensions_not_dissected = EI_INIT;
+
+static dissector_handle_t charging_ase_handle;
+
+#include "packet-charging_ase-fn.c"
+
+static int
+dissect_charging_ase(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *it;
+ proto_tree *tr;
+
+ it=proto_tree_add_protocol_format(tree, proto_charging_ase, tvb, 0, -1, "Charging ASE");
+ tr=proto_item_add_subtree(it, ett_charging_ase);
+
+ if(tvb_reported_length(tvb)>0)
+ {
+ dissect_charging_ase_ChargingMessageType_PDU(tvb , pinfo, tr, NULL);
+ }
+ return tvb_captured_length(tvb);
+}
+
+/* Register all the bits needed with the filtering engine */
+void
+proto_register_charging_ase(void)
+{
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-charging_ase-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_charging_ase,
+#include "packet-charging_ase-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_charging_ase_extensions_not_dissected, { "charging_ase.extensions_not_dissected", PI_UNDECODED, PI_WARN, "Extensions not dissected", EXPFILL }},
+ };
+
+ expert_module_t* expert_charging_ase;
+
+ proto_charging_ase = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ proto_register_field_array(proto_charging_ase, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_charging_ase = expert_register_protocol(proto_charging_ase);
+ expert_register_field_array(expert_charging_ase, ei, array_length(ei));
+ charging_ase_handle = register_dissector("charging_ase", dissect_charging_ase, proto_charging_ase);
+}
+
+/* The registration hand-off routine */
+void
+proto_reg_handoff_charging_ase(void)
+{
+}
+
diff --git a/epan/dissectors/asn1/charging_ase/packet-charging_ase-template.h b/epan/dissectors/asn1/charging_ase/packet-charging_ase-template.h
new file mode 100644
index 00000000..cca0098d
--- /dev/null
+++ b/epan/dissectors/asn1/charging_ase/packet-charging_ase-template.h
@@ -0,0 +1,16 @@
+/* packet-charging_ase-template.h
+ * Copyright 2009, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_CHARGING_ASE_H
+#define PACKET_CHARGING_ASE_H
+
+#include "packet-charging_ase-exp.h"
+
+#endif /* PACKET_CHARGING_ASE_H */
diff --git a/epan/dissectors/asn1/cmip/CMIP-1.asn b/epan/dissectors/asn1/cmip/CMIP-1.asn
new file mode 100644
index 00000000..a50e66e5
--- /dev/null
+++ b/epan/dissectors/asn1/cmip/CMIP-1.asn
@@ -0,0 +1,706 @@
+-- Module CMIP-1 (X.711:10/1997)
+CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)} DEFINITIONS ::=
+BEGIN
+
+IMPORTS
+ ERROR, OPERATION
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ ROS{}, InvokeId, noInvokeId
+ FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
+ remote-operations(4) generic-ROS-PDUs(6) version1(0)};
+
+CMIP-Operations OPERATION ::=
+ {m-Action | m-Action-Confirmed | m-CancelGet | m-Create | m-Delete |
+ m-EventReport | m-EventReport-Confirmed | m-Get | m-Linked-Reply | m-Set |
+ m-Set-Confirmed}
+
+CMIP-Confirmed-Operations OPERATION ::=
+ {m-Action-Confirmed | m-CancelGet | m-Create | m-Delete |
+ m-EventReport-Confirmed | m-Get | m-Set-Confirmed}
+
+-- CMISE error definitions
+accessDenied ERROR ::= {PRIORITY {0}
+ CODE local:2
+}
+
+classInstanceConflict ERROR ::= {
+ PARAMETER BaseManagedObjectId
+ PRIORITY {1}
+ CODE local:19
+}
+
+complexityLimitation ERROR ::= {
+ PARAMETER ComplexityLimitation
+ OPTIONAL TRUE
+ PRIORITY {1}
+ CODE local:20
+}
+
+duplicateManagedObjectInstance ERROR ::= {
+ PARAMETER ObjectInstance
+ PRIORITY {1}
+ CODE local:11
+}
+
+getListError ERROR ::= {
+ PARAMETER GetListError
+ PRIORITY {1}
+ CODE local:7
+}
+
+invalidArgumentValue ERROR ::= {
+ PARAMETER InvalidArgumentValue
+ PRIORITY {1}
+ CODE local:15
+}
+
+invalidAttributeValue ERROR ::= {
+ PARAMETER Attribute
+ PRIORITY {1}
+ CODE local:6
+}
+
+invalidFilter ERROR ::= {
+ PARAMETER CMISFilter
+ PRIORITY {1}
+ CODE local:4
+}
+
+invalidObjectInstance ERROR ::= {
+ PARAMETER ObjectInstance
+ PRIORITY {1}
+ CODE local:17
+}
+
+invalidScope ERROR ::= {PARAMETER Scope
+ PRIORITY {1}
+ CODE local:16
+}
+
+missingAttributeValue ERROR ::= {
+ PARAMETER SET OF AttributeId
+ PRIORITY {1}
+ CODE local:18
+}
+
+mistypedOperation ERROR ::= {PRIORITY {1}
+ CODE local:21
+}
+
+noSuchAction ERROR ::= {
+ PARAMETER NoSuchAction
+ PRIORITY {1}
+ CODE local:9
+}
+
+noSuchArgument ERROR ::= {
+ PARAMETER NoSuchArgument
+ PRIORITY {1}
+ CODE local:14
+}
+
+noSuchAttribute ERROR ::= {
+ PARAMETER AttributeId
+ PRIORITY {1}
+ CODE local:5
+}
+
+noSuchEventType ERROR ::= {
+ PARAMETER NoSuchEventType
+ PRIORITY {1}
+ CODE local:13
+}
+
+noSuchInvokeId ERROR ::= {
+ PARAMETER InvokeIDType
+ PRIORITY {1}
+ CODE local:22
+}
+
+noSuchObjectClass ERROR ::= {
+ PARAMETER ObjectClass
+ PRIORITY {1}
+ CODE local:0
+}
+
+noSuchObjectInstance ERROR ::= {
+ PARAMETER ObjectInstance
+ PRIORITY {1}
+ CODE local:1
+}
+
+noSuchReferenceObject ERROR ::= {
+ PARAMETER ObjectInstance
+ PRIORITY {1}
+ CODE local:12
+}
+
+operationCancelled ERROR ::= {PRIORITY {1}
+ CODE local:23
+}
+
+processingFailure ERROR ::= {
+ PARAMETER ProcessingFailure
+ OPTIONAL TRUE
+ PRIORITY {1}
+ CODE local:10
+}
+
+setListError ERROR ::= {
+ PARAMETER SetListError
+ PRIORITY {1}
+ CODE local:8
+}
+
+syncNotSupported ERROR ::= {
+ PARAMETER CMISSync
+ PRIORITY {1}
+ CODE local:3
+}
+
+-- CMISE operations
+-- Action operation (M-ACTION)
+m-Action OPERATION ::= {
+ ARGUMENT ActionArgument
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:6
+}
+
+m-Action-Confirmed OPERATION ::= {
+ ARGUMENT ActionArgument
+ RESULT ActionResult
+ OPTIONAL TRUE -- this result is conditional;
+ -- for conditions see 8.3.3.2.9 of ITU-T Rec. X.710
+ ERRORS
+ {accessDenied | classInstanceConflict | complexityLimitation | invalidScope
+ | invalidArgumentValue | invalidFilter | noSuchAction | noSuchArgument |
+ noSuchObjectClass | noSuchObjectInstance | processingFailure |
+ syncNotSupported}
+ LINKED {m-Linked-Reply}
+ CODE local:7
+}
+
+-- Cancel get operation (M-CANCEL-GET)
+m-CancelGet OPERATION ::= {
+ ARGUMENT InvokeIDType
+ RETURN RESULT TRUE
+ ERRORS {mistypedOperation | noSuchInvokeId | processingFailure}
+ CODE local:10
+}
+
+-- Create operation (M-CREATE)
+m-Create OPERATION ::= {
+ ARGUMENT CreateArgument
+ RESULT CreateResult
+ OPTIONAL TRUE -- this result is conditional;
+ -- for conditions see 8.3.4.1.3 of ITU-T Rec. X.710
+ ERRORS
+ {accessDenied | classInstanceConflict | duplicateManagedObjectInstance |
+ invalidAttributeValue | invalidObjectInstance | missingAttributeValue |
+ noSuchAttribute | noSuchObjectClass | noSuchObjectInstance |
+ noSuchReferenceObject | processingFailure}
+ CODE local:8
+}
+
+-- Delete operation (M-DELETE)
+m-Delete OPERATION ::= {
+ ARGUMENT DeleteArgument
+ RESULT DeleteResult
+ OPTIONAL TRUE -- this result is conditional;
+ -- for conditions see 8.3.5.2.8 of ITU-T Rec. X.710
+ ERRORS
+ {accessDenied | classInstanceConflict | complexityLimitation |
+ invalidFilter | invalidScope | noSuchObjectClass | noSuchObjectInstance |
+ processingFailure | syncNotSupported}
+ LINKED {m-Linked-Reply}
+ CODE local:9
+}
+
+-- Event Reporting operations (M-EVENT-REPORT)
+m-EventReport OPERATION ::= {
+ ARGUMENT EventReportArgument
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:0
+}
+
+m-EventReport-Confirmed OPERATION ::= {
+ ARGUMENT EventReportArgument
+ RESULT EventReportResult
+ OPTIONAL TRUE
+ ERRORS
+ {invalidArgumentValue | noSuchArgument | noSuchEventType |
+ noSuchObjectClass | noSuchObjectInstance | processingFailure}
+ CODE local:1
+}
+
+-- Get operation (M-GET)
+m-Get OPERATION ::= {
+ ARGUMENT GetArgument
+ RESULT GetResult
+ OPTIONAL TRUE -- this result is conditional;
+ -- for conditions see 8.3.1.2.8 of ITU-T Rec. X.710
+ ERRORS
+ {accessDenied | classInstanceConflict | complexityLimitation | getListError
+ | invalidFilter | invalidScope | noSuchObjectClass | noSuchObjectInstance
+ | operationCancelled | processingFailure | syncNotSupported}
+ LINKED {m-Linked-Reply}
+ CODE local:3
+}
+
+-- Linked operation to M-GET, M-SET (Confirmed), M-ACTION (Confirmed), and M-DELETE
+m-Linked-Reply OPERATION ::= {ARGUMENT LinkedReplyArgument
+ CODE local:2
+}
+
+-- Set operations (M-SET)
+m-Set OPERATION ::= {
+ ARGUMENT SetArgument
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:4
+}
+
+m-Set-Confirmed OPERATION ::= {
+ ARGUMENT SetArgument
+ RESULT SetResult
+ OPTIONAL TRUE -- this result is conditional;
+ -- for conditions see 8.3.2.2.9 of ITU-T Rec. X.710
+ ERRORS
+ {accessDenied | classInstanceConflict | complexityLimitation |
+ invalidFilter | invalidScope | noSuchObjectClass | noSuchObjectInstance |
+ processingFailure | setListError | syncNotSupported}
+ LINKED {m-Linked-Reply}
+ CODE local:5
+}
+
+-- INFORMATION OBJECT definitions
+-- While it is possible to use the Information object class definitions defined below to specify
+-- Action types, Attribute types, Event Report types, and their associated ASN.1 type definitions,
+-- the alternative approach using GDMO templates, as defined in ITU-T Rec. 722 | ISO/IEC 10165-5,
+-- continues to be available for use with this Recommendation | International Standard.
+CMIP-ACTION ::= CLASS {&id ActionTypeId UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+
+CMIP-ATTRIBUTE ::= CLASS {&id AttributeId UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+
+CMIP-AVA ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Value
+}
+
+CMIP-EVENT ::= CLASS {&id EventTypeId UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+
+CMIP-SPECIFICERROR ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+
+-- Supporting type definitions
+AccessControl ::= EXTERNAL
+
+ActionArgument ::= SEQUENCE {
+ COMPONENTS OF BaseManagedObjectId,
+ accessControl [5] AccessControl OPTIONAL,
+ synchronization [6] IMPLICIT CMISSync DEFAULT bestEffort,
+ scope [7] Scope DEFAULT namedNumbers:baseObject,
+ filter CMISFilter DEFAULT and:{},
+ actionInfo [12] IMPLICIT ActionInfo,
+ ...
+}
+
+ActionError ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ actionErrorInfo [6] ActionErrorInfo,
+ ...
+}
+
+ActionErrorInfo ::= SEQUENCE {
+ errorStatus
+ ENUMERATED {accessDenied(2), noSuchAction(9), noSuchArgument(14),
+ invalidArgumentValue(15), ...
+ },
+ errorInfo
+ CHOICE {actionType CMIP-ACTION.&id({ActionSet}),
+ actionArgument [0] NoSuchArgument,
+ argumentValue [1] InvalidArgumentValue},
+ ...
+}
+
+ActionInfo ::= SEQUENCE {
+ actionType CMIP-ACTION.&id({ActionSet}),
+ actionInfoArg [4] CMIP-ACTION.&Value({ActionSet}{@.actionType}) OPTIONAL
+}
+
+ActionReply ::= SEQUENCE {
+ actionType CMIP-ACTION.&id({ActionSet}),
+ actionReplyInfo [4] CMIP-ACTION.&Value({ActionSet}{@.actionType})
+}
+
+ActionResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ actionReply [6] IMPLICIT ActionReply OPTIONAL,
+ ...
+}
+
+ActionSet CMIP-ACTION ::=
+ {...}
+
+ActionTypeId ::= CHOICE {
+ globalForm [2] IMPLICIT OBJECT IDENTIFIER,
+ localForm [3] IMPLICIT INTEGER
+}
+
+-- This Recommendation | International Standard does not allocate any values for localForm.
+-- Where this alternative is used, the permissible values for the integers and their meanings shall be defined
+-- as part of the application context in which they are used
+Attribute ::= SEQUENCE {
+ id CMIP-ATTRIBUTE.&id({AttributeSet}),
+ value CMIP-ATTRIBUTE.&Value({AttributeSet}{@.id})
+}
+
+AttributeError ::= SEQUENCE {
+ errorStatus
+ ENUMERATED {accessDenied(2), noSuchAttribute(5), invalidAttributeValue(6),
+ invalidOperation(24), invalidOperator(25), ...
+ },
+ modifyOperator [2] IMPLICIT ModifyOperator OPTIONAL, -- present for invalidOperator
+
+ -- and invalidOperation
+ attributeId CMIP-ATTRIBUTE.&id({AttributeSet}),
+ attributeValue CMIP-ATTRIBUTE.&Value({AttributeSet}{@.attributeId}) OPTIONAL
+ -- value is absent for setToDefault
+}
+
+AttributeId ::= CHOICE {
+ globalForm [0] IMPLICIT OBJECT IDENTIFIER,
+ localForm [1] IMPLICIT INTEGER
+}
+
+-- This Recommendation | International Standard does not allocate any values for localForm.
+-- Where this alternative is used, the permissible values for the integers and their meanings shall be defined
+-- as part of the application context in which they are used
+AttributeIdError ::= SEQUENCE {
+ errorStatus ENUMERATED {accessDenied(2), noSuchAttribute(5), ...
+ },
+ attributeId AttributeId,
+ ...
+}
+
+AttributeSet CMIP-ATTRIBUTE ::=
+ {...}
+
+AttributeValueAssertion ::= SEQUENCE {
+ id CMIP-AVA.&id({AvaSet}),
+ value CMIP-AVA.&Value({AvaSet}{@.id})
+}
+
+AvaSet CMIP-AVA ::=
+ {...}
+
+BaseManagedObjectId ::= SEQUENCE {
+ baseManagedObjectClass ObjectClass,
+ baseManagedObjectInstance ObjectInstance
+}
+
+CMISFilter ::= CHOICE {
+ item [8] FilterItem,
+ and [9] IMPLICIT SET OF CMISFilter,
+ or [10] IMPLICIT SET OF CMISFilter,
+ not [11] CMISFilter
+}
+
+CMISSync ::= ENUMERATED {bestEffort(0), atomic(1)}
+
+ComplexityLimitation ::= SET {
+ scope [0] Scope OPTIONAL,
+ filter [1] CMISFilter OPTIONAL,
+ sync [2] CMISSync OPTIONAL,
+ ...
+}
+
+CreateArgument ::= SEQUENCE {
+ managedObjectClass ObjectClass,
+ managedOrSuperiorObjectInstance
+ CHOICE {managedObjectInstance ObjectInstance,
+ superiorObjectInstance [8] ObjectInstance} OPTIONAL,
+ accessControl [5] AccessControl OPTIONAL,
+ referenceObjectInstance [6] ObjectInstance OPTIONAL,
+ attributeList [7] IMPLICIT SET OF Attribute OPTIONAL,
+ ...
+}
+
+CreateResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL, -- shall be returned if omitted from CreateArgument
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ attributeList [6] IMPLICIT SET OF Attribute OPTIONAL,
+ ...
+}
+
+DeleteArgument ::= SEQUENCE {
+ COMPONENTS OF BaseManagedObjectId,
+ accessControl [5] AccessControl OPTIONAL,
+ synchronization [6] IMPLICIT CMISSync DEFAULT bestEffort,
+ scope [7] Scope DEFAULT namedNumbers:baseObject,
+ filter CMISFilter DEFAULT and:{},
+ ...
+}
+
+DeleteError ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ deleteErrorInfo [6] ENUMERATED {accessDenied(2), ...
+ },
+ ...
+}
+
+DeleteResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ ...
+}
+
+DistinguishedName ::= RDNSequence
+
+EventReply ::= SEQUENCE {
+ eventType CMIP-EVENT.&id({EventSet}),
+ eventReplyInfo [8] CMIP-EVENT.&Value({EventSet}{@.eventType}) OPTIONAL
+}
+
+EventReportArgument ::= SEQUENCE {
+ managedObjectClass ObjectClass,
+ managedObjectInstance ObjectInstance,
+ eventTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ eventType CMIP-EVENT.&id({EventSet}),
+ eventInfo
+ [8] CMIP-EVENT.&Value({EventSet}{@.eventType}) OPTIONAL,
+ ...
+}
+
+EventReportResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ eventReply EventReply OPTIONAL,
+ ...
+}
+
+EventSet CMIP-EVENT ::=
+ {...}
+
+EventTypeId ::= CHOICE {
+ globalForm [6] IMPLICIT OBJECT IDENTIFIER,
+ localForm [7] IMPLICIT INTEGER
+}
+
+-- This Recommendation | International Standard does not allocate any values for localForm.
+-- Where this alternative is used, the permissible values for the integers and their meanings shall be defined
+-- as part of the application context in which they are used
+FilterItem ::= CHOICE {
+ equality [0] IMPLICIT Attribute,
+ substrings
+ [1] IMPLICIT SEQUENCE OF
+ CHOICE {initialString [0] IMPLICIT Attribute,
+ anyString [1] IMPLICIT Attribute,
+ finalString [2] IMPLICIT Attribute},
+ greaterOrEqual [2] IMPLICIT Attribute, -- asserted value ? attribute value
+ lessOrEqual [3] IMPLICIT Attribute, -- asserted value <= attribute value
+ present [4] AttributeId,
+ subsetOf [5] IMPLICIT Attribute, -- asserted value is a subset of attribute value
+ supersetOf [6] IMPLICIT Attribute, -- asserted value is a superset of attribute value
+ nonNullSetIntersection [7] IMPLICIT Attribute
+}
+
+GetArgument ::= SEQUENCE {
+ COMPONENTS OF BaseManagedObjectId,
+ accessControl [5] AccessControl OPTIONAL,
+ synchronization [6] IMPLICIT CMISSync DEFAULT bestEffort,
+ scope [7] Scope DEFAULT namedNumbers:baseObject,
+ filter CMISFilter DEFAULT and:{},
+ attributeIdList [12] IMPLICIT SET OF AttributeId OPTIONAL,
+ ...
+}
+
+GetInfoStatus ::= CHOICE {
+ attributeIdError [0] IMPLICIT AttributeIdError,
+ attribute [1] IMPLICIT Attribute
+}
+
+GetListError ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ getInfoList [6] IMPLICIT SET OF GetInfoStatus,
+ ...
+}
+
+GetResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ attributeList [6] IMPLICIT SET OF Attribute OPTIONAL,
+ ...
+}
+
+InvalidArgumentValue ::= CHOICE {
+ actionValue [0] IMPLICIT ActionInfo,
+ eventValue
+ [1] IMPLICIT SEQUENCE {eventType CMIP-EVENT.&id({EventSet}),
+ eventInfo
+ [8] CMIP-EVENT.&Value({EventSet}{@.eventType})
+ OPTIONAL}
+}
+
+InvokeIDType ::= InvokeId--(ALL EXCEPT absent:NULL)
+
+LinkedReplyArgument ::= CHOICE {
+ getResult [0] IMPLICIT GetResult,
+ getListError [1] IMPLICIT GetListError,
+ setResult [2] IMPLICIT SetResult,
+ setListError [3] IMPLICIT SetListError,
+ actionResult [4] IMPLICIT ActionResult,
+ processingFailure [5] IMPLICIT ProcessingFailure,
+ deleteResult [6] IMPLICIT DeleteResult,
+ actionError [7] IMPLICIT ActionError,
+ deleteError [8] IMPLICIT DeleteError
+}
+
+ModifyOperator ::= INTEGER {
+ replace(0), addValues(1), removeValues(2), setToDefault(3)}
+
+NoSuchAction ::= SEQUENCE {
+ managedObjectClass ObjectClass,
+ actionType CMIP-ACTION.&id({ActionSet}),
+ ...
+}
+
+NoSuchArgument ::= CHOICE {
+ actionId
+ [0] IMPLICIT SEQUENCE {managedObjectClass ObjectClass OPTIONAL,
+ actionType CMIP-ACTION.&id({ActionSet})
+ },
+ eventId
+ [1] IMPLICIT SEQUENCE {managedObjectClass ObjectClass OPTIONAL,
+ eventType CMIP-EVENT.&id({EventSet})
+ }
+}
+
+NoSuchEventType ::= SEQUENCE {
+ managedObjectClass ObjectClass,
+ eventType CMIP-EVENT.&id({EventSet}),
+ ...
+}
+
+ObjectClass ::= CHOICE {
+ globalForm [0] IMPLICIT OBJECT IDENTIFIER,
+ localForm [1] IMPLICIT INTEGER
+}
+
+-- This Recommendation | International Standard does not allocate any values for localForm.
+-- Where this alternative is used, the permissible values for the integers and their meanings shall be defined
+-- as part of the application context in which they are used
+ObjectInstance ::= CHOICE {
+ distinguishedName [2] IMPLICIT DistinguishedName,
+ nonSpecificForm [3] IMPLICIT OCTET STRING,
+ localDistinguishedName [4] IMPLICIT RDNSequence
+}
+
+-- localDistinguishedName is that portion of the distinguished name that is necessary to unambiguously identify the
+-- managed object within the context of communication between the open systems
+ProcessingFailure ::= SEQUENCE {
+ managedObjectClass ObjectClass,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ specificErrorInfo [5] SpecificErrorInfo,
+ ...
+}
+
+RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
+
+RelativeDistinguishedName ::= SET OF AttributeValueAssertion
+
+Scope ::= CHOICE {
+ namedNumbers INTEGER {baseObject(0), firstLevelOnly(1), wholeSubtree(2)},
+ individualLevels [1] IMPLICIT INTEGER, -- POSITIVE integer indicates the level to be selected
+ baseToNthLevel [2] IMPLICIT INTEGER
+} -- POSITIVE integer N indicates that the range of levels
+
+-- (0 - N) is to be selected
+-- with individualLevels and baseToNthLevel, a value of 0 has the same semantics as baseObject
+-- with individualLevels, a value of 1 has the same semantics as firstLevelOnly
+SetArgument ::= SEQUENCE {
+ COMPONENTS OF BaseManagedObjectId,
+ accessControl [5] AccessControl OPTIONAL,
+ synchronization [6] IMPLICIT CMISSync DEFAULT bestEffort,
+ scope [7] Scope DEFAULT namedNumbers:baseObject,
+ filter CMISFilter DEFAULT and:{},
+ modificationList
+ [12] IMPLICIT SET OF
+ SEQUENCE {modifyOperator
+ [2] IMPLICIT ModifyOperator DEFAULT replace,
+ attributeId
+ CMIP-ATTRIBUTE.&id({AttributeSet}),
+ attributeValue
+ CMIP-ATTRIBUTE.&Value
+ ({AttributeSet}{@.attributeId}) OPTIONAL
+ },
+ -- value is absent for setToDefault
+ ...
+}
+
+SetInfoStatus ::= CHOICE {
+ attributeError [0] IMPLICIT AttributeError,
+ attribute [1] IMPLICIT Attribute
+}
+
+SetListError ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ setInfoList [6] IMPLICIT SET OF SetInfoStatus,
+ ...
+}
+
+SetResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ attributeList [6] IMPLICIT SET OF Attribute OPTIONAL,
+ ...
+}
+
+SpecificErrorInfo ::= SEQUENCE {
+ errorId CMIP-SPECIFICERROR.&id({SpecificErrorSet}),
+ errorInfo CMIP-SPECIFICERROR.&Value({SpecificErrorSet}{@.errorId})
+}
+
+SpecificErrorSet CMIP-SPECIFICERROR ::=
+ {...}
+
+-- the following type specifies the constraints to be applied when using ROSE to support CMIP
+ROSEapdus ::=
+ ROS{{InvokeIDType}, {CMIP-Operations}, {CMIP-Confirmed-Operations}}
+
+END -- End of CMIP syntax definitions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/cmip/CMIP-A-ABORT-Information.asn b/epan/dissectors/asn1/cmip/CMIP-A-ABORT-Information.asn
new file mode 100644
index 00000000..f2d3e8e4
--- /dev/null
+++ b/epan/dissectors/asn1/cmip/CMIP-A-ABORT-Information.asn
@@ -0,0 +1,17 @@
+-- Module CMIP-A-ABORT-Information (X.711:10/1997)
+CMIP-A-ABORT-Information {joint-iso-itu-t ms(9) cmip(1) modules(0)
+ aAbortUserInfo(2)} DEFINITIONS ::=
+BEGIN
+
+-- Information carried in user-information parameter of A-ABORT
+CMIPAbortInfo ::= SEQUENCE {
+ abortSource [0] IMPLICIT CMIPAbortSource,
+ userInfo [1] EXTERNAL OPTIONAL
+}
+
+CMIPAbortSource ::= ENUMERATED {cmiseServiceUser(0), cmiseServiceProvider(1)}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/cmip/CMIP-A-ASSOCIATE-Information.asn b/epan/dissectors/asn1/cmip/CMIP-A-ASSOCIATE-Information.asn
new file mode 100644
index 00000000..0516dd5e
--- /dev/null
+++ b/epan/dissectors/asn1/cmip/CMIP-A-ASSOCIATE-Information.asn
@@ -0,0 +1,24 @@
+-- Module CMIP-A-ASSOCIATE-Information (X.711:10/1997)
+CMIP-A-ASSOCIATE-Information {joint-iso-itu-t ms(9) cmip(1) modules(0)
+ aAssociateUserInfo(1)} DEFINITIONS ::=
+BEGIN
+
+FunctionalUnits ::= BIT STRING {
+ multipleObjectSelection(0), filter(1), multipleReply(2), extendedService(3),
+ cancelGet(4)}
+
+-- Functional unit i is supported if and only if bit i is one
+-- Information carried in user-information parameter of A-ASSOCIATE
+CMIPUserInfo ::= SEQUENCE {
+ protocolVersion [0] IMPLICIT ProtocolVersion DEFAULT {version1},
+ functionalUnits [1] IMPLICIT FunctionalUnits DEFAULT {},
+ accessControl [2] EXTERNAL OPTIONAL,
+ userInfo [3] EXTERNAL OPTIONAL
+}
+
+ProtocolVersion ::= BIT STRING {version1(0), version2(1)}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/cmip/CMIP.asn b/epan/dissectors/asn1/cmip/CMIP.asn
new file mode 100644
index 00000000..a00ef223
--- /dev/null
+++ b/epan/dissectors/asn1/cmip/CMIP.asn
@@ -0,0 +1,526 @@
+-- some of the definitions use implicit tags so be careful when adding
+-- new structures.
+-- Module CMIP-A-ASSOCIATE-Information (X.711:10/1997)
+CMIP-A-ASSOCIATE-Information {joint-iso-itu-t ms(9) cmip(1) modules(0)
+ aAssociateUserInfo(1)} DEFINITIONS ::=
+BEGIN
+
+ IMPORTS
+
+ EXTERNALt
+ FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) acse1(1) version1(1)};
+
+
+ModificationItem ::= SEQUENCE {
+ modifyOperator [2] IMPLICIT ModifyOperator OPTIONAL,
+ attributeId OBJECT IDENTIFIER,
+ attributeValue ANY OPTIONAL
+}
+
+GetListError ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ getInfoList [6] IMPLICIT SET OF GetInfoStatus,
+ ...
+}
+
+ModifyOperator ::= INTEGER {
+ replace(0), addValues(1), removeValues(2), setToDefault(3)}
+
+GetInfoStatus ::= CHOICE {
+ attributeIdError [0] IMPLICIT AttributeIdError,
+ attribute [1] IMPLICIT Attribute
+}
+
+AttributeIdError ::= SEQUENCE {
+ errorStatus ENUMERATED {accessDenied(2), noSuchAttribute(5), ...
+ },
+ attributeId AttributeId,
+ ...
+}
+
+SetListError ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ setInfoList [6] IMPLICIT SET OF SetInfoStatus,
+ ...
+}
+
+ActionError ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ actionErrorInfo [6] ActionErrorInfo,
+ ...
+}
+
+ProcessingFailure ::= SEQUENCE {
+ managedObjectClass ObjectClass,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ specificErrorInfo [5] SpecificErrorInfo,
+ ...
+}
+
+RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
+
+RelativeDistinguishedName ::= SET OF AttributeValueAssertion
+
+DeleteError ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ deleteErrorInfo [6] ENUMERATED {accessDenied(2), ...
+ },
+ ...
+}
+
+SetInfoStatus ::= CHOICE {
+ attributeError [0] IMPLICIT AttributeError,
+ attribute [1] IMPLICIT Attribute
+}
+
+SpecificErrorInfo ::= SEQUENCE {
+ errorId OBJECT IDENTIFIER,
+ errorInfo ANY
+}
+
+NoSuchArgumentAction ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ actionType OBJECT IDENTIFIER
+}
+
+NoSuchArgumentEvent ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ eventType OBJECT IDENTIFIER
+}
+
+NoSuchArgument ::= CHOICE {
+ actionId
+ [0] IMPLICIT NoSuchArgumentAction,
+ eventId
+ [1] IMPLICIT NoSuchArgumentEvent
+}
+
+InvalidArgumentValueEventValue ::= SEQUENCE {
+ eventType OBJECT IDENTIFIER,
+ eventInfo [8] ANY OPTIONAL
+}
+
+InvalidArgumentValue ::= CHOICE {
+ actionValue [0] IMPLICIT ActionInfo,
+ eventValue
+ [1] IMPLICIT InvalidArgumentValueEventValue
+}
+
+ErrorInfo ::= CHOICE {
+ actionType OBJECT IDENTIFIER,
+ actionArgument [0] NoSuchArgument,
+ argumentValue [1] InvalidArgumentValue
+}
+
+ActionErrorInfo ::= SEQUENCE {
+ errorStatus
+ ENUMERATED {accessDenied(2), noSuchAction(9), noSuchArgument(14),
+ invalidArgumentValue(15), ...
+ },
+ errorInfo
+ ErrorInfo,
+ ...
+}
+
+AttributeError ::= SEQUENCE {
+ errorStatus
+ ENUMERATED {accessDenied(2), noSuchAttribute(5), invalidAttributeValue(6),
+ invalidOperation(24), invalidOperator(25), ...
+ },
+ modifyOperator [2] IMPLICIT ModifyOperator OPTIONAL, -- present for invalidOperator
+
+ -- and invalidOperation
+ attributeId OBJECT IDENTIFIER,
+ attributeValue ANY OPTIONAL
+ -- value is absent for setToDefault
+}
+
+SetResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ attributeList [6] IMPLICIT SET OF Attribute OPTIONAL,
+ ...
+}
+
+SetArgument ::= SEQUENCE {
+ baseManagedObjectClass ObjectClass,
+ baseManagedObjectInstance ObjectInstance,
+ accessControl [5] AccessControl OPTIONAL,
+ synchronization [6] IMPLICIT CMISSync OPTIONAL,
+ scope [7] Scope OPTIONAL,
+ filter CMISFilter OPTIONAL,
+ modificationList [12] IMPLICIT SET OF ModificationItem,
+ -- value is absent for setToDefault
+ ...
+}
+
+LinkedReplyArgument ::= CHOICE {
+ getResult [0] IMPLICIT GetResult,
+ getListError [1] IMPLICIT GetListError,
+ setResult [2] IMPLICIT SetResult,
+ setListError [3] IMPLICIT SetListError,
+ actionResult [4] IMPLICIT ActionResult,
+ processingFailure [5] IMPLICIT ProcessingFailure,
+ deleteResult [6] IMPLICIT DeleteResult,
+ actionError [7] IMPLICIT ActionError,
+ deleteError [8] IMPLICIT DeleteError
+}
+
+EventReply ::= SEQUENCE {
+ eventType OBJECT IDENTIFIER,
+ eventReplyInfo [8] ANY OPTIONAL
+}
+
+DistinguishedName ::= RDNSequence
+
+EventReportResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ eventReply EventReply OPTIONAL,
+ ...
+}
+
+EventReportArgument ::= SEQUENCE {
+ managedObjectClass ObjectClass,
+ managedObjectInstance ObjectInstance,
+ eventTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ eventType OBJECT IDENTIFIER,
+ eventInfo [8] ANY OPTIONAL,
+ ...
+}
+
+DeleteArgument ::= SEQUENCE {
+ baseManagedObjectClass ObjectClass,
+ baseManagedObjectInstance ObjectInstance,
+ accessControl [5] AccessControl OPTIONAL,
+ synchronization [6] IMPLICIT CMISSync OPTIONAL,
+ scope [7] Scope OPTIONAL,
+ filter CMISFilter OPTIONAL,
+ ...
+}
+
+DeleteResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ ...
+}
+
+CreateArgument ::= SEQUENCE {
+ managedObjectClass ObjectClass,
+ managedOrSuperiorObjectInstance
+ CHOICE {managedObjectInstance ObjectInstance,
+ superiorObjectInstance [8] ObjectInstance} OPTIONAL,
+ accessControl [5] AccessControl OPTIONAL,
+ referenceObjectInstance [6] ObjectInstance OPTIONAL,
+ attributeList [7] IMPLICIT SET OF Attribute OPTIONAL,
+ ...
+}
+
+CreateResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL, -- shall be returned if omitted from CreateArgument
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ attributeList [6] IMPLICIT SET OF Attribute OPTIONAL,
+ ...
+}
+
+ActionReply ::= SEQUENCE {
+ actionType OBJECT IDENTIFIER,
+ actionReplyInfo [4] ANY
+}
+
+ActionResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ actionReply [6] IMPLICIT ActionReply OPTIONAL,
+ ...
+}
+
+ActionArgument ::= SEQUENCE {
+ baseManagedObjectClass ObjectClass,
+ baseManagedObjectInstance ObjectInstance,
+ accessControl [5] AccessControl OPTIONAL,
+ synchronization [6] IMPLICIT CMISSync OPTIONAL,
+ scope [7] Scope OPTIONAL,
+ filter CMISFilter OPTIONAL,
+ actionInfo [12] IMPLICIT ActionInfo,
+ ...
+}
+
+ActionInfo ::= SEQUENCE {
+ actionType OBJECT IDENTIFIER,
+ actionInfoArg [4] ANY OPTIONAL
+}
+
+ObjectClass ::= CHOICE {
+ ocglobalForm [0] IMPLICIT OBJECT IDENTIFIER,
+ oclocalForm [1] IMPLICIT INTEGER
+}
+
+ObjectInstance ::= CHOICE {
+ distinguishedName [2] IMPLICIT DistinguishedName,
+ nonSpecificForm [3] IMPLICIT OCTET STRING,
+ localDistinguishedName [4] IMPLICIT RDNSequence
+}
+
+BaseManagedObjectId ::= SEQUENCE {
+ baseManagedObjectClass ObjectClass,
+ baseManagedObjectInstance ObjectInstance
+}
+
+AttributeId ::= CHOICE {
+ globalForm [0] IMPLICIT OBJECT IDENTIFIER,
+ localForm [1] IMPLICIT INTEGER
+}
+
+Attribute ::= SEQUENCE {
+ id AttributeId,
+ value ANY
+}
+
+AttributeValueAssertion ::= SEQUENCE {
+ id OBJECT IDENTIFIER,
+ value ANY
+}
+
+-- This Recommendation | International Standard does not allocate any values for localForm.
+-- Where this alternative is used, the permissible values for the integers and their meanings shall be defined
+-- as part of the application context in which they are used
+FilterItem ::= CHOICE {
+ equality [0] IMPLICIT Attribute,
+ substrings
+ [1] IMPLICIT SEQUENCE OF
+ CHOICE {initialString [0] IMPLICIT Attribute,
+ anyString [1] IMPLICIT Attribute,
+ finalString [2] IMPLICIT Attribute},
+ greaterOrEqual [2] IMPLICIT Attribute, -- asserted value ? attribute value
+ lessOrEqual [3] IMPLICIT Attribute, -- asserted value <= attribute value
+ present [4] AttributeId,
+ subsetOf [5] IMPLICIT Attribute, -- asserted value is a subset of attribute value
+ supersetOf [6] IMPLICIT Attribute, -- asserted value is a superset of attribute value
+ nonNullSetIntersection [7] IMPLICIT Attribute
+}
+
+-- IMPORTED from Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2) asn1Module(2) 1}
+
+AdministrativeState ::= ENUMERATED {locked(0), unlocked(1), shuttingDown(2)}
+
+DiscriminatorConstruct ::= CMISFilter
+
+Destination ::= CHOICE {single AE-title,
+ multiple SET OF AE-title
+}
+
+OperationalState ::= ENUMERATED {disabled(0), enabled(1)}
+
+NameBinding ::= OBJECT IDENTIFIER
+
+
+-- FROM ACSE
+AE-title ::= CHOICE {
+ ae-title-form1 AE-title-form1,
+ ae-title-form2 AE-title-form2,
+ ...
+}
+
+-- As defined in ITU-T Rec. X.650 | ISO/IEC 7498-3, an application-entity title is composed of an application process
+-- title and an application-entity qualifier. The ACSE protocol provides for the transfer of an application-entity title
+-- value by the transfer of its component values. However, the following data type is provided for International
+-- Standards that reference a single syntactic structure for AE titles.
+AE-title-form1 ::= Name
+
+-- For access to The Directory (see ITU-T Rec. X.500 series | ISO/IEC 9594), an AE title has AE-title-form1. This value
+-- can be constructed from AP-title-form1 and AE-qualifier-form1 values contained in an AARQ or AARE APDU.
+-- A discussion of forming an AE-title-form1 from AP-title-form1 and AE-qualifier form1 may be found in itu-t
+-- Rec X.665 | ISO/IEC 9834-6.
+AE-title-form2 ::= OBJECT IDENTIFIER
+
+Name ::= CHOICE {
+ rdnSequence RDNSequence
+}
+
+-- End Imports
+
+
+CMISFilter ::= CHOICE {
+ item [8] FilterItem,
+ and [9] IMPLICIT SET OF CMISFilter,
+ or [10] IMPLICIT SET OF CMISFilter,
+ not [11] CMISFilter
+}
+
+Scope ::= CHOICE {
+ namedNumbers INTEGER {baseObject(0), firstLevelOnly(1), wholeSubtree(2)},
+ individualLevels [1] IMPLICIT INTEGER, -- POSITIVE integer indicates the level to be selected
+ baseToNthLevel [2] IMPLICIT INTEGER
+} -- POSITIVE integer N indicates that the range of levels
+
+CMISSync ::= ENUMERATED {bestEffort(0), atomic(1)}
+
+-- Supporting type definitions
+AccessControl ::= EXTERNALt
+
+
+GetArgument ::= SEQUENCE {
+-- COMPONENTS OF BaseManagedObjectId, manually expanded
+ baseManagedObjectClass ObjectClass,
+ baseManagedObjectInstance ObjectInstance,
+ accessControl [5] AccessControl OPTIONAL,
+ synchronization [6] IMPLICIT CMISSync OPTIONAL,
+ scope [7] Scope OPTIONAL,
+ filter CMISFilter OPTIONAL,
+ attributeIdList [12] IMPLICIT SET OF AttributeId OPTIONAL,
+ ...
+}
+
+GetResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ attributeList [6] IMPLICIT SET OF Attribute OPTIONAL,
+ ...
+}
+
+Argument ::= ANY
+
+ReturnResultBody ::= SEQUENCE {
+ opcode Opcode,
+ argument Argument
+}
+
+InvokeID ::= INTEGER
+
+Opcode ::= INTEGER { m-EventReport(0), m-EventReport-Confirmed(1), m-Linked-Reply(2), m-Get(3), m-Set(4), m-Set-Confirmed(5), m-Action(6), m-Action-Confirmed(7), m-Create(8), m-Delete(9), m-CancelGet(10) }
+
+--InvokeLinkedId ::= CHOICE {
+-- present [0] IMPLICIT InvokeId,
+-- absent [1] IMPLICIT NULL
+--}
+InvokeLinkedId ::= INTEGER
+
+InvokeIDType ::= InvokeId
+
+InvokeId ::= CHOICE {
+ present InvokeID,
+ absent NULL
+}
+
+Invoke ::= SEQUENCE {
+ invokeId InvokeId,
+ linkedId [0] IMPLICIT InvokeLinkedId OPTIONAL,
+ opcode Opcode,
+ argument Argument OPTIONAL
+}
+
+ReturnResult ::= SEQUENCE {
+ invokeId InvokeId,
+ rRBody ReturnResultBody OPTIONAL
+}
+
+ReturnError ::= SEQUENCE {
+ invokeId InvokeId
+--XXX need to fill in missing fields here
+}
+
+
+GeneralProblem ::= INTEGER {
+ unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)
+}
+
+InvokeProblem ::= INTEGER {
+ duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
+ resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
+ linkedResponseUnexpected(6), unexpectedLinkedOperation(7)
+}
+
+ReturnResultProblem ::= INTEGER {
+ unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
+}
+
+ReturnErrorProblem ::= INTEGER {
+ unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
+ unexpectedError(3), mistypedParameter(4)
+}
+
+RejectProblem ::= INTEGER {
+ general-unrecognizedPDU(0), general-mistypedPDU(1),
+ general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
+ invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
+ invoke-resourceLimitation(13), invoke-releaseInProgress(14),
+ invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
+ invoke-unexpectedLinkedOperation(17),
+ returnResult-unrecognizedInvocation(20),
+ returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
+ returnError-unrecognizedInvocation(30),
+ returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
+ returnError-unexpectedError(33), returnError-mistypedParameter(34)
+}
+
+RejectProb ::= CHOICE {
+ generalProblem [0] IMPLICIT GeneralProblem,
+ invokeProblem [1] IMPLICIT InvokeProblem,
+ returnResultProblem [2] IMPLICIT ReturnResultProblem,
+ returnErrorProblem [3] IMPLICIT ReturnErrorProblem
+}
+
+Reject ::= SEQUENCE {
+ invokeId InvokeId,
+ rejectProblem RejectProb
+}
+
+ROS ::= CHOICE {
+ invoke [1] IMPLICIT Invoke,
+ returnResult [2] IMPLICIT ReturnResult,
+ returnError [3] IMPLICIT ReturnError,
+ reject [4] IMPLICIT Reject
+}
+
+
+
+
+
+
+-- CMIP-A-ABORT
+-- Information carried in user-information parameter of A-ABORT
+CMIPAbortInfo ::= SEQUENCE {
+ abortSource [0] IMPLICIT CMIPAbortSource,
+ userInfo [1] EXTERNALt OPTIONAL
+}
+
+CMIPAbortSource ::= ENUMERATED {cmiseServiceUser(0), cmiseServiceProvider(1)}
+
+
+
+
+-- CMIP-A-ASSOCIATE
+FunctionalUnits ::= BIT STRING {
+ multipleObjectSelection(0), filter(1), multipleReply(2), extendedService(3),
+ cancelGet(4)}
+
+-- Functional unit i is supported if and only if bit i is one
+-- Information carried in user-information parameter of A-ASSOCIATE
+CMIPUserInfo ::= SEQUENCE {
+ protocolVersion [0] IMPLICIT ProtocolVersion OPTIONAL,
+ functionalUnits [1] IMPLICIT FunctionalUnits OPTIONAL,
+ accessControl [2] EXTERNALt OPTIONAL,
+ userInfo [3] EXTERNALt OPTIONAL
+}
+
+ProtocolVersion ::= BIT STRING {version1(0), version2(1)}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/cmip/CMakeLists.txt b/epan/dissectors/asn1/cmip/CMakeLists.txt
new file mode 100644
index 00000000..740db2b0
--- /dev/null
+++ b/epan/dissectors/asn1/cmip/CMakeLists.txt
@@ -0,0 +1,48 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME cmip )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST_LATE
+ ../x721/Attribute-ASN1Module.asn
+ ../ros/Remote-Operations-Information-Objects.asn
+ ../ros/Remote-Operations-Generic-ROS-PDUs.asn
+)
+
+set( ASN_FILE_LIST
+ CMIP-1.asn
+ CMIP-A-ABORT-Information.asn
+ CMIP-A-ASSOCIATE-Information.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../acse/acse-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/cmip/cmip.cnf b/epan/dissectors/asn1/cmip/cmip.cnf
new file mode 100644
index 00000000..0b547579
--- /dev/null
+++ b/epan/dissectors/asn1/cmip/cmip.cnf
@@ -0,0 +1,507 @@
+# cmip.cnf
+# CMIP conformation file
+
+#.IMPORT ../acse/acse-exp.cnf
+
+#.MODULE
+Remote-Operations-Information-Objects cmip.ros
+Attribute-ASN1Module cmip.x721
+
+
+#.OMIT_ASSIGNMENT Remote-Operations-Information-Objects
+Bind
+Unbind
+#.END
+
+#.NO_EMIT ONLY_VALS
+LinkedReplyArgument
+
+#.TYPE_RENAME
+
+Invoke/argument InvokeArgument
+ReturnResult/result/result ResultArgument
+Attribute/value AttributeValue
+EventReportArgument/eventInfo EventReportArgumentEventInfo
+
+#.FIELD_RENAME
+
+Invoke/linkedId/present linkedIdPresent
+
+Reject/problem/invoke invokeProblem
+Reject/problem/returnError returnErrorProblem
+Reject/problem/returnResult returnResultProblem
+
+ReturnResult/result/result resultArgument
+
+SetArgument/modificationList/_item/attributeValue attributevalue
+ActionTypeId/globalForm actionTypeId_globalForm
+AttributeId/globalForm attributeId_globalForm
+EventTypeId/globalForm eventTypeId_globalForm
+ObjectClass/globalForm objectClass_globalForm
+ManagementExtension/identifier managementExtensionidentifier
+ServiceUser/identifier serviceUseridentifier
+AttributeValueAssertion/value attributeValueAssertionvalue
+FilterItem/present filterItempresent
+ObjectClass/localForm objectClasslocalForm
+AttributeId/localForm attributeIdlocalForm
+ActionErrorInfo/errorStatus actionErrorInfo-errorStatus
+AttributeError/errorStatus attributeError-errorStatus
+AttributeIdError/errorStatus attributeIdError-errorStatus
+ActionErrorInfo/errorInfo actionErrorInfo
+# SpecificErrorInfo/errorInfo specificErrorInfo
+Attribute/id attributeid
+CMIPUserInfo/accessControl cmipUserInfoaccessControl
+ActionError/actionErrorInfo actionErroractionErrorInfo
+EventReportArgument/eventInfo eventReportArgumenteventInfo
+
+#.EXPORTS
+CMIPAbortInfo
+CMIPUserInfo
+ROS
+InvokeIDType
+ObjectInstance
+ObjectClass
+Attribute
+RDNSequence
+ProbableCause
+AdministrativeState
+AvailabilityStatus
+AttributeList
+AdditionalInformation
+
+#.TABLE_HDR
+/* CMIP OPERATIONS */
+static const value_string cmip_Opcode_vals[] = {
+#.TABLE_BODY OPERATION
+ { %(&operationCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+#.TABLE_HDR
+/* CMIP ERRORS */
+static const value_string cmip_error_code_vals[] = {
+#.TABLE_BODY ERROR
+ { %(&errorCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+# X.721
+
+#.REGISTER
+BaseManagedObjectId B "2.9.2.21.7.13" "BaseManagedObjectId(13)"
+# X.721
+SimpleNameType B "2.9.3.2.7.1" "discriminatorId(1)"
+SimpleNameType B "2.9.3.2.7.2" "logId(2)"
+LogRecordId B "2.9.3.2.7.3" "logRecordId(3)"
+SystemId B "2.9.3.2.7.4" "systemId(4)"
+SystemTitle B "2.9.3.2.7.5" "systemTitle(5)"
+AdditionalInformation B "2.9.3.2.7.6" "additionalInformation(6)"
+AdditionalText B "2.9.3.2.7.7" "additionalText(7)"
+AttributeIdentifierList B "2.9.3.2.7.8" "attributeIdentifierList(8)"
+AttributeList B "2.9.3.2.7.9" "attributeList(9)"
+AttributeValueChangeDefinition B "2.9.3.2.7.10" "attributeValueChangeDefinition(10)"
+BackedUpStatus B "2.9.3.2.7.11" "backedUpStatus(11)"
+CorrelatedNotifications B "2.9.3.2.7.12" "correlatedNotifications(12)"
+EventTime B "2.9.3.2.7.13" "eventTime(13)"
+EventTypeId B "2.9.3.2.7.14" "eventType(14)"
+MonitoredAttributes B "2.9.3.2.7.15" "monitoredAttributes(15)"
+NotificationIdentifier B "2.9.3.2.7.16" "notificationIdentifier(16)"
+PerceivedSeverity B "2.9.3.2.7.17" "perceivedSeverity(17)"
+ProbableCause B "2.9.3.2.7.18" "probableCause(18)"
+ProposedRepairActions B "2.9.3.2.7.19" "proposedRepairActions(19)"
+AttributeValueChangeDefinition B "2.9.3.2.7.20" "relationshipChangeDefinition(20)"
+SecurityAlarmCause B "2.9.3.2.7.21" "securityAlarmCause(21)"
+SecurityAlarmDetector B "2.9.3.2.7.22" "securityAlarmDetector(22)"
+SecurityAlarmSeverity B "2.9.3.2.7.23" "securityAlarmSeverity(23)"
+ServiceProvider B "2.9.3.2.7.24" "serviceProvider(24)"
+ServiceUser B "2.9.3.2.7.25" "serviceUser(25)"
+SourceIndicator B "2.9.3.2.7.26" "sourceIndicator(26)"
+SpecificProblems B "2.9.3.2.7.27" "specificProblems(27)"
+AttributeValueChangeDefinition B "2.9.3.2.7.28" "stateChangeDefinition(28)"
+ThresholdInfo B "2.9.3.2.7.29" "thresholdInfo(29)"
+TrendIndication B "2.9.3.2.7.30" "trendIndication(30)"
+AdministrativeState B "2.9.3.2.7.31" "administrativeState(31)"
+AlarmStatus B "2.9.3.2.7.32" "alarmStatus(32)"
+AvailabilityStatus B "2.9.3.2.7.33" "availabilityStatus(33)"
+ControlStatus B "2.9.3.2.7.34" "controlStatus(34)"
+OperationalState B "2.9.3.2.7.35" "operationalState(35)"
+ProceduralStatus B "2.9.3.2.7.36" "proceduralStatus(36)"
+StandbyStatus B "2.9.3.2.7.37" "standbyStatus(37)"
+UnknownStatus B "2.9.3.2.7.38" "unknownStatus(38)"
+UsageState B "2.9.3.2.7.39" "usageState(39)"
+BackUpRelationshipObject B "2.9.3.2.7.40" "backUpObject(40)"
+BackUpRelationshipObject B "2.9.3.2.7.41" "backedUpObject(41)"
+GroupObjects B "2.9.3.2.7.42" "member(42)"
+GroupObjects B "2.9.3.2.7.43" "owner(43)"
+BackUpRelationshipObject B "2.9.3.2.7.44" "peer(44)"
+PrioritisedObject B "2.9.3.2.7.45" "primary(45)"
+PrioritisedObject B "2.9.3.2.7.46" "providerObject(46)"
+PrioritisedObject B "2.9.3.2.7.47" "secondary(47)"
+PrioritisedObject B "2.9.3.2.7.48" "userObject(48)"
+ActiveDestination B "2.9.3.2.7.49" "activeDestination(49)"
+Allomorphs B "2.9.3.2.7.50" "allomorphs(50)"
+BackUpDestinationList B "2.9.3.2.7.51" "backUpDestinationList(51)"
+CapacityAlarmThreshold B "2.9.3.2.7.52" "capacityAlarmThreshold(52)"
+ConfirmedMode B "2.9.3.2.7.53" "confirmedMode(53)"
+CurrentLogSize B "2.9.3.2.7.54" "currentLogSize(54)"
+Destination B "2.9.3.2.7.55" "destination(55)"
+DiscriminatorConstruct B "2.9.3.2.7.56" "discriminatorConstruct(56)"
+IntervalsOfDay B "2.9.3.2.7.57" "intervalsOfDay(57)"
+LogFullAction B "2.9.3.2.7.58" "logFullAction(58)"
+LoggingTime B "2.9.3.2.7.59" "loggingTime(59)"
+#ObjectClass B "2.9.3.2.7.60" "managedObjectClass(60)"
+#ObjectInstance B "2.9.3.2.7.61" "managedObjectInstance(61)"
+MaxLogSize B "2.9.3.2.7.62" "maxLogSize(62)"
+NameBinding B "2.9.3.2.7.63" "nameBinding(63)"
+NumberOfRecords B "2.9.3.2.7.64" "numberOfRecords(64)"
+ObjectClass B "2.9.3.2.7.65" "objectClass(65)"
+Packages B "2.9.3.2.7.66" "packages(66)"
+#ObjectInstance B "2.9.3.2.7.66" "schedulerName(67)"
+StartTime B "2.9.3.2.7.68" "startTime(68)"
+StopTime B "2.9.3.2.7.69" "stopTime(69)"
+SupportedFeatures B "2.9.3.2.7.70" "supportedFeatures(70)"
+WeekMask B "2.9.3.2.7.71" "weekMask(71)"
+# corruptedPDUsReceivedCounter(72) -- corruptedPDUsReceivedCounter attribute type
+# incomingConnectionRejectErrorCounter(73) -- incomingConnectionRejectErrorCounte...
+# incomingConnectionRequestsCounter(74) -- incomingConnectionRequestsCounter attr...
+# incomingDisconnectCounter(75) -- incomingDisconnectCounter attribute type
+# ncomingDisconnectErrorCounter(76) -- ncomingDisconnectErrorCounter attribute ty...
+# incomingProtocolErrorCounter(77) -- incomingProtocolErrorCounter attribute type
+# octetsReceivedCounter(78) -- octetsReceivedCounter attribute type
+# octetsRetransmittedErrorCounter(79) -- octetsRetransmittedErrorCounter attribut...
+# octetsSentCounter(80) -- octetsSentCounter attribute type
+# outgoingConnectionRejectErrorCounter(81) -- outgoingConnectionRejectErrorCounte...
+# outgoingConnectionRequestsCounter(82) -- outgoingConnectionRequestsCounter attr...
+# outgoingDisconnectCounter(83) -- outgoingDisconnectCounter attribute type
+# outgoingDisconnectErrorCounter(84) -- outgoingDisconnectErrorCounter attribute ...
+# outgoingProtocolErrorCounter(85) -- outgoingProtocolErrorCounter attribute type
+# pdusReceivedCounter(86) -- pdusReceivedCounter attribute type (PDU: Protocol Da...
+# pdusRetransmittedErrorCounter(87) -- pdusRetransmittedErrorCounter attribute ty...
+# pdusSentCounter(88) -- pdusSentCounter attribute type (PDU: Protocol Data Unit)
+# corruptedPDUsReceivedThreshold(89) -- corruptedPDUsReceivedThreshold attribute ...
+# incomingConnectionRejectErrorThreshold(90) -- incomingConnectionRejectErrorThre...
+# incomingConnectionRequestsThreshold(91) -- incomingConnectionRequestsThreshold ...
+# incomingDisconnectErrorThreshold(92) -- incomingDisconnectErrorThreshold attrib...
+# incomingProtocolErrorThreshold(93) -- incomingProtocolErrorThreshold attribute ...
+# octetsReceivedThreshold(94) -- octetsReceivedThreshold attribute type
+# octetsRetransmittedThreshold(95) -- octetsRetransmittedThreshold attribute type
+# octetsSentThreshold(96) -- octetsSentThreshold attribute type
+# outgoingConnectionRejectErrorThreshold(97) -- outgoingConnectionRejectErrorThre...
+# outgoingConnectionRequestsThreshold(98) -- outgoingConnectionRequestsThreshold ...
+# outgoingDisconnectErrorThreshold(99) -- outgoingDisconnectErrorThreshold attrib...
+# outgoingProtocolErrorThreshold(100) -- outgoingProtocolErrorThreshold attribute...
+# pdusReceivedThreshold(101) -- pdusReceivedThreshold attribute type (PDU: Protoc...
+# pdusRetransmittedErrorThreshold(102) -- pdusRetransmittedErrorThreshold attribu...
+# pdusSentThreshold(103) -- pdusSentThreshold attribute type (PDU: Protocol Data ...
+LifecycleState B "2.9.3.2.7.115" "lifecycleState(115)"
+
+
+#.OMIT_ASSIGNMENT
+# Removed as they are giving 'defined but not used' warnings currently.
+ROSEapdus
+CounterThreshold
+GaugeThreshold
+GaugeThresholdValue
+LogAvailability
+NotifyThreshold
+SchedulingAvailability
+TideMarkInfo
+TideMark
+UnscheduledLogAvailability
+Priority
+RejectProblem
+
+
+#.PDU
+
+
+#.FN_HDR CMIPAbortInfo
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ABORT");
+#.END
+
+#.FN_HDR CMIPUserInfo
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ASSOCIATE");
+#.END
+
+#.FN_BODY CMIPAbortSource VAL_PTR = &value
+ guint32 value;
+
+ %(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " AbortSource:%%s", val_to_str(value, cmip_CMIPAbortSource_vals, " Unknown AbortSource:%%d"));
+#.END
+
+#.FN_BODY Code/local VAL_PTR = &opcode
+ %(DEFAULT_BODY)s
+ if(opcode_type== OPCODE_RETURN_ERROR){
+ col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(opcode, cmip_error_code_vals, " Unknown Opcode:%%d"));
+ }else{
+ col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(opcode, cmip_Opcode_vals, " Unknown Opcode:%%d"));
+ }
+#.END
+
+#.FN_HDR Invoke
+ opcode_type=OPCODE_INVOKE;
+ col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Invoke ");
+#.END
+
+#.FN_HDR ReturnResult
+ opcode_type=OPCODE_RETURN_RESULT;
+ col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnResult ");
+#.END
+
+#.FN_HDR ReturnError
+ opcode_type=OPCODE_RETURN_ERROR;
+ col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnError ");
+#.END
+
+#.FN_HDR Reject
+ opcode_type=OPCODE_REJECT;
+ col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Reject ");
+#.END
+
+#.FN_BODY AttributeId/globalForm FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+ %(DEFAULT_BODY)s
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY AttributeId/localForm VAL_PTR = &actx->external.indirect_reference
+ %(DEFAULT_BODY)s
+ actx->external.indirect_ref_present = TRUE;
+
+#.FN_BODY Attribute/value
+ if(actx->external.direct_ref_present){
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
+ } else if (actx->external.indirect_ref_present &&
+ dissector_try_uint(attribute_id_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
+ offset=tvb_reported_length (tvb);
+ } else {
+ offset=dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
+ }
+
+#.FN_PARS AttributeValueAssertion/id
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_FTR AttributeValueAssertion/id
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY AttributeValueAssertion/value
+ if (actx->external.direct_ref_present) {
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
+ }
+
+#.FN_BODY Invoke/argument
+ switch(opcode){
+ case 0: /* M-eventreport */
+ offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 1: /* M-eventreport-confirmed */
+ offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 2: /* M-linkedreply */
+ offset = dissect_cmip_LinkedReplyArgument(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 3: /* M-get */
+ offset = dissect_cmip_GetArgument(FALSE, tvb, offset,actx, tree, -1);
+ break;
+ case 4: /* M-set */
+ offset = dissect_cmip_SetArgument(FALSE, tvb, offset,actx, tree, -1);
+ break;
+ case 5: /* M-set-confirmed */
+ offset = dissect_cmip_SetArgument(FALSE, tvb, offset,actx, tree, -1);
+ break;
+ case 6: /* M-action*/
+ offset = dissect_cmip_ActionArgument(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 7: /* M-action-confirmed*/
+ offset = dissect_cmip_ActionArgument(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 8: /* M-create*/
+ offset = dissect_cmip_CreateArgument(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 9: /* M-delete*/
+ offset = dissect_cmip_DeleteArgument(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 10: /* M-cancelget */
+ offset = dissect_cmip_InvokeIDType(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ }
+
+
+#.FN_BODY ReturnResult/result/result
+
+ switch(opcode){
+ case 0: /* M-eventreport*/
+ break; /* No return data */
+ case 1: /* M-eventreport-confirmed */
+ offset = dissect_cmip_EventReportResult(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 2: /* M-linkedreply*/
+ break; /* No return data */
+ case 3: /* M-get */
+ offset = dissect_cmip_GetResult(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 4: /* M-set */
+ break; /* No return data */
+ case 5: /* M-set-confirmed*/
+ offset = dissect_cmip_SetResult(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 6: /* M-action*/
+ break; /* No return data */
+ case 7: /* M-action-confirmed*/
+ offset = dissect_cmip_ActionResult(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 8: /* M-create*/
+ offset = dissect_cmip_CreateResult(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 9: /* M-delete*/
+ offset = dissect_cmip_DeleteResult(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 10: /* M-cancelget */
+ break; /* doe this one return any data? */
+ }
+ /*XXX add more types here */
+
+#.FN_BODY ReturnError/parameter
+
+ switch(opcode){
+ case 19: /* classInstanceConflict */
+ dissect_cmip_BaseManagedObjectId(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 20: /* complexityLimitation */
+ dissect_cmip_ComplexityLimitation(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 11: /* duplicateManagedObjectInstance */
+ dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 7: /* getListError */
+ dissect_cmip_GetListError(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 15: /* invalidArgumentValue */
+ dissect_cmip_InvalidArgumentValue(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 6: /* invalidAttributeValue */
+ dissect_cmip_Attribute(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 4: /* invalidFilter */
+ dissect_cmip_CMISFilter(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 17: /* invalidObjectInstance */
+ dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 16: /* invalidScope */
+ dissect_cmip_Scope(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 18: /* missingAttributeValue */
+ /* Hmmm SET OF AttributeId */
+ dissect_cmip_PAR_missingAttributeValue(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 9: /* noSuchAction */
+ dissect_cmip_NoSuchAction(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 14: /* noSuchArgument */
+ dissect_cmip_NoSuchArgument(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 5: /* noSuchAttribute */
+ dissect_cmip_AttributeId(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 13: /* noSuchEventType */
+ dissect_cmip_NoSuchEventType(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 22: /* noSuchInvokeId */
+ dissect_cmip_InvokeIDType(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 0: /* noSuchObjectClass */
+ dissect_cmip_ObjectClass(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 1:/* noSuchObjectInstance */
+ dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 12: /* noSuchReferenceObject */
+ dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 10: /* processingFailure OPTIONAL TRUE*/
+ dissect_cmip_ProcessingFailure(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 8: /* setListError */
+ dissect_cmip_SetListError(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 3:/* syncNotSupported */
+ dissect_cmip_CMISSync(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ }
+
+#.FN_PARS ObjectClass/globalForm
+ FN_VARIANT = _str
+
+#.FN_PARS ActionTypeId/globalForm
+ FN_VARIANT = _str HF_INDEX = hf_cmip_actionType_OID VAL_PTR = &object_identifier_id
+
+#.FN_BODY ActionInfo/actionInfoArg
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_PARS EventTypeId/globalForm
+ FN_VARIANT = _str HF_INDEX = hf_cmip_eventType_OID VAL_PTR = &object_identifier_id
+
+#.FN_BODY EventReportArgument/eventInfo
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_BODY EventReply/eventReplyInfo
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_BODY SetArgument/modificationList/_item/attributeValue
+ if(actx->external.direct_ref_present){
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+ } else if (actx->external.indirect_ref_present &&
+ dissector_try_uint(attribute_id_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
+ offset=tvb_reported_length (tvb);
+ } else {
+ offset=dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
+ }
+
+#.FN_PARS SpecificErrorInfo/errorId
+ FN_VARIANT = _str HF_INDEX = hf_cmip_errorId_OID VAL_PTR = &object_identifier_id
+
+#.FN_BODY SpecificErrorInfo/errorInfo
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_BODY AttributeError/attributeValue
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_BODY InvalidArgumentValue/eventValue/eventInfo
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_BODY ActionReply/actionReplyInfo
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+
+# X.721
+#.FN_PARS ManagementExtension/identifier FN_VARIANT = _str VAL_PTR = &object_identifier_id
+
+#.FN_BODY ManagementExtension/information
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_BODY AttributeValueChangeDefinition/_item/oldAttributeValue
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_BODY AttributeValueChangeDefinition/_item/newAttributeValue
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_PARS ServiceUser/identifier FN_VARIANT = _str VAL_PTR = &object_identifier_id
+
+#.FN_BODY ServiceUser/details
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_PARS SupportedFeatures/_item/featureIdentifier FN_VARIANT = _str VAL_PTR = &object_identifier_id
+
+#.FN_BODY SupportedFeatures/_item/featureInfo
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FIELD_ATTR
+Attribute/id ABBREV=attributeid
+FilterItem/present ABBREV=filterItempresent
+Invoke/linkedId/present ABBREV=linkedIdPresent
+
+#.END
diff --git a/epan/dissectors/asn1/cmip/packet-cmip-template.c b/epan/dissectors/asn1/cmip/packet-cmip-template.c
new file mode 100644
index 00000000..53caeb03
--- /dev/null
+++ b/epan/dissectors/asn1/cmip/packet-cmip-template.c
@@ -0,0 +1,202 @@
+/* packet-cmip.c
+ * Routines for X.711 CMIP packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-x509if.h"
+#include "packet-cmip.h"
+
+#define PNAME "X711 CMIP"
+#define PSNAME "CMIP"
+#define PFNAME "cmip"
+
+void proto_register_cmip(void);
+void proto_reg_handoff_cmip(void);
+
+/* XXX some stuff we need until we can get rid of it */
+#include "packet-ses.h"
+#include "packet-pres.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_cmip = -1;
+static int hf_cmip_actionType_OID = -1;
+static int hf_cmip_eventType_OID = -1;
+static int hf_cmip_attributeId_OID = -1;
+static int hf_cmip_errorId_OID = -1;
+
+#include "packet-cmip-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_cmip = -1;
+#include "packet-cmip-ett.c"
+
+static expert_field ei_wrong_spdu_type = EI_INIT;
+
+static guint32 opcode;
+
+static dissector_handle_t cmip_handle = NULL;
+
+/* Dissector table */
+static dissector_table_t attribute_id_dissector_table;
+
+#include "packet-cmip-table.c"
+
+static int opcode_type;
+#define OPCODE_INVOKE 1
+#define OPCODE_RETURN_RESULT 2
+#define OPCODE_RETURN_ERROR 3
+#define OPCODE_REJECT 4
+
+static const char *object_identifier_id;
+
+#include "packet-cmip-val.h"
+#include "packet-cmip-fn.c"
+
+
+
+
+/* XXX this one should be broken out later and moved into the conformance file */
+static int
+dissect_cmip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ struct SESSION_DATA_STRUCTURE* session;
+ proto_item *item;
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ session = (struct SESSION_DATA_STRUCTURE*)data;
+
+ if(session->spdu_type == 0 ) {
+ proto_tree_add_expert_format(parent_tree, pinfo, &ei_wrong_spdu_type, tvb, 0, -1,
+ "Internal error: wrong spdu type %x from session dissector.", session->spdu_type);
+ return 0;
+ }
+
+ asn1_ctx.private_data = session;
+
+ item = proto_tree_add_item(parent_tree, proto_cmip, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_cmip);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "CMIP");
+ col_clear(pinfo->cinfo, COL_INFO);
+ switch(session->spdu_type){
+ case SES_CONNECTION_REQUEST:
+ case SES_CONNECTION_ACCEPT:
+ case SES_DISCONNECT:
+ case SES_FINISH:
+ case SES_REFUSE:
+ dissect_cmip_CMIPUserInfo(FALSE,tvb,0,&asn1_ctx,tree,-1);
+ break;
+ case SES_ABORT:
+ dissect_cmip_CMIPAbortInfo(FALSE,tvb,0,&asn1_ctx,tree,-1);
+ break;
+ case SES_DATA_TRANSFER:
+ dissect_cmip_ROS(FALSE,tvb,0,&asn1_ctx,tree,-1);
+ break;
+ default:
+ ;
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_cmip ----------------------------------------------*/
+void proto_register_cmip(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_cmip_actionType_OID,
+ { "actionType", "cmip.actionType_OID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_eventType_OID,
+ { "eventType", "cmip.eventType_OID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_attributeId_OID,
+ { "attributeId", "cmip.attributeId_OID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_cmip_errorId_OID,
+ { "errorId", "cmip.errorId_OID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+#include "packet-cmip-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_cmip,
+#include "packet-cmip-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_wrong_spdu_type, { "cmip.wrong_spdu_type", PI_PROTOCOL, PI_ERROR, "Internal error: wrong spdu type", EXPFILL }},
+ };
+
+ expert_module_t* expert_cmip;
+
+ /* Register protocol */
+ proto_cmip = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ cmip_handle = register_dissector("cmip", dissect_cmip, proto_cmip);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_cmip, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_cmip = expert_register_protocol(proto_cmip);
+ expert_register_field_array(expert_cmip, ei, array_length(ei));
+
+#include "packet-cmip-dis-tab.c"
+ oid_add_from_string("discriminatorId(1)","2.9.3.2.7.1");
+
+ attribute_id_dissector_table = register_dissector_table("cmip.attribute_id", "CMIP Attribute Id", proto_cmip, FT_UINT32, BASE_DEC);
+
+}
+
+
+/*--- proto_reg_handoff_cmip -------------------------------------------*/
+void proto_reg_handoff_cmip(void) {
+ register_ber_oid_dissector_handle("2.9.0.0.2", cmip_handle, proto_cmip, "cmip");
+ register_ber_oid_dissector_handle("2.9.1.1.4", cmip_handle, proto_cmip, "joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");
+
+ oid_add_from_string("2.9.3.2.3.1","managedObjectClass(3) alarmRecord(1)");
+ oid_add_from_string("2.9.3.2.3.2","managedObjectClass(3) attributeValueChangeRecord(2)");
+ oid_add_from_string("2.9.3.2.3.3","managedObjectClass(3) discriminator(3)");
+ oid_add_from_string("2.9.3.2.3.4","managedObjectClass(3) eventForwardingDiscriminator(4)");
+ oid_add_from_string("2.9.3.2.3.5","managedObjectClass(3) eventLogRecord(5)");
+ oid_add_from_string("2.9.3.2.3.6","managedObjectClass(3) log(6)");
+ oid_add_from_string("2.9.3.2.3.7","managedObjectClass(3) logRecord(7)");
+ oid_add_from_string("2.9.3.2.3.8","managedObjectClass(3) objectCreationRecord(8)");
+ oid_add_from_string("2.9.3.2.3.9","managedObjectClass(3) objectDeletionRecord(9)");
+ oid_add_from_string("2.9.3.2.3.10","managedObjectClass(3) relationshipChangeRecord(10)");
+ oid_add_from_string("2.9.3.2.3.11","managedObjectClass(3) securityAlarmReportRecord(11)");
+ oid_add_from_string("2.9.3.2.3.12","managedObjectClass(3) stateChangeRecord(12)");
+ oid_add_from_string("2.9.3.2.3.13","managedObjectClass(3) system(13)");
+ oid_add_from_string("2.9.3.2.3.14","managedObjectClass(3) top(14)");
+ oid_add_from_string("2.9.3.2.4.14","administrativeStatePackage(14)");
+ oid_add_from_string("2.9.1.1.4","joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");
+
+/*#include "packet-cmip-dis-tab.c" */
+}
+
diff --git a/epan/dissectors/asn1/cmip/packet-cmip-template.h b/epan/dissectors/asn1/cmip/packet-cmip-template.h
new file mode 100644
index 00000000..895a2c7a
--- /dev/null
+++ b/epan/dissectors/asn1/cmip/packet-cmip-template.h
@@ -0,0 +1,18 @@
+/* packet-cmip.h
+ * Routines for X.711 CMIP packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_CMIP_H
+#define PACKET_CMIP_H
+
+#include "packet-cmip-exp.h"
+
+#endif /* PACKET_CMIP_H */
+
diff --git a/epan/dissectors/asn1/cmp/CMP.asn b/epan/dissectors/asn1/cmp/CMP.asn
new file mode 100644
index 00000000..99cbf84d
--- /dev/null
+++ b/epan/dissectors/asn1/cmp/CMP.asn
@@ -0,0 +1,522 @@
+-- Extracted from RFC4210
+-- by Martin Peylo <martin.peylo@nsn.com>
+--
+-- Changes to the original ASN.1 source:
+-- - Commented out the import of UTF8String which is not needed
+-- - Commented out PKIBody/p10cr since PKCS-10 is not implemented
+-- - Uncommented the definitions for the OIDs used in InfoTypeAndValue
+--
+-- The copyright statement from the original description in RFC4211
+-- follows below:
+--
+-- Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (2005).
+--
+-- This document is subject to the rights, licenses and restrictions
+-- contained in BCP 78, and except as set forth therein, the authors
+-- retain all their rights.
+--
+-- This document and the information contained herein are provided on an
+-- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+-- OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+-- ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+-- INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+-- INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+-- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+ PKIXCMP {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-mod-cmp2000(16)}
+
+ DEFINITIONS EXPLICIT TAGS ::=
+
+ BEGIN
+
+ -- EXPORTS ALL --
+
+ IMPORTS
+
+ Certificate, CertificateList, Extensions, AlgorithmIdentifier --,
+ -- UTF8String
+ -- if required; otherwise, comment out
+ FROM PKIX1Explicit88 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-explicit-88(1)}
+
+ GeneralName, KeyIdentifier
+ FROM PKIX1Implicit88 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-implicit-88(2)}
+
+ CertTemplate, PKIPublicationInfo, EncryptedValue, CertId,
+ CertReqMessages
+ FROM PKIXCRMF-2005 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-mod-crmf2005(36)}
+
+ -- see also the behavioral clarifications to CRMF codified in
+ -- Appendix C of this specification
+
+ CertificationRequest
+ FROM PKCS-10 {iso(1) member-body(2)
+ us(840) rsadsi(113549)
+ pkcs(1) pkcs-10(10) modules(1) pkcs-10(1)}
+
+ -- (specified in RFC 2986 with 1993 ASN.1 syntax and IMPLICIT
+ -- tags). Alternatively, implementers may directly include
+ -- the [PKCS10] syntax in this module
+
+ ;
+
+ -- the rest of the module contains locally-defined OIDs and
+ -- constructs
+
+ CMPCertificate ::= CHOICE {
+ x509v3PKCert Certificate
+ }
+ -- This syntax, while bits-on-the-wire compatible with the
+ -- standard X.509 definition of "Certificate", allows the
+ -- possibility of future certificate types (such as X.509
+ -- attribute certificates, WAP WTLS certificates, or other kinds
+ -- of certificates) within this certificate management protocol,
+ -- should a need ever arise to support such generality. Those
+ -- implementations that do not foresee a need to ever support
+ -- other certificate types MAY, if they wish, comment out the
+ -- above structure and "un-comment" the following one prior to
+ -- compiling this ASN.1 module. (Note that interoperability
+ -- with implementations that don't do this will be unaffected by
+ -- this change.)
+
+ -- CMPCertificate ::= Certificate
+
+ PKIMessage ::= SEQUENCE {
+ header PKIHeader,
+ body PKIBody,
+ protection [0] PKIProtection OPTIONAL,
+ extraCerts [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
+ OPTIONAL
+ }
+
+ PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage
+
+ PKIHeader ::= SEQUENCE {
+ pvno INTEGER { cmp1999(1), cmp2000(2) },
+ sender GeneralName,
+ -- identifies the sender
+ recipient GeneralName,
+ -- identifies the intended recipient
+ messageTime [0] GeneralizedTime OPTIONAL,
+ -- time of production of this message (used when sender
+ -- believes that the transport will be "suitable"; i.e.,
+ -- that the time will still be meaningful upon receipt)
+ protectionAlg [1] AlgorithmIdentifier OPTIONAL,
+ -- algorithm used for calculation of protection bits
+ senderKID [2] KeyIdentifier OPTIONAL,
+ recipKID [3] KeyIdentifier OPTIONAL,
+ -- to identify specific keys used for protection
+ transactionID [4] OCTET STRING OPTIONAL,
+ -- identifies the transaction; i.e., this will be the same in
+ -- corresponding request, response, certConf, and PKIConf
+ -- messages
+ senderNonce [5] OCTET STRING OPTIONAL,
+ recipNonce [6] OCTET STRING OPTIONAL,
+ -- nonces used to provide replay protection, senderNonce
+ -- is inserted by the creator of this message; recipNonce
+ -- is a nonce previously inserted in a related message by
+ -- the intended recipient of this message
+ freeText [7] PKIFreeText OPTIONAL,
+ -- this may be used to indicate context-specific instructions
+ -- (this field is intended for human consumption)
+ generalInfo [8] SEQUENCE SIZE (1..MAX) OF
+ InfoTypeAndValue OPTIONAL
+ -- this may be used to convey context-specific information
+ -- (this field not primarily intended for human consumption)
+ }
+
+ PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String
+ -- text encoded as UTF-8 String [RFC3629] (note: each
+ -- UTF8String MAY include an [RFC3066] language tag
+ -- to indicate the language of the contained text
+ -- see [RFC2482] for details)
+
+ PKIBody ::= CHOICE { -- message-specific body elements
+ ir [0] CertReqMessages, --Initialization Request
+ ip [1] CertRepMessage, --Initialization Response
+ cr [2] CertReqMessages, --Certification Request
+ cp [3] CertRepMessage, --Certification Response
+ p10cr [4] CertificationRequest, --imported from [PKCS10]
+ popdecc [5] POPODecKeyChallContent, --pop Challenge
+ popdecr [6] POPODecKeyRespContent, --pop Response
+ kur [7] CertReqMessages, --Key Update Request
+ kup [8] CertRepMessage, --Key Update Response
+ krr [9] CertReqMessages, --Key Recovery Request
+ krp [10] KeyRecRepContent, --Key Recovery Response
+ rr [11] RevReqContent, --Revocation Request
+ rp [12] RevRepContent, --Revocation Response
+ ccr [13] CertReqMessages, --Cross-Cert. Request
+ ccp [14] CertRepMessage, --Cross-Cert. Response
+ ckuann [15] CAKeyUpdAnnContent, --CA Key Update Ann.
+ cann [16] CertAnnContent, --Certificate Ann.
+ rann [17] RevAnnContent, --Revocation Ann.
+ crlann [18] CRLAnnContent, --CRL Announcement
+ pkiconf [19] PKIConfirmContent, --Confirmation
+ nested [20] NestedMessageContent, --Nested Message
+ genm [21] GenMsgContent, --General Message
+ genp [22] GenRepContent, --General Response
+ error [23] ErrorMsgContent, --Error Message
+ certConf [24] CertConfirmContent, --Certificate confirm
+ pollReq [25] PollReqContent, --Polling request
+ pollRep [26] PollRepContent --Polling response
+ }
+
+ PKIProtection ::= BIT STRING
+
+ ProtectedPart ::= SEQUENCE {
+ header PKIHeader,
+ body PKIBody
+ }
+
+ id-PasswordBasedMac OBJECT IDENTIFIER ::= {1 2 840 113533 7 66 13}
+ PBMParameter ::= SEQUENCE {
+ salt OCTET STRING,
+ -- note: implementations MAY wish to limit acceptable sizes
+ -- of this string to values appropriate for their environment
+ -- in order to reduce the risk of denial-of-service attacks
+ owf AlgorithmIdentifier,
+ -- AlgId for a One-Way Function (SHA-1 recommended)
+ iterationCount INTEGER,
+ -- number of times the OWF is applied
+ -- note: implementations MAY wish to limit acceptable sizes
+ -- of this integer to values appropriate for their environment
+ -- in order to reduce the risk of denial-of-service attacks
+ mac AlgorithmIdentifier
+ -- the MAC AlgId (e.g., DES-MAC, Triple-DES-MAC [PKCS11],
+ } -- or HMAC [RFC2104, RFC2202])
+
+ id-DHBasedMac OBJECT IDENTIFIER ::= {1 2 840 113533 7 66 30}
+ DHBMParameter ::= SEQUENCE {
+ owf AlgorithmIdentifier,
+ -- AlgId for a One-Way Function (SHA-1 recommended)
+ mac AlgorithmIdentifier
+ -- the MAC AlgId (e.g., DES-MAC, Triple-DES-MAC [PKCS11],
+ } -- or HMAC [RFC2104, RFC2202])
+
+
+ NestedMessageContent ::= PKIMessages
+
+ PKIStatus ::= INTEGER {
+ accepted (0),
+ -- you got exactly what you asked for
+ grantedWithMods (1),
+ -- you got something like what you asked for; the
+ -- requester is responsible for ascertaining the differences
+ rejection (2),
+ -- you don't get it, more information elsewhere in the message
+ waiting (3),
+ -- the request body part has not yet been processed; expect to
+ -- hear more later (note: proper handling of this status
+ -- response MAY use the polling req/rep PKIMessages specified
+ -- in Section 5.3.22; alternatively, polling in the underlying
+ -- transport layer MAY have some utility in this regard)
+ revocationWarning (4),
+ -- this message contains a warning that a revocation is
+ -- imminent
+ revocationNotification (5),
+ -- notification that a revocation has occurred
+ keyUpdateWarning (6)
+ -- update already done for the oldCertId specified in
+ -- CertReqMsg
+ }
+
+ PKIFailureInfo ::= BIT STRING {
+ -- since we can fail in more than one way!
+ -- More codes may be added in the future if/when required.
+ badAlg (0),
+ -- unrecognized or unsupported Algorithm Identifier
+ badMessageCheck (1),
+ -- integrity check failed (e.g., signature did not verify)
+ badRequest (2),
+ -- transaction not permitted or supported
+ badTime (3),
+ -- messageTime was not sufficiently close to the system time,
+ -- as defined by local policy
+ badCertId (4),
+ -- no certificate could be found matching the provided criteria
+ badDataFormat (5),
+ -- the data submitted has the wrong format
+ wrongAuthority (6),
+ -- the authority indicated in the request is different from the
+ -- one creating the response token
+ incorrectData (7),
+ -- the requester's data is incorrect (for notary services)
+ missingTimeStamp (8),
+ -- when the timestamp is missing but should be there
+ -- (by policy)
+ badPOP (9),
+ -- the proof-of-possession failed
+ certRevoked (10),
+ -- the certificate has already been revoked
+ certConfirmed (11),
+ -- the certificate has already been confirmed
+ wrongIntegrity (12),
+ -- invalid integrity, password based instead of signature or
+ -- vice versa
+ badRecipientNonce (13),
+ -- invalid recipient nonce, either missing or wrong value
+ timeNotAvailable (14),
+ -- the TSA's time source is not available
+ unacceptedPolicy (15),
+ -- the requested TSA policy is not supported by the TSA.
+ unacceptedExtension (16),
+ -- the requested extension is not supported by the TSA.
+ addInfoNotAvailable (17),
+ -- the additional information requested could not be
+ -- understood or is not available
+ badSenderNonce (18),
+ -- invalid sender nonce, either missing or wrong size
+ badCertTemplate (19),
+ -- invalid cert. template or missing mandatory information
+ signerNotTrusted (20),
+ -- signer of the message unknown or not trusted
+ transactionIdInUse (21),
+ -- the transaction identifier is already in use
+ unsupportedVersion (22),
+ -- the version of the message is not supported
+ notAuthorized (23),
+ -- the sender was not authorized to make the preceding
+ -- request or perform the preceding action
+ systemUnavail (24),
+ -- the request cannot be handled due to system unavailability
+ systemFailure (25),
+ -- the request cannot be handled due to system failure
+ duplicateCertReq (26)
+ -- certificate cannot be issued because a duplicate
+ -- certificate already exists
+ }
+
+ PKIStatusInfo ::= SEQUENCE {
+ status PKIStatus,
+ statusString PKIFreeText OPTIONAL,
+ failInfo PKIFailureInfo OPTIONAL
+ }
+
+ OOBCert ::= CMPCertificate
+
+ OOBCertHash ::= SEQUENCE {
+ hashAlg [0] AlgorithmIdentifier OPTIONAL,
+ certId [1] CertId OPTIONAL,
+ hashVal BIT STRING
+ -- hashVal is calculated over the DER encoding of the
+ -- self-signed certificate with the identifier certID.
+ }
+
+ POPODecKeyChallContent ::= SEQUENCE OF Challenge
+ -- One Challenge per encryption key certification request (in the
+ -- same order as these requests appear in CertReqMessages).
+
+ Challenge ::= SEQUENCE {
+ owf AlgorithmIdentifier OPTIONAL,
+
+ -- MUST be present in the first Challenge; MAY be omitted in
+ -- any subsequent Challenge in POPODecKeyChallContent (if
+ -- omitted, then the owf used in the immediately preceding
+ -- Challenge is to be used).
+
+ witness OCTET STRING,
+ -- the result of applying the one-way function (owf) to a
+ -- randomly-generated INTEGER, A. [Note that a different
+ -- INTEGER MUST be used for each Challenge.]
+ challenge OCTET STRING
+ -- the encryption (under the public key for which the cert.
+ -- request is being made) of Rand, where Rand is specified as
+ -- Rand ::= SEQUENCE {
+ -- int INTEGER,
+ -- - the randomly-generated INTEGER A (above)
+ -- sender GeneralName
+ -- - the sender's name (as included in PKIHeader)
+ -- }
+ }
+
+ POPODecKeyRespContent ::= SEQUENCE OF INTEGER
+ -- One INTEGER per encryption key certification request (in the
+ -- same order as these requests appear in CertReqMessages). The
+ -- retrieved INTEGER A (above) is returned to the sender of the
+ -- corresponding Challenge.
+
+ CertRepMessage ::= SEQUENCE {
+ caPubs [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
+ OPTIONAL,
+ response SEQUENCE OF CertResponse
+ }
+
+ CertResponse ::= SEQUENCE {
+ certReqId INTEGER,
+ -- to match this response with corresponding request (a value
+ -- of -1 is to be used if certReqId is not specified in the
+ -- corresponding request)
+ status PKIStatusInfo,
+ certifiedKeyPair CertifiedKeyPair OPTIONAL,
+ rspInfo OCTET STRING OPTIONAL
+ -- analogous to the id-regInfo-utf8Pairs string defined
+ -- for regInfo in CertReqMsg [CRMF]
+ }
+
+ CertifiedKeyPair ::= SEQUENCE {
+ certOrEncCert CertOrEncCert,
+ privateKey [0] EncryptedValue OPTIONAL,
+ -- see [CRMF] for comment on encoding
+ publicationInfo [1] PKIPublicationInfo OPTIONAL
+ }
+
+ CertOrEncCert ::= CHOICE {
+ certificate [0] CMPCertificate,
+ encryptedCert [1] EncryptedValue
+ }
+
+ KeyRecRepContent ::= SEQUENCE {
+ status PKIStatusInfo,
+ newSigCert [0] CMPCertificate OPTIONAL,
+ caCerts [1] SEQUENCE SIZE (1..MAX) OF
+ CMPCertificate OPTIONAL,
+ keyPairHist [2] SEQUENCE SIZE (1..MAX) OF
+ CertifiedKeyPair OPTIONAL
+ }
+
+ RevReqContent ::= SEQUENCE OF RevDetails
+
+ RevDetails ::= SEQUENCE {
+ certDetails CertTemplate,
+ -- allows requester to specify as much as they can about
+ -- the cert. for which revocation is requested
+ -- (e.g., for cases in which serialNumber is not available)
+ crlEntryDetails Extensions OPTIONAL
+ -- requested crlEntryExtensions
+ }
+
+ RevRepContent ::= SEQUENCE {
+ status SEQUENCE SIZE (1..MAX) OF PKIStatusInfo,
+ -- in same order as was sent in RevReqContent
+ revCerts [0] SEQUENCE SIZE (1..MAX) OF CertId
+ OPTIONAL,
+ -- IDs for which revocation was requested
+ -- (same order as status)
+ crls [1] SEQUENCE SIZE (1..MAX) OF CertificateList
+ -- the resulting CRLs (there may be more than one)
+ }
+
+ CAKeyUpdAnnContent ::= SEQUENCE {
+ oldWithNew CMPCertificate, -- old pub signed with new priv
+ newWithOld CMPCertificate, -- new pub signed with old priv
+ newWithNew CMPCertificate -- new pub signed with new priv
+ }
+
+ CertAnnContent ::= CMPCertificate
+
+ RevAnnContent ::= SEQUENCE {
+ status PKIStatus,
+ certId CertId,
+ willBeRevokedAt GeneralizedTime,
+ badSinceDate GeneralizedTime,
+ crlDetails Extensions OPTIONAL
+ -- extra CRL details (e.g., crl number, reason, location, etc.)
+ }
+
+ CRLAnnContent ::= SEQUENCE OF CertificateList
+
+ CertConfirmContent ::= SEQUENCE OF CertStatus
+
+ CertStatus ::= SEQUENCE {
+ certHash OCTET STRING,
+ -- the hash of the certificate, using the same hash algorithm
+ -- as is used to create and verify the certificate signature
+ certReqId INTEGER,
+ -- to match this confirmation with the corresponding req/rep
+ statusInfo PKIStatusInfo OPTIONAL
+ }
+
+ PKIConfirmContent ::= NULL
+
+ InfoTypeAndValue ::= SEQUENCE {
+ infoType OBJECT IDENTIFIER,
+ infoValue ANY DEFINED BY infoType OPTIONAL
+ }
+ -- Example InfoTypeAndValue contents include, but are not limited
+ -- to, the following (un-comment in this ASN.1 module and use as
+ -- appropriate for a given environment):
+ --
+ -- id-it-caProtEncCert OBJECT IDENTIFIER ::= {id-it 1}
+ CAProtEncCertValue ::= CMPCertificate
+ -- id-it-signKeyPairTypes OBJECT IDENTIFIER ::= {id-it 2}
+ SignKeyPairTypesValue ::= SEQUENCE OF AlgorithmIdentifier
+ -- id-it-encKeyPairTypes OBJECT IDENTIFIER ::= {id-it 3}
+ EncKeyPairTypesValue ::= SEQUENCE OF AlgorithmIdentifier
+ -- id-it-preferredSymmAlg OBJECT IDENTIFIER ::= {id-it 4}
+ PreferredSymmAlgValue ::= AlgorithmIdentifier
+ -- id-it-caKeyUpdateInfo OBJECT IDENTIFIER ::= {id-it 5}
+ CAKeyUpdateInfoValue ::= CAKeyUpdAnnContent
+ -- id-it-currentCRL OBJECT IDENTIFIER ::= {id-it 6}
+ CurrentCRLValue ::= CertificateList
+ -- id-it-unsupportedOIDs OBJECT IDENTIFIER ::= {id-it 7}
+ UnsupportedOIDsValue ::= SEQUENCE OF OBJECT IDENTIFIER
+ -- id-it-keyPairParamReq OBJECT IDENTIFIER ::= {id-it 10}
+ KeyPairParamReqValue ::= OBJECT IDENTIFIER
+ -- id-it-keyPairParamRep OBJECT IDENTIFIER ::= {id-it 11}
+ KeyPairParamRepValue ::= AlgorithmIdentifier
+ -- id-it-revPassphrase OBJECT IDENTIFIER ::= {id-it 12}
+ RevPassphraseValue ::= EncryptedValue
+ -- id-it-implicitConfirm OBJECT IDENTIFIER ::= {id-it 13}
+ ImplicitConfirmValue ::= NULL
+ -- id-it-confirmWaitTime OBJECT IDENTIFIER ::= {id-it 14}
+ ConfirmWaitTimeValue ::= GeneralizedTime
+ -- id-it-origPKIMessage OBJECT IDENTIFIER ::= {id-it 15}
+ OrigPKIMessageValue ::= PKIMessages
+ -- id-it-suppLangTags OBJECT IDENTIFIER ::= {id-it 16}
+ SuppLangTagsValue ::= SEQUENCE OF UTF8String
+ --
+ -- where
+ --
+ -- id-pkix OBJECT IDENTIFIER ::= {
+ -- iso(1) identified-organization(3)
+ -- dod(6) internet(1) security(5) mechanisms(5) pkix(7)}
+ -- and
+ -- id-it OBJECT IDENTIFIER ::= {id-pkix 4}
+ --
+ --
+ -- This construct MAY also be used to define new PKIX Certificate
+ -- Management Protocol request and response messages, or general-
+ -- purpose (e.g., announcement) messages for future needs or for
+ -- specific environments.
+
+ GenMsgContent ::= SEQUENCE OF InfoTypeAndValue
+
+ -- May be sent by EE, RA, or CA (depending on message content).
+ -- The OPTIONAL infoValue parameter of InfoTypeAndValue will
+ -- typically be omitted for some of the examples given above.
+ -- The receiver is free to ignore any contained OBJ. IDs that it
+ -- does not recognize. If sent from EE to CA, the empty set
+ -- indicates that the CA may send
+ -- any/all information that it wishes.
+ GenRepContent ::= SEQUENCE OF InfoTypeAndValue
+ -- Receiver MAY ignore any contained OIDs that it does not
+ -- recognize.
+
+ ErrorMsgContent ::= SEQUENCE {
+ pKIStatusInfo PKIStatusInfo,
+ errorCode INTEGER OPTIONAL,
+ -- implementation-specific error codes
+ errorDetails PKIFreeText OPTIONAL
+ -- implementation-specific error details
+ }
+
+ PollReqContent ::= SEQUENCE OF SEQUENCE {
+ certReqId INTEGER
+ }
+
+ PollRepContent ::= SEQUENCE OF SEQUENCE {
+ certReqId INTEGER,
+ checkAfter INTEGER, -- time in seconds
+ reason PKIFreeText OPTIONAL
+ }
+
+ END -- of CMP module
diff --git a/epan/dissectors/asn1/cmp/CMakeLists.txt b/epan/dissectors/asn1/cmp/CMakeLists.txt
new file mode 100644
index 00000000..a297143f
--- /dev/null
+++ b/epan/dissectors/asn1/cmp/CMakeLists.txt
@@ -0,0 +1,41 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME cmp )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ CMP.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ ../pkix1explicit/pkix1explicit_exp.cnf
+ ../pkix1implicit/pkix1implicit_exp.cnf
+ "${CMAKE_CURRENT_BINARY_DIR}/../crmf/crmf-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/cmp/cmp.cnf b/epan/dissectors/asn1/cmp/cmp.cnf
new file mode 100644
index 00000000..05d3b5e4
--- /dev/null
+++ b/epan/dissectors/asn1/cmp/cmp.cnf
@@ -0,0 +1,78 @@
+# CMP.cnf
+# CMP conformation file
+
+#.MODULE_IMPORT
+PKIX1Explicit88 pkix1explicit
+PKIX1Implicit88 pkix1implicit
+PKCS-10 pkcs10
+
+#.INCLUDE ../pkix1explicit/pkix1explicit_exp.cnf
+#.INCLUDE ../pkix1implicit/pkix1implicit_exp.cnf
+#.INCLUDE ../crmf/crmf-exp.cnf
+
+#.EXPORTS
+PKIMessage
+ProtectedPart
+OOBCert
+OOBCertHash
+
+#.REGISTER
+PBMParameter B "1.2.840.113533.7.66.13" "id-PasswordBasedMac"
+DHBMParameter B "1.2.640.113533.7.66.30" "id-DHBasedMac"
+CAProtEncCertValue B "1.3.6.1.5.5.7.4.1" "id-it-caProtEncCert"
+SignKeyPairTypesValue B "1.3.6.1.5.5.7.4.2" "id-it-signKeyPairTypes"
+EncKeyPairTypesValue B "1.3.6.1.5.5.7.4.3" "id-it-encKeyPairTypes"
+PreferredSymmAlgValue B "1.3.6.1.5.5.7.4.4" "id-it-preferredSymmAlg"
+CAKeyUpdateInfoValue B "1.3.6.1.5.5.7.4.5" "id-it-caKeyUpdateInfo"
+CurrentCRLValue B "1.3.6.1.5.5.7.4.6" "id-it-currentCRL"
+UnsupportedOIDsValue B "1.3.6.1.5.5.7.4.7" "id-it-unsupportedOIDs"
+KeyPairParamReqValue B "1.3.6.1.5.5.7.4.10" "id-it-keyPairParamReq"
+KeyPairParamRepValue B "1.3.6.1.5.5.7.4.11" "id-it-keyPairParamRep"
+RevPassphraseValue B "1.3.6.1.5.5.7.4.12" "id-it-revPassphrase"
+ImplicitConfirmValue B "1.3.6.1.5.5.7.4.13" "id-it-implicitConfirm"
+ConfirmWaitTimeValue B "1.3.6.1.5.5.7.4.14" "id-it-confirmWaitTime"
+OrigPKIMessageValue B "1.3.6.1.5.5.7.4.15" "id-it-origPKIMessage"
+SuppLangTagsValue B "1.3.6.1.5.5.7.4.16" "id-it-suppLangTags"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+RevRepContent/status rvrpcnt_status
+CertResponse/status pkistatusinf
+KeyRecRepContent/status pkistatusinf
+PKIStatusInfo/status pkistatus
+RevAnnContent/status pkistatus
+#.FIELD_ATTR
+PKIStatusInfo/status ABBREV=pkistatus
+RevRepContent/status ABBREV=rvrpcnt_status
+
+
+#.FN_PARS InfoTypeAndValue/infoType
+ FN_VARIANT = _str HF_INDEX = hf_cmp_type_oid VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY InfoTypeAndValue/infoValue
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS PKIBody
+ VAL_PTR = &branch_taken
+
+#.FN_BODY PKIBody
+ gint branch_taken;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " Body=%%s", val_to_str(branch_taken, cmp_PKIBody_vals, "unknown"));
+
+#.FN_PARS PKIStatus
+ VAL_PTR = &value
+
+#.FN_BODY PKIStatus
+ guint32 value;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " Status=%%s", val_to_str(value, cmp_PKIStatus_vals, "unknown"));
+
+#.END_OF_CNF
diff --git a/epan/dissectors/asn1/cmp/packet-cmp-template.c b/epan/dissectors/asn1/cmp/packet-cmp-template.c
new file mode 100644
index 00000000..888c01ff
--- /dev/null
+++ b/epan/dissectors/asn1/cmp/packet-cmp-template.c
@@ -0,0 +1,402 @@
+/* packet-cmp.c
+ *
+ * Routines for RFC2510 Certificate Management Protocol packet dissection
+ * Ronnie Sahlberg 2004
+ * Updated to RFC4210 CMPv2 and associated "Transport Protocols for CMP" draft
+ * Martin Peylo 2008
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+#include "packet-ber.h"
+#include "packet-cmp.h"
+#include "packet-crmf.h"
+#include "packet-pkix1explicit.h"
+#include "packet-pkix1implicit.h"
+#include "packet-pkcs10.h"
+#include "packet-tcp.h"
+#include "packet-http.h"
+#include <epan/prefs.h>
+
+#define PNAME "Certificate Management Protocol"
+#define PSNAME "CMP"
+#define PFNAME "cmp"
+
+#define TCP_PORT_CMP 829
+
+void proto_register_cmp(void);
+
+static dissector_handle_t cmp_http_handle;
+static dissector_handle_t cmp_tcp_style_http_handle;
+static dissector_handle_t cmp_tcp_handle;
+
+/* desegmentation of CMP over TCP */
+static gboolean cmp_desegment = TRUE;
+
+static guint cmp_alternate_http_port = 0;
+static guint cmp_alternate_tcp_style_http_port = 0;
+
+/* Initialize the protocol and registered fields */
+static int proto_cmp = -1;
+static int hf_cmp_type_oid = -1;
+static int hf_cmp_tcptrans_len = -1;
+static int hf_cmp_tcptrans_type = -1;
+static int hf_cmp_tcptrans_poll_ref = -1;
+static int hf_cmp_tcptrans_next_poll_ref = -1;
+static int hf_cmp_tcptrans_ttcb = -1;
+static int hf_cmp_tcptrans10_version = -1;
+static int hf_cmp_tcptrans10_flags = -1;
+#include "packet-cmp-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_cmp = -1;
+#include "packet-cmp-ett.c"
+#include "packet-cmp-fn.c"
+
+static int
+dissect_cmp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ return dissect_cmp_PKIMessage(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+#define CMP_TYPE_PKIMSG 0
+#define CMP_TYPE_POLLREP 1
+#define CMP_TYPE_POLLREQ 2
+#define CMP_TYPE_NEGPOLLREP 3
+#define CMP_TYPE_PARTIALMSGREP 4
+#define CMP_TYPE_FINALMSGREP 5
+#define CMP_TYPE_ERRORMSGREP 6
+static const value_string cmp_pdu_types[] = {
+ { CMP_TYPE_PKIMSG, "pkiMsg" },
+ { CMP_TYPE_POLLREP, "pollRep" },
+ { CMP_TYPE_POLLREQ, "pollReq" },
+ { CMP_TYPE_NEGPOLLREP, "negPollRep" },
+ { CMP_TYPE_PARTIALMSGREP, "partialMsgRep" },
+ { CMP_TYPE_FINALMSGREP, "finalMsgRep" },
+ { CMP_TYPE_ERRORMSGREP, "errorMsgRep" },
+ { 0, NULL },
+};
+
+
+static int dissect_cmp_tcp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ tvbuff_t *next_tvb;
+ guint32 pdu_len;
+ guint8 pdu_type;
+ proto_item *item=NULL;
+ proto_item *ti=NULL;
+ proto_tree *tree=NULL;
+ proto_tree *tcptrans_tree=NULL;
+ int offset=0;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "CMP");
+ col_set_str(pinfo->cinfo, COL_INFO, "PKIXCMP");
+
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, proto_cmp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_cmp);
+ }
+
+ pdu_len=tvb_get_ntohl(tvb, 0);
+ pdu_type=tvb_get_guint8(tvb, 4);
+
+ if (pdu_type < 10) {
+ /* RFC2510 TCP transport */
+ ti = proto_tree_add_item(tree, proto_cmp, tvb, offset, 5, ENC_NA);
+ tcptrans_tree = proto_item_add_subtree(ti, ett_cmp);
+ proto_tree_add_item(tree, hf_cmp_tcptrans_len, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+ proto_tree_add_item(tree, hf_cmp_tcptrans_type, tvb, offset++, 1, ENC_BIG_ENDIAN);
+ } else {
+ /* post RFC2510 TCP transport - the former "type" field is now "version" */
+ tcptrans_tree = proto_tree_add_subtree(tree, tvb, offset, 7, ett_cmp, NULL, "TCP transport");
+ pdu_type=tvb_get_guint8(tvb, 6);
+ proto_tree_add_item(tcptrans_tree, hf_cmp_tcptrans_len, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+ proto_tree_add_item(tcptrans_tree, hf_cmp_tcptrans10_version, tvb, offset++, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tcptrans_tree, hf_cmp_tcptrans10_flags, tvb, offset++, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tcptrans_tree, hf_cmp_tcptrans_type, tvb, offset++, 1, ENC_BIG_ENDIAN);
+ }
+
+ col_add_str (pinfo->cinfo, COL_INFO, val_to_str (pdu_type, cmp_pdu_types, "0x%x"));
+
+ switch(pdu_type){
+ case CMP_TYPE_PKIMSG:
+ next_tvb = tvb_new_subset_length_caplen(tvb, offset, tvb_reported_length_remaining(tvb, offset), pdu_len);
+ dissect_cmp_pdu(next_tvb, pinfo, tree, NULL);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ break;
+ case CMP_TYPE_POLLREP:
+ proto_tree_add_item(tcptrans_tree, hf_cmp_tcptrans_poll_ref, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+
+ proto_tree_add_item(tcptrans_tree, hf_cmp_tcptrans_ttcb, tvb, offset, 4, ENC_TIME_SECS|ENC_BIG_ENDIAN);
+ offset += 4;
+ break;
+ case CMP_TYPE_POLLREQ:
+ proto_tree_add_item(tcptrans_tree, hf_cmp_tcptrans_poll_ref, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+ break;
+ case CMP_TYPE_NEGPOLLREP:
+ break;
+ case CMP_TYPE_PARTIALMSGREP:
+ proto_tree_add_item(tcptrans_tree, hf_cmp_tcptrans_next_poll_ref, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+
+ proto_tree_add_item(tcptrans_tree, hf_cmp_tcptrans_ttcb, tvb, offset, 4, ENC_TIME_SECS|ENC_BIG_ENDIAN);
+ offset += 4;
+
+ next_tvb = tvb_new_subset_length_caplen(tvb, offset, tvb_reported_length_remaining(tvb, offset), pdu_len);
+ dissect_cmp_pdu(next_tvb, pinfo, tree, NULL);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ break;
+ case CMP_TYPE_FINALMSGREP:
+ next_tvb = tvb_new_subset_length_caplen(tvb, offset, tvb_reported_length_remaining(tvb, offset), pdu_len);
+ dissect_cmp_pdu(next_tvb, pinfo, tree, NULL);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ break;
+ case CMP_TYPE_ERRORMSGREP:
+ /*XXX to be added*/
+ break;
+ }
+
+ return offset;
+}
+
+static guint get_cmp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb,
+ int offset, void *data _U_)
+{
+ guint32 plen;
+
+ /*
+ * Get the length of the CMP-over-TCP packet.
+ */
+ plen = tvb_get_ntohl(tvb, offset);
+
+ return plen+4;
+}
+
+
+/* CMP over TCP: RFC2510 section 5.2 and "Transport Protocols for CMP" draft */
+static int
+dissect_cmp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data)
+{
+ guint32 pdu_len;
+ guint8 pdu_type;
+ int offset=4; /* RFC2510 TCP transport header length */
+
+ /* only attempt to dissect it as CMP over TCP if we have
+ * at least 5 bytes.
+ */
+ if (!tvb_bytes_exist(tvb, 0, 5)) {
+ return 0;
+ }
+
+ pdu_len=tvb_get_ntohl(tvb, 0);
+ pdu_type=tvb_get_guint8(tvb, 4);
+
+ if(pdu_type == 10) {
+ /* post RFC2510 TCP transport */
+ pdu_type = tvb_get_guint8(tvb, 7);
+ offset = 7; /* post RFC2510 TCP transport header length */
+ /* arbitrary limit: assume a CMP over TCP pdu is never >10000 bytes
+ * in size.
+ * It is definitely at least 3 byte for post RFC2510 TCP transport
+ */
+ if((pdu_len<=2)||(pdu_len>10000)){
+ return 0;
+ }
+ } else {
+ /* RFC2510 TCP transport */
+ /* type is between 0 and 6 */
+ if(pdu_type>6){
+ return 0;
+ }
+ /* arbitrary limit: assume a CMP over TCP pdu is never >10000 bytes
+ * in size.
+ * It is definitely at least 1 byte to accommodate the flags byte
+ */
+ if((pdu_len<=0)||(pdu_len>10000)){
+ return 0;
+ }
+ }
+
+ /* type 0 contains a PKI message and must therefore be >= 3 bytes
+ * long (flags + BER TAG + BER LENGTH
+ */
+ if((pdu_type==0)&&(pdu_len<3)){
+ return 0;
+ }
+
+ tcp_dissect_pdus(tvb, pinfo, parent_tree, cmp_desegment, offset, get_cmp_pdu_len,
+ dissect_cmp_tcp_pdu, data);
+
+ return tvb_captured_length(tvb);
+}
+
+
+static int
+dissect_cmp_http(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "CMP");
+ col_set_str(pinfo->cinfo, COL_INFO, "PKIXCMP");
+
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, proto_cmp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_cmp);
+ }
+
+ return dissect_cmp_pdu(tvb, pinfo, tree, NULL);
+}
+
+
+/*--- proto_register_cmp ----------------------------------------------*/
+void proto_register_cmp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_cmp_type_oid,
+ { "InfoType", "cmp.type.oid",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "Type of InfoTypeAndValue", HFILL }},
+ { &hf_cmp_tcptrans_len,
+ { "Length", "cmp.tcptrans.length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "TCP transport Length of PDU in bytes", HFILL }},
+ { &hf_cmp_tcptrans_type,
+ { "Type", "cmp.tcptrans.type",
+ FT_UINT8, BASE_DEC, VALS(cmp_pdu_types), 0,
+ "TCP transport PDU Type", HFILL }},
+ { &hf_cmp_tcptrans_poll_ref,
+ { "Polling Reference", "cmp.tcptrans.poll_ref",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ "TCP transport Polling Reference", HFILL }},
+ { &hf_cmp_tcptrans_next_poll_ref,
+ { "Next Polling Reference", "cmp.tcptrans.next_poll_ref",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ "TCP transport Next Polling Reference", HFILL }},
+ { &hf_cmp_tcptrans_ttcb,
+ { "Time to check Back", "cmp.tcptrans.ttcb",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ "TCP transport Time to check Back", HFILL }},
+ { &hf_cmp_tcptrans10_version,
+ { "Version", "cmp.tcptrans10.version",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ "TCP transport version", HFILL }},
+ { &hf_cmp_tcptrans10_flags,
+ { "Flags", "cmp.tcptrans10.flags",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ "TCP transport flags", HFILL }},
+#include "packet-cmp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_cmp,
+#include "packet-cmp-ettarr.c"
+ };
+ module_t *cmp_module;
+
+ /* Register protocol */
+ proto_cmp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_cmp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register preferences */
+ cmp_module = prefs_register_protocol(proto_cmp, proto_reg_handoff_cmp);
+ prefs_register_bool_preference(cmp_module, "desegment",
+ "Reassemble CMP-over-TCP messages spanning multiple TCP segments",
+ "Whether the CMP-over-TCP dissector should reassemble messages spanning multiple TCP segments. "
+ "To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &cmp_desegment);
+
+ prefs_register_uint_preference(cmp_module, "http_alternate_port",
+ "Alternate HTTP port",
+ "Decode this TCP port\'s traffic as CMP-over-HTTP. Set to \"0\" to disable. "
+ "Use this if the Content-Type is not set correctly.",
+ 10,
+ &cmp_alternate_http_port);
+
+ prefs_register_uint_preference(cmp_module, "tcp_style_http_alternate_port",
+ "Alternate TCP-style-HTTP port",
+ "Decode this TCP port\'s traffic as TCP-transport-style CMP-over-HTTP. Set to \"0\" to disable. "
+ "Use this if the Content-Type is not set correctly.",
+ 10,
+ &cmp_alternate_tcp_style_http_port);
+
+ /* Register dissectors */
+ cmp_http_handle = register_dissector("cmp.http", dissect_cmp_http, proto_cmp);
+ cmp_tcp_style_http_handle = register_dissector("cmp.tcp_pdu", dissect_cmp_tcp_pdu, proto_cmp);
+ cmp_tcp_handle = register_dissector("cmp", dissect_cmp_tcp, proto_cmp);
+ register_ber_syntax_dissector("PKIMessage", proto_cmp, dissect_cmp_pdu);
+}
+
+
+/*--- proto_reg_handoff_cmp -------------------------------------------*/
+void proto_reg_handoff_cmp(void) {
+ static gboolean inited = FALSE;
+ static guint cmp_alternate_http_port_prev = 0;
+ static guint cmp_alternate_tcp_style_http_port_prev = 0;
+
+ if (!inited) {
+ dissector_add_string("media_type", "application/pkixcmp", cmp_http_handle);
+ dissector_add_string("media_type", "application/x-pkixcmp", cmp_http_handle);
+
+ dissector_add_string("media_type", "application/pkixcmp-poll", cmp_tcp_style_http_handle);
+ dissector_add_string("media_type", "application/x-pkixcmp-poll", cmp_tcp_style_http_handle);
+
+ dissector_add_uint_with_preference("tcp.port", TCP_PORT_CMP, cmp_tcp_handle);
+
+ oid_add_from_string("Cryptlib-presence-check","1.3.6.1.4.1.3029.3.1.1");
+ oid_add_from_string("Cryptlib-PKIBoot","1.3.6.1.4.1.3029.3.1.2");
+
+ oid_add_from_string("HMAC MD5","1.3.6.1.5.5.8.1.1");
+ oid_add_from_string("HMAC SHA-1","1.3.6.1.5.5.8.1.2");
+ oid_add_from_string("HMAC TIGER","1.3.6.1.5.5.8.1.3");
+ oid_add_from_string("HMAC RIPEMD-160","1.3.6.1.5.5.8.1.4");
+
+#include "packet-cmp-dis-tab.c"
+ inited = TRUE;
+ }
+
+ /* change alternate HTTP port if changed in the preferences */
+ if (cmp_alternate_http_port != cmp_alternate_http_port_prev) {
+ if (cmp_alternate_http_port_prev != 0) {
+ http_tcp_dissector_delete(cmp_alternate_http_port_prev);
+ }
+ if (cmp_alternate_http_port != 0)
+ http_tcp_dissector_add( cmp_alternate_http_port, cmp_http_handle);
+ cmp_alternate_http_port_prev = cmp_alternate_http_port;
+ }
+
+ /* change alternate TCP-style-HTTP port if changed in the preferences */
+ if (cmp_alternate_tcp_style_http_port != cmp_alternate_tcp_style_http_port_prev) {
+ if (cmp_alternate_tcp_style_http_port_prev != 0) {
+ http_tcp_dissector_delete(cmp_alternate_tcp_style_http_port_prev);
+ }
+ if (cmp_alternate_tcp_style_http_port != 0)
+ http_tcp_dissector_add( cmp_alternate_tcp_style_http_port, cmp_tcp_style_http_handle);
+ cmp_alternate_tcp_style_http_port_prev = cmp_alternate_tcp_style_http_port;
+ }
+
+}
+
diff --git a/epan/dissectors/asn1/cmp/packet-cmp-template.h b/epan/dissectors/asn1/cmp/packet-cmp-template.h
new file mode 100644
index 00000000..686080b6
--- /dev/null
+++ b/epan/dissectors/asn1/cmp/packet-cmp-template.h
@@ -0,0 +1,20 @@
+/* packet-cmp.h
+ * Routines for RFC2510 Certificate Management Protocol packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_CMP_H
+#define PACKET_CMP_H
+
+void proto_reg_handoff_cmp(void);
+
+#include "packet-cmp-exp.h"
+
+#endif /* PACKET_CMP_H */
+
diff --git a/epan/dissectors/asn1/cms/AttributeCertificateVersion1.asn b/epan/dissectors/asn1/cms/AttributeCertificateVersion1.asn
new file mode 100644
index 00000000..1187616e
--- /dev/null
+++ b/epan/dissectors/asn1/cms/AttributeCertificateVersion1.asn
@@ -0,0 +1,51 @@
+-- Extracted from RFC5652
+AttributeCertificateVersion1
+ { iso(1) member-body(2) us(840) rsadsi(113549)
+ pkcs(1) pkcs-9(9) smime(16) modules(0) v1AttrCert(15) }
+
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- EXPORTS All
+
+IMPORTS
+ -- Directory Authentication Framework (X.509)
+ AttCertValidityPeriod, Extensions, IssuerSerial
+ FROM AuthenticationFramework { joint-iso-itu-t ds(5)
+ module(1) authenticationFramework(7) 3 }
+
+ GeneralNames
+ FROM CertificateExtensions { joint-iso-ccitt ds(5)
+ module(1) certificateExtensions(26) 0 }
+
+ UniqueIdentifier
+ FROM SelectedAttributeTypes { joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 3 };
+
+
+-- Definition extracted from X.509-1997 [X.509-97], but
+-- different type names are used to avoid collisions.
+
+AttributeCertificateV1 ::= SEQUENCE {
+ acInfo AttributeCertificateInfoV1,
+ signatureAlgorithm AlgorithmIdentifier,
+ signature BIT STRING }
+
+AttributeCertificateInfoV1 ::= SEQUENCE {
+ version AttCertVersionV1 DEFAULT v1,
+ subject CHOICE {
+ baseCertificateID [0] IssuerSerial,
+ -- associated with a Public Key Certificate
+ subjectName [1] GeneralNames },
+ -- associated with a name
+ issuer GeneralNames,
+ signature AlgorithmIdentifier,
+ serialNumber CertificateSerialNumber,
+ attCertValidityPeriod AttCertValidityPeriod,
+ attributes SEQUENCE OF Attribute,
+ issuerUniqueID UniqueIdentifier OPTIONAL,
+ extensions Extensions OPTIONAL }
+
+AttCertVersionV1 ::= INTEGER { v1(0) }
+
+END -- of AttributeCertificateVersion1
diff --git a/epan/dissectors/asn1/cms/CMSFirmwareWrapper.asn b/epan/dissectors/asn1/cms/CMSFirmwareWrapper.asn
new file mode 100644
index 00000000..7842d648
--- /dev/null
+++ b/epan/dissectors/asn1/cms/CMSFirmwareWrapper.asn
@@ -0,0 +1,220 @@
+-- Verbatim copy of Appendix A of RFC 4108 followed by Errata ID 4093
+
+CMSFirmwareWrapper
+ { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-9(9) smime(16) modules(0) cms-firmware-wrap(22) }
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+IMPORTS
+ EnvelopedData
+ FROM CryptographicMessageSyntax -- [CMS]
+ { iso(1) member-body(2) us(840) rsadsi(113549)
+ pkcs(1) pkcs-9(9) smime(16) modules(0) cms-2004(24) };
+
+
+-- Firmware Package Content Type and Object Identifier
+
+id-ct-firmwarePackage OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) ct(1) 16 }
+
+FirmwarePkgData ::= OCTET STRING
+
+
+-- Firmware Package Signed Attributes and Object Identifiers
+
+id-aa-firmwarePackageID OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) aa(2) 35 }
+
+FirmwarePackageIdentifier ::= SEQUENCE {
+ name PreferredOrLegacyPackageIdentifier,
+ stale PreferredOrLegacyStalePackageIdentifier OPTIONAL }
+
+PreferredOrLegacyPackageIdentifier ::= CHOICE {
+ preferred PreferredPackageIdentifier,
+ legacy OCTET STRING }
+
+PreferredPackageIdentifier ::= SEQUENCE {
+ fwPkgID OBJECT IDENTIFIER,
+ verNum INTEGER (0..MAX) }
+
+PreferredOrLegacyStalePackageIdentifier ::= CHOICE {
+ preferredStaleVerNum INTEGER (0..MAX),
+ legacyStaleVersion OCTET STRING }
+
+
+id-aa-targetHardwareIDs OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) aa(2) 36 }
+
+TargetHardwareIdentifiers ::= SEQUENCE OF OBJECT IDENTIFIER
+
+
+id-aa-decryptKeyID OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) aa(2) 37 }
+
+DecryptKeyIdentifier ::= OCTET STRING
+
+
+id-aa-implCryptoAlgs OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) aa(2) 38 }
+
+ImplementedCryptoAlgorithms ::= SEQUENCE OF OBJECT IDENTIFIER
+
+id-aa-implCompressAlgs OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) aa(2) 43 }
+
+ImplementedCompressAlgorithms ::= SEQUENCE OF OBJECT IDENTIFIER
+
+
+id-aa-communityIdentifiers OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) aa(2) 40 }
+
+CommunityIdentifiers ::= SEQUENCE OF CommunityIdentifier
+
+CommunityIdentifier ::= CHOICE {
+ communityOID OBJECT IDENTIFIER,
+ hwModuleList HardwareModules }
+
+HardwareModules ::= SEQUENCE {
+ hwType OBJECT IDENTIFIER,
+ hwSerialEntries SEQUENCE OF HardwareSerialEntry }
+
+
+HardwareSerialEntry ::= CHOICE {
+ all NULL,
+ single OCTET STRING,
+ block SEQUENCE {
+ low OCTET STRING,
+ high OCTET STRING } }
+
+
+id-aa-firmwarePackageInfo OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) aa(2) 42 }
+
+FirmwarePackageInfo ::= SEQUENCE {
+ fwPkgType INTEGER OPTIONAL,
+ dependencies SEQUENCE OF
+ PreferredOrLegacyPackageIdentifier OPTIONAL }
+
+
+-- Firmware Package Unsigned Attributes and Object Identifiers
+
+id-aa-wrappedFirmwareKey OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) aa(2) 39 }
+
+WrappedFirmwareKey ::= EnvelopedData
+
+
+-- Firmware Package Load Receipt Content Type and Object Identifier
+
+id-ct-firmwareLoadReceipt OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) ct(1) 17 }
+
+FirmwarePackageLoadReceipt ::= SEQUENCE {
+ version FWReceiptVersion DEFAULT v1,
+ hwType OBJECT IDENTIFIER,
+ hwSerialNum OCTET STRING,
+ fwPkgName PreferredOrLegacyPackageIdentifier,
+ trustAnchorKeyID OCTET STRING OPTIONAL,
+ decryptKeyID [1] OCTET STRING OPTIONAL }
+
+FWReceiptVersion ::= INTEGER { v1(1) }
+
+
+-- Firmware Package Load Error Report Content Type
+-- and Object Identifier
+
+id-ct-firmwareLoadError OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) ct(1) 18 }
+
+FirmwarePackageLoadError ::= SEQUENCE {
+ version FWErrorVersion DEFAULT v1,
+ hwType OBJECT IDENTIFIER,
+ hwSerialNum OCTET STRING,
+ errorCode FirmwarePackageLoadErrorCode,
+ vendorErrorCode VendorLoadErrorCode OPTIONAL,
+ fwPkgName PreferredOrLegacyPackageIdentifier OPTIONAL,
+ config [1] SEQUENCE OF CurrentFWConfig OPTIONAL }
+
+FWErrorVersion ::= INTEGER { v1(1) }
+
+CurrentFWConfig ::= SEQUENCE {
+ fwPkgType INTEGER OPTIONAL,
+ fwPkgName PreferredOrLegacyPackageIdentifier }
+
+FirmwarePackageLoadErrorCode ::= ENUMERATED {
+ decodeFailure (1),
+ badContentInfo (2),
+ badSignedData (3),
+ badEncapContent (4),
+ badCertificate (5),
+ badSignerInfo (6),
+ badSignedAttrs (7),
+ badUnsignedAttrs (8),
+ missingContent (9),
+ noTrustAnchor (10),
+ notAuthorized (11),
+ badDigestAlgorithm (12),
+ badSignatureAlgorithm (13),
+ unsupportedKeySize (14),
+ signatureFailure (15),
+ contentTypeMismatch (16),
+ badEncryptedData (17),
+ unprotectedAttrsPresent (18),
+ badEncryptContent (19),
+ badEncryptAlgorithm (20),
+ missingCiphertext (21),
+ noDecryptKey (22),
+ decryptFailure (23),
+ badCompressAlgorithm (24),
+ missingCompressedContent (25),
+ decompressFailure (26),
+ wrongHardware (27),
+ stalePackage (28),
+ notInCommunity (29),
+ unsupportedPackageType (30),
+ missingDependency (31),
+ wrongDependencyVersion (32),
+ insufficientMemory (33),
+ badFirmware (34),
+ unsupportedParameters (35),
+ breaksDependency (36),
+ otherError (99) }
+
+VendorLoadErrorCode ::= INTEGER
+
+
+-- Other Name syntax for Hardware Module Name
+
+id-on-hardwareModuleName OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) dod(6) internet(1) security(5)
+ mechanisms(5) pkix(7) on(8) 4 }
+
+HardwareModuleName ::= SEQUENCE {
+ hwType OBJECT IDENTIFIER,
+ hwSerialNum OCTET STRING }
+
+
+
+-- From Errata ID 4093: Elements defined Section 2.2.10 and missing in the appendix
+
+id-aa-fwPkgMessageDigest OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) aa(2) 41 }
+
+FirmwarePackageMessageDigest ::= SEQUENCE {
+ algorithm AlgorithmIdentifier,
+ msgDigest OCTET STRING }
+
+END
diff --git a/epan/dissectors/asn1/cms/CMakeLists.txt b/epan/dissectors/asn1/cms/CMakeLists.txt
new file mode 100644
index 00000000..6fc91bd2
--- /dev/null
+++ b/epan/dissectors/asn1/cms/CMakeLists.txt
@@ -0,0 +1,52 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME cms )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ CryptographicMessageSyntax.asn
+ AttributeCertificateVersion1.asn
+ CMSFirmwareWrapper.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -C )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+)
+
+set ( EXPORT_DEPENDS
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/cms/CryptographicMessageSyntax.asn b/epan/dissectors/asn1/cms/CryptographicMessageSyntax.asn
new file mode 100644
index 00000000..a2b9d921
--- /dev/null
+++ b/epan/dissectors/asn1/cms/CryptographicMessageSyntax.asn
@@ -0,0 +1,485 @@
+-- Extracted from RFC5652
+-- and massaged/modified so it passes through our asn2wrs compiler
+
+CryptographicMessageSyntax
+ { iso(1) member-body(2) us(840) rsadsi(113549)
+ pkcs(1) pkcs-9(9) smime(16) modules(0) cms-2004(24) }
+
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use
+-- in the other ASN.1 modules. Other applications may use them for
+-- their own purposes.
+
+IMPORTS
+ -- Directory Information Framework (X.501)
+ Name
+ FROM InformationFramework { joint-iso-itu-t ds(5) modules(1)
+ informationFramework(1) 3 }
+
+ -- Directory Authentication Framework (X.509)
+ AlgorithmIdentifier, AttributeCertificate, Certificate,
+ CertificateList, CertificateSerialNumber
+ FROM AuthenticationFramework { joint-iso-itu-t ds(5)
+ module(1) authenticationFramework(7) 3 } ;
+
+
+-- Cryptographic Message Syntax
+
+ContentInfo ::= SEQUENCE {
+ contentType ContentType,
+ content [0] EXPLICIT ANY DEFINED BY contentType }
+
+ContentType ::= OBJECT IDENTIFIER
+
+SignedData ::= SEQUENCE {
+ version CMSVersion,
+ digestAlgorithms DigestAlgorithmIdentifiers,
+ encapContentInfo EncapsulatedContentInfo,
+ certificates [0] IMPLICIT CertificateSet OPTIONAL,
+ crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,
+ signerInfos SignerInfos }
+
+DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
+
+SignerInfos ::= SET OF SignerInfo
+
+-- Implemented by hand in the template
+EncapsulatedContentInfo ::= SEQUENCE {
+ eContentType ContentType,
+ eContent [0] EXPLICIT OCTET STRING OPTIONAL }
+
+SignerInfo ::= SEQUENCE {
+ version CMSVersion,
+ sid SignerIdentifier,
+ digestAlgorithm DigestAlgorithmIdentifier,
+ signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL,
+ signatureAlgorithm SignatureAlgorithmIdentifier,
+ signature SignatureValue,
+ unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL }
+
+SignerIdentifier ::= CHOICE {
+ issuerAndSerialNumber IssuerAndSerialNumber,
+ subjectKeyIdentifier [0] SubjectKeyIdentifier }
+
+SignedAttributes ::= SET SIZE (1..MAX) OF Attribute
+
+UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute
+
+Attribute ::= SEQUENCE {
+ attrType OBJECT IDENTIFIER,
+ attrValues SET OF AttributeValue }
+
+AttributeValue ::= ANY
+
+SignatureValue ::= OCTET STRING
+
+EnvelopedData ::= SEQUENCE {
+ version CMSVersion,
+ originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+ recipientInfos RecipientInfos,
+ encryptedContentInfo EncryptedContentInfo,
+ unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }
+
+OriginatorInfo ::= SEQUENCE {
+ certs [0] IMPLICIT CertificateSet OPTIONAL,
+ crls [1] IMPLICIT RevocationInfoChoices OPTIONAL }
+
+RecipientInfos ::= SET SIZE (1..MAX) OF RecipientInfo
+
+EncryptedContentInfo ::= SEQUENCE {
+ contentType ContentType,
+ contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
+ encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL }
+
+EncryptedContent ::= OCTET STRING
+
+UnprotectedAttributes ::= SET SIZE (1..MAX) OF Attribute
+
+RecipientInfo ::= CHOICE {
+ ktri KeyTransRecipientInfo,
+ kari [1] KeyAgreeRecipientInfo,
+ kekri [2] KEKRecipientInfo,
+ pwri [3] PasswordRecipientInfo,
+ ori [4] OtherRecipientInfo }
+
+EncryptedKey ::= OCTET STRING
+
+KeyTransRecipientInfo ::= SEQUENCE {
+ version CMSVersion, -- always set to 0 or 2
+ rid RecipientIdentifier,
+ keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+ encryptedKey EncryptedKey }
+
+RecipientIdentifier ::= CHOICE {
+ issuerAndSerialNumber IssuerAndSerialNumber,
+ subjectKeyIdentifier [0] SubjectKeyIdentifier }
+
+KeyAgreeRecipientInfo ::= SEQUENCE {
+ version CMSVersion, -- always set to 3
+ originator [0] EXPLICIT OriginatorIdentifierOrKey,
+ ukm [1] EXPLICIT UserKeyingMaterial OPTIONAL,
+ keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+ recipientEncryptedKeys RecipientEncryptedKeys }
+
+OriginatorIdentifierOrKey ::= CHOICE {
+ issuerAndSerialNumber IssuerAndSerialNumber,
+ subjectKeyIdentifier [0] SubjectKeyIdentifier,
+ originatorKey [1] OriginatorPublicKey }
+
+OriginatorPublicKey ::= SEQUENCE {
+ algorithm AlgorithmIdentifier,
+ publicKey BIT STRING }
+
+RecipientEncryptedKeys ::= SEQUENCE OF RecipientEncryptedKey
+
+RecipientEncryptedKey ::= SEQUENCE {
+ rid KeyAgreeRecipientIdentifier,
+ encryptedKey EncryptedKey }
+
+KeyAgreeRecipientIdentifier ::= CHOICE {
+ issuerAndSerialNumber IssuerAndSerialNumber,
+ rKeyId [0] IMPLICIT RecipientKeyIdentifier }
+
+RecipientKeyIdentifier ::= SEQUENCE {
+ subjectKeyIdentifier SubjectKeyIdentifier,
+ date GeneralizedTime OPTIONAL,
+ other OtherKeyAttribute OPTIONAL }
+
+SubjectKeyIdentifier ::= OCTET STRING
+
+KEKRecipientInfo ::= SEQUENCE {
+ version CMSVersion, -- always set to 4
+ kekid KEKIdentifier,
+ keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+ encryptedKey EncryptedKey }
+
+KEKIdentifier ::= SEQUENCE {
+ keyIdentifier OCTET STRING,
+ date GeneralizedTime OPTIONAL,
+ other OtherKeyAttribute OPTIONAL }
+
+PasswordRecipientInfo ::= SEQUENCE {
+ version CMSVersion, -- always set to 0
+ keyDerivationAlgorithm [0] KeyDerivationAlgorithmIdentifier
+ OPTIONAL,
+ keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+ encryptedKey EncryptedKey }
+
+OtherRecipientInfo ::= SEQUENCE {
+ oriType OBJECT IDENTIFIER,
+ oriValue ANY DEFINED BY oriType }
+
+DigestedData ::= SEQUENCE {
+ version CMSVersion,
+ digestAlgorithm DigestAlgorithmIdentifier,
+ encapContentInfo EncapsulatedContentInfo,
+ digest Digest }
+
+Digest ::= OCTET STRING
+
+EncryptedData ::= SEQUENCE {
+ version CMSVersion,
+ encryptedContentInfo EncryptedContentInfo,
+ unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }
+
+AuthenticatedData ::= SEQUENCE {
+ version CMSVersion,
+ originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+ recipientInfos RecipientInfos,
+ macAlgorithm MessageAuthenticationCodeAlgorithm,
+ digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
+ encapContentInfo EncapsulatedContentInfo,
+ authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
+ mac MessageAuthenticationCode,
+ unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
+
+AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
+
+UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
+
+MessageAuthenticationCode ::= OCTET STRING
+
+DigestAlgorithmIdentifier ::= AlgorithmIdentifier
+
+SignatureAlgorithmIdentifier ::= AlgorithmIdentifier
+
+KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
+
+ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
+
+MessageAuthenticationCodeAlgorithm ::= AlgorithmIdentifier
+
+KeyDerivationAlgorithmIdentifier ::= AlgorithmIdentifier
+
+RevocationInfoChoices ::= SET OF RevocationInfoChoice
+
+RevocationInfoChoice ::= CHOICE {
+ crl CertificateList,
+ other [1] IMPLICIT OtherRevocationInfoFormat }
+
+OtherRevocationInfoFormat ::= SEQUENCE {
+ otherRevInfoFormat OBJECT IDENTIFIER,
+ otherRevInfo ANY DEFINED BY otherRevInfoFormat }
+
+CertificateChoices ::= CHOICE {
+ certificate Certificate,
+ extendedCertificate [0] IMPLICIT ExtendedCertificate, -- Obsolete
+ v1AttrCert [1] IMPLICIT AttributeCertificateV1, -- Obsolete
+ v2AttrCert [2] IMPLICIT AttributeCertificateV2 }
+
+AttributeCertificateV2 ::= AttributeCertificate
+
+CertificateSet ::= SET OF CertificateChoices
+
+IssuerAndSerialNumber ::= SEQUENCE {
+ issuer Name,
+ serialNumber CertificateSerialNumber }
+
+CMSVersion ::= INTEGER { v0(0), v1(1), v2(2), v3(3), v4(4), v5(5) }
+
+UserKeyingMaterial ::= OCTET STRING
+
+OtherKeyAttribute ::= SEQUENCE {
+ keyAttrId OBJECT IDENTIFIER,
+ keyAttr ANY DEFINED BY keyAttrId OPTIONAL }
+
+-- Content Type Object Identifiers
+
+id-ct-contentInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1) 6 }
+
+id-data OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs7(7) 1 }
+
+id-signedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 }
+
+id-envelopedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs7(7) 3 }
+
+id-digestedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs7(7) 5 }
+
+id-encryptedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs7(7) 6 }
+
+id-ct-authData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 2 }
+
+-- The CMS Attributes
+
+MessageDigest ::= OCTET STRING
+
+SigningTime ::= Time
+
+Time ::= CHOICE {
+ utcTime UTCTime,
+ generalTime GeneralizedTime }
+
+Countersignature ::= SignerInfo
+
+-- Algorithm Identifiers
+--
+-- sha-1 OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
+-- oiw(14) secsig(3) algorithm(2) 26 }
+--
+-- md5 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
+-- rsadsi(113549) digestAlgorithm(2) 5 }
+--
+-- id-dsa-with-sha1 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+-- us(840) x9-57 (10040) x9cm(4) 3 }
+--
+-- rsaEncryption OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+-- us(840) rsadsi(113549) pkcs(1) pkcs-1(1) 1 }
+--
+-- dh-public-number OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+-- us(840) ansi-x942(10046) number-type(2) 1 }
+--
+-- id-alg-ESDH OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
+-- rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 5 }
+--
+-- id-alg-CMS3DESwrap OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+-- us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 6 }
+--
+-- id-alg-CMSRC2wrap OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+-- us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 7 }
+--
+-- des-ede3-cbc OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+-- us(840) rsadsi(113549) encryptionAlgorithm(3) 7 }
+--
+-- rc2-cbc OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
+-- rsadsi(113549) encryptionAlgorithm(3) 2 }
+--
+-- hMAC-SHA1 OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
+-- dod(6) internet(1) security(5) mechanisms(5) 8 1 2 }
+--
+--
+-- Algorithm Parameters
+--
+KeyWrapAlgorithm ::= AlgorithmIdentifier
+
+RC2WrapParameter ::= RC2ParameterVersion
+
+RC2ParameterVersion ::= INTEGER
+
+CBCParameter ::= IV
+
+IV ::= OCTET STRING
+
+RC2CBCParameter ::= SEQUENCE {
+ rc2ParameterVersion INTEGER,
+ iv OCTET STRING }
+
+-- Attribute Object Identifiers
+
+id-contentType OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs9(9) 3 }
+
+id-messageDigest OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs9(9) 4 }
+
+id-signingTime OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs9(9) 5 }
+
+id-countersignature OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs9(9) 6 }
+
+-- Obsolete Extended Certificate syntax from PKCS #6
+
+ExtendedCertificateOrCertificate ::= CHOICE {
+ certificate Certificate,
+ extendedCertificate [0] IMPLICIT ExtendedCertificate }
+
+ExtendedCertificate ::= SEQUENCE {
+ extendedCertificateInfo ExtendedCertificateInfo,
+ signatureAlgorithm SignatureAlgorithmIdentifier,
+ signature Signature }
+
+ExtendedCertificateInfo ::= SEQUENCE {
+ version CMSVersion,
+ certificate Certificate,
+ attributes UnauthAttributes }
+
+Signature ::= BIT STRING
+
+-- PKCS #7 type that was removed from CMS
+
+DigestInfo ::= SEQUENCE {
+ digestAlgorithm DigestAlgorithmIdentifier,
+ digest Digest }
+
+-- From S/MIME
+
+SMIMECapabilities ::= SEQUENCE OF SMIMECapability
+
+SMIMECapability ::= SEQUENCE {
+ capability OBJECT IDENTIFIER,
+ parameters ANY OPTIONAL
+}
+
+SMIMEEncryptionKeyPreference ::= CHOICE {
+ issuerAndSerialNumber [0] IssuerAndSerialNumber,
+ recipientKeyId [1] RecipientKeyIdentifier,
+ subjectAltKeyIdentifier [2] SubjectKeyIdentifier
+
+}
+
+-- some implememtations do not seem to use the RC2CBCParameter with 1.2.840.113549.3.2 as per RFC 2630 12.4.2
+-- so we create this CHOICE to workaround this problem until we understand what is really the correct solution
+
+RC2CBCParameters ::= CHOICE {
+ rc2WrapParameter RC2WrapParameter,
+ rc2CBCParameter RC2CBCParameter
+
+}
+
+
+END -- of CryptographicMessageSyntax2004
+
+CMS-AuthEnvelopedData-2007 { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-9(9) smime(16) modules(0) cms-authEnvelopedData(31) }
+
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use
+-- in the other ASN.1 modules. Other applications may use them for
+-- their own purposes.
+
+-- IMPORTS
+
+-- Imports from RFC 3852 [CMS], Section 12.1
+-- AuthAttributes,
+-- CMSVersion,
+-- EncryptedContentInfo,
+-- MessageAuthenticationCode,
+-- OriginatorInfo,
+-- RecipientInfos,
+-- UnauthAttributes
+-- FROM CryptographicMessageSyntax2004
+-- { iso(1) member-body(2) us(840) rsadsi(113549)
+-- pkcs(1) pkcs-9(9) smime(16) modules(0)
+-- cms-2004(24) } ;
+
+
+AuthEnvelopedData ::= SEQUENCE {
+ version CMSVersion,
+ originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+ recipientInfos RecipientInfos,
+ authEncryptedContentInfo EncryptedContentInfo,
+ authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
+ mac MessageAuthenticationCode,
+ unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
+
+id-ct-authEnvelopedData OBJECT IDENTIFIER ::= { iso(1)
+ member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
+ smime(16) ct(1) 23 }
+
+END -- of CMS-AuthEnvelopedData-2007
+
+CMS-AES-CCM-and-AES-GCM
+ { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-9(9) smime(16) modules(0) cms-aes-ccm-and-gcm(32) }
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- EXPORTS All
+
+-- Object Identifiers
+
+aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840)
+ organization(1) gov(101) csor(3) nistAlgorithm(4) 1 }
+
+id-aes128-CCM OBJECT IDENTIFIER ::= { aes 7 }
+
+id-aes192-CCM OBJECT IDENTIFIER ::= { aes 27 }
+
+id-aes256-CCM OBJECT IDENTIFIER ::= { aes 47 }
+
+id-aes128-GCM OBJECT IDENTIFIER ::= { aes 6 }
+
+id-aes192-GCM OBJECT IDENTIFIER ::= { aes 26 }
+
+id-aes256-GCM OBJECT IDENTIFIER ::= { aes 46 }
+
+
+-- Parameters for AigorithmIdentifier
+
+CCMParameters ::= SEQUENCE {
+ aes-nonce OCTET STRING (SIZE(7..13)),
+ aes-ICVlen AES-CCM-ICVlen DEFAULT 12 }
+
+AES-CCM-ICVlen ::= INTEGER (4 | 6 | 8 | 10 | 12 | 14 | 16)
+
+GCMParameters ::= SEQUENCE {
+ aes-nonce OCTET STRING, -- recommended size is 12 octets
+ aes-ICVlen AES-GCM-ICVlen DEFAULT 12 }
+
+AES-GCM-ICVlen ::= INTEGER (12 | 13 | 14 | 15 | 16)
+
+END
+
diff --git a/epan/dissectors/asn1/cms/cms.cnf b/epan/dissectors/asn1/cms/cms.cnf
new file mode 100644
index 00000000..77da3143
--- /dev/null
+++ b/epan/dissectors/asn1/cms/cms.cnf
@@ -0,0 +1,293 @@
+# CMS.cnf
+# CMS conformation file
+
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509ce/x509ce-exp.cnf
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509sat/x509sat-exp.cnf
+
+#.OMIT_ASSIGNMENT
+CBCParameter
+ExtendedCertificateOrCertificate
+#.END
+
+#.EXPORTS
+ContentInfo
+ContentType
+Countersignature
+Digest
+DigestAlgorithmIdentifier
+DigestAlgorithmIdentifiers
+DigestInfo
+EncapsulatedContentInfo
+EnvelopedData
+AuthEnvelopedData
+IssuerAndSerialNumber
+SignedAttributes
+SignedData
+SignerIdentifier
+SignerInfo
+SignerInfos
+SignatureValue
+UnsignedAttributes
+
+#.REGISTER
+ContentInfo B "1.2.840.113549.1.9.16.1.6" "id-ct-contentInfo"
+#OctetString B "1.2.840.113549.1.7.1" "id-data" see x509sat.cnf
+SignedData B "1.2.840.113549.1.7.2" "id-signedData"
+EnvelopedData B "1.2.840.113549.1.7.3" "id-envelopedData"
+DigestedData B "1.2.840.113549.1.7.5" "id-digestedData"
+EncryptedData B "1.2.840.113549.1.7.6" "id-encryptedData"
+AuthenticatedData B "1.2.840.113549.1.9.16.1.2" "id-ct-authenticatedData"
+EncryptedContentInfo B "1.2.840.113549.1.9.16.1.9" "id-ct-compressedData"
+AuthEnvelopedData B "1.2.840.113549.1.9.16.1.23" "id-ct-authEnvelopedData"
+
+ContentType B "1.2.840.113549.1.9.3" "id-contentType"
+MessageDigest B "1.2.840.113549.1.9.4" "id-messageDigest"
+SigningTime B "1.2.840.113549.1.9.5" "id-signingTime"
+Countersignature B "1.2.840.113549.1.9.6" "id-counterSignature"
+
+ContentInfo B "2.6.1.4.18" "id-et-pkcs7"
+
+IssuerAndSerialNumber B "1.3.6.1.4.1.311.16.4" "ms-oe-encryption-key-preference"
+SMIMECapabilities B "1.2.840.113549.1.9.15" "id-smime-capabilities"
+SMIMEEncryptionKeyPreference B "1.2.840.113549.1.9.16.2.11" "id-encryption-key-preference"
+
+# I think the following should be RC2CBCParameter - but that appears to be incorrect
+RC2CBCParameters B "1.2.840.113549.3.4" "id-alg-rc4"
+
+KeyEncryptionAlgorithmIdentifier B "0.4.0.127.0.7.1.1.5.1.1.3" "ecka-eg-X963KDF-SHA256"
+KeyEncryptionAlgorithmIdentifier B "0.4.0.127.0.7.1.1.5.1.1.4" "ecka-eg-X963KDF-SHA384"
+KeyEncryptionAlgorithmIdentifier B "0.4.0.127.0.7.1.1.5.1.1.5" "ecka-eg-X963KDF-SHA512"
+
+KeyEncryptionAlgorithmIdentifier B "2.16.840.1.101.3.4.1.5" "id-aes128-wrap"
+KeyEncryptionAlgorithmIdentifier B "2.16.840.1.101.3.4.1.25" "id-aes192-wrap"
+KeyEncryptionAlgorithmIdentifier B "2.16.840.1.101.3.4.1.45" "id-aes256-wrap"
+
+GCMParameters B "2.16.840.1.101.3.4.1.6" "id-aes128-GCM"
+GCMParameters B "2.16.840.1.101.3.4.1.26" "id-aes192-GCM"
+GCMParameters B "2.16.840.1.101.3.4.1.46" "id-aes256-GCM"
+
+CCMParameters B "2.16.840.1.101.3.4.1.7" "id-aes128-CCM"
+CCMParameters B "2.16.840.1.101.3.4.1.27" "id-aes192-CCM"
+CCMParameters B "2.16.840.1.101.3.4.1.44" "id-aes256-CCM"
+
+# EC algorithms from RFC 3278 / RFC 5753
+KeyWrapAlgorithm B "1.3.133.16.840.63.0.2" "dhSinglePass-stdDH-sha1kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.11.0" "dhSinglePass-stdDH-sha224kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.11.1" "dhSinglePass-stdDH-sha256kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.11.2" "dhSinglePass-stdDH-sha384kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.11.3" "dhSinglePass-stdDH-sha512kdf-scheme"
+KeyWrapAlgorithm B "1.3.133.16.840.63.0.3" "dhSinglePass-cofactorDH-sha1kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.14.0" "dhSinglePass-cofactorDH-sha224kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.14.1" "dhSinglePass-cofactorDH-sha256kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.14.2" "dhSinglePass-cofactorDH-sha384kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.14.3" "dhSinglePass-cofactorDH-sha512kdf-scheme"
+KeyWrapAlgorithm B "1.3.133.16.840.63.0.16" "mqvSinglePass-sha1kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.15.0" "mqvSinglePass-sha224kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.15.1" "mqvSinglePass-sha256kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.15.2" "mqvSinglePass-sha384kdf-scheme"
+KeyWrapAlgorithm B "1.3.132.1.15.3" "mqvSinglePass-sha512kdf-scheme"
+
+# RFC 3370 [CMS-ASN] (and RFC 5911 section 3)
+# - section 4.3.1 - registered in packet-cms-template.c
+# NULL B "1.2.840.113549.1.9.16.3.6" "id-alg-CMS3DESwrap"
+# - section 4.3.2
+RC2WrapParameter B "1.2.840.113549.1.9.16.3.7" "id-alg-CMSRC2-wrap"
+# - section 4.4.1 - PBKDF2-params defined in PKCS#5 / RFC 8018 - not yet implemented
+# PBKDF2-params B "1.2.840.113549.1.5.12" "id-PBKDF2"
+# - section 5.1
+IV B "1.2.840.113549.3.7" "des-ede3-cbc"
+# - section 5.2
+RC2CBCParameters B "1.2.840.113549.3.2" "rc2-cbc"
+
+# RFC 2798 Attributes - see master list in x509sat.cnf
+SignedData B "2.16.840.1.113730.3.1.40" "userSMIMECertificate"
+
+# RFC 4108 Attributes (in CMSFirmwareWrapper.asn)
+FirmwarePkgData B "1.2.840.113549.1.9.16.1.16" "id-ct-firmwarePackage"
+FirmwarePackageIdentifier B "1.2.840.113549.1.9.16.2.35" "id-aa-firmwarePackageID"
+TargetHardwareIdentifiers B "1.2.840.113549.1.9.16.2.36" "id-aa-targetHardwareIDs"
+DecryptKeyIdentifier B "1.2.840.113549.1.9.16.2.37" "id-aa-decryptKeyID"
+ImplementedCryptoAlgorithms B "1.2.840.113549.1.9.16.2.38" "id-aa-implCryptoAlgs"
+ImplementedCompressAlgorithms B "1.2.840.113549.1.9.16.2.43" "id-aa-implCompressAlgs"
+CommunityIdentifiers B "1.2.840.113549.1.9.16.2.40" "id-aa-communityIdentifiers"
+FirmwarePackageInfo B "1.2.840.113549.1.9.16.2.42" "id-aa-firmwarePackageInfo"
+WrappedFirmwareKey B "1.2.840.113549.1.9.16.2.39" "id-aa-wrappedFirmwareKey"
+FirmwarePackageLoadReceipt B "1.2.840.113549.1.9.16.1.17" "id-ct-firmwareLoadReceipt"
+FirmwarePackageLoadError B "1.2.840.113549.1.9.16.1.18" "id-ct-firmwareLoadError"
+HardwareModuleName B "1.3.6.1.5.5.7.8.4" "id-on-hardwareModuleName"
+FirmwarePackageMessageDigest B "1.2.840.113549.1.9.16.2.41" "id-aa-fwPkgMessageDigest"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+SignerInfo/signature signatureValue
+RecipientEncryptedKey/rid rekRid
+EncryptedContentInfo/contentType encryptedContentType
+AttributeCertificateV1/signature signatureValue_v1
+AttributeCertificateV1/signatureAlgorithm signatureAlgorithm_v1
+AttributeCertificateInfoV1/attributes attributes_v1
+AttributeCertificateInfoV1/issuer issuer_v1
+AttributeCertificateInfoV1/signature signature_v1
+AttributeCertificateInfoV1/version version_v1
+RevocationInfoChoice/other otherRIC
+FirmwarePackageLoadReceipt/version fwReceiptVersion
+FirmwarePackageLoadError/version fwErrorVersion
+
+#.FN_BODY ContentInfo
+ top_tree = tree;
+ %(DEFAULT_BODY)s
+ top_tree = NULL;
+
+#.FN_PARS ContentType
+ FN_VARIANT = _str VAL_PTR = &cms_data->object_identifier_id
+
+#.FN_BODY ContentType
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ cms_data->object_identifier_id = NULL;
+ const char *name = NULL;
+
+ %(DEFAULT_BODY)s
+
+ if(cms_data->object_identifier_id) {
+ name = oid_resolved_from_string(actx->pinfo->pool, cms_data->object_identifier_id);
+ proto_item_append_text(tree, " (%%s)", name ? name : cms_data->object_identifier_id);
+ }
+
+#.FN_BODY ContentInfo/content
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ offset=call_ber_oid_callback(cms_data->object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+
+#.FN_BODY EncapsulatedContentInfo/eContent
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ cms_data->content_tvb = NULL;
+ offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &cms_data->content_tvb);
+
+ if(cms_data->content_tvb) {
+ proto_item_set_text(actx->created_item, "eContent (%%u bytes)", tvb_reported_length(cms_data->content_tvb));
+
+ call_ber_oid_callback(cms_data->object_identifier_id, cms_data->content_tvb, 0, actx->pinfo, top_tree ? top_tree : tree, NULL);
+ }
+
+#.FN_PARS OtherRecipientInfo/oriType
+ FN_VARIANT = _str VAL_PTR = &cms_data->object_identifier_id
+
+#.FN_HDR OtherRecipientInfo/oriType
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ cms_data->object_identifier_id = NULL;
+
+#.FN_BODY OtherRecipientInfo/oriValue
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ offset=call_ber_oid_callback(cms_data->object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS OtherKeyAttribute/keyAttrId
+ FN_VARIANT = _str HF_INDEX = hf_cms_ci_contentType VAL_PTR = &cms_data->object_identifier_id
+
+#.FN_HDR OtherKeyAttribute/keyAttrId
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ cms_data->object_identifier_id = NULL;
+
+#.FN_BODY OtherKeyAttribute/keyAttr
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ offset=call_ber_oid_callback(cms_data->object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS OtherRevocationInfoFormat/otherRevInfoFormat
+ FN_VARIANT = _str VAL_PTR = &cms_data->object_identifier_id
+
+#.FN_HDR OtherRevocationInfoFormat/otherRevInfoFormat
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ cms_data->object_identifier_id = NULL;
+
+#.FN_BODY OtherRevocationInfoFormat/otherRevInfo
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ offset=call_ber_oid_callback(cms_data->object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS Attribute/attrType
+ FN_VARIANT = _str HF_INDEX = hf_cms_attrType VAL_PTR = &cms_data->object_identifier_id
+
+#.FN_BODY Attribute/attrType
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ cms_data->object_identifier_id = NULL;
+ const char *name = NULL;
+
+ %(DEFAULT_BODY)s
+
+ if(cms_data->object_identifier_id) {
+ name = oid_resolved_from_string(actx->pinfo->pool, cms_data->object_identifier_id);
+ proto_item_append_text(tree, " (%%s)", name ? name : cms_data->object_identifier_id);
+ }
+
+#.FN_BODY AttributeValue
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+
+ offset=call_ber_oid_callback(cms_data->object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY MessageDigest
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ proto_item *pi;
+ int old_offset = offset;
+
+ %(DEFAULT_BODY)s
+
+ pi = actx->created_item;
+
+ /* move past TLV */
+ old_offset = get_ber_identifier(tvb, old_offset, NULL, NULL, NULL);
+ old_offset = get_ber_length(tvb, old_offset, NULL, NULL);
+
+ if(cms_data->content_tvb)
+ cms_verify_msg_digest(pi, cms_data->content_tvb, x509af_get_last_algorithm_id(), tvb, old_offset);
+
+#.FN_PARS SMIMECapability/capability
+ FN_VARIANT = _str HF_INDEX = hf_cms_attrType VAL_PTR = &cms_data->object_identifier_id
+
+#.FN_BODY SMIMECapability/capability
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+ cms_data->object_identifier_id = NULL;
+ const char *name = NULL;
+
+ %(DEFAULT_BODY)s
+
+ if(cms_data->object_identifier_id) {
+ name = oid_resolved_from_string(actx->pinfo->pool, cms_data->object_identifier_id);
+ proto_item_append_text(tree, " %%s", name ? name : cms_data->object_identifier_id);
+ cap_tree = tree;
+ }
+
+#.FN_BODY SMIMECapability/parameters
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+
+ offset=call_ber_oid_callback(cms_data->object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS RC2ParameterVersion
+ VAL_PTR = &length
+
+#.FN_BODY RC2ParameterVersion
+ guint32 length = 0;
+
+ %(DEFAULT_BODY)s
+
+ if(cap_tree != NULL)
+ proto_item_append_text(cap_tree, " (%%d bits)", length);
+
+#.FN_PARS EncryptedContent VAL_PTR = &encrypted_tvb
+
+#.FN_HDR EncryptedContent
+ tvbuff_t *encrypted_tvb;
+ proto_item *item;
+#.END
+
+#.FN_FTR EncryptedContent
+ struct cms_private_data *cms_data = cms_get_private_data(actx->pinfo);
+
+ item = actx->created_item;
+
+ PBE_decrypt_data(cms_data->object_identifier_id, encrypted_tvb, actx->pinfo, actx, item);
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/cms/packet-cms-template.c b/epan/dissectors/asn1/cms/packet-cms-template.c
new file mode 100644
index 00000000..aca1ecb0
--- /dev/null
+++ b/epan/dissectors/asn1/cms/packet-cms-template.c
@@ -0,0 +1,211 @@
+/* packet-cms.c
+ * Routines for RFC5652 Cryptographic Message Syntax packet dissection
+ * Ronnie Sahlberg 2004
+ * Stig Bjorlykke 2010
+ * Uwe Heuert 2022
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+#include <wsutil/wsgcrypt.h>
+
+#include "packet-ber.h"
+#include "packet-cms.h"
+#include "packet-x509af.h"
+#include "packet-x509ce.h"
+#include "packet-x509if.h"
+#include "packet-x509sat.h"
+#include "packet-pkcs12.h"
+
+#define PNAME "Cryptographic Message Syntax"
+#define PSNAME "CMS"
+#define PFNAME "cms"
+
+void proto_register_cms(void);
+void proto_reg_handoff_cms(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_cms = -1;
+static int hf_cms_ci_contentType = -1;
+#include "packet-cms-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_cms = -1;
+#include "packet-cms-ett.c"
+
+static dissector_handle_t cms_handle = NULL;
+
+static int dissect_cms_OCTET_STRING(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) ; /* XXX kill a compiler warning until asn2wrs stops generating these silly wrappers */
+
+struct cms_private_data {
+ const char *object_identifier_id;
+ tvbuff_t *content_tvb;
+};
+
+static proto_tree *top_tree=NULL;
+static proto_tree *cap_tree=NULL;
+
+#define HASH_SHA1 "1.3.14.3.2.26"
+
+#define HASH_MD5 "1.2.840.113549.2.5"
+
+
+/* SHA-2 variants */
+#define HASH_SHA224 "2.16.840.1.101.3.4.2.4"
+#define SHA224_BUFFER_SIZE 32 /* actually 28 */
+#define HASH_SHA256 "2.16.840.1.101.3.4.2.1"
+#define SHA256_BUFFER_SIZE 32
+
+unsigned char digest_buf[MAX(HASH_SHA1_LENGTH, HASH_MD5_LENGTH)];
+
+/*
+* Dissect CMS PDUs inside a PPDU.
+*/
+static int
+dissect_cms(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ int offset = 0;
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_cms, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_cms);
+ }
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "CMS");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0){
+ offset=dissect_cms_ContentInfo(FALSE, tvb, offset, &asn1_ctx , tree, -1);
+ }
+ return tvb_captured_length(tvb);
+}
+
+static struct cms_private_data*
+cms_get_private_data(packet_info *pinfo)
+{
+ struct cms_private_data *cms_data = (struct cms_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_cms, 0);
+ if (!cms_data) {
+ cms_data = wmem_new0(pinfo->pool, struct cms_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_cms, 0, cms_data);
+ }
+ return cms_data;
+}
+
+static void
+cms_verify_msg_digest(proto_item *pi, tvbuff_t *content, const char *alg, tvbuff_t *tvb, int offset)
+{
+ int i= 0, buffer_size = 0;
+
+ /* we only support two algorithms at the moment - if we do add SHA2
+ we should add a registration process to use a registration process */
+
+ if(strcmp(alg, HASH_SHA1) == 0) {
+ gcry_md_hash_buffer(GCRY_MD_SHA1, digest_buf, tvb_get_ptr(content, 0, tvb_captured_length(content)), tvb_captured_length(content));
+ buffer_size = HASH_SHA1_LENGTH;
+
+ } else if(strcmp(alg, HASH_MD5) == 0) {
+ gcry_md_hash_buffer(GCRY_MD_MD5, digest_buf, tvb_get_ptr(content, 0, tvb_captured_length(content)), tvb_captured_length(content));
+ buffer_size = HASH_MD5_LENGTH;
+ }
+
+ if(buffer_size) {
+ /* compare our computed hash with what we have received */
+
+ if(tvb_bytes_exist(tvb, offset, buffer_size) &&
+ (tvb_memeql(tvb, offset, digest_buf, buffer_size) != 0)) {
+ proto_item_append_text(pi, " [incorrect, should be ");
+ for(i = 0; i < buffer_size; i++)
+ proto_item_append_text(pi, "%02X", digest_buf[i]);
+
+ proto_item_append_text(pi, "]");
+ }
+ else
+ proto_item_append_text(pi, " [correct]");
+ } else {
+ proto_item_append_text(pi, " [unable to verify]");
+ }
+
+}
+
+#include "packet-cms-fn.c"
+
+/*--- proto_register_cms ----------------------------------------------*/
+void proto_register_cms(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_cms_ci_contentType,
+ { "contentType", "cms.contentInfo.contentType",
+ FT_OID, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-cms-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_cms,
+#include "packet-cms-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_cms = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ cms_handle = register_dissector(PFNAME, dissect_cms, proto_cms);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_cms, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ register_ber_syntax_dissector("ContentInfo", proto_cms, dissect_ContentInfo_PDU);
+ register_ber_syntax_dissector("SignedData", proto_cms, dissect_SignedData_PDU);
+ register_ber_oid_syntax(".p7s", NULL, "ContentInfo");
+ register_ber_oid_syntax(".p7m", NULL, "ContentInfo");
+ register_ber_oid_syntax(".p7c", NULL, "ContentInfo");
+
+
+}
+
+
+/*--- proto_reg_handoff_cms -------------------------------------------*/
+void proto_reg_handoff_cms(void) {
+ dissector_handle_t content_info_handle;
+#include "packet-cms-dis-tab.c"
+
+ /* RFC 3370 [CMS-ASN} section 4.3.1 */
+ register_ber_oid_dissector("1.2.840.113549.1.9.16.3.6", dissect_ber_oid_NULL_callback, proto_cms, "id-alg-CMS3DESwrap");
+
+ oid_add_from_string("id-data","1.2.840.113549.1.7.1");
+ oid_add_from_string("id-alg-des-ede3-cbc","1.2.840.113549.3.7");
+ oid_add_from_string("id-alg-des-cbc","1.3.14.3.2.7");
+
+ oid_add_from_string("id-ct-authEnvelopedData","1.2.840.113549.1.9.16.1.23");
+ oid_add_from_string("id-aes-CBC-CMAC-128","0.4.0.127.0.7.1.3.1.1.2");
+ oid_add_from_string("id-aes-CBC-CMAC-192","0.4.0.127.0.7.1.3.1.1.3");
+ oid_add_from_string("id-aes-CBC-CMAC-256","0.4.0.127.0.7.1.3.1.1.4");
+ oid_add_from_string("ecdsaWithSHA256","1.2.840.10045.4.3.2");
+ oid_add_from_string("ecdsaWithSHA384","1.2.840.10045.4.3.3");
+ oid_add_from_string("ecdsaWithSHA512","1.2.840.10045.4.3.4");
+
+ content_info_handle = create_dissector_handle (dissect_ContentInfo_PDU, proto_cms);
+
+ dissector_add_string("media_type", "application/pkcs7-mime", content_info_handle);
+ dissector_add_string("media_type", "application/pkcs7-signature", content_info_handle);
+
+ dissector_add_string("media_type", "application/vnd.de-dke-k461-ic1+xml", content_info_handle);
+ dissector_add_string("media_type", "application/vnd.de-dke-k461-ic1+xml; encap=cms-tr03109", content_info_handle);
+ dissector_add_string("media_type", "application/vnd.de-dke-k461-ic1+xml; encap=cms-tr03109-zlib", content_info_handle);
+ dissector_add_string("media_type", "application/hgp;encap=cms", content_info_handle);
+}
diff --git a/epan/dissectors/asn1/cms/packet-cms-template.h b/epan/dissectors/asn1/cms/packet-cms-template.h
new file mode 100644
index 00000000..eb1f45fb
--- /dev/null
+++ b/epan/dissectors/asn1/cms/packet-cms-template.h
@@ -0,0 +1,20 @@
+/* packet-cms.h
+ * Routines for RFC5652 Cryptographic Message Syntax packet dissection
+ * Ronnie Sahlberg 2004
+ * Stig Bjorlykke 2010
+ * Uwe Heuert 2022
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_CMS_H
+#define PACKET_CMS_H
+
+#include "packet-cms-exp.h"
+
+#endif /* PACKET_CMS_H */
+
diff --git a/epan/dissectors/asn1/credssp/CMakeLists.txt b/epan/dissectors/asn1/credssp/CMakeLists.txt
new file mode 100644
index 00000000..59c80321
--- /dev/null
+++ b/epan/dissectors/asn1/credssp/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME credssp )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ CredSSP.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -C )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/credssp/CredSSP.asn b/epan/dissectors/asn1/credssp/CredSSP.asn
new file mode 100644
index 00000000..07298526
--- /dev/null
+++ b/epan/dissectors/asn1/credssp/CredSSP.asn
@@ -0,0 +1,56 @@
+-- Derived from http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-CSSP%5D.pdf
+
+CredSSP DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+NegoData ::= SEQUENCE OF SEQUENCE {
+ negoToken [0] OCTET STRING
+}
+
+TSPasswordCreds ::= SEQUENCE {
+ domainName [0] OCTET STRING,
+ userName [1] OCTET STRING,
+ password [2] OCTET STRING
+}
+
+TSCspDataDetail ::= SEQUENCE {
+ keySpec [0] INTEGER,
+ cardName [1] OCTET STRING OPTIONAL,
+ readerName [2] OCTET STRING OPTIONAL,
+ containerName [3] OCTET STRING OPTIONAL,
+ cspName [4] OCTET STRING OPTIONAL
+}
+
+TSSmartCardCreds ::= SEQUENCE {
+ pin [0] OCTET STRING,
+ cspData [1] TSCspDataDetail,
+ userHint [2] OCTET STRING OPTIONAL,
+ domainHint [3] OCTET STRING OPTIONAL
+}
+
+TSRemoteGuardPackageCred ::= SEQUENCE {
+ packageName [0] OCTET STRING,
+ credBuffer [1] OCTET STRING
+}
+
+TSRemoteGuardCreds ::= SEQUENCE {
+ logonCred [0] TSRemoteGuardPackageCred,
+ supplementalCreds [1] SEQUENCE OF TSRemoteGuardPackageCred OPTIONAL
+}
+
+TSCredentials ::= SEQUENCE {
+ credType [0] INTEGER,
+ credentials [1] OCTET STRING
+}
+
+TSRequest ::= SEQUENCE {
+ version [0] INTEGER,
+ negoTokens [1] NegoData OPTIONAL,
+ authInfo [2] OCTET STRING OPTIONAL,
+ pubKeyAuth [3] OCTET STRING OPTIONAL,
+ errorCode [4] INTEGER OPTIONAL,
+ clientNonce [5] OCTET STRING OPTIONAL
+}
+
+END
diff --git a/epan/dissectors/asn1/credssp/credssp.cnf b/epan/dissectors/asn1/credssp/credssp.cnf
new file mode 100644
index 00000000..a55b1507
--- /dev/null
+++ b/epan/dissectors/asn1/credssp/credssp.cnf
@@ -0,0 +1,130 @@
+# credssp.cnf
+# Credential Security Support Provider (CredSSP) conformance file
+
+#.PDU
+TSRequest
+
+#.FN_PARS TSRequest/version VAL_PTR = &credssp_ver
+
+#.FN_BODY TSRequest/authInfo VAL_PTR = &auth_tvb
+ tvbuff_t *auth_tvb = NULL;
+ tvbuff_t *decr_tvb = NULL;
+ gssapi_encrypt_info_t gssapi_encrypt;
+
+ %(DEFAULT_BODY)s
+
+ memset(&gssapi_encrypt, 0, sizeof(gssapi_encrypt));
+ gssapi_encrypt.decrypt_gssapi_tvb=DECRYPT_GSSAPI_NORMAL;
+ call_dissector_with_data(gssapi_wrap_handle, auth_tvb, actx->pinfo, tree, &gssapi_encrypt);
+ decr_tvb = gssapi_encrypt.gssapi_decrypted_tvb;
+
+ if(decr_tvb != NULL)
+ dissect_credssp_TSCredentials(FALSE, decr_tvb, 0, actx, tree, hf_credssp_TSCredentials);
+
+#.FN_BODY TSRequest/pubKeyAuth VAL_PTR = &auth_tvb
+ tvbuff_t *auth_tvb = NULL;
+ tvbuff_t *decr_tvb = NULL;
+ gssapi_encrypt_info_t gssapi_encrypt;
+
+ %(DEFAULT_BODY)s
+
+ memset(&gssapi_encrypt, 0, sizeof(gssapi_encrypt));
+ gssapi_encrypt.decrypt_gssapi_tvb=DECRYPT_GSSAPI_NORMAL;
+ call_dissector_with_data(gssapi_wrap_handle, auth_tvb, actx->pinfo, tree, &gssapi_encrypt);
+ decr_tvb = gssapi_encrypt.gssapi_decrypted_tvb;
+
+ if(decr_tvb != NULL)
+ proto_tree_add_item(tree, hf_credssp_decr_PublicKeyAuth, decr_tvb, 0, -1, ENC_NA);
+
+#.FN_BODY TSRequest/errorCode
+
+ if (credssp_ver < 3) {
+ return 0;
+ }
+
+ %(DEFAULT_BODY)s
+
+
+#.FN_BODY TSRequest/clientNonce
+
+ if (credssp_ver < 5) {
+ return 0;
+ }
+
+ %(DEFAULT_BODY)s
+
+
+#.FN_PARS TSCredentials/credType VAL_PTR = &creds_type
+#.FN_PARS TSCredentials/credentials VAL_PTR = &creds_tvb
+
+#.FN_BODY TSCredentials/credentials
+ tvbuff_t *creds_tvb = NULL;
+
+ %(DEFAULT_BODY)s
+
+ switch(creds_type) {
+ case TS_PASSWORD_CREDS:
+ dissect_credssp_TSPasswordCreds(FALSE, creds_tvb, 0, actx, tree, hf_credssp_TSPasswordCreds);
+ break;
+ case TS_SMARTCARD_CREDS:
+ dissect_credssp_TSSmartCardCreds(FALSE, creds_tvb, 0, actx, tree, hf_credssp_TSSmartCardCreds);
+ break;
+ case TS_REMOTEGUARD_CREDS:
+ dissect_credssp_TSRemoteGuardCreds(FALSE, creds_tvb, 0, actx, tree, hf_credssp_TSRemoteGuardCreds);
+ break;
+ }
+
+
+#.FN_PARS NegoData/_item/negoToken VAL_PTR = &token_tvb
+
+#.FN_BODY NegoData/_item/negoToken
+ tvbuff_t *token_tvb = NULL;
+
+ %(DEFAULT_BODY)s
+
+ if(token_tvb != NULL)
+ call_dissector(gssapi_handle, token_tvb, actx->pinfo, tree);
+
+
+#.TYPE_ATTR
+TSRemoteGuardPackageCred/packageName TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+
+#.FN_BODY TSRemoteGuardPackageCred/packageName VAL_PTR = &pname
+ tvbuff_t *pname = NULL;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, NULL, tvb, offset, hf_index, &pname);
+
+ if(pname != NULL) {
+ gint nlen = tvb_captured_length(pname);
+
+ if (nlen == sizeof(kerberos_pname) && memcmp(tvb_get_ptr(pname, 0, nlen), kerberos_pname, nlen) == 0) {
+ credssp_TS_RGC_package = TS_RGC_KERBEROS;
+ } else if (nlen == sizeof(ntlm_pname) && memcmp(tvb_get_ptr(pname, 0, nlen), ntlm_pname, nlen) == 0) {
+ credssp_TS_RGC_package = TS_RGC_NTLM;
+ }
+ proto_tree_add_item(tree, hf_index, pname, 0, -1, ENC_UTF_16|ENC_LITTLE_ENDIAN);
+ }
+
+#.FN_BODY TSRemoteGuardPackageCred/credBuffer VAL_PTR = &creds
+ tvbuff_t *creds= NULL;
+ proto_tree *subtree;
+
+ %(DEFAULT_BODY)s
+
+ if (!creds)
+ return offset;
+
+ switch(credssp_TS_RGC_package) {
+ case TS_RGC_KERBEROS:
+ subtree = proto_item_add_subtree(actx->created_item, ett_credssp_RGC_CredBuffer);
+ dissect_kerberos_KERB_TICKET_LOGON(creds, 0, actx, subtree);
+ break;
+ case TS_RGC_NTLM:
+ subtree = proto_item_add_subtree(actx->created_item, ett_credssp_RGC_CredBuffer);
+ dissect_ntlmssp_NTLM_REMOTE_SUPPLEMENTAL_CREDENTIAL(creds, 0, subtree);
+ break;
+ }
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/credssp/packet-credssp-template.c b/epan/dissectors/asn1/credssp/packet-credssp-template.c
new file mode 100644
index 00000000..5eef5741
--- /dev/null
+++ b/epan/dissectors/asn1/credssp/packet-credssp-template.c
@@ -0,0 +1,200 @@
+/* packet-credssp.c
+ * Routines for CredSSP (Credential Security Support Provider) packet dissection
+ * Graeme Lunt 2011
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/tap.h>
+#include <epan/exported_pdu.h>
+
+#include "packet-ber.h"
+#include "packet-gssapi.h"
+#include "packet-kerberos.h"
+#include "packet-ntlmssp.h"
+#include "packet-credssp.h"
+
+#define PNAME "Credential Security Support Provider"
+#define PSNAME "CredSSP"
+#define PFNAME "credssp"
+
+#define TS_PASSWORD_CREDS 1
+#define TS_SMARTCARD_CREDS 2
+#define TS_REMOTEGUARD_CREDS 6
+
+static gint creds_type;
+static gint credssp_ver;
+
+static char kerberos_pname[] = "K\0e\0r\0b\0e\0r\0o\0s";
+static char ntlm_pname[] = "N\0T\0L\0M";
+
+#define TS_RGC_UNKNOWN 0
+#define TS_RGC_KERBEROS 1
+#define TS_RGC_NTLM 2
+
+static gint credssp_TS_RGC_package;
+
+static gint exported_pdu_tap = -1;
+
+/* Initialize the protocol and registered fields */
+static int proto_credssp = -1;
+
+/* List of dissectors to call for negoToken data */
+static heur_dissector_list_t credssp_heur_subdissector_list;
+
+static dissector_handle_t gssapi_handle;
+static dissector_handle_t gssapi_wrap_handle;
+
+static int hf_credssp_TSPasswordCreds = -1; /* TSPasswordCreds */
+static int hf_credssp_TSSmartCardCreds = -1; /* TSSmartCardCreds */
+static int hf_credssp_TSRemoteGuardCreds = -1;/* TSRemoteGuardCreds */
+static int hf_credssp_TSCredentials = -1; /* TSCredentials */
+static int hf_credssp_decr_PublicKeyAuth = -1;/* decr_PublicKeyAuth */
+#include "packet-credssp-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_credssp = -1;
+static gint ett_credssp_RGC_CredBuffer = -1;
+
+#include "packet-credssp-ett.c"
+
+#include "packet-credssp-fn.c"
+
+/*
+* Dissect CredSSP PDUs
+*/
+static int
+dissect_credssp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_credssp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_credssp);
+ }
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "CredSSP");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ creds_type = -1;
+ credssp_ver = -1;
+
+ return dissect_TSRequest_PDU(tvb, pinfo, tree, data);
+}
+
+static gboolean
+dissect_credssp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ asn1_ctx_t asn1_ctx;
+ int offset = 0;
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ guint32 length;
+ gint8 ver;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* Look for SEQUENCE, CONTEXT 0, and INTEGER 2 */
+ if(tvb_captured_length(tvb) > 7) {
+ offset = get_ber_identifier(tvb, offset, &ber_class, &pc, &tag);
+ if((ber_class == BER_CLASS_UNI) && (tag == BER_UNI_TAG_SEQUENCE) && (pc == TRUE)) {
+ offset = get_ber_length(tvb, offset, NULL, NULL);
+ offset = get_ber_identifier(tvb, offset, &ber_class, &pc, &tag);
+ if((ber_class == BER_CLASS_CON) && (tag == 0)) {
+ offset = get_ber_length(tvb, offset, NULL, NULL);
+ offset = get_ber_identifier(tvb, offset, &ber_class, &pc, &tag);
+ if((ber_class == BER_CLASS_UNI) && (tag == BER_UNI_TAG_INTEGER)) {
+ offset = get_ber_length(tvb, offset, &length, NULL);
+ ver = tvb_get_guint8(tvb, offset);
+ if((length == 1) && (ver > 1) && (ver < 99)) {
+ if (have_tap_listener(exported_pdu_tap)) {
+ exp_pdu_data_t *exp_pdu_data = export_pdu_create_common_tags(pinfo, "credssp", EXP_PDU_TAG_DISSECTOR_NAME);
+
+ exp_pdu_data->tvb_captured_length = tvb_captured_length(tvb);
+ exp_pdu_data->tvb_reported_length = tvb_reported_length(tvb);
+ exp_pdu_data->pdu_tvb = tvb;
+
+ tap_queue_packet(exported_pdu_tap, pinfo, exp_pdu_data);
+ }
+ dissect_credssp(tvb, pinfo, parent_tree, NULL);
+ return TRUE;
+ }
+ }
+ }
+ }
+ }
+ return FALSE;
+}
+
+
+/*--- proto_register_credssp -------------------------------------------*/
+void proto_register_credssp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+ { &hf_credssp_TSPasswordCreds,
+ { "TSPasswordCreds", "credssp.TSPasswordCreds",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_credssp_TSSmartCardCreds,
+ { "TSSmartCardCreds", "credssp.TSSmartCardCreds",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_credssp_TSRemoteGuardCreds,
+ { "TSRemoteGuardCreds", "credssp.TSRemoteGuardCreds",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_credssp_TSCredentials,
+ { "TSCredentials", "credssp.TSCredentials",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_credssp_decr_PublicKeyAuth,
+ { "Decrypted PublicKeyAuth (sha256)", "credssp.decr_PublicKeyAuth",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-credssp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_credssp,
+ &ett_credssp_RGC_CredBuffer,
+#include "packet-credssp-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_credssp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("credssp", dissect_credssp, proto_credssp);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_credssp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* heuristic dissectors for any premable e.g. CredSSP before RDP */
+ credssp_heur_subdissector_list = register_heur_dissector_list("credssp", proto_credssp);
+
+}
+
+
+/*--- proto_reg_handoff_credssp --- */
+void proto_reg_handoff_credssp(void) {
+
+ gssapi_handle = find_dissector_add_dependency("gssapi", proto_credssp);
+ gssapi_wrap_handle = find_dissector_add_dependency("gssapi_verf", proto_credssp);
+
+ heur_dissector_add("tls", dissect_credssp_heur, "CredSSP over TLS", "credssp_tls", proto_credssp, HEURISTIC_ENABLE);
+ heur_dissector_add("rdp", dissect_credssp_heur, "CredSSP in TPKT", "credssp_tpkt", proto_credssp, HEURISTIC_ENABLE);
+ exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
+}
+
diff --git a/epan/dissectors/asn1/credssp/packet-credssp-template.h b/epan/dissectors/asn1/credssp/packet-credssp-template.h
new file mode 100644
index 00000000..fda51f3b
--- /dev/null
+++ b/epan/dissectors/asn1/credssp/packet-credssp-template.h
@@ -0,0 +1,20 @@
+/* packet-credssp.h
+ * Routines for CredSSP (Credential Security Support Provider) packet dissection
+ * Graeme Lunt 2011
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_CREDSSP_H
+#define PACKET_CREDSSP_H
+
+#include "packet-credssp-val.h"
+
+void proto_reg_handoff_credssp(void);
+void proto_register_credssp(void);
+
+#endif /* PACKET_CREDSSP_H */
diff --git a/epan/dissectors/asn1/crmf/CMakeLists.txt b/epan/dissectors/asn1/crmf/CMakeLists.txt
new file mode 100644
index 00000000..434fba7c
--- /dev/null
+++ b/epan/dissectors/asn1/crmf/CMakeLists.txt
@@ -0,0 +1,43 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME crmf )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ CRMF.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../cms/cms-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/crmf/CRMF.asn b/epan/dissectors/asn1/crmf/CRMF.asn
new file mode 100644
index 00000000..e7e4bbe7
--- /dev/null
+++ b/epan/dissectors/asn1/crmf/CRMF.asn
@@ -0,0 +1,311 @@
+-- Extracted from RFC4211
+-- by Martin Peylo <martin.peylo@nsn.com>
+--
+-- Changes to make it work with asn2wrs:
+-- - none
+--
+-- The copyright statement from the original description in RFC4211
+-- follows below:
+--
+-- Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (2005).
+--
+-- This document is subject to the rights, licenses and restrictions
+-- contained in BCP 78, and except as set forth therein, the authors
+-- retain all their rights.
+--
+-- This document and the information contained herein are provided on an
+-- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+-- OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+-- ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+-- INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+-- INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+-- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+PKIXCRMF-2005 {iso(1) identified-organization(3) dod(6) internet(1)
+security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-crmf2005(36)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+ -- Directory Authentication Framework (X.509)
+ Version, AlgorithmIdentifier, Name, Time,
+ SubjectPublicKeyInfo, Extensions, UniqueIdentifier, Attribute
+ FROM PKIX1Explicit88 {iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-pkix1-explicit(18)} -- found in [PROFILE]
+
+ -- Certificate Extensions (X.509)
+ GeneralName
+ FROM PKIX1Implicit88 {iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-pkix1-implicit(19)} -- found in [PROFILE]
+
+ -- Cryptographic Message Syntax
+ EnvelopedData
+ FROM CryptographicMessageSyntax2004 { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
+ modules(0) cms-2004(24) }; -- found in [CMS]
+
+-- The following definition may be uncommented for use with
+-- ASN.1 compilers that do not understand UTF8String.
+
+-- UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
+ -- The contents of this type correspond to RFC 2279.
+
+id-pkix OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
+dod(6) internet(1) security(5) mechanisms(5) 7 }
+
+-- arc for Internet X.509 PKI protocols and their components
+
+id-pkip OBJECT IDENTIFIER ::= { id-pkix 5 }
+
+id-smime OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs9(9) 16 }
+
+id-ct OBJECT IDENTIFIER ::= { id-smime 1 } -- content types
+
+-- Core definitions for this module
+
+CertReqMessages ::= SEQUENCE SIZE (1..MAX) OF CertReqMsg
+
+CertReqMsg ::= SEQUENCE {
+ certReq CertRequest,
+ popo ProofOfPossession OPTIONAL,
+ -- content depends upon key type
+ regInfo SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue OPTIONAL }
+
+CertRequest ::= SEQUENCE {
+ certReqId INTEGER, -- ID for matching request and reply
+ certTemplate CertTemplate, -- Selected fields of cert to be issued
+ controls Controls OPTIONAL } -- Attributes affecting issuance
+
+CertTemplate ::= SEQUENCE {
+ version [0] Version OPTIONAL,
+ serialNumber [1] INTEGER(MIN..MAX) OPTIONAL, -- Wireshark extension to get 64 bit handling
+ signingAlg [2] AlgorithmIdentifier OPTIONAL,
+ issuer [3] Name OPTIONAL,
+ validity [4] OptionalValidity OPTIONAL,
+ subject [5] Name OPTIONAL,
+ publicKey [6] SubjectPublicKeyInfo OPTIONAL,
+ issuerUID [7] UniqueIdentifier OPTIONAL,
+ subjectUID [8] UniqueIdentifier OPTIONAL,
+ extensions [9] Extensions OPTIONAL }
+
+OptionalValidity ::= SEQUENCE {
+ notBefore [0] Time OPTIONAL,
+ notAfter [1] Time OPTIONAL } -- at least one MUST be present
+
+Controls ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue
+
+AttributeTypeAndValue ::= SEQUENCE {
+ type OBJECT IDENTIFIER,
+ value ANY DEFINED BY type }
+
+ProofOfPossession ::= CHOICE {
+ raVerified [0] NULL,
+ -- used if the RA has already verified that the requester is in
+ -- possession of the private key
+ signature [1] POPOSigningKey,
+ keyEncipherment [2] POPOPrivKey,
+ keyAgreement [3] POPOPrivKey }
+
+POPOSigningKey ::= SEQUENCE {
+ poposkInput [0] POPOSigningKeyInput OPTIONAL,
+ algorithmIdentifier AlgorithmIdentifier,
+ signature BIT STRING }
+
+ -- The signature (using "algorithmIdentifier") is on the
+ -- DER-encoded value of poposkInput. NOTE: If the CertReqMsg
+ -- certReq CertTemplate contains the subject and publicKey values,
+ -- then poposkInput MUST be omitted and the signature MUST be
+ -- computed over the DER-encoded value of CertReqMsg certReq. If
+ -- the CertReqMsg certReq CertTemplate does not contain both the
+ -- public key and subject values (i.e., if it contains only one
+ -- of these, or neither), then poposkInput MUST be present and
+ -- MUST be signed.
+
+POPOSigningKeyInput ::= SEQUENCE {
+ authInfo CHOICE {
+ sender [0] GeneralName,
+ -- used only if an authenticated identity has been
+ -- established for the sender (e.g., a DN from a
+ -- previously-issued and currently-valid certificate)
+ publicKeyMAC PKMACValue },
+ -- used if no authenticated GeneralName currently exists for
+ -- the sender; publicKeyMAC contains a password-based MAC
+ -- on the DER-encoded value of publicKey
+ publicKey SubjectPublicKeyInfo } -- from CertTemplate
+
+PKMACValue ::= SEQUENCE {
+algId AlgorithmIdentifier,
+-- algorithm value shall be PasswordBasedMac {1 2 840 113533 7 66 13}
+-- parameter value is PBMParameter
+value BIT STRING }
+
+PBMParameter ::= SEQUENCE {
+ salt OCTET STRING,
+ owf AlgorithmIdentifier,
+ -- AlgId for a One-Way Function (SHA-1 recommended)
+ iterationCount INTEGER,
+ -- number of times the OWF is applied
+ mac AlgorithmIdentifier
+ -- the MAC AlgId (e.g., DES-MAC, Triple-DES-MAC [PKCS11],
+} -- or HMAC [HMAC, RFC2202])
+
+POPOPrivKey ::= CHOICE {
+ thisMessage [0] BIT STRING, -- Deprecated
+ -- possession is proven in this message (which contains the private
+ -- key itself (encrypted for the CA))
+ subsequentMessage [1] SubsequentMessage,
+ -- possession will be proven in a subsequent message
+ dhMAC [2] BIT STRING, -- Deprecated
+ agreeMAC [3] PKMACValue,
+ encryptedKey [4] EnvelopedData }
+
+ -- for keyAgreement (only), possession is proven in this message
+ -- (which contains a MAC (over the DER-encoded value of the
+ -- certReq parameter in CertReqMsg, which MUST include both subject
+ -- and publicKey) based on a key derived from the end entity's
+ -- private DH key and the CA's public DH key);
+
+SubsequentMessage ::= INTEGER {
+ encrCert (0),
+ -- requests that resulting certificate be encrypted for the
+ -- end entity (following which, POP will be proven in a
+ -- confirmation message)
+ challengeResp (1) }
+ -- requests that CA engage in challenge-response exchange with
+ -- end entity in order to prove private key possession
+
+-- Object identifier assignments --
+
+-- Registration Controls in CRMF
+id-regCtrl OBJECT IDENTIFIER ::= { id-pkip 1 }
+
+
+id-regCtrl-regToken OBJECT IDENTIFIER ::= { id-regCtrl 1 }
+--with syntax:
+RegToken ::= UTF8String
+
+id-regCtrl-authenticator OBJECT IDENTIFIER ::= { id-regCtrl 2 }
+--with syntax:
+Authenticator ::= UTF8String
+
+id-regCtrl-pkiPublicationInfo OBJECT IDENTIFIER ::= { id-regCtrl 3 }
+--with syntax:
+
+PKIPublicationInfo ::= SEQUENCE {
+action INTEGER {
+ dontPublish (0),
+ pleasePublish (1) },
+pubInfos SEQUENCE SIZE (1..MAX) OF SinglePubInfo OPTIONAL }
+ -- pubInfos MUST NOT be present if action is "dontPublish"
+ -- (if action is "pleasePublish" and pubInfos is omitted,
+ -- "dontCare" is assumed)
+
+SinglePubInfo ::= SEQUENCE {
+ pubMethod INTEGER {
+ dontCare (0),
+ x500 (1),
+ web (2),
+ ldap (3) },
+ pubLocation GeneralName OPTIONAL }
+
+id-regCtrl-pkiArchiveOptions OBJECT IDENTIFIER ::= { id-regCtrl 4 }
+--with syntax:
+PKIArchiveOptions ::= CHOICE {
+ encryptedPrivKey [0] EncryptedKey,
+ -- the actual value of the private key
+ keyGenParameters [1] KeyGenParameters,
+ -- parameters that allow the private key to be re-generated
+ archiveRemGenPrivKey [2] BOOLEAN }
+ -- set to TRUE if sender wishes receiver to archive the private
+ -- key of a key pair that the receiver generates in response to
+ -- this request; set to FALSE if no archival is desired.
+
+EncryptedKey ::= CHOICE {
+ encryptedValue EncryptedValue, -- Deprecated
+ envelopedData [0] EnvelopedData }
+ -- The encrypted private key MUST be placed in the envelopedData
+ -- encryptedContentInfo encryptedContent OCTET STRING.
+
+EncryptedValue ::= SEQUENCE {
+ intendedAlg [0] AlgorithmIdentifier OPTIONAL,
+ -- the intended algorithm for which the value will be used
+ symmAlg [1] AlgorithmIdentifier OPTIONAL,
+ -- the symmetric algorithm used to encrypt the value
+ encSymmKey [2] BIT STRING OPTIONAL,
+ -- the (encrypted) symmetric key used to encrypt the value
+ keyAlg [3] AlgorithmIdentifier OPTIONAL,
+ -- algorithm used to encrypt the symmetric key
+ valueHint [4] OCTET STRING OPTIONAL,
+ -- a brief description or identifier of the encValue content
+ -- (may be meaningful only to the sending entity, and used only
+ -- if EncryptedValue might be re-examined by the sending entity
+ -- in the future)
+ encValue BIT STRING }
+ -- the encrypted value itself
+-- When EncryptedValue is used to carry a private key (as opposed to
+-- a certificate), implementations MUST support the encValue field
+-- containing an encrypted PrivateKeyInfo as defined in [PKCS11],
+-- section 12.11. If encValue contains some other format/encoding
+-- for the private key, the first octet of valueHint MAY be used
+-- to indicate the format/encoding (but note that the possible values
+-- of this octet are not specified at this time). In all cases, the
+-- intendedAlg field MUST be used to indicate at least the OID of
+-- the intended algorithm of the private key, unless this information
+-- is known a priori to both sender and receiver by some other means.
+
+KeyGenParameters ::= OCTET STRING
+
+id-regCtrl-oldCertID OBJECT IDENTIFIER ::= { id-regCtrl 5 }
+--with syntax:
+OldCertId ::= CertId
+
+CertId ::= SEQUENCE {
+ issuer GeneralName,
+ serialNumber INTEGER(MIN..MAX) } -- Wireshark extension to get 64 bit handling
+
+id-regCtrl-protocolEncrKey OBJECT IDENTIFIER ::= { id-regCtrl 6 }
+--with syntax:
+ProtocolEncrKey ::= SubjectPublicKeyInfo
+
+-- Registration Info in CRMF
+id-regInfo OBJECT IDENTIFIER ::= { id-pkip 2 }
+
+id-regInfo-utf8Pairs OBJECT IDENTIFIER ::= { id-regInfo 1 }
+--with syntax
+UTF8Pairs ::= UTF8String
+
+id-regInfo-certReq OBJECT IDENTIFIER ::= { id-regInfo 2 }
+--with syntax
+CertReq ::= CertRequest
+
+-- id-ct-encKeyWithID is a new content type used for CMS objects.
+-- it contains both a private key and an identifier for key escrow
+-- agents to check against recovery requestors.
+
+id-ct-encKeyWithID OBJECT IDENTIFIER ::= {id-ct 21}
+
+EncKeyWithID ::= SEQUENCE {
+ privateKey PrivateKeyInfo,
+ identifier CHOICE {
+ string UTF8String,
+ generalName GeneralName
+ } OPTIONAL
+}
+
+PrivateKeyInfo ::= SEQUENCE {
+ version INTEGER,
+ privateKeyAlgorithm AlgorithmIdentifier,
+ privateKey OCTET STRING,
+ attributes [0] IMPLICIT Attributes OPTIONAL
+}
+
+Attributes ::= SET OF Attribute
+
+END
diff --git a/epan/dissectors/asn1/crmf/crmf.cnf b/epan/dissectors/asn1/crmf/crmf.cnf
new file mode 100644
index 00000000..e10b1438
--- /dev/null
+++ b/epan/dissectors/asn1/crmf/crmf.cnf
@@ -0,0 +1,49 @@
+# CRMF.cnf
+# CRMF conformation file
+
+#.MODULE_IMPORT
+PKIX1Explicit88 pkix1explicit
+PKIX1Implicit88 pkix1implicit
+CryptographicMessageSyntax2004 cms
+
+#.INCLUDE ../pkix1explicit/pkix1explicit_exp.cnf
+#.INCLUDE ../pkix1implicit/pkix1implicit_exp.cnf
+
+#.EXPORTS
+AttributeTypeAndValue
+CertId
+CertReqMessages
+CertTemplate
+EncryptedValue
+PKIPublicationInfo
+
+#.REGISTER
+EncKeyWithID B "1.2.840.113549.1.9.16.1.21" "id-ct-encKeyWithID"
+PBMParameter B "1.2.840.113533.7.66.13" "PasswordBasedMac"
+RegToken B "1.3.6.1.5.5.7.5.1.1" "id-regCtrl-regToken"
+Authenticator B "1.3.6.1.5.5.7.5.1.2" "id-regCtrl-authenticator"
+PKIPublicationInfo B "1.3.6.1.5.5.7.5.1.3" "id-regCtrl-pkiPublicationInfo"
+PKIArchiveOptions B "1.3.6.1.5.5.7.5.1.4" "id-regCtrl-pkiArchiveOptions"
+OldCertId B "1.3.6.1.5.5.7.5.1.5" "id-regCtrl-oldCertID"
+ProtocolEncrKey B "1.3.6.1.5.5.7.5.1.6" "id-regCtrl-protocolEncrKey"
+UTF8Pairs B "1.3.6.1.5.5.7.5.2.1" "id-regInfo-utf8Pairs"
+CertReq B "1.3.6.1.5.5.7.5.2.2" "id-regInfo-certReq"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+CertTemplate/issuer template_issuer
+POPOSigningKey/signature sk_signature
+PKMACValue/value pkmac_value
+PrivateKeyInfo/version privkey_version
+EncKeyWithID/privateKey enckeywid_privkey
+
+#.FN_PARS AttributeTypeAndValue/type
+ FN_VARIANT = _str HF_INDEX = hf_crmf_type_oid VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY AttributeTypeAndValue/value
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.END
diff --git a/epan/dissectors/asn1/crmf/packet-crmf-template.c b/epan/dissectors/asn1/crmf/packet-crmf-template.c
new file mode 100644
index 00000000..682f8bd1
--- /dev/null
+++ b/epan/dissectors/asn1/crmf/packet-crmf-template.c
@@ -0,0 +1,75 @@
+/* packet-crmf.c
+ * Routines for RFC2511 Certificate Request Message Format packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-crmf.h"
+#include "packet-cms.h"
+#include "packet-pkix1explicit.h"
+#include "packet-pkix1implicit.h"
+
+#define PNAME "Certificate Request Message Format"
+#define PSNAME "CRMF"
+#define PFNAME "crmf"
+
+void proto_register_crmf(void);
+void proto_reg_handoff_crmf(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_crmf = -1;
+static int hf_crmf_type_oid = -1;
+#include "packet-crmf-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-crmf-ett.c"
+#include "packet-crmf-fn.c"
+
+
+/*--- proto_register_crmf ----------------------------------------------*/
+void proto_register_crmf(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_crmf_type_oid,
+ { "Type", "crmf.type.oid",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "Type of AttributeTypeAndValue", HFILL }},
+#include "packet-crmf-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-crmf-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_crmf = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_crmf, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_crmf -------------------------------------------*/
+void proto_reg_handoff_crmf(void) {
+ oid_add_from_string("id-pkip","1.3.6.1.5.5.7.5");
+ oid_add_from_string("id-regCtrl","1.3.6.1.5.5.7.5.1");
+ oid_add_from_string("id-regInfo","1.3.6.1.5.5.7.5.2");
+#include "packet-crmf-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/crmf/packet-crmf-template.h b/epan/dissectors/asn1/crmf/packet-crmf-template.h
new file mode 100644
index 00000000..1028f19a
--- /dev/null
+++ b/epan/dissectors/asn1/crmf/packet-crmf-template.h
@@ -0,0 +1,18 @@
+/* packet-crmf.h
+ * Routines for RFC2511 Certificate Request Message Format packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_CRMF_H
+#define PACKET_CRMF_H
+
+#include "packet-crmf-exp.h"
+
+#endif /* PACKET_CRMF_H */
+
diff --git a/epan/dissectors/asn1/dap/CMakeLists.txt b/epan/dissectors/asn1/dap/CMakeLists.txt
new file mode 100644
index 00000000..856a6221
--- /dev/null
+++ b/epan/dissectors/asn1/dap/CMakeLists.txt
@@ -0,0 +1,52 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME dap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+ DirectoryAccessProtocol.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../acse/acse-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../dop/dop-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../disp/disp-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../dsp/dsp-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../crmf/crmf-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../ros/ros-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/dap/DirectoryAccessProtocol.asn b/epan/dissectors/asn1/dap/DirectoryAccessProtocol.asn
new file mode 100644
index 00000000..2d558904
--- /dev/null
+++ b/epan/dissectors/asn1/dap/DirectoryAccessProtocol.asn
@@ -0,0 +1,170 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x519/2001/index.html
+-- Module DirectoryAccessProtocol (X.519:02/2001)
+DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 4} DEFINITIONS
+::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+ directoryAbstractService, protocolObjectIdentifiers
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 4}
+ -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
+ abandon, addEntry, compare, directoryBind, directoryUnbind, list, modifyDN,
+ modifyEntry, read, removeEntry, search
+ FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
+ directoryAbstractService(2) 4}
+ -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
+ id-ac-directoryAccessAC, id-as-directoryAccessAS, id-contract-dap,
+ id-package-dapConnection, id-package-modify, id-package-read,
+ id-package-search, id-rosObject-dapDSA, id-rosObject-directory,
+ id-rosObject-dua
+ FROM ProtocolObjectIdentifiers {joint-iso-itu-t ds(5) module(1)
+ protocolObjectIdentifiers(4) 4}
+ -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
+ Code, CONNECTION-PACKAGE, CONTRACT, OPERATION, OPERATION-PACKAGE,
+ ROS-OBJECT-CLASS
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ Bind{}, InvokeId, ROS{}, Unbind{}
+ FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
+ remote-operations(4) generic-ROS-PDUs(6) version1(0)}
+ -- from ITU-T Rec. X.881 | ISO/IEC 13712-2
+ APPLICATION-CONTEXT
+ FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
+ remote-operations(4) informationObjects-extensions(8) version1(0)}
+ -- from ITU-T Rec. X.882 | ISO/IEC 13712-3
+ acse, pData
+ FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
+ realizations(9) version1(0)}
+ acse-abstract-syntax
+ FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
+ remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)};
+
+-- application contexts
+directoryAccessAC APPLICATION-CONTEXT ::= {
+ CONTRACT dapContract
+ ESTABLISHED BY acse
+ INFORMATION TRANSFER BY pData
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | directoryAccessAbstractSyntax}
+ APPLICATION CONTEXT NAME id-ac-directoryAccessAC
+}
+
+-- ROS objects
+dua ROS-OBJECT-CLASS ::= {INITIATES {dapContract}
+ ID id-rosObject-dua
+}
+
+directory ROS-OBJECT-CLASS ::= {
+ RESPONDS {dapContract}
+ ID id-rosObject-directory
+}
+
+dap-dsa ROS-OBJECT-CLASS ::= {
+ RESPONDS {dapContract}
+ ID id-rosObject-dapDSA
+}
+
+-- contracts
+dapContract CONTRACT ::= {
+ CONNECTION dapConnectionPackage
+ INITIATOR CONSUMER OF {readPackage | searchPackage | modifyPackage}
+ ID id-contract-dap
+}
+
+-- connection package
+dapConnectionPackage CONNECTION-PACKAGE ::= {
+ BIND directoryBind
+ UNBIND directoryUnbind
+ ID id-package-dapConnection
+}
+
+-- read package
+readPackage OPERATION-PACKAGE ::= {
+ CONSUMER INVOKES {read | compare | abandon}
+ ID id-package-read
+}
+
+-- search package
+searchPackage OPERATION-PACKAGE ::= {
+ CONSUMER INVOKES {list | search}
+ ID id-package-search
+}
+
+-- modify Package
+modifyPackage OPERATION-PACKAGE ::= {
+ CONSUMER INVOKES {addEntry | removeEntry | modifyEntry | modifyDN}
+ ID id-package-modify
+}
+
+-- abstract syntaxes
+directoryAccessAbstractSyntax ABSTRACT-SYNTAX ::= {
+ DAP-PDUs
+ IDENTIFIED BY id-as-directoryAccessAS
+}
+
+--DAP-PDUs ::= CHOICE {
+-- basicRos ROS{{DAP-InvokeIDSet}, {DAP-Invokable}, {DAP-Returnable}},
+-- bind Bind{directoryBind},
+-- unbind Unbind{directoryUnbind}
+--}
+
+DAP-InvokeIDSet ::= InvokeId --(ALL EXCEPT absent:NULL)
+
+DAP-Invokable OPERATION ::=
+ {read | compare | abandon | list | search | addEntry | removeEntry |
+ modifyEntry | modifyDN}
+
+DAP-Returnable OPERATION ::=
+ {read | compare | abandon | list | search | addEntry | removeEntry |
+ modifyEntry | modifyDN}
+
+-- remote operation codes
+id-opcode-read Code ::= local:1
+
+id-opcode-compare Code ::= local:2
+
+id-opcode-abandon Code ::= local:3
+
+id-opcode-list Code ::= local:4
+
+id-opcode-search Code ::= local:5
+
+id-opcode-addEntry Code ::= local:6
+
+id-opcode-removeEntry Code ::= local:7
+
+id-opcode-modifyEntry Code ::= local:8
+
+id-opcode-modifyDN Code ::= local:9
+
+-- remote error codes
+id-errcode-attributeError Code ::= local:1
+
+id-errcode-nameError Code ::= local:2
+
+id-errcode-serviceError Code ::= local:3
+
+id-errcode-referral Code ::= local:4
+
+id-errcode-abandoned Code ::= local:5
+
+id-errcode-securityError Code ::= local:6
+
+id-errcode-abandonFailed Code ::= local:7
+
+id-errcode-updateError Code ::= local:8
+
+-- remote error code for DSP
+id-errcode-dsaReferral Code ::= local:9
+
+END -- DirectoryAccessProtocol
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/dap/dap.asn b/epan/dissectors/asn1/dap/dap.asn
new file mode 100644
index 00000000..80083891
--- /dev/null
+++ b/epan/dissectors/asn1/dap/dap.asn
@@ -0,0 +1,1304 @@
+-- Module DirectoryAbstractService (X.511:08/2005)
+DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
+ directoryAbstractService(2) 4} DEFINITIONS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+ attributeCertificateDefinitions, authenticationFramework, basicAccessControl,
+ dap, directoryShadowAbstractService, distributedOperations,
+ enhancedSecurity, id-at, informationFramework, selectedAttributeTypes,
+ serviceAdministration, upperBounds
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 4}
+ Attribute, ATTRIBUTE, AttributeType, AttributeTypeAssertion, AttributeValue,
+ AttributeValueAssertion, CONTEXT, ContextAssertion, DistinguishedName, RDNSequence,
+ MATCHING-RULE, -- Name,-- OBJECT-CLASS, RelativeDistinguishedName,
+ SupportedAttributes, SupportedContexts
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 4}
+ RelaxationPolicy
+ FROM ServiceAdministration {joint-iso-itu-t ds(5) module(1)
+ serviceAdministration(33) 4}
+ AttributeTypeAndValue
+ FROM BasicAccessControl {joint-iso-itu-t ds(5) module(1)
+ basicAccessControl(24) 4}
+ OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
+ FROM EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28)
+ 4}
+ -- from ITU-T Rec. X.518 | ISO/IEC 9594-4
+ AccessPoint, ContinuationReference, Exclusions, OperationProgress,
+ ReferenceType
+ FROM DistributedOperations {joint-iso-itu-t ds(5) module(1)
+ distributedOperations(3) 4}
+ -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
+ id-errcode-abandoned, id-errcode-abandonFailed, id-errcode-attributeError,
+ id-errcode-nameError, id-errcode-referral, id-errcode-securityError,
+ id-errcode-serviceError, id-errcode-updateError, id-opcode-abandon,
+ id-opcode-addEntry, id-opcode-compare, id-opcode-list, id-opcode-modifyDN,
+ id-opcode-modifyEntry, id-opcode-read, id-opcode-removeEntry,
+ id-opcode-search
+ FROM DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 4}
+ -- from ITU-T Rec. X.520 | ISO/IEC 9594-6
+ DirectoryString
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 4}
+ ub-domainLocalID
+ FROM UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 4}
+ -- from ITU-T Rec. X.509 | ISO/IEC 9594-8
+ AlgorithmIdentifier, CertificationPath, ENCRYPTED{}, SIGNATURE{}, SIGNED{}
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 4}
+ AttributeCertificationPath
+ FROM AttributeCertificateDefinitions {joint-iso-itu-t ds(5) module(1)
+ attributeCertificateDefinitions(32) 4}
+ -- from ITU-T Rec. X.525 | ISO/IEC 9594-9
+ AgreementID
+ FROM DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1)
+ directoryShadowAbstractService(15) 4}
+ -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
+ Code, ERROR, OPERATION
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ emptyUnbind
+ FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
+ remote-operations(4) useful-definitions(7) version1(0)}
+ InvokeId
+ FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
+ remote-operations(4) generic-ROS-PDUs(6) version1(0)}
+ -- from RFC 2025
+ SPKM-ERROR, SPKM-REP-TI, SPKM-REQ
+ FROM SpkmGssTokens {iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) spkm(1) spkmGssTokens(10)};
+
+-- Common data types
+CommonArguments ::= SET {
+ serviceControls [30] ServiceControls DEFAULT {},
+ securityParameters [29] SecurityParameters OPTIONAL,
+ requestor [28] DistinguishedName OPTIONAL,
+ operationProgress
+ [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ aliasedRDNs [26] INTEGER OPTIONAL,
+ criticalExtensions [25] BIT STRING OPTIONAL,
+ referenceType [24] ReferenceType OPTIONAL,
+ entryOnly [23] BOOLEAN DEFAULT TRUE,
+ exclusions [22] Exclusions OPTIONAL,
+ nameResolveOnMaster [21] BOOLEAN DEFAULT FALSE,
+ operationContexts [20] ContextSelection OPTIONAL,
+ familyGrouping [19] FamilyGrouping DEFAULT entryOnly
+}
+
+FamilyGrouping ::= ENUMERATED {
+ entryOnly(1), compoundEntry(2), strands(3), multiStrand(4)}
+
+CommonResults ::= SET {
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+CommonResultsSeq ::= SEQUENCE {
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+ServiceControls ::= SET {
+ options [0] ServiceControlOptions DEFAULT {},
+ priority [1] INTEGER {low(0), medium(1), high(2)} DEFAULT medium,
+ timeLimit [2] INTEGER OPTIONAL,
+ sizeLimit [3] INTEGER OPTIONAL,
+ scopeOfReferral [4] INTEGER {dmd(0), country(1)} OPTIONAL,
+ attributeSizeLimit [5] INTEGER OPTIONAL,
+ manageDSAITPlaneRef
+ [6] SEQUENCE {dsaName Name,
+ agreementID AgreementID} OPTIONAL,
+ serviceType [7] OBJECT IDENTIFIER OPTIONAL,
+ userClass [8] INTEGER OPTIONAL
+}
+
+ServiceControlOptions ::= BIT STRING {
+ preferChaining(0), chainingProhibited(1), localScope(2), dontUseCopy(3),
+ dontDereferenceAliases(4), subentries(5), copyShallDo(6),
+ partialNameResolution(7), manageDSAIT(8), noSubtypeMatch(9),
+ noSubtypeSelection(10), countFamily(11), dontSelectFriends(12), dontMatchFriends(13)}
+
+EntryInformationSelection ::= SET {
+ attributes
+ CHOICE {allUserAttributes [0] NULL,
+ select [1] SET OF AttributeType
+ -- empty set implies no attributes are requested
+ } DEFAULT allUserAttributes:NULL,
+ infoTypes
+ [2] INTEGER {attributeTypesOnly(0), attributeTypesAndValues(1)}
+ DEFAULT attributeTypesAndValues,
+ extraAttributes
+ CHOICE {allOperationalAttributes [3] NULL,
+ select [4] SET SIZE (1..MAX) OF AttributeType
+ } OPTIONAL,
+ contextSelection ContextSelection OPTIONAL,
+ returnContexts BOOLEAN DEFAULT FALSE,
+ familyReturn FamilyReturn DEFAULT {memberSelect contributingEntriesOnly}
+}
+
+ContextSelection ::= CHOICE {
+ allContexts NULL,
+ selectedContexts SET SIZE (1..MAX) OF TypeAndContextAssertion
+}
+
+TypeAndContextAssertion ::= SEQUENCE {
+ type AttributeType,
+ contextAssertions
+ CHOICE {preference SEQUENCE OF ContextAssertion,
+ all SET OF ContextAssertion}
+}
+
+FamilyReturn ::= SEQUENCE {
+ memberSelect
+ ENUMERATED {contributingEntriesOnly(1), participatingEntriesOnly(2),
+ compoundEntry(3)},
+ familySelect SEQUENCE SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL
+}
+
+
+EntryInformation ::= SEQUENCE {
+ name Name,
+ fromEntry BOOLEAN DEFAULT TRUE,
+ information
+ SET SIZE (1..MAX) OF CHOICE {
+ attributeType AttributeType,
+ attribute Attribute} OPTIONAL,
+ incompleteEntry [3] BOOLEAN DEFAULT FALSE, -- not in 1988-edition systems
+ partialName [4] BOOLEAN DEFAULT FALSE, -- not in 1988 or 1993 edition systems
+ derivedEntry
+ [5] BOOLEAN DEFAULT FALSE -- not in pre-2001 edition systems --
+}
+
+--family-information ATTRIBUTE ::= {
+-- WITH SYNTAX FamilyEntries
+-- USAGE directoryOperation
+-- ID id-at-family-information
+--}
+
+FamilyEntries ::= SEQUENCE {
+ family-class --OBJECT-CLASS.&id-- OBJECT IDENTIFIER, -- structural object class value
+ familyEntries SEQUENCE OF FamilyEntry
+}
+
+FamilyEntry ::= SEQUENCE {
+ rdn RelativeDistinguishedName,
+ information
+ SEQUENCE OF CHOICE {attributeType AttributeType,
+ attribute Attribute},
+ family-info SEQUENCE SIZE (1..MAX) OF FamilyEntries OPTIONAL
+}
+
+Filter ::= CHOICE {
+ item [0] FilterItem,
+ and [1] SetOfFilter,
+ or [2] SetOfFilter,
+ not [3] Filter
+}
+
+SetOfFilter ::= SET OF Filter
+
+
+FilterItem ::= CHOICE {
+ equality [0] AttributeValueAssertion,
+ substrings
+ [1] SEQUENCE {type ATTRIBUTE.&id({SupportedAttributes}),
+ strings
+ SEQUENCE OF
+ CHOICE {initial
+ [0] ATTRIBUTE.&Type
+ ({SupportedAttributes}
+ {@substrings.type}),
+ any
+ [1] ATTRIBUTE.&Type
+ ({SupportedAttributes}
+ {@substrings.type}),
+ final
+ [2] ATTRIBUTE.&Type
+ ({SupportedAttributes}
+ {@substrings.type}),
+ control Attribute}}, -- Used to specify interpretation of following items
+ greaterOrEqual [2] AttributeValueAssertion,
+ lessOrEqual [3] AttributeValueAssertion,
+ present [4] AttributeType,
+ approximateMatch [5] AttributeValueAssertion,
+ extensibleMatch [6] MatchingRuleAssertion,
+ contextPresent [7] AttributeTypeAssertion
+}
+
+MatchingRuleAssertion ::= SEQUENCE {
+ matchingRule [1] SET SIZE (1..MAX) OF MATCHING-RULE.&id,
+ type [2] AttributeType OPTIONAL,
+ matchValue
+ [3] MATCHING-RULE.&AssertionType
+-- (CONSTRAINED BY {
+ -- matchValue shall be a value of type specified by the &AssertionType field of
+ -- one of the MATCHING-RULE information objects identified by matchingRule }) --,
+ dnAttributes [4] BOOLEAN DEFAULT FALSE
+}
+
+PagedResultsRequest ::= CHOICE {
+ newRequest
+ SEQUENCE {pageSize INTEGER,
+ sortKeys SEQUENCE SIZE (1..MAX) OF SortKey OPTIONAL,
+ reverse [1] BOOLEAN DEFAULT FALSE,
+ unmerged [2] BOOLEAN DEFAULT FALSE},
+ queryReference OCTET STRING
+}
+
+SortKey ::= SEQUENCE {
+ type AttributeType,
+ orderingRule --MATCHING-RULE.&id-- OBJECT IDENTIFIER OPTIONAL
+}
+
+SecurityParameters ::= SET {
+ certification-path [0] CertificationPath OPTIONAL,
+ name [1] DistinguishedName OPTIONAL,
+ time [2] Time OPTIONAL,
+ random [3] BIT STRING OPTIONAL,
+ target [4] ProtectionRequest OPTIONAL,
+ response [5] BIT STRING OPTIONAL,
+ operationCode [6] Code OPTIONAL,
+ attributeCertificationPath [7] AttributeCertificationPath OPTIONAL,
+ errorProtection [8] ErrorProtectionRequest OPTIONAL,
+ errorCode [9] Code OPTIONAL
+}
+
+ProtectionRequest ::= INTEGER {
+ none(0), signed(1), encrypted(2), signed-encrypted(3)}
+
+Time ::= CHOICE {utcTime UTCTime,
+ generalizedTime GeneralizedTime
+}
+
+ErrorProtectionRequest ::= INTEGER {
+ none(0), signed(1), encrypted(2), signed-encrypted(3)}
+
+-- Bind and unbind operations
+directoryBind OPERATION ::= {
+ ARGUMENT DirectoryBindArgument
+ RESULT DirectoryBindResult
+ ERRORS {directoryBindError}
+ CODE op-ros-bind -- WS: internal operation code
+}
+
+DirectoryBindArgument ::= SET {
+ credentials [0] Credentials OPTIONAL,
+ versions [1] Versions DEFAULT {v1}
+}
+
+Credentials ::= CHOICE {
+ simple [0] SimpleCredentials,
+ strong [1] StrongCredentials,
+ externalProcedure [2] EXTERNAL,
+ spkm [3] SpkmCredentials,
+ sasl [4] SaslCredentials
+}
+
+SimpleCredentials ::= SEQUENCE {
+ name [0] DistinguishedName,
+ validity
+ [1] SET {time1 [0] CHOICE {utc UTCTime,
+ gt GeneralizedTime} OPTIONAL,
+ time2 [1] CHOICE {utc UTCTime,
+ gt GeneralizedTime} OPTIONAL,
+ random1 [2] BIT STRING OPTIONAL,
+ random2 [3] BIT STRING OPTIONAL} OPTIONAL,
+ password
+ [2] CHOICE {unprotected OCTET STRING,
+-- protected SIGNATURE{OCTET STRING}} OPTIONAL
+ protected SEQUENCE {
+ protectedPassword OCTET STRING,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING }} OPTIONAL
+}
+
+StrongCredentials ::= SET {
+ certification-path [0] CertificationPath OPTIONAL,
+ bind-token [1] Token,
+ name [2] DistinguishedName OPTIONAL,
+ attributeCertificationPath [3] AttributeCertificationPath OPTIONAL
+}
+
+SpkmCredentials ::= CHOICE {req [0] -- SPKM-REQ -- ANY,
+ rep [1] -- SPKM-REP-TI-- ANY
+}
+
+SaslCredentials ::= SEQUENCE {
+ mechanism [0] DirectoryString {--ub-sasIMechanism--},
+ credentials [1] OCTET STRING OPTIONAL,
+ saslAbort [2] BOOLEAN DEFAULT FALSE
+}
+
+TokenData ::=
+-- SIGNED
+-- { --SEQUENCE {algorithm [0] AlgorithmIdentifier,
+ name [1] DistinguishedName,
+ time [2] UTCTime,
+ random [3] BIT STRING,
+ response [4] BIT STRING OPTIONAL,
+ bindIntAlgorithm
+ [5] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
+ bindIntKeyInfo [6] BindKeyInfo OPTIONAL,
+ bindConfAlgorithm
+ [7] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
+ bindConfKeyInfo
+ [8] BindKeyInfo--,--
+ OPTIONAL -- dirqop [9] OBJECT IDENTIFIER OPTIONAL--
+ } --}
+
+-- expand SIGNED macro
+
+Token ::= SEQUENCE {
+ token-data TokenData,
+ algorithm-identifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+Versions ::= BIT STRING {v1(0), v2(1)}
+
+DirectoryBindResult ::= DirectoryBindArgument
+
+directoryBindError ERROR ::= {
+ PARAMETER -- OPTIONALLY-PROTECTED -- DirectoryBindError
+-- {SET {versions [0] Versions DEFAULT {v1},
+-- error
+-- CHOICE {serviceError [1] ServiceProblem,
+-- securityError [2] SecurityProblem}} }
+ CODE err-ros-bind -- WS: internal error code
+}
+
+-- expand OPTIONALLY-PROTECTED macro
+DirectoryBindError ::= CHOICE {
+ unsignedDirectoryBindError DirectoryBindErrorData,
+ signedDirectoryBindError SEQUENCE {
+ directoryBindError DirectoryBindErrorData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+DirectoryBindErrorData ::=
+ SET {versions [0] Versions DEFAULT {v1},
+ error
+ CHOICE {serviceError [1] ServiceProblem,
+ securityError [2] SecurityProblem},
+ securityParameters [30] SecurityParameters OPTIONAL
+}
+
+
+BindKeyInfo ::= -- ENCRYPTED{-- BIT STRING
+
+--directoryUnbind OPERATION ::= emptyUnbind
+
+-- Operations, arguments, and results
+read OPERATION ::= {
+ ARGUMENT ReadArgument
+ RESULT ReadResult
+ ERRORS
+ {attributeError | nameError | serviceError | referral | abandoned |
+ securityError}
+ CODE id-opcode-read
+}
+
+ReadArgumentData ::=
+-- OPTIONALLY-PROTECTED
+-- {-- SET {object [0] Name,
+ selection [1] EntryInformationSelection DEFAULT {},
+ modifyRightsRequest [2] BOOLEAN DEFAULT FALSE,
+-- COMPONENTS OF CommonArguments
+ serviceControls [30] ServiceControls DEFAULT {},
+ securityParameters [29] SecurityParameters OPTIONAL,
+ requestor [28] DistinguishedName OPTIONAL,
+ operationProgress
+ [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ aliasedRDNs [26] INTEGER OPTIONAL,
+ criticalExtensions [25] BIT STRING OPTIONAL,
+ referenceType [24] ReferenceType OPTIONAL,
+ entryOnly [23] BOOLEAN DEFAULT TRUE,
+ exclusions [22] Exclusions OPTIONAL,
+ nameResolveOnMaster [21] BOOLEAN DEFAULT FALSE,
+ operationContexts [20] ContextSelection OPTIONAL,
+ familyGrouping [19] FamilyGrouping DEFAULT entryOnly
+}--}
+
+Name ::= CHOICE {
+ rdnSequence RDNSequence
+}
+
+
+-- OPTIONALLY-PROTECTED macro expansion
+ReadArgument ::= CHOICE {
+ unsignedReadArgument ReadArgumentData,
+ signedReadArgument SEQUENCE {
+ readArgument ReadArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ReadResultData ::=
+-- OPTIONALLY-PROTECTED
+-- {--SET {entry [0] EntryInformation,
+ modifyRights [1] ModifyRights OPTIONAL,
+-- COMPONENTS OF CommonResults
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}--}
+
+-- OPTIONALLY-PROTECTED macro expansion
+ReadResult ::= CHOICE {
+ unsignedReadResult ReadResultData,
+ signedReadResult SEQUENCE {
+ readResult ReadResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+ModifyRights ::=
+ SET OF
+ SEQUENCE {item
+ CHOICE {entry [0] NULL,
+ attribute [1] AttributeType,
+ value [2] AttributeValueAssertion},
+ permission
+ [3] BIT STRING {add(0), remove(1), rename(2), move(3)}
+ }
+
+compare OPERATION ::= {
+ ARGUMENT CompareArgument
+ RESULT CompareResult
+ ERRORS
+ {attributeError | nameError | serviceError | referral | abandoned |
+ securityError}
+ CODE id-opcode-compare
+}
+
+CompareArgumentData ::=
+-- OPTIONALLY-PROTECTED
+-- {--SET {object [0] Name,
+ purported [1] AttributeValueAssertion,
+-- COMPONENTS OF CommonArguments}}
+ serviceControls [30] ServiceControls DEFAULT {},
+ securityParameters [29] SecurityParameters OPTIONAL,
+ requestor [28] DistinguishedName OPTIONAL,
+ operationProgress
+ [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ aliasedRDNs [26] INTEGER OPTIONAL,
+ criticalExtensions [25] BIT STRING OPTIONAL,
+ referenceType [24] ReferenceType OPTIONAL,
+ entryOnly [23] BOOLEAN DEFAULT TRUE,
+ exclusions [22] Exclusions OPTIONAL,
+ nameResolveOnMaster [21] BOOLEAN DEFAULT FALSE,
+ operationContexts [20] ContextSelection OPTIONAL,
+ familyGrouping [19] FamilyGrouping DEFAULT entryOnly
+}
+
+-- OPTIONALLY-PROTECTED macro expansion
+CompareArgument ::= CHOICE {
+ unsignedCompareArgument CompareArgumentData,
+ signedCompareArgument SEQUENCE {
+ compareArgument CompareArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+CompareResultData ::=
+-- OPTIONALLY-PROTECTED
+-- {--SET {name Name OPTIONAL,
+ matched [0] BOOLEAN,
+ fromEntry [1] BOOLEAN DEFAULT TRUE,
+ matchedSubtype [2] AttributeType OPTIONAL,
+-- COMPONENTS OF CommonResults}}
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+-- OPTIONALLY-PROTECTED macro expansion
+CompareResult ::= CHOICE {
+ unsignedCompareResult CompareResultData,
+ signedCompareResult SEQUENCE {
+ compareResult CompareResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+abandon OPERATION ::= {
+ ARGUMENT AbandonArgument
+ RESULT AbandonResult
+ ERRORS {abandonFailed}
+ CODE id-opcode-abandon
+}
+
+AbandonArgumentData ::=
+-- OPTIONALLY-PROTECTED-SEQ{--SEQUENCE {invokeID [0] InvokeId}--}
+
+-- OPTIONALLY-PROTECTED-SEQ macro expansion
+AbandonArgument ::= CHOICE {
+ unsignedAbandonArgument AbandonArgumentData,
+ signedAbandonArgument [0] SEQUENCE {
+ abandonArgument AbandonArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+AbandonResultData ::= SEQUENCE {
+ invokeID InvokeId,
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+AbandonResult ::= CHOICE {
+ null NULL,
+ information
+-- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID InvokeId,
+-- COMPONENTS OF CommonResultsSeq
+-- }}
+ CHOICE {
+ unsignedAbandonResult AbandonResultData,
+ signedAbandonResult [0] SEQUENCE {
+ abandonResult AbandonResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+ }
+}
+
+list OPERATION ::= {
+ ARGUMENT ListArgument
+ RESULT ListResult
+ ERRORS {nameError | serviceError | referral | abandoned | securityError}
+ CODE id-opcode-list
+}
+
+ListArgumentData ::=
+-- OPTIONALLY-PROTECTED
+-- {--SET {object [0] Name,
+ pagedResults [1] PagedResultsRequest OPTIONAL,
+ listFamily [2] BOOLEAN DEFAULT FALSE,
+-- COMPONENTS OF CommonArguments}}
+ serviceControls [30] ServiceControls DEFAULT {},
+ securityParameters [29] SecurityParameters OPTIONAL,
+ requestor [28] DistinguishedName OPTIONAL,
+ operationProgress
+ [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ aliasedRDNs [26] INTEGER OPTIONAL,
+ criticalExtensions [25] BIT STRING OPTIONAL,
+ referenceType [24] ReferenceType OPTIONAL,
+ entryOnly [23] BOOLEAN DEFAULT TRUE,
+ exclusions [22] Exclusions OPTIONAL,
+ nameResolveOnMaster [21] BOOLEAN DEFAULT FALSE,
+ operationContexts [20] ContextSelection OPTIONAL,
+ familyGrouping [19] FamilyGrouping DEFAULT entryOnly
+}
+
+-- expand OPTIONALLY-PROTECTED macro
+ListArgument ::= CHOICE {
+ unsignedListArgument ListArgumentData,
+ signedListArgument SEQUENCE {
+ listArgument ListArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+ListResultData ::=
+-- OPTIONALLY-PROTECTED
+-- {--CHOICE {listInfo
+ SET {name Name OPTIONAL,
+ subordinates
+ [1] SET OF
+ SEQUENCE {rdn RelativeDistinguishedName,
+ aliasEntry [0] BOOLEAN DEFAULT FALSE,
+ fromEntry [1] BOOLEAN DEFAULT TRUE
+ },
+ partialOutcomeQualifier
+ [2] PartialOutcomeQualifier OPTIONAL,
+-- COMPONENTS OF CommonResults},
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+ },
+ uncorrelatedListInfo [0] SET OF ListResult}--}
+
+-- expand OPTIONALLY-PROTECTED macro
+ListResult ::= CHOICE {
+ unsignedListResult ListResultData,
+ signedListResult SEQUENCE {
+ listResult ListResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+PartialOutcomeQualifier ::= SET {
+ limitProblem [0] LimitProblem OPTIONAL,
+ unexplored
+ [1] SET SIZE (1..MAX) OF ContinuationReference OPTIONAL,
+ unavailableCriticalExtensions [2] BOOLEAN DEFAULT FALSE,
+ unknownErrors
+ [3] SET SIZE (1..MAX) OF --ABSTRACT-SYNTAX.&Type-- OBJECT IDENTIFIER OPTIONAL,
+ queryReference [4] OCTET STRING OPTIONAL,
+ overspecFilter [5] Filter OPTIONAL,
+ notification
+ [6] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL,
+ entryCount
+ CHOICE {bestEstimate [7] INTEGER,
+ lowEstimate [8] INTEGER,
+ exact [9] INTEGER} OPTIONAL,
+ streamedResult [10] BOOLEAN DEFAULT FALSE
+}
+
+LimitProblem ::= INTEGER {
+ timeLimitExceeded(0), sizeLimitExceeded(1), administrativeLimitExceeded(2)
+}
+
+search OPERATION ::= {
+ ARGUMENT SearchArgument
+ RESULT SearchResult
+ ERRORS
+ {attributeError | nameError | serviceError | referral | abandoned |
+ securityError}
+ CODE id-opcode-search
+}
+
+SearchArgumentData ::=
+-- OPTIONALLY-PROTECTED
+-- {--SET {baseObject [0] Name,
+ subset
+ [1] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)}
+ DEFAULT baseObject,
+ filter [2] Filter DEFAULT and:{},
+ searchAliases [3] BOOLEAN DEFAULT TRUE,
+ selection [4] EntryInformationSelection DEFAULT {},
+ pagedResults [5] PagedResultsRequest OPTIONAL,
+ matchedValuesOnly [6] BOOLEAN DEFAULT FALSE,
+ extendedFilter [7] Filter OPTIONAL,
+ checkOverspecified [8] BOOLEAN DEFAULT FALSE,
+ relaxation [9] RelaxationPolicy OPTIONAL,
+ extendedArea [10] INTEGER OPTIONAL,
+ hierarchySelections [11] HierarchySelections DEFAULT {self},
+ searchControlOptions
+ [12] SearchControlOptions DEFAULT {searchAliases},
+ joinArguments
+ [13] SEQUENCE SIZE (1..MAX) OF JoinArgument OPTIONAL,
+ joinType
+ [14] ENUMERATED {innerJoin(0), leftOuterJoin(1), fullOuterJoin(2)}
+ DEFAULT leftOuterJoin,
+-- COMPONENTS OF CommonArguments}}
+ serviceControls [30] ServiceControls DEFAULT {},
+ securityParameters [29] SecurityParameters OPTIONAL,
+ requestor [28] DistinguishedName OPTIONAL,
+ operationProgress
+ [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ aliasedRDNs [26] INTEGER OPTIONAL,
+ criticalExtensions [25] BIT STRING OPTIONAL,
+ referenceType [24] ReferenceType OPTIONAL,
+ entryOnly [23] BOOLEAN DEFAULT TRUE,
+ exclusions [22] Exclusions OPTIONAL,
+ nameResolveOnMaster [21] BOOLEAN DEFAULT FALSE,
+ operationContexts [20] ContextSelection OPTIONAL,
+ familyGrouping [19] FamilyGrouping DEFAULT entryOnly
+}
+
+-- expand OPTIONALLY-PROTECTED macro
+SearchArgument ::= CHOICE {
+ unsignedSearchArgument SearchArgumentData,
+ signedSearchArgument SEQUENCE {
+ searchArgument SearchArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+HierarchySelections ::= BIT STRING {
+ self(0), children(1), parent(2), hierarchy(3), top(4), subtree(5),
+ siblings(6), siblingChildren(7), siblingSubtree(8), all(9)}
+
+SearchControlOptions ::= BIT STRING {
+ searchAliases(0), matchedValuesOnly(1), checkOverspecified(2),
+ performExactly(3), includeAllAreas(4), noSystemRelaxation(5), dnAttribute(6),
+ matchOnResidualName(7), entryCount(8), useSubset(9),
+ separateFamilyMembers(10), searchFamily(11)}
+
+JoinArgument ::= SEQUENCE {
+ joinBaseObject [0] Name,
+ domainLocalID [1] DomainLocalID OPTIONAL,
+ joinSubset
+ [2] ENUMERATED {baseObject(0), oneLevel(1), wholeSubtree(2)}
+ DEFAULT baseObject,
+ joinFilter [3] Filter OPTIONAL,
+ joinAttributes [4] SEQUENCE SIZE (1..MAX) OF JoinAttPair OPTIONAL,
+ joinSelection [5] EntryInformationSelection
+}
+
+DomainLocalID ::= DirectoryString --{ub-domainLocalID}--
+
+JoinAttPair ::= SEQUENCE {
+ baseAtt AttributeType,
+ joinAtt AttributeType,
+ joinContext SEQUENCE SIZE (1..MAX) OF JoinContextType OPTIONAL
+}
+
+JoinContextType ::= --CONTEXT.&id({SupportedContexts})-- OBJECT IDENTIFIER
+
+SearchResultData ::=
+-- OPTIONALLY-PROTECTED
+-- {--CHOICE {searchInfo
+ SET {name Name OPTIONAL,
+ entries [0] SET OF EntryInformation,
+ partialOutcomeQualifier
+ [2] PartialOutcomeQualifier OPTIONAL,
+ altMatching [3] BOOLEAN DEFAULT FALSE,
+-- COMPONENTS OF CommonResults},
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX)OF Attribute OPTIONAL},
+ uncorrelatedSearchInfo [0] SET OF SearchResult}--}
+
+-- expand OPTIONALLY-PROTECTED macro
+SearchResult ::= CHOICE {
+ unsignedSearchResult SearchResultData,
+ signedSearchResult SEQUENCE {
+ searchResult SearchResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+addEntry OPERATION ::= {
+ ARGUMENT AddEntryArgument
+ RESULT AddEntryResult
+ ERRORS
+ {attributeError | nameError | serviceError | referral | securityError |
+ updateError}
+ CODE id-opcode-addEntry
+}
+
+AddEntryArgumentData ::=
+-- OPTIONALLY-PROTECTED
+-- {--SET {object [0] Name,
+ entry [1] SET OF Attribute,
+ targetSystem [2] AccessPoint OPTIONAL,
+-- COMPONENTS OF CommonArguments}}
+ serviceControls [30] ServiceControls DEFAULT {},
+ securityParameters [29] SecurityParameters OPTIONAL,
+ requestor [28] DistinguishedName OPTIONAL,
+ operationProgress
+ [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ aliasedRDNs [26] INTEGER OPTIONAL,
+ criticalExtensions [25] BIT STRING OPTIONAL,
+ referenceType [24] ReferenceType OPTIONAL,
+ entryOnly [23] BOOLEAN DEFAULT TRUE,
+ exclusions [22] Exclusions OPTIONAL,
+ nameResolveOnMaster [21] BOOLEAN DEFAULT FALSE,
+ operationContexts [20] ContextSelection OPTIONAL,
+ familyGrouping [19] FamilyGrouping DEFAULT entryOnly
+}
+
+-- expand OPTIONALLY-PROTECTED macro
+AddEntryArgument ::= CHOICE {
+ unsignedAddEntryArgument AddEntryArgumentData,
+ signedAddEntryArgument SEQUENCE {
+ addEntryArgument AddEntryArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+AddEntryResultData ::= SEQUENCE {
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+AddEntryResult ::= CHOICE {
+ null NULL,
+ information
+-- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
+ CHOICE {
+ unsignedAddEntryResult AddEntryResultData,
+ signedAddEntryResult [0] SEQUENCE {
+ addEntryResult AddEntryResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+ }
+}
+
+removeEntry OPERATION ::= {
+ ARGUMENT RemoveEntryArgument
+ RESULT RemoveEntryResult
+ ERRORS {nameError | serviceError | referral | securityError | updateError}
+ CODE id-opcode-removeEntry
+}
+
+RemoveEntryArgumentData ::=
+-- OPTIONALLY-PROTECTED{--SET {object [0] Name,
+-- COMPONENTS OF CommonArguments}}
+ serviceControls [30] ServiceControls DEFAULT {},
+ securityParameters [29] SecurityParameters OPTIONAL,
+ requestor [28] DistinguishedName OPTIONAL,
+ operationProgress
+ [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ aliasedRDNs [26] INTEGER OPTIONAL,
+ criticalExtensions [25] BIT STRING OPTIONAL,
+ referenceType [24] ReferenceType OPTIONAL,
+ entryOnly [23] BOOLEAN DEFAULT TRUE,
+ exclusions [22] Exclusions OPTIONAL,
+ nameResolveOnMaster [21] BOOLEAN DEFAULT FALSE,
+ operationContexts [20] ContextSelection OPTIONAL,
+ familyGrouping [19] FamilyGrouping DEFAULT entryOnly
+}
+
+-- OPTIONALLY-PROTECTED macro expansion
+RemoveEntryArgument ::= CHOICE {
+ unsignedRemoveEntryArgument RemoveEntryArgumentData,
+ signedRemoveEntryArgument SEQUENCE {
+ removeEntryArgument RemoveEntryArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+RemoveEntryResultData ::= SEQUENCE {
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+RemoveEntryResult ::= CHOICE {
+ null NULL,
+ information
+-- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
+ CHOICE {
+ unsignedRemoveEntryResult RemoveEntryResultData,
+ signedRemoveEntryResult [0] SEQUENCE {
+ removeEntryResult RemoveEntryResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+ }
+}
+
+modifyEntry OPERATION ::= {
+ ARGUMENT ModifyEntryArgument
+ RESULT ModifyEntryResult
+ ERRORS
+ {attributeError | nameError | serviceError | referral | securityError |
+ updateError}
+ CODE id-opcode-modifyEntry
+}
+
+ModifyEntryArgumentData ::=
+-- OPTIONALLY-PROTECTED
+-- {--SET {object [0] Name,
+ changes [1] SEQUENCE OF EntryModification,
+ selection [2] EntryInformationSelection OPTIONAL,
+-- COMPONENTS OF CommonArguments}}
+ serviceControls [30] ServiceControls DEFAULT {},
+ securityParameters [29] SecurityParameters OPTIONAL,
+ requestor [28] DistinguishedName OPTIONAL,
+ operationProgress
+ [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ aliasedRDNs [26] INTEGER OPTIONAL,
+ criticalExtensions [25] BIT STRING OPTIONAL,
+ referenceType [24] ReferenceType OPTIONAL,
+ entryOnly [23] BOOLEAN DEFAULT TRUE,
+ exclusions [22] Exclusions OPTIONAL,
+ nameResolveOnMaster [21] BOOLEAN DEFAULT FALSE,
+ operationContexts [20] ContextSelection OPTIONAL,
+ familyGrouping [19] FamilyGrouping DEFAULT entryOnly
+}
+
+-- OPTIONALLY-PROTECTED macro expansion
+ModifyEntryArgument ::= CHOICE {
+ unsignedModifyEntryArgument ModifyEntryArgumentData,
+ signedModifyEntryArgument SEQUENCE {
+ modifyEntryArgument ModifyEntryArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+ModifyEntryResultData ::= SEQUENCE {
+ entry [0] EntryInformation OPTIONAL,
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+ModifyEntryResult ::= CHOICE {
+ null NULL,
+ information
+-- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
+ CHOICE {
+ unsignedModifyEntryResult ModifyEntryResultData,
+ signedModifyEntryResult [0] SEQUENCE {
+ modifyEntryResult ModifyEntryResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+ }
+}
+
+EntryModification ::= CHOICE {
+ addAttribute [0] Attribute,
+ removeAttribute [1] AttributeType,
+ addValues [2] Attribute,
+ removeValues [3] Attribute,
+ alterValues [4] AttributeTypeAndValue,
+ resetValue [5] AttributeType
+}
+
+modifyDN OPERATION ::= {
+ ARGUMENT ModifyDNArgument
+ RESULT ModifyDNResult
+ ERRORS {nameError | serviceError | referral | securityError | updateError}
+ CODE id-opcode-modifyDN
+}
+
+ModifyDNArgument ::=
+-- OPTIONALLY-PROTECTED
+-- {--SET {object [0] DistinguishedName,
+ newRDN [1] RelativeDistinguishedName,
+ deleteOldRDN [2] BOOLEAN DEFAULT FALSE,
+ newSuperior [3] DistinguishedName OPTIONAL,
+-- COMPONENTS OF CommonArguments}}
+ serviceControls [30] ServiceControls DEFAULT {},
+ securityParameters [29] SecurityParameters OPTIONAL,
+ requestor [28] DistinguishedName OPTIONAL,
+ operationProgress
+ [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ aliasedRDNs [26] INTEGER OPTIONAL,
+ criticalExtensions [25] BIT STRING OPTIONAL,
+ referenceType [24] ReferenceType OPTIONAL,
+ entryOnly [23] BOOLEAN DEFAULT TRUE,
+ exclusions [22] Exclusions OPTIONAL,
+ nameResolveOnMaster [21] BOOLEAN DEFAULT FALSE,
+ operationContexts [20] ContextSelection OPTIONAL,
+ familyGrouping [19] FamilyGrouping DEFAULT entryOnly
+}
+
+ModifyDNResultData ::= SEQUENCE {
+ newRDN RelativeDistinguishedName,
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+
+ModifyDNResult ::= CHOICE {
+ null NULL,
+ information
+-- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
+ CHOICE {
+ unsignedModifyDNResult ModifyDNResultData,
+ signedModifyDNResult [0] SEQUENCE {
+ modifyDNResult ModifyDNResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+ }
+}
+
+
+-- Errors and parameters
+
+abandoned ERROR ::= { -- not literally an "error"
+ PARAMETER --OPTIONALLY-PROTECTED {SET {COMPONENTS OF CommonResults}}-- Abandoned
+ CODE id-errcode-abandoned
+}
+
+AbandonedData ::= SET {
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+Abandoned ::= CHOICE {
+ unsignedAbandoned AbandonedData,
+ signedAbandoned SEQUENCE {
+ abandoned AbandonedData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+abandonFailed ERROR ::= {
+ PARAMETER --OPTIONALLY-PROTECTED-- AbandonFailedError
+-- {SET {problem [0] AbandonProblem,
+-- operation [1] InvokeId,
+-- COMPONENTS OF CommonResults}}
+ CODE id-errcode-abandonFailed
+}
+
+AbandonFailedErrorData ::= SET {
+ problem [0] AbandonProblem,
+ operation [1] InvokeId,
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+AbandonFailedError ::= CHOICE {
+ unsignedAbandonFailedError AbandonFailedErrorData,
+ signedAbandonFailedError SEQUENCE {
+ abandonFailedError AbandonFailedErrorData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+AbandonProblem ::= INTEGER {noSuchOperation(1), tooLate(2), cannotAbandon(3)}
+
+attributeError ERROR ::= {
+ PARAMETER --OPTIONALLY-PROTECTED-- AttributeError
+-- {SET {object [0] Name,
+-- problems
+-- [1] SET OF
+-- SEQUENCE {problem [0] AttributeProblem,
+-- type [1] AttributeType,
+-- value [2] AttributeValue OPTIONAL},
+-- COMPONENTS OF CommonResults}}
+ CODE id-errcode-attributeError
+}
+
+AttributeErrorData ::= SET {
+ object [0] Name,
+ problems
+ [1] SET OF
+ SEQUENCE {problem [0] AttributeProblem,
+ type [1] AttributeType,
+ value [2] AttributeValue OPTIONAL},
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+AttributeError ::= CHOICE {
+ unsignedAttributeError AttributeErrorData,
+ signedAttributeError SEQUENCE {
+ attributeError AttributeErrorData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+AttributeProblem ::= INTEGER {
+ noSuchAttributeOrValue(1), invalidAttributeSyntax(2),
+ undefinedAttributeType(3), inappropriateMatching(4), constraintViolation(5),
+ attributeOrValueAlreadyExists(6), contextViolation(7)}
+
+nameError ERROR ::= {
+ PARAMETER --OPTIONALLY-PROTECTED-- NameError
+-- {SET {problem [0] NameProblem,
+-- matched [1] Name,
+-- COMPONENTS OF CommonResults}}
+ CODE id-errcode-nameError
+}
+
+NameErrorData ::= SET {
+ problem [0] NameProblem,
+ matched [1] Name,
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+
+NameError ::= CHOICE {
+ unsignedNameError NameErrorData,
+ signedNameError SEQUENCE {
+ nameError NameErrorData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+NameProblem ::= INTEGER {
+ noSuchObject(1), aliasProblem(2), invalidAttributeSyntax(3),
+ aliasDereferencingProblem(4), contextProblem(5)}
+
+referral ERROR ::= { -- not literally an "error"
+ PARAMETER --OPTIONALLY-PROTECTED-- Referral
+-- {SET {candidate [0] ContinuationReference,
+-- COMPONENTS OF CommonResults}}
+ CODE id-errcode-referral
+}
+
+ReferralData ::= SET {
+ candidate [0] ContinuationReference,
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+
+}
+
+Referral ::= CHOICE {
+ unsignedReferral ReferralData,
+ signedReferral SEQUENCE {
+ referral ReferralData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+securityError ERROR ::= {
+ PARAMETER --OPTIONALLY-PROTECTED-- SecurityError
+-- {SET {problem [0] SecurityProblem,
+-- spkmInfo [1] SPKM-ERROR,
+-- COMPONENTS OF CommonResults}}
+ CODE id-errcode-securityError
+}
+
+SecurityErrorData ::= SET {
+ problem [0] SecurityProblem,
+ spkmInfo [1] -- SPKM-ERROR -- ANY,
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+SecurityError ::= CHOICE {
+ unsignedSecurityError SecurityErrorData,
+ signedSecurityError SEQUENCE {
+ securityError SecurityErrorData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+SecurityProblem ::= INTEGER {
+ inappropriateAuthentication(1), invalidCredentials(2),
+ insufficientAccessRights(3), invalidSignature(4), protectionRequired(5),
+ noInformation(6), blockedCredentials(7), invalidQOPMatch(8), spkmError(9)
+}
+
+
+serviceError ERROR ::= {
+ PARAMETER --OPTIONALLY-PROTECTED-- ServiceError
+-- {SET {problem [0] ServiceProblem,
+-- COMPONENTS OF CommonResults}}
+ CODE id-errcode-serviceError
+}
+
+ServiceErrorData ::= SET {
+ problem [0] ServiceProblem,
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+ServiceError ::= CHOICE {
+ unsignedServiceError ServiceErrorData,
+ signedServiceError SEQUENCE {
+ serviceError ServiceErrorData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+ServiceProblem ::= INTEGER {
+ busy(1), unavailable(2), unwillingToPerform(3), chainingRequired(4),
+ unableToProceed(5), invalidReference(6), timeLimitExceeded(7),
+ administrativeLimitExceeded(8), loopDetected(9),
+ unavailableCriticalExtension(10), outOfScope(11), ditError(12),
+ invalidQueryReference(13), requestedServiceNotAvailable(14),
+ unsupportedMatchingUse(15), ambiguousKeyAttributes(16),
+ saslBindInProgress(17)
+}
+
+
+updateError ERROR ::= {
+ PARAMETER --OPTIONALLY-PROTECTED-- UpdateError
+-- {SET {problem [0] UpdateProblem,
+-- attributeInfo
+-- [1] SET SIZE (1..MAX) OF
+-- CHOICE {attributeType AttributeType,
+-- attribute Attribute} OPTIONAL,
+-- COMPONENTS OF CommonResults}}
+ CODE id-errcode-updateError
+}
+
+UpdateErrorData ::= SET {
+ problem [0] UpdateProblem,
+ attributeInfo
+ [1] SET SIZE (1..MAX) OF
+ CHOICE {attributeType AttributeType,
+ attribute Attribute} OPTIONAL,
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+}
+
+UpdateError ::= CHOICE {
+ unsignedUpdateError UpdateErrorData,
+ signedUpdateError SEQUENCE {
+ updateError UpdateErrorData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+UpdateProblem ::= INTEGER {
+ namingViolation(1), objectClassViolation(2), notAllowedOnNonLeaf(3),
+ notAllowedOnRDN(4), entryAlreadyExists(5), affectsMultipleDSAs(6),
+ objectClassModificationProhibited(7), noSuchSuperior(8), notAncestor(9),
+ parentNotAncestor(10), hierarchyRuleViolation(11), familyRuleViolation(12)
+}
+
+-- attribute types
+--id-at-family-information OBJECT IDENTIFIER ::= {id-at 64}
+
+END -- DirectoryAbstractService
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/dap/dap.cnf b/epan/dissectors/asn1/dap/dap.cnf
new file mode 100644
index 00000000..9c11b4d4
--- /dev/null
+++ b/epan/dissectors/asn1/dap/dap.cnf
@@ -0,0 +1,370 @@
+#.TYPE_ATTR
+# X509AF also exports the type Time. This makes sure asn2wrs uses the locally defined version.
+Time TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(dap_Time_vals) BITMASK = 0
+#.END
+
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509sat/x509sat-exp.cnf
+#.IMPORT ../crmf/crmf-exp.cnf
+#.IMPORT ../dsp/dsp-exp.cnf
+#.IMPORT ../disp/disp-exp.cnf
+#.IMPORT ../ros/ros-exp.cnf
+#.IMPORT ../acse/acse-exp.cnf
+
+#.OMIT_ASSIGNMENT
+DAP-InvokeIDSet
+#.END
+
+#.NO_EMIT ONLY_VALS
+Name
+
+#.MODULE_IMPORT
+AttributeCertificateDefinitions x509af
+BasicAccessControl crmf
+
+# Forward declaration of classes
+#.CLASS CONTEXT
+&Type
+&Assertion
+&id ObjectIdentifierType
+#.END
+
+#.CLASS CONTRACT
+&connection ClassReference CONNECTION-PACKAGE
+&OperationsOf ClassReference OPERATION-PACKAGE
+&InitiatorConsumerOf ClassReference OPERATION-PACKAGE
+&InitiatorSupplierOf ClassReference OPERATION-PACKAGE
+&id ObjectIdentifierType
+#.END
+
+#.CLASS APPLICATION-CONTEXT
+&bind-operation ClassReference OPERATION
+&Operations ClassReference OPERATION
+&applicationContextName ObjectIdentifierType
+#.END
+
+#.CLASS OBJECT-CLASS
+&Superclasses ClassReference OBJECT-CLASS
+&kind TypeReference ObjectClassKind
+&MandatoryAttributes ClassReference ATTRIBUTE
+&OptionalAttributes ClassReference ATTRIBUTE
+&id ObjectIdentifierType
+#.END
+
+#.CLASS ATTRIBUTE
+&derivation ClassReference ATTRIBUTE
+&Type
+&equality-match ClassReference MATCHING-RULE
+&ordering-match ClassReference MATCHING-RULE
+&substrings-match ClassReference MATCHING-RULE
+&single-valued BooleanType
+&collective BooleanType
+&no-user-modification BooleanType
+&usage TypeReference AttributeUsage
+&id ObjectIdentifierType
+#.END
+
+#.CLASS MATCHING-RULE
+&ParentMatchingRules ClassReference MATCHING-RULE
+&AssertionType
+&uniqueMatchIndicator ClassReference ATTRIBUTE
+&id ObjectIdentifierType
+#.END
+
+#.OMIT_ASSIGNMENT
+CommonArguments
+CommonResults
+CommonResultsSeq
+#.END
+
+#.EXPORTS
+Filter
+Referral
+EntryModification
+ContextSelection
+DirectoryBindArgument
+DirectoryBindError
+ReadArgument
+ReadResult
+ListArgument
+ListResult
+SearchArgument
+SearchResult
+AddEntryArgument
+AddEntryResult
+CompareArgument
+CompareResult
+RemoveEntryArgument
+RemoveEntryResult
+ModifyEntryArgument
+ModifyEntryResult
+ModifyDNArgument
+ModifyDNResult
+AbandonArgument
+AbandonResult
+AttributeError
+NameError
+ServiceError
+Abandoned
+SearchControlOptions
+SecurityError
+SecurityProblem
+SecurityParameters EXTERN WS_DLL
+ServiceControlOptions
+AbandonFailedError
+UpdateError
+HierarchySelections
+FamilyGrouping
+FamilyReturn
+
+#.TYPE_RENAME
+FamilyEntry/information FamilyInformation
+AbandonResult/information AbandonInformation
+AddEntryResult/information AddEntryInformation
+RemoveEntryResult/information RemoveEntryInformation
+ModifyEntryResult/information ModifyEntryInformation
+ModifyDNResult/information ModifyDNInformation
+
+EntryInformation/information/_item EntryInformationItem
+
+#.FIELD_RENAME
+
+ModifyRights/_item/item/attribute attribute-type
+
+ModifyRights/_item/item/entry item-entry
+AddEntryArgumentData/entry add-entry
+
+EntryInformation/information entry-information
+FamilyEntry/information family-information
+AbandonResult/information abandon-information
+AddEntryResult/information add-entry-information
+RemoveEntryResult/information remove-entry-information
+ModifyEntryResult/information modify-entry-information
+ModifyDNResult/information modify-dn-information
+
+EntryInformation/information/_item entry-information-item
+
+Filter/item filter-item
+
+NameErrorData/matched matched-name
+
+SecurityParameters/name distinguished-name
+SimpleCredentials/name distinguished-name
+StrongCredentials/name distinguished-name
+
+ModifyDNArgument/object distinguished-name
+
+AbandonFailedErrorData/problem abandon-failed-problem
+ServiceErrorData/problem service-error-problem
+AttributeErrorData/problems/_item/problem attribute-error-problem
+NameErrorData/problem name-error-problem
+SecurityErrorData/problem security-error-problem
+UpdateErrorData/problem update-error-problem
+
+DirectoryBindErrorData/error/securityError securityProblem
+SecurityError/signedSecurityError/securityError securityErrorData
+
+DirectoryBindErrorData/error/serviceError serviceProblem
+
+FilterItem/substrings/type sunstringType
+
+ModifyRights/_item/item/value value-assertion
+
+TokenData/name distinguished-name
+
+TokenData/time utctime
+
+PagedResultsRequest/queryReference pagedResultsQueryReference
+
+EntryInformationSelection/extraAttributes/select extraSelect
+
+SaslCredentials/credentials saslCredentials
+
+#.FIELD_ATTR
+SaslCredentials/credentials ABBREV=saslCredentials
+TokenData/time ABBREV=utctime
+NameErrorData/matched ABBREV=matched_name
+
+# This table creates the value_sting to name DAP operation codes and errors
+# in file packet-dap-table.c which is included in the template file
+#
+#.TABLE_HDR
+/* DAP OPERATIONS */
+const value_string dap_opr_code_string_vals[] = {
+#.TABLE_BODY OPERATION
+ { %(&operationCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+#.TABLE_HDR
+/* DAP ERRORS */
+static const value_string dap_err_code_string_vals[] = {
+#.TABLE_BODY ERROR
+ { %(&errorCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+# Create a table of opcode and corresponding args and res
+#.TABLE11_HDR
+static const ros_opr_t dap_opr_tab[] = {
+#.TABLE11_BODY OPERATION
+ /* %(_name)s */
+ { %(&operationCode)-25s, %(_argument_pdu)s, %(_result_pdu)s },
+#.TABLE11_FTR
+ { 0, (dissector_t)(-1), (dissector_t)(-1) },
+};
+#.END
+
+#.TABLE21_HDR
+static const ros_err_t dap_err_tab[] = {
+#.TABLE21_BODY ERROR
+ /* %(_name)s*/
+ { %(&errorCode)s, %(_parameter_pdu)s },
+#.TABLE21_FTR
+ { 0, (dissector_t)(-1) },
+};
+#.END
+
+
+#.PDU
+ERROR.&ParameterType
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+#.END
+
+#.FN_BODY FilterItem/substrings/strings/_item/initial
+ proto_item *it;
+ it = proto_tree_add_item(tree, hf_index, tvb, offset, -1, ENC_BIG_ENDIAN);
+ proto_item_append_text(it," XXX: Not yet implemented!");
+
+#.FN_BODY FilterItem/substrings/strings/_item/any
+ /* XXX: not yet implemented */
+
+#.FN_BODY FilterItem/substrings/strings/_item/final
+ /* XXX: not yet implemented */
+
+#.FN_BODY MatchingRuleAssertion/matchValue
+ /* XXX: not yet implemented */
+
+#.FN_BODY SpkmCredentials/req
+ /* XXX: not yet implemented */
+
+#.FN_BODY SpkmCredentials/rep
+ /* XXX: not yet implemented */
+
+#.FN_BODY SecurityErrorData/spkmInfo
+ /* XXX: not yet implemented */
+
+#.FN_BODY DirectoryBindArgument
+
+ guint32 len;
+
+ /* check and see if this is an empty set */
+ dissect_ber_length(actx->pinfo, tree, tvb, offset+1, &len, NULL);
+
+ if(len == 0) {
+ /* it's an empty set - i.e anonymous (assuming version is DEFAULTed) */
+ proto_tree_add_expert(tree, actx->pinfo, &ei_dap_anonymous, tvb, offset, -1);
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " anonymous");
+
+ }
+ /* do the default thing */
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY SimpleCredentials
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", x509if_get_last_dn());
+
+
+
+
+#.FN_BODY PagedResultsRequest/queryReference VAL_PTR=&out_tvb
+ tvbuff_t *out_tvb;
+ int i;
+ int len;
+
+ %(DEFAULT_BODY)s
+
+ if(out_tvb) {
+ /* now see if we can add a string representation */
+ len = tvb_reported_length(out_tvb);
+ if(tvb_ascii_isprint(out_tvb, 0, len)) {
+ if(actx->created_item) {
+
+ proto_item_append_text(actx->created_item," (");
+ for(i=0; i<len; i++)
+ proto_item_append_text(actx->created_item,"%%c",tvb_get_guint8(out_tvb,i));
+ proto_item_append_text(actx->created_item,")");
+ }
+ }
+ }
+
+#.FN_PARS SecurityProblem
+ VAL_PTR = &problem
+
+#.FN_BODY SecurityProblem
+ guint32 problem;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, dap_SecurityProblem_vals, "SecurityProblem(%%d)"));
+
+#.FN_PARS ServiceProblem
+ VAL_PTR = &problem
+
+#.FN_BODY ServiceProblem
+ guint32 problem;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, dap_ServiceProblem_vals, "ServiceProblem(%%d)"));
+
+#.FN_PARS UpdateProblem
+ VAL_PTR = &problem
+
+#.FN_BODY UpdateProblem
+ guint32 problem;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, dap_UpdateProblem_vals, "UpdateProblem(%%d)"));
+
+#.FN_PARS LimitProblem
+ VAL_PTR = &problem
+
+#.FN_BODY LimitProblem
+ guint32 problem;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, dap_LimitProblem_vals, "LimitProblem(%%d)"));
+
+#.END
+
+
+#.FN_BODY SearchArgumentData/subset VAL_PTR=&subset
+ guint32 subset;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(subset, dap_T_subset_vals, "Subset(%%d)"));
+
+
+#.FN_BODY Name
+ const char *dn;
+
+ %(DEFAULT_BODY)s
+
+ dn = x509if_get_last_dn();
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", (dn && *dn) ? dn : "(root)");
+
+
diff --git a/epan/dissectors/asn1/dap/packet-dap-template.c b/epan/dissectors/asn1/dap/packet-dap-template.c
new file mode 100644
index 00000000..8c14a03b
--- /dev/null
+++ b/epan/dissectors/asn1/dap/packet-dap-template.c
@@ -0,0 +1,144 @@
+/* packet-dap.c
+ * Routines for X.511 (X.500 Directory Asbtract Service) and X.519 DAP packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/expert.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ros.h"
+#include "packet-idmp.h"
+
+#include "packet-x509if.h"
+#include "packet-x509af.h"
+#include "packet-x509sat.h"
+#include "packet-crmf.h"
+
+#include "packet-dsp.h"
+#include "packet-disp.h"
+#include "packet-dap.h"
+#include <epan/strutil.h>
+
+/* we don't have a separate dissector for X519 -
+ most of DAP is defined in X511 */
+#define PNAME "X.519 Directory Access Protocol"
+#define PSNAME "DAP"
+#define PFNAME "dap"
+
+void proto_register_dap(void);
+void proto_reg_handoff_dap(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_dap = -1;
+
+
+#include "packet-dap-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_dap = -1;
+#include "packet-dap-ett.c"
+
+static expert_field ei_dap_anonymous = EI_INIT;
+
+#include "packet-dap-val.h"
+
+#include "packet-dap-table.c" /* operation and error codes */
+
+#include "packet-dap-fn.c"
+
+#include "packet-dap-table11.c" /* operation argument/result dissectors */
+#include "packet-dap-table21.c" /* error dissector */
+
+static const ros_info_t dap_ros_info = {
+ "DAP",
+ &proto_dap,
+ &ett_dap,
+ dap_opr_code_string_vals,
+ dap_opr_tab,
+ dap_err_code_string_vals,
+ dap_err_tab
+};
+
+
+/*--- proto_register_dap -------------------------------------------*/
+void proto_register_dap(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+#include "packet-dap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_dap,
+#include "packet-dap-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_dap_anonymous, { "dap.anonymous", PI_PROTOCOL, PI_NOTE, "Anonymous", EXPFILL }},
+ };
+
+ module_t *dap_module;
+ expert_module_t* expert_dap;
+
+ /* Register protocol */
+ proto_dap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_dap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_dap = expert_register_protocol(proto_dap);
+ expert_register_field_array(expert_dap, ei, array_length(ei));
+
+ /* Register our configuration options for DAP, particularly our port */
+
+ dap_module = prefs_register_protocol_subtree("OSI/X.500", proto_dap, NULL);
+
+ prefs_register_obsolete_preference(dap_module, "tcp.port");
+
+ prefs_register_static_text_preference(dap_module, "tcp_port_info",
+ "The TCP ports used by the DAP protocol should be added to the TPKT preference \"TPKT TCP ports\", or the IDMP preference \"IDMP TCP Port\", or by selecting \"TPKT\" as the \"Transport\" protocol in the \"Decode As\" dialog.",
+ "DAP TCP Port preference moved information");
+}
+
+
+/*--- proto_reg_handoff_dap --- */
+void proto_reg_handoff_dap(void) {
+
+ /* #include "packet-dap-dis-tab.c" */
+
+ /* APPLICATION CONTEXT */
+
+ oid_add_from_string("id-ac-directory-access","2.5.3.1");
+
+ /* ABSTRACT SYNTAXES */
+
+ /* Register DAP with ROS (with no use of RTSE) */
+ register_ros_protocol_info("2.5.9.1", &dap_ros_info, 0, "id-as-directory-access", FALSE);
+
+ register_idmp_protocol_info("2.5.33.0", &dap_ros_info, 0, "dap-ip");
+
+ /* AttributeValueAssertions */
+ x509if_register_fmt(hf_dap_equality, "=");
+ x509if_register_fmt(hf_dap_greaterOrEqual, ">=");
+ x509if_register_fmt(hf_dap_lessOrEqual, "<=");
+ x509if_register_fmt(hf_dap_approximateMatch, "=~");
+ /* AttributeTypes */
+ x509if_register_fmt(hf_dap_present, "= *");
+
+}
diff --git a/epan/dissectors/asn1/dap/packet-dap-template.h b/epan/dissectors/asn1/dap/packet-dap-template.h
new file mode 100644
index 00000000..048f984a
--- /dev/null
+++ b/epan/dissectors/asn1/dap/packet-dap-template.h
@@ -0,0 +1,17 @@
+/* packet-dap.h
+ * Routines for X.511 (X.500 Directory Access Protocol) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_DAP_H
+#define PACKET_DAP_H
+
+#include "packet-dap-exp.h"
+
+#endif /* PACKET_DAP_H */
diff --git a/epan/dissectors/asn1/disp/CMakeLists.txt b/epan/dissectors/asn1/disp/CMakeLists.txt
new file mode 100644
index 00000000..57f2e620
--- /dev/null
+++ b/epan/dissectors/asn1/disp/CMakeLists.txt
@@ -0,0 +1,51 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME disp )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../dap/dap-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../dop/dop-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../dsp/dsp-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+)
+
+set( EXPORT_DEPENDS
+ "${CMAKE_CURRENT_BINARY_DIR}/../dop/dop-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/disp/disp.asn b/epan/dissectors/asn1/disp/disp.asn
new file mode 100644
index 00000000..cc76ebf4
--- /dev/null
+++ b/epan/dissectors/asn1/disp/disp.asn
@@ -0,0 +1,405 @@
+-- Module DirectoryShadowAbstractService (X.525:02/2001)
+DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1)
+ directoryShadowAbstractService(15) 4} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the directory service.
+IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+ directoryAbstractService, directoryOperationalBindingTypes,
+ informationFramework, disp, distributedOperations,
+ dsaOperationalAttributeTypes, enhancedSecurity, opBindingManagement
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 4}
+ Attribute, AttributeType, CONTEXT, DistinguishedName,
+ RelativeDistinguishedName, SubtreeSpecification
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 4}
+ OPERATIONAL-BINDING, OperationalBindingID
+ FROM OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
+ opBindingManagement(18) 4}
+ DSEType, SupplierAndConsumers
+ FROM DSAOperationalAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ dsaOperationalAttributeTypes(22) 4}
+ OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
+ FROM EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28)
+ 4}
+ -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
+ CommonResultsSeq, ContextSelection, directoryBind, directoryUnbind, DirectoryBindArgument, DirectoryBindError,
+ EntryModification, SecurityParameters
+ FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
+ directoryAbstractService(2) 4}
+ -- from ITU-T Rec. X.518 | ISO/IEC 9594-4
+ AccessPoint
+ FROM DistributedOperations {joint-iso-itu-t ds(5) module(1)
+ distributedOperations(3) 4}
+ -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
+ id-op-binding-shadow
+ FROM DirectoryOperationalBindingTypes {joint-iso-itu-t ds(5) module(1)
+ directoryOperationalBindingTypes(25) 4}
+ id-errcode-shadowError, id-opcode-coordinateShadowUpdate,
+ id-opcode-requestShadowUpdate, id-opcode-updateShadow,
+ reliableShadowSupplierInitiatedAC, reliableShadowConsumerInitiatedAC,
+ shadowConsumerInitiatedAC, shadowSupplierInitiatedAC
+ FROM DirectoryInformationShadowProtocol {joint-iso-itu-t ds(5) module(1)
+ disp(16) 4}
+ AlgorithmIdentifier, CertificationPath, ENCRYPTED{}, SIGNATURE{}, SIGNED{}
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 4}
+ -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
+ ERROR, OPERATION
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+
+-- bind and unbind operations
+dSAShadowBind OPERATION ::= directoryBind
+DSAShadowBindArgument ::= DirectoryBindArgument
+DSAShadowBindResult ::= DirectoryBindArgument
+DSAShadowBindError ::= DirectoryBindError
+
+dSAShadowUnbind OPERATION ::= directoryUnbind
+
+-- shadow operational binding
+--shadowOperationalBinding OPERATIONAL-BINDING ::= {
+-- AGREEMENT ShadowingAgreementInfo
+-- APPLICATION CONTEXTS
+-- {{shadowSupplierInitiatedAC
+-- APPLIES TO {All-operations-supplier-initiated}} |
+-- {shadowConsumerInitiatedAC
+-- APPLIES TO {All-operations-consumer-initiated}} |
+-- {reliableShadowSupplierInitiatedAC
+-- APPLIES TO {All-operations-supplier-initiated}} |
+-- {reliableShadowConsumerInitiatedAC
+-- APPLIES TO {All-operations-consumer-initiated}}}
+-- ASYMMETRIC ROLE-A
+-- { - - shadow supplier roleESTABLISHMENT-INITIATOR TRUE
+-- ESTABLISHMENT-PARAMETER NULL
+-- MODIFICATION-INITIATOR TRUE
+-- TERMINATION-INITIATOR TRUE}
+-- ROLE-B
+-- { - - shadow consumer roleESTABLISHMENT-INITIATOR TRUE
+-- ESTABLISHMENT-PARAMETER NULL
+-- MODIFICATION-INITIATOR TRUE
+-- MODIFICATION-PARAMETER ModificationParameter
+-- TERMINATION-INITIATOR TRUE}
+-- ID id-op-binding-shadow
+--}
+
+-- types
+
+EstablishParameter ::= NULL
+
+ModificationParameter ::= SEQUENCE {
+ secondaryShadows SET OF SupplierAndConsumers
+}
+
+AgreementID ::= OperationalBindingID
+
+ShadowingAgreementInfo ::= SEQUENCE {
+ shadowSubject UnitOfReplication,
+ updateMode UpdateMode DEFAULT supplierInitiated:onChange:TRUE,
+ master AccessPoint OPTIONAL,
+ secondaryShadows [2] BOOLEAN DEFAULT FALSE
+}
+
+UnitOfReplication ::= SEQUENCE {
+ area AreaSpecification,
+ attributes AttributeSelection,
+ knowledge Knowledge OPTIONAL,
+ subordinates BOOLEAN DEFAULT FALSE,
+ contextSelection ContextSelection OPTIONAL,
+ supplyContexts
+ [0] CHOICE {allContexts NULL,
+ selectedContexts SET --SIZE (1..MAX)-- OF --CONTEXT.&id-- OBJECT IDENTIFIER } OPTIONAL
+}
+
+AreaSpecification ::= SEQUENCE {
+ contextPrefix DistinguishedName,
+ replicationArea SubtreeSpecification
+}
+
+Knowledge ::= SEQUENCE {
+ knowledgeType ENUMERATED {master(0), shadow(1), both(2)},
+ extendedKnowledge BOOLEAN DEFAULT FALSE
+}
+
+AttributeSelection ::= SET OF ClassAttributeSelection
+
+ClassAttributeSelection ::= SEQUENCE {
+ class OBJECT IDENTIFIER OPTIONAL,
+ classAttributes ClassAttributes DEFAULT allAttributes:NULL
+}
+
+ClassAttributes ::= CHOICE {
+ allAttributes NULL,
+ include [0] AttributeTypes,
+ exclude [1] AttributeTypes
+}
+
+AttributeTypes ::= SET OF AttributeType
+
+UpdateMode ::= CHOICE {
+ supplierInitiated [0] SupplierUpdateMode,
+ consumerInitiated [1] ConsumerUpdateMode
+}
+
+SupplierUpdateMode ::= CHOICE {
+ onChange BOOLEAN,
+ scheduled SchedulingParameters
+}
+
+ConsumerUpdateMode ::= SchedulingParameters
+
+SchedulingParameters ::= SEQUENCE {
+ periodic PeriodicStrategy OPTIONAL, -- shall be present if othertimes is set to FALSE
+ othertimes BOOLEAN DEFAULT FALSE
+}
+
+PeriodicStrategy ::= SEQUENCE {
+ beginTime Time OPTIONAL,
+ windowSize INTEGER,
+ updateInterval INTEGER
+}
+
+Time ::= GeneralizedTime
+
+-- as per 34.2 b) and c) of CCITT Rec. X.208 and ISO/IEC 8824
+-- shadow operations, arguments, and results
+--All-operations-consumer-initiated OPERATION ::=
+-- {requestShadowUpdate | updateShadow}
+
+--All-operations-supplier-initiated OPERATION ::=
+-- {coordinateShadowUpdate | updateShadow}
+
+--coordinateShadowUpdate OPERATION ::= {
+-- ARGUMENT CoordinateShadowUpdateArgument
+-- RESULT CoordinateShadowUpdateResult
+-- ERRORS {shadowError}
+-- CODE id-opcode-coordinateShadowUpdate
+--}
+
+CoordinateShadowUpdateArgumentData ::=
+-- OPTIONALLY-PROTECTED
+-- {[0] -- SEQUENCE {agreementID AgreementID,
+ lastUpdate Time OPTIONAL,
+ updateStrategy
+ CHOICE {standard
+ ENUMERATED {noChanges(0), incremental(1),
+ total(2)},
+ other EXTERNAL},
+ securityParameters SecurityParameters OPTIONAL} --}
+
+-- expand OPTIONALLY-PROTECTED macro
+CoordinateShadowUpdateArgument ::= CHOICE {
+ unsignedCoordinateShadowUpdateArgument [0] CoordinateShadowUpdateArgumentData,
+ signedCoordinateShadowUpdateArgument SEQUENCE {
+ coordinateShadowUpdateArgument [0] CoordinateShadowUpdateArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+CoordinateShadowUpdateResult ::= CHOICE {
+ null NULL,
+ information Information
+-- OPTIONALLY-PROTECTED{ [0] SEQUENCE {agreementID AgreementID,
+-- lastUpdate Time OPTIONAL,
+-- COMPONENTS OF CommonResultsSeq
+-- }}
+}
+
+InformationData ::= SEQUENCE {
+ agreementID AgreementID,
+ lastUpdate Time OPTIONAL,
+-- COMPONENTS OF CommonResultsSeq
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE --SIZE (1..MAX)-- OF Attribute OPTIONAL
+ }
+
+-- expand OPTIONALLY-PROTECTED macro
+Information ::= CHOICE {
+ unsignedInformation [0] InformationData,
+ signedInformation SEQUENCE {
+ information [0] InformationData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+--requestShadowUpdate OPERATION ::= {
+-- ARGUMENT RequestShadowUpdateArgument
+-- RESULT RequestShadowUpdateResult
+-- ERRORS {shadowError}
+-- CODE id-opcode-requestShadowUpdate
+--}
+
+RequestShadowUpdateArgumentData ::=
+-- OPTIONALLY-PROTECTED
+-- { [0] -- SEQUENCE {agreementID AgreementID,
+ lastUpdate Time OPTIONAL,
+ requestedStrategy
+ CHOICE {standard ENUMERATED {incremental(1), total(2)},
+ other EXTERNAL},
+ securityParameters SecurityParameters OPTIONAL} --}
+
+-- expand OPTIONALLY-PROTECTED macro
+RequestShadowUpdateArgument ::= CHOICE {
+ unsignedRequestShadowUpdateArgument [0] RequestShadowUpdateArgumentData,
+ signedRequestShadowUpdateArgument SEQUENCE {
+ requestShadowUpdateArgument [0] RequestShadowUpdateArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+RequestShadowUpdateResult ::= CHOICE {
+ null NULL,
+ information Information
+-- OPTIONALLY-PROTECTED{[0] SEQUENCE {agreementID AgreementID,
+-- lastUpdate Time OPTIONAL,
+-- COMPONENTS OF CommonResultsSeq
+-- }}
+}
+
+--updateShadow OPERATION ::= {
+-- ARGUMENT UpdateShadowArgument
+-- RESULT UpdateShadowResult
+-- ERRORS {shadowError}
+-- CODE id-opcode-updateShadow
+--}
+
+UpdateShadowArgumentData ::=
+-- OPTIONALLY-PROTECTED
+-- { [0] -- SEQUENCE {agreementID AgreementID,
+ updateTime Time,
+ updateWindow UpdateWindow OPTIONAL,
+ updatedInfo RefreshInformation,
+ securityParameters SecurityParameters OPTIONAL} --}
+
+-- expand OPTIONALLY-PROTECTED macro
+UpdateShadowArgument ::= CHOICE {
+ unsignedUpdateShadowArgument [0] UpdateShadowArgumentData,
+ signedUpdateShadowArgument SEQUENCE {
+ updateShadowArgument [0] UpdateShadowArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+UpdateShadowResult ::= CHOICE {
+ null NULL,
+ information Information
+-- OPTIONALLY-PROTECTED{ [0] SEQUENCE {agreementID AgreementID,
+-- lastUpdate Time OPTIONAL,
+-- COMPONENTS OF CommonResultsSeq
+-- }}
+}
+
+UpdateWindow ::= SEQUENCE {start Time,
+ stop Time
+}
+
+RefreshInformation ::= CHOICE {
+ noRefresh NULL,
+ total [0] TotalRefresh,
+ incremental [1] IncrementalRefresh,
+ otherStrategy EXTERNAL
+}
+
+TotalRefresh ::= SEQUENCE {
+ sDSE SDSEContent OPTIONAL,
+ subtree SET --SIZE (1..MAX)-- OF Subtree OPTIONAL
+}
+
+SDSEContent ::= SEQUENCE {
+ sDSEType SDSEType,
+ subComplete [0] BOOLEAN DEFAULT FALSE,
+ attComplete [1] BOOLEAN OPTIONAL,
+ attributes SET OF Attribute,
+ attValIncomplete SET OF AttributeType DEFAULT {}
+}
+
+SDSEType ::= DSEType
+
+Subtree ::= SEQUENCE {
+ rdn RelativeDistinguishedName,
+-- COMPONENTS OF TotalRefresh
+ sDSE SDSEContent OPTIONAL,
+ subtree SET --SIZE (1..MAX)-- OF Subtree OPTIONAL
+}
+
+IncrementalRefresh ::= SEQUENCE OF IncrementalStepRefresh
+
+IncrementalStepRefresh ::= SEQUENCE {
+ sDSEChanges
+ CHOICE {add [0] SDSEContent,
+ remove NULL,
+ modify [1] ContentChange} OPTIONAL,
+ subordinateUpdates SEQUENCE --SIZE (1..MAX)-- OF SubordinateChanges OPTIONAL
+}
+
+ContentChange ::= SEQUENCE {
+ rename
+ CHOICE {newRDN RelativeDistinguishedName,
+ newDN DistinguishedName} OPTIONAL,
+ attributeChanges
+ CHOICE {replace [0] SET --SIZE (1..MAX)-- OF Attribute,
+ changes [1] SEQUENCE --SIZE (1..MAX)-- OF EntryModification
+ } OPTIONAL,
+ sDSEType SDSEType,
+ subComplete [2] BOOLEAN DEFAULT FALSE,
+ attComplete [3] BOOLEAN OPTIONAL,
+ attValIncomplete SET OF AttributeType DEFAULT {}
+}
+
+SubordinateChanges ::= SEQUENCE {
+ subordinate RelativeDistinguishedName,
+ changes IncrementalStepRefresh
+}
+
+-- errors and parameters
+ShadowErrorData ::= -- ERROR ::= {
+-- PARAMETER OPTIONALLY-PROTECTED-SEQ
+-- { --SEQUENCE {problem ShadowProblem,
+ lastUpdate Time OPTIONAL,
+ updateWindow UpdateWindow OPTIONAL,
+-- COMPONENTS OF CommonResultsSeq}}
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE --SIZE (1..MAX)-- OF Attribute OPTIONAL
+-- CODE id-errcode-shadowError
+}
+
+-- OPTIONALLY-PROTECTED-SEQ macro expansion
+ShadowError ::= CHOICE {
+ unsignedShadowError ShadowErrorData,
+ signedShadowError [0] SEQUENCE {
+ shadowError ShadowErrorData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+ShadowProblem ::= INTEGER {
+ invalidAgreementID(1), inactiveAgreement(2), invalidInformationReceived(3),
+ unsupportedStrategy(4), missedPrevious(5), fullUpdateRequired(6),
+ unwillingToPerform(7), unsuitableTiming(8), updateAlreadyReceived(9),
+ invalidSequencing(10), insufficientResources(11)}
+
+END -- DirectoryShadowAbstractService
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/disp/disp.cnf b/epan/dissectors/asn1/disp/disp.cnf
new file mode 100644
index 00000000..13370111
--- /dev/null
+++ b/epan/dissectors/asn1/disp/disp.cnf
@@ -0,0 +1,109 @@
+#.TYPE_ATTR
+Time TYPE = FT_STRING DISPLAY = BASE_NONE STRING = NULL BITMASK = 0
+
+#.MODULE_IMPORT
+OperationalBindingManagement dop
+
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../dap/dap-exp.cnf
+#.IMPORT ../dsp/dsp-exp.cnf
+#.IMPORT ../dop/dop-exp.cnf
+
+#.EXPORTS
+AgreementID
+
+#.NO_EMIT ONLY_VALS
+CoordinateShadowUpdateArgument
+RequestShadowUpdateArgument
+UpdateShadowArgument
+ShadowError
+
+#.TYPE_RENAME
+CoordinateShadowUpdateArgumentData/updateStrategy/standard StandardUpdate
+
+#.FIELD_RENAME
+UnitOfReplication/attributes replication-attributes
+SubordinateChanges/changes subordinate-changes
+ModificationParameter/secondaryShadows modifiedSecondaryShadows
+CoordinateShadowUpdateArgumentData/updateStrategy/standard standardUpdate
+Information/signedInformation/information information-data
+#.FIELD_ATTR
+ModificationParameter/secondaryShadows ABBREV=modifiedSecondaryShadows
+
+#.REGISTER
+ShadowingAgreementInfo S dop.oid "agreement.2.5.19.1"
+EstablishParameter S dop.oid "establish.rolea.2.5.19.1"
+EstablishParameter S dop.oid "establish.roleb.2.5.19.1"
+ModificationParameter S dop.oid "modify.rolea.2.5.19.1"
+ModificationParameter S dop.oid "modify.roleb.2.5.19.1"
+
+
+
+
+#.FN_BODY RequestShadowUpdateArgumentData/requestedStrategy/standard VAL_PTR=&update
+ guint32 update;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_T_standard_vals, "standard(%%d"));
+
+#.FN_PARS RefreshInformation
+ VAL_PTR = &update
+
+#.FN_BODY RefreshInformation
+ guint32 update;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_RefreshInformation_vals, "unknown(%%d)"));
+
+#.END
+
+
+#.FN_BODY CoordinateShadowUpdateArgumentData/updateStrategy/standard VAL_PTR = &update
+ guint32 update;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_StandardUpdate_vals, "unknown(%%d)"));
+
+#.FN_PARS CoordinateShadowUpdateResult
+ VAL_PTR = &update
+
+#.FN_BODY CoordinateShadowUpdateResult
+ guint32 update;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_CoordinateShadowUpdateResult_vals, "unknown(%%d)"));
+
+#.FN_PARS RequestShadowUpdateResult
+ VAL_PTR = &update
+
+#.FN_BODY RequestShadowUpdateResult
+ guint32 update;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_RequestShadowUpdateResult_vals, "unknown(%%d)"));
+
+#.FN_PARS UpdateShadowResult
+ VAL_PTR = &update
+
+#.FN_BODY UpdateShadowResult
+ guint32 update;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(update, disp_UpdateShadowResult_vals, "unknown(%%d)"));
+
+#.FN_PARS ShadowProblem
+ VAL_PTR = &problem
+
+#.FN_BODY ShadowProblem
+ guint32 problem;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, disp_ShadowProblem_vals, "ShadowProblem(%%d)"));
diff --git a/epan/dissectors/asn1/disp/packet-disp-template.c b/epan/dissectors/asn1/disp/packet-disp-template.c
new file mode 100644
index 00000000..a004a2db
--- /dev/null
+++ b/epan/dissectors/asn1/disp/packet-disp-template.c
@@ -0,0 +1,251 @@
+/* packet-disp.c
+ * Routines for X.525 (X.500 Directory Shadow Asbtract Service) and X.519 DISP packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ros.h"
+#include "packet-rtse.h"
+
+#include "packet-x509if.h"
+#include "packet-x509af.h"
+#include "packet-x509sat.h"
+#include "packet-crmf.h"
+
+#include "packet-dop.h"
+#include "packet-dap.h"
+#include "packet-dsp.h"
+#include "packet-disp.h"
+
+
+/* we don't have a separate dissector for X519 -
+ and most of DISP is defined in X525 */
+#define PNAME "X.519 Directory Information Shadowing Protocol"
+#define PSNAME "DISP"
+#define PFNAME "disp"
+
+void proto_register_disp(void);
+void proto_reg_handoff_disp(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_disp = -1;
+
+#include "packet-disp-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_disp = -1;
+#include "packet-disp-ett.c"
+
+static expert_field ei_disp_unsupported_opcode = EI_INIT;
+static expert_field ei_disp_unsupported_errcode = EI_INIT;
+static expert_field ei_disp_unsupported_pdu = EI_INIT;
+static expert_field ei_disp_zero_pdu = EI_INIT;
+
+static dissector_handle_t disp_handle = NULL;
+
+#include "packet-disp-fn.c"
+
+/*
+* Dissect DISP PDUs inside a ROS PDUs
+*/
+static int
+dissect_disp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ int offset = 0;
+ int old_offset;
+ proto_item *item;
+ proto_tree *tree;
+ struct SESSION_DATA_STRUCTURE* session;
+ int (*disp_dissector)(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) = NULL;
+ const char *disp_op_name;
+ asn1_ctx_t asn1_ctx;
+
+ /* do we have operation information from the ROS dissector */
+ if (data == NULL)
+ return 0;
+ session = (struct SESSION_DATA_STRUCTURE*)data;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ asn1_ctx.private_data = session;
+
+ item = proto_tree_add_item(parent_tree, proto_disp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_disp);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "DISP");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ switch(session->ros_op & ROS_OP_MASK) {
+ case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
+ disp_dissector = dissect_disp_DSAShadowBindArgument;
+ disp_op_name = "Shadow-Bind-Argument";
+ break;
+ case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
+ disp_dissector = dissect_disp_DSAShadowBindResult;
+ disp_op_name = "Shadow-Bind-Result";
+ break;
+ case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
+ disp_dissector = dissect_disp_DSAShadowBindError;
+ disp_op_name = "Shadow-Bind-Error";
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 1: /* requestShadowUpdate */
+ disp_dissector = dissect_disp_RequestShadowUpdateArgument;
+ disp_op_name = "Request-Shadow-Update-Argument";
+ break;
+ case 2: /* updateShadow*/
+ disp_dissector = dissect_disp_UpdateShadowArgument;
+ disp_op_name = "Update-Shadow-Argument";
+ break;
+ case 3: /* coordinateShadowUpdate */
+ disp_dissector = dissect_disp_CoordinateShadowUpdateArgument;
+ disp_op_name = "Coordinate-Shadow-Update-Argument";
+ break;
+ default:
+ proto_tree_add_expert_format(tree, pinfo, &ei_disp_unsupported_opcode, tvb, offset, -1,
+ "Unsupported DISP opcode (%d)", session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 1: /* requestShadowUpdate */
+ disp_dissector = dissect_disp_RequestShadowUpdateResult;
+ disp_op_name = "Request-Shadow-Result";
+ break;
+ case 2: /* updateShadow */
+ disp_dissector = dissect_disp_UpdateShadowResult;
+ disp_op_name = "Update-Shadow-Result";
+ break;
+ case 3: /* coordinateShadowUpdate */
+ disp_dissector = dissect_disp_CoordinateShadowUpdateResult;
+ disp_op_name = "Coordinate-Shadow-Update-Result";
+ break;
+ default:
+ proto_tree_add_expert_format(tree, pinfo, &ei_disp_unsupported_opcode, tvb, offset, -1,
+ "Unsupported DISP opcode (%d)", session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 1: /* shadowError */
+ disp_dissector = dissect_disp_ShadowError;
+ disp_op_name = "Shadow-Error";
+ break;
+ default:
+ proto_tree_add_expert_format(tree, pinfo, &ei_disp_unsupported_errcode, tvb, offset, -1,
+ "Unsupported DISP errcode (%d)", session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ default:
+ proto_tree_add_expert(tree, pinfo, &ei_disp_unsupported_pdu, tvb, offset, -1);
+ return tvb_captured_length(tvb);
+ }
+
+ if(disp_dissector) {
+ col_set_str(pinfo->cinfo, COL_INFO, disp_op_name);
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0){
+ old_offset=offset;
+ offset=(*disp_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, -1);
+ if(offset == old_offset){
+ proto_tree_add_expert(tree, pinfo, &ei_disp_zero_pdu, tvb, offset, -1);
+ break;
+ }
+ }
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+
+/*--- proto_register_disp -------------------------------------------*/
+void proto_register_disp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+#include "packet-disp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_disp,
+#include "packet-disp-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_disp_unsupported_opcode, { "disp.unsupported_opcode", PI_UNDECODED, PI_WARN, "Unsupported DISP opcode", EXPFILL }},
+ { &ei_disp_unsupported_errcode, { "disp.unsupported_errcode", PI_UNDECODED, PI_WARN, "Unsupported DISP errcode", EXPFILL }},
+ { &ei_disp_unsupported_pdu, { "disp.unsupported_pdu", PI_UNDECODED, PI_WARN, "Unsupported DISP PDU", EXPFILL }},
+ { &ei_disp_zero_pdu, { "disp.zero_pdu", PI_PROTOCOL, PI_ERROR, "Internal error, zero-byte DISP PDU", EXPFILL }},
+ };
+
+ module_t *disp_module;
+ expert_module_t* expert_disp;
+
+ /* Register protocol */
+ proto_disp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ disp_handle = register_dissector("disp", dissect_disp, proto_disp);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_disp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_disp = expert_register_protocol(proto_disp);
+ expert_register_field_array(expert_disp, ei, array_length(ei));
+
+ /* Register our configuration options for DISP, particularly our port */
+
+ disp_module = prefs_register_protocol_subtree("OSI/X.500", proto_disp, NULL);
+
+ prefs_register_obsolete_preference(disp_module, "tcp.port");
+
+ prefs_register_static_text_preference(disp_module, "tcp_port_info",
+ "The TCP ports used by the DISP protocol should be added to the TPKT preference \"TPKT TCP ports\", or by selecting \"TPKT\" as the \"Transport\" protocol in the \"Decode As\" dialog.",
+ "DISP TCP Port preference moved information");
+
+}
+
+
+/*--- proto_reg_handoff_disp --- */
+void proto_reg_handoff_disp(void) {
+ #include "packet-disp-dis-tab.c"
+
+ /* APPLICATION CONTEXT */
+
+ oid_add_from_string("id-ac-shadow-consumer-initiated","2.5.3.4");
+ oid_add_from_string("id-ac-shadow-supplier-initiated","2.5.3.5");
+ oid_add_from_string("id-ac-reliable-shadow-consumer-initiated","2.5.3.6");
+ oid_add_from_string("id-ac-reliable-shadow-supplier-initiated","2.5.3.7");
+
+ /* ABSTRACT SYNTAXES */
+ register_ros_oid_dissector_handle("2.5.9.3", disp_handle, 0, "id-as-directory-shadow", FALSE);
+ register_rtse_oid_dissector_handle("2.5.9.5", disp_handle, 0, "id-as-directory-reliable-shadow", FALSE);
+ register_rtse_oid_dissector_handle("2.5.9.6", disp_handle, 0, "id-as-directory-reliable-binding", FALSE);
+
+ /* OPERATIONAL BINDING */
+ oid_add_from_string("id-op-binding-shadow","2.5.1.0.5.1");
+
+ /* DNs */
+ x509if_register_fmt(hf_disp_contextPrefix, "cp=");
+
+}
diff --git a/epan/dissectors/asn1/disp/packet-disp-template.h b/epan/dissectors/asn1/disp/packet-disp-template.h
new file mode 100644
index 00000000..39bc4233
--- /dev/null
+++ b/epan/dissectors/asn1/disp/packet-disp-template.h
@@ -0,0 +1,17 @@
+/* packet-disp.h
+ * Routines for X.525 (X.400 Message Transfer) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_DISP_H
+#define PACKET_DISP_H
+
+#include "packet-disp-exp.h"
+
+#endif /* PACKET_DISP_H */
diff --git a/epan/dissectors/asn1/dop/CMakeLists.txt b/epan/dissectors/asn1/dop/CMakeLists.txt
new file mode 100644
index 00000000..a7223b3c
--- /dev/null
+++ b/epan/dissectors/asn1/dop/CMakeLists.txt
@@ -0,0 +1,48 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME dop )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../dap/dap-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../dsp/dsp-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../crmf/crmf-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/dop/dop.asn b/epan/dissectors/asn1/dop/dop.asn
new file mode 100644
index 00000000..cba83c05
--- /dev/null
+++ b/epan/dissectors/asn1/dop/dop.asn
@@ -0,0 +1,881 @@
+-- Module DSAOperationalAttributeTypes (X.501:02/2001)
+DSAOperationalAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ dsaOperationalAttributeTypes(22) 4} DEFINITIONS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+ distributedOperations, id-doa, id-kmr, informationFramework,
+ opBindingManagement, selectedAttributeTypes, upperBounds
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 4}
+ ATTRIBUTE, MATCHING-RULE, Name, Attribute, DistinguishedName,
+ RelativeDistinguishedName, Refinement, SubtreeSpecification, AttributeType, ContextAssertion
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 4}
+-- OperationalBindingID
+-- FROM OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
+-- opBindingManagement(18) 4}
+ -- from ITU-T Rec. X.518 | ISO/IEC 9594-4
+ AccessPoint, MasterAndShadowAccessPoints
+ FROM DistributedOperations {joint-iso-itu-t ds(5) module(1)
+ distributedOperations(3) 4}
+ -- from ITU-T Rec. X.520 | ISO/IEC 9594-6
+ DirectoryString, NameAndOptionalUID, bitStringMatch
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 4}
+ PresentationAddress, ProtocolInformation
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 4}
+ DirectoryBindArgument, DirectoryBindError, SecurityParameters
+ FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
+ directoryAbstractService(2) 5}
+ -- from ITU-T Rec. X.509 | ISO/IEC 9594-8
+ AlgorithmIdentifier
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 4}
+ AttributeTypeAndValue
+ FROM BasicAccessControl {joint-iso-itu-t ds(5) module(1)
+ basicAccessControl(24) 4}
+ Filter
+ FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
+ directoryAbstractService(2) 4};
+
+-- data types
+DSEType ::= BIT STRING {
+ root(0), -- root DSE
+ glue(1), -- represents knowledge of a name only
+ cp(2), -- context prefix
+ entry(3), -- object entry
+ alias(4), -- alias entry
+ subr(5), -- subordinate reference
+ nssr(6), -- non-specific subordinate reference
+ supr(7), -- superior reference
+ xr(8), -- cross reference
+ admPoint(9), -- administrative point
+ subentry(10), -- subentry
+ shadow(11), -- shadow copy
+ immSupr(13), -- immediate superior reference
+ rhob(14), -- rhob information
+ sa(15), -- subordinate reference to alias entry
+ dsSubentry(16), -- DSA Specific subentry
+ familyMember(17), -- family member
+ ditBridge(18), -- DIT bridge reference
+ writeableCopy(19) -- writeable copy
+}
+
+SupplierOrConsumer ::= SET {
+-- COMPONENTS OF AccessPoint, - - supplier or consumer
+ ae-title [0] Name,
+ address [1] PresentationAddress,
+ protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
+ agreementID [3] OperationalBindingID
+}
+
+SupplierInformation ::= SET {
+-- COMPONENTS OF SupplierOrConsumer, - - supplier
+ ae-title [0] Name,
+ address [1] PresentationAddress,
+ protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
+ agreementID [3] OperationalBindingID,
+ supplier-is-master [4] BOOLEAN DEFAULT TRUE,
+ non-supplying-master [5] AccessPoint OPTIONAL
+}
+
+ConsumerInformation ::= SupplierOrConsumer -- consumer
+
+SupplierAndConsumers ::= SET {
+-- COMPONENTS OF AccessPoint, - - supplier
+ ae-title [0] Name,
+ address [1] PresentationAddress,
+ protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
+ consumers [3] SET OF AccessPoint
+}
+
+-- attribute types
+--dseType ATTRIBUTE ::= {
+-- WITH SYNTAX DSEType
+-- EQUALITY MATCHING RULE bitStringMatch
+-- SINGLE VALUE TRUE
+-- NO USER MODIFICATION TRUE
+-- USAGE dSAOperation
+-- ID id-doa-dseType
+--}
+
+--myAccessPoint ATTRIBUTE ::= {
+-- WITH SYNTAX AccessPoint
+-- EQUALITY MATCHING RULE accessPointMatch
+-- SINGLE VALUE TRUE
+-- NO USER MODIFICATION TRUE
+-- USAGE dSAOperation
+-- ID id-doa-myAccessPoint
+--}
+
+--superiorKnowledge ATTRIBUTE ::= {
+-- WITH SYNTAX AccessPoint
+-- EQUALITY MATCHING RULE accessPointMatch
+-- NO USER MODIFICATION TRUE
+-- USAGE dSAOperation
+-- ID id-doa-superiorKnowledge
+--}
+
+--specificKnowledge ATTRIBUTE ::= {
+-- WITH SYNTAX MasterAndShadowAccessPoints
+-- EQUALITY MATCHING RULE masterAndShadowAccessPointsMatch
+-- SINGLE VALUE TRUE
+-- NO USER MODIFICATION TRUE
+-- USAGE distributedOperation
+-- ID id-doa-specificKnowledge
+--}
+
+--nonSpecificKnowledge ATTRIBUTE ::= {
+-- WITH SYNTAX MasterAndShadowAccessPoints
+-- EQUALITY MATCHING RULE masterAndShadowAccessPointsMatch
+-- NO USER MODIFICATION TRUE
+-- USAGE distributedOperation
+-- ID id-doa-nonSpecificKnowledge
+--}
+
+--supplierKnowledge ATTRIBUTE ::= {
+-- WITH SYNTAX SupplierInformation
+-- EQUALITY MATCHING RULE supplierOrConsumerInformationMatch
+-- NO USER MODIFICATION TRUE
+-- USAGE dSAOperation
+-- ID id-doa-supplierKnowledge
+--}
+
+--consumerKnowledge ATTRIBUTE ::= {
+-- WITH SYNTAX ConsumerInformation
+-- EQUALITY MATCHING RULE supplierOrConsumerInformationMatch
+-- NO USER MODIFICATION TRUE
+-- USAGE dSAOperation
+-- ID id-doa-consumerKnowledge
+--}
+
+--secondaryShadows ATTRIBUTE ::= {
+-- WITH SYNTAX SupplierAndConsumers
+-- EQUALITY MATCHING RULE supplierAndConsumersMatch
+-- NO USER MODIFICATION TRUE
+-- USAGE dSAOperation
+-- ID id-doa-secondaryShadows
+--}
+
+-- matching rules
+--accessPointMatch MATCHING-RULE ::= {
+-- SYNTAX Name
+-- ID id-kmr-accessPointMatch
+--}
+
+--masterAndShadowAccessPointsMatch MATCHING-RULE ::= {
+-- SYNTAX SET OF Name
+-- ID id-kmr-masterShadowMatch
+--}
+
+--supplierOrConsumerInformationMatch MATCHING-RULE ::= {
+-- SYNTAX
+-- SET {ae-title [0] Name,
+-- agreement-identifier [2] INTEGER}
+-- ID id-kmr-supplierConsumerMatch
+--}
+
+--supplierAndConsumersMatch MATCHING-RULE ::= {
+-- SYNTAX Name
+-- ID id-kmr-supplierConsumersMatch
+--}
+
+-- object identifier assignments
+-- dsa operational attributes
+--id-doa-dseType OBJECT IDENTIFIER ::=
+-- {id-doa 0}
+
+--id-doa-myAccessPoint OBJECT IDENTIFIER ::= {id-doa 1}
+
+--id-doa-superiorKnowledge OBJECT IDENTIFIER ::= {id-doa 2}
+
+--id-doa-specificKnowledge OBJECT IDENTIFIER ::= {id-doa 3}
+
+--id-doa-nonSpecificKnowledge OBJECT IDENTIFIER ::= {id-doa 4}
+
+--id-doa-supplierKnowledge OBJECT IDENTIFIER ::= {id-doa 5}
+
+--id-doa-consumerKnowledge OBJECT IDENTIFIER ::= {id-doa 6}
+
+--id-doa-secondaryShadows OBJECT IDENTIFIER ::= {id-doa 7}
+
+-- knowledge matching rules
+--id-kmr-accessPointMatch OBJECT IDENTIFIER ::=
+-- {id-kmr 0}
+
+--id-kmr-masterShadowMatch OBJECT IDENTIFIER ::= {id-kmr 1}
+
+--id-kmr-supplierConsumerMatch OBJECT IDENTIFIER ::= {id-kmr 2}
+
+--id-kmr-supplierConsumersMatch OBJECT IDENTIFIER ::= {id-kmr 3}
+
+--END DSAOperationalAttributeTypes
+
+-- we include this here to reduce the number of dissectors
+-- Module OperationalBindingManagement (X.501:08/2005)
+--OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
+-- opBindingManagement(18) 5} DEFINITIONS ::=
+--BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+--IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+-- directoryAbstractService, directoryShadowAbstractService,
+-- distributedOperations, directoryOSIProtocols, enhancedSecurity,
+-- hierarchicalOperationalBindings, commonProtocolSpecification
+-- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+-- usefulDefinitions(0) 5}
+-- OPTIONALLY-PROTECTED-SEQ
+-- FROM EnhancedSecurity {joint-iso-itu-t ds(5) modules(1)
+-- enhancedSecurity(28) 5}
+-- hierarchicalOperationalBinding, nonSpecificHierarchicalOperationalBinding
+-- FROM HierarchicalOperationalBindings hierarchicalOperationalBindings
+ -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
+-- CommonResultsSeq, directoryBind, directoryUnbind, securityError,
+-- SecurityParameters
+-- FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
+-- directoryAbstractService(2) 5}
+ -- from ITU-T Rec. X.518 | ISO/IEC 9594-4
+-- AccessPoint
+-- FROM DistributedOperations {joint-iso-itu-t ds(5) module(1)
+-- distributedOperations(3) 5}
+ -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
+-- id-err-operationalBindingError, id-op-establishOperationalBinding,
+-- id-op-modifyOperationalBinding, id-op-terminateOperationalBinding,
+-- OPERATION, ERROR
+-- FROM CommonProtocolSpecification commonProtocolSpecification
+-- APPLICATION-CONTEXT
+-- FROM DirectoryOSIProtocols directoryOSIProtocols
+ -- from ITU-T Rec. X.525 | ISO/IEC 9594-9
+-- shadowOperationalBinding
+-- FROM DirectoryShadowAbstractService directoryShadowAbstractService;
+
+-- bind and unbind
+dSAOperationalBindingManagementBind OPERATION ::=
+ directoryBind
+
+DSAOperationalManagementBindArgument ::= DirectoryBindArgument
+DSAOperationalManagementBindResult ::= DirectoryBindArgument
+DSAOperationalManagementBindError ::= DirectoryBindError
+
+dSAOperationalBindingManagementUnbind OPERATION ::= directoryUnbind
+
+-- operations, arguments and results
+--establishOperationalBinding OPERATION ::= {
+-- ARGUMENT EstablishOperationalBindingArgument
+-- RESULT EstablishOperationalBindingResult
+-- ERRORS {operationalBindingError | securityError}
+-- CODE id-op-establishOperationalBinding
+--}
+
+EstablishOperationalBindingArgumentData ::=
+-- OPTIONALLY-PROTECTED-SEQ
+-- {-- SEQUENCE {bindingType [0] --OPERATIONAL-BINDING.&id({OpBindingSet}) -- OBJECT IDENTIFIER,
+ bindingID [1] OperationalBindingID OPTIONAL,
+ accessPoint [2] AccessPoint,
+ -- symmetric, Role A initiates, or Role B initiates
+ initiator
+ CHOICE {symmetric
+ [3] -- OPERATIONAL-BINDING.&both.&EstablishParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY,
+ roleA-initiates
+ [4] -- OPERATIONAL-BINDING.&roleA.&EstablishParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY,
+ roleB-initiates
+ [5] -- OPERATIONAL-BINDING.&roleB.&EstablishParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY } OPTIONAL,
+ agreement
+ [6] -- OPERATIONAL-BINDING.&Agreement
+ -- ({OpBindingSet}{@bindingType}) -- ANY,
+ valid [7] Validity DEFAULT {},
+ securityParameters [8] SecurityParameters OPTIONAL} --}
+
+-- expand OPTIONALLY-PROTECTED macro
+EstablishOperationalBindingArgument ::= CHOICE {
+ unsignedEstablishOperationalBindingArgument EstablishOperationalBindingArgumentData,
+ signedEstablishOperationalBindingArgument SEQUENCE {
+ establishOperationalBindingArgument EstablishOperationalBindingArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+OperationalBindingID ::= SEQUENCE {identifier INTEGER,
+ version INTEGER
+}
+
+Validity ::= SEQUENCE {
+ validFrom [0] CHOICE {now [0] NULL,
+ time [1] Time } DEFAULT now:NULL,
+ validUntil
+ [1] CHOICE {explicitTermination [0] NULL,
+ time [1] Time
+ } DEFAULT explicitTermination:NULL
+}
+
+Time ::= CHOICE {utcTime UTCTime,
+ generalizedTime GeneralizedTime
+}
+
+EstablishOperationalBindingResult ::=
+-- OPTIONALLY-PROTECTED-SEQ
+-- {-- SEQUENCE {bindingType [0] --OPERATIONAL-BINDING.&id({OpBindingSet}) -- OBJECT IDENTIFIER,
+ bindingID [1] OperationalBindingID OPTIONAL,
+ accessPoint [2] AccessPoint,
+ -- symmetric, Role A replies , or Role B replies
+ initiator
+ CHOICE {symmetric
+ [3] -- OPERATIONAL-BINDING.&both.&EstablishParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY,
+ roleA-replies
+ [4] -- OPERATIONAL-BINDING.&roleA.&EstablishParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY,
+ roleB-replies
+ [5] -- OPERATIONAL-BINDING.&roleB.&EstablishParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY } OPTIONAL,
+-- COMPONENTS OF CommonResultsSeq}}
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL}
+
+
+--modifyOperationalBinding OPERATION ::= {
+-- ARGUMENT ModifyOperationalBindingArgument
+-- RESULT ModifyOperationalBindingResult
+-- ERRORS {operationalBindingError | securityError}
+-- CODE id-op-modifyOperationalBinding
+--}
+
+ModifyOperationalBindingArgumentData ::=
+-- OPTIONALLY-PROTECTED-SEQ
+-- {--SEQUENCE {bindingType [0] --OPERATIONAL-BINDING.&id({OpBindingSet})-- OBJECT IDENTIFIER,
+ bindingID [1] OperationalBindingID,
+ accessPoint [2] AccessPoint OPTIONAL,
+ -- symmetric, Role A initiates, or Role B initiates
+ initiator
+ CHOICE {symmetric
+ [3] -- OPERATIONAL-BINDING.&both.&ModifyParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY,
+ roleA-initiates
+ [4] -- OPERATIONAL-BINDING.&roleA.&ModifyParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY,
+ roleB-initiates
+ [5] -- OPERATIONAL-BINDING.&roleB.&ModifyParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY } OPTIONAL,
+ newBindingID [6] OperationalBindingID,
+ newAgreement
+ [7] -- OPERATIONAL-BINDING.&Agreement
+ -- ({OpBindingSet}{@bindingType}) -- ANY OPTIONAL,
+ valid [8] Validity OPTIONAL,
+ securityParameters [9] SecurityParameters OPTIONAL} -- }
+
+
+ModifyOperationalBindingArgument ::= CHOICE {
+ unsignedModifyOperationalBindingArgument ModifyOperationalBindingArgumentData,
+ signedModifyOperationalBindingArgument SEQUENCE {
+ modifyOperationalBindingArgument ModifyOperationalBindingArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ModifyOperationalBindingResult ::= CHOICE {
+ null [0] NULL,
+ protected [1] SEQUENCE {
+ modifyOperationalBindingResultData ModifyOperationalBindingResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ModifyOperationalBindingResultData ::= SEQUENCE {
+ newBindingID OperationalBindingID,
+ bindingType
+ -- OPERATIONAL-BINDING.&id
+ -- ({OpBindingSet}) -- OBJECT IDENTIFIER,
+ newAgreement
+ -- OPERATIONAL-BINDING.&Agreement
+ -- ({OpBindingSet}{@.bindingType}) -- ANY,
+ valid Validity OPTIONAL,
+ --COMPONENTS OF CommonResultsSeq
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+ -- }}
+}
+
+--terminateOperationalBinding OPERATION ::= {
+-- ARGUMENT TerminateOperationalBindingArgument
+-- RESULT TerminateOperationalBindingResult
+-- ERRORS {operationalBindingError | securityError}
+-- CODE id-op-terminateOperationalBinding
+--}
+
+TerminateOperationalBindingArgumentData ::=
+-- OPTIONALLY-PROTECTED-SEQ
+-- {-- SEQUENCE {bindingType [0] --OPERATIONAL-BINDING.&id({OpBindingSet})-- OBJECT IDENTIFIER,
+ bindingID [1] OperationalBindingID,
+ -- symmetric, Role A initiates, or Role B initiates
+ initiator
+ CHOICE {symmetric
+ [2] -- OPERATIONAL-BINDING.&both.&TerminateParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY,
+ roleA-initiates
+ [3] -- OPERATIONAL-BINDING.&roleA.&TerminateParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY,
+ roleB-initiates
+ [4] -- OPERATIONAL-BINDING.&roleB.&TerminateParam
+ -- ({OpBindingSet}{@bindingType}) -- ANY } OPTIONAL,
+ terminateAt [5] Time OPTIONAL,
+ securityParameters [6] SecurityParameters OPTIONAL} --}
+
+
+TerminateOperationalBindingArgument ::= CHOICE {
+ unsignedTerminateOperationalBindingArgument TerminateOperationalBindingArgumentData,
+ signedTerminateOperationalBindingArgument SEQUENCE {
+ terminateOperationalBindingArgument TerminateOperationalBindingArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+TerminateOperationalBindingResult ::= CHOICE {
+ null [0] NULL,
+ protected [1] SEQUENCE {
+ terminateOperationalBindingResultData TerminateOperationalBindingResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+TerminateOperationalBindingResultData ::= SEQUENCE {
+ bindingID OperationalBindingID,
+ bindingType
+ -- OPERATIONAL-BINDING.&id
+ -- ({OpBindingSet}) -- OBJECT IDENTIFIER,
+ terminateAt GeneralizedTime OPTIONAL,
+ --COMPONENTS OF CommonResultsSeq
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+-- }}
+}
+
+-- errors and parameters
+--operationalBindingError ERROR ::= {
+-- PARAMETER OPTIONALLY-PROTECTED-SEQ {OpBindingErrorParam}
+-- CODE id-err-operationalBindingError
+--}
+
+OpBindingErrorParam ::= SEQUENCE {
+ problem
+ [0] ENUMERATED {invalidID(0), duplicateID(1), unsupportedBindingType(2),
+ notAllowedForRole(3), parametersMissing(4),
+ roleAssignment(5), invalidStartTime(6), invalidEndTime(7),
+ invalidAgreement(8), currentlyNotDecidable(9),
+ modificationNotAllowed(10)},
+ bindingType [1] --OPERATIONAL-BINDING.&id({OpBindingSet})-- OBJECT IDENTIFIER OPTIONAL,
+ agreementProposal
+ [2] -- OPERATIONAL-BINDING.&Agreement({OpBindingSet}{@bindingType})-- ANY OPTIONAL,
+ retryAt [3] Time OPTIONAL,
+-- COMPONENTS OF CommonResultsSeq
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
+
+}
+
+-- information object classes
+--OPERATIONAL-BINDING ::= CLASS {
+-- &Agreement ,
+-- &Cooperation OP-BINDING-COOP,
+-- &both OP-BIND-ROLE OPTIONAL,
+-- &roleA OP-BIND-ROLE OPTIONAL,
+-- &roleB OP-BIND-ROLE OPTIONAL,
+-- &id OBJECT IDENTIFIER UNIQUE
+--}
+--WITH SYNTAX {
+-- AGREEMENT &Agreement
+-- APPLICATION CONTEXTS &Cooperation
+-- [SYMMETRIC &both]
+-- [ASYMMETRIC
+-- [ROLE-A &roleA]
+-- [ROLE-B &roleB]]
+-- ID &id
+--}
+
+--OP-BINDING-COOP ::= CLASS {
+-- &applContext APPLICATION-CONTEXT,
+-- &Operations OPERATION OPTIONAL
+--}WITH SYNTAX {&applContext
+-- [APPLIES TO &Operations]
+--}
+
+--OP-BIND-ROLE ::= CLASS {
+-- &establish BOOLEAN DEFAULT FALSE,
+-- &EstablishParam OPTIONAL,
+-- &modify BOOLEAN DEFAULT FALSE,
+-- &ModifyParam OPTIONAL,
+-- &terminate BOOLEAN DEFAULT FALSE,
+-- &TerminateParam OPTIONAL
+--}
+--WITH SYNTAX {
+-- [ESTABLISHMENT-INITIATOR &establish]
+-- [ESTABLISHMENT-PARAMETER &EstablishParam]
+-- [MODIFICATION-INITIATOR &modify]
+-- [MODIFICATION-PARAMETER &ModifyParam]
+-- [TERMINATION-INITIATOR &terminate]
+-- [TERMINATION-PARAMETER &TerminateParam]
+--}
+
+--OpBindingSet OPERATIONAL-BINDING ::=
+-- {shadowOperationalBinding | hierarchicalOperationalBinding |
+-- nonSpecificHierarchicalOperationalBinding}
+
+--END - - OperationalBindingManagement
+
+-- Module HierarchicalOperationalBindings (X.518:08/2005)
+--HierarchicalOperationalBindings {joint-iso-itu-t ds(5) module(1)
+-- hierarchicalOperationalBindings(20) 5} DEFINITIONS ::=
+--BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+--IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+-- directoryOperationalBindingTypes, directoryOSIProtocols,
+-- distributedOperations, informationFramework, opBindingManagement
+-- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+-- usefulDefinitions(0) 5}
+-- Attribute, DistinguishedName, RelativeDistinguishedName
+-- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+-- informationFramework(1) 5}
+-- OPERATIONAL-BINDING
+-- FROM OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
+-- opBindingManagement(18) 5}
+ -- from ITU-T Rec. X.518 | ISO/IEC 9594-4
+-- MasterAndShadowAccessPoints
+-- FROM DistributedOperations {joint-iso-itu-t ds(5) module(1)
+-- distributedOperations(3) 5}
+ -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
+-- directorySystemAC
+-- FROM DirectoryOSIProtocols {joint-iso-itu-t ds(5) module(1)
+-- directoryOSIProtocols(37) 5}
+-- id-op-binding-hierarchical, id-op-binding-non-specific-hierarchical
+-- FROM DirectoryOperationalBindingTypes {joint-iso-itu-t ds(5) module(1)
+-- directoryOperationalBindingTypes(25) 5};
+
+-- types
+HierarchicalAgreement ::= SEQUENCE {
+ rdn [0] RelativeDistinguishedName,
+ immediateSuperior [1] DistinguishedName
+}
+
+SuperiorToSubordinate ::= SEQUENCE {
+ contextPrefixInfo [0] DITcontext,
+ entryInfo [1] SET --SIZE (1..MAX)-- OF Attribute OPTIONAL,
+ immediateSuperiorInfo [2] SET --SIZE (1..MAX)-- OF Attribute OPTIONAL
+}
+
+DITcontext ::= SEQUENCE OF Vertex
+
+Vertex ::= SEQUENCE {
+ rdn [0] RelativeDistinguishedName,
+ admPointInfo [1] SET --SIZE (1..MAX)-- OF Attribute OPTIONAL,
+ subentries [2] SET --SIZE (1..MAX)-- OF SubentryInfo OPTIONAL,
+ accessPoints [3] MasterAndShadowAccessPoints OPTIONAL
+}
+
+SubentryInfo ::= SEQUENCE {
+ rdn [0] RelativeDistinguishedName,
+ info [1] SET OF Attribute
+}
+
+SubordinateToSuperior ::= SEQUENCE {
+ accessPoints [0] MasterAndShadowAccessPoints OPTIONAL,
+ alias [1] BOOLEAN DEFAULT FALSE,
+ entryInfo [2] SET --SIZE (1..MAX)-- OF Attribute OPTIONAL,
+ subentries [3] SET --SIZE (1..MAX)-- OF SubentryInfo OPTIONAL
+}
+
+SuperiorToSubordinateModification ::=
+-- SuperiorToSubordinate(WITH COMPONENTS {
+-- ...,
+-- entryInfo ABSENT
+-- })
+ SEQUENCE {
+ contextPrefixInfo [0] DITcontext,
+ immediateSuperiorInfo [2] SET --SIZE (1..MAX)-- OF Attribute OPTIONAL
+}
+
+NonSpecificHierarchicalAgreement ::= SEQUENCE {
+ immediateSuperior [1] DistinguishedName
+}
+
+NHOBSuperiorToSubordinate ::=
+-- SuperiorToSubordinate(WITH COMPONENTS {
+-- ...,
+-- entryInfo ABSENT
+-- })
+ SEQUENCE {
+ contextPrefixInfo [0] DITcontext,
+ immediateSuperiorInfo [2] SET --SIZE (1..MAX)-- OF Attribute OPTIONAL
+}
+
+NHOBSubordinateToSuperior ::= SEQUENCE {
+ accessPoints [0] MasterAndShadowAccessPoints OPTIONAL,
+ subentries [3] SET --SIZE (1..MAX)-- OF SubentryInfo OPTIONAL
+}
+
+-- operational binding information objects
+--hierarchicalOperationalBinding OPERATIONAL-BINDING ::= {
+-- AGREEMENT HierarchicalAgreement
+-- APPLICATION CONTEXTS {{directorySystemAC}}
+-- ASYMMETRIC ROLE-A - - superior DSA - -
+-- {ESTABLISHMENT-INITIATOR TRUE
+-- ESTABLISHMENT-PARAMETER SuperiorToSubordinate
+-- MODIFICATION-INITIATOR TRUE
+-- MODIFICATION-PARAMETER SuperiorToSubordinateModification
+-- TERMINATION-INITIATOR TRUE}
+-- ROLE-B - - subordinate DSA - -
+-- {ESTABLISHMENT-INITIATOR TRUE
+-- ESTABLISHMENT-PARAMETER SubordinateToSuperior
+-- MODIFICATION-INITIATOR TRUE
+-- MODIFICATION-PARAMETER SubordinateToSuperior
+-- TERMINATION-INITIATOR TRUE}
+-- ID id-op-binding-hierarchical
+--}
+
+--nonSpecificHierarchicalOperationalBinding OPERATIONAL-BINDING ::= {
+-- AGREEMENT NonSpecificHierarchicalAgreement
+-- APPLICATION CONTEXTS {{directorySystemAC}}
+-- ASYMMETRIC ROLE-A - - superior DSA - -
+-- {ESTABLISHMENT-PARAMETER NHOBSuperiorToSubordinate
+-- MODIFICATION-INITIATOR TRUE
+-- MODIFICATION-PARAMETER NHOBSuperiorToSubordinate
+-- TERMINATION-INITIATOR TRUE}
+-- ROLE-B - - subordinate DSA - -
+-- {ESTABLISHMENT-INITIATOR TRUE
+-- ESTABLISHMENT-PARAMETER NHOBSubordinateToSuperior
+-- MODIFICATION-INITIATOR TRUE
+-- MODIFICATION-PARAMETER NHOBSubordinateToSuperior
+-- TERMINATION-INITIATOR TRUE}
+-- ID id-op-binding-non-specific-hierarchical
+--}
+
+--END - - HierarchicalOperationalBindings
+
+-- Module BasicAccessControl (X.501:02/2001)
+--BasicAccessControl {joint-iso-itu-t ds(5) module(1) basicAccessControl(24) 4}
+--DEFINITIONS ::=
+--BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+--IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+-- directoryAbstractService, id-aca, id-acScheme, informationFramework,
+-- selectedAttributeTypes, upperBounds
+-- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+-- usefulDefinitions(0) 4}
+-- ATTRIBUTE, AttributeType, ContextAssertion, DistinguishedName, MATCHING-RULE,
+-- objectIdentifierMatch, Refinement, SubtreeSpecification,
+-- SupportedAttributes
+-- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+-- informationFramework(1) 4}
+ -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
+-- Filter
+-- FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
+-- directoryAbstractService(2) 4}
+ -- from ITU-T Rec. X.520 | ISO/IEC 9594-6
+-- DirectoryString{}, directoryStringFirstComponentMatch, NameAndOptionalUID,
+-- UniqueIdentifier
+-- FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+-- selectedAttributeTypes(5) 4}
+-- ub-tag
+-- FROM UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 4};
+
+-- types
+ACIItem ::= SEQUENCE {
+ identificationTag DirectoryString --{ub-tag}--,
+ precedence Precedence,
+ authenticationLevel AuthenticationLevel,
+ itemOrUserFirst
+ CHOICE {itemFirst
+ [0] SEQUENCE {protectedItems ProtectedItems,
+ itemPermissions SET OF ItemPermission},
+ userFirst
+ [1] SEQUENCE {userClasses UserClasses,
+ userPermissions SET OF UserPermission}}
+}
+
+Precedence ::= INTEGER --(0..255)--
+
+ProtectedItems ::= SEQUENCE {
+ entry [0] NULL OPTIONAL,
+ allUserAttributeTypes [1] NULL OPTIONAL,
+ attributeType
+ [2] SET --SIZE (1..MAX)-- OF AttributeType OPTIONAL,
+ allAttributeValues
+ [3] SET --SIZE (1..MAX)-- OF AttributeType OPTIONAL,
+ allUserAttributeTypesAndValues [4] NULL OPTIONAL,
+ attributeValue
+ [5] SET --SIZE (1..MAX)-- OF AttributeTypeAndValue OPTIONAL,
+ selfValue
+ [6] SET --SIZE (1..MAX)-- OF AttributeType OPTIONAL,
+ rangeOfValues [7] Filter OPTIONAL,
+ maxValueCount
+ [8] SET --SIZE (1..MAX)-- OF MaxValueCount OPTIONAL,
+ maxImmSub [9] INTEGER OPTIONAL,
+ restrictedBy
+ [10] SET --SIZE (1..MAX)-- OF RestrictedValue OPTIONAL,
+ contexts
+ [11] SET --SIZE (1..MAX)-- OF ContextAssertion OPTIONAL,
+ classes [12] Refinement OPTIONAL
+}
+
+MaxValueCount ::= SEQUENCE {type AttributeType,
+ maxCount INTEGER
+}
+
+RestrictedValue ::= SEQUENCE {type AttributeType,
+ valuesIn AttributeType
+}
+
+UserClasses ::= SEQUENCE {
+ allUsers [0] NULL OPTIONAL,
+ thisEntry [1] NULL OPTIONAL,
+ name [2] SET --SIZE (1..MAX)-- OF NameAndOptionalUID OPTIONAL,
+ userGroup [3] SET --SIZE (1..MAX)-- OF NameAndOptionalUID OPTIONAL,
+ -- dn component shall be the name of an
+ -- entry of GroupOfUniqueNames
+ subtree [4] SET --SIZE (1..MAX)-- OF SubtreeSpecification OPTIONAL
+}
+
+ItemPermission ::= SEQUENCE {
+ precedence Precedence OPTIONAL,
+ -- defaults to precedence in ACIItem
+ userClasses UserClasses,
+ grantsAndDenials GrantsAndDenials
+}
+
+UserPermission ::= SEQUENCE {
+ precedence Precedence OPTIONAL,
+ -- defaults to precedence in ACIItem
+ protectedItems ProtectedItems,
+ grantsAndDenials GrantsAndDenials
+}
+
+AuthenticationLevel ::= CHOICE {
+ basicLevels
+ SEQUENCE {level ENUMERATED {none(0), simple(1), strong(2)},
+ localQualifier INTEGER OPTIONAL,
+ signed BOOLEAN DEFAULT FALSE},
+ other EXTERNAL
+}
+
+GrantsAndDenials ::= BIT STRING {
+ -- permissions that may be used in conjunction
+ -- with any component of ProtectedItems
+ grantAdd(0), denyAdd(1), grantDiscloseOnError(2), denyDiscloseOnError(3),
+ grantRead(4), denyRead(5), grantRemove(6),
+ denyRemove(7),
+ -- permissions that may be used only in conjunction
+ -- with the entry component
+ grantBrowse(8), denyBrowse(9), grantExport(10), denyExport(11),
+ grantImport(12), denyImport(13), grantModify(14), denyModify(15),
+ grantRename(16), denyRename(17), grantReturnDN(18),
+ denyReturnDN(19),
+ -- permissions that may be used in conjunction
+ -- with any component, except entry, of ProtectedItems
+ grantCompare(20), denyCompare(21), grantFilterMatch(22), denyFilterMatch(23),
+ grantInvoke(24), denyInvoke(25)}
+
+--AttributeTypeAndValue ::= SEQUENCE {
+-- type ATTRIBUTE.&id({SupportedAttributes}),
+-- value ATTRIBUTE.&Type({SupportedAttributes}{@type})
+--}
+
+-- attributes
+--accessControlScheme ATTRIBUTE ::= {
+-- WITH SYNTAX OBJECT IDENTIFIER
+-- EQUALITY MATCHING RULE objectIdentifierMatch
+-- SINGLE VALUE TRUE
+-- USAGE directoryOperation
+-- ID id-aca-accessControlScheme
+--}
+
+--prescriptiveACI ATTRIBUTE ::= {
+-- WITH SYNTAX ACIItem
+-- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
+-- USAGE directoryOperation
+-- ID id-aca-prescriptiveACI
+--}
+
+--entryACI ATTRIBUTE ::= {
+-- WITH SYNTAX ACIItem
+-- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
+-- USAGE directoryOperation
+-- ID id-aca-entryACI
+--}
+
+--subentryACI ATTRIBUTE ::= {
+-- WITH SYNTAX ACIItem
+-- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
+-- USAGE directoryOperation
+-- ID id-aca-subentryACI
+--}
+
+-- object identifier assignments
+-- attributes
+--id-aca-accessControlScheme OBJECT IDENTIFIER ::=
+-- {id-aca 1}
+
+--id-aca-prescriptiveACI OBJECT IDENTIFIER ::= {id-aca 4}
+
+--id-aca-entryACI OBJECT IDENTIFIER ::= {id-aca 5}
+
+--id-aca-subentryACI OBJECT IDENTIFIER ::= {id-aca 6}
+
+-- access control schemes -
+--basicAccessControlScheme OBJECT IDENTIFIER ::=
+-- {id-acScheme 1}
+
+--simplifiedAccessControlScheme OBJECT IDENTIFIER ::= {id-acScheme 2}
+
+--rule-based-access-control OBJECT IDENTIFIER ::= {id-acScheme 3}
+
+--rule-and-basic-access-control OBJECT IDENTIFIER ::= {id-acScheme 4}
+
+--rule-and-simple-access-control OBJECT IDENTIFIER ::= {id-acScheme 5}
+
+END -- BasicAccessControl
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
+
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/dop/dop.cnf b/epan/dissectors/asn1/dop/dop.cnf
new file mode 100644
index 00000000..2a16b355
--- /dev/null
+++ b/epan/dissectors/asn1/dop/dop.cnf
@@ -0,0 +1,207 @@
+#.IMPORT ../x509sat/x509sat-exp.cnf
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../dsp/dsp-exp.cnf
+#.IMPORT ../dap/dap-exp.cnf
+#.IMPORT ../crmf/crmf-exp.cnf
+
+#.MODULE_IMPORT
+BasicAccessControl crmf
+
+#.EXPORTS
+DSEType
+SupplierAndConsumers
+OperationalBindingID
+
+#.NO_EMIT ONLY_VALS
+EstablishOperationalBindingArgument
+ModifyOperationalBindingArgument
+ModifyOperationalBindingResult
+TerminateOperationalBindingArgument
+TerminateOperationalBindingResult
+
+#.TYPE_RENAME
+EstablishOperationalBindingArgumentData/initiator EstablishArgumentInitiator
+ModifyOperationalBindingArgumentData/initiator ModifyArgumentInitiator
+TerminateOperationalBindingArgumentData/initiator TerminateArgumentInitiator
+
+ModifyOperationalBindingArgumentData/newAgreement ArgumentNewAgreement
+ModifyOperationalBindingResultData/newAgreement ResultNewAgreement
+
+ModifyOperationalBindingResult/protected ProtectedModifyResult
+TerminateOperationalBindingResult/protected ProtectedTerminateResult
+
+EstablishOperationalBindingArgumentData/initiator/roleA-initiates EstablishRoleAInitiates
+ModifyOperationalBindingArgumentData/initiator/roleA-initiates ModifyRoleAInitiates
+TerminateOperationalBindingArgumentData/initiator/roleA-initiates TerminateRoleAInitiates
+
+EstablishOperationalBindingArgumentData/initiator/roleB-initiates EstablishRoleBInitiates
+ModifyOperationalBindingArgumentData/initiator/roleB-initiates ModifyRoleBInitiates
+TerminateOperationalBindingArgumentData/initiator/roleB-initiates TerminateRoleBInitiates
+
+EstablishOperationalBindingArgumentData/initiator/symmetric EstablishSymmetric
+ModifyOperationalBindingArgumentData/initiator/symmetric ModifySymmetric
+TerminateOperationalBindingArgumentData/initiator/symmetric TerminateSymmetric
+
+
+#.FIELD_RENAME
+EstablishOperationalBindingArgumentData/initiator establishInitiator
+ModifyOperationalBindingArgumentData/initiator modifyInitiator
+TerminateOperationalBindingArgumentData/initiator terminateInitiator
+
+ModifyOperationalBindingArgumentData/newAgreement argumentNewAgreement
+ModifyOperationalBindingResultData/newAgreement resultNewAgreement
+
+ModifyOperationalBindingResult/protected protectedModifyResult
+TerminateOperationalBindingResult/protected protectedTerminateResult
+
+EstablishOperationalBindingArgumentData/initiator/roleA-initiates establishRoleAInitiates
+ModifyOperationalBindingArgumentData/initiator/roleA-initiates modifyRoleAInitiates
+TerminateOperationalBindingArgumentData/initiator/roleA-initiates terminateRoleAInitiates
+
+EstablishOperationalBindingArgumentData/initiator/roleB-initiates establishRoleBInitiates
+ModifyOperationalBindingArgumentData/initiator/roleB-initiates modifyRoleBInitiates
+TerminateOperationalBindingArgumentData/initiator/roleB-initiates terminateRoleBInitiates
+
+EstablishOperationalBindingArgumentData/initiator/symmetric establishSymmetric
+ModifyOperationalBindingArgumentData/initiator/symmetric modifySymmetric
+TerminateOperationalBindingArgumentData/initiator/symmetric terminateSymmetric
+
+TerminateOperationalBindingArgumentData/terminateAt terminateAtTime
+TerminateOperationalBindingResultData/terminateAt terminateAtGeneralizedTime
+
+#.FIELD_ATTR
+TerminateOperationalBindingArgumentData/terminateAt ABBREV=terminateAtTime
+TerminateOperationalBindingResultData/terminateAt ABBREV=terminateAtGeneralizedTime
+
+
+
+#.REGISTER
+DSEType B "2.5.12.0" "id-doa-dseType"
+SupplierInformation B "2.5.12.5" "id-doa-supplierKnowledge"
+ConsumerInformation B "2.5.12.6" "id-doa-consumerKnowledge"
+SupplierAndConsumers B "2.5.12.7" "id-doa-secondaryShadows"
+
+HierarchicalAgreement S dop.oid "agreement.2.5.19.2"
+SuperiorToSubordinate S dop.oid "establish.rolea.2.5.19.2"
+SuperiorToSubordinateModification S dop.oid "modify.rolea.2.5.19.2"
+SubordinateToSuperior S dop.oid "establish.roleb.2.5.19.2"
+SubordinateToSuperior S dop.oid "modify.roleb.2.5.19.2"
+
+NonSpecificHierarchicalAgreement S dop.oid "agreement.2.5.19.3"
+NHOBSuperiorToSubordinate S dop.oid "establish.rolea.2.5.19.3"
+NHOBSuperiorToSubordinate S dop.oid "modify.rolea.2.5.19.3"
+NHOBSubordinateToSuperior S dop.oid "establish.roleb.2.5.19.3"
+NHOBSubordinateToSuperior S dop.oid "modify.roleb.2.5.19.3"
+
+ACIItem B "2.5.24.4" "id-aca-prescriptiveACI"
+ACIItem B "2.5.24.5" "id-aca-entryACI"
+ACIItem B "2.5.24.6" "id-aca-subentryACI"
+
+#.VIRTUAL_ASSGN
+BindingType EstablishOperationalBindingArgumentData/bindingType
+#.SET_TYPE
+EstablishOperationalBindingArgumentData/bindingType BindingType
+EstablishOperationalBindingResult/bindingType BindingType
+ModifyOperationalBindingArgumentData/bindingType BindingType
+ModifyOperationalBindingResultData/bindingType BindingType
+TerminateOperationalBindingArgumentData/bindingType BindingType
+TerminateOperationalBindingResultData/bindingType BindingType
+OpBindingErrorParam/bindingType BindingType
+#.END
+
+#.FN_PARS BindingType FN_VARIANT = _str VAL_PTR = &binding_type
+#.FN_FTR BindingType
+ append_oid(actx->pinfo, binding_type);
+#.END
+
+#.FN_BODY EstablishOperationalBindingArgumentData/initiator/symmetric
+
+ offset = call_dop_oid_callback("establish.symmetric", tvb, offset, actx->pinfo, tree, "symmetric", actx->private_data);
+
+#.FN_BODY EstablishOperationalBindingArgumentData/initiator/roleA-initiates
+
+ offset = call_dop_oid_callback("establish.rolea", tvb, offset, actx->pinfo, tree, "roleA", actx->private_data);
+
+#.FN_BODY EstablishOperationalBindingArgumentData/initiator/roleB-initiates
+
+ offset = call_dop_oid_callback("establish.roleb", tvb, offset, actx->pinfo, tree, "roleB", actx->private_data);
+
+#.FN_BODY ModifyOperationalBindingArgumentData/initiator/symmetric
+
+ offset = call_dop_oid_callback("modify.symmetric", tvb, offset, actx->pinfo, tree, "symmetric", actx->private_data);
+
+#.FN_BODY ModifyOperationalBindingArgumentData/initiator/roleA-initiates
+
+ offset = call_dop_oid_callback("modify.rolea", tvb, offset, actx->pinfo, tree, "roleA", actx->private_data);
+
+#.FN_BODY ModifyOperationalBindingArgumentData/initiator/roleB-initiates
+
+ offset = call_dop_oid_callback("modify.roleb", tvb, offset, actx->pinfo, tree, "roleB", actx->private_data);
+
+#.FN_BODY TerminateOperationalBindingArgumentData/initiator/symmetric
+
+ offset = call_dop_oid_callback("terminate.symmetric", tvb, offset, actx->pinfo, tree, "symmetric", actx->private_data);
+
+#.FN_BODY TerminateOperationalBindingArgumentData/initiator/roleA-initiates
+
+ offset = call_dop_oid_callback("terminate.rolea", tvb, offset, actx->pinfo, tree, "roleA", actx->private_data);
+
+#.FN_BODY TerminateOperationalBindingArgumentData/initiator/roleB-initiates
+
+ offset = call_dop_oid_callback("terminate.roleb", tvb, offset, actx->pinfo, tree, "roleB", actx->private_data);
+
+#.FN_BODY EstablishOperationalBindingArgumentData/agreement
+
+ offset = call_dop_oid_callback("agreement", tvb, offset, actx->pinfo, tree, NULL, actx->private_data);
+
+#.FN_BODY EstablishOperationalBindingResult/initiator/symmetric
+
+ offset = call_dop_oid_callback("establish.symmetric", tvb, offset, actx->pinfo, tree, "symmetric", actx->private_data);
+
+#.FN_BODY EstablishOperationalBindingResult/initiator/roleA-replies
+
+ offset = call_dop_oid_callback("establish.rolea", tvb, offset, actx->pinfo, tree, "roleA", actx->private_data);
+
+#.FN_BODY EstablishOperationalBindingResult/initiator/roleB-replies
+
+ offset = call_dop_oid_callback("establish.roleb", tvb, offset, actx->pinfo, tree, "roleB", actx->private_data);
+
+#.FN_BODY OpBindingErrorParam/agreementProposal
+
+ offset = call_dop_oid_callback("agreement", tvb, offset, actx->pinfo, tree, NULL, actx->private_data);
+
+#.FN_BODY ModifyOperationalBindingResultData/newAgreement
+
+ offset = call_dop_oid_callback("agreement", tvb, offset, actx->pinfo, tree, NULL, actx->private_data);
+
+#.FN_BODY ModifyOperationalBindingArgumentData/newAgreement
+
+ offset = call_dop_oid_callback("agreement", tvb, offset, actx->pinfo, tree, NULL, actx->private_data);
+
+
+#.FN_BODY OperationalBindingID/identifier VAL_PTR = &value
+ guint32 value;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " id=%%d", value);
+
+
+
+#.FN_BODY OperationalBindingID/version VAL_PTR = &value
+ guint32 value;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, ",%%d", value);
+
+#.FN_PARS Precedence VAL_PTR = &precedence
+
+#.FN_BODY Precedence
+ guint32 precedence = 0;
+
+ %(DEFAULT_BODY)s
+
+ proto_item_append_text(tree, " precedence=%%d", precedence);
+
diff --git a/epan/dissectors/asn1/dop/packet-dop-template.c b/epan/dissectors/asn1/dop/packet-dop-template.c
new file mode 100644
index 00000000..56de6bca
--- /dev/null
+++ b/epan/dissectors/asn1/dop/packet-dop-template.c
@@ -0,0 +1,308 @@
+/* packet-dop.c
+ * Routines for X.501 (DSA Operational Attributes) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ros.h"
+
+#include "packet-x509sat.h"
+#include "packet-x509af.h"
+#include "packet-x509if.h"
+#include "packet-dap.h"
+#include "packet-dsp.h"
+#include "packet-crmf.h"
+
+
+#include "packet-dop.h"
+
+#define PNAME "X.501 Directory Operational Binding Management Protocol"
+#define PSNAME "DOP"
+#define PFNAME "dop"
+
+void proto_register_dop(void);
+void proto_reg_handoff_dop(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_dop = -1;
+
+static const char *binding_type = NULL; /* binding_type */
+
+static int call_dop_oid_callback(const char *base_string, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, const char *col_info, void* data);
+
+#include "packet-dop-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_dop = -1;
+static gint ett_dop_unknown = -1;
+#include "packet-dop-ett.c"
+
+static expert_field ei_dop_unknown_binding_parameter = EI_INIT;
+static expert_field ei_dop_unsupported_opcode = EI_INIT;
+static expert_field ei_dop_unsupported_errcode = EI_INIT;
+static expert_field ei_dop_unsupported_pdu = EI_INIT;
+static expert_field ei_dop_zero_pdu = EI_INIT;
+
+static dissector_handle_t dop_handle = NULL;
+
+/* Dissector table */
+static dissector_table_t dop_dissector_table;
+
+static void append_oid(packet_info *pinfo, const char *oid)
+{
+ const char *name = NULL;
+
+ name = oid_resolved_from_string(pinfo->pool, oid);
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", name ? name : oid);
+}
+
+#include "packet-dop-fn.c"
+
+static int
+call_dop_oid_callback(const char *base_string, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, const char *col_info, void* data)
+{
+ char* binding_param;
+
+ binding_param = wmem_strdup_printf(pinfo->pool, "%s.%s", base_string, binding_type ? binding_type : "");
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", col_info);
+
+ if (dissector_try_string(dop_dissector_table, binding_param, tvb, pinfo, tree, data)) {
+ offset = tvb_reported_length (tvb);
+ } else {
+ proto_item *item;
+ proto_tree *next_tree;
+
+ next_tree = proto_tree_add_subtree_format(tree, tvb, 0, -1, ett_dop_unknown, &item,
+ "Dissector for parameter %s OID:%s not implemented. Contact Wireshark developers if you want this supported", base_string, binding_type ? binding_type : "<empty>");
+
+ offset = dissect_unknown_ber(pinfo, tvb, offset, next_tree);
+ expert_add_info(pinfo, item, &ei_dop_unknown_binding_parameter);
+ }
+
+ return offset;
+}
+
+
+/*
+* Dissect DOP PDUs inside a ROS PDUs
+*/
+static int
+dissect_dop(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ int offset = 0;
+ int old_offset;
+ proto_item *item;
+ proto_tree *tree;
+ struct SESSION_DATA_STRUCTURE* session;
+ int (*dop_dissector)(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) = NULL;
+ const char *dop_op_name;
+ asn1_ctx_t asn1_ctx;
+
+ /* do we have operation information from the ROS dissector? */
+ if (data == NULL)
+ return 0;
+ session = (struct SESSION_DATA_STRUCTURE*)data;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ item = proto_tree_add_item(parent_tree, proto_dop, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_dop);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "DOP");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ asn1_ctx.private_data = session;
+
+ switch(session->ros_op & ROS_OP_MASK) {
+ case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
+ dop_dissector = dissect_dop_DSAOperationalManagementBindArgument;
+ dop_op_name = "DSA-Operational-Bind-Argument";
+ break;
+ case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
+ dop_dissector = dissect_dop_DSAOperationalManagementBindResult;
+ dop_op_name = "DSA-Operational-Bind-Result";
+ break;
+ case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
+ dop_dissector = dissect_dop_DSAOperationalManagementBindError;
+ dop_op_name = "DSA-Operational-Management-Bind-Error";
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 100: /* establish */
+ dop_dissector = dissect_dop_EstablishOperationalBindingArgument;
+ dop_op_name = "Establish-Operational-Binding-Argument";
+ break;
+ case 101: /* terminate */
+ dop_dissector = dissect_dop_TerminateOperationalBindingArgument;
+ dop_op_name = "Terminate-Operational-Binding-Argument";
+ break;
+ case 102: /* modify */
+ dop_dissector = dissect_dop_ModifyOperationalBindingArgument;
+ dop_op_name = "Modify-Operational-Binding-Argument";
+ break;
+ default:
+ proto_tree_add_expert_format(tree, pinfo, &ei_dop_unsupported_opcode, tvb, offset, -1,
+ "Unsupported DOP Argument opcode (%d)", session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 100: /* establish */
+ dop_dissector = dissect_dop_EstablishOperationalBindingResult;
+ dop_op_name = "Establish-Operational-Binding-Result";
+ break;
+ case 101: /* terminate */
+ dop_dissector = dissect_dop_TerminateOperationalBindingResult;
+ dop_op_name = "Terminate-Operational-Binding-Result";
+ break;
+ case 102: /* modify */
+ dop_dissector = dissect_dop_ModifyOperationalBindingResult;
+ dop_op_name = "Modify-Operational-Binding-Result";
+ break;
+ default:
+ proto_tree_add_expert_format(tree, pinfo, &ei_dop_unsupported_opcode, tvb, offset, -1,
+ "Unsupported DOP Result opcode (%d)", session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 100: /* operational-binding */
+ dop_dissector = dissect_dop_OpBindingErrorParam;
+ dop_op_name = "Operational-Binding-Error";
+ break;
+ default:
+ proto_tree_add_expert_format(tree, pinfo, &ei_dop_unsupported_errcode, tvb, offset, -1,
+ "Unsupported DOP Error opcode (%d)", session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ default:
+ proto_tree_add_expert(tree, pinfo, &ei_dop_unsupported_pdu, tvb, offset, -1);
+ return tvb_captured_length(tvb);
+ }
+
+ if(dop_dissector) {
+ col_set_str(pinfo->cinfo, COL_INFO, dop_op_name);
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0){
+ old_offset=offset;
+ offset=(*dop_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, -1);
+ if(offset == old_offset){
+ proto_tree_add_expert(tree, pinfo, &ei_dop_zero_pdu, tvb, offset, -1);
+ break;
+ }
+ }
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+
+
+/*--- proto_register_dop -------------------------------------------*/
+void proto_register_dop(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+#include "packet-dop-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_dop,
+ &ett_dop_unknown,
+#include "packet-dop-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_dop_unknown_binding_parameter, { "dop.unknown_binding_parameter", PI_UNDECODED, PI_WARN, "Unknown binding-parameter", EXPFILL }},
+ { &ei_dop_unsupported_opcode, { "dop.unsupported_opcode", PI_UNDECODED, PI_WARN, "Unsupported DOP opcode", EXPFILL }},
+ { &ei_dop_unsupported_errcode, { "dop.unsupported_errcode", PI_UNDECODED, PI_WARN, "Unsupported DOP errcode", EXPFILL }},
+ { &ei_dop_unsupported_pdu, { "dop.unsupported_pdu", PI_UNDECODED, PI_WARN, "Unsupported DOP PDU", EXPFILL }},
+ { &ei_dop_zero_pdu, { "dop.zero_pdu", PI_PROTOCOL, PI_ERROR, "Internal error, zero-byte DOP PDU", EXPFILL }},
+ };
+
+ expert_module_t* expert_dop;
+ module_t *dop_module;
+
+ /* Register protocol */
+ proto_dop = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ dop_handle = register_dissector("dop", dissect_dop, proto_dop);
+
+ dop_dissector_table = register_dissector_table("dop.oid", "DOP OID", proto_dop, FT_STRING, STRING_CASE_SENSITIVE);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_dop, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_dop = expert_register_protocol(proto_dop);
+ expert_register_field_array(expert_dop, ei, array_length(ei));
+
+ /* Register our configuration options for DOP, particularly our port */
+
+ dop_module = prefs_register_protocol_subtree("OSI/X.500", proto_dop, NULL);
+
+ prefs_register_obsolete_preference(dop_module, "tcp.port");
+
+ prefs_register_static_text_preference(dop_module, "tcp_port_info",
+ "The TCP ports used by the DOP protocol should be added to the TPKT preference \"TPKT TCP ports\", or by selecting \"TPKT\" as the \"Transport\" protocol in the \"Decode As\" dialog.",
+ "DOP TCP Port preference moved information");
+
+}
+
+
+/*--- proto_reg_handoff_dop --- */
+void proto_reg_handoff_dop(void) {
+
+#include "packet-dop-dis-tab.c"
+ /* APPLICATION CONTEXT */
+
+ oid_add_from_string("id-ac-directory-operational-binding-management","2.5.3.3");
+
+ /* ABSTRACT SYNTAXES */
+
+ /* Register DOP with ROS (with no use of RTSE) */
+ register_ros_oid_dissector_handle("2.5.9.4", dop_handle, 0, "id-as-directory-operational-binding-management", FALSE);
+
+ /* BINDING TYPES */
+
+ oid_add_from_string("shadow-agreement","2.5.19.1");
+ oid_add_from_string("hierarchical-agreement","2.5.19.2");
+ oid_add_from_string("non-specific-hierarchical-agreement","2.5.19.3");
+
+ /* ACCESS CONTROL SCHEMES */
+ oid_add_from_string("basic-ACS","2.5.28.1");
+ oid_add_from_string("simplified-ACS","2.5.28.2");
+ oid_add_from_string("ruleBased-ACS","2.5.28.3");
+ oid_add_from_string("ruleAndBasic-ACS","2.5.28.4");
+ oid_add_from_string("ruleAndSimple-ACS","2.5.28.5");
+
+ /* ADMINISTRATIVE ROLES */
+ oid_add_from_string("id-ar-autonomousArea","2.5.23.1");
+ oid_add_from_string("id-ar-accessControlSpecificArea","2.5.23.2");
+ oid_add_from_string("id-ar-accessControlInnerArea","2.5.23.3");
+ oid_add_from_string("id-ar-subschemaAdminSpecificArea","2.5.23.4");
+ oid_add_from_string("id-ar-collectiveAttributeSpecificArea","2.5.23.5");
+ oid_add_from_string("id-ar-collectiveAttributeInnerArea","2.5.23.6");
+ oid_add_from_string("id-ar-contextDefaultSpecificArea","2.5.23.7");
+ oid_add_from_string("id-ar-serviceSpecificArea","2.5.23.8");
+}
diff --git a/epan/dissectors/asn1/dop/packet-dop-template.h b/epan/dissectors/asn1/dop/packet-dop-template.h
new file mode 100644
index 00000000..73f8fcfc
--- /dev/null
+++ b/epan/dissectors/asn1/dop/packet-dop-template.h
@@ -0,0 +1,17 @@
+/* packet-x501.h
+ * Routines for X.501 (DSA Operational Attributes) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_X501_H
+#define PACKET_X501_H
+
+#include "packet-dop-exp.h"
+
+#endif /* PACKET_X501_H */
diff --git a/epan/dissectors/asn1/dsp/CMakeLists.txt b/epan/dissectors/asn1/dsp/CMakeLists.txt
new file mode 100644
index 00000000..0129cd7c
--- /dev/null
+++ b/epan/dissectors/asn1/dsp/CMakeLists.txt
@@ -0,0 +1,46 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME dsp )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../dap/dap-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/dsp/dsp.asn b/epan/dissectors/asn1/dsp/dsp.asn
new file mode 100644
index 00000000..e0f2a650
--- /dev/null
+++ b/epan/dissectors/asn1/dsp/dsp.asn
@@ -0,0 +1,489 @@
+-- Module DistributedOperations (X.518:08/2005)
+DistributedOperations {joint-iso-itu-t ds(5) module(1) distributedOperations(3)
+ 4} DEFINITIONS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+ basicAccessControl, dap, directoryAbstractService, enhancedSecurity,
+ informationFramework, selectedAttributeTypes, serviceAdministration
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 4}
+ DistinguishedName, Name, RDNSequence, Attribute
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 4}
+ MRMapping, SearchRuleId
+ FROM ServiceAdministration {joint-iso-itu-t ds(5) module(1)
+ serviceAdministration(33) 4}
+-- AuthenticationLevel
+-- FROM BasicAccessControl {joint-iso-itu-t ds(5) module(1)
+-- basicAccessControl(24) 4}
+ OPTIONALLY-PROTECTED{}
+ FROM EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28)
+ 4}
+ -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
+ abandon, addEntry, CommonResults, compare, directoryBind, directoryUnbind,
+ list, modifyDN, modifyEntry, read, referral, removeEntry, search,
+ SecurityParameters,
+ AbandonArgument, AbandonResult, AddEntryArgument, AddEntryResult,
+ CompareArgument, CompareResult, ListArgument, ListResult,
+ ModifyDNArgument, ModifyDNResult, ModifyEntryArgument, ModifyEntryResult,
+ ReadArgument, ReadResult, RemoveEntryArgument, RemoveEntryResult,
+ SearchArgument, SearchResult,
+ DirectoryBindArgument, DirectoryBindResult, DirectoryBindError
+ FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
+ directoryAbstractService(2) 4}
+ -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
+ id-errcode-dsaReferral
+ FROM DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 4}
+ -- from ITU-T Rec. X.520 | ISO/IEC 9594-6
+ DirectoryString{}, PresentationAddress, ProtocolInformation, UniqueIdentifier
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 4}
+ -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
+ ERROR, OPERATION
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}--;
+ AlgorithmIdentifier
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 4};
+
+
+
+-- parameterized type for deriving chained operations
+--chained{OPERATION:operation} OPERATION ::= {
+-- ARGUMENT OPTIONALLY-PROTECTED
+-- {SET {chainedArgument ChainingArguments,
+-- argument [0] operation.&ArgumentType}}
+-- RESULT OPTIONALLY-PROTECTED
+-- {SET {chainedResult ChainingResults,
+-- result [0] operation.&ResultType}}
+-- ERRORS
+-- {operation.&Errors EXCEPT referral | dsaReferral}
+-- CODE operation.&operationCode
+--}
+
+-- bind and unbind operations
+--dSABind OPERATION ::= directoryBind
+DSASystemBindArgument ::= DirectoryBindArgument
+DSASystemBindResult ::= DirectoryBindArgument
+DSASystemBindError ::= DirectoryBindError
+
+
+--dSAUnbind OPERATION ::= directoryUnbind
+
+-- chained operations
+--chainedRead OPERATION ::= chained{read}
+
+-- expand chained{} macro
+ChainedReadArgumentData ::= SET {
+ chainedArgument ChainingArguments,
+ readArgument [0] ReadArgument
+}
+
+ChainedReadArgument ::= CHOICE {
+ unsignedChainedReadArgument ChainedReadArgumentData,
+ signedChainedReadArgument SEQUENCE {
+ chainedReadArgument ChainedReadArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ChainedReadResultData ::= SET {
+ chainedResults ChainingResults,
+ readResult [0] ReadResult
+}
+
+ChainedReadResult ::= CHOICE {
+ unsignedChainedReadResult ChainedReadResultData,
+ signedChainedReadResult SEQUENCE {
+ chainedReadResult ChainedReadResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+--chainedCompare OPERATION ::= chained{compare}
+
+-- expand chained{} macro
+ChainedCompareArgumentData ::= SET {
+ chainedArgument ChainingArguments,
+ compareArgument [0] CompareArgument
+}
+
+ChainedCompareArgument ::= CHOICE {
+ unsignedChainedCompareArgument ChainedCompareArgumentData,
+ signedChainedCompareArgument SEQUENCE {
+ chainedCompareArgument ChainedCompareArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ChainedCompareResultData ::= SET {
+ chainedResults ChainingResults,
+ compareResult [0] CompareResult
+}
+
+ChainedCompareResult ::= CHOICE {
+ unsignedChainedCompareResult ChainedCompareResultData,
+ signedChainedCompareResult SEQUENCE {
+ chainedCompareResult ChainedCompareResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+--chainedAbandon OPERATION ::= abandon
+
+ChainedAbandonArgument ::= AbandonArgument
+ChainedAbandonResult ::= AbandonResult
+
+--chainedList OPERATION ::= chained{list}
+
+-- expand chained{} macro
+ChainedListArgumentData ::= SET {
+ chainedArgument ChainingArguments,
+ listArgument [0] ListArgument
+}
+
+ChainedListArgument ::= CHOICE {
+ unsignedChainedListArgument ChainedListArgumentData,
+ signedChainedListArgument SEQUENCE {
+ chainedListArgument ChainedListArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ChainedListResultData ::= SET {
+ chainedResults ChainingResults,
+ listResult [0] ListResult
+}
+
+ChainedListResult ::= CHOICE {
+ unsignedChainedListResult ChainedListResultData,
+ signedChainedListResult SEQUENCE {
+ chainedListResult ChainedListResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+--chainedSearch OPERATION ::= chained{search}
+
+-- expand chained{} macro
+ChainedSearchArgumentData ::= SET {
+ chainedArgument ChainingArguments,
+ searchArgument [0] SearchArgument
+}
+
+ChainedSearchArgument ::= CHOICE {
+ unsignedChainedSearchArgument ChainedSearchArgumentData,
+ signedChainedSearchArgument SEQUENCE {
+ chainedSearchArgument ChainedSearchArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ChainedSearchResultData ::= SET {
+ chainedResults ChainingResults,
+ searchResult [0] SearchResult
+}
+
+ChainedSearchResult ::= CHOICE {
+ unsignedChainedSearchResult ChainedSearchResultData,
+ signedChainedSearchResult SEQUENCE {
+ chainedSearchResult ChainedSearchResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+--chainedAddEntry OPERATION ::= chained{addEntry}
+
+-- expand chained{} macro
+ChainedAddEntryArgumentData ::= SET {
+ chainedArgument ChainingArguments,
+ addEntryArgument [0] AddEntryArgument
+}
+
+ChainedAddEntryArgument ::= CHOICE {
+ unsignedChainedAddEntryArgument ChainedAddEntryArgumentData,
+ signedChainedAddEntryArgument SEQUENCE {
+ chainedAddEntryArgument ChainedAddEntryArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ChainedAddEntryResultData ::= SET {
+ chainedResults ChainingResults,
+ addEntryResult [0] AddEntryResult
+}
+
+ChainedAddEntryResult ::= CHOICE {
+ unsignedChainedAddEntryResult ChainedAddEntryResultData,
+ signedChainedAddEntryResult SEQUENCE {
+ chainedAddEntryResult ChainedAddEntryResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+--chainedRemoveEntry OPERATION ::= chained{removeEntry}
+
+-- expand chained{} macro
+
+ChainedRemoveEntryArgumentData ::= SET {
+ chainedArgument ChainingArguments,
+ removeEntryArgument [0] RemoveEntryArgument
+}
+
+ChainedRemoveEntryArgument ::= CHOICE {
+ unsignedChainedRemoveEntryArgument ChainedRemoveEntryArgumentData,
+ signedChainedRemoveEntryArgument SEQUENCE {
+ chainedRemoveEntryArgument ChainedRemoveEntryArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ChainedRemoveEntryResultData ::= SET {
+ chainedResults ChainingResults,
+ removeEntryResult [0] RemoveEntryResult
+}
+
+ChainedRemoveEntryResult ::= CHOICE {
+ unsignedChainedRemoveEntryResult ChainedRemoveEntryResultData,
+ signedChainedRemoveEntryResult SEQUENCE {
+ chainedRemoveEntryResult ChainedRemoveEntryResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+--chainedModifyEntry OPERATION ::= chained{modifyEntry}
+
+-- expand chained{} macro
+
+ChainedModifyEntryArgumentData ::= SET {
+ chainedArgument ChainingArguments,
+ modifyEntryArgument [0] ModifyEntryArgument
+}
+
+ChainedModifyEntryArgument ::= CHOICE {
+ unsignedChainedModifyEntryArgument ChainedModifyEntryArgumentData,
+ signedChainedModifyEntryArgument SEQUENCE {
+ chainedModifyEntryArgument ChainedModifyEntryArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ChainedModifyEntryResultData ::= SET {
+ chainedResults ChainingResults,
+ modifyEntryResult [0] ModifyEntryResult
+}
+
+ChainedModifyEntryResult ::= CHOICE {
+ unsignedChainedModifyEntryResult ChainedModifyEntryResultData,
+ signedChainedModifyEntryResult SEQUENCE {
+ chainedModifyEntryResult ChainedModifyEntryResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+--chainedModifyDN OPERATION ::= chained{modifyDN}
+
+-- expand chained{} macro
+
+ChainedModifyDNArgumentData ::= SET {
+ chainedArgument ChainingArguments,
+ modifyDNArgument [0] ModifyDNArgument
+}
+
+ChainedModifyDNArgument ::= CHOICE {
+ unsignedChainedModifyDNArgument ChainedModifyDNArgumentData,
+ signedChainedModifyDNArgument SEQUENCE {
+ chainedModifyDNArgument ChainedModifyDNArgumentData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+ChainedModifyDNResultData ::= SET {
+ chainedResults ChainingResults,
+ modifyDNResult [0] ModifyDNResult
+}
+
+ChainedModifyDNResult ::= CHOICE {
+ unsignedChainedModifyDNResult ChainedModifyDNResultData,
+ signedChainedModifyDNResult SEQUENCE {
+ chainedModifyDNResult ChainedModifyDNResultData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+-- errors and parameters
+DSAReferralData -- ERROR-- ::= -- {
+-- PARAMETER OPTIONALLY-PROTECTED
+-- {--SET {reference [0] ContinuationReference,
+ contextPrefix [1] DistinguishedName OPTIONAL,
+-- COMPONENTS OF CommonResults}}
+ securityParameters [30] SecurityParameters OPTIONAL,
+ performer [29] DistinguishedName OPTIONAL,
+ aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
+ notification [27] SEQUENCE --SIZE (1..MAX)-- OF Attribute OPTIONAL
+-- CODE id-errcode-dsaReferral
+}
+
+-- expand OPTIONALLY-PROTECTED macro
+DSAReferral ::= CHOICE {
+ unsignedDSAReferral DSAReferralData,
+ signedDSAReferral SEQUENCE {
+ dsaReferral DSAReferralData,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+ }
+}
+
+
+-- common arguments and results
+ChainingArguments ::= SET {
+ originator [0] DistinguishedName OPTIONAL,
+ targetObject [1] DistinguishedName OPTIONAL,
+ operationProgress [2] OperationProgress DEFAULT {nameResolutionPhase notStarted},
+ traceInformation [3] TraceInformation,
+ aliasDereferenced [4] BOOLEAN DEFAULT FALSE,
+ aliasedRDNs [5] INTEGER OPTIONAL,
+ -- only present in 1988 systems
+ returnCrossRefs [6] BOOLEAN DEFAULT FALSE,
+ referenceType [7] ReferenceType DEFAULT superior,
+ info [8] DomainInfo OPTIONAL,
+ timeLimit [9] Time OPTIONAL,
+ securityParameters [10] SecurityParameters DEFAULT {},
+ entryOnly [11] BOOLEAN DEFAULT FALSE,
+ uniqueIdentifier [12] UniqueIdentifier OPTIONAL,
+ authenticationLevel [13] AuthenticationLevel OPTIONAL,
+ exclusions [14] Exclusions OPTIONAL,
+ excludeShadows [15] BOOLEAN DEFAULT FALSE,
+ nameResolveOnMaster [16] BOOLEAN DEFAULT FALSE,
+ operationIdentifier [17] INTEGER OPTIONAL,
+ searchRuleId [18] SearchRuleId OPTIONAL,
+ chainedRelaxation [19] MRMapping OPTIONAL,
+ relatedEntry [20] INTEGER OPTIONAL,
+ dspPaging [21] BOOLEAN DEFAULT FALSE,
+ nonDapPdu [22] ENUMERATED { ldap (0) } OPTIONAL,
+ streamedResults [23] INTEGER OPTIONAL,
+ excludeWriteableCopies [24] BOOLEAN DEFAULT FALSE
+}
+
+Time ::= CHOICE {utcTime UTCTime,
+ generalizedTime GeneralizedTime
+}
+
+DomainInfo ::= --ABSTRACT-SYNTAX.&Type-- OBJECT IDENTIFIER
+
+ChainingResults ::= SET {
+ info [0] DomainInfo OPTIONAL,
+ crossReferences [1] SEQUENCE --SIZE (1..MAX)-- OF CrossReference OPTIONAL,
+ securityParameters [2] SecurityParameters DEFAULT {},
+ alreadySearched [3] Exclusions OPTIONAL
+}
+
+CrossReference ::= SET {
+ contextPrefix [0] DistinguishedName,
+ accessPoint [1] AccessPointInformation
+}
+
+OperationProgress ::= SET {
+ nameResolutionPhase
+ [0] ENUMERATED {notStarted(1), proceeding(2), completed(3)},
+ nextRDNToBeResolved [1] INTEGER OPTIONAL
+}
+
+TraceInformation ::= SEQUENCE OF TraceItem
+
+TraceItem ::= SET {
+ dsa [0] Name,
+ targetObject [1] Name OPTIONAL,
+ operationProgress [2] OperationProgress
+}
+
+ReferenceType ::= ENUMERATED {
+ superior(1), subordinate(2), cross(3), nonSpecificSubordinate(4),
+ supplier(5), master(6), immediateSuperior(7), self(8), ditBridge(9)}
+
+AccessPoint ::= SET {
+ ae-title [0] Name,
+ address [1] PresentationAddress,
+ protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
+ labeledURI [6] LabeledURI OPTIONAL
+}
+
+LabeledURI ::= DirectoryString{--ub-labeledURI--}
+
+MasterOrShadowAccessPoint ::= SET {
+-- COMPONENTS OF AccessPoint,
+ ae-title [0] Name,
+ address [1] PresentationAddress,
+ protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
+ category [3] ENUMERATED {master(0), shadow(1)} DEFAULT master,
+ chainingRequired [5] BOOLEAN DEFAULT FALSE
+}
+
+MasterAndShadowAccessPoints ::= SET --SIZE (1..MAX)-- OF MasterOrShadowAccessPoint
+
+AccessPointInformation ::= SET {
+-- COMPONENTS OF MasterOrShadowAccessPoint,
+ ae-title [0] Name,
+ address [1] PresentationAddress,
+ protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
+ category [3] ENUMERATED {master(0), shadow(1)} DEFAULT master,
+ chainingRequired [5] BOOLEAN DEFAULT FALSE,
+ additionalPoints [4] MasterAndShadowAccessPoints OPTIONAL
+}
+
+DitBridgeKnowledge ::= SEQUENCE {
+ domainLocalID DirectoryString{--ub-domainLocalID--} OPTIONAL,
+ accessPoints MasterAndShadowAccessPoints
+}
+
+Exclusions ::= SET --SIZE (1..MAX)-- OF RDNSequence
+
+ContinuationReference ::= SET {
+ targetObject [0] Name,
+ aliasedRDNs [1] INTEGER OPTIONAL, -- only present in 1988 systems
+ operationProgress [2] OperationProgress,
+ rdnsResolved [3] INTEGER OPTIONAL,
+ referenceType [4] ReferenceType,
+ accessPoints [5] SET OF AccessPointInformation,
+ entryOnly [6] BOOLEAN DEFAULT FALSE,
+ exclusions [7] Exclusions OPTIONAL,
+ returnToDUA [8] BOOLEAN DEFAULT FALSE,
+ nameResolveOnMaster [9] BOOLEAN DEFAULT FALSE
+}
+
+AuthenticationLevel ::= CHOICE {
+ basicLevels SEQUENCE {
+ level ENUMERATED { none(0), simple(1), strong (2) },
+ localQualifier INTEGER OPTIONAL,
+ signed BOOLEAN DEFAULT FALSE
+ },
+ other EXTERNAL
+}
+
+END -- DistributedOperations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/dsp/dsp.cnf b/epan/dissectors/asn1/dsp/dsp.cnf
new file mode 100644
index 00000000..c10743b3
--- /dev/null
+++ b/epan/dissectors/asn1/dsp/dsp.cnf
@@ -0,0 +1,55 @@
+#.MODULE_IMPORT
+DirectoryAccessProtocol dap
+ServiceAdministration x509if
+
+#.IMPORT ../dap/dap-exp.cnf
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509sat/x509sat-exp.cnf
+
+#.EXPORTS
+AccessPoint
+AccessPointInformation EXTERN WS_DLL
+ContinuationReference
+Exclusions
+MasterAndShadowAccessPoints
+OperationProgress
+ReferenceType
+
+#.NO_EMIT ONLY_VALS
+ChainedReadArgument
+ChainedReadResult
+ChainedCompareArgument
+ChainedCompareResult
+ChainedListArgument
+ChainedListResult
+ChainedSearchArgument
+ChainedSearchResult
+ChainedAddEntryArgument
+ChainedAddEntryResult
+ChainedRemoveEntryArgument
+ChainedRemoveEntryResult
+ChainedModifyEntryArgument
+ChainedModifyEntryResult
+ChainedModifyDNArgument
+ChainedModifyDNResult
+DSAReferral
+
+#.TYPE_RENAME
+MasterOrShadowAccessPoint/category APCategory
+
+#.FIELD_RENAME
+MasterOrShadowAccessPoint/category access-point-category
+
+ChainingArguments/targetObject targetObjectDN
+
+#.PDU
+AccessPoint
+MasterAndShadowAccessPoints
+
+#.REGISTER
+AccessPoint B "2.5.12.1" "id-doa-myAccessPoint"
+AccessPoint B "2.5.12.2" "id-doa-superiorKnowledge"
+MasterAndShadowAccessPoints B "2.5.12.3" "id-doa-specificKnowledge"
+MasterAndShadowAccessPoints B "2.5.12.4" "id-doa-nonSpecificKnowledge"
+DitBridgeKnowledge B "2.5.12.8" "id-doa-ditBridgeKnowledge"
diff --git a/epan/dissectors/asn1/dsp/packet-dsp-template.c b/epan/dissectors/asn1/dsp/packet-dsp-template.c
new file mode 100644
index 00000000..46fea89c
--- /dev/null
+++ b/epan/dissectors/asn1/dsp/packet-dsp-template.c
@@ -0,0 +1,313 @@
+/* packet-dsp.c
+ * Routines for X.518 (X.500 Distributed Operations) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ros.h"
+
+#include "packet-x509if.h"
+#include "packet-x509af.h"
+#include "packet-x509sat.h"
+
+#include "packet-dap.h"
+#include "packet-dsp.h"
+
+
+#define PNAME "X.519 Directory System Protocol"
+#define PSNAME "DSP"
+#define PFNAME "dsp"
+
+void proto_register_dsp(void);
+void proto_reg_handoff_dsp(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_dsp = -1;
+
+#include "packet-dsp-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_dsp = -1;
+#include "packet-dsp-ett.c"
+
+static expert_field ei_dsp_unsupported_opcode = EI_INIT;
+static expert_field ei_dsp_unsupported_errcode = EI_INIT;
+static expert_field ei_dsp_unsupported_pdu = EI_INIT;
+static expert_field ei_dsp_zero_pdu = EI_INIT;
+
+#include "packet-dsp-fn.c"
+
+static dissector_handle_t dsp_handle;
+
+/*
+* Dissect X518 PDUs inside a ROS PDUs
+*/
+static int
+dissect_dsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ int offset = 0;
+ int old_offset;
+ proto_item *item;
+ proto_tree *tree;
+ struct SESSION_DATA_STRUCTURE* session;
+ int (*dsp_dissector)(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) = NULL;
+ const char *dsp_op_name;
+ asn1_ctx_t asn1_ctx;
+
+ /* do we have operation information from the ROS dissector? */
+ if (data == NULL)
+ return 0;
+ session = (struct SESSION_DATA_STRUCTURE*)data;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ item = proto_tree_add_item(parent_tree, proto_dsp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_dsp);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "DAP");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ asn1_ctx.private_data = session;
+
+ switch(session->ros_op & ROS_OP_MASK) {
+ case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
+ dsp_dissector = dissect_dsp_DSASystemBindArgument;
+ dsp_op_name = "System-Bind-Argument";
+ break;
+ case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
+ dsp_dissector = dissect_dsp_DSASystemBindResult;
+ dsp_op_name = "System-Bind-Result";
+ break;
+ case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
+ dsp_dissector = dissect_dsp_DSASystemBindError;
+ dsp_op_name = "System-Bind-Error";
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 1: /* read */
+ dsp_dissector = dissect_dsp_ChainedReadArgument;
+ dsp_op_name = "Chained-Read-Argument";
+ break;
+ case 2: /* compare */
+ dsp_dissector = dissect_dsp_ChainedCompareArgument;
+ dsp_op_name = "Chained-Compare-Argument";
+ break;
+ case 3: /* abandon */
+ dsp_dissector = dissect_dsp_ChainedAbandonArgument;
+ dsp_op_name = "Chained-Abandon-Argument";
+ break;
+ case 4: /* list */
+ dsp_dissector = dissect_dsp_ChainedListArgument;
+ dsp_op_name = "Chained-List-Argument";
+ break;
+ case 5: /* search */
+ dsp_dissector = dissect_dsp_ChainedSearchArgument;
+ dsp_op_name = "Chained-Search-Argument";
+ break;
+ case 6: /* addEntry */
+ dsp_dissector = dissect_dsp_ChainedAddEntryArgument;
+ dsp_op_name = "Chained-Add-Entry-Argument";
+ break;
+ case 7: /* removeEntry */
+ dsp_dissector = dissect_dsp_ChainedRemoveEntryArgument;
+ dsp_op_name = "Chained-Remove-Entry-Argument";
+ break;
+ case 8: /* modifyEntry */
+ dsp_dissector = dissect_dsp_ChainedModifyEntryArgument;
+ dsp_op_name = "ChainedModify-Entry-Argument";
+ break;
+ case 9: /* modifyDN */
+ dsp_dissector = dissect_dsp_ChainedModifyDNArgument;
+ dsp_op_name = "ChainedModify-DN-Argument";
+ break;
+ default:
+ proto_tree_add_expert_format(tree, pinfo, &ei_dsp_unsupported_opcode, tvb, offset, -1,
+ "Unsupported DSP opcode (%d)", session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 1: /* read */
+ dsp_dissector = dissect_dsp_ChainedReadResult;
+ dsp_op_name = "Chained-Read-Result";
+ break;
+ case 2: /* compare */
+ dsp_dissector = dissect_dsp_ChainedCompareResult;
+ dsp_op_name = "Chained-Compare-Result";
+ break;
+ case 3: /* abandon */
+ dsp_dissector = dissect_dsp_ChainedAbandonResult;
+ dsp_op_name = "Chained-Abandon-Result";
+ break;
+ case 4: /* list */
+ dsp_dissector = dissect_dsp_ChainedListResult;
+ dsp_op_name = "Chained-List-Result";
+ break;
+ case 5: /* search */
+ dsp_dissector = dissect_dsp_ChainedSearchResult;
+ dsp_op_name = "Chained-Search-Result";
+ break;
+ case 6: /* addEntry */
+ dsp_dissector = dissect_dsp_ChainedAddEntryResult;
+ dsp_op_name = "Chained-Add-Entry-Result";
+ break;
+ case 7: /* removeEntry */
+ dsp_dissector = dissect_dsp_ChainedRemoveEntryResult;
+ dsp_op_name = "Chained-Remove-Entry-Result";
+ break;
+ case 8: /* modifyEntry */
+ dsp_dissector = dissect_dsp_ChainedModifyEntryResult;
+ dsp_op_name = "Chained-Modify-Entry-Result";
+ break;
+ case 9: /* modifyDN */
+ dsp_dissector = dissect_dsp_ChainedModifyDNResult;
+ dsp_op_name = "ChainedModify-DN-Result";
+ break;
+ default:
+ proto_tree_add_expert(tree, pinfo, &ei_dsp_unsupported_opcode, tvb, offset, -1);
+ break;
+ }
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 1: /* attributeError */
+ dsp_dissector = dissect_dap_AttributeError;
+ dsp_op_name = "Attribute-Error";
+ break;
+ case 2: /* nameError */
+ dsp_dissector = dissect_dap_NameError;
+ dsp_op_name = "Name-Error";
+ break;
+ case 3: /* serviceError */
+ dsp_dissector = dissect_dap_ServiceError;
+ dsp_op_name = "Service-Error";
+ break;
+ case 4: /* referral */
+ dsp_dissector = dissect_dap_Referral;
+ dsp_op_name = "Referral";
+ break;
+ case 5: /* abandoned */
+ dsp_dissector = dissect_dap_Abandoned;
+ dsp_op_name = "Abandoned";
+ break;
+ case 6: /* securityError */
+ dsp_dissector = dissect_dap_SecurityError;
+ dsp_op_name = "Security-Error";
+ break;
+ case 7: /* abandonFailed */
+ dsp_dissector = dissect_dap_AbandonFailedError;
+ dsp_op_name = "Abandon-Failed-Error";
+ break;
+ case 8: /* updateError */
+ dsp_dissector = dissect_dap_UpdateError;
+ dsp_op_name = "Update-Error";
+ break;
+ case 9: /* DSAReferral */
+ dsp_dissector = dissect_dsp_DSAReferral;
+ dsp_op_name = "DSA-Referral";
+ break;
+ default:
+ proto_tree_add_expert(tree, pinfo, &ei_dsp_unsupported_errcode, tvb, offset, -1);
+ break;
+ }
+ break;
+ default:
+ proto_tree_add_expert(tree, pinfo, &ei_dsp_unsupported_pdu, tvb, offset, -1);
+ return tvb_captured_length(tvb);
+ }
+
+ if(dsp_dissector) {
+ col_set_str(pinfo->cinfo, COL_INFO, dsp_op_name);
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0){
+ old_offset=offset;
+ offset=(*dsp_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, -1);
+ if(offset == old_offset){
+ proto_tree_add_expert(tree, pinfo, &ei_dsp_zero_pdu, tvb, offset, -1);
+ break;
+ }
+ }
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+
+/*--- proto_register_dsp -------------------------------------------*/
+void proto_register_dsp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+#include "packet-dsp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_dsp,
+#include "packet-dsp-ettarr.c"
+ };
+ static ei_register_info ei[] = {
+ { &ei_dsp_unsupported_opcode, { "dsp.unsupported_opcode", PI_UNDECODED, PI_WARN, "Unsupported DSP opcode", EXPFILL }},
+ { &ei_dsp_unsupported_errcode, { "dsp.unsupported_errcode", PI_UNDECODED, PI_WARN, "Unsupported DSP errcode", EXPFILL }},
+ { &ei_dsp_unsupported_pdu, { "dsp.unsupported_pdu", PI_UNDECODED, PI_WARN, "Unsupported DSP PDU", EXPFILL }},
+ { &ei_dsp_zero_pdu, { "dsp.zero_pdu", PI_PROTOCOL, PI_ERROR, "Internal error, zero-byte DSP PDU", EXPFILL }},
+ };
+
+ module_t *dsp_module;
+ expert_module_t* expert_dsp;
+
+ /* Register protocol */
+ proto_dsp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ dsp_handle = register_dissector("dsp", dissect_dsp, proto_dsp);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_dsp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_dsp = expert_register_protocol(proto_dsp);
+ expert_register_field_array(expert_dsp, ei, array_length(ei));
+
+ /* Register our configuration options for DSP, particularly our port */
+
+ dsp_module = prefs_register_protocol_subtree("OSI/X.500", proto_dsp, NULL);
+
+ prefs_register_obsolete_preference(dsp_module, "tcp.port");
+
+ prefs_register_static_text_preference(dsp_module, "tcp_port_info",
+ "The TCP ports used by the DSP protocol should be added to the TPKT preference \"TPKT TCP ports\", or by selecting \"TPKT\" as the \"Transport\" protocol in the \"Decode As\" dialog.",
+ "DSP TCP Port preference moved information");
+
+}
+
+
+/*--- proto_reg_handoff_dsp --- */
+void proto_reg_handoff_dsp(void) {
+#include "packet-dsp-dis-tab.c"
+
+ /* APPLICATION CONTEXT */
+
+ oid_add_from_string("id-ac-directory-system","2.5.3.2");
+
+ /* ABSTRACT SYNTAXES */
+
+ /* Register DSP with ROS (with no use of RTSE) */
+ register_ros_oid_dissector_handle("2.5.9.2", dsp_handle, 0, "id-as-directory-system", FALSE);
+
+}
diff --git a/epan/dissectors/asn1/dsp/packet-dsp-template.h b/epan/dissectors/asn1/dsp/packet-dsp-template.h
new file mode 100644
index 00000000..b611f4c5
--- /dev/null
+++ b/epan/dissectors/asn1/dsp/packet-dsp-template.h
@@ -0,0 +1,17 @@
+/* packet-dsp.h
+ * Routines for X.511 (X.500 Directory Access Protocol) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_DSP_H
+#define PACKET_DSP_H
+
+#include "packet-dsp-exp.h"
+
+#endif /* PACKET_DSP_H */
diff --git a/epan/dissectors/asn1/e1ap/CMakeLists.txt b/epan/dissectors/asn1/e1ap/CMakeLists.txt
new file mode 100644
index 00000000..835c9272
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/CMakeLists.txt
@@ -0,0 +1,44 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME e1ap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ E1AP-CommonDataTypes.asn
+ E1AP-Constants.asn
+ E1AP-Containers.asn
+ E1AP-IEs.asn
+ E1AP-PDU-Contents.asn
+ E1AP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn b/epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn
new file mode 100644
index 00000000..76fa9490
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/E1AP-CommonDataTypes.asn
@@ -0,0 +1,51 @@
+-- 3GPP TS 37.483 V17.5.0 (2023-06)
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+E1AP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) e1ap (5) version1 (1) e1ap-CommonDataTypes (3)}
+
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0.. maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolExtensionID ::= INTEGER (0..maxProtocolExtensions)
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
+
+END
diff --git a/epan/dissectors/asn1/e1ap/E1AP-Constants.asn b/epan/dissectors/asn1/e1ap/E1AP-Constants.asn
new file mode 100644
index 00000000..ed364b24
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/E1AP-Constants.asn
@@ -0,0 +1,303 @@
+-- 3GPP TS 37.483 V17.5.0 (2023-06)
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+E1AP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) e1ap (5) version1 (1) e1ap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ ProcedureCode,
+ ProtocolIE-ID
+
+FROM E1AP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-reset ProcedureCode ::= 0
+id-errorIndication ProcedureCode ::= 1
+id-privateMessage ProcedureCode ::= 2
+id-gNB-CU-UP-E1Setup ProcedureCode ::= 3
+id-gNB-CU-CP-E1Setup ProcedureCode ::= 4
+id-gNB-CU-UP-ConfigurationUpdate ProcedureCode ::= 5
+id-gNB-CU-CP-ConfigurationUpdate ProcedureCode ::= 6
+id-e1Release ProcedureCode ::= 7
+id-bearerContextSetup ProcedureCode ::= 8
+id-bearerContextModification ProcedureCode ::= 9
+id-bearerContextModificationRequired ProcedureCode ::= 10
+id-bearerContextRelease ProcedureCode ::= 11
+id-bearerContextReleaseRequest ProcedureCode ::= 12
+id-bearerContextInactivityNotification ProcedureCode ::= 13
+id-dLDataNotification ProcedureCode ::= 14
+id-dataUsageReport ProcedureCode ::= 15
+id-gNB-CU-UP-CounterCheck ProcedureCode ::= 16
+id-gNB-CU-UP-StatusIndication ProcedureCode ::= 17
+id-uLDataNotification ProcedureCode ::= 18
+id-mRDC-DataUsageReport ProcedureCode ::= 19
+id-TraceStart ProcedureCode ::= 20
+id-DeactivateTrace ProcedureCode ::= 21
+id-resourceStatusReportingInitiation ProcedureCode ::= 22
+id-resourceStatusReporting ProcedureCode ::= 23
+id-iAB-UPTNLAddressUpdate ProcedureCode ::= 24
+id-CellTrafficTrace ProcedureCode ::= 25
+id-earlyForwardingSNTransfer ProcedureCode ::= 26
+id-gNB-CU-CPMeasurementResultsInformation ProcedureCode ::= 27
+id-iABPSKNotification ProcedureCode ::= 28
+id-BCBearerContextSetup ProcedureCode ::= 29
+id-BCBearerContextModification ProcedureCode ::= 30
+id-BCBearerContextModificationRequired ProcedureCode ::= 31
+id-BCBearerContextRelease ProcedureCode ::= 32
+id-BCBearerContextReleaseRequest ProcedureCode ::= 33
+id-MCBearerContextSetup ProcedureCode ::= 34
+id-MCBearerContextModification ProcedureCode ::= 35
+id-MCBearerContextModificationRequired ProcedureCode ::= 36
+id-MCBearerContextRelease ProcedureCode ::= 37
+id-MCBearerContextReleaseRequest ProcedureCode ::= 38
+
+
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxnoofErrors INTEGER ::= 256
+maxnoofSPLMNs INTEGER ::= 12
+maxnoofSliceItems INTEGER ::= 1024
+maxnoofIndividualE1ConnectionsToReset INTEGER ::= 65536
+maxnoofEUTRANQOSParameters INTEGER ::= 256
+maxnoofNGRANQOSParameters INTEGER ::= 256
+maxnoofDRBs INTEGER ::= 32
+maxnoofNRCGI INTEGER ::= 512
+maxnoofPDUSessionResource INTEGER ::= 256
+maxnoofQoSFlows INTEGER ::= 64
+maxnoofUPParameters INTEGER ::= 8
+maxnoofCellGroups INTEGER ::= 4
+maxnooftimeperiods INTEGER ::= 2
+maxnoofTNLAssociations INTEGER ::= 32
+maxnoofTLAs INTEGER ::= 16
+maxnoofGTPTLAs INTEGER ::= 16
+maxnoofTNLAddresses INTEGER ::= 8
+maxnoofMDTPLMNs INTEGER ::= 16
+maxnoofQoSParaSets INTEGER ::= 8
+maxnoofExtSliceItems INTEGER ::= 65535
+maxnoofDataForwardingTunneltoE-UTRAN INTEGER ::= 256
+maxnoofExtNRCGI INTEGER ::= 16384
+maxnoofPSKs INTEGER ::= 256
+maxnoofECGI INTEGER ::= 512
+maxnoofSMBRValues INTEGER ::= 8
+maxnoofMBSAreaSessionIDs INTEGER ::= 256
+maxnoofSharedNG-UTerminations INTEGER ::= 8
+maxnoofMRBs INTEGER ::= 32
+maxnoofMBSSessionIDs INTEGER ::= 512
+
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Cause ProtocolIE-ID ::= 0
+id-CriticalityDiagnostics ProtocolIE-ID ::= 1
+id-gNB-CU-CP-UE-E1AP-ID ProtocolIE-ID ::= 2
+id-gNB-CU-UP-UE-E1AP-ID ProtocolIE-ID ::= 3
+id-ResetType ProtocolIE-ID ::= 4
+id-UE-associatedLogicalE1-ConnectionItem ProtocolIE-ID ::= 5
+id-UE-associatedLogicalE1-ConnectionListResAck ProtocolIE-ID ::= 6
+id-gNB-CU-UP-ID ProtocolIE-ID ::= 7
+id-gNB-CU-UP-Name ProtocolIE-ID ::= 8
+id-gNB-CU-CP-Name ProtocolIE-ID ::= 9
+id-CNSupport ProtocolIE-ID ::= 10
+id-SupportedPLMNs ProtocolIE-ID ::= 11
+id-TimeToWait ProtocolIE-ID ::= 12
+id-SecurityInformation ProtocolIE-ID ::= 13
+id-UEDLAggregateMaximumBitRate ProtocolIE-ID ::= 14
+id-System-BearerContextSetupRequest ProtocolIE-ID ::= 15
+id-System-BearerContextSetupResponse ProtocolIE-ID ::= 16
+id-BearerContextStatusChange ProtocolIE-ID ::= 17
+id-System-BearerContextModificationRequest ProtocolIE-ID ::= 18
+id-System-BearerContextModificationResponse ProtocolIE-ID ::= 19
+id-System-BearerContextModificationConfirm ProtocolIE-ID ::= 20
+id-System-BearerContextModificationRequired ProtocolIE-ID ::= 21
+id-DRB-Status-List ProtocolIE-ID ::= 22
+id-ActivityNotificationLevel ProtocolIE-ID ::= 23
+id-ActivityInformation ProtocolIE-ID ::= 24
+id-Data-Usage-Report-List ProtocolIE-ID ::= 25
+id-New-UL-TNL-Information-Required ProtocolIE-ID ::= 26
+id-GNB-CU-CP-TNLA-To-Add-List ProtocolIE-ID ::= 27
+id-GNB-CU-CP-TNLA-To-Remove-List ProtocolIE-ID ::= 28
+id-GNB-CU-CP-TNLA-To-Update-List ProtocolIE-ID ::= 29
+id-GNB-CU-CP-TNLA-Setup-List ProtocolIE-ID ::= 30
+id-GNB-CU-CP-TNLA-Failed-To-Setup-List ProtocolIE-ID ::= 31
+id-DRB-To-Setup-List-EUTRAN ProtocolIE-ID ::= 32
+id-DRB-To-Modify-List-EUTRAN ProtocolIE-ID ::= 33
+id-DRB-To-Remove-List-EUTRAN ProtocolIE-ID ::= 34
+id-DRB-Required-To-Modify-List-EUTRAN ProtocolIE-ID ::= 35
+id-DRB-Required-To-Remove-List-EUTRAN ProtocolIE-ID ::= 36
+id-DRB-Setup-List-EUTRAN ProtocolIE-ID ::= 37
+id-DRB-Failed-List-EUTRAN ProtocolIE-ID ::= 38
+id-DRB-Modified-List-EUTRAN ProtocolIE-ID ::= 39
+id-DRB-Failed-To-Modify-List-EUTRAN ProtocolIE-ID ::= 40
+id-DRB-Confirm-Modified-List-EUTRAN ProtocolIE-ID ::= 41
+id-PDU-Session-Resource-To-Setup-List ProtocolIE-ID ::= 42
+id-PDU-Session-Resource-To-Modify-List ProtocolIE-ID ::= 43
+id-PDU-Session-Resource-To-Remove-List ProtocolIE-ID ::= 44
+id-PDU-Session-Resource-Required-To-Modify-List ProtocolIE-ID ::= 45
+id-PDU-Session-Resource-Setup-List ProtocolIE-ID ::= 46
+id-PDU-Session-Resource-Failed-List ProtocolIE-ID ::= 47
+id-PDU-Session-Resource-Modified-List ProtocolIE-ID ::= 48
+id-PDU-Session-Resource-Failed-To-Modify-List ProtocolIE-ID ::= 49
+id-PDU-Session-Resource-Confirm-Modified-List ProtocolIE-ID ::= 50
+id-DRB-To-Setup-Mod-List-EUTRAN ProtocolIE-ID ::= 51
+id-DRB-Setup-Mod-List-EUTRAN ProtocolIE-ID ::= 52
+id-DRB-Failed-Mod-List-EUTRAN ProtocolIE-ID ::= 53
+id-PDU-Session-Resource-Setup-Mod-List ProtocolIE-ID ::= 54
+id-PDU-Session-Resource-Failed-Mod-List ProtocolIE-ID ::= 55
+id-PDU-Session-Resource-To-Setup-Mod-List ProtocolIE-ID ::= 56
+id-TransactionID ProtocolIE-ID ::= 57
+id-Serving-PLMN ProtocolIE-ID ::= 58
+id-UE-Inactivity-Timer ProtocolIE-ID ::= 59
+id-System-GNB-CU-UP-CounterCheckRequest ProtocolIE-ID ::= 60
+id-DRBs-Subject-To-Counter-Check-List-EUTRAN ProtocolIE-ID ::= 61
+id-DRBs-Subject-To-Counter-Check-List-NG-RAN ProtocolIE-ID ::= 62
+id-PPI ProtocolIE-ID ::= 63
+id-gNB-CU-UP-Capacity ProtocolIE-ID ::= 64
+id-GNB-CU-UP-OverloadInformation ProtocolIE-ID ::= 65
+id-UEDLMaximumIntegrityProtectedDataRate ProtocolIE-ID ::= 66
+id-PDU-Session-To-Notify-List ProtocolIE-ID ::= 67
+id-PDU-Session-Resource-Data-Usage-List ProtocolIE-ID ::= 68
+id-SNSSAI ProtocolIE-ID ::= 69
+id-DataDiscardRequired ProtocolIE-ID ::= 70
+id-OldQoSFlowMap-ULendmarkerexpected ProtocolIE-ID ::= 71
+id-DRB-QoS ProtocolIE-ID ::= 72
+id-GNB-CU-UP-TNLA-To-Remove-List ProtocolIE-ID ::= 73
+id-endpoint-IP-Address-and-Port ProtocolIE-ID ::= 74
+id-TNLAssociationTransportLayerAddressgNBCUUP ProtocolIE-ID ::= 75
+id-RANUEID ProtocolIE-ID ::= 76
+id-GNB-DU-ID ProtocolIE-ID ::= 77
+id-CommonNetworkInstance ProtocolIE-ID ::= 78
+id-NetworkInstance ProtocolIE-ID ::= 79
+id-QoSFlowMappingIndication ProtocolIE-ID ::= 80
+id-TraceActivation ProtocolIE-ID ::= 81
+id-TraceID ProtocolIE-ID ::= 82
+id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 83
+id-AdditionalRRMPriorityIndex ProtocolIE-ID ::= 84
+id-RetainabilityMeasurementsInfo ProtocolIE-ID ::= 85
+id-Transport-Layer-Address-Info ProtocolIE-ID ::= 86
+id-QoSMonitoringRequest ProtocolIE-ID ::= 87
+id-PDCP-StatusReportIndication ProtocolIE-ID ::= 88
+id-gNB-CU-CP-Measurement-ID ProtocolIE-ID ::= 89
+id-gNB-CU-UP-Measurement-ID ProtocolIE-ID ::= 90
+id-RegistrationRequest ProtocolIE-ID ::= 91
+id-ReportCharacteristics ProtocolIE-ID ::= 92
+id-ReportingPeriodicity ProtocolIE-ID ::= 93
+id-TNL-AvailableCapacityIndicator ProtocolIE-ID ::= 94
+id-HW-CapacityIndicator ProtocolIE-ID ::= 95
+id-RedundantCommonNetworkInstance ProtocolIE-ID ::= 96
+id-redundant-nG-UL-UP-TNL-Information ProtocolIE-ID ::= 97
+id-redundant-nG-DL-UP-TNL-Information ProtocolIE-ID ::= 98
+id-RedundantQosFlowIndicator ProtocolIE-ID ::= 99
+id-TSCTrafficCharacteristics ProtocolIE-ID ::= 100
+id-CNPacketDelayBudgetDownlink ProtocolIE-ID ::= 101
+id-CNPacketDelayBudgetUplink ProtocolIE-ID ::= 102
+id-ExtendedPacketDelayBudget ProtocolIE-ID ::= 103
+id-AdditionalPDCPduplicationInformation ProtocolIE-ID ::= 104
+id-RedundantPDUSessionInformation ProtocolIE-ID ::= 105
+id-RedundantPDUSessionInformation-used ProtocolIE-ID ::= 106
+id-QoS-Mapping-Information ProtocolIE-ID ::= 107
+id-DLUPTNLAddressToUpdateList ProtocolIE-ID ::= 108
+id-ULUPTNLAddressToUpdateList ProtocolIE-ID ::= 109
+id-NPNSupportInfo ProtocolIE-ID ::= 110
+id-NPNContextInfo ProtocolIE-ID ::= 111
+id-MDTConfiguration ProtocolIE-ID ::= 112
+id-ManagementBasedMDTPLMNList ProtocolIE-ID ::= 113
+id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 114
+id-PrivacyIndicator ProtocolIE-ID ::= 115
+id-TraceCollectionEntityURI ProtocolIE-ID ::= 116
+id-URIaddress ProtocolIE-ID ::= 117
+id-EHC-Parameters ProtocolIE-ID ::= 118
+id-DRBs-Subject-To-Early-Forwarding-List ProtocolIE-ID ::= 119
+id-DAPSRequestInfo ProtocolIE-ID ::= 120
+id-CHOInitiation ProtocolIE-ID ::= 121
+id-EarlyForwardingCOUNTReq ProtocolIE-ID ::= 122
+id-EarlyForwardingCOUNTInfo ProtocolIE-ID ::= 123
+id-AlternativeQoSParaSetList ProtocolIE-ID ::= 124
+id-ExtendedSliceSupportList ProtocolIE-ID ::= 125
+id-MCG-OfferedGBRQoSFlowInfo ProtocolIE-ID ::= 126
+id-Number-of-tunnels ProtocolIE-ID ::= 127
+id-DRB-Measurement-Results-Information-List ProtocolIE-ID ::= 128
+id-Extended-GNB-CU-CP-Name ProtocolIE-ID ::= 129
+id-Extended-GNB-CU-UP-Name ProtocolIE-ID ::= 130
+id-DataForwardingtoE-UTRANInformationList ProtocolIE-ID ::= 131
+id-QosMonitoringReportingFrequency ProtocolIE-ID ::= 132
+id-QoSMonitoringDisabled ProtocolIE-ID ::= 133
+id-AdditionalHandoverInfo ProtocolIE-ID ::= 134
+id-Extended-NR-CGI-Support-List ProtocolIE-ID ::= 135
+id-DataForwardingtoNG-RANQoSFlowInformationList ProtocolIE-ID ::= 136
+id-MaxCIDEHCDL ProtocolIE-ID ::= 137
+id-ignoreMappingRuleIndication ProtocolIE-ID ::= 138
+id-DirectForwardingPathAvailability ProtocolIE-ID ::= 139
+id-EarlyDataForwardingIndicator ProtocolIE-ID ::= 140
+id-QoSFlowsDRBRemapping ProtocolIE-ID ::= 141
+id-DataForwardingSourceIPAddress ProtocolIE-ID ::= 142
+id-SecurityIndicationModify ProtocolIE-ID ::= 143
+id-IAB-Donor-CU-UPPSKInfo ProtocolIE-ID ::= 144
+id-ECGI-Support-List ProtocolIE-ID ::= 145
+id-MDTPollutedMeasurementIndicator ProtocolIE-ID ::= 146
+id-M4ReportAmount ProtocolIE-ID ::= 147
+id-M6ReportAmount ProtocolIE-ID ::= 148
+id-M7ReportAmount ProtocolIE-ID ::= 149
+id-UESliceMaximumBitRateList ProtocolIE-ID ::= 150
+id-PDUSession-PairID ProtocolIE-ID ::= 151
+id-SurvivalTime ProtocolIE-ID ::= 152
+id-UDC-Parameters ProtocolIE-ID ::= 153
+id-SCGActivationStatus ProtocolIE-ID ::= 154
+id-GNB-CU-CP-MBS-E1AP-ID ProtocolIE-ID ::= 155
+id-GNB-CU-UP-MBS-E1AP-ID ProtocolIE-ID ::= 156
+id-GlobalMBSSessionID ProtocolIE-ID ::= 157
+id-BCBearerContextToSetup ProtocolIE-ID ::= 158
+id-BCBearerContextToSetupResponse ProtocolIE-ID ::= 159
+id-BCBearerContextToModify ProtocolIE-ID ::= 160
+id-BCBearerContextToModifyResponse ProtocolIE-ID ::= 161
+id-BCBearerContextToModifyRequired ProtocolIE-ID ::= 162
+id-BCBearerContextToModifyConfirm ProtocolIE-ID ::= 163
+id-MCBearerContextToSetup ProtocolIE-ID ::= 164
+id-MCBearerContextToSetupResponse ProtocolIE-ID ::= 165
+id-MCBearerContextToModify ProtocolIE-ID ::= 166
+id-MCBearerContextToModifyResponse ProtocolIE-ID ::= 167
+id-MCBearerContextToModifyRequired ProtocolIE-ID ::= 168
+id-MCBearerContextToModifyConfirm ProtocolIE-ID ::= 169
+id-MBSMulticastF1UContextDescriptor ProtocolIE-ID ::= 170
+id-gNB-CU-UP-MBS-Support-Info ProtocolIE-ID ::= 171
+id-SecurityIndication ProtocolIE-ID ::= 172
+id-SecurityResult ProtocolIE-ID ::= 173
+id-SDTContinueROHC ProtocolIE-ID ::= 174
+id-SDTindicatorSetup ProtocolIE-ID ::= 175
+id-SDTindicatorMod ProtocolIE-ID ::= 176
+id-DiscardTimerExtended ProtocolIE-ID ::= 177
+id-ManagementBasedMDTPLMNModificationList ProtocolIE-ID ::= 178
+id-MCForwardingResourceRequest ProtocolIE-ID ::= 179
+id-MCForwardingResourceIndication ProtocolIE-ID ::= 180
+id-MCForwardingResourceResponse ProtocolIE-ID ::= 181
+id-MCForwardingResourceRelease ProtocolIE-ID ::= 182
+id-MCForwardingResourceReleaseIndication ProtocolIE-ID ::= 183
+id-PDCP-COUNT-Reset ProtocolIE-ID ::= 184
+id-MBSSessionAssociatedInfoNonSupportToSupport ProtocolIE-ID ::= 185
+id-VersionID ProtocolIE-ID ::= 186
+
+
+END
diff --git a/epan/dissectors/asn1/e1ap/E1AP-Containers.asn b/epan/dissectors/asn1/e1ap/E1AP-Containers.asn
new file mode 100644
index 00000000..d7d1392d
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/E1AP-Containers.asn
@@ -0,0 +1,152 @@
+-- 3GPP TS 37.483 V17.5.0 (2023-06)
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+E1AP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) e1ap (5) version1 (1) e1ap-Containers (5) }
+
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+
+FROM E1AP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+E1AP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+E1AP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+E1AP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container { E1AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-SingleContainer { E1AP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field { E1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id E1AP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality E1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value E1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, E1AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer { E1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField { E1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id E1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality E1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue E1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container { E1AP-PRIVATE-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field { E1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id E1AP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality E1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value E1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/e1ap/E1AP-IEs.asn b/epan/dissectors/asn1/e1ap/E1AP-IEs.asn
new file mode 100644
index 00000000..536691e6
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/E1AP-IEs.asn
@@ -0,0 +1,3583 @@
+-- 3GPP TS 37.483 V17.5.0 (2023-06)
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+E1AP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) e1ap (5) version1 (1) e1ap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ id-CommonNetworkInstance,
+ id-SNSSAI,
+ id-OldQoSFlowMap-ULendmarkerexpected,
+ id-DRB-QoS,
+ id-endpoint-IP-Address-and-Port,
+ id-NetworkInstance,
+ id-QoSFlowMappingIndication,
+ id-TNLAssociationTransportLayerAddressgNBCUUP,
+ id-Cause,
+ id-QoSMonitoringRequest,
+ id-QosMonitoringReportingFrequency,
+ id-QoSMonitoringDisabled,
+ id-PDCP-StatusReportIndication,
+ id-RedundantCommonNetworkInstance,
+ id-redundant-nG-UL-UP-TNL-Information,
+ id-redundant-nG-DL-UP-TNL-Information,
+ id-RedundantQosFlowIndicator,
+ id-TSCTrafficCharacteristics,
+ id-ExtendedPacketDelayBudget,
+ id-CNPacketDelayBudgetDownlink,
+ id-CNPacketDelayBudgetUplink,
+ id-AdditionalPDCPduplicationInformation,
+ id-RedundantPDUSessionInformation,
+ id-RedundantPDUSessionInformation-used,
+ id-QoS-Mapping-Information,
+ id-MDTConfiguration,
+ id-TraceCollectionEntityURI,
+ id-EHC-Parameters,
+ id-DAPSRequestInfo,
+ id-EarlyForwardingCOUNTReq,
+ id-EarlyForwardingCOUNTInfo,
+ id-AlternativeQoSParaSetList,
+ id-MCG-OfferedGBRQoSFlowInfo,
+ id-Number-of-tunnels,
+ id-DataForwardingtoE-UTRANInformationList,
+ id-DataForwardingtoNG-RANQoSFlowInformationList,
+ id-MaxCIDEHCDL,
+ id-ignoreMappingRuleIndication,
+ id-EarlyDataForwardingIndicator,
+ id-QoSFlowsDRBRemapping,
+ id-SecurityIndicationModify,
+ id-DataForwardingSourceIPAddress,
+ id-M4ReportAmount,
+ id-M6ReportAmount,
+ id-M7ReportAmount,
+ id-PDUSession-PairID,
+ id-SurvivalTime,
+ id-UDC-Parameters,
+ id-SecurityIndication,
+ id-SecurityResult,
+ id-SDTindicatorSetup,
+ id-SDTindicatorMod,
+ id-DiscardTimerExtended,
+ id-MCForwardingResourceRequest,
+ id-MCForwardingResourceIndication,
+ id-MCForwardingResourceResponse,
+ id-MCForwardingResourceRelease,
+ id-MCForwardingResourceReleaseIndication,
+ id-PDCP-COUNT-Reset,
+ id-MBSSessionAssociatedInfoNonSupportToSupport,
+ id-VersionID,
+ maxnoofMBSAreaSessionIDs,
+ maxnoofSharedNG-UTerminations,
+ maxnoofMRBs,
+ maxnoofMBSSessionIDs,
+ maxnoofQoSParaSets,
+ maxnoofErrors,
+ maxnoofSliceItems,
+ maxnoofEUTRANQOSParameters,
+ maxnoofNGRANQOSParameters,
+ maxnoofDRBs,
+ maxnoofPDUSessionResource,
+ maxnoofQoSFlows,
+ maxnoofUPParameters,
+ maxnoofCellGroups,
+ maxnooftimeperiods,
+ maxnoofNRCGI,
+ maxnoofTLAs,
+ maxnoofGTPTLAs,
+ maxnoofSPLMNs,
+ maxnoofMDTPLMNs,
+ maxnoofExtSliceItems,
+ maxnoofDataForwardingTunneltoE-UTRAN,
+ maxnoofExtNRCGI,
+ maxnoofECGI,
+ maxnoofSMBRValues
+
+FROM E1AP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+
+FROM E1AP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-SingleContainer{},
+ E1AP-PROTOCOL-EXTENSION,
+ E1AP-PROTOCOL-IES
+
+
+FROM E1AP-Containers;
+
+-- A
+
+ActivityInformation ::= CHOICE {
+ dRB-Activity-List DRB-Activity-List,
+ pDU-Session-Resource-Activity-List PDU-Session-Resource-Activity-List,
+ uE-Activity UE-Activity,
+ choice-extension ProtocolIE-SingleContainer {{ActivityInformation-ExtIEs}}
+}
+
+ActivityInformation-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+ActivityNotificationLevel ::= ENUMERATED {
+ drb,
+ pdu-session,
+ ue,
+ ...
+}
+
+AdditionalHandoverInfo ::= ENUMERATED {
+ discard-pdpc-SN,
+ ...
+}
+
+AdditionalPDCPduplicationInformation ::= ENUMERATED {
+ three,
+ four,
+ ...
+}
+
+AdditionalRRMPriorityIndex ::= BIT STRING (SIZE(32))
+
+AveragingWindow ::= INTEGER (0..4095, ...)
+
+AlternativeQoSParaSetList ::= SEQUENCE (SIZE(1..maxnoofQoSParaSets)) OF AlternativeQoSParaSetItem
+
+AlternativeQoSParaSetItem ::= SEQUENCE {
+ alternativeQoSParameterIndex INTEGER(1..8,...),
+ guaranteedFlowBitRateDL BitRate OPTIONAL,
+ guaranteedFlowBitRateUL BitRate OPTIONAL,
+ packetDelayBudget PacketDelayBudget OPTIONAL,
+ packetErrorRate PacketErrorRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AlternativeQoSParaSetItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AlternativeQoSParaSetItem-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- B
+
+-- BCBearerContextToSetup
+
+BCBearerContextToSetup ::= SEQUENCE {
+ snssai SNSSAI,
+ bcBearerContextNGU-TNLInfoat5GC BCBearerContextNGU-TNLInfoat5GC OPTIONAL,
+ bcMRBToSetupList BCMRBSetupConfiguration,
+ requestedAction RequestedAction4AvailNGUTermination OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {BCBearerContextToSetup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCBearerContextToSetup-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BCBearerContextNGU-TNLInfoat5GC::= CHOICE {
+ locationindependent MBSNGUInformationAt5GC,
+ locationdependent LocationDependentMBSNGUInformationAt5GC,
+ choice-extension ProtocolIE-SingleContainer {{BCBearerContextNGU-TNLInfoat5GC-ExtIEs}}
+}
+
+BCBearerContextNGU-TNLInfoat5GC-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+BCMRBSetupConfiguration ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF BCMRBSetupConfiguration-Item
+
+BCMRBSetupConfiguration-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ mbs-pdcp-config PDCP-Configuration,
+ qoS-Flow-QoS-Parameter-List QoS-Flow-QoS-Parameter-List,
+ qoSFlowLevelQoSParameters QoSFlowLevelQoSParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {BCMRBSetupConfiguration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCMRBSetupConfiguration-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- BCBearerContextToSetupResponse
+
+BCBearerContextToSetupResponse ::= SEQUENCE {
+ bcBearerContextNGU-TNLInfoatNGRAN BCBearerContextNGU-TNLInfoatNGRAN OPTIONAL,
+ bcMRBSetupResponseList BCMRBSetupResponseList,
+ bcMRBFailedList BCMRBFailedList OPTIONAL,
+ availableBCMRBConfig BCMRBSetupConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {BCBearerContextToSetupResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCBearerContextToSetupResponse-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BCBearerContextNGU-TNLInfoatNGRAN::= CHOICE {
+ locationindependent MBSNGUInformationAtNGRAN,
+ locationdependent LocationDependentMBSNGUInformationAtNGRAN,
+ choice-extension ProtocolIE-SingleContainer {{BCBearerContextNGU-TNLInfoatNGRAN-ExtIEs}}
+}
+
+BCBearerContextNGU-TNLInfoatNGRAN-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+BCMRBSetupResponseList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF BCMRBSetupResponseList-Item
+BCMRBSetupResponseList-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ qosflow-setup QoS-Flow-List,
+ qosflow-failed QoS-Flow-Failed-List OPTIONAL,
+ bcBearerContextF1U-TNLInfoatCU BCBearerContextF1U-TNLInfoatCU,
+ iE-Extensions ProtocolExtensionContainer { {BCMRBSetupResponseList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCMRBSetupResponseList-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BCBearerContextF1U-TNLInfoatCU ::= CHOICE {
+ locationindependent MBSF1UInformationAtCU,
+ locationdependent LocationDependentMBSF1UInformationAtCU,
+ choice-extension ProtocolIE-SingleContainer {{BCBearerContextF1U-TNLInfoatCU-ExtIEs}}
+}
+
+BCBearerContextF1U-TNLInfoatCU-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+BCMRBFailedList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF BCMRBFailedList-Item
+BCMRBFailedList-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {BCMRBFailedList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCMRBFailedList-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- BCBearerContextToModify
+
+BCBearerContextToModify ::= SEQUENCE {
+ bcBearerContextNGU-TNLInfoat5GC BCBearerContextNGU-TNLInfoat5GC OPTIONAL,
+ bcMRBToSetupList BCMRBSetupConfiguration OPTIONAL,
+ bcMRBToModifyList BCMRBModifyConfiguration OPTIONAL,
+ bcMRBToRemoveList BCMRBRemoveConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {BCBearerContextToModify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCBearerContextToModify-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BCMRBModifyConfiguration ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF BCMRBModifyConfiguration-Item
+
+BCMRBModifyConfiguration-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ bcBearerContextF1U-TNLInfoatDU BCBearerContextF1U-TNLInfoatDU OPTIONAL,
+ mbs-pdcp-config PDCP-Configuration OPTIONAL,
+ qoS-Flow-QoS-Parameter-List QoS-Flow-QoS-Parameter-List OPTIONAL,
+ qoSFlowLevelQoSParameters QoSFlowLevelQoSParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {BCMRBModifyConfiguration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCMRBModifyConfiguration-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BCBearerContextF1U-TNLInfoatDU ::= CHOICE {
+ locationindependent MBSF1UInformationAtDU,
+ locationdependent LocationDependentMBSF1UInformationAtDU,
+ choice-extension ProtocolIE-SingleContainer {{BCBearerContextF1U-TNLInfoatDU-ExtIEs}}
+}
+
+BCBearerContextF1U-TNLInfoatDU-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+BCMRBRemoveConfiguration ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MRB-ID
+
+
+-- BCBearerContextToModifyResponse
+
+BCBearerContextToModifyResponse ::= SEQUENCE {
+ bcBearerContextNGU-TNLInfoatNGRAN BCBearerContextNGU-TNLInfoatNGRAN OPTIONAL,
+ bcMRBSetupModifyResponseList BCMRBSetupModifyResponseList,
+ bcMRBFailedList BCMRBFailedList OPTIONAL,
+ availableBCMRBConfig BCMRBSetupConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {BCBearerContextToModifyResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCBearerContextToModifyResponse-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BCMRBSetupModifyResponseList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF BCMRBSetupModifyResponseList-Item
+
+BCMRBSetupModifyResponseList-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ qosflow-setup QoS-Flow-List OPTIONAL,
+ qosflow-failed QoS-Flow-Failed-List OPTIONAL,
+ bcBearerContextF1U-TNLInfoatCU BCBearerContextF1U-TNLInfoatCU OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {BCMRBSetupModifyResponseList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCMRBSetupModifyResponseList-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- BCBearerContextToModifyRequired
+
+BCBearerContextToModifyRequired ::= SEQUENCE {
+ bcMRBToRemoveList BCMRBRemoveConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {BCBearerContextToModifyRequired-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCBearerContextToModifyRequired-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- BCBearerContextToModifyConfirm
+
+BCBearerContextToModifyConfirm ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {BCBearerContextToModifyConfirm-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BCBearerContextToModifyConfirm-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BearerContextStatusChange ::= ENUMERATED {
+ suspend,
+ resume,
+ ... ,
+ resumeforSDT
+}
+
+BitRate ::= INTEGER (0..4000000000000,...)
+
+BufferSize ::= ENUMERATED {
+ kbyte2,
+ kbyte4,
+ kbyte8,
+ ...
+}
+
+-- C
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ choice-extension ProtocolIE-SingleContainer {{Cause-ExtIEs}}
+}
+
+Cause-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ not-enough-user-plane-processing-resources,
+ hardware-failure,
+ om-intervention,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ abstract-syntax-error-falsely-constructed-message,
+ unspecified,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unspecified,
+ unknown-or-already-allocated-gnb-cu-cp-ue-e1ap-id,
+ unknown-or-already-allocated-gnb-cu-up-ue-e1ap-id,
+ unknown-or-inconsistent-pair-of-ue-e1ap-id,
+ interaction-with-other-procedure,
+ pPDCP-Count-wrap-around,
+ not-supported-QCI-value,
+ not-supported-5QI-value,
+ encryption-algorithms-not-supported,
+ integrity-protection-algorithms-not-supported,
+ uP-integrity-protection-not-possible,
+ uP-confidentiality-protection-not-possible,
+ multiple-PDU-Session-ID-Instances,
+ unknown-PDU-Session-ID,
+ multiple-QoS-Flow-ID-Instances,
+ unknown-QoS-Flow-ID,
+ multiple-DRB-ID-Instances,
+ unknown-DRB-ID,
+ invalid-QoS-combination,
+ procedure-cancelled,
+ normal-release,
+ no-radio-resources-available,
+ action-desirable-for-radio-reasons,
+ resources-not-available-for-the-slice,
+ pDCP-configuration-not-supported,
+ ...,
+ ue-dl-max-IP-data-rate-reason,
+ uP-integrity-protection-failure,
+ release-due-to-pre-emption,
+ rsn-not-available-for-the-up,
+ nPN-not-supported,
+ report-characteristic-empty,
+ existing-measurement-ID,
+ measurement-temporarily-not-available,
+ measurement-not-supported-for-the-object,
+ scg-activation-deactivation-failure,
+ scg-deactivation-failure-due-to-data-transmission,
+ unknown-or-already-allocated-gNB-CU-CP-MBS-E1AP-ID,
+ unknown-or-already-allocated-gNB-CU-UP-MBS-E1AP-ID,
+ unknown-or-inconsistent-pair-of-MBS-E1AP-ID,
+ unknown-or-inconsistent-MRB-ID
+}
+
+CauseTransport ::= ENUMERATED {
+ unspecified,
+ transport-resource-unavailable,
+ ...,
+ unknown-TNL-address-for-IAB
+}
+
+Cell-Group-Information ::= SEQUENCE (SIZE(1.. maxnoofCellGroups)) OF Cell-Group-Information-Item
+
+Cell-Group-Information-Item ::= SEQUENCE {
+ cell-Group-ID Cell-Group-ID,
+ uL-Configuration UL-Configuration OPTIONAL,
+ dL-TX-Stop DL-TX-Stop OPTIONAL,
+ rAT-Type RAT-Type OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Cell-Group-Information-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Cell-Group-Information-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Number-of-tunnels CRITICALITY ignore EXTENSION Number-of-tunnels PRESENCE optional},
+ ...
+}
+
+
+Cell-Group-ID ::= INTEGER (0..3, ...)
+
+CHOInitiation ::= ENUMERATED {true, ...}
+
+Number-of-tunnels ::= INTEGER (1..4, ...)
+
+CipheringAlgorithm ::= ENUMERATED {
+ nEA0,
+ c-128-NEA1,
+ c-128-NEA2,
+ c-128-NEA3,
+ ...
+}
+
+CNSupport ::= ENUMERATED {
+ c-epc,
+ c-5gc,
+ both,
+ ...
+}
+
+CommonNetworkInstance ::= OCTET STRING
+
+ConfidentialityProtectionIndication ::= ENUMERATED {
+ required,
+ preferred,
+ not-needed,
+ ...
+}
+
+
+ConfidentialityProtectionResult ::= ENUMERATED {
+ performed,
+ not-performed,
+ ...
+}
+
+CP-TNL-Information ::= CHOICE {
+ endpoint-IP-Address TransportLayerAddress,
+ choice-extension ProtocolIE-SingleContainer {{CP-TNL-Information-ExtIEs}}
+}
+
+CP-TNL-Information-ExtIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-endpoint-IP-Address-and-Port CRITICALITY reject TYPE Endpoint-IP-address-and-port PRESENCE mandatory},
+ ...
+}
+
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ transactionID TransactionID OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CriticalityDiagnostics-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxnoofErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- D
+
+DAPSRequestInfo ::= SEQUENCE {
+ dapsIndicator ENUMERATED {daps-HO-required, ...},
+ iE-Extensions ProtocolExtensionContainer { {DAPSRequestInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSRequestInfo-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Data-Forwarding-Information-Request ::= SEQUENCE {
+ data-Forwarding-Request Data-Forwarding-Request,
+ qoS-Flows-Forwarded-On-Fwd-Tunnels QoS-Flow-Mapping-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Data-Forwarding-Information-Request-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Data-Forwarding-Information-Request-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Data-Forwarding-Information ::= SEQUENCE {
+ uL-Data-Forwarding UP-TNL-Information OPTIONAL,
+ dL-Data-Forwarding UP-TNL-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Data-Forwarding-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Data-Forwarding-Information-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-DataForwardingtoNG-RANQoSFlowInformationList CRITICALITY ignore EXTENSION DataForwardingtoNG-RANQoSFlowInformationList PRESENCE optional},
+ ...
+}
+
+Data-Forwarding-Request ::= ENUMERATED {
+ uL,
+ dL,
+ both,
+ ...
+}
+
+DataForwardingtoE-UTRANInformationList ::= SEQUENCE (SIZE(1.. maxnoofDataForwardingTunneltoE-UTRAN)) OF DataForwardingtoE-UTRANInformationListItem
+
+DataForwardingtoE-UTRANInformationListItem ::= SEQUENCE {
+ data-forwarding-tunnel-information UP-TNL-Information,
+ qoS-Flows-to-be-forwarded-List QoS-Flows-to-be-forwarded-List,
+ iE-Extensions ProtocolExtensionContainer { { DataForwardingtoE-UTRANInformationListItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataForwardingtoE-UTRANInformationListItem-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Data-Usage-per-PDU-Session-Report ::= SEQUENCE {
+ secondaryRATType ENUMERATED {nR, e-UTRA, ...},
+ pDU-session-Timed-Report-List SEQUENCE (SIZE(1..maxnooftimeperiods)) OF MRDC-Data-Usage-Report-Item,
+ iE-Extensions ProtocolExtensionContainer { { Data-Usage-per-PDU-Session-Report-ExtIEs} } OPTIONAL,
+...
+}
+
+Data-Usage-per-PDU-Session-Report-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Data-Usage-per-QoS-Flow-List ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF Data-Usage-per-QoS-Flow-Item
+
+Data-Usage-per-QoS-Flow-Item ::= SEQUENCE {
+ qoS-Flow-Identifier QoS-Flow-Identifier,
+ secondaryRATType ENUMERATED {nR, e-UTRA, ...},
+ qoS-Flow-Timed-Report-List SEQUENCE (SIZE(1..maxnooftimeperiods)) OF MRDC-Data-Usage-Report-Item,
+ iE-Extensions ProtocolExtensionContainer { { Data-Usage-per-QoS-Flow-Item-ExtIEs} } OPTIONAL,
+...
+}
+
+Data-Usage-per-QoS-Flow-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Data-Usage-Report-List ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF Data-Usage-Report-Item
+
+Data-Usage-Report-Item ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ rAT-Type RAT-Type,
+ dRB-Usage-Report-List DRB-Usage-Report-List,
+ iE-Extensions ProtocolExtensionContainer { { Data-Usage-Report-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Data-Usage-Report-ItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DefaultDRB ::= ENUMERATED {
+ true,
+ false,
+ ...
+}
+
+Dictionary ::= ENUMERATED {
+ sip-SDP,
+ operator,
+ ...
+}
+
+DirectForwardingPathAvailability ::= ENUMERATED {
+ inter-system-direct-path-available,
+ ...,
+ intra-system-direct-path-available
+}
+
+DiscardTimer ::= ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200, ms250, ms300, ms500, ms750, ms1500, infinity}
+
+DiscardTimerExtended ::= ENUMERATED {ms0dot5, ms1, ms2, ms4, ms6, ms8,..., ms2000}
+
+DLDiscarding ::= SEQUENCE {
+ dLDiscardingCountVal PDCP-Count,
+ iE-Extensions ProtocolExtensionContainer { { DLDiscarding-ExtIEs } } OPTIONAL
+}
+
+DLDiscarding-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DLUPTNLAddressToUpdateItem ::= SEQUENCE {
+ oldTNLAdress TransportLayerAddress,
+ newTNLAdress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { DLUPTNLAddressToUpdateItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DLUPTNLAddressToUpdateItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-TX-Stop ::= ENUMERATED {
+ stop,
+ resume,
+ ...
+}
+
+DRB-Activity ::= ENUMERATED {
+ active,
+ not-active,
+ ...
+}
+
+DRB-Activity-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRB-Activity-Item
+
+DRB-Activity-Item ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ dRB-Activity DRB-Activity,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Activity-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Activity-ItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Confirm-Modified-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Confirm-Modified-Item-EUTRAN
+
+DRB-Confirm-Modified-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cell-Group-Information Cell-Group-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Confirm-Modified-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Confirm-Modified-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Confirm-Modified-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Confirm-Modified-Item-NG-RAN
+
+DRB-Confirm-Modified-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cell-Group-Information Cell-Group-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Confirm-Modified-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Confirm-Modified-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Failed-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Failed-Item-EUTRAN
+
+DRB-Failed-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Failed-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Failed-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Failed-Mod-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Failed-Mod-Item-EUTRAN
+
+DRB-Failed-Mod-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Failed-Mod-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Failed-Mod-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Failed-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Failed-Item-NG-RAN
+
+DRB-Failed-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Failed-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Failed-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Failed-Mod-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Failed-Mod-Item-NG-RAN
+
+DRB-Failed-Mod-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Failed-Mod-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Failed-Mod-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Failed-To-Modify-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Failed-To-Modify-Item-EUTRAN
+
+DRB-Failed-To-Modify-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Failed-To-Modify-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Failed-To-Modify-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Failed-To-Modify-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Failed-To-Modify-Item-NG-RAN
+
+DRB-Failed-To-Modify-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Failed-To-Modify-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Failed-To-Modify-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-ID ::= INTEGER (1..32, ...)
+DRB-Measurement-Results-Information-List ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Measurement-Results-Information-Item
+DRB-Measurement-Results-Information-Item ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ uL-D1-Result INTEGER (0..10000, ...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Measurement-Results-Information-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Measurement-Results-Information-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Modified-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Modified-Item-EUTRAN
+
+DRB-Modified-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ s1-DL-UP-TNL-Information UP-TNL-Information OPTIONAL,
+ pDCP-SN-Status-Information PDCP-SN-Status-Information OPTIONAL,
+ uL-UP-Transport-Parameters UP-Parameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Modified-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Modified-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Modified-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Modified-Item-NG-RAN
+
+DRB-Modified-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ uL-UP-Transport-Parameters UP-Parameters OPTIONAL,
+ pDCP-SN-Status-Information PDCP-SN-Status-Information OPTIONAL,
+ flow-Setup-List QoS-Flow-List OPTIONAL,
+ flow-Failed-List QoS-Flow-Failed-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Modified-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Modified-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-EarlyForwardingCOUNTInfo CRITICALITY reject EXTENSION EarlyForwardingCOUNTInfo PRESENCE optional}|
+ {ID id-OldQoSFlowMap-ULendmarkerexpected CRITICALITY ignore EXTENSION QoS-Flow-List PRESENCE optional},
+ ...
+}
+
+DRB-Removed-Item ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ dRB-Released-In-Session ENUMERATED {released-in-session, not-released-in-session, ...} OPTIONAL,
+ dRB-Accumulated-Session-Time OCTET STRING (SIZE(5)) OPTIONAL,
+ qoS-Flow-Removed-List SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF QoS-Flow-Removed-Item OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Removed-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Removed-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Required-To-Modify-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Required-To-Modify-Item-EUTRAN
+
+DRB-Required-To-Modify-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ s1-DL-UP-TNL-Information UP-TNL-Information OPTIONAL,
+ gNB-CU-UP-CellGroupRelatedConfiguration GNB-CU-UP-CellGroupRelatedConfiguration OPTIONAL,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Required-To-Modify-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Required-To-Modify-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Required-To-Modify-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Required-To-Modify-Item-NG-RAN
+
+DRB-Required-To-Modify-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ gNB-CU-UP-CellGroupRelatedConfiguration GNB-CU-UP-CellGroupRelatedConfiguration OPTIONAL,
+ flow-To-Remove QoS-Flow-List OPTIONAL,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Required-To-Modify-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Required-To-Modify-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRB-Setup-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Setup-Item-EUTRAN
+
+DRB-Setup-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ s1-DL-UP-TNL-Information UP-TNL-Information,
+ data-Forwarding-Information-Response Data-Forwarding-Information OPTIONAL,
+ uL-UP-Transport-Parameters UP-Parameters,
+ s1-DL-UP-Unchanged ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Setup-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Setup-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-DataForwardingSourceIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ {ID id-SecurityResult CRITICALITY ignore EXTENSION SecurityResult PRESENCE optional},
+ ...
+}
+
+DRB-Setup-Mod-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Setup-Mod-Item-EUTRAN
+
+DRB-Setup-Mod-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ s1-DL-UP-TNL-Information UP-TNL-Information,
+ data-Forwarding-Information-Response Data-Forwarding-Information OPTIONAL,
+ uL-UP-Transport-Parameters UP-Parameters,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Setup-Mod-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Setup-Mod-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-SecurityResult CRITICALITY ignore EXTENSION SecurityResult PRESENCE optional}|
+ {ID id-DataForwardingSourceIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+DRB-Setup-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Setup-Item-NG-RAN
+
+DRB-Setup-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ dRB-data-Forwarding-Information-Response Data-Forwarding-Information OPTIONAL,
+ uL-UP-Transport-Parameters UP-Parameters,
+ flow-Setup-List QoS-Flow-List,
+ flow-Failed-List QoS-Flow-Failed-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Setup-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Setup-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Setup-Mod-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Setup-Mod-Item-NG-RAN
+
+DRB-Setup-Mod-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ dRB-data-Forwarding-Information-Response Data-Forwarding-Information OPTIONAL,
+ uL-UP-Transport-Parameters UP-Parameters,
+ flow-Setup-List QoS-Flow-List,
+ flow-Failed-List QoS-Flow-Failed-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Setup-Mod-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Setup-Mod-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Status-Item ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ pDCP-DL-Count PDCP-Count OPTIONAL,
+ pDCP-UL-Count PDCP-Count OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Status-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Status-ItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBs-Subject-To-Counter-Check-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRBs-Subject-To-Counter-Check-Item-EUTRAN
+
+DRBs-Subject-To-Counter-Check-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ pDCP-UL-Count PDCP-Count,
+ pDCP-DL-Count PDCP-Count,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-Subject-To-Counter-Check-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-Subject-To-Counter-Check-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBs-Subject-To-Counter-Check-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRBs-Subject-To-Counter-Check-Item-NG-RAN
+
+DRBs-Subject-To-Counter-Check-Item-NG-RAN ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ dRB-ID DRB-ID,
+ pDCP-UL-Count PDCP-Count,
+ pDCP-DL-Count PDCP-Count,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-Subject-To-Counter-Check-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-Subject-To-Counter-Check-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBs-Subject-To-Early-Forwarding-List ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRBs-Subject-To-Early-Forwarding-Item
+
+DRBs-Subject-To-Early-Forwarding-Item ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ dLCountValue PDCP-Count,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-Subject-To-Early-Forwarding-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-Subject-To-Early-Forwarding-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-To-Modify-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-To-Modify-Item-EUTRAN
+
+DRB-To-Modify-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ pDCP-Configuration PDCP-Configuration OPTIONAL,
+ eUTRAN-QoS EUTRAN-QoS OPTIONAL,
+ s1-UL-UP-TNL-Information UP-TNL-Information OPTIONAL,
+ data-Forwarding-Information Data-Forwarding-Information OPTIONAL,
+ pDCP-SN-Status-Request PDCP-SN-Status-Request OPTIONAL,
+ pDCP-SN-Status-Information PDCP-SN-Status-Information OPTIONAL,
+ dL-UP-Parameters UP-Parameters OPTIONAL,
+ cell-Group-To-Add Cell-Group-Information OPTIONAL,
+ cell-Group-To-Modify Cell-Group-Information OPTIONAL,
+ cell-Group-To-Remove Cell-Group-Information OPTIONAL,
+ dRB-Inactivity-Timer Inactivity-Timer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-To-Modify-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-To-Modify-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-To-Modify-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-To-Modify-Item-NG-RAN
+
+DRB-To-Modify-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ sDAP-Configuration SDAP-Configuration OPTIONAL,
+ pDCP-Configuration PDCP-Configuration OPTIONAL,
+ dRB-Data-Forwarding-Information Data-Forwarding-Information OPTIONAL,
+ pDCP-SN-Status-Request PDCP-SN-Status-Request OPTIONAL,
+ pdcp-SN-Status-Information PDCP-SN-Status-Information OPTIONAL,
+ dL-UP-Parameters UP-Parameters OPTIONAL,
+ cell-Group-To-Add Cell-Group-Information OPTIONAL,
+ cell-Group-To-Modify Cell-Group-Information OPTIONAL,
+ cell-Group-To-Remove Cell-Group-Information OPTIONAL,
+ flow-Mapping-Information QoS-Flow-QoS-Parameter-List OPTIONAL,
+ dRB-Inactivity-Timer Inactivity-Timer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-To-Modify-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-To-Modify-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-OldQoSFlowMap-ULendmarkerexpected CRITICALITY reject EXTENSION QoS-Flow-List PRESENCE optional}|
+ {ID id-DRB-QoS CRITICALITY ignore EXTENSION QoSFlowLevelQoSParameters PRESENCE optional}|
+ {ID id-EarlyForwardingCOUNTReq CRITICALITY reject EXTENSION EarlyForwardingCOUNTReq PRESENCE optional}|
+ {ID id-EarlyForwardingCOUNTInfo CRITICALITY reject EXTENSION EarlyForwardingCOUNTInfo PRESENCE optional}|
+ {ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional}|
+ {ID id-EarlyDataForwardingIndicator CRITICALITY ignore EXTENSION EarlyDataForwardingIndicator PRESENCE optional}|
+ {ID id-SDTindicatorMod CRITICALITY reject EXTENSION SDTindicatorMod PRESENCE optional}|
+ {ID id-PDCP-COUNT-Reset CRITICALITY reject EXTENSION PDCP-COUNT-Reset PRESENCE optional },
+ ...
+}
+
+DRB-To-Remove-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-To-Remove-Item-EUTRAN
+
+DRB-To-Remove-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { DRB-To-Remove-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-To-Remove-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Required-To-Remove-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Required-To-Remove-Item-EUTRAN
+
+DRB-Required-To-Remove-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Required-To-Remove-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Required-To-Remove-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-To-Remove-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-To-Remove-Item-NG-RAN
+
+DRB-To-Remove-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { DRB-To-Remove-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-To-Remove-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Required-To-Remove-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Required-To-Remove-Item-NG-RAN
+
+DRB-Required-To-Remove-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Required-To-Remove-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Required-To-Remove-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-To-Setup-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-To-Setup-Item-EUTRAN
+
+DRB-To-Setup-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ pDCP-Configuration PDCP-Configuration,
+ eUTRAN-QoS EUTRAN-QoS,
+ s1-UL-UP-TNL-Information UP-TNL-Information,
+ data-Forwarding-Information-Request Data-Forwarding-Information-Request OPTIONAL,
+ cell-Group-Information Cell-Group-Information,
+ dL-UP-Parameters UP-Parameters OPTIONAL,
+ dRB-Inactivity-Timer Inactivity-Timer OPTIONAL,
+ existing-Allocated-S1-DL-UP-TNL-Info UP-TNL-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-To-Setup-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-To-Setup-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-DataForwardingSourceIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ {ID id-SecurityIndication CRITICALITY reject EXTENSION SecurityIndication PRESENCE optional},
+ ...
+}
+
+DRB-To-Setup-Mod-List-EUTRAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-To-Setup-Mod-Item-EUTRAN
+
+DRB-To-Setup-Mod-Item-EUTRAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ pDCP-Configuration PDCP-Configuration,
+ eUTRAN-QoS EUTRAN-QoS,
+ s1-UL-UP-TNL-Information UP-TNL-Information,
+ data-Forwarding-Information-Request Data-Forwarding-Information-Request OPTIONAL,
+ cell-Group-Information Cell-Group-Information,
+ dL-UP-Parameters UP-Parameters OPTIONAL,
+ dRB-Inactivity-Timer Inactivity-Timer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-To-Setup-Mod-Item-EUTRAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-To-Setup-Mod-Item-EUTRAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-SecurityIndication CRITICALITY reject EXTENSION SecurityIndication PRESENCE optional}|
+ {ID id-DataForwardingSourceIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+DRB-To-Setup-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-To-Setup-Item-NG-RAN
+
+DRB-To-Setup-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ sDAP-Configuration SDAP-Configuration,
+ pDCP-Configuration PDCP-Configuration,
+ cell-Group-Information Cell-Group-Information,
+ qos-flow-Information-To-Be-Setup QoS-Flow-QoS-Parameter-List,
+ dRB-Data-Forwarding-Information-Request Data-Forwarding-Information-Request OPTIONAL,
+ dRB-Inactivity-Timer Inactivity-Timer OPTIONAL,
+ pDCP-SN-Status-Information PDCP-SN-Status-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-To-Setup-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-To-Setup-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-DRB-QoS CRITICALITY ignore EXTENSION QoSFlowLevelQoSParameters PRESENCE optional}|
+ {ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional}|
+ {ID id-ignoreMappingRuleIndication CRITICALITY reject EXTENSION IgnoreMappingRuleIndication PRESENCE optional}|
+ {ID id-QoSFlowsDRBRemapping CRITICALITY reject EXTENSION QoS-Flows-DRB-Remapping PRESENCE optional}|
+ {ID id-SDTindicatorSetup CRITICALITY reject EXTENSION SDTindicatorSetup PRESENCE optional},
+ ...
+}
+
+DRB-To-Setup-Mod-List-NG-RAN ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-To-Setup-Mod-Item-NG-RAN
+
+DRB-To-Setup-Mod-Item-NG-RAN ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ sDAP-Configuration SDAP-Configuration,
+ pDCP-Configuration PDCP-Configuration,
+ cell-Group-Information Cell-Group-Information,
+ flow-Mapping-Information QoS-Flow-QoS-Parameter-List,
+ dRB-Data-Forwarding-Information-Request Data-Forwarding-Information-Request OPTIONAL,
+ dRB-Inactivity-Timer Inactivity-Timer OPTIONAL,
+ pDCP-SN-Status-Information PDCP-SN-Status-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-To-Setup-Mod-Item-NG-RAN-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-To-Setup-Mod-Item-NG-RAN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-DRB-QoS CRITICALITY ignore EXTENSION QoSFlowLevelQoSParameters PRESENCE optional}|
+ {ID id-ignoreMappingRuleIndication CRITICALITY reject EXTENSION IgnoreMappingRuleIndication PRESENCE optional}|
+ {ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional}|
+ {ID id-SDTindicatorSetup CRITICALITY reject EXTENSION SDTindicatorSetup PRESENCE optional},
+ ...
+}
+
+DRB-Usage-Report-List ::= SEQUENCE (SIZE(1..maxnooftimeperiods)) OF DRB-Usage-Report-Item
+
+DRB-Usage-Report-Item ::= SEQUENCE {
+ startTimeStamp OCTET STRING (SIZE(4)),
+ endTimeStamp OCTET STRING (SIZE(4)),
+ usageCountUL INTEGER (0..18446744073709551615),
+ usageCountDL INTEGER (0..18446744073709551615),
+ iE-Extensions ProtocolExtensionContainer { { DRB-Usage-Report-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRB-Usage-Report-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Duplication-Activation ::= ENUMERATED {
+ active,
+ inactive,
+ ...
+}
+
+
+Dynamic5QIDescriptor ::= SEQUENCE {
+ qoSPriorityLevel QoSPriorityLevel,
+ packetDelayBudget PacketDelayBudget,
+ packetErrorRate PacketErrorRate,
+ fiveQI INTEGER (0..255, ...) OPTIONAL,
+ delayCritical ENUMERATED {delay-critical, non-delay-critical} OPTIONAL,
+ averagingWindow AveragingWindow OPTIONAL,
+ maxDataBurstVolume MaxDataBurstVolume OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Dynamic5QIDescriptor-ExtIEs } } OPTIONAL
+}
+
+Dynamic5QIDescriptor-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedPacketDelayBudget CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetDownlink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetUplink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional },
+ ...
+}
+
+DataDiscardRequired ::= ENUMERATED {
+ required,
+ ...
+}
+
+-- E
+
+EarlyDataForwardingIndicator ::= ENUMERATED {stop, ...}
+
+EarlyForwardingCOUNTInfo ::= CHOICE {
+ firstDLCount FirstDLCount,
+ dLDiscardingCount DLDiscarding,
+ choice-Extension ProtocolIE-SingleContainer { { EarlyForwardingCOUNTInfo-ExtIEs} }
+}
+
+EarlyForwardingCOUNTInfo-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+EarlyForwardingCOUNTReq ::= ENUMERATED { first-dl-count, dl-discarding, ...}
+
+EHC-Common-Parameters ::= SEQUENCE {
+ ehc-CID-Length ENUMERATED { bits7, bits15, ...},
+ iE-Extensions ProtocolExtensionContainer { { EHC-Common-Parameters-ExtIEs } } OPTIONAL
+}
+
+EHC-Common-Parameters-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EHC-Downlink-Parameters ::= SEQUENCE {
+ drb-ContinueEHC-DL ENUMERATED {true, ..., false},
+ iE-Extensions ProtocolExtensionContainer { { EHC-Downlink-Parameters-ExtIEs } } OPTIONAL
+}
+
+EHC-Downlink-Parameters-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+{ID id-MaxCIDEHCDL CRITICALITY ignore EXTENSION MaxCIDEHCDL PRESENCE optional },
+ ...
+}
+
+EHC-Uplink-Parameters ::= SEQUENCE {
+ drb-ContinueEHC-UL ENUMERATED {true, ... , false},
+ iE-Extensions ProtocolExtensionContainer { { EHC-Uplink-Parameters-ExtIEs } } OPTIONAL
+}
+
+EHC-Uplink-Parameters-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EHC-Parameters ::= SEQUENCE {
+ ehc-Common EHC-Common-Parameters,
+ ehc-Downlink EHC-Downlink-Parameters OPTIONAL,
+ ehc-Uplink EHC-Uplink-Parameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EHC-Parameters-ExtIEs } } OPTIONAL
+}
+
+EHC-Parameters-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EncryptionKey ::= OCTET STRING
+
+Endpoint-IP-address-and-port::= SEQUENCE {
+ endpoint-IP-Address TransportLayerAddress,
+ portNumber PortNumber,
+ iE-Extensions ProtocolExtensionContainer { { Endpoint-IP-address-and-port-ExtIEs} } OPTIONAL
+}
+
+Endpoint-IP-address-and-port-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRANAllocationAndRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {EUTRANAllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExtendedPacketDelayBudget ::= INTEGER (1..65535, ..., 65536..109999)
+
+EUTRANAllocationAndRetentionPriority-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-UTRAN-Cell-Identity ::= BIT STRING (SIZE(28))
+
+ECGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ eUTRAN-Cell-Identity E-UTRAN-Cell-Identity,
+ iE-Extensions ProtocolExtensionContainer { { ECGI-ExtIEs } } OPTIONAL
+}
+
+ECGI-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ECGI-Support-List ::= SEQUENCE (SIZE(1.. maxnoofECGI)) OF ECGI-Support-Item
+
+ECGI-Support-Item ::= SEQUENCE {
+ eCGI ECGI,
+ iE-Extensions ProtocolExtensionContainer { { ECGI-Support-Item-ExtIEs } } OPTIONAL
+}
+
+ECGI-Support-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRAN-QoS-Support-List ::= SEQUENCE (SIZE(1.. maxnoofEUTRANQOSParameters)) OF EUTRAN-QoS-Support-Item
+
+EUTRAN-QoS-Support-Item ::= SEQUENCE {
+ eUTRAN-QoS EUTRAN-QoS,
+ iE-Extensions ProtocolExtensionContainer { { EUTRAN-QoS-Support-Item-ExtIEs } } OPTIONAL
+}
+
+EUTRAN-QoS-Support-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRAN-QoS ::= SEQUENCE {
+ qCI QCI,
+ eUTRANallocationAndRetentionPriority EUTRANAllocationAndRetentionPriority,
+ gbrQosInformation GBR-QosInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EUTRAN-QoS-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EUTRAN-QoS-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExtendedSliceSupportList ::= SEQUENCE (SIZE(1.. maxnoofExtSliceItems)) OF Slice-Support-Item
+
+-- F
+
+FirstDLCount ::= SEQUENCE {
+ firstDLCountVal PDCP-Count,
+ iE-Extensions ProtocolExtensionContainer { { FirstDLCount-ExtIEs } } OPTIONAL
+}
+
+FirstDLCount-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- G
+
+GlobalMBSSessionID ::= SEQUENCE {
+ tmgi OCTET STRING (SIZE(6)),
+ nid NID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GlobalMBSSessionID-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GlobalMBSSessionID-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-CP-Name ::= PrintableString(SIZE(1..150,...))
+
+Extended-GNB-CU-CP-Name ::= SEQUENCE {
+ gNB-CU-CP-NameVisibleString GNB-CU-CP-NameVisibleString OPTIONAL,
+ gNB-CU-CP-NameUTF8String GNB-CU-CP-NameUTF8String OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Extended-GNB-CU-CP-Name-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Extended-GNB-CU-CP-Name-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-CP-MBS-E1AP-ID ::= INTEGER (0..16777215)
+
+GNB-CU-CP-NameVisibleString ::= VisibleString(SIZE(1..150,...))
+
+GNB-CU-CP-NameUTF8String ::= UTF8String(SIZE(1..150,...))
+
+GNB-CU-CP-UE-E1AP-ID ::= INTEGER (0..4294967295)
+
+GNB-CU-UP-Capacity ::= INTEGER (0..255)
+
+GNB-CU-UP-CellGroupRelatedConfiguration ::= SEQUENCE (SIZE(1.. maxnoofUPParameters)) OF GNB-CU-UP-CellGroupRelatedConfiguration-Item
+
+GNB-CU-UP-CellGroupRelatedConfiguration-Item ::= SEQUENCE {
+ cell-Group-ID Cell-Group-ID,
+ uP-TNL-Information UP-TNL-Information,
+ uL-Configuration UL-Configuration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {GNB-CU-UP-CellGroupRelatedConfiguration-Item-ExtIEs } } OPTIONAL
+}
+
+GNB-CU-UP-CellGroupRelatedConfiguration-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-UP-ID ::= INTEGER (0..68719476735)
+
+GNB-CU-UP-MBS-Support-Info ::= SEQUENCE {
+ mbs-Support-Info-ToAdd-List MBS-Support-Info-ToAdd-List OPTIONAL,
+ mbs-Support-Info-ToRemove-List MBS-Support-Info-ToRemove-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-UP-MBS-Support-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GNB-CU-UP-MBS-Support-Info-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-UP-Name ::= PrintableString(SIZE(1..150,...))
+
+Extended-GNB-CU-UP-Name ::= SEQUENCE {
+ gNB-CU-UP-NameVisibleString GNB-CU-UP-NameVisibleString OPTIONAL,
+ gNB-CU-UP-NameUTF8String GNB-CU-UP-NameUTF8String OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Extended-GNB-CU-UP-Name-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Extended-GNB-CU-UP-Name-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-UP-MBS-E1AP-ID ::= INTEGER (0..65535)
+
+GNB-CU-UP-NameVisibleString ::= VisibleString(SIZE(1..150,...))
+
+GNB-CU-UP-NameUTF8String ::= UTF8String(SIZE(1..150,...))
+
+GNB-CU-UP-UE-E1AP-ID ::= INTEGER (0..4294967295)
+
+GNB-CU-CP-TNLA-Setup-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TNL-Information,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-CP-TNLA-Setup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GNB-CU-CP-TNLA-Setup-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-CP-TNLA-Failed-To-Setup-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TNL-Information,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-CP-TNLA-Failed-To-Setup-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-CP-TNLA-Failed-To-Setup-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-CP-TNLA-To-Add-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TNL-Information,
+ tNLAssociationUsage TNLAssociationUsage,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-CP-TNLA-To-Add-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-CP-TNLA-To-Add-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-CP-TNLA-To-Remove-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TNL-Information,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-CP-TNLA-To-Remove-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-CP-TNLA-To-Remove-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-TNLAssociationTransportLayerAddressgNBCUUP CRITICALITY reject EXTENSION CP-TNL-Information PRESENCE optional},
+ ...
+}
+
+GNB-CU-CP-TNLA-To-Update-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TNL-Information,
+ tNLAssociationUsage TNLAssociationUsage OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-CP-TNLA-To-Update-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-CP-TNLA-To-Update-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-UP-TNLA-To-Remove-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TNL-Information,
+ tNLAssociationTransportLayerAddressgNBCUCP CP-TNL-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-UP-TNLA-To-Remove-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-UP-TNLA-To-Remove-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GBR-QosInformation ::= SEQUENCE {
+ e-RAB-MaximumBitrateDL BitRate,
+ e-RAB-MaximumBitrateUL BitRate,
+ e-RAB-GuaranteedBitrateDL BitRate,
+ e-RAB-GuaranteedBitrateUL BitRate,
+ iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBR-QosInformation-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GBR-QoSFlowInformation::= SEQUENCE {
+ maxFlowBitRateDownlink BitRate,
+ maxFlowBitRateUplink BitRate,
+ guaranteedFlowBitRateDownlink BitRate,
+ guaranteedFlowBitRateUplink BitRate,
+ maxPacketLossRateDownlink MaxPacketLossRate OPTIONAL,
+ maxPacketLossRateUplink MaxPacketLossRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GBR-QosFlowInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBR-QosFlowInformation-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-AlternativeQoSParaSetList CRITICALITY ignore EXTENSION AlternativeQoSParaSetList PRESENCE optional},
+ ...
+}
+
+GTP-TEID ::= OCTET STRING (SIZE (4))
+
+GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofGTPTLAs)) OF GTPTLA-Item
+
+GTPTLA-Item ::= SEQUENCE {
+ gTPTransportLayerAddresses TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { GTPTLA-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GTPTLA-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GTPTunnel ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { { GTPTunnel-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GTPTunnel-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-UP-OverloadInformation ::= ENUMERATED {overloaded, not-overloaded}
+
+GNB-DU-ID ::= INTEGER (0..68719476735)
+
+
+-- H
+
+HFN ::= INTEGER (0..4294967295)
+
+HW-CapacityIndicator ::= SEQUENCE {
+ offeredThroughput INTEGER (1..16777216, ...),
+ availableThroughput INTEGER (0..100, ...),
+ iE-Extensions ProtocolExtensionContainer { { HW-CapacityIndicator-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HW-CapacityIndicator-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- I
+
+IgnoreMappingRuleIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+IntegrityProtectionIndication ::= ENUMERATED {
+ required,
+ preferred,
+ not-needed,
+ ...
+}
+
+IntegrityProtectionAlgorithm ::= ENUMERATED {
+ nIA0,
+ i-128-NIA1,
+ i-128-NIA2,
+ i-128-NIA3,
+ ...
+}
+
+IntegrityProtectionKey ::= OCTET STRING
+
+IntegrityProtectionResult ::= ENUMERATED {
+ performed,
+ not-performed,
+ ...
+}
+
+Inactivity-Timer ::= INTEGER (1..7200, ...)
+
+InterfacesToTrace ::= BIT STRING (SIZE(8))
+
+ImmediateMDT ::= SEQUENCE {
+measurementsToActivate MeasurementsToActivate,
+ measurementFour M4Configuration OPTIONAL,
+ measurementSix M6Configuration OPTIONAL,
+ measurementSeven M7Configuration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+ImmediateMDT-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-Donor-CU-UPPSKInfo-Item ::= SEQUENCE {
+ iAB-donor-CU-UPPSK IAB-donor-CU-UPPSK,
+ iAB-donor-CU-UPIPAddress TransportLayerAddress,
+ iAB-DUIPAddress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { IAB-donor-CU-UPPSKInfoItemExtIEs } } OPTIONAL,
+ ...
+}
+IAB-donor-CU-UPPSKInfoItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+IAB-donor-CU-UPPSK ::= OCTET STRING
+
+-- J
+
+-- K
+
+-- L
+
+Links-to-log ::= ENUMERATED {
+ uplink,
+ downlink,
+ both-uplink-and-downlink,
+ ...
+}
+
+
+LocationDependentMBSNGUInformationAt5GC ::= SEQUENCE (SIZE(1..maxnoofMBSAreaSessionIDs)) OF LocationDependentMBSNGUInformationAt5GC-Item
+
+LocationDependentMBSNGUInformationAt5GC-Item ::= SEQUENCE {
+ mbsAreaSession-ID MBSAreaSessionID,
+ mbsNGUInformationAt5GC MBSNGUInformationAt5GC,
+ iE-Extensions ProtocolExtensionContainer { { LocationDependentMBSNGUInformationAt5GC-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+LocationDependentMBSNGUInformationAt5GC-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LocationDependentMBSF1UInformationAtCU ::= SEQUENCE (SIZE(1..maxnoofMBSAreaSessionIDs)) OF LocationDependentMBSF1UInformationAtCU-Item
+
+LocationDependentMBSF1UInformationAtCU-Item ::= SEQUENCE {
+ mbsAreaSession-ID MBSAreaSessionID,
+ mbs-f1u-info-at-CU UP-TNL-Information,
+ iE-Extensions ProtocolExtensionContainer { { LocationDependentMBSF1UInformationAtCU-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+LocationDependentMBSF1UInformationAtCU-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LocationDependentMBSF1UInformationAtDU ::= SEQUENCE (SIZE(1..maxnoofMBSAreaSessionIDs)) OF LocationDependentMBSF1UInformationAtDU-Item
+
+LocationDependentMBSF1UInformationAtDU-Item ::= SEQUENCE {
+ mbsAreaSession-ID MBSAreaSessionID,
+ mbs-f1u-info-at-DU UP-TNL-Information,
+ iE-Extensions ProtocolExtensionContainer { { LocationDependentMBSF1UInformationAtDU-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+LocationDependentMBSF1UInformationAtDU-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LocationDependentMBSNGUInformationAtNGRAN ::= SEQUENCE (SIZE(1..maxnoofMBSAreaSessionIDs)) OF LocationDependentMBSNGUInformationAtNGRAN-Item
+
+LocationDependentMBSNGUInformationAtNGRAN-Item ::= SEQUENCE {
+ mbsAreaSession-ID MBSAreaSessionID,
+ mbsNGUInformationAtNGRAN MBSNGUInformationAtNGRAN,
+ iE-Extensions ProtocolExtensionContainer { { LocationDependentMBSNGUInformationAtNGRAN-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+LocationDependentMBSNGUInformationAtNGRAN-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- M
+
+MaxDataBurstVolume ::= INTEGER (0..4095, ..., 4096.. 2000000)
+
+MaximumIPdatarate ::= SEQUENCE {
+ maxIPrate MaxIPrate,
+ iE-Extensions ProtocolExtensionContainer { {MaximumIPdatarate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MaximumIPdatarate-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MaxIPrate ::= ENUMERATED {
+ bitrate64kbs,
+ max-UErate,
+ ...
+}
+
+MaxPacketLossRate ::= INTEGER (0..1000, ...)
+
+MaxCIDEHCDL ::= INTEGER (1..32767, ...)
+
+MBSAreaSessionID ::= INTEGER (0..65535, ...)
+
+MBSF1UInformationAtCU ::= SEQUENCE {
+ mbs-f1u-info-at-CU UP-TNL-Information,
+ iE-Extensions ProtocolExtensionContainer { { MBSF1UInformationAtCU-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBSF1UInformationAtCU-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSF1UInformationAtDU ::= SEQUENCE {
+ mbs-f1u-info-at-DU UP-TNL-Information,
+ iE-Extensions ProtocolExtensionContainer { { MBSF1UInformationAtDU-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBSF1UInformationAtDU-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSNGUInformationAt5GC ::= CHOICE {
+ multicast MBSNGUInformationAt5GC-Multicast,
+ choice-extension ProtocolIE-SingleContainer {{MBSNGUInformationAt5GC-ExtIEs}}
+}
+
+MBSNGUInformationAt5GC-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+MBSNGUInformationAt5GC-Multicast ::= SEQUENCE {
+ ipmcAddress TransportLayerAddress,
+ ipsourceAddress TransportLayerAddress,
+ gtpDLTEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { {MBSNGUInformationAt5GC-Multicast-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSNGUInformationAt5GC-Multicast-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSNGUInformationAtNGRAN ::= CHOICE {
+ unicast UP-TNL-Information,
+ choice-extension ProtocolIE-SingleContainer {{MBSNGUInformationAtNGRAN-ExtIEs}}
+}
+
+MBSNGUInformationAtNGRAN-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+MBSSessionAssociatedInfoNonSupportToSupport ::= SEQUENCE {
+ ue-Reference-ID GNB-CU-CP-UE-E1AP-ID,
+ pDU-Session-ID PDU-Session-ID,
+ associatedQoSFlowInformationList MBSSessionAssociatedInformationList,
+ iE-Extensions ProtocolExtensionContainer { {MBSSessionAssociatedInfoNonSupportToSupport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSSessionAssociatedInfoNonSupportToSupport-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionAssociatedInformation ::= SEQUENCE {
+ mbsSessionAssociatedInformationList MBSSessionAssociatedInformationList,
+ mbsSessionForwardingAddress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { {MBSSessionAssociatedInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSSessionAssociatedInformation-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionAssociatedInformationList ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF MBSSessionAssociatedInformation-Item
+
+MBSSessionAssociatedInformation-Item ::= SEQUENCE {
+ mbs-QoS-Flow-Identifier QoS-Flow-Identifier,
+ associated-unicast-QoS-Flow-Identifier QoS-Flow-Identifier,
+ iE-Extensions ProtocolExtensionContainer { { MBSSessionAssociatedInformation-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBSSessionAssociatedInformation-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-Support-Info-ToAdd-List ::= SEQUENCE (SIZE(1..maxnoofMBSSessionIDs)) OF MBS-Support-Info-ToAdd-Item
+
+MBS-Support-Info-ToAdd-Item ::= SEQUENCE {
+ globalMBSSessionID GlobalMBSSessionID,
+ iE-Extensions ProtocolExtensionContainer { { MBS-Support-Info-ToAdd-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-Support-Info-ToAdd-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-Support-Info-ToRemove-List ::= SEQUENCE (SIZE(1..maxnoofMBSSessionIDs)) OF MBS-Support-Info-ToRemove-Item
+
+MBS-Support-Info-ToRemove-Item ::= SEQUENCE {
+ globalMBSSessionID GlobalMBSSessionID,
+ iE-Extensions ProtocolExtensionContainer { { MBS-Support-Info-ToRemove-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-Support-Info-ToRemove-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- MCBearerContextToSetup
+
+MCBearerContextToSetup ::= SEQUENCE {
+ snssai SNSSAI,
+ mcMRBToSetupList MCMRBSetupConfiguration OPTIONAL,
+ requestedAction RequestedAction4AvailNGUTermination OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextToSetup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCBearerContextToSetup-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-MBSSessionAssociatedInfoNonSupportToSupport CRITICALITY ignore EXTENSION MBSSessionAssociatedInfoNonSupportToSupport PRESENCE optional},
+ ...
+}
+
+MCMRBSetupConfiguration ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MCMRBSetupConfiguration-Item
+
+MCMRBSetupConfiguration-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ mbs-pdcp-config PDCP-Configuration,
+ qoS-Flow-QoS-Parameter-List QoS-Flow-QoS-Parameter-List,
+ qoSFlowLevelQoSParameters QoSFlowLevelQoSParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCMRBSetupConfiguration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCMRBSetupConfiguration-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- MCBearerContextToSetupResponse
+
+MCBearerContextToSetupResponse ::= SEQUENCE {
+ mcBearerContextNGU-TNLInfoatNGRAN MCBearerContextNGU-TNLInfoatNGRAN OPTIONAL,
+ mcMRBSetupResponseList MCMRBSetupResponseList OPTIONAL,
+ mcMRBFailedList MCMRBFailedList OPTIONAL,
+ availableMCMRBConfig MCMRBSetupConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextToSetupResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCBearerContextToSetupResponse-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MCBearerContextNGU-TNLInfoatNGRAN::= CHOICE {
+ locationindependent MBSNGUInformationAtNGRAN,
+ locationdependent LocationDependentMBSNGUInformationAtNGRAN,
+ choice-extension ProtocolIE-SingleContainer {{MCBearerContextNGU-TNLInfoatNGRAN-ExtIEs}}
+}
+
+MCBearerContextNGU-TNLInfoatNGRAN-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+MCMRBSetupResponseList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MCMRBSetupResponseList-Item
+
+MCMRBSetupResponseList-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ qosflow-setup QoS-Flow-List,
+ qosflow-failed QoS-Flow-Failed-List OPTIONAL,
+ mBS-PDCP-COUNT MBS-PDCP-COUNT OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCMRBSetupResponseList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCMRBSetupResponseList-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-PDCP-COUNT ::= BIT STRING (SIZE (32))
+
+MCMRBFailedList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MCMRBFailedList-Item
+
+MCMRBFailedList-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {MCMRBFailedList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCMRBFailedList-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- MCBearerContextToModify
+
+MCBearerContextToModify ::= SEQUENCE {
+ mcBearerContextNGUTNLInfoat5GC MCBearerContextNGUTNLInfoat5GC OPTIONAL,
+ mcBearerContextNGUTnlInfoatNGRANRequest MCBearerContextNGUTnlInfoatNGRANRequest OPTIONAL,
+ mbsMulticastF1UContextDescriptor MBSMulticastF1UContextDescriptor OPTIONAL,
+-- This IE shall be present if either the MC MRB To Setup or Modify List IE or the MC MRB To Remove List IE or both IEs are included.
+ requestedAction RequestedAction4AvailNGUTermination OPTIONAL,
+ mcMRBToSetupModifyList MCMRBSetupModifyConfiguration OPTIONAL,
+ mcMRBToRemoveList MCMRBRemoveConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextToModify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCBearerContextToModify-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-MCForwardingResourceRequest CRITICALITY ignore EXTENSION MCForwardingResourceRequest PRESENCE optional}|
+ {ID id-MCForwardingResourceIndication CRITICALITY ignore EXTENSION MCForwardingResourceIndication PRESENCE optional}|
+ {ID id-MCForwardingResourceRelease CRITICALITY ignore EXTENSION MCForwardingResourceRelease PRESENCE optional}|
+ {ID id-MBSSessionAssociatedInfoNonSupportToSupport CRITICALITY ignore EXTENSION MBSSessionAssociatedInfoNonSupportToSupport PRESENCE optional},
+ ...
+}
+
+MCBearerContextNGUTNLInfoat5GC ::= SEQUENCE {
+ mbsNGUInformationAt5GC MBSNGUInformationAt5GC,
+ mbsAreaSession-ID MBSAreaSessionID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextNGUTNLInfoat5GC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCBearerContextNGUTNLInfoat5GC-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MCBearerContextNGUTnlInfoatNGRANRequest ::= SEQUENCE {
+ ngRANNGUTNLRequested ENUMERATED {requested, ...},
+ mbsAreaSession-ID MBSAreaSessionID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextNGUTnlInfoatNGRANRequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCBearerContextNGUTnlInfoatNGRANRequest-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MCMRBSetupModifyConfiguration ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MCMRBSetupModifyConfiguration-Item
+
+MCMRBSetupModifyConfiguration-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ f1uTNLatDU MCBearerContextF1UTNLInfoatDU OPTIONAL,
+ mbs-pdcp-config PDCP-Configuration OPTIONAL,
+ qoS-Flow-QoS-Parameter-List QoS-Flow-QoS-Parameter-List OPTIONAL,
+ mrbQoS QoSFlowLevelQoSParameters OPTIONAL,
+ mbs-PDCP-COUNT-Req MBS-PDCP-COUNT-Req OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCMRBSetupModifyConfiguration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCMRBSetupModifyConfiguration-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MCBearerContextF1UTNLInfoatDU ::= SEQUENCE {
+ mbsF1UInfoatDU UP-TNL-Information,
+ mbsMulticastF1UContextDescriptor MBSMulticastF1UContextDescriptor,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextF1UTNLInfoatDU-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCBearerContextF1UTNLInfoatDU-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastF1UContextReferenceE1 ::= OCTET STRING (SIZE(4))
+
+MBSMulticastF1UContextDescriptor ::= SEQUENCE {
+ multicastF1UContextReferenceE1 MulticastF1UContextReferenceE1,
+ mc-F1UCtxtusage ENUMERATED {ptm, ptp, ptp-retransmission, ptp-forwarding, ...},
+ mbsAreaSession MBSAreaSessionID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBSMulticastF1UContextDescriptor-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBSMulticastF1UContextDescriptor-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+MCMRBRemoveConfiguration ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MRB-ID
+
+MBS-PDCP-COUNT-Req ::= ENUMERATED {true, ... }
+
+
+-- MCBearerContextToModifyResponse
+
+MCBearerContextToModifyResponse ::= SEQUENCE {
+ mcBearerContextNGU-TNLInfoatNGRANModifyResponse MCBearerContextNGU-TNLInfoatNGRANModifyResponse OPTIONAL,
+ mbsMulticastF1UContextDescriptor MBSMulticastF1UContextDescriptor OPTIONAL,
+-- This IE shall be present if either the MC MRB Setup or Modify Response List IE or the MC MRB Failed List IE or both IEs are included.
+ mcMRBModifySetupResponseList MCMRBSetupModifyResponseList OPTIONAL,
+ mcMRBFailedList MCMRBFailedList OPTIONAL,
+ availableMCMRBConfig MCMRBSetupConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextToModifyResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCBearerContextToModifyResponse-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-MCForwardingResourceResponse CRITICALITY ignore EXTENSION MCForwardingResourceResponse PRESENCE optional},
+ ...
+}
+
+MCBearerContextNGU-TNLInfoatNGRANModifyResponse ::= SEQUENCE {
+ mbs-NGU-InfoatNGRAN MBSNGUInformationAtNGRAN,
+ mbsAreaSession MBSAreaSessionID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextNGU-TNLInfoatNGRANModifyResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCBearerContextNGU-TNLInfoatNGRANModifyResponse-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MCMRBSetupModifyResponseList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MCMRBSetupModifyResponseList-Item
+
+MCMRBSetupModifyResponseList-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ qosflow-setup QoS-Flow-List OPTIONAL,
+ qosflow-failed QoS-Flow-Failed-List OPTIONAL,
+ mcBearerContextF1UTNLInfoatCU UP-TNL-Information OPTIONAL,
+ mBS-PDCP-COUNT MBS-PDCP-COUNT OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCMRBSetupModifyResponseList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCMRBSetupModifyResponseList-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- MCBearerContextToModifyRequired
+
+MCBearerContextToModifyRequired ::= SEQUENCE {
+ mbsMulticastF1UContextDescriptor MBSMulticastF1UContextDescriptor OPTIONAL,
+-- This IE shall be present if either the MC MRB To Remove List Required IE is included.
+ mcMRBToRemoveRequiredList MCMRBRemoveConfiguration OPTIONAL,
+ mcMRBToModifyRequiredList MCMRBModifyRequiredConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextToModifyRequired-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCBearerContextToModifyRequired-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-MCForwardingResourceReleaseIndication CRITICALITY ignore EXTENSION MCForwardingResourceReleaseIndication PRESENCE optional},
+ ...
+}
+
+MCMRBModifyRequiredConfiguration ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MCMRBModifyRequiredConfiguration-Item
+
+MCMRBModifyRequiredConfiguration-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ mBS-PDCP-COUNT MBS-PDCP-COUNT OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MCMRBModifyRequiredConfiguration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCMRBModifyRequiredConfiguration-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- MCBearerContextToModifyConfirm
+
+MCBearerContextToModifyConfirm ::= SEQUENCE {
+ mbsMulticastF1UContextDescriptor MBSMulticastF1UContextDescriptor OPTIONAL,
+ mcMRBModifyConfirmList MCMRBModifyConfirmList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCBearerContextToModifyConfirm-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCMRBModifyConfirmList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MCMRBModifyConfirmList-Item
+
+MCMRBModifyConfirmList-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { MCMRBModifyConfirmList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCMRBModifyConfirmList-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MCBearerContextToModifyConfirm-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- MCForwardingResourceRequest
+
+MCForwardingResourceRequest ::= SEQUENCE {
+ mcForwardingResourceID MCForwardingResourceID,
+ mbsAreaSession-ID MBSAreaSessionID OPTIONAL,
+ mrbForwardingResourceRequestList MRBForwardingResourceRequestList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCForwardingResourceRequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCForwardingResourceRequest-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MRBForwardingResourceRequestList ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF MRBForwardingResourceRequest-Item
+
+MRBForwardingResourceRequest-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ mrbProgressRequestType MRB-ProgressInformationType OPTIONAL,
+ mrbForwardingAddressRequest ENUMERATED {request, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MRBForwardingResourceRequest-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MRBForwardingResourceRequest-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- MCForwardingResourceIndication
+
+MCForwardingResourceIndication ::= SEQUENCE {
+ mcForwardingResourceID MCForwardingResourceID,
+ mrbForwardingResourceIndicationList MRBForwardingResourceIndicationList OPTIONAL,
+ mbsSessionAssociatedInformation MBSSessionAssociatedInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCForwardingResourceIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCForwardingResourceIndication-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MRBForwardingResourceIndicationList ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF MRBForwardingResourceIndication-Item
+
+MRBForwardingResourceIndication-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ mrb-ProgressInformation MRB-ProgressInformation OPTIONAL,
+ mrbForwardingAddress UP-TNL-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MRBForwardingResourceIndication-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MRBForwardingResourceIndication-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- MCForwardingResourceResponse
+
+MCForwardingResourceResponse ::= SEQUENCE {
+ mcForwardingResourceID MCForwardingResourceID,
+ mrbForwardingResourceResponseList MRBForwardingResourceResponseList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MCForwardingResourceResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCForwardingResourceResponse-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MRBForwardingResourceResponseList ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF MRBForwardingResourceResponse-Item
+
+MRBForwardingResourceResponse-Item ::= SEQUENCE {
+ mrb-ID MRB-ID,
+ mrb-ProgressInformation MRB-ProgressInformation OPTIONAL,
+ mrbForwardingAddress UP-TNL-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MRBForwardingResourceResponse-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MRBForwardingResourceResponse-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- MCForwardingResourceRelease
+
+MCForwardingResourceRelease ::= SEQUENCE {
+ mcForwardingResourceID MCForwardingResourceID,
+ iE-Extensions ProtocolExtensionContainer { {MCForwardingResourceRelease-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCForwardingResourceRelease-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- MCForwardingResourceReleaseIndication
+
+MCForwardingResourceReleaseIndication ::= SEQUENCE {
+ mcForwardingResourceID MCForwardingResourceID,
+ iE-Extensions ProtocolExtensionContainer { {MCForwardingResourceReleaseIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCForwardingResourceReleaseIndication-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MCForwardingResourceID ::= OCTET STRING (SIZE(2))
+
+
+MDTPollutedMeasurementIndicator ::= ENUMERATED {
+ iDC,
+ no-IDC,
+ ...
+}
+
+MRB-ID ::= INTEGER (1..512, ...)
+
+MRB-ProgressInformation ::= SEQUENCE {
+ mrb-ProgressInformationSNs MRB-ProgressInformationSNs,
+ mrb-ProgressInformationType MRB-ProgressInformationType,
+ iE-Extensions ProtocolExtensionContainer { {MRB-ProgressInformation-ExtIEs} } OPTIONAL,
+...
+}
+
+MRB-ProgressInformation-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MRB-ProgressInformationSNs ::= CHOICE {
+ pdcp-SN12 INTEGER (0..4095),
+ pdcp-SN18 INTEGER (0..262143),
+ choice-extension ProtocolIE-SingleContainer { { MRB-ProgressInformationSNs-ExtIEs} }
+}
+
+MRB-ProgressInformationSNs-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+MRB-ProgressInformationType ::= ENUMERATED {oldest-available, last-delivered, ...}
+
+MRDC-Data-Usage-Report-Item ::= SEQUENCE {
+ startTimeStamp OCTET STRING (SIZE(4)),
+ endTimeStamp OCTET STRING (SIZE(4)),
+ usageCountUL INTEGER (0..18446744073709551615),
+ usageCountDL INTEGER (0..18446744073709551615),
+ iE-Extensions ProtocolExtensionContainer { { MRDC-Data-Usage-Report-Item-ExtIEs} } OPTIONAL,
+...
+}
+
+MRDC-Data-Usage-Report-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MRDC-Usage-Information ::= SEQUENCE {
+ data-Usage-per-PDU-Session-Report Data-Usage-per-PDU-Session-Report OPTIONAL,
+ data-Usage-per-QoS-Flow-List Data-Usage-per-QoS-Flow-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MRDC-Usage-Information-ExtIEs} } OPTIONAL,
+...
+}
+
+MRDC-Usage-Information-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M4Configuration ::= SEQUENCE {
+ m4period M4period,
+ m4-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M4Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M4Configuration-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-M4ReportAmount CRITICALITY ignore EXTENSION M4ReportAmount PRESENCE optional },
+ ...
+}
+
+M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+M4ReportAmount ::= ENUMERATED { r1, r2, r4, r8, r16, r32, r64, infinity, ... }
+
+M6Configuration ::= SEQUENCE {
+ m6report-Interval M6report-Interval,
+ m6-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M6Configuration-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-M6ReportAmount CRITICALITY ignore EXTENSION M6ReportAmount PRESENCE optional },
+ ...
+}
+
+M6ReportAmount ::= ENUMERATED { r1, r2, r4, r8, r16, r32, r64, infinity, ... }
+
+M6report-Interval ::= ENUMERATED { ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480 ,ms40960, min1, min6, min12, min30, ... }
+
+M7Configuration ::= SEQUENCE {
+ m7period M7period,
+ m7-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M7Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M7Configuration-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-M7ReportAmount CRITICALITY ignore EXTENSION M7ReportAmount PRESENCE optional },
+ ...
+}
+
+M7period ::= INTEGER(1..60, ...)
+
+M7ReportAmount ::= ENUMERATED { r1, r2, r4, r8, r16, r32, r64, infinity, ... }
+
+MDT-Activation ::= ENUMERATED {
+ immediate-MDT-only,
+ immediate-MDT-and-Trace,
+ ...
+}
+
+MDT-Configuration ::= SEQUENCE {
+ mdt-Activation MDT-Activation,
+ mDTMode MDTMode,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+MDT-Configuration-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDTMode ::= CHOICE {
+ immediateMDT ImmediateMDT,
+ choice-extension ProtocolIE-SingleContainer {{MDTMode-ExtIEs}}
+}
+
+MDTMode-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+MeasurementsToActivate ::= BIT STRING (SIZE (8))
+
+MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMN-Identity
+
+MDTPLMNModificationList ::= SEQUENCE (SIZE(0..maxnoofMDTPLMNs)) OF PLMN-Identity
+
+-- N
+
+NetworkInstance ::= INTEGER (1..256, ...)
+
+New-UL-TNL-Information-Required::= ENUMERATED {
+ required,
+ ...
+}
+NGRANAllocationAndRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {NGRANAllocationAndRetentionPriority-ExtIEs} } OPTIONAL
+}
+
+NGRANAllocationAndRetentionPriority-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NG-RAN-QoS-Support-List ::= SEQUENCE (SIZE(1.. maxnoofNGRANQOSParameters)) OF NG-RAN-QoS-Support-Item
+
+NG-RAN-QoS-Support-Item ::= SEQUENCE {
+ non-Dynamic5QIDescriptor Non-Dynamic5QIDescriptor,
+ iE-Extensions ProtocolExtensionContainer { { NG-RAN-QoS-Support-Item-ExtIEs } } OPTIONAL
+}
+
+NG-RAN-QoS-Support-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NID ::= BIT STRING (SIZE (44))
+
+Non-Dynamic5QIDescriptor ::= SEQUENCE {
+ fiveQI INTEGER (0..255, ...),
+ qoSPriorityLevel QoSPriorityLevel OPTIONAL,
+ averagingWindow AveragingWindow OPTIONAL,
+ maxDataBurstVolume MaxDataBurstVolume OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Non-Dynamic5QIDescriptor-ExtIEs } } OPTIONAL
+}
+
+Non-Dynamic5QIDescriptor-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-CNPacketDelayBudgetDownlink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetUplink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional },
+ ...
+}
+
+NPNSupportInfo ::= CHOICE {
+ sNPN NPNSupportInfo-SNPN,
+ choice-extension ProtocolIE-SingleContainer {{NPNSupportInfo-ExtIEs}}
+}
+
+NPNSupportInfo-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPNSupportInfo-SNPN ::= SEQUENCE {
+ nID NID,
+ iE-Extensions ProtocolExtensionContainer { { NPNSupportInfo-SNPN-ExtIEs } } OPTIONAL
+}
+
+
+NPNSupportInfo-SNPN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPNContextInfo ::= CHOICE {
+ sNPN NPNContextInfo-SNPN,
+ choice-extension ProtocolIE-SingleContainer {{NPNContextInfo-ExtIEs}}
+}
+
+NPNContextInfo-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPNContextInfo-SNPN ::= SEQUENCE {
+ nID NID,
+ iE-Extensions ProtocolExtensionContainer { {NPNContextInfo-SNPN-ExtIEs } } OPTIONAL
+}
+
+NPNContextInfo-SNPN-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-Cell-Identity ::= BIT STRING (SIZE(36))
+
+NR-CGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ nR-Cell-Identity NR-Cell-Identity,
+ iE-Extensions ProtocolExtensionContainer { { NR-CGI-ExtIEs } } OPTIONAL
+}
+
+NR-CGI-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-CGI-Support-List ::= SEQUENCE (SIZE(1.. maxnoofNRCGI)) OF NR-CGI-Support-Item
+
+NR-CGI-Support-Item ::= SEQUENCE {
+ nR-CGI NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { { NR-CGI-Support-Item-ExtIEs } } OPTIONAL
+}
+
+NR-CGI-Support-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extended-NR-CGI-Support-List ::= SEQUENCE (SIZE(1.. maxnoofExtNRCGI)) OF Extended-NR-CGI-Support-Item
+
+Extended-NR-CGI-Support-Item ::= SEQUENCE {
+ nR-CGI NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { { Extended-NR-CGI-Support-Item-ExtIEs } } OPTIONAL
+}
+
+Extended-NR-CGI-Support-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- O
+
+OutOfOrderDelivery ::= ENUMERATED {
+ true,
+ ...
+}
+
+
+-- P
+
+PacketDelayBudget ::= INTEGER (0..1023, ...)
+
+PacketErrorRate ::= SEQUENCE {
+ pER-Scalar PER-Scalar,
+ pER-Exponent PER-Exponent,
+ iE-Extensions ProtocolExtensionContainer { {PacketErrorRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PacketErrorRate-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PER-Scalar ::= INTEGER (0..9, ...)
+PER-Exponent ::= INTEGER (0..9, ...)
+
+PDCP-Configuration ::= SEQUENCE {
+
+ pDCP-SN-Size-UL PDCP-SN-Size,
+ pDCP-SN-Size-DL PDCP-SN-Size,
+ rLC-Mode RLC-Mode,
+ rOHC-Parameters ROHC-Parameters OPTIONAL,
+ t-ReorderingTimer T-ReorderingTimer OPTIONAL,
+ discardTimer DiscardTimer OPTIONAL,
+ uLDataSplitThreshold ULDataSplitThreshold OPTIONAL,
+ pDCP-Duplication PDCP-Duplication OPTIONAL,
+ pDCP-Reestablishment PDCP-Reestablishment OPTIONAL,
+ pDCP-DataRecovery PDCP-DataRecovery OPTIONAL,
+ duplication-Activation Duplication-Activation OPTIONAL,
+ outOfOrderDelivery OutOfOrderDelivery OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PDCP-Configuration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDCP-Configuration-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-PDCP-StatusReportIndication CRITICALITY ignore EXTENSION PDCP-StatusReportIndication PRESENCE optional}|
+ { ID id-AdditionalPDCPduplicationInformation CRITICALITY ignore EXTENSION AdditionalPDCPduplicationInformation PRESENCE optional }|
+ { ID id-EHC-Parameters CRITICALITY ignore EXTENSION EHC-Parameters PRESENCE optional}|
+ { ID id-UDC-Parameters CRITICALITY ignore EXTENSION UDC-Parameters PRESENCE optional}|
+ { ID id-DiscardTimerExtended CRITICALITY reject EXTENSION DiscardTimerExtended PRESENCE optional},
+ ...
+}
+
+PDCP-COUNT-Reset ::= ENUMERATED {
+ true,
+ ...
+}
+
+PDCP-Count ::= SEQUENCE {
+ pDCP-SN PDCP-SN,
+ hFN HFN,
+ iE-Extensions ProtocolExtensionContainer { { PDCP-Count-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDCP-Count-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDCP-SN-Status-Request ::= ENUMERATED {
+ requested,
+ ...
+}
+
+PDCP-DataRecovery ::= ENUMERATED {
+ true,
+ ...
+}
+
+PDCP-Duplication ::= ENUMERATED {
+ true,
+ ...
+}
+
+PDCP-Reestablishment ::= ENUMERATED {
+ true,
+ ...
+}
+
+PDU-Session-Resource-Data-Usage-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Data-Usage-Item
+
+PDU-Session-Resource-Data-Usage-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ mRDC-Usage-Information MRDC-Usage-Information,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Data-Usage-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Data-Usage-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDCP-SN ::= INTEGER (0..262143)
+
+PDCP-SN-Size ::= ENUMERATED {
+ s-12,
+ s-18,
+ ...,
+s-7,
+s-15,
+s-16
+}
+
+PDCP-SN-Status-Information ::= SEQUENCE {
+ pdcpStatusTransfer-UL DRBBStatusTransfer,
+ pdcpStatusTransfer-DL PDCP-Count,
+ iE-Extension ProtocolExtensionContainer { { PDCP-SN-Status-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDCP-StatusReportIndication ::= ENUMERATED {
+ downlink,
+ uplink,
+ both,
+ ...
+}
+
+PDCP-SN-Status-Information-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBBStatusTransfer ::= SEQUENCE {
+ receiveStatusofPDCPSDU BIT STRING (SIZE(1..131072)) OPTIONAL,
+ countValue PDCP-Count,
+ iE-Extension ProtocolExtensionContainer { {DRBBStatusTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBBStatusTransfer-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDU-Session-ID ::= INTEGER (0..255)
+
+PDUSession-PairID ::= INTEGER (0..255, ...)
+
+PDU-Session-Resource-Activity ::= ENUMERATED {
+ active,
+ not-active,
+ ...
+}
+
+PDU-Session-Resource-Activity-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Activity-Item
+
+PDU-Session-Resource-Activity-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ pDU-Session-Resource-Activity PDU-Session-Resource-Activity,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Activity-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Activity-ItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDU-Session-Resource-Confirm-Modified-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Confirm-Modified-Item
+
+PDU-Session-Resource-Confirm-Modified-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ dRB-Confirm-Modified-List-NG-RAN DRB-Confirm-Modified-List-NG-RAN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Confirm-Modified-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Confirm-Modified-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDU-Session-Resource-Failed-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Failed-Item
+
+PDU-Session-Resource-Failed-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Failed-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Failed-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDU-Session-Resource-Failed-Mod-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Failed-Mod-Item
+
+PDU-Session-Resource-Failed-Mod-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Failed-Mod-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Failed-Mod-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDU-Session-Resource-Failed-To-Modify-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Failed-To-Modify-Item
+
+PDU-Session-Resource-Failed-To-Modify-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Failed-To-Modify-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Failed-To-Modify-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDU-Session-Resource-Modified-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Modified-Item
+
+PDU-Session-Resource-Modified-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ nG-DL-UP-TNL-Information UP-TNL-Information OPTIONAL,
+ securityResult SecurityResult OPTIONAL,
+ pDU-Session-Data-Forwarding-Information-Response Data-Forwarding-Information OPTIONAL,
+ dRB-Setup-List-NG-RAN DRB-Setup-List-NG-RAN OPTIONAL,
+ dRB-Failed-List-NG-RAN DRB-Failed-List-NG-RAN OPTIONAL,
+ dRB-Modified-List-NG-RAN DRB-Modified-List-NG-RAN OPTIONAL,
+ dRB-Failed-To-Modify-List-NG-RAN DRB-Failed-To-Modify-List-NG-RAN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Modified-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Modified-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-redundant-nG-DL-UP-TNL-Information CRITICALITY ignore EXTENSION UP-TNL-Information PRESENCE optional },
+ ...
+}
+
+PDU-Session-Resource-Required-To-Modify-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Required-To-Modify-Item
+
+PDU-Session-Resource-Required-To-Modify-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ nG-DL-UP-TNL-Information UP-TNL-Information OPTIONAL,
+ dRB-Required-To-Modify-List-NG-RAN DRB-Required-To-Modify-List-NG-RAN OPTIONAL,
+ dRB-Required-To-Remove-List-NG-RAN DRB-Required-To-Remove-List-NG-RAN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Required-To-Modify-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Required-To-Modify-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-redundant-nG-DL-UP-TNL-Information CRITICALITY ignore EXTENSION UP-TNL-Information PRESENCE optional },
+ ...
+}
+
+PDU-Session-Resource-Setup-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Setup-Item
+
+PDU-Session-Resource-Setup-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ securityResult SecurityResult OPTIONAL,
+ nG-DL-UP-TNL-Information UP-TNL-Information,
+ pDU-Session-Data-Forwarding-Information-Response Data-Forwarding-Information OPTIONAL,
+ nG-DL-UP-Unchanged ENUMERATED {true, ...} OPTIONAL,
+ dRB-Setup-List-NG-RAN DRB-Setup-List-NG-RAN,
+ dRB-Failed-List-NG-RAN DRB-Failed-List-NG-RAN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Setup-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Setup-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-redundant-nG-DL-UP-TNL-Information CRITICALITY ignore EXTENSION UP-TNL-Information PRESENCE optional }|
+ { ID id-RedundantPDUSessionInformation-used CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional },
+ ...
+}
+
+PDU-Session-Resource-Setup-Mod-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-Setup-Mod-Item
+
+PDU-Session-Resource-Setup-Mod-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ securityResult SecurityResult OPTIONAL,
+ nG-DL-UP-TNL-Information UP-TNL-Information,
+ pDU-Session-Data-Forwarding-Information-Response Data-Forwarding-Information OPTIONAL,
+ dRB-Setup-Mod-List-NG-RAN DRB-Setup-Mod-List-NG-RAN,
+ dRB-Failed-Mod-List-NG-RAN DRB-Failed-Mod-List-NG-RAN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-Setup-Mod-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-Setup-Mod-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-redundant-nG-DL-UP-TNL-Information CRITICALITY ignore EXTENSION UP-TNL-Information PRESENCE optional },
+ ...
+}
+
+PDU-Session-Resource-To-Modify-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-To-Modify-Item
+
+PDU-Session-Resource-To-Modify-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ securityIndication SecurityIndication OPTIONAL,
+ pDU-Session-Resource-DL-AMBR BitRate OPTIONAL,
+ nG-UL-UP-TNL-Information UP-TNL-Information OPTIONAL,
+ pDU-Session-Data-Forwarding-Information-Request Data-Forwarding-Information-Request OPTIONAL,
+ pDU-Session-Data-Forwarding-Information Data-Forwarding-Information OPTIONAL,
+ pDU-Session-Inactivity-Timer Inactivity-Timer OPTIONAL,
+ networkInstance NetworkInstance OPTIONAL,
+ dRB-To-Setup-List-NG-RAN DRB-To-Setup-List-NG-RAN OPTIONAL,
+ dRB-To-Modify-List-NG-RAN DRB-To-Modify-List-NG-RAN OPTIONAL,
+ dRB-To-Remove-List-NG-RAN DRB-To-Remove-List-NG-RAN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-To-Modify-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-To-Modify-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-SNSSAI CRITICALITY reject EXTENSION SNSSAI PRESENCE optional}|
+ {ID id-CommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional }|
+ {ID id-redundant-nG-UL-UP-TNL-Information CRITICALITY ignore EXTENSION UP-TNL-Information PRESENCE optional }|
+ {ID id-RedundantCommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional }|
+ {ID id-DataForwardingtoE-UTRANInformationList CRITICALITY ignore EXTENSION DataForwardingtoE-UTRANInformationList PRESENCE optional }|
+ {ID id-SecurityIndicationModify CRITICALITY ignore EXTENSION SecurityIndication PRESENCE optional },
+ ...
+}
+
+PDU-Session-Resource-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-To-Remove-Item
+
+PDU-Session-Resource-To-Remove-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-To-Remove-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-To-Remove-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-Cause CRITICALITY ignore EXTENSION Cause PRESENCE optional},
+ ...
+}
+
+PDU-Session-Resource-To-Setup-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-To-Setup-Item
+
+PDU-Session-Resource-To-Setup-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ pDU-Session-Type PDU-Session-Type,
+ sNSSAI SNSSAI,
+ securityIndication SecurityIndication,
+ pDU-Session-Resource-DL-AMBR BitRate OPTIONAL,
+ nG-UL-UP-TNL-Information UP-TNL-Information,
+ pDU-Session-Data-Forwarding-Information-Request Data-Forwarding-Information-Request OPTIONAL,
+ pDU-Session-Inactivity-Timer Inactivity-Timer OPTIONAL,
+ existing-Allocated-NG-DL-UP-TNL-Info UP-TNL-Information OPTIONAL,
+ networkInstance NetworkInstance OPTIONAL,
+ dRB-To-Setup-List-NG-RAN DRB-To-Setup-List-NG-RAN,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-To-Setup-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-To-Setup-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-CommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional }|
+ { ID id-redundant-nG-UL-UP-TNL-Information CRITICALITY ignore EXTENSION UP-TNL-Information PRESENCE optional }|
+ { ID id-RedundantCommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional }|
+ { ID id-RedundantPDUSessionInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional },
+ ...
+}
+
+PDU-Session-Resource-To-Setup-Mod-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-Resource-To-Setup-Mod-Item
+
+PDU-Session-Resource-To-Setup-Mod-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ pDU-Session-Type PDU-Session-Type,
+ sNSSAI SNSSAI,
+ securityIndication SecurityIndication,
+ pDU-Session-Resource-AMBR BitRate OPTIONAL,
+ nG-UL-UP-TNL-Information UP-TNL-Information,
+ pDU-Session-Data-Forwarding-Information-Request Data-Forwarding-Information-Request OPTIONAL,
+ pDU-Session-Inactivity-Timer Inactivity-Timer OPTIONAL,
+ dRB-To-Setup-Mod-List-NG-RAN DRB-To-Setup-Mod-List-NG-RAN,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-Resource-To-Setup-Mod-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-Resource-To-Setup-Mod-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-NetworkInstance CRITICALITY ignore EXTENSION NetworkInstance PRESENCE optional}|
+ {ID id-CommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional}|
+ {ID id-redundant-nG-UL-UP-TNL-Information CRITICALITY ignore EXTENSION UP-TNL-Information PRESENCE optional }|
+ {ID id-RedundantCommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional },
+ ...
+}
+
+PDU-Session-To-Notify-List ::= SEQUENCE (SIZE(1.. maxnoofPDUSessionResource)) OF PDU-Session-To-Notify-Item
+
+PDU-Session-To-Notify-Item ::= SEQUENCE {
+ pDU-Session-ID PDU-Session-ID,
+ qoS-Flow-List QoS-Flow-List,
+ iE-Extensions ProtocolExtensionContainer { { PDU-Session-To-Notify-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PDU-Session-To-Notify-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDU-Session-Type ::= ENUMERATED {
+ ipv4,
+ ipv6,
+ ipv4v6,
+ ethernet,
+ unstructured,
+ ...
+}
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+PortNumber ::= BIT STRING (SIZE(16))
+
+PPI ::= INTEGER (0..7, ...)
+
+PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable
+}
+
+PrivacyIndicator ::= ENUMERATED {
+ immediate-MDT,
+ logged-MDT,
+ ...
+}
+
+-- Q
+
+QCI ::= INTEGER (0..255)
+
+QoS-Characteristics ::= CHOICE {
+ non-Dynamic-5QI Non-Dynamic5QIDescriptor,
+ dynamic-5QI Dynamic5QIDescriptor,
+ choice-extension ProtocolIE-SingleContainer {{QoS-Characteristics-ExtIEs}}
+}
+
+QoS-Characteristics-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+QoS-Flow-Identifier ::= INTEGER (0..63)
+
+QoS-Flow-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF QoS-Flow-Item
+
+QoS-Flow-Item ::= SEQUENCE {
+ qoS-Flow-Identifier QoS-Flow-Identifier,
+ iE-Extensions ProtocolExtensionContainer { { QoS-Flow-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+QoS-Flow-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-QoSFlowMappingIndication CRITICALITY ignore EXTENSION QoS-Flow-Mapping-Indication PRESENCE optional}|
+ {ID id-DataForwardingSourceIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+QoS-Flow-Failed-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF QoS-Flow-Failed-Item
+
+QoS-Flow-Failed-Item ::= SEQUENCE {
+ qoS-Flow-Identifier QoS-Flow-Identifier,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { QoS-Flow-Failed-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+QoS-Flow-Failed-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoS-Flow-Mapping-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF QoS-Flow-Mapping-Item
+
+QoS-Flow-Mapping-Item ::= SEQUENCE {
+ qoS-Flow-Identifier QoS-Flow-Identifier,
+ qoSFlowMappingIndication QoS-Flow-Mapping-Indication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { QoS-Flow-Mapping-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+QoS-Flow-Mapping-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoS-Flow-Mapping-Indication ::= ENUMERATED {ul, dl, ...}
+
+QoS-Flows-DRB-Remapping ::= ENUMERATED {update, source-configuration, ...}
+
+QoS-Parameters-Support-List ::= SEQUENCE {
+ eUTRAN-QoS-Support-List EUTRAN-QoS-Support-List OPTIONAL,
+ nG-RAN-QoS-Support-List NG-RAN-QoS-Support-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { QoS-Parameters-Support-List-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+QoS-Parameters-Support-List-ItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoSPriorityLevel ::= INTEGER (0..127, ...)
+
+
+QoS-Flow-QoS-Parameter-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF QoS-Flow-QoS-Parameter-Item
+
+QoS-Flow-QoS-Parameter-Item ::= SEQUENCE {
+ qoS-Flow-Identifier QoS-Flow-Identifier,
+ qoSFlowLevelQoSParameters QoSFlowLevelQoSParameters,
+ qoSFlowMappingIndication QoS-Flow-Mapping-Indication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { QoS-Flow-QoS-Parameter-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+QoS-Flow-QoS-Parameter-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-RedundantQosFlowIndicator CRITICALITY ignore EXTENSION RedundantQoSFlowIndicator PRESENCE optional}|
+ {ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional},
+ ...
+}
+
+QoSFlowLevelQoSParameters ::= SEQUENCE {
+ qoS-Characteristics QoS-Characteristics,
+ nGRANallocationRetentionPriority NGRANAllocationAndRetentionPriority,
+ gBR-QoS-Flow-Information GBR-QoSFlowInformation OPTIONAL,
+ reflective-QoS-Attribute ENUMERATED {subject-to, ...} OPTIONAL,
+ additional-QoS-Information ENUMERATED {more-likely, ...} OPTIONAL,
+ paging-Policy-Index INTEGER (1..8, ...) OPTIONAL,
+-- The paging-Policy-Index IE is not used in this version of the specification.
+ reflective-QoS-Indicator ENUMERATED {enabled, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { QoSFlowLevelQoSParameters-ExtIEs } } OPTIONAL
+}
+
+QoSFlowLevelQoSParameters-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-QoSMonitoringRequest CRITICALITY ignore EXTENSION QosMonitoringRequest PRESENCE optional}|
+ {ID id-MCG-OfferedGBRQoSFlowInfo CRITICALITY ignore EXTENSION GBR-QoSFlowInformation PRESENCE optional}|
+ {ID id-QosMonitoringReportingFrequency CRITICALITY ignore EXTENSION QosMonitoringReportingFrequency PRESENCE optional}|
+ {ID id-QoSMonitoringDisabled CRITICALITY ignore EXTENSION QosMonitoringDisabled PRESENCE optional}|
+ {ID id-DataForwardingSourceIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+QosMonitoringRequest ::= ENUMERATED {ul, dl, both}
+
+QosMonitoringReportingFrequency ::= INTEGER (1..1800, ...)
+
+QosMonitoringDisabled ::= ENUMERATED {true, ...}
+
+QoS-Flow-Removed-Item ::= SEQUENCE {
+ qoS-Flow-Identifier QoS-Flow-Identifier,
+ qoS-Flow-Released-In-Session ENUMERATED {released-in-session, not-released-in-session, ...} OPTIONAL,
+ qoS-Flow-Accumulated-Session-Time OCTET STRING (SIZE(5)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { QoS-Flow-Removed-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+QoS-Flow-Removed-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoS-Flows-to-be-forwarded-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF QoS-Flows-to-be-forwarded-Item
+
+QoS-Flows-to-be-forwarded-Item ::= SEQUENCE {
+ qoS-Flow-Identifier QoS-Flow-Identifier,
+ iE-Extensions ProtocolExtensionContainer { { QoS-Flows-to-be-forwarded-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+QoS-Flows-to-be-forwarded-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoS-Mapping-Information ::= SEQUENCE {
+dscp BIT STRING (SIZE(6)) OPTIONAL,
+flow-label BIT STRING (SIZE(20)) OPTIONAL,
+...
+}
+
+DataForwardingtoNG-RANQoSFlowInformationList ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF DataForwardingtoNG-RANQoSFlowInformationList-Item
+
+DataForwardingtoNG-RANQoSFlowInformationList-Item ::= SEQUENCE {
+ qoS-Flow-Identifier QoS-Flow-Identifier,
+ iE-Extensions ProtocolExtensionContainer { { DataForwardingtoNG-RANQoSFlowInformationList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataForwardingtoNG-RANQoSFlowInformationList-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- R
+
+RANUEID ::= OCTET STRING (SIZE (8))
+
+RAT-Type ::= ENUMERATED {
+ e-UTRA,
+ nR,
+ ...
+}
+
+RedundantQoSFlowIndicator::= ENUMERATED {true,false}
+
+RedundantPDUSessionInformation ::= SEQUENCE {
+ rSN RSN,
+ iE-Extensions ProtocolExtensionContainer { {RedundantPDUSessionInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RedundantPDUSessionInformation-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-PDUSession-PairID CRITICALITY ignore EXTENSION PDUSession-PairID PRESENCE optional },
+ ...
+}
+
+RSN ::= ENUMERATED {v1, v2, ...}
+
+RetainabilityMeasurementsInfo ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DRB-Removed-Item
+
+RegistrationRequest ::= ENUMERATED {
+ start,
+ stop,
+ ...
+}
+
+
+ReportCharacteristics ::= BIT STRING (SIZE(36))
+
+ReportingPeriodicity ::= ENUMERATED {
+ ms500, ms1000, ms2000, ms5000, ms10000, ms20000, ms30000, ms40000, ms50000, ms60000, ms70000, ms80000, ms90000, ms100000, ms110000, ms120000,
+ ...
+}
+
+RequestedAction4AvailNGUTermination ::= ENUMERATED {
+ apply-available-configuration,
+ apply-requested-configuration,
+ ...,
+ apply-available-configuration-if-same-as-requested
+
+}
+
+RLC-Mode ::= ENUMERATED {
+ rlc-tm,
+ rlc-am,
+ rlc-um-bidirectional,
+ rlc-um-unidirectional-ul,
+ rlc-um-unidirectional-dl,
+ ...
+}
+
+
+ROHC-Parameters ::= CHOICE {
+ rOHC ROHC,
+ uPlinkOnlyROHC UplinkOnlyROHC,
+ choice-Extension ProtocolIE-SingleContainer { { ROHC-Parameters-ExtIEs} }
+}
+
+ROHC-Parameters-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+ROHC ::= SEQUENCE {
+ maxCID INTEGER (0..16383, ...),
+ rOHC-Profiles INTEGER (0..511, ...),
+ continueROHC ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ROHC-ExtIEs } } OPTIONAL
+}
+
+ROHC-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- S
+
+SCGActivationStatus ::= ENUMERATED { scg-activated, scg-deactivated, ...}
+
+SecurityAlgorithm ::= SEQUENCE {
+ cipheringAlgorithm CipheringAlgorithm,
+ integrityProtectionAlgorithm IntegrityProtectionAlgorithm OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SecurityAlgorithm-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SecurityAlgorithm-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityIndication ::= SEQUENCE {
+ integrityProtectionIndication IntegrityProtectionIndication,
+ confidentialityProtectionIndication ConfidentialityProtectionIndication,
+ maximumIPdatarate MaximumIPdatarate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SecurityIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityIndication-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityInformation ::= SEQUENCE {
+ securityAlgorithm SecurityAlgorithm,
+ uPSecuritykey UPSecuritykey,
+ iE-Extensions ProtocolExtensionContainer { { SecurityInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SecurityInformation-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityResult ::= SEQUENCE {
+ integrityProtectionResult IntegrityProtectionResult,
+ confidentialityProtectionResult ConfidentialityProtectionResult,
+ iE-Extensions ProtocolExtensionContainer { {SecurityResult-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityResult-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Slice-Support-List ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF Slice-Support-Item
+
+Slice-Support-Item ::= SEQUENCE {
+ sNSSAI SNSSAI,
+ iE-Extensions ProtocolExtensionContainer { { Slice-Support-Item-ExtIEs } } OPTIONAL
+}
+
+Slice-Support-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNSSAI ::= SEQUENCE {
+ sST OCTET STRING (SIZE(1)),
+ sD OCTET STRING (SIZE(3)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SNSSAI-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SNSSAI-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDAP-Configuration ::= SEQUENCE {
+ defaultDRB DefaultDRB,
+ sDAP-Header-UL SDAP-Header-UL,
+ sDAP-Header-DL SDAP-Header-DL,
+ iE-Extensions ProtocolExtensionContainer { { SDAP-Configuration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SDAP-Configuration-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDAP-Header-DL ::= ENUMERATED {
+ present,
+ absent,
+ ...
+}
+
+SDAP-Header-UL ::= ENUMERATED {
+ present,
+ absent,
+ ...
+}
+
+SDTContinueROHC ::= ENUMERATED {true, ...}
+
+SDTindicatorSetup ::= ENUMERATED {true, ...}
+
+SDTindicatorMod ::= ENUMERATED {true, false, ...}
+
+SubscriberProfileIDforRFP ::= INTEGER (1..256, ...)
+
+SurvivalTime ::= INTEGER (0..1920000, ...)
+
+-- T
+
+TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
+
+TNLAssociationUsage ::= ENUMERATED {
+ ue,
+ non-ue,
+ both,
+...
+}
+
+TNL-AvailableCapacityIndicator ::= SEQUENCE {
+ dL-TNL-OfferedCapacity INTEGER (0..16777216, ...),
+ dL-TNL-AvailableCapacity INTEGER (0..100, ...),
+ uL-TNL-OfferedCapacity INTEGER (0..16777216, ...),
+ uL-TNL-AvailableCapacity INTEGER (0..100, ...),
+ iE-Extensions ProtocolExtensionContainer { { TNL-AvailableCapacityIndicator-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TNL-AvailableCapacityIndicator-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TSCTrafficCharacteristics ::= SEQUENCE {
+ tSCTrafficCharacteristicsUL TSCTrafficInformation OPTIONAL,
+ tSCTrafficCharacteristicsDL TSCTrafficInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TSCTrafficCharacteristics-ExtIEs } } OPTIONAL
+}
+
+TSCTrafficCharacteristics-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TSCTrafficInformation ::= SEQUENCE {
+ periodicity Periodicity,
+ burstArrivalTime BurstArrivalTime OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TSCTrafficInformation-ExtIEs } } OPTIONAL
+}
+
+TSCTrafficInformation-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-SurvivalTime CRITICALITY ignore EXTENSION SurvivalTime PRESENCE optional},
+ ...
+}
+
+Periodicity ::= INTEGER (1..640000, ...)
+
+BurstArrivalTime ::= OCTET STRING
+
+TraceActivation ::= SEQUENCE {
+ traceID TraceID,
+ interfacesToTrace InterfacesToTrace,
+ traceDepth TraceDepth,
+ traceCollectionEntityIPAddress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TraceActivation-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional }|
+ { ID id-TraceCollectionEntityURI CRITICALITY ignore EXTENSION URIaddress PRESENCE optional},
+ ...
+}
+
+TraceDepth ::= ENUMERATED {
+ minimum,
+ medium,
+ maximum,
+ minimumWithoutVendorSpecificExtension,
+ mediumWithoutVendorSpecificExtension,
+ maximumWithoutVendorSpecificExtension,
+ ...
+}
+
+TraceID ::= OCTET STRING (SIZE(8))
+
+TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
+
+TransactionID ::= INTEGER (0..255, ...)
+
+T-Reordering ::= ENUMERATED {ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40, ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220, ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250, ms1500, ms1750, ms2000, ms2250, ms2500, ms2750, ms3000, ...}
+
+T-ReorderingTimer ::= SEQUENCE {
+ t-Reordering T-Reordering,
+ iE-Extensions ProtocolExtensionContainer { { T-ReorderingTimer-ExtIEs } } OPTIONAL,
+ ...
+}
+
+T-ReorderingTimer-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+Transport-Layer-Address-Info ::= SEQUENCE {
+ transport-UP-Layer-Addresses-Info-To-Add-List Transport-UP-Layer-Addresses-Info-To-Add-List OPTIONAL,
+ transport-UP-Layer-Addresses-Info-To-Remove-List Transport-UP-Layer-Addresses-Info-To-Remove-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Transport-Layer-Address-Info-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Transport-Layer-Address-Info-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transport-UP-Layer-Addresses-Info-To-Add-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Addresses-Info-To-Add-Item
+
+Transport-UP-Layer-Addresses-Info-To-Add-Item ::= SEQUENCE {
+ iP-SecTransportLayerAddress TransportLayerAddress,
+ gTPTransportLayerAddressesToAdd GTPTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Addresses-Info-To-Add-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Transport-UP-Layer-Addresses-Info-To-Add-ItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transport-UP-Layer-Addresses-Info-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Addresses-Info-To-Remove-Item
+
+Transport-UP-Layer-Addresses-Info-To-Remove-Item ::= SEQUENCE {
+ iP-SecTransportLayerAddress TransportLayerAddress,
+ gTPTransportLayerAddressesToRemove GTPTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Addresses-Info-To-Remove-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Transport-UP-Layer-Addresses-Info-To-Remove-ItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- U
+
+UDC-Parameters ::= SEQUENCE {
+ bufferSize BufferSize,
+ dictionary Dictionary OPTIONAL,
+ continueUDC ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UDC-Parameters-ExtIEs } } OPTIONAL
+}
+
+-- WS modification: define a dedicated type
+VersionID ::= INTEGER (0..15)
+
+UDC-Parameters-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+-- WS modification: define a dedicated type
+-- { ID id-VersionID CRITICALITY ignore EXTENSION INTEGER (0..15) PRESENCE optional},
+ { ID id-VersionID CRITICALITY ignore EXTENSION VersionID PRESENCE optional},
+ ...
+}
+
+UE-Activity ::= ENUMERATED {
+ active,
+ not-active,
+ ...
+}
+
+UE-associatedLogicalE1-ConnectionItem ::= SEQUENCE {
+ gNB-CU-CP-UE-E1AP-ID GNB-CU-CP-UE-E1AP-ID OPTIONAL,
+ gNB-CU-UP-UE-E1AP-ID GNB-CU-UP-UE-E1AP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalE1-ConnectionItemExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-associatedLogicalE1-ConnectionItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UESliceMaximumBitRateList ::= SEQUENCE (SIZE(1.. maxnoofSMBRValues)) OF UESliceMaximumBitRateItem
+UESliceMaximumBitRateItem ::= SEQUENCE {
+ sNSSAI SNSSAI,
+ uESliceMaximumBitRateDL BitRate,
+ iE-Extensions ProtocolExtensionContainer { { UESliceMaximumBitRateItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UESliceMaximumBitRateItem-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Configuration ::= ENUMERATED {
+ no-data,
+ shared,
+ only,
+ ...
+}
+
+ULUPTNLAddressToUpdateItem ::= SEQUENCE {
+ oldTNLAdress TransportLayerAddress,
+ newTNLAdress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { ULUPTNLAddressToUpdateItemExtIEs } } OPTIONAL,
+ ...
+}
+
+ULUPTNLAddressToUpdateItemExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ULDataSplitThreshold ::= ENUMERATED {b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400, b204800, b409600, b819200, b1228800, b1638400, b2457600, b3276800, b4096000, b4915200, b5734400, b6553600, infinity, ...}
+
+UP-Parameters ::= SEQUENCE (SIZE(1.. maxnoofUPParameters)) OF UP-Parameters-Item
+
+UP-Parameters-Item ::= SEQUENCE {
+ uP-TNL-Information UP-TNL-Information,
+ cell-Group-ID Cell-Group-ID,
+ iE-Extensions ProtocolExtensionContainer { { UP-Parameters-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UP-Parameters-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-QoS-Mapping-Information CRITICALITY reject EXTENSION QoS-Mapping-Information PRESENCE optional},
+ ...
+}
+
+UPSecuritykey ::= SEQUENCE {
+ encryptionKey EncryptionKey,
+ integrityProtectionKey IntegrityProtectionKey OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UPSecuritykey-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UPSecuritykey-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UP-TNL-Information ::= CHOICE {
+ gTPTunnel GTPTunnel,
+ choice-extension ProtocolIE-SingleContainer {{UP-TNL-Information-ExtIEs}}
+}
+
+UP-TNL-Information-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+UplinkOnlyROHC ::= SEQUENCE {
+ maxCID INTEGER (0..16383, ...),
+ rOHC-Profiles INTEGER (0..511, ...),
+ continueROHC ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UplinkOnlyROHC-ExtIEs } } OPTIONAL
+}
+
+UplinkOnlyROHC-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+URIaddress ::= VisibleString
+
+-- V
+
+-- W
+
+-- X
+
+-- Y
+
+-- Z
+
+END
diff --git a/epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn b/epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn
new file mode 100644
index 00000000..33514e0e
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/E1AP-PDU-Contents.asn
@@ -0,0 +1,2118 @@
+-- 3GPP TS 37.483 V17.5.0 (2023-06)
+-- **************************************************************
+--
+-- PDU definitions for E1AP
+--
+-- **************************************************************
+
+E1AP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) e1ap (5) version1 (1) e1ap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules
+--
+-- **************************************************************
+
+IMPORTS
+
+ Cause,
+ CriticalityDiagnostics,
+ GNB-CU-CP-MBS-E1AP-ID,
+ GNB-CU-UP-MBS-E1AP-ID,
+ GNB-CU-CP-UE-E1AP-ID,
+ GNB-CU-UP-UE-E1AP-ID,
+ UE-associatedLogicalE1-ConnectionItem,
+ GNB-CU-UP-ID,
+ GNB-CU-UP-Name,
+ Extended-GNB-CU-UP-Name,
+ GNB-CU-CP-Name,
+ Extended-GNB-CU-CP-Name,
+ CNSupport,
+ PLMN-Identity,
+ Slice-Support-List,
+ NR-CGI-Support-List,
+ QoS-Parameters-Support-List,
+ SecurityInformation,
+ BitRate,
+ BearerContextStatusChange,
+ DRB-To-Setup-List-EUTRAN,
+ DRB-Setup-List-EUTRAN,
+ DRB-Failed-List-EUTRAN,
+ DRB-To-Modify-List-EUTRAN,
+ DRB-Measurement-Results-Information-List,
+ DRB-Modified-List-EUTRAN,
+ DRB-Failed-To-Modify-List-EUTRAN,
+ DRB-To-Remove-List-EUTRAN,
+ DRB-Required-To-Remove-List-EUTRAN,
+ DRB-Required-To-Modify-List-EUTRAN,
+ DRB-Confirm-Modified-List-EUTRAN,
+ DRB-To-Setup-Mod-List-EUTRAN,
+ DRB-Setup-Mod-List-EUTRAN,
+ DRB-Failed-Mod-List-EUTRAN,
+ ExtendedSliceSupportList,
+ PDU-Session-Resource-To-Setup-List,
+ PDU-Session-Resource-Setup-List,
+ PDU-Session-Resource-Failed-List,
+ PDU-Session-Resource-To-Modify-List,
+ PDU-Session-Resource-Modified-List,
+ PDU-Session-Resource-Failed-To-Modify-List,
+ PDU-Session-Resource-To-Remove-List,
+ PDU-Session-Resource-Required-To-Modify-List,
+ PDU-Session-Resource-Confirm-Modified-List,
+ PDU-Session-Resource-To-Setup-Mod-List,
+ PDU-Session-Resource-Setup-Mod-List,
+ PDU-Session-Resource-Failed-Mod-List,
+ PDU-Session-To-Notify-List,
+ DRB-Status-Item,
+ DRB-Activity-Item,
+ Data-Usage-Report-List,
+ TimeToWait,
+ ActivityNotificationLevel,
+ ActivityInformation,
+ New-UL-TNL-Information-Required,
+ GNB-CU-CP-TNLA-Setup-Item,
+ GNB-CU-CP-TNLA-Failed-To-Setup-Item,
+ GNB-CU-CP-TNLA-To-Add-Item,
+ GNB-CU-CP-TNLA-To-Remove-Item,
+ GNB-CU-CP-TNLA-To-Update-Item,
+ GNB-CU-UP-TNLA-To-Remove-Item,
+ TransactionID,
+ Inactivity-Timer,
+ DRBs-Subject-To-Counter-Check-List-EUTRAN,
+ DRBs-Subject-To-Counter-Check-List-NG-RAN,
+ PPI,
+ GNB-CU-UP-Capacity,
+ GNB-CU-UP-OverloadInformation,
+ DataDiscardRequired,
+ PDU-Session-Resource-Data-Usage-List,
+ RANUEID,
+ GNB-DU-ID,
+ TraceID,
+ TraceActivation,
+ SubscriberProfileIDforRFP,
+ AdditionalRRMPriorityIndex,
+ RetainabilityMeasurementsInfo,
+ Transport-Layer-Address-Info,
+ HW-CapacityIndicator,
+ RegistrationRequest,
+ ReportCharacteristics,
+ ReportingPeriodicity,
+ TNL-AvailableCapacityIndicator,
+ DLUPTNLAddressToUpdateItem,
+ ULUPTNLAddressToUpdateItem,
+ NPNContextInfo,
+ NPNSupportInfo,
+ MDTPLMNList,
+ PrivacyIndicator,
+ URIaddress,
+ DRBs-Subject-To-Early-Forwarding-List,
+ CHOInitiation,
+ ExtendedSliceSupportList,
+ TransportLayerAddress,
+ AdditionalHandoverInfo,
+ Extended-NR-CGI-Support-List,
+ DirectForwardingPathAvailability,
+ IAB-Donor-CU-UPPSKInfo-Item,
+ ECGI-Support-List,
+ MDTPollutedMeasurementIndicator,
+ UESliceMaximumBitRateList,
+ SCGActivationStatus,
+ GlobalMBSSessionID,
+ BCBearerContextToSetup,
+ BCBearerContextToSetupResponse,
+ BCBearerContextToModify,
+ BCBearerContextToModifyResponse,
+ BCBearerContextToModifyRequired,
+ BCBearerContextToModifyConfirm,
+ MCBearerContextToSetup,
+ MCBearerContextToSetupResponse,
+ MCBearerContextToModify,
+ MCBearerContextToModifyResponse,
+ MCBearerContextToModifyRequired,
+ MCBearerContextToModifyConfirm,
+ MBSMulticastF1UContextDescriptor,
+ GNB-CU-UP-MBS-Support-Info,
+ SDTContinueROHC,
+ MDTPLMNModificationList
+
+FROM E1AP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-SingleContainer{},
+ E1AP-PRIVATE-IES,
+ E1AP-PROTOCOL-EXTENSION,
+ E1AP-PROTOCOL-IES
+
+
+FROM E1AP-Containers
+
+ id-Cause,
+ id-CriticalityDiagnostics,
+ id-gNB-CU-CP-UE-E1AP-ID,
+ id-gNB-CU-UP-UE-E1AP-ID,
+ id-ResetType,
+ id-UE-associatedLogicalE1-ConnectionItem,
+ id-UE-associatedLogicalE1-ConnectionListResAck,
+ id-gNB-CU-UP-ID,
+ id-gNB-CU-UP-Name,
+ id-Extended-GNB-CU-UP-Name,
+ id-gNB-CU-CP-Name,
+ id-Extended-GNB-CU-CP-Name,
+ id-CNSupport,
+ id-SupportedPLMNs,
+ id-NPNSupportInfo,
+ id-NPNContextInfo,
+ id-SecurityInformation,
+ id-UEDLAggregateMaximumBitRate,
+ id-BearerContextStatusChange,
+ id-System-BearerContextSetupRequest,
+ id-System-BearerContextSetupResponse,
+ id-System-BearerContextModificationRequest,
+ id-System-BearerContextModificationResponse,
+ id-System-BearerContextModificationConfirm,
+ id-System-BearerContextModificationRequired,
+ id-DRB-Status-List,
+ id-Data-Usage-Report-List,
+ id-TimeToWait,
+ id-ActivityNotificationLevel,
+ id-ActivityInformation,
+ id-New-UL-TNL-Information-Required,
+ id-GNB-CU-CP-TNLA-Setup-List,
+ id-GNB-CU-CP-TNLA-Failed-To-Setup-List,
+ id-GNB-CU-CP-TNLA-To-Add-List,
+ id-GNB-CU-CP-TNLA-To-Remove-List,
+ id-GNB-CU-CP-TNLA-To-Update-List,
+ id-GNB-CU-UP-TNLA-To-Remove-List,
+ id-DRB-To-Setup-List-EUTRAN,
+ id-DRB-To-Modify-List-EUTRAN,
+ id-DRB-To-Remove-List-EUTRAN,
+ id-DRB-Required-To-Modify-List-EUTRAN,
+ id-DRB-Required-To-Remove-List-EUTRAN,
+ id-DRB-Setup-List-EUTRAN,
+ id-DRB-Failed-List-EUTRAN,
+ id-DRB-Measurement-Results-Information-List,
+ id-DRB-Modified-List-EUTRAN,
+ id-DRB-Failed-To-Modify-List-EUTRAN,
+ id-DRB-Confirm-Modified-List-EUTRAN,
+ id-DRB-To-Setup-Mod-List-EUTRAN,
+ id-DRB-Setup-Mod-List-EUTRAN,
+ id-DRB-Failed-Mod-List-EUTRAN,
+ id-PDU-Session-Resource-To-Setup-List,
+ id-PDU-Session-Resource-To-Modify-List,
+ id-PDU-Session-Resource-To-Remove-List,
+ id-PDU-Session-Resource-Required-To-Modify-List,
+ id-PDU-Session-Resource-Setup-List,
+ id-PDU-Session-Resource-Failed-List,
+ id-PDU-Session-Resource-Modified-List,
+ id-PDU-Session-Resource-Failed-To-Modify-List,
+ id-PDU-Session-Resource-Confirm-Modified-List,
+ id-PDU-Session-Resource-Setup-Mod-List,
+ id-PDU-Session-Resource-Failed-Mod-List,
+ id-PDU-Session-Resource-To-Setup-Mod-List,
+ id-PDU-Session-To-Notify-List,
+ id-TransactionID,
+ id-Serving-PLMN,
+ id-UE-Inactivity-Timer,
+ id-System-GNB-CU-UP-CounterCheckRequest,
+ id-DRBs-Subject-To-Counter-Check-List-EUTRAN,
+ id-DRBs-Subject-To-Counter-Check-List-NG-RAN,
+ id-PPI,
+ id-gNB-CU-UP-Capacity,
+ id-GNB-CU-UP-OverloadInformation,
+ id-UEDLMaximumIntegrityProtectedDataRate,
+ id-DataDiscardRequired,
+ id-PDU-Session-Resource-Data-Usage-List,
+ id-RANUEID,
+ id-GNB-DU-ID,
+ id-TraceID,
+ id-TraceActivation,
+ id-SubscriberProfileIDforRFP,
+ id-AdditionalRRMPriorityIndex,
+ id-RetainabilityMeasurementsInfo,
+ id-Transport-Layer-Address-Info,
+ id-gNB-CU-CP-Measurement-ID,
+ id-gNB-CU-UP-Measurement-ID,
+ id-RegistrationRequest,
+ id-ReportCharacteristics,
+ id-ReportingPeriodicity,
+ id-TNL-AvailableCapacityIndicator,
+ id-HW-CapacityIndicator,
+ id-DLUPTNLAddressToUpdateList,
+ id-ULUPTNLAddressToUpdateList,
+ id-ManagementBasedMDTPLMNList,
+ id-TraceCollectionEntityIPAddress,
+ id-PrivacyIndicator,
+ id-URIaddress,
+ id-DRBs-Subject-To-Early-Forwarding-List,
+ id-CHOInitiation,
+ id-ExtendedSliceSupportList,
+ id-AdditionalHandoverInfo,
+ id-Extended-NR-CGI-Support-List,
+ id-DirectForwardingPathAvailability, id-IAB-Donor-CU-UPPSKInfo,
+ id-ECGI-Support-List,
+ id-MDTPollutedMeasurementIndicator,
+ id-UESliceMaximumBitRateList,
+ id-SCGActivationStatus,
+ id-GNB-CU-CP-MBS-E1AP-ID,
+ id-GNB-CU-UP-MBS-E1AP-ID,
+ id-GlobalMBSSessionID,
+ id-BCBearerContextToSetup,
+ id-BCBearerContextToSetupResponse,
+ id-BCBearerContextToModify,
+ id-BCBearerContextToModifyResponse,
+ id-BCBearerContextToModifyRequired,
+ id-BCBearerContextToModifyConfirm,
+ id-MCBearerContextToSetup,
+ id-MCBearerContextToSetupResponse,
+ id-MCBearerContextToModify,
+ id-MCBearerContextToModifyResponse,
+ id-MCBearerContextToModifyRequired,
+ id-MCBearerContextToModifyConfirm,
+ id-MBSMulticastF1UContextDescriptor,
+ id-gNB-CU-UP-MBS-Support-Info,
+ id-SDTContinueROHC,
+ id-ManagementBasedMDTPLMNModificationList,
+
+ maxnoofErrors,
+ maxnoofSPLMNs,
+ maxnoofDRBs,
+ maxnoofTNLAssociations,
+ maxnoofIndividualE1ConnectionsToReset,
+ maxnoofTNLAddresses,
+ maxnoofPSKs
+
+
+FROM E1AP-Constants;
+
+-- **************************************************************
+--
+-- RESET
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Reset
+--
+-- **************************************************************
+
+Reset ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetIEs} },
+ ...
+}
+
+ResetIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
+ ...
+}
+
+ResetType ::= CHOICE {
+ e1-Interface ResetAll,
+ partOfE1-Interface UE-associatedLogicalE1-ConnectionListRes,
+ choice-extension ProtocolIE-SingleContainer {{ResetType-ExtIEs}}
+}
+
+ResetType-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+ResetAll ::= ENUMERATED {
+ reset-all,
+ ...
+}
+
+UE-associatedLogicalE1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxnoofIndividualE1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalE1-ConnectionItemRes } }
+
+UE-associatedLogicalE1-ConnectionItemRes E1AP-PROTOCOL-IES ::= {
+
+ { ID id-UE-associatedLogicalE1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalE1-ConnectionItem PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- Reset Acknowledge
+--
+-- **************************************************************
+
+ResetAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
+ ...
+}
+
+ResetAcknowledgeIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-UE-associatedLogicalE1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalE1-ConnectionListResAck PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+UE-associatedLogicalE1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxnoofIndividualE1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalE1-ConnectionItemResAck } }
+
+UE-associatedLogicalE1-ConnectionItemResAck E1AP-PROTOCOL-IES ::= {
+ { ID id-UE-associatedLogicalE1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalE1-ConnectionItem PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ ...
+}
+
+ErrorIndication-IEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY ignore TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE optional}|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY ignore TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY ignore TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE optional}|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY ignore TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU-UP E1 SETUP
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- GNB-CU-UP E1 Setup Request
+--
+-- **************************************************************
+
+GNB-CU-UP-E1SetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-UP-E1SetupRequestIEs} },
+ ...
+}
+
+GNB-CU-UP-E1SetupRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-ID CRITICALITY reject TYPE GNB-CU-UP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-Name CRITICALITY ignore TYPE GNB-CU-UP-Name PRESENCE optional }|
+ { ID id-CNSupport CRITICALITY reject TYPE CNSupport PRESENCE mandatory }|
+ { ID id-SupportedPLMNs CRITICALITY reject TYPE SupportedPLMNs-List PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-Capacity CRITICALITY ignore TYPE GNB-CU-UP-Capacity PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-Extended-GNB-CU-UP-Name CRITICALITY ignore TYPE Extended-GNB-CU-UP-Name PRESENCE optional }|
+ { ID id-gNB-CU-UP-MBS-Support-Info CRITICALITY reject TYPE GNB-CU-UP-MBS-Support-Info PRESENCE optional },
+ ...
+}
+
+SupportedPLMNs-List ::= SEQUENCE (SIZE (1..maxnoofSPLMNs)) OF SupportedPLMNs-Item
+
+SupportedPLMNs-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ slice-Support-List Slice-Support-List OPTIONAL,
+ nR-CGI-Support-List NR-CGI-Support-List OPTIONAL,
+ qoS-Parameters-Support-List QoS-Parameters-Support-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SupportedPLMNs-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SupportedPLMNs-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NPNSupportInfo CRITICALITY reject EXTENSION NPNSupportInfo PRESENCE optional}|
+ { ID id-ExtendedSliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional}|
+ { ID id-Extended-NR-CGI-Support-List CRITICALITY ignore EXTENSION Extended-NR-CGI-Support-List PRESENCE optional}|
+ { ID id-ECGI-Support-List CRITICALITY ignore EXTENSION ECGI-Support-List PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU-UP E1 Setup Response
+--
+-- **************************************************************
+
+GNB-CU-UP-E1SetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-UP-E1SetupResponseIEs} },
+ ...
+}
+
+GNB-CU-UP-E1SetupResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNB-CU-CP-Name CRITICALITY ignore TYPE GNB-CU-CP-Name PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-Extended-GNB-CU-CP-Name CRITICALITY ignore TYPE Extended-GNB-CU-CP-Name PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU-UP E1 Setup Failure
+--
+-- **************************************************************
+
+GNB-CU-UP-E1SetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-UP-E1SetupFailureIEs} },
+ ...
+}
+
+GNB-CU-UP-E1SetupFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU-CP E1 SETUP
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- GNB-CU-CP E1 Setup Request
+--
+-- **************************************************************
+
+GNB-CU-CP-E1SetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-CP-E1SetupRequestIEs} },
+ ...
+}
+
+GNB-CU-CP-E1SetupRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNB-CU-CP-Name CRITICALITY ignore TYPE GNB-CU-CP-Name PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-Extended-GNB-CU-CP-Name CRITICALITY ignore TYPE Extended-GNB-CU-CP-Name PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU-CP E1 Setup Response
+--
+-- **************************************************************
+
+GNB-CU-CP-E1SetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-CP-E1SetupResponseIEs} },
+ ...
+}
+
+GNB-CU-CP-E1SetupResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-ID CRITICALITY reject TYPE GNB-CU-UP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-Name CRITICALITY ignore TYPE GNB-CU-UP-Name PRESENCE optional }|
+ { ID id-CNSupport CRITICALITY reject TYPE CNSupport PRESENCE mandatory }|
+ { ID id-SupportedPLMNs CRITICALITY reject TYPE SupportedPLMNs-List PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-Capacity CRITICALITY ignore TYPE GNB-CU-UP-Capacity PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-Extended-GNB-CU-UP-Name CRITICALITY ignore TYPE Extended-GNB-CU-UP-Name PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU-CP E1 Setup Failure
+--
+-- **************************************************************
+
+GNB-CU-CP-E1SetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-CP-E1SetupFailureIEs} },
+ ...
+}
+
+GNB-CU-CP-E1SetupFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU-UP CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- GNB-CU-UP Configuration Update
+--
+-- **************************************************************
+
+GNB-CU-UP-ConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-UP-ConfigurationUpdateIEs} },
+ ...
+}
+
+GNB-CU-UP-ConfigurationUpdateIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-ID CRITICALITY reject TYPE GNB-CU-UP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-Name CRITICALITY ignore TYPE GNB-CU-UP-Name PRESENCE optional }|
+ { ID id-SupportedPLMNs CRITICALITY reject TYPE SupportedPLMNs-List PRESENCE optional }|
+ { ID id-gNB-CU-UP-Capacity CRITICALITY ignore TYPE GNB-CU-UP-Capacity PRESENCE optional }|
+ { ID id-GNB-CU-UP-TNLA-To-Remove-List CRITICALITY reject TYPE GNB-CU-UP-TNLA-To-Remove-List PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-Extended-GNB-CU-UP-Name CRITICALITY ignore TYPE Extended-GNB-CU-UP-Name PRESENCE optional }|
+ { ID id-gNB-CU-UP-MBS-Support-Info CRITICALITY reject TYPE GNB-CU-UP-MBS-Support-Info PRESENCE optional },
+ ...
+}
+
+GNB-CU-UP-TNLA-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF GNB-CU-UP-TNLA-To-Remove-Item
+
+-- **************************************************************
+--
+-- GNB-CU-UP Configuration Update Acknowledge
+--
+-- **************************************************************
+
+GNB-CU-UP-ConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-UP-ConfigurationUpdateAcknowledgeIEs} },
+ ...
+}
+
+GNB-CU-UP-ConfigurationUpdateAcknowledgeIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU-UP Configuration Update Failure
+--
+-- **************************************************************
+
+GNB-CU-UP-ConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-UP-ConfigurationUpdateFailureIEs} },
+ ...
+}
+
+GNB-CU-UP-ConfigurationUpdateFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU-CP CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- GNB-CU-CP Configuration Update
+--
+-- **************************************************************
+
+GNB-CU-CP-ConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-CP-ConfigurationUpdateIEs} },
+ ...
+}
+
+GNB-CU-CP-ConfigurationUpdateIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNB-CU-CP-Name CRITICALITY ignore TYPE GNB-CU-CP-Name PRESENCE optional }|
+ { ID id-GNB-CU-CP-TNLA-To-Add-List CRITICALITY ignore TYPE GNB-CU-CP-TNLA-To-Add-List PRESENCE optional }|
+ { ID id-GNB-CU-CP-TNLA-To-Remove-List CRITICALITY ignore TYPE GNB-CU-CP-TNLA-To-Remove-List PRESENCE optional }|
+ { ID id-GNB-CU-CP-TNLA-To-Update-List CRITICALITY ignore TYPE GNB-CU-CP-TNLA-To-Update-List PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-Extended-GNB-CU-CP-Name CRITICALITY ignore TYPE Extended-GNB-CU-CP-Name PRESENCE optional },
+ ...
+}
+
+GNB-CU-CP-TNLA-To-Add-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF GNB-CU-CP-TNLA-To-Add-Item
+GNB-CU-CP-TNLA-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF GNB-CU-CP-TNLA-To-Remove-Item
+GNB-CU-CP-TNLA-To-Update-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF GNB-CU-CP-TNLA-To-Update-Item
+
+-- **************************************************************
+--
+-- GNB-CU-CP Configuration Update Acknowledge
+--
+-- **************************************************************
+
+GNB-CU-CP-ConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-CP-ConfigurationUpdateAcknowledgeIEs} },
+ ...
+}
+
+GNB-CU-CP-ConfigurationUpdateAcknowledgeIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-GNB-CU-CP-TNLA-Setup-List CRITICALITY ignore TYPE GNB-CU-CP-TNLA-Setup-List PRESENCE optional }|
+ { ID id-GNB-CU-CP-TNLA-Failed-To-Setup-List CRITICALITY ignore TYPE GNB-CU-CP-TNLA-Failed-To-Setup-List PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional },
+ ...
+}
+
+GNB-CU-CP-TNLA-Setup-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF GNB-CU-CP-TNLA-Setup-Item
+GNB-CU-CP-TNLA-Failed-To-Setup-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF GNB-CU-CP-TNLA-Failed-To-Setup-Item
+
+
+-- **************************************************************
+--
+-- GNB-CU-CP Configuration Update Failure
+--
+-- **************************************************************
+
+GNB-CU-CP-ConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNB-CU-CP-ConfigurationUpdateFailureIEs} },
+ ...
+}
+
+GNB-CU-CP-ConfigurationUpdateFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- E1 RELEASE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E1 Release Request
+--
+-- **************************************************************
+
+E1ReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E1ReleaseRequestIEs} },
+ ...
+}
+
+E1ReleaseRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- E1 Release Response
+--
+-- **************************************************************
+
+E1ReleaseResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E1ReleaseResponseIEs} },
+ ...
+}
+
+E1ReleaseResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BEARER CONTEXT SETUP
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Bearer Context Setup Request
+--
+-- **************************************************************
+
+BearerContextSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextSetupRequestIEs} },
+ ...
+}
+
+BearerContextSetupRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-SecurityInformation CRITICALITY reject TYPE SecurityInformation PRESENCE mandatory }|
+ { ID id-UEDLAggregateMaximumBitRate CRITICALITY reject TYPE BitRate PRESENCE mandatory }|
+ { ID id-UEDLMaximumIntegrityProtectedDataRate CRITICALITY reject TYPE BitRate PRESENCE optional }|
+ { ID id-Serving-PLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE mandatory }|
+ { ID id-ActivityNotificationLevel CRITICALITY reject TYPE ActivityNotificationLevel PRESENCE mandatory }|
+ { ID id-UE-Inactivity-Timer CRITICALITY reject TYPE Inactivity-Timer PRESENCE optional }|
+ { ID id-BearerContextStatusChange CRITICALITY reject TYPE BearerContextStatusChange PRESENCE optional }|
+ { ID id-System-BearerContextSetupRequest CRITICALITY reject TYPE System-BearerContextSetupRequest PRESENCE mandatory }|
+ { ID id-RANUEID CRITICALITY ignore TYPE RANUEID PRESENCE optional }|
+ { ID id-GNB-DU-ID CRITICALITY ignore TYPE GNB-DU-ID PRESENCE optional }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
+ { ID id-NPNContextInfo CRITICALITY reject TYPE NPNContextInfo PRESENCE optional}|
+ { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional}|
+ { ID id-CHOInitiation CRITICALITY reject TYPE CHOInitiation PRESENCE optional }|
+ { ID id-AdditionalHandoverInfo CRITICALITY ignore TYPE AdditionalHandoverInfo PRESENCE optional }|
+ { ID id-DirectForwardingPathAvailability CRITICALITY ignore TYPE DirectForwardingPathAvailability PRESENCE optional }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY ignore TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE optional }|
+ { ID id-MDTPollutedMeasurementIndicator CRITICALITY ignore TYPE MDTPollutedMeasurementIndicator PRESENCE optional }|
+ { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-SCGActivationStatus CRITICALITY ignore TYPE SCGActivationStatus PRESENCE optional },
+ ...
+}
+
+System-BearerContextSetupRequest ::= CHOICE {
+ e-UTRAN-BearerContextSetupRequest ProtocolIE-Container {{EUTRAN-BearerContextSetupRequest}},
+ nG-RAN-BearerContextSetupRequest ProtocolIE-Container {{NG-RAN-BearerContextSetupRequest}},
+ choice-extension ProtocolIE-SingleContainer {{System-BearerContextSetupRequest-ExtIEs}}
+}
+
+System-BearerContextSetupRequest-ExtIEs E1AP-PROTOCOL-IES::= {
+ ...
+}
+
+
+EUTRAN-BearerContextSetupRequest E1AP-PROTOCOL-IES ::= {
+ { ID id-DRB-To-Setup-List-EUTRAN CRITICALITY reject TYPE DRB-To-Setup-List-EUTRAN PRESENCE mandatory }|
+ { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional },
+ ...
+}
+
+NG-RAN-BearerContextSetupRequest E1AP-PROTOCOL-IES ::= {
+ { ID id-PDU-Session-Resource-To-Setup-List CRITICALITY reject TYPE PDU-Session-Resource-To-Setup-List PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Bearer Context Setup Response
+--
+-- **************************************************************
+
+BearerContextSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextSetupResponseIEs} },
+ ...
+}
+
+
+BearerContextSetupResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-System-BearerContextSetupResponse CRITICALITY ignore TYPE System-BearerContextSetupResponse PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+System-BearerContextSetupResponse::= CHOICE {
+ e-UTRAN-BearerContextSetupResponse ProtocolIE-Container {{EUTRAN-BearerContextSetupResponse}},
+ nG-RAN-BearerContextSetupResponse ProtocolIE-Container {{NG-RAN-BearerContextSetupResponse}},
+ choice-extension ProtocolIE-SingleContainer {{System-BearerContextSetupResponse-ExtIEs}}
+}
+
+System-BearerContextSetupResponse-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+EUTRAN-BearerContextSetupResponse E1AP-PROTOCOL-IES ::= {
+ { ID id-DRB-Setup-List-EUTRAN CRITICALITY ignore TYPE DRB-Setup-List-EUTRAN PRESENCE mandatory }|
+ { ID id-DRB-Failed-List-EUTRAN CRITICALITY ignore TYPE DRB-Failed-List-EUTRAN PRESENCE optional },
+ ...
+}
+
+NG-RAN-BearerContextSetupResponse E1AP-PROTOCOL-IES ::= {
+ { ID id-PDU-Session-Resource-Setup-List CRITICALITY ignore TYPE PDU-Session-Resource-Setup-List PRESENCE mandatory }|
+ { ID id-PDU-Session-Resource-Failed-List CRITICALITY ignore TYPE PDU-Session-Resource-Failed-List PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Bearer Context Setup Failure
+--
+-- **************************************************************
+
+BearerContextSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextSetupFailureIEs} },
+ ...
+}
+
+BearerContextSetupFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY ignore TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BEARER CONTEXT MODIFICATION
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Bearer Context Modification Request
+--
+-- **************************************************************
+
+BearerContextModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextModificationRequestIEs} },
+ ...
+}
+
+BearerContextModificationRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-SecurityInformation CRITICALITY reject TYPE SecurityInformation PRESENCE optional }|
+ { ID id-UEDLAggregateMaximumBitRate CRITICALITY reject TYPE BitRate PRESENCE optional }|
+ { ID id-UEDLMaximumIntegrityProtectedDataRate CRITICALITY reject TYPE BitRate PRESENCE optional }|
+ { ID id-BearerContextStatusChange CRITICALITY reject TYPE BearerContextStatusChange PRESENCE optional }|
+ { ID id-New-UL-TNL-Information-Required CRITICALITY reject TYPE New-UL-TNL-Information-Required PRESENCE optional }|
+ { ID id-UE-Inactivity-Timer CRITICALITY reject TYPE Inactivity-Timer PRESENCE optional }|
+ { ID id-DataDiscardRequired CRITICALITY ignore TYPE DataDiscardRequired PRESENCE optional }|
+ { ID id-System-BearerContextModificationRequest CRITICALITY reject TYPE System-BearerContextModificationRequest PRESENCE optional }|
+ { ID id-RANUEID CRITICALITY ignore TYPE RANUEID PRESENCE optional }|
+ { ID id-GNB-DU-ID CRITICALITY ignore TYPE GNB-DU-ID PRESENCE optional }|
+ { ID id-ActivityNotificationLevel CRITICALITY ignore TYPE ActivityNotificationLevel PRESENCE optional }|
+ { ID id-MDTPollutedMeasurementIndicator CRITICALITY ignore TYPE MDTPollutedMeasurementIndicator PRESENCE optional }|
+ { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-SCGActivationStatus CRITICALITY ignore TYPE SCGActivationStatus PRESENCE optional }|
+ { ID id-SDTContinueROHC CRITICALITY reject TYPE SDTContinueROHC PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNModificationList CRITICALITY ignore TYPE MDTPLMNModificationList PRESENCE optional},
+ ...
+}
+
+System-BearerContextModificationRequest ::= CHOICE {
+ e-UTRAN-BearerContextModificationRequest ProtocolIE-Container {{EUTRAN-BearerContextModificationRequest}},
+ nG-RAN-BearerContextModificationRequest ProtocolIE-Container {{NG-RAN-BearerContextModificationRequest}},
+ choice-extension ProtocolIE-SingleContainer {{System-BearerContextModificationRequest-ExtIEs}}
+}
+
+System-BearerContextModificationRequest-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+EUTRAN-BearerContextModificationRequest E1AP-PROTOCOL-IES ::= {
+ { ID id-DRB-To-Setup-Mod-List-EUTRAN CRITICALITY reject TYPE DRB-To-Setup-Mod-List-EUTRAN PRESENCE optional }|
+ { ID id-DRB-To-Modify-List-EUTRAN CRITICALITY reject TYPE DRB-To-Modify-List-EUTRAN PRESENCE optional }|
+ { ID id-DRB-To-Remove-List-EUTRAN CRITICALITY reject TYPE DRB-To-Remove-List-EUTRAN PRESENCE optional }|
+ { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional },
+ ...
+}
+
+NG-RAN-BearerContextModificationRequest E1AP-PROTOCOL-IES ::= {
+ { ID id-PDU-Session-Resource-To-Setup-Mod-List CRITICALITY reject TYPE PDU-Session-Resource-To-Setup-Mod-List PRESENCE optional }|
+ { ID id-PDU-Session-Resource-To-Modify-List CRITICALITY reject TYPE PDU-Session-Resource-To-Modify-List PRESENCE optional }|
+ { ID id-PDU-Session-Resource-To-Remove-List CRITICALITY reject TYPE PDU-Session-Resource-To-Remove-List PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Bearer Context Modification Response
+--
+-- **************************************************************
+
+BearerContextModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextModificationResponseIEs} },
+ ...
+}
+
+
+BearerContextModificationResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-System-BearerContextModificationResponse CRITICALITY ignore TYPE System-BearerContextModificationResponse PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+System-BearerContextModificationResponse ::= CHOICE {
+ e-UTRAN-BearerContextModificationResponse ProtocolIE-Container {{EUTRAN-BearerContextModificationResponse}},
+ nG-RAN-BearerContextModificationResponse ProtocolIE-Container {{NG-RAN-BearerContextModificationResponse}},
+ choice-extension ProtocolIE-SingleContainer {{System-BearerContextModificationResponse-ExtIEs}}
+}
+
+System-BearerContextModificationResponse-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+EUTRAN-BearerContextModificationResponse E1AP-PROTOCOL-IES ::= {
+ { ID id-DRB-Setup-Mod-List-EUTRAN CRITICALITY ignore TYPE DRB-Setup-Mod-List-EUTRAN PRESENCE optional }|
+ { ID id-DRB-Failed-Mod-List-EUTRAN CRITICALITY ignore TYPE DRB-Failed-Mod-List-EUTRAN PRESENCE optional }|
+ { ID id-DRB-Modified-List-EUTRAN CRITICALITY ignore TYPE DRB-Modified-List-EUTRAN PRESENCE optional }|
+ { ID id-DRB-Failed-To-Modify-List-EUTRAN CRITICALITY ignore TYPE DRB-Failed-To-Modify-List-EUTRAN PRESENCE optional }|
+ { ID id-RetainabilityMeasurementsInfo CRITICALITY ignore TYPE RetainabilityMeasurementsInfo PRESENCE optional },
+ ...
+}
+
+NG-RAN-BearerContextModificationResponse E1AP-PROTOCOL-IES ::= {
+ { ID id-PDU-Session-Resource-Setup-Mod-List CRITICALITY reject TYPE PDU-Session-Resource-Setup-Mod-List PRESENCE optional }|
+ { ID id-PDU-Session-Resource-Failed-Mod-List CRITICALITY reject TYPE PDU-Session-Resource-Failed-Mod-List PRESENCE optional }|
+ { ID id-PDU-Session-Resource-Modified-List CRITICALITY reject TYPE PDU-Session-Resource-Modified-List PRESENCE optional }|
+ { ID id-PDU-Session-Resource-Failed-To-Modify-List CRITICALITY reject TYPE PDU-Session-Resource-Failed-To-Modify-List PRESENCE optional }|
+ { ID id-RetainabilityMeasurementsInfo CRITICALITY ignore TYPE RetainabilityMeasurementsInfo PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Bearer Context Modification Failure
+--
+-- **************************************************************
+
+BearerContextModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextModificationFailureIEs} },
+ ...
+}
+
+BearerContextModificationFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BEARER CONTEXT MODIFICATION REQUIRED
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Bearer Context Modification Required
+--
+-- **************************************************************
+
+BearerContextModificationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextModificationRequiredIEs} },
+ ...
+}
+
+BearerContextModificationRequiredIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-System-BearerContextModificationRequired CRITICALITY reject TYPE System-BearerContextModificationRequired PRESENCE mandatory },
+ ...
+}
+
+System-BearerContextModificationRequired ::= CHOICE {
+ e-UTRAN-BearerContextModificationRequired ProtocolIE-Container {{EUTRAN-BearerContextModificationRequired}},
+ nG-RAN-BearerContextModificationRequired ProtocolIE-Container {{NG-RAN-BearerContextModificationRequired}},
+ choice-extension ProtocolIE-SingleContainer {{System-BearerContextModificationRequired-ExtIEs}}
+}
+
+System-BearerContextModificationRequired-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+EUTRAN-BearerContextModificationRequired E1AP-PROTOCOL-IES ::= {
+ { ID id-DRB-Required-To-Modify-List-EUTRAN CRITICALITY reject TYPE DRB-Required-To-Modify-List-EUTRAN PRESENCE optional }|
+ { ID id-DRB-Required-To-Remove-List-EUTRAN CRITICALITY reject TYPE DRB-Required-To-Remove-List-EUTRAN PRESENCE optional },
+ ...
+}
+
+NG-RAN-BearerContextModificationRequired E1AP-PROTOCOL-IES ::= {
+ { ID id-PDU-Session-Resource-Required-To-Modify-List CRITICALITY reject TYPE PDU-Session-Resource-Required-To-Modify-List PRESENCE optional }|
+ { ID id-PDU-Session-Resource-To-Remove-List CRITICALITY reject TYPE PDU-Session-Resource-To-Remove-List PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Bearer Context Modification Confirm
+--
+-- **************************************************************
+
+BearerContextModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextModificationConfirmIEs} },
+ ...
+}
+
+
+BearerContextModificationConfirmIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-System-BearerContextModificationConfirm CRITICALITY ignore TYPE System-BearerContextModificationConfirm PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+System-BearerContextModificationConfirm ::= CHOICE {
+ e-UTRAN-BearerContextModificationConfirm ProtocolIE-Container {{EUTRAN-BearerContextModificationConfirm}},
+ nG-RAN-BearerContextModificationConfirm ProtocolIE-Container {{NG-RAN-BearerContextModificationConfirm}},
+ choice-extension ProtocolIE-SingleContainer {{System-BearerContextModificationConfirm-ExtIEs}}
+}
+
+System-BearerContextModificationConfirm-ExtIEs E1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+EUTRAN-BearerContextModificationConfirm E1AP-PROTOCOL-IES ::= {
+ { ID id-DRB-Confirm-Modified-List-EUTRAN CRITICALITY ignore TYPE DRB-Confirm-Modified-List-EUTRAN PRESENCE optional },
+ ...
+}
+
+NG-RAN-BearerContextModificationConfirm E1AP-PROTOCOL-IES ::= {
+ { ID id-PDU-Session-Resource-Confirm-Modified-List CRITICALITY ignore TYPE PDU-Session-Resource-Confirm-Modified-List PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- BEARER CONTEXT RELEASE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Bearer Context Release Command
+--
+-- **************************************************************
+
+BearerContextReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextReleaseCommandIEs} },
+ ...
+}
+
+BearerContextReleaseCommandIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- Bearer Context Release Complete
+--
+-- **************************************************************
+
+BearerContextReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextReleaseCompleteIEs} },
+ ...
+}
+
+
+BearerContextReleaseCompleteIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-RetainabilityMeasurementsInfo CRITICALITY ignore TYPE RetainabilityMeasurementsInfo PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BEARER CONTEXT RELEASE REQUEST
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Bearer Context Release Request
+--
+-- **************************************************************
+
+BearerContextReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextReleaseRequestIEs} },
+ ...
+}
+
+BearerContextReleaseRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-DRB-Status-List CRITICALITY ignore TYPE DRB-Status-List PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+DRB-Status-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRB-Status-Item
+
+
+-- **************************************************************
+--
+-- BEARER CONTEXT INACTIVITY NOTIFICATION
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Bearer Context Inactivity Notification
+--
+-- **************************************************************
+
+BearerContextInactivityNotification ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BearerContextInactivityNotificationIEs } },
+ ...
+}
+
+BearerContextInactivityNotificationIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-ActivityInformation CRITICALITY reject TYPE ActivityInformation PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- DL DATA NOTIFICATION
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DL Data Notification
+--
+-- **************************************************************
+
+DLDataNotification ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { DLDataNotificationIEs } },
+ ...
+}
+
+DLDataNotificationIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-PPI CRITICALITY ignore TYPE PPI PRESENCE optional }|
+ { ID id-PDU-Session-To-Notify-List CRITICALITY ignore TYPE PDU-Session-To-Notify-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UL Data Notification
+--
+-- **************************************************************
+
+ULDataNotification ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ULDataNotificationIEs } },
+ ...
+}
+
+ULDataNotificationIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-PDU-Session-To-Notify-List CRITICALITY reject TYPE PDU-Session-To-Notify-List PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- DATA USAGE REPORT
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Data Usage Report
+--
+-- **************************************************************
+
+DataUsageReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { DataUsageReportIEs } },
+ ...
+}
+
+DataUsageReportIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-Data-Usage-Report-List CRITICALITY ignore TYPE Data-Usage-Report-List PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GNB-CU-UP COUNTER CHECK
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- gNB-CU-UP Counter Check Request
+--
+-- **************************************************************
+
+GNB-CU-UP-CounterCheckRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { GNB-CU-UP-CounterCheckRequestIEs } },
+ ...
+}
+
+GNB-CU-UP-CounterCheckRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-System-GNB-CU-UP-CounterCheckRequest CRITICALITY reject TYPE System-GNB-CU-UP-CounterCheckRequest PRESENCE mandatory },
+ ...
+}
+
+System-GNB-CU-UP-CounterCheckRequest ::= CHOICE {
+ e-UTRAN-GNB-CU-UP-CounterCheckRequest ProtocolIE-Container {{EUTRAN-GNB-CU-UP-CounterCheckRequest}},
+ nG-RAN-GNB-CU-UP-CounterCheckRequest ProtocolIE-Container {{NG-RAN-GNB-CU-UP-CounterCheckRequest}},
+ choice-extension ProtocolIE-SingleContainer {{System-GNB-CU-UP-CounterCheckRequest-ExtIEs}}
+}
+
+System-GNB-CU-UP-CounterCheckRequest-ExtIEs E1AP-PROTOCOL-IES::= {
+ ...
+}
+
+EUTRAN-GNB-CU-UP-CounterCheckRequest E1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-Subject-To-Counter-Check-List-EUTRAN CRITICALITY ignore TYPE DRBs-Subject-To-Counter-Check-List-EUTRAN PRESENCE mandatory },
+ ...
+}
+
+NG-RAN-GNB-CU-UP-CounterCheckRequest E1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-Subject-To-Counter-Check-List-NG-RAN CRITICALITY ignore TYPE DRBs-Subject-To-Counter-Check-List-NG-RAN PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- gNB-CU-UP STATUS INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- gNB-CU-UP Status Indication
+--
+-- **************************************************************
+
+
+GNB-CU-UP-StatusIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { GNB-CU-UP-StatusIndicationIEs} },
+ ...
+}
+
+
+GNB-CU-UP-StatusIndicationIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-OverloadInformation CRITICALITY reject TYPE GNB-CU-UP-OverloadInformation PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- gNB-CU-CP MEASUREMENT RESULTS INFORMATION
+--
+-- **************************************************************
+
+GNB-CU-CPMeasurementResultsInformation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { GNB-CU-CPMeasurementResultsInformationIEs } },
+ ...
+}
+
+GNB-CU-CPMeasurementResultsInformationIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory}|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory}|
+ { ID id-DRB-Measurement-Results-Information-List CRITICALITY ignore TYPE DRB-Measurement-Results-Information-List PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- MR-DC DATA USAGE REPORT
+--
+-- **************************************************************
+
+MRDC-DataUsageReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MRDC-DataUsageReportIEs } },
+ ...
+}
+
+MRDC-DataUsageReportIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory}|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory}|
+ { ID id-PDU-Session-Resource-Data-Usage-List CRITICALITY ignore TYPE PDU-Session-Resource-Data-Usage-List PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- TRACE ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- TRACE START
+--
+-- **************************************************************
+
+TraceStart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TraceStartIEs} },
+ ...
+}
+
+TraceStartIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- DEACTIVATE TRACE
+--
+-- **************************************************************
+
+DeactivateTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DeactivateTraceIEs} },
+ ...
+}
+
+DeactivateTraceIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-TraceID CRITICALITY ignore TYPE TraceID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL TRAFFIC TRACE
+--
+-- **************************************************************
+
+CellTrafficTrace ::= SEQUENCE {
+protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } },
+...
+}
+
+CellTrafficTraceIEs E1AP-PROTOCOL-IES ::= {
+ {ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ {ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ {ID id-TraceID CRITICALITY ignore TYPE TraceID PRESENCE mandatory}|
+ {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }|
+ {ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional}|
+{ID id-URIaddress CRITICALITY ignore TYPE URIaddress PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs E1AP-PRIVATE-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RESOURCE STATUS REQUEST
+--
+-- **************************************************************
+
+ResourceStatusRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ResourceStatusRequestIEs } },
+ ...
+}
+
+-- WS modification: define a specific type
+Measurement-ID ::= INTEGER (1..4095, ...)
+
+ResourceStatusRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+-- WS modification: define a specific type
+-- { ID id-gNB-CU-CP-Measurement-ID CRITICALITY reject TYPE INTEGER (1..4095, ...) PRESENCE mandatory}|
+ { ID id-gNB-CU-CP-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+-- WS modification: define a specific type
+-- { ID id-gNB-CU-UP-Measurement-ID CRITICALITY ignore TYPE INTEGER (1..4095, ...) PRESENCE optional}|
+ { ID id-gNB-CU-UP-Measurement-ID CRITICALITY ignore TYPE Measurement-ID PRESENCE optional}|
+ { ID id-RegistrationRequest CRITICALITY reject TYPE RegistrationRequest PRESENCE mandatory}|
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE conditional}|
+ { ID id-ReportingPeriodicity CRITICALITY reject TYPE ReportingPeriodicity PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESOURCE STATUS RESPONSE
+--
+-- **************************************************************
+
+
+ResourceStatusResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ResourceStatusResponseIEs } },
+ ...
+}
+
+ResourceStatusResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+-- WS modification: define a specific type
+-- { ID id-gNB-CU-CP-Measurement-ID CRITICALITY reject TYPE INTEGER (1..4095, ...) PRESENCE mandatory}|
+ { ID id-gNB-CU-CP-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+-- WS modification: define a specific type
+-- { ID id-gNB-CU-UP-Measurement-ID CRITICALITY ignore TYPE INTEGER (1..4095, ...) PRESENCE mandatory}|
+ { ID id-gNB-CU-UP-Measurement-ID CRITICALITY ignore TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESOURCE STATUS FAILURE
+--
+-- **************************************************************
+
+ResourceStatusFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ResourceStatusFailureIEs } },
+ ...
+}
+
+ResourceStatusFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+-- WS modification: define a specific type
+-- { ID id-gNB-CU-CP-Measurement-ID CRITICALITY reject TYPE INTEGER (1..4095, ...) PRESENCE mandatory}|
+ { ID id-gNB-CU-CP-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+-- WS modification: define a specific type
+-- { ID id-gNB-CU-UP-Measurement-ID CRITICALITY ignore TYPE INTEGER (1..4095, ...) PRESENCE optional}|
+ { ID id-gNB-CU-UP-Measurement-ID CRITICALITY ignore TYPE Measurement-ID PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESOURCE STATUS UPDATE
+--
+-- **************************************************************
+
+ResourceStatusUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ResourceStatusUpdateIEs } },
+ ...
+}
+
+ResourceStatusUpdateIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+-- WS modification: define a specific type
+-- { ID id-gNB-CU-CP-Measurement-ID CRITICALITY reject TYPE INTEGER (1..4095, ...) PRESENCE mandatory}|
+ { ID id-gNB-CU-CP-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+-- WS modification: define a specific type
+-- { ID id-gNB-CU-UP-Measurement-ID CRITICALITY ignore TYPE INTEGER (1..4095, ...) PRESENCE mandatory}|
+ { ID id-gNB-CU-UP-Measurement-ID CRITICALITY ignore TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-TNL-AvailableCapacityIndicator CRITICALITY ignore TYPE TNL-AvailableCapacityIndicator PRESENCE optional}|
+ { ID id-HW-CapacityIndicator CRITICALITY ignore TYPE HW-CapacityIndicator PRESENCE optional},
+
+ ...
+}
+
+-- **************************************************************
+--
+-- IAB UP TNL ADDRESS UPDATE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- IAB UP TNL Address Update
+--
+-- **************************************************************
+
+IAB-UPTNLAddressUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { IAB-UPTNLAddressUpdateIEs} },
+ ...
+}
+
+IAB-UPTNLAddressUpdateIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-DLUPTNLAddressToUpdateList CRITICALITY ignore TYPE DLUPTNLAddressToUpdateList PRESENCE optional },
+ ...
+}
+
+DLUPTNLAddressToUpdateList ::= SEQUENCE (SIZE(1.. maxnoofTNLAddresses)) OF DLUPTNLAddressToUpdateItem
+
+-- **************************************************************
+--
+-- IAB UP TNL Address Update Acknowledge
+--
+-- **************************************************************
+
+IAB-UPTNLAddressUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { IAB-UPTNLAddressUpdateAcknowledgeIEs} },
+ ...
+}
+
+IAB-UPTNLAddressUpdateAcknowledgeIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-ULUPTNLAddressToUpdateList CRITICALITY ignore TYPE ULUPTNLAddressToUpdateList PRESENCE optional },
+ ...
+}
+
+ULUPTNLAddressToUpdateList ::= SEQUENCE (SIZE(1.. maxnoofTNLAddresses)) OF ULUPTNLAddressToUpdateItem
+
+
+-- **************************************************************
+--
+-- IAB UP TNL Address Update Failure
+--
+-- **************************************************************
+
+IAB-UPTNLAddressUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {IAB-UPTNLAddressUpdateFailureIEs} },
+ ...
+}
+
+IAB-UPTNLAddressUpdateFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- EARLY FORWARDING SN TRANSFER
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Early Forwarding SN Transfer
+--
+-- **************************************************************
+
+EarlyForwardingSNTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { EarlyForwardingSNTransferIEs } },
+ ...
+}
+
+EarlyForwardingSNTransferIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-CP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-CU-UP-UE-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-UE-E1AP-ID PRESENCE mandatory }|
+ { ID id-DRBs-Subject-To-Early-Forwarding-List CRITICALITY reject TYPE DRBs-Subject-To-Early-Forwarding-List PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- IAB PSK NOTIFICATION
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- IAB PSK Notification
+--
+-- **************************************************************
+
+IABPSKNotification ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { IABPSKNotificationIEs } },
+ ...
+}
+
+IABPSKNotificationIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-IAB-Donor-CU-UPPSKInfo CRITICALITY reject TYPE IAB-Donor-CU-UPPSKInfo PRESENCE mandatory },
+ ...
+}
+
+IAB-Donor-CU-UPPSKInfo ::= SEQUENCE (SIZE(1.. maxnoofPSKs)) OF IAB-Donor-CU-UPPSKInfo-Item
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT SETUP
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT SETUP REQUEST
+--
+-- **************************************************************
+
+BCBearerContextSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextSetupRequestIEs } },
+ ...
+}
+
+BCBearerContextSetupRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GlobalMBSSessionID CRITICALITY reject TYPE GlobalMBSSessionID PRESENCE mandatory }|
+ { ID id-BCBearerContextToSetup CRITICALITY reject TYPE BCBearerContextToSetup PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT SETUP RESPONSE
+--
+-- **************************************************************
+
+BCBearerContextSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextSetupResponseIEs } },
+ ...
+}
+
+BCBearerContextSetupResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-BCBearerContextToSetupResponse CRITICALITY reject TYPE BCBearerContextToSetupResponse PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT SETUP FAILURE
+--
+-- **************************************************************
+
+BCBearerContextSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextSetupFailureIEs } },
+ ...
+}
+
+BCBearerContextSetupFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY ignore TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT MODIFICATION
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT MODIFICATION REQUEST
+--
+-- **************************************************************
+
+BCBearerContextModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextModificationRequestIEs } },
+ ...
+}
+
+BCBearerContextModificationRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-BCBearerContextToModify CRITICALITY reject TYPE BCBearerContextToModify PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT MODIFICATION RESPONSE
+--
+-- **************************************************************
+
+BCBearerContextModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextModificationResponseIEs } },
+ ...
+}
+
+BCBearerContextModificationResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-BCBearerContextToModifyResponse CRITICALITY reject TYPE BCBearerContextToModifyResponse PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT MODIFICATION FAILURE
+--
+-- **************************************************************
+
+BCBearerContextModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextModificationFailureIEs } },
+ ...
+}
+
+BCBearerContextModificationFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT MODIFICATION REQUIRED
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT MODIFICATION REQUIRED
+--
+-- **************************************************************
+
+BCBearerContextModificationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextModificationRequiredIEs } },
+ ...
+}
+
+BCBearerContextModificationRequiredIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-BCBearerContextToModifyRequired CRITICALITY reject TYPE BCBearerContextToModifyRequired PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT MODIFICATION CONFIRM
+--
+-- **************************************************************
+
+BCBearerContextModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextModificationConfirmIEs } },
+ ...
+}
+
+BCBearerContextModificationConfirmIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-BCBearerContextToModifyConfirm CRITICALITY reject TYPE BCBearerContextToModifyConfirm PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT RELEASE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT RELEASE COMMAND
+--
+-- **************************************************************
+
+BCBearerContextReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextReleaseCommandIEs } },
+ ...
+}
+
+BCBearerContextReleaseCommandIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT RELEASE COMPLETE
+--
+-- **************************************************************
+
+BCBearerContextReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextReleaseCompleteIEs } },
+ ...
+}
+
+BCBearerContextReleaseCompleteIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT RELEASE REQUEST
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BC BEARER CONTEXT RELEASE REQUEST
+--
+-- **************************************************************
+
+BCBearerContextReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BCBearerContextReleaseRequestIEs } },
+ ...
+}
+
+BCBearerContextReleaseRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT SETUP
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT SETUP REQUEST
+--
+-- **************************************************************
+
+MCBearerContextSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextSetupRequestIEs } },
+ ...
+}
+
+MCBearerContextSetupRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GlobalMBSSessionID CRITICALITY reject TYPE GlobalMBSSessionID PRESENCE mandatory }|
+ { ID id-MCBearerContextToSetup CRITICALITY reject TYPE MCBearerContextToSetup PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT SETUP RESPONSE
+--
+-- **************************************************************
+
+
+MCBearerContextSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextSetupResponseIEs } },
+ ...
+}
+
+MCBearerContextSetupResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-MCBearerContextToSetupResponse CRITICALITY reject TYPE MCBearerContextToSetupResponse PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT SETUP FAILURE
+--
+-- **************************************************************
+
+MCBearerContextSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextSetupFailureIEs } },
+ ...
+}
+
+MCBearerContextSetupFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY ignore TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT MODIFICATION
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT MODIFICATION REQUEST
+--
+-- **************************************************************
+
+MCBearerContextModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextModificationRequestIEs } },
+ ...
+}
+
+MCBearerContextModificationRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-MCBearerContextToModify CRITICALITY reject TYPE MCBearerContextToModify PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT MODIFICATION RESPONSE
+--
+-- **************************************************************
+
+MCBearerContextModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextModificationResponseIEs } },
+ ...
+}
+
+MCBearerContextModificationResponseIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-MCBearerContextToModifyResponse CRITICALITY reject TYPE MCBearerContextToModifyResponse PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT MODIFICATION FAILURE
+--
+-- **************************************************************
+
+MCBearerContextModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextModificationFailureIEs } },
+ ...
+}
+
+MCBearerContextModificationFailureIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-MBSMulticastF1UContextDescriptor CRITICALITY reject TYPE MBSMulticastF1UContextDescriptor PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT MODIFICATION REQUIRED
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT MODIFICATION REQUIRED
+--
+-- **************************************************************
+
+MCBearerContextModificationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextModificationRequiredIEs } },
+ ...
+}
+
+MCBearerContextModificationRequiredIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-MCBearerContextToModifyRequired CRITICALITY ignore TYPE MCBearerContextToModifyRequired PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT MODIFICATION CONFIRM
+--
+-- **************************************************************
+
+MCBearerContextModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextModificationConfirmIEs } },
+ ...
+}
+
+MCBearerContextModificationConfirmIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-MCBearerContextToModifyConfirm CRITICALITY reject TYPE MCBearerContextToModifyConfirm PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT RELEASE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT RELEASE COMMAND
+--
+-- **************************************************************
+
+MCBearerContextReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextReleaseCommandIEs } },
+ ...
+}
+
+MCBearerContextReleaseCommandIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT RELEASE COMPLETE
+--
+-- **************************************************************
+
+MCBearerContextReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextReleaseCompleteIEs } },
+ ...
+}
+
+MCBearerContextReleaseCompleteIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT RELEASE REQUEST
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MC BEARER CONTEXT RELEASE REQUEST
+--
+-- **************************************************************
+
+MCBearerContextReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MCBearerContextReleaseRequestIEs } },
+ ...
+}
+
+MCBearerContextReleaseRequestIEs E1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-CP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-CP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-GNB-CU-UP-MBS-E1AP-ID CRITICALITY reject TYPE GNB-CU-UP-MBS-E1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn b/epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn
new file mode 100644
index 00000000..ce104d1e
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/E1AP-PDU-Descriptions.asn
@@ -0,0 +1,527 @@
+-- 3GPP TS 37.483 V17.5.0 (2023-06)
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+E1AP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) e1ap (5) version1 (1) e1ap-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+
+FROM E1AP-CommonDataTypes
+ Reset,
+ ResetAcknowledge,
+ ErrorIndication,
+ GNB-CU-UP-E1SetupRequest,
+ GNB-CU-UP-E1SetupResponse,
+ GNB-CU-UP-E1SetupFailure,
+ GNB-CU-CP-E1SetupRequest,
+ GNB-CU-CP-E1SetupResponse,
+ GNB-CU-CP-E1SetupFailure,
+ GNB-CU-UP-ConfigurationUpdate,
+ GNB-CU-UP-ConfigurationUpdateAcknowledge,
+ GNB-CU-UP-ConfigurationUpdateFailure,
+ GNB-CU-CP-ConfigurationUpdate,
+ GNB-CU-CP-ConfigurationUpdateAcknowledge,
+ GNB-CU-CP-ConfigurationUpdateFailure,
+ BCBearerContextSetupRequest,
+ BCBearerContextSetupResponse,
+ BCBearerContextSetupFailure,
+ BCBearerContextModificationRequest,
+ BCBearerContextModificationResponse,
+ BCBearerContextModificationFailure,
+ BCBearerContextModificationRequired,
+ BCBearerContextModificationConfirm,
+ BCBearerContextReleaseCommand,
+ BCBearerContextReleaseComplete,
+ BCBearerContextReleaseRequest,
+ BearerContextSetupRequest,
+ BearerContextSetupResponse,
+ BearerContextSetupFailure,
+ BearerContextModificationRequest,
+ BearerContextModificationResponse,
+ BearerContextModificationFailure,
+ BearerContextModificationRequired,
+ BearerContextModificationConfirm,
+ BearerContextReleaseCommand,
+ BearerContextReleaseComplete,
+ BearerContextReleaseRequest,
+ BearerContextInactivityNotification,
+ DLDataNotification,
+ ULDataNotification,
+ DataUsageReport,
+ E1ReleaseRequest,
+ E1ReleaseResponse,
+ GNB-CU-UP-CounterCheckRequest,
+ GNB-CU-UP-StatusIndication,
+ MCBearerContextSetupRequest,
+ MCBearerContextSetupResponse,
+ MCBearerContextSetupFailure,
+ MCBearerContextModificationRequest,
+ MCBearerContextModificationResponse,
+ MCBearerContextModificationFailure,
+ MCBearerContextModificationRequired,
+ MCBearerContextModificationConfirm,
+ MCBearerContextReleaseCommand,
+ MCBearerContextReleaseComplete,
+ MCBearerContextReleaseRequest,
+ MRDC-DataUsageReport,
+ DeactivateTrace,
+ TraceStart,
+ PrivateMessage,
+ ResourceStatusRequest,
+ ResourceStatusResponse,
+ ResourceStatusFailure,
+ ResourceStatusUpdate,
+ IAB-UPTNLAddressUpdate,
+ IAB-UPTNLAddressUpdateAcknowledge,
+ IAB-UPTNLAddressUpdateFailure,
+ CellTrafficTrace,
+ EarlyForwardingSNTransfer,
+ GNB-CU-CPMeasurementResultsInformation,
+ IABPSKNotification
+
+FROM E1AP-PDU-Contents
+ id-reset,
+ id-errorIndication,
+ id-gNB-CU-UP-E1Setup,
+ id-gNB-CU-CP-E1Setup,
+ id-gNB-CU-UP-ConfigurationUpdate,
+ id-gNB-CU-CP-ConfigurationUpdate,
+ id-e1Release,
+ id-bearerContextSetup,
+ id-bearerContextModification,
+ id-bearerContextModificationRequired,
+ id-bearerContextRelease,
+ id-bearerContextReleaseRequest,
+ id-bearerContextInactivityNotification,
+ id-dLDataNotification,
+ id-uLDataNotification,
+ id-dataUsageReport,
+ id-gNB-CU-UP-CounterCheck,
+ id-gNB-CU-UP-StatusIndication,
+ id-mRDC-DataUsageReport,
+ id-DeactivateTrace,
+ id-TraceStart,
+ id-privateMessage,
+ id-resourceStatusReportingInitiation,
+ id-resourceStatusReporting,
+ id-iAB-UPTNLAddressUpdate,
+ id-CellTrafficTrace,
+ id-earlyForwardingSNTransfer,
+ id-gNB-CU-CPMeasurementResultsInformation,
+ id-iABPSKNotification,
+ id-BCBearerContextSetup,
+ id-BCBearerContextModification,
+ id-BCBearerContextModificationRequired,
+ id-BCBearerContextRelease,
+ id-BCBearerContextReleaseRequest,
+ id-MCBearerContextSetup,
+ id-MCBearerContextModification,
+ id-MCBearerContextModificationRequired,
+ id-MCBearerContextRelease,
+ id-MCBearerContextReleaseRequest
+
+FROM E1AP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+E1AP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+
+&UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+E1AP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode E1AP-ELEMENTARY-PROCEDURE.&procedureCode ({E1AP-ELEMENTARY-PROCEDURES}),
+ criticality E1AP-ELEMENTARY-PROCEDURE.&criticality ({E1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value E1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({E1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode E1AP-ELEMENTARY-PROCEDURE.&procedureCode ({E1AP-ELEMENTARY-PROCEDURES}),
+ criticality E1AP-ELEMENTARY-PROCEDURE.&criticality ({E1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value E1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({E1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode E1AP-ELEMENTARY-PROCEDURE.&procedureCode ({E1AP-ELEMENTARY-PROCEDURES}),
+ criticality E1AP-ELEMENTARY-PROCEDURE.&criticality ({E1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value E1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({E1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+E1AP-ELEMENTARY-PROCEDURES E1AP-ELEMENTARY-PROCEDURE ::= {
+ E1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ E1AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+
+ ...
+}
+
+E1AP-ELEMENTARY-PROCEDURES-CLASS-1 E1AP-ELEMENTARY-PROCEDURE ::= {
+ reset |
+ gNB-CU-UP-E1Setup |
+ gNB-CU-CP-E1Setup |
+ gNB-CU-UP-ConfigurationUpdate |
+ gNB-CU-CP-ConfigurationUpdate |
+ e1Release |
+ bearerContextSetup |
+ bearerContextModification |
+ bearerContextModificationRequired |
+ bearerContextRelease |
+ resourceStatusReportingInitiation |
+ iAB-UPTNLAddressUpdate |
+ bCBearerContextSetup |
+ bCBearerContextModification |
+ bCBearerContextModificationRequired |
+ bCBearerContextRelease |
+ mCBearerContextSetup |
+ mCBearerContextModification |
+ mCBearerContextModificationRequired |
+ mCBearerContextRelease ,
+ ...
+}
+
+E1AP-ELEMENTARY-PROCEDURES-CLASS-2 E1AP-ELEMENTARY-PROCEDURE ::= {
+ errorIndication |
+ bearerContextReleaseRequest |
+ bearerContextInactivityNotification |
+ dLDataNotification |
+ uLDataNotification |
+ dataUsageReport |
+ gNB-CU-UP-CounterCheck |
+ gNB-CU-UP-StatusIndication |
+ mRDC-DataUsageReport |
+ deactivateTrace |
+ traceStart |
+ privateMessage |
+ cellTrafficTrace |
+ resourceStatusReporting |
+ earlyForwardingSNTransfer |
+ gNB-CU-CPMeasurementResultsInformation |
+ iABPSKNotification |
+ bCBearerContextReleaseRequest |
+ mCBearerContextReleaseRequest ,
+ ...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+reset E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Reset
+ SUCCESSFUL OUTCOME ResetAcknowledge
+ PROCEDURE CODE id-reset
+ CRITICALITY reject
+}
+
+errorIndication E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-errorIndication
+ CRITICALITY ignore
+}
+
+gNB-CU-UP-E1Setup E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNB-CU-UP-E1SetupRequest
+ SUCCESSFUL OUTCOME GNB-CU-UP-E1SetupResponse
+ UNSUCCESSFUL OUTCOME GNB-CU-UP-E1SetupFailure
+ PROCEDURE CODE id-gNB-CU-UP-E1Setup
+ CRITICALITY reject
+}
+
+gNB-CU-CP-E1Setup E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNB-CU-CP-E1SetupRequest
+ SUCCESSFUL OUTCOME GNB-CU-CP-E1SetupResponse
+ UNSUCCESSFUL OUTCOME GNB-CU-CP-E1SetupFailure
+ PROCEDURE CODE id-gNB-CU-CP-E1Setup
+ CRITICALITY reject
+}
+
+gNB-CU-UP-ConfigurationUpdate E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNB-CU-UP-ConfigurationUpdate
+ SUCCESSFUL OUTCOME GNB-CU-UP-ConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME GNB-CU-UP-ConfigurationUpdateFailure
+ PROCEDURE CODE id-gNB-CU-UP-ConfigurationUpdate
+ CRITICALITY reject
+}
+
+gNB-CU-CP-ConfigurationUpdate E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNB-CU-CP-ConfigurationUpdate
+ SUCCESSFUL OUTCOME GNB-CU-CP-ConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME GNB-CU-CP-ConfigurationUpdateFailure
+ PROCEDURE CODE id-gNB-CU-CP-ConfigurationUpdate
+ CRITICALITY reject
+}
+
+e1Release E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E1ReleaseRequest
+ SUCCESSFUL OUTCOME E1ReleaseResponse
+ PROCEDURE CODE id-e1Release
+ CRITICALITY reject
+}
+
+bearerContextSetup E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BearerContextSetupRequest
+ SUCCESSFUL OUTCOME BearerContextSetupResponse
+ UNSUCCESSFUL OUTCOME BearerContextSetupFailure
+ PROCEDURE CODE id-bearerContextSetup
+ CRITICALITY reject
+}
+
+bearerContextModification E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BearerContextModificationRequest
+ SUCCESSFUL OUTCOME BearerContextModificationResponse
+ UNSUCCESSFUL OUTCOME BearerContextModificationFailure
+ PROCEDURE CODE id-bearerContextModification
+ CRITICALITY reject
+}
+
+bearerContextModificationRequired E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BearerContextModificationRequired
+ SUCCESSFUL OUTCOME BearerContextModificationConfirm
+ PROCEDURE CODE id-bearerContextModificationRequired
+ CRITICALITY reject
+}
+
+bearerContextRelease E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BearerContextReleaseCommand
+ SUCCESSFUL OUTCOME BearerContextReleaseComplete
+ PROCEDURE CODE id-bearerContextRelease
+ CRITICALITY reject
+}
+
+bearerContextReleaseRequest E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BearerContextReleaseRequest
+ PROCEDURE CODE id-bearerContextReleaseRequest
+ CRITICALITY ignore
+}
+
+bearerContextInactivityNotification E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BearerContextInactivityNotification
+ PROCEDURE CODE id-bearerContextInactivityNotification
+ CRITICALITY ignore
+}
+
+dLDataNotification E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DLDataNotification
+ PROCEDURE CODE id-dLDataNotification
+ CRITICALITY ignore
+}
+
+uLDataNotification E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ULDataNotification
+ PROCEDURE CODE id-uLDataNotification
+ CRITICALITY ignore
+}
+
+dataUsageReport E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DataUsageReport
+ PROCEDURE CODE id-dataUsageReport
+ CRITICALITY ignore
+}
+
+gNB-CU-UP-CounterCheck E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNB-CU-UP-CounterCheckRequest
+ PROCEDURE CODE id-gNB-CU-UP-CounterCheck
+ CRITICALITY ignore
+}
+
+gNB-CU-UP-StatusIndication E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNB-CU-UP-StatusIndication
+ PROCEDURE CODE id-gNB-CU-UP-StatusIndication
+ CRITICALITY ignore
+}
+
+privateMessage E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+gNB-CU-CPMeasurementResultsInformation E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNB-CU-CPMeasurementResultsInformation
+ PROCEDURE CODE id-gNB-CU-CPMeasurementResultsInformation
+ CRITICALITY ignore
+}
+
+mRDC-DataUsageReport E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MRDC-DataUsageReport
+ PROCEDURE CODE id-mRDC-DataUsageReport
+ CRITICALITY ignore
+}
+
+deactivateTrace E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DeactivateTrace
+ PROCEDURE CODE id-DeactivateTrace
+ CRITICALITY ignore
+}
+
+traceStart E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TraceStart
+ PROCEDURE CODE id-TraceStart
+ CRITICALITY ignore
+}
+
+resourceStatusReportingInitiation E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResourceStatusRequest
+ SUCCESSFUL OUTCOME ResourceStatusResponse
+ UNSUCCESSFUL OUTCOME ResourceStatusFailure
+ PROCEDURE CODE id-resourceStatusReportingInitiation
+ CRITICALITY reject
+}
+
+resourceStatusReporting E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResourceStatusUpdate
+ PROCEDURE CODE id-resourceStatusReporting
+ CRITICALITY ignore
+}
+
+iAB-UPTNLAddressUpdate E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE IAB-UPTNLAddressUpdate
+ SUCCESSFUL OUTCOME IAB-UPTNLAddressUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME IAB-UPTNLAddressUpdateFailure
+ PROCEDURE CODE id-iAB-UPTNLAddressUpdate
+ CRITICALITY reject
+}
+
+cellTrafficTrace E1AP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE CellTrafficTrace
+ PROCEDURE CODE id-CellTrafficTrace
+ CRITICALITY ignore
+}
+
+earlyForwardingSNTransfer E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EarlyForwardingSNTransfer
+ PROCEDURE CODE id-earlyForwardingSNTransfer
+ CRITICALITY ignore
+}
+
+iABPSKNotification E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE IABPSKNotification
+ PROCEDURE CODE id-iABPSKNotification
+ CRITICALITY reject
+}
+
+bCBearerContextSetup E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BCBearerContextSetupRequest
+ SUCCESSFUL OUTCOME BCBearerContextSetupResponse
+ UNSUCCESSFUL OUTCOME BCBearerContextSetupFailure
+ PROCEDURE CODE id-BCBearerContextSetup
+ CRITICALITY reject
+}
+
+bCBearerContextModification E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BCBearerContextModificationRequest
+ SUCCESSFUL OUTCOME BCBearerContextModificationResponse
+ UNSUCCESSFUL OUTCOME BCBearerContextModificationFailure
+ PROCEDURE CODE id-BCBearerContextModification
+ CRITICALITY reject
+}
+
+bCBearerContextModificationRequired E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BCBearerContextModificationRequired
+ SUCCESSFUL OUTCOME BCBearerContextModificationConfirm
+ PROCEDURE CODE id-BCBearerContextModificationRequired
+ CRITICALITY reject
+}
+
+bCBearerContextRelease E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BCBearerContextReleaseCommand
+ SUCCESSFUL OUTCOME BCBearerContextReleaseComplete
+ PROCEDURE CODE id-BCBearerContextRelease
+ CRITICALITY reject
+}
+
+bCBearerContextReleaseRequest E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BCBearerContextReleaseRequest
+ PROCEDURE CODE id-BCBearerContextReleaseRequest
+ CRITICALITY reject
+}
+
+mCBearerContextSetup E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MCBearerContextSetupRequest
+ SUCCESSFUL OUTCOME MCBearerContextSetupResponse
+ UNSUCCESSFUL OUTCOME MCBearerContextSetupFailure
+ PROCEDURE CODE id-MCBearerContextSetup
+ CRITICALITY reject
+}
+
+mCBearerContextModification E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MCBearerContextModificationRequest
+ SUCCESSFUL OUTCOME MCBearerContextModificationResponse
+ UNSUCCESSFUL OUTCOME MCBearerContextModificationFailure
+ PROCEDURE CODE id-MCBearerContextModification
+ CRITICALITY reject
+}
+
+mCBearerContextModificationRequired E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MCBearerContextModificationRequired
+ SUCCESSFUL OUTCOME MCBearerContextModificationConfirm
+ PROCEDURE CODE id-MCBearerContextModificationRequired
+ CRITICALITY reject
+}
+
+mCBearerContextRelease E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MCBearerContextReleaseCommand
+ SUCCESSFUL OUTCOME MCBearerContextReleaseComplete
+ PROCEDURE CODE id-MCBearerContextRelease
+ CRITICALITY reject
+}
+
+mCBearerContextReleaseRequest E1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MCBearerContextReleaseRequest
+ PROCEDURE CODE id-MCBearerContextReleaseRequest
+ CRITICALITY reject
+}
+
+END
diff --git a/epan/dissectors/asn1/e1ap/e1ap.cnf b/epan/dissectors/asn1/e1ap/e1ap.cnf
new file mode 100644
index 00000000..3517db2c
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/e1ap.cnf
@@ -0,0 +1,1003 @@
+# e1ap.cnf
+# e1ap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.USE_VALS_EXT
+CauseRadioNetwork
+ProcedureCode
+ProtocolIE-ID
+T-Reordering
+ULDataSplitThreshold
+
+#.EXPORTS
+
+#.PDU
+E1AP-PDU
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.NO_EMIT
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+Presence
+ProtocolIE-ContainerList
+ProtocolExtensionID
+#.END
+
+
+#.TYPE_RENAME
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+PrivateIE-Field/id private_id
+ProtocolExtensionField/id ext_id
+#PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+
+#--- Parameterization is not supported in asn2wrs ---
+
+#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, E1AP-PROTOCOL-IES : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-Container {{IEsSetParam}}
+
+# #.FN_PARS ProtocolIE-ContainerList
+# MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+# MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# #.FN_HDR ProtocolIE-ContainerList
+# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, (asn1_par_type)0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
+# #.END
+
+#.FN_BODY ProtocolIE-ID VAL_PTR=&e1ap_data->protocol_ie_id
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
+ val_to_str_ext(e1ap_data->protocol_ie_id, &e1ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+# #.FN_BODY ProtocolExtensionID VAL_PTR=&e1ap_data->protocol_extension_id
+# e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+# %(DEFAULT_BODY)s
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_BODY ProcedureCode VAL_PTR = &e1ap_data->procedure_code
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+ e1ap_data->message_type = INITIATING_MESSAGE;
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+ e1ap_data->message_type = SUCCESSFUL_OUTCOME;
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+ e1ap_data->message_type = UNSUCCESSFUL_OUTCOME;
+#.END
+
+#.FN_HDR PrivateIE-ID
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+ e1ap_data->obj_id = NULL;
+
+#.FN_BODY PrivateIE-ID/global FN_VARIANT = _str VAL_PTR = &e1ap_data->obj_id
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_BODY PrivateIE-Field/value
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+ if (e1ap_data->obj_id) {
+ offset = call_per_oid_callback(e1ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
+ } else {
+%(DEFAULT_BODY)s
+ }
+
+#.ASSIGN_VALUE_TO_TYPE # E1AP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+id-reset ProcedureCode
+id-errorIndication ProcedureCode
+id-privateMessage ProcedureCode
+id-gNB-CU-UP-E1Setup ProcedureCode
+id-gNB-CU-CP-E1Setup ProcedureCode
+id-gNB-CU-UP-ConfigurationUpdate ProcedureCode
+id-gNB-CU-CP-ConfigurationUpdate ProcedureCode
+id-e1Release ProcedureCode
+id-bearerContextSetup ProcedureCode
+id-bearerContextModification ProcedureCode
+id-bearerContextModificationRequired ProcedureCode
+id-bearerContextRelease ProcedureCode
+id-bearerContextReleaseRequest ProcedureCode
+id-bearerContextInactivityNotification ProcedureCode
+id-dLDataNotification ProcedureCode
+id-dataUsageReport ProcedureCode
+id-gNB-CU-UP-CounterCheck ProcedureCode
+id-gNB-CU-UP-StatusIndication ProcedureCode
+id-uLDataNotification ProcedureCode
+id-mRDC-DataUsageReport ProcedureCode
+id-TraceStart ProcedureCode
+id-DeactivateTrace ProcedureCode
+id-resourceStatusReportingInitiation ProcedureCode
+id-resourceStatusReporting ProcedureCode
+id-iAB-UPTNLAddressUpdate ProcedureCode
+id-CellTrafficTrace ProcedureCode
+id-earlyForwardingSNTransfer ProcedureCode
+id-gNB-CU-CPMeasurementResultsInformation ProcedureCode
+id-iABPSKNotification ProcedureCode
+id-BCBearerContextSetup ProcedureCode
+id-BCBearerContextModification ProcedureCode
+id-BCBearerContextModificationRequired ProcedureCode
+id-BCBearerContextRelease ProcedureCode
+id-BCBearerContextReleaseRequest ProcedureCode
+id-MCBearerContextSetup ProcedureCode
+id-MCBearerContextModification ProcedureCode
+id-MCBearerContextModificationRequired ProcedureCode
+id-MCBearerContextRelease ProcedureCode
+id-MCBearerContextReleaseRequest ProcedureCode
+
+# ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-gNB-CU-CP-UE-E1AP-ID ProtocolIE-ID
+id-gNB-CU-UP-UE-E1AP-ID ProtocolIE-ID
+id-ResetType ProtocolIE-ID
+id-UE-associatedLogicalE1-ConnectionItem ProtocolIE-ID
+id-UE-associatedLogicalE1-ConnectionListResAck ProtocolIE-ID
+id-gNB-CU-UP-ID ProtocolIE-ID
+id-gNB-CU-UP-Name ProtocolIE-ID
+id-gNB-CU-CP-Name ProtocolIE-ID
+id-CNSupport ProtocolIE-ID
+id-SupportedPLMNs ProtocolIE-ID
+id-TimeToWait ProtocolIE-ID
+id-SecurityInformation ProtocolIE-ID
+id-UEDLAggregateMaximumBitRate ProtocolIE-ID
+id-System-BearerContextSetupRequest ProtocolIE-ID
+id-System-BearerContextSetupResponse ProtocolIE-ID
+id-BearerContextStatusChange ProtocolIE-ID
+id-System-BearerContextModificationRequest ProtocolIE-ID
+id-System-BearerContextModificationResponse ProtocolIE-ID
+id-System-BearerContextModificationConfirm ProtocolIE-ID
+id-System-BearerContextModificationRequired ProtocolIE-ID
+id-DRB-Status-List ProtocolIE-ID
+id-ActivityNotificationLevel ProtocolIE-ID
+id-ActivityInformation ProtocolIE-ID
+id-Data-Usage-Report-List ProtocolIE-ID
+id-New-UL-TNL-Information-Required ProtocolIE-ID
+id-GNB-CU-CP-TNLA-To-Add-List ProtocolIE-ID
+id-GNB-CU-CP-TNLA-To-Remove-List ProtocolIE-ID
+id-GNB-CU-CP-TNLA-To-Update-List ProtocolIE-ID
+id-GNB-CU-CP-TNLA-Setup-List ProtocolIE-ID
+id-GNB-CU-CP-TNLA-Failed-To-Setup-List ProtocolIE-ID
+id-DRB-To-Setup-List-EUTRAN ProtocolIE-ID
+id-DRB-To-Modify-List-EUTRAN ProtocolIE-ID
+id-DRB-To-Remove-List-EUTRAN ProtocolIE-ID
+id-DRB-Required-To-Modify-List-EUTRAN ProtocolIE-ID
+id-DRB-Required-To-Remove-List-EUTRAN ProtocolIE-ID
+id-DRB-Setup-List-EUTRAN ProtocolIE-ID
+id-DRB-Failed-List-EUTRAN ProtocolIE-ID
+id-DRB-Modified-List-EUTRAN ProtocolIE-ID
+id-DRB-Failed-To-Modify-List-EUTRAN ProtocolIE-ID
+id-DRB-Confirm-Modified-List-EUTRAN ProtocolIE-ID
+id-PDU-Session-Resource-To-Setup-List ProtocolIE-ID
+id-PDU-Session-Resource-To-Modify-List ProtocolIE-ID
+id-PDU-Session-Resource-To-Remove-List ProtocolIE-ID
+id-PDU-Session-Resource-Required-To-Modify-List ProtocolIE-ID
+id-PDU-Session-Resource-Setup-List ProtocolIE-ID
+id-PDU-Session-Resource-Failed-List ProtocolIE-ID
+id-PDU-Session-Resource-Modified-List ProtocolIE-ID
+id-PDU-Session-Resource-Failed-To-Modify-List ProtocolIE-ID
+id-PDU-Session-Resource-Confirm-Modified-List ProtocolIE-ID
+id-DRB-To-Setup-Mod-List-EUTRAN ProtocolIE-ID
+id-DRB-Setup-Mod-List-EUTRAN ProtocolIE-ID
+id-DRB-Failed-Mod-List-EUTRAN ProtocolIE-ID
+id-PDU-Session-Resource-Setup-Mod-List ProtocolIE-ID
+id-PDU-Session-Resource-Failed-Mod-List ProtocolIE-ID
+id-PDU-Session-Resource-To-Setup-Mod-List ProtocolIE-ID
+id-TransactionID ProtocolIE-ID
+id-Serving-PLMN ProtocolIE-ID
+id-UE-Inactivity-Timer ProtocolIE-ID
+id-System-GNB-CU-UP-CounterCheckRequest ProtocolIE-ID
+id-DRBs-Subject-To-Counter-Check-List-EUTRAN ProtocolIE-ID
+id-DRBs-Subject-To-Counter-Check-List-NG-RAN ProtocolIE-ID
+id-PPI ProtocolIE-ID
+id-gNB-CU-UP-Capacity ProtocolIE-ID
+id-GNB-CU-UP-OverloadInformation ProtocolIE-ID
+id-UEDLMaximumIntegrityProtectedDataRate ProtocolIE-ID
+id-PDU-Session-To-Notify-List ProtocolIE-ID
+id-PDU-Session-Resource-Data-Usage-List ProtocolIE-ID
+id-SNSSAI ProtocolIE-ID
+id-DataDiscardRequired ProtocolIE-ID
+id-OldQoSFlowMap-ULendmarkerexpected ProtocolIE-ID
+id-DRB-QoS ProtocolIE-ID
+id-GNB-CU-UP-TNLA-To-Remove-List ProtocolIE-ID
+id-endpoint-IP-Address-and-Port ProtocolIE-ID
+id-TNLAssociationTransportLayerAddressgNBCUUP ProtocolIE-ID
+id-RANUEID ProtocolIE-ID
+id-GNB-DU-ID ProtocolIE-ID
+id-CommonNetworkInstance ProtocolIE-ID
+id-NetworkInstance ProtocolIE-ID
+id-QoSFlowMappingIndication ProtocolIE-ID
+id-TraceActivation ProtocolIE-ID
+id-TraceID ProtocolIE-ID
+id-SubscriberProfileIDforRFP ProtocolIE-ID
+id-AdditionalRRMPriorityIndex ProtocolIE-ID
+id-RetainabilityMeasurementsInfo ProtocolIE-ID
+id-Transport-Layer-Address-Info ProtocolIE-ID
+id-QoSMonitoringRequest ProtocolIE-ID
+id-PDCP-StatusReportIndication ProtocolIE-ID
+id-gNB-CU-CP-Measurement-ID ProtocolIE-ID
+id-gNB-CU-UP-Measurement-ID ProtocolIE-ID
+id-RegistrationRequest ProtocolIE-ID
+id-ReportCharacteristics ProtocolIE-ID
+id-ReportingPeriodicity ProtocolIE-ID
+id-TNL-AvailableCapacityIndicator ProtocolIE-ID
+id-HW-CapacityIndicator ProtocolIE-ID
+id-RedundantCommonNetworkInstance ProtocolIE-ID
+id-redundant-nG-UL-UP-TNL-Information ProtocolIE-ID
+id-redundant-nG-DL-UP-TNL-Information ProtocolIE-ID
+id-RedundantQosFlowIndicator ProtocolIE-ID
+id-TSCTrafficCharacteristics ProtocolIE-ID
+id-CNPacketDelayBudgetDownlink ProtocolIE-ID
+id-CNPacketDelayBudgetUplink ProtocolIE-ID
+id-ExtendedPacketDelayBudget ProtocolIE-ID
+id-AdditionalPDCPduplicationInformation ProtocolIE-ID
+id-RedundantPDUSessionInformation ProtocolIE-ID
+id-RedundantPDUSessionInformation-used ProtocolIE-ID
+id-QoS-Mapping-Information ProtocolIE-ID
+id-DLUPTNLAddressToUpdateList ProtocolIE-ID
+id-ULUPTNLAddressToUpdateList ProtocolIE-ID
+id-NPNSupportInfo ProtocolIE-ID
+id-NPNContextInfo ProtocolIE-ID
+id-MDTConfiguration ProtocolIE-ID
+id-ManagementBasedMDTPLMNList ProtocolIE-ID
+id-TraceCollectionEntityIPAddress ProtocolIE-ID
+id-PrivacyIndicator ProtocolIE-ID
+id-TraceCollectionEntityURI ProtocolIE-ID
+id-URIaddress ProtocolIE-ID
+id-EHC-Parameters ProtocolIE-ID
+id-DRBs-Subject-To-Early-Forwarding-List ProtocolIE-ID
+id-DAPSRequestInfo ProtocolIE-ID
+id-CHOInitiation ProtocolIE-ID
+id-EarlyForwardingCOUNTReq ProtocolIE-ID
+id-EarlyForwardingCOUNTInfo ProtocolIE-ID
+id-AlternativeQoSParaSetList ProtocolIE-ID
+id-ExtendedSliceSupportList ProtocolIE-ID
+id-MCG-OfferedGBRQoSFlowInfo ProtocolIE-ID
+id-Number-of-tunnels ProtocolIE-ID
+id-DRB-Measurement-Results-Information-List ProtocolIE-ID
+id-Extended-GNB-CU-CP-Name ProtocolIE-ID
+id-Extended-GNB-CU-UP-Name ProtocolIE-ID
+id-DataForwardingtoE-UTRANInformationList ProtocolIE-ID
+id-QosMonitoringReportingFrequency ProtocolIE-ID
+id-QoSMonitoringDisabled ProtocolIE-ID
+id-AdditionalHandoverInfo ProtocolIE-ID
+id-Extended-NR-CGI-Support-List ProtocolIE-ID
+id-DataForwardingtoNG-RANQoSFlowInformationList ProtocolIE-ID
+id-MaxCIDEHCDL ProtocolIE-ID
+id-ignoreMappingRuleIndication ProtocolIE-ID
+id-DirectForwardingPathAvailability ProtocolIE-ID
+id-EarlyDataForwardingIndicator ProtocolIE-ID
+id-QoSFlowsDRBRemapping ProtocolIE-ID
+id-DataForwardingSourceIPAddress ProtocolIE-ID
+id-SecurityIndicationModify ProtocolIE-ID
+id-IAB-Donor-CU-UPPSKInfo ProtocolIE-ID
+id-ECGI-Support-List ProtocolIE-ID
+id-MDTPollutedMeasurementIndicator ProtocolIE-ID
+id-M4ReportAmount ProtocolIE-ID
+id-M6ReportAmount ProtocolIE-ID
+id-M7ReportAmount ProtocolIE-ID
+id-UESliceMaximumBitRateList ProtocolIE-ID
+id-PDUSession-PairID ProtocolIE-ID
+id-SurvivalTime ProtocolIE-ID
+id-UDC-Parameters ProtocolIE-ID
+id-SCGActivationStatus ProtocolIE-ID
+id-GNB-CU-CP-MBS-E1AP-ID ProtocolIE-ID
+id-GNB-CU-UP-MBS-E1AP-ID ProtocolIE-ID
+id-GlobalMBSSessionID ProtocolIE-ID
+id-BCBearerContextToSetup ProtocolIE-ID
+id-BCBearerContextToSetupResponse ProtocolIE-ID
+id-BCBearerContextToModify ProtocolIE-ID
+id-BCBearerContextToModifyResponse ProtocolIE-ID
+id-BCBearerContextToModifyRequired ProtocolIE-ID
+id-BCBearerContextToModifyConfirm ProtocolIE-ID
+id-MCBearerContextToSetup ProtocolIE-ID
+id-MCBearerContextToSetupResponse ProtocolIE-ID
+id-MCBearerContextToModify ProtocolIE-ID
+id-MCBearerContextToModifyResponse ProtocolIE-ID
+id-MCBearerContextToModifyRequired ProtocolIE-ID
+id-MCBearerContextToModifyConfirm ProtocolIE-ID
+id-MBSMulticastF1UContextDescriptor ProtocolIE-ID
+id-gNB-CU-UP-MBS-Support-Info ProtocolIE-ID
+id-SecurityIndication ProtocolIE-ID
+id-SecurityResult ProtocolIE-ID
+id-SDTContinueROHC ProtocolIE-ID
+id-SDTindicatorSetup ProtocolIE-ID
+id-SDTindicatorMod ProtocolIE-ID
+id-DiscardTimerExtended ProtocolIE-ID
+id-ManagementBasedMDTPLMNModificationList ProtocolIE-ID
+id-MCForwardingResourceRequest ProtocolIE-ID
+id-MCForwardingResourceIndication ProtocolIE-ID
+id-MCForwardingResourceResponse ProtocolIE-ID
+id-MCForwardingResourceRelease ProtocolIE-ID
+id-MCForwardingResourceReleaseIndication ProtocolIE-ID
+id-PDCP-COUNT-Reset ProtocolIE-ID
+id-MBSSessionAssociatedInfoNonSupportToSupport ProtocolIE-ID
+id-VersionID ProtocolIE-ID
+
+#.END
+
+#.REGISTER
+
+#E1AP-PROTOCOL-IES
+Cause N e1ap.ies id-Cause
+CriticalityDiagnostics N e1ap.ies id-CriticalityDiagnostics
+GNB-CU-CP-UE-E1AP-ID N e1ap.ies id-gNB-CU-CP-UE-E1AP-ID
+GNB-CU-UP-UE-E1AP-ID N e1ap.ies id-gNB-CU-UP-UE-E1AP-ID
+ResetType N e1ap.ies id-ResetType
+UE-associatedLogicalE1-ConnectionItem N e1ap.ies id-UE-associatedLogicalE1-ConnectionItem
+UE-associatedLogicalE1-ConnectionListResAck N e1ap.ies id-UE-associatedLogicalE1-ConnectionListResAck
+GNB-CU-UP-ID N e1ap.ies id-gNB-CU-UP-ID
+GNB-CU-UP-Name N e1ap.ies id-gNB-CU-UP-Name
+GNB-CU-CP-Name N e1ap.ies id-gNB-CU-CP-Name
+CNSupport N e1ap.ies id-CNSupport
+SupportedPLMNs-List N e1ap.ies id-SupportedPLMNs
+TimeToWait N e1ap.ies id-TimeToWait
+SecurityInformation N e1ap.ies id-SecurityInformation
+BitRate N e1ap.ies id-UEDLAggregateMaximumBitRate
+System-BearerContextSetupRequest N e1ap.ies id-System-BearerContextSetupRequest
+System-BearerContextSetupResponse N e1ap.ies id-System-BearerContextSetupResponse
+BearerContextStatusChange N e1ap.ies id-BearerContextStatusChange
+System-BearerContextModificationRequest N e1ap.ies id-System-BearerContextModificationRequest
+System-BearerContextModificationResponse N e1ap.ies id-System-BearerContextModificationResponse
+System-BearerContextModificationConfirm N e1ap.ies id-System-BearerContextModificationConfirm
+System-BearerContextModificationRequired N e1ap.ies id-System-BearerContextModificationRequired
+DRB-Status-List N e1ap.ies id-DRB-Status-List
+ActivityNotificationLevel N e1ap.ies id-ActivityNotificationLevel
+ActivityInformation N e1ap.ies id-ActivityInformation
+Data-Usage-Report-List N e1ap.ies id-Data-Usage-Report-List
+New-UL-TNL-Information-Required N e1ap.ies id-New-UL-TNL-Information-Required
+GNB-CU-CP-TNLA-To-Add-List N e1ap.ies id-GNB-CU-CP-TNLA-To-Add-List
+GNB-CU-CP-TNLA-To-Remove-List N e1ap.ies id-GNB-CU-CP-TNLA-To-Remove-List
+GNB-CU-CP-TNLA-To-Update-List N e1ap.ies id-GNB-CU-CP-TNLA-To-Update-List
+GNB-CU-CP-TNLA-Setup-List N e1ap.ies id-GNB-CU-CP-TNLA-Setup-List
+GNB-CU-CP-TNLA-Failed-To-Setup-List N e1ap.ies id-GNB-CU-CP-TNLA-Failed-To-Setup-List
+DRB-To-Setup-List-EUTRAN N e1ap.ies id-DRB-To-Setup-List-EUTRAN
+DRB-To-Modify-List-EUTRAN N e1ap.ies id-DRB-To-Modify-List-EUTRAN
+DRB-To-Remove-List-EUTRAN N e1ap.ies id-DRB-To-Remove-List-EUTRAN
+DRB-Required-To-Modify-List-EUTRAN N e1ap.ies id-DRB-Required-To-Modify-List-EUTRAN
+DRB-Required-To-Remove-List-EUTRAN N e1ap.ies id-DRB-Required-To-Remove-List-EUTRAN
+DRB-Setup-List-EUTRAN N e1ap.ies id-DRB-Setup-List-EUTRAN
+DRB-Failed-List-EUTRAN N e1ap.ies id-DRB-Failed-List-EUTRAN
+DRB-Modified-List-EUTRAN N e1ap.ies id-DRB-Modified-List-EUTRAN
+DRB-Failed-To-Modify-List-EUTRAN N e1ap.ies id-DRB-Failed-To-Modify-List-EUTRAN
+DRB-Confirm-Modified-List-EUTRAN N e1ap.ies id-DRB-Confirm-Modified-List-EUTRAN
+PDU-Session-Resource-To-Setup-List N e1ap.ies id-PDU-Session-Resource-To-Setup-List
+PDU-Session-Resource-To-Modify-List N e1ap.ies id-PDU-Session-Resource-To-Modify-List
+PDU-Session-Resource-To-Remove-List N e1ap.ies id-PDU-Session-Resource-To-Remove-List
+PDU-Session-Resource-Required-To-Modify-List N e1ap.ies id-PDU-Session-Resource-Required-To-Modify-List
+PDU-Session-Resource-Setup-List N e1ap.ies id-PDU-Session-Resource-Setup-List
+PDU-Session-Resource-Failed-List N e1ap.ies id-PDU-Session-Resource-Failed-List
+PDU-Session-Resource-Modified-List N e1ap.ies id-PDU-Session-Resource-Modified-List
+PDU-Session-Resource-Failed-To-Modify-List N e1ap.ies id-PDU-Session-Resource-Failed-To-Modify-List
+PDU-Session-Resource-Confirm-Modified-List N e1ap.ies id-PDU-Session-Resource-Confirm-Modified-List
+DRB-To-Setup-Mod-List-EUTRAN N e1ap.ies id-DRB-To-Setup-Mod-List-EUTRAN
+DRB-Setup-Mod-List-EUTRAN N e1ap.ies id-DRB-Setup-Mod-List-EUTRAN
+DRB-Failed-Mod-List-EUTRAN N e1ap.ies id-DRB-Failed-Mod-List-EUTRAN
+PDU-Session-Resource-Setup-Mod-List N e1ap.ies id-PDU-Session-Resource-Setup-Mod-List
+PDU-Session-Resource-Failed-Mod-List N e1ap.ies id-PDU-Session-Resource-Failed-Mod-List
+PDU-Session-Resource-To-Setup-Mod-List N e1ap.ies id-PDU-Session-Resource-To-Setup-Mod-List
+TransactionID N e1ap.ies id-TransactionID
+PLMN-Identity N e1ap.ies id-Serving-PLMN
+Inactivity-Timer N e1ap.ies id-UE-Inactivity-Timer
+System-GNB-CU-UP-CounterCheckRequest N e1ap.ies id-System-GNB-CU-UP-CounterCheckRequest
+DRBs-Subject-To-Counter-Check-List-EUTRAN N e1ap.ies id-DRBs-Subject-To-Counter-Check-List-EUTRAN
+DRBs-Subject-To-Counter-Check-List-NG-RAN N e1ap.ies id-DRBs-Subject-To-Counter-Check-List-NG-RAN
+PPI N e1ap.ies id-PPI
+GNB-CU-UP-Capacity N e1ap.ies id-gNB-CU-UP-Capacity
+GNB-CU-UP-OverloadInformation N e1ap.ies id-GNB-CU-UP-OverloadInformation
+BitRate N e1ap.ies id-UEDLMaximumIntegrityProtectedDataRate
+PDU-Session-To-Notify-List N e1ap.ies id-PDU-Session-To-Notify-List
+PDU-Session-Resource-Data-Usage-List N e1ap.ies id-PDU-Session-Resource-Data-Usage-List
+DataDiscardRequired N e1ap.ies id-DataDiscardRequired
+GNB-CU-UP-TNLA-To-Remove-List N e1ap.ies id-GNB-CU-UP-TNLA-To-Remove-List
+Endpoint-IP-address-and-port N e1ap.ies id-endpoint-IP-Address-and-Port
+RANUEID N e1ap.ies id-RANUEID
+GNB-DU-ID N e1ap.ies id-GNB-DU-ID
+TraceActivation N e1ap.ies id-TraceActivation
+TraceID N e1ap.ies id-TraceID
+SubscriberProfileIDforRFP N e1ap.ies id-SubscriberProfileIDforRFP
+AdditionalRRMPriorityIndex N e1ap.ies id-AdditionalRRMPriorityIndex
+RetainabilityMeasurementsInfo N e1ap.ies id-RetainabilityMeasurementsInfo
+Transport-Layer-Address-Info N e1ap.ies id-Transport-Layer-Address-Info
+Measurement-ID N e1ap.ies id-gNB-CU-CP-Measurement-ID
+Measurement-ID N e1ap.ies id-gNB-CU-UP-Measurement-ID
+RegistrationRequest N e1ap.ies id-RegistrationRequest
+ReportCharacteristics N e1ap.ies id-ReportCharacteristics
+ReportingPeriodicity N e1ap.ies id-ReportingPeriodicity
+TNL-AvailableCapacityIndicator N e1ap.ies id-TNL-AvailableCapacityIndicator
+HW-CapacityIndicator N e1ap.ies id-HW-CapacityIndicator
+DLUPTNLAddressToUpdateList N e1ap.ies id-DLUPTNLAddressToUpdateList
+ULUPTNLAddressToUpdateList N e1ap.ies id-ULUPTNLAddressToUpdateList
+NPNContextInfo N e1ap.ies id-NPNContextInfo
+MDTPLMNList N e1ap.ies id-ManagementBasedMDTPLMNList
+TransportLayerAddress N e1ap.ies id-TraceCollectionEntityIPAddress
+PrivacyIndicator N e1ap.ies id-PrivacyIndicator
+URIaddress N e1ap.ies id-URIaddress
+DRBs-Subject-To-Early-Forwarding-List N e1ap.ies id-DRBs-Subject-To-Early-Forwarding-List
+CHOInitiation N e1ap.ies id-CHOInitiation
+DRB-Measurement-Results-Information-List N e1ap.ies id-DRB-Measurement-Results-Information-List
+Extended-GNB-CU-CP-Name N e1ap.ies id-Extended-GNB-CU-CP-Name
+Extended-GNB-CU-UP-Name N e1ap.ies id-Extended-GNB-CU-UP-Name
+AdditionalHandoverInfo N e1ap.ies id-AdditionalHandoverInfo
+DirectForwardingPathAvailability N e1ap.ies id-DirectForwardingPathAvailability
+IAB-Donor-CU-UPPSKInfo N e1ap.ies id-IAB-Donor-CU-UPPSKInfo
+MDTPollutedMeasurementIndicator N e1ap.ies id-MDTPollutedMeasurementIndicator
+UESliceMaximumBitRateList N e1ap.ies id-UESliceMaximumBitRateList
+SCGActivationStatus N e1ap.ies id-SCGActivationStatus
+GNB-CU-CP-MBS-E1AP-ID N e1ap.ies id-GNB-CU-CP-MBS-E1AP-ID
+GNB-CU-UP-MBS-E1AP-ID N e1ap.ies id-GNB-CU-UP-MBS-E1AP-ID
+GlobalMBSSessionID N e1ap.ies id-GlobalMBSSessionID
+BCBearerContextToSetup N e1ap.ies id-BCBearerContextToSetup
+BCBearerContextToSetupResponse N e1ap.ies id-BCBearerContextToSetupResponse
+BCBearerContextToModify N e1ap.ies id-BCBearerContextToModify
+BCBearerContextToModifyResponse N e1ap.ies id-BCBearerContextToModifyResponse
+BCBearerContextToModifyRequired N e1ap.ies id-BCBearerContextToModifyRequired
+BCBearerContextToModifyConfirm N e1ap.ies id-BCBearerContextToModifyConfirm
+MCBearerContextToSetup N e1ap.ies id-MCBearerContextToSetup
+MCBearerContextToSetupResponse N e1ap.ies id-MCBearerContextToSetupResponse
+MCBearerContextToModify N e1ap.ies id-MCBearerContextToModify
+MCBearerContextToModifyResponse N e1ap.ies id-MCBearerContextToModifyResponse
+MCBearerContextToModifyRequired N e1ap.ies id-MCBearerContextToModifyRequired
+MCBearerContextToModifyConfirm N e1ap.ies id-MCBearerContextToModifyConfirm
+MBSMulticastF1UContextDescriptor N e1ap.ies id-MBSMulticastF1UContextDescriptor
+GNB-CU-UP-MBS-Support-Info N e1ap.ies id-gNB-CU-UP-MBS-Support-Info
+SDTContinueROHC N e1ap.ies id-SDTContinueROHC
+MDTPLMNModificationList N e1ap.ies id-ManagementBasedMDTPLMNModificationList
+
+#E1AP-PROTOCOL-EXTENSION
+SNSSAI N e1ap.extension id-SNSSAI
+QoS-Flow-List N e1ap.extension id-OldQoSFlowMap-ULendmarkerexpected
+QoSFlowLevelQoSParameters N e1ap.extension id-DRB-QoS
+CP-TNL-Information N e1ap.extension id-TNLAssociationTransportLayerAddressgNBCUUP
+CommonNetworkInstance N e1ap.extension id-CommonNetworkInstance
+NetworkInstance N e1ap.extension id-NetworkInstance
+QoS-Flow-Mapping-Indication N e1ap.extension id-QoSFlowMappingIndication
+QosMonitoringRequest N e1ap.extension id-QoSMonitoringRequest
+PDCP-StatusReportIndication N e1ap.extension id-PDCP-StatusReportIndication
+CommonNetworkInstance N e1ap.extension id-RedundantCommonNetworkInstance
+UP-TNL-Information N e1ap.extension id-redundant-nG-UL-UP-TNL-Information
+UP-TNL-Information N e1ap.extension id-redundant-nG-DL-UP-TNL-Information
+RedundantQoSFlowIndicator N e1ap.extension id-RedundantQosFlowIndicator
+TSCTrafficCharacteristics N e1ap.extension id-TSCTrafficCharacteristics
+ExtendedPacketDelayBudget N e1ap.extension id-CNPacketDelayBudgetDownlink
+ExtendedPacketDelayBudget N e1ap.extension id-CNPacketDelayBudgetUplink
+ExtendedPacketDelayBudget N e1ap.extension id-ExtendedPacketDelayBudget
+AdditionalPDCPduplicationInformation N e1ap.extension id-AdditionalPDCPduplicationInformation
+RedundantPDUSessionInformation N e1ap.extension id-RedundantPDUSessionInformation
+RedundantPDUSessionInformation N e1ap.extension id-RedundantPDUSessionInformation-used
+QoS-Mapping-Information N e1ap.extension id-QoS-Mapping-Information
+NPNSupportInfo N e1ap.extension id-NPNSupportInfo
+MDT-Configuration N e1ap.extension id-MDTConfiguration
+URIaddress N e1ap.extension id-TraceCollectionEntityURI
+EHC-Parameters N e1ap.extension id-EHC-Parameters
+DAPSRequestInfo N e1ap.extension id-DAPSRequestInfo
+EarlyForwardingCOUNTReq N e1ap.extension id-EarlyForwardingCOUNTReq
+EarlyForwardingCOUNTInfo N e1ap.extension id-EarlyForwardingCOUNTInfo
+AlternativeQoSParaSetList N e1ap.extension id-AlternativeQoSParaSetList
+ExtendedSliceSupportList N e1ap.extension id-ExtendedSliceSupportList
+GBR-QoSFlowInformation N e1ap.extension id-MCG-OfferedGBRQoSFlowInfo
+Number-of-tunnels N e1ap.extension id-Number-of-tunnels
+DataForwardingtoE-UTRANInformationList N e1ap.extension id-DataForwardingtoE-UTRANInformationList
+QosMonitoringReportingFrequency N e1ap.extension id-QosMonitoringReportingFrequency
+QosMonitoringDisabled N e1ap.extension id-QoSMonitoringDisabled
+Extended-NR-CGI-Support-List N e1ap.extension id-Extended-NR-CGI-Support-List
+DataForwardingtoNG-RANQoSFlowInformationList N e1ap.extension id-DataForwardingtoNG-RANQoSFlowInformationList
+MaxCIDEHCDL N e1ap.extension id-MaxCIDEHCDL
+IgnoreMappingRuleIndication N e1ap.extension id-ignoreMappingRuleIndication
+EarlyDataForwardingIndicator N e1ap.extension id-EarlyDataForwardingIndicator
+QoS-Flows-DRB-Remapping N e1ap.extension id-QoSFlowsDRBRemapping
+TransportLayerAddress N e1ap.extension id-DataForwardingSourceIPAddress
+SecurityIndication N e1ap.extension id-SecurityIndicationModify
+ECGI-Support-List N e1ap.extension id-ECGI-Support-List
+M4ReportAmount N e1ap.extension id-M4ReportAmount
+M6ReportAmount N e1ap.extension id-M6ReportAmount
+M7ReportAmount N e1ap.extension id-M7ReportAmount
+PDUSession-PairID N e1ap.extension id-PDUSession-PairID
+SurvivalTime N e1ap.extension id-SurvivalTime
+UDC-Parameters N e1ap.extension id-UDC-Parameters
+SecurityIndication N e1ap.extension id-SecurityIndication
+SecurityResult N e1ap.extension id-SecurityResult
+SDTindicatorSetup N e1ap.extension id-SDTindicatorSetup
+SDTindicatorMod N e1ap.extension id-SDTindicatorMod
+DiscardTimerExtended N e1ap.extension id-DiscardTimerExtended
+MCForwardingResourceRequest N e1ap.extension id-MCForwardingResourceRequest
+MCForwardingResourceIndication N e1ap.extension id-MCForwardingResourceIndication
+MCForwardingResourceResponse N e1ap.extension id-MCForwardingResourceResponse
+MCForwardingResourceRelease N e1ap.extension id-MCForwardingResourceRelease
+MCForwardingResourceReleaseIndication N e1ap.extension id-MCForwardingResourceReleaseIndication
+PDCP-COUNT-Reset N e1ap.extension id-PDCP-COUNT-Reset
+MBSSessionAssociatedInfoNonSupportToSupport N e1ap.extension id-MBSSessionAssociatedInfoNonSupportToSupport
+VersionID N e1ap.extension id-VersionID
+
+#E1AP-ELEMENTARY-PROCEDURE
+Reset N e1ap.proc.imsg id-reset
+ResetAcknowledge N e1ap.proc.sout id-reset
+
+ErrorIndication N e1ap.proc.imsg id-errorIndication
+
+GNB-CU-UP-E1SetupRequest N e1ap.proc.imsg id-gNB-CU-UP-E1Setup
+GNB-CU-UP-E1SetupResponse N e1ap.proc.sout id-gNB-CU-UP-E1Setup
+GNB-CU-UP-E1SetupFailure N e1ap.proc.uout id-gNB-CU-UP-E1Setup
+
+GNB-CU-CP-E1SetupRequest N e1ap.proc.imsg id-gNB-CU-CP-E1Setup
+GNB-CU-CP-E1SetupResponse N e1ap.proc.sout id-gNB-CU-CP-E1Setup
+GNB-CU-CP-E1SetupFailure N e1ap.proc.uout id-gNB-CU-CP-E1Setup
+
+GNB-CU-UP-ConfigurationUpdate N e1ap.proc.imsg id-gNB-CU-UP-ConfigurationUpdate
+GNB-CU-UP-ConfigurationUpdateAcknowledge N e1ap.proc.sout id-gNB-CU-UP-ConfigurationUpdate
+GNB-CU-UP-ConfigurationUpdateFailure N e1ap.proc.uout id-gNB-CU-UP-ConfigurationUpdate
+
+GNB-CU-CP-ConfigurationUpdate N e1ap.proc.imsg id-gNB-CU-CP-ConfigurationUpdate
+GNB-CU-CP-ConfigurationUpdateAcknowledge N e1ap.proc.sout id-gNB-CU-CP-ConfigurationUpdate
+GNB-CU-CP-ConfigurationUpdateFailure N e1ap.proc.uout id-gNB-CU-CP-ConfigurationUpdate
+
+E1ReleaseRequest N e1ap.proc.imsg id-e1Release
+E1ReleaseResponse N e1ap.proc.sout id-e1Release
+
+BearerContextSetupRequest N e1ap.proc.imsg id-bearerContextSetup
+BearerContextSetupResponse N e1ap.proc.sout id-bearerContextSetup
+BearerContextSetupFailure N e1ap.proc.uout id-bearerContextSetup
+
+BearerContextModificationRequest N e1ap.proc.imsg id-bearerContextModification
+BearerContextModificationResponse N e1ap.proc.sout id-bearerContextModification
+BearerContextModificationFailure N e1ap.proc.uout id-bearerContextModification
+
+BearerContextModificationRequired N e1ap.proc.imsg id-bearerContextModificationRequired
+BearerContextModificationConfirm N e1ap.proc.sout id-bearerContextModificationRequired
+
+BearerContextReleaseCommand N e1ap.proc.imsg id-bearerContextRelease
+BearerContextReleaseComplete N e1ap.proc.sout id-bearerContextRelease
+
+BearerContextReleaseRequest N e1ap.proc.imsg id-bearerContextReleaseRequest
+
+BearerContextInactivityNotification N e1ap.proc.imsg id-bearerContextInactivityNotification
+
+DLDataNotification N e1ap.proc.imsg id-dLDataNotification
+
+ULDataNotification N e1ap.proc.imsg id-uLDataNotification
+
+DataUsageReport N e1ap.proc.imsg id-dataUsageReport
+
+GNB-CU-UP-CounterCheckRequest N e1ap.proc.imsg id-gNB-CU-UP-CounterCheck
+
+GNB-CU-UP-StatusIndication N e1ap.proc.imsg id-gNB-CU-UP-StatusIndication
+
+PrivateMessage N e1ap.proc.imsg id-privateMessage
+
+GNB-CU-CPMeasurementResultsInformation N e1ap.proc.imsg id-gNB-CU-CPMeasurementResultsInformation
+
+MRDC-DataUsageReport N e1ap.proc.imsg id-mRDC-DataUsageReport
+
+DeactivateTrace N e1ap.proc.imsg id-DeactivateTrace
+
+TraceStart N e1ap.proc.imsg id-TraceStart
+
+ResourceStatusRequest N e1ap.proc.imsg id-resourceStatusReportingInitiation
+ResourceStatusResponse N e1ap.proc.sout id-resourceStatusReportingInitiation
+ResourceStatusFailure N e1ap.proc.uout id-resourceStatusReportingInitiation
+
+ResourceStatusUpdate N e1ap.proc.imsg id-resourceStatusReporting
+
+IAB-UPTNLAddressUpdate N e1ap.proc.imsg id-iAB-UPTNLAddressUpdate
+IAB-UPTNLAddressUpdateAcknowledge N e1ap.proc.sout id-iAB-UPTNLAddressUpdate
+IAB-UPTNLAddressUpdateFailure N e1ap.proc.uout id-iAB-UPTNLAddressUpdate
+
+CellTrafficTrace N e1ap.proc.imsg id-CellTrafficTrace
+
+EarlyForwardingSNTransfer N e1ap.proc.imsg id-earlyForwardingSNTransfer
+
+IABPSKNotification N e1ap.proc.imsg id-iABPSKNotification
+
+BCBearerContextSetupRequest N e1ap.proc.imsg id-BCBearerContextSetup
+BCBearerContextSetupResponse N e1ap.proc.sout id-BCBearerContextSetup
+BCBearerContextSetupFailure N e1ap.proc.uout id-BCBearerContextSetup
+
+BCBearerContextModificationRequest N e1ap.proc.imsg id-BCBearerContextModification
+BCBearerContextModificationResponse N e1ap.proc.sout id-BCBearerContextModification
+BCBearerContextModificationFailure N e1ap.proc.uout id-BCBearerContextModification
+
+BCBearerContextModificationRequired N e1ap.proc.imsg id-BCBearerContextModificationRequired
+BCBearerContextModificationConfirm N e1ap.proc.sout id-BCBearerContextModificationRequired
+
+BCBearerContextReleaseCommand N e1ap.proc.imsg id-BCBearerContextRelease
+BCBearerContextReleaseComplete N e1ap.proc.sout id-BCBearerContextRelease
+
+BCBearerContextReleaseRequest N e1ap.proc.imsg id-BCBearerContextReleaseRequest
+
+MCBearerContextSetupRequest N e1ap.proc.imsg id-MCBearerContextSetup
+MCBearerContextSetupResponse N e1ap.proc.sout id-MCBearerContextSetup
+MCBearerContextSetupFailure N e1ap.proc.uout id-MCBearerContextSetup
+
+MCBearerContextModificationRequest N e1ap.proc.imsg id-MCBearerContextModification
+MCBearerContextModificationResponse N e1ap.proc.sout id-MCBearerContextModification
+MCBearerContextModificationFailure N e1ap.proc.uout id-MCBearerContextModification
+
+MCBearerContextModificationRequired N e1ap.proc.imsg id-MCBearerContextModificationRequired
+MCBearerContextModificationConfirm N e1ap.proc.sout id-MCBearerContextModificationRequired
+
+MCBearerContextReleaseCommand N e1ap.proc.imsg id-MCBearerContextRelease
+MCBearerContextReleaseComplete N e1ap.proc.sout id-MCBearerContextRelease
+
+MCBearerContextReleaseRequest N e1ap.proc.imsg id-MCBearerContextReleaseRequest
+
+#.FN_BODY PLMN-Identity VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = e1ap_data->number_type;
+ e1ap_data->number_type = E212_NONE;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_e1ap_PLMN_Identity);
+ dissect_e212_mcc_mnc(param_tvb, actx->pinfo, subtree, 0, number_type, FALSE);
+ }
+
+#.FN_BODY NR-CGI
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(actx->pinfo);
+ e1ap_data->number_type = E212_NRCGI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+PortNumber TYPE = FT_UINT16 DISPLAY = BASE_DEC
+
+#.FN_BODY PortNumber VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.FN_BODY DRB-Usage-Report-Item/startTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR DRB-Usage-Report-Item/startTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.FN_BODY DRB-Usage-Report-Item/endTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR DRB-Usage-Report-Item/endTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.TYPE_ATTR
+DRB-Usage-Report-Item/usageCountUL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+DRB-Usage-Report-Item/usageCountDL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+MaxPacketLossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(e1ap_MaxPacketLossRate_fmt)
+
+#.TYPE_ATTR
+PacketDelayBudget DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(e1ap_PacketDelayBudget_uL_D1_Result_fmt)
+
+#.TYPE_ATTR
+AveragingWindow DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+MaxDataBurstVolume DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_byte_bytes
+
+#.TYPE_ATTR
+Inactivity-Timer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY TransportLayerAddress VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree;
+ gint tvb_len;
+
+ tvb_len = tvb_reported_length(param_tvb);
+ subtree = proto_item_add_subtree(actx->created_item, ett_e1ap_TransportLayerAddress);
+ if (tvb_len == 4) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_e1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
+ } else if (tvb_len == 16) {
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_e1ap_transportLayerAddressIPv6, param_tvb, 0, 16, ENC_NA);
+ } else if (tvb_len == 20) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_e1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_e1ap_transportLayerAddressIPv6, param_tvb, 4, 16, ENC_NA);
+ }
+ }
+
+#.FN_BODY MRDC-Data-Usage-Report-Item/startTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR MRDC-Data-Usage-Report-Item/startTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.FN_BODY MRDC-Data-Usage-Report-Item/endTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR MRDC-Data-Usage-Report-Item/endTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.TYPE_ATTR
+MRDC-Data-Usage-Report-Item/usageCountUL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+MRDC-Data-Usage-Report-Item/usageCountDL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+ExtendedPacketDelayBudget DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(e1ap_ExtendedPacketDelayBudget_fmt)
+
+#.TYPE_ATTR
+HW-CapacityIndicator/offeredThroughput DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kbps
+
+#.FN_BODY InterfacesToTrace VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(param_tvb){
+ static int * const fields[] = {
+ &hf_e1ap_InterfacesToTrace_NG_C,
+ &hf_e1ap_InterfacesToTrace_Xn_C,
+ &hf_e1ap_InterfacesToTrace_Uu,
+ &hf_e1ap_InterfacesToTrace_F1_C,
+ &hf_e1ap_InterfacesToTrace_E1,
+ &hf_e1ap_InterfacesToTrace_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_e1ap_InterfacesToTrace);
+ proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+M7period DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
+
+#.FN_BODY MeasurementsToActivate VAL_PTR=&param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ static int * const fields[] = {
+ &hf_e1ap_MeasurementsToActivate_Reserved1,
+ &hf_e1ap_MeasurementsToActivate_M4,
+ &hf_e1ap_MeasurementsToActivate_Reserved2,
+ &hf_e1ap_MeasurementsToActivate_M6,
+ &hf_e1ap_MeasurementsToActivate_M7,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_e1ap_MeasurementsToActivate);
+ proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY ReportCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_e1ap_ReportCharacteristics_TNLAvailableCapacityIndPeriodic,
+ &hf_e1ap_ReportCharacteristics_HWCapacityIndPeriodic,
+ &hf_e1ap_ReportCharacteristics_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_e1ap_ReportCharacteristics);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 5, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Periodicity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
+
+#.FN_BODY BurstArrivalTime VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_e1ap_BurstArrivalTime);
+ dissect_nr_rrc_ReferenceTime_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+DRB-Measurement-Results-Information-Item/uL-D1-Result DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(e1ap_PacketDelayBudget_uL_D1_Result_fmt)
+
+#.TYPE_ATTR
+QosMonitoringReportingFrequency DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+SurvivalTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
+
+#.FN_HDR Reset
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
+#.FN_HDR ResetAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
+#.FN_HDR ErrorIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
+#.FN_HDR GNB-CU-UP-E1SetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupRequest");
+#.FN_HDR GNB-CU-UP-E1SetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupResponse");
+#.FN_HDR GNB-CU-UP-E1SetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupFailure");
+#.FN_HDR GNB-CU-CP-E1SetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupRequest");
+#.FN_HDR GNB-CU-CP-E1SetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupResponse");
+#.FN_HDR GNB-CU-CP-E1SetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupFailure");
+#.FN_HDR GNB-CU-UP-ConfigurationUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdate");
+#.FN_HDR GNB-CU-UP-ConfigurationUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdateAcknowledge");
+#.FN_HDR GNB-CU-UP-ConfigurationUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdateFailure");
+#.FN_HDR GNB-CU-CP-ConfigurationUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdate");
+#.FN_HDR GNB-CU-CP-ConfigurationUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdateAcknowledge");
+#.FN_HDR GNB-CU-CP-ConfigurationUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdateFailure");
+#.FN_HDR E1ReleaseRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E1ReleaseRequest");
+#.FN_HDR E1ReleaseResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E1ReleaseResponse");
+#.FN_HDR BearerContextSetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupRequest");
+#.FN_HDR BearerContextSetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupResponse");
+#.FN_HDR BearerContextSetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupFailure");
+#.FN_HDR BearerContextModificationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationRequest");
+#.FN_HDR BearerContextModificationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationResponse");
+#.FN_HDR BearerContextModificationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationFailure");
+#.FN_HDR BearerContextModificationRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationRequired");
+#.FN_HDR BearerContextModificationConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationConfirm");
+#.FN_HDR BearerContextReleaseCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseCommand");
+#.FN_HDR BearerContextReleaseComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseComplete");
+#.FN_HDR BearerContextReleaseRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseRequest");
+#.FN_HDR BearerContextInactivityNotification
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextInactivityNotification");
+#.FN_HDR DLDataNotification
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLDataNotification");
+#.FN_HDR ULDataNotification
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULDataNotification");
+#.FN_HDR DataUsageReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataUsageReport");
+#.FN_HDR GNB-CU-UP-CounterCheckRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-CounterCheckRequest");
+#.FN_HDR GNB-CU-UP-CounterCheckRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-CounterCheckRequest");
+#.FN_HDR PrivateMessage
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
+#.FN_HDR GNB-CU-CPMeasurementResultsInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CPMeasurementResultsInformation");
+#.FN_HDR MRDC-DataUsageReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MRDC-DataUsageReport");
+#.FN_HDR DeactivateTrace
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
+#.FN_HDR TraceStart
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
+#.FN_HDR ResourceStatusRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest");
+#.FN_HDR ResourceStatusResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse");
+#.FN_HDR ResourceStatusFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure");
+#.FN_HDR ResourceStatusUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate");
+#.FN_HDR IAB-UPTNLAddressUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB-UPTNLAddressUpdate");
+#.FN_HDR IAB-UPTNLAddressUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB-UPTNLAddressUpdateAcknowledge");
+#.FN_HDR IAB-UPTNLAddressUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB-UPTNLAddressUpdateFailure");
+#.FN_HDR CellTrafficTrace
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
+#.FN_HDR EarlyForwardingSNTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyForwardingSNTransfer");
+#.FN_HDR IABPSKNotification
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABPSKNotification");
+#.FN_HDR BCBearerContextSetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextSetupRequest");
+#.FN_HDR BCBearerContextSetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextSetupResponse");
+#.FN_HDR BCBearerContextSetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextSetupFailure");
+#.FN_HDR BCBearerContextModificationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextModificationRequest");
+#.FN_HDR BCBearerContextModificationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextModificationResponse");
+#.FN_HDR BCBearerContextModificationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextModificationFailure");
+#.FN_HDR BCBearerContextModificationRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextModificationRequired");
+#.FN_HDR BCBearerContextModificationConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextModificationConfirm");
+#.FN_HDR BCBearerContextReleaseCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextReleaseCommand");
+#.FN_HDR BCBearerContextReleaseComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextReleaseComplete");
+#.FN_HDR BCBearerContextReleaseRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BCBearerContextReleaseRequest");
+#.FN_HDR MCBearerContextSetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextSetupRequest");
+#.FN_HDR MCBearerContextSetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextSetupResponse");
+#.FN_HDR MCBearerContextSetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextSetupFailure");
+#.FN_HDR MCBearerContextModificationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextModificationRequest");
+#.FN_HDR MCBearerContextModificationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextModificationResponse");
+#.FN_HDR MCBearerContextModificationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextModificationFailure");
+#.FN_HDR MCBearerContextModificationRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextModificationRequired");
+#.FN_HDR MCBearerContextModificationConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextModificationConfirm");
+#.FN_HDR MCBearerContextReleaseCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextReleaseCommand");
+#.FN_HDR MCBearerContextReleaseComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextReleaseComplete");
+#.FN_HDR MCBearerContextReleaseRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCBearerContextReleaseRequest");
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/e1ap/packet-e1ap-template.c b/epan/dissectors/asn1/e1ap/packet-e1ap-template.c
new file mode 100644
index 00000000..f51884a2
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/packet-e1ap-template.c
@@ -0,0 +1,355 @@
+/* packet-e1ap.c
+ * Routines for E-UTRAN E1 Application Protocol (E1AP) packet dissection
+ * Copyright 2018-2023, Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * References: 3GPP TS 37.483 V17.5.0 (2023-06)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/asn1.h>
+#include <epan/sctpppids.h>
+#include <epan/proto_data.h>
+
+#include "packet-e1ap.h"
+#include "packet-per.h"
+#include "packet-e212.h"
+#include "packet-ntp.h"
+#include "packet-nr-rrc.h"
+#include "packet-tcp.h"
+
+#define PNAME "E1 Application Protocol"
+#define PSNAME "E1AP"
+#define PFNAME "e1ap"
+
+#define SCTP_PORT_E1AP 38462
+
+void proto_register_e1ap(void);
+void proto_reg_handoff_e1ap(void);
+
+#include "packet-e1ap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_e1ap = -1;
+
+static int hf_e1ap_transportLayerAddressIPv4 = -1;
+static int hf_e1ap_transportLayerAddressIPv6 = -1;
+static int hf_e1ap_InterfacesToTrace_NG_C = -1;
+static int hf_e1ap_InterfacesToTrace_Xn_C = -1;
+static int hf_e1ap_InterfacesToTrace_Uu = -1;
+static int hf_e1ap_InterfacesToTrace_F1_C = -1;
+static int hf_e1ap_InterfacesToTrace_E1 = -1;
+static int hf_e1ap_InterfacesToTrace_Reserved = -1;
+static int hf_e1ap_MeasurementsToActivate_Reserved1 = -1;
+static int hf_e1ap_MeasurementsToActivate_M4 = -1;
+static int hf_e1ap_MeasurementsToActivate_Reserved2 = -1;
+static int hf_e1ap_MeasurementsToActivate_M6 = -1;
+static int hf_e1ap_MeasurementsToActivate_M7 = -1;
+static int hf_e1ap_ReportCharacteristics_TNLAvailableCapacityIndPeriodic = -1;
+static int hf_e1ap_ReportCharacteristics_HWCapacityIndPeriodic = -1;
+static int hf_e1ap_ReportCharacteristics_Reserved = -1;
+static int hf_e1ap_tcp_pdu_len = -1;
+#include "packet-e1ap-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_e1ap = -1;
+static gint ett_e1ap_PLMN_Identity = -1;
+static gint ett_e1ap_TransportLayerAddress = -1;
+static gint ett_e1ap_InterfacesToTrace = -1;
+static gint ett_e1ap_MeasurementsToActivate = -1;
+static gint ett_e1ap_ReportCharacteristics = -1;
+static gint ett_e1ap_BurstArrivalTime = -1;
+#include "packet-e1ap-ett.c"
+
+enum{
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+typedef struct {
+ guint32 message_type;
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ const char *obj_id;
+ e212_number_type_t number_type;
+} e1ap_private_data_t;
+
+/* Global variables */
+static dissector_handle_t e1ap_handle;
+static dissector_handle_t e1ap_tcp_handle;
+
+/* Dissector tables */
+static dissector_table_t e1ap_ies_dissector_table;
+static dissector_table_t e1ap_extension_dissector_table;
+static dissector_table_t e1ap_proc_imsg_dissector_table;
+static dissector_table_t e1ap_proc_sout_dissector_table;
+static dissector_table_t e1ap_proc_uout_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static const true_false_string e1ap_tfs_InterfacesToTrace = {
+ "Should be traced",
+ "Should not be traced"
+};
+
+static void
+e1ap_MaxPacketLossRate_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f%% (%u)", (float)v/10, v);
+}
+
+static void
+e1ap_PacketDelayBudget_uL_D1_Result_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v);
+}
+
+static void
+e1ap_ExtendedPacketDelayBudget_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fms (%u)", (float)v/100, v);
+}
+
+static e1ap_private_data_t*
+e1ap_get_private_data(packet_info *pinfo)
+{
+ e1ap_private_data_t *e1ap_data = (e1ap_private_data_t*)p_get_proto_data(pinfo->pool, pinfo, proto_e1ap, 0);
+ if (!e1ap_data) {
+ e1ap_data = wmem_new0(pinfo->pool, e1ap_private_data_t);
+ p_add_proto_data(pinfo->pool, pinfo, proto_e1ap, 0, e1ap_data);
+ }
+ return e1ap_data;
+}
+
+#include "packet-e1ap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ e1ap_ctx_t e1ap_ctx;
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(pinfo);
+
+ e1ap_ctx.message_type = e1ap_data->message_type;
+ e1ap_ctx.ProcedureCode = e1ap_data->procedure_code;
+ e1ap_ctx.ProtocolIE_ID = e1ap_data->protocol_ie_id;
+
+ return (dissector_try_uint_new(e1ap_ies_dissector_table, e1ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &e1ap_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ e1ap_ctx_t e1ap_ctx;
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(pinfo);
+
+ e1ap_ctx.message_type = e1ap_data->message_type;
+ e1ap_ctx.ProcedureCode = e1ap_data->procedure_code;
+ e1ap_ctx.ProtocolIE_ID = e1ap_data->protocol_ie_id;
+
+ return (dissector_try_uint_new(e1ap_extension_dissector_table, e1ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &e1ap_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(e1ap_proc_imsg_dissector_table, e1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(e1ap_proc_sout_dissector_table, e1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ e1ap_private_data_t *e1ap_data = e1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(e1ap_proc_uout_dissector_table, e1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static int
+dissect_e1ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *e1ap_item = NULL;
+ proto_tree *e1ap_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "E1AP");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ /* create the e1ap protocol tree */
+ e1ap_item = proto_tree_add_item(tree, proto_e1ap, tvb, 0, -1, ENC_NA);
+ e1ap_tree = proto_item_add_subtree(e1ap_item, ett_e1ap);
+
+ dissect_E1AP_PDU_PDU(tvb, pinfo, e1ap_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static guint
+get_e1ap_tcp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb,
+ int offset, void *data _U_)
+{
+ return tvb_get_ntohl(tvb, offset)+4;
+}
+
+static int
+dissect_e1ap_tcp_pdu(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data)
+{
+ tvbuff_t *new_tvb;
+
+ proto_tree_add_item(tree, hf_e1ap_tcp_pdu_len, tvb, 0, 4, ENC_NA);
+ new_tvb = tvb_new_subset_remaining(tvb, 4);
+
+ return dissect_e1ap(new_tvb, pinfo, tree, data);
+}
+
+static int
+dissect_e1ap_tcp(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data)
+{
+ tcp_dissect_pdus(tvb, pinfo, tree, TRUE, 4,
+ get_e1ap_tcp_pdu_len, dissect_e1ap_tcp_pdu, data);
+ return tvb_captured_length(tvb);
+}
+
+void proto_register_e1ap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_e1ap_transportLayerAddressIPv4,
+ { "IPv4 transportLayerAddress", "e1ap.transportLayerAddressIPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_e1ap_transportLayerAddressIPv6,
+ { "IPv6 transportLayerAddress", "e1ap.transportLayerAddressIPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_e1ap_InterfacesToTrace_NG_C,
+ { "NG-C", "e1ap.InterfacesToTrace.NG_C",
+ FT_BOOLEAN, 8, TFS(&e1ap_tfs_InterfacesToTrace), 0x80,
+ NULL, HFILL }},
+ { &hf_e1ap_InterfacesToTrace_Xn_C,
+ { "Xn-C", "e1ap.InterfacesToTrace.Xn_C",
+ FT_BOOLEAN, 8, TFS(&e1ap_tfs_InterfacesToTrace), 0x40,
+ NULL, HFILL }},
+ { &hf_e1ap_InterfacesToTrace_Uu,
+ { "Uu", "e1ap.InterfacesToTrace.Uu",
+ FT_BOOLEAN, 8, TFS(&e1ap_tfs_InterfacesToTrace), 0x20,
+ NULL, HFILL }},
+ { &hf_e1ap_InterfacesToTrace_F1_C,
+ { "F1-C", "e1ap.InterfacesToTrace.F1_C",
+ FT_BOOLEAN, 8, TFS(&e1ap_tfs_InterfacesToTrace), 0x10,
+ NULL, HFILL }},
+ { &hf_e1ap_InterfacesToTrace_E1,
+ { "E1", "e1ap.InterfacesToTrace.E1",
+ FT_BOOLEAN, 8, TFS(&e1ap_tfs_InterfacesToTrace), 0x08,
+ NULL, HFILL }},
+ { &hf_e1ap_InterfacesToTrace_Reserved,
+ { "Reserved", "e1ap.InterfacesToTrace.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x07,
+ NULL, HFILL }},
+ { &hf_e1ap_MeasurementsToActivate_Reserved1,
+ { "Reserved", "e1ap.MeasurementsToActivate.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0xe0,
+ NULL, HFILL }},
+ { &hf_e1ap_MeasurementsToActivate_M4,
+ { "M4", "e1ap.MeasurementsToActivate.M4",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x10,
+ NULL, HFILL }},
+ { &hf_e1ap_MeasurementsToActivate_Reserved2,
+ { "Reserved", "e1ap.MeasurementsToActivate.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x0c,
+ NULL, HFILL }},
+ { &hf_e1ap_MeasurementsToActivate_M6,
+ { "M6", "e1ap.MeasurementsToActivate.M6",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x02,
+ NULL, HFILL }},
+ { &hf_e1ap_MeasurementsToActivate_M7,
+ { "M7", "e1ap.MeasurementsToActivate.M7",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x01,
+ NULL, HFILL }},
+ { &hf_e1ap_ReportCharacteristics_TNLAvailableCapacityIndPeriodic,
+ { "TNLAvailableCapacityIndPeriodic", "e1ap.ReportCharacteristics.TNLAvailableCapacityIndPeriodic",
+ FT_BOOLEAN, 40, TFS(&tfs_requested_not_requested), 0x8000000000,
+ NULL, HFILL }},
+ { &hf_e1ap_ReportCharacteristics_HWCapacityIndPeriodic,
+ { "HWCapacityIndPeriodic", "e1ap.ReportCharacteristics.HWCapacityIndPeriodic",
+ FT_BOOLEAN, 40, TFS(&tfs_requested_not_requested), 0x4000000000,
+ NULL, HFILL }},
+ { &hf_e1ap_ReportCharacteristics_Reserved,
+ { "Reserved", "e1ap.ReportCharacteristics.Reserved",
+ FT_UINT40, BASE_HEX, NULL, 0x3ffffffff0,
+ NULL, HFILL }},
+ { &hf_e1ap_tcp_pdu_len,
+ { "TCP PDU length", "e1ap.tcp_pdu_len",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+#include "packet-e1ap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_e1ap,
+ &ett_e1ap_PLMN_Identity,
+ &ett_e1ap_TransportLayerAddress,
+ &ett_e1ap_InterfacesToTrace,
+ &ett_e1ap_MeasurementsToActivate,
+ &ett_e1ap_ReportCharacteristics,
+ &ett_e1ap_BurstArrivalTime,
+#include "packet-e1ap-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_e1ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_e1ap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ e1ap_handle = register_dissector("e1ap", dissect_e1ap, proto_e1ap);
+ e1ap_tcp_handle = register_dissector("e1ap_tcp", dissect_e1ap_tcp, proto_e1ap);
+
+ /* Register dissector tables */
+ e1ap_ies_dissector_table = register_dissector_table("e1ap.ies", "E1AP-PROTOCOL-IES", proto_e1ap, FT_UINT32, BASE_DEC);
+ e1ap_extension_dissector_table = register_dissector_table("e1ap.extension", "E1AP-PROTOCOL-EXTENSION", proto_e1ap, FT_UINT32, BASE_DEC);
+ e1ap_proc_imsg_dissector_table = register_dissector_table("e1ap.proc.imsg", "E1AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_e1ap, FT_UINT32, BASE_DEC);
+ e1ap_proc_sout_dissector_table = register_dissector_table("e1ap.proc.sout", "E1AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_e1ap, FT_UINT32, BASE_DEC);
+ e1ap_proc_uout_dissector_table = register_dissector_table("e1ap.proc.uout", "E1AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_e1ap, FT_UINT32, BASE_DEC);
+}
+
+void
+proto_reg_handoff_e1ap(void)
+{
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_E1AP, e1ap_handle);
+ dissector_add_uint_with_preference("tcp.port", 0, e1ap_tcp_handle);
+ dissector_add_uint("sctp.ppi", E1AP_PROTOCOL_ID, e1ap_handle);
+#include "packet-e1ap-dis-tab.c"
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/e1ap/packet-e1ap-template.h b/epan/dissectors/asn1/e1ap/packet-e1ap-template.h
new file mode 100644
index 00000000..40dbbc77
--- /dev/null
+++ b/epan/dissectors/asn1/e1ap/packet-e1ap-template.h
@@ -0,0 +1,37 @@
+/* packet-e1ap.h
+ * Routines for E-UTRAN E1 Application Protocol (E1AP) packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_E1AP_H
+#define PACKET_E1AP_H
+
+typedef struct {
+ guint32 message_type;
+ guint32 ProcedureCode;
+ guint32 ProtocolIE_ID;
+ guint32 ProtocolExtensionID;
+} e1ap_ctx_t;
+
+
+#include "packet-e1ap-exp.h"
+
+#endif /* PACKET_E1AP_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/e2ap/CMakeLists.txt b/epan/dissectors/asn1/e2ap/CMakeLists.txt
new file mode 100644
index 00000000..fb5efef4
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/CMakeLists.txt
@@ -0,0 +1,47 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME e2ap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ E2AP-CommonDataTypes.asn
+ E2AP-Constants.asn
+ E2AP-Containers.asn
+ E2AP-IEs.asn
+ E2AP-PDU-Contents.asn
+ E2AP-PDU-Descriptions.asn
+ e2sm-v3.01.asn
+ e2sm-rc-v1.03.asn
+ e2sm-kpm-v3.00.asn
+ e2sm-ni-v1.00.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/e2ap/E2AP-CommonDataTypes.asn b/epan/dissectors/asn1/e2ap/E2AP-CommonDataTypes.asn
new file mode 100644
index 00000000..7f3e5262
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/E2AP-CommonDataTypes.asn
@@ -0,0 +1,27 @@
+-- ASN1START
+-- **************************************************************
+--
+-- Common definitions
+-- Derived from 3GPP 38.413 (NGAP)
+--
+-- **************************************************************
+
+E2AP-CommonDataTypes {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolIE-ID ::= INTEGER (0..65535)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
+
+END
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/E2AP-Constants.asn b/epan/dissectors/asn1/e2ap/E2AP-Constants.asn
new file mode 100644
index 00000000..a38b7f26
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/E2AP-Constants.asn
@@ -0,0 +1,165 @@
+-- ASN1START
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+E2AP-Constants {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM E2AP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+id-E2setup ProcedureCode ::= 1
+id-ErrorIndication ProcedureCode ::= 2
+id-Reset ProcedureCode ::= 3
+id-RICcontrol ProcedureCode ::= 4
+id-RICindication ProcedureCode ::= 5
+id-RICserviceQuery ProcedureCode ::= 6
+id-RICserviceUpdate ProcedureCode ::= 7
+id-RICsubscription ProcedureCode ::= 8
+id-RICsubscriptionDelete ProcedureCode ::= 9
+id-E2nodeConfigurationUpdate ProcedureCode ::= 10
+id-E2connectionUpdate ProcedureCode ::= 11
+id-RICsubscriptionDeleteRequired ProcedureCode ::= 12
+id-E2removal ProcedureCode ::= 13
+id-RICsubscriptionModification ProcedureCode ::= 14
+id-RICsubscriptionModificationRequired ProcedureCode ::= 15
+id-RICquery ProcedureCode ::= 16
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxProtocolIEs INTEGER ::= 65535
+
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+maxnoofErrors INTEGER ::= 256
+maxofE2nodeComponents INTEGER ::= 1024
+maxofRANfunctionID INTEGER ::= 256
+maxofRICactionID INTEGER ::= 16
+maxofTNLA INTEGER ::= 32
+maxofRICrequestID INTEGER ::= 1024
+
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+id-Cause ProtocolIE-ID ::= 1
+id-CriticalityDiagnostics ProtocolIE-ID ::= 2
+id-GlobalE2node-ID ProtocolIE-ID ::= 3
+id-GlobalRIC-ID ProtocolIE-ID ::= 4
+id-RANfunctionID ProtocolIE-ID ::= 5
+id-RANfunctionID-Item ProtocolIE-ID ::= 6
+id-RANfunctionIEcause-Item ProtocolIE-ID ::= 7
+id-RANfunction-Item ProtocolIE-ID ::= 8
+id-RANfunctionsAccepted ProtocolIE-ID ::= 9
+id-RANfunctionsAdded ProtocolIE-ID ::= 10
+id-RANfunctionsDeleted ProtocolIE-ID ::= 11
+id-RANfunctionsModified ProtocolIE-ID ::= 12
+id-RANfunctionsRejected ProtocolIE-ID ::= 13
+id-RICaction-Admitted-Item ProtocolIE-ID ::= 14
+id-RICactionID ProtocolIE-ID ::= 15
+id-RICaction-NotAdmitted-Item ProtocolIE-ID ::= 16
+id-RICactions-Admitted ProtocolIE-ID ::= 17
+id-RICactions-NotAdmitted ProtocolIE-ID ::= 18
+id-RICaction-ToBeSetup-Item ProtocolIE-ID ::= 19
+id-RICcallProcessID ProtocolIE-ID ::= 20
+id-RICcontrolAckRequest ProtocolIE-ID ::= 21
+id-RICcontrolHeader ProtocolIE-ID ::= 22
+id-RICcontrolMessage ProtocolIE-ID ::= 23
+id-RICcontrolStatus ProtocolIE-ID ::= 24
+id-RICindicationHeader ProtocolIE-ID ::= 25
+id-RICindicationMessage ProtocolIE-ID ::= 26
+id-RICindicationSN ProtocolIE-ID ::= 27
+id-RICindicationType ProtocolIE-ID ::= 28
+id-RICrequestID ProtocolIE-ID ::= 29
+id-RICsubscriptionDetails ProtocolIE-ID ::= 30
+id-TimeToWait ProtocolIE-ID ::= 31
+id-RICcontrolOutcome ProtocolIE-ID ::= 32
+id-E2nodeComponentConfigUpdate ProtocolIE-ID ::= 33
+id-E2nodeComponentConfigUpdate-Item ProtocolIE-ID ::= 34
+id-E2nodeComponentConfigUpdateAck ProtocolIE-ID ::= 35
+id-E2nodeComponentConfigUpdateAck-Item ProtocolIE-ID ::= 36
+id-E2connectionSetup ProtocolIE-ID ::= 39
+id-E2connectionSetupFailed ProtocolIE-ID ::= 40
+id-E2connectionSetupFailed-Item ProtocolIE-ID ::= 41
+id-E2connectionFailed-Item ProtocolIE-ID ::= 42
+id-E2connectionUpdate-Item ProtocolIE-ID ::= 43
+id-E2connectionUpdateAdd ProtocolIE-ID ::= 44
+id-E2connectionUpdateModify ProtocolIE-ID ::= 45
+id-E2connectionUpdateRemove ProtocolIE-ID ::= 46
+id-E2connectionUpdateRemove-Item ProtocolIE-ID ::= 47
+id-TNLinformation ProtocolIE-ID ::= 48
+id-TransactionID ProtocolIE-ID ::= 49
+id-E2nodeComponentConfigAddition ProtocolIE-ID ::= 50
+id-E2nodeComponentConfigAddition-Item ProtocolIE-ID ::= 51
+id-E2nodeComponentConfigAdditionAck ProtocolIE-ID ::= 52
+id-E2nodeComponentConfigAdditionAck-Item ProtocolIE-ID ::= 53
+id-E2nodeComponentConfigRemoval ProtocolIE-ID ::= 54
+id-E2nodeComponentConfigRemoval-Item ProtocolIE-ID ::= 55
+id-E2nodeComponentConfigRemovalAck ProtocolIE-ID ::= 56
+id-E2nodeComponentConfigRemovalAck-Item ProtocolIE-ID ::= 57
+id-E2nodeTNLassociationRemoval ProtocolIE-ID ::= 58
+id-E2nodeTNLassociationRemoval-Item ProtocolIE-ID ::= 59
+id-RICsubscriptionToBeRemoved ProtocolIE-ID ::= 60
+id-RICsubscription-withCause-Item ProtocolIE-ID ::= 61
+id-RICsubscriptionStartTime ProtocolIE-ID ::= 62
+id-RICsubscriptionEndTime ProtocolIE-ID ::= 63
+id-RICeventTriggerDefinitionToBeModified ProtocolIE-ID ::= 64
+id-RICactionsToBeRemovedForModification-List ProtocolIE-ID ::= 65
+id-RICaction-ToBeRemovedForModification-Item ProtocolIE-ID ::= 66
+id-RICactionsToBeModifiedForModification-List ProtocolIE-ID ::= 67
+id-RICaction-ToBeModifiedForModification-Item ProtocolIE-ID ::= 68
+id-RICactionsToBeAddedForModification-List ProtocolIE-ID ::= 69
+id-RICaction-ToBeAddedForModification-Item ProtocolIE-ID ::= 70
+id-RICactionsRemovedForModification-List ProtocolIE-ID ::= 71
+id-RICaction-RemovedForModification-Item ProtocolIE-ID ::= 72
+id-RICactionsFailedToBeRemovedForModification-List ProtocolIE-ID ::= 73
+id-RICaction-FailedToBeRemovedForModification-Item ProtocolIE-ID ::= 74
+id-RICactionsModifiedForModification-List ProtocolIE-ID ::= 75
+id-RICaction-ModifiedForModification-Item ProtocolIE-ID ::= 76
+id-RICactionsFailedToBeModifiedForModification-List ProtocolIE-ID ::= 77
+id-RICaction-FailedToBeModifiedForModification-Item ProtocolIE-ID ::= 78
+id-RICactionsAddedForModification-List ProtocolIE-ID ::= 79
+id-RICaction-AddedForModification-Item ProtocolIE-ID ::= 80
+id-RICactionsFailedToBeAddedForModification-List ProtocolIE-ID ::= 81
+id-RICaction-FailedToBeAddedForModification-Item ProtocolIE-ID ::= 82
+id-RICactionsRequiredToBeModified-List ProtocolIE-ID ::= 83
+id-RICaction-RequiredToBeModified-Item ProtocolIE-ID ::= 84
+id-RICactionsRequiredToBeRemoved-List ProtocolIE-ID ::= 85
+id-RICaction-RequiredToBeRemoved-Item ProtocolIE-ID ::= 86
+id-RICactionsConfirmedForModification-List ProtocolIE-ID ::= 87
+id-RICaction-ConfirmedForModification-Item ProtocolIE-ID ::= 88
+id-RICactionsRefusedToBeModified-List ProtocolIE-ID ::= 89
+id-RICaction-RefusedToBeModified-Item ProtocolIE-ID ::= 90
+id-RICactionsConfirmedForRemoval-List ProtocolIE-ID ::= 91
+id-RICaction-ConfirmedForRemoval-Item ProtocolIE-ID ::= 92
+id-RICactionsRefusedToBeRemoved-List ProtocolIE-ID ::= 93
+id-RICaction-RefusedToBeRemoved-Item ProtocolIE-ID ::= 94
+id-RICqueryHeader ProtocolIE-ID ::= 95
+id-RICqueryDefinition ProtocolIE-ID ::= 96
+id-RICqueryOutcome ProtocolIE-ID ::= 97
+END
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/E2AP-Containers.asn b/epan/dissectors/asn1/e2ap/E2AP-Containers.asn
new file mode 100644
index 00000000..11bf4dac
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/E2AP-Containers.asn
@@ -0,0 +1,130 @@
+-- ASN1START
+-- **************************************************************
+--
+-- Container definitions
+--
+-- derived from 3GPP 38.413 (NGAP)
+-- **************************************************************
+
+E2AP-Containers {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ Criticality,
+ Presence,
+ ProtocolIE-ID
+FROM E2AP-CommonDataTypes
+
+ maxProtocolIEs
+FROM E2AP-Constants;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+E2AP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+E2AP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+
+
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {E2AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-SingleContainer {E2AP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {E2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id E2AP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality E2AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value E2AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {E2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {E2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id E2AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality E2AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue E2AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality E2AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue E2AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, E2AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-SingleContainer {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, E2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+
+END
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/E2AP-IEs.asn b/epan/dissectors/asn1/e2ap/E2AP-IEs.asn
new file mode 100644
index 00000000..52e856d7
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/E2AP-IEs.asn
@@ -0,0 +1,530 @@
+-- ASN1START
+-- **************************************************************
+-- E2AP
+-- Information Element Definitions
+--
+-- **************************************************************
+
+E2AP-IEs {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-IEs (2)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ Criticality,
+ Presence,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM E2AP-CommonDataTypes
+
+ maxnoofErrors,
+ maxProtocolIEs
+FROM E2AP-Constants;
+
+-- A
+
+-- **************************************************************
+-- [New for E2AP v02.00] copied from 3GPP 38.413 (NGAP) IEs
+-- **************************************************************
+AMFName ::= PrintableString (SIZE(1..150, ...))
+
+-- B
+-- C
+Cause ::= CHOICE {
+ ricRequest CauseRICrequest,
+ ricService CauseRICservice,
+ e2Node CauseE2node,
+ transport CauseTransport,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+
+CauseE2node ::= ENUMERATED {
+ e2node-component-unknown,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ hardware-failure,
+ om-intervention,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ abstract-syntax-error-falsely-constructed-message,
+ unspecified,
+ ...
+}
+
+CauseRICrequest ::= ENUMERATED {
+ ran-function-id-invalid,
+ action-not-supported,
+ excessive-actions,
+ duplicate-action,
+ duplicate-event-trigger,
+ function-resource-limit,
+ request-id-unknown,
+ inconsistent-action-subsequent-action-sequence,
+ control-message-invalid,
+ ric-call-process-id-invalid,
+ control-timer-expired,
+ control-failed-to-execute,
+ system-not-ready,
+ unspecified,
+ ... ,
+ ric-subscription-end-time-expired,
+ ric-subscription-end-time-invalid,
+ duplicate-ric-request-id,
+ eventTriggerNotSupported,
+ requested-information-unavailable,
+ invalid-information-request
+}
+
+CauseRICservice ::= ENUMERATED{
+ ran-function-not-supported,
+ excessive-functions,
+ ric-resource-limit,
+ ...
+}
+CauseTransport ::= ENUMERATED {
+ unspecified,
+ transport-resource-unavailable,
+ ...
+}
+
+-- **************************************************************
+-- copied from 3GPP 38.413 (NGAP) IEs
+-- note: ie-Extensions removed
+-- **************************************************************
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ ricRequestorID RICrequestID OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE(1..maxnoofErrors)) OF CriticalityDiagnostics-IE-Item
+
+CriticalityDiagnostics-IE-Item ::= SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ ...
+}
+
+-- D
+-- E
+
+-- Following IE used to carry 3GPP defined SETUP and RAN Configuration messages defined in F1AP, E1AP, XnAP, etc.
+E2nodeComponentConfiguration ::= SEQUENCE{
+ e2nodeComponentRequestPart OCTET STRING,
+ e2nodeComponentResponsePart OCTET STRING,
+ ...
+}
+
+E2nodeComponentConfigurationAck ::= SEQUENCE{
+ updateOutcome ENUMERATED {success, failure, ...},
+ failureCause Cause OPTIONAL,
+ ...
+}
+
+E2nodeComponentInterfaceType ::= ENUMERATED {ng, xn, e1, f1, w1, s1, x2,...}
+
+E2nodeComponentID ::= CHOICE{
+ e2nodeComponentInterfaceTypeNG E2nodeComponentInterfaceNG,
+ e2nodeComponentInterfaceTypeXn E2nodeComponentInterfaceXn,
+ e2nodeComponentInterfaceTypeE1 E2nodeComponentInterfaceE1,
+ e2nodeComponentInterfaceTypeF1 E2nodeComponentInterfaceF1,
+ e2nodeComponentInterfaceTypeW1 E2nodeComponentInterfaceW1,
+ e2nodeComponentInterfaceTypeS1 E2nodeComponentInterfaceS1,
+ e2nodeComponentInterfaceTypeX2 E2nodeComponentInterfaceX2,
+ ...
+}
+
+E2nodeComponentInterfaceE1 ::= SEQUENCE{
+ gNB-CU-UP-ID GNB-CU-UP-ID,
+ ...
+}
+
+E2nodeComponentInterfaceF1 ::= SEQUENCE{
+ gNB-DU-ID GNB-DU-ID,
+ ...
+}
+
+E2nodeComponentInterfaceNG ::= SEQUENCE{
+ amf-name AMFName,
+ ...
+}
+
+E2nodeComponentInterfaceS1 ::= SEQUENCE{
+ mme-name MMEname,
+ ...
+}
+
+E2nodeComponentInterfaceX2 ::= SEQUENCE{
+ global-eNB-ID GlobalENB-ID OPTIONAL,
+ global-en-gNB-ID GlobalenGNB-ID OPTIONAL,
+ ...
+}
+
+E2nodeComponentInterfaceXn ::= SEQUENCE{
+ global-NG-RAN-Node-ID GlobalNG-RANNode-ID,
+ ...
+}
+
+E2nodeComponentInterfaceW1 ::= SEQUENCE{
+ ng-eNB-DU-ID NGENB-DU-ID,
+ ...
+}
+
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- note: ie-Extensions removed
+-- **************************************************************
+ENB-ID ::= CHOICE {
+ macro-eNB-ID BIT STRING (SIZE (20)),
+ home-eNB-ID BIT STRING (SIZE (28)),
+ ... ,
+ short-Macro-eNB-ID BIT STRING (SIZE(18)),
+ long-Macro-eNB-ID BIT STRING (SIZE(21))
+}
+-- **************************************************************
+-- copied from 3GPP 38.423 (XnAP) IEs
+-- note: choice-extension removed
+-- **************************************************************
+ENB-ID-Choice ::= CHOICE {
+ enb-ID-macro BIT STRING (SIZE(20)),
+ enb-ID-shortmacro BIT STRING (SIZE(18)),
+ enb-ID-longmacro BIT STRING (SIZE(21)),
+ ...
+}
+
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- note: ie-Extensions removed
+-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
+-- **************************************************************
+ENGNB-ID ::= CHOICE {
+ gNB-ID BIT STRING (SIZE (22..32)),
+ ...
+}
+
+-- F
+-- G
+GlobalE2node-ID ::= CHOICE{
+ gNB GlobalE2node-gNB-ID,
+ en-gNB GlobalE2node-en-gNB-ID,
+ ng-eNB GlobalE2node-ng-eNB-ID,
+ eNB GlobalE2node-eNB-ID,
+ ...
+}
+
+GlobalE2node-en-gNB-ID ::= SEQUENCE{
+ global-en-gNB-ID GlobalenGNB-ID,
+ en-gNB-CU-UP-ID GNB-CU-UP-ID OPTIONAL,
+ en-gNB-DU-ID GNB-DU-ID OPTIONAL,
+ ...
+}
+GlobalE2node-eNB-ID ::= SEQUENCE{
+ global-eNB-ID GlobalENB-ID,
+ ...
+}
+GlobalE2node-gNB-ID ::= SEQUENCE{
+ global-gNB-ID GlobalgNB-ID,
+ global-en-gNB-ID GlobalenGNB-ID OPTIONAL,
+ gNB-CU-UP-ID GNB-CU-UP-ID OPTIONAL,
+ gNB-DU-ID GNB-DU-ID OPTIONAL,
+ ...
+}
+GlobalE2node-ng-eNB-ID ::= SEQUENCE{
+ global-ng-eNB-ID GlobalngeNB-ID,
+ global-eNB-ID GlobalENB-ID OPTIONAL,
+ ngENB-DU-ID NGENB-DU-ID OPTIONAL,
+ ...
+}
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- note: ie-Extensions removed
+-- **************************************************************
+
+GlobalENB-ID ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ eNB-ID ENB-ID,
+ ...
+}
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
+-- **************************************************************
+GlobalenGNB-ID ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ gNB-ID ENGNB-ID,
+ ...
+}
+-- **************************************************************
+-- copied from 3GPP 38.423 (XnAP) IEs
+-- note: choice-extension removed
+-- **************************************************************
+GlobalgNB-ID ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ gnb-id GNB-ID-Choice,
+ ...
+}
+
+
+-- **************************************************************
+-- copied from 3GPP 38.423 (XnAP) IEs
+-- note: choice-extension removed
+-- **************************************************************
+GlobalngeNB-ID ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ enb-id ENB-ID-Choice,
+ ...
+}
+
+-- **************************************************************
+-- [NEW for E2AP v02.00] copied from 3GPP 38.423 (XnAP) IEs
+-- Note: extension field removed
+-- **************************************************************
+
+GlobalNG-RANNode-ID ::= CHOICE {
+ gNB GlobalgNB-ID,
+ ng-eNB GlobalngeNB-ID,
+ ...
+}
+
+GlobalRIC-ID ::= SEQUENCE{
+ pLMN-Identity PLMN-Identity,
+ ric-ID BIT STRING (SIZE (20)),
+ ...
+}
+
+-- **************************************************************
+-- copied from 3GPP 37.483 (E1AP) IEs
+-- **************************************************************
+GNB-CU-UP-ID::= INTEGER (0..68719476735)
+
+-- **************************************************************
+-- copied from 3GPP 38.473 (F1AP) IEs
+-- **************************************************************
+GNB-DU-ID::= INTEGER (0..68719476735)
+
+-- **************************************************************
+-- copied from 3GPP 38.423 (XnAP) IEs
+-- note: choice-extension removed
+-- **************************************************************
+GNB-ID-Choice ::= CHOICE {
+ gnb-ID BIT STRING (SIZE(22..32)),
+ ...
+}
+-- H
+-- I
+-- J
+-- K
+-- L
+-- M
+
+-- **************************************************************
+-- [New for E2AP v02.00] copied from 3GPP 36.413 (S1AP) IEs
+-- **************************************************************
+MMEname ::= PrintableString (SIZE (1..150,...))
+
+-- N
+
+-- **************************************************************
+-- copied from 3GPP 37.473 (W1AP) IEs
+-- **************************************************************
+NGENB-DU-ID ::= INTEGER (0..68719476735)
+
+
+-- O
+-- P
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- **************************************************************
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+-- Q
+-- R
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RANfunctionDefinition ::= OCTET STRING
+
+RANfunctionID ::= INTEGER (0..4095)
+
+RANfunctionOID ::= PrintableString(SIZE(1..1000,...))
+
+RANfunctionRevision ::= INTEGER (0..4095)
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICactionDefinition ::= OCTET STRING
+
+-- new in E2AP-v03.00
+RICactionExecutionOrder ::= INTEGER (0..255, ...)
+
+RICactionID ::= INTEGER (0..255)
+
+RICactionType ::= ENUMERATED{
+ report,
+ insert,
+ policy,
+ ...
+}
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICcallProcessID ::= OCTET STRING
+
+RICcontrolAckRequest ::= ENUMERATED{
+ noAck,
+ ack,
+ ...
+}
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICcontrolHeader ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICcontrolMessage ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICcontrolOutcome ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICeventTriggerDefinition ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICindicationHeader ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICindicationMessage ::= OCTET STRING
+
+RICindicationSN ::= INTEGER (0..65535)
+
+RICindicationType ::= ENUMERATED{
+ report,
+ insert,
+ ...
+}
+
+RICrequestID ::= SEQUENCE {
+ ricRequestorID INTEGER (0..65535),
+ ricInstanceID INTEGER (0..65535),
+ ...
+}
+
+RICsubscriptionTime ::= OCTET STRING (SIZE(8))
+
+RICsubsequentAction ::=SEQUENCE{
+ ricSubsequentActionType RICsubsequentActionType,
+ ricTimeToWait RICtimeToWait,
+ ...
+}
+
+RICsubsequentActionType ::= ENUMERATED{
+ continue,
+ wait,
+ ...
+}
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICqueryHeader ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICqueryDefinition ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICqueryOutcome ::= OCTET STRING
+
+
+RICtimeToWait ::= ENUMERATED{
+ w1ms,
+ w2ms,
+ w5ms,
+ w10ms,
+ w20ms,
+ w30ms,
+ w40ms,
+ w50ms,
+ w100ms,
+ w200ms,
+ w500ms,
+ w1s,
+ w2s,
+ w5s,
+ w10s,
+ w20s,
+ w60s,
+ ...
+}
+-- S
+-- T
+-- **************************************************************
+-- copied from 3GPP 38.413 (NGAP) IEs
+-- **************************************************************
+TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
+
+
+TNLinformation ::= SEQUENCE{
+ tnlAddress BIT STRING (SIZE(1..160,...)),
+ tnlPort BIT STRING (SIZE(16)) OPTIONAL,
+ ...
+}
+
+TNLusage ::= ENUMERATED{ric-service, support-function, both, ...}
+
+TransactionID ::= INTEGER (0..255,...)
+
+-- **************************************************************
+-- copied from 3GPP 38.413 (NGAP) IEs
+-- **************************************************************
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+-- U
+-- V
+-- W
+-- X
+-- Y
+-- Z
+
+END
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/E2AP-PDU-Contents.asn b/epan/dissectors/asn1/e2ap/E2AP-PDU-Contents.asn
new file mode 100644
index 00000000..bd3b3f8e
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/E2AP-PDU-Contents.asn
@@ -0,0 +1,1412 @@
+-- ASN1START
+-- **************************************************************
+--
+-- PDU definitions for E2AP
+-- Derived from 3GPP 38.413 (NGAP)
+--
+-- **************************************************************
+
+E2AP-PDU-Contents {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Cause,
+ CriticalityDiagnostics,
+ E2nodeComponentConfiguration,
+ E2nodeComponentConfigurationAck,
+ E2nodeComponentID,
+ E2nodeComponentInterfaceType,
+ GlobalE2node-ID,
+ GlobalRIC-ID,
+ RANfunctionDefinition,
+ RANfunctionID,
+ RANfunctionOID,
+ RANfunctionRevision,
+ RICactionDefinition,
+ RICactionExecutionOrder,
+ RICactionID,
+ RICactionType,
+ RICcallProcessID,
+ RICcontrolAckRequest,
+ RICcontrolHeader,
+ RICcontrolMessage,
+ RICcontrolOutcome,
+ RICeventTriggerDefinition,
+ RICindicationHeader,
+ RICindicationMessage,
+ RICindicationSN,
+ RICindicationType,
+ RICrequestID,
+ RICsubsequentAction,
+ RICsubscriptionTime,
+ RICqueryHeader,
+ RICqueryDefinition,
+ RICqueryOutcome,
+ TimeToWait,
+ TNLinformation,
+ TNLusage,
+ TransactionID
+FROM E2AP-IEs
+
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-SingleContainer{},
+ E2AP-PROTOCOL-IES,
+ E2AP-PROTOCOL-IES-PAIR
+FROM E2AP-Containers
+
+ id-Cause,
+ id-CriticalityDiagnostics,
+ id-E2connectionSetup,
+ id-E2connectionSetupFailed,
+ id-E2connectionSetupFailed-Item,
+ id-E2connectionFailed-Item,
+ id-E2connectionUpdate-Item,
+ id-E2connectionUpdateAdd,
+ id-E2connectionUpdateModify,
+ id-E2connectionUpdateRemove,
+ id-E2connectionUpdateRemove-Item,
+ id-E2nodeComponentConfigAddition,
+ id-E2nodeComponentConfigAddition-Item,
+ id-E2nodeComponentConfigAdditionAck,
+ id-E2nodeComponentConfigAdditionAck-Item,
+ id-E2nodeComponentConfigRemoval,
+ id-E2nodeComponentConfigRemoval-Item,
+ id-E2nodeComponentConfigRemovalAck,
+ id-E2nodeComponentConfigRemovalAck-Item,
+ id-E2nodeComponentConfigUpdate,
+ id-E2nodeComponentConfigUpdate-Item,
+ id-E2nodeComponentConfigUpdateAck,
+ id-E2nodeComponentConfigUpdateAck-Item,
+ id-E2nodeTNLassociationRemoval,
+ id-E2nodeTNLassociationRemoval-Item,
+ id-GlobalE2node-ID,
+ id-GlobalRIC-ID,
+ id-RANfunctionID,
+ id-RANfunctionID-Item,
+ id-RANfunctionIEcause-Item,
+ id-RANfunction-Item,
+ id-RANfunctionsAccepted,
+ id-RANfunctionsAdded,
+ id-RANfunctionsDeleted,
+ id-RANfunctionsModified,
+ id-RANfunctionsRejected,
+ id-RICaction-Admitted-Item,
+ id-RICactionID,
+ id-RICaction-NotAdmitted-Item,
+ id-RICactions-Admitted,
+ id-RICactions-NotAdmitted,
+ id-RICaction-ToBeSetup-Item,
+ id-RICactionsToBeRemovedForModification-List,
+ id-RICaction-ToBeRemovedForModification-Item,
+ id-RICactionsToBeModifiedForModification-List,
+ id-RICaction-ToBeModifiedForModification-Item,
+ id-RICactionsToBeAddedForModification-List,
+ id-RICaction-ToBeAddedForModification-Item,
+ id-RICactionsRemovedForModification-List,
+ id-RICaction-RemovedForModification-Item,
+ id-RICactionsFailedToBeRemovedForModification-List,
+ id-RICaction-FailedToBeRemovedForModification-Item,
+ id-RICactionsModifiedForModification-List,
+ id-RICaction-ModifiedForModification-Item,
+ id-RICactionsFailedToBeModifiedForModification-List,
+ id-RICaction-FailedToBeModifiedForModification-Item,
+ id-RICactionsAddedForModification-List,
+ id-RICaction-AddedForModification-Item,
+ id-RICactionsFailedToBeAddedForModification-List,
+ id-RICaction-FailedToBeAddedForModification-Item,
+ id-RICactionsRequiredToBeModified-List,
+ id-RICaction-RequiredToBeModified-Item,
+ id-RICactionsRequiredToBeRemoved-List,
+ id-RICaction-RequiredToBeRemoved-Item,
+ id-RICactionsConfirmedForModification-List,
+ id-RICaction-ConfirmedForModification-Item,
+ id-RICactionsRefusedToBeModified-List,
+ id-RICaction-RefusedToBeModified-Item,
+ id-RICactionsConfirmedForRemoval-List,
+ id-RICaction-ConfirmedForRemoval-Item,
+ id-RICactionsRefusedToBeRemoved-List,
+ id-RICaction-RefusedToBeRemoved-Item,
+ id-RICcallProcessID,
+ id-RICcontrolAckRequest,
+ id-RICcontrolHeader,
+ id-RICcontrolMessage,
+ id-RICcontrolOutcome,
+ id-RICeventTriggerDefinitionToBeModified,
+ id-RICindicationHeader,
+ id-RICindicationMessage,
+ id-RICindicationSN,
+ id-RICindicationType,
+ id-RICrequestID,
+ id-RICserviceQuery,
+ id-RICsubscriptionDetails,
+ id-RICsubscriptionToBeRemoved,
+ id-RICsubscription-withCause-Item,
+ id-RICsubscriptionStartTime,
+ id-RICsubscriptionEndTime,
+ id-RICqueryHeader,
+ id-RICqueryDefinition,
+ id-RICqueryOutcome,
+ id-TimeToWait,
+ id-TNLinformation,
+ id-TransactionID,
+
+ maxofE2nodeComponents,
+ maxofRANfunctionID,
+ maxofRICactionID,
+ maxofRICrequestID,
+ maxofTNLA
+FROM E2AP-Constants;
+
+
+-- **************************************************************
+--
+-- MESSAGES FOR RIC FUNCTIONAL PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RIC Subscription Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION REQUEST
+--
+-- **************************************************************
+RICsubscriptionRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionRequest-IEs}},
+ ...
+}
+
+RICsubscriptionRequest-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory}|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory}|
+ { ID id-RICsubscriptionDetails CRITICALITY reject TYPE RICsubscriptionDetails PRESENCE mandatory},
+ ...,
+ { ID id-RICsubscriptionStartTime CRITICALITY reject TYPE RICsubscriptionTime PRESENCE optional}|
+ { ID id-RICsubscriptionEndTime CRITICALITY reject TYPE RICsubscriptionTime PRESENCE optional}
+}
+
+
+RICsubscriptionDetails ::= SEQUENCE {
+ ricEventTriggerDefinition RICeventTriggerDefinition,
+ ricAction-ToBeSetup-List RICactions-ToBeSetup-List,
+ ...
+}
+
+RICactions-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxofRICactionID)) OF ProtocolIE-SingleContainer { {RICaction-ToBeSetup-ItemIEs} }
+
+RICaction-ToBeSetup-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-ToBeSetup-Item CRITICALITY ignore TYPE RICaction-ToBeSetup-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-ToBeSetup-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ricActionType RICactionType,
+ ricActionDefinition RICactionDefinition OPTIONAL,
+ ricSubsequentAction RICsubsequentAction OPTIONAL,
+ ...,
+ ricActionExecutionOrder RICactionExecutionOrder OPTIONAL -- New in E2APv03.00
+
+}
+
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION RESPONSE
+--
+-- **************************************************************
+RICsubscriptionResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container{{RICsubscriptionResponse-IEs}},
+ ...
+}
+
+RICsubscriptionResponse-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory } |
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory } |
+ { ID id-RICactions-Admitted CRITICALITY reject TYPE RICaction-Admitted-List PRESENCE mandatory } |
+ { ID id-RICactions-NotAdmitted CRITICALITY reject TYPE RICaction-NotAdmitted-List PRESENCE optional },
+ ...
+}
+
+
+
+RICaction-Admitted-List ::= SEQUENCE (SIZE(1..maxofRICactionID)) OF ProtocolIE-SingleContainer{{RICaction-Admitted-ItemIEs}}
+
+RICaction-Admitted-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-Admitted-Item CRITICALITY ignore TYPE RICaction-Admitted-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-Admitted-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ...
+}
+
+RICaction-NotAdmitted-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer { {RICaction-NotAdmitted-ItemIEs} }
+
+RICaction-NotAdmitted-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-NotAdmitted-Item CRITICALITY ignore TYPE RICaction-NotAdmitted-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-NotAdmitted-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ cause Cause,
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION FAILURE
+--
+-- **************************************************************
+RICsubscriptionFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionFailure-IEs}},
+ ...
+}
+
+RICsubscriptionFailure-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC Subscription Delete Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION DELETE REQUEST
+--
+-- **************************************************************
+RICsubscriptionDeleteRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionDeleteRequest-IEs}},
+ ...
+}
+
+RICsubscriptionDeleteRequest-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION DELETE RESPONSE
+--
+-- **************************************************************
+RICsubscriptionDeleteResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionDeleteResponse-IEs}},
+ ...
+}
+
+RICsubscriptionDeleteResponse-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory },
+ ...
+}
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION DELETE FAILURE
+--
+-- **************************************************************
+RICsubscriptionDeleteFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionDeleteFailure-IEs}},
+ ...
+}
+
+RICsubscriptionDeleteFailure-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC Subscription Delete Required Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION DELETE REQUIRED
+--
+-- **************************************************************
+
+RICsubscriptionDeleteRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionDeleteRequired-IEs}},
+ ...
+}
+
+RICsubscriptionDeleteRequired-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICsubscriptionToBeRemoved CRITICALITY ignore TYPE RICsubscription-List-withCause PRESENCE mandatory },
+ ...
+}
+
+RICsubscription-List-withCause ::= SEQUENCE (SIZE(1..maxofRICrequestID)) OF ProtocolIE-SingleContainer { {RICsubscription-withCause-ItemIEs} }
+
+RICsubscription-withCause-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICsubscription-withCause-Item CRITICALITY ignore TYPE RICsubscription-withCause-Item PRESENCE mandatory },
+ ...
+}
+
+RICsubscription-withCause-Item ::= SEQUENCE {
+ ricRequestID RICrequestID,
+ ranFunctionID RANfunctionID,
+ cause Cause,
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC Subscription Modification Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION MODIFICATION REQUEST
+--
+-- **************************************************************
+RICsubscriptionModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionModificationRequest-IEs}},
+ ...
+}
+
+RICsubscriptionModificationRequest-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory}|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory}|
+ { ID id-RICeventTriggerDefinitionToBeModified CRITICALITY ignore TYPE RICeventTriggerDefinition PRESENCE optional}|
+ { ID id-RICactionsToBeRemovedForModification-List CRITICALITY ignore TYPE RICactions-ToBeRemovedForModification-List PRESENCE optional}|
+ { ID id-RICactionsToBeModifiedForModification-List CRITICALITY ignore TYPE RICactions-ToBeModifiedForModification-List PRESENCE optional}|
+ { ID id-RICactionsToBeAddedForModification-List CRITICALITY ignore TYPE RICactions-ToBeAddedForModification-List PRESENCE optional},
+ ...
+}
+
+RICactions-ToBeRemovedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-ToBeRemovedForModification-ItemIEs} }
+
+RICaction-ToBeRemovedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-ToBeRemovedForModification-Item CRITICALITY ignore TYPE RICaction-ToBeRemovedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-ToBeRemovedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ...
+}
+
+RICactions-ToBeModifiedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-ToBeModifiedForModification-ItemIEs} }
+
+RICaction-ToBeModifiedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-ToBeModifiedForModification-Item CRITICALITY ignore TYPE RICaction-ToBeModifiedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-ToBeModifiedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ricActionDefinition RICactionDefinition OPTIONAL,
+ ricActionExecutionOrder RICactionExecutionOrder OPTIONAL,
+ ricSubsequentAction RICsubsequentAction OPTIONAL,
+ ...
+}
+
+
+RICactions-ToBeAddedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-ToBeAddedForModification-ItemIEs} }
+
+RICaction-ToBeAddedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-ToBeAddedForModification-Item CRITICALITY ignore TYPE RICaction-ToBeAddedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-ToBeAddedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ricActionType RICactionType,
+ ricActionDefinition RICactionDefinition,
+ ricActionExecutionOrder RICactionExecutionOrder,
+ ricSubsequentAction RICsubsequentAction OPTIONAL,
+ ...
+}
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION MODIFICATION RESPONSE
+--
+-- **************************************************************
+RICsubscriptionModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionModificationResponse-IEs}},
+ ...
+}
+
+RICsubscriptionModificationResponse-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory}|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory}|
+ { ID id-RICactionsRemovedForModification-List CRITICALITY ignore TYPE RICactions-RemovedForModification-List PRESENCE optional}|
+ { ID id-RICactionsFailedToBeRemovedForModification-List CRITICALITY ignore TYPE RICactions-FailedToBeRemovedForModification-List PRESENCE optional}|
+ { ID id-RICactionsModifiedForModification-List CRITICALITY ignore TYPE RICactions-ModifiedForModification-List PRESENCE optional}|
+ { ID id-RICactionsFailedToBeModifiedForModification-List CRITICALITY ignore TYPE RICactions-FailedToBeModifiedForModification-List PRESENCE optional}|
+ { ID id-RICactionsAddedForModification-List CRITICALITY ignore TYPE RICactions-AddedForModification-List PRESENCE optional}|
+ { ID id-RICactionsFailedToBeAddedForModification-List CRITICALITY ignore TYPE RICactions-FailedToBeAddedForModification-List PRESENCE optional},
+ ...
+}
+
+RICactions-RemovedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-RemovedForModification-ItemIEs} }
+
+RICaction-RemovedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-RemovedForModification-Item CRITICALITY ignore TYPE RICaction-RemovedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-RemovedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ...
+}
+RICactions-FailedToBeRemovedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-FailedToBeRemovedForModification-ItemIEs} }
+
+RICaction-FailedToBeRemovedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-FailedToBeRemovedForModification-Item CRITICALITY ignore TYPE RICaction-FailedToBeRemovedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-FailedToBeRemovedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ cause Cause,
+ ...
+}
+
+RICactions-ModifiedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-ModifiedForModification-ItemIEs} }
+
+RICaction-ModifiedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-ModifiedForModification-Item CRITICALITY ignore TYPE RICaction-ModifiedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-ModifiedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ...
+}
+
+RICactions-FailedToBeModifiedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-FailedToBeModifiedForModification-ItemIEs} }
+
+RICaction-FailedToBeModifiedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-FailedToBeModifiedForModification-Item CRITICALITY ignore TYPE RICaction-FailedToBeModifiedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-FailedToBeModifiedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ cause Cause,
+ ...
+}
+
+RICactions-AddedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-AddedForModification-ItemIEs} }
+
+RICaction-AddedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-AddedForModification-Item CRITICALITY ignore TYPE RICaction-AddedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-AddedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ...
+}
+
+RICactions-FailedToBeAddedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-FailedToBeAddedForModification-ItemIEs} }
+
+RICaction-FailedToBeAddedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-FailedToBeAddedForModification-Item CRITICALITY ignore TYPE RICaction-FailedToBeAddedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-FailedToBeAddedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ cause Cause,
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION MODIFICATION FAILURE
+--
+-- **************************************************************
+RICsubscriptionModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionModificationFailure-IEs}},
+ ...
+}
+
+RICsubscriptionModificationFailure-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory}|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC Subscription Modification Required Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION MODIFICATION REQUIRED
+--
+-- **************************************************************
+RICsubscriptionModificationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionModificationRequired-IEs}},
+ ...
+}
+
+RICsubscriptionModificationRequired-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory}|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory}|
+ { ID id-RICactionsRequiredToBeModified-List CRITICALITY ignore TYPE RICactions-RequiredToBeModified-List PRESENCE optional}|
+ { ID id-RICactionsRequiredToBeRemoved-List CRITICALITY ignore TYPE RICactions-RequiredToBeRemoved-List PRESENCE optional},
+ ...
+}
+
+RICactions-RequiredToBeModified-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-RequiredToBeModified-ItemIEs} }
+
+RICaction-RequiredToBeModified-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-RequiredToBeModified-Item CRITICALITY ignore TYPE RICaction-RequiredToBeModified-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-RequiredToBeModified-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ricTimeToWait RICtimeToWait,
+ ...
+}
+
+RICactions-RequiredToBeRemoved-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-RequiredToBeRemoved-ItemIEs} }
+
+RICaction-RequiredToBeRemoved-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-RequiredToBeRemoved-Item CRITICALITY ignore TYPE RICaction-RequiredToBeRemoved-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-RequiredToBeRemoved-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ cause Cause,
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION MODIFICATION CONFIRM
+--
+-- **************************************************************
+RICsubscriptionModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionModificationConfirm-IEs}},
+ ...
+}
+
+RICsubscriptionModificationConfirm-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory}|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory}|
+ { ID id-RICactionsConfirmedForModification-List CRITICALITY ignore TYPE RICactions-ConfirmedForModification-List PRESENCE optional}|
+ { ID id-RICactionsRefusedToBeModified-List CRITICALITY ignore TYPE RICactions-RefusedToBeModified-List PRESENCE optional}|
+ { ID id-RICactionsConfirmedForRemoval-List CRITICALITY ignore TYPE RICactions-ConfirmedForRemoval-List PRESENCE optional}|
+ { ID id-RICactionsRefusedToBeRemoved-List CRITICALITY ignore TYPE RICactions-RefusedToBeRemoved-List PRESENCE optional},
+ ...
+}
+
+RICactions-ConfirmedForModification-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-ConfirmedForModification-ItemIEs} }
+
+RICaction-ConfirmedForModification-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-ConfirmedForModification-Item CRITICALITY ignore TYPE RICaction-ConfirmedForModification-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-ConfirmedForModification-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ...
+}
+RICactions-RefusedToBeModified-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-RefusedToBeModified-ItemIEs} }
+
+RICaction-RefusedToBeModified-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-RefusedToBeModified-Item CRITICALITY ignore TYPE RICaction-RefusedToBeModified-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-RefusedToBeModified-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ cause Cause,
+ ...
+}
+
+RICactions-ConfirmedForRemoval-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-ConfirmedForRemoval-ItemIEs} }
+
+RICaction-ConfirmedForRemoval-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-ConfirmedForRemoval-Item CRITICALITY ignore TYPE RICaction-ConfirmedForRemoval-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-ConfirmedForRemoval-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ ...
+}
+
+RICactions-RefusedToBeRemoved-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer {{RICaction-RefusedToBeRemoved-ItemIEs} }
+
+RICaction-RefusedToBeRemoved-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICaction-RefusedToBeRemoved-Item CRITICALITY ignore TYPE RICaction-RefusedToBeRemoved-Item PRESENCE mandatory },
+ ...
+}
+
+RICaction-RefusedToBeRemoved-Item ::= SEQUENCE {
+ ricActionID RICactionID,
+ cause Cause,
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION MODIFICATION REFUSE
+--
+-- **************************************************************
+RICsubscriptionModificationRefuse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICsubscriptionModificationRefuse-IEs}},
+ ...
+}
+
+
+RICsubscriptionModificationRefuse-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory}|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RIC Indication Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC INDICATION
+--
+-- **************************************************************
+RICindication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICindication-IEs}},
+ ...
+}
+
+RICindication-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
+ { ID id-RICactionID CRITICALITY reject TYPE RICactionID PRESENCE mandatory }|
+ { ID id-RICindicationSN CRITICALITY reject TYPE RICindicationSN PRESENCE optional }|
+ { ID id-RICindicationType CRITICALITY reject TYPE RICindicationType PRESENCE mandatory }|
+ { ID id-RICindicationHeader CRITICALITY reject TYPE RICindicationHeader PRESENCE mandatory }|
+ { ID id-RICindicationMessage CRITICALITY reject TYPE RICindicationMessage PRESENCE mandatory }|
+ { ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC Control Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC CONTROL REQUEST
+--
+-- **************************************************************
+RICcontrolRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICcontrolRequest-IEs}},
+ ...
+}
+
+RICcontrolRequest-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
+ { ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional }|
+ { ID id-RICcontrolHeader CRITICALITY reject TYPE RICcontrolHeader PRESENCE mandatory }|
+ { ID id-RICcontrolMessage CRITICALITY reject TYPE RICcontrolMessage PRESENCE mandatory }|
+ { ID id-RICcontrolAckRequest CRITICALITY reject TYPE RICcontrolAckRequest PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- RIC CONTROL ACKNOWLEDGE
+--
+-- **************************************************************
+RICcontrolAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICcontrolAcknowledge-IEs}},
+ ...
+}
+
+RICcontrolAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
+ { ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional }|
+ { ID id-RICcontrolOutcome CRITICALITY reject TYPE RICcontrolOutcome PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- RIC CONTROL FAILURE
+--
+-- **************************************************************
+RICcontrolFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICcontrolFailure-IEs}},
+ ...
+}
+
+RICcontrolFailure-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
+ { ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-RICcontrolOutcome CRITICALITY reject TYPE RICcontrolOutcome PRESENCE optional },
+ ...,
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }
+}
+
+-- **************************************************************
+--
+-- RIC QUERY Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC QUERY REQUEST
+--
+-- **************************************************************
+RICQueryRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICQueryRequest-IEs}},
+ ...
+}
+
+RICQueryRequest-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
+ { ID id-RICqueryHeader CRITICALITY reject TYPE RICqueryHeader PRESENCE mandatory }|
+ { ID id-RICqueryDefinition CRITICALITY reject TYPE RICqueryDefinition PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC QUERY RESPONSE
+--
+-- **************************************************************
+RICQueryResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICQueryResponse-IEs}},
+ ...
+}
+
+RICQueryResponse-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
+ { ID id-RICqueryOutcome CRITICALITY reject TYPE RICqueryOutcome PRESENCE mandatory },
+ ...
+}
+-- **************************************************************
+--
+-- RIC QUERY FAILURE
+--
+-- **************************************************************
+RICQueryFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICQueryFailure-IEs}},
+ ...
+}
+
+RICQueryFailure-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MESSAGES FOR GLOBAL PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Error Indication Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ ...
+}
+
+ErrorIndication-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE optional }|
+ { ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE optional }|
+ { ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 Setup Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- E2 SETUP REQUEST
+--
+-- **************************************************************
+
+E2setupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E2setupRequestIEs} },
+ ...
+}
+
+E2setupRequestIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-GlobalE2node-ID CRITICALITY reject TYPE GlobalE2node-ID PRESENCE mandatory }|
+ { ID id-RANfunctionsAdded CRITICALITY reject TYPE RANfunctions-List PRESENCE mandatory }|
+ { ID id-E2nodeComponentConfigAddition CRITICALITY reject TYPE E2nodeComponentConfigAddition-List PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 SETUP RESPONSE
+--
+-- **************************************************************
+
+E2setupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E2setupResponseIEs} },
+ ...
+}
+
+E2setupResponseIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-GlobalRIC-ID CRITICALITY reject TYPE GlobalRIC-ID PRESENCE mandatory }|
+ { ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional }|
+ { ID id-RANfunctionsRejected CRITICALITY reject TYPE RANfunctionsIDcause-List PRESENCE optional }|
+ { ID id-E2nodeComponentConfigAdditionAck CRITICALITY reject TYPE E2nodeComponentConfigAdditionAck-List PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 SETUP FAILURE
+--
+-- **************************************************************
+
+E2setupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E2setupFailureIEs} },
+ ...
+}
+
+E2setupFailureIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-TNLinformation CRITICALITY ignore TYPE TNLinformation PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 Connection Update Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- E2 CONNECTION UPDATE
+--
+-- **************************************************************
+E2connectionUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E2connectionUpdate-IEs}},
+ ...
+}
+
+E2connectionUpdate-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-E2connectionUpdateAdd CRITICALITY reject TYPE E2connectionUpdate-List PRESENCE optional }|
+ { ID id-E2connectionUpdateRemove CRITICALITY reject TYPE E2connectionUpdateRemove-List PRESENCE optional }|
+ { ID id-E2connectionUpdateModify CRITICALITY reject TYPE E2connectionUpdate-List PRESENCE optional },
+ ...
+}
+
+E2connectionUpdate-List ::= SEQUENCE (SIZE(1..maxofTNLA)) OF ProtocolIE-SingleContainer { {E2connectionUpdate-ItemIEs} }
+
+E2connectionUpdate-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2connectionUpdate-Item CRITICALITY ignore TYPE E2connectionUpdate-Item PRESENCE mandatory },
+ ...
+}
+
+E2connectionUpdate-Item ::= SEQUENCE {
+ tnlInformation TNLinformation,
+ tnlUsage TNLusage,
+ ...
+}
+
+E2connectionUpdateRemove-List ::= SEQUENCE (SIZE(1..maxofTNLA)) OF ProtocolIE-SingleContainer { {E2connectionUpdateRemove-ItemIEs} }
+
+E2connectionUpdateRemove-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2connectionUpdateRemove-Item CRITICALITY ignore TYPE E2connectionUpdateRemove-Item PRESENCE mandatory },
+ ...
+}
+
+E2connectionUpdateRemove-Item ::= SEQUENCE {
+ tnlInformation TNLinformation,
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- E2 CONNECTION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+E2connectionUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E2connectionUpdateAck-IEs}},
+ ...
+}
+
+E2connectionUpdateAck-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-E2connectionSetup CRITICALITY reject TYPE E2connectionUpdate-List PRESENCE optional }|
+ { ID id-E2connectionSetupFailed CRITICALITY reject TYPE E2connectionSetupFailed-List PRESENCE optional },
+ ...
+}
+
+E2connectionSetupFailed-List ::= SEQUENCE (SIZE(1..maxofTNLA)) OF ProtocolIE-SingleContainer { {E2connectionSetupFailed-ItemIEs} }
+
+E2connectionSetupFailed-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2connectionSetupFailed-Item CRITICALITY ignore TYPE E2connectionSetupFailed-Item PRESENCE mandatory },
+ ...
+}
+
+E2connectionSetupFailed-Item ::= SEQUENCE {
+ tnlInformation TNLinformation,
+ cause Cause,
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 CONNECTION UPDATE FAILURE
+--
+-- **************************************************************
+E2connectionUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E2connectionUpdateFailure-IEs}},
+ ...
+}
+
+E2connectionUpdateFailure-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE optional }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 Node Configuration Update Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- E2 NODE CONFIGURATION UPDATE
+--
+-- **************************************************************
+E2nodeConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E2nodeConfigurationUpdate-IEs}},
+ ...
+}
+
+E2nodeConfigurationUpdate-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-GlobalE2node-ID CRITICALITY reject TYPE GlobalE2node-ID PRESENCE optional }|
+ { ID id-E2nodeComponentConfigAddition CRITICALITY reject TYPE E2nodeComponentConfigAddition-List PRESENCE optional }|
+ { ID id-E2nodeComponentConfigUpdate CRITICALITY reject TYPE E2nodeComponentConfigUpdate-List PRESENCE optional }|
+ { ID id-E2nodeComponentConfigRemoval CRITICALITY reject TYPE E2nodeComponentConfigRemoval-List PRESENCE optional }|
+ { ID id-E2nodeTNLassociationRemoval CRITICALITY reject TYPE E2nodeTNLassociationRemoval-List PRESENCE optional },
+ ...
+}
+
+E2nodeComponentConfigAddition-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigAddition-ItemIEs} }
+
+E2nodeComponentConfigAddition-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2nodeComponentConfigAddition-Item CRITICALITY reject TYPE E2nodeComponentConfigAddition-Item PRESENCE mandatory },
+ ...
+}
+
+E2nodeComponentConfigAddition-Item ::= SEQUENCE {
+ e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
+ e2nodeComponentID E2nodeComponentID,
+ e2nodeComponentConfiguration E2nodeComponentConfiguration,
+ ...
+}
+
+E2nodeComponentConfigUpdate-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigUpdate-ItemIEs} }
+
+E2nodeComponentConfigUpdate-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2nodeComponentConfigUpdate-Item CRITICALITY reject TYPE E2nodeComponentConfigUpdate-Item PRESENCE mandatory },
+ ...
+}
+
+E2nodeComponentConfigUpdate-Item ::= SEQUENCE {
+ e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
+ e2nodeComponentID E2nodeComponentID,
+ e2nodeComponentConfiguration E2nodeComponentConfiguration,
+ ...
+}
+
+E2nodeComponentConfigRemoval-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigRemoval-ItemIEs} }
+
+E2nodeComponentConfigRemoval-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2nodeComponentConfigRemoval-Item CRITICALITY reject TYPE E2nodeComponentConfigRemoval-Item PRESENCE mandatory },
+ ...
+}
+
+E2nodeComponentConfigRemoval-Item ::= SEQUENCE {
+ e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
+ e2nodeComponentID E2nodeComponentID,
+ ...
+}
+
+E2nodeTNLassociationRemoval-List ::= SEQUENCE (SIZE(1..maxofTNLA)) OF ProtocolIE-SingleContainer { {E2nodeTNLassociationRemoval-ItemIEs} }
+
+E2nodeTNLassociationRemoval-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2nodeTNLassociationRemoval-Item CRITICALITY reject TYPE E2nodeTNLassociationRemoval-Item PRESENCE mandatory },
+ ...
+}
+
+E2nodeTNLassociationRemoval-Item ::= SEQUENCE {
+ tnlInformation TNLinformation,
+ tnlInformationRIC TNLinformation,
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 NODE CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+E2nodeConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E2nodeConfigurationUpdateAcknowledge-IEs}},
+ ...
+}
+
+E2nodeConfigurationUpdateAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-E2nodeComponentConfigAdditionAck CRITICALITY reject TYPE E2nodeComponentConfigAdditionAck-List PRESENCE optional }|
+ { ID id-E2nodeComponentConfigUpdateAck CRITICALITY reject TYPE E2nodeComponentConfigUpdateAck-List PRESENCE optional }|
+ { ID id-E2nodeComponentConfigRemovalAck CRITICALITY reject TYPE E2nodeComponentConfigRemovalAck-List PRESENCE optional },
+ ...
+}
+
+E2nodeComponentConfigAdditionAck-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigAdditionAck-ItemIEs} }
+
+E2nodeComponentConfigAdditionAck-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2nodeComponentConfigAdditionAck-Item CRITICALITY reject TYPE E2nodeComponentConfigAdditionAck-Item PRESENCE mandatory },
+ ...
+}
+
+E2nodeComponentConfigAdditionAck-Item ::= SEQUENCE {
+ e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
+ e2nodeComponentID E2nodeComponentID,
+ e2nodeComponentConfigurationAck E2nodeComponentConfigurationAck,
+ ...
+}
+
+E2nodeComponentConfigUpdateAck-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigUpdateAck-ItemIEs} }
+
+E2nodeComponentConfigUpdateAck-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2nodeComponentConfigUpdateAck-Item CRITICALITY reject TYPE E2nodeComponentConfigUpdateAck-Item PRESENCE mandatory },
+ ...
+}
+
+E2nodeComponentConfigUpdateAck-Item ::= SEQUENCE {
+ e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
+ e2nodeComponentID E2nodeComponentID,
+ e2nodeComponentConfigurationAck E2nodeComponentConfigurationAck,
+ ...
+}
+
+E2nodeComponentConfigRemovalAck-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigRemovalAck-ItemIEs} }
+
+E2nodeComponentConfigRemovalAck-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-E2nodeComponentConfigRemovalAck-Item CRITICALITY reject TYPE E2nodeComponentConfigRemovalAck-Item PRESENCE mandatory },
+ ...
+}
+
+E2nodeComponentConfigRemovalAck-Item ::= SEQUENCE {
+ e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
+ e2nodeComponentID E2nodeComponentID,
+ e2nodeComponentConfigurationAck E2nodeComponentConfigurationAck,
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 NODE CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+E2nodeConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E2nodeConfigurationUpdateFailure-IEs}},
+ ...
+}
+
+E2nodeConfigurationUpdateFailure-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Reset Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RESET REQUEST
+--
+-- **************************************************************
+
+ResetRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetRequestIEs} },
+ ...
+}
+
+ResetRequestIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET RESPONSE
+--
+-- **************************************************************
+
+ResetResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetResponseIEs} },
+ ...
+}
+
+ResetResponseIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC Service Update Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SERVICE UPDATE
+--
+-- **************************************************************
+RICserviceUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICserviceUpdate-IEs}},
+ ...
+}
+
+RICserviceUpdate-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-RANfunctionsAdded CRITICALITY reject TYPE RANfunctions-List PRESENCE optional }|
+ { ID id-RANfunctionsModified CRITICALITY reject TYPE RANfunctions-List PRESENCE optional }|
+ { ID id-RANfunctionsDeleted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional },
+ ...
+}
+
+RANfunctions-List ::= SEQUENCE (SIZE(1..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunction-ItemIEs} }
+
+RANfunction-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RANfunction-Item CRITICALITY ignore TYPE RANfunction-Item PRESENCE mandatory },
+ ...
+}
+
+
+RANfunction-Item ::= SEQUENCE {
+ ranFunctionID RANfunctionID,
+ ranFunctionDefinition RANfunctionDefinition,
+ ranFunctionRevision RANfunctionRevision,
+ ranFunctionOID RANfunctionOID,
+ ...
+}
+
+RANfunctionsID-List ::= SEQUENCE (SIZE(1..maxofRANfunctionID)) OF ProtocolIE-SingleContainer{{RANfunctionID-ItemIEs}}
+
+RANfunctionID-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RANfunctionID-Item CRITICALITY ignore TYPE RANfunctionID-Item PRESENCE mandatory },
+ ...
+}
+
+RANfunctionID-Item ::= SEQUENCE {
+ ranFunctionID RANfunctionID,
+ ranFunctionRevision RANfunctionRevision,
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC SERVICE UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+RICserviceUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICserviceUpdateAcknowledge-IEs}},
+ ...
+}
+
+RICserviceUpdateAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional }|
+ { ID id-RANfunctionsRejected CRITICALITY reject TYPE RANfunctionsIDcause-List PRESENCE optional },
+ ...
+}
+
+RANfunctionsIDcause-List ::= SEQUENCE (SIZE(1..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunctionIDcause-ItemIEs} }
+
+RANfunctionIDcause-ItemIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-RANfunctionIEcause-Item CRITICALITY ignore TYPE RANfunctionIDcause-Item PRESENCE mandatory },
+ ...
+}
+
+
+RANfunctionIDcause-Item ::= SEQUENCE {
+ ranFunctionID RANfunctionID,
+ cause Cause,
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RIC SERVICE UPDATE FAILURE
+--
+-- **************************************************************
+RICserviceUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICserviceUpdateFailure-IEs}},
+ ...
+}
+
+RICserviceUpdateFailure-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RIC Service Query Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SERVICE QUERY
+--
+-- **************************************************************
+RICserviceQuery ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RICserviceQuery-IEs}},
+ ...
+}
+
+RICserviceQuery-IEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 Removal Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- E2 REMOVAL REQUEST
+--
+-- **************************************************************
+
+E2RemovalRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E2RemovalRequestIEs} },
+ ...
+}
+
+E2RemovalRequestIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 REMOVAL RESPONSE
+--
+-- **************************************************************
+
+E2RemovalResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E2RemovalResponseIEs} },
+ ...
+}
+
+E2RemovalResponseIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- E2 REMOVAL FAILURE
+--
+-- **************************************************************
+
+E2RemovalFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E2RemovalFailureIEs} },
+ ...
+}
+
+E2RemovalFailureIEs E2AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+END
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/E2AP-PDU-Descriptions.asn b/epan/dissectors/asn1/e2ap/E2AP-PDU-Descriptions.asn
new file mode 100644
index 00000000..3a1a3035
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/E2AP-PDU-Descriptions.asn
@@ -0,0 +1,304 @@
+-- ASN1START
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+-- Derived from 3GPP 38.413 v15.4.0 NGAP
+-- **************************************************************
+
+E2AP-PDU-Descriptions {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM E2AP-CommonDataTypes
+
+
+
+ E2connectionUpdate,
+ E2connectionUpdateAcknowledge,
+ E2connectionUpdateFailure,
+ E2nodeConfigurationUpdate,
+ E2nodeConfigurationUpdateAcknowledge,
+ E2nodeConfigurationUpdateFailure,
+ E2RemovalRequest,
+ E2RemovalResponse,
+ E2RemovalFailure,
+ E2setupFailure,
+ E2setupRequest,
+ E2setupResponse,
+ ErrorIndication,
+ ResetRequest,
+ ResetResponse,
+ RICcontrolAcknowledge,
+ RICcontrolFailure,
+ RICcontrolRequest,
+ RICindication,
+ RICserviceQuery,
+ RICserviceUpdate,
+ RICserviceUpdateAcknowledge,
+ RICserviceUpdateFailure,
+ RICsubscriptionFailure,
+ RICsubscriptionRequest,
+ RICsubscriptionResponse,
+ RICsubscriptionDeleteFailure,
+ RICsubscriptionDeleteRequest,
+ RICsubscriptionDeleteResponse,
+ RICsubscriptionDeleteRequired,
+ RICsubscriptionModificationRequest,
+ RICsubscriptionModificationResponse,
+ RICsubscriptionModificationFailure,
+ RICsubscriptionModificationRequired,
+ RICsubscriptionModificationConfirm,
+ RICsubscriptionModificationRefuse,
+ RICqueryRequest,
+ RICqueryResponse,
+ RICqueryFailure
+FROM E2AP-PDU-Contents
+
+ id-E2connectionUpdate,
+ id-E2nodeConfigurationUpdate,
+ id-E2removal,
+ id-E2setup,
+ id-ErrorIndication,
+ id-Reset,
+ id-RICcontrol,
+ id-RICindication,
+ id-RICserviceQuery,
+ id-RICserviceUpdate,
+ id-RICsubscription,
+ id-RICsubscriptionDelete,
+ id-RICsubscriptionDeleteRequired,
+ id-RICsubscriptionModification,
+ id-RICsubscriptionModificationRequired,
+ id-RICquery
+FROM E2AP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+E2AP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL ,
+ &UnsuccessfulOutcome OPTIONAL ,
+ &procedureCode ProcedureCode UNIQUE ,
+ &criticality Criticality DEFAULT ignore
+}
+
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+E2AP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode E2AP-ELEMENTARY-PROCEDURE.&procedureCode ({E2AP-ELEMENTARY-PROCEDURES}),
+ criticality E2AP-ELEMENTARY-PROCEDURE.&criticality ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value E2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode E2AP-ELEMENTARY-PROCEDURE.&procedureCode ({E2AP-ELEMENTARY-PROCEDURES}),
+ criticality E2AP-ELEMENTARY-PROCEDURE.&criticality ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value E2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode E2AP-ELEMENTARY-PROCEDURE.&procedureCode ({E2AP-ELEMENTARY-PROCEDURES}),
+ criticality E2AP-ELEMENTARY-PROCEDURE.&criticality ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value E2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+E2AP-ELEMENTARY-PROCEDURES E2AP-ELEMENTARY-PROCEDURE ::= {
+ E2AP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ E2AP-ELEMENTARY-PROCEDURES-CLASS-2,
+ ...
+}
+
+E2AP-ELEMENTARY-PROCEDURES-CLASS-1 E2AP-ELEMENTARY-PROCEDURE ::= {
+ ricSubscription |
+ ricSubscriptionDelete |
+ ricSubscriptionModification |
+ ricSubscriptionModificationRequired |
+ ricQuery |
+ ricServiceUpdate |
+ ricControl |
+ e2setup |
+ e2nodeConfigurationUpdate |
+ e2connectionUpdate |
+ reset |
+ e2removal,
+ ...
+}
+
+E2AP-ELEMENTARY-PROCEDURES-CLASS-2 E2AP-ELEMENTARY-PROCEDURE ::= {
+ ricIndication |
+ ricServiceQuery |
+ errorIndication |
+ ricSubscriptionDeleteRequired,
+ ...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+-- New for v01.01
+e2connectionUpdate E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E2connectionUpdate
+ SUCCESSFUL OUTCOME E2connectionUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME E2connectionUpdateFailure
+ PROCEDURE CODE id-E2connectionUpdate
+ CRITICALITY reject
+}
+
+e2nodeConfigurationUpdate E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E2nodeConfigurationUpdate
+ SUCCESSFUL OUTCOME E2nodeConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME E2nodeConfigurationUpdateFailure
+ PROCEDURE CODE id-E2nodeConfigurationUpdate
+ CRITICALITY reject
+}
+
+-- New for v02.01
+e2removal E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E2RemovalRequest
+ SUCCESSFUL OUTCOME E2RemovalResponse
+ UNSUCCESSFUL OUTCOME E2RemovalFailure
+ PROCEDURE CODE id-E2removal
+ CRITICALITY reject
+}
+
+e2setup E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E2setupRequest
+ SUCCESSFUL OUTCOME E2setupResponse
+ UNSUCCESSFUL OUTCOME E2setupFailure
+ PROCEDURE CODE id-E2setup
+ CRITICALITY reject
+}
+
+errorIndication E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-ErrorIndication
+ CRITICALITY ignore
+}
+
+reset E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResetRequest
+ SUCCESSFUL OUTCOME ResetResponse
+ PROCEDURE CODE id-Reset
+ CRITICALITY reject
+}
+
+ricControl E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICcontrolRequest
+ SUCCESSFUL OUTCOME RICcontrolAcknowledge
+ UNSUCCESSFUL OUTCOME RICcontrolFailure
+ PROCEDURE CODE id-RICcontrol
+ CRITICALITY reject
+}
+
+ricIndication E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICindication
+ PROCEDURE CODE id-RICindication
+ CRITICALITY ignore
+}
+
+ricServiceQuery E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICserviceQuery
+ PROCEDURE CODE id-RICserviceQuery
+ CRITICALITY ignore
+}
+
+ricServiceUpdate E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICserviceUpdate
+ SUCCESSFUL OUTCOME RICserviceUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME RICserviceUpdateFailure
+ PROCEDURE CODE id-RICserviceUpdate
+ CRITICALITY reject
+}
+
+ricSubscription E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICsubscriptionRequest
+ SUCCESSFUL OUTCOME RICsubscriptionResponse
+ UNSUCCESSFUL OUTCOME RICsubscriptionFailure
+ PROCEDURE CODE id-RICsubscription
+ CRITICALITY reject
+}
+
+ricSubscriptionDelete E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICsubscriptionDeleteRequest
+ SUCCESSFUL OUTCOME RICsubscriptionDeleteResponse
+ UNSUCCESSFUL OUTCOME RICsubscriptionDeleteFailure
+ PROCEDURE CODE id-RICsubscriptionDelete
+ CRITICALITY reject
+}
+
+ricSubscriptionDeleteRequired E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICsubscriptionDeleteRequired
+ PROCEDURE CODE id-RICsubscriptionDeleteRequired
+ CRITICALITY ignore
+}
+
+ricSubscriptionModification E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICsubscriptionModificationRequest
+ SUCCESSFUL OUTCOME RICsubscriptionModificationResponse
+ UNSUCCESSFUL OUTCOME RICsubscriptionModificationFailure
+ PROCEDURE CODE id-RICsubscriptionModification
+ CRITICALITY reject
+}
+
+ricSubscriptionModificationRequired E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICsubscriptionModificationRequired
+ SUCCESSFUL OUTCOME RICsubscriptionModificationConfirm
+ UNSUCCESSFUL OUTCOME RICsubscriptionModificationRefuse
+ PROCEDURE CODE id-RICsubscriptionModificationRequired
+ CRITICALITY reject
+}
+
+ricQuery E2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RICQueryRequest
+ SUCCESSFUL OUTCOME RICQueryResponse
+ UNSUCCESSFUL OUTCOME RICQueryFailure
+ PROCEDURE CODE id-RICquery
+ CRITICALITY reject
+}
+
+END
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/e2ap.cnf b/epan/dissectors/asn1/e2ap/e2ap.cnf
new file mode 100644
index 00000000..dc37391d
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/e2ap.cnf
@@ -0,0 +1,917 @@
+# e2ap.cnf
+# e2ap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.USE_VALS_EXT
+ProcedureCode
+ProtocolIE-ID
+NI-ProtocolIE-ID
+
+#.EXPORTS ONLY_VALS WS_DLL
+
+#.EXPORTS
+
+#.PDU
+E2AP-PDU
+
+E2SM-KPM-EventTriggerDefinition
+E2SM-KPM-ActionDefinition
+E2SM-KPM-IndicationHeader
+E2SM-KPM-IndicationMessage
+E2SM-KPM-RANfunction-Description
+
+E2SM-RC-EventTrigger
+E2SM-RC-ActionDefinition
+E2SM-RC-RANFunctionDefinition
+E2SM-RC-IndicationMessage
+E2SM-RC-IndicationHeader
+E2SM-RC-CallProcessID
+E2SM-RC-ControlHeader
+E2SM-RC-ControlMessage
+E2SM-RC-ControlOutcome
+# New for v3
+# E2SM-RC-QueryOutcome
+# E2SM-RC-QueryDefinition
+# E2SM-RC-QueryHeader
+
+
+E2SM-NI-EventTriggerDefinition
+E2SM-NI-ActionDefinition
+E2SM-NI-RANfunction-Description
+E2SM-NI-IndicationMessage
+E2SM-NI-IndicationHeader
+E2SM-NI-CallProcessID
+E2SM-NI-ControlHeader
+E2SM-NI-ControlMessage
+E2SM-NI-ControlOutcome
+
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+
+#.NO_EMIT
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+ProtocolIE-FieldPair
+ProtocolIE-ContainerList
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+Presence
+FreqBandNrItem
+IndexToRFSP
+EN-GNB-ID
+SubscriberProfileIDforRFP
+QoSID
+GroupID
+CoreCPID
+
+#.END
+
+
+#.TYPE_ATTR
+#E2SM-KPM-IndicationMessage DISPLAY=BASE_DEC STRINGS=VALS(e2ap_E2SM_KPM_IndicationMessage_vals)
+#E2SM-KPM-IndicationHeader DISPLAY=BASE_DEC STRINGS=VALS(e2ap_E2SM_KPM_IndicationHeader_vals)
+
+#.TYPE_RENAME
+
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+
+#GlobalGNB-ID/gNB-ID globalGNB-ID_gNB-ID
+
+
+#.FIELD_ATTR
+#GlobalGNB-ID/gNB-ID ABBREV=globalGNB_ID.gNB_ID
+
+#.FN_BODY ProtocolIE-ID VAL_PTR=&e2ap_data->protocol_ie_id
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
+ val_to_str_ext(e2ap_data->protocol_ie_id, &e2ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+
+# TODO: probably not worth it
+# #.FN_BODY E2AP-PDU VAL_PTR=&value
+# guint32 value;
+# %(DEFAULT_BODY)s
+# col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(value, e2ap_E2AP_PDU_vals, "Unknown"));
+
+
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+# Currently not used
+# FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue
+# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
+
+
+#.FN_BODY ProcedureCode VAL_PTR = &e2ap_data->procedure_code
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ //col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%s", val_to_str(e2ap_data->procedure_code, e2ap_ProcedureCode_vals, "Unknown"));
+#.END
+
+
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->message_type = INITIATING_MESSAGE;
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->message_type = SUCCESSFUL_OUTCOME;
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->message_type = UNSUCCESSFUL_OUTCOME;
+
+#--- Parameterization is not supported in asn2wrs ---
+
+#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, e2ap-PROTOCOL-IES : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-Container {{IEsSetParam}}
+
+# #.FN_PARS ProtocolIE-ContainerList
+# MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+# MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# #.FN_HDR ProtocolIE-ContainerList
+# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, (asn1_par_type)0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
+# #.END
+
+#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, e2ap-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-ContainerPair {{IEsSetParam}}
+
+# Currently not used
+# FN_PARS ProtocolIE-ContainerPairList
+#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# FN_HDR ProtocolIE-ContainerPairList
+# static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, 0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
+# END
+
+#PduSessionResource-IE-ContainerList { e2ap-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxnoofPduSessionResources, {IEsSetParam} }
+# FN_BODY PduSessionResource-IE-ContainerList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxnoofE_RABs);
+# %(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+# END
+
+# PduSessionResource-IE-ContainerPairList { e2ap-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxnoofPduSessionResources, {IEsSetParam} }
+# Currently not used
+# FN_BODY SAEB-IE-ContainerPairList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerPairList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxnoofE_RABs);
+#%(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerPairList");
+# END
+
+# Currently not used
+# ProtocolError-IE-ContainerList { e2ap-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxnoofPduSessionResources, {IEsSetParam} }
+# FN_BODY ProtocolError-IE-ContainerList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxnoofE_RABs);
+#%(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+# END
+
+# .FN_HDR PrivateIE-ID
+# struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+# e2ap_data->obj_id = NULL;
+
+# FN_BODY PrivateIE-ID/global FN_VARIANT = _str VAL_PTR = &e2ap_data->obj_id
+# struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+# %(DEFAULT_BODY)s
+
+# FN_BODY PrivateIE-Field/value
+# struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+# if (e2ap_data->obj_id) {
+# offset = call_per_oid_callback(e2ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
+# } else {
+# %(DEFAULT_BODY)s
+# }
+
+
+
+
+# #.FN_BODY E2AP-Message VAL_PTR = &parameter_tvb
+# tvbuff_t *parameter_tvb;
+# proto_tree *subtree;
+#%(DEFAULT_BODY)s
+# if (!parameter_tvb)
+# return offset;
+
+# subtree = proto_item_add_subtree(actx->created_item, ett_e2ap_e2ap_Message);
+# col_set_fence(actx->pinfo->cinfo, COL_INFO);
+# call_dissector(e2ap_handle, parameter_tvb, actx->pinfo, subtree);
+
+#.FN_BODY E2SM-KPM-IndicationHeader-Format1/colletStartTime
+ int ts_offset = offset;
+ %(DEFAULT_BODY)s
+ /* Add as a generated field the timestamp decoded */
+ const char *time_str = tvb_ntp_fmt_ts_sec(tvb, (ts_offset+7)/8);
+ proto_item *ti = proto_tree_add_string(tree, hf_e2ap_timestamp_string, tvb, (ts_offset+7)/8, 4, time_str);
+ proto_item_set_generated(ti);
+
+
+# ################################################################################
+# Calling in-depth definitions of E2AP OCTET STRING fields.
+
+#.FN_BODY RANfunctionDefinition VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+
+ /* We know that the next thing is a RANFunction-Name, but it's wrapped up in a sequence,
+ so can't silently/hiddenly call ranFunctionName here... */
+
+ %(DEFAULT_BODY)s
+
+ /* Looking for shortName string near beginning of tvb */
+ gboolean found = FALSE;
+ /* For each RAN function name.. */
+ for (int n=KPM_RANFUNCTIONS; n<MAX_RANFUNCTIONS && !found; n++) {
+ guint32 tvb_len = tvb_captured_length(parameter_tvb);
+ guint name_len = (gint)strlen(g_ran_function_name_table[n]);
+ /* For each of several byte positions.. */
+ for (int m=0; (m<30) && ((m+name_len+1))<tvb_len; m++) {
+ /* Have we found a match on the name? */
+ if (tvb_strneql(parameter_tvb, m, g_ran_function_name_table[n], name_len) == 0) {
+ /* TODO: we don't yet know the OID (hopefully won't make a difference for this message though...),
+ so for now just call with the first/only available dissector for this RAN Function name */
+ if (g_ran_functions_available_dissectors[n].num_available_dissectors) {
+ g_ran_functions_available_dissectors[n].ran_function_dissectors[0]->functions.ran_function_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ found = TRUE;
+ break;
+ }
+ }
+ }
+ }
+ if (!found) {
+ proto_item *ti = proto_tree_add_item(tree, hf_e2ap_ran_function_name_not_recognised, tvb, 0, 0, ENC_NA);
+ expert_add_info_format(actx->pinfo, ti, &ei_e2ap_ran_function_names_no_match,
+ "ShortName does not match any known Service Model");
+ }
+
+#.FN_BODY RANfunction-Name/ranFunction-ShortName VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb;
+%(DEFAULT_BODY)s
+ if (!actx->pinfo->fd->visited) {
+ /* N.B. too early to work out exact dissector, as don't have OID yet */
+ e2ap_store_ran_function_mapping(actx->pinfo, tree, value_tvb,
+ tvb_get_string_enc(wmem_packet_scope(), value_tvb, 0, tvb_captured_length(value_tvb), ENC_ASCII));
+ }
+
+
+#.FN_BODY RANfunction-Name/ranFunction-E2SM-OID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ e2ap_update_ran_function_mapping(actx->pinfo, tree, parameter_tvb,
+ tvb_get_string_enc(actx->pinfo->pool, parameter_tvb, 0,
+ tvb_captured_length(parameter_tvb), ENC_ASCII));
+
+
+#.FN_BODY RICcontrolHeader VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ric_control_header_dissector) {
+ dissector->functions.ric_control_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+#.FN_BODY RICcontrolMessage VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ric_control_message_dissector) {
+ dissector->functions.ric_control_message_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+#.FN_BODY RICcontrolOutcome VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ric_control_outcome_dissector) {
+ dissector->functions.ric_control_outcome_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+#.FN_BODY RICqueryOutcome VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ric_query_outcome_dissector) {
+ dissector->functions.ric_query_outcome_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+#.FN_BODY RICqueryDefinition VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ric_query_definition_dissector) {
+ dissector->functions.ric_query_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+#.FN_BODY RICqueryHeader VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ric_query_header_dissector) {
+ dissector->functions.ric_query_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+
+
+#.FN_BODY RICeventTriggerDefinition VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ran_event_trigger_dissector) {
+ dissector->functions.ran_event_trigger_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+#.FN_BODY RICactionDefinition VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ran_action_definition_dissector) {
+ dissector->functions.ran_action_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+#.FN_BODY RICindicationHeader VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ran_indication_header_dissector) {
+ dissector->functions.ran_indication_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+#.FN_BODY RICindicationMessage VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ran_indication_message_dissector) {
+ dissector->functions.ran_indication_message_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+
+#.FN_BODY RICcallProcessID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ ran_function_dissector_t* dissector = lookup_ranfunction_dissector(actx->pinfo, tree, parameter_tvb);
+ if (dissector) {
+ if (dissector->functions.ran_callprocessid_dissector) {
+ dissector->functions.ran_callprocessid_dissector(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+ }
+# ################################################################################
+
+
+
+#.ASSIGN_VALUE_TO_TYPE # e2ap does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+
+id-E2setup ProcedureCode
+id-ErrorIndication ProcedureCode
+id-Reset ProcedureCode
+id-RICcontrol ProcedureCode
+id-RICindication ProcedureCode
+id-RICserviceQuery ProcedureCode
+id-RICserviceUpdate ProcedureCode
+id-RICsubscription ProcedureCode
+id-RICsubscriptionDelete ProcedureCode
+id-E2nodeConfigurationUpdate ProcedureCode
+id-E2connectionUpdate ProcedureCode
+id-RICsubscriptionDeleteRequired ProcedureCode
+id-E2removal ProcedureCode
+# New for v3
+id-RICsubscriptionModification ProcedureCode
+id-RICsubscriptionModificationRequired ProcedureCode
+id-RICquery ProcedureCode
+
+
+
+# ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-GlobalE2node-ID ProtocolIE-ID
+id-GlobalRIC-ID ProtocolIE-ID
+id-RANfunctionID ProtocolIE-ID
+id-RANfunctionID-Item ProtocolIE-ID
+id-RANfunctionIEcause-Item ProtocolIE-ID
+id-RANfunction-Item ProtocolIE-ID
+id-RANfunctionsAccepted ProtocolIE-ID
+id-RANfunctionsAdded ProtocolIE-ID
+id-RANfunctionsDeleted ProtocolIE-ID
+id-RANfunctionsModified ProtocolIE-ID
+id-RANfunctionsRejected ProtocolIE-ID
+id-RICaction-Admitted-Item ProtocolIE-ID
+id-RICactionID ProtocolIE-ID
+id-RICaction-NotAdmitted-Item ProtocolIE-ID
+id-RICactions-Admitted ProtocolIE-ID
+id-RICactions-NotAdmitted ProtocolIE-ID
+id-RICaction-ToBeSetup-Item ProtocolIE-ID
+id-RICcallProcessID ProtocolIE-ID
+id-RICcontrolAckRequest ProtocolIE-ID
+id-RICcontrolHeader ProtocolIE-ID
+id-RICcontrolMessage ProtocolIE-ID
+id-RICcontrolStatus ProtocolIE-ID
+id-RICindicationHeader ProtocolIE-ID
+id-RICindicationMessage ProtocolIE-ID
+id-RICindicationSN ProtocolIE-ID
+id-RICindicationType ProtocolIE-ID
+id-RICrequestID ProtocolIE-ID
+id-RICsubscriptionDetails ProtocolIE-ID
+id-TimeToWait ProtocolIE-ID
+id-RICcontrolOutcome ProtocolIE-ID
+
+id-E2nodeComponentConfigUpdate ProtocolIE-ID
+id-E2nodeComponentConfigUpdate-Item ProtocolIE-ID
+id-E2nodeComponentConfigUpdateAck ProtocolIE-ID
+id-E2nodeComponentConfigUpdateAck-Item ProtocolIE-ID
+id-E2connectionSetup ProtocolIE-ID
+id-E2connectionSetupFailed ProtocolIE-ID
+id-E2connectionSetupFailed-Item ProtocolIE-ID
+id-E2connectionFailed-Item ProtocolIE-ID
+id-E2connectionUpdate-Item ProtocolIE-ID
+id-E2connectionUpdateAdd ProtocolIE-ID
+id-E2connectionUpdateModify ProtocolIE-ID
+id-E2connectionUpdateRemove ProtocolIE-ID
+id-E2connectionUpdateRemove-Item ProtocolIE-ID
+id-TNLinformation ProtocolIE-ID
+id-TransactionID ProtocolIE-ID
+
+id-E2nodeComponentConfigAddition ProtocolIE-ID
+id-E2nodeComponentConfigAddition-Item ProtocolIE-ID
+id-E2nodeComponentConfigAdditionAck ProtocolIE-ID
+id-E2nodeComponentConfigAdditionAck-Item ProtocolIE-ID
+id-E2nodeComponentConfigRemoval ProtocolIE-ID
+id-E2nodeComponentConfigRemoval-Item ProtocolIE-ID
+id-E2nodeComponentConfigRemovalAck ProtocolIE-ID
+id-E2nodeComponentConfigRemovalAck-Item ProtocolIE-ID
+id-E2nodeTNLassociationRemoval ProtocolIE-ID
+id-E2nodeTNLassociationRemoval-Item ProtocolIE-ID
+id-RICsubscriptionToBeRemoved ProtocolIE-ID
+id-RICsubscription-withCause-Item ProtocolIE-ID
+# New for v3
+id-RICsubscriptionStartTime ProtocolIE-ID
+id-RICsubscriptionEndTime ProtocolIE-ID
+id-RICeventTriggerDefinitionToBeModified ProtocolIE-ID
+id-RICactionsToBeRemovedForModification-List ProtocolIE-ID
+id-RICaction-ToBeRemovedForModification-Item ProtocolIE-ID
+id-RICactionsToBeModifiedForModification-List ProtocolIE-ID
+id-RICaction-ToBeModifiedForModification-Item ProtocolIE-ID
+id-RICactionsToBeAddedForModification-List ProtocolIE-ID
+id-RICaction-ToBeAddedForModification-Item ProtocolIE-ID
+id-RICactionsRemovedForModification-List ProtocolIE-ID
+id-RICaction-RemovedForModification-Item ProtocolIE-ID
+id-RICactionsFailedToBeRemovedForModification-List ProtocolIE-ID
+id-RICaction-FailedToBeRemovedForModification-Item ProtocolIE-ID
+id-RICactionsModifiedForModification-List ProtocolIE-ID
+id-RICaction-ModifiedForModification-Item ProtocolIE-ID
+id-RICactionsFailedToBeModifiedForModification-List ProtocolIE-ID
+id-RICaction-FailedToBeModifiedForModification-Item ProtocolIE-ID
+id-RICactionsAddedForModification-List ProtocolIE-ID
+id-RICaction-AddedForModification-Item ProtocolIE-ID
+id-RICactionsFailedToBeAddedForModification-List ProtocolIE-ID
+id-RICaction-FailedToBeAddedForModification-Item ProtocolIE-ID
+id-RICactionsRequiredToBeModified-List ProtocolIE-ID
+id-RICaction-RequiredToBeModified-Item ProtocolIE-ID
+id-RICactionsRequiredToBeRemoved-List ProtocolIE-ID
+id-RICaction-RequiredToBeRemoved-Item ProtocolIE-ID
+id-RICactionsConfirmedForModification-List ProtocolIE-ID
+id-RICaction-ConfirmedForModification-Item ProtocolIE-ID
+id-RICactionsRefusedToBeModified-List ProtocolIE-ID
+id-RICaction-RefusedToBeModified-Item ProtocolIE-ID
+id-RICactionsConfirmedForRemoval-List ProtocolIE-ID
+id-RICaction-ConfirmedForRemoval-Item ProtocolIE-ID
+id-RICactionsRefusedToBeRemoved-List ProtocolIE-ID
+id-RICaction-RefusedToBeRemoved-Item ProtocolIE-ID
+id-RICqueryHeader ProtocolIE-ID
+id-RICqueryDefinition ProtocolIE-ID
+id-RICqueryOutcome ProtocolIE-ID
+#.END
+
+
+#.REGISTER
+
+#E2AP-PROTOCOL-IES
+
+Cause N e2ap.ies id-Cause
+CriticalityDiagnostics N e2ap.ies id-CriticalityDiagnostics
+GlobalE2node-ID N e2ap.ies id-GlobalE2node-ID
+GlobalRIC-ID N e2ap.ies id-GlobalRIC-ID
+RANfunctionID N e2ap.ies id-RANfunctionID
+RANfunctionID-Item N e2ap.ies id-RANfunctionID-Item
+RANfunctionIDcause-Item N e2ap.ies id-RANfunctionIEcause-Item
+RANfunction-Item N e2ap.ies id-RANfunction-Item
+RANfunctionsID-List N e2ap.ies id-RANfunctionsAccepted
+RANfunctions-List N e2ap.ies id-RANfunctionsAdded
+RANfunctionsID-List N e2ap.ies id-RANfunctionsDeleted
+RANfunctions-List N e2ap.ies id-RANfunctionsModified
+RANfunctionsIDcause-List N e2ap.ies id-RANfunctionsRejected
+RICaction-Admitted-Item N e2ap.ies id-RICaction-Admitted-Item
+RICactionID N e2ap.ies id-RICactionID
+RICaction-NotAdmitted-Item N e2ap.ies id-RICaction-NotAdmitted-Item
+RICaction-Admitted-List N e2ap.ies id-RICactions-Admitted
+RICaction-ToBeSetup-Item N e2ap.ies id-RICaction-ToBeSetup-Item
+RICcallProcessID N e2ap.ies id-RICcallProcessID
+RICaction-NotAdmitted-List N e2ap.ies id-RICactions-NotAdmitted
+RICcontrolAckRequest N e2ap.ies id-RICcontrolAckRequest
+RICcontrolHeader N e2ap.ies id-RICcontrolHeader
+RICcontrolMessage N e2ap.ies id-RICcontrolMessage
+RICcontrolOutcome N e2ap.ies id-RICcontrolOutcome
+#RICcontrolStatus N e2ap.ies id-RICcontrolStatus
+RICindicationHeader N e2ap.ies id-RICindicationHeader
+RICindicationMessage N e2ap.ies id-RICindicationMessage
+RICindicationSN N e2ap.ies id-RICindicationSN
+RICindicationType N e2ap.ies id-RICindicationType
+RICrequestID N e2ap.ies id-RICrequestID
+RICsubscriptionDetails N e2ap.ies id-RICsubscriptionDetails
+#RICcontrolHeader N e2ap.ies id-RICcontrolHeader
+#RICcontrolMessage N e2ap.ies id-RICcontrolMessage
+
+TimeToWait N e2ap.ies id-TimeToWait
+#RICcontrolOutcome N e2ap.ies id-RICcontrolOutcome
+
+E2nodeComponentConfigUpdate-List N e2ap.ies id-E2nodeComponentConfigUpdate
+E2nodeComponentConfigUpdate-Item N e2ap.ies id-E2nodeComponentConfigUpdate-Item
+E2nodeComponentConfigUpdateAck-List N e2ap.ies id-E2nodeComponentConfigUpdateAck
+E2nodeComponentConfigUpdateAck-Item N e2ap.ies id-E2nodeComponentConfigUpdateAck-Item
+E2connectionUpdate-List N e2ap.ies id-E2connectionSetup
+E2connectionSetupFailed-List N e2ap.ies id-E2connectionSetupFailed
+E2connectionSetupFailed-Item N e2ap.ies id-E2connectionSetupFailed-Item
+#E2connectionSetupFailed-Item N e2ap.ies id-E2connectionFailed-Item
+E2connectionUpdate-Item N e2ap.ies id-E2connectionUpdate-Item
+E2connectionUpdate-List N e2ap.ies id-E2connectionUpdateAdd
+E2connectionUpdate-List N e2ap.ies id-E2connectionUpdateModify
+E2connectionUpdateRemove-List N e2ap.ies id-E2connectionUpdateRemove
+E2connectionUpdateRemove-Item N e2ap.ies id-E2connectionUpdateRemove-Item
+TNLinformation N e2ap.ies id-TNLinformation
+TransactionID N e2ap.ies id-TransactionID
+
+E2nodeComponentConfigAddition-List N e2ap.ies id-E2nodeComponentConfigAddition
+E2nodeComponentConfigAddition-Item N e2ap.ies id-E2nodeComponentConfigAddition-Item
+E2nodeComponentConfigAdditionAck-List N e2ap.ies id-E2nodeComponentConfigAdditionAck
+E2nodeComponentConfigAdditionAck-Item N e2ap.ies id-E2nodeComponentConfigAdditionAck-Item
+E2nodeComponentConfigRemoval-List N e2ap.ies id-E2nodeComponentConfigRemoval
+E2nodeComponentConfigRemoval-Item N e2ap.ies id-E2nodeComponentConfigRemoval-Item
+E2nodeComponentConfigRemovalAck-List N e2ap.ies id-E2nodeComponentConfigRemovalAck
+E2nodeComponentConfigRemovalAck-Item N e2ap.ies id-E2nodeComponentConfigRemovalAck-Item
+E2nodeTNLassociationRemoval-List N e2ap.ies id-E2nodeTNLassociationRemoval
+E2nodeTNLassociationRemoval-Item N e2ap.ies id-E2nodeTNLassociationRemoval-Item
+RICsubscription-List-withCause N e2ap.ies id-RICsubscriptionToBeRemoved
+RICsubscription-withCause-Item N e2ap.ies id-RICsubscription-withCause-Item
+
+# New for v3
+RICsubscriptionTime N e2ap.ies id-RICsubscriptionStartTime
+RICsubscriptionTime N e2ap.ies id-RICsubscriptionEndTime
+RICeventTriggerDefinition N e2ap.ies id-RICeventTriggerDefinitionToBeModified
+RICactions-ToBeRemovedForModification-List N e2ap.ies id-RICactionsToBeRemovedForModification-List
+RICaction-ToBeRemovedForModification-Item N e2ap.ies id-RICaction-ToBeRemovedForModification-Item
+RICactions-ToBeModifiedForModification-List N e2ap.ies id-RICactionsToBeModifiedForModification-List
+RICaction-ToBeModifiedForModification-Item N e2ap.ies id-RICaction-ToBeModifiedForModification-Item
+RICactions-ToBeAddedForModification-List N e2ap.ies id-RICactionsToBeAddedForModification-List
+RICaction-ToBeAddedForModification-Item N e2ap.ies id-RICaction-ToBeAddedForModification-Item
+RICactions-RemovedForModification-List N e2ap.ies id-RICactionsRemovedForModification-List
+RICaction-RemovedForModification-Item N e2ap.ies id-RICaction-RemovedForModification-Item
+RICactions-FailedToBeRemovedForModification-List N e2ap.ies id-RICactionsFailedToBeRemovedForModification-List
+RICaction-FailedToBeRemovedForModification-Item N e2ap.ies id-RICaction-FailedToBeRemovedForModification-Item
+RICactions-ModifiedForModification-List N e2ap.ies id-RICactionsModifiedForModification-List
+RICaction-ModifiedForModification-Item N e2ap.ies id-RICaction-ModifiedForModification-Item
+RICactions-FailedToBeModifiedForModification-List N e2ap.ies id-RICactionsFailedToBeModifiedForModification-List
+RICaction-FailedToBeModifiedForModification-Item N e2ap.ies id-RICaction-FailedToBeModifiedForModification-Item
+RICactions-AddedForModification-List N e2ap.ies id-RICactionsAddedForModification-List
+RICaction-AddedForModification-Item N e2ap.ies id-RICaction-AddedForModification-Item
+RICactions-FailedToBeAddedForModification-List N e2ap.ies id-RICactionsFailedToBeAddedForModification-List
+RICaction-FailedToBeAddedForModification-Item N e2ap.ies id-RICaction-FailedToBeAddedForModification-Item
+RICactions-RequiredToBeModified-List N e2ap.ies id-RICactionsRequiredToBeModified-List
+RICaction-RequiredToBeModified-Item N e2ap.ies id-RICaction-RequiredToBeModified-Item
+RICactions-RequiredToBeRemoved-List N e2ap.ies id-RICactionsRequiredToBeRemoved-List
+RICaction-RequiredToBeRemoved-Item N e2ap.ies id-RICaction-RequiredToBeRemoved-Item
+RICactions-ConfirmedForModification-List N e2ap.ies id-RICactionsConfirmedForModification-List
+RICaction-ConfirmedForModification-Item N e2ap.ies id-RICaction-ConfirmedForModification-Item
+RICactions-RefusedToBeModified-List N e2ap.ies id-RICactionsRefusedToBeModified-List
+RICaction-RefusedToBeModified-Item N e2ap.ies id-RICaction-RefusedToBeModified-Item
+RICactions-ConfirmedForRemoval-List N e2ap.ies id-RICactionsConfirmedForRemoval-List
+RICaction-ConfirmedForRemoval-Item N e2ap.ies id-RICaction-ConfirmedForRemoval-Item
+RICactions-RefusedToBeRemoved-List N e2ap.ies id-RICactionsRefusedToBeRemoved-List
+RICaction-RefusedToBeRemoved-Item N e2ap.ies id-RICaction-RefusedToBeRemoved-Item
+RICqueryHeader N e2ap.ies id-RICqueryHeader
+RICqueryDefinition N e2ap.ies id-RICqueryDefinition
+RICqueryOutcome N e2ap.ies id-RICqueryOutcome
+
+#e2ap-PROTOCOL-EXTENSION
+
+#E2AP-ELEMENTARY-PROCEDURE
+
+E2connectionUpdate N e2ap.proc.imsg id-E2connectionUpdate
+E2connectionUpdateAcknowledge N e2ap.proc.sout id-E2connectionUpdate
+E2connectionUpdateFailure N e2ap.proc.uout id-E2connectionUpdate
+
+E2nodeConfigurationUpdate N e2ap.proc.imsg id-E2nodeConfigurationUpdate
+E2nodeConfigurationUpdateAcknowledge N e2ap.proc.sout id-E2nodeConfigurationUpdate
+E2nodeConfigurationUpdateFailure N e2ap.proc.uout id-E2nodeConfigurationUpdate
+
+E2setupFailure N e2ap.proc.uout id-E2setup
+E2setupRequest N e2ap.proc.imsg id-E2setup
+E2setupResponse N e2ap.proc.sout id-E2setup
+
+ErrorIndication N e2ap.proc.imsg id-ErrorIndication
+
+ResetRequest N e2ap.proc.imsg id-Reset
+ResetResponse N e2ap.proc.sout id-Reset
+
+RICcontrolAcknowledge N e2ap.proc.sout id-RICcontrol
+RICcontrolFailure N e2ap.proc.uout id-RICcontrol
+RICcontrolRequest N e2ap.proc.imsg id-RICcontrol
+
+RICindication N e2ap.proc.imsg id-RICindication
+
+RICserviceQuery N e2ap.proc.imsg id-RICserviceQuery
+
+RICserviceUpdate N e2ap.proc.imsg id-RICserviceUpdate
+RICserviceUpdateAcknowledge N e2ap.proc.sout id-RICserviceUpdate
+RICserviceUpdateFailure N e2ap.proc.uout id-RICserviceUpdate
+
+RICsubscriptionFailure N e2ap.proc.uout id-RICsubscription
+RICsubscriptionRequest N e2ap.proc.imsg id-RICsubscription
+RICsubscriptionResponse N e2ap.proc.sout id-RICsubscription
+
+RICsubscriptionDeleteFailure N e2ap.proc.uout id-RICsubscriptionDelete
+RICsubscriptionDeleteRequest N e2ap.proc.imsg id-RICsubscriptionDelete
+RICsubscriptionDeleteResponse N e2ap.proc.sout id-RICsubscriptionDelete
+
+RICsubscriptionDeleteRequired N e2ap.proc.sout id-RICsubscriptionDeleteRequired
+
+E2RemovalFailure N e2ap.proc.uout id-E2removal
+E2RemovalRequest N e2ap.proc.imsg id-E2removal
+E2RemovalResponse N e2ap.proc.sout id-E2removal
+
+RICsubscriptionModificationFailure N e2ap.proc.uout id-RICsubscriptionModification
+RICsubscriptionModificationRequest N e2ap.proc.imsg id-RICsubscriptionModification
+RICsubscriptionModificationResponse N e2ap.proc.sout id-RICsubscriptionModification
+
+RICsubscriptionModificationRefuse N e2ap.proc.uout id-RICsubscriptionModificationRequired
+RICsubscriptionModificationRequired N e2ap.proc.imsg id-RICsubscriptionModificationRequired
+RICsubscriptionModificationConfirm N e2ap.proc.sout id-RICsubscriptionModificationRequired
+
+RICQueryFailure N e2ap.proc.uout id-RICquery
+RICQueryRequest N e2ap.proc.imsg id-RICquery
+RICQueryResponse N e2ap.proc.sout id-RICquery
+
+
+
+#.FN_BODY RANfunctionID VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ /* Store value in packet-private data */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->ran_function_id = value;
+
+
+#.FN_BODY GlobalgNB-ID/gnb-id
+ int start_offset = offset;
+%(DEFAULT_BODY)s
+ /* Store value in packet-private data */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ /* Limit length, but really can't be > 5 bytes.. */
+ e2ap_data->gnb_id_len = MIN((offset-start_offset)/8, MAX_GNB_ID_BYTES);
+ tvb_memcpy(tvb, &e2ap_data->gnb_id_bytes, start_offset/8, e2ap_data->gnb_id_len);
+ update_conversation_from_gnb_id(actx);
+
+
+
+#.FN_BODY TNLinformation/tnlAddress VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb;
+%(DEFAULT_BODY)s
+ if (tvb_captured_length(value_tvb)==4) {
+ proto_item_append_text(tree, " (%%s", tvb_ip_to_str(actx->pinfo->pool, value_tvb, 0));
+ }
+ else {
+ proto_item_append_text(tree, " (%%s", tvb_ip6_to_str(actx->pinfo->pool, value_tvb, 0));
+ }
+
+#.FN_BODY TNLinformation/tnlPort
+ proto_item_append_text(tree, ":%%u)", tvb_get_ntohs(tvb, offset/8));
+%(DEFAULT_BODY)s
+
+
+#.FN_BODY E2nodeComponentConfiguration/e2nodeComponentRequestPart VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb;
+%(DEFAULT_BODY)s
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ if (e2ap_data->component_configuration_dissector) {
+ col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "|");
+ col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
+ call_dissector(e2ap_data->component_configuration_dissector, value_tvb, actx->pinfo, tree);
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);
+ }
+
+#.FN_BODY E2nodeComponentConfiguration/e2nodeComponentResponsePart VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb;
+%(DEFAULT_BODY)s
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ if (e2ap_data->component_configuration_dissector) {
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
+ call_dissector(e2ap_data->component_configuration_dissector, value_tvb, actx->pinfo, tree);
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);
+ }
+
+
+#.FN_BODY E2nodeComponentID/e2nodeComponentInterfaceTypeNG
+%(DEFAULT_BODY)s
+ /* Store value in packet-private data */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->component_configuration_dissector = find_dissector("ngap");
+
+#.FN_BODY E2nodeComponentID/e2nodeComponentInterfaceTypeXn
+%(DEFAULT_BODY)s
+ /* Store value in packet-private data */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->component_configuration_dissector = find_dissector("xnap");
+
+#.FN_BODY E2nodeComponentID/e2nodeComponentInterfaceTypeE1
+%(DEFAULT_BODY)s
+ /* Store value in packet-private data */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->component_configuration_dissector = find_dissector("e1ap");
+
+#.FN_BODY E2nodeComponentID/e2nodeComponentInterfaceTypeF1
+%(DEFAULT_BODY)s
+ /* Store value in packet-private data */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->component_configuration_dissector = find_dissector("f1ap");
+
+# There is not yet a dissector for W1AP..
+
+#.FN_BODY E2nodeComponentID/e2nodeComponentInterfaceTypeS1
+%(DEFAULT_BODY)s
+ /* Store value in packet-private data */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->component_configuration_dissector = find_dissector("s1ap");
+
+#.FN_BODY E2nodeComponentID/e2nodeComponentInterfaceTypeX2
+%(DEFAULT_BODY)s
+ /* Store value in packet-private data */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
+ e2ap_data->component_configuration_dissector = find_dissector("x2ap");
+
+
+
+#.FN_HDR E2connectionUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2connectionUpdate");
+
+#.FN_HDR E2connectionUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2connectionUpdateAcknowledge");
+
+#.FN_HDR E2connectionUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2connectionUpdateFailure");
+
+
+#.FN_HDR E2nodeConfigurationUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2nodeConfigurationUpdate");
+
+#.FN_HDR E2nodeConfigurationUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2nodeConfigurationUpdateAcknowledge");
+
+#.FN_HDR E2nodeConfigurationUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2nodeConfigurationUpdateFailure");
+
+
+#.FN_HDR E2setupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2setupFailure");
+
+#.FN_HDR E2setupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2setupRequest");
+
+#.FN_HDR E2setupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2setupResponse");
+
+
+#.FN_HDR ErrorIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
+
+
+#.FN_HDR ResetRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
+
+#.FN_HDR ResetResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
+
+
+#.FN_HDR RICcontrolAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICcontrolAcknowledge");
+
+#.FN_HDR RICcontrolFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICcontrolFailure");
+
+#.FN_HDR RICcontrolRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICcontrolRequest");
+
+
+#.FN_HDR RICindication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICindication");
+
+
+#.FN_HDR RICserviceQuery
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceQuery");
+
+
+#.FN_HDR RICserviceUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceUpdate");
+
+#.FN_HDR RICserviceUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceUpdateAcknowledge");
+
+#.FN_HDR RICserviceUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceUpdateFailure");
+
+
+
+#.FN_HDR RICsubscriptionFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionFailure");
+
+#.FN_HDR RICsubscriptionRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionRequest");
+
+#.FN_HDR RICsubscriptionResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionResponse");
+
+
+
+#.FN_HDR RICsubscriptionDeleteFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionDeleteFailure");
+
+#.FN_HDR RICsubscriptionDeleteRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionDeleteRequest");
+
+#.FN_HDR RICsubscriptionDeleteResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionDeleteResponse");
+
+#.FN_HDR RICsubscriptionDeleteRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionDeleteRequired");
+
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/e2ap/e2sm-kpm-v3.00.asn b/epan/dissectors/asn1/e2ap/e2sm-kpm-v3.00.asn
new file mode 100644
index 00000000..388c18f0
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/e2sm-kpm-v3.00.asn
@@ -0,0 +1,448 @@
+-- ASN1START
+-- **************************************************************
+-- E2SM-KPM Information Element Definitions
+-- **************************************************************
+
+E2SM-KPM-IEs {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) oran(53148) e2(1) version3(3) e2sm(2) e2sm-KPMMON-IEs (2)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+-- IEs
+-- **************************************************************
+
+IMPORTS
+ CGI,
+ FiveQI,
+ PLMNIdentity,
+ QCI,
+ QosFlowIdentifier,
+ RANfunction-Name,
+ RIC-Format-Type,
+ RIC-Style-Name,
+ RIC-Style-Type,
+ S-NSSAI,
+ UEID
+FROM E2SM-COMMON-IEs;
+
+TimeStamp ::= OCTET STRING (SIZE(8))
+
+BinIndex ::= INTEGER (1.. 65535, ...)
+
+BinRangeValue ::= CHOICE {
+ valueInt INTEGER,
+ valueReal REAL,
+ ...
+}
+
+GranularityPeriod ::= INTEGER (1.. 4294967295)
+
+-- LogicalOR ::= ENUMERATED {true, ...}
+
+MeasurementType ::= CHOICE {
+ measName MeasurementTypeName,
+ measID MeasurementTypeID,
+ ...
+}
+
+MeasurementTypeName ::= PrintableString(SIZE(1.. 150, ...))
+
+MeasurementTypeID ::= INTEGER (1.. 65536, ...)
+
+MeasurementLabel ::= SEQUENCE {
+ noLabel ENUMERATED {true, ...} OPTIONAL,
+ plmnID PLMNIdentity OPTIONAL,
+ sliceID S-NSSAI OPTIONAL,
+ fiveQI FiveQI OPTIONAL,
+ qFI QosFlowIdentifier OPTIONAL,
+ qCI QCI OPTIONAL,
+ qCImax QCI OPTIONAL,
+ qCImin QCI OPTIONAL,
+ aRPmax INTEGER (1.. 15, ...) OPTIONAL,
+ aRPmin INTEGER (1.. 15, ...) OPTIONAL,
+ bitrateRange INTEGER (1.. 65535, ...) OPTIONAL,
+ layerMU-MIMO INTEGER (1.. 65535, ...) OPTIONAL,
+ sUM ENUMERATED {true, ...} OPTIONAL,
+ distBinX INTEGER (1.. 65535, ...) OPTIONAL,
+ distBinY INTEGER (1.. 65535, ...) OPTIONAL,
+ distBinZ INTEGER (1.. 65535, ...) OPTIONAL,
+ preLabelOverride ENUMERATED {true, ...} OPTIONAL,
+ startEndInd ENUMERATED {start, end, ...} OPTIONAL,
+ min ENUMERATED {true, ...} OPTIONAL,
+ max ENUMERATED {true, ...} OPTIONAL,
+ avg ENUMERATED {true, ...} OPTIONAL,
+ ...,
+ ssbIndex INTEGER (1.. 65535, ...) OPTIONAL,
+ nonGoB-BFmode-Index INTEGER (1.. 65535, ...) OPTIONAL,
+ mIMO-mode-Index INTEGER (1.. 2, ...) OPTIONAL
+}
+
+TestCondInfo ::= SEQUENCE{
+ testType TestCond-Type,
+ testExpr TestCond-Expression OPTIONAL,
+ testValue TestCond-Value OPTIONAL,
+ ...
+}
+
+TestCond-Type ::= CHOICE{
+ gBR ENUMERATED {true, ...},
+ aMBR ENUMERATED {true, ...},
+ isStat ENUMERATED {true, ...},
+ isCatM ENUMERATED {true, ...},
+ rSRP ENUMERATED {true, ...},
+ rSRQ ENUMERATED {true, ...},
+ ...,
+ ul-rSRP ENUMERATED {true, ...},
+ cQI ENUMERATED {true, ...},
+ fiveQI ENUMERATED {true, ...},
+ qCI ENUMERATED {true, ...},
+ sNSSAI ENUMERATED {true, ...}
+}
+
+TestCond-Expression ::= ENUMERATED {
+equal,
+greaterthan,
+lessthan,
+contains,
+present,
+...
+}
+
+TestCond-Value ::= CHOICE{
+ valueInt INTEGER,
+ valueEnum INTEGER,
+ valueBool BOOLEAN,
+ valueBitS BIT STRING,
+ valueOctS OCTET STRING,
+ valuePrtS PrintableString,
+ ...,
+ valueReal REAL
+}
+
+-- **************************************************************
+-- Lists
+-- **************************************************************
+
+maxnoofCells INTEGER ::= 16384
+-- maxnoofRICStyles INTEGER ::= 63
+maxnoofMeasurementInfo INTEGER ::= 65535
+maxnoofLabelInfo INTEGER ::= 2147483647
+maxnoofMeasurementRecord INTEGER ::= 65535
+maxnoofMeasurementValue INTEGER ::= 2147483647
+maxnoofConditionInfo INTEGER ::= 32768
+-- maxnoofUEID INTEGER ::= 65535
+maxnoofConditionInfoPerSub INTEGER ::= 32768
+maxnoofUEIDPerSub INTEGER ::= 65535
+maxnoofUEMeasReport INTEGER ::= 65535
+maxnoofBin INTEGER ::= 65535
+
+BinRangeDefinition ::= SEQUENCE {
+binRangeListX BinRangeList,
+binRangeListY BinRangeList OPTIONAL -- This IE shall not be present for a distribution measurement type that doesn't use Distribution Bin Y --,
+binRangeListZ BinRangeList OPTIONAL -- This IE shall not be present for a distribution measurement type that doesn't use Distribution Bin Z --,
+...
+}
+
+BinRangeList ::= SEQUENCE (SIZE(1..maxnoofBin)) OF BinRangeItem
+
+BinRangeItem ::= SEQUENCE {
+ binIndex BinIndex,
+ startValue BinRangeValue,
+ endValue BinRangeValue,
+ ...
+}
+
+DistMeasurementBinRangeList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF DistMeasurementBinRangeItem
+
+DistMeasurementBinRangeItem ::= SEQUENCE {
+ measType MeasurementType,
+ binRangeDef BinRangeDefinition,
+ ...
+}
+
+MeasurementInfoList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementInfoItem
+
+MeasurementInfoItem ::= SEQUENCE {
+ measType MeasurementType,
+ labelInfoList LabelInfoList,
+ ...
+}
+
+LabelInfoList ::= SEQUENCE (SIZE(1..maxnoofLabelInfo)) OF LabelInfoItem
+
+LabelInfoItem ::= SEQUENCE {
+ measLabel MeasurementLabel,
+ ...
+}
+
+MeasurementData ::= SEQUENCE (SIZE(1..maxnoofMeasurementRecord)) OF MeasurementDataItem
+
+MeasurementDataItem ::= SEQUENCE {
+measRecord MeasurementRecord,
+incompleteFlag ENUMERATED {true, ...} OPTIONAL,
+...
+}
+
+MeasurementRecord ::= SEQUENCE (SIZE(1..maxnoofMeasurementValue)) OF MeasurementRecordItem
+
+MeasurementRecordItem ::= CHOICE {
+ integer INTEGER (0.. 4294967295),
+ real REAL,
+ noValue NULL,
+ ...
+}
+
+MeasurementInfo-Action-List ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementInfo-Action-Item
+
+MeasurementInfo-Action-Item ::= SEQUENCE {
+ measName MeasurementTypeName,
+ measID MeasurementTypeID OPTIONAL,
+ ...,
+ binRangeDef BinRangeDefinition OPTIONAL
+}
+
+MeasurementCondList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementCondItem
+
+MeasurementCondItem ::= SEQUENCE {
+ measType MeasurementType,
+ matchingCond MatchingCondList,
+ ...,
+ binRangeDef BinRangeDefinition OPTIONAL
+}
+
+MeasurementCondUEidList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementCondUEidItem
+
+MeasurementCondUEidItem ::= SEQUENCE {
+ measType MeasurementType,
+ matchingCond MatchingCondList,
+ matchingUEidList MatchingUEidList OPTIONAL,
+ ...,
+ matchingUEidPerGP MatchingUEidPerGP OPTIONAL
+}
+
+MatchingCondList ::= SEQUENCE (SIZE(1..maxnoofConditionInfo)) OF MatchingCondItem
+
+MatchingCondItem ::= SEQUENCE {
+matchingCondChoice MatchingCondItem-Choice,
+logicalOR LogicalOR OPTIONAL,
+...
+}
+
+MatchingCondItem-Choice ::= CHOICE{
+ measLabel MeasurementLabel,
+ testCondInfo TestCondInfo,
+ ...
+}
+
+MatchingUEidList ::= SEQUENCE (SIZE(1..maxnoofUEID)) OF MatchingUEidItem
+
+MatchingUEidItem ::= SEQUENCE{
+ ueID UEID,
+ ...
+}
+
+MatchingUEidPerGP ::= SEQUENCE (SIZE(1..maxnoofMeasurementRecord)) OF MatchingUEidPerGP-Item
+
+MatchingUEidPerGP-Item ::= SEQUENCE{
+ matchedPerGP CHOICE{
+ noUEmatched ENUMERATED {true, ...},
+ oneOrMoreUEmatched MatchingUEidList-PerGP,
+ ...
+ },
+ ...
+}
+
+MatchingUEidList-PerGP ::= SEQUENCE (SIZE(1..maxnoofUEID)) OF MatchingUEidItem-PerGP
+
+MatchingUEidItem-PerGP ::= SEQUENCE{
+ ueID UEID,
+ ...
+}
+
+
+MatchingUeCondPerSubList ::= SEQUENCE (SIZE(1..maxnoofConditionInfoPerSub)) OF MatchingUeCondPerSubItem
+
+MatchingUeCondPerSubItem ::= SEQUENCE{
+ testCondInfo TestCondInfo,
+ ...,
+ logicalOR LogicalOR OPTIONAL
+}
+
+MatchingUEidPerSubList ::= SEQUENCE (SIZE(2..maxnoofUEIDPerSub)) OF MatchingUEidPerSubItem
+
+MatchingUEidPerSubItem ::= SEQUENCE{
+ ueID UEID,
+ ...
+}
+
+UEMeasurementReportList ::= SEQUENCE (SIZE(1..maxnoofUEMeasReport)) OF UEMeasurementReportItem
+
+UEMeasurementReportItem ::= SEQUENCE{
+ ueID UEID,
+ measReport E2SM-KPM-IndicationMessage-Format1,
+ ...
+}
+
+
+
+-- **************************************************************
+-- E2SM-KPM Service Model IEs
+-- **************************************************************
+
+-- **************************************************************
+-- Event Trigger Definition OCTET STRING contents
+-- **************************************************************
+
+E2SM-KPM-EventTriggerDefinition ::= SEQUENCE{
+ eventDefinition-formats CHOICE{
+ eventDefinition-Format1 E2SM-KPM-EventTriggerDefinition-Format1,
+ ...
+ },
+ ...
+}
+
+E2SM-KPM-EventTriggerDefinition-Format1 ::= SEQUENCE{
+ reportingPeriod INTEGER (1.. 4294967295),
+ ...
+}
+
+-- **************************************************************
+-- Action Definition OCTET STRING contents
+-- **************************************************************
+
+E2SM-KPM-ActionDefinition ::= SEQUENCE{
+ ric-Style-Type RIC-Style-Type,
+ actionDefinition-formats CHOICE{
+ actionDefinition-Format1 E2SM-KPM-ActionDefinition-Format1,
+ actionDefinition-Format2 E2SM-KPM-ActionDefinition-Format2,
+ actionDefinition-Format3 E2SM-KPM-ActionDefinition-Format3,
+ ...,
+ actionDefinition-Format4 E2SM-KPM-ActionDefinition-Format4,
+ actionDefinition-Format5 E2SM-KPM-ActionDefinition-Format5
+ },
+ ...
+}
+
+E2SM-KPM-ActionDefinition-Format1 ::= SEQUENCE {
+ measInfoList MeasurementInfoList,
+ granulPeriod GranularityPeriod,
+ cellGlobalID CGI OPTIONAL,
+ ...,
+ distMeasBinRangeInfo DistMeasurementBinRangeList OPTIONAL
+}
+
+E2SM-KPM-ActionDefinition-Format2 ::= SEQUENCE {
+ ueID UEID,
+ subscriptInfo E2SM-KPM-ActionDefinition-Format1,
+ ...
+}
+
+E2SM-KPM-ActionDefinition-Format3 ::= SEQUENCE {
+ measCondList MeasurementCondList,
+ granulPeriod GranularityPeriod,
+ cellGlobalID CGI OPTIONAL,
+ ...
+}
+
+E2SM-KPM-ActionDefinition-Format4 ::= SEQUENCE {
+ matchingUeCondList MatchingUeCondPerSubList,
+ subscriptionInfo E2SM-KPM-ActionDefinition-Format1,
+ ...
+}
+
+E2SM-KPM-ActionDefinition-Format5 ::= SEQUENCE {
+ matchingUEidList MatchingUEidPerSubList,
+ subscriptionInfo E2SM-KPM-ActionDefinition-Format1,
+ ...
+}
+
+
+-- **************************************************************
+-- Indication Header OCTET STRING contents
+-- **************************************************************
+
+E2SM-KPM-IndicationHeader ::= SEQUENCE{
+ indicationHeader-formats CHOICE{
+ indicationHeader-Format1 E2SM-KPM-IndicationHeader-Format1,
+ ...
+ },
+ ...
+}
+
+E2SM-KPM-IndicationHeader-Format1 ::= SEQUENCE{
+ colletStartTime TimeStamp,
+ fileFormatversion PrintableString (SIZE (0..15), ...) OPTIONAL,
+ senderName PrintableString (SIZE (0..400), ...) OPTIONAL,
+ senderType PrintableString (SIZE (0..8), ...) OPTIONAL,
+ vendorName PrintableString (SIZE (0..32), ...) OPTIONAL,
+ ...
+}
+
+-- **************************************************************
+-- Indication Message OCTET STRING contents
+-- **************************************************************
+
+E2SM-KPM-IndicationMessage ::= SEQUENCE{
+ indicationMessage-formats CHOICE{
+ indicationMessage-Format1 E2SM-KPM-IndicationMessage-Format1,
+ indicationMessage-Format2 E2SM-KPM-IndicationMessage-Format2,
+ ...,
+ indicationMessage-Format3 E2SM-KPM-IndicationMessage-Format3
+ },
+ ...
+}
+
+E2SM-KPM-IndicationMessage-Format1 ::= SEQUENCE {
+ measData MeasurementData,
+ measInfoList MeasurementInfoList OPTIONAL,
+ granulPeriod GranularityPeriod OPTIONAL,
+ ...
+}
+
+E2SM-KPM-IndicationMessage-Format2 ::= SEQUENCE {
+ measData MeasurementData,
+ measCondUEidList MeasurementCondUEidList,
+ granulPeriod GranularityPeriod OPTIONAL,
+ ...
+}
+
+E2SM-KPM-IndicationMessage-Format3 ::= SEQUENCE {
+ ueMeasReportList UEMeasurementReportList,
+ ...
+}
+
+
+-- ***************************************************************
+-- RAN Function Definition OCTET STRING contents
+-- ***************************************************************
+
+E2SM-KPM-RANfunction-Description ::= SEQUENCE{
+ ranFunction-Name RANfunction-Name,
+ ric-EventTriggerStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RIC-EventTriggerStyle-Item OPTIONAL,
+ ric-ReportStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RIC-ReportStyle-Item OPTIONAL,
+ ...
+}
+
+RIC-EventTriggerStyle-Item ::= SEQUENCE{
+ ric-EventTriggerStyle-Type RIC-Style-Type,
+ ric-EventTriggerStyle-Name RIC-Style-Name,
+ ric-EventTriggerFormat-Type RIC-Format-Type,
+ ...
+}
+
+RIC-ReportStyle-Item ::= SEQUENCE{
+ ric-ReportStyle-Type RIC-Style-Type,
+ ric-ReportStyle-Name RIC-Style-Name,
+ ric-ActionFormat-Type RIC-Format-Type,
+ measInfo-Action-List MeasurementInfo-Action-List,
+ ric-IndicationHeaderFormat-Type RIC-Format-Type,
+ ric-IndicationMessageFormat-Type RIC-Format-Type,
+ ...
+}
+
+END
+
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/e2sm-ni-v1.00.asn b/epan/dissectors/asn1/e2ap/e2sm-ni-v1.00.asn
new file mode 100644
index 00000000..52b04b1a
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/e2sm-ni-v1.00.asn
@@ -0,0 +1,486 @@
+-- ASN1START
+-- **************************************************************
+-- E2SM-NI
+-- Information Element Definitions
+--
+-- **************************************************************
+
+E2SM-NI-IEs {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1
+(1) e2sm(2) e2sm-NI-IEs (1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+-- IEs
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxofInterfaceProtocolTests INTEGER ::= 15
+maxofRANueGroups INTEGER ::= 255
+maxofActionParameters INTEGER ::= 255
+maxofRANparameters INTEGER ::= 65535
+maxofNItypes INTEGER ::= 63
+maxofRICstyles INTEGER ::= 63
+
+-- **************************************************************
+-- E2SM-NI Service model IEs
+-- **************************************************************
+
+--
+-- Event Trigger Definition OCTET STRING contents
+--
+
+-- E2SM-NI-EventTriggerDefinition IE
+E2SM-NI-EventTriggerDefinition ::= CHOICE{
+ eventDefinition-Format1 E2SM-NI-EventTriggerDefinition-Format1,
+ ...
+}
+
+-- E2SM-NI-EventTriggerDefinition IE is used for Event Trigger Definition Format 1
+E2SM-NI-EventTriggerDefinition-Format1 ::= SEQUENCE{
+ interface-type NI-Type,
+ interface-ID NI-Identifier,
+ interfaceDirection NI-Direction,
+ interfaceMessageType NI-MessageType,
+ interfaceProtocolIE-List SEQUENCE (SIZE(1..maxofInterfaceProtocolTests)) OF NI-ProtocolIE-Item OPTIONAL,
+ ...
+}
+
+--
+-- Action Definition OCTET STRING contents
+--
+-- E2SM-NI-ActionDefinition IE
+ E2SM-NI-ActionDefinition ::= SEQUENCE{
+ ric-Style-Type RIC-Style-Type,
+ action-Definition-Format E2SM-NI-ActionDefinitionFormat,
+ ...
+}
+
+E2SM-NI-ActionDefinitionFormat ::= CHOICE{
+ actionDefinition-Format1 E2SM-NI-ActionDefinition-Format1,
+ actionDefinition-Format2 E2SM-NI-ActionDefinition-Format2,
+ ...
+}
+
+-- E2SM-NI-ActionDefinition IE is used for Action Format 1
+E2SM-NI-ActionDefinition-Format1 ::= SEQUENCE{
+ actionParameter-List SEQUENCE (SIZE(1..maxofActionParameters)) OF RANparameter-Item OPTIONAL,
+ ...
+}
+
+
+-- E2SM-NI-ActionDefinition IE is used for Action Format 2
+E2SM-NI-ActionDefinition-Format2 ::= SEQUENCE{
+ ranUEgroup-List SEQUENCE (SIZE(1..maxofRANueGroups)) OF RANueGroup-Item OPTIONAL,
+ ...
+}
+
+--
+-- Indication Header OCTET STRING contents
+--
+
+-- E2SM-NI-IndicationHeader IE
+E2SM-NI-IndicationHeader ::= CHOICE{
+ indicationHeader-Format1 E2SM-NI-IndicationHeader-Format1,
+ ...
+}
+
+-- E2SM-NI-IndicationHeader Format 1
+E2SM-NI-IndicationHeader-Format1 ::= SEQUENCE{
+ interface-type NI-Type,
+ interface-ID NI-Identifier,
+ interfaceDirection NI-Direction,
+ timestamp NI-TimeStamp OPTIONAL,
+ ...
+}
+
+--
+-- Indication Message OCTET STRING contents
+--
+
+-- E2SM-NI-IndicationMessage IE
+E2SM-NI-IndicationMessage ::= CHOICE{
+ indicationMessage-Format1 E2SM-NI-IndicationMessage-Format1,
+ ...
+}
+
+-- E2SM-NI-IndicationMessage IE
+E2SM-NI-IndicationMessage-Format1 ::= SEQUENCE{
+ interfaceMessage NI-Message,
+ ...
+}
+
+--
+-- Call Process ID
+--
+
+E2SM-NI-CallProcessID ::= CHOICE{
+ callProcessID-Format1 E2SM-NI-CallProcessID-Format1,
+ callProcessID-Format2 E2SM-NI-CallProcessID-Format2,
+ ...
+}
+-- E2SM-NI-callProcessID IE Format 1
+
+E2SM-NI-CallProcessID-Format1 ::= SEQUENCE{
+ callProcess-ID RANcallProcess-ID-number,
+ ...
+}
+
+E2SM-NI-CallProcessID-Format2 ::= SEQUENCE{
+ callProcess-ID RANcallProcess-ID-string,
+ ...
+}
+
+--
+-- Control Header OCTET STRING contents
+--
+
+-- E2SM-NI-ControlHeader IE
+E2SM-NI-ControlHeader ::= CHOICE{
+ controlHeader-Format1 E2SM-NI-ControlHeader-Format1,
+ ...
+}
+-- E2SM-NI-ControlHeader Format 1
+E2SM-NI-ControlHeader-Format1 ::= SEQUENCE{
+ interface-type NI-Type,
+ interface-ID NI-Identifier,
+ interface-Direction NI-Direction,
+ ric-Control-Message-Priority RIC-Control-Message-Priority OPTIONAL,
+ ...
+}
+
+
+--
+-- Control Message OCTET STRING contents
+--
+
+-- E2SM-NI-ControlHeader IE
+E2SM-NI-ControlMessage ::= CHOICE{
+ controlMessage-Format1 E2SM-NI-ControlMessage-Format1,
+ ...
+}
+
+-- E2SM-NI-ControlMessage Format 1
+E2SM-NI-ControlMessage-Format1 ::= SEQUENCE{
+ interfaceMessage NI-Message,
+ ...
+}
+
+--
+-- Control Outcome OCTET STRING contents
+--
+
+-- E2SM-NI-ControlOutcome IE
+E2SM-NI-ControlOutcome ::= CHOICE{
+ controlOutcome-Format1 E2SM-NI-ControlOutcome-Format1,
+ ...
+}
+
+-- E2SM-NI-ControlOutcome Format 1
+E2SM-NI-ControlOutcome-Format1 ::= SEQUENCE{
+ outcomeElement-List SEQUENCE (SIZE(1..maxofRANparameters)) OF RANparameter-Item OPTIONAL,
+ ...
+}
+
+--
+-- RAN Function Description OCTET STRING contents
+--
+
+-- E2SM-NI-RANfunction-Description
+E2SM-NI-RANfunction-Description ::= SEQUENCE{
+ ranFunction-Name RANfunction-Name,
+ ni-Type-List SEQUENCE (SIZE(1..maxofNItypes)) OF E2SM-NI-RANfunction-Item OPTIONAL,
+ ...
+}
+
+E2SM-NI-RANfunction-Item ::= SEQUENCE{
+ interface-type NI-Type,
+ ric-EventTriggerStyle-List SEQUENCE (SIZE(1..maxofRICstyles)) OF RIC-EventTriggerStyle-List OPTIONAL,
+ ric-ReportStyle-List SEQUENCE (SIZE(1..maxofRICstyles)) OF RIC-ReportStyle-List OPTIONAL,
+ ric-InsertStyle-List SEQUENCE (SIZE(1..maxofRICstyles)) OF RIC-InsertStyle-List OPTIONAL,
+ ric-ControlStyle-List SEQUENCE (SIZE(1..maxofRICstyles)) OF RIC-ControlStyle-List OPTIONAL,
+ ric-PolicyStyle-List SEQUENCE (SIZE(1..maxofRICstyles)) OF RIC-PolicyStyle-List OPTIONAL,
+ ...
+}
+
+--
+-- commmon IEs
+--
+
+-- A
+-- B
+-- C
+-- D
+-- E
+-- F
+-- G
+Global-eNB-ID ::= GlobalENB-ID
+Global-en-gNB-ID ::= GlobalenGNB-ID
+Global-gNB-DU-ID ::= SEQUENCE{
+ global-ng-RAN-ID Global-ng-RAN-ID,
+ gNB-DU-ID GNB-DU-ID
+}
+
+Global-gNB-CU-UP-ID ::= SEQUENCE{
+ global-ng-RAN-ID Global-ng-RAN-ID,
+ gNB-CU-UP-ID GNB-CU-UP-ID
+}
+
+Global-ng-RAN-ID ::= GlobalNG-RANNode-ID
+-- H
+-- I
+-- J
+-- K
+-- L
+-- M
+-- N
+NI-Direction ::= ENUMERATED{
+ incoming,
+ outgoing,
+ both,
+ ...
+}
+
+
+
+NI-Identifier ::= CHOICE{
+ global-eNB-ID Global-eNB-ID,
+ global-en-gNB-ID Global-en-gNB-ID,
+ global-ng-RAN-ID Global-ng-RAN-ID,
+ global-gNB-DU-ID Global-gNB-DU-ID,
+ global-gNB-CU-UP-ID Global-gNB-CU-UP-ID,
+ ...
+}
+
+
+
+NI-Message ::= OCTET STRING
+
+NI-MessageType::= CHOICE{
+ s1MessageType NI-MessageTypeS1,
+ x2MessageType NI-MessageTypeX2,
+ ngMessageType NI-MessageTypeNG,
+ xnMessageType NI-MessageTypeXn,
+ f1MessageType NI-MessageTypeF1,
+ e1MessageType NI-MessageTypeE1,
+ ...
+}
+
+NI-MessageTypeS1 ::= NI-MessageTypeApproach1
+NI-MessageTypeX2 ::= NI-MessageTypeApproach1
+NI-MessageTypeNG ::= NI-MessageTypeApproach1
+NI-MessageTypeXn ::= NI-MessageTypeApproach1
+NI-MessageTypeF1 ::= NI-MessageTypeApproach1
+NI-MessageTypeE1 ::= NI-MessageTypeApproach1
+
+NI-MessageTypeApproach1 ::= SEQUENCE {
+ procedureCode ProcedureCode,
+ typeOfMessage TypeOfMessage,
+ ...
+}
+
+TypeOfMessage ::= ENUMERATED { nothing, initiating-message, successful-outcome, unsuccessful-outcome }
+
+
+NI-ProtocolIE-Item ::= SEQUENCE{
+ interfaceProtocolIE-ID NI-ProtocolIE-ID,
+ interfaceProtocolIE-Test NI-ProtocolIE-Test,
+ interfaceProtocolIE-Value NI-ProtocolIE-Value,
+ ...
+}
+
+NI-ProtocolIE-ID ::= ProtocolIE-ID
+
+NI-ProtocolIE-Test ::= ENUMERATED{
+ equal,
+ greaterthan,
+ lessthan,
+ contains,
+ present,
+ ...
+}
+
+NI-ProtocolIE-Value ::= CHOICE{
+ valueInt INTEGER,
+ valueEnum INTEGER,
+ valueBool BOOLEAN,
+ valueBitS BIT STRING,
+ valueOctS OCTET STRING,
+ valuePrtS PrintableString,
+ ...
+}
+
+NI-TimeStamp ::= OCTET STRING (SIZE(8))
+
+NI-Type ::= ENUMERATED{
+ s1,
+ x2,
+ ng,
+ xn,
+ f1,
+ e1,
+ ...
+}
+
+-- O
+-- P
+-- Q
+-- R
+
+RANcallProcess-ID-number ::= INTEGER
+
+RANcallProcess-ID-string ::= PrintableString(SIZE(1..150,...))
+
+
+RANimperativePolicy ::= SEQUENCE{
+ ranImperativePolicy-List SEQUENCE (SIZE(1..maxofRANparameters)) OF RANparameter-Item OPTIONAL,
+ ...
+}
+
+RANparameter-Item ::= SEQUENCE {
+ ranParameter-ID RANparameter-ID,
+ ranParameter-Value RANparameter-Value,
+ ...
+}
+
+RANparameterDef-Item ::= SEQUENCE {
+ ranParameter-ID RANparameter-ID,
+ ranParameter-Name RANparameter-Name,
+ ranParameter-Type RANparameter-Type,
+ ...
+}
+
+RANparameter-ID ::= INTEGER (0..maxofRANparameters)
+
+RANparameter-Name ::= PrintableString(SIZE(1..150,...))
+
+RANparameter-Test-Condition ::= ENUMERATED{
+ equal,
+ greaterthan,
+ lessthan,
+ contains,
+ present,
+ ...
+}
+
+RANparameter-Type ::= ENUMERATED{
+ integer,
+ enumerated,
+ boolean,
+ bit-string,
+ octet-string,
+ printable-string,
+ ...
+}
+
+RANparameter-Value ::= CHOICE{
+ valueInt INTEGER,
+ valueEnum INTEGER,
+ valueBool BOOLEAN,
+ valueBitS BIT STRING,
+ valueOctS OCTET STRING,
+ valuePrtS PrintableString,
+ ...
+}
+
+
+RANueGroupID ::= INTEGER (0..maxofRANueGroups)
+
+RANueGroup-Item ::= SEQUENCE {
+ ranUEgroupID RANueGroupID,
+ ranUEgroupDefinition RANueGroupDefinition,
+ ranPolicy RANimperativePolicy,
+ ...
+}
+
+
+
+RANueGroupDefinition ::= SEQUENCE{
+ ranUEgroupDef-List SEQUENCE (SIZE(1..maxofRANparameters)) OF RANueGroupDef-Item OPTIONAL,
+ ...
+}
+
+
+RANueGroupDef-Item ::= SEQUENCE{
+ ranParameter-ID RANparameter-ID,
+ ranParameter-Test RANparameter-Test-Condition,
+ ranParameter-Value RANparameter-Value,
+ ...
+}
+
+RIC-Control-Message-Priority ::= INTEGER
+
+
+RIC-ControlStyle-List ::= SEQUENCE{
+ ric-ControlStyle-Type RIC-Style-Type,
+ ric-ControlStyle-Name RIC-Style-Name,
+ ric-ControlFormat-Type RIC-Format-Type,
+ ric-ControlHeaderFormat-Type RIC-Format-Type,
+ ric-ControlMessageFormat-Type RIC-Format-Type,
+ ric-CallProcessIDFormat-Type RIC-Format-Type,
+ ric-ControlOutcomeFormat-Type RIC-Format-Type,
+ ric-ControlOutcomeRanParaDef-List SEQUENCE (SIZE(1..maxofRANparameters)) OF RANparameterDef-Item,
+ ...
+}
+
+RIC-EventTriggerStyle-List ::= SEQUENCE{
+ ric-EventTriggerStyle-Type RIC-Style-Type,
+ ric-EventTriggerStyle-Name RIC-Style-Name,
+ ric-EventTriggerFormat-Type RIC-Format-Type,
+ ...
+}
+RIC-InsertStyle-List ::= SEQUENCE{
+ ric-InsertStyle-Type RIC-Style-Type,
+ ric-InsertStyle-Name RIC-Style-Name,
+ ric-InsertActionFormat-Type RIC-Format-Type,
+ ric-InsertRanParameterDef-List SEQUENCE (SIZE(1..maxofRANparameters)) OF RANparameterDef-Item,
+ ric-IndicationHeaderFormat-Type RIC-Format-Type,
+ ric-IndicationMessageFormat-Type RIC-Format-Type,
+ ric-CallProcessIDFormat-Type RIC-Format-Type,
+ ...
+}
+RIC-PolicyStyle-List ::= SEQUENCE{
+ ric-PolicyStyle-Type RIC-Style-Type,
+ ric-PolicyStyle-Name RIC-Style-Name,
+ ric-PolicyActionFormat-Type RIC-Format-Type,
+ ric-PolicyRanParameterDef-List SEQUENCE (SIZE(1..maxofRANparameters)) OF RANparameterDef-Item,
+ ...
+}
+
+RIC-ReportStyle-List ::= SEQUENCE{
+ ric-ReportStyle-Type RIC-Style-Type,
+ ric-ReportStyle-Name RIC-Style-Name,
+ ric-ReportActionFormat-Type RIC-Format-Type,
+ ric-ReportRanParameterDef-List SEQUENCE (SIZE(1..maxofRANparameters)) OF RANparameterDef-Item,
+ ric-IndicationHeaderFormat-Type RIC-Format-Type,
+ ric-IndicationMessageFormat-Type RIC-Format-Type,
+ ...
+}
+
+-- RIC-Format-Type ::= INTEGER
+
+-- RIC-Style-Type ::= INTEGER
+
+-- RIC-Style-Name ::= PrintableString(SIZE(1..150,...))
+
+
+-- S
+-- T
+-- U
+-- V
+-- W
+-- X
+-- Y
+-- Z
+
+END
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/e2sm-rc-v1.03.asn b/epan/dissectors/asn1/e2ap/e2sm-rc-v1.03.asn
new file mode 100644
index 00000000..0ec017c7
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/e2sm-rc-v1.03.asn
@@ -0,0 +1,1150 @@
+-- ASN1START
+-- **************************************************************
+-- E2SM-RC Information Element Definitions
+-- **************************************************************
+
+E2SM-RC-IEs {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) oran(53148) e2(1) version1(1) e2sm(2) e2sm-RC-IEs (3)}
+
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+
+-- **************************************************************
+-- E2SM Common IEs
+-- **************************************************************
+
+IMPORTS
+ CGI,
+ E-UTRA-ARFCN,
+ EUTRA-CGI,
+ E-UTRA-PCI,
+ E-UTRA-TAC,
+ FiveGS-TAC,
+ InterfaceIdentifier,
+ InterfaceType,
+ Interface-MessageID,
+ NRFrequencyInfo,
+ -- NR-CGI,
+ NR-PCI,
+ RANfunction-Name,
+ RIC-Format-Type,
+ RIC-Style-Name,
+ RIC-Style-Type,
+ RRC-MessageID,
+ ServingCell-ARFCN,
+ ServingCell-PCI,
+ UEID
+FROM E2SM-COMMON-IEs;
+
+
+-- *****************************************************
+-- CONSTANTS
+-- *****************************************************
+
+maxnoofMessages INTEGER ::= 65535
+maxnoofE2InfoChanges INTEGER ::= 65535
+maxnoofUEInfoChanges INTEGER ::= 65535
+maxnoofRRCstate INTEGER ::= 8
+maxnoofParametersToReport INTEGER ::= 65535
+maxnoofPolicyConditions INTEGER ::= 65535
+maxnoofAssociatedRANParameters INTEGER ::= 65535
+maxnoofUEID INTEGER ::= 65535
+maxnoofCellID INTEGER ::= 65535
+maxnoofRANOutcomeParameters INTEGER ::= 255
+maxnoofParametersinStructure INTEGER ::= 65535
+maxnoofItemsinList INTEGER ::= 65535
+maxnoofUEInfo INTEGER ::= 65535
+maxnoofCellInfo INTEGER ::= 65535
+maxnoofUEeventInfo INTEGER ::= 65535
+maxnoofRANparamTest INTEGER ::= 255
+maxnoofNeighbourCell INTEGER ::= 65535
+maxnoofRICStyles INTEGER ::= 63
+maxnoofCallProcessTypes INTEGER ::= 65535
+maxnoofCallProcessBreakpoints INTEGER ::= 65535
+maxnoofInsertIndication INTEGER ::= 65535
+maxnoofControlAction INTEGER ::= 65535
+maxnoofPolicyAction INTEGER ::= 65535
+maxnoofInsertIndicationActions INTEGER ::= 63
+maxnoofMulCtrlActions INTEGER ::= 63
+
+
+-- *****************************************************
+-- IEs
+-- *****************************************************
+
+-- N.B.. copied from ric 2.01...
+-- copied from v16.2.0
+-- NR-CGI ::= SEQUENCE {
+-- pLMNIdentity PLMNIdentity,
+-- nRCellIdentity NRCellIdentity,
+-- ...
+-- }
+
+LogicalOR ::= ENUMERATED {true, false, ...}
+
+NeighborCell-List ::= SEQUENCE (SIZE(1..maxnoofNeighbourCell)) OF NeighborCell-Item
+
+NeighborCell-Item ::= CHOICE {
+ ranType-Choice-NR NeighborCell-Item-Choice-NR,
+ ranType-Choice-EUTRA NeighborCell-Item-Choice-E-UTRA,
+ ...
+}
+
+NeighborCell-Item-Choice-NR ::= SEQUENCE {
+ nR-CGI NR-CGI,
+ nR-PCI NR-PCI,
+ fiveGS-TAC FiveGS-TAC,
+ nR-mode-info ENUMERATED {fdd, tdd, ...},
+ nR-FreqInfo NRFrequencyInfo,
+ x2-Xn-established ENUMERATED {true, false, ...},
+ hO-validated ENUMERATED {true, false, ...},
+ version INTEGER (1..65535, ...),
+ ...
+}
+
+NeighborCell-Item-Choice-E-UTRA ::= SEQUENCE {
+ eUTRA-CGI EUTRA-CGI,
+ eUTRA-PCI E-UTRA-PCI,
+ eUTRA-ARFCN E-UTRA-ARFCN,
+ eUTRA-TAC E-UTRA-TAC,
+ x2-Xn-established ENUMERATED {true, false, ...},
+ hO-validated ENUMERATED {true, false, ...},
+ version INTEGER (1..65535, ...),
+ ...
+}
+
+NeighborRelation-Info ::= SEQUENCE {
+ servingCellPCI ServingCell-PCI,
+ servingCellARFCN ServingCell-ARFCN,
+ neighborCell-List NeighborCell-List,
+ ...
+}
+
+RRC-State ::= ENUMERATED {rrc-connected, rrc-inactive, rrc-idle, any, ...}
+
+
+-------------------------------
+-- Event Trigger related IEs
+-------------------------------
+
+EventTrigger-Cell-Info ::= SEQUENCE {
+cellInfo-List SEQUENCE (SIZE(1..maxnoofCellInfo)) OF EventTrigger-Cell-Info-Item,
+ ...
+}
+
+EventTrigger-Cell-Info-Item ::= SEQUENCE {
+ eventTriggerCellID RIC-EventTrigger-Cell-ID,
+ cellType CHOICE {
+ cellType-Choice-Individual EventTrigger-Cell-Info-Item-Choice-Individual,
+ cellType-Choice-Group EventTrigger-Cell-Info-Item-Choice-Group,
+ ...
+ },
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+EventTrigger-Cell-Info-Item-Choice-Individual ::= SEQUENCE {
+ cellGlobalID CGI,
+ ...
+}
+
+EventTrigger-Cell-Info-Item-Choice-Group ::= SEQUENCE {
+ ranParameterTesting RANParameter-Testing,
+ ...
+}
+
+
+
+EventTrigger-UE-Info ::= SEQUENCE {
+ueInfo-List SEQUENCE (SIZE(1..maxnoofUEInfo)) OF EventTrigger-UE-Info-Item,
+...
+}
+
+EventTrigger-UE-Info-Item ::= SEQUENCE {
+ eventTriggerUEID RIC-EventTrigger-UE-ID,
+ ueType CHOICE {
+ ueType-Choice-Individual EventTrigger-UE-Info-Item-Choice-Individual,
+ ueType-Choice-Group EventTrigger-UE-Info-Item-Choice-Group,
+ ...
+ },
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+EventTrigger-UE-Info-Item-Choice-Individual ::= SEQUENCE {
+ ueID UEID,
+ ranParameterTesting RANParameter-Testing OPTIONAL,
+ ...
+}
+
+EventTrigger-UE-Info-Item-Choice-Group ::= SEQUENCE {
+ ranParameterTesting RANParameter-Testing,
+ ...
+}
+
+
+
+EventTrigger-UEevent-Info ::= SEQUENCE {
+ueEvent-List SEQUENCE (SIZE(1..maxnoofUEeventInfo)) OF EventTrigger-UEevent-Info-Item,
+...
+}
+
+EventTrigger-UEevent-Info-Item ::= SEQUENCE {
+ ueEventID RIC-EventTrigger-UEevent-ID,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+-------------------------------
+-- RAN Parameter related IEs
+-------------------------------
+
+-- RANParameter-ID ::= INTEGER (1..2^32, ...)
+RANParameter-ID ::= INTEGER (1..4294967296, ...)
+
+RANParameter-Name ::= PrintableString (SIZE(1..150, ...))
+
+RANParameter-Definition ::= SEQUENCE {
+ ranParameter-Definition-Choice RANParameter-Definition-Choice,
+ ...
+}
+
+RANParameter-Definition-Choice ::= CHOICE {
+ choiceLIST RANParameter-Definition-Choice-LIST,
+ choiceSTRUCTURE RANParameter-Definition-Choice-STRUCTURE,
+ ...
+}
+
+RANParameter-Definition-Choice-LIST ::= SEQUENCE {
+ ranParameter-List SEQUENCE (SIZE(1..maxnoofItemsinList)) OF RANParameter-Definition-Choice-LIST-Item,
+ ...
+}
+
+RANParameter-Definition-Choice-LIST-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ranParameter-Definition RANParameter-Definition OPTIONAL,
+ ...
+}
+
+RANParameter-Definition-Choice-STRUCTURE ::= SEQUENCE {
+ ranParameter-STRUCTURE SEQUENCE (SIZE(1..maxnoofParametersinStructure)) OF RANParameter-Definition-Choice-STRUCTURE-Item,
+ ...
+}
+
+RANParameter-Definition-Choice-STRUCTURE-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ranParameter-Definition RANParameter-Definition OPTIONAL,
+ ...
+}
+
+RANParameter-Value ::= CHOICE {
+ valueBoolean BOOLEAN,
+ valueInt INTEGER,
+ valueReal REAL,
+ valueBitS BIT STRING,
+ valueOctS OCTET STRING,
+ valuePrintableString PrintableString,
+ ...
+}
+
+RANParameter-ValueType ::= CHOICE {
+ ranP-Choice-ElementTrue RANParameter-ValueType-Choice-ElementTrue,
+ ranP-Choice-ElementFalse RANParameter-ValueType-Choice-ElementFalse,
+ ranP-Choice-Structure RANParameter-ValueType-Choice-Structure,
+ ranP-Choice-List RANParameter-ValueType-Choice-List,
+ ...
+}
+
+
+
+RANParameter-ValueType-Choice-ElementTrue ::= SEQUENCE {
+ ranParameter-value RANParameter-Value,
+ ...
+}
+
+RANParameter-ValueType-Choice-ElementFalse ::= SEQUENCE {
+ ranParameter-value RANParameter-Value OPTIONAL,
+-- C-ifControl: This IE shall be present if it is part of a RIC Control Request message. Otherwise it is optional.
+ ...
+}
+
+RANParameter-ValueType-Choice-Structure ::= SEQUENCE {
+ ranParameter-Structure RANParameter-STRUCTURE,
+ ...
+}
+
+RANParameter-ValueType-Choice-List ::= SEQUENCE {
+ ranParameter-List RANParameter-LIST,
+ ...
+}
+
+
+RANParameter-STRUCTURE ::= SEQUENCE {
+ sequence-of-ranParameters SEQUENCE (SIZE(1..maxnoofParametersinStructure)) OF RANParameter-STRUCTURE-Item OPTIONAL,
+ ...
+}
+
+RANParameter-STRUCTURE-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+RANParameter-LIST ::= SEQUENCE {
+ list-of-ranParameter SEQUENCE (SIZE(1..maxnoofItemsinList)) OF RANParameter-STRUCTURE,
+ ...
+}
+
+
+RANParameter-Testing ::= SEQUENCE (SIZE(1..maxnoofRANparamTest)) OF RANParameter-Testing-Item
+
+RANParameter-TestingCondition ::= CHOICE {
+ ranP-Choice-comparison ENUMERATED {equal, difference, greaterthan, lessthan, contains, starts-with, ...},
+ ranP-Choice-presence ENUMERATED {present, configured, rollover, non-zero, ...},
+ ...
+}
+
+RANParameter-Testing-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-Type CHOICE {
+ ranP-Choice-List RANParameter-Testing-Item-Choice-List,
+ ranP-Choice-Structure RANParameter-Testing-Item-Choice-Structure,
+ ranP-Choice-ElementTrue RANParameter-Testing-Item-Choice-ElementTrue,
+ ranP-Choice-ElementFalse RANParameter-Testing-Item-Choice-ElementFalse,
+ ...
+ },
+ ...
+}
+
+RANParameter-Testing-Item-Choice-List ::= SEQUENCE {
+ ranParameter-List RANParameter-Testing-LIST,
+ ...
+}
+
+RANParameter-Testing-Item-Choice-Structure ::= SEQUENCE {
+ ranParameter-Structure RANParameter-Testing-STRUCTURE,
+ ...
+}
+
+RANParameter-Testing-Item-Choice-ElementTrue ::= SEQUENCE {
+ ranParameter-value RANParameter-Value,
+ ...
+}
+
+RANParameter-Testing-Item-Choice-ElementFalse ::= SEQUENCE {
+ ranParameter-TestCondition RANParameter-TestingCondition,
+ ranParameter-Value RANParameter-Value OPTIONAL,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+RANParameter-Testing-LIST ::= SEQUENCE (SIZE(1..maxnoofItemsinList)) OF RANParameter-Testing-Item
+
+RANParameter-Testing-STRUCTURE ::= SEQUENCE (SIZE(1..maxnoofParametersinStructure)) OF RANParameter-Testing-Item
+
+
+
+----------------------------
+-- RIC Service related IEs
+----------------------------
+
+RAN-CallProcess-ID ::= INTEGER (1..232, ...)
+
+RIC-CallProcessType-ID ::= INTEGER (1..65535, ...)
+
+RIC-CallProcessType-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-CallProcessBreakpoint-ID ::= INTEGER (1..65535, ...)
+
+RIC-CallProcessBreakpoint-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-ControlAction-ID ::= INTEGER (1..65535, ...)
+
+RIC-ControlAction-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-EventTriggerCondition-ID ::= INTEGER (1..65535, ...)
+
+RIC-EventTrigger-UE-ID ::= INTEGER (1..65535, ...)
+
+RIC-EventTrigger-UEevent-ID ::= INTEGER (1..65535, ...)
+
+RIC-EventTrigger-Cell-ID ::= INTEGER (1..65535, ...)
+
+RIC-InsertIndication-ID ::= INTEGER (1..65535, ...)
+
+RIC-InsertIndication-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-PolicyAction ::= SEQUENCE {
+ ric-PolicyAction-ID RIC-ControlAction-ID,
+ ranParameters-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF RIC-PolicyAction-RANParameter-Item OPTIONAL,
+ ...,
+ ric-PolicyDecision ENUMERATED {accept, reject, ...} OPTIONAL
+}
+
+
+RIC-PolicyAction-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+
+-- **************************************************************
+-- E2SM-RC Service Model IEs
+-- **************************************************************
+
+
+-- ***************************************************
+-- Event Trigger OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-EventTrigger ::= SEQUENCE {
+ ric-eventTrigger-formats CHOICE {
+ eventTrigger-Format1 E2SM-RC-EventTrigger-Format1,
+ eventTrigger-Format2 E2SM-RC-EventTrigger-Format2,
+ eventTrigger-Format3 E2SM-RC-EventTrigger-Format3,
+ eventTrigger-Format4 E2SM-RC-EventTrigger-Format4,
+ eventTrigger-Format5 E2SM-RC-EventTrigger-Format5,
+ ...
+ },
+ ...
+}
+
+E2SM-RC-EventTrigger-Format1 ::= SEQUENCE {
+ message-List SEQUENCE (SIZE(1..maxnoofMessages)) OF E2SM-RC-EventTrigger-Format1-Item,
+ globalAssociatedUEInfo EventTrigger-UE-Info OPTIONAL,
+ ...
+}
+
+E2SM-RC-EventTrigger-Format1-Item ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID,
+ messageType MessageType-Choice,
+ messageDirection ENUMERATED {incoming, outgoing, ...} OPTIONAL,
+ associatedUEInfo EventTrigger-UE-Info OPTIONAL,
+ associatedUEEvent EventTrigger-UEevent-Info OPTIONAL,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+MessageType-Choice ::= CHOICE {
+ messageType-Choice-NI MessageType-Choice-NI,
+ messageType-Choice-RRC MessageType-Choice-RRC,
+ ...
+}
+
+
+MessageType-Choice-NI ::= SEQUENCE {
+ nI-Type InterfaceType,
+ nI-Identifier InterfaceIdentifier OPTIONAL,
+ nI-Message Interface-MessageID OPTIONAL,
+ ...
+}
+
+MessageType-Choice-RRC ::= SEQUENCE {
+ rRC-Message RRC-MessageID,
+ ...
+}
+
+
+E2SM-RC-EventTrigger-Format2 ::= SEQUENCE {
+ ric-callProcessType-ID RIC-CallProcessType-ID,
+ ric-callProcessBreakpoint-ID RIC-CallProcessBreakpoint-ID,
+ associatedE2NodeInfo RANParameter-Testing OPTIONAL,
+ associatedUEInfo EventTrigger-UE-Info OPTIONAL,
+ ...
+}
+
+
+E2SM-RC-EventTrigger-Format3 ::= SEQUENCE {
+ e2NodeInfoChange-List SEQUENCE (SIZE(1..maxnoofE2InfoChanges)) OF E2SM-RC-EventTrigger-Format3-Item,
+ ...
+}
+
+E2SM-RC-EventTrigger-Format3-Item ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID,
+ e2NodeInfoChange-ID INTEGER (1..512, ...),
+ associatedCellInfo EventTrigger-Cell-Info OPTIONAL,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+E2SM-RC-EventTrigger-Format4 ::= SEQUENCE {
+ uEInfoChange-List SEQUENCE (SIZE(1..maxnoofUEInfoChanges)) OF E2SM-RC-EventTrigger-Format4-Item,
+ ...
+}
+
+E2SM-RC-EventTrigger-Format4-Item ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID,
+ triggerType TriggerType-Choice,
+ associatedUEInfo EventTrigger-UE-Info OPTIONAL,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+TriggerType-Choice ::= CHOICE {
+ triggerType-Choice-RRCstate TriggerType-Choice-RRCstate,
+ triggerType-Choice-UEID TriggerType-Choice-UEID,
+ triggerType-Choice-L2state TriggerType-Choice-L2state,
+ ...
+}
+
+TriggerType-Choice-RRCstate ::= SEQUENCE {
+ rrcState-List SEQUENCE (SIZE(1..maxnoofRRCstate)) OF TriggerType-Choice-RRCstate-Item,
+ ...
+}
+
+TriggerType-Choice-RRCstate-Item ::= SEQUENCE {
+ stateChangedTo RRC-State,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+TriggerType-Choice-UEID ::= SEQUENCE {
+ ueIDchange-ID INTEGER (1..512, ...),
+ ...
+}
+
+TriggerType-Choice-L2state ::= SEQUENCE {
+ associatedL2variables RANParameter-Testing,
+ ...
+}
+
+
+E2SM-RC-EventTrigger-Format5 ::= SEQUENCE {
+ onDemand ENUMERATED {true, ...},
+ associatedUEInfo EventTrigger-UE-Info OPTIONAL,
+ associatedCellInfo EventTrigger-Cell-Info OPTIONAL,
+ ...
+}
+
+
+
+-- ***************************************************
+-- Action Definition OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-ActionDefinition ::= SEQUENCE {
+ ric-Style-Type RIC-Style-Type,
+ ric-actionDefinition-formats CHOICE {
+ actionDefinition-Format1 E2SM-RC-ActionDefinition-Format1,
+ actionDefinition-Format2 E2SM-RC-ActionDefinition-Format2,
+ actionDefinition-Format3 E2SM-RC-ActionDefinition-Format3,
+ ...,
+ actionDefinition-Format4 E2SM-RC-ActionDefinition-Format4
+
+ },
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format1 ::= SEQUENCE {
+ ranP-ToBeReported-List SEQUENCE (SIZE(1..maxnoofParametersToReport)) OF E2SM-RC-ActionDefinition-Format1-Item,
+ ...
+}
+
+
+E2SM-RC-ActionDefinition-Format1-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+E2SM-RC-ActionDefinition-Format2 ::= SEQUENCE {
+ ric-PolicyConditions-List SEQUENCE (SIZE(1..maxnoofPolicyConditions)) OF E2SM-RC-ActionDefinition-Format2-Item,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format2-Item ::= SEQUENCE {
+ ric-PolicyAction RIC-PolicyAction,
+ ric-PolicyConditionDefinition RANParameter-Testing OPTIONAL,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format3 ::= SEQUENCE {
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ranP-InsertIndication-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-ActionDefinition-Format3-Item,
+ ueID UEID OPTIONAL,
+ ...
+}
+
+
+E2SM-RC-ActionDefinition-Format3-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+E2SM-RC-ActionDefinition-Format4 ::= SEQUENCE {
+ ric-InsertStyle-List SEQUENCE (SIZE(1.. maxnoofRICStyles)) OF E2SM-RC-ActionDefinition-Format4-Style-Item,
+ ueID UEID OPTIONAL,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format4-Style-Item ::= SEQUENCE {
+ requested-Insert-Style-Type RIC-Style-Type,
+ ric-InsertIndication-List SEQUENCE (SIZE(1..maxnoofInsertIndicationActions)) OF E2SM-RC-ActionDefinition-Format4-Indication-Item,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format4-Indication-Item ::= SEQUENCE {
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ranP-InsertIndication-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-ActionDefinition-Format4-RANP-Item,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format4-RANP-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+-- ***************************************************
+-- Indication Header OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-IndicationHeader ::= SEQUENCE {
+ric-indicationHeader-formats CHOICE {
+ indicationHeader-Format1 E2SM-RC-IndicationHeader-Format1,
+ indicationHeader-Format2 E2SM-RC-IndicationHeader-Format2,
+ ...,
+ indicationHeader-Format3 E2SM-RC-IndicationHeader-Format3
+
+ },
+ ...
+}
+
+E2SM-RC-IndicationHeader-Format1 ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID OPTIONAL,
+ ...
+}
+
+E2SM-RC-IndicationHeader-Format2 ::= SEQUENCE {
+ ueID UEID,
+ ric-InsertStyle-Type RIC-Style-Type,
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ...
+}
+
+E2SM-RC-IndicationHeader-Format3 ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID OPTIONAL,
+ ueID UEID OPTIONAL,
+ ...
+}
+
+
+-- ***************************************************
+-- Indication Message OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-IndicationMessage ::= SEQUENCE {
+ric-indicationMessage-formats CHOICE {
+ indicationMessage-Format1 E2SM-RC-IndicationMessage-Format1,
+ indicationMessage-Format2 E2SM-RC-IndicationMessage-Format2,
+ indicationMessage-Format3 E2SM-RC-IndicationMessage-Format3,
+ indicationMessage-Format4 E2SM-RC-IndicationMessage-Format4,
+ indicationMessage-Format5 E2SM-RC-IndicationMessage-Format5,
+ ...,
+ indicationMessage-Format6 E2SM-RC-IndicationMessage-Format6
+
+ },
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format1 ::= SEQUENCE {
+ ranP-Reported-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format1-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format1-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format2 ::= SEQUENCE {
+ ueParameter-List SEQUENCE (SIZE(1..maxnoofUEID)) OF E2SM-RC-IndicationMessage-Format2-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format2-Item ::= SEQUENCE {
+ ueID UEID,
+ ranP-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format2-RANParameter-Item,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format2-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format3 ::= SEQUENCE {
+ cellInfo-List SEQUENCE (SIZE(1..maxnoofCellID)) OF E2SM-RC-IndicationMessage-Format3-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format3-Item ::= SEQUENCE {
+ cellGlobal-ID CGI,
+ cellContextInfo OCTET STRING OPTIONAL,
+ cellDeleted BOOLEAN OPTIONAL,
+ neighborRelation-Table NeighborRelation-Info OPTIONAL,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format4 ::= SEQUENCE {
+ ueInfo-List SEQUENCE (SIZE(0..maxnoofUEID)) OF E2SM-RC-IndicationMessage-Format4-ItemUE,
+ cellInfo-List SEQUENCE (SIZE(0..maxnoofCellID)) OF E2SM-RC-IndicationMessage-Format4-ItemCell,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format4-ItemUE ::= SEQUENCE {
+ ueID UEID,
+ ueContextInfo OCTET STRING OPTIONAL,
+ cellGlobal-ID CGI,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format4-ItemCell ::= SEQUENCE {
+ cellGlobal-ID CGI,
+ cellContextInfo OCTET STRING OPTIONAL,
+ neighborRelation-Table NeighborRelation-Info OPTIONAL,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format5 ::= SEQUENCE{
+ ranP-Requested-List SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format5-Item,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format5-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format6 ::= SEQUENCE {
+ ric-InsertStyle-List SEQUENCE (SIZE(1.. maxnoofRICStyles)) OF E2SM-RC-IndicationMessage-Format6-Style-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format6-Style-Item ::= SEQUENCE {
+ indicated-Insert-Style-Type RIC-Style-Type,
+ ric-InsertIndication-List SEQUENCE (SIZE(1..maxnoofInsertIndicationActions)) OF E2SM-RC-IndicationMessage-Format6-Indication-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format6-Indication-Item ::= SEQUENCE {
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ranP-InsertIndication-List SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format6-RANP-Item ,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format6-RANP-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+
+-- **************************************************
+-- Call Process ID OCTET STRING contents
+-- **************************************************
+
+E2SM-RC-CallProcessID ::= SEQUENCE {
+ric-callProcessID-formats CHOICE {
+ callProcessID-Format1 E2SM-RC-CallProcessID-Format1,
+ ...
+ },
+ ...
+}
+
+E2SM-RC-CallProcessID-Format1 ::= SEQUENCE {
+ ric-callProcess-ID RAN-CallProcess-ID,
+ ...
+}
+
+
+-- ***************************************************
+-- Control Header OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-ControlHeader ::= SEQUENCE {
+ ric-controlHeader-formats CHOICE {
+ controlHeader-Format1 E2SM-RC-ControlHeader-Format1,
+ ...,
+ controlHeader-Format2 E2SM-RC-ControlHeader-Format2
+ },
+ ...
+}
+
+E2SM-RC-ControlHeader-Format1 ::= SEQUENCE {
+ ueID UEID,
+ ric-Style-Type RIC-Style-Type,
+ ric-ControlAction-ID RIC-ControlAction-ID,
+ ric-ControlDecision ENUMERATED {accept, reject, ...} OPTIONAL,
+ ...
+}
+
+E2SM-RC-ControlHeader-Format2 ::= SEQUENCE {
+ ueID UEID OPTIONAL,
+ ric-ControlDecision ENUMERATED {accept, reject, ...} OPTIONAL,
+ ...
+}
+
+-- ***************************************************
+-- Control Message OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-ControlMessage ::= SEQUENCE {
+ ric-controlMessage-formats CHOICE {
+ controlMessage-Format1 E2SM-RC-ControlMessage-Format1,
+ ...,
+ controlMessage-Format2 E2SM-RC-ControlMessage-Format2
+
+ },
+ ...
+}
+
+E2SM-RC-ControlMessage-Format1 ::= SEQUENCE {
+ ranP-List SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-ControlMessage-Format1-Item,
+ ...
+}
+
+
+E2SM-RC-ControlMessage-Format1-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+E2SM-RC-ControlMessage-Format2 ::= SEQUENCE {
+ ric-ControlStyle-List SEQUENCE (SIZE(1.. maxnoofRICStyles)) OF E2SM-RC-ControlMessage-Format2-Style-Item,
+ ...
+}
+
+E2SM-RC-ControlMessage-Format2-Style-Item ::= SEQUENCE {
+ indicated-Control-Style-Type RIC-Style-Type,
+ ric-ControlAction-List SEQUENCE (SIZE(1..maxnoofMulCtrlActions)) OF E2SM-RC-ControlMessage-Format2-ControlAction-Item,
+ ...
+}
+
+E2SM-RC-ControlMessage-Format2-ControlAction-Item ::= SEQUENCE {
+ ric-ControlAction-ID RIC-ControlAction-ID,
+ ranP-List E2SM-RC-ControlMessage-Format1,
+ ...
+}
+
+-- ****************************************************
+-- Control Outcome OCTET STRING contents
+-- ****************************************************
+
+E2SM-RC-ControlOutcome ::= SEQUENCE {
+ ric-controlOutcome-formats CHOICE {
+ controlOutcome-Format1 E2SM-RC-ControlOutcome-Format1,
+ ...,
+ controlOutcome-Format2 E2SM-RC-ControlOutcome-Format2,
+ controlOutcome-Format3 E2SM-RC-ControlOutcome-Format3 },
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format1 ::= SEQUENCE {
+ ranP-List SEQUENCE (SIZE(0..maxnoofRANOutcomeParameters)) OF E2SM-RC-ControlOutcome-Format1-Item,
+ ...
+}
+
+
+E2SM-RC-ControlOutcome-Format1-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-value RANParameter-Value,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format2 ::= SEQUENCE {
+ ric-ControlStyle-List SEQUENCE (SIZE(1.. maxnoofRICStyles)) OF E2SM-RC-ControlOutcome-Format2-Style-Item,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format2-Style-Item ::= SEQUENCE {
+ indicated-Control-Style-Type RIC-Style-Type,
+ ric-ControlOutcome-List SEQUENCE (SIZE(1..maxnoofMulCtrlActions)) OF E2SM-RC-ControlOutcome-Format2-ControlOutcome-Item,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format2-ControlOutcome-Item ::= SEQUENCE {
+ ric-ControlAction-ID RIC-ControlAction-ID,
+ ranP-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-ControlOutcome-Format2-RANP-Item,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format2-RANP-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-value RANParameter-Value,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format3 ::= SEQUENCE {
+ ranP-List SEQUENCE (SIZE(0..maxnoofRANOutcomeParameters)) OF E2SM-RC-ControlOutcome-Format3-Item,
+ ...
+}
+
+
+E2SM-RC-ControlOutcome-Format3-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+
+-- **************************************************************
+-- RAN Function Definition IEs
+-- **************************************************************
+
+E2SM-RC-RANFunctionDefinition ::= SEQUENCE{
+ ranFunction-Name RANfunction-Name,
+ ranFunctionDefinition-EventTrigger RANFunctionDefinition-EventTrigger OPTIONAL,
+ ranFunctionDefinition-Report RANFunctionDefinition-Report OPTIONAL,
+ ranFunctionDefinition-Insert RANFunctionDefinition-Insert OPTIONAL,
+ ranFunctionDefinition-Control RANFunctionDefinition-Control OPTIONAL,
+ ranFunctionDefinition-Policy RANFunctionDefinition-Policy OPTIONAL,
+ ...
+}
+
+-------------------------------
+-- Event Trigger
+-------------------------------
+RANFunctionDefinition-EventTrigger ::= SEQUENCE {
+ ric-EventTriggerStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-EventTrigger-Style-Item,
+ ran-L2Parameters-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF L2Parameters-RANParameter-Item OPTIONAL,
+ ran-CallProcessTypes-List SEQUENCE (SIZE(1..maxnoofCallProcessTypes)) OF RANFunctionDefinition-EventTrigger-CallProcess-Item OPTIONAL,
+ ran-UEIdentificationParameters-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF UEIdentification-RANParameter-Item OPTIONAL,
+ ran-CellIdentificationParameters-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF CellIdentification-RANParameter-Item OPTIONAL,
+ ...
+}
+
+RANFunctionDefinition-EventTrigger-Style-Item ::= SEQUENCE {
+ ric-EventTriggerStyle-Type RIC-Style-Type,
+ ric-EventTriggerStyle-Name RIC-Style-Name,
+ ric-EventTriggerFormat-Type RIC-Format-Type,
+ ...
+}
+
+
+L2Parameters-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+UEIdentification-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+CellIdentification-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+RANFunctionDefinition-EventTrigger-CallProcess-Item ::= SEQUENCE {
+ callProcessType-ID RIC-CallProcessType-ID,
+ callProcessType-Name RIC-CallProcessType-Name,
+ callProcessBreakpoints-List SEQUENCE (SIZE (1..maxnoofCallProcessBreakpoints)) OF RANFunctionDefinition-EventTrigger-Breakpoint-Item,
+ ...
+}
+
+
+RANFunctionDefinition-EventTrigger-Breakpoint-Item ::= SEQUENCE {
+ callProcessBreakpoint-ID RIC-CallProcessBreakpoint-ID,
+ callProcessBreakpoint-Name RIC-CallProcessBreakpoint-Name,
+ ran-CallProcessBreakpointParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF CallProcessBreakpoint-RANParameter-Item OPTIONAL,
+ ...
+}
+
+
+CallProcessBreakpoint-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+-------------------------------
+-- Report
+-------------------------------
+
+RANFunctionDefinition-Report ::= SEQUENCE {
+ ric-ReportStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Report-Item,
+ ...
+}
+
+
+RANFunctionDefinition-Report-Item ::= SEQUENCE {
+ ric-ReportStyle-Type RIC-Style-Type,
+ ric-ReportStyle-Name RIC-Style-Name,
+ ric-SupportedEventTriggerStyle-Type RIC-Style-Type,
+ ric-ReportActionFormat-Type RIC-Format-Type,
+ ric-IndicationHeaderFormat-Type RIC-Format-Type,
+ ric-IndicationMessageFormat-Type RIC-Format-Type,
+ ran-ReportParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF Report-RANParameter-Item OPTIONAL,
+ ...
+}
+
+
+Report-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+-------------------------------
+-- Insert
+-------------------------------
+
+RANFunctionDefinition-Insert ::= SEQUENCE {
+ ric-InsertStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Insert-Item,
+ ...
+}
+
+RANFunctionDefinition-Insert-Item ::= SEQUENCE {
+ ric-InsertStyle-Type RIC-Style-Type,
+ ric-InsertStyle-Name RIC-Style-Name,
+ ric-SupportedEventTriggerStyle-Type RIC-Style-Type,
+ ric-ActionDefinitionFormat-Type RIC-Format-Type,
+ ric-InsertIndication-List SEQUENCE (SIZE(1..maxnoofInsertIndication)) OF RANFunctionDefinition-Insert-Indication-Item OPTIONAL,
+ ric-IndicationHeaderFormat-Type RIC-Format-Type,
+ ric-IndicationMessageFormat-Type RIC-Format-Type,
+ ric-CallProcessIDFormat-Type RIC-Format-Type,
+ ...
+}
+
+
+RANFunctionDefinition-Insert-Indication-Item ::= SEQUENCE {
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ric-InsertIndication-Name RIC-InsertIndication-Name,
+ ran-InsertIndicationParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF InsertIndication-RANParameter-Item OPTIONAL,
+ ...
+}
+
+
+InsertIndication-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+-------------------------------
+-- Control
+-------------------------------
+
+RANFunctionDefinition-Control ::= SEQUENCE {
+ ric-ControlStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Control-Item,
+ ...
+}
+
+
+RANFunctionDefinition-Control-Item ::= SEQUENCE {
+ ric-ControlStyle-Type RIC-Style-Type,
+ ric-ControlStyle-Name RIC-Style-Name,
+ ric-ControlAction-List SEQUENCE (SIZE(1..maxnoofControlAction)) OF RANFunctionDefinition-Control-Action-Item OPTIONAL,
+ ric-ControlHeaderFormat-Type RIC-Format-Type,
+ ric-ControlMessageFormat-Type RIC-Format-Type,
+ ric-CallProcessIDFormat-Type RIC-Format-Type OPTIONAL,
+ ric-ControlOutcomeFormat-Type RIC-Format-Type,
+ ran-ControlOutcomeParameters-List SEQUENCE (SIZE(1..maxnoofRANOutcomeParameters)) OF ControlOutcome-RANParameter-Item OPTIONAL,
+ ...
+}
+
+ControlOutcome-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+RANFunctionDefinition-Control-Action-Item ::= SEQUENCE {
+ ric-ControlAction-ID RIC-ControlAction-ID,
+ ric-ControlAction-Name RIC-ControlAction-Name,
+ ran-ControlActionParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF ControlAction-RANParameter-Item OPTIONAL,
+ ...
+}
+
+ControlAction-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+-------------------------------
+-- Policy
+-------------------------------
+
+RANFunctionDefinition-Policy ::= SEQUENCE {
+ ric-PolicyStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Policy-Item,
+ ...
+}
+
+RANFunctionDefinition-Policy-Item ::= SEQUENCE {
+ ric-PolicyStyle-Type RIC-Style-Type,
+ ric-PolicyStyle-Name RIC-Style-Name,
+ ric-SupportedEventTriggerStyle-Type RIC-Style-Type,
+ ric-PolicyAction-List SEQUENCE (SIZE(1..maxnoofPolicyAction)) OF RANFunctionDefinition-Policy-Action-Item OPTIONAL,
+ ...
+}
+
+
+RANFunctionDefinition-Policy-Action-Item ::= SEQUENCE {
+ ric-PolicyAction-ID RIC-ControlAction-ID,
+ ric-PolicyAction-Name RIC-ControlAction-Name,
+ ric-ActionDefinitionFormat-Type RIC-Format-Type,
+ ran-PolicyActionParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF PolicyAction-RANParameter-Item OPTIONAL,
+ ran-PolicyConditionParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF PolicyCondition-RANParameter-Item OPTIONAL,
+ ...
+}
+
+
+PolicyAction-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+PolicyCondition-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+
+END
+
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/e2sm-rc-v3.00.asn b/epan/dissectors/asn1/e2ap/e2sm-rc-v3.00.asn
new file mode 100644
index 00000000..760d65d7
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/e2sm-rc-v3.00.asn
@@ -0,0 +1,1332 @@
+-- ASN1START
+-- **************************************************************
+-- E2SM-RC Information Element Definitions
+-- **************************************************************
+
+E2SM-RC-IEs {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) oran(53148) e2(1) version1(1) e2sm(2) e2sm-RC-IEs (3)}
+
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+
+-- **************************************************************
+-- E2SM Common IEs
+-- **************************************************************
+
+IMPORTS
+ CGI,
+ E-UTRA-ARFCN,
+ EUTRA-CGI,
+ E-UTRA-PCI,
+ E-UTRA-TAC,
+ FiveGS-TAC,
+ InterfaceIdentifier,
+ InterfaceType,
+ Interface-MessageID,
+ NRFrequencyInfo,
+ NR-CGI,
+ NR-PCI,
+ RANfunction-Name,
+ RIC-Format-Type,
+ RIC-Style-Name,
+ RIC-Style-Type,
+ RRC-MessageID,
+ ServingCell-ARFCN,
+ ServingCell-PCI,
+ UEID
+FROM E2SM-COMMON-IEs;
+
+
+-- *****************************************************
+-- CONSTANTS
+-- *****************************************************
+
+maxnoofMessages INTEGER ::= 65535
+maxnoofE2InfoChanges INTEGER ::= 65535
+maxnoofUEInfoChanges INTEGER ::= 65535
+maxnoofRRCstate INTEGER ::= 8
+maxnoofParametersToReport INTEGER ::= 65535
+maxnoofPolicyConditions INTEGER ::= 65535
+maxnoofAssociatedRANParameters INTEGER ::= 65535
+maxnoofUEID INTEGER ::= 65535
+maxnoofCellID INTEGER ::= 65535
+maxnoofRANOutcomeParameters INTEGER ::= 255
+maxnoofParametersinStructure INTEGER ::= 65535
+maxnoofItemsinList INTEGER ::= 65535
+maxnoofUEInfo INTEGER ::= 65535
+maxnoofCellInfo INTEGER ::= 65535
+maxnoofUEeventInfo INTEGER ::= 65535
+maxnoofRANparamTest INTEGER ::= 255
+maxnoofNeighbourCell INTEGER ::= 65535
+maxnoofRICStyles INTEGER ::= 63
+maxnoofCallProcessTypes INTEGER ::= 65535
+maxnoofCallProcessBreakpoints INTEGER ::= 65535
+maxnoofInsertIndication INTEGER ::= 65535
+maxnoofControlAction INTEGER ::= 65535
+maxnoofPolicyAction INTEGER ::= 65535
+maxnoofInsertIndicationActions INTEGER ::= 63
+maxnoofMulCtrlActions INTEGER ::= 63
+maxGroupDefinitionIdentifierParameters INTEGER ::= 255
+maxnoofAssociatedEntityFilters INTEGER ::= 255
+maxnoofFormatTypes INTEGER ::= 63
+
+
+-- *****************************************************
+-- IEs
+-- *****************************************************
+
+LogicalOR ::= ENUMERATED {true, false, ...}
+
+NeighborCell-List ::= SEQUENCE (SIZE(1..maxnoofNeighbourCell)) OF NeighborCell-Item
+
+NeighborCell-Item ::= CHOICE {
+ ranType-Choice-NR NeighborCell-Item-Choice-NR,
+ ranType-Choice-EUTRA NeighborCell-Item-Choice-E-UTRA,
+ ...
+}
+
+NeighborCell-Item-Choice-NR ::= SEQUENCE {
+ nR-CGI NR-CGI,
+ nR-PCI NR-PCI,
+ fiveGS-TAC FiveGS-TAC,
+ nR-mode-info ENUMERATED {fdd, tdd, ...},
+ nR-FreqInfo NRFrequencyInfo,
+ x2-Xn-established ENUMERATED {true, false, ...},
+ hO-validated ENUMERATED {true, false, ...},
+ version INTEGER (1..65535, ...),
+ ...
+}
+
+NeighborCell-Item-Choice-E-UTRA ::= SEQUENCE {
+ eUTRA-CGI EUTRA-CGI,
+ eUTRA-PCI E-UTRA-PCI,
+ eUTRA-ARFCN E-UTRA-ARFCN,
+ eUTRA-TAC E-UTRA-TAC,
+ x2-Xn-established ENUMERATED {true, false, ...},
+ hO-validated ENUMERATED {true, false, ...},
+ version INTEGER (1..65535, ...),
+ ...
+}
+
+NeighborRelation-Info ::= SEQUENCE {
+ servingCellPCI ServingCell-PCI,
+ servingCellARFCN ServingCell-ARFCN,
+ neighborCell-List NeighborCell-List,
+ ...
+}
+
+RRC-State ::= ENUMERATED {rrc-connected, rrc-inactive, rrc-idle, any, ...}
+
+
+-------------------------------
+-- Event Trigger related IEs
+-------------------------------
+
+EventTrigger-Cell-Info ::= SEQUENCE {
+cellInfo-List SEQUENCE (SIZE(1..maxnoofCellInfo)) OF EventTrigger-Cell-Info-Item,
+ ...
+}
+
+EventTrigger-Cell-Info-Item ::= SEQUENCE {
+ eventTriggerCellID RIC-EventTrigger-Cell-ID,
+ cellType CHOICE {
+ cellType-Choice-Individual EventTrigger-Cell-Info-Item-Choice-Individual,
+ cellType-Choice-Group EventTrigger-Cell-Info-Item-Choice-Group,
+ ...
+ },
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+EventTrigger-Cell-Info-Item-Choice-Individual ::= SEQUENCE {
+ cellGlobalID CGI,
+ ...
+}
+
+EventTrigger-Cell-Info-Item-Choice-Group ::= SEQUENCE {
+ ranParameterTesting RANParameter-Testing,
+ ...
+}
+
+
+
+EventTrigger-UE-Info ::= SEQUENCE {
+ueInfo-List SEQUENCE (SIZE(1..maxnoofUEInfo)) OF EventTrigger-UE-Info-Item,
+...
+}
+
+EventTrigger-UE-Info-Item ::= SEQUENCE {
+ eventTriggerUEID RIC-EventTrigger-UE-ID,
+ ueType CHOICE {
+ ueType-Choice-Individual EventTrigger-UE-Info-Item-Choice-Individual,
+ ueType-Choice-Group EventTrigger-UE-Info-Item-Choice-Group,
+ ...
+ },
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+EventTrigger-UE-Info-Item-Choice-Individual ::= SEQUENCE {
+ ueID UEID,
+ ranParameterTesting RANParameter-Testing OPTIONAL,
+ ...
+}
+
+EventTrigger-UE-Info-Item-Choice-Group ::= SEQUENCE {
+ ranParameterTesting RANParameter-Testing,
+ ...
+}
+
+
+
+EventTrigger-UEevent-Info ::= SEQUENCE {
+ueEvent-List SEQUENCE (SIZE(1..maxnoofUEeventInfo)) OF EventTrigger-UEevent-Info-Item,
+...
+}
+
+EventTrigger-UEevent-Info-Item ::= SEQUENCE {
+ ueEventID RIC-EventTrigger-UEevent-ID,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+-------------------------------
+-- RAN Parameter related IEs
+-------------------------------
+
+RANParameter-ID ::= INTEGER (1..4294967295, ...)
+
+RANParameter-Name ::= PrintableString (SIZE(1..150, ...))
+
+RANParameter-Definition ::= SEQUENCE {
+ ranParameter-Definition-Choice RANParameter-Definition-Choice,
+ ...
+}
+
+RANParameter-Definition-Choice ::= CHOICE {
+ choiceLIST RANParameter-Definition-Choice-LIST,
+ choiceSTRUCTURE RANParameter-Definition-Choice-STRUCTURE,
+ ...
+}
+
+RANParameter-Definition-Choice-LIST ::= SEQUENCE {
+ ranParameter-List SEQUENCE (SIZE(1..maxnoofItemsinList)) OF RANParameter-Definition-Choice-LIST-Item,
+ ...
+}
+
+RANParameter-Definition-Choice-LIST-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ranParameter-Definition RANParameter-Definition OPTIONAL,
+ ...
+}
+
+RANParameter-Definition-Choice-STRUCTURE ::= SEQUENCE {
+ ranParameter-STRUCTURE SEQUENCE (SIZE(1..maxnoofParametersinStructure)) OF RANParameter-Definition-Choice-STRUCTURE-Item,
+ ...
+}
+
+RANParameter-Definition-Choice-STRUCTURE-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ranParameter-Definition RANParameter-Definition OPTIONAL,
+ ...
+}
+
+RANParameter-Value ::= CHOICE {
+ valueBoolean BOOLEAN,
+ valueInt INTEGER,
+ valueReal REAL,
+ valueBitS BIT STRING,
+ valueOctS OCTET STRING,
+ valuePrintableString PrintableString,
+ ...
+}
+
+RANParameter-ValueType ::= CHOICE {
+ ranP-Choice-ElementTrue RANParameter-ValueType-Choice-ElementTrue,
+ ranP-Choice-ElementFalse RANParameter-ValueType-Choice-ElementFalse,
+ ranP-Choice-Structure RANParameter-ValueType-Choice-Structure,
+ ranP-Choice-List RANParameter-ValueType-Choice-List,
+ ...
+}
+
+
+
+RANParameter-ValueType-Choice-ElementTrue ::= SEQUENCE {
+ ranParameter-value RANParameter-Value,
+ ...
+}
+
+RANParameter-ValueType-Choice-ElementFalse ::= SEQUENCE {
+ ranParameter-value RANParameter-Value OPTIONAL,
+-- C-ifControl: This IE shall be present if it is part of a RIC Control Request message. Otherwise it is optional.
+ ...
+}
+
+RANParameter-ValueType-Choice-Structure ::= SEQUENCE {
+ ranParameter-Structure RANParameter-STRUCTURE,
+ ...
+}
+
+RANParameter-ValueType-Choice-List ::= SEQUENCE {
+ ranParameter-List RANParameter-LIST,
+ ...
+}
+
+
+RANParameter-STRUCTURE ::= SEQUENCE {
+ sequence-of-ranParameters SEQUENCE (SIZE(1..maxnoofParametersinStructure)) OF RANParameter-STRUCTURE-Item OPTIONAL,
+ ...
+}
+
+RANParameter-STRUCTURE-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+RANParameter-LIST ::= SEQUENCE {
+ list-of-ranParameter SEQUENCE (SIZE(1..maxnoofItemsinList)) OF RANParameter-STRUCTURE,
+ ...
+}
+
+
+RANParameter-Testing ::= SEQUENCE (SIZE(1..maxnoofRANparamTest)) OF RANParameter-Testing-Item
+
+RANParameter-TestingCondition ::= CHOICE {
+ ranP-Choice-comparison ENUMERATED {equal, difference, greaterthan, lessthan, contains, starts-with, ...},
+ ranP-Choice-presence ENUMERATED {present, configured, rollover, non-zero, ..., value-change},
+ ...
+}
+
+RANParameter-Testing-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-Type CHOICE {
+ ranP-Choice-List RANParameter-Testing-Item-Choice-List,
+ ranP-Choice-Structure RANParameter-Testing-Item-Choice-Structure,
+ ranP-Choice-ElementTrue RANParameter-Testing-Item-Choice-ElementTrue,
+ ranP-Choice-ElementFalse RANParameter-Testing-Item-Choice-ElementFalse,
+ ...
+ },
+ ...
+}
+
+RANParameter-Testing-Item-Choice-List ::= SEQUENCE {
+ ranParameter-List RANParameter-Testing-LIST,
+ ...
+}
+
+RANParameter-Testing-Item-Choice-Structure ::= SEQUENCE {
+ ranParameter-Structure RANParameter-Testing-STRUCTURE,
+ ...
+}
+
+RANParameter-Testing-Item-Choice-ElementTrue ::= SEQUENCE {
+ ranParameter-value RANParameter-Value,
+ ...
+}
+
+RANParameter-Testing-Item-Choice-ElementFalse ::= SEQUENCE {
+ ranParameter-TestCondition RANParameter-TestingCondition,
+ ranParameter-Value RANParameter-Value OPTIONAL,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+RANParameter-Testing-LIST ::= SEQUENCE (SIZE(1..maxnoofItemsinList)) OF RANParameter-Testing-Item
+
+RANParameter-Testing-STRUCTURE ::= SEQUENCE (SIZE(1..maxnoofParametersinStructure)) OF RANParameter-Testing-Item
+
+UE-Group-Definition ::= SEQUENCE {
+ ueGroupDefinitionIdentifier-LIST SEQUENCE (SIZE(1..maxGroupDefinitionIdentifierParameters)) OF UEGroupDefinitionIdentifier-Item,
+ ...
+}
+
+UEGroupDefinitionIdentifier-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+----------------------------
+-- RIC Service related IEs
+----------------------------
+
+RAN-CallProcess-ID ::= INTEGER (1..4294967295, ...)
+
+RIC-CallProcessType-ID ::= INTEGER (1..65535, ...)
+
+RIC-CallProcessType-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-CallProcessBreakpoint-ID ::= INTEGER (1..65535, ...)
+
+RIC-CallProcessBreakpoint-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-ControlAction-ID ::= INTEGER (1..65535, ...)
+
+RIC-ControlAction-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-EventTriggerCondition-ID ::= INTEGER (1..65535, ...)
+
+RIC-EventTrigger-UE-ID ::= INTEGER (1..65535, ...)
+
+RIC-EventTrigger-UEevent-ID ::= INTEGER (1..65535, ...)
+
+RIC-EventTrigger-Cell-ID ::= INTEGER (1..65535, ...)
+
+RIC-InsertIndication-ID ::= INTEGER (1..65535, ...)
+
+RIC-InsertIndication-Name ::= PrintableString (SIZE(1..150, ...))
+
+UE-Group-ID ::= INTEGER (1..65535, ...)
+
+EntityFilter-ID ::= INTEGER (1..255, ...)
+
+
+RIC-PolicyAction ::= SEQUENCE {
+ ric-PolicyAction-ID RIC-ControlAction-ID,
+ ranParameters-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF RIC-PolicyAction-RANParameter-Item OPTIONAL,
+ ...,
+ ric-PolicyDecision ENUMERATED {accept, reject, ...} OPTIONAL
+}
+
+
+RIC-PolicyAction-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+UE-Filter-ID ::= INTEGER (1..65535, ...)
+
+Associated-UE-Info ::= SEQUENCE {
+associatedUEInfo-List SEQUENCE (SIZE(1..maxnoofUEInfo)) OF Associated-UE-Info-Item,
+...
+}
+
+Associated-UE-Info-Item ::= SEQUENCE {
+ ueFilterID UE-Filter-ID,
+ ueType CHOICE {
+ ueType-Choice-Individual EventTrigger-UE-Info-Item-Choice-Individual,
+ ueType-Choice-Group EventTrigger-UE-Info-Item-Choice-Group,
+ ...
+ },
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+-- **************************************************************
+-- E2SM-RC Service Model IEs
+-- **************************************************************
+
+
+-- ***************************************************
+-- Event Trigger OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-EventTrigger ::= SEQUENCE {
+ ric-eventTrigger-formats CHOICE {
+ eventTrigger-Format1 E2SM-RC-EventTrigger-Format1,
+ eventTrigger-Format2 E2SM-RC-EventTrigger-Format2,
+ eventTrigger-Format3 E2SM-RC-EventTrigger-Format3,
+ eventTrigger-Format4 E2SM-RC-EventTrigger-Format4,
+ eventTrigger-Format5 NULL,
+ ...
+ },
+ ...
+}
+
+E2SM-RC-EventTrigger-Format1 ::= SEQUENCE {
+ message-List SEQUENCE (SIZE(1..maxnoofMessages)) OF E2SM-RC-EventTrigger-Format1-Item,
+ globalAssociatedUEInfo EventTrigger-UE-Info OPTIONAL,
+ ...
+}
+
+E2SM-RC-EventTrigger-Format1-Item ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID,
+ messageType MessageType-Choice,
+ messageDirection ENUMERATED {incoming, outgoing, ...} OPTIONAL,
+ associatedUEInfo EventTrigger-UE-Info OPTIONAL,
+ associatedUEEvent EventTrigger-UEevent-Info OPTIONAL,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+MessageType-Choice ::= CHOICE {
+ messageType-Choice-NI MessageType-Choice-NI,
+ messageType-Choice-RRC MessageType-Choice-RRC,
+ ...
+}
+
+
+MessageType-Choice-NI ::= SEQUENCE {
+ nI-Type InterfaceType,
+ nI-Identifier InterfaceIdentifier OPTIONAL,
+ nI-Message Interface-MessageID OPTIONAL,
+ ...
+}
+
+MessageType-Choice-RRC ::= SEQUENCE {
+ rRC-Message RRC-MessageID,
+ ...
+}
+
+
+E2SM-RC-EventTrigger-Format2 ::= SEQUENCE {
+ ric-callProcessType-ID RIC-CallProcessType-ID,
+ ric-callProcessBreakpoint-ID RIC-CallProcessBreakpoint-ID,
+ associatedE2NodeInfo RANParameter-Testing OPTIONAL,
+ associatedUEInfo EventTrigger-UE-Info OPTIONAL,
+ ...
+}
+
+
+E2SM-RC-EventTrigger-Format3 ::= SEQUENCE {
+ e2NodeInfoChange-List SEQUENCE (SIZE(1..maxnoofE2InfoChanges)) OF E2SM-RC-EventTrigger-Format3-Item,
+ ...
+}
+
+E2SM-RC-EventTrigger-Format3-Item ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID,
+ e2NodeInfoChange-ID INTEGER (1..512, ...),
+ associatedCellInfo EventTrigger-Cell-Info OPTIONAL,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+E2SM-RC-EventTrigger-Format4 ::= SEQUENCE {
+ uEInfoChange-List SEQUENCE (SIZE(1..maxnoofUEInfoChanges)) OF E2SM-RC-EventTrigger-Format4-Item,
+ ...
+}
+
+E2SM-RC-EventTrigger-Format4-Item ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID,
+ triggerType TriggerType-Choice,
+ associatedUEInfo EventTrigger-UE-Info OPTIONAL,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+
+TriggerType-Choice ::= CHOICE {
+ triggerType-Choice-RRCstate TriggerType-Choice-RRCstate,
+ triggerType-Choice-UEID TriggerType-Choice-UEID,
+ triggerType-Choice-L2state TriggerType-Choice-L2state,
+ ...,
+ triggerType-Choice-UEcontext TriggerType-Choice-UEcontext,
+ triggerType-Choice-L2MACschChg TriggerType-Choice-L2MACschChg
+}
+
+TriggerType-Choice-RRCstate ::= SEQUENCE {
+ rrcState-List SEQUENCE (SIZE(1..maxnoofRRCstate)) OF TriggerType-Choice-RRCstate-Item,
+ ...
+}
+
+TriggerType-Choice-RRCstate-Item ::= SEQUENCE {
+ stateChangedTo RRC-State,
+ logicalOR LogicalOR OPTIONAL,
+ ...
+}
+
+TriggerType-Choice-UEID ::= SEQUENCE {
+ ueIDchange-ID INTEGER (1..512, ...),
+ ...
+}
+
+TriggerType-Choice-L2state ::= SEQUENCE {
+ associatedL2variables RANParameter-Testing,
+ ...
+}
+
+TriggerType-Choice-UEcontext ::= SEQUENCE {
+ associatedUECtxtVariables RANParameter-Testing,
+ ...
+}
+
+TriggerType-Choice-L2MACschChg ::= SEQUENCE {
+ l2MACschChgType L2MACschChgType-Choice,
+ ...
+}
+
+L2MACschChgType-Choice ::= CHOICE {
+ triggerType-Choice-MIMOandBFconfig TriggerType-Choice-MIMOandBFconfig,
+ ...
+}
+
+TriggerType-Choice-MIMOandBFconfig ::= SEQUENCE {
+ mIMOtransModeState ENUMERATED {enabled, disabled, ...},
+ ...
+}
+
+
+
+-- ***************************************************
+-- Action Definition OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-ActionDefinition ::= SEQUENCE {
+ ric-Style-Type RIC-Style-Type,
+ ric-actionDefinition-formats CHOICE {
+ actionDefinition-Format1 E2SM-RC-ActionDefinition-Format1,
+ actionDefinition-Format2 E2SM-RC-ActionDefinition-Format2,
+ actionDefinition-Format3 E2SM-RC-ActionDefinition-Format3,
+ ...,
+ actionDefinition-Format4 E2SM-RC-ActionDefinition-Format4
+
+ },
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format1 ::= SEQUENCE {
+ ranP-ToBeReported-List SEQUENCE (SIZE(1..maxnoofParametersToReport)) OF E2SM-RC-ActionDefinition-Format1-Item,
+ ...
+}
+
+
+E2SM-RC-ActionDefinition-Format1-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+E2SM-RC-ActionDefinition-Format2 ::= SEQUENCE {
+ ric-PolicyConditions-List SEQUENCE (SIZE(1..maxnoofPolicyConditions)) OF E2SM-RC-ActionDefinition-Format2-Item,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format2-Item ::= SEQUENCE {
+ ric-PolicyAction RIC-PolicyAction,
+ ric-PolicyConditionDefinition RANParameter-Testing OPTIONAL,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format3 ::= SEQUENCE {
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ranP-InsertIndication-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-ActionDefinition-Format3-Item,
+ ueID UEID OPTIONAL,
+ ...
+}
+
+
+E2SM-RC-ActionDefinition-Format3-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+E2SM-RC-ActionDefinition-Format4 ::= SEQUENCE {
+ ric-InsertStyle-List SEQUENCE (SIZE(1.. maxnoofRICStyles)) OF E2SM-RC-ActionDefinition-Format4-Style-Item,
+ ueID UEID OPTIONAL,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format4-Style-Item ::= SEQUENCE {
+ requested-Insert-Style-Type RIC-Style-Type,
+ ric-InsertIndication-List SEQUENCE (SIZE(1..maxnoofInsertIndicationActions)) OF E2SM-RC-ActionDefinition-Format4-Indication-Item,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format4-Indication-Item ::= SEQUENCE {
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ranP-InsertIndication-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-ActionDefinition-Format4-RANP-Item,
+ ...
+}
+
+E2SM-RC-ActionDefinition-Format4-RANP-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+-- ***************************************************
+-- Indication Header OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-IndicationHeader ::= SEQUENCE {
+ric-indicationHeader-formats CHOICE {
+ indicationHeader-Format1 E2SM-RC-IndicationHeader-Format1,
+ indicationHeader-Format2 E2SM-RC-IndicationHeader-Format2,
+ ...,
+ indicationHeader-Format3 E2SM-RC-IndicationHeader-Format3
+
+ },
+ ...
+}
+
+E2SM-RC-IndicationHeader-Format1 ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID OPTIONAL,
+ ...
+}
+
+E2SM-RC-IndicationHeader-Format2 ::= SEQUENCE {
+ ueID UEID,
+ ric-InsertStyle-Type RIC-Style-Type,
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ...
+}
+
+E2SM-RC-IndicationHeader-Format3 ::= SEQUENCE {
+ ric-eventTriggerCondition-ID RIC-EventTriggerCondition-ID OPTIONAL,
+ ueID UEID OPTIONAL,
+ ...
+}
+
+
+-- ***************************************************
+-- Indication Message OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-IndicationMessage ::= SEQUENCE {
+ric-indicationMessage-formats CHOICE {
+ indicationMessage-Format1 E2SM-RC-IndicationMessage-Format1,
+ indicationMessage-Format2 E2SM-RC-IndicationMessage-Format2,
+ indicationMessage-Format3 E2SM-RC-IndicationMessage-Format3,
+ indicationMessage-Format4 NULL,
+ indicationMessage-Format5 E2SM-RC-IndicationMessage-Format5,
+ ...,
+ indicationMessage-Format6 E2SM-RC-IndicationMessage-Format6
+
+ },
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format1 ::= SEQUENCE {
+ ranP-Reported-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format1-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format1-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format2 ::= SEQUENCE {
+ ueParameter-List SEQUENCE (SIZE(1..maxnoofUEID)) OF E2SM-RC-IndicationMessage-Format2-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format2-Item ::= SEQUENCE {
+ ueID UEID,
+ ranP-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format2-RANParameter-Item,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format2-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format3 ::= SEQUENCE {
+ cellInfo-List SEQUENCE (SIZE(1..maxnoofCellID)) OF E2SM-RC-IndicationMessage-Format3-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format3-Item ::= SEQUENCE {
+ cellGlobal-ID CGI,
+ cellContextInfo OCTET STRING OPTIONAL,
+ cellDeleted BOOLEAN OPTIONAL,
+ neighborRelation-Table NeighborRelation-Info OPTIONAL,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format5 ::= SEQUENCE{
+ ranP-Requested-List SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format5-Item,
+ ...
+}
+
+
+E2SM-RC-IndicationMessage-Format5-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format6 ::= SEQUENCE {
+ ric-InsertStyle-List SEQUENCE (SIZE(1.. maxnoofRICStyles)) OF E2SM-RC-IndicationMessage-Format6-Style-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format6-Style-Item ::= SEQUENCE {
+ indicated-Insert-Style-Type RIC-Style-Type,
+ ric-InsertIndication-List SEQUENCE (SIZE(1..maxnoofInsertIndicationActions)) OF E2SM-RC-IndicationMessage-Format6-Indication-Item,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format6-Indication-Item ::= SEQUENCE {
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ranP-InsertIndication-List SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format6-RANP-Item ,
+ ...
+}
+
+E2SM-RC-IndicationMessage-Format6-RANP-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+
+-- **************************************************
+-- Call Process ID OCTET STRING contents
+-- **************************************************
+
+E2SM-RC-CallProcessID ::= SEQUENCE {
+ric-callProcessID-formats CHOICE {
+ callProcessID-Format1 E2SM-RC-CallProcessID-Format1,
+ ...
+ },
+ ...
+}
+
+E2SM-RC-CallProcessID-Format1 ::= SEQUENCE {
+ ric-callProcess-ID RAN-CallProcess-ID,
+ ...
+}
+
+
+-- ***************************************************
+-- Control Header OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-ControlHeader ::= SEQUENCE {
+ ric-controlHeader-formats CHOICE {
+ controlHeader-Format1 E2SM-RC-ControlHeader-Format1,
+ ...,
+ controlHeader-Format2 E2SM-RC-ControlHeader-Format2,
+ controlHeader-Format3 E2SM-RC-ControlHeader-Format3
+ },
+ ...
+}
+
+E2SM-RC-ControlHeader-Format1 ::= SEQUENCE {
+ ueID UEID,
+ ric-Style-Type RIC-Style-Type,
+ ric-ControlAction-ID RIC-ControlAction-ID,
+ ric-ControlDecision ENUMERATED {accept, reject, ...} OPTIONAL,
+ ...
+}
+
+E2SM-RC-ControlHeader-Format2 ::= SEQUENCE {
+ ueID UEID OPTIONAL,
+ ric-ControlDecision ENUMERATED {accept, reject, ...} OPTIONAL,
+ ...
+}
+
+E2SM-RC-ControlHeader-Format3 ::= SEQUENCE {
+ ue-Group-ID UE-Group-ID,
+ ue-Group-Definition UE-Group-Definition,
+ ric-Style-Type RIC-Style-Type,
+ ric-ControlAction-ID RIC-ControlAction-ID,
+ ...
+}
+
+-- ***************************************************
+-- Control Message OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-ControlMessage ::= SEQUENCE {
+ ric-controlMessage-formats CHOICE {
+ controlMessage-Format1 E2SM-RC-ControlMessage-Format1,
+ ...,
+ controlMessage-Format2 E2SM-RC-ControlMessage-Format2,
+ controlMessage-Format3 E2SM-RC-ControlMessage-Format3
+ },
+ ...
+}
+
+E2SM-RC-ControlMessage-Format1 ::= SEQUENCE {
+ ranP-List SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-ControlMessage-Format1-Item,
+ ...
+}
+
+
+E2SM-RC-ControlMessage-Format1-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+E2SM-RC-ControlMessage-Format2 ::= SEQUENCE {
+ ric-ControlStyle-List SEQUENCE (SIZE(1.. maxnoofRICStyles)) OF E2SM-RC-ControlMessage-Format2-Style-Item,
+ ...
+}
+
+E2SM-RC-ControlMessage-Format2-Style-Item ::= SEQUENCE {
+ indicated-Control-Style-Type RIC-Style-Type,
+ ric-ControlAction-List SEQUENCE (SIZE(1..maxnoofMulCtrlActions)) OF E2SM-RC-ControlMessage-Format2-ControlAction-Item,
+ ...
+}
+
+E2SM-RC-ControlMessage-Format2-ControlAction-Item ::= SEQUENCE {
+ ric-ControlAction-ID RIC-ControlAction-ID,
+ ranP-List E2SM-RC-ControlMessage-Format1,
+ ...
+}
+
+E2SM-RC-ControlMessage-Format3 ::= SEQUENCE {
+ listOfEntityFilters SEQUENCE (SIZE(0..maxnoofAssociatedEntityFilters)) OF E2SM-RC-EntityFilter OPTIONAL,
+ entityAgnosticControlRanP-List SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF EntityAgnostic-ranP-ControlParameters OPTIONAL,
+ ...
+}
+
+E2SM-RC-EntityFilter ::= SEQUENCE {
+ entityFilter-ID EntityFilter-ID,
+ entityFilter-Definition RANParameter-Testing,
+ entitySpecificControlRanP-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF EntitySpecific-ranP-ControlParameters,
+ ...
+}
+
+EntityAgnostic-ranP-ControlParameters ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+EntitySpecific-ranP-ControlParameters ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+
+-- ****************************************************
+-- Control Outcome OCTET STRING contents
+-- ****************************************************
+
+E2SM-RC-ControlOutcome ::= SEQUENCE {
+ ric-controlOutcome-formats CHOICE {
+ controlOutcome-Format1 E2SM-RC-ControlOutcome-Format1,
+ ...,
+ controlOutcome-Format2 E2SM-RC-ControlOutcome-Format2,
+ controlOutcome-Format3 E2SM-RC-ControlOutcome-Format3 },
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format1 ::= SEQUENCE {
+ ranP-List SEQUENCE (SIZE(0..maxnoofRANOutcomeParameters)) OF E2SM-RC-ControlOutcome-Format1-Item,
+ ...
+}
+
+
+E2SM-RC-ControlOutcome-Format1-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-value RANParameter-Value,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format2 ::= SEQUENCE {
+ ric-ControlStyle-List SEQUENCE (SIZE(1.. maxnoofRICStyles)) OF E2SM-RC-ControlOutcome-Format2-Style-Item,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format2-Style-Item ::= SEQUENCE {
+ indicated-Control-Style-Type RIC-Style-Type,
+ ric-ControlOutcome-List SEQUENCE (SIZE(1..maxnoofMulCtrlActions)) OF E2SM-RC-ControlOutcome-Format2-ControlOutcome-Item,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format2-ControlOutcome-Item ::= SEQUENCE {
+ ric-ControlAction-ID RIC-ControlAction-ID,
+ ranP-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-ControlOutcome-Format2-RANP-Item,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format2-RANP-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-value RANParameter-Value,
+ ...
+}
+
+E2SM-RC-ControlOutcome-Format3 ::= SEQUENCE {
+ ranP-List SEQUENCE (SIZE(0..maxnoofRANOutcomeParameters)) OF E2SM-RC-ControlOutcome-Format3-Item,
+ ...
+}
+
+
+E2SM-RC-ControlOutcome-Format3-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType,
+ ...
+}
+
+-- ***************************************************
+-- Query Header OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-QueryHeader ::= SEQUENCE {
+ ric-queryHeader-formats CHOICE {
+ queryHeader-Format1 E2SM-RC-QueryHeader-Format1,
+ ...
+ },
+ ...
+}
+
+E2SM-RC-QueryHeader-Format1 ::= SEQUENCE {
+ ric-Style-Type RIC-Style-Type,
+ associatedE2NodeInfo RANParameter-Testing OPTIONAL,
+ associatedUEInfo Associated-UE-Info OPTIONAL,
+ ...
+}
+
+-- ***************************************************
+-- Query Definition OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-QueryDefinition ::= SEQUENCE {
+ ric-queryDefinition-formats CHOICE {
+ queryRequest-Format1 E2SM-RC-QueryDefinition-Format1,
+ ...
+ },
+ ...
+}
+
+E2SM-RC-QueryDefinition-Format1 ::= SEQUENCE {
+ ranP-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-QueryDefinition-Format1-Item,
+ ...
+}
+
+E2SM-RC-QueryDefinition-Format1-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-Definition RANParameter-Definition OPTIONAL,
+ ...
+}
+
+-- ***************************************************
+-- Query Outcome OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-QueryOutcome ::= SEQUENCE {
+ ric-queryOutcome-formats CHOICE {
+ queryOutcome-Format1 E2SM-RC-QueryOutcome-Format1,
+ queryOutcome-Format2 E2SM-RC-QueryOutcome-Format2,
+ ...
+ },
+ ...
+}
+
+E2SM-RC-QueryOutcome-Format1 ::= SEQUENCE {
+ cellInfo-List SEQUENCE (SIZE(1..maxnoofCellID)) OF E2SM-RC-QueryOutcome-Format1-ItemCell,
+ ...
+}
+
+E2SM-RC-QueryOutcome-Format1-ItemCell ::= SEQUENCE {
+ cellGlobal-ID CGI,
+ ranP-List SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-QueryOutcome-Format1-ItemParameters,
+ neighborRelation-Table NeighborRelation-Info OPTIONAL,
+ ...
+}
+
+E2SM-RC-QueryOutcome-Format1-ItemParameters ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType OPTIONAL,
+ ...
+}
+E2SM-RC-QueryOutcome-Format2 ::= SEQUENCE {
+ ueInfo-List SEQUENCE (SIZE(0..maxnoofUEID)) OF E2SM-RC-QueryOutcome-Format2-ItemUE,
+ ...
+}
+
+E2SM-RC-QueryOutcome-Format2-ItemUE::= SEQUENCE {
+ ueID UEID,
+ ranP-List SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-QueryOutcome-Format2-ItemParameters,
+ ueFilterID UE-Filter-ID OPTIONAL, ...
+}
+
+E2SM-RC-QueryOutcome-Format2-ItemParameters ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-valueType RANParameter-ValueType OPTIONAL,
+ ...
+}
+
+-- **************************************************************
+-- RAN Function Definition IEs
+-- **************************************************************
+
+E2SM-RC-RANFunctionDefinition ::= SEQUENCE{
+ ranFunction-Name RANfunction-Name,
+ ranFunctionDefinition-EventTrigger RANFunctionDefinition-EventTrigger OPTIONAL,
+ ranFunctionDefinition-Report RANFunctionDefinition-Report OPTIONAL,
+ ranFunctionDefinition-Insert RANFunctionDefinition-Insert OPTIONAL,
+ ranFunctionDefinition-Control RANFunctionDefinition-Control OPTIONAL,
+ ranFunctionDefinition-Policy RANFunctionDefinition-Policy OPTIONAL,
+ ...,
+ ranFunctionDefinition-Query RANFunctionDefinition-Query OPTIONAL
+}
+
+-------------------------------
+-- Event Trigger
+-------------------------------
+RANFunctionDefinition-EventTrigger ::= SEQUENCE {
+ ric-EventTriggerStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-EventTrigger-Style-Item,
+ ran-L2Parameters-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF L2Parameters-RANParameter-Item OPTIONAL,
+ ran-CallProcessTypes-List SEQUENCE (SIZE(1..maxnoofCallProcessTypes)) OF RANFunctionDefinition-EventTrigger-CallProcess-Item OPTIONAL,
+ ran-UEIdentificationParameters-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF UEIdentification-RANParameter-Item OPTIONAL,
+ ran-CellIdentificationParameters-List SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF CellIdentification-RANParameter-Item OPTIONAL,
+ ...
+}
+
+RANFunctionDefinition-EventTrigger-Style-Item ::= SEQUENCE {
+ ric-EventTriggerStyle-Type RIC-Style-Type,
+ ric-EventTriggerStyle-Name RIC-Style-Name,
+ ric-EventTriggerFormat-Type RIC-Format-Type,
+ ...
+}
+
+
+L2Parameters-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+UEIdentification-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+CellIdentification-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+RANFunctionDefinition-EventTrigger-CallProcess-Item ::= SEQUENCE {
+ callProcessType-ID RIC-CallProcessType-ID,
+ callProcessType-Name RIC-CallProcessType-Name,
+ callProcessBreakpoints-List SEQUENCE (SIZE (1..maxnoofCallProcessBreakpoints)) OF RANFunctionDefinition-EventTrigger-Breakpoint-Item,
+ ...
+}
+
+
+RANFunctionDefinition-EventTrigger-Breakpoint-Item ::= SEQUENCE {
+ callProcessBreakpoint-ID RIC-CallProcessBreakpoint-ID,
+ callProcessBreakpoint-Name RIC-CallProcessBreakpoint-Name,
+ ran-CallProcessBreakpointParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF CallProcessBreakpoint-RANParameter-Item OPTIONAL,
+ ...
+}
+
+
+CallProcessBreakpoint-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+-------------------------------
+-- Report
+-------------------------------
+
+RANFunctionDefinition-Report ::= SEQUENCE {
+ ric-ReportStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Report-Item,
+ ...
+}
+
+
+RANFunctionDefinition-Report-Item ::= SEQUENCE {
+ ric-ReportStyle-Type RIC-Style-Type,
+ ric-ReportStyle-Name RIC-Style-Name,
+ ric-SupportedEventTriggerStyle-Type RIC-Style-Type,
+ ric-ReportActionFormat-Type RIC-Format-Type,
+ ric-IndicationHeaderFormat-Type RIC-Format-Type,
+ ric-IndicationMessageFormat-Type RIC-Format-Type,
+ ran-ReportParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF Report-RANParameter-Item OPTIONAL,
+ ...
+}
+
+
+Report-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+-------------------------------
+-- Insert
+-------------------------------
+
+RANFunctionDefinition-Insert ::= SEQUENCE {
+ ric-InsertStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Insert-Item,
+ ...
+}
+
+RANFunctionDefinition-Insert-Item ::= SEQUENCE {
+ ric-InsertStyle-Type RIC-Style-Type,
+ ric-InsertStyle-Name RIC-Style-Name,
+ ric-SupportedEventTriggerStyle-Type RIC-Style-Type,
+ ric-ActionDefinitionFormat-Type RIC-Format-Type,
+ ric-InsertIndication-List SEQUENCE (SIZE(1..maxnoofInsertIndication)) OF RANFunctionDefinition-Insert-Indication-Item OPTIONAL,
+ ric-IndicationHeaderFormat-Type RIC-Format-Type,
+ ric-IndicationMessageFormat-Type RIC-Format-Type,
+ ric-CallProcessIDFormat-Type RIC-Format-Type,
+ ...
+}
+
+
+RANFunctionDefinition-Insert-Indication-Item ::= SEQUENCE {
+ ric-InsertIndication-ID RIC-InsertIndication-ID,
+ ric-InsertIndication-Name RIC-InsertIndication-Name,
+ ran-InsertIndicationParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF InsertIndication-RANParameter-Item OPTIONAL,
+ ...
+}
+
+
+InsertIndication-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+-------------------------------
+-- Control
+-------------------------------
+
+RANFunctionDefinition-Control ::= SEQUENCE {
+ ric-ControlStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Control-Item,
+ ...
+}
+
+
+RANFunctionDefinition-Control-Item ::= SEQUENCE {
+ ric-ControlStyle-Type RIC-Style-Type,
+ ric-ControlStyle-Name RIC-Style-Name,
+ ric-ControlAction-List SEQUENCE (SIZE(1..maxnoofControlAction)) OF RANFunctionDefinition-Control-Action-Item OPTIONAL,
+ ric-ControlHeaderFormat-Type RIC-Format-Type,
+ ric-ControlMessageFormat-Type RIC-Format-Type,
+ ric-CallProcessIDFormat-Type RIC-Format-Type OPTIONAL,
+ ric-ControlOutcomeFormat-Type RIC-Format-Type,
+ ran-ControlOutcomeParameters-List SEQUENCE (SIZE(1..maxnoofRANOutcomeParameters)) OF ControlOutcome-RANParameter-Item OPTIONAL,
+ ...
+}
+
+ControlOutcome-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+RANFunctionDefinition-Control-Action-Item ::= SEQUENCE {
+ ric-ControlAction-ID RIC-ControlAction-ID,
+ ric-ControlAction-Name RIC-ControlAction-Name,
+ ran-ControlActionParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF ControlAction-RANParameter-Item OPTIONAL,
+ ...,
+ ueGroup-ControlAction-Supported ENUMERATED {true, false, ...}
+}
+
+ControlAction-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL,
+ listOfAdditionalSupportedFormats-UEGroupControl ListOfAdditionalSupportedFormats-UEGroupControl OPTIONAL
+}
+
+ListOfAdditionalSupportedFormats-UEGroupControl ::= SEQUENCE (SIZE(0..maxnoofFormatTypes)) OF AdditionalSupportedFormat-UEGroupControl
+
+AdditionalSupportedFormat-UEGroupControl ::= SEQUENCE {
+ ric-ControlHeaderFormat-Type RIC-Format-Type,
+ ric-ControlMessageFormat-Type RIC-Format-Type,
+ ...
+}
+
+-------------------------------
+-- Policy
+-------------------------------
+
+RANFunctionDefinition-Policy ::= SEQUENCE {
+ ric-PolicyStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Policy-Item,
+ ...
+}
+
+RANFunctionDefinition-Policy-Item ::= SEQUENCE {
+ ric-PolicyStyle-Type RIC-Style-Type,
+ ric-PolicyStyle-Name RIC-Style-Name,
+ ric-SupportedEventTriggerStyle-Type RIC-Style-Type,
+ ric-PolicyAction-List SEQUENCE (SIZE(1..maxnoofPolicyAction)) OF RANFunctionDefinition-Policy-Action-Item OPTIONAL,
+ ...
+}
+
+
+RANFunctionDefinition-Policy-Action-Item ::= SEQUENCE {
+ ric-PolicyAction-ID RIC-ControlAction-ID,
+ ric-PolicyAction-Name RIC-ControlAction-Name,
+ ric-ActionDefinitionFormat-Type RIC-Format-Type,
+ ran-PolicyActionParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF PolicyAction-RANParameter-Item OPTIONAL,
+ ran-PolicyConditionParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF PolicyCondition-RANParameter-Item OPTIONAL,
+ ...
+}
+
+
+PolicyAction-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+
+PolicyCondition-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ...,
+ ranParameter-Definition RANParameter-Definition OPTIONAL
+}
+
+-------------------------------
+-- Query
+-------------------------------
+
+RANFunctionDefinition-Query ::= SEQUENCE {
+ ric-QueryStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Query-Item,
+ ...
+}
+
+
+RANFunctionDefinition-Query-Item ::= SEQUENCE {
+ ric-QueryStyle-Type RIC-Style-Type,
+ ric-QueryStyle-Name RIC-Style-Name,
+ ric-QueryHeaderFormat-Type RIC-Format-Type,
+ ric-QueryDefinitionFormat-Type RIC-Format-Type,
+ ric-QueryOutcomeFormat-Type RIC-Format-Type,
+ ran-QueryParameters-List SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF Query-RANParameter-Item OPTIONAL,
+ ...
+}
+
+
+Query-RANParameter-Item ::= SEQUENCE {
+ ranParameter-ID RANParameter-ID,
+ ranParameter-name RANParameter-Name,
+ ranParameter-Definition RANParameter-Definition OPTIONAL,
+ ...
+}
+
+
+END
+
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/e2sm-v3.01.asn b/epan/dissectors/asn1/e2ap/e2sm-v3.01.asn
new file mode 100644
index 00000000..1bd6896c
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/e2sm-v3.01.asn
@@ -0,0 +1,573 @@
+-- ASN1START
+-- **************************************************************
+-- E2SM
+-- Information Element Definitions
+--
+-- **************************************************************
+
+E2SM-COMMON-IEs {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2sm(2) e2sm-COMMON-IEs (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- --------------------------------------------------
+-- Constants
+-- --------------------------------------------------
+
+maxE1APid INTEGER ::= 65535
+maxF1APid INTEGER ::= 4
+
+-- IEs derived from 3GPP 36.423 (X2AP)
+maxEARFCN INTEGER ::= 65535
+
+-- IEs derived from 3GPP 38.473 (F1AP)
+maxNRARFCN INTEGER ::= 3279165
+maxnoofNrCellBands INTEGER ::= 32
+
+
+-- --------------------------------------------------
+-- E2SM Commmon IEs
+-- --------------------------------------------------
+
+CGI ::= CHOICE {
+ nR-CGI NR-CGI,
+ eUTRA-CGI EUTRA-CGI,
+ ...
+}
+
+CoreCPID ::= CHOICE {
+ fiveGC GUAMI,
+ ePC GUMMEI,
+ ...
+}
+
+InterfaceIdentifier ::= CHOICE {
+ nG InterfaceID-NG,
+ xN InterfaceID-Xn,
+ f1 InterfaceID-F1,
+ e1 InterfaceID-E1,
+ s1 InterfaceID-S1,
+ x2 InterfaceID-X2,
+ w1 InterfaceID-W1,
+ ...
+}
+
+InterfaceID-NG ::= SEQUENCE {
+ guami GUAMI,
+ ...
+}
+
+InterfaceID-Xn ::= SEQUENCE {
+ global-NG-RAN-ID GlobalNGRANNodeID,
+ ...
+}
+
+InterfaceID-F1 ::= SEQUENCE {
+ globalGNB-ID GlobalGNB-ID,
+ gNB-DU-ID GNB-DU-ID,
+ ...
+}
+
+InterfaceID-E1 ::= SEQUENCE {
+ globalGNB-ID GlobalGNB-ID,
+ gNB-CU-UP-ID GNB-CU-UP-ID,
+ ...
+}
+
+InterfaceID-S1 ::= SEQUENCE {
+ gUMMEI GUMMEI,
+ ...
+}
+
+InterfaceID-X2 ::= SEQUENCE {
+ nodeType CHOICE {
+ global-eNB-ID GlobalENB-ID,
+ global-en-gNB-ID GlobalenGNB-ID,
+ ...
+ },
+ ...
+}
+
+InterfaceID-W1 ::= SEQUENCE {
+ global-ng-eNB-ID GlobalNgENB-ID,
+ ng-eNB-DU-ID NGENB-DU-ID,
+ ...
+}
+
+Interface-MessageID ::= SEQUENCE {
+ interfaceProcedureID INTEGER,
+ messageType ENUMERATED {initiatingMessage, successfulOutcome, unsuccessfulOutcome, ...},
+ ...
+}
+
+InterfaceType ::= ENUMERATED {nG, xn, f1, e1, s1, x2, w1, ...}
+
+GroupID ::= CHOICE {
+ fiveGC FiveQI,
+ ePC QCI,
+ ...
+}
+
+QoSID ::= CHOICE {
+ fiveGC FiveQI,
+ ePC QCI,
+ ...
+}
+
+RANfunction-Name ::= SEQUENCE{
+ ranFunction-ShortName PrintableString(SIZE(1..150,...)),
+ ranFunction-E2SM-OID PrintableString(SIZE(1..1000,...)),
+ ranFunction-Description PrintableString(SIZE(1..150,...)),
+ ranFunction-Instance INTEGER OPTIONAL,
+ ...
+}
+
+RIC-Format-Type ::= INTEGER
+
+RIC-Style-Type ::= INTEGER
+
+RIC-Style-Name ::= PrintableString(SIZE(1..150,...))
+
+
+RRC-MessageID ::= SEQUENCE {
+ rrcType CHOICE {
+ lTE RRCclass-LTE,
+ nR RRCclass-NR,
+ ...
+ },
+ messageID INTEGER,
+ ...
+}
+
+RRCclass-LTE ::= ENUMERATED {bCCH-BCH, bCCH-BCH-MBMS, bCCH-DL-SCH, bCCH-DL-SCH-BR, bCCH-DL-SCH-MBMS, mCCH, pCCH, dL-CCCH, dL-DCCH, uL-CCCH, uL-DCCH, sC-MCCH, ...}
+
+RRCclass-NR ::= ENUMERATED {bCCH-BCH, bCCH-DL-SCH, dL-CCCH, dL-DCCH, pCCH, uL-CCCH, uL-CCCH1, uL-DCCH, ...}
+
+ServingCell-ARFCN ::= CHOICE {
+ nR NR-ARFCN,
+ eUTRA E-UTRA-ARFCN,
+ ...
+}
+
+ServingCell-PCI ::= CHOICE {
+ nR NR-PCI,
+ eUTRA E-UTRA-PCI,
+ ...
+}
+
+
+UEID ::= CHOICE{
+ gNB-UEID UEID-GNB,
+ gNB-DU-UEID UEID-GNB-DU,
+ gNB-CU-UP-UEID UEID-GNB-CU-UP,
+ ng-eNB-UEID UEID-NG-ENB,
+ ng-eNB-DU-UEID UEID-NG-ENB-DU,
+ en-gNB-UEID UEID-EN-GNB,
+ eNB-UEID UEID-ENB,
+ ...
+}
+
+UEID-GNB ::= SEQUENCE{
+ amf-UE-NGAP-ID AMF-UE-NGAP-ID,
+ guami GUAMI,
+ gNB-CU-UE-F1AP-ID-List UEID-GNB-CU-F1AP-ID-List OPTIONAL,
+-- C-ifCUDUseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU separated gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. More than 1 F1AP ID shall be reported by E2 Node only when NR-DC is established.
+ gNB-CU-CP-UE-E1AP-ID-List UEID-GNB-CU-CP-E1AP-ID-List OPTIONAL,
+-- C-ifCPUPseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CP-UP separated gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+ ran-UEID RANUEID OPTIONAL,
+ m-NG-RAN-UE-XnAP-ID NG-RANnodeUEXnAPID OPTIONAL,
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by both MN and SN.
+ globalGNB-ID GlobalGNB-ID OPTIONAL,
+-- This IE shall not be used. This IE is replaced with globalNG-RANNode-ID.
+ ...,
+ globalNG-RANNode-ID GlobalNGRANNodeID OPTIONAL
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SN.
+}
+
+UEID-GNB-CU-CP-E1AP-ID-List ::= SEQUENCE (SIZE(1..maxE1APid)) OF UEID-GNB-CU-CP-E1AP-ID-Item
+
+UEID-GNB-CU-CP-E1AP-ID-Item ::= SEQUENCE{
+ gNB-CU-CP-UE-E1AP-ID GNB-CU-CP-UE-E1AP-ID,
+ ...
+}
+
+UEID-GNB-CU-F1AP-ID-List ::= SEQUENCE (SIZE(1..maxF1APid)) OF UEID-GNB-CU-CP-F1AP-ID-Item
+
+UEID-GNB-CU-CP-F1AP-ID-Item ::= SEQUENCE{
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
+ ...
+}
+
+UEID-GNB-DU ::= SEQUENCE{
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
+ ran-UEID RANUEID OPTIONAL,
+ ...
+}
+
+UEID-GNB-CU-UP ::= SEQUENCE{
+ gNB-CU-CP-UE-E1AP-ID GNB-CU-CP-UE-E1AP-ID,
+ ran-UEID RANUEID OPTIONAL,
+ ...
+}
+
+UEID-NG-ENB ::= SEQUENCE{
+ amf-UE-NGAP-ID AMF-UE-NGAP-ID,
+ guami GUAMI,
+ ng-eNB-CU-UE-W1AP-ID NGENB-CU-UE-W1AP-ID OPTIONAL,
+-- C-ifCUDUseperated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU seperated ng-eNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+ m-NG-RAN-UE-XnAP-ID NG-RANnodeUEXnAPID OPTIONAL,
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by both MN and SN.
+ globalNgENB-ID GlobalNgENB-ID OPTIONAL,
+-- This IE shall not be used. This IE is replaced with globalNG-RANNode-ID.
+ ...,
+ globalNG-RANNode-ID GlobalNGRANNodeID OPTIONAL
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SN.
+}
+
+
+UEID-NG-ENB-DU ::= SEQUENCE{
+ ng-eNB-CU-UE-W1AP-ID NGENB-CU-UE-W1AP-ID,
+ ...
+}
+
+UEID-EN-GNB ::= SEQUENCE{
+ m-eNB-UE-X2AP-ID ENB-UE-X2AP-ID,
+ m-eNB-UE-X2AP-ID-Extension ENB-UE-X2AP-ID-Extension OPTIONAL,
+ globalENB-ID GlobalENB-ID,
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID OPTIONAL,
+-- C-ifCUDUseperated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU seperated en-gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+ gNB-CU-CP-UE-E1AP-ID-List UEID-GNB-CU-CP-E1AP-ID-List OPTIONAL,
+-- C-ifCPUPseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CP-UP separated en-gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+ ran-UEID RANUEID OPTIONAL,
+ ...
+}
+
+UEID-ENB ::= SEQUENCE{
+ mME-UE-S1AP-ID MME-UE-S1AP-ID,
+ gUMMEI GUMMEI,
+ m-eNB-UE-X2AP-ID ENB-UE-X2AP-ID OPTIONAL,
+-- This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by MeNB and SeNB.
+ m-eNB-UE-X2AP-ID-Extension ENB-UE-X2AP-ID-Extension OPTIONAL,
+ globalENB-ID GlobalENB-ID OPTIONAL,
+-- This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SeNB.
+ ...
+}
+
+-- **************************************************************
+-- 3GPP derived IEs
+-- **************************************************************
+-- NOTE:
+-- - Extension fields removed and replaced with "..."
+-- - IE names modified across all extracts to use "PLMNIdentity"
+
+-- **************************************************************
+-- IEs derived from 3GPP 36.413 (S1AP)
+-- **************************************************************
+-- **************************************************************
+
+-- copied from v16.5.0
+-- ENB-ID ::= CHOICE {
+-- macro-eNB-ID BIT STRING (SIZE (20)),
+-- home-eNB-ID BIT STRING (SIZE (28)),
+-- ... ,
+-- short-Macro-eNB-ID BIT STRING (SIZE(18)),
+-- long-Macro-eNB-ID BIT STRING (SIZE(21))
+-- }
+
+-- copied from v16.5.0
+-- GlobalENB-ID ::= SEQUENCE {
+-- pLMNIdentity PLMNIdentity,
+-- eNB-ID ENB-ID,
+-- ...
+-- }
+
+
+-- copied from v16.5.0
+GUMMEI ::= SEQUENCE {
+ pLMN-Identity PLMNIdentity,
+ mME-Group-ID MME-Group-ID,
+ mME-Code MME-Code,
+ ...
+}
+
+-- copied from v16.5.0
+MME-Group-ID ::= OCTET STRING (SIZE (2))
+
+-- copied from v16.5.0
+MME-Code ::= OCTET STRING (SIZE (1))
+
+-- copied from v16.5.0
+MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
+
+-- copied from v16.5.0
+QCI ::= INTEGER (0..255)
+
+-- copied from v16.5.0
+SubscriberProfileIDforRFP ::= INTEGER (1..256)
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 36.423 (X2AP)
+-- **************************************************************
+-- Extension fields removed.
+-- Note: to avoid duplicate names with NGAP, XnAP, etc.:
+-- GNB-ID renamed ENGNB-ID,
+-- GlobalGNB-ID renamed GlobalenGNB-ID,
+-- UE-X2AP-ID renamed ENB-UE-X2AP-ID
+-- UE-X2AP-ID-Extension renamed ENB-UE-X2AP-ID-Extension
+-- **************************************************************
+
+-- copied from v16.5.0
+EN-GNB-ID ::= CHOICE {
+ en-gNB-ID BIT STRING (SIZE (22..32)),
+ ...
+}
+
+-- copied from v16.5.0
+ENB-UE-X2AP-ID ::= INTEGER (0..4095)
+
+-- copied from v16.5.0
+ENB-UE-X2AP-ID-Extension ::= INTEGER (0..4095, ...)
+
+-- copied from v16.5.0
+E-UTRA-ARFCN ::= INTEGER (0..maxEARFCN)
+
+-- copied from v16.5.0
+E-UTRA-PCI ::= INTEGER (0..503, ...)
+
+-- copied from v16.5.0
+E-UTRA-TAC ::= OCTET STRING (SIZE(2))
+
+-- copied from v16.5.0
+-- GlobalenGNB-ID ::= SEQUENCE {
+-- pLMN-Identity PLMNIdentity,
+-- en-gNB-ID EN-GNB-ID,
+-- ...
+-- }
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 37.473 (W1AP)
+-- **************************************************************
+
+-- copied from v16.3.0
+NGENB-CU-UE-W1AP-ID ::= INTEGER (0..4294967295)
+
+-- copied from v16.3.0
+-- NGENB-DU-ID ::= INTEGER (0..68719476735)
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.413 (NGAP)
+-- Extension fields removed and replaced with ...
+-- **************************************************************
+
+-- copied from v16.2.0
+AMFPointer ::= BIT STRING (SIZE(6))
+
+-- copied from v16.2.0
+AMFRegionID ::= BIT STRING (SIZE(8))
+
+-- copied from v16.2.0
+AMFSetID ::= BIT STRING (SIZE(10))
+
+-- copied from v16.2.0
+AMF-UE-NGAP-ID ::= INTEGER (0..1099511627775)
+
+-- copied from v16.2.0
+EUTRACellIdentity ::= BIT STRING (SIZE(28))
+
+-- copied from v16.2.0
+EUTRA-CGI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ eUTRACellIdentity EUTRACellIdentity,
+ ...
+}
+
+-- copied from v16.2.0
+FiveQI ::= INTEGER (0..255, ...)
+
+-- copied from v16.2.0
+GlobalGNB-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ gNB-ID GNB-ID,
+ ...
+}
+
+-- copied from v16.2.0
+GlobalNgENB-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ ngENB-ID NgENB-ID,
+ ...
+}
+
+
+-- copied from v16.2.0
+GNB-ID ::= CHOICE {
+ gNB-ID BIT STRING (SIZE(22..32)),
+ ...
+}
+
+-- copied from v16.2.0
+GUAMI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ aMFRegionID AMFRegionID,
+ aMFSetID AMFSetID,
+ aMFPointer AMFPointer,
+ ...
+}
+
+-- copied from v16.2.0
+IndexToRFSP ::= INTEGER (1..256, ...)
+
+-- copied from v16.2.0
+NgENB-ID ::= CHOICE {
+ macroNgENB-ID BIT STRING (SIZE(20)),
+ shortMacroNgENB-ID BIT STRING (SIZE(18)),
+ longMacroNgENB-ID BIT STRING (SIZE(21)),
+ ...
+}
+
+-- copied from v16.2.0
+NRCellIdentity ::= BIT STRING (SIZE(36))
+
+-- copied from v16.2.0
+NR-CGI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ nRCellIdentity NRCellIdentity,
+ ...
+}
+
+-- copied from v16.2.0
+PLMNIdentity ::= OCTET STRING (SIZE(3))
+
+-- copied from v16.2.0
+QosFlowIdentifier ::= INTEGER (0..63, ...)
+
+-- copied from v16.2.0
+SD ::= OCTET STRING (SIZE(3))
+
+-- copied from v16.2.0
+S-NSSAI ::= SEQUENCE {
+ sST SST,
+ sD SD OPTIONAL,
+ ...
+}
+
+-- copied from v16.2.0
+SST ::= OCTET STRING (SIZE(1))
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.423 (XnAP)
+-- **************************************************************
+
+-- copied from v16.2.0
+NG-RANnodeUEXnAPID ::= INTEGER (0.. 4294967295)
+
+GlobalNGRANNodeID ::= CHOICE {
+ gNB GlobalGNB-ID,
+ ng-eNB GlobalNgENB-ID,
+ ...
+}
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 37.483 (E1AP)
+-- **************************************************************
+
+-- copied from v17.1.0
+GNB-CU-CP-UE-E1AP-ID ::= INTEGER (0..4294967295)
+
+-- copied from v17.1.0
+-- GNB-CU-UP-ID ::= INTEGER (0..68719476735)
+
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.473 (F1AP)
+-- **************************************************************
+
+-- copied from v16.5.0
+FiveGS-TAC ::= OCTET STRING (SIZE(3))
+
+-- copied from v16.5.0
+FreqBandNrItem ::= SEQUENCE {
+ freqBandIndicatorNr INTEGER (1..1024, ...),
+ ...
+}
+
+
+-- copied from v16.5.0
+GNB-CU-UE-F1AP-ID ::= INTEGER (0..4294967295)
+
+-- copied from v16.5.0
+-- GNB-DU-ID ::= INTEGER (0..68719476735)
+
+-- copied from v16.5.0
+NR-PCI ::= INTEGER (0..1007)
+
+-- copied from v16.5.0
+NR-ARFCN ::= SEQUENCE {
+ nRARFCN INTEGER (0..maxNRARFCN),
+ ...
+}
+-- copied from v16.5.0
+NRFrequencyBand-List ::= SEQUENCE (SIZE(1..maxnoofNrCellBands)) OF NRFrequencyBandItem
+
+-- copied from v16.5.0
+NRFrequencyBandItem ::= SEQUENCE {
+ freqBandIndicatorNr INTEGER (1..1024,...),
+ supportedSULBandList SupportedSULBandList,
+ ...
+}
+
+-- copied from v16.5.0
+NRFrequencyInfo ::= SEQUENCE {
+ nrARFCN NR-ARFCN,
+ frequencyBand-List NRFrequencyBand-List,
+ frequencyShift7p5khz NRFrequencyShift7p5khz OPTIONAL,
+ ...
+}
+
+-- copied from v16.5.0
+NRFrequencyShift7p5khz ::= ENUMERATED {false, true, ...}
+
+
+-- copied from v16.5.0
+RANUEID ::= OCTET STRING (SIZE (8))
+
+
+-- copied from v16.5.0
+SupportedSULBandList ::= SEQUENCE (SIZE(0..maxnoofNrCellBands)) OF SupportedSULFreqBandItem
+
+-- copied from v16.5.0
+SupportedSULFreqBandItem ::= SEQUENCE {
+ freqBandIndicatorNr INTEGER (1..1024,...),
+ ...
+}
+
+
+
+
+
+END
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/e2ap/packet-e2ap-template.c b/epan/dissectors/asn1/e2ap/packet-e2ap-template.c
new file mode 100644
index 00000000..709469f6
--- /dev/null
+++ b/epan/dissectors/asn1/e2ap/packet-e2ap-template.c
@@ -0,0 +1,833 @@
+/* packet-e2ap.c
+ * Routines for E2APApplication Protocol (e2ap) packet dissection
+ * Copyright 2021, Martin Mathieson
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * References: ORAN-WG3.E2AP-v03.00, ORAN-WG3.E2SM-KPM-v03.00, ORAN-WG3.E2SM-RC.03.00
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/sctpppids.h>
+#include <epan/expert.h>
+#include <epan/proto_data.h>
+#include <epan/conversation.h>
+#include <epan/to_str.h>
+#include <epan/oids.h>
+
+#include "packet-e2ap.h"
+#include "packet-per.h"
+#include "packet-ntp.h"
+
+#define PNAME "E2 Application Protocol"
+#define PSNAME "E2AP"
+#define PFNAME "e2ap"
+
+/* Dissector will use SCTP PPID 70, 71 or 72 or SCTP port 37464. */
+#define SCTP_PORT_E2AP 37464
+
+void proto_register_e2ap(void);
+void proto_reg_handoff_e2ap(void);
+
+static dissector_handle_t e2ap_handle;
+
+#include "packet-e2ap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_e2ap = -1;
+#include "packet-e2ap-hf.c"
+
+static int hf_e2ap_unmapped_ran_function_id = -1;
+static int hf_e2ap_ran_function_name_not_recognised = -1;
+static int hf_e2ap_ran_function_setup_frame = -1;
+
+static int hf_e2ap_dissector_version= -1;
+static int hf_e2ap_frame_version = -1;
+
+static int hf_e2ap_timestamp_string = -1;
+
+
+/* Initialize the subtree pointers */
+static gint ett_e2ap = -1;
+
+static expert_field ei_e2ap_ran_function_names_no_match = EI_INIT;
+static expert_field ei_e2ap_ran_function_id_not_mapped = EI_INIT;
+static expert_field ei_e2ap_ran_function_dissector_mismatch = EI_INIT;
+static expert_field ei_e2ap_ran_function_max_dissectors_registered = EI_INIT;
+
+#include "packet-e2ap-ett.c"
+
+
+/* Forward declarations */
+static int dissect_e2ap_RANfunction_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+
+static int dissect_E2SM_KPM_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_KPM_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_KPM_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_KPM_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_KPM_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static int dissect_E2SM_RC_EventTrigger_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_RC_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_RC_RANFunctionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_RC_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_RC_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_RC_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_RC_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_RC_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_RC_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+//static int dissect_E2SM_RC_QueryOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+//static int dissect_E2SM_RC_QueryDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+//static int dissect_E2SM_RC_QueryHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static int dissect_E2SM_NI_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_NI_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_NI_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_NI_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_NI_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_NI_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_NI_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_NI_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_NI_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+enum {
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+typedef struct _e2ap_ctx_t {
+ guint32 message_type;
+ guint32 ProcedureCode;
+ guint32 ProtocolIE_ID;
+ guint32 ProtocolExtensionID;
+} e2ap_ctx_t;
+
+
+/* Temporary private info to remember while dissecting frame */
+struct e2ap_private_data {
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ guint32 protocol_extension_id;
+ guint32 message_type;
+ guint32 ran_ue_e2ap_id;
+
+ guint32 ran_function_id;
+ guint32 gnb_id_len;
+#define MAX_GNB_ID_BYTES 6
+ guint8 gnb_id_bytes[MAX_GNB_ID_BYTES];
+ dissector_handle_t component_configuration_dissector;
+};
+
+/* Lookup temporary private info */
+static struct e2ap_private_data*
+e2ap_get_private_data(packet_info *pinfo)
+{
+ struct e2ap_private_data *e2ap_data = (struct e2ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_e2ap, 0);
+ if (!e2ap_data) {
+ e2ap_data = wmem_new0(pinfo->pool, struct e2ap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_e2ap, 0, e2ap_data);
+ }
+ return e2ap_data;
+}
+
+/****************************************************************************************************************/
+/* We learn which set of RAN functions pointers corresponds to a given ranFunctionID when we see E2SetupRequest */
+/* TODO: unfortunately, it seems that different versions of these protocols are not backward-compatible, so */
+/* it would be good to show where (going by OID) the dissector isn't at the same version as the message.. */
+/* An alternative would be to have multiple versions of each protocol and have them register in tables... */
+
+/* Static table mapping from string -> ran_function */
+static const char* g_ran_function_name_table[MAX_RANFUNCTIONS] =
+{
+ "ORAN-E2SM-KPM",
+ "ORAN-E2SM-RC",
+ "ORAN-E2SM-NI"
+};
+
+
+
+/* Per-conversation mapping: ranFunctionId -> ran_function+dissector */
+typedef struct {
+ guint32 setup_frame;
+ guint32 ran_function_id;
+ ran_function_t ran_function;
+ char oid[MAX_OID_LEN]; // i.e., OID from setupRequest
+ ran_function_dissector_t *dissector;
+} ran_function_id_mapping_t;
+
+typedef struct {
+#define MAX_RANFUNCTION_ENTRIES 8
+ guint32 num_entries;
+ ran_function_id_mapping_t entries[MAX_RANFUNCTION_ENTRIES];
+} ran_functionid_table_t;
+
+static const char *ran_function_to_str(ran_function_t ran_function)
+{
+ switch (ran_function) {
+ case KPM_RANFUNCTIONS:
+ return "KPM";
+ case RC_RANFUNCTIONS:
+ return "RC";
+ case NI_RANFUNCTIONS:
+ return "NI";
+ default:
+ return "Unknown";
+ }
+}
+
+/* Table of RAN Function tables, indexed by gnbId (bytes) */
+typedef struct {
+#define MAX_GNBS 6
+ guint32 num_gnbs;
+ struct {
+ guint8 id_value[MAX_GNB_ID_BYTES];
+ guint32 id_len;
+ ran_functionid_table_t *ran_function_table;
+ } gnb[MAX_GNBS];
+} gnb_ran_functions_t;
+
+static gnb_ran_functions_t s_gnb_ran_functions_table;
+
+
+/* Table of available dissectors for each RAN function */
+typedef struct {
+ guint32 num_available_dissectors;
+#define MAX_DISSECTORS_PER_RAN_FUNCTION 3
+ ran_function_dissector_t* ran_function_dissectors[MAX_DISSECTORS_PER_RAN_FUNCTION];
+} ran_function_available_dissectors_t;
+
+/* Available dissectors should be set here */
+static ran_function_available_dissectors_t g_ran_functions_available_dissectors[MAX_RANFUNCTIONS];
+
+/* Will be called from outside this file by separate dissectors */
+void register_e2ap_ran_function_dissector(ran_function_t ran_function, ran_function_dissector_t *dissector)
+{
+ if ((ran_function >= MIN_RANFUNCTIONS) && (ran_function <= MAX_RANFUNCTIONS)) {
+ ran_function_available_dissectors_t *available_dissectors = &g_ran_functions_available_dissectors[ran_function];
+ if (available_dissectors->num_available_dissectors < MAX_DISSECTORS_PER_RAN_FUNCTION) {
+ available_dissectors->ran_function_dissectors[available_dissectors->num_available_dissectors++] = dissector;
+ }
+ }
+}
+
+
+/* Get RANfunctionID table from conversation data - create new if necessary */
+static ran_functionid_table_t* get_ran_functionid_table(packet_info *pinfo)
+{
+ conversation_t *p_conv;
+ ran_functionid_table_t *p_conv_data = NULL;
+
+ /* Lookup conversation */
+ p_conv = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
+ conversation_pt_to_endpoint_type(pinfo->ptype),
+ pinfo->destport, pinfo->srcport, 0);
+ if (!p_conv) {
+ /* None, so create new data and set */
+ p_conv = conversation_new(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
+ conversation_pt_to_endpoint_type(pinfo->ptype),
+ pinfo->destport, pinfo->srcport, 0);
+ p_conv_data = (ran_functionid_table_t*)wmem_new0(wmem_file_scope(), ran_functionid_table_t);
+ conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
+ }
+ else {
+ /* Will return existing conversation data */
+ p_conv_data = (ran_functionid_table_t*)conversation_get_proto_data(p_conv, proto_e2ap);
+ }
+
+ return p_conv_data;
+}
+
+
+/* Store new RANfunctionID -> Service Model mapping in table */
+void e2ap_store_ran_function_mapping(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, const char *name)
+{
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+ ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
+
+ if (!name) {
+ return;
+ }
+ /* Stop if already reached table limit */
+ if (table->num_entries == MAX_RANFUNCTION_ENTRIES) {
+ proto_tree_add_expert_format(tree, pinfo, &ei_e2ap_ran_function_max_dissectors_registered,
+ tvb, 0, 0,
+ "Dissector wants to register for %s, but max (%u) already reached",
+ name, MAX_RANFUNCTION_ENTRIES);
+ return;
+ }
+
+ guint32 ran_function_id = e2ap_data->ran_function_id;
+
+ ran_function_t ran_function = MAX_RANFUNCTIONS; /* i.e. invalid */
+ ran_function_dissector_t *ran_function_dissector = NULL;
+
+ /* Check known RAN function names */
+ for (int n=MIN_RANFUNCTIONS; n < MAX_RANFUNCTIONS; n++) {
+ if (strcmp(name, g_ran_function_name_table[n]) == 0) {
+ ran_function = n;
+
+ /* Don't know OID yet, so for now, just choose first/only one */
+ /* TODO: is latest one likely to be more compatible? First fields (at least) come from E2SM.. */
+ if (g_ran_functions_available_dissectors[table->entries[n].ran_function].num_available_dissectors) {
+ ran_function_dissector = g_ran_functions_available_dissectors[table->entries[n].ran_function].ran_function_dissectors[0];
+ }
+ break;
+ }
+ }
+
+ /* Nothing to do if no matches */
+ if (ran_function == MAX_RANFUNCTIONS) {
+ return;
+ }
+
+ /* If ID already mapped, can stop here */
+ for (guint n=0; n < table->num_entries; n++) {
+ if (table->entries[n].ran_function_id == ran_function_id) {
+ return;
+ }
+ }
+
+ /* OK, store this new entry */
+ guint idx = table->num_entries++;
+ table->entries[idx].setup_frame = pinfo->num;
+ table->entries[idx].ran_function_id = ran_function_id;
+ table->entries[idx].ran_function = ran_function;
+ table->entries[idx].dissector = ran_function_dissector;
+
+ /* When add first entry, also want to set up table from gnbId -> table */
+ if (idx == 0) {
+ guint id_len = e2ap_data->gnb_id_len;
+ guint8 *id_value = &e2ap_data->gnb_id_bytes[0];
+
+ gboolean found = FALSE;
+ for (guint n=0; n<s_gnb_ran_functions_table.num_gnbs; n++) {
+ if ((s_gnb_ran_functions_table.gnb[n].id_len = id_len) &&
+ (memcmp(s_gnb_ran_functions_table.gnb[n].id_value, id_value, id_len) == 0)) {
+ /* Already have an entry for this gnb. */
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (!found) {
+ /* Add entry (if room for 1 more) */
+ guint32 new_idx = s_gnb_ran_functions_table.num_gnbs;
+ if (new_idx < MAX_GNBS-1) {
+ s_gnb_ran_functions_table.gnb[new_idx].id_len = id_len;
+ memcpy(s_gnb_ran_functions_table.gnb[new_idx].id_value, id_value, id_len);
+ s_gnb_ran_functions_table.gnb[new_idx].ran_function_table = table;
+
+ s_gnb_ran_functions_table.num_gnbs++;
+ }
+ }
+ }
+}
+
+/* Look for Service Model function pointers, based on current RANFunctionID from frame */
+static ran_function_dissector_t* lookup_ranfunction_dissector(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb)
+{
+ /* Get ranFunctionID from this frame */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+ guint ran_function_id = e2ap_data->ran_function_id;
+
+ /* Get ranFunction table corresponding to this frame's conversation */
+ ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
+ if (!table) {
+ /* There is no ran function table associated with this frame's conversation info */
+ return NULL;
+ }
+
+ /* Find the entry in this table corresponding to ran_function_id */
+ for (guint n=0; n < table->num_entries; n++) {
+ if (ran_function_id == table->entries[n].ran_function_id) {
+ if (tree) {
+ /* Point back at the setup frame where this ranfunction was mapped */
+ proto_item *ti = proto_tree_add_uint(tree, hf_e2ap_ran_function_setup_frame,
+ tvb, 0, 0, table->entries[n].setup_frame);
+ /* Show that mapping */
+ proto_item_append_text(ti, " (%u -> %s)", table->entries[n].ran_function_id, ran_function_to_str(table->entries[n].ran_function));
+ proto_item_set_generated(ti);
+
+ /* Also take the chance to compare signalled and available dissector */
+ char *frame_version = oid_resolved_from_string(pinfo->pool, table->entries[n].oid);
+ ti = proto_tree_add_string(tree, hf_e2ap_frame_version, tvb, 0, 0, frame_version);
+ proto_item_set_generated(ti);
+
+ char *dissector_version = oid_resolved_from_string(pinfo->pool, table->entries[n].dissector->oid);
+ ti = proto_tree_add_string(tree, hf_e2ap_dissector_version, tvb, 0, 0, dissector_version);
+ proto_item_set_generated(ti);
+
+ if (strcmp(frame_version, dissector_version) != 0) {
+ /* Expert info for version mismatch! */
+ expert_add_info_format(pinfo, ti, &ei_e2ap_ran_function_dissector_mismatch,
+ "Dissector version mismatch - frame is %s but dissector is %s",
+ frame_version, dissector_version);
+ }
+ }
+
+ /* Return the dissector */
+ return table->entries[n].dissector;
+ }
+ }
+
+ if (tree) {
+ /* No match found.. */
+ proto_item *ti = proto_tree_add_item(tree, hf_e2ap_unmapped_ran_function_id, tvb, 0, 0, ENC_NA);
+ expert_add_info_format(pinfo, ti, &ei_e2ap_ran_function_id_not_mapped,
+ "Service Model not mapped for FunctionID %u", ran_function_id);
+ }
+
+ return NULL;
+}
+
+/* Return the oid associated with this frame's conversation */
+static char* lookup_ranfunction_oid(packet_info *pinfo)
+{
+ /* Get ranFunctionID from this frame */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+ guint ran_function_id = e2ap_data->ran_function_id;
+
+ /* Get ranFunction table corresponding to this frame's conversation */
+ ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
+ if (!table) {
+ /* There is no ran function table associated with this frame's conversation info */
+ return NULL;
+ }
+
+ /* Find the entry in this table corresponding to ran_function_id */
+ for (guint n=0; n < table->num_entries; n++) {
+ if (ran_function_id == table->entries[n].ran_function_id) {
+ return (char*)(table->entries[n].oid);
+ }
+ }
+
+ /* Not found */
+ return NULL;
+}
+
+
+/* We now know the OID - can we set a dissector that is an exact match from what has been signalled? */
+static void update_dissector_using_oid(packet_info *pinfo, ran_function_t ran_function)
+{
+ char *frame_oid = lookup_ranfunction_oid(pinfo);
+ if (frame_oid == NULL) {
+ /* TODO: error? */
+ return;
+ }
+
+ gboolean found = FALSE;
+
+ /* Look at available dissectors for this RAN function */
+ ran_function_available_dissectors_t *available = &g_ran_functions_available_dissectors[ran_function];
+ if (!available->num_available_dissectors) {
+ /* Oops - none available at all! */
+ return;
+ }
+
+ // Get mapping in use
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+ guint ran_function_id = e2ap_data->ran_function_id;
+ ran_function_id_mapping_t *mapping = NULL;
+ ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
+ /* Find the entry in this table corresponding to ran_function_id */
+ for (guint n=0; n < table->num_entries; n++) {
+ if (ran_function_id == table->entries[n].ran_function_id) {
+ mapping = &(table->entries[n]);
+ }
+ }
+
+ if (!mapping) {
+ return;
+ }
+
+ /* Set dissector pointer in ran_function_id_mapping_t */
+ for (guint32 n=0; n < available->num_available_dissectors; n++) {
+ /* If exact match, set it */
+ if (strcmp(frame_oid, available->ran_function_dissectors[n]->oid) == 0) {
+ mapping->dissector = available->ran_function_dissectors[n];
+ found = TRUE;
+ break;
+ }
+ }
+
+ /* If not exact match, just set to first one available (TODO: closest above better?) */
+ if (!found) {
+ mapping->dissector = available->ran_function_dissectors[0];
+ }
+}
+
+
+/* Update RANfunctionID -> Service Model mapping in table (now that we know OID) */
+void e2ap_update_ran_function_mapping(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, const char *oid)
+{
+ /* Copy OID into table entry (so may be used to choose and be compared with chosen available dissector */
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+ ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
+ ran_function_t ran_function = MAX_RANFUNCTIONS;
+ for (guint n=0; n < table->num_entries; n++) {
+ if (e2ap_data->ran_function_id == table->entries[n].ran_function_id) {
+ ran_function = table->entries[n].ran_function;
+ g_strlcpy(table->entries[n].oid, oid, MAX_OID_LEN);
+ }
+ }
+
+ /* Look up version from oid and show as generated field */
+ char *version = oid_resolved_from_string(pinfo->pool, oid);
+ proto_item *ti = proto_tree_add_string(tree, hf_e2ap_frame_version, tvb, 0, 0, version);
+ proto_item_set_generated(ti);
+
+ /* Can now pick most appropriate dissector for this RAN Function name, based upon this OID and the available dissectors */
+ if (ran_function < MAX_RANFUNCTIONS) {
+ if (pinfo->fd->visited) {
+ update_dissector_using_oid(pinfo, ran_function);
+ }
+ }
+}
+
+/* This will get used for E2nodeConfigurationUpdate, where we have a gnb-id but haven't seen E2setupRequest */
+static void update_conversation_from_gnb_id(asn1_ctx_t *actx)
+{
+ packet_info *pinfo = actx->pinfo;
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+
+ /* Look for conversation data */
+ conversation_t *p_conv;
+ ran_functionid_table_t *p_conv_data = NULL;
+
+ /* Lookup conversation */
+ p_conv = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
+ conversation_pt_to_endpoint_type(pinfo->ptype),
+ pinfo->destport, pinfo->srcport, 0);
+
+ if (!p_conv) {
+ /* None, so create new data and set */
+ p_conv = conversation_new(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
+ conversation_pt_to_endpoint_type(pinfo->ptype),
+ pinfo->destport, pinfo->srcport, 0);
+ p_conv_data = (ran_functionid_table_t*)wmem_new0(wmem_file_scope(), ran_functionid_table_t);
+ conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
+
+ /* Look to see if we already know about the mappings in effect on this gNB */
+ guint id_len = e2ap_data->gnb_id_len;
+ guint8 *id_value = &e2ap_data->gnb_id_bytes[0];
+
+ for (guint n=0; n<s_gnb_ran_functions_table.num_gnbs; n++) {
+ if ((s_gnb_ran_functions_table.gnb[n].id_len = id_len) &&
+ (memcmp(s_gnb_ran_functions_table.gnb[n].id_value, id_value, id_len) == 0)) {
+
+ /* Have an entry for this gnb. Set direct pointer to existing data (used by original conversation). */
+ /* N.B. This means that no further updates for the gNB are expected on different conversations.. */
+ p_conv_data = s_gnb_ran_functions_table.gnb[n].ran_function_table;
+ conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
+
+ /* TODO: may want to try to add a generated field to pass back to E2setupRequest where RAN function mappings were first seen? */
+ break;
+ }
+ }
+ }
+}
+
+
+/* Dissector tables */
+static dissector_table_t e2ap_ies_dissector_table;
+
+//static dissector_table_t e2ap_ies_p1_dissector_table;
+//static dissector_table_t e2ap_ies_p2_dissector_table;
+static dissector_table_t e2ap_extension_dissector_table;
+static dissector_table_t e2ap_proc_imsg_dissector_table;
+static dissector_table_t e2ap_proc_sout_dissector_table;
+static dissector_table_t e2ap_proc_uout_dissector_table;
+static dissector_table_t e2ap_n2_ie_type_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+/* Currently not used
+static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+*/
+
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+
+#include "packet-e2ap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ e2ap_ctx_t e2ap_ctx;
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+
+ e2ap_ctx.message_type = e2ap_data->message_type;
+ e2ap_ctx.ProcedureCode = e2ap_data->procedure_code;
+ e2ap_ctx.ProtocolIE_ID = e2ap_data->protocol_ie_id;
+ e2ap_ctx.ProtocolExtensionID = e2ap_data->protocol_extension_id;
+
+ return (dissector_try_uint_new(e2ap_ies_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &e2ap_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+
+/* Currently not used
+static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+
+ return (dissector_try_uint(e2ap_ies_p1_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+
+ return (dissector_try_uint(e2ap_ies_p2_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+*/
+
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(e2ap_proc_imsg_dissector_table, e2ap_data->procedure_code, tvb, pinfo, tree, TRUE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(e2ap_proc_sout_dissector_table, e2ap_data->procedure_code, tvb, pinfo, tree, TRUE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(e2ap_proc_uout_dissector_table, e2ap_data->procedure_code, tvb, pinfo, tree, TRUE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static int
+dissect_e2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *e2ap_item = NULL;
+ proto_tree *e2ap_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "E2AP");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ /* create the e2ap protocol tree */
+ e2ap_item = proto_tree_add_item(tree, proto_e2ap, tvb, 0, -1, ENC_NA);
+ e2ap_tree = proto_item_add_subtree(e2ap_item, ett_e2ap);
+
+ return dissect_E2AP_PDU_PDU(tvb, pinfo, e2ap_tree, NULL);
+}
+
+
+static void e2ap_init_protocol(void)
+{
+ s_gnb_ran_functions_table.num_gnbs = 0;
+}
+
+
+/*--- proto_reg_handoff_e2ap ---------------------------------------*/
+void
+proto_reg_handoff_e2ap(void)
+{
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_E2AP, e2ap_handle);
+ dissector_add_uint("sctp.ppi", E2_CP_PROTOCOL_ID, e2ap_handle);
+ dissector_add_uint("sctp.ppi", E2_UP_PROTOCOL_ID, e2ap_handle);
+ dissector_add_uint("sctp.ppi", E2_DU_PROTOCOL_ID, e2ap_handle);
+
+#include "packet-e2ap-dis-tab.c"
+
+ /********************************/
+ /* Known OIDs for RAN providers */
+
+ /* KPM */
+ oid_add_from_string("KPM v1", "1.3.6.1.4.1.53148.1.1.2.2");
+ oid_add_from_string("KPM v2", "1.3.6.1.4.1.53148.1.2.2.2");
+ oid_add_from_string("KPM v3", "1.2.6.1.4.1.53148.1.3.2.2");
+
+ /* RC */
+ // TODO: appears to be the same??? Asking for clarification from ORAN..
+ oid_add_from_string("RC v1", "1.3.6.1.4.1.53148.1.1.2.3");
+ //oid_add_from_string("RC v3", "1.3.6.1.4.1.53148.1.1.2.3");
+ //oid_add_from_string("RC v4", "1.3.6.1.4.1.53148.1.1.2.3");
+
+ /* NI */
+ oid_add_from_string("NI v1", "1.3.6.1.4.1.53148.1.1.2.1");
+
+ /********************************/
+ /* Register 'built-in' dissectors */
+
+ static ran_function_dissector_t kpm_v3 =
+ { "ORAN-E2SM-KPM", "1.2.6.1.4.1.53148.1.3.2.2", 3, 0,
+ { dissect_E2SM_KPM_RANfunction_Description_PDU,
+
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+
+ dissect_E2SM_KPM_ActionDefinition_PDU,
+ dissect_E2SM_KPM_IndicationMessage_PDU,
+ dissect_E2SM_KPM_IndicationHeader_PDU,
+ NULL, /* no dissect_E2SM_KPM_CallProcessID_PDU */
+ dissect_E2SM_KPM_EventTriggerDefinition_PDU
+ }
+ };
+
+ static ran_function_dissector_t rc_v1 =
+ { "ORAN-E2SM-RC", "1.3.6.1.4.1.53148.1.1.2.3", 1, 3,
+ { dissect_E2SM_RC_RANFunctionDefinition_PDU,
+
+ dissect_E2SM_RC_ControlHeader_PDU,
+ dissect_E2SM_RC_ControlMessage_PDU,
+ dissect_E2SM_RC_ControlOutcome_PDU,
+ /* new for v3 */
+ NULL, //dissect_E2SM_RC_QueryOutcome_PDU,
+ NULL, //dissect_E2SM_RC_QueryDefinition_PDU,
+ NULL, //dissect_E2SM_RC_QueryHeader_PDU,
+
+ dissect_E2SM_RC_ActionDefinition_PDU,
+ dissect_E2SM_RC_IndicationMessage_PDU,
+ dissect_E2SM_RC_IndicationHeader_PDU,
+ dissect_E2SM_RC_CallProcessID_PDU,
+ dissect_E2SM_RC_EventTrigger_PDU
+ }
+ };
+
+ static ran_function_dissector_t ni_v1 =
+ { "ORAN-E2SM-NI", "1.3.6.1.4.1.53148.1.1.2.1", 1, 0,
+ { dissect_E2SM_NI_RANfunction_Description_PDU,
+
+ dissect_E2SM_NI_ControlHeader_PDU,
+ dissect_E2SM_NI_ControlMessage_PDU,
+ dissect_E2SM_NI_ControlOutcome_PDU,
+ NULL,
+ NULL,
+ NULL,
+
+ dissect_E2SM_NI_ActionDefinition_PDU,
+ dissect_E2SM_NI_IndicationMessage_PDU,
+ dissect_E2SM_NI_IndicationHeader_PDU,
+ dissect_E2SM_NI_CallProcessID_PDU,
+ dissect_E2SM_NI_EventTriggerDefinition_PDU
+ }
+ };
+
+ /* Register available dissectors. TODO: break these out into separate
+ * ASN.1 protocols that register themselves, or leave one of each here? */
+ register_e2ap_ran_function_dissector(KPM_RANFUNCTIONS, &kpm_v3);
+ register_e2ap_ran_function_dissector(RC_RANFUNCTIONS, &rc_v1);
+ register_e2ap_ran_function_dissector(NI_RANFUNCTIONS, &ni_v1);
+}
+
+
+
+/*--- proto_register_e2ap -------------------------------------------*/
+void proto_register_e2ap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+#include "packet-e2ap-hfarr.c"
+ { &hf_e2ap_unmapped_ran_function_id,
+ { "Unmapped RANfunctionID", "e2ap.unmapped-ran-function-id",
+ FT_NONE, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_e2ap_ran_function_name_not_recognised,
+ { "RANfunction name not recognised", "e2ap.ran-function-name-not-recognised",
+ FT_NONE, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_e2ap_ran_function_setup_frame,
+ { "RANfunction setup frame", "e2ap.setup-frame",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_e2ap_dissector_version,
+ { "Version (dissector)", "e2ap.version.dissector",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_e2ap_frame_version,
+ { "Version (frame)", "e2ap.version.frame",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_e2ap_timestamp_string,
+ { "Timestamp string", "e2ap.timestamp-string",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_e2ap,
+#include "packet-e2ap-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_e2ap_ran_function_names_no_match, { "e2ap.ran-function-names-no-match", PI_PROTOCOL, PI_WARN, "RAN Function name doesn't match known service models", EXPFILL }},
+ { &ei_e2ap_ran_function_id_not_mapped, { "e2ap.ran-function-id-not-known", PI_PROTOCOL, PI_WARN, "Service Model not known for RANFunctionID", EXPFILL }},
+ { &ei_e2ap_ran_function_dissector_mismatch, { "e2ap.ran-function-dissector-version-mismatch", PI_PROTOCOL, PI_WARN, "Available dissector does not match signalled", EXPFILL }},
+ { &ei_e2ap_ran_function_max_dissectors_registered, { "e2ap.ran-function-max-dissectors-registered", PI_PROTOCOL, PI_WARN, "Available dissector does not match signalled", EXPFILL }},
+
+ };
+
+ expert_module_t* expert_e2ap;
+
+ /* Register protocol */
+ proto_e2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_e2ap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+
+ /* Register dissector */
+ e2ap_handle = register_dissector("e2ap", dissect_e2ap, proto_e2ap);
+
+ expert_e2ap = expert_register_protocol(proto_e2ap);
+ expert_register_field_array(expert_e2ap, ei, array_length(ei));
+
+ /* Register dissector tables */
+ e2ap_ies_dissector_table = register_dissector_table("e2ap.ies", "E2AP-PROTOCOL-IES", proto_e2ap, FT_UINT32, BASE_DEC);
+
+ // e2ap_ies_p1_dissector_table = register_dissector_table("e2ap.ies.pair.first", "E2AP-PROTOCOL-IES-PAIR FirstValue", proto_e2ap, FT_UINT32, BASE_DEC);
+ // e2ap_ies_p2_dissector_table = register_dissector_table("e2ap.ies.pair.second", "E2AP-PROTOCOL-IES-PAIR SecondValue", proto_e2ap, FT_UINT32, BASE_DEC);
+ e2ap_extension_dissector_table = register_dissector_table("e2ap.extension", "E2AP-PROTOCOL-EXTENSION", proto_e2ap, FT_UINT32, BASE_DEC);
+ e2ap_proc_imsg_dissector_table = register_dissector_table("e2ap.proc.imsg", "E2AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_e2ap, FT_UINT32, BASE_DEC);
+ e2ap_proc_sout_dissector_table = register_dissector_table("e2ap.proc.sout", "E2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
+ e2ap_proc_uout_dissector_table = register_dissector_table("e2ap.proc.uout", "E2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
+ e2ap_n2_ie_type_dissector_table = register_dissector_table("e2ap.n2_ie_type", "E2AP N2 IE Type", proto_e2ap, FT_STRING, STRING_CASE_SENSITIVE);
+
+ register_init_routine(&e2ap_init_protocol);
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/ess/CMakeLists.txt b/epan/dissectors/asn1/ess/CMakeLists.txt
new file mode 100644
index 00000000..e70581ae
--- /dev/null
+++ b/epan/dissectors/asn1/ess/CMakeLists.txt
@@ -0,0 +1,41 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ess )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ExtendedSecurityServices.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -k -C )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../cms/cms-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ess/ExtendedSecurityServices.asn b/epan/dissectors/asn1/ess/ExtendedSecurityServices.asn
new file mode 100644
index 00000000..a4845351
--- /dev/null
+++ b/epan/dissectors/asn1/ess/ExtendedSecurityServices.asn
@@ -0,0 +1,297 @@
+-- ExtendedSecurityServices as defined in RFC5035
+--
+-- The ASN definition has been modified to suit the Wireshark asn2wrs compiler
+--
+--
+--
+-- The original ASN.1 definition from RFC5035 contains the following
+-- copyright statement:
+--
+-- Full Copyright Statement
+--
+-- Copyright (C) The IETF Trust (2007).
+--
+-- This document is subject to the rights, licenses and restrictions
+-- contained in BCP 78, and except as set forth therein, the authors
+-- retain all their rights.
+--
+-- This document and the information contained herein are provided on an
+-- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+-- OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
+-- THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
+-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
+-- THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+-- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+--
+
+ExtendedSecurityServices
+ { iso(1) member-body(2) us(840) rsadsi(113549)
+ pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-ess-2006(30) }
+
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+
+-- Cryptographic Message Syntax (CMS)
+ ContentType, IssuerAndSerialNumber
+ FROM CryptographicMessageSyntax {iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
+ modules(0) cms-2004(24)}
+
+-- X.509
+ AlgorithmIdentifier, CertificateSerialNumber
+ FROM AuthenticationFramework
+ {joint-iso-itu-t ds(5) module(1) authenticationFramework(7) 3}
+
+ SubjectKeyIdentifier, PolicyInformation, GeneralNames
+ FROM CertificateExtensions
+ {joint-iso-ccitt ds(5) module(1) certificateExtensions(26) 0};
+
+
+-- Extended Security Services
+
+-- The construct "SEQUENCE SIZE (1..MAX) OF" appears in several ASN.1
+-- constructs in this module. A valid ASN.1 SEQUENCE can have zero or
+-- more entries. The SIZE (1..MAX) construct constrains the SEQUENCE to
+-- have at least one entry. MAX indicates the upper bound is unspecified.
+-- Implementations are free to choose an upper bound that suits their
+-- environment.
+
+-- UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
+
+-- The contents are formatted as described in [UTF8]
+
+-- Section 2.7
+
+ReceiptRequest ::= SEQUENCE {
+ signedContentIdentifier ContentIdentifier,
+ receiptsFrom ReceiptsFrom,
+ receiptsTo SEQUENCE SIZE (1..ub-receiptsTo) OF GeneralNames
+}
+
+ub-receiptsTo INTEGER ::= 16
+
+id-aa-receiptRequest OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 1}
+
+ContentIdentifier ::= OCTET STRING
+
+id-aa-contentIdentifier OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 7}
+
+ReceiptsFrom ::= CHOICE {
+ allOrFirstTier [0] AllOrFirstTier, -- formerly "allOrNone [0]AllOrNone"
+ receiptList [1] SEQUENCE OF GeneralNames
+}
+
+AllOrFirstTier ::= INTEGER { -- Formerly AllOrNone
+ allReceipts (0),
+ firstTierRecipients (1)
+}
+
+-- Section 2.8
+
+Receipt ::= SEQUENCE {
+ version ESSVersion,
+ contentType ContentType,
+ signedContentIdentifier ContentIdentifier,
+ originatorSignatureValue OCTET STRING
+}
+
+id-ct-receipt OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
+ rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-ct(1) 1}
+
+ESSVersion ::= INTEGER { v1(1) }
+
+-- Section 2.9
+
+ContentHints ::= SEQUENCE {
+ contentDescription UTF8String (SIZE (1..MAX)) OPTIONAL,
+ contentType ContentType
+}
+
+id-aa-contentHint OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
+ rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 4}
+
+-- Section 2.10
+
+MsgSigDigest ::= OCTET STRING
+
+id-aa-msgSigDigest OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 5}
+
+-- Section 2.11
+
+ContentReference ::= SEQUENCE {
+ contentType ContentType,
+ signedContentIdentifier ContentIdentifier,
+ originatorSignatureValue OCTET STRING
+}
+
+id-aa-contentReference OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 10 }
+
+-- Section 3.2
+
+ESSSecurityLabel ::= SET {
+ security-policy-identifier SecurityPolicyIdentifier,
+ security-classification SecurityClassification OPTIONAL,
+ privacy-mark ESSPrivacyMark OPTIONAL,
+ security-categories SecurityCategories OPTIONAL
+}
+
+ id-aa-securityLabel OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 2}
+
+SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
+
+SecurityClassification ::= INTEGER {
+ unmarked (0),
+ unclassified (1),
+ restricted (2),
+ confidential (3),
+ secret (4),
+ top-secret (5)
+}(0..ub-integer-options)
+
+ub-integer-options INTEGER ::= 256
+
+ESSPrivacyMark ::= CHOICE {
+ pString PrintableString (SIZE (1..ub-privacy-mark-length)),
+ utf8String UTF8String (SIZE (1..MAX))
+}
+
+ub-privacy-mark-length INTEGER ::= 128
+
+SecurityCategories ::= SET SIZE (1..ub-security-categories) OF SecurityCategory
+
+ub-security-categories INTEGER ::= 64
+
+SecurityCategory ::= SEQUENCE {
+ type [0] OBJECT IDENTIFIER,
+ value [1] ANY DEFINED BY type
+}
+
+--Note: The aforementioned SecurityCategory syntax produces identical
+--hex encodings as the following SecurityCategory syntax that is
+--documented in the X.411 specification:
+--
+--SecurityCategory ::= SEQUENCE {
+-- type [0] SECURITY-CATEGORY,
+-- value [1] ANY DEFINED BY type }
+--
+--SECURITY-CATEGORY MACRO ::=
+--BEGIN
+--TYPE NOTATION ::= type | empty
+--VALUE NOTATION ::= value (VALUE OBJECT IDENTIFIER)
+--END
+
+-- this is a commonly used definition of security categories
+
+RestrictiveTag ::= SEQUENCE {
+ tagName OBJECT IDENTIFIER,
+ attributeFlags BIT STRING
+}
+
+EnumeratedTag ::= SEQUENCE {
+ tagName OBJECT IDENTIFIER,
+ attributeList SET OF SecurityAttribute
+}
+
+PermissiveTag ::= SEQUENCE {
+ tagName OBJECT IDENTIFIER,
+ attributeFlags BIT STRING
+}
+
+SecurityAttribute ::= INTEGER
+
+InformativeTag ::= SEQUENCE {
+ tagName OBJECT IDENTIFIER,
+ attributes FreeFormField
+}
+
+FreeFormField ::= CHOICE {
+ bitSetAttributes BIT STRING,
+ securityAttributes SET OF SecurityAttribute
+}
+
+-- Section 3.4
+
+EquivalentLabels ::= SEQUENCE OF ESSSecurityLabel
+
+id-aa-equivalentLabels OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 9}
+
+-- Section 4.4
+
+MLExpansionHistory ::= SEQUENCE
+ SIZE (1..ub-ml-expansion-history) OF MLData
+
+id-aa-mlExpandHistory OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 3}
+
+ub-ml-expansion-history INTEGER ::= 64
+
+MLData ::= SEQUENCE {
+ mailListIdentifier EntityIdentifier,
+ expansionTime GeneralizedTime,
+ mlReceiptPolicy MLReceiptPolicy OPTIONAL
+}
+
+EntityIdentifier ::= CHOICE {
+ issuerAndSerialNumber IssuerAndSerialNumber,
+ subjectKeyIdentifier SubjectKeyIdentifier
+}
+
+MLReceiptPolicy ::= CHOICE {
+ none [0] NULL,
+ insteadOf [1] SEQUENCE SIZE (1..MAX) OF GeneralNames,
+ inAdditionTo [2] SEQUENCE SIZE (1..MAX) OF GeneralNames
+}
+
+-- Section 5.4
+
+SigningCertificate ::= SEQUENCE {
+ certs SEQUENCE OF ESSCertID,
+ policies SEQUENCE OF PolicyInformation OPTIONAL
+}
+
+id-aa-signingCertificate OBJECT IDENTIFIER ::= { iso(1)
+ member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) id-aa(2) 12 }
+
+SigningCertificateV2 ::= SEQUENCE {
+ certs SEQUENCE OF ESSCertIDv2,
+ policies SEQUENCE OF PolicyInformation OPTIONAL
+}
+
+id-aa-signingCertificateV2 OBJECT IDENTIFIER ::= { iso(1)
+ member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+ smime(16) id-aa(2) 47 }
+
+id-sha256 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2)
+ country(16) us(840) organization(1) gov(101)
+ csor(3) nistalgorithm(4) hashalgs(2) 1 }
+
+ESSCertIDv2 ::= SEQUENCE {
+ hashAlgorithm AlgorithmIdentifier
+ DEFAULT {algorithm id-sha256},
+ certHash Hash,
+ issuerSerial IssuerSerial OPTIONAL
+}
+
+ESSCertID ::= SEQUENCE {
+ certHash Hash,
+ issuerSerial IssuerSerial OPTIONAL
+}
+
+Hash ::= OCTET STRING -- SHA1 hash of entire certificate
+
+IssuerSerial ::= SEQUENCE {
+ issuer GeneralNames,
+ serialNumber CertificateSerialNumber
+}
+
+END -- of ExtendedSecurityServices
+
diff --git a/epan/dissectors/asn1/ess/ess.cnf b/epan/dissectors/asn1/ess/ess.cnf
new file mode 100644
index 00000000..85d040da
--- /dev/null
+++ b/epan/dissectors/asn1/ess/ess.cnf
@@ -0,0 +1,105 @@
+# ess.cnf
+# ExtendedSecurityServices conformation file
+
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509ce/x509ce-exp.cnf
+#.IMPORT ../cms/cms-exp.cnf
+
+#.EXPORTS
+ESSSecurityLabel_PDU
+
+#.PDU
+
+#.REGISTER
+ReceiptRequest B "1.2.840.113549.1.9.16.2.1" "id-aa-receiptRequest"
+ContentIdentifier B "1.2.840.113549.1.9.16.2.7" "id-aa-contentIdentifier"
+Receipt B "1.2.840.113549.1.9.16.1.1" "id-ct-receipt"
+ContentHints B "1.2.840.113549.1.9.16.2.4" "id-aa-contentHint"
+MsgSigDigest B "1.2.840.113549.1.9.16.2.5" "id-aa-msgSigDigest"
+ContentReference B "1.2.840.113549.1.9.16.2.10" "id-aa-contentReference"
+ESSSecurityLabel B "1.2.840.113549.1.9.16.2.2" "id-aa-securityLabel"
+EquivalentLabels B "1.2.840.113549.1.9.16.2.9" "id-aa-equivalentLabels"
+MLExpansionHistory B "1.2.840.113549.1.9.16.2.3" "id-aa-mlExpandHistory"
+SigningCertificate B "1.2.840.113549.1.9.16.2.12" "id-aa-signingCertificate"
+SigningCertificateV2 B "1.2.840.113549.1.9.16.2.47" "id-aa-signingCertificateV2"
+
+RestrictiveTag B "2.16.840.1.101.2.1.8.3.0" "id-restrictiveAttributes"
+EnumeratedTag B "2.16.840.1.101.2.1.8.3.1" "id-enumeratedPermissiveAttributes"
+PermissiveTag B "2.16.840.1.101.2.1.8.3.2" "id-permissiveAttributes"
+InformativeTag B "2.16.840.1.101.2.1.8.3.3" "id-informativeAttributes"
+EnumeratedTag B "2.16.840.1.101.2.1.8.3.4" "id-enumeratedRestrictiveAttributes"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+SigningCertificateV2/certs certsV2
+RestrictiveTag/tagName restrictiveTagName
+RestrictiveTag/attributeFlags restrictiveAttributeFlags
+PermissiveTag/tagName permissiveTagName
+PermissiveTag/attributeFlags permissiveAttributeFlags
+InformativeTag/tagName informativeTagName
+FreeFormField/bitSetAttributes informativeAttributeFlags
+
+#.FN_PARS SecurityCategory/type
+ FN_VARIANT = _str HF_INDEX = hf_ess_SecurityCategory_type_OID VAL_PTR = &object_identifier_id
+
+#.FN_BODY SecurityCategory/value
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS RestrictiveTag/tagName
+ FN_VARIANT = _str VAL_PTR = &object_identifier_id
+
+#.FN_PARS EnumeratedTag/tagName
+ FN_VARIANT = _str VAL_PTR = &object_identifier_id
+
+#.FN_PARS PermissiveTag/tagName
+ FN_VARIANT = _str VAL_PTR = &object_identifier_id
+
+#.FN_PARS InformativeTag/tagName
+ FN_VARIANT = _str VAL_PTR = &object_identifier_id
+
+#.FN_PARS SecurityAttribute
+ VAL_PTR = &attribute
+
+#.FN_BODY SecurityAttribute
+ guint32 attribute;
+
+ %(DEFAULT_BODY)s
+ ess_dissect_attribute (attribute, actx);
+
+#.FN_PARS RestrictiveTag/attributeFlags
+ VAL_PTR = &attributes
+
+#.FN_BODY RestrictiveTag/attributeFlags
+ tvbuff_t *attributes;
+
+ %(DEFAULT_BODY)s
+ ess_dissect_attribute_flags (attributes, actx);
+
+#.FN_PARS PermissiveTag/attributeFlags
+ VAL_PTR = &attributes
+
+#.FN_BODY PermissiveTag/attributeFlags
+ tvbuff_t *attributes;
+
+ %(DEFAULT_BODY)s
+ ess_dissect_attribute_flags (attributes, actx);
+
+#.FN_PARS FreeFormField/bitSetAttributes
+ VAL_PTR = &attributes
+
+#.FN_BODY FreeFormField/bitSetAttributes
+ tvbuff_t *attributes;
+
+ %(DEFAULT_BODY)s
+ ess_dissect_attribute_flags (attributes, actx);
+
+#.FN_BODY Receipt
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "ESS");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "Signed Receipt");
+ %(DEFAULT_BODY)s
+
+#.END
+
diff --git a/epan/dissectors/asn1/ess/packet-ess-template.c b/epan/dissectors/asn1/ess/packet-ess-template.c
new file mode 100644
index 00000000..c8d579f9
--- /dev/null
+++ b/epan/dissectors/asn1/ess/packet-ess-template.c
@@ -0,0 +1,193 @@
+/* packet-ess.c
+ * Routines for RFC 2634 and RFC 5035 Extended Security Services packet
+ * dissection
+ * Ronnie Sahlberg 2004
+ * Stig Bjorlykke 2010
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/uat.h>
+
+#include "packet-ber.h"
+#include "packet-ess.h"
+#include "packet-cms.h"
+#include "packet-x509ce.h"
+#include "packet-x509af.h"
+
+#define PNAME "Extended Security Services"
+#define PSNAME "ESS"
+#define PFNAME "ess"
+
+void proto_register_ess(void);
+void proto_reg_handoff_ess(void);
+
+typedef struct _ess_category_attributes_t {
+ char *oid;
+ guint lacv;
+ char *name;
+} ess_category_attributes_t;
+
+static ess_category_attributes_t *ess_category_attributes;
+static guint num_ess_category_attributes;
+
+/* Initialize the protocol and registered fields */
+static int proto_ess = -1;
+static int hf_ess_SecurityCategory_type_OID = -1;
+static int hf_ess_Category_attribute = -1;
+
+static gint ett_Category_attributes = -1;
+
+#include "packet-ess-hf.c"
+
+#include "packet-ess-val.h"
+
+/* Initialize the subtree pointers */
+#include "packet-ess-ett.c"
+
+static const char *object_identifier_id;
+
+UAT_CSTRING_CB_DEF(ess_category_attributes, oid, ess_category_attributes_t)
+UAT_DEC_CB_DEF(ess_category_attributes, lacv, ess_category_attributes_t)
+UAT_CSTRING_CB_DEF(ess_category_attributes, name, ess_category_attributes_t)
+
+static void *
+ess_copy_cb(void *dest, const void *orig, size_t len _U_)
+{
+ ess_category_attributes_t *u = (ess_category_attributes_t *)dest;
+ const ess_category_attributes_t *o = (const ess_category_attributes_t *)orig;
+
+ u->oid = g_strdup(o->oid);
+ u->lacv = o->lacv;
+ u->name = g_strdup(o->name);
+
+ return dest;
+}
+
+static void
+ess_free_cb(void *r)
+{
+ ess_category_attributes_t *u = (ess_category_attributes_t *)r;
+
+ g_free(u->oid);
+ g_free(u->name);
+}
+
+static void
+ess_dissect_attribute (guint32 value, asn1_ctx_t *actx)
+{
+ guint i;
+
+ for (i = 0; i < num_ess_category_attributes; i++) {
+ ess_category_attributes_t *u = &(ess_category_attributes[i]);
+
+ if ((strcmp (u->oid, object_identifier_id) == 0) &&
+ (u->lacv == value))
+ {
+ proto_item_append_text (actx->created_item, " (%s)", u->name);
+ break;
+ }
+ }
+}
+
+static void
+ess_dissect_attribute_flags (tvbuff_t *tvb, asn1_ctx_t *actx)
+{
+ proto_tree *tree;
+ guint8 *value;
+ guint i;
+
+ tree = proto_item_add_subtree (actx->created_item, ett_Category_attributes);
+ value = (guint8 *)tvb_memdup (actx->pinfo->pool, tvb, 0, tvb_captured_length (tvb));
+
+ for (i = 0; i < num_ess_category_attributes; i++) {
+ ess_category_attributes_t *u = &(ess_category_attributes[i]);
+
+ if ((strcmp (u->oid, object_identifier_id) == 0) &&
+ ((u->lacv / 8) < tvb_captured_length (tvb)) &&
+ (value[u->lacv / 8] & (1U << (7 - (u->lacv % 8)))))
+ {
+ proto_tree_add_string_format (tree, hf_ess_Category_attribute, tvb,
+ u->lacv / 8, 1, u->name,
+ "%s (%d)", u->name, u->lacv);
+ }
+ }
+}
+
+#include "packet-ess-fn.c"
+
+/*--- proto_register_ess ----------------------------------------------*/
+void proto_register_ess(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_ess_SecurityCategory_type_OID,
+ { "type", "ess.type_OID", FT_STRING, BASE_NONE, NULL, 0,
+ "Type of Security Category", HFILL }},
+ { &hf_ess_Category_attribute,
+ { "Attribute", "ess.attribute", FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-ess-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_Category_attributes,
+#include "packet-ess-ettarr.c"
+ };
+
+ static uat_field_t attributes_flds[] = {
+ UAT_FLD_CSTRING(ess_category_attributes,oid, "Tag Set", "Category Tag Set (Object Identifier)"),
+ UAT_FLD_DEC(ess_category_attributes,lacv, "Value", "Label And Cert Value"),
+ UAT_FLD_CSTRING(ess_category_attributes,name, "Name", "Category Name"),
+ UAT_END_FIELDS
+ };
+
+ uat_t *attributes_uat = uat_new("ESS Category Attributes",
+ sizeof(ess_category_attributes_t),
+ "ess_category_attributes",
+ TRUE,
+ &ess_category_attributes,
+ &num_ess_category_attributes,
+ UAT_AFFECTS_DISSECTION, /* affects dissection of packets, but not set of named fields */
+ "ChEssCategoryAttributes",
+ ess_copy_cb,
+ NULL,
+ ess_free_cb,
+ NULL,
+ NULL,
+ attributes_flds);
+
+ static module_t *ess_module;
+
+ /* Register protocol */
+ proto_ess = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ess, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ ess_module = prefs_register_protocol(proto_ess, NULL);
+
+ prefs_register_uat_preference(ess_module, "attributes_table",
+ "ESS Category Attributes",
+ "ESS category attributes translation table",
+ attributes_uat);
+
+}
+
+
+/*--- proto_reg_handoff_ess -------------------------------------------*/
+void proto_reg_handoff_ess(void) {
+#include "packet-ess-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/ess/packet-ess-template.h b/epan/dissectors/asn1/ess/packet-ess-template.h
new file mode 100644
index 00000000..1b78c9ea
--- /dev/null
+++ b/epan/dissectors/asn1/ess/packet-ess-template.h
@@ -0,0 +1,19 @@
+/* packet-ess.h
+ * Routines for RFC5035 Extended Security Services packet dissection
+ * Ronnie Sahlberg 2004
+ * Stig Bjorlykke 2010
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_ESS_H
+#define PACKET_ESS_H
+
+#include "packet-ess-exp.h"
+
+#endif /* PACKET_ESS_H */
+
diff --git a/epan/dissectors/asn1/f1ap/CMakeLists.txt b/epan/dissectors/asn1/f1ap/CMakeLists.txt
new file mode 100644
index 00000000..c35c9177
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/CMakeLists.txt
@@ -0,0 +1,44 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME f1ap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ F1AP-CommonDataTypes.asn
+ F1AP-Constants.asn
+ F1AP-Containers.asn
+ F1AP-IEs.asn
+ F1AP-PDU-Contents.asn
+ F1AP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn b/epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn
new file mode 100644
index 00000000..ddd5bc25
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/F1AP-CommonDataTypes.asn
@@ -0,0 +1,34 @@
+-- 3GPP TS 38.473 V17.5.0 (2023-06)
+-- 9.4.6 Common Definitions
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+F1AP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0..65535),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolExtensionID ::= INTEGER (0..65535)
+
+ProtocolIE-ID ::= INTEGER (0..65535)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome }
+
+END
diff --git a/epan/dissectors/asn1/f1ap/F1AP-Constants.asn b/epan/dissectors/asn1/f1ap/F1AP-Constants.asn
new file mode 100644
index 00000000..f3ca5df0
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/F1AP-Constants.asn
@@ -0,0 +1,989 @@
+-- 3GPP TS 38.473 V17.5.0 (2023-06)
+-- 9.4.7 Constant Definitions
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+F1AP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+
+FROM F1AP-CommonDataTypes;
+
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-Reset ProcedureCode ::= 0
+id-F1Setup ProcedureCode ::= 1
+id-ErrorIndication ProcedureCode ::= 2
+id-gNBDUConfigurationUpdate ProcedureCode ::= 3
+id-gNBCUConfigurationUpdate ProcedureCode ::= 4
+id-UEContextSetup ProcedureCode ::= 5
+id-UEContextRelease ProcedureCode ::= 6
+id-UEContextModification ProcedureCode ::= 7
+id-UEContextModificationRequired ProcedureCode ::= 8
+id-UEMobilityCommand ProcedureCode ::= 9
+id-UEContextReleaseRequest ProcedureCode ::= 10
+id-InitialULRRCMessageTransfer ProcedureCode ::= 11
+id-DLRRCMessageTransfer ProcedureCode ::= 12
+id-ULRRCMessageTransfer ProcedureCode ::= 13
+id-privateMessage ProcedureCode ::= 14
+id-UEInactivityNotification ProcedureCode ::= 15
+id-GNBDUResourceCoordination ProcedureCode ::= 16
+id-SystemInformationDeliveryCommand ProcedureCode ::= 17
+id-Paging ProcedureCode ::= 18
+id-Notify ProcedureCode ::= 19
+id-WriteReplaceWarning ProcedureCode ::= 20
+id-PWSCancel ProcedureCode ::= 21
+id-PWSRestartIndication ProcedureCode ::= 22
+id-PWSFailureIndication ProcedureCode ::= 23
+id-GNBDUStatusIndication ProcedureCode ::= 24
+id-RRCDeliveryReport ProcedureCode ::= 25
+id-F1Removal ProcedureCode ::= 26
+id-NetworkAccessRateReduction ProcedureCode ::= 27
+id-TraceStart ProcedureCode ::= 28
+id-DeactivateTrace ProcedureCode ::= 29
+id-DUCURadioInformationTransfer ProcedureCode ::= 30
+id-CUDURadioInformationTransfer ProcedureCode ::= 31
+id-BAPMappingConfiguration ProcedureCode ::= 32
+id-GNBDUResourceConfiguration ProcedureCode ::= 33
+id-IABTNLAddressAllocation ProcedureCode ::= 34
+id-IABUPConfigurationUpdate ProcedureCode ::= 35
+id-resourceStatusReportingInitiation ProcedureCode ::= 36
+id-resourceStatusReporting ProcedureCode ::= 37
+id-accessAndMobilityIndication ProcedureCode ::= 38
+id-accessSuccess ProcedureCode ::= 39
+id-cellTrafficTrace ProcedureCode ::= 40
+id-PositioningMeasurementExchange ProcedureCode ::= 41
+id-PositioningAssistanceInformationControl ProcedureCode ::= 42
+id-PositioningAssistanceInformationFeedback ProcedureCode ::= 43
+id-PositioningMeasurementReport ProcedureCode ::= 44
+id-PositioningMeasurementAbort ProcedureCode ::= 45
+id-PositioningMeasurementFailureIndication ProcedureCode ::= 46
+id-PositioningMeasurementUpdate ProcedureCode ::= 47
+id-TRPInformationExchange ProcedureCode ::= 48
+id-PositioningInformationExchange ProcedureCode ::= 49
+id-PositioningActivation ProcedureCode ::= 50
+id-PositioningDeactivation ProcedureCode ::= 51
+id-E-CIDMeasurementInitiation ProcedureCode ::= 52
+id-E-CIDMeasurementFailureIndication ProcedureCode ::= 53
+id-E-CIDMeasurementReport ProcedureCode ::= 54
+id-E-CIDMeasurementTermination ProcedureCode ::= 55
+id-PositioningInformationUpdate ProcedureCode ::= 56
+id-ReferenceTimeInformationReport ProcedureCode ::= 57
+id-ReferenceTimeInformationReportingControl ProcedureCode ::= 58
+id-BroadcastContextSetup ProcedureCode ::= 59
+id-BroadcastContextRelease ProcedureCode ::= 60
+id-BroadcastContextReleaseRequest ProcedureCode ::= 61
+id-BroadcastContextModification ProcedureCode ::= 62
+id-MulticastGroupPaging ProcedureCode ::= 63
+id-MulticastContextSetup ProcedureCode ::= 64
+id-MulticastContextRelease ProcedureCode ::= 65
+id-MulticastContextReleaseRequest ProcedureCode ::= 66
+id-MulticastContextModification ProcedureCode ::= 67
+id-MulticastDistributionSetup ProcedureCode ::= 68
+id-MulticastDistributionRelease ProcedureCode ::= 69
+id-PDCMeasurementInitiation ProcedureCode ::= 70
+id-PDCMeasurementReport ProcedureCode ::= 71
+id-PDCMeasurementInitiationRequest ProcedureCode ::= 72
+id-PDCMeasurementInitiationResponse ProcedureCode ::= 73
+id-PDCMeasurementInitiationFailure ProcedureCode ::= 74
+id-pRSConfigurationExchange ProcedureCode ::= 75
+id-measurementPreconfiguration ProcedureCode ::= 76
+id-measurementActivation ProcedureCode ::= 77
+id-QoEInformationTransfer ProcedureCode ::= 78
+id-PDCMeasurementTerminationCommand ProcedureCode ::= 79
+id-PDCMeasurementFailureIndication ProcedureCode ::= 80
+id-PosSystemInformationDeliveryCommand ProcedureCode ::= 81
+
+
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxNRARFCN INTEGER ::= 3279165
+maxnoofErrors INTEGER ::= 256
+maxnoofIndividualF1ConnectionsToReset INTEGER ::= 65536
+maxCellingNBDU INTEGER ::= 512
+maxnoofSCells INTEGER ::= 32
+maxnoofSRBs INTEGER ::= 8
+maxnoofDRBs INTEGER ::= 64
+maxnoofULUPTNLInformation INTEGER ::= 2
+maxnoofDLUPTNLInformation INTEGER ::= 2
+maxnoofBPLMNs INTEGER ::= 6
+maxnoofCandidateSpCells INTEGER ::= 64
+maxnoofPotentialSpCells INTEGER ::= 64
+maxnoofNrCellBands INTEGER ::= 32
+maxnoofSIBTypes INTEGER ::= 32
+maxnoofSITypes INTEGER ::= 32
+maxnoofPagingCells INTEGER ::= 512
+maxnoofTNLAssociations INTEGER ::= 32
+maxnoofQoSFlows INTEGER ::= 64
+maxnoofSliceItems INTEGER ::= 1024
+maxCellineNB INTEGER ::= 256
+maxnoofExtendedBPLMNs INTEGER ::= 6
+maxnoofUEIDs INTEGER ::= 65536
+maxnoofBPLMNsNR INTEGER ::= 12
+maxnoofUACPLMNs INTEGER ::= 12
+maxnoofUACperPLMN INTEGER ::= 64
+maxnoofAdditionalSIBs INTEGER ::= 63
+maxnoofslots INTEGER ::= 5120
+maxnoofTLAs INTEGER ::= 16
+maxnoofGTPTLAs INTEGER ::= 16
+maxnoofBHRLCChannels INTEGER ::= 65536
+maxnoofRoutingEntries INTEGER ::= 1024
+maxnoofIABSTCInfo INTEGER ::= 45
+maxnoofSymbols INTEGER ::= 14
+maxnoofServingCells INTEGER ::= 32
+maxnoofDUFSlots INTEGER ::= 320
+maxnoofHSNASlots INTEGER ::= 5120
+maxnoofServedCellsIAB INTEGER ::= 512
+maxnoofChildIABNodes INTEGER ::= 1024
+maxnoofNonUPTrafficMappings INTEGER ::= 32
+maxnoofTLAsIAB INTEGER ::= 1024
+maxnoofMappingEntries INTEGER ::= 67108864
+maxnoofDSInfo INTEGER ::= 64
+maxnoofEgressLinks INTEGER ::= 2
+maxnoofULUPTNLInformationforIAB INTEGER ::= 32678
+maxnoofUPTNLAddresses INTEGER ::= 8
+maxnoofSLDRBs INTEGER ::= 512
+maxnoofQoSParaSets INTEGER ::= 8
+maxnoofPC5QoSFlows INTEGER ::= 2048
+maxnoofSSBAreas INTEGER ::= 64
+maxnoofPhysicalResourceBlocks INTEGER ::= 275
+maxnoofPhysicalResourceBlocks-1 INTEGER ::= 274
+maxnoofPRACHconfigs INTEGER ::= 16
+maxnoofRACHReports INTEGER ::= 64
+maxnoofRLFReports INTEGER ::= 64
+maxnoofAdditionalPDCPDuplicationTNL INTEGER ::= 2
+maxnoofRLCDuplicationState INTEGER ::= 3
+maxnoofCHOcells INTEGER ::= 8
+maxnoofMDTPLMNs INTEGER ::= 16
+maxnoofCAGsupported INTEGER ::= 12
+maxnoofNIDsupported INTEGER ::= 12
+maxnoofNRSCSs INTEGER ::= 5
+maxnoofExtSliceItems INTEGER ::= 65535
+maxnoofPosMeas INTEGER ::= 16384
+maxnoofTRPInfoTypes INTEGER ::= 64
+maxnoofTRPs INTEGER ::= 65535
+maxnoofSRSTriggerStates INTEGER ::= 3
+maxnoofSpatialRelations INTEGER ::= 64
+maxnoBcastCell INTEGER ::= 16384
+maxnoofAngleInfo INTEGER ::= 65535
+maxnooflcs-gcs-translation INTEGER ::= 3
+maxnoofPath INTEGER ::= 2
+maxnoofMeasE-CID INTEGER ::= 64
+maxnoofSSBs INTEGER ::= 255
+maxnoSRS-ResourceSets INTEGER ::= 16
+maxnoSRS-ResourcePerSet INTEGER ::= 16
+maxnoSRS-Carriers INTEGER ::= 32
+maxnoSCSs INTEGER ::= 5
+maxnoSRS-Resources INTEGER ::= 64
+maxnoSRS-PosResources INTEGER ::= 64
+maxnoSRS-PosResourceSets INTEGER ::= 16
+maxnoSRS-PosResourcePerSet INTEGER ::= 16
+maxnoofPRS-ResourceSets INTEGER ::= 2
+maxnoofPRS-ResourcesPerSet INTEGER ::= 64
+maxNoOfMeasTRPs INTEGER ::= 64
+maxnoofPRSresourceSets INTEGER ::= 8
+maxnoofPRSresources INTEGER ::= 64
+maxnoofSuccessfulHOReports INTEGER ::= 64
+maxnoofNR-UChannelIDs INTEGER ::= 16
+maxServedCellforSON INTEGER ::= 256
+maxNeighbourCellforSON INTEGER ::= 32
+maxAffectedCells INTEGER ::= 32
+maxnoofMRBs INTEGER ::= 32
+maxnoofMBSQoSFlows INTEGER ::= 64
+maxnoofMBSFSAs INTEGER ::= 256
+maxnoofUEIDforPaging INTEGER ::= 4096
+maxnoofCellsforMBS INTEGER ::= 512
+maxnoofTAIforMBS INTEGER ::= 512
+maxnoofMBSAreaSessionIDs INTEGER ::= 256
+maxnoofMBSServiceAreaInformation INTEGER ::= 256
+maxnoofIABCongInd INTEGER ::= 1024
+maxnoofNeighbourNodeCellsIAB INTEGER ::= 1024
+maxnoofRBsetsPerCell INTEGER ::= 8
+maxnoofRBsetsPerCell-1 INTEGER ::= 7
+maxnoofMeasPDC INTEGER ::= 16
+maxnoARPs INTEGER ::= 16
+maxnoofULAoAs INTEGER ::= 8
+maxNoPathExtended INTEGER ::= 8
+maxnoTRPTEGs INTEGER ::= 8
+maxFreqLayers INTEGER ::= 4
+maxNumResourcesPerAngle INTEGER ::= 24
+maxnoAzimuthAngles INTEGER ::= 3600
+maxnoElevationAngles INTEGER ::= 1801
+maxnoofPRSTRPs INTEGER ::= 256
+maxnoofQoEInformation INTEGER ::= 16
+maxnoofUuRLCChannels INTEGER ::= 32
+maxnoofPC5RLCChannels INTEGER ::= 512
+maxnoofSMBRValues INTEGER ::= 8
+maxnoofMRBsforUE INTEGER ::= 64
+maxnoofMBSSessionsofUE INTEGER ::= 256
+maxnoofSLdestinations INTEGER ::= 32
+maxnoofNSAGs INTEGER ::= 256
+maxnoofSDTBearers INTEGER ::= 72
+maxnoofServingCellMOs INTEGER ::= 16
+maxNrofBWPs INTEGER ::= 8
+maxnoofPosSITypes INTEGER ::= 32
+
+
+
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Cause ProtocolIE-ID ::= 0
+id-Cells-Failed-to-be-Activated-List ProtocolIE-ID ::= 1
+id-Cells-Failed-to-be-Activated-List-Item ProtocolIE-ID ::= 2
+id-Cells-to-be-Activated-List ProtocolIE-ID ::= 3
+id-Cells-to-be-Activated-List-Item ProtocolIE-ID ::= 4
+id-Cells-to-be-Deactivated-List ProtocolIE-ID ::= 5
+id-Cells-to-be-Deactivated-List-Item ProtocolIE-ID ::= 6
+id-CriticalityDiagnostics ProtocolIE-ID ::= 7
+id-CUtoDURRCInformation ProtocolIE-ID ::= 9
+-- WS extension
+id-Unknown-10 ProtocolIE-ID ::= 10
+id-Unknown-11 ProtocolIE-ID ::= 11
+id-DRBs-FailedToBeModified-Item ProtocolIE-ID ::= 12
+id-DRBs-FailedToBeModified-List ProtocolIE-ID ::= 13
+id-DRBs-FailedToBeSetup-Item ProtocolIE-ID ::= 14
+id-DRBs-FailedToBeSetup-List ProtocolIE-ID ::= 15
+id-DRBs-FailedToBeSetupMod-Item ProtocolIE-ID ::= 16
+id-DRBs-FailedToBeSetupMod-List ProtocolIE-ID ::= 17
+id-DRBs-ModifiedConf-Item ProtocolIE-ID ::= 18
+id-DRBs-ModifiedConf-List ProtocolIE-ID ::= 19
+id-DRBs-Modified-Item ProtocolIE-ID ::= 20
+id-DRBs-Modified-List ProtocolIE-ID ::= 21
+id-DRBs-Required-ToBeModified-Item ProtocolIE-ID ::= 22
+id-DRBs-Required-ToBeModified-List ProtocolIE-ID ::= 23
+id-DRBs-Required-ToBeReleased-Item ProtocolIE-ID ::= 24
+id-DRBs-Required-ToBeReleased-List ProtocolIE-ID ::= 25
+id-DRBs-Setup-Item ProtocolIE-ID ::= 26
+id-DRBs-Setup-List ProtocolIE-ID ::= 27
+id-DRBs-SetupMod-Item ProtocolIE-ID ::= 28
+id-DRBs-SetupMod-List ProtocolIE-ID ::= 29
+id-DRBs-ToBeModified-Item ProtocolIE-ID ::= 30
+id-DRBs-ToBeModified-List ProtocolIE-ID ::= 31
+id-DRBs-ToBeReleased-Item ProtocolIE-ID ::= 32
+id-DRBs-ToBeReleased-List ProtocolIE-ID ::= 33
+id-DRBs-ToBeSetup-Item ProtocolIE-ID ::= 34
+id-DRBs-ToBeSetup-List ProtocolIE-ID ::= 35
+id-DRBs-ToBeSetupMod-Item ProtocolIE-ID ::= 36
+id-DRBs-ToBeSetupMod-List ProtocolIE-ID ::= 37
+id-DRXCycle ProtocolIE-ID ::= 38
+id-DUtoCURRCInformation ProtocolIE-ID ::= 39
+id-gNB-CU-UE-F1AP-ID ProtocolIE-ID ::= 40
+id-gNB-DU-UE-F1AP-ID ProtocolIE-ID ::= 41
+id-gNB-DU-ID ProtocolIE-ID ::= 42
+id-GNB-DU-Served-Cells-Item ProtocolIE-ID ::= 43
+id-gNB-DU-Served-Cells-List ProtocolIE-ID ::= 44
+id-gNB-DU-Name ProtocolIE-ID ::= 45
+id-NRCellID ProtocolIE-ID ::= 46
+id-oldgNB-DU-UE-F1AP-ID ProtocolIE-ID ::= 47
+id-ResetType ProtocolIE-ID ::= 48
+id-ResourceCoordinationTransferContainer ProtocolIE-ID ::= 49
+id-RRCContainer ProtocolIE-ID ::= 50
+id-SCell-ToBeRemoved-Item ProtocolIE-ID ::= 51
+id-SCell-ToBeRemoved-List ProtocolIE-ID ::= 52
+id-SCell-ToBeSetup-Item ProtocolIE-ID ::= 53
+id-SCell-ToBeSetup-List ProtocolIE-ID ::= 54
+id-SCell-ToBeSetupMod-Item ProtocolIE-ID ::= 55
+id-SCell-ToBeSetupMod-List ProtocolIE-ID ::= 56
+id-Served-Cells-To-Add-Item ProtocolIE-ID ::= 57
+id-Served-Cells-To-Add-List ProtocolIE-ID ::= 58
+id-Served-Cells-To-Delete-Item ProtocolIE-ID ::= 59
+id-Served-Cells-To-Delete-List ProtocolIE-ID ::= 60
+id-Served-Cells-To-Modify-Item ProtocolIE-ID ::= 61
+id-Served-Cells-To-Modify-List ProtocolIE-ID ::= 62
+id-SpCell-ID ProtocolIE-ID ::= 63
+id-SRBID ProtocolIE-ID ::= 64
+id-SRBs-FailedToBeSetup-Item ProtocolIE-ID ::= 65
+id-SRBs-FailedToBeSetup-List ProtocolIE-ID ::= 66
+id-SRBs-FailedToBeSetupMod-Item ProtocolIE-ID ::= 67
+id-SRBs-FailedToBeSetupMod-List ProtocolIE-ID ::= 68
+id-SRBs-Required-ToBeReleased-Item ProtocolIE-ID ::= 69
+id-SRBs-Required-ToBeReleased-List ProtocolIE-ID ::= 70
+id-SRBs-ToBeReleased-Item ProtocolIE-ID ::= 71
+id-SRBs-ToBeReleased-List ProtocolIE-ID ::= 72
+id-SRBs-ToBeSetup-Item ProtocolIE-ID ::= 73
+id-SRBs-ToBeSetup-List ProtocolIE-ID ::= 74
+id-SRBs-ToBeSetupMod-Item ProtocolIE-ID ::= 75
+id-SRBs-ToBeSetupMod-List ProtocolIE-ID ::= 76
+id-TimeToWait ProtocolIE-ID ::= 77
+id-TransactionID ProtocolIE-ID ::= 78
+id-TransmissionActionIndicator ProtocolIE-ID ::= 79
+id-UE-associatedLogicalF1-ConnectionItem ProtocolIE-ID ::= 80
+id-UE-associatedLogicalF1-ConnectionListResAck ProtocolIE-ID ::= 81
+id-gNB-CU-Name ProtocolIE-ID ::= 82
+id-SCell-FailedtoSetup-List ProtocolIE-ID ::= 83
+id-SCell-FailedtoSetup-Item ProtocolIE-ID ::= 84
+id-SCell-FailedtoSetupMod-List ProtocolIE-ID ::= 85
+id-SCell-FailedtoSetupMod-Item ProtocolIE-ID ::= 86
+id-RRCReconfigurationCompleteIndicator ProtocolIE-ID ::= 87
+id-Cells-Status-Item ProtocolIE-ID ::= 88
+id-Cells-Status-List ProtocolIE-ID ::= 89
+id-Candidate-SpCell-List ProtocolIE-ID ::= 90
+id-Candidate-SpCell-Item ProtocolIE-ID ::= 91
+id-Potential-SpCell-List ProtocolIE-ID ::= 92
+id-Potential-SpCell-Item ProtocolIE-ID ::= 93
+id-FullConfiguration ProtocolIE-ID ::= 94
+id-C-RNTI ProtocolIE-ID ::= 95
+id-SpCellULConfigured ProtocolIE-ID ::= 96
+id-InactivityMonitoringRequest ProtocolIE-ID ::= 97
+id-InactivityMonitoringResponse ProtocolIE-ID ::= 98
+id-DRB-Activity-Item ProtocolIE-ID ::= 99
+id-DRB-Activity-List ProtocolIE-ID ::= 100
+id-EUTRA-NR-CellResourceCoordinationReq-Container ProtocolIE-ID ::= 101
+id-EUTRA-NR-CellResourceCoordinationReqAck-Container ProtocolIE-ID ::= 102
+-- WS extension
+id-Unknown-103 ProtocolIE-ID ::= 103
+id-Unknown-104 ProtocolIE-ID ::= 104
+id-Protected-EUTRA-Resources-List ProtocolIE-ID ::= 105
+id-RequestType ProtocolIE-ID ::= 106
+id-ServCellIndex ProtocolIE-ID ::= 107
+id-RAT-FrequencyPriorityInformation ProtocolIE-ID ::= 108
+id-ExecuteDuplication ProtocolIE-ID ::= 109
+-- WS extension
+id-Unknown-110 ProtocolIE-ID ::= 110
+id-NRCGI ProtocolIE-ID ::= 111
+id-PagingCell-Item ProtocolIE-ID ::= 112
+id-PagingCell-List ProtocolIE-ID ::= 113
+id-PagingDRX ProtocolIE-ID ::= 114
+id-PagingPriority ProtocolIE-ID ::= 115
+id-SItype-List ProtocolIE-ID ::= 116
+id-UEIdentityIndexValue ProtocolIE-ID ::= 117
+id-gNB-CUSystemInformation ProtocolIE-ID ::= 118
+id-HandoverPreparationInformation ProtocolIE-ID ::= 119
+id-GNB-CU-TNL-Association-To-Add-Item ProtocolIE-ID ::= 120
+id-GNB-CU-TNL-Association-To-Add-List ProtocolIE-ID ::= 121
+id-GNB-CU-TNL-Association-To-Remove-Item ProtocolIE-ID ::= 122
+id-GNB-CU-TNL-Association-To-Remove-List ProtocolIE-ID ::= 123
+id-GNB-CU-TNL-Association-To-Update-Item ProtocolIE-ID ::= 124
+id-GNB-CU-TNL-Association-To-Update-List ProtocolIE-ID ::= 125
+id-MaskedIMEISV ProtocolIE-ID ::= 126
+id-PagingIdentity ProtocolIE-ID ::= 127
+id-DUtoCURRCContainer ProtocolIE-ID ::= 128
+id-Cells-to-be-Barred-List ProtocolIE-ID ::= 129
+id-Cells-to-be-Barred-Item ProtocolIE-ID ::= 130
+id-TAISliceSupportList ProtocolIE-ID ::= 131
+id-GNB-CU-TNL-Association-Setup-List ProtocolIE-ID ::= 132
+id-GNB-CU-TNL-Association-Setup-Item ProtocolIE-ID ::= 133
+id-GNB-CU-TNL-Association-Failed-To-Setup-List ProtocolIE-ID ::= 134
+id-GNB-CU-TNL-Association-Failed-To-Setup-Item ProtocolIE-ID ::= 135
+id-DRB-Notify-Item ProtocolIE-ID ::= 136
+id-DRB-Notify-List ProtocolIE-ID ::= 137
+id-NotficationControl ProtocolIE-ID ::= 138
+id-RANAC ProtocolIE-ID ::= 139
+id-PWSSystemInformation ProtocolIE-ID ::= 140
+id-RepetitionPeriod ProtocolIE-ID ::= 141
+id-NumberofBroadcastRequest ProtocolIE-ID ::= 142
+-- WS extension
+id-Unknown-143 ProtocolIE-ID ::= 143
+id-Cells-To-Be-Broadcast-List ProtocolIE-ID ::= 144
+id-Cells-To-Be-Broadcast-Item ProtocolIE-ID ::= 145
+id-Cells-Broadcast-Completed-List ProtocolIE-ID ::= 146
+id-Cells-Broadcast-Completed-Item ProtocolIE-ID ::= 147
+id-Broadcast-To-Be-Cancelled-List ProtocolIE-ID ::= 148
+id-Broadcast-To-Be-Cancelled-Item ProtocolIE-ID ::= 149
+id-Cells-Broadcast-Cancelled-List ProtocolIE-ID ::= 150
+id-Cells-Broadcast-Cancelled-Item ProtocolIE-ID ::= 151
+id-NR-CGI-List-For-Restart-List ProtocolIE-ID ::= 152
+id-NR-CGI-List-For-Restart-Item ProtocolIE-ID ::= 153
+id-PWS-Failed-NR-CGI-List ProtocolIE-ID ::= 154
+id-PWS-Failed-NR-CGI-Item ProtocolIE-ID ::= 155
+id-ConfirmedUEID ProtocolIE-ID ::= 156
+id-Cancel-all-Warning-Messages-Indicator ProtocolIE-ID ::= 157
+id-GNB-DU-UE-AMBR-UL ProtocolIE-ID ::= 158
+id-DRXConfigurationIndicator ProtocolIE-ID ::= 159
+id-RLC-Status ProtocolIE-ID ::= 160
+id-DLPDCPSNLength ProtocolIE-ID ::= 161
+id-GNB-DUConfigurationQuery ProtocolIE-ID ::= 162
+id-MeasurementTimingConfiguration ProtocolIE-ID ::= 163
+id-DRB-Information ProtocolIE-ID ::= 164
+id-ServingPLMN ProtocolIE-ID ::= 165
+-- WS extension
+id-Unknown-166 ProtocolIE-ID ::= 166
+id-Unknown-167 ProtocolIE-ID ::= 167
+id-Protected-EUTRA-Resources-Item ProtocolIE-ID ::= 168
+-- WS extension
+id-Unknown-169 ProtocolIE-ID ::= 169
+id-GNB-CU-RRC-Version ProtocolIE-ID ::= 170
+id-GNB-DU-RRC-Version ProtocolIE-ID ::= 171
+id-GNBDUOverloadInformation ProtocolIE-ID ::= 172
+id-CellGroupConfig ProtocolIE-ID ::= 173
+id-RLCFailureIndication ProtocolIE-ID ::= 174
+id-UplinkTxDirectCurrentListInformation ProtocolIE-ID ::= 175
+id-DC-Based-Duplication-Configured ProtocolIE-ID ::= 176
+id-DC-Based-Duplication-Activation ProtocolIE-ID ::= 177
+id-SULAccessIndication ProtocolIE-ID ::= 178
+id-AvailablePLMNList ProtocolIE-ID ::= 179
+id-PDUSessionID ProtocolIE-ID ::= 180
+id-ULPDUSessionAggregateMaximumBitRate ProtocolIE-ID ::= 181
+id-ServingCellMO ProtocolIE-ID ::= 182
+id-QoSFlowMappingIndication ProtocolIE-ID ::= 183
+id-RRCDeliveryStatusRequest ProtocolIE-ID ::= 184
+id-RRCDeliveryStatus ProtocolIE-ID ::= 185
+id-BearerTypeChange ProtocolIE-ID ::= 186
+id-RLCMode ProtocolIE-ID ::= 187
+id-Duplication-Activation ProtocolIE-ID ::= 188
+id-Dedicated-SIDelivery-NeededUE-List ProtocolIE-ID ::= 189
+id-Dedicated-SIDelivery-NeededUE-Item ProtocolIE-ID ::= 190
+id-DRX-LongCycleStartOffset ProtocolIE-ID ::= 191
+id-ULPDCPSNLength ProtocolIE-ID ::= 192
+id-SelectedBandCombinationIndex ProtocolIE-ID ::= 193
+id-SelectedFeatureSetEntryIndex ProtocolIE-ID ::= 194
+id-ResourceCoordinationTransferInformation ProtocolIE-ID ::= 195
+id-ExtendedServedPLMNs-List ProtocolIE-ID ::= 196
+id-ExtendedAvailablePLMN-List ProtocolIE-ID ::= 197
+id-Associated-SCell-List ProtocolIE-ID ::= 198
+id-latest-RRC-Version-Enhanced ProtocolIE-ID ::= 199
+id-Associated-SCell-Item ProtocolIE-ID ::= 200
+id-Cell-Direction ProtocolIE-ID ::= 201
+id-SRBs-Setup-List ProtocolIE-ID ::= 202
+id-SRBs-Setup-Item ProtocolIE-ID ::= 203
+id-SRBs-SetupMod-List ProtocolIE-ID ::= 204
+id-SRBs-SetupMod-Item ProtocolIE-ID ::= 205
+id-SRBs-Modified-List ProtocolIE-ID ::= 206
+id-SRBs-Modified-Item ProtocolIE-ID ::= 207
+id-Ph-InfoSCG ProtocolIE-ID ::= 208
+id-RequestedBandCombinationIndex ProtocolIE-ID ::= 209
+id-RequestedFeatureSetEntryIndex ProtocolIE-ID ::= 210
+id-RequestedP-MaxFR2 ProtocolIE-ID ::= 211
+id-DRX-Config ProtocolIE-ID ::= 212
+id-IgnoreResourceCoordinationContainer ProtocolIE-ID ::= 213
+id-UEAssistanceInformation ProtocolIE-ID ::= 214
+id-NeedforGap ProtocolIE-ID ::= 215
+id-PagingOrigin ProtocolIE-ID ::= 216
+id-new-gNB-CU-UE-F1AP-ID ProtocolIE-ID ::= 217
+id-RedirectedRRCmessage ProtocolIE-ID ::= 218
+id-new-gNB-DU-UE-F1AP-ID ProtocolIE-ID ::= 219
+id-NotificationInformation ProtocolIE-ID ::= 220
+id-PLMNAssistanceInfoForNetShar ProtocolIE-ID ::= 221
+id-UEContextNotRetrievable ProtocolIE-ID ::= 222
+id-BPLMN-ID-Info-List ProtocolIE-ID ::= 223
+id-SelectedPLMNID ProtocolIE-ID ::= 224
+id-UAC-Assistance-Info ProtocolIE-ID ::= 225
+id-RANUEID ProtocolIE-ID ::= 226
+id-GNB-DU-TNL-Association-To-Remove-Item ProtocolIE-ID ::= 227
+id-GNB-DU-TNL-Association-To-Remove-List ProtocolIE-ID ::= 228
+id-TNLAssociationTransportLayerAddressgNBDU ProtocolIE-ID ::= 229
+id-portNumber ProtocolIE-ID ::= 230
+id-AdditionalSIBMessageList ProtocolIE-ID ::= 231
+id-Cell-Type ProtocolIE-ID ::= 232
+id-IgnorePRACHConfiguration ProtocolIE-ID ::= 233
+id-CG-Config ProtocolIE-ID ::= 234
+id-PDCCH-BlindDetectionSCG ProtocolIE-ID ::= 235
+id-Requested-PDCCH-BlindDetectionSCG ProtocolIE-ID ::= 236
+id-Ph-InfoMCG ProtocolIE-ID ::= 237
+id-MeasGapSharingConfig ProtocolIE-ID ::= 238
+id-systemInformationAreaID ProtocolIE-ID ::= 239
+id-areaScope ProtocolIE-ID ::= 240
+id-RRCContainer-RRCSetupComplete ProtocolIE-ID ::= 241
+id-TraceActivation ProtocolIE-ID ::= 242
+id-TraceID ProtocolIE-ID ::= 243
+id-Neighbour-Cell-Information-List ProtocolIE-ID ::= 244
+-- WS extension
+id-Unknown-245 ProtocolIE-ID ::= 245
+id-SymbolAllocInSlot ProtocolIE-ID ::= 246
+id-NumDLULSymbols ProtocolIE-ID ::= 247
+id-AdditionalRRMPriorityIndex ProtocolIE-ID ::= 248
+id-DUCURadioInformationType ProtocolIE-ID ::= 249
+id-CUDURadioInformationType ProtocolIE-ID ::= 250
+id-AggressorgNBSetID ProtocolIE-ID ::= 251
+id-VictimgNBSetID ProtocolIE-ID ::= 252
+id-LowerLayerPresenceStatusChange ProtocolIE-ID ::= 253
+id-Transport-Layer-Address-Info ProtocolIE-ID ::= 254
+id-Neighbour-Cell-Information-Item ProtocolIE-ID ::= 255
+id-IntendedTDD-DL-ULConfig ProtocolIE-ID ::= 256
+id-QosMonitoringRequest ProtocolIE-ID ::= 257
+id-BHChannels-ToBeSetup-List ProtocolIE-ID ::= 258
+id-BHChannels-ToBeSetup-Item ProtocolIE-ID ::= 259
+id-BHChannels-Setup-List ProtocolIE-ID ::= 260
+id-BHChannels-Setup-Item ProtocolIE-ID ::= 261
+id-BHChannels-ToBeModified-Item ProtocolIE-ID ::= 262
+id-BHChannels-ToBeModified-List ProtocolIE-ID ::= 263
+id-BHChannels-ToBeReleased-Item ProtocolIE-ID ::= 264
+id-BHChannels-ToBeReleased-List ProtocolIE-ID ::= 265
+id-BHChannels-ToBeSetupMod-Item ProtocolIE-ID ::= 266
+id-BHChannels-ToBeSetupMod-List ProtocolIE-ID ::= 267
+id-BHChannels-FailedToBeModified-Item ProtocolIE-ID ::= 268
+id-BHChannels-FailedToBeModified-List ProtocolIE-ID ::= 269
+id-BHChannels-FailedToBeSetupMod-Item ProtocolIE-ID ::= 270
+id-BHChannels-FailedToBeSetupMod-List ProtocolIE-ID ::= 271
+id-BHChannels-Modified-Item ProtocolIE-ID ::= 272
+id-BHChannels-Modified-List ProtocolIE-ID ::= 273
+id-BHChannels-SetupMod-Item ProtocolIE-ID ::= 274
+id-BHChannels-SetupMod-List ProtocolIE-ID ::= 275
+id-BHChannels-Required-ToBeReleased-Item ProtocolIE-ID ::= 276
+id-BHChannels-Required-ToBeReleased-List ProtocolIE-ID ::= 277
+id-BHChannels-FailedToBeSetup-Item ProtocolIE-ID ::= 278
+id-BHChannels-FailedToBeSetup-List ProtocolIE-ID ::= 279
+id-BHInfo ProtocolIE-ID ::= 280
+id-BAPAddress ProtocolIE-ID ::= 281
+id-ConfiguredBAPAddress ProtocolIE-ID ::= 282
+id-BH-Routing-Information-Added-List ProtocolIE-ID ::= 283
+id-BH-Routing-Information-Added-List-Item ProtocolIE-ID ::= 284
+id-BH-Routing-Information-Removed-List ProtocolIE-ID ::= 285
+id-BH-Routing-Information-Removed-List-Item ProtocolIE-ID ::= 286
+id-UL-BH-Non-UP-Traffic-Mapping ProtocolIE-ID ::= 287
+id-Activated-Cells-to-be-Updated-List ProtocolIE-ID ::= 288
+id-Child-Nodes-List ProtocolIE-ID ::= 289
+id-IAB-Info-IAB-DU ProtocolIE-ID ::= 290
+id-IAB-Info-IAB-donor-CU ProtocolIE-ID ::= 291
+id-IAB-TNL-Addresses-To-Remove-List ProtocolIE-ID ::= 292
+id-IAB-TNL-Addresses-To-Remove-Item ProtocolIE-ID ::= 293
+id-IAB-Allocated-TNL-Address-List ProtocolIE-ID ::= 294
+id-IAB-Allocated-TNL-Address-Item ProtocolIE-ID ::= 295
+id-IABIPv6RequestType ProtocolIE-ID ::= 296
+id-IABv4AddressesRequested ProtocolIE-ID ::= 297
+id-IAB-Barred ProtocolIE-ID ::= 298
+id-TrafficMappingInformation ProtocolIE-ID ::= 299
+id-UL-UP-TNL-Information-to-Update-List ProtocolIE-ID ::= 300
+id-UL-UP-TNL-Information-to-Update-List-Item ProtocolIE-ID ::= 301
+id-UL-UP-TNL-Address-to-Update-List ProtocolIE-ID ::= 302
+id-UL-UP-TNL-Address-to-Update-List-Item ProtocolIE-ID ::= 303
+id-DL-UP-TNL-Address-to-Update-List ProtocolIE-ID ::= 304
+id-DL-UP-TNL-Address-to-Update-List-Item ProtocolIE-ID ::= 305
+id-NRV2XServicesAuthorized ProtocolIE-ID ::= 306
+id-LTEV2XServicesAuthorized ProtocolIE-ID ::= 307
+id-NRUESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 308
+id-LTEUESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 309
+id-SIB12-message ProtocolIE-ID ::= 310
+id-SIB13-message ProtocolIE-ID ::= 311
+id-SIB14-message ProtocolIE-ID ::= 312
+id-SLDRBs-FailedToBeModified-Item ProtocolIE-ID ::= 313
+id-SLDRBs-FailedToBeModified-List ProtocolIE-ID ::= 314
+id-SLDRBs-FailedToBeSetup-Item ProtocolIE-ID ::= 315
+id-SLDRBs-FailedToBeSetup-List ProtocolIE-ID ::= 316
+id-SLDRBs-Modified-Item ProtocolIE-ID ::= 317
+id-SLDRBs-Modified-List ProtocolIE-ID ::= 318
+id-SLDRBs-Required-ToBeModified-Item ProtocolIE-ID ::= 319
+id-SLDRBs-Required-ToBeModified-List ProtocolIE-ID ::= 320
+id-SLDRBs-Required-ToBeReleased-Item ProtocolIE-ID ::= 321
+id-SLDRBs-Required-ToBeReleased-List ProtocolIE-ID ::= 322
+id-SLDRBs-Setup-Item ProtocolIE-ID ::= 323
+id-SLDRBs-Setup-List ProtocolIE-ID ::= 324
+id-SLDRBs-ToBeModified-Item ProtocolIE-ID ::= 325
+id-SLDRBs-ToBeModified-List ProtocolIE-ID ::= 326
+id-SLDRBs-ToBeReleased-Item ProtocolIE-ID ::= 327
+id-SLDRBs-ToBeReleased-List ProtocolIE-ID ::= 328
+id-SLDRBs-ToBeSetup-Item ProtocolIE-ID ::= 329
+id-SLDRBs-ToBeSetup-List ProtocolIE-ID ::= 330
+id-SLDRBs-ToBeSetupMod-Item ProtocolIE-ID ::= 331
+id-SLDRBs-ToBeSetupMod-List ProtocolIE-ID ::= 332
+id-SLDRBs-SetupMod-List ProtocolIE-ID ::= 333
+id-SLDRBs-FailedToBeSetupMod-List ProtocolIE-ID ::= 334
+id-SLDRBs-SetupMod-Item ProtocolIE-ID ::= 335
+id-SLDRBs-FailedToBeSetupMod-Item ProtocolIE-ID ::= 336
+id-SLDRBs-ModifiedConf-List ProtocolIE-ID ::= 337
+id-SLDRBs-ModifiedConf-Item ProtocolIE-ID ::= 338
+id-UEAssistanceInformationEUTRA ProtocolIE-ID ::= 339
+id-PC5LinkAMBR ProtocolIE-ID ::= 340
+id-SL-PHY-MAC-RLC-Config ProtocolIE-ID ::= 341
+id-SL-ConfigDedicatedEUTRA-Info ProtocolIE-ID ::= 342
+id-AlternativeQoSParaSetList ProtocolIE-ID ::= 343
+id-CurrentQoSParaSetIndex ProtocolIE-ID ::= 344
+id-gNBCUMeasurementID ProtocolIE-ID ::= 345
+id-gNBDUMeasurementID ProtocolIE-ID ::= 346
+id-RegistrationRequest ProtocolIE-ID ::= 347
+id-ReportCharacteristics ProtocolIE-ID ::= 348
+id-CellToReportList ProtocolIE-ID ::= 349
+id-CellMeasurementResultList ProtocolIE-ID ::= 350
+id-HardwareLoadIndicator ProtocolIE-ID ::= 351
+id-ReportingPeriodicity ProtocolIE-ID ::= 352
+id-TNLCapacityIndicator ProtocolIE-ID ::= 353
+id-CarrierList ProtocolIE-ID ::= 354
+id-ULCarrierList ProtocolIE-ID ::= 355
+id-FrequencyShift7p5khz ProtocolIE-ID ::= 356
+id-SSB-PositionsInBurst ProtocolIE-ID ::= 357
+id-NRPRACHConfig ProtocolIE-ID ::= 358
+id-RACHReportInformationList ProtocolIE-ID ::= 359
+id-RLFReportInformationList ProtocolIE-ID ::= 360
+id-TDD-UL-DLConfigCommonNR ProtocolIE-ID ::= 361
+id-CNPacketDelayBudgetDownlink ProtocolIE-ID ::= 362
+id-ExtendedPacketDelayBudget ProtocolIE-ID ::= 363
+id-TSCTrafficCharacteristics ProtocolIE-ID ::= 364
+id-ReportingRequestType ProtocolIE-ID ::= 365
+id-TimeReferenceInformation ProtocolIE-ID ::= 366
+-- WS extension
+id-Unknown-367 ProtocolIE-ID ::= 367
+id-Unknown-368 ProtocolIE-ID ::= 368
+id-CNPacketDelayBudgetUplink ProtocolIE-ID ::= 369
+id-AdditionalPDCPDuplicationTNL-List ProtocolIE-ID ::= 370
+id-RLCDuplicationInformation ProtocolIE-ID ::= 371
+id-AdditionalDuplicationIndication ProtocolIE-ID ::= 372
+id-ConditionalInterDUMobilityInformation ProtocolIE-ID ::= 373
+id-ConditionalIntraDUMobilityInformation ProtocolIE-ID ::= 374
+id-targetCellsToCancel ProtocolIE-ID ::= 375
+id-requestedTargetCellGlobalID ProtocolIE-ID ::= 376
+id-ManagementBasedMDTPLMNList ProtocolIE-ID ::= 377
+id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 378
+id-PrivacyIndicator ProtocolIE-ID ::= 379
+id-TraceCollectionEntityURI ProtocolIE-ID ::= 380
+id-mdtConfiguration ProtocolIE-ID ::= 381
+id-ServingNID ProtocolIE-ID ::= 382
+id-NPNBroadcastInformation ProtocolIE-ID ::= 383
+id-NPNSupportInfo ProtocolIE-ID ::= 384
+id-NID ProtocolIE-ID ::= 385
+id-AvailableSNPN-ID-List ProtocolIE-ID ::= 386
+id-SIB10-message ProtocolIE-ID ::= 387
+-- WS extension
+id-Unknown-388 ProtocolIE-ID ::= 388
+id-DLCarrierList ProtocolIE-ID ::= 389
+ id-ExtendedTAISliceSupportList ProtocolIE-ID ::= 390
+id-RequestedSRSTransmissionCharacteristics ProtocolIE-ID ::= 391
+id-PosAssistance-Information ProtocolIE-ID ::= 392
+id-PosBroadcast ProtocolIE-ID ::= 393
+id-RoutingID ProtocolIE-ID ::= 394
+id-PosAssistanceInformationFailureList ProtocolIE-ID ::= 395
+id-PosMeasurementQuantities ProtocolIE-ID ::= 396
+id-PosMeasurementResultList ProtocolIE-ID ::= 397
+id-TRPInformationTypeListTRPReq ProtocolIE-ID ::= 398
+id-TRPInformationTypeItem ProtocolIE-ID ::= 399
+id-TRPInformationListTRPResp ProtocolIE-ID ::= 400
+id-TRPInformationItem ProtocolIE-ID ::= 401
+id-LMF-MeasurementID ProtocolIE-ID ::= 402
+id-SRSType ProtocolIE-ID ::= 403
+id-ActivationTime ProtocolIE-ID ::= 404
+id-AbortTransmission ProtocolIE-ID ::= 405
+id-PositioningBroadcastCells ProtocolIE-ID ::= 406
+id-SRSConfiguration ProtocolIE-ID ::= 407
+id-PosReportCharacteristics ProtocolIE-ID ::= 408
+id-PosMeasurementPeriodicity ProtocolIE-ID ::= 409
+id-TRPList ProtocolIE-ID ::= 410
+id-RAN-MeasurementID ProtocolIE-ID ::= 411
+id-LMF-UE-MeasurementID ProtocolIE-ID ::= 412
+id-RAN-UE-MeasurementID ProtocolIE-ID ::= 413
+id-E-CID-MeasurementQuantities ProtocolIE-ID ::= 414
+id-E-CID-MeasurementQuantities-Item ProtocolIE-ID ::= 415
+id-E-CID-MeasurementPeriodicity ProtocolIE-ID ::= 416
+id-E-CID-MeasurementResult ProtocolIE-ID ::= 417
+id-Cell-Portion-ID ProtocolIE-ID ::= 418
+id-SFNInitialisationTime ProtocolIE-ID ::= 419
+id-SystemFrameNumber ProtocolIE-ID ::= 420
+id-SlotNumber ProtocolIE-ID ::= 421
+id-TRP-MeasurementRequestList ProtocolIE-ID ::= 422
+id-MeasurementBeamInfoRequest ProtocolIE-ID ::= 423
+id-E-CID-ReportCharacteristics ProtocolIE-ID ::= 424
+id-ConfiguredTACIndication ProtocolIE-ID ::= 425
+id-Extended-GNB-CU-Name ProtocolIE-ID ::= 426
+id-Extended-GNB-DU-Name ProtocolIE-ID ::= 427
+id-F1CTransferPath ProtocolIE-ID ::= 428
+id-SFN-Offset ProtocolIE-ID ::= 429
+id-TransmissionStopIndicator ProtocolIE-ID ::= 430
+id-SrsFrequency ProtocolIE-ID ::= 431
+id-SCGIndicator ProtocolIE-ID ::= 432
+id-EstimatedArrivalProbability ProtocolIE-ID ::= 433
+id-TRPType ProtocolIE-ID ::= 434
+id-SRSSpatialRelationPerSRSResource ProtocolIE-ID ::= 435
+id-PDCPTerminatingNodeDLTNLAddrInfo ProtocolIE-ID ::= 436
+id-ENBDLTNLAddress ProtocolIE-ID ::= 437
+id-PosMeasurementPeriodicityExtended ProtocolIE-ID ::= 438
+id-PRS-Resource-ID ProtocolIE-ID ::= 439
+id-LocationMeasurementInformation ProtocolIE-ID ::= 440
+id-SliceRadioResourceStatus ProtocolIE-ID ::= 441
+id-CompositeAvailableCapacity-SUL ProtocolIE-ID ::= 442
+id-SuccessfulHOReportInformationList ProtocolIE-ID ::= 443
+id-NR-U-Channel-List ProtocolIE-ID ::= 444
+id-NR-U ProtocolIE-ID ::= 445
+id-Coverage-Modification-Notification ProtocolIE-ID ::= 446
+id-CCO-Assistance-Information ProtocolIE-ID ::= 447
+id-Neighbor-node-CCO-Assistance-Information-List ProtocolIE-ID ::= 448
+id-CellsForSON-List ProtocolIE-ID ::= 449
+id-MIMOPRBusageInformation ProtocolIE-ID ::= 450
+id-gNB-CU-MBS-F1AP-ID ProtocolIE-ID ::= 451
+id-gNB-DU-MBS-F1AP-ID ProtocolIE-ID ::= 452
+id-MBS-Area-Session-ID ProtocolIE-ID ::= 453
+id-MBS-CUtoDURRCInformation ProtocolIE-ID ::= 454
+id-MBS-Session-ID ProtocolIE-ID ::= 455
+id-SNSSAI ProtocolIE-ID ::= 456
+id-MBS-Broadcast-NeighbourCellList ProtocolIE-ID ::= 457
+id-BroadcastMRBs-FailedToBeModified-List ProtocolIE-ID ::= 458
+id-BroadcastMRBs-FailedToBeModified-Item ProtocolIE-ID ::= 459
+id-BroadcastMRBs-FailedToBeSetup-List ProtocolIE-ID ::= 460
+id-BroadcastMRBs-FailedToBeSetup-Item ProtocolIE-ID ::= 461
+id-BroadcastMRBs-FailedToBeSetupMod-List ProtocolIE-ID ::= 462
+id-BroadcastMRBs-FailedToBeSetupMod-Item ProtocolIE-ID ::= 463
+id-BroadcastMRBs-Modified-List ProtocolIE-ID ::= 464
+id-BroadcastMRBs-Modified-Item ProtocolIE-ID ::= 465
+id-BroadcastMRBs-Setup-List ProtocolIE-ID ::= 466
+id-BroadcastMRBs-Setup-Item ProtocolIE-ID ::= 467
+id-BroadcastMRBs-SetupMod-List ProtocolIE-ID ::= 468
+id-BroadcastMRBs-SetupMod-Item ProtocolIE-ID ::= 469
+id-BroadcastMRBs-ToBeModified-List ProtocolIE-ID ::= 470
+id-BroadcastMRBs-ToBeModified-Item ProtocolIE-ID ::= 471
+id-BroadcastMRBs-ToBeReleased-List ProtocolIE-ID ::= 472
+id-BroadcastMRBs-ToBeReleased-Item ProtocolIE-ID ::= 473
+id-BroadcastMRBs-ToBeSetup-List ProtocolIE-ID ::= 474
+id-BroadcastMRBs-ToBeSetup-Item ProtocolIE-ID ::= 475
+id-BroadcastMRBs-ToBeSetupMod-List ProtocolIE-ID ::= 476
+id-BroadcastMRBs-ToBeSetupMod-Item ProtocolIE-ID ::= 477
+id-Supported-MBS-FSA-ID-List ProtocolIE-ID ::= 478
+id-UEIdentity-List-For-Paging-List ProtocolIE-ID ::= 479
+id-UEIdentity-List-For-Paging-Item ProtocolIE-ID ::= 480
+id-MBS-ServiceArea ProtocolIE-ID ::= 481
+id-MulticastMRBs-FailedToBeModified-List ProtocolIE-ID ::= 482
+id-MulticastMRBs-FailedToBeModified-Item ProtocolIE-ID ::= 483
+id-MulticastMRBs-FailedToBeSetup-List ProtocolIE-ID ::= 484
+id-MulticastMRBs-FailedToBeSetup-Item ProtocolIE-ID ::= 485
+id-MulticastMRBs-FailedToBeSetupMod-List ProtocolIE-ID ::= 486
+id-MulticastMRBs-FailedToBeSetupMod-Item ProtocolIE-ID ::= 487
+id-MulticastMRBs-Modified-List ProtocolIE-ID ::= 488
+id-MulticastMRBs-Modified-Item ProtocolIE-ID ::= 489
+id-MulticastMRBs-Setup-List ProtocolIE-ID ::= 490
+id-MulticastMRBs-Setup-Item ProtocolIE-ID ::= 491
+id-MulticastMRBs-SetupMod-List ProtocolIE-ID ::= 492
+id-MulticastMRBs-SetupMod-Item ProtocolIE-ID ::= 493
+id-MulticastMRBs-ToBeModified-List ProtocolIE-ID ::= 494
+id-MulticastMRBs-ToBeModified-Item ProtocolIE-ID ::= 495
+id-MulticastMRBs-ToBeReleased-List ProtocolIE-ID ::= 496
+id-MulticastMRBs-ToBeReleased-Item ProtocolIE-ID ::= 497
+id-MulticastMRBs-ToBeSetup-List ProtocolIE-ID ::= 498
+id-MulticastMRBs-ToBeSetup-Item ProtocolIE-ID ::= 499
+id-MulticastMRBs-ToBeSetupMod-List ProtocolIE-ID ::= 500
+id-MulticastMRBs-ToBeSetupMod-Item ProtocolIE-ID ::= 501
+id-MBSMulticastF1UContextDescriptor ProtocolIE-ID ::= 502
+id-MulticastF1UContext-ToBeSetup-List ProtocolIE-ID ::= 503
+id-MulticastF1UContext-ToBeSetup-Item ProtocolIE-ID ::= 504
+id-MulticastF1UContext-Setup-List ProtocolIE-ID ::= 505
+id-MulticastF1UContext-Setup-Item ProtocolIE-ID ::= 506
+id-MulticastF1UContext-FailedToBeSetup-List ProtocolIE-ID ::= 507
+id-MulticastF1UContext-FailedToBeSetup-Item ProtocolIE-ID ::= 508
+id-IABCongestionIndication ProtocolIE-ID ::= 509
+id-IABConditionalRRCMessageDeliveryIndication ProtocolIE-ID ::= 510
+id-F1CTransferPathNRDC ProtocolIE-ID ::= 511
+id-BufferSizeThresh ProtocolIE-ID ::= 512
+id-IAB-TNL-Addresses-Exception ProtocolIE-ID ::= 513
+id-BAP-Header-Rewriting-Added-List ProtocolIE-ID ::= 514
+id-BAP-Header-Rewriting-Added-List-Item ProtocolIE-ID ::= 515
+id-Re-routingEnableIndicator ProtocolIE-ID ::= 516
+id-NonF1terminatingTopologyIndicator ProtocolIE-ID ::= 517
+id-EgressNonF1terminatingTopologyIndicator ProtocolIE-ID ::= 518
+id-IngressNonF1terminatingTopologyIndicator ProtocolIE-ID ::= 519
+id-rBSetConfiguration ProtocolIE-ID ::= 520
+id-frequency-Domain-HSNA-Configuration-List ProtocolIE-ID ::= 521
+id-child-IAB-Nodes-NA-Resource-List ProtocolIE-ID ::= 522
+id-Parent-IAB-Nodes-NA-Resource-Configuration-List ProtocolIE-ID ::= 523
+id-uL-FreqInfo ProtocolIE-ID ::= 524
+id-uL-Transmission-Bandwidth ProtocolIE-ID ::= 525
+id-dL-FreqInfo ProtocolIE-ID ::= 526
+id-dL-Transmission-Bandwidth ProtocolIE-ID ::= 527
+id-uL-NR-Carrier-List ProtocolIE-ID ::= 528
+id-dL-NR-Carrier-List ProtocolIE-ID ::= 529
+id-nRFreqInfo ProtocolIE-ID ::= 530
+id-transmission-Bandwidth ProtocolIE-ID ::= 531
+id-nR-Carrier-List ProtocolIE-ID ::= 532
+id-Neighbour-Node-Cells-List ProtocolIE-ID ::= 533
+id-Serving-Cells-List ProtocolIE-ID ::= 534
+id-permutation ProtocolIE-ID ::= 535
+id-MDTPollutedMeasurementIndicator ProtocolIE-ID ::= 536
+id-M5ReportAmount ProtocolIE-ID ::= 537
+id-M6ReportAmount ProtocolIE-ID ::= 538
+id-M7ReportAmount ProtocolIE-ID ::= 539
+id-SurvivalTime ProtocolIE-ID ::= 540
+id-PDCMeasurementPeriodicity ProtocolIE-ID ::= 541
+id-PDCMeasurementQuantities ProtocolIE-ID ::= 542
+id-PDCMeasurementQuantities-Item ProtocolIE-ID ::= 543
+id-PDCMeasurementResult ProtocolIE-ID ::= 544
+id-PDCReportType ProtocolIE-ID ::= 545
+id-RAN-UE-PDC-MeasID ProtocolIE-ID ::= 546
+id-SCGActivationRequest ProtocolIE-ID ::= 547
+id-SCGActivationStatus ProtocolIE-ID ::= 548
+id-PRSTRPList ProtocolIE-ID ::= 549
+id-PRSTransmissionTRPList ProtocolIE-ID ::= 550
+id-OnDemandPRS ProtocolIE-ID ::= 551
+id-AoA-SearchWindow ProtocolIE-ID ::= 552
+id-TRP-MeasurementUpdateList ProtocolIE-ID ::= 553
+id-ZoAInformation ProtocolIE-ID ::= 554
+id-ResponseTime ProtocolIE-ID ::= 555
+id-ARPLocationInfo ProtocolIE-ID ::= 556
+id-ARP-ID ProtocolIE-ID ::= 557
+id-MultipleULAoA ProtocolIE-ID ::= 558
+id-UL-SRS-RSRPP ProtocolIE-ID ::= 559
+id-SRSResourcetype ProtocolIE-ID ::= 560
+id-ExtendedAdditionalPathList ProtocolIE-ID ::= 561
+id-LoS-NLoSInformation ProtocolIE-ID ::= 562
+-- WS extension
+id-Unknown-563 ProtocolIE-ID ::= 563
+id-NumberOfTRPRxTEG ProtocolIE-ID ::= 564
+id-NumberOfTRPRxTxTEG ProtocolIE-ID ::= 565
+id-TRPTxTEGAssociation ProtocolIE-ID ::= 566
+id-TRPTEGInformation ProtocolIE-ID ::= 567
+id-TRPRx-TEGInformation ProtocolIE-ID ::= 568
+id-TRP-PRS-Info-List ProtocolIE-ID ::= 569
+id-PRS-Measurement-Info-List ProtocolIE-ID ::= 570
+id-PRSConfigRequestType ProtocolIE-ID ::= 571
+-- WS extension
+id-Unknown-572 ProtocolIE-ID ::= 572
+id-MeasurementTimeOccasion ProtocolIE-ID ::= 573
+id-MeasurementCharacteristicsRequestIndicator ProtocolIE-ID ::= 574
+id-UEReportingInformation ProtocolIE-ID ::= 575
+id-PosConextRevIndication ProtocolIE-ID ::= 576
+id-TRPBeamAntennaInformation ProtocolIE-ID ::= 577
+id-NRRedCapUEIndication ProtocolIE-ID ::= 578
+id-Redcap-Bcast-Information ProtocolIE-ID ::= 579
+id-RANUEPagingDRX ProtocolIE-ID ::= 580
+id-CNUEPagingDRX ProtocolIE-ID ::= 581
+id-NRPagingeDRXInformation ProtocolIE-ID ::= 582
+id-NRPagingeDRXInformationforRRCINACTIVE ProtocolIE-ID ::= 583
+id-NR-TADV ProtocolIE-ID ::= 584
+id-QoEInformation ProtocolIE-ID ::= 585
+id-CG-SDTQueryIndication ProtocolIE-ID ::= 586
+id-SDT-MAC-PHY-CG-Config ProtocolIE-ID ::= 587
+id-CG-SDTKeptIndicator ProtocolIE-ID ::= 588
+id-CG-SDTindicatorSetup ProtocolIE-ID ::= 589
+id-CG-SDTindicatorMod ProtocolIE-ID ::= 590
+id-CG-SDTSessionInfoOld ProtocolIE-ID ::= 591
+id-SDTInformation ProtocolIE-ID ::= 592
+id-SDTRLCBearerConfiguration ProtocolIE-ID ::= 593
+id-FiveG-ProSeAuthorized ProtocolIE-ID ::= 594
+id-FiveG-ProSeUEPC5AggregateMaximumBitrate ProtocolIE-ID ::= 595
+id-FiveG-ProSePC5LinkAMBR ProtocolIE-ID ::= 596
+id-SRBMappingInfo ProtocolIE-ID ::= 597
+id-DRBMappingInfo ProtocolIE-ID ::= 598
+id-UuRLCChannelToBeSetupList ProtocolIE-ID ::= 599
+id-UuRLCChannelToBeModifiedList ProtocolIE-ID ::= 600
+id-UuRLCChannelToBeReleasedList ProtocolIE-ID ::= 601
+id-UuRLCChannelSetupList ProtocolIE-ID ::= 602
+id-UuRLCChannelFailedToBeSetupList ProtocolIE-ID ::= 603
+id-UuRLCChannelModifiedList ProtocolIE-ID ::= 604
+id-UuRLCChannelFailedToBeModifiedList ProtocolIE-ID ::= 605
+id-UuRLCChannelRequiredToBeModifiedList ProtocolIE-ID ::= 606
+id-UuRLCChannelRequiredToBeReleasedList ProtocolIE-ID ::= 607
+id-PC5RLCChannelToBeSetupList ProtocolIE-ID ::= 608
+id-PC5RLCChannelToBeModifiedList ProtocolIE-ID ::= 609
+id-PC5RLCChannelToBeReleasedList ProtocolIE-ID ::= 610
+id-PC5RLCChannelSetupList ProtocolIE-ID ::= 611
+id-PC5RLCChannelFailedToBeSetupList ProtocolIE-ID ::= 612
+id-PC5RLCChannelFailedToBeModifiedList ProtocolIE-ID ::= 613
+id-PC5RLCChannelRequiredToBeModifiedList ProtocolIE-ID ::= 614
+id-PC5RLCChannelRequiredToBeReleasedList ProtocolIE-ID ::= 615
+id-PC5RLCChannelModifiedList ProtocolIE-ID ::= 616
+id-SidelinkRelayConfiguration ProtocolIE-ID ::= 617
+id-UpdatedRemoteUELocalID ProtocolIE-ID ::= 618
+id-PathSwitchConfiguration ProtocolIE-ID ::= 619
+id-PagingCause ProtocolIE-ID ::= 620
+id-MUSIM-GapConfig ProtocolIE-ID ::= 621
+id-PEIPSAssistanceInfo ProtocolIE-ID ::= 622
+id-UEPagingCapability ProtocolIE-ID ::= 623
+id-LastUsedCellIndication ProtocolIE-ID ::= 624
+id-SIB17-message ProtocolIE-ID ::= 625
+id-GNBDUUESliceMaximumBitRateList ProtocolIE-ID ::= 626
+id-SIB20-message ProtocolIE-ID ::= 627
+id-UE-MulticastMRBs-ToBeReleased-List ProtocolIE-ID ::= 628
+id-UE-MulticastMRBs-ToBeReleased-Item ProtocolIE-ID ::= 629
+id-UE-MulticastMRBs-ToBeSetup-List ProtocolIE-ID ::= 630
+id-UE-MulticastMRBs-ToBeSetup-Item ProtocolIE-ID ::= 631
+id-MulticastMBSSessionSetupList ProtocolIE-ID ::= 632
+id-MulticastMBSSessionRemoveList ProtocolIE-ID ::= 633
+id-PosMeasurementAmount ProtocolIE-ID ::= 634
+id-SDT-Termination-Request ProtocolIE-ID ::= 635
+id-pathPower ProtocolIE-ID ::= 636
+id-DU-RX-MT-RX-Extend ProtocolIE-ID ::= 637
+id-DU-TX-MT-TX-Extend ProtocolIE-ID ::= 638
+id-DU-RX-MT-TX-Extend ProtocolIE-ID ::= 639
+id-DU-TX-MT-RX-Extend ProtocolIE-ID ::= 640
+id-BAP-Header-Rewriting-Removed-List ProtocolIE-ID ::= 641
+id-BAP-Header-Rewriting-Removed-List-Item ProtocolIE-ID ::= 642
+id-SLDRXCycleList ProtocolIE-ID ::= 643
+id-TAINSAGSupportList ProtocolIE-ID ::= 644
+id-SL-RLC-ChannelToAddModList ProtocolIE-ID ::= 645
+id-BroadcastAreaScope ProtocolIE-ID ::= 646
+id-ManagementBasedMDTPLMNModificationList ProtocolIE-ID ::= 647
+id-SIB15-message ProtocolIE-ID ::= 648
+id-ActivationRequestType ProtocolIE-ID ::= 649
+id-PosMeasGapPreConfigList ProtocolIE-ID ::= 650
+id-InterFrequencyConfig-NoGap ProtocolIE-ID ::= 651
+id-MBSInterestIndication ProtocolIE-ID ::= 652
+id-UE-MulticastMRBs-ConfirmedToBeModified-List ProtocolIE-ID ::= 653
+id-UE-MulticastMRBs-ConfirmedToBeModified-Item ProtocolIE-ID ::= 654
+id-UE-MulticastMRBs-RequiredToBeModified-List ProtocolIE-ID ::= 655
+id-UE-MulticastMRBs-RequiredToBeModified-Item ProtocolIE-ID ::= 656
+id-UE-MulticastMRBs-RequiredToBeReleased-List ProtocolIE-ID ::= 657
+id-UE-MulticastMRBs-RequiredToBeReleased-Item ProtocolIE-ID ::= 658
+id-L571Info ProtocolIE-ID ::= 659
+id-L1151Info ProtocolIE-ID ::= 660
+id-SCS-480 ProtocolIE-ID ::= 661
+id-SCS-960 ProtocolIE-ID ::= 662
+id-SRSPortIndex ProtocolIE-ID ::= 663
+id-PEISubgroupingSupportIndication ProtocolIE-ID ::= 664
+id-NeedForGapsInfoNR ProtocolIE-ID ::= 665
+id-NeedForGapNCSGInfoNR ProtocolIE-ID ::= 666
+id-NeedForGapNCSGInfoEUTRA ProtocolIE-ID ::= 667
+id-procedure-code-668-not-to-be-used ProtocolIE-ID ::= 668
+id-procedure-code-669-not-to-be-used ProtocolIE-ID ::= 669
+id-procedure-code-670-not-to-be-used ProtocolIE-ID ::= 670
+id-Source-MRB-ID ProtocolIE-ID ::= 671
+id-PosMeasurementPeriodicityNR-AoA ProtocolIE-ID ::= 672
+id-RedCapIndication ProtocolIE-ID ::= 673
+id-SRSPosRRCInactiveConfig ProtocolIE-ID ::= 674
+id-SDTBearerConfigurationQueryIndication ProtocolIE-ID ::= 675
+id-SDTBearerConfigurationInfo ProtocolIE-ID ::= 676
+id-UL-GapFR2-Config ProtocolIE-ID ::= 677
+id-ConfigRestrictInfoDAPS ProtocolIE-ID ::= 678
+id-UE-MulticastMRBs-Setup-List ProtocolIE-ID ::= 679
+id-UE-MulticastMRBs-Setup-Item ProtocolIE-ID ::= 680
+id-MulticastF1UContextReferenceCU ProtocolIE-ID ::= 681
+id-PosSItypeList ProtocolIE-ID ::= 682
+id-DAPS-HO-Status ProtocolIE-ID ::= 683
+id-UplinkTxDirectCurrentTwoCarrierListInfo ProtocolIE-ID ::= 684
+id-UE-MulticastMRBs-ToBeSetup-atModify-List ProtocolIE-ID ::= 685
+id-UE-MulticastMRBs-ToBeSetup-atModify-Item ProtocolIE-ID ::= 686
+id-MC-PagingCell-List ProtocolIE-ID ::= 687
+id-MC-PagingCell-Item ProtocolIE-ID ::= 688
+id-SRSPosRRCInactiveQueryIndication ProtocolIE-ID ::= 689
+id-UlTxDirectCurrentMoreCarrierInformation ProtocolIE-ID ::= 690
+id-CPACMCGInformation ProtocolIE-ID ::= 691
+id-TwoPHRModeMCG ProtocolIE-ID ::= 692
+id-TwoPHRModeSCG ProtocolIE-ID ::= 693
+id-ExtendedUEIdentityIndexValue ProtocolIE-ID ::= 694
+id-ServingCellMO-List ProtocolIE-ID ::= 695
+id-ServingCellMO-List-Item ProtocolIE-ID ::= 696
+id-ServingCellMO-encoded-in-CGC-List ProtocolIE-ID ::= 697
+id-HashedUEIdentityIndexValue ProtocolIE-ID ::= 698
+id-UE-MulticastMRBs-Setupnew-List ProtocolIE-ID ::= 699
+id-UE-MulticastMRBs-Setupnew-Item ProtocolIE-ID ::= 700
+id-ncd-SSB-RedCapInitialBWP-SDT ProtocolIE-ID ::= 701
+id-nrofSymbolsExtended ProtocolIE-ID ::= 702
+id-repetitionFactorExtended ProtocolIE-ID ::= 703
+id-startRBHopping ProtocolIE-ID ::= 704
+id-startRBIndex ProtocolIE-ID ::= 705
+id-transmissionCombn8 ProtocolIE-ID ::= 706
+
+END
diff --git a/epan/dissectors/asn1/f1ap/F1AP-Containers.asn b/epan/dissectors/asn1/f1ap/F1AP-Containers.asn
new file mode 100644
index 00000000..31e149d6
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/F1AP-Containers.asn
@@ -0,0 +1,186 @@
+-- 3GPP TS 38.473 V17.5.0 (2023-06)
+-- 9.4.8 Container Definitions
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+F1AP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolExtensionID,
+ ProtocolIE-ID
+
+FROM F1AP-CommonDataTypes
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs
+
+FROM F1AP-Constants;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+F1AP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+F1AP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+F1AP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolExtensionID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+F1AP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {F1AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-SingleContainer {F1AP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {F1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id F1AP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality F1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value F1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {F1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {F1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id F1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality F1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue F1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality F1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue F1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {F1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {F1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id F1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality F1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue F1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {F1AP-PRIVATE-IES : IEsSetParam } ::=
+ SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {F1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id F1AP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality F1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value F1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/f1ap/F1AP-IEs.asn b/epan/dissectors/asn1/f1ap/F1AP-IEs.asn
new file mode 100644
index 00000000..292b06bf
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/F1AP-IEs.asn
@@ -0,0 +1,8433 @@
+-- 3GPP TS 38.473 V17.5.0 (2023-06)
+-- 9.4.5 Information Element Definitions
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+F1AP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ id-gNB-CUSystemInformation,
+ id-HandoverPreparationInformation,
+ id-TAISliceSupportList,
+ id-RANAC,
+ id-BearerTypeChange,
+ id-Cell-Direction,
+ id-Cell-Type,
+ id-CellGroupConfig,
+ id-AvailablePLMNList,
+ id-PDUSessionID,
+ id-ULPDUSessionAggregateMaximumBitRate,
+ id-DC-Based-Duplication-Configured,
+ id-DC-Based-Duplication-Activation,
+ id-Duplication-Activation,
+ id-DLPDCPSNLength,
+ id-ULPDCPSNLength,
+ id-RLC-Status,
+ id-MeasurementTimingConfiguration,
+ id-DRB-Information,
+ id-QoSFlowMappingIndication,
+ id-ServingCellMO,
+ id-RLCMode,
+ id-ExtendedServedPLMNs-List,
+ id-ExtendedAvailablePLMN-List,
+ id-DRX-LongCycleStartOffset,
+ id-SelectedBandCombinationIndex,
+ id-SelectedFeatureSetEntryIndex,
+ id-Ph-InfoSCG,
+ id-latest-RRC-Version-Enhanced,
+ id-RequestedBandCombinationIndex,
+ id-RequestedFeatureSetEntryIndex,
+ id-DRX-Config,
+ id-UEAssistanceInformation,
+ id-PDCCH-BlindDetectionSCG,
+ id-Requested-PDCCH-BlindDetectionSCG,
+ id-BPLMN-ID-Info-List,
+ id-NotificationInformation,
+ id-TNLAssociationTransportLayerAddressgNBDU,
+ id-portNumber,
+ id-AdditionalSIBMessageList,
+ id-IgnorePRACHConfiguration,
+ id-CG-Config,
+ id-Ph-InfoMCG,
+ id-AggressorgNBSetID,
+ id-VictimgNBSetID,
+ id-MeasGapSharingConfig,
+ id-systemInformationAreaID,
+ id-areaScope,
+ id-IntendedTDD-DL-ULConfig,
+ id-QosMonitoringRequest,
+ id-BHInfo,
+ id-IAB-Info-IAB-DU,
+ id-IAB-Info-IAB-donor-CU,
+ id-IAB-Barred,
+ id-SIB12-message,
+ id-SIB13-message,
+ id-SIB14-message,
+ id-UEAssistanceInformationEUTRA,
+ id-SL-PHY-MAC-RLC-Config,
+ id-SL-ConfigDedicatedEUTRA-Info,
+ id-AlternativeQoSParaSetList,
+ id-CurrentQoSParaSetIndex,
+ id-CarrierList,
+ id-ULCarrierList,
+ id-FrequencyShift7p5khz,
+ id-SSB-PositionsInBurst,
+ id-NRPRACHConfig,
+ id-TDD-UL-DLConfigCommonNR,
+ id-CNPacketDelayBudgetDownlink,
+ id-CNPacketDelayBudgetUplink,
+ id-ExtendedPacketDelayBudget,
+ id-TSCTrafficCharacteristics,
+ id-AdditionalPDCPDuplicationTNL-List,
+ id-RLCDuplicationInformation,
+ id-AdditionalDuplicationIndication,
+ id-mdtConfiguration,
+ id-TraceCollectionEntityURI,
+ id-NID,
+ id-NPNSupportInfo,
+ id-NPNBroadcastInformation,
+ id-AvailableSNPN-ID-List,
+ id-SIB10-message,
+ id-RequestedP-MaxFR2,
+ id-DLCarrierList,
+ id-ExtendedTAISliceSupportList,
+ id-E-CID-MeasurementQuantities-Item,
+ id-ConfiguredTACIndication,
+ id-NRCGI,
+ id-SFN-Offset,
+ id-TransmissionStopIndicator,
+ id-SrsFrequency,
+ id-EstimatedArrivalProbability,
+ id-Supported-MBS-FSA-ID-List,
+ id-TRPType,
+ id-SRSSpatialRelationPerSRSResource,
+ id-MBS-Broadcast-NeighbourCellList,
+ id-PDCPTerminatingNodeDLTNLAddrInfo,
+ id-ENBDLTNLAddress,
+ id-PRS-Resource-ID,
+ id-LocationMeasurementInformation,
+ id-SliceRadioResourceStatus,
+ id-CompositeAvailableCapacity-SUL,
+ id-NR-U,
+ id-NR-U-Channel-List,
+ id-MIMOPRBusageInformation,
+ id-IngressNonF1terminatingTopologyIndicator,
+ id-NonF1terminatingTopologyIndicator,
+ id-EgressNonF1terminatingTopologyIndicator,
+ id-rBSetConfiguration,
+ id-frequency-Domain-HSNA-Configuration-List,
+ id-child-IAB-Nodes-NA-Resource-List,
+ id-Parent-IAB-Nodes-NA-Resource-Configuration-List,
+ id-uL-FreqInfo,
+ id-uL-Transmission-Bandwidth,
+ id-dL-FreqInfo,
+ id-dL-Transmission-Bandwidth,
+ id-uL-NR-Carrier-List,
+ id-dL-NR-Carrier-List,
+ id-nRFreqInfo,
+ id-transmission-Bandwidth,
+ id-nR-Carrier-List,
+ id-permutation,
+ id-M5ReportAmount,
+ id-M6ReportAmount,
+ id-M7ReportAmount,
+ id-SurvivalTime,
+ id-PDCMeasurementQuantities-Item,
+ id-OnDemandPRS,
+ id-AoA-SearchWindow,
+ id-ZoAInformation,
+ id-ARPLocationInfo,
+ id-ARP-ID,
+ id-MultipleULAoA,
+ id-UL-SRS-RSRPP,
+ id-SRSResourcetype,
+ id-ExtendedAdditionalPathList,
+ id-LoS-NLoSInformation,
+ id-NumberOfTRPRxTEG,
+ id-NumberOfTRPRxTxTEG,
+ id-TRPTxTEGAssociation,
+ id-TRPTEGInformation,
+ id-TRPRx-TEGInformation,
+ id-TRPBeamAntennaInformation,
+ id-Redcap-Bcast-Information,
+ id-NR-TADV,
+ id-SDT-MAC-PHY-CG-Config,
+ id-CG-SDTindicatorSetup,
+ id-CG-SDTindicatorMod,
+ id-SDTRLCBearerConfiguration,
+ id-SRBMappingInfo,
+ id-DRBMappingInfo,
+ id-LastUsedCellIndication,
+ id-SIB17-message,
+ id-MUSIM-GapConfig,
+ id-SIB20-message,
+ id-pathPower,
+ id-DU-RX-MT-RX-Extend,
+ id-DU-TX-MT-TX-Extend,
+ id-DU-RX-MT-TX-Extend,
+ id-DU-TX-MT-RX-Extend,
+ id-TAINSAGSupportList,
+ id-SL-RLC-ChannelToAddModList,
+ id-SIB15-message,
+ id-InterFrequencyConfig-NoGap,
+ id-MBSInterestIndication,
+ id-L571Info,
+ id-L1151Info,
+ id-SCS-480,
+ id-SCS-960,
+ id-SRSPortIndex,
+ id-PEISubgroupingSupportIndication,
+ id-NeedForGapsInfoNR,
+ id-NeedForGapNCSGInfoNR,
+ id-NeedForGapNCSGInfoEUTRA,
+ id-Source-MRB-ID,
+ id-RedCapIndication,
+ id-UL-GapFR2-Config,
+ id-ConfigRestrictInfoDAPS,
+ id-MulticastF1UContextReferenceCU,
+ id-TwoPHRModeMCG,
+ id-TwoPHRModeSCG,
+ id-ncd-SSB-RedCapInitialBWP-SDT,
+ id-nrofSymbolsExtended,
+ id-repetitionFactorExtended,
+ id-startRBHopping,
+ id-startRBIndex,
+ id-transmissionCombn8,
+ maxNRARFCN,
+ maxnoofErrors,
+ maxnoofBPLMNs,
+ maxnoofBPLMNsNR,
+ maxnoofDLUPTNLInformation,
+ maxnoofNrCellBands,
+ maxnoofULUPTNLInformation,
+ maxnoofQoSFlows,
+ maxnoofSliceItems,
+ maxnoofSIBTypes,
+ maxnoofSITypes,
+ maxCellineNB,
+ maxnoofExtendedBPLMNs,
+ maxnoofAdditionalSIBs,
+ maxnoofUACPLMNs,
+ maxnoofUACperPLMN,
+ maxCellingNBDU,
+ maxnoofTLAs,
+ maxnoofGTPTLAs,
+ maxnoofslots,
+ maxnoofNonUPTrafficMappings,
+ maxnoofServingCells,
+ maxnoofServedCellsIAB,
+ maxnoofChildIABNodes,
+ maxnoofIABSTCInfo,
+ maxnoofSymbols,
+ maxnoofDUFSlots,
+ maxnoofHSNASlots,
+ maxnoofEgressLinks,
+ maxnoofMappingEntries,
+ maxnoofDSInfo,
+ maxnoofQoSParaSets,
+ maxnoofPC5QoSFlows,
+ maxnoofSSBAreas,
+ maxnoofNRSCSs,
+ maxnoofPhysicalResourceBlocks,
+ maxnoofPhysicalResourceBlocks-1,
+ maxnoofPRACHconfigs,
+ maxnoofRACHReports,
+ maxnoofRLFReports,
+ maxnoofAdditionalPDCPDuplicationTNL,
+ maxnoofRLCDuplicationState,
+ maxnoofCHOcells,
+ maxnoofMDTPLMNs,
+ maxnoofCAGsupported,
+ maxnoofNIDsupported,
+ maxnoofExtSliceItems,
+ maxnoofPosMeas,
+ maxnoofTRPInfoTypes,
+ maxnoofSRSTriggerStates,
+ maxnoofSpatialRelations,
+ maxnoBcastCell,
+ maxnoofTRPs,
+ maxnoofAngleInfo,
+ maxnooflcs-gcs-translation,
+ maxnoofPath,
+ maxnoofMeasE-CID,
+ maxnoofSSBs,
+ maxnoSRS-ResourceSets,
+ maxnoSRS-ResourcePerSet,
+ maxnoSRS-Carriers,
+ maxnoSCSs,
+ maxnoSRS-Resources,
+ maxnoSRS-PosResources,
+ maxnoSRS-PosResourceSets,
+ maxnoSRS-PosResourcePerSet,
+ maxnoofPRS-ResourceSets,
+ maxnoofPRS-ResourcesPerSet,
+ maxNoOfMeasTRPs,
+ maxnoofPRSresourceSets,
+ maxnoofPRSresources,
+ maxnoofSuccessfulHOReports,
+ maxnoofNR-UChannelIDs,
+ maxServedCellforSON,
+ maxNeighbourCellforSON,
+ maxAffectedCells,
+ maxnoofMBSQoSFlows,
+ maxnoofMBSFSAs,
+ maxnoofMBSAreaSessionIDs,
+ maxnoofMBSServiceAreaInformation,
+ maxnoofTAIforMBS,
+ maxnoofCellsforMBS,
+ maxnoofIABCongInd,
+ maxnoofBHRLCChannels,
+ maxnoofTLAsIAB,
+ maxnoofRBsetsPerCell,
+ maxnoofRBsetsPerCell-1,
+ maxnoofNeighbourNodeCellsIAB,
+ maxnoofMeasPDC,
+ maxnoARPs,
+ maxnoofULAoAs,
+ maxNoPathExtended,
+ maxnoTRPTEGs,
+ maxFreqLayers,
+ maxNumResourcesPerAngle,
+ maxnoAzimuthAngles,
+ maxnoElevationAngles,
+ maxnoofPRSTRPs,
+ maxnoofQoEInformation,
+ maxnoofUuRLCChannels,
+ maxnoofPC5RLCChannels,
+ maxnoofSMBRValues,
+ maxnoofMBSSessionsofUE,
+ maxnoofSLdestinations,
+ maxnoofNSAGs,
+ maxnoofSDTBearers,
+ maxnoofPosSITypes,
+ maxnoofMRBs,
+ maxNrofBWPs
+
+
+FROM F1AP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+
+FROM F1AP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ F1AP-PROTOCOL-EXTENSION,
+ ProtocolIE-SingleContainer{},
+ F1AP-PROTOCOL-IES
+
+FROM F1AP-Containers;
+
+-- A
+
+AbortTransmission ::= CHOICE {
+ sRSResourceSetID SRSResourceSetID,
+ releaseALL NULL,
+ choice-extension ProtocolIE-SingleContainer { { AbortTransmission-ExtIEs } }
+}
+
+AbortTransmission-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+AccessPointPosition ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ directionOfAltitude ENUMERATED {height, depth},
+ altitude INTEGER (0..32767),
+ uncertaintySemi-major INTEGER (0..127),
+ uncertaintySemi-minor INTEGER (0..127),
+ orientationOfMajorAxis INTEGER (0..179),
+ uncertaintyAltitude INTEGER (0..127),
+ confidence INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { AccessPointPosition-ExtIEs} } OPTIONAL
+}
+
+AccessPointPosition-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Activated-Cells-to-be-Updated-List ::= SEQUENCE (SIZE(1..maxnoofServedCellsIAB)) OF Activated-Cells-to-be-Updated-List-Item
+
+Activated-Cells-to-be-Updated-List-Item ::= SEQUENCE{
+ nRCGI NRCGI,
+ iAB-DU-Cell-Resource-Configuration-Mode-Info IAB-DU-Cell-Resource-Configuration-Mode-Info,
+ iE-Extensions ProtocolExtensionContainer { { Activated-Cells-to-be-Updated-List-Item-ExtIEs} } OPTIONAL
+}
+
+Activated-Cells-to-be-Updated-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ActivationRequestType ::= ENUMERATED {activate, deactivate, ...}
+
+ActiveULBWP ::= SEQUENCE {
+ locationAndBandwidth INTEGER (0..37949,...),
+ subcarrierSpacing ENUMERATED {kHz15, kHz30, kHz60, kHz120,..., kHz480, kHz960},
+ cyclicPrefix ENUMERATED {normal, extended},
+ txDirectCurrentLocation INTEGER (0..3301,...),
+ shift7dot5kHz ENUMERATED {true, ...} OPTIONAL,
+ sRSConfig SRSConfig,
+ iE-Extensions ProtocolExtensionContainer { { ActiveULBWP-ExtIEs} } OPTIONAL
+}
+
+ActiveULBWP-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalDuplicationIndication ::= ENUMERATED {
+ three,
+ four,
+ ...
+}
+
+
+AdditionalPath-List::= SEQUENCE (SIZE(1..maxnoofPath)) OF AdditionalPath-Item
+
+AdditionalPath-Item ::=SEQUENCE {
+ relativePathDelay RelativePathDelay,
+ pathQuality TRPMeasurementQuality OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalPath-Item-ExtIEs } } OPTIONAL
+}
+
+AdditionalPath-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-MultipleULAoA CRITICALITY ignore EXTENSION MultipleULAoA PRESENCE optional}|
+ { ID id-pathPower CRITICALITY ignore EXTENSION UL-SRS-RSRPP PRESENCE optional},
+ ...
+}
+
+ExtendedAdditionalPathList ::= SEQUENCE (SIZE (1.. maxNoPathExtended)) OF ExtendedAdditionalPathList-Item
+
+
+ExtendedAdditionalPathList-Item ::= SEQUENCE {
+ relativeTimeOfPath RelativePathDelay,
+ pathQuality TRPMeasurementQuality OPTIONAL,
+ multipleULAoA MultipleULAoA OPTIONAL,
+ pathPower UL-SRS-RSRPP OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ExtendedAdditionalPathList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExtendedAdditionalPathList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalPDCPDuplicationTNL-List ::= SEQUENCE (SIZE(1..maxnoofAdditionalPDCPDuplicationTNL)) OF AdditionalPDCPDuplicationTNL-Item
+
+AdditionalPDCPDuplicationTNL-Item ::=SEQUENCE {
+ additionalPDCPDuplicationUPTNLInformation UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalPDCPDuplicationTNL-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+AdditionalPDCPDuplicationTNL-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+{ ID id-BHInfo CRITICALITY ignore EXTENSION BHInfo PRESENCE optional },
+ ...
+}
+
+AdditionalSIBMessageList ::= SEQUENCE (SIZE(1..maxnoofAdditionalSIBs)) OF AdditionalSIBMessageList-Item
+
+AdditionalSIBMessageList-Item ::= SEQUENCE {
+ additionalSIB OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalSIBMessageList-Item-ExtIEs} } OPTIONAL
+}
+
+AdditionalSIBMessageList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalRRMPriorityIndex ::= BIT STRING (SIZE(32))
+
+AffectedCellsAndBeams-List ::= SEQUENCE (SIZE (1.. maxAffectedCells)) OF AffectedCellsAndBeams-Item
+
+AffectedCellsAndBeams-Item::= SEQUENCE {
+ nRCGI NRCGI,
+ affectedSSB-List AffectedSSB-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AffectedCellsAndBeams-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+AffectedCellsAndBeams-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AffectedSSB-List::= SEQUENCE (SIZE (1..maxnoofSSBAreas)) OF AffectedSSB-Item
+
+AffectedSSB-Item::= SEQUENCE {
+ sSB-Index INTEGER(0..63),
+ iE-Extensions ProtocolExtensionContainer { { AffectedSSB-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+AffectedSSB-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AggressorCellList ::= SEQUENCE (SIZE(1..maxCellingNBDU)) OF AggressorCellList-Item
+
+AggressorCellList-Item ::= SEQUENCE {
+ aggressorCell-ID NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { AggressorCellList-Item-ExtIEs } } OPTIONAL
+}
+
+AggressorCellList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AggressorgNBSetID ::= SEQUENCE {
+ aggressorgNBSetID GNBSetID,
+ iE-Extensions ProtocolExtensionContainer { { AggressorgNBSetID-ExtIEs } } OPTIONAL
+}
+
+AggressorgNBSetID-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AllocationAndRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllocationAndRetentionPriority-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AlternativeQoSParaSetList ::= SEQUENCE (SIZE(1..maxnoofQoSParaSets)) OF AlternativeQoSParaSetItem
+
+AlternativeQoSParaSetItem ::= SEQUENCE {
+ alternativeQoSParaSetIndex QoSParaSetIndex,
+ guaranteedFlowBitRateDL BitRate OPTIONAL,
+ guaranteedFlowBitRateUL BitRate OPTIONAL,
+ packetDelayBudget PacketDelayBudget OPTIONAL,
+ packetErrorRate PacketErrorRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AlternativeQoSParaSetItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AlternativeQoSParaSetItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AngleMeasurementQuality ::= SEQUENCE {
+ azimuthQuality INTEGER(0..255),
+ zenithQuality INTEGER(0..255) OPTIONAL,
+ resolution ENUMERATED{deg0dot1,...},
+ iE-Extensions ProtocolExtensionContainer { { AngleMeasurementQuality-ExtIEs } } OPTIONAL
+}
+
+AngleMeasurementQuality-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AperiodicSRSResourceTriggerList ::= SEQUENCE (SIZE(1..maxnoofSRSTriggerStates)) OF AperiodicSRSResourceTrigger
+
+AperiodicSRSResourceTrigger ::= INTEGER (1..3)
+
+Associated-SCell-Item ::= SEQUENCE {
+ sCell-ID NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { Associated-SCell-ItemExtIEs } } OPTIONAL
+}
+
+Associated-SCell-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AvailablePLMNList ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF AvailablePLMNList-Item
+
+AvailablePLMNList-Item ::= SEQUENCE {
+ pLMNIdentity PLMN-Identity,
+ iE-Extensions ProtocolExtensionContainer { { AvailablePLMNList-Item-ExtIEs} } OPTIONAL
+}
+
+AvailablePLMNList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AvailableSNPN-ID-List ::= SEQUENCE (SIZE(1..maxnoofNIDsupported)) OF AvailableSNPN-ID-List-Item
+
+AvailableSNPN-ID-List-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ availableNIDList BroadcastNIDList,
+ iE-Extensions ProtocolExtensionContainer { { AvailableSNPN-ID-List-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+AvailableSNPN-ID-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AveragingWindow ::= INTEGER (0..4095, ...)
+
+AreaScope ::= ENUMERATED {true, ...}
+
+AoA-AssistanceInfo ::= SEQUENCE {
+ angleMeasurement AngleMeasurementType,
+ lCS-to-GCS-Translation LCS-to-GCS-Translation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AoA-AssistanceInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AoA-AssistanceInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AngleMeasurementType ::= CHOICE {
+ expected-ULAoA Expected-UL-AoA,
+ expected-ZoA Expected-ZoA-only,
+ choice-extension ProtocolIE-SingleContainer { { AngleMeasurementType-ExtIEs } }
+}
+
+AngleMeasurementType-ExtIEs F1AP-PROTOCOL-IES ::= {
+...
+}
+
+AppLayerBufferLevelList ::= OCTET STRING
+
+ARP-ID ::= INTEGER (1..16, ...)
+
+ARPLocationInformation ::= SEQUENCE (SIZE (1..maxnoARPs)) OF ARPLocationInformation-Item
+
+ARPLocationInformation-Item ::= SEQUENCE {
+ aRP-ID ARP-ID,
+ aRPLocationType ARPLocationType,
+ iE-Extensions ProtocolExtensionContainer { { ARPLocationInformation-ExtIEs} } OPTIONAL,
+...
+}
+
+ARPLocationInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ARPLocationType ::= CHOICE {
+ aRPPositionRelativeGeodetic RelativeGeodeticLocation,
+ aRPPositionRelativeCartesian RelativeCartesianLocation,
+ choice-extension ProtocolIE-SingleContainer { { ARPLocationType-ExtIEs } }
+}
+
+ARPLocationType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+-- B
+
+BAP-Header-Rewriting-Added-List-Item::= SEQUENCE {
+ ingressBAPRoutingID BAPRoutingID,
+ egressBAPRoutingID BAPRoutingID,
+ nonF1terminatingTopologyIndicator NonF1terminatingTopologyIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BAP-Header-Rewriting-Added-List-Item-ExtIEs} } OPTIONAL
+}
+
+BAP-Header-Rewriting-Added-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BAP-Header-Rewriting-Removed-List-Item::= SEQUENCE {
+ ingressBAPRoutingID BAPRoutingID,
+ iE-Extensions ProtocolExtensionContainer { { BAP-Header-Rewriting-Removed-List-Item-ExtIEs} } OPTIONAL
+}
+
+BAP-Header-Rewriting-Removed-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BandwidthSRS ::= CHOICE {
+ fR1 FR1-Bandwidth,
+ fR2 FR2-Bandwidth,
+ choice-extension ProtocolIE-SingleContainer {{ BandwidthSRS-ExtIEs }}
+}
+
+BandwidthSRS-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+BAPAddress ::= BIT STRING (SIZE(10))
+
+BAPCtrlPDUChannel ::= ENUMERATED {true, ...}
+
+BAPlayerBHRLCchannelMappingInfo ::= SEQUENCE {
+ bAPlayerBHRLCchannelMappingInfoToAdd BAPlayerBHRLCchannelMappingInfoList OPTIONAL,
+ bAPlayerBHRLCchannelMappingInfoToRemove MappingInformationtoRemove OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BAPlayerBHRLCchannelMappingInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BAPlayerBHRLCchannelMappingInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BAPlayerBHRLCchannelMappingInfoList ::= SEQUENCE (SIZE(1..maxnoofMappingEntries)) OF BAPlayerBHRLCchannelMappingInfo-Item
+
+BAPlayerBHRLCchannelMappingInfo-Item ::= SEQUENCE {
+ mappingInformationIndex MappingInformationIndex,
+ priorHopBAPAddress BAPAddress OPTIONAL,
+ ingressbHRLCChannelID BHRLCChannelID OPTIONAL,
+ nextHopBAPAddress BAPAddress OPTIONAL,
+ egressbHRLCChannelID BHRLCChannelID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BAPlayerBHRLCchannelMappingInfo-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+BAPlayerBHRLCchannelMappingInfo-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-IngressNonF1terminatingTopologyIndicator CRITICALITY ignore EXTENSION IngressNonF1terminatingTopologyIndicator PRESENCE optional}|
+ { ID id-EgressNonF1terminatingTopologyIndicator CRITICALITY ignore EXTENSION EgressNonF1terminatingTopologyIndicator PRESENCE optional},
+ ...
+}
+
+BAPPathID ::= BIT STRING (SIZE(10))
+
+BAPRoutingID ::= SEQUENCE {
+ bAPAddress BAPAddress,
+ bAPPathID BAPPathID,
+ iE-Extensions ProtocolExtensionContainer { { BAPRoutingIDExtIEs } } OPTIONAL
+}
+
+BAPRoutingIDExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BCBearerContextF1U-TNLInfo ::= CHOICE {
+ locationindpendent MBSF1UInformation,
+ locationdependent LocationDependentMBSF1UInformation,
+ choice-extension ProtocolIE-SingleContainer {{BCBearerContextF1U-TNLInfo-ExtIEs}}
+}
+
+BCBearerContextF1U-TNLInfo-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+BitRate ::= INTEGER (0..4000000000000,...)
+
+BearerTypeChange ::= ENUMERATED {true, ...}
+
+BHRLCChannelID ::= BIT STRING (SIZE(16))
+
+BHChannels-FailedToBeModified-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-FailedToBeModified-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-FailedToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-FailedToBeSetup-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-FailedToBeSetup-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-FailedToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-FailedToBeSetupMod-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ cause Cause OPTIONAL ,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-FailedToBeSetupMod-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-FailedToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-Modified-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-Modified-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-Modified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-Required-ToBeReleased-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-Required-ToBeReleased-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-Required-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-Setup-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-Setup-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-Setup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-SetupMod-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-SetupMod-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-SetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-ToBeModified-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ bHQoSInformation BHQoSInformation,
+ rLCmode RLCMode OPTIONAL,
+ bAPCtrlPDUChannel BAPCtrlPDUChannel OPTIONAL,
+ trafficMappingInfo TrafficMappingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-ToBeModified-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-ToBeReleased-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-ToBeReleased-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-ToBeSetup-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ bHQoSInformation BHQoSInformation,
+ rLCmode RLCMode,
+ bAPCtrlPDUChannel BAPCtrlPDUChannel OPTIONAL,
+ trafficMappingInfo TrafficMappingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-ToBeSetup-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHChannels-ToBeSetupMod-Item ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ bHQoSInformation BHQoSInformation,
+ rLCmode RLCMode,
+ bAPCtrlPDUChannel BAPCtrlPDUChannel OPTIONAL,
+ trafficMappingInfo TrafficMappingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BHChannels-ToBeSetupMod-ItemExtIEs } } OPTIONAL
+}
+
+BHChannels-ToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BHInfo ::= SEQUENCE {
+ bAProutingID BAPRoutingID OPTIONAL,
+ egressBHRLCCHList EgressBHRLCCHList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BHInfo-ExtIEs} } OPTIONAL
+}
+
+BHInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NonF1terminatingTopologyIndicator CRITICALITY ignore EXTENSION NonF1terminatingTopologyIndicator PRESENCE optional },
+ ...
+}
+
+BHQoSInformation ::= CHOICE {
+ bHRLCCHQoS QoSFlowLevelQoSParameters,
+ eUTRANBHRLCCHQoS EUTRANQoS,
+ cPTrafficType CPTrafficType,
+ choice-extension ProtocolIE-SingleContainer { { BHQoSInformation-ExtIEs} }
+}
+
+BHQoSInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+BHRLCCHList ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF BHRLCCHItem
+
+BHRLCCHItem ::= SEQUENCE {
+ bHRLCChannelID BHRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer {{BHRLCCHItemExtIEs }} OPTIONAL
+}
+
+BHRLCCHItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BH-Routing-Information-Added-List-Item ::= SEQUENCE {
+ bAPRoutingID BAPRoutingID,
+ nextHopBAPAddress BAPAddress,
+ iE-Extensions ProtocolExtensionContainer { { BH-Routing-Information-Added-List-ItemExtIEs} } OPTIONAL
+}
+
+BH-Routing-Information-Added-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-NonF1terminatingTopologyIndicator CRITICALITY ignore EXTENSION NonF1terminatingTopologyIndicator PRESENCE optional},
+ ...
+}
+
+BH-Routing-Information-Removed-List-Item ::= SEQUENCE {
+ bAPRoutingID BAPRoutingID,
+ iE-Extensions ProtocolExtensionContainer { { BH-Routing-Information-Removed-List-ItemExtIEs} } OPTIONAL
+}
+
+BH-Routing-Information-Removed-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BPLMN-ID-Info-List ::= SEQUENCE (SIZE(1..maxnoofBPLMNsNR)) OF BPLMN-ID-Info-Item
+
+BPLMN-ID-Info-Item ::= SEQUENCE {
+ pLMN-Identity-List AvailablePLMNList,
+ extended-PLMN-Identity-List ExtendedAvailablePLMN-List OPTIONAL,
+ fiveGS-TAC FiveGS-TAC OPTIONAL,
+ nr-cell-ID NRCellIdentity,
+ ranac RANAC OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BPLMN-ID-Info-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+BPLMN-ID-Info-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ConfiguredTACIndication CRITICALITY ignore EXTENSION ConfiguredTACIndication PRESENCE optional }|
+ { ID id-NPNBroadcastInformation CRITICALITY reject EXTENSION NPNBroadcastInformation PRESENCE optional},
+ ...
+}
+
+ServedPLMNs-List ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF ServedPLMNs-Item
+
+ServedPLMNs-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ iE-Extensions ProtocolExtensionContainer { { ServedPLMNs-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedPLMNs-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+{ ID id-TAISliceSupportList CRITICALITY ignore EXTENSION SliceSupportList PRESENCE optional }|
+{ ID id-NPNSupportInfo CRITICALITY reject EXTENSION NPNSupportInfo PRESENCE optional }|
+{ ID id-ExtendedTAISliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional }|
+{ ID id-TAINSAGSupportList CRITICALITY ignore EXTENSION NSAGSupportList PRESENCE optional},
+ ...
+}
+
+BroadcastCAGList ::= SEQUENCE (SIZE(1..maxnoofCAGsupported)) OF CAGID
+
+
+BroadcastMRBs-FailedToBeModified-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-FailedtoBeModified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastMRBs-FailedtoBeModified-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastMRBs-FailedToBeSetup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-FailedToBeSetup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastMRBs-FailedToBeSetup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastMRBs-FailedToBeSetupMod-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-FailedToBeSetupMod-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastMRBs-FailedToBeSetupMod-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastMRBs-Modified-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ bcBearerCtxtF1U-TNLInfoatDU BCBearerContextF1U-TNLInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-Modified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastMRBs-Modified-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastMRBs-Setup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ bcBearerCtxtF1U-TNLInfoatDU BCBearerContextF1U-TNLInfo,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-Setup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastMRBs-Setup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastMRBs-SetupMod-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ bcBearerCtxtF1U-TNLInfoatDU BCBearerContextF1U-TNLInfo,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-SetupMod-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastMRBs-SetupMod-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastMRBs-ToBeModified-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mRB-QoSInformation QoSFlowLevelQoSParameters OPTIONAL,
+ mBS-Flows-Mapped-To-MRB-List MBS-Flows-Mapped-To-MRB-List OPTIONAL,
+ bcBearerCtxtF1U-TNLInfoatCU BCBearerContextF1U-TNLInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-ToBeModified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastMRBs-ToBeModified-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastMRBs-ToBeReleased-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-ToBeReleased-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+BroadcastMRBs-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastMRBs-ToBeSetup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mRB-QoSInformation QoSFlowLevelQoSParameters,
+ mBS-Flows-Mapped-To-MRB-List MBS-Flows-Mapped-To-MRB-List,
+ bcBearerCtxtF1U-TNLInfoatCU BCBearerContextF1U-TNLInfo ,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-ToBeSetup-Item-ExtIEs} },
+ ...
+}
+
+BroadcastMRBs-ToBeSetup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastMRBs-ToBeSetupMod-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mRB-QoSInformation QoSFlowLevelQoSParameters,
+ mBS-Flows-Mapped-To-MRB-List MBS-Flows-Mapped-To-MRB-List,
+ bcBearerCtxtF1U-TNLInfoatCU BCBearerContextF1U-TNLInfo,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastMRBs-ToBeSetupMod-Item-ExtIEs} },
+ ...
+}
+
+BroadcastMRBs-ToBeSetupMod-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BroadcastNIDList ::= SEQUENCE (SIZE(1..maxnoofNIDsupported)) OF NID
+
+BroadcastSNPN-ID-List ::= SEQUENCE (SIZE(1..maxnoofNIDsupported)) OF BroadcastSNPN-ID-List-Item
+
+BroadcastSNPN-ID-List-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ broadcastNIDList BroadcastNIDList,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastSNPN-ID-List-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastSNPN-ID-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastPNI-NPN-ID-List ::= SEQUENCE (SIZE(1..maxnoofCAGsupported)) OF BroadcastPNI-NPN-ID-List-Item
+
+BroadcastPNI-NPN-ID-List-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ broadcastCAGList BroadcastCAGList,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastPNI-NPN-ID-List-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastPNI-NPN-ID-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastAreaScope ::= CHOICE {
+ completeSuccess NULL,
+ partialSuccess PartialSuccessCell,
+ choice-extension ProtocolIE-SingleContainer { { BroadcastAreaScope-ExtIEs } }
+}
+
+BroadcastAreaScope-ExtIEs F1AP-PROTOCOL-IES::={
+ ...
+}
+
+BroadcastCellList ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF Broadcast-Cell-List-Item
+Broadcast-Cell-List-Item ::= SEQUENCE {
+ cellID NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { Broadcast-Cell-List-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+Broadcast-Cell-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BufferSizeThresh ::= INTEGER(0..16777215)
+
+BurstArrivalTime ::= OCTET STRING
+
+-- C
+CAGID ::= BIT STRING (SIZE(32))
+
+Cancel-all-Warning-Messages-Indicator ::= ENUMERATED {true, ...}
+
+Candidate-SpCell-Item ::= SEQUENCE {
+ candidate-SpCell-ID NRCGI ,
+ iE-Extensions ProtocolExtensionContainer { { Candidate-SpCell-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Candidate-SpCell-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CapacityValue::= SEQUENCE {
+ capacityValue INTEGER (0..100),
+ sSBAreaCapacityValueList SSBAreaCapacityValueList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CapacityValue-ExtIEs} } OPTIONAL
+}
+
+CapacityValue-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ choice-extension ProtocolIE-SingleContainer { { Cause-ExtIEs} }
+}
+
+Cause-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ not-enough-user-plane-processing-resources,
+ hardware-failure,
+ om-intervention,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ abstract-syntax-error-falsely-constructed-message,
+ unspecified,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unspecified,
+ rl-failure-rlc,
+ unknown-or-already-allocated-gnb-cu-ue-f1ap-id,
+ unknown-or-already-allocated-gnb-du-ue-f1ap-id,
+ unknown-or-inconsistent-pair-of-ue-f1ap-id,
+ interaction-with-other-procedure,
+ not-supported-qci-Value,
+ action-desirable-for-radio-reasons,
+ no-radio-resources-available,
+ procedure-cancelled,
+ normal-release,
+ ...,
+ cell-not-available,
+ rl-failure-others,
+ ue-rejection,
+ resources-not-available-for-the-slice,
+ amf-initiated-abnormal-release,
+ release-due-to-pre-emption,
+ plmn-not-served-by-the-gNB-CU,
+ multiple-drb-id-instances,
+ unknown-drb-id,
+ multiple-bh-rlc-ch-id-instances,
+ unknown-bh-rlc-ch-id,
+ cho-cpc-resources-tobechanged,
+ nPN-not-supported,
+ nPN-access-denied,
+ gNB-CU-Cell-Capacity-Exceeded,
+ report-characteristics-empty,
+ existing-measurement-ID,
+ measurement-temporarily-not-available,
+ measurement-not-supported-for-the-object,
+ unknown-bh-address,
+ unknown-bap-routing-id,
+ insufficient-ue-capabilities,
+ scg-activation-deactivation-failure,
+ scg-deactivation-failure-due-to-data-transmission,
+ requested-item-not-supported-on-time,
+ unknown-or-already-allocated-gNB-CU-MBS-F1AP-ID,
+ unknown-or-already-allocated-gNB-DU-MBS-F1AP-ID,
+ unknown-or-inconsistent-pair-of-MBS-F1AP-ID,
+ unknown-or-inconsistent-MRB-ID,
+ tat-sdt-expiry
+
+}
+
+CauseTransport ::= ENUMERATED {
+ unspecified,
+ transport-resource-unavailable,
+ ...,
+ unknown-TNL-address-for-IAB,
+ unknown-UP-TNL-information-for-IAB
+}
+
+CellGroupConfig ::= OCTET STRING
+
+CellCapacityClassValue ::= INTEGER (1..100,...)
+
+Cell-Direction ::= ENUMERATED {dl-only, ul-only}
+
+CellMeasurementResultList ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF CellMeasurementResultItem
+
+CellMeasurementResultItem ::= SEQUENCE {
+ cellID NRCGI,
+ radioResourceStatus RadioResourceStatus OPTIONAL,
+ compositeAvailableCapacityGroup CompositeAvailableCapacityGroup OPTIONAL,
+ sliceAvailableCapacity SliceAvailableCapacity OPTIONAL,
+ numberofActiveUEs NumberofActiveUEs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellMeasurementResultItem-ExtIEs} } OPTIONAL
+}
+
+CellMeasurementResultItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NR-U-Channel-List CRITICALITY ignore EXTENSION NR-U-Channel-List PRESENCE optional },
+ ...
+}
+
+Cell-Portion-ID ::= INTEGER (0..4095,...)
+
+CellsForSON-List ::= SEQUENCE (SIZE(1.. maxServedCellforSON)) OF CellsForSON-Item
+
+CellsForSON-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ neighbourNR-CellsForSON-List NeighbourNR-CellsForSON-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellsForSON-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellsForSON-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cells-Failed-to-be-Activated-List-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { Cells-Failed-to-be-Activated-List-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Cells-Failed-to-be-Activated-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cells-Status-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ service-status Service-Status,
+ iE-Extensions ProtocolExtensionContainer { { Cells-Status-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Cells-Status-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cells-To-Be-Broadcast-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { Cells-To-Be-Broadcast-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Cells-To-Be-Broadcast-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cells-Broadcast-Completed-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { Cells-Broadcast-Completed-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Cells-Broadcast-Completed-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Broadcast-To-Be-Cancelled-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { Broadcast-To-Be-Cancelled-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Broadcast-To-Be-Cancelled-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Cells-Broadcast-Cancelled-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { { Cells-Broadcast-Cancelled-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Cells-Broadcast-Cancelled-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cells-to-be-Activated-List-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ nRPCI NRPCI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Cells-to-be-Activated-List-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+Cells-to-be-Activated-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-gNB-CUSystemInformation CRITICALITY reject EXTENSION GNB-CUSystemInformation PRESENCE optional }|
+ { ID id-AvailablePLMNList CRITICALITY ignore EXTENSION AvailablePLMNList PRESENCE optional }|
+ { ID id-ExtendedAvailablePLMN-List CRITICALITY ignore EXTENSION ExtendedAvailablePLMN-List PRESENCE optional }|
+ { ID id-IAB-Info-IAB-donor-CU CRITICALITY ignore EXTENSION IAB-Info-IAB-donor-CU PRESENCE optional}|
+ { ID id-AvailableSNPN-ID-List CRITICALITY ignore EXTENSION AvailableSNPN-ID-List PRESENCE optional }|
+ { ID id-MBS-Broadcast-NeighbourCellList CRITICALITY ignore EXTENSION MBS-Broadcast-NeighbourCellList PRESENCE optional },
+ ...
+}
+
+Cells-to-be-Deactivated-List-Item ::= SEQUENCE {
+ nRCGI NRCGI ,
+ iE-Extensions ProtocolExtensionContainer { { Cells-to-be-Deactivated-List-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Cells-to-be-Deactivated-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cells-to-be-Barred-Item::= SEQUENCE {
+ nRCGI NRCGI ,
+ cellBarred CellBarred,
+ iE-Extensions ProtocolExtensionContainer { { Cells-to-be-Barred-Item-ExtIEs } } OPTIONAL
+}
+
+Cells-to-be-Barred-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-IAB-Barred CRITICALITY ignore EXTENSION IAB-Barred PRESENCE optional },
+
+ ...
+}
+
+
+CellBarred ::= ENUMERATED {barred, not-barred, ...}
+
+CellSize ::= ENUMERATED {verysmall, small, medium, large, ...}
+
+CellToReportList ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF CellToReportItem
+
+CellToReportItem ::= SEQUENCE {
+ cellID NRCGI,
+ sSBToReportList SSBToReportList OPTIONAL,
+ sliceToReportList SliceToReportList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellToReportItem-ExtIEs} } OPTIONAL
+}
+
+CellToReportItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellType ::= SEQUENCE {
+ cellSize CellSize,
+ iE-Extensions ProtocolExtensionContainer { {CellType-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellType-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellULConfigured ::= ENUMERATED {none, ul, sul, ul-and-sul, ...}
+
+CG-SDTQueryIndication ::= ENUMERATED {true, ...}
+
+CG-SDTKeptIndicator ::= ENUMERATED {true, ...}
+
+CG-SDTindicatorSetup ::= ENUMERATED {true, ...}
+
+CG-SDTindicatorMod ::= ENUMERATED {true, false, ...}
+
+CG-SDTSessionInfo ::= SEQUENCE {
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
+ gNB-DU-UE-F1AP-ID GNB-DU-UE-F1AP-ID,
+ iE-Extensions ProtocolExtensionContainer {{CG-SDTSessionInfo-ExtIEs}} OPTIONAL,
+ ...
+}
+
+
+CG-SDTSessionInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ChannelOccupancyTimePercentage ::= INTEGER (0..100,...)
+
+Child-IAB-Nodes-NA-Resource-List ::= SEQUENCE (SIZE(1..maxnoofChildIABNodes)) OF Child-IAB-Nodes-NA-Resource-List-Item
+
+Child-IAB-Nodes-NA-Resource-List-Item::= SEQUENCE {
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
+ gNB-DU-UE-F1AP-ID GNB-DU-UE-F1AP-ID,
+ nA-Resource-Configuration-List NA-Resource-Configuration-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Child-IAB-Nodes-NA-Resource-List-Item-ExtIEs} } OPTIONAL
+}
+
+Child-IAB-Nodes-NA-Resource-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Child-Node-Cells-List ::= SEQUENCE (SIZE(1..maxnoofChildIABNodes)) OF Child-Node-Cells-List-Item
+
+Child-Node-Cells-List-Item ::= SEQUENCE{
+ nRCGI NRCGI,
+ iAB-DU-Cell-Resource-Configuration-Mode-Info IAB-DU-Cell-Resource-Configuration-Mode-Info OPTIONAL,
+ iAB-STC-Info IAB-STC-Info OPTIONAL,
+ rACH-Config-Common RACH-Config-Common OPTIONAL,
+ rACH-Config-Common-IAB RACH-Config-Common-IAB OPTIONAL,
+ cSI-RS-Configuration OCTET STRING OPTIONAL,
+ sR-Configuration OCTET STRING OPTIONAL,
+ pDCCH-ConfigSIB1 OCTET STRING OPTIONAL,
+ sCS-Common OCTET STRING OPTIONAL,
+ multiplexingInfo MultiplexingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{Child-Node-Cells-List-Item-ExtIEs}} OPTIONAL
+}
+
+Child-Node-Cells-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Child-Nodes-List ::= SEQUENCE (SIZE(1..maxnoofChildIABNodes)) OF Child-Nodes-List-Item
+
+Child-Nodes-List-Item ::= SEQUENCE{
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
+ gNB-DU-UE-F1AP-ID GNB-DU-UE-F1AP-ID,
+ child-Node-Cells-List Child-Node-Cells-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{Child-Nodes-List-Item-ExtIEs}} OPTIONAL
+}
+
+Child-Nodes-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CHOtrigger-InterDU ::= ENUMERATED {
+ cho-initiation,
+ cho-replace,
+ ...
+}
+
+CHOtrigger-IntraDU ::= ENUMERATED {
+ cho-initiation,
+ cho-replace,
+ cho-cancel,
+ ...
+}
+
+CNSubgroupID ::= INTEGER (0..7, ...)
+
+CNUEPagingIdentity ::= CHOICE {
+ fiveG-S-TMSI BIT STRING (SIZE(48)),
+ choice-extension ProtocolIE-SingleContainer { { CNUEPagingIdentity-ExtIEs } }
+}
+
+CNUEPagingIdentity-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+CompositeAvailableCapacityGroup ::= SEQUENCE {
+ compositeAvailableCapacityDownlink CompositeAvailableCapacity,
+ compositeAvailableCapacityUplink CompositeAvailableCapacity,
+ iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL
+}
+
+CompositeAvailableCapacityGroup-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-CompositeAvailableCapacity-SUL CRITICALITY ignore EXTENSION CompositeAvailableCapacity PRESENCE optional },
+ ...
+}
+
+CompositeAvailableCapacity ::= SEQUENCE {
+ cellCapacityClassValue CellCapacityClassValue OPTIONAL,
+ capacityValue CapacityValue,
+ iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacity-ExtIEs} } OPTIONAL
+}
+
+CompositeAvailableCapacity-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CHO-Probability ::= INTEGER (1..100)
+
+ConditionalInterDUMobilityInformation ::= SEQUENCE {
+ cho-trigger CHOtrigger-InterDU,
+ targetgNB-DUUEF1APID GNB-DU-UE-F1AP-ID OPTIONAL
+ -- This IE shall be present if the cho-trigger IE is present and set to "cho-replace" --,
+ iE-Extensions ProtocolExtensionContainer { { ConditionalInterDUMobilityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ConditionalInterDUMobilityInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::={
+ { ID id-EstimatedArrivalProbability CRITICALITY ignore EXTENSION CHO-Probability PRESENCE optional },
+ ...
+}
+
+ConditionalIntraDUMobilityInformation ::= SEQUENCE {
+ cho-trigger CHOtrigger-IntraDU,
+ targetCellsTocancel TargetCellList OPTIONAL,
+ -- This IE may be present if the cho-trigger IE is present and set to "cho-cancel"
+ iE-Extensions ProtocolExtensionContainer { { ConditionalIntraDUMobilityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ConditionalIntraDUMobilityInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::={
+ { ID id-EstimatedArrivalProbability CRITICALITY ignore EXTENSION CHO-Probability PRESENCE optional },
+ ...
+}
+
+ConfigRestrictInfoDAPS ::= OCTET STRING
+
+ConfiguredTACIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+
+CoordinateID ::= INTEGER (0..511, ...)
+
+Coverage-Modification-Notification ::= SEQUENCE {
+ coverage-Modification-List Coverage-Modification-List,
+ iE-Extensions ProtocolExtensionContainer { { Coverage-Modification-Notification-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Coverage-Modification-Notification-ExtIEs F1AP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+Coverage-Modification-List ::= SEQUENCE (SIZE (1..maxCellingNBDU)) OF Coverage-Modification-Item
+
+Coverage-Modification-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ cellCoverageState CellCoverageState,
+ sSBCoverageModificationList SSBCoverageModification-List OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { Coverage-Modification-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Coverage-Modification-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellCoverageState ::= INTEGER (0..63, ...)
+
+
+CCO-Assistance-Information ::= SEQUENCE {
+ cCO-issue-detection CCO-issue-detection OPTIONAL,
+ affectedCellsAndBeams-List AffectedCellsAndBeams-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CCO-Assistance-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CCO-Assistance-Information-ExtIEs F1AP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+CCO-issue-detection ::= ENUMERATED {
+ coverage,
+ cell-edge-capacity,
+ ...}
+
+
+CP-TransportLayerAddress ::= CHOICE {
+ endpoint-IP-address TransportLayerAddress,
+ endpoint-IP-address-and-port Endpoint-IP-address-and-port,
+ choice-extension ProtocolIE-SingleContainer { { CP-TransportLayerAddress-ExtIEs } }
+}
+
+CP-TransportLayerAddress-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+CPACMCGInformation ::= SEQUENCE {
+ cpac-trigger CPAC-trigger,
+ pscellid NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { CPACMCGInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPACMCGInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPAC-trigger ::= ENUMERATED {
+ cpac-preparation,
+ cpac-executed,
+ ...
+}
+
+CPTrafficType ::= INTEGER (1..3,...)
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ transactionID TransactionID OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1.. maxnoofErrors)) OF CriticalityDiagnostics-IE-Item
+
+CriticalityDiagnostics-IE-Item ::= SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+C-RNTI ::= INTEGER (0..65535, ...)
+
+CUDURadioInformationType ::= CHOICE {
+ rIM CUDURIMInformation,
+ choice-extension ProtocolIE-SingleContainer { { CUDURadioInformationType-ExtIEs} }
+}
+
+CUDURadioInformationType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+CUDURIMInformation ::= SEQUENCE {
+ victimgNBSetID GNBSetID,
+ rIMRSDetectionStatus RIMRSDetectionStatus,
+ iE-Extensions ProtocolExtensionContainer { { CUDURIMInformation-ExtIEs} } OPTIONAL
+}
+
+CUDURIMInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CUtoDURRCInformation ::= SEQUENCE {
+ cG-ConfigInfo CG-ConfigInfo OPTIONAL,
+ uE-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList OPTIONAL,
+ measConfig MeasConfig OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CUtoDURRCInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CUtoDURRCInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-HandoverPreparationInformation CRITICALITY ignore EXTENSION HandoverPreparationInformation PRESENCE optional }|
+ { ID id-CellGroupConfig CRITICALITY ignore EXTENSION CellGroupConfig PRESENCE optional }|
+ { ID id-MeasurementTimingConfiguration CRITICALITY ignore EXTENSION MeasurementTimingConfiguration PRESENCE optional }|
+ { ID id-UEAssistanceInformation CRITICALITY ignore EXTENSION UEAssistanceInformation PRESENCE optional }|
+ { ID id-CG-Config CRITICALITY ignore EXTENSION CG-Config PRESENCE optional }|
+ { ID id-UEAssistanceInformationEUTRA CRITICALITY ignore EXTENSION UEAssistanceInformationEUTRA PRESENCE optional }|
+ { ID id-LocationMeasurementInformation CRITICALITY ignore EXTENSION LocationMeasurementInformation PRESENCE optional }|
+ { ID id-MUSIM-GapConfig CRITICALITY reject EXTENSION MUSIM-GapConfig PRESENCE optional }|
+ { ID id-SDT-MAC-PHY-CG-Config CRITICALITY ignore EXTENSION SDT-MAC-PHY-CG-Config PRESENCE optional }|
+ { ID id-MBSInterestIndication CRITICALITY ignore EXTENSION MBSInterestIndication PRESENCE optional }|
+ { ID id-NeedForGapsInfoNR CRITICALITY ignore EXTENSION NeedForGapsInfoNR PRESENCE optional }|
+ { ID id-NeedForGapNCSGInfoNR CRITICALITY ignore EXTENSION NeedForGapNCSGInfoNR PRESENCE optional }|
+ { ID id-NeedForGapNCSGInfoEUTRA CRITICALITY ignore EXTENSION NeedForGapNCSGInfoEUTRA PRESENCE optional }|
+ { ID id-ConfigRestrictInfoDAPS CRITICALITY ignore EXTENSION ConfigRestrictInfoDAPS PRESENCE optional },
+ ...
+}
+
+-- D
+
+DAPS-HO-Status::= ENUMERATED{initiation,... }
+
+DCBasedDuplicationConfigured::= ENUMERATED{true,..., false}
+
+Dedicated-SIDelivery-NeededUE-Item ::= SEQUENCE {
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
+ nRCGI NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { DedicatedSIDeliveryNeededUE-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DedicatedSIDeliveryNeededUE-Item-ExtIEs F1AP-PROTOCOL-EXTENSION::={
+ ...
+}
+
+
+DL-PRS ::= SEQUENCE {
+ prsid INTEGER (0..255),
+ dl-PRSResourceSetID PRS-Resource-Set-ID,
+ dl-PRSResourceID PRS-Resource-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-PRS-ExtIEs} } OPTIONAL
+}
+
+DL-PRS-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-PRSMutingPattern ::= CHOICE {
+ two BIT STRING (SIZE(2)),
+ four BIT STRING (SIZE(4)),
+ six BIT STRING (SIZE(6)),
+ eight BIT STRING (SIZE(8)),
+ sixteen BIT STRING (SIZE(16)),
+ thirty-two BIT STRING (SIZE(32)),
+ choice-extension ProtocolIE-SingleContainer { { DL-PRSMutingPattern-ExtIEs } }
+}
+
+DL-PRSMutingPattern-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+DLPRSResourceCoordinates ::= SEQUENCE {
+ listofDL-PRSResourceSetARP SEQUENCE (SIZE(1.. maxnoofPRS-ResourceSets)) OF DLPRSResourceSetARP,
+ iE-Extensions ProtocolExtensionContainer { { DLPRSResourceCoordinates-ExtIEs } } OPTIONAL
+}
+
+DLPRSResourceCoordinates-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DLPRSResourceSetARP ::= SEQUENCE {
+ dl-PRSResourceSetID PRS-Resource-Set-ID,
+ dL-PRSResourceSetARPLocation DL-PRSResourceSetARPLocation,
+ listofDL-PRSResourceARP SEQUENCE (SIZE(1.. maxnoofPRS-ResourcesPerSet)) OF DLPRSResourceARP,
+ iE-Extensions ProtocolExtensionContainer { { DLPRSResourceSetARP-ExtIEs } } OPTIONAL
+}
+
+DLPRSResourceSetARP-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DL-PRSResourceSetARPLocation ::= CHOICE {
+ relativeGeodeticLocation RelativeGeodeticLocation,
+ relativeCartesianLocation RelativeCartesianLocation,
+ choice-Extension ProtocolIE-SingleContainer { { DL-PRSResourceSetARPLocation-ExtIEs } }
+}
+
+DL-PRSResourceSetARPLocation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+DLPRSResourceARP ::= SEQUENCE {
+ dl-PRSResourceID PRS-Resource-ID,
+ dL-PRSResourceARPLocation DL-PRSResourceARPLocation,
+ iE-Extensions ProtocolExtensionContainer { { DLPRSResourceARP-ExtIEs } } OPTIONAL
+}
+
+DLPRSResourceARP-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-PRSResourceARPLocation ::= CHOICE {
+ relativeGeodeticLocation RelativeGeodeticLocation,
+ relativeCartesianLocation RelativeCartesianLocation,
+ choice-Extension ProtocolIE-SingleContainer { { DL-PRSResourceARPLocation-ExtIEs } }
+}
+
+DL-PRSResourceARPLocation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+DL-UP-TNL-Address-to-Update-List-Item ::= SEQUENCE {
+ oldIPAdress TransportLayerAddress,
+ newIPAdress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { DL-UP-TNL-Address-to-Update-List-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DL-UP-TNL-Address-to-Update-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DLUPTNLInformation-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofDLUPTNLInformation)) OF DLUPTNLInformation-ToBeSetup-Item
+
+DLUPTNLInformation-ToBeSetup-Item ::= SEQUENCE {
+ dLUPTNLInformation UPTransportLayerInformation ,
+ iE-Extensions ProtocolExtensionContainer { { DLUPTNLInformation-ToBeSetup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DLUPTNLInformation-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Activity-Item ::= SEQUENCE {
+ dRBID DRBID,
+ dRB-Activity DRB-Activity OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Activity-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Activity-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Activity ::= ENUMERATED {active, not-active}
+
+DRBID ::= INTEGER (1..32, ...)
+
+DRBs-FailedToBeModified-Item ::= SEQUENCE {
+ dRBID DRBID ,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-FailedToBeModified-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-FailedToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBs-FailedToBeSetup-Item ::= SEQUENCE {
+ dRBID DRBID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-FailedToBeSetup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-FailedToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBs-FailedToBeSetupMod-Item ::= SEQUENCE {
+ dRBID DRBID ,
+ cause Cause OPTIONAL ,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-FailedToBeSetupMod-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-FailedToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRB-Information ::= SEQUENCE {
+ dRB-QoS QoSFlowLevelQoSParameters,
+ sNSSAI SNSSAI,
+ notificationControl NotificationControl OPTIONAL,
+ flows-Mapped-To-DRB-List Flows-Mapped-To-DRB-List,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Information-ItemExtIEs } } OPTIONAL
+}
+
+DRB-Information-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBs-Modified-Item ::= SEQUENCE {
+ dRBID DRBID,
+ lCID LCID OPTIONAL,
+ dLUPTNLInformation-ToBeSetup-List DLUPTNLInformation-ToBeSetup-List,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-Modified-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-Modified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RLC-Status CRITICALITY ignore EXTENSION RLC-Status PRESENCE optional }|
+ { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }|
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION QoSParaSetIndex PRESENCE optional },
+ ...
+}
+
+DRBs-ModifiedConf-Item ::= SEQUENCE {
+ dRBID DRBID,
+ uLUPTNLInformation-ToBeSetup-List ULUPTNLInformation-ToBeSetup-List ,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-ModifiedConf-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-ModifiedConf-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional },
+ ...
+}
+
+DRB-Notify-Item ::= SEQUENCE {
+ dRBID DRBID,
+ notification-Cause Notification-Cause,
+ iE-Extensions ProtocolExtensionContainer { { DRB-Notify-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRB-Notify-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION QoSParaSetNotifyIndex PRESENCE optional },
+ ...
+}
+
+DRBs-Required-ToBeModified-Item ::= SEQUENCE {
+ dRBID DRBID,
+ dLUPTNLInformation-ToBeSetup-List DLUPTNLInformation-ToBeSetup-List ,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-Required-ToBeModified-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-Required-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RLC-Status CRITICALITY ignore EXTENSION RLC-Status PRESENCE optional }|
+ { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional },
+ ...
+}
+
+DRBs-Required-ToBeReleased-Item ::= SEQUENCE {
+ dRBID DRBID,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-Required-ToBeReleased-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-Required-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBs-Setup-Item ::= SEQUENCE {
+ dRBID DRBID,
+ lCID LCID OPTIONAL,
+ dLUPTNLInformation-ToBeSetup-List DLUPTNLInformation-ToBeSetup-List ,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-Setup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-Setup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }|
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION QoSParaSetIndex PRESENCE optional },
+ ...
+}
+
+DRBs-SetupMod-Item ::= SEQUENCE {
+ dRBID DRBID,
+ lCID LCID OPTIONAL,
+ dLUPTNLInformation-ToBeSetup-List DLUPTNLInformation-ToBeSetup-List ,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-SetupMod-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-SetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }|
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION QoSParaSetIndex PRESENCE optional },
+ ...
+}
+
+
+DRBs-ToBeModified-Item ::= SEQUENCE {
+ dRBID DRBID,
+ qoSInformation QoSInformation OPTIONAL,
+ uLUPTNLInformation-ToBeSetup-List ULUPTNLInformation-ToBeSetup-List ,
+ uLConfiguration ULConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-ToBeModified-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-DLPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }|
+ { ID id-ULPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }|
+ {ID id-BearerTypeChange CRITICALITY ignore EXTENSION BearerTypeChange PRESENCE optional}|
+ { ID id-RLCMode CRITICALITY ignore EXTENSION RLCMode PRESENCE optional }|
+ { ID id-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }|
+ { ID id-DC-Based-Duplication-Configured CRITICALITY reject EXTENSION DCBasedDuplicationConfigured PRESENCE optional }|
+ { ID id-DC-Based-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }|
+ { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }|
+ { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional}|
+ { ID id-TransmissionStopIndicator CRITICALITY ignore EXTENSION TransmissionStopIndicator PRESENCE optional}|
+ { ID id-CG-SDTindicatorMod CRITICALITY reject EXTENSION CG-SDTindicatorMod PRESENCE optional },
+ ...
+}
+
+DRBs-ToBeReleased-Item ::= SEQUENCE {
+ dRBID DRBID,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-ToBeReleased-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBs-ToBeSetup-Item ::= SEQUENCE {
+ dRBID DRBID,
+ qoSInformation QoSInformation,
+ uLUPTNLInformation-ToBeSetup-List ULUPTNLInformation-ToBeSetup-List ,
+ rLCMode RLCMode,
+ uLConfiguration ULConfiguration OPTIONAL,
+ duplicationActivation DuplicationActivation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-ToBeSetup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-DC-Based-Duplication-Configured CRITICALITY reject EXTENSION DCBasedDuplicationConfigured PRESENCE optional }|
+ { ID id-DC-Based-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }|
+ { ID id-DLPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE mandatory }|
+ { ID id-ULPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }|
+ { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }|
+ { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional}|
+ { ID id-SDTRLCBearerConfiguration CRITICALITY ignore EXTENSION SDTRLCBearerConfiguration PRESENCE optional },
+ ...
+}
+
+
+DRBs-ToBeSetupMod-Item ::= SEQUENCE {
+ dRBID DRBID,
+ qoSInformation QoSInformation,
+ uLUPTNLInformation-ToBeSetup-List ULUPTNLInformation-ToBeSetup-List,
+ rLCMode RLCMode,
+ uLConfiguration ULConfiguration OPTIONAL,
+ duplicationActivation DuplicationActivation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRBs-ToBeSetupMod-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+DRBs-ToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-DC-Based-Duplication-Configured CRITICALITY reject EXTENSION DCBasedDuplicationConfigured PRESENCE optional }|
+ { ID id-DC-Based-Duplication-Activation CRITICALITY reject EXTENSION DuplicationActivation PRESENCE optional }|
+ { ID id-DLPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }|
+ { ID id-ULPDCPSNLength CRITICALITY ignore EXTENSION PDCPSNLength PRESENCE optional }|
+ { ID id-AdditionalPDCPDuplicationTNL-List CRITICALITY ignore EXTENSION AdditionalPDCPDuplicationTNL-List PRESENCE optional }|
+ { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional}|
+ { ID id-CG-SDTindicatorSetup CRITICALITY reject EXTENSION CG-SDTindicatorSetup PRESENCE optional },
+ ...
+}
+
+DRXCycle ::= SEQUENCE {
+ longDRXCycleLength LongDRXCycleLength,
+ shortDRXCycleLength ShortDRXCycleLength OPTIONAL,
+ shortDRXCycleTimer ShortDRXCycleTimer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DRXCycle-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRXCycle-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRX-Config ::= OCTET STRING
+
+DRXConfigurationIndicator ::= ENUMERATED{ release, ...}
+
+DRX-LongCycleStartOffset ::= INTEGER (0..10239)
+
+DSInformationList ::= SEQUENCE (SIZE(0..maxnoofDSInfo)) OF DSCP
+
+DSCP ::= BIT STRING (SIZE (6))
+
+DUtoCURRCContainer ::= OCTET STRING
+
+DUCURadioInformationType ::= CHOICE {
+ rIM DUCURIMInformation,
+ choice-extension ProtocolIE-SingleContainer { { DUCURadioInformationType-ExtIEs} }
+}
+
+DUCURadioInformationType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+DUCURIMInformation ::= SEQUENCE {
+ victimgNBSetID GNBSetID,
+ rIMRSDetectionStatus RIMRSDetectionStatus,
+ aggressorCellList AggressorCellList,
+ iE-Extensions ProtocolExtensionContainer { { DUCURIMInformation-ExtIEs} } OPTIONAL
+}
+
+DUCURIMInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DUF-Slot-Config-Item ::= CHOICE {
+ explicitFormat ExplicitFormat,
+ implicitFormat ImplicitFormat,
+ choice-extension ProtocolIE-SingleContainer { { DUF-Slot-Config-Item-ExtIEs} }
+}
+
+DUF-Slot-Config-Item-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+DUF-Slot-Config-List ::= SEQUENCE (SIZE(1..maxnoofDUFSlots)) OF DUF-Slot-Config-Item
+
+DUFSlotformatIndex ::= INTEGER(0..254)
+
+DUFTransmissionPeriodicity ::= ENUMERATED { ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10, ...}
+
+DU-RX-MT-RX ::= ENUMERATED {supported, not-supported }
+
+DU-TX-MT-TX ::= ENUMERATED {supported, not-supported }
+
+DU-RX-MT-TX ::= ENUMERATED {supported, not-supported }
+
+DU-TX-MT-RX ::= ENUMERATED {supported, not-supported }
+
+DU-RX-MT-RX-Extend ::= ENUMERATED {supported, not-supported, supported-and-FDM-required, ...}
+
+DU-TX-MT-TX-Extend ::= ENUMERATED {supported, not-supported, supported-and-FDM-required, ...}
+
+DU-RX-MT-TX-Extend ::= ENUMERATED {supported, not-supported, supported-and-FDM-required, ...}
+
+DU-TX-MT-RX-Extend ::= ENUMERATED {supported, not-supported, supported-and-FDM-required, ...}
+
+DUtoCURRCInformation ::= SEQUENCE {
+ cellGroupConfig CellGroupConfig,
+ measGapConfig MeasGapConfig OPTIONAL,
+ requestedP-MaxFR1 OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DUtoCURRCInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DUtoCURRCInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-DRX-LongCycleStartOffset CRITICALITY ignore EXTENSION DRX-LongCycleStartOffset PRESENCE optional }|
+ { ID id-SelectedBandCombinationIndex CRITICALITY ignore EXTENSION SelectedBandCombinationIndex PRESENCE optional }|
+ { ID id-SelectedFeatureSetEntryIndex CRITICALITY ignore EXTENSION SelectedFeatureSetEntryIndex PRESENCE optional }|
+ { ID id-Ph-InfoSCG CRITICALITY ignore EXTENSION Ph-InfoSCG PRESENCE optional }|
+ { ID id-RequestedBandCombinationIndex CRITICALITY ignore EXTENSION RequestedBandCombinationIndex PRESENCE optional }|
+ { ID id-RequestedFeatureSetEntryIndex CRITICALITY ignore EXTENSION RequestedFeatureSetEntryIndex PRESENCE optional }|
+ { ID id-DRX-Config CRITICALITY ignore EXTENSION DRX-Config PRESENCE optional }|
+ { ID id-PDCCH-BlindDetectionSCG CRITICALITY ignore EXTENSION PDCCH-BlindDetectionSCG PRESENCE optional }|
+ { ID id-Requested-PDCCH-BlindDetectionSCG CRITICALITY ignore EXTENSION Requested-PDCCH-BlindDetectionSCG PRESENCE optional }|
+ { ID id-Ph-InfoMCG CRITICALITY ignore EXTENSION Ph-InfoMCG PRESENCE optional }|
+ { ID id-MeasGapSharingConfig CRITICALITY ignore EXTENSION MeasGapSharingConfig PRESENCE optional }|
+ { ID id-SL-PHY-MAC-RLC-Config CRITICALITY ignore EXTENSION SL-PHY-MAC-RLC-Config PRESENCE optional }|
+ { ID id-SL-ConfigDedicatedEUTRA-Info CRITICALITY ignore EXTENSION SL-ConfigDedicatedEUTRA-Info PRESENCE optional }|
+ { ID id-RequestedP-MaxFR2 CRITICALITY ignore EXTENSION RequestedP-MaxFR2 PRESENCE optional }|
+ { ID id-SDT-MAC-PHY-CG-Config CRITICALITY ignore EXTENSION SDT-MAC-PHY-CG-Config PRESENCE optional }|
+ { ID id-MUSIM-GapConfig CRITICALITY ignore EXTENSION MUSIM-GapConfig PRESENCE optional }|
+ { ID id-SL-RLC-ChannelToAddModList CRITICALITY ignore EXTENSION SL-RLC-ChannelToAddModList PRESENCE optional }|
+ { ID id-InterFrequencyConfig-NoGap CRITICALITY ignore EXTENSION InterFrequencyConfig-NoGap PRESENCE optional }|
+ { ID id-UL-GapFR2-Config CRITICALITY ignore EXTENSION UL-GapFR2-Config PRESENCE optional }|
+ { ID id-TwoPHRModeMCG CRITICALITY ignore EXTENSION TwoPHRModeMCG PRESENCE optional }|
+ { ID id-TwoPHRModeSCG CRITICALITY ignore EXTENSION TwoPHRModeSCG PRESENCE optional }|
+ { ID id-ncd-SSB-RedCapInitialBWP-SDT CRITICALITY ignore EXTENSION Ncd-SSB-RedCapInitialBWP-SDT PRESENCE optional },
+ ...
+}
+
+DuplicationActivation ::= ENUMERATED{active,inactive,... }
+
+DuplicationIndication ::= ENUMERATED {true, ... , false }
+
+DuplicationState ::= ENUMERATED {
+ active,
+ inactive,
+ ...
+}
+
+Dynamic5QIDescriptor ::= SEQUENCE {
+ qoSPriorityLevel INTEGER (1..127),
+ packetDelayBudget PacketDelayBudget,
+ packetErrorRate PacketErrorRate,
+ fiveQI INTEGER (0..255, ...) OPTIONAL,
+ delayCritical ENUMERATED {delay-critical, non-delay-critical} OPTIONAL,
+ -- C-ifGBRflow: This IE shall be present if the GBR QoS Flow Information IE is present in the QoS Flow Level QoS Parameters IE.
+ averagingWindow AveragingWindow OPTIONAL,
+ -- C-ifGBRflow: This IE shall be present if the GBR QoS Flow Information IE is present in the QoS Flow Level QoS Parameters IE.
+ maxDataBurstVolume MaxDataBurstVolume OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Dynamic5QIDescriptor-ExtIEs } } OPTIONAL
+}
+
+Dynamic5QIDescriptor-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedPacketDelayBudget CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetDownlink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetUplink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional },
+ ...
+}
+
+DynamicPQIDescriptor ::= SEQUENCE {
+ resourceType ENUMERATED {gbr, non-gbr, delay-critical-grb, ...} OPTIONAL,
+ qoSPriorityLevel INTEGER (1..8, ...),
+ packetDelayBudget PacketDelayBudget,
+ packetErrorRate PacketErrorRate,
+ averagingWindow AveragingWindow OPTIONAL,
+ -- C-ifGBRflow: This IE shall be present if the GBR QoS Flow Information IE is present in the QoS Flow Level QoS Parameters IE.
+ maxDataBurstVolume MaxDataBurstVolume OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DynamicPQIDescriptor-ExtIEs } } OPTIONAL
+}
+
+DynamicPQIDescriptor-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- E
+
+
+E-CID-MeasurementQuantities ::= SEQUENCE (SIZE (1.. maxnoofMeasE-CID)) OF ProtocolIE-SingleContainer { {E-CID-MeasurementQuantities-ItemIEs} }
+
+E-CID-MeasurementQuantities-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-E-CID-MeasurementQuantities-Item CRITICALITY reject TYPE E-CID-MeasurementQuantities-Item PRESENCE mandatory}
+}
+
+E-CID-MeasurementQuantities-Item ::= SEQUENCE {
+ e-CIDmeasurementQuantitiesValue E-CID-MeasurementQuantitiesValue,
+ iE-Extensions ProtocolExtensionContainer { { E-CID-MeasurementQuantitiesValue-ExtIEs} } OPTIONAL
+}
+
+E-CID-MeasurementQuantitiesValue-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-CID-MeasurementQuantitiesValue ::= ENUMERATED {
+ default,
+ angleOfArrivalNR,
+ ... ,
+ timingAdvanceNR
+}
+
+E-CID-MeasurementResult ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates OPTIONAL,
+ measuredResults-List E-CID-MeasuredResults-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-CID-MeasurementResult-ExtIEs} } OPTIONAL
+}
+
+E-CID-MeasurementResult-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-CID-MeasuredResults-List ::= SEQUENCE (SIZE(1..maxnoofMeasE-CID)) OF E-CID-MeasuredResults-Item
+
+E-CID-MeasuredResults-Item ::= SEQUENCE {
+ e-CID-MeasuredResults-Value E-CID-MeasuredResults-Value,
+ iE-Extensions ProtocolExtensionContainer {{ E-CID-MeasuredResults-Item-ExtIEs }} OPTIONAL
+}
+
+E-CID-MeasuredResults-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-CID-MeasuredResults-Value ::= CHOICE {
+ valueAngleofArrivalNR UL-AoA,
+ choice-extension ProtocolIE-SingleContainer { { E-CID-MeasuredResults-Value-ExtIEs} }
+}
+
+E-CID-MeasuredResults-Value-ExtIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-NR-TADV CRITICALITY ignore TYPE NR-TADV PRESENCE mandatory },
+ ...
+}
+
+E-CID-ReportCharacteristics ::= ENUMERATED {
+ onDemand,
+ periodic,
+ ...
+}
+
+EgressBHRLCCHList ::= SEQUENCE (SIZE(1..maxnoofEgressLinks)) OF EgressBHRLCCHItem
+
+EgressBHRLCCHItem ::= SEQUENCE {
+ nextHopBAPAddress BAPAddress,
+ bHRLCChannelID BHRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer {{EgressBHRLCCHItemExtIEs }} OPTIONAL
+}
+
+EgressBHRLCCHItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EgressNonF1terminatingTopologyIndicator ::= ENUMERATED {true, ...}
+
+Endpoint-IP-address-and-port ::=SEQUENCE {
+ endpointIPAddress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { Endpoint-IP-address-and-port-ExtIEs} } OPTIONAL
+}
+
+Endpoint-IP-address-and-port-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-portNumber CRITICALITY reject EXTENSION PortNumber PRESENCE optional},
+ ...
+}
+
+EnergyDetectionThreshold ::= INTEGER (-100..-50, ...)
+
+ExtendedAvailablePLMN-List ::= SEQUENCE (SIZE(1..maxnoofExtendedBPLMNs)) OF ExtendedAvailablePLMN-Item
+
+ExtendedAvailablePLMN-Item ::= SEQUENCE {
+ pLMNIdentity PLMN-Identity,
+ iE-Extensions ProtocolExtensionContainer { { ExtendedAvailablePLMN-Item-ExtIEs} } OPTIONAL
+}
+
+ExplicitFormat ::= SEQUENCE {
+ permutation Permutation,
+ noofDownlinkSymbols NoofDownlinkSymbols OPTIONAL,
+ noofUplinkSymbols NoofUplinkSymbols OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ExplicitFormat-ExtIEs} } OPTIONAL
+}
+
+ExplicitFormat-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExtendedAvailablePLMN-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExtendedServedPLMNs-List ::= SEQUENCE (SIZE(1.. maxnoofExtendedBPLMNs)) OF ExtendedServedPLMNs-Item
+
+ExtendedServedPLMNs-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ tAISliceSupportList SliceSupportList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ExtendedServedPLMNs-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+ExtendedServedPLMNs-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NPNSupportInfo CRITICALITY reject EXTENSION NPNSupportInfo PRESENCE optional }|
+ { ID id-ExtendedTAISliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional }|
+ { ID id-TAINSAGSupportList CRITICALITY ignore EXTENSION NSAGSupportList PRESENCE optional},
+ ...
+}
+
+ExtendedSliceSupportList ::= SEQUENCE (SIZE(1.. maxnoofExtSliceItems)) OF SliceSupportItem
+
+ExtendedUEIdentityIndexValue ::= BIT STRING (SIZE(16))
+
+EUTRACells-List ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF EUTRACells-List-item
+
+EUTRACells-List-item ::= SEQUENCE {
+ eUTRA-Cell-ID EUTRA-Cell-ID,
+ served-EUTRA-Cells-Information Served-EUTRA-Cells-Information,
+ iE-Extensions ProtocolExtensionContainer { { EUTRACells-List-itemExtIEs } } OPTIONAL
+}
+
+EUTRACells-List-itemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+EUTRA-Cell-ID ::= BIT STRING (SIZE(28))
+
+EUTRA-Coex-FDD-Info ::= SEQUENCE {
+ uL-EARFCN ExtendedEARFCN OPTIONAL,
+ dL-EARFCN ExtendedEARFCN,
+ uL-Transmission-Bandwidth EUTRA-Transmission-Bandwidth OPTIONAL,
+ dL-Transmission-Bandwidth EUTRA-Transmission-Bandwidth,
+ iE-Extensions ProtocolExtensionContainer { {EUTRA-Coex-FDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRA-Coex-FDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRA-Coex-Mode-Info ::= CHOICE {
+ fDD EUTRA-Coex-FDD-Info,
+ tDD EUTRA-Coex-TDD-Info,
+ ...
+}
+
+EUTRA-Coex-TDD-Info ::= SEQUENCE {
+ eARFCN ExtendedEARFCN,
+ transmission-Bandwidth EUTRA-Transmission-Bandwidth,
+ subframeAssignment EUTRA-SubframeAssignment,
+ specialSubframe-Info EUTRA-SpecialSubframe-Info,
+ iE-Extensions ProtocolExtensionContainer { {EUTRA-Coex-TDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+EUTRA-Coex-TDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+EUTRA-CyclicPrefixDL ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+EUTRA-CyclicPrefixUL ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+EUTRA-PRACH-Configuration ::= SEQUENCE {
+ rootSequenceIndex INTEGER (0..837),
+ zeroCorrelationIndex INTEGER (0..15),
+ highSpeedFlag BOOLEAN,
+ prach-FreqOffset INTEGER (0..94),
+ prach-ConfigIndex INTEGER (0..63) OPTIONAL,
+ -- C-ifTDD: This IE shall be present if the EUTRA-Mode-Info IE in the Resource Coordination E-UTRA Cell Information IE is set to the value "TDD"
+ iE-Extensions ProtocolExtensionContainer { {EUTRA-PRACH-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRA-PRACH-Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+EUTRA-SpecialSubframe-Info ::= SEQUENCE {
+ specialSubframePatterns EUTRA-SpecialSubframePatterns,
+ cyclicPrefixDL EUTRA-CyclicPrefixDL,
+ cyclicPrefixUL EUTRA-CyclicPrefixUL,
+ iE-Extensions ProtocolExtensionContainer { { EUTRA-SpecialSubframe-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRA-SpecialSubframe-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRA-SpecialSubframePatterns ::= ENUMERATED {
+ ssp0,
+ ssp1,
+ ssp2,
+ ssp3,
+ ssp4,
+ ssp5,
+ ssp6,
+ ssp7,
+ ssp8,
+ ssp9,
+ ssp10,
+ ...
+}
+
+EUTRA-SubframeAssignment ::= ENUMERATED {
+ sa0,
+ sa1,
+ sa2,
+ sa3,
+ sa4,
+ sa5,
+ sa6,
+ ...
+}
+
+EUTRA-Transmission-Bandwidth ::= ENUMERATED {
+ bw6,
+ bw15,
+ bw25,
+ bw50,
+ bw75,
+ bw100,
+ ...
+}
+
+EUTRANQoS ::= SEQUENCE {
+ qCI QCI,
+ allocationAndRetentionPriority AllocationAndRetentionPriority,
+ gbrQosInformation GBR-QosInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EUTRANQoS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRANQoS-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+{ ID id-ENBDLTNLAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
+ ...
+}
+
+ExecuteDuplication ::= ENUMERATED{true,...}
+
+ExtendedEARFCN ::= INTEGER (0..262143)
+
+EUTRA-Mode-Info ::= CHOICE {
+ eUTRAFDD EUTRA-FDD-Info,
+ eUTRATDD EUTRA-TDD-Info,
+ choice-extension ProtocolIE-SingleContainer { { EUTRA-Mode-Info-ExtIEs} }
+}
+
+EUTRA-Mode-Info-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+EUTRA-NR-CellResourceCoordinationReq-Container ::= OCTET STRING
+
+EUTRA-NR-CellResourceCoordinationReqAck-Container ::= OCTET STRING
+
+EUTRA-FDD-Info ::= SEQUENCE {
+ uL-offsetToPointA OffsetToPointA,
+ dL-offsetToPointA OffsetToPointA,
+ iE-Extensions ProtocolExtensionContainer { {EUTRA-FDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRA-FDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRA-TDD-Info ::= SEQUENCE {
+ offsetToPointA OffsetToPointA,
+ iE-Extensions ProtocolExtensionContainer { {EUTRA-TDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRA-TDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EventType ::= ENUMERATED {
+ on-demand,
+ periodic,
+ stop,
+ ...
+}
+
+ExtendedPacketDelayBudget ::= INTEGER (1..65535, ..., 65536..109999)
+
+Expected-UL-AoA ::= SEQUENCE {
+ expected-Azimuth-AoA Expected-Azimuth-AoA,
+ expected-Zenith-AoA Expected-Zenith-AoA OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { Expected-UL-AoA-ExtIEs } } OPTIONAL,
+ ...
+}
+Expected-UL-AoA-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Expected-ZoA-only ::= SEQUENCE {
+ expected-ZoA-only Expected-Zenith-AoA,
+ iE-extensions ProtocolExtensionContainer { { Expected-ZoA-only-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Expected-ZoA-only-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Expected-Azimuth-AoA ::= SEQUENCE {
+ expected-Azimuth-AoA-value Expected-Value-AoA,
+ expected-Azimuth-AoA-uncertainty Uncertainty-range-AoA,
+ iE-Extensions ProtocolExtensionContainer { { Expected-Azimuth-AoA-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Expected-Azimuth-AoA-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+Expected-Zenith-AoA ::= SEQUENCE {
+ expected-Zenith-AoA-value Expected-Value-ZoA,
+ expected-Zenith-AoA-uncertainty Uncertainty-range-ZoA,
+ iE-Extensions ProtocolExtensionContainer { { Expected-Zenith-AoA-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Expected-Zenith-AoA-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Expected-Value-AoA ::= INTEGER (0..3599)
+
+Expected-Value-ZoA ::= INTEGER (0..1799)
+
+-- F
+
+F1CPathNSA ::= ENUMERATED {lte, nr, both}
+
+F1CTransferPath ::= SEQUENCE {
+ f1CPathNSA F1CPathNSA,
+ iE-Extensions ProtocolExtensionContainer { { F1CTransferPath-ExtIEs} } OPTIONAL,
+ ...
+}
+
+F1CTransferPath-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+F1CPathNRDC ::= ENUMERATED {mcg, scg, both}
+
+F1CTransferPathNRDC ::= SEQUENCE {
+ f1CPathNRDC F1CPathNRDC,
+ iE-Extensions ProtocolExtensionContainer { { F1CTransferPathNRDC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+F1CTransferPathNRDC-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+FDD-Info ::= SEQUENCE {
+ uL-NRFreqInfo NRFreqInfo,
+ dL-NRFreqInfo NRFreqInfo,
+ uL-Transmission-Bandwidth Transmission-Bandwidth,
+ dL-Transmission-Bandwidth Transmission-Bandwidth,
+ iE-Extensions ProtocolExtensionContainer { {FDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ULCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }|
+ { ID id-DLCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional },
+ ...
+}
+
+FDD-InfoRel16 ::= SEQUENCE {
+ uL-FreqInfo FreqInfoRel16 OPTIONAL,
+ sUL-FreqInfo FreqInfoRel16 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {FDD-InfoRel16-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-InfoRel16-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveG-ProSeAuthorized ::= SEQUENCE {
+ fiveG-proSeDirectDiscovery FiveG-ProSeDirectDiscovery OPTIONAL,
+ fiveG-proSeDirectCommunication FiveG-ProSeDirectCommunication OPTIONAL,
+ fiveG-ProSeLayer2UEtoNetworkRelay FiveG-ProSeLayer2UEtoNetworkRelay OPTIONAL,
+ fiveG-ProSeLayer3UEtoNetworkRelay FiveG-ProSeLayer3UEtoNetworkRelay OPTIONAL,
+ fiveG-ProSeLayer2RemoteUE FiveG-ProSeLayer2RemoteUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {FiveG-ProSeAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveG-ProSeAuthorized-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveG-ProSeDirectDiscovery ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveG-ProSeDirectCommunication ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveG-ProSeLayer2UEtoNetworkRelay ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveG-ProSeLayer3UEtoNetworkRelay ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveG-ProSeLayer2RemoteUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+Flows-Mapped-To-DRB-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF Flows-Mapped-To-DRB-Item
+
+Flows-Mapped-To-DRB-Item ::= SEQUENCE {
+ qoSFlowIdentifier QoSFlowIdentifier,
+ qoSFlowLevelQoSParameters QoSFlowLevelQoSParameters,
+ iE-Extensions ProtocolExtensionContainer { { Flows-Mapped-To-DRB-ItemExtIEs} } OPTIONAL
+}
+
+Flows-Mapped-To-DRB-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-QoSFlowMappingIndication CRITICALITY ignore EXTENSION QoSFlowMappingIndication PRESENCE optional}|
+ {ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional},
+ ...
+}
+
+FR1-Bandwidth ::= ENUMERATED {bw5, bw10, bw20, bw40, bw50, bw80, bw100, ...}
+
+FR2-Bandwidth ::= ENUMERATED {bw50, bw100, bw200, bw400, ..., bw800, bw1600, bw2000}
+
+FreqBandNrItem ::= SEQUENCE {
+ freqBandIndicatorNr INTEGER (1..1024,...),
+ supportedSULBandList SEQUENCE (SIZE(0..maxnoofNrCellBands)) OF SupportedSULFreqBandItem,
+ iE-Extensions ProtocolExtensionContainer { {FreqBandNrItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FreqBandNrItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FreqDomainLength ::= CHOICE {
+ l839 L839Info,
+ l139 L139Info,
+ choice-extension ProtocolIE-SingleContainer { {FreqDomainLength-ExtIEs} }
+}
+
+FreqDomainLength-ExtIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-L571Info CRITICALITY reject TYPE L571Info PRESENCE mandatory}|
+ { ID id-L1151Info CRITICALITY reject TYPE L1151Info PRESENCE mandatory},
+ ...
+}
+
+FreqInfoRel16 ::= SEQUENCE {
+ nRARFCN INTEGER (0..maxNRARFCN) OPTIONAL,
+ frequencyShift7p5khz FrequencyShift7p5khz OPTIONAL,
+ carrierList NRCarrierList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FreqInfoRel16-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FreqInfoRel16-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FrequencyShift7p5khz ::= ENUMERATED {false, true, ...}
+
+Frequency-Domain-HSNA-Configuration-List ::= SEQUENCE (SIZE(1..maxnoofRBsetsPerCell)) OF Frequency-Domain-HSNA-Configuration-Item
+
+Frequency-Domain-HSNA-Configuration-Item::= SEQUENCE {
+ rBSetIndex INTEGER (0..maxnoofRBsetsPerCell-1, ...),
+ frequency-Domain-HSNA-Slot-Configuration-List Frequency-Domain-HSNA-Slot-Configuration-List,
+ iE-Extensions ProtocolExtensionContainer { { Frequency-Domain-HSNA-Configuration-Item-ExtIEs} } OPTIONAL
+}
+
+
+Frequency-Domain-HSNA-Configuration-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Frequency-Domain-HSNA-Slot-Configuration-List ::= SEQUENCE (SIZE(1..maxnoofHSNASlots)) OF Frequency-Domain-HSNA-Slot-Configuration-Item
+
+Frequency-Domain-HSNA-Slot-Configuration-Item::= SEQUENCE {
+ slotIndex INTEGER (0..5119) OPTIONAL,
+ hSNADownlink HSNADownlink OPTIONAL,
+ hSNAUplink HSNAUplink OPTIONAL,
+ hSNAFlexible HSNAFlexible OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Frequency-Domain-HSNA-Slot-Configuration-Item-ExtIEs } } OPTIONAL
+}
+
+Frequency-Domain-HSNA-Slot-Configuration-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FullConfiguration ::= ENUMERATED {full, ...}
+
+FlowsMappedToSLDRB-List ::= SEQUENCE (SIZE(1.. maxnoofPC5QoSFlows)) OF FlowsMappedToSLDRB-Item
+
+FlowsMappedToSLDRB-Item ::= SEQUENCE {
+ pc5QoSFlowIdentifier PC5QoSFlowIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {FlowsMappedToSLDRB-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FlowsMappedToSLDRB-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- G
+
+
+GBR-QosInformation ::= SEQUENCE {
+ e-RAB-MaximumBitrateDL BitRate,
+ e-RAB-MaximumBitrateUL BitRate,
+ e-RAB-GuaranteedBitrateDL BitRate,
+ e-RAB-GuaranteedBitrateUL BitRate,
+ iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBR-QosInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GBR-QoSFlowInformation::= SEQUENCE {
+ maxFlowBitRateDownlink BitRate,
+ maxFlowBitRateUplink BitRate,
+ guaranteedFlowBitRateDownlink BitRate,
+ guaranteedFlowBitRateUplink BitRate,
+ maxPacketLossRateDownlink MaxPacketLossRate OPTIONAL,
+ maxPacketLossRateUplink MaxPacketLossRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GBR-QosFlowInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBR-QosFlowInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-AlternativeQoSParaSetList CRITICALITY ignore EXTENSION AlternativeQoSParaSetList PRESENCE optional },
+ ...
+}
+
+CG-Config ::= OCTET STRING
+
+GeographicalCoordinates ::= SEQUENCE {
+ tRPPositionDefinitionType TRPPositionDefinitionType,
+ dLPRSResourceCoordinates DLPRSResourceCoordinates OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GeographicalCoordinates-ExtIEs } } OPTIONAL
+}
+
+GeographicalCoordinates-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ARPLocationInfo CRITICALITY ignore EXTENSION ARPLocationInformation PRESENCE optional},
+ ...
+}
+
+GNB-CU-MBS-F1AP-ID ::= INTEGER (0..4294967295)
+
+GNBCUMeasurementID ::= INTEGER (0.. 4095, ...)
+
+GNBDUMeasurementID ::= INTEGER (0.. 4095, ...)
+
+GNB-CUSystemInformation::= SEQUENCE {
+ sibtypetobeupdatedlist SEQUENCE (SIZE(1.. maxnoofSIBTypes)) OF SibtypetobeupdatedListItem,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CUSystemInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GNB-CUSystemInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-systemInformationAreaID CRITICALITY ignore EXTENSION SystemInformationAreaID PRESENCE optional},
+ ...
+}
+
+GNB-CU-TNL-Association-Setup-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TransportLayerAddress ,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-TNL-Association-Setup-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-TNL-Association-Setup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-TNL-Association-Failed-To-Setup-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TransportLayerAddress ,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-TNL-Association-Failed-To-Setup-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-TNL-Association-Failed-To-Setup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GNB-CU-TNL-Association-To-Add-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TransportLayerAddress ,
+ tNLAssociationUsage TNLAssociationUsage,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-TNL-Association-To-Add-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-TNL-Association-To-Add-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-TNL-Association-To-Remove-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TransportLayerAddress ,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-TNL-Association-To-Remove-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-TNL-Association-To-Remove-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-TNLAssociationTransportLayerAddressgNBDU CRITICALITY reject EXTENSION CP-TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+
+GNB-CU-TNL-Association-To-Update-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TransportLayerAddress ,
+ tNLAssociationUsage TNLAssociationUsage OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-CU-TNL-Association-To-Update-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-CU-TNL-Association-To-Update-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-UE-F1AP-ID ::= INTEGER (0..4294967295)
+
+GNB-DU-Cell-Resource-Configuration ::= SEQUENCE {
+ subcarrierSpacing SubcarrierSpacing,
+ dUFTransmissionPeriodicity DUFTransmissionPeriodicity OPTIONAL,
+ dUF-Slot-Config-List DUF-Slot-Config-List OPTIONAL,
+ hSNATransmissionPeriodicity HSNATransmissionPeriodicity,
+ hsNSASlotConfigList HSNASlotConfigList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-DU-Cell-Resource-Configuration-ExtIEs } } OPTIONAL
+}
+
+GNB-DU-Cell-Resource-Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-rBSetConfiguration CRITICALITY reject EXTENSION RBSetConfiguration PRESENCE optional}|
+ {ID id-frequency-Domain-HSNA-Configuration-List CRITICALITY reject EXTENSION Frequency-Domain-HSNA-Configuration-List PRESENCE optional}|
+ {ID id-child-IAB-Nodes-NA-Resource-List CRITICALITY reject EXTENSION Child-IAB-Nodes-NA-Resource-List PRESENCE optional}|
+ {ID id-Parent-IAB-Nodes-NA-Resource-Configuration-List CRITICALITY reject EXTENSION Parent-IAB-Nodes-NA-Resource-Configuration-List PRESENCE optional},
+ ...
+}
+
+GNB-DU-MBS-F1AP-ID ::= INTEGER (0..4294967295)
+
+
+GNB-DU-UE-F1AP-ID ::= INTEGER (0..4294967295)
+
+GNB-DU-ID ::= INTEGER (0..68719476735)
+
+GNB-CU-Name ::= PrintableString(SIZE(1..150,...))
+
+GNB-DU-Name ::= PrintableString(SIZE(1..150,...))
+
+Extended-GNB-CU-Name ::= SEQUENCE {
+ gNB-CU-NameVisibleString GNB-CU-NameVisibleString OPTIONAL,
+ gNB-CU-NameUTF8String GNB-CU-NameUTF8String OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Extended-GNB-CU-Name-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Extended-GNB-CU-Name-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-CU-NameVisibleString ::= VisibleString(SIZE(1..150,...))
+
+GNB-CU-NameUTF8String ::= UTF8String(SIZE(1..150,...))
+
+Extended-GNB-DU-Name ::= SEQUENCE {
+ gNB-DU-NameVisibleString GNB-DU-NameVisibleString OPTIONAL,
+ gNB-DU-NameUTF8String GNB-DU-NameUTF8String OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Extended-GNB-DU-Name-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Extended-GNB-DU-Name-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-DU-NameVisibleString ::= VisibleString(SIZE(1..150,...))
+
+GNB-DU-NameUTF8String ::= UTF8String(SIZE(1..150,...))
+
+
+GNB-DU-Served-Cells-Item ::= SEQUENCE {
+ served-Cell-Information Served-Cell-Information,
+ gNB-DU-System-Information GNB-DU-System-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-DU-Served-Cells-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+GNB-DU-Served-Cells-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-DU-System-Information ::= SEQUENCE {
+ mIB-message MIB-message,
+ sIB1-message SIB1-message,
+ iE-Extensions ProtocolExtensionContainer { { GNB-DU-System-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GNB-DU-System-Information-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SIB12-message CRITICALITY ignore EXTENSION SIB12-message PRESENCE optional}|
+ { ID id-SIB13-message CRITICALITY ignore EXTENSION SIB13-message PRESENCE optional}|
+ { ID id-SIB14-message CRITICALITY ignore EXTENSION SIB14-message PRESENCE optional}|
+ { ID id-SIB10-message CRITICALITY ignore EXTENSION SIB10-message PRESENCE optional}|
+ { ID id-SIB17-message CRITICALITY ignore EXTENSION SIB17-message PRESENCE optional}|
+ { ID id-SIB20-message CRITICALITY ignore EXTENSION SIB20-message PRESENCE optional}|
+ { ID id-SIB15-message CRITICALITY ignore EXTENSION SIB15-message PRESENCE optional},
+ ...
+}
+
+GNB-DUConfigurationQuery ::= ENUMERATED {true, ...}
+
+GNBDUOverloadInformation ::= ENUMERATED {overloaded, not-overloaded}
+
+GNB-DU-TNL-Association-To-Remove-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CP-TransportLayerAddress ,
+ tNLAssociationTransportLayerAddressgNBCU CP-TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-DU-TNL-Association-To-Remove-Item-ExtIEs} } OPTIONAL
+}
+
+GNB-DU-TNL-Association-To-Remove-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNBDUUESliceMaximumBitRateList::= SEQUENCE (SIZE(1.. maxnoofSMBRValues)) OF GNBDUUESliceMaximumBitRateItem
+
+GNBDUUESliceMaximumBitRateItem::= SEQUENCE {
+ sNSSAI SNSSAI,
+ uESliceMaximumBitRateUL BitRate,
+ iE-Extensions ProtocolExtensionContainer { { GNBDUUESliceMaximumBitRateItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GNBDUUESliceMaximumBitRateItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-RxTxTimeDiff ::= SEQUENCE {
+ rxTxTimeDiff GNBRxTxTimeDiffMeas,
+ additionalPath-List AdditionalPath-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-RxTxTimeDiff-ExtIEs} } OPTIONAL
+}
+
+GNB-RxTxTimeDiff-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedAdditionalPathList CRITICALITY ignore EXTENSION ExtendedAdditionalPathList PRESENCE optional}|
+ { ID id-TRPTEGInformation CRITICALITY ignore EXTENSION TRPTEGInformation PRESENCE optional },
+ ...
+}
+
+GNBRxTxTimeDiffMeas ::= CHOICE {
+ k0 INTEGER (0.. 1970049),
+ k1 INTEGER (0.. 985025),
+ k2 INTEGER (0.. 492513),
+ k3 INTEGER (0.. 246257),
+ k4 INTEGER (0.. 123129),
+ k5 INTEGER (0.. 61565),
+ choice-extension ProtocolIE-SingleContainer { { GNBRxTxTimeDiffMeas-ExtIEs } }
+}
+
+GNBRxTxTimeDiffMeas-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+GNBSetID ::= BIT STRING (SIZE(22))
+
+GTP-TEID ::= OCTET STRING (SIZE (4))
+
+GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofGTPTLAs)) OF GTPTLA-Item
+
+
+GTPTLA-Item ::= SEQUENCE {
+ gTPTransportLayerAddress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { GTPTLA-Item-ExtIEs } } OPTIONAL
+}
+
+GTPTLA-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GTPTunnel ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { { GTPTunnel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GTPTunnel-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- H
+
+HandoverPreparationInformation ::= OCTET STRING
+
+HardwareLoadIndicator ::= SEQUENCE {
+ dLHardwareLoadIndicator INTEGER (0..100, ...),
+ uLHardwareLoadIndicator INTEGER (0..100, ...),
+ iE-Extensions ProtocolExtensionContainer { { HardwareLoadIndicator-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HardwareLoadIndicator-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSNASlotConfigList ::= SEQUENCE (SIZE(1..maxnoofHSNASlots)) OF HSNASlotConfigItem
+
+HSNASlotConfigItem ::= SEQUENCE {
+ hSNADownlink HSNADownlink OPTIONAL,
+ hSNAUplink HSNAUplink OPTIONAL,
+ hSNAFlexible HSNAFlexible OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSNASlotConfigItem-ExtIEs } } OPTIONAL
+}
+
+HSNASlotConfigItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+HSNADownlink ::= ENUMERATED { hard, soft, notavailable }
+
+HSNAFlexible ::= ENUMERATED { hard, soft, notavailable }
+
+HSNAUplink ::= ENUMERATED { hard, soft, notavailable }
+
+HSNATransmissionPeriodicity ::= ENUMERATED { ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10, ms20, ms40, ms80, ms160, ...}
+
+HashedUEIdentityIndexValue ::= BIT STRING (SIZE(13, ...))
+
+
+-- I
+
+IAB-Barred ::= ENUMERATED {barred, not-barred, ...}
+
+IABConditionalRRCMessageDeliveryIndication ::= ENUMERATED {true, ...}
+
+IABCongestionIndication ::= SEQUENCE {
+ iAB-Congestion-Indication-List IAB-Congestion-Indication-List,
+ iE-Extensions ProtocolExtensionContainer { { IAB-Congestion-Indication-List-ExtIEs } } OPTIONAL
+}
+
+IAB-Congestion-Indication-List-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-Congestion-Indication-List ::= SEQUENCE (SIZE(1..maxnoofIABCongInd)) OF IAB-Congestion-Indication-Item
+
+IAB-Congestion-Indication-Item ::= SEQUENCE {
+ childNodeIdentifier BAPAddress,
+ bHRLCCHList BHRLCCHList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IAB-Congestion-Indication-ItemExtIEs } } OPTIONAL
+}
+
+IAB-Congestion-Indication-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+IAB-Info-IAB-donor-CU ::= SEQUENCE{
+ iAB-STC-Info IAB-STC-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IAB-Info-IAB-donor-CU-ExtIEs } } OPTIONAL
+}
+
+IAB-Info-IAB-donor-CU-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-Info-IAB-DU ::= SEQUENCE{
+ multiplexingInfo MultiplexingInfo OPTIONAL,
+ iAB-STC-Info IAB-STC-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IAB-Info-IAB-DU-ExtIEs } } OPTIONAL
+}
+
+IAB-Info-IAB-DU-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-MT-Cell-List ::= SEQUENCE (SIZE(1..maxnoofServingCells)) OF IAB-MT-Cell-List-Item
+
+IAB-MT-Cell-List-Item ::= SEQUENCE {
+ nRCellIdentity NRCellIdentity,
+ dU-RX-MT-RX DU-RX-MT-RX,
+ dU-TX-MT-TX DU-TX-MT-TX,
+ dU-RX-MT-TX DU-RX-MT-TX,
+ dU-TX-MT-RX DU-TX-MT-RX,
+ iE-Extensions ProtocolExtensionContainer { { IAB-MT-Cell-List-Item-ExtIEs } } OPTIONAL
+}
+
+IAB-MT-Cell-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-DU-RX-MT-RX-Extend CRITICALITY ignore EXTENSION DU-RX-MT-RX-Extend PRESENCE optional }|
+ { ID id-DU-TX-MT-TX-Extend CRITICALITY ignore EXTENSION DU-TX-MT-TX-Extend PRESENCE optional }|
+ { ID id-DU-RX-MT-TX-Extend CRITICALITY ignore EXTENSION DU-RX-MT-TX-Extend PRESENCE optional }|
+ { ID id-DU-TX-MT-RX-Extend CRITICALITY ignore EXTENSION DU-TX-MT-RX-Extend PRESENCE optional },
+ ...
+}
+
+
+
+IAB-MT-Cell-NA-Resource-Configuration-Mode-Info ::= CHOICE {
+ fDD IAB-MT-Cell-NA-Resource-Configuration-FDD-Info,
+ tDD IAB-MT-Cell-NA-Resource-Configuration-TDD-Info,
+ choice-extension ProtocolIE-SingleContainer { { IAB-MT-Cell-NA-Resource-Configuration-Mode-Info-ExtIEs} }
+}
+
+IAB-MT-Cell-NA-Resource-Configuration-Mode-Info-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+IAB-MT-Cell-NA-Resource-Configuration-FDD-Info ::= SEQUENCE {
+ gNB-DU-Cell-NA-Resource-Configuration-FDD-UL GNB-DU-Cell-Resource-Configuration,
+ gNB-DU-Cell-NA-Resource-Configuration-FDD-DL GNB-DU-Cell-Resource-Configuration,
+ uL-FreqInfo NRFreqInfo OPTIONAL,
+ uL-Transmission-Bandwidth Transmission-Bandwidth OPTIONAL,
+ uL-NR-Carrier-List NRCarrierList OPTIONAL,
+ dL-FreqInfo NRFreqInfo OPTIONAL,
+ dL-Transmission-Bandwidth Transmission-Bandwidth OPTIONAL,
+ dL-NR-Carrier-List NRCarrierList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {IAB-MT-Cell-NA-Resource-Configuration-FDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IAB-MT-Cell-NA-Resource-Configuration-FDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-MT-Cell-NA-Resource-Configuration-TDD-Info ::= SEQUENCE {
+ gNB-DU-Cell-NA-Resourc-Configuration-TDD GNB-DU-Cell-Resource-Configuration,
+ nRFreqInfo NRFreqInfo OPTIONAL,
+ transmission-Bandwidth Transmission-Bandwidth OPTIONAL,
+ nR-Carrier-List NRCarrierList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {IAB-MT-Cell-NA-Resource-Configuration-TDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IAB-MT-Cell-NA-Resource-Configuration-TDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-STC-Info ::= SEQUENCE{
+ iAB-STC-Info-List IAB-STC-Info-List,
+ iE-Extensions ProtocolExtensionContainer { { IAB-STC-Info-ExtIEs } } OPTIONAL
+}
+
+IAB-STC-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-STC-Info-List ::= SEQUENCE (SIZE(1..maxnoofIABSTCInfo)) OF IAB-STC-Info-Item
+
+IAB-STC-Info-Item::= SEQUENCE {
+ sSB-freqInfo SSB-freqInfo,
+ sSB-subcarrierSpacing SSB-subcarrierSpacing,
+ sSB-transmissionPeriodicity SSB-transmissionPeriodicity,
+ sSB-transmissionTimingOffset SSB-transmissionTimingOffset,
+ sSB-transmissionBitmap SSB-transmissionBitmap,
+ iE-Extensions ProtocolExtensionContainer { { IAB-STC-Info-Item-ExtIEs } } OPTIONAL
+}
+
+IAB-STC-Info-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-Allocated-TNL-Address-Item ::= SEQUENCE {
+ iABTNLAddress IABTNLAddress,
+ iABTNLAddressUsage IABTNLAddressUsage OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IAB-Allocated-TNL-Address-Item-ExtIEs } } OPTIONAL
+}
+
+IAB-Allocated-TNL-Address-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-DU-Cell-Resource-Configuration-Mode-Info ::= CHOICE {
+ fDD IAB-DU-Cell-Resource-Configuration-FDD-Info,
+ tDD IAB-DU-Cell-Resource-Configuration-TDD-Info,
+ choice-extension ProtocolIE-SingleContainer { { IAB-DU-Cell-Resource-Configuration-Mode-Info-ExtIEs} }
+}
+
+IAB-DU-Cell-Resource-Configuration-Mode-Info-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+IAB-DU-Cell-Resource-Configuration-FDD-Info ::= SEQUENCE {
+ gNB-DU-Cell-Resource-Configuration-FDD-UL GNB-DU-Cell-Resource-Configuration,
+ gNB-DU-Cell-Resource-Configuration-FDD-DL GNB-DU-Cell-Resource-Configuration,
+ iE-Extensions ProtocolExtensionContainer { {IAB-DU-Cell-Resource-Configuration-FDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IAB-DU-Cell-Resource-Configuration-FDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-uL-FreqInfo CRITICALITY reject EXTENSION NRFreqInfo PRESENCE optional}|
+ {ID id-uL-Transmission-Bandwidth CRITICALITY reject EXTENSION Transmission-Bandwidth PRESENCE optional}|
+ {ID id-uL-NR-Carrier-List CRITICALITY reject EXTENSION NRCarrierList PRESENCE optional}|
+ {ID id-dL-FreqInfo CRITICALITY reject EXTENSION NRFreqInfo PRESENCE optional}|
+ {ID id-dL-Transmission-Bandwidth CRITICALITY reject EXTENSION Transmission-Bandwidth PRESENCE optional}|
+ {ID id-dL-NR-Carrier-List CRITICALITY reject EXTENSION NRCarrierList PRESENCE optional},
+ ...
+}
+
+IAB-DU-Cell-Resource-Configuration-TDD-Info ::= SEQUENCE {
+ gNB-DU-Cell-Resourc-Configuration-TDD GNB-DU-Cell-Resource-Configuration,
+ iE-Extensions ProtocolExtensionContainer { {IAB-DU-Cell-Resource-Configuration-TDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IAB-DU-Cell-Resource-Configuration-TDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-nRFreqInfo CRITICALITY reject EXTENSION NRFreqInfo PRESENCE optional}|
+ {ID id-transmission-Bandwidth CRITICALITY reject EXTENSION Transmission-Bandwidth PRESENCE optional}|
+ {ID id-nR-Carrier-List CRITICALITY reject EXTENSION NRCarrierList PRESENCE optional},
+ ...
+}
+
+IABIPv6RequestType ::= CHOICE {
+ iPv6Address IABTNLAddressesRequested,
+ iPv6Prefix IABTNLAddressesRequested,
+ choice-extension ProtocolIE-SingleContainer { { IABIPv6RequestType-ExtIEs} }
+}
+
+IABIPv6RequestType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+IABTNLAddress ::= CHOICE {
+ iPv4Address BIT STRING (SIZE(32)),
+ iPv6Address BIT STRING (SIZE(128)),
+ iPv6Prefix BIT STRING (SIZE(64)),
+ choice-extension ProtocolIE-SingleContainer { { IABTNLAddress-ExtIEs} }
+}
+
+IABTNLAddress-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+IABTNLAddressesRequested ::= SEQUENCE {
+ tNLAddressesOrPrefixesRequestedAllTraffic INTEGER (1..256) OPTIONAL,
+ tNLAddressesOrPrefixesRequestedF1-C INTEGER (1..256) OPTIONAL,
+ tNLAddressesOrPrefixesRequestedF1-U INTEGER (1..256) OPTIONAL,
+ tNLAddressesOrPrefixesRequestedNoNF1 INTEGER (1..256) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IABTNLAddressesRequested-ExtIEs } } OPTIONAL
+}
+
+IABTNLAddressesRequested-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-TNL-Addresses-To-Remove-Item ::= SEQUENCE {
+ iABTNLAddress IABTNLAddress,
+ iE-Extensions ProtocolExtensionContainer { { IAB-TNL-Addresses-To-Remove-Item-ExtIEs} } OPTIONAL
+}
+
+IAB-TNL-Addresses-To-Remove-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-TNL-Addresses-Exception ::= SEQUENCE {
+ iABTNLAddressList IABTNLAddressList,
+ iE-Extensions ProtocolExtensionContainer { { IAB-TNL-Addresses-Exception-ExtIEs} } OPTIONAL
+}
+
+IAB-TNL-Addresses-Exception-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IABTNLAddressList ::= SEQUENCE (SIZE(1.. maxnoofTLAsIAB)) OF IABTNLAddress-Item
+
+IABTNLAddress-Item ::= SEQUENCE {
+ iABTNLAddress IABTNLAddress ,
+ iE-Extensions ProtocolExtensionContainer { { IABTNLAddress-ItemExtIEs } } OPTIONAL
+}
+
+IABTNLAddress-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IABTNLAddressUsage ::= ENUMERATED {
+ f1-c,
+ f1-u,
+ non-f1,
+ ...
+}
+
+
+IABv4AddressesRequested ::= SEQUENCE {
+ iABv4AddressesRequested IABTNLAddressesRequested,
+ iE-Extensions ProtocolExtensionContainer { { IABv4AddressesRequested-ExtIEs} } OPTIONAL
+}
+
+IABv4AddressesRequested-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ImplicitFormat ::= SEQUENCE {
+ dUFSlotformatIndex DUFSlotformatIndex,
+ iE-Extensions ProtocolExtensionContainer { { ImplicitFormat-ExtIEs } } OPTIONAL
+}
+
+ImplicitFormat-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IgnorePRACHConfiguration::= ENUMERATED { true,...}
+
+IgnoreResourceCoordinationContainer ::= ENUMERATED { yes,...}
+InactivityMonitoringRequest ::= ENUMERATED { true,...}
+InactivityMonitoringResponse ::= ENUMERATED { not-supported,...}
+InterfacesToTrace ::= BIT STRING (SIZE(8))
+
+IntendedTDD-DL-ULConfig ::= SEQUENCE {
+ nRSCS ENUMERATED { scs15, scs30, scs60, scs120,..., scs480, scs960},
+ nRCP ENUMERATED { normal, extended,...},
+ nRDLULTxPeriodicity ENUMERATED { ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms3, ms4, ms5, ms10, ms20, ms40, ms60, ms80, ms100, ms120, ms140, ms160, ...},
+ slot-Configuration-List Slot-Configuration-List,
+ iE-Extensions ProtocolExtensionContainer { {IntendedTDD-DL-ULConfig-ExtIEs} } OPTIONAL
+}
+
+InterFrequencyConfig-NoGap ::= ENUMERATED {
+ true,
+ ...
+}
+
+IngressNonF1terminatingTopologyIndicator ::= ENUMERATED {true, ...}
+
+IntendedTDD-DL-ULConfig-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPHeaderInformation ::= SEQUENCE {
+ destinationIABTNLAddress IABTNLAddress,
+ dsInformationList DSInformationList OPTIONAL,
+ iPv6FlowLabel BIT STRING (SIZE (20)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IPHeaderInformation-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+IPHeaderInformation-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPtolayer2TrafficMappingInfo ::= SEQUENCE {
+ iPtolayer2TrafficMappingInfoToAdd IPtolayer2TrafficMappingInfoList OPTIONAL,
+ iPtolayer2TrafficMappingInfoToRemove MappingInformationtoRemove OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IPtolayer2TrafficMappingInfo-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+IPtolayer2TrafficMappingInfoList ::= SEQUENCE (SIZE(1..maxnoofMappingEntries)) OF IPtolayer2TrafficMappingInfo-Item
+
+IPtolayer2TrafficMappingInfo-Item ::= SEQUENCE {
+ mappingInformationIndex MappingInformationIndex,
+ iPHeaderInformation IPHeaderInformation,
+ bHInfo BHInfo, iE-Extensions ProtocolExtensionContainer { { IPtolayer2TrafficMappingInfo-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+IPtolayer2TrafficMappingInfo-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- J
+
+-- K
+
+-- L
+
+L139Info ::= SEQUENCE {
+ prachSCS ENUMERATED {scs15, scs30, scs60, scs120, ..., scs480, scs960},
+ rootSequenceIndex INTEGER (0..137) OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {L139Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+L139Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+L839Info ::= SEQUENCE {
+ rootSequenceIndex INTEGER (0..837),
+ restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA,
+ restrictedSetTypeB, ...},
+ iE-Extension ProtocolExtensionContainer { {L839Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+L839Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+L571Info ::= SEQUENCE {
+ prachSCSForL571 ENUMERATED { scs30, scs120, ... , scs480},
+ rootSequenceIndex INTEGER (0..569),
+ iE-Extension ProtocolExtensionContainer { {L571Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+L571Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+L1151Info ::= SEQUENCE {
+ prachSCSForL1151 ENUMERATED { scs15, scs120,...},
+ rootSequenceIndex INTEGER (0..1149),
+ iE-Extension ProtocolExtensionContainer { {L1151Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+L1151Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+LastUsedCellIndication ::= ENUMERATED {true, ...}
+
+LCID ::= INTEGER (1..32, ...)
+
+
+LCS-to-GCS-Translation::= SEQUENCE {
+ alpha INTEGER (0..3599),
+ beta INTEGER (0..3599),
+ gamma INTEGER (0..3599),
+ iE-Extensions ProtocolExtensionContainer { { LCS-to-GCS-Translation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LCS-to-GCS-Translation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LCStoGCSTranslationList ::= SEQUENCE (SIZE (1.. maxnooflcs-gcs-translation)) OF LCStoGCSTranslation
+
+LCStoGCSTranslation ::= SEQUENCE {
+ alpha INTEGER (0..359),
+ alpha-fine INTEGER (0..9) OPTIONAL,
+ beta INTEGER (0..359),
+ beta-fine INTEGER (0..9) OPTIONAL,
+ gamma INTEGER (0..359),
+ gamma-fine INTEGER (0..9) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LCStoGCSTranslation-ExtIEs} } OPTIONAL
+}
+
+LCStoGCSTranslation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LMF-MeasurementID ::= INTEGER (1.. 65536, ...)
+
+LMF-UE-MeasurementID ::= INTEGER (1.. 256, ...)
+
+LocationDependentMBSF1UInformation ::= SEQUENCE (SIZE(1..maxnoofMBSAreaSessionIDs)) OF LocationDependentMBSF1UInformation-Item
+LocationDependentMBSF1UInformation-Item ::= SEQUENCE {
+ mbsAreaSession-ID MBS-Area-Session-ID,
+ mbs-f1u-info-at-CU UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { LocationDependentMBSF1UInformation-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+LocationDependentMBSF1UInformation-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LocationMeasurementInformation ::= OCTET STRING
+
+LocationUncertainty ::= SEQUENCE {
+ horizontalUncertainty INTEGER (0..255),
+ horizontalConfidence INTEGER (0..100),
+ verticalUncertainty INTEGER (0..255),
+ verticalConfidence INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { LocationUncertainty-ExtIEs} } OPTIONAL
+}
+
+LocationUncertainty-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LongDRXCycleLength ::= ENUMERATED
+{ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512, ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, ...}
+
+LowerLayerPresenceStatusChange ::= ENUMERATED {
+ suspend-lower-layers,
+ resume-lower-layers,
+ ...
+
+}
+
+LoS-NLoSIndicatorHard ::= ENUMERATED {nLoS, loS}
+
+LoS-NLoSIndicatorSoft ::= INTEGER (0..10)
+
+LoS-NLoSInformation ::= CHOICE {
+ loS-NLoSIndicatorSoft LoS-NLoSIndicatorSoft,
+ loS-NLoSIndicatorHard LoS-NLoSIndicatorHard,
+ choice-Extension ProtocolIE-SingleContainer {{ LoS-NLoSInformation-ExtIEs}}
+}
+
+LoS-NLoSInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+LTEUESidelinkAggregateMaximumBitrate ::= SEQUENCE {
+ uELTESidelinkAggregateMaximumBitrate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {LTEUESidelinkAggregateMaximumBitrate-ExtIEs} } OPTIONAL
+}
+
+LTEUESidelinkAggregateMaximumBitrate-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LTEV2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+ pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LTEV2XServicesAuthorized-ExtIEs} } OPTIONAL
+}
+
+LTEV2XServicesAuthorized-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- M
+
+MappingInformationIndex ::= BIT STRING (SIZE (26))
+
+MappingInformationtoRemove ::= SEQUENCE (SIZE(1..maxnoofMappingEntries)) OF MappingInformationIndex
+
+MaskedIMEISV ::= BIT STRING (SIZE (64))
+
+MaxDataBurstVolume ::= INTEGER (0..4095, ..., 4096.. 2000000)
+MaxPacketLossRate ::= INTEGER (0..1000)
+
+MBS-Broadcast-NeighbourCellList ::= OCTET STRING
+
+MBS-Flows-Mapped-To-MRB-List ::= SEQUENCE (SIZE(1.. maxnoofMBSQoSFlows)) OF MBS-Flows-Mapped-To-MRB-Item
+
+MBS-Flows-Mapped-To-MRB-Item ::= SEQUENCE {
+ mBS-QoSFlowIdentifier QoSFlowIdentifier,
+ mbs-QoSFlowLevelQoSParameters QoSFlowLevelQoSParameters,
+ iE-Extensions ProtocolExtensionContainer { { MBS-Flows-Mapped-To-MRB-Item-ExtIEs} } OPTIONAL
+}
+
+MBS-Flows-Mapped-To-MRB-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBSF1UInformation ::= SEQUENCE {
+ mbs-f1u-info UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { MBSF1UInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBSF1UInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSInterestIndication ::= OCTET STRING
+
+MBS-Session-ID ::= SEQUENCE {
+ tMGI TMGI,
+ nID NID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-Session-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-Session-ID-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-Area-Session-ID ::= INTEGER (0..65535, ...)
+
+
+MBS-CUtoDURRCInformation ::= SEQUENCE {
+ mBS-Broadcast-Cell-List MBS-Broadcast-Cell-List,
+ mBS-Broadcast-MRB-List MBS-Broadcast-MRB-List,
+ iE-Extensions ProtocolExtensionContainer { { MBS-CUtoDURRCInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBS-CUtoDURRCInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-Broadcast-Cell-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF MBS-Broadcast-Cell-Item
+
+MBS-Broadcast-Cell-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ mtch-neighbourCell OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-Broadcast-Cell-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-Broadcast-Cell-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-Broadcast-MRB-List ::= SEQUENCE (SIZE(1.. maxnoofMRBs)) OF MBS-Broadcast-MRB-Item
+
+MBS-Broadcast-MRB-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mRB-PDCP-Config-Broadcast OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { MBS-Broadcast-MRB-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-Broadcast-MRB-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSMulticastF1UContextDescriptor ::= SEQUENCE {
+ multicastF1UContextReferenceF1 MulticastF1UContextReferenceF1,
+ mc-F1UCtxtusage ENUMERATED {ptm, ptp, ptp-retransmission, ptp-forwarding, ...},
+ mbsAreaSession MBS-Area-Session-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{MBSMulticastF1UContextDescriptor-ExtIEs}} OPTIONAL,
+ ...
+}
+
+MBSMulticastF1UContextDescriptor-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+MulticastF1UContext-ToBeSetup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mbs-f1u-info-at-DU UPTransportLayerInformation,
+ mbsProgressInformation MRB-ProgressInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MulticastF1UContext-ToBeSetup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastF1UContext-ToBeSetup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastF1UContext-Setup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mbs-f1u-info-at-CU UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { {MulticastF1UContext-Setup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastF1UContext-Setup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MulticastF1UContext-FailedToBeSetup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MulticastF1UContext-FailedToBeSetup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastF1UContext-FailedToBeSetup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+MBSPTPRetransmissionTunnelRequired ::= ENUMERATED {true, ...}
+
+
+MBS-ServiceArea ::= CHOICE {
+ locationindependent MBS-ServiceAreaInformation,
+ locationdependent MBS-ServiceAreaInformationList,
+ choice-Extensions ProtocolIE-SingleContainer { {MBSServiceArea-ExtIEs} }
+}
+
+MBSServiceArea-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+MBS-ServiceAreaInformation ::= SEQUENCE {
+ mBS-ServiceAreaCellList MBS-ServiceAreaCellList OPTIONAL,
+ mBS-ServiceAreaTAIList MBS-ServiceAreaTAIList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MBS-ServiceAreaInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-ServiceAreaInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-ServiceAreaCellList ::= SEQUENCE (SIZE(1.. maxnoofCellsforMBS)) OF NRCGI
+
+MBS-ServiceAreaTAIList ::= SEQUENCE (SIZE(1.. maxnoofTAIforMBS)) OF MBS-ServiceAreaTAIList-Item
+MBS-ServiceAreaTAIList-Item ::= SEQUENCE {
+ plmn-ID PLMN-Identity,
+ five5-TAC FiveGS-TAC,
+ iE-Extensions ProtocolExtensionContainer { {MBS-ServiceAreaTAIList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-ServiceAreaTAIList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBS-ServiceAreaInformationList ::= SEQUENCE (SIZE(1..maxnoofMBSServiceAreaInformation)) OF MBS-ServiceAreaInformationItem
+
+MBS-ServiceAreaInformationItem ::= SEQUENCE {
+ mBS-AreaSessionID MBS-Area-Session-ID,
+ mBS-ServiceAreaInformation MBS-ServiceAreaInformation,
+ iE-Extensions ProtocolExtensionContainer { { MBS-ServiceAreaInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+MBS-ServiceAreaInformationItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MC-PagingCell-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { MC-PagingCell-ItemExtIEs } } OPTIONAL
+}
+
+MC-PagingCell-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MIB-message ::= OCTET STRING
+
+MeasConfig ::= OCTET STRING
+
+MeasGapConfig ::= OCTET STRING
+
+MeasGapSharingConfig ::= OCTET STRING
+
+PosMeasurementAmount ::= ENUMERATED {ma0, ma1, ma2, ma4, ma8, ma16, ma32, ma64}
+
+MeasurementBeamInfoRequest ::= ENUMERATED {true, ...}
+
+MeasurementBeamInfo ::= SEQUENCE {
+ pRS-Resource-ID PRS-Resource-ID OPTIONAL,
+ pRS-Resource-Set-ID PRS-Resource-Set-ID OPTIONAL,
+ sSB-Index SSB-Index OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MeasurementBeamInfo-ExtIEs} } OPTIONAL
+}
+
+MeasurementBeamInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MeasurementTimingConfiguration ::= OCTET STRING
+
+MessageIdentifier ::= BIT STRING (SIZE (16))
+
+
+MeasurementTimeOccasion ::= ENUMERATED {o1, o4, ...}
+
+MeasurementCharacteristicsRequestIndicator ::= BIT STRING (SIZE (16))
+
+MRB-ProgressInformation ::= CHOICE {
+ pdcp-SN12 INTEGER (0..4095),
+ pdcp-SN18 INTEGER (0..262143),
+ choice-extension ProtocolIE-SingleContainer { { MRB-ProgressInformation-ExtIEs} }
+}
+
+MRB-ProgressInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+MulticastF1UContextReferenceF1 ::= OCTET STRING (SIZE(4))
+
+MulticastF1UContextReferenceCU ::= OCTET STRING (SIZE(4))
+
+MultipleULAoA ::= SEQUENCE {
+ multipleULAoA MultipleULAoA-List,
+ iE-Extensions ProtocolExtensionContainer { { MultipleULAoA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MultipleULAoA-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleULAoA-List ::= SEQUENCE (SIZE(1.. maxnoofULAoAs)) OF MultipleULAoA-Item
+
+MultipleULAoA-Item ::= CHOICE {
+ uL-AoA UL-AoA,
+ ul-ZoA ZoAInformation,
+ choice-extension ProtocolIE-SingleContainer { { MultipleULAoA-Item-ExtIEs } }
+}
+
+MultipleULAoA-Item-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+MDTPollutedMeasurementIndicator ::= ENUMERATED {iDC,no-IDC, ...}
+
+MRB-ID ::= INTEGER (1..512, ...)
+
+MulticastMBSSessionList ::= SEQUENCE (SIZE(1..maxnoofMBSSessionsofUE)) OF MulticastMBSSessionList-Item
+MulticastMBSSessionList-Item ::= SEQUENCE {
+ mbsSessionId MBS-Session-ID,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMBSSessionList-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MulticastMBSSessionList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-FailedToBeModified-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-FailedtoBeModified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastMRBs-FailedtoBeModified-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-FailedToBeSetup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-FailedToBeSetup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastMRBs-FailedToBeSetup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-FailedToBeSetupMod-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-FailedToBeSetupMod-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastMRBs-FailedToBeSetupMod-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-Modified-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-Modified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastMRBs-Modified-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-Setup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-Setup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastMRBs-Setup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-SetupMod-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-SetupMod-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastMRBs-SetupMod-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-ToBeModified-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mRB-QoSInformation QoSFlowLevelQoSParameters OPTIONAL,
+ mBS-Flows-Mapped-To-MRB-List MBS-Flows-Mapped-To-MRB-List OPTIONAL,
+ mBS-DL-PDCP-SN-Length PDCPSNLength OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-ToBeModified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastMRBs-ToBeModified-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-ToBeReleased-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-ToBeReleased-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+MulticastMRBs-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-ToBeSetup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mRB-QoSInformation QoSFlowLevelQoSParameters,
+ mBS-Flows-Mapped-To-MRB-List MBS-Flows-Mapped-To-MRB-List,
+ mBS-DL-PDCP-SN-Length PDCPSNLength,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-ToBeSetup-Item-ExtIEs} },
+ ...
+}
+
+MulticastMRBs-ToBeSetup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastMRBs-ToBeSetupMod-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mRB-QoSInformation QoSFlowLevelQoSParameters,
+ mBS-Flows-Mapped-To-MRB-List MBS-Flows-Mapped-To-MRB-List,
+ mBS-DL-PDCP-SN-Length PDCPSNLength,
+ iE-Extensions ProtocolExtensionContainer { { MulticastMRBs-ToBeSetupMod-Item-ExtIEs} },
+ ...
+}
+
+MulticastMRBs-ToBeSetupMod-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultiplexingInfo ::= SEQUENCE{
+ iAB-MT-Cell-List IAB-MT-Cell-List,
+ iE-Extensions ProtocolExtensionContainer { {MultiplexingInfo-ExtIEs} } OPTIONAL
+}
+
+MultiplexingInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M2Configuration ::= ENUMERATED {true, ...}
+
+
+M5Configuration ::= SEQUENCE {
+ m5period M5period,
+ m5-links-to-log M5-Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M5Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M5Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-M5ReportAmount CRITICALITY ignore EXTENSION M5ReportAmount PRESENCE optional },
+ ...
+}
+
+M5period ::= ENUMERATED { ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+M5ReportAmount ::= ENUMERATED { r1, r2, r4, r8, r16, r32, r64, infinity, ... }
+
+M5-Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}
+
+
+M6Configuration ::= SEQUENCE {
+ m6report-Interval M6report-Interval,
+ m6-links-to-log M6-Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M6Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-M6ReportAmount CRITICALITY ignore EXTENSION M6ReportAmount PRESENCE optional },
+ ...
+}
+
+M6report-Interval ::= ENUMERATED { ms120, ms240, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, min1, min6, min12, min30, ..., ms480}
+
+M6ReportAmount ::= ENUMERATED { r1, r2, r4, r8, r16, r32, r64, infinity, ... }
+
+
+M6-Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}
+
+
+M7Configuration ::= SEQUENCE {
+ m7period M7period,
+ m7-links-to-log M7-Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M7Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M7Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-M7ReportAmount CRITICALITY ignore EXTENSION M7ReportAmount PRESENCE optional},
+ ...
+}
+
+M7period ::= INTEGER(1..60, ...)
+
+M7ReportAmount ::= ENUMERATED { r1, r2, r4, r8, r16, r32, r64, infinity, ... }
+
+M7-Links-to-log ::= ENUMERATED {downlink, ...}
+
+MDT-Activation ::= ENUMERATED {
+ immediate-MDT-only,
+ immediate-MDT-and-Trace,
+ ...
+}
+
+MDTConfiguration ::= SEQUENCE {
+ mdt-Activation MDT-Activation,
+ measurementsToActivate MeasurementsToActivate,
+ m2Configuration M2Configuration OPTIONAL,
+ -- C-ifM2: This IE shall be present if the Measurements to Activate IE has the second bit set to "1".
+ m5Configuration M5Configuration OPTIONAL,
+ -- C-ifM5: This IE shall be present if the Measurements to Activate IE has the fifth bit set to "1".
+ m6Configuration M6Configuration OPTIONAL,
+ -- C-ifM6: This IE shall be present if the Measurements to Activate IE has the seventh bit set to "1".
+ m7Configuration M7Configuration OPTIONAL,
+ -- C-ifM7: This IE shall be present if the Measurements to Activate IE has the eighth bit set to "1".
+ iE-Extensions ProtocolExtensionContainer { { MDTConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+MDTConfiguration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMN-Identity
+
+MDTPLMNModificationList ::= SEQUENCE (SIZE(0..maxnoofMDTPLMNs)) OF PLMN-Identity
+
+MeasuredResultsValue ::= CHOICE {
+ uL-AngleOfArrival UL-AoA,
+ uL-SRS-RSRP UL-SRS-RSRP,
+ uL-RTOA UL-RTOA-Measurement,
+ gNB-RxTxTimeDiff GNB-RxTxTimeDiff,
+ choice-extension ProtocolIE-SingleContainer { { MeasuredResultsValue-ExtIEs } }
+}
+
+MeasuredResultsValue-ExtIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-ZoAInformation CRITICALITY reject TYPE ZoAInformation PRESENCE mandatory}|
+ { ID id-MultipleULAoA CRITICALITY reject TYPE MultipleULAoA PRESENCE mandatory}|
+ { ID id-UL-SRS-RSRPP CRITICALITY reject TYPE UL-SRS-RSRPP PRESENCE mandatory},
+ ...
+}
+
+MeasurementsToActivate ::= BIT STRING (SIZE (8))
+
+MUSIM-GapConfig ::= OCTET STRING
+
+
+-- N
+
+NA-Resource-Configuration-List ::= SEQUENCE (SIZE(1.. maxnoofHSNASlots)) OF NA-Resource-Configuration-Item
+
+NA-Resource-Configuration-Item ::= SEQUENCE {
+ nADownlink NADownlink OPTIONAL,
+ nAUplink NAUplink OPTIONAL,
+ nAFlexible NAFlexible OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NA-Resource-Configuration-Item-ExtIEs} } OPTIONAL
+}
+
+NA-Resource-Configuration-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NADownlink ::= ENUMERATED { true, false, ...}
+NAFlexible ::= ENUMERATED { true, false, ...}
+NAUplink ::= ENUMERATED { true, false, ...}
+
+Ncd-SSB-RedCapInitialBWP-SDT ::= OCTET STRING
+
+Neighbour-Node-Cells-List ::= SEQUENCE (SIZE(1..maxnoofNeighbourNodeCellsIAB)) OF Neighbour-Node-Cells-List-Item
+
+Neighbour-Node-Cells-List-Item ::= SEQUENCE{
+ nRCGI NRCGI,
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID OPTIONAL,
+ gNB-DU-UE-F1AP-ID GNB-DU-UE-F1AP-ID OPTIONAL,
+ peer-Parent-Node-Indicator ENUMERATED {true, ...} OPTIONAL,
+ iAB-DU-Cell-Resource-Configuration-Mode-Info IAB-DU-Cell-Resource-Configuration-Mode-Info OPTIONAL,
+ iAB-STC-Info IAB-STC-Info OPTIONAL,
+ rACH-Config-Common RACH-Config-Common OPTIONAL,
+ rACH-Config-Common-IAB RACH-Config-Common-IAB OPTIONAL,
+ cSI-RS-Configuration OCTET STRING OPTIONAL,
+ sR-Configuration OCTET STRING OPTIONAL,
+ pDCCH-ConfigSIB1 OCTET STRING OPTIONAL,
+ sCS-Common OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{Neighbour-Node-Cells-List-Item-ExtIEs}} OPTIONAL
+}
+
+Neighbour-Node-Cells-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NeedforGap::= ENUMERATED {true, ...}
+
+NeedForGapsInfoNR ::= OCTET STRING
+
+NeedForGapNCSGInfoNR ::= OCTET STRING
+
+NeedForGapNCSGInfoEUTRA ::= OCTET STRING
+
+Neighbour-Cell-Information-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ intendedTDD-DL-ULConfig IntendedTDD-DL-ULConfig OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Neighbour-Cell-Information-ItemExtIEs } } OPTIONAL
+}
+
+Neighbour-Cell-Information-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NeighbourNR-CellsForSON-List ::= SEQUENCE (SIZE(1.. maxNeighbourCellforSON)) OF NeighbourNR-CellsForSON-Item
+
+NeighbourNR-CellsForSON-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ nR-ModeInfoRel16 NR-ModeInfoRel16 OPTIONAL,
+ sSB-PositionsInBurst SSB-PositionsInBurst OPTIONAL,
+ nRPRACHConfig NRPRACHConfig OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NeighbourNR-CellsForSON-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbourNR-CellsForSON-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NGRANAllocationAndRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {NGRANAllocationAndRetentionPriority-ExtIEs} } OPTIONAL
+}
+
+NGRANAllocationAndRetentionPriority-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NGRANHighAccuracyAccessPointPosition ::= SEQUENCE {
+ latitude INTEGER (-2147483648.. 2147483647),
+ longitude INTEGER (-2147483648.. 2147483647),
+ altitude INTEGER (-64000..1280000),
+ uncertaintySemi-major INTEGER (0..255),
+ uncertaintySemi-minor INTEGER (0..255),
+ orientationOfMajorAxis INTEGER (0..179),
+ horizontalConfidence INTEGER (0..100),
+ uncertaintyAltitude INTEGER (0..255),
+ verticalConfidence INTEGER (0..100),
+
+ iE-Extensions ProtocolExtensionContainer { { NGRANHighAccuracyAccessPointPosition-ExtIEs} } OPTIONAL
+}
+
+NGRANHighAccuracyAccessPointPosition-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NID ::= BIT STRING (SIZE(44))
+
+NonF1terminatingTopologyIndicator ::= ENUMERATED {
+ true,
+ ...
+}
+
+NR-CGI-List-For-Restart-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { NR-CGI-List-For-Restart-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+NR-CGI-List-For-Restart-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NrofSymbolsExtended ::= ENUMERATED {n8, n10, n12, n14, ...}
+
+NR-PRSBeamInformation ::= SEQUENCE {
+ nR-PRSBeamInformationList NR-PRSBeamInformationList,
+ lCStoGCSTranslationList LCStoGCSTranslationList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NR-PRSBeamInformation-ExtIEs } } OPTIONAL
+}
+
+NR-PRSBeamInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-PRSBeamInformationList ::= SEQUENCE (SIZE(1.. maxnoofPRS-ResourceSets)) OF NR-PRSBeamInformationItem
+
+NR-PRSBeamInformationItem ::= SEQUENCE {
+ pRSResourceSetID PRS-Resource-Set-ID,
+ pRSAngleList PRSAngleList,
+ iE-Extensions ProtocolExtensionContainer { { NR-PRSBeamInformationItem-ExtIEs } } OPTIONAL
+}
+
+NR-PRSBeamInformationItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-TADV ::= INTEGER (0.. 7690)
+
+NRRedCapUEIndication ::= ENUMERATED {true, ...}
+
+NRPagingeDRXInformation ::= SEQUENCE {
+ nrpaging-eDRX-Cycle-Idle NRPaging-eDRX-Cycle-Idle,
+ nrpaging-Time-Window NRPaging-Time-Window OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NRPagingeDRXInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRPagingeDRXInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRPaging-eDRX-Cycle-Idle ::= ENUMERATED {
+ hfquarter, hfhalf, hf1, hf2, hf4,
+ hf8, hf16, hf32, hf64, hf128, hf256, hf512, hf1024,
+ ...
+}
+
+
+NRPaging-Time-Window ::= ENUMERATED {
+ s1, s2, s3, s4, s5,
+ s6, s7, s8, s9, s10,
+ s11, s12, s13, s14, s15, s16,
+ ...,
+ s17, s18, s19, s20, s21,
+ s22, s23, s24, s25, s26,
+ s27, s28, s29, s30, s31, s32
+}
+
+NRPagingeDRXInformationforRRCINACTIVE ::= SEQUENCE {
+ nrpaging-eDRX-Cycle-Inactive NRPaging-eDRX-Cycle-Inactive,
+ iE-Extensions ProtocolExtensionContainer { { NRPagingeDRXInformationforRRCINACTIVE-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRPagingeDRXInformationforRRCINACTIVE-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRPaging-eDRX-Cycle-Inactive ::= ENUMERATED {
+ hfquarter, hfhalf, hf1,
+ ...
+}
+
+NonDynamic5QIDescriptor ::= SEQUENCE {
+ fiveQI INTEGER (0..255, ...),
+ qoSPriorityLevel INTEGER (1..127) OPTIONAL,
+ averagingWindow AveragingWindow OPTIONAL,
+ maxDataBurstVolume MaxDataBurstVolume OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NonDynamic5QIDescriptor-ExtIEs } } OPTIONAL
+}
+
+NonDynamic5QIDescriptor-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-CNPacketDelayBudgetDownlink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetUplink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional },
+ ...
+}
+
+NonDynamicPQIDescriptor ::= SEQUENCE {
+ fiveQI INTEGER (0..255, ...),
+ qoSPriorityLevel INTEGER (1..8, ...) OPTIONAL,
+ averagingWindow AveragingWindow OPTIONAL,
+ maxDataBurstVolume MaxDataBurstVolume OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NonDynamicPQIDescriptor-ExtIEs } } OPTIONAL
+}
+
+NonDynamicPQIDescriptor-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NonUPTrafficType ::= ENUMERATED {ue-associated, non-ue-associated, non-f1, bap-control-pdu,...}
+
+NoofDownlinkSymbols ::= INTEGER (0..14)
+
+NoofUplinkSymbols ::= INTEGER (0..14)
+
+Notification-Cause ::= ENUMERATED {fulfilled, not-fulfilled, ...}
+
+NotificationControl ::= ENUMERATED {active, not-active, ...}
+
+NotificationInformation ::= SEQUENCE {
+ message-Identifier MessageIdentifier,
+ serialNumber SerialNumber,
+ iE-Extensions ProtocolExtensionContainer { { NotificationInformationExtIEs} } OPTIONAL,
+ ...
+}
+
+NotificationInformationExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPNBroadcastInformation ::= CHOICE {
+ sNPN-Broadcast-Information NPN-Broadcast-Information-SNPN,
+ pNI-NPN-Broadcast-Information NPN-Broadcast-Information-PNI-NPN,
+ choice-extension ProtocolIE-SingleContainer { {NPNBroadcastInformation-ExtIEs} }
+}
+
+NPNBroadcastInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPN-Broadcast-Information-SNPN ::= SEQUENCE {
+ broadcastSNPNID-List BroadcastSNPN-ID-List,
+ iE-Extension ProtocolExtensionContainer { {NPN-Broadcast-Information-SNPN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPN-Broadcast-Information-SNPN-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+NPN-Broadcast-Information-PNI-NPN ::= SEQUENCE {
+ broadcastPNI-NPN-ID-Information BroadcastPNI-NPN-ID-List,
+ iE-Extension ProtocolExtensionContainer { {NPN-Broadcast-Information-PNI-NPN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPN-Broadcast-Information-PNI-NPN-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NPNSupportInfo ::= CHOICE {
+ sNPN-Information NID,
+ choice-extension ProtocolIE-SingleContainer { { NPNSupportInfo-ExtIEs } }
+}
+
+NPNSupportInfo-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+NRCarrierList ::= SEQUENCE (SIZE(1..maxnoofNRSCSs)) OF NRCarrierItem
+
+NRCarrierItem ::= SEQUENCE {
+ carrierSCS NRSCS,
+ offsetToCarrier INTEGER (0..2199, ...),
+ carrierBandwidth INTEGER (0..maxnoofPhysicalResourceBlocks, ...),
+ iE-Extension ProtocolExtensionContainer { {NRCarrierItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRCarrierItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRFreqInfo ::= SEQUENCE {
+ nRARFCN INTEGER (0..maxNRARFCN),
+ sul-Information SUL-Information OPTIONAL,
+ freqBandListNr SEQUENCE (SIZE(1..maxnoofNrCellBands)) OF FreqBandNrItem,
+ iE-Extensions ProtocolExtensionContainer { { NRFreqInfoExtIEs} } OPTIONAL,
+ ...
+}
+
+NRFreqInfoExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional },
+ ...
+}
+
+NRCGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ nRCellIdentity NRCellIdentity,
+ iE-Extensions ProtocolExtensionContainer { {NRCGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRCGI-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-Mode-Info ::= CHOICE {
+ fDD FDD-Info,
+ tDD TDD-Info,
+ choice-extension ProtocolIE-SingleContainer { { NR-Mode-Info-ExtIEs} }
+}
+
+NR-Mode-Info-ExtIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-NR-U CRITICALITY ignore TYPE NR-U-Channel-Info-List PRESENCE optional },
+ ...
+}
+
+NR-ModeInfoRel16 ::= CHOICE {
+ fDD FDD-InfoRel16,
+ tDD TDD-InfoRel16,
+ choice-extension ProtocolIE-SingleContainer { { NR-ModeInfoRel16-ExtIEs} }
+}
+
+NR-ModeInfoRel16-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+NRPRACHConfig ::= SEQUENCE {
+ ulPRACHConfigList NRPRACHConfigList OPTIONAL,
+ sulPRACHConfigList NRPRACHConfigList OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {NRPRACHConfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRPRACHConfig-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRCellIdentity ::= BIT STRING (SIZE(36))
+
+NRNRB ::= ENUMERATED { nrb11, nrb18, nrb24, nrb25, nrb31, nrb32, nrb38, nrb51, nrb52, nrb65, nrb66, nrb78, nrb79, nrb93, nrb106, nrb107, nrb121, nrb132, nrb133, nrb135, nrb160, nrb162, nrb189, nrb216, nrb217, nrb245, nrb264, nrb270, nrb273, ..., nrb33, nrb62, nrb124, nrb148, nrb248, nrb44, nrb58, nrb92, nrb119, nrb188, nrb242}
+
+NRPCI ::= INTEGER(0..1007)
+
+
+NRPRACHConfigList ::= SEQUENCE (SIZE(0..maxnoofPRACHconfigs)) OF NRPRACHConfigItem
+
+NRPRACHConfigItem ::= SEQUENCE {
+ nRSCS NRSCS,
+ prachFreqStartfromCarrier INTEGER (0..maxnoofPhysicalResourceBlocks-1, ...),
+ prachFDM ENUMERATED {one, two, four, eight, ...},
+ prachConfigIndex INTEGER (0..255, ..., 256..262),
+ ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one,
+ two, four, eight, sixteen, ...},
+ freqDomainLength FreqDomainLength,
+ zeroCorrelZoneConfig INTEGER (0..15),
+ iE-Extension ProtocolExtensionContainer { { NRPRACHConfigItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRPRACHConfigItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRSCS ::= ENUMERATED { scs15, scs30, scs60, scs120, ..., scs480, scs960}
+
+NRUERLFReportContainer ::= OCTET STRING
+
+
+NR-U-Channel-Info-List ::= SEQUENCE (SIZE (1..maxnoofNR-UChannelIDs)) OF NR-U-Channel-Info-Item
+
+NR-U-Channel-Info-Item ::= SEQUENCE {
+ nr-U-channel-ID INTEGER(1.. maxnoofNR-UChannelIDs,...),
+ nR-ARFCN INTEGER (0..maxNRARFCN),
+ bandwidth ENUMERATED{mHz-10,mHz-20,mHz-40, mHz-60, mHz-80,...},
+ iE-Extensions ProtocolExtensionContainer { { NR-U-Channel-Info-List-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NR-U-Channel-Info-List-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NR-U-Channel-List ::= SEQUENCE (SIZE (1..maxnoofNR-UChannelIDs)) OF NR-U-Channel-Item
+
+NR-U-Channel-Item ::= SEQUENCE {
+ nR-U-ChannelID INTEGER(1..maxnoofNR-UChannelIDs),
+ channelOccupancyTimePercentageDL ChannelOccupancyTimePercentage,
+ energyDetectionThreshold EnergyDetectionThreshold,
+ iE-Extensions ProtocolExtensionContainer { { NR-U-Channel-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-U-Channel-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NumberofActiveUEs ::= INTEGER(0..16777215, ...)
+
+NumberOfBroadcasts ::= INTEGER (0..65535)
+
+NumberofBroadcastRequest ::= INTEGER (0..65535)
+
+
+NumberOfTRPRxTEG ::= ENUMERATED {two, three, four, six, eight, ...}
+
+NumberOfTRPRxTxTEG ::= ENUMERATED {wo, three, four, six, eight, ...}
+
+NumDLULSymbols ::= SEQUENCE {
+ numDLSymbols INTEGER (0..13, ...),
+ numULSymbols INTEGER (0..13, ...),
+ iE-Extensions ProtocolExtensionContainer { { NumDLULSymbols-ExtIEs} } OPTIONAL
+}
+
+NumDLULSymbols-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-permutation CRITICALITY ignore EXTENSION Permutation PRESENCE optional },
+ ...
+}
+
+NRV2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+ pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NRV2XServicesAuthorized-ExtIEs} } OPTIONAL
+}
+
+NRV2XServicesAuthorized-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRUESidelinkAggregateMaximumBitrate ::= SEQUENCE {
+ uENRSidelinkAggregateMaximumBitrate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {NRUESidelinkAggregateMaximumBitrate-ExtIEs} } OPTIONAL
+}
+
+NRUESidelinkAggregateMaximumBitrate-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NZP-CSI-RS-ResourceID::= INTEGER (0..191)
+
+
+-- O
+
+OffsetToPointA ::= INTEGER (0..2199,...)
+
+OnDemandPRS-Info ::= SEQUENCE {
+ onDemandPRSRequestAllowed BIT STRING (SIZE (16)),
+ allowedResourceSetPeriodicityValues BIT STRING (SIZE (24)) OPTIONAL,
+ allowedPRSBandwidthValues BIT STRING (SIZE (64)) OPTIONAL,
+ allowedResourceRepetitionFactorValues BIT STRING (SIZE (8)) OPTIONAL,
+ allowedResourceNumberOfSymbolsValues BIT STRING (SIZE (8)) OPTIONAL,
+ allowedCombSizeValues BIT STRING (SIZE (8)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { OnDemandPRS-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+OnDemandPRS-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- P
+
+PacketDelayBudget ::= INTEGER (0..1023, ...)
+
+PacketErrorRate ::= SEQUENCE {
+ pER-Scalar PER-Scalar,
+ pER-Exponent PER-Exponent,
+ iE-Extensions ProtocolExtensionContainer { {PacketErrorRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PacketErrorRate-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PER-Scalar ::= INTEGER (0..9, ...)
+PER-Exponent ::= INTEGER (0..9, ...)
+
+PagingCell-Item ::= SEQUENCE {
+ nRCGI NRCGI ,
+ iE-Extensions ProtocolExtensionContainer { { PagingCell-ItemExtIEs } } OPTIONAL
+}
+
+PagingCell-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-LastUsedCellIndication CRITICALITY ignore EXTENSION LastUsedCellIndication PRESENCE optional }|
+ { ID id-PEISubgroupingSupportIndication CRITICALITY ignore EXTENSION PEISubgroupingSupportIndication PRESENCE optional },
+ ...
+}
+
+PagingDRX ::= ENUMERATED {
+ v32,
+ v64,
+ v128,
+ v256,
+ ...
+}
+
+PagingIdentity ::= CHOICE {
+ rANUEPagingIdentity RANUEPagingIdentity,
+ cNUEPagingIdentity CNUEPagingIdentity,
+ choice-extension ProtocolIE-SingleContainer { { PagingIdentity-ExtIEs } }
+}
+
+PagingCause ::= ENUMERATED { voice, ...}
+
+PagingIdentity-ExtIEs F1AP-PROTOCOL-IES::= {
+ ...
+}
+
+PagingOrigin ::= ENUMERATED { non-3gpp, ...}
+
+PagingPriority ::= ENUMERATED { priolevel1, priolevel2, priolevel3, priolevel4, priolevel5, priolevel6, priolevel7, priolevel8,...}
+
+PEIPSAssistanceInfo ::= SEQUENCE {
+ cNSubgroupID CNSubgroupID,
+ iE-Extensions ProtocolExtensionContainer { { PEIPSAssistanceInfo-ExtIEs } } OPTIONAL
+}
+
+PEIPSAssistanceInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RelativePathDelay ::= CHOICE {
+ k0 INTEGER (0..16351),
+ k1 INTEGER (0..8176),
+ k2 INTEGER (0..4088),
+ k3 INTEGER (0..2044),
+ k4 INTEGER (0..1022),
+ k5 INTEGER (0..511),
+ choice-extension ProtocolIE-SingleContainer { { RelativePathDelay-ExtIEs } }
+}
+
+RelativePathDelay-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+Parent-IAB-Nodes-NA-Resource-Configuration-List ::= SEQUENCE (SIZE(1..maxnoofHSNASlots)) OF Parent-IAB-Nodes-NA-Resource-Configuration-Item
+
+Parent-IAB-Nodes-NA-Resource-Configuration-Item::= SEQUENCE {
+ nADownlink NADownlink OPTIONAL,
+ nAUplink NAUplink OPTIONAL,
+ nAFlexible NAFlexible OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Parent-IAB-Nodes-NA-Resource-Configuration-Item-ExtIEs} } OPTIONAL
+}
+
+Parent-IAB-Nodes-NA-Resource-Configuration-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PartialSuccessCell ::= SEQUENCE {
+ broadcastCellList BroadcastCellList,
+ iE-Extensions ProtocolExtensionContainer { { PartialSuccessCell-ExtIEs} } OPTIONAL,
+ ...
+}
+PartialSuccessCell-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PathlossReferenceInfo ::= SEQUENCE {
+ pathlossReferenceSignal PathlossReferenceSignal,
+ iE-Extensions ProtocolExtensionContainer { {PathlossReferenceInfo-ExtIEs} } OPTIONAL
+}
+
+PathlossReferenceInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PathlossReferenceSignal ::= CHOICE {
+ sSB SSB,
+ dL-PRS DL-PRS,
+ choice-extension ProtocolIE-SingleContainer {{PathlossReferenceSignal-ExtIEs }}
+}
+
+PathlossReferenceSignal-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+PathSwitchConfiguration ::= SEQUENCE {
+ targetRelayUEID BIT STRING(SIZE(24)),
+ remoteUELocalID RemoteUELocalID,
+ t420 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
+ iE-Extensions ProtocolExtensionContainer { { PathSwitchConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PathSwitchConfiguration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5QoSFlowIdentifier ::= INTEGER (1..2048)
+
+PC5-QoS-Characteristics ::= CHOICE {
+ non-Dynamic-PQI NonDynamicPQIDescriptor,
+ dynamic-PQI DynamicPQIDescriptor,
+ choice-extension ProtocolIE-SingleContainer { { PC5-QoS-Characteristics-ExtIEs } }
+}
+
+PC5-QoS-Characteristics-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+PC5QoSParameters ::= SEQUENCE {
+ pC5-QoS-Characteristics PC5-QoS-Characteristics,
+ pC5-QoS-Flow-Bit-Rates PC5FlowBitRates OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5QoSParameters-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5QoSParameters-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5FlowBitRates ::= SEQUENCE {
+ guaranteedFlowBitRate BitRate,
+ maximumFlowBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { { PC5FlowBitRates-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5FlowBitRates-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5RLCChannelID ::= INTEGER (1..512, ...)
+
+PC5RLCChannelQoSInformation ::= CHOICE {
+ pC5RLCChannelQoS QoSFlowLevelQoSParameters,
+ pC5ControlPlaneTrafficType ENUMERATED {srb1,srb2,...},
+ choice-extension ProtocolIE-SingleContainer { { PC5RLCChannelQoSInformation-ExtIEs} }
+}
+
+PC5RLCChannelQoSInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+PC5RLCChannelToBeSetupList ::= SEQUENCE (SIZE(1.. maxnoofPC5RLCChannels)) OF PC5RLCChannelToBeSetupItem
+
+PC5RLCChannelToBeSetupItem ::= SEQUENCE {
+ pC5RLCChannelID PC5RLCChannelID,
+ remoteUELocalID RemoteUELocalID OPTIONAL,
+ pC5RLCChannelQoSInformation PC5RLCChannelQoSInformation,
+ rLCMode RLCMode,
+ iE-Extensions ProtocolExtensionContainer { { PC5RLCChannelToBeSetupItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5RLCChannelToBeSetupItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5RLCChannelToBeModifiedList ::= SEQUENCE (SIZE(1.. maxnoofPC5RLCChannels)) OF PC5RLCChannelToBeModifiedItem
+
+PC5RLCChannelToBeModifiedItem ::= SEQUENCE {
+ pC5RLCChannelID PC5RLCChannelID,
+ remoteUELocalID RemoteUELocalID OPTIONAL,
+ pC5RLCChannelQoSInformation PC5RLCChannelQoSInformation OPTIONAL,
+ rLCMode RLCMode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5RLCChannelToBeModifiedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5RLCChannelToBeModifiedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5RLCChannelToBeReleasedList ::= SEQUENCE (SIZE(1.. maxnoofPC5RLCChannels)) OF PC5RLCChannelToBeReleasedItem
+
+PC5RLCChannelToBeReleasedItem ::= SEQUENCE {
+ pC5RLCChannelID PC5RLCChannelID,
+ remoteUELocalID RemoteUELocalID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5RLCChannelToBeReleasedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5RLCChannelToBeReleasedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5RLCChannelSetupList ::= SEQUENCE (SIZE(1.. maxnoofPC5RLCChannels)) OF PC5RLCChannelSetupItem
+
+PC5RLCChannelSetupItem ::= SEQUENCE {
+ pC5RLCChannelID PC5RLCChannelID,
+ remoteUELocalID RemoteUELocalID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5RLCChannelSetupItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5RLCChannelSetupItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5RLCChannelFailedToBeSetupList ::= SEQUENCE (SIZE(1.. maxnoofPC5RLCChannels)) OF PC5RLCChannelFailedToBeSetupItem
+
+PC5RLCChannelFailedToBeSetupItem ::= SEQUENCE {
+ pC5RLCChannelID PC5RLCChannelID,
+ remoteUELocalID RemoteUELocalID OPTIONAL,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5RLCChannelFailedToBeSetupItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5RLCChannelFailedToBeSetupItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5RLCChannelModifiedList ::= SEQUENCE (SIZE(1.. maxnoofPC5RLCChannels)) OF PC5RLCChannelModifiedItem
+
+PC5RLCChannelModifiedItem ::= SEQUENCE {
+ pC5RLCChannelID PC5RLCChannelID,
+ remoteUELocalID RemoteUELocalID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5RLCChannelModifiedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5RLCChannelModifiedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5RLCChannelFailedToBeModifiedList ::= SEQUENCE (SIZE(1.. maxnoofPC5RLCChannels)) OF PC5RLCChannelFailedToBeModifiedItem
+
+PC5RLCChannelFailedToBeModifiedItem ::= SEQUENCE {
+ pC5RLCChannelID PC5RLCChannelID,
+ remoteUELocalID RemoteUELocalID OPTIONAL,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5RLCChannelFailedToBeModifiedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5RLCChannelFailedToBeModifiedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5RLCChannelRequiredToBeModifiedList ::= SEQUENCE (SIZE(1.. maxnoofPC5RLCChannels)) OF PC5RLCChannelRequiredToBeModifiedItem
+
+PC5RLCChannelRequiredToBeModifiedItem ::= SEQUENCE {
+ pC5RLCChannelID PC5RLCChannelID,
+ remoteUELocalID RemoteUELocalID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5RLCChannelRequiredToBeModifiedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5RLCChannelRequiredToBeModifiedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5RLCChannelRequiredToBeReleasedList ::= SEQUENCE (SIZE(1.. maxnoofPC5RLCChannels)) OF PC5RLCChannelRequiredToBeReleasedItem
+
+PC5RLCChannelRequiredToBeReleasedItem ::= SEQUENCE {
+ pC5RLCChannelID PC5RLCChannelID,
+ remoteUELocalID RemoteUELocalID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5RLCChannelRequiredToBeReleasedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PC5RLCChannelRequiredToBeReleasedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDCCH-BlindDetectionSCG ::= OCTET STRING
+
+PDCMeasurementPeriodicity ::= ENUMERATED
+{ms80, ms120, ms160, ms240, ms320, ms480, ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ...}
+
+PDCMeasurementQuantities ::= SEQUENCE (SIZE (1.. maxnoofMeasPDC)) OF ProtocolIE-SingleContainer { {PDCMeasurementQuantities-ItemIEs} }
+
+PDCMeasurementQuantities-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-PDCMeasurementQuantities-Item CRITICALITY reject TYPE PDCMeasurementQuantities-Item PRESENCE mandatory}
+}
+
+PDCMeasurementQuantities-Item ::= SEQUENCE {
+ pDCmeasurementQuantitiesValue PDCMeasurementQuantitiesValue,
+ iE-Extensions ProtocolExtensionContainer { { PDCMeasurementQuantitiesValue-ExtIEs} } OPTIONAL
+}
+
+PDCMeasurementQuantitiesValue-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDCMeasurementQuantitiesValue ::= ENUMERATED {
+ nr-pdc-tadv,
+ gNB-rx-tx,
+ ...
+}
+
+PDCMeasurementResult ::= SEQUENCE {
+ pDCMeasuredResultsList PDCMeasuredResultsList,
+ iE-Extensions ProtocolExtensionContainer { { PDCMeasurementResult-ExtIEs} } OPTIONAL
+}
+
+PDCMeasurementResult-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDCMeasuredResultsList ::= SEQUENCE (SIZE(1..maxnoofMeasPDC)) OF PDCMeasuredResults-Item
+
+PDCMeasuredResults-Item ::= SEQUENCE {
+ pDCMeasuredResults-Value PDCMeasuredResults-Value,
+ iE-Extensions ProtocolExtensionContainer {{ PDCMeasuredResults-Item-ExtIEs }} OPTIONAL
+}
+
+PDCMeasuredResults-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDCMeasuredResults-Value ::= CHOICE {
+ pDC-TADV-NR PDC-TADV-NR,
+ pDC-RxTxTimeDiff PDC-RxTxTimeDiff,
+ choice-extension ProtocolIE-SingleContainer { { PDCMeasuredResults-Value-ExtIEs} }
+}
+
+PDCMeasuredResults-Value-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+PDCReportType ::= ENUMERATED {
+ onDemand,
+ periodic,
+ ...
+}
+
+PDC-RxTxTimeDiff ::= INTEGER (0..61565, ...)
+
+PDC-TADV-NR ::= INTEGER (0..62500, ...)
+
+PDCP-SN ::= INTEGER (0..4095)
+
+PDCPSNLength ::= ENUMERATED { twelve-bits,eighteen-bits,...}
+
+PDUSessionID ::= INTEGER (0..255)
+
+PEISubgroupingSupportIndication ::= ENUMERATED {true, ...}
+
+ReportingPeriodicityValue ::= INTEGER (0..512, ...)
+
+Periodicity ::= INTEGER (0..640000, ...)
+
+PeriodicitySRS ::= ENUMERATED { ms0p125, ms0p25, ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms4, ms5, ms8, ms10, ms16, ms20, ms32, ms40, ms64, ms80, ms160, ms320, ms640, ms1280, ms2560, ms5120, ms10240, ...}
+
+PeriodicityList ::= SEQUENCE (SIZE(1.. maxnoSRS-ResourcePerSet)) OF PeriodicityList-Item
+
+PeriodicityList-Item ::= SEQUENCE {
+ periodicitySRS PeriodicitySRS,
+ iE-Extensions ProtocolExtensionContainer { { PeriodicityList-ItemExtIEs} } OPTIONAL
+}
+
+PeriodicityList-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Permutation ::= ENUMERATED {dfu, ufd, ...}
+
+Ph-InfoMCG ::= OCTET STRING
+
+Ph-InfoSCG ::= OCTET STRING
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+PlayoutDelayForMediaStartup ::= OCTET STRING
+
+PortNumber ::= BIT STRING (SIZE (16))
+
+
+PosAssistance-Information ::= OCTET STRING
+
+PosAssistanceInformationFailureList ::= OCTET STRING
+
+PosBroadcast ::= ENUMERATED {
+ start,
+ stop,
+ ...
+}
+
+PosConextRevIndication ::= ENUMERATED {true, ...}
+
+PositioningBroadcastCells ::= SEQUENCE (SIZE (1..maxnoBcastCell)) OF NRCGI
+
+
+PosMeasGapPreConfigList ::= SEQUENCE {
+ posMeasGapPreConfigToAddModList OCTET STRING OPTIONAL,
+ posMeasGapPreConfigToReleaseList OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PosMeasGapPreConfigList-ExtIEs} } OPTIONAL
+}
+
+PosMeasGapPreConfigList-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MeasurementPeriodicity ::= ENUMERATED
+{ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, ..., ms20480, ms40960, extended }
+
+
+MeasurementPeriodicityExtended ::= ENUMERATED {ms160, ms320, ms1280, ms2560, ms61440, ms81920, ms368640, ms737280, ms1843200, ...}
+
+PosMeasurementPeriodicityNR-AoA ::= ENUMERATED {
+ ms160,
+ ms320,
+ ms640,
+ ms1280,
+ ms2560,
+ ms5120,
+ ms10240,
+ ms20480,
+ ms40960,
+ ms61440,
+ ms81920,
+ ms368640,
+ ms737280,
+ ms1843200,
+ ...
+
+}
+
+PosMeasurementQuantities ::= SEQUENCE (SIZE(1.. maxnoofPosMeas)) OF PosMeasurementQuantities-Item
+
+PosMeasurementQuantities-Item ::= SEQUENCE {
+ posMeasurementType PosMeasurementType,
+ timingReportingGranularityFactor INTEGER (0..5) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PosMeasurementQuantities-ItemExtIEs} } OPTIONAL
+}
+
+PosMeasurementQuantities-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosMeasurementResult ::= SEQUENCE (SIZE (1.. maxnoofPosMeas)) OF PosMeasurementResultItem
+
+PosMeasurementResultItem ::= SEQUENCE {
+ measuredResultsValue MeasuredResultsValue,
+ timeStamp TimeStamp,
+ measurementQuality TRPMeasurementQuality OPTIONAL,
+ measurementBeamInfo MeasurementBeamInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PosMeasurementResultItemExtIEs } } OPTIONAL
+}
+
+PosMeasurementResultItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ARP-ID CRITICALITY ignore EXTENSION ARP-ID PRESENCE optional}|
+ { ID id-SRSResourcetype CRITICALITY ignore EXTENSION SRSResourcetype PRESENCE optional}|
+ { ID id-LoS-NLoSInformation CRITICALITY ignore EXTENSION LoS-NLoSInformation PRESENCE optional },
+ ...
+}
+
+PosMeasurementResultList ::= SEQUENCE (SIZE(1.. maxNoOfMeasTRPs)) OF PosMeasurementResultList-Item
+
+PosMeasurementResultList-Item ::= SEQUENCE {
+ posMeasurementResult PosMeasurementResult,
+ tRPID TRPID,
+ iE-Extensions ProtocolExtensionContainer { { PosMeasurementResultList-ItemExtIEs} } OPTIONAL
+}
+
+PosMeasurementResultList-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NRCGI CRITICALITY ignore EXTENSION NRCGI PRESENCE optional },
+ ...
+}
+
+PosMeasurementType ::= ENUMERATED {
+ gnb-rx-tx,
+ ul-srs-rsrp,
+ ul-aoa,
+ ul-rtoa,
+ ... ,
+ multiple-ul-aoa,
+ ul-srs-rsrpp
+}
+
+PosReportCharacteristics ::= ENUMERATED {
+ ondemand,
+ periodic,
+ ...
+}
+
+PosResourceSetType ::= CHOICE {
+ periodic PosResourceSetTypePR,
+ semi-persistent PosResourceSetTypeSP,
+ aperiodic PosResourceSetTypeAP,
+ choice-extension ProtocolIE-SingleContainer {{ PosResourceSetType-ExtIEs }}
+}
+
+PosResourceSetType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+PosResourceSetTypePR ::= SEQUENCE {
+ posperiodicSet ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { PosResourceSetTypePR-ExtIEs} } OPTIONAL
+}
+
+PosResourceSetTypePR-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosResourceSetTypeSP ::= SEQUENCE {
+ possemi-persistentSet ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { PosResourceSetTypeSP-ExtIEs} } OPTIONAL
+}
+
+PosResourceSetTypeSP-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosResourceSetTypeAP ::= SEQUENCE {
+ sRSResourceTrigger-List INTEGER(1..3),
+ iE-Extensions ProtocolExtensionContainer { { PosResourceSetTypeAP-ExtIEs} } OPTIONAL
+}
+
+PosResourceSetTypeAP-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosSItypeList ::= SEQUENCE (SIZE(1.. maxnoofPosSITypes)) OF PosSItype-Item
+PosSItype-Item ::= SEQUENCE {
+ posItype PosSItype ,
+ iE-Extensions ProtocolExtensionContainer { { PosSItype-ItemExtIEs } } OPTIONAL
+}
+
+PosSItype-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosSItype ::= INTEGER (1..32, ...)
+
+PosSRSResourceID-List ::= SEQUENCE (SIZE (1..maxnoSRS-PosResourcePerSet)) OF SRSPosResourceID
+
+PosSRSResource-Item ::= SEQUENCE {
+ srs-PosResourceId SRSPosResourceID,
+ transmissionCombPos TransmissionCombPos,
+ startPosition INTEGER (0..13),
+ nrofSymbols ENUMERATED {n1, n2, n4, n8, n12},
+ freqDomainShift INTEGER (0..268),
+ c-SRS INTEGER (0..63),
+ groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping },
+ resourceTypePos ResourceTypePos,
+ sequenceId INTEGER (0.. 65535),
+ spatialRelationPos SpatialRelationPos OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PosSRSResource-Item-ExtIEs} } OPTIONAL
+}
+
+PosSRSResource-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosSRSResource-List ::= SEQUENCE (SIZE (1..maxnoSRS-PosResources)) OF PosSRSResource-Item
+
+PosSRSResourceSet-Item ::= SEQUENCE {
+ possrsResourceSetID INTEGER(0..15),
+ possRSResourceID-List PosSRSResourceID-List,
+ posresourceSetType PosResourceSetType,
+ iE-Extensions ProtocolExtensionContainer { { PosSRSResourceSet-Item-ExtIEs} } OPTIONAL
+}
+
+PosSRSResourceSet-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosSRSResourceSet-List ::= SEQUENCE (SIZE (1..maxnoSRS-PosResourceSets)) OF PosSRSResourceSet-Item
+
+PrimaryPathIndication ::= ENUMERATED {
+ true,
+ false,
+ ...
+}
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable
+}
+
+PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
+
+ProtectedEUTRAResourceIndication ::= OCTET STRING
+
+Protected-EUTRA-Resources-Item ::= SEQUENCE {
+ spectrumSharingGroupID SpectrumSharingGroupID,
+ eUTRACells-List EUTRACells-List,
+ iE-Extensions ProtocolExtensionContainer { { Protected-EUTRA-Resources-ItemExtIEs } } OPTIONAL
+}
+
+Protected-EUTRA-Resources-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSConfiguration ::= SEQUENCE {
+ pRSResourceSet-List PRSResourceSet-List,
+ iE-Extensions ProtocolExtensionContainer { { PRSConfiguration-ExtIEs } } OPTIONAL
+}
+
+PRSConfiguration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSInformationPos ::= SEQUENCE {
+ pRS-IDPos INTEGER(0..255),
+ pRS-Resource-Set-IDPos INTEGER(0..7),
+ pRS-Resource-IDPos INTEGER(0..63) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSInformationPos-ExtIEs} } OPTIONAL
+}
+
+PRSInformationPos-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRS-Measurement-Info-List ::= SEQUENCE (SIZE(1..maxFreqLayers)) OF PRS-Measurement-Info-List-Item
+
+PRS-Measurement-Info-List-Item ::= SEQUENCE {
+ pointA INTEGER (0..3279165),
+ measPRSPeriodicity ENUMERATED {ms20, ms40, ms80, ms160, ...},
+ measPRSOffset INTEGER (0..159, ...),
+ measurementPRSLength ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6, ms10, ms20},
+ iE-Extensions ProtocolExtensionContainer { { PRS-Measurement-Info-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRS-Measurement-Info-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Potential-SpCell-Item ::= SEQUENCE {
+ potential-SpCell-ID NRCGI ,
+ iE-Extensions ProtocolExtensionContainer { { Potential-SpCell-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Potential-SpCell-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PRSAngleList ::= SEQUENCE (SIZE(1.. maxnoofPRS-ResourcesPerSet)) OF PRSAngleItem
+
+PRSAngleItem ::= SEQUENCE {
+ nR-PRS-Azimuth INTEGER (0..359),
+ nR-PRS-Azimuth-fine INTEGER (0..9),
+ nR-PRS-Elevation INTEGER (0..180),
+ nR-PRS-Elevation-fine INTEGER (0..9),
+ iE-Extensions ProtocolExtensionContainer { { PRSAngleItem-ItemExtIEs } } OPTIONAL
+}
+
+PRSAngleItem-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-PRS-Resource-ID CRITICALITY ignore EXTENSION PRS-Resource-ID PRESENCE optional },
+ ...
+}
+
+PRSConfigRequestType ::= ENUMERATED {configure, off, ...}
+
+PRSMuting::= SEQUENCE {
+ pRSMutingOption1 PRSMutingOption1 OPTIONAL,
+ pRSMutingOption2 PRSMutingOption2 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSMuting-ExtIEs} } OPTIONAL
+}
+
+PRSMuting-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSMutingOption1 ::= SEQUENCE {
+ mutingPattern DL-PRSMutingPattern,
+ mutingBitRepetitionFactor ENUMERATED{rf1,rf2,rf4,rf8,...},
+ iE-Extensions ProtocolExtensionContainer { { PRSMutingOption1-ExtIEs} } OPTIONAL
+}
+
+PRSMutingOption1-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSMutingOption2 ::= SEQUENCE {
+ mutingPattern DL-PRSMutingPattern,
+ iE-Extensions ProtocolExtensionContainer { { PRSMutingOption2-ExtIEs} } OPTIONAL
+}
+
+PRSMutingOption2-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRS-Resource-ID ::= INTEGER (0..63)
+
+PRSResource-List::= SEQUENCE (SIZE (1..maxnoofPRSresources)) OF PRSResource-Item
+
+PRSResource-Item ::= SEQUENCE {
+ pRSResourceID PRS-Resource-ID,
+ sequenceID INTEGER(0..4095),
+ rEOffset INTEGER(0..11,...),
+ resourceSlotOffset INTEGER(0..511),
+ resourceSymbolOffset INTEGER(0..12),
+ qCLInfo PRSResource-QCLInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSResource-Item-ExtIEs} } OPTIONAL
+}
+
+PRSResource-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSResource-QCLInfo ::= CHOICE {
+ qCLSourceSSB PRSResource-QCLSourceSSB,
+ qCLSourcePRS PRSResource-QCLSourcePRS,
+ choice-extension ProtocolIE-SingleContainer { { PRSResource-QCLInfo-ExtIEs } }
+}
+PRSResource-QCLInfo-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+PRSResource-QCLSourceSSB ::= SEQUENCE {
+ pCI-NR INTEGER(0..1007),
+ sSB-Index SSB-Index OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSResource-QCLSourceSSB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSResource-QCLSourceSSB-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSResource-QCLSourcePRS ::= SEQUENCE {
+ qCLSourcePRSResourceSetID PRS-Resource-Set-ID,
+ qCLSourcePRSResourceID PRS-Resource-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSResource-QCLSourcePRS-ExtIEs} } OPTIONAL
+}
+
+PRSResource-QCLSourcePRS-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRS-Resource-Set-ID ::= INTEGER(0..7)
+
+PRSResourceSet-List ::= SEQUENCE (SIZE (1.. maxnoofPRSresourceSets)) OF PRSResourceSet-Item
+PRSResourceSet-Item ::= SEQUENCE {
+ pRSResourceSetID PRS-Resource-Set-ID,
+ subcarrierSpacing ENUMERATED{kHz15, kHz30, kHz60, kHz120, ...},
+ pRSbandwidth INTEGER(1..63),
+ startPRB INTEGER(0..2176),
+ pointA INTEGER (0..3279165),
+ combSize ENUMERATED{n2, n4, n6, n12, ...},
+ cPType ENUMERATED{normal, extended, ...},
+ resourceSetPeriodicity ENUMERATED{n4,n5,n8,n10,n16,n20,n32,n40,n64,n80,n160,n320,n640,n1280,n2560,n5120,n10240,n20480,n40960, n81920,...},
+ resourceSetSlotOffset INTEGER(0..81919,...),
+ resourceRepetitionFactor ENUMERATED{rf1,rf2,rf4,rf6,rf8,rf16,rf32,...},
+ resourceTimeGap ENUMERATED{tg1,tg2,tg4,tg8,tg16,tg32,...},
+ resourceNumberofSymbols ENUMERATED{n2,n4,n6,n12,...},
+ pRSMuting PRSMuting OPTIONAL,
+ pRSResourceTransmitPower INTEGER(-60..50),
+ pRSResource-List PRSResource-List,
+ iE-Extensions ProtocolExtensionContainer { { PRSResourceSet-Item-ExtIEs} } OPTIONAL
+}
+
+PRSResourceSet-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSTransmissionOffIndication ::= CHOICE {
+ pRSTransmissionOffPerTRP NULL,
+ pRSTransmissionOffPerResourceSet PRSTransmissionOffPerResourceSet,
+ pRSTransmissionOffPerResource PRSTransmissionOffPerResource,
+ choice-extension ProtocolIE-SingleContainer { { PRSTransmissionOffIndication-ExtIEs } }
+}
+
+PRSTransmissionOffIndication-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+PRSTransmissionOffPerResource ::= SEQUENCE (SIZE (1..maxnoofPRSresourceSets)) OF PRSTransmissionOffPerResource-Item
+
+PRSTransmissionOffPerResource-Item ::= SEQUENCE {
+ pRSResourceSetID PRS-Resource-Set-ID,
+ pRSTransmissionOffIndicationPerResourceList SEQUENCE (SIZE(1.. maxnoofPRSresources)) OF PRSTransmissionOffIndicationPerResource-Item,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionOffPerResource-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PRSTransmissionOffPerResource-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSTransmissionOffIndicationPerResource-Item ::= SEQUENCE {
+ pRSResourceID PRS-Resource-ID,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionOffIndicationPerResource-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PRSTransmissionOffIndicationPerResource-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSTransmissionOffInformation ::= SEQUENCE {
+ pRSTransmissionOffIndication PRSTransmissionOffIndication,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionOffInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PRSTransmissionOffInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSTransmissionOffPerResourceSet ::= SEQUENCE (SIZE (1..maxnoofPRSresourceSets)) OF PRSTransmissionOffPerResourceSet-Item
+
+PRSTransmissionOffPerResourceSet-Item ::= SEQUENCE {
+ pRSResourceSetID PRS-Resource-Set-ID,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionOffPerResourceSet-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PRSTransmissionOffPerResourceSet-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PWS-Failed-NR-CGI-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { { PWS-Failed-NR-CGI-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+PWS-Failed-NR-CGI-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PWSSystemInformation ::= SEQUENCE {
+ sIBtype SIBType-PWS,
+ sIBmessage OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { PWSSystemInformationExtIEs } } OPTIONAL,
+ ...
+}
+
+PWSSystemInformationExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-NotificationInformation CRITICALITY ignore EXTENSION NotificationInformation PRESENCE optional}|
+ { ID id-AdditionalSIBMessageList CRITICALITY reject EXTENSION AdditionalSIBMessageList PRESENCE optional},
+ ...
+}
+
+PrivacyIndicator ::= ENUMERATED {immediate-MDT, logged-MDT, ...}
+
+PRS-ID ::= INTEGER(0..255)
+
+PRSTRPList ::= SEQUENCE (SIZE(1.. maxnoofTRPs)) OF PRSTRPItem
+
+PRSTRPItem ::= SEQUENCE {
+ tRP-ID TRPID,
+ requestedDLPRSTransmissionCharacteristics RequestedDLPRSTransmissionCharacteristics OPTIONAL,
+ -- The IE shall be present if the PRS Configuration Request Type IE is set to “configure†--
+ pRSTransmissionOffInformation PRSTransmissionOffInformation OPTIONAL,
+ -- The IE shall be present if the PRS Configuration Request Type IE is set to “off†--
+
+ iE-Extensions ProtocolExtensionContainer { { PRSTRPItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSTRPItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedDLPRSTransmissionCharacteristics ::= SEQUENCE {
+ requestedDLPRSResourceSet-List RequestedDLPRSResourceSet-List,
+ numberofFrequencyLayers INTEGER(1..4) OPTIONAL,
+ startTimeAndDuration StartTimeAndDuration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedDLPRSTransmissionCharacteristics-ExtIEs} } OPTIONAL,
+ ...
+}
+RequestedDLPRSTransmissionCharacteristics-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedDLPRSResourceSet-List ::= SEQUENCE (SIZE (1..maxnoofPRSresourceSets)) OF RequestedDLPRSResourceSet-Item
+
+RequestedDLPRSResourceSet-Item ::= SEQUENCE {
+ pRSbandwidth INTEGER(1..63),
+ combSize ENUMERATED{n2, n4, n6, n12, ...} OPTIONAL,
+ resourceSetPeriodicity ENUMERATED{n4,n5,n8,n10,n16,n20,n32,n40,n64,n80,n160,n320,n640,n1280,n2560,n5120,n10240,n20480,n40960, n81920,...} OPTIONAL,
+ resourceRepetitionFactor ENUMERATED{rf1,rf2,rf4,rf6,rf8,rf16,rf32,...} OPTIONAL,
+ resourceNumberofSymbols ENUMERATED{n2,n4,n6,n12,...} OPTIONAL,
+ requestedDLPRSResource-List RequestedDLPRSResource-List OPTIONAL,
+ resourceSetStartTimeAndDuration StartTimeAndDuration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedDLPRSResourceSet-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestedDLPRSResourceSet-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedDLPRSResource-List::= SEQUENCE (SIZE (1..maxnoofPRSresources)) OF RequestedDLPRSResource-Item
+
+RequestedDLPRSResource-Item ::= SEQUENCE {
+ qCLInfo PRSResource-QCLInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedDLPRSResource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestedDLPRSResource-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PRSTransmissionTRPList ::= SEQUENCE (SIZE(1.. maxnoofTRPs)) OF PRSTransmissionTRPItem
+
+PRSTransmissionTRPItem ::= SEQUENCE {
+ tRP-ID TRPID,
+ pRSConfiguration PRSConfiguration,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionTRPItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSTransmissionTRPItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- Q
+
+QCI ::= INTEGER (0..255)
+
+QoEInformation ::= SEQUENCE {
+ qoEInformationList QoEInformationList,
+ iE-Extensions ProtocolExtensionContainer { { QoEInformation-ExtIEs} } OPTIONAL
+}
+
+QoEInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoEInformationList ::= SEQUENCE (SIZE(1.. maxnoofQoEInformation)) OF QoEInformationList-Item
+
+QoEInformationList-Item ::= SEQUENCE {
+ qoEMetrics QoEMetrics OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { QoEInformationList-Item-ExtIEs} } OPTIONAL
+}
+
+QoEInformationList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoEMetrics ::= SEQUENCE {
+ appLayerBufferLevelList AppLayerBufferLevelList OPTIONAL,
+ playoutDelayForMediaStartup PlayoutDelayForMediaStartup OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { QoEMetrics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoEMetrics-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoS-Characteristics ::= CHOICE {
+ non-Dynamic-5QI NonDynamic5QIDescriptor,
+ dynamic-5QI Dynamic5QIDescriptor,
+ choice-extension ProtocolIE-SingleContainer { { QoS-Characteristics-ExtIEs } }
+}
+
+QoS-Characteristics-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+QoSFlowIdentifier ::= INTEGER (0..63)
+
+QoSFlowLevelQoSParameters ::= SEQUENCE {
+ qoS-Characteristics QoS-Characteristics,
+ nGRANallocationRetentionPriority NGRANAllocationAndRetentionPriority,
+ gBR-QoS-Flow-Information GBR-QoSFlowInformation OPTIONAL,
+ reflective-QoS-Attribute ENUMERATED {subject-to, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { QoSFlowLevelQoSParameters-ExtIEs } } OPTIONAL
+}
+
+QoSFlowLevelQoSParameters-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-PDUSessionID CRITICALITY ignore EXTENSION PDUSessionID PRESENCE optional}|
+ { ID id-ULPDUSessionAggregateMaximumBitRate CRITICALITY ignore EXTENSION BitRate PRESENCE optional}|
+ { ID id-QosMonitoringRequest CRITICALITY ignore EXTENSION QosMonitoringRequest PRESENCE optional}|
+ { ID id-PDCPTerminatingNodeDLTNLAddrInfo CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
+ ...
+}
+
+QoSFlowMappingIndication ::= ENUMERATED {ul,dl,...}
+
+QoSInformation ::= CHOICE {
+ eUTRANQoS EUTRANQoS,
+ choice-extension ProtocolIE-SingleContainer { { QoSInformation-ExtIEs} }
+}
+
+QoSInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRB-Information CRITICALITY ignore TYPE DRB-Information PRESENCE mandatory},
+ ...
+}
+
+QosMonitoringRequest ::= ENUMERATED {ul, dl, both, ..., stop}
+
+QoSParaSetIndex ::= INTEGER (1..8, ...)
+
+QoSParaSetNotifyIndex ::= INTEGER (0..8, ...)
+
+-- R
+
+RACH-Config-Common ::= OCTET STRING
+
+RACH-Config-Common-IAB ::= OCTET STRING
+
+RACHReportContainer::= OCTET STRING
+
+RACHReportInformationList ::= SEQUENCE (SIZE(1.. maxnoofRACHReports)) OF RACHReportInformationItem
+
+RACHReportInformationItem ::= SEQUENCE {
+ rACHReportContainer RACHReportContainer,
+ uEAssitantIdentifier GNB-DU-UE-F1AP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RACHReportInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RACHReportInformationItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+RadioResourceStatus ::= SEQUENCE {
+ sSBAreaRadioResourceStatusList SSBAreaRadioResourceStatusList,
+ iE-Extensions ProtocolExtensionContainer { { RadioResourceStatus-ExtIEs} } OPTIONAL
+}
+
+RadioResourceStatus-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SliceRadioResourceStatus CRITICALITY ignore EXTENSION SliceRadioResourceStatus PRESENCE optional }|
+ { ID id-MIMOPRBusageInformation CRITICALITY ignore EXTENSION MIMOPRBusageInformation PRESENCE optional },
+ ...
+}
+
+MIMOPRBusageInformation ::= SEQUENCE {
+ dl-GBR-PRB-usage-for-MIMO INTEGER (0..100),
+ ul-GBR-PRB-usage-for-MIMO INTEGER (0..100),
+ dl-non-GBR-PRB-usage-for-MIMO INTEGER (0..100),
+ ul-non-GBR-PRB-usage-for-MIMO INTEGER (0..100),
+ dl-Total-PRB-usage-for-MIMO INTEGER (0..100),
+ ul-Total-PRB-usage-for-MIMO INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { MIMOPRBusageInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MIMOPRBusageInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RANAC ::= INTEGER (0..255)
+
+RAN-MeasurementID ::= INTEGER (1.. 65536, ...)
+
+RAN-UE-MeasurementID ::= INTEGER (1.. 256, ...)
+
+RAN-UE-PDC-MeasID ::= INTEGER (1..16, ...)
+
+RANUEID ::= OCTET STRING (SIZE (8))
+
+RANUEPagingIdentity ::= SEQUENCE {
+ iRNTI BIT STRING (SIZE(40)),
+ iE-Extensions ProtocolExtensionContainer { { RANUEPagingIdentity-ExtIEs } } OPTIONAL}
+
+RANUEPagingIdentity-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAT-FrequencyPriorityInformation::= CHOICE {
+ eNDC SubscriberProfileIDforRFP,
+ nGRAN RAT-FrequencySelectionPriority,
+ choice-extension ProtocolIE-SingleContainer { { RAT-FrequencyPriorityInformation-ExtIEs} }
+}
+
+RAT-FrequencyPriorityInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+RAT-FrequencySelectionPriority::= INTEGER (1.. 256, ...)
+
+RBSetConfiguration ::= SEQUENCE {
+ subcarrierSpacing SubcarrierSpacing,
+ rBSetSize RBSetSize,
+ nUmberRBsets INTEGER(1..maxnoofRBsetsPerCell),
+ iE-Extensions ProtocolExtensionContainer { { RBSetConfiguration-ExtIEs} } OPTIONAL
+}
+
+RBSetConfiguration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RBSetSize ::= ENUMERATED { rb2, rb4, rb8, rb16, rb32, rb64}
+
+
+
+Re-routingEnableIndicator ::= ENUMERATED {
+ true,
+ false,
+ ...
+}
+
+Redcap-Bcast-Information ::= BIT STRING(SIZE(8))
+
+RedCapIndication ::= ENUMERATED {true, ...}
+
+Reestablishment-Indication ::= ENUMERATED {
+ reestablished,
+ ...
+}
+
+ReferencePoint ::= CHOICE {
+ coordinateID CoordinateID,
+ referencePointCoordinate AccessPointPosition,
+ referencePointCoordinateHA NGRANHighAccuracyAccessPointPosition,
+ choice-Extension ProtocolIE-SingleContainer { { ReferencePoint-ExtIEs} }
+}
+
+ReferencePoint-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+ReferenceSFN ::= INTEGER (0..1023)
+
+ReferenceSignal ::= CHOICE {
+ nZP-CSI-RS NZP-CSI-RS-ResourceID,
+ sSB SSB,
+ sRS SRSResourceID,
+ positioningSRS SRSPosResourceID,
+ dL-PRS DL-PRS,
+ choice-extension ProtocolIE-SingleContainer {{ReferenceSignal-ExtIEs }}
+}
+
+ReferenceSignal-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+RelativeCartesianLocation ::= SEQUENCE {
+ xYZunit ENUMERATED {mm, cm, dm, ...},
+ xvalue INTEGER (-65536..65535),
+ yvalue INTEGER (-65536..65535),
+ zvalue INTEGER (-32768..32767),
+ locationUncertainty LocationUncertainty,
+ iE-Extensions ProtocolExtensionContainer { { RelativeCartesianLocation-ExtIEs} } OPTIONAL
+}
+
+RelativeCartesianLocation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RelativeGeodeticLocation ::= SEQUENCE {
+ milli-Arc-SecondUnits ENUMERATED {zerodot03, zerodot3, three, ...},
+ heightUnits ENUMERATED {mm, cm, m, ...},
+ deltaLatitude INTEGER (-1024.. 1023),
+ deltaLongitude INTEGER (-1024.. 1023),
+ deltaHeight INTEGER (-1024.. 1023),
+ locationUncertainty LocationUncertainty,
+ iE-extensions ProtocolExtensionContainer {{RelativeGeodeticLocation-ExtIEs }} OPTIONAL
+}
+
+RelativeGeodeticLocation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RemoteUELocalID ::= INTEGER (0..255, ...)
+
+
+ReferenceTime ::= OCTET STRING
+
+RegistrationRequest ::= ENUMERATED{start, stop, add, ...}
+
+ReportCharacteristics ::= BIT STRING (SIZE(32))
+
+ReportingPeriodicity ::= ENUMERATED{ms500, ms1000, ms2000, ms5000, ms10000, ...}
+
+RequestedBandCombinationIndex ::= OCTET STRING
+
+RequestedFeatureSetEntryIndex ::= OCTET STRING
+
+RequestedP-MaxFR2 ::= OCTET STRING
+
+Requested-PDCCH-BlindDetectionSCG ::= OCTET STRING
+
+
+RequestedSRSTransmissionCharacteristics ::= SEQUENCE {
+ numberOfTransmissions INTEGER (0..500, ...) OPTIONAL,
+-- The IE shall be present if the Resource Type IE is set to “periodic†--
+ resourceType ENUMERATED {periodic, semi-persistent, aperiodic,...},
+ bandwidthSRS BandwidthSRS,
+ sRSResourceSetList SRSResourceSetList OPTIONAL,
+ sSBInformation SSBInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedSRSTransmissionCharacteristics-ExtIEs} } OPTIONAL
+}
+
+RequestedSRSTransmissionCharacteristics-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SrsFrequency CRITICALITY ignore EXTENSION SrsFrequency PRESENCE optional },
+ ...
+}
+
+
+RequestType ::= ENUMERATED {offer, execution, ...}
+
+ResourceCoordinationEUTRACellInfo ::= SEQUENCE {
+ eUTRA-Mode-Info EUTRA-Coex-Mode-Info,
+ eUTRA-PRACH-Configuration EUTRA-PRACH-Configuration,
+ iE-Extensions ProtocolExtensionContainer { { ResourceCoordinationEUTRACellInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ResourceCoordinationEUTRACellInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-IgnorePRACHConfiguration CRITICALITY reject EXTENSION IgnorePRACHConfiguration PRESENCE optional },
+ ...
+}
+
+ResourceCoordinationTransferInformation ::= SEQUENCE {
+ meNB-Cell-ID EUTRA-Cell-ID,
+ resourceCoordinationEUTRACellInfo ResourceCoordinationEUTRACellInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResourceCoordinationTransferInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ResourceCoordinationTransferInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceCoordinationTransferContainer ::= OCTET STRING
+
+ResourceSetType ::= CHOICE {
+ periodic ResourceSetTypePeriodic,
+ semi-persistent ResourceSetTypeSemi-persistent,
+ aperiodic ResourceSetTypeAperiodic,
+ choice-extension ProtocolIE-SingleContainer {{ ResourceSetType-ExtIEs }}
+}
+
+ResourceSetType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+ResourceSetTypePeriodic ::= SEQUENCE {
+ periodicSet ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { ResourceSetTypePeriodic-ExtIEs} } OPTIONAL
+}
+
+ResourceSetTypePeriodic-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceSetTypeSemi-persistent ::= SEQUENCE {
+ semi-persistentSet ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { ResourceSetTypeSemi-persistent-ExtIEs} } OPTIONAL
+}
+
+ResourceSetTypeSemi-persistent-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceSetTypeAperiodic ::= SEQUENCE {
+ sRSResourceTrigger-List INTEGER(1..3),
+ slotoffset INTEGER(0..32),
+ iE-Extensions ProtocolExtensionContainer { { ResourceSetTypeAperiodic-ExtIEs} } OPTIONAL
+}
+
+ResourceSetTypeAperiodic-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RepetitionFactorExtended ::= ENUMERATED {n3, n5, n6, n7, n8, n10, n12, n14, ...}
+RepetitionPeriod ::= INTEGER (0..131071, ...)
+
+ReportingRequestType ::= SEQUENCE {
+ eventType EventType,
+ reportingPeriodicityValue ReportingPeriodicityValue OPTIONAL,
+ -- C-ifEventTypeisPeriodic: This IE shall be present if the Event Type IE is set to "periodic" in the Event Type IE.
+ iE-Extensions ProtocolExtensionContainer { {ReportingRequestType-ExtIEs} } OPTIONAL
+}
+
+ReportingRequestType-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceType ::= CHOICE {
+ periodic ResourceTypePeriodic,
+ semi-persistent ResourceTypeSemi-persistent,
+ aperiodic ResourceTypeAperiodic,
+ choice-extension ProtocolIE-SingleContainer {{ ResourceType-ExtIEs }}
+}
+
+ResourceType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+ResourceTypePeriodic ::= SEQUENCE {
+ periodicity ENUMERATED{slot1, slot2, slot4, slot5, slot8, slot10, slot16, slot20, slot32, slot40, slot64, slot80, slot160, slot320, slot640, slot1280, slot2560, ...},
+ offset INTEGER(0..2559, ...),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypePeriodic-ExtIEs} } OPTIONAL
+}
+
+ResourceTypePeriodic-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceTypeSemi-persistent ::= SEQUENCE {
+ periodicity ENUMERATED{slot1, slot2, slot4, slot5, slot8, slot10, slot16, slot20, slot32, slot40, slot64, slot80, slot160, slot320, slot640, slot1280, slot2560, ...},
+ offset INTEGER(0..2559, ...),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypeSemi-persistent-ExtIEs} } OPTIONAL
+}
+
+ResourceTypeSemi-persistent-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceTypeAperiodic ::= SEQUENCE {
+ aperiodicResourceType ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypeAperiodic-ExtIEs} } OPTIONAL
+}
+
+ResourceTypeAperiodic-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceTypePos ::= CHOICE {
+ periodic ResourceTypePeriodicPos,
+ semi-persistent ResourceTypeSemi-persistentPos,
+ aperiodic ResourceTypeAperiodicPos,
+ choice-extension ProtocolIE-SingleContainer {{ ResourceTypePos-ExtIEs }}
+}
+
+ResourceTypePos-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+ResourceTypePeriodicPos ::= SEQUENCE {
+ periodicity ENUMERATED{slot1, slot2, slot4, slot5, slot8, slot10, slot16, slot20, slot32, slot40, slot64, slot80, slot160, slot320, slot640, slot1280, slot2560, slot5120, slot10240, slot40960, slot81920, ..., slot128, slot256, slot512, slot20480},
+ offset INTEGER(0..81919, ...),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypePeriodicPos-ExtIEs} } OPTIONAL
+}
+
+ResourceTypePeriodicPos-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceTypeSemi-persistentPos ::= SEQUENCE {
+ periodicity ENUMERATED{slot1, slot2, slot4, slot5, slot8, slot10, slot16, slot20, slot32, slot40, slot64, slot80, slot160, slot320, slot640, slot1280, slot2560, slot5120, slot10240, slot40960, slot81920, ..., slot128, slot256, slot512, slot20480},
+ offset INTEGER(0..81919, ...),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypeSemi-persistentPos-ExtIEs} } OPTIONAL
+}
+
+ResourceTypeSemi-persistentPos-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceTypeAperiodicPos ::= SEQUENCE {
+ slotOffset INTEGER (0..32),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypeAperiodicPos-ExtIEs} } OPTIONAL
+}
+
+ResourceTypeAperiodicPos-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLCDuplicationInformation ::= SEQUENCE {
+ rLCDuplicationStateList RLCDuplicationStateList,
+ primaryPathIndication PrimaryPathIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RLCDuplicationInformation-ExtIEs} } OPTIONAL
+}
+
+RLCDuplicationInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLCDuplicationStateList ::= SEQUENCE (SIZE(1..maxnoofRLCDuplicationState)) OF RLCDuplicationState-Item
+
+RLCDuplicationState-Item ::=SEQUENCE {
+ duplicationState DuplicationState,
+ iE-Extensions ProtocolExtensionContainer { {RLCDuplicationState-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+
+RLCDuplicationState-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLCFailureIndication ::= SEQUENCE {
+ assocatedLCID LCID,
+ iE-Extensions ProtocolExtensionContainer { {RLCFailureIndication-ExtIEs} } OPTIONAL
+}
+
+RLCFailureIndication-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLCMode ::= ENUMERATED {
+ rlc-am,
+ rlc-um-bidirectional,
+ rlc-um-unidirectional-ul,
+ rlc-um-unidirectional-dl,
+ ...
+}
+
+RLC-Status ::= SEQUENCE {
+ reestablishment-Indication Reestablishment-Indication,
+ iE-Extensions ProtocolExtensionContainer { { RLC-Status-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RLC-Status-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLFReportInformationList ::= SEQUENCE (SIZE(1.. maxnoofRLFReports)) OF RLFReportInformationItem
+
+RLFReportInformationItem ::= SEQUENCE {
+ nRUERLFReportContainer NRUERLFReportContainer,
+ uEAssitantIdentifier GNB-DU-UE-F1AP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RLFReportInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLFReportInformationItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RIMRSDetectionStatus ::= ENUMERATED {rs-detected, rs-disappeared, ...}
+
+RRCContainer ::= OCTET STRING
+
+RRCContainer-RRCSetupComplete ::= OCTET STRING
+
+RRCDeliveryStatus ::= SEQUENCE {
+ delivery-status PDCP-SN,
+ triggering-message PDCP-SN,
+ iE-Extensions ProtocolExtensionContainer { { RRCDeliveryStatus-ExtIEs } } OPTIONAL}
+
+RRCDeliveryStatus-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RRCDeliveryStatusRequest ::= ENUMERATED {true, ...}
+
+RRCReconfigurationCompleteIndicator ::= ENUMERATED {
+ true,
+ ...,
+ failure
+}
+
+RRC-Version ::= SEQUENCE {
+ latest-RRC-Version BIT STRING (SIZE(3)),
+ iE-Extensions ProtocolExtensionContainer { { RRC-Version-ExtIEs } } OPTIONAL}
+
+-- WS modification: define a dedicated type
+Latest-RRC-Version-Enhanced ::= OCTET STRING (SIZE(3))
+
+RRC-Version-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+-- WS modification: define a dedicated type
+-- {ID id-latest-RRC-Version-Enhanced CRITICALITY ignore EXTENSION OCTET STRING (SIZE(3)) PRESENCE optional },
+ {ID id-latest-RRC-Version-Enhanced CRITICALITY ignore EXTENSION Latest-RRC-Version-Enhanced PRESENCE optional },
+ ...
+}
+
+RoutingID ::= OCTET STRING
+
+ResponseTime ::= SEQUENCE {
+ time INTEGER (1..128,...),
+ timeUnit ENUMERATED {second, ten-seconds, ten-milliseconds,...},
+ iE-Extensions ProtocolExtensionContainer { { ResponseTime-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResponseTime-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RxTxTimingErrorMargin ::= ENUMERATED {tc0dot5, tc1, tc2, tc4, tc8, tc12, tc16, tc20, tc24, tc32, tc40, tc48, tc64, tc80, tc96, tc128, ...}
+
+-- S
+
+SCell-FailedtoSetup-Item ::= SEQUENCE {
+ sCell-ID NRCGI ,
+ cause Cause OPTIONAL ,
+ iE-Extensions ProtocolExtensionContainer { { SCell-FailedtoSetup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SCell-FailedtoSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SCell-FailedtoSetupMod-Item ::= SEQUENCE {
+ sCell-ID NRCGI ,
+ cause Cause OPTIONAL ,
+ iE-Extensions ProtocolExtensionContainer { { SCell-FailedtoSetupMod-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SCell-FailedtoSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SCell-ToBeRemoved-Item ::= SEQUENCE {
+ sCell-ID NRCGI ,
+ iE-Extensions ProtocolExtensionContainer { { SCell-ToBeRemoved-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SCell-ToBeRemoved-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SCell-ToBeSetup-Item ::= SEQUENCE {
+ sCell-ID NRCGI ,
+ sCellIndex SCellIndex,
+ sCellULConfigured CellULConfigured OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SCell-ToBeSetup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SCell-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ServingCellMO CRITICALITY ignore EXTENSION ServingCellMO PRESENCE optional },
+ ...
+}
+
+SCell-ToBeSetupMod-Item ::= SEQUENCE {
+ sCell-ID NRCGI ,
+ sCellIndex SCellIndex,
+ sCellULConfigured CellULConfigured OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SCell-ToBeSetupMod-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SCell-ToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ServingCellMO CRITICALITY ignore EXTENSION ServingCellMO PRESENCE optional },
+ ...
+}
+
+SCellIndex ::=INTEGER (1..31, ...)
+
+SCGActivationRequest ::= ENUMERATED {activate-scg, deactivate-scg, ...}
+
+SCGActivationStatus ::= ENUMERATED {scg-activated, scg-deactivated, ...}
+
+SCGIndicator ::= ENUMERATED{released, ...}
+
+SCS-480 ::= INTEGER(0..319)
+
+SCS-960 ::= INTEGER(0..639)
+
+SCS-SpecificCarrier ::= SEQUENCE {
+ offsetToCarrier INTEGER (0..2199,...),
+ subcarrierSpacing ENUMERATED {kHz15, kHz30, kHz60, kHz120,..., kHz480, kHz960},
+ carrierBandwidth INTEGER (1..275,...),
+ iE-Extensions ProtocolExtensionContainer { { SCS-SpecificCarrier-ExtIEs } } OPTIONAL
+}
+
+SCS-SpecificCarrier-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDTBearerConfigurationQueryIndication ::= ENUMERATED {true, ...}
+
+SDTBearerConfigurationInfo ::= SEQUENCE {
+ sDTBearerConfig-List SDTBearerConfig-List,
+ iE-Extensions ProtocolExtensionContainer { { SDTBearerConfigurationInfo-ExtIEs } } OPTIONAL
+}
+
+SDTBearerConfigurationInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDTBearerConfig-List ::= SEQUENCE (SIZE(1..maxnoofSDTBearers)) OF SDTBearerConfig-List-Item
+
+SDTBearerConfig-List-Item ::= SEQUENCE{
+ sDTBearerType SDTBearerType,
+ sDTRLCBearerConfiguration SDTRLCBearerConfiguration,
+ iE-Extensions ProtocolExtensionContainer {{ SDTBearerConfig-List-Item-ExtIEs}} OPTIONAL
+}
+
+SDTBearerConfig-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDTBearerType ::= CHOICE {
+ sRB SRBID,
+ dRB DRBID,
+ choice-extension ProtocolIE-SingleContainer {{ SDTBearerType-ExtIEs }}
+}
+
+SDTBearerType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+SDT-MAC-PHY-CG-Config ::= OCTET STRING
+
+SDTInformation ::= SEQUENCE {
+ sdtIndicator ENUMERATED {true,...},
+ sdtAssistantInformation ENUMERATED {singlepacket, multiplepackets,...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SDTInformation-ExtIEs } } OPTIONAL
+}
+
+SDTInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDTRLCBearerConfiguration ::= OCTET STRING
+
+SDT-Termination-Request ::= ENUMERATED {radio-link-problem, normal, ...}
+
+
+Search-window-information ::= SEQUENCE {
+ expectedPropagationDelay INTEGER (-3841..3841,...),
+ delayUncertainty INTEGER (1..246,...),
+ iE-Extensions ProtocolExtensionContainer { { Search-window-information-ExtIEs } } OPTIONAL
+}
+
+Search-window-information-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SerialNumber ::= BIT STRING (SIZE (16))
+
+SIBType-PWS ::=INTEGER (6..8, ...)
+
+SelectedBandCombinationIndex ::= OCTET STRING
+
+SelectedFeatureSetEntryIndex ::= OCTET STRING
+
+CG-ConfigInfo ::= OCTET STRING
+
+ServCellIndex ::= INTEGER (0..31, ...)
+
+ServingCellMO ::= INTEGER (1..64, ...)
+
+ServingCellMO-List-Item ::= SEQUENCE {
+ servingCellMO ServingCellMO,
+ sSB-Frequency INTEGER (0..3279165),
+ iE-Extensions ProtocolExtensionContainer { { ServingCellMO-List-Item-ExtIEs } } OPTIONAL
+}
+
+ServingCellMO-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ServingCellMO-encoded-in-CGC-List ::= SEQUENCE (SIZE(1.. maxNrofBWPs)) OF ServingCellMO-encoded-in-CGC-Item
+
+ServingCellMO-encoded-in-CGC-Item ::= SEQUENCE {
+ servingCellMO ServingCellMO,
+ iE-Extensions ProtocolExtensionContainer { { ServingCellMO-encoded-in-CGC-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ServingCellMO-encoded-in-CGC-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Served-Cell-Information ::= SEQUENCE {
+ nRCGI NRCGI,
+ nRPCI NRPCI,
+ fiveGS-TAC FiveGS-TAC OPTIONAL,
+ configured-EPS-TAC Configured-EPS-TAC OPTIONAL,
+ servedPLMNs ServedPLMNs-List,
+ nR-Mode-Info NR-Mode-Info,
+ measurementTimingConfiguration OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { {Served-Cell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Served-Cell-Information-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RANAC CRITICALITY ignore EXTENSION RANAC PRESENCE optional }|
+ { ID id-ExtendedServedPLMNs-List CRITICALITY ignore EXTENSION ExtendedServedPLMNs-List PRESENCE optional }|
+ { ID id-Cell-Direction CRITICALITY ignore EXTENSION Cell-Direction PRESENCE optional }|
+ { ID id-BPLMN-ID-Info-List CRITICALITY ignore EXTENSION BPLMN-ID-Info-List PRESENCE optional }|
+ { ID id-Cell-Type CRITICALITY ignore EXTENSION CellType PRESENCE optional}|
+ { ID id-ConfiguredTACIndication CRITICALITY ignore EXTENSION ConfiguredTACIndication PRESENCE optional }|
+ { ID id-AggressorgNBSetID CRITICALITY ignore EXTENSION AggressorgNBSetID PRESENCE optional}|
+ { ID id-VictimgNBSetID CRITICALITY ignore EXTENSION VictimgNBSetID PRESENCE optional}|
+ { ID id-IAB-Info-IAB-DU CRITICALITY ignore EXTENSION IAB-Info-IAB-DU PRESENCE optional}|
+ { ID id-SSB-PositionsInBurst CRITICALITY ignore EXTENSION SSB-PositionsInBurst PRESENCE optional }|
+ { ID id-NRPRACHConfig CRITICALITY ignore EXTENSION NRPRACHConfig PRESENCE optional }|
+ { ID id-SFN-Offset CRITICALITY ignore EXTENSION SFN-Offset PRESENCE optional }|
+ { ID id-NPNBroadcastInformation CRITICALITY reject EXTENSION NPNBroadcastInformation PRESENCE optional }|
+ { ID id-Supported-MBS-FSA-ID-List CRITICALITY ignore EXTENSION Supported-MBS-FSA-ID-List PRESENCE optional }|
+ { ID id-Redcap-Bcast-Information CRITICALITY ignore EXTENSION Redcap-Bcast-Information PRESENCE optional },
+ ...
+}
+
+Serving-Cells-List ::= SEQUENCE (SIZE(1..maxnoofServingCells)) OF Serving-Cells-List-Item
+
+Serving-Cells-List-Item ::= SEQUENCE{
+ nRCGI NRCGI,
+ iAB-MT-Cell-NA-Resource-Configuration-Mode-Info IAB-MT-Cell-NA-Resource-Configuration-Mode-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{Serving-Cells-List-Item-ExtIEs}} OPTIONAL
+}
+
+Serving-Cells-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Supported-MBS-FSA-ID-List::= SEQUENCE (SIZE(1.. maxnoofMBSFSAs)) OF MBS-FrequencySelectionArea-Identity
+
+MBS-FrequencySelectionArea-Identity::= OCTET STRING (SIZE(3))
+
+SFN-Offset ::= SEQUENCE {
+ sFN-Time-Offset BIT STRING (SIZE(24)),
+ iE-Extensions ProtocolExtensionContainer { {SFN-Offset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SFN-Offset-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Served-Cells-To-Add-Item ::= SEQUENCE {
+ served-Cell-Information Served-Cell-Information,
+ gNB-DU-System-Information GNB-DU-System-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Served-Cells-To-Add-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+Served-Cells-To-Add-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Served-Cells-To-Delete-Item ::= SEQUENCE {
+ oldNRCGI NRCGI ,
+ iE-Extensions ProtocolExtensionContainer { { Served-Cells-To-Delete-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Served-Cells-To-Delete-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Served-Cells-To-Modify-Item ::= SEQUENCE {
+ oldNRCGI NRCGI ,
+ served-Cell-Information Served-Cell-Information ,
+ gNB-DU-System-Information GNB-DU-System-Information OPTIONAL ,
+ iE-Extensions ProtocolExtensionContainer { { Served-Cells-To-Modify-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Served-Cells-To-Modify-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Served-EUTRA-Cells-Information::= SEQUENCE {
+ eUTRA-Mode-Info EUTRA-Mode-Info,
+ protectedEUTRAResourceIndication ProtectedEUTRAResourceIndication,
+ iE-Extensions ProtocolExtensionContainer { {Served-EUTRA-Cell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Served-EUTRA-Cell-Information-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Service-State ::= ENUMERATED {
+ in-service,
+ out-of-service,
+ ...
+}
+
+Service-Status ::= SEQUENCE {
+ service-state Service-State,
+ switchingOffOngoing ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Service-Status-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Service-Status-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RelativeTime1900 ::= BIT STRING (SIZE (64))
+
+ShortDRXCycleLength ::= ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32, ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, ...}
+
+ShortDRXCycleTimer ::= INTEGER (1..16)
+
+SIB1-message ::= OCTET STRING
+
+SIB10-message ::= OCTET STRING
+
+SIB12-message ::= OCTET STRING
+
+SIB13-message ::= OCTET STRING
+
+SIB14-message ::= OCTET STRING
+
+SIB15-message ::= OCTET STRING
+
+SIB17-message ::= OCTET STRING
+
+SIB20-message ::= OCTET STRING
+
+SItype ::= INTEGER (1..32, ...)
+
+SItype-List ::= SEQUENCE (SIZE(1.. maxnoofSITypes)) OF SItype-Item
+
+SItype-Item ::= SEQUENCE {
+ sItype SItype ,
+ iE-Extensions ProtocolExtensionContainer { { SItype-ItemExtIEs } } OPTIONAL
+}
+
+SItype-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SibtypetobeupdatedListItem ::= SEQUENCE {
+ sIBtype INTEGER (2..32,...),
+ sIBmessage OCTET STRING,
+ valueTag INTEGER (0..31,...),
+ iE-Extensions ProtocolExtensionContainer { { SibtypetobeupdatedListItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SibtypetobeupdatedListItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-areaScope CRITICALITY ignore EXTENSION AreaScope PRESENCE optional},
+ ...
+}
+
+SidelinkRelayConfiguration ::= SEQUENCE {
+ gNB-DU-UE-F1APIDofRelayUE GNB-DU-UE-F1AP-ID,
+ remoteUELocalID RemoteUELocalID,
+ sidelinkConfigurationContainer SidelinkConfigurationContainer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SidelinkRelayConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SidelinkRelayConfiguration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SidelinkConfigurationContainer ::= OCTET STRING
+
+SLDRBID ::= INTEGER (1..512, ...)
+
+SLDRBInformation ::= SEQUENCE {
+ sLDRB-QoS PC5QoSParameters,
+ flowsMappedToSLDRB-List FlowsMappedToSLDRB-List,
+ ...
+}
+
+SLDRBs-FailedToBeModified-Item ::= SEQUENCE {
+ sLDRBID SLDRBID ,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-FailedToBeModified-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-FailedToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-FailedToBeSetup-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-FailedToBeSetup-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-FailedToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-FailedToBeSetupMod-Item ::= SEQUENCE {
+ sLDRBID SLDRBID ,
+ cause Cause OPTIONAL ,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-FailedToBeSetupMod-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-FailedToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-Modified-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-Modified-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-Modified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-ModifiedConf-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-ModifiedConf-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-ModifiedConf-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-Required-ToBeModified-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-Required-ToBeModified-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-Required-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-Required-ToBeReleased-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-Required-ToBeReleased-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-Required-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-Setup-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-Setup-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-Setup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-SetupMod-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-SetupMod-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-SetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-ToBeModified-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ sLDRBInformation SLDRBInformation OPTIONAL,
+ rLCMode RLCMode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-ToBeModified-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-ToBeModified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-ToBeReleased-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-ToBeReleased-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-ToBeSetup-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ sLDRBInformation SLDRBInformation,
+ rLCMode RLCMode,
+
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-ToBeSetup-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRBs-ToBeSetupMod-Item ::= SEQUENCE {
+ sLDRBID SLDRBID,
+ sLDRBInformation SLDRBInformation,
+ rLCMode RLCMode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SLDRBs-ToBeSetupMod-ItemExtIEs } } OPTIONAL
+}
+
+SLDRBs-ToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRXCycleList ::= SEQUENCE (SIZE(1.. maxnoofSLdestinations)) OF SLDRXCycleItem
+SLDRXCycleItem ::= SEQUENCE {
+ rXUEID BIT STRING (SIZE(24)),
+ sLDRXInformation SLDRXInformation,
+ iE-Extensions ProtocolExtensionContainer { { SLDRXCycleItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SLDRXCycleItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SLDRXInformation ::= CHOICE {
+ sLDRXCycle SLDRXCycleLength,
+ nosLDRX SLDRXConfigurationIndicator,
+ choice-extension ProtocolIE-SingleContainer { { SLDRXInformation-ExtIEs} }
+}
+
+SLDRXCycleLength ::= ENUMERATED{ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512, ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, ...}
+
+SLDRXConfigurationIndicator ::= ENUMERATED{ release, ...}
+
+
+SLDRXInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+SL-PHY-MAC-RLC-Config ::= OCTET STRING
+
+SL-RLC-ChannelToAddModList::= OCTET STRING
+
+SL-ConfigDedicatedEUTRA-Info ::= OCTET STRING
+
+SliceAvailableCapacity ::= SEQUENCE {
+ sliceAvailableCapacityList SliceAvailableCapacityList,
+ iE-Extensions ProtocolExtensionContainer { { SliceAvailableCapacity-ExtIEs} } OPTIONAL
+}
+
+SliceAvailableCapacity-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SliceAvailableCapacityList ::= SEQUENCE (SIZE(1.. maxnoofBPLMNsNR)) OF SliceAvailableCapacityItem
+
+SliceAvailableCapacityItem ::= SEQUENCE {
+ pLMNIdentity PLMN-Identity,
+ sNSSAIAvailableCapacity-List SNSSAIAvailableCapacity-List,
+ iE-Extensions ProtocolExtensionContainer { { SliceAvailableCapacityItem-ExtIEs} } OPTIONAL
+}
+
+SliceAvailableCapacityItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNSSAIAvailableCapacity-List ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF SNSSAIAvailableCapacity-Item
+
+SNSSAIAvailableCapacity-Item ::= SEQUENCE {
+ sNSSAI SNSSAI,
+ sliceAvailableCapacityValueDownlink INTEGER (0..100) OPTIONAL,
+ sliceAvailableCapacityValueUplink INTEGER (0..100) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SNSSAIAvailableCapacity-Item-ExtIEs } } OPTIONAL
+}
+
+SNSSAIAvailableCapacity-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SliceRadioResourceStatus ::= SEQUENCE {
+ sliceRadioResourceStatus SliceRadioResourceStatus-List,
+ iE-Extensions ProtocolExtensionContainer { { SliceRadioResourceStatus-ExtIEs} } OPTIONAL
+}
+
+SliceRadioResourceStatus-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SliceRadioResourceStatus-List ::= SEQUENCE (SIZE(1..maxnoofBPLMNsNR)) OF SliceRadioResourceStatus-Item
+
+SliceRadioResourceStatus-Item::= SEQUENCE {
+ pLMNIdentity PLMN-Identity,
+ sNSSAIRadioResourceStatus-List SNSSAIRadioResourceStatus-List,
+ iE-Extensions ProtocolExtensionContainer { { SliceRadioResourceStatus-Item-ExtIEs} } OPTIONAL
+}
+
+SliceRadioResourceStatus-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNSSAIRadioResourceStatus-List ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF SNSSAIRadioResourceStatus-Item
+
+SNSSAIRadioResourceStatus-Item ::= SEQUENCE {
+ sNSSAI SNSSAI,
+ sNSSAIdlGBRPRBusage INTEGER (0..100),
+ sNSSAIulGBRPRBusage INTEGER (0..100),
+ sNSSAIdlNonGBRPRBusage INTEGER (0..100),
+ sNSSAIulNonGBRPRBusage INTEGER (0..100),
+ sNSSAIdlTotalPRBallocation INTEGER (0..100),
+ sNSSAIulTotalPRBallocation INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { SNSSAIRadioResourceStatus-Item-ExtIEs } } OPTIONAL
+}
+
+SNSSAIRadioResourceStatus-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SliceSupportList ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF SliceSupportItem
+
+SliceSupportItem ::= SEQUENCE {
+ sNSSAI SNSSAI,
+ iE-Extensions ProtocolExtensionContainer { { SliceSupportItem-ExtIEs } } OPTIONAL
+}
+
+SliceSupportItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SliceToReportList ::= SEQUENCE (SIZE(1.. maxnoofBPLMNsNR)) OF SliceToReportItem
+
+SliceToReportItem ::= SEQUENCE {
+ pLMNIdentity PLMN-Identity,
+ sNSSAIlist SNSSAI-list,
+ iE-Extensions ProtocolExtensionContainer { { SliceToReportItem-ExtIEs} } OPTIONAL
+}
+
+SliceToReportItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SlotNumber ::= INTEGER (0..79)
+
+SNSSAI-list ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF SNSSAI-Item
+
+SNSSAI-Item ::= SEQUENCE {
+ sNSSAI SNSSAI,
+ iE-Extensions ProtocolExtensionContainer { { SNSSAI-Item-ExtIEs } } OPTIONAL
+}
+
+SNSSAI-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Slot-Configuration-List ::= SEQUENCE (SIZE(1.. maxnoofslots)) OF Slot-Configuration-Item
+
+Slot-Configuration-Item ::= SEQUENCE {
+ slotIndex INTEGER (0..5119, ...),
+ symbolAllocInSlot SymbolAllocInSlot,
+ iE-Extensions ProtocolExtensionContainer { { Slot-Configuration-ItemExtIEs } } OPTIONAL
+}
+
+Slot-Configuration-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SNSSAI ::= SEQUENCE {
+ sST OCTET STRING (SIZE(1)),
+ sD OCTET STRING (SIZE(3)) OPTIONAL ,
+ iE-Extensions ProtocolExtensionContainer { { SNSSAI-ExtIEs } } OPTIONAL
+}
+
+SNSSAI-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SpatialDirectionInformation ::= SEQUENCE {
+ nR-PRSBeamInformation NR-PRSBeamInformation,
+ iE-Extensions ProtocolExtensionContainer { { SpatialDirectionInformation-ExtIEs } } OPTIONAL
+}
+
+SpatialDirectionInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SpatialRelationInfo ::= SEQUENCE {
+ spatialRelationforResourceID SpatialRelationforResourceID,
+ iE-Extensions ProtocolExtensionContainer { {SpatialRelationInfo-ExtIEs} } OPTIONAL
+}
+
+SpatialRelationInfo-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SpatialRelationforResourceID ::= SEQUENCE (SIZE(1..maxnoofSpatialRelations)) OF SpatialRelationforResourceIDItem
+
+SpatialRelationforResourceIDItem ::= SEQUENCE {
+ referenceSignal ReferenceSignal,
+ iE-Extensions ProtocolExtensionContainer { {SpatialRelationforResourceIDItem-ExtIEs} } OPTIONAL
+}
+
+SpatialRelationforResourceIDItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SpatialRelationPerSRSResource ::= SEQUENCE {
+ spatialRelationPerSRSResource-List SpatialRelationPerSRSResource-List,
+ iE-Extensions ProtocolExtensionContainer { { SpatialRelationPerSRSResource-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SpatialRelationPerSRSResource-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SpatialRelationPerSRSResource-List::= SEQUENCE(SIZE (1.. maxnoSRS-ResourcePerSet)) OF SpatialRelationPerSRSResourceItem
+
+SpatialRelationPerSRSResourceItem ::= SEQUENCE {
+ referenceSignal ReferenceSignal,
+ iE-Extensions ProtocolExtensionContainer { { SpatialRelationPerSRSResourceItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SpatialRelationPerSRSResourceItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SpatialRelationPos ::= CHOICE {
+ sSBPos SSB,
+ pRSInformationPos PRSInformationPos,
+ choice-extension ProtocolIE-SingleContainer {{ SpatialInformationPos-ExtIEs }}
+}
+
+SpatialInformationPos-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+SpectrumSharingGroupID ::= INTEGER (1..maxCellineNB)
+
+SRBID ::= INTEGER (0..3, ...)
+
+SRBs-FailedToBeSetup-Item ::= SEQUENCE {
+ sRBID SRBID ,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SRBs-FailedToBeSetup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SRBs-FailedToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRBs-FailedToBeSetupMod-Item ::= SEQUENCE {
+ sRBID SRBID ,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SRBs-FailedToBeSetupMod-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SRBs-FailedToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRBs-Modified-Item ::= SEQUENCE {
+ sRBID SRBID,
+ lCID LCID,
+ iE-Extensions ProtocolExtensionContainer { { SRBs-Modified-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SRBs-Modified-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRBs-Required-ToBeReleased-Item ::= SEQUENCE {
+ sRBID SRBID,
+ iE-Extensions ProtocolExtensionContainer { { SRBs-Required-ToBeReleased-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SRBs-Required-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRBs-Setup-Item ::= SEQUENCE {
+ sRBID SRBID,
+ lCID LCID,
+ iE-Extensions ProtocolExtensionContainer { { SRBs-Setup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SRBs-Setup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRBs-SetupMod-Item ::= SEQUENCE {
+ sRBID SRBID,
+ lCID LCID,
+ iE-Extensions ProtocolExtensionContainer { { SRBs-SetupMod-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SRBs-SetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRBs-ToBeReleased-Item ::= SEQUENCE {
+ sRBID SRBID,
+ iE-Extensions ProtocolExtensionContainer { { SRBs-ToBeReleased-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SRBs-ToBeReleased-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRBs-ToBeSetup-Item ::= SEQUENCE {
+ sRBID SRBID ,
+ duplicationIndication DuplicationIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SRBs-ToBeSetup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SRBs-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalDuplicationIndication CRITICALITY ignore EXTENSION AdditionalDuplicationIndication PRESENCE optional }|
+ { ID id-SDTRLCBearerConfiguration CRITICALITY ignore EXTENSION SDTRLCBearerConfiguration PRESENCE optional }|
+ { ID id-SRBMappingInfo CRITICALITY ignore EXTENSION UuRLCChannelID PRESENCE optional },
+ ...
+}
+
+SRBs-ToBeSetupMod-Item ::= SEQUENCE {
+ sRBID SRBID,
+ duplicationIndication DuplicationIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SRBs-ToBeSetupMod-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+SRBs-ToBeSetupMod-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalDuplicationIndication CRITICALITY ignore EXTENSION AdditionalDuplicationIndication PRESENCE optional }|
+ { ID id-SRBMappingInfo CRITICALITY ignore EXTENSION UuRLCChannelID PRESENCE optional }|
+ { ID id-CG-SDTindicatorSetup CRITICALITY reject EXTENSION CG-SDTindicatorSetup PRESENCE optional },
+ ...
+}
+
+SRSCarrier-List ::= SEQUENCE (SIZE(1.. maxnoSRS-Carriers)) OF SRSCarrier-List-Item
+
+SRSCarrier-List-Item ::= SEQUENCE {
+ pointA INTEGER (0..3279165),
+ uplinkChannelBW-PerSCS-List UplinkChannelBW-PerSCS-List,
+ activeULBWP ActiveULBWP,
+ pci NRPCI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SRSCarrier-List-Item-ExtIEs } } OPTIONAL
+}
+
+SRSCarrier-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRSConfig ::= SEQUENCE {
+ sRSResource-List SRSResource-List OPTIONAL,
+ posSRSResource-List PosSRSResource-List OPTIONAL,
+ sRSResourceSet-List SRSResourceSet-List OPTIONAL,
+ posSRSResourceSet-List PosSRSResourceSet-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SRSConfig-ExtIEs } } OPTIONAL
+}
+
+SRSConfig-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRSConfiguration ::= SEQUENCE {
+ sRSCarrier-List SRSCarrier-List,
+ iE-Extensions ProtocolExtensionContainer { { SRSConfiguration-ExtIEs } } OPTIONAL
+}
+
+SRSConfiguration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SrsFrequency ::= INTEGER (0..3279165)
+
+SRSPortIndex ::= ENUMERATED {id1000, id1001, id1002, id1003,...}
+
+SRSPosResourceID ::= INTEGER (0..63)
+
+SRSResource::= SEQUENCE {
+ sRSResourceID SRSResourceID,
+ nrofSRS-Ports ENUMERATED {port1, ports2, ports4},
+ transmissionComb TransmissionComb,
+ startPosition INTEGER (0..13),
+ nrofSymbols ENUMERATED {n1, n2, n4},
+ repetitionFactor ENUMERATED {n1, n2, n4},
+ freqDomainPosition INTEGER (0..67),
+ freqDomainShift INTEGER (0..268),
+ c-SRS INTEGER (0..63),
+ b-SRS INTEGER (0..3),
+ b-hop INTEGER (0..3),
+ groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping },
+ resourceType ResourceType,
+ sequenceId INTEGER (0..1023),
+ iE-Extensions ProtocolExtensionContainer { { SRSResource-ExtIEs } } OPTIONAL
+}
+
+SRSResource-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+{ ID id-nrofSymbolsExtended CRITICALITY ignore EXTENSION NrofSymbolsExtended PRESENCE optional}|
+{ ID id-repetitionFactorExtended CRITICALITY ignore EXTENSION RepetitionFactorExtended PRESENCE optional}|
+{ ID id-startRBHopping CRITICALITY ignore EXTENSION StartRBHopping PRESENCE optional}|
+{ ID id-startRBIndex CRITICALITY ignore EXTENSION StartRBIndex PRESENCE optional},
+ ...
+}
+
+SRSResourceID ::= INTEGER (0..63)
+
+SRSResourceID-List::= SEQUENCE (SIZE (1..maxnoSRS-ResourcePerSet)) OF SRSResourceID
+
+SRSResource-List ::= SEQUENCE (SIZE (1..maxnoSRS-Resources)) OF SRSResource
+
+SRSResourceSet::= SEQUENCE {
+ sRSResourceSetID SRSResourceSetID,
+ sRSResourceID-List SRSResourceID-List,
+ resourceSetType ResourceSetType,
+ iE-Extensions ProtocolExtensionContainer { { SRSResourceSet-ExtIEs } } OPTIONAL
+}
+
+SRSResourceSet-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRSResourceSetID ::= INTEGER (0..15, ...)
+
+SRSResourceSetList ::= SEQUENCE (SIZE(1.. maxnoSRS-ResourceSets)) OF SRSResourceSetItem
+
+SRSResourceSetItem ::= SEQUENCE {
+ numSRSresourcesperset INTEGER (1..16, ...) OPTIONAL,
+ periodicityList PeriodicityList OPTIONAL,
+ spatialRelationInfo SpatialRelationInfo OPTIONAL,
+ pathlossReferenceInfo PathlossReferenceInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SRSResourceSetItemExtIEs } } OPTIONAL
+}
+
+SRSResourceSetItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SRSSpatialRelationPerSRSResource CRITICALITY ignore EXTENSION SpatialRelationPerSRSResource PRESENCE optional},
+ ...
+}
+
+SRSResourceSet-List ::= SEQUENCE (SIZE (1..maxnoSRS-ResourceSets)) OF SRSResourceSet
+
+SRSResourceTrigger ::= SEQUENCE {
+ aperiodicSRSResourceTriggerList AperiodicSRSResourceTriggerList,
+ iE-Extensions ProtocolExtensionContainer { {SRSResourceTrigger-ExtIEs} } OPTIONAL
+}
+
+SRSResourceTrigger-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SRSResourcetype ::= SEQUENCE {
+ sRSResourceTypeChoice SRSResourceTypeChoice,
+ iE-Extensions ProtocolExtensionContainer { { SRSResourcetype-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SRSResourcetype-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SRSPortIndex CRITICALITY ignore EXTENSION SRSPortIndex PRESENCE optional },
+ ...
+}
+
+SRSResourceTypeChoice ::= CHOICE {
+ sRSResourceInfo SRSInfo,
+ posSRSResourceInfo PosSRSInfo,
+ choice-extension ProtocolIE-SingleContainer { { SRSResourceTypeChoice-ExtIEs} }
+}
+
+SRSResourceTypeChoice-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+SRSInfo ::= SEQUENCE {
+ sRSResource SRSResourceID,
+ ...
+}
+
+SRSPosRRCInactiveConfig ::= OCTET STRING
+
+SRSPosRRCInactiveQueryIndication ::= ENUMERATED {true, ...}
+
+PosSRSInfo ::= SEQUENCE {
+ posSRSResourceID SRSPosResourceID,
+ ...
+}
+
+SSB ::= SEQUENCE {
+ pCI-NR NRPCI,
+ ssb-index SSB-Index OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SSB-ExtIEs} } OPTIONAL
+}
+
+SSBCoverageModification-List ::= SEQUENCE (SIZE (1..maxnoofSSBAreas)) OF SSBCoverageModification-Item
+
+SSBCoverageModification-Item::= SEQUENCE {
+ sSBIndex INTEGER(0..63),
+ sSBCoverageState SSBCoverageState,
+ iE-Extensions ProtocolExtensionContainer { { SSBCoverageModification-Item-ExtIEs} } OPTIONAL,
+...
+}
+
+SSBCoverageModification-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SSBCoverageState ::= INTEGER (0..15, ...)
+
+
+SSB-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSB-freqInfo ::= INTEGER (0..maxNRARFCN)
+
+SSB-Index ::= INTEGER(0..63)
+
+SSB-subcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz120, kHz240, spare3, spare2, spare1, ...}
+
+SSB-transmissionPeriodicity ::= ENUMERATED {sf10, sf20, sf40, sf80, sf160, sf320, sf640, ...}
+
+SSB-transmissionTimingOffset ::= INTEGER (0..127, ...)
+
+SSB-transmissionBitmap ::= CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64)),
+ choice-extension ProtocolIE-SingleContainer { { SSB-transmisisonBitmap-ExtIEs} }
+}
+
+SSB-transmisisonBitmap-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+SSBAreaCapacityValueList ::= SEQUENCE (SIZE(1.. maxnoofSSBAreas)) OF SSBAreaCapacityValueItem
+
+SSBAreaCapacityValueItem ::= SEQUENCE {
+ sSBIndex INTEGER(0..63),
+ sSBAreaCapacityValue INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { SSBAreaCapacityValueItem-ExtIEs} } OPTIONAL
+}
+
+SSBAreaCapacityValueItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSBAreaRadioResourceStatusList::= SEQUENCE (SIZE(1.. maxnoofSSBAreas)) OF SSBAreaRadioResourceStatusItem
+
+SSBAreaRadioResourceStatusItem::= SEQUENCE {
+ sSBIndex INTEGER(0..63),
+ sSBAreaDLGBRPRBusage INTEGER (0..100),
+ sSBAreaULGBRPRBusage INTEGER (0..100),
+ sSBAreaDLnon-GBRPRBusage INTEGER (0..100),
+ sSBAreaULnon-GBRPRBusage INTEGER (0..100),
+ sSBAreaDLTotalPRBusage INTEGER (0..100),
+ sSBAreaULTotalPRBusage INTEGER (0..100),
+ dLschedulingPDCCHCCEusage INTEGER (0..100) OPTIONAL,
+ uLschedulingPDCCHCCEusage INTEGER (0..100) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SSBAreaRadioResourceStatusItem-ExtIEs} } OPTIONAL
+}
+
+SSBAreaRadioResourceStatusItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSBInformation ::= SEQUENCE {
+ sSBInformationList SSBInformationList,
+ iE-Extensions ProtocolExtensionContainer { { SSBInformation-ExtIEs } } OPTIONAL
+}
+
+SSBInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSBInformationList ::= SEQUENCE (SIZE(1.. maxnoofSSBs)) OF SSBInformationItem
+
+SSBInformationItem ::= SEQUENCE {
+ sSB-Configuration SSB-TF-Configuration,
+ pCI-NR NRPCI,
+ iE-Extensions ProtocolExtensionContainer { { SSBInformationItem-ExtIEs } } OPTIONAL
+}
+
+SSBInformationItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSB-PositionsInBurst ::= CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64)),
+ choice-extension ProtocolIE-SingleContainer { {SSB-PositionsInBurst-ExtIEs} }
+}
+
+SSB-PositionsInBurst-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+SSB-TF-Configuration ::= SEQUENCE {
+ sSB-frequency INTEGER (0..3279165),
+ sSB-subcarrier-spacing ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, ..., kHz480, kHz960},
+ -- The value kHz60 is not supported in this version of the specification.
+ sSB-Transmit-power INTEGER (-60..50),
+ sSB-periodicity ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160, ...},
+ sSB-half-frame-offset INTEGER(0..1),
+ sSB-SFN-offset INTEGER(0..15),
+ sSB-position-in-burst SSB-PositionsInBurst OPTIONAL,
+ sFNInitialisationTime RelativeTime1900 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SSB-TF-Configuration-ExtIEs} } OPTIONAL
+}
+
+SSB-TF-Configuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SSBToReportList ::= SEQUENCE (SIZE(1.. maxnoofSSBAreas)) OF SSBToReportItem
+
+SSBToReportItem ::= SEQUENCE {
+ sSBIndex INTEGER(0..63),
+ iE-Extensions ProtocolExtensionContainer { { SSBToReportItem-ExtIEs} } OPTIONAL
+}
+
+SSBToReportItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+StartRBIndex ::= CHOICE{
+ freqScalingFactor2 INTEGER(0..1),
+ freqScalingFactor4 INTEGER(0..3),
+ choice-extension ProtocolIE-SingleContainer { { StartRBIndex-ExtIEs} }
+}
+StartRBIndex-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+StartRBHopping ::= ENUMERATED {enable}
+
+StartTimeAndDuration ::= SEQUENCE {
+ startTime RelativeTime1900 OPTIONAL,
+ duration INTEGER (0..90060, ...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { StartTimeAndDuration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+StartTimeAndDuration-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SUL-Information ::= SEQUENCE {
+ sUL-NRARFCN INTEGER (0..maxNRARFCN),
+ sUL-transmission-Bandwidth Transmission-Bandwidth,
+ iE-Extensions ProtocolExtensionContainer { { SUL-InformationExtIEs} } OPTIONAL,
+ ...
+}
+
+SUL-InformationExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }|
+ { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional },
+ ...
+}
+
+SubcarrierSpacing ::= ENUMERATED { kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1, ...}
+
+SubscriberProfileIDforRFP ::= INTEGER (1..256, ...)
+
+SuccessfulHOReportInformationList::= SEQUENCE (SIZE(1.. maxnoofSuccessfulHOReports)) OF SuccessfulHOReportInformation-Item
+
+SuccessfulHOReportInformation-Item ::= SEQUENCE {
+ successfulHOReportContainer OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { SuccessfulHOReportInformation-Item-ExtIEs } } OPTIONAL
+}
+
+SuccessfulHOReportInformation-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SULAccessIndication ::= ENUMERATED {true,...}
+
+
+SupportedSULFreqBandItem ::= SEQUENCE {
+ freqBandIndicatorNr INTEGER (1..1024,...),
+ iE-Extensions ProtocolExtensionContainer { { SupportedSULFreqBandItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SupportedSULFreqBandItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SurvivalTime ::= INTEGER (0.. 1920000,...)
+
+SymbolAllocInSlot ::= CHOICE {
+ all-DL NULL,
+ all-UL NULL,
+ both-DL-and-UL NumDLULSymbols,
+ choice-extension ProtocolIE-SingleContainer { { SymbolAllocInSlot-ExtIEs } }
+}
+
+SymbolAllocInSlot-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+SystemFrameNumber ::= INTEGER (0..1023)
+
+SystemInformationAreaID ::=BIT STRING (SIZE (24))
+
+-- T
+
+FiveGS-TAC ::= OCTET STRING (SIZE(3))
+
+Configured-EPS-TAC ::= OCTET STRING (SIZE(2))
+
+TargetCellList ::= SEQUENCE (SIZE(1..maxnoofCHOcells)) OF TargetCellList-Item
+
+TargetCellList-Item ::= SEQUENCE {
+ target-cell NRCGI,
+ iE-Extensions ProtocolExtensionContainer { { TargetCellList-Item-ExtIEs} } OPTIONAL
+}
+
+TargetCellList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NSAGSupportList ::= SEQUENCE (SIZE(1.. maxnoofNSAGs)) OF NSAGSupportItem
+
+NSAGSupportItem ::= SEQUENCE {
+ nSAG-ID NSAG-ID,
+ nSAGSliceSupport ExtendedSliceSupportList,
+ iE-Extensions ProtocolExtensionContainer { {NSAGSupportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NSAGSupportItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NSAG-ID ::= INTEGER (0..255, ...)
+
+TDD-Info ::= SEQUENCE {
+ nRFreqInfo NRFreqInfo,
+ transmission-Bandwidth Transmission-Bandwidth,
+ iE-Extensions ProtocolExtensionContainer { {TDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-IntendedTDD-DL-ULConfig CRITICALITY ignore EXTENSION IntendedTDD-DL-ULConfig PRESENCE optional}|
+ {ID id-TDD-UL-DLConfigCommonNR CRITICALITY ignore EXTENSION TDD-UL-DLConfigCommonNR PRESENCE optional }|
+ {ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional },
+ ...
+}
+
+TDD-InfoRel16 ::= SEQUENCE {
+ tDD-FreqInfo FreqInfoRel16 OPTIONAL,
+ sUL-FreqInfo FreqInfoRel16 OPTIONAL,
+ tDD-UL-DLConfigCommonNR TDD-UL-DLConfigCommonNR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TDD-InfoRel16-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-InfoRel16-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TDD-UL-DLConfigCommonNR ::= OCTET STRING
+
+TRPTEGInformation ::= CHOICE {
+ rxTx-TEG RxTxTEG,
+ rx-TEG RxTEG,
+ choice-extension ProtocolIE-SingleContainer { { TRPTEGInformation-ExtIEs} }
+}
+
+TRPTEGInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+RxTxTEG ::= SEQUENCE {
+ tRP-RxTx-TEGInformation TRP-RxTx-TEGInformation,
+ tRP-Tx-TEGInformation TRP-Tx-TEGInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RxTxTEG-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RxTxTEG-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RxTEG ::= SEQUENCE {
+ tRP-Rx-TEGInformation TRP-Rx-TEGInformation,
+ tRP-Tx-TEGInformation TRP-Tx-TEGInformation,
+ iE-Extensions ProtocolExtensionContainer { { RxTEG-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RxTEG-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeReferenceInformation ::= SEQUENCE {
+ referenceTime ReferenceTime,
+ referenceSFN ReferenceSFN,
+ uncertainty Uncertainty,
+ timeInformationType TimeInformationType,
+ iE-Extensions ProtocolExtensionContainer { {TimeReferenceInformation-ExtIEs} } OPTIONAL
+}
+
+TimeReferenceInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeInformationType ::= ENUMERATED {localClock}
+
+TimeStamp ::= SEQUENCE {
+ systemFrameNumber SystemFrameNumber,
+ slotIndex TimeStampSlotIndex,
+ measurementTime RelativeTime1900 OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { TimeStamp-ExtIEs} } OPTIONAL
+}
+
+TimeStamp-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeStampSlotIndex ::= CHOICE {
+ sCS-15 INTEGER(0..9),
+ sCS-30 INTEGER(0..19),
+ sCS-60 INTEGER(0..39),
+ sCS-120 INTEGER(0..79),
+ choice-extension ProtocolIE-SingleContainer { { TimeStampSlotIndex-ExtIEs} }
+}
+
+TimeStampSlotIndex-ExtIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SCS-480 CRITICALITY reject TYPE SCS-480 PRESENCE mandatory}|
+ { ID id-SCS-960 CRITICALITY reject TYPE SCS-960 PRESENCE mandatory},
+ ...
+}
+
+TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
+
+TimingErrorMargin ::= ENUMERATED {m0Tc, m2Tc, m4Tc, m6Tc, m8Tc, m12Tc, m16Tc, m20Tc, m24Tc, m32Tc, m40Tc, m48Tc, m56Tc, m64Tc, m72Tc, m80Tc, ...}
+
+TimingMeasurementQuality ::= SEQUENCE {
+ measurementQuality INTEGER(0..31),
+ resolution ENUMERATED{m0dot1, m1, m10, m30, ...},
+ iE-Extensions ProtocolExtensionContainer { { TimingMeasurementQuality-ExtIEs} } OPTIONAL
+}
+
+TimingMeasurementQuality-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TMGI ::= OCTET STRING (SIZE(6))
+
+TNLAssociationUsage ::= ENUMERATED {
+ ue,
+ non-ue,
+ both,
+ ...
+}
+
+TNLCapacityIndicator::= SEQUENCE {
+ dLTNLOfferedCapacity INTEGER (1.. 16777216,...),
+ dLTNLAvailableCapacity INTEGER (0.. 100,...),
+ uLTNLOfferedCapacity INTEGER (1.. 16777216,...),
+ uLTNLAvailableCapacity INTEGER (0.. 100,...),
+ iE-Extensions ProtocolExtensionContainer { { TNLCapacityIndicator-ExtIEs} } OPTIONAL
+}
+
+TNLCapacityIndicator-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TraceActivation ::= SEQUENCE {
+ traceID TraceID,
+ interfacesToTrace InterfacesToTrace,
+ traceDepth TraceDepth,
+ traceCollectionEntityIPAddress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL
+}
+
+TraceActivation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-mdtConfiguration CRITICALITY ignore EXTENSION MDTConfiguration PRESENCE optional}|
+ {ID id-TraceCollectionEntityURI CRITICALITY ignore EXTENSION URI-address PRESENCE optional },
+ ...
+}
+
+TraceDepth ::= ENUMERATED {
+ minimum,
+ medium,
+ maximum,
+ minimumWithoutVendorSpecificExtension,
+ mediumWithoutVendorSpecificExtension,
+ maximumWithoutVendorSpecificExtension,
+ ...
+}
+
+TraceID ::= OCTET STRING (SIZE(8))
+
+TrafficMappingInfo ::= CHOICE {
+ iPtolayer2TrafficMappingInfo IPtolayer2TrafficMappingInfo,
+ bAPlayerBHRLCchannelMappingInfo BAPlayerBHRLCchannelMappingInfo,
+ choice-extension ProtocolIE-SingleContainer { { TrafficMappingInfo-ExtIEs} }
+}
+
+TrafficMappingInfo-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
+
+TransactionID ::= INTEGER (0..255, ...)
+
+Transmission-Bandwidth ::= SEQUENCE {
+ nRSCS NRSCS,
+ nRNRB NRNRB,
+ iE-Extensions ProtocolExtensionContainer { { Transmission-Bandwidth-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Transmission-Bandwidth-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmissionComb ::= CHOICE {
+ n2 SEQUENCE {
+ combOffset-n2 INTEGER (0..1),
+ cyclicShift-n2 INTEGER (0..7)
+ },
+ n4 SEQUENCE {
+ combOffset-n4 INTEGER (0..3),
+ cyclicShift-n4 INTEGER (0..11)
+ },
+ choice-extension ProtocolIE-SingleContainer { { TransmissionComb-ExtIEs} }
+}
+TransmissionComb-ExtIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-transmissionCombn8 CRITICALITY reject TYPE TransmissionCombn8 PRESENCE mandatory},
+ ...
+}
+
+TransmissionCombn8 ::= SEQUENCE {
+ combOffset-n8 INTEGER (0..7),
+ cyclicShift-n8 INTEGER (0..5),
+ iE-Extensions ProtocolExtensionContainer { { TransmissionCombn8-ExtIEs} } OPTIONAL
+}
+
+TransmissionCombn8-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmissionCombPos ::= CHOICE {
+ n2 SEQUENCE {
+ combOffset-n2 INTEGER (0..1),
+ cyclicShift-n2 INTEGER (0..7)
+ },
+ n4 SEQUENCE {
+ combOffset-n4 INTEGER (0..3),
+ cyclicShift-n4 INTEGER (0..11)
+ },
+ n8 SEQUENCE {
+ combOffset-n8 INTEGER (0..7),
+ cyclicShift-n8 INTEGER (0..5)
+ },
+
+ choice-extension ProtocolIE-SingleContainer { { TransmissionCombPos-ExtIEs} }
+}
+TransmissionCombPos-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+TransmissionStopIndicator ::= ENUMERATED {true, ... }
+
+Transport-UP-Layer-Address-Info-To-Add-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Address-Info-To-Add-Item
+
+Transport-UP-Layer-Address-Info-To-Add-Item ::= SEQUENCE {
+ iP-SecTransportLayerAddress TransportLayerAddress,
+ gTPTransportLayerAddressToAdd GTPTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Address-Info-To-Add-ItemExtIEs } } OPTIONAL
+}
+
+Transport-UP-Layer-Address-Info-To-Add-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transport-UP-Layer-Address-Info-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Address-Info-To-Remove-Item
+
+Transport-UP-Layer-Address-Info-To-Remove-Item ::= SEQUENCE {
+ iP-SecTransportLayerAddress TransportLayerAddress,
+ gTPTransportLayerAddressToRemove GTPTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Address-Info-To-Remove-ItemExtIEs } } OPTIONAL
+}
+
+Transport-UP-Layer-Address-Info-To-Remove-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmissionActionIndicator ::= ENUMERATED {stop, ..., restart }
+
+TRPBeamAntennaInformation ::= SEQUENCE {
+ choice-TRP-Beam-Antenna-Info-Item Choice-TRP-Beam-Antenna-Info-Item ,
+ iE-Extensions ProtocolExtensionContainer {{ TRPBeamAntennaInformation-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRPBeamAntennaInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Choice-TRP-Beam-Antenna-Info-Item ::= CHOICE {
+ reference TRPID,
+ explicit TRP-BeamAntennaExplicitInformation,
+ noChange NULL,
+ choice-extension ProtocolIE-SingleContainer { { Choice-TRP-Beam-Info-Item-ExtIEs } }
+}
+
+Choice-TRP-Beam-Info-Item-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+TRP-BeamAntennaExplicitInformation ::= SEQUENCE {
+ trp-BeamAntennaAngles TRP-BeamAntennaAngles,
+ lcs-to-gcs-translation LCS-to-GCS-Translation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{ TRP-BeamAntennaExplicitInformation-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRP-BeamAntennaExplicitInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+TRP-BeamAntennaAngles ::= SEQUENCE (SIZE (1.. maxnoAzimuthAngles)) OF TRP-BeamAntennaAnglesList-Item
+
+TRP-BeamAntennaAnglesList-Item ::= SEQUENCE {
+ trp-azimuth-angle INTEGER (0..359),
+ trp-azimuth-angle-fine INTEGER (0..9) OPTIONAL,
+ trp-elevation-angle-list SEQUENCE (SIZE (1.. maxnoElevationAngles)) OF TRP-ElevationAngleList-Item,
+ iE-Extensions ProtocolExtensionContainer {{ TRP-BeamAntennaAnglesList-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRP-BeamAntennaAnglesList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-ElevationAngleList-Item ::= SEQUENCE {
+ trp-elevation-angle INTEGER (0..180),
+ trp-elevation-angle-fine INTEGER (0..9) OPTIONAL,
+ trp-beam-power-list SEQUENCE (SIZE (2..maxNumResourcesPerAngle)) OF TRP-Beam-Power-Item,
+ iE-Extensions ProtocolExtensionContainer {{ TRP-ElevationAngleList-Item-ExtIEs}} OPTIONAL,
+...
+}
+TRP-ElevationAngleList-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-Beam-Power-Item ::= SEQUENCE {
+ pRSResourceSetID PRS-Resource-Set-ID OPTIONAL,
+ pRSResourceID PRS-Resource-ID,
+ relativePower INTEGER (0..30), --negative value
+ relativePowerFine INTEGER (0..9) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{ TRP-Beam-Power-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRP-Beam-Power-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TRPID ::= INTEGER (0.. maxnoofTRPs, ...)
+
+TRPInformation ::= SEQUENCE {
+ tRPID TRPID,
+ tRPInformationTypeResponseList TRPInformationTypeResponseList,
+ iE-Extensions ProtocolExtensionContainer { { TRPInformation-ExtIEs } } OPTIONAL
+}
+
+TRPInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPInformationItem ::= SEQUENCE {
+ tRPInformation TRPInformation,
+ iE-Extensions ProtocolExtensionContainer { { TRPInformationItem-ExtIEs } } OPTIONAL
+}
+
+TRPInformationItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPInformationTypeItem ::= ENUMERATED {
+ nrPCI,
+ nG-RAN-CGI,
+ arfcn,
+ pRSConfig,
+ sSBConfig,
+ sFNInitTime,
+ spatialDirectInfo,
+ geoCoord,
+ ...,
+ trp-type,
+ ondemandPRS,
+ trpTxTeg,
+ beam-antenna-info
+}
+
+
+TRPInformationTypeResponseList ::= SEQUENCE (SIZE(1.. maxnoofTRPInfoTypes)) OF TRPInformationTypeResponseItem
+
+TRPInformationTypeResponseItem ::= CHOICE {
+ pCI-NR NRPCI,
+ nG-RAN-CGI NRCGI,
+ nRARFCN INTEGER (0..maxNRARFCN),
+ pRSConfiguration PRSConfiguration,
+ sSBinformation SSBInformation,
+ sFNInitialisationTime RelativeTime1900,
+ spatialDirectionInformation SpatialDirectionInformation,
+ geographicalCoordinates GeographicalCoordinates,
+ choice-extension ProtocolIE-SingleContainer { { TRPInformationTypeResponseItem-ExtIEs} }
+}
+
+TRPInformationTypeResponseItem-ExtIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TRPType CRITICALITY reject TYPE TRPType PRESENCE mandatory }|
+ { ID id-OnDemandPRS CRITICALITY reject TYPE OnDemandPRS-Info PRESENCE mandatory}|
+ { ID id-TRPTxTEGAssociation CRITICALITY reject TYPE TRPTxTEGAssociation PRESENCE optional }|
+ { ID id-TRPBeamAntennaInformation CRITICALITY reject TYPE TRPBeamAntennaInformation PRESENCE mandatory },
+ ...
+}
+
+
+TRPList ::= SEQUENCE (SIZE(1.. maxnoofTRPs)) OF TRPListItem
+
+TRPListItem ::= SEQUENCE {
+ tRPID TRPID,
+ iE-Extensions ProtocolExtensionContainer { { TRPListItem-ExtIEs } } OPTIONAL
+}
+
+TRPListItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPMeasurementQuality ::= SEQUENCE {
+ tRPmeasurementQuality-Item TRPMeasurementQuality-Item,
+ iE-Extensions ProtocolExtensionContainer { {TRPMeasurementQuality-ExtIEs} } OPTIONAL
+}
+
+TRPMeasurementQuality-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPMeasurementQuality-Item ::= CHOICE {
+ timingMeasurementQuality TimingMeasurementQuality,
+ angleMeasurementQuality AngleMeasurementQuality,
+ choice-extension ProtocolIE-SingleContainer { { TRPMeasurementQuality-Item-ExtIEs } }
+}
+
+TRPMeasurementQuality-Item-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+TRP-MeasurementRequestList ::= SEQUENCE (SIZE (1..maxNoOfMeasTRPs)) OF TRP-MeasurementRequestItem
+
+TRP-MeasurementRequestItem ::= SEQUENCE {
+ tRPID TRPID,
+ search-window-information Search-window-information OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { TRP-MeasurementRequestItem-ExtIEs } } OPTIONAL
+}
+
+TRP-MeasurementRequestItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NRCGI CRITICALITY ignore EXTENSION NRCGI PRESENCE optional }|
+ { ID id-AoA-SearchWindow CRITICALITY ignore EXTENSION AoA-AssistanceInfo PRESENCE optional }|
+ { ID id-NumberOfTRPRxTEG CRITICALITY ignore EXTENSION NumberOfTRPRxTEG PRESENCE optional }|
+ { ID id-NumberOfTRPRxTxTEG CRITICALITY ignore EXTENSION NumberOfTRPRxTxTEG PRESENCE optional },
+ ...
+}
+
+TRP-PRS-Info-List ::= SEQUENCE (SIZE(1.. maxnoofPRSTRPs)) OF TRP-PRS-Info-List-Item
+
+TRP-PRS-Info-List-Item ::= SEQUENCE {
+ tRP-ID TRPID,
+ nR-PCI NRPCI,
+ cGI-NR NRCGI OPTIONAL,
+ pRSConfiguration PRSConfiguration,
+ iE-Extensions ProtocolExtensionContainer { { TRP-PRS-Info-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TRP-PRS-Info-List-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TRPPositionDefinitionType ::= CHOICE {
+ direct TRPPositionDirect,
+ referenced TRPPositionReferenced,
+ choice-extension ProtocolIE-SingleContainer { { TRPPositionDefinitionType-ExtIEs } }
+}
+
+TRPPositionDefinitionType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+TRPPositionDirect ::= SEQUENCE {
+ accuracy TRPPositionDirectAccuracy,
+ iE-extensions ProtocolExtensionContainer { { TRPPositionDirect-ExtIEs } } OPTIONAL
+}
+
+TRPPositionDirect-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPPositionDirectAccuracy ::= CHOICE {
+ tRPPosition AccessPointPosition,
+ tRPHAposition NGRANHighAccuracyAccessPointPosition,
+ choice-extension ProtocolIE-SingleContainer { { TRPPositionDirectAccuracy-ExtIEs } }
+}
+
+TRPPositionDirectAccuracy-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+TRPPositionReferenced ::= SEQUENCE {
+ referencePoint ReferencePoint,
+ referencePointType TRPReferencePointType,
+ iE-extensions ProtocolExtensionContainer { { TRPPositionReferenced-ExtIEs } } OPTIONAL
+}
+
+TRPPositionReferenced-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPReferencePointType ::= CHOICE {
+ tRPPositionRelativeGeodetic RelativeGeodeticLocation,
+ tRPPositionRelativeCartesian RelativeCartesianLocation,
+ choice-extension ProtocolIE-SingleContainer { { TRPReferencePointType-ExtIEs } }
+}
+
+TRPReferencePointType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+TRP-Rx-TEGInformation ::= SEQUENCE {
+ tRP-Rx-TEGID INTEGER (0..31),
+ tRP-Rx-TimingErrorMargin TimingErrorMargin,
+ iE-Extensions ProtocolExtensionContainer { { TRP-Rx-TEGInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-Rx-TEGInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-RxTx-TEGInformation ::= SEQUENCE {
+ tRP-RxTx-TEGID INTEGER (0..255),
+ tRP-RxTx-TimingErrorMargin RxTxTimingErrorMargin,
+ iE-Extensions ProtocolExtensionContainer { { TRP-RxTx-TEGInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-RxTx-TEGInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TRP-Tx-TEGInformation ::= SEQUENCE {
+ tRP-Tx-TEGID INTEGER (0..7),
+ tRP-Tx-TimingErrorMargin TimingErrorMargin,
+ iE-Extensions ProtocolExtensionContainer { { TRP-Tx-TEGInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-Tx-TEGInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPTxTEGAssociation ::= SEQUENCE (SIZE(1.. maxnoTRPTEGs)) OF TRPTEG-Item
+
+TRPTEG-Item ::= SEQUENCE {
+ tRP-Tx-TEGInformation TRP-Tx-TEGInformation,
+ dl-PRSResourceSetID PRS-Resource-Set-ID,
+ dl-PRSResourceID-List SEQUENCE (SIZE(1.. maxnoofPRS-ResourcesPerSet)) OF DLPRSResourceID-Item OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TRPTEGItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRPTEGItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DLPRSResourceID-Item ::= SEQUENCE {
+ dl-PRSResourceID PRS-Resource-ID,
+ iE-Extensions ProtocolExtensionContainer { { DLPRSResource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DLPRSResource-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+Transport-Layer-Address-Info ::= SEQUENCE {
+ transport-UP-Layer-Address-Info-To-Add-List Transport-UP-Layer-Address-Info-To-Add-List OPTIONAL,
+ transport-UP-Layer-Address-Info-To-Remove-List Transport-UP-Layer-Address-Info-To-Remove-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Transport-Layer-Address-Info-ExtIEs } } OPTIONAL
+}
+
+Transport-Layer-Address-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPType ::= ENUMERATED {
+ prsOnlyTP,
+ srsOnlyRP,
+ tp,
+ rp,
+ trp,
+ ...
+}
+
+TSCAssistanceInformation ::= SEQUENCE {
+ periodicity Periodicity,
+ burstArrivalTime BurstArrivalTime OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TSCAssistanceInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TSCAssistanceInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SurvivalTime CRITICALITY ignore EXTENSION SurvivalTime PRESENCE optional },
+ ...
+}
+
+TSCTrafficCharacteristics ::= SEQUENCE {
+ tSCAssistanceInformationDL TSCAssistanceInformation OPTIONAL,
+ tSCAssistanceInformationUL TSCAssistanceInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TSCTrafficCharacteristics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TSCTrafficCharacteristics-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-MeasurementUpdateList ::= SEQUENCE (SIZE (1..maxNoOfMeasTRPs)) OF TRP-MeasurementUpdateItem
+
+TRP-MeasurementUpdateItem ::= SEQUENCE {
+ tRP-ID TRPID,
+ aoA-window-information AoA-AssistanceInfo OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { TRP-MeasurementUpdateItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-MeasurementUpdateItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NumberOfTRPRxTEG CRITICALITY ignore EXTENSION NumberOfTRPRxTEG PRESENCE optional }|
+ { ID id-NumberOfTRPRxTxTEG CRITICALITY ignore EXTENSION NumberOfTRPRxTxTEG PRESENCE optional },
+ ...
+}
+
+TwoPHRModeMCG ::= ENUMERATED {enabled, ...}
+
+TwoPHRModeSCG ::= ENUMERATED {enabled, ...}
+
+
+-- U
+UAC-Assistance-Info ::= SEQUENCE {
+ uACPLMN-List UACPLMN-List,
+ iE-Extensions ProtocolExtensionContainer { { UAC-Assistance-InfoExtIEs} } OPTIONAL
+}
+
+UAC-Assistance-InfoExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UACPLMN-List ::= SEQUENCE (SIZE(1..maxnoofUACPLMNs)) OF UACPLMN-Item
+
+UACPLMN-Item::= SEQUENCE {
+ pLMNIdentity PLMN-Identity,
+ uACType-List UACType-List, iE-Extensions ProtocolExtensionContainer { { UACPLMN-Item-ExtIEs} } OPTIONAL
+}
+
+UACPLMN-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NID CRITICALITY ignore EXTENSION NID PRESENCE optional },
+ ...
+}
+
+UACType-List ::= SEQUENCE (SIZE(1..maxnoofUACperPLMN)) OF UACType-Item
+
+UACType-Item::= SEQUENCE {
+ uACReductionIndication UACReductionIndication,
+ uACCategoryType UACCategoryType,
+ iE-Extensions ProtocolExtensionContainer { { UACType-Item-ExtIEs } } OPTIONAL
+}
+
+UACType-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UACCategoryType ::= CHOICE {
+ uACstandardized UACAction,
+ uACOperatorDefined UACOperatorDefined,
+ choice-extension ProtocolIE-SingleContainer { { UACCategoryType-ExtIEs } }
+}
+
+UACCategoryType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+UACOperatorDefined ::= SEQUENCE {
+ accessCategory INTEGER (32..63,...),
+ accessIdentity BIT STRING (SIZE(7)),
+ iE-Extensions ProtocolExtensionContainer { { UACOperatorDefined-ExtIEs} } OPTIONAL
+}
+
+UACOperatorDefined-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UACAction ::= ENUMERATED {
+ reject-non-emergency-mo-dt,
+ reject-rrc-cr-signalling,
+ permit-emergency-sessions-and-mobile-terminated-services-only,
+ permit-high-priority-sessions-and-mobile-terminated-services-only,
+ ...
+}
+
+UACReductionIndication ::= INTEGER (0..100)
+
+
+UE-associatedLogicalF1-ConnectionItem ::= SEQUENCE {
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID OPTIONAL,
+ gNB-DU-UE-F1AP-ID GNB-DU-UE-F1AP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalF1-ConnectionItemExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAssistanceInformation ::= OCTET STRING
+
+UEAssistanceInformationEUTRA ::= OCTET STRING
+
+UE-associatedLogicalF1-ConnectionItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-CapabilityRAT-ContainerList::= OCTET STRING
+
+UEContextNotRetrievable ::= ENUMERATED {true, ...}
+
+UEIdentityIndexValue ::= CHOICE {
+ indexLength10 BIT STRING (SIZE (10)),
+ choice-extension ProtocolIE-SingleContainer { {UEIdentityIndexValueChoice-ExtIEs} }
+}
+
+UEIdentityIndexValueChoice-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+UEIdentity-List-For-Paging-Item ::= SEQUENCE {
+ uEIdentityIndexValue UEIdentityIndexValue,
+ pagingDRX PagingDRX OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UEIdentity-List-For-Paging-Item-ExtIEs} } OPTIONAL
+}
+
+UEIdentity-List-For-Paging-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-MulticastMRBs-ConfirmedToBeModified-Item::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mrb-type-reconfiguration MBSPTPRetransmissionTunnelRequired OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-MulticastMRBs-ConfirmedToBeModified-Item-ExtIEs } } OPTIONAL
+}
+
+UE-MulticastMRBs-ConfirmedToBeModified-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+UE-MulticastMRBs-RequiredToBeModified-Item::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mrb-type-reconfiguration ENUMERATED {true, ...} OPTIONAL,
+ mrb-reconfigured-RLCtype ENUMERATED {
+ rlc-um-ptp,
+ rlc-am-ptp,
+ rlc-um-dl-ptm,
+ two-rlc-um-dl-ptp-and-dl-ptm,
+ three-rlc-um-dl-ptp-ul-ptp-dl-ptm,
+ two-rlc-am-ptp-um-dl-ptm,
+ ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-MulticastMRBs-RequiredToBeModified-Item-ExtIEs } } OPTIONAL
+}
+
+UE-MulticastMRBs-RequiredToBeModified-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-MulticastF1UContextReferenceCU CRITICALITY reject EXTENSION MulticastF1UContextReferenceCU PRESENCE optional},
+ ...
+}
+
+UE-MulticastMRBs-RequiredToBeReleased-Item::= SEQUENCE {
+ mRB-ID MRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { UE-MulticastMRBs-RequiredToBeReleased-Item-ExtIEs } } OPTIONAL
+}
+
+UE-MulticastMRBs-RequiredToBeReleased-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-MulticastMRBs-Setup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ multicastF1UContextReferenceCU MulticastF1UContextReferenceCU OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-MulticastMRBs-Setup-Item-ExtIEs } } OPTIONAL
+}
+
+UE-MulticastMRBs-Setup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-MulticastMRBs-Setupnew-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ multicastF1UContextReferenceCU MulticastF1UContextReferenceCU,
+ iE-Extensions ProtocolExtensionContainer { { UE-MulticastMRBs-Setupnew-Item-ExtIEs } } OPTIONAL
+}
+
+UE-MulticastMRBs-Setupnew-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-MulticastMRBs-ToBeReleased-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { UE-MulticastMRBs-ToBeReleased-Item-ExtIEs } } OPTIONAL
+}
+
+UE-MulticastMRBs-ToBeReleased-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-MulticastMRBs-ToBeSetup-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mbsPTPRetransmissionTunnelRequired MBSPTPRetransmissionTunnelRequired OPTIONAL,
+ mbsPTPForwardingRequiredInformation MRB-ProgressInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-MulticastMRBs-ToBeSetup-Item-ExtIEs } } OPTIONAL
+}
+
+UE-MulticastMRBs-ToBeSetup-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Source-MRB-ID CRITICALITY ignore EXTENSION MRB-ID PRESENCE optional },
+ ...
+}
+
+UE-MulticastMRBs-ToBeSetup-atModify-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mbsPTPRetransmissionTunnelRequired MBSPTPRetransmissionTunnelRequired OPTIONAL,
+ mbsPTPForwardingRequiredInformation MRB-ProgressInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-MulticastMRBs-ToBeSetup-atModify-Item-ExtIEs } } OPTIONAL
+}
+
+UE-MulticastMRBs-ToBeSetup-atModify-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEPagingCapability ::= SEQUENCE {
+ iNACTIVEStatePODetermination ENUMERATED {supported, ...} OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { UEPagingCapability-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEPagingCapability-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RedCapIndication CRITICALITY ignore EXTENSION RedCapIndication PRESENCE optional },
+ ...
+}
+
+UEReportingInformation::= SEQUENCE {
+ reportingAmount ENUMERATED {ma0, ma1, ma2, ma4, ma8, ma16, ma32, ma64},
+ reportingInterval ENUMERATED {none, one, two, four, eight, ten, sixteen, twenty, thirty-two, sixty-four, ...},
+ iE-extensions ProtocolExtensionContainer { { UEReportingInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+
+UEReportingInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+UlTxDirectCurrentMoreCarrierInformation::= OCTET STRING
+
+UL-AoA ::= SEQUENCE {
+ azimuthAoA INTEGER (0..3599),
+ zenithAoA INTEGER (0..1799) OPTIONAL,
+ lCS-to-GCS-Translation LCS-to-GCS-Translation OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { UL-AoA-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-AoA-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-BH-Non-UP-Traffic-Mapping ::= SEQUENCE {
+ uL-BH-Non-UP-Traffic-Mapping-List UL-BH-Non-UP-Traffic-Mapping-List,
+ iE-Extensions ProtocolExtensionContainer { { UL-BH-Non-UP-Traffic-Mapping-ExtIEs } } OPTIONAL
+}
+
+UL-BH-Non-UP-Traffic-Mapping-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-BH-Non-UP-Traffic-Mapping-List ::= SEQUENCE (SIZE(1..maxnoofNonUPTrafficMappings)) OF UL-BH-Non-UP-Traffic-Mapping-Item
+
+UL-BH-Non-UP-Traffic-Mapping-Item ::= SEQUENCE {
+ nonUPTrafficType NonUPTrafficType,
+ bHInfo BHInfo,
+ iE-Extensions ProtocolExtensionContainer { { UL-BH-Non-UP-Traffic-Mapping-ItemExtIEs } } OPTIONAL
+}
+
+UL-BH-Non-UP-Traffic-Mapping-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ULConfiguration ::= SEQUENCE {
+ uLUEConfiguration ULUEConfiguration,
+ iE-Extensions ProtocolExtensionContainer { { ULConfigurationExtIEs } } OPTIONAL,
+ ...
+}
+ULConfigurationExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-GapFR2-Config ::= OCTET STRING
+
+UL-RTOA-Measurement ::= SEQUENCE {
+ uL-RTOA-MeasurementItem UL-RTOA-MeasurementItem,
+ additionalPath-List AdditionalPath-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-RTOA-Measurement-ExtIEs } } OPTIONAL
+}
+
+UL-RTOA-Measurement-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedAdditionalPathList CRITICALITY ignore EXTENSION ExtendedAdditionalPathList PRESENCE optional}|
+ { ID id-TRPRx-TEGInformation CRITICALITY ignore EXTENSION TRP-Rx-TEGInformation PRESENCE optional},
+ ...
+}
+
+UL-RTOA-MeasurementItem ::= CHOICE {
+ k0 INTEGER (0..1970049),
+ k1 INTEGER (0..985025),
+ k2 INTEGER (0..492513),
+ k3 INTEGER (0..246257),
+ k4 INTEGER (0..123129),
+ k5 INTEGER (0..61565),
+ choice-extension ProtocolIE-SingleContainer { { UL-RTOA-MeasurementItem-ExtIEs } }
+}
+
+UL-RTOA-MeasurementItem-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+UL-SRS-RSRP ::= INTEGER (0..126)
+
+UL-SRS-RSRPP ::= SEQUENCE {
+ firstPathRSRPP INTEGER (0..126),
+ iE-extensions ProtocolExtensionContainer { { UL-SRS-RSRPP-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-SRS-RSRPP-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ULUEConfiguration ::= ENUMERATED {no-data, shared, only, ...}
+
+UL-UP-TNL-Information-to-Update-List-Item ::= SEQUENCE {
+ uLUPTNLInformation UPTransportLayerInformation,
+ newULUPTNLInformation UPTransportLayerInformation OPTIONAL,
+ bHInfo BHInfo,
+ iE-Extensions ProtocolExtensionContainer { { UL-UP-TNL-Information-to-Update-List-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-UP-TNL-Information-to-Update-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-UP-TNL-Address-to-Update-List-Item ::= SEQUENCE {
+ oldIPAdress TransportLayerAddress,
+ newIPAdress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { UL-UP-TNL-Address-to-Update-List-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-UP-TNL-Address-to-Update-List-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ULUPTNLInformation-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofULUPTNLInformation)) OF ULUPTNLInformation-ToBeSetup-Item
+
+ULUPTNLInformation-ToBeSetup-Item ::=SEQUENCE {
+ uLUPTNLInformation UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { ULUPTNLInformation-ToBeSetup-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+ULUPTNLInformation-ToBeSetup-ItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-BHInfo CRITICALITY ignore EXTENSION BHInfo PRESENCE optional }|
+ { ID id-DRBMappingInfo CRITICALITY ignore EXTENSION UuRLCChannelID PRESENCE optional },
+ ...
+}
+
+Uncertainty ::= INTEGER (0..32767, ...)
+
+UplinkChannelBW-PerSCS-List ::= SEQUENCE (SIZE (1..maxnoSCSs)) OF SCS-SpecificCarrier
+
+UplinkTxDirectCurrentListInformation ::= OCTET STRING
+
+UplinkTxDirectCurrentTwoCarrierListInfo ::= OCTET STRING
+
+UPTransportLayerInformation ::= CHOICE {
+ gTPTunnel GTPTunnel,
+ choice-extension ProtocolIE-SingleContainer { { UPTransportLayerInformation-ExtIEs} }
+}
+
+UPTransportLayerInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+URI-address ::= VisibleString
+
+Uncertainty-range-AoA ::= INTEGER (0..3599)
+
+Uncertainty-range-ZoA ::= INTEGER (0..1799)
+
+
+UuRLCChannelID ::= INTEGER (1..32)
+
+UuRLCChannelQoSInformation ::= CHOICE {
+ uuRLCChannelQoS QoSFlowLevelQoSParameters,
+ uuControlPlaneTrafficType ENUMERATED {srb0,srb1,srb2,...},
+ choice-extension ProtocolIE-SingleContainer { { UuRLCChannelQoSInformation-ExtIEs} }
+}
+
+UuRLCChannelQoSInformation-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+UuRLCChannelToBeSetupList ::= SEQUENCE (SIZE(1.. maxnoofUuRLCChannels)) OF UuRLCChannelToBeSetupItem
+
+UuRLCChannelToBeSetupItem ::= SEQUENCE {
+ uuRLCChannelID UuRLCChannelID,
+ uuRLCChannelQoSInformation UuRLCChannelQoSInformation,
+ rLCMode RLCMode,
+ iE-Extensions ProtocolExtensionContainer { { UuRLCChannelToBeSetupItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UuRLCChannelToBeSetupItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UuRLCChannelToBeModifiedList ::= SEQUENCE (SIZE(1.. maxnoofUuRLCChannels)) OF UuRLCChannelToBeModifiedItem
+
+UuRLCChannelToBeModifiedItem ::= SEQUENCE {
+ uuRLCChannelID UuRLCChannelID,
+ uuRLCChannelQoSInformation UuRLCChannelQoSInformation OPTIONAL,
+ rLCMode RLCMode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UuRLCChannelToBeModifiedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UuRLCChannelToBeModifiedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UuRLCChannelToBeReleasedList ::= SEQUENCE (SIZE(1.. maxnoofUuRLCChannels)) OF UuRLCChannelToBeReleasedItem
+
+UuRLCChannelToBeReleasedItem ::= SEQUENCE {
+ uuRLCChannelID UuRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { UuRLCChannelToBeReleasedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UuRLCChannelToBeReleasedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UuRLCChannelSetupList ::= SEQUENCE (SIZE(1.. maxnoofUuRLCChannels)) OF UuRLCChannelSetupItem
+
+UuRLCChannelSetupItem ::= SEQUENCE {
+ uuRLCChannelID UuRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { UuRLCChannelSetupItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UuRLCChannelSetupItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UuRLCChannelFailedToBeSetupList ::= SEQUENCE (SIZE(1.. maxnoofUuRLCChannels)) OF UuRLCChannelFailedToBeSetupItem
+
+UuRLCChannelFailedToBeSetupItem ::= SEQUENCE {
+ uuRLCChannelID UuRLCChannelID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UuRLCChannelFailedToBeSetupItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UuRLCChannelFailedToBeSetupItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UuRLCChannelModifiedList ::= SEQUENCE (SIZE(1.. maxnoofUuRLCChannels)) OF UuRLCChannelModifiedItem
+
+UuRLCChannelModifiedItem ::= SEQUENCE {
+ uuRLCChannelID UuRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { UuRLCChannelModifiedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UuRLCChannelModifiedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UuRLCChannelFailedToBeModifiedList ::= SEQUENCE (SIZE(1.. maxnoofUuRLCChannels)) OF UuRLCChannelFailedToBeModifiedItem
+
+UuRLCChannelFailedToBeModifiedItem ::= SEQUENCE {
+ uuRLCChannelID UuRLCChannelID,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UuRLCChannelFailedToBeModifiedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UuRLCChannelFailedToBeModifiedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UuRLCChannelRequiredToBeModifiedList ::= SEQUENCE (SIZE(1.. maxnoofUuRLCChannels)) OF UuRLCChannelRequiredToBeModifiedItem
+
+UuRLCChannelRequiredToBeModifiedItem ::= SEQUENCE {
+ uuRLCChannelID UuRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { UuRLCChannelRequiredToBeModifiedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UuRLCChannelRequiredToBeModifiedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UuRLCChannelRequiredToBeReleasedList ::= SEQUENCE (SIZE(1.. maxnoofUuRLCChannels)) OF UuRLCChannelRequiredToBeReleasedItem
+
+UuRLCChannelRequiredToBeReleasedItem ::= SEQUENCE {
+ uuRLCChannelID UuRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { UuRLCChannelRequiredToBeReleasedItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UuRLCChannelRequiredToBeReleasedItem-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- V
+
+VictimgNBSetID ::= SEQUENCE {
+ victimgNBSetID GNBSetID,
+ iE-Extensions ProtocolExtensionContainer { { VictimgNBSetID-ExtIEs } } OPTIONAL
+}
+
+VictimgNBSetID-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+VehicleUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+PedestrianUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+-- W
+
+-- X
+
+-- Y
+
+-- Z
+
+ZoAInformation ::= SEQUENCE {
+ zenithAoA INTEGER (0..1799),
+ lCS-to-GCS-Translation LCS-to-GCS-Translation OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { ZoAInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ZoAInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn b/epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn
new file mode 100644
index 00000000..29efd82c
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/F1AP-PDU-Contents.asn
@@ -0,0 +1,5303 @@
+-- 3GPP TS 38.473 V17.5.0 (2023-06)
+-- 9.4.4 PDU Definitions
+-- **************************************************************
+--
+-- PDU definitions for F1AP.
+--
+-- **************************************************************
+
+F1AP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ BroadcastMRBs-FailedToBeModified-Item,
+ BroadcastMRBs-FailedToBeSetup-Item,
+ BroadcastMRBs-FailedToBeSetupMod-Item,
+ BroadcastMRBs-Modified-Item,
+ BroadcastMRBs-Setup-Item,
+ BroadcastMRBs-SetupMod-Item,
+ BroadcastMRBs-ToBeModified-Item,
+ BroadcastMRBs-ToBeReleased-Item,
+ BroadcastMRBs-ToBeSetup-Item,
+ BroadcastMRBs-ToBeSetupMod-Item,
+ Candidate-SpCell-Item,
+ Cause,
+ Cells-Failed-to-be-Activated-List-Item,
+ Cells-Status-Item,
+ Cells-to-be-Activated-List-Item,
+ Cells-to-be-Deactivated-List-Item,
+ CellULConfigured,
+ CriticalityDiagnostics,
+ C-RNTI,
+ CUtoDURRCInformation,
+ DRB-Activity-Item,
+ DRBID,
+ DRBs-FailedToBeModified-Item,
+ DRBs-FailedToBeSetup-Item,
+ DRBs-FailedToBeSetupMod-Item,
+ DRB-Notify-Item,
+ DRBs-ModifiedConf-Item,
+ DRBs-Modified-Item,
+ DRBs-Required-ToBeModified-Item,
+ DRBs-Required-ToBeReleased-Item,
+ DRBs-Setup-Item,
+ DRBs-SetupMod-Item,
+ DRBs-ToBeModified-Item,
+ DRBs-ToBeReleased-Item,
+ DRBs-ToBeSetup-Item,
+ DRBs-ToBeSetupMod-Item,
+ DRXCycle,
+ DRXConfigurationIndicator,
+ DUtoCURRCInformation,
+ EUTRANQoS,
+ ExecuteDuplication,
+ FullConfiguration,
+ GNB-CU-MBS-F1AP-ID,
+ GNB-CU-UE-F1AP-ID,
+ GNB-DU-MBS-F1AP-ID,
+ GNB-DU-UE-F1AP-ID,
+ GNB-DU-ID,
+ GNB-DU-Served-Cells-Item,
+ GNB-DU-System-Information,
+ GNB-CU-Name,
+ GNB-DU-Name,
+ InactivityMonitoringRequest,
+ InactivityMonitoringResponse,
+ LowerLayerPresenceStatusChange,
+ MBS-Area-Session-ID,
+ MBS-CUtoDURRCInformation,
+ MBSMulticastF1UContextDescriptor,
+ MBS-Session-ID,
+ MBS-ServiceArea,
+ MulticastF1UContextReferenceCU,
+ MulticastF1UContext-ToBeSetup-Item,
+ MulticastF1UContext-Setup-Item,
+ MulticastF1UContext-FailedToBeSetup-Item,
+ MulticastMBSSessionList,
+ MulticastMRBs-ToBeSetup-Item,
+ MulticastMRBs-Setup-Item,
+ MulticastMRBs-FailedToBeSetup-Item,
+ MulticastMRBs-ToBeSetupMod-Item,
+ MulticastMRBs-ToBeModified-Item,
+ MulticastMRBs-ToBeReleased-Item,
+ MulticastMRBs-SetupMod-Item,
+ MulticastMRBs-FailedToBeSetupMod-Item,
+ MulticastMRBs-Modified-Item,
+ MulticastMRBs-FailedToBeModified-Item,
+ BroadcastAreaScope,
+ NotificationControl,
+ NRCGI,
+ NRPCI,
+ UEContextNotRetrievable,
+ Potential-SpCell-Item,
+ RAT-FrequencyPriorityInformation,
+ RequestedSRSTransmissionCharacteristics,
+ ResourceCoordinationTransferContainer,
+ RRCContainer,
+ RRCContainer-RRCSetupComplete,
+ RRCReconfigurationCompleteIndicator,
+ SCellIndex,
+ SCell-ToBeRemoved-Item,
+ SCell-ToBeSetup-Item,
+ SCell-ToBeSetupMod-Item,
+ SCell-FailedtoSetup-Item,
+ SCell-FailedtoSetupMod-Item,
+ ServCellIndex,
+ Served-Cell-Information,
+ Served-Cells-To-Add-Item,
+ Served-Cells-To-Delete-Item,
+ Served-Cells-To-Modify-Item,
+ ServingCellMO,
+ SNSSAI,
+ SRBID,
+ SRBs-FailedToBeSetup-Item,
+ SRBs-FailedToBeSetupMod-Item,
+ SRBs-Required-ToBeReleased-Item,
+ SRBs-ToBeReleased-Item,
+ SRBs-ToBeSetup-Item,
+ SRBs-ToBeSetupMod-Item,
+ SRBs-Modified-Item,
+ SRBs-Setup-Item,
+ SRBs-SetupMod-Item,
+ TimeToWait,
+ TransactionID,
+ TransmissionActionIndicator,
+ UE-associatedLogicalF1-ConnectionItem,
+ UEIdentity-List-For-Paging-Item,
+ DUtoCURRCContainer,
+ PagingCell-Item,
+ SItype-List,
+ UEIdentityIndexValue,
+ GNB-CU-TNL-Association-Setup-Item,
+ GNB-CU-TNL-Association-Failed-To-Setup-Item,
+ GNB-CU-TNL-Association-To-Add-Item,
+ GNB-CU-TNL-Association-To-Remove-Item,
+ GNB-CU-TNL-Association-To-Update-Item,
+ MaskedIMEISV,
+ PagingDRX,
+ PagingPriority,
+ PagingIdentity,
+ Cells-to-be-Barred-Item,
+ PWSSystemInformation,
+ Broadcast-To-Be-Cancelled-Item,
+ Cells-Broadcast-Cancelled-Item,
+ NR-CGI-List-For-Restart-Item,
+ PWS-Failed-NR-CGI-Item,
+ RepetitionPeriod,
+ NumberofBroadcastRequest,
+ Cells-To-Be-Broadcast-Item,
+ Cells-Broadcast-Completed-Item,
+ Cancel-all-Warning-Messages-Indicator,
+ EUTRA-NR-CellResourceCoordinationReq-Container,
+ EUTRA-NR-CellResourceCoordinationReqAck-Container,
+ RequestType,
+ PLMN-Identity,
+ RLCFailureIndication,
+ UplinkTxDirectCurrentListInformation,
+ SULAccessIndication,
+ Protected-EUTRA-Resources-Item,
+ GNB-DUConfigurationQuery,
+ BitRate,
+ RRC-Version,
+ GNBDUOverloadInformation,
+ RRCDeliveryStatusRequest,
+ NeedforGap,
+ RRCDeliveryStatus,
+ ResourceCoordinationTransferInformation,
+ Dedicated-SIDelivery-NeededUE-Item,
+ Associated-SCell-Item,
+ IgnoreResourceCoordinationContainer,
+ PagingOrigin,
+ UAC-Assistance-Info,
+ RANUEID,
+ GNB-DU-TNL-Association-To-Remove-Item,
+ NotificationInformation,
+ TraceActivation,
+ TraceID,
+ Neighbour-Cell-Information-Item,
+ SymbolAllocInSlot,
+ NumDLULSymbols,
+ AdditionalRRMPriorityIndex,
+ DUCURadioInformationType,
+ CUDURadioInformationType,
+ Transport-Layer-Address-Info,
+ BHChannels-ToBeSetup-Item,
+ BHChannels-Setup-Item,
+ BHChannels-FailedToBeSetup-Item,
+ BHChannels-ToBeModified-Item,
+ BHChannels-ToBeReleased-Item,
+ BHChannels-ToBeSetupMod-Item,
+ BHChannels-FailedToBeModified-Item,
+ BHChannels-FailedToBeSetupMod-Item,
+ BHChannels-Modified-Item,
+ BHChannels-SetupMod-Item,
+ BHChannels-Required-ToBeReleased-Item,
+ BAPAddress,
+ BAPPathID,
+ BAPRoutingID,
+ BH-Routing-Information-Added-List-Item,
+ BH-Routing-Information-Removed-List-Item,
+ Child-Nodes-List,
+ Child-Nodes-List-Item,
+ Child-Node-Cells-List,
+ Child-Node-Cells-List-Item,
+ Activated-Cells-to-be-Updated-List,
+ Activated-Cells-to-be-Updated-List-Item,
+ UL-BH-Non-UP-Traffic-Mapping,
+ IABTNLAddressesRequested,
+ IABIPv6RequestType,
+ IAB-TNL-Addresses-To-Remove-Item,
+ IABTNLAddress,
+ IAB-Allocated-TNL-Address-Item,
+ IABv4AddressesRequested,
+ TrafficMappingInfo,
+ UL-UP-TNL-Information-to-Update-List-Item,
+ UL-UP-TNL-Address-to-Update-List-Item,
+ DL-UP-TNL-Address-to-Update-List-Item,
+ NRV2XServicesAuthorized,
+ LTEV2XServicesAuthorized,
+ NRUESidelinkAggregateMaximumBitrate,
+ LTEUESidelinkAggregateMaximumBitrate,
+ SLDRBs-SetupMod-Item,
+ SLDRBs-ModifiedConf-Item,
+ SLDRBID,
+ SLDRBs-FailedToBeModified-Item,
+ SLDRBs-FailedToBeSetup-Item,
+ SLDRBs-FailedToBeSetupMod-Item,
+ SLDRBs-Modified-Item,
+ SLDRBs-Required-ToBeModified-Item,
+ SLDRBs-Required-ToBeReleased-Item,
+ SLDRBs-Setup-Item,
+ SLDRBs-ToBeModified-Item,
+ SLDRBs-ToBeReleased-Item,
+ SLDRBs-ToBeSetup-Item,
+ SLDRBs-ToBeSetupMod-Item,
+ GNBCUMeasurementID,
+ GNBDUMeasurementID,
+ RegistrationRequest,
+ ReportCharacteristics,
+ CellToReportList,
+ HardwareLoadIndicator,
+ CellMeasurementResultList,
+ ReportingPeriodicity,
+ TNLCapacityIndicator,
+ RACHReportInformationList,
+ RLFReportInformationList,
+ ReportingRequestType,
+ TimeReferenceInformation,
+ ConditionalInterDUMobilityInformation,
+ ConditionalIntraDUMobilityInformation,
+ TargetCellList,
+ MDTPLMNList,
+ PrivacyIndicator,
+ TransportLayerAddress,
+ URI-address,
+ NID,
+ PosAssistance-Information,
+ PosBroadcast,
+ PositioningBroadcastCells,
+ RoutingID,
+ PosAssistanceInformationFailureList,
+ PosMeasurementQuantities,
+ PosMeasurementResultList,
+ PosReportCharacteristics,
+ TRPInformationTypeItem,
+ TRPInformationItem,
+ LMF-MeasurementID,
+ RAN-MeasurementID,
+ SDT-Termination-Request,
+ SRSResourceSetID,
+ SpatialRelationInfo,
+ SRSResourceTrigger,
+ SRSConfiguration,
+ TRPList,
+ E-CID-MeasurementQuantities,
+ MeasurementPeriodicity,
+ E-CID-MeasurementResult,
+ Cell-Portion-ID,
+ LMF-UE-MeasurementID,
+ RAN-UE-MeasurementID,
+ RelativeTime1900,
+ SystemFrameNumber,
+ SlotNumber,
+ AbortTransmission,
+ TRP-MeasurementRequestList,
+ MeasurementBeamInfoRequest,
+ E-CID-ReportCharacteristics,
+ Extended-GNB-CU-Name,
+ Extended-GNB-DU-Name,
+ F1CTransferPath,
+ SCGIndicator,
+ SpatialRelationPerSRSResource,
+ MeasurementPeriodicityExtended,
+ SuccessfulHOReportInformationList,
+ Coverage-Modification-Notification,
+ CCO-Assistance-Information,
+ CellsForSON-List,
+ IABCongestionIndication,
+ IABConditionalRRCMessageDeliveryIndication,
+ F1CTransferPathNRDC,
+ BufferSizeThresh,
+ IAB-TNL-Addresses-Exception,
+ BAP-Header-Rewriting-Added-List-Item,
+ Re-routingEnableIndicator,
+ NonF1terminatingTopologyIndicator,
+ EgressNonF1terminatingTopologyIndicator,
+ IngressNonF1terminatingTopologyIndicator,
+ Neighbour-Node-Cells-List,
+ Neighbour-Node-Cells-List-Item,
+ NA-Resource-Configuration-List,
+ NA-Resource-Configuration-Item,
+ Serving-Cells-List,
+ Serving-Cells-List-Item,
+ RBSetConfiguration,
+ PDCMeasurementPeriodicity,
+ PDCMeasurementQuantities,
+ PDCMeasurementResult,
+ PDCReportType,
+ RAN-UE-PDC-MeasID,
+ SCGActivationRequest,
+ SCGActivationStatus,
+ TRP-MeasurementUpdateList,
+ PRSTRPList,
+ PRSTransmissionTRPList,
+ ResponseTime,
+ TRP-PRS-Info-List,
+ PRS-Measurement-Info-List,
+ PRSConfigRequestType,
+ MeasurementCharacteristicsRequestIndicator,
+ MeasurementTimeOccasion,
+ UEReportingInformation,
+ PosConextRevIndication,
+ NRRedCapUEIndication,
+ NRPagingeDRXInformation,
+ NRPagingeDRXInformationforRRCINACTIVE,
+ QoEInformation,
+ CG-SDTQueryIndication,
+ CG-SDTKeptIndicator,
+ CG-SDTSessionInfo,
+ SDTInformation,
+ FiveG-ProSeAuthorized,
+ UuRLCChannelToBeSetupList,
+ UuRLCChannelToBeModifiedList,
+ UuRLCChannelToBeReleasedList,
+ UuRLCChannelSetupList,
+ UuRLCChannelFailedToBeSetupList,
+ UuRLCChannelModifiedList,
+ UuRLCChannelFailedToBeModifiedList,
+ UuRLCChannelRequiredToBeModifiedList,
+ UuRLCChannelRequiredToBeReleasedList,
+ PC5RLCChannelToBeSetupList,
+ PC5RLCChannelToBeModifiedList,
+ PC5RLCChannelToBeReleasedList,
+ PC5RLCChannelSetupList,
+ PC5RLCChannelFailedToBeSetupList,
+ PC5RLCChannelFailedToBeModifiedList,
+ PC5RLCChannelRequiredToBeModifiedList,
+ PC5RLCChannelRequiredToBeReleasedList,
+ PC5RLCChannelModifiedList,
+ RemoteUELocalID,
+ PathSwitchConfiguration,
+ SidelinkRelayConfiguration,
+ PagingCause,
+ PEIPSAssistanceInfo,
+ UEPagingCapability,
+ GNBDUUESliceMaximumBitRateList,
+ MDTPollutedMeasurementIndicator,
+ UE-MulticastMRBs-ConfirmedToBeModified-Item,
+ UE-MulticastMRBs-RequiredToBeModified-Item,
+ UE-MulticastMRBs-RequiredToBeReleased-Item,
+ UE-MulticastMRBs-Setup-Item,
+ UE-MulticastMRBs-Setupnew-Item,
+ UE-MulticastMRBs-ToBeReleased-Item,
+ UE-MulticastMRBs-ToBeSetup-Item,
+ UE-MulticastMRBs-ToBeSetup-atModify-Item,
+ PosMeasurementAmount,
+ BAP-Header-Rewriting-Removed-List-Item,
+ SLDRXCycleList,
+ MDTPLMNModificationList,
+ ActivationRequestType,
+ PosMeasGapPreConfigList,
+ PosMeasurementPeriodicityNR-AoA,
+ SRSPosRRCInactiveConfig,
+ SDTBearerConfigurationQueryIndication,
+ SDTBearerConfigurationInfo,
+ ServingCellMO-List-Item,
+ ServingCellMO-encoded-in-CGC-List,
+ PosSItypeList,
+ DAPS-HO-Status,
+ UuRLCChannelID,
+ UplinkTxDirectCurrentTwoCarrierListInfo,
+ SRSPosRRCInactiveQueryIndication,
+ MC-PagingCell-Item,
+ UlTxDirectCurrentMoreCarrierInformation,
+ CPACMCGInformation,
+ ExtendedUEIdentityIndexValue,
+ HashedUEIdentityIndexValue
+
+
+
+FROM F1AP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-SingleContainer{},
+ F1AP-PRIVATE-IES,
+ F1AP-PROTOCOL-EXTENSION,
+ F1AP-PROTOCOL-IES,
+ F1AP-PROTOCOL-IES-PAIR
+
+FROM F1AP-Containers
+
+ id-BroadcastMRBs-FailedToBeModified-List,
+ id-BroadcastMRBs-FailedToBeModified-Item,
+ id-BroadcastMRBs-FailedToBeSetup-List,
+ id-BroadcastMRBs-FailedToBeSetup-Item,
+ id-BroadcastMRBs-FailedToBeSetupMod-List,
+ id-BroadcastMRBs-FailedToBeSetupMod-Item,
+ id-BroadcastMRBs-Modified-List,
+ id-BroadcastMRBs-Modified-Item,
+ id-BroadcastMRBs-Setup-List,
+ id-BroadcastMRBs-Setup-Item,
+ id-BroadcastMRBs-SetupMod-List,
+ id-BroadcastMRBs-SetupMod-Item,
+ id-BroadcastMRBs-ToBeModified-List,
+ id-BroadcastMRBs-ToBeModified-Item,
+ id-BroadcastMRBs-ToBeReleased-List,
+ id-BroadcastMRBs-ToBeReleased-Item,
+ id-BroadcastMRBs-ToBeSetup-List,
+ id-BroadcastMRBs-ToBeSetup-Item,
+ id-BroadcastMRBs-ToBeSetupMod-List,
+ id-BroadcastMRBs-ToBeSetupMod-Item,
+ id-Candidate-SpCell-Item,
+ id-Candidate-SpCell-List,
+ id-Cause,
+ id-Cancel-all-Warning-Messages-Indicator,
+ id-Cells-Failed-to-be-Activated-List,
+ id-Cells-Failed-to-be-Activated-List-Item,
+ id-Cells-Status-Item,
+ id-Cells-Status-List,
+ id-Cells-to-be-Activated-List,
+ id-Cells-to-be-Activated-List-Item,
+ id-Cells-to-be-Deactivated-List,
+ id-Cells-to-be-Deactivated-List-Item,
+ id-ConfirmedUEID,
+ id-CriticalityDiagnostics,
+ id-C-RNTI,
+ id-CUtoDURRCInformation,
+ id-DRB-Activity-Item,
+ id-DRB-Activity-List,
+ id-DRBs-FailedToBeModified-Item,
+ id-DRBs-FailedToBeModified-List,
+ id-DRBs-FailedToBeSetup-Item,
+ id-DRBs-FailedToBeSetup-List,
+ id-DRBs-FailedToBeSetupMod-Item,
+ id-DRBs-FailedToBeSetupMod-List,
+ id-DRBs-ModifiedConf-Item,
+ id-DRBs-ModifiedConf-List,
+ id-DRBs-Modified-Item,
+ id-DRBs-Modified-List,
+ id-DRB-Notify-Item,
+ id-DRB-Notify-List,
+ id-DRBs-Required-ToBeModified-Item,
+ id-DRBs-Required-ToBeModified-List,
+ id-DRBs-Required-ToBeReleased-Item,
+ id-DRBs-Required-ToBeReleased-List,
+ id-DRBs-Setup-Item,
+ id-DRBs-Setup-List,
+ id-DRBs-SetupMod-Item,
+ id-DRBs-SetupMod-List,
+ id-DRBs-ToBeModified-Item,
+ id-DRBs-ToBeModified-List,
+ id-DRBs-ToBeReleased-Item,
+ id-DRBs-ToBeReleased-List,
+ id-DRBs-ToBeSetup-Item,
+ id-DRBs-ToBeSetup-List,
+ id-DRBs-ToBeSetupMod-Item,
+ id-DRBs-ToBeSetupMod-List,
+ id-DRXCycle,
+ id-DUtoCURRCInformation,
+ id-ExecuteDuplication,
+ id-FullConfiguration,
+ id-gNB-CU-MBS-F1AP-ID,
+ id-gNB-CU-UE-F1AP-ID,
+ id-gNB-DU-MBS-F1AP-ID,
+ id-gNB-DU-UE-F1AP-ID,
+ id-gNB-DU-ID,
+ id-GNB-DU-Served-Cells-Item,
+ id-gNB-DU-Served-Cells-List,
+ id-gNB-CU-Name,
+ id-gNB-DU-Name,
+ id-Extended-GNB-CU-Name,
+ id-Extended-GNB-DU-Name,
+ id-InactivityMonitoringRequest,
+ id-InactivityMonitoringResponse,
+ id-MBS-Area-Session-ID,
+ id-MBS-CUtoDURRCInformation,
+ id-MBS-Session-ID,
+ id-MBS-ServiceArea,
+ id-MBSMulticastF1UContextDescriptor,
+ id-MC-PagingCell-Item,
+ id-MC-PagingCell-List,
+ id-MulticastF1UContextReferenceCU,
+ id-MulticastMBSSessionSetupList,
+ id-MulticastMBSSessionRemoveList,
+ id-MulticastMRBs-FailedToBeModified-List,
+ id-MulticastMRBs-FailedToBeModified-Item,
+ id-MulticastMRBs-FailedToBeSetup-List,
+ id-MulticastMRBs-FailedToBeSetup-Item,
+ id-MulticastMRBs-FailedToBeSetupMod-List,
+ id-MulticastMRBs-FailedToBeSetupMod-Item,
+ id-MulticastMRBs-Modified-List,
+ id-MulticastMRBs-Modified-Item,
+ id-MulticastMRBs-Setup-List,
+ id-MulticastMRBs-Setup-Item,
+ id-MulticastMRBs-SetupMod-List,
+ id-MulticastMRBs-SetupMod-Item,
+ id-MulticastMRBs-ToBeModified-List,
+ id-MulticastMRBs-ToBeModified-Item,
+ id-MulticastMRBs-ToBeReleased-List,
+ id-MulticastMRBs-ToBeReleased-Item,
+ id-MulticastMRBs-ToBeSetup-List,
+ id-MulticastMRBs-ToBeSetup-Item,
+ id-MulticastMRBs-ToBeSetupMod-List,
+ id-MulticastMRBs-ToBeSetupMod-Item,
+ id-MulticastF1UContext-ToBeSetup-List,
+ id-MulticastF1UContext-ToBeSetup-Item,
+ id-MulticastF1UContext-Setup-List,
+ id-MulticastF1UContext-Setup-Item,
+ id-MulticastF1UContext-FailedToBeSetup-List,
+ id-MulticastF1UContext-FailedToBeSetup-Item,
+ id-BroadcastAreaScope,
+ id-new-gNB-CU-UE-F1AP-ID,
+ id-new-gNB-DU-UE-F1AP-ID,
+ id-oldgNB-DU-UE-F1AP-ID,
+ id-PLMNAssistanceInfoForNetShar,
+ id-Potential-SpCell-Item,
+ id-Potential-SpCell-List,
+ id-RAT-FrequencyPriorityInformation,
+ id-RedirectedRRCmessage,
+ id-ResetType,
+ id-RequestedSRSTransmissionCharacteristics,
+ id-ResourceCoordinationTransferContainer,
+ id-RRCContainer,
+ id-RRCContainer-RRCSetupComplete,
+ id-RRCReconfigurationCompleteIndicator,
+ id-SCell-FailedtoSetup-List,
+ id-SCell-FailedtoSetup-Item,
+ id-SCell-FailedtoSetupMod-List,
+ id-SCell-FailedtoSetupMod-Item,
+ id-SCell-ToBeRemoved-Item,
+ id-SCell-ToBeRemoved-List,
+ id-SCell-ToBeSetup-Item,
+ id-SCell-ToBeSetup-List,
+ id-SCell-ToBeSetupMod-Item,
+ id-SCell-ToBeSetupMod-List,
+ id-SDT-Termination-Request,
+ id-SelectedPLMNID,
+ id-Served-Cells-To-Add-Item,
+ id-Served-Cells-To-Add-List,
+ id-Served-Cells-To-Delete-Item,
+ id-Served-Cells-To-Delete-List,
+ id-Served-Cells-To-Modify-Item,
+ id-Served-Cells-To-Modify-List,
+ id-ServCellIndex,
+ id-ServingCellMO,
+ id-SNSSAI,
+ id-SpCell-ID,
+ id-SpCellULConfigured,
+ id-SRBID,
+ id-SRBs-FailedToBeSetup-Item,
+ id-SRBs-FailedToBeSetup-List,
+ id-SRBs-FailedToBeSetupMod-Item,
+ id-SRBs-FailedToBeSetupMod-List,
+ id-SRBs-Required-ToBeReleased-Item,
+ id-SRBs-Required-ToBeReleased-List,
+ id-SRBs-ToBeReleased-Item,
+ id-SRBs-ToBeReleased-List,
+ id-SRBs-ToBeSetup-Item,
+ id-SRBs-ToBeSetup-List,
+ id-SRBs-ToBeSetupMod-Item,
+ id-SRBs-ToBeSetupMod-List,
+ id-SRBs-Modified-Item,
+ id-SRBs-Modified-List,
+ id-SRBs-Setup-Item,
+ id-SRBs-Setup-List,
+ id-SRBs-SetupMod-Item,
+ id-SRBs-SetupMod-List,
+ id-TimeToWait,
+ id-TransactionID,
+ id-TransmissionActionIndicator,
+ id-UEContextNotRetrievable,
+ id-UE-associatedLogicalF1-ConnectionItem,
+ id-UE-associatedLogicalF1-ConnectionListResAck,
+ id-UEIdentity-List-For-Paging-List,
+ id-UEIdentity-List-For-Paging-Item,
+ id-UE-MulticastMRBs-ConfirmedToBeModified-List,
+ id-UE-MulticastMRBs-ConfirmedToBeModified-Item,
+ id-UE-MulticastMRBs-RequiredToBeModified-List,
+ id-UE-MulticastMRBs-RequiredToBeModified-Item,
+ id-UE-MulticastMRBs-RequiredToBeReleased-List,
+ id-UE-MulticastMRBs-RequiredToBeReleased-Item,
+ id-UE-MulticastMRBs-Setup-List,
+ id-UE-MulticastMRBs-Setup-Item,
+ id-UE-MulticastMRBs-Setupnew-List,
+ id-UE-MulticastMRBs-Setupnew-Item,
+ id-UE-MulticastMRBs-ToBeReleased-List,
+ id-UE-MulticastMRBs-ToBeReleased-Item,
+ id-UE-MulticastMRBs-ToBeSetup-atModify-List,
+ id-UE-MulticastMRBs-ToBeSetup-atModify-Item,
+ id-UE-MulticastMRBs-ToBeSetup-List,
+ id-UE-MulticastMRBs-ToBeSetup-Item,
+ id-DUtoCURRCContainer,
+ id-NRCGI,
+ id-PagingCell-Item,
+ id-PagingCell-List,
+ id-PagingDRX,
+ id-PagingPriority,
+ id-SItype-List,
+ id-UEIdentityIndexValue,
+ id-GNB-CU-TNL-Association-Setup-List,
+ id-GNB-CU-TNL-Association-Setup-Item,
+ id-GNB-CU-TNL-Association-Failed-To-Setup-List,
+ id-GNB-CU-TNL-Association-Failed-To-Setup-Item,
+ id-GNB-CU-TNL-Association-To-Add-Item,
+ id-GNB-CU-TNL-Association-To-Add-List,
+ id-GNB-CU-TNL-Association-To-Remove-Item,
+ id-GNB-CU-TNL-Association-To-Remove-List,
+ id-GNB-CU-TNL-Association-To-Update-Item,
+ id-GNB-CU-TNL-Association-To-Update-List,
+ id-MaskedIMEISV,
+ id-PagingIdentity,
+ id-Cells-to-be-Barred-List,
+ id-Cells-to-be-Barred-Item,
+ id-PWSSystemInformation,
+ id-RepetitionPeriod,
+ id-NumberofBroadcastRequest,
+ id-Cells-To-Be-Broadcast-List,
+ id-Cells-To-Be-Broadcast-Item,
+ id-Cells-Broadcast-Completed-List,
+ id-Cells-Broadcast-Completed-Item,
+ id-Broadcast-To-Be-Cancelled-List,
+ id-Broadcast-To-Be-Cancelled-Item,
+ id-Cells-Broadcast-Cancelled-List,
+ id-Cells-Broadcast-Cancelled-Item,
+ id-NR-CGI-List-For-Restart-List,
+ id-NR-CGI-List-For-Restart-Item,
+ id-PWS-Failed-NR-CGI-List,
+ id-PWS-Failed-NR-CGI-Item,
+ id-EUTRA-NR-CellResourceCoordinationReq-Container,
+ id-EUTRA-NR-CellResourceCoordinationReqAck-Container,
+ id-Protected-EUTRA-Resources-List,
+ id-RequestType,
+ id-ServingPLMN,
+ id-DRXConfigurationIndicator,
+ id-RLCFailureIndication,
+ id-UplinkTxDirectCurrentListInformation,
+ id-SULAccessIndication,
+ id-Protected-EUTRA-Resources-Item,
+ id-GNB-DUConfigurationQuery,
+ id-GNB-DU-UE-AMBR-UL,
+ id-GNB-CU-RRC-Version,
+ id-GNB-DU-RRC-Version,
+ id-GNBDUOverloadInformation,
+ id-NeedforGap,
+ id-RRCDeliveryStatusRequest,
+ id-RRCDeliveryStatus,
+ id-Dedicated-SIDelivery-NeededUE-List,
+ id-Dedicated-SIDelivery-NeededUE-Item,
+ id-ResourceCoordinationTransferInformation,
+ id-Associated-SCell-List,
+ id-Associated-SCell-Item,
+ id-IgnoreResourceCoordinationContainer,
+ id-UAC-Assistance-Info,
+ id-RANUEID,
+ id-PagingOrigin,
+ id-GNB-DU-TNL-Association-To-Remove-Item,
+ id-GNB-DU-TNL-Association-To-Remove-List,
+ id-NotificationInformation,
+ id-TraceActivation,
+ id-TraceID,
+ id-Neighbour-Cell-Information-List,
+ id-Neighbour-Cell-Information-Item,
+ id-SymbolAllocInSlot,
+ id-NumDLULSymbols,
+ id-AdditionalRRMPriorityIndex,
+ id-DUCURadioInformationType,
+ id-CUDURadioInformationType,
+ id-LowerLayerPresenceStatusChange,
+ id-Transport-Layer-Address-Info,
+ id-BHChannels-ToBeSetup-List,
+ id-BHChannels-ToBeSetup-Item,
+ id-BHChannels-Setup-List,
+ id-BHChannels-Setup-Item,
+ id-BHChannels-ToBeModified-Item,
+ id-BHChannels-ToBeModified-List,
+ id-BHChannels-ToBeReleased-Item,
+ id-BHChannels-ToBeReleased-List,
+ id-BHChannels-ToBeSetupMod-Item,
+ id-BHChannels-ToBeSetupMod-List,
+ id-BHChannels-FailedToBeSetup-Item,
+ id-BHChannels-FailedToBeSetup-List,
+ id-BHChannels-FailedToBeModified-Item,
+ id-BHChannels-FailedToBeModified-List,
+ id-BHChannels-FailedToBeSetupMod-Item,
+ id-BHChannels-FailedToBeSetupMod-List,
+ id-BHChannels-Modified-Item,
+ id-BHChannels-Modified-List,
+ id-BHChannels-SetupMod-Item,
+ id-BHChannels-SetupMod-List,
+ id-BHChannels-Required-ToBeReleased-Item,
+ id-BHChannels-Required-ToBeReleased-List,
+ id-BAPAddress,
+ id-ConfiguredBAPAddress,
+ id-BH-Routing-Information-Added-List,
+ id-BH-Routing-Information-Added-List-Item,
+ id-BH-Routing-Information-Removed-List,
+ id-BH-Routing-Information-Removed-List-Item,
+ id-UL-BH-Non-UP-Traffic-Mapping,
+ id-Child-Nodes-List,
+ id-Activated-Cells-to-be-Updated-List,
+ id-IABIPv6RequestType,
+ id-IAB-TNL-Addresses-To-Remove-List,
+ id-IAB-TNL-Addresses-To-Remove-Item,
+ id-IAB-Allocated-TNL-Address-List,
+ id-IAB-Allocated-TNL-Address-Item,
+ id-IABv4AddressesRequested,
+ id-TrafficMappingInformation,
+ id-UL-UP-TNL-Information-to-Update-List,
+ id-UL-UP-TNL-Information-to-Update-List-Item,
+ id-UL-UP-TNL-Address-to-Update-List,
+ id-UL-UP-TNL-Address-to-Update-List-Item,
+ id-DL-UP-TNL-Address-to-Update-List,
+ id-DL-UP-TNL-Address-to-Update-List-Item,
+ id-NRV2XServicesAuthorized,
+ id-LTEV2XServicesAuthorized,
+ id-NRUESidelinkAggregateMaximumBitrate,
+ id-LTEUESidelinkAggregateMaximumBitrate,
+ id-PC5LinkAMBR,
+ id-SLDRBs-FailedToBeModified-Item,
+ id-SLDRBs-FailedToBeModified-List,
+ id-SLDRBs-FailedToBeSetup-Item,
+ id-SLDRBs-FailedToBeSetup-List,
+ id-SLDRBs-Modified-Item,
+ id-SLDRBs-Modified-List,
+ id-SLDRBs-Required-ToBeModified-Item,
+ id-SLDRBs-Required-ToBeModified-List,
+ id-SLDRBs-Required-ToBeReleased-Item,
+ id-SLDRBs-Required-ToBeReleased-List,
+ id-SLDRBs-Setup-Item,
+ id-SLDRBs-Setup-List,
+ id-SLDRBs-ToBeModified-Item,
+ id-SLDRBs-ToBeModified-List,
+ id-SLDRBs-ToBeReleased-Item,
+ id-SLDRBs-ToBeReleased-List,
+ id-SLDRBs-ToBeSetup-Item,
+ id-SLDRBs-ToBeSetup-List,
+ id-SLDRBs-ToBeSetupMod-Item,
+ id-SLDRBs-ToBeSetupMod-List,
+ id-SLDRBs-SetupMod-List,
+ id-SLDRBs-FailedToBeSetupMod-List,
+ id-SLDRBs-SetupMod-Item,
+ id-SLDRBs-FailedToBeSetupMod-Item,
+ id-SLDRBs-ModifiedConf-List,
+ id-SLDRBs-ModifiedConf-Item,
+ id-gNBCUMeasurementID,
+ id-gNBDUMeasurementID,
+ id-RegistrationRequest,
+ id-ReportCharacteristics,
+ id-CellToReportList,
+ id-CellMeasurementResultList,
+ id-HardwareLoadIndicator,
+ id-ReportingPeriodicity,
+ id-TNLCapacityIndicator,
+ id-RACHReportInformationList,
+ id-RLFReportInformationList,
+ id-ReportingRequestType,
+ id-TimeReferenceInformation,
+ id-ConditionalInterDUMobilityInformation,
+ id-ConditionalIntraDUMobilityInformation,
+ id-targetCellsToCancel,
+ id-requestedTargetCellGlobalID,
+ id-TraceCollectionEntityIPAddress,
+ id-ManagementBasedMDTPLMNList,
+ id-PrivacyIndicator,
+ id-TraceCollectionEntityURI,
+ id-ServingNID,
+ id-PosAssistance-Information,
+ id-PosBroadcast,
+ id-PositioningBroadcastCells,
+ id-RoutingID,
+ id-PosAssistanceInformationFailureList,
+ id-PosMeasurementQuantities,
+ id-PosMeasurementResultList,
+ id-PosMeasurementPeriodicity,
+ id-PosReportCharacteristics,
+ id-TRPInformationTypeListTRPReq,
+ id-TRPInformationTypeItem,
+ id-TRPInformationListTRPResp,
+ id-TRPInformationItem,
+ id-LMF-MeasurementID,
+ id-RAN-MeasurementID,
+ id-SRSType,
+ id-ActivationTime,
+ id-AbortTransmission,
+ id-SRSConfiguration,
+ id-TRPList,
+ id-E-CID-MeasurementQuantities,
+ id-E-CID-MeasurementPeriodicity,
+ id-E-CID-MeasurementResult,
+ id-Cell-Portion-ID,
+ id-LMF-UE-MeasurementID,
+ id-RAN-UE-MeasurementID,
+ id-SFNInitialisationTime,
+ id-SystemFrameNumber,
+ id-SlotNumber,
+ id-TRP-MeasurementRequestList,
+ id-MeasurementBeamInfoRequest,
+ id-E-CID-ReportCharacteristics,
+ id-F1CTransferPath,
+ id-SCGIndicator,
+ id-SRSSpatialRelationPerSRSResource,
+ id-PosMeasurementPeriodicityExtended,
+ id-SuccessfulHOReportInformationList,
+ id-Coverage-Modification-Notification,
+ id-CCO-Assistance-Information,
+ id-CellsForSON-List,
+ id-IABCongestionIndication,
+ id-IABConditionalRRCMessageDeliveryIndication,
+ id-F1CTransferPathNRDC,
+ id-BufferSizeThresh,
+ id-IAB-TNL-Addresses-Exception,
+ id-BAP-Header-Rewriting-Added-List,
+ id-BAP-Header-Rewriting-Added-List-Item,
+ id-Re-routingEnableIndicator,
+ id-NonF1terminatingTopologyIndicator,
+ id-EgressNonF1terminatingTopologyIndicator,
+ id-IngressNonF1terminatingTopologyIndicator,
+ id-Neighbour-Node-Cells-List,
+ id-Serving-Cells-List,
+ id-MDTPollutedMeasurementIndicator,
+ id-PDCMeasurementPeriodicity,
+ id-PDCMeasurementQuantities,
+ id-PDCMeasurementResult,
+ id-PDCReportType,
+ id-RAN-UE-PDC-MeasID,
+ id-SCGActivationRequest,
+ id-SCGActivationStatus,
+ id-TRP-MeasurementUpdateList,
+ id-PRSTRPList,
+ id-PRSTransmissionTRPList,
+ id-ResponseTime,
+ id-TRP-PRS-Info-List,
+ id-PRS-Measurement-Info-List,
+ id-PRSConfigRequestType,
+ id-MeasurementCharacteristicsRequestIndicator,
+ id-MeasurementTimeOccasion,
+ id-UEReportingInformation,
+ id-PosConextRevIndication,
+ id-NRRedCapUEIndication,
+ id-RANUEPagingDRX,
+ id-CNUEPagingDRX,
+ id-NRPagingeDRXInformation,
+ id-NRPagingeDRXInformationforRRCINACTIVE,
+ id-QoEInformation,
+ id-CG-SDTQueryIndication,
+ id-CG-SDTKeptIndicator,
+ id-CG-SDTSessionInfoOld,
+ id-SDTInformation,
+ id-FiveG-ProSeAuthorized,
+ id-FiveG-ProSePC5LinkAMBR,
+ id-FiveG-ProSeUEPC5AggregateMaximumBitrate,
+ id-UuRLCChannelToBeSetupList,
+ id-UuRLCChannelToBeModifiedList,
+ id-UuRLCChannelToBeReleasedList,
+ id-UuRLCChannelSetupList,
+ id-UuRLCChannelFailedToBeSetupList,
+ id-UuRLCChannelModifiedList,
+ id-UuRLCChannelFailedToBeModifiedList,
+ id-UuRLCChannelRequiredToBeModifiedList,
+ id-UuRLCChannelRequiredToBeReleasedList,
+ id-PC5RLCChannelToBeSetupList,
+ id-PC5RLCChannelToBeModifiedList,
+ id-PC5RLCChannelToBeReleasedList,
+ id-PC5RLCChannelSetupList,
+ id-PC5RLCChannelFailedToBeSetupList,
+ id-PC5RLCChannelModifiedList,
+ id-PC5RLCChannelFailedToBeModifiedList,
+ id-PC5RLCChannelRequiredToBeModifiedList,
+ id-PC5RLCChannelRequiredToBeReleasedList,
+ id-SidelinkRelayConfiguration,
+ id-UpdatedRemoteUELocalID,
+ id-PathSwitchConfiguration,
+ id-PagingCause,
+ id-PEIPSAssistanceInfo,
+ id-UEPagingCapability,
+ id-GNBDUUESliceMaximumBitRateList,
+ id-PosMeasurementAmount,
+ id-BAP-Header-Rewriting-Removed-List,
+ id-BAP-Header-Rewriting-Removed-List-Item,
+ id-SLDRXCycleList,
+ id-ManagementBasedMDTPLMNModificationList,
+ id-ActivationRequestType,
+ id-PosMeasGapPreConfigList,
+ id-PosMeasurementPeriodicityNR-AoA,
+ id-SRSPosRRCInactiveConfig,
+ id-SDTBearerConfigurationQueryIndication,
+ id-SDTBearerConfigurationInfo,
+ id-ServingCellMO-List,
+ id-ServingCellMO-List-Item,
+ id-ServingCellMO-encoded-in-CGC-List,
+ id-PosSItypeList,
+ id-DAPS-HO-Status,
+ id-SRBMappingInfo,
+ id-UplinkTxDirectCurrentTwoCarrierListInfo,
+ id-SRSPosRRCInactiveQueryIndication,
+ id-UlTxDirectCurrentMoreCarrierInformation,
+ id-CPACMCGInformation,
+ id-ExtendedUEIdentityIndexValue,
+ id-HashedUEIdentityIndexValue,
+ maxCellingNBDU,
+ maxnoofCandidateSpCells,
+ maxnoofDRBs,
+ maxnoofErrors,
+ maxnoofIndividualF1ConnectionsToReset,
+ maxnoofPotentialSpCells,
+ maxnoofSCells,
+ maxnoofSRBs,
+ maxnoofPagingCells,
+ maxnoofTNLAssociations,
+ maxCellineNB,
+ maxnoofUEIDs,
+ maxnoofBHRLCChannels,
+ maxnoofRoutingEntries,
+ maxnoofChildIABNodes,
+ maxnoofServedCellsIAB,
+ maxnoofTLAsIAB,
+ maxnoofULUPTNLInformationforIAB,
+ maxnoofUPTNLAddresses,
+ maxnoofSLDRBs,
+ maxnoofTRPInfoTypes,
+ maxnoofTRPs,
+ maxnoofMRBs,
+ maxnoofUEIDforPaging,
+ maxnoofNeighbourNodeCellsIAB,
+ maxnoofMRBsforUE,
+ maxnoofServingCellMOs
+
+
+
+
+FROM F1AP-Constants;
+
+
+-- **************************************************************
+--
+-- RESET ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Reset
+--
+-- **************************************************************
+
+Reset ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetIEs} },
+ ...
+}
+
+ResetIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
+ ...
+}
+
+ResetType ::= CHOICE {
+ f1-Interface ResetAll,
+ partOfF1-Interface UE-associatedLogicalF1-ConnectionListRes,
+ choice-extension ProtocolIE-SingleContainer { { ResetType-ExtIEs} }
+}
+
+ResetType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+ResetAll ::= ENUMERATED {
+ reset-all,
+ ...
+}
+
+UE-associatedLogicalF1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxnoofIndividualF1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalF1-ConnectionItemRes } }
+
+UE-associatedLogicalF1-ConnectionItemRes F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-associatedLogicalF1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalF1-ConnectionItem PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Reset Acknowledge
+--
+-- **************************************************************
+
+ResetAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
+ ...
+}
+
+ResetAcknowledgeIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-UE-associatedLogicalF1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalF1-ConnectionListResAck PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+UE-associatedLogicalF1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxnoofIndividualF1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalF1-ConnectionItemResAck } }
+
+UE-associatedLogicalF1-ConnectionItemResAck F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-associatedLogicalF1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalF1-ConnectionItem PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Error Indication
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}},
+ ...
+}
+
+ErrorIndicationIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY ignore TYPE GNB-CU-UE-F1AP-ID PRESENCE optional }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY ignore TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- F1 SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- F1 Setup Request
+--
+-- **************************************************************
+
+F1SetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {F1SetupRequestIEs} },
+ ...
+}
+
+F1SetupRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNB-DU-ID CRITICALITY reject TYPE GNB-DU-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-Name CRITICALITY ignore TYPE GNB-DU-Name PRESENCE optional }|
+ { ID id-gNB-DU-Served-Cells-List CRITICALITY reject TYPE GNB-DU-Served-Cells-List PRESENCE optional }|
+ { ID id-GNB-DU-RRC-Version CRITICALITY reject TYPE RRC-Version PRESENCE mandatory }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-BAPAddress CRITICALITY ignore TYPE BAPAddress PRESENCE optional }|
+ { ID id-Extended-GNB-DU-Name CRITICALITY ignore TYPE Extended-GNB-DU-Name PRESENCE optional },
+ ...
+}
+
+
+GNB-DU-Served-Cells-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { GNB-DU-Served-Cells-ItemIEs } }
+
+GNB-DU-Served-Cells-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-DU-Served-Cells-Item CRITICALITY reject TYPE GNB-DU-Served-Cells-Item PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- F1 Setup Response
+--
+-- **************************************************************
+
+F1SetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {F1SetupResponseIEs} },
+ ...
+}
+
+
+F1SetupResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNB-CU-Name CRITICALITY ignore TYPE GNB-CU-Name PRESENCE optional }|
+ { ID id-Cells-to-be-Activated-List CRITICALITY reject TYPE Cells-to-be-Activated-List PRESENCE optional }|
+ { ID id-GNB-CU-RRC-Version CRITICALITY reject TYPE RRC-Version PRESENCE mandatory }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-UL-BH-Non-UP-Traffic-Mapping CRITICALITY reject TYPE UL-BH-Non-UP-Traffic-Mapping PRESENCE optional }|
+ { ID id-BAPAddress CRITICALITY ignore TYPE BAPAddress PRESENCE optional }|
+ { ID id-Extended-GNB-CU-Name CRITICALITY ignore TYPE Extended-GNB-CU-Name PRESENCE optional },
+ ...
+}
+
+
+Cells-to-be-Activated-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-to-be-Activated-List-ItemIEs } }
+
+Cells-to-be-Activated-List-ItemIEs F1AP-PROTOCOL-IES::= {
+ { ID id-Cells-to-be-Activated-List-Item CRITICALITY reject TYPE Cells-to-be-Activated-List-Item PRESENCE mandatory},
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- F1 Setup Failure
+--
+-- **************************************************************
+
+F1SetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {F1SetupFailureIEs} },
+ ...
+}
+
+F1SetupFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GNB-DU CONFIGURATION UPDATE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- GNB-DU CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+GNBDUConfigurationUpdate::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNBDUConfigurationUpdateIEs} },
+ ...
+}
+
+GNBDUConfigurationUpdateIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Served-Cells-To-Add-List CRITICALITY reject TYPE Served-Cells-To-Add-List PRESENCE optional }|
+ { ID id-Served-Cells-To-Modify-List CRITICALITY reject TYPE Served-Cells-To-Modify-List PRESENCE optional }|
+ { ID id-Served-Cells-To-Delete-List CRITICALITY reject TYPE Served-Cells-To-Delete-List PRESENCE optional }|
+ { ID id-Cells-Status-List CRITICALITY reject TYPE Cells-Status-List PRESENCE optional }|
+ { ID id-Dedicated-SIDelivery-NeededUE-List CRITICALITY ignore TYPE Dedicated-SIDelivery-NeededUE-List PRESENCE optional }|
+ { ID id-gNB-DU-ID CRITICALITY reject TYPE GNB-DU-ID PRESENCE optional }|
+ { ID id-GNB-DU-TNL-Association-To-Remove-List CRITICALITY reject TYPE GNB-DU-TNL-Association-To-Remove-List PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-Coverage-Modification-Notification CRITICALITY ignore TYPE Coverage-Modification-Notification PRESENCE optional }|
+ { ID id-gNB-DU-Name CRITICALITY ignore TYPE GNB-DU-Name PRESENCE optional }|
+ { ID id-Extended-GNB-DU-Name CRITICALITY ignore TYPE Extended-GNB-DU-Name PRESENCE optional },
+ ...
+}
+
+Served-Cells-To-Add-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Served-Cells-To-Add-ItemIEs } }
+Served-Cells-To-Modify-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Served-Cells-To-Modify-ItemIEs } }
+Served-Cells-To-Delete-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Served-Cells-To-Delete-ItemIEs } }
+Cells-Status-List ::= SEQUENCE (SIZE(0.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-Status-ItemIEs } }
+
+Dedicated-SIDelivery-NeededUE-List::= SEQUENCE (SIZE(1.. maxnoofUEIDs)) OF ProtocolIE-SingleContainer { { Dedicated-SIDelivery-NeededUE-ItemIEs } }
+
+GNB-DU-TNL-Association-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF ProtocolIE-SingleContainer { { GNB-DU-TNL-Association-To-Remove-ItemIEs } }
+
+
+Served-Cells-To-Add-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Served-Cells-To-Add-Item CRITICALITY reject TYPE Served-Cells-To-Add-Item PRESENCE mandatory },
+ ...
+}
+
+Served-Cells-To-Modify-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Served-Cells-To-Modify-Item CRITICALITY reject TYPE Served-Cells-To-Modify-Item PRESENCE mandatory },
+ ...
+}
+
+Served-Cells-To-Delete-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Served-Cells-To-Delete-Item CRITICALITY reject TYPE Served-Cells-To-Delete-Item PRESENCE mandatory },
+ ...
+}
+
+Cells-Status-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Cells-Status-Item CRITICALITY reject TYPE Cells-Status-Item PRESENCE mandatory },
+ ...
+}
+
+Dedicated-SIDelivery-NeededUE-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Dedicated-SIDelivery-NeededUE-Item CRITICALITY ignore TYPE Dedicated-SIDelivery-NeededUE-Item PRESENCE mandatory },
+ ...
+}
+
+GNB-DU-TNL-Association-To-Remove-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-DU-TNL-Association-To-Remove-Item CRITICALITY reject TYPE GNB-DU-TNL-Association-To-Remove-Item PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GNB-DU CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+GNBDUConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNBDUConfigurationUpdateAcknowledgeIEs} },
+ ...
+}
+
+
+GNBDUConfigurationUpdateAcknowledgeIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cells-to-be-Activated-List CRITICALITY reject TYPE Cells-to-be-Activated-List PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-Cells-to-be-Deactivated-List CRITICALITY reject TYPE Cells-to-be-Deactivated-List PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-UL-BH-Non-UP-Traffic-Mapping CRITICALITY reject TYPE UL-BH-Non-UP-Traffic-Mapping PRESENCE optional }|
+ { ID id-BAPAddress CRITICALITY ignore TYPE BAPAddress PRESENCE optional }|
+ { ID id-CellsForSON-List CRITICALITY ignore TYPE CellsForSON-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-DU CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+
+GNBDUConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNBDUConfigurationUpdateFailureIEs} },
+ ...
+}
+
+GNBDUConfigurationUpdateFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU CONFIGURATION UPDATE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- GNB-CU CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+GNBCUConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { GNBCUConfigurationUpdateIEs} },
+ ...
+}
+
+GNBCUConfigurationUpdateIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cells-to-be-Activated-List CRITICALITY reject TYPE Cells-to-be-Activated-List PRESENCE optional }|
+ { ID id-Cells-to-be-Deactivated-List CRITICALITY reject TYPE Cells-to-be-Deactivated-List PRESENCE optional }|
+ { ID id-GNB-CU-TNL-Association-To-Add-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-To-Add-List PRESENCE optional }|
+ { ID id-GNB-CU-TNL-Association-To-Remove-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-To-Remove-List PRESENCE optional }|
+ { ID id-GNB-CU-TNL-Association-To-Update-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-To-Update-List PRESENCE optional }|
+ { ID id-Cells-to-be-Barred-List CRITICALITY ignore TYPE Cells-to-be-Barred-List PRESENCE optional }|
+ { ID id-Protected-EUTRA-Resources-List CRITICALITY reject TYPE Protected-EUTRA-Resources-List PRESENCE optional }|
+ { ID id-Neighbour-Cell-Information-List CRITICALITY ignore TYPE Neighbour-Cell-Information-List PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional }|
+ { ID id-UL-BH-Non-UP-Traffic-Mapping CRITICALITY reject TYPE UL-BH-Non-UP-Traffic-Mapping PRESENCE optional }|
+ { ID id-BAPAddress CRITICALITY ignore TYPE BAPAddress PRESENCE optional }|
+ { ID id-CCO-Assistance-Information CRITICALITY ignore TYPE CCO-Assistance-Information PRESENCE optional }|
+ { ID id-CellsForSON-List CRITICALITY ignore TYPE CellsForSON-List PRESENCE optional }|
+ { ID id-gNB-CU-Name CRITICALITY ignore TYPE GNB-CU-Name PRESENCE optional }|
+ { ID id-Extended-GNB-CU-Name CRITICALITY ignore TYPE Extended-GNB-CU-Name PRESENCE optional },
+ ...
+}
+
+Cells-to-be-Deactivated-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-to-be-Deactivated-List-ItemIEs } }
+GNB-CU-TNL-Association-To-Add-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF ProtocolIE-SingleContainer { { GNB-CU-TNL-Association-To-Add-ItemIEs } }
+GNB-CU-TNL-Association-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF ProtocolIE-SingleContainer { { GNB-CU-TNL-Association-To-Remove-ItemIEs } }
+GNB-CU-TNL-Association-To-Update-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF ProtocolIE-SingleContainer { { GNB-CU-TNL-Association-To-Update-ItemIEs } }
+Cells-to-be-Barred-List ::= SEQUENCE(SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-to-be-Barred-ItemIEs } }
+
+
+Cells-to-be-Deactivated-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Cells-to-be-Deactivated-List-Item CRITICALITY reject TYPE Cells-to-be-Deactivated-List-Item PRESENCE mandatory },
+ ...
+}
+
+
+GNB-CU-TNL-Association-To-Add-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-TNL-Association-To-Add-Item CRITICALITY ignore TYPE GNB-CU-TNL-Association-To-Add-Item PRESENCE mandatory },
+ ...
+}
+
+GNB-CU-TNL-Association-To-Remove-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-TNL-Association-To-Remove-Item CRITICALITY ignore TYPE GNB-CU-TNL-Association-To-Remove-Item PRESENCE mandatory },
+ ...
+}
+
+GNB-CU-TNL-Association-To-Update-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-TNL-Association-To-Update-Item CRITICALITY ignore TYPE GNB-CU-TNL-Association-To-Update-Item PRESENCE mandatory },
+ ...
+}
+
+Cells-to-be-Barred-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Cells-to-be-Barred-Item CRITICALITY ignore TYPE Cells-to-be-Barred-Item PRESENCE mandatory },
+ ...
+}
+
+Protected-EUTRA-Resources-List ::= SEQUENCE (SIZE(1.. maxCellineNB)) OF ProtocolIE-SingleContainer { { Protected-EUTRA-Resources-ItemIEs } }
+Protected-EUTRA-Resources-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Protected-EUTRA-Resources-Item CRITICALITY reject TYPE Protected-EUTRA-Resources-Item PRESENCE mandatory},
+ ...
+}
+
+Neighbour-Cell-Information-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Neighbour-Cell-Information-ItemIEs } }
+Neighbour-Cell-Information-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Neighbour-Cell-Information-Item CRITICALITY ignore TYPE Neighbour-Cell-Information-Item PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-CU CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+GNBCUConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { GNBCUConfigurationUpdateAcknowledgeIEs} },
+ ...
+}
+
+
+GNBCUConfigurationUpdateAcknowledgeIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cells-Failed-to-be-Activated-List CRITICALITY reject TYPE Cells-Failed-to-be-Activated-List PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-GNB-CU-TNL-Association-Setup-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-Setup-List PRESENCE optional }|
+ { ID id-GNB-CU-TNL-Association-Failed-To-Setup-List CRITICALITY ignore TYPE GNB-CU-TNL-Association-Failed-To-Setup-List PRESENCE optional }|
+ { ID id-Dedicated-SIDelivery-NeededUE-List CRITICALITY ignore TYPE Dedicated-SIDelivery-NeededUE-List PRESENCE optional }|
+ { ID id-Transport-Layer-Address-Info CRITICALITY ignore TYPE Transport-Layer-Address-Info PRESENCE optional },
+ ...
+}
+
+Cells-Failed-to-be-Activated-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-Failed-to-be-Activated-List-ItemIEs } }
+GNB-CU-TNL-Association-Setup-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF ProtocolIE-SingleContainer { { GNB-CU-TNL-Association-Setup-ItemIEs } }
+GNB-CU-TNL-Association-Failed-To-Setup-List ::= SEQUENCE (SIZE(1.. maxnoofTNLAssociations)) OF ProtocolIE-SingleContainer { { GNB-CU-TNL-Association-Failed-To-Setup-ItemIEs } }
+
+Cells-Failed-to-be-Activated-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Cells-Failed-to-be-Activated-List-Item CRITICALITY reject TYPE Cells-Failed-to-be-Activated-List-Item PRESENCE mandatory },
+ ...
+}
+
+GNB-CU-TNL-Association-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-TNL-Association-Setup-Item CRITICALITY ignore TYPE GNB-CU-TNL-Association-Setup-Item PRESENCE mandatory },
+ ...
+}
+
+
+GNB-CU-TNL-Association-Failed-To-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-GNB-CU-TNL-Association-Failed-To-Setup-Item CRITICALITY ignore TYPE GNB-CU-TNL-Association-Failed-To-Setup-Item PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GNB-CU CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+
+GNBCUConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { GNBCUConfigurationUpdateFailureIEs} },
+ ...
+}
+
+GNBCUConfigurationUpdateFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GNB-DU RESOURCE COORDINATION REQUEST
+--
+-- **************************************************************
+
+GNBDUResourceCoordinationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{GNBDUResourceCoordinationRequest-IEs}},
+ ...
+}
+
+GNBDUResourceCoordinationRequest-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-RequestType CRITICALITY reject TYPE RequestType PRESENCE mandatory }|
+ { ID id-EUTRA-NR-CellResourceCoordinationReq-Container CRITICALITY reject TYPE EUTRA-NR-CellResourceCoordinationReq-Container PRESENCE mandatory}|
+ { ID id-IgnoreResourceCoordinationContainer CRITICALITY reject TYPE IgnoreResourceCoordinationContainer PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GNB-DU RESOURCE COORDINATION RESPONSE
+--
+-- **************************************************************
+
+GNBDUResourceCoordinationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{GNBDUResourceCoordinationResponse-IEs}},
+ ...
+}
+
+GNBDUResourceCoordinationResponse-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-EUTRA-NR-CellResourceCoordinationReqAck-Container CRITICALITY reject TYPE EUTRA-NR-CellResourceCoordinationReqAck-Container PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Setup ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE CONTEXT SETUP REQUEST
+--
+-- **************************************************************
+
+UEContextSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextSetupRequestIEs} },
+ ...
+}
+
+UEContextSetupRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY ignore TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }|
+ { ID id-SpCell-ID CRITICALITY reject TYPE NRCGI PRESENCE mandatory }|
+ { ID id-ServCellIndex CRITICALITY reject TYPE ServCellIndex PRESENCE mandatory }|
+ { ID id-SpCellULConfigured CRITICALITY ignore TYPE CellULConfigured PRESENCE optional }|
+ { ID id-CUtoDURRCInformation CRITICALITY reject TYPE CUtoDURRCInformation PRESENCE mandatory}|
+ { ID id-Candidate-SpCell-List CRITICALITY ignore TYPE Candidate-SpCell-List PRESENCE optional }|
+ { ID id-DRXCycle CRITICALITY ignore TYPE DRXCycle PRESENCE optional }|
+ { ID id-ResourceCoordinationTransferContainer CRITICALITY ignore TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
+ { ID id-SCell-ToBeSetup-List CRITICALITY ignore TYPE SCell-ToBeSetup-List PRESENCE optional }|
+ { ID id-SRBs-ToBeSetup-List CRITICALITY reject TYPE SRBs-ToBeSetup-List PRESENCE optional }|
+ { ID id-DRBs-ToBeSetup-List CRITICALITY reject TYPE DRBs-ToBeSetup-List PRESENCE optional }|
+ { ID id-InactivityMonitoringRequest CRITICALITY reject TYPE InactivityMonitoringRequest PRESENCE optional }|
+ { ID id-RAT-FrequencyPriorityInformation CRITICALITY reject TYPE RAT-FrequencyPriorityInformation PRESENCE optional }|
+ { ID id-RRCContainer CRITICALITY ignore TYPE RRCContainer PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }|
+ { ID id-ServingPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional }|
+ { ID id-GNB-DU-UE-AMBR-UL CRITICALITY ignore TYPE BitRate PRESENCE conditional }|
+ { ID id-RRCDeliveryStatusRequest CRITICALITY ignore TYPE RRCDeliveryStatusRequest PRESENCE optional }|
+ { ID id-ResourceCoordinationTransferInformation CRITICALITY ignore TYPE ResourceCoordinationTransferInformation PRESENCE optional }|
+ { ID id-ServingCellMO CRITICALITY ignore TYPE ServingCellMO PRESENCE optional }|
+ { ID id-new-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }|
+ { ID id-RANUEID CRITICALITY ignore TYPE RANUEID PRESENCE optional }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional }|
+ { ID id-BHChannels-ToBeSetup-List CRITICALITY reject TYPE BHChannels-ToBeSetup-List PRESENCE optional }|
+ { ID id-ConfiguredBAPAddress CRITICALITY reject TYPE BAPAddress PRESENCE optional }|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5LinkAMBR CRITICALITY ignore TYPE BitRate PRESENCE optional}|
+ { ID id-SLDRBs-ToBeSetup-List CRITICALITY reject TYPE SLDRBs-ToBeSetup-List PRESENCE optional }|
+ { ID id-ConditionalInterDUMobilityInformation CRITICALITY reject TYPE ConditionalInterDUMobilityInformation PRESENCE optional}|
+ { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }|
+ { ID id-ServingNID CRITICALITY reject TYPE NID PRESENCE optional }|
+ { ID id-F1CTransferPath CRITICALITY reject TYPE F1CTransferPath PRESENCE optional }|
+ { ID id-F1CTransferPathNRDC CRITICALITY reject TYPE F1CTransferPathNRDC PRESENCE optional }|
+ { ID id-MDTPollutedMeasurementIndicator CRITICALITY ignore TYPE MDTPollutedMeasurementIndicator PRESENCE optional }|
+ { ID id-SCGActivationRequest CRITICALITY ignore TYPE SCGActivationRequest PRESENCE optional }|
+ { ID id-CG-SDTSessionInfoOld CRITICALITY ignore TYPE CG-SDTSessionInfo PRESENCE optional }|
+ { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }|
+ { ID id-FiveG-ProSeUEPC5AggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-FiveG-ProSePC5LinkAMBR CRITICALITY ignore TYPE BitRate PRESENCE optional}|
+ { ID id-UuRLCChannelToBeSetupList CRITICALITY reject TYPE UuRLCChannelToBeSetupList PRESENCE optional}|
+ { ID id-PC5RLCChannelToBeSetupList CRITICALITY reject TYPE PC5RLCChannelToBeSetupList PRESENCE optional}|
+ { ID id-PathSwitchConfiguration CRITICALITY ignore TYPE PathSwitchConfiguration PRESENCE optional }|
+ { ID id-GNBDUUESliceMaximumBitRateList CRITICALITY ignore TYPE GNBDUUESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-MulticastMBSSessionSetupList CRITICALITY reject TYPE MulticastMBSSessionList PRESENCE optional }|
+ { ID id-UE-MulticastMRBs-ToBeSetup-List CRITICALITY reject TYPE UE-MulticastMRBs-ToBeSetup-List PRESENCE optional }|
+ { ID id-ServingCellMO-List CRITICALITY ignore TYPE ServingCellMO-List PRESENCE optional },
+ ...
+}
+
+Candidate-SpCell-List::= SEQUENCE (SIZE(1..maxnoofCandidateSpCells)) OF ProtocolIE-SingleContainer { { Candidate-SpCell-ItemIEs} }
+SCell-ToBeSetup-List::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-ToBeSetup-ItemIEs} }
+SRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-ToBeSetup-ItemIEs} }
+DRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeSetup-ItemIEs} }
+BHChannels-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-ToBeSetup-ItemIEs} }
+SLDRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ToBeSetup-ItemIEs} }
+UE-MulticastMRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofMRBsforUE)) OF ProtocolIE-SingleContainer { { UE-MulticastMRBs-ToBeSetup-ItemIEs} }
+ServingCellMO-List ::= SEQUENCE (SIZE(1..maxnoofServingCellMOs)) OF ProtocolIE-SingleContainer { { ServingCellMO-List-ItemIEs} }
+
+Candidate-SpCell-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Candidate-SpCell-Item CRITICALITY ignore TYPE Candidate-SpCell-Item PRESENCE mandatory },
+ ...
+}
+
+
+SCell-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SCell-ToBeSetup-Item CRITICALITY ignore TYPE SCell-ToBeSetup-Item PRESENCE mandatory },
+ ...
+}
+
+SRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SRBs-ToBeSetup-Item CRITICALITY reject TYPE SRBs-ToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+DRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-ToBeSetup-Item CRITICALITY reject TYPE DRBs-ToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-ToBeSetup-Item CRITICALITY reject TYPE BHChannels-ToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-ToBeSetup-Item CRITICALITY reject TYPE SLDRBs-ToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+UE-MulticastMRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-MulticastMRBs-ToBeSetup-Item CRITICALITY reject TYPE UE-MulticastMRBs-ToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+ServingCellMO-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-ServingCellMO-List-Item CRITICALITY reject TYPE ServingCellMO-List-Item PRESENCE mandatory},
+ ...
+}
+-- **************************************************************
+--
+-- UE CONTEXT SETUP RESPONSE
+--
+-- **************************************************************
+
+UEContextSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextSetupResponseIEs} },
+ ...
+}
+
+
+UEContextSetupResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-DUtoCURRCInformation CRITICALITY reject TYPE DUtoCURRCInformation PRESENCE mandatory }|
+ { ID id-C-RNTI CRITICALITY ignore TYPE C-RNTI PRESENCE optional }|
+ { ID id-ResourceCoordinationTransferContainer CRITICALITY ignore TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
+ { ID id-FullConfiguration CRITICALITY reject TYPE FullConfiguration PRESENCE optional }|
+ { ID id-DRBs-Setup-List CRITICALITY ignore TYPE DRBs-Setup-List PRESENCE optional }|
+ { ID id-SRBs-FailedToBeSetup-List CRITICALITY ignore TYPE SRBs-FailedToBeSetup-List PRESENCE optional }|
+ { ID id-DRBs-FailedToBeSetup-List CRITICALITY ignore TYPE DRBs-FailedToBeSetup-List PRESENCE optional }|
+ { ID id-SCell-FailedtoSetup-List CRITICALITY ignore TYPE SCell-FailedtoSetup-List PRESENCE optional }|
+ { ID id-InactivityMonitoringResponse CRITICALITY reject TYPE InactivityMonitoringResponse PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-SRBs-Setup-List CRITICALITY ignore TYPE SRBs-Setup-List PRESENCE optional }|
+ { ID id-BHChannels-Setup-List CRITICALITY ignore TYPE BHChannels-Setup-List PRESENCE optional }|
+ { ID id-BHChannels-FailedToBeSetup-List CRITICALITY ignore TYPE BHChannels-FailedToBeSetup-List PRESENCE optional }|
+ { ID id-SLDRBs-Setup-List CRITICALITY ignore TYPE SLDRBs-Setup-List PRESENCE optional }|
+ { ID id-SLDRBs-FailedToBeSetup-List CRITICALITY ignore TYPE SLDRBs-FailedToBeSetup-List PRESENCE optional }|
+ { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE NRCGI PRESENCE optional}|
+ { ID id-SCGActivationStatus CRITICALITY ignore TYPE SCGActivationStatus PRESENCE optional }|
+ { ID id-UuRLCChannelSetupList CRITICALITY ignore TYPE UuRLCChannelSetupList PRESENCE optional}|
+ { ID id-UuRLCChannelFailedToBeSetupList CRITICALITY ignore TYPE UuRLCChannelFailedToBeSetupList PRESENCE optional}|
+ { ID id-PC5RLCChannelSetupList CRITICALITY ignore TYPE PC5RLCChannelSetupList PRESENCE optional}|
+ { ID id-PC5RLCChannelFailedToBeSetupList CRITICALITY ignore TYPE PC5RLCChannelFailedToBeSetupList PRESENCE optional}|
+ { ID id-ServingCellMO-encoded-in-CGC-List CRITICALITY ignore TYPE ServingCellMO-encoded-in-CGC-List PRESENCE optional}|
+ { ID id-UE-MulticastMRBs-Setupnew-List CRITICALITY reject TYPE UE-MulticastMRBs-Setupnew-List PRESENCE optional},
+ ...
+}
+
+DRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-Setup-ItemIEs} }
+
+
+SRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-FailedToBeSetup-ItemIEs} }
+DRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-FailedToBeSetup-ItemIEs} }
+SCell-FailedtoSetup-List ::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-FailedtoSetup-ItemIEs} }
+SRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-Setup-ItemIEs} }
+BHChannels-Setup-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-Setup-ItemIEs} }
+BHChannels-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-FailedToBeSetup-ItemIEs} }
+
+DRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-Setup-Item CRITICALITY ignore TYPE DRBs-Setup-Item PRESENCE mandatory},
+ ...
+}
+
+SRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SRBs-Setup-Item CRITICALITY ignore TYPE SRBs-Setup-Item PRESENCE mandatory},
+ ...
+}
+
+SRBs-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SRBs-FailedToBeSetup-Item CRITICALITY ignore TYPE SRBs-FailedToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+
+DRBs-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-FailedToBeSetup-Item CRITICALITY ignore TYPE DRBs-FailedToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+SCell-FailedtoSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SCell-FailedtoSetup-Item CRITICALITY ignore TYPE SCell-FailedtoSetup-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-Setup-Item CRITICALITY ignore TYPE BHChannels-Setup-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-FailedToBeSetup-Item CRITICALITY ignore TYPE BHChannels-FailedToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-Setup-ItemIEs} }
+
+SLDRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-FailedToBeSetup-ItemIEs} }
+
+SLDRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-Setup-Item CRITICALITY ignore TYPE SLDRBs-Setup-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-FailedToBeSetup-Item CRITICALITY ignore TYPE SLDRBs-FailedToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+UE-MulticastMRBs-Setupnew-List ::= SEQUENCE (SIZE(1..maxnoofMRBsforUE)) OF ProtocolIE-SingleContainer { { UE-MulticastMRBs-Setupnew-ItemIEs } }
+
+UE-MulticastMRBs-Setupnew-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-MulticastMRBs-Setupnew-Item CRITICALITY reject TYPE UE-MulticastMRBs-Setupnew-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE CONTEXT SETUP FAILURE
+--
+-- **************************************************************
+
+UEContextSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextSetupFailureIEs} },
+ ...
+}
+
+UEContextSetupFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY ignore TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-Potential-SpCell-List CRITICALITY ignore TYPE Potential-SpCell-List PRESENCE optional }|
+ { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE NRCGI PRESENCE optional},
+ ...
+}
+
+Potential-SpCell-List::= SEQUENCE (SIZE(0..maxnoofPotentialSpCells)) OF ProtocolIE-SingleContainer { { Potential-SpCell-ItemIEs} }
+
+Potential-SpCell-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Potential-SpCell-Item CRITICALITY ignore TYPE Potential-SpCell-Item PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Release Request ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Release Request
+--
+-- **************************************************************
+
+UEContextReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ UEContextReleaseRequestIEs}},
+ ...
+}
+
+UEContextReleaseRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-targetCellsToCancel CRITICALITY reject TYPE TargetCellList PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE Context Release (gNB-CU initiated) ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE COMMAND
+--
+-- **************************************************************
+
+UEContextReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextReleaseCommandIEs} },
+ ...
+}
+
+UEContextReleaseCommandIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-RRCContainer CRITICALITY ignore TYPE RRCContainer PRESENCE optional }|
+ { ID id-SRBID CRITICALITY ignore TYPE SRBID PRESENCE conditional }|
+ { ID id-oldgNB-DU-UE-F1AP-ID CRITICALITY ignore TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }|
+ { ID id-ExecuteDuplication CRITICALITY ignore TYPE ExecuteDuplication PRESENCE optional}|
+ { ID id-RRCDeliveryStatusRequest CRITICALITY ignore TYPE RRCDeliveryStatusRequest PRESENCE optional }|
+ { ID id-targetCellsToCancel CRITICALITY reject TYPE TargetCellList PRESENCE optional}|
+ { ID id-PosConextRevIndication CRITICALITY reject TYPE PosConextRevIndication PRESENCE optional}|
+ { ID id-CG-SDTKeptIndicator CRITICALITY ignore TYPE CG-SDTKeptIndicator PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE COMPLETE
+--
+-- **************************************************************
+
+UEContextReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextReleaseCompleteIEs} },
+ ...
+}
+
+
+UEContextReleaseCompleteIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Modification ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION REQUEST
+--
+-- **************************************************************
+
+UEContextModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationRequestIEs} },
+ ...
+}
+
+UEContextModificationRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-SpCell-ID CRITICALITY ignore TYPE NRCGI PRESENCE optional }|
+ { ID id-ServCellIndex CRITICALITY reject TYPE ServCellIndex PRESENCE optional }|
+ { ID id-SpCellULConfigured CRITICALITY ignore TYPE CellULConfigured PRESENCE optional }|
+ { ID id-DRXCycle CRITICALITY ignore TYPE DRXCycle PRESENCE optional }|
+ { ID id-CUtoDURRCInformation CRITICALITY reject TYPE CUtoDURRCInformation PRESENCE optional }|
+ { ID id-TransmissionActionIndicator CRITICALITY ignore TYPE TransmissionActionIndicator PRESENCE optional }|
+ { ID id-ResourceCoordinationTransferContainer CRITICALITY ignore TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
+ { ID id-RRCReconfigurationCompleteIndicator CRITICALITY ignore TYPE RRCReconfigurationCompleteIndicator PRESENCE optional }|
+ { ID id-RRCContainer CRITICALITY reject TYPE RRCContainer PRESENCE optional }|
+ { ID id-SCell-ToBeSetupMod-List CRITICALITY ignore TYPE SCell-ToBeSetupMod-List PRESENCE optional }|
+ { ID id-SCell-ToBeRemoved-List CRITICALITY ignore TYPE SCell-ToBeRemoved-List PRESENCE optional }|
+ { ID id-SRBs-ToBeSetupMod-List CRITICALITY reject TYPE SRBs-ToBeSetupMod-List PRESENCE optional }|
+ { ID id-DRBs-ToBeSetupMod-List CRITICALITY reject TYPE DRBs-ToBeSetupMod-List PRESENCE optional }|
+ { ID id-DRBs-ToBeModified-List CRITICALITY reject TYPE DRBs-ToBeModified-List PRESENCE optional }|
+ { ID id-SRBs-ToBeReleased-List CRITICALITY reject TYPE SRBs-ToBeReleased-List PRESENCE optional }|
+ { ID id-DRBs-ToBeReleased-List CRITICALITY reject TYPE DRBs-ToBeReleased-List PRESENCE optional }|
+ { ID id-InactivityMonitoringRequest CRITICALITY reject TYPE InactivityMonitoringRequest PRESENCE optional }|
+ { ID id-RAT-FrequencyPriorityInformation CRITICALITY reject TYPE RAT-FrequencyPriorityInformation PRESENCE optional }|
+ { ID id-DRXConfigurationIndicator CRITICALITY ignore TYPE DRXConfigurationIndicator PRESENCE optional }|
+ { ID id-RLCFailureIndication CRITICALITY ignore TYPE RLCFailureIndication PRESENCE optional }|
+ { ID id-UplinkTxDirectCurrentListInformation CRITICALITY ignore TYPE UplinkTxDirectCurrentListInformation PRESENCE optional }|
+ { ID id-GNB-DUConfigurationQuery CRITICALITY reject TYPE GNB-DUConfigurationQuery PRESENCE optional }|
+ { ID id-GNB-DU-UE-AMBR-UL CRITICALITY ignore TYPE BitRate PRESENCE optional }|
+ { ID id-ExecuteDuplication CRITICALITY ignore TYPE ExecuteDuplication PRESENCE optional}|
+ { ID id-RRCDeliveryStatusRequest CRITICALITY ignore TYPE RRCDeliveryStatusRequest PRESENCE optional }|
+ { ID id-ResourceCoordinationTransferInformation CRITICALITY ignore TYPE ResourceCoordinationTransferInformation PRESENCE optional }|
+ { ID id-ServingCellMO CRITICALITY ignore TYPE ServingCellMO PRESENCE optional }|
+ { ID id-NeedforGap CRITICALITY ignore TYPE NeedforGap PRESENCE optional }|
+ { ID id-FullConfiguration CRITICALITY reject TYPE FullConfiguration PRESENCE optional }|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional }|
+ { ID id-LowerLayerPresenceStatusChange CRITICALITY ignore TYPE LowerLayerPresenceStatusChange PRESENCE optional }|
+ { ID id-BHChannels-ToBeSetupMod-List CRITICALITY reject TYPE BHChannels-ToBeSetupMod-List PRESENCE optional }|
+ { ID id-BHChannels-ToBeModified-List CRITICALITY reject TYPE BHChannels-ToBeModified-List PRESENCE optional }|
+ { ID id-BHChannels-ToBeReleased-List CRITICALITY reject TYPE BHChannels-ToBeReleased-List PRESENCE optional }|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5LinkAMBR CRITICALITY ignore TYPE BitRate PRESENCE optional}|
+ { ID id-SLDRBs-ToBeSetupMod-List CRITICALITY reject TYPE SLDRBs-ToBeSetupMod-List PRESENCE optional }|
+ { ID id-SLDRBs-ToBeModified-List CRITICALITY reject TYPE SLDRBs-ToBeModified-List PRESENCE optional }|
+ { ID id-SLDRBs-ToBeReleased-List CRITICALITY reject TYPE SLDRBs-ToBeReleased-List PRESENCE optional }|
+ { ID id-ConditionalIntraDUMobilityInformation CRITICALITY reject TYPE ConditionalIntraDUMobilityInformation PRESENCE optional}|
+ { ID id-F1CTransferPath CRITICALITY reject TYPE F1CTransferPath PRESENCE optional }|
+ { ID id-SCGIndicator CRITICALITY ignore TYPE SCGIndicator PRESENCE optional }|
+ { ID id-UplinkTxDirectCurrentTwoCarrierListInfo CRITICALITY ignore TYPE UplinkTxDirectCurrentTwoCarrierListInfo PRESENCE optional }|
+ { ID id-IABConditionalRRCMessageDeliveryIndication CRITICALITY reject TYPE IABConditionalRRCMessageDeliveryIndication PRESENCE optional }|
+ { ID id-F1CTransferPathNRDC CRITICALITY reject TYPE F1CTransferPathNRDC PRESENCE optional }|
+ { ID id-MDTPollutedMeasurementIndicator CRITICALITY ignore TYPE MDTPollutedMeasurementIndicator PRESENCE optional }|
+ { ID id-SCGActivationRequest CRITICALITY ignore TYPE SCGActivationRequest PRESENCE optional }|
+ { ID id-CG-SDTQueryIndication CRITICALITY ignore TYPE CG-SDTQueryIndication PRESENCE optional }|
+ { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }|
+ { ID id-FiveG-ProSeUEPC5AggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-FiveG-ProSePC5LinkAMBR CRITICALITY ignore TYPE BitRate PRESENCE optional}|
+ { ID id-UpdatedRemoteUELocalID CRITICALITY ignore TYPE RemoteUELocalID PRESENCE optional }|
+ { ID id-UuRLCChannelToBeSetupList CRITICALITY reject TYPE UuRLCChannelToBeSetupList PRESENCE optional}|
+ { ID id-UuRLCChannelToBeModifiedList CRITICALITY reject TYPE UuRLCChannelToBeModifiedList PRESENCE optional}|
+ { ID id-UuRLCChannelToBeReleasedList CRITICALITY reject TYPE UuRLCChannelToBeReleasedList PRESENCE optional}|
+ { ID id-PC5RLCChannelToBeSetupList CRITICALITY reject TYPE PC5RLCChannelToBeSetupList PRESENCE optional}|
+ { ID id-PC5RLCChannelToBeModifiedList CRITICALITY reject TYPE PC5RLCChannelToBeModifiedList PRESENCE optional}|
+ { ID id-PC5RLCChannelToBeReleasedList CRITICALITY reject TYPE PC5RLCChannelToBeReleasedList PRESENCE optional}|
+ { ID id-PathSwitchConfiguration CRITICALITY ignore TYPE PathSwitchConfiguration PRESENCE optional }|
+ { ID id-GNBDUUESliceMaximumBitRateList CRITICALITY ignore TYPE GNBDUUESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-MulticastMBSSessionSetupList CRITICALITY reject TYPE MulticastMBSSessionList PRESENCE optional }|
+ { ID id-MulticastMBSSessionRemoveList CRITICALITY reject TYPE MulticastMBSSessionList PRESENCE optional }|
+ { ID id-UE-MulticastMRBs-ToBeSetup-atModify-List CRITICALITY reject TYPE UE-MulticastMRBs-ToBeSetup-atModify-List PRESENCE optional }|
+ { ID id-UE-MulticastMRBs-ToBeReleased-List CRITICALITY reject TYPE UE-MulticastMRBs-ToBeReleased-List PRESENCE optional }|
+ { ID id-SLDRXCycleList CRITICALITY ignore TYPE SLDRXCycleList PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNModificationList CRITICALITY ignore TYPE MDTPLMNModificationList PRESENCE optional }|
+ { ID id-SDTBearerConfigurationQueryIndication CRITICALITY ignore TYPE SDTBearerConfigurationQueryIndication PRESENCE optional }|
+ { ID id-DAPS-HO-Status CRITICALITY ignore TYPE DAPS-HO-Status PRESENCE optional }|
+ { ID id-ServingCellMO-List CRITICALITY ignore TYPE ServingCellMO-List PRESENCE optional }|
+ { ID id-UlTxDirectCurrentMoreCarrierInformation CRITICALITY ignore TYPE UlTxDirectCurrentMoreCarrierInformation PRESENCE optional }|
+ { ID id-CPACMCGInformation CRITICALITY ignore TYPE CPACMCGInformation PRESENCE optional },
+ ...
+}
+
+SCell-ToBeSetupMod-List::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-ToBeSetupMod-ItemIEs} }
+SCell-ToBeRemoved-List::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-ToBeRemoved-ItemIEs} }
+SRBs-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-ToBeSetupMod-ItemIEs} }
+DRBs-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeSetupMod-ItemIEs} }
+BHChannels-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-ToBeSetupMod-ItemIEs} }
+
+DRBs-ToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeModified-ItemIEs} }
+BHChannels-ToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-ToBeModified-ItemIEs} }
+SRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-ToBeReleased-ItemIEs} }
+DRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeReleased-ItemIEs} }
+BHChannels-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-ToBeReleased-ItemIEs} }
+UE-MulticastMRBs-ToBeSetup-atModify-List ::= SEQUENCE (SIZE(1..maxnoofMRBsforUE)) OF
+ ProtocolIE-SingleContainer { { UE-MulticastMRBs-ToBeSetup-atModify-ItemIEs} }
+
+UE-MulticastMRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofMRBsforUE)) OF ProtocolIE-SingleContainer { { UE-MulticastMRBs-ToBeReleased-ItemIEs} }
+
+SCell-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SCell-ToBeSetupMod-Item CRITICALITY ignore TYPE SCell-ToBeSetupMod-Item PRESENCE mandatory },
+ ...
+}
+
+SCell-ToBeRemoved-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SCell-ToBeRemoved-Item CRITICALITY ignore TYPE SCell-ToBeRemoved-Item PRESENCE mandatory },
+ ...
+}
+
+
+SRBs-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SRBs-ToBeSetupMod-Item CRITICALITY reject TYPE SRBs-ToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+
+DRBs-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-ToBeSetupMod-Item CRITICALITY reject TYPE DRBs-ToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+DRBs-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-ToBeModified-Item CRITICALITY reject TYPE DRBs-ToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+
+SRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SRBs-ToBeReleased-Item CRITICALITY reject TYPE SRBs-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+DRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-ToBeReleased-Item CRITICALITY reject TYPE DRBs-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-ToBeSetupMod-Item CRITICALITY reject TYPE BHChannels-ToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-ToBeModified-Item CRITICALITY reject TYPE BHChannels-ToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-ToBeReleased-Item CRITICALITY reject TYPE BHChannels-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ToBeSetupMod-ItemIEs} }
+SLDRBs-ToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ToBeModified-ItemIEs} }
+SLDRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ToBeReleased-ItemIEs} }
+
+SLDRBs-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-ToBeSetupMod-Item CRITICALITY reject TYPE SLDRBs-ToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-ToBeModified-Item CRITICALITY reject TYPE SLDRBs-ToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-ToBeReleased-Item CRITICALITY reject TYPE SLDRBs-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+UE-MulticastMRBs-ToBeSetup-atModify-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-MulticastMRBs-ToBeSetup-atModify-Item CRITICALITY reject TYPE UE-MulticastMRBs-ToBeSetup-atModify-Item PRESENCE mandatory},
+ ...
+}
+
+
+UE-MulticastMRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-MulticastMRBs-ToBeReleased-Item CRITICALITY reject TYPE UE-MulticastMRBs-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION RESPONSE
+--
+-- **************************************************************
+
+UEContextModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationResponseIEs} },
+ ...
+}
+
+
+UEContextModificationResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-ResourceCoordinationTransferContainer CRITICALITY ignore TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
+ { ID id-DUtoCURRCInformation CRITICALITY reject TYPE DUtoCURRCInformation PRESENCE optional}|
+ { ID id-DRBs-SetupMod-List CRITICALITY ignore TYPE DRBs-SetupMod-List PRESENCE optional}|
+ { ID id-DRBs-Modified-List CRITICALITY ignore TYPE DRBs-Modified-List PRESENCE optional}|
+ { ID id-SRBs-FailedToBeSetupMod-List CRITICALITY ignore TYPE SRBs-FailedToBeSetupMod-List PRESENCE optional }|
+ { ID id-DRBs-FailedToBeSetupMod-List CRITICALITY ignore TYPE DRBs-FailedToBeSetupMod-List PRESENCE optional }|
+ { ID id-SCell-FailedtoSetupMod-List CRITICALITY ignore TYPE SCell-FailedtoSetupMod-List PRESENCE optional }|
+ { ID id-DRBs-FailedToBeModified-List CRITICALITY ignore TYPE DRBs-FailedToBeModified-List PRESENCE optional }|
+ { ID id-InactivityMonitoringResponse CRITICALITY reject TYPE InactivityMonitoringResponse PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-C-RNTI CRITICALITY ignore TYPE C-RNTI PRESENCE optional }|
+ { ID id-Associated-SCell-List CRITICALITY ignore TYPE Associated-SCell-List PRESENCE optional }|
+ { ID id-SRBs-SetupMod-List CRITICALITY ignore TYPE SRBs-SetupMod-List PRESENCE optional }|
+ { ID id-SRBs-Modified-List CRITICALITY ignore TYPE SRBs-Modified-List PRESENCE optional }|
+ { ID id-FullConfiguration CRITICALITY reject TYPE FullConfiguration PRESENCE optional }|
+ { ID id-BHChannels-SetupMod-List CRITICALITY ignore TYPE BHChannels-SetupMod-List PRESENCE optional}|
+ { ID id-BHChannels-Modified-List CRITICALITY ignore TYPE BHChannels-Modified-List PRESENCE optional}|
+ { ID id-BHChannels-FailedToBeSetupMod-List CRITICALITY ignore TYPE BHChannels-FailedToBeSetupMod-List PRESENCE optional }|
+ { ID id-BHChannels-FailedToBeModified-List CRITICALITY ignore TYPE BHChannels-FailedToBeModified-List PRESENCE optional }|
+ { ID id-SLDRBs-SetupMod-List CRITICALITY ignore TYPE SLDRBs-SetupMod-List PRESENCE optional }|
+ { ID id-SLDRBs-Modified-List CRITICALITY ignore TYPE SLDRBs-Modified-List PRESENCE optional }|
+ { ID id-SLDRBs-FailedToBeSetupMod-List CRITICALITY ignore TYPE SLDRBs-FailedToBeSetupMod-List PRESENCE optional }|
+ { ID id-SLDRBs-FailedToBeModified-List CRITICALITY ignore TYPE SLDRBs-FailedToBeModified-List PRESENCE optional }|
+ { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE NRCGI PRESENCE optional}|
+ { ID id-SCGActivationStatus CRITICALITY ignore TYPE SCGActivationStatus PRESENCE optional }|
+ { ID id-UuRLCChannelSetupList CRITICALITY ignore TYPE UuRLCChannelSetupList PRESENCE optional}|
+ { ID id-UuRLCChannelFailedToBeSetupList CRITICALITY ignore TYPE UuRLCChannelFailedToBeSetupList PRESENCE optional}|
+ { ID id-UuRLCChannelModifiedList CRITICALITY ignore TYPE UuRLCChannelModifiedList PRESENCE optional}|
+ { ID id-UuRLCChannelFailedToBeModifiedList CRITICALITY ignore TYPE UuRLCChannelFailedToBeModifiedList PRESENCE optional}|
+ { ID id-PC5RLCChannelSetupList CRITICALITY ignore TYPE PC5RLCChannelSetupList PRESENCE optional}|
+ { ID id-PC5RLCChannelFailedToBeSetupList CRITICALITY ignore TYPE PC5RLCChannelFailedToBeSetupList PRESENCE optional}|
+ { ID id-PC5RLCChannelModifiedList CRITICALITY ignore TYPE PC5RLCChannelModifiedList PRESENCE optional}|
+ { ID id-PC5RLCChannelFailedToBeModifiedList CRITICALITY ignore TYPE PC5RLCChannelFailedToBeModifiedList PRESENCE optional}|
+ { ID id-SDTBearerConfigurationInfo CRITICALITY ignore TYPE SDTBearerConfigurationInfo PRESENCE optional}|
+ { ID id-UE-MulticastMRBs-Setup-List CRITICALITY reject TYPE UE-MulticastMRBs-Setup-List PRESENCE optional}|
+ { ID id-ServingCellMO-encoded-in-CGC-List CRITICALITY ignore TYPE ServingCellMO-encoded-in-CGC-List PRESENCE optional},
+ ...
+}
+
+
+DRBs-SetupMod-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-SetupMod-ItemIEs} }
+DRBs-Modified-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-Modified-ItemIEs } }
+SRBs-SetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-SetupMod-ItemIEs} }
+SRBs-Modified-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-Modified-ItemIEs } }
+DRBs-FailedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-FailedToBeModified-ItemIEs} }
+SRBs-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-FailedToBeSetupMod-ItemIEs} }
+DRBs-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-FailedToBeSetupMod-ItemIEs} }
+SCell-FailedtoSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-FailedtoSetupMod-ItemIEs} }
+BHChannels-SetupMod-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-SetupMod-ItemIEs} }
+BHChannels-Modified-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-Modified-ItemIEs } }
+BHChannels-FailedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-FailedToBeModified-ItemIEs} }
+BHChannels-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-FailedToBeSetupMod-ItemIEs} }
+
+Associated-SCell-List ::= SEQUENCE (SIZE(1.. maxnoofSCells)) OF ProtocolIE-SingleContainer { { Associated-SCell-ItemIEs} }
+
+DRBs-SetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-SetupMod-Item CRITICALITY ignore TYPE DRBs-SetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+
+DRBs-Modified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-Modified-Item CRITICALITY ignore TYPE DRBs-Modified-Item PRESENCE mandatory},
+ ...
+}
+
+SRBs-SetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SRBs-SetupMod-Item CRITICALITY ignore TYPE SRBs-SetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+
+SRBs-Modified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SRBs-Modified-Item CRITICALITY ignore TYPE SRBs-Modified-Item PRESENCE mandatory},
+ ...
+}
+
+SRBs-FailedToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SRBs-FailedToBeSetupMod-Item CRITICALITY ignore TYPE SRBs-FailedToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+
+DRBs-FailedToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-FailedToBeSetupMod-Item CRITICALITY ignore TYPE DRBs-FailedToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+
+DRBs-FailedToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-FailedToBeModified-Item CRITICALITY ignore TYPE DRBs-FailedToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+SCell-FailedtoSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SCell-FailedtoSetupMod-Item CRITICALITY ignore TYPE SCell-FailedtoSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+Associated-SCell-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Associated-SCell-Item CRITICALITY ignore TYPE Associated-SCell-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-SetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-SetupMod-Item CRITICALITY ignore TYPE BHChannels-SetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+
+BHChannels-Modified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-Modified-Item CRITICALITY ignore TYPE BHChannels-Modified-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-FailedToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-FailedToBeSetupMod-Item CRITICALITY ignore TYPE BHChannels-FailedToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-FailedToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-FailedToBeModified-Item CRITICALITY ignore TYPE BHChannels-FailedToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-SetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-SetupMod-ItemIEs} }
+SLDRBs-Modified-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-Modified-ItemIEs } }
+SLDRBs-FailedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-FailedToBeModified-ItemIEs} }
+SLDRBs-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-FailedToBeSetupMod-ItemIEs} }
+
+SLDRBs-SetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-SetupMod-Item CRITICALITY ignore TYPE SLDRBs-SetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-Modified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-Modified-Item CRITICALITY ignore TYPE SLDRBs-Modified-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-FailedToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-FailedToBeSetupMod-Item CRITICALITY ignore TYPE SLDRBs-FailedToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-FailedToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-FailedToBeModified-Item CRITICALITY ignore TYPE SLDRBs-FailedToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+UE-MulticastMRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofMRBsforUE)) OF ProtocolIE-SingleContainer { { UE-MulticastMRBs-Setup-ItemIEs } }
+
+UE-MulticastMRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-MulticastMRBs-Setup-Item CRITICALITY reject TYPE UE-MulticastMRBs-Setup-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION FAILURE
+--
+-- **************************************************************
+
+UEContextModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationFailureIEs} },
+ ...
+}
+
+UEContextModificationFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE NRCGI PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE Context Modification Required (gNB-DU initiated) ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION REQUIRED
+--
+-- **************************************************************
+
+UEContextModificationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationRequiredIEs} },
+ ...
+}
+
+UEContextModificationRequiredIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-ResourceCoordinationTransferContainer CRITICALITY ignore TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
+ { ID id-DUtoCURRCInformation CRITICALITY reject TYPE DUtoCURRCInformation PRESENCE optional}|
+ { ID id-DRBs-Required-ToBeModified-List CRITICALITY reject TYPE DRBs-Required-ToBeModified-List PRESENCE optional}|
+ { ID id-SRBs-Required-ToBeReleased-List CRITICALITY reject TYPE SRBs-Required-ToBeReleased-List PRESENCE optional}|
+ { ID id-DRBs-Required-ToBeReleased-List CRITICALITY reject TYPE DRBs-Required-ToBeReleased-List PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-BHChannels-Required-ToBeReleased-List CRITICALITY reject TYPE BHChannels-Required-ToBeReleased-List PRESENCE optional}|
+ { ID id-SLDRBs-Required-ToBeModified-List CRITICALITY reject TYPE SLDRBs-Required-ToBeModified-List PRESENCE optional}|
+ { ID id-SLDRBs-Required-ToBeReleased-List CRITICALITY reject TYPE SLDRBs-Required-ToBeReleased-List PRESENCE optional}|
+ { ID id-targetCellsToCancel CRITICALITY reject TYPE TargetCellList PRESENCE optional}|
+ { ID id-UuRLCChannelRequiredToBeModifiedList CRITICALITY reject TYPE UuRLCChannelRequiredToBeModifiedList PRESENCE optional}|
+ { ID id-UuRLCChannelRequiredToBeReleasedList CRITICALITY reject TYPE UuRLCChannelRequiredToBeReleasedList PRESENCE optional}|
+ { ID id-PC5RLCChannelRequiredToBeModifiedList CRITICALITY reject TYPE PC5RLCChannelRequiredToBeModifiedList PRESENCE optional}|
+ { ID id-PC5RLCChannelRequiredToBeReleasedList CRITICALITY reject TYPE PC5RLCChannelRequiredToBeReleasedList PRESENCE optional}|
+ { ID id-UE-MulticastMRBs-RequiredToBeModified-List CRITICALITY reject TYPE UE-MulticastMRBs-RequiredToBeModified-List PRESENCE optional }|
+ { ID id-UE-MulticastMRBs-RequiredToBeReleased-List CRITICALITY reject TYPE UE-MulticastMRBs-RequiredToBeReleased-List PRESENCE optional },
+ ...
+}
+
+DRBs-Required-ToBeModified-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-Required-ToBeModified-ItemIEs } }
+DRBs-Required-ToBeReleased-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-Required-ToBeReleased-ItemIEs } }
+
+SRBs-Required-ToBeReleased-List::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-Required-ToBeReleased-ItemIEs } }
+
+BHChannels-Required-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofBHRLCChannels)) OF ProtocolIE-SingleContainer { { BHChannels-Required-ToBeReleased-ItemIEs } }
+
+DRBs-Required-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-Required-ToBeModified-Item CRITICALITY reject TYPE DRBs-Required-ToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+DRBs-Required-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-Required-ToBeReleased-Item CRITICALITY reject TYPE DRBs-Required-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+SRBs-Required-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SRBs-Required-ToBeReleased-Item CRITICALITY reject TYPE SRBs-Required-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+BHChannels-Required-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BHChannels-Required-ToBeReleased-Item CRITICALITY reject TYPE BHChannels-Required-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-Required-ToBeModified-List::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-Required-ToBeModified-ItemIEs } }
+SLDRBs-Required-ToBeReleased-List::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-Required-ToBeReleased-ItemIEs } }
+
+SLDRBs-Required-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-Required-ToBeModified-Item CRITICALITY reject TYPE SLDRBs-Required-ToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-Required-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-Required-ToBeReleased-Item CRITICALITY reject TYPE SLDRBs-Required-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+UE-MulticastMRBs-RequiredToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofMRBsforUE)) OF
+ ProtocolIE-SingleContainer { { UE-MulticastMRBs-RequiredToBeModified-ItemIEs} }
+
+UE-MulticastMRBs-RequiredToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-MulticastMRBs-RequiredToBeModified-Item CRITICALITY reject TYPE UE-MulticastMRBs-RequiredToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+UE-MulticastMRBs-RequiredToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofMRBsforUE)) OF
+ ProtocolIE-SingleContainer { { UE-MulticastMRBs-RequiredToBeReleased-ItemIEs} }
+
+UE-MulticastMRBs-RequiredToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-MulticastMRBs-RequiredToBeReleased-Item CRITICALITY reject TYPE UE-MulticastMRBs-RequiredToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION CONFIRM
+--
+-- **************************************************************
+
+UEContextModificationConfirm::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationConfirmIEs} },
+ ...
+}
+
+
+UEContextModificationConfirmIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-ResourceCoordinationTransferContainer CRITICALITY ignore TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
+ { ID id-DRBs-ModifiedConf-List CRITICALITY ignore TYPE DRBs-ModifiedConf-List PRESENCE optional }|
+ { ID id-RRCContainer CRITICALITY ignore TYPE RRCContainer PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-ExecuteDuplication CRITICALITY ignore TYPE ExecuteDuplication PRESENCE optional }|
+ { ID id-ResourceCoordinationTransferInformation CRITICALITY ignore TYPE ResourceCoordinationTransferInformation PRESENCE optional }|
+ { ID id-SLDRBs-ModifiedConf-List CRITICALITY ignore TYPE SLDRBs-ModifiedConf-List PRESENCE optional }|
+ { ID id-UuRLCChannelModifiedList CRITICALITY reject TYPE UuRLCChannelModifiedList PRESENCE optional }|
+ { ID id-PC5RLCChannelModifiedList CRITICALITY reject TYPE PC5RLCChannelModifiedList PRESENCE optional }|
+ { ID id-UE-MulticastMRBs-ConfirmedToBeModified-List CRITICALITY reject TYPE UE-MulticastMRBs-ConfirmedToBeModified-List PRESENCE optional },
+ ...
+}
+
+DRBs-ModifiedConf-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ModifiedConf-ItemIEs } }
+
+DRBs-ModifiedConf-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRBs-ModifiedConf-Item CRITICALITY ignore TYPE DRBs-ModifiedConf-Item PRESENCE mandatory},
+ ...
+}
+
+SLDRBs-ModifiedConf-List::= SEQUENCE (SIZE(1..maxnoofSLDRBs)) OF ProtocolIE-SingleContainer { { SLDRBs-ModifiedConf-ItemIEs } }
+
+SLDRBs-ModifiedConf-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-SLDRBs-ModifiedConf-Item CRITICALITY ignore TYPE SLDRBs-ModifiedConf-Item PRESENCE mandatory},
+ ...
+}
+
+UE-MulticastMRBs-ConfirmedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofMRBsforUE)) OF
+ ProtocolIE-SingleContainer { { UE-MulticastMRBs-ConfirmedToBeModified-ItemIEs} }
+
+UE-MulticastMRBs-ConfirmedToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UE-MulticastMRBs-ConfirmedToBeModified-Item CRITICALITY reject TYPE UE-MulticastMRBs-ConfirmedToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION REFUSE
+--
+-- **************************************************************
+
+UEContextModificationRefuse::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationRefuseIEs} },
+ ...
+}
+
+
+UEContextModificationRefuseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Write-Replace Warning Request
+--
+-- **************************************************************
+
+WriteReplaceWarningRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} },
+ ...
+}
+
+WriteReplaceWarningRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-PWSSystemInformation CRITICALITY reject TYPE PWSSystemInformation PRESENCE mandatory }|
+ { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }|
+ { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }|
+ { ID id-Cells-To-Be-Broadcast-List CRITICALITY reject TYPE Cells-To-Be-Broadcast-List PRESENCE optional },
+ ...
+}
+
+Cells-To-Be-Broadcast-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-To-Be-Broadcast-List-ItemIEs } }
+
+Cells-To-Be-Broadcast-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Cells-To-Be-Broadcast-Item CRITICALITY reject TYPE Cells-To-Be-Broadcast-Item PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- Write-Replace Warning Response
+--
+-- **************************************************************
+
+WriteReplaceWarningResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} },
+ ...
+}
+
+WriteReplaceWarningResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cells-Broadcast-Completed-List CRITICALITY reject TYPE Cells-Broadcast-Completed-List PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-Dedicated-SIDelivery-NeededUE-List CRITICALITY ignore TYPE Dedicated-SIDelivery-NeededUE-List PRESENCE optional },
+ ...
+}
+
+Cells-Broadcast-Completed-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-Broadcast-Completed-List-ItemIEs } }
+
+Cells-Broadcast-Completed-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Cells-Broadcast-Completed-Item CRITICALITY reject TYPE Cells-Broadcast-Completed-Item PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PWS CANCEL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PWS Cancel Request
+--
+-- **************************************************************
+
+PWSCancelRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PWSCancelRequestIEs} },
+ ...
+}
+
+PWSCancelRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }|
+ { ID id-Broadcast-To-Be-Cancelled-List CRITICALITY reject TYPE Broadcast-To-Be-Cancelled-List PRESENCE optional }|
+ { ID id-Cancel-all-Warning-Messages-Indicator CRITICALITY reject TYPE Cancel-all-Warning-Messages-Indicator PRESENCE optional }|
+ { ID id-NotificationInformation CRITICALITY reject TYPE NotificationInformation PRESENCE optional},
+ ...
+}
+
+Broadcast-To-Be-Cancelled-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Broadcast-To-Be-Cancelled-List-ItemIEs } }
+
+Broadcast-To-Be-Cancelled-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Broadcast-To-Be-Cancelled-Item CRITICALITY reject TYPE Broadcast-To-Be-Cancelled-Item PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS Cancel Response
+--
+-- **************************************************************
+
+PWSCancelResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PWSCancelResponseIEs} },
+ ...
+}
+
+PWSCancelResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cells-Broadcast-Cancelled-List CRITICALITY reject TYPE Cells-Broadcast-Cancelled-List PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+Cells-Broadcast-Cancelled-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-Broadcast-Cancelled-List-ItemIEs } }
+
+Cells-Broadcast-Cancelled-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-Cells-Broadcast-Cancelled-Item CRITICALITY reject TYPE Cells-Broadcast-Cancelled-Item PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Inactivity Notification ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Inactivity Notification
+--
+-- **************************************************************
+
+UEInactivityNotification ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ UEInactivityNotificationIEs}},
+ ...
+}
+
+UEInactivityNotificationIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-DRB-Activity-List CRITICALITY reject TYPE DRB-Activity-List PRESENCE mandatory }|
+ { ID id-SDT-Termination-Request CRITICALITY ignore TYPE SDT-Termination-Request PRESENCE optional },
+ ...
+}
+
+DRB-Activity-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRB-Activity-ItemIEs } }
+
+DRB-Activity-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRB-Activity-Item CRITICALITY reject TYPE DRB-Activity-Item PRESENCE mandatory},
+ ...
+}
+-- **************************************************************
+--
+-- Initial UL RRC Message Transfer ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- INITIAL UL RRC Message Transfer
+--
+-- **************************************************************
+
+InitialULRRCMessageTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ InitialULRRCMessageTransferIEs}},
+ ...
+}
+
+InitialULRRCMessageTransferIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-NRCGI CRITICALITY reject TYPE NRCGI PRESENCE mandatory }|
+ { ID id-C-RNTI CRITICALITY reject TYPE C-RNTI PRESENCE mandatory }|
+ { ID id-RRCContainer CRITICALITY reject TYPE RRCContainer PRESENCE mandatory }|
+ { ID id-DUtoCURRCContainer CRITICALITY reject TYPE DUtoCURRCContainer PRESENCE optional }|
+ { ID id-SULAccessIndication CRITICALITY ignore TYPE SULAccessIndication PRESENCE optional }|
+ { ID id-TransactionID CRITICALITY ignore TYPE TransactionID PRESENCE mandatory }|
+ { ID id-RANUEID CRITICALITY ignore TYPE RANUEID PRESENCE optional }|
+ { ID id-RRCContainer-RRCSetupComplete CRITICALITY ignore TYPE RRCContainer-RRCSetupComplete PRESENCE optional }|
+ { ID id-NRRedCapUEIndication CRITICALITY ignore TYPE NRRedCapUEIndication PRESENCE optional }|
+ { ID id-SDTInformation CRITICALITY ignore TYPE SDTInformation PRESENCE optional }|
+ { ID id-SidelinkRelayConfiguration CRITICALITY ignore TYPE SidelinkRelayConfiguration PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- DL RRC Message Transfer ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DL RRC Message Transfer
+--
+-- **************************************************************
+
+DLRRCMessageTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ DLRRCMessageTransferIEs}},
+ ...
+}
+
+-- WS modification: define a dedicated type
+RedirectedRRCmessage ::= OCTET STRING
+
+DLRRCMessageTransferIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-oldgNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }|
+ { ID id-SRBID CRITICALITY reject TYPE SRBID PRESENCE mandatory }|
+ { ID id-ExecuteDuplication CRITICALITY ignore TYPE ExecuteDuplication PRESENCE optional}|
+ { ID id-RRCContainer CRITICALITY reject TYPE RRCContainer PRESENCE mandatory }|
+ { ID id-RAT-FrequencyPriorityInformation CRITICALITY reject TYPE RAT-FrequencyPriorityInformation PRESENCE optional }|
+ { ID id-RRCDeliveryStatusRequest CRITICALITY ignore TYPE RRCDeliveryStatusRequest PRESENCE optional }|
+ { ID id-UEContextNotRetrievable CRITICALITY reject TYPE UEContextNotRetrievable PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-RedirectedRRCmessage CRITICALITY reject TYPE OCTET STRING PRESENCE optional }|
+ { ID id-RedirectedRRCmessage CRITICALITY reject TYPE RedirectedRRCmessage PRESENCE optional }|
+ { ID id-PLMNAssistanceInfoForNetShar CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional }|
+ { ID id-new-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE optional }|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional }|
+ { ID id-SRBMappingInfo CRITICALITY ignore TYPE UuRLCChannelID PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- UL RRC Message Transfer ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UL RRC Message Transfer
+--
+-- **************************************************************
+
+ULRRCMessageTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ ULRRCMessageTransferIEs}},
+ ...
+}
+
+ULRRCMessageTransferIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-SRBID CRITICALITY reject TYPE SRBID PRESENCE mandatory }|
+ { ID id-RRCContainer CRITICALITY reject TYPE RRCContainer PRESENCE mandatory }|
+ { ID id-SelectedPLMNID CRITICALITY reject TYPE PLMN-Identity PRESENCE optional }|
+ { ID id-new-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs F1AP-PRIVATE-IES ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- System Information ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- System information Delivery Command
+--
+-- **************************************************************
+
+SystemInformationDeliveryCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SystemInformationDeliveryCommandIEs}},
+ ...
+}
+
+SystemInformationDeliveryCommandIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-NRCGI CRITICALITY reject TYPE NRCGI PRESENCE mandatory }|
+ { ID id-SItype-List CRITICALITY reject TYPE SItype-List PRESENCE mandatory }|
+ { ID id-ConfirmedUEID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Paging PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Paging
+--
+-- **************************************************************
+
+Paging ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PagingIEs}},
+ ...
+}
+
+PagingIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UEIdentityIndexValue CRITICALITY reject TYPE UEIdentityIndexValue PRESENCE mandatory }|
+ { ID id-PagingIdentity CRITICALITY reject TYPE PagingIdentity PRESENCE mandatory }|
+ { ID id-PagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional }|
+ { ID id-PagingPriority CRITICALITY ignore TYPE PagingPriority PRESENCE optional }|
+ { ID id-PagingCell-List CRITICALITY ignore TYPE PagingCell-list PRESENCE mandatory }|
+ { ID id-PagingOrigin CRITICALITY ignore TYPE PagingOrigin PRESENCE optional }|
+ { ID id-RANUEPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional }|
+ { ID id-CNUEPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional }|
+ { ID id-NRPagingeDRXInformation CRITICALITY ignore TYPE NRPagingeDRXInformation PRESENCE optional }|
+ { ID id-NRPagingeDRXInformationforRRCINACTIVE CRITICALITY ignore TYPE NRPagingeDRXInformationforRRCINACTIVE PRESENCE optional }|
+ { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional }|
+ { ID id-PEIPSAssistanceInfo CRITICALITY ignore TYPE PEIPSAssistanceInfo PRESENCE optional }|
+ { ID id-UEPagingCapability CRITICALITY ignore TYPE UEPagingCapability PRESENCE optional }|
+ { ID id-ExtendedUEIdentityIndexValue CRITICALITY ignore TYPE ExtendedUEIdentityIndexValue PRESENCE optional}|
+ { ID id-HashedUEIdentityIndexValue CRITICALITY ignore TYPE HashedUEIdentityIndexValue PRESENCE optional},
+ ...
+}
+
+PagingCell-list::= SEQUENCE (SIZE(1.. maxnoofPagingCells)) OF ProtocolIE-SingleContainer { { PagingCell-ItemIEs } }
+
+PagingCell-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-PagingCell-Item CRITICALITY ignore TYPE PagingCell-Item PRESENCE mandatory} ,
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- Notify
+--
+-- **************************************************************
+
+Notify ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ NotifyIEs}},
+ ...
+}
+
+NotifyIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-DRB-Notify-List CRITICALITY reject TYPE DRB-Notify-List PRESENCE mandatory },
+ ...
+}
+
+DRB-Notify-List::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRB-Notify-ItemIEs } }
+
+DRB-Notify-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DRB-Notify-Item CRITICALITY reject TYPE DRB-Notify-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- NETWORK ACCESS RATE REDUCTION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Network Access Rate Reduction
+--
+-- **************************************************************
+
+NetworkAccessRateReduction ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ NetworkAccessRateReductionIEs }},
+ ...
+}
+
+NetworkAccessRateReductionIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-UAC-Assistance-Info CRITICALITY reject TYPE UAC-Assistance-Info PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS RESTART INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PWS Restart Indication
+--
+-- **************************************************************
+
+PWSRestartIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PWSRestartIndicationIEs} },
+ ...
+}
+
+PWSRestartIndicationIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-NR-CGI-List-For-Restart-List CRITICALITY reject TYPE NR-CGI-List-For-Restart-List PRESENCE mandatory },
+ ...
+}
+
+NR-CGI-List-For-Restart-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { NR-CGI-List-For-Restart-List-ItemIEs } }
+
+NR-CGI-List-For-Restart-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-NR-CGI-List-For-Restart-Item CRITICALITY reject TYPE NR-CGI-List-For-Restart-Item PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS FAILURE INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PWS Failure Indication
+--
+-- **************************************************************
+
+PWSFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PWSFailureIndicationIEs} },
+ ...
+}
+
+PWSFailureIndicationIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-PWS-Failed-NR-CGI-List CRITICALITY reject TYPE PWS-Failed-NR-CGI-List PRESENCE optional },
+ ...
+}
+
+PWS-Failed-NR-CGI-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { PWS-Failed-NR-CGI-List-ItemIEs } }
+
+PWS-Failed-NR-CGI-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-PWS-Failed-NR-CGI-Item CRITICALITY reject TYPE PWS-Failed-NR-CGI-Item PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- gNB-DU STATUS INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- gNB-DU Status Indication
+--
+-- **************************************************************
+
+GNBDUStatusIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {GNBDUStatusIndicationIEs} },
+ ...
+}
+
+GNBDUStatusIndicationIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-GNBDUOverloadInformation CRITICALITY reject TYPE GNBDUOverloadInformation PRESENCE mandatory }|
+ { ID id-IABCongestionIndication CRITICALITY ignore TYPE IABCongestionIndication PRESENCE optional },
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- RRC Delivery Report ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RRC Delivery Report
+--
+-- **************************************************************
+
+RRCDeliveryReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RRCDeliveryReportIEs}},
+ ...
+}
+
+RRCDeliveryReportIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-RRCDeliveryStatus CRITICALITY ignore TYPE RRCDeliveryStatus PRESENCE mandatory }|
+ { ID id-SRBID CRITICALITY ignore TYPE SRBID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- F1 Removal ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- F1 Removal Request
+--
+-- **************************************************************
+
+F1RemovalRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ F1RemovalRequestIEs }},
+ ...
+}
+
+F1RemovalRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- F1 Removal Response
+--
+-- **************************************************************
+
+F1RemovalResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ F1RemovalResponseIEs }},
+ ...
+}
+
+F1RemovalResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+
+ ...
+}
+
+-- **************************************************************
+--
+-- F1 Removal Failure
+--
+-- **************************************************************
+
+F1RemovalFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ F1RemovalFailureIEs }},
+ ...
+}
+
+F1RemovalFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+
+ ...
+}
+
+
+-- **************************************************************
+--
+-- TRACE ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- TRACE START
+--
+-- **************************************************************
+
+TraceStart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TraceStartIEs} },
+ ...
+}
+
+TraceStartIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- DEACTIVATE TRACE
+--
+-- **************************************************************
+
+DeactivateTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DeactivateTraceIEs} },
+ ...
+}
+
+DeactivateTraceIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-TraceID CRITICALITY ignore TYPE TraceID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL TRAFFIC TRACE
+--
+-- **************************************************************
+
+CellTrafficTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {CellTrafficTraceIEs} },
+ ...
+}
+
+CellTrafficTraceIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ {ID id-TraceID CRITICALITY ignore TYPE TraceID PRESENCE mandatory }|
+ {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }|
+ {ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional }|
+
+ {ID id-TraceCollectionEntityURI CRITICALITY ignore TYPE URI-address PRESENCE optional },
+ ...
+
+}
+
+-- **************************************************************
+--
+-- DU-CU Radio Information Transfer ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DU-CU Radio Information Transfer
+--
+-- **************************************************************
+
+DUCURadioInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ DUCURadioInformationTransferIEs}},
+ ...
+}
+
+DUCURadioInformationTransferIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-DUCURadioInformationType CRITICALITY ignore TYPE DUCURadioInformationType PRESENCE mandatory },
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- CU-DU Radio Information Transfer ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- CU-DU Radio Information Transfer
+--
+-- **************************************************************
+
+CUDURadioInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ CUDURadioInformationTransferIEs}},
+ ...
+}
+
+CUDURadioInformationTransferIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CUDURadioInformationType CRITICALITY ignore TYPE CUDURadioInformationType PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- IAB PROCEDURES
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- BAP Mapping Configuration ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BAP MAPPING CONFIGURATION
+-- **************************************************************
+
+
+BAPMappingConfiguration ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BAPMappingConfiguration-IEs} },
+ ...
+ }
+
+BAPMappingConfiguration-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+ { ID id-BH-Routing-Information-Added-List CRITICALITY ignore TYPE BH-Routing-Information-Added-List PRESENCE optional}|
+ { ID id-BH-Routing-Information-Removed-List CRITICALITY ignore TYPE BH-Routing-Information-Removed-List PRESENCE optional}|
+ { ID id-TrafficMappingInformation CRITICALITY ignore TYPE TrafficMappingInfo PRESENCE optional}|
+ { ID id-BufferSizeThresh CRITICALITY ignore TYPE BufferSizeThresh PRESENCE optional}|
+ { ID id-BAP-Header-Rewriting-Added-List CRITICALITY ignore TYPE BAP-Header-Rewriting-Added-List PRESENCE optional}|
+ { ID id-Re-routingEnableIndicator CRITICALITY ignore TYPE Re-routingEnableIndicator PRESENCE optional}|
+ { ID id-BAP-Header-Rewriting-Removed-List CRITICALITY ignore TYPE BAP-Header-Rewriting-Removed-List PRESENCE optional},
+ ...
+}
+
+BH-Routing-Information-Added-List ::= SEQUENCE (SIZE(1.. maxnoofRoutingEntries)) OF ProtocolIE-SingleContainer { { BH-Routing-Information-Added-List-ItemIEs } }
+BH-Routing-Information-Removed-List ::= SEQUENCE (SIZE(1.. maxnoofRoutingEntries)) OF ProtocolIE-SingleContainer { { BH-Routing-Information-Removed-List-ItemIEs } }
+
+BH-Routing-Information-Added-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BH-Routing-Information-Added-List-Item CRITICALITY ignore TYPE BH-Routing-Information-Added-List-Item PRESENCE optional},
+ ...
+}
+
+BH-Routing-Information-Removed-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BH-Routing-Information-Removed-List-Item CRITICALITY ignore TYPE BH-Routing-Information-Removed-List-Item PRESENCE optional},
+ ...
+}
+
+BAP-Header-Rewriting-Added-List ::= SEQUENCE (SIZE(1.. maxnoofRoutingEntries)) OF ProtocolIE-SingleContainer { { BAP-Header-Rewriting-Added-List-ItemIEs } }
+
+BAP-Header-Rewriting-Added-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BAP-Header-Rewriting-Added-List-Item CRITICALITY ignore TYPE BAP-Header-Rewriting-Added-List-Item PRESENCE optional},
+ ...
+}
+
+BAP-Header-Rewriting-Removed-List ::= SEQUENCE (SIZE(1.. maxnoofRoutingEntries)) OF ProtocolIE-SingleContainer { { BAP-Header-Rewriting-Removed-List-ItemIEs } }
+
+BAP-Header-Rewriting-Removed-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BAP-Header-Rewriting-Removed-List-Item CRITICALITY ignore TYPE BAP-Header-Rewriting-Removed-List-Item PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- BAP MAPPING CONFIGURATION ACKNOWLEDGE
+-- **************************************************************
+
+BAPMappingConfigurationAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BAPMappingConfigurationAcknowledge-IEs} },
+ ...
+}
+
+BAPMappingConfigurationAcknowledge-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- BAP MAPPING CONFIGURATION FAILURE
+--
+-- **************************************************************
+
+BAPMappingConfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BAPMappingConfigurationFailureIEs} },
+ ...
+}
+
+BAPMappingConfigurationFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GNB-DU Configuration ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- GNB-DU RESOURCE CONFIGURATION
+-- **************************************************************
+
+
+GNBDUResourceConfiguration ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ GNBDUResourceConfigurationIEs}},
+ ...
+}
+
+
+GNBDUResourceConfigurationIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Activated-Cells-to-be-Updated-List CRITICALITY reject TYPE Activated-Cells-to-be-Updated-List PRESENCE optional}|
+ { ID id-Child-Nodes-List CRITICALITY reject TYPE Child-Nodes-List PRESENCE optional}|
+ { ID id-Neighbour-Node-Cells-List CRITICALITY reject TYPE Neighbour-Node-Cells-List PRESENCE optional}|
+ { ID id-Serving-Cells-List CRITICALITY reject TYPE Serving-Cells-List PRESENCE optional},
+ ...
+}
+
+
+
+
+-- **************************************************************
+--
+-- GNB-DU RESOURCE CONFIGURATION ACKNOWLEDGE
+-- **************************************************************
+
+
+GNBDUResourceConfigurationAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { GNBDUResourceConfigurationAcknowledgeIEs} },
+ ...
+}
+
+
+GNBDUResourceConfigurationAcknowledgeIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB-DU RESOURCE CONFIGURATION FAILURE
+--
+-- **************************************************************
+
+GNBDUResourceConfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { GNBDUResourceConfigurationFailureIEs} },
+ ...
+}
+
+GNBDUResourceConfigurationFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- IAB TNL Address Allocation ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- IAB TNL ADDRESS REQUEST
+-- **************************************************************
+
+
+
+IABTNLAddressRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {IABTNLAddressRequestIEs} },
+ ...
+}
+
+IABTNLAddressRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-IABv4AddressesRequested CRITICALITY reject TYPE IABv4AddressesRequested PRESENCE optional }|
+ { ID id-IABIPv6RequestType CRITICALITY reject TYPE IABIPv6RequestType PRESENCE optional }|
+ { ID id-IAB-TNL-Addresses-To-Remove-List CRITICALITY reject TYPE IAB-TNL-Addresses-To-Remove-List PRESENCE optional }|
+ { ID id-IAB-TNL-Addresses-Exception CRITICALITY reject TYPE IAB-TNL-Addresses-Exception PRESENCE optional },
+ ...
+}
+
+
+IAB-TNL-Addresses-To-Remove-List ::= SEQUENCE (SIZE(1..maxnoofTLAsIAB)) OF ProtocolIE-SingleContainer { { IAB-TNL-Addresses-To-Remove-ItemIEs } }
+
+IAB-TNL-Addresses-To-Remove-ItemIEs F1AP-PROTOCOL-IES::= {
+ { ID id-IAB-TNL-Addresses-To-Remove-Item CRITICALITY reject TYPE IAB-TNL-Addresses-To-Remove-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- IAB TNL ADDRESS RESPONSE
+-- **************************************************************
+
+
+IABTNLAddressResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {IABTNLAddressResponseIEs} },
+ ...
+}
+
+
+IABTNLAddressResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-IAB-Allocated-TNL-Address-List CRITICALITY reject TYPE IAB-Allocated-TNL-Address-List PRESENCE mandatory },
+ ...
+}
+
+
+IAB-Allocated-TNL-Address-List ::= SEQUENCE (SIZE(1.. maxnoofTLAsIAB)) OF ProtocolIE-SingleContainer { { IAB-Allocated-TNL-Address-List-ItemIEs } }
+
+
+IAB-Allocated-TNL-Address-List-ItemIEs F1AP-PROTOCOL-IES::= {
+ { ID id-IAB-Allocated-TNL-Address-Item CRITICALITY reject TYPE IAB-Allocated-TNL-Address-Item PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- IAB TNL ADDRESS FAILURE
+--
+-- **************************************************************
+
+IABTNLAddressFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { IABTNLAddressFailureIEs} },
+ ...
+}
+
+IABTNLAddressFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- IAB UP Configuration Update ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- IAB UP Configuration Update Request
+--
+-- **************************************************************
+
+IABUPConfigurationUpdateRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { IABUPConfigurationUpdateRequestIEs} },
+ ...
+}
+
+IABUPConfigurationUpdateRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-UL-UP-TNL-Information-to-Update-List CRITICALITY ignore TYPE UL-UP-TNL-Information-to-Update-List PRESENCE optional }|
+ { ID id-UL-UP-TNL-Address-to-Update-List CRITICALITY ignore TYPE UL-UP-TNL-Address-to-Update-List PRESENCE optional },
+ ...
+}
+
+UL-UP-TNL-Information-to-Update-List ::= SEQUENCE (SIZE(1.. maxnoofULUPTNLInformationforIAB)) OF ProtocolIE-SingleContainer { { UL-UP-TNL-Information-to-Update-List-ItemIEs } }
+
+UL-UP-TNL-Information-to-Update-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UL-UP-TNL-Information-to-Update-List-Item CRITICALITY ignore TYPE UL-UP-TNL-Information-to-Update-List-Item PRESENCE mandatory },
+ ...
+}
+
+UL-UP-TNL-Address-to-Update-List ::= SEQUENCE (SIZE(1.. maxnoofUPTNLAddresses)) OF ProtocolIE-SingleContainer { { UL-UP-TNL-Address-to-Update-List-ItemIEs } }
+
+UL-UP-TNL-Address-to-Update-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UL-UP-TNL-Address-to-Update-List-Item CRITICALITY ignore TYPE UL-UP-TNL-Address-to-Update-List-Item PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- IAB UP Configuration Update Response
+--
+-- **************************************************************
+
+IABUPConfigurationUpdateResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { IABUPConfigurationUpdateResponseIEs} },
+ ...
+}
+
+IABUPConfigurationUpdateResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-DL-UP-TNL-Address-to-Update-List CRITICALITY reject TYPE DL-UP-TNL-Address-to-Update-List PRESENCE optional },
+ ...
+}
+
+DL-UP-TNL-Address-to-Update-List ::= SEQUENCE (SIZE(1.. maxnoofUPTNLAddresses)) OF ProtocolIE-SingleContainer { { DL-UP-TNL-Address-to-Update-List-ItemIEs } }
+
+DL-UP-TNL-Address-to-Update-List-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-DL-UP-TNL-Address-to-Update-List-Item CRITICALITY ignore TYPE DL-UP-TNL-Address-to-Update-List-Item PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- IAB UP Configuration Update Failure
+--
+-- **************************************************************
+
+IABUPConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { IABUPConfigurationUpdateFailureIEs} },
+ ...
+}
+
+IABUPConfigurationUpdateFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Resource Status Reporting Initiation ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Resource Status Request
+--
+-- **************************************************************
+
+ResourceStatusRequest::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResourceStatusRequestIEs} },
+ ...
+}
+
+ResourceStatusRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNBCUMeasurementID CRITICALITY reject TYPE GNBCUMeasurementID PRESENCE mandatory }|
+ { ID id-gNBDUMeasurementID CRITICALITY ignore TYPE GNBDUMeasurementID PRESENCE conditional }|
+ { ID id-RegistrationRequest CRITICALITY ignore TYPE RegistrationRequest PRESENCE mandatory }|
+ { ID id-ReportCharacteristics CRITICALITY ignore TYPE ReportCharacteristics PRESENCE conditional }|
+ { ID id-CellToReportList CRITICALITY ignore TYPE CellToReportList PRESENCE optional }|
+ { ID id-ReportingPeriodicity CRITICALITY ignore TYPE ReportingPeriodicity PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Resource Status Response
+--
+-- **************************************************************
+
+ResourceStatusResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ResourceStatusResponseIEs} },
+ ...
+}
+
+
+ResourceStatusResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNBCUMeasurementID CRITICALITY reject TYPE GNBCUMeasurementID PRESENCE mandatory }|
+ { ID id-gNBDUMeasurementID CRITICALITY ignore TYPE GNBDUMeasurementID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Resource Status Failure
+--
+-- **************************************************************
+
+ResourceStatusFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ResourceStatusFailureIEs} },
+ ...
+}
+
+ResourceStatusFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNBCUMeasurementID CRITICALITY reject TYPE GNBCUMeasurementID PRESENCE mandatory }|
+ { ID id-gNBDUMeasurementID CRITICALITY ignore TYPE GNBDUMeasurementID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Resource Status Reporting ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Resource Status Update
+--
+-- **************************************************************
+
+ResourceStatusUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ ResourceStatusUpdateIEs}},
+ ...
+}
+
+ResourceStatusUpdateIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-gNBCUMeasurementID CRITICALITY reject TYPE GNBCUMeasurementID PRESENCE mandatory }|
+ { ID id-gNBDUMeasurementID CRITICALITY ignore TYPE GNBDUMeasurementID PRESENCE mandatory }|
+ { ID id-HardwareLoadIndicator CRITICALITY ignore TYPE HardwareLoadIndicator PRESENCE optional }|
+ { ID id-TNLCapacityIndicator CRITICALITY ignore TYPE TNLCapacityIndicator PRESENCE optional }|
+ { ID id-CellMeasurementResultList CRITICALITY ignore TYPE CellMeasurementResultList PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Access And Mobility Indication ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Access And Mobility Indication
+--
+-- **************************************************************
+
+AccessAndMobilityIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { AccessAndMobilityIndicationIEs} },
+ ...
+}
+
+AccessAndMobilityIndicationIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-RACHReportInformationList CRITICALITY ignore TYPE RACHReportInformationList PRESENCE optional }|
+ { ID id-RLFReportInformationList CRITICALITY ignore TYPE RLFReportInformationList PRESENCE optional }|
+ { ID id-SuccessfulHOReportInformationList CRITICALITY ignore TYPE SuccessfulHOReportInformationList PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- REFERENCE TIME INFORMATION REPORTING CONTROL
+--
+-- **************************************************************
+
+ReferenceTimeInformationReportingControl::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ReferenceTimeInformationReportingControlIEs} },
+ ...
+}
+
+ReferenceTimeInformationReportingControlIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-ReportingRequestType CRITICALITY reject TYPE ReportingRequestType PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- REFERENCE TIME INFORMATION REPORT
+--
+-- **************************************************************
+
+ReferenceTimeInformationReport::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ReferenceTimeInformationReportIEs} },
+ ...
+}
+
+ReferenceTimeInformationReportIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY ignore TYPE TransactionID PRESENCE mandatory }|
+ { ID id-TimeReferenceInformation CRITICALITY ignore TYPE TimeReferenceInformation PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Access Success
+--
+-- **************************************************************
+
+AccessSuccess ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ AccessSuccessIEs}},
+ ...
+}
+
+AccessSuccessIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-NRCGI CRITICALITY reject TYPE NRCGI PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITIONING ASSISTANCE INFORMATION CONTROL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Assistance Information Control
+--
+-- **************************************************************
+
+PositioningAssistanceInformationControl ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PositioningAssistanceInformationControlIEs}},
+ ...
+}
+
+PositioningAssistanceInformationControlIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-PosAssistance-Information CRITICALITY reject TYPE PosAssistance-Information PRESENCE optional}|
+ { ID id-PosBroadcast CRITICALITY reject TYPE PosBroadcast PRESENCE optional}|
+ { ID id-PositioningBroadcastCells CRITICALITY reject TYPE PositioningBroadcastCells PRESENCE optional}|
+ { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITIONING ASSISTANCE INFORMATION FEEDBACK ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Assistance Information Feedback
+--
+-- **************************************************************
+
+PositioningAssistanceInformationFeedback ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PositioningAssistanceInformationFeedbackIEs}},
+ ...
+}
+
+PositioningAssistanceInformationFeedbackIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-PosAssistanceInformationFailureList CRITICALITY reject TYPE PosAssistanceInformationFailureList PRESENCE optional}|
+ { ID id-PositioningBroadcastCells CRITICALITY reject TYPE PositioningBroadcastCells PRESENCE optional}|
+ { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITONING MEASUREMENT EXCHANGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Measurement Request
+--
+-- **************************************************************
+
+PositioningMeasurementRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningMeasurementRequestIEs} },
+ ...
+}
+
+PositioningMeasurementRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+ { ID id-LMF-MeasurementID CRITICALITY reject TYPE LMF-MeasurementID PRESENCE mandatory}|
+ { ID id-RAN-MeasurementID CRITICALITY reject TYPE RAN-MeasurementID PRESENCE mandatory}|
+ { ID id-TRP-MeasurementRequestList CRITICALITY reject TYPE TRP-MeasurementRequestList PRESENCE mandatory}|
+ { ID id-PosReportCharacteristics CRITICALITY reject TYPE PosReportCharacteristics PRESENCE mandatory}|
+ { ID id-PosMeasurementPeriodicity CRITICALITY reject TYPE MeasurementPeriodicity PRESENCE conditional }|
+ -- The above IE shall be present if the PosReportCharacteristics IE is set to “periodic†--
+ { ID id-PosMeasurementQuantities CRITICALITY reject TYPE PosMeasurementQuantities PRESENCE mandatory}|
+ { ID id-SFNInitialisationTime CRITICALITY ignore TYPE RelativeTime1900 PRESENCE optional }|
+ { ID id-SRSConfiguration CRITICALITY ignore TYPE SRSConfiguration PRESENCE optional}|
+ { ID id-MeasurementBeamInfoRequest CRITICALITY ignore TYPE MeasurementBeamInfoRequest PRESENCE optional }|
+ { ID id-SystemFrameNumber CRITICALITY ignore TYPE SystemFrameNumber PRESENCE optional}|
+ { ID id-SlotNumber CRITICALITY ignore TYPE SlotNumber PRESENCE optional}|
+ { ID id-PosMeasurementPeriodicityExtended CRITICALITY reject TYPE MeasurementPeriodicityExtended PRESENCE conditional }|
+ -- The IE shall be present the MeasurementPeriodicity IE is set to the value "extended"
+
+ { ID id-ResponseTime CRITICALITY ignore TYPE ResponseTime PRESENCE optional}|
+ { ID id-MeasurementCharacteristicsRequestIndicator CRITICALITY ignore TYPE MeasurementCharacteristicsRequestIndicator PRESENCE optional}|
+ { ID id-MeasurementTimeOccasion CRITICALITY ignore TYPE MeasurementTimeOccasion PRESENCE optional }|
+ { ID id-PosMeasurementAmount CRITICALITY ignore TYPE PosMeasurementAmount PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Positioning Measurement Response
+--
+-- **************************************************************
+
+PositioningMeasurementResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningMeasurementResponseIEs} },
+ ...
+}
+
+
+PositioningMeasurementResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+ { ID id-LMF-MeasurementID CRITICALITY reject TYPE LMF-MeasurementID PRESENCE mandatory}|
+ { ID id-RAN-MeasurementID CRITICALITY reject TYPE RAN-MeasurementID PRESENCE mandatory}|
+ { ID id-PosMeasurementResultList CRITICALITY reject TYPE PosMeasurementResultList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Positioning Measurement Failure
+--
+-- **************************************************************
+
+PositioningMeasurementFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningMeasurementFailureIEs} },
+ ...
+}
+
+PositioningMeasurementFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-LMF-MeasurementID CRITICALITY reject TYPE LMF-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-MeasurementID CRITICALITY reject TYPE RAN-MeasurementID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITIONING MEASUREMENT REPORT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Measurement Report
+--
+-- **************************************************************
+
+PositioningMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningMeasurementReportIEs} },
+ ...
+}
+
+PositioningMeasurementReportIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-LMF-MeasurementID CRITICALITY reject TYPE LMF-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-MeasurementID CRITICALITY reject TYPE RAN-MeasurementID PRESENCE mandatory }|
+ { ID id-PosMeasurementResultList CRITICALITY reject TYPE PosMeasurementResultList PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITIONING MEASUREMENT ABORT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Measurement Abort
+--
+-- **************************************************************
+
+PositioningMeasurementAbort ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningMeasurementAbortIEs} },
+ ...
+}
+
+PositioningMeasurementAbortIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-LMF-MeasurementID CRITICALITY reject TYPE LMF-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-MeasurementID CRITICALITY reject TYPE RAN-MeasurementID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITIONING MEASUREMENT FAILURE INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Measurement Failure Indication
+--
+-- **************************************************************
+
+PositioningMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningMeasurementFailureIndicationIEs} },
+ ...
+}
+
+PositioningMeasurementFailureIndicationIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-LMF-MeasurementID CRITICALITY reject TYPE LMF-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-MeasurementID CRITICALITY reject TYPE RAN-MeasurementID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITIONING MEASUREMENT UPDATE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Measurement Update
+--
+-- **************************************************************
+
+PositioningMeasurementUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningMeasurementUpdateIEs} },
+ ...
+}
+
+PositioningMeasurementUpdateIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-LMF-MeasurementID CRITICALITY reject TYPE LMF-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-MeasurementID CRITICALITY reject TYPE RAN-MeasurementID PRESENCE mandatory }|
+ { ID id-SRSConfiguration CRITICALITY ignore TYPE SRSConfiguration PRESENCE optional}|
+ { ID id-TRP-MeasurementUpdateList CRITICALITY reject TYPE TRP-MeasurementUpdateList PRESENCE optional}|
+ { ID id-MeasurementCharacteristicsRequestIndicator CRITICALITY ignore TYPE MeasurementCharacteristicsRequestIndicator PRESENCE optional}|
+ { ID id-MeasurementTimeOccasion CRITICALITY ignore TYPE MeasurementTimeOccasion PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- TRP INFORMATION EXCHANGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- TRP Information Request
+--
+-- **************************************************************
+
+TRPInformationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { TRPInformationRequestIEs} },
+ ...
+}
+
+TRPInformationRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-TRPList CRITICALITY ignore TYPE TRPList PRESENCE optional }|
+ { ID id-TRPInformationTypeListTRPReq CRITICALITY reject TYPE TRPInformationTypeListTRPReq PRESENCE mandatory },
+ ...
+}
+
+TRPInformationTypeListTRPReq ::= SEQUENCE (SIZE(1.. maxnoofTRPInfoTypes)) OF ProtocolIE-SingleContainer { { TRPInformationTypeItemTRPReq } }
+
+TRPInformationTypeItemTRPReq F1AP-PROTOCOL-IES ::= {
+ { ID id-TRPInformationTypeItem CRITICALITY reject TYPE TRPInformationTypeItem PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- TRP Information Response
+--
+-- **************************************************************
+
+TRPInformationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { TRPInformationResponseIEs} },
+ ...
+}
+
+TRPInformationResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-TRPInformationListTRPResp CRITICALITY ignore TYPE TRPInformationListTRPResp PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+TRPInformationListTRPResp ::= SEQUENCE (SIZE(1.. maxnoofTRPs)) OF ProtocolIE-SingleContainer { { TRPInformationItemTRPResp } }
+
+TRPInformationItemTRPResp F1AP-PROTOCOL-IES ::= {
+ { ID id-TRPInformationItem CRITICALITY ignore TYPE TRPInformationItem PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- TRP Information Failure
+--
+-- **************************************************************
+
+TRPInformationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { TRPInformationFailureIEs} },
+ ...
+}
+
+TRPInformationFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITIONING INFORMATION EXCHANGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Information Request
+--
+-- **************************************************************
+
+PositioningInformationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningInformationRequestIEs} },
+ ...
+}
+
+PositioningInformationRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-RequestedSRSTransmissionCharacteristics CRITICALITY ignore TYPE RequestedSRSTransmissionCharacteristics PRESENCE optional}|
+ { ID id-UEReportingInformation CRITICALITY ignore TYPE UEReportingInformation PRESENCE optional}|
+ { ID id-SRSPosRRCInactiveQueryIndication CRITICALITY ignore TYPE SRSPosRRCInactiveQueryIndication PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Positioning Information Response
+--
+-- **************************************************************
+
+PositioningInformationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningInformationResponseIEs} },
+ ...
+}
+
+
+PositioningInformationResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-SRSConfiguration CRITICALITY ignore TYPE SRSConfiguration PRESENCE optional}|
+ { ID id-SFNInitialisationTime CRITICALITY ignore TYPE RelativeTime1900 PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-SRSPosRRCInactiveConfig CRITICALITY ignore TYPE SRSPosRRCInactiveConfig PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Positioning Information Failure
+--
+-- **************************************************************
+
+PositioningInformationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningInformationFailureIEs} },
+ ...
+}
+
+PositioningInformationFailureIEs F1AP-PROTOCOL-IES ::= {
+
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITIONING ACTIVATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Activation Request
+--
+-- **************************************************************
+
+PositioningActivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningActivationRequestIEs} },
+ ...
+}
+
+PositioningActivationRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-SRSType CRITICALITY reject TYPE SRSType PRESENCE mandatory }|
+ { ID id-ActivationTime CRITICALITY ignore TYPE RelativeTime1900 PRESENCE optional },
+ ...
+}
+
+SRSType ::= CHOICE {
+ semipersistentSRS SemipersistentSRS,
+ aperiodicSRS AperiodicSRS,
+ choice-extension ProtocolIE-SingleContainer { { SRSType-ExtIEs} }
+}
+
+SRSType-ExtIEs F1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+SemipersistentSRS ::= SEQUENCE {
+ sRSResourceSetID SRSResourceSetID,
+ sRSSpatialRelation SpatialRelationInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SemipersistentSRS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SemipersistentSRS-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SRSSpatialRelationPerSRSResource CRITICALITY ignore EXTENSION SpatialRelationPerSRSResource PRESENCE optional},
+ ...
+}
+
+AperiodicSRS ::= SEQUENCE {
+ aperiodic ENUMERATED {true, ...},
+ sRSResourceTrigger SRSResourceTrigger OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AperiodicSRS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AperiodicSRS-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Positioning Activation Response
+--
+-- **************************************************************
+
+PositioningActivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningActivationResponseIEs} },
+ ...
+}
+
+
+PositioningActivationResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-SystemFrameNumber CRITICALITY ignore TYPE SystemFrameNumber PRESENCE optional }|
+ { ID id-SlotNumber CRITICALITY ignore TYPE SlotNumber PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+
+
+-- **************************************************************
+--
+-- Positioning Activation Failure
+--
+-- **************************************************************
+
+PositioningActivationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningActivationFailureIEs} },
+ ...
+}
+
+PositioningActivationFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITIONING DEACTIVATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Deactivation
+--
+-- **************************************************************
+
+PositioningDeactivation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningDeactivationIEs} },
+ ...
+}
+
+PositioningDeactivationIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-AbortTransmission CRITICALITY ignore TYPE AbortTransmission PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITIONING INFORMATION UPDATE PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Information Update
+--
+-- **************************************************************
+
+PositioningInformationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningInformationUpdateIEs} },
+ ...
+}
+
+
+PositioningInformationUpdateIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-SRSConfiguration CRITICALITY ignore TYPE SRSConfiguration PRESENCE optional}|
+ { ID id-SFNInitialisationTime CRITICALITY ignore TYPE RelativeTime1900 PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-CID Measurement Initiation Request
+--
+-- **************************************************************
+
+E-CIDMeasurementInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementInitiationRequest-IEs}},
+ ...
+}
+
+E-CIDMeasurementInitiationRequest-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-LMF-UE-MeasurementID CRITICALITY reject TYPE LMF-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-UE-MeasurementID CRITICALITY reject TYPE RAN-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-E-CID-ReportCharacteristics CRITICALITY reject TYPE E-CID-ReportCharacteristics PRESENCE mandatory }|
+ { ID id-E-CID-MeasurementPeriodicity CRITICALITY reject TYPE MeasurementPeriodicity PRESENCE conditional }|
+-- The above IE shall be present if the E-CID-ReportCharacteristics IE is set to “periodic†–-
+ { ID id-E-CID-MeasurementQuantities CRITICALITY reject TYPE E-CID-MeasurementQuantities PRESENCE mandatory}|
+ { ID id-PosMeasurementPeriodicityNR-AoA CRITICALITY reject TYPE PosMeasurementPeriodicityNR-AoA PRESENCE conditional},
+-- The IE shall be present if the E-CID-ReportCharacteristics IE is set to “periodic†and the E-CID-MeasurementQuantities-Item IE in the E-CID-MeasurementQuantities IE is set to the value "angleOfArrivalNR"--
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID Measurement Initiation Response
+--
+-- **************************************************************
+
+E-CIDMeasurementInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementInitiationResponse-IEs}},
+ ...
+}
+
+E-CIDMeasurementInitiationResponse-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-LMF-UE-MeasurementID CRITICALITY reject TYPE LMF-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-UE-MeasurementID CRITICALITY reject TYPE RAN-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-E-CID-MeasurementResult CRITICALITY ignore TYPE E-CID-MeasurementResult PRESENCE optional}|
+ { ID id-Cell-Portion-ID CRITICALITY ignore TYPE Cell-Portion-ID PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID Measurement Initiation Failure
+--
+-- **************************************************************
+
+E-CIDMeasurementInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementInitiationFailure-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementInitiationFailure-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-LMF-UE-MeasurementID CRITICALITY reject TYPE LMF-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-UE-MeasurementID CRITICALITY reject TYPE RAN-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT FAILURE INDICATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-CID Measurement Failure Indication
+--
+-- **************************************************************
+
+E-CIDMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementFailureIndication-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementFailureIndication-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-LMF-UE-MeasurementID CRITICALITY reject TYPE LMF-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-UE-MeasurementID CRITICALITY reject TYPE RAN-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT REPORT PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-CID Measurement Report
+--
+-- **************************************************************
+
+E-CIDMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementReport-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementReport-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-LMF-UE-MeasurementID CRITICALITY reject TYPE LMF-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-UE-MeasurementID CRITICALITY reject TYPE RAN-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-E-CID-MeasurementResult CRITICALITY ignore TYPE E-CID-MeasurementResult PRESENCE mandatory }|
+ { ID id-Cell-Portion-ID CRITICALITY ignore TYPE Cell-Portion-ID PRESENCE optional},
+
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT TERMINATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-CID Measurement Termination Command
+--
+-- **************************************************************
+
+
+E-CIDMeasurementTerminationCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementTerminationCommand-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementTerminationCommand-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-LMF-UE-MeasurementID CRITICALITY reject TYPE LMF-UE-MeasurementID PRESENCE mandatory }|
+ { ID id-RAN-UE-MeasurementID CRITICALITY reject TYPE RAN-UE-MeasurementID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT SETUP REQUEST
+--
+-- **************************************************************
+
+BroadcastContextSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BroadcastContextSetupRequestIEs} },
+ ...
+}
+
+BroadcastContextSetupRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-MBS-Session-ID CRITICALITY reject TYPE MBS-Session-ID PRESENCE mandatory }|
+ { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE optional }|
+ { ID id-MBS-CUtoDURRCInformation CRITICALITY reject TYPE MBS-CUtoDURRCInformation PRESENCE mandatory }|
+ { ID id-SNSSAI CRITICALITY reject TYPE SNSSAI PRESENCE mandatory }|
+ { ID id-BroadcastMRBs-ToBeSetup-List CRITICALITY reject TYPE BroadcastMRBs-ToBeSetup-List PRESENCE mandatory },
+ ...
+}
+
+BroadcastMRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-ToBeSetup-ItemIEs} }
+
+
+BroadcastMRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-ToBeSetup-Item CRITICALITY reject TYPE BroadcastMRBs-ToBeSetup-Item PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT SETUP RESPONSE
+--
+-- **************************************************************
+
+BroadcastContextSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BroadcastContextSetupResponseIEs} },
+ ...
+}
+
+BroadcastContextSetupResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-BroadcastMRBs-Setup-List CRITICALITY reject TYPE BroadcastMRBs-Setup-List PRESENCE mandatory }|
+ { ID id-BroadcastMRBs-FailedToBeSetup-List CRITICALITY ignore TYPE BroadcastMRBs-FailedToBeSetup-List PRESENCE optional }|
+ { ID id-BroadcastAreaScope CRITICALITY ignore TYPE BroadcastAreaScope PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+BroadcastMRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-Setup-ItemIEs} }
+
+BroadcastMRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-FailedToBeSetup-ItemIEs} }
+
+BroadcastMRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-Setup-Item CRITICALITY reject TYPE BroadcastMRBs-Setup-Item PRESENCE mandatory},
+ ...
+}
+
+BroadcastMRBs-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-FailedToBeSetup-Item CRITICALITY ignore TYPE BroadcastMRBs-FailedToBeSetup-Item PRESENCE mandatory}, ...
+}
+
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT SETUP FAILURE
+--
+-- **************************************************************
+
+BroadcastContextSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BroadcastContextSetupFailureIEs} },
+ ...
+}
+
+BroadcastContextSetupFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY ignore TYPE GNB-DU-UE-F1AP-ID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT RELEASE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT RELEASE COMMAND
+--
+-- **************************************************************
+
+BroadcastContextReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BroadcastContextReleaseCommandIEs} },
+ ...
+}
+
+BroadcastContextReleaseCommandIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT RELEASE COMPLETE
+--
+-- **************************************************************
+
+BroadcastContextReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BroadcastContextReleaseCompleteIEs} },
+ ...
+}
+BroadcastContextReleaseCompleteIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT RELEASE REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT RELEASE REQUEST
+--
+-- **************************************************************
+
+BroadcastContextReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ BroadcastContextReleaseRequestIEs}},
+ ...
+}
+
+BroadcastContextReleaseRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT MODIFICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT MODIFICATION REQUEST
+--
+-- **************************************************************
+
+BroadcastContextModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BroadcastContextModificationRequestIEs} },
+ ...
+}
+
+BroadcastContextModificationRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE optional }|
+ { ID id-MBS-CUtoDURRCInformation CRITICALITY reject TYPE MBS-CUtoDURRCInformation PRESENCE mandatory }|
+ { ID id-BroadcastMRBs-ToBeSetupMod-List CRITICALITY reject TYPE BroadcastMRBs-ToBeSetupMod-List PRESENCE optional }|
+ { ID id-BroadcastMRBs-ToBeModified-List CRITICALITY reject TYPE BroadcastMRBs-ToBeModified-List PRESENCE optional }|
+ { ID id-BroadcastMRBs-ToBeReleased-List CRITICALITY reject TYPE BroadcastMRBs-ToBeReleased-List PRESENCE optional },
+ ...
+}
+
+BroadcastMRBs-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-ToBeSetupMod-ItemIEs} }
+BroadcastMRBs-ToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-ToBeModified-ItemIEs} }
+BroadcastMRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-ToBeReleased-ItemIEs} }
+
+BroadcastMRBs-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-ToBeSetupMod-Item CRITICALITY reject TYPE BroadcastMRBs-ToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+BroadcastMRBs-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-ToBeModified-Item CRITICALITY reject TYPE BroadcastMRBs-ToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+BroadcastMRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-ToBeReleased-Item CRITICALITY reject TYPE BroadcastMRBs-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT MODIFICATION RESPONSE
+--
+-- **************************************************************
+
+BroadcastContextModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BroadcastContextModificationResponseIEs} },
+ ...
+}
+
+
+BroadcastContextModificationResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory}|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory}|
+
+ { ID id-BroadcastMRBs-SetupMod-List CRITICALITY reject TYPE BroadcastMRBs-SetupMod-List PRESENCE optional}|
+ { ID id-BroadcastMRBs-FailedToBeSetupMod-List CRITICALITY ignore TYPE BroadcastMRBs-FailedToBeSetupMod-List PRESENCE optional}|
+ { ID id-BroadcastMRBs-Modified-List CRITICALITY reject TYPE BroadcastMRBs-Modified-List PRESENCE optional}|
+ { ID id-BroadcastMRBs-FailedToBeModified-List CRITICALITY ignore TYPE BroadcastMRBs-FailedToBeModified-List PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-BroadcastAreaScope CRITICALITY ignore TYPE BroadcastAreaScope PRESENCE optional},
+ ...
+}
+
+BroadcastMRBs-SetupMod-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-SetupMod-ItemIEs} }
+
+BroadcastMRBs-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-FailedToBeSetupMod-ItemIEs} }
+
+BroadcastMRBs-Modified-List::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-Modified-ItemIEs } }
+
+BroadcastMRBs-FailedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { BroadcastMRBs-FailedToBeModified-ItemIEs} }
+
+
+BroadcastMRBs-SetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-SetupMod-Item CRITICALITY reject TYPE BroadcastMRBs-SetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+BroadcastMRBs-FailedToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-FailedToBeSetupMod-Item CRITICALITY ignore TYPE BroadcastMRBs-FailedToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+BroadcastMRBs-Modified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-Modified-Item CRITICALITY reject TYPE BroadcastMRBs-Modified-Item PRESENCE mandatory},
+ ...
+}
+
+BroadcastMRBs-FailedToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-BroadcastMRBs-FailedToBeModified-Item CRITICALITY ignore TYPE BroadcastMRBs-FailedToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- BROADCAST CONTEXT MODIFICATION FAILURE
+--
+-- **************************************************************
+
+BroadcastContextModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { BroadcastContextModificationFailureIEs} },
+ ...
+}
+
+BroadcastContextModificationFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Multicast Group Paging PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- Multicast Group Paging
+--
+-- **************************************************************
+
+MulticastGroupPaging ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastGroupPagingIEs}},
+ ...
+}
+
+MulticastGroupPagingIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MBS-Session-ID CRITICALITY reject TYPE MBS-Session-ID PRESENCE mandatory }|
+ { ID id-UEIdentity-List-For-Paging-List CRITICALITY ignore TYPE UEIdentity-List-For-Paging-List PRESENCE optional }|
+ { ID id-MC-PagingCell-List CRITICALITY ignore TYPE MC-PagingCell-list PRESENCE optional },
+ ...
+}
+
+UEIdentity-List-For-Paging-List ::= SEQUENCE (SIZE(1.. maxnoofUEIDforPaging)) OF ProtocolIE-SingleContainer { { UEIdentity-List-For-Paging-ItemIEs } }
+
+
+UEIdentity-List-For-Paging-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-UEIdentity-List-For-Paging-Item CRITICALITY ignore TYPE UEIdentity-List-For-Paging-Item PRESENCE optional } ,
+ ...
+}
+
+MC-PagingCell-list::= SEQUENCE (SIZE(1.. maxnoofPagingCells)) OF ProtocolIE-SingleContainer { { MC-PagingCell-ItemIEs } }
+
+MC-PagingCell-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MC-PagingCell-Item CRITICALITY ignore TYPE MC-PagingCell-Item PRESENCE mandatory} ,
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT SETUP REQUEST
+--
+-- **************************************************************
+
+MulticastContextSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastContextSetupRequestIEs}},
+ ...
+}
+
+MulticastContextSetupRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-MBS-Session-ID CRITICALITY reject TYPE MBS-Session-ID PRESENCE mandatory }|
+ { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE optional }|
+ { ID id-SNSSAI CRITICALITY reject TYPE SNSSAI PRESENCE mandatory }|
+ { ID id-MulticastMRBs-ToBeSetup-List CRITICALITY reject TYPE MulticastMRBs-ToBeSetup-List PRESENCE mandatory },
+ ...
+}
+
+MulticastMRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-ToBeSetup-ItemIEs} }
+
+
+MulticastMRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-ToBeSetup-Item CRITICALITY reject TYPE MulticastMRBs-ToBeSetup-Item PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT SETUP RESPONSE
+--
+-- **************************************************************
+
+MulticastContextSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastContextSetupResponseIEs}},
+ ...
+}
+
+MulticastContextSetupResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-MulticastMRBs-Setup-List CRITICALITY reject TYPE MulticastMRBs-Setup-List PRESENCE mandatory }|
+ { ID id-MulticastMRBs-FailedToBeSetup-List CRITICALITY ignore TYPE MulticastMRBs-FailedToBeSetup-List PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+MulticastMRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-Setup-ItemIEs} }
+
+MulticastMRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-FailedToBeSetup-ItemIEs} }
+
+MulticastMRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-Setup-Item CRITICALITY reject TYPE MulticastMRBs-Setup-Item PRESENCE mandatory},
+ ...
+}
+
+MulticastMRBs-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-FailedToBeSetup-Item CRITICALITY ignore TYPE MulticastMRBs-FailedToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT SETUP FAILURE
+--
+-- **************************************************************
+
+MulticastContextSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastContextSetupFailureIEs}},
+ ...
+}
+
+MulticastContextSetupFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY ignore TYPE GNB-DU-MBS-F1AP-ID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT RELEASE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT RELEASE COMMAND
+--
+-- **************************************************************
+
+MulticastContextReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastContextReleaseCommandIEs}},
+ ...
+}
+
+MulticastContextReleaseCommandIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT RELEASE COMPLETE
+--
+-- **************************************************************
+
+MulticastContextReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastContextReleaseCompleteIEs}},
+ ...
+}
+
+MulticastContextReleaseCompleteIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT RELEASE REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT RELEASE REQUEST
+--
+-- **************************************************************
+
+MulticastContextReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastContextReleaseRequestIEs}},
+ ...
+}
+
+MulticastContextReleaseRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT MODIFICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT MODIFICATION REQUEST
+--
+-- **************************************************************
+
+MulticastContextModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastContextModificationRequestIEs}},
+ ...
+}
+
+MulticastContextModificationRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE optional }|
+ { ID id-MulticastMRBs-ToBeSetupMod-List CRITICALITY reject TYPE MulticastMRBs-ToBeSetupMod-List PRESENCE optional }|
+ { ID id-MulticastMRBs-ToBeModified-List CRITICALITY reject TYPE MulticastMRBs-ToBeModified-List PRESENCE optional }|
+ { ID id-MulticastMRBs-ToBeReleased-List CRITICALITY reject TYPE MulticastMRBs-ToBeReleased-List PRESENCE optional },
+ ...
+}
+
+MulticastMRBs-ToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-ToBeSetupMod-ItemIEs} }
+MulticastMRBs-ToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-ToBeSetupMod-Item CRITICALITY reject TYPE MulticastMRBs-ToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+MulticastMRBs-ToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-ToBeModified-ItemIEs} }
+MulticastMRBs-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-ToBeModified-Item CRITICALITY reject TYPE MulticastMRBs-ToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+
+MulticastMRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-ToBeReleased-ItemIEs} }
+MulticastMRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-ToBeReleased-Item CRITICALITY reject TYPE MulticastMRBs-ToBeReleased-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT MODIFICATION RESPONSE
+--
+-- **************************************************************
+
+MulticastContextModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastContextModificationResponseIEs}},
+ ...
+}
+
+MulticastContextModificationResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-MulticastMRBs-SetupMod-List CRITICALITY reject TYPE MulticastMRBs-SetupMod-List PRESENCE optional }|
+ { ID id-MulticastMRBs-FailedToBeSetupMod-List CRITICALITY ignore TYPE MulticastMRBs-FailedToBeSetupMod-List PRESENCE optional }|
+ { ID id-MulticastMRBs-Modified-List CRITICALITY reject TYPE MulticastMRBs-Modified-List PRESENCE optional }|
+ { ID id-MulticastMRBs-FailedToBeModified-List CRITICALITY ignore TYPE MulticastMRBs-FailedToBeModified-List PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+MulticastMRBs-SetupMod-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-SetupMod-ItemIEs} }
+MulticastMRBs-SetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-SetupMod-Item CRITICALITY reject TYPE MulticastMRBs-SetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+MulticastMRBs-FailedToBeSetupMod-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-FailedToBeSetupMod-ItemIEs} }
+MulticastMRBs-FailedToBeSetupMod-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-FailedToBeSetupMod-Item CRITICALITY ignore TYPE MulticastMRBs-FailedToBeSetupMod-Item PRESENCE mandatory},
+ ...
+}
+
+MulticastMRBs-Modified-List::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-Modified-ItemIEs } }
+MulticastMRBs-Modified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-Modified-Item CRITICALITY reject TYPE MulticastMRBs-Modified-Item PRESENCE mandatory},
+ ...
+}
+
+MulticastMRBs-FailedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastMRBs-FailedToBeModified-ItemIEs} }
+MulticastMRBs-FailedToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastMRBs-FailedToBeModified-Item CRITICALITY ignore TYPE MulticastMRBs-FailedToBeModified-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST CONTEXT MODIFICATION FAILURE
+--
+-- **************************************************************
+
+MulticastContextModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastContextModificationFailureIEs}},
+ ...
+}
+
+MulticastContextModificationFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST DISTRIBUTION SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- MULTICAST DISTRIBUTION SETUP REQUEST
+--
+-- **************************************************************
+
+MulticastDistributionSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastDistributionSetupRequestIEs}},
+ ...
+}
+
+MulticastDistributionSetupRequestIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-MBSMulticastF1UContextDescriptor CRITICALITY reject TYPE MBSMulticastF1UContextDescriptor PRESENCE mandatory }|
+ { ID id-MulticastF1UContext-ToBeSetup-List CRITICALITY reject TYPE MulticastF1UContext-ToBeSetup-List PRESENCE mandatory },
+ ...
+}
+
+MulticastF1UContext-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF
+ ProtocolIE-SingleContainer { { MulticastF1UContext-ToBeSetup-ItemIEs} }
+MulticastF1UContext-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastF1UContext-ToBeSetup-Item CRITICALITY reject TYPE MulticastF1UContext-ToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST DISTRIBUTION SETUP RESPONSE
+--
+-- **************************************************************
+
+MulticastDistributionSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastDistributionSetupResponseIEs}},
+ ...
+}
+
+MulticastDistributionSetupResponseIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory}|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory}|
+ { ID id-MBSMulticastF1UContextDescriptor CRITICALITY reject TYPE MBSMulticastF1UContextDescriptor PRESENCE mandatory}|
+ { ID id-MulticastF1UContext-Setup-List CRITICALITY reject TYPE MulticastF1UContext-Setup-List PRESENCE mandatory}|
+ { ID id-MulticastF1UContext-FailedToBeSetup-List CRITICALITY ignore TYPE MulticastF1UContext-FailedToBeSetup-List PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-MulticastF1UContextReferenceCU CRITICALITY reject TYPE MulticastF1UContextReferenceCU PRESENCE mandatory},
+ ...
+}
+
+MulticastF1UContext-Setup-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF ProtocolIE-SingleContainer { { MulticastF1UContext-Setup-ItemIEs} }
+MulticastF1UContext-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastF1UContext-Setup-Item CRITICALITY reject TYPE MulticastF1UContext-Setup-Item PRESENCE mandatory},
+ ...
+}
+
+MulticastF1UContext-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF
+ ProtocolIE-SingleContainer { { MulticastF1UContext-FailedToBeSetup-ItemIEs} }
+MulticastF1UContext-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-MulticastF1UContext-FailedToBeSetup-Item CRITICALITY ignore TYPE MulticastF1UContext-FailedToBeSetup-Item PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST DISTRIBUTION SETUP FAILURE
+--
+-- **************************************************************
+
+MulticastDistributionSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastDistributionSetupFailureIEs}},
+ ...
+}
+
+MulticastDistributionSetupFailureIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY ignore TYPE GNB-DU-MBS-F1AP-ID PRESENCE optional }|
+ { ID id-MBSMulticastF1UContextDescriptor CRITICALITY reject TYPE MBSMulticastF1UContextDescriptor PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST DISTRIBUTION RELEASE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- MULTICAST DISTRIBUTION RELEASE COMMAND
+--
+-- **************************************************************
+
+MulticastDistributionReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastDistributionReleaseCommandIEs}},
+ ...
+}
+
+MulticastDistributionReleaseCommandIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-MBSMulticastF1UContextDescriptor CRITICALITY reject TYPE MBSMulticastF1UContextDescriptor PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MULTICAST DISTRIBUTION RELEASE COMPLETE
+--
+-- **************************************************************
+
+MulticastDistributionReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MulticastDistributionReleaseCompleteIEs}},
+ ...
+}
+
+MulticastDistributionReleaseCompleteIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-CU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-MBS-F1AP-ID CRITICALITY reject TYPE GNB-DU-MBS-F1AP-ID PRESENCE mandatory }|
+ { ID id-MBSMulticastF1UContextDescriptor CRITICALITY reject TYPE MBSMulticastF1UContextDescriptor PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDC MEASUREMENT PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDC Measurement Initiation Request
+--
+-- **************************************************************
+
+PDCMeasurementInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PDCMeasurementInitiationRequest-IEs}},
+ ...
+}
+
+PDCMeasurementInitiationRequest-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-PDC-MeasID CRITICALITY reject TYPE RAN-UE-PDC-MeasID PRESENCE mandatory }|
+ { ID id-PDCReportType CRITICALITY reject TYPE PDCReportType PRESENCE mandatory }|
+ { ID id-PDCMeasurementPeriodicity CRITICALITY reject TYPE PDCMeasurementPeriodicity PRESENCE conditional }|
+-- The above IE shall be present if the PDCReportType IE is set to “periodic†–-
+ { ID id-PDCMeasurementQuantities CRITICALITY reject TYPE PDCMeasurementQuantities PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PDC Measurement Initiation Response
+--
+-- **************************************************************
+
+PDCMeasurementInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PDCMeasurementInitiationResponse-IEs}},
+ ...
+}
+
+PDCMeasurementInitiationResponse-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-PDC-MeasID CRITICALITY reject TYPE RAN-UE-PDC-MeasID PRESENCE mandatory }|
+ { ID id-PDCMeasurementResult CRITICALITY ignore TYPE PDCMeasurementResult PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PDC Measurement Initiation Failure
+--
+-- **************************************************************
+
+PDCMeasurementInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PDCMeasurementInitiationFailure-IEs}},
+ ...
+}
+
+PDCMeasurementInitiationFailure-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-PDC-MeasID CRITICALITY ignore TYPE RAN-UE-PDC-MeasID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PDC MEASUREMENT REPORT PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDC Measurement Report
+--
+-- **************************************************************
+
+PDCMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PDCMeasurementReport-IEs}},
+ ...
+}
+
+PDCMeasurementReport-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-PDC-MeasID CRITICALITY reject TYPE RAN-UE-PDC-MeasID PRESENCE mandatory }|
+ { ID id-PDCMeasurementResult CRITICALITY ignore TYPE PDCMeasurementResult PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PDC MEASUREMENT TERMINATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDC Measurement Termination
+--
+-- **************************************************************
+
+PDCMeasurementTerminationCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PDCMeasurementTerminationCommand-IEs} },
+ ...
+}
+
+
+PDCMeasurementTerminationCommand-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-PDC-MeasID CRITICALITY ignore TYPE RAN-UE-PDC-MeasID PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDC MEASUREMENT FAILURE INDICATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDC Measurement Failure Indication
+--
+-- **************************************************************
+
+
+PDCMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PDCMeasurementFailureIndication-IEs} },
+ ...
+}
+
+PDCMeasurementFailureIndication-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-PDC-MeasID CRITICALITY ignore TYPE RAN-UE-PDC-MeasID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PRS CONFIGURATION REQUEST
+--
+-- **************************************************************
+
+PRSConfigurationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PRSConfigurationRequest-IEs}},
+ ...
+}
+
+PRSConfigurationRequest-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-PRSConfigRequestType CRITICALITY reject TYPE PRSConfigRequestType PRESENCE mandatory }|
+ { ID id-PRSTRPList CRITICALITY ignore TYPE PRSTRPList PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PRS CONFIGURATION RESPONSE
+--
+-- **************************************************************
+
+PRSConfigurationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PRSConfigurationResponse-IEs}},
+ ...
+}
+
+PRSConfigurationResponse-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+ { ID id-PRSTransmissionTRPList CRITICALITY ignore TYPE PRSTransmissionTRPList PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PRS CONFIGURATION FAILURE
+--
+-- **************************************************************
+
+PRSConfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PRSConfigurationFailure-IEs}},
+ ...
+}
+
+PRSConfigurationFailure-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MEASUREMENT PRECONFIGURATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Positioning Preconfiguration Required
+--
+-- **************************************************************
+
+MeasurementPreconfigurationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MeasurementPreconfigurationRequired-IEs}},
+ ...
+}
+
+MeasurementPreconfigurationRequired-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory}|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory}|
+ { ID id-TRP-PRS-Info-List CRITICALITY ignore TYPE TRP-PRS-Info-List PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Positioning Preconfiguration Confirm
+--
+-- **************************************************************
+
+MeasurementPreconfigurationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MeasurementPreconfigurationConfirm-IEs} },
+ ...
+}
+
+
+MeasurementPreconfigurationConfirm-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-PosMeasGapPreConfigList CRITICALITY ignore TYPE PosMeasGapPreConfigList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+
+
+-- **************************************************************
+--
+-- Positioning Preconfiguration Refuse
+--
+-- **************************************************************
+
+MeasurementPreconfigurationRefuse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MeasurementPreconfigurationRefuse-IEs} },
+ ...
+}
+
+MeasurementPreconfigurationRefuse-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MEASUREMENT ACTIVATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Measurement Activation
+--
+-- **************************************************************
+
+MeasurementActivation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MeasurementActivation-IEs} },
+ ...
+}
+
+MeasurementActivation-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-ActivationRequestType CRITICALITY reject TYPE ActivationRequestType PRESENCE mandatory}|
+ { ID id-PRS-Measurement-Info-List CRITICALITY ignore TYPE PRS-Measurement-Info-List PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- QOE INFORMATION TRANSFER
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- QoE Information Transfer
+--
+-- **************************************************************
+
+
+QoEInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{QoEInformationTransfer-IEs}},
+ ...
+}
+
+
+QoEInformationTransfer-IEs F1AP-PROTOCOL-IES ::= {
+ { ID id-gNB-CU-UE-F1AP-ID CRITICALITY reject TYPE GNB-CU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-gNB-DU-UE-F1AP-ID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory }|
+ { ID id-QoEInformation CRITICALITY ignore TYPE QoEInformation PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Positioning System information Delivery Command
+--
+-- **************************************************************
+
+PosSystemInformationDeliveryCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PosSystemInformationDeliveryCommandIEs}},
+ ...
+}
+
+PosSystemInformationDeliveryCommandIEs F1AP-PROTOCOL-IES ::= {
+ { ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
+ { ID id-NRCGI CRITICALITY reject TYPE NRCGI PRESENCE mandatory }|
+ { ID id-PosSItypeList CRITICALITY reject TYPE PosSItypeList PRESENCE mandatory }|
+ { ID id-ConfirmedUEID CRITICALITY reject TYPE GNB-DU-UE-F1AP-ID PRESENCE mandatory },
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn b/epan/dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn
new file mode 100644
index 00000000..25975fb9
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/F1AP-PDU-Descriptions.asn
@@ -0,0 +1,956 @@
+-- 3GPP TS 38.473 V17.5.0 (2023-06)
+-- 9.4.3 Elementary Procedure Definitions
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+F1AP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+
+FROM F1AP-CommonDataTypes
+ Reset,
+ ResetAcknowledge,
+ F1SetupRequest,
+ F1SetupResponse,
+ F1SetupFailure,
+ GNBDUConfigurationUpdate,
+ GNBDUConfigurationUpdateAcknowledge,
+ GNBDUConfigurationUpdateFailure,
+ GNBCUConfigurationUpdate,
+ GNBCUConfigurationUpdateAcknowledge,
+ GNBCUConfigurationUpdateFailure,
+ UEContextSetupRequest,
+ UEContextSetupResponse,
+ UEContextSetupFailure,
+ UEContextReleaseCommand,
+ UEContextReleaseComplete,
+ UEContextModificationRequest,
+ UEContextModificationResponse,
+ UEContextModificationFailure,
+ UEContextModificationRequired,
+ UEContextModificationConfirm,
+ ErrorIndication,
+ UEContextReleaseRequest,
+ DLRRCMessageTransfer,
+ ULRRCMessageTransfer,
+ GNBDUResourceCoordinationRequest,
+ GNBDUResourceCoordinationResponse,
+ PrivateMessage,
+ UEInactivityNotification,
+ InitialULRRCMessageTransfer,
+ SystemInformationDeliveryCommand,
+ Paging,
+ Notify,
+ WriteReplaceWarningRequest,
+ WriteReplaceWarningResponse,
+ PWSCancelRequest,
+ PWSCancelResponse,
+ PWSRestartIndication,
+ PWSFailureIndication,
+ GNBDUStatusIndication,
+ RRCDeliveryReport,
+ UEContextModificationRefuse,
+ F1RemovalRequest,
+ F1RemovalResponse,
+ F1RemovalFailure,
+ NetworkAccessRateReduction,
+ TraceStart,
+ DeactivateTrace,
+ DUCURadioInformationTransfer,
+ CUDURadioInformationTransfer,
+ BAPMappingConfiguration,
+ BAPMappingConfigurationAcknowledge,
+ BAPMappingConfigurationFailure,
+ GNBDUResourceConfiguration,
+ GNBDUResourceConfigurationAcknowledge,
+ GNBDUResourceConfigurationFailure,
+ IABTNLAddressRequest,
+ IABTNLAddressResponse,
+ IABTNLAddressFailure,
+ IABUPConfigurationUpdateRequest,
+ IABUPConfigurationUpdateResponse,
+ IABUPConfigurationUpdateFailure,
+ ResourceStatusRequest,
+ ResourceStatusResponse,
+ ResourceStatusFailure,
+ ResourceStatusUpdate,
+ AccessAndMobilityIndication,
+ ReferenceTimeInformationReportingControl,
+ ReferenceTimeInformationReport,
+ AccessSuccess,
+ CellTrafficTrace,
+ PositioningMeasurementRequest,
+ PositioningMeasurementResponse,
+ PositioningMeasurementFailure,
+ PositioningAssistanceInformationControl,
+ PositioningAssistanceInformationFeedback,
+ PositioningMeasurementReport,
+ PositioningMeasurementAbort,
+ PositioningMeasurementFailureIndication,
+ PositioningMeasurementUpdate,
+ TRPInformationRequest,
+ TRPInformationResponse,
+ TRPInformationFailure,
+ PositioningInformationRequest,
+ PositioningInformationResponse,
+ PositioningInformationFailure,
+ PositioningActivationRequest,
+ PositioningActivationResponse,
+ PositioningActivationFailure,
+ PositioningDeactivation,
+ PositioningInformationUpdate,
+ E-CIDMeasurementInitiationRequest,
+ E-CIDMeasurementInitiationResponse,
+ E-CIDMeasurementInitiationFailure,
+ E-CIDMeasurementFailureIndication,
+ E-CIDMeasurementReport,
+ E-CIDMeasurementTerminationCommand,
+ BroadcastContextSetupRequest,
+ BroadcastContextSetupResponse,
+ BroadcastContextSetupFailure,
+ BroadcastContextReleaseCommand,
+ BroadcastContextReleaseComplete,
+ BroadcastContextReleaseRequest,
+ BroadcastContextModificationRequest,
+ BroadcastContextModificationResponse,
+ BroadcastContextModificationFailure,
+ MulticastGroupPaging,
+ MulticastContextSetupRequest,
+ MulticastContextSetupResponse,
+ MulticastContextSetupFailure,
+ MulticastContextReleaseCommand,
+ MulticastContextReleaseComplete,
+ MulticastContextReleaseRequest,
+ MulticastContextModificationRequest,
+ MulticastContextModificationResponse,
+ MulticastContextModificationFailure,
+ MulticastDistributionSetupRequest,
+ MulticastDistributionSetupResponse,
+ MulticastDistributionSetupFailure,
+ MulticastDistributionReleaseCommand,
+ MulticastDistributionReleaseComplete,
+ PDCMeasurementInitiationRequest,
+ PDCMeasurementInitiationResponse,
+ PDCMeasurementInitiationFailure,
+ PDCMeasurementReport,
+ PDCMeasurementTerminationCommand,
+ PDCMeasurementFailureIndication,
+ PRSConfigurationRequest,
+ PRSConfigurationResponse,
+ PRSConfigurationFailure,
+ MeasurementPreconfigurationRequired,
+ MeasurementPreconfigurationConfirm,
+ MeasurementPreconfigurationRefuse,
+ MeasurementActivation,
+ QoEInformationTransfer,
+ PosSystemInformationDeliveryCommand
+
+
+
+
+FROM F1AP-PDU-Contents
+ id-Reset,
+ id-F1Setup,
+ id-gNBDUConfigurationUpdate,
+ id-gNBCUConfigurationUpdate,
+ id-UEContextSetup,
+ id-UEContextRelease,
+ id-UEContextModification,
+ id-UEContextModificationRequired,
+ id-ErrorIndication,
+ id-UEContextReleaseRequest,
+ id-DLRRCMessageTransfer,
+ id-ULRRCMessageTransfer,
+ id-GNBDUResourceCoordination,
+ id-privateMessage,
+ id-UEInactivityNotification,
+ id-InitialULRRCMessageTransfer,
+ id-SystemInformationDeliveryCommand,
+ id-Paging,
+ id-Notify,
+ id-WriteReplaceWarning,
+ id-PWSCancel,
+ id-PWSRestartIndication,
+ id-PWSFailureIndication,
+ id-GNBDUStatusIndication,
+ id-RRCDeliveryReport,
+ id-F1Removal,
+ id-NetworkAccessRateReduction,
+ id-TraceStart,
+ id-DeactivateTrace,
+ id-DUCURadioInformationTransfer,
+ id-CUDURadioInformationTransfer,
+ id-BAPMappingConfiguration,
+ id-GNBDUResourceConfiguration,
+ id-IABTNLAddressAllocation,
+ id-IABUPConfigurationUpdate,
+ id-resourceStatusReportingInitiation,
+ id-resourceStatusReporting,
+ id-accessAndMobilityIndication,
+ id-ReferenceTimeInformationReportingControl,
+ id-ReferenceTimeInformationReport,
+ id-accessSuccess,
+ id-cellTrafficTrace,
+ id-PositioningMeasurementExchange,
+ id-PositioningAssistanceInformationControl,
+ id-PositioningAssistanceInformationFeedback,
+ id-PositioningMeasurementReport,
+ id-PositioningMeasurementAbort,
+ id-PositioningMeasurementFailureIndication,
+ id-PositioningMeasurementUpdate,
+ id-TRPInformationExchange,
+ id-PositioningInformationExchange,
+ id-PositioningActivation,
+ id-PositioningDeactivation,
+ id-PositioningInformationUpdate,
+ id-E-CIDMeasurementInitiation,
+ id-E-CIDMeasurementFailureIndication,
+ id-E-CIDMeasurementReport,
+ id-E-CIDMeasurementTermination,
+ id-BroadcastContextSetup,
+ id-BroadcastContextRelease,
+ id-BroadcastContextReleaseRequest,
+ id-BroadcastContextModification,
+ id-MulticastGroupPaging,
+ id-MulticastContextSetup,
+ id-MulticastContextRelease,
+ id-MulticastContextReleaseRequest,
+ id-MulticastContextModification,
+ id-MulticastDistributionSetup,
+ id-MulticastDistributionRelease,
+ id-PDCMeasurementInitiation,
+ id-PDCMeasurementInitiationRequest,
+ id-PDCMeasurementInitiationResponse,
+ id-PDCMeasurementInitiationFailure,
+ id-PDCMeasurementTerminationCommand,
+ id-PDCMeasurementFailureIndication,
+ id-PDCMeasurementReport,
+ id-pRSConfigurationExchange,
+ id-measurementPreconfiguration,
+ id-measurementActivation,
+ id-QoEInformationTransfer,
+ id-PosSystemInformationDeliveryCommand
+
+
+FROM F1AP-Constants
+
+ ProtocolIE-SingleContainer{},
+ F1AP-PROTOCOL-IES
+
+FROM F1AP-Containers;
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+F1AP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+F1AP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ choice-extension ProtocolIE-SingleContainer { { F1AP-PDU-ExtIEs} }
+}
+
+F1AP-PDU-ExtIEs F1AP-PROTOCOL-IES ::= { -- this extension is not used
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode F1AP-ELEMENTARY-PROCEDURE.&procedureCode ({F1AP-ELEMENTARY-PROCEDURES}),
+ criticality F1AP-ELEMENTARY-PROCEDURE.&criticality ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value F1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode F1AP-ELEMENTARY-PROCEDURE.&procedureCode ({F1AP-ELEMENTARY-PROCEDURES}),
+ criticality F1AP-ELEMENTARY-PROCEDURE.&criticality ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value F1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode F1AP-ELEMENTARY-PROCEDURE.&procedureCode ({F1AP-ELEMENTARY-PROCEDURES}),
+ criticality F1AP-ELEMENTARY-PROCEDURE.&criticality ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value F1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+F1AP-ELEMENTARY-PROCEDURES F1AP-ELEMENTARY-PROCEDURE ::= {
+ F1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ F1AP-ELEMENTARY-PROCEDURES-CLASS-2,
+ ...
+}
+
+
+F1AP-ELEMENTARY-PROCEDURES-CLASS-1 F1AP-ELEMENTARY-PROCEDURE ::= {
+ reset |
+ f1Setup |
+ gNBDUConfigurationUpdate |
+ gNBCUConfigurationUpdate |
+ uEContextSetup |
+ uEContextRelease |
+ uEContextModification |
+ uEContextModificationRequired |
+ writeReplaceWarning |
+ pWSCancel |
+ gNBDUResourceCoordination |
+ f1Removal |
+ bAPMappingConfiguration |
+ gNBDUResourceConfiguration |
+ iABTNLAddressAllocation |
+ iABUPConfigurationUpdate |
+ resourceStatusReportingInitiation |
+ positioningMeasurementExchange |
+ tRPInformationExchange |
+ positioningInformationExchange |
+ positioningActivation |
+ e-CIDMeasurementInitiation |
+ broadcastContextSetup |
+ broadcastContextRelease |
+ broadcastContextModification|
+ multicastContextSetup |
+ multicastContextRelease |
+ multicastContextModification |
+ multicastDistributionSetup |
+ multicastDistributionRelease |
+ pDCMeasurementInitiation |
+ pRSConfigurationExchange |
+ measurementPreconfiguration ,
+ ...
+}
+
+F1AP-ELEMENTARY-PROCEDURES-CLASS-2 F1AP-ELEMENTARY-PROCEDURE ::= {
+ errorIndication |
+ uEContextReleaseRequest |
+ dLRRCMessageTransfer |
+ uLRRCMessageTransfer |
+ uEInactivityNotification |
+ privateMessage |
+ initialULRRCMessageTransfer |
+ systemInformationDelivery |
+ paging |
+ notify |
+ pWSRestartIndication |
+ pWSFailureIndication |
+ gNBDUStatusIndication |
+ rRCDeliveryReport |
+ networkAccessRateReduction |
+ traceStart |
+ deactivateTrace |
+ dUCURadioInformationTransfer |
+ cUDURadioInformationTransfer |
+ resourceStatusReporting |
+ accessAndMobilityIndication |
+ referenceTimeInformationReportingControl|
+ referenceTimeInformationReport |
+ accessSuccess |
+ cellTrafficTrace |
+ positioningAssistanceInformationControl |
+ positioningAssistanceInformationFeedback |
+ positioningMeasurementReport |
+ positioningMeasurementAbort |
+ positioningMeasurementFailureIndication |
+ positioningMeasurementUpdate |
+ positioningDeactivation |
+ e-CIDMeasurementFailureIndication |
+ e-CIDMeasurementReport |
+ e-CIDMeasurementTermination |
+ positioningInformationUpdate |
+ multicastGroupPaging |
+ broadcastContextReleaseRequest |
+ multicastContextReleaseRequest |
+ pDCMeasurementReport |
+ pDCMeasurementTerminationCommand |
+ pDCMeasurementFailureIndication |
+ measurementActivation |
+ qoEInformationTransfer |
+ posSystemInformationDelivery,
+ ...
+}
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+reset F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Reset
+ SUCCESSFUL OUTCOME ResetAcknowledge
+ PROCEDURE CODE id-Reset
+ CRITICALITY reject
+}
+
+f1Setup F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE F1SetupRequest
+ SUCCESSFUL OUTCOME F1SetupResponse
+ UNSUCCESSFUL OUTCOME F1SetupFailure
+ PROCEDURE CODE id-F1Setup
+ CRITICALITY reject
+}
+
+gNBDUConfigurationUpdate F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNBDUConfigurationUpdate
+ SUCCESSFUL OUTCOME GNBDUConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME GNBDUConfigurationUpdateFailure
+ PROCEDURE CODE id-gNBDUConfigurationUpdate
+ CRITICALITY reject
+}
+
+gNBCUConfigurationUpdate F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNBCUConfigurationUpdate
+ SUCCESSFUL OUTCOME GNBCUConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME GNBCUConfigurationUpdateFailure
+ PROCEDURE CODE id-gNBCUConfigurationUpdate
+ CRITICALITY reject
+}
+
+uEContextSetup F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextSetupRequest
+ SUCCESSFUL OUTCOME UEContextSetupResponse
+ UNSUCCESSFUL OUTCOME UEContextSetupFailure
+ PROCEDURE CODE id-UEContextSetup
+ CRITICALITY reject
+}
+
+uEContextRelease F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextReleaseCommand
+ SUCCESSFUL OUTCOME UEContextReleaseComplete
+ PROCEDURE CODE id-UEContextRelease
+ CRITICALITY reject
+}
+
+uEContextModification F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextModificationRequest
+ SUCCESSFUL OUTCOME UEContextModificationResponse
+ UNSUCCESSFUL OUTCOME UEContextModificationFailure
+ PROCEDURE CODE id-UEContextModification
+ CRITICALITY reject
+}
+
+uEContextModificationRequired F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextModificationRequired
+ SUCCESSFUL OUTCOME UEContextModificationConfirm
+ UNSUCCESSFUL OUTCOME UEContextModificationRefuse
+ PROCEDURE CODE id-UEContextModificationRequired
+ CRITICALITY reject
+}
+
+writeReplaceWarning F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE WriteReplaceWarningRequest
+ SUCCESSFUL OUTCOME WriteReplaceWarningResponse
+ PROCEDURE CODE id-WriteReplaceWarning
+ CRITICALITY reject
+}
+
+pWSCancel F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWSCancelRequest
+ SUCCESSFUL OUTCOME PWSCancelResponse
+ PROCEDURE CODE id-PWSCancel
+ CRITICALITY reject
+}
+
+errorIndication F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-ErrorIndication
+ CRITICALITY ignore
+}
+
+uEContextReleaseRequest F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextReleaseRequest
+ PROCEDURE CODE id-UEContextReleaseRequest
+ CRITICALITY ignore
+}
+
+
+initialULRRCMessageTransfer F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InitialULRRCMessageTransfer
+ PROCEDURE CODE id-InitialULRRCMessageTransfer
+ CRITICALITY ignore
+}
+
+dLRRCMessageTransfer F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DLRRCMessageTransfer
+ PROCEDURE CODE id-DLRRCMessageTransfer
+ CRITICALITY ignore
+}
+
+uLRRCMessageTransfer F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ULRRCMessageTransfer
+ PROCEDURE CODE id-ULRRCMessageTransfer
+ CRITICALITY ignore
+}
+
+
+uEInactivityNotification F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEInactivityNotification
+ PROCEDURE CODE id-UEInactivityNotification
+ CRITICALITY ignore
+}
+
+gNBDUResourceCoordination F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNBDUResourceCoordinationRequest
+ SUCCESSFUL OUTCOME GNBDUResourceCoordinationResponse
+ PROCEDURE CODE id-GNBDUResourceCoordination
+ CRITICALITY reject
+}
+
+privateMessage F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+systemInformationDelivery F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SystemInformationDeliveryCommand
+ PROCEDURE CODE id-SystemInformationDeliveryCommand
+ CRITICALITY ignore
+}
+
+
+paging F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Paging
+ PROCEDURE CODE id-Paging
+ CRITICALITY ignore
+}
+
+notify F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Notify
+ PROCEDURE CODE id-Notify
+ CRITICALITY ignore
+}
+
+networkAccessRateReduction F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE NetworkAccessRateReduction
+ PROCEDURE CODE id-NetworkAccessRateReduction
+ CRITICALITY ignore
+}
+
+
+pWSRestartIndication F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWSRestartIndication
+ PROCEDURE CODE id-PWSRestartIndication
+ CRITICALITY ignore
+}
+
+pWSFailureIndication F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWSFailureIndication
+ PROCEDURE CODE id-PWSFailureIndication
+ CRITICALITY ignore
+}
+
+gNBDUStatusIndication F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNBDUStatusIndication
+ PROCEDURE CODE id-GNBDUStatusIndication
+ CRITICALITY ignore
+}
+
+
+rRCDeliveryReport F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RRCDeliveryReport
+ PROCEDURE CODE id-RRCDeliveryReport
+ CRITICALITY ignore
+}
+
+f1Removal F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE F1RemovalRequest
+ SUCCESSFUL OUTCOME F1RemovalResponse
+ UNSUCCESSFUL OUTCOME F1RemovalFailure
+ PROCEDURE CODE id-F1Removal
+ CRITICALITY reject
+}
+
+traceStart F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TraceStart
+ PROCEDURE CODE id-TraceStart
+ CRITICALITY ignore
+}
+
+deactivateTrace F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DeactivateTrace
+ PROCEDURE CODE id-DeactivateTrace
+ CRITICALITY ignore
+}
+
+dUCURadioInformationTransfer F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DUCURadioInformationTransfer
+ PROCEDURE CODE id-DUCURadioInformationTransfer
+ CRITICALITY ignore
+}
+
+cUDURadioInformationTransfer F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CUDURadioInformationTransfer
+ PROCEDURE CODE id-CUDURadioInformationTransfer
+ CRITICALITY ignore
+}
+
+bAPMappingConfiguration F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BAPMappingConfiguration
+ SUCCESSFUL OUTCOME BAPMappingConfigurationAcknowledge
+ UNSUCCESSFUL OUTCOME BAPMappingConfigurationFailure
+ PROCEDURE CODE id-BAPMappingConfiguration
+ CRITICALITY reject
+}
+
+gNBDUResourceConfiguration F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNBDUResourceConfiguration
+ SUCCESSFUL OUTCOME GNBDUResourceConfigurationAcknowledge
+ UNSUCCESSFUL OUTCOME GNBDUResourceConfigurationFailure
+ PROCEDURE CODE id-GNBDUResourceConfiguration
+ CRITICALITY reject
+}
+
+iABTNLAddressAllocation F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE IABTNLAddressRequest
+ SUCCESSFUL OUTCOME IABTNLAddressResponse
+ UNSUCCESSFUL OUTCOME IABTNLAddressFailure
+ PROCEDURE CODE id-IABTNLAddressAllocation
+ CRITICALITY reject
+}
+
+iABUPConfigurationUpdate F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE IABUPConfigurationUpdateRequest
+ SUCCESSFUL OUTCOME IABUPConfigurationUpdateResponse
+ UNSUCCESSFUL OUTCOME IABUPConfigurationUpdateFailure
+ PROCEDURE CODE id-IABUPConfigurationUpdate
+ CRITICALITY reject
+}
+
+resourceStatusReportingInitiation F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResourceStatusRequest
+ SUCCESSFUL OUTCOME ResourceStatusResponse
+ UNSUCCESSFUL OUTCOME ResourceStatusFailure
+ PROCEDURE CODE id-resourceStatusReportingInitiation
+ CRITICALITY reject
+}
+
+resourceStatusReporting F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResourceStatusUpdate
+ PROCEDURE CODE id-resourceStatusReporting
+ CRITICALITY ignore
+}
+
+accessAndMobilityIndication F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AccessAndMobilityIndication
+ PROCEDURE CODE id-accessAndMobilityIndication
+ CRITICALITY ignore
+}
+
+referenceTimeInformationReportingControl F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ReferenceTimeInformationReportingControl
+ PROCEDURE CODE id-ReferenceTimeInformationReportingControl
+ CRITICALITY ignore
+}
+
+referenceTimeInformationReport F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ReferenceTimeInformationReport
+ PROCEDURE CODE id-ReferenceTimeInformationReport
+ CRITICALITY ignore
+}
+
+accessSuccess F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AccessSuccess
+ PROCEDURE CODE id-accessSuccess
+ CRITICALITY ignore
+}
+
+cellTrafficTrace F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellTrafficTrace
+ PROCEDURE CODE id-cellTrafficTrace
+ CRITICALITY ignore
+}
+
+positioningAssistanceInformationControl F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningAssistanceInformationControl
+ PROCEDURE CODE id-PositioningAssistanceInformationControl
+ CRITICALITY ignore
+}
+
+positioningAssistanceInformationFeedback F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningAssistanceInformationFeedback
+ PROCEDURE CODE id-PositioningAssistanceInformationFeedback
+ CRITICALITY ignore
+}
+
+positioningMeasurementExchange F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningMeasurementRequest
+ SUCCESSFUL OUTCOME PositioningMeasurementResponse
+ UNSUCCESSFUL OUTCOME PositioningMeasurementFailure
+ PROCEDURE CODE id-PositioningMeasurementExchange
+ CRITICALITY reject
+}
+
+positioningMeasurementReport F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningMeasurementReport
+ PROCEDURE CODE id-PositioningMeasurementReport
+ CRITICALITY ignore
+}
+
+positioningMeasurementAbort F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningMeasurementAbort
+ PROCEDURE CODE id-PositioningMeasurementAbort
+ CRITICALITY ignore
+}
+
+positioningMeasurementFailureIndication F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningMeasurementFailureIndication
+ PROCEDURE CODE id-PositioningMeasurementFailureIndication
+ CRITICALITY ignore
+}
+
+positioningMeasurementUpdate F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningMeasurementUpdate
+ PROCEDURE CODE id-PositioningMeasurementUpdate
+ CRITICALITY ignore
+}
+
+
+tRPInformationExchange F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TRPInformationRequest
+ SUCCESSFUL OUTCOME TRPInformationResponse
+ UNSUCCESSFUL OUTCOME TRPInformationFailure
+ PROCEDURE CODE id-TRPInformationExchange
+ CRITICALITY reject
+}
+
+positioningInformationExchange F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningInformationRequest
+ SUCCESSFUL OUTCOME PositioningInformationResponse
+ UNSUCCESSFUL OUTCOME PositioningInformationFailure
+ PROCEDURE CODE id-PositioningInformationExchange
+ CRITICALITY reject
+}
+
+positioningActivation F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningActivationRequest
+ SUCCESSFUL OUTCOME PositioningActivationResponse
+ UNSUCCESSFUL OUTCOME PositioningActivationFailure
+ PROCEDURE CODE id-PositioningActivation
+ CRITICALITY reject
+}
+
+positioningDeactivation F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningDeactivation
+ PROCEDURE CODE id-PositioningDeactivation
+ CRITICALITY ignore
+}
+
+e-CIDMeasurementInitiation F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementInitiationRequest
+ SUCCESSFUL OUTCOME E-CIDMeasurementInitiationResponse
+ UNSUCCESSFUL OUTCOME E-CIDMeasurementInitiationFailure
+ PROCEDURE CODE id-E-CIDMeasurementInitiation
+ CRITICALITY reject
+}
+
+e-CIDMeasurementFailureIndication F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementFailureIndication
+ PROCEDURE CODE id-E-CIDMeasurementFailureIndication
+ CRITICALITY ignore
+}
+
+e-CIDMeasurementReport F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementReport
+ PROCEDURE CODE id-E-CIDMeasurementReport
+ CRITICALITY ignore
+}
+
+e-CIDMeasurementTermination F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementTerminationCommand
+ PROCEDURE CODE id-E-CIDMeasurementTermination
+ CRITICALITY ignore
+}
+
+positioningInformationUpdate F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningInformationUpdate
+ PROCEDURE CODE id-PositioningInformationUpdate
+ CRITICALITY ignore
+}
+
+broadcastContextSetup F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BroadcastContextSetupRequest
+ SUCCESSFUL OUTCOME BroadcastContextSetupResponse
+ UNSUCCESSFUL OUTCOME BroadcastContextSetupFailure
+ PROCEDURE CODE id-BroadcastContextSetup
+ CRITICALITY reject
+}
+
+broadcastContextRelease F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BroadcastContextReleaseCommand
+ SUCCESSFUL OUTCOME BroadcastContextReleaseComplete
+ PROCEDURE CODE id-BroadcastContextRelease
+ CRITICALITY reject
+}
+
+broadcastContextReleaseRequest F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BroadcastContextReleaseRequest
+ PROCEDURE CODE id-BroadcastContextReleaseRequest
+ CRITICALITY reject
+}
+
+broadcastContextModification F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BroadcastContextModificationRequest
+ SUCCESSFUL OUTCOME BroadcastContextModificationResponse
+ UNSUCCESSFUL OUTCOME BroadcastContextModificationFailure
+ PROCEDURE CODE id-BroadcastContextModification
+ CRITICALITY reject
+}
+
+multicastGroupPaging F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastGroupPaging
+ PROCEDURE CODE id-MulticastGroupPaging
+ CRITICALITY ignore
+}
+
+
+multicastContextSetup F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastContextSetupRequest
+ SUCCESSFUL OUTCOME MulticastContextSetupResponse
+ UNSUCCESSFUL OUTCOME MulticastContextSetupFailure
+ PROCEDURE CODE id-MulticastContextSetup
+ CRITICALITY reject
+}
+
+multicastContextRelease F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastContextReleaseCommand
+ SUCCESSFUL OUTCOME MulticastContextReleaseComplete
+ PROCEDURE CODE id-MulticastContextRelease
+ CRITICALITY reject
+}
+
+multicastContextReleaseRequest F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastContextReleaseRequest
+ PROCEDURE CODE id-MulticastContextReleaseRequest
+ CRITICALITY reject
+}
+
+multicastContextModification F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastContextModificationRequest
+ SUCCESSFUL OUTCOME MulticastContextModificationResponse
+ UNSUCCESSFUL OUTCOME MulticastContextModificationFailure
+ PROCEDURE CODE id-MulticastContextModification
+ CRITICALITY reject
+}
+
+multicastDistributionSetup F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastDistributionSetupRequest
+ SUCCESSFUL OUTCOME MulticastDistributionSetupResponse
+ UNSUCCESSFUL OUTCOME MulticastDistributionSetupFailure
+ PROCEDURE CODE id-MulticastDistributionSetup
+ CRITICALITY reject
+}
+
+multicastDistributionRelease F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastDistributionReleaseCommand
+ SUCCESSFUL OUTCOME MulticastDistributionReleaseComplete
+ PROCEDURE CODE id-MulticastDistributionRelease
+ CRITICALITY reject
+}
+
+
+pDCMeasurementInitiation F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PDCMeasurementInitiationRequest
+ SUCCESSFUL OUTCOME PDCMeasurementInitiationResponse
+ UNSUCCESSFUL OUTCOME PDCMeasurementInitiationFailure
+ PROCEDURE CODE id-PDCMeasurementInitiation
+ CRITICALITY reject
+}
+
+pDCMeasurementReport F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PDCMeasurementReport
+ PROCEDURE CODE id-PDCMeasurementReport
+ CRITICALITY ignore
+}
+
+pDCMeasurementTerminationCommand F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PDCMeasurementTerminationCommand
+ PROCEDURE CODE id-PDCMeasurementTerminationCommand
+ CRITICALITY ignore
+}
+
+pDCMeasurementFailureIndication F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PDCMeasurementFailureIndication
+ PROCEDURE CODE id-PDCMeasurementFailureIndication
+ CRITICALITY ignore
+}
+
+pRSConfigurationExchange F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PRSConfigurationRequest
+ SUCCESSFUL OUTCOME PRSConfigurationResponse
+ UNSUCCESSFUL OUTCOME PRSConfigurationFailure
+ PROCEDURE CODE id-pRSConfigurationExchange
+ CRITICALITY reject
+}
+
+measurementPreconfiguration F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MeasurementPreconfigurationRequired
+ SUCCESSFUL OUTCOME MeasurementPreconfigurationConfirm
+ UNSUCCESSFUL OUTCOME MeasurementPreconfigurationRefuse
+ PROCEDURE CODE id-measurementPreconfiguration
+ CRITICALITY reject
+}
+
+
+measurementActivation F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MeasurementActivation
+ PROCEDURE CODE id-measurementActivation
+ CRITICALITY ignore
+}
+
+qoEInformationTransfer F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE QoEInformationTransfer
+ PROCEDURE CODE id-QoEInformationTransfer
+ CRITICALITY ignore
+}
+
+posSystemInformationDelivery F1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PosSystemInformationDeliveryCommand
+ PROCEDURE CODE id-PosSystemInformationDeliveryCommand
+ CRITICALITY ignore
+}
+
+
+END
diff --git a/epan/dissectors/asn1/f1ap/f1ap.cnf b/epan/dissectors/asn1/f1ap/f1ap.cnf
new file mode 100644
index 00000000..8165479b
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/f1ap.cnf
@@ -0,0 +1,3410 @@
+# f1ap.cnf
+# f1ap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.USE_VALS_EXT
+LongDRXCycleLength
+NRNRB
+ProcedureCode
+ProtocolIE-ID
+ShortDRXCycleLength
+
+#.EXPORTS
+NRPRACHConfig_PDU
+
+#.PDU
+F1AP-PDU
+NRPRACHConfig
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.NO_EMIT
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+Presence
+ProtocolIE-ContainerPair
+ProtocolIE-FieldPair
+PRS-ID
+#.END
+
+
+#.TYPE_RENAME
+
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+
+
+PrivateIE-Field/id private_id
+ProtocolExtensionField/id ext_id
+
+#PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+
+#.FN_BODY ProtocolIE-ID VAL_PTR=&f1ap_data->protocol_ie_id
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
+ val_to_str_ext(f1ap_data->protocol_ie_id, &f1ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_BODY ProtocolExtensionID VAL_PTR=&f1ap_data->protocol_extension_id
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_BODY ProcedureCode VAL_PTR = &f1ap_data->procedure_code
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ f1ap_data->message_type = INITIATING_MESSAGE;
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ f1ap_data->message_type = SUCCESSFUL_OUTCOME;
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ f1ap_data->message_type = UNSUCCESSFUL_OUTCOME;
+#.END
+
+#.FN_HDR PrivateIE-ID
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ f1ap_data->obj_id = NULL;
+
+#.FN_BODY PrivateIE-ID/global FN_VARIANT = _str VAL_PTR = &f1ap_data->obj_id
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_BODY PrivateIE-Field/value
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ if (f1ap_data->obj_id) {
+ offset = call_per_oid_callback(f1ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
+ } else {
+%(DEFAULT_BODY)s
+ }
+
+#.ASSIGN_VALUE_TO_TYPE # F1AP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+
+id-Reset ProcedureCode
+id-F1Setup ProcedureCode
+id-ErrorIndication ProcedureCode
+id-gNBDUConfigurationUpdate ProcedureCode
+id-gNBCUConfigurationUpdate ProcedureCode
+id-UEContextSetup ProcedureCode
+id-UEContextRelease ProcedureCode
+id-UEContextModification ProcedureCode
+id-UEContextModificationRequired ProcedureCode
+id-UEMobilityCommand ProcedureCode
+id-UEContextReleaseRequest ProcedureCode
+id-InitialULRRCMessageTransfer ProcedureCode
+id-DLRRCMessageTransfer ProcedureCode
+id-ULRRCMessageTransfer ProcedureCode
+id-privateMessage ProcedureCode
+id-UEInactivityNotification ProcedureCode
+id-GNBDUResourceCoordination ProcedureCode
+id-SystemInformationDeliveryCommand ProcedureCode
+id-Paging ProcedureCode
+id-Notify ProcedureCode
+id-WriteReplaceWarning ProcedureCode
+id-PWSCancel ProcedureCode
+id-PWSRestartIndication ProcedureCode
+id-PWSFailureIndication ProcedureCode
+id-GNBDUStatusIndication ProcedureCode
+id-RRCDeliveryReport ProcedureCode
+id-F1Removal ProcedureCode
+id-NetworkAccessRateReduction ProcedureCode
+id-TraceStart ProcedureCode
+id-DeactivateTrace ProcedureCode
+id-DUCURadioInformationTransfer ProcedureCode
+id-CUDURadioInformationTransfer ProcedureCode
+id-BAPMappingConfiguration ProcedureCode
+id-GNBDUResourceConfiguration ProcedureCode
+id-IABTNLAddressAllocation ProcedureCode
+id-IABUPConfigurationUpdate ProcedureCode
+id-resourceStatusReportingInitiation ProcedureCode
+id-resourceStatusReporting ProcedureCode
+id-accessAndMobilityIndication ProcedureCode
+id-accessSuccess ProcedureCode
+id-cellTrafficTrace ProcedureCode
+id-PositioningMeasurementExchange ProcedureCode
+id-PositioningAssistanceInformationControl ProcedureCode
+id-PositioningAssistanceInformationFeedback ProcedureCode
+id-PositioningMeasurementReport ProcedureCode
+id-PositioningMeasurementAbort ProcedureCode
+id-PositioningMeasurementFailureIndication ProcedureCode
+id-PositioningMeasurementUpdate ProcedureCode
+id-TRPInformationExchange ProcedureCode
+id-PositioningInformationExchange ProcedureCode
+id-PositioningActivation ProcedureCode
+id-PositioningDeactivation ProcedureCode
+id-E-CIDMeasurementInitiation ProcedureCode
+id-E-CIDMeasurementFailureIndication ProcedureCode
+id-E-CIDMeasurementReport ProcedureCode
+id-E-CIDMeasurementTermination ProcedureCode
+id-PositioningInformationUpdate ProcedureCode
+id-ReferenceTimeInformationReport ProcedureCode
+id-ReferenceTimeInformationReportingControl ProcedureCode
+id-BroadcastContextSetup ProcedureCode
+id-BroadcastContextRelease ProcedureCode
+id-BroadcastContextReleaseRequest ProcedureCode
+id-BroadcastContextModification ProcedureCode
+id-MulticastGroupPaging ProcedureCode
+id-MulticastContextSetup ProcedureCode
+id-MulticastContextRelease ProcedureCode
+id-MulticastContextReleaseRequest ProcedureCode
+id-MulticastContextModification ProcedureCode
+id-MulticastDistributionSetup ProcedureCode
+id-MulticastDistributionRelease ProcedureCode
+id-PDCMeasurementInitiation ProcedureCode
+id-PDCMeasurementReport ProcedureCode
+id-PDCMeasurementInitiationRequest ProcedureCode
+id-PDCMeasurementInitiationResponse ProcedureCode
+id-PDCMeasurementInitiationFailure ProcedureCode
+id-pRSConfigurationExchange ProcedureCode
+id-measurementPreconfiguration ProcedureCode
+id-measurementActivation ProcedureCode
+id-QoEInformationTransfer ProcedureCode
+id-PDCMeasurementTerminationCommand ProcedureCode
+id-PDCMeasurementFailureIndication ProcedureCode
+id-PosSystemInformationDeliveryCommand ProcedureCode
+
+# ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-Cells-Failed-to-be-Activated-List ProtocolIE-ID
+id-Cells-Failed-to-be-Activated-List-Item ProtocolIE-ID
+id-Cells-to-be-Activated-List ProtocolIE-ID
+id-Cells-to-be-Activated-List-Item ProtocolIE-ID
+id-Cells-to-be-Deactivated-List ProtocolIE-ID
+id-Cells-to-be-Deactivated-List-Item ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-CUtoDURRCInformation ProtocolIE-ID
+id-DRBs-FailedToBeModified-Item ProtocolIE-ID
+id-DRBs-FailedToBeModified-List ProtocolIE-ID
+id-DRBs-FailedToBeSetup-Item ProtocolIE-ID
+id-DRBs-FailedToBeSetup-List ProtocolIE-ID
+id-DRBs-FailedToBeSetupMod-Item ProtocolIE-ID
+id-DRBs-FailedToBeSetupMod-List ProtocolIE-ID
+id-DRBs-ModifiedConf-Item ProtocolIE-ID
+id-DRBs-ModifiedConf-List ProtocolIE-ID
+id-DRBs-Modified-Item ProtocolIE-ID
+id-DRBs-Modified-List ProtocolIE-ID
+id-DRBs-Required-ToBeModified-Item ProtocolIE-ID
+id-DRBs-Required-ToBeModified-List ProtocolIE-ID
+id-DRBs-Required-ToBeReleased-Item ProtocolIE-ID
+id-DRBs-Required-ToBeReleased-List ProtocolIE-ID
+id-DRBs-Setup-Item ProtocolIE-ID
+id-DRBs-Setup-List ProtocolIE-ID
+id-DRBs-SetupMod-Item ProtocolIE-ID
+id-DRBs-SetupMod-List ProtocolIE-ID
+id-DRBs-ToBeModified-Item ProtocolIE-ID
+id-DRBs-ToBeModified-List ProtocolIE-ID
+id-DRBs-ToBeReleased-Item ProtocolIE-ID
+id-DRBs-ToBeReleased-List ProtocolIE-ID
+id-DRBs-ToBeSetup-Item ProtocolIE-ID
+id-DRBs-ToBeSetup-List ProtocolIE-ID
+id-DRBs-ToBeSetupMod-Item ProtocolIE-ID
+id-DRBs-ToBeSetupMod-List ProtocolIE-ID
+id-DRXCycle ProtocolIE-ID
+id-DUtoCURRCInformation ProtocolIE-ID
+id-gNB-CU-UE-F1AP-ID ProtocolIE-ID
+id-gNB-DU-UE-F1AP-ID ProtocolIE-ID
+id-gNB-DU-ID ProtocolIE-ID
+id-GNB-DU-Served-Cells-Item ProtocolIE-ID
+id-gNB-DU-Served-Cells-List ProtocolIE-ID
+id-gNB-DU-Name ProtocolIE-ID
+id-NRCellID ProtocolIE-ID
+id-oldgNB-DU-UE-F1AP-ID ProtocolIE-ID
+id-ResetType ProtocolIE-ID
+id-ResourceCoordinationTransferContainer ProtocolIE-ID
+id-RRCContainer ProtocolIE-ID
+id-SCell-ToBeRemoved-Item ProtocolIE-ID
+id-SCell-ToBeRemoved-List ProtocolIE-ID
+id-SCell-ToBeSetup-Item ProtocolIE-ID
+id-SCell-ToBeSetup-List ProtocolIE-ID
+id-SCell-ToBeSetupMod-Item ProtocolIE-ID
+id-SCell-ToBeSetupMod-List ProtocolIE-ID
+id-Served-Cells-To-Add-Item ProtocolIE-ID
+id-Served-Cells-To-Add-List ProtocolIE-ID
+id-Served-Cells-To-Delete-Item ProtocolIE-ID
+id-Served-Cells-To-Delete-List ProtocolIE-ID
+id-Served-Cells-To-Modify-Item ProtocolIE-ID
+id-Served-Cells-To-Modify-List ProtocolIE-ID
+id-SpCell-ID ProtocolIE-ID
+id-SRBID ProtocolIE-ID
+id-SRBs-FailedToBeSetup-Item ProtocolIE-ID
+id-SRBs-FailedToBeSetup-List ProtocolIE-ID
+id-SRBs-FailedToBeSetupMod-Item ProtocolIE-ID
+id-SRBs-FailedToBeSetupMod-List ProtocolIE-ID
+id-SRBs-Required-ToBeReleased-Item ProtocolIE-ID
+id-SRBs-Required-ToBeReleased-List ProtocolIE-ID
+id-SRBs-ToBeReleased-Item ProtocolIE-ID
+id-SRBs-ToBeReleased-List ProtocolIE-ID
+id-SRBs-ToBeSetup-Item ProtocolIE-ID
+id-SRBs-ToBeSetup-List ProtocolIE-ID
+id-SRBs-ToBeSetupMod-Item ProtocolIE-ID
+id-SRBs-ToBeSetupMod-List ProtocolIE-ID
+id-TimeToWait ProtocolIE-ID
+id-TransactionID ProtocolIE-ID
+id-TransmissionActionIndicator ProtocolIE-ID
+id-UE-associatedLogicalF1-ConnectionItem ProtocolIE-ID
+id-UE-associatedLogicalF1-ConnectionListResAck ProtocolIE-ID
+id-gNB-CU-Name ProtocolIE-ID
+id-SCell-FailedtoSetup-List ProtocolIE-ID
+id-SCell-FailedtoSetup-Item ProtocolIE-ID
+id-SCell-FailedtoSetupMod-List ProtocolIE-ID
+id-SCell-FailedtoSetupMod-Item ProtocolIE-ID
+id-RRCReconfigurationCompleteIndicator ProtocolIE-ID
+id-Cells-Status-Item ProtocolIE-ID
+id-Cells-Status-List ProtocolIE-ID
+id-Candidate-SpCell-List ProtocolIE-ID
+id-Candidate-SpCell-Item ProtocolIE-ID
+id-Potential-SpCell-List ProtocolIE-ID
+id-Potential-SpCell-Item ProtocolIE-ID
+id-FullConfiguration ProtocolIE-ID
+id-C-RNTI ProtocolIE-ID
+id-SpCellULConfigured ProtocolIE-ID
+id-InactivityMonitoringRequest ProtocolIE-ID
+id-InactivityMonitoringResponse ProtocolIE-ID
+id-DRB-Activity-Item ProtocolIE-ID
+id-DRB-Activity-List ProtocolIE-ID
+id-EUTRA-NR-CellResourceCoordinationReq-Container ProtocolIE-ID
+id-EUTRA-NR-CellResourceCoordinationReqAck-Container ProtocolIE-ID
+id-Protected-EUTRA-Resources-List ProtocolIE-ID
+id-RequestType ProtocolIE-ID
+id-ServCellIndex ProtocolIE-ID
+id-RAT-FrequencyPriorityInformation ProtocolIE-ID
+id-ExecuteDuplication ProtocolIE-ID
+id-NRCGI ProtocolIE-ID
+id-PagingCell-Item ProtocolIE-ID
+id-PagingCell-List ProtocolIE-ID
+id-PagingDRX ProtocolIE-ID
+id-PagingPriority ProtocolIE-ID
+id-SItype-List ProtocolIE-ID
+id-UEIdentityIndexValue ProtocolIE-ID
+id-gNB-CUSystemInformation ProtocolIE-ID
+id-HandoverPreparationInformation ProtocolIE-ID
+id-GNB-CU-TNL-Association-To-Add-Item ProtocolIE-ID
+id-GNB-CU-TNL-Association-To-Add-List ProtocolIE-ID
+id-GNB-CU-TNL-Association-To-Remove-Item ProtocolIE-ID
+id-GNB-CU-TNL-Association-To-Remove-List ProtocolIE-ID
+id-GNB-CU-TNL-Association-To-Update-Item ProtocolIE-ID
+id-GNB-CU-TNL-Association-To-Update-List ProtocolIE-ID
+id-MaskedIMEISV ProtocolIE-ID
+id-PagingIdentity ProtocolIE-ID
+id-DUtoCURRCContainer ProtocolIE-ID
+id-Cells-to-be-Barred-List ProtocolIE-ID
+id-Cells-to-be-Barred-Item ProtocolIE-ID
+id-TAISliceSupportList ProtocolIE-ID
+id-GNB-CU-TNL-Association-Setup-List ProtocolIE-ID
+id-GNB-CU-TNL-Association-Setup-Item ProtocolIE-ID
+id-GNB-CU-TNL-Association-Failed-To-Setup-List ProtocolIE-ID
+id-GNB-CU-TNL-Association-Failed-To-Setup-Item ProtocolIE-ID
+id-DRB-Notify-Item ProtocolIE-ID
+id-DRB-Notify-List ProtocolIE-ID
+id-NotficationControl ProtocolIE-ID
+id-RANAC ProtocolIE-ID
+id-PWSSystemInformation ProtocolIE-ID
+id-RepetitionPeriod ProtocolIE-ID
+id-NumberofBroadcastRequest ProtocolIE-ID
+id-Cells-To-Be-Broadcast-List ProtocolIE-ID
+id-Cells-To-Be-Broadcast-Item ProtocolIE-ID
+id-Cells-Broadcast-Completed-List ProtocolIE-ID
+id-Cells-Broadcast-Completed-Item ProtocolIE-ID
+id-Broadcast-To-Be-Cancelled-List ProtocolIE-ID
+id-Broadcast-To-Be-Cancelled-Item ProtocolIE-ID
+id-Cells-Broadcast-Cancelled-List ProtocolIE-ID
+id-Cells-Broadcast-Cancelled-Item ProtocolIE-ID
+id-NR-CGI-List-For-Restart-List ProtocolIE-ID
+id-NR-CGI-List-For-Restart-Item ProtocolIE-ID
+id-PWS-Failed-NR-CGI-List ProtocolIE-ID
+id-PWS-Failed-NR-CGI-Item ProtocolIE-ID
+id-ConfirmedUEID ProtocolIE-ID
+id-Cancel-all-Warning-Messages-Indicator ProtocolIE-ID
+id-GNB-DU-UE-AMBR-UL ProtocolIE-ID
+id-DRXConfigurationIndicator ProtocolIE-ID
+id-RLC-Status ProtocolIE-ID
+id-DLPDCPSNLength ProtocolIE-ID
+id-GNB-DUConfigurationQuery ProtocolIE-ID
+id-MeasurementTimingConfiguration ProtocolIE-ID
+id-DRB-Information ProtocolIE-ID
+id-ServingPLMN ProtocolIE-ID
+id-Protected-EUTRA-Resources-Item ProtocolIE-ID
+id-GNB-CU-RRC-Version ProtocolIE-ID
+id-GNB-DU-RRC-Version ProtocolIE-ID
+id-GNBDUOverloadInformation ProtocolIE-ID
+id-CellGroupConfig ProtocolIE-ID
+id-RLCFailureIndication ProtocolIE-ID
+id-UplinkTxDirectCurrentListInformation ProtocolIE-ID
+id-DC-Based-Duplication-Configured ProtocolIE-ID
+id-DC-Based-Duplication-Activation ProtocolIE-ID
+id-SULAccessIndication ProtocolIE-ID
+id-AvailablePLMNList ProtocolIE-ID
+id-PDUSessionID ProtocolIE-ID
+id-ULPDUSessionAggregateMaximumBitRate ProtocolIE-ID
+id-ServingCellMO ProtocolIE-ID
+id-QoSFlowMappingIndication ProtocolIE-ID
+id-RRCDeliveryStatusRequest ProtocolIE-ID
+id-RRCDeliveryStatus ProtocolIE-ID
+id-BearerTypeChange ProtocolIE-ID
+id-RLCMode ProtocolIE-ID
+id-Duplication-Activation ProtocolIE-ID
+id-Dedicated-SIDelivery-NeededUE-List ProtocolIE-ID
+id-Dedicated-SIDelivery-NeededUE-Item ProtocolIE-ID
+id-DRX-LongCycleStartOffset ProtocolIE-ID
+id-ULPDCPSNLength ProtocolIE-ID
+id-SelectedBandCombinationIndex ProtocolIE-ID
+id-SelectedFeatureSetEntryIndex ProtocolIE-ID
+id-ResourceCoordinationTransferInformation ProtocolIE-ID
+id-ExtendedServedPLMNs-List ProtocolIE-ID
+id-ExtendedAvailablePLMN-List ProtocolIE-ID
+id-Associated-SCell-List ProtocolIE-ID
+id-latest-RRC-Version-Enhanced ProtocolIE-ID
+id-Associated-SCell-Item ProtocolIE-ID
+id-Cell-Direction ProtocolIE-ID
+id-SRBs-Setup-List ProtocolIE-ID
+id-SRBs-Setup-Item ProtocolIE-ID
+id-SRBs-SetupMod-List ProtocolIE-ID
+id-SRBs-SetupMod-Item ProtocolIE-ID
+id-SRBs-Modified-List ProtocolIE-ID
+id-SRBs-Modified-Item ProtocolIE-ID
+id-Ph-InfoSCG ProtocolIE-ID
+id-RequestedBandCombinationIndex ProtocolIE-ID
+id-RequestedFeatureSetEntryIndex ProtocolIE-ID
+id-RequestedP-MaxFR2 ProtocolIE-ID
+id-DRX-Config ProtocolIE-ID
+id-IgnoreResourceCoordinationContainer ProtocolIE-ID
+id-UEAssistanceInformation ProtocolIE-ID
+id-NeedforGap ProtocolIE-ID
+id-PagingOrigin ProtocolIE-ID
+id-new-gNB-CU-UE-F1AP-ID ProtocolIE-ID
+id-RedirectedRRCmessage ProtocolIE-ID
+id-new-gNB-DU-UE-F1AP-ID ProtocolIE-ID
+id-NotificationInformation ProtocolIE-ID
+id-PLMNAssistanceInfoForNetShar ProtocolIE-ID
+id-UEContextNotRetrievable ProtocolIE-ID
+id-BPLMN-ID-Info-List ProtocolIE-ID
+id-SelectedPLMNID ProtocolIE-ID
+id-UAC-Assistance-Info ProtocolIE-ID
+id-RANUEID ProtocolIE-ID
+id-GNB-DU-TNL-Association-To-Remove-Item ProtocolIE-ID
+id-GNB-DU-TNL-Association-To-Remove-List ProtocolIE-ID
+id-TNLAssociationTransportLayerAddressgNBDU ProtocolIE-ID
+id-portNumber ProtocolIE-ID
+id-AdditionalSIBMessageList ProtocolIE-ID
+id-Cell-Type ProtocolIE-ID
+id-IgnorePRACHConfiguration ProtocolIE-ID
+id-CG-Config ProtocolIE-ID
+id-PDCCH-BlindDetectionSCG ProtocolIE-ID
+id-Requested-PDCCH-BlindDetectionSCG ProtocolIE-ID
+id-Ph-InfoMCG ProtocolIE-ID
+id-MeasGapSharingConfig ProtocolIE-ID
+id-systemInformationAreaID ProtocolIE-ID
+id-areaScope ProtocolIE-ID
+id-RRCContainer-RRCSetupComplete ProtocolIE-ID
+id-TraceActivation ProtocolIE-ID
+id-TraceID ProtocolIE-ID
+id-Neighbour-Cell-Information-List ProtocolIE-ID
+id-SymbolAllocInSlot ProtocolIE-ID
+id-NumDLULSymbols ProtocolIE-ID
+id-AdditionalRRMPriorityIndex ProtocolIE-ID
+id-DUCURadioInformationType ProtocolIE-ID
+id-CUDURadioInformationType ProtocolIE-ID
+id-AggressorgNBSetID ProtocolIE-ID
+id-VictimgNBSetID ProtocolIE-ID
+id-LowerLayerPresenceStatusChange ProtocolIE-ID
+id-Transport-Layer-Address-Info ProtocolIE-ID
+id-Neighbour-Cell-Information-Item ProtocolIE-ID
+id-IntendedTDD-DL-ULConfig ProtocolIE-ID
+id-QosMonitoringRequest ProtocolIE-ID
+id-BHChannels-ToBeSetup-List ProtocolIE-ID
+id-BHChannels-ToBeSetup-Item ProtocolIE-ID
+id-BHChannels-Setup-List ProtocolIE-ID
+id-BHChannels-Setup-Item ProtocolIE-ID
+id-BHChannels-ToBeModified-Item ProtocolIE-ID
+id-BHChannels-ToBeModified-List ProtocolIE-ID
+id-BHChannels-ToBeReleased-Item ProtocolIE-ID
+id-BHChannels-ToBeReleased-List ProtocolIE-ID
+id-BHChannels-ToBeSetupMod-Item ProtocolIE-ID
+id-BHChannels-ToBeSetupMod-List ProtocolIE-ID
+id-BHChannels-FailedToBeModified-Item ProtocolIE-ID
+id-BHChannels-FailedToBeModified-List ProtocolIE-ID
+id-BHChannels-FailedToBeSetupMod-Item ProtocolIE-ID
+id-BHChannels-FailedToBeSetupMod-List ProtocolIE-ID
+id-BHChannels-Modified-Item ProtocolIE-ID
+id-BHChannels-Modified-List ProtocolIE-ID
+id-BHChannels-SetupMod-Item ProtocolIE-ID
+id-BHChannels-SetupMod-List ProtocolIE-ID
+id-BHChannels-Required-ToBeReleased-Item ProtocolIE-ID
+id-BHChannels-Required-ToBeReleased-List ProtocolIE-ID
+id-BHChannels-FailedToBeSetup-Item ProtocolIE-ID
+id-BHChannels-FailedToBeSetup-List ProtocolIE-ID
+id-BHInfo ProtocolIE-ID
+id-BAPAddress ProtocolIE-ID
+id-ConfiguredBAPAddress ProtocolIE-ID
+id-BH-Routing-Information-Added-List ProtocolIE-ID
+id-BH-Routing-Information-Added-List-Item ProtocolIE-ID
+id-BH-Routing-Information-Removed-List ProtocolIE-ID
+id-BH-Routing-Information-Removed-List-Item ProtocolIE-ID
+id-UL-BH-Non-UP-Traffic-Mapping ProtocolIE-ID
+id-Activated-Cells-to-be-Updated-List ProtocolIE-ID
+id-Child-Nodes-List ProtocolIE-ID
+id-IAB-Info-IAB-DU ProtocolIE-ID
+id-IAB-Info-IAB-donor-CU ProtocolIE-ID
+id-IAB-TNL-Addresses-To-Remove-List ProtocolIE-ID
+id-IAB-TNL-Addresses-To-Remove-Item ProtocolIE-ID
+id-IAB-Allocated-TNL-Address-List ProtocolIE-ID
+id-IAB-Allocated-TNL-Address-Item ProtocolIE-ID
+id-IABIPv6RequestType ProtocolIE-ID
+id-IABv4AddressesRequested ProtocolIE-ID
+id-IAB-Barred ProtocolIE-ID
+id-TrafficMappingInformation ProtocolIE-ID
+id-UL-UP-TNL-Information-to-Update-List ProtocolIE-ID
+id-UL-UP-TNL-Information-to-Update-List-Item ProtocolIE-ID
+id-UL-UP-TNL-Address-to-Update-List ProtocolIE-ID
+id-UL-UP-TNL-Address-to-Update-List-Item ProtocolIE-ID
+id-DL-UP-TNL-Address-to-Update-List ProtocolIE-ID
+id-DL-UP-TNL-Address-to-Update-List-Item ProtocolIE-ID
+id-NRV2XServicesAuthorized ProtocolIE-ID
+id-LTEV2XServicesAuthorized ProtocolIE-ID
+id-NRUESidelinkAggregateMaximumBitrate ProtocolIE-ID
+id-LTEUESidelinkAggregateMaximumBitrate ProtocolIE-ID
+id-SIB12-message ProtocolIE-ID
+id-SIB13-message ProtocolIE-ID
+id-SIB14-message ProtocolIE-ID
+id-SLDRBs-FailedToBeModified-Item ProtocolIE-ID
+id-SLDRBs-FailedToBeModified-List ProtocolIE-ID
+id-SLDRBs-FailedToBeSetup-Item ProtocolIE-ID
+id-SLDRBs-FailedToBeSetup-List ProtocolIE-ID
+id-SLDRBs-Modified-Item ProtocolIE-ID
+id-SLDRBs-Modified-List ProtocolIE-ID
+id-SLDRBs-Required-ToBeModified-Item ProtocolIE-ID
+id-SLDRBs-Required-ToBeModified-List ProtocolIE-ID
+id-SLDRBs-Required-ToBeReleased-Item ProtocolIE-ID
+id-SLDRBs-Required-ToBeReleased-List ProtocolIE-ID
+id-SLDRBs-Setup-Item ProtocolIE-ID
+id-SLDRBs-Setup-List ProtocolIE-ID
+id-SLDRBs-ToBeModified-Item ProtocolIE-ID
+id-SLDRBs-ToBeModified-List ProtocolIE-ID
+id-SLDRBs-ToBeReleased-Item ProtocolIE-ID
+id-SLDRBs-ToBeReleased-List ProtocolIE-ID
+id-SLDRBs-ToBeSetup-Item ProtocolIE-ID
+id-SLDRBs-ToBeSetup-List ProtocolIE-ID
+id-SLDRBs-ToBeSetupMod-Item ProtocolIE-ID
+id-SLDRBs-ToBeSetupMod-List ProtocolIE-ID
+id-SLDRBs-SetupMod-List ProtocolIE-ID
+id-SLDRBs-FailedToBeSetupMod-List ProtocolIE-ID
+id-SLDRBs-SetupMod-Item ProtocolIE-ID
+id-SLDRBs-FailedToBeSetupMod-Item ProtocolIE-ID
+id-SLDRBs-ModifiedConf-List ProtocolIE-ID
+id-SLDRBs-ModifiedConf-Item ProtocolIE-ID
+id-UEAssistanceInformationEUTRA ProtocolIE-ID
+id-PC5LinkAMBR ProtocolIE-ID
+id-SL-PHY-MAC-RLC-Config ProtocolIE-ID
+id-SL-ConfigDedicatedEUTRA-Info ProtocolIE-ID
+id-AlternativeQoSParaSetList ProtocolIE-ID
+id-CurrentQoSParaSetIndex ProtocolIE-ID
+id-gNBCUMeasurementID ProtocolIE-ID
+id-gNBDUMeasurementID ProtocolIE-ID
+id-RegistrationRequest ProtocolIE-ID
+id-ReportCharacteristics ProtocolIE-ID
+id-CellToReportList ProtocolIE-ID
+id-CellMeasurementResultList ProtocolIE-ID
+id-HardwareLoadIndicator ProtocolIE-ID
+id-ReportingPeriodicity ProtocolIE-ID
+id-TNLCapacityIndicator ProtocolIE-ID
+id-CarrierList ProtocolIE-ID
+id-ULCarrierList ProtocolIE-ID
+id-FrequencyShift7p5khz ProtocolIE-ID
+id-SSB-PositionsInBurst ProtocolIE-ID
+id-NRPRACHConfig ProtocolIE-ID
+id-RACHReportInformationList ProtocolIE-ID
+id-RLFReportInformationList ProtocolIE-ID
+id-TDD-UL-DLConfigCommonNR ProtocolIE-ID
+id-CNPacketDelayBudgetDownlink ProtocolIE-ID
+id-ExtendedPacketDelayBudget ProtocolIE-ID
+id-TSCTrafficCharacteristics ProtocolIE-ID
+id-ReportingRequestType ProtocolIE-ID
+id-TimeReferenceInformation ProtocolIE-ID
+id-CNPacketDelayBudgetUplink ProtocolIE-ID
+id-AdditionalPDCPDuplicationTNL-List ProtocolIE-ID
+id-RLCDuplicationInformation ProtocolIE-ID
+id-AdditionalDuplicationIndication ProtocolIE-ID
+id-ConditionalInterDUMobilityInformation ProtocolIE-ID
+id-ConditionalIntraDUMobilityInformation ProtocolIE-ID
+id-targetCellsToCancel ProtocolIE-ID
+id-requestedTargetCellGlobalID ProtocolIE-ID
+id-ManagementBasedMDTPLMNList ProtocolIE-ID
+id-TraceCollectionEntityIPAddress ProtocolIE-ID
+id-PrivacyIndicator ProtocolIE-ID
+id-TraceCollectionEntityURI ProtocolIE-ID
+id-mdtConfiguration ProtocolIE-ID
+id-ServingNID ProtocolIE-ID
+id-NPNBroadcastInformation ProtocolIE-ID
+id-NPNSupportInfo ProtocolIE-ID
+id-NID ProtocolIE-ID
+id-AvailableSNPN-ID-List ProtocolIE-ID
+id-SIB10-message ProtocolIE-ID
+id-DLCarrierList ProtocolIE-ID
+id-ExtendedTAISliceSupportList ProtocolIE-ID
+id-RequestedSRSTransmissionCharacteristics ProtocolIE-ID
+id-PosAssistance-Information ProtocolIE-ID
+id-PosBroadcast ProtocolIE-ID
+id-RoutingID ProtocolIE-ID
+id-PosAssistanceInformationFailureList ProtocolIE-ID
+id-PosMeasurementQuantities ProtocolIE-ID
+id-PosMeasurementResultList ProtocolIE-ID
+id-TRPInformationTypeListTRPReq ProtocolIE-ID
+id-TRPInformationTypeItem ProtocolIE-ID
+id-TRPInformationListTRPResp ProtocolIE-ID
+id-TRPInformationItem ProtocolIE-ID
+id-LMF-MeasurementID ProtocolIE-ID
+id-SRSType ProtocolIE-ID
+id-ActivationTime ProtocolIE-ID
+id-AbortTransmission ProtocolIE-ID
+id-PositioningBroadcastCells ProtocolIE-ID
+id-SRSConfiguration ProtocolIE-ID
+id-PosReportCharacteristics ProtocolIE-ID
+id-PosMeasurementPeriodicity ProtocolIE-ID
+id-TRPList ProtocolIE-ID
+id-RAN-MeasurementID ProtocolIE-ID
+id-LMF-UE-MeasurementID ProtocolIE-ID
+id-RAN-UE-MeasurementID ProtocolIE-ID
+id-E-CID-MeasurementQuantities ProtocolIE-ID
+id-E-CID-MeasurementQuantities-Item ProtocolIE-ID
+id-E-CID-MeasurementPeriodicity ProtocolIE-ID
+id-E-CID-MeasurementResult ProtocolIE-ID
+id-Cell-Portion-ID ProtocolIE-ID
+id-SFNInitialisationTime ProtocolIE-ID
+id-SystemFrameNumber ProtocolIE-ID
+id-SlotNumber ProtocolIE-ID
+id-TRP-MeasurementRequestList ProtocolIE-ID
+id-MeasurementBeamInfoRequest ProtocolIE-ID
+id-E-CID-ReportCharacteristics ProtocolIE-ID
+id-ConfiguredTACIndication ProtocolIE-ID
+id-Extended-GNB-CU-Name ProtocolIE-ID
+id-Extended-GNB-DU-Name ProtocolIE-ID
+id-F1CTransferPath ProtocolIE-ID
+id-SFN-Offset ProtocolIE-ID
+id-TransmissionStopIndicator ProtocolIE-ID
+id-SrsFrequency ProtocolIE-ID
+id-SCGIndicator ProtocolIE-ID
+id-EstimatedArrivalProbability ProtocolIE-ID
+id-TRPType ProtocolIE-ID
+id-SRSSpatialRelationPerSRSResource ProtocolIE-ID
+id-PDCPTerminatingNodeDLTNLAddrInfo ProtocolIE-ID
+id-ENBDLTNLAddress ProtocolIE-ID
+id-PosMeasurementPeriodicityExtended ProtocolIE-ID
+id-PRS-Resource-ID ProtocolIE-ID
+id-LocationMeasurementInformation ProtocolIE-ID
+id-SliceRadioResourceStatus ProtocolIE-ID
+id-CompositeAvailableCapacity-SUL ProtocolIE-ID
+id-SuccessfulHOReportInformationList ProtocolIE-ID
+id-NR-U-Channel-List ProtocolIE-ID
+id-NR-U ProtocolIE-ID
+id-Coverage-Modification-Notification ProtocolIE-ID
+id-CCO-Assistance-Information ProtocolIE-ID
+id-Neighbor-node-CCO-Assistance-Information-List ProtocolIE-ID
+id-CellsForSON-List ProtocolIE-ID
+id-MIMOPRBusageInformation ProtocolIE-ID
+id-gNB-CU-MBS-F1AP-ID ProtocolIE-ID
+id-gNB-DU-MBS-F1AP-ID ProtocolIE-ID
+id-MBS-Area-Session-ID ProtocolIE-ID
+id-MBS-CUtoDURRCInformation ProtocolIE-ID
+id-MBS-Session-ID ProtocolIE-ID
+id-SNSSAI ProtocolIE-ID
+id-MBS-Broadcast-NeighbourCellList ProtocolIE-ID
+id-BroadcastMRBs-FailedToBeModified-List ProtocolIE-ID
+id-BroadcastMRBs-FailedToBeModified-Item ProtocolIE-ID
+id-BroadcastMRBs-FailedToBeSetup-List ProtocolIE-ID
+id-BroadcastMRBs-FailedToBeSetup-Item ProtocolIE-ID
+id-BroadcastMRBs-FailedToBeSetupMod-List ProtocolIE-ID
+id-BroadcastMRBs-FailedToBeSetupMod-Item ProtocolIE-ID
+id-BroadcastMRBs-Modified-List ProtocolIE-ID
+id-BroadcastMRBs-Modified-Item ProtocolIE-ID
+id-BroadcastMRBs-Setup-List ProtocolIE-ID
+id-BroadcastMRBs-Setup-Item ProtocolIE-ID
+id-BroadcastMRBs-SetupMod-List ProtocolIE-ID
+id-BroadcastMRBs-SetupMod-Item ProtocolIE-ID
+id-BroadcastMRBs-ToBeModified-List ProtocolIE-ID
+id-BroadcastMRBs-ToBeModified-Item ProtocolIE-ID
+id-BroadcastMRBs-ToBeReleased-List ProtocolIE-ID
+id-BroadcastMRBs-ToBeReleased-Item ProtocolIE-ID
+id-BroadcastMRBs-ToBeSetup-List ProtocolIE-ID
+id-BroadcastMRBs-ToBeSetup-Item ProtocolIE-ID
+id-BroadcastMRBs-ToBeSetupMod-List ProtocolIE-ID
+id-BroadcastMRBs-ToBeSetupMod-Item ProtocolIE-ID
+id-Supported-MBS-FSA-ID-List ProtocolIE-ID
+id-UEIdentity-List-For-Paging-List ProtocolIE-ID
+id-UEIdentity-List-For-Paging-Item ProtocolIE-ID
+id-MBS-ServiceArea ProtocolIE-ID
+id-MulticastMRBs-FailedToBeModified-List ProtocolIE-ID
+id-MulticastMRBs-FailedToBeModified-Item ProtocolIE-ID
+id-MulticastMRBs-FailedToBeSetup-List ProtocolIE-ID
+id-MulticastMRBs-FailedToBeSetup-Item ProtocolIE-ID
+id-MulticastMRBs-FailedToBeSetupMod-List ProtocolIE-ID
+id-MulticastMRBs-FailedToBeSetupMod-Item ProtocolIE-ID
+id-MulticastMRBs-Modified-List ProtocolIE-ID
+id-MulticastMRBs-Modified-Item ProtocolIE-ID
+id-MulticastMRBs-Setup-List ProtocolIE-ID
+id-MulticastMRBs-Setup-Item ProtocolIE-ID
+id-MulticastMRBs-SetupMod-List ProtocolIE-ID
+id-MulticastMRBs-SetupMod-Item ProtocolIE-ID
+id-MulticastMRBs-ToBeModified-List ProtocolIE-ID
+id-MulticastMRBs-ToBeModified-Item ProtocolIE-ID
+id-MulticastMRBs-ToBeReleased-List ProtocolIE-ID
+id-MulticastMRBs-ToBeReleased-Item ProtocolIE-ID
+id-MulticastMRBs-ToBeSetup-List ProtocolIE-ID
+id-MulticastMRBs-ToBeSetup-Item ProtocolIE-ID
+id-MulticastMRBs-ToBeSetupMod-List ProtocolIE-ID
+id-MulticastMRBs-ToBeSetupMod-Item ProtocolIE-ID
+id-MBSMulticastF1UContextDescriptor ProtocolIE-ID
+id-MulticastF1UContext-ToBeSetup-List ProtocolIE-ID
+id-MulticastF1UContext-ToBeSetup-Item ProtocolIE-ID
+id-MulticastF1UContext-Setup-List ProtocolIE-ID
+id-MulticastF1UContext-Setup-Item ProtocolIE-ID
+id-MulticastF1UContext-FailedToBeSetup-List ProtocolIE-ID
+id-MulticastF1UContext-FailedToBeSetup-Item ProtocolIE-ID
+id-IABCongestionIndication ProtocolIE-ID
+id-IABConditionalRRCMessageDeliveryIndication ProtocolIE-ID
+id-F1CTransferPathNRDC ProtocolIE-ID
+id-BufferSizeThresh ProtocolIE-ID
+id-IAB-TNL-Addresses-Exception ProtocolIE-ID
+id-BAP-Header-Rewriting-Added-List ProtocolIE-ID
+id-BAP-Header-Rewriting-Added-List-Item ProtocolIE-ID
+id-Re-routingEnableIndicator ProtocolIE-ID
+id-NonF1terminatingTopologyIndicator ProtocolIE-ID
+id-EgressNonF1terminatingTopologyIndicator ProtocolIE-ID
+id-IngressNonF1terminatingTopologyIndicator ProtocolIE-ID
+id-rBSetConfiguration ProtocolIE-ID
+id-frequency-Domain-HSNA-Configuration-List ProtocolIE-ID
+id-child-IAB-Nodes-NA-Resource-List ProtocolIE-ID
+id-Parent-IAB-Nodes-NA-Resource-Configuration-List ProtocolIE-ID
+id-uL-FreqInfo ProtocolIE-ID
+id-uL-Transmission-Bandwidth ProtocolIE-ID
+id-dL-FreqInfo ProtocolIE-ID
+id-dL-Transmission-Bandwidth ProtocolIE-ID
+id-uL-NR-Carrier-List ProtocolIE-ID
+id-dL-NR-Carrier-List ProtocolIE-ID
+id-nRFreqInfo ProtocolIE-ID
+id-transmission-Bandwidth ProtocolIE-ID
+id-nR-Carrier-List ProtocolIE-ID
+id-Neighbour-Node-Cells-List ProtocolIE-ID
+id-Serving-Cells-List ProtocolIE-ID
+id-permutation ProtocolIE-ID
+id-MDTPollutedMeasurementIndicator ProtocolIE-ID
+id-M5ReportAmount ProtocolIE-ID
+id-M6ReportAmount ProtocolIE-ID
+id-M7ReportAmount ProtocolIE-ID
+id-SurvivalTime ProtocolIE-ID
+id-PDCMeasurementPeriodicity ProtocolIE-ID
+id-PDCMeasurementQuantities ProtocolIE-ID
+id-PDCMeasurementQuantities-Item ProtocolIE-ID
+id-PDCMeasurementResult ProtocolIE-ID
+id-PDCReportType ProtocolIE-ID
+id-RAN-UE-PDC-MeasID ProtocolIE-ID
+id-SCGActivationRequest ProtocolIE-ID
+id-SCGActivationStatus ProtocolIE-ID
+id-PRSTRPList ProtocolIE-ID
+id-PRSTransmissionTRPList ProtocolIE-ID
+id-OnDemandPRS ProtocolIE-ID
+id-AoA-SearchWindow ProtocolIE-ID
+id-TRP-MeasurementUpdateList ProtocolIE-ID
+id-ZoAInformation ProtocolIE-ID
+id-ResponseTime ProtocolIE-ID
+id-ARPLocationInfo ProtocolIE-ID
+id-ARP-ID ProtocolIE-ID
+id-MultipleULAoA ProtocolIE-ID
+id-UL-SRS-RSRPP ProtocolIE-ID
+id-SRSResourcetype ProtocolIE-ID
+id-ExtendedAdditionalPathList ProtocolIE-ID
+id-LoS-NLoSInformation ProtocolIE-ID
+id-NumberOfTRPRxTEG ProtocolIE-ID
+id-NumberOfTRPRxTxTEG ProtocolIE-ID
+id-TRPTxTEGAssociation ProtocolIE-ID
+id-TRPTEGInformation ProtocolIE-ID
+id-TRPRx-TEGInformation ProtocolIE-ID
+id-TRP-PRS-Info-List ProtocolIE-ID
+id-PRS-Measurement-Info-List ProtocolIE-ID
+id-PRSConfigRequestType ProtocolIE-ID
+id-MeasurementTimeOccasion ProtocolIE-ID
+id-MeasurementCharacteristicsRequestIndicator ProtocolIE-ID
+id-UEReportingInformation ProtocolIE-ID
+id-PosConextRevIndication ProtocolIE-ID
+id-TRPBeamAntennaInformation ProtocolIE-ID
+id-NRRedCapUEIndication ProtocolIE-ID
+id-Redcap-Bcast-Information ProtocolIE-ID
+id-RANUEPagingDRX ProtocolIE-ID
+id-CNUEPagingDRX ProtocolIE-ID
+id-NRPagingeDRXInformation ProtocolIE-ID
+id-NRPagingeDRXInformationforRRCINACTIVE ProtocolIE-ID
+id-NR-TADV ProtocolIE-ID
+id-QoEInformation ProtocolIE-ID
+id-CG-SDTQueryIndication ProtocolIE-ID
+id-SDT-MAC-PHY-CG-Config ProtocolIE-ID
+id-CG-SDTKeptIndicator ProtocolIE-ID
+id-CG-SDTindicatorSetup ProtocolIE-ID
+id-CG-SDTindicatorMod ProtocolIE-ID
+id-CG-SDTSessionInfoOld ProtocolIE-ID
+id-SDTInformation ProtocolIE-ID
+id-SDTRLCBearerConfiguration ProtocolIE-ID
+id-FiveG-ProSeAuthorized ProtocolIE-ID
+id-FiveG-ProSeUEPC5AggregateMaximumBitrate ProtocolIE-ID
+id-FiveG-ProSePC5LinkAMBR ProtocolIE-ID
+id-SRBMappingInfo ProtocolIE-ID
+id-DRBMappingInfo ProtocolIE-ID
+id-UuRLCChannelToBeSetupList ProtocolIE-ID
+id-UuRLCChannelToBeModifiedList ProtocolIE-ID
+id-UuRLCChannelToBeReleasedList ProtocolIE-ID
+id-UuRLCChannelSetupList ProtocolIE-ID
+id-UuRLCChannelFailedToBeSetupList ProtocolIE-ID
+id-UuRLCChannelModifiedList ProtocolIE-ID
+id-UuRLCChannelFailedToBeModifiedList ProtocolIE-ID
+id-UuRLCChannelRequiredToBeModifiedList ProtocolIE-ID
+id-UuRLCChannelRequiredToBeReleasedList ProtocolIE-ID
+id-PC5RLCChannelToBeSetupList ProtocolIE-ID
+id-PC5RLCChannelToBeModifiedList ProtocolIE-ID
+id-PC5RLCChannelToBeReleasedList ProtocolIE-ID
+id-PC5RLCChannelSetupList ProtocolIE-ID
+id-PC5RLCChannelFailedToBeSetupList ProtocolIE-ID
+id-PC5RLCChannelFailedToBeModifiedList ProtocolIE-ID
+id-PC5RLCChannelRequiredToBeModifiedList ProtocolIE-ID
+id-PC5RLCChannelRequiredToBeReleasedList ProtocolIE-ID
+id-PC5RLCChannelModifiedList ProtocolIE-ID
+id-SidelinkRelayConfiguration ProtocolIE-ID
+id-UpdatedRemoteUELocalID ProtocolIE-ID
+id-PathSwitchConfiguration ProtocolIE-ID
+id-PagingCause ProtocolIE-ID
+id-MUSIM-GapConfig ProtocolIE-ID
+id-PEIPSAssistanceInfo ProtocolIE-ID
+id-UEPagingCapability ProtocolIE-ID
+id-LastUsedCellIndication ProtocolIE-ID
+id-SIB17-message ProtocolIE-ID
+id-GNBDUUESliceMaximumBitRateList ProtocolIE-ID
+id-SIB20-message ProtocolIE-ID
+id-UE-MulticastMRBs-ToBeReleased-List ProtocolIE-ID
+id-UE-MulticastMRBs-ToBeReleased-Item ProtocolIE-ID
+id-UE-MulticastMRBs-ToBeSetup-List ProtocolIE-ID
+id-UE-MulticastMRBs-ToBeSetup-Item ProtocolIE-ID
+id-MulticastMBSSessionSetupList ProtocolIE-ID
+id-MulticastMBSSessionRemoveList ProtocolIE-ID
+id-PosMeasurementAmount ProtocolIE-ID
+id-SDT-Termination-Request ProtocolIE-ID
+id-pathPower ProtocolIE-ID
+id-DU-RX-MT-RX-Extend ProtocolIE-ID
+id-DU-TX-MT-TX-Extend ProtocolIE-ID
+id-DU-RX-MT-TX-Extend ProtocolIE-ID
+id-DU-TX-MT-RX-Extend ProtocolIE-ID
+id-BAP-Header-Rewriting-Removed-List ProtocolIE-ID
+id-BAP-Header-Rewriting-Removed-List-Item ProtocolIE-ID
+id-SLDRXCycleList ProtocolIE-ID
+id-TAINSAGSupportList ProtocolIE-ID
+id-SL-RLC-ChannelToAddModList ProtocolIE-ID
+id-BroadcastAreaScope ProtocolIE-ID
+id-ManagementBasedMDTPLMNModificationList ProtocolIE-ID
+id-SIB15-message ProtocolIE-ID
+id-ActivationRequestType ProtocolIE-ID
+id-PosMeasGapPreConfigList ProtocolIE-ID
+id-InterFrequencyConfig-NoGap ProtocolIE-ID
+id-MBSInterestIndication ProtocolIE-ID
+id-UE-MulticastMRBs-ConfirmedToBeModified-List ProtocolIE-ID
+id-UE-MulticastMRBs-ConfirmedToBeModified-Item ProtocolIE-ID
+id-UE-MulticastMRBs-RequiredToBeModified-List ProtocolIE-ID
+id-UE-MulticastMRBs-RequiredToBeModified-Item ProtocolIE-ID
+id-UE-MulticastMRBs-RequiredToBeReleased-List ProtocolIE-ID
+id-UE-MulticastMRBs-RequiredToBeReleased-Item ProtocolIE-ID
+id-L571Info ProtocolIE-ID
+id-L1151Info ProtocolIE-ID
+id-SCS-480 ProtocolIE-ID
+id-SCS-960 ProtocolIE-ID
+id-SRSPortIndex ProtocolIE-ID
+id-PEISubgroupingSupportIndication ProtocolIE-ID
+id-NeedForGapsInfoNR ProtocolIE-ID
+id-NeedForGapNCSGInfoNR ProtocolIE-ID
+id-NeedForGapNCSGInfoEUTRA ProtocolIE-ID
+id-procedure-code-668-not-to-be-used ProtocolIE-ID
+id-procedure-code-669-not-to-be-used ProtocolIE-ID
+id-procedure-code-670-not-to-be-used ProtocolIE-ID
+id-Source-MRB-ID ProtocolIE-ID
+id-PosMeasurementPeriodicityNR-AoA ProtocolIE-ID
+id-RedCapIndication ProtocolIE-ID
+id-SRSPosRRCInactiveConfig ProtocolIE-ID
+id-SDTBearerConfigurationQueryIndication ProtocolIE-ID
+id-SDTBearerConfigurationInfo ProtocolIE-ID
+id-UL-GapFR2-Config ProtocolIE-ID
+id-ConfigRestrictInfoDAPS ProtocolIE-ID
+id-UE-MulticastMRBs-Setup-List ProtocolIE-ID
+id-UE-MulticastMRBs-Setup-Item ProtocolIE-ID
+id-MulticastF1UContextReferenceCU ProtocolIE-ID
+id-PosSItypeList ProtocolIE-ID
+id-DAPS-HO-Status ProtocolIE-ID
+id-UplinkTxDirectCurrentTwoCarrierListInfo ProtocolIE-ID
+id-UE-MulticastMRBs-ToBeSetup-atModify-List ProtocolIE-ID
+id-UE-MulticastMRBs-ToBeSetup-atModify-Item ProtocolIE-ID
+id-MC-PagingCell-List ProtocolIE-ID
+id-MC-PagingCell-Item ProtocolIE-ID
+id-SRSPosRRCInactiveQueryIndication ProtocolIE-ID
+id-UlTxDirectCurrentMoreCarrierInformation ProtocolIE-ID
+id-CPACMCGInformation ProtocolIE-ID
+id-TwoPHRModeMCG ProtocolIE-ID
+id-TwoPHRModeSCG ProtocolIE-ID
+id-ExtendedUEIdentityIndexValue ProtocolIE-ID
+id-ServingCellMO-List ProtocolIE-ID
+id-ServingCellMO-List-Item ProtocolIE-ID
+id-ServingCellMO-encoded-in-CGC-List ProtocolIE-ID
+id-HashedUEIdentityIndexValue ProtocolIE-ID
+id-UE-MulticastMRBs-Setupnew-List ProtocolIE-ID
+id-UE-MulticastMRBs-Setupnew-Item ProtocolIE-ID
+id-ncd-SSB-RedCapInitialBWP-SDT ProtocolIE-ID
+id-nrofSymbolsExtended ProtocolIE-ID
+id-repetitionFactorExtended ProtocolIE-ID
+id-startRBHopping ProtocolIE-ID
+id-startRBIndex ProtocolIE-ID
+id-transmissionCombn8 ProtocolIE-ID
+#.END
+
+#.REGISTER
+
+#F1AP-PROTOCOL-IES
+Cause N f1ap.ies id-Cause
+Cells-Failed-to-be-Activated-List N f1ap.ies id-Cells-Failed-to-be-Activated-List
+Cells-Failed-to-be-Activated-List-Item N f1ap.ies id-Cells-Failed-to-be-Activated-List-Item
+Cells-to-be-Activated-List N f1ap.ies id-Cells-to-be-Activated-List
+Cells-to-be-Activated-List-Item N f1ap.ies id-Cells-to-be-Activated-List-Item
+Cells-to-be-Deactivated-List N f1ap.ies id-Cells-to-be-Deactivated-List
+Cells-to-be-Deactivated-List-Item N f1ap.ies id-Cells-to-be-Deactivated-List-Item
+CriticalityDiagnostics N f1ap.ies id-CriticalityDiagnostics
+CUtoDURRCInformation N f1ap.ies id-CUtoDURRCInformation
+DRBs-FailedToBeModified-Item N f1ap.ies id-DRBs-FailedToBeModified-Item
+DRBs-FailedToBeModified-List N f1ap.ies id-DRBs-FailedToBeModified-List
+DRBs-FailedToBeSetup-Item N f1ap.ies id-DRBs-FailedToBeSetup-Item
+DRBs-FailedToBeSetup-List N f1ap.ies id-DRBs-FailedToBeSetup-List
+DRBs-FailedToBeSetupMod-Item N f1ap.ies id-DRBs-FailedToBeSetupMod-Item
+DRBs-FailedToBeSetupMod-List N f1ap.ies id-DRBs-FailedToBeSetupMod-List
+DRBs-ModifiedConf-Item N f1ap.ies id-DRBs-ModifiedConf-Item
+DRBs-ModifiedConf-List N f1ap.ies id-DRBs-ModifiedConf-List
+DRBs-Modified-Item N f1ap.ies id-DRBs-Modified-Item
+DRBs-Modified-List N f1ap.ies id-DRBs-Modified-List
+DRBs-Required-ToBeModified-Item N f1ap.ies id-DRBs-Required-ToBeModified-Item
+DRBs-Required-ToBeModified-List N f1ap.ies id-DRBs-Required-ToBeModified-List
+DRBs-Required-ToBeReleased-Item N f1ap.ies id-DRBs-Required-ToBeReleased-Item
+DRBs-Required-ToBeReleased-List N f1ap.ies id-DRBs-Required-ToBeReleased-List
+DRBs-Setup-Item N f1ap.ies id-DRBs-Setup-Item
+DRBs-Setup-List N f1ap.ies id-DRBs-Setup-List
+DRBs-SetupMod-Item N f1ap.ies id-DRBs-SetupMod-Item
+DRBs-SetupMod-List N f1ap.ies id-DRBs-SetupMod-List
+DRBs-ToBeModified-Item N f1ap.ies id-DRBs-ToBeModified-Item
+DRBs-ToBeModified-List N f1ap.ies id-DRBs-ToBeModified-List
+DRBs-ToBeReleased-Item N f1ap.ies id-DRBs-ToBeReleased-Item
+DRBs-ToBeReleased-List N f1ap.ies id-DRBs-ToBeReleased-List
+DRBs-ToBeSetup-Item N f1ap.ies id-DRBs-ToBeSetup-Item
+DRBs-ToBeSetup-List N f1ap.ies id-DRBs-ToBeSetup-List
+DRBs-ToBeSetupMod-Item N f1ap.ies id-DRBs-ToBeSetupMod-Item
+DRBs-ToBeSetupMod-List N f1ap.ies id-DRBs-ToBeSetupMod-List
+DRXCycle N f1ap.ies id-DRXCycle
+DUtoCURRCInformation N f1ap.ies id-DUtoCURRCInformation
+GNB-CU-UE-F1AP-ID N f1ap.ies id-gNB-CU-UE-F1AP-ID
+GNB-DU-UE-F1AP-ID N f1ap.ies id-gNB-DU-UE-F1AP-ID
+GNB-DU-ID N f1ap.ies id-gNB-DU-ID
+GNB-DU-Served-Cells-Item N f1ap.ies id-GNB-DU-Served-Cells-Item
+GNB-DU-Served-Cells-List N f1ap.ies id-gNB-DU-Served-Cells-List
+GNB-DU-Name N f1ap.ies id-gNB-DU-Name
+GNB-DU-UE-F1AP-ID N f1ap.ies id-oldgNB-DU-UE-F1AP-ID
+ResetType N f1ap.ies id-ResetType
+ResourceCoordinationTransferContainer N f1ap.ies id-ResourceCoordinationTransferContainer
+RRCContainer N f1ap.ies id-RRCContainer
+SCell-ToBeRemoved-Item N f1ap.ies id-SCell-ToBeRemoved-Item
+SCell-ToBeRemoved-List N f1ap.ies id-SCell-ToBeRemoved-List
+SCell-ToBeSetup-Item N f1ap.ies id-SCell-ToBeSetup-Item
+SCell-ToBeSetup-List N f1ap.ies id-SCell-ToBeSetup-List
+SCell-ToBeSetupMod-Item N f1ap.ies id-SCell-ToBeSetupMod-Item
+SCell-ToBeSetupMod-List N f1ap.ies id-SCell-ToBeSetupMod-List
+Served-Cells-To-Add-Item N f1ap.ies id-Served-Cells-To-Add-Item
+Served-Cells-To-Add-List N f1ap.ies id-Served-Cells-To-Add-List
+Served-Cells-To-Delete-Item N f1ap.ies id-Served-Cells-To-Delete-Item
+Served-Cells-To-Delete-List N f1ap.ies id-Served-Cells-To-Delete-List
+Served-Cells-To-Modify-Item N f1ap.ies id-Served-Cells-To-Modify-Item
+Served-Cells-To-Modify-List N f1ap.ies id-Served-Cells-To-Modify-List
+NRCGI N f1ap.ies id-SpCell-ID
+SRBID N f1ap.ies id-SRBID
+SRBs-FailedToBeSetup-Item N f1ap.ies id-SRBs-FailedToBeSetup-Item
+SRBs-FailedToBeSetup-List N f1ap.ies id-SRBs-FailedToBeSetup-List
+SRBs-FailedToBeSetupMod-Item N f1ap.ies id-SRBs-FailedToBeSetupMod-Item
+SRBs-FailedToBeSetupMod-List N f1ap.ies id-SRBs-FailedToBeSetupMod-List
+SRBs-Required-ToBeReleased-Item N f1ap.ies id-SRBs-Required-ToBeReleased-Item
+SRBs-Required-ToBeReleased-List N f1ap.ies id-SRBs-Required-ToBeReleased-List
+SRBs-ToBeReleased-Item N f1ap.ies id-SRBs-ToBeReleased-Item
+SRBs-ToBeReleased-List N f1ap.ies id-SRBs-ToBeReleased-List
+SRBs-ToBeSetup-Item N f1ap.ies id-SRBs-ToBeSetup-Item
+SRBs-ToBeSetup-List N f1ap.ies id-SRBs-ToBeSetup-List
+SRBs-ToBeSetupMod-Item N f1ap.ies id-SRBs-ToBeSetupMod-Item
+SRBs-ToBeSetupMod-List N f1ap.ies id-SRBs-ToBeSetupMod-List
+TimeToWait N f1ap.ies id-TimeToWait
+TransactionID N f1ap.ies id-TransactionID
+TransmissionActionIndicator N f1ap.ies id-TransmissionActionIndicator
+UE-associatedLogicalF1-ConnectionItem N f1ap.ies id-UE-associatedLogicalF1-ConnectionItem
+UE-associatedLogicalF1-ConnectionListResAck N f1ap.ies id-UE-associatedLogicalF1-ConnectionListResAck
+GNB-CU-Name N f1ap.ies id-gNB-CU-Name
+SCell-FailedtoSetup-List N f1ap.ies id-SCell-FailedtoSetup-List
+SCell-FailedtoSetup-Item N f1ap.ies id-SCell-FailedtoSetup-Item
+SCell-FailedtoSetupMod-List N f1ap.ies id-SCell-FailedtoSetupMod-List
+SCell-FailedtoSetupMod-Item N f1ap.ies id-SCell-FailedtoSetupMod-Item
+RRCReconfigurationCompleteIndicator N f1ap.ies id-RRCReconfigurationCompleteIndicator
+Cells-Status-Item N f1ap.ies id-Cells-Status-Item
+Cells-Status-List N f1ap.ies id-Cells-Status-List
+Candidate-SpCell-List N f1ap.ies id-Candidate-SpCell-List
+Candidate-SpCell-Item N f1ap.ies id-Candidate-SpCell-Item
+Potential-SpCell-List N f1ap.ies id-Potential-SpCell-List
+Potential-SpCell-Item N f1ap.ies id-Potential-SpCell-Item
+FullConfiguration N f1ap.ies id-FullConfiguration
+C-RNTI N f1ap.ies id-C-RNTI
+CellULConfigured N f1ap.ies id-SpCellULConfigured
+InactivityMonitoringRequest N f1ap.ies id-InactivityMonitoringRequest
+InactivityMonitoringResponse N f1ap.ies id-InactivityMonitoringResponse
+DRB-Activity-Item N f1ap.ies id-DRB-Activity-Item
+DRB-Activity-List N f1ap.ies id-DRB-Activity-List
+EUTRA-NR-CellResourceCoordinationReq-Container N f1ap.ies id-EUTRA-NR-CellResourceCoordinationReq-Container
+EUTRA-NR-CellResourceCoordinationReqAck-Container N f1ap.ies id-EUTRA-NR-CellResourceCoordinationReqAck-Container
+Protected-EUTRA-Resources-List N f1ap.ies id-Protected-EUTRA-Resources-List
+RequestType N f1ap.ies id-RequestType
+ServCellIndex N f1ap.ies id-ServCellIndex
+RAT-FrequencyPriorityInformation N f1ap.ies id-RAT-FrequencyPriorityInformation
+ExecuteDuplication N f1ap.ies id-ExecuteDuplication
+NRCGI N f1ap.ies id-NRCGI
+PagingCell-Item N f1ap.ies id-PagingCell-Item
+PagingCell-list N f1ap.ies id-PagingCell-List
+PagingDRX N f1ap.ies id-PagingDRX
+PagingPriority N f1ap.ies id-PagingPriority
+SItype-List N f1ap.ies id-SItype-List
+UEIdentityIndexValue N f1ap.ies id-UEIdentityIndexValue
+GNB-CU-TNL-Association-To-Add-Item N f1ap.ies id-GNB-CU-TNL-Association-To-Add-Item
+GNB-CU-TNL-Association-To-Add-List N f1ap.ies id-GNB-CU-TNL-Association-To-Add-List
+GNB-CU-TNL-Association-To-Remove-Item N f1ap.ies id-GNB-CU-TNL-Association-To-Remove-Item
+GNB-CU-TNL-Association-To-Remove-List N f1ap.ies id-GNB-CU-TNL-Association-To-Remove-List
+GNB-CU-TNL-Association-To-Update-Item N f1ap.ies id-GNB-CU-TNL-Association-To-Update-Item
+GNB-CU-TNL-Association-To-Update-List N f1ap.ies id-GNB-CU-TNL-Association-To-Update-List
+MaskedIMEISV N f1ap.ies id-MaskedIMEISV
+PagingIdentity N f1ap.ies id-PagingIdentity
+DUtoCURRCContainer N f1ap.ies id-DUtoCURRCContainer
+Cells-to-be-Barred-List N f1ap.ies id-Cells-to-be-Barred-List
+Cells-to-be-Barred-Item N f1ap.ies id-Cells-to-be-Barred-Item
+GNB-CU-TNL-Association-Setup-List N f1ap.ies id-GNB-CU-TNL-Association-Setup-List
+GNB-CU-TNL-Association-Setup-Item N f1ap.ies id-GNB-CU-TNL-Association-Setup-Item
+GNB-CU-TNL-Association-Failed-To-Setup-List N f1ap.ies id-GNB-CU-TNL-Association-Failed-To-Setup-List
+GNB-CU-TNL-Association-Failed-To-Setup-Item N f1ap.ies id-GNB-CU-TNL-Association-Failed-To-Setup-Item
+DRB-Notify-Item N f1ap.ies id-DRB-Notify-Item
+DRB-Notify-List N f1ap.ies id-DRB-Notify-List
+PWSSystemInformation N f1ap.ies id-PWSSystemInformation
+RepetitionPeriod N f1ap.ies id-RepetitionPeriod
+NumberofBroadcastRequest N f1ap.ies id-NumberofBroadcastRequest
+Cells-To-Be-Broadcast-List N f1ap.ies id-Cells-To-Be-Broadcast-List
+Cells-To-Be-Broadcast-Item N f1ap.ies id-Cells-To-Be-Broadcast-Item
+Cells-Broadcast-Completed-List N f1ap.ies id-Cells-Broadcast-Completed-List
+Cells-Broadcast-Completed-Item N f1ap.ies id-Cells-Broadcast-Completed-Item
+Broadcast-To-Be-Cancelled-List N f1ap.ies id-Broadcast-To-Be-Cancelled-List
+Broadcast-To-Be-Cancelled-Item N f1ap.ies id-Broadcast-To-Be-Cancelled-Item
+Cells-Broadcast-Cancelled-List N f1ap.ies id-Cells-Broadcast-Cancelled-List
+Cells-Broadcast-Cancelled-Item N f1ap.ies id-Cells-Broadcast-Cancelled-Item
+NR-CGI-List-For-Restart-List N f1ap.ies id-NR-CGI-List-For-Restart-List
+NR-CGI-List-For-Restart-Item N f1ap.ies id-NR-CGI-List-For-Restart-Item
+PWS-Failed-NR-CGI-List N f1ap.ies id-PWS-Failed-NR-CGI-List
+PWS-Failed-NR-CGI-Item N f1ap.ies id-PWS-Failed-NR-CGI-Item
+GNB-DU-UE-F1AP-ID N f1ap.ies id-ConfirmedUEID
+Cancel-all-Warning-Messages-Indicator N f1ap.ies id-Cancel-all-Warning-Messages-Indicator
+BitRate N f1ap.ies id-GNB-DU-UE-AMBR-UL
+DRXConfigurationIndicator N f1ap.ies id-DRXConfigurationIndicator
+GNB-DUConfigurationQuery N f1ap.ies id-GNB-DUConfigurationQuery
+DRB-Information N f1ap.ies id-DRB-Information
+PLMN-Identity N f1ap.ies id-ServingPLMN
+Protected-EUTRA-Resources-Item N f1ap.ies id-Protected-EUTRA-Resources-Item
+RRC-Version N f1ap.ies id-GNB-CU-RRC-Version
+RRC-Version N f1ap.ies id-GNB-DU-RRC-Version
+GNBDUOverloadInformation N f1ap.ies id-GNBDUOverloadInformation
+RLCFailureIndication N f1ap.ies id-RLCFailureIndication
+UplinkTxDirectCurrentListInformation N f1ap.ies id-UplinkTxDirectCurrentListInformation
+SULAccessIndication N f1ap.ies id-SULAccessIndication
+ServingCellMO N f1ap.ies id-ServingCellMO
+RRCDeliveryStatusRequest N f1ap.ies id-RRCDeliveryStatusRequest
+RRCDeliveryStatus N f1ap.ies id-RRCDeliveryStatus
+Dedicated-SIDelivery-NeededUE-List N f1ap.ies id-Dedicated-SIDelivery-NeededUE-List
+Dedicated-SIDelivery-NeededUE-Item N f1ap.ies id-Dedicated-SIDelivery-NeededUE-Item
+Associated-SCell-List N f1ap.ies id-Associated-SCell-List
+Associated-SCell-Item N f1ap.ies id-Associated-SCell-Item
+SRBs-Setup-List N f1ap.ies id-SRBs-Setup-List
+SRBs-Setup-Item N f1ap.ies id-SRBs-Setup-Item
+SRBs-SetupMod-List N f1ap.ies id-SRBs-SetupMod-List
+SRBs-SetupMod-Item N f1ap.ies id-SRBs-SetupMod-Item
+SRBs-Modified-List N f1ap.ies id-SRBs-Modified-List
+SRBs-Modified-Item N f1ap.ies id-SRBs-Modified-Item
+IgnoreResourceCoordinationContainer N f1ap.ies id-IgnoreResourceCoordinationContainer
+NeedforGap N f1ap.ies id-NeedforGap
+PagingOrigin N f1ap.ies id-PagingOrigin
+GNB-CU-UE-F1AP-ID N f1ap.ies id-new-gNB-CU-UE-F1AP-ID
+RedirectedRRCmessage N f1ap.ies id-RedirectedRRCmessage
+GNB-DU-UE-F1AP-ID N f1ap.ies id-new-gNB-DU-UE-F1AP-ID
+NotificationInformation N f1ap.ies id-NotificationInformation
+PLMN-Identity N f1ap.ies id-PLMNAssistanceInfoForNetShar
+UEContextNotRetrievable N f1ap.ies id-UEContextNotRetrievable
+PLMN-Identity N f1ap.ies id-SelectedPLMNID
+UAC-Assistance-Info N f1ap.ies id-UAC-Assistance-Info
+RANUEID N f1ap.ies id-RANUEID
+GNB-DU-TNL-Association-To-Remove-Item N f1ap.ies id-GNB-DU-TNL-Association-To-Remove-Item
+GNB-DU-TNL-Association-To-Remove-List N f1ap.ies id-GNB-DU-TNL-Association-To-Remove-List
+RRCContainer-RRCSetupComplete N f1ap.ies id-RRCContainer-RRCSetupComplete
+TraceActivation N f1ap.ies id-TraceActivation
+TraceID N f1ap.ies id-TraceID
+Neighbour-Cell-Information-List N f1ap.ies id-Neighbour-Cell-Information-List
+AdditionalRRMPriorityIndex N f1ap.ies id-AdditionalRRMPriorityIndex
+DUCURadioInformationType N f1ap.ies id-DUCURadioInformationType
+CUDURadioInformationType N f1ap.ies id-CUDURadioInformationType
+LowerLayerPresenceStatusChange N f1ap.ies id-LowerLayerPresenceStatusChange
+Transport-Layer-Address-Info N f1ap.ies id-Transport-Layer-Address-Info
+Neighbour-Cell-Information-Item N f1ap.ies id-Neighbour-Cell-Information-Item
+BHChannels-ToBeSetup-List N f1ap.ies id-BHChannels-ToBeSetup-List
+BHChannels-ToBeSetup-Item N f1ap.ies id-BHChannels-ToBeSetup-Item
+BHChannels-Setup-List N f1ap.ies id-BHChannels-Setup-List
+BHChannels-Setup-Item N f1ap.ies id-BHChannels-Setup-Item
+BHChannels-ToBeModified-Item N f1ap.ies id-BHChannels-ToBeModified-Item
+BHChannels-ToBeModified-List N f1ap.ies id-BHChannels-ToBeModified-List
+BHChannels-ToBeReleased-Item N f1ap.ies id-BHChannels-ToBeReleased-Item
+BHChannels-ToBeReleased-List N f1ap.ies id-BHChannels-ToBeReleased-List
+BHChannels-ToBeSetupMod-Item N f1ap.ies id-BHChannels-ToBeSetupMod-Item
+BHChannels-ToBeSetupMod-List N f1ap.ies id-BHChannels-ToBeSetupMod-List
+BHChannels-FailedToBeModified-Item N f1ap.ies id-BHChannels-FailedToBeModified-Item
+BHChannels-FailedToBeModified-List N f1ap.ies id-BHChannels-FailedToBeModified-List
+BHChannels-FailedToBeSetupMod-Item N f1ap.ies id-BHChannels-FailedToBeSetupMod-Item
+BHChannels-FailedToBeSetupMod-List N f1ap.ies id-BHChannels-FailedToBeSetupMod-List
+BHChannels-Modified-Item N f1ap.ies id-BHChannels-Modified-Item
+BHChannels-Modified-List N f1ap.ies id-BHChannels-Modified-List
+BHChannels-SetupMod-Item N f1ap.ies id-BHChannels-SetupMod-Item
+BHChannels-SetupMod-List N f1ap.ies id-BHChannels-SetupMod-List
+BHChannels-Required-ToBeReleased-Item N f1ap.ies id-BHChannels-Required-ToBeReleased-Item
+BHChannels-Required-ToBeReleased-List N f1ap.ies id-BHChannels-Required-ToBeReleased-List
+BHChannels-FailedToBeSetup-Item N f1ap.ies id-BHChannels-FailedToBeSetup-Item
+BHChannels-FailedToBeSetup-List N f1ap.ies id-BHChannels-FailedToBeSetup-List
+BAPAddress N f1ap.ies id-BAPAddress
+BAPAddress N f1ap.ies id-ConfiguredBAPAddress
+BH-Routing-Information-Added-List N f1ap.ies id-BH-Routing-Information-Added-List
+BH-Routing-Information-Added-List-Item N f1ap.ies id-BH-Routing-Information-Added-List-Item
+BH-Routing-Information-Removed-List N f1ap.ies id-BH-Routing-Information-Removed-List
+BH-Routing-Information-Removed-List-Item N f1ap.ies id-BH-Routing-Information-Removed-List-Item
+UL-BH-Non-UP-Traffic-Mapping N f1ap.ies id-UL-BH-Non-UP-Traffic-Mapping
+Activated-Cells-to-be-Updated-List N f1ap.ies id-Activated-Cells-to-be-Updated-List
+Child-Nodes-List N f1ap.ies id-Child-Nodes-List
+IAB-TNL-Addresses-To-Remove-List N f1ap.ies id-IAB-TNL-Addresses-To-Remove-List
+IAB-TNL-Addresses-To-Remove-Item N f1ap.ies id-IAB-TNL-Addresses-To-Remove-Item
+IAB-Allocated-TNL-Address-List N f1ap.ies id-IAB-Allocated-TNL-Address-List
+IAB-Allocated-TNL-Address-Item N f1ap.ies id-IAB-Allocated-TNL-Address-Item
+IABIPv6RequestType N f1ap.ies id-IABIPv6RequestType
+IABv4AddressesRequested N f1ap.ies id-IABv4AddressesRequested
+TrafficMappingInfo N f1ap.ies id-TrafficMappingInformation
+UL-UP-TNL-Information-to-Update-List N f1ap.ies id-UL-UP-TNL-Information-to-Update-List
+UL-UP-TNL-Information-to-Update-List-Item N f1ap.ies id-UL-UP-TNL-Information-to-Update-List-Item
+UL-UP-TNL-Address-to-Update-List N f1ap.ies id-UL-UP-TNL-Address-to-Update-List
+UL-UP-TNL-Address-to-Update-List-Item N f1ap.ies id-UL-UP-TNL-Address-to-Update-List-Item
+DL-UP-TNL-Address-to-Update-List N f1ap.ies id-DL-UP-TNL-Address-to-Update-List
+DL-UP-TNL-Address-to-Update-List-Item N f1ap.ies id-DL-UP-TNL-Address-to-Update-List-Item
+NRV2XServicesAuthorized N f1ap.ies id-NRV2XServicesAuthorized
+LTEV2XServicesAuthorized N f1ap.ies id-LTEV2XServicesAuthorized
+NRUESidelinkAggregateMaximumBitrate N f1ap.ies id-NRUESidelinkAggregateMaximumBitrate
+LTEUESidelinkAggregateMaximumBitrate N f1ap.ies id-LTEUESidelinkAggregateMaximumBitrate
+SLDRBs-FailedToBeModified-Item N f1ap.ies id-SLDRBs-FailedToBeModified-Item
+SLDRBs-FailedToBeModified-List N f1ap.ies id-SLDRBs-FailedToBeModified-List
+SLDRBs-FailedToBeSetup-Item N f1ap.ies id-SLDRBs-FailedToBeSetup-Item
+SLDRBs-FailedToBeSetup-List N f1ap.ies id-SLDRBs-FailedToBeSetup-List
+SLDRBs-Modified-Item N f1ap.ies id-SLDRBs-Modified-Item
+SLDRBs-Modified-List N f1ap.ies id-SLDRBs-Modified-List
+SLDRBs-Required-ToBeModified-Item N f1ap.ies id-SLDRBs-Required-ToBeModified-Item
+SLDRBs-Required-ToBeModified-List N f1ap.ies id-SLDRBs-Required-ToBeModified-List
+SLDRBs-Required-ToBeReleased-Item N f1ap.ies id-SLDRBs-Required-ToBeReleased-Item
+SLDRBs-Required-ToBeReleased-List N f1ap.ies id-SLDRBs-Required-ToBeReleased-List
+SLDRBs-Setup-Item N f1ap.ies id-SLDRBs-Setup-Item
+SLDRBs-Setup-List N f1ap.ies id-SLDRBs-Setup-List
+SLDRBs-ToBeModified-Item N f1ap.ies id-SLDRBs-ToBeModified-Item
+SLDRBs-ToBeModified-List N f1ap.ies id-SLDRBs-ToBeModified-List
+SLDRBs-ToBeReleased-Item N f1ap.ies id-SLDRBs-ToBeReleased-Item
+SLDRBs-ToBeReleased-List N f1ap.ies id-SLDRBs-ToBeReleased-List
+SLDRBs-ToBeSetup-Item N f1ap.ies id-SLDRBs-ToBeSetup-Item
+SLDRBs-ToBeSetup-List N f1ap.ies id-SLDRBs-ToBeSetup-List
+SLDRBs-ToBeSetupMod-Item N f1ap.ies id-SLDRBs-ToBeSetupMod-Item
+SLDRBs-ToBeSetupMod-List N f1ap.ies id-SLDRBs-ToBeSetupMod-List
+SLDRBs-SetupMod-List N f1ap.ies id-SLDRBs-SetupMod-List
+SLDRBs-FailedToBeSetupMod-List N f1ap.ies id-SLDRBs-FailedToBeSetupMod-List
+SLDRBs-SetupMod-Item N f1ap.ies id-SLDRBs-SetupMod-Item
+SLDRBs-FailedToBeSetupMod-Item N f1ap.ies id-SLDRBs-FailedToBeSetupMod-Item
+SLDRBs-ModifiedConf-List N f1ap.ies id-SLDRBs-ModifiedConf-List
+SLDRBs-ModifiedConf-Item N f1ap.ies id-SLDRBs-ModifiedConf-Item
+BitRate N f1ap.ies id-PC5LinkAMBR
+GNBCUMeasurementID N f1ap.ies id-gNBCUMeasurementID
+GNBDUMeasurementID N f1ap.ies id-gNBDUMeasurementID
+RegistrationRequest N f1ap.ies id-RegistrationRequest
+ReportCharacteristics N f1ap.ies id-ReportCharacteristics
+CellToReportList N f1ap.ies id-CellToReportList
+CellMeasurementResultList N f1ap.ies id-CellMeasurementResultList
+HardwareLoadIndicator N f1ap.ies id-HardwareLoadIndicator
+ReportingPeriodicity N f1ap.ies id-ReportingPeriodicity
+TNLCapacityIndicator N f1ap.ies id-TNLCapacityIndicator
+RACHReportInformationList N f1ap.ies id-RACHReportInformationList
+RLFReportInformationList N f1ap.ies id-RLFReportInformationList
+ReportingRequestType N f1ap.ies id-ReportingRequestType
+TimeReferenceInformation N f1ap.ies id-TimeReferenceInformation
+ConditionalInterDUMobilityInformation N f1ap.ies id-ConditionalInterDUMobilityInformation
+ConditionalIntraDUMobilityInformation N f1ap.ies id-ConditionalIntraDUMobilityInformation
+TargetCellList N f1ap.ies id-targetCellsToCancel
+NRCGI N f1ap.ies id-requestedTargetCellGlobalID
+MDTPLMNList N f1ap.ies id-ManagementBasedMDTPLMNList
+TransportLayerAddress N f1ap.ies id-TraceCollectionEntityIPAddress
+PrivacyIndicator N f1ap.ies id-PrivacyIndicator
+URI-address N f1ap.ies id-TraceCollectionEntityURI
+NID N f1ap.ies id-ServingNID
+RequestedSRSTransmissionCharacteristics N f1ap.ies id-RequestedSRSTransmissionCharacteristics
+PosAssistance-Information N f1ap.ies id-PosAssistance-Information
+PosBroadcast N f1ap.ies id-PosBroadcast
+RoutingID N f1ap.ies id-RoutingID
+PosAssistanceInformationFailureList N f1ap.ies id-PosAssistanceInformationFailureList
+PosMeasurementQuantities N f1ap.ies id-PosMeasurementQuantities
+PosMeasurementResultList N f1ap.ies id-PosMeasurementResultList
+TRPInformationTypeListTRPReq N f1ap.ies id-TRPInformationTypeListTRPReq
+TRPInformationTypeItem N f1ap.ies id-TRPInformationTypeItem
+TRPInformationListTRPResp N f1ap.ies id-TRPInformationListTRPResp
+TRPInformationItem N f1ap.ies id-TRPInformationItem
+LMF-MeasurementID N f1ap.ies id-LMF-MeasurementID
+SRSType N f1ap.ies id-SRSType
+RelativeTime1900 N f1ap.ies id-ActivationTime
+AbortTransmission N f1ap.ies id-AbortTransmission
+PositioningBroadcastCells N f1ap.ies id-PositioningBroadcastCells
+SRSConfiguration N f1ap.ies id-SRSConfiguration
+PosReportCharacteristics N f1ap.ies id-PosReportCharacteristics
+MeasurementPeriodicity N f1ap.ies id-PosMeasurementPeriodicity
+TRPList N f1ap.ies id-TRPList
+RAN-MeasurementID N f1ap.ies id-RAN-MeasurementID
+LMF-UE-MeasurementID N f1ap.ies id-LMF-UE-MeasurementID
+RAN-UE-MeasurementID N f1ap.ies id-RAN-UE-MeasurementID
+E-CID-MeasurementQuantities N f1ap.ies id-E-CID-MeasurementQuantities
+E-CID-MeasurementQuantities-Item N f1ap.ies id-E-CID-MeasurementQuantities-Item
+MeasurementPeriodicity N f1ap.ies id-E-CID-MeasurementPeriodicity
+E-CID-MeasurementResult N f1ap.ies id-E-CID-MeasurementResult
+Cell-Portion-ID N f1ap.ies id-Cell-Portion-ID
+RelativeTime1900 N f1ap.ies id-SFNInitialisationTime
+SystemFrameNumber N f1ap.ies id-SystemFrameNumber
+SlotNumber N f1ap.ies id-SlotNumber
+TRP-MeasurementRequestList N f1ap.ies id-TRP-MeasurementRequestList
+MeasurementBeamInfoRequest N f1ap.ies id-MeasurementBeamInfoRequest
+E-CID-ReportCharacteristics N f1ap.ies id-E-CID-ReportCharacteristics
+Extended-GNB-CU-Name N f1ap.ies id-Extended-GNB-CU-Name
+Extended-GNB-DU-Name N f1ap.ies id-Extended-GNB-DU-Name
+F1CTransferPath N f1ap.ies id-F1CTransferPath
+SCGIndicator N f1ap.ies id-SCGIndicator
+TRPType N f1ap.ies id-TRPType
+MeasurementPeriodicityExtended N f1ap.ies id-PosMeasurementPeriodicityExtended
+SuccessfulHOReportInformationList N f1ap.ies id-SuccessfulHOReportInformationList
+CellsForSON-List N f1ap.ies id-CellsForSON-List
+GNB-CU-MBS-F1AP-ID N f1ap.ies id-gNB-CU-MBS-F1AP-ID
+GNB-DU-MBS-F1AP-ID N f1ap.ies id-gNB-DU-MBS-F1AP-ID
+MBS-CUtoDURRCInformation N f1ap.ies id-MBS-CUtoDURRCInformation
+SNSSAI N f1ap.ies id-SNSSAI
+BroadcastMRBs-FailedToBeModified-List N f1ap.ies id-BroadcastMRBs-FailedToBeModified-List
+BroadcastMRBs-FailedToBeModified-Item N f1ap.ies id-BroadcastMRBs-FailedToBeModified-Item
+BroadcastMRBs-FailedToBeSetup-List N f1ap.ies id-BroadcastMRBs-FailedToBeSetup-List
+BroadcastMRBs-FailedToBeSetup-Item N f1ap.ies id-BroadcastMRBs-FailedToBeSetup-Item
+BroadcastMRBs-FailedToBeSetupMod-List N f1ap.ies id-BroadcastMRBs-FailedToBeSetupMod-List
+BroadcastMRBs-FailedToBeSetupMod-Item N f1ap.ies id-BroadcastMRBs-FailedToBeSetupMod-Item
+BroadcastMRBs-Modified-List N f1ap.ies id-BroadcastMRBs-Modified-List
+BroadcastMRBs-Modified-Item N f1ap.ies id-BroadcastMRBs-Modified-Item
+BroadcastMRBs-Setup-List N f1ap.ies id-BroadcastMRBs-Setup-List
+BroadcastMRBs-Setup-Item N f1ap.ies id-BroadcastMRBs-Setup-Item
+BroadcastMRBs-SetupMod-List N f1ap.ies id-BroadcastMRBs-SetupMod-List
+BroadcastMRBs-SetupMod-Item N f1ap.ies id-BroadcastMRBs-SetupMod-Item
+BroadcastMRBs-ToBeModified-List N f1ap.ies id-BroadcastMRBs-ToBeModified-List
+BroadcastMRBs-ToBeModified-Item N f1ap.ies id-BroadcastMRBs-ToBeModified-Item
+BroadcastMRBs-ToBeReleased-List N f1ap.ies id-BroadcastMRBs-ToBeReleased-List
+BroadcastMRBs-ToBeReleased-Item N f1ap.ies id-BroadcastMRBs-ToBeReleased-Item
+BroadcastMRBs-ToBeSetup-List N f1ap.ies id-BroadcastMRBs-ToBeSetup-List
+BroadcastMRBs-ToBeSetup-Item N f1ap.ies id-BroadcastMRBs-ToBeSetup-Item
+BroadcastMRBs-ToBeSetupMod-List N f1ap.ies id-BroadcastMRBs-ToBeSetupMod-List
+BroadcastMRBs-ToBeSetupMod-Item N f1ap.ies id-BroadcastMRBs-ToBeSetupMod-Item
+UEIdentity-List-For-Paging-List N f1ap.ies id-UEIdentity-List-For-Paging-List
+UEIdentity-List-For-Paging-Item N f1ap.ies id-UEIdentity-List-For-Paging-Item
+MBS-ServiceArea N f1ap.ies id-MBS-ServiceArea
+MulticastMRBs-FailedToBeModified-List N f1ap.ies id-MulticastMRBs-FailedToBeModified-List
+MulticastMRBs-FailedToBeModified-Item N f1ap.ies id-MulticastMRBs-FailedToBeModified-Item
+MulticastMRBs-FailedToBeSetup-List N f1ap.ies id-MulticastMRBs-FailedToBeSetup-List
+MulticastMRBs-FailedToBeSetup-Item N f1ap.ies id-MulticastMRBs-FailedToBeSetup-Item
+MulticastMRBs-FailedToBeSetupMod-List N f1ap.ies id-MulticastMRBs-FailedToBeSetupMod-List
+MulticastMRBs-FailedToBeSetupMod-Item N f1ap.ies id-MulticastMRBs-FailedToBeSetupMod-Item
+MulticastMRBs-Modified-List N f1ap.ies id-MulticastMRBs-Modified-List
+MulticastMRBs-Modified-Item N f1ap.ies id-MulticastMRBs-Modified-Item
+MulticastMRBs-Setup-List N f1ap.ies id-MulticastMRBs-Setup-List
+MulticastMRBs-Setup-Item N f1ap.ies id-MulticastMRBs-Setup-Item
+MulticastMRBs-SetupMod-List N f1ap.ies id-MulticastMRBs-SetupMod-List
+MulticastMRBs-SetupMod-Item N f1ap.ies id-MulticastMRBs-SetupMod-Item
+MulticastMRBs-ToBeModified-List N f1ap.ies id-MulticastMRBs-ToBeModified-List
+MulticastMRBs-ToBeModified-Item N f1ap.ies id-MulticastMRBs-ToBeModified-Item
+MulticastMRBs-ToBeReleased-List N f1ap.ies id-MulticastMRBs-ToBeReleased-List
+MulticastMRBs-ToBeReleased-Item N f1ap.ies id-MulticastMRBs-ToBeReleased-Item
+MulticastMRBs-ToBeSetup-List N f1ap.ies id-MulticastMRBs-ToBeSetup-List
+MulticastMRBs-ToBeSetup-Item N f1ap.ies id-MulticastMRBs-ToBeSetup-Item
+MulticastMRBs-ToBeSetupMod-List N f1ap.ies id-MulticastMRBs-ToBeSetupMod-List
+MulticastMRBs-ToBeSetupMod-Item N f1ap.ies id-MulticastMRBs-ToBeSetupMod-Item
+MBSMulticastF1UContextDescriptor N f1ap.ies id-MBSMulticastF1UContextDescriptor
+MulticastF1UContext-ToBeSetup-List N f1ap.ies id-MulticastF1UContext-ToBeSetup-List
+MulticastF1UContext-ToBeSetup-Item N f1ap.ies id-MulticastF1UContext-ToBeSetup-Item
+MulticastF1UContext-Setup-List N f1ap.ies id-MulticastF1UContext-Setup-List
+MulticastF1UContext-Setup-Item N f1ap.ies id-MulticastF1UContext-Setup-Item
+MulticastF1UContext-FailedToBeSetup-List N f1ap.ies id-MulticastF1UContext-FailedToBeSetup-List
+MulticastF1UContext-FailedToBeSetup-Item N f1ap.ies id-MulticastF1UContext-FailedToBeSetup-Item
+IABCongestionIndication N f1ap.ies id-IABCongestionIndication
+IABConditionalRRCMessageDeliveryIndication N f1ap.ies id-IABConditionalRRCMessageDeliveryIndication
+F1CTransferPathNRDC N f1ap.ies id-F1CTransferPathNRDC
+BufferSizeThresh N f1ap.ies id-BufferSizeThresh
+IAB-TNL-Addresses-Exception N f1ap.ies id-IAB-TNL-Addresses-Exception
+BAP-Header-Rewriting-Added-List N f1ap.ies id-BAP-Header-Rewriting-Added-List
+BAP-Header-Rewriting-Added-List-Item N f1ap.ies id-BAP-Header-Rewriting-Added-List-Item
+Re-routingEnableIndicator N f1ap.ies id-Re-routingEnableIndicator
+Neighbour-Node-Cells-List N f1ap.ies id-Neighbour-Node-Cells-List
+Serving-Cells-List N f1ap.ies id-Serving-Cells-List
+MDTPollutedMeasurementIndicator N f1ap.ies id-MDTPollutedMeasurementIndicator
+PDCMeasurementPeriodicity N f1ap.ies id-PDCMeasurementPeriodicity
+PDCMeasurementQuantities N f1ap.ies id-PDCMeasurementQuantities
+PDCMeasurementQuantities-Item N f1ap.ies id-PDCMeasurementQuantities-Item
+PDCMeasurementResult N f1ap.ies id-PDCMeasurementResult
+PDCReportType N f1ap.ies id-PDCReportType
+RAN-UE-PDC-MeasID N f1ap.ies id-RAN-UE-PDC-MeasID
+SCGActivationRequest N f1ap.ies id-SCGActivationRequest
+SCGActivationStatus N f1ap.ies id-SCGActivationStatus
+PRSTRPList N f1ap.ies id-PRSTRPList
+PRSTransmissionTRPList N f1ap.ies id-PRSTransmissionTRPList
+OnDemandPRS-Info N f1ap.ies id-OnDemandPRS
+TRP-MeasurementUpdateList N f1ap.ies id-TRP-MeasurementUpdateList
+ZoAInformation N f1ap.ies id-ZoAInformation
+ResponseTime N f1ap.ies id-ResponseTime
+MultipleULAoA N f1ap.ies id-MultipleULAoA
+UL-SRS-RSRPP N f1ap.ies id-UL-SRS-RSRPP
+ExtendedAdditionalPathList N f1ap.ies id-ExtendedAdditionalPathList
+TRPTxTEGAssociation N f1ap.ies id-TRPTxTEGAssociation
+TRP-Rx-TEGInformation N f1ap.ies id-TRPRx-TEGInformation
+TRP-PRS-Info-List N f1ap.ies id-TRP-PRS-Info-List
+PRS-Measurement-Info-List N f1ap.ies id-PRS-Measurement-Info-List
+PRSConfigRequestType N f1ap.ies id-PRSConfigRequestType
+MeasurementTimeOccasion N f1ap.ies id-MeasurementTimeOccasion
+MeasurementCharacteristicsRequestIndicator N f1ap.ies id-MeasurementCharacteristicsRequestIndicator
+UEReportingInformation N f1ap.ies id-UEReportingInformation
+PosConextRevIndication N f1ap.ies id-PosConextRevIndication
+TRPBeamAntennaInformation N f1ap.ies id-TRPBeamAntennaInformation
+NRRedCapUEIndication N f1ap.ies id-NRRedCapUEIndication
+PagingDRX N f1ap.ies id-RANUEPagingDRX
+PagingDRX N f1ap.ies id-CNUEPagingDRX
+NRPagingeDRXInformation N f1ap.ies id-NRPagingeDRXInformation
+NRPagingeDRXInformationforRRCINACTIVE N f1ap.ies id-NRPagingeDRXInformationforRRCINACTIVE
+NR-TADV N f1ap.ies id-NR-TADV
+QoEInformation N f1ap.ies id-QoEInformation
+CG-SDTQueryIndication N f1ap.ies id-CG-SDTQueryIndication
+CG-SDTKeptIndicator N f1ap.ies id-CG-SDTKeptIndicator
+CG-SDTSessionInfo N f1ap.ies id-CG-SDTSessionInfoOld
+SDTInformation N f1ap.ies id-SDTInformation
+FiveG-ProSeAuthorized N f1ap.ies id-FiveG-ProSeAuthorized
+NRUESidelinkAggregateMaximumBitrate N f1ap.ies id-FiveG-ProSeUEPC5AggregateMaximumBitrate
+BitRate N f1ap.ies id-FiveG-ProSePC5LinkAMBR
+UuRLCChannelToBeSetupList N f1ap.ies id-UuRLCChannelToBeSetupList
+UuRLCChannelToBeModifiedList N f1ap.ies id-UuRLCChannelToBeModifiedList
+UuRLCChannelToBeReleasedList N f1ap.ies id-UuRLCChannelToBeReleasedList
+UuRLCChannelSetupList N f1ap.ies id-UuRLCChannelSetupList
+UuRLCChannelFailedToBeSetupList N f1ap.ies id-UuRLCChannelFailedToBeSetupList
+UuRLCChannelModifiedList N f1ap.ies id-UuRLCChannelModifiedList
+UuRLCChannelFailedToBeModifiedList N f1ap.ies id-UuRLCChannelFailedToBeModifiedList
+UuRLCChannelRequiredToBeModifiedList N f1ap.ies id-UuRLCChannelRequiredToBeModifiedList
+UuRLCChannelRequiredToBeReleasedList N f1ap.ies id-UuRLCChannelRequiredToBeReleasedList
+PC5RLCChannelToBeSetupList N f1ap.ies id-PC5RLCChannelToBeSetupList
+PC5RLCChannelToBeModifiedList N f1ap.ies id-PC5RLCChannelToBeModifiedList
+PC5RLCChannelToBeReleasedList N f1ap.ies id-PC5RLCChannelToBeReleasedList
+PC5RLCChannelSetupList N f1ap.ies id-PC5RLCChannelSetupList
+PC5RLCChannelFailedToBeSetupList N f1ap.ies id-PC5RLCChannelFailedToBeSetupList
+PC5RLCChannelFailedToBeModifiedList N f1ap.ies id-PC5RLCChannelFailedToBeModifiedList
+PC5RLCChannelRequiredToBeModifiedList N f1ap.ies id-PC5RLCChannelRequiredToBeModifiedList
+PC5RLCChannelRequiredToBeReleasedList N f1ap.ies id-PC5RLCChannelRequiredToBeReleasedList
+PC5RLCChannelModifiedList N f1ap.ies id-PC5RLCChannelModifiedList
+SidelinkRelayConfiguration N f1ap.ies id-SidelinkRelayConfiguration
+RemoteUELocalID N f1ap.ies id-UpdatedRemoteUELocalID
+PathSwitchConfiguration N f1ap.ies id-PathSwitchConfiguration
+PagingCause N f1ap.ies id-PagingCause
+PEIPSAssistanceInfo N f1ap.ies id-PEIPSAssistanceInfo
+UEPagingCapability N f1ap.ies id-UEPagingCapability
+GNBDUUESliceMaximumBitRateList N f1ap.ies id-GNBDUUESliceMaximumBitRateList
+UE-MulticastMRBs-ToBeReleased-List N f1ap.ies id-UE-MulticastMRBs-ToBeReleased-List
+UE-MulticastMRBs-ToBeReleased-Item N f1ap.ies id-UE-MulticastMRBs-ToBeReleased-Item
+UE-MulticastMRBs-ToBeSetup-List N f1ap.ies id-UE-MulticastMRBs-ToBeSetup-List
+UE-MulticastMRBs-ToBeSetup-Item N f1ap.ies id-UE-MulticastMRBs-ToBeSetup-Item
+MulticastMBSSessionList N f1ap.ies id-MulticastMBSSessionSetupList
+MulticastMBSSessionList N f1ap.ies id-MulticastMBSSessionRemoveList
+PosMeasurementAmount N f1ap.ies id-PosMeasurementAmount
+SDT-Termination-Request N f1ap.ies id-SDT-Termination-Request
+BAP-Header-Rewriting-Removed-List N f1ap.ies id-BAP-Header-Rewriting-Removed-List
+BAP-Header-Rewriting-Removed-List-Item N f1ap.ies id-BAP-Header-Rewriting-Removed-List-Item
+SLDRXCycleList N f1ap.ies id-SLDRXCycleList
+BroadcastAreaScope N f1ap.ies id-BroadcastAreaScope
+MDTPLMNModificationList N f1ap.ies id-ManagementBasedMDTPLMNModificationList
+ActivationRequestType N f1ap.ies id-ActivationRequestType
+PosMeasGapPreConfigList N f1ap.ies id-PosMeasGapPreConfigList
+UE-MulticastMRBs-ConfirmedToBeModified-List N f1ap.ies id-UE-MulticastMRBs-ConfirmedToBeModified-List
+UE-MulticastMRBs-ConfirmedToBeModified-Item N f1ap.ies id-UE-MulticastMRBs-ConfirmedToBeModified-Item
+UE-MulticastMRBs-RequiredToBeModified-List N f1ap.ies id-UE-MulticastMRBs-RequiredToBeModified-List
+UE-MulticastMRBs-RequiredToBeModified-Item N f1ap.ies id-UE-MulticastMRBs-RequiredToBeModified-Item
+UE-MulticastMRBs-RequiredToBeReleased-List N f1ap.ies id-UE-MulticastMRBs-RequiredToBeReleased-List
+UE-MulticastMRBs-RequiredToBeReleased-Item N f1ap.ies id-UE-MulticastMRBs-RequiredToBeReleased-Item
+L571Info N f1ap.ies id-L571Info
+L1151Info N f1ap.ies id-L1151Info
+SCS-480 N f1ap.ies id-SCS-480
+SCS-960 N f1ap.ies id-SCS-960
+SRSPosRRCInactiveConfig N f1ap.ies id-SRSPosRRCInactiveConfig
+SDTBearerConfigurationQueryIndication N f1ap.ies id-SDTBearerConfigurationQueryIndication
+SDTBearerConfigurationInfo N f1ap.ies id-SDTBearerConfigurationInfo
+UE-MulticastMRBs-Setup-List N f1ap.ies id-UE-MulticastMRBs-Setup-List
+UE-MulticastMRBs-Setup-Item N f1ap.ies id-UE-MulticastMRBs-Setup-Item
+MulticastF1UContextReferenceCU N f1ap.ies id-MulticastF1UContextReferenceCU
+PosSItypeList N f1ap.ies id-PosSItypeList
+DAPS-HO-Status N f1ap.ies id-DAPS-HO-Status
+UplinkTxDirectCurrentTwoCarrierListInfo N f1ap.ies id-UplinkTxDirectCurrentTwoCarrierListInfo
+UE-MulticastMRBs-ToBeSetup-atModify-List N f1ap.ies id-UE-MulticastMRBs-ToBeSetup-atModify-List
+UE-MulticastMRBs-ToBeSetup-atModify-Item N f1ap.ies id-UE-MulticastMRBs-ToBeSetup-atModify-Item
+MC-PagingCell-list N f1ap.ies id-MC-PagingCell-List
+MC-PagingCell-Item N f1ap.ies id-MC-PagingCell-Item
+SRSPosRRCInactiveQueryIndication N f1ap.ies id-SRSPosRRCInactiveQueryIndication
+UlTxDirectCurrentMoreCarrierInformation N f1ap.ies id-UlTxDirectCurrentMoreCarrierInformation
+CPACMCGInformation N f1ap.ies id-CPACMCGInformation
+ExtendedUEIdentityIndexValue N f1ap.ies id-ExtendedUEIdentityIndexValue
+ServingCellMO-List N f1ap.ies id-ServingCellMO-List
+ServingCellMO-List-Item N f1ap.ies id-ServingCellMO-List-Item
+ServingCellMO-encoded-in-CGC-List N f1ap.ies id-ServingCellMO-encoded-in-CGC-List
+HashedUEIdentityIndexValue N f1ap.ies id-HashedUEIdentityIndexValue
+UE-MulticastMRBs-Setupnew-List N f1ap.ies id-UE-MulticastMRBs-Setupnew-List
+UE-MulticastMRBs-Setupnew-Item N f1ap.ies id-UE-MulticastMRBs-Setupnew-Item
+TransmissionCombn8 N f1ap.ies id-transmissionCombn8
+
+#F1AP-PROTOCOL-EXTENSION
+GNB-CUSystemInformation N f1ap.extension id-gNB-CUSystemInformation
+HandoverPreparationInformation N f1ap.extension id-HandoverPreparationInformation
+SliceSupportList N f1ap.extension id-TAISliceSupportList
+RANAC N f1ap.extension id-RANAC
+RLC-Status N f1ap.extension id-RLC-Status
+PDCPSNLength N f1ap.extension id-DLPDCPSNLength
+MeasurementTimingConfiguration N f1ap.extension id-MeasurementTimingConfiguration
+CellGroupConfig N f1ap.extension id-CellGroupConfig
+DCBasedDuplicationConfigured N f1ap.extension id-DC-Based-Duplication-Configured
+DuplicationActivation N f1ap.extension id-DC-Based-Duplication-Activation
+AvailablePLMNList N f1ap.extension id-AvailablePLMNList
+PDUSessionID N f1ap.extension id-PDUSessionID
+BitRate N f1ap.extension id-ULPDUSessionAggregateMaximumBitRate
+ServingCellMO N f1ap.extension id-ServingCellMO
+QoSFlowMappingIndication N f1ap.extension id-QoSFlowMappingIndication
+BearerTypeChange N f1ap.extension id-BearerTypeChange
+RLCMode N f1ap.extension id-RLCMode
+DuplicationActivation N f1ap.extension id-Duplication-Activation
+DRX-LongCycleStartOffset N f1ap.extension id-DRX-LongCycleStartOffset
+PDCPSNLength N f1ap.extension id-ULPDCPSNLength
+SelectedBandCombinationIndex N f1ap.extension id-SelectedBandCombinationIndex
+SelectedFeatureSetEntryIndex N f1ap.extension id-SelectedFeatureSetEntryIndex
+ResourceCoordinationTransferInformation N f1ap.extension id-ResourceCoordinationTransferInformation
+ExtendedServedPLMNs-List N f1ap.extension id-ExtendedServedPLMNs-List
+ExtendedAvailablePLMN-List N f1ap.extension id-ExtendedAvailablePLMN-List
+Latest-RRC-Version-Enhanced N f1ap.extension id-latest-RRC-Version-Enhanced
+Cell-Direction N f1ap.extension id-Cell-Direction
+Ph-InfoSCG N f1ap.extension id-Ph-InfoSCG
+RequestedBandCombinationIndex N f1ap.extension id-RequestedBandCombinationIndex
+RequestedFeatureSetEntryIndex N f1ap.extension id-RequestedFeatureSetEntryIndex
+RequestedP-MaxFR2 N f1ap.extension id-RequestedP-MaxFR2
+DRX-Config N f1ap.extension id-DRX-Config
+UEAssistanceInformation N f1ap.extension id-UEAssistanceInformation
+BPLMN-ID-Info-List N f1ap.extension id-BPLMN-ID-Info-List
+CP-TransportLayerAddress N f1ap.extension id-TNLAssociationTransportLayerAddressgNBDU
+PortNumber N f1ap.extension id-portNumber
+AdditionalSIBMessageList N f1ap.extension id-AdditionalSIBMessageList
+CellType N f1ap.extension id-Cell-Type
+IgnorePRACHConfiguration N f1ap.extension id-IgnorePRACHConfiguration
+CG-Config N f1ap.extension id-CG-Config
+PDCCH-BlindDetectionSCG N f1ap.extension id-PDCCH-BlindDetectionSCG
+Requested-PDCCH-BlindDetectionSCG N f1ap.extension id-Requested-PDCCH-BlindDetectionSCG
+Ph-InfoMCG N f1ap.extension id-Ph-InfoMCG
+MeasGapSharingConfig N f1ap.extension id-MeasGapSharingConfig
+SystemInformationAreaID N f1ap.extension id-systemInformationAreaID
+AreaScope N f1ap.extension id-areaScope
+AggressorgNBSetID N f1ap.extension id-AggressorgNBSetID
+VictimgNBSetID N f1ap.extension id-VictimgNBSetID
+IntendedTDD-DL-ULConfig N f1ap.extension id-IntendedTDD-DL-ULConfig
+QosMonitoringRequest N f1ap.extension id-QosMonitoringRequest
+BHInfo N f1ap.extension id-BHInfo
+IAB-Info-IAB-DU N f1ap.extension id-IAB-Info-IAB-DU
+IAB-Info-IAB-donor-CU N f1ap.extension id-IAB-Info-IAB-donor-CU
+IAB-Barred N f1ap.extension id-IAB-Barred
+SIB12-message N f1ap.extension id-SIB12-message
+SIB13-message N f1ap.extension id-SIB13-message
+SIB14-message N f1ap.extension id-SIB14-message
+UEAssistanceInformationEUTRA N f1ap.extension id-UEAssistanceInformationEUTRA
+SL-PHY-MAC-RLC-Config N f1ap.extension id-SL-PHY-MAC-RLC-Config
+SL-ConfigDedicatedEUTRA-Info N f1ap.extension id-SL-ConfigDedicatedEUTRA-Info
+AlternativeQoSParaSetList N f1ap.extension id-AlternativeQoSParaSetList
+QoSParaSetNotifyIndex N f1ap.extension id-CurrentQoSParaSetIndex
+NRCarrierList N f1ap.extension id-CarrierList
+NRCarrierList N f1ap.extension id-ULCarrierList
+FrequencyShift7p5khz N f1ap.extension id-FrequencyShift7p5khz
+SSB-PositionsInBurst N f1ap.extension id-SSB-PositionsInBurst
+NRPRACHConfig N f1ap.extension id-NRPRACHConfig
+TDD-UL-DLConfigCommonNR N f1ap.extension id-TDD-UL-DLConfigCommonNR
+ExtendedPacketDelayBudget N f1ap.extension id-CNPacketDelayBudgetDownlink
+ExtendedPacketDelayBudget N f1ap.extension id-ExtendedPacketDelayBudget
+TSCTrafficCharacteristics N f1ap.extension id-TSCTrafficCharacteristics
+ExtendedPacketDelayBudget N f1ap.extension id-CNPacketDelayBudgetUplink
+AdditionalPDCPDuplicationTNL-List N f1ap.extension id-AdditionalPDCPDuplicationTNL-List
+RLCDuplicationInformation N f1ap.extension id-RLCDuplicationInformation
+AdditionalDuplicationIndication N f1ap.extension id-AdditionalDuplicationIndication
+URI-address N f1ap.extension id-TraceCollectionEntityURI
+MDTConfiguration N f1ap.extension id-mdtConfiguration
+NPNBroadcastInformation N f1ap.extension id-NPNBroadcastInformation
+NPNSupportInfo N f1ap.extension id-NPNSupportInfo
+NID N f1ap.extension id-NID
+AvailableSNPN-ID-List N f1ap.extension id-AvailableSNPN-ID-List
+SIB10-message N f1ap.extension id-SIB10-message
+NRCarrierList N f1ap.extension id-DLCarrierList
+ExtendedSliceSupportList N f1ap.extension id-ExtendedTAISliceSupportList
+ConfiguredTACIndication N f1ap.extension id-ConfiguredTACIndication
+NRCGI N f1ap.extension id-NRCGI
+SFN-Offset N f1ap.extension id-SFN-Offset
+TransmissionStopIndicator N f1ap.extension id-TransmissionStopIndicator
+SrsFrequency N f1ap.extension id-SrsFrequency
+CHO-Probability N f1ap.extension id-EstimatedArrivalProbability
+SpatialRelationPerSRSResource N f1ap.extension id-SRSSpatialRelationPerSRSResource
+TransportLayerAddress N f1ap.extension id-PDCPTerminatingNodeDLTNLAddrInfo
+TransportLayerAddress N f1ap.extension id-ENBDLTNLAddress
+PRS-Resource-ID N f1ap.extension id-PRS-Resource-ID
+LocationMeasurementInformation N f1ap.extension id-LocationMeasurementInformation
+SliceRadioResourceStatus N f1ap.extension id-SliceRadioResourceStatus
+CompositeAvailableCapacity N f1ap.extension id-CompositeAvailableCapacity-SUL
+NR-U-Channel-List N f1ap.extension id-NR-U-Channel-List
+NR-U-Channel-Info-List N f1ap.extension id-NR-U
+Coverage-Modification-Notification N f1ap.extension id-Coverage-Modification-Notification
+CCO-Assistance-Information N f1ap.extension id-CCO-Assistance-Information
+MIMOPRBusageInformation N f1ap.extension id-MIMOPRBusageInformation
+MBS-Broadcast-NeighbourCellList N f1ap.extension id-MBS-Broadcast-NeighbourCellList
+Supported-MBS-FSA-ID-List N f1ap.extension id-Supported-MBS-FSA-ID-List
+NonF1terminatingTopologyIndicator N f1ap.extension id-NonF1terminatingTopologyIndicator
+EgressNonF1terminatingTopologyIndicator N f1ap.extension id-EgressNonF1terminatingTopologyIndicator
+IngressNonF1terminatingTopologyIndicator N f1ap.extension id-IngressNonF1terminatingTopologyIndicator
+RBSetConfiguration N f1ap.extension id-rBSetConfiguration
+Frequency-Domain-HSNA-Configuration-List N f1ap.extension id-frequency-Domain-HSNA-Configuration-List
+Child-IAB-Nodes-NA-Resource-List N f1ap.extension id-child-IAB-Nodes-NA-Resource-List
+Parent-IAB-Nodes-NA-Resource-Configuration-List N f1ap.extension id-Parent-IAB-Nodes-NA-Resource-Configuration-List
+NRFreqInfo N f1ap.extension id-uL-FreqInfo
+Transmission-Bandwidth N f1ap.extension id-uL-Transmission-Bandwidth
+NRFreqInfo N f1ap.extension id-dL-FreqInfo
+Transmission-Bandwidth N f1ap.extension id-dL-Transmission-Bandwidth
+NRCarrierList N f1ap.extension id-uL-NR-Carrier-List
+NRCarrierList N f1ap.extension id-dL-NR-Carrier-List
+NRFreqInfo N f1ap.extension id-nRFreqInfo
+Transmission-Bandwidth N f1ap.extension id-transmission-Bandwidth
+NRCarrierList N f1ap.extension id-nR-Carrier-List
+Permutation N f1ap.extension id-permutation
+M5ReportAmount N f1ap.extension id-M5ReportAmount
+M6ReportAmount N f1ap.extension id-M6ReportAmount
+M7ReportAmount N f1ap.extension id-M7ReportAmount
+SurvivalTime N f1ap.extension id-SurvivalTime
+AoA-AssistanceInfo N f1ap.extension id-AoA-SearchWindow
+ARPLocationInformation N f1ap.extension id-ARPLocationInfo
+ARP-ID N f1ap.extension id-ARP-ID
+MultipleULAoA N f1ap.extension id-MultipleULAoA
+SRSResourcetype N f1ap.extension id-SRSResourcetype
+ExtendedAdditionalPathList N f1ap.extension id-ExtendedAdditionalPathList
+LoS-NLoSInformation N f1ap.extension id-LoS-NLoSInformation
+NumberOfTRPRxTEG N f1ap.extension id-NumberOfTRPRxTEG
+NumberOfTRPRxTxTEG N f1ap.extension id-NumberOfTRPRxTxTEG
+TRPTEGInformation N f1ap.extension id-TRPTEGInformation
+Redcap-Bcast-Information N f1ap.extension id-Redcap-Bcast-Information
+SDT-MAC-PHY-CG-Config N f1ap.extension id-SDT-MAC-PHY-CG-Config
+CG-SDTindicatorSetup N f1ap.extension id-CG-SDTindicatorSetup
+CG-SDTindicatorMod N f1ap.extension id-CG-SDTindicatorMod
+SDTRLCBearerConfiguration N f1ap.extension id-SDTRLCBearerConfiguration
+UuRLCChannelID N f1ap.extension id-SRBMappingInfo
+UuRLCChannelID N f1ap.extension id-DRBMappingInfo
+MUSIM-GapConfig N f1ap.extension id-MUSIM-GapConfig
+LastUsedCellIndication N f1ap.extension id-LastUsedCellIndication
+SIB17-message N f1ap.extension id-SIB17-message
+SIB20-message N f1ap.extension id-SIB20-message
+UL-SRS-RSRPP N f1ap.extension id-pathPower
+DU-RX-MT-RX-Extend N f1ap.extension id-DU-RX-MT-RX-Extend
+DU-TX-MT-TX-Extend N f1ap.extension id-DU-TX-MT-TX-Extend
+DU-RX-MT-TX-Extend N f1ap.extension id-DU-RX-MT-TX-Extend
+DU-TX-MT-RX-Extend N f1ap.extension id-DU-TX-MT-RX-Extend
+NSAGSupportList N f1ap.extension id-TAINSAGSupportList
+SL-RLC-ChannelToAddModList N f1ap.extension id-SL-RLC-ChannelToAddModList
+SIB15-message N f1ap.extension id-SIB15-message
+InterFrequencyConfig-NoGap N f1ap.extension id-InterFrequencyConfig-NoGap
+MBSInterestIndication N f1ap.extension id-MBSInterestIndication
+SRSPortIndex N f1ap.extension id-SRSPortIndex
+PEISubgroupingSupportIndication N f1ap.extension id-PEISubgroupingSupportIndication
+NeedForGapsInfoNR N f1ap.extension id-NeedForGapsInfoNR
+NeedForGapNCSGInfoNR N f1ap.extension id-NeedForGapNCSGInfoNR
+NeedForGapNCSGInfoEUTRA N f1ap.extension id-NeedForGapNCSGInfoEUTRA
+MRB-ID N f1ap.extension id-Source-MRB-ID
+PosMeasurementPeriodicityNR-AoA N f1ap.extension id-PosMeasurementPeriodicityNR-AoA
+RedCapIndication N f1ap.extension id-RedCapIndication
+UL-GapFR2-Config N f1ap.extension id-UL-GapFR2-Config
+ConfigRestrictInfoDAPS N f1ap.extension id-ConfigRestrictInfoDAPS
+MulticastF1UContextReferenceCU N f1ap.extension id-MulticastF1UContextReferenceCU
+TwoPHRModeMCG N f1ap.extension id-TwoPHRModeMCG
+TwoPHRModeSCG N f1ap.extension id-TwoPHRModeSCG
+Ncd-SSB-RedCapInitialBWP-SDT N f1ap.extension id-ncd-SSB-RedCapInitialBWP-SDT
+NrofSymbolsExtended N f1ap.extension id-nrofSymbolsExtended
+RepetitionFactorExtended N f1ap.extension id-repetitionFactorExtended
+StartRBHopping N f1ap.extension id-startRBHopping
+StartRBIndex N f1ap.extension id-startRBIndex
+
+#F1AP-ELEMENTARY-PROCEDURE
+Reset N f1ap.proc.imsg id-Reset
+ResetAcknowledge N f1ap.proc.sout id-Reset
+
+F1SetupRequest N f1ap.proc.imsg id-F1Setup
+F1SetupResponse N f1ap.proc.sout id-F1Setup
+F1SetupFailure N f1ap.proc.uout id-F1Setup
+
+GNBDUConfigurationUpdate N f1ap.proc.imsg id-gNBDUConfigurationUpdate
+GNBDUConfigurationUpdateAcknowledge N f1ap.proc.sout id-gNBDUConfigurationUpdate
+GNBDUConfigurationUpdateFailure N f1ap.proc.uout id-gNBDUConfigurationUpdate
+
+GNBCUConfigurationUpdate N f1ap.proc.imsg id-gNBCUConfigurationUpdate
+GNBCUConfigurationUpdateAcknowledge N f1ap.proc.sout id-gNBCUConfigurationUpdate
+GNBCUConfigurationUpdateFailure N f1ap.proc.uout id-gNBCUConfigurationUpdate
+
+UEContextSetupRequest N f1ap.proc.imsg id-UEContextSetup
+UEContextSetupResponse N f1ap.proc.sout id-UEContextSetup
+UEContextSetupFailure N f1ap.proc.uout id-UEContextSetup
+
+UEContextReleaseCommand N f1ap.proc.imsg id-UEContextRelease
+UEContextReleaseComplete N f1ap.proc.sout id-UEContextRelease
+
+UEContextModificationRequest N f1ap.proc.imsg id-UEContextModification
+UEContextModificationResponse N f1ap.proc.sout id-UEContextModification
+UEContextModificationFailure N f1ap.proc.uout id-UEContextModification
+
+UEContextModificationRequired N f1ap.proc.imsg id-UEContextModificationRequired
+UEContextModificationConfirm N f1ap.proc.sout id-UEContextModificationRequired
+UEContextModificationRefuse N f1ap.proc.uout id-UEContextModificationRequired
+
+WriteReplaceWarningRequest N f1ap.proc.imsg id-WriteReplaceWarning
+WriteReplaceWarningResponse N f1ap.proc.sout id-WriteReplaceWarning
+
+PWSCancelRequest N f1ap.proc.imsg id-PWSCancel
+PWSCancelResponse N f1ap.proc.sout id-PWSCancel
+
+ErrorIndication N f1ap.proc.imsg id-ErrorIndication
+
+UEContextReleaseRequest N f1ap.proc.imsg id-UEContextReleaseRequest
+
+InitialULRRCMessageTransfer N f1ap.proc.imsg id-InitialULRRCMessageTransfer
+
+DLRRCMessageTransfer N f1ap.proc.imsg id-DLRRCMessageTransfer
+
+ULRRCMessageTransfer N f1ap.proc.imsg id-ULRRCMessageTransfer
+
+UEInactivityNotification N f1ap.proc.imsg id-UEInactivityNotification
+
+GNBDUResourceCoordinationRequest N f1ap.proc.imsg id-GNBDUResourceCoordination
+GNBDUResourceCoordinationResponse N f1ap.proc.sout id-GNBDUResourceCoordination
+
+PrivateMessage N f1ap.proc.imsg id-privateMessage
+
+SystemInformationDeliveryCommand N f1ap.proc.imsg id-SystemInformationDeliveryCommand
+
+Paging N f1ap.proc.imsg id-Paging
+
+Notify N f1ap.proc.imsg id-Notify
+
+NetworkAccessRateReduction N f1ap.proc.imsg id-NetworkAccessRateReduction
+
+PWSRestartIndication N f1ap.proc.imsg id-PWSRestartIndication
+
+PWSFailureIndication N f1ap.proc.imsg id-PWSFailureIndication
+
+GNBDUStatusIndication N f1ap.proc.imsg id-GNBDUStatusIndication
+
+RRCDeliveryReport N f1ap.proc.imsg id-RRCDeliveryReport
+
+F1RemovalRequest N f1ap.proc.imsg id-F1Removal
+F1RemovalResponse N f1ap.proc.sout id-F1Removal
+F1RemovalFailure N f1ap.proc.uout id-F1Removal
+
+TraceStart N f1ap.proc.imsg id-TraceStart
+
+DeactivateTrace N f1ap.proc.imsg id-DeactivateTrace
+
+DUCURadioInformationTransfer N f1ap.proc.imsg id-DUCURadioInformationTransfer
+
+CUDURadioInformationTransfer N f1ap.proc.imsg id-CUDURadioInformationTransfer
+
+BAPMappingConfiguration N f1ap.proc.imsg id-BAPMappingConfiguration
+BAPMappingConfigurationAcknowledge N f1ap.proc.sout id-BAPMappingConfiguration
+BAPMappingConfigurationFailure N f1ap.proc.uout id-BAPMappingConfiguration
+
+GNBDUResourceConfiguration N f1ap.proc.imsg id-GNBDUResourceConfiguration
+GNBDUResourceConfigurationAcknowledge N f1ap.proc.sout id-GNBDUResourceConfiguration
+GNBDUResourceConfigurationFailure N f1ap.proc.uout id-GNBDUResourceConfiguration
+
+IABTNLAddressRequest N f1ap.proc.imsg id-IABTNLAddressAllocation
+IABTNLAddressResponse N f1ap.proc.sout id-IABTNLAddressAllocation
+IABTNLAddressFailure N f1ap.proc.uout id-IABTNLAddressAllocation
+
+IABUPConfigurationUpdateRequest N f1ap.proc.imsg id-IABUPConfigurationUpdate
+IABUPConfigurationUpdateResponse N f1ap.proc.sout id-IABUPConfigurationUpdate
+IABUPConfigurationUpdateFailure N f1ap.proc.uout id-IABUPConfigurationUpdate
+
+ResourceStatusRequest N f1ap.proc.imsg id-resourceStatusReportingInitiation
+ResourceStatusResponse N f1ap.proc.sout id-resourceStatusReportingInitiation
+ResourceStatusFailure N f1ap.proc.uout id-resourceStatusReportingInitiation
+
+ResourceStatusUpdate N f1ap.proc.imsg id-resourceStatusReporting
+
+AccessAndMobilityIndication N f1ap.proc.imsg id-accessAndMobilityIndication
+
+ReferenceTimeInformationReportingControl N f1ap.proc.imsg id-ReferenceTimeInformationReportingControl
+
+ReferenceTimeInformationReport N f1ap.proc.imsg id-ReferenceTimeInformationReport
+
+AccessSuccess N f1ap.proc.imsg id-accessSuccess
+
+CellTrafficTrace N f1ap.proc.imsg id-cellTrafficTrace
+
+PositioningAssistanceInformationControl N f1ap.proc.imsg id-PositioningAssistanceInformationControl
+
+PositioningAssistanceInformationFeedback N f1ap.proc.imsg id-PositioningAssistanceInformationFeedback
+
+PositioningMeasurementRequest N f1ap.proc.imsg id-PositioningMeasurementExchange
+PositioningMeasurementResponse N f1ap.proc.sout id-PositioningMeasurementExchange
+PositioningMeasurementFailure N f1ap.proc.uout id-PositioningMeasurementExchange
+
+PositioningMeasurementReport N f1ap.proc.imsg id-PositioningMeasurementReport
+
+PositioningMeasurementAbort N f1ap.proc.imsg id-PositioningMeasurementAbort
+
+PositioningMeasurementFailureIndication N f1ap.proc.imsg id-PositioningMeasurementFailureIndication
+
+PositioningMeasurementUpdate N f1ap.proc.imsg id-PositioningMeasurementUpdate
+
+TRPInformationRequest N f1ap.proc.imsg id-TRPInformationExchange
+TRPInformationResponse N f1ap.proc.sout id-TRPInformationExchange
+TRPInformationFailure N f1ap.proc.uout id-TRPInformationExchange
+
+PositioningInformationRequest N f1ap.proc.imsg id-PositioningInformationExchange
+PositioningInformationResponse N f1ap.proc.sout id-PositioningInformationExchange
+PositioningInformationFailure N f1ap.proc.uout id-PositioningInformationExchange
+
+PositioningActivationRequest N f1ap.proc.imsg id-PositioningActivation
+PositioningActivationResponse N f1ap.proc.sout id-PositioningActivation
+PositioningActivationFailure N f1ap.proc.uout id-PositioningActivation
+
+PositioningDeactivation N f1ap.proc.imsg id-PositioningDeactivation
+
+E-CIDMeasurementInitiationRequest N f1ap.proc.imsg id-E-CIDMeasurementInitiation
+E-CIDMeasurementInitiationResponse N f1ap.proc.sout id-E-CIDMeasurementInitiation
+E-CIDMeasurementInitiationFailure N f1ap.proc.uout id-E-CIDMeasurementInitiation
+
+E-CIDMeasurementFailureIndication N f1ap.proc.imsg id-E-CIDMeasurementFailureIndication
+
+E-CIDMeasurementReport N f1ap.proc.imsg id-E-CIDMeasurementReport
+
+E-CIDMeasurementTerminationCommand N f1ap.proc.imsg id-E-CIDMeasurementTermination
+
+PositioningInformationUpdate N f1ap.proc.imsg id-PositioningInformationUpdate
+
+BroadcastContextSetupRequest N f1ap.proc.imsg id-BroadcastContextSetup
+BroadcastContextSetupResponse N f1ap.proc.sout id-BroadcastContextSetup
+BroadcastContextSetupFailure N f1ap.proc.uout id-BroadcastContextSetup
+
+BroadcastContextReleaseCommand N f1ap.proc.imsg id-BroadcastContextRelease
+BroadcastContextReleaseComplete N f1ap.proc.sout id-BroadcastContextRelease
+
+BroadcastContextReleaseRequest N f1ap.proc.imsg id-BroadcastContextReleaseRequest
+
+BroadcastContextModificationRequest N f1ap.proc.imsg id-BroadcastContextModification
+BroadcastContextModificationResponse N f1ap.proc.sout id-BroadcastContextModification
+BroadcastContextModificationFailure N f1ap.proc.uout id-BroadcastContextModification
+
+MulticastGroupPaging N f1ap.proc.imsg id-MulticastGroupPaging
+
+MulticastContextSetupRequest N f1ap.proc.imsg id-MulticastContextSetup
+MulticastContextSetupResponse N f1ap.proc.sout id-MulticastContextSetup
+MulticastContextSetupFailure N f1ap.proc.uout id-MulticastContextSetup
+
+MulticastContextReleaseCommand N f1ap.proc.imsg id-MulticastContextRelease
+MulticastContextReleaseComplete N f1ap.proc.sout id-MulticastContextRelease
+
+MulticastContextReleaseRequest N f1ap.proc.imsg id-MulticastContextReleaseRequest
+
+MulticastContextModificationRequest N f1ap.proc.imsg id-MulticastContextModification
+MulticastContextModificationResponse N f1ap.proc.sout id-MulticastContextModification
+MulticastContextModificationFailure N f1ap.proc.uout id-MulticastContextModification
+
+MulticastDistributionSetupRequest N f1ap.proc.imsg id-MulticastDistributionSetup
+MulticastDistributionSetupResponse N f1ap.proc.sout id-MulticastDistributionSetup
+MulticastDistributionSetupFailure N f1ap.proc.uout id-MulticastDistributionSetup
+
+MulticastDistributionReleaseCommand N f1ap.proc.imsg id-MulticastDistributionRelease
+MulticastDistributionReleaseComplete N f1ap.proc.sout id-MulticastDistributionRelease
+
+PDCMeasurementInitiationRequest N f1ap.proc.imsg id-PDCMeasurementInitiation
+PDCMeasurementInitiationResponse N f1ap.proc.sout id-PDCMeasurementInitiation
+PDCMeasurementInitiationFailure N f1ap.proc.uout id-PDCMeasurementInitiation
+
+PDCMeasurementReport N f1ap.proc.imsg id-PDCMeasurementReport
+
+PDCMeasurementTerminationCommand N f1ap.proc.imsg id-PDCMeasurementTerminationCommand
+
+PDCMeasurementFailureIndication N f1ap.proc.imsg id-PDCMeasurementFailureIndication
+
+PRSConfigurationRequest N f1ap.proc.imsg id-pRSConfigurationExchange
+PRSConfigurationResponse N f1ap.proc.sout id-pRSConfigurationExchange
+PRSConfigurationFailure N f1ap.proc.uout id-pRSConfigurationExchange
+
+MeasurementPreconfigurationRequired N f1ap.proc.imsg id-measurementPreconfiguration
+MeasurementPreconfigurationConfirm N f1ap.proc.sout id-measurementPreconfiguration
+MeasurementPreconfigurationRefuse N f1ap.proc.uout id-measurementPreconfiguration
+
+MeasurementActivation N f1ap.proc.imsg id-measurementActivation
+
+QoEInformationTransfer N f1ap.proc.imsg id-QoEInformationTransfer
+
+PosSystemInformationDeliveryCommand N f1ap.proc.imsg id-PosSystemInformationDeliveryCommand
+
+#.FN_BODY AdditionalSIBMessageList-Item/additionalSIB VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage);
+ switch (f1ap_data->sib_type) {
+ case 6:
+ dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 7:
+ dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 8:
+ dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY EUTRA-NR-CellResourceCoordinationReq-Container VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container);
+ dissect_x2ap_EUTRANRCellResourceCoordinationRequest_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY EUTRA-NR-CellResourceCoordinationReqAck-Container VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container);
+ dissect_x2ap_EUTRANRCellResourceCoordinationResponse_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ResourceCoordinationTransferContainer VAL_PTR=&param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree;
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ResourceCoordinationTransferContainer);
+ switch (f1ap_data->message_type) {
+ case INITIATING_MESSAGE:
+ switch (f1ap_data->procedure_code) {
+ case id_UEContextSetup:
+ case id_UEContextModification:
+ dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case id_UEContextModificationRequired:
+ dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ break;
+ case SUCCESSFUL_OUTCOME:
+ switch (f1ap_data->procedure_code) {
+ case id_UEContextSetup:
+ case id_UEContextModification:
+ dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case id_UEContextModificationRequired:
+ dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY RRCContainer VAL_PTR=&param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree;
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RRCContainer);
+ switch (f1ap_data->message_type) {
+ case INITIATING_MESSAGE:
+ switch (f1ap_data->procedure_code) {
+ case id_InitialULRRCMessageTransfer:
+ col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
+ col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ call_dissector(nr_rrc_ul_ccch_handle, param_tvb, actx->pinfo, subtree);
+ break;
+ case id_ULRRCMessageTransfer:
+ switch (f1ap_data->srb_id) {
+ case 1:
+ case 2:
+ case 3:
+ col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
+ col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_UPLINK, f1ap_data->srb_id);
+ call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
+ break;
+ default:
+ break;
+ }
+ break;
+ case id_DLRRCMessageTransfer:
+ case id_UEContextRelease:
+ switch (f1ap_data->srb_id) {
+ case 0:
+ col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
+ col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ call_dissector(nr_rrc_dl_ccch_handle, param_tvb, actx->pinfo, subtree);
+ break;
+ case 1:
+ case 2:
+ case 3:
+ col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
+ col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, f1ap_data->srb_id);
+ call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
+ break;
+ default:
+ break;
+ }
+ break;
+ case id_UEContextSetup:
+ case id_UEContextModification:
+ col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
+ col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, 1);
+ call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
+ break;
+ default:
+ break;
+ }
+ break;
+ case SUCCESSFUL_OUTCOME:
+ switch (f1ap_data->procedure_code) {
+ case id_UEContextModificationRequired:
+ col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
+ col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, 1);
+ call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
+ break;
+ default:
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY SRBID VAL_PTR=&f1ap_data->srb_id
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_BODY RRCContainer-RRCSetupComplete VAL_PTR=&param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RRCContainer_RRCSetupComplete);
+ col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
+ col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ call_dissector(nr_rrc_ul_dcch_handle, param_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY DUtoCURRCContainer VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_DUtoCURRCContainer);
+ dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Served-Cell-Information/measurementTimingConfiguration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_measurementTimingConfiguration);
+ dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY PLMN-Identity VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = f1ap_data->number_type;
+ f1ap_data->number_type = E212_NONE;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_PLMN_Identity);
+ dissect_e212_mcc_mnc(param_tvb, actx->pinfo, subtree, 0, number_type, FALSE);
+ }
+
+#.FN_BODY NRCGI
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ f1ap_data->number_type = E212_NRCGI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+PortNumber TYPE = FT_UINT16 DISPLAY = BASE_DEC
+
+#.FN_BODY PortNumber VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY MIB-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MIB_message);
+ dissect_nr_rrc_MIB_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SIB1-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB1_message);
+ dissect_nr_rrc_SIB1_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kbit
+
+#.TYPE_ATTR
+ChannelOccupancyTimePercentage DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+EnergyDetectionThreshold DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+MIMOPRBusageInformation/dl-GBR-PRB-usage-for-MIMO DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+MIMOPRBusageInformation/ul-GBR-PRB-usage-for-MIMO DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+MIMOPRBusageInformation/dl-non-GBR-PRB-usage-for-MIMO DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+MIMOPRBusageInformation/ul-non-GBR-PRB-usage-for-MIMO DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+MIMOPRBusageInformation/dl-Total-PRB-usage-for-MIMO DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+MIMOPRBusageInformation/ul-Total-PRB-usage-for-MIMO DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+SNSSAIRadioResourceStatus-Item/sNSSAIdlGBRPRBusage DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+SNSSAIRadioResourceStatus-Item/sNSSAIulGBRPRBusage DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+SNSSAIRadioResourceStatus-Item/sNSSAIdlNonGBRPRBusage DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+SNSSAIRadioResourceStatus-Item/sNSSAIulNonGBRPRBusage DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+SNSSAIRadioResourceStatus-Item/sNSSAIdlTotalPRBallocation DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+SNSSAIRadioResourceStatus-Item/sNSSAIulTotalPRBallocation DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.FN_BODY CG-Config VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CG_Config);
+ dissect_nr_rrc_CG_Config_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CG-ConfigInfo VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CG_ConfigInfo);
+ dissect_nr_rrc_CG_ConfigInfo_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UE-CapabilityRAT-ContainerList VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UE_CapabilityRAT_ContainerList);
+ dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MeasConfig VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasConfig);
+ dissect_nr_rrc_MeasConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY HandoverPreparationInformation VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_HandoverPreparationInformation);
+ dissect_nr_rrc_HandoverPreparationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CellGroupConfig VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CellGroupConfig);
+ dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MeasurementTimingConfiguration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_measurementTimingConfiguration);
+ dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MeasGapConfig VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasGapConfig);
+ dissect_nr_rrc_MeasGapConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MeasGapSharingConfig VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasGapSharingConfig);
+ dissect_nr_rrc_MeasGapSharingConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY DUtoCURRCInformation/requestedP-MaxFR1 VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_requestedP_MaxFR1);
+ dissect_nr_rrc_P_Max_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+FiveGS-TAC TYPE = FT_UINT24 DISPLAY = BASE_DEC_HEX
+#.FN_BODY FiveGS-TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Configured-EPS-TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY Configured-EPS-TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SibtypetobeupdatedListItem/sIBtype VAL_PTR = &f1ap_data->sib_type
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_BODY SibtypetobeupdatedListItem/sIBmessage VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage);
+ switch (f1ap_data->sib_type) {
+ case 2:
+ dissect_nr_rrc_SIB2_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 3:
+ dissect_nr_rrc_SIB3_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 4:
+ dissect_nr_rrc_SIB4_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 5:
+ dissect_nr_rrc_SIB5_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 6:
+ dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 7:
+ dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 8:
+ dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 9:
+ dissect_nr_rrc_SIB9_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 10:
+ dissect_nr_rrc_SIB10_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 11:
+ dissect_nr_rrc_SIB11_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 12:
+ dissect_nr_rrc_SIB12_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 13:
+ dissect_nr_rrc_SIB13_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 14:
+ dissect_nr_rrc_SIB14_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 15:
+ dissect_nr_rrc_SIB15_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 16:
+ dissect_nr_rrc_SIB16_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 17:
+ dissect_nr_rrc_SIB17_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 18:
+ dissect_nr_rrc_SIB18_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 19:
+ dissect_nr_rrc_SIB19_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 20:
+ dissect_nr_rrc_SIB20_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 21:
+ dissect_nr_rrc_SIB21_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY SIBType-PWS VAL_PTR = &f1ap_data->sib_type
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_BODY PWSSystemInformation/sIBmessage VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage);
+ switch (f1ap_data->sib_type) {
+ case 6:
+ dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 7:
+ dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 8:
+ dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.TYPE_ATTR
+MaxPacketLossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(f1ap_MaxPacketLossRate_fmt)
+
+#.TYPE_ATTR
+PacketDelayBudget DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(f1ap_PacketDelayBudget_fmt)
+
+#.TYPE_ATTR
+AveragingWindow DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+MaximumDataBurstVolume DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_byte_bytes
+
+#.FN_BODY ProtectedEUTRAResourceIndication VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ProtectedEUTRAResourceIndication);
+ dissect_x2ap_ProtectedEUTRAResourceIndication_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UplinkTxDirectCurrentListInformation VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UplinkTxDirectCurrentListInformation);
+ dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UplinkTxDirectCurrentTwoCarrierListInfo VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo);
+ dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Latest-RRC-Version-Enhanced VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+#.FN_FTR Latest-RRC-Version-Enhanced
+ if (param_tvb) {
+ proto_item_set_text(actx->created_item, "%u.%u.%u", tvb_get_guint8(param_tvb, 0), tvb_get_guint8(param_tvb, 1), tvb_get_guint8(param_tvb, 2));
+ }
+
+#.FN_BODY TransportLayerAddress VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree;
+ gint tvb_len;
+
+ tvb_len = tvb_reported_length(param_tvb);
+ subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TransportLayerAddress);
+ if (tvb_len == 4) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
+ } else if (tvb_len == 16) {
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 0, 16, ENC_NA);
+ } else if (tvb_len == 20) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 4, 16, ENC_NA);
+ }
+ }
+
+#.TYPE_ATTR
+UACReductionIndication DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.FN_BODY DRX-Config VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_DRX_Config);
+ dissect_nr_rrc_DRX_Config_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY PDCCH-BlindDetectionSCG VAL_PTR=&parameter_tvb HF_INDEX=-1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+PDCCH-BlindDetectionSCG TYPE=FT_UINT8 DISPLAY=BASE_DEC
+
+#.FN_BODY Requested-PDCCH-BlindDetectionSCG VAL_PTR=&parameter_tvb HF_INDEX=-1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Requested-PDCCH-BlindDetectionSCG TYPE=FT_UINT8 DISPLAY=BASE_DEC
+
+#.FN_BODY Ph-InfoMCG VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ph_InfoMCG);
+ dissect_nr_rrc_PH_TypeListMCG_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Ph-InfoSCG VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ph_InfoSCG);
+ dissect_nr_rrc_PH_TypeListSCG_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RequestedBandCombinationIndex VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedBandCombinationIndex);
+ dissect_nr_rrc_BandCombinationIndex_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RequestedFeatureSetEntryIndex VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedFeatureSetEntryIndex);
+ dissect_nr_rrc_FeatureSetEntryIndex_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RequestedP-MaxFR2 VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedP_MaxFR2);
+ dissect_nr_rrc_P_Max_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UEAssistanceInformation VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UEAssistanceInformation);
+ dissect_nr_rrc_UEAssistanceInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY BurstArrivalTime VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_BurstArrivalTime);
+ dissect_nr_rrc_ReferenceTime_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Child-Node-Cells-List-Item/cSI-RS-Configuration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_cSI_RS_Configuration);
+ dissect_nr_rrc_NZP_CSI_RS_Resource_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Neighbour-Node-Cells-List-Item/cSI-RS-Configuration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_cSI_RS_Configuration);
+ dissect_nr_rrc_NZP_CSI_RS_Resource_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Child-Node-Cells-List-Item/sR-Configuration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sR_Configuration);
+ dissect_nr_rrc_SchedulingRequestResourceConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Neighbour-Node-Cells-List-Item/sR-Configuration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sR_Configuration);
+ dissect_nr_rrc_SchedulingRequestResourceConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Child-Node-Cells-List-Item/pDCCH-ConfigSIB1 VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_pDCCH_ConfigSIB1);
+ dissect_nr_rrc_PDCCH_ConfigSIB1_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Neighbour-Node-Cells-List-Item/pDCCH-ConfigSIB1 VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_pDCCH_ConfigSIB1);
+ dissect_nr_rrc_PDCCH_ConfigSIB1_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Child-Node-Cells-List-Item/sCS-Common VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sCS_Common);
+ dissect_nr_rrc_subCarrierSpacingCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Neighbour-Node-Cells-List-Item/sCS-Common VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sCS_Common);
+ dissect_nr_rrc_subCarrierSpacingCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+ExtendedPacketDelayBudget DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(f1ap_ExtendedPacketDelayBudget_fmt)
+
+#.FN_BODY IABTNLAddress/iPv4Address VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv4Address);
+ proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY IABTNLAddress/iPv6Address VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv6Address);
+ proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv6, param_tvb, 0, 16, ENC_NA);
+ }
+
+#.FN_BODY IABTNLAddress/iPv6Prefix VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv6Prefix);
+ proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv6Prefix, param_tvb, 0, 8, ENC_NA);
+ }
+
+#.FN_BODY InterfacesToTrace VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(param_tvb){
+ static int * const fields[] = {
+ &hf_f1ap_interfacesToTrace_NG_C,
+ &hf_f1ap_interfacesToTrace_Xn_C,
+ &hf_f1ap_interfacesToTrace_Uu,
+ &hf_f1ap_interfacesToTrace_F1_C,
+ &hf_f1ap_interfacesToTrace_E1,
+ &hf_f1ap_interfacesToTrace_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_InterfacesToTrace);
+ proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+M7period DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
+
+#.FN_BODY MeasurementsToActivate VAL_PTR=&param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ static int * const fields[] = {
+ &hf_f1ap_MeasurementsToActivate_Reserved1,
+ &hf_f1ap_MeasurementsToActivate_M2,
+ &hf_f1ap_MeasurementsToActivate_Reserved2,
+ &hf_f1ap_MeasurementsToActivate_M5,
+ &hf_f1ap_MeasurementsToActivate_Reserved3,
+ &hf_f1ap_MeasurementsToActivate_M6,
+ &hf_f1ap_MeasurementsToActivate_M7,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasurementsToActivate);
+ proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY NRUERLFReportContainer VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NRUERLFReportContainer);
+ dissect_nr_rrc_nr_RLF_Report_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+RepetitionPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+Periodicity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
+
+#.FN_BODY RACH-Config-Common VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACH_Config_Common);
+ dissect_nr_rrc_RACH_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RACH-Config-Common-IAB VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACH_Config_Common_IAB);
+ dissect_nr_rrc_RACH_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RACHReportContainer VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACHReportContainer);
+ dissect_nr_rrc_RA_ReportList_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ReferenceTime VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ReferenceTime);
+ dissect_nr_rrc_ReferenceTime_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ReportCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_f1ap_ReportCharacteristics_PRBPeriodic,
+ &hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic,
+ &hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic,
+ &hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic,
+ &hf_f1ap_ReportCharacteristics_NumberOfActiveUEs,
+ &hf_f1ap_ReportCharacteristics_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ReportCharacteristics);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB10-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB10_message);
+ dissect_nr_rrc_SIB10_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SIB12-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB12_message);
+ dissect_nr_rrc_SIB12_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SIB13-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB13_message);
+ dissect_nr_rrc_SIB13_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SIB14-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB14_message);
+ dissect_nr_rrc_SIB14_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SIB15-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB15_message);
+ dissect_nr_rrc_SIB15_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SIB17-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB17_message);
+ dissect_nr_rrc_SIB17_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SIB20-message VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB20_message);
+ dissect_nr_rrc_SIB20_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SL-PHY-MAC-RLC-Config VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_PHY_MAC_RLC_Config);
+ dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SL-RLC-ChannelToAddModList VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_RLC_ChannelToAddModList);
+ dissect_nr_rrc_SL_RLC_ChannelToAddModList_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SL-ConfigDedicatedEUTRA-Info VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (param_tvb && lte_rrc_conn_reconf_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_ConfigDedicatedEUTRA_Info);
+ dissect_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY TDD-UL-DLConfigCommonNR VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (param_tvb && lte_rrc_conn_reconf_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TDD_UL_DLConfigCommonNR);
+ dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UEAssistanceInformationEUTRA VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UEAssistanceInformationEUTRA);
+ dissect_lte_rrc_UEAssistanceInformation_r11_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY PosAssistance-Information VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_PosAssistance_Information);
+ dissect_nrppa_Assistance_Information_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY PosAssistanceInformationFailureList VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_PosAssistance_Information);
+ dissect_nrppa_Assistance_Information_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY LocationMeasurementInformation VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_LocationMeasurementInformation);
+ dissect_nr_rrc_LocationMeasurementInfo_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MUSIM-GapConfig VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MUSIM_GapConfig);
+ dissect_nr_rrc_MUSIM_GapConfig_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Ncd-SSB-RedCapInitialBWP-SDT VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ncd_SSB_RedCapInitialBWP_SDT);
+ dissect_nr_rrc_NonCellDefiningSSB_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SDT-MAC-PHY-CG-Config VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SDT_MAC_PHY_CG_Config);
+ dissect_nr_rrc_SDT_MAC_PHY_CG_Config_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SDTRLCBearerConfiguration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SDTRLCBearerConfiguration);
+ dissect_nr_rrc_RLC_BearerConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MBSInterestIndication VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MBSInterestIndication);
+ dissect_nr_rrc_MBSInterestIndication_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NeedForGapsInfoNR VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NeedForGapsInfoNR);
+ dissect_nr_rrc_NeedForGapsInfoNR_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NeedForGapNCSGInfoNR VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NeedForGapNCSGInfoNR);
+ dissect_nr_rrc_NeedForGapNCSG_InfoNR_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NeedForGapNCSGInfoEUTRA VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NeedForGapNCSGInfoEUTRA);
+ dissect_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ConfigRestrictInfoDAPS VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ConfigRestrictInfoDAPS);
+ dissect_nr_rrc_ConfigRestrictInfoDAPS_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MBS-Broadcast-NeighbourCellList VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MBS_Broadcast_NeighbourCellList);
+ dissect_nr_rrc_MBS_NeighbourCellList_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MBS-Broadcast-MRB-Item/mRB-PDCP-Config-Broadcast VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_mRB_PDCP_Config_Broadcast);
+ dissect_nr_rrc_MRB_PDCP_ConfigBroadcast_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY PosMeasGapPreConfigList/posMeasGapPreConfigToAddModList VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_posMeasGapPreConfigToAddModList);
+ dissect_nr_rrc_PosMeasGapPreConfigToAddModList_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY PosMeasGapPreConfigList/posMeasGapPreConfigToReleaseList VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_posMeasGapPreConfigToReleaseList);
+ dissect_nr_rrc_PosMeasGapPreConfigToReleaseList_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SidelinkConfigurationContainer VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SidelinkConfigurationContainer);
+ dissect_nr_rrc_SL_ConfigDedicatedNR_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SRSPosRRCInactiveConfig VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SRSPosRRCInactiveConfig);
+ dissect_nr_rrc_SRS_PosRRC_InactiveConfig_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+StartTimeAndDuration/duration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY SuccessfulHOReportInformation-Item/successfulHOReportContainer VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_successfulHOReportContainer);
+ dissect_nr_rrc_SuccessHO_Report_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+SurvivalTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
+
+#.FN_BODY UL-GapFR2-Config VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UL_GapFR2_Config);
+ dissect_nr_rrc_UL_GapFR2_Config_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RelativeTime1900 VAL_PTR = &param_tvb HF_INDEX = -1
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, param_tvb, 0, 8, ENC_TIME_NTP|ENC_BIG_ENDIAN);
+ }
+
+#.FN_HDR Reset
+ set_message_label(actx, MTYPE_RESET);
+ set_stats_message_type(actx->pinfo, MTYPE_RESET);
+#.FN_HDR ResetAcknowledge
+ set_message_label(actx, MTYPE_RESET_ACK);
+ set_stats_message_type(actx->pinfo, MTYPE_RESET_ACK);
+#.FN_HDR F1SetupRequest
+ set_message_label(actx, MTYPE_F1_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_F1_SETUP_REQUEST);
+#.FN_HDR F1SetupResponse
+ set_message_label(actx, MTYPE_F1_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_F1_SETUP_RESPONSE);
+#.FN_HDR F1SetupFailure
+ set_message_label(actx, MTYPE_F1_SETUP_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_F1_SETUP_FAILURE);
+#.FN_HDR GNBDUConfigurationUpdate
+ set_message_label(actx, MTYPE_GNB_DU_CONFIGURATION_UPDATE);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_CONFIGURATION_UPDATE);
+#.FN_HDR GNBDUConfigurationUpdateAcknowledge
+ set_message_label(actx, MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
+#.FN_HDR GNBDUConfigurationUpdateFailure
+ set_message_label(actx, MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE);
+#.FN_HDR GNBCUConfigurationUpdate
+ set_message_label(actx, MTYPE_GNB_CU_CONFIGURATION_UPDATE);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_CU_CONFIGURATION_UPDATE);
+#.FN_HDR GNBCUConfigurationUpdateAcknowledge
+ set_message_label(actx, MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
+#.FN_HDR GNBCUConfigurationUpdateFailure
+ set_message_label(actx, MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE);
+#.FN_HDR UEContextSetupRequest
+ set_message_label(actx, MTYPE_UE_CONTEXT_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SETUP_REQUEST);
+#.FN_HDR UEContextSetupResponse
+ set_message_label(actx, MTYPE_UE_CONTEXT_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SETUP_RESPONSE);
+#.FN_HDR UEContextSetupFailure
+ set_message_label(actx, MTYPE_UE_CONTEXT_SETUP_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SETUP_FAILURE);
+#.FN_HDR UEContextReleaseCommand
+ set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
+#.FN_HDR UEContextReleaseComplete
+ set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
+#.FN_HDR UEContextModificationRequest
+ set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
+#.FN_HDR UEContextModificationResponse
+ set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
+#.FN_HDR UEContextModificationFailure
+ set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
+#.FN_HDR UEContextModificationRequired
+ set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED);
+#.FN_HDR UEContextModificationConfirm
+ set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM);
+#.FN_HDR UEContextModificationRefuse
+ set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REFUSE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REFUSE);
+#.FN_HDR WriteReplaceWarningRequest
+ set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
+#.FN_HDR WriteReplaceWarningResponse
+ set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
+#.FN_HDR PWSCancelRequest
+ set_message_label(actx, MTYPE_PWS_CANCEL_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_REQUEST);
+#.FN_HDR PWSCancelResponse
+ set_message_label(actx, MTYPE_PWS_CANCEL_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_RESPONSE);
+#.FN_HDR ErrorIndication
+ set_message_label(actx, MTYPE_ERROR_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_ERROR_INDICATION);
+#.FN_HDR UEContextReleaseRequest
+ set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
+#.FN_HDR InitialULRRCMessageTransfer
+ set_message_label(actx, MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER);
+#.FN_HDR DLRRCMessageTransfer
+ set_message_label(actx, MTYPE_DL_RRC_MESSAGE_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_DL_RRC_MESSAGE_TRANSFER);
+#.FN_HDR ULRRCMessageTransfer
+ set_message_label(actx, MTYPE_UL_RRC_MESSAGE_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_UL_RRC_MESSAGE_TRANSFER);
+#.FN_HDR UEInactivityNotification
+ set_message_label(actx, MTYPE_UE_INACTIVITY_NOTIFICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_INACTIVITY_NOTIFICATION);
+#.FN_HDR GNBDUResourceCoordinationRequest
+ set_message_label(actx, MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST);
+#.FN_HDR GNBDUResourceCoordinationResponse
+ set_message_label(actx, MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE);
+#.FN_HDR PrivateMessage
+ set_message_label(actx, MTYPE_PRIVATE_MESSAGE);
+ set_stats_message_type(actx->pinfo, MTYPE_PRIVATE_MESSAGE);
+#.FN_HDR SystemInformationDeliveryCommand
+ set_message_label(actx, MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND);
+#.FN_HDR Paging
+ set_message_label(actx, MTYPE_PAGING);
+ set_stats_message_type(actx->pinfo, MTYPE_PAGING);
+#.FN_HDR Notify
+ set_message_label(actx, MTYPE_NOTIFY);
+ set_stats_message_type(actx->pinfo, MTYPE_NOTIFY);
+#.FN_HDR NetworkAccessRateReduction
+ set_message_label(actx, MTYPE_NETWORK_ACCESS_RATE_REDUCTION);
+ set_stats_message_type(actx->pinfo, MTYPE_NETWORK_ACCESS_RATE_REDUCTION);
+#.FN_HDR PWSRestartIndication
+ set_message_label(actx, MTYPE_PWS_RESTART_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_PWS_RESTART_INDICATION);
+#.FN_HDR PWSFailureIndication
+ set_message_label(actx, MTYPE_PWS_FAILURE_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_PWS_FAILURE_INDICATION);
+#.FN_HDR GNBDUStatusIndication
+ set_message_label(actx, MTYPE_GNB_DU_STATUS_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_STATUS_INDICATION);
+#.FN_HDR RRCDeliveryReport
+ set_message_label(actx, MTYPE_RRC_DELIVERY_REPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_RRC_DELIVERY_REPORT);
+#.END
+#.FN_HDR F1RemovalRequest
+ set_message_label(actx, MTYPE_F1_REMOVAL_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_F1_REMOVAL_REQUEST);
+#.END
+#.FN_HDR F1RemovalResponse
+ set_message_label(actx, MTYPE_F1_REMOVAL_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_F1_REMOVAL_RESPONSE);
+#.END
+#.FN_HDR F1RemovalFailure
+ set_message_label(actx, MTYPE_F1_REMOVAL_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_F1_REMOVAL_FAILURE);
+#.END
+#.FN_HDR TraceStart
+ set_message_label(actx, MTYPE_TRACE_START);
+ set_stats_message_type(actx->pinfo, MTYPE_TRACE_START);
+#.END
+#.FN_HDR DeactivateTrace
+ set_message_label(actx, MTYPE_DEACTIVATE_TRACE);
+ set_stats_message_type(actx->pinfo, MTYPE_DEACTIVATE_TRACE);
+#.END
+#.FN_HDR DUCURadioInformationTransfer
+ set_message_label(actx, MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER);
+#.END
+#.FN_HDR CUDURadioInformationTransfer
+ set_message_label(actx, MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER);
+#.END
+#.FN_HDR BAPMappingConfiguration
+ set_message_label(actx, MTYPE_BAP_MAPPING_CONFIGURATION);
+ set_stats_message_type(actx->pinfo, MTYPE_BAP_MAPPING_CONFIGURATION);
+#.END
+#.FN_HDR BAPMappingConfigurationAcknowledge
+ set_message_label(actx, MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE);
+ set_stats_message_type(actx->pinfo, MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE);
+#.END
+#.FN_HDR BAPMappingConfigurationFailure
+ set_message_label(actx, MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE);
+#.END
+#.FN_HDR GNBDUResourceConfiguration
+ set_message_label(actx, MTYPE_GNB_DU_RESOURCE_CONFIGURATION);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_CONFIGURATION);
+#.END
+#.FN_HDR GNBDUResourceConfigurationAcknowledge
+ set_message_label(actx, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE);
+#.END
+#.FN_HDR GNBDUResourceConfigurationFailure
+ set_message_label(actx, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE);
+#.END
+#.FN_HDR IABTNLAddressRequest
+ set_message_label(actx, MTYPE_IAB_TNL_ADDRESS_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_IAB_TNL_ADDRESS_REQUEST);
+#.END
+#.FN_HDR IABTNLAddressResponse
+ set_message_label(actx, MTYPE_IAB_TNL_ADDRESS_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_IAB_TNL_ADDRESS_RESPONSE);
+#.END
+#.FN_HDR IABTNLAddressFailure
+ set_message_label(actx, MTYPE_IAB_TNL_ADDRESS_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_IAB_TNL_ADDRESS_FAILURE);
+#.END
+#.FN_HDR IABUPConfigurationUpdateRequest
+ set_message_label(actx, MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST);
+#.END
+#.FN_HDR IABUPConfigurationUpdateResponse
+ set_message_label(actx, MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE);
+#.END
+#.FN_HDR IABUPConfigurationUpdateFailure
+ set_message_label(actx, MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE);
+#.END
+#.FN_HDR ResourceStatusRequest
+ set_message_label(actx, MTYPE_RESOURCE_STATUS_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_REQUEST);
+#.END
+#.FN_HDR ResourceStatusResponse
+ set_message_label(actx, MTYPE_RESOURCE_STATUS_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_RESPONSE);
+#.END
+#.FN_HDR ResourceStatusFailure
+ set_message_label(actx, MTYPE_RESOURCE_STATUS_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_FAILURE);
+#.END
+#.FN_HDR ResourceStatusUpdate
+ set_message_label(actx, MTYPE_RESOURCE_STATUS_UPDATE);
+ set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_UPDATE);
+#.END
+#.FN_HDR AccessAndMobilityIndication
+ set_message_label(actx, MTYPE_ACCESS_AND_MOBILITY_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_ACCESS_AND_MOBILITY_INDICATION);
+#.END
+#.FN_HDR ReferenceTimeInformationReportingControl
+ set_message_label(actx, MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL);
+ set_stats_message_type(actx->pinfo, MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL);
+#.END
+#.FN_HDR ReferenceTimeInformationReport
+ set_message_label(actx, MTYPE_REFERENCE_TIME_INFORMATION_REPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_REFERENCE_TIME_INFORMATION_REPORT);
+#.END
+#.FN_HDR AccessSuccess
+ set_message_label(actx, MTYPE_ACCESS_SUCCESS);
+ set_stats_message_type(actx->pinfo, MTYPE_ACCESS_SUCCESS);
+#.END
+#.FN_HDR CellTrafficTrace
+ set_message_label(actx, MTYPE_CELL_TRAFFIC_TRACE);
+ set_stats_message_type(actx->pinfo, MTYPE_CELL_TRAFFIC_TRACE);
+#.END
+#.FN_HDR PositioningAssistanceInformationControl
+ set_message_label(actx, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL);
+#.END
+#.FN_HDR PositioningAssistanceInformationFeedback
+ set_message_label(actx, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK);
+#.END
+#.FN_HDR PositioningMeasurementRequest
+ set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_REQUEST);
+#.END
+#.FN_HDR PositioningMeasurementResponse
+ set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_RESPONSE);
+#.END
+#.FN_HDR PositioningMeasurementFailure
+ set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_FAILURE);
+#.END
+#.FN_HDR PositioningMeasurementReport
+ set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_REPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_REPORT);
+#.END
+#.FN_HDR PositioningMeasurementAbort
+ set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_ABORT);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_ABORT);
+#.END
+#.FN_HDR PositioningMeasurementFailureIndication
+ set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION);
+#.END
+#.FN_HDR PositioningMeasurementUpdate
+ set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_UPDATE);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_UPDATE);
+#.END
+#.FN_HDR TRPInformationRequest
+ set_message_label(actx, MTYPE_TRP_INFORMATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_TRP_INFORMATION_REQUEST);
+#.END
+#.FN_HDR TRPInformationResponse
+ set_message_label(actx, MTYPE_TRP_INFORMATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_TRP_INFORMATION_RESPONSE);
+#.END
+#.FN_HDR TRPInformationFailure
+ set_message_label(actx, MTYPE_TRP_INFORMATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_TRP_INFORMATION_FAILURE);
+#.END
+#.FN_HDR PositioningInformationRequest
+ set_message_label(actx, MTYPE_POSITIONING_INFORMATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_REQUEST);
+#.END
+#.FN_HDR PositioningInformationResponse
+ set_message_label(actx, MTYPE_POSITIONING_INFORMATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_RESPONSE);
+#.END
+#.FN_HDR PositioningInformationFailure
+ set_message_label(actx, MTYPE_POSITIONING_INFORMATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_FAILURE);
+#.END
+#.FN_HDR PositioningActivationRequest
+ set_message_label(actx, MTYPE_POSITIONING_ACTIVATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ACTIVATION_REQUEST);
+#.END
+#.FN_HDR PositioningActivationResponse
+ set_message_label(actx, MTYPE_POSITIONING_ACTIVATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ACTIVATION_RESPONSE);
+#.END
+#.FN_HDR PositioningActivationFailure
+ set_message_label(actx, MTYPE_POSITIONING_ACTIVATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ACTIVATION_FAILURE);
+#.END
+#.FN_HDR PositioningDeactivation
+ set_message_label(actx, MTYPE_POSITIONING_DEACTIVATION);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_DEACTIVATION);
+#.END
+#.FN_HDR E-CIDMeasurementInitiationRequest
+ set_message_label(actx, MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST);
+#.END
+#.FN_HDR E-CIDMeasurementInitiationResponse
+ set_message_label(actx, MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE);
+#.END
+#.FN_HDR E-CIDMeasurementInitiationFailure
+ set_message_label(actx, MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE);
+#.END
+#.FN_HDR E-CIDMeasurementFailureIndication
+ set_message_label(actx, MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION);
+#.END
+#.FN_HDR E-CIDMeasurementReport
+ set_message_label(actx, MTYPE_E_CID_MEASUREMENT_REPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_REPORT);
+#.END
+#.FN_HDR E-CIDMeasurementTerminationCommand
+ set_message_label(actx, MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND);
+#.END
+#.FN_HDR PositioningInformationUpdate
+ set_message_label(actx, MTYPE_POSITIONING_INFORMATION_UPDATE);
+ set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_UPDATE);
+#.END
+#.FN_HDR BroadcastContextSetupRequest
+ set_message_label(actx, MTYPE_BROADCAST_CONTEXT_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_SETUP_REQUEST);
+#.END
+#.FN_HDR BroadcastContextSetupResponse
+ set_message_label(actx, MTYPE_BROADCAST_CONTEXT_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_SETUP_RESPONSE);
+#.END
+#.FN_HDR BroadcastContextSetupFailure
+ set_message_label(actx, MTYPE_BROADCAST_CONTEXT_SETUP_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_SETUP_FAILURE);
+#.END
+#.FN_HDR BroadcastContextReleaseCommand
+ set_message_label(actx, MTYPE_BROADCAST_CONTEXT_RELEASE_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_RELEASE_COMMAND);
+#.END
+#.FN_HDR BroadcastContextReleaseComplete
+ set_message_label(actx, MTYPE_BROADCAST_CONTEXT_RELEASE_COMPLETE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_RELEASE_COMPLETE);
+#.END
+#.FN_HDR BroadcastContextReleaseRequest
+ set_message_label(actx, MTYPE_BROADCAST_CONTEXT_RELEASE_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_RELEASE_REQUEST);
+#.END
+#.FN_HDR BroadcastContextModificationRequest
+ set_message_label(actx, MTYPE_BROADCAST_CONTEXT_MODIFICATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_MODIFICATION_REQUEST);
+#.END
+#.FN_HDR BroadcastContextModificationResponse
+ set_message_label(actx, MTYPE_BROADCAST_CONTEXT_MODIFICATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_MODIFICATION_RESPONSE);
+#.END
+#.FN_HDR BroadcastContextModificationFailure
+ set_message_label(actx, MTYPE_BROADCAST_CONTEXT_MODIFICATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_MODIFICATION_FAILURE);
+#.END
+#.FN_HDR MulticastGroupPaging
+ set_message_label(actx, MTYPE_MULTICAST_GROUP_PAGING);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_GROUP_PAGING);
+#.END
+#.FN_HDR MulticastContextSetupRequest
+ set_message_label(actx, MTYPE_MULTICAST_CONTEXT_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_SETUP_REQUEST);
+#.END
+#.FN_HDR MulticastContextSetupResponse
+ set_message_label(actx, MTYPE_MULTICAST_CONTEXT_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_SETUP_RESPONSE);
+#.END
+#.FN_HDR MulticastContextSetupFailure
+ set_message_label(actx, MTYPE_MULTICAST_CONTEXT_SETUP_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_SETUP_FAILURE);
+#.END
+#.FN_HDR MulticastContextReleaseCommand
+ set_message_label(actx, MTYPE_MULTICAST_CONTEXT_RELEASE_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_RELEASE_COMMAND);
+#.END
+#.FN_HDR MulticastContextReleaseComplete
+ set_message_label(actx, MTYPE_MULTICAST_CONTEXT_RELEASE_COMPLETE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_RELEASE_COMPLETE);
+#.END
+#.FN_HDR MulticastContextReleaseRequest
+ set_message_label(actx, MTYPE_MULTICAST_CONTEXT_RELEASE_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_RELEASE_REQUEST);
+#.END
+#.FN_HDR MulticastContextModificationRequest
+ set_message_label(actx, MTYPE_MULTICAST_CONTEXT_MODIFICATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_MODIFICATION_REQUEST);
+#.END
+#.FN_HDR MulticastContextModificationResponse
+ set_message_label(actx, MTYPE_MULTICAST_CONTEXT_MODIFICATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_MODIFICATION_RESPONSE);
+#.END
+#.FN_HDR MulticastContextModificationFailure
+ set_message_label(actx, MTYPE_MULTICAST_CONTEXT_MODIFICATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_MODIFICATION_FAILURE);
+#.END
+#.FN_HDR MulticastDistributionSetupRequest
+ set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_SETUP_REQUEST);
+#.END
+#.FN_HDR MulticastDistributionSetupResponse
+ set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_SETUP_RESPONSE);
+#.END
+#.FN_HDR MulticastDistributionSetupFailure
+ set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_SETUP_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_SETUP_FAILURE);
+#.END
+#.FN_HDR MulticastDistributionReleaseCommand
+ set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMMAND);
+#.END
+#.FN_HDR MulticastDistributionReleaseComplete
+ set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMPLETE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMPLETE);
+#.END
+#.FN_HDR PDCMeasurementInitiationRequest
+ set_message_label(actx, MTYPE_PDCP_MEASUREMENT_INITIATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_INITIATION_REQUEST);
+#.END
+#.FN_HDR PDCMeasurementInitiationResponse
+ set_message_label(actx, MTYPE_PDCP_MEASUREMENT_INITIATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_INITIATION_RESPONSE);
+#.END
+#.FN_HDR PDCMeasurementInitiationFailure
+ set_message_label(actx, MTYPE_PDCP_MEASUREMENT_INITIATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_INITIATION_FAILURE);
+#.END
+#.FN_HDR PDCMeasurementReport
+ set_message_label(actx, MTYPE_PDCP_MEASUREMENT_REPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_REPORT);
+#.END
+#.FN_HDR PDCMeasurementTerminationCommand
+ set_message_label(actx, MTYPE_PDCP_MEASUREMENT_TERMINATION_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_TERMINATION_COMMAND);
+#.END
+#.FN_HDR PDCMeasurementFailureIndication
+ set_message_label(actx, MTYPE_PDCP_MEASUREMENT_FAILURE_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_FAILURE_INDICATION);
+#.END
+#.FN_HDR PRSConfigurationRequest
+ set_message_label(actx, MTYPE_PRS_CONFIGURATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_PRS_CONFIGURATION_REQUEST);
+#.END
+#.FN_HDR PRSConfigurationResponse
+ set_message_label(actx, MTYPE_PRS_CONFIGURATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_PRS_CONFIGURATION_RESPONSE);
+#.END
+#.FN_HDR PRSConfigurationFailure
+ set_message_label(actx, MTYPE_PRS_CONFIGURATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_PRS_CONFIGURATION_FAILURE);
+#.END
+#.FN_HDR MeasurementPreconfigurationRequired
+ set_message_label(actx, MTYPE_MEASUREMENT_PRECONFIGURATION_REQUIRED);
+ set_stats_message_type(actx->pinfo, MTYPE_MEASUREMENT_PRECONFIGURATION_REQUIRED);
+#.END
+#.FN_HDR MeasurementPreconfigurationConfirm
+ set_message_label(actx, MTYPE_MEASUREMENT_PRECONFIGURATION_CONFIRM);
+ set_stats_message_type(actx->pinfo, MTYPE_MEASUREMENT_PRECONFIGURATION_CONFIRM);
+#.END
+#.FN_HDR MeasurementPreconfigurationRefuse
+ set_message_label(actx, MTYPE_MEASUREMENT_PRECONFIGURATION_REFUSE);
+ set_stats_message_type(actx->pinfo, MTYPE_MEASUREMENT_PRECONFIGURATION_REFUSE);
+#.END
+#.FN_HDR MeasurementActivation
+ set_message_label(actx, MTYPE_MEASUREMENT_ACTIVATION);
+ set_stats_message_type(actx->pinfo, MTYPE_MEASUREMENT_ACTIVATION);
+#.END
+#.FN_HDR QoEInformationTransfer
+ set_message_label(actx, MTYPE_QOE_INFORMATION_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_QOE_INFORMATION_TRANSFER);
+#.FN_HDR PosSystemInformationDeliveryCommand
+ set_message_label(actx, MTYPE_POS_SYSTEM_INFORMATION_DELIVERY_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_POS_SYSTEM_INFORMATION_DELIVERY_COMMAND);
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/f1ap/packet-f1ap-template.c b/epan/dissectors/asn1/f1ap/packet-f1ap-template.c
new file mode 100644
index 00000000..4c96fe8c
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/packet-f1ap-template.c
@@ -0,0 +1,906 @@
+/* packet-f1ap.c
+ * Routines for E-UTRAN F1 Application Protocol (F1AP) packet dissection
+ * Copyright 2018-2023, Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * References: 3GPP TS 38.473 V17.5.0 (2023-06)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/asn1.h>
+#include <epan/sctpppids.h>
+#include <epan/proto_data.h>
+#include <epan/stats_tree.h>
+
+#include "packet-per.h"
+#include "packet-f1ap.h"
+#include "packet-x2ap.h"
+#include "packet-nr-rrc.h"
+#include "packet-e212.h"
+#include "packet-pdcp-nr.h"
+#include "packet-lte-rrc.h"
+#include "packet-nrppa.h"
+
+#define PNAME "F1 Application Protocol"
+#define PSNAME "F1AP"
+#define PFNAME "f1ap"
+
+#define SCTP_PORT_F1AP 38472
+
+void proto_register_f1ap(void);
+void proto_reg_handoff_f1ap(void);
+
+#include "packet-f1ap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_f1ap = -1;
+
+static int hf_f1ap_transportLayerAddressIPv4 = -1;
+static int hf_f1ap_transportLayerAddressIPv6 = -1;
+static int hf_f1ap_IABTNLAddressIPv4 = -1;
+static int hf_f1ap_IABTNLAddressIPv6 = -1;
+static int hf_f1ap_IABTNLAddressIPv6Prefix = -1;
+static int hf_f1ap_interfacesToTrace_NG_C = -1;
+static int hf_f1ap_interfacesToTrace_Xn_C = -1;
+static int hf_f1ap_interfacesToTrace_Uu = -1;
+static int hf_f1ap_interfacesToTrace_F1_C = -1;
+static int hf_f1ap_interfacesToTrace_E1 = -1;
+static int hf_f1ap_interfacesToTrace_Reserved = -1;
+static int hf_f1ap_MeasurementsToActivate_Reserved1 = -1;
+static int hf_f1ap_MeasurementsToActivate_M2 = -1;
+static int hf_f1ap_MeasurementsToActivate_Reserved2 = -1;
+static int hf_f1ap_MeasurementsToActivate_M5 = -1;
+static int hf_f1ap_MeasurementsToActivate_Reserved3 = -1;
+static int hf_f1ap_MeasurementsToActivate_M6 = -1;
+static int hf_f1ap_MeasurementsToActivate_M7 = -1;
+static int hf_f1ap_ReportCharacteristics_PRBPeriodic = -1;
+static int hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic = -1;
+static int hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic = -1;
+static int hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic = -1;
+static int hf_f1ap_ReportCharacteristics_NumberOfActiveUEs = -1;
+static int hf_f1ap_ReportCharacteristics_Reserved = -1;
+#include "packet-f1ap-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_f1ap = -1;
+static gint ett_f1ap_ResourceCoordinationTransferContainer = -1;
+static gint ett_f1ap_PLMN_Identity = -1;
+static gint ett_f1ap_MIB_message = -1;
+static gint ett_f1ap_SIB1_message = -1;
+static gint ett_f1ap_CG_ConfigInfo = -1;
+static gint ett_f1ap_CellGroupConfig = -1;
+static gint ett_f1ap_TransportLayerAddress = -1;
+static gint ett_f1ap_UE_CapabilityRAT_ContainerList = -1;
+static gint ett_f1ap_measurementTimingConfiguration = -1;
+static gint ett_f1ap_DUtoCURRCContainer = -1;
+static gint ett_f1ap_requestedP_MaxFR1 = -1;
+static gint ett_f1ap_HandoverPreparationInformation = -1;
+static gint ett_f1ap_MeasConfig = -1;
+static gint ett_f1ap_MeasGapConfig = -1;
+static gint ett_f1ap_MeasGapSharingConfig = -1;
+static gint ett_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container = -1;
+static gint ett_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container = -1;
+static gint ett_f1ap_ProtectedEUTRAResourceIndication = -1;
+static gint ett_f1ap_RRCContainer = -1;
+static gint ett_f1ap_RRCContainer_RRCSetupComplete = -1;
+static gint ett_f1ap_sIBmessage = -1;
+static gint ett_f1ap_UplinkTxDirectCurrentListInformation = -1;
+static gint ett_f1ap_DRX_Config = -1;
+static gint ett_f1ap_Ph_InfoSCG = -1;
+static gint ett_f1ap_RequestedBandCombinationIndex = -1;
+static gint ett_f1ap_RequestedFeatureSetEntryIndex = -1;
+static gint ett_f1ap_RequestedP_MaxFR2 = -1;
+static gint ett_f1ap_UEAssistanceInformation = -1;
+static gint ett_f1ap_CG_Config = -1;
+static gint ett_f1ap_Ph_InfoMCG = -1;
+static gint ett_f1ap_BurstArrivalTime = -1;
+static gint ett_f1ap_cSI_RS_Configuration = -1;
+static gint ett_f1ap_sR_Configuration = -1;
+static gint ett_f1ap_pDCCH_ConfigSIB1 = -1;
+static gint ett_f1ap_sCS_Common = -1;
+static gint ett_f1ap_IABTNLAddressIPv4Address = -1;
+static gint ett_f1ap_IABTNLAddressIPv6Address = -1;
+static gint ett_f1ap_IABTNLAddressIPv6Prefix = -1;
+static gint ett_f1ap_InterfacesToTrace = -1;
+static gint ett_f1ap_MeasurementsToActivate = -1;
+static gint ett_f1ap_NRUERLFReportContainer = -1;
+static gint ett_f1ap_RACH_Config_Common = -1;
+static gint ett_f1ap_RACH_Config_Common_IAB = -1;
+static gint ett_f1ap_RACHReportContainer = -1;
+static gint ett_f1ap_ReferenceTime = -1;
+static gint ett_f1ap_ReportCharacteristics = -1;
+static gint ett_f1ap_SIB10_message = -1;
+static gint ett_f1ap_SIB12_message = -1;
+static gint ett_f1ap_SIB13_message = -1;
+static gint ett_f1ap_SIB14_message = -1;
+static gint ett_f1ap_SIB15_message = -1;
+static gint ett_f1ap_SIB17_message = -1;
+static gint ett_f1ap_SIB20_message = -1;
+static gint ett_f1ap_SL_PHY_MAC_RLC_Config = -1;
+static gint ett_f1ap_SL_RLC_ChannelToAddModList = -1;
+static gint ett_f1ap_SL_ConfigDedicatedEUTRA_Info = -1;
+static gint ett_f1ap_TDD_UL_DLConfigCommonNR = -1;
+static gint ett_f1ap_UEAssistanceInformationEUTRA = -1;
+static gint ett_f1ap_PosAssistance_Information = -1;
+static gint ett_f1ap_LocationMeasurementInformation = -1;
+static gint ett_f1ap_MUSIM_GapConfig = -1;
+static gint ett_f1ap_SDT_MAC_PHY_CG_Config = -1;
+static gint ett_f1ap_SDTRLCBearerConfiguration = -1;
+static gint ett_f1ap_MBSInterestIndication = -1;
+static gint ett_f1ap_NeedForGapsInfoNR = -1;
+static gint ett_f1ap_NeedForGapNCSGInfoNR = -1;
+static gint ett_f1ap_NeedForGapNCSGInfoEUTRA = -1;
+static gint ett_f1ap_MBS_Broadcast_NeighbourCellList = -1;
+static gint ett_f1ap_mRB_PDCP_Config_Broadcast = -1;
+static gint ett_f1ap_posMeasGapPreConfigToAddModList = -1;
+static gint ett_f1ap_posMeasGapPreConfigToReleaseList = -1;
+static gint ett_f1ap_SidelinkConfigurationContainer = -1;
+static gint ett_f1ap_SRSPosRRCInactiveConfig = -1;
+static gint ett_f1ap_successfulHOReportContainer = -1;
+static gint ett_f1ap_UL_GapFR2_Config = -1;
+static gint ett_f1ap_ConfigRestrictInfoDAPS = -1;
+static gint ett_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo = -1;
+static gint ett_f1ap_Ncd_SSB_RedCapInitialBWP_SDT = -1;
+#include "packet-f1ap-ett.c"
+
+enum{
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+/* F1AP stats - Tap interface */
+
+static void set_stats_message_type(packet_info *pinfo, int type);
+
+static const guint8 *st_str_packets = "Total Packets";
+static const guint8 *st_str_packet_types = "F1AP Packet Types";
+
+static int st_node_packets = -1;
+static int st_node_packet_types = -1;
+static int f1ap_tap = -1;
+
+struct f1ap_tap_t {
+ gint f1ap_mtype;
+};
+
+#define MTYPE_RESET 1
+#define MTYPE_RESET_ACK 2
+#define MTYPE_F1_SETUP_REQUEST 3
+#define MTYPE_F1_SETUP_RESPONSE 4
+#define MTYPE_F1_SETUP_FAILURE 5
+#define MTYPE_GNB_DU_CONFIGURATION_UPDATE 6
+#define MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE 7
+#define MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE 8
+#define MTYPE_GNB_CU_CONFIGURATION_UPDATE 9
+#define MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE 10
+#define MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE 11
+#define MTYPE_UE_CONTEXT_SETUP_REQUEST 12
+#define MTYPE_UE_CONTEXT_SETUP_RESPONSE 13
+#define MTYPE_UE_CONTEXT_SETUP_FAILURE 14
+#define MTYPE_UE_CONTEXT_RELEASE_COMMAND 15
+#define MTYPE_UE_CONTEXT_RELEASE_COMPLETE 16
+#define MTYPE_UE_CONTEXT_MODIFICATION_REQUEST 17
+#define MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE 18
+#define MTYPE_UE_CONTEXT_MODIFICATION_FAILURE 19
+#define MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED 20
+#define MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM 21
+#define MTYPE_UE_CONTEXT_MODIFICATION_REFUSE 22
+#define MTYPE_WRITE_REPLACE_WARNING_REQUEST 23
+#define MTYPE_WRITE_REPLACE_WARNING_RESPONSE 24
+#define MTYPE_PWS_CANCEL_REQUEST 25
+#define MTYPE_PWS_CANCEL_RESPONSE 26
+#define MTYPE_ERROR_INDICATION 27
+#define MTYPE_UE_CONTEXT_RELEASE_REQUEST 28
+#define MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER 29
+#define MTYPE_DL_RRC_MESSAGE_TRANSFER 30
+#define MTYPE_UL_RRC_MESSAGE_TRANSFER 31
+#define MTYPE_UE_INACTIVITY_NOTIFICATION 32
+#define MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST 33
+#define MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE 34
+#define MTYPE_PRIVATE_MESSAGE 35
+#define MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND 36
+#define MTYPE_PAGING 37
+#define MTYPE_NOTIFY 38
+#define MTYPE_NETWORK_ACCESS_RATE_REDUCTION 39
+#define MTYPE_PWS_RESTART_INDICATION 40
+#define MTYPE_PWS_FAILURE_INDICATION 41
+#define MTYPE_GNB_DU_STATUS_INDICATION 42
+#define MTYPE_RRC_DELIVERY_REPORT 43
+#define MTYPE_F1_REMOVAL_REQUEST 44
+#define MTYPE_F1_REMOVAL_RESPONSE 45
+#define MTYPE_F1_REMOVAL_FAILURE 46
+#define MTYPE_TRACE_START 47
+#define MTYPE_DEACTIVATE_TRACE 48
+#define MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER 49
+#define MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER 50
+#define MTYPE_BAP_MAPPING_CONFIGURATION 51
+#define MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE 52
+#define MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE 53
+#define MTYPE_GNB_DU_RESOURCE_CONFIGURATION 54
+#define MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE 55
+#define MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE 56
+#define MTYPE_IAB_TNL_ADDRESS_REQUEST 57
+#define MTYPE_IAB_TNL_ADDRESS_RESPONSE 58
+#define MTYPE_IAB_TNL_ADDRESS_FAILURE 59
+#define MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST 60
+#define MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE 61
+#define MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE 62
+#define MTYPE_RESOURCE_STATUS_REQUEST 63
+#define MTYPE_RESOURCE_STATUS_RESPONSE 64
+#define MTYPE_RESOURCE_STATUS_FAILURE 65
+#define MTYPE_RESOURCE_STATUS_UPDATE 66
+#define MTYPE_ACCESS_AND_MOBILITY_INDICATION 67
+#define MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL 68
+#define MTYPE_REFERENCE_TIME_INFORMATION_REPORT 69
+#define MTYPE_ACCESS_SUCCESS 70
+#define MTYPE_CELL_TRAFFIC_TRACE 71
+#define MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL 72
+#define MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK 73
+#define MTYPE_POSITIONING_MEASUREMENT_REQUEST 74
+#define MTYPE_POSITIONING_MEASUREMENT_RESPONSE 75
+#define MTYPE_POSITIONING_MEASUREMENT_FAILURE 76
+#define MTYPE_POSITIONING_MEASUREMENT_REPORT 77
+#define MTYPE_POSITIONING_MEASUREMENT_ABORT 78
+#define MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION 79
+#define MTYPE_POSITIONING_MEASUREMENT_UPDATE 80
+#define MTYPE_TRP_INFORMATION_REQUEST 81
+#define MTYPE_TRP_INFORMATION_RESPONSE 82
+#define MTYPE_TRP_INFORMATION_FAILURE 83
+#define MTYPE_POSITIONING_INFORMATION_REQUEST 84
+#define MTYPE_POSITIONING_INFORMATION_RESPONSE 85
+#define MTYPE_POSITIONING_INFORMATION_FAILURE 86
+#define MTYPE_POSITIONING_ACTIVATION_REQUEST 87
+#define MTYPE_POSITIONING_ACTIVATION_RESPONSE 88
+#define MTYPE_POSITIONING_ACTIVATION_FAILURE 89
+#define MTYPE_POSITIONING_DEACTIVATION 90
+#define MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST 91
+#define MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE 92
+#define MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE 93
+#define MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION 94
+#define MTYPE_E_CID_MEASUREMENT_REPORT 95
+#define MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND 96
+#define MTYPE_POSITIONING_INFORMATION_UPDATE 97
+#define MTYPE_BROADCAST_CONTEXT_SETUP_REQUEST 98
+#define MTYPE_BROADCAST_CONTEXT_SETUP_RESPONSE 99
+#define MTYPE_BROADCAST_CONTEXT_SETUP_FAILURE 100
+#define MTYPE_BROADCAST_CONTEXT_RELEASE_COMMAND 101
+#define MTYPE_BROADCAST_CONTEXT_RELEASE_COMPLETE 102
+#define MTYPE_BROADCAST_CONTEXT_RELEASE_REQUEST 103
+#define MTYPE_BROADCAST_CONTEXT_MODIFICATION_REQUEST 104
+#define MTYPE_BROADCAST_CONTEXT_MODIFICATION_RESPONSE 105
+#define MTYPE_BROADCAST_CONTEXT_MODIFICATION_FAILURE 106
+#define MTYPE_MULTICAST_GROUP_PAGING 107
+#define MTYPE_MULTICAST_CONTEXT_SETUP_REQUEST 108
+#define MTYPE_MULTICAST_CONTEXT_SETUP_RESPONSE 109
+#define MTYPE_MULTICAST_CONTEXT_SETUP_FAILURE 110
+#define MTYPE_MULTICAST_CONTEXT_RELEASE_COMMAND 111
+#define MTYPE_MULTICAST_CONTEXT_RELEASE_COMPLETE 112
+#define MTYPE_MULTICAST_CONTEXT_RELEASE_REQUEST 113
+#define MTYPE_MULTICAST_CONTEXT_MODIFICATION_REQUEST 114
+#define MTYPE_MULTICAST_CONTEXT_MODIFICATION_RESPONSE 115
+#define MTYPE_MULTICAST_CONTEXT_MODIFICATION_FAILURE 116
+#define MTYPE_MULTICAST_DISTRIBUTION_SETUP_REQUEST 117
+#define MTYPE_MULTICAST_DISTRIBUTION_SETUP_RESPONSE 118
+#define MTYPE_MULTICAST_DISTRIBUTION_SETUP_FAILURE 119
+#define MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMMAND 120
+#define MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMPLETE 121
+#define MTYPE_PDCP_MEASUREMENT_INITIATION_REQUEST 122
+#define MTYPE_PDCP_MEASUREMENT_INITIATION_RESPONSE 123
+#define MTYPE_PDCP_MEASUREMENT_INITIATION_FAILURE 124
+#define MTYPE_PDCP_MEASUREMENT_REPORT 125
+#define MTYPE_PDCP_MEASUREMENT_TERMINATION_COMMAND 126
+#define MTYPE_PDCP_MEASUREMENT_FAILURE_INDICATION 127
+#define MTYPE_PRS_CONFIGURATION_REQUEST 128
+#define MTYPE_PRS_CONFIGURATION_RESPONSE 129
+#define MTYPE_PRS_CONFIGURATION_FAILURE 130
+#define MTYPE_MEASUREMENT_PRECONFIGURATION_REQUIRED 131
+#define MTYPE_MEASUREMENT_PRECONFIGURATION_CONFIRM 132
+#define MTYPE_MEASUREMENT_PRECONFIGURATION_REFUSE 133
+#define MTYPE_MEASUREMENT_ACTIVATION 134
+#define MTYPE_QOE_INFORMATION_TRANSFER 135
+#define MTYPE_POS_SYSTEM_INFORMATION_DELIVERY_COMMAND 136
+
+static const value_string mtype_names[] = {
+ { MTYPE_RESET, "Reset" },
+ { MTYPE_RESET_ACK, "ResetAcknowledge" },
+ { MTYPE_F1_SETUP_REQUEST, "F1SetupRequest" },
+ { MTYPE_F1_SETUP_RESPONSE, "F1SetupResponse" },
+ { MTYPE_F1_SETUP_FAILURE, "F1SetupFailure" },
+ { MTYPE_GNB_DU_CONFIGURATION_UPDATE, "GNBDUConfigurationUpdate" },
+ { MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE, "GNBDUConfigurationUpdateAcknowledge" },
+ { MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE, "GNBDUConfigurationUpdateFailure" },
+ { MTYPE_GNB_CU_CONFIGURATION_UPDATE, "GNBCUConfigurationUpdate" },
+ { MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE, "GNBCUConfigurationUpdateAcknowledge" },
+ { MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE, "GNBCUConfigurationUpdateFailure" },
+ { MTYPE_UE_CONTEXT_SETUP_REQUEST, "UEContextSetupRequest" },
+ { MTYPE_UE_CONTEXT_SETUP_RESPONSE, "UEContextSetupResponse" },
+ { MTYPE_UE_CONTEXT_SETUP_FAILURE, "UEContextSetupFailure" },
+ { MTYPE_UE_CONTEXT_RELEASE_COMMAND, "UEContextReleaseCommand"},
+ { MTYPE_UE_CONTEXT_RELEASE_COMPLETE, "UEContextReleaseComplete"},
+ { MTYPE_UE_CONTEXT_MODIFICATION_REQUEST, "UEContextModificationRequest" },
+ { MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE, "UEContextModificationResponse" },
+ { MTYPE_UE_CONTEXT_MODIFICATION_FAILURE, "UEContextModificationFailure" },
+ { MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED, "UEContextModificationRequired" },
+ { MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM, "UEContextModificationConfirm" },
+ { MTYPE_UE_CONTEXT_MODIFICATION_REFUSE, "UEContextModificationRefuse" },
+ { MTYPE_WRITE_REPLACE_WARNING_REQUEST, "WriteReplaceWarningRequest" },
+ { MTYPE_WRITE_REPLACE_WARNING_RESPONSE, "WriteReplaceWarningResponse" },
+ { MTYPE_PWS_CANCEL_REQUEST, "PWSCancelRequest" },
+ { MTYPE_PWS_CANCEL_RESPONSE, "PWSCancelResponse" },
+ { MTYPE_ERROR_INDICATION, "ErrorIndication" },
+ { MTYPE_UE_CONTEXT_RELEASE_REQUEST, "UEContextReleaseRequest" },
+ { MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER, "InitialULRRCMessageTransfer" },
+ { MTYPE_DL_RRC_MESSAGE_TRANSFER, "DLRRCMessageTransfer" },
+ { MTYPE_UL_RRC_MESSAGE_TRANSFER, "ULRRCMessageTransfer" },
+ { MTYPE_UE_INACTIVITY_NOTIFICATION, "UEInactivityNotification" },
+ { MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST, "GNBDUResourceCoordinationRequest" },
+ { MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE, "GNBDUResourceCoordinationResponse" },
+ { MTYPE_PRIVATE_MESSAGE, "PrivateMessage" },
+ { MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND, "SystemInformationDeliveryCommand" },
+ { MTYPE_PAGING, "Paging" },
+ { MTYPE_NOTIFY, "Notify" },
+ { MTYPE_NETWORK_ACCESS_RATE_REDUCTION, "NetworkAccessRateReduction" },
+ { MTYPE_PWS_RESTART_INDICATION, "PWSRestartIndication" },
+ { MTYPE_PWS_FAILURE_INDICATION, "PWSFailureIndication" },
+ { MTYPE_GNB_DU_STATUS_INDICATION, "GNBDUStatusIndication" },
+ { MTYPE_RRC_DELIVERY_REPORT, "RRCDeliveryReport" },
+ { MTYPE_F1_REMOVAL_REQUEST, "F1RemovalRequest" },
+ { MTYPE_F1_REMOVAL_RESPONSE, "F1RemovalResponse" },
+ { MTYPE_F1_REMOVAL_FAILURE, "F1RemovalFailure" },
+ { MTYPE_TRACE_START, "TraceStart" },
+ { MTYPE_DEACTIVATE_TRACE, "DeactivateTrace" },
+ { MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER, "DUCURadioInformationTransfer" },
+ { MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER, "CUDURadioInformationTransfer" },
+ { MTYPE_BAP_MAPPING_CONFIGURATION, "BAPMappingConfiguration" },
+ { MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE, "BAPMappingConfigurationAcknowledge" },
+ { MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE, "BAPMappingConfigurationFailure" },
+ { MTYPE_GNB_DU_RESOURCE_CONFIGURATION, "GNBDUResourceConfiguration" },
+ { MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE, "GNBDUResourceConfigurationAcknowledge" },
+ { MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE, "GNBDUResourceConfigurationFailure" },
+ { MTYPE_IAB_TNL_ADDRESS_REQUEST, "IABTNLAddressRequest" },
+ { MTYPE_IAB_TNL_ADDRESS_RESPONSE, "IABTNLAddressResponse" },
+ { MTYPE_IAB_TNL_ADDRESS_FAILURE, "IABTNLAddressFailure" },
+ { MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST, "IABUPConfigurationUpdateRequest" },
+ { MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE, "IABUPConfigurationUpdateResponse" },
+ { MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE, "IABUPConfigurationUpdateFailure" },
+ { MTYPE_RESOURCE_STATUS_REQUEST, "ResourceStatusRequest" },
+ { MTYPE_RESOURCE_STATUS_RESPONSE, "ResourceStatusResponse" },
+ { MTYPE_RESOURCE_STATUS_FAILURE, "ResourceStatusFailure" },
+ { MTYPE_RESOURCE_STATUS_UPDATE, "ResourceStatusUpdate" },
+ { MTYPE_ACCESS_AND_MOBILITY_INDICATION, "AccessAndMobilityIndication" },
+ { MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL, "ReferenceTimeInformationReportingControl" },
+ { MTYPE_REFERENCE_TIME_INFORMATION_REPORT, "ReferenceTimeInformationReport" },
+ { MTYPE_ACCESS_SUCCESS, "AccessSuccess" },
+ { MTYPE_CELL_TRAFFIC_TRACE, "CellTrafficTrace" },
+ { MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL, "PositioningAssistanceInformationControl" },
+ { MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK, "PositioningAssistanceInformationFeedback" },
+ { MTYPE_POSITIONING_MEASUREMENT_REQUEST, "PositioningMeasurementRequest" },
+ { MTYPE_POSITIONING_MEASUREMENT_RESPONSE, "PositioningMeasurementResponse" },
+ { MTYPE_POSITIONING_MEASUREMENT_FAILURE, "PositioningMeasurementFailure" },
+ { MTYPE_POSITIONING_MEASUREMENT_REPORT, "PositioningMeasurementReport" },
+ { MTYPE_POSITIONING_MEASUREMENT_ABORT, "PositioningMeasurementAbort" },
+ { MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION, "PositioningMeasurementFailureIndication" },
+ { MTYPE_POSITIONING_MEASUREMENT_UPDATE, "PositioningMeasurementUpdate" },
+ { MTYPE_TRP_INFORMATION_REQUEST, "TRPInformationRequest" },
+ { MTYPE_TRP_INFORMATION_RESPONSE, "TRPInformationResponse" },
+ { MTYPE_TRP_INFORMATION_FAILURE, "TRPInformationFailure" },
+ { MTYPE_POSITIONING_INFORMATION_REQUEST, "PositioningInformationRequest" },
+ { MTYPE_POSITIONING_INFORMATION_RESPONSE, "PositioningInformationResponse" },
+ { MTYPE_POSITIONING_INFORMATION_FAILURE, "PositioningInformationFailure" },
+ { MTYPE_POSITIONING_ACTIVATION_REQUEST, "PositioningActivationRequest" },
+ { MTYPE_POSITIONING_ACTIVATION_RESPONSE, "PositioningActivationResponse" },
+ { MTYPE_POSITIONING_ACTIVATION_FAILURE, "PositioningActivationFailure" },
+ { MTYPE_POSITIONING_DEACTIVATION, "PositioningDeactivation" },
+ { MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST, "E-CIDMeasurementInitiationRequest" },
+ { MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE, "E-CIDMeasurementInitiationResponse" },
+ { MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE, "E-CIDMeasurementInitiationFailure" },
+ { MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION, "E-CIDMeasurementFailureIndication" },
+ { MTYPE_E_CID_MEASUREMENT_REPORT, "E-CIDMeasurementReport" },
+ { MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND, "E-CIDMeasurementTerminationCommand" },
+ { MTYPE_POSITIONING_INFORMATION_UPDATE, "PositioningInformationUpdate" },
+ { MTYPE_BROADCAST_CONTEXT_SETUP_REQUEST, "BroadcastContextSetupRequest" },
+ { MTYPE_BROADCAST_CONTEXT_SETUP_RESPONSE, "BroadcastContextSetupResponse" },
+ { MTYPE_BROADCAST_CONTEXT_SETUP_FAILURE, "BroadcastContextSetupFailure" },
+ { MTYPE_BROADCAST_CONTEXT_RELEASE_COMMAND, "BroadcastContextReleaseCommand" },
+ { MTYPE_BROADCAST_CONTEXT_RELEASE_COMPLETE, "BroadcastContextReleaseComplete" },
+ { MTYPE_BROADCAST_CONTEXT_RELEASE_REQUEST, "BroadcastContextReleaseRequest" },
+ { MTYPE_BROADCAST_CONTEXT_MODIFICATION_REQUEST, "BroadcastContextModificationRequest" },
+ { MTYPE_BROADCAST_CONTEXT_MODIFICATION_RESPONSE, "BroadcastContextModificationResponse" },
+ { MTYPE_BROADCAST_CONTEXT_MODIFICATION_FAILURE, "BroadcastContextModificationFailure" },
+ { MTYPE_MULTICAST_GROUP_PAGING, "MulticastGroupPaging" },
+ { MTYPE_MULTICAST_CONTEXT_SETUP_REQUEST, "MulticastContextSetupRequest" },
+ { MTYPE_MULTICAST_CONTEXT_SETUP_RESPONSE, "MulticastContextSetupResponse" },
+ { MTYPE_MULTICAST_CONTEXT_SETUP_FAILURE, "MulticastContextSetupFailure" },
+ { MTYPE_MULTICAST_CONTEXT_RELEASE_COMMAND, "MulticastContextReleaseCommand" },
+ { MTYPE_MULTICAST_CONTEXT_RELEASE_COMPLETE, "MulticastContextReleaseComplete" },
+ { MTYPE_MULTICAST_CONTEXT_RELEASE_REQUEST, "MulticastContextReleaseRequest" },
+ { MTYPE_MULTICAST_CONTEXT_MODIFICATION_REQUEST, "MulticastContextModificationRequest" },
+ { MTYPE_MULTICAST_CONTEXT_MODIFICATION_RESPONSE, "MulticastContextModificationResponse" },
+ { MTYPE_MULTICAST_CONTEXT_MODIFICATION_FAILURE, "MulticastContextModificationFailure" },
+ { MTYPE_MULTICAST_DISTRIBUTION_SETUP_REQUEST, "MulticastDistributionSetupRequest" },
+ { MTYPE_MULTICAST_DISTRIBUTION_SETUP_RESPONSE, "MulticastDistributionSetupResponse" },
+ { MTYPE_MULTICAST_DISTRIBUTION_SETUP_FAILURE, "MulticastDistributionSetupFailure" },
+ { MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMMAND, "MulticastDistributionReleaseCommand" },
+ { MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMPLETE, "MulticastDistributionReleaseComplete" },
+ { MTYPE_PDCP_MEASUREMENT_INITIATION_REQUEST, "PDCMeasurementInitiationRequest" },
+ { MTYPE_PDCP_MEASUREMENT_INITIATION_RESPONSE, "PDCMeasurementInitiationResponse" },
+ { MTYPE_PDCP_MEASUREMENT_INITIATION_FAILURE, "PDCMeasurementInitiationFailure" },
+ { MTYPE_PDCP_MEASUREMENT_REPORT, "PDCMeasurementReport" },
+ { MTYPE_PDCP_MEASUREMENT_TERMINATION_COMMAND, "PDCMeasurementTerminationCommand" },
+ { MTYPE_PDCP_MEASUREMENT_FAILURE_INDICATION, "PDCMeasurementFailureIndication" },
+ { MTYPE_PRS_CONFIGURATION_REQUEST, "PRSConfigurationRequest" },
+ { MTYPE_PRS_CONFIGURATION_RESPONSE, "PRSConfigurationResponse" },
+ { MTYPE_PRS_CONFIGURATION_FAILURE, "PRSConfigurationFailure" },
+ { MTYPE_MEASUREMENT_PRECONFIGURATION_REQUIRED, "MeasurementPreconfigurationRequired" },
+ { MTYPE_MEASUREMENT_PRECONFIGURATION_CONFIRM, "MeasurementPreconfigurationConfirm" },
+ { MTYPE_MEASUREMENT_PRECONFIGURATION_REFUSE, "MeasurementPreconfigurationRefuse" },
+ { MTYPE_MEASUREMENT_ACTIVATION, "MeasurementActivation" },
+ { MTYPE_QOE_INFORMATION_TRANSFER, "QoEInformationTransfer" },
+ { MTYPE_POS_SYSTEM_INFORMATION_DELIVERY_COMMAND, "PosSystemInformationDeliveryCommand" },
+ { 0, NULL }
+};
+static value_string_ext mtype_names_ext = VALUE_STRING_EXT_INIT(mtype_names);
+
+
+typedef struct {
+ guint32 message_type;
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ guint32 protocol_extension_id;
+ const char *obj_id;
+ guint32 sib_type;
+ guint32 srb_id;
+ e212_number_type_t number_type;
+ struct f1ap_tap_t *stats_tap;
+} f1ap_private_data_t;
+
+typedef struct {
+ guint32 message_type;
+ guint32 ProcedureCode;
+ guint32 ProtocolIE_ID;
+ guint32 ProtocolExtensionID;
+} f1ap_ctx_t;
+
+/* Global variables */
+static dissector_handle_t f1ap_handle;
+static dissector_handle_t nr_rrc_ul_ccch_handle;
+static dissector_handle_t nr_rrc_dl_ccch_handle;
+static dissector_handle_t nr_rrc_ul_dcch_handle;
+static dissector_handle_t nr_pdcp_handle;
+static dissector_handle_t lte_rrc_conn_reconf_handle;
+
+/* Dissector tables */
+static dissector_table_t f1ap_ies_dissector_table;
+static dissector_table_t f1ap_extension_dissector_table;
+static dissector_table_t f1ap_proc_imsg_dissector_table;
+static dissector_table_t f1ap_proc_sout_dissector_table;
+static dissector_table_t f1ap_proc_uout_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static const true_false_string f1ap_tfs_interfacesToTrace = {
+ "Should be traced",
+ "Should not be traced"
+};
+
+
+static proto_tree *top_tree = NULL;
+
+static void set_message_label(asn1_ctx_t *actx, int type)
+{
+ const char *label = val_to_str_ext_const(type, &mtype_names_ext, "Unknown");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, label);
+ /* N.B. would like to be able to use actx->subTree.top_tree, but not easy to set.. */
+ proto_item_append_text(top_tree, " (%s)", label);
+}
+
+
+
+static void
+f1ap_MaxPacketLossRate_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f%% (%u)", (float)v/10, v);
+}
+
+static void
+f1ap_PacketDelayBudget_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v);
+}
+
+static void
+f1ap_ExtendedPacketDelayBudget_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fms (%u)", (float)v/100, v);
+}
+
+static f1ap_private_data_t*
+f1ap_get_private_data(packet_info *pinfo)
+{
+ f1ap_private_data_t *f1ap_data = (f1ap_private_data_t*)p_get_proto_data(wmem_file_scope(), pinfo, proto_f1ap, 0);
+ if (!f1ap_data) {
+ f1ap_data = wmem_new0(wmem_file_scope(), f1ap_private_data_t);
+ f1ap_data->srb_id = -1;
+ p_add_proto_data(wmem_file_scope(), pinfo, proto_f1ap, 0, f1ap_data);
+ }
+ return f1ap_data;
+}
+
+static void
+add_nr_pdcp_meta_data(packet_info *pinfo, guint8 direction, guint8 srb_id)
+{
+ pdcp_nr_info *p_pdcp_nr_info;
+
+ /* Only need to set info once per session. */
+ if (get_pdcp_nr_proto_data(pinfo)) {
+ return;
+ }
+
+ p_pdcp_nr_info = wmem_new0(wmem_file_scope(), pdcp_nr_info);
+ p_pdcp_nr_info->direction = direction;
+ p_pdcp_nr_info->bearerType = Bearer_DCCH;
+ p_pdcp_nr_info->bearerId = srb_id;
+ p_pdcp_nr_info->plane = NR_SIGNALING_PLANE;
+ p_pdcp_nr_info->seqnum_length = PDCP_NR_SN_LENGTH_12_BITS;
+ p_pdcp_nr_info->maci_present = TRUE;
+ set_pdcp_nr_proto_data(pinfo, p_pdcp_nr_info);
+}
+
+#include "packet-f1ap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ f1ap_ctx_t f1ap_ctx;
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
+
+ f1ap_ctx.message_type = f1ap_data->message_type;
+ f1ap_ctx.ProcedureCode = f1ap_data->procedure_code;
+ f1ap_ctx.ProtocolIE_ID = f1ap_data->protocol_ie_id;
+ f1ap_ctx.ProtocolExtensionID = f1ap_data->protocol_extension_id;
+
+ return (dissector_try_uint_new(f1ap_ies_dissector_table, f1ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &f1ap_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ f1ap_ctx_t f1ap_ctx;
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
+
+ f1ap_ctx.message_type = f1ap_data->message_type;
+ f1ap_ctx.ProcedureCode = f1ap_data->procedure_code;
+ f1ap_ctx.ProtocolIE_ID = f1ap_data->protocol_ie_id;
+ f1ap_ctx.ProtocolExtensionID = f1ap_data->protocol_extension_id;
+
+ return (dissector_try_uint_new(f1ap_extension_dissector_table, f1ap_data->protocol_extension_id, tvb, pinfo, tree, FALSE, &f1ap_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(f1ap_proc_imsg_dissector_table, f1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(f1ap_proc_sout_dissector_table, f1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(f1ap_proc_uout_dissector_table, f1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static void
+f1ap_stats_tree_init(stats_tree *st)
+{
+ st_node_packets = stats_tree_create_node(st, st_str_packets, 0, STAT_DT_INT, TRUE);
+ st_node_packet_types = stats_tree_create_pivot(st, st_str_packet_types, st_node_packets);
+}
+
+static tap_packet_status
+f1ap_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
+ epan_dissect_t* edt _U_ , const void* p, tap_flags_t flags _U_)
+{
+ const struct f1ap_tap_t *pi = (const struct f1ap_tap_t *) p;
+
+ tick_stat_node(st, st_str_packets, 0, FALSE);
+ stats_tree_tick_pivot(st, st_node_packet_types,
+ val_to_str_ext(pi->f1ap_mtype, &mtype_names_ext,
+ "Unknown packet type (%d)"));
+ return TAP_PACKET_REDRAW;
+}
+
+static void set_stats_message_type(packet_info *pinfo, int type)
+{
+ f1ap_private_data_t* priv_data = f1ap_get_private_data(pinfo);
+ priv_data->stats_tap->f1ap_mtype = type;
+}
+
+static int
+dissect_f1ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *f1ap_item = NULL;
+ proto_tree *f1ap_tree = NULL;
+
+ struct f1ap_tap_t *f1ap_info;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "F1AP");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ f1ap_info = wmem_new(pinfo->pool, struct f1ap_tap_t);
+ f1ap_info->f1ap_mtype = 0; /* unknown/invalid */
+
+ /* create the f1ap protocol tree */
+ f1ap_item = proto_tree_add_item(tree, proto_f1ap, tvb, 0, -1, ENC_NA);
+ f1ap_tree = proto_item_add_subtree(f1ap_item, ett_f1ap);
+
+ /* Store top-level tree */
+ top_tree = f1ap_tree;
+
+ /* Add stats tap to private struct */
+ f1ap_private_data_t *priv_data = f1ap_get_private_data(pinfo);
+ priv_data->stats_tap = f1ap_info;
+
+
+ dissect_F1AP_PDU_PDU(tvb, pinfo, f1ap_tree, NULL);
+
+ tap_queue_packet(f1ap_tap, pinfo, f1ap_info);
+ return tvb_captured_length(tvb);
+}
+
+void proto_register_f1ap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_f1ap_transportLayerAddressIPv4,
+ { "IPv4 transportLayerAddress", "f1ap.transportLayerAddressIPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_f1ap_transportLayerAddressIPv6,
+ { "IPv6 transportLayerAddress", "f1ap.transportLayerAddressIPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_f1ap_IABTNLAddressIPv4,
+ { "IPv4 IABTNLAddress", "f1ap.IABTNLAddressIPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_f1ap_IABTNLAddressIPv6,
+ { "IPv6 IABTNLAddress", "f1ap.IABTNLAddressIPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_f1ap_IABTNLAddressIPv6Prefix,
+ { "IPv6 Prefix IABTNLAddress", "f1ap.IABTNLAddressIPv6Prefix",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_f1ap_interfacesToTrace_NG_C,
+ { "NG-C", "f1ap.interfacesToTrace.NG_C",
+ FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x80,
+ NULL, HFILL }},
+ { &hf_f1ap_interfacesToTrace_Xn_C,
+ { "Xn-C", "f1ap.interfacesToTrace.Xn_C",
+ FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x40,
+ NULL, HFILL }},
+ { &hf_f1ap_interfacesToTrace_Uu,
+ { "Uu", "f1ap.interfacesToTrace.Uu",
+ FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x20,
+ NULL, HFILL }},
+ { &hf_f1ap_interfacesToTrace_F1_C,
+ { "F1-C", "f1ap.interfacesToTrace.F1_C",
+ FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x10,
+ NULL, HFILL }},
+ { &hf_f1ap_interfacesToTrace_E1,
+ { "E1", "f1ap.interfacesToTrace.E1",
+ FT_BOOLEAN, 8, TFS(&f1ap_tfs_interfacesToTrace), 0x08,
+ NULL, HFILL }},
+ { &hf_f1ap_interfacesToTrace_Reserved,
+ { "Reserved", "f1ap.interfacesToTrace.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x07,
+ NULL, HFILL }},
+ { &hf_f1ap_MeasurementsToActivate_Reserved1,
+ { "Reserved", "f1ap.MeasurementsToActivate.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_f1ap_MeasurementsToActivate_M2,
+ { "M2", "f1ap.MeasurementsToActivate.M2",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x40,
+ NULL, HFILL }},
+ { &hf_f1ap_MeasurementsToActivate_Reserved2,
+ { "Reserved", "f1ap.MeasurementsToActivate.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x30,
+ NULL, HFILL }},
+ { &hf_f1ap_MeasurementsToActivate_M5,
+ { "M5", "f1ap.MeasurementsToActivate.M5",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x08,
+ NULL, HFILL }},
+ { &hf_f1ap_MeasurementsToActivate_Reserved3,
+ { "Reserved", "f1ap.MeasurementsToActivate.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x04,
+ NULL, HFILL }},
+ { &hf_f1ap_MeasurementsToActivate_M6,
+ { "M6", "f1ap.MeasurementsToActivate.M6",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x02,
+ NULL, HFILL }},
+ { &hf_f1ap_MeasurementsToActivate_M7,
+ { "M7", "f1ap.MeasurementsToActivate.M7",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x01,
+ NULL, HFILL }},
+ { &hf_f1ap_ReportCharacteristics_PRBPeriodic,
+ { "PRBPeriodic", "f1ap.ReportCharacteristics.PRBPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000,
+ NULL, HFILL }},
+ { &hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic,
+ { "TNLCapacityIndPeriodic", "f1ap.ReportCharacteristics.TNLCapacityIndPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000,
+ NULL, HFILL }},
+ { &hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic,
+ { "CompositeAvailableCapacityPeriodic", "f1ap.ReportCharacteristics.CompositeAvailableCapacityPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000,
+ NULL, HFILL }},
+ { &hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic,
+ { "HWLoadIndPeriodic", "f1ap.ReportCharacteristics.HWLoadIndPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000,
+ NULL, HFILL }},
+ { &hf_f1ap_ReportCharacteristics_NumberOfActiveUEs,
+ { "NumberOfActiveUEs", "f1ap.ReportCharacteristics.NumberOfActiveUEs",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x08000000,
+ NULL, HFILL }},
+ { &hf_f1ap_ReportCharacteristics_Reserved,
+ { "Reserved", "f1ap.ReportCharacteristics.Reserved",
+ FT_UINT32, BASE_HEX, NULL, 0x07ffffff,
+ NULL, HFILL }},
+#include "packet-f1ap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_f1ap,
+ &ett_f1ap_ResourceCoordinationTransferContainer,
+ &ett_f1ap_PLMN_Identity,
+ &ett_f1ap_MIB_message,
+ &ett_f1ap_SIB1_message,
+ &ett_f1ap_CG_ConfigInfo,
+ &ett_f1ap_CellGroupConfig,
+ &ett_f1ap_TransportLayerAddress,
+ &ett_f1ap_UE_CapabilityRAT_ContainerList,
+ &ett_f1ap_measurementTimingConfiguration,
+ &ett_f1ap_DUtoCURRCContainer,
+ &ett_f1ap_requestedP_MaxFR1,
+ &ett_f1ap_HandoverPreparationInformation,
+ &ett_f1ap_MeasConfig,
+ &ett_f1ap_MeasGapConfig,
+ &ett_f1ap_MeasGapSharingConfig,
+ &ett_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container,
+ &ett_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container,
+ &ett_f1ap_ProtectedEUTRAResourceIndication,
+ &ett_f1ap_RRCContainer,
+ &ett_f1ap_RRCContainer_RRCSetupComplete,
+ &ett_f1ap_sIBmessage,
+ &ett_f1ap_UplinkTxDirectCurrentListInformation,
+ &ett_f1ap_DRX_Config,
+ &ett_f1ap_Ph_InfoSCG,
+ &ett_f1ap_RequestedBandCombinationIndex,
+ &ett_f1ap_RequestedFeatureSetEntryIndex,
+ &ett_f1ap_RequestedP_MaxFR2,
+ &ett_f1ap_UEAssistanceInformation,
+ &ett_f1ap_CG_Config,
+ &ett_f1ap_Ph_InfoMCG,
+ &ett_f1ap_BurstArrivalTime,
+ &ett_f1ap_cSI_RS_Configuration,
+ &ett_f1ap_sR_Configuration,
+ &ett_f1ap_pDCCH_ConfigSIB1,
+ &ett_f1ap_sCS_Common,
+ &ett_f1ap_IABTNLAddressIPv4Address,
+ &ett_f1ap_IABTNLAddressIPv6Address,
+ &ett_f1ap_IABTNLAddressIPv6Prefix,
+ &ett_f1ap_InterfacesToTrace,
+ &ett_f1ap_MeasurementsToActivate,
+ &ett_f1ap_NRUERLFReportContainer,
+ &ett_f1ap_RACH_Config_Common,
+ &ett_f1ap_RACH_Config_Common_IAB,
+ &ett_f1ap_RACHReportContainer,
+ &ett_f1ap_ReferenceTime,
+ &ett_f1ap_ReportCharacteristics,
+ &ett_f1ap_SIB10_message,
+ &ett_f1ap_SIB12_message,
+ &ett_f1ap_SIB13_message,
+ &ett_f1ap_SIB14_message,
+ &ett_f1ap_SIB15_message,
+ &ett_f1ap_SIB17_message,
+ &ett_f1ap_SIB20_message,
+ &ett_f1ap_SL_PHY_MAC_RLC_Config,
+ &ett_f1ap_SL_RLC_ChannelToAddModList,
+ &ett_f1ap_SL_ConfigDedicatedEUTRA_Info,
+ &ett_f1ap_TDD_UL_DLConfigCommonNR,
+ &ett_f1ap_UEAssistanceInformationEUTRA,
+ &ett_f1ap_PosAssistance_Information,
+ &ett_f1ap_LocationMeasurementInformation,
+ &ett_f1ap_MUSIM_GapConfig,
+ &ett_f1ap_SDT_MAC_PHY_CG_Config,
+ &ett_f1ap_SDTRLCBearerConfiguration,
+ &ett_f1ap_MBSInterestIndication,
+ &ett_f1ap_NeedForGapsInfoNR,
+ &ett_f1ap_NeedForGapNCSGInfoNR,
+ &ett_f1ap_NeedForGapNCSGInfoEUTRA,
+ &ett_f1ap_MBS_Broadcast_NeighbourCellList,
+ &ett_f1ap_mRB_PDCP_Config_Broadcast,
+ &ett_f1ap_posMeasGapPreConfigToAddModList,
+ &ett_f1ap_posMeasGapPreConfigToReleaseList,
+ &ett_f1ap_SidelinkConfigurationContainer,
+ &ett_f1ap_SRSPosRRCInactiveConfig,
+ &ett_f1ap_successfulHOReportContainer,
+ &ett_f1ap_UL_GapFR2_Config,
+ &ett_f1ap_ConfigRestrictInfoDAPS,
+ &ett_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo,
+ &ett_f1ap_Ncd_SSB_RedCapInitialBWP_SDT,
+#include "packet-f1ap-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_f1ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_f1ap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ f1ap_handle = register_dissector("f1ap", dissect_f1ap, proto_f1ap);
+
+ /* Register dissector tables */
+ f1ap_ies_dissector_table = register_dissector_table("f1ap.ies", "F1AP-PROTOCOL-IES", proto_f1ap, FT_UINT32, BASE_DEC);
+ f1ap_extension_dissector_table = register_dissector_table("f1ap.extension", "F1AP-PROTOCOL-EXTENSION", proto_f1ap, FT_UINT32, BASE_DEC);
+ f1ap_proc_imsg_dissector_table = register_dissector_table("f1ap.proc.imsg", "F1AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_f1ap, FT_UINT32, BASE_DEC);
+ f1ap_proc_sout_dissector_table = register_dissector_table("f1ap.proc.sout", "F1AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_f1ap, FT_UINT32, BASE_DEC);
+ f1ap_proc_uout_dissector_table = register_dissector_table("f1ap.proc.uout", "F1AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_f1ap, FT_UINT32, BASE_DEC);
+
+ f1ap_tap = register_tap("f1ap");
+}
+
+void
+proto_reg_handoff_f1ap(void)
+{
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_F1AP, f1ap_handle);
+ dissector_add_uint("sctp.ppi", F1AP_PROTOCOL_ID, f1ap_handle);
+ nr_rrc_ul_ccch_handle = find_dissector_add_dependency("nr-rrc.ul.ccch", proto_f1ap);
+ nr_rrc_dl_ccch_handle = find_dissector_add_dependency("nr-rrc.dl.ccch", proto_f1ap);
+ nr_rrc_ul_dcch_handle = find_dissector_add_dependency("nr-rrc.ul.dcch", proto_f1ap);
+ nr_pdcp_handle = find_dissector_add_dependency("pdcp-nr", proto_f1ap);
+ lte_rrc_conn_reconf_handle = find_dissector_add_dependency("lte-rrc.rrc_conn_reconf", proto_f1ap);
+
+ stats_tree_register("f1ap", "f1ap", "F1AP", 0,
+ f1ap_stats_tree_packet, f1ap_stats_tree_init, NULL);
+
+#include "packet-f1ap-dis-tab.c"
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/f1ap/packet-f1ap-template.h b/epan/dissectors/asn1/f1ap/packet-f1ap-template.h
new file mode 100644
index 00000000..598436de
--- /dev/null
+++ b/epan/dissectors/asn1/f1ap/packet-f1ap-template.h
@@ -0,0 +1,29 @@
+/* packet-f1ap.h
+ * Routines for E-UTRAN F1 Application Protocol (F1AP) packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_F1AP_H
+#define PACKET_F1AP_H
+
+#include "packet-f1ap-exp.h"
+
+#endif /* PACKET_F1AP_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/ftam/CMakeLists.txt b/epan/dissectors/asn1/ftam/CMakeLists.txt
new file mode 100644
index 00000000..3c64148b
--- /dev/null
+++ b/epan/dissectors/asn1/ftam/CMakeLists.txt
@@ -0,0 +1,43 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ftam )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ISO8571-FTAM.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../acse/acse-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ftam/ISO8571-FTAM.asn b/epan/dissectors/asn1/ftam/ISO8571-FTAM.asn
new file mode 100644
index 00000000..b2d8231f
--- /dev/null
+++ b/epan/dissectors/asn1/ftam/ISO8571-FTAM.asn
@@ -0,0 +1,1451 @@
+-- Module ISO8571-FTAM (ISO 8571-4:1988)
+--
+-- Copyright (c) ISO/IEC 1988. This version of
+-- this ASN.1 module is part of ISO/IEC 8571-4:1988;
+-- see the ISO|IEC text itself for full legal notices.
+--
+ISO8571-FTAM {iso standard 8571 application-context(1) iso-ftam(1)} DEFINITIONS
+::=
+BEGIN
+
+PDU ::= CHOICE {
+ fTAM-Regime-PDU FTAM-Regime-PDU,
+ file-PDU File-PDU,
+ bulk-Data-PDU Bulk-Data-PDU,
+ fSM-PDU FSM-PDU
+}
+
+FTAM-Regime-PDU ::= CHOICE {
+ f-initialize-request [0] IMPLICIT F-INITIALIZE-request,
+ f-initialize-response [1] IMPLICIT F-INITIALIZE-response,
+ f-terminate-request [2] IMPLICIT F-TERMINATE-request,
+ f-terminate-response [3] IMPLICIT F-TERMINATE-response,
+ f-u-abort-request [4] IMPLICIT F-U-ABORT-request,
+ f-p-abort-request [5] IMPLICIT F-P-ABORT-request
+}
+
+F-INITIALIZE-request ::= SEQUENCE {
+ protocol-Version Protocol-Version DEFAULT {version-1},
+ implementation-information Implementation-Information OPTIONAL,
+ presentation-tontext-management [2] IMPLICIT BOOLEAN DEFAULT FALSE,
+ service-class Service-Class DEFAULT {transfer-class},
+ -- Only the valid combinations as specified in ISO 8571-3 are allowed.
+ functional-units Functional-Units,
+ attribute-groups Attribute-Groups DEFAULT {},
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ ftam-quality-of-Service FTAM-Quality-of-Service,
+ contents-type-list Contents-Type-List OPTIONAL,
+ initiator-identity User-Identity OPTIONAL,
+ account Account OPTIONAL,
+ filestore-password Password OPTIONAL,
+ checkpoint-window [8] IMPLICIT INTEGER DEFAULT 1
+}
+
+-- lf the recovery or restart data transfer functional units are
+-- not available, the Checkpoint-window Parameter shall not be sent.
+F-INITIALIZE-response ::= SEQUENCE {
+ state-result State-Result DEFAULT success,
+ action-result Action-Result DEFAULT success,
+ protocol-Version Protocol-Version DEFAULT {version-1},
+ implementation-information Implementation-Information OPTIONAL,
+ presentation-tontext-management [2] IMPLICIT BOOLEAN DEFAULT FALSE,
+ service-class Service-Class DEFAULT {transfer-class},
+ -- Only the valid combinations as specified in ISO 8571-3 are allowed.
+ functional-units Functional-Units,
+ attribute-groups Attribute-Groups DEFAULT {},
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ ftam-quality-of-Service FTAM-Quality-of-Service,
+ contents-type-list Contents-Type-List OPTIONAL,
+ diagnostic Diagnostic OPTIONAL,
+ checkpoint-window [8] IMPLICIT INTEGER DEFAULT 1
+}
+
+-- If the recovery or restart data transfer functional units are
+-- not available, the Checkpoint-window Parameter shall not be sent.
+Protocol-Version ::= [0] IMPLICIT BIT STRING {version-1(0), version-2(1)
+}
+
+Implementation-Information ::= [1] IMPLICIT GraphicString
+
+-- This Parameter is provided solely for the convenience of implementors
+-- needing to distinguish between implernentations of a specific version number
+-- of different equipment, it shall not be the subject of conformance test.
+Service-Class ::= [3] IMPLICIT BIT STRING {
+ unconstrained-class(0), management-class(1), transfer-class(2),
+ transfer-and-management-class(3), access-class(4)}
+
+Functional-Units ::= [4] IMPLICIT BIT STRING {
+ read(2), write(3), file-access(4), limited-file-management(5),
+ enhanced-file-management(6), grouping(7), fadu-locking(8), recovery(9),
+ restart-data-transfer(10), limited-filestore-management(11),
+ enhanced-filestore-management(12), object-manipulation(13),
+ group-manipulation(14), consecutive-access(15), concurrent-access(16)
+}
+
+-- Values 2 to 14 are Chosen to align with numbering scheme used in ISO 8571-3.
+Attribute-Groups ::= [5] IMPLICIT BIT STRING {
+ storage(0), security(1), private(2), extension(3)}
+
+-- The extension bit is defined if and only if the limited-filestore-management
+-- or the group-manipulation functional units are available.
+FTAM-Quality-of-Service ::= [6] IMPLICIT INTEGER {
+ no-recovery(0), class-1-recovery(1), class-2-recovery(2), class-3-recovery(3)
+}
+
+Contents-Type-List ::=
+ [7] IMPLICIT
+ SEQUENCE OF
+ CHOICE {document-type-name Document-Type-Name,
+ abstract-Syntax-name Abstract-Syntax-Name}
+
+F-TERMINATE-request ::= SEQUENCE {
+ shared-ASE-information Shared-ASE-Information OPTIONAL
+}
+
+F-TERMINATE-response ::= SEQUENCE {
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ charging Charging OPTIONAL
+}
+
+F-U-ABORT-request ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-P-ABORT-request ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ diagnostic Diagnostic OPTIONAL
+}
+
+File-PDU ::= CHOICE {
+ f-select-request [6] IMPLICIT F-SELECT-request,
+ f-select-response [7] IMPLICIT F-SELECT-response,
+ f-deselect-request [8] IMPLICIT F-DESELECT-request,
+ f-deselect-response [9] IMPLICIT F-DESELECT-response,
+ f-create-request [10] IMPLICIT F-CREATE-request,
+ f-create-response [11] IMPLICIT F-CREATE-response,
+ f-delete-request [12] IMPLICIT F-DELETE-request,
+ f-delete-response [13] IMPLICIT F-DELETE-response,
+ f-read-attrib-request [14] IMPLICIT F-READ-ATTRIB-request,
+ f-read-attrib-response [15] IMPLICIT F-READ-ATTRIB-response,
+ f-Change-attrib-reques [16] IMPLICIT F-CHANGE-ATTRIB-request,
+ f-Change-attrib-respon [17] IMPLICIT F-CHANGE-ATTRIB-response,
+ f-open-request [18] IMPLICIT F-OPEN-request,
+ f-open-response [19] IMPLICIT F-OPEN-response,
+ f-close-request [20] IMPLICIT F-CLOSE-request,
+ f-close-response [21] IMPLICIT F-CLOSE-response,
+ f-begin-group-request [22] IMPLICIT F-BEGIN-GROUP-request,
+ f-begin-group-response [23] IMPLICIT F-BEGIN-GROUP-response,
+ f-end-group-request [24] IMPLICIT F-END-GROUP-request,
+ f-end-group-response [25] IMPLICIT F-END-GROUP-response,
+ f-recover-request [26] IMPLICIT F-RECOVER-request,
+ f-recover-response [27] IMPLICIT F-RECOVER-response,
+ f-locate-request [28] IMPLICIT F-LOCATE-request,
+ f-locate-response [29] IMPLICIT F-LOCATE-response,
+ f-erase-request [30] IMPLICIT F-ERASE-request,
+ f-erase-response [31] IMPLICIT F-ERASE-response
+}
+
+F-SELECT-request ::= SEQUENCE {
+ attributes Select-Attributes,
+ requested-access Access-Request,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL,
+ -- This Parameter tan only be sent when the
+ -- limited-filestore-management or the object-manipulation or
+ -- the group-manipulation functional units are available.
+ concurrency-control Concurrency-Control OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ account Account OPTIONAL
+}
+
+F-SELECT-response ::= SEQUENCE {
+ state-result State-Result DEFAULT success,
+ action-result Action-Result DEFAULT success,
+ attributes Select-Attributes,
+ referent-indicator Referent-Indicator OPTIONAL,
+ -- This Parameter tan only be sent when the
+ -- limited-filestore-management functional unit is available.
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-DESELECT-request ::= SEQUENCE {
+ shared-ASE-information Shared-ASE-Information OPTIONAL
+}
+
+F-DESELECT-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ charging Charging OPTIONAL,
+ -- Present if and only if the account field was present on
+ -- the PDU which established the selection regime.
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-CREATE-request ::= SEQUENCE {
+ override [0] IMPLICIT Override DEFAULT create-failure,
+ initial-attributes Create-Attributes,
+ create-password Password OPTIONAL,
+ requested-access Access-Request,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL,
+ -- This Parameter tan only be sent when the
+ -- limited-filestore-management or the Object-manipulation or
+ -- the group-manipulation functional units are available.
+ concurrency-control Concurrency-Control OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ account Account OPTIONAL
+}
+
+F-CREATE-response ::= SEQUENCE {
+ state-result State-Result DEFAULT success,
+ action-result Action-Result DEFAULT success,
+ initial-attributes Create-Attributes,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-DELETE-request ::= SEQUENCE {
+ shared-ASE-information Shared-ASE-Information OPTIONAL
+}
+
+F-DELETE-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ charging Charging OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-READ-ATTRIB-request ::= SEQUENCE {
+ attribute-names [0] IMPLICIT Attribute-Names,
+ attribute-extension-names [1] IMPLICIT Attribute-Extension-Names OPTIONAL
+}
+
+-- This Parameter tan only be sent when the
+-- limited-filestore-management functional unit is available.
+F-READ-ATTRIB-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ attributes Read-Attributes OPTIONAL,
+ -- Password values within the access control tan not be read by means
+ -- of the read attribute action. Whether other Parts of the access
+ -- control Object attribute tan be read by means of the read
+ -- attribute action is decided locally by the responding entity, and
+ -- it shall not be the subject of conformance test.
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-CHANGE-ATTRIB-request ::= SEQUENCE {attributes Change-Attributes
+}
+
+F-CHANGE-ATTRIB-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ attributes Change-Attributes OPTIONAL,
+ -- Password values within access control attribute are never returned.
+ -- Other attributes are retumed as an implementation choice.
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-OPEN-request ::= SEQUENCE {
+ processing-mode
+ [0] IMPLICIT BIT STRING {f-read(0), f-insert(1), f-replace(2), f-extend(3),
+ f-erase(4)} DEFAULT {f-read},
+ contents-type
+ [1] CHOICE {unknown [0] IMPLICIT NULL,
+ proposed [1] Contents-Type-Attribute},
+ concurrency-control Concurrency-Control OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ enable-fadu-locking [2] IMPLICIT BOOLEAN DEFAULT FALSE,
+ activity-identifier Activity-Identifier OPTIONAL,
+ -- Only used in the recovery functional unit.
+ recovery-mode
+ [3] IMPLICIT INTEGER {none(0), at-start-of-file(1),
+ at-any-active-Checkpoint(2)} DEFAULT none,
+ remove-contexts [4] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
+ define-contexts [5] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
+ -- The following are conditional on the negotiation of the consecutive overlap or
+ -- concurrent overlap functional units.
+ degree-of-overlap Degree-Of-Overlap OPTIONAL,
+ transfer-window [7] IMPLICIT INTEGER OPTIONAL
+}
+
+F-OPEN-response ::= SEQUENCE {
+ state-result State-Result DEFAULT success,
+ action-result Action-Result DEFAULT success,
+ contents-type [1] Contents-Type-Attribute,
+ concurrency-control Concurrency-Control OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL,
+ recovery-mode
+ [3] IMPLICIT INTEGER {none(0), at-start-of-file(1),
+ at-any-active-Checkpoint(2)} DEFAULT none,
+ presentation-action [6] IMPLICIT BOOLEAN DEFAULT FALSE,
+ -- This flag is set if the responder is going to follow this response
+ -- by a P-ALTER-CONTEXT exchange.
+ --The following are conditional on the negotiation of the concecutive access
+ -- or concurent access functional units.
+ degree-of-overlap Degree-Of-Overlap OPTIONAL,
+ transfer-window [7] IMPLICIT INTEGER OPTIONAL
+}
+
+F-CLOSE-request ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-CLOSE-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-BEGIN-GROUP-request ::= SEQUENCE {threshold [0] IMPLICIT INTEGER
+}
+
+F-BEGIN-GROUP-response ::= SEQUENCE {
+}
+
+-- No elements defined, shall be empty.
+F-END-GROUP-request ::= SEQUENCE {
+}
+
+-- No elements defined, shall be empty.
+F-END-GROUP-response ::= SEQUENCE {
+}
+
+-- No elements defined, shall be empty.
+F-RECOVER-request ::= SEQUENCE {
+ activity-identifier Activity-Identifier,
+ bulk-transfer-number [0] IMPLICIT INTEGER,
+ -- If concurrent access was in use then this parameter indicates the read bulk
+ -- transfer.
+ requested-access Access-Request,
+ access-passwords Access-Passwords OPTIONAL,
+ recovefy-Point [2] IMPLICIT INTEGER DEFAULT 0,
+ -- Zero indicates beginning of file
+ -- Point after last Checkpoint indicates end of file
+ remove-contexts
+ [3] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
+ define-contexts
+ [4] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
+ -- The following are conditional on the negotiation of overlapped access.
+ concurrent-bulk-transfer-number [7] IMPLICIT INTEGER OPTIONAL,
+ -- conditional on use of concurrent access
+ concurrent-recovery-point [8] IMPLICIT INTEGER OPTIONAL,
+ -- conditional on use of concurrent access. Zero indicates beginning of file
+ -- point after last checkpoint indicates end of file
+ last-transfer-end-read-response [9] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-response [10] IMPLICIT INTEGER OPTIONAL
+}
+
+F-RECOVER-response ::= SEQUENCE {
+ state-result State-Result DEFAULT success,
+ action-result Action-Result DEFAULT success,
+ contents-type [1] Contents-Type-Attribute,
+ recovety-Point [2] IMPLICIT INTEGER DEFAULT 0,
+ -- Zero indicates beginning of file.
+ -- Point after last Checkpoint indicates end of file.
+ diagnostic Diagnostic OPTIONAL,
+ presentation-action [6] IMPLICIT BOOLEAN DEFAULT FALSE,
+ -- This flag is set if the responder is going to follow this response
+ -- by a P-ALTER-CONTEXT exchange.
+ -- The following are conditional on the negotiation of overlapped access.
+ concurrent-recovery-point [8] IMPLICIT INTEGER OPTIONAL,
+ -- conditional on use of concurrent access. Zero indicates beginning of file; point after
+ -- last checkpoint indicates end of file
+ last-transfer-end-read-request [9] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-request [10] IMPLICIT INTEGER OPTIONAL
+}
+
+F-LOCATE-request ::= SEQUENCE {
+ file-access-data-unit-identity FADU-Identity,
+ fadu-lock FADU-Lock OPTIONAL
+}
+
+F-LOCATE-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ file-access-data-unit-identity FADU-Identity OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-ERASE-request ::= SEQUENCE {file-access-data-unit-identity FADU-Identity
+}
+
+F-ERASE-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ diagnostic Diagnostic OPTIONAL
+}
+
+Bulk-Data-PDU ::= CHOICE {
+ f-read-request [32] IMPLICIT F-READ-request,
+ f-write-request [33] IMPLICIT F-WRITE-request,
+ -- There is no F-DATA FPDU, the contents of a file
+ -- are transferred in a different presentation context
+ -- and there is therefore no need to define the types
+ -- of file contents in the FTAM PCI abstract Syntax.
+ -- File contents data are carried in values of the
+ -- data type Data-Element as defined in ISO 8571-2.
+ f-data-end-request [34] IMPLICIT F-DATA-END-request,
+ f-transfer-end-request [35] IMPLICIT F-TRANSFER-END-request,
+ f-transfer-end-response [36] IMPLICIT F-TRANSFER-END-response,
+ f-cancel-request [37] IMPLICIT F-CANCEL-request,
+ f-cancel-response [38] IMPLICIT F-CANCEL-response,
+ -- There is no F-CHECK PDU.
+ f-restart-request [39] IMPLICIT F-RESTART-request,
+ f-restart-response [40] IMPLICIT F-RESTART-response
+}
+
+F-READ-request ::= SEQUENCE {
+ file-access-data-unit-identity FADU-Identity,
+ access-context Access-Context,
+ fadu-lock FADU-Lock OPTIONAL,
+ -- The following is conditional on the negotiation of consecutive of concurrent access.
+ transfer-number [0] IMPLICIT INTEGER OPTIONAL
+}
+
+F-WRITE-request ::= SEQUENCE {
+ file-access-data-unit-Operation
+ [0] IMPLICIT INTEGER {insert(0), replace(1), extend(2)},
+ file-access-data-unit-identity FADU-Identity,
+ fadu-lock FADU-Lock OPTIONAL,
+ -- The following is conditional on the negotiation of consecutive or concurrent access.
+ transfer-number [1] IMPLICIT INTEGER OPTIONAL
+}
+
+F-DATA-END-request ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-TRANSFER-END-request ::= SEQUENCE {
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ -- The following are conditional on the negotiation of consecutive or concurrent access.
+ request-type Request-Type OPTIONAL,
+ transfer-number [0] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-read-response [1] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-response [2] IMPLICIT INTEGER OPTIONAL
+}
+
+F-TRANSFER-END-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL,
+ -- The following are conditional on the negotiation of consecutive or concurrent access.
+ request-type Request-Type OPTIONAL,
+ transfer-number [0] IMPLICIT INTEGER OPTIONAL
+}
+
+F-CANCEL-request ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL,
+ -- The following are conditional on the negotiation of consecutive or concurrent access.
+ request-type Request-Type,
+ transfer-number [0] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-read-request [1] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-read-response [2] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-request [3] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-response [4] IMPLICIT INTEGER OPTIONAL
+}
+
+F-CANCEL-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL,
+ -- The following are conditional on the negotiation of consecutive or concurrent access.
+ request-type Request-Type OPTIONAL,
+ transfer-number [0] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-read-request [1] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-read-response [2] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-request [3] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-response [4] IMPLICIT INTEGER OPTIONAL
+}
+
+F-CHECK-request ::= SEQUENCE {
+ checkpoint-identifier [0] IMPLICIT INTEGER,
+ transfer-number [1] IMPLICIT INTEGER
+}
+
+F-CHECK-response ::= SEQUENCE {
+ checkpoint-identifier [0] IMPLICIT INTEGER,
+ transfer-number [1] IMPLICIT INTEGER
+}
+
+F-RESTART-request ::= SEQUENCE {
+ checkpoint-identifier [0] IMPLICIT INTEGER,
+ -- The following are conditional on the negotiation of consecutive or concurrent access.
+ request-type Request-Type OPTIONAL,
+ transfer-number [1] IMPLICIT INTEGER,
+ last-transfer-end-read-request [2] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-read-response [3] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-request [4] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-response [5] IMPLICIT INTEGER OPTIONAL
+}
+
+F-RESTART-response ::= SEQUENCE {
+ checkpoint-identifier [0] IMPLICIT INTEGER,
+ -- The following are conditional on the negotiation of consecutive or concurrent access.
+ request-type Request-Type OPTIONAL,
+ transfer-number [1] IMPLICIT INTEGER,
+ last-transfer-end-read-request [2] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-read-response [3] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-request [4] IMPLICIT INTEGER OPTIONAL,
+ last-transfer-end-write-response [5] IMPLICIT INTEGER OPTIONAL
+}
+
+Degree-Of-Overlap ::= [APPLICATION 30] IMPLICIT INTEGER {
+ normal(0), consecutive(1), concurrent(2)}
+
+Request-Type ::= [APPLICATION 31] IMPLICIT INTEGER {read(0), write(1)}
+
+Abstract-Syntax-Name ::= [APPLICATION 0] IMPLICIT OBJECT IDENTIFIER
+
+Access-Context ::= [APPLICATION 1] IMPLICIT SEQUENCE {
+ access-context
+ [0] IMPLICIT INTEGER {hierarchical-all-data-units(0),--HA--
+ hierarchical-no-data-units(1),--HN--
+ flat-all-data-units(2),--FA--
+ flat-one-level-data-unit(3),--FL--
+ flat-Single-data-unit(4),--FS--
+ unstructured-all-data-units(5),--UA--
+ unstructured-Single-data-unit(6)}, --US
+ level-number [1] IMPLICIT INTEGER OPTIONAL
+}
+
+-- Present if and only if flat-one-level-data-units
+-- (access context FL) is selected.
+-- As defined in ISO 8571-2.
+Access-Passwords ::= [APPLICATION 2] IMPLICIT SEQUENCE {
+ read-password [0] Password,
+ insert-password [1] Password,
+ replace-password [2] Password,
+ extend-password [3] Password,
+ erase-password [4] Password,
+ read-attribute-password [5] Password,
+ change-attribute-password [6] Password,
+ delete-password [7] Password,
+ pass-passwords [8] IMPLICIT Pass-Passwords OPTIONAL,
+ link-password [9] Password OPTIONAL
+}
+
+-- The pass-passwords and the link-password must be included in the
+-- access-passwords if and only if the limited-filestore-management
+-- or the Object-manipulation or the group-manipulation functional
+-- units are available.
+Access-Request ::= [APPLICATION 3] IMPLICIT BIT STRING {
+ read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5),
+ change-attribute(6), delete-Object(7)}
+
+Account ::= [APPLICATION 4] IMPLICIT GraphicString
+
+Action-Result ::= [APPLICATION 5] IMPLICIT INTEGER {
+ success(0), transient-error(1), permanent-error(2)}
+
+Activity-Identifier ::= [APPLICATION 6] IMPLICIT INTEGER
+
+Application-Entity-Title ::= [APPLICATION 7] AE-title
+
+-- As defined in ISO 8650.
+Change-Attributes ::= [APPLICATION 8] IMPLICIT SEQUENCE {
+ -- Kerne1 Group
+ pathname Pathname-Attribute OPTIONAL,
+ -- Storage group
+ storage-account [3] Account-Attribute OPTIONAL,
+ object-availability [12] Object-Availability-Attribute OPTIONAL,
+ future-Object-size [14] Object-Size-Attribute OPTIONAL,
+ -- Security group
+ access-control [15] Access-Control-Change-Attribute OPTIONAL,
+ path-access-control [21] Access-Control-Change-Attribute OPTIONAL,
+ -- This Parameter tan only be sent when the
+ -- enhanced-filestore-management functional unit is available.
+ legal-qualification [16] Legal-Qualification-Attribute OPTIONAL,
+ -- Private group
+ private-use [17] Private-Use-Attribute OPTIONAL,
+ -- Attribute Extensions group
+ attribute-extensions [22] IMPLICIT Attribute-Extensions OPTIONAL
+}
+
+-- This Parameter tan only be sent when the
+-- enhanced-filestore-management functional unit is available.
+-- Atleast one attribute shall be present in the Change-Attributes
+-- Parameter on the request PDU.
+Charging ::=
+ [APPLICATION 9] IMPLICIT
+ SEQUENCE OF
+ SEQUENCE {resource-identifier [0] IMPLICIT GraphicString,
+ charging-unit [1] IMPLICIT GraphicString,
+ charging-value [2] IMPLICIT INTEGER}
+
+Concurrency-Control ::= [APPLICATION 10] IMPLICIT SEQUENCE {
+ read [0] IMPLICIT Lock,
+ insert [1] IMPLICIT Lock,
+ replace [2] IMPLICIT Lock,
+ extend [3] IMPLICIT Lock,
+ erase [4] IMPLICIT Lock,
+ read-attribute [5] IMPLICIT Lock,
+ change-attribute [6] IMPLICIT Lock,
+ delete-Object [7] IMPLICIT Lock
+}
+
+Lock ::= INTEGER {not-required(0), shared(1), exclusive(2), no-access(3)}
+
+Constraint-Set-Name ::= [APPLICATION 11] IMPLICIT OBJECT IDENTIFIER
+
+Create-Attributes ::= [APPLICATION 12] IMPLICIT SEQUENCE {
+ -- Kerne1 Group
+ pathname Pathname-Attribute,
+ object-type [18] IMPLICIT Object-Type-Attribute DEFAULT file,
+ -- This Parameter tan be sent if and only if the
+ -- limited-filestore-management functional unit is available.
+ permitted-actions [1] IMPLICIT Permitted-Actions-Attribute,
+ contents-type [2] Contents-Type-Attribute,
+ -- Storage group
+ storage-account [3] Account-Attribute OPTIONAL,
+ object-availability [12] Object-Availability-Attribute OPTIONAL,
+ future-Object-size [14] Object-Size-Attribute OPTIONAL,
+ -- Security group
+ access-control [15] Access-Control-Attribute OPTIONAL,
+ path-access-control [21] Access-Control-Attribute OPTIONAL,
+ -- This Parameter tan be sent if and only if the
+ -- enhanced-filestore-management functional unit is available.
+ legal-qualification [16] Legal-Qualification-Attribute OPTIONAL,
+ -- Private group
+ private-use [17] Private-Use-Attribute OPTIONAL,
+ -- Attribute Extensions group
+ attribute-extensions [22] IMPLICIT Attribute-Extensions OPTIONAL
+}
+
+-- This Parameter tan only be sent when the
+-- limited-filestore-management functional unit is available.
+Diagnostic ::=
+ [APPLICATION 13] IMPLICIT
+ SEQUENCE OF
+ SEQUENCE {diagnostic-type
+ [0] IMPLICIT INTEGER {informative(0), transient(1),
+ permanent(2)},
+ error-identifier [1] IMPLICIT INTEGER,
+ -- As defined in ISO 8571-3.
+ error-observer [2] IMPLICIT Entity-Reference,
+ error-Source [3] IMPLICIT Entity-Reference,
+ suggested-delay [4] IMPLICIT INTEGER OPTIONAL,
+ further-details [5] IMPLICIT GraphicString OPTIONAL
+ }
+
+Entity-Reference ::= INTEGER {
+ no-categorization-possible(0), initiating-file-service-user(1),
+ initiating-file-protocol-machine(2),
+ service-supporting-the-file-protocol-machine(3),
+ responding-file-protocol-machine(4), responding-file-service-user(5)
+}
+
+--NOTE
+-- 1. The values 0 and 3 are only valid as values in error-source.
+-- 2. The value 5 corresponds to the virtual filestore.
+Document-Type-Name ::= [APPLICATION 14] IMPLICIT OBJECT IDENTIFIER
+
+FADU-Identity ::= [APPLICATION 15] CHOICE {
+ first-last [0] IMPLICIT INTEGER {first(0), last(1)},
+ relative [1] IMPLICIT INTEGER {previous(0), current(1), next(2)},
+ begin-end [2] IMPLICIT INTEGER {begin(0), end(1)},
+ single-name [3] IMPLICIT Node-Name,
+ name-list [4] IMPLICIT SEQUENCE OF Node-Name,
+ fadu-number [5] IMPLICIT INTEGER
+}
+
+-- As defined in ISO 8571-2.
+Node-Name ::= EXTERNAL
+
+-- The type to be used for Node-Name is defined in IS08571-FADU.
+FADU-Lock ::= [APPLICATION 16] IMPLICIT INTEGER {off(0), on(1)}
+
+Password ::= [APPLICATION 17] CHOICE {
+ graphicString GraphicString,
+ octetString OCTET STRING
+}
+
+Read-Attributes ::= [APPLICATION 18] IMPLICIT SEQUENCE {
+ -- Kerne1 Group
+ pathname Pathname-Attribute OPTIONAL,
+ object-type
+ [18] IMPLICIT Object-Type-Attribute OPTIONAL,
+ -- This Parameter tan be sent if and only if
+ -- the limited-filestore-management functional unit is available.
+ permitted-actions
+ [1] IMPLICIT Permitted-Actions-Attribute OPTIONAL,
+ contents-type
+ [2] Contents-Type-Attribute OPTIONAL,
+ linked-Object
+ [19] Pathname-Attribute OPTIONAL,
+ -- This Parameter tan be sent if and only if
+ -- the limited-filestore-management functional unit is available.
+ child-objects
+ [23] Child-Objects-Attribute OPTIONAL,
+ -- This Parameter tan be sent if and only if
+ -- the limited-filestore-management functional unit is available.
+ -- Storage group
+ primaty-pathname
+ [20] Pathname-Attribute OPTIONAL,
+ storage-account [3] Account-Attribute OPTIONAL,
+ date-and-time-of-creation
+ [4] Date-and-Time-Attribute OPTIONAL,
+ date-and-time-of-last-modification
+ [5] Date-and-Time-Attribute OPTIONAL,
+ date-and-time-of-last-read-access
+ [6] Date-and-Time-Attribute OPTIONAL,
+ date-and-time-of-last-attribute-modification
+ [7] Date-and-Time-Attribute OPTIONAL,
+ identity-of-creator
+ [8] User-Identity-Attribute OPTIONAL,
+ identity-of-last-modifier
+ [9] User-Identity-Attribute OPTIONAL,
+ identity-of-last-reader
+ [10] User-Identity-Attribute OPTIONAL,
+ identity-last-attribute-modifier
+ [11] User-Identity-Attribute OPTIONAL,
+ object-availability
+ [12] Object-Availability-Attribute OPTIONAL,
+ object-size
+ [13] Object-Size-Attribute OPTIONAL,
+ future-Object-size
+ [14] Object-Size-Attribute OPTIONAL,
+ -- Security group
+ access-control
+ [15] Access-Control-Attribute OPTIONAL,
+ path-access-control
+ [21] Access-Control-Attribute OPTIONAL,
+ -- This Parameter tan be sent if and only if
+ -- the limited-filestore-management functional unit is available.
+ legal-qualification
+ [16] Legal-Qualification-Attribute OPTIONAL,
+ -- Private group
+ private-use
+ [17] Private-Use-Attribute OPTIONAL,
+ -- Attribute Extensions group
+ attribute-extensions
+ [22] IMPLICIT Attribute-Extensions OPTIONAL
+}
+
+-- This Parameter tan be sent if and only if
+-- the limited-filestore-management functional unit is available.
+Select-Attributes ::= [APPLICATION 19] IMPLICIT SEQUENCE {
+ -- Kerne1 Group
+ pathname Pathname-Attribute
+}
+
+Shared-ASE-Information ::= [APPLICATION 20] IMPLICIT EXTERNAL
+
+-- This field may be used to convey commitment control as described
+-- in ISO 8571-3.
+State-Result ::= [APPLICATION 21] IMPLICIT INTEGER {success(0), failure(1)
+}
+
+User-Identity ::= [APPLICATION 22] IMPLICIT GraphicString
+
+Access-Control-Attribute ::= CHOICE {
+ no-value-available [0] IMPLICIT NULL,
+ -- Indicates partial support of this attribute.
+ -- This value shall only appear in response PDUs.
+ actual-values [1] IMPLICIT SET OF Access-Control-Element
+}
+
+-- The semantics of this attribute is described in ISO 8571-2.
+Access-Control-Change-Attribute ::= CHOICE {
+ no-value-available [0] IMPLICIT NULL,
+ -- Indicates partial support of this attribute.
+ -- This value shall only appear in response PDUs.
+ actual-values
+ [1] IMPLICIT SEQUENCE {insert-values
+ [0] IMPLICIT SET OF Access-Control-Element
+ OPTIONAL,
+ -- This field is used by the Change attribute actions to indicate
+ -- new values to be inserted in the access control Object attribute.
+ delete-values
+ [1] IMPLICIT SET OF Access-Control-Element
+ OPTIONAL}
+}
+
+-- This field is used by the Change attribute action to indicate
+-- old values to be removed from the access control Object
+-- attribute.
+-- The semantics of this attribute is described in ISO 8571-2.
+Access-Control-Element ::= SEQUENCE {
+ action-list [0] IMPLICIT Access-Request,
+ concurrency-access [1] IMPLICIT Concurrency-Access OPTIONAL,
+ identity [2] IMPLICIT User-Identity OPTIONAL,
+ passwords [3] IMPLICIT Access-Passwords OPTIONAL,
+ location [4] IMPLICIT Application-Entity-Title OPTIONAL
+}
+
+Concurrency-Access ::= SEQUENCE {
+ read [0] IMPLICIT Concurrency-Key,
+ insert [1] IMPLICIT Concurrency-Key,
+ replace [2] IMPLICIT Concurrency-Key,
+ extend [3] IMPLICIT Concurrency-Key,
+ erase [4] IMPLICIT Concurrency-Key,
+ read-attribute [5] IMPLICIT Concurrency-Key,
+ change-attribute [6] IMPLICIT Concurrency-Key,
+ delete-Object [7] IMPLICIT Concurrency-Key
+}
+
+Concurrency-Key ::= BIT STRING {
+ not-required(0), shared(1), exclusive(2), no-access(3)}
+
+Account-Attribute ::= CHOICE {
+ no-value-available [0] IMPLICIT NULL,
+ -- Indicates partial support of this attribute.
+ -- This value shall only appear in response PDUs.
+ actual-values Account
+}
+
+Contents-Type-Attribute ::= CHOICE {
+ document-type
+ [0] IMPLICIT SEQUENCE {document-type-name Document-Type-Name,
+ parameter
+ [0] TYPE-IDENTIFIER.&Type OPTIONAL},
+ -- The actual types to be used for values of the Parameter field
+ -- are defined in the named document type.
+ constraint-set-and-abstract-Syntax
+ [1] IMPLICIT SEQUENCE {constraint-set-name Constraint-Set-Name,
+ abstract-Syntax-name Abstract-Syntax-Name
+ }
+}
+
+Date-and-Time-Attribute ::= CHOICE {
+ no-value-available [0] IMPLICIT NULL,
+ -- Indicates partial support of this attribute.
+ -- This value shall only appear in response PDUs.
+ actual-values [1] IMPLICIT GeneralizedTime
+}
+
+Object-Availability-Attribute ::= CHOICE {
+ no-value-available [0] IMPLICIT NULL,
+ -- Indicates partial support of this attribute.
+ -- This value shall only appear in response PDUs.
+ actual-values
+ [1] IMPLICIT INTEGER {immediate-availability(0), deferred-availability(1)}
+}
+
+Pathname-Attribute ::= CHOICE {
+ incomplete-pathname [0] IMPLICIT Pathname,
+ complete-pathname [APPLICATION 23] IMPLICIT Pathname
+}
+
+Object-Size-Attribute ::= CHOICE {
+ no-value-available [0] IMPLICIT NULL,
+ -- Indicates partial support of this attribute.
+ -- This value shall only appear in response PDUs.
+ actual-values [1] IMPLICIT INTEGER
+}
+
+Legal-Qualification-Attribute ::= CHOICE {
+ no-value-available [0] IMPLICIT NULL,
+ -- Indicates partial support of this attribute.
+ -- This value shall only appear in response PDUs.
+ actual-values [1] IMPLICIT GraphicString
+}
+
+Permitted-Actions-Attribute ::= BIT STRING -- Actions available
+ {
+ read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5),
+ change-attribute(6), delete-Object(7), pass(11),
+ link(12),
+ -- FADU-Identity groups available
+ traversal(8), reverse-traversal(9), random-Order(10)}
+
+Private-Use-Attribute ::= CHOICE {
+ no-value-available [0] IMPLICIT NULL,
+ -- Indicates partial support of this attribute.
+ -- This value shall only appear in response PDUs.
+ abstract-Syntax-not-supported [1] IMPLICIT NULL,
+ -- Indicates that abstract Syntax is not available.
+ actual-values [2] IMPLICIT EXTERNAL
+}
+
+Object-Type-Attribute ::= INTEGER {file(0), file-directory(1), reference(2)}
+
+User-Identity-Attribute ::= CHOICE {
+ no-value-available [0] IMPLICIT NULL,
+ -- Indicates partial support of this attribute.
+ -- This value shall only appear in response PDUs.
+ actual-values User-Identity
+}
+
+Child-Objects-Attribute ::= SET OF GraphicString
+
+FSM-PDU ::= CHOICE {
+ f-Change-prefix-request [41] IMPLICIT F-CHANGE-PREFIX-request,
+ f-Change-prefix-response [42] IMPLICIT F-CHANGE-PREFIX-response,
+ f-list-request [43] IMPLICIT F-LIST-request,
+ f-list-response [44] IMPLICIT F-LIST-response,
+ f-group-select-request [45] IMPLICIT F-GROUP-SELECT-request,
+ f-group-select-response [46] IMPLICIT F-GROUP-SELECT-response,
+ f-group-delete-request [47] IMPLICIT F-GROUP-DELETE-request,
+ f-group-delete-response [48] IMPLICIT F-GROUP-DELETE-response,
+ f-group-move-request [49] IMPLICIT F-GROUP-MOVE-request,
+ f-group-move-response [50] IMPLICIT F-GROUP-MOVE-response,
+ f-group-copy-request [51] IMPLICIT F-GROUP-COPY-request,
+ f-group-copy-response [52] IMPLICIT F-GROUP-COPY-response,
+ f-group-list-request [53] IMPLICIT F-GROUP-LIST-request,
+ f-group-list-response [54] IMPLICIT F-GROUP-LIST-response,
+ f-group-Change-attrib-request [55] IMPLICIT F-GROUP-CHANGE-ATTRIB-request,
+ f-group-Change-attrib-response [56] IMPLICIT F-GROUP-CHANGE-ATTRIB-response,
+ f-select-another-request [57] IMPLICIT F-SELECT-ANOTHER-request,
+ f-select-another-response [58] IMPLICIT F-SELECT-ANOTHER-response,
+ f-create-directory-request [59] IMPLICIT F-CREATE-DIRECTORY-request,
+ f-create-directory-response [60] IMPLICIT F-CREATE-DIRECTORY-response,
+ f-link-request [61] IMPLICIT F-LINK-request,
+ f-link-response [62] IMPLICIT F-LINK-response,
+ f-unlink-request [63] IMPLICIT F-UNLINK-request,
+ f-unlink-response [64] IMPLICIT F-UNLINK-response,
+ f-read-link-attrib-request [65] IMPLICIT F-READ-LINK-ATTRIB-request,
+ f-read-link-attrib-response [66] IMPLICIT F-READ-LINK-ATTRIB-response,
+ f-Change-link-attrib-request [67] IMPLICIT F-CHANGE-LINK-ATTRIB-request,
+ f-Change-Iink-attrib-response [68] IMPLICIT F-CHANGE-LINK-ATTRIB-response,
+ f-move-request [69] IMPLICIT F-MOVE-request,
+ f-move-response [70] IMPLICIT F-MOVE-response,
+ f-copy-request [71] IMPLICIT F-COPY-request,
+ f-copy-response [72] IMPLICIT F-COPY-response
+}
+
+F-CHANGE-PREFIX-request ::= SEQUENCE {
+ reset [0] IMPLICIT BOOLEAN DEFAULT FALSE,
+ destination-file-directory Destination-File-Directory,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL
+}
+
+F-CHANGE-PREFIX-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ destination-file-directory Destination-File-Directory OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-LIST-request ::= SEQUENCE {
+ attribute-value-asset-tions Attribute-Value-Assertions,
+ scope Scope,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL,
+ attribute-names [0] IMPLICIT Attribute-Names,
+ attribute-extension-names [1] IMPLICIT Attribute-Extension-Names OPTIONAL
+}
+
+F-LIST-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ objects-attributes-list Objects-Attributes-List OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-GROUP-SELECT-request ::= SEQUENCE {
+ attribute-value-assertions Attribute-Value-Assertions,
+ requested-access Access-Request,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL,
+ concurrency-control Concurrency-Control OPTIONAL,
+ maximum-set-size [0] IMPLICIT INTEGER DEFAULT 0,
+ -- 0 implies no limit.
+ scope Scope,
+ account Account OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL
+}
+
+F-GROUP-SELECT-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-GROUP-DELETE-request ::= SEQUENCE {
+ request-Operation-result Request-Operation-Result OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL
+}
+
+F-GROUP-DELETE-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ charging Charging OPTIONAL,
+ operation-result Operation-Result OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-GROUP-MOVE-request ::= SEQUENCE {
+ destination-file-directory Destination-File-Directory,
+ override [0] IMPLICIT Override DEFAULT create-failure,
+ -- Only the values create-failure (0}
+ -- and delete-and-create-with-new-attributes (3) are allowed.
+ error-action [11] IMPLICIT Error-Action,
+ create-password Password OPTIONAL,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL,
+ request-Operation-result Request-Operation-Result OPTIONAL,
+ attributes Change-Attributes OPTIONAL
+}
+
+F-GROUP-MOVE-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ destination-file-directory Destination-File-Directory OPTIONAL,
+ operation-result Operation-Result OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-GROUP-COPY-request ::= SEQUENCE {
+ destination-file-directory Destination-File-Directory,
+ override [0] IMPLICIT Override DEFAULT create-failure,
+ -- Only the values create-failure (0)
+ -- and delete-and-create-with-new-attributes (3) are allowed.
+ error-action [1] IMPLICIT Error-Action,
+ create-password Password OPTIONAL,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL,
+ request-Operation-result Request-Operation-Result OPTIONAL,
+ attributes Change-Attributes OPTIONAL
+}
+
+F-GROUP-COPY-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ destination-file-directory Destination-File-Directory OPTIONAL,
+ operation-result Operation-Result OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-GROUP-LIST-request ::= SEQUENCE {
+ attribute-names [0] IMPLICIT Attribute-Names,
+ attribute-extension-names [2] IMPLICIT Attribute-Extension-Names OPTIONAL
+}
+
+F-GROUP-LIST-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ objects-attributes-list Objects-Attributes-List OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-GROUP-CHANGE-ATTRIB-request ::= SEQUENCE {
+ attributes Change-Attributes,
+ error-action [1] IMPLICIT Error-Action,
+ request-Operation-result Request-Operation-Result OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL
+}
+
+F-GROUP-CHANGE-ATTRIB-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ operation-result Operation-Result OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-SELECT-ANOTHER-request ::= SEQUENCE {
+ shared-ASE-information Shared-ASE-Information OPTIONAL
+}
+
+F-SELECT-ANOTHER-response ::= SEQUENCE {
+ state-result State-Result DEFAULT success,
+ action-result Action-Result DEFAULT success,
+ last-member-indicator [0] IMPLICIT BOOLEAN DEFAULT FALSE,
+ referent-indicator Referent-Indicator OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-CREATE-DIRECTORY-request ::= SEQUENCE {
+ initial-attributes Create-Attributes,
+ create-password Password OPTIONAL,
+ requested-access Access-Request,
+ shared-ASE-infonnation Shared-ASE-Information OPTIONAL,
+ account Account OPTIONAL
+}
+
+F-CREATE-DIRECTORY-response ::= SEQUENCE {
+ state-result State-Result DEFAULT success,
+ action-result Action-Result DEFAULT success,
+ initial-attributes Create-Attributes,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-LINK-request ::= SEQUENCE {
+ initial-attributes Create-Attributes,
+ target-object Pathname-Attribute,
+ create-password Password OPTIONAL,
+ requested-access Access-Request,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL,
+ concurrency-control Concurrency-Control OPTIONAL,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ account Account OPTIONAL
+}
+
+F-LINK-response ::= SEQUENCE {
+ state-result State-Result DEFAULT success,
+ action-result Action-Result DEFAULT success,
+ initial-attributes Create-Attributes,
+ target-Object Pathname-Attribute,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-UNLINK-request ::= SEQUENCE {
+ shared-ASE-information Shared-ASE-Information OPTIONAL
+}
+
+F-UNLINK-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ shared-ASE-information Shared-ASE-Information OPTIONAL,
+ charging Charging OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-READ-LINK-ATTRIB-request ::= SEQUENCE {
+ attribute-names [0] IMPLICIT Attribute-Names,
+ attribute-extension-names [1] IMPLICIT Attribute-Extension-Names OPTIONAL
+}
+
+F-READ-LINK-ATTRIB-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ attributes Read-Attributes OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-CHANGE-LINK-ATTRIB-request ::= SEQUENCE {attributes Change-Attributes
+}
+
+F-CHANGE-LINK-ATTRIB-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ attributes Change-Attributes OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-MOVE-request ::= SEQUENCE {
+ destination-file-directory Destination-File-Directory,
+ override [0] IMPLICIT Override DEFAULT create-failure,
+ -- Only the values create-failure (0)
+ -- and delete-and-create-with-new-attributes (3) are ailowed.
+ create-password Password OPTIONAL,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL,
+ attributes Change-Attributes OPTIONAL
+}
+
+F-MOVE-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ destination-file-directory Destination-File-Directory OPTIONAL,
+ attributes Change-Attributes OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+F-COPY-request ::= SEQUENCE {
+ destination-file-directory Destination-File-Directory,
+ override [0] IMPLICIT Override DEFAULT create-failure,
+ -- Only the values create-failure (0)
+ -- and delete-and-create-with-new-attributes (3) are allowed.
+ create-password Password OPTIONAL,
+ access-passwords Access-Passwords OPTIONAL,
+ path-access-passwords Path-Access-Passwords OPTIONAL,
+ attributes Change-Attributes OPTIONAL
+}
+
+F-COPY-response ::= SEQUENCE {
+ action-result Action-Result DEFAULT success,
+ destination-file-directory Destination-File-Directory OPTIONAL,
+ attributes Change-Attributes OPTIONAL,
+ diagnostic Diagnostic OPTIONAL
+}
+
+Attribute-Extension-Names ::= SEQUENCE OF Attribute-Extension-Set-Name
+
+Attribute-Extension-Set-Name ::= SEQUENCE {
+ extension-set-identifier [0] IMPLICIT Extension-Set-Identifier,
+ extension-attribute-names [1] SEQUENCE OF Extension-Attribute-identifier
+}
+
+Attribute-Extensions ::= SEQUENCE OF Attribute-Extension-Set
+
+Attribute-Extension-Set ::= SEQUENCE {
+ extension-set-identifier [0] IMPLICIT Extension-Set-Identifier,
+ extension-set-attributes [1] SEQUENCE OF Extension-Attribute
+}
+
+Extension-Attribute ::= SEQUENCE {
+ extension-attribute-identifier TYPE-IDENTIFIER.&id({Extension-Attributes}),
+ extension-attribute
+ TYPE-IDENTIFIER.&Type
+ ({Extension-Attributes}{@extension-attribute-identifier})
+}
+
+--Extension-Attributes TYPE-IDENTIFIER ::=
+-- {...} - - dynamically extensible
+
+Extension-Set-Identifier ::= OBJECT IDENTIFIER
+
+Extension-Attribute-identifier ::= OBJECT IDENTIFIER
+
+Attribute-Value-Assertions ::= [APPLICATION 26] IMPLICIT OR-Set
+
+Scope ::=
+ [APPLICATION 28] IMPLICIT
+ SEQUENCE OF
+ SEQUENCE {root-directory [0] Pathname-Attribute OPTIONAL,
+ retrieval-scope [1] IMPLICIT INTEGER {child(0), all(1)}
+ }
+
+OR-Set ::= SEQUENCE OF AND-Set
+
+AND-Set ::=
+ SEQUENCE OF
+ CHOICE {-- Kernel group
+ pathname-Pattern
+ [0] IMPLICIT Pathname-Pattern,
+ object-type-Pattern
+ [18] IMPLICIT Integer-Pattern,
+ permitted-actions-Pattern
+ [1] IMPLICIT Bitstring-Pattern,
+ contents-type-Pattern
+ [2] Contents-Type-Pattern,
+ linked-Object-Pattern
+ [19] IMPLICIT Pathname-Pattern,
+ child-objects-Pattern
+ [23] IMPLICIT Pathname-Pattern,
+ -- Storage group
+ primaty-pathname-Pattern
+ [20] IMPLICIT Pathname-Pattern,
+ storage-account-Pattern
+ [3] IMPLICIT String-Pattern,
+ date-and-time-of-creation-Pattern
+ [4] IMPLICIT Date-and-Time-Pattern,
+ date-and-time-of-last-modification-Pattern
+ [5] IMPLICIT Date-and-Time-Pattern,
+ date-and-time-of-last-read-access-Pattern
+ [6] IMPLICIT Date-and-Time-Pattern,
+ date-and-time-of-last-attribute-modification-Pattern
+ [7] IMPLICIT Date-and-Time-Pattern,
+ identity-of-creator-Pattern
+ [8] IMPLICIT User-Identity-Pattern,
+ identity-of-last-modifier-Pattern
+ [9] IMPLICIT User-Identity-Pattern,
+ identity-of-last-reader-Pattern
+ [10] IMPLICIT User-Identity-Pattern,
+ identity-of-last-attribute-modifier-Pattern
+ [11] IMPLICIT User-Identity-Pattern,
+ object-availabiiity-Pattern
+ [12] IMPLICIT Boolean-Pattern,
+ object-size-Pattern
+ [13] IMPLICIT Integer-Pattern,
+ future-object-size-Pattern
+ [14] IMPLICIT Integer-Pattern,
+ -- Security group
+ -- Access control searches are disallowed.
+ legal-quailfication-Pattern
+ [16] IMPLICIT String-Pattern,
+ -- Private group
+ -- Private use searches are disallowed.
+ -- Attribute Extensions group
+ attribute-extensions-pattern
+ [22] IMPLICIT Attribute-Extensions-Pattern}
+
+User-Identity-Pattern ::= String-Pattern
+
+Equality-Comparision ::= BIT STRING {
+ no-value-available-matches(0),
+ -- Set impies "No Value Available" matches the test.
+ -- Clear implies "No Value Availabie" fails the test.
+ equals-matches(1)
+
+-- Set implies equal items match the test.
+-- Clear implies equal items fail the test.
+}
+
+Relational-Comparision ::= BIT STRING {
+ no-value-available-matches(0),
+ -- Set impies "No Value Available" matches the test.
+ -- Clear implies "No Value Available" fails the test.
+ equals-matches(1),
+ -- Set implies equal items match the test.'
+ -- Clear implies equal items fail the test.
+ less-than-matches(2),
+ -- Set implies a value less than the test cke matches.
+ -- Clear implies a value less than the test case fails.
+ greater-than-matches(3)
+
+-- Set implies a value greater than the test case matches.
+-- Clear implies a value greater than the test case fails.
+}
+
+-- Bits 1 through 3 shall not all have the Same value.
+Pathname-Pattern ::= SEQUENCE {
+ equality-comparision [0] IMPLICIT Equality-Comparision,
+ pathname-value
+ [1] IMPLICIT SEQUENCE OF
+ CHOICE {string-match [2] IMPLICIT String-Pattern,
+ any-match [3] IMPLICIT NULL}
+}
+
+String-Pattern ::= SEQUENCE {
+ equality-comparision [0] IMPLICIT Equality-Comparision,
+ string-value
+ [1] IMPLICIT SEQUENCE OF
+ CHOICE {substring-match
+ [2] IMPLICIT GraphicString,
+ any-match [3] IMPLICIT NULL,
+ number-of-characters-match [4] IMPLICIT INTEGER
+ }
+}
+
+Bitstring-Pattern ::= SEQUENCE {
+ equality-comparision [0] IMPLICIT Equality-Comparision,
+ match-bitstring [1] IMPLICIT BIT STRING,
+ significance-bitstring [2] IMPLICIT BIT STRING
+}
+
+Date-and-Time-Pattern ::= SEQUENCE {
+ relational-camparision [0] IMPLICIT Equality-Comparision,
+ time-and-date-value [1] IMPLICIT GeneralizedTime
+}
+
+Integer-Pattern ::= SEQUENCE {
+ relational-comparision [0] IMPLICIT Relational-Comparision,
+ integer-value [1] IMPLICIT INTEGER
+}
+
+Object-Identifier-Pattern ::= SEQUENCE {
+ equality-comparision [0] IMPLICIT Equality-Comparision,
+ object-identifier-value [1] IMPLICIT OBJECT IDENTIFIER
+}
+
+Boolean-Pattern ::= SEQUENCE {
+ equality-comparision [0] IMPLICIT Equality-Comparision,
+ boolean-value [1] IMPLICIT BOOLEAN
+}
+
+Other-Pattern ::= Equality-Comparision
+
+-- Matches against "No Value Available".
+Contents-Type-Pattern ::= CHOICE {
+ document-type-Pattern
+ [0] IMPLICIT Object-Identifier-Pattern,
+ constraint-set-abstract-Syntax-Pattern
+ [1] IMPLICIT SEQUENCE {constraint-Set-Pattern
+ [2] IMPLICIT Object-Identifier-Pattern OPTIONAL,
+ -- Absent implies any Object Identifier is equal.
+ abstract-Syntax-Pattern
+ [3] IMPLICIT Object-Identifier-Pattern OPTIONAL
+ -- Absent implies any Object identifier is equal.
+ }
+}
+
+Attribute-Extensions-Pattern ::=
+ SEQUENCE OF
+ SEQUENCE {extension-set-identifier
+ [0] IMPLICIT Extension-Set-Identifier,
+ extension-set-attribute-Patterns
+ [1] IMPLICIT SEQUENCE OF
+ SEQUENCE {extension-attribute-identifier
+ TYPE-IDENTIFIER.&id
+ ({Extension-attribute-Patterns}),
+ extension-attribute-Pattern
+ TYPE-IDENTIFIER.&Type
+ ({Extension-attribute-Patterns}
+ {@.extension-attribute-identifier})
+ }}
+
+-- conjunction with the extension attribute in Order to
+-- perform Pattern matthing operations on it. it may be
+-- defined in terms of other Patterns within this
+-- Standard.
+--Extension-attribute-Patterns TYPE-IDENTIFIER ::=
+-- {...} - - dynamically extensible information object set
+
+Destination-File-Directory ::= [APPLICATION 24] Pathname-Attribute
+
+Objects-Attributes-List ::=
+ [APPLICATION 25] IMPLICIT SEQUENCE OF Read-Attributes
+
+Override ::= INTEGER {
+ create-failure(0), select-old-Object(1),
+ delete-and-create-with-old-attributes(2),
+ delete-and-create-with-new-attributes(3)}
+
+Error-Action ::= INTEGER {terminate(0), continue(1)}
+
+Operation-Result ::= [APPLICATION 30] CHOICE {
+ success-Object-count [0] IMPLICIT INTEGER,
+ success-Object-names [1] IMPLICIT SEQUENCE OF Pathname
+}
+
+Pathname ::= SEQUENCE OF GraphicString
+
+Pass-Passwords ::= SEQUENCE OF Password
+
+-- There is a one-to-one correspondence between the elements of
+-- Pass-Passwords and the non-terminal elements of the specified
+-- Pathname.
+Path-Access-Passwords ::=
+ [APPLICATION 27] IMPLICIT
+ SEQUENCE OF
+ SEQUENCE {read-password [0] Password,
+ insert-password [1] Password,
+ replace-password [2] Password,
+ extend-password [3] Password,
+ erase-password [4] Password,
+ read-attribute-password [5] Password,
+ change-attribute-password [6] Password,
+ delete-password [7] Password,
+ pass-passwords [8] IMPLICIT Pass-Passwords,
+ link-password [9] Password}
+
+-- There is a one-to-one correspondence between the elements of
+-- Path-Access-Passwords and the non-terminal elements sf the
+-- specified Pathname.
+Request-Operation-Result ::= [APPLICATION 31] IMPLICIT INTEGER {
+ summary(0), fiii-list(1)}
+
+Attribute-Names ::= BIT STRING -- Kernel group
+ {
+ read-pathname(0), read-Object-type(18), read-permitted-actions(1),
+ read-contents-type(2), read-linked-Object(19),
+ read-Child-objects(23),
+ -- Storage group
+ read-primary-pathname(20), read-storage-account(3),
+ read-date-and-time-of-creation(4),
+ read-date-and-time-of-last-modification(5),
+ read-date-and-time-of-last-read-access(6),
+ read-date-and-time-of-last-attribute-modification(7),
+ read-identity-of-creator(8), read-identity-of-last-modifier(9),
+ read-identity-of-last-reader(10),
+ read-identity-of-last-attribute-modifier(11), read-Object-availability(12),
+ read-Object-size(13),
+ read-future-Object-size(14),
+ -- Security group
+ read-access-control(15), read-path-access-control(21),
+ read-l8gal-qualifiCatiOnS(16),
+ -- Private group
+ read-private-use(17)}
+
+-- Bits 19 through 23 arc defined if and only if the limited-fil8Store-manag8m8nt
+-- or group-manipulation functionat units are available.
+Referent-Indicator ::= [APPLICATION 29] IMPLICIT BOOLEAN
+
+-- dw: definition of AE-title, as defined in ISO 8650:1988/Cor.1:1990
+-- dw: defined in-line here so we don't need to import it, original comments
+-- dw: are as they appear in the 8650:1988 Annex E
+AP-title ::= TYPE-IDENTIFIER.&Type
+
+-- The exact definition and values used for AP-title
+-- should be chosen taking into account the ongoing
+-- work in areas of naming, the Directory, and the
+-- Registration Authority procedures for AE titles,
+-- AE titles, and AE qualifiers
+AE-qualifier ::= TYPE-IDENTIFIER.&Type
+
+-- The exact definition and values used for AE-qualifier
+-- should be chosen taking into account the ongoing
+-- work in areas of naming, the Directory, and the
+-- Registration Authority procedures for AE titles,
+-- AE titles, and AE qualifiers
+AE-title ::= SEQUENCE {ap AP-title,
+ ae AE-qualifier
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
+
diff --git a/epan/dissectors/asn1/ftam/ftam.cnf b/epan/dissectors/asn1/ftam/ftam.cnf
new file mode 100644
index 00000000..5f538328
--- /dev/null
+++ b/epan/dissectors/asn1/ftam/ftam.cnf
@@ -0,0 +1,164 @@
+# FTAM.cnf
+# FTAM conformation file
+
+#.IMPORT ../acse/acse-exp.cnf
+
+#.EXPORTS
+Attribute-Extensions
+Concurrency-Access
+Date-and-Time-Attribute
+Legal-Qualification-Attribute
+Object-Availability-Attribute
+Object-Size-Attribute
+Pathname
+Permitted-Actions-Attribute
+Private-Use-Attribute
+
+#.OMIT_ASSIGNMENT
+F-CHECK-request
+F-CHECK-response
+Other-Pattern
+#.END
+
+#.PDU
+
+#.NO_EMIT ONLY_VALS
+PDU
+
+#.TYPE_RENAME
+F-OPEN-request/recovery-mode T_request_recovery_mode
+F-OPEN-response/recovery-mode T_response_recovery_mode
+Access-Control-Change-Attribute/actual-values T_actual_values1
+
+Contents-Type-List/_untag/_item Contents_Type_List_item
+Charging/_untag/_item Charging_item
+Diagnostic/_untag/_item Diagnostic_item
+Path-Access-Passwords/_untag/_item Path_Access_Passwords_item
+
+#.FIELD_RENAME
+F-OPEN-request/recovery-mode request_recovery_mode
+F-OPEN-response/recovery-mode response_recovery_mode
+Concurrency-Access/replace replace_key
+Concurrency-Access/read-attribute read_attribute_key
+Concurrency-Access/read read_key
+Concurrency-Access/insert insert_key
+Concurrency-Access/extend extend_key
+Concurrency-Access/erase erase_key
+Concurrency-Access/change-attribute change_attribute_key
+Concurrency-Access/delete-Object delete_Object_key
+F-READ-request/access-context read_access_context
+Change-Attributes/_untag/path-access-control change_path_access_control
+Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns/_item/extension-attribute-identifier attribute_extension_attribute_identifier
+F-OPEN-request/contents-type open_contents_type
+F-READ-ATTRIB-response/attributes read_attributes
+F-READ-LINK-ATTRIB-response/attributes read_link_attributes
+F-SELECT-request/attributes select_attributes
+F-SELECT-response/attributes select_attributes
+Change-Attributes/_untag/access-control change_attributes_access_control
+Access-Control-Change-Attribute/actual-values actual_values1
+Account-Attribute/actual-values actual_values2
+Access-Control-Attribute/actual-values actual_values3
+Private-Use-Attribute/actual-values actual_values4
+Date-and-Time-Attribute/actual-values actual_values5
+User-Identity-Attribute/actual-values actual_values6
+Object-Size-Attribute/actual-values actual_values7
+Object-Availability-Attribute/actual-values actual_values8
+Legal-Qualification-Attribute/actual-values actual_values9
+
+#.FIELD_ATTR
+Concurrency-Access/read ABBREV=read_key
+Concurrency-Access/insert ABBREV=insert_key
+Concurrency-Access/replace ABBREV=replace_key
+Concurrency-Access/extend ABBREV=extend_key
+Concurrency-Access/erase ABBREV=erase_key
+Concurrency-Access/read-attribute ABBREV=read_attribute_key
+Concurrency-Access/change-attribute ABBREV=change_attribute_key
+Concurrency-Access/delete-Object ABBREV=delete_Object_key
+Access-Control-Change-Attribute/actual-values ABBREV=actual_values1
+Account-Attribute/actual-values ABBREV=actual_values2
+Access-Control-Attribute/actual-values ABBREV=actual_values3
+Private-Use-Attribute/actual-values ABBREV=actual_values4
+Date-and-Time-Attribute/actual-values ABBREV=actual_values5
+User-Identity-Attribute/actual-values ABBREV=actual_values6
+Object-Size-Attribute/actual-values ABBREV=actual_values7
+Object-Availability-Attribute/actual-values ABBREV=actual_values8
+Legal-Qualification-Attribute/actual-values ABBREV=actual_values9
+
+#.FN_PARS Extension-Attribute/extension-attribute-identifier
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_PARS OBJECT_IDENTIFIER
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Contents-Type-Attribute/document-type/parameter
+ if (actx->external.direct_reference) {
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY Extension-Attribute/extension-attribute
+ if (actx->external.direct_reference) {
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+ }
+
+#.FN_PARS Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns/_item/extension-attribute-identifier
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns/_item/extension-attribute-Pattern
+ if (actx->external.direct_reference) {
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY AP-title
+ /* XXX have no idea about this one */
+#.FN_BODY AE-qualifier
+ /* XXX have no idea about this one */
+
+#.FN_BODY FTAM-Regime-PDU VAL_PTR = &branch_taken
+ gint branch_taken;
+
+ %(DEFAULT_BODY)s
+
+ if( (branch_taken!=-1) && ftam_FTAM_Regime_PDU_vals[branch_taken].strptr ){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s:", ftam_FTAM_Regime_PDU_vals[branch_taken].strptr);
+ }
+
+#.FN_BODY File-PDU VAL_PTR = &branch_taken
+ gint branch_taken;
+
+ %(DEFAULT_BODY)s
+
+ if( (branch_taken!=-1) && ftam_File_PDU_vals[branch_taken].strptr ){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s:", ftam_File_PDU_vals[branch_taken].strptr);
+ }
+
+#.FN_BODY Bulk-Data-PDU VAL_PTR = &branch_taken
+ gint branch_taken;
+
+ %(DEFAULT_BODY)s
+
+ if( (branch_taken!=-1) && ftam_Bulk_Data_PDU_vals[branch_taken].strptr ){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s:", ftam_Bulk_Data_PDU_vals[branch_taken].strptr);
+ }
+
+#.FN_BODY FSM-PDU VAL_PTR = &branch_taken
+ gint branch_taken;
+
+ %(DEFAULT_BODY)s
+
+ if( (branch_taken!=-1) && ftam_FSM_PDU_vals[branch_taken].strptr ){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s:", ftam_FSM_PDU_vals[branch_taken].strptr);
+ }
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
+
diff --git a/epan/dissectors/asn1/ftam/packet-ftam-template.c b/epan/dissectors/asn1/ftam/packet-ftam-template.c
new file mode 100644
index 00000000..5d88c6fe
--- /dev/null
+++ b/epan/dissectors/asn1/ftam/packet-ftam-template.c
@@ -0,0 +1,168 @@
+/* packet-ftam_asn1.c
+ * Routine to dissect OSI ISO 8571 FTAM Protocol packets
+ * based on the ASN.1 specification from http://www.itu.int/ITU-T/asn1/database/iso/8571-4/1988/
+ *
+ * also based on original handwritten dissector by
+ * Yuriy Sidelnikov <YSidelnikov@hotmail.com>
+ *
+ * Anders Broman and Ronnie Sahlberg 2005 - 2006
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ftam.h"
+
+#define PNAME "ISO 8571 FTAM"
+#define PSNAME "FTAM"
+#define PFNAME "ftam"
+
+void proto_register_ftam(void);
+void proto_reg_handoff_ftam(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_ftam = -1;
+
+/* Declare the function to avoid a compiler warning */
+static int dissect_ftam_OR_Set(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
+
+static int hf_ftam_unstructured_text = -1; /* ISO FTAM unstructured text */
+static int hf_ftam_unstructured_binary = -1; /* ISO FTAM unstructured binary */
+#include "packet-ftam-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_ftam = -1;
+#include "packet-ftam-ett.c"
+
+static expert_field ei_ftam_zero_pdu = EI_INIT;
+
+#include "packet-ftam-fn.c"
+
+/*
+* Dissect FTAM unstructured text
+*/
+static int
+dissect_ftam_unstructured_text(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree, void* data _U_)
+{
+ proto_tree_add_item (parent_tree, hf_ftam_unstructured_text, tvb, 0, tvb_reported_length_remaining(tvb, 0), ENC_ASCII);
+ return tvb_captured_length(tvb);
+}
+
+/*
+* Dissect FTAM unstructured binary
+*/
+static int
+dissect_ftam_unstructured_binary(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree, void* data _U_)
+{
+ proto_tree_add_item (parent_tree, hf_ftam_unstructured_binary, tvb, 0, tvb_reported_length_remaining(tvb, 0), ENC_NA);
+ return tvb_captured_length(tvb);
+}
+
+/*
+* Dissect FTAM PDUs inside a PPDU.
+*/
+static int
+dissect_ftam(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ int offset = 0;
+ int old_offset;
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_ftam, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_ftam);
+ }
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "FTAM");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0){
+ old_offset=offset;
+ offset=dissect_ftam_PDU(FALSE, tvb, offset, &asn1_ctx, tree, -1);
+ if(offset == old_offset){
+ proto_tree_add_expert(tree, pinfo, &ei_ftam_zero_pdu, tvb, offset, -1);
+ break;
+ }
+ }
+ return tvb_captured_length(tvb);
+}
+
+
+/*--- proto_register_ftam -------------------------------------------*/
+void proto_register_ftam(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+ { &hf_ftam_unstructured_text,
+ { "ISO FTAM unstructured text", "ftam.unstructured_text", FT_STRING,
+ BASE_NONE, NULL, 0x0, NULL, HFILL } },
+ { &hf_ftam_unstructured_binary,
+ { "ISO FTAM unstructured binary", "ftam.unstructured_binary", FT_BYTES,
+ BASE_NONE, NULL, 0x0, NULL, HFILL } },
+#include "packet-ftam-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ftam,
+#include "packet-ftam-ettarr.c"
+ };
+ static ei_register_info ei[] = {
+ { &ei_ftam_zero_pdu, { "ftam.zero_pdu", PI_PROTOCOL, PI_ERROR, "Internal error, zero-byte FTAM PDU", EXPFILL }},
+ };
+
+ expert_module_t* expert_ftam;
+
+ /* Register protocol */
+ proto_ftam = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("ftam", dissect_ftam, proto_ftam);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ftam, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_ftam = expert_register_protocol(proto_ftam);
+ expert_register_field_array(expert_ftam, ei, array_length(ei));
+
+}
+
+
+/*--- proto_reg_handoff_ftam --- */
+void proto_reg_handoff_ftam(void) {
+ register_ber_oid_dissector("1.0.8571.1.1", dissect_ftam, proto_ftam,"iso-ftam(1)");
+ register_ber_oid_dissector("1.0.8571.2.1", dissect_ftam, proto_ftam,"ftam-pci(1)");
+ register_ber_oid_dissector("1.3.14.5.2.2", dissect_ftam, proto_ftam,"NIST file directory entry abstract syntax");
+
+ /* Unstructured text file document type FTAM-1 */
+ register_ber_oid_dissector("1.0.8571.5.1", dissect_ftam_unstructured_text, proto_ftam,"ISO FTAM unstructured text");
+ oid_add_from_string("ISO FTAM sequential text","1.0.8571.5.2");
+ oid_add_from_string("FTAM unstructured text abstract syntax","1.0.8571.2.3");
+ oid_add_from_string("FTAM simple-hierarchy","1.0.8571.2.5");
+ oid_add_from_string("FTAM hierarchical file model","1.0.8571.3.1");
+ oid_add_from_string("FTAM unstructured constraint set","1.0.8571.4.1");
+
+ /* Unstructured binary file document type FTAM-3 */
+ register_ber_oid_dissector("1.0.8571.5.3", dissect_ftam_unstructured_binary, proto_ftam,"ISO FTAM unstructured binary");
+ oid_add_from_string("FTAM unstructured binary abstract syntax","1.0.8571.2.4");
+
+ /* Filedirectory file document type NBS-9 */
+ oid_add_from_string("NBS-9 FTAM file directory file","1.3.14.5.5.9");
+
+ /* Filedirectory file document type NBS-9 (WITH OLD NIST OIDs)*/
+ oid_add_from_string("NBS-9-OLD FTAM file directory file","1.3.9999.1.5.9");
+ oid_add_from_string("NIST file directory entry abstract syntax","1.3.9999.1.2.2");
+}
diff --git a/epan/dissectors/asn1/ftam/packet-ftam-template.h b/epan/dissectors/asn1/ftam/packet-ftam-template.h
new file mode 100644
index 00000000..1e350c81
--- /dev/null
+++ b/epan/dissectors/asn1/ftam/packet-ftam-template.h
@@ -0,0 +1,22 @@
+/* packet-ftam.h
+ * Routine to dissect OSI ISO 8571 FTAM Protocol packets
+ * based on the ASN.1 specification from http://www.itu.int/ITU-T/asn1/database/iso/8571-4/1988/
+ *
+ * also based on original handwritten dissector by
+ * Yuriy Sidelnikov <YSidelnikov@hotmail.com>
+ *
+ * Anders Broman and Ronnie Sahlberg 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_FTAM_H
+#define PACKET_FTAM_H
+
+#include "packet-ftam-exp.h"
+
+#endif /* PACKET_FTAM_H */
diff --git a/epan/dissectors/asn1/gdt/CMakeLists.txt b/epan/dissectors/asn1/gdt/CMakeLists.txt
new file mode 100644
index 00000000..a44ded16
--- /dev/null
+++ b/epan/dissectors/asn1/gdt/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME gdt )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/gdt/gdt.asn b/epan/dissectors/asn1/gdt/gdt.asn
new file mode 100644
index 00000000..cdf1c123
--- /dev/null
+++ b/epan/dissectors/asn1/gdt/gdt.asn
@@ -0,0 +1,770 @@
+-- ===================================================================================================================
+-- GDT protocol definition
+-- ===================================================================================================================
+GDT {iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 57805}
+
+DEFINITIONS
+IMPLICIT TAGS
+::=
+
+
+BEGIN
+
+-- ===========
+-- GDT Header
+-- ===========
+-- version - GDT version
+-- source - source information
+-- destination - destination information
+-- uuid - universally unique identifier (UUID)
+-- sequence-num - sequence number
+-- sequence-flag - packet sequence information (stateful/stateless/etc.)
+-- enc-info - encryption information
+-- hop-info - hop counter
+-- status - error code
+Header ::= SEQUENCE {
+ version [0] INTEGER,
+ source [1] EndPointDescriptor,
+ destination [2] EndPointDescriptor,
+ uuid [3] OCTET STRING,
+ sequence-num [4] INTEGER,
+ sequence-flag [5] SequenceFlag,
+ enc-info [6] EncryptionInfo OPTIONAL,
+ hop-info [7] HopInfo OPTIONAL,
+ status [8] ErrorCode OPTIONAL,
+ ...
+}
+
+-- ======================================================
+-- SequenceFlag - stateful/stateless sequence information
+-- ======================================================
+-- sf-start - stateful start of sequence
+-- sf-continue - stateful sequence continuation
+-- sf-end - stateful end of sequence / stateless reply
+-- sf-stateless-no-reply - stateless packet, no reply is received to confirm successful delivery, reliability is sctp dependant
+-- sf-stateless - stateless packet, sf-end reply is received to confirm successful delivery
+-- sf-stream-complete - stream complete
+SequenceFlag ::= INTEGER {
+ sf-start (0),
+ sf-continue (1),
+ sf-end (2),
+ sf-stateless-no-reply (3),
+ sf-stateless (4),
+ sf-stream-complete (5),
+ sf-continue-wait (6),
+ sf-heartbeat (7)
+}
+
+
+-- ==================
+-- EndPointDescriptor
+-- ==================
+-- type - daemon type
+-- id - daemon id
+EndPointDescriptor ::= SEQUENCE {
+ type [1] IA5String,
+ id [2] IA5String OPTIONAL,
+ ...
+}
+
+
+-- =========
+-- GDT Body
+-- =========
+-- encrypted-data - Encrypted GDT body, used only when content is encrypted (header.encryption)
+-- packet-fwd - General packet forwarding, used for routing and failovers
+-- filter - Filtering service, mostly used but not limited to SMS
+-- data-retention - Data retention service, used for DB storage
+-- general - Reserved for custom daemons and/or future use
+-- conf - Configuration daemon service
+-- stats - Statistical data exchange
+-- auth - Authentication messages, used for daemon authentication
+-- reg - Registration messages, used for daemon discovery and various registration procedures (daemons, events, etc.)
+-- ntfy - Various notification/alarm/etc. messages
+-- data - payload data exchange
+-- routing - routing related messages
+-- service-msg - service related messages
+-- state-msg - statefulness related messages
+Body ::= CHOICE {
+ encrypted-data [1] OCTET STRING,
+ packet-fwd [2] PacketFwdMessage,
+ filter [3] FilterMessage,
+ data-retention [4] DataRetentionMessage,
+ --general [5] EXPLICIT GeneralMessage,
+ conf [6] ConfigMessage,
+ stats [7] StatsMessage,
+ auth [8] AuthMessage,
+ reg [9] RegistrationMessage,
+ ntfy [10] NotifyMessage,
+ data [11] DataMessage,
+ routing [12] RoutingMessage,
+ service-msg [13] ServiceMessage,
+ state-msg [14] StateMessage,
+ ...
+}
+
+
+-- =================================================
+-- StateMessage - used by MINK statefulness library
+-- =================================================
+StateMessage ::= SEQUENCE {
+ stmch-id OCTET STRING,
+ state-action StateAction,
+ params Parameters OPTIONAL,
+ ...
+}
+
+
+-- ===========
+-- StateAction
+-- ===========
+StateAction ::= INTEGER {
+ sta-update (0)
+
+}
+
+
+-- ==================================================
+-- ServiceMessage - used for service related messages
+-- ==================================================
+ServiceMessage ::= SEQUENCE {
+ service-id ServiceId,
+ service-action ServiceAction,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- =========
+-- ServiceId
+-- =========
+ServiceId ::= INTEGER {
+ sid-stp-routing (42),
+ sid-sgn-forward (43),
+ sid-fgn-filtering (44),
+ sid-security (45),
+ sid-pdn-filtering (46),
+ sid-sysagent (47)
+}
+
+
+-- =============
+-- ServiceAction
+-- =============
+ServiceAction ::= INTEGER {
+ srvca-request (0), -- generic request
+ srvca-result (1), -- generic result
+ srvca-default (2), -- default action
+ srvca-na (3) -- n/a
+}
+
+
+-- ==================================================
+-- RoutingMessage - used for routing related messages
+-- ==================================================
+RoutingMessage ::= SEQUENCE {
+ routing-action RoutingAction,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- =============
+-- RoutingAction
+-- =============
+RoutingAction ::= INTEGER {
+ roua-route-set (0),
+ roua-route-get (1),
+ roua-route-result (2)
+}
+
+
+-- ================================================================
+-- RegistrationMessage - used for daemon discovery and registration
+-- ================================================================
+-- reg-action - registration action
+-- params - registration parameters
+RegistrationMessage ::= SEQUENCE {
+ reg-action RegistrationAction,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- ==================
+-- RegistrationAction
+-- ==================
+RegistrationAction ::= INTEGER {
+ ra-reg-request (0),
+ ra-reg-result (1)
+}
+
+-- ========================================
+-- StatsMessage - Statistical data exchange
+-- ========================================
+-- stats-action - stats action
+-- params - stats parameters
+StatsMessage ::= SEQUENCE {
+ stats-action StatsAction,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- ===========
+-- StatsAction
+-- ===========
+StatsAction ::= INTEGER {
+ sa-request (0),
+ sa-result (1)
+}
+
+-- ============================================
+-- AuthMessage - used for daemon authentication
+-- ============================================
+-- auth-action - authentication action
+-- params - authentication parameters
+AuthMessage ::= SEQUENCE {
+ auth-action AuthAction,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- ==========
+-- AuthAction
+-- ==========
+AuthAction ::= INTEGER {
+ aa-auth-request (0),
+ aa-auth-result (1)
+}
+
+-- ==========================================
+-- DataRetentionMessage - used for DB storage
+-- ==========================================
+-- payload-type - payload type
+-- payload - payload
+-- dr-action - data retention action
+-- params - data retention parameters
+DataRetentionMessage ::= SEQUENCE {
+ payload-type PayloadType OPTIONAL,
+ payload OCTET STRING OPTIONAL,
+ dr-action DataRetentionAction,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- ===================
+-- DataRetentionAction
+-- ===================
+DataRetentionAction ::= INTEGER {
+ ra-store (0),
+ ra-delete (1),
+ ra-fetch (2),
+ ra-result (3)
+}
+
+-- =================================
+-- FilterMessage - filtering service
+-- =================================
+-- filter-action - filter action
+-- params - filter parameters
+FilterMessage ::= SEQUENCE {
+ filter-action FilterAction,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- ============
+-- FilterAction
+-- ============
+FilterAction ::= INTEGER {
+ fa-filter-request (0),
+ fa-filter-result (1)
+}
+
+
+
+-- =================================================
+-- PacketFwdMessage - used for routing and failovers
+-- =================================================
+-- payload-type - payload type
+-- payload - payload
+-- params - extra parameters
+PacketFwdMessage ::= SEQUENCE {
+ payload-type PayloadType,
+ payload OCTET STRING OPTIONAL,
+ params Parameters OPTIONAL,
+ ...
+}
+
+
+-- =================================================================
+-- NotifyMessage - used for various notification/alarm/etc. messages
+-- =================================================================
+-- message-type - notification message type
+-- message - notification message
+-- params - extra notification parameters
+NotifyMessage ::= SEQUENCE {
+ message-type NotifyMessageType,
+ message OCTET STRING OPTIONAL,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- =================
+-- NotifyMessageType
+-- =================
+NotifyMessageType ::= INTEGER
+
+
+-- ============================================
+-- DataMessage - used for payload data exchange
+-- ============================================
+-- type - payload type
+-- payload - actual payload
+-- params - extra parameters (used instead of payload or as an extra payload information)
+DataMessage ::= SEQUENCE {
+ payload-type PayloadType,
+ payload OCTET STRING OPTIONAL,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- ===========
+-- PayloadType
+-- ===========
+PayloadType ::= INTEGER {
+ dmt-unknown (1000), -- UNKNOWN
+ dmt-r14p (2000), -- GDT
+ dmt-layer2 (0), -- General layer 2
+ dmt-ip (1), -- Internet Protocol (IP)
+ dmt-sctp (2), -- Stream Control Transmission Protocol (SCTP)
+ dmt-tcp (3), -- Transmission Control Protocol (TCP)
+ dmt-udp (4), -- User Datagram Protocol (UDP)
+ dmt-m3ua (5), -- MTP Level 3 (MTP3) User Adaptation Layer
+ dmt-m2ua (6), -- Message Transfer Part 2 User Adaptation Layer (M2UA)
+ dmt-mtp3 (7), -- MTP Level 3 (MTP3)
+ dmt-isup (8), -- ISDN User Part (ISUP)
+ dmt-h248 (9), -- H.248 or Megaco or Gateway Control Protocol
+ dmt-sccp (10), -- Signalling Connection Control Part (SCCP)
+ dmt-smstpdu (11), -- SMS TPDU 3GPP TS 23.040
+ dmt-smpp (12), -- Short Message Peer-to-Peer (SMPP)
+ dmt-tcap (13), -- Transaction Capabilities Application Part (TCAP)
+ dmt-rtp (14), -- Real-time Transport Protocol (RTP)
+ dmt-sip (15), -- Session Initiation Protocol (SIP)
+ dmt-pop3 (16), -- Post Office Protocol (POP3)
+ dmt-imap (17), -- Internet message access protocol (IMAP)
+ dmt-http (18), -- Hypertext Transfer Protocol (HTTP)
+ dmt-radius (19), -- Remote Authentication Dial In User Service (RADIUS)
+ dmt-dhcp (20), -- Dynamic Host Configuration Protocol (DHCP)
+ dmt-smtp (21), -- Simple Mail Transfer Protocol (SMTP)
+ dmt-m2pa (22), -- Message Transfer Part 2 (MTP) User Peer-to-Peer Adaptation Layer (M2PA)
+ dmt-mtp2 (23) -- MTP Level 2 (MTP2)
+}
+
+
+-- ====================================================
+-- ConfigMessage - used for configuration data exchange
+-- ====================================================
+-- action - action required from config daemon
+-- payload - result generated by config daemon, action dependant
+-- params - extra parameters, optional
+ConfigMessage ::= SEQUENCE {
+ action ConfigAction,
+ payload OCTET STRING OPTIONAL,
+ params Parameters OPTIONAL,
+ ...
+}
+
+-- ============
+-- ConfigAction
+-- ============
+-- ca-cfg-get - get configuration item
+-- ca-cfg-set - set configuration item
+-- ca-cfg-replicate - replicate to other config daemon
+-- ca-cfg-ac - auto complete configuration item (mostly used by CLI service)
+-- ca-cfg-user-login - user login
+-- ca-cfg-user-logout - user logout
+ConfigAction ::= INTEGER {
+ ca-cfg-get (0),
+ ca-cfg-set (1),
+ ca-cfg-replicate (2),
+ ca-cfg-ac (3),
+ ca-cfg-result (4),
+ ca-cfg-user-login (5),
+ ca-cfg-user-logout (6)
+}
+
+-- =====================================
+-- Parameter - general purpose parameter
+-- =====================================
+-- id - parameter id
+-- value - parameter value(s)
+--
+-- Parameter values
+-- ================
+-- [0] - parameter data
+-- [1] - fragmentation flag (1 byte)
+-- [2] - variant parameter id index (1 byte)
+-- [3] - variant parameter type (1 byte)
+Parameter ::= SEQUENCE {
+ id ParameterType,
+ value SEQUENCE OF OCTET STRING OPTIONAL,
+ ...
+}
+
+-- ==========
+-- Parameters
+-- ==========
+Parameters ::= SEQUENCE OF Parameter
+
+-- ==============
+-- PD Command Id
+-- ==============
+-- values specific for PD, used in pt-mink-command-id
+PdCommandId ::= INTEGER {
+ pdci-add (1), -- add item to list
+ pdci-del (2), -- delete item from list
+ pdci-match (3) -- math item in list
+}
+
+-- ==================
+-- Filter Result Type
+-- ==================
+FilterResultType ::= INTEGER {
+ frt-accept (1), -- ACCEPT
+ frt-drop (2) -- DROP
+}
+
+
+-- =============
+-- ParameterType
+-- =============
+ParameterType ::= INTEGER {
+ -- User parameters (9000 - 4294967295)
+
+ -- MINK general (6000 - 6100)
+ pt-mink-daemon-type (6000), -- daemon type
+ pt-mink-daemon-id (6001), -- daemon id
+ pt-mink-auth-id (6002), -- authentication identification
+ pt-mink-auth-password (6003), -- authentication password
+ pt-mink-daemon-ip (6004), -- daemon ip address
+ pt-mink-daemon-port (6005), -- daemon port
+ pt-mink-daemon-description (6006), -- daemon description
+ pt-mink-action (6007), -- extra action
+ pt-mink-dpi (6008), -- deep packet inspection (DPI) flag
+ pt-mink-spi (6009), -- shallow/stateful packet inspection (SPI) flag
+ pt-mink-timestamp (6010), -- unix timestamp
+ pt-mink-timestamp-nsec (6011), -- unix timestamp nsec part
+ pt-mink-security-phase (6012), -- mink security phase
+ pt-mink-loop-count (6013), -- packet loop count
+ pt-mink-checksum (6014), -- checksum
+ pt-mink-timeout (6015), -- timeout
+ pt-mink-error (6016), -- error code
+ pt-mink-error-msg (6017), -- error message
+ pt-mink-status (6018), -- status code
+ pt-mink-status-msg (6019), -- status message
+ pt-mink-persistent-correlation (6020), -- persistent GUID
+
+ -- MINK routing (6100 - 6200)
+ pt-mink-routing-destination (6100), -- routing destination address
+ pt-mink-routing-source (6101), -- routing source address
+ pt-mink-routing-gateway (6102), -- routing gateway address
+ pt-mink-routing-interface (6103), -- routing network interface
+ pt-mink-routing-priority (6104), -- routing priority
+ pt-mink-router-status (6105), -- routing capabilities status (0/1)
+ pt-mink-routing-destination-type (6106), -- routing destination type
+ pt-mink-routing-index (6107), -- routing index
+ pt-mink-trunk-label (6108), -- trunk label
+ pt-mink-connection-type (6109), -- connection type
+ pt-mink-service-id (6110), -- service id
+ pt-mink-command-id (6111), -- command id
+ pt-mink-routing-sub-destination (6112), -- routing sub destination
+ pt-mink-routing-sub-destination-type (6113), -- routing sub destination type
+ pt-mink-correlation-notification (6114), -- correlation notification request
+ pt-mink-guid (6115), -- correlation guid
+ pt-mink-routing-service-id (6116), -- routing destination service id
+
+ -- MINK events (6200 - 6300)
+ pt-mink-event-id (6200), -- daemon event identification
+ pt-mink-event-description (6201), -- daemon event description
+ pt-mink-event-callback-id (6202), -- daemon event callback identification
+ pt-mink-event-callback-priority (6203), -- daemon event callback priority
+
+ -- MINK encryption (6300 - 6400)
+ pt-mink-enc-public-key (6300), -- public encryption key
+ pt-mink-enc-private-key (6301), -- private encryption key
+ pt-mink-enc-type (6302), -- encryption type
+
+ -- MINK statistics (6400 - 7400)
+ pt-mink-stats-id (6400), -- stats id
+ pt-mink-stats-description (6401), -- stats description
+ pt-mink-stats-value (6402), -- stats value
+ pt-mink-stats-count (6403), -- stats item count
+
+ -- MINK configuration (7400 - 7500)
+ pt-mink-config-param-name (7400), -- configiration parameter name
+ pt-mink-config-param-value (7401), -- configuration parameter value
+ pt-mink-config-ac-line (7402), -- line for auto completion
+ pt-mink-config-cfg-item-name (7403), -- config item name
+ pt-mink-config-cfg-item-desc (7404), -- config item description
+ pt-mink-config-cfg-item-ns (7405), -- config item node state
+ pt-mink-config-cfg-item-value (7406), -- config item committed value
+ pt-mink-config-cfg-item-nvalue (7407), -- config item uncommitted value
+ pt-mink-config-cfg-item-nt (7408), -- config item node type
+ pt-mink-config-cfg-cm-mode (7409), -- config mode
+ pt-mink-config-cfg-ac-err (7410), -- config auto completion error
+ pt-mink-config-cli-path (7411), -- config current cli path
+ pt-mink-config-cfg-line (7412), -- config line result
+ pt-mink-config-ac-err-count (7413), -- config auto completion error count
+ pt-mink-config-cfg-line-count (7414), -- config line result count
+ pt-mink-config-cfg-item-path (7415), -- config item path
+ pt-mink-config-cfg-item-notify (7416), -- config item on_change notification
+ pt-mink-config-cfg-item-count (7417), -- config item count
+ pt-mink-config-replication-line (7418), -- replication command
+
+ -- MINK sms related (7500 - 7600)
+ pt-mink-sms-status (7500), -- sms status
+ pt-mink-sms-uuid (7501), -- sms uuid
+
+ -- MINK filtering related (7600 - 7700)
+ pt-mink-filter-result (7600), -- filter result
+ pt-mink-filter-exit (7601), -- filter exit rule
+ pt-mink-filter-list-id (7602), -- list id
+ pt-mink-filter-list-label (7603), -- list label
+ pt-mink-filter-data (7604), -- generic filter input/output data
+ pt-mink-filter-data-size (7605), -- generic filter input/output data size
+
+ -- ETH header (6xx)
+ pt-eth-destination-mac (600), -- ETH header destination mac address
+ pt-eth-source-mac (601), -- ETH header source mac address
+
+ -- IP header (7xx)
+ pt-ip-destination-ip (700), -- IP header destination ip address
+ pt-ip-source-ip (701), -- IP header source ip address
+
+ -- TCP header (8xx)
+ pt-tcp-destination-port (800), -- TCP header destination port
+ pt-tcp-source-port (801), -- TCP header source port
+
+ -- UDP header (9xx)
+ pt-udp-destination-port (900), -- UDP header destination port
+ pt-udp-source-port (901), -- UDP header source port
+
+ -- SCTP header (1xxx)
+ pt-sctp-destination-port (1000), -- SCTP header destination port
+ pt-sctp-source-port (1001), -- SCTP header source port
+
+ -- TCAP and GSM MAP related (5xx)
+ pt-gsmmap-scoa-digits (500), -- serviceCentreAddressOA digits
+ pt-gsmmap-scoa-type-of-number (501), -- serviceCentreAddressOA type of number
+ pt-gsmmap-scoa-numbering-plan (502), -- serviceCentreAddressOA numbering plan
+ pt-gsmmap-scda-digits (503), -- serviceCentreAddressDA digits
+ pt-gsmmap-scda-type-of-number (504), -- serviceCentreAddressDA type of number
+ pt-gsmmap-scda-numbering-plan (505), -- serviceCentreAddressDA numbering plan
+ pt-gsmmap-imsi (506), -- IMSI
+ pt-gsmmap-msisdn-digits (507), -- MSISDN digits
+ pt-gsmmap-msisdn-type-of-number (508), -- MSISDN type of number
+ pt-gsmmap-msisdn-numbering-plan (509), -- MSISDN numbering plan
+ pt-tcap-source-transaction-id (510), -- TCAP Source Transaction Id
+ pt-tcap-destination-transaction-id (511), -- TCAP Destination Transaction Id
+ pt-tcap-opcode (512), -- TCAP Operation code
+ pt-tcap-component-type (513), -- TCAP Component type
+ pt-tcap-component-invoke-id (514), -- TCAP Invoke Id
+ pt-tcap-error-type (515), -- TCAP Error Type
+ pt-tcap-error-code (516), -- TCAP Error code
+ pt-tcap-dialogue-context-oid (517), -- TCAP Dialogue application context oid
+ pt-tcap-message-type (518), -- TCAP Message type
+ pt-gsmmap-nnn-digits (519), -- GSM MAP network node number digits
+ pt-gsmmap-nnn-type-of-number (520), -- GSM MAP nn type of number
+ pt-gsmmap-nnn-numbering-plan (521), -- GSM MAP nn numbering plan
+ pt-gsmmap-an-digits (522), -- GSM MAP additional number digits
+ pt-gsmmap-an-type-of-number (523), -- GSM MAP an type of number
+ pt-gsmmap-an-numbering-plan (524), -- GSM MAP an numbering plan
+ pt-gsmmap-sca-digits (525), -- GSM MAP service centre address digits
+ pt-gsmmap-sca-type-of-number (526), -- GSM MAP SCA type of number
+ pt-gsmmap-sca-numbering-plan (527), -- GSM MAP SCA numbering plan
+ pt-tcap-component-count (528), -- TCAP Component count
+ pt-tcap-dialogue-context-supported (529), -- TCAP Dialogue context supported
+ pt-tcap-component-index (530), -- TCAP Compoonent index currently processed
+ pt-tcap-source-transaction-id-length (531), -- TCAP Source Transaction Id length
+ pt-tcap-destination-transaction-id-length (532), -- TCAP Destination Transaction Id length
+ pt-gsmmap-version (533), -- GSM MAP version
+
+ -- GSM SMS TPDU (GSM 03.40) related (4xx)
+ pt-smstpdu-tp-udhi (400), -- 9.2.3.23 TP-User-Data-Header-Indicator (TP-UDHI)
+ pt-smstpdu-tp-sri (401), -- 9.2.3.4 TP-Status-Report-Indication (TP-SRI)
+ pt-smstpdu-tp-mms (402), -- 9.2.3.2 TP-More-Messages-to-Send (TP-MMS)
+ pt-smstpdu-tp-mti (403), -- 9.2.3.1 TP-Message-Type-Indicator (TP-MTI)
+ pt-smstpdu-tp-oa-type-of-number (404), -- 9.2.3.7 TP-Originating-Address (TP-OA) type of number
+ pt-smstpdu-tp-oa-numbering-plan (405), -- 9.2.3.7 TP-Originating-Address (TP-OA) numbering plan
+ pt-smstpdu-tp-oa-digits (406), -- 9.2.3.7 TP-Originating-Address (TP-OA) digits
+ pt-smstpdu-tp-pid (407), -- 9.2.3.9 TP-Protocol-Identifier (TP-PID)
+ pt-smstpdu-tp-dcs (408), -- 9.2.3.10 TP-Data-Coding-Scheme (TP-DCS)
+ pt-smstpdu-tp-scts (409), -- 9.2.3.11 TP-Service-Centre-Time-Stamp (TP-SCTS)
+ pt-smstpdu-tp-udl (410), -- 9.2.3.16 TP-User-Data-Length (TP-UDL)
+ pt-smstpdu-tp-ud (411), -- 9.2.3.24 TP-User Data (TP-UD)
+ pt-smstpdu-tp-rp (412), -- 9.2.3.17 TP-Reply-Path (TP-RP)
+ pt-smstpdu-tp-srr (413), -- 9.2.3.5 TP-Status-Report-Request (TP-SRR)
+ pt-smstpdu-tp-vpf (414), -- 9.2.3.3 TP-Validity-Period-Format (TP-VPF)
+ pt-smstpdu-tp-rd (415), -- 9.2.3.25 TP-Reject-Duplicates (TP-RD)
+ pt-smstpdu-tp-da-type-of-number (416), -- 9.2.3.8 TP-Destination-Address (TP-DA) type of number
+ pt-smstpdu-tp-da-numbering-plan (417), -- 9.2.3.8 TP-Destination-Address (TP-DA) numbering plan
+ pt-smstpdu-tp-da-digits (418), -- 9.2.3.8 TP-Destination-Address (TP-DA) digits
+ pt-smstpdu-tp-vp (419), -- 9.2.3.12 TP-Validity-Period (TP-VP)
+ pt-smstpdu-msg-id (420), -- Message Id
+ pt-smstpdu-msg-parts (421), -- Message parts
+ pt-smstpdu-msg-part (422), -- Message part
+ pt-smstpdu-tp-mr (423), -- Message reference
+ pt-smstpdu-message-class (424), -- Message class
+
+ -- SCCP related (3xx)
+ pt-sccp-destination-local-reference (300), -- Destination local reference
+ pt-sccp-source-local-reference (301), -- Source local reference
+ pt-sccp-called-party (302), -- Called party address
+ pt-sccp-calling-party (303), -- Calling party address
+ pt-sccp-protocol-class (304), -- Protocol class
+ pt-sccp-segmenting-reassembling (305), -- Segmenting/reassembling
+ pt-sccp-receive-sequence-number (306), -- Receive sequence number
+ pt-sccp-sequencing-segmenting (307), -- Sequencing/segmenting
+ pt-sccp-credit (308), -- Credit
+ pt-sccp-release-cause (309), -- Release cause
+ pt-sccp-return-cause (310), -- Return cause
+ pt-sccp-reset-cause (311), -- Reset cause
+ pt-sccp-error-cause (312), -- Error cause
+ pt-sccp-refusal-cause (313), -- Refusal cause
+ pt-sccp-data (314), -- Data
+ pt-sccp-segmentation (315), -- Segmentation
+ pt-sccp-hop-counter (316), -- Hop counter
+ pt-sccp-importance (317), -- Importance
+ pt-sccp-long-data (318), -- Long data
+ pt-sccp-called-pa-routing-indicator (319), -- Called party routing indicator
+ pt-sccp-called-pa-global-title-indicator (320), -- Called party global title indicator
+ pt-sccp-called-pa-ssn-indicator (321), -- Called party subsystem number indicator
+ pt-sccp-called-pa-point-code-indicator (322), -- Called party point code indicator
+ pt-sccp-called-pa-point-code-number (323), -- Called party point code number
+ pt-sccp-called-pa-subsystem-number (324), -- Called party subsystem number
+ pt-sccp-called-pa-gt-numbering-plan (325), -- Called party GT numbering plan
+ pt-sccp-called-pa-gt-encoding-scheme (326), -- Called party GT encoding scheme
+ pt-sccp-called-pa-gt-nature-of-address (327), -- Called party GT nature of address
+ pt-sccp-called-pa-gt-address (328), -- Called party GT address
+ pt-sccp-called-pa-gt-translation-type (329), -- Called party GT translation type
+ pt-sccp-calling-pa-routing-indicator (330), -- Calling party routing indicator
+ pt-sccp-calling-pa-global-title-indicator (331), -- Calling party global title indicator
+ pt-sccp-calling-pa-ssn-indicator (332), -- Calling party subsystem number indicator
+ pt-sccp-calling-pa-point-code-indicator (333), -- Calling party point code indicator
+ pt-sccp-calling-pa-point-code-number (334), -- Calling party point code number
+ pt-sccp-calling-pa-subsystem-number (335), -- Calling party subsystem number
+ pt-sccp-calling-pa-gt-numbering-plan (336), -- Calling party GT numbering plan
+ pt-sccp-calling-pa-gt-encoding-scheme (337), -- Calling party GT encoding scheme
+ pt-sccp-calling-pa-gt-nature-of-address (338), -- Calling party GT nature of address
+ pt-sccp-calling-pa-gt-address (339), -- Calling party GT address
+ pt-sccp-calling-pa-gt-translation-type (340), -- Calling party GT translation type
+ pt-sccp-message-type (341), -- SCCP Message type
+
+ -- M3UA related (2xx)
+ pt-m3ua-info-string (200), -- INFO String
+ pt-m3ua-routing-context (201), -- Routing Context
+ pt-m3ua-diagnostic-info (202), -- Diagnostic Information
+ pt-m3ua-heartbeat (203), -- Heartbeat Data
+ pt-m3ua-traffic-mode-type (204), -- Traffic Mode Type
+ pt-m3ua-error-code (205), -- Error Code
+ pt-m3ua-status (206), -- Status
+ pt-m3ua-asp-identifier (207), -- ASP Identifier
+ pt-m3ua-affected-point-code (208), -- Affected Point Code
+ pt-m3ua-correlation-id (209), -- Correlation ID
+ pt-m3ua-network-appearance (210), -- Network Appearance
+ pt-m3ua-user-cause (211), -- User/Cause
+ pt-m3ua-congestion-indications (212), -- Congestion Indications
+ pt-m3ua-concerned-destination (213), -- Concerned Destination
+ pt-m3ua-routing-key (214), -- Routing Key
+ pt-m3ua-registration-result (215), -- Registration Result
+ pt-m3ua-deregistration-result (216), -- Deregistration Result
+ pt-m3ua-local-routing-key-identifier (217), -- Local-Routing Key Identifier
+ pt-m3ua-destination-point-code (218), -- Destination Point Code
+ pt-m3ua-service-indicators (219), -- Service Indicators
+ pt-m3ua-origination-point-code-list (220), -- Originating Point Code List
+ pt-m3ua-circuit-range (221), -- Circuit Range
+ pt-m3ua-protocol-data (222), -- Protocol Data
+ pt-m3ua-protocol-data-service-indicator (223), -- Protocol Data service indicator (SI)
+ pt-m3ua-protocol-data-network-indicator (224), -- Protocol Data network indicator (NI)
+ pt-m3ua-protocol-data-message-priority (225), -- Protocol Data message priority (MP)
+ pt-m3ua-protocol-data-destination-point-code (226), -- Protocol Data destination point code (DPC)
+ pt-m3ua-protocol-data-originating-point-code (227), -- Protocol Data originating point code (OPC)
+ pt-m3ua-protocol-data-signalling-link-selection-code (228), -- Protocol Data signalling link selection code (SLS)
+ pt-m3ua-registration-status (229), -- Registration Status
+ pt-m3ua-deregistration-status (230), -- Deregistration Status
+ pt-m3ua-header-data (231), -- M3UA header raw data
+ pt-m3ua-as-label (232), -- Application server (AS) label
+ pt-m3ua-asp-label (233) -- Application server process (ASP) label
+}
+
+
+-- ==============================================================
+-- GeneralMessage - reserved for custom daemons and/or future use
+-- ==============================================================
+-- reserved for future use and/or custom daemons
+GeneralMessage ::= ANY
+
+-- =======
+-- HopInfo
+-- =======
+-- current-hop - current hop
+-- max-hops - max hops
+HopInfo ::= SEQUENCE {
+ current-hop [1] INTEGER,
+ max-hops [2] INTEGER,
+ ...
+}
+
+-- =========
+-- ErrorCode
+-- =========
+ErrorCode ::= INTEGER {
+ err-ok (0),
+ err-out-of-sequence (1),
+ err-unknown-sequence (2),
+ err-unsupported-version (3),
+ err-timeout (4),
+ err-unknown-route (5),
+ err-routing-not-supported (6),
+ err-max-hops-exceeded (7),
+ err-unknown-error (255)
+}
+
+-- ============
+-- GDT Message
+-- ============
+-- header - packet header
+-- body - packet body
+GDTMessage ::= SEQUENCE {
+ header Header,
+ body Body OPTIONAL,
+ ...
+}
+
+
+-- ================================================================================================================
+-- EncryptionInfo
+-- ================================================================================================================
+-- enc-type - cipher type
+-------------------------------------------------------------------------------------------------------------------
+-- base64 - Base64 Encoding
+-- bf bf-cbc bf-cfb bf-ecb bf-ofb - Blowfish Cipher
+-- cast cast-cbc - CAST Cipher
+-- cast5-cbc cast5-cfb cast5-ecb cast5-ofb - CAST5 Cipher
+-- des des-cbc des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb des-ede-ofb des-ofb - DES Cipher
+-- des3 desx des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb - Triple-DES Cipher
+-- idea idea-cbc idea-cfb idea-ecb idea-ofb - IDEA Cipher
+-- rc2 rc2-cbc rc2-cfb rc2-ecb rc2-ofb - RC2 Cipher
+-- rc4 - RC4 Cipher
+-- rc5 rc5-cbc rc5-cfb rc5-ecb rc5-ofb - RC5 Cipher
+-------------------------------------------------------------------------------------------------------------------
+-- params - cipher related parameters
+-------------------------------------------------------------------------------------------------------------------
+
+EncryptionInfo ::= SEQUENCE {
+ enc-type OCTET STRING,
+ params Parameters OPTIONAL,
+ ...
+}
+
+
+
+END
diff --git a/epan/dissectors/asn1/gdt/gdt.cnf b/epan/dissectors/asn1/gdt/gdt.cnf
new file mode 100644
index 00000000..c5910e3e
--- /dev/null
+++ b/epan/dissectors/asn1/gdt/gdt.cnf
@@ -0,0 +1,30 @@
+# gdt.cnf
+# GDT conformation file
+
+# $Id$
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.PDU
+GDTMessage
+
+#.NO_EMIT
+
+#.OMIT_ASSIGNMENT
+GeneralMessage
+FilterResultType
+PdCommandId
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+EndPointDescriptor/id end_point_id
+Parameter/id parameter_type_id
+
+#.FIELD_ATTR
+EndPointDescriptor/id ABBREV=end_point_id
+Parameter/id ABBREV=parameter_type_id
+
+#.END
diff --git a/epan/dissectors/asn1/gdt/packet-gdt-template.c b/epan/dissectors/asn1/gdt/packet-gdt-template.c
new file mode 100644
index 00000000..7c21c83c
--- /dev/null
+++ b/epan/dissectors/asn1/gdt/packet-gdt-template.c
@@ -0,0 +1,94 @@
+/* packet-gdt-template.c
+ *
+ * Copyright 2022, Damir Franusic <damir.franusic@gmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+
+# include "config.h"
+
+#include <glib.h>
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/sctpppids.h>
+
+#include <stdio.h>
+#include <string.h>
+
+#include "packet-ber.h"
+#include "packet-gdt.h"
+
+#define PNAME "Generic Data Transfer Protocol"
+#define PSNAME "GDT"
+#define PFNAME "gdt"
+
+/* Initialize the protocol and registered fields */
+static int proto_gdt = -1;
+static dissector_handle_t gdt_handle = NULL;
+
+#include "packet-gdt-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_gdt = -1;
+#include "packet-gdt-ett.c"
+
+#include "packet-gdt-fn.c"
+
+static int dissect_gdt(tvbuff_t *tvb,
+ packet_info *pinfo,
+ proto_tree *tree,
+ void *data _U_) {
+ proto_item *gdt_item = NULL;
+ proto_tree *gdt_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PNAME);
+
+ /* create the gdt protocol tree */
+ if (tree) {
+ gdt_item = proto_tree_add_item(tree, proto_gdt, tvb, 0, -1, ENC_NA);
+ gdt_tree = proto_item_add_subtree(gdt_item, ett_gdt);
+ dissect_GDTMessage_PDU(tvb, pinfo, gdt_tree, 0);
+ }
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_gdt ----------------------------------------------*/
+void proto_register_gdt(void) {
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-gdt-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_gdt,
+#include "packet-gdt-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_gdt = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_gdt, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ gdt_handle = register_dissector("gdt", dissect_gdt, proto_gdt);
+}
+
+/*--- proto_reg_handoff_gdt -------------------------------------------*/
+void proto_reg_handoff_gdt(void) {
+ static gboolean initialized = FALSE;
+
+ if (!initialized) {
+ dissector_add_for_decode_as("sctp.ppi", gdt_handle);
+ dissector_add_uint("sctp.ppi", GDT_PROTOCOL_ID, gdt_handle);
+ initialized = TRUE;
+ }
+}
diff --git a/epan/dissectors/asn1/gdt/packet-gdt-template.h b/epan/dissectors/asn1/gdt/packet-gdt-template.h
new file mode 100644
index 00000000..a24ba446
--- /dev/null
+++ b/epan/dissectors/asn1/gdt/packet-gdt-template.h
@@ -0,0 +1,19 @@
+/* packet-gdt-template.h
+ *
+ * Copyright 2022, Damir Franusic <damir.franusic@gmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+
+#ifndef PACKET_GDT_H
+#define PACKET_GDT_H
+
+void proto_register_gdt(void);
+void proto_reg_handoff_gdt(void);
+
+#endif /* PACKET_GDT_H */
diff --git a/epan/dissectors/asn1/glow/CMakeLists.txt b/epan/dissectors/asn1/glow/CMakeLists.txt
new file mode 100644
index 00000000..a120042c
--- /dev/null
+++ b/epan/dissectors/asn1/glow/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME glow )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/glow/glow.asn b/epan/dissectors/asn1/glow/glow.asn
new file mode 100644
index 00000000..74bf049f
--- /dev/null
+++ b/epan/dissectors/asn1/glow/glow.asn
@@ -0,0 +1,621 @@
+--
+-- GlowDtd.asn1
+-- Lawo GmbH
+--
+-- This file defines the Glow DTD used with the Ember+ protocol.
+--
+-- Change Log:
+--
+-- 2.50:
+-- - Added nullable parameter values.
+-- 2.40:
+-- - NOTE: This version describes the data schema of Ember+ 1.4.
+-- - Added Template Extensions
+-- 2.30:
+-- - NOTE: This version describes the data schema of Ember+ 1.3.
+-- - Added Schema Extensions
+-- 2.20:
+-- - NOTE: This version describes the data schema of Ember+ 1.2.
+-- - Added Function Extensions (see type Function)
+-- 2.10:
+-- - NOTE: This version describes the data schema of Ember+ 1.1.
+-- - Added Matrix Extensions (see type Matrix)
+-- - Added "isOnline" field to NodeContents
+-- 2.5:
+-- - NOTE: This version describes the data schema of Ember+ 1.0.
+-- - NOTE: This version introduces breaking changes!
+-- - Changed Parameter.isCommand (BOOLEAN) to an enumeration named "type".
+-- To determine the effective type of a parameter, follow this rule:
+-- - If the parameter has the "type" field that equals "trigger", its
+-- type is "trigger".
+-- - If the parameter has either the "enumeration" or the "enumMap" field,
+-- its type is "enum".
+-- - If the parameter has the "value" field, its type corresponds to the
+-- BER type of the value.
+-- - If the parameter has the "type" field, its type is the value of this
+-- field.
+-- This is useful for parameters that do not specify a current value -
+-- e.g. "trigger" parameters or parameters that have write-only access.
+-- - Changed Parameter.isWriteable (BOOLEAN) to an enumeration named
+-- "access".
+-- - More options for Value - now also supports OCTET STRING and BOOLEAN
+-- - Introduces QualifiedParameter and QualifiedNode types
+-- - Introduces RootElement and RootElementCollection types:
+-- At the root level, a different set of supported types is available.
+-- - StreamCollection can also be used as root container.
+-- - Introduces the StreamDescription type and the field "streamDescriptor"
+-- in type ParameterContents.
+-- 2.4:
+-- - NOTE: This version introduces breaking changes!
+-- - moved "children" in Parameter and Node out of
+-- "contents" SET.
+-- 2.3:
+-- - Added size constraints for INTEGER values.
+-- - Renamed EnumEntry to StringIntegerPair
+-- - Renamed EnumCollection to StringIntegerCollection
+-- 2.2:
+-- - Added new field "enumMap" to Parameter and types to describe
+-- enum entries: EnumEntry and EnumCollection
+-- 2.1:
+-- - NOTE: This version introduces breaking changes!
+-- - Replaced all APPLICATION tags for fields with CONTEXT-SPECIFIC tags
+-- APPLICATION tags are only used for custom types now.
+-- 2.0:
+-- Initial Release
+--
+
+
+EmberPlus-Glow DEFINITIONS EXPLICIT TAGS ::= BEGIN
+
+
+-- ======================================================
+--
+-- Primitive Types
+--
+-- ======================================================
+
+EmberString ::= UTF8String
+Integer32 ::= INTEGER (-2147483648 .. 2147483647)
+Integer64 ::= INTEGER (-9223372036854775808 .. 9223372036854775807)
+
+
+-- this is the base oid for all RELATIVE-OID values defined in this document.
+-- when using the RELATIVE-OID type, defining a base oid is required by ASN.1.
+-- does not have any impact upon the DTD.
+baseOid OBJECT IDENTIFIER ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) lsb(37411) lsb-mgmt(2) emberPlus(1) glow(1) glowVolatile(100) }
+
+-- ======================================================
+--
+-- Template
+--
+-- ======================================================
+
+Template ::=
+ [APPLICATION 24] IMPLICIT SET {
+ number [0] Integer32,
+ element [1] TemplateElement OPTIONAL,
+ description [2] EmberString OPTIONAL
+ }
+
+QualifiedTemplate ::=
+ [APPLICATION 25] IMPLICIT SET {
+ path [0] RELATIVE-OID,
+ element [1] TemplateElement OPTIONAL,
+ description [2] EmberString OPTIONAL
+ }
+
+TemplateElement ::=
+ CHOICE {
+ parameter Parameter,
+ node Node,
+ matrix Matrix,
+ function Function
+ }
+
+-- ======================================================
+--
+-- Parameter
+--
+-- ======================================================
+
+Parameter ::=
+ [APPLICATION 1] IMPLICIT
+ SEQUENCE {
+ number [0] Integer32,
+ contents [1] ParameterContents OPTIONAL,
+ children [2] ElementCollection OPTIONAL
+ }
+
+
+QualifiedParameter ::=
+ [APPLICATION 9] IMPLICIT
+ SEQUENCE {
+ path [0] RELATIVE-OID,
+ contents [1] ParameterContents OPTIONAL,
+ children [2] ElementCollection OPTIONAL
+ }
+
+
+ParameterContents ::=
+ SET {
+ identifier [ 0] EmberString OPTIONAL,
+ description [ 1] EmberString OPTIONAL,
+ value [ 2] Value OPTIONAL,
+ minimum [ 3] MinMax OPTIONAL,
+ maximum [ 4] MinMax OPTIONAL,
+ access [ 5] ParameterAccess OPTIONAL,
+ format [ 6] EmberString OPTIONAL,
+ enumeration [ 7] EmberString OPTIONAL,
+ factor [ 8] Integer32 OPTIONAL,
+ isOnline [ 9] BOOLEAN OPTIONAL,
+ formula [10] EmberString OPTIONAL,
+ step [11] Integer32 OPTIONAL,
+ default [12] Value OPTIONAL,
+ type [13] ParameterType OPTIONAL,
+ streamIdentifier [14] Integer32 OPTIONAL,
+ enumMap [15] StringIntegerCollection OPTIONAL,
+ streamDescriptor [16] StreamDescription OPTIONAL,
+ schemaIdentifiers[17] EmberString OPTIONAL,
+ templateReference[18] RELATIVE-OID OPTIONAL
+ }
+
+
+Value ::=
+ CHOICE {
+ integer Integer64,
+ real REAL,
+ string EmberString,
+ boolean BOOLEAN,
+ octets OCTET STRING,
+ null NULL
+ }
+
+
+MinMax ::=
+ CHOICE {
+ integer Integer64,
+ real REAL,
+ null NULL
+ }
+
+
+ParameterType ::=
+ INTEGER {
+ null (0),
+ integer (1),
+ real (2),
+ string (3),
+ boolean (4),
+ trigger (5),
+ enum (6),
+ octets (7)
+ }
+
+
+ParameterAccess ::=
+ INTEGER {
+ none (0),
+ read (1), -- default
+ write (2),
+ readWrite (3)
+ }
+
+
+StringIntegerPair ::=
+ [APPLICATION 7] IMPLICIT
+ SEQUENCE {
+ entryString [0] EmberString,
+ entryInteger [1] Integer32
+ }
+
+
+StringIntegerCollection ::=
+ [APPLICATION 8] IMPLICIT
+ SEQUENCE OF [0] StringIntegerPair
+
+
+StreamDescription ::=
+ [APPLICATION 12] IMPLICIT
+ SEQUENCE {
+ streamFormat [0] StreamFormat,
+ offset [1] Integer32 -- byte offset of the value in the streamed blob.
+ }
+
+
+-- type: 0=uint, 1=int, 2=float
+-- size: 0=1byte, 1=2byte, 2=4byte, 3=8byte
+-- endianness: 0=big, 1=little
+StreamFormat ::=
+ INTEGER {
+ unsignedInt8 ( 0), -- 00000 00 0
+ unsignedInt16BigEndian ( 2), -- 00000 01 0
+ unsignedInt16LittleEndian ( 3), -- 00000 01 1
+ unsignedInt32BigEndian ( 4), -- 00000 10 0
+ unsignedInt32LittleEndian ( 5), -- 00000 10 1
+ unsignedInt64BigEndian ( 6), -- 00000 11 0
+ unsignedInt64LittleEndian ( 7), -- 00000 11 1
+ signedInt8 ( 8), -- 00001 00 0
+ signedInt16BigEndian (10), -- 00001 01 0
+ signedInt16LittleEndian (11), -- 00001 01 1
+ signedInt32BigEndian (12), -- 00001 10 0
+ signedInt32LittleEndian (13), -- 00001 10 1
+ signedInt64BigEndian (14), -- 00001 11 0
+ signedInt64LittleEndian (15), -- 00001 11 1
+ ieeeFloat32BigEndian (20), -- 00010 10 0
+ ieeeFloat32LittleEndian (21), -- 00010 10 1
+ ieeeFloat64BigEndian (22), -- 00010 11 0
+ ieeeFloat64LittleEndian (23) -- 00010 11 1
+ }
+
+
+-- ======================================================
+--
+-- Command
+--
+-- ======================================================
+
+Command ::=
+ [APPLICATION 2] IMPLICIT
+ SEQUENCE {
+ number [0] CommandType,
+ options CHOICE {
+ dirFieldMask [1] FieldFlags, -- only valid if number is getDirectory(32)
+ invocation [2] Invocation -- only valid if number is invoke(33)
+ } OPTIONAL
+ }
+
+
+CommandType ::=
+ INTEGER {
+ subscribe (30),
+ unsubscribe (31),
+ getDirectory (32),
+ invoke (33)
+ }
+
+
+FieldFlags ::=
+ INTEGER {
+ sparse (-2),
+ all (-1),
+ default ( 0), -- same as "all"
+ identifier ( 1),
+ description ( 2),
+ tree ( 3),
+ value ( 4),
+ connections ( 5)
+ }
+
+
+-- ======================================================
+--
+-- Node
+--
+-- ======================================================
+
+Node ::=
+ [APPLICATION 3] IMPLICIT
+ SEQUENCE {
+ number [0] Integer32,
+ contents [1] NodeContents OPTIONAL,
+ children [2] ElementCollection OPTIONAL
+ }
+
+
+QualifiedNode ::=
+ [APPLICATION 10] IMPLICIT
+ SEQUENCE {
+ path [0] RELATIVE-OID,
+ contents [1] NodeContents OPTIONAL,
+ children [2] ElementCollection OPTIONAL
+ }
+
+
+NodeContents ::=
+ SET {
+ identifier [0] EmberString OPTIONAL,
+ description [1] EmberString OPTIONAL,
+ isRoot [2] BOOLEAN OPTIONAL,
+ isOnline [3] BOOLEAN OPTIONAL, -- default is true
+ schemaIdentifiers[4] EmberString OPTIONAL,
+ templateReference[5] RELATIVE-OID OPTIONAL
+ }
+
+
+-- ======================================================
+--
+-- Matrix
+--
+-- ======================================================
+
+Matrix ::=
+ [APPLICATION 13] IMPLICIT
+ SEQUENCE {
+ number [0] Integer32,
+ contents [1] MatrixContents OPTIONAL,
+ children [2] ElementCollection OPTIONAL,
+ targetList [3] TargetCollection OPTIONAL,
+ sourceList [4] SourceCollection OPTIONAL,
+ connections [5] ConnectionCollection OPTIONAL
+ }
+
+
+MatrixContents ::=
+ SET {
+ identifier [ 0] EmberString,
+ description [ 1] EmberString OPTIONAL,
+ type [ 2] MatrixType OPTIONAL,
+ addressingMode [ 3] MatrixAddressingMode OPTIONAL,
+ targetCount [ 4] Integer32, -- linear: matrix X size; nonLinear: number of targets
+ sourceCount [ 5] Integer32, -- linear: matrix Y size; nonLinear: number of sources
+ maximumTotalConnects [ 6] Integer32 OPTIONAL, -- nToN: max number of set connections
+ maximumConnectsPerTarget [ 7] Integer32 OPTIONAL, -- nToN: max number of sources connected to one target
+ parametersLocation [ 8] ParametersLocation OPTIONAL,
+ gainParameterNumber [ 9] Integer32 OPTIONAL, -- nToN: number of connection gain parameter
+ labels [10] LabelCollection OPTIONAL,
+ schemaIdentifiers [11] EmberString OPTIONAL,
+ templateReference [12] RELATIVE-OID OPTIONAL
+ }
+
+-- Addressing scheme for node at MatrixContents.parametersLocation:
+-- N 0001 targets.<targetNumber>: subtree containing parameters attached to target with <targetNumber>
+-- N 0002 sources.<sourceNumber>: subtree containing parameters attached to source with <targetNumber>
+-- N 0003 connections.<targetNumber>.<sourceNumber>: : subtree containing parameters attached to connection <targetNumber>/<sourceNumber>
+
+
+MatrixType ::=
+ INTEGER {
+ oneToN (0), -- default
+ oneToOne (1),
+ nToN (2)
+ }
+
+
+MatrixAddressingMode ::=
+ INTEGER {
+ linear (0), -- default
+ nonLinear (1)
+ }
+
+
+ParametersLocation ::=
+ CHOICE {
+ basePath RELATIVE-OID, -- absolute path to node containing parameters for targets, sources and connections
+ inline Integer32 -- subidentifier to node containing parameters for targets, sources and connections
+ }
+
+
+LabelCollection ::=
+ SEQUENCE OF [0] Label
+
+
+Label ::=
+ [APPLICATION 18] IMPLICIT
+ SEQUENCE {
+ basePath [0] RELATIVE-OID,
+ description [1] EmberString
+ }
+
+
+TargetCollection ::=
+ SEQUENCE OF [0] Target
+
+
+Target ::=
+ [APPLICATION 14] IMPLICIT
+ Signal
+
+
+Signal ::=
+ SEQUENCE {
+ number [0] Integer32
+ }
+
+
+SourceCollection ::=
+ SEQUENCE OF [0] Source
+
+
+Source ::=
+ [APPLICATION 15] IMPLICIT
+ Signal
+
+
+ConnectionCollection ::=
+ SEQUENCE OF [0] Connection
+
+
+Connection ::=
+ [APPLICATION 16] IMPLICIT
+ SEQUENCE {
+ target [0] Integer32,
+ sources [1] PackedNumbers OPTIONAL, -- not present or empty array means "none"
+ operation [2] ConnectionOperation OPTIONAL,
+ disposition [3] ConnectionDisposition OPTIONAL
+ }
+
+-- Use case 1: Tally (Provider to consumer)
+-- Connection: { target:1, sources:[5,2], operation:absolute, disposition:tally }
+
+-- Use case 2: Take (Consumer to provider)
+-- Connection: { target:1, sources:[4], operation:absolute|connect|disconnect }
+
+-- Use case 3: TakeResponse (Provider to consumer)
+-- Connection: { target:1, sources:[4], operation:absolute, disposition:modified|pending|locked|... }
+
+
+PackedNumbers ::=
+ RELATIVE-OID
+
+
+ConnectionOperation ::=
+ INTEGER {
+ absolute (0), -- default. sources contains absolute information
+ connect (1), -- nToN only. sources contains sources to add to connection
+ disconnect (2) -- nToN only. sources contains sources to remove from connection
+ }
+
+
+ConnectionDisposition ::=
+ INTEGER {
+ tally (0), -- default
+ modified (1), -- sources contains new current state
+ pending (2), -- sources contains future state
+ locked (3) -- error: target locked. sources contains current state
+ -- more tbd.
+ }
+
+
+QualifiedMatrix ::=
+ [APPLICATION 17] IMPLICIT
+ SEQUENCE {
+ path [0] RELATIVE-OID,
+ contents [1] MatrixContents OPTIONAL,
+ children [2] ElementCollection OPTIONAL,
+ targetList [3] TargetCollection OPTIONAL,
+ sourceList [4] SourceCollection OPTIONAL,
+ connections [5] ConnectionCollection OPTIONAL
+ }
+
+
+-- ======================================================
+--
+-- Function
+--
+-- ======================================================
+
+Function ::=
+ [APPLICATION 19] IMPLICIT
+ SEQUENCE {
+ number [0] Integer32,
+ contents [1] FunctionContents OPTIONAL,
+ children [2] ElementCollection OPTIONAL
+ }
+
+
+QualifiedFunction ::=
+ [APPLICATION 20] IMPLICIT
+ SEQUENCE {
+ path [0] RELATIVE-OID,
+ contents [1] FunctionContents OPTIONAL,
+ children [2] ElementCollection OPTIONAL
+ }
+
+
+FunctionContents ::=
+ SET {
+ identifier [0] EmberString OPTIONAL,
+ description [1] EmberString OPTIONAL,
+ arguments [2] TupleDescription OPTIONAL,
+ result [3] TupleDescription OPTIONAL,
+ templateReference[4] RELATIVE-OID OPTIONAL
+ }
+
+
+TupleDescription ::=
+ SEQUENCE OF [0] TupleItemDescription
+
+
+TupleItemDescription ::=
+ [APPLICATION 21] IMPLICIT
+ SEQUENCE {
+ type [0] ParameterType,
+ name [1] EmberString OPTIONAL
+ }
+
+
+Invocation ::=
+ [APPLICATION 22] IMPLICIT
+ SEQUENCE {
+ invocationId [0] Integer32 OPTIONAL,
+ arguments [1] Tuple OPTIONAL
+ }
+
+
+Tuple ::=
+ SEQUENCE OF [0] Value
+
+
+InvocationResult ::=
+ [APPLICATION 23] IMPLICIT
+ SEQUENCE {
+ invocationId [0] Integer32,
+ success [1] BOOLEAN OPTIONAL,
+ result [2] Tuple OPTIONAL
+ }
+
+
+-- ======================================================
+--
+-- ElementCollection
+--
+-- ======================================================
+
+ElementCollection ::=
+ [APPLICATION 4] IMPLICIT
+ SEQUENCE OF [0] Element
+
+
+Element ::=
+ CHOICE {
+ parameter Parameter,
+ node Node,
+ command Command,
+ matrix Matrix,
+ function Function,
+ template Template
+ }
+
+
+-- ======================================================
+--
+-- Streams
+--
+-- ======================================================
+
+StreamEntry ::=
+ [APPLICATION 5] IMPLICIT
+ SEQUENCE {
+ streamIdentifier [0] Integer32,
+ streamValue [1] Value
+ }
+
+
+StreamCollection ::=
+ [APPLICATION 6] IMPLICIT
+ SEQUENCE OF [0] StreamEntry
+
+
+-- ======================================================
+--
+-- Root
+--
+-- ======================================================
+
+Root ::=
+ [APPLICATION 0]
+ CHOICE {
+ elements RootElementCollection,
+ streams StreamCollection,
+ invocationResult InvocationResult
+ }
+
+
+RootElementCollection ::=
+ [APPLICATION 11] IMPLICIT
+ SEQUENCE OF [0] RootElement
+
+
+RootElement ::=
+ CHOICE {
+ element Element,
+ qualifiedParameter QualifiedParameter,
+ qualifiedNode QualifiedNode,
+ qualifiedMatrix QualifiedMatrix,
+ qualifiedFunction QualifiedFunction,
+ qualifiedTemplate QualifiedTemplate
+ }
+
+
+END
+
diff --git a/epan/dissectors/asn1/glow/glow.cnf b/epan/dissectors/asn1/glow/glow.cnf
new file mode 100644
index 00000000..987f7748
--- /dev/null
+++ b/epan/dissectors/asn1/glow/glow.cnf
@@ -0,0 +1,16 @@
+# Glow conformation file
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.PDU
+Root
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
diff --git a/epan/dissectors/asn1/glow/packet-glow-template.c b/epan/dissectors/asn1/glow/packet-glow-template.c
new file mode 100644
index 00000000..088d3c53
--- /dev/null
+++ b/epan/dissectors/asn1/glow/packet-glow-template.c
@@ -0,0 +1,91 @@
+/* packet-glow.c
+ * Routines for GLOW packet dissection
+ *
+ * Copyright 2018, Gilles Dufour <dufour.gilles@gmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+# include "config.h"
+
+#include <epan/packet.h>
+#include <epan/proto_data.h>
+#include "packet-ber.h"
+
+#define PNAME "Glow"
+#define PSNAME "GLOW"
+#define PFNAME "glow"
+
+void proto_register_glow(void);
+
+static dissector_handle_t glow_handle=NULL;
+static int proto_glow = -1;
+
+#include "packet-glow-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_glow = -1;
+
+#include "packet-glow-ett.c"
+
+#include "packet-glow-fn.c"
+
+static int
+dissect_glow(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ proto_item *glow_item = NULL;
+ proto_tree *glow_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PNAME);
+
+ /* create the glow protocol tree */
+ glow_item = proto_tree_add_item(tree, proto_glow, tvb, 0, -1, ENC_NA);
+ glow_tree = proto_item_add_subtree(glow_item, ett_glow);
+
+ dissect_Root_PDU(tvb, pinfo, glow_tree, data);
+
+ return tvb_captured_length(tvb);
+}
+
+void proto_register_glow(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-glow-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_glow,
+#include "packet-glow-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_glow = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ glow_handle = register_dissector("glow", dissect_glow, proto_glow);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_glow, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+}
+
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/goose/CMakeLists.txt b/epan/dissectors/asn1/goose/CMakeLists.txt
new file mode 100644
index 00000000..6dd70dc6
--- /dev/null
+++ b/epan/dissectors/asn1/goose/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME goose )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/goose/goose.asn b/epan/dissectors/asn1/goose/goose.asn
new file mode 100644
index 00000000..2471e403
--- /dev/null
+++ b/epan/dissectors/asn1/goose/goose.asn
@@ -0,0 +1,143 @@
+IEC61850 DEFINITIONS ::= BEGIN
+
+GOOSEpdu ::= CHOICE {
+ gseMngtPdu [APPLICATION 0] IMPLICIT GSEMngtPdu,
+ goosePdu [APPLICATION 1] IMPLICIT IECGoosePdu,
+ ...
+}
+
+GSEMngtPdu ::= SEQUENCE {
+ stateID [0] IMPLICIT INTEGER,
+-- security [3] ANY OPTIONAL,
+ -- reserved for future definition
+ requestResp RequestResponse
+-- CHOICE {
+-- requests [1] IMPLICIT GSEMngtRequests,
+-- responses [2] IMPLICIT GSEMngtResponses
+-- }
+}
+
+RequestResponse ::= CHOICE {
+ requests [1] IMPLICIT GSEMngtRequests,
+ responses [2] IMPLICIT GSEMngtResponses
+}
+
+GSEMngtRequests ::= CHOICE {
+ getGoReference [1] IMPLICIT GetReferenceRequestPdu,
+ getGOOSEElementNumber [2] IMPLICIT GetElementRequestPdu,
+ getGsReference [3] IMPLICIT GetReferenceRequestPdu,
+ getGSSEDataOffset [4] IMPLICIT GetElementRequestPdu,
+ ...
+}
+
+GSEMngtResponses ::= CHOICE {
+ gseMngtNotSupported [0] IMPLICIT NULL,
+ getGoReference [1] IMPLICIT GSEMngtResponsePdu,
+ getGOOSEElementNumber [2] IMPLICIT GSEMngtResponsePdu,
+ getGsReference [3] IMPLICIT GSEMngtResponsePdu,
+ getGSSEDataOffset [4] IMPLICIT GSEMngtResponsePdu,
+ ...
+}
+
+GetReferenceRequestPdu ::= SEQUENCE {
+ ident [0] IMPLICIT VisibleString, -- size shall support up to 65 octets
+ offset [1] IMPLICIT SEQUENCE OF INTEGER,
+ ...
+}
+
+GetElementRequestPdu ::= SEQUENCE {
+ ident [0] IMPLICIT VisibleString, -- size shall support up to 65 octets
+ references [1] IMPLICIT SEQUENCE OF VisibleString,
+ ...
+}
+
+GSEMngtResponsePdu ::= SEQUENCE {
+ ident [0] IMPLICIT VisibleString, -- echos the value of the request
+ confRev [1] IMPLICIT INTEGER OPTIONAL,
+ posNeg PositiveNegative,
+-- CHOICE {
+-- responsePositive [2] IMPLICIT SEQUENCE {
+-- datSet [0] IMPLICIT VisibleString OPTIONAL,
+-- result [1] IMPLICIT SEQUENCE OF RequestResults
+-- },
+-- responseNegative [3] IMPLICIT GlbErrors
+-- },
+ ...
+}
+
+PositiveNegative ::= CHOICE {
+ responsePositive [2] IMPLICIT SEQUENCE {
+ datSet [0] IMPLICIT VisibleString OPTIONAL,
+ result [1] IMPLICIT SEQUENCE OF RequestResults
+ },
+ responseNegative [3] IMPLICIT GlbErrors
+}
+
+RequestResults::= CHOICE {
+ offset [0] IMPLICIT INTEGER,
+ reference [1] IMPLICIT IA5String,
+ error [2] IMPLICIT ErrorReason
+}
+
+GlbErrors ::= INTEGER {
+ other(0),
+ unknownControlBlock(1),
+ responseTooLarge(2),
+ controlBlockConfigurationError(3) --,
+-- ...
+}
+
+ErrorReason ::= INTEGER {
+ other (0),
+ notFound (1) --,
+-- ...
+}
+
+IECGoosePdu ::= SEQUENCE {
+ gocbRef [0] IMPLICIT VisibleString,
+ timeAllowedtoLive [1] IMPLICIT INTEGER,
+ datSet [2] IMPLICIT VisibleString,
+ goID [3] IMPLICIT VisibleString OPTIONAL,
+ t [4] IMPLICIT UtcTime,
+ stNum [5] IMPLICIT INTEGER,
+ sqNum [6] IMPLICIT INTEGER,
+ simulation [7] IMPLICIT BOOLEAN DEFAULT FALSE,
+ confRev [8] IMPLICIT INTEGER,
+ ndsCom [9] IMPLICIT BOOLEAN DEFAULT FALSE,
+ numDatSetEntries [10] IMPLICIT INTEGER,
+ allData [11] IMPLICIT SEQUENCE OF Data --,
+-- security [12] ANY OPTIONAL
+ -- reserved for digital signature
+}
+
+UtcTime ::= OCTET STRING -- format and size defined in 8.1.3.6.
+
+TimeOfDay ::= OCTET STRING -- (SIZE (4 | 6))
+FloatingPoint ::= OCTET STRING
+
+
+Data ::= CHOICE
+ {
+ -- context tag 0 is reserved for AccessResult
+ array [1] IMPLICIT SEQUENCE OF Data,
+ structure [2] IMPLICIT SEQUENCE OF Data,
+ boolean [3] IMPLICIT BOOLEAN,
+ bit-string [4] IMPLICIT BIT STRING,
+ integer [5] IMPLICIT INTEGER,
+ unsigned [6] IMPLICIT INTEGER,
+ floating-point [7] IMPLICIT FloatingPoint,
+ real [8] IMPLICIT REAL,
+ octet-string [9] IMPLICIT OCTET STRING,
+ visible-string [10] IMPLICIT VisibleString,
+ binary-time [12] IMPLICIT TimeOfDay,
+ bcd [13] IMPLICIT INTEGER,
+ booleanArray [14] IMPLICIT BIT STRING,
+ objId [15] IMPLICIT OBJECT IDENTIFIER,
+ ...,
+ mMSString [16] IMPLICIT MMSString,
+ utc-time [17] IMPLICIT UtcTime -- added by IEC61850 8.1 G3
+ }
+
+MMSString ::= UTF8String
+
+END
diff --git a/epan/dissectors/asn1/goose/goose.cnf b/epan/dissectors/asn1/goose/goose.cnf
new file mode 100644
index 00000000..b0c84ffe
--- /dev/null
+++ b/epan/dissectors/asn1/goose/goose.cnf
@@ -0,0 +1,96 @@
+# goose.cnf
+# goose conformation file
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.PDU
+
+#.NO_EMIT ONLY_VALS
+GOOSEpdu
+
+#.FN_BODY IECGoosePdu/simulation VAL_PTR = &value
+ bool value;
+ guint32 len = tvb_reported_length_remaining(tvb, offset);
+ int origin_offset = offset;
+%(DEFAULT_BODY)s
+ if((actx->private_data) && (actx->created_item)){
+ goose_chk_data_t *data_chk = (goose_chk_data_t *)actx->private_data;
+ proto_tree *expert_inf_tree = NULL;
+ /* S bit set and Simulation attribute clear: reject as invalid GOOSE */
+ if((data_chk->s_bit == TRUE) && (value == FALSE)){
+ /* It really looks better showed as a new subtree */
+ expert_inf_tree = proto_item_add_subtree(actx->created_item, ett_expert_inf_sim);
+ proto_tree_add_expert(expert_inf_tree, actx->pinfo, &ei_goose_invalid_sim, tvb, origin_offset, len);
+ }
+ }
+#.END
+
+#.FN_BODY UtcTime
+
+ guint32 len;
+ guint32 seconds;
+ guint32 fraction;
+ guint32 nanoseconds;
+ nstime_t ts;
+ gchar * ptime;
+
+ len = tvb_reported_length_remaining(tvb, offset);
+
+ if(len != 8)
+ {
+ proto_tree_add_expert(tree, actx->pinfo, &ei_goose_mal_utctime, tvb, offset, len);
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, "????");
+ }
+ return offset;
+ }
+
+ seconds = tvb_get_ntohl(tvb, offset);
+ fraction = tvb_get_ntoh24(tvb, offset+4) * 0x100; /* Only 3 bytes are recommended */
+ nanoseconds = (guint32)( ((guint64)fraction * G_GUINT64_CONSTANT(1000000000)) / G_GUINT64_CONSTANT(0x100000000) ) ;
+
+ ts.secs = seconds;
+ ts.nsecs = nanoseconds;
+
+ ptime = abs_time_to_str(actx->pinfo->pool, &ts, ABSOLUTE_TIME_UTC, TRUE);
+
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
+ }
+
+#.END
+
+#.FN_BODY FloatingPoint
+
+ int len = tvb_reported_length_remaining(tvb, offset);
+
+ %(DEFAULT_BODY)s
+ if ((len == FLOAT_ENC_LENGTH) && (tvb_get_guint8(tvb,0) == SINGLE_FLOAT_EXP_BITS) ){
+ /* IEEE 754 single precision floating point */
+ proto_item_set_hidden(actx->created_item);
+ proto_tree_add_item(tree, hf_goose_float_value, tvb, 1, (FLOAT_ENC_LENGTH-1), ENC_BIG_ENDIAN);
+ }
+
+#.END
+
+#.TYPE_ATTR
+UtcTime TYPE = FT_STRING DISPLAY = BASE_NONE
+
+
+#.FIELD_RENAME
+GetReferenceRequestPdu/offset getReferenceRequest_offset
+GSEMngtResponses/getGsReference gseMngtResponses_GetGSReference
+GSEMngtResponses/getGoReference gseMngtResponses_GetGOReference
+GSEMngtResponses/getGSSEDataOffset gseMngtResponses_GetGSSEDataOffset
+GSEMngtResponses/getGOOSEElementNumber gseMngtResponses_GetGOOSEElementNumber
+
+#.FIELD_ATTR
+IECGoosePdu/stNum TYPE = FT_UINT32 DISPLAY = BASE_DEC
+IECGoosePdu/sqNum TYPE = FT_UINT32 DISPLAY = BASE_DEC
+GetReferenceRequestPdu/offset ABBREV=getReferenceRequest.offset
+IECGoosePdu/simulation BLURB = "BOOLEAN"
+#.END
diff --git a/epan/dissectors/asn1/goose/packet-goose-template.c b/epan/dissectors/asn1/goose/packet-goose-template.c
new file mode 100644
index 00000000..70a3914f
--- /dev/null
+++ b/epan/dissectors/asn1/goose/packet-goose-template.c
@@ -0,0 +1,623 @@
+/* packet-goose.c
+ * Routines for IEC 61850 GOOSE packet dissection
+ * Martin Lutz 2008
+ *
+ * Routines for IEC 61850 R-GOOSE packet dissection
+ * Dordije Manojlovic 2020
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+#include <epan/etypes.h>
+#include <epan/expert.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+
+#define GOOSE_PNAME "GOOSE"
+#define GOOSE_PSNAME "GOOSE"
+#define GOOSE_PFNAME "goose"
+
+#define R_GOOSE_PNAME "R-GOOSE"
+#define R_GOOSE_PSNAME "R-GOOSE"
+#define R_GOOSE_PFNAME "r-goose"
+
+void proto_register_goose(void);
+void proto_reg_handoff_goose(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_goose = -1;
+static int proto_r_goose = -1;
+
+static int hf_goose_session_header = -1;
+static int hf_goose_spdu_id = -1;
+static int hf_goose_session_hdr_length = -1;
+static int hf_goose_hdr_length = -1;
+static int hf_goose_content_id = -1;
+static int hf_goose_spdu_lenth = -1;
+static int hf_goose_spdu_num = -1;
+static int hf_goose_version = -1;
+static int hf_goose_security_info = -1;
+static int hf_goose_current_key_t = -1;
+static int hf_goose_next_key_t = -1;
+static int hf_goose_key_id = -1;
+static int hf_goose_init_vec_length = -1;
+static int hf_goose_init_vec = -1;
+static int hf_goose_session_user_info = -1;
+static int hf_goose_payload = -1;
+static int hf_goose_payload_length = -1;
+static int hf_goose_apdu_tag = -1;
+static int hf_goose_apdu_simulation = -1;
+static int hf_goose_apdu_appid = -1;
+static int hf_goose_apdu_length = -1;
+static int hf_goose_padding_tag = -1;
+static int hf_goose_padding_length = -1;
+static int hf_goose_padding = -1;
+static int hf_goose_hmac = -1;
+static int hf_goose_appid = -1;
+static int hf_goose_length = -1;
+static int hf_goose_reserve1 = -1;
+static int hf_goose_reserve1_s_bit = -1;
+static int hf_goose_reserve2 = -1;
+static int hf_goose_float_value = -1;
+
+
+/* Bit fields in the Reserved fields */
+#define F_RESERVE1_S_BIT 0x8000
+
+/* GOOSE stored data for expert info verifications */
+typedef struct _goose_chk_data{
+ gboolean s_bit;
+}goose_chk_data_t;
+#define GOOSE_CHK_DATA_LEN (sizeof(goose_chk_data_t))
+
+static expert_field ei_goose_mal_utctime = EI_INIT;
+static expert_field ei_goose_zero_pdu = EI_INIT;
+static expert_field ei_goose_invalid_sim = EI_INIT;
+
+#define SINGLE_FLOAT_EXP_BITS 8
+#define FLOAT_ENC_LENGTH 5
+
+#include "packet-goose-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_r_goose = -1;
+static int ett_session_header = -1;
+static int ett_security_info = -1;
+static int ett_session_user_info = -1;
+static int ett_payload = -1;
+static int ett_padding = -1;
+static int ett_goose = -1;
+static int ett_reserve1 = -1;
+static int ett_expert_inf_sim = -1;
+
+#include "packet-goose-ett.c"
+
+#include "packet-goose-fn.c"
+
+static dissector_handle_t goose_handle = NULL;
+static dissector_handle_t ositp_handle = NULL;
+
+
+#define OSI_SPDU_TUNNELED 0xA0 /* Tunneled */
+#define OSI_SPDU_GOOSE 0xA1 /* GOOSE */
+#define OSI_SPDU_SV 0xA2 /* Sample Value */
+#define OSI_SPDU_MNGT 0xA3 /* Management */
+
+static const value_string ositp_spdu_id[] = {
+ { OSI_SPDU_TUNNELED, "Tunneled" },
+ { OSI_SPDU_GOOSE, "GOOSE" },
+ { OSI_SPDU_SV, "Sample value" },
+ { OSI_SPDU_MNGT, "Management" },
+ { 0, NULL }
+};
+
+#define OSI_PDU_GOOSE 0x81
+#define OSI_PDU_SV 0x82
+#define OSI_PDU_TUNNELED 0x83
+#define OSI_PDU_MNGT 0x84
+
+static const value_string ositp_pdu_id[] = {
+ { OSI_PDU_GOOSE, "GOOSE" },
+ { OSI_PDU_SV, "SV" },
+ { OSI_PDU_TUNNELED, "Tunnel" },
+ { OSI_PDU_MNGT, "MNGT" },
+ { 0, NULL }
+};
+
+#define APDU_HEADER_SIZE 6
+
+/*
+* Dissect GOOSE PDUs inside a PPDU.
+*/
+static int
+dissect_goose(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
+ void* data _U_)
+{
+ guint32 offset = 0;
+ guint32 old_offset;
+ guint32 length;
+ guint32 reserve1_val;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ goose_chk_data_t *data_chk = NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ static int * const reserve1_flags[] = {
+ &hf_goose_reserve1_s_bit,
+ NULL
+ };
+
+ asn1_ctx.private_data = wmem_alloc(pinfo->pool, GOOSE_CHK_DATA_LEN);
+ data_chk = (goose_chk_data_t *)asn1_ctx.private_data;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, GOOSE_PNAME);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ item = proto_tree_add_item(parent_tree, proto_goose, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_goose);
+ add_ber_encoded_label(tvb, pinfo, parent_tree);
+
+
+ /* APPID */
+ proto_tree_add_item(tree, hf_goose_appid, tvb, offset, 2, ENC_BIG_ENDIAN);
+
+ /* Length */
+ proto_tree_add_item_ret_uint(tree, hf_goose_length, tvb, offset + 2, 2,
+ ENC_BIG_ENDIAN, &length);
+
+ /* Reserved 1 */
+ reserve1_val = tvb_get_guint16(tvb, offset + 4, ENC_BIG_ENDIAN);
+ proto_tree_add_bitmask_value(tree, tvb, offset + 4, hf_goose_reserve1, ett_reserve1,
+ reserve1_flags, reserve1_val);
+
+ /* Store the header sim value for later expert info checks */
+ if(data_chk){
+ if(reserve1_val & F_RESERVE1_S_BIT){
+ data_chk->s_bit = TRUE;
+ }else{
+ data_chk->s_bit = FALSE;
+ }
+ }
+
+
+ /* Reserved 2 */
+ proto_tree_add_item(tree, hf_goose_reserve2, tvb, offset + 6, 2,
+ ENC_BIG_ENDIAN);
+
+ offset = 8;
+ while (offset < length){
+ old_offset = offset;
+ offset = dissect_goose_GOOSEpdu(FALSE, tvb, offset, &asn1_ctx , tree, -1);
+ if (offset == old_offset) {
+ proto_tree_add_expert(tree, pinfo, &ei_goose_zero_pdu, tvb, offset, -1);
+ break;
+ }
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+/*
+* Dissect RGOOSE PDUs inside ISO 8602/X.234 CLTP ConnecteionLess
+* Transport Protocol.
+*/
+static int
+dissect_rgoose(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
+ void* data _U_)
+{
+ guint offset = 0, old_offset = 0;
+ guint32 init_v_length, payload_tag, padding_length, length;
+ guint32 payload_length, apdu_offset = 0, apdu_length, apdu_simulation;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL, *r_goose_tree = NULL, *sess_user_info_tree = NULL;
+ goose_chk_data_t *data_chk = NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ asn1_ctx.private_data = wmem_alloc(pinfo->pool, GOOSE_CHK_DATA_LEN);
+ data_chk = (goose_chk_data_t *)asn1_ctx.private_data;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, R_GOOSE_PNAME);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ item = proto_tree_add_item(parent_tree, proto_r_goose, tvb, 0, -1, ENC_NA);
+ r_goose_tree = proto_item_add_subtree(item, ett_r_goose);
+
+ /* Session header subtree */
+ item = proto_tree_add_item(r_goose_tree, hf_goose_session_header, tvb, 0,
+ -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_session_header);
+
+ /* SPDU ID */
+ proto_tree_add_item(tree, hf_goose_spdu_id, tvb, offset++, 1,
+ ENC_BIG_ENDIAN);
+ /* Session header length */
+ proto_tree_add_item_ret_uint(tree, hf_goose_session_hdr_length, tvb, offset++, 1,
+ ENC_BIG_ENDIAN, &length);
+ proto_item_set_len(item, length + 2);
+
+ /* Header content indicator */
+ proto_tree_add_item(tree, hf_goose_content_id, tvb, offset++, 1,
+ ENC_BIG_ENDIAN);
+ /* Length */
+ proto_tree_add_item(tree, hf_goose_hdr_length, tvb, offset++, 1,
+ ENC_BIG_ENDIAN);
+ /* SPDU length */
+ proto_tree_add_item(tree, hf_goose_spdu_lenth, tvb, offset, 4,
+ ENC_BIG_ENDIAN);
+ offset += 4;
+ /* SPDU number */
+ proto_tree_add_item(tree, hf_goose_spdu_num, tvb, offset, 4,
+ ENC_BIG_ENDIAN);
+ offset += 4;
+ /* Version */
+ proto_tree_add_item(tree, hf_goose_version, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
+
+ /* Security information subtree */
+ item = proto_tree_add_item(tree, hf_goose_security_info, tvb, offset, -1,
+ ENC_NA);
+ tree = proto_item_add_subtree(item, ett_security_info);
+ /* Time of current key */
+ proto_tree_add_item(tree, hf_goose_current_key_t, tvb, offset, 4,
+ ENC_BIG_ENDIAN);
+ offset += 4;
+ /* Time of next key */
+ proto_tree_add_item(tree, hf_goose_next_key_t, tvb, offset, 2,
+ ENC_BIG_ENDIAN);
+ offset += 2;
+ /* Key ID */
+ proto_tree_add_item(tree, hf_goose_key_id, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+ /* Initialization vector length */
+ proto_tree_add_item_ret_uint(tree, hf_goose_init_vec_length, tvb, offset++, 1,
+ ENC_BIG_ENDIAN, &init_v_length);
+ proto_item_set_len(item, init_v_length + 11);
+
+ if (init_v_length > 0) {
+ /* Initialization vector bytes */
+ proto_tree_add_item(tree, hf_goose_init_vec, tvb, offset, init_v_length,
+ ENC_NA);
+ }
+ offset += init_v_length;
+
+ /* Session user information subtree */
+ item = proto_tree_add_item(r_goose_tree, hf_goose_session_user_info, tvb,
+ offset, -1, ENC_NA);
+ sess_user_info_tree = proto_item_add_subtree(item, ett_payload);
+
+ /* Payload subtree */
+ item = proto_tree_add_item(sess_user_info_tree, hf_goose_payload, tvb,
+ offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_payload);
+ /* Payload length */
+ proto_tree_add_item_ret_uint(tree, hf_goose_payload_length, tvb, offset, 4,
+ ENC_BIG_ENDIAN, &payload_length);
+ offset += 4;
+
+ while (apdu_offset < payload_length){
+ /* APDU tag */
+ proto_tree_add_item_ret_uint(tree, hf_goose_apdu_tag, tvb, offset++, 1,
+ ENC_BIG_ENDIAN, &payload_tag);
+ /* Simulation flag */
+ proto_tree_add_item_ret_uint(tree, hf_goose_apdu_simulation, tvb, offset++,
+ 1, ENC_BIG_ENDIAN, &apdu_simulation);
+ /* APPID */
+ proto_tree_add_item(tree, hf_goose_apdu_appid, tvb, offset, 2,
+ ENC_BIG_ENDIAN);
+ offset += 2;
+
+ if (payload_tag != OSI_PDU_GOOSE) {
+ return tvb_captured_length(tvb);
+ }
+
+ /* Store the header sim value for later expert info checks */
+ if(data_chk){
+ if(apdu_simulation){
+ data_chk->s_bit = TRUE;
+ }else{
+ data_chk->s_bit = FALSE;
+ }
+ }
+
+ /* APDU length */
+ proto_tree_add_item_ret_uint(tree, hf_goose_apdu_length, tvb, offset, 2,
+ ENC_BIG_ENDIAN, &apdu_length);
+
+ apdu_offset += (APDU_HEADER_SIZE + apdu_length);
+ offset += 2;
+
+ old_offset = offset;
+ offset = dissect_goose_GOOSEpdu(FALSE, tvb, offset, &asn1_ctx , tree, -1);
+ if (offset == old_offset) {
+ proto_tree_add_expert(tree, pinfo, &ei_goose_zero_pdu, tvb, offset, -1);
+ break;
+ }
+ }
+
+ /* Check do we have padding bytes */
+ if ((tvb_captured_length(tvb) > offset) &&
+ (tvb_get_guint8(tvb, offset) == 0xAF)) {
+ /* Padding subtree */
+ item = proto_tree_add_item(sess_user_info_tree, hf_goose_padding, tvb,
+ offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_padding);
+
+ /* Padding tag */
+ proto_tree_add_item(tree, hf_goose_padding_tag, tvb, offset++, 1,
+ ENC_NA);
+ /* Padding length */
+ proto_tree_add_item_ret_uint(tree, hf_goose_padding_length, tvb, offset++, 1,
+ ENC_BIG_ENDIAN, &padding_length);
+ proto_item_set_len(item, padding_length + 1);
+
+ /* Padding bytes */
+ proto_tree_add_item(tree, hf_goose_padding, tvb, offset, padding_length,
+ ENC_NA);
+ offset += padding_length;
+ }
+
+ /* Check do we have HMAC bytes */
+ if (tvb_captured_length(tvb) > offset) {
+ /* HMAC bytes */
+ proto_tree_add_item(sess_user_info_tree, hf_goose_hmac, tvb, offset,
+ tvb_captured_length(tvb) - offset, ENC_NA);
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+static gboolean
+dissect_rgoose_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
+ void *data)
+{
+ guint8 spdu;
+
+ /* Check do we have at least min size of Session header bytes */
+ if (tvb_captured_length(tvb) < 27) {
+ return FALSE;
+ }
+
+ /* Is it R-GOOSE? */
+ spdu = tvb_get_guint8(tvb, 0);
+ if (spdu != OSI_SPDU_GOOSE) {
+ return FALSE;
+ }
+
+ dissect_rgoose(tvb, pinfo, parent_tree, data);
+ return TRUE;
+}
+
+static gboolean
+dissect_cltp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
+ void *data _U_)
+{
+ guint8 li, tpdu, spdu;
+
+ /* First, check do we have at least 2 bytes (length + tpdu) */
+ if (tvb_captured_length(tvb) < 2) {
+ return FALSE;
+ }
+
+ li = tvb_get_guint8(tvb, 0);
+
+ /* Is it OSI on top of the UDP? */
+ tpdu = (tvb_get_guint8(tvb, 1) & 0xF0) >> 4;
+ if (tpdu != 0x4) {
+ return FALSE;
+ }
+
+ /* Check do we have SPDU ID byte, too */
+ if (tvb_captured_length(tvb) < (guint) (li + 2)) {
+ return FALSE;
+ }
+
+ /* And let's see if it is GOOSE SPDU */
+ spdu = tvb_get_guint8(tvb, li + 1);
+ if (spdu != OSI_SPDU_GOOSE) {
+ return FALSE;
+ }
+
+ call_dissector(ositp_handle, tvb, pinfo, parent_tree);
+ return TRUE;
+}
+
+
+/*--- proto_register_goose -------------------------------------------*/
+void proto_register_goose(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+ { &hf_goose_session_header,
+ { "Session header", "rgoose.session_hdr",
+ FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_spdu_id,
+ { "Session identifier", "rgoose.spdu_id",
+ FT_UINT8, BASE_HEX_DEC, VALS(ositp_spdu_id), 0x0, NULL, HFILL }},
+
+ { &hf_goose_session_hdr_length,
+ { "Session header length", "rgoose.session_hdr_len",
+ FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_content_id,
+ { "Common session header identifier", "rgoose.common_session_id",
+ FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_hdr_length,
+ { "Header length", "rgoose.hdr_len",
+ FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_spdu_lenth,
+ { "SPDU length", "rgoose.spdu_len",
+ FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_spdu_num,
+ { "SPDU number", "rgoose.spdu_num",
+ FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_version,
+ { "Version", "rgoose.version",
+ FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_security_info,
+ { "Security information", "rgoose.sec_info",
+ FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_current_key_t,
+ { "Time of current key", "rgoose.curr_key_t",
+ FT_UINT32, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_next_key_t,
+ { "Time of next key", "rgoose.next_key_t",
+ FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_key_id,
+ { "Key ID", "rgoose.key_id",
+ FT_UINT32, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_init_vec_length,
+ { "Initialization vector length", "rgoose.init_v_len",
+ FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_init_vec,
+ { "Initialization vector", "rgoose.init_v",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_session_user_info,
+ { "Session user information", "rgoose.session_user_info",
+ FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_payload,
+ { "Payload", "rgoose.payload",
+ FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_payload_length,
+ { "Payload length", "rgoose.payload_len",
+ FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_apdu_tag,
+ { "Payload type tag", "rgoose.pdu_tag",
+ FT_UINT8, BASE_HEX_DEC, VALS(ositp_pdu_id), 0x0, NULL, HFILL }},
+
+ { &hf_goose_apdu_simulation,
+ { "Simulation flag", "rgoose.simulation",
+ FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_apdu_appid,
+ { "APPID", "rgoose.appid",
+ FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_apdu_length,
+ { "APDU length", "rgoose.apdu_len",
+ FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_padding_tag,
+ { "Padding", "rgoose.padding_tag",
+ FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_padding_length,
+ { "Padding length", "rgoose.padding_len",
+ FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_padding,
+ { "Padding", "rgoose.padding",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_hmac,
+ { "HMAC", "rgoose.hmac",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_appid,
+ { "APPID", "goose.appid",
+ FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_length,
+ { "Length", "goose.length",
+ FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_reserve1,
+ { "Reserved 1", "goose.reserve1",
+ FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_reserve1_s_bit,
+ { "Simulated", "goose.reserve1.s_bit",
+ FT_BOOLEAN, 16, NULL, F_RESERVE1_S_BIT, NULL, HFILL } },
+
+ { &hf_goose_reserve2,
+ { "Reserved 2", "goose.reserve2",
+ FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_goose_float_value,
+ { "float value", "goose.float_value",
+ FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+
+ #include "packet-goose-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_r_goose,
+ &ett_session_header,
+ &ett_security_info,
+ &ett_session_user_info,
+ &ett_payload,
+ &ett_padding,
+ &ett_goose,
+ &ett_reserve1,
+ &ett_expert_inf_sim,
+ #include "packet-goose-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_goose_mal_utctime,
+ { "goose.malformed.utctime", PI_MALFORMED, PI_WARN,
+ "BER Error: malformed UTCTime encoding", EXPFILL }},
+ { &ei_goose_zero_pdu,
+ { "goose.zero_pdu", PI_PROTOCOL, PI_ERROR,
+ "Internal error, zero-byte GOOSE PDU", EXPFILL }},
+ { &ei_goose_invalid_sim,
+ { "goose.invalid_sim", PI_PROTOCOL, PI_WARN,
+ "Invalid GOOSE: S bit set and Simulation attribute clear", EXPFILL }},
+ };
+
+ expert_module_t* expert_goose;
+
+ /* Register protocol */
+ proto_goose = proto_register_protocol(GOOSE_PNAME, GOOSE_PSNAME, GOOSE_PFNAME);
+ proto_r_goose = proto_register_protocol(R_GOOSE_PNAME, R_GOOSE_PSNAME, R_GOOSE_PFNAME);
+
+ goose_handle = register_dissector("goose", dissect_goose, proto_goose);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_goose, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_goose = expert_register_protocol(proto_goose);
+ expert_register_field_array(expert_goose, ei, array_length(ei));
+
+}
+
+/*--- proto_reg_handoff_goose --- */
+void proto_reg_handoff_goose(void) {
+
+ dissector_add_uint("ethertype", ETHERTYPE_IEC61850_GOOSE, goose_handle);
+
+ ositp_handle = find_dissector_add_dependency("ositp", proto_goose);
+
+ heur_dissector_add("udp", dissect_cltp_heur,
+ "CLTP over UDP", "cltp_udp", proto_goose, HEURISTIC_ENABLE);
+ heur_dissector_add("cltp", dissect_rgoose_heur,
+ "R-GOOSE (GOOSE over CLTP)", "rgoose_cltp", proto_goose, HEURISTIC_ENABLE);
+}
diff --git a/epan/dissectors/asn1/gprscdr/CMakeLists.txt b/epan/dissectors/asn1/gprscdr/CMakeLists.txt
new file mode 100644
index 00000000..84242ad3
--- /dev/null
+++ b/epan/dissectors/asn1/gprscdr/CMakeLists.txt
@@ -0,0 +1,45 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME gprscdr )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ GenericChargingDataTypes.asn
+ GPRSChargingDataTypesV641.asn
+ GPRSChargingDataTypes.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../gsm_map/gsm_map-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypes.asn b/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypes.asn
new file mode 100644
index 00000000..016086db
--- /dev/null
+++ b/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypes.asn
@@ -0,0 +1,1490 @@
+--
+-- 3GPP TS 32.298 v18.2.0 (2023-06-23)
+--
+GPRSChargingDataTypes {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) charging (5) gprsChargingDataTypes (2) asn1Module (0) version2 (1)}
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS everything
+
+IMPORTS
+
+-- AddressString,
+CallDuration,
+CallingNumber,
+CauseForRecClosing,
+CellId,
+ChargingID,
+CivicAddressInformation,
+Diagnostics,
+DiameterIdentity,
+DynamicAddressFlag,
+EnhancedDiagnostics,
+-- GSNAddress,
+InvolvedParty,
+IPAddress,
+LCSCause,
+LCSClientIdentity,
+LCSQoSInfo,
+LevelOfCAMELService,
+LocalSequenceNumber,
+LocationAreaAndCell,
+LocationAreaCode,
+ManagementExtensions,
+MBMSInformation,
+MessageReference,
+MSISDN,
+MSTimeZone,
+NodeID,
+PDPAddress,
+PLMN-Id,
+PositioningData,
+PSCellInformation,
+RATType,
+RecordingEntity,
+RecordType,
+RoutingAreaCode,
+SCSASAddress,
+ServiceSpecificInfo,
+SMSResult,
+SmsTpDestinationNumber,
+SubscriptionID,
+ThreeGPPPSDataOffStatus,
+TimeStamp
+FROM GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version2 (1)}
+
+DefaultGPRS-Handling,
+DefaultSMS-Handling,
+NotificationToMSUser,
+ServiceKey
+FROM MAP-MS-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0)
+gsm-Network (1) modules (3) map-MS-DataTypes (11) version18 (18)}
+-- from TS 29.002 [214]
+
+IMEI,
+IMSI,
+ISDN-AddressString,
+RAIdentity
+FROM MAP-CommonDataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0)gsm-Network (1) modules (3) map-CommonDataTypes (18) version18 (18)}
+-- from TS 29.002 [214]
+
+CallReferenceNumber
+FROM MAP-CH-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0)gsm-Network (1) modules (3) map-CH-DataTypes (13) version18 (18)}
+-- from TS 29.002 [214]
+
+Ext-GeographicalInformation,
+LCSClientType,
+LCS-Priority,
+LocationType
+FROM MAP-LCS-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-LCS-DataTypes (25) version18 (18) }
+-- from TS 29.002 [214]
+
+LocationMethod
+FROM SS-DataTypes {itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) ss-DataTypes (2) version14 (14)}
+-- from TS 24.080 [209]
+
+;
+
+--
+-- GPRS RECORDS
+--
+
+GPRSRecord ::= CHOICE
+--
+-- Record values 20, 22..27 are specific
+-- Record values 76, 77, 86 are MBMS specific
+-- Record values 78,79 and 92, 95, 96 are EPC specific
+--
+{
+ sgsnPDPRecord [20] SGSNPDPRecord,
+-- WS backward compabillity addition
+ ggsnPDPRecord [21] GGSNPDPRecordV750,
+-- WS mod END
+ sgsnMMRecord [22] SGSNMMRecord,
+ sgsnSMORecord [23] SGSNSMORecord,
+ sgsnSMTRecord [24] SGSNSMTRecord,
+ sgsnMTLCSRecord [25] SGSNMTLCSRecord,
+ sgsnMOLCSRecord [26] SGSNMOLCSRecord,
+ sgsnNILCSRecord [27] SGSNNILCSRecord,
+
+-- WS backward compabillity addition
+ egsnPDPRecord [70] EGSNPDPRecordV750,
+-- WS mod END
+ sgsnMBMSRecord [76] SGSNMBMSRecord,
+ ggsnMBMSRecord [77] GGSNMBMSRecord,
+ sGWRecord [78] SGWRecord,
+ pGWRecord [79] PGWRecord,
+
+ gwMBMSRecord [86] GWMBMSRecord,
+
+ tDFRecord [92] TDFRecord,
+
+ iPERecord [95] IPERecord,
+ ePDGRecord [96] EPDGRecord,
+ tWAGRecord [97] TWAGRecord
+}
+
+SGWRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ s-GWAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ servingNodeAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ sGWChange [34] SGWChange OPTIONAL,
+ servingNodeType [35] SEQUENCE OF ServingNodeType,
+ p-GWAddressUsed [36] GSNAddress OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ pDNConnectionChargingID [40] ChargingID OPTIONAL,
+ iMSIunauthenticatedFlag [41] NULL OPTIONAL,
+ userCSGInformation [42] UserCSGInformation OPTIONAL,
+ servedPDPPDNAddressExt [43] PDPAddress OPTIONAL,
+ lowPriorityIndicator [44] NULL OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ s-GWiPv6Address [48] GSNAddress OPTIONAL,
+ servingNodeiPv6Address [49] SEQUENCE OF GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ retransmission [51] NULL OPTIONAL,
+ userLocationInfoTime [52] TimeStamp OPTIONAL,
+ cNOperatorSelectionEnt [53] CNOperatorSelectionEntity OPTIONAL,
+ presenceReportingAreaInfo [54] PresenceReportingAreaInfo OPTIONAL,
+ lastUserLocationInformation [55] OCTET STRING OPTIONAL,
+ lastMSTimeZone [56] MSTimeZone OPTIONAL,
+ enhancedDiagnostics [57] EnhancedDiagnostics OPTIONAL,
+ cPCIoTEPSOptimisationIndicator [59] CPCIoTEPSOptimisationIndicator OPTIONAL,
+ uNIPDUCPOnlyFlag [60] UNIPDUCPOnlyFlag OPTIONAL,
+ servingPLMNRateControl [61] ServingPLMNRateControl OPTIONAL,
+ pDPPDNTypeExtension [62] PDPPDNTypeExtension OPTIONAL,
+ mOExceptionDataCounter [63] MOExceptionDataCounter OPTIONAL,
+ listOfRANSecondaryRATUsageReports [64] SEQUENCE OF RANSecondaryRATUsageReport OPTIONAL,
+ pSCellInformation [65] PSCellInformation OPTIONAL
+
+}
+
+PGWRecord ::= SET
+--
+-- List of traffic volumes is only applicable when Charging per IP-CAN session is active and
+-- IP-CAN bearer charging is being performed for the session.
+--
+-- EPC QoS Information is only applicable when Charging per IP-CAN session is active.
+--
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ p-GWAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ servingNodeAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL,
+ pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ cAMELChargingInformation [33] OCTET STRING OPTIONAL,
+ listOfServiceData [34] SEQUENCE OF ChangeOfServiceCondition OPTIONAL,
+ servingNodeType [35] SEQUENCE OF ServingNodeType,
+ servedMNNAI [36] SubscriptionID OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ served3gpp2MEID [40] OCTET STRING OPTIONAL,
+ pDNConnectionChargingID [41] ChargingID OPTIONAL,
+ iMSIunauthenticatedFlag [42] NULL OPTIONAL,
+ userCSGInformation [43] UserCSGInformation OPTIONAL,
+ threeGPP2UserLocationInformation [44] OCTET STRING OPTIONAL,
+ servedPDPPDNAddressExt [45] PDPAddress OPTIONAL,
+ lowPriorityIndicator [46] NULL OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ servingNodeiPv6Address [49] SEQUENCE OF GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ tWANUserLocationInformation [51] TWANUserLocationInfo OPTIONAL,
+ retransmission [52] NULL OPTIONAL,
+ userLocationInfoTime [53] TimeStamp OPTIONAL,
+ cNOperatorSelectionEnt [54] CNOperatorSelectionEntity OPTIONAL,
+ ePCQoSInformation [55] EPCQoSInformation OPTIONAL,
+ presenceReportingAreaInfo [56] PresenceReportingAreaInfo OPTIONAL,
+ lastUserLocationInformation [57] OCTET STRING OPTIONAL,
+ lastMSTimeZone [58] MSTimeZone OPTIONAL,
+ enhancedDiagnostics [59] EnhancedDiagnostics OPTIONAL,
+ nBIFOMMode [60] NBIFOMMode OPTIONAL,
+ nBIFOMSupport [61] NBIFOMSupport OPTIONAL,
+ uWANUserLocationInformation [62] UWANUserLocationInfo OPTIONAL,
+ sGiPtPTunnellingMethod [64] SGiPtPTunnellingMethod OPTIONAL,
+ uNIPDUCPOnlyFlag [65] UNIPDUCPOnlyFlag OPTIONAL,
+ servingPLMNRateControl [66] ServingPLMNRateControl OPTIONAL,
+ aPNRateControl [67] APNRateControl OPTIONAL,
+ pDPPDNTypeExtension [68] PDPPDNTypeExtension OPTIONAL,
+ mOExceptionDataCounter [69] MOExceptionDataCounter OPTIONAL,
+ chargingPerIPCANSessionIndicator [70] ChargingPerIPCANSessionIndicator OPTIONAL,
+ threeGPPPSDataOffStatus [71] ThreeGPPPSDataOffStatus OPTIONAL,
+ sCSASAddress [72] SCSASAddress OPTIONAL,
+ listOfRANSecondaryRATUsageReports [73] SEQUENCE OF RANSecondaryRATUsageReport OPTIONAL
+}
+
+TDFRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ p-GWAddress [4] GSNAddress,
+ servingNodeAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL,
+ pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ listOfServiceData [34] SEQUENCE OF ChangeOfServiceCondition OPTIONAL,
+ servingNodeType [35] SEQUENCE OF ServingNodeType,
+ servedMNNAI [36] SubscriptionID OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ served3gpp2MEID [40] OCTET STRING OPTIONAL,
+ pDNConnectionChargingID [41] ChargingID,
+ userCSGInformation [43] UserCSGInformation OPTIONAL,
+ threeGPP2UserLocationInformation [44] OCTET STRING OPTIONAL,
+ servedPDPPDNAddressExt [45] PDPAddress OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ servingNodeiPv6Address [49] SEQUENCE OF GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ tWANUserLocationInformation [51] TWANUserLocationInfo OPTIONAL,
+ retransmission [52] NULL OPTIONAL,
+ tDFAddress [53] GSNAddress,
+ tDFiPv6AddressUsed [54] GSNAddress OPTIONAL,
+ tDFPLMNIdentifier [55] PLMN-Id OPTIONAL,
+ servedFixedSubsID [56] FixedSubsID OPTIONAL,
+ accessLineIdentifier [57] AccessLineIdentifier OPTIONAL,
+ fixedUserLocationInformation [59] FixedUserLocationInformation OPTIONAL
+}
+
+IPERecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ iPEdgeAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ iPCANsessionType [8] PDPType OPTIONAL,
+ servedIPCANsessionAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ listOfServiceData [34] SEQUENCE OF ChangeOfServiceCondition OPTIONAL,
+ servedMNNAI [36] SubscriptionID OPTIONAL,
+ iPEdgeOperatorIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ servedIPCANsessionAddressExt [45] PDPAddress OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ iPEdgeiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ retransmission [52] NULL OPTIONAL,
+ servedFixedSubsID [55] FixedSubsID OPTIONAL,
+ accessLineIdentifier [56] AccessLineIdentifier OPTIONAL,
+ fixedUserLocationInformation [57] FixedUserLocationInformation OPTIONAL
+}
+
+EPDGRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ ePDGAddressUsed [4] GSNAddress,
+ chargingID [5] ChargingID,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ sGWChange [34] SGWChange OPTIONAL,
+ p-GWAddressUsed [36] GSNAddress OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ pDNConnectionChargingID [40] ChargingID OPTIONAL,
+ servedPDPPDNAddressExt [43] PDPAddress OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ ePDGiPv6AddressUsed [48] GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ retransmission [51] NULL OPTIONAL,
+ enhancedDiagnostics [52] EnhancedDiagnostics OPTIONAL,
+ uWANUserLocationInformation [53] UWANUserLocationInfo OPTIONAL,
+ userLocationInfoTime [54] TimeStamp OPTIONAL,
+ iMSIunauthenticatedFlag [55] NULL OPTIONAL
+}
+
+TWAGRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [3] IMSI OPTIONAL,
+ tWAGAddressUsed [4] GSNAddress,
+ chargingID [5] ChargingID,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpPDNType [8] PDPType OPTIONAL,
+ servedPDPPDNAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ servedIMEI [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ sGWChange [34] SGWChange OPTIONAL,
+ p-GWAddressUsed [36] GSNAddress OPTIONAL,
+ p-GWPLMNIdentifier [37] PLMN-Id OPTIONAL,
+ startTime [38] TimeStamp OPTIONAL,
+ stopTime [39] TimeStamp OPTIONAL,
+ pDNConnectionChargingID [40] ChargingID OPTIONAL,
+ servedPDPPDNAddressExt [43] PDPAddress OPTIONAL,
+ dynamicAddressFlagExt [47] DynamicAddressFlag OPTIONAL,
+ tWAGiPv6AddressUsed [48] GSNAddress OPTIONAL,
+ p-GWiPv6AddressUsed [50] GSNAddress OPTIONAL,
+ retransmission [51] NULL OPTIONAL,
+ enhancedDiagnostics [52] EnhancedDiagnostics OPTIONAL,
+ tWANUserLocationInformation [53] TWANUserLocationInfo OPTIONAL,
+ iMSIunauthenticatedFlag [54] NULL OPTIONAL
+}
+
+SGSNMMRecord ::= SET
+{
+ recordType [0] RecordType,
+ servedIMSI [1] IMSI,
+ servedIMEI [2] IMEI OPTIONAL,
+ sgsnAddress [3] GSNAddress OPTIONAL,
+ msNetworkCapability [4] MSNetworkCapability OPTIONAL,
+ routingArea [5] RoutingAreaCode OPTIONAL,
+ locationAreaCode [6] LocationAreaCode OPTIONAL,
+ cellIdentifier [7] CellId OPTIONAL,
+ changeLocation [8] SEQUENCE OF ChangeLocation OPTIONAL,
+ recordOpeningTime [9] TimeStamp,
+ duration [10] CallDuration OPTIONAL,
+ sgsnChange [11] SGSNChange OPTIONAL,
+ causeForRecClosing [12] CauseForRecClosing,
+ diagnostics [13] Diagnostics OPTIONAL,
+ recordSequenceNumber [14] INTEGER OPTIONAL,
+ nodeID [15] NodeID OPTIONAL,
+ recordExtensions [16] ManagementExtensions OPTIONAL,
+ localSequenceNumber [17] LocalSequenceNumber OPTIONAL,
+ servedMSISDN [18] MSISDN OPTIONAL,
+ chargingCharacteristics [19] ChargingCharacteristics,
+ cAMELInformationMM [20] CAMELInformationMM OPTIONAL,
+ rATType [21] RATType OPTIONAL,
+ chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+ cellPLMNId [23] PLMN-Id OPTIONAL,
+ servingNodePLMNIdentifier [24] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [25] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNPDPRecord ::= SET
+{
+ recordType [0] RecordType,
+ networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL,
+ servedIMSI [3] IMSI OPTIONAL,
+ servedIMEI [4] IMEI OPTIONAL,
+ sgsnAddress [5] GSNAddress OPTIONAL,
+ msNetworkCapability [6] MSNetworkCapability OPTIONAL,
+ routingArea [7] RoutingAreaCode OPTIONAL,
+ locationAreaCode [8] LocationAreaCode OPTIONAL,
+ cellIdentifier [9] CellId OPTIONAL,
+ chargingID [10] ChargingID,
+ ggsnAddressUsed [11] GSNAddress,
+ accessPointNameNI [12] AccessPointNameNI OPTIONAL,
+ pdpType [13] PDPType OPTIONAL,
+ servedPDPAddress [14] PDPAddress OPTIONAL,
+ listOfTrafficVolumes [15] SEQUENCE OF ChangeOfCharCondition OPTIONAL,
+ recordOpeningTime [16] TimeStamp,
+ duration [17] CallDuration,
+ sgsnChange [18] SGSNChange OPTIONAL,
+ causeForRecClosing [19] CauseForRecClosing,
+ diagnostics [20] Diagnostics OPTIONAL,
+ recordSequenceNumber [21] INTEGER OPTIONAL,
+ nodeID [22] NodeID OPTIONAL,
+ recordExtensions [23] ManagementExtensions OPTIONAL,
+ localSequenceNumber [24] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [25] APNSelectionMode OPTIONAL,
+ accessPointNameOI [26] AccessPointNameOI OPTIONAL,
+ servedMSISDN [27] MSISDN OPTIONAL,
+ chargingCharacteristics [28] ChargingCharacteristics,
+ rATType [29] RATType OPTIONAL,
+ cAMELInformationPDP [30] CAMELInformationPDP OPTIONAL,
+ rNCUnsentDownlinkVolume [31] DataVolumeGPRS OPTIONAL,
+ chChSelectionMode [32] ChChSelectionMode OPTIONAL,
+ dynamicAddressFlag [33] DynamicAddressFlag OPTIONAL,
+ iMSIunauthenticatedFlag [34] NULL OPTIONAL,
+ userCSGInformation [35] UserCSGInformation OPTIONAL,
+ servedPDPPDNAddressExt [36] PDPAddress OPTIONAL,
+ lowPriorityIndicator [37] NULL OPTIONAL,
+ servingNodePLMNIdentifier [38] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [39] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNSMORecord ::= SET
+--
+-- also for MME UE originated SMS record
+--
+{
+ recordType [0] RecordType,
+ servedIMSI [1] IMSI,
+ servedIMEI [2] IMEI OPTIONAL,
+ servedMSISDN [3] MSISDN OPTIONAL,
+ msNetworkCapability [4] MSNetworkCapability OPTIONAL,
+ serviceCentre [5] AddressString OPTIONAL,
+ recordingEntity [6] RecordingEntity OPTIONAL,
+ locationArea [7] LocationAreaCode OPTIONAL,
+ routingArea [8] RoutingAreaCode OPTIONAL,
+ cellIdentifier [9] CellId OPTIONAL,
+ messageReference [10] MessageReference,
+ eventTimeStamp [11] TimeStamp,
+ smsResult [12] SMSResult OPTIONAL,
+ recordExtensions [13] ManagementExtensions OPTIONAL,
+ nodeID [14] NodeID OPTIONAL,
+ localSequenceNumber [15] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [16] ChargingCharacteristics,
+ rATType [17] RATType OPTIONAL,
+ destinationNumber [18] SmsTpDestinationNumber OPTIONAL,
+ cAMELInformationSMS [19] CAMELInformationSMS OPTIONAL,
+ chChSelectionMode [20] ChChSelectionMode OPTIONAL,
+ servingNodeType [21] ServingNodeType,
+ servingNodeAddress [22] GSNAddress OPTIONAL,
+ servingNodeiPv6Address [23] GSNAddress OPTIONAL,
+ mMEName [24] DiameterIdentity OPTIONAL,
+ mMERealm [25] DiameterIdentity OPTIONAL,
+ userLocationInformation [26] OCTET STRING OPTIONAL,
+ retransmission [27] NULL OPTIONAL,
+ servingNodePLMNIdentifier [28] PLMN-Id OPTIONAL,
+ userLocationInfoTime [29] TimeStamp OPTIONAL,
+ cNOperatorSelectionEnt [30] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNSMTRecord ::= SET
+--
+-- also for MME UE terminated SMS record
+--
+{
+ recordType [0] RecordType,
+ servedIMSI [1] IMSI,
+ servedIMEI [2] IMEI OPTIONAL,
+ servedMSISDN [3] MSISDN OPTIONAL,
+ msNetworkCapability [4] MSNetworkCapability OPTIONAL,
+ serviceCentre [5] AddressString OPTIONAL,
+ recordingEntity [6] RecordingEntity OPTIONAL,
+ locationArea [7] LocationAreaCode OPTIONAL,
+ routingArea [8] RoutingAreaCode OPTIONAL,
+ cellIdentifier [9] CellId OPTIONAL,
+ eventTimeStamp [10] TimeStamp,
+ smsResult [11] SMSResult OPTIONAL,
+ recordExtensions [12] ManagementExtensions OPTIONAL,
+ nodeID [13] NodeID OPTIONAL,
+ localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [15] ChargingCharacteristics,
+ rATType [16] RATType OPTIONAL,
+ chChSelectionMode [17] ChChSelectionMode OPTIONAL,
+ cAMELInformationSMS [18] CAMELInformationSMS OPTIONAL,
+ originatingAddress [19] AddressString OPTIONAL,
+ servingNodeType [20] ServingNodeType,
+ servingNodeAddress [21] GSNAddress OPTIONAL,
+ servingNodeiPv6Address [22] GSNAddress OPTIONAL,
+ mMEName [23] DiameterIdentity OPTIONAL,
+ mMERealm [24] DiameterIdentity OPTIONAL,
+ userLocationInformation [25] OCTET STRING OPTIONAL,
+ retransmission [26] NULL OPTIONAL,
+ servingNodePLMNIdentifier [27] PLMN-Id OPTIONAL,
+ userLocationInfoTime [28] TimeStamp OPTIONAL,
+ cNOperatorSelectionEnt [29] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNMTLCSRecord ::= SET
+{
+ recordType [0] RecordType,
+ recordingEntity [1] RecordingEntity,
+ lcsClientType [2] LCSClientType,
+ lcsClientIdentity [3] LCSClientIdentity,
+ servedIMSI [4] IMSI,
+ servedMSISDN [5] MSISDN OPTIONAL,
+ sgsnAddress [6] GSNAddress OPTIONAL,
+ locationType [7] LocationType,
+ lcsQos [8] LCSQoSInfo OPTIONAL,
+ lcsPriority [9] LCS-Priority OPTIONAL,
+ mlcNumber [10] ISDN-AddressString,
+ eventTimeStamp [11] TimeStamp,
+ measurementDuration [12] CallDuration OPTIONAL,
+ notificationToMSUser [13] NotificationToMSUser OPTIONAL,
+ privacyOverride [14] NULL OPTIONAL,
+ location [15] LocationAreaAndCell OPTIONAL,
+ routingArea [16] RoutingAreaCode OPTIONAL,
+ locationEstimate [17] Ext-GeographicalInformation OPTIONAL,
+ positioningData [18] PositioningData OPTIONAL,
+ lcsCause [19] LCSCause OPTIONAL,
+ diagnostics [20] Diagnostics OPTIONAL,
+ nodeID [21] NodeID OPTIONAL,
+ localSequenceNumber [22] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ rATType [25] RATType OPTIONAL,
+ recordExtensions [26] ManagementExtensions OPTIONAL,
+ causeForRecClosing [27] CauseForRecClosing,
+ servingNodePLMNIdentifier [28] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [29] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNMOLCSRecord ::= SET
+{
+ recordType [0] RecordType,
+ recordingEntity [1] RecordingEntity,
+ lcsClientType [2] LCSClientType OPTIONAL,
+ lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
+ servedIMSI [4] IMSI,
+ servedMSISDN [5] MSISDN OPTIONAL,
+ sgsnAddress [6] GSNAddress OPTIONAL,
+ locationMethod [7] LocationMethod,
+ lcsQos [8] LCSQoSInfo OPTIONAL,
+ lcsPriority [9] LCS-Priority OPTIONAL,
+ mlcNumber [10] ISDN-AddressString OPTIONAL,
+ eventTimeStamp [11] TimeStamp,
+ measurementDuration [12] CallDuration OPTIONAL,
+ location [13] LocationAreaAndCell OPTIONAL,
+ routingArea [14] RoutingAreaCode OPTIONAL,
+ locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
+ positioningData [16] PositioningData OPTIONAL,
+ lcsCause [17] LCSCause OPTIONAL,
+ diagnostics [18] Diagnostics OPTIONAL,
+ nodeID [19] NodeID OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [21] ChargingCharacteristics,
+ chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+ rATType [23] RATType OPTIONAL,
+ recordExtensions [24] ManagementExtensions OPTIONAL,
+ causeForRecClosing [25] CauseForRecClosing,
+ servingNodePLMNIdentifier [26] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [27] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNNILCSRecord ::= SET
+{
+ recordType [0] RecordType,
+ recordingEntity [1] RecordingEntity,
+ lcsClientType [2] LCSClientType OPTIONAL,
+ lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
+ servedIMSI [4] IMSI OPTIONAL,
+ servedMSISDN [5] MSISDN OPTIONAL,
+ sgsnAddress [6] GSNAddress OPTIONAL,
+ servedIMEI [7] IMEI OPTIONAL,
+ lcsQos [8] LCSQoSInfo OPTIONAL,
+ lcsPriority [9] LCS-Priority OPTIONAL,
+ mlcNumber [10] ISDN-AddressString OPTIONAL,
+ eventTimeStamp [11] TimeStamp,
+ measurementDuration [12] CallDuration OPTIONAL,
+ location [13] LocationAreaAndCell OPTIONAL,
+ routingArea [14] RoutingAreaCode OPTIONAL,
+ locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
+ positioningData [16] PositioningData OPTIONAL,
+ lcsCause [17] LCSCause OPTIONAL,
+ diagnostics [18] Diagnostics OPTIONAL,
+ nodeID [19] NodeID OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [21] ChargingCharacteristics,
+ chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+ rATType [23] RATType OPTIONAL,
+ recordExtensions [24] ManagementExtensions OPTIONAL,
+ causeForRecClosing [25] CauseForRecClosing,
+ servingNodePLMNIdentifier [26] PLMN-Id OPTIONAL,
+ cNOperatorSelectionEnt [27] CNOperatorSelectionEntity OPTIONAL
+}
+
+SGSNMBMSRecord ::= SET
+{
+ recordType [0] RecordType,
+ ggsnAddress [1] GSNAddress,
+ chargingID [2] ChargingID,
+ listofRAs [3] SEQUENCE OF RAIdentity OPTIONAL,
+ accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+ servedPDPAddress [5] PDPAddress OPTIONAL,
+ listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+ recordOpeningTime [7] TimeStamp,
+ duration [8] CallDuration,
+ causeForRecClosing [9] CauseForRecClosing,
+ diagnostics [10] Diagnostics OPTIONAL,
+ recordSequenceNumber [11] INTEGER OPTIONAL,
+ nodeID [12] NodeID OPTIONAL,
+ recordExtensions [13] ManagementExtensions OPTIONAL,
+ localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+ sgsnPLMNIdentifier [15] PLMN-Id OPTIONAL,
+ numberofReceivingUE [16] INTEGER OPTIONAL,
+ mbmsInformation [17] MBMSInformation OPTIONAL
+}
+
+GGSNMBMSRecord ::= SET
+{
+ recordType [0] RecordType,
+ ggsnAddress [1] GSNAddress,
+ chargingID [2] ChargingID,
+ listofDownstreamNodes [3] SEQUENCE OF GSNAddress,
+ accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+ servedPDPAddress [5] PDPAddress OPTIONAL,
+ listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+ recordOpeningTime [7] TimeStamp,
+ duration [8] CallDuration,
+ causeForRecClosing [9] CauseForRecClosing,
+ diagnostics [10] Diagnostics OPTIONAL,
+ recordSequenceNumber [11] INTEGER OPTIONAL,
+ nodeID [12] NodeID OPTIONAL,
+ recordExtensions [13] ManagementExtensions OPTIONAL,
+ localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+ mbmsInformation [15] MBMSInformation OPTIONAL
+}
+
+GWMBMSRecord ::= SET
+{
+ recordType [0] RecordType,
+ mbmsGWAddress [1] GSNAddress,
+ chargingID [2] ChargingID,
+ listofDownstreamNodes [3] SEQUENCE OF GSNAddress,
+ accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+ pdpPDNType [5] PDPType OPTIONAL,
+ servedPDPPDNAddress [6] PDPAddress OPTIONAL,
+ listOfTrafficVolumes [7] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+ recordOpeningTime [8] TimeStamp,
+ duration [9] CallDuration,
+ causeForRecClosing [10] CauseForRecClosing,
+ diagnostics [11] Diagnostics OPTIONAL,
+ recordSequenceNumber [12] INTEGER OPTIONAL,
+ nodeID [13] NodeID OPTIONAL,
+ recordExtensions [14] ManagementExtensions OPTIONAL,
+ localSequenceNumber [15] LocalSequenceNumber OPTIONAL,
+ mbmsInformation [16] MBMSInformation OPTIONAL,
+ commonTeid [17] CTEID OPTIONAL,
+ iPMulticastSourceAddress [18] PDPAddress OPTIONAL
+}
+
+--
+-- PS DATA TYPES
+--
+
+
+AccessAvailabilityChangeReason ::= INTEGER (0..4294967295)
+--
+-- 0 (RAN rule indication) : This value shall be used to indicate that the availability
+-- of an access is changed due to the RAN rule indication.
+-- 1 (Access usable/unusable): This value shall be used to indicate that the availability
+-- of an access is changed due to the access is unusable or usable
+-- again.
+--
+
+AccessLineIdentifier ::= SEQUENCE
+--
+-- "Physical Access Id" includes a port identifier and the identity of the access node where the
+-- port resides. "logical Access Id" contains a Circuit ID. Both are defined ETSI TS 283 034 [314]
+--
+{
+ physicalAccessID [0] UTF8String OPTIONAL,
+ logicalAccessID [1] OCTET STRING OPTIONAL
+}
+
+AccessPointNameNI ::= IA5String (SIZE(1..63))
+--
+-- Network Identifier part of APN in dot representation.
+-- For example, if the complete APN is 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs'
+-- NI is 'apn1a.apn1b.apn1c' and is presented in this form in the CDR.
+--
+
+AccessPointNameOI ::= IA5String (SIZE(1..37))
+--
+-- Operator Identifier part of APN in dot representation.
+-- In the 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs' example, the OI portion is 'mnc022.mcc111.gprs'
+-- and is presented in this form in the CDR.
+--
+
+ADCRuleBaseName ::= IA5String
+--
+-- identifier for the group of charging rules
+-- see ADC-Rule-Base-Name AVP as desined in TS 29.212 [220]
+--
+AdditionalExceptionReports ::= ENUMERATED
+{
+ notAllowed (0),
+ allowed (1)
+}
+
+
+AFChargingIdentifier ::= OCTET STRING
+--
+-- see AF-Charging-Identifier AVP as defined in TS 29.214[221]
+--
+AFRecordInformation ::= SEQUENCE
+{
+ aFChargingIdentifier [1] AFChargingIdentifier,
+ flows [2] Flows OPTIONAL
+}
+
+
+APNRateControl ::= SEQUENCE
+--
+-- See TS 24.008 [208] for more information
+--
+{
+ aPNRateControlUplink [0] APNRateControlParameters OPTIONAL,
+ aPNRateControlDownlink [1] APNRateControlParameters OPTIONAL
+}
+
+APNRateControlParameters ::= SEQUENCE
+{
+ additionalExceptionReports [0] AdditionalExceptionReports OPTIONAL,
+ rateControlTimeUnit [1] RateControlTimeUnit OPTIONAL,
+ rateControlMaxRate [2] INTEGER OPTIONAL,
+ rateControlMaxMessageSize [3] DataVolumeGPRS OPTIONAL -- aPNRateControlDownlink only
+}
+
+
+APNSelectionMode ::= ENUMERATED
+--
+-- See Information Elements TS 29.060 [215], TS 29.274 [223] or TS 29.275 [224]
+--
+{
+ mSorNetworkProvidedSubscriptionVerified (0),
+ mSProvidedSubscriptionNotVerified (1),
+ networkProvidedSubscriptionNotVerified (2)
+}
+
+CalleePartyInformation ::= SEQUENCE
+{
+called-Party-Address [0] InvolvedParty OPTIONAL,
+requested-Party-Address [1] InvolvedParty OPTIONAL,
+list-Of-Called-Asserted-Identity [2] SEQUENCE OF InvolvedParty OPTIONAL
+}
+
+CAMELAccessPointNameNI ::= AccessPointNameNI
+
+CAMELAccessPointNameOI ::= AccessPointNameOI
+
+CAMELInformationMM ::= SET
+{
+ sCFAddress [1] SCFAddress OPTIONAL,
+ serviceKey [2] ServiceKey OPTIONAL,
+ defaultTransactionHandling [3] DefaultGPRS-Handling OPTIONAL,
+ numberOfDPEncountered [4] NumberOfDPEncountered OPTIONAL,
+ levelOfCAMELService [5] LevelOfCAMELService OPTIONAL,
+ freeFormatData [6] FreeFormatData OPTIONAL,
+ fFDAppendIndicator [7] FFDAppendIndicator OPTIONAL
+}
+
+CAMELInformationPDP ::= SET
+{
+ sCFAddress [1] SCFAddress OPTIONAL,
+ serviceKey [2] ServiceKey OPTIONAL,
+ defaultTransactionHandling [3] DefaultGPRS-Handling OPTIONAL,
+ cAMELAccessPointNameNI [4] CAMELAccessPointNameNI OPTIONAL,
+ cAMELAccessPointNameOI [5] CAMELAccessPointNameOI OPTIONAL,
+ numberOfDPEncountered [6] NumberOfDPEncountered OPTIONAL,
+ levelOfCAMELService [7] LevelOfCAMELService OPTIONAL,
+ freeFormatData [8] FreeFormatData OPTIONAL,
+ fFDAppendIndicator [9] FFDAppendIndicator OPTIONAL
+}
+
+CAMELInformationSMS ::= SET
+{
+ sCFAddress [1] SCFAddress OPTIONAL,
+ serviceKey [2] ServiceKey OPTIONAL,
+ defaultSMSHandling [3] DefaultSMS-Handling OPTIONAL,
+ cAMELCallingPartyNumber [4] CallingNumber OPTIONAL,
+ cAMELDestinationSubscriberNumber [5] SmsTpDestinationNumber OPTIONAL,
+ cAMELSMSCAddress [6] AddressString OPTIONAL,
+ freeFormatData [7] FreeFormatData OPTIONAL,
+ smsReferenceNumber [8] CallReferenceNumber OPTIONAL
+}
+
+ChangeCondition ::= ENUMERATED
+{
+ qoSChange (0),
+ tariffTime (1),
+ recordClosure (2),
+-- WS backward compabillity addition
+ failureHandlingContinueOngoing (3),
+ failureHandlingRetryandTerminateOngoing (4),
+ failureHandlingTerminateOngoing (5),
+-- WS mod END
+ cGI-SAICHange (6), -- bearer modification. "CGI-SAI Change"
+ rAIChange (7), -- bearer modification. "RAI Change"
+ dT-Establishment (8),
+ dT-Removal (9),
+ eCGIChange (10), -- bearer modification. "ECGI Change"
+ tAIChange (11), -- bearer modification. "TAI Change"
+ userLocationChange (12), -- bearer modification. "User Location Change"
+ userCSGInformationChange (13), -- bearer modification. "User CSG info Change"
+ presenceInPRAChange (14), -- bearer modification. "Change of UE Presence
+ -- in Presence Reporting Area"
+ removalOfAccess (15), -- NBIFOM "Removal of Access"
+ unusabilityOfAccess (16), -- NBIFOM "Unusability of Access"
+ indirectChangeCondition (17), -- NBIFOM "Indirect Change Condition"
+ userPlaneToUEChange (18), -- bearer modification. "Change of user plane to UE"
+ servingPLMNRateControlChange (19),
+-- bearer modification "Serving PLMN Rate Control Change"
+ threeGPPPSDataOffStatusChange (20), -- "Change of 3GPP PS DataO ff Status"
+ aPNRateControlChange (21) -- bearer modification. "APN Rate ControlChange"
+
+
+}
+
+ChangeOfCharCondition ::= SEQUENCE
+--
+-- qosRequested and qosNegotiated are used in S-CDR only
+-- ePCQoSInformation used in SGW-CDR,PGW-CDR, IPE-CDR, TWAG-CDR and ePDG-CDR only
+-- userLocationInformation is used only in S-CDR, SGW-CDR and PGW-CDR
+-- chargingID used in PGW-CDR only when Charging per IP-CAN session is active
+-- accessAvailabilityChangeReason and relatedChangeOfCharCondition applicable only in PGW-CDR
+-- cPCIoTOptimisationIndicator is used in SGW-CDR only
+-- aPNRateControl is valid for PGW-CDR only
+--
+{
+ qosRequested [1] QoSInformation OPTIONAL,
+ qosNegotiated [2] QoSInformation OPTIONAL,
+ dataVolumeGPRSUplink [3] DataVolumeGPRS OPTIONAL,
+ dataVolumeGPRSDownlink [4] DataVolumeGPRS OPTIONAL,
+ changeCondition [5] ChangeCondition,
+ changeTime [6] TimeStamp,
+ userLocationInformation [8] OCTET STRING OPTIONAL,
+ ePCQoSInformation [9] EPCQoSInformation OPTIONAL,
+ chargingID [10] ChargingID OPTIONAL,
+ presenceReportingAreaStatus [11] PresenceReportingAreaStatus OPTIONAL,
+ userCSGInformation [12] UserCSGInformation OPTIONAL,
+ diagnostics [13] Diagnostics OPTIONAL,
+ enhancedDiagnostics [14] EnhancedDiagnostics OPTIONAL,
+ rATType [15] RATType OPTIONAL,
+ accessAvailabilityChangeReason [16] AccessAvailabilityChangeReason OPTIONAL,
+ uWANUserLocationInformation [17] UWANUserLocationInfo OPTIONAL,
+ relatedChangeOfCharCondition [18] RelatedChangeOfCharCondition OPTIONAL,
+ cPCIoTEPSOptimisationIndicator [19] CPCIoTEPSOptimisationIndicator OPTIONAL,
+ servingPLMNRateControl [20] ServingPLMNRateControl OPTIONAL,
+ threeGPPPSDataOffStatus [21] ThreeGPPPSDataOffStatus OPTIONAL,
+ listOfPresenceReportingAreaInformation [22] SEQUENCE OF PresenceReportingAreaInfo OPTIONAL,
+ aPNRateControl [23] APNRateControl OPTIONAL
+
+}
+
+ChangeOfMBMSCondition ::= SEQUENCE
+--
+-- Used in MBMS record
+--
+{
+ qosRequested [1] QoSInformation OPTIONAL,
+ qosNegotiated [2] QoSInformation OPTIONAL,
+ dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL,
+ dataVolumeMBMSDownlink [4] DataVolumeMBMS,
+ changeCondition [5] ChangeCondition,
+ changeTime [6] TimeStamp,
+ failureHandlingContinue [7] FailureHandlingContinue OPTIONAL
+}
+
+ChangeOfServiceCondition ::= SEQUENCE
+--
+-- Used for Flow based Charging and Application based Charging service data container
+-- presenceReportingAreaStatus is used in PGW-CDR Only
+--
+{
+ ratingGroup [1] RatingGroupId,
+ chargingRuleBaseName [2] ChargingRuleBaseName OPTIONAL,
+ resultCode [3] ResultCode OPTIONAL,
+ localSequenceNumber [4] LocalSequenceNumber OPTIONAL,
+ timeOfFirstUsage [5] TimeStamp OPTIONAL,
+ timeOfLastUsage [6] TimeStamp OPTIONAL,
+ timeUsage [7] CallDuration OPTIONAL,
+ serviceConditionChange [8] ServiceConditionChange,
+ qoSInformationNeg [9] EPCQoSInformation OPTIONAL,
+ servingNodeAddress [10] GSNAddress OPTIONAL,
+ datavolumeFBCUplink [12] DataVolumeGPRS OPTIONAL,
+ datavolumeFBCDownlink [13] DataVolumeGPRS OPTIONAL,
+ timeOfReport [14] TimeStamp,
+ failureHandlingContinue [16] FailureHandlingContinue OPTIONAL,
+ serviceIdentifier [17] ServiceIdentifier OPTIONAL,
+ pSFurnishChargingInformation [18] PSFurnishChargingInformation OPTIONAL,
+ aFRecordInformation [19] SEQUENCE OF AFRecordInformation OPTIONAL,
+ userLocationInformation [20] OCTET STRING OPTIONAL,
+ eventBasedChargingInformation [21] EventBasedChargingInformation OPTIONAL,
+ timeQuotaMechanism [22] TimeQuotaMechanism OPTIONAL,
+ serviceSpecificInfo [23] SEQUENCE OF ServiceSpecificInfo OPTIONAL,
+ threeGPP2UserLocationInformation [24] OCTET STRING OPTIONAL,
+ sponsorIdentity [25] OCTET STRING OPTIONAL,
+ applicationServiceProviderIdentity [26] OCTET STRING OPTIONAL,
+ aDCRuleBaseName [27] ADCRuleBaseName OPTIONAL,
+ presenceReportingAreaStatus [28] PresenceReportingAreaStatus OPTIONAL,
+ userCSGInformation [29] UserCSGInformation OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ uWANUserLocationInformation [32] UWANUserLocationInfo OPTIONAL,
+ relatedChangeOfServiceCondition [33] RelatedChangeOfServiceCondition OPTIONAL,
+ servingPLMNRateControl [35] ServingPLMNRateControl OPTIONAL,
+ aPNRateControl [36] APNRateControl OPTIONAL,
+ threeGPPPSDataOffStatus [37] ThreeGPPPSDataOffStatus OPTIONAL,
+ trafficSteeringPolicyIDDownlink [38] TrafficSteeringPolicyIDDownlink OPTIONAL,
+trafficSteeringPolicyIDUplink [39] TrafficSteeringPolicyIDUplink OPTIONAL,
+ tWANUserLocationInformation [40] TWANUserLocationInfo OPTIONAL,
+ listOfPresenceReportingAreaInformation [41] SEQUENCE OF PresenceReportingAreaInfo OPTIONAL,
+ voLTEInformation [42] VoLTEInformation OPTIONAL
+
+}
+
+ChangeLocation ::= SEQUENCE
+--
+-- used in SGSNMMRecord only
+--
+{
+ locationAreaCode [0] LocationAreaCode,
+ routingAreaCode [1] RoutingAreaCode,
+ cellId [2] CellId OPTIONAL,
+ changeTime [3] TimeStamp,
+ mCC-MNC [4] PLMN-Id OPTIONAL
+}
+
+ChargingCharacteristics ::= OCTET STRING (SIZE(2))
+
+
+ChargingPerIPCANSessionIndicator ::= ENUMERATED
+{
+ inactive (0),
+ active (1)
+}
+
+ChargingRuleBaseName ::= IA5String
+--
+-- identifier for the group of charging rules
+-- see Charging-Rule-Base-Name AVP as desined in TS 29.212 [220]
+--
+
+ChChSelectionMode ::= ENUMERATED
+{
+ servingNodeSupplied (0), -- For S-GW/P-GW
+ subscriptionSpecific (1), -- For SGSN only
+ aPNSpecific (2), -- For SGSN only
+ homeDefault (3), -- For SGSN, S-GW, P-GW, TDF and IP-Edge
+ roamingDefault (4), -- For SGSN, S-GW, P-GW, TDF and IP-Edge
+ visitingDefault (5), -- For SGSN, S-GW, P-GW, TDF and IP-Edge
+ fixedDefault (6) -- For TDF and IP-Edge
+}
+
+CNOperatorSelectionEntity ::= ENUMERATED
+{
+ servCNSelectedbyUE (0),
+ servCNSelectedbyNtw (1)
+}
+
+CPCIoTEPSOptimisationIndicator ::= BOOLEAN
+
+CSGAccessMode ::= ENUMERATED
+{
+ closedMode (0),
+ hybridMode (1)
+}
+
+CSGId ::= OCTET STRING (SIZE(4))
+--
+-- Defined in TS 23.003 [200]. Coded according to TS 29.060 [215] for GTP, and
+-- in TS 29.274 [223] for eGTP.
+--
+
+CTEID ::= OCTET STRING (SIZE(4))
+--
+-- Defined in TS 32.251[11] for MBMS-GW-CDR. Common Tunnel Endpoint Identifier
+-- of MBMS GW for user plane, defined in TS 23.246 [207].
+--
+
+DataVolumeGPRS ::= INTEGER
+--
+-- The volume of data transferred in octets.
+--
+
+DataVolumeMBMS ::= INTEGER
+--
+-- The volume of data transferred in octets.
+--
+
+
+EPCQoSInformation ::= SEQUENCE
+--
+-- See TS 29.212 [220] for more information
+--
+{
+ qCI [1] INTEGER,
+ maxRequestedBandwithUL [2] INTEGER OPTIONAL,
+ maxRequestedBandwithDL [3] INTEGER OPTIONAL,
+ guaranteedBitrateUL [4] INTEGER OPTIONAL,
+ guaranteedBitrateDL [5] INTEGER OPTIONAL,
+ aRP [6] INTEGER OPTIONAL,
+ aPNAggregateMaxBitrateUL [7] INTEGER OPTIONAL,
+ aPNAggregateMaxBitrateDL [8] INTEGER OPTIONAL,
+ extendedMaxRequestedBWUL [9] INTEGER OPTIONAL,
+ extendedMaxRequestedBWDL [10] INTEGER OPTIONAL,
+ extendedGBRUL [11] INTEGER OPTIONAL,
+ extendedGBRDL [12] INTEGER OPTIONAL,
+ extendedAPNAMBRUL [13] INTEGER OPTIONAL,
+ extendedAPNAMBRDL [14] INTEGER OPTIONAL
+}
+
+EventBasedChargingInformation ::= SEQUENCE
+{
+ numberOfEvents [1] INTEGER,
+ eventTimeStamps [2] SEQUENCE OF TimeStamp OPTIONAL
+}
+
+FailureHandlingContinue ::= BOOLEAN
+--
+-- This parameter is included when the failure handling procedure has been executed and new
+-- containers are opened. This parameter shall be included in the first and subsequent
+-- containers opened after the failure handling execution.
+--
+
+FFDAppendIndicator ::= BOOLEAN
+
+
+FixedSubsID ::= OCTET STRING
+--
+-- The fixed subscriber Id identifier is defined in Broadband Forum TR 134 [601].
+--
+
+
+FixedUserLocationInformation ::= SEQUENCE
+--
+-- See format in IEEE Std 802.11-2012 [408] for "SSID" and "BSSID".
+--
+{
+ sSID [0] OCTET STRING OPTIONAL ,
+ bSSID [1] OCTET STRING OPTIONAL,
+ accessLineIdentifier [2] AccessLineIdentifier OPTIONAL
+}
+
+Flows ::= SEQUENCE
+--
+-- See Flows AVP as defined in TS 29.214 [221]
+--
+{
+ mediaComponentNumber [1] INTEGER,
+ flowNumber [2] SEQUENCE OF INTEGER OPTIONAL
+}
+
+FreeFormatData ::= OCTET STRING (SIZE(1..160))
+--
+-- Free formatted data as sent in the FurnishChargingInformationGPRS
+-- see TS 29.078 [217]
+--
+
+-- GSNAddress ::= IPAddress
+
+
+MOExceptionDataCounter ::= SEQUENCE
+--
+-- See TS 29.128 [244] for more information
+--
+{
+ counterValue [0] INTEGER,
+ counterTimestamp [1] TimeStamp
+}
+
+
+MSNetworkCapability ::= OCTET STRING (SIZE(1..8))
+--
+-- see TS 24.008 [208]
+--
+
+NBIFOMMode ::= ENUMERATED
+{
+ uEINITIATED (0),
+ nETWORKINITIATED (1)
+}
+
+NBIFOMSupport ::= ENUMERATED
+{
+ nBIFOMNotSupported (0),
+ nBIFOMSupported (1)
+}
+
+NetworkInitiatedPDPContext ::= BOOLEAN
+--
+-- Set to true if PDP context was initiated from network side
+--
+
+NumberOfDPEncountered ::= INTEGER
+PDPType ::= OCTET STRING (SIZE(2))
+--
+-- OCTET 1: PDP Type Organization
+-- OCTET 2: PDP/PDN Type Number
+-- See TS 29.060 [215] for encoding details.
+--
+
+
+PDPPDNTypeExtension ::= INTEGER
+--
+-- This integer is 1:1 copy of the PDP type value as defined in TS 29.061 [215].
+--
+
+
+PresenceReportingAreaElementsList ::= OCTET STRING
+--
+-- For EPC see Presence-Reporting-Area-Elements-List AVP defined in TS 29.212 [220]
+-- For 5GC see PresenceInfo defined in TS 29.571 [249] excluding praId and presenceState
+--
+
+
+PresenceReportingAreaInfo ::= SEQUENCE
+{
+ presenceReportingAreaIdentifier [0] OCTET STRING,
+ presenceReportingAreaStatus [1] PresenceReportingAreaStatus OPTIONAL,
+ presenceReportingAreaElementsList[2] PresenceReportingAreaElementsList OPTIONAL,
+ presenceReportingAreaNode [3] PresenceReportingAreaNode OPTIONAL
+}
+
+PresenceReportingAreaNode ::= BIT STRING
+{
+ oCS (0),
+ pCRF (1)
+}
+--
+-- This bit mask has the same format as Presence-Reporting-Area-Node AVP in TS 29.212 [220]
+--
+
+
+PresenceReportingAreaStatus ::= ENUMERATED
+{
+ insideArea (0),
+ outsideArea (1),
+ inactive (2),
+ unknown (3)
+
+}
+
+PSFurnishChargingInformation ::= SEQUENCE
+{
+ pSFreeFormatData [1] FreeFormatData,
+ pSFFDAppendIndicator [2] FFDAppendIndicator OPTIONAL
+}
+
+QoSInformation ::= OCTET STRING (SIZE (4..255))
+--
+-- This octet string
+-- is a 1:1 copy of the contents (i.e. starting with octet 5) of the "Bearer Quality of
+-- Service" information element specified in TS 29.274 [223].
+--
+
+RANSecondaryRATUsageReport ::= SEQUENCE
+--
+{
+ dataVolumeUplink [1] DataVolumeGPRS,
+ dataVolumeDownlink [2] DataVolumeGPRS,
+ rANStartTime [3] TimeStamp,
+ rANEndTime [4] TimeStamp,
+ secondaryRATType [5] SecondaryRATType OPTIONAL,
+ chargingID [6] ChargingID OPTIONAL
+}
+
+
+RateControlTimeUnit ::= INTEGER
+{ unrestricted (0),
+ minute (1),
+ hour (2),
+ day (3),
+ week (4)
+}
+
+RatingGroupId ::= INTEGER
+--
+-- IP service flow identity (DCCA), range of 4 byte (0... 4294967295)
+-- see Rating-Group AVP as used in TS 32.299 [50]
+--
+
+RelatedChangeOfCharCondition ::= SEQUENCE
+{
+ changeCondition [5] ChangeCondition,
+ changeTime [6] TimeStamp,
+ userLocationInformation [8] OCTET STRING OPTIONAL,
+ presenceReportingAreaStatus [11] PresenceReportingAreaStatus OPTIONAL,
+ userCSGInformation [12] UserCSGInformation OPTIONAL,
+ rATType [15] RATType OPTIONAL,
+ uWANUserLocationInformation [17] UWANUserLocationInfo OPTIONAL
+}
+
+RelatedChangeOfServiceCondition ::= SEQUENCE
+{
+ userLocationInformation [20] OCTET STRING OPTIONAL,
+ threeGPP2UserLocationInformation [24] OCTET STRING OPTIONAL,
+ presenceReportingAreaStatus [28] PresenceReportingAreaStatus OPTIONAL,
+ userCSGInformation [29] UserCSGInformation OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ uWANUserLocationInformation [32] UWANUserLocationInfo OPTIONAL,
+ relatedServiceConditionChange [33] ServiceConditionChange OPTIONAL
+}
+
+ResultCode ::= INTEGER
+--
+-- charging protocol return value, range of 4 byte (0... 4294967295)
+-- see Result-Code AVP as used in 32.299 [40]
+--
+
+SecondaryRATType ::= INTEGER
+{
+ nR (0) -- New Radio 5G
+}
+
+ServiceConditionChange ::= BIT STRING
+{
+ qoSChange (0), -- bearer modification
+ sGSNChange (1), -- bearer modification:
+ -- apply to Gn-SGSN /SGW Change
+ sGSNPLMNIDChange (2), -- bearer modification
+ tariffTimeSwitch (3), -- tariff time change
+ pDPContextRelease (4), -- bearer release
+ rATChange (5), -- bearer modification
+ serviceIdledOut (6), -- IP flow idle out, DCCA QHT expiry
+ reserved (7), -- old: QCTexpiry is no report event
+ configurationChange (8), -- configuration change
+ serviceStop (9), -- IP flow termination.From "Service Stop" in
+ -- Change-Condition AVP
+ dCCATimeThresholdReached (10), -- DCCA quota reauthorization
+ dCCAVolumeThresholdReached (11), -- DCCA quota reauthorization
+ dCCAServiceSpecificUnitThresholdReached (12), -- DCCA quota reauthorization
+ dCCATimeExhausted (13), -- DCCA quota reauthorization
+ dCCAVolumeExhausted (14), -- DCCA quota reauthorization
+ dCCAValidityTimeout (15), -- DCCA quota validity time (QVT expiry)
+ reserved1 (16), -- reserved due to no use case,
+ -- old: return Requested is covered by (17),(18)
+ dCCAReauthorisationRequest (17), -- DCCA quota reauthorization request by OCS
+ dCCAContinueOngoingSession (18), -- DCCA failure handling (CCFH),
+ -- continue IP flow
+ dCCARetryAndTerminateOngoingSession (19), -- DCCA failure handling (CCFH),
+ -- terminate IP flow after DCCA retry
+ dCCATerminateOngoingSession (20), -- DCCA failure handling,
+ -- terminate IP flow
+ cGI-SAIChange (21), -- bearer modification. "CGI-SAI Change"
+ rAIChange (22), -- bearer modification. "RAI Change"
+ dCCAServiceSpecificUnitExhausted (23), -- DCCA quota reauthorization
+ recordClosure (24), -- PGW-CDR closure
+ timeLimit (25), -- intermediate recording. From "Service Data
+ -- Time Limit" Change-Condition AVP value
+ volumeLimit (26), -- intermediate recording.From "Service Data
+ -- Volume Limit" Change-Condition AVP value
+ serviceSpecificUnitLimit (27), -- intermediate recording
+ envelopeClosure (28),
+ eCGIChange (29), -- bearer modification. "ECGI Change"
+ tAIChange (30), -- bearer modification. "TAI Change"
+ userLocationChange (31), -- bearer modification. "User Location Change"
+ userCSGInformationChange (32), -- bearer modification. "User CSG info Change"
+ presenceInPRAChange (33), -- bearer modification. "Change of UE Presence
+ -- in Presence Reporting Area"
+ accessChangeOfSDF (34), -- "access change of service data flow"
+ indirectServiceConditionChange (35), -- NBIFOM: "indirect service condition change"
+ servingPLMNRateControlChange (36), -- bearer modification. "Serving PLMNRate
+ -- Control Change"
+ aPNRateControlChange (37) -- bearer modification. "APN Rate ControlChange
+}
+--
+-- Trigger and cause values for IP flow level recording are defined for support of independent
+-- online and offline charging and also for tight interworking between online and offline charging.
+-- Unused bits will always be zero.
+-- Some of the values are non-exclusive (e.g. bearer modification reasons).
+--
+
+SCFAddress ::= AddressString
+--
+-- See TS 29.002 [214]
+--
+
+ServiceIdentifier ::= INTEGER (0..4294967295)
+--
+-- The service identifier is used to identify the service or the service component
+-- the service data flow relates to. See Service-Identifier AVP as defined in TS 29.212 [220]
+--
+
+ServingNodeType ::= ENUMERATED
+{
+ sGSN (0),
+ pMIPSGW (1),
+ gTPSGW (2),
+ ePDG (3),
+ hSGW (4),
+ mME (5),
+ tWAN (6)
+}
+
+
+ServingPLMNRateControl ::= SEQUENCE
+--
+-- See TS 29.128 [244] for more information
+--
+{
+ sPLMNDLRateControlValue [0] INTEGER,
+ sPLMNULRateControlValue [1] INTEGER
+}
+
+SGiPtPTunnellingMethod ::= ENUMERATED
+{
+ uDPIPbased (0),
+ others (1)
+}
+
+
+SGSNChange ::= BOOLEAN
+--
+-- present if first record after inter SGSN routing area update in new SGSN
+--
+
+SGWChange ::= BOOLEAN
+--
+-- present if first record after inter serving node change (SGW, ePDG, TWAG, HSGW)
+--
+
+
+TimeQuotaMechanism ::= SEQUENCE
+{
+ timeQuotaType [1] TimeQuotaType,
+ baseTimeInterval [2] INTEGER
+}
+
+TimeQuotaType ::= ENUMERATED
+{
+ dISCRETETIMEPERIOD (0),
+ cONTINUOUSTIMEPERIOD (1)
+}
+
+TrafficSteeringPolicyIDDownlink ::= OCTET STRING
+--
+-- see Traffic-Steering-Policy-Identifier-DL AVP as defined in TS 29.212[220]
+
+TrafficSteeringPolicyIDUplink ::= OCTET STRING
+--
+-- see Traffic-Steering-Policy-Identifier-UL AVP as defined in TS 29.212[220]
+
+TWANUserLocationInfo ::= SEQUENCE
+{
+ sSID [0] OCTET STRING, -- see format in IEEE Std 802.11-2012 [408]
+ bSSID [1] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
+ civicAddressInformation [2] CivicAddressInformation OPTIONAL,
+ wLANOperatorId [3] WLANOperatorId OPTIONAL,
+ logicalAccessID [4] OCTET STRING OPTIONAL
+}
+
+UNIPDUCPOnlyFlag ::= BOOLEAN
+
+
+UserCSGInformation ::= SEQUENCE
+{
+ cSGId [0] CSGId,
+ cSGAccessMode [1] CSGAccessMode,
+ cSGMembershipIndication [2] NULL OPTIONAL
+}
+
+UWANUserLocationInfo ::= SEQUENCE
+{
+ uELocalIPAddress [0] IPAddress,
+ uDPSourcePort [1] OCTET STRING (SIZE(2)) OPTIONAL,
+ sSID [2] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
+ bSSID [3] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
+ tCPSourcePort [4] OCTET STRING (SIZE(2)) OPTIONAL,
+ civicAddressInformation [5] CivicAddressInformation OPTIONAL,
+ wLANOperatorId [6] WLANOperatorId OPTIONAL,
+ logicalAccessID [7] OCTET STRING OPTIONAL
+}
+
+VoLTEInformation ::= SEQUENCE
+{
+ callerInformation [0] SEQUENCE OF InvolvedParty OPTIONAL,
+ calleeInformation [1] CalleePartyInformation OPTIONAL
+}
+
+
+WLANOperatorId ::= SEQUENCE
+{
+ wLANOperatorName [0] OCTET STRING,
+ wLANPLMNId [1] PLMN-Id
+}
+
+
+END
diff --git a/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV641.asn b/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV641.asn
new file mode 100644
index 00000000..6e9dfd8a
--- /dev/null
+++ b/epan/dissectors/asn1/gprscdr/GPRSChargingDataTypesV641.asn
@@ -0,0 +1,890 @@
+-- 3GPP TS 32.298 V6.4.1 (2006-06)
+--
+GPRSChargingDataTypesV641 {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) charging (5) gprsChargingDataTypes (2) asn1Module (0) version1 (0)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS everything
+
+IMPORTS
+--CallDuration, CalledNumber, CallEventRecordType, CallingNumber, CallReferenceNumber, CellId, DefaultSMS-Handling, Diagnostics, Ext-GeographicalInformation, IMSI, IMEI, IPAddress, ISDN-AddressString, LCSCause, LCSClientExternalID, LCSClientIdentity, LCSClientInternalID, LCSClientType, LCS-Priority, LCSQoSInfo, LevelOfCAMELService, LocalSequenceNumber, LocationAreaAndCell, LocationAreaCode, LocationType, ManagementExtensions, MessageReference, MSISDN, NotificationToMSUser, PositioningData, RecordingEntity, ServiceKey, SMSResult, SmsTpDestinationNumber, TimeStamp
+--FROM GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version1 (0)}
+
+-- From V670
+RAIdentity
+FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version6 (6) }
+-- from TS 29.002 [60]
+
+DefaultGPRS-Handling
+-- RAIdentity
+FROM MAP-MS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0)
+gsm-Network (1) modules (3) map-MS-DataTypes (11) version6 (6)}
+--
+-- from TS 29.002 [60]
+
+LocationMethod
+FROM SS-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3) ss-DataTypes (2) version7 (7)}
+-- from TS 24.080 [61]
+
+--MBMS2G3GIndicator, FileRepairSupported, MBMSServiceType, MBMSUserServiceType, RequiredMBMSBearerCapabilities, MBMSSessionIdentity, TMGI, MBMSInformation
+--FROM MBMSChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) mbmsChargingDataTypes (8) asn1Module (0) version1 (0)}
+
+-- Editor's note: consider moving the above 2 items also into the generic module in order to avoid again copying from external sources.
+;
+
+------------------------------------------------------------------------------
+--
+-- GPRS RECORDS
+--
+------------------------------------------------------------------------------
+
+GPRSCallEventRecord ::= CHOICE
+{
+--
+-- Record values 20..27 are GPRS specific
+-- Record values 29..30 are GPRS and MBMS specific
+
+ sgsnPDPRecord [20] SGSNPDPRecordV651,
+ ggsnPDPRecord [21] GGSNPDPRecord,
+ sgsnMMRecord [22] SGSNMMRecord,
+ sgsnSMORecord [23] SGSNSMORecordV651,
+ sgsnSMTRecord [24] SGSNSMTRecordV651,
+-- sgsnLCTRecord [25] SGSNLCTRecord,
+-- sgsnLCORecord [26] SGSNLCORecord,
+-- sgsnLCNRecord [27] SGSNLCNRecord,
+ egsnPDPRecord [28] EGSNPDPRecord
+-- sgsnMBMSRecord [29] SGSNMBMSRecord,
+-- ggsnMBMSRecord [30] GGSNMBMSRecord
+}
+-- Editor's note: the acronyms for the LCS record types are not consistent with CS and the "call event record type" notation. They also contradict to the record type definitons below, so alignment is needed.
+
+GGSNPDPRecord ::= SET
+{
+ recordType [0] CallEventRecordType,
+ networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL,
+ servedIMSI [3] IMSI,
+ ggsnAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ sgsnAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpType [8] PDPType OPTIONAL,
+ servedPDPAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharConditionV651 OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosingV651,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ externalChargingID [26] OCTET STRING OPTIONAL,
+ sgsnPLMNIdentifier [27] PLMN-Id OPTIONAL,
+ servedIMEISV [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ cAMELChargingInformation [33] OCTET STRING OPTIONAL
+
+}
+
+-- WS Added GGSNPDPRecord from V750 spec here
+GGSNPDPRecordV750 ::= SET
+{
+ recordType [0] RecordType,
+ networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL,
+ servedIMSI [3] IMSI,
+ ggsnAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ sgsnAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpType [8] PDPType OPTIONAL,
+ servedPDPAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharConditionV651 OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosing,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ externalChargingID [26] OCTET STRING OPTIONAL,
+ sgsnPLMNIdentifier [27] PLMN-Id OPTIONAL,
+ servedIMEISV [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ cAMELChargingInformation [33] OCTET STRING OPTIONAL
+}
+EGSNPDPRecord ::= SET
+{
+ recordType [0] CallEventRecordType,
+ networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL,
+ servedIMSI [3] IMSI,
+ ggsnAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ sgsnAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpType [8] PDPType OPTIONAL,
+ servedPDPAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharConditionV651 OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosingV651,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ externalChargingID [26] OCTET STRING OPTIONAL,
+ sgsnPLMNIdentifier [27] PLMN-Id OPTIONAL,
+ pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL,
+ servedIMEISV [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ cAMELChargingInformation [33] OCTET STRING OPTIONAL,
+ listOfServiceData [34] SEQUENCE OF ChangeOfServiceConditionV651 OPTIONAL
+}
+
+EGSNPDPRecordV750 ::= SET
+{
+ recordType [0] CallEventRecordType,
+ networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL,
+ servedIMSI [3] IMSI,
+ ggsnAddress [4] GSNAddress,
+ chargingID [5] ChargingID,
+ sgsnAddress [6] SEQUENCE OF GSNAddress,
+ accessPointNameNI [7] AccessPointNameNI OPTIONAL,
+ pdpType [8] PDPType OPTIONAL,
+ servedPDPAddress [9] PDPAddress OPTIONAL,
+ dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
+ listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharConditionV651 OPTIONAL,
+ recordOpeningTime [13] TimeStamp,
+ duration [14] CallDuration,
+ causeForRecClosing [15] CauseForRecClosingV651,
+ diagnostics [16] Diagnostics OPTIONAL,
+ recordSequenceNumber [17] INTEGER OPTIONAL,
+ nodeID [18] NodeID OPTIONAL,
+ recordExtensions [19] ManagementExtensions OPTIONAL,
+ localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [21] APNSelectionMode OPTIONAL,
+ servedMSISDN [22] MSISDN OPTIONAL,
+ chargingCharacteristics [23] ChargingCharacteristics,
+ chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+ iMSsignalingContext [25] NULL OPTIONAL,
+ externalChargingID [26] OCTET STRING OPTIONAL,
+ sgsnPLMNIdentifier [27] PLMN-Id OPTIONAL,
+ pSFurnishChargingInformation [28] PSFurnishChargingInformation OPTIONAL,
+ servedIMEISV [29] IMEI OPTIONAL,
+ rATType [30] RATType OPTIONAL,
+ mSTimeZone [31] MSTimeZone OPTIONAL,
+ userLocationInformation [32] OCTET STRING OPTIONAL,
+ cAMELChargingInformation [33] OCTET STRING OPTIONAL,
+ listOfServiceData [34] SEQUENCE OF ChangeOfServiceConditionV750 OPTIONAL
+}
+--SGSNMMRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- servedIMSI [1] IMSI,
+-- servedIMEI [2] IMEI OPTIONAL,
+-- sgsnAddress [3] GSNAddress OPTIONAL,
+-- msNetworkCapability [4] MSNetworkCapability OPTIONAL,
+-- routingArea [5] RoutingAreaCode OPTIONAL,
+-- locationAreaCode [6] LocationAreaCode OPTIONAL,
+-- cellIdentifier [7] CellId OPTIONAL,
+-- changeLocation [8] SEQUENCE OF ChangeLocationV651 OPTIONAL,
+-- recordOpeningTime [9] TimeStamp,
+-- duration [10] CallDuration OPTIONAL,
+-- sgsnChange [11] SGSNChange OPTIONAL,
+-- causeForRecClosing [12] CauseForRecClosingV651,
+-- diagnostics [13] Diagnostics OPTIONAL,
+-- recordSequenceNumber [14] INTEGER OPTIONAL,
+-- nodeID [15] NodeID OPTIONAL,
+-- recordExtensions [16] ManagementExtensions OPTIONAL,
+-- localSequenceNumber [17] LocalSequenceNumber OPTIONAL,
+-- servedMSISDN [18] MSISDN OPTIONAL,
+-- chargingCharacteristics [19] ChargingCharacteristics,
+-- cAMELInformationMM [20] CAMELInformationMM OPTIONAL,
+-- rATType [21] RATType OPTIONAL,
+-- chChSelectionMode [22] ChChSelectionMode OPTIONAL
+--}
+
+SGSNPDPRecordV651 ::= SET
+{
+ recordType [0] CallEventRecordType,
+ networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL,
+ servedIMSI [3] IMSI,
+ servedIMEI [4] IMEI OPTIONAL,
+ sgsnAddress [5] GSNAddress OPTIONAL,
+ msNetworkCapability [6] MSNetworkCapability OPTIONAL,
+ routingArea [7] RoutingAreaCode OPTIONAL,
+ locationAreaCode [8] LocationAreaCode OPTIONAL,
+ cellIdentifier [9] CellId OPTIONAL,
+ chargingID [10] ChargingID,
+ ggsnAddressUsed [11] GSNAddress,
+ accessPointNameNI [12] AccessPointNameNI OPTIONAL,
+ pdpType [13] PDPType OPTIONAL,
+ servedPDPAddress [14] PDPAddress OPTIONAL,
+ listOfTrafficVolumes [15] SEQUENCE OF ChangeOfCharConditionV651 OPTIONAL,
+ recordOpeningTime [16] TimeStamp,
+ duration [17] CallDuration,
+ sgsnChange [18] SGSNChange OPTIONAL,
+ causeForRecClosing [19] CauseForRecClosingV651,
+ diagnostics [20] Diagnostics OPTIONAL,
+ recordSequenceNumber [21] INTEGER OPTIONAL,
+ nodeID [22] NodeID OPTIONAL,
+ recordExtensions [23] ManagementExtensions OPTIONAL,
+ localSequenceNumber [24] LocalSequenceNumber OPTIONAL,
+ apnSelectionMode [25] APNSelectionMode OPTIONAL,
+ accessPointNameOI [26] AccessPointNameOI OPTIONAL,
+ servedMSISDN [27] MSISDN OPTIONAL,
+ chargingCharacteristics [28] ChargingCharacteristics,
+ rATType [29] RATType OPTIONAL,
+ cAMELInformationPDP [30] CAMELInformationPDP OPTIONAL,
+ rNCUnsentDownlinkVolume [31] DataVolumeGPRS OPTIONAL,
+ chChSelectionMode [32] ChChSelectionMode OPTIONAL,
+ dynamicAddressFlag [33] DynamicAddressFlag OPTIONAL
+}
+
+SGSNSMORecordV651 ::= SET
+{
+ recordType [0] CallEventRecordType,
+ servedIMSI [1] IMSI,
+ servedIMEI [2] IMEI OPTIONAL,
+ servedMSISDN [3] MSISDN OPTIONAL,
+ msNetworkCapability [4] MSNetworkCapability OPTIONAL,
+ serviceCentre [5] AddressString OPTIONAL,
+ recordingEntity [6] RecordingEntity OPTIONAL,
+ locationArea [7] LocationAreaCode OPTIONAL,
+ routingArea [8] RoutingAreaCode OPTIONAL,
+ cellIdentifier [9] CellId OPTIONAL,
+ messageReference [10] MessageReference,
+ eventTimeStamp [11] TimeStamp,
+ smsResult [12] SMSResult OPTIONAL,
+ recordExtensions [13] ManagementExtensions OPTIONAL,
+ nodeID [14] NodeID OPTIONAL,
+ localSequenceNumber [15] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [16] ChargingCharacteristics,
+ rATType [17] RATType OPTIONAL,
+ destinationNumber [18] SmsTpDestinationNumber OPTIONAL,
+ cAMELInformationSMS [19] CAMELInformationSMS OPTIONAL,
+ chChSelectionMode [20] ChChSelectionMode OPTIONAL
+}
+
+SGSNSMTRecordV651 ::= SET
+{
+ recordType [0] CallEventRecordType,
+ servedIMSI [1] IMSI,
+ servedIMEI [2] IMEI OPTIONAL,
+ servedMSISDN [3] MSISDN OPTIONAL,
+ msNetworkCapability [4] MSNetworkCapability OPTIONAL,
+ serviceCentre [5] AddressString OPTIONAL,
+ recordingEntity [6] RecordingEntity OPTIONAL,
+ locationArea [7] LocationAreaCode OPTIONAL,
+ routingArea [8] RoutingAreaCode OPTIONAL,
+ cellIdentifier [9] CellId OPTIONAL,
+ eventTimeStamp [10] TimeStamp,
+ smsResult [11] SMSResult OPTIONAL,
+ recordExtensions [12] ManagementExtensions OPTIONAL,
+ nodeID [13] NodeID OPTIONAL,
+ localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+ chargingCharacteristics [15] ChargingCharacteristics,
+ rATType [16] RATType OPTIONAL,
+ chChSelectionMode [17] ChChSelectionMode OPTIONAL,
+ cAMELInformationSMS [18] CAMELInformationSMS OPTIONAL
+}
+
+--SGSNMTLCSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- recordingEntity [1] RecordingEntity,
+-- lcsClientType [2] LCSClientType,
+-- lcsClientIdentity [3] LCSClientIdentity,
+-- servedIMSI [4] IMSI,
+-- servedMSISDN [5] MSISDN OPTIONAL,
+-- sgsnAddress [6] GSNAddress OPTIONAL,
+-- locationType [7] LocationType,
+-- lcsQos [8] LCSQoSInfo OPTIONAL,
+-- lcsPriority [9] LCS-Priority OPTIONAL,
+-- mlcNumber [10] ISDN-AddressString,
+-- eventTimeStamp [11] TimeStamp,
+-- measurementDuration [12] CallDuration OPTIONAL,
+-- notificationToMSUser [13] NotificationToMSUser OPTIONAL,
+-- privacyOverride [14] NULL OPTIONAL,
+-- location [15] LocationAreaAndCell OPTIONAL,
+-- routingArea [16] RoutingAreaCode OPTIONAL,
+-- locationEstimate [17] Ext-GeographicalInformation OPTIONAL,
+-- positioningData [18] PositioningData OPTIONAL,
+-- lcsCause [19] LCSCause OPTIONAL,
+-- diagnostics [20] Diagnostics OPTIONAL,
+-- nodeID [21] NodeID OPTIONAL,
+-- localSequenceNumber [22] LocalSequenceNumber OPTIONAL,
+-- chargingCharacteristics [23] ChargingCharacteristics,
+-- chChSelectionMode [24] ChChSelectionMode OPTIONAL,
+-- rATType [25] RATType OPTIONAL,
+-- recordExtensions [26] ManagementExtensions OPTIONAL,
+-- causeForRecClosing [27] CauseForRecClosingV651
+--}
+
+--SGSNMOLCSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- recordingEntity [1] RecordingEntity,
+-- lcsClientType [2] LCSClientType OPTIONAL,
+-- lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
+-- servedIMSI [4] IMSI,
+-- servedMSISDN [5] MSISDN OPTIONAL,
+-- sgsnAddress [6] GSNAddress OPTIONAL,
+-- locationMethod [7] LocationMethod,
+-- lcsQos [8] LCSQoSInfo OPTIONAL,
+-- lcsPriority [9] LCS-Priority OPTIONAL,
+-- mlcNumber [10] ISDN-AddressString OPTIONAL,
+-- eventTimeStamp [11] TimeStamp,
+-- measurementDuration [12] CallDuration OPTIONAL,
+-- location [13] LocationAreaAndCell OPTIONAL,
+-- routingArea [14] RoutingAreaCode OPTIONAL,
+-- locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
+-- positioningData [16] PositioningData OPTIONAL,
+-- lcsCause [17] LCSCause OPTIONAL,
+-- diagnostics [18] Diagnostics OPTIONAL,
+-- nodeID [19] NodeID OPTIONAL,
+-- localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+-- chargingCharacteristics [21] ChargingCharacteristics,
+-- chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+-- rATType [23] RATType OPTIONAL,
+-- recordExtensions [24] ManagementExtensions OPTIONAL,
+-- causeForRecClosing [25] CauseForRecClosingV651
+--}
+
+--SGSNNILCSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- recordingEntity [1] RecordingEntity,
+-- lcsClientType [2] LCSClientType OPTIONAL,
+-- lcsClientIdentity [3] LCSClientIdentity OPTIONAL,
+-- servedIMSI [4] IMSI OPTIONAL,
+-- servedMSISDN [5] MSISDN OPTIONAL,
+-- sgsnAddress [6] GSNAddress OPTIONAL,
+-- servedIMEI [7] IMEI OPTIONAL,
+-- lcsQos [8] LCSQoSInfo OPTIONAL,
+-- lcsPriority [9] LCS-Priority OPTIONAL,
+-- mlcNumber [10] ISDN-AddressString OPTIONAL,
+-- eventTimeStamp [11] TimeStamp,
+-- measurementDuration [12] CallDuration OPTIONAL,
+-- location [13] LocationAreaAndCell OPTIONAL,
+-- routingArea [14] RoutingAreaCode OPTIONAL,
+-- locationEstimate [15] Ext-GeographicalInformation OPTIONAL,
+-- positioningData [16] PositioningData OPTIONAL,
+-- lcsCause [17] LCSCause OPTIONAL,
+-- diagnostics [18] Diagnostics OPTIONAL,
+-- nodeID [19] NodeID OPTIONAL,
+-- localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
+-- chargingCharacteristics [21] ChargingCharacteristics,
+-- chChSelectionMode [22] ChChSelectionMode OPTIONAL,
+-- rATType [23] RATType OPTIONAL,
+-- recordExtensions [24] ManagementExtensions OPTIONAL,
+-- causeForRecClosing [25] CauseForRecClosingV651
+--}
+
+--SGSNMBMSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- ggsnAddress [1] GSNAddress,
+-- chargingID [2] ChargingID,
+-- listofRAs [3] SEQUENCE OF RAIdentity OPTIONAL,
+-- accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+-- servedPDPAddress [5] PDPAddress OPTIONAL,
+-- listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+-- recordOpeningTime [7] TimeStamp,
+-- duration [8] CallDuration,
+-- causeForRecClosing [9] CauseForRecClosingV651,
+-- diagnostics [10] Diagnostics OPTIONAL,
+-- recordSequenceNumber [11] INTEGER OPTIONAL,
+-- nodeID [12] NodeID OPTIONAL,
+-- recordExtensions [13] ManagementExtensions OPTIONAL,
+-- localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+-- sgsnPLMNIdentifier [15] PLMN-Id OPTIONAL,
+-- numberofReceivingUE [16] Integer OPTIONAL,
+-- mbmsInformation [17] MBMSInformation OPTIONAL
+--
+--}
+
+--GGSNMBMSRecord ::= SET
+--{
+-- recordType [0] CallEventRecordType,
+-- ggsnAddress [1] GSNAddress,
+-- chargingID [2] ChargingID,
+-- listofDownstreamNodes [3] SEQUENCE OF GSNAddress,
+-- accessPointNameNI [4] AccessPointNameNI OPTIONAL,
+-- servedPDPAddress [5] PDPAddress OPTIONAL,
+-- listOfTrafficVolumes [6] SEQUENCE OF ChangeOfMBMSCondition OPTIONAL,
+-- recordOpeningTime [7] TimeStamp,
+-- duration [8] CallDuration,
+-- causeForRecClosing [9] CauseForRecClosingV651,
+-- diagnostics [10] Diagnostics OPTIONAL,
+-- recordSequenceNumber [11] INTEGER OPTIONAL,
+-- nodeID [12] NodeID OPTIONAL,
+-- recordExtensions [13] ManagementExtensions OPTIONAL,
+-- localSequenceNumber [14] LocalSequenceNumber OPTIONAL,
+-- mbmsInformation [15] MBMSInformation OPTIONAL
+--}
+
+------------------------------------------------------------------------------
+--
+-- GPRS DATA TYPES
+--
+------------------------------------------------------------------------------
+
+-- AccessPointNameNI ::= IA5String (SIZE(1..63))
+ --
+ -- Network Identifier part of APN in dot representation.
+ -- For example, if the complete APN is 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs'
+ -- NI is 'apn1a.apn1b.apn1c' and is presented in this form in the CDR..
+ --
+
+-- AccessPointNameOI ::= IA5String (SIZE(1..37))
+ --
+ -- Operator Identifier part of APN in dot representation.
+ -- In the 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs' example, the OI portion is 'mnc022.mcc111.gprs'
+ -- and is presented in this form in the CDR.
+ --
+
+--APNSelectionMode::= ENUMERATED
+--{
+ --
+ -- See Information Elements TS 29.060 [75]
+ --
+-- mSorNetworkProvidedSubscriptionVerified (0),
+-- mSProvidedSubscriptionNotVerified (1),
+-- networkProvidedSubscriptionNotVerified (2)
+--}
+
+--CAMELAccessPointNameNI ::= AccessPointNameNI
+
+--CAMELAccessPointNameOI ::= AccessPointNameOI
+
+--CAMELInformationMM ::= SET
+--{
+-- sCFAddress [1] SCFAddress OPTIONAL,
+-- serviceKey [2] ServiceKey OPTIONAL,
+-- defaultTransactionHandling [3] DefaultGPRS-Handling OPTIONAL,
+-- numberOfDPEncountered [4] NumberOfDPEncountered OPTIONAL,
+-- levelOfCAMELService [5] LevelOfCAMELService OPTIONAL,
+-- freeFormatData [6] FreeFormatData OPTIONAL,
+-- fFDAppendIndicator [7] FFDAppendIndicator OPTIONAL
+--}
+
+--CAMELInformationPDP ::= SET
+--{
+-- sCFAddress [1] SCFAddress OPTIONAL,
+-- serviceKey [2] ServiceKey OPTIONAL,
+-- defaultTransactionHandling [3] DefaultGPRS-Handling OPTIONAL,
+-- cAMELAccessPointNameNI [4] CAMELAccessPointNameNI OPTIONAL,
+-- cAMELAccessPointNameOI [5] CAMELAccessPointNameOI OPTIONAL,
+-- numberOfDPEncountered [6] NumberOfDPEncountered OPTIONAL,
+-- levelOfCAMELService [7] LevelOfCAMELService OPTIONAL,
+-- freeFormatData [8] FreeFormatData OPTIONAL,
+-- fFDAppendIndicator [9] FFDAppendIndicator OPTIONAL
+--}
+
+--CAMELInformationSMS ::= SET
+--{
+-- sCFAddress [1] SCFAddress OPTIONAL,
+-- serviceKey [2] ServiceKey OPTIONAL,
+-- defaultSMSHandling [3] DefaultSMS-Handling OPTIONAL,
+-- cAMELCallingPartyNumber [4] CallingNumber OPTIONAL,
+-- cAMELDestinationSubscriberNumber [5] SmsTpDestinationNumber OPTIONAL,
+-- cAMELSMSCAddress [6] AddressString OPTIONAL,
+-- freeFormatData [7] FreeFormatData OPTIONAL,
+-- smsReferenceNumber [8] CallReferenceNumber OPTIONAL
+--}
+CauseForRecClosingV651 ::= INTEGER
+{
+ --
+ -- In GGSN the value sGSNChange should be used for partial record
+ -- generation due to SGSN Address List Overflow
+ --
+ -- LCS related causes belong to the MAP error causes acc. TS 29.002
+ --
+ -- cause codes 0 to 15 are defined 'CauseForTerm' (cause for termination)
+ --
+ normalRelease (0),
+ abnormalRelease (4),
+ cAMELInitCallRelease (5),
+ volumeLimit (16),
+ timeLimit (17),
+ sGSNChange (18),
+ maxChangeCond (19),
+ managementIntervention (20),
+ intraSGSNIntersystemChange (21),
+ rATChange (22),
+ mSTimeZoneChange (23),
+ sGSNPLMNIDChange (24), -- Copied from V8e0
+ unauthorizedRequestingNetwork (52),
+ unauthorizedLCSClient (53),
+ positionMethodFailure (54),
+ unknownOrUnreachableLCSClient (58),
+ listofDownstreamNodeChange (59)
+}
+
+ChangeConditionV651 ::= ENUMERATED
+{
+ --
+ -- Failure Handling values used in eGCDR only
+ --
+ qoSChange (0),
+ tariffTime (1),
+ recordClosure (2),
+ failureHandlingContinueOngoing (3),
+ failureHandlingRetryandTerminateOngoing (4),
+ failureHandlingTerminateOngoing (5),
+-- WS mod add from V750
+ cGI-SAICHange (6),
+ rAIChange (7),
+ dT-Establishment (8),
+ dT-Removal (9)
+}
+
+ChangeOfCharConditionV651 ::= SEQUENCE
+{
+ --
+ -- Used in PDP context record only
+ --
+ qosRequested [1] QoSInformation OPTIONAL,
+ qosNegotiated [2] QoSInformation OPTIONAL,
+ dataVolumeGPRSUplink [3] DataVolumeGPRS,
+ dataVolumeGPRSDownlink [4] DataVolumeGPRS,
+ changeCondition [5] ChangeConditionV651,
+ changeTime [6] TimeStamp,
+-- WS mod add from V750
+ failureHandlingContinue [7] FailureHandlingContinue OPTIONAL,
+ userLocationInformation [8] OCTET STRING OPTIONAL
+}
+--ChangeOfMBMSCondition ::= SEQUENCE
+--{
+ --
+ -- Used in MBMS record
+ --
+-- qosRequested [1] QoSInformation OPTIONAL,
+-- qosNegotiated [2] QoSInformation OPTIONAL,
+-- dataVolumeMBMSUplink [3] DataVolumeMBMS OPTIONAL,
+-- dataVolumeMBMSDownlink [4] DataVolumeMBMS,
+-- changeCondition [5] ChangeConditionV651,
+-- changeTime [6] TimeStamp,
+-- failureHandlingContinue [7] FailureHandlingContinue OPTIONAL
+--}
+
+ChangeOfServiceConditionV651 ::= SEQUENCE
+{
+ --
+ -- Used for Flow based Charging service data container
+ --
+
+ ratingGroup [1] RatingGroupId,
+ chargingRuleBaseName [2] ChargingRuleBaseName OPTIONAL,
+ resultCode [3] ResultCode OPTIONAL,
+ localSequenceNumber [4] LocalSequenceNumber OPTIONAL,
+ timeOfFirstUsage [5] TimeStamp OPTIONAL,
+ timeOfLastUsage [6] TimeStamp OPTIONAL,
+ timeUsage [7] CallDuration OPTIONAL,
+ serviceConditionChange [8] ServiceConditionChangeV651,
+ qoSInformationNeg [9] QoSInformation OPTIONAL,
+ sgsn-Address [10] GSNAddress OPTIONAL,
+-- sGSNPLMNIdentifier [11] SGSNPLMNIdentifier OPTIONAL, Typo ?
+ sGSNPLMNIdentifier [11] PLMN-Id OPTIONAL,
+ datavolumeFBCUplink [12] DataVolumeGPRS OPTIONAL,
+ datavolumeFBCDownlink [13] DataVolumeGPRS OPTIONAL,
+ timeOfReport [14] TimeStamp,
+ rATType [15] RATType OPTIONAL,
+ failureHandlingContinue [16] FailureHandlingContinue OPTIONAL,
+ serviceIdentifier [17] ServiceIdentifier OPTIONAL,
+ pSFurnishChargingInformation [18] PSFurnishChargingInformation OPTIONAL
+}
+
+ChangeOfServiceConditionV750 ::= SEQUENCE
+{
+ --
+ -- Used for Flow based Charging service data container
+ --
+ ratingGroup [1] RatingGroupId,
+ chargingRuleBaseName [2] ChargingRuleBaseName OPTIONAL,
+ resultCode [3] ResultCode OPTIONAL,
+ localSequenceNumber [4] LocalSequenceNumber OPTIONAL,
+ timeOfFirstUsage [5] TimeStamp OPTIONAL,
+ timeOfLastUsage [6] TimeStamp OPTIONAL,
+ timeUsage [7] CallDuration OPTIONAL,
+ serviceConditionChangeV750 [8] ServiceConditionChangeV750,
+ qoSInformationNeg [9] QoSInformation OPTIONAL,
+ sgsn-Address [10] GSNAddress OPTIONAL,
+-- sGSNPLMNIdentifier [11] SGSNPLMNIdentifier OPTIONAL,
+ sGSNPLMNIdentifier [11] PLMN-Id OPTIONAL,
+ datavolumeFBCUplink [12] DataVolumeGPRS OPTIONAL,
+ datavolumeFBCDownlink [13] DataVolumeGPRS OPTIONAL,
+ timeOfReport [14] TimeStamp,
+ rATType [15] RATType OPTIONAL,
+ failureHandlingContinue [16] FailureHandlingContinue OPTIONAL,
+ serviceIdentifier [17] ServiceIdentifier OPTIONAL,
+ pSFurnishChargingInformation [18] PSFurnishChargingInformation OPTIONAL,
+ aFRecordInformation [19] SEQUENCE OF AFRecordInformation OPTIONAL,
+ userLocationInformation [20] OCTET STRING OPTIONAL,
+ eventBasedChargingInformation [21] EventBasedChargingInformation OPTIONAL,
+ timeQuotaMechanism [22] TimeQuotaMechanism OPTIONAL
+}
+
+ChangeLocationV651 ::= SEQUENCE
+{
+ --
+ -- used in SGSNMMRecord only
+ --
+ locationAreaCode [0] LocationAreaCode,
+ routingAreaCode [1] RoutingAreaCode,
+ cellId [2] CellId OPTIONAL,
+ changeTime [3] TimeStamp,
+ -- WS add from V750
+ mCC-MNC [4] PLMN-Id OPTIONAL
+}
+
+--ChargingCharacteristics ::= OCTET STRING (SIZE(2))
+ --
+ -- Bit 0-3: Profile Index
+ -- Bit 4-15: For Behavior
+ --
+
+--ChargingID ::= INTEGER (0..4294967295)
+ --
+ -- Generated in GGSN, part of PDP context, see TS 23.060
+ -- 0..4294967295 is equivalent to 0..2**32-1
+ --
+
+--ChargingRuleBaseName ::= IA5String (SIZE(1..16))
+ --
+ -- identifier for the group of charging rules
+ -- see Charging-Rule-Base-Name AVP as desined in 3GPP TS 29.210 [85]
+
+--ChChSelectionMode ::= ENUMERATED
+--{
+-- sGSNSupplied (0), - - For GGSN only
+-- subscriptionSpecific (1), - - For SGSN only
+-- aPNSpecific (2), - - For SGSN only
+-- homeDefault (3), - - For SGSN and GGSN
+-- roamingDefault (4), - - For SGSN and GGSN
+-- visitingDefault (5) - - For SGSN and GGSN
+--}
+
+--DataVolumeGPRS ::= INTEGER
+ --
+ -- The volume of data transferred in octets.
+ --
+
+--DynamicAddressFlag ::= BOOLEAN
+
+--ETSIAddress ::= AddressString
+ --
+ -- First octet for nature of address, and numbering plan indicator (3 for X.121)
+ -- Other octets TBCD
+ -- See TS 29.002
+ --
+
+--FailureHandlingContinue ::= BOOLEAN
+ --
+-- This parameter is included when the failure handling procedure has been executed and new
+-- containers are opened. This parameter shall be included in the first and subsequent
+-- containers opened after the failure handling execution.
+ --
+
+--FFDAppendIndicator ::= BOOLEAN
+
+--FreeFormatData ::= OCTET STRING (SIZE(1..160))
+ --
+ -- Free formated data as sent in the FurnishChargingInformationGPRS
+ -- see TS 29.078
+ --
+
+--GSNAddress ::= IPAddress
+
+--MSNetworkCapability ::= OCTET STRING (SIZE(1..8))
+ -- see 3G TS 24.008
+
+--NetworkInitiatedPDPContext ::= BOOLEAN
+ --
+ -- Set to true if PDP context was initiated from network side
+ --
+
+--NodeID ::= IA5String (SIZE(1..20))
+
+--NumberOfDPEncountered ::= INTEGER
+
+--PDPAddress ::= CHOICE
+--{
+-- iPAddress [0] IPAddress,
+-- eTSIAddress [1] ETSIAddress
+--}
+
+--PDPType ::= OCTET STRING (SIZE(2))
+ --
+ -- OCTET 1: PDP Type Organization
+ -- OCTET 2: PDP Type Number
+ -- See TS 29.060 [75]
+ --
+
+--PLMN-Id ::= OCTET STRING (SIZE (3))
+ --
+ -- This is a 1:1 copy from the Routing Area Identity (RAI) IE specified in TS 29.060 [75]
+ -- as follows:
+ -- OCTET 1 of PLMN-Id = OCTET 2 of RAI
+ -- OCTET 2 of PLMN-Id = OCTET 3 of RAI
+ -- OCTET 3 of PLMN-Id = OCTET 4 of RAI
+
+
+--PSFurnishChargingInformation ::= SEQUENCE
+--{
+-- pSFreeFormatData [1] FreeFormatData,
+-- pSFFDAppendIndicator [2] FFDAppendIndicator OPTIONAL
+--}
+
+
+--QoSInformation ::= OCTET STRING (SIZE (4..15))
+ --
+ -- This octet string
+ -- is a 1:1 copy of the contents (i.e. starting with octet 4) of the "Quality of
+ -- service Profile" information element specified in 3GPP TS 29.060 [75].
+
+-- RatingGroup ::= INTEGER Typo ?
+-- RatingGroupId ::= INTEGER
+ --
+ -- IP service flow identity (DCCA), range of 4 byte (0...4294967259)
+ -- see Rating-Group AVP as used in 3GPP TS 32.299 [40]
+ --
+
+-- RATType ::= INTEGER
+ --
+ -- Ihis integer is 1:1 copy of the RAT type value as defined in 3GPP TS 29.060 [75].
+ --
+
+--ResultCode ::= INTEGER
+--
+ -- charging protocol return value, range of 4 byte (0...4294967259)
+ -- see Result-Code AVP as used in 3GPP 29.210 [85]
+ --
+
+--RoutingAreaCode ::= OCTET STRING (SIZE(1))
+ --
+ -- See TS 24.008 --
+ --
+
+ServiceConditionChangeV651 ::= BIT STRING
+{
+qoSChange (0),
+sGSNChange (1),
+sGSNPLMNIDChange (2),
+tariffTimeSwitch (3),
+pDPContextRelease (4),
+rATChange (5),
+serviceIdledOut (6),
+qCTExpiry (7),
+configurationChange (8),
+serviceStop (9),
+timeThresholdReached (10),
+volumeThresholdReached (11),
+timeExhausted (13),
+volumeExhausted (14),
+timeout (15),
+returnRequested (16),
+reauthorisationRequest (17),
+continueOngoingSession (18),
+retryAndTerminateOngoingSession (19),
+terminateOngoingSession (20)
+}
+-- Bits 0-5 are cause values for Gn update/release and TTS
+-- Bits 6-9 are cause values for service stop
+-- Bits 10-14 are cause values for service reauthorization request
+-- Bits 15-17 are cause values for quota return
+-- Bits 18-20: are cause values for Failure Handling Procedure
+-- Bits 21-32: are unused and will always be zero
+-- some of the values are non-exclusive
+-- serviceIdledOut - bit 6 is equivalent to service release by QHT
+
+ServiceConditionChangeV750 ::= BIT STRING
+{
+ qoSChange (0), -- PDP context modification
+ sGSNChange (1), -- PDP context modification
+ sGSNPLMNIDChange (2), -- PDP context modification
+ tariffTimeSwitch (3), -- tariff time change
+ pDPContextRelease (4), -- PDP context release
+ rATChange (5), -- PDP context modification
+ serviceIdledOut (6), -- IP flow idle out, DCCA QHT expiry
+ reserved (7), -- old: QCTexpiry is no report event
+ configurationChange (8), -- configuration change
+ serviceStop (9), -- IP flow termination
+ dCCATimeThresholdReached (10), -- DCCA quota reauthorization
+ dCCAVolumeThresholdReached (11), -- DCCA quota reauthorization
+ dCCAServiceSpecificUnitThresholdReached (12), -- DCCA quota reauthorization
+ dCCATimeExhausted (13), -- DCCA quota reauthorization
+ dCCAVolumeExhausted (14), -- DCCA quota reauthorization
+ dCCAValidityTimeout (15), -- DCCA quota validity time (QVT expiry)
+ reserved2 (16), -- reserved due to no use case,
+ -- old: return Requested is covered by (17),(18)
+ dCCAReauthorisationRequest (17), -- DCCA quota reauthorization request by OCS
+ dCCAContinueOngoingSession (18), -- DCCA failure handling (CCFH),
+ -- continue IP flow
+ dCCARetryAndTerminateOngoingSession (19), -- DCCA failure handling (CCFH),
+ -- terminate IP flow after DCCA retry
+ dCCATerminateOngoingSession (20), -- DCCA failure handling,
+ -- terminate IP flow
+ cGI-SAIChange (21), -- PDP context modification
+ rAIChange (22), -- PDP context modification
+ dCCAServiceSpecificUnitExhausted (23), -- DCCA quota reauthorization
+ recordClosure (24), -- eG-CDR closure
+ timeLimit (25), -- intermediate recording
+ volumeLimit (26), -- intermediate recording
+ serviceSpecificUnitLimit (27), -- intermediate recording
+ envelopeClosure (28)
+}
+--
+-- Trigger and cause values for IP flow level recording are defined for support of independent
+-- online and offline charging and also for tight interworking between online and offline charging.
+-- Unused bits will always be zero.
+-- Some of the values are non-exclusive (e.g. PDP context modification reasons).
+ --
+--SCFAddress ::= AddressString
+ --
+ -- See TS 29.002
+ --
+
+--ServiceIdentifier ::= INTEGER (0..4294967295)
+ --
+ -- The service identifier is used to identify the service or the service component
+ -- the service data flow relates to. See Service-Identifier AVP as defined
+ -- in 3GPP TS 29.210 [85]
+ --
+
+--SGSNChange ::= BOOLEAN
+ --
+ -- present if first record after inter SGSN routing area update
+ -- in new SGSN
+ --
+
+
+END
diff --git a/epan/dissectors/asn1/gprscdr/GenericChargingDataTypes.asn b/epan/dissectors/asn1/gprscdr/GenericChargingDataTypes.asn
new file mode 100644
index 00000000..553c1b4e
--- /dev/null
+++ b/epan/dissectors/asn1/gprscdr/GenericChargingDataTypes.asn
@@ -0,0 +1,987 @@
+-- 3GPP TS 32.298 v18.2.0 (2023-06-23)
+GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version2 (1)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS everything
+
+IMPORTS
+
+AddressString,
+ISDN-AddressString,
+LCSClientExternalID,
+LCSClientInternalID
+FROM MAP-CommonDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version18 (18) }
+-- from TS 29.002 [214]
+
+PositionMethodFailure-Diagnostic,
+UnauthorizedLCSClient-Diagnostic
+FROM MAP-ER-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-ER-DataTypes (17) version18 (18)}
+-- from TS 29.002 [214]
+
+ObjectInstance
+FROM CMIP-1 {joint-iso-itu-t ms (9) cmip (1) modules (0) protocol (3)}
+-- from Rec. X.711 [304]
+
+-- WS localy defined
+--ManagementExtension
+--FROM Attribute-ASN1Module {joint-iso-itu-t ms (9) smi (3) part2 (2) asn1Module (2) 1}
+-- from Rec. X.721 [305]
+
+AE-title
+FROM ACSE-1 {joint-iso-itu-t association-control (2) modules (0) apdus (0) version1 (1) };
+-- Note that the syntax of AE-title to be used is from
+-- ITU-T Rec. X.227[306) / ISO 8650 corrigendum and not "ANY"
+
+--
+-- Generic Data Types
+--
+
+--
+-- B
+--
+
+BCDDirectoryNumber ::= OCTET STRING
+--
+-- This type contains the binary coded decimal representation of
+-- a directory number e.g. calling/called/connected/translated number.
+-- The encoding of the octet string is in accordance with the
+-- the elements "Calling party BCD number", "Called party BCD number"
+-- and "Connected number" defined in TS 24.008 [208].
+-- This encoding includes type of number and number plan information
+-- together with a BCD encoded digit string.
+-- It may also contain both a presentation and screening indicator
+-- (octet 3a).
+-- For the avoidance of doubt, this field does not include
+ -- octets 1 and 2, the element name and length, as this would be
+-- redundant.
+--
+
+--
+-- C
+--
+
+CallDuration ::= INTEGER
+--
+-- The call duration is counted in seconds.
+-- For successful calls /sessions / PDP contexts, this is the chargeable duration.
+-- For call attempts this is the call holding time.
+--
+
+CalledNumber ::= BCDDirectoryNumber
+
+-- WS extension to cater for older version(6)
+CallEventRecordType ::= INTEGER
+{
+
+-- Record values 0..17 are CS specific.
+-- The contents are defined in TS 32.250 [10]
+
+ moCallRecord (0),
+ mtCallRecord (1),
+ roamingRecord (2),
+ incGatewayRecord (3),
+ outGatewayRecord (4),
+ transitCallRecord (5),
+ moSMSRecord (6),
+ mtSMSRecord (7),
+ moSMSIWRecord (8),
+ mtSMSGWRecord (9),
+ ssActionRecord (10),
+ hlrIntRecord (11),
+ locUpdateHLRRecord (12),
+ locUpdateVLRRecord (13),
+ commonEquipRecord (14),
+ moTraceRecord (15), --- used in earlier releases
+ mtTraceRecord (16), --- used in earlier releases
+ termCAMELRecord (17),
+--
+-- Record values 18..22 are GPRS specific.
+-- The contents are defined in TS 32.251 [11]
+--
+ sgsnPDPRecord (18),
+ ggsnPDPRecord (19),
+ sgsnMMRecord (20),
+ sgsnSMORecord (21),
+ sgsnSMTRecord (22),
+--
+-- Record values 23..25 are CS-LCS specific.
+-- The contents are defined in TS 32.250 [10]
+--
+ mtLCSRecord (23),
+ moLCSRecord (24),
+ niLCSRecord (25),
+--
+-- Record values 26..28 are GPRS-LCS specific.
+-- The contents are defined in TS 32.251 [11]
+--
+ sgsnMtLCSRecord (26),
+ sgsnMoLCSRecord (27),
+ sgsnNiLCSRecord (28),
+--
+-- Record values 29..62 are MMS specific.
+-- The contents are defined in TS 32.270 [30]
+--
+ mmO1SRecord (29),
+ mmO4FRqRecord (30),
+ mmO4FRsRecord (31),
+ mmO4DRecord (32),
+ mmO1DRecord (33),
+ mmO4RRecord (34),
+ mmO1RRecord (35),
+ mmOMDRecord (36),
+ mmR4FRecord (37),
+ mmR1NRqRecord (38),
+ mmR1NRsRecord (39),
+ mmR1RtRecord (40),
+ mmR1AFRecord (42),
+ mmR4DRqRecord (43),
+ mmR4DRsRecord (44),
+ mmR1RRRecord (45),
+ mmR4RRqRecord (46),
+ mmR4RRsRecord (47),
+ mmRMDRecord (48),
+ mmFRecord (49),
+ mmBx1SRecord (50),
+ mmBx1VRecord (51),
+ mmBx1URecord (52),
+ mmBx1DRecord (53),
+ mM7SRecord (54),
+ mM7DRqRecord (55),
+ mM7DRsRecord (56),
+ mM7CRecord (57),
+ mM7RRecord (58),
+ mM7DRRqRecord (59),
+ mM7DRRsRecord (60),
+ mM7RRqRecord (61),
+ mM7RRsRecord (62),
+--
+-- Record values 63..69 are IMS specific.
+-- The contents are defined in TS 32.260 [20]
+--
+ s-CSCFRecord (63),
+ p-CSCFRecord (64),
+ i-CSCFRecord (65),
+ mRFCRecord (66),
+ mGCFRecord (67),
+ bGCFRecord (68),
+ aSRecord (69),
+--
+-- Record values 70 is for Flow based Charging
+-- The contents are defined in TS 32.251 [11]
+--
+ egsnPDPRecord (70),
+--
+-- Record values 71..75 are LCS specific.
+-- The contents are defined in TS 32.271 [31]
+--
+ lCSGMORecord (71),
+ lCSRGMTRecord (72),
+ lCSHGMTRecord (73),
+ lCSVGMTRecord (74),
+ lCSGNIRecord (75),
+--
+-- Record values 76..79 are MBMS specific.
+-- The contents are defined in TS 32.251 [11]
+-- Record values 76 and 77 are MBMS bearer context specific
+--
+ sgsnMBMSRecord (76),
+ ggsnMBMSRecord (77),
+-- And TS 32.273 [33]
+-- Record values 78 and 79 are MBMS service specific
+-- and defined in TS 32.273 [33]
+ subBMSCRecord (78),
+ contentBMSCRecord (79),
+--
+-- Record Values 80..81 are PoC specific.
+-- The contents are defined in TS 32.272 [14]
+--
+ pPFRecord (80),
+ cPFRecord (81)
+}
+-- End WS
+
+CallingNumber ::= BCDDirectoryNumber
+
+CellId ::= OCTET STRING (SIZE(2))
+--
+-- Coded according to TS 24.008 [208]
+--
+
+ChargeIndicator ::= INTEGER
+{
+ noCharge (0),
+ charge (1)
+}
+
+CauseForRecClosing ::= INTEGER
+--
+-- Cause codes 0 to 15 are defined 'CauseForTerm' (cause for termination)
+-- There is no direct correlation between these two types.
+--
+-- LCS related causes belong to the MAP error causes acc. TS 29.002 [214]
+--
+-- In PGW-CDR and SGW-CDR the value servingNodeChange is used for partial record
+-- generation due to Serving Node Address list Overflow
+-- In SGSN servingNodeChange indicates the SGSN change
+--
+-- sWGChange value is used in both the S-GW, TWAG and ePDG for inter serving node change
+--
+{
+ normalRelease (0),
+ partialRecord (1),
+ abnormalRelease (4),
+ cAMELInitCallRelease (5),
+ volumeLimit (16),
+ timeLimit (17),
+ servingNodeChange (18),
+ maxChangeCond (19),
+ managementIntervention (20),
+ intraSGSNIntersystemChange (21),
+ rATChange (22),
+ mSTimeZoneChange (23),
+ sGSNPLMNIDChange (24),
+ sGWChange (25),
+ aPNAMBRChange (26),
+ mOExceptionDataCounterReceipt (27),
+ unauthorizedRequestingNetwork (52),
+ unauthorizedLCSClient (53),
+ positionMethodFailure (54),
+ unknownOrUnreachableLCSClient (58),
+ listofDownstreamNodeChange (59)
+}
+
+CauseForTerm ::= INTEGER
+--
+-- Cause codes from 16 up to 31 are defined as 'CauseForRecClosing'
+-- (cause for record closing).
+-- There is no direct correlation between these two types.
+--
+-- LCS related causes belong to the MAP error causes acc. TS 29.002 [214].
+--
+{
+ normalRelease (0),
+ partialRecord (1),
+ partialRecordCallReestablishment (2),
+ unsuccessfulCallAttempt (3),
+ abnormalRelease (4),
+ cAMELInitCallRelease (5),
+ unauthorizedRequestingNetwork (52),
+ unauthorizedLCSClient (53),
+ positionMethodFailure (54),
+ unknownOrUnreachableLCSClient (58)
+}
+
+ChargingID ::= INTEGER (0..4294967295)
+--
+-- Generated in P-GW, part of IP-CAN bearer
+-- 0..4294967295 is equivalent to 0..2**32-1
+--
+
+CivicAddressInformation ::= OCTET STRING
+--
+-- as defined in subclause 3.1 of IETF RFC 4776 [409] excluding the first 3 octets.
+--
+
+CNIPMulticastDistribution ::= ENUMERATED
+{
+ nO-IP-MULTICAST (0),
+ iP-MULTICAST (1)
+}
+
+--
+-- D
+--
+
+DataVolumeOctets ::= INTEGER
+--
+-- The volume of data transferred in octets.
+--
+
+DynamicAddressFlag ::= BOOLEAN
+
+
+Diagnostics ::= CHOICE
+{
+ gsm0408Cause [0] INTEGER,
+ -- See TS 24.008 [208]
+ gsm0902MapErrorValue [1] INTEGER,
+ --
+ -- Note: The value to be stored here corresponds to the local values defined in the MAP-Errors
+ -- and MAP-DialogueInformation modules, for full details see TS 29.002 [214].
+ --
+ itu-tQ767Cause [2] INTEGER,
+ -- See Q.767 [309]
+ networkSpecificCause [3] ManagementExtension,
+ -- To be defined by network operator
+ manufacturerSpecificCause [4] ManagementExtension,
+ -- To be defined by manufacturer
+ -- May be used for CHF generated diagnostics
+ positionMethodFailureCause [5] PositionMethodFailure-Diagnostic,
+ -- See TS 29.002 [214]
+ unauthorizedLCSClientCause [6] UnauthorizedLCSClient-Diagnostic,
+ -- See TS 29.002 [214]
+ diameterResultCodeAndExperimentalResult [7] INTEGER
+ -- See TS 29.338 [230], TS 29.337 [231], TS 29.128 [244]
+-- May be used for Nchf received diagnostics
+}
+
+DiameterIdentity ::= OCTET STRING
+
+--
+-- E
+--
+
+Ecgi ::= SEQUENCE
+{
+ plmnId [0] PLMN-Id,
+ eutraCellId [1] EutraCellId,
+ nid [2] Nid OPTIONAL
+}
+
+EnhancedDiagnostics ::= SEQUENCE
+{
+ rANNASCause [0] SEQUENCE OF RANNASCause
+}
+
+EutraCellId ::= UTF8String
+--
+-- See 3GPP TS 29.571 [249] for details
+--
+
+--
+-- G
+--
+
+GSNAddress ::= IPAddress
+
+--
+-- I
+--
+
+InvolvedParty ::= CHOICE
+{
+ sIP-URI [0] GraphicString, -- refer to rfc3261 [401]
+ tEL-URI [1] GraphicString, -- refer to rfc3966 [402]
+ uRN [2] GraphicString, -- refer to rfc5031 [407]
+ iSDN-E164 [3] GraphicString, -- refer to ITU-T Recommendation E.164[308]
+ externalId [4] UTF8String -- refer to clause 19.7.2 TS 23.003 [200]
+
+}
+
+IPAddress ::= CHOICE
+{
+ iPBinaryAddress IPBinaryAddress,
+ iPTextRepresentedAddress IPTextRepresentedAddress
+}
+
+IPBinaryAddress ::= CHOICE
+{
+ iPBinV4Address [0] IPBinV4Address,
+ iPBinV6Address IPBinV6AddressWithOrWithoutPrefixLength
+}
+
+IPBinV4Address ::= OCTET STRING (SIZE(4))
+
+IPBinV6Address ::= OCTET STRING (SIZE(16))
+
+IPBinV6AddressWithOrWithoutPrefixLength ::= CHOICE
+{
+ iPBinV6Address [1] IPBinV6Address,
+ iPBinV6AddressWithPrefix [4] IPBinV6AddressWithPrefixLength
+}
+
+IPBinV6AddressWithPrefixLength ::= SEQUENCE
+{
+ iPBinV6Address IPBinV6Address,
+ pDPAddressPrefixLength PDPAddressPrefixLength DEFAULT 64
+}
+
+IPTextRepresentedAddress ::= CHOICE
+{ --
+ -- IPv4 address are formatted in the "dotted decimal" notation according to IETF RFC 1166 [411].
+ -- IPv6 address are formatted according to clause 4 of IETF RFC 5952 [412]. The mixed IPv4 IPv6
+ -- notation according to clause 5 of IETF RFC 5952 [412] is not used.
+ -- IPv6 address prefix are formatted in the "/" notation and according to clause 4 of
+ -- IETF RFC 5952 [412].
+ --
+ iPTextV4Address [2] IA5String (SIZE(7..15)),
+ iPTextV6Address [3] IA5String (SIZE(15..45))
+}
+
+--
+-- L
+--
+
+LCSCause ::= OCTET STRING (SIZE(1))
+--
+-- See LCS Cause Value, TS 49.031 [227]
+--
+
+LCSClientIdentity ::= SEQUENCE
+{
+ lcsClientExternalID [0] LCSClientExternalID OPTIONAL,
+ lcsClientDialedByMS [1] AddressString OPTIONAL,
+ lcsClientInternalID [2] LCSClientInternalID OPTIONAL
+}
+
+LCSQoSInfo ::= OCTET STRING (SIZE(4))
+--
+-- See LCS QoS IE, TS 49.031 [227]
+--
+
+LevelOfCAMELService ::= BIT STRING
+{
+ basic (0),
+ callDurationSupervision (1),
+ onlineCharging (2)
+}
+
+LocalSequenceNumber ::= INTEGER (0..4294967295)
+--
+-- Sequence number of the record in this node
+-- 0.. 4294967295 is equivalent to 0..2**32-1, unsigned integer in four octets
+--
+
+LocationAreaAndCell ::= SEQUENCE
+{
+ locationAreaCode [0] LocationAreaCode,
+ cellId [1] CellId,
+ mCC-MNC [2] MCC-MNC OPTIONAL
+}
+
+LocationAreaCode ::= OCTET STRING (SIZE(2))
+--
+-- See TS 24.008 [208]
+--
+
+--
+-- M
+--
+
+
+ManagementExtensions ::= SET OF ManagementExtension
+
+MBMS2G3GIndicator ::= ENUMERATED
+{
+ twoG (0), -- For GERAN access only
+ threeG (1), -- For UTRAN access only
+ twoG-AND-threeG (2) -- For both UTRAN and GERAN access
+}
+
+MBMSInformation ::= SET
+{
+ tMGI [1] TMGI OPTIONAL,
+ mBMSSessionIdentity [2] MBMSSessionIdentity OPTIONAL,
+ mBMSServiceType [3] MBMSServiceType OPTIONAL,
+ mBMSUserServiceType [4] MBMSUserServiceType OPTIONAL, -- only supported in the BM-SC
+ mBMS2G3GIndicator [5] MBMS2G3GIndicator OPTIONAL,
+ fileRepairSupported [6] BOOLEAN OPTIONAL, -- only supported in the BM-SC
+ rAI [7] RoutingAreaCode OPTIONAL, -- only supported in the BM-SC
+ mBMSServiceArea [8] MBMSServiceArea OPTIONAL,
+ requiredMBMSBearerCaps [9] RequiredMBMSBearerCapabilities OPTIONAL,
+ mBMSGWAddress [10] GSNAddress OPTIONAL,
+ cNIPMulticastDistribution [11] CNIPMulticastDistribution OPTIONAL,
+ mBMSDataTransferStart [12] MBMSTime OPTIONAL,
+ mBMSDataTransferStop [13] MBMSTime OPTIONAL
+}
+
+MBMSServiceArea ::= OCTET STRING
+
+MBMSServiceType ::= ENUMERATED
+{
+ mULTICAST (0),
+ bROADCAST (1)
+}
+
+MBMSSessionIdentity ::= OCTET STRING (SIZE (1))
+--
+-- This octet string is a 1:1 copy of the contents of the MBMS-Session-Identity
+-- AVP specified in TS 29.061 [82]
+--
+
+MBMSTime ::= OCTET STRING (SIZE (8))
+--
+-- This value indicates the time in seconds relative to 00:00:00 on 1 January 1900 (calculated as
+-- continuous time without leap seconds and traceable to a common time reference) where binary
+-- encoding of the integer part is in the first 32 bits and binary encoding of the fraction part in
+-- the last 32 bits. The fraction part is expressed with a granularity of 1 /2**32 second as
+-- specified in TS 29.061 [82].
+--
+
+MBMSUserServiceType ::= ENUMERATED
+{
+ dOWNLOAD (0),
+ sTREAMING (1)
+}
+
+MCC-MNC ::= OCTET STRING (SIZE(3))
+--
+-- See TS 24.008 [208]
+--
+
+MessageClass ::= ENUMERATED
+{
+ personal (0),
+ advertisement (1),
+ information-service (2),
+ auto (3)
+}
+
+MessageReference ::= OCTET STRING
+--
+-- The default value shall be one octet set to 0
+--
+
+MSCAddress ::= AddressString
+
+MscNo ::= ISDN-AddressString
+--
+-- See TS 23.003 [200]
+--
+
+MSISDN ::= ISDN-AddressString
+--
+-- See TS 23.003 [200]
+--
+
+MSTimeZone ::= OCTET STRING (SIZE (2))
+--
+-- 1. Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [215]
+--
+
+--
+-- N
+--
+
+Ncgi ::= SEQUENCE
+{
+ plmnId [0] PLMN-Id,
+ nrCellId [1] NrCellId,
+ nid [2] Nid OPTIONAL
+}
+
+Nid ::= UTF8String--
+-- See 3GPP TS 29.571 [249] for details.
+--
+
+NodeID ::= IA5String (SIZE(1..20))
+
+NodeAddress ::= CHOICE
+{
+ iPAddress [0] IPAddress,
+ domainName [1] GraphicString
+}
+
+NrCellId ::= UTF8String
+--
+-- See 3GPP TS 29.571 [249] for details.
+--
+
+
+--
+-- P
+--
+
+PDPAddressPrefixLength ::=INTEGER (1..64)
+--
+-- This is an integer indicating the length of the PDP/PDN IPv6 address prefix
+-- and the default value is 64 bits.
+--
+
+PDPAddress ::= CHOICE
+{
+ iPAddress [0] IPAddress
+-- eTSIAddress [1] ETSIAddress
+-- has only been used in earlier releases for X.121 format
+}
+
+PLMN-Id ::= OCTET STRING (SIZE (3))
+--
+-- This is in the same format as octets 2, 3 and 4 of the Routing Area Identity (RAI) IE specified
+-- in TS 29.060 [215]
+--
+
+PositioningData ::= OCTET STRING (SIZE(1..33))
+--
+-- See Positioning Data IE (octet 3..n), TS 49.031 [227]
+--
+
+PriorityType ::= ENUMERATED
+{
+ low (0),
+ normal (1),
+ high (2)
+}
+
+PSCellInformation ::= SEQUENCE
+{
+ nRcgi [0] Ncgi OPTIONAL,
+ ecgi [1] Ecgi OPTIONAL
+
+}
+
+--
+-- R
+--
+
+RANNASCause ::= OCTET STRING
+-- This octet string is a 1:1 copy of the contents (i.e. starting with octet 5)
+-- of the "RAN/NAS Cause" information element specified in TS 29.274 [223].
+
+RATType ::= INTEGER (0..255)
+--
+--This integer is 1:1 copy of the RAT type value as defined in TS 29.061 [215].
+--
+
+RecordingEntity ::= AddressString
+
+RecordType ::= INTEGER
+--
+-- Record values 0..17 and 87,89 are CS specific. The contents are defined in TS 32.250 [10]
+--
+{
+ moCallRecord (0),
+ mtCallRecord (1),
+ roamingRecord (2),
+ incGatewayRecord (3),
+ outGatewayRecord (4),
+ transitCallRecord (5),
+ moSMSRecord (6),
+ mtSMSRecord (7),
+ moSMSIWRecord (8),
+ mtSMSGWRecord (9),
+ ssActionRecord (10),
+ hlrIntRecord (11),
+ locUpdateHLRRecord (12),
+ locUpdateVLRRecord (13),
+ commonEquipRecord (14),
+ moTraceRecord (15), -- used in earlier releases
+ mtTraceRecord (16), -- used in earlier releases
+ termCAMELRecord (17),
+--
+-- Record values 18..22 are GPRS specific. The contents are defined in TS 32.251 [11]
+--
+ sgsnPDPRecord (18),
+ sgsnMMRecord (20),
+ sgsnSMORecord (21), -- also MME UE originated SMS record
+ sgsnSMTRecord (22), -- also MME UE terminated SMS record
+--
+-- Record values 23..25 are CS-LCS specific. The contents are defined in TS 32.250 [10]
+--
+ mtLCSRecord (23),
+ moLCSRecord (24),
+ niLCSRecord (25),
+--
+-- Record values 26..28 are GPRS-LCS specific. The contents are defined in TS 32.251 [11]
+--
+ sgsnMTLCSRecord (26),
+ sgsnMOLCSRecord (27),
+ sgsnNILCSRecord (28),
+--
+-- Record values 30..62 are MMS specific. The contents are defined in TS 32.270 [30]
+--
+ mMO1SRecord (30),
+ mMO4FRqRecord (31),
+ mMO4FRsRecord (32),
+ mMO4DRecord (33),
+ mMO1DRecord (34),
+ mMO4RRecord (35),
+ mMO1RRecord (36),
+ mMOMDRecord (37),
+ mMR4FRecord (38),
+ mMR1NRqRecord (39),
+ mMR1NRsRecord (40),
+ mMR1RtRecord (41),
+ mMR1AFRecord (42),
+ mMR4DRqRecord (43),
+ mMR4DRsRecord (44),
+ mMR1RRRecord (45),
+ mMR4RRqRecord (46),
+ mMR4RRsRecord (47),
+ mMRMDRecord (48),
+ mMFRecord (49),
+ mMBx1SRecord (50),
+ mMBx1VRecord (51),
+ mMBx1URecord (52),
+ mMBx1DRecord (53),
+ mM7SRecord (54),
+ mM7DRqRecord (55),
+ mM7DRsRecord (56),
+ mM7CRecord (57),
+ mM7RRecord (58),
+ mM7DRRqRecord (59),
+ mM7DRRsRecord (60),
+ mM7RRqRecord (61),
+ mM7RRsRecord (62),
+--
+-- Record values 63..70, 82, 89..91 are IMS specific.
+-- The contents are defined in TS 32.260 [20]
+--
+ sCSCFRecord (63),
+ pCSCFRecord (64),
+ iCSCFRecord (65),
+ mRFCRecord (66),
+ mGCFRecord (67),
+ bGCFRecord (68),
+ aSRecord (69),
+ eCSCFRecord (70),
+ iBCFRecord (82),
+ tRFRecord (89),
+ tFRecord (90),
+aTCFRecord (91),
+--
+-- Record values 71..75 are LCS specific. The contents are defined in TS 32.271 [31]
+--
+ lCSGMORecord (71),
+ lCSRGMTRecord (72),
+ lCSHGMTRecord (73),
+ lCSVGMTRecord (74),
+ lCSGNIRecord (75),
+--
+-- Record values 76..79,86 are MBMS specific.
+-- The contents are defined in TS 32.251 [11] and TS 32.273 [33]
+--
+-- Record values 76,77 and 86 are MBMS bearer context specific
+--
+ sgsnMBMSRecord (76),
+ ggsnMBMSRecord (77),
+ gwMBMSRecord (86),
+--
+-- Record values 78 and 79 are MBMS service specific and defined in TS 32.273 [33]
+--
+ sUBBMSCRecord (78),
+ cONTENTBMSCRecord (79),
+--
+-- Record Values 80..81 are PoC specific. The contents are defined in TS 32.272 [32]
+--
+ pPFRecord (80),
+ cPFRecord (81),
+--
+-- Record values 84,85 and 92,95,96, 97 are EPC specific.
+-- The contents are defined in TS 32.251 [11]
+--
+ sGWRecord (84),
+ pGWRecord (85),
+ tDFRecord (92),
+ iPERecord (95),
+ ePDGRecord (96),
+ tWAGRecord (97),
+--
+-- Record Value 83 is MMTel specific. The contents are defined in TS 32.275 [35]
+--
+ mMTelRecord (83),
+--
+-- Record value 87,88 and 89 are CS specific. The contents are defined in TS 32.250 [10]
+--
+ mSCsRVCCRecord (87),
+ mMTRFRecord (88),
+ iCSRegisterRecord (99),
+--
+-- Record values 93 and 94 are SMS specific. The contents are defined in TS 32.274 [34]
+--
+ sCSMORecord (93),
+ sCSMTRecord (94),
+--
+-- Record values 100, 101 and 102 are ProSe specific. The contents are defined in TS 32.277 [36]
+--
+ pFDDRecord (100),
+ pFEDRecord (101),
+ pFDCRecord (102),
+--
+-- Record values103 and 104 are Monitoring Event specific. The contents are defined in TS
+-- 32.278 [38]
+--
+ mECORecord (103),
+ mERERecord (104),
+--
+-- Record values 105 to 106 are CP data transfer specific. The contents are defined in TS
+-- 32.253 [13]
+--
+ cPDTSCERecord (105),
+ cPDTSNNRecord (106), --
+-- Record values 110 to 113 are SMS specific. The contents are defined in TS
+-- 32.274 [34]
+--
+ sCDVTT4Record (110),
+ sCSMOT4Record (111),
+ iSMSMORecord (112),
+ iSMSMTRecord (113),
+--
+-- Record values 120 are Exposure Function API specific. The contents are defined in TS
+-- 32.254 [14]
+--
+ eASCERecord (120),
+--
+-- Record values from 200 are specific to Charging Function domain
+--
+ chargingFunctionRecord (200)
+--
+
+
+}
+
+RequiredMBMSBearerCapabilities ::= OCTET STRING (SIZE (3..14))
+--
+-- This octet string is a 1:1 copy of the contents (i.e. starting with octet 5) of the
+-- "Quality of service Profile" information element specified in TS 29.060 [75].
+--
+
+RoutingAreaCode ::= OCTET STRING (SIZE(1))
+--
+-- See TS 24.008 [208]
+--
+
+--
+-- S
+--
+
+SCSASAddress ::= SET
+--
+--
+--
+{
+ sCSAddress [1] IPAddress,
+ sCSRealm [2] DiameterIdentity
+}
+
+Session-Id ::= GraphicString
+--
+-- rfc3261 [401]: example for SIP CALL-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@foo.bar.com
+--
+
+ServiceContextID ::= UTF8String
+
+ServiceSpecificInfo ::= SEQUENCE
+{
+ serviceSpecificData [0] GraphicString OPTIONAL,
+ serviceSpecificType [1] INTEGER OPTIONAL
+}
+
+SMSResult ::= Diagnostics
+
+SmsTpDestinationNumber ::= OCTET STRING
+--
+-- This type contains the binary coded decimal representation of
+-- the SMS address field the encoding of the octet string is in
+-- accordance with the definition of address fields in TS 23.040 [201].
+-- This encoding includes type of number and numbering plan indication
+-- together with the address value range.
+--
+
+SubscriberEquipmentNumber ::= SET
+--
+-- If SubscriberEquipmentType is set to IMEISV and IMEI is received, the number of digits is 15.
+--
+{
+ subscriberEquipmentNumberType [0] SubscriberEquipmentType,
+ subscriberEquipmentNumberData [1] OCTET STRING
+}
+
+SubscriberEquipmentType ::= ENUMERATED
+--
+-- It should be noted that depending on the services, not all equipment types are applicable.
+-- For IMS equipment types 0 and 3 are applicable.
+-- In 5GS, for PEI defined as:
+-- - IMEI or IMEISV, iMEISV type is used and the data is per TS 23.003 [200] format.
+-- - MAC address, mAC type is used, and the data is converted from JSON format of the PEI
+-- described in TS 29.571 [249].
+-- - EUI-64, uEI64 type is used, and the data is converted from JSON format of the PEI
+-- described in TS 29.571 [249].
+{
+ iMEISV (0),
+ mAC (1),
+ eUI64 (2),
+ modifiedEUI64 (3)
+}
+
+SubscriptionID ::= SET
+--
+-- See TS 23.003 [200] and TS 29.571 [249]
+--
+{
+ subscriptionIDType [0] SubscriptionIDType,
+ subscriptionIDData [1] UTF8String
+}
+
+SubscriptionIDType ::= ENUMERATED
+{
+ eND-USER-E164 (0),
+ eND-USER-IMSI (1),
+ eND-USER-SIP-URI (2),
+ eND-USER-NAI (3),
+ eND-USER-PRIVATE (4)
+
+--
+-- eND-USER-NAI can be used for externalIdentifier.
+-- eND-USER-IMSI can be used for 5G BRG or 5G CRG.
+-- eND-USER-NAI can be used for GLI or GCI for wireline access network scenarios
+-- NAI format for GCI and GLI is specified in 28.15.5 and 28.15.6 of TS 23.003 [200].
+--
+
+}
+
+SystemType ::= ENUMERATED
+ --
+ -- "unknown" is not to be used in PS domain.
+ --
+{
+ unknown (0),
+ iuUTRAN (1),
+ gERAN (2)
+}
+
+--
+-- T
+--
+
+ThreeGPPPSDataOffStatus ::= ENUMERATED
+{
+ active (0),
+ inactive (1)
+}
+
+
+TimeStamp ::= OCTET STRING (SIZE(9))
+--
+-- The contents of this field are a compact form of the UTCTime format
+-- containing local time plus an offset to universal time. Binary coded
+-- decimal encoding is employed for the digits to reduce the storage and
+-- transmission overhead
+-- e.g. YYMMDDhhmmssShhmm
+-- where
+-- YY = Year 00 to 99 BCD encoded
+-- MM = Month 01 to 12 BCD encoded
+-- DD = Day 01 to 31 BCD encoded
+-- hh = hour 00 to 23 BCD encoded
+-- mm = minute 00 to 59 BCD encoded
+-- ss = second 00 to 59 BCD encoded
+-- S = Sign 0 = "+", "-" ASCII encoded
+-- hh = hour 00 to 23 BCD encoded
+-- mm = minute 00 to 59 BCD encoded
+--
+
+TMGI ::= OCTET STRING
+--
+-- This octet string is a 1:1 copy of the contents (i.e. starting with octet 4)
+-- of the "TMGI" information element specified in TS 29.060 [75].
+--
+
+-- Local WS modification Import ManagementExtension here
+-- as2wrs fault fix:
+DMI-EXTENSION::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+
+ManagementExtension ::= SEQUENCE {
+ identifier DMI-EXTENSION.&id({ManagementExtensionSet}),
+ significance [1] BOOLEAN DEFAULT FALSE,
+ information
+ [2] DMI-EXTENSION.&Value({ManagementExtensionSet}{@.identifier})
+}
+
+END
diff --git a/epan/dissectors/asn1/gprscdr/gprscdr.cnf b/epan/dissectors/asn1/gprscdr/gprscdr.cnf
new file mode 100644
index 00000000..c3c85b3e
--- /dev/null
+++ b/epan/dissectors/asn1/gprscdr/gprscdr.cnf
@@ -0,0 +1,300 @@
+# gprscdr.cnf
+# Anders Broman 2011
+
+#.IMPORT ../gsm_map/gsm_map-exp.cnf
+
+#.MODULE
+
+#.OMIT_ASSIGNMENT
+CalledNumber
+CauseForTerm
+ChargeIndicator
+DataVolumeOctets
+MscNo
+SystemType
+NodeAddress
+ServiceContextID
+ChangeLocationV651
+SubscriberEquipmentNumber
+SubscriberEquipmentType
+Session-Id
+PriorityType
+MessageClass
+# 6.4 If these are needed MBMS asn1 should be added.
+MSCAddress
+
+#.EXPORTS
+CAMELInformationPDP
+CAMELInformationPDP_PDU
+GPRSCallEventRecord
+GPRSCallEventRecord_PDU
+GPRSRecord
+GPRSRecord_PDU
+
+#.CLASS ATTRIBUTE
+&id ObjectIdentifierType
+&Value
+
+#.CLASS CONTEXT
+&id ObjectIdentifierType
+&Value
+
+#.FIELD_RENAME
+IPBinaryAddress/iPBinV6Address iPBinV6Address_choice
+#.FIELD_ATTR
+IPBinaryAddress/iPBinV6Address ABBREV=iPBinV6Address_choice
+
+#.PDU
+CAMELInformationPDP
+GPRSCallEventRecord
+GPRSRecord
+
+# Get the OID
+#.FN_PARS ManagementExtension/identifier FN_VARIANT = _str VAL_PTR = &obj_id
+
+#.FN_BODY ManagementExtension/information
+
+ proto_tree *ext_tree;
+ ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_gprscdr_managementextension_information, NULL, "Information");
+ if (obj_id){
+ offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, ext_tree, NULL);
+ }else{
+ proto_tree_add_expert(ext_tree, actx->pinfo, &ei_gprscdr_not_dissected, tvb, offset, -1);
+ }
+
+#.FN_BODY TimeStamp VAL_PTR = &parameter_tvb
+/*
+ *
+ * The contents of this field are a compact form of the UTCTime format
+ * containing local time plus an offset to universal time. Binary coded
+ * decimal encoding is employed for the digits to reduce the storage and
+ * transmission overhead
+ * e.g. YYMMDDhhmmssShhmm
+ * where
+ * YY = Year 00 to 99 BCD encoded
+ * MM = Month 01 to 12 BCD encoded
+ * DD = Day 01 to 31 BCD encoded
+ * hh = hour 00 to 23 BCD encoded
+ * mm = minute 00 to 59 BCD encoded
+ * ss = second 00 to 59 BCD encoded
+ * S = Sign 0 = "+", "-" ASCII encoded
+ * hh = hour 00 to 23 BCD encoded
+ * mm = minute 00 to 59 BCD encoded
+ */
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ proto_item_append_text(actx->created_item, " (UTC %%x-%%x-%%x %%x:%%x:%%x %%s%%x:%%x)",
+ tvb_get_guint8(parameter_tvb,0), /* Year */
+ tvb_get_guint8(parameter_tvb,1), /* Month */
+ tvb_get_guint8(parameter_tvb,2), /* Day */
+ tvb_get_guint8(parameter_tvb,3), /* Hour */
+ tvb_get_guint8(parameter_tvb,4), /* Minute */
+ tvb_get_guint8(parameter_tvb,5), /* Second */
+ tvb_get_string_enc(actx->pinfo->pool, parameter_tvb,6,1,ENC_ASCII|ENC_NA), /* Sign */
+ tvb_get_guint8(parameter_tvb,7), /* Hour */
+ tvb_get_guint8(parameter_tvb,8) /* Minute */
+ );
+
+#.FN_BODY MSTimeZone VAL_PTR = &parameter_tvb
+/*
+ *
+ * 1.Octet: Time Zone and 2. Octet: Daylight saving time, see TS 29.060 [75]
+ */
+ tvbuff_t *parameter_tvb;
+ guint8 data, data2;
+ char sign;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ data = tvb_get_guint8(parameter_tvb, 0);
+ sign = (data & 0x08) ? '-' : '+';
+ data = (data >> 4) + (data & 0x07) * 10;
+
+ data2 = tvb_get_guint8(tvb, 1) & 0x3;
+
+ proto_item_append_text(actx->created_item, " (GMT %%c %%d hours %%d minutes %%s)",
+ sign,
+ data / 4,
+ data %% 4 * 15,
+ val_to_str_const(data2, gprscdr_daylight_saving_time_vals, "Unknown")
+ );
+
+#.FN_BODY PLMN-Id VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gprscdr_plmn_id);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, TRUE);
+
+#.FN_BODY QoSInformation
+
+ /* This octet string is a 1:1 copy of the contents (i.e. starting with octet 4) of the
+ * Quality of Service (QoS) Profile information element specified in 29.060, ch7.7.34.
+ *
+ */
+
+ header_field_info *hfi;
+ hfi = proto_registrar_get_nth(hf_index);
+
+ offset = decode_qos_umts(tvb, 0, actx->pinfo, tree, hfi->name, 0);
+
+#.FN_BODY EPCQoSInformation/aRP
+ proto_tree *ext_tree_arp;
+ guint length;
+
+ /*
+ * 8.86 Allocation/Retention Priority (ARP)
+ * 3GPP TS 29.274
+ */
+
+ length = tvb_reported_length(tvb);
+ ext_tree_arp = proto_tree_add_subtree(tree, tvb, 0, length, ett_gprscdr_eps_qos_arp, NULL, "aRP");
+
+ dissect_gtpv2_arp(tvb, actx->pinfo, ext_tree_arp, NULL, length, 0, 0, NULL);
+
+ offset = length;
+
+
+#.FN_BODY GGSNPDPRecord/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 1);
+
+#.FN_BODY GGSNPDPRecordV750/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 1);
+
+#.FN_BODY EGSNPDPRecord/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 1);
+
+#.FN_BODY EGSNPDPRecordV750/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 1);
+
+#.FN_BODY ChangeOfCharConditionV651/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 1);
+
+#.FN_BODY ChangeOfServiceConditionV750/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 1);
+
+#.FN_BODY SGWRecord/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 2);
+
+#.FN_BODY SGWRecord/lastUserLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 2);
+
+#.FN_BODY PGWRecord/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 2);
+
+#.FN_BODY PGWRecord/lastUserLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 2);
+
+#.FN_BODY ChangeOfCharCondition/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 2);
+
+#.FN_BODY ChangeOfServiceCondition/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 2);
+
+#.FN_BODY RelatedChangeOfCharCondition/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 2);
+
+#.FN_BODY RelatedChangeOfServiceCondition/userLocationInformation
+
+ offset = dissect_gprscdr_uli(tvb, actx, tree, 2);
+
+#.FN_BODY PDPType
+ proto_tree *ext_tree_pdp_pdn_type;
+ guint length;
+
+ length = tvb_reported_length(tvb);
+
+ if(length == 1) {
+ /*
+ * PDN/EPS Bearer
+ * TS 29.274
+ * 8.34 PDN Type
+ */
+ ext_tree_pdp_pdn_type = proto_tree_add_subtree(tree, tvb, 0, length, ett_gprscdr_pdp_pdn_type, NULL, "pDNType");
+ dissect_gtpv2_pdn_type(tvb, actx->pinfo, ext_tree_pdp_pdn_type, NULL, length, 0, 0, NULL);
+ offset = length;
+ }
+ else {
+ /* PDP context
+ * TS 29.060
+ * 7.7.27 End User Address
+ * Octet 4-5
+ */
+ ext_tree_pdp_pdn_type = proto_tree_add_subtree(tree, tvb, 0, length, ett_gprscdr_pdp_pdn_type, NULL, "pDPType");
+ offset = de_sm_pdp_addr(tvb, ext_tree_pdp_pdn_type, actx->pinfo, 0, length, NULL, 0);
+ }
+
+
+#.FN_BODY GPRSRecord VAL_PTR = &branch_taken
+proto_item *item;
+gint branch_taken, t_offset = offset;
+gint32 tag;
+
+ %(DEFAULT_BODY)s
+
+ if(branch_taken == -1){
+ get_ber_identifier(tvb, t_offset, NULL, NULL, &tag);
+ item = proto_tree_add_uint(tree, hf_index, tvb, t_offset, 1, tag);
+ dissect_ber_identifier(actx->pinfo, tree, tvb, t_offset, NULL, NULL, &tag);
+ expert_add_info_format(actx->pinfo, item, &ei_gprscdr_choice_not_found,
+ "Record type(BER choice) not found: %%u", tag);
+ }
+#.TYPE_ATTR
+IPBinV4Address TYPE = FT_IPv4 DISPLAY = BASE_NONE
+IPBinV6Address TYPE = FT_IPv6 DISPLAY = BASE_NONE
+RATType TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gprscdr_rat_type_vals)
+EPCQoSInformation/maxRequestedBandwithUL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/maxRequestedBandwithDL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/guaranteedBitrateUL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/guaranteedBitrateDL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/aPNAggregateMaxBitrateUL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/aPNAggregateMaxBitrateDL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/extendedMaxRequestedBWUL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/extendedMaxRequestedBWDL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/extendedGBRUL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/extendedGBRDL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/extendedAPNAMBRUL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+EPCQoSInformation/extendedAPNAMBRDL TYPE = FT_UINT32 DISPLAY = BASE_DEC
+CSGId TYPE = FT_UINT32 DISPLAY = BASE_DEC
+RatingGroupId TYPE = FT_UINT32 DISPLAY = BASE_DEC
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/gprscdr/packet-gprscdr-template.c b/epan/dissectors/asn1/gprscdr/packet-gprscdr-template.c
new file mode 100644
index 00000000..160114f4
--- /dev/null
+++ b/epan/dissectors/asn1/gprscdr/packet-gprscdr-template.c
@@ -0,0 +1,170 @@
+/* packet-gprscdr-template.c
+ * Copyright 2011 , Anders Broman <anders.broman [AT] ericsson.com>
+ *
+ * Updates and corrections:
+ * Copyright 2018-2022, Joakim Karlsson <oakimk@gmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References: 3GPP TS 32.298 V17.4.0
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-gsm_map.h"
+#include "packet-gsm_a_common.h"
+#include "packet-e212.h"
+#include "packet-gprscdr.h"
+#include "packet-gtp.h"
+#include "packet-gtpv2.h"
+
+#define PNAME "GPRS CDR"
+#define PSNAME "GPRSCDR"
+#define PFNAME "gprscdr"
+
+void proto_register_gprscdr(void);
+
+/* Define the GPRS CDR proto */
+static int proto_gprscdr = -1;
+
+#include "packet-gprscdr-hf.c"
+
+static int ett_gprscdr = -1;
+static int ett_gprscdr_timestamp = -1;
+static int ett_gprscdr_plmn_id = -1;
+static int ett_gprscdr_pdp_pdn_type = -1;
+static int ett_gprscdr_eps_qos_arp = -1;
+static int ett_gprscdr_managementextension_information = -1;
+static int ett_gprscdr_userlocationinformation = -1;
+#include "packet-gprscdr-ett.c"
+
+static expert_field ei_gprscdr_not_dissected = EI_INIT;
+static expert_field ei_gprscdr_choice_not_found = EI_INIT;
+
+/* Global variables */
+static const char *obj_id = NULL;
+
+static const value_string gprscdr_daylight_saving_time_vals[] = {
+ {0, "No adjustment"},
+ {1, "+1 hour adjustment for Daylight Saving Time"},
+ {2, "+2 hours adjustment for Daylight Saving Time"},
+ {3, "Reserved"},
+ {0, NULL}
+};
+
+/* 3GPP-RAT-Type
+* 3GPP TS 29.061
+*/
+static const value_string gprscdr_rat_type_vals[] = {
+ {0, "Reserved"},
+ {1, "UTRAN"},
+ {2, "GERAN"},
+ {3, "WLAN"},
+ {4, "GAN"},
+ {5, "HSPA Evolution"},
+ {6, "EUTRAN"},
+ {7, "Virtual"},
+ {8, "EUTRAN-NB-IoT"},
+ {9, "LTE-M"},
+ {10, "NR"},
+ /* 11-100 Spare for future use TS 29.061 */
+ {101, "IEEE 802.16e"},
+ {102, "3GPP2 eHRPD"},
+ {103, "3GPP2 HRPD"},
+ /* 104-255 Spare for future use TS 29.061 */
+ {0, NULL}
+};
+
+static int
+dissect_gprscdr_uli(tvbuff_t *tvb _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int type) {
+ proto_tree *ext_tree_uli;
+ guint length;
+
+ length = tvb_reported_length(tvb);
+ ext_tree_uli = proto_tree_add_subtree(tree, tvb, 0, length, ett_gprscdr_userlocationinformation, NULL, "UserLocationInformation");
+
+ switch (type) {
+ case 1:
+ /* For GGSN/EGGSN-CDR,
+ * this octet string is a 1:1 copy of the contents (i.e. starting with octet 4) of the
+ * User Location Information (ULI) information element specified in 29.060, ch7.7.51.
+ */
+ dissect_gtp_uli(tvb, 0, actx->pinfo, ext_tree_uli, NULL);
+ break;
+ case 2:
+ /* For SGW/PGW-CDR,
+ * this octet string is a 1:1 copy of the contents (i.e. starting with octet 5) of the
+ * User Location Information (ULI) information element specified in 29.274, ch8.21.
+ */
+ dissect_gtpv2_uli(tvb, actx->pinfo, ext_tree_uli, NULL, length, 0, 0, NULL);
+ break;
+ default:
+ proto_tree_add_expert(ext_tree_uli, actx->pinfo, &ei_gprscdr_not_dissected, tvb, 0, length);
+ break;
+ }
+
+ return length;
+}
+
+#include "packet-gprscdr-fn.c"
+
+
+
+/* Register all the bits needed with the filtering engine */
+void
+proto_register_gprscdr(void)
+{
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-gprscdr-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_gprscdr,
+ &ett_gprscdr_timestamp,
+ &ett_gprscdr_plmn_id,
+ &ett_gprscdr_pdp_pdn_type,
+ &ett_gprscdr_eps_qos_arp,
+ &ett_gprscdr_managementextension_information,
+ &ett_gprscdr_userlocationinformation,
+#include "packet-gprscdr-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_gprscdr_not_dissected, { "gprscdr.not_dissected", PI_UNDECODED, PI_WARN, "Not dissected", EXPFILL }},
+ { &ei_gprscdr_choice_not_found, { "gprscdr.error.choice_not_found", PI_MALFORMED, PI_WARN, "GPRS CDR Error: This choice field(Record type) was not found", EXPFILL }},
+ };
+
+ expert_module_t* expert_gprscdr;
+
+ proto_gprscdr = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ proto_register_field_array(proto_gprscdr, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_gprscdr = expert_register_protocol(proto_gprscdr);
+ expert_register_field_array(expert_gprscdr, ei, array_length(ei));
+}
+
+/* The registration hand-off routine */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/gprscdr/packet-gprscdr-template.h b/epan/dissectors/asn1/gprscdr/packet-gprscdr-template.h
new file mode 100644
index 00000000..ef5b9d8a
--- /dev/null
+++ b/epan/dissectors/asn1/gprscdr/packet-gprscdr-template.h
@@ -0,0 +1,31 @@
+/* packet-gprscdr.h
+ * Routines for gprscdr packet dissection
+ * Copyright 2011, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_GPRSCDR_H
+#define PACKET_GPRSCDR_H
+
+
+#include "packet-gprscdr-exp.h"
+
+#endif /* PACKET_GPRSCDR_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/gsm_map/CMakeLists.txt b/epan/dissectors/asn1/gsm_map/CMakeLists.txt
new file mode 100644
index 00000000..c245b630
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/CMakeLists.txt
@@ -0,0 +1,88 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME gsm_map )
+
+set( PROTO_OPT _EMPTY_ )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+ ../ros/Remote-Operations-Information-Objects.asn
+)
+
+set( DATATYPES_ASN_FILES
+ MAP-ExtensionDataTypes.asn
+ MAP-CommonDataTypes.asn
+ MAP-SS-DataTypes.asn
+ MAP-ER-DataTypes.asn
+ MAP-SM-DataTypes.asn
+ MAP-OM-DataTypes.asn
+ MAP-MS-DataTypes.asn
+ MAP-CH-DataTypes.asn
+ MAP-LCS-DataTypes.asn
+ MAP-GR-DataTypes.asn
+)
+
+set( OPERATIONS_ASN_FILES
+ MAP-LocationServiceOperations.asn
+ MAP-Group-Call-Operations.asn
+ MAP-ShortMessageServiceOperations.asn
+ MAP-SupplementaryServiceOperations.asn
+ MAP-CallHandlingOperations.asn
+ MAP-OperationAndMaintenanceOperations.asn
+ MAP-MobileServiceOperations.asn
+)
+
+set( SS_ASN_FILES
+ SS-DataTypes.asn
+ SS-Operations.asn
+)
+
+set( PROPRIETARY_ASN_FILES
+ Ericsson.asn
+ Nokia.asn
+)
+
+set( ASN_FILE_LIST
+ MobileDomainDefinitions.asn
+ MAP-ApplicationContexts.asn
+ MAP-SS-Code.asn
+ MAP-BS-Code.asn
+ MAP-TS-Code.asn
+ ${DATATYPES_ASN_FILES}
+ MAP-DialogueInformation.asn
+ ${OPERATIONS_ASN_FILES}
+ MAP-Errors.asn
+ MAP-Protocol.asn
+ GSMMAP.asn
+ ${SS_ASN_FILES}
+ ${PROPRIETARY_ASN_FILES}
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/gsm_map/Ericsson.asn b/epan/dissectors/asn1/gsm_map/Ericsson.asn
new file mode 100644
index 00000000..ab8879b5
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/Ericsson.asn
@@ -0,0 +1,184 @@
+-- Ericsson proprietary extensions
+
+EricssonMAP{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-Protocol (4) version13 (13) }
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+IMPORTS
+
+ IMSI,
+ IMEI,
+ ISDN-AddressString,
+ Ext-SS-Status,
+ SignalInfo,
+ TBCD-STRING
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)}
+
+ RequestedEquipmentInfo
+FROM MAP-MS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MS-DataTypes (11) version13 (13)}
+
+ ExtensionContainer,
+ PrivateExtension
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)}
+;
+
+-- non 3GPP standard compliant extension used by Ericsson (see https://gitlab.com/wireshark/wireshark/-/issues/7648)
+EnhancedCheckIMEI-Arg ::= SEQUENCE {
+ imei IMEI,
+ requestedEquipmentInfo RequestedEquipmentInfo OPTIONAL,
+ imsi [PRIVATE 1] IMSI OPTIONAL,
+ locationInformation [PRIVATE 3] OCTET STRING (SIZE (1..7)) OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+
+-- Start of adding Private Extensions for EricssonS
+
+ExtensionSet MAP-EXTENSION ::= {
+ { &ExtensionType; ExtensionType, &extensionId; {1 2 826 0 1249 58 1 0} },
+ ...}
+
+ExtensionType ::= CHOICE {
+ isdArgType [1] IsdArgType,
+ isdResType [2] IsdResType,
+ dsdArgType [3] DsdArgType,
+ sriArgType [4] SRIArgType,
+ sriResType [5] SRIResType,
+ prnArgType [6] PrnArgType,
+ ulArgType [7] UlArgType,
+ rdArgType [8] RdArgType,
+ saiArgType [9] SaiArgType,
+ saiResType [10] SaiResType,
+ atiArgType [11] AtiArgType,
+ atiResType [12] AtiResType,
+ extAtiArgType [13] ExtAtiArgType
+ }
+
+IsdArgType ::= SEQUENCE (SIZE(1..50)) OF
+ IsdArgData
+
+IsdArgData ::= SEQUENCE {
+ privateFeatureCode [1] PrivateFeatureCode OPTIONAL,
+ privateFeatureData PrivateFeatureData OPTIONAL,
+ ...}
+
+PrivateFeatureData ::= CHOICE {
+ subscriptionTypeInfo [3] SubscriptionTypeInfo,
+ oickInfo [7] OickInfo
+ }
+
+OickInfo ::= SEQUENCE {
+ ss-Status Ext-SS-Status,
+ inCategoryKey INCategoryKey }
+
+INCategoryKey ::= TBCD-STRING (SIZE(1..3))
+
+SubscriptionTypeInfo ::= SEQUENCE {
+ subscriptionType SubscriptionType }
+
+SubscriptionType ::= OCTET STRING (SIZE(1))
+
+IsdResType ::= SEQUENCE (SIZE(1..50)) OF
+ IsdResData
+
+IsdResData ::= SEQUENCE {
+ supportedPrivateFeature [1] PrivateFeatureCode OPTIONAL,
+ ... }
+
+DsdArgType ::= SEQUENCE (SIZE (1..50)) OF
+ DsdArgData
+
+DsdArgData ::= SEQUENCE {
+ privateFeatureWithdraw PrivateFeatureCode }
+
+SRIArgType ::= SEQUENCE (SIZE(1..50)) OF
+ SriArgData
+
+SriArgData ::= SEQUENCE {
+ privateFeatureCode [1] PrivateFeatureCode OPTIONAL,
+ extraNetworkInfo [2] ExtraSignalInfo OPTIONAL,
+ ... }
+
+SRIResType ::= SEQUENCE (SIZE(1..50)) OF
+ SriResData
+
+SriResData ::= SEQUENCE {
+ privateFeatureCode [1] PrivateFeatureCode OPTIONAL,
+ inCategoryKey [2] INCategoryKey OPTIONAL,
+ subscriptionType [5] SubscriptionType OPTIONAL,
+ ... }
+
+PrnArgType ::= SEQUENCE (SIZE(1..50)) OF
+ PrnArgData
+
+PrnArgData ::= SEQUENCE {
+ privateFeatureCode [1] PrivateFeatureCode OPTIONAL,
+ ...,
+ extraNetworkInfo [2] ExtraSignalInfo OPTIONAL }
+
+UlArgType ::= SEQUENCE (SIZE(1..50)) OF
+ UlArgData
+
+UlArgData ::= SEQUENCE {
+ privateFeatureCode [1] PrivateFeatureCode OPTIONAL,
+ privateFeatureUlArgData PrivateFeatureUlArgData OPTIONAL,
+ ... }
+
+PrivateFeatureUlArgData ::= CHOICE {
+ adc [3] IMEI }
+
+ExtraProtocolId ::= INTEGER { q763 (1)} (1..20)
+
+ExtraSignalInfo ::= [PRIVATE 1] SEQUENCE {
+ protocolId ExtraProtocolId,
+ signalInfo SignalInfo }
+
+SaiArgType ::= SEQUENCE {
+ msisdn [1] NULL OPTIONAL,
+ noAuthenVectorsRequested [2] NULL OPTIONAL
+ }
+
+SaiResType ::= SEQUENCE {
+ msIsdn [1] ISDN-AddressString OPTIONAL
+ }
+
+AtiArgType ::= SEQUENCE {
+ requestedInfoType [0] RequestedInfoType OPTIONAL
+ }
+
+AtiResType ::= SEQUENCE {
+ toBeDecided [1] NULL OPTIONAL
+ }
+
+RdArgType ::= SEQUENCE {
+ toBeDecidedOne [1] NULL OPTIONAL
+ }
+
+RequestedInfoType ::= SEQUENCE {
+ sgsnNumber [0] NULL OPTIONAL
+ }
+
+ExtAtiArgType ::= SEQUENCE (SIZE (1..50)) OF AtiArgData
+
+AtiArgData ::= SEQUENCE {
+ privateFeatureCode [1] PrivateFeatureCode OPTIONAL,
+ ...}
+
+PrivateFeatureCode ::= OCTET STRING (SIZE (1))
+
+-- End of adding Private Extension for Ericsson
+
+END
+
diff --git a/epan/dissectors/asn1/gsm_map/GSMMAP.asn b/epan/dissectors/asn1/gsm_map/GSMMAP.asn
new file mode 100644
index 00000000..d4e1753f
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/GSMMAP.asn
@@ -0,0 +1,768 @@
+-- Expanded ASN1 Module 'MAP-Protocol'
+--SIEMENS ASN.1 Compiler R5.70 (Production_5.70)
+-- Date: 2003-09-04 Time: 14:14:00
+-- Updated to version 3GPP TS 29.002 V7.5.0 (2006-09) Release 7
+-- Partially from ETS 300 599: December 2000 (GSM 09.02 version 4.19.1)
+
+DummyMAP{ 0 identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-Protocol (4) version5 (5) }
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+
+-- Must import data types for the "old" asn1 defs collected here.
+IMPORTS
+ AddressString,
+ BasicServiceCode,
+ ExternalSignalInfo,
+ HLR-List,
+ GlobalCellId,
+ ISDN-AddressString,
+ IMSI,
+ IMSI-WithLMSI,
+ LMSI,
+ NetworkResource,
+ ProtocolId,
+ SignalInfo,
+ TeleserviceCode,
+ SubscriberIdentity,
+ SubscriberId
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version11 (11)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version11 (11)}
+
+ CUG-CheckInfo,
+ NumberOfForwarding,
+ RoutingInfo
+FROM MAP-CH-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CH-DataTypes (13) version11 (11)}
+
+ CUG-Interlock,
+ SubscriberData,
+ -- WS modification
+ TripletList,
+ QuintupletList,
+ -- End WS modification
+ AuthenticationSetList
+FROM MAP-MS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MS-DataTypes (11) version15 (15)}
+
+ CorrelationID,
+ SM-DeliveryNotIntended,
+ SM-RP-MTI,
+ SM-RP-SMEA
+FROM MAP-SM-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SM-DataTypes (16) version15 (15)}
+
+;
+
+-- ROS def's
+-- Module Remote-Operations-Apdus (H.450.1:02/1998)
+--Remote-Operations-Apdus {itu-t recommendation h 450 1 version1(0)
+-- remote-operations-apdus(11)} DEFINITIONS AUTOMATIC TAGS ::=
+--BEGIN
+
+Component ::= CHOICE {
+ invoke [1] Invoke,
+ returnResultLast [2] ReturnResult,
+ returnError [3] ReturnError,
+ reject [4] Reject,
+-- TCAP adds returnResultNotLast to allow for the segmentation of a result.
+ returnResultNotLast [7] ReturnResult
+}
+
+Invoke ::= SEQUENCE {
+ invokeID InvokeIdType,
+ linkedID [0] InvokeIdType OPTIONAL,
+ opCode MAP-OPERATION,
+ invokeparameter InvokeParameter OPTIONAL
+}
+InvokeParameter ::= ANY
+
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT
+-- in the type definition of a particular operation.
+
+ReturnResult ::= SEQUENCE {
+ invokeID InvokeIdType,
+ resultretres SEQUENCE {
+ opCode MAP-OPERATION,
+ returnparameter ReturnResultParameter OPTIONAL
+ } OPTIONAL
+ }
+
+ReturnResultParameter ::= ANY
+
+-- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition
+-- of a particular operation.
+
+ReturnError ::= SEQUENCE {
+ invokeID InvokeIdType,
+ errorCode MAP-ERROR,
+ parameter ReturnErrorParameter OPTIONAL }
+
+ReturnErrorParameter ::= ANY
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
+-- of a particular error.
+
+Reject ::= SEQUENCE {
+ invokeIDRej CHOICE {
+ derivable InvokeIdType,
+ not-derivable NULL },
+ problem CHOICE {
+ generalProblem [0] GeneralProblem,
+ invokeProblem [1] InvokeProblem,
+ returnResultProblem [2] ReturnResultProblem,
+ returnErrorProblem [3] ReturnErrorProblem } }
+
+InvokeIdType ::= INTEGER (-128..127)
+
+
+MAP-OPERATION ::= CHOICE {
+ localValue OperationLocalvalue,
+ globalValue OBJECT IDENTIFIER }
+
+GSMMAPOperationLocalvalue ::= INTEGER{
+ updateLocation (2),
+ cancelLocation (3),
+ provideRoamingNumber (4),
+ noteSubscriberDataModified (5),
+ resumeCallHandling (6),
+ insertSubscriberData (7),
+ deleteSubscriberData (8),
+ sendParameters (9),
+ registerSS (10),
+ eraseSS (11),
+ activateSS (12),
+ deactivateSS (13),
+ interrogateSS (14),
+ authenticationFailureReport (15),
+ notifySS (16),
+ registerPassword (17),
+ getPassword (18),
+ processUnstructuredSS-Data (19),
+ releaseResources (20),
+ mt-ForwardSM-VGCS (21),
+ sendRoutingInfo (22),
+ updateGprsLocation (23),
+ sendRoutingInfoForGprs (24),
+ failureReport (25),
+ noteMsPresentForGprs (26),
+ unAllocated (27),
+ performHandover (28),
+ sendEndSignal (29),
+ performSubsequentHandover (30),
+ provideSIWFSNumber (31),
+ sIWFSSignallingModify (32),
+ processAccessSignalling (33),
+ forwardAccessSignalling (34),
+ noteInternalHandover (35),
+ cancelVcsgLocation (36),
+ reset (37),
+ forwardCheckSS (38),
+ prepareGroupCall (39),
+ sendGroupCallEndSignal (40),
+ processGroupCallSignalling (41),
+ forwardGroupCallSignalling (42),
+ checkIMEI (43),
+ mt-forwardSM (44),
+ sendRoutingInfoForSM (45),
+ mo-forwardSM (46),
+ reportSM-DeliveryStatus (47),
+ noteSubscriberPresent (48),
+ alertServiceCentreWithoutResult (49),
+ activateTraceMode (50),
+ deactivateTraceMode (51),
+ traceSubscriberActivity (52),
+ updateVcsgLocation (53),
+ beginSubscriberActivity (54),
+ sendIdentification (55),
+ sendAuthenticationInfo (56),
+ restoreData (57),
+ sendIMSI (58),
+ processUnstructuredSS-Request (59),
+ unstructuredSS-Request (60),
+ unstructuredSS-Notify (61),
+ anyTimeSubscriptionInterrogation (62),
+ informServiceCentre (63),
+ alertServiceCentre (64),
+ anyTimeModification (65),
+ readyForSM (66),
+ purgeMS (67),
+ prepareHandover (68),
+ prepareSubsequentHandover (69),
+ provideSubscriberInfo (70),
+ anyTimeInterrogation (71),
+ ss-InvocationNotification (72),
+ setReportingState (73),
+ statusReport (74),
+ remoteUserFree (75),
+ registerCC-Entry (76),
+ eraseCC-Entry (77),
+ secureTransportClass1 (78),
+ secureTransportClass2 (79),
+ secureTransportClass3 (80),
+ secureTransportClass4 (81),
+ unAllocated (82),
+ provideSubscriberLocation (83),
+ sendGroupCallInfo (84),
+ sendRoutingInfoForLCS (85),
+ subscriberLocationReport (86),
+ ist-Alert (87),
+ ist-Command (88),
+ noteMM-Event (89),
+ unAllocated (90),
+ unAllocated (91),
+ unAllocated (92),
+ unAllocated (93),
+ unAllocated (94),
+ unAllocated (95),
+ unAllocated (96),
+ unAllocated (97),
+ unAllocated (98),
+ unAllocated (99),
+ unAllocated (100),
+ unAllocated (101),
+ unAllocated (102),
+ unAllocated (103),
+ unAllocated (104),
+ unAllocated (105),
+ unAllocated (106),
+ unAllocated (107),
+ unAllocated (108),
+ lcs-PeriodicLocationCancellation (109),
+ lcs-LocationUpdate (110),
+ lcs-PeriodicLocationRequest (111),
+ lcs-AreaEventCancellation (112),
+ lcs-AreaEventReport (113),
+ lcs-AreaEventRequest (114),
+ lcs-MOLR (115),
+ lcs-LocationNotification (116),
+ callDeflection (117),
+ userUserService (118),
+ accessRegisterCCEntry (119),
+ forwardCUG-Info (120),
+ splitMPTY (121),
+ retrieveMPTY (122),
+ holdMPTY(123),
+ buildMPTY (124),
+ forwardChargeAdvice(125),
+ explicitCT (126)
+ }
+
+OperationLocalvalue ::= GSMMAPOperationLocalvalue
+
+MAP-ERROR ::= CHOICE {
+ localValue LocalErrorcode,
+ globalValue OBJECT IDENTIFIER }
+
+GSMMAPLocalErrorcode ::= INTEGER{
+ unknownSubscriber (1),
+ unknownBaseStation (2),
+ unknownMSC (3),
+ secureTransportError (4),
+ unidentifiedSubscriber (5),
+ absentSubscriberSM (6),
+ unknownEquipment (7),
+ roamingNotAllowed (8),
+ illegalSubscriber (9),
+ bearerServiceNotProvisioned (10),
+ teleserviceNotProvisioned (11),
+ illegalEquipment (12),
+ callBarred (13),
+ forwardingViolation (14),
+ cug-Reject (15),
+ illegalSS-Operation (16),
+ ss-ErrorStatus (17),
+ ss-NotAvailable (18),
+ ss-SubscriptionViolation (19),
+ ss-Incompatibility (20),
+ facilityNotSupported (21),
+ ongoingGroupCall (22),
+ invalidTargetBaseStation (23),
+ noRadioResourceAvailable (24),
+ noHandoverNumberAvailable (25),
+ subsequentHandoverFailure (26),
+ absentSubscriber (27),
+ incompatibleTerminal (28),
+ shortTermDenial (29),
+ longTermDenial (30),
+ subscriberBusyForMT-SMS (31),
+ sm-DeliveryFailure (32),
+ messageWaitingListFull (33),
+ systemFailure (34),
+ dataMissing (35),
+ unexpectedDataValue (36),
+ pw-RegistrationFailure (37),
+ negativePW-Check (38),
+ noRoamingNumberAvailable (39),
+ tracingBufferFull (40),
+ targetCellOutsideGroupCallArea (42),
+ numberOfPW-AttemptsViolation (43),
+ numberChanged (44),
+ busySubscriber (45),
+ noSubscriberReply (46),
+ forwardingFailed (47),
+ or-NotAllowed (48),
+ ati-NotAllowed (49),
+ noGroupCallNumberAvailable (50),
+ resourceLimitation (51),
+ unauthorizedRequestingNetwork (52),
+ unauthorizedLCSClient (53),
+ positionMethodFailure (54),
+ unknownOrUnreachableLCSClient (58),
+ mm-EventNotSupported (59),
+ atsi-NotAllowed (60),
+ atm-NotAllowed (61),
+ informationNotAvailable (62),
+ unknownAlphabet (71),
+ ussd-Busy (72)
+}
+
+LocalErrorcode ::= GSMMAPLocalErrorcode
+
+-- PROBLEMS
+
+GeneralProblem ::= INTEGER { unrecognizedComponent (0),
+ mistypedComponent (1),
+ badlyStructuredComponent (2) }
+
+InvokeProblem ::= INTEGER { duplicateInvokeID (0),
+ unrecognizedOperation (1),
+ mistypedParameter (2),
+ resourceLimitation (3),
+ initiatingRelease (4),
+ unrecognizedLinkedID (5),
+ linkedResponseUnexpected (6),
+ unexpectedLinkedOperation (7) }
+
+ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnResultUnexpected (1),
+ mistypedParameter (2) }
+
+ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnErrorUnexpected (1),
+ unrecognizedError (2),
+ unexpectedError (3),
+ mistypedParameter (4) }
+
+
+
+--END
+
+Bss-APDU ::= SEQUENCE {
+ protocolId ProtocolId,
+ signalInfo SignalInfo,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... }
+
+--provideSIWFSNumber OPERATION
+-- ARGUMENT
+
+ProvideSIWFSNumberArg ::= SEQUENCE {
+ gsm-BearerCapability [0] ExternalSignalInfo,
+ isdn-BearerCapability [1] ExternalSignalInfo,
+ call-Direction [2] CallDirection,
+ b-Subscriber-Address [3] ISDN-AddressString,
+ chosenChannel [4] ExternalSignalInfo,
+ lowerLayerCompatibility [5] ExternalSignalInfo OPTIONAL,
+ highLayerCompatibility [6] ExternalSignalInfo OPTIONAL,
+ extensionContainer [7] ExtensionContainer OPTIONAL,
+...}
+-- RESULT
+ProvideSIWFSNumberRes ::= SEQUENCE {
+ sIWFSNumber [0] ISDN-AddressString,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+...}
+-- ERRORS {
+-- resourceLimitation localValue : 51,
+-- dataMissing localValue : 35,
+-- unexpectedDataValue localValue : 36,
+-- systemFailure localValue : 34}
+-- ::= localValue : 31
+
+CallDirection ::= OCTET STRING (SIZE (1))
+-- OCTET 1
+-- bit 1 (direction of call)
+-- 0 Mobile Originated Call (MOC)
+-- 1 Mobile Terminated Call (MTC)
+
+PurgeMSArgV2 ::= SEQUENCE {
+ imsi IMSI,
+ vlr-Number ISDN-AddressString OPTIONAL,
+ ... }
+
+PrepareHO-ArgOld ::= SEQUENCE {
+ targetCellId GlobalCellId OPTIONAL,
+ ho-NumberNotRequired NULL OPTIONAL,
+ bss-APDU Bss-APDU OPTIONAL,
+ ... }
+
+PrepareHO-ResOld ::= SEQUENCE {
+ handoverNumber ISDN-AddressString OPTIONAL,
+ bss-APDU Bss-APDU OPTIONAL,
+ ... }
+
+SendAuthenticationInfoResOld ::= SEQUENCE ( SIZE( 1 .. 5 ) ) OF
+ SEQUENCE {
+ rand RAND,
+ sres SRES,
+ kc Kc,
+ ... }
+
+RAND ::= OCTET STRING (SIZE (16))
+
+SRES ::= OCTET STRING (SIZE (4))
+
+Kc ::= OCTET STRING (SIZE (8))
+
+SendIdentificationResV2 ::= SEQUENCE {
+ imsi IMSI OPTIONAL,
+ tripletList TripletListold OPTIONAL,
+ ...}
+
+TripletListold ::= SEQUENCE SIZE (1..5) OF
+ AuthenticationTriplet-v2
+
+AuthenticationTriplet-v2 ::= SEQUENCE {
+ rand RAND,
+ sres SRES,
+ kc Kc,
+ ...}
+
+--sIWFSSignallingModify OPERATION
+-- ARGUMENT
+SIWFSSignallingModifyArg ::= SEQUENCE {
+ channelType [0] ExternalSignalInfo OPTIONAL,
+ chosenChannel [1] ExternalSignalInfo OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+...}
+-- RESULT
+SIWFSSignallingModifyRes ::= SEQUENCE {
+ channelType [0] ExternalSignalInfo OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ... }
+-- ERRORS {
+-- resourceLimitation localValue : 51,
+-- dataMissing localValue : 35,
+-- unexpectedDataValue localValue : 36,
+-- systemFailure localValue : 34}
+-- ::= localValue : 32
+
+-- not used
+-- Ccbs-Monitoring ::= ENUMERATED {
+-- stopMonitoring ( 0 ),
+-- startMonitoring ( 1 ),
+-- ... }
+
+--setReportingState OPERATION
+-- ARGUMENT
+
+
+
+NewPassword ::= NumericString (SIZE( 4 ) )
+-- ERRORS {
+-- systemFailure localValue : 34,
+-- dataMissing localValue : 35,
+-- unexpectedDataValue localValue : 36,
+-- callBarred localValue : 13,
+-- ss-SubscriptionViolation localValue : 19,
+-- pw-RegistrationFailure localValue : 37,
+-- negativePW-Check localValue : 38,
+-- numberOfPW-AttemptsViolation localValue : 43}
+--LINKED {
+ -- getPassword localValue : 18}
+-- ::= localValue : 17
+
+--getPassword OPERATION
+-- ARGUMENT
+-- GetPasswordArg is GuidanceInfo
+GetPasswordArg ::= ENUMERATED {
+ enterPW ( 0 ),
+ enterNewPW ( 1 ),
+ enterNewPW-Again ( 2 ) }
+-- RESULT
+CurrentPassword ::= NumericString (SIZE( 4 ) )
+-- ::= localValue : 18
+
+--registerCC-Entry OPERATION
+-- ARGUMENT
+
+SecureTransportArg ::= SEQUENCE {
+ securityHeader SecurityHeader,
+ protectedPayload ProtectedPayload OPTIONAL
+}
+
+SecureTransportErrorParam ::= SEQUENCE {
+ securityHeader SecurityHeader,
+ protectedPayload ProtectedPayload OPTIONAL
+}
+
+-- The protectedPayload carries the result of applying the security function
+-- defined in 3GPP TS 33.200 to the encoding of the argument of the securely
+-- transported operation
+
+SecureTransportRes ::= SEQUENCE {
+ securityHeader SecurityHeader,
+ protectedPayload ProtectedPayload OPTIONAL
+}
+-- The protectedPayload carries the result of applying the security function
+-- defined in 3GPP TS 33.200 to the encoding of the result of the securely
+-- transported operation
+
+SecurityHeader ::= SEQUENCE {
+ securityParametersIndex SecurityParametersIndex,
+ originalComponentIdentifier OriginalComponentIdentifier,
+ initialisationVector InitialisationVector OPTIONAL,
+...}
+
+ProtectedPayload ::= OCTET STRING(SIZE(1.. 3438))
+-- In protection mode 0 (noProtection) the ProtectedPayload carries the transfer
+-- syntax value of the component parameter identified by the
+-- originalComponentIdentifier.
+-- In protection mode 1 (integrityAuthenticity) the protectedPayload carries
+-- the transfer syntax value of the component
+-- parameter identified by the originalComponentIdentifier, followed by
+-- the 32 bit integrity check value.
+-- The integrity check value is the result of applying the hash algorithm
+-- to the concatenation of the transfer syntax value of the SecurityHeader,
+-- and the transfer syntax value of the component parameter.
+-- In protection mode 2 (confidentialityIntegrityAuthenticity) the protected
+-- payload carries the encrypted transfer syntax
+-- value of the component parameter identified by the
+-- originalComponentIdentifier, followed by the 32 bit integrity check value.
+-- The integrity check value is the result of applying the hash algorithm
+-- to the concatenation of the transfer syntax value of the SecurityHeader,
+-- and the encrypted transfer syntax value of the component parameter.
+-- See 33.200.
+-- The length of the protectedPayload is adjusted according to the capabilities of
+-- the lower protocol layers
+
+SecurityParametersIndex ::= OCTET STRING (SIZE(4))
+
+InitialisationVector ::= OCTET STRING (SIZE(14))
+-- the internal structure is defined as follows:
+-- Octets 1 to 4 : TVP. The TVP is a 32 bit time stamp. Its value is binary coded
+-- and indicates the number of intervals of 100 milliseconds
+-- elapsed since 1st January 2002, 0:00:00 UTC
+-- Octets 5 to 10: NE-Id. The NE-Id uniquely identifies the sending network entity
+-- within the PLMN. It is the entity's E.164 number without CC and
+-- NDC. It is TBCD-coded, padded with zeros.
+-- Octets 11 to 14: PROP. This 32 bit value is used to make the
+-- InitialisationVector unique within the same TVP period.
+-- The content is not standardized.
+
+OriginalComponentIdentifier ::= CHOICE {
+ operationCode [0] OperationCode,
+ errorCode [1] ErrorCode,
+ userInfo [2] NULL}
+
+OperationCode ::= CHOICE {
+ localValue INTEGER,
+ globalValue OBJECT IDENTIFIER}
+
+ErrorCode ::= CHOICE {
+ localValue INTEGER,
+ globalValue OBJECT IDENTIFIER}
+
+
+--PLMN_Data
+-- Alcatel Specific extension container
+PlmnContainer ::= [PRIVATE 2] SEQUENCE {
+ msisdn [0] ISDN-AddressString OPTIONAL,
+ category [1] Category OPTIONAL,
+ basicService BasicServiceCode OPTIONAL,
+ operatorSS-Code [4] SEQUENCE ( SIZE( 1 .. 16 ) ) OF
+ OCTET STRING ( SIZE ( 1 ) ) OPTIONAL,
+ ...
+}
+Category ::= OCTET STRING (SIZE (1))
+ -- The internal structure is defined in ITU-T Rec Q.763.
+
+-- Special stuff from older spec's
+--ForwardSM OPERATION
+-- ARGUMENT
+ForwardSM-Arg ::= SEQUENCE {
+ sm-RP-DA SM-RP-DAold,
+ sm-RP-OA SM-RP-OAold,
+ sm-RP-UI SignalInfo,
+ moreMessagesToSend NULL OPTIONAL,
+ ... }
+-- In fact, the 3GPP uses SignalInfo instead, but it is used for SMS content decoding
+--Sm-RP-UI ::= OCTET STRING ( SIZE( 1 .. 200 ) )
+-- Must be locally defined as they are not exported from SM-datatypes
+SM-RP-DAold ::= CHOICE {
+ imsi [0] IMSI,
+ lmsi [1] LMSI,
+ serviceCentreAddressDA [4] AddressString,
+ noSM-RP-DA [5] NULL}
+
+SM-RP-OAold ::= CHOICE {
+ msisdn [2] ISDN-AddressString,
+ serviceCentreAddressOA [4] AddressString,
+ noSM-RP-OA [5] NULL}
+
+-- Private extensions
+accessType-id OBJECT IDENTIFIER ::=
+ {1 3 12 2 1107 3 66 1 1}
+
+ --iso (1)
+ --identified-organization (3)
+ --ecma (12)
+ --member-company (2)
+ --siemens-units (1107)
+ --oen (3)
+ --mn (66)
+ --proprietary-extensions (1)
+ --accessType (1)
+
+accessTypeNotAllowed-id OBJECT IDENTIFIER ::=
+ {1 3 12 2 1107 3 66 1 2}
+
+ --iso (1)
+ --identified-organization (3)
+ --ecma (12)
+ --member-company (2)
+ --siemens-units (1107)
+ --oen (3)
+ --mn (66)
+ --proprietary-extensions (1)
+ --accessTypeNotAllowed (2)
+
+SendRoutingInfoArgV2 ::= SEQUENCE {
+ msisdn [0] ISDN-AddressString,
+ cug-CheckInfo [1] CUG-CheckInfo OPTIONAL,
+-- cug-CheckInfo must be absent in version 1
+ numberOfForwarding [2] NumberOfForwarding OPTIONAL,
+ networkSignalInfo [10] ExternalSignalInfo OPTIONAL,
+ ...
+ }
+
+SendRoutingInfoResV2 ::= SEQUENCE {
+ imsi IMSI,
+ routingInfo RoutingInfo,
+ cug-CheckInfo CUG-CheckInfo OPTIONAL,
+-- cug-CheckInfo must be absent in version 1
+ ...
+ }
+
+-- Removed from SS-DataTypes.asn in Rel 9.0.0
+BeginSubscriberActivityArg ::= SEQUENCE {
+ imsi IMSI,
+ originatingEntityNumber ISDN-AddressString,
+ msisdn [PRIVATE 28] AddressString OPTIONAL,
+ ... }
+
+RoutingInfoForSM-ArgV1 ::= SEQUENCE {
+ msisdn [0] ISDN-AddressString,
+ sm-RP-PRI [1] BOOLEAN,
+ serviceCentreAddress [2] AddressString,
+ -- WS specific change to be backwards compatible with phase 1 (See Bug 9704)
+ cug-Interlock [3] CUG-Interlock OPTIONAL,
+ teleserviceCode [5] TeleserviceCode OPTIONAL,
+ -- END Ws specific change
+ --extensionContainer [6] ExtensionContainer OPTIONAL,
+ ... ,
+ --gprsSupportIndicator [7] NULL OPTIONAL,
+ -- gprsSupportIndicator is set only if the SMS-GMSC supports
+ -- receiving of two numbers from the HLR
+ --sm-RP-MTI [8] SM-RP-MTI OPTIONAL,
+ --sm-RP-SMEA [9] SM-RP-SMEA OPTIONAL,
+ --sm-deliveryNotIntended [10] SM-DeliveryNotIntended OPTIONAL,
+ --ip-sm-gwGuidanceIndicator [11] NULL OPTIONAL,
+ imsi [12] IMSI OPTIONAL --,
+ --t4-Trigger-Indicator [14] NULL OPTIONAL,
+ --singleAttemptDelivery [13] NULL OPTIONAL,
+ --correlationID [15] CorrelationID OPTIONAL
+ }
+
+-- From ETS 300 599: December 2000 (GSM 09.02 version 4.19.1), clause 14.7.6
+RoutingInfoForSM-ResV2::= SEQUENCE {
+ imsi IMSI,
+ locationInfoWithLMSI [0] LocationInfoWithLMSIv2,
+ mwd-Set [2] BOOLEAN OPTIONAL,
+ -- mwd-Set must be absent in version greater 1
+ ...}
+
+-- From ETS 300 599: December 2000 (GSM 09.02 version 4.19.1), clause 14.7.6
+LocationInfoWithLMSIv2 ::= SEQUENCE {
+ locationInfo LocationInfo,
+ lmsi LMSI OPTIONAL,
+ ...}
+
+-- From ETS 300 599: December 2000 (GSM 09.02 version 4.19.1), clause 14.7.6
+LocationInfo ::= CHOICE {
+ roamingNumber [0] ISDN-AddressString,
+ -- roamingNumber must not be used in version greater 1
+ msc-Number [1] ISDN-AddressString}
+
+Ki ::= OCTET STRING (SIZE (16))
+
+SendParametersArg ::= SEQUENCE {
+ subscriberId SubscriberId,
+ requestParameterList RequestParameterList}
+
+RequestParameter ::= ENUMERATED {
+ requestIMSI (0),
+ requestAuthenticationSet (1),
+ requestSubscriberData (2),
+ requestKi (4)}
+
+RequestParameterList ::= SEQUENCE SIZE (1..2) OF
+ RequestParameter
+
+SentParameter ::= CHOICE {
+ imsi [0] IMSI,
+ authenticationSet [1] AuthenticationSetListOld,
+ subscriberData [2] SubscriberData,
+ ki [4] Ki}
+
+AuthenticationSetListOld ::= CHOICE {
+ tripletList [0] TripletList,
+ quintupletList [1] QuintupletList }
+
+maxNumOfSentParameter INTEGER ::= 6
+ -- This NamedValue corresponds to the maximum number of
+ -- authentication set which may be returned by a HLR plus 1
+
+SentParameterList ::= SEQUENCE SIZE (1..maxNumOfSentParameter) OF
+ SentParameter
+
+
+sendParameters OPERATION ::= {
+ ARGUMENT
+ SendParametersArg
+ RESULT
+ SentParameterList
+ -- optional
+ -- nothing is returned, if no requested parameter is
+ -- available or exists
+ ERRORS {
+ UnexpectedDataValue,
+ UnknownSubscriber,
+ UnidentifiedSubscriber}
+ CODE local:9 }
+
+ResetArgV1 ::= SEQUENCE {
+ networkResource NetworkResource OPTIONAL,
+ -- networkResource must be present in version 1
+ -- networkResource must be absent in version greater 1
+ hlr-Number ISDN-AddressString,
+ hlr-List HLR-List OPTIONAL,
+ ...}
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-ApplicationContexts.asn b/epan/dissectors/asn1/gsm_map/MAP-ApplicationContexts.asn
new file mode 100644
index 00000000..5750dba1
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-ApplicationContexts.asn
@@ -0,0 +1,204 @@
+--17.3.3 ASN.1 Module for application-context-names
+--The following ASN.1 module summarises the application-context-name assigned to MAP application-contexts.
+-- 3GPP TS 29.002 V15.5.0 (2019-06)
+
+MAP-ApplicationContexts {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ApplicationContexts (2) version18 (18)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+
+-- EXPORTS everything
+
+
+IMPORTS
+ gsm-NetworkId,
+ ac-Id
+FROM MobileDomainDefinitions {
+ itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ mobileDomainDefinitions (0) version1 (1)}
+;
+
+-- application-context-names
+
+map-ac OBJECT IDENTIFIER ::= {gsm-NetworkId ac-Id}
+
+networkLocUpContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac networkLocUp(1) version3(3)}
+
+locationCancellationContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac locationCancel(2) version3(3)}
+
+roamingNumberEnquiryContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac roamingNbEnquiry(3) version3(3)}
+
+authenticationFailureReportContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac authenticationFailureReport(39) version3(3)}
+
+locationInfoRetrievalContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac locInfoRetrieval(5) version3(3)}
+
+resetContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac reset(10) version3(3)}
+
+handoverControlContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac handoverControl(11) version3(3)}
+
+equipmentMngtContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac equipmentMngt(13) version3(3)}
+
+infoRetrievalContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac infoRetrieval(14) version3(3)}
+
+interVlrInfoRetrievalContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac interVlrInfoRetrieval(15) version3(3)}
+
+subscriberDataMngtContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac subscriberDataMngt(16) version3(3)}
+
+tracingContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac tracing(17) version3(3)}
+
+networkFunctionalSsContext-v2 OBJECT IDENTIFIER ::=
+ {map-ac networkFunctionalSs(18) version2(2)}
+
+networkUnstructuredSsContext-v2 OBJECT IDENTIFIER ::=
+ {map-ac networkUnstructuredSs(19) version2(2)}
+
+shortMsgGatewayContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac shortMsgGateway(20) version3(3)}
+
+shortMsgMO-RelayContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac shortMsgMO-Relay(21) version3(3)}
+
+shortMsgAlertContext-v2 OBJECT IDENTIFIER ::=
+ {map-ac shortMsgAlert(23) version2(2)}
+
+mwdMngtContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac mwdMngt(24) version3(3)}
+
+shortMsgMT-RelayContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac shortMsgMT-Relay(25) version3(3)}
+
+shortMsgMT-Relay-VGCS-Context-v3 OBJECT IDENTIFIER ::=
+ {map-ac shortMsgMT-Relay-VGCS(41) version3(3)}
+
+imsiRetrievalContext-v2 OBJECT IDENTIFIER ::=
+ {map-ac imsiRetrieval(26) version2(2)}
+
+msPurgingContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac msPurging(27) version3(3)}
+
+subscriberInfoEnquiryContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac subscriberInfoEnquiry(28) version3(3)}
+
+anyTimeInfoEnquiryContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac anyTimeInfoEnquiry(29) version3(3)}
+
+callControlTransferContext-v4 OBJECT IDENTIFIER ::=
+ {map-ac callControlTransfer(6) version4(4)}
+
+ss-InvocationNotificationContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac ss-InvocationNotification(36) version3(3)}
+
+groupCallControlContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac groupCallControl(31) version3(3)}
+
+groupCallInfoRetrievalContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac groupCallInfoRetrieval(45) version3(3)}
+
+gprsLocationUpdateContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac gprsLocationUpdate(32) version3(3)}
+
+gprsLocationInfoRetrievalContext-v4 OBJECT IDENTIFIER ::=
+ {map-ac gprsLocationInfoRetrieval(33) version4(4)}
+
+failureReportContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac failureReport(34) version3(3)}
+
+gprsNotifyContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac gprsNotify(35) version3(3)}
+
+reportingContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac reporting(7) version3(3)}
+
+callCompletionContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac callCompletion(8) version3(3)}
+
+istAlertingContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac istAlerting(4) version3(3)}
+
+serviceTerminationContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac immediateTermination(9) version3(3)}
+
+locationSvcGatewayContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac locationSvcGateway(37) version3(3)}
+
+locationSvcEnquiryContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac locationSvcEnquiry(38) version3(3)}
+
+mm-EventReportingContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac mm-EventReporting(42) version3(3)}
+
+anyTimeInfoHandlingContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac anyTimeInfoHandling(43) version3(3)}
+
+subscriberDataModificationNotificationContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac subscriberDataModificationNotification(22) version3(3)}
+
+resourceManagementContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac resourceManagement(44) version3(3)}
+
+vcsgLocationUpdateContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac vcsgLocationUpdate(46) version3(3)}
+
+vcsgLocationCancellationContext-v3 OBJECT IDENTIFIER ::=
+ {map-ac vcsgLocationCancel(47) version3(3)}
+
+
+-- The following Object Identifiers are reserved for application-contexts
+-- existing in previous versions of the protocol
+
+-- AC Name & Version Object Identifier
+--
+-- networkLocUpContext-v1 map-ac networkLocUp (1) version1 (1)
+-- networkLocUpContext-v2 map-ac networkLocUp (1) version2 (2)
+-- locationCancellationContext-v1 map-ac locationCancellation (2) version1 (1)
+-- locationCancellationContext-v2 map-ac locationCancellation (2) version2 (2)
+-- roamingNumberEnquiryContext-v1 map-ac roamingNumberEnquiry (3) version1 (1)
+-- roamingNumberEnquiryContext-v2 map-ac roamingNumberEnquiry (3) version2 (2)
+-- locationInfoRetrievalContext-v1 map-ac locationInfoRetrieval (5) version1 (1)
+-- locationInfoRetrievalContext-v2 map-ac locationInfoRetrieval (5) version2 (2)
+-- resetContext-v1 map-ac reset (10) version1 (1)
+-- resetContext-v2 map-ac reset (10) version2 (2)
+-- handoverControlContext-v1 map-ac handoverControl (11) version1 (1)
+-- handoverControlContext-v2 map-ac handoverControl (11) version2 (2)
+-- sIWFSAllocationContext-v3 map-ac sIWFSAllocation (12) version3 (3)
+-- equipmentMngtContext-v1 map-ac equipmentMngt (13) version1 (1)
+-- equipmentMngtContext-v2 map-ac equipmentMngt (13) version2 (2)
+-- infoRetrievalContext-v1 map-ac infoRetrieval (14) version1 (1)
+-- infoRetrievalContext-v2 map-ac infoRetrieval (14) version2 (2)
+-- interVlrInfoRetrievalContext-v2 map-ac interVlrInfoRetrieval (15) version2 (2)
+-- subscriberDataMngtContext-v1 map-ac subscriberDataMngt (16) version1 (1)
+-- subscriberDataMngtContext-v2 map-ac subscriberDataMngt (16) version2 (2)
+-- tracingContext-v1 map-ac tracing (17) version1 (1)
+-- tracingContext-v2 map-ac tracing (17) version2 (2)
+-- networkFunctionalSsContext-v1 map-ac networkFunctionalSs (18) version1 (1)
+-- shortMsgGatewayContext-v1 map-ac shortMsgGateway (20) version1 (1)
+-- shortMsgGatewayContext-v2 map-ac shortMsgGateway (20) version2 (2)
+-- shortMsgRelayContext-v1 map-ac shortMsgRelay (21) version1 (1)
+-- shortMsgAlertContext-v1 map-ac shortMsgAlert (23) version1 (1)
+-- mwdMngtContext-v1 map-ac mwdMngt (24) version1 (1)
+-- mwdMngtContext-v2 map-ac mwdMngt (24) version2 (2)
+-- shortMsgMT-RelayContext-v2 map-ac shortMsgMT-Relay (25) version2 (2)
+-- msPurgingContext-v2 map-ac msPurging (27) version2 (2)
+-- callControlTransferContext-v3 map-ac callControlTransferContext (6) version3 (3)
+-- gprsLocationInfoRetrievalContext-v3 map-ac gprsLocationInfoRetrievalContext (33) version3 (3)
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-BS-Code.asn b/epan/dissectors/asn1/gsm_map/MAP-BS-Code.asn
new file mode 100644
index 00000000..3f55e6d6
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-BS-Code.asn
@@ -0,0 +1,129 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.7.10 Bearer Service Codes
+
+MAP-BS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-BS-Code (20) version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+BearerServiceCode ::= OCTET STRING (SIZE (1))
+ -- This type is used to represent the code identifying a single
+ -- bearer service, a group of bearer services, or all bearer
+ -- services. The services are defined in TS 3GPP TS 22.002 [3].
+ -- The internal structure is defined as follows:
+ --
+ -- plmn-specific bearer services:
+ -- bits 87654321: defined by the HPLMN operator
+
+ -- rest of bearer services:
+ -- bit 8: 0 (unused)
+ -- bits 7654321: group (bits 7654), and rate, if applicable
+ -- (bits 321)
+
+Ext-BearerServiceCode ::= OCTET STRING (SIZE (1..5))
+ -- This type is used to represent the code identifying a single
+ -- bearer service, a group of bearer services, or all bearer
+ -- services. The services are defined in TS 3GPP TS 22.002 [3].
+ -- The internal structure is defined as follows:
+ --
+ -- OCTET 1:
+ -- plmn-specific bearer services:
+ -- bits 87654321: defined by the HPLMN operator
+ --
+ -- rest of bearer services:
+ -- bit 8: 0 (unused)
+ -- bits 7654321: group (bits 7654), and rate, if applicable
+ -- (bits 321)
+
+ -- OCTETS 2-5: reserved for future use. If received the
+ -- Ext-TeleserviceCode shall be
+ -- treated according to the exception handling defined for the
+ -- operation that uses this type.
+
+
+ -- Ext-BearerServiceCode includes all values defined for BearerServiceCode.
+
+allBearerServices BearerServiceCode ::= '00000000'B
+
+allDataCDA-Services BearerServiceCode ::= '00010000'B
+dataCDA-300bps BearerServiceCode ::= '00010001'B
+dataCDA-1200bps BearerServiceCode ::= '00010010'B
+dataCDA-1200-75bps BearerServiceCode ::= '00010011'B
+dataCDA-2400bps BearerServiceCode ::= '00010100'B
+dataCDA-4800bps BearerServiceCode ::= '00010101'B
+dataCDA-9600bps BearerServiceCode ::= '00010110'B
+general-dataCDA BearerServiceCode ::= '00010111'B
+
+allDataCDS-Services BearerServiceCode ::= '00011000'B
+dataCDS-1200bps BearerServiceCode ::= '00011010'B
+dataCDS-2400bps BearerServiceCode ::= '00011100'B
+dataCDS-4800bps BearerServiceCode ::= '00011101'B
+dataCDS-9600bps BearerServiceCode ::= '00011110'B
+general-dataCDS BearerServiceCode ::= '00011111'B
+
+allPadAccessCA-Services BearerServiceCode ::= '00100000'B
+padAccessCA-300bps BearerServiceCode ::= '00100001'B
+padAccessCA-1200bps BearerServiceCode ::= '00100010'B
+padAccessCA-1200-75bps BearerServiceCode ::= '00100011'B
+padAccessCA-2400bps BearerServiceCode ::= '00100100'B
+padAccessCA-4800bps BearerServiceCode ::= '00100101'B
+padAccessCA-9600bps BearerServiceCode ::= '00100110'B
+general-padAccessCA BearerServiceCode ::= '00100111'B
+
+allDataPDS-Services BearerServiceCode ::= '00101000'B
+dataPDS-2400bps BearerServiceCode ::= '00101100'B
+dataPDS-4800bps BearerServiceCode ::= '00101101'B
+dataPDS-9600bps BearerServiceCode ::= '00101110'B
+general-dataPDS BearerServiceCode ::= '00101111'B
+
+allAlternateSpeech-DataCDA BearerServiceCode ::= '00110000'B
+
+allAlternateSpeech-DataCDS BearerServiceCode ::= '00111000'B
+
+allSpeechFollowedByDataCDA BearerServiceCode ::= '01000000'B
+
+allSpeechFollowedByDataCDS BearerServiceCode ::= '01001000'B
+
+-- The following non-hierarchical Compound Bearer Service
+-- Groups are defined in TS 3GPP TS 22.030:
+allDataCircuitAsynchronous BearerServiceCode ::= '01010000'B
+ -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA" and
+ -- "allSpeechFollowedByDataCDA"
+allAsynchronousServices BearerServiceCode ::= '01100000'B
+ -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA",
+ -- "allSpeechFollowedByDataCDA" and "allPadAccessCDA-Services"
+allDataCircuitSynchronous BearerServiceCode ::= '01011000'B
+ -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS" and
+ -- "allSpeechFollowedByDataCDS"
+allSynchronousServices BearerServiceCode ::= '01101000'B
+ -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS",
+ -- "allSpeechFollowedByDataCDS" and "allDataPDS-Services"
+--
+-- Compound Bearer Service Group Codes are only used in call
+-- independent supplementary service operations, i.e. they
+-- are not used in InsertSubscriberData or in
+-- DeleteSubscriberData messages.
+
+allPLMN-specificBS BearerServiceCode ::= '11010000'B
+plmn-specificBS-1 BearerServiceCode ::= '11010001'B
+plmn-specificBS-2 BearerServiceCode ::= '11010010'B
+plmn-specificBS-3 BearerServiceCode ::= '11010011'B
+plmn-specificBS-4 BearerServiceCode ::= '11010100'B
+plmn-specificBS-5 BearerServiceCode ::= '11010101'B
+plmn-specificBS-6 BearerServiceCode ::= '11010110'B
+plmn-specificBS-7 BearerServiceCode ::= '11010111'B
+plmn-specificBS-8 BearerServiceCode ::= '11011000'B
+plmn-specificBS-9 BearerServiceCode ::= '11011001'B
+plmn-specificBS-A BearerServiceCode ::= '11011010'B
+plmn-specificBS-B BearerServiceCode ::= '11011011'B
+plmn-specificBS-C BearerServiceCode ::= '11011100'B
+plmn-specificBS-D BearerServiceCode ::= '11011101'B
+plmn-specificBS-E BearerServiceCode ::= '11011110'B
+plmn-specificBS-F BearerServiceCode ::= '11011111'B
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-CH-DataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-CH-DataTypes.asn
new file mode 100644
index 00000000..414043ef
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-CH-DataTypes.asn
@@ -0,0 +1,479 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.7.3 Call handling data types
+
+MAP-CH-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CH-DataTypes (13) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+ SendRoutingInfoArg,
+ SendRoutingInfoRes,
+ ProvideRoamingNumberArg,
+ ProvideRoamingNumberRes,
+ ResumeCallHandlingArg,
+ ResumeCallHandlingRes,
+ NumberOfForwarding,
+ SuppressionOfAnnouncement,
+ CallReferenceNumber,
+ SetReportingStateArg,
+ SetReportingStateRes,
+ StatusReportArg,
+ StatusReportRes,
+ RemoteUserFreeArg,
+ RemoteUserFreeRes,
+ IST-AlertArg,
+ IST-AlertRes,
+ IST-CommandArg,
+IST-CommandRes,
+UU-Data,
+ReleaseResourcesArg,
+-- WS added exports needed by gsm_map.asn (extra asn1 file to handle older protocol versions)
+RoutingInfo,
+CUG-CheckInfo,
+ReleaseResourcesRes
+;
+
+IMPORTS
+ SubscriberInfo,
+ SupportedCamelPhases,
+ OfferedCamel4CSIs,
+ CUG-Interlock,
+ O-CSI,
+ D-CSI,
+ O-BcsmCamelTDPCriteriaList,
+ T-BCSM-CAMEL-TDP-CriteriaList,
+ IST-SupportIndicator,
+ IST-AlertTimerValue,
+ T-CSI,
+ NumberPortabilityStatus,
+ PagingArea
+FROM MAP-MS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MS-DataTypes (11) version20 (20)}
+
+ ForwardingOptions,
+ SS-List,
+ CCBS-Feature
+FROM MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-DataTypes (14) version20 (20)}
+
+ ISDN-AddressString,
+ ISDN-SubaddressString,
+ FTN-AddressString,
+ ExternalSignalInfo,
+ Ext-ExternalSignalInfo,
+ IMSI,
+ LMSI,
+ Ext-BasicServiceCode,
+ AlertingPattern,
+ NAEA-PreferredCI,
+ EMLPP-Priority,
+ PLMN-Id
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+;
+
+
+CUG-CheckInfo ::= SEQUENCE {
+ cug-Interlock CUG-Interlock,
+ cug-OutgoingAccess NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+NumberOfForwarding ::= INTEGER (1..5)
+
+SendRoutingInfoArg ::= SEQUENCE {
+ msisdn [0] ISDN-AddressString,
+ cug-CheckInfo [1] CUG-CheckInfo OPTIONAL,
+ numberOfForwarding [2] NumberOfForwarding OPTIONAL,
+ interrogationType [3] InterrogationType,
+ or-Interrogation [4] NULL OPTIONAL,
+ or-Capability [5] OR-Phase OPTIONAL,
+ gmsc-OrGsmSCF-Address [6] ISDN-AddressString,
+ callReferenceNumber [7] CallReferenceNumber OPTIONAL,
+ forwardingReason [8] ForwardingReason OPTIONAL,
+ basicServiceGroup [9] Ext-BasicServiceCode OPTIONAL,
+ networkSignalInfo [10] ExternalSignalInfo OPTIONAL,
+ camelInfo [11] CamelInfo OPTIONAL,
+ suppressionOfAnnouncement [12] SuppressionOfAnnouncement OPTIONAL,
+ extensionContainer [13] ExtensionContainer OPTIONAL,
+ ...,
+ alertingPattern [14] AlertingPattern OPTIONAL,
+ ccbs-Call [15] NULL OPTIONAL,
+ supportedCCBS-Phase [16] SupportedCCBS-Phase OPTIONAL,
+ additionalSignalInfo [17] Ext-ExternalSignalInfo OPTIONAL,
+ istSupportIndicator [18] IST-SupportIndicator OPTIONAL,
+ pre-pagingSupported [19] NULL OPTIONAL,
+ callDiversionTreatmentIndicator [20] CallDiversionTreatmentIndicator OPTIONAL,
+ longFTN-Supported [21] NULL OPTIONAL,
+ suppress-VT-CSI [22] NULL OPTIONAL,
+ suppressIncomingCallBarring [23] NULL OPTIONAL,
+ gsmSCF-InitiatedCall [24] NULL OPTIONAL,
+ basicServiceGroup2 [25] Ext-BasicServiceCode OPTIONAL,
+ networkSignalInfo2 [26] ExternalSignalInfo OPTIONAL,
+ suppressMTSS [27] SuppressMTSS OPTIONAL,
+ mtRoamingRetrySupported [28] NULL OPTIONAL,
+ callPriority [29] EMLPP-Priority OPTIONAL
+ }
+
+SuppressionOfAnnouncement ::= NULL
+
+SuppressMTSS ::= BIT STRING {
+ suppressCUG (0),
+ suppressCCBS (1) } (SIZE (2..16))
+ -- Other bits than listed above shall be discarded
+
+InterrogationType ::= ENUMERATED {
+ basicCall (0),
+ forwarding (1)}
+
+OR-Phase ::= INTEGER (1..127)
+
+CallReferenceNumber ::= OCTET STRING (SIZE (1..8))
+
+ForwardingReason ::= ENUMERATED {
+ notReachable (0),
+ busy (1),
+ noReply (2)}
+
+SupportedCCBS-Phase ::= INTEGER (1..127)
+-- exception handling:
+-- Only value 1 is used.
+-- Values in the ranges 2-127 are reserved for future use.
+-- If received values 2-127 shall be mapped on to value 1.
+
+CallDiversionTreatmentIndicator ::= OCTET STRING (SIZE(1))
+-- callDiversionAllowed (xxxx xx01)
+-- callDiversionNotAllowed (xxxx xx10)
+-- network default is call diversion allowed
+
+SendRoutingInfoRes ::= [3] SEQUENCE {
+ imsi [9] IMSI OPTIONAL,
+ -- IMSI must be present if SendRoutingInfoRes is not segmented.
+ -- If the TC-Result-NL segmentation option is taken the IMSI must be
+ -- present in one segmented transmission of SendRoutingInfoRes.
+ extendedRoutingInfo ExtendedRoutingInfo OPTIONAL,
+ cug-CheckInfo [3] CUG-CheckInfo OPTIONAL,
+ cugSubscriptionFlag [6] NULL OPTIONAL,
+ subscriberInfo [7] SubscriberInfo OPTIONAL,
+ ss-List [1] SS-List OPTIONAL,
+ basicService [5] Ext-BasicServiceCode OPTIONAL,
+ forwardingInterrogationRequired [4] NULL OPTIONAL,
+ vmsc-Address [2] ISDN-AddressString OPTIONAL,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ... ,
+ naea-PreferredCI [10] NAEA-PreferredCI OPTIONAL,
+ -- naea-PreferredCI is included at the discretion of the HLR operator.
+ ccbs-Indicators [11] CCBS-Indicators OPTIONAL,
+ msisdn [12] ISDN-AddressString OPTIONAL,
+ numberPortabilityStatus [13] NumberPortabilityStatus OPTIONAL,
+ istAlertTimer [14] IST-AlertTimerValue OPTIONAL,
+ supportedCamelPhasesInVMSC [15] SupportedCamelPhases OPTIONAL,
+ offeredCamel4CSIsInVMSC [16] OfferedCamel4CSIs OPTIONAL,
+ routingInfo2 [17] RoutingInfo OPTIONAL,
+ ss-List2 [18] SS-List OPTIONAL,
+ basicService2 [19] Ext-BasicServiceCode OPTIONAL,
+ allowedServices [20] AllowedServices OPTIONAL,
+ unavailabilityCause [21] UnavailabilityCause OPTIONAL,
+ releaseResourcesSupported [22] NULL OPTIONAL,
+ gsm-BearerCapability [23] ExternalSignalInfo OPTIONAL
+ }
+
+AllowedServices ::= BIT STRING {
+ firstServiceAllowed (0),
+ secondServiceAllowed (1) } (SIZE (2..8))
+ -- firstService is the service indicated in the networkSignalInfo
+ -- secondService is the service indicated in the networkSignalInfo2
+ -- Other bits than listed above shall be discarded
+
+UnavailabilityCause ::= ENUMERATED {
+ bearerServiceNotProvisioned (1),
+ teleserviceNotProvisioned (2),
+ absentSubscriber (3),
+ busySubscriber (4),
+ callBarred (5),
+ cug-Reject (6),
+ ...}
+ -- exception handling:
+ -- Reception of other values than the ones listed shall result in the service
+ -- being unavailable for that call.
+
+CCBS-Indicators ::= SEQUENCE {
+ ccbs-Possible [0] NULL OPTIONAL,
+ keepCCBS-CallIndicator [1] NULL OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+RoutingInfo ::= CHOICE {
+ roamingNumber ISDN-AddressString,
+ forwardingData ForwardingData}
+
+ForwardingData ::= SEQUENCE {
+ forwardedToNumber [5] ISDN-AddressString OPTIONAL,
+ -- When this datatype is sent from an HLR which supports CAMEL Phase 2
+ -- to a GMSC which supports CAMEL Phase 2 the GMSC shall not check the
+ -- format of the number
+ forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL,
+ forwardingOptions [6] ForwardingOptions OPTIONAL,
+ extensionContainer [7] ExtensionContainer OPTIONAL,
+ ...,
+ longForwardedToNumber [8] FTN-AddressString OPTIONAL}
+
+ProvideRoamingNumberArg ::= SEQUENCE {
+ imsi [0] IMSI,
+ msc-Number [1] ISDN-AddressString,
+ msisdn [2] ISDN-AddressString OPTIONAL,
+ lmsi [4] LMSI OPTIONAL,
+ gsm-BearerCapability [5] ExternalSignalInfo OPTIONAL,
+ networkSignalInfo [6] ExternalSignalInfo OPTIONAL,
+ suppressionOfAnnouncement [7] SuppressionOfAnnouncement OPTIONAL,
+ gmsc-Address [8] ISDN-AddressString OPTIONAL,
+ callReferenceNumber [9] CallReferenceNumber OPTIONAL,
+ or-Interrogation [10] NULL OPTIONAL,
+ extensionContainer [11] ExtensionContainer OPTIONAL,
+ ... ,
+ alertingPattern [12] AlertingPattern OPTIONAL,
+ ccbs-Call [13] NULL OPTIONAL,
+ supportedCamelPhasesInInterrogatingNode [15] SupportedCamelPhases OPTIONAL,
+ additionalSignalInfo [14] Ext-ExternalSignalInfo OPTIONAL,
+ orNotSupportedInGMSC [16] NULL OPTIONAL,
+ pre-pagingSupported [17] NULL OPTIONAL,
+ longFTN-Supported [18] NULL OPTIONAL,
+ suppress-VT-CSI [19] NULL OPTIONAL,
+ offeredCamel4CSIsInInterrogatingNode [20] OfferedCamel4CSIs OPTIONAL,
+ mtRoamingRetrySupported [21] NULL OPTIONAL,
+ pagingArea [22] PagingArea OPTIONAL,
+ callPriority [23] EMLPP-Priority OPTIONAL,
+ mtrf-Indicator [24] NULL OPTIONAL,
+ oldMSC-Number [25] ISDN-AddressString OPTIONAL,
+ lastUsedLtePLMN-Id [26] PLMN-Id OPTIONAL
+ }
+
+ProvideRoamingNumberRes ::= SEQUENCE {
+ roamingNumber ISDN-AddressString,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ releaseResourcesSupported NULL OPTIONAL,
+ vmsc-Address ISDN-AddressString OPTIONAL }
+
+ResumeCallHandlingArg ::= SEQUENCE {
+ callReferenceNumber [0] CallReferenceNumber OPTIONAL,
+ basicServiceGroup [1] Ext-BasicServiceCode OPTIONAL,
+ forwardingData [2] ForwardingData OPTIONAL,
+ imsi [3] IMSI OPTIONAL,
+ cug-CheckInfo [4] CUG-CheckInfo OPTIONAL,
+ o-CSI [5] O-CSI OPTIONAL,
+ extensionContainer [7] ExtensionContainer OPTIONAL,
+ ccbs-Possible [8] NULL OPTIONAL,
+ msisdn [9] ISDN-AddressString OPTIONAL,
+ uu-Data [10] UU-Data OPTIONAL,
+ allInformationSent [11] NULL OPTIONAL,
+ ...,
+ d-csi [12] D-CSI OPTIONAL,
+ o-BcsmCamelTDPCriteriaList [13] O-BcsmCamelTDPCriteriaList OPTIONAL,
+ basicServiceGroup2 [14] Ext-BasicServiceCode OPTIONAL,
+ mtRoamingRetry [15] NULL OPTIONAL
+ }
+
+UU-Data ::= SEQUENCE {
+ uuIndicator [0] UUIndicator OPTIONAL,
+ uui [1] UUI OPTIONAL,
+ uusCFInteraction [2] NULL OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+UUIndicator ::= OCTET STRING (SIZE (1))
+ -- Octets are coded according to ETS 300 356
+
+UUI ::= OCTET STRING (SIZE (1..131))
+ -- Octets are coded according to ETS 300 356
+
+ResumeCallHandlingRes ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+CamelInfo ::= SEQUENCE {
+ supportedCamelPhases SupportedCamelPhases,
+ suppress-T-CSI NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ offeredCamel4CSIs [0] OfferedCamel4CSIs OPTIONAL }
+
+ExtendedRoutingInfo ::= CHOICE {
+ routingInfo RoutingInfo,
+ camelRoutingInfo [8] CamelRoutingInfo}
+
+CamelRoutingInfo ::= SEQUENCE {
+ forwardingData ForwardingData OPTIONAL,
+ gmscCamelSubscriptionInfo [0] GmscCamelSubscriptionInfo,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+GmscCamelSubscriptionInfo ::= SEQUENCE {
+ t-CSI [0] T-CSI OPTIONAL,
+ o-CSI [1] O-CSI OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ o-BcsmCamelTDP-CriteriaList [3] O-BcsmCamelTDPCriteriaList OPTIONAL,
+ t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
+ d-csi [5] D-CSI OPTIONAL}
+
+SetReportingStateArg ::= SEQUENCE {
+ imsi [0] IMSI OPTIONAL,
+ lmsi [1] LMSI OPTIONAL,
+ ccbs-Monitoring [2] ReportingState OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+ReportingState ::= ENUMERATED {
+ stopMonitoring (0),
+ startMonitoring (1),
+ ...}
+ -- exception handling:
+ -- reception of values 2-10 shall be mapped to 'stopMonitoring'
+ -- reception of values > 10 shall be mapped to 'startMonitoring'
+
+SetReportingStateRes ::= SEQUENCE{
+ ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+CCBS-SubscriberStatus ::= ENUMERATED {
+ ccbsNotIdle (0),
+ ccbsIdle (1),
+ ccbsNotReachable (2),
+ ...}
+ -- exception handling:
+ -- reception of values 3-10 shall be mapped to 'ccbsNotIdle'
+ -- reception of values 11-20 shall be mapped to 'ccbsIdle'
+ -- reception of values > 20 shall be mapped to 'ccbsNotReachable'
+
+StatusReportArg ::= SEQUENCE{
+ imsi [0] IMSI,
+ eventReportData [1] EventReportData OPTIONAL,
+ callReportdata [2] CallReportData OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+EventReportData ::= SEQUENCE{
+ ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+CallReportData ::= SEQUENCE{
+ monitoringMode [0] MonitoringMode OPTIONAL,
+ callOutcome [1] CallOutcome OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+MonitoringMode ::= ENUMERATED {
+ a-side (0),
+ b-side (1),
+ ...}
+ -- exception handling:
+ -- reception of values 2-10 shall be mapped 'a-side'
+ -- reception of values > 10 shall be mapped to 'b-side'
+
+CallOutcome ::= ENUMERATED {
+ success (0),
+ failure (1),
+ busy (2),
+ ...}
+ -- exception handling:
+ -- reception of values 3-10 shall be mapped to 'success'
+ -- reception of values 11-20 shall be mapped to 'failure'
+ -- reception of values > 20 shall be mapped to 'busy'
+
+StatusReportRes ::= SEQUENCE {
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+RemoteUserFreeArg ::= SEQUENCE{
+ imsi [0] IMSI,
+ callInfo [1] ExternalSignalInfo,
+ ccbs-Feature [2] CCBS-Feature,
+ translatedB-Number [3] ISDN-AddressString,
+ replaceB-Number [4] NULL OPTIONAL,
+ alertingPattern [5] AlertingPattern OPTIONAL,
+ extensionContainer [6] ExtensionContainer OPTIONAL,
+ ...}
+
+RemoteUserFreeRes ::= SEQUENCE{
+ ruf-Outcome [0] RUF-Outcome,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+RUF-Outcome ::= ENUMERATED{
+ accepted (0),
+ rejected (1),
+ noResponseFromFreeMS (2), -- T4 Expiry
+ noResponseFromBusyMS (3), -- T10 Expiry
+ udubFromFreeMS (4),
+ udubFromBusyMS (5),
+ ...}
+ -- exception handling:
+ -- reception of values 6-20 shall be mapped to 'accepted'
+ -- reception of values 21-30 shall be mapped to 'rejected'
+ -- reception of values 31-40 shall be mapped to 'noResponseFromFreeMS'
+ -- reception of values 41-50 shall be mapped to 'noResponseFromBusyMS'
+ -- reception of values 51-60 shall be mapped to 'udubFromFreeMS'
+ -- reception of values > 60 shall be mapped to 'udubFromBusyMS'
+
+IST-AlertArg ::= SEQUENCE{
+ imsi [0] IMSI,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+IST-AlertRes ::= SEQUENCE{
+ istAlertTimer [0] IST-AlertTimerValue OPTIONAL,
+ istInformationWithdraw [1] NULL OPTIONAL,
+ callTerminationIndicator [2] CallTerminationIndicator OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+IST-CommandArg ::= SEQUENCE{
+ imsi [0] IMSI,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+IST-CommandRes ::= SEQUENCE{
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+CallTerminationIndicator ::= ENUMERATED {
+ terminateCallActivityReferred (0),
+ terminateAllCallActivities (1),
+ ...}
+ -- exception handling:
+ -- reception of values 2-10 shall be mapped to ' terminateCallActivityReferred '
+ -- reception of values > 10 shall be mapped to ' terminateAllCallActivities '
+
+ -- In MSCs not supporting linkage of all call activities, any value received shall
+ -- be interpreted as ' terminateCallActivityReferred '
+
+ReleaseResourcesArg ::= SEQUENCE{
+ msrn ISDN-AddressString,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ReleaseResourcesRes ::= SEQUENCE{
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-CallHandlingOperations.asn b/epan/dissectors/asn1/gsm_map/MAP-CallHandlingOperations.asn
new file mode 100644
index 00000000..ba09a9d4
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-CallHandlingOperations.asn
@@ -0,0 +1,214 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+--17.6.3 Call Handling Operations
+MAP-CallHandlingOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CallHandlingOperations (7)
+ version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+EXPORTS
+ sendRoutingInfo,
+ provideRoamingNumber,
+ resumeCallHandling,
+ setReportingState,
+ statusReport,
+ remoteUserFree,
+ ist-Alert,
+ ist-Command,
+ releaseResources
+;
+
+IMPORTS
+ OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+
+ systemFailure,
+ dataMissing,
+ unexpectedDataValue,
+ facilityNotSupported,
+ or-NotAllowed,
+ unknownSubscriber,
+ numberChanged,
+ bearerServiceNotProvisioned,
+ teleserviceNotProvisioned,
+ noRoamingNumberAvailable,
+ absentSubscriber,
+ busySubscriber,
+ noSubscriberReply,
+ callBarred,
+ forwardingViolation,
+ forwardingFailed,
+ cug-Reject,
+ resourceLimitation,
+ incompatibleTerminal,
+ unidentifiedSubscriber
+
+FROM MAP-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Errors (10) version20 (20)}
+ SendRoutingInfoArg,
+ SendRoutingInfoRes,
+ ProvideRoamingNumberArg,
+ ProvideRoamingNumberRes,
+ ResumeCallHandlingArg,
+ ResumeCallHandlingRes,
+ SetReportingStateArg,
+ SetReportingStateRes,
+ StatusReportArg,
+ StatusReportRes,
+ RemoteUserFreeArg,
+ RemoteUserFreeRes,
+ IST-AlertArg,
+ IST-AlertRes,
+ IST-CommandArg,
+ IST-CommandRes,
+ ReleaseResourcesArg,
+ ReleaseResourcesRes
+FROM MAP-CH-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CH-DataTypes (13) version20 (20)}
+
+;
+
+sendRoutingInfo OPERATION ::= { --Timer m
+-- The timer is set to the upper limit of the range if the GMSC supports pre-paging.
+ ARGUMENT
+ SendRoutingInfoArg
+ RESULT
+ SendRoutingInfoRes
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ facilityNotSupported |
+ or-NotAllowed |
+ unknownSubscriber |
+ numberChanged |
+ bearerServiceNotProvisioned |
+ teleserviceNotProvisioned |
+ absentSubscriber |
+ busySubscriber |
+ noSubscriberReply |
+ callBarred |
+ cug-Reject |
+ forwardingViolation}
+ CODE local:22 }
+
+provideRoamingNumber OPERATION ::= { --Timer m
+-- The timer is set to the upper limit of the range if the HLR supports pre-paging.
+ ARGUMENT
+ ProvideRoamingNumberArg
+ RESULT
+ ProvideRoamingNumberRes
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ facilityNotSupported |
+ or-NotAllowed |
+ absentSubscriber |
+ noRoamingNumberAvailable}
+ CODE local:4 }
+
+resumeCallHandling OPERATION ::= { --Timer m
+ ARGUMENT
+ ResumeCallHandlingArg
+ RESULT
+ ResumeCallHandlingRes
+ -- optional
+ ERRORS {
+ forwardingFailed |
+ or-NotAllowed |
+ unexpectedDataValue |
+ dataMissing }
+ CODE local:6 }
+
+setReportingState OPERATION ::= { --Timer m
+ ARGUMENT
+ SetReportingStateArg
+ RESULT
+ SetReportingStateRes
+ -- optional
+ ERRORS {
+ systemFailure |
+ unidentifiedSubscriber |
+ unexpectedDataValue |
+ dataMissing |
+ resourceLimitation |
+ facilityNotSupported}
+ CODE local:73 }
+
+statusReport OPERATION ::= { --Timer m
+ ARGUMENT
+ StatusReportArg
+ RESULT
+ StatusReportRes
+ -- optional
+ ERRORS {
+ unknownSubscriber |
+ systemFailure |
+ unexpectedDataValue |
+ dataMissing}
+ CODE local:74 }
+
+remoteUserFree OPERATION ::= { --Timer ml
+ ARGUMENT
+ RemoteUserFreeArg
+ RESULT
+ RemoteUserFreeRes
+ ERRORS {
+ unexpectedDataValue |
+ dataMissing |
+ incompatibleTerminal |
+ absentSubscriber |
+ systemFailure |
+ busySubscriber}
+ CODE local:75 }
+
+ist-Alert OPERATION ::= { --Timer m
+ ARGUMENT
+ IST-AlertArg
+ RESULT
+ IST-AlertRes
+ -- optional
+ ERRORS {
+ unexpectedDataValue |
+ resourceLimitation |
+ unknownSubscriber |
+ systemFailure |
+ facilityNotSupported}
+ CODE local:87 }
+
+ist-Command OPERATION::= { --Timer m
+ ARGUMENT
+ IST-CommandArg
+ RESULT
+ IST-CommandRes
+ -- optional
+ ERRORS {
+ unexpectedDataValue |
+ resourceLimitation |
+ unknownSubscriber |
+ systemFailure |
+ facilityNotSupported}
+ CODE local:88 }
+
+releaseResources OPERATION::= { --Timer m
+ ARGUMENT
+ ReleaseResourcesArg
+ RESULT
+ ReleaseResourcesRes
+ -- optional
+ ERRORS {
+ unexpectedDataValue |
+ systemFailure }
+ CODE local:20 }
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-CommonDataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-CommonDataTypes.asn
new file mode 100644
index 00000000..768f4172
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-CommonDataTypes.asn
@@ -0,0 +1,673 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.7.8 Common data types
+
+MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+
+ -- general data types and values
+ AddressString,
+ ISDN-AddressString,
+ maxISDN-AddressLength,
+ FTN-AddressString,
+ ISDN-SubaddressString,
+ ExternalSignalInfo,
+ Ext-ExternalSignalInfo,
+AccessNetworkSignalInfo,
+ SignalInfo,
+ maxSignalInfoLength,
+ AlertingPattern,
+ TBCD-STRING,
+ DiameterIdentity,
+ Time,
+ HLR-Id,
+
+ -- data types for numbering and identification
+ IMSI,
+ TMSI,
+ Identity,
+ SubscriberId,
+ IMEI,
+ HLR-List,
+ LMSI,
+ GlobalCellId,
+ NetworkResource,
+ AdditionalNetworkResource,
+ NAEA-PreferredCI,
+ NAEA-CIC,
+ ASCI-CallReference,
+ SubscriberIdentity,
+ PLMN-Id,
+ E-UTRAN-CGI,
+ NR-CGI,
+ TA-Id,
+ NR-TA-Id,
+ RAIdentity,
+ NetworkNodeDiameterAddress,
+
+ -- data types for CAMEL
+ CellGlobalIdOrServiceAreaIdOrLAI,
+ CellGlobalIdOrServiceAreaIdFixedLength,
+ LAIFixedLength,
+
+ -- data types for subscriber management
+ BasicServiceCode,
+ Ext-BasicServiceCode,
+ EMLPP-Info,
+ EMLPP-Priority,
+ MC-SS-Info,
+ MaxMC-Bearers,
+ MC-Bearers,
+ Ext-SS-Status,
+
+ -- data types for geographic location
+ AgeOfLocationInformation,
+ LCSClientExternalID,
+ LCSClientInternalID,
+ LCSServiceTypeID,
+-- WS added exports needed by gsm_map.asn (extra asn1 file to handle older protocol versions)
+ ProtocolId,
+ -- gprs location registration types
+ GSN-Address
+
+;
+
+IMPORTS
+ TeleserviceCode,
+ Ext-TeleserviceCode
+FROM MAP-TS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-TS-Code (19) version20 (20)}
+
+ BearerServiceCode,
+ Ext-BearerServiceCode
+FROM MAP-BS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-BS-Code (20) version20 (20)}
+
+ SS-Code
+FROM MAP-SS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-Code (15) version20 (20)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+;
+
+
+-- general data types
+
+TBCD-STRING ::= OCTET STRING
+ -- This type (Telephony Binary Coded Decimal String) is used to
+ -- represent several digits from 0 through 9, *, #, a, b, c, two
+ -- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
+ -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
+ -- as filler when there is an odd number of digits.
+
+ -- bits 8765 of octet n encoding digit 2n
+ -- bits 4321 of octet n encoding digit 2(n-1) +1
+
+DiameterIdentity ::= OCTET STRING (SIZE(9..255))
+-- content of DiameterIdentity is defined in IETF RFC 3588 [139]
+
+AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
+ -- This type is used to represent a number for addressing
+ -- purposes. It is composed of
+ -- a) one octet for nature of address, and numbering plan
+ -- indicator.
+ -- b) digits of an address encoded as TBCD-String.
+
+ -- a) The first octet includes a one bit extension indicator, a
+ -- 3 bits nature of address indicator and a 4 bits numbering
+ -- plan indicator, encoded as follows:
+
+ -- bit 8: 1 (no extension)
+
+ -- bits 765: nature of address indicator
+ -- 000 unknown
+ -- 001 international number
+ -- 010 national significant number
+ -- 011 network specific number
+ -- 100 subscriber number
+ -- 101 reserved
+ -- 110 abbreviated number
+ -- 111 reserved for extension
+
+ -- bits 4321: numbering plan indicator
+ -- 0000 unknown
+ -- 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164)
+ -- 0010 spare
+ -- 0011 data numbering plan (ITU-T Rec X.121)
+ -- 0100 telex numbering plan (ITU-T Rec F.69)
+ -- 0101 spare
+ -- 0110 land mobile numbering plan (ITU-T Rec E.212)
+ -- 0111 spare
+ -- 1000 national numbering plan
+ -- 1001 private numbering plan
+ -- 1111 reserved for extension
+
+ -- all other values are reserved.
+
+ -- b) The following octets representing digits of an address
+ -- encoded as a TBCD-STRING.
+
+maxAddressLength INTEGER ::= 20
+
+ISDN-AddressString ::=
+ AddressString (SIZE (1..maxISDN-AddressLength))
+ -- This type is used to represent ISDN numbers.
+
+maxISDN-AddressLength INTEGER ::= 9
+
+FTN-AddressString ::=
+ AddressString (SIZE (1..maxFTN-AddressLength))
+ -- This type is used to represent forwarded-to numbers.
+ -- If NAI = international the first digits represent the country code (CC)
+ -- and the network destination code (NDC) as for E.164.
+
+maxFTN-AddressLength INTEGER ::= 15
+
+ISDN-SubaddressString ::=
+ OCTET STRING (SIZE (1..maxISDN-SubaddressLength))
+ -- This type is used to represent ISDN subaddresses.
+ -- It is composed of
+ -- a) one octet for type of subaddress and odd/even indicator.
+ -- b) 20 octets for subaddress information.
+
+ -- a) The first octet includes a one bit extension indicator, a
+ -- 3 bits type of subaddress and a one bit odd/even indicator,
+ -- encoded as follows:
+
+ -- bit 8: 1 (no extension)
+
+ -- bits 765: type of subaddress
+ -- 000 NSAP (X.213/ISO 8348 AD2)
+ -- 010 User Specified
+ -- All other values are reserved
+
+ -- bit 4: odd/even indicator
+ -- 0 even number of address signals
+ -- 1 odd number of address signals
+ -- The odd/even indicator is used when the type of subaddress
+ -- is "user specified" and the coding is BCD.
+
+ -- bits 321: 000 (unused)
+
+ -- b) Subaddress information.
+ -- The NSAP X.213/ISO8348AD2 address shall be formatted as specified
+ -- by octet 4 which contains the Authority and Format Identifier
+ -- (AFI). The encoding is made according to the "preferred binary
+ -- encoding" as defined in X.213/ISO834AD2. For the definition
+ -- of this type of subaddress, see ITU-T Rec I.334.
+
+ -- For User-specific subaddress, this field is encoded according
+ -- to the user specification, subject to a maximum length of 20
+ -- octets. When interworking with X.25 networks BCD coding should
+ -- be applied.
+
+maxISDN-SubaddressLength INTEGER ::= 21
+
+ExternalSignalInfo ::= SEQUENCE {
+ protocolId ProtocolId,
+ signalInfo SignalInfo,
+ -- Information about the internal structure is given in
+ -- clause 7.6.9.
+ extensionContainer ExtensionContainer OPTIONAL,
+ -- extensionContainer must not be used in version 2
+ ...}
+
+SignalInfo ::= OCTET STRING (SIZE (1..maxSignalInfoLength))
+
+maxSignalInfoLength INTEGER ::= 200
+ -- This NamedValue represents the theoretical maximum number of octets which is
+ -- available to carry a single instance of the SignalInfo data type,
+ -- without requiring segmentation to cope with the network layer service.
+ -- However, the actual maximum size available for an instance of the data
+ -- type may be lower, especially when other information elements
+ -- have to be included in the same component.
+
+ProtocolId ::= ENUMERATED {
+ gsm-0408 (1),
+ gsm-0806 (2),
+ gsm-BSSMAP (3),
+ -- Value 3 is reserved and must not be used
+ ets-300102-1 (4)}
+
+Ext-ExternalSignalInfo ::= SEQUENCE {
+ ext-ProtocolId Ext-ProtocolId,
+ signalInfo SignalInfo,
+ -- Information about the internal structure is given in
+ -- clause 7.6.9.10
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+Ext-ProtocolId ::= ENUMERATED {
+ ets-300356 (1),
+ ...
+ }
+-- exception handling:
+-- For Ext-ExternalSignalInfo sequences containing this parameter with any
+-- other value than the ones listed the receiver shall ignore the whole
+-- Ext-ExternalSignalInfo sequence.
+
+AccessNetworkSignalInfo ::= SEQUENCE {
+ accessNetworkProtocolId AccessNetworkProtocolId,
+ signalInfo LongSignalInfo,
+ -- Information about the internal structure is given in clause 7.6.9.1
+
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+LongSignalInfo ::= OCTET STRING (SIZE (1..maxLongSignalInfoLength))
+
+maxLongSignalInfoLength INTEGER ::= 2560
+ -- This Named Value represents the maximum number of octets which is available
+ -- to carry a single instance of the LongSignalInfo data type using
+ -- White Book SCCP with the maximum number of segments.
+ -- It takes account of the octets used by the lower layers of the protocol, and
+ -- other information elements which may be included in the same component.
+
+AccessNetworkProtocolId ::= ENUMERATED {
+ ts3G-48006 (1),
+ ts3G-25413 (2),
+ ...}
+ -- exception handling:
+ -- For AccessNetworkSignalInfo sequences containing this parameter with any
+ -- other value than the ones listed the receiver shall ignore the whole
+ -- AccessNetworkSignalInfo sequence.
+
+AlertingPattern ::= OCTET STRING (SIZE (1) )
+ -- This type is used to represent Alerting Pattern
+
+ -- bits 8765 : 0000 (unused)
+
+ -- bits 43 : type of Pattern
+ -- 00 level
+ -- 01 category
+ -- 10 category
+ -- all other values are reserved.
+
+ -- bits 21 : type of alerting
+
+alertingLevel-0 AlertingPattern ::= '00000000'B
+alertingLevel-1 AlertingPattern ::= '00000001'B
+alertingLevel-2 AlertingPattern ::= '00000010'B
+ -- all other values of Alerting level are reserved
+ -- Alerting Levels are defined in GSM 02.07
+
+alertingCategory-1 AlertingPattern ::= '00000100'B
+alertingCategory-2 AlertingPattern ::= '00000101'B
+alertingCategory-3 AlertingPattern ::= '00000110'B
+alertingCategory-4 AlertingPattern ::= '00000111'B
+alertingCategory-5 AlertingPattern ::= '00001000'B
+ -- all other values of Alerting Category are reserved
+ -- Alerting categories are defined in GSM 02.07
+
+GSN-Address ::= OCTET STRING (SIZE (5..17))
+ -- Octets are coded according to TS 3GPP TS 23.003 [17]
+
+Time ::= OCTET STRING (SIZE (4))
+ -- Octets are coded according to IETF RFC 3588 [139]
+
+
+-- data types for numbering and identification
+
+IMSI ::= TBCD-STRING (SIZE (3..8))
+ -- digits of MCC, MNC, MSIN are concatenated in this order.
+
+Identity ::= CHOICE {
+ imsi IMSI,
+ imsi-WithLMSI IMSI-WithLMSI}
+
+IMSI-WithLMSI ::= SEQUENCE {
+ imsi IMSI,
+ lmsi LMSI,
+ -- a special value 00000000 indicates that the LMSI is not in use
+ ...}
+
+ASCI-CallReference ::= TBCD-STRING (SIZE (1..8))
+ -- digits of VGCS/VBS-area,Group-ID are concatenated in this order if there is a
+ -- VGCS/VBS-area.
+
+TMSI ::= OCTET STRING (SIZE (1..4))
+
+SubscriberId ::= CHOICE {
+ imsi [0] IMSI,
+ tmsi [1] TMSI}
+
+IMEI ::= TBCD-STRING (SIZE (8))
+ -- Refers to International Mobile Station Equipment Identity
+ -- and Software Version Number (SVN) defined in TS 3GPP TS 23.003 [17].
+ -- If the SVN is not present the last octet shall contain the
+ -- digit 0 and a filler.
+ -- If present the SVN shall be included in the last octet.
+
+HLR-Id ::= IMSI
+ -- leading digits of IMSI, i.e. (MCC, MNC, leading digits of
+ -- MSIN) forming HLR Id defined in TS 3GPP TS 23.003 [17].
+
+HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF
+ HLR-Id
+
+maxNumOfHLR-Id INTEGER ::= 50
+
+LMSI ::= OCTET STRING (SIZE (4))
+
+GlobalCellId ::= OCTET STRING (SIZE (5..7))
+ -- Refers to Cell Global Identification defined in TS 3GPP TS 23.003 [17].
+ -- The internal structure is defined as follows:
+ -- octet 1 bits 4321 Mobile Country Code 1st digit
+ -- bits 8765 Mobile Country Code 2nd digit
+ -- octet 2 bits 4321 Mobile Country Code 3rd digit
+ -- bits 8765 Mobile Network Code 3rd digit
+ -- or filler (1111) for 2 digit MNCs
+ -- octet 3 bits 4321 Mobile Network Code 1st digit
+ -- bits 8765 Mobile Network Code 2nd digit
+ -- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35]
+ -- octets 6 and 7 Cell Identity (CI) according to TS 3GPP TS 24.008 [35]
+
+NetworkResource ::= ENUMERATED {
+ plmn (0),
+ hlr (1),
+ vlr (2),
+ pvlr (3),
+ controllingMSC (4),
+ vmsc (5),
+ eir (6),
+ rss (7)}
+
+AdditionalNetworkResource ::= ENUMERATED {
+ sgsn (0),
+ ggsn (1),
+ gmlc (2),
+ gsmSCF (3),
+ nplr (4),
+ auc (5),
+ ... ,
+ ue (6),
+ mme (7)}
+ -- if unknown value is received in AdditionalNetworkResource
+ -- it shall be ignored.
+
+
+NAEA-PreferredCI ::= SEQUENCE {
+ naea-PreferredCIC [0] NAEA-CIC,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+NAEA-CIC ::= OCTET STRING (SIZE (3))
+ -- The internal structure is defined by the Carrier Identification
+ -- parameter in ANSI T1.113.3. Carrier codes between "000" and "999" may
+ -- be encoded as 3 digits using "000" to "999" or as 4 digits using
+ -- "0000" to "0999". Carrier codes between "1000" and "9999" are encoded
+ -- using 4 digits.
+
+SubscriberIdentity ::= CHOICE {
+ imsi [0] IMSI,
+ msisdn [1] ISDN-AddressString
+ }
+
+LCSClientExternalID ::= SEQUENCE {
+ externalAddress [0] ISDN-AddressString OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ... }
+
+LCSClientInternalID ::= ENUMERATED {
+ broadcastService (0),
+ o-andM-HPLMN (1),
+ o-andM-VPLMN (2),
+ anonymousLocation (3),
+ targetMSsubscribedService (4),
+ ... }
+-- for a CAMEL phase 3 PLMN operator client, the value targetMSsubscribedService shall be used
+
+LCSServiceTypeID ::= INTEGER (0..127)
+ -- the integer values 0-63 are reserved for Standard LCS service types
+ -- the integer values 64-127 are reserved for Non Standard LCS service types
+
+-- Standard LCS Service Types
+emergencyServices LCSServiceTypeID ::= 0
+emergencyAlertServices LCSServiceTypeID ::= 1
+personTracking LCSServiceTypeID ::= 2
+fleetManagement LCSServiceTypeID ::= 3
+assetManagement LCSServiceTypeID ::= 4
+trafficCongestionReporting LCSServiceTypeID ::= 5
+roadsideAssistance LCSServiceTypeID ::= 6
+routingToNearestCommercialEnterprise LCSServiceTypeID ::= 7
+navigation LCSServiceTypeID ::= 8
+ --this service type is reserved for use in previous releases
+citySightseeing LCSServiceTypeID ::= 9
+localizedAdvertising LCSServiceTypeID ::= 10
+mobileYellowPages LCSServiceTypeID ::= 11
+trafficAndPublicTransportationInfo LCSServiceTypeID ::= 12
+weather LCSServiceTypeID ::= 13
+assetAndServiceFinding LCSServiceTypeID ::= 14
+gaming LCSServiceTypeID ::= 15
+findYourFriend LCSServiceTypeID ::= 16
+dating LCSServiceTypeID ::= 17
+chatting LCSServiceTypeID ::= 18
+routeFinding LCSServiceTypeID ::= 19
+whereAmI LCSServiceTypeID ::= 20
+
+-- The values of LCSServiceTypeID are defined according to 3GPP TS 22.071.
+
+-- Non Standard LCS Service Types
+serv64 LCSServiceTypeID ::= 64
+serv65 LCSServiceTypeID ::= 65
+serv66 LCSServiceTypeID ::= 66
+serv67 LCSServiceTypeID ::= 67
+serv68 LCSServiceTypeID ::= 68
+serv69 LCSServiceTypeID ::= 69
+serv70 LCSServiceTypeID ::= 70
+serv71 LCSServiceTypeID ::= 71
+serv72 LCSServiceTypeID ::= 72
+serv73 LCSServiceTypeID ::= 73
+serv74 LCSServiceTypeID ::= 74
+serv75 LCSServiceTypeID ::= 75
+serv76 LCSServiceTypeID ::= 76
+serv77 LCSServiceTypeID ::= 77
+serv78 LCSServiceTypeID ::= 78
+serv79 LCSServiceTypeID ::= 79
+serv80 LCSServiceTypeID ::= 80
+serv81 LCSServiceTypeID ::= 81
+serv82 LCSServiceTypeID ::= 82
+serv83 LCSServiceTypeID ::= 83
+serv84 LCSServiceTypeID ::= 84
+serv85 LCSServiceTypeID ::= 85
+serv86 LCSServiceTypeID ::= 86
+serv87 LCSServiceTypeID ::= 87
+serv88 LCSServiceTypeID ::= 88
+serv89 LCSServiceTypeID ::= 89
+serv90 LCSServiceTypeID ::= 90
+serv91 LCSServiceTypeID ::= 91
+serv92 LCSServiceTypeID ::= 92
+serv93 LCSServiceTypeID ::= 93
+serv94 LCSServiceTypeID ::= 94
+serv95 LCSServiceTypeID ::= 95
+serv96 LCSServiceTypeID ::= 96
+serv97 LCSServiceTypeID ::= 97
+serv98 LCSServiceTypeID ::= 98
+serv99 LCSServiceTypeID ::= 99
+serv100 LCSServiceTypeID ::= 100
+serv101 LCSServiceTypeID ::= 101
+serv102 LCSServiceTypeID ::= 102
+serv103 LCSServiceTypeID ::= 103
+serv104 LCSServiceTypeID ::= 104
+serv105 LCSServiceTypeID ::= 105
+serv106 LCSServiceTypeID ::= 106
+serv107 LCSServiceTypeID ::= 107
+serv108 LCSServiceTypeID ::= 108
+serv109 LCSServiceTypeID ::= 109
+serv110 LCSServiceTypeID ::= 110
+serv111 LCSServiceTypeID ::= 111
+serv112 LCSServiceTypeID ::= 112
+serv113 LCSServiceTypeID ::= 113
+serv114 LCSServiceTypeID ::= 114
+serv115 LCSServiceTypeID ::= 115
+serv116 LCSServiceTypeID ::= 116
+serv117 LCSServiceTypeID ::= 117
+serv118 LCSServiceTypeID ::= 118
+serv119 LCSServiceTypeID ::= 119
+serv120 LCSServiceTypeID ::= 120
+serv121 LCSServiceTypeID ::= 121
+serv122 LCSServiceTypeID ::= 122
+serv123 LCSServiceTypeID ::= 123
+serv124 LCSServiceTypeID ::= 124
+serv125 LCSServiceTypeID ::= 125
+serv126 LCSServiceTypeID ::= 126
+serv127 LCSServiceTypeID ::= 127
+
+PLMN-Id ::= OCTET STRING (SIZE (3))
+ -- The internal structure is defined as follows:
+ -- octet 1 bits 4321 Mobile Country Code 1st digit
+ -- bits 8765 Mobile Country Code 2nd digit
+ -- octet 2 bits 4321 Mobile Country Code 3rd digit
+ -- bits 8765 Mobile Network Code 3rd digit
+ -- or filler (1111) for 2 digit MNCs
+ -- octet 3 bits 4321 Mobile Network Code 1st digit
+ -- bits 8765 Mobile Network Code 2nd digit
+
+E-UTRAN-CGI ::= OCTET STRING (SIZE (7))
+ -- Octets are coded as described in 3GPP TS 29.118 [152].
+
+NR-CGI ::= OCTET STRING (SIZE (8))
+ -- Octets are coded as described in 3GPP TS 38.413 [153].
+
+TA-Id ::= OCTET STRING (SIZE (5))
+ -- Octets are coded as described in 3GPP TS 29.118 [152].
+
+NR-TA-Id ::= OCTET STRING (SIZE (6))
+ -- Octets are coded as described in 3GPP TS 38.413 [153].
+
+RAIdentity ::= OCTET STRING (SIZE (6))
+-- Routing Area Identity is coded in accordance with 3GPP TS 29.060 [105].
+-- It shall contain the value part defined in 3GPP TS 29.060 only. I.e. the 3GPP TS 29.060
+-- type identifier octet shall not be included.
+
+NetworkNodeDiameterAddress::= SEQUENCE {
+ diameter-Name [0] DiameterIdentity,
+ diameter-Realm [1] DiameterIdentity }
+
+-- data types for CAMEL
+
+CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE {
+ cellGlobalIdOrServiceAreaIdFixedLength [0] CellGlobalIdOrServiceAreaIdFixedLength,
+ laiFixedLength [1] LAIFixedLength}
+
+CellGlobalIdOrServiceAreaIdFixedLength ::= OCTET STRING (SIZE (7))
+ -- Refers to Cell Global Identification or Service Are Identification
+ -- defined in 3GPP TS 23.003.
+ -- The internal structure is defined as follows:
+ -- octet 1 bits 4321 Mobile Country Code 1st digit
+ -- bits 8765 Mobile Country Code 2nd digit
+ -- octet 2 bits 4321 Mobile Country Code 3rd digit
+ -- bits 8765 Mobile Network Code 3rd digit
+ -- or filler (1111) for 2 digit MNCs
+ -- octet 3 bits 4321 Mobile Network Code 1st digit
+ -- bits 8765 Mobile Network Code 2nd digit
+ -- octets 4 and 5 Location Area Code according to 3GPP TS 24.008
+ -- octets 6 and 7 Cell Identity (CI) value or
+ -- Service Area Code (SAC) value
+ -- according to 3GPP TS 23.003
+
+LAIFixedLength ::= OCTET STRING (SIZE (5))
+ -- Refers to Location Area Identification defined in 3GPP TS 23.003 [17].
+ -- The internal structure is defined as follows:
+ -- octet 1 bits 4321 Mobile Country Code 1st digit
+ -- bits 8765 Mobile Country Code 2nd digit
+ -- octet 2 bits 4321 Mobile Country Code 3rd digit
+ -- bits 8765 Mobile Network Code 3rd digit
+ -- or filler (1111) for 2 digit MNCs
+ -- octet 3 bits 4321 Mobile Network Code 1st digit
+ -- bits 8765 Mobile Network Code 2nd digit
+ -- octets 4 and 5 Location Area Code according to 3GPP TS 24.008 [35]
+
+-- data types for subscriber management
+
+BasicServiceCode ::= CHOICE {
+ bearerService [2] BearerServiceCode,
+ teleservice [3] TeleserviceCode}
+
+Ext-BasicServiceCode ::= CHOICE {
+ ext-BearerService [2] Ext-BearerServiceCode,
+ ext-Teleservice [3] Ext-TeleserviceCode}
+
+EMLPP-Info ::= SEQUENCE {
+ maximumentitledPriority EMLPP-Priority,
+ defaultPriority EMLPP-Priority,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+EMLPP-Priority ::= INTEGER (0..15)
+ -- The mapping from the values A,B,0,1,2,3,4 to the integer-value is
+ -- specified as follows where A is the highest and 4 is the lowest
+ -- priority level
+ -- the integer values 7-15 are spare and shall be mapped to value 4
+
+priorityLevelA EMLPP-Priority ::= 6
+priorityLevelB EMLPP-Priority ::= 5
+priorityLevel0 EMLPP-Priority ::= 0
+priorityLevel1 EMLPP-Priority ::= 1
+priorityLevel2 EMLPP-Priority ::= 2
+priorityLevel3 EMLPP-Priority ::= 3
+priorityLevel4 EMLPP-Priority ::= 4
+
+MC-SS-Info ::= SEQUENCE {
+ ss-Code [0] SS-Code,
+ ss-Status [1] Ext-SS-Status,
+ nbrSB [2] MaxMC-Bearers,
+ nbrUser [3] MC-Bearers,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ...}
+
+MaxMC-Bearers ::= INTEGER (2..maxNumOfMC-Bearers)
+
+MC-Bearers ::= INTEGER (1..maxNumOfMC-Bearers)
+
+maxNumOfMC-Bearers INTEGER ::= 7
+
+Ext-SS-Status ::= OCTET STRING (SIZE (1..5))
+
+ -- OCTET 1:
+ --
+ -- bits 8765: 0000 (unused)
+ -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
+ -- representing supplementary service state information
+ -- as defined in TS 3GPP TS 23.011 [22]
+
+ -- bit 4: "Q bit"
+
+ -- bit 3: "P bit"
+
+ -- bit 2: "R bit"
+
+ -- bit 1: "A bit"
+
+ -- OCTETS 2-5: reserved for future use. They shall be discarded if
+ -- received and not understood.
+
+
+ -- data types for geographic location
+
+AgeOfLocationInformation ::= INTEGER (0..32767)
+-- the value represents the elapsed time in minutes since the last
+-- network contact of the mobile station (i.e. the actuality of the
+-- location information).
+-- value "0" indicates that the MS is currently in contact with the
+-- network
+-- value "32767" indicates that the location information is at least
+-- 32767 minutes old
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-DialogueInformation.asn b/epan/dissectors/asn1/gsm_map/MAP-DialogueInformation.asn
new file mode 100644
index 00000000..c767f107
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-DialogueInformation.asn
@@ -0,0 +1,127 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.4 MAP Dialogue Information
+
+MAP-DialogueInformation {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-DialogueInformation (3) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+ map-DialogueAS,
+ MAP-DialoguePDU
+
+;
+
+IMPORTS
+ gsm-NetworkId,
+ as-Id
+FROM MobileDomainDefinitions {
+ itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ mobileDomainDefinitions (0) version1 (1)}
+
+ AddressString
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network(1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+
+
+;
+
+
+-- abstract syntax name for MAP-DialoguePDU
+
+map-DialogueAS OBJECT IDENTIFIER ::=
+ {gsm-NetworkId as-Id map-DialoguePDU (1) version1 (1)}
+
+MAP-DialoguePDU ::= CHOICE {
+ map-open [0] MAP-OpenInfo,
+ map-accept [1] MAP-AcceptInfo,
+ map-close [2] MAP-CloseInfo,
+ map-refuse [3] MAP-RefuseInfo,
+ map-userAbort [4] MAP-UserAbortInfo,
+ map-providerAbort [5] MAP-ProviderAbortInfo}
+
+MAP-OpenInfo ::= SEQUENCE {
+ destinationReference [0] AddressString OPTIONAL,
+ originationReference [1] AddressString OPTIONAL,
+ ...,
+ extensionContainer ExtensionContainer OPTIONAL
+ -- extensionContainer must not be used in version 2
+ }
+
+MAP-AcceptInfo ::= SEQUENCE {
+ ...,
+ extensionContainer ExtensionContainer OPTIONAL
+ -- extensionContainer must not be used in version 2
+ }
+
+MAP-CloseInfo ::= SEQUENCE {
+ ...,
+ extensionContainer ExtensionContainer OPTIONAL
+ -- extensionContainer must not be used in version 2
+ }
+
+MAP-RefuseInfo ::= SEQUENCE {
+ reason Reason,
+ ...,
+ extensionContainer ExtensionContainer OPTIONAL,
+ -- extensionContainer must not be used in version 2
+ alternativeApplicationContext OBJECT IDENTIFIER OPTIONAL
+ -- alternativeApplicationContext must not be used in version 2
+ }
+
+Reason ::= ENUMERATED {
+ noReasonGiven (0),
+ invalidDestinationReference (1),
+ invalidOriginatingReference (2)}
+
+MAP-UserAbortInfo ::= SEQUENCE {
+ map-UserAbortChoice MAP-UserAbortChoice,
+ ...,
+ extensionContainer ExtensionContainer OPTIONAL
+ -- extensionContainer must not be used in version 2
+ }
+
+MAP-UserAbortChoice ::= CHOICE {
+ userSpecificReason [0] NULL,
+ userResourceLimitation [1] NULL,
+ resourceUnavailable [2] ResourceUnavailableReason,
+ applicationProcedureCancellation [3] ProcedureCancellationReason}
+
+ResourceUnavailableReason ::= ENUMERATED {
+ shortTermResourceLimitation (0),
+ longTermResourceLimitation (1)}
+
+ProcedureCancellationReason ::= ENUMERATED {
+ handoverCancellation (0),
+ radioChannelRelease (1),
+ networkPathRelease (2),
+ callRelease (3),
+ associatedProcedureFailure (4),
+ tandemDialogueRelease (5),
+ remoteOperationsFailure (6)}
+
+MAP-ProviderAbortInfo ::= SEQUENCE {
+ map-ProviderAbortReason MAP-ProviderAbortReason,
+ ...,
+ extensionContainer ExtensionContainer OPTIONAL
+ -- extensionContainer must not be used in version 2
+ }
+
+MAP-ProviderAbortReason ::= ENUMERATED {
+ abnormalDialogue (0),
+ invalidPDU (1)}
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-ER-DataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-ER-DataTypes.asn
new file mode 100644
index 00000000..5b871a29
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-ER-DataTypes.asn
@@ -0,0 +1,435 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.7.7 Error data types
+
+MAP-ER-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ER-DataTypes (17) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+ RoamingNotAllowedParam,
+ CallBarredParam,
+ CUG-RejectParam,
+ SS-IncompatibilityCause,
+ PW-RegistrationFailureCause,
+ SM-DeliveryFailureCause,
+ SystemFailureParam,
+ DataMissingParam,
+ UnexpectedDataParam,
+ FacilityNotSupParam,
+ OR-NotAllowedParam,
+ UnknownSubscriberParam,
+ NumberChangedParam,
+ UnidentifiedSubParam,
+ IllegalSubscriberParam,
+ IllegalEquipmentParam,
+ BearerServNotProvParam,
+ TeleservNotProvParam,
+ TracingBufferFullParam,
+ NoRoamingNbParam,
+ AbsentSubscriberParam,
+ BusySubscriberParam,
+ NoSubscriberReplyParam,
+ ForwardingViolationParam,
+ ForwardingFailedParam,
+ ATI-NotAllowedParam,
+ SubBusyForMT-SMS-Param,
+ MessageWaitListFullParam,
+ AbsentSubscriberSM-Param,
+ AbsentSubscriberDiagnosticSM,
+ ResourceLimitationParam,
+ NoGroupCallNbParam,
+ IncompatibleTerminalParam,
+ ShortTermDenialParam,
+ LongTermDenialParam,
+ UnauthorizedRequestingNetwork-Param,
+ UnauthorizedLCSClient-Param,
+ PositionMethodFailure-Param,
+UnknownOrUnreachableLCSClient-Param,
+ MM-EventNotSupported-Param,
+ATSI-NotAllowedParam,
+ATM-NotAllowedParam,
+IllegalSS-OperationParam,
+SS-NotAvailableParam,
+SS-SubscriptionViolationParam,
+InformationNotAvailableParam,
+TargetCellOutsideGCA-Param,
+OngoingGroupCallParam,
+PositionMethodFailure-Diagnostic,
+UnauthorizedLCSClient-Diagnostic
+
+;
+
+IMPORTS
+ SS-Status
+FROM MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-DataTypes (14) version20 (20)}
+
+ SignalInfo,
+ BasicServiceCode,
+ NetworkResource,
+ AdditionalNetworkResource,
+ IMSI,
+ Time
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+
+ SS-Code
+FROM MAP-SS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-Code (15) version20 (20)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+;
+
+RoamingNotAllowedParam ::= SEQUENCE {
+ roamingNotAllowedCause RoamingNotAllowedCause,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ additionalRoamingNotAllowedCause [0] AdditionalRoamingNotAllowedCause OPTIONAL }
+
+-- if the additionalRoamingNotallowedCause is received by the MSC/VLR or SGSN then the
+-- roamingNotAllowedCause shall be discarded.
+
+AdditionalRoamingNotAllowedCause ::= ENUMERATED {
+ supportedRAT-TypesNotAllowed (0),
+ ...}
+
+RoamingNotAllowedCause ::= ENUMERATED {
+ plmnRoamingNotAllowed (0),
+ operatorDeterminedBarring (3)}
+
+CallBarredParam ::= CHOICE {
+ callBarringCause CallBarringCause,
+ -- call BarringCause must not be used in version 3 and higher
+ extensibleCallBarredParam ExtensibleCallBarredParam
+ -- extensibleCallBarredParam must not be used in version <3
+ }
+
+CallBarringCause ::= ENUMERATED {
+ barringServiceActive (0),
+ operatorBarring (1)}
+
+ExtensibleCallBarredParam ::= SEQUENCE {
+ callBarringCause CallBarringCause OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ unauthorisedMessageOriginator [1] NULL OPTIONAL,
+ anonymousCallRejection [2] NULL OPTIONAL }
+
+-- unauthorisedMessageOriginator and anonymousCallRejection shall be mutually exclusive.
+
+
+CUG-RejectParam ::= SEQUENCE {
+ cug-RejectCause CUG-RejectCause OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+CUG-RejectCause ::= ENUMERATED {
+ incomingCallsBarredWithinCUG (0),
+ subscriberNotMemberOfCUG (1),
+ requestedBasicServiceViolatesCUG-Constraints (5),
+ calledPartySS-InteractionViolation (7)}
+
+SS-IncompatibilityCause ::= SEQUENCE {
+ ss-Code [1] SS-Code OPTIONAL,
+ basicService BasicServiceCode OPTIONAL,
+ ss-Status [4] SS-Status OPTIONAL,
+ ...}
+
+PW-RegistrationFailureCause ::= ENUMERATED {
+ undetermined (0),
+ invalidFormat (1),
+ newPasswordsMismatch (2)}
+
+SM-EnumeratedDeliveryFailureCause ::= ENUMERATED {
+ memoryCapacityExceeded (0),
+ equipmentProtocolError (1),
+ equipmentNotSM-Equipped (2),
+ unknownServiceCentre (3),
+ sc-Congestion (4),
+ invalidSME-Address (5),
+ subscriberNotSC-Subscriber (6)}
+
+SM-DeliveryFailureCause ::= SEQUENCE {
+ sm-EnumeratedDeliveryFailureCause SM-EnumeratedDeliveryFailureCause,
+ diagnosticInfo SignalInfo OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+AbsentSubscriberSM-Param ::= SEQUENCE {
+ absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL,
+ -- AbsentSubscriberDiagnosticSM can be either for non-GPRS
+ -- or for GPRS
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL,
+ -- if received, additionalAbsentSubscriberDiagnosticSM
+ -- is for GPRS and absentSubscriberDiagnosticSM is
+ -- for non-GPRS
+ imsi [1] IMSI OPTIONAL,
+ -- when sent from HLR to IP-SM-GW, IMSI shall be present if UNRI is not set
+ -- to indicate that the absent condition is met for CS and PS but not for IMS.
+ requestedRetransmissionTime [2] Time OPTIONAL,
+ userIdentifierAlert [3] IMSI OPTIONAL }
+
+AbsentSubscriberDiagnosticSM ::= INTEGER (0..255)
+ -- AbsentSubscriberDiagnosticSM values are defined in 3GPP TS 23.040
+
+SystemFailureParam ::= CHOICE {
+ networkResource NetworkResource,
+ -- networkResource must not be used in version 3
+ extensibleSystemFailureParam ExtensibleSystemFailureParam
+ -- extensibleSystemFailureParam must not be used in version <3
+ }
+
+ExtensibleSystemFailureParam ::= SEQUENCE {
+ networkResource NetworkResource OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ additionalNetworkResource [0] AdditionalNetworkResource OPTIONAL,
+ failureCauseParam [1] FailureCauseParam OPTIONAL }
+
+FailureCauseParam ::= ENUMERATED {
+ limitReachedOnNumberOfConcurrentLocationRequests (0),
+ ... }
+ -- if unknown value is received in FailureCauseParam it shall be ignored
+
+
+DataMissingParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+UnexpectedDataParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ unexpectedSubscriber [0] NULL OPTIONAL}
+-- the unexpectedSubscriber indication in the unexpectedDataValue error shall not be used
+-- for operations that allow the unidentifiedSubscriber error.
+
+FacilityNotSupParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ shapeOfLocationEstimateNotSupported [0] NULL OPTIONAL,
+ neededLcsCapabilityNotSupportedInServingNode [1] NULL OPTIONAL }
+
+OR-NotAllowedParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+UnknownSubscriberParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL}
+
+UnknownSubscriberDiagnostic ::= ENUMERATED {
+ imsiUnknown (0),
+ gprs-eps-SubscriptionUnknown (1),
+ ...,
+ npdbMismatch (2)}
+ -- if unknown values are received in
+ -- UnknownSubscriberDiagnostic they shall be discarded
+
+NumberChangedParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+UnidentifiedSubParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+IllegalSubscriberParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+IllegalEquipmentParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+BearerServNotProvParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+TeleservNotProvParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+TracingBufferFullParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+NoRoamingNbParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+AbsentSubscriberParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ absentSubscriberReason [0] AbsentSubscriberReason OPTIONAL}
+
+AbsentSubscriberReason ::= ENUMERATED {
+ imsiDetach (0),
+ restrictedArea (1),
+ noPageResponse (2),
+ ... ,
+ purgedMS (3),
+ mtRoamingRetry (4),
+ busySubscriber (5)}
+-- exception handling: at reception of other values than the ones listed the
+-- AbsentSubscriberReason shall be ignored.
+-- The AbsentSubscriberReason: purgedMS is defined for the Super-Charger feature
+-- (see TS 23.116). If this value is received in a Provide Roaming Number response
+-- it shall be mapped to the AbsentSubscriberReason: imsiDetach in the Send Routeing
+-- Information response
+-- The AbsentSubscriberReason: mtRoamingRetry is used during MT Roaming Retry,
+-- see 3GPP TS 23.018[97].
+-- The AbsentSubscriberReason: busySubscriber is used during MT Roaming Forwarding,
+-- see 3GPP TS 23.018[97].
+
+BusySubscriberParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ ccbs-Possible [0] NULL OPTIONAL,
+ ccbs-Busy [1] NULL OPTIONAL}
+
+NoSubscriberReplyParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ForwardingViolationParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ForwardingFailedParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ATI-NotAllowedParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ATSI-NotAllowedParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ATM-NotAllowedParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+IllegalSS-OperationParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+SS-NotAvailableParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+SS-SubscriptionViolationParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+InformationNotAvailableParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+SubBusyForMT-SMS-Param ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ gprsConnectionSuspended NULL OPTIONAL }
+ -- If GprsConnectionSuspended is not understood it shall
+ -- be discarded
+
+MessageWaitListFullParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ResourceLimitationParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+NoGroupCallNbParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+IncompatibleTerminalParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ShortTermDenialParam ::= SEQUENCE {
+ ...}
+
+LongTermDenialParam ::= SEQUENCE {
+ ...}
+
+UnauthorizedRequestingNetwork-Param ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+UnauthorizedLCSClient-Param ::= SEQUENCE {
+ unauthorizedLCSClient-Diagnostic [0] UnauthorizedLCSClient-Diagnostic OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ... }
+
+UnauthorizedLCSClient-Diagnostic ::= ENUMERATED {
+ noAdditionalInformation (0),
+ clientNotInMSPrivacyExceptionList (1),
+ callToClientNotSetup (2),
+ privacyOverrideNotApplicable (3),
+ disallowedByLocalRegulatoryRequirements (4),
+ ...,
+ unauthorizedPrivacyClass (5),
+ unauthorizedCallSessionUnrelatedExternalClient (6),
+ unauthorizedCallSessionRelatedExternalClient (7) }
+-- exception handling:
+-- any unrecognized value shall be ignored
+
+PositionMethodFailure-Param ::= SEQUENCE {
+ positionMethodFailure-Diagnostic [0] PositionMethodFailure-Diagnostic OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ... }
+
+PositionMethodFailure-Diagnostic ::= ENUMERATED {
+ congestion (0),
+ insufficientResources (1),
+ insufficientMeasurementData (2),
+ inconsistentMeasurementData (3),
+ locationProcedureNotCompleted (4),
+ locationProcedureNotSupportedByTargetMS (5),
+ qoSNotAttainable (6),
+ positionMethodNotAvailableInNetwork (7),
+ positionMethodNotAvailableInLocationArea (8),
+ ... }
+-- exception handling:
+-- any unrecognized value shall be ignored
+
+UnknownOrUnreachableLCSClient-Param ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+MM-EventNotSupported-Param ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+TargetCellOutsideGCA-Param ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+OngoingGroupCallParam ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-Errors.asn b/epan/dissectors/asn1/gsm_map/MAP-Errors.asn
new file mode 100644
index 00000000..245d5cdc
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-Errors.asn
@@ -0,0 +1,508 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.6.6 Errors
+
+MAP-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Errors (10) version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+EXPORTS
+
+ -- generic errors
+ systemFailure,
+ dataMissing,
+ unexpectedDataValue,
+ facilityNotSupported,
+ incompatibleTerminal,
+ resourceLimitation,
+
+ -- identification and numbering errors
+ unknownSubscriber,
+ numberChanged,
+ unknownMSC,
+ unidentifiedSubscriber,
+ unknownEquipment,
+
+ -- subscription errors
+ roamingNotAllowed,
+ illegalSubscriber,
+ illegalEquipment,
+ bearerServiceNotProvisioned,
+ teleserviceNotProvisioned,
+
+ -- handover errors
+ noHandoverNumberAvailable,
+ subsequentHandoverFailure,
+ targetCellOutsideGroupCallArea,
+
+ -- operation and maintenance errors
+ tracingBufferFull,
+
+ -- call handling errors
+ or-NotAllowed,
+ noRoamingNumberAvailable,
+ busySubscriber,
+ noSubscriberReply,
+ absentSubscriber,
+ callBarred,
+ forwardingViolation,
+ forwardingFailed,
+ cug-Reject,
+
+ -- any time interrogation errors
+ ati-NotAllowed,
+
+ -- any time information handling errors
+ atsi-NotAllowed,
+ atm-NotAllowed,
+ informationNotAvailable,
+
+ -- supplementary service errors
+ illegalSS-Operation,
+ ss-ErrorStatus,
+ ss-NotAvailable,
+ ss-SubscriptionViolation,
+ ss-Incompatibility,
+ unknownAlphabet,
+ ussd-Busy,
+ pw-RegistrationFailure,
+ negativePW-Check,
+ numberOfPW-AttemptsViolation,
+ shortTermDenial,
+ longTermDenial,
+
+ -- short message service errors
+ subscriberBusyForMT-SMS,
+ sm-DeliveryFailure,
+ messageWaitingListFull,
+ absentSubscriberSM,
+
+ -- Group Call errors
+ noGroupCallNumberAvailable,
+ ongoingGroupCall,
+
+ -- location service errors
+ unauthorizedRequestingNetwork,
+ unauthorizedLCSClient,
+ positionMethodFailure,
+ unknownOrUnreachableLCSClient,
+
+ -- Mobility Management errors
+ mm-EventNotSupported
+
+
+;
+
+IMPORTS
+ ERROR
+FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0) }
+
+ SS-Status
+FROM MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-DataTypes (14) version20 (20)}
+
+ SS-IncompatibilityCause,
+ PW-RegistrationFailureCause,
+ SM-DeliveryFailureCause,
+ SystemFailureParam,
+ DataMissingParam,
+ UnexpectedDataParam,
+ FacilityNotSupParam,
+ UnknownSubscriberParam,
+ NumberChangedParam,
+ UnidentifiedSubParam,
+ RoamingNotAllowedParam,
+ IllegalSubscriberParam,
+ IllegalEquipmentParam,
+ BearerServNotProvParam,
+ TeleservNotProvParam,
+ TracingBufferFullParam,
+ NoRoamingNbParam,
+ OR-NotAllowedParam,
+ AbsentSubscriberParam,
+ BusySubscriberParam,
+ NoSubscriberReplyParam,
+ CallBarredParam,
+ ForwardingViolationParam,
+ ForwardingFailedParam,
+ CUG-RejectParam,
+ ATI-NotAllowedParam,
+ SubBusyForMT-SMS-Param,
+ MessageWaitListFullParam,
+ AbsentSubscriberSM-Param,
+ ResourceLimitationParam,
+ NoGroupCallNbParam,
+ IncompatibleTerminalParam,
+ ShortTermDenialParam,
+ LongTermDenialParam,
+ UnauthorizedRequestingNetwork-Param,
+ UnauthorizedLCSClient-Param,
+ PositionMethodFailure-Param,
+UnknownOrUnreachableLCSClient-Param,
+ MM-EventNotSupported-Param,
+ATSI-NotAllowedParam,
+ATM-NotAllowedParam,
+IllegalSS-OperationParam,
+SS-NotAvailableParam,
+SS-SubscriptionViolationParam,
+InformationNotAvailableParam,
+TargetCellOutsideGCA-Param,
+OngoingGroupCallParam
+FROM MAP-ER-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ER-DataTypes (17) version20 (20)}
+;
+
+-- generic errors
+
+systemFailure ERROR ::= {
+ PARAMETER
+ SystemFailureParam
+ -- optional
+ CODE local:34 }
+
+dataMissing ERROR ::= {
+ PARAMETER
+ DataMissingParam
+ -- optional
+ -- DataMissingParam must not be used in version <3
+ CODE local:35 }
+
+unexpectedDataValue ERROR ::= {
+ PARAMETER
+ UnexpectedDataParam
+ -- optional
+ -- UnexpectedDataParam must not be used in version <3
+ CODE local:36 }
+
+facilityNotSupported ERROR ::= {
+ PARAMETER
+ FacilityNotSupParam
+ -- optional
+ -- FacilityNotSupParam must not be used in version <3
+ CODE local:21 }
+
+incompatibleTerminal ERROR ::= {
+ PARAMETER
+ IncompatibleTerminalParam
+ -- optional
+ CODE local:28 }
+
+resourceLimitation ERROR ::= {
+ PARAMETER
+ ResourceLimitationParam
+ -- optional
+ CODE local:51 }
+
+-- identification and numbering errors
+
+unknownSubscriber ERROR ::= {
+ PARAMETER
+ UnknownSubscriberParam
+ -- optional
+ -- UnknownSubscriberParam must not be used in version <3
+ CODE local:1 }
+
+numberChanged ERROR ::= {
+ PARAMETER
+ NumberChangedParam
+ -- optional
+ CODE local:44 }
+
+unknownMSC ERROR ::= {
+ CODE local:3 }
+
+unidentifiedSubscriber ERROR ::= {
+ PARAMETER
+ UnidentifiedSubParam
+ -- optional
+ -- UunidentifiedSubParam must not be used in version <3
+ CODE local:5 }
+
+unknownEquipment ERROR ::= {
+ CODE local:7 }
+
+-- subscription errors
+
+roamingNotAllowed ERROR ::= {
+ PARAMETER
+ RoamingNotAllowedParam
+ CODE local:8 }
+
+illegalSubscriber ERROR ::= {
+ PARAMETER
+ IllegalSubscriberParam
+ -- optional
+ -- IllegalSubscriberParam must not be used in version <3
+ CODE local:9 }
+
+illegalEquipment ERROR ::= {
+ PARAMETER
+ IllegalEquipmentParam
+ -- optional
+ -- IllegalEquipmentParam must not be used in version <3
+ CODE local:12 }
+
+bearerServiceNotProvisioned ERROR ::= {
+ PARAMETER
+ BearerServNotProvParam
+ -- optional
+ -- BearerServNotProvParam must not be used in version <3
+ CODE local:10 }
+
+teleserviceNotProvisioned ERROR ::= {
+ PARAMETER
+ TeleservNotProvParam
+ -- optional
+ -- TeleservNotProvParam must not be used in version <3
+ CODE local:11 }
+
+-- handover errors
+
+noHandoverNumberAvailable ERROR ::= {
+ CODE local:25 }
+
+subsequentHandoverFailure ERROR ::= {
+ CODE local:26 }
+
+targetCellOutsideGroupCallArea ERROR ::= {
+ PARAMETER
+ TargetCellOutsideGCA-Param
+ -- optional
+ CODE local:42 }
+
+-- operation and maintenance errors
+
+tracingBufferFull ERROR ::= {
+ PARAMETER
+ TracingBufferFullParam
+ -- optional
+ CODE local: 40 }
+
+-- call handling errors
+
+noRoamingNumberAvailable ERROR ::= {
+ PARAMETER
+ NoRoamingNbParam
+ -- optional
+ CODE local:39 }
+
+absentSubscriber ERROR ::= {
+ PARAMETER
+ AbsentSubscriberParam
+ -- optional
+ -- AbsentSubscriberParam must not be used in version <3
+ CODE local:27 }
+
+busySubscriber ERROR ::= {
+ PARAMETER
+ BusySubscriberParam
+ -- optional
+ CODE local:45 }
+
+noSubscriberReply ERROR ::= {
+ PARAMETER
+ NoSubscriberReplyParam
+ -- optional
+ CODE local:46 }
+
+callBarred ERROR ::= {
+ PARAMETER
+ CallBarredParam
+ -- optional
+ CODE local:13 }
+
+forwardingViolation ERROR ::= {
+ PARAMETER
+ ForwardingViolationParam
+ -- optional
+ CODE local:14 }
+
+forwardingFailed ERROR ::= {
+ PARAMETER
+ ForwardingFailedParam
+ -- optional
+ CODE local:47 }
+
+cug-Reject ERROR ::= {
+ PARAMETER
+ CUG-RejectParam
+ -- optional
+ CODE local:15 }
+
+or-NotAllowed ERROR ::= {
+ PARAMETER
+ OR-NotAllowedParam
+ -- optional
+ CODE local:48 }
+
+-- any time interrogation errors
+ati-NotAllowed ERROR ::= {
+ PARAMETER
+ ATI-NotAllowedParam
+ -- optional
+ CODE local:49 }
+
+-- any time information handling errors
+atsi-NotAllowed ERROR ::= {
+ PARAMETER
+ ATSI-NotAllowedParam
+ -- optional
+ CODE local:60 }
+
+atm-NotAllowed ERROR ::= {
+ PARAMETER
+ ATM-NotAllowedParam
+ -- optional
+ CODE local:61 }
+
+informationNotAvailable ERROR ::= {
+ PARAMETER
+ InformationNotAvailableParam
+ -- optional
+ CODE local:62 }
+
+-- supplementary service errors
+
+illegalSS-Operation ERROR ::= {
+ PARAMETER
+ IllegalSS-OperationParam
+ -- optional
+ -- IllegalSS-OperationParam must not be used in version <3
+ CODE local:16 }
+
+ss-ErrorStatus ERROR ::= {
+ PARAMETER
+ SS-Status
+ -- optional
+ CODE local:17 }
+
+ss-NotAvailable ERROR ::= {
+ PARAMETER
+ SS-NotAvailableParam
+ -- optional
+ -- SS-NotAvailableParam must not be used in version <3
+ CODE local:18 }
+
+ss-SubscriptionViolation ERROR ::= {
+ PARAMETER
+ SS-SubscriptionViolationParam
+ -- optional
+ -- SS-SubscriptionViolationParam must not be used in version <3
+ CODE local:19 }
+
+ss-Incompatibility ERROR ::= {
+ PARAMETER
+ SS-IncompatibilityCause
+ -- optional
+ CODE local:20 }
+
+unknownAlphabet ERROR ::= {
+ CODE local:71 }
+
+ussd-Busy ERROR ::= {
+ CODE local:72 }
+
+pw-RegistrationFailure ERROR ::= {
+ PARAMETER
+ PW-RegistrationFailureCause
+ CODE local:37 }
+
+negativePW-Check ERROR ::= {
+ CODE local:38 }
+
+numberOfPW-AttemptsViolation ERROR ::= {
+ CODE local:43 }
+
+shortTermDenial ERROR ::= {
+ PARAMETER
+ ShortTermDenialParam
+ -- optional
+ CODE local:29 }
+
+longTermDenial ERROR ::= {
+ PARAMETER
+ LongTermDenialParam
+ -- optional
+ CODE local:30 }
+
+-- short message service errors
+
+subscriberBusyForMT-SMS ERROR ::= {
+ PARAMETER
+ SubBusyForMT-SMS-Param
+ -- optional
+ CODE local:31 }
+
+sm-DeliveryFailure ERROR ::= {
+ PARAMETER
+ SM-DeliveryFailureCause
+ CODE local:32 }
+
+messageWaitingListFull ERROR ::= {
+ PARAMETER
+ MessageWaitListFullParam
+ -- optional
+ CODE local:33 }
+
+absentSubscriberSM ERROR ::= {
+ PARAMETER
+ AbsentSubscriberSM-Param
+ -- optional
+ CODE local:6 }
+
+-- Group Call errors
+
+noGroupCallNumberAvailable ERROR ::= {
+ PARAMETER
+ NoGroupCallNbParam
+ -- optional
+ CODE local:50 }
+
+ongoingGroupCall ERROR ::= {
+ PARAMETER
+ OngoingGroupCallParam
+ -- optional
+ CODE local:22 }
+
+-- location service errors
+
+unauthorizedRequestingNetwork ERROR ::= {
+ PARAMETER
+ UnauthorizedRequestingNetwork-Param
+ -- optional
+ CODE local:52 }
+
+unauthorizedLCSClient ERROR ::= {
+ PARAMETER
+ UnauthorizedLCSClient-Param
+ -- optional
+ CODE local:53 }
+
+positionMethodFailure ERROR ::= {
+ PARAMETER
+ PositionMethodFailure-Param
+ -- optional
+ CODE local:54 }
+
+unknownOrUnreachableLCSClient ERROR ::= {
+ PARAMETER
+ UnknownOrUnreachableLCSClient-Param
+ -- optional
+ CODE local:58 }
+
+mm-EventNotSupported ERROR ::= {
+ PARAMETER
+ MM-EventNotSupported-Param
+ -- optional
+ CODE local:59 }
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-ExtensionDataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-ExtensionDataTypes.asn
new file mode 100644
index 00000000..785cd2f3
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-ExtensionDataTypes.asn
@@ -0,0 +1,71 @@
+-- MAP-ExtensionDataTypes.asn
+--
+-- Taken from 3GPP TS 29.002 V17.1.0 (2021-06)
+--
+-- 17.7.11 Extension data types
+--
+MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+
+ PrivateExtension,
+ ExtensionContainer,
+ SLR-ArgExtensionContainer;
+
+
+-- IOC for private MAP extensions
+
+
+MAP-EXTENSION ::= CLASS {
+ &ExtensionType OPTIONAL,
+ &extensionId OBJECT IDENTIFIER }
+ -- The length of the Object Identifier shall not exceed 16 octets and the
+ -- number of components of the Object Identifier shall not exceed 16
+
+-- data types
+
+ExtensionContainer ::= SEQUENCE {
+ privateExtensionList [0]PrivateExtensionList OPTIONAL,
+ pcs-Extensions [1]PCS-Extensions OPTIONAL,
+ ...}
+
+SLR-ArgExtensionContainer ::= SEQUENCE {
+ privateExtensionList [0]PrivateExtensionList OPTIONAL,
+ slr-Arg-PCS-Extensions [1]SLR-Arg-PCS-Extensions OPTIONAL,
+ ...}
+
+PrivateExtensionList ::= SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF
+ PrivateExtension
+
+PrivateExtension ::= SEQUENCE {
+ extId MAP-EXTENSION.&extensionId
+ ({ExtensionSet}),
+ extType MAP-EXTENSION.&ExtensionType
+ ({ExtensionSet}{@extId}) OPTIONAL}
+
+maxNumOfPrivateExtensions INTEGER ::= 10
+
+ExtensionSet MAP-EXTENSION ::=
+ {...
+ -- ExtensionSet is the set of all defined private extensions
+ }
+ -- Unsupported private extensions shall be discarded if received.
+
+PCS-Extensions ::= SEQUENCE {
+ ...}
+
+SLR-Arg-PCS-Extensions ::= SEQUENCE {
+ ...,
+ na-ESRK-Request [0] NULL OPTIONAL }
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-GR-DataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-GR-DataTypes.asn
new file mode 100644
index 00000000..76ec0c53
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-GR-DataTypes.asn
@@ -0,0 +1,198 @@
+-- Taken from 3GPP TS 29.002 V17.1.0 (2021-06)
+--
+--17.7.12 Group Call data types
+
+MAP-GR-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-GR-DataTypes (23) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+ PrepareGroupCallArg,
+ PrepareGroupCallRes,
+ SendGroupCallEndSignalArg,
+ SendGroupCallEndSignalRes,
+ ForwardGroupCallSignallingArg,
+ ProcessGroupCallSignallingArg,
+ SendGroupCallInfoArg,
+ SendGroupCallInfoRes
+;
+
+IMPORTS
+ ISDN-AddressString,
+ IMSI,
+ TMSI,
+ EMLPP-Priority,
+ ASCI-CallReference,
+ SignalInfo,
+ GlobalCellId,
+ AccessNetworkSignalInfo
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+ Ext-TeleserviceCode
+FROM MAP-TS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-TS-Code (19) version20 (20)}
+
+ Kc,
+ AdditionalInfo,
+ GroupId,
+Long-GroupId,
+ AdditionalSubscriptions,
+ Cksn
+FROM MAP-MS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MS-DataTypes (11) version20 (20)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+;
+
+
+PrepareGroupCallArg ::= SEQUENCE {
+ teleservice Ext-TeleserviceCode,
+ asciCallReference ASCI-CallReference,
+ codec-Info CODEC-Info,
+ cipheringAlgorithm CipheringAlgorithm,
+ groupKeyNumber-Vk-Id [0] GroupKeyNumber OPTIONAL,
+ groupKey [1] Kc OPTIONAL,
+ -- this parameter shall not be sent and shall be discarded if received
+ priority [2] EMLPP-Priority OPTIONAL,
+ uplinkFree [3] NULL OPTIONAL,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ...,
+ vstk [5] VSTK OPTIONAL,
+ vstk-rand [6] VSTK-RAND OPTIONAL,
+ talkerChannelParameter [7] NULL OPTIONAL,
+ uplinkReplyIndicator [8] NULL OPTIONAL}
+
+VSTK ::= OCTET STRING (SIZE (16))
+
+VSTK-RAND ::= OCTET STRING (SIZE (5))
+ -- The 36 bit value is carried in bit 7 of octet 1 to bit 4 of octet 5
+ -- bits 3, 2, 1, and 0 of octet 5 are padded with zeros.
+
+PrepareGroupCallRes ::= SEQUENCE {
+ groupCallNumber ISDN-AddressString,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+SendGroupCallEndSignalArg ::= SEQUENCE {
+ imsi IMSI OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ talkerPriority [0]TalkerPriority OPTIONAL,
+ additionalInfo [1]AdditionalInfo OPTIONAL }
+
+TalkerPriority ::= ENUMERATED {
+ normal (0),
+ privileged (1),
+ emergency (2)}
+
+SendGroupCallEndSignalRes ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ForwardGroupCallSignallingArg ::= SEQUENCE {
+ imsi IMSI OPTIONAL,
+ uplinkRequestAck [0] NULL OPTIONAL,
+ uplinkReleaseIndication [1] NULL OPTIONAL,
+ uplinkRejectCommand [2] NULL OPTIONAL,
+ uplinkSeizedCommand [3] NULL OPTIONAL,
+ uplinkReleaseCommand [4] NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ stateAttributes [5] StateAttributes OPTIONAL,
+ talkerPriority [6] TalkerPriority OPTIONAL,
+ additionalInfo [7] AdditionalInfo OPTIONAL,
+ emergencyModeResetCommandFlag [8] NULL OPTIONAL,
+ sm-RP-UI [9] SignalInfo OPTIONAL,
+ an-APDU [10] AccessNetworkSignalInfo OPTIONAL
+ }
+
+ProcessGroupCallSignallingArg ::= SEQUENCE {
+ uplinkRequest [0] NULL OPTIONAL,
+ uplinkReleaseIndication [1] NULL OPTIONAL,
+ releaseGroupCall [2] NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ talkerPriority [3] TalkerPriority OPTIONAL,
+ additionalInfo [4] AdditionalInfo OPTIONAL,
+ emergencyModeResetCommandFlag [5] NULL OPTIONAL,
+ an-APDU [6] AccessNetworkSignalInfo OPTIONAL }
+
+GroupKeyNumber ::= INTEGER (0..15)
+
+CODEC-Info ::= OCTET STRING (SIZE (5..10))
+ -- Refers to channel type
+ -- coded according to 3GPP TS 48.008 [49] and including Element identifier and Length
+
+CipheringAlgorithm ::= OCTET STRING (SIZE (1))
+ -- Refers to 'permitted algorithms' in 'encryption information'
+ -- coded according to 3GPP TS 48.008 [49]:
+
+ -- Bits 8-1
+ -- 8765 4321
+ -- 0000 0001 No encryption
+ -- 0000 0010 GSM A5/1
+ -- 0000 0100 GSM A5/2
+ -- 0000 1000 GSM A5/3
+ -- 0001 0000 GSM A5/4
+ -- 0010 0000 GSM A5/5
+ -- 0100 0000 GSM A5/6
+ -- 1000 0000 GSM A5/7
+
+StateAttributes ::= SEQUENCE {
+ downlinkAttached [5] NULL OPTIONAL,
+ uplinkAttached [6] NULL OPTIONAL,
+ dualCommunication [7] NULL OPTIONAL,
+ callOriginator [8] NULL OPTIONAL }
+
+ -- Refers to 3GPP TS 44.068 for definitions of StateAttributes fields.
+
+
+SendGroupCallInfoArg ::= SEQUENCE {
+ requestedInfo RequestedInfo,
+ groupId Long-GroupId,
+ teleservice Ext-TeleserviceCode,
+ cellId [0] GlobalCellId OPTIONAL,
+ imsi [1] IMSI OPTIONAL,
+ tmsi [2] TMSI OPTIONAL,
+ additionalInfo [3] AdditionalInfo OPTIONAL,
+ talkerPriority [4] TalkerPriority OPTIONAL,
+ cksn [5] Cksn OPTIONAL,
+ extensionContainer [6] ExtensionContainer OPTIONAL,
+ ... }
+
+RequestedInfo ::= ENUMERATED {
+ anchorMSC-AddressAndASCI-CallReference (0),
+ imsiAndAdditionalInfoAndAdditionalSubscription (1),
+ ... }
+-- exception handling:
+-- an unrecognized value shall be rejected by the receiver with a return error cause of
+-- unexpected data value
+
+SendGroupCallInfoRes ::= SEQUENCE {
+ anchorMSC-Address [0] ISDN-AddressString OPTIONAL,
+ asciCallReference [1] ASCI-CallReference OPTIONAL,
+ imsi [2] IMSI OPTIONAL,
+ additionalInfo [3] AdditionalInfo OPTIONAL,
+ additionalSubscriptions [4] AdditionalSubscriptions OPTIONAL,
+ kc [5] Kc OPTIONAL,
+ extensionContainer [6] ExtensionContainer OPTIONAL,
+ ... }
+
+
+END
+
diff --git a/epan/dissectors/asn1/gsm_map/MAP-Group-Call-Operations.asn b/epan/dissectors/asn1/gsm_map/MAP-Group-Call-Operations.asn
new file mode 100644
index 00000000..15e508ff
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-Group-Call-Operations.asn
@@ -0,0 +1,97 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.6.7 Group Call operations
+
+MAP-Group-Call-Operations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Group-Call-Operations (22)
+ version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+EXPORTS
+ prepareGroupCall,
+ sendGroupCallEndSignal,
+ forwardGroupCallSignalling,
+ processGroupCallSignalling,
+ sendGroupCallInfo
+;
+
+IMPORTS
+ OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+
+ systemFailure,
+ unexpectedDataValue,
+ noGroupCallNumberAvailable,
+ ongoingGroupCall,
+ unknownSubscriber,
+ teleserviceNotProvisioned,
+ dataMissing
+FROM MAP-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Errors (10) version20 (20)}
+
+ PrepareGroupCallArg,
+ PrepareGroupCallRes,
+ SendGroupCallEndSignalArg,
+ SendGroupCallEndSignalRes,
+ ForwardGroupCallSignallingArg,
+ ProcessGroupCallSignallingArg,
+ SendGroupCallInfoArg,
+ SendGroupCallInfoRes
+FROM MAP-GR-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-GR-DataTypes (23) version20 (20)}
+
+;
+
+prepareGroupCall OPERATION ::= { --Timer m
+ ARGUMENT
+ PrepareGroupCallArg
+ RESULT
+ PrepareGroupCallRes
+ ERRORS {
+ systemFailure |
+ noGroupCallNumberAvailable |
+ unexpectedDataValue}
+ CODE local:39 }
+
+sendGroupCallEndSignal OPERATION ::= { --Timer l
+ ARGUMENT
+ SendGroupCallEndSignalArg
+ RESULT
+ SendGroupCallEndSignalRes
+ CODE local:40 }
+
+processGroupCallSignalling OPERATION ::= { --Timer s
+ ARGUMENT
+ ProcessGroupCallSignallingArg
+ CODE local:41 }
+
+forwardGroupCallSignalling OPERATION ::= { --Timer s
+ ARGUMENT
+ ForwardGroupCallSignallingArg
+ CODE local:42 }
+
+sendGroupCallInfo OPERATION ::= { --Timer m
+ ARGUMENT
+ SendGroupCallInfoArg
+ RESULT
+ SendGroupCallInfoRes
+ ERRORS {
+ systemFailure |
+ ongoingGroupCall |
+ unexpectedDataValue |
+ dataMissing |
+ teleserviceNotProvisioned |
+ unknownSubscriber}
+ CODE local:84 }
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-LCS-DataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-LCS-DataTypes.asn
new file mode 100644
index 00000000..35d93047
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-LCS-DataTypes.asn
@@ -0,0 +1,714 @@
+-- MAP-LCS-DataTypes.asn
+--
+-- Taken from 3GPP TS 29.002 V17.1.0 (2021-06)
+--
+-- 17.7.13 Location service data types
+--
+
+MAP-LCS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-LCS-DataTypes (25) version20 (20)}
+
+DEFINITIONS
+IMPLICIT TAGS
+::=
+BEGIN
+
+EXPORTS
+ RoutingInfoForLCS-Arg,
+ RoutingInfoForLCS-Res,
+ ProvideSubscriberLocation-Arg,
+ ProvideSubscriberLocation-Res,
+ SubscriberLocationReport-Arg,
+ SubscriberLocationReport-Res,
+LocationType,
+DeferredLocationEventType,
+LCSClientName,
+LCS-QoS,
+Horizontal-Accuracy,
+ResponseTime,
+Ext-GeographicalInformation,
+VelocityEstimate,
+SupportedGADShapes,
+Add-GeographicalInformation,
+LCSRequestorID,
+LCS-ReferenceNumber,
+LCSCodeword,
+AreaEventInfo,
+ReportingPLMNList,
+PeriodicLDRInfo,
+SequenceNumber,
+LCSClientType,
+LCS-Priority,
+OccurrenceInfo,
+IntervalTime
+;
+
+IMPORTS
+ AddressString,
+ ISDN-AddressString,
+ IMEI,
+ IMSI,
+ LMSI,
+ SubscriberIdentity,
+ AgeOfLocationInformation,
+ LCSClientExternalID,
+ LCSClientInternalID,
+LCSServiceTypeID,
+CellGlobalIdOrServiceAreaIdOrLAI,
+PLMN-Id,
+ GSN-Address,
+ DiameterIdentity
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+ ExtensionContainer,
+ SLR-ArgExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+
+ USSD-DataCodingScheme,
+USSD-String
+FROM MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-SS-DataTypes (14) version20 (20)}
+
+ APN,
+ SupportedLCS-CapabilitySets
+FROM MAP-MS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MS-DataTypes (11) version20 (20)}
+
+ Additional-Number
+FROM MAP-SM-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SM-DataTypes (16) version20 (20)}
+;
+
+
+RoutingInfoForLCS-Arg ::= SEQUENCE {
+ mlcNumber [0] ISDN-AddressString,
+ targetMS [1] SubscriberIdentity,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+RoutingInfoForLCS-Res ::= SEQUENCE {
+ targetMS [0] SubscriberIdentity,
+ lcsLocationInfo [1] LCSLocationInfo,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ v-gmlc-Address [3] GSN-Address OPTIONAL,
+ h-gmlc-Address [4] GSN-Address OPTIONAL,
+ ppr-Address [5] GSN-Address OPTIONAL,
+ additional-v-gmlc-Address [6] GSN-Address OPTIONAL }
+
+LCSLocationInfo ::= SEQUENCE {
+ networkNode-Number ISDN-AddressString,
+ -- NetworkNode-number can be msc-number, sgsn-number or a dummy value of "0"
+ lmsi [0] LMSI OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ... ,
+ gprsNodeIndicator [2] NULL OPTIONAL,
+ -- gprsNodeIndicator is set only if the SGSN number is sent as the Network Node Number
+ additional-Number [3] Additional-Number OPTIONAL,
+ supportedLCS-CapabilitySets [4] SupportedLCS-CapabilitySets OPTIONAL,
+ additional-LCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL,
+ mme-Name [6] DiameterIdentity OPTIONAL,
+ aaa-Server-Name [8] DiameterIdentity OPTIONAL,
+ sgsn-Name [9] DiameterIdentity OPTIONAL,
+ sgsn-Realm [10] DiameterIdentity OPTIONAL
+ }
+
+ProvideSubscriberLocation-Arg ::= SEQUENCE {
+ locationType LocationType,
+ mlc-Number ISDN-AddressString,
+ lcs-ClientID [0] LCS-ClientID OPTIONAL,
+ privacyOverride [1] NULL OPTIONAL,
+ imsi [2] IMSI OPTIONAL,
+ msisdn [3] ISDN-AddressString OPTIONAL,
+ lmsi [4] LMSI OPTIONAL,
+ imei [5] IMEI OPTIONAL,
+ lcs-Priority [6] LCS-Priority OPTIONAL,
+ lcs-QoS [7] LCS-QoS OPTIONAL,
+ extensionContainer [8] ExtensionContainer OPTIONAL,
+ ... ,
+ supportedGADShapes [9] SupportedGADShapes OPTIONAL,
+ lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL,
+ lcsServiceTypeID [11] LCSServiceTypeID OPTIONAL,
+ lcsCodeword [12] LCSCodeword OPTIONAL,
+ lcs-PrivacyCheck [13] LCS-PrivacyCheck OPTIONAL,
+ areaEventInfo [14] AreaEventInfo OPTIONAL,
+ h-gmlc-Address [15] GSN-Address OPTIONAL,
+ mo-lrShortCircuitIndicator [16] NULL OPTIONAL,
+ periodicLDRInfo [17] PeriodicLDRInfo OPTIONAL,
+ reportingPLMNList [18] ReportingPLMNList OPTIONAL }
+
+ -- one of imsi or msisdn is mandatory
+ -- If a location estimate type indicates activate deferred location or cancel deferred
+ -- location, a lcs-Reference number shall be included.
+
+LocationType ::= SEQUENCE {
+ locationEstimateType [0] LocationEstimateType,
+ ...,
+ deferredLocationEventType [1] DeferredLocationEventType OPTIONAL }
+
+LocationEstimateType ::= ENUMERATED {
+ currentLocation (0),
+ currentOrLastKnownLocation (1),
+ initialLocation (2),
+ ...,
+ activateDeferredLocation (3),
+ cancelDeferredLocation (4) ,
+ notificationVerificationOnly (5) }
+-- exception handling:
+-- a ProvideSubscriberLocation-Arg containing an unrecognized LocationEstimateType
+-- shall be rejected by the receiver with a return error cause of unexpected data value
+
+DeferredLocationEventType ::= BIT STRING {
+ msAvailable (0) ,
+ enteringIntoArea (1),
+ leavingFromArea (2),
+ beingInsideArea (3) ,
+ periodicLDR (4) } (SIZE (1..16))
+-- beingInsideArea is always treated as oneTimeEvent regardless of the possible value
+-- of occurrenceInfo inside areaEventInfo.
+-- exception handling:
+-- a ProvideSubscriberLocation-Arg containing other values than listed above in
+-- DeferredLocationEventType shall be rejected by the receiver with a return error cause of
+-- unexpected data value.
+
+LCS-ClientID ::= SEQUENCE {
+ lcsClientType [0] LCSClientType,
+ lcsClientExternalID [1] LCSClientExternalID OPTIONAL,
+ lcsClientDialedByMS [2] AddressString OPTIONAL,
+ lcsClientInternalID [3] LCSClientInternalID OPTIONAL,
+ lcsClientName [4] LCSClientName OPTIONAL,
+ ...,
+ lcsAPN [5] APN OPTIONAL,
+ lcsRequestorID [6] LCSRequestorID OPTIONAL }
+
+LCSClientType ::= ENUMERATED {
+ emergencyServices (0),
+ valueAddedServices (1),
+ plmnOperatorServices (2),
+ lawfulInterceptServices (3),
+ ... }
+ -- exception handling:
+ -- unrecognized values may be ignored if the LCS client uses the privacy override
+ -- otherwise, an unrecognized value shall be treated as unexpected data by a receiver
+ -- a return error shall then be returned if received in a MAP invoke
+
+LCSClientName ::= SEQUENCE {
+ dataCodingScheme [0] USSD-DataCodingScheme,
+ nameString [2] NameString,
+ ...,
+ lcs-FormatIndicator [3] LCS-FormatIndicator OPTIONAL }
+
+-- The USSD-DataCodingScheme shall indicate use of the default alphabet through the
+-- following encoding
+-- bit 7 6 5 4 3 2 1 0
+-- 0 0 0 0 1 1 1 1
+
+NameString ::= USSD-String (SIZE (1..maxNameStringLength))
+
+maxNameStringLength INTEGER ::= 63
+
+LCSRequestorID ::= SEQUENCE {
+ dataCodingScheme [0] USSD-DataCodingScheme,
+ requestorIDString [1] RequestorIDString,
+ ...,
+ lcs-FormatIndicator [2] LCS-FormatIndicator OPTIONAL }
+
+RequestorIDString ::= USSD-String (SIZE (1..maxRequestorIDStringLength))
+
+maxRequestorIDStringLength INTEGER ::= 63
+
+LCS-FormatIndicator ::= ENUMERATED {
+ logicalName (0),
+ e-mailAddress (1),
+ msisdn (2),
+ url (3),
+ sipUrl (4),
+ ... }
+
+LCS-Priority ::= OCTET STRING (SIZE (1))
+ -- 0 = highest priority
+ -- 1 = normal priority
+ -- all other values treated as 1
+
+LCS-QoS ::= SEQUENCE {
+ horizontal-accuracy [0] Horizontal-Accuracy OPTIONAL,
+ verticalCoordinateRequest [1] NULL OPTIONAL,
+ vertical-accuracy [2] Vertical-Accuracy OPTIONAL, responseTime [3] ResponseTime OPTIONAL,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ...,
+ velocityRequest [5] NULL OPTIONAL
+}
+
+Horizontal-Accuracy ::= OCTET STRING (SIZE (1))
+ -- bit 8 = 0
+ -- bits 7-1 = 7 bit Uncertainty Code defined in 3GPP TS 23.032. The horizontal location
+ -- error should be less than the error indicated by the uncertainty code with 67%
+ -- confidence.
+
+Vertical-Accuracy ::= OCTET STRING (SIZE (1))
+ -- bit 8 = 0
+ -- bits 7-1 = 7 bit Vertical Uncertainty Code defined in 3GPP TS 23.032.
+ -- The vertical location error should be less than the error indicated
+ -- by the uncertainty code with 67% confidence.
+
+ResponseTime ::= SEQUENCE {
+ responseTimeCategory ResponseTimeCategory,
+ ...}
+-- note: an expandable SEQUENCE simplifies later addition of a numeric response time.
+
+ResponseTimeCategory ::= ENUMERATED {
+ lowdelay (0),
+ delaytolerant (1),
+ ... }
+-- exception handling:
+-- an unrecognized value shall be treated the same as value 1 (delaytolerant)
+
+SupportedGADShapes ::= BIT STRING {
+ ellipsoidPoint (0),
+ ellipsoidPointWithUncertaintyCircle (1),
+ ellipsoidPointWithUncertaintyEllipse (2),
+ polygon (3),
+ ellipsoidPointWithAltitude (4),
+ ellipsoidPointWithAltitudeAndUncertaintyElipsoid (5),
+ ellipsoidArc (6) } (SIZE (7..16))
+-- A node shall mark in the BIT STRING all Shapes defined in 3GPP TS 23.032 it supports.
+-- exception handling: bits 7 to 15 shall be ignored if received.
+
+LCS-ReferenceNumber::= OCTET STRING (SIZE(1))
+
+LCSCodeword ::= SEQUENCE {
+ dataCodingScheme [0] USSD-DataCodingScheme,
+ lcsCodewordString [1] LCSCodewordString,
+ ...}
+
+LCSCodewordString ::= USSD-String (SIZE (1..maxLCSCodewordStringLength))
+
+maxLCSCodewordStringLength INTEGER ::= 20
+
+LCS-PrivacyCheck ::= SEQUENCE {
+ callSessionUnrelated [0] PrivacyCheckRelatedAction,
+ callSessionRelated [1] PrivacyCheckRelatedAction OPTIONAL,
+ ...}
+
+PrivacyCheckRelatedAction ::= ENUMERATED {
+ allowedWithoutNotification (0),
+ allowedWithNotification (1),
+ allowedIfNoResponse (2),
+ restrictedIfNoResponse (3),
+ notAllowed (4),
+ ...}
+-- exception handling:
+-- a ProvideSubscriberLocation-Arg containing an unrecognized PrivacyCheckRelatedAction
+-- shall be rejected by the receiver with a return error cause of unexpected data value
+
+AreaEventInfo ::= SEQUENCE {
+ areaDefinition [0] AreaDefinition,
+ occurrenceInfo [1] OccurrenceInfo OPTIONAL,
+ intervalTime [2] IntervalTime OPTIONAL,
+ ...}
+
+AreaDefinition ::= SEQUENCE {
+ areaList [0] AreaList,
+ ...}
+
+AreaList ::= SEQUENCE SIZE (1..maxNumOfAreas) OF Area
+
+maxNumOfAreas INTEGER ::= 10
+
+Area ::= SEQUENCE {
+ areaType [0] AreaType,
+ areaIdentification [1] AreaIdentification,
+ ...}
+
+AreaType ::= ENUMERATED {
+ countryCode (0),
+ plmnId (1),
+ locationAreaId (2),
+ routingAreaId (3),
+ cellGlobalId (4),
+ ...,
+ utranCellId (5) }
+
+AreaIdentification ::= OCTET STRING (SIZE (2..7))
+ -- The internal structure is defined as follows:
+ -- octet 1 bits 4321 Mobile Country Code 1st digit
+ -- bits 8765 Mobile Country Code 2nd digit
+ -- octet 2 bits 4321 Mobile Country Code 3rd digit
+ -- bits 8765 Mobile Network Code 3rd digit if 3 digit MNC included
+ -- or filler (1111)
+ -- octet 3 bits 4321 Mobile Network Code 1st digit
+ -- bits 8765 Mobile Network Code 2nd digit
+ -- octets 4 and 5 Location Area Code (LAC) for Local Area Id,
+ -- Routing Area Id and Cell Global Id
+ -- octet 6 Routing Area Code (RAC) for Routing Area Id
+ -- octets 6 and 7 Cell Identity (CI) for Cell Global Id
+ -- octets 4 until 7 Utran Cell Identity (UC-Id) for Utran Cell Id
+
+OccurrenceInfo ::= ENUMERATED {
+ oneTimeEvent (0),
+ multipleTimeEvent (1),
+ ...}
+
+IntervalTime ::= INTEGER (1..32767)
+ -- minimum interval time between area reports in seconds
+
+PeriodicLDRInfo ::= SEQUENCE {
+ reportingAmount ReportingAmount,
+ reportingInterval ReportingInterval,
+ ...}
+-- reportingInterval x reportingAmount shall not exceed 8639999 (99 days, 23 hours,
+-- 59 minutes and 59 seconds) for compatibility with OMA MLP and RLP
+
+ReportingAmount ::= INTEGER (1..maxReportingAmount)
+
+maxReportingAmount INTEGER ::= 8639999
+
+ReportingInterval ::= INTEGER (1..maxReportingInterval)
+-- ReportingInterval is in seconds
+
+maxReportingInterval INTEGER ::= 8639999
+
+ReportingPLMNList::= SEQUENCE {
+ plmn-ListPrioritized [0] NULL OPTIONAL,
+ plmn-List [1] PLMNList,
+ ...}
+
+PLMNList::= SEQUENCE SIZE (1..maxNumOfReportingPLMN) OF
+ ReportingPLMN
+
+maxNumOfReportingPLMN INTEGER ::= 20
+
+ReportingPLMN::= SEQUENCE {
+ plmn-Id [0] PLMN-Id,
+ ran-Technology [1] RAN-Technology OPTIONAL,
+ ran-PeriodicLocationSupport [2] NULL OPTIONAL,
+ ...}
+
+RAN-Technology ::= ENUMERATED {
+ gsm (0),
+ umts (1),
+ ...}
+
+ProvideSubscriberLocation-Res ::= SEQUENCE {
+ locationEstimate Ext-GeographicalInformation,
+ ageOfLocationEstimate [0] AgeOfLocationInformation OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ... ,
+ add-LocationEstimate [2] Add-GeographicalInformation OPTIONAL,
+ deferredmt-lrResponseIndicator [3] NULL OPTIONAL,
+ geranPositioningData [4] PositioningDataInformation OPTIONAL,
+ utranPositioningData [5] UtranPositioningDataInfo OPTIONAL,
+ cellIdOrSai [6] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
+ sai-Present [7] NULL OPTIONAL,
+ accuracyFulfilmentIndicator [8] AccuracyFulfilmentIndicator OPTIONAL,
+ velocityEstimate [9] VelocityEstimate OPTIONAL,
+ mo-lrShortCircuitIndicator [10] NULL OPTIONAL,
+ geranGANSSpositioningData [11] GeranGANSSpositioningData OPTIONAL,
+ utranGANSSpositioningData [12] UtranGANSSpositioningData OPTIONAL, targetServingNodeForHandover [13] ServingNodeAddress OPTIONAL,
+ utranAdditionalPositioningData [14] UtranAdditionalPositioningData OPTIONAL,
+ utranBaroPressureMeas [15] UtranBaroPressureMeas OPTIONAL,
+ utranCivicAddress [16] UtranCivicAddress OPTIONAL }
+
+-- if deferredmt-lrResponseIndicator is set, locationEstimate is ignored.
+
+-- the add-LocationEstimate parameter shall not be sent to a node that did not indicate the
+-- geographic shapes supported in the ProvideSubscriberLocation-Arg
+-- The locationEstimate and the add-locationEstimate parameters shall not be sent if
+-- the supportedGADShapes parameter has been received in ProvideSubscriberLocation-Arg
+-- and the shape encoded in locationEstimate or add-LocationEstimate is not marked
+-- as supported in supportedGADShapes. In such a case ProvideSubscriberLocation
+-- shall be rejected with error FacilityNotSupported with additional indication
+-- shapeOfLocationEstimateNotSupported.
+-- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.
+
+AccuracyFulfilmentIndicator ::= ENUMERATED {
+ requestedAccuracyFulfilled (0),
+ requestedAccuracyNotFulfilled (1),
+ ... }
+
+Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation))
+ -- Refers to geographical Information defined in 3GPP TS 23.032.
+ -- This is composed of 1 or more octets with an internal structure according to
+ -- 3GPP TS 23.032
+ -- Octet 1: Type of shape, only the following shapes in 3GPP TS 23.032 are allowed:
+ -- (a) Ellipsoid point with uncertainty circle
+ -- (b) Ellipsoid point with uncertainty ellipse
+ -- (c) Ellipsoid point with altitude and uncertainty ellipsoid
+ -- (d) Ellipsoid Arc
+ -- (e) Ellipsoid Point
+ -- Any other value in octet 1 shall be treated as invalid
+ -- Octets 2 to 8 for case (a) – Ellipsoid point with uncertainty circle
+ -- Degrees of Latitude 3 octets
+ -- Degrees of Longitude 3 octets
+ -- Uncertainty code 1 octet
+ -- Octets 2 to 11 for case (b) – Ellipsoid point with uncertainty ellipse:
+ -- Degrees of Latitude 3 octets
+ -- Degrees of Longitude 3 octets
+ -- Uncertainty semi-major axis 1 octet
+ -- Uncertainty semi-minor axis 1 octet
+ -- Angle of major axis 1 octet
+ -- Confidence 1 octet
+ -- Octets 2 to 14 for case (c) – Ellipsoid point with altitude and uncertainty ellipsoid
+ -- Degrees of Latitude 3 octets
+ -- Degrees of Longitude 3 octets
+ -- Altitude 2 octets
+ -- Uncertainty semi-major axis 1 octet
+ -- Uncertainty semi-minor axis 1 octet
+ -- Angle of major axis 1 octet
+ -- Uncertainty altitude 1 octet
+ -- Confidence 1 octet
+ -- Octets 2 to 13 for case (d) – Ellipsoid Arc
+ -- Degrees of Latitude 3 octets
+ -- Degrees of Longitude 3 octets
+ -- Inner radius 2 octets
+ -- Uncertainty radius 1 octet
+ -- Offset angle 1 octet
+ -- Included angle 1 octet
+ -- Confidence 1 octet
+ -- Octets 2 to 7 for case (e) – Ellipsoid Point
+ -- Degrees of Latitude 3 octets
+ -- Degrees of Longitude 3 octets
+
+ --
+ -- An Ext-GeographicalInformation parameter comprising more than one octet and
+ -- containing any other shape or an incorrect number of octets or coding according
+ -- to 3GPP TS 23.032 shall be treated as invalid data by a receiver.
+ --
+ -- An Ext-GeographicalInformation parameter comprising one octet shall be discarded
+ -- by the receiver if an Add-GeographicalInformation parameter is received
+ -- in the same message.
+ --
+ -- An Ext-GeographicalInformation parameter comprising one octet shall be treated as
+ -- invalid data by the receiver if an Add-GeographicalInformation parameter is not
+ -- received in the same message.
+
+maxExt-GeographicalInformation INTEGER ::= 20
+ -- the maximum length allows for further shapes in 3GPP TS 23.032 to be included in later
+ -- versions of 3GPP TS 29.002
+
+VelocityEstimate ::= OCTET STRING (SIZE (4..7))
+ -- Refers to Velocity description defined in 3GPP TS 23.032.
+ -- This is composed of 4 or more octets with an internal structure according to
+ -- 3GPP TS 23.032
+ -- Octet 1: Type of velocity, only the following types in 3GPP TS 23.032 are allowed:
+ -- (a) Horizontal Velocity
+ -- (b) Horizontal with Vertical Velocity
+ -- (c) Horizontal Velocity with Uncertainty
+ -- (d) Horizontal with Vertical Velocity and Uncertainty
+ -- For types Horizontal with Vertical Velocity and Horizontal with Vertical Velocity
+ -- and Uncertainty, the direction of the Vertical Speed is also included in Octet 1
+ -- Any other value in octet 1 shall be treated as invalid
+ -- Octets 2 to 4 for case (a) Horizontal velocity:
+ -- Bearing 1 octet
+ -- Horizontal Speed 2 octets
+ -- Octets 2 to 5 for case (b) – Horizontal with Vertical Velocity:
+ -- Bearing 1 octet
+ -- Horizontal Speed 2 octets
+ -- Vertical Speed 1 octet
+ -- Octets 2 to 5 for case (c) – Horizontal velocity with Uncertainty:
+ -- Bearing 1 octet
+ -- Horizontal Speed 2 octets
+ -- Uncertainty Speed 1 octet
+ -- Octets 2 to 7 for case (d) – Horizontal with Vertical Velocity and Uncertainty:
+ -- Bearing 1 octet
+ -- Horizontal Speed 2 octets
+ -- Vertical Speed 1 octet
+ -- Horizontal Uncertainty Speed 1 octet
+ -- Vertical Uncertainty Speed 1 octet
+
+PositioningDataInformation ::= OCTET STRING (SIZE (2..maxPositioningDataInformation))
+ -- Refers to the Positioning Data defined in 3GPP TS 49.031.
+ -- This is composed of 2 or more octets with an internal structure according to
+ -- 3GPP TS 49.031.
+
+maxPositioningDataInformation INTEGER ::= 10
+ --
+
+UtranPositioningDataInfo ::= OCTET STRING (SIZE (3..maxUtranPositioningDataInfo))
+ -- Refers to the Position Data defined in 3GPP TS 25.413.
+ -- This is composed of the positioningDataDiscriminator and the positioningDataSet
+ -- included in positionData as defined in 3GPP TS 25.413.
+
+maxUtranPositioningDataInfo INTEGER ::= 11
+ --
+
+GeranGANSSpositioningData ::= OCTET STRING (SIZE (2..maxGeranGANSSpositioningData))
+ -- Refers to the GANSS Positioning Data defined in 3GPP TS 49.031.
+ -- This is composed of 2 or more octets with an internal structure according to
+ -- 3GPP TS 49.031.
+
+maxGeranGANSSpositioningData INTEGER ::= 10
+ --
+
+UtranGANSSpositioningData ::= OCTET STRING (SIZE (1..maxUtranGANSSpositioningData))
+ -- Refers to the Position Data defined in 3GPP TS 25.413.
+ -- This is composed of the GANSS-PositioningDataSet only, included in PositionData
+ -- as defined in 3GPP TS 25.413.
+
+maxUtranGANSSpositioningData INTEGER ::= 9
+ --
+
+UtranAdditionalPositioningData ::= OCTET STRING (SIZE (1..maxUtranAdditionalPositioningData))
+ -- Refers to the Position Data defined in 3GPP TS 25.413.
+ -- This is composed of the Additional-PositioningDataSet only, included in PositionData
+ -- as defined in 3GPP TS 25.413.
+
+maxUtranAdditionalPositioningData INTEGER ::= 8
+ --
+
+UtranBaroPressureMeas ::= INTEGER (30000..115000)
+ -- Refers to the barometric pressure measurement defined in 3GPP TS 25.413.
+ -- This is composed of the BarometricPressureMeasurement only as defined in 3GPP TS
+ -- 25.413.
+
+UtranCivicAddress ::= OCTET STRING
+ -- Refers to the civic address defined in 3GPP TS 25.413.
+ -- This is composed of the CivicAddress only as defined in 3GPP TS 25.413.
+
+Add-GeographicalInformation ::= OCTET STRING (SIZE (1..maxAdd-GeographicalInformation))
+ -- Refers to geographical Information defined in 3GPP TS 23.032.
+ -- This is composed of 1 or more octets with an internal structure according to
+ -- 3GPP TS 23.032
+ -- Octet 1: Type of shape, all the shapes defined in 3GPP TS 23.032 are allowed:
+ -- Octets 2 to n (where n is the total number of octets necessary to encode the shape
+ -- according to 3GPP TS 23.032) are used to encode the shape itself in accordance with the
+ -- encoding defined in 3GPP TS 23.032
+ --
+ -- An Add-GeographicalInformation parameter, whether valid or invalid, received
+ -- together with a valid Ext-GeographicalInformation parameter in the same message
+ -- shall be discarded.
+ --
+ -- An Add-GeographicalInformation parameter containing any shape not defined in
+ -- 3GPP TS 23.032 or an incorrect number of octets or coding according to
+ -- 3GPP TS 23.032 shall be treated as invalid data by a receiver if not received
+ -- together with a valid Ext-GeographicalInformation parameter in the same message.
+
+maxAdd-GeographicalInformation INTEGER ::= 91
+ -- the maximum length allows support for all the shapes currently defined in 3GPP TS 23.032
+
+SubscriberLocationReport-Arg ::= SEQUENCE {
+ lcs-Event LCS-Event,
+ lcs-ClientID LCS-ClientID,
+ lcsLocationInfo LCSLocationInfo,
+ msisdn [0] ISDN-AddressString OPTIONAL,
+ imsi [1] IMSI OPTIONAL,
+ imei [2] IMEI OPTIONAL,
+ na-ESRD [3] ISDN-AddressString OPTIONAL,
+ na-ESRK [4] ISDN-AddressString OPTIONAL,
+ locationEstimate [5] Ext-GeographicalInformation OPTIONAL,
+ ageOfLocationEstimate [6] AgeOfLocationInformation OPTIONAL,
+ slr-ArgExtensionContainer [7] SLR-ArgExtensionContainer OPTIONAL,
+ ... ,
+ add-LocationEstimate [8] Add-GeographicalInformation OPTIONAL,
+ deferredmt-lrData [9] Deferredmt-lrData OPTIONAL,
+ lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL,
+ geranPositioningData [11] PositioningDataInformation OPTIONAL,
+ utranPositioningData [12] UtranPositioningDataInfo OPTIONAL,
+ cellIdOrSai [13] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
+ h-gmlc-Address [14] GSN-Address OPTIONAL,
+ lcsServiceTypeID [15] LCSServiceTypeID OPTIONAL,
+ sai-Present [17] NULL OPTIONAL,
+ pseudonymIndicator [18] NULL OPTIONAL,
+ accuracyFulfilmentIndicator [19] AccuracyFulfilmentIndicator OPTIONAL,
+ velocityEstimate [20] VelocityEstimate OPTIONAL,
+ sequenceNumber [21] SequenceNumber OPTIONAL,
+ periodicLDRInfo [22] PeriodicLDRInfo OPTIONAL,
+ mo-lrShortCircuitIndicator [23] NULL OPTIONAL,
+ geranGANSSpositioningData [24] GeranGANSSpositioningData OPTIONAL,
+ utranGANSSpositioningData [25] UtranGANSSpositioningData OPTIONAL,
+ targetServingNodeForHandover [26] ServingNodeAddress OPTIONAL,
+ utranAdditionalPositioningData [27] UtranAdditionalPositioningData OPTIONAL,
+ utranBaroPressureMeas [28] UtranBaroPressureMeas OPTIONAL,
+ utranCivicAddress [29] UtranCivicAddress OPTIONAL }
+
+ -- one of msisdn or imsi is mandatory
+ -- a location estimate that is valid for the locationEstimate parameter should
+ -- be transferred in this parameter in preference to the add-LocationEstimate.
+ -- the deferredmt-lrData parameter shall be included if and only if the lcs-Event
+ -- indicates a deferredmt-lrResponse.
+ -- if the lcs-Event indicates a deferredmt-lrResponse then the locationEstimate
+ -- and the add-locationEstimate parameters shall not be sent if the
+ -- supportedGADShapes parameter had been received in ProvideSubscriberLocation-Arg
+ -- and the shape encoded in locationEstimate or add-LocationEstimate was not marked
+ -- as supported in supportedGADShapes. In such a case terminationCause
+ -- in deferredmt-lrData shall be present with value
+ -- shapeOfLocationEstimateNotSupported.
+ -- If a lcs event indicates deferred mt-lr response, the lcs-Reference number shall be
+ -- included.
+ -- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.
+
+Deferredmt-lrData ::= SEQUENCE {
+ deferredLocationEventType DeferredLocationEventType,
+ terminationCause [0] TerminationCause OPTIONAL,
+ lcsLocationInfo [1] LCSLocationInfo OPTIONAL,
+ ...}
+ -- lcsLocationInfo may be included only if a terminationCause is present
+ -- indicating mt-lrRestart.
+
+LCS-Event ::= ENUMERATED {
+ emergencyCallOrigination (0),
+ emergencyCallRelease (1),
+ mo-lr (2),
+ ...,
+ deferredmt-lrResponse (3) ,
+ deferredmo-lrTTTPInitiation (4),
+ emergencyCallHandover (5) }
+ -- deferredmt-lrResponse is applicable to the delivery of a location estimate
+ -- for an LDR initiated earlier by either the network (via an MT-LR activate deferred
+ -- location) or the UE (via a deferred MO-LR TTTP initiation)
+ -- exception handling:
+ -- a SubscriberLocationReport-Arg containing an unrecognized LCS-Event
+ -- shall be rejected by a receiver with a return error cause of unexpected data value
+
+TerminationCause ::= ENUMERATED {
+ normal (0),
+ errorundefined (1),
+ internalTimeout (2),
+ congestion (3),
+ mt-lrRestart (4),
+ privacyViolation (5),
+ ...,
+ shapeOfLocationEstimateNotSupported (6) ,
+ subscriberTermination (7),
+ uETermination (8),
+ networkTermination (9) }
+-- mt-lrRestart shall be used to trigger the GMLC to restart the location procedure,
+-- either because the sending node knows that the terminal has moved under coverage
+-- of another MSC or SGSN (e.g. Send Identification received), or because the subscriber
+-- has been deregistered due to a Cancel Location received from HLR.
+--
+-- exception handling
+-- an unrecognized value shall be treated the same as value 1 (errorundefined)
+
+SequenceNumber ::= INTEGER (1..maxReportingAmount)
+
+ServingNodeAddress ::= CHOICE {
+ msc-Number [0] ISDN-AddressString,
+ sgsn-Number [1] ISDN-AddressString,
+ mme-Number [2] DiameterIdentity }
+
+SubscriberLocationReport-Res ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ na-ESRK [0] ISDN-AddressString OPTIONAL,
+ na-ESRD [1] ISDN-AddressString OPTIONAL,
+ h-gmlc-Address [2] GSN-Address OPTIONAL,
+ mo-lrShortCircuitIndicator [3] NULL OPTIONAL,
+ reportingPLMNList [4] ReportingPLMNList OPTIONAL,
+ lcs-ReferenceNumber [5] LCS-ReferenceNumber OPTIONAL }
+
+-- na-ESRK and na-ESRD are mutually exclusive
+--
+-- exception handling
+-- receipt of both na-ESRK and na-ESRD shall be treated the same as a return error
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-LocationServiceOperations.asn b/epan/dissectors/asn1/gsm_map/MAP-LocationServiceOperations.asn
new file mode 100644
index 00000000..2ef800ee
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-LocationServiceOperations.asn
@@ -0,0 +1,106 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.6.8 Location service operations
+
+MAP-LocationServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-LocationServiceOperations (24)
+ version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+EXPORTS
+ provideSubscriberLocation,
+sendRoutingInfoForLCS,
+subscriberLocationReport
+;
+
+IMPORTS
+ OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+
+systemFailure,
+ dataMissing,
+ unexpectedDataValue,
+ facilityNotSupported,
+ unknownSubscriber,
+ absentSubscriber,
+ unauthorizedRequestingNetwork,
+ unauthorizedLCSClient,
+ positionMethodFailure,
+ resourceLimitation,
+ unknownOrUnreachableLCSClient,
+ unidentifiedSubscriber,
+ illegalEquipment,
+ illegalSubscriber
+FROM MAP-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Errors (10) version20 (20)}
+
+ RoutingInfoForLCS-Arg,
+ RoutingInfoForLCS-Res,
+ ProvideSubscriberLocation-Arg,
+ ProvideSubscriberLocation-Res,
+ SubscriberLocationReport-Arg,
+ SubscriberLocationReport-Res
+FROM MAP-LCS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-LCS-DataTypes (25) version20 (20)}
+;
+
+sendRoutingInfoForLCS OPERATION ::= { --Timer m
+ ARGUMENT
+ RoutingInfoForLCS-Arg
+ RESULT
+ RoutingInfoForLCS-Res
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ facilityNotSupported |
+ unknownSubscriber |
+ absentSubscriber |
+ unauthorizedRequestingNetwork }
+ CODE local:85 }
+
+provideSubscriberLocation OPERATION ::= { --Timer ml
+ ARGUMENT
+ ProvideSubscriberLocation-Arg
+ RESULT
+ ProvideSubscriberLocation-Res
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ facilityNotSupported |
+ unidentifiedSubscriber |
+ illegalSubscriber |
+ illegalEquipment |
+ absentSubscriber |
+ unauthorizedRequestingNetwork |
+ unauthorizedLCSClient |
+ positionMethodFailure }
+ CODE local:83 }
+
+subscriberLocationReport OPERATION ::= { --Timer m
+ ARGUMENT
+ SubscriberLocationReport-Arg
+ RESULT
+ SubscriberLocationReport-Res
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ resourceLimitation |
+ unexpectedDataValue |
+ unknownSubscriber |
+ unauthorizedRequestingNetwork |
+ unknownOrUnreachableLCSClient}
+ CODE local:86 }
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-MS-DataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-MS-DataTypes.asn
new file mode 100644
index 00000000..18e73047
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-MS-DataTypes.asn
@@ -0,0 +1,3494 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.7.1 Mobile Service data types
+
+MAP-MS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MS-DataTypes (11) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+
+-- WS modification: for Ericsson proprietary extensions
+ RequestedEquipmentInfo,
+ TripletList,
+ QuintupletList,
+-- End WS modification
+ -- location registration types
+ UpdateLocationArg,
+ UpdateLocationRes,
+ CancelLocationArg,
+ CancelLocationRes,
+ PurgeMS-Arg,
+ PurgeMS-Res,
+ SendIdentificationArg,
+ SendIdentificationRes,
+ UpdateGprsLocationArg,
+ UpdateGprsLocationRes,
+ IST-SupportIndicator,
+ SupportedLCS-CapabilitySets,
+ UpdateVcsgLocationArg,
+ UpdateVcsgLocationRes,
+ CancelVcsgLocationArg,
+ CancelVcsgLocationRes,
+
+
+ -- handover types
+ ForwardAccessSignalling-Arg,
+ PrepareHO-Arg,
+ PrepareHO-Res,
+ PrepareSubsequentHO-Arg,
+ PrepareSubsequentHO-Res,
+ ProcessAccessSignalling-Arg,
+ SendEndSignal-Arg,
+ SendEndSignal-Res,
+
+ -- authentication management types
+ SendAuthenticationInfoArg,
+ SendAuthenticationInfoRes,
+ AuthenticationFailureReportArg,
+AuthenticationFailureReportRes,
+
+ -- security management types
+ Kc,
+ Cksn,
+
+ -- equipment management types
+ CheckIMEI-Arg,
+ CheckIMEI-Res,
+
+ -- subscriber management types
+ InsertSubscriberDataArg,
+ InsertSubscriberDataRes,
+ LSAIdentity,
+ DeleteSubscriberDataArg,
+ DeleteSubscriberDataRes,
+ Ext-QoS-Subscribed,
+ Ext2-QoS-Subscribed,
+ Ext3-QoS-Subscribed,
+ Ext4-QoS-Subscribed,
+ SubscriberData,
+ ODB-Data,
+ SubscriberStatus,
+ ZoneCodeList,
+ maxNumOfZoneCodes,
+ O-CSI,
+D-CSI,
+ O-BcsmCamelTDPCriteriaList,
+ T-BCSM-CAMEL-TDP-CriteriaList,
+ SS-CSI,
+ ServiceKey,
+ DefaultCallHandling,
+ DefaultSMS-Handling,
+ DefaultGPRS-Handling,
+ CamelCapabilityHandling,
+ BasicServiceCriteria,
+ SupportedCamelPhases,
+ OfferedCamel4CSIs,
+ OfferedCamel4Functionalities,
+ maxNumOfCamelTDPData,
+ CUG-Index,
+ CUG-Info,
+ CUG-Interlock,
+ InterCUG-Restrictions,
+ IntraCUG-Options,
+ NotificationToMSUser,
+ QoS-Subscribed,
+IST-AlertTimerValue,
+ T-CSI,
+ T-BcsmTriggerDetectionPoint,
+APN,
+AdditionalInfo,
+
+ -- fault recovery types
+ ResetArg,
+ RestoreDataArg,
+ RestoreDataRes,
+
+-- provide subscriber info types
+GeographicalInformation,
+MS-Classmark2,
+GPRSMSClass,
+
+ -- subscriber information enquiry types
+ ProvideSubscriberInfoArg,
+ ProvideSubscriberInfoRes,
+ SubscriberInfo,
+ LocationInformation,
+ LocationInformationGPRS,
+ SubscriberState,
+ GPRSChargingID,
+MNPInfoRes,
+ RouteingNumber,
+
+ -- any time information enquiry types
+ AnyTimeInterrogationArg,
+ AnyTimeInterrogationRes,
+
+ -- any time information handling types
+ AnyTimeSubscriptionInterrogationArg,
+ AnyTimeSubscriptionInterrogationRes,
+ AnyTimeModificationArg,
+ AnyTimeModificationRes,
+
+ -- subscriber data modification notification types
+ NoteSubscriberDataModifiedArg,
+ NoteSubscriberDataModifiedRes,
+
+ -- gprs location information retrieval types
+ SendRoutingInfoForGprsArg,
+ SendRoutingInfoForGprsRes,
+
+ -- failure reporting types
+ FailureReportArg,
+ FailureReportRes,
+
+ -- gprs notification types
+ NoteMsPresentForGprsArg,
+ NoteMsPresentForGprsRes,
+
+ -- Mobility Management types
+NoteMM-EventArg,
+ NoteMM-EventRes,
+ NumberPortabilityStatus,
+ PagingArea,
+
+ -- VGCS / VBS types types
+GroupId,
+Long-GroupId,
+AdditionalSubscriptions
+
+;
+
+IMPORTS
+ maxNumOfSS,
+ SS-SubscriptionOption,
+ SS-List,
+ SS-ForBS-Code,
+ Password,
+ OverrideCategory,
+ CliRestrictionOption
+FROM MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-DataTypes (14) version20 (20)}
+
+ SS-Code
+FROM MAP-SS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-Code (15) version20 (20)}
+
+ Ext-BearerServiceCode
+FROM MAP-BS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-BS-Code (20) version20 (20)}
+
+ Ext-TeleserviceCode
+FROM MAP-TS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-TS-Code (19) version20 (20)}
+
+ AddressString,
+ISDN-AddressString,
+ ISDN-SubaddressString,
+ FTN-AddressString,
+ AccessNetworkSignalInfo,
+ IMSI,
+ IMEI,
+ TMSI,
+ HLR-List,
+ LMSI,
+ Identity,
+ GlobalCellId,
+ CellGlobalIdOrServiceAreaIdOrLAI,
+ Ext-BasicServiceCode,
+ NAEA-PreferredCI,
+ EMLPP-Info,
+ MC-SS-Info,
+ SubscriberIdentity,
+ AgeOfLocationInformation,
+ LCSClientExternalID,
+ LCSClientInternalID,
+ Ext-SS-Status,
+ LCSServiceTypeID,
+ ASCI-CallReference,
+ TBCD-STRING,
+ LAIFixedLength,
+ PLMN-Id,
+EMLPP-Priority,
+GSN-Address,
+DiameterIdentity,
+Time,
+E-UTRAN-CGI,
+NR-CGI,
+TA-Id,
+NR-TA-Id,
+RAIdentity,
+NetworkNodeDiameterAddress
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+
+ AbsentSubscriberDiagnosticSM
+FROM MAP-ER-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ER-DataTypes (17) version20 (20)}
+
+ TracePropagationList
+FROM MAP-OM-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-OM-DataTypes (12) version20 (20)}
+
+;
+
+-- location registration types
+
+UpdateLocationArg ::= SEQUENCE {
+ imsi IMSI,
+ msc-Number [1] ISDN-AddressString,
+ vlr-Number ISDN-AddressString,
+ lmsi [10] LMSI OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ vlr-Capability [6] VLR-Capability OPTIONAL,
+ informPreviousNetworkEntity [11] NULL OPTIONAL,
+ cs-LCS-NotSupportedByUE [12] NULL OPTIONAL,
+ v-gmlc-Address [2] GSN-Address OPTIONAL,
+ add-info [13] ADD-Info OPTIONAL,
+ pagingArea [14] PagingArea OPTIONAL,
+ skipSubscriberDataUpdate [15] NULL OPTIONAL,
+ -- The skipSubscriberDataUpdate parameter in the UpdateLocationArg and the ADD-Info
+ -- structures carry the same semantic.
+ restorationIndicator [16] NULL OPTIONAL,
+ eplmn-List [3] EPLMN-List OPTIONAL,
+ mme-DiameterAddress [4] NetworkNodeDiameterAddress OPTIONAL
+ }
+
+VLR-Capability ::= SEQUENCE{
+ supportedCamelPhases [0] SupportedCamelPhases OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ solsaSupportIndicator [2] NULL OPTIONAL,
+ istSupportIndicator [1] IST-SupportIndicator OPTIONAL,
+ superChargerSupportedInServingNetworkEntity [3] SuperChargerInfo OPTIONAL,
+ longFTN-Supported [4] NULL OPTIONAL,
+ supportedLCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL,
+ offeredCamel4CSIs [6] OfferedCamel4CSIs OPTIONAL,
+ supportedRAT-TypesIndicator [7] SupportedRAT-Types OPTIONAL,
+ longGroupID-Supported [8] NULL OPTIONAL,
+ mtRoamingForwardingSupported [9] NULL OPTIONAL,
+ msisdn-lessOperation-Supported [10] NULL OPTIONAL,
+ reset-ids-Supported [11] NULL OPTIONAL }
+
+SupportedRAT-Types::= BIT STRING {
+ utran (0),
+ geran (1),
+ gan (2),
+ i-hspa-evolution (3),
+ e-utran (4),
+ nb-iot (5)} (SIZE (2..8))
+ -- exception handling: bits 6 to 7 shall be ignored if received and not understood
+
+
+
+SuperChargerInfo ::= CHOICE {
+ sendSubscriberData [0] NULL,
+ subscriberDataStored [1] AgeIndicator }
+
+AgeIndicator ::= OCTET STRING (SIZE (1..6))
+ -- The internal structure of this parameter is implementation specific.
+
+IST-SupportIndicator ::= ENUMERATED {
+ basicISTSupported (0),
+ istCommandSupported (1),
+ ...}
+-- exception handling:
+-- reception of values > 1 shall be mapped to ' istCommandSupported '
+
+SupportedLCS-CapabilitySets ::= BIT STRING {
+ lcsCapabilitySet1 (0),
+ lcsCapabilitySet2 (1),
+ lcsCapabilitySet3 (2),
+ lcsCapabilitySet4 (3) ,
+ lcsCapabilitySet5 (4) } (SIZE (2..16))
+-- Core network signalling capability set1 indicates LCS Release98 or Release99 version.
+-- Core network signalling capability set2 indicates LCS Release4.
+-- Core network signalling capability set3 indicates LCS Release5.
+-- Core network signalling capability set4 indicates LCS Release6.
+-- Core network signalling capability set5 indicates LCS Release7 or later version.
+-- A node shall mark in the BIT STRING all LCS capability sets it supports.
+-- If no bit is set then the sending node does not support LCS.
+-- If the parameter is not sent by an VLR then the VLR may support at most capability set1.
+-- If the parameter is not sent by an SGSN then no support for LCS is assumed.
+-- An SGSN is not allowed to indicate support of capability set1.
+-- Other bits than listed above shall be discarded.
+
+UpdateLocationRes ::= SEQUENCE {
+ hlr-Number ISDN-AddressString,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ add-Capability NULL OPTIONAL,
+ pagingArea-Capability [0]NULL OPTIONAL }
+
+ADD-Info ::= SEQUENCE {
+ imeisv [0] IMEI,
+ skipSubscriberDataUpdate [1] NULL OPTIONAL,
+ -- The skipSubscriberDataUpdate parameter in the UpdateLocationArg and the ADD-Info
+ -- structures carry the same semantic.
+ ...}
+
+
+PagingArea ::= SEQUENCE SIZE (1..5) OF LocationArea
+
+
+LocationArea ::= CHOICE {
+ laiFixedLength [0] LAIFixedLength,
+ lac [1] LAC}
+
+
+LAC ::= OCTET STRING (SIZE (2))
+ -- Refers to Location Area Code of the Location Area Identification defined in
+ -- 3GPP TS 23.003 [17].
+ -- Location Area Code according to 3GPP TS 24.008 [35]
+
+CancelLocationArg ::= [3] SEQUENCE {
+ identity Identity,
+ cancellationType CancellationType OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ typeOfUpdate [0] TypeOfUpdate OPTIONAL,
+ mtrf-SupportedAndAuthorized [1] NULL OPTIONAL,
+ mtrf-SupportedAndNotAuthorized [2] NULL OPTIONAL,
+ newMSC-Number [3] ISDN-AddressString OPTIONAL,
+ newVLR-Number [4] ISDN-AddressString OPTIONAL,
+ new-lmsi [5] LMSI OPTIONAL,
+ reattach-Required [6] NULL OPTIONAL
+ }
+ --mtrf-SupportedAndAuthorized and mtrf-SupportedAndNotAuthorized shall not
+ -- both be present
+
+TypeOfUpdate ::= ENUMERATED {
+ sgsn-change (0),
+ mme-change (1),
+ ...}
+ -- TypeOfUpdate shall be absent if CancellationType is different from updateProcedure
+ -- and initialAttachProcedure
+
+CancellationType ::= ENUMERATED {
+ updateProcedure (0),
+ subscriptionWithdraw (1),
+ ...,
+ initialAttachProcedure (2)}
+ -- The HLR shall not send values other than listed above
+
+CancelLocationRes ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+PurgeMS-Arg ::= [3] SEQUENCE {
+ imsi IMSI,
+ vlr-Number [0] ISDN-AddressString OPTIONAL,
+ sgsn-Number [1] ISDN-AddressString OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ locationInformation [2] LocationInformation OPTIONAL,
+ locationInformationGPRS [3] LocationInformationGPRS OPTIONAL,
+ locationInformationEPS [4] LocationInformationEPS OPTIONAL }
+
+PurgeMS-Res ::= SEQUENCE {
+ freezeTMSI [0] NULL OPTIONAL,
+ freezeP-TMSI [1] NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ freezeM-TMSI [2] NULL OPTIONAL }
+
+SendIdentificationArg ::= SEQUENCE {
+ tmsi TMSI,
+ numberOfRequestedVectors NumberOfRequestedVectors OPTIONAL,
+ -- within a dialogue numberOfRequestedVectors shall be present in
+ -- the first service request and shall not be present in subsequent service requests.
+ -- If received in a subsequent service request it shall be discarded.
+ segmentationProhibited NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ msc-Number ISDN-AddressString OPTIONAL,
+ previous-LAI [0] LAIFixedLength OPTIONAL,
+ hopCounter [1] HopCounter OPTIONAL,
+ mtRoamingForwardingSupported [2] NULL OPTIONAL,
+ newVLR-Number [3] ISDN-AddressString OPTIONAL,
+ new-lmsi [4] LMSI OPTIONAL }
+
+HopCounter ::= INTEGER (0..3)
+
+SendIdentificationRes ::= [3] SEQUENCE {
+ imsi IMSI OPTIONAL,
+ -- IMSI shall be present in the first (or only) service response of a dialogue.
+ -- If multiple service requests are present in a dialogue then IMSI
+ -- shall not be present in any service response other than the first one.
+ authenticationSetList AuthenticationSetList OPTIONAL,
+ currentSecurityContext [2]CurrentSecurityContext OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...,
+ lastUsedLtePLMN-Id [4] PLMN-Id OPTIONAL,
+ mtCallPendingFlag [5] NULL OPTIONAL }
+
+-- authentication management types
+
+AuthenticationSetList ::= CHOICE {
+ tripletList [0] TripletList,
+ quintupletList [1] QuintupletList }
+
+TripletList ::= SEQUENCE SIZE (1..5) OF
+ AuthenticationTriplet
+
+QuintupletList ::= SEQUENCE SIZE (1..5) OF
+ AuthenticationQuintuplet
+
+AuthenticationTriplet ::= SEQUENCE {
+ rand RAND,
+ sres SRES,
+ kc Kc,
+ ...}
+
+AuthenticationQuintuplet ::= SEQUENCE {
+ rand RAND,
+ xres XRES,
+ ck CK,
+ ik IK,
+ autn AUTN,
+ ...}
+
+CurrentSecurityContext ::= CHOICE {
+ gsm-SecurityContextData [0] GSM-SecurityContextData,
+ umts-SecurityContextData [1] UMTS-SecurityContextData }
+
+GSM-SecurityContextData ::= SEQUENCE {
+ kc Kc,
+ cksn Cksn,
+ ... }
+
+UMTS-SecurityContextData ::= SEQUENCE {
+ ck CK,
+ ik IK,
+ ksi KSI,
+ ... }
+
+RAND ::= OCTET STRING (SIZE (16))
+
+SRES ::= OCTET STRING (SIZE (4))
+
+Kc ::= OCTET STRING (SIZE (8))
+
+XRES ::= OCTET STRING (SIZE (4..16))
+
+CK ::= OCTET STRING (SIZE (16))
+
+IK ::= OCTET STRING (SIZE (16))
+
+AUTN ::= OCTET STRING (SIZE (16))
+
+AUTS ::= OCTET STRING (SIZE (14))
+
+Cksn ::= OCTET STRING (SIZE (1))
+ -- The internal structure is defined in 3GPP TS 24.008
+
+KSI ::= OCTET STRING (SIZE (1))
+ -- The internal structure is defined in 3GPP TS 24.008
+
+AuthenticationFailureReportArg ::= SEQUENCE {
+ imsi IMSI,
+ failureCause FailureCause,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ re-attempt BOOLEAN OPTIONAL,
+ accessType AccessType OPTIONAL,
+ rand RAND OPTIONAL,
+ vlr-Number [0] ISDN-AddressString OPTIONAL,
+ sgsn-Number [1] ISDN-AddressString OPTIONAL }
+
+AccessType ::= ENUMERATED {
+ call (0),
+ emergencyCall (1),
+ locationUpdating (2),
+ supplementaryService (3),
+ shortMessage (4),
+ gprsAttach (5),
+ routingAreaUpdating (6),
+ serviceRequest (7),
+ pdpContextActivation (8),
+ pdpContextDeactivation (9),
+ ...,
+ gprsDetach (10)}
+ -- exception handling:
+ -- received values greater than 10 shall be ignored.
+
+AuthenticationFailureReportRes ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+FailureCause ::= ENUMERATED {
+ wrongUserResponse (0),
+ wrongNetworkSignature (1)}
+
+-- gprs location registration types
+
+UpdateGprsLocationArg ::= SEQUENCE {
+ imsi IMSI,
+ sgsn-Number ISDN-AddressString,
+ sgsn-Address GSN-Address,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ sgsn-Capability [0] SGSN-Capability OPTIONAL,
+ informPreviousNetworkEntity [1] NULL OPTIONAL,
+ ps-LCS-NotSupportedByUE [2] NULL OPTIONAL,
+ v-gmlc-Address [3] GSN-Address OPTIONAL,
+ add-info [4] ADD-Info OPTIONAL,
+ eps-info [5] EPS-Info OPTIONAL,
+ servingNodeTypeIndicator [6] NULL OPTIONAL,
+ skipSubscriberDataUpdate [7] NULL OPTIONAL,
+ usedRAT-Type [8] Used-RAT-Type OPTIONAL,
+ gprsSubscriptionDataNotNeeded [9] NULL OPTIONAL,
+ nodeTypeIndicator [10] NULL OPTIONAL,
+ areaRestricted [11] NULL OPTIONAL,
+ ue-reachableIndicator [12] NULL OPTIONAL,
+ epsSubscriptionDataNotNeeded [13] NULL OPTIONAL,
+ ue-srvcc-Capability [14] UE-SRVCC-Capability OPTIONAL,
+ eplmn-List [15] EPLMN-List OPTIONAL,
+ mmeNumberforMTSMS [16] ISDN-AddressString OPTIONAL,
+ smsRegisterRequest [17] SMSRegisterRequest OPTIONAL,
+ sms-Only [18] NULL OPTIONAL,
+ removalofMMERegistrationforSMS [22] NULL OPTIONAL,
+ sgsn-Name [19] DiameterIdentity OPTIONAL,
+ sgsn-Realm [20] DiameterIdentity OPTIONAL,
+ lgd-supportIndicator [21] NULL OPTIONAL,
+ adjacentPLMN-List [23] AdjacentPLMN-List OPTIONAL }
+
+SMSRegisterRequest::= ENUMERATED {
+ sms-registration-required (0),
+ sms-registration-not-preferred (1),
+ no-preference (2),
+ ...}
+
+Used-RAT-Type::= ENUMERATED {
+ utran (0),
+ geran (1),
+ gan (2),
+ i-hspa-evolution (3),
+ e-utran (4),
+ ...,
+ nb-iot (5)}
+ -- The value e-utran indicates wide-band e-utran
+
+EPS-Info ::= CHOICE{
+ pdn-gw-update [0] PDN-GW-Update,
+ isr-Information [1] ISR-Information }
+
+PDN-GW-Update ::= SEQUENCE{
+ apn [0] APN OPTIONAL,
+ pdn-gw-Identity [1] PDN-GW-Identity OPTIONAL,
+ contextId [2] ContextId OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ... }
+-- The pdn-gw-update IE shall include the pdn-gw-Identity, and the apn or/and the contextID.
+-- The HSS shall ignore the eps-info IE if it includes a pdn-gw-update IE which does not
+-- include pdn-gw-Identity.
+-- The pdn-gw-Identity is defined as OPTIONAL for backward compatility reason with
+-- outdated earlier versions of this specification.
+
+
+ISR-Information::= BIT STRING {
+ updateLocation (0),
+ cancelSGSN (1),
+ initialAttachIndicator (2)} (SIZE (3..8))
+ -- exception handling: reception of unknown bit assignments in the
+ -- ISR-Information data type shall be discarded by the receiver
+
+SGSN-Capability ::= SEQUENCE{
+ solsaSupportIndicator NULL OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ... ,
+ superChargerSupportedInServingNetworkEntity [2] SuperChargerInfo OPTIONAL ,
+ gprsEnhancementsSupportIndicator [3] NULL OPTIONAL,
+ supportedCamelPhases [4] SupportedCamelPhases OPTIONAL,
+ supportedLCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL,
+ offeredCamel4CSIs [6] OfferedCamel4CSIs OPTIONAL,
+ smsCallBarringSupportIndicator [7] NULL OPTIONAL, supportedRAT-TypesIndicator [8] SupportedRAT-Types OPTIONAL,
+ supportedFeatures [9] SupportedFeatures OPTIONAL,
+ t-adsDataRetrieval [10] NULL OPTIONAL,
+ homogeneousSupportOfIMSVoiceOverPSSessions [11] BOOLEAN OPTIONAL,
+ -- "true" indicates homogeneous support, "false" indicates homogeneous non-support
+ -- in the complete SGSN or MME area
+ cancellationTypeInitialAttach [12] NULL OPTIONAL,
+ msisdn-lessOperation-Supported [14] NULL OPTIONAL,
+ updateofHomogeneousSupportOfIMSVoiceOverPSSessions [15] NULL OPTIONAL,
+ reset-ids-Supported [16] NULL OPTIONAL,
+ ext-SupportedFeatures [17] Ext-SupportedFeatures OPTIONAL
+ }
+ -- the supportedFeatures , t-adsDataRetrieval,
+ -- homogeneousSupportOfIMSVoiceOverPSSessions
+ -- /updateofHomogeneousSupportOfIMSVoiceOverPSSessions and
+ -- ext-SupportedFeatures are also applied to the MME/IWF
+
+SupportedFeatures::= BIT STRING {
+ odb-all-apn (0),
+ odb-HPLMN-APN (1),
+ odb-VPLMN-APN (2),
+ odb-all-og (3),
+ odb-all-international-og (4),
+ odb-all-int-og-not-to-HPLMN-country (5),
+ odb-all-interzonal-og (6),
+ odb-all-interzonal-og-not-to-HPLMN-country (7),
+ odb-all-interzonal-og-and-internat-og-not-to-HPLMN-country (8),
+ regSub (9),
+ trace (10),
+ lcs-all-PrivExcep (11),
+ lcs-universal (12),
+ lcs-CallSessionRelated (13),
+ lcs-CallSessionUnrelated (14),
+ lcs-PLMN-operator (15),
+ lcs-ServiceType (16),
+ lcs-all-MOLR-SS (17),
+ lcs-basicSelfLocation (18),
+ lcs-autonomousSelfLocation (19),
+ lcs-transferToThirdParty (20),
+ sm-mo-pp (21),
+ barring-OutgoingCalls (22),
+ baoc (23),
+ boic (24),
+ boicExHC (25),
+ localTimeZoneRetrieval (26),
+ additionalMsisdn (27),
+ smsInMME (28),
+ smsInSGSN (29),
+ ue-Reachability-Notification (30),
+ state-Location-Information-Retrieval (31),
+ partialPurge (32),
+ gddInSGSN (33),
+ sgsnCAMELCapability (34),
+ pcscf-Restoration (35),
+ dedicatedCoreNetworks (36),
+ non-IP-PDN-Type-APNs (37),
+ non-IP-PDP-Type-APNs (38),
+ nrAsSecondaryRAT (39) } (SIZE (26..40))
+ -- for the definition and usage of the above features see the 3GPP TS 29.272 [144].
+ -- Additional supported features are encoded in Ext-SupportedFeatures bit string.
+
+
+Ext-SupportedFeatures ::= BIT STRING {
+ unlicensedSpectrumAsSecondaryRAT (0) } (SIZE (1..40))
+
+UE-SRVCC-Capability::= ENUMERATED {
+ ue-srvcc-not-supported (0),
+ ue-srvcc-supported (1),
+ ...}
+
+UpdateGprsLocationRes ::= SEQUENCE {
+ hlr-Number ISDN-AddressString,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ add-Capability NULL OPTIONAL,
+ sgsn-mmeSeparationSupported [0] NULL OPTIONAL,
+ mmeRegisteredforSMS [1] NULL OPTIONAL }
+
+EPLMN-List ::= SEQUENCE SIZE (1..50) OF
+ PLMN-Id
+
+AdjacentPLMN-List ::= SEQUENCE SIZE (1..50) OF
+ PLMN-Id
+
+
+-- handover types
+
+ForwardAccessSignalling-Arg ::= [3] SEQUENCE {
+ an-APDU AccessNetworkSignalInfo,
+ integrityProtectionInfo [0] IntegrityProtectionInformation OPTIONAL,
+ encryptionInfo [1] EncryptionInformation OPTIONAL,
+ keyStatus [2] KeyStatus OPTIONAL,
+ allowedGSM-Algorithms [4] AllowedGSM-Algorithms OPTIONAL,
+ allowedUMTS-Algorithms [5] AllowedUMTS-Algorithms OPTIONAL,
+ radioResourceInformation [6] RadioResourceInformation OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...,
+ radioResourceList [7] RadioResourceList OPTIONAL,
+ bssmap-ServiceHandover [9] BSSMAP-ServiceHandover OPTIONAL,
+ ranap-ServiceHandover [8] RANAP-ServiceHandover OPTIONAL,
+ bssmap-ServiceHandoverList [10] BSSMAP-ServiceHandoverList OPTIONAL,
+ currentlyUsedCodec [11] Codec OPTIONAL,
+ iuSupportedCodecsList [12] SupportedCodecsList OPTIONAL,
+ rab-ConfigurationIndicator [13] NULL OPTIONAL,
+ iuSelectedCodec [14] Codec OPTIONAL,
+ alternativeChannelType [15] RadioResourceInformation OPTIONAL,
+ tracePropagationList [17] TracePropagationList OPTIONAL,
+ aoipSupportedCodecsListAnchor [18] AoIPCodecsList OPTIONAL,
+ aoipSelectedCodecTarget [19] AoIPCodec OPTIONAL,
+ uesbi-Iu [20] UESBI-Iu OPTIONAL,
+ imeisv [21] IMEI OPTIONAL }
+
+AllowedGSM-Algorithms ::= OCTET STRING (SIZE (1))
+ -- internal structure is coded as Algorithm identifier octet from
+ -- Permitted Algorithms defined in 3GPP TS 48.008
+ -- A node shall mark all GSM algorithms that are allowed in MSC-B
+
+AllowedUMTS-Algorithms ::= SEQUENCE {
+ integrityProtectionAlgorithms [0] PermittedIntegrityProtectionAlgorithms OPTIONAL,
+ encryptionAlgorithms [1] PermittedEncryptionAlgorithms OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+PermittedIntegrityProtectionAlgorithms ::=
+ OCTET STRING (SIZE (1..maxPermittedIntegrityProtectionAlgorithmsLength))
+ -- Octets contain a complete PermittedIntegrityProtectionAlgorithms data type
+ -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
+ -- mandated by 3GPP TS 25.413.
+ -- Padding bits are included, if needed, in the least significant bits of the
+ -- last octet of the octet string.
+
+
+maxPermittedIntegrityProtectionAlgorithmsLength INTEGER ::= 9
+
+PermittedEncryptionAlgorithms ::=
+ OCTET STRING (SIZE (1..maxPermittedEncryptionAlgorithmsLength))
+ -- Octets contain a complete PermittedEncryptionAlgorithms data type
+ -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
+ -- mandated by 3GPP TS 25.413
+ -- Padding bits are included, if needed, in the least significant bits of the
+ -- last octet of the octet string.
+
+
+maxPermittedEncryptionAlgorithmsLength INTEGER ::= 9
+
+KeyStatus ::= ENUMERATED {
+ old (0),
+ new (1),
+ ...}
+ -- exception handling:
+ -- received values in range 2-31 shall be treated as "old"
+ -- received values greater than 31 shall be treated as "new"
+
+PrepareHO-Arg ::= [3] SEQUENCE {
+ targetCellId [0] GlobalCellId OPTIONAL,
+ ho-NumberNotRequired NULL OPTIONAL,
+ targetRNCId [1] RNCId OPTIONAL,
+ an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
+ multipleBearerRequested [3] NULL OPTIONAL,
+ imsi [4] IMSI OPTIONAL,
+ integrityProtectionInfo [5] IntegrityProtectionInformation OPTIONAL,
+ encryptionInfo [6] EncryptionInformation OPTIONAL,
+ radioResourceInformation [7] RadioResourceInformation OPTIONAL,
+ allowedGSM-Algorithms [9] AllowedGSM-Algorithms OPTIONAL,
+ allowedUMTS-Algorithms [10] AllowedUMTS-Algorithms OPTIONAL,
+ radioResourceList [11] RadioResourceList OPTIONAL,
+ extensionContainer [8] ExtensionContainer OPTIONAL,
+ ... ,
+ rab-Id [12] RAB-Id OPTIONAL,
+ bssmap-ServiceHandover [13] BSSMAP-ServiceHandover OPTIONAL,
+ ranap-ServiceHandover [14] RANAP-ServiceHandover OPTIONAL,
+ bssmap-ServiceHandoverList [15] BSSMAP-ServiceHandoverList OPTIONAL,
+ asciCallReference [20] ASCI-CallReference OPTIONAL,
+ geran-classmark [16] GERAN-Classmark OPTIONAL,
+ iuCurrentlyUsedCodec [17] Codec OPTIONAL,
+ iuSupportedCodecsList [18] SupportedCodecsList OPTIONAL,
+ rab-ConfigurationIndicator [19] NULL OPTIONAL,
+ uesbi-Iu [21] UESBI-Iu OPTIONAL,
+ imeisv [22] IMEI OPTIONAL,
+ alternativeChannelType [23] RadioResourceInformation OPTIONAL,
+ tracePropagationList [25] TracePropagationList OPTIONAL,
+ aoipSupportedCodecsListAnchor [26] AoIPCodecsList OPTIONAL,
+ regionalSubscriptionData [27] ZoneCodeList OPTIONAL,
+ lclsGlobalCallReference [28] LCLS-GlobalCallReference OPTIONAL,
+ lcls-Negotiation [29] LCLS-Negotiation OPTIONAL,
+ lcls-Configuration-Preference [30] LCLS-ConfigurationPreference OPTIONAL,
+ csg-SubscriptionDataList [31] CSG-SubscriptionDataList OPTIONAL
+ }
+
+LCLS-GlobalCallReference ::= OCTET STRING (SIZE (13..15))
+ -- Octets are coded as specified in 3GPP TS 29.205 [146]
+
+
+LCLS-Negotiation::= BIT STRING {
+ permission-indicator-not-allowed-bit (0),
+ permission-indicator-spare-bit (1)} (SIZE (2..8))
+ --for definition and allowed combination of bits 0 and 1 see 3GPP TS 29.205
+ -- exception handling: bits 2 to 7 shall be ignored if received and not understood
+
+
+LCLS-ConfigurationPreference::= BIT STRING {
+ forward-data-sending-indicator (0),
+ backward-data-sending-indicator (1),
+ forward-data-reception-indicator (2),
+ backward-data-reception-indicator (3)} (SIZE (4..8))
+ -- exception handling: bits 4 to 7 shall be ignored if received and not understood
+
+
+BSSMAP-ServiceHandoverList ::= SEQUENCE SIZE (1.. maxNumOfServiceHandovers) OF
+ BSSMAP-ServiceHandoverInfo
+
+BSSMAP-ServiceHandoverInfo ::= SEQUENCE {
+ bssmap-ServiceHandover BSSMAP-ServiceHandover,
+ rab-Id RAB-Id,
+ -- RAB Identity is needed to relate the service handovers with the radio access bearers.
+ ...}
+
+maxNumOfServiceHandovers INTEGER ::= 7
+
+BSSMAP-ServiceHandover ::= OCTET STRING (SIZE (1))
+ -- Octets are coded according the Service Handover information element in
+ -- 3GPP TS 48.008.
+
+RANAP-ServiceHandover ::= OCTET STRING (SIZE (1))
+ -- Octet contains a complete Service-Handover data type
+ -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
+ -- mandated by 3GPP TS 25.413
+ -- Padding bits are included in the least significant bits.
+
+
+RadioResourceList ::= SEQUENCE SIZE (1.. maxNumOfRadioResources) OF
+ RadioResource
+
+RadioResource ::= SEQUENCE {
+ radioResourceInformation RadioResourceInformation,
+ rab-Id RAB-Id,
+ -- RAB Identity is needed to relate the radio resources with the radio access bearers.
+ ...}
+
+maxNumOfRadioResources INTEGER ::= 7
+
+PrepareHO-Res ::= [3] SEQUENCE {
+ handoverNumber [0] ISDN-AddressString OPTIONAL,
+ relocationNumberList [1] RelocationNumberList OPTIONAL,
+ an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
+ multicallBearerInfo [3] MulticallBearerInfo OPTIONAL,
+ multipleBearerNotSupported NULL OPTIONAL,
+ selectedUMTS-Algorithms [5] SelectedUMTS-Algorithms OPTIONAL,
+ chosenRadioResourceInformation [6] ChosenRadioResourceInformation OPTIONAL,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ...,
+ iuSelectedCodec [7] Codec OPTIONAL,
+ iuAvailableCodecsList [8] CodecList OPTIONAL,
+ aoipSelectedCodecTarget [9] AoIPCodec OPTIONAL,
+ aoipAvailableCodecsListMap [10] AoIPCodecsList OPTIONAL }
+
+SelectedUMTS-Algorithms ::= SEQUENCE {
+ integrityProtectionAlgorithm [0] ChosenIntegrityProtectionAlgorithm OPTIONAL,
+ encryptionAlgorithm [1] ChosenEncryptionAlgorithm OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+ChosenIntegrityProtectionAlgorithm ::= OCTET STRING (SIZE (1))
+ -- Octet contains a complete IntegrityProtectionAlgorithm data type
+ -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
+ -- mandated by 3GPP TS 25.413
+ -- Padding bits are included in the least significant bits.
+
+ChosenEncryptionAlgorithm ::= OCTET STRING (SIZE (1))
+ -- Octet contains a complete EncryptionAlgorithm data type
+ -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
+ -- mandated by 3GPP TS 25.413
+ -- Padding bits are included in the least significant bits.
+
+ChosenRadioResourceInformation ::= SEQUENCE {
+ chosenChannelInfo [0] ChosenChannelInfo OPTIONAL,
+ chosenSpeechVersion [1] ChosenSpeechVersion OPTIONAL,
+ ...}
+
+ChosenChannelInfo ::= OCTET STRING (SIZE (1))
+ -- Octets are coded according the Chosen Channel information element in 3GPP TS 48.008
+
+ChosenSpeechVersion ::= OCTET STRING (SIZE (1))
+ -- Octets are coded according the Speech Version (chosen) information element in 3GPP TS
+ -- 48.008
+
+PrepareSubsequentHO-Arg ::= [3] SEQUENCE {
+ targetCellId [0] GlobalCellId OPTIONAL,
+ targetMSC-Number [1] ISDN-AddressString,
+ targetRNCId [2] RNCId OPTIONAL,
+ an-APDU [3] AccessNetworkSignalInfo OPTIONAL,
+ selectedRab-Id [4] RAB-Id OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ ...,
+ geran-classmark [6] GERAN-Classmark OPTIONAL,
+ rab-ConfigurationIndicator [7] NULL OPTIONAL }
+
+PrepareSubsequentHO-Res ::= [3] SEQUENCE {
+ an-APDU AccessNetworkSignalInfo,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+ProcessAccessSignalling-Arg ::= [3] SEQUENCE {
+ an-APDU AccessNetworkSignalInfo,
+ selectedUMTS-Algorithms [1] SelectedUMTS-Algorithms OPTIONAL,
+ selectedGSM-Algorithm [2] SelectedGSM-Algorithm OPTIONAL,
+ chosenRadioResourceInformation [3] ChosenRadioResourceInformation OPTIONAL,
+ selectedRab-Id [4] RAB-Id OPTIONAL,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...,
+ iUSelectedCodec [5] Codec OPTIONAL,
+ iuAvailableCodecsList [6] CodecList OPTIONAL,
+ aoipSelectedCodecTarget [7] AoIPCodec OPTIONAL,
+ aoipAvailableCodecsListMap [8] AoIPCodecsList OPTIONAL }
+
+AoIPCodecsList ::= SEQUENCE {
+ codec1 [1] AoIPCodec,
+ codec2 [2] AoIPCodec OPTIONAL,
+ codec3 [3] AoIPCodec OPTIONAL,
+ codec4 [4] AoIPCodec OPTIONAL,
+ codec5 [5] AoIPCodec OPTIONAL,
+ codec6 [6] AoIPCodec OPTIONAL,
+ codec7 [7] AoIPCodec OPTIONAL,
+ codec8 [8] AoIPCodec OPTIONAL,
+ extensionContainer [9] ExtensionContainer OPTIONAL,
+ ...}
+ -- Codecs are sent in priority order where codec1 has highest priority
+
+AoIPCodec ::= OCTET STRING (SIZE (1..3))
+
+ -- The internal structure is defined as follows:
+ -- octet 1 Coded as Speech Codec Elements in 3GPP TS 48.008
+ -- with the exception that FI, PI, PT and TF bits shall
+ -- be set to 0
+ -- octets 2,3 Optional; in case of AMR codec types it defines
+ -- the supported codec configurations as defined in
+ -- 3GPP TS 48.008
+
+SupportedCodecsList ::= SEQUENCE {
+ utranCodecList [0] CodecList OPTIONAL,
+ geranCodecList [1] CodecList OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+CodecList ::= SEQUENCE {
+ codec1 [1] Codec,
+ codec2 [2] Codec OPTIONAL,
+ codec3 [3] Codec OPTIONAL,
+ codec4 [4] Codec OPTIONAL,
+ codec5 [5] Codec OPTIONAL,
+ codec6 [6] Codec OPTIONAL,
+ codec7 [7] Codec OPTIONAL,
+ codec8 [8] Codec OPTIONAL,
+ extensionContainer [9] ExtensionContainer OPTIONAL,
+ ...}
+ -- Codecs are sent in priority order where codec1 has highest priority
+
+Codec ::= OCTET STRING (SIZE (1..4))
+
+ -- The internal structure is defined as follows:
+ -- octet 1 Coded as Codec Identification code in 3GPP TS 26.103
+ -- octets 2,3,4 Parameters for the Codec as defined in 3GPP TS
+ -- 26.103, if available, length depending on the codec
+
+GERAN-Classmark ::= OCTET STRING (SIZE (2..87))
+ -- Octets are coded according the GERAN Classmark information element in 3GPP TS 48.008
+
+SelectedGSM-Algorithm ::= OCTET STRING (SIZE (1))
+ -- internal structure is coded as Algorithm identifier octet from Chosen Encryption
+ -- Algorithm defined in 3GPP TS 48.008
+ -- A node shall mark only the selected GSM algorithm
+
+SendEndSignal-Arg ::= [3] SEQUENCE {
+ an-APDU AccessNetworkSignalInfo,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+SendEndSignal-Res ::= SEQUENCE {
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+RNCId ::= OCTET STRING (SIZE (7))
+ -- The internal structure is defined as follows:
+ -- octet 1 bits 4321 Mobile Country Code 1st digit
+ -- bits 8765 Mobile Country Code 2nd digit
+ -- octet 2 bits 4321 Mobile Country Code 3rd digit
+ -- bits 8765 Mobile Network Code 3rd digit
+ -- or filler (1111) for 2 digit MNCs
+ -- octet 3 bits 4321 Mobile Network Code 1st digit
+ -- bits 8765 Mobile Network Code 2nd digit
+ -- octets 4 and 5 Location Area Code according to 3GPP TS 24.008
+ -- octets 6 and 7 RNC Id or Extended RNC Id value according to
+ -- 3GPP TS 25.413
+
+RelocationNumberList ::= SEQUENCE SIZE (1..maxNumOfRelocationNumber) OF
+ RelocationNumber
+
+MulticallBearerInfo ::= INTEGER (1..maxNumOfRelocationNumber)
+
+RelocationNumber ::= SEQUENCE {
+ handoverNumber ISDN-AddressString,
+ rab-Id RAB-Id,
+ -- RAB Identity is needed to relate the calls with the radio access bearers.
+ ...}
+
+RAB-Id ::= INTEGER (1..maxNrOfRABs)
+
+maxNrOfRABs INTEGER ::= 255
+
+maxNumOfRelocationNumber INTEGER ::= 7
+
+RadioResourceInformation ::= OCTET STRING (SIZE (3..13))
+ -- Octets are coded according the Channel Type information element in 3GPP TS 48.008
+
+IntegrityProtectionInformation ::= OCTET STRING (SIZE (18..maxNumOfIntegrityInfo))
+ -- Octets contain a complete IntegrityProtectionInformation data type
+ -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
+ -- mandated by 3GPP TS 25.413
+ -- Padding bits are included, if needed, in the least significant bits of the
+ -- last octet of the octet string.
+
+maxNumOfIntegrityInfo INTEGER ::= 100
+
+EncryptionInformation ::= OCTET STRING (SIZE (18..maxNumOfEncryptionInfo))
+ -- Octets contain a complete EncryptionInformation data type
+ -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
+ -- mandated by 3GPP TS 25.413
+ -- Padding bits are included, if needed, in the least significant bits of the
+ -- last octet of the octet string.
+
+maxNumOfEncryptionInfo INTEGER ::= 100
+
+-- authentication management types
+
+SendAuthenticationInfoArg ::= SEQUENCE {
+ imsi [0] IMSI,
+ numberOfRequestedVectors NumberOfRequestedVectors,
+ segmentationProhibited NULL OPTIONAL,
+ immediateResponsePreferred [1] NULL OPTIONAL,
+ re-synchronisationInfo Re-synchronisationInfo OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ requestingNodeType [3] RequestingNodeType OPTIONAL,
+ requestingPLMN-Id [4] PLMN-Id OPTIONAL,
+ numberOfRequestedAdditional-Vectors [5] NumberOfRequestedVectors OPTIONAL,
+ additionalVectorsAreForEPS [6] NULL OPTIONAL,
+ ueUsageTypeRequestIndication [7] NULL OPTIONAL }
+
+
+NumberOfRequestedVectors ::= INTEGER (1..5)
+
+Re-synchronisationInfo ::= SEQUENCE {
+ rand RAND,
+ auts AUTS,
+ ...}
+
+SendAuthenticationInfoRes ::= [3] SEQUENCE {
+ authenticationSetList AuthenticationSetList OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ eps-AuthenticationSetList [2] EPS-AuthenticationSetList OPTIONAL,
+ ueUsageType [3] UE-UsageType OPTIONAL }
+
+EPS-AuthenticationSetList ::= SEQUENCE SIZE (1..5) OF
+ EPC-AV
+
+UE-UsageType::= OCTET STRING (SIZE (4))
+ -- octets are coded as defined in 3GPP TS 29.272 [144]
+
+EPC-AV ::= SEQUENCE {
+ rand RAND,
+ xres XRES,
+ autn AUTN,
+ kasme KASME,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+KASME ::= OCTET STRING (SIZE (32))
+
+RequestingNodeType ::= ENUMERATED {
+ vlr (0),
+ sgsn (1),
+ ...,
+ s-cscf (2),
+ bsf (3),
+ gan-aaa-server (4),
+ wlan-aaa-server (5),
+ mme (16),
+ mme-sgsn (17)
+ }
+ -- the values 2, 3, 4 and 5 shall not be used on the MAP-D or Gr interfaces
+ -- exception handling:
+ -- received values in the range (6-15) shall be treated as "vlr"
+ -- received values greater than 17 shall be treated as "sgsn"
+
+-- equipment management types
+
+CheckIMEI-Arg ::= SEQUENCE {
+ imei IMEI,
+ requestedEquipmentInfo RequestedEquipmentInfo,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+CheckIMEI-Res ::= SEQUENCE {
+ equipmentStatus EquipmentStatus OPTIONAL,
+ bmuef UESBI-Iu OPTIONAL,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+RequestedEquipmentInfo::= BIT STRING {
+ equipmentStatus (0),
+ bmuef (1)} (SIZE (2..8))
+ -- exception handling: reception of unknown bit assignments in the
+ -- RequestedEquipmentInfo data type shall be discarded by the receiver
+
+UESBI-Iu ::= SEQUENCE {
+ uesbi-IuA [0] UESBI-IuA OPTIONAL,
+ uesbi-IuB [1] UESBI-IuB OPTIONAL,
+ ...}
+
+UESBI-IuA ::= BIT STRING (SIZE(1..128))
+-- See 3GPP TS 25.413
+
+UESBI-IuB ::= BIT STRING (SIZE(1..128))
+-- See 3GPP TS 25.413
+
+EquipmentStatus ::= ENUMERATED {
+ permittedListed (0),
+ prohibitedListed (1),
+ trackingListed (2)}
+
+-- subscriber management types
+
+InsertSubscriberDataArg ::= SEQUENCE {
+ imsi [0] IMSI OPTIONAL,
+ COMPONENTS OF SubscriberData,
+ extensionContainer [14] ExtensionContainer OPTIONAL,
+ ... ,
+ naea-PreferredCI [15] NAEA-PreferredCI OPTIONAL,
+ -- naea-PreferredCI is included at the discretion of the HLR operator.
+ gprsSubscriptionData [16] GPRSSubscriptionData OPTIONAL,
+ roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL
+ OPTIONAL,
+ networkAccessMode [24] NetworkAccessMode OPTIONAL,
+ lsaInformation [25] LSAInformation OPTIONAL,
+ lmu-Indicator [21] NULL OPTIONAL,
+ lcsInformation [22] LCSInformation OPTIONAL,
+ istAlertTimer [26] IST-AlertTimerValue OPTIONAL,
+ superChargerSupportedInHLR [27] AgeIndicator OPTIONAL,
+ mc-SS-Info [28] MC-SS-Info OPTIONAL,
+ cs-AllocationRetentionPriority [29] CS-AllocationRetentionPriority OPTIONAL,
+ sgsn-CAMEL-SubscriptionInfo [17] SGSN-CAMEL-SubscriptionInfo OPTIONAL,
+ chargingCharacteristics [18] ChargingCharacteristics OPTIONAL,
+ accessRestrictionData [19] AccessRestrictionData OPTIONAL,
+ ics-Indicator [20] BOOLEAN OPTIONAL,
+ eps-SubscriptionData [31] EPS-SubscriptionData OPTIONAL,
+ csg-SubscriptionDataList [32] CSG-SubscriptionDataList OPTIONAL,
+ ue-ReachabilityRequestIndicator [33] NULL OPTIONAL,
+ sgsn-Number [34] ISDN-AddressString OPTIONAL,
+ mme-Name [35] DiameterIdentity OPTIONAL,
+ subscribedPeriodicRAUTAUtimer [36] SubscribedPeriodicRAUTAUtimer OPTIONAL,
+ vplmnLIPAAllowed [37] NULL OPTIONAL,
+ mdtUserConsent [38] BOOLEAN OPTIONAL,
+ subscribedPeriodicLAUtimer [39] SubscribedPeriodicLAUtimer OPTIONAL,
+ vplmn-Csg-SubscriptionDataList [40] VPLMN-CSG-SubscriptionDataList OPTIONAL,
+ additionalMSISDN [41] ISDN-AddressString OPTIONAL,
+ psAndSMS-OnlyServiceProvision [42] NULL OPTIONAL,
+ smsInSGSNAllowed [43] NULL OPTIONAL,
+ cs-to-ps-SRVCC-Allowed-Indicator [44] NULL OPTIONAL,
+ pcscf-Restoration-Request [45] NULL OPTIONAL,
+ adjacentAccessRestrictionDataList [46] AdjacentAccessRestrictionDataList OPTIONAL,
+ imsi-Group-Id-List [47] IMSI-GroupIdList OPTIONAL,
+ ueUsageType [48] UE-UsageType OPTIONAL,
+ userPlaneIntegrityProtectionIndicator [49] NULL OPTIONAL,
+ dl-Buffering-Suggested-Packet-Count [50] DL-Buffering-Suggested-Packet-Count OPTIONAL,
+ reset-Id-List [51] Reset-Id-List OPTIONAL,
+ eDRX-Cycle-Length-List [52] EDRX-Cycle-Length-List OPTIONAL,
+ ext-AccessRestrictionData [53] Ext-AccessRestrictionData OPTIONAL,
+ iab-Operation-Allowed-Indicator [54] NULL OPTIONAL }
+ -- If the Network Access Mode parameter is sent, it shall be present only in
+ -- the first sequence if seqmentation is used
+
+EDRX-Cycle-Length-List ::= SEQUENCE SIZE (1..8) OF
+ EDRX-Cycle-Length
+
+EDRX-Cycle-Length ::= SEQUENCE {
+ rat-Type [0] Used-RAT-Type,
+ eDRX-Cycle-Length-Value [1] EDRX-Cycle-Length-Value,
+ ...}
+ -- The eDRX-Cycle-Length contains the subscribed eDRX-Cycle-Length applicable to a
+ -- a specific RAT Type.
+
+
+EDRX-Cycle-Length-Value ::= OCTET STRING (SIZE (1))
+ -- The EDRX-Cycle-Length-Value shall be encoded as specified in clause 7.3.216 of
+ -- 3GPP TS 29.272 [144].
+
+
+Reset-Id-List ::= SEQUENCE SIZE (1..50) OF
+ Reset-Id
+
+Reset-Id ::= OCTET STRING (SIZE (1..4))
+ -- Reset-Ids shall be unique within the HPLMN.
+
+
+DL-Buffering-Suggested-Packet-Count ::= INTEGER (-1..2147483647)
+ -- values are defined in 3GPP TS 29.272 [144]
+
+
+Group-Service-ID ::= INTEGER (0..4294967295)
+ -- values are defined in 3GPP TS 29.272 [144]
+
+
+Local-GroupID ::= OCTET STRING (SIZE (1..10))
+ -- Refers to Local group ID defined by an operator identified by the PLMN-ID.
+ -- for details see 3GPP TS 29.272 [144]
+
+IMSI-GroupIdList ::= SEQUENCE SIZE (1..50) OF
+ IMSI-GroupId
+
+IMSI-GroupId ::= SEQUENCE {
+ group-Service-Id [0] Group-Service-ID,
+ plmnId [1] PLMN-Id,
+ local-Group-ID [2] Local-GroupID,
+ ...}
+
+SubscribedPeriodicRAUTAUtimer ::= INTEGER (0..4294967295)
+ -- This parameter carries the subscribed periodic TAU/RAU timer value in seconds as
+ -- specified in 3GPP TS 24.008 [35].
+
+SubscribedPeriodicLAUtimer ::= INTEGER (0..4294967295)
+ -- This parameter carries the subscribed periodic LAU timer value in seconds as
+ -- specified in 3GPP TS 24.008 [35].
+
+CSG-SubscriptionDataList ::= SEQUENCE SIZE (1..50) OF
+ CSG-SubscriptionData
+
+CSG-SubscriptionData ::= SEQUENCE {
+ csg-Id CSG-Id,
+ expirationDate Time OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ lipa-AllowedAPNList [0] LIPA-AllowedAPNList OPTIONAL,
+ plmn-Id [1] PLMN-Id OPTIONAL
+}
+
+VPLMN-CSG-SubscriptionDataList ::= SEQUENCE SIZE (1..50) OF
+ CSG-SubscriptionData
+
+CSG-Id ::= BIT STRING (SIZE (27))
+ -- coded according to 3GPP TS 23.003 [17].
+
+LIPA-AllowedAPNList ::= SEQUENCE SIZE (1..maxNumOfLIPAAllowedAPN) OF
+ APN
+
+maxNumOfLIPAAllowedAPN INTEGER ::= 50
+
+
+EPS-SubscriptionData ::= SEQUENCE {
+ apn-oi-Replacement [0] APN-OI-Replacement OPTIONAL,
+ -- this apn-oi-Replacement refers to the UE level apn-oi-Replacement.
+ rfsp-id [2] RFSP-ID OPTIONAL,
+ ambr [3] AMBR OPTIONAL,
+ apn-ConfigurationProfile [4] APN-ConfigurationProfile OPTIONAL,
+ stn-sr [6] ISDN-AddressString OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ ...,
+ mps-CSPriority [7] NULL OPTIONAL,
+ mps-EPSPriority [8] NULL OPTIONAL,
+ subscribed-vsrvcc [9] NULL OPTIONAL }
+ -- mps-CSPriority by its presence indicates that the UE is subscribed to the eMLPP in
+ -- the CS domain, referring to the 3GPP TS 29.272 [144] for details.
+ -- mps-EPSPriority by its presence indicates that the UE is subscribed to the MPS in
+ -- the EPS domain, referring to the 3GPP TS 29.272 [144] for details.
+ --
+ -- subscribed-vsrvcc by its presence indicates that the UE is subscribed to the vSRVCC in
+ -- the EPS domain, referring to the 3GPP TS 29.272 [144] for details.
+
+APN-OI-Replacement ::= OCTET STRING (SIZE (9..100))
+ -- Octets are coded as APN Operator Identifier according to TS 3GPP TS 23.003 [17]
+
+RFSP-ID ::= INTEGER (1..256)
+
+APN-ConfigurationProfile ::= SEQUENCE {
+ defaultContext ContextId,
+ completeDataListIncluded NULL OPTIONAL,
+ -- If segmentation is used, completeDataListIncluded may only be present in the
+ -- first segment of APN-ConfigurationProfile.
+ epsDataList [1] EPS-DataList,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ... ,
+ additionalDefaultContext [3] ContextId OPTIONAL
+ -- for details see the 3GPP TS 29.272 [144].
+ }
+
+EPS-DataList ::= SEQUENCE SIZE (1..maxNumOfAPN-Configurations) OF
+ APN-Configuration
+
+
+maxNumOfAPN-Configurations INTEGER ::= 50
+
+
+APN-Configuration ::= SEQUENCE {
+ contextId [0] ContextId,
+ pdn-Type [1] PDN-Type,
+ servedPartyIP-IPv4-Address [2] PDP-Address OPTIONAL,
+ apn [3] APN,
+ eps-qos-Subscribed [4] EPS-QoS-Subscribed,
+ pdn-gw-Identity [5] PDN-GW-Identity OPTIONAL,
+ pdn-gw-AllocationType [6] PDN-GW-AllocationType OPTIONAL,
+ vplmnAddressAllowed [7] NULL OPTIONAL,
+ chargingCharacteristics [8] ChargingCharacteristics OPTIONAL,
+ ambr [9] AMBR OPTIONAL,
+ specificAPNInfoList [10] SpecificAPNInfoList OPTIONAL, extensionContainer [11] ExtensionContainer OPTIONAL,
+ servedPartyIP-IPv6-Address [12] PDP-Address OPTIONAL,
+ ...,
+ apn-oi-Replacement [13] APN-OI-Replacement OPTIONAL,
+ -- this apn-oi-Replacement refers to the APN level apn-oi-Replacement.
+ sipto-Permission [14] SIPTO-Permission OPTIONAL,
+ lipa-Permission [15] LIPA-Permission OPTIONAL,
+ restoration-Priority [16] Restoration-Priority OPTIONAL,
+ sipto-local-network-Permission [17] SIPTO-Local-Network-Permission OPTIONAL,
+ wlan-offloadability [18] WLAN-Offloadability OPTIONAL,
+ non-IP-PDN-Type-Indicator [19] NULL OPTIONAL,
+ nIDD-Mechanism [20] NIDD-Mechanism OPTIONAL,
+ sCEF-ID [21] FQDN OPTIONAL,
+ pdn-ConnectionContinuity [22] PDN-ConnectionContinuity OPTIONAL
+ -- absence of pdn-ConnectionContinuity indicates that the handling is left to
+ -- local VPLMN policy
+ }
+
+PDN-ConnectionContinuity ::= ENUMERATED {
+ maintainPDN-Connection (0),
+ disconnectPDN-ConnectionWithReactivationRequest (1),
+ disconnectPDN-ConnectionWithoutReactivationRequest (2)
+ }
+
+NIDD-Mechanism ::= ENUMERATED {
+ sGi-based-data-delivery (0),
+ sCEF-based-data-delivery (1)
+ -- The default value, when this information element is not present, is
+ -- sGi-based-data-delivery (0)
+ }
+
+PDN-Type ::= OCTET STRING (SIZE (1))
+ -- Octet is coded as follows:
+ -- Bits
+ -- 3 2 1
+ -- 0 0 1 IPv4
+ -- 0 1 0 IPv6
+ -- 0 1 1 IPv4v6
+ -- 1 0 0 IPv4_or_IPv6
+ -- Bits 8-4 shall be coded as zero.
+ -- for details see 3GPP TS 29.272 [144]
+
+EPS-QoS-Subscribed ::= SEQUENCE {
+ qos-Class-Identifier [0] QoS-Class-Identifier,
+ allocation-Retention-Priority [1] Allocation-Retention-Priority,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ... }
+
+AMBR ::= SEQUENCE {
+ max-RequestedBandwidth-UL [0] Bandwidth,
+ max-RequestedBandwidth-DL [1] Bandwidth,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ extended-Max-RequestedBandwidth-UL [3] BandwidthExt OPTIONAL,
+ extended-Max-RequestedBandwidth-DL [4] BandwidthExt OPTIONAL
+ -- extended-Max-RequestedBandwidth-UL/DL shall be populated according to the
+ -- description of the corresponding parameters in 3GPP TS 29.272 [144]
+}
+
+
+SpecificAPNInfoList ::= SEQUENCE SIZE (1..maxNumOfSpecificAPNInfos) OF
+ SpecificAPNInfo
+
+maxNumOfSpecificAPNInfos INTEGER ::= 50
+
+SpecificAPNInfo ::= SEQUENCE {
+ apn [0] APN,
+ pdn-gw-Identity [1] PDN-GW-Identity,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ... }
+
+Bandwidth ::= INTEGER
+ -- bits per second
+
+BandwidthExt ::= INTEGER
+ -- kilobits per second
+
+QoS-Class-Identifier ::= INTEGER (1..9)
+ -- values are defined in 3GPP TS 29.212
+
+
+
+Allocation-Retention-Priority ::= SEQUENCE {
+ priority-level [0] INTEGER,
+ pre-emption-capability [1] BOOLEAN OPTIONAL,
+ pre-emption-vulnerability [2] BOOLEAN OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ... }
+
+PDN-GW-Identity ::= SEQUENCE {
+ pdn-gw-ipv4-Address [0] PDP-Address OPTIONAL,
+ pdn-gw-ipv6-Address [1] PDP-Address OPTIONAL,
+ pdn-gw-name [2] FQDN OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ... }
+
+FQDN ::= OCTET STRING (SIZE (9..255))
+
+
+PDN-GW-AllocationType ::= ENUMERATED {
+ static (0),
+ dynamic (1)}
+
+
+WLAN-Offloadability ::= SEQUENCE {
+ wlan-offloadability-EUTRAN [0] WLAN-Offloadability-Indication OPTIONAL,
+ wlan-offloadability-UTRAN [1] WLAN-Offloadability-Indication OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ... }
+
+WLAN-Offloadability-Indication ::= ENUMERATED {
+ notAllowed (0),
+ allowed (1)}
+
+
+
+AccessRestrictionData ::= BIT STRING {
+ utranNotAllowed (0),
+ geranNotAllowed (1),
+ ganNotAllowed (2),
+ i-hspa-evolutionNotAllowed (3),
+ wb-e-utranNotAllowed (4),
+ ho-toNon3GPP-AccessNotAllowed (5),
+ nb-iotNotAllowed (6),
+ enhancedCoverageNotAllowed (7) } (SIZE (2..8))
+ -- exception handling:
+ -- The VLR shall ignore the access restriction data related to an access type not
+ -- supported by the node.
+ -- The handling of the access restriction data by the SGSN is described in clause
+ -- 5.3.19 of TS 23.060, in clause 7.5.3 of TS 29.060 and clause 7.3.6 of TS 29.274.
+ -- Additional access restrictions are encoded in Ext-AccessRestrictionData bit string.
+
+
+Ext-AccessRestrictionData ::= BIT STRING {
+ nrAsSecondaryRATNotAllowed (0),
+ unlicensedSpectrumAsSecondaryRATNotAllowed (1) } (SIZE (1..32))
+
+AdjacentAccessRestrictionDataList ::= SEQUENCE SIZE (1..50) OF
+ AdjacentAccessRestrictionData
+
+AdjacentAccessRestrictionData ::= SEQUENCE {
+ plmnId [0] PLMN-Id,
+ accessRestrictionData [1] AccessRestrictionData,
+ ... ,
+ ext-AccessRestrictionData [2] Ext-AccessRestrictionData OPTIONAL }
+
+CS-AllocationRetentionPriority ::= OCTET STRING (SIZE (1))
+ -- This data type encodes each priority level defined in TS 23.107 as the binary value
+ -- of the priority level.
+
+IST-AlertTimerValue ::= INTEGER (15..255)
+
+LCSInformation ::= SEQUENCE {
+ gmlc-List [0] GMLC-List OPTIONAL,
+ lcs-PrivacyExceptionList [1] LCS-PrivacyExceptionList OPTIONAL,
+ molr-List [2] MOLR-List OPTIONAL,
+ ...,
+ add-lcs-PrivacyExceptionList [3] LCS-PrivacyExceptionList OPTIONAL }
+ -- add-lcs-PrivacyExceptionList may be sent only if lcs-PrivacyExceptionList is
+ -- present and contains four instances of LCS-PrivacyClass. If the mentioned condition
+ -- is not satisfied the receiving node shall discard add-lcs-PrivacyExceptionList.
+ -- If an LCS-PrivacyClass is received both in lcs-PrivacyExceptionList and in
+ -- add-lcs-PrivacyExceptionList with the same SS-Code, then the error unexpected
+ -- data value shall be returned.
+
+GMLC-List ::= SEQUENCE SIZE (1..maxNumOfGMLC) OF
+ ISDN-AddressString
+ -- if segmentation is used, the complete GMLC-List shall be sent in one segment
+
+maxNumOfGMLC INTEGER ::= 5
+
+NetworkAccessMode ::= ENUMERATED {
+ packetAndCircuit (0),
+ onlyCircuit (1),
+ onlyPacket (2),
+ ...}
+ -- if unknown values are received in NetworkAccessMode
+ -- they shall be discarded.
+
+GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
+ PDP-Context
+
+maxNumOfPDP-Contexts INTEGER ::= 50
+
+PDP-Context ::= SEQUENCE {
+ pdp-ContextId ContextId,
+ pdp-Type [16] PDP-Type,
+ pdp-Address [17] PDP-Address OPTIONAL,
+ qos-Subscribed [18] QoS-Subscribed,
+ vplmnAddressAllowed [19] NULL OPTIONAL,
+ apn [20] APN,
+ extensionContainer [21] ExtensionContainer OPTIONAL,
+ ... ,
+ ext-QoS-Subscribed [0] Ext-QoS-Subscribed OPTIONAL,
+ pdp-ChargingCharacteristics [1] ChargingCharacteristics OPTIONAL,
+ ext2-QoS-Subscribed [2] Ext2-QoS-Subscribed OPTIONAL,
+ -- ext2-QoS-Subscribed may be present only if ext-QoS-Subscribed is present.
+ ext3-QoS-Subscribed [3] Ext3-QoS-Subscribed OPTIONAL,
+ -- ext3-QoS-Subscribed may be present only if ext2-QoS-Subscribed is present.
+ ext4-QoS-Subscribed [4] Ext4-QoS-Subscribed OPTIONAL,
+ -- ext4-QoS-Subscribed may be present only if ext3-QoS-Subscribed is present.
+ apn-oi-Replacement [5] APN-OI-Replacement OPTIONAL,
+ -- this apn-oi-Replacement refers to the APN level apn-oi-Replacement and has
+ -- higher priority than UE level apn-oi-Replacement.
+ ext-pdp-Type [6] Ext-PDP-Type OPTIONAL,
+ -- contains the value IPv4v6 defined in 3GPP TS 29.060 [105], if the PDP can be
+ -- accessed by dual-stack UEs
+ ext-pdp-Address [7] PDP-Address OPTIONAL,
+ -- contains an additional IP address in case of dual-stack static IP address assignment
+ -- for the UE.
+ -- it may contain an IPv4 or an IPv6 address/prefix, and it may be present
+ -- only if pdp-Address is present; if both are present, each parameter shall
+ -- contain a different type of address (IPv4 or IPv6).
+ ambr [10] AMBR OPTIONAL,
+ -- this ambr contains the AMBR associated to the APN included in the
+ -- PDP-Context (APN-AMBR).
+ sipto-Permission [8] SIPTO-Permission OPTIONAL,
+ lipa-Permission [9] LIPA-Permission OPTIONAL,
+ restoration-Priority [11] Restoration-Priority OPTIONAL,
+ sipto-local-network-Permission [12] SIPTO-Local-Network-Permission OPTIONAL,
+ nIDD-Mechanism [13] NIDD-Mechanism OPTIONAL,
+ sCEF-ID [14] FQDN OPTIONAL
+ }
+
+Restoration-Priority ::= OCTET STRING (SIZE (1))
+ -- Octet 1:
+ -- Restoration Priority. This octet encodes the Restoration Priority,
+ -- as the binary value of the Restoration-Priority described in 3GPP TS 29.272 [144].
+
+SIPTO-Permission ::= ENUMERATED {
+ siptoAboveRanAllowed (0),
+ siptoAboveRanNotAllowed (1)
+ }
+
+SIPTO-Local-Network-Permission ::= ENUMERATED {
+ siptoAtLocalNetworkAllowed (0),
+ siptoAtLocalNetworkNotAllowed (1)
+ }
+
+LIPA-Permission ::= ENUMERATED {
+ lipaProhibited (0),
+ lipaOnly (1),
+ lipaConditional (2)
+ }
+
+ContextId ::= INTEGER (1..maxNumOfPDP-Contexts)
+
+GPRSSubscriptionData ::= SEQUENCE {
+ completeDataListIncluded NULL OPTIONAL,
+ -- If segmentation is used, completeDataListIncluded may only be present in the
+ -- first segment of GPRSSubscriptionData.
+ gprsDataList [1] GPRSDataList,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ apn-oi-Replacement [3] APN-OI-Replacement OPTIONAL
+ -- this apn-oi-Replacement refers to the UE level apn-oi-Replacement.
+ }
+
+SGSN-CAMEL-SubscriptionInfo ::= SEQUENCE {
+ gprs-CSI [0] GPRS-CSI OPTIONAL,
+ mo-sms-CSI [1] SMS-CSI OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ mt-sms-CSI [3] SMS-CSI OPTIONAL,
+ mt-smsCAMELTDP-CriteriaList [4] MT-smsCAMELTDP-CriteriaList OPTIONAL,
+ mg-csi [5] MG-CSI OPTIONAL
+ }
+
+GPRS-CSI ::= SEQUENCE {
+ gprs-CamelTDPDataList [0] GPRS-CamelTDPDataList OPTIONAL,
+ camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ notificationToCSE [3] NULL OPTIONAL,
+ csi-Active [4] NULL OPTIONAL,
+ ...}
+-- notificationToCSE and csi-Active shall not be present when GPRS-CSI is sent to SGSN.
+-- They may only be included in ATSI/ATM ack/NSDC message.
+-- GPRS-CamelTDPData and camelCapabilityHandling shall be present in
+-- the GPRS-CSI sequence.
+-- If GPRS-CSI is segmented, gprs-CamelTDPDataList and camelCapabilityHandling shall be
+-- present in the first segment
+
+GPRS-CamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
+ GPRS-CamelTDPData
+-- GPRS-CamelTDPDataList shall not contain more than one instance of
+-- GPRS-CamelTDPData containing the same value for gprs-TriggerDetectionPoint.
+
+GPRS-CamelTDPData ::= SEQUENCE {
+ gprs-TriggerDetectionPoint [0] GPRS-TriggerDetectionPoint,
+ serviceKey [1] ServiceKey,
+ gsmSCF-Address [2] ISDN-AddressString,
+ defaultSessionHandling [3] DefaultGPRS-Handling,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ...
+ }
+
+DefaultGPRS-Handling ::= ENUMERATED {
+ continueTransaction (0) ,
+ releaseTransaction (1) ,
+ ...}
+-- exception handling:
+-- reception of values in range 2-31 shall be treated as "continueTransaction"
+-- reception of values greater than 31 shall be treated as "releaseTransaction"
+
+GPRS-TriggerDetectionPoint ::= ENUMERATED {
+ attach (1),
+ attachChangeOfPosition (2),
+ pdp-ContextEstablishment (11),
+ pdp-ContextEstablishmentAcknowledgement (12),
+ pdp-ContextChangeOfPosition (14),
+ ... }
+-- exception handling:
+-- For GPRS-CamelTDPData sequences containing this parameter with any
+-- other value than the ones listed the receiver shall ignore the whole
+-- GPRS-CamelTDPDatasequence.
+
+APN ::= OCTET STRING (SIZE (2..63))
+ -- Octets are coded according to TS 3GPP TS 23.003 [17]
+
+PDP-Type ::= OCTET STRING (SIZE (2))
+ -- Octets are coded according to TS 3GPP TS 29.060 [105]
+ -- Only the values PPP, IPv4, IPv6 and Non-IP are allowed for this parameter.
+
+Ext-PDP-Type ::= OCTET STRING (SIZE (2))
+ -- Octets are coded, similarly to PDP-Type, according to TS 3GPP TS 29.060 [105].
+ -- Only the value IPv4v6 is allowed for this parameter.
+
+PDP-Address ::= OCTET STRING (SIZE (1..16))
+ -- Octets are coded according to TS 3GPP TS 29.060 [105]
+
+ -- The possible size values are:
+ -- 1-7 octets X.25 address type
+ -- 4 octets IPv4 address type
+ -- 16 octets Ipv6 address type
+
+QoS-Subscribed ::= OCTET STRING (SIZE (3))
+ -- Octets are coded according to TS 3GPP TS 24.008 [35] Quality of Service Octets
+ -- 3-5.
+
+Ext-QoS-Subscribed ::= OCTET STRING (SIZE (1..9))
+ -- OCTET 1:
+ -- Allocation/Retention Priority (This octet encodes each priority level defined in
+ -- 23.107 as the binary value of the priority level, declaration in 29.060)
+ -- Octets 2-9 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets
+ -- 6-13.
+
+Ext2-QoS-Subscribed ::= OCTET STRING (SIZE (1..3))
+ -- Octets 1-3 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 14-16.
+ -- If Quality of Service information is structured with 14 octet length, then
+ -- Octet 1 is coded according to 3GPP TS 24.008 [35] Quality of Service Octet 14.
+
+Ext3-QoS-Subscribed ::= OCTET STRING (SIZE (1..2))
+ -- Octets 1-2 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 17-18.
+
+Ext4-QoS-Subscribed ::= OCTET STRING (SIZE (1))
+ -- Octet 1:
+ -- Evolved Allocation/Retention Priority. This octet encodes the Priority Level (PL),
+ -- the Preemption Capability (PCI) and Preemption Vulnerability (PVI) values, as
+ -- described in 3GPP TS 29.060 [105].
+
+ChargingCharacteristics ::= OCTET STRING (SIZE (2))
+ -- Octets are coded according to 3GPP TS 32.215.
+
+LSAOnlyAccessIndicator ::= ENUMERATED {
+ accessOutsideLSAsAllowed (0),
+ accessOutsideLSAsRestricted (1)}
+
+LSADataList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
+ LSAData
+
+maxNumOfLSAs INTEGER ::= 20
+
+LSAData ::= SEQUENCE {
+ lsaIdentity [0] LSAIdentity,
+ lsaAttributes [1] LSAAttributes,
+ lsaActiveModeIndicator [2] NULL OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+LSAInformation ::= SEQUENCE {
+ completeDataListIncluded NULL OPTIONAL,
+
+ -- If segmentation is used, completeDataListIncluded may only be present in the
+ -- first segment.
+ lsaOnlyAccessIndicator [1] LSAOnlyAccessIndicator OPTIONAL,
+ lsaDataList [2] LSADataList OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+LSAIdentity ::= OCTET STRING (SIZE (3))
+ -- Octets are coded according to TS 3GPP TS 23.003 [17]
+
+LSAAttributes ::= OCTET STRING (SIZE (1))
+ -- Octets are coded according to TS 3GPP TS 48.008 [49]
+
+SubscriberData ::= SEQUENCE {
+ msisdn [1] ISDN-AddressString OPTIONAL,
+ category [2] Category OPTIONAL,
+ subscriberStatus [3] SubscriberStatus OPTIONAL,
+ bearerServiceList [4] BearerServiceList OPTIONAL,
+ -- The exception handling for reception of unsupported / not allocated
+ -- bearerServiceCodes is defined in clause 8.8.1
+ teleserviceList [6] TeleserviceList OPTIONAL,
+ -- The exception handling for reception of unsupported / not allocated
+ -- teleserviceCodes is defined in clause 8.8.1
+ provisionedSS [7] Ext-SS-InfoList OPTIONAL,
+ odb-Data [8] ODB-Data OPTIONAL,
+ roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL,
+ regionalSubscriptionData [10] ZoneCodeList OPTIONAL,
+ vbsSubscriptionData [11] VBSDataList OPTIONAL,
+ vgcsSubscriptionData [12] VGCSDataList OPTIONAL,
+ vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL
+ }
+
+Category ::= OCTET STRING (SIZE (1))
+ -- The internal structure is defined in ITU-T Rec Q.763.
+
+SubscriberStatus ::= ENUMERATED {
+ serviceGranted (0),
+ operatorDeterminedBarring (1)}
+
+BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF
+ Ext-BearerServiceCode
+
+maxNumOfBearerServices INTEGER ::= 50
+
+TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF
+ Ext-TeleserviceCode
+
+maxNumOfTeleservices INTEGER ::= 20
+
+ODB-Data ::= SEQUENCE {
+ odb-GeneralData ODB-GeneralData,
+ odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+ODB-GeneralData ::= BIT STRING {
+ allOG-CallsBarred (0),
+ internationalOGCallsBarred (1),
+ internationalOGCallsNotToHPLMN-CountryBarred (2),
+ interzonalOGCallsBarred (6),
+ interzonalOGCallsNotToHPLMN-CountryBarred (7),
+ interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8),
+ premiumRateInformationOGCallsBarred (3),
+ premiumRateEntertainementOGCallsBarred (4),
+ ss-AccessBarred (5),
+ allECT-Barred (9),
+ chargeableECT-Barred (10),
+ internationalECT-Barred (11),
+ interzonalECT-Barred (12),
+ doublyChargeableECT-Barred (13),
+ multipleECT-Barred (14),
+ allPacketOrientedServicesBarred (15),
+ roamerAccessToHPLMN-AP-Barred (16),
+ roamerAccessToVPLMN-AP-Barred (17),
+ roamingOutsidePLMNOG-CallsBarred (18),
+ allIC-CallsBarred (19),
+ roamingOutsidePLMNIC-CallsBarred (20),
+ roamingOutsidePLMNICountryIC-CallsBarred (21),
+ roamingOutsidePLMN-Barred (22),
+ roamingOutsidePLMN-CountryBarred (23),
+ registrationAllCF-Barred (24),
+ registrationCFNotToHPLMN-Barred (25),
+ registrationInterzonalCF-Barred (26),
+ registrationInterzonalCFNotToHPLMN-Barred (27),
+ registrationInternationalCF-Barred (28)} (SIZE (15..32))
+ -- exception handling: reception of unknown bit assignments in the
+ -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData
+ -- When the ODB-GeneralData type is removed from the HLR for a given subscriber,
+ -- in NoteSubscriberDataModified operation sent toward the gsmSCF
+ -- all bits shall be set to "O".
+
+ODB-HPLMN-Data ::= BIT STRING {
+ plmn-SpecificBarringType1 (0),
+ plmn-SpecificBarringType2 (1),
+ plmn-SpecificBarringType3 (2),
+ plmn-SpecificBarringType4 (3)} (SIZE (4..32))
+ -- exception handling: reception of unknown bit assignments in the
+ -- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data
+ -- When the ODB-HPLMN-Data type is removed from the HLR for a given subscriber,
+ -- in NoteSubscriberDataModified operation sent toward the gsmSCF
+ -- all bits shall be set to "O".
+
+Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
+ Ext-SS-Info
+
+Ext-SS-Info ::= CHOICE {
+ forwardingInfo [0] Ext-ForwInfo,
+ callBarringInfo [1] Ext-CallBarInfo,
+ cug-Info [2] CUG-Info,
+ ss-Data [3] Ext-SS-Data,
+ emlpp-Info [4] EMLPP-Info}
+
+Ext-ForwInfo ::= SEQUENCE {
+ ss-Code SS-Code,
+ forwardingFeatureList Ext-ForwFeatureList,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+Ext-ForwFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
+ Ext-ForwFeature
+
+Ext-ForwFeature ::= SEQUENCE {
+ basicService Ext-BasicServiceCode OPTIONAL,
+ ss-Status [4] Ext-SS-Status,
+ forwardedToNumber [5] ISDN-AddressString OPTIONAL,
+ -- When this data type is sent from an HLR which supports CAMEL Phase 2
+ -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the
+ -- format of the number
+ forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
+ forwardingOptions [6] Ext-ForwOptions OPTIONAL,
+ noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL,
+ extensionContainer [9] ExtensionContainer OPTIONAL,
+ ...,
+ longForwardedToNumber [10] FTN-AddressString OPTIONAL }
+
+Ext-ForwOptions ::= OCTET STRING (SIZE (1..5))
+
+ -- OCTET 1:
+
+ -- bit 8: notification to forwarding party
+ -- 0 no notification
+ -- 1 notification
+
+ -- bit 7: redirecting presentation
+ -- 0 no presentation
+ -- 1 presentation
+
+ -- bit 6: notification to calling party
+ -- 0 no notification
+ -- 1 notification
+
+ -- bit 5: 0 (unused)
+
+ -- bits 43: forwarding reason
+ -- 00 ms not reachable
+ -- 01 ms busy
+ -- 10 no reply
+ -- 11 unconditional
+
+ -- bits 21: 00 (unused)
+
+ -- OCTETS 2-5: reserved for future use. They shall be discarded if
+ -- received and not understood.
+
+Ext-NoRepCondTime ::= INTEGER (1..100)
+ -- Only values 5-30 are used.
+ -- Values in the ranges 1-4 and 31-100 are reserved for future use
+ -- If received:
+ -- values 1-4 shall be mapped on to value 5
+ -- values 31-100 shall be mapped on to value 30
+
+Ext-CallBarInfo ::= SEQUENCE {
+ ss-Code SS-Code,
+ callBarringFeatureList Ext-CallBarFeatureList,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+Ext-CallBarFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
+ Ext-CallBarringFeature
+
+Ext-CallBarringFeature ::= SEQUENCE {
+ basicService Ext-BasicServiceCode OPTIONAL,
+ ss-Status [4] Ext-SS-Status,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+CUG-Info ::= SEQUENCE {
+ cug-SubscriptionList CUG-SubscriptionList,
+ cug-FeatureList CUG-FeatureList OPTIONAL,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF
+ CUG-Subscription
+
+CUG-Subscription ::= SEQUENCE {
+ cug-Index CUG-Index,
+ cug-Interlock CUG-Interlock,
+ intraCUG-Options IntraCUG-Options,
+ basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+CUG-Index ::= INTEGER (0..32767)
+ -- The internal structure is defined in ETS 300 138.
+
+CUG-Interlock ::= OCTET STRING (SIZE (4))
+
+IntraCUG-Options ::= ENUMERATED {
+ noCUG-Restrictions (0),
+ cugIC-CallBarred (1),
+ cugOG-CallBarred (2)}
+
+maxNumOfCUG INTEGER ::= 10
+
+CUG-FeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
+ CUG-Feature
+
+Ext-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
+ Ext-BasicServiceCode
+
+maxNumOfExt-BasicServiceGroups INTEGER ::= 32
+
+CUG-Feature ::= SEQUENCE {
+ basicService Ext-BasicServiceCode OPTIONAL,
+ preferentialCUG-Indicator CUG-Index OPTIONAL,
+ interCUG-Restrictions InterCUG-Restrictions,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+InterCUG-Restrictions ::= OCTET STRING (SIZE (1))
+
+ -- bits 876543: 000000 (unused)
+ -- Exception handling:
+ -- bits 876543 shall be ignored if received and not understood
+
+ -- bits 21
+ -- 00 CUG only facilities
+ -- 01 CUG with outgoing access
+ -- 10 CUG with incoming access
+ -- 11 CUG with both outgoing and incoming access
+
+Ext-SS-Data ::= SEQUENCE {
+ ss-Code SS-Code,
+ ss-Status [4] Ext-SS-Status,
+ ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
+ basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ ...}
+
+LCS-PrivacyExceptionList ::= SEQUENCE SIZE (1..maxNumOfPrivacyClass) OF
+ LCS-PrivacyClass
+
+maxNumOfPrivacyClass INTEGER ::= 4
+
+LCS-PrivacyClass ::= SEQUENCE {
+ ss-Code SS-Code,
+ ss-Status Ext-SS-Status,
+ notificationToMSUser [0] NotificationToMSUser OPTIONAL,
+ -- notificationToMSUser may be sent only for SS-codes callSessionRelated
+ -- and callSessionUnrelated. If not received for SS-codes callSessionRelated
+ -- and callSessionUnrelated,
+ -- the default values according to 3GPP TS 23.271 shall be assumed.
+ externalClientList [1] ExternalClientList OPTIONAL,
+ -- externalClientList may be sent only for SS-code callSessionUnrelated to a
+ -- visited node that does not support LCS Release 4 or later versions.
+ -- externalClientList may be sent only for SS-codes callSessionUnrelated and
+ -- callSessionRelated to a visited node that supports LCS Release 4 or later versions.
+ plmnClientList [2] PLMNClientList OPTIONAL,
+ -- plmnClientList may be sent only for SS-code plmnoperator.
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...,
+ ext-externalClientList [4] Ext-ExternalClientList OPTIONAL,
+ -- Ext-externalClientList may be sent only if the visited node supports LCS Release 4 or
+ -- later versions, the user did specify more than 5 clients, and White Book SCCP is used.
+ serviceTypeList [5] ServiceTypeList OPTIONAL
+ -- serviceTypeList may be sent only for SS-code serviceType and if the visited node
+ -- supports LCS Release 5 or later versions.
+ --
+ -- if segmentation is used, the complete LCS-PrivacyClass shall be sent in one segment
+}
+
+ExternalClientList ::= SEQUENCE SIZE (0..maxNumOfExternalClient) OF
+ ExternalClient
+
+maxNumOfExternalClient INTEGER ::= 5
+
+PLMNClientList ::= SEQUENCE SIZE (1..maxNumOfPLMNClient) OF
+ LCSClientInternalID
+
+maxNumOfPLMNClient INTEGER ::= 5
+
+Ext-ExternalClientList ::= SEQUENCE SIZE (1..maxNumOfExt-ExternalClient) OF
+ ExternalClient
+
+maxNumOfExt-ExternalClient INTEGER ::= 35
+
+ExternalClient ::= SEQUENCE {
+ clientIdentity LCSClientExternalID,
+ gmlc-Restriction [0] GMLC-Restriction OPTIONAL,
+ notificationToMSUser [1] NotificationToMSUser OPTIONAL,
+ -- If notificationToMSUser is not received, the default value according to
+ -- 3GPP TS 23.271 shall be assumed.
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ... }
+
+GMLC-Restriction ::= ENUMERATED {
+ gmlc-List (0),
+ home-Country (1) ,
+ ... }
+-- exception handling:
+-- At reception of any other value than the ones listed the receiver shall ignore
+-- GMLC-Restriction.
+
+NotificationToMSUser ::= ENUMERATED {
+ notifyLocationAllowed (0),
+ notifyAndVerify-LocationAllowedIfNoResponse (1),
+ notifyAndVerify-LocationNotAllowedIfNoResponse (2),
+ ...,
+ locationNotAllowed (3) }
+-- exception handling:
+-- At reception of any other value than the ones listed the receiver shall ignore
+-- NotificationToMSUser.
+
+ServiceTypeList ::= SEQUENCE SIZE (1..maxNumOfServiceType) OF
+ ServiceType
+
+maxNumOfServiceType INTEGER ::= 32
+
+ServiceType ::= SEQUENCE {
+ serviceTypeIdentity LCSServiceTypeID,
+ gmlc-Restriction [0] GMLC-Restriction OPTIONAL,
+ notificationToMSUser [1] NotificationToMSUser OPTIONAL,
+ -- If notificationToMSUser is not received, the default value according to
+ -- 3GPP TS 23.271 shall be assumed.
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ... }
+
+MOLR-List ::= SEQUENCE SIZE (1..maxNumOfMOLR-Class) OF
+ MOLR-Class
+
+maxNumOfMOLR-Class INTEGER ::= 3
+
+MOLR-Class ::= SEQUENCE {
+ ss-Code SS-Code,
+ ss-Status Ext-SS-Status,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes)
+ OF ZoneCode
+
+ZoneCode ::= OCTET STRING (SIZE (2))
+ -- internal structure is defined in TS 3GPP TS 23.003 [17]
+
+maxNumOfZoneCodes INTEGER ::= 10
+
+InsertSubscriberDataRes ::= SEQUENCE {
+ teleserviceList [1] TeleserviceList OPTIONAL,
+ bearerServiceList [2] BearerServiceList OPTIONAL,
+ ss-List [3] SS-List OPTIONAL,
+ odb-GeneralData [4] ODB-GeneralData OPTIONAL,
+ regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL,
+ supportedCamelPhases [6] SupportedCamelPhases OPTIONAL,
+ extensionContainer [7] ExtensionContainer OPTIONAL,
+ ... ,
+ offeredCamel4CSIs [8] OfferedCamel4CSIs OPTIONAL,
+ supportedFeatures [9] SupportedFeatures OPTIONAL,
+ ext-SupportedFeatures [10] Ext-SupportedFeatures OPTIONAL }
+
+RegionalSubscriptionResponse ::= ENUMERATED {
+ networkNode-AreaRestricted (0),
+ tooManyZoneCodes (1),
+ zoneCodesConflict (2),
+ regionalSubscNotSupported (3)}
+
+DeleteSubscriberDataArg ::= SEQUENCE {
+ imsi [0] IMSI,
+ basicServiceList [1] BasicServiceList OPTIONAL,
+ -- The exception handling for reception of unsupported/not allocated
+ -- basicServiceCodes is defined in clause 6.8.2
+ ss-List [2] SS-List OPTIONAL,
+ roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL,
+ regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL,
+ vbsGroupIndication [7] NULL OPTIONAL,
+ vgcsGroupIndication [8] NULL OPTIONAL,
+ camelSubscriptionInfoWithdraw [9] NULL OPTIONAL,
+ extensionContainer [6] ExtensionContainer OPTIONAL,
+ ...,
+ gprsSubscriptionDataWithdraw [10] GPRSSubscriptionDataWithdraw OPTIONAL,
+ roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL,
+ lsaInformationWithdraw [12] LSAInformationWithdraw OPTIONAL,
+ gmlc-ListWithdraw [13] NULL OPTIONAL,
+ istInformationWithdraw [14] NULL OPTIONAL,
+ specificCSI-Withdraw [15] SpecificCSI-Withdraw OPTIONAL,
+ chargingCharacteristicsWithdraw [16] NULL OPTIONAL,
+ stn-srWithdraw [17] NULL OPTIONAL,
+ epsSubscriptionDataWithdraw [18] EPS-SubscriptionDataWithdraw OPTIONAL,
+ apn-oi-replacementWithdraw [19] NULL OPTIONAL,
+ csg-SubscriptionDeleted [20] NULL OPTIONAL,
+ subscribedPeriodicTAU-RAU-TimerWithdraw [22] NULL OPTIONAL,
+ subscribedPeriodicLAU-TimerWithdraw [23] NULL OPTIONAL,
+ subscribed-vsrvccWithdraw [21] NULL OPTIONAL,
+ vplmn-Csg-SubscriptionDeleted [24] NULL OPTIONAL,
+ additionalMSISDN-Withdraw [25] NULL OPTIONAL,
+ cs-to-ps-SRVCC-Withdraw [26] NULL OPTIONAL,
+ imsiGroupIdList-Withdraw [27] NULL OPTIONAL,
+ userPlaneIntegrityProtectionWithdraw [28] NULL OPTIONAL,
+ dl-Buffering-Suggested-Packet-Count-Withdraw [29] NULL OPTIONAL,
+ ue-UsageTypeWithdraw [30] NULL OPTIONAL,
+ reset-idsWithdraw [31] NULL OPTIONAL,
+ iab-OperationWithdraw [32] NULL OPTIONAL }
+
+SpecificCSI-Withdraw ::= BIT STRING {
+ o-csi (0),
+ ss-csi (1),
+ tif-csi (2),
+ d-csi (3),
+ vt-csi (4),
+ mo-sms-csi (5),
+ m-csi (6),
+ gprs-csi (7),
+ t-csi (8),
+ mt-sms-csi (9),
+ mg-csi (10),
+ o-IM-CSI (11),
+ d-IM-CSI (12),
+ vt-IM-CSI (13) } (SIZE(8..32))
+-- exception handling:
+-- bits 11 to 31 shall be ignored if received by a non-IP Multimedia Core Network entity.
+-- bits 0-10 and 14-31 shall be ignored if received by an IP Multimedia Core Network entity.
+-- bits 11-13 are only applicable in an IP Multimedia Core Network.
+-- Bit 8 and bits 11-13 are only applicable for the NoteSubscriberDataModified operation.
+
+GPRSSubscriptionDataWithdraw ::= CHOICE {
+ allGPRSData NULL,
+ contextIdList ContextIdList}
+
+EPS-SubscriptionDataWithdraw ::= CHOICE {
+ allEPS-Data NULL,
+ contextIdList ContextIdList}
+
+ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
+ ContextId
+
+LSAInformationWithdraw ::= CHOICE {
+ allLSAData NULL,
+ lsaIdentityList LSAIdentityList }
+
+LSAIdentityList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
+ LSAIdentity
+
+BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF
+ Ext-BasicServiceCode
+
+maxNumOfBasicServices INTEGER ::= 70
+
+DeleteSubscriberDataRes ::= SEQUENCE {
+ regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+VlrCamelSubscriptionInfo ::= SEQUENCE {
+ o-CSI [0] O-CSI OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...,
+ ss-CSI [2] SS-CSI OPTIONAL,
+ o-BcsmCamelTDP-CriteriaList [4] O-BcsmCamelTDPCriteriaList OPTIONAL,
+ tif-CSI [3] NULL OPTIONAL,
+ m-CSI [5] M-CSI OPTIONAL,
+ mo-sms-CSI [6] SMS-CSI OPTIONAL,
+ vt-CSI [7] T-CSI OPTIONAL,
+ t-BCSM-CAMEL-TDP-CriteriaList [8] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
+ d-CSI [9] D-CSI OPTIONAL,
+ mt-sms-CSI [10] SMS-CSI OPTIONAL,
+ mt-smsCAMELTDP-CriteriaList [11] MT-smsCAMELTDP-CriteriaList OPTIONAL
+ }
+
+MT-smsCAMELTDP-CriteriaList ::= SEQUENCE SIZE (1.. maxNumOfCamelTDPData) OF
+ MT-smsCAMELTDP-Criteria
+
+MT-smsCAMELTDP-Criteria ::= SEQUENCE {
+ sms-TriggerDetectionPoint SMS-TriggerDetectionPoint,
+ tpdu-TypeCriterion [0] TPDU-TypeCriterion OPTIONAL,
+ ... }
+
+TPDU-TypeCriterion ::= SEQUENCE SIZE (1..maxNumOfTPDUTypes) OF
+ MT-SMS-TPDU-Type
+
+
+maxNumOfTPDUTypes INTEGER ::= 5
+
+MT-SMS-TPDU-Type ::= ENUMERATED {
+ sms-DELIVER (0),
+ sms-SUBMIT-REPORT (1),
+ sms-STATUS-REPORT (2),
+ ... }
+
+-- exception handling:
+-- For TPDU-TypeCriterion sequences containing this parameter with any
+-- other value than the ones listed above the receiver shall ignore
+-- the whole TPDU-TypeCriterion sequence.
+-- In CAMEL phase 4, sms-SUBMIT-REPORT shall not be used and a received TPDU-TypeCriterion
+-- sequence containing sms-SUBMIT-REPORT shall be wholly ignored.
+
+D-CSI ::= SEQUENCE {
+ dp-AnalysedInfoCriteriaList [0] DP-AnalysedInfoCriteriaList OPTIONAL,
+ camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ notificationToCSE [3] NULL OPTIONAL,
+ csi-Active [4] NULL OPTIONAL,
+ ...}
+-- notificationToCSE and csi-Active shall not be present when D-CSI is sent to VLR/GMSC.
+-- They may only be included in ATSI/ATM ack/NSDC message.
+-- DP-AnalysedInfoCriteria and camelCapabilityHandling shall be present in
+-- the D-CSI sequence.
+-- If D-CSI is segmented, then the first segment shall contain dp-AnalysedInfoCriteriaList
+-- and camelCapabilityHandling. Subsequent segments shall not contain
+-- camelCapabilityHandling, but may contain dp-AnalysedInfoCriteriaList.
+
+DP-AnalysedInfoCriteriaList ::= SEQUENCE SIZE (1..maxNumOfDP-AnalysedInfoCriteria) OF
+ DP-AnalysedInfoCriterium
+
+maxNumOfDP-AnalysedInfoCriteria INTEGER ::= 10
+
+DP-AnalysedInfoCriterium ::= SEQUENCE {
+ dialledNumber ISDN-AddressString,
+ serviceKey ServiceKey,
+ gsmSCF-Address ISDN-AddressString,
+ defaultCallHandling DefaultCallHandling,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+SS-CSI ::= SEQUENCE {
+ ss-CamelData SS-CamelData,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ notificationToCSE [0] NULL OPTIONAL,
+ csi-Active [1] NULL OPTIONAL
+-- notificationToCSE and csi-Active shall not be present when SS-CSI is sent to VLR.
+-- They may only be included in ATSI/ATM ack/NSDC message.
+}
+
+SS-CamelData ::= SEQUENCE {
+ ss-EventList SS-EventList,
+ gsmSCF-Address ISDN-AddressString,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code
+ -- Actions for the following SS-Code values are defined in CAMEL Phase 3:
+ -- ect SS-Code ::= '00110001'B
+ -- multiPTY SS-Code ::= '01010001'B
+ -- cd SS-Code ::= '00100100'B
+ -- ccbs SS-Code ::= '01000100'B
+ -- all other SS codes shall be ignored
+ -- When SS-CSI is sent to the VLR, it shall not contain a marking for ccbs.
+ -- If the VLR receives SS-CSI containing a marking for ccbs, the VLR shall discard the
+ -- ccbs marking in SS-CSI.
+
+maxNumOfCamelSSEvents INTEGER ::= 10
+
+O-CSI ::= SEQUENCE {
+ o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
+ notificationToCSE [1] NULL OPTIONAL,
+ csiActive [2] NULL OPTIONAL}
+-- notificationtoCSE and csiActive shall not be present when O-CSI is sent to VLR/GMSC.
+-- They may only be included in ATSI/ATM ack/NSDC message.
+-- O-CSI shall not be segmented.
+
+O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
+ O-BcsmCamelTDPData
+ -- O-BcsmCamelTDPDataList shall not contain more than one instance of
+ -- O-BcsmCamelTDPData containing the same value for o-BcsmTriggerDetectionPoint.
+ -- For CAMEL Phase 2, this means that only one instance of O-BcsmCamelTDPData is allowed
+ -- with o-BcsmTriggerDetectionPoint being equal to DP2.
+
+maxNumOfCamelTDPData INTEGER ::= 10
+
+O-BcsmCamelTDPData ::= SEQUENCE {
+ o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
+ serviceKey ServiceKey,
+ gsmSCF-Address [0] ISDN-AddressString,
+ defaultCallHandling [1] DefaultCallHandling,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...
+ }
+
+ServiceKey ::= INTEGER (0..2147483647)
+
+O-BcsmTriggerDetectionPoint ::= ENUMERATED {
+ collectedInfo (2),
+ ...,
+ routeSelectFailure (4) }
+ -- exception handling:
+ -- For O-BcsmCamelTDPData sequences containing this parameter with any
+ -- other value than the ones listed the receiver shall ignore the whole
+ -- O-BcsmCamelTDPDatasequence.
+ -- For O-BcsmCamelTDP-Criteria sequences containing this parameter with any
+ -- other value than the ones listed the receiver shall ignore the whole
+ -- O-BcsmCamelTDP-Criteria sequence.
+
+O-BcsmCamelTDPCriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
+ O-BcsmCamelTDP-Criteria
+
+T-BCSM-CAMEL-TDP-CriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
+ T-BCSM-CAMEL-TDP-Criteria
+
+O-BcsmCamelTDP-Criteria ::= SEQUENCE {
+ o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
+ destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL,
+ basicServiceCriteria [1] BasicServiceCriteria OPTIONAL,
+ callTypeCriteria [2] CallTypeCriteria OPTIONAL,
+ ...,
+ o-CauseValueCriteria [3] O-CauseValueCriteria OPTIONAL,
+ extensionContainer [4] ExtensionContainer OPTIONAL }
+
+T-BCSM-CAMEL-TDP-Criteria ::= SEQUENCE {
+ t-BCSM-TriggerDetectionPoint T-BcsmTriggerDetectionPoint,
+ basicServiceCriteria [0] BasicServiceCriteria OPTIONAL,
+ t-CauseValueCriteria [1] T-CauseValueCriteria OPTIONAL,
+ ... }
+
+DestinationNumberCriteria ::= SEQUENCE {
+ matchType [0] MatchType,
+ destinationNumberList [1] DestinationNumberList OPTIONAL,
+ destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL,
+ -- one or both of destinationNumberList and destinationNumberLengthList
+ -- shall be present
+ ...}
+
+DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF
+ ISDN-AddressString
+ -- The receiving entity shall not check the format of a number in
+ -- the dialled number list
+
+DestinationNumberLengthList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumberLengths) OF
+ INTEGER(1..maxNumOfISDN-AddressDigits)
+
+BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF
+ Ext-BasicServiceCode
+
+maxNumOfISDN-AddressDigits INTEGER ::= 15
+
+maxNumOfCamelDestinationNumbers INTEGER ::= 10
+
+maxNumOfCamelDestinationNumberLengths INTEGER ::= 3
+
+maxNumOfCamelBasicServiceCriteria INTEGER ::= 5
+
+CallTypeCriteria ::= ENUMERATED {
+ forwarded (0),
+ notForwarded (1)}
+
+MatchType ::= ENUMERATED {
+ inhibiting (0),
+ enabling (1)}
+
+O-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-O-CauseValueCriteria) OF
+ CauseValue
+
+T-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-T-CauseValueCriteria) OF
+ CauseValue
+
+maxNumOfCAMEL-O-CauseValueCriteria INTEGER ::= 5
+
+maxNumOfCAMEL-T-CauseValueCriteria INTEGER ::= 5
+
+CauseValue ::= OCTET STRING (SIZE(1))
+-- Type extracted from Cause parameter in ITU-T Recommendation Q.763.
+-- For the use of cause value refer to ITU-T Recommendation Q.850.
+
+DefaultCallHandling ::= ENUMERATED {
+ continueCall (0) ,
+ releaseCall (1) ,
+ ...}
+ -- exception handling:
+ -- reception of values in range 2-31 shall be treated as "continueCall"
+ -- reception of values greater than 31 shall be treated as "releaseCall"
+
+CamelCapabilityHandling ::= INTEGER(1..16)
+ -- value 1 = CAMEL phase 1,
+ -- value 2 = CAMEL phase 2,
+ -- value 3 = CAMEL Phase 3,
+ -- value 4 = CAMEL phase 4:
+ -- reception of values greater than 4 shall be treated as CAMEL phase 4.
+
+SupportedCamelPhases ::= BIT STRING {
+ phase1 (0),
+ phase2 (1),
+ phase3 (2),
+ phase4 (3)} (SIZE (1..16))
+-- A node shall mark in the BIT STRING all CAMEL Phases it supports.
+-- Other values than listed above shall be discarded.
+
+OfferedCamel4CSIs ::= BIT STRING {
+ o-csi (0),
+ d-csi (1),
+ vt-csi (2),
+ t-csi (3),
+ mt-sms-csi (4),
+ mg-csi (5),
+ psi-enhancements (6)
+} (SIZE (7..16))
+-- A node supporting Camel phase 4 shall mark in the BIT STRING all Camel4 CSIs
+-- it offers.
+-- Other values than listed above shall be discarded.
+
+OfferedCamel4Functionalities ::= BIT STRING {
+ initiateCallAttempt (0),
+ splitLeg (1),
+ moveLeg (2),
+ disconnectLeg (3),
+ entityReleased (4),
+ dfc-WithArgument (5),
+ playTone (6),
+ dtmf-MidCall (7),
+ chargingIndicator (8),
+ alertingDP (9),
+ locationAtAlerting (10),
+ changeOfPositionDP (11),
+ or-Interactions (12),
+ warningToneEnhancements (13),
+ cf-Enhancements (14),
+ subscribedEnhancedDialledServices (15),
+ servingNetworkEnhancedDialledServices (16),
+ criteriaForChangeOfPositionDP (17),
+ serviceChangeDP (18),
+ collectInformation (19)
+} (SIZE (15..64))
+-- A node supporting Camel phase 4 shall mark in the BIT STRING all CAMEL4
+-- functionalities it offers.
+-- Other values than listed above shall be discarded.
+
+SMS-CSI ::= SEQUENCE {
+ sms-CAMEL-TDP-DataList [0] SMS-CAMEL-TDP-DataList OPTIONAL,
+ camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ notificationToCSE [3] NULL OPTIONAL,
+ csi-Active [4] NULL OPTIONAL,
+ ...}
+-- notificationToCSE and csi-Active shall not be present
+-- when MO-SMS-CSI or MT-SMS-CSI is sent to VLR or SGSN.
+-- They may only be included in ATSI/ATM ack/NSDC message.
+-- SMS-CAMEL-TDP-Data and camelCapabilityHandling shall be present in
+-- the SMS-CSI sequence.
+-- If SMS-CSI is segmented, sms-CAMEL-TDP-DataList and camelCapabilityHandling shall be
+-- present in the first segment
+
+SMS-CAMEL-TDP-DataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
+ SMS-CAMEL-TDP-Data
+-- SMS-CAMEL-TDP-DataList shall not contain more than one instance of
+-- SMS-CAMEL-TDP-Data containing the same value for sms-TriggerDetectionPoint.
+
+SMS-CAMEL-TDP-Data ::= SEQUENCE {
+ sms-TriggerDetectionPoint [0] SMS-TriggerDetectionPoint,
+ serviceKey [1] ServiceKey,
+ gsmSCF-Address [2] ISDN-AddressString,
+ defaultSMS-Handling [3] DefaultSMS-Handling,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ...
+ }
+
+SMS-TriggerDetectionPoint ::= ENUMERATED {
+ sms-CollectedInfo (1),
+ ...,
+ sms-DeliveryRequest (2)
+ }
+-- exception handling:
+-- For SMS-CAMEL-TDP-Data and MT-smsCAMELTDP-Criteria sequences containing this
+-- parameter with any other value than the ones listed the receiver shall ignore
+-- the whole sequence.
+--
+-- If this parameter is received with any other value than sms-CollectedInfo
+-- in an SMS-CAMEL-TDP-Data sequence contained in mo-sms-CSI, then the receiver shall
+-- ignore the whole SMS-CAMEL-TDP-Data sequence.
+--
+-- If this parameter is received with any other value than sms-DeliveryRequest
+-- in an SMS-CAMEL-TDP-Data sequence contained in mt-sms-CSI then the receiver shall
+-- ignore the whole SMS-CAMEL-TDP-Data sequence.
+--
+-- If this parameter is received with any other value than sms-DeliveryRequest
+-- in an MT-smsCAMELTDP-Criteria sequence then the receiver shall
+-- ignore the whole MT-smsCAMELTDP-Criteria sequence.
+
+DefaultSMS-Handling ::= ENUMERATED {
+ continueTransaction (0) ,
+ releaseTransaction (1) ,
+ ...}
+-- exception handling:
+-- reception of values in range 2-31 shall be treated as "continueTransaction"
+-- reception of values greater than 31 shall be treated as "releaseTransaction"
+
+M-CSI ::= SEQUENCE {
+ mobilityTriggers MobilityTriggers,
+ serviceKey ServiceKey,
+ gsmSCF-Address [0] ISDN-AddressString,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ notificationToCSE [2] NULL OPTIONAL,
+ csi-Active [3] NULL OPTIONAL,
+ ...}
+-- notificationToCSE and csi-Active shall not be present when M-CSI is sent to VLR.
+-- They may only be included in ATSI/ATM ack/NSDC message.
+
+MG-CSI ::= SEQUENCE {
+ mobilityTriggers MobilityTriggers,
+ serviceKey ServiceKey,
+ gsmSCF-Address [0] ISDN-AddressString,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ notificationToCSE [2] NULL OPTIONAL,
+ csi-Active [3] NULL OPTIONAL,
+ ...}
+-- notificationToCSE and csi-Active shall not be present when MG-CSI is sent to SGSN.
+-- They may only be included in ATSI/ATM ack/NSDC message.
+
+MobilityTriggers ::= SEQUENCE SIZE (1..maxNumOfMobilityTriggers) OF
+ MM-Code
+
+maxNumOfMobilityTriggers INTEGER ::= 10
+
+MM-Code ::= OCTET STRING (SIZE (1))
+-- This type is used to indicate a Mobility Management event.
+-- Actions for the following MM-Code values are defined in CAMEL Phase 4:
+--
+-- CS domain MM events:
+-- Location-update-in-same-VLR MM-Code ::= '00000000'B
+-- Location-update-to-other-VLR MM-Code ::= '00000001'B
+-- IMSI-Attach MM-Code ::= '00000010'B
+-- MS-initiated-IMSI-Detach MM-Code ::= '00000011'B
+-- Network-initiated-IMSI-Detach MM-Code ::= '00000100'B
+--
+-- PS domain MM events:
+-- Routeing-Area-update-in-same-SGSN MM-Code ::= '10000000'B
+-- Routeing-Area-update-to-other-SGSN-update-from-new-SGSN
+-- MM-Code ::= '10000001'B
+-- Routeing-Area-update-to-other-SGSN-disconnect-by-detach
+-- MM-Code ::= '10000010'B
+-- GPRS-Attach MM-Code ::= '10000011'B
+-- MS-initiated-GPRS-Detach MM-Code ::= '10000100'B
+-- Network-initiated-GPRS-Detach MM-Code ::= '10000101'B
+-- Network-initiated-transfer-to-MS-not-reachable-for-paging
+-- MM-Code ::= '10000110'B
+--
+-- If the MSC receives any other MM-code than the ones listed above for the
+-- CS domain, then the MSC shall ignore that MM-code.
+-- If the SGSN receives any other MM-code than the ones listed above for the
+-- PS domain, then the SGSN shall ignore that MM-code.
+
+T-CSI ::= SEQUENCE {
+ t-BcsmCamelTDPDataList T-BcsmCamelTDPDataList,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
+ notificationToCSE [1] NULL OPTIONAL,
+ csi-Active [2] NULL OPTIONAL}
+-- notificationToCSE and csi-Active shall not be present when VT-CSI/T-CSI is sent
+-- to VLR/GMSC.
+-- They may only be included in ATSI/ATM ack/NSDC message.
+-- T-CSI shall not be segmented.
+
+T-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
+ T-BcsmCamelTDPData
+ --- T-BcsmCamelTDPDataList shall not contain more than one instance of
+ --- T-BcsmCamelTDPData containing the same value for t-BcsmTriggerDetectionPoint.
+ --- For CAMEL Phase 2, this means that only one instance of T-BcsmCamelTDPData is allowed
+ --- with t-BcsmTriggerDetectionPoint being equal to DP12.
+ --- For CAMEL Phase 3, more TDP's are allowed.
+
+T-BcsmCamelTDPData ::= SEQUENCE {
+ t-BcsmTriggerDetectionPoint T-BcsmTriggerDetectionPoint,
+ serviceKey ServiceKey,
+ gsmSCF-Address [0] ISDN-AddressString,
+ defaultCallHandling [1] DefaultCallHandling,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+T-BcsmTriggerDetectionPoint ::= ENUMERATED {
+ termAttemptAuthorized (12),
+ ... ,
+ tBusy (13),
+ tNoAnswer (14)}
+ -- exception handling:
+ -- For T-BcsmCamelTDPData sequences containing this parameter with any other
+ -- value than the ones listed above, the receiver shall ignore the whole
+ -- T-BcsmCamelTDPData sequence.
+
+-- gprs location information retrieval types
+
+SendRoutingInfoForGprsArg ::= SEQUENCE {
+ imsi [0] IMSI,
+ ggsn-Address [1] GSN-Address OPTIONAL,
+ ggsn-Number [2] ISDN-AddressString,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+SendRoutingInfoForGprsRes ::= SEQUENCE {
+ sgsn-Address [0] GSN-Address,
+ ggsn-Address [1] GSN-Address OPTIONAL,
+ mobileNotReachableReason [2] AbsentSubscriberDiagnosticSM OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+-- failure report types
+
+FailureReportArg ::= SEQUENCE {
+ imsi [0] IMSI,
+ ggsn-Number [1] ISDN-AddressString ,
+ ggsn-Address [2] GSN-Address OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+FailureReportRes ::= SEQUENCE {
+ ggsn-Address [0] GSN-Address OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+-- gprs notification types
+
+NoteMsPresentForGprsArg ::= SEQUENCE {
+ imsi [0] IMSI,
+ sgsn-Address [1] GSN-Address,
+ ggsn-Address [2] GSN-Address OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+NoteMsPresentForGprsRes ::= SEQUENCE {
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+-- fault recovery types
+
+ResetArg ::= SEQUENCE {
+ sendingNodenumber SendingNode-Number,
+ hlr-List HLR-List OPTIONAL,
+ -- The hlr-List parameter shall only be applicable for a restart of the HSS/HLR.
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...,
+ reset-Id-List [1] Reset-Id-List OPTIONAL,
+ subscriptionData [2] InsertSubscriberDataArg OPTIONAL,
+ subscriptionDataDeletion [3] DeleteSubscriberDataArg OPTIONAL}
+
+SendingNode-Number ::= CHOICE {
+ hlr-Number ISDN-AddressString,
+ css-Number [1] ISDN-AddressString}
+
+RestoreDataArg ::= SEQUENCE {
+ imsi IMSI,
+ lmsi LMSI OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ vlr-Capability [6] VLR-Capability OPTIONAL,
+ restorationIndicator [7] NULL OPTIONAL
+ }
+
+RestoreDataRes ::= SEQUENCE {
+ hlr-Number ISDN-AddressString,
+ msNotReachable NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+-- VBS/VGCS types
+VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF
+ VoiceBroadcastData
+
+VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF
+ VoiceGroupCallData
+
+maxNumOfVBSGroupIds INTEGER ::= 50
+
+maxNumOfVGCSGroupIds INTEGER ::= 50
+
+VoiceGroupCallData ::= SEQUENCE {
+ groupId GroupId,
+ -- groupId shall be filled with six TBCD fillers (1111)if the longGroupId is present
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ additionalSubscriptions AdditionalSubscriptions OPTIONAL,
+ additionalInfo [0] AdditionalInfo OPTIONAL,
+ longGroupId [1] Long-GroupId OPTIONAL }
+
+ -- VoiceGroupCallData containing a longGroupId shall not be sent to VLRs that did not
+ -- indicate support of long Group IDs within the Update Location or Restore Data
+ -- request message
+
+AdditionalInfo ::= BIT STRING (SIZE (1..136))
+-- Refers to Additional Info as specified in 3GPP TS 43.068
+
+AdditionalSubscriptions ::= BIT STRING {
+ privilegedUplinkRequest (0),
+ emergencyUplinkRequest (1),
+ emergencyReset (2)} (SIZE (3..8))
+-- Other bits than listed above shall be discarded.
+
+VoiceBroadcastData ::= SEQUENCE {
+ groupid GroupId,
+ -- groupId shall be filled with six TBCD fillers (1111)if the longGroupId is present
+ broadcastInitEntitlement NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ longGroupId [0] Long-GroupId OPTIONAL }
+
+-- VoiceBroadcastData containing a longGroupId shall not be sent to VLRs that did not
+-- indicate support of long Group IDs within the Update Location or Restore Data
+ -- request message
+
+GroupId ::= TBCD-STRING (SIZE (3))
+ -- When Group-Id is less than six characters in length, the TBCD filler (1111)
+ -- is used to fill unused half octets.
+ -- Refers to the Group Identification as specified in 3GPP TS 23.003
+ -- and 3GPP TS 43.068/ 43.069
+
+Long-GroupId ::= TBCD-STRING (SIZE (4))
+ -- When Long-Group-Id is less than eight characters in length, the TBCD filler (1111)
+ -- is used to fill unused half octets.
+ -- Refers to the Group Identification as specified in 3GPP TS 23.003
+ -- and 3GPP TS 43.068/ 43.069
+
+
+-- provide subscriber info types
+
+ProvideSubscriberInfoArg ::= SEQUENCE {
+ imsi [0] IMSI,
+ lmsi [1] LMSI OPTIONAL,
+ requestedInfo [2] RequestedInfo,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...,
+ callPriority [4] EMLPP-Priority OPTIONAL
+ }
+
+ProvideSubscriberInfoRes ::= SEQUENCE {
+ subscriberInfo SubscriberInfo,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+SubscriberInfo ::= SEQUENCE {
+ locationInformation [0] LocationInformation OPTIONAL,
+ subscriberState [1] SubscriberState OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ... ,
+ locationInformationGPRS [3] LocationInformationGPRS OPTIONAL,
+ ps-SubscriberState [4] PS-SubscriberState OPTIONAL,
+ imei [5] IMEI OPTIONAL,
+ ms-Classmark2 [6] MS-Classmark2 OPTIONAL,
+ gprs-MS-Class [7] GPRSMSClass OPTIONAL,
+ mnpInfoRes [8] MNPInfoRes OPTIONAL,
+ imsVoiceOverPS-SessionsIndication [9] IMS-VoiceOverPS-SessionsInd OPTIONAL,
+ lastUE-ActivityTime [10] Time OPTIONAL,
+ lastRAT-Type [11] Used-RAT-Type OPTIONAL,
+ eps-SubscriberState [12] PS-SubscriberState OPTIONAL,
+ locationInformationEPS [13] LocationInformationEPS OPTIONAL,
+ timeZone [14] TimeZone OPTIONAL,
+ daylightSavingTime [15] DaylightSavingTime OPTIONAL,
+ locationInformation5GS [16] LocationInformation5GS OPTIONAL }
+
+-- If the HLR receives locationInformation, subscriberState or ms-Classmark2 from an SGSN or
+-- MME (via an IWF), it shall discard them.
+-- If the HLR receives locationInformationGPRS, ps-SubscriberState, gprs-MS-Class or
+-- locationInformationEPS (outside the locationInformation IE) from a VLR, it shall
+-- discard them.
+-- If the HLR receives parameters which it has not requested, it shall discard them.
+-- The locationInformation5GS IE should be absent if UE did not access via 5GS and IM-SSF.
+
+IMS-VoiceOverPS-SessionsInd ::= ENUMERATED {
+ imsVoiceOverPS-SessionsNotSupported (0),
+ imsVoiceOverPS-SessionsSupported (1),
+ unknown (2)
+ }
+-- "unknown" shall not be used within ProvideSubscriberInfoRes
+
+TimeZone ::= OCTET STRING (SIZE (2..3))
+-- Refer to the 3GPP TS 29.272 [144] for details.
+
+DaylightSavingTime ::= ENUMERATED {
+ noAdjustment (0),
+ plusOneHourAdjustment (1),
+ plusTwoHoursAdjustment (2)
+ }
+-- Refer to the 3GPP TS 29.272 [144] for details.
+
+MNPInfoRes ::= SEQUENCE {
+ routeingNumber [0] RouteingNumber OPTIONAL,
+ imsi [1] IMSI OPTIONAL,
+ msisdn [2] ISDN-AddressString OPTIONAL,
+ numberPortabilityStatus [3] NumberPortabilityStatus OPTIONAL,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ... }
+-- The IMSI parameter contains a generic IMSI, i.e. it is not tied necessarily to the
+-- Subscriber. MCC and MNC values in this IMSI shall point to the Subscription Network of
+-- the Subscriber. See 3GPP TS 23.066 [108].
+
+RouteingNumber ::= TBCD-STRING (SIZE (1..5))
+
+
+NumberPortabilityStatus ::= ENUMERATED {
+ notKnownToBePorted (0),
+ ownNumberPortedOut (1),
+ foreignNumberPortedToForeignNetwork (2),
+ ...,
+ ownNumberNotPortedOut (4),
+ foreignNumberPortedIn (5)
+ }
+ -- exception handling:
+ -- reception of other values than the ones listed the receiver shall ignore the
+ -- whole NumberPortabilityStatus;
+ -- ownNumberNotPortedOut or foreignNumberPortedIn may only be included in Any Time
+ -- Interrogation message.
+
+MS-Classmark2 ::= OCTET STRING (SIZE (3))
+ -- This parameter carries the value part of the MS Classmark 2 IE defined in
+ -- 3GPP TS 24.008 [35].
+
+GPRSMSClass ::= SEQUENCE {
+ mSNetworkCapability [0] MSNetworkCapability,
+ mSRadioAccessCapability [1] MSRadioAccessCapability OPTIONAL
+ }
+
+MSNetworkCapability ::= OCTET STRING (SIZE (1..8))
+ -- This parameter carries the value part of the MS Network Capability IE defined in
+ -- 3GPP TS 24.008 [35].
+
+MSRadioAccessCapability ::= OCTET STRING (SIZE (1..50))
+ -- This parameter carries the value part of the MS Radio Access Capability IE defined in
+ -- 3GPP TS 24.008 [35].
+
+RequestedInfo ::= SEQUENCE {
+ locationInformation [0] NULL OPTIONAL,
+ subscriberState [1] NULL OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ currentLocation [3] NULL OPTIONAL,
+ requestedDomain [4] DomainType OPTIONAL,
+ imei [6] NULL OPTIONAL,
+ ms-classmark [5] NULL OPTIONAL,
+ mnpRequestedInfo [7] NULL OPTIONAL,
+ locationInformationEPS-Supported [11] NULL OPTIONAL,
+ t-adsData [8] NULL OPTIONAL,
+ requestedNodes [9] RequestedNodes OPTIONAL,
+ servingNodeIndication [10] NULL OPTIONAL,
+ localTimeZoneRequest [12] NULL OPTIONAL
+ }
+
+-- currentLocation and locationInformationEPS-Supported shall be absent if
+-- locationInformation is absent
+-- t-adsData shall be absent in messages sent to the VLR
+-- requestedNodes shall be absent if requestedDomain is "cs-Domain"
+-- servingNodeIndication shall be absent if locationInformation is absent;
+-- servingNodeIndication shall be absent if current location is present;
+-- servingNodeIndication indicates by its presence that only the serving node's
+-- address (MME-Name or SGSN-Number or VLR-Number) is requested.
+
+DomainType ::= ENUMERATED {
+ cs-Domain (0),
+ ps-Domain (1),
+ ...}
+-- exception handling:
+-- reception of values > 1 shall be mapped to 'cs-Domain'
+
+RequestedNodes ::= BIT STRING {
+ mme (0),
+ sgsn (1)} (SIZE (1..8))
+-- Other bits than listed above shall be discarded.
+
+LocationInformation ::= SEQUENCE {
+ ageOfLocationInformation AgeOfLocationInformation OPTIONAL,
+ geographicalInformation [0] GeographicalInformation OPTIONAL,
+ vlr-number [1] ISDN-AddressString OPTIONAL,
+ locationNumber [2] LocationNumber OPTIONAL,
+ cellGlobalIdOrServiceAreaIdOrLAI [3] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ... ,
+ selectedLSA-Id [5] LSAIdentity OPTIONAL,
+ msc-Number [6] ISDN-AddressString OPTIONAL,
+ geodeticInformation [7] GeodeticInformation OPTIONAL,
+ currentLocationRetrieved [8] NULL OPTIONAL,
+ sai-Present [9] NULL OPTIONAL,
+ locationInformationEPS [10] LocationInformationEPS OPTIONAL,
+ userCSGInformation [11] UserCSGInformation OPTIONAL }
+-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
+-- a Service Area Identity.
+-- currentLocationRetrieved shall be present
+-- if the location information were retrieved after a successfull paging.
+-- if the locationinformationEPS IE is present then the cellGlobalIdOrServiceAreaIdOrLAI IE,
+-- the ageOfLocationInformation IE, the geographicalInformation IE, the geodeticInformation IE
+-- and the currentLocationRetrieved IE (outside the locationInformationEPS IE) shall be
+-- absent. As an exception, both the cellGlobalIdOrServiceAreaIdOrLAI IE including an LAI and
+-- the locationinformationEPS IE may be present in a MAP-NOTE-MM-EVENT.
+-- UserCSGInformation contains the CSG ID, Access mode, and the CSG Membership Indication in
+-- the case the Access mode is Hybrid Mode.
+-- The locationInformationEPS IE should be absent if locationInformationEPS-Supported was not
+-- received in the RequestedInfo IE.
+
+LocationInformationEPS ::= SEQUENCE {
+ e-utranCellGlobalIdentity [0] E-UTRAN-CGI OPTIONAL,
+ trackingAreaIdentity [1] TA-Id OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ geographicalInformation [3] GeographicalInformation OPTIONAL,
+ geodeticInformation [4] GeodeticInformation OPTIONAL,
+ currentLocationRetrieved [5] NULL OPTIONAL,
+ ageOfLocationInformation [6] AgeOfLocationInformation OPTIONAL,
+ ...,
+ mme-Name [7] DiameterIdentity OPTIONAL }
+-- currentLocationRetrieved shall be present if the location information
+-- was retrieved after successful paging.
+
+
+LocationInformationGPRS ::= SEQUENCE {
+ cellGlobalIdOrServiceAreaIdOrLAI [0] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
+ routeingAreaIdentity [1] RAIdentity OPTIONAL,
+ geographicalInformation [2] GeographicalInformation OPTIONAL,
+ sgsn-Number [3] ISDN-AddressString OPTIONAL,
+ selectedLSAIdentity [4] LSAIdentity OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ ...,
+ sai-Present [6] NULL OPTIONAL,
+ geodeticInformation [7] GeodeticInformation OPTIONAL,
+ currentLocationRetrieved [8] NULL OPTIONAL,
+ ageOfLocationInformation [9] AgeOfLocationInformation OPTIONAL,
+ userCSGInformation [10] UserCSGInformation OPTIONAL }
+-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
+-- a Service Area Identity.
+-- currentLocationRetrieved shall be present if the location information
+-- was retrieved after successful paging.
+-- UserCSGInformation contains the CSG ID, Access mode, and the CSG Membership Indication in
+-- the case the Access mode is Hybrid Mode.
+
+
+LocationInformation5GS ::= SEQUENCE {
+ nrCellGlobalIdentity [0] NR-CGI OPTIONAL,
+ e-utranCellGlobalIdentity [1] E-UTRAN-CGI OPTIONAL,
+ geographicalInformation [2] GeographicalInformation OPTIONAL,
+ geodeticInformation [3] GeodeticInformation OPTIONAL,
+ amf-address [4] FQDN OPTIONAL,
+ trackingAreaIdentity [5] TA-Id OPTIONAL,
+ currentLocationRetrieved [6] NULL OPTIONAL,
+ ageOfLocationInformation [7] AgeOfLocationInformation OPTIONAL,
+ vplmnId [8] PLMN-Id OPTIONAL,
+ localtimeZone [9] TimeZone OPTIONAL,
+ rat-Type [10] Used-RAT-Type OPTIONAL,
+ extensionContainer [11] ExtensionContainer OPTIONAL,
+ ...,
+ nrTrackingAreaIdentity [12] NR-TA-Id OPTIONAL
+ }
+-- currentLocationRetrieved shall be present if the location information
+-- was retrieved after successful paging.
+
+
+UserCSGInformation ::= SEQUENCE {
+ csg-Id [0] CSG-Id,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...,
+ accessMode [2] OCTET STRING (SIZE(1)) OPTIONAL,
+ cmi [3] OCTET STRING (SIZE(1)) OPTIONAL }
+-- The encoding of the accessMode and cmi parameters are as defined in 3GPP TS 29.060 [105].
+
+GeographicalInformation ::= OCTET STRING (SIZE (8))
+-- Refers to geographical Information defined in 3GPP TS 23.032.
+-- Only the description of an ellipsoid point with uncertainty circle
+-- as specified in 3GPP TS 23.032 is allowed to be used
+-- The internal structure according to 3GPP TS 23.032 is as follows:
+-- Type of shape (ellipsoid point with uncertainty circle) 1 octet
+-- Degrees of Latitude 3 octets
+-- Degrees of Longitude 3 octets
+-- Uncertainty code 1 octet
+
+GeodeticInformation ::= OCTET STRING (SIZE (10))
+-- Refers to Calling Geodetic Location defined in Q.763 (1999).
+-- Only the description of an ellipsoid point with uncertainty circle
+-- as specified in Q.763 (1999) is allowed to be used
+-- The internal structure according to Q.763 (1999) is as follows:
+-- Screening and presentation indicators 1 octet
+-- Type of shape (ellipsoid point with uncertainty circle) 1 octet
+-- Degrees of Latitude 3 octets
+-- Degrees of Longitude 3 octets
+-- Uncertainty code 1 octet
+-- Confidence 1 octet
+
+LocationNumber ::= OCTET STRING (SIZE (2..10))
+ -- the internal structure is defined in ITU-T Rec Q.763
+
+SubscriberState ::= CHOICE {
+ assumedIdle [0] NULL,
+ camelBusy [1] NULL,
+ netDetNotReachable NotReachableReason,
+ notProvidedFromVLR [2] NULL}
+
+PS-SubscriberState ::= CHOICE {
+ notProvidedFromSGSNorMME [0] NULL,
+ ps-Detached [1] NULL,
+ ps-AttachedNotReachableForPaging [2] NULL,
+ ps-AttachedReachableForPaging [3] NULL,
+ ps-PDP-ActiveNotReachableForPaging [4] PDP-ContextInfoList,
+ ps-PDP-ActiveReachableForPaging [5] PDP-ContextInfoList,
+ netDetNotReachable NotReachableReason }
+
+PDP-ContextInfoList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
+ PDP-ContextInfo
+
+PDP-ContextInfo ::= SEQUENCE {
+ pdp-ContextIdentifier [0] ContextId,
+ pdp-ContextActive [1] NULL OPTIONAL,
+ pdp-Type [2] PDP-Type,
+ pdp-Address [3] PDP-Address OPTIONAL,
+ apn-Subscribed [4] APN OPTIONAL,
+ apn-InUse [5] APN OPTIONAL,
+ nsapi [6] NSAPI OPTIONAL,
+ transactionId [7] TransactionId OPTIONAL,
+ teid-ForGnAndGp [8] TEID OPTIONAL,
+ teid-ForIu [9] TEID OPTIONAL,
+ ggsn-Address [10] GSN-Address OPTIONAL,
+ qos-Subscribed [11] Ext-QoS-Subscribed OPTIONAL,
+ qos-Requested [12] Ext-QoS-Subscribed OPTIONAL,
+ qos-Negotiated [13] Ext-QoS-Subscribed OPTIONAL,
+ chargingId [14] GPRSChargingID OPTIONAL,
+ chargingCharacteristics [15] ChargingCharacteristics OPTIONAL,
+ rnc-Address [16] GSN-Address OPTIONAL,
+ extensionContainer [17] ExtensionContainer OPTIONAL,
+ ...,
+ qos2-Subscribed [18] Ext2-QoS-Subscribed OPTIONAL,
+ -- qos2-Subscribed may be present only if qos-Subscribed is present.
+ qos2-Requested [19] Ext2-QoS-Subscribed OPTIONAL,
+ -- qos2-Requested may be present only if qos-Requested is present.
+ qos2-Negotiated [20] Ext2-QoS-Subscribed OPTIONAL,
+ -- qos2-Negotiated may be present only if qos-Negotiated is present.
+ qos3-Subscribed [21] Ext3-QoS-Subscribed OPTIONAL,
+ -- qos3-Subscribed may be present only if qos2-Subscribed is present.
+ qos3-Requested [22] Ext3-QoS-Subscribed OPTIONAL,
+ -- qos3-Requested may be present only if qos2-Requested is present.
+ qos3-Negotiated [23] Ext3-QoS-Subscribed OPTIONAL,
+ -- qos3-Negotiated may be present only if qos2-Negotiated is present.
+ qos4-Subscribed [25] Ext4-QoS-Subscribed OPTIONAL,
+ -- qos4-Subscribed may be present only if qos3-Subscribed is present.
+ qos4-Requested [26] Ext4-QoS-Subscribed OPTIONAL,
+ -- qos4-Requested may be present only if qos3-Requested is present.
+ qos4-Negotiated [27] Ext4-QoS-Subscribed OPTIONAL,
+ -- qos4-Negotiated may be present only if qos3-Negotiated is present.
+ ext-pdp-Type [28] Ext-PDP-Type OPTIONAL,
+ -- contains the value IPv4v6 defined in 3GPP TS 29.060 [105], if the PDP can be
+ -- accessed by dual-stack UEs.
+ ext-pdp-Address [29] PDP-Address OPTIONAL
+ -- contains an additional IP address in case of dual-stack static IP address assignment
+ -- for the UE.
+ -- it may contain an IPv4 or an IPv6 address/prefix, and it may be present
+ -- only if pdp-Address is present; if both are present, each parameter shall
+ -- contain a different type of address (IPv4 or IPv6).
+
+}
+
+NSAPI ::= INTEGER (0..15)
+-- This type is used to indicate the Network layer Service Access Point
+
+TransactionId ::= OCTET STRING (SIZE (1..2))
+-- This type carries the value part of the transaction identifier which is used in the
+-- session management messages on the access interface. The encoding is defined in
+-- 3GPP TS 24.008
+
+TEID ::= OCTET STRING (SIZE (4))
+-- This type carries the value part of the Tunnel Endpoint Identifier which is used to
+-- distinguish between different tunnels between the same pair of entities which communicate
+-- using the GPRS Tunnelling Protocol The encoding is defined in 3GPP TS 29.060.
+
+GPRSChargingID ::= OCTET STRING (SIZE (4))
+-- The Charging ID is a unique four octet value generated by the GGSN when
+-- a PDP Context is activated. A Charging ID is generated for each activated context.
+-- The encoding is defined in 3GPP TS 29.060.
+
+NotReachableReason ::= ENUMERATED {
+ msPurged (0),
+ imsiDetached (1),
+ restrictedArea (2),
+ notRegistered (3)}
+
+-- any time interrogation info types
+
+AnyTimeInterrogationArg ::= SEQUENCE {
+ subscriberIdentity [0] SubscriberIdentity,
+ requestedInfo [1] RequestedInfo,
+ gsmSCF-Address [3] ISDN-AddressString,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+AnyTimeInterrogationRes ::= SEQUENCE {
+ subscriberInfo SubscriberInfo,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+-- any time information handling types
+
+AnyTimeSubscriptionInterrogationArg ::= SEQUENCE {
+ subscriberIdentity [0] SubscriberIdentity,
+ requestedSubscriptionInfo [1] RequestedSubscriptionInfo,
+ gsmSCF-Address [2] ISDN-AddressString,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ longFTN-Supported [4] NULL OPTIONAL,
+ ...}
+
+AnyTimeSubscriptionInterrogationRes ::= SEQUENCE {
+ callForwardingData [1] CallForwardingData OPTIONAL,
+ callBarringData [2] CallBarringData OPTIONAL,
+ odb-Info [3] ODB-Info OPTIONAL,
+ camel-SubscriptionInfo [4] CAMEL-SubscriptionInfo OPTIONAL,
+ supportedVLR-CAMEL-Phases [5] SupportedCamelPhases OPTIONAL,
+ supportedSGSN-CAMEL-Phases [6] SupportedCamelPhases OPTIONAL,
+ extensionContainer [7] ExtensionContainer OPTIONAL,
+ ... ,
+ offeredCamel4CSIsInVLR [8] OfferedCamel4CSIs OPTIONAL,
+ offeredCamel4CSIsInSGSN [9] OfferedCamel4CSIs OPTIONAL,
+ msisdn-BS-List [10] MSISDN-BS-List OPTIONAL,
+ csg-SubscriptionDataList [11] CSG-SubscriptionDataList OPTIONAL,
+ cw-Data [12] CallWaitingData OPTIONAL,
+ ch-Data [13] CallHoldData OPTIONAL,
+ clip-Data [14] ClipData OPTIONAL,
+ clir-Data [15] ClirData OPTIONAL,
+ ect-data [16] EctData OPTIONAL }
+
+CallWaitingData ::= SEQUENCE {
+ cwFeatureList [1] Ext-CwFeatureList,
+ notificationToCSE [2] NULL OPTIONAL,
+ ... }
+
+Ext-CwFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
+ Ext-CwFeature
+
+Ext-CwFeature ::= SEQUENCE {
+ basicService [1] Ext-BasicServiceCode,
+ ss-Status [2] Ext-SS-Status,
+ ... }
+
+ClipData ::= SEQUENCE {
+ ss-Status [1] Ext-SS-Status,
+ overrideCategory [2] OverrideCategory,
+ notificationToCSE [3] NULL OPTIONAL,
+ ... }
+
+ClirData ::= SEQUENCE {
+ ss-Status [1] Ext-SS-Status,
+ cliRestrictionOption [2] CliRestrictionOption OPTIONAL,
+ notificationToCSE [3] NULL OPTIONAL,
+ ... }
+
+CallHoldData ::= SEQUENCE {
+ ss-Status [1] Ext-SS-Status,
+ notificationToCSE [2] NULL OPTIONAL,
+ ... }
+
+EctData ::= SEQUENCE {
+ ss-Status [1] Ext-SS-Status,
+ notificationToCSE [2] NULL OPTIONAL,
+ ... }
+
+RequestedSubscriptionInfo ::= SEQUENCE {
+ requestedSS-Info [1] SS-ForBS-Code OPTIONAL,
+ odb [2] NULL OPTIONAL,
+ requestedCAMEL-SubscriptionInfo [3] RequestedCAMEL-SubscriptionInfo OPTIONAL,
+ supportedVLR-CAMEL-Phases [4] NULL OPTIONAL,
+ supportedSGSN-CAMEL-Phases [5] NULL OPTIONAL,
+ extensionContainer [6] ExtensionContainer OPTIONAL,
+ ...,
+ additionalRequestedCAMEL-SubscriptionInfo
+ [7] AdditionalRequestedCAMEL-SubscriptionInfo
+ OPTIONAL,
+ msisdn-BS-List [8] NULL OPTIONAL,
+ csg-SubscriptionDataRequested [9] NULL OPTIONAL,
+ cw-Info [10] NULL OPTIONAL,
+ clip-Info [11] NULL OPTIONAL,
+ clir-Info [12] NULL OPTIONAL,
+ hold-Info [13] NULL OPTIONAL,
+ ect-Info [14] NULL OPTIONAL }
+
+MSISDN-BS-List ::= SEQUENCE SIZE (1..maxNumOfMSISDN) OF
+ MSISDN-BS
+
+maxNumOfMSISDN INTEGER ::= 50
+
+
+MSISDN-BS ::= SEQUENCE {
+ msisdn ISDN-AddressString,
+ basicServiceList [0] BasicServiceList OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+RequestedCAMEL-SubscriptionInfo ::= ENUMERATED {
+ o-CSI (0),
+ t-CSI (1),
+ vt-CSI (2),
+ tif-CSI (3),
+ gprs-CSI (4),
+ mo-sms-CSI (5),
+ ss-CSI (6),
+ m-CSI (7),
+ d-csi (8)}
+
+AdditionalRequestedCAMEL-SubscriptionInfo ::= ENUMERATED {
+ mt-sms-CSI (0),
+ mg-csi (1),
+ o-IM-CSI (2),
+ d-IM-CSI (3),
+ vt-IM-CSI (4),
+ ...}
+-- exception handling: unknown values shall be discarded by the receiver.
+
+CallForwardingData ::= SEQUENCE {
+ forwardingFeatureList Ext-ForwFeatureList,
+ notificationToCSE NULL OPTIONAL,
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+CallBarringData ::= SEQUENCE {
+ callBarringFeatureList Ext-CallBarFeatureList,
+ password Password OPTIONAL,
+ wrongPasswordAttemptsCounter WrongPasswordAttemptsCounter OPTIONAL,
+ notificationToCSE NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+WrongPasswordAttemptsCounter ::= INTEGER (0..4)
+
+ODB-Info ::= SEQUENCE {
+ odb-Data ODB-Data,
+ notificationToCSE NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+CAMEL-SubscriptionInfo ::= SEQUENCE {
+ o-CSI [0] O-CSI OPTIONAL,
+ o-BcsmCamelTDP-CriteriaList [1] O-BcsmCamelTDPCriteriaList OPTIONAL,
+ d-CSI [2] D-CSI OPTIONAL,
+ t-CSI [3] T-CSI OPTIONAL,
+ t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
+ vt-CSI [5] T-CSI OPTIONAL,
+ vt-BCSM-CAMEL-TDP-CriteriaList [6] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
+ tif-CSI [7] NULL OPTIONAL,
+ tif-CSI-NotificationToCSE [8] NULL OPTIONAL,
+ gprs-CSI [9] GPRS-CSI OPTIONAL,
+ mo-sms-CSI [10] SMS-CSI OPTIONAL,
+ ss-CSI [11] SS-CSI OPTIONAL,
+ m-CSI [12] M-CSI OPTIONAL,
+ extensionContainer [13] ExtensionContainer OPTIONAL,
+ ...,
+ specificCSIDeletedList [14] SpecificCSI-Withdraw OPTIONAL,
+ mt-sms-CSI [15] SMS-CSI OPTIONAL,
+ mt-smsCAMELTDP-CriteriaList [16] MT-smsCAMELTDP-CriteriaList OPTIONAL,
+ mg-csi [17] MG-CSI OPTIONAL,
+ o-IM-CSI [18] O-CSI OPTIONAL,
+ o-IM-BcsmCamelTDP-CriteriaList [19] O-BcsmCamelTDPCriteriaList OPTIONAL,
+ d-IM-CSI [20] D-CSI OPTIONAL,
+ vt-IM-CSI [21] T-CSI OPTIONAL,
+ vt-IM-BCSM-CAMEL-TDP-CriteriaList [22] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL
+ }
+
+AnyTimeModificationArg ::= SEQUENCE {
+ subscriberIdentity [0] SubscriberIdentity,
+ gsmSCF-Address [1] ISDN-AddressString,
+ modificationRequestFor-CF-Info [2] ModificationRequestFor-CF-Info OPTIONAL,
+ modificationRequestFor-CB-Info [3] ModificationRequestFor-CB-Info OPTIONAL,
+ modificationRequestFor-CSI [4] ModificationRequestFor-CSI OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ longFTN-Supported [6] NULL OPTIONAL,
+ ...,
+ modificationRequestFor-ODB-data [7] ModificationRequestFor-ODB-data OPTIONAL,
+ modificationRequestFor-IP-SM-GW-Data [8] ModificationRequestFor-IP-SM-GW-Data OPTIONAL,
+ activationRequestForUE-reachability [9] RequestedServingNode OPTIONAL,
+ modificationRequestFor-CSG [10] ModificationRequestFor-CSG OPTIONAL,
+ modificationRequestFor-CW-Data [11] ModificationRequestFor-CW-Info OPTIONAL,
+ modificationRequestFor-CLIP-Data [12] ModificationRequestFor-CLIP-Info OPTIONAL,
+ modificationRequestFor-CLIR-Data [13] ModificationRequestFor-CLIR-Info OPTIONAL,
+ modificationRequestFor-HOLD-Data [14] ModificationRequestFor-CH-Info OPTIONAL,
+ modificationRequestFor-ECT-Data [15] ModificationRequestFor-ECT-Info OPTIONAL }
+
+ModificationRequestFor-CW-Info ::= SEQUENCE {
+ basicService [0] Ext-BasicServiceCode OPTIONAL,
+ ss-Status [1] Ext-SS-Status OPTIONAL,
+ modifyNotificationToCSE [2] ModificationInstruction OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+ModificationRequestFor-CH-Info ::= SEQUENCE {
+ ss-Status [0] Ext-SS-Status OPTIONAL,
+ modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+ModificationRequestFor-ECT-Info ::= SEQUENCE {
+ ss-Status [0] Ext-SS-Status OPTIONAL,
+ modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+ModificationRequestFor-CLIR-Info ::= SEQUENCE {
+ ss-Status [0] Ext-SS-Status OPTIONAL,
+ cliRestrictionOption [1] CliRestrictionOption OPTIONAL,
+ modifyNotificationToCSE [2] ModificationInstruction OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+ModificationRequestFor-CLIP-Info ::= SEQUENCE {
+ ss-Status [0] Ext-SS-Status OPTIONAL,
+ overrideCategory [1] OverrideCategory OPTIONAL,
+ modifyNotificationToCSE [2] ModificationInstruction OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+
+ModificationRequestFor-CSG ::= SEQUENCE {
+ modifyNotificationToCSE [0] ModificationInstruction OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...}
+
+RequestedServingNode ::= BIT STRING {
+ mmeAndSgsn (0)} (SIZE (1..8))
+
+ServingNode ::= BIT STRING {
+ mme (0),
+ sgsn (1)} (SIZE (2..8))
+-- Other bits than listed above shall be discarded.
+
+AnyTimeModificationRes ::= SEQUENCE {
+ ss-InfoFor-CSE [0] Ext-SS-InfoFor-CSE OPTIONAL,
+ camel-SubscriptionInfo [1] CAMEL-SubscriptionInfo OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ odb-Info [3] ODB-Info OPTIONAL,
+ cw-Data [4] CallWaitingData OPTIONAL,
+ ch-Data [5] CallHoldData OPTIONAL,
+ clip-Data [6] ClipData OPTIONAL,
+ clir-Data [7] ClirData OPTIONAL,
+ ect-data [8] EctData OPTIONAL,
+ serviceCentreAddress [9] AddressString OPTIONAL
+ }
+
+ModificationRequestFor-CF-Info ::= SEQUENCE {
+ ss-Code [0] SS-Code,
+ basicService [1] Ext-BasicServiceCode OPTIONAL,
+ ss-Status [2] Ext-SS-Status OPTIONAL,
+ forwardedToNumber [3] AddressString OPTIONAL,
+ forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL,
+ noReplyConditionTime [5] Ext-NoRepCondTime OPTIONAL,
+ modifyNotificationToCSE [6] ModificationInstruction OPTIONAL,
+ extensionContainer [7] ExtensionContainer OPTIONAL,
+ ...}
+
+ModificationRequestFor-CB-Info ::= SEQUENCE {
+ ss-Code [0] SS-Code,
+ basicService [1] Ext-BasicServiceCode OPTIONAL,
+ ss-Status [2] Ext-SS-Status OPTIONAL,
+ password [3] Password OPTIONAL,
+ wrongPasswordAttemptsCounter [4] WrongPasswordAttemptsCounter OPTIONAL,
+ modifyNotificationToCSE [5] ModificationInstruction OPTIONAL,
+ extensionContainer [6] ExtensionContainer OPTIONAL,
+ ...}
+
+ModificationRequestFor-ODB-data ::= SEQUENCE {
+ odb-data [0] ODB-Data OPTIONAL,
+ modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...}
+
+ModificationRequestFor-CSI ::= SEQUENCE {
+ requestedCamel-SubscriptionInfo [0] RequestedCAMEL-SubscriptionInfo,
+ modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
+ modifyCSI-State [2] ModificationInstruction OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...,
+ additionalRequestedCAMEL-SubscriptionInfo
+ [4] AdditionalRequestedCAMEL-SubscriptionInfo
+ OPTIONAL }
+-- requestedCamel-SubscriptionInfo shall be discarded if
+-- additionalRequestedCAMEL-SubscriptionInfo is received
+
+ModificationRequestFor-IP-SM-GW-Data ::= SEQUENCE {
+ modifyRegistrationStatus [0] ModificationInstruction OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...,
+ ip-sm-gw-DiameterAddress [2] NetworkNodeDiameterAddress OPTIONAL
+ -- ip-sm-gw-DiameterAddress may be present when ModificationInstruction is "activate"
+ }
+
+ModificationInstruction ::= ENUMERATED {
+ deactivate (0),
+ activate (1)}
+
+-- subscriber data modification notification types
+
+NoteSubscriberDataModifiedArg ::= SEQUENCE {
+ imsi IMSI,
+ msisdn ISDN-AddressString,
+ forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE OPTIONAL,
+ callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE OPTIONAL,
+ odb-Info [2] ODB-Info OPTIONAL,
+ camel-SubscriptionInfo [3] CAMEL-SubscriptionInfo OPTIONAL,
+ allInformationSent [4] NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ ue-reachable [5] ServingNode OPTIONAL,
+ csg-SubscriptionDataList [6] CSG-SubscriptionDataList OPTIONAL,
+ cw-Data [7] CallWaitingData OPTIONAL,
+ ch-Data [8] CallHoldData OPTIONAL,
+ clip-Data [9] ClipData OPTIONAL,
+ clir-Data [10] ClirData OPTIONAL,
+ ect-data [11] EctData OPTIONAL }
+
+NoteSubscriberDataModifiedRes ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+-- mobility management event notificatioon info types
+
+NoteMM-EventArg::= SEQUENCE {
+ serviceKey ServiceKey,
+ eventMet [0] MM-Code,
+ imsi [1] IMSI,
+ msisdn [2] ISDN-AddressString,
+ locationInformation [3] LocationInformation OPTIONAL,
+ supportedCAMELPhases [5] SupportedCamelPhases OPTIONAL,
+ extensionContainer [6] ExtensionContainer OPTIONAL,
+ ...,
+ locationInformationGPRS [7] LocationInformationGPRS OPTIONAL,
+ offeredCamel4Functionalities [8] OfferedCamel4Functionalities OPTIONAL
+}
+
+NoteMM-EventRes ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+Ext-SS-InfoFor-CSE ::= CHOICE {
+ forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE,
+ callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE
+ }
+
+Ext-ForwardingInfoFor-CSE ::= SEQUENCE {
+ ss-Code [0] SS-Code,
+ forwardingFeatureList [1] Ext-ForwFeatureList,
+ notificationToCSE [2] NULL OPTIONAL,
+ extensionContainer [3] ExtensionContainer OPTIONAL,
+ ...}
+
+Ext-CallBarringInfoFor-CSE ::= SEQUENCE {
+ ss-Code [0] SS-Code,
+ callBarringFeatureList [1] Ext-CallBarFeatureList,
+ password [2] Password OPTIONAL,
+ wrongPasswordAttemptsCounter [3] WrongPasswordAttemptsCounter OPTIONAL,
+ notificationToCSE [4] NULL OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ ...}
+
+-- vcsg location registration types
+
+UpdateVcsgLocationArg ::= SEQUENCE {
+ imsi IMSI,
+ msisdn [2] ISDN-AddressString OPTIONAL,
+ vlr-Number [0] ISDN-AddressString OPTIONAL,
+ sgsn-Number [1] ISDN-AddressString OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... }
+
+UpdateVcsgLocationRes ::= SEQUENCE {
+ temporaryEmptySubscriptiondataIndicator NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... }
+
+CancelVcsgLocationArg ::= SEQUENCE {
+ identity Identity,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...
+ }
+
+CancelVcsgLocationRes ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... }
+
+
+END
+
diff --git a/epan/dissectors/asn1/gsm_map/MAP-MobileServiceOperations.asn b/epan/dissectors/asn1/gsm_map/MAP-MobileServiceOperations.asn
new file mode 100644
index 00000000..126bd951
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-MobileServiceOperations.asn
@@ -0,0 +1,541 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.6.1 Mobile Service Operations
+MAP-MobileServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MobileServiceOperations (5)
+ version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+EXPORTS
+
+ -- location registration operations
+ updateLocation,
+ cancelLocation,
+ purgeMS,
+ sendIdentification,
+
+ -- gprs location registration operations
+ updateGprsLocation,
+
+ -- vcsg location registration operations
+ updateVcsgLocation,
+ cancelVcsgLocation,
+
+ -- subscriber information enquiry operations
+ provideSubscriberInfo,
+
+ -- any time information enquiry operations
+ anyTimeInterrogation,
+
+ -- any time information handling operations
+ anyTimeSubscriptionInterrogation,
+ anyTimeModification,
+
+ -- subscriber data modification notification operations
+ noteSubscriberDataModified,
+
+
+ -- handover operations
+ prepareHandover,
+ sendEndSignal,
+ processAccessSignalling,
+ forwardAccessSignalling,
+ prepareSubsequentHandover,
+
+ -- authentication management operations
+ sendAuthenticationInfo,
+authenticationFailureReport,
+
+ -- IMEI management operations
+ checkIMEI,
+
+ -- subscriber management operations
+ insertSubscriberData,
+ deleteSubscriberData,
+
+ -- fault recovery operations
+ reset,
+ forwardCheckSS-Indication,
+ restoreData,
+
+-- gprs location information retrieval operations
+ sendRoutingInfoForGprs,
+
+ -- failure reporting operations
+ failureReport,
+
+ -- gprs notification operations
+ noteMsPresentForGprs,
+
+-- Mobility Management operations
+noteMM-Event
+
+;
+
+IMPORTS
+ OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+
+ systemFailure,
+ dataMissing,
+ unexpectedDataValue,
+ unknownSubscriber,
+ unknownMSC,
+ unidentifiedSubscriber,
+ unknownEquipment,
+ roamingNotAllowed,
+ ati-NotAllowed,
+ noHandoverNumberAvailable,
+ subsequentHandoverFailure,
+ absentSubscriber,
+ mm-EventNotSupported,
+ atsi-NotAllowed,
+ atm-NotAllowed,
+ bearerServiceNotProvisioned,
+ teleserviceNotProvisioned,
+ callBarred,
+ illegalSS-Operation,
+ ss-ErrorStatus,
+ ss-NotAvailable,
+ ss-Incompatibility,
+ ss-SubscriptionViolation,
+ informationNotAvailable,
+ targetCellOutsideGroupCallArea
+
+
+FROM MAP-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Errors (10) version20 (20)}
+
+ UpdateLocationArg,
+ UpdateLocationRes,
+ CancelLocationArg,
+ CancelLocationRes,
+ PurgeMS-Arg,
+ PurgeMS-Res,
+ SendIdentificationArg,
+ SendIdentificationRes,
+ UpdateGprsLocationArg,
+ UpdateGprsLocationRes,
+ UpdateVcsgLocationArg,
+ UpdateVcsgLocationRes,
+ CancelVcsgLocationArg,
+ CancelVcsgLocationRes,
+ PrepareHO-Arg,
+ PrepareHO-Res,
+ForwardAccessSignalling-Arg,
+ProcessAccessSignalling-Arg,
+SendEndSignal-Arg,
+SendEndSignal-Res,
+PrepareSubsequentHO-Res,
+ PrepareSubsequentHO-Arg,
+ SendAuthenticationInfoArg,
+ SendAuthenticationInfoRes,
+ AuthenticationFailureReportArg,
+ AuthenticationFailureReportRes,
+ CheckIMEI-Arg,
+ CheckIMEI-Res,
+ InsertSubscriberDataArg,
+ InsertSubscriberDataRes,
+ DeleteSubscriberDataArg,
+ DeleteSubscriberDataRes,
+ ResetArg,
+ RestoreDataArg,
+ RestoreDataRes,
+ ProvideSubscriberInfoArg,
+ ProvideSubscriberInfoRes,
+ AnyTimeSubscriptionInterrogationArg,
+ AnyTimeSubscriptionInterrogationRes,
+ AnyTimeModificationArg,
+ AnyTimeModificationRes,
+ NoteSubscriberDataModifiedArg,
+ NoteSubscriberDataModifiedRes,
+ AnyTimeInterrogationArg,
+ AnyTimeInterrogationRes,
+ SendRoutingInfoForGprsArg,
+ SendRoutingInfoForGprsRes,
+ FailureReportArg,
+ FailureReportRes,
+ NoteMsPresentForGprsArg,
+ NoteMsPresentForGprsRes,
+ NoteMM-EventArg,
+ NoteMM-EventRes
+
+
+FROM MAP-MS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MS-DataTypes (11) version20 (20)}
+
+;
+
+
+-- location registration operations
+
+updateLocation OPERATION ::= { --Timer m
+ ARGUMENT
+ UpdateLocationArg
+ RESULT
+ UpdateLocationRes
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber |
+ roamingNotAllowed}
+ CODE local:2 }
+
+cancelLocation OPERATION ::= { --Timer m
+ ARGUMENT
+ CancelLocationArg
+ RESULT
+ CancelLocationRes
+ -- optional
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue}
+ CODE local:3 }
+
+purgeMS OPERATION ::= { --Timer m
+ ARGUMENT
+ PurgeMS-Arg
+ RESULT
+ PurgeMS-Res
+ -- optional
+ ERRORS{
+ dataMissing |
+ unexpectedDataValue|
+ unknownSubscriber}
+ CODE local:67 }
+
+sendIdentification OPERATION ::= { --Timer s
+ ARGUMENT
+ SendIdentificationArg
+ RESULT
+ SendIdentificationRes
+ ERRORS {
+ dataMissing |
+ unidentifiedSubscriber}
+ CODE local:55 }
+
+-- gprs location registration operations
+
+updateGprsLocation OPERATION ::= { --Timer m
+ ARGUMENT
+ UpdateGprsLocationArg
+ RESULT
+ UpdateGprsLocationRes
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue |
+ unknownSubscriber |
+ roamingNotAllowed}
+ CODE local:23 }
+
+-- subscriber information enquiry operations
+
+provideSubscriberInfo OPERATION ::= { --Timer m
+ ARGUMENT
+ ProvideSubscriberInfoArg
+ RESULT
+ ProvideSubscriberInfoRes
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue}
+ CODE local:70 }
+
+-- any time information enquiry operations
+
+anyTimeInterrogation OPERATION ::= { --Timer m
+ ARGUMENT
+ AnyTimeInterrogationArg
+ RESULT
+ AnyTimeInterrogationRes
+ ERRORS {
+ systemFailure |
+ ati-NotAllowed |
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:71 }
+
+-- any time information handling operations
+
+anyTimeSubscriptionInterrogation OPERATION ::= { --Timer m
+ ARGUMENT
+ AnyTimeSubscriptionInterrogationArg
+ RESULT
+ AnyTimeSubscriptionInterrogationRes
+ ERRORS {
+ atsi-NotAllowed |
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber |
+ bearerServiceNotProvisioned |
+ teleserviceNotProvisioned |
+ callBarred |
+ illegalSS-Operation |
+ ss-NotAvailable |
+ informationNotAvailable}
+ CODE local:62 }
+
+anyTimeModification OPERATION ::= { --Timer m
+ ARGUMENT
+ AnyTimeModificationArg
+ RESULT
+ AnyTimeModificationRes
+ ERRORS {
+ atm-NotAllowed |
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber |
+ bearerServiceNotProvisioned |
+ teleserviceNotProvisioned |
+ callBarred |
+ illegalSS-Operation |
+ ss-SubscriptionViolation |
+ ss-ErrorStatus |
+ ss-Incompatibility |
+ informationNotAvailable}
+ CODE local:65 }
+
+-- subscriber data modification notification operations
+
+noteSubscriberDataModified OPERATION ::= { --Timer m
+ ARGUMENT
+ NoteSubscriberDataModifiedArg
+ RESULT
+ NoteSubscriberDataModifiedRes
+ -- optional
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:5 }
+
+-- handover operations
+
+prepareHandover OPERATION ::= { --Timer m
+ ARGUMENT
+ PrepareHO-Arg
+ RESULT
+ PrepareHO-Res
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ noHandoverNumberAvailable |
+ targetCellOutsideGroupCallArea }
+ CODE local:68 }
+
+sendEndSignal OPERATION ::= { --Timer l
+ ARGUMENT
+ SendEndSignal-Arg
+ RESULT
+ SendEndSignal-Res
+ CODE local:29 }
+
+processAccessSignalling OPERATION ::= { --Timer s
+ ARGUMENT
+ ProcessAccessSignalling-Arg
+ CODE local:33 }
+
+forwardAccessSignalling OPERATION ::= { --Timer s
+ ARGUMENT
+ ForwardAccessSignalling-Arg
+ CODE local:34 }
+
+prepareSubsequentHandover OPERATION ::= { --Timer m
+ ARGUMENT
+ PrepareSubsequentHO-Arg
+ RESULT
+ PrepareSubsequentHO-Res
+ ERRORS {
+ unexpectedDataValue |
+ dataMissing |
+ unknownMSC |
+ subsequentHandoverFailure}
+ CODE local:69 }
+
+-- authentication management operations
+
+sendAuthenticationInfo OPERATION ::= { --Timer m
+ ARGUMENT
+ SendAuthenticationInfoArg
+ -- optional
+ -- within a dialogue sendAuthenticationInfoArg shall not be present in
+ -- subsequent invoke components. If received in a subsequent invoke component
+ -- it shall be discarded.
+
+ RESULT
+ SendAuthenticationInfoRes
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:56 }
+
+authenticationFailureReport OPERATION ::= { --Timer m
+ ARGUMENT
+ AuthenticationFailureReportArg
+ RESULT
+ AuthenticationFailureReportRes
+ -- optional
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:15 }
+
+-- IMEI management operations
+
+checkIMEI OPERATION ::= { --Timer m
+ ARGUMENT
+ CheckIMEI-Arg
+ RESULT
+ CheckIMEI-Res
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unknownEquipment}
+ CODE local:43 }
+
+-- subscriber management operations
+
+insertSubscriberData OPERATION ::= { --Timer m
+ ARGUMENT
+ InsertSubscriberDataArg
+ RESULT
+ InsertSubscriberDataRes
+ -- optional
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue |
+ unidentifiedSubscriber}
+ CODE local:7 }
+
+deleteSubscriberData OPERATION ::= { --Timer m
+ ARGUMENT
+ DeleteSubscriberDataArg
+ RESULT
+ DeleteSubscriberDataRes
+ -- optional
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue |
+ unidentifiedSubscriber}
+ CODE local:8 }
+
+-- fault recovery operations
+
+reset OPERATION ::= { --Timer m
+ ARGUMENT
+ ResetArg
+ CODE local:37 }
+
+forwardCheckSS-Indication OPERATION ::= { --Timer s
+ CODE local:38 }
+
+restoreData OPERATION ::= { --Timer m
+ ARGUMENT
+ RestoreDataArg
+ RESULT
+ RestoreDataRes
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:57 }
+
+-- gprs location information retrieval operations
+
+sendRoutingInfoForGprs OPERATION ::= { --Timer m
+ ARGUMENT
+ SendRoutingInfoForGprsArg
+ RESULT
+ SendRoutingInfoForGprsRes
+ ERRORS {
+ absentSubscriber |
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber |
+ callBarred }
+ CODE local:24 }
+
+-- failure reporting operations
+
+failureReport OPERATION ::= { --Timer m
+ ARGUMENT
+ FailureReportArg
+ RESULT
+ FailureReportRes
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:25 }
+
+-- gprs notification operations
+
+noteMsPresentForGprs OPERATION ::= { --Timer m
+ ARGUMENT
+ NoteMsPresentForGprsArg
+ RESULT
+ NoteMsPresentForGprsRes
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:26 }
+
+noteMM-Event OPERATION ::= { --Timer m
+ ARGUMENT
+ NoteMM-EventArg
+ RESULT
+ NoteMM-EventRes
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber |
+ mm-EventNotSupported}
+ CODE local:89 }
+
+-- vcsg location registration operations
+
+updateVcsgLocation OPERATION ::= { --Timer m
+ ARGUMENT
+ UpdateVcsgLocationArg
+ RESULT
+ UpdateVcsgLocationRes
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:53 }
+
+cancelVcsgLocation OPERATION ::= { --Timer m
+ ARGUMENT
+ CancelVcsgLocationArg
+ RESULT
+ CancelVcsgLocationRes
+ -- optional
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue}
+ CODE local:36 }
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-OM-DataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-OM-DataTypes.asn
new file mode 100644
index 00000000..8db86101
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-OM-DataTypes.asn
@@ -0,0 +1,492 @@
+-- 17.7.2 Operation and maintenance data types
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+
+MAP-OM-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-OM-DataTypes (12) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+ ActivateTraceModeArg,
+ ActivateTraceModeRes,
+ DeactivateTraceModeArg,
+ DeactivateTraceModeRes,
+ TracePropagationList
+;
+
+IMPORTS
+ AddressString,
+ IMSI,
+ GSN-Address,
+ GlobalCellId,
+ E-UTRAN-CGI,
+ TA-Id,
+ RAIdentity,
+ LAIFixedLength,
+ PLMN-Id
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+
+;
+
+ActivateTraceModeArg ::= SEQUENCE {
+ imsi [0] IMSI OPTIONAL,
+ traceReference [1] TraceReference,
+ traceType [2] TraceType,
+ omc-Id [3] AddressString OPTIONAL,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ...,
+ traceReference2 [5] TraceReference2 OPTIONAL,
+ traceDepthList [6] TraceDepthList OPTIONAL,
+ traceNE-TypeList [7] TraceNE-TypeList OPTIONAL,
+ traceInterfaceList [8] TraceInterfaceList OPTIONAL,
+ traceEventList [9] TraceEventList OPTIONAL,
+ traceCollectionEntity [10] GSN-Address OPTIONAL,
+ mdt-Configuration [11] MDT-Configuration OPTIONAL
+ }
+
+MDT-Configuration ::= SEQUENCE {
+ jobType JobType,
+ areaScope AreaScope OPTIONAL,
+ listOfMeasurements ListOfMeasurements OPTIONAL,
+ reportingTrigger [0] ReportingTrigger OPTIONAL,
+ reportInterval ReportInterval OPTIONAL,
+ reportAmount [1] ReportAmount OPTIONAL,
+ eventThresholdRSRP EventThresholdRSRP OPTIONAL,
+ eventThresholdRSRQ [2] EventThresholdRSRQ OPTIONAL,
+ loggingInterval [3] LoggingInterval OPTIONAL,
+ loggingDuration [4] LoggingDuration OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ ...,
+ measurementPeriodUMTS [6] PeriodUMTS OPTIONAL,
+ measurementPeriodLTE [7] PeriodLTE OPTIONAL,
+ collectionPeriodRRM-UMTS [8] PeriodUMTS OPTIONAL,
+ collectionPeriodRRM-LTE [9] PeriodLTE OPTIONAL,
+ positioningMethod [10] PositioningMethod OPTIONAL,
+ measurementQuantity [11] MeasurementQuantity OPTIONAL,
+ eventThreshold1F [12] EventThreshold1F OPTIONAL,
+ eventThreshold1I [13] EventThreshold1I OPTIONAL,
+ mdt-Allowed-PLMN-List [14] MDT-Allowed-PLMNId-List OPTIONAL }
+
+MDT-Allowed-PLMNId-List ::= SEQUENCE SIZE (1..16) OF
+ PLMN-Id
+PeriodUMTS ::= ENUMERATED {
+ d250ms (0),
+ d500ms (1),
+ d1000ms (2),
+ d2000ms (3),
+ d3000ms (4),
+ d4000ms (5),
+ d6000ms (6),
+ d8000ms (7),
+ d12000ms (8),
+ d16000ms (9),
+ d20000ms (10),
+ d24000ms (11),
+ d28000ms (12),
+ d32000ms (13),
+ d64000ms (14)}
+
+PeriodLTE ::= ENUMERATED {
+ d1024ms (0),
+ d1280ms (1),
+ d2048ms (2),
+ d2560ms (3),
+ d5120ms (4),
+ d10240ms (5),
+ d1min (6)}
+
+PositioningMethod ::= OCTET STRING (SIZE (1))
+ -- Octet is coded as described in 3GPP TS 32.422 [132].
+
+MeasurementQuantity ::= OCTET STRING (SIZE (1))
+ -- Octet is coded as described in 3GPP TS 32.422 [132].
+
+EventThreshold1F ::= INTEGER
+ (-120..165)
+
+EventThreshold1I ::= INTEGER
+ (-120..-25)
+
+JobType ::= ENUMERATED {
+ immediate-MDT-only (0),
+ logged-MDT-only (1),
+ trace-only (2),
+ immediate-MDT-and-trace (3)}
+
+AreaScope ::= SEQUENCE {
+ cgi-List [0] CGI-List OPTIONAL,
+ e-utran-cgi-List [1] E-UTRAN-CGI-List OPTIONAL,
+ routingAreaId-List [2] RoutingAreaId-List OPTIONAL,
+ locationAreaId-List [3] LocationAreaId-List OPTIONAL,
+ trackingAreaId-List [4] TrackingAreaId-List OPTIONAL,
+ extensionContainer [5] ExtensionContainer OPTIONAL,
+ ... }
+
+CGI-List ::= SEQUENCE SIZE (1..32) OF
+ GlobalCellId
+
+E-UTRAN-CGI-List ::= SEQUENCE SIZE (1..32) OF
+ E-UTRAN-CGI
+
+RoutingAreaId-List ::= SEQUENCE SIZE (1..8) OF
+ RAIdentity
+
+LocationAreaId-List ::= SEQUENCE SIZE (1..8) OF
+ LAIFixedLength
+
+TrackingAreaId-List ::= SEQUENCE SIZE (1..8) OF
+ TA-Id
+
+ListOfMeasurements ::= OCTET STRING (SIZE (4))
+ -- Octets are coded as described in 3GPP TS 32.422.
+
+ReportingTrigger ::= OCTET STRING (SIZE (1))
+ -- Octet is coded as described in 3GPP TS 32.422.
+
+ReportInterval ::= ENUMERATED {
+ umts250ms (0),
+ umts500ms (1),
+ umts1000ms (2),
+ umts2000ms (3),
+ umts3000ms (4),
+ umts4000ms (5),
+ umts6000ms (6),
+ umts8000ms (7),
+ umts12000ms (8),
+ umts16000ms (9),
+ umts20000ms (10),
+ umts24000ms (11),
+ umts28000ms (12),
+ umts32000ms (13),
+ umts64000ms (14),
+ lte120ms (15),
+ lte240ms (16),
+ lte480ms (17),
+ lte640ms (18),
+ lte1024ms (19),
+ lte2048ms (20),
+ lte5120ms (21),
+ lte10240ms (22),
+ lte1min (23),
+ lte6min (24),
+ lte12min (25),
+ lte30min (26),
+ lte60min (27)}
+
+
+ReportAmount ::= ENUMERATED {
+ d1 (0),
+ d2 (1),
+ d4 (2),
+ d8 (3),
+ d16 (4),
+ d32 (5),
+ d64 (6),
+ infinity (7)}
+
+EventThresholdRSRP ::= INTEGER
+ (0..97)
+
+EventThresholdRSRQ ::= INTEGER
+ (0..34)
+
+LoggingInterval ::= ENUMERATED {
+ d1dot28 (0),
+ d2dot56 (1),
+ d5dot12 (2),
+ d10dot24 (3),
+ d20dot48 (4),
+ d30dot72 (5),
+ d40dot96 (6),
+ d61dot44 (7)}
+
+LoggingDuration ::= ENUMERATED {
+ d600sec (0),
+ d1200sec (1),
+ d2400sec (2),
+ d3600sec (3),
+ d5400sec (4),
+ d7200sec (5)}
+
+TraceReference ::= OCTET STRING (SIZE (1..2))
+
+TraceReference2 ::= OCTET STRING (SIZE (3))
+
+TraceRecordingSessionReference ::= OCTET STRING (SIZE (2))
+
+TraceType ::= INTEGER
+ (0..255)
+ -- Trace types are fully defined in 3GPP TS 52.008. [61]
+
+TraceDepthList ::= SEQUENCE {
+ msc-s-TraceDepth [0] TraceDepth OPTIONAL,
+ mgw-TraceDepth [1] TraceDepth OPTIONAL,
+ sgsn-TraceDepth [2] TraceDepth OPTIONAL,
+ ggsn-TraceDepth [3] TraceDepth OPTIONAL,
+ rnc-TraceDepth [4] TraceDepth OPTIONAL,
+ bmsc-TraceDepth [5] TraceDepth OPTIONAL,
+ ... ,
+ mme-TraceDepth [6] TraceDepth OPTIONAL,
+ sgw-TraceDepth [7] TraceDepth OPTIONAL,
+ pgw-TraceDepth [8] TraceDepth OPTIONAL,
+ eNB-TraceDepth [9] TraceDepth OPTIONAL,
+ msc-s-TraceDepthExtension [10] TraceDepthExtension OPTIONAL,
+ mgw-TraceDepthExtension [11] TraceDepthExtension OPTIONAL,
+ sgsn-TraceDepthExtension [12] TraceDepthExtension OPTIONAL,
+ ggsn-TraceDepthExtension [13] TraceDepthExtension OPTIONAL,
+ rnc-TraceDepthExtension [14] TraceDepthExtension OPTIONAL,
+ bmsc-TraceDepthExtension [15] TraceDepthExtension OPTIONAL,
+ mme-TraceDepthExtension [16] TraceDepthExtension OPTIONAL,
+ sgw-TraceDepthExtension [17] TraceDepthExtension OPTIONAL,
+ pgw-TraceDepthExtension [18] TraceDepthExtension OPTIONAL,
+ eNB-TraceDepthExtension [19] TraceDepthExtension OPTIONAL }
+
+-- If one of the TraceDepthExtension types is sent, the corresponding TraceDepth type
+-- shall also be sent with the same enumeration value to allow the receiver not supporting
+-- the Extension to fall back to the non extended type.
+-- If one of the TraceDepthExtension types is received and supported, the corresponding
+-- TraceDepth type shall be ignored.
+
+TraceDepth ::= ENUMERATED {
+ minimum (0),
+ medium (1),
+ maximum (2),
+ ...}
+-- The value medium is applicable only for RNC. For other network elements, if value medium
+-- is received, value minimum shall be applied.
+
+TraceDepthExtension ::= ENUMERATED {
+ minimumWithoutVendorSpecificExtension (0),
+ mediumWithoutVendorSpecificExtension (1),
+ maximumWithoutVendorSpecificExtension (2),
+ ...}
+-- The value mediumWithoutVendorSpecificExtension is applicable only for RNC. For other
+-- network elements, if value mediumWithoutVendorSpecificExtension is received, value
+-- minimumWithoutVendorSpecificExtension shall be applied.
+
+TraceNE-TypeList ::= BIT STRING {
+ msc-s (0),
+ mgw (1),
+ sgsn (2),
+ ggsn (3),
+ rnc (4),
+ bm-sc (5) ,
+ mme (6),
+ sgw (7),
+ pgw (8),
+ eNB (9)} (SIZE (6..16))
+-- Other bits than listed above shall be discarded.
+
+TraceInterfaceList ::= SEQUENCE {
+ msc-s-List [0] MSC-S-InterfaceList OPTIONAL,
+ mgw-List [1] MGW-InterfaceList OPTIONAL,
+ sgsn-List [2] SGSN-InterfaceList OPTIONAL,
+ ggsn-List [3] GGSN-InterfaceList OPTIONAL,
+ rnc-List [4] RNC-InterfaceList OPTIONAL,
+ bmsc-List [5] BMSC-InterfaceList OPTIONAL,
+ ...,
+ mme-List [6] MME-InterfaceList OPTIONAL,
+ sgw-List [7] SGW-InterfaceList OPTIONAL,
+ pgw-List [8] PGW-InterfaceList OPTIONAL,
+ eNB-List [9] ENB-InterfaceList OPTIONAL}
+
+MSC-S-InterfaceList ::= BIT STRING {
+ a (0),
+ iu (1),
+ mc (2),
+ map-g (3),
+ map-b (4),
+ map-e (5),
+ map-f (6),
+ cap (7),
+ map-d (8),
+ map-c (9)} (SIZE (10..16))
+-- Other bits than listed above shall be discarded.
+
+MGW-InterfaceList ::= BIT STRING {
+ mc (0),
+ nb-up (1),
+ iu-up (2)} (SIZE (3..8))
+-- Other bits than listed above shall be discarded.
+
+SGSN-InterfaceList ::= BIT STRING {
+ gb (0),
+ iu (1),
+ gn (2),
+ map-gr (3),
+ map-gd (4),
+ map-gf (5),
+ gs (6),
+ ge (7),
+ s3 (8),
+ s4 (9),
+ s6d (10)} (SIZE (8..16))
+-- Other bits than listed above shall be discarded.
+
+GGSN-InterfaceList ::= BIT STRING {
+ gn (0),
+ gi (1),
+ gmb (2)} (SIZE (3..8))
+-- Other bits than listed above shall be discarded.
+
+RNC-InterfaceList ::= BIT STRING {
+ iu (0),
+ iur (1),
+ iub (2),
+ uu (3)} (SIZE (4..8))
+-- Other bits than listed above shall be discarded.
+
+BMSC-InterfaceList ::= BIT STRING {
+ gmb (0)} (SIZE (1..8))
+-- Other bits than listed above shall be discarded.
+
+MME-InterfaceList ::= BIT STRING {
+ s1-mme (0),
+ s3 (1),
+ s6a (2),
+ s10 (3),
+ s11 (4)} (SIZE (5..8))
+-- Other bits than listed above shall be discarded.
+
+SGW-InterfaceList ::= BIT STRING {
+ s4 (0),
+ s5 (1),
+ s8b (2),
+ s11 (3),
+ gxc (4)} (SIZE (5..8))
+-- Other bits than listed above shall be discarded.
+
+PGW-InterfaceList ::= BIT STRING {
+ s2a (0),
+ s2b (1),
+ s2c (2),
+ s5 (3),
+ s6b (4),
+ gx (5),
+ s8b (6),
+ sgi (7)} (SIZE (8..16))
+-- Other bits than listed above shall be discarded.
+
+ENB-InterfaceList ::= BIT STRING {
+ s1-mme (0),
+ x2 (1),
+ uu (2)} (SIZE (3..8))
+-- Other bits than listed above shall be discarded.
+
+TraceEventList ::= SEQUENCE {
+ msc-s-List [0] MSC-S-EventList OPTIONAL,
+ mgw-List [1] MGW-EventList OPTIONAL,
+ sgsn-List [2] SGSN-EventList OPTIONAL,
+ ggsn-List [3] GGSN-EventList OPTIONAL,
+ bmsc-List [4] BMSC-EventList OPTIONAL,
+ ...,
+ mme-List [5] MME-EventList OPTIONAL,
+ sgw-List [6] SGW-EventList OPTIONAL,
+ pgw-List [7] PGW-EventList OPTIONAL}
+
+MSC-S-EventList ::= BIT STRING {
+ mo-mtCall (0),
+ mo-mt-sms (1),
+ lu-imsiAttach-imsiDetach (2),
+ handovers (3),
+ ss (4)} (SIZE (5..16))
+-- Other bits than listed above shall be discarded.
+
+MGW-EventList ::= BIT STRING {
+ context (0)} (SIZE (1..8))
+-- Other bits than listed above shall be discarded.
+
+SGSN-EventList ::= BIT STRING {
+ pdpContext (0),
+ mo-mt-sms (1),
+ rau-gprsAttach-gprsDetach (2),
+ mbmsContext (3)} (SIZE (4..16))
+-- Other bits than listed above shall be discarded.
+
+GGSN-EventList ::= BIT STRING {
+ pdpContext (0),
+ mbmsContext (1)} (SIZE (2..8))
+-- Other bits than listed above shall be discarded.
+
+BMSC-EventList ::= BIT STRING {
+ mbmsMulticastServiceActivation (0)} (SIZE (1..8))
+-- Other bits than listed above shall be discarded.
+
+MME-EventList ::= BIT STRING {
+ ue-initiatedPDNconectivityRequest (0),
+ serviceRequestts (1),
+ initialAttachTrackingAreaUpdateDetach (2),
+ ue-initiatedPDNdisconnection (3),
+ bearerActivationModificationDeletion (4),
+ handover (5)} (SIZE (6..8))
+-- Other bits than listed above shall be discarded.
+
+SGW-EventList ::= BIT STRING {
+ pdn-connectionCreation (0),
+ pdn-connectionTermination (1),
+ bearerActivationModificationDeletion (2)} (SIZE (3..8))
+-- Other bits than listed above shall be discarded.
+
+PGW-EventList ::= BIT STRING {
+ pdn-connectionCreation (0),
+ pdn-connectionTermination (1),
+ bearerActivationModificationDeletion (2)} (SIZE (3..8))
+-- Other bits than listed above shall be discarded.
+
+TracePropagationList ::= SEQUENCE {
+ traceReference [0] TraceReference OPTIONAL,
+ traceType [1] TraceType OPTIONAL,
+ traceReference2 [2] TraceReference2 OPTIONAL,
+ traceRecordingSessionReference [3] TraceRecordingSessionReference OPTIONAL,
+ rnc-TraceDepth [4] TraceDepth OPTIONAL,
+ rnc-InterfaceList [5] RNC-InterfaceList OPTIONAL,
+ msc-s-TraceDepth [6] TraceDepth OPTIONAL,
+ msc-s-InterfaceList [7] MSC-S-InterfaceList OPTIONAL,
+ msc-s-EventList [8] MSC-S-EventList OPTIONAL,
+ mgw-TraceDepth [9] TraceDepth OPTIONAL,
+ mgw-InterfaceList [10] MGW-InterfaceList OPTIONAL,
+ mgw-EventList [11] MGW-EventList OPTIONAL,
+ ...,
+ rnc-TraceDepthExtension [12] TraceDepthExtension OPTIONAL,
+ msc-s-TraceDepthExtension [13] TraceDepthExtension OPTIONAL,
+ mgw-TraceDepthExtension [14] TraceDepthExtension OPTIONAL
+}
+-- If one of the TraceDepthExtension types is sent, the corresponding TraceDepth type
+-- shall also be sent with the same enumeration value to allow the receiver not supporting
+-- the Extension to fall back to the non extended type.
+-- If one of the TraceDepthExtension types is received and supported, the corresponding
+-- TraceDepth type shall be ignored.
+
+ActivateTraceModeRes ::= SEQUENCE {
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...,
+ traceSupportIndicator [1] NULL OPTIONAL
+ }
+
+DeactivateTraceModeArg ::= SEQUENCE {
+ imsi [0] IMSI OPTIONAL,
+ traceReference [1] TraceReference,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ traceReference2 [3] TraceReference2 OPTIONAL
+ }
+
+DeactivateTraceModeRes ::= SEQUENCE {
+ extensionContainer [0] ExtensionContainer OPTIONAL,
+ ...}
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-OperationAndMaintenanceOperations.asn b/epan/dissectors/asn1/gsm_map/MAP-OperationAndMaintenanceOperations.asn
new file mode 100644
index 00000000..1e60e510
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-OperationAndMaintenanceOperations.asn
@@ -0,0 +1,93 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+--17.6.2 Operation and Maintenance Operations
+MAP-OperationAndMaintenanceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6)
+ version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+EXPORTS
+ activateTraceMode,
+ deactivateTraceMode,
+ sendIMSI
+;
+
+IMPORTS
+ OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+
+ systemFailure,
+ dataMissing,
+ unexpectedDataValue,
+ facilityNotSupported,
+ unknownSubscriber,
+ unidentifiedSubscriber,
+ tracingBufferFull
+FROM MAP-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Errors (10) version20 (20)}
+
+ ActivateTraceModeArg,
+ ActivateTraceModeRes,
+ DeactivateTraceModeArg,
+ DeactivateTraceModeRes
+FROM MAP-OM-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-OM-DataTypes (12) version20 (20)}
+
+ ISDN-AddressString,
+ IMSI
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+;
+
+
+activateTraceMode OPERATION ::= { --Timer m
+ ARGUMENT
+ ActivateTraceModeArg
+ RESULT
+ ActivateTraceModeRes
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ facilityNotSupported |
+ unidentifiedSubscriber |
+ tracingBufferFull}
+ CODE local:50 }
+
+deactivateTraceMode OPERATION ::= { --Timer m
+ ARGUMENT
+ DeactivateTraceModeArg
+ RESULT
+ DeactivateTraceModeRes
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ facilityNotSupported |
+ unidentifiedSubscriber}
+ CODE local:51 }
+
+sendIMSI OPERATION ::= { --Timer m
+ ARGUMENT
+ ISDN-AddressString
+ RESULT
+ IMSI
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:58 }
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-Protocol.asn b/epan/dissectors/asn1/gsm_map/MAP-Protocol.asn
new file mode 100644
index 00000000..b6163266
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-Protocol.asn
@@ -0,0 +1,177 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+--17.5 MAP operation and error codes
+
+MAP-Protocol {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Protocol (4) version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+IMPORTS
+OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+ updateLocation,
+ cancelLocation,
+ cancelVcsgLocation,
+ purgeMS,
+ sendIdentification,
+ updateGprsLocation,
+ updateVcsgLocation,
+ prepareHandover,
+ sendEndSignal,
+ processAccessSignalling,
+ forwardAccessSignalling,
+ prepareSubsequentHandover,
+ sendAuthenticationInfo,
+authenticationFailureReport,
+ checkIMEI,
+ insertSubscriberData,
+ deleteSubscriberData,
+ reset,
+ forwardCheckSS-Indication,
+ restoreData,
+ provideSubscriberInfo,
+ anyTimeInterrogation,
+ anyTimeSubscriptionInterrogation,
+ anyTimeModification,
+ sendRoutingInfoForGprs,
+ failureReport,
+ noteMsPresentForGprs,
+ noteMM-Event,
+ noteSubscriberDataModified
+
+
+FROM MAP-MobileServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MobileServiceOperations (5)
+ version20 (20)}
+
+ activateTraceMode,
+ deactivateTraceMode,
+ sendIMSI
+FROM MAP-OperationAndMaintenanceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6)
+ version20 (20)}
+
+ sendRoutingInfo,
+ provideRoamingNumber,
+ resumeCallHandling,
+ setReportingState,
+ statusReport,
+ remoteUserFree,
+ ist-Alert,
+ ist-Command,
+ releaseResources
+FROM MAP-CallHandlingOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CallHandlingOperations (7)
+ version20 (20)}
+
+ registerSS,
+ eraseSS,
+ activateSS,
+ deactivateSS,
+ interrogateSS,
+ processUnstructuredSS-Request,
+ unstructuredSS-Request,
+ unstructuredSS-Notify,
+ registerPassword,
+ getPassword,
+ ss-InvocationNotification,
+ registerCC-Entry,
+ eraseCC-Entry
+FROM MAP-SupplementaryServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8)
+ version20 (20)}
+
+ sendRoutingInfoForSM,
+ mo-ForwardSM,
+ mt-ForwardSM,
+ reportSM-DeliveryStatus,
+ alertServiceCentre,
+ informServiceCentre,
+ readyForSM,
+ mt-ForwardSM-VGCS
+FROM MAP-ShortMessageServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9)
+ version20 (20)}
+
+ prepareGroupCall,
+ processGroupCallSignalling,
+ forwardGroupCallSignalling,
+ sendGroupCallEndSignal,
+ sendGroupCallInfo
+FROM MAP-Group-Call-Operations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Group-Call-Operations (22)
+ version20 (20)}
+
+ provideSubscriberLocation,
+ sendRoutingInfoForLCS,
+ subscriberLocationReport
+FROM MAP-LocationServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-LocationServiceOperations (24)
+ version20 (20)}
+
+
+;
+Supported-MAP-Operations OPERATION ::= {updateLocation | cancelLocation | cancelVcsgLocation |
+purgeMS |
+sendIdentification | updateGprsLocation | updateVcsgLocation | prepareHandover | sendEndSignal |
+processAccessSignalling | forwardAccessSignalling | prepareSubsequentHandover |
+sendAuthenticationInfo | authenticationFailureReport | checkIMEI | insertSubscriberData |
+deleteSubscriberData | reset | forwardCheckSS-Indication | restoreData | provideSubscriberInfo |
+anyTimeInterrogation | anyTimeSubscriptionInterrogation | anyTimeModification |
+sendRoutingInfoForGprs | failureReport |noteMsPresentForGprs | noteMM-Event |
+noteSubscriberDataModified | activateTraceMode | deactivateTraceMode | sendIMSI |
+sendRoutingInfo | provideRoamingNumber | resumeCallHandling | setReportingState | statusReport |
+remoteUserFree | ist-Alert |
+ist-Command | registerSS | eraseSS | activateSS | deactivateSS | interrogateSS |
+processUnstructuredSS-Request | unstructuredSS-Request | unstructuredSS-Notify |
+registerPassword | getPassword | ss-InvocationNotification | registerCC-Entry | eraseCC-Entry |
+sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM | reportSM-DeliveryStatus |
+alertServiceCentre | informServiceCentre | readyForSM | prepareGroupCall |
+processGroupCallSignalling | forwardGroupCallSignalling | sendGroupCallEndSignal |
+provideSubscriberLocation | sendRoutingInfoForLCS | subscriberLocationReport |
+releaseResources | mt-ForwardSM-VGCS | sendGroupCallInfo }
+
+
+
+-- The following operation codes are reserved for operations
+-- existing in previous versions of the protocol
+
+-- Operation Name AC used Oper. Code
+--
+-- sendParameters map-ac infoRetrieval (14) version1 (1) local:9
+-- processUnstructuredSS-Data map-ac networkFunctionalSs (18) version1 (1) local:19
+-- performHandover map-ac handoverControl (11) version1 (1) local:28
+-- performSubsequentHandover map-ac handoverControl (11) version1 (1) local:30
+-- provideSIWFSNumber map-ac sIWFSAllocation (12) version3 (3) local:31
+-- siwfs-SignallingModify map-ac sIWFSAllocation (12) version3 (3) local:32
+-- noteInternalHandover map-ac handoverControl (11) version1 (1) local:35
+-- noteSubscriberPresent map-ac mwdMngt (24) version1 (1) local:48
+-- alertServiceCentreWithoutResult map-ac shortMsgAlert (23) version1 (1) local:49
+-- traceSubscriberActivity map-ac handoverControl (11) version1 (1) local:52
+-- beginSubscriberActivity map-ac networkFunctionalSs (18) version1 (1) local:54
+
+-- The following error codes are reserved for errors
+-- existing in previous versions of the protocol
+
+-- Error Name AC used Error Code
+--
+-- unknownBaseStation map-ac handoverControl (11) version1 (1) local:2
+-- invalidTargetBaseStation map-ac handoverControl (11) version1 (1) local:23
+-- noRadioResourceAvailable map-ac handoverControl (11) version1 (1) local:24
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-SM-DataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-SM-DataTypes.asn
new file mode 100644
index 00000000..b269b3e5
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-SM-DataTypes.asn
@@ -0,0 +1,380 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.7.6 Short message data types
+
+MAP-SM-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SM-DataTypes (16) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+ RoutingInfoForSM-Arg,
+ RoutingInfoForSM-Res,
+ MO-ForwardSM-Arg,
+ MO-ForwardSM-Res,
+ MT-ForwardSM-Arg,
+ MT-ForwardSM-Res,
+ ReportSM-DeliveryStatusArg,
+ ReportSM-DeliveryStatusRes,
+ AlertServiceCentreArg,
+ InformServiceCentreArg,
+ ReadyForSM-Arg,
+ ReadyForSM-Res,
+ SM-DeliveryOutcome,
+ AlertReason,
+ Additional-Number,
+ MT-ForwardSM-VGCS-Arg,
+ MT-ForwardSM-VGCS-Res
+;
+
+IMPORTS
+ AddressString,
+ ISDN-AddressString,
+ SignalInfo,
+ IMSI,
+ LMSI,
+ ASCI-CallReference,
+ Time,
+ NetworkNodeDiameterAddress,
+ HLR-Id
+
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+ AbsentSubscriberDiagnosticSM
+FROM MAP-ER-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ER-DataTypes (17) version20 (20)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+;
+
+
+RoutingInfoForSM-Arg ::= SEQUENCE {
+ msisdn [0] ISDN-AddressString,
+ sm-RP-PRI [1] BOOLEAN,
+ serviceCentreAddress [2] AddressString,
+ extensionContainer [6] ExtensionContainer OPTIONAL,
+ ... ,
+ gprsSupportIndicator [7] NULL OPTIONAL,
+ -- gprsSupportIndicator is set only if the SMS-GMSC supports
+ -- receiving of two numbers from the HLR
+ sm-RP-MTI [8] SM-RP-MTI OPTIONAL,
+ sm-RP-SMEA [9] SM-RP-SMEA OPTIONAL,
+ sm-deliveryNotIntended [10] SM-DeliveryNotIntended OPTIONAL,
+ ip-sm-gwGuidanceIndicator [11] NULL OPTIONAL,
+ imsi [12] IMSI OPTIONAL,
+ t4-Trigger-Indicator [14] NULL OPTIONAL,
+ singleAttemptDelivery [13] NULL OPTIONAL,
+ correlationID [15] CorrelationID OPTIONAL,
+ smsf-supportIndicator [16] NULL OPTIONAL }
+
+SM-DeliveryNotIntended ::= ENUMERATED {
+ onlyIMSI-requested (0),
+ onlyMCC-MNC-requested (1),
+ ...}
+
+SM-RP-MTI ::= INTEGER (0..10)
+ -- 0 SMS Deliver
+ -- 1 SMS Status Report
+ -- other values are reserved for future use and shall be discarded if
+ -- received
+
+SM-RP-SMEA ::= OCTET STRING (SIZE (1..12))
+ -- this parameter contains an address field which is encoded
+ -- as defined in 3GPP TS 23.040. An address field contains 3 elements :
+ -- address-length
+ -- type-of-address
+ -- address-value
+
+RoutingInfoForSM-Res ::= SEQUENCE {
+ imsi IMSI,
+ locationInfoWithLMSI [0] LocationInfoWithLMSI,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ...,
+ ip-sm-gwGuidance [5] IP-SM-GW-Guidance OPTIONAL }
+
+IP-SM-GW-Guidance ::= SEQUENCE {
+ minimumDeliveryTimeValue SM-DeliveryTimerValue,
+ recommendedDeliveryTimeValue SM-DeliveryTimerValue,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+LocationInfoWithLMSI ::= SEQUENCE {
+ networkNode-Number [1] ISDN-AddressString,
+ lmsi LMSI OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ gprsNodeIndicator [5] NULL OPTIONAL,
+ -- gprsNodeIndicator is set only if the SGSN number is sent as the
+ -- Network Node Number
+ additional-Number [6] Additional-Number OPTIONAL,
+ networkNodeDiameterAddress [7] NetworkNodeDiameterAddress OPTIONAL,
+ additionalNetworkNodeDiameterAddress [8] NetworkNodeDiameterAddress OPTIONAL,
+ thirdNumber [9] Additional-Number OPTIONAL,
+ thirdNetworkNodeDiameterAddress [10] NetworkNodeDiameterAddress OPTIONAL,
+ imsNodeIndicator [11] NULL OPTIONAL,
+ -- gprsNodeIndicator and imsNodeIndicator shall not both be present.
+ -- additionalNumber and thirdNumber shall not both contain the same type of number.
+ smsf-3gpp-Number [12] ISDN-AddressString OPTIONAL,
+ smsf-3gpp-DiameterAddress [13] NetworkNodeDiameterAddress OPTIONAL,
+ smsf-non-3gpp-Number [14] ISDN-AddressString OPTIONAL,
+ smsf-non-3gpp-DiameterAddress [15] NetworkNodeDiameterAddress OPTIONAL,
+ smsf-3gpp-address-indicator [16] NULL OPTIONAL,
+ smsf-non-3gpp-address-indicator [17] NULL OPTIONAL
+ --
+ -- If smsf-supportIndicator was not included in the request, in RoutingInfoForSM-Arg,
+ -- then smsf-3gpp Number/DiameterAddress, smsf-non-3gpp Number/DiameterAddress and
+ -- smsf-address-indicator and smsf-non-3gpp-address-indicator shall be absent.
+ --
+ -- If smsf-3gpp-address-indicator is present, it indicates that the networkNode-Number
+ -- (and networkNodeDiameterAddress, if present) contains the address of an SMSF for
+ -- 3GPP access.
+ --
+ -- If smsf-non-3gpp-address-indicator is present, it indicates that the
+ -- networkNode-Number (and networkNodeDiameterAddress, if present) contains the
+ -- address of an SMSF for non 3GPP access.
+ --
+ -- At most one of gprsNodeIndicator, imsNodeIndicator, smsf-3gpp-address-indicator
+ -- and smsf-non-3gpp-address-indicator shall be present. Absence of all these
+ -- indicators indicate that the networkNode-Number (and networkNodeDiameterAddress,
+ -- if present) contains the address of an MSC/MME.
+
+ }
+
+Additional-Number ::= CHOICE {
+ msc-Number [0] ISDN-AddressString,
+ sgsn-Number [1] ISDN-AddressString}
+ -- msc-number can be the MSC number or
+ -- the SMS Router number or the MME number for MT SMS
+ -- sgsn-number can be the SGSN number or the SMS Router number
+
+MO-ForwardSM-Arg ::= SEQUENCE {
+ sm-RP-DA SM-RP-DA,
+ sm-RP-OA SM-RP-OA,
+ sm-RP-UI SignalInfo,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ imsi IMSI OPTIONAL,
+ correlationID [0] CorrelationID OPTIONAL,
+ sm-DeliveryOutcome [1] SM-DeliveryOutcome OPTIONAL
+ }
+
+MO-ForwardSM-Res ::= SEQUENCE {
+ sm-RP-UI SignalInfo OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+MT-ForwardSM-Arg ::= SEQUENCE {
+ sm-RP-DA SM-RP-DA,
+ sm-RP-OA SM-RP-OA,
+ sm-RP-UI SignalInfo,
+ moreMessagesToSend NULL OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ smDeliveryTimer SM-DeliveryTimerValue OPTIONAL,
+ smDeliveryStartTime Time OPTIONAL,
+ smsOverIP-OnlyIndicator [0] NULL OPTIONAL,
+ correlationID [1] CorrelationID OPTIONAL,
+ maximumRetransmissionTime [2] Time OPTIONAL,
+ smsGmscAddress [3] ISDN-AddressString OPTIONAL,
+ smsGmscDiameterAddress [4] NetworkNodeDiameterAddress OPTIONAL }
+ -- SM-DeliveryTimerValue contains the value used by the SMS-GMSC
+
+CorrelationID ::= SEQUENCE {
+ hlr-id [0] HLR-Id OPTIONAL,
+ sip-uri-A [1] SIP-URI OPTIONAL,
+ sip-uri-B [2] SIP-URI}
+
+SIP-URI ::= OCTET STRING
+-- octets are coded as defined in IETF RFC 3261
+
+MT-ForwardSM-Res ::= SEQUENCE {
+ sm-RP-UI SignalInfo OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... }
+
+SM-RP-DA ::= CHOICE {
+ imsi [0] IMSI,
+ lmsi [1] LMSI,
+ serviceCentreAddressDA [4] AddressString,
+ noSM-RP-DA [5] NULL}
+
+SM-RP-OA ::= CHOICE {
+ msisdn [2] ISDN-AddressString,
+ serviceCentreAddressOA [4] AddressString,
+ noSM-RP-OA [5] NULL}
+
+SM-DeliveryTimerValue ::= INTEGER (30..600)
+
+ReportSM-DeliveryStatusArg ::= SEQUENCE {
+ msisdn ISDN-AddressString,
+ serviceCentreAddress AddressString,
+ sm-DeliveryOutcome SM-DeliveryOutcome,
+ absentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM
+ OPTIONAL,
+ extensionContainer [1] ExtensionContainer OPTIONAL,
+ ...,
+ gprsSupportIndicator [2] NULL OPTIONAL,
+ -- gprsSupportIndicator is set only if the SMS-GMSC supports
+ -- handling of two delivery outcomes
+ deliveryOutcomeIndicator [3] NULL OPTIONAL,
+ -- DeliveryOutcomeIndicator is set when the SM-DeliveryOutcome
+ -- is for GPRS
+ additionalSM-DeliveryOutcome [4] SM-DeliveryOutcome OPTIONAL,
+ -- If received, additionalSM-DeliveryOutcome is for GPRS
+ -- If DeliveryOutcomeIndicator is set, then AdditionalSM-DeliveryOutcome shall be absent
+ additionalAbsentSubscriberDiagnosticSM [5] AbsentSubscriberDiagnosticSM OPTIONAL,
+ -- If received additionalAbsentSubscriberDiagnosticSM is for GPRS
+ -- If DeliveryOutcomeIndicator is set, then AdditionalAbsentSubscriberDiagnosticSM
+ -- shall be absent
+ ip-sm-gw-Indicator [6] NULL OPTIONAL,
+ -- the ip-sm-gw indicator indicates by its presence that sm-deliveryOutcome
+ -- is for delivery via IMS
+ -- If present, deliveryOutcomeIndicator shall be absent.
+ ip-sm-gw-sm-deliveryOutcome [7] SM-DeliveryOutcome OPTIONAL,
+ -- If received ip-sm-gw-sm-deliveryOutcome is for delivery via IMS
+ -- If ip-sm-gw-Indicator is set, then ip-sm-gw-sm-deliveryOutcome shall be absent
+ ip-sm-gw-absentSubscriberDiagnosticSM [8] AbsentSubscriberDiagnosticSM OPTIONAL,
+ -- If received ip-sm-gw-sm-absentSubscriberDiagnosticSM is for delivery via IMS
+ -- If ip-sm-gw-Indicator is set, then ip-sm-gw-sm-absentSubscriberDiagnosticSM
+ -- shall be absent
+ imsi [9] IMSI OPTIONAL,
+ singleAttemptDelivery [10] NULL OPTIONAL,
+ correlationID [11] CorrelationID OPTIONAL,
+ smsf-3gpp-deliveryOutcomeIndicator [12] NULL OPTIONAL,
+ -- smsf-3gpp-deliveryOutcome is set when the SM-DeliveryOutcome
+ -- is for 3GPP-SMSF
+ smsf-3gpp-deliveryOutcome [13] SM-DeliveryOutcome OPTIONAL,
+ -- If smsf-3gpp-deliveryOutcomeIndicator is set, then smsf-3gpp-deliveryOutcome
+ -- shall be absent
+ smsf-3gpp-absentSubscriberDiagSM [14] AbsentSubscriberDiagnosticSM OPTIONAL,
+ -- If smsf-3gpp-deliveryOutcomeIndicator is set, then
+ -- smsf-3gpp-absentSubscriberDiagSM shall be absent
+ smsf-non-3gpp-deliveryOutcomeIndicator [15] NULL OPTIONAL,
+ -- smsf-non-3gpp-deliveryOutcomeIndicator is set when the SM-DeliveryOutcome
+ -- is for non-3GPP-SMSF
+ smsf-non-3gpp-deliveryOutcome [16] SM-DeliveryOutcome OPTIONAL,
+ -- If smsf-non-3gpp-deliveryOutcomeIndicator is set, then smsf-non-3gpp-deliveryOutcome
+ -- shall be absent
+ smsf-non-3gpp-absentSubscriberDiagSM [17] AbsentSubscriberDiagnosticSM OPTIONAL
+ -- If smsf-non-3gpp-deliveryOutcomeIndicator is set, then
+ -- smsf-non-3gpp-absentSubscriberDiagSM shall be absent
+
+}
+
+SM-DeliveryOutcome ::= ENUMERATED {
+ memoryCapacityExceeded (0),
+ absentSubscriber (1),
+ successfulTransfer (2)}
+
+ReportSM-DeliveryStatusRes ::= SEQUENCE {
+ storedMSISDN ISDN-AddressString OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+AlertServiceCentreArg ::= SEQUENCE {
+ msisdn ISDN-AddressString,
+ serviceCentreAddress AddressString,
+ ...,
+ imsi IMSI OPTIONAL,
+ correlationID CorrelationID OPTIONAL,
+ maximumUeAvailabilityTime [0] Time OPTIONAL,
+ smsGmscAlertEvent [1] SmsGmsc-Alert-Event OPTIONAL,
+ smsGmscDiameterAddress [2] NetworkNodeDiameterAddress OPTIONAL,
+ newSGSNNumber [3] ISDN-AddressString OPTIONAL,
+ newSGSNDiameterAddress [4] NetworkNodeDiameterAddress OPTIONAL,
+ newMMENumber [5] ISDN-AddressString OPTIONAL,
+ newMMEDiameterAddress [6] NetworkNodeDiameterAddress OPTIONAL,
+ newMSCNumber [7] ISDN-AddressString OPTIONAL }
+
+SmsGmsc-Alert-Event ::= ENUMERATED {
+ msAvailableForMtSms (0),
+ msUnderNewServingNode (1) }
+
+InformServiceCentreArg ::= SEQUENCE {
+ storedMSISDN ISDN-AddressString OPTIONAL,
+ mw-Status MW-Status OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ... ,
+ absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL,
+ additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL,
+ -- additionalAbsentSubscriberDiagnosticSM may be present only if
+ -- absentSubscriberDiagnosticSM is present.
+ -- if included, additionalAbsentSubscriberDiagnosticSM is for GPRS and
+ -- absentSubscriberDiagnosticSM is for non-GPRS
+ smsf3gppAbsentSubscriberDiagnosticSM [1] AbsentSubscriberDiagnosticSM OPTIONAL,
+ smsfNon3gppAbsentSubscriberDiagnosticSM [2] AbsentSubscriberDiagnosticSM OPTIONAL }
+
+MW-Status ::= BIT STRING {
+ sc-AddressNotIncluded (0),
+ mnrf-Set (1),
+ mcef-Set (2) ,
+ mnrg-Set (3),
+ mnr5g-Set (4),
+ mnr5gn3g-Set (5)} (SIZE (6..16))
+ -- exception handling:
+ -- bits 6 to 15 shall be ignored if received and not understood
+
+ReadyForSM-Arg ::= SEQUENCE {
+ imsi [0] IMSI,
+ alertReason AlertReason,
+ alertReasonIndicator NULL OPTIONAL,
+ -- alertReasonIndicator is set only when the alertReason
+ -- sent to HLR is for GPRS
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ additionalAlertReasonIndicator [1] NULL OPTIONAL,
+ -- additionalAlertReasonIndicator is set only when the alertReason
+ -- sent to HLR is for IP-SM-GW
+ maximumUeAvailabilityTime Time OPTIONAL }
+
+ReadyForSM-Res ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+AlertReason ::= ENUMERATED {
+ ms-Present (0),
+ memoryAvailable (1)}
+
+MT-ForwardSM-VGCS-Arg ::= SEQUENCE {
+ asciCallReference ASCI-CallReference,
+ sm-RP-OA SM-RP-OA,
+ sm-RP-UI SignalInfo,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...}
+
+MT-ForwardSM-VGCS-Res ::= SEQUENCE {
+ sm-RP-UI [0] SignalInfo OPTIONAL,
+ dispatcherList [1] DispatcherList OPTIONAL,
+ ongoingCall NULL OPTIONAL,
+ extensionContainer [2] ExtensionContainer OPTIONAL,
+ ...,
+ additionalDispatcherList [3] AdditionalDispatcherList OPTIONAL }
+ -- additionalDispatcherList shall be absent if dispatcherList is absent or
+ -- contains less than 5 ISDN-AddressStrings
+
+DispatcherList ::=
+ SEQUENCE SIZE (1..maxNumOfDispatchers) OF
+ ISDN-AddressString
+
+maxNumOfDispatchers INTEGER ::= 5
+
+AdditionalDispatcherList ::=
+ SEQUENCE SIZE (1..maxNumOfAdditionalDispatchers) OF
+ ISDN-AddressString
+
+maxNumOfAdditionalDispatchers INTEGER ::= 15
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-SS-Code.asn b/epan/dissectors/asn1/gsm_map/MAP-SS-Code.asn
new file mode 100644
index 00000000..74b347a7
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-SS-Code.asn
@@ -0,0 +1,188 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.7.5 Supplementary service codes
+
+MAP-SS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-Code (15) version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+SS-Code ::= OCTET STRING (SIZE (1))
+ -- This type is used to represent the code identifying a single
+ -- supplementary service, a group of supplementary services, or
+ -- all supplementary services. The services and abbreviations
+ -- used are defined in TS 3GPP TS 22.004 [5]. The internal structure is
+ -- defined as follows:
+ --
+ -- bits 87654321: group (bits 8765), and specific service
+ -- (bits 4321)
+
+allSS SS-Code ::= '00000000'B
+ -- reserved for possible future use
+ -- all SS
+
+allLineIdentificationSS SS-Code ::= '00010000'B
+ -- reserved for possible future use
+ -- all line identification SS
+clip SS-Code ::= '00010001'B
+ -- calling line identification presentation
+clir SS-Code ::= '00010010'B
+ -- calling line identification restriction
+colp SS-Code ::= '00010011'B
+ -- connected line identification presentation
+colr SS-Code ::= '00010100'B
+ -- connected line identification restriction
+mci SS-Code ::= '00010101'B
+ -- reserved for possible future use
+ -- malicious call identification
+
+allNameIdentificationSS SS-Code ::= '00011000'B
+ -- all name identification SS
+cnap SS-Code ::= '00011001'B
+ -- calling name presentation
+
+ -- SS-Codes '00011010'B to '00011111'B are reserved for future
+ -- NameIdentification Supplementary Service use.
+
+allForwardingSS SS-Code ::= '00100000'B
+ -- all forwarding SS
+cfu SS-Code ::= '00100001'B
+ -- call forwarding unconditional
+allCondForwardingSS SS-Code ::= '00101000'B
+ -- all conditional forwarding SS
+cfb SS-Code ::= '00101001'B
+ -- call forwarding on mobile subscriber busy
+cfnry SS-Code ::= '00101010'B
+ -- call forwarding on no reply
+cfnrc SS-Code ::= '00101011'B
+ -- call forwarding on mobile subscriber not reachable
+cd SS-Code ::= '00100100'B
+ -- call deflection
+
+allCallOfferingSS SS-Code ::= '00110000'B
+ -- reserved for possible future use
+ -- all call offering SS includes also all forwarding SS
+ect SS-Code ::= '00110001'B
+ -- explicit call transfer
+mah SS-Code ::= '00110010'B
+ -- reserved for possible future use
+ -- mobile access hunting
+
+allCallCompletionSS SS-Code ::= '01000000'B
+ -- reserved for possible future use
+ -- all Call completion SS
+cw SS-Code ::= '01000001'B
+ -- call waiting
+hold SS-Code ::= '01000010'B
+ -- call hold
+ccbs-A SS-Code ::= '01000011'B
+ -- completion of call to busy subscribers, originating side
+ -- this SS-Code is used only in InsertSubscriberData, DeleteSubscriberData
+ -- and InterrogateSS
+ccbs-B SS-Code ::= '01000100'B
+ -- completion of call to busy subscribers, destination side
+ -- this SS-Code is used only in InsertSubscriberData and DeleteSubscriberData
+mc SS-Code ::= '01000101'B
+ -- multicall
+
+allMultiPartySS SS-Code ::= '01010000'B
+ -- reserved for possible future use
+ -- all multiparty SS
+multiPTY SS-Code ::= '01010001'B
+ -- multiparty
+
+allCommunityOfInterest-SS SS-Code ::= '01100000'B
+ -- reserved for possible future use
+ -- all community of interest SS
+cug SS-Code ::= '01100001'B
+ -- closed user group
+
+allChargingSS SS-Code ::= '01110000'B
+ -- reserved for possible future use
+ -- all charging SS
+aoci SS-Code ::= '01110001'B
+ -- advice of charge information
+aocc SS-Code ::= '01110010'B
+ -- advice of charge charging
+
+allAdditionalInfoTransferSS SS-Code ::= '10000000'B
+ -- reserved for possible future use
+ -- all additional information transfer SS
+uus1 SS-Code ::= '10000001'B
+ -- UUS1 user-to-user signalling
+uus2 SS-Code ::= '10000010'B
+ -- UUS2 user-to-user signalling
+uus3 SS-Code ::= '10000011'B
+ -- UUS3 user-to-user signalling
+
+allBarringSS SS-Code ::= '10010000'B
+ -- all barring SS
+barringOfOutgoingCalls SS-Code ::= '10010001'B
+ -- barring of outgoing calls
+baoc SS-Code ::= '10010010'B
+ -- barring of all outgoing calls
+boic SS-Code ::= '10010011'B
+ -- barring of outgoing international calls
+boicExHC SS-Code ::= '10010100'B
+ -- barring of outgoing international calls except those directed
+ -- to the home PLMN Country
+barringOfIncomingCalls SS-Code ::= '10011001'B
+ -- barring of incoming calls
+baic SS-Code ::= '10011010'B
+ -- barring of all incoming calls
+bicRoam SS-Code ::= '10011011'B
+ -- barring of incoming calls when roaming outside home PLMN
+ -- Country
+
+allPLMN-specificSS SS-Code ::= '11110000'B
+plmn-specificSS-1 SS-Code ::= '11110001'B
+plmn-specificSS-2 SS-Code ::= '11110010'B
+plmn-specificSS-3 SS-Code ::= '11110011'B
+plmn-specificSS-4 SS-Code ::= '11110100'B
+plmn-specificSS-5 SS-Code ::= '11110101'B
+plmn-specificSS-6 SS-Code ::= '11110110'B
+plmn-specificSS-7 SS-Code ::= '11110111'B
+plmn-specificSS-8 SS-Code ::= '11111000'B
+plmn-specificSS-9 SS-Code ::= '11111001'B
+plmn-specificSS-A SS-Code ::= '11111010'B
+plmn-specificSS-B SS-Code ::= '11111011'B
+plmn-specificSS-C SS-Code ::= '11111100'B
+plmn-specificSS-D SS-Code ::= '11111101'B
+plmn-specificSS-E SS-Code ::= '11111110'B
+plmn-specificSS-F SS-Code ::= '11111111'B
+
+allCallPrioritySS SS-Code ::= '10100000'B
+ -- reserved for possible future use
+ -- all call priority SS
+emlpp SS-Code ::= '10100001'B
+ -- enhanced Multilevel Precedence Pre-emption (EMLPP) service
+
+allLCSPrivacyException SS-Code ::= '10110000'B
+ -- all LCS Privacy Exception Classes
+universal SS-Code ::= '10110001'B
+ -- allow location by any LCS client
+callSessionRelated SS-Code ::= '10110010'B
+ -- allow location by any value added LCS client to which a call/session
+ -- is established from the target MS
+callSessionUnrelated SS-Code ::= '10110011'B
+ -- allow location by designated external value added LCS clients
+plmnoperator SS-Code ::= '10110100'B
+ -- allow location by designated PLMN operator LCS clients
+serviceType SS-Code ::= '10110101'B
+ -- allow location by LCS clients of a designated LCS service type
+
+allMOLR-SS SS-Code ::= '11000000'B
+ -- all Mobile Originating Location Request Classes
+basicSelfLocation SS-Code ::= '11000001'B
+ -- allow an MS to request its own location
+autonomousSelfLocation SS-Code ::= '11000010'B
+ -- allow an MS to perform self location without interaction
+ -- with the PLMN for a predetermined period of time
+transferToThirdParty SS-Code ::= '11000011'B
+ -- allow an MS to request transfer of its location to another LCS client
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-SS-DataTypes.asn b/epan/dissectors/asn1/gsm_map/MAP-SS-DataTypes.asn
new file mode 100644
index 00000000..d70a2497
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-SS-DataTypes.asn
@@ -0,0 +1,340 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.7.4 Supplementary service data types
+
+MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-DataTypes (14) version20 (20)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+EXPORTS
+ RegisterSS-Arg,
+ SS-Info,
+ SS-Status,
+ SS-SubscriptionOption,
+ SS-ForBS-Code,
+ InterrogateSS-Res,
+ USSD-Arg,
+ USSD-Res,
+ USSD-DataCodingScheme,
+ USSD-String,
+ Password,
+ GuidanceInfo,
+ SS-List,
+ SS-InfoList,
+ OverrideCategory,
+ CliRestrictionOption,
+ NoReplyConditionTime,
+ ForwardingOptions,
+ maxNumOfSS,
+ SS-Data,
+ SS-InvocationNotificationArg,
+ SS-InvocationNotificationRes,
+ CCBS-Feature,
+ RegisterCC-EntryArg,
+ RegisterCC-EntryRes,
+ EraseCC-EntryArg,
+ EraseCC-EntryRes
+;
+
+IMPORTS
+ AddressString,
+ ISDN-AddressString,
+ ISDN-SubaddressString,
+ FTN-AddressString,
+ IMSI,
+ BasicServiceCode,
+ AlertingPattern,
+ EMLPP-Priority,
+ MaxMC-Bearers,
+ MC-Bearers,
+ ExternalSignalInfo
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version20 (20)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version20 (20)}
+
+ SS-Code
+FROM MAP-SS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-Code (15) version20 (20)}
+;
+
+
+RegisterSS-Arg ::= SEQUENCE {
+ ss-Code SS-Code,
+ basicService BasicServiceCode OPTIONAL,
+ forwardedToNumber [4] AddressString OPTIONAL,
+ forwardedToSubaddress [6] ISDN-SubaddressString OPTIONAL,
+ noReplyConditionTime [5] NoReplyConditionTime OPTIONAL,
+ ...,
+ defaultPriority [7] EMLPP-Priority OPTIONAL,
+ nbrUser [8] MC-Bearers OPTIONAL,
+ longFTN-Supported [9] NULL OPTIONAL }
+
+NoReplyConditionTime ::= INTEGER (5..30)
+
+SS-Info ::= CHOICE {
+ forwardingInfo [0] ForwardingInfo,
+ callBarringInfo [1] CallBarringInfo,
+ ss-Data [3] SS-Data}
+
+ForwardingInfo ::= SEQUENCE {
+ ss-Code SS-Code OPTIONAL,
+ forwardingFeatureList ForwardingFeatureList,
+ ...}
+
+ForwardingFeatureList ::=
+ SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
+ ForwardingFeature
+
+ForwardingFeature ::= SEQUENCE {
+ basicService BasicServiceCode OPTIONAL,
+ ss-Status [4] SS-Status OPTIONAL,
+ forwardedToNumber [5] ISDN-AddressString OPTIONAL,
+ forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
+ forwardingOptions [6] ForwardingOptions OPTIONAL,
+ noReplyConditionTime [7] NoReplyConditionTime OPTIONAL,
+ ...,
+ longForwardedToNumber [9] FTN-AddressString OPTIONAL }
+
+SS-Status ::= OCTET STRING (SIZE (1))
+
+ -- bits 8765: 0000 (unused)
+ -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
+ -- representing supplementary service state information
+ -- as defined in TS 3GPP TS 23.011 [22]
+
+ -- bit 4: "Q bit"
+
+ -- bit 3: "P bit"
+
+ -- bit 2: "R bit"
+
+ -- bit 1: "A bit"
+
+ForwardingOptions ::= OCTET STRING (SIZE (1))
+
+ -- bit 8: notification to forwarding party
+ -- 0 no notification
+ -- 1 notification
+
+ -- bit 7: redirecting presentation
+ -- 0 no presentation
+ -- 1 presentation
+
+ -- bit 6: notification to calling party
+ -- 0 no notification
+ -- 1 notification
+
+ -- bit 5: 0 (unused)
+
+ -- bits 43: forwarding reason
+ -- 00 ms not reachable
+ -- 01 ms busy
+ -- 10 no reply
+ -- 11 unconditional when used in a SRI Result,
+ -- or call deflection when used in a RCH Argument
+ -- bits 21: 00 (unused)
+
+CallBarringInfo ::= SEQUENCE {
+ ss-Code SS-Code OPTIONAL,
+ callBarringFeatureList CallBarringFeatureList,
+ ...}
+
+CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
+ CallBarringFeature
+
+CallBarringFeature ::= SEQUENCE {
+ basicService BasicServiceCode OPTIONAL,
+ ss-Status [4] SS-Status OPTIONAL,
+ ...}
+
+SS-Data ::= SEQUENCE {
+ ss-Code SS-Code OPTIONAL,
+ ss-Status [4] SS-Status OPTIONAL,
+ ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
+ basicServiceGroupList BasicServiceGroupList OPTIONAL,
+ ...,
+ defaultPriority EMLPP-Priority OPTIONAL,
+ nbrUser [5] MC-Bearers OPTIONAL
+ }
+
+SS-SubscriptionOption ::= CHOICE {
+ cliRestrictionOption [2] CliRestrictionOption,
+ overrideCategory [1] OverrideCategory}
+
+CliRestrictionOption ::= ENUMERATED {
+ permanent (0),
+ temporaryDefaultRestricted (1),
+ temporaryDefaultAllowed (2)}
+
+OverrideCategory ::= ENUMERATED {
+ overrideEnabled (0),
+ overrideDisabled (1)}
+
+SS-ForBS-Code ::= SEQUENCE {
+ ss-Code SS-Code,
+ basicService BasicServiceCode OPTIONAL,
+ ...,
+ longFTN-Supported [4] NULL OPTIONAL }
+
+GenericServiceInfo ::= SEQUENCE {
+ ss-Status SS-Status,
+ cliRestrictionOption CliRestrictionOption OPTIONAL,
+ ...,
+ maximumEntitledPriority [0] EMLPP-Priority OPTIONAL,
+ defaultPriority [1] EMLPP-Priority OPTIONAL,
+ ccbs-FeatureList [2] CCBS-FeatureList OPTIONAL,
+ nbrSB [3] MaxMC-Bearers OPTIONAL,
+ nbrUser [4] MC-Bearers OPTIONAL,
+ nbrSN [5] MC-Bearers OPTIONAL }
+
+CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF
+ CCBS-Feature
+
+maxNumOfCCBS-Requests INTEGER ::= 5
+
+CCBS-Feature ::= SEQUENCE {
+ ccbs-Index [0] CCBS-Index OPTIONAL,
+ b-subscriberNumber [1] ISDN-AddressString OPTIONAL,
+ b-subscriberSubaddress [2] ISDN-SubaddressString OPTIONAL,
+ basicServiceGroup [3] BasicServiceCode OPTIONAL,
+ ...}
+
+CCBS-Index ::= INTEGER (1..maxNumOfCCBS-Requests)
+
+InterrogateSS-Res ::= CHOICE {
+ ss-Status [0] SS-Status,
+ basicServiceGroupList [2] BasicServiceGroupList,
+ forwardingFeatureList [3] ForwardingFeatureList,
+ genericServiceInfo [4] GenericServiceInfo }
+
+USSD-Arg ::= SEQUENCE {
+ ussd-DataCodingScheme USSD-DataCodingScheme,
+ ussd-String USSD-String,
+ ... ,
+ alertingPattern AlertingPattern OPTIONAL,
+ msisdn [0] ISDN-AddressString OPTIONAL }
+
+USSD-Res ::= SEQUENCE {
+ ussd-DataCodingScheme USSD-DataCodingScheme,
+ ussd-String USSD-String,
+ ...}
+
+USSD-DataCodingScheme ::= OCTET STRING (SIZE (1))
+ -- The structure of the USSD-DataCodingScheme is defined by
+ -- the Cell Broadcast Data Coding Scheme as described in
+ -- TS 3GPP TS 23.038 [25]
+
+USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength))
+ -- The structure of the contents of the USSD-String is dependent
+ -- on the USSD-DataCodingScheme as described in TS 3GPP TS 23.038 [25].
+
+maxUSSD-StringLength INTEGER ::= 160
+
+Password ::= NumericString
+ (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"))
+ (SIZE (4))
+
+GuidanceInfo ::= ENUMERATED {
+ enterPW (0),
+ enterNewPW (1),
+ enterNewPW-Again (2)}
+ -- How this information is really delivered to the subscriber
+ -- (display, announcement, ...) is not part of this
+ -- specification.
+
+SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
+ SS-Code
+
+maxNumOfSS INTEGER ::= 30
+
+SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
+ SS-Info
+
+BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
+ BasicServiceCode
+
+maxNumOfBasicServiceGroups INTEGER ::= 13
+
+SS-InvocationNotificationArg ::= SEQUENCE {
+ imsi [0] IMSI,
+ msisdn [1] ISDN-AddressString,
+ ss-Event [2] SS-Code,
+ -- The following SS-Code values are allowed :
+ -- ect SS-Code ::= '00110001'B
+ -- multiPTY SS-Code ::= '01010001'B
+ -- cd SS-Code ::= '00100100'B
+ -- ccbs SS-Code ::= '01000100'B
+ ss-EventSpecification [3] SS-EventSpecification OPTIONAL,
+ extensionContainer [4] ExtensionContainer OPTIONAL,
+ ...,
+ b-subscriberNumber [5] ISDN-AddressString OPTIONAL,
+ ccbs-RequestState [6] CCBS-RequestState OPTIONAL
+ }
+
+CCBS-RequestState ::= ENUMERATED {
+ request (0),
+ recall (1),
+ active (2),
+ completed (3),
+ suspended (4),
+ frozen (5),
+ deleted (6)
+ }
+
+SS-InvocationNotificationRes ::= SEQUENCE {
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...
+ }
+
+SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF
+ AddressString
+
+maxEventSpecification INTEGER ::= 2
+
+RegisterCC-EntryArg ::= SEQUENCE {
+ ss-Code [0] SS-Code,
+ ccbs-Data [1] CCBS-Data OPTIONAL,
+ ...}
+
+CCBS-Data ::= SEQUENCE {
+ ccbs-Feature [0] CCBS-Feature,
+ translatedB-Number [1] ISDN-AddressString,
+ serviceIndicator [2] ServiceIndicator OPTIONAL,
+ callInfo [3] ExternalSignalInfo,
+ networkSignalInfo [4] ExternalSignalInfo,
+ ...}
+
+ServiceIndicator ::= BIT STRING {
+ clir-invoked (0),
+ camel-invoked (1)} (SIZE(2..32))
+ -- exception handling:
+ -- bits 2 to 31 shall be ignored if received and not understood
+
+RegisterCC-EntryRes ::= SEQUENCE {
+ ccbs-Feature [0] CCBS-Feature OPTIONAL,
+ ...}
+
+EraseCC-EntryArg ::= SEQUENCE {
+ ss-Code [0] SS-Code,
+ ccbs-Index [1] CCBS-Index OPTIONAL,
+ ...}
+
+EraseCC-EntryRes ::= SEQUENCE {
+ ss-Code [0] SS-Code,
+ ss-Status [1] SS-Status OPTIONAL,
+ ...}
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-ShortMessageServiceOperations.asn b/epan/dissectors/asn1/gsm_map/MAP-ShortMessageServiceOperations.asn
new file mode 100644
index 00000000..ee54ce78
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-ShortMessageServiceOperations.asn
@@ -0,0 +1,173 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.6.5 Short message service operations
+
+MAP-ShortMessageServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9)
+ version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+EXPORTS
+ sendRoutingInfoForSM,
+ mo-ForwardSM,
+ mt-ForwardSM,
+ reportSM-DeliveryStatus,
+ alertServiceCentre,
+ informServiceCentre,
+ readyForSM,
+ mt-ForwardSM-VGCS
+;
+
+IMPORTS
+ OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+
+ systemFailure,
+ dataMissing,
+ unexpectedDataValue,
+ facilityNotSupported,
+ unknownSubscriber,
+ unidentifiedSubscriber,
+ illegalSubscriber,
+ illegalEquipment,
+ teleserviceNotProvisioned,
+ callBarred,
+ subscriberBusyForMT-SMS,
+ sm-DeliveryFailure,
+ messageWaitingListFull,
+ absentSubscriberSM
+FROM MAP-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Errors (10) version20 (20)}
+
+ RoutingInfoForSM-Arg,
+ RoutingInfoForSM-Res,
+ MO-ForwardSM-Arg,
+ MO-ForwardSM-Res,
+ MT-ForwardSM-Arg,
+ MT-ForwardSM-Res,
+ ReportSM-DeliveryStatusArg,
+ ReportSM-DeliveryStatusRes,
+ AlertServiceCentreArg,
+ InformServiceCentreArg,
+ ReadyForSM-Arg,
+ ReadyForSM-Res,
+ MT-ForwardSM-VGCS-Arg,
+ MT-ForwardSM-VGCS-Res
+FROM MAP-SM-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SM-DataTypes (16) version20 (20)}
+
+;
+
+sendRoutingInfoForSM OPERATION ::= { --Timer m
+ ARGUMENT
+ RoutingInfoForSM-Arg
+ RESULT
+ RoutingInfoForSM-Res
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ facilityNotSupported |
+ unknownSubscriber |
+ teleserviceNotProvisioned |
+ callBarred |
+ absentSubscriberSM}
+ CODE local:45 }
+
+mo-ForwardSM OPERATION ::= { --Timer ml
+ ARGUMENT
+ MO-ForwardSM-Arg
+ RESULT
+ MO-ForwardSM-Res
+ -- optional
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue |
+ facilityNotSupported |
+ sm-DeliveryFailure}
+ CODE local:46 }
+
+mt-ForwardSM OPERATION ::= { --Timer ml
+ -- the timer value may be subject to negotiation between GMSC and IP-SM-GW
+ ARGUMENT
+ MT-ForwardSM-Arg
+ RESULT
+ MT-ForwardSM-Res
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ facilityNotSupported |
+ unidentifiedSubscriber |
+ illegalSubscriber |
+ illegalEquipment |
+ subscriberBusyForMT-SMS |
+ sm-DeliveryFailure |
+ absentSubscriberSM}
+ CODE local:44 }
+
+reportSM-DeliveryStatus OPERATION ::= { --Timer s
+ ARGUMENT
+ ReportSM-DeliveryStatusArg
+ RESULT
+ ReportSM-DeliveryStatusRes
+ -- optional
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber |
+ messageWaitingListFull}
+ CODE local:47 }
+
+alertServiceCentre OPERATION ::= { --Timer s
+ ARGUMENT
+ AlertServiceCentreArg
+ RETURN RESULT TRUE
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue}
+ CODE local:64 }
+
+informServiceCentre OPERATION ::= { --Timer s
+ ARGUMENT
+ InformServiceCentreArg
+ CODE local:63 }
+
+readyForSM OPERATION ::= { --Timer m
+ ARGUMENT
+ ReadyForSM-Arg
+ RESULT
+ ReadyForSM-Res
+ -- optional
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue |
+ facilityNotSupported |
+ unknownSubscriber}
+ CODE local:66 }
+
+mt-ForwardSM-VGCS OPERATION ::= { --Timer ml
+ ARGUMENT
+ MT-ForwardSM-VGCS-Arg
+ RESULT
+ MT-ForwardSM-VGCS-Res
+ -- optional
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue }
+ CODE local:21 }
+
+
+END
+
diff --git a/epan/dissectors/asn1/gsm_map/MAP-SupplementaryServiceOperations.asn b/epan/dissectors/asn1/gsm_map/MAP-SupplementaryServiceOperations.asn
new file mode 100644
index 00000000..e5d7b8e9
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-SupplementaryServiceOperations.asn
@@ -0,0 +1,298 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+--17.6.4 Supplementary service operations
+
+MAP-SupplementaryServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8)
+ version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+EXPORTS
+ registerSS,
+ eraseSS,
+ activateSS,
+ deactivateSS,
+ interrogateSS,
+ processUnstructuredSS-Request,
+ unstructuredSS-Request,
+ unstructuredSS-Notify,
+ registerPassword,
+ getPassword,
+ ss-InvocationNotification,
+ registerCC-Entry,
+ eraseCC-Entry
+;
+
+IMPORTS
+ OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+
+ systemFailure,
+ dataMissing,
+ unexpectedDataValue,
+ unknownSubscriber,
+ bearerServiceNotProvisioned,
+ teleserviceNotProvisioned,
+ callBarred,
+ illegalSS-Operation,
+ ss-ErrorStatus,
+ ss-NotAvailable,
+ ss-SubscriptionViolation,
+ ss-Incompatibility,
+ pw-RegistrationFailure,
+ negativePW-Check,
+ numberOfPW-AttemptsViolation,
+ unknownAlphabet,
+ ussd-Busy,
+ absentSubscriber,
+ illegalSubscriber,
+ illegalEquipment,
+ shortTermDenial,
+ longTermDenial,
+ facilityNotSupported
+FROM MAP-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-Errors (10) version20 (20)}
+
+ RegisterSS-Arg,
+ SS-Info,
+ SS-ForBS-Code,
+ InterrogateSS-Res,
+ USSD-Arg,
+ USSD-Res,
+ Password,
+ GuidanceInfo,
+ SS-InvocationNotificationArg,
+ SS-InvocationNotificationRes,
+ RegisterCC-EntryArg,
+ RegisterCC-EntryRes,
+ EraseCC-EntryArg,
+ EraseCC-EntryRes
+FROM MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-DataTypes (14) version20 (20)}
+
+ SS-Code
+FROM MAP-SS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-Code (15) version20 (20)}
+;
+
+
+-- supplementary service handling operations
+
+registerSS OPERATION ::= { --Timer m
+ ARGUMENT
+ RegisterSS-Arg
+ RESULT
+ SS-Info
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ bearerServiceNotProvisioned |
+ teleserviceNotProvisioned |
+ callBarred |
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-Incompatibility}
+ CODE local:10 }
+
+eraseSS OPERATION ::= { --Timer m
+ ARGUMENT
+ SS-ForBS-Code
+ RESULT
+ SS-Info
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ bearerServiceNotProvisioned |
+ teleserviceNotProvisioned |
+ callBarred |
+ illegalSS-Operation |
+ ss-ErrorStatus
+ }
+ CODE local:11 }
+
+activateSS OPERATION ::= { --Timer m
+ ARGUMENT
+ SS-ForBS-Code
+ RESULT
+ SS-Info
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ bearerServiceNotProvisioned |
+ teleserviceNotProvisioned |
+ callBarred |
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-SubscriptionViolation |
+ ss-Incompatibility |
+ negativePW-Check |
+ numberOfPW-AttemptsViolation}
+ CODE local:12 }
+
+deactivateSS OPERATION ::= { --Timer m
+ ARGUMENT
+ SS-ForBS-Code
+ RESULT
+ SS-Info
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ bearerServiceNotProvisioned |
+ teleserviceNotProvisioned |
+ callBarred |
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-SubscriptionViolation |
+ negativePW-Check |
+ numberOfPW-AttemptsViolation}
+ CODE local:13 }
+
+interrogateSS OPERATION ::= { --Timer m
+ ARGUMENT
+ SS-ForBS-Code
+ RESULT
+ InterrogateSS-Res
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ bearerServiceNotProvisioned |
+ teleserviceNotProvisioned |
+ callBarred |
+ illegalSS-Operation |
+ ss-NotAvailable}
+ CODE local:14 }
+
+processUnstructuredSS-Request OPERATION ::= { --Timer 10 minutes
+ ARGUMENT
+ USSD-Arg
+ RESULT
+ USSD-Res
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ unknownAlphabet |
+ callBarred}
+ CODE local:59 }
+
+unstructuredSS-Request OPERATION ::= { --Timer ml
+ ARGUMENT
+ USSD-Arg
+ RESULT
+ USSD-Res
+ -- optional
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ absentSubscriber |
+ illegalSubscriber |
+ illegalEquipment |
+ unknownAlphabet |
+ ussd-Busy}
+ CODE local:60 }
+
+unstructuredSS-Notify OPERATION ::= { --Timer ml
+ ARGUMENT
+ USSD-Arg
+ RETURN RESULT TRUE
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ absentSubscriber |
+ illegalSubscriber |
+ illegalEquipment |
+ unknownAlphabet |
+ ussd-Busy}
+ CODE local:61 }
+
+registerPassword OPERATION ::= { --Timer ml
+ ARGUMENT
+ SS-Code
+ RESULT
+ Password
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ callBarred |
+ ss-SubscriptionViolation |
+ pw-RegistrationFailure |
+ negativePW-Check |
+ numberOfPW-AttemptsViolation}
+ LINKED {
+ getPassword}
+ CODE local:17 }
+
+getPassword OPERATION ::= { --Timer m
+ ARGUMENT
+ GuidanceInfo
+ RESULT
+ Password
+ CODE local:18 }
+
+ss-InvocationNotification OPERATION ::= { --Timer m
+ ARGUMENT
+ SS-InvocationNotificationArg
+ RESULT
+ SS-InvocationNotificationRes
+ -- optional
+ ERRORS {
+ dataMissing |
+ unexpectedDataValue |
+ unknownSubscriber}
+ CODE local:72 }
+
+registerCC-Entry OPERATION ::= { --Timer m
+ ARGUMENT
+ RegisterCC-EntryArg
+ RESULT
+ RegisterCC-EntryRes
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ callBarred |
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-Incompatibility |
+ shortTermDenial |
+ longTermDenial |
+ facilityNotSupported}
+ CODE local:76 }
+
+eraseCC-Entry OPERATION ::= { --Timer m
+ ARGUMENT
+ EraseCC-EntryArg
+ RESULT
+ EraseCC-EntryRes
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ callBarred |
+ illegalSS-Operation |
+ ss-ErrorStatus}
+ CODE local:77 }
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MAP-TS-Code.asn b/epan/dissectors/asn1/gsm_map/MAP-TS-Code.asn
new file mode 100644
index 00000000..08266391
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MAP-TS-Code.asn
@@ -0,0 +1,90 @@
+-- 3GPP TS 29.002 V17.1.0 (2021-06)
+-- 17.7.9 Teleservice Codes
+
+MAP-TS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-TS-Code (19) version20 (20)}
+
+DEFINITIONS
+
+::=
+
+BEGIN
+
+TeleserviceCode ::= OCTET STRING (SIZE (1))
+ -- This type is used to represent the code identifying a single
+ -- teleservice, a group of teleservices, or all teleservices. The
+ -- services are defined in TS GSM 22.003 [4].
+ -- The internal structure is defined as follows:
+
+ -- bits 87654321: group (bits 8765) and specific service
+ -- (bits 4321)
+
+Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5))
+ -- This type is used to represent the code identifying a single
+ -- teleservice, a group of teleservices, or all teleservices. The
+ -- services are defined in TS GSM 22.003 [4].
+ -- The internal structure is defined as follows:
+
+ -- OCTET 1:
+ -- bits 87654321: group (bits 8765) and specific service
+ -- (bits 4321)
+
+ -- OCTETS 2-5: reserved for future use. If received the
+ -- Ext-TeleserviceCode shall be
+ -- treated according to the exception handling defined for the
+ -- operation that uses this type.
+
+ -- Ext-TeleserviceCode includes all values defined for TeleserviceCode.
+
+allTeleservices TeleserviceCode ::= '00000000'B
+
+allSpeechTransmissionServices TeleserviceCode ::= '00010000'B
+telephony TeleserviceCode ::= '00010001'B
+emergencyCalls TeleserviceCode ::= '00010010'B
+
+allShortMessageServices TeleserviceCode ::= '00100000'B
+shortMessageMT-PP TeleserviceCode ::= '00100001'B
+shortMessageMO-PP TeleserviceCode ::= '00100010'B
+
+allFacsimileTransmissionServices TeleserviceCode ::= '01100000'B
+facsimileGroup3AndAlterSpeech TeleserviceCode ::= '01100001'B
+automaticFacsimileGroup3 TeleserviceCode ::= '01100010'B
+facsimileGroup4 TeleserviceCode ::= '01100011'B
+
+-- The following non-hierarchical Compound Teleservice Groups
+-- are defined in TS 3GPP TS 22.030:
+allDataTeleservices TeleserviceCode ::= '01110000'B
+ -- covers Teleservice Groups 'allFacsimileTransmissionServices'
+ -- and 'allShortMessageServices'
+allTeleservices-ExeptSMS TeleserviceCode ::= '10000000'B
+ -- covers Teleservice Groups 'allSpeechTransmissionServices' and
+ -- 'allFacsimileTransmissionServices'
+--
+-- Compound Teleservice Group Codes are only used in call
+-- independent supplementary service operations, i.e. they
+-- are not used in InsertSubscriberData or in
+-- DeleteSubscriberData messages.
+
+allVoiceGroupCallServices TeleserviceCode ::= '10010000'B
+voiceGroupCall TeleserviceCode ::= '10010001'B
+voiceBroadcastCall TeleserviceCode ::= '10010010'B
+
+allPLMN-specificTS TeleserviceCode ::= '11010000'B
+plmn-specificTS-1 TeleserviceCode ::= '11010001'B
+plmn-specificTS-2 TeleserviceCode ::= '11010010'B
+plmn-specificTS-3 TeleserviceCode ::= '11010011'B
+plmn-specificTS-4 TeleserviceCode ::= '11010100'B
+plmn-specificTS-5 TeleserviceCode ::= '11010101'B
+plmn-specificTS-6 TeleserviceCode ::= '11010110'B
+plmn-specificTS-7 TeleserviceCode ::= '11010111'B
+plmn-specificTS-8 TeleserviceCode ::= '11011000'B
+plmn-specificTS-9 TeleserviceCode ::= '11011001'B
+plmn-specificTS-A TeleserviceCode ::= '11011010'B
+plmn-specificTS-B TeleserviceCode ::= '11011011'B
+plmn-specificTS-C TeleserviceCode ::= '11011100'B
+plmn-specificTS-D TeleserviceCode ::= '11011101'B
+plmn-specificTS-E TeleserviceCode ::= '11011110'B
+plmn-specificTS-F TeleserviceCode ::= '11011111'B
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/MobileDomainDefinitions.asn b/epan/dissectors/asn1/gsm_map/MobileDomainDefinitions.asn
new file mode 100644
index 00000000..ce1947eb
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/MobileDomainDefinitions.asn
@@ -0,0 +1,30 @@
+-- ETSI ETR 091 ed.1 http://www.etsi.org
+
+MobileDomainDefinitions {ccitt (0) identified-organization (4) etsi (0)
+mobileDomain (0) mobileDomainDefinitions (0) version1 (1)}
+
+DEFINITIONS ::=
+BEGIN
+
+-- Mobile DomainId
+
+mobileDomainId OBJECT IDENTIFIER ::= {ccitt (0) identified-organization (4) etsi (0) mobileDomain (0)}
+
+-- Mobile Subdomains
+
+gsm-NetworkId OBJECT IDENTIFIER ::= {mobileDomainId gsm-Network (1)}
+gsm-AccessId OBJECT IDENTIFIER ::= {mobileDomainId gsm-Access (2)}
+gsm-OperationAndMaintenanceId OBJECT IDENTIFIER ::= {mobileDomainId gsm-Operation-Maintenance (3)}
+gsm-MessagingId OBJECT IDENTIFIER ::= {mobileDomainId gsm-Messaging (4)}
+
+-- Common Component Ids for structuring Mobile Subdomains
+
+CommonComponentId ::= INTEGER (0..9)
+
+ac-Id CommonComponentId ::= 0
+as-Id CommonComponentId ::= 1
+ase-Id CommonComponentId ::= 2
+moduleId CommonComponentId ::= 3
+er-Id CommonComponentId ::= 4
+
+END -- MobileDomainDefinitions \ No newline at end of file
diff --git a/epan/dissectors/asn1/gsm_map/Nokia.asn b/epan/dissectors/asn1/gsm_map/Nokia.asn
new file mode 100644
index 00000000..032a72ac
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/Nokia.asn
@@ -0,0 +1,605 @@
+-- Nokia proprietary extensions
+--
+NokiaMAP-Extensions
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS
+ Category,
+ ODB-Data,
+ CUG-Interlock
+FROM MAP-MS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-MS-DataTypes (11) version13 (13)}
+
+ ISDN-AddressString,
+ AddressString,
+ TBCD-STRING,
+ SignalInfo,
+ BasicServiceCode,
+ IMSI,
+ IMEI,
+ SubscriberIdentity,
+ CellGlobalIdOrServiceAreaIdFixedLength,
+ LAIFixedLength,
+ Ext-SS-Status
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-CommonDataTypes (18) version13 (13)}
+
+ PrivateExtension,
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version13 (13)}
+
+ TraceReference,
+ TraceType
+FROM MAP-OM-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-OM-DataTypes (12) version13 (13)}
+
+ SS-Code
+FROM MAP-SS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-SS-Code (15) version10 (10)}
+
+ SS-Status, USSD-DataCodingScheme, USSD-String, CCBS-Feature
+-- USSD-DataCodingScheme, USSD-String were introduced because of CNAP.
+FROM MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-SS-DataTypes (14) version10 (10)}
+
+
+;
+
+
+ExtensionSet MAP-EXTENSION ::= {
+ { &ExtensionType; IsdArgExt, &extensionId; {0 34 0} } |
+ { &ExtensionType; DsdArgExt, &extensionId; {0 34 1} } |
+ { &ExtensionType; UlResExt, &extensionId; {0 34 2} } |
+ { &ExtensionType; SS-DataExtension, &extensionId; {0 34 4} } |
+ { &ExtensionType; SriExtension, &extensionId; {0 34 5} } |
+ { &ExtensionType; ExtraSignalInfo, &extensionId; {0 34 6} } |
+ { &ExtensionType; SriResExtension, &extensionId; {0 34 7} } |
+ { &ExtensionType; CanLocArgExt, &extensionId; {0 34 10} } |
+ { &ExtensionType; ATMargExt, &extensionId; {0 34 11} } |
+ { &ExtensionType; DTMargExt, &extensionId; {0 34 12} } |
+ { &ExtensionType; NumberPorted, &extensionId; {0 34 13} } |
+ { &ExtensionType; HO-Ext, &extensionId; {0 34 15} } |
+ { &ExtensionType; ATMresExt, &extensionId; {0 34 16} } |
+ { &ExtensionType; AbsentSubscriberExt, &extensionId; {0 34 17} } |
+ { &ExtensionType; SriForSMArgExt, &extensionId; {0 34 18} } |
+ { &ExtensionType; ReportSMDelStatArgExt, &extensionId; {0 34 19} } |
+ { &ExtensionType; UdlArgExt, &extensionId; {0 34 20} } |
+ { &ExtensionType; RoamNotAllowedExt, &extensionId; {0 34 21} } |
+ { &ExtensionType; MO-ForwardSM-ArgExt, &extensionId; {0 34 22} } |
+ { &ExtensionType; ErrOlcmInfoTableExt, &extensionId; {0 34 23} } |
+ { &ExtensionType; RoutingCategoryExt, &extensionId; {0 34 25} } |
+ { &ExtensionType; AnyTimeModArgExt, &extensionId; {0 34 26} } |
+ { &ExtensionType; ExtensionType, &extensionId; {1 2 826 0 1249 58 1 0} } |
+ { &ExtensionType; AccessTypeExt, &extensionId; {1 3 12 2 1107 3 66 1 1} } |
+ { &ExtensionType; AccessSubscriptionListExt, &extensionId; {1 3 12 2 1107 3 66 1 3} } |
+ { &ExtensionType; AllowedServiceData, &extensionId; {1 3 12 2 1107 3 66 1 6} },
+...}
+ -- ExtensionSet is the set of all defined private extensions
+ -- Unsupported private extensions shall be discarded if received.
+
+
+RoutingCategory ::= OCTET STRING (SIZE (1))
+ -- value 0 means that RoutingCategory is released
+
+maxNumOfActiveSS INTEGER ::= 30
+
+ActiveSS-List ::= OCTET STRING (SIZE (1..maxNumOfActiveSS))
+
+ExtRoutingCategory ::= INTEGER (0..2147483647)
+
+IsdArgExt ::= [PRIVATE 0] SEQUENCE {
+ alsLineIndicator [0] NULL OPTIONAL,
+ routingCategory [1] RoutingCategory OPTIONAL,
+ serviceList [2] MAPserviceList OPTIONAL,
+ serv-info-list [3] ServiceListWithInfo OPTIONAL,
+ extRoutingCategory [5] ExtRoutingCategory OPTIONAL,
+ ownMSISDN [6] ISDN-AddressString OPTIONAL,
+ ...}
+ -- Note : additional routing category is removed from VLR by
+ -- sending ISD with add-RC value zero (0).
+
+DsdArgExt ::= [PRIVATE 0] SEQUENCE {
+ alsLineIndicator [0] NULL OPTIONAL,
+ serviceList [1] MAPserviceList OPTIONAL,
+ ...}
+
+UlResExt ::= [PRIVATE 0] SEQUENCE {
+ mwd-Set [0] NULL OPTIONAL,
+ ...}
+
+EmoInCategoryKey ::= TBCD-STRING (SIZE (1..3))
+
+SS-DataEmoInExt ::= [PRIVATE 1] SEQUENCE {
+ emoInCategoryKey [PRIVATE 2] EmoInCategoryKey OPTIONAL,
+ ...}
+
+InTriggerKey ::= INTEGER (1..65535)
+
+PnpIndex ::= OCTET STRING (SIZE (3))
+ -- digits 0 through 9, two digits per octet,
+ -- each digit encoded 0000 to 0001,
+ -- 5 digits, 1111 used as filler for last digit.
+
+CallRedirectionIndex ::= INTEGER (0..255)
+
+ChargingArea ::= INTEGER (1..9999)
+
+maxNumOfCA INTEGER ::= 3
+
+ChargingAreaList ::= SEQUENCE SIZE (1..maxNumOfCA) OF
+ ChargingArea
+
+RegionalChargingData ::= SEQUENCE {
+ chargingAreaList [0] ChargingAreaList OPTIONAL,
+ ...}
+
+SS-DataExtension ::= [PRIVATE 0] SEQUENCE {
+ inTriggerKey [0] InTriggerKey OPTIONAL,
+ pnpIndex [1] PnpIndex OPTIONAL,
+ callRedirectionIndex [2] CallRedirectionIndex OPTIONAL,
+ regionalChargingData [3] RegionalChargingData OPTIONAL,
+ ...}
+
+SriExtension ::= [PRIVATE 0] SEQUENCE {
+ callForwardingOverride [0] NULL OPTIONAL,
+ in-Capability [1] NULL OPTIONAL,
+ callingCategory [2] CallingCategory OPTIONAL,
+ internalServiceIndicator [3] InternalServiceIndicator OPTIONAL,
+ srbtSupportIndicator [4] NULL OPTIONAL,
+ gmscSupportIndicator [5] NULL OPTIONAL,
+ ...}
+
+CallingCategory ::= OCTET STRING (SIZE (1))
+ -- 'E9'hex used in SRI-arg
+ -- 'E8'hex used in SRI-res
+
+InternalServiceIndicator ::= OCTET STRING (SIZE (1))
+ -- bits 8765: 0000 (unused)
+ -- bit 4: intelligent alerting
+ -- bit 3: parallel alerting
+ -- bit 2: member interrogation
+ -- bit 1: sequential alerting
+ -- 1 set
+ -- 0 not set
+
+ExtraProtocolId ::= INTEGER { q763 (1)} (1..20)
+
+ExtraSignalInfo ::= [PRIVATE 1] SEQUENCE {
+ protocolId ExtraProtocolId,
+ signalInfo SignalInfo }
+
+CUG-CallInfo ::= OCTET STRING (SIZE (1..4))
+ -- xxxx xx00 - not used
+ -- xxxx xx01 - CUG call
+ -- xxxx xx10 - non CUG call
+ -- xxxx xx11 - maybe a CUG call
+
+Nokia-CUG-Data ::= SEQUENCE {
+ cug-Interlock [0] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [1] BOOLEAN OPTIONAL,
+ cug-CallInfo [2] CUG-CallInfo OPTIONAL,
+ ...}
+ -- cug-OutgoingAccess must be BOOLEAN (not NULL), because
+ -- it must be possible to transfer cug-CallInfo without
+ -- the other parameters
+
+SriResExtension ::= [PRIVATE 0] SEQUENCE {
+ inTriggerKey [0] InTriggerKey OPTIONAL,
+ vlrNumber [1] ISDN-AddressString OPTIONAL,
+ activeSs [2] ActiveSS-List OPTIONAL,
+ traceReference [3] TraceReference OPTIONAL,
+ traceType [4] TraceType OPTIONAL,
+ omc-Id [5] AddressString OPTIONAL,
+ hotBilling [6] BOOLEAN OPTIONAL,
+ cfoIsDone [7] BOOLEAN OPTIONAL,
+ cfInCug [8] BOOLEAN OPTIONAL,
+ basicService [9] BasicServiceCode OPTIONAL,
+ category [10] Category OPTIONAL,
+ routingCategory [11] RoutingCategory OPTIONAL,
+ pnpIndex [12] PnpIndex OPTIONAL,
+ nokia-CUG [13] Nokia-CUG-Data OPTIONAL,
+ noBarrings [14] NULL OPTIONAL,
+ odb-Data [15] ODB-Data OPTIONAL,
+ fraudData [16] FraudData OPTIONAL,
+ extRoutingCategory [17] ExtRoutingCategory OPTIONAL,
+ leaId [18] LeaId OPTIONAL,
+ olcmInfoTable [19] OlcmInfoTable OPTIONAL,
+ callingCategory [20] CallingCategory OPTIONAL,
+ commonMSISDN [21] ISDN-AddressString OPTIONAL,
+ rgData [22] RgData OPTIONAL,
+ olcmTraceReference [23] OlcmTraceReference OPTIONAL,
+ ...}
+
+RgData ::= SEQUENCE {
+ noAnswerTimer [0] NoAnswerTimer OPTIONAL,
+ memberList [1] MemberList OPTIONAL,
+ alertingMethod [2] AlertingMethod OPTIONAL,
+ userType [3] UserType OPTIONAL,
+ divertedToNbr [4] ISDN-AddressString OPTIONAL,
+ memberOfSuppression [5] NULL OPTIONAL,
+ ringbacktone [6] NULL OPTIONAL,
+ ...}
+
+NoAnswerTimer ::= OCTET STRING (SIZE (1))
+
+MemberList ::= SEQUENCE SIZE (1..5) OF
+ ISDN-AddressString
+
+AlertingMethod ::= OCTET STRING (SIZE (1))
+ -- '00' = sequential
+ -- '01' = parallel
+ -- '02' = sequential / parallel
+ -- '03' = intelligent
+
+UserType ::= OCTET STRING (SIZE (1))
+ -- '00' = single
+ -- '01' = multiple
+
+MAPserviceCode ::= OCTET STRING (SIZE (1))
+
+picLock MAPserviceCode ::= '00000001'B
+prefCarrierId MAPserviceCode ::= '00000010'B
+mKey MAPserviceCode ::= '00000011'B
+smsKey MAPserviceCode ::= '00000100'B
+fraud-Data MAPserviceCode ::= '00000101'B
+cell-update MAPserviceCode ::= '00000110'B
+
+maxnumOfMAPservices INTEGER ::= 256
+
+MAPserviceList ::= OCTET STRING (SIZE (0..maxnumOfMAPservices))
+
+CarrierIdCode ::= OCTET STRING (SIZE (3))
+ -- the internal structure is defined in T1.113
+
+PrefCarrierIdList ::= SEQUENCE {
+ prefCarrierIdCode1 [0] CarrierIdCode,
+ ...}
+
+ANSIIsdArgExt ::= [PRIVATE 30] SEQUENCE {
+ prefCarrierIdList [0] PrefCarrierIdList OPTIONAL,
+ ...}
+
+ANSISriResExt ::= [PRIVATE 30] SEQUENCE {
+ prefCarrierIdList [0] PrefCarrierIdList OPTIONAL,
+ ...}
+
+CanLocArgExt ::= [PRIVATE 0] SEQUENCE {
+ termination [0] OCTET STRING (SIZE (1)) OPTIONAL,
+ ...}
+
+ATMargExt ::= [PRIVATE 0] SEQUENCE {
+ traceReference [0] TraceReference OPTIONAL,
+ traceType [1] TraceType OPTIONAL,
+ leaId [2] LeaId OPTIONAL,
+ olcmInfoTable [3] OlcmInfoTable OPTIONAL,
+ olcmTraceReference [4] OlcmTraceReference OPTIONAL,
+ ... }
+
+LeaId ::= INTEGER (0..65535)
+
+OlcmInfoTable ::= SEQUENCE SIZE (1..maxNumOfLEAs) OF
+ OlcmInfo
+
+maxNumOfLEAs INTEGER ::= 7
+
+OlcmInfo ::= SEQUENCE {
+ traceReference [0] TraceReference,
+ traceType [1] TraceType,
+ leaId [2] LeaId OPTIONAL,
+ olcmTraceReference [3] OlcmTraceReference OPTIONAL,
+ ... }
+
+OlcmTraceReference ::= OCTET STRING (SIZE (1..4))
+
+ATMresExt ::= [PRIVATE 0] SEQUENCE {
+ olcmActive [0] NULL OPTIONAL,
+ ... }
+
+DTMargExt ::= [PRIVATE 0] SEQUENCE {
+ traceType [0] TraceType OPTIONAL,
+ leaId [1] LeaId OPTIONAL,
+ olcmTraceReference [2] OlcmTraceReference OPTIONAL,
+ ... }
+
+VersionInfo ::= OCTET STRING (SIZE (1))
+ -- 0000 0001 : version 1
+
+maxNumOfServicesWithInfo INTEGER ::= 20
+
+FraudInfo ::= SEQUENCE {
+ moc [0] FraudData OPTIONAL,
+ cf [1] FraudData OPTIONAL,
+ ct [2] FraudData OPTIONAL,
+ ...}
+
+FraudData ::= SEQUENCE {
+ time [0] TimeLimit OPTIONAL,
+ timeAction [1] ActionType OPTIONAL,
+ maxCount [2] FraudMaxCount OPTIONAL,
+ maxCountAction [3] ActionType OPTIONAL,
+ ...}
+
+TimeLimit ::= INTEGER (0..64800)
+
+ActionType ::= OCTET STRING (SIZE (1..10))
+ -- only 1st octet is used to transfer action type in M10
+ -- other octets are reserved for future use
+
+FraudMaxCount ::= INTEGER (0..255)
+
+ServiceWithInfo ::= SEQUENCE {
+ serviceCode [0] MAPserviceCode OPTIONAL,
+ versionInfo [1] VersionInfo DEFAULT '1'B,
+ in-key INKey OPTIONAL,
+ fraudInfo FraudInfo OPTIONAL,
+ ...}
+
+ServiceListWithInfo ::= SEQUENCE SIZE (1..maxNumOfServicesWithInfo) OF
+ ServiceWithInfo
+
+INKey ::= CHOICE {
+ mobile-IN-key [2] MKey,
+ sms-IN-key [3] SMSKey }
+
+MmTdpName ::= OCTET STRING (SIZE (1..8))
+ -- bits 876543: 000000 (unused)
+ --
+ -- bit 2: Intra-VLR-Locup-DP
+ -- 1 DP is set
+ -- 0 DP is not set
+ --
+ -- bit 1: Inter-VLR-Locup-DP
+ -- 1 DP is set
+ -- 0 DP is not set
+
+ServiceKey ::= INTEGER (0..2147483647)
+ -- 4 bytes
+
+MKeyVer ::= OCTET STRING (SIZE (1))
+ -- 0000 0001 : version 1
+
+LocupType ::= OCTET STRING (SIZE (1..8))
+ -- bits 87654: 00000 (unused)
+ --
+ -- bit 3: Normal-Locup
+ -- 1 LocupType is set (default)
+ -- 0 LocupType is not set
+ --
+ -- bit 2: Periodic-Locup
+ -- 1 LocupType is set
+ -- 0 LocupType is not set (default)
+ --
+ -- bit 1: IMSI-attach-Locup
+ -- 1 LocupType is set
+ -- 0 LocupType is not set (default)
+
+MKey::= SEQUENCE{
+ mKeyVer [0] MKeyVer DEFAULT '1'B,
+ mmScfAddress [1] ISDN-AddressString OPTIONAL,
+ mmTdpName [2] MmTdpName OPTIONAL,
+ serviceKey [3] ServiceKey OPTIONAL,
+ locupType [4] LocupType OPTIONAL,
+ ...}
+ -- if mKeyVer parameter is missing, it is interpreted as
+ -- "version 1".
+ -- mmScfAddress, mmTtdpId and serviceKey parameters must be
+ -- present on version 1.
+ --
+ -- Feature 742 : "IN Mobility Management"
+
+SmsTdpName ::= OCTET STRING (SIZE (1..8))
+ -- bits 87654: 00000 (unused)
+ --
+ -- bit 3: SR-SMS-DP
+ -- 1 DP is set
+ -- 0 DP is not set
+ --
+ -- bit 2: MO-SMS-DP
+ -- 1 DP is set
+ -- 0 DP is not set
+ --
+ -- bit 1: MT-SMS-DP
+ -- 1 DP is set
+ -- 0 DP is not set
+
+SMSKey ::= SEQUENCE{
+ mmSCPAddress [0] ISDN-AddressString OPTIONAL,
+ smsTdpName [1] SmsTdpName OPTIONAL,
+ serviceKey [2] ServiceKey OPTIONAL,
+ mmsFlag [3] NULL OPTIONAL,
+ ...}
+
+NumberPorted ::= [PRIVATE 20] ENUMERATED {
+ notPorted (0),
+ ported (1),
+ ...}
+
+USSD-Extension ::= [PRIVATE 10] SEQUENCE {
+ routingCategory [0] RoutingCategory OPTIONAL,
+ cellId [1] CellGlobalIdOrServiceAreaIdFixedLength OPTIONAL,
+ sai-Present [2] NULL OPTIONAL,
+ ...}
+
+HO-Ext ::= [PRIVATE 0] SEQUENCE {
+ map-Opt [0] MapOptFields OPTIONAL,
+ codec-List [1] CodecListExt OPTIONAL,
+ selected-Codec [2] SelectedCodec OPTIONAL,
+ uma-access [3] NULL OPTIONAL,
+ uma-ip-address [4] OCTET STRING (SIZE (5..17)) OPTIONAL,
+ uma-ip-port-nb [5] IPPortNb OPTIONAL,
+ ... }
+
+MapOptFields ::= OCTET STRING (SIZE (1))
+ -- bits 87: 00 (unused)
+ -- bit 6: codec
+ -- 1 set
+ -- 0 not set
+ -- bit 5: tfo_set
+ -- 1 set
+ -- 0 not set
+ -- bit 4: tfo_not_set
+ -- 1 set
+ -- 0 not set
+ -- bit 3: emerg
+ -- 1 set
+ -- 0 not set
+ -- bit 2: usim
+ -- 1 set
+ -- 0 not set
+ -- bit 1: sim
+ -- 1 set
+ -- 0 not set
+
+CodecListExt ::= SEQUENCE (SIZE(0..maxNumOfCodec)) OF
+ CodecExt
+
+maxNumOfCodec INTEGER ::= 8
+
+CodecExt ::= OCTET STRING (SIZE(1))
+
+SelectedCodec ::= SEQUENCE {
+ codec [0] CodecExt,
+ modes [1] Modes,
+ ...}
+
+Modes ::= OCTET STRING (SIZE(9))
+
+IPPortNb ::= INTEGER (0..65535)
+
+AbsentSubscriberExt ::= [PRIVATE 0] SEQUENCE {
+ olcmInfoTable [0] OlcmInfoTable OPTIONAL,
+ imsi [1] IMSI OPTIONAL,
+ ...}
+
+ErrOlcmInfoTableExt ::= [PRIVATE 0] SEQUENCE {
+ olcmInfoTable [0] OlcmInfoTable OPTIONAL,
+ imsi [1] IMSI OPTIONAL,
+ ...}
+
+RoutingCategoryExt ::= [PRIVATE 0] SEQUENCE {
+ routingCategory [0] RoutingCategory OPTIONAL,
+ extRoutingCategory [1] ExtRoutingCategory OPTIONAL,
+ ... }
+
+SriForSMArgExt ::= [PRIVATE 0] SEQUENCE {
+ cfuSMSCounter [0] CfuSMSCounter OPTIONAL,
+ cfusmcfo [2] NULL OPTIONAL,
+ memberInterrogate [3] NULL OPTIONAL,
+ ... }
+
+ReportSMDelStatArgExt ::= [PRIVATE 0] SEQUENCE {
+ cfuSMSCounter [0] CfuSMSCounter OPTIONAL,
+ cfusmcfo [2] NULL OPTIONAL,
+ ... }
+
+CfuSMSCounter ::= OCTET STRING (SIZE (1))
+
+MO-ForwardSM-ArgExt ::= [PRIVATE 0] SEQUENCE {
+ locationAreaCode [0] LocationAreaCode OPTIONAL,
+ cellId [1] CellGlobalIdOrServiceAreaIdFixedLength OPTIONAL,
+ ... }
+
+LocationAreaCode ::= OCTET STRING(SIZE (2))
+ -- octets 1 and 2 of LocationAreaCode according to 3GPP TS 24.008
+
+UdlArgExt ::= [PRIVATE 0] SEQUENCE {
+ lai [0] LAIFixedLength OPTIONAL,
+ sendImmResp [1] NULL OPTIONAL,
+ ... }
+
+RoamNotAllowedExt ::= [PRIVATE 0] SEQUENCE {
+ rejectCause [0] OCTET STRING (SIZE (1)) OPTIONAL,
+ ... }
+
+AnyTimeModArgExt ::= [PRIVATE 0] SEQUENCE {
+ senderMSISDN [0] ISDN-AddressString OPTIONAL,
+ ... }
+
+CosInfo::= SEQUENCE {
+ ss-Code SS-Code OPTIONAL,
+ cos-FeatureList COS-FeatureList }
+
+COS-FeatureList ::= SEQUENCE SIZE (1..maxNumberOfCOSFeatures) OF
+ COS-Feature
+
+maxNumberOfCOSFeatures INTEGER ::= 13
+ -- This reflects the number of basic service groups, and is
+ -- consistent with other features (i.e., Forwarding Features,
+ -- CallBarring Features, etc.).
+
+COS-Feature ::= SEQUENCE {
+ basicServiceCode BasicServiceCode OPTIONAL,
+ ss-Status [4] SS-Status,
+ customerGroupID [5] CustomerGroupID OPTIONAL,
+ subGroupID [6] SubGroupID OPTIONAL,
+ classOfServiceID [7] ClassOfServiceID OPTIONAL }
+
+CustomerGroupID ::= BIT STRING {
+ formatIndicator (0),
+ idHighBit (8),
+ netidHighBit (16),
+ idLowBit (31) } (SIZE(32))
+ -- formatIndicator is encoded as follows:
+ -- 0 : International Format
+ -- 1 : Network Format
+ -- Bits 1-7 Unused (encoded as 0000000)
+ -- The remaining bits (3 octets) are the bit representation of the
+ -- Customer Group Identifier. All bits are significant.
+
+SubGroupID ::= BIT STRING (SIZE (16))
+
+ClassOfServiceID ::= BIT STRING {
+ formatIndicator (0),
+ idHighBit (8),
+ idLowBit (15) } (SIZE(16))
+ -- formatIndicator is encoded as follows:
+ -- 0 : International Format
+ -- 1 : Network Format
+ -- Bits 1-7 Unused (encoded as 0000000)
+ -- The remaining bits (one octet) is the bit representation of the
+ -- Class Of Service Identifier. All bits are significant.
+
+AccessTypeExt ::= SEQUENCE {
+ access Access,
+ version Version,
+ ...}
+
+Access ::= ENUMERATED {
+ gsm (1),
+ geran (2),
+ utran (3),
+ ...}
+
+Version ::= INTEGER (1..20)
+
+AccessSubscriptionListExt ::= SEQUENCE SIZE (1..10) OF
+ Access
+
+AllowedServiceData ::= BIT STRING {
+ amr-wb-allowed (0)} (SIZE(1..16))
+
+AnyTimePO-BarringArg ::= SEQUENCE {
+ subscriberIdentity [0] SubscriberIdentity,
+ gsmSCF-Address [3] ISDN-AddressString,
+ gprs-Barring GprsBarring,
+ ...}
+
+AnyTimePO-BarringRes ::= SEQUENCE {
+ ...}
+
+GprsBarring ::= ENUMERATED {
+ gprsServiceBarring (0),
+ grantGPRS-Service (1),
+ ...}
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/SS-DataTypes.asn b/epan/dissectors/asn1/gsm_map/SS-DataTypes.asn
new file mode 100644
index 00000000..854b32d8
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/SS-DataTypes.asn
@@ -0,0 +1,599 @@
+-- 3GPP TS 24.080 V15.0.0 (2018-06)
+-- 4.4.2 ASN.1 data types
+SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3)
+ ss-DataTypes (2) version12 (12)}
+
+DEFINITIONS
+
+IMPLICIT TAGS ::=
+
+BEGIN
+
+-- exports all data types defined in this module
+
+IMPORTS
+
+SS-Code
+FROM MAP-SS-Code {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-SS-Code (15) version12 (12)}
+
+-- imports MAP-SS-DataTypes
+SS-Status, USSD-DataCodingScheme, USSD-String, CCBS-Feature
+-- USSD-DataCodingScheme, USSD-String were introduced because of CNAP.
+FROM MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-SS-DataTypes (14) version12 (12)}
+
+CUG-Index,
+NotificationToMSUser
+FROM MAP-MS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-MS-DataTypes (11) version12 (12)}
+
+maxSignalInfoLength,
+ISDN-AddressString,
+ISDN-SubaddressString,
+AlertingPattern,
+LCSClientExternalID,
+AddressString,
+LCSServiceTypeID,
+AgeOfLocationInformation,
+GSN-Address
+FROM MAP-CommonDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-CommonDataTypes (18) version12 (12)}
+
+LocationType,
+DeferredLocationEventType,
+LCSClientName,
+LCS-QoS,
+Horizontal-Accuracy,
+ResponseTime,
+Ext-GeographicalInformation,
+VelocityEstimate,
+SupportedGADShapes,
+Add-GeographicalInformation,
+LCSRequestorID,
+LCS-ReferenceNumber,
+LCSCodeword,
+AreaEventInfo,
+ReportingPLMNList,
+PeriodicLDRInfo,
+SequenceNumber,
+OccurrenceInfo,
+IntervalTime
+
+FROM MAP-LCS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-LCS-DataTypes (25) version12 (12)}
+
+;
+
+-- data types definition
+
+SS-UserData ::= IA5String (SIZE (1.. maxSignalInfoLength))
+
+NotifySS-Arg ::= SEQUENCE{
+ ss-Code [1] SS-Code OPTIONAL,
+ ss-Status [4] SS-Status OPTIONAL,
+ ss-Notification [5] SS-Notification OPTIONAL,
+ callIsWaiting-Indicator [14] NULL OPTIONAL,
+ callOnHold-Indicator [15] CallOnHold-Indicator OPTIONAL,
+ mpty-Indicator [16] NULL OPTIONAL,
+ cug-Index [17] CUG-Index OPTIONAL,
+ clirSuppressionRejected [18] NULL OPTIONAL,
+ ... ,
+ ect-Indicator [19] ECT-Indicator OPTIONAL,
+ nameIndicator [20] NameIndicator OPTIONAL,
+ ccbs-Feature [21] CCBS-Feature OPTIONAL,
+ alertingPattern [22] AlertingPattern OPTIONAL,
+ multicall-Indicator [23] Multicall-Indicator OPTIONAL}
+
+-- The nameIndicator is defined because of CNAP.
+
+Multicall-Indicator ::= ENUMERATED {
+ nbr-SNexceeded (0),
+ nbr-Userexceeded (1)}
+
+ForwardChargeAdviceArg ::= SEQUENCE{
+ ss-Code [0] SS-Code,
+ chargingInformation [1] ChargingInformation,
+ ...}
+
+SS-Notification ::= OCTET STRING (SIZE (1))
+
+-- Bit 8 7 6 5 4 00000 (Unused)
+
+-- Bit 3 Call is forwarded indication to A-subscriber
+-- (calling subscriber)
+-- 0 No information content
+-- 1 Outgoing call has been forwarded to C
+
+-- Bit 2 Call is forwarded indication to B-subscriber
+-- (forwarding subscriber)
+-- 0 No information content
+-- 1 Incoming call has been forwarded to C
+
+-- Bit 1 Call is forwarded indication to C-subscriber
+-- (forwarded-to subscriber)
+-- 0 No information content
+-- 1 Incoming call is a forwarded call
+
+ChargingInformation ::= SEQUENCE{
+ e1 [1] E1 OPTIONAL,
+ e2 [2] E2 OPTIONAL,
+ e3 [3] E3 OPTIONAL,
+ e4 [4] E4 OPTIONAL,
+ e5 [5] E5 OPTIONAL,
+ e6 [6] E6 OPTIONAL,
+ e7 [7] E7 OPTIONAL,
+ ...}
+
+E1 ::= INTEGER (0..max10TimesUnitsPerTime)
+max10TimesUnitsPerTime INTEGER ::= 8191
+
+E2 ::= INTEGER (0..max10TimesTimeInterval)
+max10TimesTimeInterval INTEGER ::= 8191
+
+E3 ::= INTEGER (0..max100TimesScalingFactor)
+max100TimesScalingFactor INTEGER ::= 8191
+
+E4 ::= INTEGER (0..max10TimesIncrement)
+max10TimesIncrement INTEGER ::= 8191
+
+E5 ::= INTEGER (0..max10TimesIncrementPerDataInterval)
+max10TimesIncrementPerDataInterval INTEGER ::= 8191
+
+E6 ::= INTEGER (0..maxNumberOfSegmentsPerDataInterval)
+maxNumberOfSegmentsPerDataInterval INTEGER ::= 8191
+
+E7 ::= INTEGER (0..max10TimesInitialTime)
+max10TimesInitialTime INTEGER ::= 8191
+
+CallOnHold-Indicator ::= ENUMERATED {
+ callRetrieved (0),
+ callOnHold (1)}
+
+ForwardCUG-InfoArg ::= SEQUENCE {
+ cug-Index [0] CUG-Index OPTIONAL,
+ suppressPrefCUG [1] NULL OPTIONAL,
+ suppressOA [2] NULL OPTIONAL,
+ ...}
+
+ECT-Indicator ::= SEQUENCE {
+ ect-CallState [0] ECT-CallState,
+ rdn [1] RDN OPTIONAL,
+ ...}
+
+ECT-CallState ::= ENUMERATED {
+ alerting (0),
+ active (1)}
+
+ NameIndicator ::= SEQUENCE {
+ callingName [0] Name OPTIONAL,
+ ...}
+
+ Name ::= CHOICE {
+ namePresentationAllowed [0] NameSet,
+ presentationRestricted [1] NULL,
+ nameUnavailable [2] NULL,
+ namePresentationRestricted [3] NameSet}
+
+ NameSet ::= SEQUENCE {
+ dataCodingScheme [0] USSD-DataCodingScheme,
+ lengthInCharacters [1] INTEGER,
+ nameString [2] USSD-String,
+ ...}
+
+-- NameIndicator, Name and NameSet are defined because of CNAP.
+-- The USSD-DataCodingScheme shall indicate use of the default alphabet through the
+-- following encoding:
+-- bit 7 6 5 4 3 2 1 0
+-- | 0 0 0 0 | 1 1 1 1|
+
+RDN ::= CHOICE {
+ presentationAllowedAddress [0] RemotePartyNumber,
+ presentationRestricted [1] NULL,
+ numberNotAvailableDueToInterworking [2] NULL,
+ presentationRestrictedAddress [3] RemotePartyNumber}
+
+RemotePartyNumber ::= SEQUENCE {
+ partyNumber [0] ISDN-AddressString,
+ partyNumberSubaddress [1] ISDN-SubaddressString OPTIONAL,
+ ...}
+
+AccessRegisterCCEntryArg ::= SEQUENCE {
+ ...}
+
+CallDeflectionArg ::= SEQUENCE {
+ deflectedToNumber [0] AddressString,
+ deflectedToSubaddress [1] ISDN-SubaddressString OPTIONAL,
+ ...}
+
+UserUserServiceArg ::= SEQUENCE {
+ uUS-Service [0] UUS-Service,
+ uUS-Required [1] BOOLEAN,
+ ... }
+
+UUS-Service ::= ENUMERATED {
+ uUS1 (1),
+ uUS2 (2),
+ uUS3 (3),
+ ... }
+
+-- exception handling:
+-- In case of UUS-Service with any other value, indicated as "UUS required",
+-- but not understood by the MS, the call will be cleared.
+
+LocationNotificationArg ::= SEQUENCE {
+ notificationType [0] NotificationToMSUser,
+ locationType [1] LocationType,
+ lcsClientExternalID [2] LCSClientExternalID OPTIONAL,
+ lcsClientName [3] LCSClientName OPTIONAL,
+ ... ,
+ lcsRequestorID [4] LCSRequestorID OPTIONAL,
+ lcsCodeword [5] LCSCodeword OPTIONAL,
+ lcsServiceTypeID [6] LCSServiceTypeID OPTIONAL,
+ deferredLocationExt [7] DeferredLocationExt OPTIONAL }
+
+-- The notificationType may only be set to notifyLocationAllowed,
+-- notifyAndVerify-LocationAllowedIfNoResponse,
+-- or notifyAndVerify-LocationNotAllowedIfNoResponse.
+-- The locationEstimateType field of the locationType may only be set to
+-- currentLocation, currentOrLastKnownLocation,
+-- notificationVerificationOnly, or activateDeferredLocation.
+-- The deferredLocationEventType field of the locationType may only be set to
+-- enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea,
+-- and/or periodicLDR.
+-- For LCS location notification of MT-LR for current location, the
+-- locationEstimateType field of the locationType shall be set to currentLocation.
+-- For LCS location notification of MT-LR for current or last known location, the
+-- locationEstimateType field of the locationType shall be set to currentOrLastKnownLocation.
+-- For the LCS location notification for the LDR of MS available event,
+-- the locationEstimateType field of the locationType shall be set to currentLocation.
+-- For LCS location notification for the LDR of change of area event,
+-- the locationEstimateType field of the locationType shall be set to
+-- activateDeferredLocation, and the deferredLocationEventType shall be
+-- set to enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea.
+-- For the post positioning LCS location notification, the locationEstimateType
+-- field of the locationType shall be set to notificationVerificationOnly.
+-- For LCS location notification for the LDR of periodic location event,
+-- the locationEstimateType field of the locationType shall be set to
+-- activateDeferredLocation, and the
+-- deferredLocationEventType shall be set to periodicLDR.
+-- For LCS location notification for the LDR of the motion event,
+-- the locationEstimateType field of the locationType shall be set to
+-- activateDeferredLocation, the deferredLocationEventType shall be omitted
+-- and the deferredLocationExt shall be set to motionEvent.
+
+
+-- exception handling:
+-- At reception of an unrecognised notificationType value the receiver shall reject the
+-- operation with a return error cause of unexpected data value.
+-- At reception of an unrecognised locationType value the receiver shall reject the
+-- operation with a return error cause of unexpected data value.
+-- At reception of an unallowed notificationType value the receiver shall either ignore the
+-- received operation or reject the operation with a return error cause of unexpected
+-- data value.
+-- At reception of an unallowed locationType value the receiver shall either ignore the
+-- received operation or reject the operation with a return error cause of unexpected
+-- data value.
+
+DeferredLocationExt ::= BIT STRING {
+ motionEvent (0) } (SIZE (1..16))
+-- A bit set to one indicates that the corresponding deferred location type is present.
+-- A bit set to zero indicates that the corresponding deferred location type is absent.
+
+
+LocationNotificationRes ::= SEQUENCE {
+ verificationResponse [0] VerificationResponse OPTIONAL,
+ ...}
+
+VerificationResponse::= ENUMERATED {
+ permissionDenied (0),
+ permissionGranted (1),
+ ... }
+
+-- exception handling:
+-- an unrecognized value shall be treated the same as value 0 (permissionDenied)
+
+LCS-MOLRArg ::= SEQUENCE {
+ molr-Type [0] MOLR-Type,
+ locationMethod [1] LocationMethod OPTIONAL,
+ lcs-QoS [2] LCS-QoS OPTIONAL,
+ lcsClientExternalID [3] LCSClientExternalID OPTIONAL,
+ mlc-Number [4] ISDN-AddressString OPTIONAL,
+ gpsAssistanceData [5] GPSAssistanceData OPTIONAL,
+ ...,
+ supportedGADShapes [6] SupportedGADShapes OPTIONAL,
+ lcsServiceTypeID [7] LCSServiceTypeID OPTIONAL,
+ ageOfLocationInfo [8] AgeOfLocationInformation OPTIONAL,
+ locationType [9] LocationType OPTIONAL,
+ pseudonymIndicator [10] NULL OPTIONAL,
+ h-gmlc-address [11] GSN-Address OPTIONAL,
+ locationEstimate [12] Ext-GeographicalInformation OPTIONAL,
+ velocityEstimate [13] VelocityEstimate OPTIONAL,
+ referenceNumber [14] LCS-ReferenceNumber OPTIONAL,
+ periodicLDRInfo [15] PeriodicLDRInfo OPTIONAL,
+ locationUpdateRequest [16] NULL OPTIONAL,
+ sequenceNumber [17] SequenceNumber OPTIONAL,
+ terminationCause [18] TerminationCause OPTIONAL,
+ mo-lrShortCircuit [19] NULL OPTIONAL,
+ ganssAssistanceData [20] GANSSAssistanceData OPTIONAL,
+ multiplePositioningProtocolPDUs [21] MultiplePositioningProtocolPDUs OPTIONAL,
+ locationInfo [22] Location-Info OPTIONAL }
+-- The parameter locationMethod shall be included if and only if the molr-Type is set to value
+-- deCipheringKeys or assistanceData.
+-- The parameter gpsAssistanceData shall be included if and only if the molr-Type is set to value
+-- assistanceData and locationMethod is set to value assistedGPS or assistedGPSandGANSS.
+-- The parameter ganssAssistanceData shall be included if and only if the molr-Type is set to value
+-- assistanceData and locationMethod is set to value assistedGANSS or assistedGPSandGANSS.
+-- supportedGADShapes shall not be included for deferred MO-LR initiation or deferred MO-LR or MT-LR
+-- responses
+-- multiplePositioningProtocolPDUs may only be included for E-UTRAN access for an EPC-MO-LR.
+-- locationMethod shall not be included for E-UTRAN access.
+-- gpsAssistanceData shall not be included for E-UTRAN access.
+-- velocityEstimate shall not be included for E-UTRAN access.
+-- periodicLDRInfo shall not be included for E-UTRAN access.
+-- locationUpdateRequest shall not be included for E-UTRAN access.
+-- sequenceNumber shall not be included for E-UTRAN access.
+-- mo-lrShortCircuit shall not be included for E-UTRAN access.
+-- ganssAssistanceData shall not be included for E-UTRAN access.
+-- locationInfo shall be included if available for E-UTRAN access for a periodic and triggered
+-- event report.
+
+
+
+MOLR-Type::= ENUMERATED {
+ locationEstimate (0),
+ assistanceData (1),
+ deCipheringKeys (2),
+ ... ,
+ deferredMo-lrTTTPInitiation (3),
+ deferredMo-lrSelfLocationInitiation (4),
+ deferredMt-lrOrmo-lrTTTPLocationEstimate (5),
+ deferredMt-lrOrmo-lrCancellation (6),
+ periodicEvent (7),
+ enteringAreaEvent (8),
+ leavingAreaEvent (9),
+ beingInsideAreaEvent (10),
+ motionEvent (11),
+ maximumIntervalExpirationEvent (12) }
+-- exception handling:
+-- an unrecognized value shall be rejected by the receiver with a return error cause of
+-- unexpected data value.
+-- For E-UTRAN access, only locationEstimate, assistanceData, periodicEvent,
+-- deferredMt-lrOrmo-lrCancellation, enteringAreaEvent, leavingAreaEvent, beingInsideAreaEvent,
+-- motionEvent or maximumIntervalExpirationEvent shall be included
+
+
+LocationMethod::= ENUMERATED {
+ msBasedEOTD (0),
+ msAssistedEOTD (1),
+ assistedGPS (2),
+ ...,
+ msBasedOTDOA (3),
+ assistedGANSS (4),
+ assistedGPSandGANSS (5)
+ }
+-- exception handling:
+-- When this parameter is received with value msBasedEOTD or msAssistedEOTD and the MS
+-- is camped on an UMTS Service Area then the receiver shall reject it
+-- with a return error cause of unexpected data value.
+-- When this parameter is received with value msBasedOTDOA and the MS
+-- is camped on a GSM Cell then the receiver shall reject it with a return error cause of
+-- unexpected data value.
+-- an unrecognized value shall be rejected by the receiver with a return error cause of
+-- unexpected data value.
+
+GPSAssistanceData::= OCTET STRING (SIZE (1..38))
+-- Octets 1 to 38 are coded in the same way as the octets 3 to 7+2n of Requested GPS Data IE
+-- in 3GPP TS 49.031 [14].
+
+GANSSAssistanceData::= OCTET STRING (SIZE (1..40))
+-- Octets 1 to 40 are coded in the same way as the octets 3 to 9+2n of Requested GANSS Data IE
+-- in 3GPP TS 49.031 [14] .
+
+TerminationCause ::= ENUMERATED {
+ subscriberTermination (0),
+ uETermination (1),
+ ...}
+
+MultiplePositioningProtocolPDUs ::= SEQUENCE (SIZE (1..maxNumLPPMsg)) OF PositioningProtocolPDU
+
+PositioningProtocolPDU ::= OCTET STRING
+-- PositioningProtocolPDU contains a LPP message defined in 3GPP TS 36.355 [17].
+
+maxNumLPPMsg INTEGER ::= 3
+
+
+
+LCS-MOLRRes::= SEQUENCE {
+ locationEstimate [0] Ext-GeographicalInformation OPTIONAL,
+ decipheringKeys [1] DecipheringKeys OPTIONAL,
+ ...,
+ add-LocationEstimate [2] Add-GeographicalInformation OPTIONAL,
+ velocityEstimate [3] VelocityEstimate OPTIONAL,
+ referenceNumber [4] LCS-ReferenceNumber OPTIONAL,
+ h-gmlc-address [5] GSN-Address OPTIONAL,
+ mo-lrShortCircuit [6] NULL OPTIONAL,
+ reportingPLMNList [7] ReportingPLMNList OPTIONAL
+ }
+-- Parameters locationEstimate or add-LocationEstimate (one but not both)
+-- shall be included if and only if the
+-- molr-Type in LocationRequestArg was set to value locationEstimate.
+-- Parameter add-LocationEstimate shall not be included if the supportedGADShapes
+-- parameter was not received in the LCS-MOLRArg.
+-- The locationEstimate and the add-locationEstimate parameters shall not be sent if
+-- the supportedGADShapes parameter has been received in LCS-MOLRArg
+-- and the shape encoded in locationEstimate or add-LocationEstimate is not marked
+-- as supported in supportedGADShapes. In such a case LCS-MOLRArg
+-- shall be rejected with error FacilityNotSupported with additional indication
+-- shapeOfLocationEstimateNotSupported.
+-- Parameter decipheringKeys shall be included if and only if the molr-Type
+-- in LocationRequestArg was set to value deCipheringKeys.
+-- Parameter velocityEstimate may only be included if the lcs-QoS in LCS-MOLRarg includes
+-- velocityRequest
+-- decipheringKeys shall not be included for E-UTRAN access.
+-- referenceNumber shall not be included for E-UTRAN access.
+-- h-gmlc-address shall not be included for E-UTRAN access.
+-- mo-lrShortCircuit shall not be included for E-UTRAN access.
+-- reportingPLMNList shall not be included for E-UTRAN access.
+
+
+
+DecipheringKeys::= OCTET STRING (SIZE (15))
+-- Octets in DecipheringKeys are coded in the same way as the octets 3 to 17 of Deciphering Key IE
+-- in 3GPP TS 49.031 [14]. I.e. these octets contain Current Deciphering Key, Next Deciphering Key and
+-- Ciphering Key Flag.
+LCS-AreaEventRequestArg ::= SEQUENCE {
+ referenceNumber [0] LCS-ReferenceNumber,
+ h-gmlc-address [1] GSN-Address,
+ deferredLocationEventType [3] DeferredLocationEventType,
+ areaEventInfo [4] AreaEventInfo,
+ ... }
+
+-- the msAvailableValue in the DeferredLocationEventType is not applicable for this procedure
+
+LCS-AreaEventReportArg ::= SEQUENCE {
+ referenceNumber [0] LCS-ReferenceNumber,
+ h-gmlc-address [1] GSN-Address,
+ ... }
+
+LCS-AreaEventCancellationArg ::= SEQUENCE {
+ referenceNumber [0] LCS-ReferenceNumber,
+ h-gmlc-address [1] GSN-Address,
+ ... }
+
+
+LCS-PeriodicLocationRequestArg ::= SEQUENCE {
+ referenceNumber [0] LCS-ReferenceNumber,
+ periodicLDRInfo [1] PeriodicLDRInfo,
+ lcsClientExternalID [2] LCSClientExternalID,
+ qoS [3] LCS-QoS OPTIONAL,
+ h-gmlc-address [4] GSN-Address OPTIONAL,
+ mo-lrShortCircuit [5] NULL OPTIONAL,
+ reportingPLMNList [6] ReportingPLMNList OPTIONAL,
+ ... }
+
+
+LCS-PeriodicLocationRequestRes ::= SEQUENCE {
+ mo-lrShortCircuit [0] NULL OPTIONAL,
+ ... }
+
+
+LCS-LocationUpdateArg ::= SEQUENCE {
+ referenceNumber [0] LCS-ReferenceNumber OPTIONAL,
+ add-LocationEstimate[1] Add-GeographicalInformation OPTIONAL,
+ velocityEstimate [2] VelocityEstimate OPTIONAL,
+ sequenceNumber [3] SequenceNumber OPTIONAL,
+ ... }
+-- add-LocationEstimate shall be included if and only if a location estimate was successfully
+-- transferred towards an External LCS Client or was successfully obtained for UE self location
+-- velocityEstimate may only be included if add-LocationEstimate is included
+
+LCS-LocationUpdateRes ::= SEQUENCE {
+ terminationCause [0] TerminationCause OPTIONAL,
+ ... }
+
+LCS-PeriodicLocationCancellationArg ::= SEQUENCE {
+ referenceNumber [0] LCS-ReferenceNumber,
+ h-gmlc-address [1] GSN-Address OPTIONAL,
+ ... }
+
+LCS-PeriodicTriggeredInvokeArg ::= SEQUENCE {
+ referenceNumber [0] LCS-ReferenceNumber,
+ h-gmlc-address [1] GSN-Address,
+ qoS [2] LCS-QoS OPTIONAL,
+ reportingPLMNList [3] ReportingPLMNList OPTIONAL,
+ periodicLocation [4] PeriodicLocation OPTIONAL,
+ areaEventReporting [5] AreaEventReporting OPTIONAL,
+ motionEventReporting [6] MotionEventReporting OPTIONAL,
+ ... }
+-- Only one of periodicLocation, areaEventReporting and motionEventReporting shall be included.
+-- responseTime and velocityRequest are not applicable in LCS-QoS.
+-- reportingPLMNList provides a list of PLMNs in which event reporting is allowed.
+
+PeriodicLocation ::= SEQUENCE {
+ periodicLDRInfo [0] PeriodicLDRInfo,
+ ... }
+
+AreaEventReporting ::= SEQUENCE {
+ deferredLocationEventType [0] DeferredLocationEventType,
+ areaList [1] AreaList,
+ occurrenceInfo [2] OccurrenceInfo OPTIONAL,
+ intervalTime [3] IntervalTime OPTIONAL,
+ maximumInterval [4] MaximumInterval OPTIONAL,
+ samplingInterval [5] SamplingInterval OPTIONAL,
+ duration [6] Duration OPTIONAL,
+ locationInfo [7] Location-Info OPTIONAL,
+ ... }
+-- msAvailable and periodicLDR in DeferredLocationEventType are not applicable.
+-- intervalTime and maximumInterval are not applicable when OccurenceInfo is present with
+-- the value of oneTimeEvent.
+
+AreaList ::= SEQUENCE SIZE (1..maxAreas) OF Area
+
+maxAreas INTEGER ::= 250
+
+Area ::= SEQUENCE {
+ areaType [0] AreaType,
+ areaIdentification [1] AreaIdentification,
+ ...}
+
+AreaType ::= ENUMERATED {
+ trackingArea (0),
+ ecgi (1),
+ ... }
+
+AreaIdentification ::= OCTET STRING (SIZE (5..7))
+-- The internal structure is defined as follows:
+-- octet 1 bits 4321 Mobile Country Code 1st digit
+-- bits 8765 Mobile Country Code 2nd digit
+-- octet 2 bits 4321 Mobile Country Code 3rd digit
+-- bits 8765 Mobile Network Code 3rd digit if 3 digit MNC included
+-- or filler (1111)
+-- octet 3 bits 4321 Mobile Network Code 1st digit
+-- bits 8765 Mobile Network Code 2nd digit
+-- octets 4 and 5 Tracking Area Code for a Tracking Area (bit 8 of octet 4 is the most significant bit and bit 1 of octet 5 the least significant bit)
+-- octets 4 until 7 E-UTRAN Cell Identity for an ECGI (bit 8 of octet 4 is the most significant bit and bit 5 of octet 7 the least significant bit)
+
+MaximumInterval ::= INTEGER (1..86400)
+-- maximum time interval between consecutive event reports in seconds.
+
+SamplingInterval ::= INTEGER (1..3600)
+-- maximum time interval between consecutive evaluations by a UE of a trigger event,
+-- in seconds.
+
+Duration ::= INTEGER (1..8640000)
+-- maximum duration of event reporting by a UE, in seconds
+
+Location-Info ::= BIT STRING {
+ locationEstimate (0) } (SIZE (1..32))
+-- A bit set to one indicates that the corresponding requirement is present.
+-- A bit set to zero indicates that the corresponding requirement is absent.
+-- The locationEstimate is a requirement to provide the UE location for an event report to
+-- the external client, but the location may be provided by either the UE or network.
+
+MotionEventReporting ::= SEQUENCE {
+ linearDistance [0] LinearDistance,
+ occurrenceInfo [1] OccurrenceInfo OPTIONAL,
+ intervalTime [2] IntervalTime OPTIONAL,
+ maximumInterval [3] MaximumInterval OPTIONAL,
+ samplingInterval [4] SamplingInterval OPTIONAL,
+ duration [5] Duration OPTIONAL,
+ locationInfo [6] Location-Info OPTIONAL,
+ ... }
+-- intervalTime and maximumInterval are not applicable when OccurenceInfo is present with
+-- the value of oneTimeEvent.
+
+LinearDistance ::= INTEGER (1..10000)
+-- the minimum straight line distance moved by a UE to trigger a motion event report, in meters.
+
+LCS-PeriodicTriggeredInvokeRes ::= SEQUENCE {
+ ...}
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/SS-Errors.asn b/epan/dissectors/asn1/gsm_map/SS-Errors.asn
new file mode 100644
index 00000000..cb063d6d
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/SS-Errors.asn
@@ -0,0 +1,44 @@
+-- 3GPP TS 24.080 V15.0.0 (2018-06)
+-- 4.3.1 Errors ASN.1 specification
+-- The following ASN.1 module provides an ASN.1 specification of errors. Errors from MAP are imported in the SS Protocol module in subclause 4.5. The module defines errors by allocating them a local value. For the involved errors the same local values as in MAP are allocated.
+
+SS-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3)
+ ss-Errors (1) version12 (12)}
+
+DEFINITIONS ::=
+
+BEGIN
+
+IMPORTS
+
+ERROR FROM
+Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)};
+
+-- The MAP errors
+-- unknownSubscriber, bearerServiceNotProvisioned, teleserviceNotProvisioned,
+-- illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable, ss-SubscriptionViolation,
+-- ss-Incompatibility, systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported,
+-- pw-RegistrationFailure, negativePW-Check, callBarred, numberOfPW-AttemptsViolation,
+-- absentSubscriber, illegalSubscriber, illegalEquipment, ussd-Busy, unknownAlphabet,
+-- forwardingViolation, forwardingFailed, resourceLimitation
+-- are imported from MAP-Errors in SS-Protocol module.
+
+-- errors definition
+resourcesNotAvailable ERROR ::= {
+ CODE local:127 }
+maxNumberOfMPTY-ParticipantsExceeded ERROR ::= {
+ CODE local:126 }
+invalidDeflectedToNumber ERROR ::= {
+ CODE local:125 }
+specialServiceCode ERROR ::= {
+ CODE local:124 }
+deflectionToServedSubscriber ERROR ::= {
+ CODE local:123 }
+rejectedByNetwork ERROR ::= {
+ CODE local:122 }
+rejectedByUser ERROR ::= {
+ CODE local:121 }
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/SS-Operations.asn b/epan/dissectors/asn1/gsm_map/SS-Operations.asn
new file mode 100644
index 00000000..a8e1d047
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/SS-Operations.asn
@@ -0,0 +1,311 @@
+-- 3GPP TS 24.080 V15.0.0 (2018-06)
+-- 4.2 Operation types
+SS-Operations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3)
+ ss-Operations (0) version12 (12)}
+
+DEFINITIONS ::=
+
+BEGIN
+
+EXPORTS
+
+-- exports operations
+
+-- operations defined in this specification
+processUnstructuredSS-Data, notifySS, forwardChargeAdvice, forwardCUG-Info, buildMPTY, holdMPTY, retrieveMPTY, splitMPTY, explicitCT, accessRegisterCCEntry, callDeflection, userUserService,
+lcs-LocationNotification, lcs-MOLR, lcs-AreaEventRequest, lcs-AreaEventReport, lcs-AreaEventCancellation, lcs-PeriodicLocationRequest, lcs-LocationUpdate, lcs-PeriodicLocationCancellation, lcs-PeriodicTriggeredInvoke;
+
+IMPORTS
+
+OPERATION FROM
+Remote-Operations-Information-Objects {
+ joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)}
+
+-- The MAP operations:
+-- registerSS, eraseSS, activateSS, deactivateSS, interrogateSS, registerPassword,
+-- getPassword, processUnstructuredSS-Request, unstructuredSS-Request, unstructuredSS-Notify
+-- forwardCheckSS-Indication
+-- are imported from MAP-Operations in SS-Protocol module.
+
+-- imports SS-data types
+NotifySS-Arg,
+ForwardChargeAdviceArg,
+ForwardCUG-InfoArg,
+SS-UserData,
+AccessRegisterCCEntryArg,
+CallDeflectionArg,
+UserUserServiceArg,
+LocationNotificationArg,
+LocationNotificationRes,
+LCS-MOLRArg,
+LCS-MOLRRes,
+LCS-AreaEventRequestArg,
+LCS-AreaEventReportArg,
+LCS-AreaEventCancellationArg,
+LCS-PeriodicLocationRequestArg,
+LCS-PeriodicLocationRequestRes,
+LCS-LocationUpdateArg,
+LCS-LocationUpdateRes,
+LCS-PeriodicLocationCancellationArg,
+LCS-PeriodicTriggeredInvokeArg,
+LCS-PeriodicTriggeredInvokeRes
+
+
+FROM SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3)
+ ss-DataTypes (2) version12 (12)}
+
+-- imports MAP-SS-data types
+RegisterCC-EntryRes
+FROM MAP-SS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-SS-DataTypes (14) version12 (12)}
+
+-- imports MAP-errors
+illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable, ss-SubscriptionViolation,
+ss-Incompatibility, systemFailure, facilityNotSupported, callBarred, unexpectedDataValue, shortTermDenial, longTermDenial, dataMissing, forwardingViolation, forwardingFailed, positionMethodFailure, resourceLimitation
+FROM MAP-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-Errors (10) version12 (12)}
+
+-- imports SS-Errors
+resourcesNotAvailable, maxNumberOfMPTY-ParticipantsExceeded, deflectionToServedSubscriber, invalidDeflectedToNumber, specialServiceCode, rejectedByUser, rejectedByNetwork
+FROM SS-Errors {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3)
+ ss-Errors (1) version12 (12)}
+;
+
+-- operations definition
+
+processUnstructuredSS-Data OPERATION ::= { -- Timer T(PUSSD)= 15s to 30s
+ ARGUMENT SS-UserData
+ RESULT SS-UserData
+ -- optional
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue}
+ CODE local:19 }
+
+notifySS OPERATION ::= {
+ ARGUMENT NotifySS-Arg
+ CODE local:16 }
+
+forwardChargeAdvice OPERATION ::= { -- Timer T(AoC)= 1s to 40s
+ ARGUMENT ForwardChargeAdviceArg
+ RETURN RESULT TRUE
+ CODE local:125 }
+
+forwardCUG-Info OPERATION ::= {
+ ARGUMENT ForwardCUG-InfoArg
+ CODE local:120 }
+
+buildMPTY OPERATION ::= { -- Timer T(BuildMPTY)= 5s to 30s
+ RETURN RESULT TRUE
+ ERRORS {
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-NotAvailable |
+ ss-Incompatibility |
+ systemFailure |
+ resourcesNotAvailable |
+ maxNumberOfMPTY-ParticipantsExceeded}
+ CODE local:124 }
+
+holdMPTY OPERATION ::= { -- Timer T(HoldMPTY)= 5s to 30s
+ RETURN RESULT TRUE
+ ERRORS {
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-Incompatibility |
+ facilityNotSupported |
+ systemFailure}
+ CODE local:123 }
+
+retrieveMPTY OPERATION ::= { -- Timer T(RetrieveMPTY)= 5s to 30s
+ RETURN RESULT TRUE
+ ERRORS {
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-Incompatibility |
+ facilityNotSupported |
+ systemFailure}
+ CODE local:122 }
+
+splitMPTY OPERATION ::= { -- Timer T(SplitMPTY)= 5s to 30s
+ RETURN RESULT TRUE
+ ERRORS {
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-Incompatibility |
+ facilityNotSupported |
+ systemFailure}
+ CODE local:121 }
+
+explicitCT OPERATION ::= { -- Timer T(ECT)= 5s to 15s
+ RETURN RESULT TRUE
+ ERRORS {
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-NotAvailable |
+ ss-Incompatibility |
+ facilityNotSupported |
+ systemFailure |
+ resourcesNotAvailable |
+ callBarred}
+ CODE local:126 }
+
+accessRegisterCCEntry OPERATION ::= { -- Timer T(AccRegCCEntry)= 30s
+ ARGUMENT AccessRegisterCCEntryArg
+ RESULT RegisterCC-EntryRes
+ ERRORS {
+ systemFailure |
+ dataMissing |
+ unexpectedDataValue |
+ callBarred |
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-Incompatibility |
+ shortTermDenial |
+ longTermDenial |
+ facilityNotSupported}
+ CODE local:119 }
+
+-- the timer value is defined by T308, see also in TS 24.008 for definition of timer T308
+
+callDeflection OPERATION ::= { -- Timer T(CD)= 30s
+ ARGUMENT CallDeflectionArg
+ RETURN RESULT TRUE
+ ERRORS {
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-NotAvailable |
+ ss-Incompatibility |
+ facilityNotSupported |
+ systemFailure |
+ resourcesNotAvailable |
+ forwardingViolation |
+ callBarred |
+ deflectionToServedSubscriber |
+ invalidDeflectedToNumber |
+ specialServiceCode |
+ forwardingFailed}
+ CODE local:117 }
+
+-- the timer value is defined by T305, see also in TS 24.008 for definition of timer T305
+-- extensionContainer shall not be used with this operation
+
+userUserService OPERATION ::= { -- Timer T(UUS3)= 10s
+ ARGUMENT UserUserServiceArg
+ RETURN RESULT TRUE
+ ERRORS {
+ illegalSS-Operation |
+ ss-ErrorStatus |
+ ss-NotAvailable |
+ ss-Incompatibility |
+ facilityNotSupported |
+ systemFailure |
+ resourcesNotAvailable |
+ rejectedByNetwork |
+ rejectedByUser}
+ CODE local:118 }
+
+-- The timer value for UUS3 is 10s; it is applicable only if UUS3 is activated by FACILITY
+-- message. If UUS service (UUS1, UUS2 or UUS3) is activated by SETUP message, no timers are
+-- needed. In those cases Return Result or Return Error must be received within certain call
+-- control messages, see 3GPP TS 24.087.
+-- extensionContainer shall not be used with this operation.
+
+
+lcs-LocationNotification OPERATION ::= { -- Timer T(LCSN)= 10s to 20s
+ ARGUMENT LocationNotificationArg
+ RESULT LocationNotificationRes
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue}
+ CODE local:116 }
+
+
+lcs-MOLR OPERATION ::= { -- Timer T(LCSL)= 10s to 300s
+ ARGUMENT LCS-MOLRArg
+ RESULT LCS-MOLRRes
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue |
+ dataMissing |
+ facilityNotSupported |
+ ss-SubscriptionViolation |
+ positionMethodFailure}
+ CODE local:115 }
+
+
+lcs-AreaEventRequest OPERATION ::= { -- Timer T(LCSN)= 10s to 20s
+ ARGUMENT LCS-AreaEventRequestArg
+ RETURN RESULT TRUE
+ ERRORS {
+ systemFailure |
+ facilityNotSupported |
+ unexpectedDataValue}
+ CODE local:114 }
+
+
+lcs-AreaEventReport OPERATION ::= { -- Timer T(LCSL)= 10s to 300s
+ ARGUMENT LCS-AreaEventReportArg
+ RETURN RESULT TRUE
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue |
+ facilityNotSupported}
+ CODE local:113 }
+
+
+lcs-AreaEventCancellation OPERATION ::= { -- Timer T(LCSN)= 10s to 20s
+ ARGUMENT LCS-AreaEventCancellationArg
+ RETURN RESULT TRUE
+ ERRORS {
+ systemFailure |
+ facilityNotSupported |
+ unexpectedDataValue}
+ CODE local:112 }
+
+lcs-PeriodicLocationRequest OPERATION ::= { -- Timer T(LCSN)= 10s to 20s
+ ARGUMENT LCS-PeriodicLocationRequestArg
+ RESULT LCS-PeriodicLocationRequestRes
+ ERRORS {
+ systemFailure |
+ facilityNotSupported |
+ unexpectedDataValue |
+ dataMissing }
+ CODE local: 111 }
+
+lcs-LocationUpdate OPERATION ::= { -- Timer T(LCSN)= 10s to 20s
+ ARGUMENT LCS-LocationUpdateArg
+ RESULT LCS-LocationUpdateRes
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue}
+ CODE local: 110 }
+
+lcs-PeriodicLocationCancellation OPERATION ::= { -- Timer T(LCSN)= 10s to 20s
+ ARGUMENT LCS-PeriodicLocationCancellationArg
+ RETURN RESULT TRUE
+ ERRORS {
+ systemFailure |
+ unexpectedDataValue}
+ CODE local: 109 }
+
+
+lcs-PeriodicTriggeredInvoke OPERATION ::= { -- Timer T(LCSN)= 10s to 20s
+ ARGUMENT LCS-PeriodicTriggeredInvokeArg
+ RESULT LCS-PeriodicTriggeredInvokeRes
+ ERRORS {
+ systemFailure |
+ facilityNotSupported |
+ unexpectedDataValue |
+ dataMissing |
+ resourceLimitation }
+ CODE local: 108 }
+
+END
+
diff --git a/epan/dissectors/asn1/gsm_map/SS-Protocol.asn b/epan/dissectors/asn1/gsm_map/SS-Protocol.asn
new file mode 100644
index 00000000..517edb63
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/SS-Protocol.asn
@@ -0,0 +1,53 @@
+-- 3GPP TS 24.080 V15.0.0 (2018-06)
+-- 4.5 Operations and errors implementation
+-- For the actual implementation of supplementary services, operations and errors have to be defined by value. The following ASN.1 module, imports operation from the ASN.1 module described in subclause 4.2 and operations and errors from MAP.
+
+SS-Protocol {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Access (2) modules (3) ss-Protocol (3) version12 (12)}
+
+DEFINITIONS ::=
+
+BEGIN
+
+IMPORTS
+
+OPERATION
+FROM Remote-Operations-Information-Objects {
+joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+-- imports operations
+
+-- imports operation from MAP-MobileServiceOperations
+forwardCheckSS-Indication
+FROM MAP-MobileServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-MobileServiceOperations (5) version12 (12)}
+
+-- imports operations from MAP-SupplementaryServiceOperations
+registerSS, eraseSS, activateSS, deactivateSS, interrogateSS, registerPassword, getPassword,
+processUnstructuredSS-Request, unstructuredSS-Request, unstructuredSS-Notify, eraseCC-Entry
+FROM MAP-SupplementaryServiceOperations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
+ map-SupplementaryServiceOperations (8) version12 (12)}
+
+-- imports operations from SS-Operations
+processUnstructuredSS-Data, notifySS, forwardChargeAdvice, buildMPTY, holdMPTY, retrieveMPTY,
+splitMPTY, explicitCT, forwardCUG-Info, accessRegisterCCEntry, callDeflection, userUserService,
+lcs-LocationNotification, lcs-MOLR, lcs-AreaEventRequest, lcs-AreaEventReport, lcs-AreaEventCancellation, lcs-PeriodicLocationRequest, lcs-LocationUpdate, lcs-PeriodicLocationCancellation
+FROM SS-Operations {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3)
+ ss-Operations (0) version12 (12)}
+
+;
+
+Supported-SS-Operations OPERATION ::= {forwardCheckSS-Indication | registerSS | eraseSS |
+ activateSS | deactivateSS | interrogateSS | registerPassword | getPassword |
+ processUnstructuredSS-Request | unstructuredSS-Request | unstructuredSS-Notify | eraseCC-Entry |
+ processUnstructuredSS-Data | notifySS | forwardChargeAdvice | buildMPTY | holdMPTY |
+ retrieveMPTY | splitMPTY | explicitCT | forwardCUG-Info | accessRegisterCCEntry |
+ callDeflection | userUserService | lcs-LocationNotification | lcs-MOLR | lcs-AreaEventRequest | lcs-AreaEventReport | lcs-AreaEventCancellation | lcs-PeriodicLocationRequest | lcs-LocationUpdate | lcs-PeriodicLocationCancellation | lcs-PeriodicTriggeredInvoke }
+
+
+
+END
diff --git a/epan/dissectors/asn1/gsm_map/gsm_map.cnf b/epan/dissectors/asn1/gsm_map/gsm_map.cnf
new file mode 100644
index 00000000..4547facd
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/gsm_map.cnf
@@ -0,0 +1,1213 @@
+#.OPT
+-b
+#-d satcom
+#-s packet-gsm_map-tmp
+#-k
+-o gsm_map
+#.END
+
+#.MODULE
+MAP-BS-Code gsm_map
+MAP-TS-Code gsm_map
+MAP-SS-Code gsm_map
+MAP-ExtensionDataTypes gsm_map
+MAP-CommonDataTypes gsm_map
+
+MAP-SS-DataTypes gsm_map.ss
+MAP-OM-DataTypes gsm_map.om
+MAP-ER-DataTypes gsm_map.er
+MAP-SM-DataTypes gsm_map.sm
+MAP-MS-DataTypes gsm_map.ms
+MAP-LCS-DataTypes gsm_map.lcs
+MAP-GR-DataTypes gsm_map.gr
+MAP-CH-DataTypes gsm_map.ch
+
+MAP-Errors gsm_map
+MAP-LocationServiceOperations gsm_map
+MAP-Group-Call-Operations gsm_map
+MAP-ShortMessageServiceOperations gsm_map
+MAP-SupplementaryServiceOperations gsm_map
+MAP-CallHandlingOperations gsm_map
+MAP-OperationAndMaintenanceOperations gsm_map
+MAP-MobileServiceOperations gsm_map
+MAP-Protocol gsm_map
+MAP-DialogueInformation gsm_map.dialogue
+MAP-ApplicationContexts gsm_map
+SS-DataTypes gsm_ss
+SS-Operations gsm_ss
+DummyMAP gsm_old
+EricssonMAP gsm_map.ericsson
+
+Remote-Operations-Information-Objects ROS
+
+#.NO_EMIT ONLY_VALS
+CallBarredParam
+PW-RegistrationFailureCause
+SystemFailureParam
+ExtensionType
+NumberPorted/_untag
+
+#.OMIT_ASSIGNMENT
+Code
+Priority
+CommonComponentId
+GuidanceInfo
+SS-InfoList
+# Omitting SubscriberData makes CONTENT OF fail and InsertSubscriberDataArg will not get all its tags
+# Not yet used Nokia extensions
+SS-DataEmoInExt
+EmoInCategoryKey
+ANSIIsdArgExt
+ANSISriResExt
+PrefCarrierIdList
+USSD-Extension
+CosInfo
+AnyTimePO-BarringArg
+AnyTimePO-BarringRes
+CarrierIdCode
+COS-FeatureList
+GprsBarring
+COS-Feature
+CustomerGroupID
+SubGroupID
+ClassOfServiceID
+#.END
+#.PDU
+LCS-ClientID
+ISDN-AddressString
+
+#.USE_VALS_EXT
+GSMMAPOperationLocalvalue
+OperationLocalvalue
+
+#.EXPORTS
+AddressString
+Add-GeographicalInformation
+AgeOfLocationInformation
+AlertingPattern
+AreaEventInfo
+BasicServiceCode
+CallReferenceNumber
+CCBS-Feature
+CellGlobalIdOrServiceAreaIdOrLAI
+CellGlobalIdOrServiceAreaIdFixedLength
+CUG-CheckInfo
+CUG-Index
+CUG-Interlock
+CUG-Info
+CurrentPassword
+D-CSI
+DeferredLocationEventType
+DefaultGPRS-Handling
+DefaultSMS-Handling
+EraseCC-EntryArg
+EraseCC-EntryRes
+Ext-BasicServiceCode
+Ext-ForwOptions
+Ext-GeographicalInformation EXTERN WS_DLL
+Ext-NoRepCondTime
+Ext-QoS-Subscribed
+Ext2-QoS-Subscribed
+Ext3-QoS-Subscribed
+ExtensionContainer
+ExternalSignalInfo
+ForwardingOptions
+GeographicalInformation
+GetPasswordArg
+GlobalCellId EXTERN WS_DLL
+GPRSChargingID
+GPRSMSClass
+GSMMAPLocalErrorcode
+GSN-Address
+IMEI
+IMSI EXTERN WS_DLL
+InterrogateSS-Res
+ISDN-AddressString EXTERN WS_DLL
+ISDN-AddressString_PDU EXTERN WS_DLL
+ISDN-SubaddressString
+LAIFixedLength
+LCSClientExternalID
+LCS-ClientID
+LCS-ClientID_PDU
+LCSClientInternalID
+LCSClientName
+LCSClientType
+LCSRequestorID
+LCSCodeword
+LCS-Priority
+LCSServiceTypeID
+LCS-ReferenceNumber
+LCS-QoS
+LocationInformation
+LocationMethod
+LocationType
+LSAIdentity
+MS-Classmark2
+NAEA-CIC
+NetworkResource
+NewPassword
+NotificationToMSUser
+O-CSI
+O-BcsmCamelTDPCriteriaList
+OfferedCamel4Functionalities
+PositionMethodFailure-Diagnostic
+ProtectedPayload
+QoS-Subscribed
+RAIdentity
+RegisterCC-EntryRes
+RegisterSS-Arg
+SM-RP-DA
+SM-RP-OA
+SubscriberState
+SecurityHeader
+ServiceKey
+SupportedCamelPhases
+SupportedGADShapes
+SuppressionOfAnnouncement
+SS-Code
+SS-Status
+SS-Info
+SS-ForBS-Code
+TBCD-STRING
+UnauthorizedLCSClient-Diagnostic
+USSD-DataCodingScheme
+USSD-String
+USSD-Arg
+USSD-Res
+UU-Data
+VelocityEstimate
+#.END
+#.REGISTER
+MAP-DialoguePDU B "0.4.0.0.1.1.1.1" "map-DialogueAS"
+
+# This table creates the value_sting to name GSM MAP operation codes and errors
+# in file packet-camel-table.c which is included in the template file
+#
+#.TABLE_BODY OPERATION
+ { %(&operationCode)s, "%(_ident)s" },
+#.END
+
+#.TABLE2_BODY ERROR
+ { %(&errorCode)s, "%(_ident)s" },
+#.END
+
+
+# Conformance for ROS stuff
+
+#.FN_BODY InvokeParameter
+ offset = dissect_invokeData(tree, tvb, offset, actx);
+
+#.FN_BODY ReturnResultParameter
+ offset = dissect_returnResultData(tree, tvb, offset, actx);
+
+#.FN_BODY ReturnErrorParameter
+ offset = dissect_returnErrorData(tree, tvb, offset, actx);
+
+#.FN_PARS GSMMAPOperationLocalvalue
+
+ VAL_PTR = &opcode
+
+#.FN_BODY GSMMAPOperationLocalvalue
+ const char *opcode_string;
+
+%(DEFAULT_BODY)s
+ /* Retrieve opcode string and eventually update item value */
+ opcode_string = gsm_map_opr_code(opcode, actx->created_item);
+ col_append_str(actx->pinfo->cinfo, COL_INFO, opcode_string);
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
+
+#.FN_PARS GSMMAPLocalErrorcode
+
+ VAL_PTR = &errorCode
+# End ROS
+#----------------------------------------------------------------------------------------
+
+#.FN_BODY PrivateExtension/extId FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+%(DEFAULT_BODY)s
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY PrivateExtension/extType
+ proto_tree *ext_tree;
+ ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_gsm_map_extension_data, NULL, "Extension Data");
+ if (actx->external.direct_ref_present){
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, ext_tree, NULL);
+ }else{
+ call_data_dissector(tvb, actx->pinfo, ext_tree);
+ offset = tvb_reported_length_remaining(tvb,offset);
+ }
+
+#.FN_PARS AccessNetworkProtocolId
+
+ VAL_PTR = &AccessNetworkProtocolId
+
+#.FN_BODY AddressString VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_isdn_address_string);
+ dissect_gsm_map_msisdn(parameter_tvb, actx->pinfo , subtree);
+ if (!PINFO_FD_VISITED(actx->pinfo))
+ actx->private_data = tvb_bytes_to_str(wmem_file_scope(), parameter_tvb, 0, tvb_captured_length(parameter_tvb));
+
+#.FN_BODY IMSI VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ const char *imsi_str;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &parameter_tvb);
+
+ if (!parameter_tvb)
+ return offset;
+ if(tvb_reported_length(parameter_tvb)==0)
+ return offset;
+
+ /* Hide the octet string default printout */
+ proto_item_set_hidden(actx->created_item);
+ imsi_str = dissect_e212_imsi(parameter_tvb, actx->pinfo, tree,
+ 0, tvb_reported_length(parameter_tvb), FALSE);
+ if (!PINFO_FD_VISITED(actx->pinfo))
+ actx->private_data = wmem_strdup(wmem_file_scope(), imsi_str);
+
+#.FN_BODY LMSI VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+%(DEFAULT_BODY)s
+ if (parameter_tvb && !PINFO_FD_VISITED(actx->pinfo)) {
+ actx->private_data = tvb_bytes_to_str(wmem_file_scope(), parameter_tvb, 0, tvb_captured_length(parameter_tvb));
+ }
+
+#.FN_BODY TBCD-STRING VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+
+ %(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ if(tvb_reported_length(parameter_tvb)==0)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_tbcd_digits);
+ proto_tree_add_item(subtree, hf_gsm_map_TBCD_digits, parameter_tvb, 0, -1, ENC_KEYPAD_ABC_TBCD);
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY LongSignalInfo VAL_PTR = &parameter_tvb
+#
+#7.6.9.1 AN-apdu
+#This parameter includes one or two concatenated complete 3GPP TS 25.413 or 3GPP TS 48.006 [48] messages, as
+#described in 3GPP TS 23.009 and 3GPP TS 29.010. The access network protocol ID indicates that the message or
+#messages are according to either 3GPP TS 48.006 [48] or 3GPP TS 25.413. For the coding of the messages see 3GPP
+#TS 25.413, 3GPP TS 48.006 [48] and 3GPP TS 48.008 [49].
+
+ tvbuff_t *parameter_tvb;
+ guint8 octet;
+ tvbuff_t *next_tvb;
+ proto_tree *subtree;
+ gsm_map_private_info_t *gsm_map_priv;
+ sccp_msg_info_t *sccp_msg_info;
+
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+ sccp_msg_info = gsm_map_priv ? gsm_map_priv->sccp_msg_info : NULL;
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LongSignalInfo);
+
+ switch (AccessNetworkProtocolId){
+ /* ts3G-48006 */
+ case 1:
+ octet = tvb_get_guint8(parameter_tvb,0);
+ /* Discrimination parameter */
+ proto_tree_add_item(subtree, hf_gsm_map_disc_par, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
+ if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
+ /* Strip off discrimination and length */
+ proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 1,1,ENC_BIG_ENDIAN);
+ next_tvb = tvb_new_subset_remaining(parameter_tvb, 2);
+ call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, sccp_msg_info);
+ }else if(octet==1){
+ proto_tree_add_item(subtree, hf_gsm_map_dlci, parameter_tvb, 1,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 2,1,ENC_BIG_ENDIAN);
+ next_tvb = tvb_new_subset_remaining(parameter_tvb, 3);
+ call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree);
+ }
+ break;
+ /* ts3G-25413 */
+ case 2:
+ call_dissector(ranap_handle, parameter_tvb, actx->pinfo, tree);
+ break;
+ default:
+ break;
+
+ }
+# Set SENT/RECEIVED depending if ISDN-AddressString or AddressString is used.
+# as it's a CHOICE only one is present.
+#.FN_BODY SM-RP-OAold/serviceCentreAddressOA
+ actx->private_data = NULL;
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_oa_id = GSM_MAP_SM_RP_OA_SERVICE_CENTER_ADDRESS;
+ gsm_map_pi->sm_rp_oa_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-OA/serviceCentreAddressOA
+ actx->private_data = NULL;
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_oa_id = GSM_MAP_SM_RP_OA_SERVICE_CENTER_ADDRESS;
+ gsm_map_pi->sm_rp_oa_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-DAold/imsi
+ actx->private_data = NULL;
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_IMSI;
+ gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-DAold/lmsi
+ actx->private_data = NULL;
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_LMSI;
+ gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-DA/imsi
+ actx->private_data = NULL;
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_IMSI;
+ gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-DA/lmsi
+ actx->private_data = NULL;
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_LMSI;
+ gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-OAold/msisdn
+ actx->private_data = NULL;
+ actx->pinfo->p2p_dir = P2P_DIR_RECV;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_oa_id = GSM_MAP_SM_RP_OA_MSISDN;
+ gsm_map_pi->sm_rp_oa_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-OA/msisdn
+ actx->pinfo->p2p_dir = P2P_DIR_RECV;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_oa_id = GSM_MAP_SM_RP_OA_MSISDN;
+ gsm_map_pi->sm_rp_oa_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-DAold/serviceCentreAddressDA
+ actx->private_data = NULL;
+ actx->pinfo->p2p_dir = P2P_DIR_RECV;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_SERVICE_CENTER_ADDRESS;
+ gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-DA/serviceCentreAddressDA
+ actx->private_data = NULL;
+ actx->pinfo->p2p_dir = P2P_DIR_RECV;
+%(DEFAULT_BODY)s
+ if (actx->private_data) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
+ gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_SERVICE_CENTER_ADDRESS;
+ gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
+ actx->private_data = NULL;
+ }
+
+#.FN_BODY SM-RP-OAold/noSM-RP-OA
+%(DEFAULT_BODY)s
+ if (!PINFO_FD_VISITED(actx->pinfo)) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, FALSE);
+ gsm_map_packet_info_t *prev_packet_info = gsm_map_get_matching_tcap_info(actx);
+ if (prev_packet_info) {
+ gsm_map_pi->sm_rp_oa_id = prev_packet_info->sm_rp_oa_id;
+ gsm_map_pi->sm_rp_oa_str = wmem_strdup(wmem_file_scope(), prev_packet_info->sm_rp_oa_str);
+ }
+ }
+
+#.FN_BODY SM-RP-OA/noSM-RP-OA
+%(DEFAULT_BODY)s
+ if (!PINFO_FD_VISITED(actx->pinfo)) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, FALSE);
+ gsm_map_packet_info_t *prev_packet_info = gsm_map_get_matching_tcap_info(actx);
+ if (prev_packet_info) {
+ gsm_map_pi->sm_rp_oa_id = prev_packet_info->sm_rp_oa_id;
+ gsm_map_pi->sm_rp_oa_str = wmem_strdup(wmem_file_scope(), prev_packet_info->sm_rp_oa_str);
+ }
+ }
+
+#.FN_BODY SM-RP-DAold/noSM-RP-DA
+%(DEFAULT_BODY)s
+ if (!PINFO_FD_VISITED(actx->pinfo)) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, FALSE);
+ gsm_map_packet_info_t *prev_packet_info = gsm_map_get_matching_tcap_info(actx);
+ if (prev_packet_info) {
+ gsm_map_pi->sm_rp_da_id = prev_packet_info->sm_rp_da_id;
+ gsm_map_pi->sm_rp_da_str = wmem_strdup(wmem_file_scope(), prev_packet_info->sm_rp_da_str);
+ }
+ }
+
+#.FN_BODY SM-RP-DA/noSM-RP-DA
+%(DEFAULT_BODY)s
+ if (!PINFO_FD_VISITED(actx->pinfo)) {
+ gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, FALSE);
+ gsm_map_packet_info_t *prev_packet_info = gsm_map_get_matching_tcap_info(actx);
+ if (prev_packet_info) {
+ gsm_map_pi->sm_rp_da_id = prev_packet_info->sm_rp_da_id;
+ gsm_map_pi->sm_rp_da_str = wmem_strdup(wmem_file_scope(), prev_packet_info->sm_rp_da_str);
+ }
+ }
+
+#.FN_BODY SignalInfo VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+
+%(DEFAULT_BODY)s
+ if (gsm_map_priv)
+ gsm_map_priv->signal_info_tvb = parameter_tvb;
+
+
+#.FN_BODY SM-DeliveryFailureCause
+ /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
+ guint8 oct;
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+
+ if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ /* Detailed diagnostic information contains either a SMS-SUBMIT-REPORT or a SMS-DELIVERY-REPORT */
+ oct = tvb_get_guint8(gsm_map_priv->signal_info_tvb, 0);
+ actx->pinfo->p2p_dir = ((oct & 0x03) == 0) ? P2P_DIR_RECV : P2P_DIR_SENT;
+ call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
+
+#.FN_BODY ForwardSM-Arg
+ /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+
+ if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
+ if (gsmmap_pdu_type == 1) {
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+ } else {
+ actx->pinfo->p2p_dir = P2P_DIR_RECV;
+ }
+ }
+ call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
+
+#.FN_BODY MO-ForwardSM-Arg
+ /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+
+ if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
+ actx->pinfo->p2p_dir = P2P_DIR_RECV;
+ }
+ call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
+
+#.FN_BODY MO-ForwardSM-Res
+ /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+
+ if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+ }
+ call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
+
+#.FN_BODY MT-ForwardSM-Arg
+ /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+
+ if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+ }
+ call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
+
+#.FN_BODY MT-ForwardSM-Res
+ /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+
+ if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
+ actx->pinfo->p2p_dir = P2P_DIR_RECV;
+ }
+ call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
+
+#.FN_BODY MT-ForwardSM-VGCS-Arg
+ /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+
+ if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
+ actx->pinfo->p2p_dir = P2P_DIR_SENT;
+ }
+ call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
+
+#.FN_BODY MT-ForwardSM-VGCS-Res
+ /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+
+ if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
+ actx->pinfo->p2p_dir = P2P_DIR_RECV;
+ }
+ call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
+
+#.FN_BODY SS-Status VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ guint8 octet;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ octet = tvb_get_guint8(parameter_tvb,0);
+
+ proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
+ if ((octet & 0x01)== 1)
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
+
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
+
+#.FN_BODY Ext-SS-Status VAL_PTR = &parameter_tvb
+ /* Note Ext-SS-Status can have more than one byte */
+
+ tvbuff_t *parameter_tvb;
+ guint8 octet;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ octet = tvb_get_guint8(parameter_tvb,0);
+
+ proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
+ if ((octet & 0x01)== 1)
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
+
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
+
+#.END
+
+#.FN_BODY USSD-DataCodingScheme VAL_PTR = &parameter_tvb
+ /*The structure of the USSD-DataCodingScheme is defined by
+ * the Cell Broadcast Data Coding Scheme as described in
+ * TS 3GPP TS 23.038
+ * TODO: Should dissect_cbs_data_coding_scheme return encoding type? - like 7bit Alphabet
+ */
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_cbs_data_coding);
+ dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
+
+#.FN_BODY USSD-String VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ guint length;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ length = tvb_ensure_captured_length_remaining(parameter_tvb,0);
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ussd_string);
+ switch(sms_encoding){
+ case SMS_ENCODING_7BIT:
+ case SMS_ENCODING_7BIT_LANG:
+ proto_tree_add_item(subtree, hf_gsm_map_ussd_string, parameter_tvb, 0, length, ENC_3GPP_TS_23_038_7BITS|ENC_NA);
+ break;
+ case SMS_ENCODING_8BIT:
+ /* XXX - ASCII, or some extended ASCII? */
+ proto_tree_add_item(subtree, hf_gsm_map_ussd_string, parameter_tvb, 0, length, ENC_ASCII);
+ break;
+ case SMS_ENCODING_UCS2:
+ case SMS_ENCODING_UCS2_LANG:
+ proto_tree_add_item(subtree, hf_gsm_map_ussd_string, parameter_tvb, 0, length, ENC_UCS_2|ENC_BIG_ENDIAN);
+ break;
+ default:
+ break;
+ }
+
+#.FN_FTR ForwardingOptions
+
+ proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,ENC_BIG_ENDIAN);
+#.FN_FTR Ext-ForwFeature/forwardingOptions
+
+ proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,ENC_BIG_ENDIAN);
+
+
+#.FN_BODY PDP-Type VAL_PTR = &parameter_tvb
+ guint8 pdp_type_org;
+ tvbuff_t *parameter_tvb;
+
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ proto_tree_add_item(tree, hf_gsm_map_pdp_type_org, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
+ pdp_type_org = tvb_get_guint8(parameter_tvb,1);
+ switch (pdp_type_org){
+ case 0: /* ETSI */
+ proto_tree_add_item(tree, hf_gsm_map_etsi_pdp_type_number, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
+ break;
+ case 1: /* IETF */
+ proto_tree_add_item(tree, hf_gsm_map_ietf_pdp_type_number, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
+ break;
+ default:
+ break;
+ }
+
+#.FN_BODY QoS-Subscribed VAL_PTR = &parameter_tvb
+
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ de_sm_qos(parameter_tvb, tree, actx->pinfo, 0, 3, NULL,0);
+
+#.FN_BODY Ext-QoS-Subscribed VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ dissect_gsm_map_ext_qos_subscribed(tvb, actx->pinfo, tree, actx);
+
+#.FN_BODY Ext2-QoS-Subscribed VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ dissect_gsm_map_ext2_qos_subscribed(tvb, actx->pinfo, tree, actx);
+
+#.FN_BODY Ext3-QoS-Subscribed VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ dissect_gsm_map_ext3_qos_subscribed(tvb, actx->pinfo, tree, actx);
+
+#.FN_BODY Ext4-QoS-Subscribed VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ dissect_gsm_map_ext4_qos_subscribed(tvb, actx->pinfo, tree, actx);
+
+#.FN_BODY GSN-Address VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ guint8 octet;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_pdptypenumber);
+
+ octet = tvb_get_guint8(parameter_tvb,0);
+ switch(octet){
+ case 0x04: /* IPv4 */
+ proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, 4, ENC_BIG_ENDIAN);
+ break;
+ case 0x50: /* IPv6 */
+ proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv6, parameter_tvb, 1, 16, ENC_NA);
+ break;
+ default:
+ break;
+ }
+
+#.FN_BODY RAIdentity VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RAIdentity);
+ de_gmm_rai(parameter_tvb, subtree, actx->pinfo, 0, 3, NULL,0);
+
+#.FN_BODY LAIFixedLength VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LAIFixedLength);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_LAI, TRUE);
+
+#.FN_BODY RadioResourceInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation);
+ be_chan_type(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length_remaining(tvb,0), NULL, 0);
+
+#.FN_BODY RANAP-ServiceHandover VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ asn1_ctx_t asn1_ctx;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo);
+ dissect_ranap_Service_Handover(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_ranap_service_Handover);
+
+#.FN_BODY IntegrityProtectionInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ asn1_ctx_t asn1_ctx;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo);
+ dissect_ranap_IntegrityProtectionInformation(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_IntegrityProtectionInformation);
+
+#.FN_BODY EncryptionInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ asn1_ctx_t asn1_ctx;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo);
+ dissect_ranap_EncryptionInformation(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_EncryptionInformation);
+
+#.FN_PARS ProtocolId VAL_PTR = &ProtocolId
+#.FN_BODY Bss-APDU
+ guint8 octet;
+ guint8 length;
+ tvbuff_t *next_tvb;
+ proto_tree *subtree;
+/*
+ETS 300 599: December 2000 (GSM 09.02 version 4.19.1)
+5.6.9.1 BSS-apdu
+This parameter includes one or two concatenated complete 08.06 messages, as described in GSM 03.09
+and GSM 09.10. The Protocol ID indicates that the message or messages are according to GSM 08.06.
+For the coding of the messages see GSM 08.06 and GSM 08.08.
+*/
+ ProtocolId = 0xffffffff;
+ gsm_map_private_info_t *gsm_map_priv;
+%(DEFAULT_BODY)s
+ gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo);
+ switch (ProtocolId){
+ case 1:
+ /* gsm-0408 */
+ /* As per comment abowe Individual IE:(s) will be found here in TLV format
+ * Unfortunatly a branch for each IE must be made to call the apropriate
+ * function
+ */
+ /* Get tag */
+ octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
+ proto_tree_add_item(subtree, hf_gsm_map_ie_tag, gsm_map_priv->signal_info_tvb, 0,1,ENC_BIG_ENDIAN);
+ /* get length */
+ length = tvb_get_guint8(gsm_map_priv->signal_info_tvb,1);
+ proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
+ /* Branch on tag */
+ switch(octet){
+ case 4:
+ /* Dissect the data part */
+ de_bearer_cap(gsm_map_priv->signal_info_tvb, subtree, actx->pinfo, 2, length, NULL, 0);
+ /* TODO: There may be more than one IE */
+ break;
+ default:
+ proto_tree_add_expert(subtree, actx->pinfo, &ei_gsm_map_undecoded, gsm_map_priv->signal_info_tvb, 0, length);
+ break;
+ }/* switch(octet) */
+ break;
+ case 2:
+ /* gsm-0806 */
+ octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
+ /* Discrimination parameter */
+ proto_tree_add_item(subtree, hf_gsm_map_disc_par, gsm_map_priv->signal_info_tvb, 0,1,ENC_BIG_ENDIAN);
+ if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
+ /* Strip off discrimination and length */
+ proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
+ next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 2);
+ call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, gsm_map_priv->sccp_msg_info);
+ }else if(octet==1){
+ proto_tree_add_item(subtree, hf_gsm_map_dlci, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 2,1,ENC_BIG_ENDIAN);
+ next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 3);
+ call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree);
+ }
+ break;
+ case 3:
+ /* gsm-BSSMAP -- Value 3 is reserved and must not be used*/
+ octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
+ if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
+ next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 2);
+ call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, gsm_map_priv->sccp_msg_info);
+ }
+ break;
+ /* ets-300102-1 (~Q.931 ) */
+ case 4:
+ octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
+ length = tvb_get_guint8(gsm_map_priv->signal_info_tvb,1);
+ if ( octet == 4 )
+ dissect_q931_bearer_capability_ie(gsm_map_priv->signal_info_tvb, 2, length, subtree);
+ break;
+ default:
+ break;
+ }/*switch (ProtocolId)*/
+
+#.FN_BODY ExternalSignalInfo
+/*
+-- Information about the internal structure is given in
+-- clause 7.6.9.
+7.6.9.4 External Signal Information
+This parameter contains concatenated information elements (including tag and length) which are defined by a common
+protocol version, preceded by the associated protocol ID. It is used to transport information of the indicated protocol via
+MAP interfaces
+*/
+ guint8 octet;
+ guint8 length;
+ tvbuff_t *next_tvb;
+ proto_tree *subtree;
+ gsm_map_private_info_t *gsm_map_priv;
+
+ ProtocolId = 0xffffffff;
+%(DEFAULT_BODY)s
+ gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+ if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo);
+ switch (ProtocolId){
+ case 1:
+ /* gsm-0408 */
+ /* As per comment abowe Individual IE:(s) will be found here in TLV format
+ * Unfortunatly a branch for each IE must be made to call the apropriate
+ * function
+ */
+ /* Get tag */
+ octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
+ proto_tree_add_item(subtree, hf_gsm_map_ie_tag, gsm_map_priv->signal_info_tvb, 0,1,ENC_BIG_ENDIAN);
+ /* get length */
+ length = tvb_get_guint8(gsm_map_priv->signal_info_tvb,1);
+ proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
+ /* Branch on tag */
+ switch(octet){
+ case 4:
+ /* Dissect the data part */
+ de_bearer_cap(gsm_map_priv->signal_info_tvb, subtree, actx->pinfo, 2, length, NULL, 0);
+ /* TODO: There may be more than one IE */
+ break;
+ default:
+ proto_tree_add_expert(subtree, actx->pinfo, &ei_gsm_map_undecoded, gsm_map_priv->signal_info_tvb, 0, length);
+ break;
+ }/* switch(octet) */
+ break;
+ case 2:
+ /* gsm-0806 */
+ octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
+ /* Discrimination parameter */
+ proto_tree_add_item(subtree, hf_gsm_map_disc_par, gsm_map_priv->signal_info_tvb, 0,1,ENC_BIG_ENDIAN);
+ if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
+ /* Strip off discrimination and length */
+ proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
+ next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 2);
+ call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, gsm_map_priv->sccp_msg_info);
+ }else if(octet==1){
+ proto_tree_add_item(subtree, hf_gsm_map_dlci, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 2,1,ENC_BIG_ENDIAN);
+ next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 3);
+ call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree);
+ }
+ break;
+ case 3:
+ /* gsm-BSSMAP TODO Is it correct to stripp off two first octets here?*/
+ octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
+ if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
+ next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 2);
+ call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, gsm_map_priv->sccp_msg_info);
+ }
+ break;
+ /* ets-300102-1 (~Q.931 ) */
+ case 4:
+ octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
+ length = tvb_get_guint8(gsm_map_priv->signal_info_tvb,1);
+ if ( octet == 4 )
+ dissect_q931_bearer_capability_ie(gsm_map_priv->signal_info_tvb, 2, length, subtree);
+ break;
+ default:
+ break;
+ }/*switch (ProtocolId)*/
+
+#.FN_BODY GlobalCellId VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId);
+ be_cell_id_aux(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length_remaining(tvb,0), NULL, 0, 0);
+
+#.FN_BODY Ext-GeographicalInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation);
+ dissect_geographical_description(parameter_tvb, actx->pinfo, subtree);
+
+
+# APN ::= OCTET STRING (SIZE (2..63))
+# Octets are coded according to TS 3GPP TS 23.003
+# 9.1 Structure of APN
+# :
+# The APN consists of one or more labels. Each label is coded as a one octet length field followed by that number of
+# octets coded as 8 bit ASCII characters. Following RFC 1035 [19] the labels shall consist only of the alphabetic
+# characters (A-Z and a-z), digits (0-9) and the hyphen (-). Following RFC 1123 [20], the label shall begin and end with
+# either an alphabetic character or a digit. The case of alphabetic characters is not significant. The APN is not terminated
+# by a length byte of zero.
+#.FN_BODY APN VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+ const guint8 *apn_str = NULL;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_apn_str);
+ proto_tree_add_item_ret_string(subtree, hf_gsm_apn_str, parameter_tvb, 0, -1, ENC_APN_STR | ENC_NA, actx->pinfo->pool, &apn_str);
+ proto_item_append_text(actx->created_item, " - %%s", apn_str);
+
+
+#.FN_BODY LocationNumber VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LocationNumber);
+ dissect_isup_location_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.FN_BODY EnhancedCheckIMEI-Arg/locationInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+ guint8 rat;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ericsson_locationInformation);
+ rat = tvb_get_guint8(parameter_tvb, 0);
+ proto_tree_add_uint(subtree, hf_gsm_map_ericsson_locationInformation_rat, parameter_tvb, 0, 1, rat);
+ switch (rat) {
+ case 0:
+ /* GSM */
+ proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_lac, parameter_tvb, 1, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_ci, parameter_tvb, 3, 2, ENC_BIG_ENDIAN);
+ break;
+ case 1:
+ /* UMTS */
+ proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_lac, parameter_tvb, 1, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_sac, parameter_tvb, 3, 2, ENC_BIG_ENDIAN);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY SM-RP-SMEA VAL_PTR=&payload_tvb
+ tvbuff_t *payload_tvb;
+%(DEFAULT_BODY)s
+ if (payload_tvb) {
+ guint32 tvb_offset = 0;
+ proto_item_set_hidden(actx->created_item);
+ dis_field_addr(payload_tvb, actx->pinfo, tree, &tvb_offset, "SM-RP-SMEA");
+ }
+
+
+#.FN_BODY E-UTRAN-CGI VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_e_utranCellGlobalIdentity);
+ de_sgsap_ecgi(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(tvb), NULL, 0);
+
+#.FN_BODY TA-Id VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_TA_id);
+ de_emm_trac_area_id(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(tvb), NULL, 0);
+
+#.FN_BODY GeographicalInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation);
+ dissect_geographical_description(parameter_tvb, actx->pinfo, subtree);
+
+#.FN_BODY GeodeticInformation VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeodeticInformation);
+ dissect_isup_calling_geodetic_location_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.TYPE_ATTR
+LAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY LAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+# Make dissector table for V3 messages
+#.REGISTER
+
+SendAuthenticationInfoArg N gsm_map.v3.arg.opcode 56
+SendAuthenticationInfoRes N gsm_map.v3.res.opcode 56
+
+#----------------------------------------------------------------------------------------
+#.TYPE_ATTR
+SS-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
+Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
+Bearerservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
+TeleserviceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
+BearerServiceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
+Ext-TeleserviceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
+Ext-BearerServiceCode TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
+ChargingCharacteristics TYPE = FT_UINT16 DISPLAY = BASE_DEC BITMASK = 0x0f00 STRINGS = VALS(chargingcharacteristics_values)
+RoutingInfo TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_ch_RoutingInfo_vals)
+DiameterIdentity TYPE = FT_STRING DISPLAY = BASE_NONE
+
+#----------------------------------------------------------------------------------------
+#.FIELD_ATTR
+RequestedInfo/imei ABBREV = imei_null
+
+#.END
diff --git a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c
new file mode 100644
index 00000000..a46309c0
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.c
@@ -0,0 +1,3471 @@
+/* XXX see bug 1852:
+ *
+ * packet-gsm_map.c: There are 1174 display filter fields registered. Most are
+ * prefixed appropriately as "gsm_map", but many others are prefixed as
+ * "gsm_old", or even "gad", "gsm_ss", or with no prefix at all. I don't know
+ * if the ones with "gsm_old" are simply obsolete display filter fields or if
+ * they should be prefixed as "gsm_map.old." or what. Similar uncertainties
+ * for the others. Someone more knowledgeable than I am with respect to this
+ * dissector should provide a patch for it.
+ */
+
+/* packet-gsm_map-template.c
+ * Routines for GSM MobileApplication packet dissection
+ * including GSM SS.
+ * Copyright 2004 - 2010 , Anders Broman <anders.broman [AT] ericsson.com>
+ * Based on the dissector by:
+ * Felix Fei <felix.fei [AT] utstar.com>
+ * and Michael Lum <mlum [AT] telostech.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References GSM MAP:
+ * ETSI TS 129 002
+ * Updated to ETSI TS 129 002 V7.5.0 (3GPP TS 29.002 V7.5.0 (2006-09) Release 7)
+ * Updated to ETSI TS 129 002 V8.4.0 (3GPP TS 29.002 V8.1.0 (2007-06) Release 8)
+ * References GSM SS
+ * References: 3GPP TS 24.080
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/stat_tap_ui.h>
+#include <epan/tap.h>
+#include <epan/oids.h>
+#include <epan/expert.h>
+#include <epan/proto_data.h>
+#include <epan/conversation.h>
+#include <wsutil/strtoi.h>
+
+#include <epan/asn1.h>
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-q931.h"
+#include "packet-gsm_map.h"
+#include "packet-gsm_a_common.h"
+#include "packet-tcap.h"
+#include "packet-e164.h"
+#include "packet-e212.h"
+#include "packet-smpp.h"
+#include "packet-gsm_sms.h"
+#include "packet-ranap.h"
+#include "packet-isup.h"
+
+#define PNAME "GSM Mobile Application"
+#define PSNAME "GSM_MAP"
+#define PFNAME "gsm_map"
+
+void proto_register_gsm_map(void);
+void proto_reg_handoff_gsm_map(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_gsm_map = -1;
+static int proto_gsm_map_dialogue = -1;
+static int proto_gsm_map_ms = -1;
+
+static int hf_gsm_map_old_Component_PDU = -1;
+static int hf_gsm_map_getPassword = -1;
+static int hf_gsm_map_currentPassword = -1;
+static int hf_gsm_map_extension = -1;
+static int hf_gsm_map_nature_of_number = -1;
+static int hf_gsm_map_number_plan = -1;
+static int hf_gsm_map_address_digits = -1;
+static int hf_gsm_map_TBCD_digits = -1;
+static int hf_gsm_map_Ss_Status_unused = -1;
+static int hf_gsm_map_Ss_Status_q_bit = -1;
+static int hf_gsm_map_Ss_Status_p_bit = -1;
+static int hf_gsm_map_Ss_Status_r_bit = -1;
+static int hf_gsm_map_Ss_Status_a_bit = -1;
+static int hf_gsm_map_notification_to_forwarding_party = -1;
+static int hf_gsm_map_redirecting_presentation = -1;
+static int hf_gsm_map_notification_to_calling_party = -1;
+static int hf_gsm_map_forwarding_reason = -1;
+static int hf_gsm_map_pdp_type_org = -1;
+static int hf_gsm_map_etsi_pdp_type_number = -1;
+static int hf_gsm_map_ietf_pdp_type_number = -1;
+static int hf_gsm_map_ext_qos_subscribed_pri = -1;
+
+static int hf_gsm_map_qos_traffic_cls = -1;
+static int hf_gsm_map_qos_del_order = -1;
+static int hf_gsm_map_qos_del_of_err_sdu = -1;
+static int hf_gsm_map_qos_ber = -1;
+static int hf_gsm_map_qos_sdu_err_rat = -1;
+static int hf_gsm_map_qos_traff_hdl_pri = -1;
+static int hf_gsm_map_qos_max_sdu = -1;
+static int hf_gsm_map_max_brate_ulink = -1;
+static int hf_gsm_map_max_brate_dlink = -1;
+static int hf_gsm_map_qos_transfer_delay = -1;
+static int hf_gsm_map_guaranteed_max_brate_ulink = -1;
+static int hf_gsm_map_guaranteed_max_brate_dlink = -1;
+static int hf_gsm_map_GSNAddress_IPv4 = -1;
+static int hf_gsm_map_GSNAddress_IPv6 = -1;
+static int hf_gsm_map_ranap_service_Handover = -1;
+static int hf_gsm_map_IntegrityProtectionInformation = -1;
+static int hf_gsm_map_EncryptionInformation = -1;
+static int hf_gsm_map_ss_SS_UserData = -1;
+static int hf_gsm_map_cbs_coding_grp = -1;
+static int hf_gsm_map_cbs_coding_grp0_lang = -1;
+static int hf_gsm_map_cbs_coding_grp1_lang = -1;
+static int hf_gsm_map_cbs_coding_grp2_lang = -1;
+static int hf_gsm_map_cbs_coding_grp3_lang = -1;
+static int hf_gsm_map_cbs_coding_grp4_7_comp = -1;
+static int hf_gsm_map_cbs_coding_grp4_7_class_ind = -1;
+static int hf_gsm_map_cbs_coding_grp4_7_char_set = -1;
+static int hf_gsm_map_cbs_coding_grp4_7_class = -1;
+static int hf_gsm_map_cbs_coding_grp15_mess_code = -1;
+static int hf_gsm_map_cbs_coding_grp15_class = -1;
+static int hf_gsm_map_ie_tag = -1;
+static int hf_gsm_map_len = -1;
+static int hf_gsm_map_disc_par = -1;
+static int hf_gsm_map_dlci = -1;
+static int hf_gsm_apn_str = -1;
+static int hf_gsm_map_ericsson_locationInformation_rat = -1;
+static int hf_gsm_map_ericsson_locationInformation_lac = -1;
+static int hf_gsm_map_ericsson_locationInformation_ci = -1;
+static int hf_gsm_map_ericsson_locationInformation_sac = -1;
+static int hf_gsm_map_ussd_string = -1;
+static int hf_gsm_map_spare_bits = -1;
+static int hf_gsm_map_qos_signalling_ind = -1;
+static int hf_gsm_map_qos_source_stat_desc = - 1;
+static int hf_gsm_map_qos_max_bitrate_upl_ext = -1;
+static int hf_gsm_map_qos_max_bitrate_downl_ext = -1;
+static int hf_gsm_map_qos_guar_bitrate_upl_ext = -1;
+static int hf_gsm_map_qos_guar_bitrate_downl_ext = -1;
+/*
+static int hf_gsm_map_qos_max_bitrate_upl_ext2 = -1;
+static int hf_gsm_map_qos_max_bitrate_downl_ext2 = -1;
+static int hf_gsm_map_qos_guar_bitrate_upl_ext2 = -1;
+static int hf_gsm_map_qos_guar_bitrate_downl_ext2 = -1;
+*/
+static int hf_gsm_map_earp_pci = -1;
+static int hf_gsm_map_earp_pl = -1;
+static int hf_gsm_map_earp_pvi = -1;
+
+#include "packet-gsm_map-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_gsm_map = -1;
+static gint ett_gsm_map_InvokeId = -1;
+static gint ett_gsm_map_InvokePDU = -1;
+static gint ett_gsm_map_ReturnResultPDU = -1;
+static gint ett_gsm_map_ReturnErrorPDU = -1;
+static gint ett_gsm_map_ReturnResult_result = -1;
+static gint ett_gsm_map_ReturnError_result = -1;
+static gint ett_gsm_map_GSMMAPPDU = -1;
+static gint ett_gsm_map_ext_qos_subscribed = -1;
+static gint ett_gsm_map_pdptypenumber = -1;
+static gint ett_gsm_map_RAIdentity = -1;
+static gint ett_gsm_map_LAIFixedLength = -1;
+static gint ett_gsm_map_isdn_address_string = -1;
+static gint ett_gsm_map_geo_desc = -1;
+static gint ett_gsm_map_LongSignalInfo = -1;
+static gint ett_gsm_map_RadioResourceInformation =-1;
+static gint ett_gsm_map_MSNetworkCapability =-1;
+static gint ett_gsm_map_MSRadioAccessCapability = -1;
+static gint ett_gsm_map_externalsignalinfo = -1;
+static gint ett_gsm_map_cbs_data_coding = -1;
+static gint ett_gsm_map_GlobalCellId = -1;
+static gint ett_gsm_map_GeographicalInformation = -1;
+static gint ett_gsm_map_apn_str = -1;
+static gint ett_gsm_map_LocationNumber = -1;
+static gint ett_gsm_map_ericsson_locationInformation = -1;
+static gint ett_gsm_map_extension_data = -1;
+static gint ett_gsm_map_tbcd_digits = -1;
+static gint ett_gsm_map_ussd_string = -1;
+static gint ett_gsm_map_ext2_qos_subscribed = -1;
+static gint ett_gsm_map_ext3_qos_subscribed = -1;
+static gint ett_gsm_map_e_utranCellGlobalIdentity = -1;
+static gint ett_gsm_map_TA_id = -1;
+static gint ett_gsm_map_GeodeticInformation = -1;
+
+#include "packet-gsm_map-ett.c"
+
+static expert_field ei_gsm_map_unknown_sequence3 = EI_INIT;
+static expert_field ei_gsm_map_unknown_sequence = EI_INIT;
+static expert_field ei_gsm_map_unknown_parameter = EI_INIT;
+static expert_field ei_gsm_map_unknown_invokeData = EI_INIT;
+static expert_field ei_gsm_map_undecoded = EI_INIT;
+
+static dissector_handle_t gsm_sms_handle; /* SMS TPDU */
+static dissector_handle_t ranap_handle;
+static dissector_handle_t dtap_handle;
+static dissector_handle_t map_handle;
+static dissector_handle_t bssap_handle;
+static dissector_table_t map_prop_arg_opcode_table; /* prorietary operation codes */
+static dissector_table_t map_prop_res_opcode_table; /* prorietary operation codes */
+static dissector_table_t map_prop_err_opcode_table; /* prorietary operation codes */
+/* Preferenc settings default */
+#define MAX_SSN 254
+static range_t *global_ssn_range;
+#define APPLICATON_CONTEXT_FROM_TRACE 0
+static gint pref_application_context_version = APPLICATON_CONTEXT_FROM_TRACE;
+static gboolean pref_ericsson_proprietary_ext = FALSE;
+
+/* Global variables */
+static guint32 opcode=0;
+static guint32 errorCode;
+static int application_context_version;
+static guint ProtocolId;
+static guint AccessNetworkProtocolId;
+static int gsm_map_tap = -1;
+static guint8 gsmmap_pdu_type = 0;
+static guint8 gsm_map_pdu_size = 0;
+
+#define SMS_ENCODING_NOT_SET 0
+#define SMS_ENCODING_7BIT 1
+#define SMS_ENCODING_8BIT 2
+#define SMS_ENCODING_UCS2 3
+#define SMS_ENCODING_7BIT_LANG 4
+#define SMS_ENCODING_UCS2_LANG 5
+
+static guint8 sms_encoding;
+
+/* Forward declarations */
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
+static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
+static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
+const gchar* gsm_map_opr_code(guint32 val, proto_item *item);
+
+typedef struct {
+ struct tcap_private_t * tcap_private;
+ sccp_msg_info_t *sccp_msg_info;
+ tvbuff_t *signal_info_tvb;
+} gsm_map_private_info_t;
+
+typedef struct {
+ wmem_tree_t *packets;
+} gsm_map_conv_info_t;
+
+static gsm_map_packet_info_t *gsm_map_get_packet_info(asn1_ctx_t *actx, bool store_conv_info)
+{
+ gsm_map_packet_info_t *gsm_map_pi = (gsm_map_packet_info_t*)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_gsm_map, 0);
+ if (!gsm_map_pi) {
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+ gsm_map_pi = wmem_new0(wmem_file_scope(), gsm_map_packet_info_t);
+ p_add_proto_data(wmem_file_scope(), actx->pinfo, proto_gsm_map, 0, gsm_map_pi);
+ if (gsm_map_priv && gsm_map_priv->tcap_private) {
+ gsm_map_pi->tcap_src_tid = gsm_map_priv->tcap_private->src_tid;
+ if (store_conv_info) {
+ conversation_t *conversation;
+ gsm_map_conv_info_t *gsm_map_info;
+ wmem_tree_key_t key[3];
+ conversation = find_or_create_conversation(actx->pinfo);
+ gsm_map_info = (gsm_map_conv_info_t *)conversation_get_proto_data(conversation, proto_gsm_map);
+ if (!gsm_map_info) {
+ gsm_map_info = wmem_new(wmem_file_scope(), gsm_map_conv_info_t);
+ gsm_map_info->packets = wmem_tree_new(wmem_file_scope());
+ conversation_add_proto_data(conversation, proto_gsm_map, gsm_map_info);
+ }
+ key[0].length = 1;
+ key[0].key = &gsm_map_priv->tcap_private->src_tid;
+ key[1].length = 1;
+ key[1].key = &actx->pinfo->num;
+ key[2].length = 0;
+ key[2].key = NULL;
+ wmem_tree_insert32_array(gsm_map_info->packets, key, (void *)gsm_map_pi);
+ }
+ }
+ }
+ return gsm_map_pi;
+}
+
+static gsm_map_packet_info_t *gsm_map_get_matching_tcap_info(asn1_ctx_t *actx)
+{
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+ if (gsm_map_priv && gsm_map_priv->tcap_private) {
+ conversation_t *conversation;
+ gsm_map_conv_info_t *gsm_map_info;
+ wmem_tree_key_t key[3];
+ gsm_map_packet_info_t *gsm_map_pi;
+ conversation = find_or_create_conversation(actx->pinfo);
+ gsm_map_info = (gsm_map_conv_info_t *)conversation_get_proto_data(conversation, proto_gsm_map);
+ if (!gsm_map_info) {
+ gsm_map_info = wmem_new(wmem_file_scope(), gsm_map_conv_info_t);
+ gsm_map_info->packets = wmem_tree_new(wmem_file_scope());
+ conversation_add_proto_data(conversation, proto_gsm_map, gsm_map_info);
+ }
+ key[0].length = 1;
+ key[0].key = &gsm_map_priv->tcap_private->src_tid;
+ key[1].length = 1;
+ key[1].key = &actx->pinfo->num;
+ key[2].length = 0;
+ key[2].key = NULL;
+ gsm_map_pi = (gsm_map_packet_info_t*)wmem_tree_lookup32_array_le(gsm_map_info->packets, key);
+ if (gsm_map_pi && gsm_map_pi->tcap_src_tid == gsm_map_priv->tcap_private->src_tid)
+ return gsm_map_pi;
+ }
+ return NULL;
+}
+
+/* Value strings */
+
+const value_string gsm_map_PDP_Type_Organisation_vals[] = {
+ { 0, "ETSI" },
+ { 1, "IETF" },
+ { 0, NULL }
+};
+
+const value_string gsm_map_ietf_defined_pdp_vals[] = {
+ { 0x21, "IPv4 Address" },
+ { 0x57, "IPv6 Address" },
+ { 0, NULL }
+};
+
+const value_string gsm_map_etsi_defined_pdp_vals[] = {
+ { 1, "PPP" },
+ { 0, NULL }
+};
+
+static const value_string gsm_map_tag_vals[] = {
+ { 0x4, "Bearer Capability" },
+ { 0, NULL }
+};
+
+static const value_string gsm_map_disc_par_vals[] = {
+ { 0, "Not Transparent" },
+ { 1, "Transparent" },
+ { 0, NULL }
+};
+
+static const value_string gsm_map_ericsson_locationInformation_rat_vals[] = {
+ { 0x0, "GSM" },
+ { 0x1, "UMTS" },
+ { 0x2, "LTE" },
+ { 0xf, "No information" },
+ { 0, NULL }
+};
+
+
+/* returns value in kb/s */
+static guint
+gsm_map_calc_bitrate(guint8 value){
+
+ guint8 granularity;
+ guint returnvalue;
+
+ if (value == 0xff)
+ return 0;
+
+ granularity = value >> 6;
+ returnvalue = value & 0x7f;
+ switch (granularity){
+ case 0:
+ break;
+ case 1:
+ returnvalue = ((returnvalue - 0x40) << 3)+64;
+ break;
+ case 2:
+ returnvalue = (returnvalue << 6)+576;
+ break;
+ case 3:
+ returnvalue = (returnvalue << 6)+576;
+ break;
+ }
+ return returnvalue;
+
+}
+
+static void
+dissect_gsm_map_ext_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){
+ int offset = 0;
+ proto_tree *subtree;
+ guint8 octet;
+ guint16 value;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext_qos_subscribed);
+ /* OCTET 1:
+ Allocation/Retention Priority (This octet encodes each priority level defined in
+ 23.107 as the binary value of the priority level, declaration in 29.060)
+ Octets 2-9 are coded according to 3GPP TS 24.008[35] Quality of Service Octets
+ 6-13.
+ */
+ /* Allocation/Retention Priority */
+ proto_tree_add_item(subtree, hf_gsm_map_ext_qos_subscribed_pri, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /* Quality of Service Octets 6-13.( Octet 2 - 9 Here) */
+
+ /* Traffic class, octet 6 (see 3GPP TS 23.107) Bits 8 7 6 */
+ proto_tree_add_item(subtree, hf_gsm_map_qos_traffic_cls, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Delivery order, octet 6 (see 3GPP TS 23.107) Bits 5 4 */
+ proto_tree_add_item(subtree, hf_gsm_map_qos_del_order, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Delivery of erroneous SDUs, octet 6 (see 3GPP TS 23.107) Bits 3 2 1 */
+ proto_tree_add_item(subtree, hf_gsm_map_qos_del_of_err_sdu, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /* Maximum SDU size, octet 7 (see 3GPP TS 23.107) */
+ octet = tvb_get_guint8(tvb,offset);
+ switch (octet){
+ case 0:
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, octet, "Reserved");
+ break;
+ case 0x93:
+ value = 1502;
+ proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
+ break;
+ case 0x98:
+ value = 1510;
+ proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
+ break;
+ case 0x99:
+ value = 1532;
+ proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
+ break;
+ default:
+ if (octet<0x97){
+ value = octet * 10;
+ proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
+ }else{
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, octet, "0x%x not defined in TS 24.008", octet);
+ }
+ }
+ offset++;
+
+ /* Maximum bit rate for uplink, octet 8 */
+ octet = tvb_get_guint8(tvb,offset);
+ if (octet == 0 ){
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_max_brate_ulink, tvb, offset, 1, octet, "Reserved" );
+ }else{
+ proto_tree_add_uint(subtree, hf_gsm_map_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
+ }
+ offset++;
+ /* Maximum bit rate for downlink, octet 9 (see 3GPP TS 23.107) */
+ octet = tvb_get_guint8(tvb,offset);
+ if (octet == 0 ){
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_max_brate_dlink, tvb, offset, 1, octet, "Reserved" );
+ }else{
+ proto_tree_add_uint(subtree, hf_gsm_map_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
+ }
+ offset++;
+ /* Residual Bit Error Rate (BER), octet 10 (see 3GPP TS 23.107) Bits 8 7 6 5 */
+ proto_tree_add_item(subtree, hf_gsm_map_qos_ber, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* SDU error ratio, octet 10 (see 3GPP TS 23.107) */
+ proto_tree_add_item(subtree, hf_gsm_map_qos_sdu_err_rat, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /* Transfer delay, octet 11 (See 3GPP TS 23.107) Bits 8 7 6 5 4 3 */
+ proto_tree_add_item(subtree, hf_gsm_map_qos_transfer_delay, tvb, offset, 1, ENC_BIG_ENDIAN);
+ /* Traffic handling priority, octet 11 (see 3GPP TS 23.107) Bits 2 1 */
+ proto_tree_add_item(subtree, hf_gsm_map_qos_traff_hdl_pri, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ /* Guaranteed bit rate for uplink, octet 12 (See 3GPP TS 23.107)
+ Coding is identical to that of Maximum bit rate for uplink.
+ */
+ octet = tvb_get_guint8(tvb,offset);
+ if (octet == 0 ){
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_guaranteed_max_brate_ulink, tvb, offset, 1, octet, "Subscribed guaranteed bit rate for uplink/reserved");
+ }else{
+ proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
+ }
+ offset++;
+
+ /* Guaranteed bit rate for downlink, octet 13(See 3GPP TS 23.107)
+ Coding is identical to that of Maximum bit rate for uplink.
+ */
+ octet = tvb_get_guint8(tvb,offset);
+ if (octet == 0 ){
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_guaranteed_max_brate_dlink, tvb, offset, 1, octet, "Subscribed guaranteed bit rate for downlink/reserved");
+ }else{
+ proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
+ }
+
+}
+
+/*
+Ext2-QoS-Subscribed ::= OCTET STRING (SIZE (1..3))
+-- Octets 1-3 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 14-16.
+-- If Quality of Service information is structured with 14 octet length, then
+-- Octet 1 is coded according to 3GPP TS 24.008 [35] Quality of Service Octet 14.
+
+*/
+
+static const true_false_string gsm_map_qos_signalling_ind_value = {
+ "Optimised for signalling traffic",
+ "Not optimised for signalling traffic"
+};
+#if 0
+/* Helper function returning the main bitrates in kbps */
+static guint32
+qos_calc_bitrate(guint8 oct)
+{
+ if (oct <= 0x3f)
+ return oct;
+ if (oct <= 0x7f)
+ return 64 + (oct - 0x40) * 8;
+
+ return 576 + (oct - 0x80) * 64;
+}
+#endif
+/* Helper function returning the extended bitrates in kbps */
+static guint32
+qos_calc_ext_bitrate(guint8 oct)
+{
+ if (oct <= 0x4a)
+ return 8600 + oct * 100;
+ if (oct <= 0xba)
+ return 16000 + (oct - 0x4a) * 1000;
+
+ return 128000 + (oct - 0xba) * 2000;
+}
+#if 0
+static guint32
+qos_calc_ext2_bitrate(guint8 oct)
+{
+ if (oct <= 0x3d)
+ return (256 + oct * 4);
+ if (oct <= 0xa1)
+ return (500 + (oct - 0x3d) * 10);
+ if (oct <= 0xf6)
+ return (1500 + (oct - 0xa1) * 100);
+
+ return 10000;
+}
+#endif
+static void
+dissect_gsm_map_ext2_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx) {
+
+ int offset = 0;
+ proto_tree *subtree;
+ const gchar *str;
+ guint8 oct, tmp_oct;
+ guint32 temp32;
+ int length = tvb_reported_length(tvb);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext2_qos_subscribed);
+
+ /* Ocet 14 */
+ oct = tvb_get_guint8(tvb, offset);
+ proto_tree_add_bits_item(subtree, hf_gsm_map_spare_bits, tvb, (offset << 3), 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_gsm_map_qos_signalling_ind, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+ tmp_oct = oct & 7;
+ if (tmp_oct == 0x01)
+ str = "speech";
+ else
+ str = "unknown";
+
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_source_stat_desc, tvb,
+ offset, 1, oct, "%s (%u)", str, tmp_oct);
+
+ offset += 1;
+ if (length == offset) {
+ return;
+ }
+
+ /* Octet 15 */
+ oct = tvb_get_guint8(tvb, offset);
+
+ if (oct == 0x00)
+ str = "Use the value indicated by the Maximum bit rate for downlink";
+ else
+ {
+ temp32 = qos_calc_ext_bitrate(oct);
+ if (temp32 % 1000 == 0)
+ str = wmem_strdup_printf(pinfo->pool, "%u Mbps", temp32 / 1000);
+ else
+ str = wmem_strdup_printf(pinfo->pool, "%u kbps", temp32);
+ }
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_max_bitrate_downl_ext, tvb,
+ offset, 1, oct, "%s (%u)", str, oct);
+
+ offset += 1;
+ if (length == offset) {
+ return;
+ }
+
+ /* Octet 16 */
+ oct = tvb_get_guint8(tvb, offset);
+
+ if (oct == 0x00)
+ str = "Use the value indicated by the Guaranteed bit rate for downlink";
+ else
+ {
+ temp32 = qos_calc_ext_bitrate(oct);
+ if (temp32 % 1000 == 0)
+ str = wmem_strdup_printf(pinfo->pool, "%u Mbps", temp32 / 1000);
+ else
+ str = wmem_strdup_printf(pinfo->pool, "%u kbps", temp32);
+ }
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_guar_bitrate_downl_ext, tvb,
+ offset, 1, oct, "%s (%u)", str, oct);
+
+}
+
+/*
+Ext3-QoS-Subscribed ::= OCTET STRING (SIZE (1..2))
+-- Octets 1-2 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 17-18.
+
+*/
+static void
+dissect_gsm_map_ext3_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx) {
+
+ int offset = 0;
+ proto_tree *subtree;
+ const gchar *str;
+ guint8 oct;
+ guint32 temp32;
+ int length = tvb_reported_length(tvb);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext3_qos_subscribed);
+
+ /* Maximum bit rate for uplink (extended) Octet 17 */
+ oct = tvb_get_guint8(tvb, offset);
+
+ if (oct == 0x00)
+ str = "Use the value indicated by the Maximum bit rate for uplink";
+ else
+ {
+ temp32 = qos_calc_ext_bitrate(oct);
+ if (temp32 % 1000 == 0)
+ str = wmem_strdup_printf(pinfo->pool, "%u Mbps", temp32 / 1000);
+ else
+ str = wmem_strdup_printf(pinfo->pool, "%u kbps", temp32);
+ }
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_max_bitrate_upl_ext, tvb,
+ offset, 1, oct, "%s (%u)", str, oct);
+
+ offset += 1;
+ if (length == offset) {
+ return;
+ }
+
+ /* Guaranteed bit rate for uplink (extended) Octet 18 */
+ oct = tvb_get_guint8(tvb, offset);
+
+ if (oct == 0x00)
+ str = "Use the value indicated by the Guaranteed bit rate for uplink";
+ else
+ {
+ temp32 = qos_calc_ext_bitrate(oct);
+ if (temp32 % 1000 == 0)
+ str = wmem_strdup_printf(pinfo->pool, "%u Mbps", temp32 / 1000);
+ else
+ str = wmem_strdup_printf(pinfo->pool, "%u kbps", temp32);
+ }
+ proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_guar_bitrate_upl_ext, tvb,
+ offset, 1, oct, "%s (%u)", str, oct);
+
+ return;
+}
+
+static void
+dissect_gsm_map_ext4_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx) {
+ int offset = 0;
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext3_qos_subscribed);
+
+ proto_tree_add_item(subtree, hf_gsm_map_earp_pvi, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_gsm_map_earp_pl, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_gsm_map_earp_pci, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+}
+#define ELLIPSOID_POINT 0
+#define ELLIPSOID_POINT_WITH_UNCERT_CIRC 1
+#define ELLIPSOID_POINT_WITH_UNCERT_ELLIPSE 3
+#define POLYGON 5
+#define ELLIPSOID_POINT_WITH_ALT 8
+#define ELLIPSOID_POINT_WITH_ALT_AND_UNCERT_ELLIPSOID 9
+#define ELLIPSOID_ARC 10
+/*
+4 3 2 1
+0 0 0 0 Ellipsoid Point
+0 0 0 1 Ellipsoid point with uncertainty Circle
+0 0 1 1 Ellipsoid point with uncertainty Ellipse
+0 1 0 1 Polygon
+1 0 0 0 Ellipsoid point with altitude
+1 0 0 1 Ellipsoid point with altitude and uncertainty Ellipsoid
+1 0 1 0 Ellipsoid Arc
+other values reserved for future use
+*/
+
+/* TS 23 032 Table 2a: Coding of Type of Shape */
+#if 0
+static const value_string type_of_shape_vals[] = {
+ { ELLIPSOID_POINT, "Ellipsoid Point"},
+ { ELLIPSOID_POINT_WITH_UNCERT_CIRC, "Ellipsoid point with uncertainty Circle"},
+ { ELLIPSOID_POINT_WITH_UNCERT_ELLIPSE, "Ellipsoid point with uncertainty Ellipse"},
+ { POLYGON, "Polygon"},
+ { ELLIPSOID_POINT_WITH_ALT, "Ellipsoid point with altitude"},
+ { ELLIPSOID_POINT_WITH_ALT_AND_UNCERT_ELLIPSOID, "Ellipsoid point with altitude and uncertainty Ellipsoid"},
+ { ELLIPSOID_ARC, "Ellipsoid Arc"},
+ { 0, NULL }
+};
+
+/* 3GPP TS 23.032 7.3.1 */
+static const value_string sign_of_latitude_vals[] = {
+ { 0, "North"},
+ { 1, "South"},
+ { 0, NULL }
+};
+
+static const value_string dir_of_alt_vals[] = {
+ { 0, "Altitude expresses height"},
+ { 1, "Altitude expresses depth"},
+ { 0, NULL }
+};
+#endif
+
+static const value_string gsm_map_cbs_data_coding_scheme_coding_grp_vals[] = {
+ { 0, "Coding Group 0(Language using the GSM 7 bit default alphabet)" },
+ { 1, "Coding Group 1" },
+ { 2, "Coding Group 2" },
+ { 3, "Coding Group 3" },
+ { 4, "General Data Coding indication" },
+ { 5, "General Data Coding indication" },
+ { 6, "General Data Coding indication" },
+ { 7, "General Data Coding indication" },
+ { 8, "Reserved" },
+ { 9, "Message with User Data Header (UDH) structure" },
+ { 10,"Reserved" },
+ { 11,"Reserved" },
+ { 12,"Reserved" },
+ { 13,"Reserved" },
+ { 14,"Defined by the WAP Forum" },
+ { 15,"Data coding / message handling" },
+ { 0, NULL}
+};
+static value_string_ext gsm_map_cbs_data_coding_scheme_coding_grp_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_data_coding_scheme_coding_grp_vals);
+
+/* Coding group 0
+ * Bits 3..0 indicate the language:
+ */
+static const value_string gsm_map_cbs_coding_grp0_lang_vals[] = {
+ { 0, "German"},
+ { 1, "English"},
+ { 2, "Italian"},
+ { 3, "French"},
+ { 4, "Spanish"},
+ { 5, "Dutch"},
+ { 6, "Swedish"},
+ { 7, "Danish"},
+ { 8, "Portuguese"},
+ { 9, "Finnish"},
+ { 10, "Norwegian"},
+ { 11, "Greek"},
+ { 12, "Turkish"},
+ { 13, "Hungarian"},
+ { 14, "Polish"},
+ { 15, "Language unspecified"},
+ { 0, NULL }
+};
+static value_string_ext gsm_map_cbs_coding_grp0_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp0_lang_vals);
+
+static const value_string gsm_map_cbs_coding_grp1_lang_vals[] = {
+ { 0, "GSM 7 bit default alphabet; message preceded by language indication"},
+ { 1, "UCS2; message preceded by language indication"},
+ { 2, "Reserved"},
+ { 3, "Reserved"},
+ { 4, "Reserved"},
+ { 5, "Reserved"},
+ { 6, "Reserved"},
+ { 7, "Reserved"},
+ { 8, "Reserved"},
+ { 9, "Reserved"},
+ { 10, "Reserved"},
+ { 11, "Reserved"},
+ { 12, "Reserved"},
+ { 13, "Reserved"},
+ { 14, "Reserved"},
+ { 15, "Reserved"},
+ { 0, NULL }
+};
+static value_string_ext gsm_map_cbs_coding_grp1_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp1_lang_vals);
+
+static const value_string gsm_map_cbs_coding_grp2_lang_vals[] = {
+ { 0, "Czech"},
+ { 1, "Hebrew"},
+ { 2, "Arabic"},
+ { 3, "Russian"},
+ { 4, "Icelandic"},
+ { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 0, NULL }
+};
+static value_string_ext gsm_map_cbs_coding_grp2_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp2_lang_vals);
+
+static const value_string gsm_map_cbs_coding_grp3_lang_vals[] = {
+ { 0, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 1, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 2, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 3, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 4, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
+ { 0, NULL }
+};
+static value_string_ext gsm_map_cbs_coding_grp3_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp3_lang_vals);
+
+static const true_false_string gsm_map_cbs_coding_grp4_7_comp_vals = {
+ "The text is compressed using the compression algorithm defined in 3GPP TS 23.042",
+ "The text is uncompressed"
+};
+
+static const true_false_string gsm_map_cbs_coding_grp4_7_class_ind_vals = {
+ "Bits 1 to 0 have a message class meaning",
+ "Bits 1 to 0 are reserved and have no message class meaning"
+};
+
+/* Bits 3 and 2 indicate the character set being used, as follows: */
+
+static const value_string gsm_map_cbs_coding_grp4_7_char_set_vals[] = {
+ { 0, "GSM 7 bit default alphabet"},
+ { 1, "8 bit data"},
+ { 2, "UCS2 (16 bit)"},
+ { 3, "Reserved"},
+ { 0, NULL }
+};
+
+static const value_string gsm_map_cbs_coding_grp4_7_class_vals[] = {
+ { 0, "Class 0"},
+ { 1, "Class 1 Default meaning: ME-specific"},
+ { 2, "Class 2 (U)SIM specific message"},
+ { 3, "Class 3 Default meaning: TE-specific (see 3GPP TS 27.005"},
+ { 0, NULL }
+};
+
+static const value_string gsm_map_cbs_coding_grp15_mess_code_vals[] = {
+ { 0, "GSM 7 bit default alphabet"},
+ { 1, "8 bit data"},
+ { 0, NULL }
+};
+
+static const value_string gsm_map_cbs_coding_grp15_class_vals[] = {
+ { 0, "GSM 7 bit default alphabet"},
+ { 1, "8 bit data"},
+ { 0, NULL }
+};
+
+
+/* 3GPP TS 23.038 version 7.0.0 Release 7 */
+guint8
+dissect_cbs_data_coding_scheme(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint16 offset)
+{
+ guint8 octet;
+ guint8 coding_grp;
+ guint8 character_set;
+
+ octet = tvb_get_guint8(tvb,offset);
+ coding_grp = octet >>4;
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+ sms_encoding = SMS_ENCODING_NOT_SET;
+ switch (coding_grp){
+ case 0:
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp0_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
+ sms_encoding = SMS_ENCODING_7BIT;
+ break;
+ case 1:
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp1_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
+ if ((octet & 0x0f)== 0){
+ sms_encoding = SMS_ENCODING_7BIT_LANG;
+ }else{
+ sms_encoding = SMS_ENCODING_UCS2_LANG;
+ }
+ break;
+ case 2:
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp2_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
+ sms_encoding = SMS_ENCODING_7BIT;
+ break;
+ case 3:
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp3_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
+ sms_encoding = SMS_ENCODING_7BIT;
+ break;
+ /* Coding_grp 01xx */
+ case 4:
+ /* FALLTHRU */
+ case 5:
+ /* FALLTHRU */
+ case 6:
+ /* FALLTHRU */
+ case 7:
+ /* FALLTHRU */
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_comp, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class_ind, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, offset, 1, ENC_BIG_ENDIAN);
+ if ((octet & 0x10)== 0x10){
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, offset, 1, ENC_BIG_ENDIAN);
+ }
+ /* Bits 3 and 2 indicate the character set being used, */
+ character_set = (octet&0x0c)>>2;
+ switch (character_set){
+ case 0:
+ /* GSM 7 bit default alphabet */
+ sms_encoding = SMS_ENCODING_7BIT;
+ break;
+ case 1:
+ /* 8 bit data */
+ sms_encoding = SMS_ENCODING_8BIT;
+ break;
+ case 2:
+ /* UCS2 (16 bit) */
+ sms_encoding = SMS_ENCODING_UCS2;
+ break;
+ case 3:
+ /* Reserved */
+ sms_encoding = SMS_ENCODING_NOT_SET;
+ break;
+ default:
+ break;
+ }
+ break;
+ case 8:
+ /* Reserved coding groups */
+ break;
+ case 9:
+ /* Message with User Data Header (UDH) structure:*/
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, offset, 1, ENC_BIG_ENDIAN);
+ character_set = (octet&0x0c)>>2;
+ switch (character_set){
+ case 0:
+ /* GSM 7 bit default alphabet */
+ sms_encoding = SMS_ENCODING_7BIT;
+ break;
+ case 1:
+ /* 8 bit data */
+ sms_encoding = SMS_ENCODING_8BIT;
+ break;
+ case 2:
+ /* UCS2 (16 bit) */
+ sms_encoding = SMS_ENCODING_UCS2;
+ break;
+ case 3:
+ /* Reserved */
+ sms_encoding = SMS_ENCODING_NOT_SET;
+ break;
+ default:
+ break;
+ }
+ break;
+ case 10:
+ /* FALLTHRU */
+ case 11:
+ /* FALLTHRU */
+ case 12:
+ /* FALLTHRU */
+ case 13:
+ /* FALLTHRU */
+ /* 1010..1101 Reserved coding groups */
+ break;
+ case 14:
+ /* Defined by the WAP Forum
+ * "Wireless Datagram Protocol Specification", Wireless Application Protocol Forum Ltd.
+ */
+ break;
+ case 15:
+ /* Data coding / message handling */
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_mess_code, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_class, tvb, offset, 1, ENC_BIG_ENDIAN);
+ character_set = (octet&0x04)>>2;
+ if (character_set == 0){
+ sms_encoding = SMS_ENCODING_7BIT;
+ }else{
+ sms_encoding = SMS_ENCODING_8BIT;
+ }
+ break;
+ default:
+ break;
+ }
+
+ return sms_encoding;
+}
+void
+dissect_gsm_map_msisdn(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ guint8 octet;
+ guint8 na;
+ guint8 np;
+
+ proto_tree_add_item(tree, hf_gsm_map_extension, tvb, 0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_nature_of_number, tvb, 0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_gsm_map_number_plan, tvb, 0,1,ENC_BIG_ENDIAN);
+
+ if(tvb_reported_length(tvb)==1)
+ return;
+
+ octet = tvb_get_guint8(tvb,0);
+ /* nature of address indicator */
+ na = (octet & 0x70)>>4;
+ /* numbering plan indicator */
+ np = octet & 0x0f;
+ switch(np){
+ case 1:
+ /* ISDN/Telephony Numbering Plan (Rec ITU-T E.164) */
+ switch(na){
+ case 1:
+ /* international number */
+ dissect_e164_msisdn(tvb, tree, 1, tvb_reported_length(tvb)-1, E164_ENC_BCD);
+ break;
+ default:
+ proto_tree_add_item(tree, hf_gsm_map_address_digits, tvb, 1, -1, ENC_BCD_DIGITS_0_9);
+ break;
+ }
+ break;
+ case 6:
+ /* land mobile numbering plan (ITU-T Rec E.212) */
+ dissect_e212_imsi(tvb, pinfo, tree, 1, tvb_reported_length(tvb)-1, FALSE);
+ break;
+ default:
+ proto_tree_add_item(tree, hf_gsm_map_address_digits, tvb, 1, -1, ENC_BCD_DIGITS_0_9);
+ break;
+ }
+
+}
+
+#include "packet-gsm_map-fn.c"
+
+/* Specific translation for MAP V3 */
+const value_string gsm_map_V1V2_opr_code_strings[] = {
+ { 44, "forwardSM" },
+ { 45, "sendRoutingInfoForSM" },
+ { 46, "forwardSM" },
+ { 0, NULL }
+};
+/* Generic translation for MAP operation */
+const value_string gsm_map_opr_code_strings[] = {
+#include "packet-gsm_map-table.c"
+ { 0, NULL }
+};
+
+#if 0
+static const value_string gsm_map_err_code_string_vals[] = {
+#include "packet-gsm_map-table.c"
+ { 0, NULL }
+};
+#endif
+
+
+static const value_string gsm_map_nature_of_number_values[] = {
+ { 0x00, "unknown" },
+ { 0x01, "International Number" },
+ { 0x02, "National Significant Number" },
+ { 0x03, "Network Specific Number" },
+ { 0x04, "Subscriber Number" },
+ { 0x05, "Reserved" },
+ { 0x06, "Abbreviated Number" },
+ { 0x07, "Reserved for extension" },
+ { 0, NULL }
+};
+static value_string_ext gsm_map_nature_of_number_values_ext = VALUE_STRING_EXT_INIT(gsm_map_nature_of_number_values);
+
+static const value_string gsm_map_number_plan_values[] = {
+ { 0x00, "unknown" },
+ { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" },
+ { 0x02, "spare" },
+ { 0x03, "Data Numbering (ITU-T Rec. X.121)" },
+ { 0x04, "Telex Numbering (ITU-T Rec. F.69)" },
+ { 0x05, "spare" },
+ { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" },
+ { 0x07, "spare" },
+ { 0x08, "National Numbering" },
+ { 0x09, "Private Numbering" },
+ { 0x0a, "spare" },
+ { 0x0b, "spare" },
+ { 0x0c, "spare" },
+ { 0x0d, "spare" },
+ { 0x0e, "spare" },
+ { 0x0f, "Reserved for extension" },
+ { 0, NULL }
+};
+static value_string_ext gsm_map_number_plan_values_ext = VALUE_STRING_EXT_INIT(gsm_map_number_plan_values);
+
+static const true_false_string gsm_map_Ss_Status_q_bit_values = {
+ "Quiescent",
+ "Operative"
+};
+static const true_false_string gsm_map_Ss_Status_p_values = {
+ "Provisioned",
+ "Not Provisioned"
+};
+static const true_false_string gsm_map_Ss_Status_r_values = {
+ "Registered",
+ "Not Registered"
+};
+static const true_false_string gsm_map_Ss_Status_a_values = {
+ "Active",
+ "not Active"
+};
+
+/*
+ * Translate the MAP operation code value to a text string
+ * Take into account the MAP version for ForwardSM
+ */
+const gchar* gsm_map_opr_code(guint32 val, proto_item *item) {
+ switch (val) {
+ case 44: /*mt-forwardSM*/
+ /* FALLTHRU */
+ case 46: /*mo-forwardSM*/
+ if (application_context_version < 3) {
+ proto_item_set_text(item, "%s (%d)", val_to_str_const(val, gsm_map_V1V2_opr_code_strings, "Unknown GSM-MAP opcode"), val);
+ return val_to_str_const(val, gsm_map_V1V2_opr_code_strings, "Unknown GSM-MAP opcode");
+ }
+ /* Else use the default map operation translation */
+ /* FALLTHRU */
+ default:
+ return val_to_str_ext_const(val, &gsm_old_GSMMAPOperationLocalvalue_vals_ext, "Unknown GSM-MAP opcode");
+ break;
+ }
+}
+
+/* Prototype for a decoding function */
+typedef int (* dissect_function_t)( bool,
+ tvbuff_t *,
+ int ,
+ asn1_ctx_t *,
+ proto_tree *,
+ int);
+
+/*
+ * Dissect Multiple Choice Message
+ * This function is used to decode a message, when several encoding may be used.
+ * For exemple, in the last MAP version, the Cancel Location is defined like this:
+ * CancelLocationArg ::= [3] IMPLICIT SEQUENCE
+ * But in the previous MAP version, it was a CHOICE between a SEQUENCE and an IMSI
+ * As ASN1 encoders (or software) still uses the old encoding, this function allows
+ * the decoding of both versions.
+ * Moreover, some optimizations (or bad practice ?) in ASN1 encoder, removes the
+ * SEQUENCE tag, when only one parameter is present in the SEQUENCE.
+ * This explain why the function expects 3 parameters:
+ * - a [3] SEQUENCE corresponding the recent ASN1 MAP encoding
+ * - a SEQUENCE for old style
+ * - and a single parameter, for old version or optimizations
+ *
+ * The analyze of the first ASN1 tag, indicate what kind of decoding should be used,
+ * if the decoding function is provided (so not a NULL function)
+ */
+static int dissect_mc_message(tvbuff_t *tvb,
+ int offset,
+ asn1_ctx_t *actx,
+ proto_tree *tree,
+ bool implicit_param _U_, dissect_function_t parameter, int hf_index_param _U_,
+ bool implicit_seq _U_, dissect_function_t sequence, int hf_index_seq _U_,
+ bool implicit_seq3 _U_, dissect_function_t sequence3, int hf_index_seq3 _U_ )
+{
+ guint8 octet;
+ gint8 bug_class;
+ bool bug_pc, bug_ind_field;
+ gint32 bug_tag;
+ guint32 bug_len;
+
+ octet = tvb_get_guint8(tvb,0);
+ if ( (octet & 0xf) == 3) {
+ /* XXX asn2wrs can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &bug_class, &bug_pc, &bug_tag);
+ offset = get_ber_length(tvb, offset, &bug_len, &bug_ind_field);
+ if (sequence3 != NULL) {
+ offset= (sequence3) (implicit_seq3, tvb, offset, actx, tree, hf_index_seq3);
+ } else {
+ proto_tree_add_expert(tree, actx->pinfo, &ei_gsm_map_unknown_sequence3, tvb, offset, -1);
+ }
+ } else if (octet == 0x30) {
+ if (sequence != NULL) {
+ offset= (sequence) (implicit_seq, tvb, 0, actx, tree, hf_index_seq);
+ } else {
+ proto_tree_add_expert(tree, actx->pinfo, &ei_gsm_map_unknown_sequence, tvb, offset, -1);
+ }
+ } else {
+ if (parameter != NULL) {
+ offset= (parameter) (implicit_param, tvb, offset, actx, tree, hf_index_param);
+ } else {
+ proto_tree_add_expert(tree, actx->pinfo, &ei_gsm_map_unknown_parameter, tvb, offset, -1);
+ }
+ }
+ return offset;
+}
+
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
+
+ switch(opcode){
+ case 2: /*updateLocation*/
+ offset=dissect_gsm_map_ms_UpdateLocationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 3: /*cancelLocation*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity,
+ FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity,
+ TRUE , dissect_gsm_map_ms_CancelLocationArg, -1);/*undefined*/
+ break;
+ case 4: /*provideRoamingNumber*/
+ offset=dissect_gsm_map_ch_ProvideRoamingNumberArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 5: /*noteSubscriberDataModified*/
+ offset=dissect_gsm_map_ms_NoteSubscriberDataModifiedArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 6: /*resumeCallHandling*/
+ offset=dissect_gsm_map_ch_ResumeCallHandlingArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 7: /*insertSubscriberData*/
+ offset=dissect_gsm_map_ms_InsertSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 8: /*deleteSubscriberData*/
+ offset=dissect_gsm_map_ms_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 9: /*sendParameters*/
+ offset = dissect_gsm_old_SendParametersArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 10: /*registerSS*/
+ offset=dissect_gsm_map_ss_RegisterSS_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 11: /*eraseSS*/
+ offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 12: /*activateSS*/
+ offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 13: /*deactivateSS*/
+ offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 14: /*interrogateSS*/
+ offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 15: /*authenticationFailureReport*/
+ offset=dissect_gsm_map_ms_AuthenticationFailureReportArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 16: /*SS-protocol notifySS*/
+ offset=dissect_gsm_ss_NotifySS_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 17: /*registerPassword*/
+ offset=dissect_gsm_map_SS_Code(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_Code);
+ break;
+ case 18: /*getPassword*/
+ offset=dissect_gsm_old_GetPasswordArg(FALSE, tvb, offset, actx, tree, hf_gsm_map_getPassword);
+ break;
+ case 19: /* SS-Protocol processUnstructuredSS-Data (19) */
+ offset=dissect_gsm_ss_SS_UserData(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_SS_UserData);
+ break;
+ case 20: /*releaseResources*/
+ offset=dissect_gsm_map_ch_ReleaseResourcesArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 21: /*mt-ForwardSM-VGCS*/
+ offset=dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 22: /*sendRoutingInfo*/
+ if (application_context_version == 3){
+ offset=dissect_gsm_map_ch_SendRoutingInfoArg(FALSE, tvb, offset, actx, tree, -1);
+ }else{
+ offset = dissect_gsm_old_SendRoutingInfoArgV2(FALSE, tvb, offset, actx, tree, -1);
+ }
+ break;
+ case 23: /*updateGprsLocation*/
+ offset=dissect_gsm_map_ms_UpdateGprsLocationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 24: /*sendRoutingInfoForGprs*/
+ offset=dissect_gsm_map_ms_SendRoutingInfoForGprsArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 25: /*failureReport*/
+ offset=dissect_gsm_map_ms_FailureReportArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 26: /*noteMsPresentForGprs*/
+ offset=dissect_gsm_map_ms_NoteMsPresentForGprsArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ /* undefined 27 */
+ /* reserved performHandover (28) */
+ case 29: /*sendEndSignal*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, NULL, -1,
+ FALSE, dissect_gsm_old_Bss_APDU, -1,
+ TRUE , dissect_gsm_map_ms_SendEndSignal_Arg, -1);
+ break;
+ /* reserved performSubsequentHandover (30) */
+ case 31: /*provideSIWFSNumber*/
+ offset=dissect_gsm_old_ProvideSIWFSNumberArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 32: /*sIWFSSignallingModify*/
+ offset=dissect_gsm_old_SIWFSSignallingModifyArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 33: /*processAccessSignalling*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, NULL, -1,
+ FALSE, dissect_gsm_old_Bss_APDU, -1,
+ TRUE , dissect_gsm_map_ms_ProcessAccessSignalling_Arg, -1);
+ break;
+ case 34: /*forwardAccessSignalling*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, NULL, -1,
+ FALSE, dissect_gsm_old_Bss_APDU, -1,
+ TRUE , dissect_gsm_map_ms_ForwardAccessSignalling_Arg, -1);
+ break;
+ /* reserved noteInternalHandover (35) */
+ case 36: /*cancelVcsgLocation*/
+ offset=dissect_gsm_map_ms_CancelVcsgLocationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 37: /*reset*/
+ if (application_context_version == 1) {
+ offset = dissect_gsm_old_ResetArgV1(FALSE, tvb, offset, actx, tree, -1);
+ } else {
+ offset = dissect_gsm_map_ms_ResetArg(FALSE, tvb, offset, actx, tree, -1);
+ }
+ break;
+ case 38: /*forwardCheckSS-Indication*/
+ return offset;
+ break;
+ case 39: /*prepareGroupCall*/
+ offset=dissect_gsm_map_gr_PrepareGroupCallArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 40: /*sendGroupCallEndSignal*/
+ offset = dissect_gsm_map_gr_SendGroupCallEndSignalArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 41: /*processGroupCallSignalling*/
+ offset = dissect_gsm_map_gr_ProcessGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 42: /*forwardGroupCallSignalling*/
+ offset=dissect_gsm_map_gr_ForwardGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 43: /*checkIMEI*/
+ if (pref_ericsson_proprietary_ext) {
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_IMEI, hf_gsm_map_ms_imei,
+ FALSE, dissect_gsm_map_ericsson_EnhancedCheckIMEI_Arg, -1,
+ TRUE , NULL, -1); /* no [3] SEQUENCE */
+ } else {
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_IMEI, hf_gsm_map_ms_imei,
+ FALSE, dissect_gsm_map_ms_CheckIMEI_Arg, -1,
+ TRUE , NULL, -1); /* no [3] SEQUENCE */
+ }
+ break;
+ case 44: /*mt-forwardSM(v3) or ForwardSM(v1/v2)*/
+ if (application_context_version == 3)
+ offset=dissect_gsm_map_sm_MT_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
+ else {
+ offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
+ }
+ break;
+ case 45: /*sendRoutingInfoForSM*/
+ if (application_context_version < 2) {
+ offset=dissect_gsm_old_RoutingInfoForSM_ArgV1(FALSE, tvb, offset, actx, tree, -1);
+ } else {
+ offset=dissect_gsm_map_sm_RoutingInfoForSM_Arg(FALSE, tvb, offset, actx, tree, -1);
+ }
+ break;
+ case 46: /*mo-forwardSM(v3) or ForwardSM(v1/v2)*/
+ if (application_context_version == 3)
+ offset=dissect_gsm_map_sm_MO_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
+ else {
+ offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
+ }
+ break;
+ case 47: /*reportSM-DeliveryStatus*/
+ offset=dissect_gsm_map_sm_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 48: /*noteSubscriberPresent*/
+ offset = dissect_gsm_map_IMSI(FALSE, tvb, offset, actx, tree, hf_gsm_map_imsi);
+ break;
+ /* reserved alertServiceCentreWithoutResult (49)
+ * ETS 300 599: December 2000 (GSM 09.02 version 4.19.1)
+ * -- alertServiceCentreWithoutResult must not be used in
+ * -- version greater 1
+ */
+ case 49:
+ offset = dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 50: /*activateTraceMode*/
+ offset=dissect_gsm_map_om_ActivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 51: /*deactivateTraceMode*/
+ offset=dissect_gsm_map_om_DeactivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ /* reserved traceSubscriberActivity (52) */
+
+ case 53: /* UpdateVcsgLocation 53 */
+ offset=dissect_gsm_map_ms_UpdateVcsgLocationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 54: /*beginSubscriberActivity*/
+ offset=dissect_gsm_old_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 55: /*sendIdentification*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_TMSI, hf_gsm_map_tmsi,
+ FALSE, dissect_gsm_map_ms_SendIdentificationArg, -1,
+ TRUE, NULL, -1);
+ break;
+ case 56: /*sendAuthenticationInfo*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
+ FALSE, dissect_gsm_map_ms_SendAuthenticationInfoArg, -1,
+ TRUE, NULL, -1);
+ break;
+ case 57: /*restoreData*/
+ offset=dissect_gsm_map_ms_RestoreDataArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 58: /*sendIMSI*/
+ offset = dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, actx, tree, hf_gsm_map_msisdn);
+ break;
+ case 59: /*processUnstructuredSS-Request*/
+ offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 60: /*unstructuredSS-Request*/
+ offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 61: /*unstructuredSS-Notify*/
+ offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 62: /*AnyTimeSubscriptionInterrogation*/
+ offset=dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 63: /*informServiceCentre*/
+ offset=dissect_gsm_map_sm_InformServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 64: /*alertServiceCentre*/
+ offset=dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 65: /*AnyTimeModification*/
+ offset=dissect_gsm_map_ms_AnyTimeModificationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 66: /*readyForSM*/
+ offset=dissect_gsm_map_sm_ReadyForSM_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 67: /*purgeMS*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
+ FALSE, dissect_gsm_old_PurgeMSArgV2, -1, /*undefined*/
+ TRUE , dissect_gsm_map_ms_PurgeMS_Arg, -1);
+ break;
+ case 68: /*prepareHandover*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, NULL, -1,
+ FALSE, dissect_gsm_old_PrepareHO_ArgOld, -1,
+ TRUE, dissect_gsm_map_ms_PrepareHO_Arg, -1);
+ break;
+ case 69: /*prepareSubsequentHandover*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, NULL, -1,
+ FALSE, NULL, -1,
+ TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Arg, -1);
+ break;
+ case 70: /*provideSubscriberInfo*/
+ offset=dissect_gsm_map_ms_ProvideSubscriberInfoArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 71: /*anyTimeInterrogation*/
+ offset=dissect_gsm_map_ms_AnyTimeInterrogationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 72: /*ss-InvocationNotificatio*/
+ offset=dissect_gsm_map_ss_SS_InvocationNotificationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 73: /*setReportingState*/
+ offset=dissect_gsm_map_ch_SetReportingStateArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 74: /*statusReport*/
+ offset=dissect_gsm_map_ch_StatusReportArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 75: /*remoteUserFree*/
+ offset=dissect_gsm_map_ch_RemoteUserFreeArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 76: /*registerCC-Entry*/
+ offset=dissect_gsm_map_ss_RegisterCC_EntryArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 77: /*eraseCC-Entry*/
+ offset=dissect_gsm_map_ss_EraseCC_EntryArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 78: /*secureTransportClass1*/
+ case 79: /*secureTransportClass1*/
+ case 80: /*secureTransportClass1*/
+ case 81: /*secureTransportClass1*/
+ offset=dissect_gsm_old_SecureTransportArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ /* undefined 82 */
+ case 83: /*provideSubscriberLocation*/
+ offset=dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 84: /*sendGroupCallInfo*/
+ offset=dissect_gsm_map_gr_SendGroupCallInfoArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 85: /*sendRoutingInfoForLCS*/
+ offset=dissect_gsm_map_lcs_RoutingInfoForLCS_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 86: /*subscriberLocationReport*/
+ offset=dissect_gsm_map_lcs_SubscriberLocationReport_Arg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 87: /*ist-Alert*/
+ offset=dissect_gsm_map_ch_IST_AlertArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 88: /*ist-Command*/
+ offset=dissect_gsm_map_ch_IST_CommandArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 89: /*noteMM-Event*/
+ offset=dissect_gsm_map_ms_NoteMM_EventArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 108: /*SS-protocol lcs-PeriodicTriggeredInvoke*/
+ offset = dissect_gsm_ss_LCS_PeriodicTriggeredInvokeArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 109: /*SS-protocol lcs-PeriodicLocationCancellation*/
+ offset=dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 110: /*SS-protocol lcs-LocationUpdate*/
+ offset=dissect_gsm_ss_LCS_LocationUpdateArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 111: /*SS-protocol lcs-PeriodicLocationRequest*/
+ offset=dissect_gsm_ss_LCS_PeriodicLocationRequestArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 112: /*SS-protocol lcs-AreaEventCancellation*/
+ offset=dissect_gsm_ss_LCS_AreaEventCancellationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 113: /*SS-protocol lcs-AreaEventReport*/
+ offset=dissect_gsm_ss_LCS_AreaEventReportArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 114: /*SS-protocol lcs-AreaEventRequest*/
+ offset=dissect_gsm_ss_LCS_AreaEventRequestArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 115: /*SS-protocol lcs-MOLR*/
+ offset=dissect_gsm_ss_LCS_MOLRArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 116: /*SS-protocol lcs-LocationNotification*/
+ offset=dissect_gsm_ss_LocationNotificationArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 117: /*SS-protocol callDeflection*/
+ offset=dissect_gsm_ss_CallDeflectionArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 118: /*SS-protocol userUserService*/
+ offset=dissect_gsm_ss_UserUserServiceArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 119: /*SS-protocol accessRegisterCCEntry*/
+ offset=dissect_gsm_ss_AccessRegisterCCEntryArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 120: /*SS-protocol forwardCUG-Info*/
+ application_context_version = 3;
+ offset=dissect_gsm_ss_ForwardCUG_InfoArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 121: /*SS-protocol splitMPTY no Argument*/
+ break;
+ case 122: /*SS-protocol retrieveMPTY no Argument*/
+ break;
+ case 123: /*SS-protocol holdMPTY no Argument*/
+ break;
+ case 124: /*SS-protocol buildMPTY no Argument*/
+ break;
+ case 125: /*SS-protocol forwardChargeAdvice*/
+ offset=dissect_gsm_ss_ForwardChargeAdviceArg(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 126: /*SS-protocol explicitCT no Argument*/
+ break;
+ default:
+ if(!dissector_try_uint_new(map_prop_arg_opcode_table, (guint8)opcode, tvb, actx->pinfo, tree, TRUE, actx->subtree.top_tree)){
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData,
+ tvb, offset, -1, "Unknown invokeData %d", opcode);
+ }
+ offset+= tvb_reported_length_remaining(tvb,offset);
+ break;
+ }
+ return offset;
+}
+
+
+static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
+
+ switch(opcode){
+ case 2: /*updateLocation*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
+ FALSE, dissect_gsm_map_ms_UpdateLocationRes, -1,
+ TRUE , NULL, -1);
+ break;
+ case 3: /*cancelLocation*/
+ offset=dissect_gsm_map_ms_CancelLocationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 4: /*provideRoamingNumber*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_ISDN_AddressString, hf_gsm_map_msisdn,
+ FALSE, dissect_gsm_map_ch_ProvideRoamingNumberRes, -1,
+ TRUE , NULL, -1);/*undefined*/
+ break;
+ case 5: /*noteSubscriberDataModified*/
+ offset=dissect_gsm_map_ms_NoteSubscriberDataModifiedRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 6: /*resumeCallHandling*/
+ offset=dissect_gsm_map_ch_ResumeCallHandlingRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 7: /*insertSubscriberData*/
+ offset=dissect_gsm_map_ms_InsertSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 8: /*deleteSubscriberData*/
+ offset=dissect_gsm_map_ms_DeleteSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 9: /*sendParameters*/
+ offset = dissect_gsm_old_SentParameterList(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 10: /*registerSS*/
+ offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 11: /*eraseSS*/
+ offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 12: /*activateSS*/
+ offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 13: /*deactivateSS*/
+ offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 14: /*interrogateSS*/
+ offset=dissect_gsm_map_ss_InterrogateSS_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 15: /*authenticationFailureReport*/
+ offset=dissect_gsm_map_ms_AuthenticationFailureReportRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 17: /*registerPassword*/
+ /* change hf_gsm_map_ss_Code to something with password */
+ offset=dissect_gsm_old_NewPassword(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_Code);
+ break;
+ case 18: /*getPassword*/
+ offset=dissect_gsm_old_CurrentPassword(FALSE, tvb, offset, actx, tree, hf_gsm_map_currentPassword);
+ break;
+ case 19: /* SS-Protocol processUnstructuredSS-Data (19) */
+ offset=dissect_gsm_ss_SS_UserData(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_SS_UserData);
+ break;
+ case 20: /*releaseResources*/
+ offset=dissect_gsm_map_ch_ReleaseResourcesRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 21: /*mt-ForwardSM-VGCS*/
+ offset=dissect_gsm_map_sm_MT_ForwardSM_VGCS_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 22: /*sendRoutingInfo*/
+ if (application_context_version == 3){
+ /* If the tag is missing use SendRoutingInfoRes_U */
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, NULL, -1,
+ FALSE, dissect_gsm_map_ch_SendRoutingInfoRes_U, -1,
+ TRUE , dissect_gsm_map_ch_SendRoutingInfoRes, -1);
+ }else{
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
+ FALSE, dissect_gsm_old_SendRoutingInfoResV2, -1,
+ TRUE , dissect_gsm_map_ch_SendRoutingInfoRes, -1);
+ }
+ break;
+ case 23: /*updateGprsLocation*/
+ offset=dissect_gsm_map_ms_UpdateGprsLocationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 24: /*sendRoutingInfoForGprs*/
+ offset=dissect_gsm_map_ms_SendRoutingInfoForGprsRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 25: /*failureReport*/
+ offset=dissect_gsm_map_ms_FailureReportRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 26: /*noteMsPresentForGprs*/
+ offset=dissect_gsm_map_ms_NoteMsPresentForGprsRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 29: /*sendEndSignal*/
+ /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain
+ * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) }
+ */
+ offset=dissect_gsm_map_ms_SendEndSignal_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 31: /*provideSIWFSNumber*/
+ offset=dissect_gsm_old_ProvideSIWFSNumberRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 32: /*provideSIWFSSignallingModify*/
+ offset=dissect_gsm_old_SIWFSSignallingModifyRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 36: /*cancelVcsgLocation*/
+ offset=dissect_gsm_map_ms_CancelVcsgLocationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 39: /*prepareGroupCall*/
+ offset=dissect_gsm_map_gr_PrepareGroupCallRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 40: /*sendGroupCallEndSignal*/
+ offset=dissect_gsm_map_gr_SendGroupCallEndSignalRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 43: /*checkIMEI*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_ms_EquipmentStatus, hf_gsm_map_ms_equipmentStatus,
+ FALSE, dissect_gsm_map_ms_CheckIMEI_Res, -1,
+ TRUE, NULL, -1);
+ break;
+ case 44: /*mt-forwardSM*/
+ offset=dissect_gsm_map_sm_MT_ForwardSM_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 45: /*sendRoutingInfoForSM*/
+ if (application_context_version < 3) {
+ offset=dissect_gsm_old_RoutingInfoForSM_ResV2(FALSE, tvb, offset, actx, tree, -1);
+ } else {
+ offset=dissect_gsm_map_sm_RoutingInfoForSM_Res(FALSE, tvb, offset, actx, tree, -1);
+ }
+ break;
+ case 46: /*mo-forwardSM*/
+ offset=dissect_gsm_map_sm_MO_ForwardSM_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 47: /*reportSM-DeliveryStatus*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_ISDN_AddressString, hf_gsm_map_sm_storedMSISDN,
+ FALSE, dissect_gsm_map_sm_ReportSM_DeliveryStatusRes, -1,
+ FALSE, NULL, -1);/*undefined*/
+ break;
+ case 48: /*noteSubscriberPresent*/
+ break;
+ case 50: /*activateTraceMode*/
+ offset=dissect_gsm_map_om_ActivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 51: /*deactivateTraceMode*/
+ offset=dissect_gsm_map_om_DeactivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 53: /* UpdateVcsgLocation 53 */
+ offset=dissect_gsm_map_ms_UpdateVcsgLocationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 55: /*sendIdentification */
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
+ FALSE, dissect_gsm_old_SendIdentificationResV2, -1,/*undefined*/
+ TRUE, dissect_gsm_map_ms_SendIdentificationRes, -1);
+ break;
+ case 56: /*sendAuthenticationInfo*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, NULL, -1,
+ FALSE, dissect_gsm_old_SendAuthenticationInfoResOld, -1,
+ TRUE , dissect_gsm_map_ms_SendAuthenticationInfoRes, -1);
+ break;
+ case 57: /*restoreData*/
+ offset=dissect_gsm_map_ms_RestoreDataRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 58: /*sendIMSI*/
+ offset=dissect_gsm_map_IMSI(FALSE, tvb, offset, actx, tree, hf_gsm_map_ms_imsi);
+ break;
+ case 59: /*unstructuredSS-Request*/
+ offset=dissect_gsm_map_ss_USSD_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 60: /*unstructuredSS-Request*/
+ offset=dissect_gsm_map_ss_USSD_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 61: /*unstructuredSS-Notify*/
+ /* TRUE ? */
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData, tvb, offset, -1, "Unknown returnResultData blob");
+ break;
+ case 62: /*AnyTimeSubscriptionInterrogation*/
+ offset=dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 64: /*alertServiceCentre*/
+ /* TRUE */
+ break;
+ case 65: /*AnyTimeModification*/
+ offset=dissect_gsm_map_ms_AnyTimeModificationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 66: /*readyForSM*/
+ offset=dissect_gsm_map_sm_ReadyForSM_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 67: /*purgeMS*/
+ offset=dissect_gsm_map_ms_PurgeMS_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 68: /*prepareHandover*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, NULL, -1,
+ FALSE, dissect_gsm_old_PrepareHO_ResOld, -1,
+ TRUE , dissect_gsm_map_ms_PrepareHO_Res, -1);
+ break;
+ case 69: /*prepareSubsequentHandover*/
+ offset=dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, NULL, -1,
+ FALSE, NULL, -1,
+ TRUE , dissect_gsm_map_ms_PrepareSubsequentHO_Res, -1);
+ break;
+ case 70: /*provideSubscriberInfo*/
+ offset=dissect_gsm_map_ms_ProvideSubscriberInfoRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 71: /*anyTimeInterrogation*/
+ offset=dissect_gsm_map_ms_AnyTimeInterrogationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 72: /*ss-InvocationNotificatio*/
+ offset=dissect_gsm_map_ss_SS_InvocationNotificationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 73: /*setReportingState*/
+ offset=dissect_gsm_map_ch_SetReportingStateRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 74: /*statusReport*/
+ offset=dissect_gsm_map_ch_StatusReportRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 75: /*remoteUserFree*/
+ offset=dissect_gsm_map_ch_RemoteUserFreeRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 76: /*registerCC-Entry*/
+ offset=dissect_gsm_map_ss_RegisterCC_EntryRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 77: /*eraseCC-Entry*/
+ offset=dissect_gsm_map_ss_EraseCC_EntryRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 78: /*secureTransportClass1*/
+ case 79: /*secureTransportClass2*/
+ case 80: /*secureTransportClass3*/
+ case 81: /*secureTransportClass4*/
+ offset=dissect_gsm_old_SecureTransportRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 83: /*provideSubscriberLocation*/
+ offset=dissect_gsm_map_lcs_ProvideSubscriberLocation_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 84: /*sendGroupCallInfo*/
+ offset=dissect_gsm_map_gr_SendGroupCallInfoRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 85: /*sendRoutingInfoForLCS*/
+ offset=dissect_gsm_map_lcs_RoutingInfoForLCS_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 86: /*subscriberLocationReport*/
+ offset=dissect_gsm_map_lcs_SubscriberLocationReport_Res(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 87: /*ist-Alert*/
+ offset=dissect_gsm_map_ch_IST_AlertRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 88: /*ist-Command*/
+ offset=dissect_gsm_map_ch_IST_CommandRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 89: /*noteMM-Event*/
+ offset=dissect_gsm_map_ms_NoteMM_EventRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 108: /*SS-protocol LCS-PeriodicTriggeredInvokeRes*/
+ offset = dissect_gsm_ss_LCS_PeriodicTriggeredInvokeRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 109: /*SS-protocol lcs-PeriodicLocationCancellation*/
+ /* No parameter */
+ break;
+ case 110: /*SS-protocol lcs-LocationUpdate*/
+ offset=dissect_gsm_ss_LCS_LocationUpdateRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 111: /*SS-protocol lcs-PeriodicLocationRequest*/
+ offset=dissect_gsm_ss_LCS_PeriodicLocationRequestRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 112: /*SS-protocol lcs-AreaEventCancellation*/
+ break;
+ case 113: /*SS-protocol lcs-AreaEventReport*/
+ break;
+ case 114: /*SS-protocol lcs-AreaEventRequest No RESULT data*/
+ break;
+ case 115: /*SS-protocol lcs-MOLR*/
+ offset=dissect_gsm_ss_LCS_MOLRRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 116: /*SS-protocol lcs-LocationNotification*/
+ offset=dissect_gsm_ss_LocationNotificationRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 117: /*SS-protocol callDeflection no RESULT*/
+ break;
+ case 118: /*SS-protocol userUserService no RESULT*/
+ break;
+ case 119: /*SS-protocol accessRegisterCCEntry*/
+ offset=dissect_gsm_map_ss_RegisterCC_EntryRes(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 120: /*SS-protocol forwardCUG-Info*/
+ /* No RETURN RESULT*/
+ break;
+ case 121: /*SS-protocol splitMPTY no RESULT*/
+ break;
+ case 122: /*SS-protocol retrieveMPTY no RESULT*/
+ break;
+ case 123: /*SS-protocol holdMPTY no RESULT*/
+ break;
+ case 124: /*SS-protocol buildMPTY no RESULT*/
+ break;
+ case 125: /*SS-protocol forwardChargeAdvice no RESULT*/
+ break;
+ case 126: /*SS-protocol explicitCT no RESULT*/
+ break;
+
+ default:
+ if(!dissector_try_uint_new(map_prop_res_opcode_table, (guint8)opcode, tvb, actx->pinfo, tree, TRUE, actx->subtree.top_tree)){
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData,
+ tvb, offset, -1, "Unknown returnResultData %d", opcode);
+ }
+ offset+= tvb_reported_length_remaining(tvb,offset);
+ break;
+ }
+ return offset;
+}
+
+
+
+static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
+
+ switch(errorCode){
+ case 1: /* UnknownSubscriberParam */
+ offset=dissect_gsm_map_er_UnknownSubscriberParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 4: /* SecureTransportErrorParam */
+ offset=dissect_gsm_old_SecureTransportErrorParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 5: /* UnidentifiedSubParam */
+ offset=dissect_gsm_map_er_UnidentifiedSubParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 6: /* AbsentSubscriberSM-Param */
+ offset=dissect_gsm_map_er_AbsentSubscriberSM_Param(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 8: /* RoamingNotAllowedParam */
+ offset=dissect_gsm_map_er_RoamingNotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 9: /* IllegalSubscriberParam */
+ offset=dissect_gsm_map_er_IllegalSubscriberParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 10: /* BearerServNotProvParam */
+ offset=dissect_gsm_map_er_BearerServNotProvParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 11: /* TeleservNotProvParam */
+ offset=dissect_gsm_map_er_TeleservNotProvParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 12: /* IllegalEquipmentParam */
+ offset=dissect_gsm_map_er_IllegalEquipmentParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 13: /* CallBarredParam */
+ offset=dissect_gsm_map_er_CallBarredParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 14: /* ForwardingViolationParam */
+ offset=dissect_gsm_map_er_ForwardingViolationParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 15: /* CUG-RejectParam */
+ offset=dissect_gsm_map_er_CUG_RejectParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 16: /* IllegalSS-OperationParam */
+ offset=dissect_gsm_map_er_IllegalSS_OperationParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 17: /* SS-ErrorStatus */
+ offset=dissect_gsm_map_ss_SS_Status(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_ss_Status);
+ break;
+ case 18: /* SS-NotAvailableParam */
+ offset=dissect_gsm_map_er_SS_NotAvailableParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 19: /* SS-SubscriptionViolationParam */
+ offset=dissect_gsm_map_er_SS_SubscriptionViolationParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 20: /* SS-IncompatibilityCause */
+ offset=dissect_gsm_map_er_SS_IncompatibilityCause(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 21: /* FacilityNotSupParam */
+ offset=dissect_gsm_map_er_FacilityNotSupParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 22: /* OngoingGroupCallParam */
+ offset=dissect_gsm_map_er_OngoingGroupCallParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 27: /* AbsentSubscriberParam */
+ offset=dissect_gsm_map_er_AbsentSubscriberParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 28: /* IncompatibleTerminalParam */
+ offset=dissect_gsm_map_er_IncompatibleTerminalParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 29: /* ShortTermDenialParam */
+ offset=dissect_gsm_map_er_ShortTermDenialParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 30: /* LongTermDenialParam */
+ offset=dissect_gsm_map_er_LongTermDenialParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 31: /* SubBusyForMT-SMS-Param */
+ offset=dissect_gsm_map_er_SubBusyForMT_SMS_Param(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 32: /* SM-DeliveryFailureCause */
+ offset = dissect_mc_message(tvb, offset, actx, tree,
+ FALSE, dissect_gsm_map_er_SM_EnumeratedDeliveryFailureCause, hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause,
+ FALSE, dissect_gsm_map_er_SM_DeliveryFailureCause, -1,
+ FALSE, NULL, -1);
+
+ break;
+ case 33: /* MessageWaitListFullParam */
+ offset=dissect_gsm_map_er_MessageWaitListFullParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 34: /* SystemFailureParam */
+ offset=dissect_gsm_map_er_SystemFailureParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 35: /* DataMissingParam */
+ offset=dissect_gsm_map_er_DataMissingParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 36: /* UnexpectedDataParam */
+ offset=dissect_gsm_map_er_UnexpectedDataParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 37: /* PW-RegistrationFailureCause */
+ offset=dissect_gsm_map_er_PW_RegistrationFailureCause(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 39: /* NoRoamingNbParam */
+ offset=dissect_gsm_map_er_NoRoamingNbParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 40: /* TracingBufferFullParam */
+ offset=dissect_gsm_map_er_TracingBufferFullParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 42: /* TargetCellOutsideGCA-Param */
+ offset=dissect_gsm_map_er_TargetCellOutsideGCA_Param(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 44: /* NumberChangedParam */
+ offset=dissect_gsm_map_er_NumberChangedParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 45: /* BusySubscriberParam */
+ offset=dissect_gsm_map_er_BusySubscriberParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 46: /* NoSubscriberReplyParam */
+ offset=dissect_gsm_map_er_NoSubscriberReplyParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 47: /* ForwardingFailedParam */
+ offset=dissect_gsm_map_er_ForwardingFailedParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 48: /* OR-NotAllowedParam */
+ offset=dissect_gsm_map_er_OR_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 49: /* ATI-NotAllowedParam */
+ offset=dissect_gsm_map_er_ATI_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 50: /* NoGroupCallNbParam */
+ offset=dissect_gsm_map_er_NoGroupCallNbParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 51: /* ResourceLimitationParam */
+ offset=dissect_gsm_map_er_ResourceLimitationParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 52: /* UnauthorizedRequestingNetwork-Param */
+ offset=dissect_gsm_map_er_UnauthorizedRequestingNetwork_Param(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 53: /* UnauthorizedLCSClient-Param */
+ offset=dissect_gsm_map_er_UnauthorizedLCSClient_Param(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 54: /* PositionMethodFailure-Param */
+ offset=dissect_gsm_map_er_PositionMethodFailure_Param(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 58: /* UnknownOrUnreachableLCSClient-Param */
+ offset=dissect_gsm_map_er_UnknownOrUnreachableLCSClient_Param(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 59: /* MM-EventNotSupported-Param */
+ offset=dissect_gsm_map_er_MM_EventNotSupported_Param(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 60: /* ATSI-NotAllowedParam */
+ offset=dissect_gsm_map_er_ATSI_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 61: /* ATM-NotAllowedParam */
+ offset=dissect_gsm_map_er_ATM_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ case 62: /* InformationNotAvailableParam */
+ offset=dissect_gsm_map_er_InformationNotAvailableParam(FALSE, tvb, offset, actx, tree, -1);
+ break;
+ default:
+ if(!dissector_try_uint_new(map_prop_err_opcode_table, (guint8)opcode, tvb, actx->pinfo, tree, TRUE, actx->subtree.top_tree)){
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData,
+ tvb, offset, -1, "Unknown returnErrorData %d", opcode);
+ }
+ offset+= tvb_reported_length_remaining(tvb,offset);
+ break;
+ }
+ return offset;
+}
+
+/* Private extension container for PLMN Data */
+static int dissect_gsm_mapext_PlmnContainer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_gsm_old_PlmnContainer_U, NULL, "MAP Ext. Plmn Container");
+
+ return dissect_gsm_old_PlmnContainer(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_gsm_map_ericsson_ext_ExtensionType(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_gsm_map_ericsson_ExtensionType, NULL, "Ericsson Extension");
+ return dissect_gsm_map_ericsson_ExtensionType(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_SriResExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_SriResExtension_U, NULL, "Nokia Extension");
+ return dissect_NokiaMAP_Extensions_SriResExtension(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_CanLocArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_CanLocArgExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_CanLocArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_ATMargExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ATMargExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_ATMargExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_DTMargExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_DTMargExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_DTMargExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_NumberPorted(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ return dissect_NokiaMAP_Extensions_NumberPorted(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_ATMresExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ATMresExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_ATMresExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_AbsentSubscriberExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ return dissect_NokiaMAP_Extensions_AbsentSubscriberExt(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_SriForSMArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_SriForSMArgExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_SriForSMArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_ReportSMDelStatArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ReportSMDelStatArgExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_ReportSMDelStatArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_UdlArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_UdlArgExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_UdlArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_RoamNotAllowedExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_RoamNotAllowedExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_RoamNotAllowedExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_MO_ForwardSM_ArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_MO_ForwardSM_ArgExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_MO_ForwardSM_ArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_ErrOlcmInfoTableExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ErrOlcmInfoTableExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_ErrOlcmInfoTableExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_RoutingCategoryExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_RoutingCategoryExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_RoutingCategoryExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_AnyTimeModArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_AnyTimeModArgExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_AnyTimeModArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_AccessTypeExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ return dissect_NokiaMAP_Extensions_AccessTypeExt(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_AccessSubscriptionListExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ return dissect_NokiaMAP_Extensions_AccessSubscriptionListExt(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_AllowedServiceData(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ return dissect_NokiaMAP_Extensions_AllowedServiceData(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_SriExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_SriExtension_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_SriExtension(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ExtraSignalInfo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ExtraSignalInfo_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_ExtraSignalInfo(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_SS_DataExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_SS_DataExtension_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_SS_DataExtension(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_HOExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_HO_Ext_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_HO_Ext(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_UlResExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_UlResExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_UlResExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+
+static int dissect_NokiaMAP_ext_IsdArgExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_IsdArgExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_IsdArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int dissect_NokiaMAP_ext_DsdArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ /* create display subtree for the protocol */
+ tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_DsdArgExt_U, NULL, "Nokia Extension");
+
+ return dissect_NokiaMAP_Extensions_DsdArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int
+dissect_gsm_map_GSMMAPPDU(bool implicit_tag _U_, tvbuff_t *tvb, int offset,
+ asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
+
+ char *version_ptr;
+
+ opcode = 0;
+ if (pref_application_context_version == APPLICATON_CONTEXT_FROM_TRACE) {
+ gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
+ application_context_version = 0;
+ if (gsm_map_priv && gsm_map_priv->tcap_private != NULL){
+ if (gsm_map_priv->tcap_private->acv==TRUE ){
+ version_ptr = strrchr((const char*)gsm_map_priv->tcap_private->oid,'.');
+ if (version_ptr){
+ ws_strtoi32(version_ptr + 1, NULL, &application_context_version);
+ }
+ }
+ }
+ }else{
+ application_context_version = pref_application_context_version;
+ }
+
+ gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
+ /* Get the length and add 2 */
+ gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
+
+ col_set_str(actx->pinfo->cinfo, COL_INFO, val_to_str_const(gsmmap_pdu_type, gsm_old_Component_vals, "Unknown GSM-MAP Component"));
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
+ offset = dissect_gsm_old_Component(FALSE, tvb, 0, actx, tree, hf_gsm_map_old_Component_PDU);
+/*
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU, NULL);
+*/
+
+ return offset;
+}
+
+static int
+dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ /* Used for gsm_map TAP */
+ static gsm_map_tap_rec_t tap_rec;
+ gint op_idx;
+ asn1_ctx_t asn1_ctx;
+ gsm_map_private_info_t *gsm_map_priv;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
+
+ asn1_ctx.subtree.top_tree = parent_tree;
+
+ gsm_map_priv = wmem_new0(pinfo->pool, gsm_map_private_info_t);
+ gsm_map_priv->tcap_private = (struct tcap_private_t *)data;
+ asn1_ctx.value_ptr = gsm_map_priv;
+
+ /* create display subtree for the protocol */
+ item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_gsm_map);
+
+ dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+ try_val_to_str_idx(opcode, gsm_map_opr_code_strings, &op_idx);
+
+ if (op_idx != -1) {
+ tap_rec.invoke = (gsmmap_pdu_type == 1) ? TRUE : FALSE;
+ tap_rec.opcode = opcode;
+ tap_rec.size = gsm_map_pdu_size;
+
+ tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_gsm_map_sccp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ /* Used for gsm_map TAP */
+ static gsm_map_tap_rec_t tap_rec;
+ gint op_idx;
+ asn1_ctx_t asn1_ctx;
+ gsm_map_private_info_t *gsm_map_priv;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
+
+ asn1_ctx.subtree.top_tree = parent_tree;
+
+ gsm_map_priv = wmem_new0(pinfo->pool, gsm_map_private_info_t);
+ gsm_map_priv->sccp_msg_info = (sccp_msg_info_t *)data;
+ asn1_ctx.value_ptr = gsm_map_priv;
+
+ /* create display subtree for the protocol */
+ item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_gsm_map);
+
+ dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+ try_val_to_str_idx(opcode, gsm_map_opr_code_strings, &op_idx);
+
+ if (op_idx != -1) {
+ tap_rec.invoke = (gsmmap_pdu_type == 1) ? TRUE : FALSE;
+ tap_rec.opcode = opcode;
+ tap_rec.size = gsm_map_pdu_size;
+
+ tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+const value_string ssCode_vals[] = {
+ { 0x00, "allSS - all SS" },
+ { 0x10 ,"allLineIdentificationSS - all line identification SS" },
+ { 0x11 ,"clip - calling line identification presentation" },
+ { 0x12 ,"clir - calling line identification restriction" },
+ { 0x13 ,"colp - connected line identification presentation" },
+ { 0x14 ,"colr - connected line identification restriction" },
+ { 0x15 ,"mci - malicious call identification" },
+ { 0x18 ,"allNameIdentificationSS - all name identification SS" },
+ { 0x19 ,"cnap - calling name presentation" },
+ { 0x20 ,"allForwardingSS - all forwarding SS" },
+ { 0x21 ,"cfu - call forwarding unconditional" },
+ { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" },
+ { 0x29 ,"cfb - call forwarding busy" },
+ { 0x2a ,"cfnry - call forwarding on no reply" },
+ { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" },
+ { 0x24 ,"cd - call deflection" },
+ { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" },
+ { 0x31 ,"ect - explicit call transfer" },
+ { 0x32 ,"mah - mobile access hunting" },
+ { 0x40 ,"allCallCompletionSS - all Call completion SS" },
+ { 0x41 ,"cw - call waiting" },
+ { 0x42 ,"hold - call hold" },
+ { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" },
+ { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" },
+ { 0x45 ,"mc - multicall" },
+ { 0x50 ,"allMultiPartySS - all multiparty SS" },
+ { 0x51 ,"multiPTY - multiparty" },
+ { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" },
+ { 0x61 ,"cug - closed user group" },
+ { 0x70 ,"allChargingSS - all charging SS" },
+ { 0x71 ,"aoci - advice of charge information" },
+ { 0x72 ,"aocc - advice of charge charging" },
+ { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" },
+ { 0x81 ,"uus1 - UUS1 user-to-user signalling" },
+ { 0x82 ,"uus2 - UUS2 user-to-user signalling" },
+ { 0x83 ,"uus3 - UUS3 user-to-user signalling" },
+ { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" },
+ { 0x91 ,"barringOfOutgoingCalls" },
+ { 0x92 ,"baoc - barring of all outgoing calls" },
+ { 0x93 ,"boic - barring of outgoing international calls" },
+ { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" },
+ { 0x99 ,"barringOfIncomingCalls" },
+ { 0x9a ,"baic - barring of all incoming calls" },
+ { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" },
+ { 0xf0 ,"allPLMN-specificSS" },
+ { 0xa0 ,"allCallPrioritySS - all call priority SS" },
+ { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" },
+ { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" },
+ { 0xb1 ,"universal - allow location by any LCS client" },
+ { 0xb2 ,"callrelated - allow location by any value added LCS client to which a call is established from the target MS" },
+ { 0xb3 ,"callunrelated - allow location by designated external value added LCS clients" },
+ { 0xb4 ,"plmnoperator - allow location by designated PLMN operator LCS clients" },
+ { 0xb5 ,"serviceType - allow location by LCS clients of a designated LCS service type" },
+ { 0xc0 ,"allMOLR-SS - all Mobile Originating Location Request Classes" },
+ { 0xc1 ,"basicSelfLocation - allow an MS to request its own location" },
+ { 0xc2 ,"autonomousSelfLocation - allow an MS to perform self location without interaction with the PLMN for a predetermined period of time" },
+ { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" },
+
+ { 0xf1 ,"plmn-specificSS-1" },
+ { 0xf2 ,"plmn-specificSS-2" },
+ { 0xf3 ,"plmn-specificSS-3" },
+ { 0xf4 ,"plmn-specificSS-4" },
+ { 0xf5 ,"plmn-specificSS-5" },
+ { 0xf6 ,"plmn-specificSS-6" },
+ { 0xf7 ,"plmn-specificSS-7" },
+ { 0xf8 ,"plmn-specificSS-8" },
+ { 0xf9 ,"plmn-specificSS-9" },
+ { 0xfa ,"plmn-specificSS-a" },
+ { 0xfb ,"plmn-specificSS-b" },
+ { 0xfc ,"plmn-specificSS-c" },
+ { 0xfd ,"plmn-specificSS-d" },
+ { 0xfe ,"plmn-specificSS-e" },
+ { 0xff ,"plmn-specificSS-f" },
+ { 0, NULL }
+};
+
+static const value_string Teleservice_vals[] = {
+ { 0x00, "allTeleservices" },
+ { 0x10, "allSpeechTransmissionServices" },
+ { 0x11, "telephony" },
+ { 0x12, "emergencyCalls" },
+ { 0x20, "allShortMessageServices" },
+ { 0x21, "shortMessageMT-PP" },
+ { 0x22, "shortMessageMO-PP" },
+ { 0x60, "allFacsimileTransmissionServices" },
+ { 0x61, "facsimileGroup3AndAlterSpeech" },
+ { 0x62, "automaticFacsimileGroup3" },
+ { 0x63, "facsimileGroup4" },
+
+ { 0x70, "allDataTeleservices" },
+ { 0x80, "allTeleservices-ExceptSMS" },
+
+ { 0x90, "allVoiceGroupCallServices" },
+ { 0x91, "voiceGroupCall" },
+ { 0x92, "voiceBroadcastCall" },
+
+ { 0xd0, "allPLMN-specificTS" },
+ { 0xd1, "plmn-specificTS-1" },
+ { 0xd2, "plmn-specificTS-2" },
+ { 0xd3, "plmn-specificTS-3" },
+ { 0xd4, "plmn-specificTS-4" },
+ { 0xd5, "plmn-specificTS-5" },
+ { 0xd6, "plmn-specificTS-6" },
+ { 0xd7, "plmn-specificTS-7" },
+ { 0xd8, "plmn-specificTS-8" },
+ { 0xd9, "plmn-specificTS-9" },
+ { 0xda, "plmn-specificTS-A" },
+ { 0xdb, "plmn-specificTS-B" },
+ { 0xdc, "plmn-specificTS-C" },
+ { 0xdd, "plmn-specificTS-D" },
+ { 0xde, "plmn-specificTS-E" },
+ { 0xdf, "plmn-specificTS-F" },
+ { 0, NULL }
+};
+
+static const value_string Bearerservice_vals[] = {
+ { 0x00, "allBearerServices" },
+ { 0x10, "allDataCDA-Services" },
+ { 0x11, "dataCDA-300bps" },
+ { 0x12, "dataCDA-1200bps" },
+ { 0x13, "dataCDA-1200-75bps" },
+ { 0x14, "dataCDA-2400bps" },
+ { 0x15, "dataCDA-4800bps" },
+ { 0x16, "dataCDA-9600bps" },
+ { 0x17, "general-dataCDA" },
+
+ { 0x18, "allDataCDS-Services" },
+ { 0x1A, "dataCDS-1200bps" },
+ { 0x1C, "dataCDS-2400bps" },
+ { 0x1D, "dataCDS-4800bps" },
+ { 0x1E, "dataCDS-9600bps" },
+ { 0x1F, "general-dataCDS" },
+
+ { 0x20, "allPadAccessCA-Services" },
+ { 0x21, "padAccessCA-300bps" },
+ { 0x22, "padAccessCA-1200bps" },
+ { 0x23, "padAccessCA-1200-75bps" },
+ { 0x24, "padAccessCA-2400bps" },
+ { 0x25, "padAccessCA-4800bps" },
+ { 0x26, "padAccessCA-9600bps" },
+ { 0x27, "general-padAccessCA" },
+
+ { 0x28, "allDataPDS-Services" },
+ { 0x2C, "dataPDS-2400bps" },
+ { 0x2D, "dataPDS-4800bps" },
+ { 0x2E, "dataPDS-9600bps" },
+ { 0x2F, "general-dataPDS" },
+
+ { 0x30, "allAlternateSpeech-DataCDA" },
+ { 0x38, "allAlternateSpeech-DataCDS" },
+ { 0x40, "allSpeechFollowedByDataCDA" },
+ { 0x48, "allSpeechFollowedByDataCDS" },
+
+ { 0x50, "allDataCircuitAsynchronous" },
+ { 0x60, "allAsynchronousServices" },
+ { 0x58, "allDataCircuitSynchronous" },
+ { 0x68, "allSynchronousServices" },
+
+ { 0xD0, "allPLMN-specificBS" },
+ { 0xD1, "plmn-specificBS-1" },
+ { 0xD2, "plmn-specificBS-2" },
+ { 0xD3, "plmn-specificBS-3" },
+ { 0xD4, "plmn-specificBS-4" },
+ { 0xD5, "plmn-specificBS-5" },
+ { 0xD6, "plmn-specificBS-6" },
+ { 0xD7, "plmn-specificBS-7" },
+ { 0xD8, "plmn-specificBS-8" },
+ { 0xD9, "plmn-specificBS-9" },
+ { 0xDA, "plmn-specificBS-A" },
+ { 0xDB, "plmn-specificBS-B" },
+ { 0xDC, "plmn-specificBS-C" },
+ { 0xDD, "plmn-specificBS-D" },
+ { 0xDE, "plmn-specificBS-E" },
+ { 0xDF, "plmn-specificBS-F" },
+
+ { 0, NULL }
+};
+
+/* ForwardingOptions
+
+-- bit 8: notification to forwarding party
+-- 0 no notification
+-- 1 notification
+*/
+static const true_false_string notification_value = {
+ "Notification",
+ "No notification"
+};
+/*
+-- bit 7: redirecting presentation
+-- 0 no presentation
+-- 1 presentation
+*/
+static const true_false_string redirecting_presentation_value = {
+ "Presentation",
+ "No presentation"
+};
+/*
+-- bit 6: notification to calling party
+-- 0 no notification
+-- 1 notification
+*/
+/*
+-- bit 5: 0 (unused)
+-- bits 43: forwarding reason
+-- 00 ms not reachable
+-- 01 ms busy
+-- 10 no reply
+-- 11 unconditional when used in a SRI Result,
+-- or call deflection when used in a RCH Argument
+*/
+static const value_string forwarding_reason_values[] = {
+ { 0x0, "ms not reachable" },
+ { 0x1, "ms busy" },
+ { 0x2, "no reply" },
+ { 0x3, "unconditional when used in a SRI Result or call deflection when used in a RCH Argument" },
+ { 0, NULL }
+};
+/*
+-- bits 21: 00 (unused)
+*/
+
+static const value_string pdp_type_org_values[] = {
+ { 0x0, "ETSI" },
+ { 0x1, "IETF" },
+ { 0xf, "Empty PDP type" },
+ { 0, NULL }
+};
+
+static const value_string etsi_pdp_type_number_values[] = {
+ { 0x0, "Reserved, used in earlier version of this protocol" },
+ { 0x1, "PPP" },
+ { 0, NULL }
+};
+
+static const value_string ietf_pdp_type_number_values[] = {
+ { 0x21, "IPv4 Address" },
+ { 0x57, "IPv6 Address" },
+ { 0, NULL }
+};
+
+/*
+ChargingCharacteristics ::= OCTET STRING (SIZE (2))
+-- Octets are coded according to 3GPP TS 32.015.
+-- From 3GPP TS 32.015.
+--
+-- Descriptions for the bits of the flag set:
+--
+-- Bit 1: H (Hot billing) := '00000001'B
+-- Bit 2: F (Flat rate) := '00000010'B
+-- Bit 3: P (Prepaid service) := '00000100'B
+-- Bit 4: N (Normal billing) := '00001000'B
+-- Bit 5: - (Reserved, set to 0) := '00010000'B
+-- Bit 6: - (Reserved, set to 0) := '00100000'B
+-- Bit 7: - (Reserved, set to 0) := '01000000'B
+-- Bit 8: - (Reserved, set to 0) := '10000000'B
+*/
+static const value_string chargingcharacteristics_values[] = {
+ { 0x1, "H (Hot billing)" },
+ { 0x2, "F (Flat rate)" },
+ { 0x4, "P (Prepaid service)" },
+ { 0x8, "N (Normal billing)" },
+ { 0, NULL }
+};
+
+/* TAP STAT INFO */
+typedef enum
+{
+ ID_COLUMN,
+ OP_CODE_COLUMN,
+ INVOKES_COLUMN,
+ NUM_BYTES_FWD_COLUMN,
+ AVG_BYTES_FWD_COLUMN,
+ RET_RES_COLUMN,
+ NUM_BYTES_REV_COLUMN,
+ AVG_BYTES_REV_COLUMN,
+ TOT_BYTES_COLUMN,
+ AVG_BYTES_COLUMN
+} gsm_a_stat_columns;
+
+static stat_tap_table_item gsm_map_stat_fields[] = {
+ {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "ID", "%d"},
+ {TABLE_ITEM_STRING, TAP_ALIGN_LEFT, "Operation Code", "%-25s"},
+ {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Invokes", "%d"},
+ {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Num Bytes", "%d"},
+ {TABLE_ITEM_FLOAT, TAP_ALIGN_RIGHT, "Avg Bytes", "%1.2f"},
+ {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Return Result", "%d"},
+ {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Num Bytes", "%d"},
+ {TABLE_ITEM_FLOAT, TAP_ALIGN_RIGHT, "Avg Bytes", "%1.2f"},
+ {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Total Bytes", "%d"},
+ {TABLE_ITEM_FLOAT, TAP_ALIGN_RIGHT, "Avg Bytes", "%1.2f"},
+};
+
+static void gsm_map_stat_init(stat_tap_table_ui* new_stat)
+{
+ const char *table_name = "GSM MAP Operation Statistics";
+ int num_fields = sizeof(gsm_map_stat_fields)/sizeof(stat_tap_table_item);
+ stat_tap_table* table;
+ guint i;
+ stat_tap_table_item_type items[sizeof(gsm_map_stat_fields)/sizeof(stat_tap_table_item)];
+
+ memset(items, 0, sizeof(items));
+
+ items[ID_COLUMN].type = TABLE_ITEM_UINT;
+ items[OP_CODE_COLUMN].type = TABLE_ITEM_STRING;
+ items[INVOKES_COLUMN].type = TABLE_ITEM_UINT;
+ items[NUM_BYTES_FWD_COLUMN].type = TABLE_ITEM_UINT;
+ items[AVG_BYTES_FWD_COLUMN].type = TABLE_ITEM_FLOAT;
+ items[RET_RES_COLUMN].type = TABLE_ITEM_UINT;
+ items[NUM_BYTES_REV_COLUMN].type = TABLE_ITEM_UINT;
+ items[AVG_BYTES_REV_COLUMN].type = TABLE_ITEM_FLOAT;
+ items[TOT_BYTES_COLUMN].type = TABLE_ITEM_UINT;
+ items[AVG_BYTES_COLUMN].type = TABLE_ITEM_FLOAT;
+
+ table = stat_tap_find_table(new_stat, table_name);
+ if (table) {
+ if (new_stat->stat_tap_reset_table_cb) {
+ new_stat->stat_tap_reset_table_cb(table);
+ }
+ return;
+ }
+
+ table = stat_tap_init_table(table_name, num_fields, 0, NULL);
+ stat_tap_add_table(new_stat, table);
+
+ /* Add a row for each value type */
+ for (i = 0; i < GSM_MAP_MAX_NUM_OPR_CODES; i++)
+ {
+ const char *ocs = try_val_to_str(i, gsm_map_opr_code_strings);
+ char *col_str;
+ if (ocs) {
+ col_str = g_strdup(ocs);
+ } else {
+ col_str = ws_strdup_printf("Unknown op code %d", i);
+ }
+
+ items[ID_COLUMN].value.uint_value = i;
+ items[OP_CODE_COLUMN].value.string_value = col_str;
+ stat_tap_init_table_row(table, i, num_fields, items);
+ }
+}
+
+static tap_packet_status
+gsm_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gmtr_ptr, tap_flags_t flags _U_)
+{
+ stat_data_t* stat_data = (stat_data_t*)tapdata;
+ const gsm_map_tap_rec_t *gmtr = (const gsm_map_tap_rec_t *)gmtr_ptr;
+ stat_tap_table* table;
+ stat_tap_table_item_type *invoke_data, *fwd_bytes_data, *result_data, *rev_bytes_data, *avg_data;
+ guint invokes, fwd_bytes, results, rev_bytes;
+
+ table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, 0);
+
+ invoke_data = stat_tap_get_field_data(table, gmtr->opcode, INVOKES_COLUMN);
+ fwd_bytes_data = stat_tap_get_field_data(table, gmtr->opcode, NUM_BYTES_FWD_COLUMN);
+ result_data = stat_tap_get_field_data(table, gmtr->opcode, RET_RES_COLUMN);
+ rev_bytes_data = stat_tap_get_field_data(table, gmtr->opcode, NUM_BYTES_REV_COLUMN);
+
+ if (gmtr->invoke)
+ {
+ invoke_data->value.uint_value++;
+ stat_tap_set_field_data(table, gmtr->opcode, INVOKES_COLUMN, invoke_data);
+
+ fwd_bytes_data->value.uint_value += gmtr->size;
+ stat_tap_set_field_data(table, gmtr->opcode, NUM_BYTES_FWD_COLUMN, fwd_bytes_data);
+ }
+ else
+ {
+ result_data->value.uint_value++;
+ stat_tap_set_field_data(table, gmtr->opcode, RET_RES_COLUMN, result_data);
+
+ rev_bytes_data->value.uint_value += gmtr->size;
+ stat_tap_set_field_data(table, gmtr->opcode, NUM_BYTES_REV_COLUMN, rev_bytes_data);
+ }
+
+ invokes = invoke_data->value.uint_value;
+ fwd_bytes = fwd_bytes_data->value.uint_value;
+ results = result_data->value.uint_value;
+ rev_bytes = rev_bytes_data->value.uint_value;
+
+ if (gmtr->invoke)
+ {
+ avg_data = stat_tap_get_field_data(table, gmtr->opcode, AVG_BYTES_FWD_COLUMN);
+ avg_data->value.float_value += (float) fwd_bytes / invokes;
+ stat_tap_set_field_data(table, gmtr->opcode, AVG_BYTES_FWD_COLUMN, avg_data);
+ }
+ else
+ {
+ avg_data = stat_tap_get_field_data(table, gmtr->opcode, AVG_BYTES_REV_COLUMN);
+ avg_data->value.float_value += (float) rev_bytes / results;
+ stat_tap_set_field_data(table, gmtr->opcode, AVG_BYTES_REV_COLUMN, avg_data);
+ }
+
+ avg_data = stat_tap_get_field_data(table, gmtr->opcode, AVG_BYTES_COLUMN);
+ avg_data->value.float_value += (float) (fwd_bytes + rev_bytes) / (invokes + results);
+ stat_tap_set_field_data(table, gmtr->opcode, AVG_BYTES_COLUMN, avg_data);
+ return TAP_PACKET_REDRAW;
+}
+
+static void
+gsm_map_stat_reset(stat_tap_table* table)
+{
+ guint element;
+ stat_tap_table_item_type* item_data;
+
+ for (element = 0; element < table->num_elements; element++)
+ {
+ item_data = stat_tap_get_field_data(table, element, INVOKES_COLUMN);
+ item_data->value.uint_value = 0;
+ stat_tap_set_field_data(table, element, INVOKES_COLUMN, item_data);
+ }
+}
+
+static void
+gsm_map_stat_free_table_item(stat_tap_table* table _U_, guint row _U_, guint column, stat_tap_table_item_type* field_data)
+{
+ if (column != OP_CODE_COLUMN) return;
+ g_free((char*)field_data->value.string_value);
+}
+
+/*--- proto_reg_handoff_gsm_map ---------------------------------------*/
+static void range_delete_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if (ssn) {
+ delete_itu_tcap_subdissector(ssn, map_handle);
+ }
+}
+
+static void range_add_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if (ssn) {
+ add_itu_tcap_subdissector(ssn, map_handle);
+ }
+}
+
+void proto_reg_handoff_gsm_map(void) {
+
+ static gboolean map_prefs_initialized = FALSE;
+ static range_t *ssn_range;
+
+ if (!map_prefs_initialized) {
+ map_prefs_initialized = TRUE;
+ ranap_handle = find_dissector_add_dependency("ranap", proto_gsm_map);
+ dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_gsm_map);
+ gsm_sms_handle = find_dissector_add_dependency("gsm_sms", proto_gsm_map);
+ bssap_handle = find_dissector_add_dependency("gsm_a_bssmap", proto_gsm_map);
+
+ oid_add_from_string("itu(0) administration(2) japan(440)","0.2.440" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map,"networkLocUpContext-v3");
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"networkLocUpContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.1.1", map_handle, proto_gsm_map,"networkLocUpContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.2.3", map_handle, proto_gsm_map,"locationCancellationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.2.2", map_handle, proto_gsm_map,"locationCancellationContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.2.1", map_handle, proto_gsm_map,"locationCancellationContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.3.3", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.3.2", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.3.1", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.4.3", map_handle, proto_gsm_map,"istAlertingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.5.3", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.5.2", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.5.1", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.6.4", map_handle, proto_gsm_map,"callControlTransferContext-v4" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.6.3", map_handle, proto_gsm_map,"callControlTransferContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.7.3", map_handle, proto_gsm_map,"reportingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.8.3", map_handle, proto_gsm_map,"callCompletionContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.9.3", map_handle, proto_gsm_map,"serviceTerminationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.10.2", map_handle, proto_gsm_map,"resetContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.10.1", map_handle, proto_gsm_map,"resetContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.11.3", map_handle, proto_gsm_map,"handoverControlContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.11.2", map_handle, proto_gsm_map,"handoverControlContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.11.1", map_handle, proto_gsm_map,"handoverControlContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.12.3", map_handle, proto_gsm_map,"sIWFSAllocationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.13.3", map_handle, proto_gsm_map,"equipmentMngtContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.13.2", map_handle, proto_gsm_map,"equipmentMngtContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.13.1", map_handle, proto_gsm_map,"equipmentMngtContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.14.3", map_handle, proto_gsm_map,"infoRetrievalContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.14.2", map_handle, proto_gsm_map,"infoRetrievalContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.14.1", map_handle, proto_gsm_map,"infoRetrievalContext-v1" );
+ /* fallback to infoRetrieval(14) version1(1) and not interVlrInfoRetrieval(15) version1(1) */
+ /*register_ber_oid_dissector_handle("0.4.0.0.1.0.15.1", map_handle, proto_gsm_map,"map-ac interVlrInfoRetrieval(15) version1(1)" );*/
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.15.2", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.15.3", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.16.3", map_handle, proto_gsm_map,"subscriberDataMngtContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.16.2", map_handle, proto_gsm_map,"subscriberDataMngtContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.16.1", map_handle, proto_gsm_map,"subscriberDataMngtContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.17.3", map_handle, proto_gsm_map,"tracingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.17.2", map_handle, proto_gsm_map,"tracingContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.17.1", map_handle, proto_gsm_map,"tracingContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.18.2", map_handle, proto_gsm_map,"networkFunctionalSsContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.18.1", map_handle, proto_gsm_map,"networkFunctionalSsContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.19.2", map_handle, proto_gsm_map,"networkUnstructuredSsContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.20.3", map_handle, proto_gsm_map,"shortMsgGatewayContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.20.2", map_handle, proto_gsm_map,"shortMsgGatewayContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.20.1", map_handle, proto_gsm_map,"shortMsgGatewayContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.21.3", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.21.2", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.21.1", map_handle, proto_gsm_map,"shortMsgRelayContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.22.3", map_handle, proto_gsm_map,"subscriberDataModificationNotificationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.23.2", map_handle, proto_gsm_map,"shortMsgAlertContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.23.1", map_handle, proto_gsm_map,"shortMsgAlertContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.24.3", map_handle, proto_gsm_map,"mwdMngtContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.24.2", map_handle, proto_gsm_map,"mwdMngtContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.24.1", map_handle, proto_gsm_map,"mwdMngtContext-v1" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.25.3", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.25.2", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.26.2", map_handle, proto_gsm_map,"imsiRetrievalContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.27.2", map_handle, proto_gsm_map,"msPurgingContext-v2" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.27.3", map_handle, proto_gsm_map,"msPurgingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.28.3", map_handle, proto_gsm_map,"subscriberInfoEnquiryContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.29.3", map_handle, proto_gsm_map,"anyTimeInfoEnquiryContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.31.3", map_handle, proto_gsm_map,"groupCallControlContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.32.3", map_handle, proto_gsm_map,"gprsLocationUpdateContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.33.4", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v4" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.33.3", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.34.3", map_handle, proto_gsm_map,"failureReportContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.35.3", map_handle, proto_gsm_map,"gprsNotifyContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.36.3", map_handle, proto_gsm_map,"ss-InvocationNotificationContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.37.3", map_handle, proto_gsm_map,"locationSvcGatewayContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.38.3", map_handle, proto_gsm_map,"locationSvcEnquiryContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.39.3", map_handle, proto_gsm_map,"authenticationFailureReportContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.40.3", map_handle, proto_gsm_map,"secureTransportHandlingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.41.3", map_handle, proto_gsm_map,"shortMsgMT-Relay-VGCS-Context-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.42.3", map_handle, proto_gsm_map,"mm-EventReportingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.43.3", map_handle, proto_gsm_map,"anyTimeInfoHandlingContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.44.3", map_handle, proto_gsm_map,"resourceManagementContext-v3" );
+ register_ber_oid_dissector_handle("0.4.0.0.1.0.45.3", map_handle, proto_gsm_map,"groupCallInfoRetrievalContext-v3" );
+ /* Private extension container */
+ register_ber_oid_dissector("1.3.12.2.1006.53.2.1.3", dissect_gsm_mapext_PlmnContainer, proto_gsm_map,"alcatel-E10-MAP-extension-PlmnContainer" );
+ register_ber_oid_dissector("0.34.0",dissect_NokiaMAP_ext_IsdArgExtension,proto_gsm_map,"Nokia ISD Extension");
+ register_ber_oid_dissector("0.34.1",dissect_NokiaMAP_ext_DsdArgExt,proto_gsm_map,"Nokia Dsd Extension");
+ register_ber_oid_dissector("0.34.2",dissect_NokiaMAP_ext_UlResExtension,proto_gsm_map,"Nokia Location Update Extension");
+ register_ber_oid_dissector("0.34.4",dissect_NokiaMAP_ext_SS_DataExtension,proto_gsm_map,"Nokia SS Data Extension");
+ register_ber_oid_dissector("0.34.5",dissect_NokiaMAP_ext_SriExtension,proto_gsm_map,"Nokia SRI Request Extension");
+ register_ber_oid_dissector("0.34.6",dissect_NokiaMAP_ExtraSignalInfo,proto_gsm_map,"Nokia ExtraSignalInfo Extension");
+ register_ber_oid_dissector("0.34.7",dissect_NokiaMAP_ext_SriResExtension,proto_gsm_map,"Nokia SRI Response Extension");
+ register_ber_oid_dissector("0.34.10",dissect_NokiaMAP_ext_CanLocArgExt,proto_gsm_map,"Nokia Cancel Location Extension");
+ register_ber_oid_dissector("0.34.11",dissect_NokiaMAP_ext_ATMargExt,proto_gsm_map,"Nokia ATM Extension");
+ register_ber_oid_dissector("0.34.12",dissect_NokiaMAP_ext_DTMargExt,proto_gsm_map,"Nokia DTM Extension");
+ register_ber_oid_dissector("0.34.13",dissect_NokiaMAP_ext_NumberPorted,proto_gsm_map,"Nokia NumberPorted Extension");
+ register_ber_oid_dissector("0.34.15",dissect_NokiaMAP_ext_HOExtension,proto_gsm_map,"Nokia HandOver Extension");
+ register_ber_oid_dissector("0.34.16",dissect_NokiaMAP_ext_ATMresExt,proto_gsm_map,"Nokia ATMres Extension");
+ register_ber_oid_dissector("0.34.17",dissect_NokiaMAP_ext_AbsentSubscriberExt,proto_gsm_map,"Nokia AbsentSubscriber Extension");
+ register_ber_oid_dissector("0.34.18",dissect_NokiaMAP_ext_SriForSMArgExt,proto_gsm_map,"Nokia SriForSM Extension");
+ register_ber_oid_dissector("0.34.19",dissect_NokiaMAP_ext_ReportSMDelStatArgExt,proto_gsm_map,"Nokia ReportSMDelStatt Extension");
+ register_ber_oid_dissector("0.34.20",dissect_NokiaMAP_ext_UdlArgExt,proto_gsm_map,"Nokia Udl Extension");
+ register_ber_oid_dissector("0.34.21",dissect_NokiaMAP_ext_RoamNotAllowedExt,proto_gsm_map,"Nokia RoamNotAllowed Extension");
+ register_ber_oid_dissector("0.34.22",dissect_NokiaMAP_ext_MO_ForwardSM_ArgExt,proto_gsm_map,"Nokia MO-ForwardSM Extension");
+ register_ber_oid_dissector("0.34.23",dissect_NokiaMAP_ext_ErrOlcmInfoTableExt,proto_gsm_map,"Nokia ErrOlcmInfoTable Extension");
+ register_ber_oid_dissector("0.34.25",dissect_NokiaMAP_ext_RoutingCategoryExt,proto_gsm_map,"Nokia Routing Category Extension");
+ register_ber_oid_dissector("0.34.26",dissect_NokiaMAP_ext_AnyTimeModArgExt,proto_gsm_map,"Nokia AnyTimeMod Extension");
+
+ register_ber_oid_dissector("1.3.12.2.1107.3.66.1.1",dissect_NokiaMAP_ext_AccessTypeExt,proto_gsm_map,"Nokia AccessTypeExt Extension");
+ register_ber_oid_dissector("1.3.12.2.1107.3.66.1.3",dissect_NokiaMAP_ext_AccessSubscriptionListExt,proto_gsm_map,"Nokia AccessSubscriptionListExt Extension");
+ register_ber_oid_dissector("1.3.12.2.1107.3.66.1.6",dissect_NokiaMAP_ext_AllowedServiceData,proto_gsm_map,"Nokia AllowedServiceData Extension");
+
+ register_ber_oid_dissector("1.2.826.0.1249.58.1.0",dissect_gsm_map_ericsson_ext_ExtensionType,proto_gsm_map,"Ericsson ExtensionType Extension");
+ }
+ else {
+ range_foreach(ssn_range, range_delete_callback, NULL);
+ wmem_free(wmem_epan_scope(), ssn_range);
+ }
+
+ ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
+ range_foreach(ssn_range, range_add_callback, NULL);
+
+}
+
+/*--- proto_register_gsm_map -------------------------------------------*/
+void proto_register_gsm_map(void) {
+ module_t *gsm_map_module;
+ expert_module_t* expert_gsm_map;
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_gsm_map_old_Component_PDU,
+ { "Component", "gsm_map.old.Component",
+ FT_UINT32, BASE_DEC, VALS(gsm_old_Component_vals), 0,
+ NULL, HFILL }},
+ { &hf_gsm_map_getPassword,
+ { "getPassword", "gsm_map.getPassword",
+ FT_UINT8, BASE_DEC, VALS(gsm_old_GetPasswordArg_vals), 0,
+ NULL, HFILL }},
+ { &hf_gsm_map_currentPassword,
+ { "currentPassword", "gsm_map.currentPassword",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gsm_map_extension,
+ { "Extension", "gsm_map.extension",
+ FT_BOOLEAN, 8, TFS(&tfs_no_extension_extension), 0x80,
+ NULL, HFILL }},
+ { &hf_gsm_map_nature_of_number,
+ { "Nature of number", "gsm_map.nature_of_number",
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &gsm_map_nature_of_number_values_ext, 0x70,
+ NULL, HFILL }},
+ { &hf_gsm_map_number_plan,
+ { "Number plan", "gsm_map.number_plan",
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &gsm_map_number_plan_values_ext, 0x0f,
+ NULL, HFILL }},
+ { &hf_gsm_map_address_digits,
+ { "Address digits", "gsm_map.address.digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gsm_map_TBCD_digits,
+ { "TBCD digits", "gsm_map.tbcd_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gsm_map_Ss_Status_unused,
+ { "Unused", "gsm_map.unused",
+ FT_UINT8, BASE_HEX, NULL, 0xf0,
+ NULL, HFILL }},
+ { &hf_gsm_map_Ss_Status_q_bit,
+ { "Q bit", "gsm_map.ss_status_q_bit",
+ FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08,
+ NULL, HFILL }},
+ { &hf_gsm_map_Ss_Status_p_bit,
+ { "P bit", "gsm_map.ss_status_p_bit",
+ FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04,
+ NULL, HFILL }},
+ { &hf_gsm_map_Ss_Status_r_bit,
+ { "R bit", "gsm_map.ss_status_r_bit",
+ FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02,
+ NULL, HFILL }},
+ { &hf_gsm_map_Ss_Status_a_bit,
+ { "A bit", "gsm_map.ss_status_a_bit",
+ FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01,
+ NULL, HFILL }},
+ { &hf_gsm_map_notification_to_forwarding_party,
+ { "Notification to forwarding party", "gsm_map.notification_to_forwarding_party",
+ FT_BOOLEAN, 8, TFS(&notification_value), 0x80,
+ NULL, HFILL }},
+ { &hf_gsm_map_redirecting_presentation,
+ { "Redirecting presentation", "gsm_map.redirecting_presentation",
+ FT_BOOLEAN, 8, TFS(&redirecting_presentation_value), 0x40,
+ NULL, HFILL }},
+ { &hf_gsm_map_notification_to_calling_party,
+ { "Notification to calling party", "gsm_map.notification_to_calling_party",
+ FT_BOOLEAN, 8, TFS(&notification_value), 0x20,
+ NULL, HFILL }},
+ { &hf_gsm_map_forwarding_reason,
+ { "Forwarding reason", "gsm_map.forwarding_reason",
+ FT_UINT8, BASE_HEX, VALS(forwarding_reason_values), 0x0c,
+ NULL, HFILL }},
+ { &hf_gsm_map_pdp_type_org,
+ { "PDP Type Organization", "gsm_map.pdp_type_org",
+ FT_UINT8, BASE_HEX, VALS(pdp_type_org_values), 0x0f,
+ NULL, HFILL }},
+ { &hf_gsm_map_etsi_pdp_type_number,
+ { "PDP Type Number", "gsm_map.pdp_type_number",
+ FT_UINT8, BASE_HEX, VALS(etsi_pdp_type_number_values), 0,
+ "ETSI PDP Type Number", HFILL }},
+ { &hf_gsm_map_ietf_pdp_type_number,
+ { "PDP Type Number", "gsm_map.ietf_pdp_type_number",
+ FT_UINT8, BASE_HEX, VALS(ietf_pdp_type_number_values), 0,
+ "IETF PDP Type Number", HFILL }},
+ { &hf_gsm_map_ext_qos_subscribed_pri,
+ { "Allocation/Retention priority", "gsm_map.ext_qos_subscribed_pri",
+ FT_UINT8, BASE_DEC, NULL, 0xff,
+ NULL, HFILL }},
+ { &hf_gsm_map_qos_traffic_cls,
+ { "Traffic class", "gsm_map.qos.traffic_cls",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_traffic_cls_vals), 0xe0,
+ NULL, HFILL }},
+ { &hf_gsm_map_qos_del_order,
+ { "Delivery order", "gsm_map.qos.del_order",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_traffic_cls_vals), 0x18,
+ NULL, HFILL }},
+ { &hf_gsm_map_qos_del_of_err_sdu,
+ { "Delivery of erroneous SDUs", "gsm_map.qos.del_of_err_sdu",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_del_of_err_sdu_vals), 0x03,
+ NULL, HFILL }},
+ { &hf_gsm_map_qos_ber,
+ { "Residual Bit Error Rate (BER)", "gsm_map.qos.ber",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_ber_vals), 0xf0,
+ NULL, HFILL }},
+ { &hf_gsm_map_qos_sdu_err_rat,
+ { "SDU error ratio", "gsm_map.qos.sdu_err_rat",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_sdu_err_rat_vals), 0x0f,
+ NULL, HFILL }},
+ { &hf_gsm_map_qos_traff_hdl_pri,
+ { "Traffic handling priority", "gsm_map.qos.traff_hdl_pri",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_traff_hdl_pri_vals), 0x03,
+ NULL, HFILL }},
+
+ { &hf_gsm_map_qos_max_sdu,
+ { "Maximum SDU size", "gsm_map.qos.max_sdu",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_gsm_map_max_brate_ulink,
+ { "Maximum bit rate for uplink in kbit/s", "gsm_map.qos.max_brate_ulink",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Maximum bit rate for uplink", HFILL }},
+ { &hf_gsm_map_max_brate_dlink,
+ { "Maximum bit rate for downlink in kbit/s", "gsm_map.qos.max_brate_dlink",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Maximum bit rate for downlink", HFILL }},
+ { &hf_gsm_map_qos_transfer_delay,
+ { "Transfer delay (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.transfer_delay",
+ FT_UINT8, BASE_DEC, NULL, 0xfc,
+ "Transfer delay", HFILL }},
+ { &hf_gsm_map_guaranteed_max_brate_ulink,
+ { "Guaranteed bit rate for uplink in kbit/s", "gsm_map.qos.brate_ulink",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Guaranteed bit rate for uplink", HFILL }},
+ { &hf_gsm_map_guaranteed_max_brate_dlink,
+ { "Guaranteed bit rate for downlink in kbit/s", "gsm_map.qos.brate_dlink",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Guaranteed bit rate for downlink", HFILL }},
+ { &hf_gsm_map_GSNAddress_IPv4,
+ { "GSN-Address IPv4", "gsm_map.gsnaddress_ipv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ "IPAddress IPv4", HFILL }},
+ { &hf_gsm_map_GSNAddress_IPv6,
+ { "GSN Address IPv6", "gsm_map.gsnaddress_ipv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ "IPAddress IPv6", HFILL }},
+ { &hf_gsm_map_ranap_service_Handover,
+ { "service-Handover", "gsm_map.ranap.service_Handover",
+ FT_UINT32, BASE_DEC, VALS(ranap_Service_Handover_vals), 0,
+ "gsm_map.ranap.Service_Handover", HFILL }},
+ { &hf_gsm_map_IntegrityProtectionInformation,
+ { "IntegrityProtectionInformation", "gsm_map.ranap.IntegrityProtectionInformation",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "gsm_map.ranap.IntegrityProtectionInformation", HFILL }},
+ { &hf_gsm_map_EncryptionInformation,
+ { "EncryptionInformation", "gsm_map.ranap.EncryptionInformation",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "gsm_map.ranap.EncryptionInformation", HFILL }},
+ { &hf_gsm_map_ss_SS_UserData,
+ { "SS-UserData", "gsm_ss.SS_UserData",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "gsm_map.ss.SS_UserData", HFILL }},
+ { &hf_gsm_map_cbs_coding_grp,
+ { "Coding Group","gsm_map.cbs.coding_grp",
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_data_coding_scheme_coding_grp_vals_ext, 0xf0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp0_lang,
+ { "Language","gsm_map.cbs.coding_grp0_lang",
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp0_lang_vals_ext, 0x0f,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp1_lang,
+ { "Language","gsm_map.cbs.coding_grp1_lang",
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp1_lang_vals_ext, 0x0f,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp2_lang,
+ { "Language","gsm_map.cbs.coding_grp2_lang",
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp2_lang_vals_ext, 0x0f,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp3_lang,
+ { "Language","gsm_map.cbs.coding_grp3_lang",
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp3_lang_vals_ext, 0x0f,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp4_7_comp,
+ { "Compressed indicator","gsm_map.cbs.coding_grp4_7_comp",
+ FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_comp_vals), 0x20,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp4_7_class_ind,
+ { "Message Class present","gsm_map.cbs.coding_grp4_7_class_ind",
+ FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_class_ind_vals), 0x10,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp4_7_char_set,
+ { "Character set being used","gsm_map.cbs.coding_grp4_7_char_set",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_char_set_vals), 0x0c,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp4_7_class,
+ { "Message Class","gsm_map.cbs.coding_grp4_7_class",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_class_vals), 0x03,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp15_mess_code,
+ { "Message coding","gsm_map.cbs.cbs_coding_grp15_mess_code",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_mess_code_vals), 0x04,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_cbs_coding_grp15_class,
+ { "Message Class","gsm_map.cbs.gsm_map_cbs_coding_grp15_class",
+ FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_class_vals), 0x03,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_ie_tag,
+ { "Tag", "gsm_map.ie_tag",
+ FT_UINT8, BASE_DEC, VALS(gsm_map_tag_vals), 0,
+ "GSM 04.08 tag", HFILL }},
+ { &hf_gsm_map_len,
+ { "Length", "gsm_map.length",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gsm_map_disc_par,
+ { "Discrimination parameter", "gsm_map.disc_par",
+ FT_UINT8, BASE_DEC, VALS(gsm_map_disc_par_vals), 0,
+ NULL, HFILL }},
+ { &hf_gsm_map_dlci,
+ { "DLCI", "gsm_map.dlci",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ "Data Link Connection Indicator", HFILL }},
+ { &hf_gsm_apn_str,
+ { "APN", "gsm_map.apn_str",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gsm_map_ericsson_locationInformation_rat,
+ { "RAT", "gsm_map.ericsson.locationInformation.rat",
+ FT_UINT8, BASE_DEC, VALS(gsm_map_ericsson_locationInformation_rat_vals), 0,
+ "Radio Access Technology", HFILL }},
+ { &hf_gsm_map_ericsson_locationInformation_lac,
+ { "LAC", "gsm_map.ericsson.locationInformation.lac",
+ FT_UINT16, BASE_DEC_HEX, NULL, 0,
+ "Location Area Code", HFILL }},
+ { &hf_gsm_map_ericsson_locationInformation_ci,
+ { "CI", "gsm_map.ericsson.locationInformation.ci",
+ FT_UINT16, BASE_DEC_HEX, NULL, 0,
+ "Cell Identity", HFILL }},
+ { &hf_gsm_map_ericsson_locationInformation_sac,
+ { "SAC", "gsm_map.ericsson.locationInformation.sac",
+ FT_UINT16, BASE_DEC_HEX, NULL, 0,
+ "Service Area Code", HFILL }},
+ { &hf_gsm_map_ussd_string,
+ { "USSD String", "gsm_map.ussd_string",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_gsm_map_spare_bits,
+ { "Spare bit(s)", "gsm_map.spare_bits",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_qos_signalling_ind,
+ { "Signalling indication", "gsm_map.qos.signalling_ind",
+ FT_BOOLEAN, 8, TFS(&gsm_map_qos_signalling_ind_value), 0x10,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_qos_source_stat_desc,
+ { "Source statistics description", "gsm_map.qos.source_stat_desc",
+ FT_UINT8, BASE_DEC, NULL, 0x0f,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_qos_max_bitrate_upl_ext,
+ { "Maximum bitrate for uplink (extended)", "gsm_map.qos.max_bitrate_upl_ext",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_qos_max_bitrate_downl_ext,
+ { "Maximum bitrate for downlink (extended)", "gsm_map.qos.max_bitrate_downl_ext",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_qos_guar_bitrate_upl_ext,
+ { "Guaranteed bitrate for uplink (extended)", "gsm_map.qos.guar_bitrate_upl_ext",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_qos_guar_bitrate_downl_ext,
+ { "Guaranteed bitrate for downlink (extended)", "gsm_map.qos.guar_bitrate_downl_ext",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+/*
+ { &hf_gsm_map_qos_max_bitrate_upl_ext2,
+ { "Maximum bitrate for uplink (extended-2)", "gsm_map.qos.max_bitrate_upl_ext2",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_qos_max_bitrate_downl_ext2,
+ { "Maximum bitrate for downlink (extended-2)", "gsm_map.qos.max_bitrate_downl_ext2",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_qos_guar_bitrate_upl_ext2,
+ { "Guaranteed bitrate for uplink (extended-2)", "gsm_map.qos.guar_bitrate_upl_ext2",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_qos_guar_bitrate_downl_ext2,
+ { "Guaranteed bitrate for downlink (extended-2)", "gsm_map.qos.guar_bitrate_downl_ext2",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ */
+ { &hf_gsm_map_earp_pvi,
+ { "PVI Pre-emption Vulnerability", "gsm_map.EARP_pre_emption_par_vulnerability",
+ FT_BOOLEAN, 8, TFS(&tfs_disabled_enabled), 0x01,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_earp_pl,
+ { "PL Priority Level", "gsm_map.EARP_priority_level",
+ FT_UINT8, BASE_DEC, NULL, 0x3C,
+ NULL, HFILL }
+ },
+ { &hf_gsm_map_earp_pci,
+ { "PCI Pre-emption Capability", "gsm_map.EARP_pre_emption_Capability",
+ FT_BOOLEAN, 8, TFS(&tfs_disabled_enabled), 0x40,
+ NULL, HFILL }
+ },
+
+#include "packet-gsm_map-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_gsm_map,
+ &ett_gsm_map_InvokeId,
+ &ett_gsm_map_InvokePDU,
+ &ett_gsm_map_ReturnResultPDU,
+ &ett_gsm_map_ReturnErrorPDU,
+ &ett_gsm_map_ReturnResult_result,
+ &ett_gsm_map_ReturnError_result,
+ &ett_gsm_map_GSMMAPPDU,
+ &ett_gsm_map_ext_qos_subscribed,
+ &ett_gsm_map_pdptypenumber,
+ &ett_gsm_map_RAIdentity,
+ &ett_gsm_map_LAIFixedLength,
+ &ett_gsm_map_isdn_address_string,
+ &ett_gsm_map_geo_desc,
+ &ett_gsm_map_LongSignalInfo,
+ &ett_gsm_map_RadioResourceInformation,
+ &ett_gsm_map_MSNetworkCapability,
+ &ett_gsm_map_MSRadioAccessCapability,
+ &ett_gsm_map_externalsignalinfo,
+ &ett_gsm_map_cbs_data_coding,
+ &ett_gsm_map_GlobalCellId,
+ &ett_gsm_map_GeographicalInformation,
+ &ett_gsm_map_apn_str,
+ &ett_gsm_map_LocationNumber,
+ &ett_gsm_map_ericsson_locationInformation,
+ &ett_gsm_map_extension_data,
+ &ett_gsm_map_tbcd_digits,
+ &ett_gsm_map_ussd_string,
+ &ett_gsm_map_ext2_qos_subscribed,
+ &ett_gsm_map_ext3_qos_subscribed,
+ &ett_gsm_map_e_utranCellGlobalIdentity,
+ &ett_gsm_map_TA_id,
+ &ett_gsm_map_GeodeticInformation,
+
+#include "packet-gsm_map-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_gsm_map_unknown_sequence3, { "gsm_map.unknown.sequence3", PI_UNDECODED, PI_ERROR, "Unknown or not implemented [3] sequence", EXPFILL }},
+ { &ei_gsm_map_unknown_sequence, { "gsm_map.unknown.sequence", PI_UNDECODED, PI_ERROR, "Unknown or not implemented sequence", EXPFILL }},
+ { &ei_gsm_map_unknown_parameter, { "gsm_map.unknown.parameter", PI_UNDECODED, PI_ERROR, "Unknown or not implemented parameter", EXPFILL }},
+ { &ei_gsm_map_unknown_invokeData, { "gsm_map.unknown.invokeData", PI_MALFORMED, PI_WARN, "Unknown invokeData", EXPFILL }},
+ { &ei_gsm_map_undecoded, { "gsm_map.undecoded", PI_UNDECODED, PI_WARN, "If you want this decoded send the packet to Wireshark-dev", EXPFILL }},
+ };
+
+ static const enum_val_t application_context_modes[] = {
+ {"Use Application Context from the trace", "Use application context from the trace", APPLICATON_CONTEXT_FROM_TRACE},
+ {"Treat as AC 1", "Treat as AC 1", 1},
+ {"Treat as AC 2", "Treat as AC 2", 2},
+ {"Treat as AC 3", "Treat as AC 3", 3},
+ {NULL, NULL, -1}
+ };
+
+ static tap_param gsm_map_stat_params[] = {
+ { PARAM_FILTER, "filter", "Filter", NULL, TRUE }
+ };
+
+ static stat_tap_table_ui gsm_map_stat_table = {
+ REGISTER_STAT_GROUP_TELEPHONY_GSM,
+ "MAP Operation",
+ "gsm_map",
+ "gsm_map,operation",
+ gsm_map_stat_init,
+ gsm_map_stat_packet,
+ gsm_map_stat_reset,
+ gsm_map_stat_free_table_item,
+ NULL,
+ sizeof(gsm_map_stat_fields)/sizeof(stat_tap_table_item), gsm_map_stat_fields,
+ sizeof(gsm_map_stat_params)/sizeof(tap_param), gsm_map_stat_params,
+ NULL,
+ 0
+ };
+
+ /* Register protocol */
+ proto_gsm_map_ms = proto_gsm_map_dialogue = proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ map_handle = register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map);
+ register_dissector("gsm_map_sccp", dissect_gsm_map_sccp, proto_gsm_map);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_gsm_map, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_gsm_map = expert_register_protocol(proto_gsm_map);
+ expert_register_field_array(expert_gsm_map, ei, array_length(ei));
+
+ register_dissector_table("gsm_map.v3.arg.opcode", "GSM_MAP V3 Arg Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
+ register_dissector_table("gsm_map.v3.res.opcode", "GSM_MAP V3 Res Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
+
+ map_prop_arg_opcode_table = register_dissector_table("gsm_map.prop.arg.opcode", "GSM_MAP Proprietary Arg Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
+ map_prop_res_opcode_table = register_dissector_table("gsm_map.prop.res.opcode", "GSM_MAP Proprietary Res Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
+ map_prop_err_opcode_table = register_dissector_table("gsm_map.prop.err.opcode", "GSM_MAP Proprietary Err Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
+
+ gsm_map_tap = register_tap("gsm_map");
+
+#include "packet-gsm_map-dis-tab.c"
+ oid_add_from_string("ericsson-gsm-Map-Ext","1.2.826.0.1249.58.1.0" );
+ oid_add_from_string("accessTypeNotAllowed-id","1.3.12.2.1107.3.66.1.2");
+ /*oid_add_from_string("map-ac networkLocUp(1) version3(3)","0.4.0.0.1.0.1.3" );
+ *
+ * Register our configuration options, particularly our ssn:s
+ * Set default SSNs
+ */
+ range_convert_str(wmem_epan_scope(), &global_ssn_range, "6-9,145,148-150", MAX_SSN);
+
+ gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map);
+
+ prefs_register_range_preference(gsm_map_module, "tcap.ssn", "TCAP SSNs",
+ "TCAP Subsystem numbers used for GSM MAP",
+ &global_ssn_range, MAX_SSN);
+
+ prefs_register_enum_preference(gsm_map_module, "application.context.version",
+ "Application context version",
+ "How to treat Application context",
+ &pref_application_context_version, application_context_modes, APPLICATON_CONTEXT_FROM_TRACE);
+
+ prefs_register_bool_preference(gsm_map_module, "ericsson.proprietary.extensions",
+ "Dissect Ericsson proprietary extensions",
+ "When enabled, dissector will use the non 3GPP standard extensions from Ericsson (that can override the standard ones)",
+ &pref_ericsson_proprietary_ext);
+
+ register_stat_tap_table_ui(&gsm_map_stat_table);
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.h b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.h
new file mode 100644
index 00000000..0cebb20a
--- /dev/null
+++ b/epan/dissectors/asn1/gsm_map/packet-gsm_map-template.h
@@ -0,0 +1,69 @@
+/* packet-gsm_map-template.h
+ * Routines for GSM MAP packet dissection
+ * Copyright 2004 - 2006, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_GSM_MAP_H
+#define PACKET_GSM_MAP_H
+
+#include "ws_symbol_export.h"
+
+/* Defines for the GSM MAP taps */
+#define GSM_MAP_MAX_NUM_OPR_CODES 256
+
+typedef struct _gsm_map_tap_rec_t {
+ gboolean invoke;
+ guint32 opcode;
+ guint16 size;
+} gsm_map_tap_rec_t;
+
+
+#define SMS_ENCODING_NOT_SET 0
+#define SMS_ENCODING_7BIT 1
+#define SMS_ENCODING_8BIT 2
+#define SMS_ENCODING_UCS2 3
+#define SMS_ENCODING_7BIT_LANG 4
+#define SMS_ENCODING_UCS2_LANG 5
+
+WS_DLL_PUBLIC const value_string gsm_map_opr_code_strings[];
+
+extern const value_string ssCode_vals[];
+extern const value_string gsm_map_PDP_Type_Organisation_vals[];
+extern const value_string gsm_map_ietf_defined_pdp_vals[];
+extern const value_string gsm_map_etsi_defined_pdp_vals[];
+
+guint8 dissect_cbs_data_coding_scheme(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint16 offset);
+void dissect_gsm_map_msisdn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree);
+
+typedef enum {
+ GSM_MAP_SM_RP_OA_NO_ID = 0,
+ GSM_MAP_SM_RP_OA_MSISDN,
+ GSM_MAP_SM_RP_OA_SERVICE_CENTER_ADDRESS
+} gsm_map_sm_rp_oa_id;
+
+typedef enum {
+ GSM_MAP_SM_RP_DA_NO_ID = 0,
+ GSM_MAP_SM_RP_DA_IMSI,
+ GSM_MAP_SM_RP_DA_LMSI,
+ GSM_MAP_SM_RP_DA_SERVICE_CENTER_ADDRESS
+} gsm_map_sm_rp_da_id;
+
+/* structure accessible via p_get_proto_data(wmem_file_scope(), pinfo, proto_gsm_map, 0) */
+typedef struct {
+ gsm_map_sm_rp_oa_id sm_rp_oa_id;
+ const gchar *sm_rp_oa_str;
+ gsm_map_sm_rp_da_id sm_rp_da_id;
+ const gchar *sm_rp_da_str;
+ guint32 tcap_src_tid;
+} gsm_map_packet_info_t;
+
+#include "packet-gsm_map-exp.h"
+
+
+#endif /* PACKET_GSM_MAP_H */
diff --git a/epan/dissectors/asn1/h225/CMakeLists.txt b/epan/dissectors/asn1/h225/CMakeLists.txt
new file mode 100644
index 00000000..f1028240
--- /dev/null
+++ b/epan/dissectors/asn1/h225/CMakeLists.txt
@@ -0,0 +1,44 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h225 )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ H323-MESSAGES.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../h235/h235-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../h245/h245-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h225/H323-MESSAGES.asn b/epan/dissectors/asn1/h225/H323-MESSAGES.asn
new file mode 100644
index 00000000..0beb98d4
--- /dev/null
+++ b/epan/dissectors/asn1/h225/H323-MESSAGES.asn
@@ -0,0 +1,2221 @@
+-- H323-MESSAGES.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/formal-language/itu-t/h/h225-0/2009/H323-MESSAGES.asn
+--
+
+-- Module H323-MESSAGES (H.225.0:12/2009)
+H323-MESSAGES {itu-t(0) recommendation(0) h(8) h225-0(2250) version(0)
+ 7 h323-messages(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ SIGNED{}, ENCRYPTED{}, HASHED{}, ChallengeString, TimeStamp, RandomVal,
+ Password, EncodedPwdCertToken, ClearToken, CryptoToken,
+ AuthenticationMechanism
+ FROM H235-SECURITY-MESSAGES
+ DataProtocolCapability, T38FaxProfile, QOSCapability
+ FROM MULTIMEDIA-SYSTEM-CONTROL {itu-t(0) recommendation(0) h(8) h245(245)
+ version(0) 15 multimedia-system-control(0)};
+
+H323-UserInformation ::=
+ SEQUENCE -- root for all H.225.0 call signalling messages
+ {
+ h323-uu-pdu H323-UU-PDU,
+ user-data
+ SEQUENCE {protocol-discriminator INTEGER(0..255),
+ user-information OCTET STRING(SIZE (1..131)),
+ ...} OPTIONAL,
+ ...
+}
+
+H323-UU-PDU ::= SEQUENCE {
+ h323-message-body
+ CHOICE {setup Setup-UUIE,
+ callProceeding CallProceeding-UUIE,
+ connect Connect-UUIE,
+ alerting Alerting-UUIE,
+ information Information-UUIE,
+ releaseComplete ReleaseComplete-UUIE,
+ facility Facility-UUIE,
+ ...,
+ progress Progress-UUIE,
+ empty NULL, -- used when a Facility message is sent,--
+ -- but the Facility-UUIE is not to be invoked
+ -- (possible when transporting supplementary
+ -- services messages in versions prior to
+ -- H.225.0 version 4)
+ status Status-UUIE,
+ statusInquiry StatusInquiry-UUIE,
+ setupAcknowledge SetupAcknowledge-UUIE,
+ notify Notify-UUIE},
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ h4501SupplementaryService SEQUENCE OF OCTET STRING OPTIONAL,
+ -- each sequence of octet string is defined as one
+ -- H4501SupplementaryService APDU as defined in
+ -- Table 3/H.450.1
+ h245Tunnelling BOOLEAN,
+ -- if TRUE, tunnelling of H.245 messages is enabled
+ h245Control SEQUENCE OF OCTET STRING OPTIONAL,
+ nonStandardControl SEQUENCE OF NonStandardParameter OPTIONAL,
+ callLinkage CallLinkage OPTIONAL,
+ tunnelledSignallingMessage
+ SEQUENCE {tunnelledProtocolID TunnelledProtocol, -- tunnelled signalling--
+ -- protocol ID
+ messageContent SEQUENCE OF OCTET STRING, -- sequence of entire --
+ -- message(s)
+ tunnellingRequired NULL OPTIONAL,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...} OPTIONAL,
+ provisionalRespToH245Tunnelling NULL OPTIONAL,
+ stimulusControl StimulusControl OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+StimulusControl ::= SEQUENCE {
+ nonStandard NonStandardParameter OPTIONAL,
+ isText NULL OPTIONAL,
+ h248Message OCTET STRING OPTIONAL,
+ ...
+}
+
+Alerting-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ destinationInfo EndpointType,
+ h245Address TransportAddress OPTIONAL,
+ ...,
+ callIdentifier CallIdentifier,
+ h245SecurityMode H245Security OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ fastStart SEQUENCE OF OCTET STRING OPTIONAL,
+ multipleCalls BOOLEAN,
+ maintainConnection BOOLEAN,
+ alertingAddress SEQUENCE OF AliasAddress OPTIONAL,
+ presentationIndicator PresentationIndicator OPTIONAL,
+ screeningIndicator ScreeningIndicator OPTIONAL,
+ fastConnectRefused NULL OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ displayName SEQUENCE OF DisplayName OPTIONAL
+}
+
+CallProceeding-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ destinationInfo EndpointType,
+ h245Address TransportAddress OPTIONAL,
+ ...,
+ callIdentifier CallIdentifier,
+ h245SecurityMode H245Security OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ fastStart SEQUENCE OF OCTET STRING OPTIONAL,
+ multipleCalls BOOLEAN,
+ maintainConnection BOOLEAN,
+ fastConnectRefused NULL OPTIONAL,
+ featureSet FeatureSet OPTIONAL
+}
+
+Connect-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ h245Address TransportAddress OPTIONAL,
+ destinationInfo EndpointType,
+ conferenceID ConferenceIdentifier,
+ ...,
+ callIdentifier CallIdentifier,
+ h245SecurityMode H245Security OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ fastStart SEQUENCE OF OCTET STRING OPTIONAL,
+ multipleCalls BOOLEAN,
+ maintainConnection BOOLEAN,
+ language SEQUENCE OF IA5String(SIZE (1..32)) OPTIONAL, -- RFC 1766 language tag
+ connectedAddress SEQUENCE OF AliasAddress OPTIONAL,
+ presentationIndicator PresentationIndicator OPTIONAL,
+ screeningIndicator ScreeningIndicator OPTIONAL,
+ fastConnectRefused NULL OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ displayName SEQUENCE OF DisplayName OPTIONAL
+}
+
+Information-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ ...,
+ callIdentifier CallIdentifier,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ fastStart SEQUENCE OF OCTET STRING OPTIONAL,
+ fastConnectRefused NULL OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL
+}
+
+ReleaseComplete-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ reason ReleaseCompleteReason OPTIONAL,
+ ...,
+ callIdentifier CallIdentifier,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ busyAddress SEQUENCE OF AliasAddress OPTIONAL,
+ presentationIndicator PresentationIndicator OPTIONAL,
+ screeningIndicator ScreeningIndicator OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ destinationInfo EndpointType OPTIONAL,
+ displayName SEQUENCE OF DisplayName OPTIONAL
+}
+
+ReleaseCompleteReason ::= CHOICE {
+ noBandwidth NULL, -- bandwidth taken away or ARQ denied
+ gatekeeperResources NULL, -- exhausted
+ unreachableDestination NULL, -- no transport path to the destination
+ destinationRejection NULL, -- rejected at destination
+ invalidRevision NULL,
+ noPermission NULL, -- called party's gatekeeper rejects
+ unreachableGatekeeper NULL, -- terminal cannot reach gatekeeper
+
+ -- for ARQ
+ gatewayResources NULL,
+ badFormatAddress NULL,
+ adaptiveBusy NULL, -- call is dropping due to LAN crowding
+ inConf NULL, -- called party busy
+ undefinedReason NULL,
+ ...,
+ facilityCallDeflection NULL, -- call was deflected using a Facility
+
+ -- message
+ securityDenied NULL, -- incompatible security settings
+ calledPartyNotRegistered NULL, -- used by gatekeeper when endpoint has
+
+ -- preGrantedARQ to bypass ARQ/ACF
+ callerNotRegistered NULL, -- used by gatekeeper when endpoint has
+
+ -- preGrantedARQ to bypass ARQ/ACF
+ newConnectionNeeded NULL, -- indicates that the Setup was not
+
+ -- accepted on this connection, but that
+ -- the Setup may be accepted on
+ -- a new connection
+ nonStandardReason NonStandardParameter,
+ replaceWithConferenceInvite ConferenceIdentifier, -- call dropped due to
+
+ -- subsequent invitation
+ -- to a conference
+ -- (see 8.4.3.8/H.323)
+ genericDataReason NULL,
+ neededFeatureNotSupported NULL,
+ tunnelledSignallingRejected NULL,
+ invalidCID NULL,
+ securityError SecurityErrors,
+ hopCountExceeded NULL
+}
+
+Setup-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ h245Address TransportAddress OPTIONAL,
+ sourceAddress SEQUENCE OF AliasAddress OPTIONAL,
+ sourceInfo EndpointType,
+ destinationAddress SEQUENCE OF AliasAddress OPTIONAL,
+ destCallSignalAddress TransportAddress OPTIONAL,
+ destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
+ destExtraCRV SEQUENCE OF CallReferenceValue OPTIONAL,
+ activeMC BOOLEAN,
+ conferenceID ConferenceIdentifier,
+ conferenceGoal
+ CHOICE {create NULL,
+ join NULL,
+ invite NULL,
+ ...,
+ capability-negotiation NULL,
+ callIndependentSupplementaryService NULL},
+ callServices QseriesOptions OPTIONAL,
+ callType CallType,
+ ...,
+ sourceCallSignalAddress TransportAddress OPTIONAL,
+ remoteExtensionAddress AliasAddress OPTIONAL,
+ callIdentifier CallIdentifier,
+ h245SecurityCapability SEQUENCE OF H245Security OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ fastStart SEQUENCE OF OCTET STRING OPTIONAL,
+ mediaWaitForConnect BOOLEAN,
+ canOverlapSend BOOLEAN,
+ endpointIdentifier EndpointIdentifier OPTIONAL,
+ multipleCalls BOOLEAN,
+ maintainConnection BOOLEAN,
+ connectionParameters
+ SEQUENCE-- additional gateway parameters-- {connectionType
+ ScnConnectionType,
+ numberOfScnConnections
+ INTEGER(0..65535),
+ connectionAggregation
+ ScnConnectionAggregation,
+ ...} OPTIONAL,
+ language SEQUENCE OF IA5String(SIZE (1..32)) OPTIONAL,
+ -- RFC 1766 language tag
+ presentationIndicator PresentationIndicator OPTIONAL,
+ screeningIndicator ScreeningIndicator OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ symmetricOperationRequired NULL OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL,
+ desiredProtocols SEQUENCE OF SupportedProtocols OPTIONAL,
+ neededFeatures SEQUENCE OF FeatureDescriptor OPTIONAL,
+ desiredFeatures SEQUENCE OF FeatureDescriptor OPTIONAL,
+ supportedFeatures SEQUENCE OF FeatureDescriptor OPTIONAL,
+ parallelH245Control SEQUENCE OF OCTET STRING OPTIONAL,
+ additionalSourceAddresses SEQUENCE OF ExtendedAliasAddress OPTIONAL,
+ hopCount INTEGER(1..31) OPTIONAL,
+ displayName SEQUENCE OF DisplayName OPTIONAL
+}
+
+ScnConnectionType ::= CHOICE {
+ unknown NULL, -- should be selected when connection type is unknown
+ bChannel NULL, -- each individual connection on the SCN is 64 kbit/s.
+
+ -- Note that where SCN delivers 56 kbit/s usable data,
+ -- the actual bandwidth allocated on SCN is still
+ -- 64 kbit/s.
+ hybrid2x64 NULL, -- each connection is a 128 kbit/s hybrid call
+ hybrid384 NULL, -- each connection is an H0 (384 kbit/s) hybrid call
+ hybrid1536 NULL, -- each connection is an H11 (1536 kbit/s) hybrid call
+ hybrid1920 NULL, -- each connection is an H12 (1920 kbit/s) hybrid call
+ multirate NULL, -- bandwidth supplied by SCN using multirate.
+
+ -- In this case, the information transfer rate octet
+ -- in the bearer capability shall be set to multirate
+ -- and the rate multiplier octet shall denote the
+ -- number of B channels.
+ ...
+}
+
+ScnConnectionAggregation ::= CHOICE {
+ auto NULL, -- aggregation mechanism is unknown
+ none NULL, -- call produced using a single SCN connection
+ h221 NULL, -- use H.221 framing to aggregate the connections
+ bonded-mode1 NULL, -- use ISO/IEC 13871 bonding mode 1.
+
+ -- Use bonded-mode1 to signal a bonded call if the
+ -- precise bonding mode to be used is unknown.
+ bonded-mode2 NULL, -- use ISO/IEC 13871 bonding mode 2
+ bonded-mode3 NULL, -- use ISO/IEC 13871 bonding mode 3
+ ...
+}
+
+PresentationIndicator ::= CHOICE {
+ presentationAllowed NULL,
+ presentationRestricted NULL,
+ addressNotAvailable NULL,
+ ...
+}
+
+ScreeningIndicator ::= ENUMERATED {
+ userProvidedNotScreened(0),
+ -- number was provided by a remote user
+ -- and has not been screened by a gatekeeper
+ userProvidedVerifiedAndPassed(1),
+ -- number was provided by user
+ -- equipment (or by a remote network), and has
+ -- been screened by a gatekeeper
+ userProvidedVerifiedAndFailed(2),
+ -- number was provided by user
+ -- equipment (or by a remote network), and the
+ -- gatekeeper has determined that the
+ -- information is incorrect
+ networkProvided(3),
+ -- number was provided by a gatekeeper
+ ...
+ }
+
+Facility-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ alternativeAddress TransportAddress OPTIONAL,
+ alternativeAliasAddress SEQUENCE OF AliasAddress OPTIONAL,
+ conferenceID ConferenceIdentifier OPTIONAL,
+ reason FacilityReason,
+ ...,
+ callIdentifier CallIdentifier,
+ destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
+ remoteExtensionAddress AliasAddress OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ conferences SEQUENCE OF ConferenceList OPTIONAL,
+ h245Address TransportAddress OPTIONAL,
+ fastStart SEQUENCE OF OCTET STRING OPTIONAL,
+ multipleCalls BOOLEAN,
+ maintainConnection BOOLEAN,
+ fastConnectRefused NULL OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ destinationInfo EndpointType OPTIONAL,
+ h245SecurityMode H245Security OPTIONAL
+}
+
+ConferenceList ::= SEQUENCE {
+ conferenceID ConferenceIdentifier OPTIONAL,
+ conferenceAlias AliasAddress OPTIONAL,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...
+}
+
+FacilityReason ::= CHOICE {
+ routeCallToGatekeeper NULL, -- call must use gatekeeper model
+
+ -- gatekeeper is alternativeAddress
+ callForwarded NULL,
+ routeCallToMC NULL,
+ undefinedReason NULL,
+ ...,
+ conferenceListChoice NULL,
+ startH245 NULL, -- recipient should connect to h245Address
+ noH245 NULL, -- endpoint does not support H.245
+ newTokens NULL,
+ featureSetUpdate NULL,
+ forwardedElements NULL,
+ transportedInformation NULL
+}
+
+Progress-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ destinationInfo EndpointType,
+ h245Address TransportAddress OPTIONAL,
+ callIdentifier CallIdentifier,
+ h245SecurityMode H245Security OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ fastStart SEQUENCE OF OCTET STRING OPTIONAL,
+ ...,
+ multipleCalls BOOLEAN,
+ maintainConnection BOOLEAN,
+ fastConnectRefused NULL OPTIONAL
+}
+
+TransportAddress ::= CHOICE {
+ ipAddress
+ SEQUENCE {ip OCTET STRING(SIZE (4)),
+ port INTEGER(0..65535)},
+ ipSourceRoute
+ SEQUENCE {ip OCTET STRING(SIZE (4)),
+ port INTEGER(0..65535),
+ route SEQUENCE OF OCTET STRING(SIZE (4)),
+ routing CHOICE {strict NULL,
+ loose NULL,
+ ...},
+ ...},
+ ipxAddress
+ SEQUENCE {node OCTET STRING(SIZE (6)),
+ netnum OCTET STRING(SIZE (4)),
+ port OCTET STRING(SIZE (2))},
+ ip6Address
+ SEQUENCE {ip OCTET STRING(SIZE (16)),
+ port INTEGER(0..65535),
+ ...},
+ netBios OCTET STRING(SIZE (16)),
+ nsap OCTET STRING(SIZE (1..20)),
+ nonStandardAddress NonStandardParameter,
+ ...
+}
+
+Status-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ callIdentifier CallIdentifier,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ ...
+}
+
+StatusInquiry-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ callIdentifier CallIdentifier,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ ...
+}
+
+SetupAcknowledge-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ callIdentifier CallIdentifier,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ ...
+}
+
+Notify-UUIE ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ callIdentifier CallIdentifier,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ ...,
+ connectedAddress SEQUENCE OF AliasAddress OPTIONAL,
+ presentationIndicator PresentationIndicator OPTIONAL,
+ screeningIndicator ScreeningIndicator OPTIONAL,
+ destinationInfo EndpointType OPTIONAL,
+ displayName SEQUENCE OF DisplayName OPTIONAL
+}
+
+-- Beginning of common message elements section
+EndpointType ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ vendor VendorIdentifier OPTIONAL,
+ gatekeeper GatekeeperInfo OPTIONAL,
+ gateway GatewayInfo OPTIONAL,
+ mcu McuInfo OPTIONAL, -- mc must be set as well
+ terminal TerminalInfo OPTIONAL,
+ mc BOOLEAN, -- shall not be set by itself
+ undefinedNode BOOLEAN,
+ ...,
+ set BIT STRING(SIZE (32)) OPTIONAL,
+ -- shall not be used with mc, gatekeeper
+ -- code points for the various SET devices
+ -- are defined in the respective SET Annexes
+ supportedTunnelledProtocols SEQUENCE OF TunnelledProtocol OPTIONAL
+ -- list of supported tunnelled protocols
+}
+
+GatewayInfo ::= SEQUENCE {
+ protocol SEQUENCE OF SupportedProtocols OPTIONAL,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...
+}
+
+SupportedProtocols ::= CHOICE {
+ nonStandardData NonStandardParameter,
+ h310 H310Caps,
+ h320 H320Caps,
+ h321 H321Caps,
+ h322 H322Caps,
+ h323 H323Caps,
+ h324 H324Caps,
+ voice VoiceCaps,
+ t120-only T120OnlyCaps,
+ ...,
+ nonStandardProtocol NonStandardProtocol,
+ t38FaxAnnexbOnly T38FaxAnnexbOnlyCaps,
+ sip SIPCaps
+}
+
+H310Caps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix
+}
+
+H320Caps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix
+}
+
+H321Caps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix
+}
+
+H322Caps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix
+}
+
+H323Caps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix
+}
+
+H324Caps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix
+}
+
+VoiceCaps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix
+}
+
+T120OnlyCaps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix
+}
+
+NonStandardProtocol ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix,
+ ...
+}
+
+T38FaxAnnexbOnlyCaps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix,
+ t38FaxProtocol DataProtocolCapability,
+ t38FaxProfile T38FaxProfile,
+ ...
+}
+
+SIPCaps ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix OPTIONAL,
+ ...
+}
+
+McuInfo ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ protocol SEQUENCE OF SupportedProtocols OPTIONAL
+}
+
+TerminalInfo ::= SEQUENCE {nonStandardData NonStandardParameter OPTIONAL,
+ ...
+}
+
+GatekeeperInfo ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...
+}
+
+VendorIdentifier ::= SEQUENCE {
+ vendor H221NonStandard,
+ productId OCTET STRING(SIZE (1..256)) OPTIONAL, -- per vendor
+ versionId OCTET STRING(SIZE (1..256)) OPTIONAL, -- per product
+ ...,
+ enterpriseNumber OBJECT IDENTIFIER OPTIONAL
+}
+
+H221NonStandard ::= SEQUENCE {
+ t35CountryCode INTEGER(0..255),
+ t35Extension INTEGER(0..255),
+ manufacturerCode INTEGER(0..65535),
+ ...
+}
+
+TunnelledProtocol ::= SEQUENCE {
+ id
+ CHOICE {tunnelledProtocolObjectID OBJECT IDENTIFIER,
+ tunnelledProtocolAlternateID TunnelledProtocolAlternateIdentifier,
+ ...},
+ subIdentifier IA5String(SIZE (1..64)) OPTIONAL,
+ ...
+}
+
+TunnelledProtocolAlternateIdentifier ::= SEQUENCE {
+ protocolType IA5String(SIZE (1..64)),
+ protocolVariant IA5String(SIZE (1..64)) OPTIONAL,
+ ...
+}
+
+NonStandardParameter ::= SEQUENCE {
+ nonStandardIdentifier NonStandardIdentifier,
+ data OCTET STRING
+}
+
+NonStandardIdentifier ::= CHOICE {
+ object OBJECT IDENTIFIER,
+ h221NonStandard H221NonStandard,
+ ...
+}
+
+AliasAddress ::= CHOICE {
+ dialledDigits IA5String(SIZE (1..128))(FROM ("0123456789#*,")),
+ h323-ID BMPString(SIZE (1..256)), -- Basic ISO/IEC 10646 (Unicode)
+ ...,
+ url-ID IA5String(SIZE (1..512)), -- URL style address
+ transportID TransportAddress,
+ email-ID IA5String(SIZE (1..512)), -- rfc822-compliant email address
+ partyNumber PartyNumber,
+ mobileUIM MobileUIM,
+ isupNumber IsupNumber
+}
+
+AddressPattern ::= CHOICE {
+ wildcard AliasAddress,
+ range SEQUENCE {startOfRange PartyNumber,
+ endOfRange PartyNumber},
+ ...
+}
+
+PartyNumber ::= CHOICE {
+ e164Number PublicPartyNumber,
+ -- the numbering plan is according to
+ -- ITUT Recs E.163 and E.164.
+ dataPartyNumber NumberDigits,
+ -- not used, value reserved.
+ telexPartyNumber NumberDigits,
+ -- not used, value reserved.
+ privateNumber PrivatePartyNumber,
+ -- the numbering plan is according to
+ -- ISO/IEC 11571.
+ nationalStandardPartyNumber NumberDigits,
+ -- not used, value reserved.
+ ...
+}
+
+PublicPartyNumber ::= SEQUENCE {
+ publicTypeOfNumber PublicTypeOfNumber,
+ publicNumberDigits NumberDigits
+}
+
+PrivatePartyNumber ::= SEQUENCE {
+ privateTypeOfNumber PrivateTypeOfNumber,
+ privateNumberDigits NumberDigits
+}
+
+NumberDigits ::= IA5String(SIZE (1..128))(FROM ("0123456789#*,"))
+
+DisplayName ::= SEQUENCE {
+ language IA5String OPTIONAL, -- RFC4646 language tag
+ name BMPString(SIZE (1..80))
+}
+
+PublicTypeOfNumber ::= CHOICE {
+ unknown NULL,
+ -- if used number digits carry prefix
+ -- indicating type
+ -- of number according to national
+ -- recommendations.
+ internationalNumber NULL,
+ nationalNumber NULL,
+ networkSpecificNumber NULL,
+ -- not used, value reserved
+ subscriberNumber NULL,
+ abbreviatedNumber NULL,
+ -- valid only for called party number at
+ -- the outgoing access, network
+ -- substitutes
+ -- appropriate number.
+ ...
+}
+
+PrivateTypeOfNumber ::= CHOICE {
+ unknown NULL,
+ level2RegionalNumber NULL,
+ level1RegionalNumber NULL,
+ pISNSpecificNumber NULL,
+ localNumber NULL,
+ abbreviatedNumber NULL,
+ ...
+}
+
+MobileUIM ::= CHOICE {
+ ansi-41-uim ANSI-41-UIM, -- Americas standards Wireless Networks
+ gsm-uim GSM-UIM, -- European standards Wireless Networks
+ ...
+}
+
+TBCD-STRING ::= IA5String(FROM ("0123456789#*abc"))
+
+ANSI-41-UIM ::= SEQUENCE {
+ imsi TBCD-STRING(SIZE (3..16)) OPTIONAL,
+ min TBCD-STRING(SIZE (3..16)) OPTIONAL,
+ mdn TBCD-STRING(SIZE (3..16)) OPTIONAL,
+ msisdn TBCD-STRING(SIZE (3..16)) OPTIONAL,
+ esn TBCD-STRING(SIZE (16)) OPTIONAL,
+ mscid TBCD-STRING(SIZE (3..16)) OPTIONAL,
+ system-id
+ CHOICE {sid TBCD-STRING(SIZE (1..4)),
+ mid TBCD-STRING(SIZE (1..4)),
+ ...},
+ systemMyTypeCode OCTET STRING(SIZE (1)) OPTIONAL,
+ systemAccessType OCTET STRING(SIZE (1)) OPTIONAL,
+ qualificationInformationCode OCTET STRING(SIZE (1)) OPTIONAL,
+ sesn TBCD-STRING(SIZE (16)) OPTIONAL,
+ soc TBCD-STRING(SIZE (3..16)) OPTIONAL,
+ ...
+ -- IMSI refers to International Mobile Station Identification
+ -- MIN refers to Mobile Identification Number
+ -- MDN refers to Mobile Directory Number
+ -- MSISDN refers to Mobile Station ISDN number
+ -- ESN Refers to Electronic Serial Number
+ -- MSCID refers to Mobile Switching Center number + Market ID or System ID
+ -- SID refers to System Identification and MID refers to Market
+ -- Identification
+ -- SystemMyTypeCode refers to vendor identification number
+ -- SystemAccessType refers to the system access type like power down
+ -- registration or call
+ -- origination or Short Message response etc.
+ -- Qualification Information Code refers to the validity
+ -- SESN Refers to SIM Electronic Serial Number for Security purposes of
+ -- User Identification
+ -- SOC refers to System Operator Code
+}
+
+GSM-UIM ::= SEQUENCE {
+ imsi TBCD-STRING(SIZE (3..16)) OPTIONAL,
+ tmsi OCTET STRING(SIZE (1..4)) OPTIONAL,
+ msisdn TBCD-STRING(SIZE (3..16)) OPTIONAL,
+ imei TBCD-STRING(SIZE (15..16)) OPTIONAL,
+ hplmn TBCD-STRING(SIZE (1..4)) OPTIONAL,
+ vplmn TBCD-STRING(SIZE (1..4)) OPTIONAL,
+ -- IMSI refers to International Mobile Station Identification
+ -- MSISDN refers to Mobile Station ISDN number
+ -- IMEI Refers to International Mobile Equipment Identification
+ -- VPLMN or HPLMN refers to Visiting or Home Public Land Mobile Network
+ -- number
+ ...
+}
+
+IsupNumber ::= CHOICE {
+ e164Number IsupPublicPartyNumber,
+ -- the numbering plan is according to
+ -- ITUT Recs E.163 and E.164.
+ dataPartyNumber IsupDigits, -- not used, value reserved.
+ telexPartyNumber IsupDigits, -- not used, value reserved.
+ privateNumber IsupPrivatePartyNumber,
+ -- the numbering plan is according to
+ -- ISO/IEC 11571.
+ nationalStandardPartyNumber IsupDigits, -- not used, value reserved.
+ ...
+}
+
+IsupPublicPartyNumber ::= SEQUENCE {
+ natureOfAddress NatureOfAddress,
+ address IsupDigits,
+ ...
+}
+
+IsupPrivatePartyNumber ::= SEQUENCE {
+ privateTypeOfNumber PrivateTypeOfNumber,
+ address IsupDigits,
+ ...
+}
+
+NatureOfAddress ::= CHOICE {
+ unknown NULL,
+ subscriberNumber NULL,
+ nationalNumber NULL,
+ internationalNumber NULL,
+ networkSpecificNumber NULL,
+ routingNumberNationalFormat NULL,
+ routingNumberNetworkSpecificFormat NULL,
+ routingNumberWithCalledDirectoryNumber NULL,
+ ...
+}
+
+IsupDigits ::= IA5String(SIZE (1..128))(FROM ("0123456789ABCDE"))
+
+ExtendedAliasAddress ::= SEQUENCE {
+ address AliasAddress,
+ presentationIndicator PresentationIndicator OPTIONAL,
+ screeningIndicator ScreeningIndicator OPTIONAL,
+ ...
+}
+
+Endpoint ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ aliasAddress SEQUENCE OF AliasAddress OPTIONAL,
+ callSignalAddress SEQUENCE OF TransportAddress OPTIONAL,
+ rasAddress SEQUENCE OF TransportAddress OPTIONAL,
+ endpointType EndpointType OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ priority INTEGER(0..127) OPTIONAL,
+ remoteExtensionAddress SEQUENCE OF AliasAddress OPTIONAL,
+ destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
+ ...,
+ alternateTransportAddresses AlternateTransportAddresses OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL,
+ featureSet FeatureSet OPTIONAL
+}
+
+AlternateTransportAddresses ::= SEQUENCE {
+ annexE SEQUENCE OF TransportAddress OPTIONAL,
+ ...,
+ sctp SEQUENCE OF TransportAddress OPTIONAL
+}
+
+UseSpecifiedTransport ::= CHOICE {tcp NULL,
+ annexE NULL,
+ ...,
+ sctp NULL
+}
+
+AlternateGK ::= SEQUENCE {
+ rasAddress TransportAddress,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ needToRegister BOOLEAN,
+ priority INTEGER(0..127),
+ ...
+}
+
+AltGKInfo ::= SEQUENCE {
+ alternateGatekeeper SEQUENCE OF AlternateGK,
+ altGKisPermanent BOOLEAN,
+ ...
+}
+
+SecurityServiceMode ::= CHOICE {
+ nonStandard NonStandardParameter,
+ none NULL,
+ default NULL,
+ ... -- can be extended with other specific modes
+}
+
+SecurityCapabilities ::= SEQUENCE {
+ nonStandard NonStandardParameter OPTIONAL,
+ encryption SecurityServiceMode,
+ authenticaton SecurityServiceMode,
+ integrity SecurityServiceMode,
+ ...
+}
+
+SecurityErrors ::= CHOICE {
+ securityWrongSyncTime NULL, -- either time server
+
+ -- problem or network delay
+ securityReplay NULL, -- replay attack encountered
+ securityWrongGeneralID NULL, -- wrong general ID
+ securityWrongSendersID NULL, -- wrong senders ID
+ securityIntegrityFailed NULL, -- integrity check failed
+ securityWrongOID NULL, -- wrong token OIDs or crypto alg
+
+ -- OIDs
+ securityDHmismatch NULL, -- mismatch of DH parameters
+ securityCertificateExpired NULL, -- certificate has expired
+ securityCertificateDateInvalid NULL, -- certificate is not yet valid
+ securityCertificateRevoked NULL, -- certificate was found revoked
+ securityCertificateNotReadable NULL, -- decoding error
+ securityCertificateSignatureInvalid NULL, -- wrong signature in the
+
+ -- certificate
+ securityCertificateMissing NULL, -- no certificate available
+ securityCertificateIncomplete NULL, -- missing expected certificate
+
+ -- extensions
+ securityUnsupportedCertificateAlgOID NULL, -- crypto algs not understood
+ securityUnknownCA NULL, -- CA/root certificate could not
+
+ -- be found
+ ...
+}
+
+SecurityErrors2 ::= CHOICE {
+ securityWrongSyncTime NULL, -- either time server problem or network
+
+ -- delay
+ securityReplay NULL, -- replay attack encountered
+ securityWrongGeneralID NULL, -- wrong general ID
+ securityWrongSendersID NULL, -- wrong senders ID
+ securityIntegrityFailed NULL, -- integrity check failed
+ securityWrongOID NULL, -- wrong token OIDs or crypto alg OIDs
+ ...
+}
+
+H245Security ::= CHOICE {
+ nonStandard NonStandardParameter,
+ noSecurity NULL,
+ tls SecurityCapabilities,
+ ipsec SecurityCapabilities,
+ ...
+}
+
+QseriesOptions ::= SEQUENCE {
+ q932Full BOOLEAN, -- if true, indicates full support for Q.932
+ q951Full BOOLEAN, -- if true, indicates full support for Q.951
+ q952Full BOOLEAN, -- if true, indicates full support for Q.952
+ q953Full BOOLEAN, -- if true, indicates full support for Q.953
+ q955Full BOOLEAN, -- if true, indicates full support for Q.955
+ q956Full BOOLEAN, -- if true, indicates full support for Q.956
+ q957Full BOOLEAN, -- if true, indicates full support for Q.957
+ q954Info Q954Details,
+ ...
+}
+
+Q954Details ::= SEQUENCE {
+ conferenceCalling BOOLEAN,
+ threePartyService BOOLEAN,
+ ...
+}
+
+GloballyUniqueID ::= OCTET STRING(SIZE (16))
+
+ConferenceIdentifier ::= GloballyUniqueID
+
+RequestSeqNum ::= INTEGER(1..65535)
+
+GatekeeperIdentifier ::= BMPString(SIZE (1..128))
+
+BandWidth ::= INTEGER(0..4294967295) -- in 100s of bits
+
+
+CallReferenceValue ::= INTEGER(0..65535)
+
+EndpointIdentifier ::= BMPString(SIZE (1..128))
+
+ProtocolIdentifier ::= OBJECT IDENTIFIER
+
+TimeToLive ::= INTEGER(1..4294967295) -- in seconds
+
+
+H248PackagesDescriptor ::= OCTET STRING -- This octet string contains ASN.1
+
+-- PER encoded H.248
+-- PackagesDescriptor
+H248SignalsDescriptor ::= OCTET STRING -- This octet string contains
+
+-- ASN.1 PER encoded H.248
+-- SignalsDescriptor.
+FeatureDescriptor ::=
+ GenericData
+
+CallIdentifier ::= SEQUENCE {guid GloballyUniqueID,
+ ...
+}
+
+EncryptIntAlg ::=
+ CHOICE { -- core encryption algorithms for RAS message integrity
+ nonStandard NonStandardParameter,
+ isoAlgorithm OBJECT IDENTIFIER, -- defined in ISO/IEC 9979
+ ...
+}
+
+NonIsoIntegrityMechanism ::=
+ CHOICE { -- HMAC mechanism used, no truncation, tagging may be necessary!
+ hMAC-MD5 NULL,
+ hMAC-iso10118-2-s EncryptIntAlg, -- according to ISO/IEC 10118-2 using
+
+ -- EncryptIntAlg as core block
+ -- encryption algorithm (short MAC)
+ hMAC-iso10118-2-l EncryptIntAlg, -- according to ISO/IEC 10118-2 using
+
+ -- EncryptIntAlg as core block
+ -- encryption algorithm (long MAC)
+ hMAC-iso10118-3 OBJECT IDENTIFIER, -- according to ISO/IEC 10118-3 using
+
+ -- OID as hash function (OID is
+ -- SHA-1,
+ -- RIPE-MD160,
+ -- RIPE-MD128)
+ ...
+}
+
+IntegrityMechanism ::= CHOICE { -- for RAS message integrity
+ nonStandard NonStandardParameter,
+ digSig NULL, -- indicates to apply a digital signature
+ iso9797 OBJECT IDENTIFIER, -- according to ISO/IEC 9797 using OID as
+
+ -- core encryption algorithm (X-CBC MAC)
+ nonIsoIM NonIsoIntegrityMechanism,
+ ...
+}
+
+ICV ::= SEQUENCE {
+ algorithmOID OBJECT IDENTIFIER, -- the algorithm used to compute the
+
+ -- signature
+ icv BIT STRING-- the computed cryptographic --
+ -- integrity check value or signature
+}
+
+FastStartToken ::=
+ ClearToken
+ (WITH COMPONENTS {
+ ...,
+ timeStamp PRESENT,
+ dhkey PRESENT,
+ generalID PRESENT
+
+ -- set to "alias" --})
+
+EncodedFastStartToken ::= TYPE-IDENTIFIER.&Type(FastStartToken)
+
+CryptoH323Token ::= CHOICE {
+ cryptoEPPwdHash
+ SEQUENCE {alias AliasAddress, -- alias of entity generating hash--
+ timeStamp TimeStamp, -- timestamp used in hash--
+ token
+ HASHED{EncodedPwdCertToken-- generalID set to --
+ -- "alias" -- }},
+ cryptoGKPwdHash
+ SEQUENCE {gatekeeperId GatekeeperIdentifier, -- GatekeeperID of GK generating --
+ -- hash
+ timeStamp TimeStamp, -- timestamp used in hash--
+ token
+ HASHED{EncodedPwdCertToken-- generalID set to --
+ -- Gatekeeperid -- }},
+ cryptoEPPwdEncr
+ ENCRYPTED{EncodedPwdCertToken-- generalID set to --
+ -- Gatekeeperid -- },
+ cryptoGKPwdEncr
+ ENCRYPTED{EncodedPwdCertToken-- generalID set to --
+ -- Gatekeeperid -- },
+ cryptoEPCert
+ SIGNED{EncodedPwdCertToken-- generalID set to --
+ -- Gatekeeperid -- },
+ cryptoGKCert SIGNED{EncodedPwdCertToken-- generalID set to alias -- },
+ cryptoFastStart SIGNED{EncodedFastStartToken},
+ nestedcryptoToken CryptoToken,
+ ...
+}
+
+DataRate ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ channelRate BandWidth,
+ channelMultiplier INTEGER(1..256) OPTIONAL,
+ ...
+}
+
+CallLinkage ::= SEQUENCE {
+ globalCallId GloballyUniqueID OPTIONAL,
+ threadId GloballyUniqueID OPTIONAL,
+ ...
+}
+
+SupportedPrefix ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ prefix AliasAddress,
+ ...
+}
+
+CapacityReportingCapability ::= SEQUENCE {canReportCallCapacity BOOLEAN,
+ ...
+}
+
+CapacityReportingSpecification ::= SEQUENCE {
+ when SEQUENCE {callStart NULL OPTIONAL,
+ callEnd NULL OPTIONAL,
+ ...},
+ ...
+}
+
+CallCapacity ::= SEQUENCE {
+ maximumCallCapacity CallCapacityInfo OPTIONAL,
+ currentCallCapacity CallCapacityInfo OPTIONAL,
+ ...
+}
+
+CallCapacityInfo ::= SEQUENCE {
+ voiceGwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ h310GwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ h320GwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ h321GwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ h322GwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ h323GwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ h324GwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ t120OnlyGwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ t38FaxAnnexbOnlyGwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ terminalCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ mcuCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL,
+ ...,
+ sipGwCallsAvailable SEQUENCE OF CallsAvailable OPTIONAL
+}
+
+CallsAvailable ::= SEQUENCE {
+ calls INTEGER(0..4294967295),
+ group IA5String(SIZE (1..128)) OPTIONAL,
+ ...,
+ carrier CarrierInfo OPTIONAL
+}
+
+CircuitInfo ::= SEQUENCE {
+ sourceCircuitID CircuitIdentifier OPTIONAL,
+ destinationCircuitID CircuitIdentifier OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ ...
+}
+
+CircuitIdentifier ::= SEQUENCE {
+ cic CicInfo OPTIONAL,
+ group GroupID OPTIONAL,
+ ...,
+ carrier CarrierInfo OPTIONAL
+}
+
+CicInfo ::= SEQUENCE {
+ cic SEQUENCE OF OCTET STRING(SIZE (2..4)),
+ pointCode OCTET STRING(SIZE (2..5)),
+ ...
+}
+
+GroupID ::= SEQUENCE {
+ member SEQUENCE OF INTEGER(0..65535) OPTIONAL,
+ group IA5String(SIZE (1..128)),
+ ...
+}
+
+CarrierInfo ::= SEQUENCE {
+ carrierIdentificationCode OCTET STRING(SIZE (3..4)) OPTIONAL,
+ carrierName IA5String(SIZE (1..128)) OPTIONAL,
+ ...
+}
+
+ServiceControlDescriptor ::= CHOICE {
+ url IA5String(SIZE (0..512)), -- indicates a URL-
+
+ -- referenced
+ -- protocol/resource
+ signal H248SignalsDescriptor,
+ nonStandard NonStandardParameter,
+ callCreditServiceControl CallCreditServiceControl,
+ ...
+}
+
+ServiceControlSession ::= SEQUENCE {
+ sessionId INTEGER(0..255),
+ contents ServiceControlDescriptor OPTIONAL,
+ reason CHOICE {open NULL,
+ refresh NULL,
+ close NULL,
+ ...},
+ ...
+}
+
+RasUsageInfoTypes ::= SEQUENCE {
+ nonStandardUsageTypes SEQUENCE OF NonStandardParameter,
+ startTime NULL OPTIONAL,
+ endTime NULL OPTIONAL,
+ terminationCause NULL OPTIONAL,
+ ...
+}
+
+RasUsageSpecification ::= SEQUENCE {
+ when
+ SEQUENCE {start NULL OPTIONAL,
+ end NULL OPTIONAL,
+ inIrr NULL OPTIONAL,
+ ...},
+ callStartingPoint
+ SEQUENCE {alerting NULL OPTIONAL,
+ connect NULL OPTIONAL,
+ ...} OPTIONAL,
+ required RasUsageInfoTypes,
+ ...
+}
+
+RasUsageInformation ::= SEQUENCE {
+ nonStandardUsageFields SEQUENCE OF NonStandardParameter,
+ alertingTime TimeStamp OPTIONAL,
+ connectTime TimeStamp OPTIONAL,
+ endTime TimeStamp OPTIONAL,
+ ...
+}
+
+CallTerminationCause ::= CHOICE {
+ releaseCompleteReason ReleaseCompleteReason,
+ releaseCompleteCauseIE OCTET STRING(SIZE (2..32)),
+ ...
+}
+
+BandwidthDetails ::= SEQUENCE {
+ sender BOOLEAN, -- TRUE=sender, FALSE=receiver
+ multicast BOOLEAN, -- TRUE if stream is multicast
+ bandwidth BandWidth, -- Bandwidth used for stream
+ rtcpAddresses TransportChannelInfo, -- RTCP addresses for media stream
+ ...
+}
+
+CallCreditCapability ::= SEQUENCE {
+ canDisplayAmountString BOOLEAN OPTIONAL,
+ canEnforceDurationLimit BOOLEAN OPTIONAL,
+ ...
+}
+
+CallCreditServiceControl ::= SEQUENCE {
+ amountString BMPString(SIZE (1..512)) OPTIONAL, -- (Unicode)
+ billingMode CHOICE {credit NULL,
+ debit NULL,
+ ...} OPTIONAL,
+ callDurationLimit INTEGER(1..4294967295) OPTIONAL, -- in seconds
+ enforceCallDurationLimit BOOLEAN OPTIONAL,
+ callStartingPoint CHOICE {alerting NULL,
+ connect NULL,
+ ...} OPTIONAL,
+ ...
+}
+
+GenericData ::= SEQUENCE {
+ id GenericIdentifier,
+ parameters SEQUENCE (SIZE (1..512)) OF EnumeratedParameter OPTIONAL,
+ ...
+}
+
+GenericIdentifier ::= CHOICE {
+ standard INTEGER(0..16383, ...),
+ oid OBJECT IDENTIFIER,
+ nonStandard GloballyUniqueID,
+ ...
+}
+
+EnumeratedParameter ::= SEQUENCE {
+ id GenericIdentifier,
+ content Content OPTIONAL,
+ ...
+}
+
+Content ::= CHOICE {
+ raw OCTET STRING,
+ text IA5String,
+ unicode BMPString,
+ bool BOOLEAN,
+ number8 INTEGER(0..255),
+ number16 INTEGER(0..65535),
+ number32 INTEGER(0..4294967295),
+ id GenericIdentifier,
+ alias AliasAddress,
+ transport TransportAddress,
+ compound SEQUENCE (SIZE (1..512)) OF EnumeratedParameter,
+ nested SEQUENCE (SIZE (1..16)) OF GenericData,
+ ...
+}
+
+FeatureSet ::= SEQUENCE {
+ replacementFeatureSet BOOLEAN,
+ neededFeatures SEQUENCE OF FeatureDescriptor OPTIONAL,
+ desiredFeatures SEQUENCE OF FeatureDescriptor OPTIONAL,
+ supportedFeatures SEQUENCE OF FeatureDescriptor OPTIONAL,
+ ...
+}
+
+TransportChannelInfo ::= SEQUENCE {
+ sendAddress TransportAddress OPTIONAL,
+ recvAddress TransportAddress OPTIONAL,
+ ...
+}
+
+RTPSession ::= SEQUENCE {
+ rtpAddress TransportChannelInfo,
+ rtcpAddress TransportChannelInfo,
+ cname PrintableString,
+ ssrc INTEGER(1..4294967295),
+ sessionId INTEGER(1..255),
+ associatedSessionIds SEQUENCE OF INTEGER(1..255),
+ ...,
+ multicast NULL OPTIONAL,
+ bandwidth BandWidth OPTIONAL
+}
+
+RehomingModel ::= CHOICE {gatekeeperBased NULL,
+ endpointBased NULL
+}
+
+RasMessage ::= CHOICE {
+ gatekeeperRequest GatekeeperRequest,
+ gatekeeperConfirm GatekeeperConfirm,
+ gatekeeperReject GatekeeperReject,
+ registrationRequest RegistrationRequest,
+ registrationConfirm RegistrationConfirm,
+ registrationReject RegistrationReject,
+ unregistrationRequest UnregistrationRequest,
+ unregistrationConfirm UnregistrationConfirm,
+ unregistrationReject UnregistrationReject,
+ admissionRequest AdmissionRequest,
+ admissionConfirm AdmissionConfirm,
+ admissionReject AdmissionReject,
+ bandwidthRequest BandwidthRequest,
+ bandwidthConfirm BandwidthConfirm,
+ bandwidthReject BandwidthReject,
+ disengageRequest DisengageRequest,
+ disengageConfirm DisengageConfirm,
+ disengageReject DisengageReject,
+ locationRequest LocationRequest,
+ locationConfirm LocationConfirm,
+ locationReject LocationReject,
+ infoRequest InfoRequest,
+ infoRequestResponse InfoRequestResponse,
+ nonStandardMessage NonStandardMessage,
+ unknownMessageResponse UnknownMessageResponse,
+ ...,
+ requestInProgress RequestInProgress,
+ resourcesAvailableIndicate ResourcesAvailableIndicate,
+ resourcesAvailableConfirm ResourcesAvailableConfirm,
+ infoRequestAck InfoRequestAck,
+ infoRequestNak InfoRequestNak,
+ serviceControlIndication ServiceControlIndication,
+ serviceControlResponse ServiceControlResponse,
+ admissionConfirmSequence SEQUENCE OF AdmissionConfirm
+}
+
+GatekeeperRequest ::= SEQUENCE --(GRQ)
+ {
+ requestSeqNum RequestSeqNum,
+ protocolIdentifier ProtocolIdentifier,
+ nonStandardData NonStandardParameter OPTIONAL,
+ rasAddress TransportAddress,
+ endpointType EndpointType,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ callServices QseriesOptions OPTIONAL,
+ endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
+ ...,
+ alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ authenticationCapability SEQUENCE OF AuthenticationMechanism OPTIONAL,
+ algorithmOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+ integrity SEQUENCE OF IntegrityMechanism OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ supportsAltGK NULL OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ supportsAssignedGK BOOLEAN,
+ assignedGatekeeper AlternateGK OPTIONAL
+}
+
+GatekeeperConfirm ::= SEQUENCE --(GCF)
+ {
+ requestSeqNum RequestSeqNum,
+ protocolIdentifier ProtocolIdentifier,
+ nonStandardData NonStandardParameter OPTIONAL,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ rasAddress TransportAddress,
+ ...,
+ alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL,
+ authenticationMode AuthenticationMechanism OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ algorithmOID OBJECT IDENTIFIER OPTIONAL,
+ integrity SEQUENCE OF IntegrityMechanism OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ assignedGatekeeper AlternateGK OPTIONAL,
+ rehomingModel RehomingModel OPTIONAL
+}
+
+GatekeeperReject ::= SEQUENCE --(GRJ)
+ {
+ requestSeqNum RequestSeqNum,
+ protocolIdentifier ProtocolIdentifier,
+ nonStandardData NonStandardParameter OPTIONAL,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ rejectReason GatekeeperRejectReason,
+ ...,
+ altGKInfo AltGKInfo OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+GatekeeperRejectReason ::= CHOICE {
+ resourceUnavailable NULL,
+ terminalExcluded NULL, -- permission failure, not a resource
+
+ -- failure
+ invalidRevision NULL,
+ undefinedReason NULL,
+ ...,
+ securityDenial NULL,
+ genericDataReason NULL,
+ neededFeatureNotSupported NULL,
+ securityError SecurityErrors
+}
+
+RegistrationRequest ::= SEQUENCE --(RRQ)
+ {
+ requestSeqNum RequestSeqNum,
+ protocolIdentifier ProtocolIdentifier,
+ nonStandardData NonStandardParameter OPTIONAL,
+ discoveryComplete BOOLEAN,
+ callSignalAddress SEQUENCE OF TransportAddress,
+ rasAddress SEQUENCE OF TransportAddress,
+ terminalType EndpointType,
+ terminalAlias SEQUENCE OF AliasAddress OPTIONAL,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ endpointVendor VendorIdentifier,
+ ...,
+ alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
+ timeToLive TimeToLive OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ keepAlive BOOLEAN,
+ endpointIdentifier EndpointIdentifier OPTIONAL,
+ willSupplyUUIEs BOOLEAN,
+ maintainConnection BOOLEAN,
+ alternateTransportAddresses AlternateTransportAddresses OPTIONAL,
+ additiveRegistration NULL OPTIONAL,
+ terminalAliasPattern SEQUENCE OF AddressPattern OPTIONAL,
+ supportsAltGK NULL OPTIONAL,
+ usageReportingCapability RasUsageInfoTypes OPTIONAL,
+ multipleCalls BOOLEAN OPTIONAL,
+ supportedH248Packages SEQUENCE OF H248PackagesDescriptor OPTIONAL,
+ callCreditCapability CallCreditCapability OPTIONAL,
+ capacityReportingCapability CapacityReportingCapability OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ restart NULL OPTIONAL,
+ supportsACFSequences NULL OPTIONAL,
+ supportsAssignedGK BOOLEAN,
+ assignedGatekeeper AlternateGK OPTIONAL,
+ transportQOS TransportQOS OPTIONAL,
+ language SEQUENCE OF IA5String(SIZE (1..32)) OPTIONAL
+}
+
+RegistrationConfirm ::= SEQUENCE --(RCF)
+ {
+ requestSeqNum RequestSeqNum,
+ protocolIdentifier ProtocolIdentifier,
+ nonStandardData NonStandardParameter OPTIONAL,
+ callSignalAddress SEQUENCE OF TransportAddress,
+ terminalAlias SEQUENCE OF AliasAddress OPTIONAL,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ endpointIdentifier EndpointIdentifier,
+ ...,
+ alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL,
+ timeToLive TimeToLive OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ willRespondToIRR BOOLEAN,
+ preGrantedARQ
+ SEQUENCE {makeCall BOOLEAN,
+ useGKCallSignalAddressToMakeCall BOOLEAN,
+ answerCall BOOLEAN,
+ useGKCallSignalAddressToAnswer BOOLEAN,
+ ...,
+ irrFrequencyInCall INTEGER(1..65535) OPTIONAL, -- in seconds; --
+ -- not present
+ -- if GK does
+ -- not want IRRs
+ totalBandwidthRestriction BandWidth OPTIONAL, -- total limit --
+ -- for all
+ -- concurrent
+ -- calls
+ alternateTransportAddresses
+ AlternateTransportAddresses OPTIONAL,
+ useSpecifiedTransport UseSpecifiedTransport OPTIONAL
+ } OPTIONAL,
+ maintainConnection BOOLEAN,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ supportsAdditiveRegistration NULL OPTIONAL,
+ terminalAliasPattern SEQUENCE OF AddressPattern OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix OPTIONAL,
+ usageSpec SEQUENCE OF RasUsageSpecification OPTIONAL,
+ featureServerAlias AliasAddress OPTIONAL,
+ capacityReportingSpec CapacityReportingSpecification OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ assignedGatekeeper AlternateGK OPTIONAL,
+ rehomingModel RehomingModel OPTIONAL,
+ transportQOS TransportQOS OPTIONAL
+}
+
+RegistrationReject ::= SEQUENCE --(RRJ)
+ {
+ requestSeqNum RequestSeqNum,
+ protocolIdentifier ProtocolIdentifier,
+ nonStandardData NonStandardParameter OPTIONAL,
+ rejectReason RegistrationRejectReason,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ ...,
+ altGKInfo AltGKInfo OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ assignedGatekeeper AlternateGK OPTIONAL
+}
+
+RegistrationRejectReason ::= CHOICE {
+ discoveryRequired NULL,
+ invalidRevision NULL,
+ invalidCallSignalAddress NULL,
+ invalidRASAddress NULL, -- supplied address is invalid
+ duplicateAlias SEQUENCE OF AliasAddress,
+ -- alias registered to another
+ -- endpoint
+ invalidTerminalType NULL,
+ undefinedReason NULL,
+ transportNotSupported NULL, -- one or more of the transports
+ ...,
+ transportQOSNotSupported NULL, -- endpoint QoS not supported
+ resourceUnavailable NULL, -- gatekeeper resources exhausted
+ invalidAlias NULL, -- alias not consistent with
+
+ -- gatekeeper rules
+ securityDenial NULL,
+ fullRegistrationRequired NULL, -- registration permission has
+
+ -- expired
+ additiveRegistrationNotSupported NULL,
+ invalidTerminalAliases
+ SEQUENCE {terminalAlias SEQUENCE OF AliasAddress OPTIONAL,
+ terminalAliasPattern SEQUENCE OF AddressPattern OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix OPTIONAL,
+ ...},
+ genericDataReason NULL,
+ neededFeatureNotSupported NULL,
+ securityError SecurityErrors,
+ registerWithAssignedGK NULL
+}
+
+UnregistrationRequest ::= SEQUENCE --(URQ)
+ {
+ requestSeqNum RequestSeqNum,
+ callSignalAddress SEQUENCE OF TransportAddress,
+ endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
+ nonStandardData NonStandardParameter OPTIONAL,
+ endpointIdentifier EndpointIdentifier OPTIONAL,
+ ...,
+ alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ reason UnregRequestReason OPTIONAL,
+ endpointAliasPattern SEQUENCE OF AddressPattern OPTIONAL,
+ supportedPrefixes SEQUENCE OF SupportedPrefix OPTIONAL,
+ alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ assignedGatekeeper AlternateGK OPTIONAL
+}
+
+UnregRequestReason ::= CHOICE {
+ reregistrationRequired NULL,
+ ttlExpired NULL,
+ securityDenial NULL,
+ undefinedReason NULL,
+ ...,
+ maintenance NULL,
+ securityError SecurityErrors2,
+ registerWithAssignedGK NULL
+}
+
+UnregistrationConfirm ::= SEQUENCE --(UCF)
+ {
+ requestSeqNum RequestSeqNum,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ assignedGatekeeper AlternateGK OPTIONAL
+}
+
+UnregistrationReject ::= SEQUENCE --(URJ)
+ {
+ requestSeqNum RequestSeqNum,
+ rejectReason UnregRejectReason,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ altGKInfo AltGKInfo OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+UnregRejectReason ::= CHOICE {
+ notCurrentlyRegistered NULL,
+ callInProgress NULL,
+ undefinedReason NULL,
+ ...,
+ permissionDenied NULL, -- requesting user not allowed to
+
+ -- unregister specified user
+ securityDenial NULL,
+ securityError SecurityErrors2
+}
+
+AdmissionRequest ::= SEQUENCE --(ARQ)
+ {
+ requestSeqNum RequestSeqNum,
+ callType CallType,
+ callModel CallModel OPTIONAL,
+ endpointIdentifier EndpointIdentifier,
+ destinationInfo SEQUENCE OF AliasAddress OPTIONAL,
+ destCallSignalAddress TransportAddress OPTIONAL,
+ destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
+ srcInfo SEQUENCE OF AliasAddress,
+ srcCallSignalAddress TransportAddress OPTIONAL,
+ bandWidth BandWidth,
+ callReferenceValue CallReferenceValue,
+ nonStandardData NonStandardParameter OPTIONAL,
+ callServices QseriesOptions OPTIONAL,
+ conferenceID ConferenceIdentifier,
+ activeMC BOOLEAN,
+ answerCall BOOLEAN, -- answering a call
+ ...,
+ canMapAlias BOOLEAN, -- can handle alias address
+ callIdentifier CallIdentifier,
+ srcAlternatives SEQUENCE OF Endpoint OPTIONAL,
+ destAlternatives SEQUENCE OF Endpoint OPTIONAL,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ transportQOS TransportQOS OPTIONAL,
+ willSupplyUUIEs BOOLEAN,
+ callLinkage CallLinkage OPTIONAL,
+ gatewayDataRate DataRate OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL,
+ desiredProtocols SEQUENCE OF SupportedProtocols OPTIONAL,
+ desiredTunnelledProtocol TunnelledProtocol OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ canMapSrcAlias BOOLEAN
+}
+
+CallType ::= CHOICE {
+ pointToPoint NULL, -- Point-to-point
+ oneToN NULL, -- no interaction (FFS)
+ nToOne NULL, -- no interaction (FFS)
+ nToN NULL, -- interactive (multipoint)
+ ...
+}
+
+CallModel ::= CHOICE {direct NULL,
+ gatekeeperRouted NULL,
+ ...
+}
+
+TransportQOS ::= CHOICE {
+ endpointControlled NULL,
+ gatekeeperControlled NULL,
+ noControl NULL,
+ ...,
+ qOSCapabilities SEQUENCE SIZE (1..256) OF QOSCapability
+}
+
+AdmissionConfirm ::= SEQUENCE --(ACF)
+ {
+ requestSeqNum RequestSeqNum,
+ bandWidth BandWidth,
+ callModel CallModel,
+ destCallSignalAddress TransportAddress,
+ irrFrequency INTEGER(1..65535) OPTIONAL,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ destinationInfo SEQUENCE OF AliasAddress OPTIONAL,
+ destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
+ destinationType EndpointType OPTIONAL,
+ remoteExtensionAddress SEQUENCE OF AliasAddress OPTIONAL,
+ alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ transportQOS TransportQOS OPTIONAL,
+ willRespondToIRR BOOLEAN,
+ uuiesRequested UUIEsRequested,
+ language SEQUENCE OF IA5String(SIZE (1..32)) OPTIONAL,
+ alternateTransportAddresses AlternateTransportAddresses OPTIONAL,
+ useSpecifiedTransport UseSpecifiedTransport OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL,
+ usageSpec SEQUENCE OF RasUsageSpecification OPTIONAL,
+ supportedProtocols SEQUENCE OF SupportedProtocols OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ multipleCalls BOOLEAN OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ modifiedSrcInfo SEQUENCE OF AliasAddress OPTIONAL,
+ assignedGatekeeper AlternateGK OPTIONAL
+}
+
+UUIEsRequested ::= SEQUENCE {
+ setup BOOLEAN,
+ callProceeding BOOLEAN,
+ connect BOOLEAN,
+ alerting BOOLEAN,
+ information BOOLEAN,
+ releaseComplete BOOLEAN,
+ facility BOOLEAN,
+ progress BOOLEAN,
+ empty BOOLEAN,
+ ...,
+ status BOOLEAN,
+ statusInquiry BOOLEAN,
+ setupAcknowledge BOOLEAN,
+ notify BOOLEAN
+}
+
+AdmissionReject ::= SEQUENCE --(ARJ)
+ {
+ requestSeqNum RequestSeqNum,
+ rejectReason AdmissionRejectReason,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ altGKInfo AltGKInfo OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ callSignalAddress SEQUENCE OF TransportAddress OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ assignedGatekeeper AlternateGK OPTIONAL
+}
+
+AdmissionRejectReason ::= CHOICE {
+ calledPartyNotRegistered NULL, -- cannot translate address
+ invalidPermission NULL, -- permission has expired
+ requestDenied NULL,
+ undefinedReason NULL,
+ callerNotRegistered NULL,
+ routeCallToGatekeeper NULL,
+ invalidEndpointIdentifier NULL,
+ resourceUnavailable NULL,
+ ...,
+ securityDenial NULL,
+ qosControlNotSupported NULL,
+ incompleteAddress NULL,
+ aliasesInconsistent NULL, -- multiple aliases in request
+
+ -- identify distinct people
+ routeCallToSCN SEQUENCE OF PartyNumber,
+ exceedsCallCapacity NULL, -- destination does not have the
+
+ -- capacity for this call
+ collectDestination NULL,
+ collectPIN NULL,
+ genericDataReason NULL,
+ neededFeatureNotSupported NULL,
+ securityError SecurityErrors2,
+ securityDHmismatch NULL, -- mismatch of DH parameters
+ noRouteToDestination NULL, -- destination unreachable
+ unallocatedNumber NULL, -- destination number unassigned
+ registerWithAssignedGK NULL
+}
+
+BandwidthRequest ::= SEQUENCE --(BRQ)
+ {
+ requestSeqNum RequestSeqNum,
+ endpointIdentifier EndpointIdentifier,
+ conferenceID ConferenceIdentifier,
+ callReferenceValue CallReferenceValue,
+ callType CallType OPTIONAL,
+ bandWidth BandWidth,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ callIdentifier CallIdentifier,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ answeredCall BOOLEAN,
+ callLinkage CallLinkage OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ usageInformation RasUsageInformation OPTIONAL,
+ bandwidthDetails SEQUENCE OF BandwidthDetails OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ transportQOS TransportQOS OPTIONAL
+}
+
+BandwidthConfirm ::= SEQUENCE --(BCF)
+ {
+ requestSeqNum RequestSeqNum,
+ bandWidth BandWidth,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ transportQOS TransportQOS OPTIONAL
+}
+
+BandwidthReject ::= SEQUENCE --(BRJ)
+ {
+ requestSeqNum RequestSeqNum,
+ rejectReason BandRejectReason,
+ allowedBandWidth BandWidth,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ altGKInfo AltGKInfo OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+BandRejectReason ::= CHOICE {
+ notBound NULL, -- discovery permission has aged
+ invalidConferenceID NULL, -- possible revision
+ invalidPermission NULL, -- true permission violation
+ insufficientResources NULL,
+ invalidRevision NULL,
+ undefinedReason NULL,
+ ...,
+ securityDenial NULL,
+ securityError SecurityErrors2
+}
+
+LocationRequest ::= SEQUENCE --(LRQ)
+ {
+ requestSeqNum RequestSeqNum,
+ endpointIdentifier EndpointIdentifier OPTIONAL,
+ destinationInfo SEQUENCE OF AliasAddress,
+ nonStandardData NonStandardParameter OPTIONAL,
+ replyAddress TransportAddress,
+ ...,
+ sourceInfo SEQUENCE OF AliasAddress OPTIONAL,
+ canMapAlias BOOLEAN, -- can handle alias address
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ desiredProtocols SEQUENCE OF SupportedProtocols OPTIONAL,
+ desiredTunnelledProtocol TunnelledProtocol OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ hopCount INTEGER(1..255) OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL,
+ callIdentifier CallIdentifier OPTIONAL,
+ bandWidth BandWidth OPTIONAL,
+ sourceEndpointInfo SEQUENCE OF AliasAddress OPTIONAL,
+ canMapSrcAlias BOOLEAN,
+ language SEQUENCE OF IA5String(SIZE (1..32)) OPTIONAL
+}
+
+LocationConfirm ::= SEQUENCE --(LCF)
+ {
+ requestSeqNum RequestSeqNum,
+ callSignalAddress TransportAddress,
+ rasAddress TransportAddress,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ destinationInfo SEQUENCE OF AliasAddress OPTIONAL,
+ destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
+ destinationType EndpointType OPTIONAL,
+ remoteExtensionAddress SEQUENCE OF AliasAddress OPTIONAL,
+ alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ alternateTransportAddresses AlternateTransportAddresses OPTIONAL,
+ supportedProtocols SEQUENCE OF SupportedProtocols OPTIONAL,
+ multipleCalls BOOLEAN OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ modifiedSrcInfo SEQUENCE OF AliasAddress OPTIONAL,
+ bandWidth BandWidth OPTIONAL
+}
+
+LocationReject ::= SEQUENCE --(LRJ)
+ {
+ requestSeqNum RequestSeqNum,
+ rejectReason LocationRejectReason,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ altGKInfo AltGKInfo OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL
+}
+
+LocationRejectReason ::= CHOICE {
+ notRegistered NULL,
+ invalidPermission NULL, -- exclusion by administrator or feature
+ requestDenied NULL,
+ undefinedReason NULL,
+ ...,
+ securityDenial NULL,
+ aliasesInconsistent NULL, -- multiple aliases in request
+
+ -- identify distinct people
+ routeCalltoSCN SEQUENCE OF PartyNumber,
+ resourceUnavailable NULL,
+ genericDataReason NULL,
+ neededFeatureNotSupported NULL,
+ hopCountExceeded NULL,
+ incompleteAddress NULL,
+ securityError SecurityErrors2,
+ securityDHmismatch NULL, -- mismatch of DH parameters
+ noRouteToDestination NULL, -- destination unreachable
+ unallocatedNumber NULL -- destination number unassigned
+}
+
+DisengageRequest ::= SEQUENCE --(DRQ)
+ {
+ requestSeqNum RequestSeqNum,
+ endpointIdentifier EndpointIdentifier,
+ conferenceID ConferenceIdentifier,
+ callReferenceValue CallReferenceValue,
+ disengageReason DisengageReason,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ callIdentifier CallIdentifier,
+ gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ answeredCall BOOLEAN,
+ callLinkage CallLinkage OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL,
+ usageInformation RasUsageInformation OPTIONAL,
+ terminationCause CallTerminationCause OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+DisengageReason ::= CHOICE {
+ forcedDrop NULL, -- gatekeeper is forcing the drop
+ normalDrop NULL, -- associated with normal drop
+ undefinedReason NULL,
+ ...
+}
+
+DisengageConfirm ::= SEQUENCE --(DCF)
+ {
+ requestSeqNum RequestSeqNum,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ capacity CallCapacity OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL,
+ usageInformation RasUsageInformation OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ assignedGatekeeper AlternateGK OPTIONAL
+}
+
+DisengageReject ::= SEQUENCE --(DRJ)
+ {
+ requestSeqNum RequestSeqNum,
+ rejectReason DisengageRejectReason,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...,
+ altGKInfo AltGKInfo OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+DisengageRejectReason ::= CHOICE {
+ notRegistered NULL, -- not registered with gatekeeper
+ requestToDropOther NULL, -- cannot request drop for others
+ ...,
+ securityDenial NULL,
+ securityError SecurityErrors2
+}
+
+InfoRequest ::= SEQUENCE --(IRQ)
+ {
+ requestSeqNum RequestSeqNum,
+ callReferenceValue CallReferenceValue,
+ nonStandardData NonStandardParameter OPTIONAL,
+ replyAddress TransportAddress OPTIONAL,
+ ...,
+ callIdentifier CallIdentifier,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ uuiesRequested UUIEsRequested OPTIONAL,
+ callLinkage CallLinkage OPTIONAL,
+ usageInfoRequested RasUsageInfoTypes OPTIONAL,
+ segmentedResponseSupported NULL OPTIONAL,
+ nextSegmentRequested INTEGER(0..65535) OPTIONAL,
+ capacityInfoRequested NULL OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ assignedGatekeeper AlternateGK OPTIONAL
+}
+
+InfoRequestResponse ::= SEQUENCE --(IRR)
+ {
+ nonStandardData NonStandardParameter OPTIONAL,
+ requestSeqNum RequestSeqNum,
+ endpointType EndpointType,
+ endpointIdentifier EndpointIdentifier,
+ rasAddress TransportAddress,
+ callSignalAddress SEQUENCE OF TransportAddress,
+ endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
+ perCallInfo
+ SEQUENCE OF
+ SEQUENCE {nonStandardData NonStandardParameter OPTIONAL,
+ callReferenceValue CallReferenceValue,
+ conferenceID ConferenceIdentifier,
+ originator BOOLEAN OPTIONAL,
+ audio SEQUENCE OF RTPSession OPTIONAL,
+ video SEQUENCE OF RTPSession OPTIONAL,
+ data SEQUENCE OF TransportChannelInfo OPTIONAL,
+ h245 TransportChannelInfo,
+ callSignalling TransportChannelInfo,
+ callType CallType,
+ bandWidth BandWidth,
+ callModel CallModel,
+ ...,
+ callIdentifier CallIdentifier,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ substituteConfIDs SEQUENCE OF ConferenceIdentifier,
+ pdu
+ SEQUENCE OF
+ SEQUENCE {h323pdu H323-UU-PDU,
+ sent BOOLEAN -- TRUE is sent, FALSE is received
+ } OPTIONAL,
+ callLinkage CallLinkage OPTIONAL,
+ usageInformation RasUsageInformation OPTIONAL,
+ circuitInfo CircuitInfo OPTIONAL} OPTIONAL,
+ ...,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ needResponse BOOLEAN,
+ capacity CallCapacity OPTIONAL,
+ irrStatus InfoRequestResponseStatus OPTIONAL,
+ unsolicited BOOLEAN,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+InfoRequestResponseStatus ::= CHOICE {
+ complete NULL,
+ incomplete NULL,
+ segment INTEGER(0..65535),
+ invalidCall NULL,
+ ...
+}
+
+InfoRequestAck ::= SEQUENCE --(IACK)
+ {
+ requestSeqNum RequestSeqNum,
+ nonStandardData NonStandardParameter OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ ...
+}
+
+InfoRequestNak ::= SEQUENCE --(INAK)
+ {
+ requestSeqNum RequestSeqNum,
+ nonStandardData NonStandardParameter OPTIONAL,
+ nakReason InfoRequestNakReason,
+ altGKInfo AltGKInfo OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ ...
+}
+
+InfoRequestNakReason ::= CHOICE {
+ notRegistered NULL, -- not registered with gatekeeper
+ securityDenial NULL,
+ undefinedReason NULL,
+ ...,
+ securityError SecurityErrors2
+}
+
+NonStandardMessage ::= SEQUENCE {
+ requestSeqNum RequestSeqNum,
+ nonStandardData NonStandardParameter,
+ ...,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+UnknownMessageResponse ::= SEQUENCE -- (XRS)
+ {
+ requestSeqNum RequestSeqNum,
+ ...,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ messageNotUnderstood OCTET STRING
+}
+
+RequestInProgress ::= SEQUENCE -- (RIP)
+ {
+ requestSeqNum RequestSeqNum,
+ nonStandardData NonStandardParameter OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ delay INTEGER(1..65535),
+ ...
+}
+
+ResourcesAvailableIndicate ::= SEQUENCE --(RAI)
+ {
+ requestSeqNum RequestSeqNum,
+ protocolIdentifier ProtocolIdentifier,
+ nonStandardData NonStandardParameter OPTIONAL,
+ endpointIdentifier EndpointIdentifier,
+ protocols SEQUENCE OF SupportedProtocols,
+ almostOutOfResources BOOLEAN,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ ...,
+ capacity CallCapacity OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+ResourcesAvailableConfirm ::= SEQUENCE --(RAC)
+ {
+ requestSeqNum RequestSeqNum,
+ protocolIdentifier ProtocolIdentifier,
+ nonStandardData NonStandardParameter OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ ...,
+ genericData SEQUENCE OF GenericData OPTIONAL
+}
+
+ServiceControlIndication ::= SEQUENCE --(SCI)
+ {
+ requestSeqNum RequestSeqNum,
+ nonStandardData NonStandardParameter OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession,
+ endpointIdentifier EndpointIdentifier OPTIONAL,
+ callSpecific
+ SEQUENCE {callIdentifier CallIdentifier,
+ conferenceID ConferenceIdentifier,
+ answeredCall BOOLEAN,
+ ...} OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ ...
+}
+
+ServiceControlResponse ::= SEQUENCE --(SCR)
+ {
+ requestSeqNum RequestSeqNum,
+ result
+ CHOICE {started NULL,
+ failed NULL,
+ stopped NULL,
+ notAvailable NULL,
+ neededFeatureNotSupported NULL,
+ ...} OPTIONAL,
+ nonStandardData NonStandardParameter OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ integrityCheckValue ICV OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ ...
+}
+
+END -- of ASN.1
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h225/h225.cnf b/epan/dissectors/asn1/h225/h225.cnf
new file mode 100644
index 00000000..28a22f83
--- /dev/null
+++ b/epan/dissectors/asn1/h225/h225.cnf
@@ -0,0 +1,961 @@
+# h225.cnf
+# H.225 conformation file
+# Copyright 2004 Anders Broman
+
+#.IMPORT ../h235/h235-exp.cnf
+
+
+
+
+
+
+#.IMPORT ../h245/h245-exp.cnf
+
+#----------------------------------------------------------------------------------------
+#.EXPORTS ONLY_VALS WS_DLL NO_PROT_PREFIX
+H323-UU-PDU/h323-message-body
+FacilityReason
+GatekeeperRejectReason
+UnregRequestReason
+UnregRejectReason
+BandRejectReason
+DisengageReason
+DisengageRejectReason
+InfoRequestNakReason
+AdmissionRejectReason
+LocationRejectReason
+RegistrationRejectReason
+
+#.MODULE_EXPORTS
+RasMessage EXTERN WS_DLL
+NonStandardParameter
+PublicTypeOfNumber
+PrivateTypeOfNumber
+AliasAddress NO_PROT_PREFIX
+PartyNumber
+PresentationIndicator
+ScreeningIndicator
+CallIdentifier
+ConferenceIdentifier
+CircuitIdentifier
+GenericIdentifier
+GenericData
+BandWidth
+TimeToLive
+TransportAddress
+AlternateTransportAddresses
+TransportChannelInfo
+CallReferenceValue
+GloballyUniqueID
+TunnelledProtocol
+IntegrityMechanism
+ICV
+CryptoH323Token
+TransportQOS
+FeatureSet
+CircuitInfo
+EndpointType
+SupportedProtocols
+GatekeeperIdentifier
+ServiceControlSession
+ReleaseCompleteReason EXTERN WS_DLL
+ExtendedAliasAddress_PDU
+#.END
+
+#.PDU
+H323-UserInformation
+RasMessage
+ExtendedAliasAddress
+#.END
+
+#----------------------------------------------------------------------------------------
+
+#.OMIT_ASSIGNMENT
+EncodedFastStartToken
+FastStartToken
+#.END
+
+#.VIRTUAL_ASSGN
+FastStart Setup-UUIE/fastStart
+#.SET_TYPE
+Setup-UUIE/fastStart FastStart
+CallProceeding-UUIE/fastStart FastStart
+Connect-UUIE/fastStart FastStart
+Alerting-UUIE/fastStart FastStart
+Information-UUIE/fastStart FastStart
+Facility-UUIE/fastStart FastStart
+Progress-UUIE/fastStart FastStart
+
+#.VIRTUAL_ASSGN
+H245Control H323-UU-PDU/h245Control
+ParallelH245Control Setup-UUIE/parallelH245Control
+DialedDigits AliasAddress/dialledDigits
+
+#.VIRTUAL_ASSGN
+DestinationInfo AdmissionRequest/destinationInfo
+#.SET_TYPE
+AdmissionRequest/destinationInfo DestinationInfo
+AdmissionConfirm/destinationInfo DestinationInfo
+LocationRequest/destinationInfo DestinationInfo
+LocationConfirm/destinationInfo DestinationInfo
+
+#.VIRTUAL_ASSGN
+H245TransportAddress TransportAddress
+#.SET_TYPE
+Setup-UUIE/h245Address H245TransportAddress
+CallProceeding-UUIE/h245Address H245TransportAddress
+Connect-UUIE/h245Address H245TransportAddress
+Alerting-UUIE/h245Address H245TransportAddress
+Facility-UUIE/h245Address H245TransportAddress
+Progress-UUIE/h245Address H245TransportAddress
+#.FIELD_RENAME
+H245TransportAddress/ipAddress h245IpAddress
+H245TransportAddress/ipAddress/ip h245Ip
+H245TransportAddress/ipAddress/port h245IpPort
+H245TransportAddress/ipSourceRoute h245IpSourceRoute
+H245TransportAddress/ipSourceRoute/route h245Route
+H245TransportAddress/ipSourceRoute/routing h245Routing
+H245TransportAddress/ipxAddress h245IpxAddress
+H245TransportAddress/ipxAddress/port h245IpxPort
+H245TransportAddress/ip6Address h245Ip6Address
+H245TransportAddress/ip6Address/ip h245Ip6
+H245TransportAddress/ip6Address/port h245Ip6port
+DisplayName/language displayName_language
+Endpoint/remoteExtensionAddress/_item ep_remoteExtensionAddress_item
+AdmissionConfirm/remoteExtensionAddress/_item ac_remoteExtensionAddress_item
+
+#.FIELD_ATTR
+H245TransportAddress/ipAddress/ip ABBREV=h245Ip
+H245TransportAddress/ipAddress/port ABBREV=h245IpPort
+H245TransportAddress/ip6Address/ip ABBREV=h245Ip6
+H245TransportAddress/ip6Address/port ABBREV=h245Ip6port
+H245TransportAddress/ipxAddress/port ABBREV=h245IpxPort
+TransportAddress/ipSourceRoute/ip ABBREV=src_route_ipV4
+TransportAddress/ipSourceRoute/port ABBREV=ipV4_src_port
+TransportAddress/ipAddress/ip ABBREV=ipV4
+TransportAddress/ipAddress/port ABBREV=ipV4_port
+TransportAddress/ip6Address/ip ABBREV=ipV6
+TransportAddress/ip6Address/port ABBREV=ipV6_port
+TransportAddress/ipxAddress/port ABBREV=ipx_port
+DisplayName/language ABBREV=displayName_language
+ExtendedAliasAddress/address ABBREV=extAliasAddress
+Endpoint/remoteExtensionAddress/_item ABBREV=remoteExtensionAddress.item
+AdmissionConfirm/remoteExtensionAddress/_item ABBREV=ac_remoteExtensionAddress_item
+
+#.VIRTUAL_ASSGN
+Language Setup-UUIE/language
+#.SET_TYPE
+Connect-UUIE/language Language
+Setup-UUIE/language Language
+RegistrationRequest/language Language
+AdmissionConfirm/language Language
+LocationRequest/language Language
+
+#----------------------------------------------------------------------------------------
+#.TYPE_RENAME
+CallCreditServiceControl/callStartingPoint CallCreditServiceControl_callStartingPoint
+TunnelledProtocol/id TunnelledProtocol_id
+ServiceControlSession/reason ServiceControlSession_reason
+RasUsageSpecification/callStartingPoint RasUsageSpecificationcallStartingPoint
+CapacityReportingSpecification/when CapacityReportingSpecification_when
+RasUsageSpecification/when RasUsageSpecification_when
+TransportAddress/ipAddress/ip IpV4
+#----------------------------------------------------------------------------------------
+#.FIELD_RENAME
+RasUsageSpecification/callStartingPoint/alerting alerting_flg
+CallCreditServiceControl/callStartingPoint/alerting alerting_flg
+UseSpecifiedTransport/annexE annexE_flg
+
+UUIEsRequested/callProceeding callProceeding_flg
+
+CicInfo/cic cic_2_4
+UUIEsRequested/connect connect_bool
+NonStandardIdentifier/object nsiOID
+NonStandardParameter/data nsp_data
+H323-UU-PDU/h323-message-body/empty empty_flg
+RasUsageInfoTypes/endTime endTime_flg
+UUIEsRequested/facility facility_bool
+CallsAvailable/group group_IA5String
+GroupID/group group_IA5String
+
+Setup-UUIE/hopCount hopCount_1_31
+UUIEsRequested/information information_bool
+TransportAddress/ip6Address/ip ipV6
+TransportAddress/ipAddress/ip ipV4
+TransportAddress/ipSourceRoute/ip src_route_ipV4
+RTPSession/multicast multicast_flg
+
+UUIEsRequested/notify notify_bool
+TransportAddress/ipxAddress/port ipx_port
+TransportAddress/ipAddress/port ipV4_port
+TransportAddress/ipSourceRoute/port ipV4_src_port
+TransportAddress/ip6Address/port ipV6_port
+UUIEsRequested/progress progress_bool
+
+Facility-UUIE/reason facilityReason
+UnregistrationRequest/reason unregRequestReason
+ReleaseComplete-UUIE/reason releaseCompleteReason
+BandwidthReject/rejectReason bandRejectReason
+UnregistrationReject/rejectReason unregRejectReason
+RegistrationReject/rejectReason registrationRejectReason
+LocationReject/rejectReason locationRejectReason
+DisengageReject/rejectReason disengageRejectReason
+GatekeeperReject/rejectReason gatekeeperRejectReason
+
+UUIEsRequested/releaseComplete releaseComplete_bool
+UseSpecifiedTransport/sctp sctp_flg
+ServiceControlSession/sessionId sessionId_0_255
+UUIEsRequested/setup setup_bool
+UUIEsRequested/setupAcknowledge setupAcknowledge_bool
+Setup-UUIE/sourceInfo setup-UUIE_sourceInfo
+
+UUIEsRequested/status status_bool
+UUIEsRequested/statusInquiry statusInquiry_bool
+RasUsageInfoTypes/terminationCause terminationCause_flg
+CapacityReportingSpecification/when capacityReportingSpecification_when
+UUIEsRequested/alerting alerting_bool
+
+LocationConfirm/callSignalAddress locationConfirm_callSignalAddress
+
+RasUsageSpecification/callStartingPoint/connect connect_flg
+CallCreditServiceControl/callStartingPoint/connect connect_flg
+
+Alerting-UUIE/destinationInfo uUIE_destinationInfo
+CallProceeding-UUIE/destinationInfo uUIE_destinationInfo
+Connect-UUIE/destinationInfo uUIE_destinationInfo
+Facility-UUIE/destinationInfo uUIE_destinationInfo
+Progress-UUIE/destinationInfo uUIE_destinationInfo
+
+TunnelledProtocol/id tunnelledProtocol_id
+SecurityCapabilities/integrity securityCapabilities_integrity
+
+GenericIdentifier/nonStandard genericIdentifier_nonStandard
+AlternateGK/rasAddress alternateGK_rasAddress
+GatekeeperRequest/rasAddress gatekeeperRequest_rasAddress
+GatekeeperConfirm/rasAddress gatekeeperConfirm_rasAddress
+LocationConfirm/rasAddress locationConfirm_rasAddress
+InfoRequestResponse/rasAddress infoRequestResponse_rasAddress
+
+
+Setup-UUIE/remoteExtensionAddress uUIE_remoteExtensionAddress
+Facility-UUIE/remoteExtensionAddress uUIE_remoteExtensionAddress
+
+VendorIdentifier/vendor vendorIdentifier_vendor
+
+RasUsageSpecification/callStartingPoint ras_callStartingPoint
+
+ReleaseCompleteReason/securityError rLC_securityError
+GatekeeperRejectReason/securityError gkRej_securityError
+RegistrationRejectReason/securityError reg_securityError
+
+CallIdentifier/guid guid
+
+ExtendedAliasAddress/address extAliasAddress
+
+IsupNumber/e164Number isupE164Number
+IsupNumber/dataPartyNumber isupDataPartyNumber
+IsupNumber/telexPartyNumber isupTelexPartyNumber
+IsupNumber/privateNumber isupPrivateNumber
+IsupNumber/nationalStandardPartyNumber isupNationalStandardPartyNumber
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY H323-UU-PDU/h323-message-body VAL_PTR = &message_body_val
+ gint32 message_body_val;
+ h225_packet_info* h225_pi;
+
+ contains_faststart = FALSE;
+ call_id_guid = NULL;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "CS: %%s ",
+ val_to_str(message_body_val, T_h323_message_body_vals, "<unknown>"));
+
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ if (h225_pi->msg_type == H225_CS) {
+ /* Don't override msg_tag value from IRR */
+ h225_pi->msg_tag = message_body_val;
+ }
+
+ if (call_id_guid) {
+ h225_pi->guid = *call_id_guid;
+ }
+ }
+
+ if (contains_faststart == TRUE )
+ {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "OpenLogicalChannel " );
+ }
+
+ col_set_fence(actx->pinfo->cinfo,COL_INFO);
+
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY FastStart/_item VAL_PTR = &value_tvb
+ tvbuff_t *value_tvb = NULL;
+ char codec_str[50];
+ h225_packet_info* h225_pi;
+ codec_str[0] = '\0';
+
+%(DEFAULT_BODY)s
+ if (value_tvb && tvb_reported_length(value_tvb)) {
+ dissect_h245_FastStart_OLC(value_tvb, actx->pinfo, tree, codec_str);
+ }
+
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ char temp[50];
+ snprintf(temp, 50, "%%s %%s", h225_pi->frame_label, codec_str);
+ (void) g_strlcpy(h225_pi->frame_label, temp, 50);
+ h225_pi->is_faststart = TRUE;
+ }
+ contains_faststart = TRUE;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY RasMessage VAL_PTR = &rasmessage_value
+ gint32 rasmessage_value;
+ h225_packet_info* h225_pi;
+
+ call_id_guid = NULL;
+%(DEFAULT_BODY)s
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "RAS: %%s ",
+ val_to_str(rasmessage_value, h225_RasMessage_vals, "<unknown>"));
+
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->msg_tag = rasmessage_value;
+ if (call_id_guid) {
+ h225_pi->guid = *call_id_guid;
+ }
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR DestinationInfo/_item
+ h225_packet_info* h225_pi;
+
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->is_destinationInfo = TRUE;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY DialedDigits VAL_PTR = &value_tvb
+ tvbuff_t *value_tvb = NULL;
+ guint len = 0;
+ h225_packet_info* h225_pi;
+
+%(DEFAULT_BODY)s
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi && h225_pi->is_destinationInfo == TRUE) {
+ if (value_tvb) {
+ len = tvb_reported_length(value_tvb);
+ /* XXX - should this be allocated as an ephemeral string? */
+ if (len > sizeof h225_pi->dialedDigits - 1)
+ len = sizeof h225_pi->dialedDigits - 1;
+ tvb_memcpy(value_tvb, (guint8*)h225_pi->dialedDigits, 0, len);
+ }
+ h225_pi->dialedDigits[len] = '\0';
+ h225_pi->is_destinationInfo = FALSE;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY H245TransportAddress/ipAddress/ip VAL_PTR = &value_tvb
+ tvbuff_t *value_tvb;
+
+ ipv4_address = 0;
+%(DEFAULT_BODY)s
+ if (value_tvb)
+ ipv4_address = tvb_get_ipv4(value_tvb, 0);
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY H245TransportAddress/ip6Address/ip VAL_PTR = &value_tvb
+ tvbuff_t *value_tvb;
+
+ ipv6_address = ipv6_address_zeros;
+%(DEFAULT_BODY)s
+ if (value_tvb)
+ tvb_get_ipv6(value_tvb, 0, &ipv6_address);
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS H245TransportAddress/ipAddress/port VAL_PTR = &ip_port
+#----------------------------------------------------------------------------------------
+#.FN_PARS H245TransportAddress/ip6Address/port VAL_PTR = &ip_port
+#----------------------------------------------------------------------------------------
+#.FN_BODY ParallelH245Control/_item VAL_PTR = &h245_tvb
+ tvbuff_t *h245_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ next_tvb_add_handle(h245_list, h245_tvb, (h225_h245_in_tree)?tree:NULL, h245dg_handle);
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY H245Control/_item VAL_PTR = &h245_tvb
+ tvbuff_t *h245_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ next_tvb_add_handle(h245_list, h245_tvb, (h225_h245_in_tree)?tree:NULL, h245dg_handle);
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H323-UU-PDU/h323-message-body/empty
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR H323-UU-PDU/h323-message-body/empty
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_EMPTY;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR Status-UUIE
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR Status-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_STATUS;
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR Information-UUIE
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR Information-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_INFORMATION;
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR Progress-UUIE
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR Progress-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_PROGRESS;
+ if (contains_faststart) {
+ char temp[50];
+ snprintf(temp, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
+ (void) g_strlcpy(h225_pi->frame_label, temp, 50);
+ } else
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR SetupAcknowledge-UUIE
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR SetupAcknowledge-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_SETUP_ACK;
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR Facility-UUIE
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR Facility-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_FACILITY;
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H323-UU-PDU/h245Tunnelling
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS H323-UU-PDU/h245Tunnelling VAL_PTR = &(h225_pi->is_h245Tunneling)
+#----------------------------------------------------------------------------------------
+#.FN_FTR H323-UU-PDU/h245Tunnelling
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR Setup-UUIE
+ h225_packet_info* h225_pi;
+ contains_faststart = FALSE;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR Setup-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_SETUP;
+ if (contains_faststart) {
+ char temp[50];
+ snprintf(temp, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
+ (void) g_strlcpy(h225_pi->frame_label, temp, 50);
+ } else
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR CallProceeding-UUIE
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR CallProceeding-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_CALL_PROCEDING;
+ if (contains_faststart) {
+ char temp[50];
+ snprintf(temp, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
+ (void) g_strlcpy(h225_pi->frame_label, temp, 50);
+ } else
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR Alerting-UUIE
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR Alerting-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_ALERTING;
+ if (contains_faststart) {
+ char temp[50];
+ snprintf(temp, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
+ (void) g_strlcpy(h225_pi->frame_label, temp, 50);
+ } else
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR ReleaseComplete-UUIE
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR ReleaseComplete-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_RELEASE_COMPLET;
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR Connect-UUIE
+ h225_packet_info* h225_pi;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR Connect-UUIE
+ /* Add to packet info */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+ h225_pi->cs_type = H225_CONNECT;
+ if (contains_faststart) {
+ char temp[50];
+ snprintf(temp, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
+ (void) g_strlcpy(h225_pi->frame_label, temp, 50);
+ } else
+ snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H245TransportAddress
+ h225_packet_info* h225_pi;
+ ipv4_address=0;
+ ipv6_address = ipv6_address_zeros;
+ ip_port=0;
+
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR H245TransportAddress
+ /* we need this info for TAPing */
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+ if (h225_pi) {
+ h225_pi->is_h245 = TRUE;
+ h225_pi->h245_address = ipv4_address;
+ h225_pi->h245_port = ip_port;
+ }
+ if ( !actx->pinfo->fd->visited && h245_handle && ip_port!=0 ) {
+ address src_addr;
+ conversation_t *conv=NULL;
+
+ if (ipv4_address!=0) {
+ set_address(&src_addr, AT_IPv4, 4, &ipv4_address);
+ } else if (memcmp(ipv6_address.bytes, ipv6_address_zeros.bytes, sizeof(ipv6_address.bytes))!=0) {
+ set_address(&src_addr, AT_IPv6, 16, ipv6_address.bytes);
+ } else {
+ return offset;
+ }
+
+ conv=find_conversation(actx->pinfo->num, &src_addr, &src_addr, CONVERSATION_TCP, ip_port, ip_port, NO_ADDR_B|NO_PORT_B);
+ if(!conv){
+ conv=conversation_new(actx->pinfo->num, &src_addr, &src_addr, CONVERSATION_TCP, ip_port, ip_port, NO_ADDR2|NO_PORT2);
+ conversation_set_dissector(conv, h245_handle);
+ }
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY FacilityReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY GatekeeperRejectReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY UnregRequestReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY UnregRejectReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY BandRejectReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY DisengageReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#----------------------------------------------------------------------------------------
+#.FN_BODY DisengageRejectReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY AdmissionRejectReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY LocationRejectReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY RegistrationRejectReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY InfoRequestNakReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY ReleaseCompleteReason VAL_PTR = &value
+ gint32 value;
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+
+%(DEFAULT_BODY)s
+ if (h225_pi != NULL) {
+ h225_pi->reason = value;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY CallIdentifier/guid
+ tvbuff_t *guid_tvb = NULL;
+
+ actx->value_ptr = &guid_tvb;
+%(DEFAULT_BODY)s
+ if (guid_tvb)
+ tvb_get_ntohguid(guid_tvb, 0, call_id_guid = wmem_new(actx->pinfo->pool, e_guid_t));
+ actx->value_ptr = NULL;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS GloballyUniqueID VAL_PTR = (tvbuff_t **)actx->value_ptr
+#----------------------------------------------------------------------------------------
+#.FN_HDR RequestSeqNum
+ h225_packet_info* h225_pi;
+ h225_pi = (h225_packet_info*)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_h225, 0);
+ if (h225_pi != NULL) {
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS RequestSeqNum VAL_PTR = &(h225_pi->requestSeqNum)
+#----------------------------------------------------------------------------------------
+#.FN_FTR RequestSeqNum
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY H323-UU-PDU/h4501SupplementaryService/_item VAL_PTR = &h4501_tvb
+ tvbuff_t *h4501_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (h4501_tvb && tvb_reported_length(h4501_tvb)) {
+ call_dissector(h4501_handle, h4501_tvb, actx->pinfo, tree);
+ }
+#.END
+#----------------------------------------------------------------------------------------
+
+#--- TunnelledProtocol ------------------------------------------------------------------
+
+#.FN_HDR TunnelledProtocol
+ tpOID = "";
+#.FN_FTR TunnelledProtocol
+ tp_handle = dissector_get_string_handle(tp_dissector_table, tpOID);
+#.FN_PARS TunnelledProtocol/id/tunnelledProtocolObjectID
+ FN_VARIANT = _str VAL_PTR = &tpOID
+#.END
+
+#.FN_HDR H323-UU-PDU/tunnelledSignallingMessage
+ tp_handle = NULL;
+#.FN_BODY H323-UU-PDU/tunnelledSignallingMessage/messageContent/_item VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ next_tvb_add_handle(tp_list, next_tvb, (h225_tp_in_tree)?tree:NULL, tp_handle);
+#.END
+
+#--- NonStandardParameter ---------------------------------------------------------------
+
+#.FN_PARS
+NonStandardIdentifier/object FN_VARIANT = _str VAL_PTR = &nsiOID
+#.END
+
+#.FN_BODY NonStandardIdentifier VAL_PTR = &value
+ gint32 value;
+
+ nsiOID = "";
+ h221NonStandard = 0;
+
+%(DEFAULT_BODY)s
+ switch (value) {
+ case 0 : /* object */
+ nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
+ break;
+ case 1 : /* h221NonStandard */
+ nsp_handle = dissector_get_uint_handle(nsp_h221_dissector_table, h221NonStandard);
+ break;
+ default :
+ nsp_handle = NULL;
+ }
+#.END
+
+#.FN_HDR H221NonStandard
+ t35CountryCode = 0;
+ t35Extension = 0;
+ manufacturerCode = 0;
+#.FN_FTR H221NonStandard
+ h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
+ proto_tree_add_uint(tree, hf_h221Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
+#.FN_PARS
+H221NonStandard/t35CountryCode VAL_PTR = &t35CountryCode
+H221NonStandard/t35Extension VAL_PTR = &t35Extension
+H221NonStandard/manufacturerCode VAL_PTR = &manufacturerCode
+#.END
+
+#.FN_HDR NonStandardParameter
+ nsp_handle = NULL;
+#.FN_BODY NonStandardParameter/data VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (next_tvb && tvb_reported_length(next_tvb)) {
+ call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree);
+ }
+#.END
+
+#=== Generic Extensible Framework =======================================================
+
+#.FN_HDR GenericData
+ void *priv_data = actx->private_data;
+ gef_ctx_t *gefx;
+
+ /* check if not inherited from FeatureDescriptor */
+ gefx = gef_ctx_get(actx->private_data);
+ if (!gefx) {
+ gefx = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericData");
+ actx->private_data = gefx;
+ }
+#.FN_FTR
+ actx->private_data = priv_data;
+#.END
+
+#.FN_HDR EnumeratedParameter
+ gef_ctx_t *parent_gefx;
+
+ parent_gefx = gef_ctx_get(actx->private_data);
+ actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, NULL);
+#.FN_FTR
+ actx->private_data = parent_gefx;
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_HDR FeatureDescriptor
+ void *priv_data = actx->private_data;
+ actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "FeatureDescriptor");
+#.FN_FTR
+ actx->private_data = priv_data;
+#.END
+#----------------------------------------------------------------------------------------
+
+#.FN_HDR GenericIdentifier
+ gef_ctx_t *gefx;
+ proto_item* ti;
+#.FN_FTR
+ gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data));
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ ti = proto_tree_add_string(tree, hf_h225_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ dissector_try_string_new(gef_name_dissector_table, gefx->key, tvb_new_subset_length_caplen(tvb, offset>>3, 0, 0), actx->pinfo, tree, FALSE, actx);
+ }
+ actx->private_data = gefx; /* subdissector could overwrite it */
+#.END
+
+#.FN_BODY GenericIdentifier/standard VAL_PTR = &value_int
+ guint32 value_int = (guint32)-1;
+ gef_ctx_t *gefx;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) gefx->id = wmem_strdup_printf(actx->pinfo->pool, "%%u", value_int);
+#.END
+
+#.FN_BODY GenericIdentifier/oid FN_VARIANT = _str VAL_PTR = &oid_str
+ const gchar *oid_str = NULL;
+ gef_ctx_t *gefx;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) gefx->id = oid_str;
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY Content/raw VAL_PTR = &value_tvb
+ tvbuff_t *value_tvb;
+ gef_ctx_t *gefx;
+ proto_item* ti;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ ti = proto_tree_add_string(tree, hf_h225_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, %(TREE)s, actx);
+ }
+#.END
+
+#=== end of GEF =========================================================================
+
+# TBCD-STRING is additionally constrained
+# parameter stack is used for passing this constraint
+
+#.FN_HDR TBCD-STRING
+ int min_len, max_len;
+ gboolean has_extension;
+
+ get_size_constraint_from_stack(actx, "TBCD_STRING", &min_len, &max_len, &has_extension);
+#.FN_PARS TBCD-STRING
+MIN_VAL = min_len
+MAX_VAL = max_len
+EXT = has_extension
+#.END
+
+
+#.TYPE_ATTR
+H221NonStandard/t35CountryCode TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(T35CountryCode_vals)
+TransportAddress/ipAddress/ip TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
+TransportAddress/ip6Address/ip TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
+H245TransportAddress/ipAddress/ip TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
+H245TransportAddress/ip6Address/ip TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
+VendorIdentifier/productId TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+VendorIdentifier/versionId TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+H323-UserInformation/user-data/protocol-discriminator TYPE = FT_UINT32 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &q931_protocol_discriminator_vals_ext
+H323-UU-PDU/tunnelledSignallingMessage/messageContent/_item TYPE = FT_UINT32 DISPLAY = BASE_DEC
+NonStandardParameter/data TYPE = FT_UINT32 DISPLAY = BASE_DEC
+FastStart/_item TYPE = FT_UINT32 DISPLAY = BASE_DEC
+ParallelH245Control/_item TYPE = FT_UINT32 DISPLAY = BASE_DEC
+H245Control/_item TYPE = FT_UINT32 DISPLAY = BASE_DEC
+GloballyUniqueID TYPE = FT_GUID DISPLAY = BASE_NONE
+H323-UU-PDU/h4501SupplementaryService/_item TYPE = FT_UINT32 DISPLAY = BASE_DEC
+#.END
diff --git a/epan/dissectors/asn1/h225/packet-h225-template.c b/epan/dissectors/asn1/h225/packet-h225-template.c
new file mode 100644
index 00000000..ab85ddbf
--- /dev/null
+++ b/epan/dissectors/asn1/h225/packet-h225-template.c
@@ -0,0 +1,1146 @@
+/* packet-h225.c
+ * Routines for h225 packet dissection
+ * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * To quote the author of the previous H323/H225/H245 dissector:
+ * "This is a complete replacement of the previous limitied dissector
+ * that Ronnie was crazy enough to write by hand. It was a lot of time
+ * to hack it by hand, but it is incomplete and buggy and it is good when
+ * it will go away."
+ * Ronnie did a great job and all the VoIP users had made good use of it!
+ * Credit to Tomas Kukosa for developing the asn2wrs compiler.
+ *
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/proto_data.h>
+
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/next_tvb.h>
+#include <epan/asn1.h>
+#include <epan/t35.h>
+#include <epan/tap.h>
+#include <epan/stat_tap_ui.h>
+#include <epan/rtd_table.h>
+#include "packet-frame.h"
+#include "packet-tpkt.h"
+#include "packet-per.h"
+#include "packet-h225.h"
+#include "packet-h235.h"
+#include "packet-h245.h"
+#include "packet-h323.h"
+#include "packet-q931.h"
+#include "packet-tls.h"
+
+#define PNAME "H323-MESSAGES"
+#define PSNAME "H.225.0"
+#define PFNAME "h225"
+
+#define UDP_PORT_RAS_RANGE "1718-1719"
+#define TCP_PORT_CS 1720
+#define TLS_PORT_CS 1300
+
+void proto_register_h225(void);
+static h225_packet_info* create_h225_packet_info(packet_info *pinfo);
+static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, h225_packet_info *pi);
+
+/* Item of ras request list*/
+typedef struct _h225ras_call_t {
+ guint32 requestSeqNum;
+ e_guid_t guid;
+ guint32 req_num; /* frame number request seen */
+ guint32 rsp_num; /* frame number response seen */
+ nstime_t req_time; /* arrival time of request */
+ gboolean responded; /* true, if request has been responded */
+ struct _h225ras_call_t *next_call; /* pointer to next ras request with same SequenceNumber and conversation handle */
+} h225ras_call_t;
+
+
+/* Item of ras-request key list*/
+typedef struct _h225ras_call_info_key {
+ guint reqSeqNum;
+ conversation_t *conversation;
+} h225ras_call_info_key;
+
+/* Global Memory Chunks for lists and Global hash tables*/
+
+static wmem_map_t *ras_calls[7] = {NULL, NULL, NULL, NULL, NULL, NULL, NULL};
+
+/* functions, needed using ras-request and halfcall matching*/
+static h225ras_call_t * find_h225ras_call(h225ras_call_info_key *h225ras_call_key ,int category);
+static h225ras_call_t * new_h225ras_call(h225ras_call_info_key *h225ras_call_key, packet_info *pinfo, e_guid_t *guid, int category);
+static h225ras_call_t * append_h225ras_call(h225ras_call_t *prev_call, packet_info *pinfo, e_guid_t *guid, int category);
+
+
+static dissector_handle_t h225ras_handle;
+static dissector_handle_t data_handle;
+/* Subdissector tables */
+static dissector_table_t nsp_object_dissector_table;
+static dissector_table_t nsp_h221_dissector_table;
+static dissector_table_t tp_dissector_table;
+static dissector_table_t gef_name_dissector_table;
+static dissector_table_t gef_content_dissector_table;
+
+
+static dissector_handle_t h245_handle=NULL;
+static dissector_handle_t h245dg_handle=NULL;
+static dissector_handle_t h4501_handle=NULL;
+
+static dissector_handle_t nsp_handle;
+static dissector_handle_t tp_handle;
+
+static next_tvb_list_t *h245_list;
+static next_tvb_list_t *tp_list;
+
+/* Initialize the protocol and registered fields */
+static int h225_tap = -1;
+static int proto_h225 = -1;
+
+static int hf_h221Manufacturer = -1;
+static int hf_h225_ras_req_frame = -1;
+static int hf_h225_ras_rsp_frame = -1;
+static int hf_h225_ras_dup = -1;
+static int hf_h225_ras_deltatime = -1;
+static int hf_h225_debug_dissector_try_string = -1;
+
+#include "packet-h225-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_h225 = -1;
+#include "packet-h225-ett.c"
+
+/* Preferences */
+static guint h225_tls_port = TLS_PORT_CS;
+static gboolean h225_reassembly = TRUE;
+static gboolean h225_h245_in_tree = TRUE;
+static gboolean h225_tp_in_tree = TRUE;
+
+/* Global variables */
+static guint32 ipv4_address;
+static ws_in6_addr ipv6_address;
+static ws_in6_addr ipv6_address_zeros = {{0}};
+static guint32 ip_port;
+static gboolean contains_faststart = FALSE;
+static e_guid_t *call_id_guid;
+
+/* NonStandardParameter */
+static const char *nsiOID;
+static guint32 h221NonStandard;
+static guint32 t35CountryCode;
+static guint32 t35Extension;
+static guint32 manufacturerCode;
+
+/* TunnelledProtocol */
+static const char *tpOID;
+
+static const value_string ras_message_category[] = {
+ { 0, "Gatekeeper "},
+ { 1, "Registration "},
+ { 2, "UnRegistration"},
+ { 3, "Admission "},
+ { 4, "Bandwidth "},
+ { 5, "Disengage "},
+ { 6, "Location "},
+ { 0, NULL }
+};
+
+typedef enum _ras_type {
+ RAS_REQUEST,
+ RAS_CONFIRM,
+ RAS_REJECT,
+ RAS_OTHER
+}ras_type;
+
+typedef enum _ras_category {
+ RAS_GATEKEEPER,
+ RAS_REGISTRATION,
+ RAS_UNREGISTRATION,
+ RAS_ADMISSION,
+ RAS_BANDWIDTH,
+ RAS_DISENGAGE,
+ RAS_LOCATION,
+ RAS_OTHERS
+}ras_category;
+
+#define NUM_RAS_STATS 7
+
+static tap_packet_status
+h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *phi, tap_flags_t flags _U_)
+{
+ rtd_data_t* rtd_data = (rtd_data_t*)phs;
+ rtd_stat_table* rs = &rtd_data->stat_table;
+ const h225_packet_info *pi=(const h225_packet_info *)phi;
+
+ ras_type rasmsg_type = RAS_OTHER;
+ ras_category rascategory = RAS_OTHERS;
+
+ if (pi->msg_type != H225_RAS || pi->msg_tag == -1) {
+ /* No RAS Message or uninitialized msg_tag -> return */
+ return TAP_PACKET_DONT_REDRAW;
+ }
+
+ if (pi->msg_tag < 21) {
+ /* */
+ rascategory = (ras_category)(pi->msg_tag / 3);
+ rasmsg_type = (ras_type)(pi->msg_tag % 3);
+ }
+ else {
+ /* No SRT yet (ToDo) */
+ return TAP_PACKET_DONT_REDRAW;
+ }
+
+ switch(rasmsg_type) {
+
+ case RAS_REQUEST:
+ if(pi->is_duplicate){
+ rs->time_stats[rascategory].req_dup_num++;
+ }
+ else {
+ rs->time_stats[rascategory].open_req_num++;
+ }
+ break;
+
+ case RAS_CONFIRM:
+ /* no break - delay stats are identical for Confirm and Reject */
+ case RAS_REJECT:
+ if(pi->is_duplicate){
+ /* Duplicate is ignored */
+ rs->time_stats[rascategory].rsp_dup_num++;
+ }
+ else if (!pi->request_available) {
+ /* no request was seen, ignore response */
+ rs->time_stats[rascategory].disc_rsp_num++;
+ }
+ else {
+ rs->time_stats[rascategory].open_req_num--;
+ time_stat_update(&(rs->time_stats[rascategory].rtd[0]),&(pi->delta_time), pinfo);
+ }
+ break;
+
+ default:
+ return TAP_PACKET_DONT_REDRAW;
+ }
+ return TAP_PACKET_REDRAW;
+}
+
+#include "packet-h225-fn.c"
+
+/* Forward declaration we need below */
+void proto_reg_handoff_h225(void);
+
+/*
+ * Functions needed for Ras-Hash-Table
+ */
+
+/* compare 2 keys */
+static gint h225ras_call_equal(gconstpointer k1, gconstpointer k2)
+{
+ const h225ras_call_info_key* key1 = (const h225ras_call_info_key*) k1;
+ const h225ras_call_info_key* key2 = (const h225ras_call_info_key*) k2;
+
+ return (key1->reqSeqNum == key2->reqSeqNum &&
+ key1->conversation == key2->conversation);
+}
+
+/* calculate a hash key */
+static guint h225ras_call_hash(gconstpointer k)
+{
+ const h225ras_call_info_key* key = (const h225ras_call_info_key*) k;
+
+ return key->reqSeqNum + GPOINTER_TO_UINT(key->conversation);
+}
+
+
+h225ras_call_t * find_h225ras_call(h225ras_call_info_key *h225ras_call_key ,int category)
+{
+ h225ras_call_t *h225ras_call = (h225ras_call_t *)wmem_map_lookup(ras_calls[category], h225ras_call_key);
+
+ return h225ras_call;
+}
+
+h225ras_call_t * new_h225ras_call(h225ras_call_info_key *h225ras_call_key, packet_info *pinfo, e_guid_t *guid, int category)
+{
+ h225ras_call_info_key *new_h225ras_call_key;
+ h225ras_call_t *h225ras_call = NULL;
+
+
+ /* Prepare the value data.
+ "req_num" and "rsp_num" are frame numbers;
+ frame numbers are 1-origin, so we use 0
+ to mean "we don't yet know in which frame
+ the reply for this call appears". */
+ new_h225ras_call_key = wmem_new(wmem_file_scope(), h225ras_call_info_key);
+ new_h225ras_call_key->reqSeqNum = h225ras_call_key->reqSeqNum;
+ new_h225ras_call_key->conversation = h225ras_call_key->conversation;
+ h225ras_call = wmem_new(wmem_file_scope(), h225ras_call_t);
+ h225ras_call->req_num = pinfo->num;
+ h225ras_call->rsp_num = 0;
+ h225ras_call->requestSeqNum = h225ras_call_key->reqSeqNum;
+ h225ras_call->responded = FALSE;
+ h225ras_call->next_call = NULL;
+ h225ras_call->req_time=pinfo->abs_ts;
+ h225ras_call->guid=*guid;
+ /* store it */
+ wmem_map_insert(ras_calls[category], new_h225ras_call_key, h225ras_call);
+
+ return h225ras_call;
+}
+
+h225ras_call_t * append_h225ras_call(h225ras_call_t *prev_call, packet_info *pinfo, e_guid_t *guid, int category _U_)
+{
+ h225ras_call_t *h225ras_call = NULL;
+
+ /* Prepare the value data.
+ "req_num" and "rsp_num" are frame numbers;
+ frame numbers are 1-origin, so we use 0
+ to mean "we don't yet know in which frame
+ the reply for this call appears". */
+ h225ras_call = wmem_new(wmem_file_scope(), h225ras_call_t);
+ h225ras_call->req_num = pinfo->num;
+ h225ras_call->rsp_num = 0;
+ h225ras_call->requestSeqNum = prev_call->requestSeqNum;
+ h225ras_call->responded = FALSE;
+ h225ras_call->next_call = NULL;
+ h225ras_call->req_time=pinfo->abs_ts;
+ h225ras_call->guid=*guid;
+
+ prev_call->next_call = h225ras_call;
+ return h225ras_call;
+}
+
+static void
+h225_frame_end(void)
+{
+ /* next_tvb pointers are allocated in packet scope, clear it. */
+ h245_list = NULL;
+ tp_list = NULL;
+}
+
+static int
+dissect_h225_H323UserInformation(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ proto_item *it;
+ proto_tree *tr;
+ int offset = 0;
+ h225_packet_info* h225_pi;
+
+ /* Init struct for collecting h225_packet_info */
+ h225_pi = create_h225_packet_info(pinfo);
+ h225_pi->msg_type = H225_CS;
+ p_add_proto_data(pinfo->pool, pinfo, proto_h225, 0, h225_pi);
+
+ register_frame_end_routine(pinfo, h225_frame_end);
+ h245_list = next_tvb_list_new(pinfo->pool);
+ tp_list = next_tvb_list_new(pinfo->pool);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ it=proto_tree_add_protocol_format(tree, proto_h225, tvb, 0, -1, PSNAME" CS");
+ tr=proto_item_add_subtree(it, ett_h225);
+
+ offset = dissect_H323_UserInformation_PDU(tvb, pinfo, tr, NULL);
+
+ if (h245_list->count){
+ col_append_str(pinfo->cinfo, COL_PROTOCOL, "/");
+ col_set_fence(pinfo->cinfo, COL_PROTOCOL);
+ }
+
+ next_tvb_call(h245_list, pinfo, tree, h245dg_handle, data_handle);
+ next_tvb_call(tp_list, pinfo, tree, NULL, data_handle);
+
+ tap_queue_packet(h225_tap, pinfo, h225_pi);
+
+ return offset;
+}
+static int
+dissect_h225_h225_RasMessage(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_){
+ proto_item *it;
+ proto_tree *tr;
+ guint32 offset=0;
+ h225_packet_info* h225_pi;
+
+ /* Init struct for collecting h225_packet_info */
+ h225_pi = create_h225_packet_info(pinfo);
+ h225_pi->msg_type = H225_RAS;
+ p_add_proto_data(pinfo->pool, pinfo, proto_h225, 0, h225_pi);
+
+ register_frame_end_routine(pinfo, h225_frame_end);
+ h245_list = next_tvb_list_new(pinfo->pool);
+ tp_list = next_tvb_list_new(pinfo->pool);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+
+ it=proto_tree_add_protocol_format(tree, proto_h225, tvb, offset, -1, PSNAME" RAS");
+ tr=proto_item_add_subtree(it, ett_h225);
+
+ offset = dissect_RasMessage_PDU(tvb, pinfo, tr, NULL);
+
+ ras_call_matching(tvb, pinfo, tr, h225_pi);
+
+ next_tvb_call(h245_list, pinfo, tree, h245dg_handle, data_handle);
+ next_tvb_call(tp_list, pinfo, tree, NULL, data_handle);
+
+ tap_queue_packet(h225_tap, pinfo, h225_pi);
+
+ return offset;
+}
+
+
+/* The following values represent the size of their valuestring arrays */
+
+#define RAS_MSG_TYPES (sizeof(h225_RasMessage_vals) / sizeof(value_string))
+#define CS_MSG_TYPES (sizeof(T_h323_message_body_vals) / sizeof(value_string))
+
+#define GRJ_REASONS (sizeof(GatekeeperRejectReason_vals) / sizeof(value_string))
+#define RRJ_REASONS (sizeof(RegistrationRejectReason_vals) / sizeof(value_string))
+#define URQ_REASONS (sizeof(UnregRequestReason_vals) / sizeof(value_string))
+#define URJ_REASONS (sizeof(UnregRejectReason_vals) / sizeof(value_string))
+#define ARJ_REASONS (sizeof(AdmissionRejectReason_vals) / sizeof(value_string))
+#define BRJ_REASONS (sizeof(BandRejectReason_vals) / sizeof(value_string))
+#define DRQ_REASONS (sizeof(DisengageReason_vals) / sizeof(value_string))
+#define DRJ_REASONS (sizeof(DisengageRejectReason_vals) / sizeof(value_string))
+#define LRJ_REASONS (sizeof(LocationRejectReason_vals) / sizeof(value_string))
+#define IRQNAK_REASONS (sizeof(InfoRequestNakReason_vals) / sizeof(value_string))
+#define REL_CMP_REASONS (sizeof(h225_ReleaseCompleteReason_vals) / sizeof(value_string))
+#define FACILITY_REASONS (sizeof(FacilityReason_vals) / sizeof(value_string))
+
+/* TAP STAT INFO */
+typedef enum
+{
+ MESSAGE_TYPE_COLUMN = 0,
+ COUNT_COLUMN
+} h225_stat_columns;
+
+typedef struct _h225_table_item {
+ guint count; /* Message count */
+ guint table_idx; /* stat_table index */
+} h225_table_item_t;
+
+static stat_tap_table_item h225_stat_fields[] = {{TABLE_ITEM_STRING, TAP_ALIGN_LEFT, "Message Type or Reason", "%-25s"}, {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Count", "%d"}};
+
+static guint ras_msg_idx[RAS_MSG_TYPES];
+static guint cs_msg_idx[CS_MSG_TYPES];
+
+static guint grj_reason_idx[GRJ_REASONS];
+static guint rrj_reason_idx[RRJ_REASONS];
+static guint urq_reason_idx[URQ_REASONS];
+static guint urj_reason_idx[URJ_REASONS];
+static guint arj_reason_idx[ARJ_REASONS];
+static guint brj_reason_idx[BRJ_REASONS];
+static guint drq_reason_idx[DRQ_REASONS];
+static guint drj_reason_idx[DRJ_REASONS];
+static guint lrj_reason_idx[LRJ_REASONS];
+static guint irqnak_reason_idx[IRQNAK_REASONS];
+static guint rel_cmp_reason_idx[REL_CMP_REASONS];
+static guint facility_reason_idx[FACILITY_REASONS];
+
+static guint other_idx;
+
+static void h225_stat_init(stat_tap_table_ui* new_stat)
+{
+ const char *table_name = "H.225 Messages and Message Reasons";
+ int num_fields = sizeof(h225_stat_fields)/sizeof(stat_tap_table_item);
+ stat_tap_table *table;
+ int row_idx = 0, msg_idx;
+ stat_tap_table_item_type items[sizeof(h225_stat_fields)/sizeof(stat_tap_table_item)];
+
+ table = stat_tap_find_table(new_stat, table_name);
+ if (table) {
+ if (new_stat->stat_tap_reset_table_cb) {
+ new_stat->stat_tap_reset_table_cb(table);
+ }
+ return;
+ }
+
+ memset(items, 0x0, sizeof(items));
+ table = stat_tap_init_table(table_name, num_fields, 0, NULL);
+ stat_tap_add_table(new_stat, table);
+
+ items[MESSAGE_TYPE_COLUMN].type = TABLE_ITEM_STRING;
+ items[COUNT_COLUMN].type = TABLE_ITEM_UINT;
+ items[COUNT_COLUMN].value.uint_value = 0;
+
+ /* Add a row for each value type */
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ h225_RasMessage_vals[msg_idx].strptr
+ ? h225_RasMessage_vals[msg_idx].strptr
+ : "Unknown RAS message";
+ ras_msg_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (h225_RasMessage_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ T_h323_message_body_vals[msg_idx].strptr
+ ? T_h323_message_body_vals[msg_idx].strptr
+ : "Unknown CS message";
+ cs_msg_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (T_h323_message_body_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ GatekeeperRejectReason_vals[msg_idx].strptr
+ ? GatekeeperRejectReason_vals[msg_idx].strptr
+ : "Unknown gatekeeper reject reason";
+ grj_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (GatekeeperRejectReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ RegistrationRejectReason_vals[msg_idx].strptr
+ ? RegistrationRejectReason_vals[msg_idx].strptr
+ : "Unknown registration reject reason";
+ rrj_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (RegistrationRejectReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ UnregRequestReason_vals[msg_idx].strptr
+ ? UnregRequestReason_vals[msg_idx].strptr
+ : "Unknown unregistration request reason";
+ urq_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (UnregRequestReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ UnregRejectReason_vals[msg_idx].strptr
+ ? UnregRejectReason_vals[msg_idx].strptr
+ : "Unknown unregistration reject reason";
+ urj_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (UnregRejectReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ AdmissionRejectReason_vals[msg_idx].strptr
+ ? AdmissionRejectReason_vals[msg_idx].strptr
+ : "Unknown admission reject reason";
+ arj_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (AdmissionRejectReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ BandRejectReason_vals[msg_idx].strptr
+ ? BandRejectReason_vals[msg_idx].strptr
+ : "Unknown band reject reason";
+ brj_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (BandRejectReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ DisengageReason_vals[msg_idx].strptr
+ ? DisengageReason_vals[msg_idx].strptr
+ : "Unknown disengage reason";
+ drq_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (DisengageReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ DisengageRejectReason_vals[msg_idx].strptr
+ ? DisengageRejectReason_vals[msg_idx].strptr
+ : "Unknown disengage reject reason";
+ drj_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (DisengageRejectReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ LocationRejectReason_vals[msg_idx].strptr
+ ? LocationRejectReason_vals[msg_idx].strptr
+ : "Unknown location reject reason";
+ lrj_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (LocationRejectReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ InfoRequestNakReason_vals[msg_idx].strptr
+ ? InfoRequestNakReason_vals[msg_idx].strptr
+ : "Unknown info request nak reason";
+ irqnak_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (InfoRequestNakReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ h225_ReleaseCompleteReason_vals[msg_idx].strptr
+ ? h225_ReleaseCompleteReason_vals[msg_idx].strptr
+ : "Unknown release complete reason";
+ rel_cmp_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (h225_ReleaseCompleteReason_vals[msg_idx].strptr);
+
+ msg_idx = 0;
+ do
+ {
+ items[MESSAGE_TYPE_COLUMN].value.string_value =
+ FacilityReason_vals[msg_idx].strptr
+ ? FacilityReason_vals[msg_idx].strptr
+ : "Unknown facility reason";
+ facility_reason_idx[msg_idx] = row_idx;
+
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ row_idx++;
+ msg_idx++;
+ } while (FacilityReason_vals[msg_idx].strptr);
+
+
+ items[MESSAGE_TYPE_COLUMN].value.string_value = "Unknown H.225 message";
+ stat_tap_init_table_row(table, row_idx, num_fields, items);
+ other_idx = row_idx;
+}
+
+static tap_packet_status
+h225_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *hpi_ptr, tap_flags_t flags _U_)
+{
+ stat_data_t* stat_data = (stat_data_t*)tapdata;
+ const h225_packet_info *hpi = (const h225_packet_info *)hpi_ptr;
+ int tag_idx = -1;
+ int reason_idx = -1;
+
+ if(hpi->msg_tag < 0) { /* uninitialized */
+ return TAP_PACKET_DONT_REDRAW;
+ }
+
+ switch (hpi->msg_type) {
+
+ case H225_RAS:
+ tag_idx = ras_msg_idx[MIN(hpi->msg_tag, (int)RAS_MSG_TYPES-1)];
+
+ /* Look for reason tag */
+ if(hpi->reason < 0) { /* uninitialized */
+ break;
+ }
+
+ switch(hpi->msg_tag) {
+
+ case 2: /* GRJ */
+ reason_idx = grj_reason_idx[MIN(hpi->reason, (int)GRJ_REASONS-1)];
+ break;
+ case 5: /* RRJ */
+ reason_idx = rrj_reason_idx[MIN(hpi->reason, (int)RRJ_REASONS-1)];
+ break;
+ case 6: /* URQ */
+ reason_idx = urq_reason_idx[MIN(hpi->reason, (int)URQ_REASONS-1)];
+ break;
+ case 8: /* URJ */
+ reason_idx = urj_reason_idx[MIN(hpi->reason, (int)URJ_REASONS-1)];
+ break;
+ case 11: /* ARJ */
+ reason_idx = arj_reason_idx[MIN(hpi->reason, (int)ARJ_REASONS-1)];
+ break;
+ case 14: /* BRJ */
+ reason_idx = brj_reason_idx[MIN(hpi->reason, (int)BRJ_REASONS-1)];
+ break;
+ case 15: /* DRQ */
+ reason_idx = drq_reason_idx[MIN(hpi->reason, (int)DRQ_REASONS-1)];
+ break;
+ case 17: /* DRJ */
+ reason_idx = drj_reason_idx[MIN(hpi->reason, (int)DRJ_REASONS-1)];
+ break;
+ case 20: /* LRJ */
+ reason_idx = lrj_reason_idx[MIN(hpi->reason, (int)LRJ_REASONS-1)];
+ break;
+ case 29: /* IRQ Nak */
+ reason_idx = irqnak_reason_idx[MIN(hpi->reason, (int)IRQNAK_REASONS-1)];
+ break;
+ default:
+ /* do nothing */
+ break;
+ }
+
+ break;
+
+ case H225_CS:
+ tag_idx = cs_msg_idx[MIN(hpi->msg_tag, (int)CS_MSG_TYPES-1)];
+
+ /* Look for reason tag */
+ if(hpi->reason < 0) { /* uninitialized */
+ break;
+ }
+
+ switch(hpi->msg_tag) {
+
+ case 5: /* ReleaseComplete */
+ reason_idx = rel_cmp_reason_idx[MIN(hpi->reason, (int)REL_CMP_REASONS-1)];
+ break;
+ case 6: /* Facility */
+ reason_idx = facility_reason_idx[MIN(hpi->reason, (int)FACILITY_REASONS-1)];
+ break;
+ default:
+ /* do nothing */
+ break;
+ }
+
+ break;
+
+ case H225_OTHERS:
+ default:
+ tag_idx = other_idx;
+ }
+
+ if (tag_idx >= 0) {
+ stat_tap_table*table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, 0);
+ stat_tap_table_item_type* msg_data = stat_tap_get_field_data(table, tag_idx, COUNT_COLUMN);;
+ msg_data->value.uint_value++;
+ stat_tap_set_field_data(table, tag_idx, COUNT_COLUMN, msg_data);
+
+ if (reason_idx >= 0) {
+ msg_data = stat_tap_get_field_data(table, reason_idx, COUNT_COLUMN);;
+ msg_data->value.uint_value++;
+ stat_tap_set_field_data(table, reason_idx, COUNT_COLUMN, msg_data);
+ }
+
+ return TAP_PACKET_REDRAW;
+ }
+ return TAP_PACKET_DONT_REDRAW;
+}
+
+static void
+h225_stat_reset(stat_tap_table* table)
+{
+ guint element;
+ stat_tap_table_item_type* item_data;
+
+ for (element = 0; element < table->num_elements; element++)
+ {
+ item_data = stat_tap_get_field_data(table, element, COUNT_COLUMN);
+ item_data->value.uint_value = 0;
+ stat_tap_set_field_data(table, element, COUNT_COLUMN, item_data);
+ }
+}
+
+/*--- proto_register_h225 -------------------------------------------*/
+void proto_register_h225(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_h221Manufacturer,
+ { "H.225 Manufacturer", "h225.Manufacturer", FT_UINT32, BASE_HEX,
+ VALS(H221ManufacturerCode_vals), 0, "h225.H.221 Manufacturer", HFILL }},
+
+ { &hf_h225_ras_req_frame,
+ { "RAS Request Frame", "h225.ras.reqframe", FT_FRAMENUM, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+
+ { &hf_h225_ras_rsp_frame,
+ { "RAS Response Frame", "h225.ras.rspframe", FT_FRAMENUM, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+
+ { &hf_h225_ras_dup,
+ { "Duplicate RAS Message", "h225.ras.dup", FT_UINT32, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+
+ { &hf_h225_ras_deltatime,
+ { "RAS Service Response Time", "h225.ras.timedelta", FT_RELATIVE_TIME, BASE_NONE,
+ NULL, 0, "Timedelta between RAS-Request and RAS-Response", HFILL }},
+
+ { &hf_h225_debug_dissector_try_string,
+ { "*** DEBUG dissector_try_string", "h225.debug.dissector_try_string", FT_STRING, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+
+#include "packet-h225-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_h225,
+#include "packet-h225-ettarr.c"
+ };
+
+ static tap_param h225_stat_params[] = {
+ { PARAM_FILTER, "filter", "Filter", NULL, TRUE }
+ };
+
+ static stat_tap_table_ui h225_stat_table = {
+ REGISTER_STAT_GROUP_TELEPHONY,
+ "H.225",
+ PFNAME,
+ "h225,counter",
+ h225_stat_init,
+ h225_stat_packet,
+ h225_stat_reset,
+ NULL,
+ NULL,
+ sizeof(h225_stat_fields)/sizeof(stat_tap_table_item), h225_stat_fields,
+ sizeof(h225_stat_params)/sizeof(tap_param), h225_stat_params,
+ NULL,
+ 0
+ };
+
+ module_t *h225_module;
+ int i, proto_h225_ras;
+
+ /* Register protocol */
+ proto_h225 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Create a "fake" protocol to get proper display strings for SRT dialogs */
+ proto_h225_ras = proto_register_protocol("H.225 RAS", "H.225 RAS", "h225_ras");
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h225, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ h225_module = prefs_register_protocol(proto_h225, proto_reg_handoff_h225);
+ prefs_register_uint_preference(h225_module, "tls.port",
+ "H.225 TLS Port",
+ "H.225 Server TLS Port",
+ 10, &h225_tls_port);
+ prefs_register_bool_preference(h225_module, "reassembly",
+ "Reassemble H.225 messages spanning multiple TCP segments",
+ "Whether the H.225 dissector should reassemble messages spanning multiple TCP segments."
+ " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &h225_reassembly);
+ prefs_register_bool_preference(h225_module, "h245_in_tree",
+ "Display tunnelled H.245 inside H.225.0 tree",
+ "ON - display tunnelled H.245 inside H.225.0 tree, OFF - display tunnelled H.245 in root tree after H.225.0",
+ &h225_h245_in_tree);
+ prefs_register_bool_preference(h225_module, "tp_in_tree",
+ "Display tunnelled protocols inside H.225.0 tree",
+ "ON - display tunnelled protocols inside H.225.0 tree, OFF - display tunnelled protocols in root tree after H.225.0",
+ &h225_tp_in_tree);
+
+ register_dissector(PFNAME, dissect_h225_H323UserInformation, proto_h225);
+ register_dissector("h323ui",dissect_h225_H323UserInformation, proto_h225);
+ h225ras_handle = register_dissector("h225.ras", dissect_h225_h225_RasMessage, proto_h225);
+
+ nsp_object_dissector_table = register_dissector_table("h225.nsp.object", "H.225 NonStandardParameter Object", proto_h225, FT_STRING, STRING_CASE_SENSITIVE);
+ nsp_h221_dissector_table = register_dissector_table("h225.nsp.h221", "H.225 NonStandardParameter h221", proto_h225, FT_UINT32, BASE_HEX);
+ tp_dissector_table = register_dissector_table("h225.tp", "H.225 Tunnelled Protocol", proto_h225, FT_STRING, STRING_CASE_SENSITIVE);
+ gef_name_dissector_table = register_dissector_table("h225.gef.name", "H.225 Generic Extensible Framework Name", proto_h225, FT_STRING, STRING_CASE_SENSITIVE);
+ gef_content_dissector_table = register_dissector_table("h225.gef.content", "H.225 Generic Extensible Framework Content", proto_h225, FT_STRING, STRING_CASE_SENSITIVE);
+
+ for(i=0;i<7;i++) {
+ ras_calls[i] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), h225ras_call_hash, h225ras_call_equal);
+ }
+
+ h225_tap = register_tap(PFNAME);
+
+ register_rtd_table(proto_h225_ras, PFNAME, NUM_RAS_STATS, 1, ras_message_category, h225rassrt_packet, NULL);
+
+ register_stat_tap_table_ui(&h225_stat_table);
+
+ oid_add_from_string("Version 1","0.0.8.2250.0.1");
+ oid_add_from_string("Version 2","0.0.8.2250.0.2");
+ oid_add_from_string("Version 3","0.0.8.2250.0.3");
+ oid_add_from_string("Version 4","0.0.8.2250.0.4");
+ oid_add_from_string("Version 5","0.0.8.2250.0.5");
+ oid_add_from_string("Version 6","0.0.8.2250.0.6");
+}
+
+
+/*--- proto_reg_handoff_h225 ---------------------------------------*/
+void
+proto_reg_handoff_h225(void)
+{
+ static gboolean h225_prefs_initialized = FALSE;
+ static dissector_handle_t q931_tpkt_handle;
+ static guint saved_h225_tls_port;
+
+ if (!h225_prefs_initialized) {
+ dissector_add_uint_range_with_preference("udp.port", UDP_PORT_RAS_RANGE, h225ras_handle);
+
+ h245_handle = find_dissector("h245");
+ h245dg_handle = find_dissector("h245dg");
+ h4501_handle = find_dissector_add_dependency("h4501", proto_h225);
+ data_handle = find_dissector("data");
+ h225_prefs_initialized = TRUE;
+ q931_tpkt_handle = find_dissector("q931.tpkt");
+ } else {
+ ssl_dissector_delete(saved_h225_tls_port, q931_tpkt_handle);
+ }
+
+ saved_h225_tls_port = h225_tls_port;
+ ssl_dissector_add(saved_h225_tls_port, q931_tpkt_handle);
+}
+
+static h225_packet_info* create_h225_packet_info(packet_info *pinfo)
+{
+ h225_packet_info* pi = wmem_new0(pinfo->pool, h225_packet_info);
+
+ pi->msg_type = H225_OTHERS;
+ pi->cs_type = H225_OTHER;
+ pi->msg_tag = -1;
+ pi->reason = -1;
+
+ return pi;
+}
+
+/*
+ The following function contains the routines for RAS request/response matching.
+ A RAS response matches with a request, if both messages have the same
+ RequestSequenceNumber, belong to the same IP conversation and belong to the same
+ RAS "category" (e.g. Admission, Registration).
+
+ We use hashtables to access the lists of RAS calls (request/response pairs).
+ We have one hashtable for each RAS category. The hashkeys consist of the
+ non-unique 16-bit RequestSequenceNumber and values representing the conversation.
+
+ In big capture files, we might get different requests with identical keys.
+ These requests aren't necessarily duplicates. They might be valid new requests.
+ At the moment we just use the timedelta between the last valid and the new request
+ to decide if the new request is a duplicate or not. There might be better ways.
+ Two thresholds are defined below.
+
+ However the decision is made, another problem arises. We can't just add those
+ requests to our hashtables. Instead we create lists of RAS calls with identical keys.
+ The hashtables for RAS calls contain now pointers to the first RAS call in a list of
+ RAS calls with identical keys.
+ These lists aren't expected to contain more than 3 items and are usually single item
+ lists. So we don't need an expensive but intelligent way to access these lists
+ (e.g. hashtables). Just walk through such a list.
+*/
+
+#define THRESHOLD_REPEATED_RESPONDED_CALL 300
+#define THRESHOLD_REPEATED_NOT_RESPONDED_CALL 1800
+
+static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, h225_packet_info *pi)
+{
+ proto_item *hidden_item;
+ conversation_t* conversation = NULL;
+ h225ras_call_info_key h225ras_call_key;
+ h225ras_call_t *h225ras_call = NULL;
+ nstime_t delta;
+ guint msg_category;
+
+ if(pi->msg_type == H225_RAS && pi->msg_tag < 21) {
+ /* make RAS request/response matching only for tags from 0 to 20 for now */
+
+ msg_category = pi->msg_tag / 3;
+ if(pi->msg_tag % 3 == 0) { /* Request Message */
+ conversation = find_or_create_conversation(pinfo);
+
+ /* prepare the key data */
+ h225ras_call_key.reqSeqNum = pi->requestSeqNum;
+ h225ras_call_key.conversation = conversation;
+
+ /* look up the request */
+ h225ras_call = find_h225ras_call(&h225ras_call_key ,msg_category);
+
+ if (h225ras_call != NULL) {
+ /* We've seen requests with this reqSeqNum, with the same
+ source and destination, before - do we have
+ *this* request already? */
+ /* Walk through list of ras requests with identical keys */
+ do {
+ if (pinfo->num == h225ras_call->req_num) {
+ /* We have seen this request before -> do nothing */
+ break;
+ }
+
+ /* if end of list is reached, exit loop and decide if request is duplicate or not. */
+ if (h225ras_call->next_call == NULL) {
+ if ( (pinfo->num > h225ras_call->rsp_num && h225ras_call->rsp_num != 0
+ && pinfo->abs_ts.secs > (h225ras_call->req_time.secs + THRESHOLD_REPEATED_RESPONDED_CALL) )
+ ||(pinfo->num > h225ras_call->req_num && h225ras_call->rsp_num == 0
+ && pinfo->abs_ts.secs > (h225ras_call->req_time.secs + THRESHOLD_REPEATED_NOT_RESPONDED_CALL) ) )
+ {
+ /* if last request has been responded
+ and this request appears after last response (has bigger frame number)
+ and last request occurred more than 300 seconds ago,
+ or if last request hasn't been responded
+ and this request appears after last request (has bigger frame number)
+ and last request occurred more than 1800 seconds ago,
+ we decide that we have a new request */
+ /* Append new ras call to list */
+ h225ras_call = append_h225ras_call(h225ras_call, pinfo, &pi->guid, msg_category);
+ } else {
+ /* No, so it's a duplicate request.
+ Mark it as such. */
+ pi->is_duplicate = TRUE;
+ hidden_item = proto_tree_add_uint(tree, hf_h225_ras_dup, tvb, 0,0, pi->requestSeqNum);
+ proto_item_set_hidden(hidden_item);
+ }
+ break;
+ }
+ h225ras_call = h225ras_call->next_call;
+ } while (h225ras_call != NULL );
+ }
+ else {
+ h225ras_call = new_h225ras_call(&h225ras_call_key, pinfo, &pi->guid, msg_category);
+ }
+
+ /* add link to response frame, if available */
+ if(h225ras_call && h225ras_call->rsp_num != 0){
+ proto_item *ti =
+ proto_tree_add_uint_format(tree, hf_h225_ras_rsp_frame, tvb, 0, 0, h225ras_call->rsp_num,
+ "The response to this request is in frame %u",
+ h225ras_call->rsp_num);
+ proto_item_set_generated(ti);
+ }
+
+ /* end of request message handling*/
+ }
+ else { /* Confirm or Reject Message */
+ conversation = find_conversation_pinfo(pinfo, 0);
+ if (conversation != NULL) {
+ /* look only for matching request, if
+ matching conversation is available. */
+ h225ras_call_key.reqSeqNum = pi->requestSeqNum;
+ h225ras_call_key.conversation = conversation;
+ h225ras_call = find_h225ras_call(&h225ras_call_key ,msg_category);
+ if(h225ras_call) {
+ /* find matching ras_call in list of ras calls with identical keys */
+ do {
+ if (pinfo->num == h225ras_call->rsp_num) {
+ /* We have seen this response before -> stop now with matching ras call */
+ break;
+ }
+
+ /* Break when list end is reached */
+ if(h225ras_call->next_call == NULL) {
+ break;
+ }
+ h225ras_call = h225ras_call->next_call;
+ } while (h225ras_call != NULL) ;
+
+ if (!h225ras_call) {
+ return;
+ }
+
+ /* if this is an ACF, ARJ or DCF, DRJ, give guid to tap and make it filterable */
+ if (msg_category == 3 || msg_category == 5) {
+ pi->guid = h225ras_call->guid;
+ hidden_item = proto_tree_add_guid(tree, hf_h225_guid, tvb, 0, GUID_LEN, &pi->guid);
+ proto_item_set_hidden(hidden_item);
+ }
+
+ if (h225ras_call->rsp_num == 0) {
+ /* We have not yet seen a response to that call, so
+ this must be the first response; remember its
+ frame number. */
+ h225ras_call->rsp_num = pinfo->num;
+ }
+ else {
+ /* We have seen a response to this call - but was it
+ *this* response? */
+ if (h225ras_call->rsp_num != pinfo->num) {
+ /* No, so it's a duplicate response.
+ Mark it as such. */
+ pi->is_duplicate = TRUE;
+ hidden_item = proto_tree_add_uint(tree, hf_h225_ras_dup, tvb, 0,0, pi->requestSeqNum);
+ proto_item_set_hidden(hidden_item);
+ }
+ }
+
+ if(h225ras_call->req_num != 0){
+ proto_item *ti;
+ h225ras_call->responded = TRUE;
+ pi->request_available = TRUE;
+
+ /* Indicate the frame to which this is a reply. */
+ ti = proto_tree_add_uint_format(tree, hf_h225_ras_req_frame, tvb, 0, 0, h225ras_call->req_num,
+ "This is a response to a request in frame %u", h225ras_call->req_num);
+ proto_item_set_generated(ti);
+
+ /* Calculate RAS Service Response Time */
+ nstime_delta(&delta, &pinfo->abs_ts, &h225ras_call->req_time);
+ pi->delta_time = delta; /* give it to tap */
+
+ /* display Ras Service Response Time and make it filterable */
+ ti = proto_tree_add_time(tree, hf_h225_ras_deltatime, tvb, 0, 0, &(pi->delta_time));
+ proto_item_set_generated(ti);
+ }
+ }
+ }
+ }
+ }
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/h225/packet-h225-template.h b/epan/dissectors/asn1/h225/packet-h225-template.h
new file mode 100644
index 00000000..6a5501d6
--- /dev/null
+++ b/epan/dissectors/asn1/h225/packet-h225-template.h
@@ -0,0 +1,83 @@
+/* packet-h225.h
+ * Routines for h225 packet dissection
+ * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_H225_H
+#define PACKET_H225_H
+
+typedef enum _h225_msg_type {
+ H225_RAS,
+ H225_CS,
+ H225_OTHERS
+} h225_msg_type;
+
+typedef enum _h225_cs_type {
+ H225_SETUP,
+ H225_CALL_PROCEDING,
+ H225_CONNECT,
+ H225_ALERTING,
+ H225_INFORMATION,
+ H225_RELEASE_COMPLET,
+ H225_FACILITY,
+ H225_PROGRESS,
+ H225_EMPTY,
+ H225_STATUS,
+ H225_STATUS_INQUIRY,
+ H225_SETUP_ACK,
+ H225_NOTIFY,
+ H225_OTHER
+} h225_cs_type;
+
+typedef struct _h225_packet_info {
+ h225_msg_type msg_type; /* ras or cs message */
+ h225_cs_type cs_type; /* cs message type */
+ gint msg_tag; /* message tag*/
+ gint reason; /* reason tag, if available */
+ guint requestSeqNum; /* request sequence number of ras-message, if available */
+ e_guid_t guid; /* globally unique call id */
+ gboolean is_duplicate; /* true, if this is a repeated message */
+ gboolean request_available; /* true, if response matches to a request */
+ nstime_t delta_time; /* this is the RAS response time delay */
+ /* added for h225 conversations analysis */
+ gboolean is_faststart; /* true, if faststart field is included */
+ gboolean is_h245;
+ gboolean is_h245Tunneling;
+ guint32 h245_address;
+ guint16 h245_port;
+ gchar dialedDigits[129]; /* Dialed Digits in the LRQ and LCF used for voip analysis */
+ gboolean is_destinationInfo;
+ gchar frame_label[50]; /* the Frame label used by graph_analysis, what is a abreviation of cinfo */
+} h225_packet_info;
+
+/*
+ * the following allows TAP code access to the messages
+ * without having to duplicate it. With MSVC and a
+ * libwireshark.dll, we need a special declaration.
+ */
+
+#include <epan/asn1.h>
+#include "packet-per.h"
+
+#include "packet-h225-exp.h"
+
+#endif /* PACKET_H225_H */
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/h235/CMakeLists.txt b/epan/dissectors/asn1/h235/CMakeLists.txt
new file mode 100644
index 00000000..ec467698
--- /dev/null
+++ b/epan/dissectors/asn1/h235/CMakeLists.txt
@@ -0,0 +1,44 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h235 )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ H235-SECURITY-MESSAGES.asn
+ H235-SRTP.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../h225/h225-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h235/H235-SECURITY-MESSAGES.asn b/epan/dissectors/asn1/h235/H235-SECURITY-MESSAGES.asn
new file mode 100644
index 00000000..bd88c6d0
--- /dev/null
+++ b/epan/dissectors/asn1/h235/H235-SECURITY-MESSAGES.asn
@@ -0,0 +1,354 @@
+-- H235-SECURITY-MESSAGES.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h235.0/2005/H235-SECURITY-MESSAGES.asn
+--
+
+-- Module H235-SECURITY-MESSAGES (H.235.0:09/2005)
+H235-SECURITY-MESSAGES DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+-- EXPORTS All
+ChallengeString ::= OCTET STRING(SIZE (8..128))
+
+TimeStamp ::= INTEGER(1..4294967295) -- seconds since 00:00
+
+
+-- 1/1/1970 UTC
+RandomVal ::= INTEGER -- 32-bit Integer
+
+Password ::= BMPString(SIZE (1..128))
+
+Identifier ::= BMPString(SIZE (1..128))
+
+KeyMaterial ::= BIT STRING(SIZE (1..2048))
+
+NonStandardParameter ::= SEQUENCE {
+ nonStandardIdentifier OBJECT IDENTIFIER,
+ data OCTET STRING
+}
+
+-- if local octet representations of these bit strings are used they shall
+-- utilize standard Network Octet ordering (e.g., Big Endian)
+DHset ::= SEQUENCE {
+ halfkey BIT STRING(SIZE (0..2048)), -- = g^x mod n
+ modSize BIT STRING(SIZE (0..2048)), -- n
+ generator BIT STRING(SIZE (0..2048)), -- g
+ ...
+}
+
+ECpoint ::=
+ SEQUENCE -- uncompressed (x, y) affine coordinate representation of
+
+ -- an elliptic curve point
+ {
+ x BIT STRING(SIZE (0..511)) OPTIONAL,
+ y BIT STRING(SIZE (0..511)) OPTIONAL,
+ ...
+}
+
+ECKASDH ::=
+ CHOICE -- parameters for elliptic curve key agreement scheme Diffie-Hellman
+ {
+ eckasdhp
+ SEQUENCE-- parameters for elliptic curves of prime field-- {public-key
+ ECpoint, -- This field contains representation of --
+ -- the ECKAS-DHp public key value. This field contains the
+ -- initiator's ECKAS-DHp public key value (aP) when this
+ -- information element is sent from originator to receiver. This
+ -- field contains the responder's ECKAS-DHp public key value (bP)
+ -- when this information element is sent back from receiver to
+ -- originator.
+ modulus
+ BIT STRING
+ (SIZE (0..
+ 511)), -- This field contains --
+ -- representation of the ECKAS-DHp public modulus value (p).
+ base
+ ECpoint, -- This field contains representation of the --
+ -- ECKAS-DHp public base (P).
+ weierstrassA
+ BIT STRING
+ (SIZE (0..
+ 511)), -- This field contains --
+ -- representation of the ECKAS-DHp Weierstrass coefficient (a).
+ weierstrassB
+ BIT STRING
+ (SIZE (0..
+ 511))-- This field contains --
+ -- representation of the ECKAS-DHp Weierstrass coefficient (b).
+ },
+ eckasdh2
+ SEQUENCE-- parameters for elliptic curves of characteristic 2 -- {public-key
+
+ ECpoint, -- This field contains representation of --
+ -- the ECKAS-DH2 public key value.
+ -- This field contains the initiator's ECKAS-DH2 public key value
+ -- (aP) when this information element is sent from originator to
+ -- receiver. This field contains the responder's ECKAS-DH2 public
+ -- key value (bP) when this information element is sent back from
+ -- receiver to originator.
+ fieldSize
+
+ BIT STRING
+ (SIZE (0..
+ 511)), -- This field contains --
+ -- representation of the ECKAS-DH2 field size value (m).
+ base
+
+ ECpoint, -- This field contains representation of the --
+ -- ECKAS-DH2 public base (P).
+ weierstrassA
+
+ BIT STRING
+ (SIZE (0..
+ 511)), -- This field contains --
+ -- representation of the ECKAS-DH2 Weierstrass coefficient (a).
+ weierstrassB
+
+ BIT STRING
+ (SIZE (0..
+ 511))-- This field contains --
+ -- representation of the ECKAS-DH2 Weierstrass coefficient (b).
+ },
+ ...
+}
+
+ECGDSASignature ::=
+ SEQUENCE -- parameters for elliptic curve digital signature
+
+ -- algorithm
+ {
+ r BIT STRING(SIZE (0..511)), -- This field contains the
+
+ -- representation of the r component of the ECGDSA digital
+ -- signature.
+ s BIT STRING(SIZE (0..511))-- This field contains the --
+ -- representation of the s component of the ECGDSA digital
+ -- signature.
+}
+
+TypedCertificate ::= SEQUENCE {
+ type OBJECT IDENTIFIER,
+ certificate OCTET STRING,
+ ...
+}
+
+AuthenticationBES ::= CHOICE {
+ default NULL, -- encrypted ClearToken
+ radius NULL, -- RADIUS-challenge/response
+ ...
+}
+
+AuthenticationMechanism ::= CHOICE {
+ dhExch NULL, -- Diffie-Hellman
+ pwdSymEnc NULL, -- password with symmetric encryption
+ pwdHash NULL, -- password with hashing
+ certSign NULL, -- Certificate with signature
+ ipsec NULL, -- IPSEC based connection
+ tls NULL,
+ nonStandard NonStandardParameter, -- something else.
+ ...,
+ authenticationBES AuthenticationBES, -- user authentication for BES
+ keyExch OBJECT IDENTIFIER -- key exchange profile
+}
+
+ClearToken ::= SEQUENCE -- a "token" may contain multiple value types.
+ {
+ tokenOID OBJECT IDENTIFIER,
+ timeStamp TimeStamp OPTIONAL,
+ password Password OPTIONAL,
+ dhkey DHset OPTIONAL,
+ challenge ChallengeString OPTIONAL,
+ random RandomVal OPTIONAL,
+ certificate TypedCertificate OPTIONAL,
+ generalID Identifier OPTIONAL,
+ nonStandard NonStandardParameter OPTIONAL,
+ ...,
+ eckasdhkey ECKASDH OPTIONAL, -- elliptic curve Key Agreement
+
+ -- Scheme-Diffie Hellman Analogue
+ -- (ECKAS-DH)
+ sendersID Identifier OPTIONAL,
+ h235Key H235Key OPTIONAL, -- central distributed key in V3
+ profileInfo SEQUENCE OF ProfileElement OPTIONAL -- profile-specific
+}
+
+-- An object identifier should be placed in the tokenOID field when a
+-- ClearToken is included directly in a message (as opposed to being
+-- encrypted). In all other cases, an application should use the
+-- object identifier { 0 0 } to indicate that the tokenOID value is not
+-- present.
+-- Start all the cryptographic parameterized types here...
+--
+ProfileElement ::= SEQUENCE {
+ elementID INTEGER(0..255), -- element identifier, as defined by
+
+ -- profile
+ paramS Params OPTIONAL, -- any element-specific parameters
+ element Element OPTIONAL, -- value in required form
+ ...
+}
+
+Element ::= CHOICE {
+ octets OCTET STRING,
+ integer INTEGER,
+ bits BIT STRING,
+ name BMPString,
+ flag BOOLEAN,
+ ...
+}
+
+SIGNED{ToBeSigned} ::= SEQUENCE {
+ toBeSigned ToBeSigned,
+ algorithmOID OBJECT IDENTIFIER,
+ paramS Params, -- any "runtime" parameters
+ signature BIT STRING -- could be an RSA or an ASN.1 coded ECGDSA Signature
+}(CONSTRAINED BY { -- Verify or Sign Certificate --})
+
+ENCRYPTED{ToBeEncrypted} ::= SEQUENCE {
+ algorithmOID OBJECT IDENTIFIER,
+ paramS Params, -- any "runtime" parameters
+ encryptedData OCTET STRING
+}(CONSTRAINED BY { -- Encrypt or Decrypt --ToBeEncrypted})
+
+HASHED{ToBeHashed} ::= SEQUENCE {
+ algorithmOID OBJECT IDENTIFIER,
+ paramS Params, -- any "runtime" parameters
+ hash BIT STRING
+}(CONSTRAINED BY { -- Hash --ToBeHashed})
+
+IV8 ::= OCTET STRING(SIZE (8)) -- initial value for 64-bit block ciphers
+
+
+IV16 ::= OCTET STRING(SIZE (16)) -- initial value for 128-bit block ciphers
+
+
+-- signing algorithm used must select one of these types of parameters
+-- needed by receiving end of signature.
+Params ::= SEQUENCE {
+ ranInt INTEGER OPTIONAL, -- some integer value
+ iv8 IV8 OPTIONAL, -- 8-octet initialization vector
+ ...,
+ iv16 IV16 OPTIONAL, -- 16-octet initialization vector
+ iv OCTET STRING OPTIONAL, -- arbitrary length initialization vector
+ clearSalt OCTET STRING OPTIONAL -- unencrypted salting key for encryption
+}
+
+EncodedGeneralToken ::=
+ TYPE-IDENTIFIER.&Type(ClearToken -- general usage token --)
+
+PwdCertToken ::=
+ ClearToken(WITH COMPONENTS {
+ ...,
+ timeStamp PRESENT,
+ generalID PRESENT
+ })
+
+EncodedPwdCertToken ::= TYPE-IDENTIFIER.&Type(PwdCertToken)
+
+CryptoToken ::= CHOICE {
+ cryptoEncryptedToken
+ SEQUENCE-- General purpose/application specific token-- {tokenOID
+ OBJECT
+ IDENTIFIER,
+ token
+ ENCRYPTED
+ {EncodedGeneralToken}
+ },
+ cryptoSignedToken
+ SEQUENCE-- General purpose/application specific token-- {tokenOID
+ OBJECT
+ IDENTIFIER,
+ token
+ SIGNED
+ {EncodedGeneralToken}
+ },
+ cryptoHashedToken
+ SEQUENCE-- General purpose/application specific token-- {tokenOID
+ OBJECT
+ IDENTIFIER,
+ hashedVals
+ ClearToken,
+ token
+ HASHED
+ {EncodedGeneralToken}
+ },
+ cryptoPwdEncr ENCRYPTED{EncodedPwdCertToken},
+ ...
+}
+
+-- These allow the passing of session keys within the H.245 OLC structure.
+-- They are encoded as standalone ASN.1 and based as an OCTET STRING within
+-- H.245
+H235Key ::=
+ CHOICE -- This is used with the H.245 or ClearToken "h235Key" field
+ {
+ secureChannel KeyMaterial,
+ sharedSecret ENCRYPTED{EncodedKeySyncMaterial},
+ certProtectedKey SIGNED{EncodedKeySignedMaterial},
+ ...,
+ secureSharedSecret V3KeySyncMaterial -- for H.235 V3 endpoints
+}
+
+KeySignedMaterial ::= SEQUENCE {
+ generalId Identifier, -- slave's alias
+ mrandom RandomVal, -- master's random value
+ srandom RandomVal OPTIONAL, -- slave's random value
+ timeStamp TimeStamp OPTIONAL, -- master's timestamp for unsolicited EU
+ encrptval ENCRYPTED{EncodedKeySyncMaterial}
+}
+
+EncodedKeySignedMaterial ::= TYPE-IDENTIFIER.&Type(KeySignedMaterial)
+
+H235CertificateSignature ::= SEQUENCE {
+ certificate TypedCertificate,
+ responseRandom RandomVal,
+ requesterRandom RandomVal OPTIONAL,
+ signature SIGNED{EncodedReturnSig},
+ ...
+}
+
+ReturnSig ::= SEQUENCE {
+ generalId Identifier, -- slave's alias
+ responseRandom RandomVal,
+ requestRandom RandomVal OPTIONAL,
+ certificate TypedCertificate OPTIONAL -- requested certificate
+}
+
+EncodedReturnSig ::= TYPE-IDENTIFIER.&Type(ReturnSig)
+
+KeySyncMaterial ::= SEQUENCE {
+ generalID Identifier,
+ keyMaterial KeyMaterial,
+ ...
+}
+
+EncodedKeySyncMaterial ::= TYPE-IDENTIFIER.&Type(KeySyncMaterial)
+
+V3KeySyncMaterial ::= SEQUENCE {
+ generalID Identifier OPTIONAL, -- peer terminal ID
+ algorithmOID OBJECT IDENTIFIER OPTIONAL, -- encryption algorithm
+ paramS Params, -- IV
+ encryptedSessionKey OCTET STRING OPTIONAL, -- encrypted session key
+ encryptedSaltingKey OCTET STRING OPTIONAL, -- encrypted media salting
+
+ -- key
+ clearSaltingKey OCTET STRING OPTIONAL, -- unencrypted media salting
+
+ -- key
+ paramSsalt Params OPTIONAL, -- IV (and clear salt) for salting
+
+ -- key encryption
+ keyDerivationOID OBJECT IDENTIFIER OPTIONAL, -- key derivation
+
+ -- method
+ ...,
+ genericKeyMaterial OCTET STRING OPTIONAL -- ASN.1-encoded key material--
+ -- form is dependent on associated media encryption tag
+}
+
+END -- End of H235-SECURITY-MESSAGES DEFINITIONS
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h235/H235-SRTP.asn b/epan/dissectors/asn1/h235/H235-SRTP.asn
new file mode 100644
index 00000000..1783cd6e
--- /dev/null
+++ b/epan/dissectors/asn1/h235/H235-SRTP.asn
@@ -0,0 +1,58 @@
+-- H235-SRTP.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h235.8/2005/H235-SRTP.asn
+--
+
+-- Module H235-SRTP (H.235.8:09/2005)
+H235-SRTP DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS GenericData
+ FROM H323-MESSAGES;
+
+SrtpCryptoCapability ::=
+ SEQUENCE OF SrtpCryptoInfo -- used in H.245 genericH235SecurityCapability
+
+SrtpCryptoInfo ::= SEQUENCE {
+ cryptoSuite OBJECT IDENTIFIER OPTIONAL,
+ sessionParams SrtpSessionParameters OPTIONAL,
+ allowMKI BOOLEAN OPTIONAL,
+ ...
+}
+
+SrtpKeys ::= SEQUENCE OF SrtpKeyParameters -- used in H.235 V3KeySyncMaterial
+
+SrtpKeyParameters ::= SEQUENCE {
+ masterKey OCTET STRING,
+ masterSalt OCTET STRING,
+ lifetime CHOICE {powerOfTwo INTEGER,
+ specific INTEGER,
+ ...} OPTIONAL,
+ mki SEQUENCE {length INTEGER(1..128),
+ value OCTET STRING,
+ ...} OPTIONAL,
+ ...
+}
+
+SrtpSessionParameters ::= SEQUENCE {
+ kdr INTEGER(0..24) OPTIONAL, -- power of 2
+ unencryptedSrtp BOOLEAN OPTIONAL,
+ unencryptedSrtcp BOOLEAN OPTIONAL,
+ unauthenticatedSrtp BOOLEAN OPTIONAL,
+ fecOrder FecOrder OPTIONAL,
+ windowSizeHint INTEGER(64..65535) OPTIONAL,
+ newParameter SEQUENCE OF GenericData OPTIONAL,
+ ...
+}
+
+FecOrder ::= SEQUENCE {
+ fecBeforeSrtp NULL OPTIONAL,
+ fecAfterSrtp NULL OPTIONAL,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h235/h235.cnf b/epan/dissectors/asn1/h235/h235.cnf
new file mode 100644
index 00000000..2de817e2
--- /dev/null
+++ b/epan/dissectors/asn1/h235/h235.cnf
@@ -0,0 +1,85 @@
+# h235.cnf
+# H.235.x conformation file
+# 2004 Tomas Kukosa
+
+#.IMPORT ../h225/h225-exp.cnf
+
+#.EXPORTS
+
+SIGNED
+ENCRYPTED
+HASHED
+TimeStamp
+ClearToken
+CryptoToken
+AuthenticationMechanism
+
+SrtpKeys
+#.END
+
+#.PDU
+SrtpCryptoCapability
+#.END
+
+#.OMIT_ASSIGNMENT
+ECGDSASignature
+H235CertificateSignature
+
+EncodedGeneralToken
+EncodedPwdCertToken
+PwdCertToken
+EncodedKeySignedMaterial
+KeySignedMaterial
+EncodedReturnSig
+ReturnSig
+EncodedKeySyncMaterial
+KeySyncMaterial
+#.END
+
+#.FIELD_RENAME
+
+TypedCertificate/certificate certificatedata
+SIGNED/signature signaturedata
+CryptoToken/cryptoHashedToken/token hashedToken
+CryptoToken/cryptoSignedToken/token signedToken
+CryptoToken/cryptoEncryptedToken/token encryptedToken
+
+#.END
+
+#.TYPE_ATTR
+TimeStamp TYPE = FT_ABSOLUTE_TIME DISPLAY = ABSOLUTE_TIME_LOCAL
+#.END
+
+#.FIELD_ATTR
+NonStandardParameter/data TYPE = FT_UINT32 DISPLAY = BASE_DEC
+#.END
+
+#.FN_HDR SIGNED
+ proto_item *hidden_item;
+ hidden_item = proto_tree_add_item(tree, proto_h235, tvb, offset>>3, 0, ENC_NA);
+ proto_item_set_hidden(hidden_item);
+#.END
+#.FN_HDR ENCRYPTED
+ proto_item *hidden_item;
+ hidden_item = proto_tree_add_item(tree, proto_h235, tvb, offset>>3, 0, ENC_NA);
+ proto_item_set_hidden(hidden_item);
+#.END
+#.FN_HDR HASHED
+ proto_item *hidden_item;
+ hidden_item = proto_tree_add_item(tree, proto_h235, tvb, offset>>3, 0, ENC_NA);
+ proto_item_set_hidden(hidden_item);
+#.END
+
+#.FN_HDR ClearToken
+ proto_item *hidden_item;
+ hidden_item = proto_tree_add_item(tree, proto_h235, tvb, offset>>3, 0, ENC_NA);
+ proto_item_set_hidden(hidden_item);
+#.END
+
+#.FN_HDR CryptoToken
+ proto_item *hidden_item;
+ hidden_item = proto_tree_add_item(tree, proto_h235, tvb, offset>>3, 0, ENC_NA);
+ proto_item_set_hidden(hidden_item);
+#.END
+
+
diff --git a/epan/dissectors/asn1/h235/packet-h235-template.c b/epan/dissectors/asn1/h235/packet-h235-template.c
new file mode 100644
index 00000000..4441bbb8
--- /dev/null
+++ b/epan/dissectors/asn1/h235/packet-h235-template.c
@@ -0,0 +1,132 @@
+/* packet-h235.c
+ * Routines for H.235 packet dissection
+ * 2004 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-h235.h"
+#include "packet-h225.h"
+
+#define PNAME "H235-SECURITY-MESSAGES"
+#define PSNAME "H.235"
+#define PFNAME "h235"
+
+#define OID_MIKEY "0.0.8.235.0.3.76"
+#define OID_MIKEY_PS "0.0.8.235.0.3.72"
+#define OID_MIKEY_DHHMAC "0.0.8.235.0.3.73"
+#define OID_MIKEY_PK_SIGN "0.0.8.235.0.3.74"
+#define OID_MIKEY_DH_SIGN "0.0.8.235.0.3.75"
+#define OID_TG "0.0.8.235.0.3.70"
+#define OID_SG "0.0.8.235.0.3.71"
+
+void proto_register_h235(void);
+void proto_reg_handoff_h235(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_h235 = -1;
+#include "packet-h235-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-h235-ett.c"
+
+
+static int
+dissect_xxx_ToBeSigned(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
+ dissect_per_not_decoded_yet(tree, actx->pinfo, tvb, "ToBeSigned");
+ return offset;
+}
+
+#include "packet-h235-fn.c"
+
+
+/*--- proto_register_h235 ----------------------------------------------*/
+void proto_register_h235(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-h235-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-h235-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_h235 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h235, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* OID names */
+ /* H.235.1, Chapter 15, Table 3 */
+ /* A */
+ oid_add_from_string("all fields in RAS/CS","0.0.8.235.0.1.1");
+ oid_add_from_string("all fields in RAS/CS","0.0.8.235.0.2.1");
+ /* T */
+ oid_add_from_string("ClearToken","0.0.8.235.0.1.5");
+ oid_add_from_string("ClearToken","0.0.8.235.0.2.5");
+ /* U */
+ oid_add_from_string("HMAC-SHA1-96","0.0.8.235.0.1.6");
+ oid_add_from_string("HMAC-SHA1-96","0.0.8.235.0.2.6");
+ /* H.235.7, Chapter 5, Table 1 */
+ oid_add_from_string("MIKEY", OID_MIKEY);
+ oid_add_from_string("MIKEY-PS", OID_MIKEY_PS);
+ oid_add_from_string("MIKEY-DHHMAC", OID_MIKEY_DHHMAC);
+ oid_add_from_string("MIKEY-PK-SIGN", OID_MIKEY_PK_SIGN);
+ oid_add_from_string("MIKEY-DH-SIGN", OID_MIKEY_DH_SIGN);
+ /* H.235.7, Chapter 8.5 */
+ oid_add_from_string("TG",OID_TG);
+ /* H.235.7, Chapter 9.5 */
+ oid_add_from_string("SG",OID_SG);
+ /* H.235.8, Chapter 4.2, Table 2 */
+ oid_add_from_string("AES_CM_128_HMAC_SHA1_80","0.0.8.235.0.4.91");
+ oid_add_from_string("AES_CM_128_HMAC_SHA1_32","0.0.8.235.0.4.92");
+ oid_add_from_string("F8_128_HMAC_SHA1_80","0.0.8.235.0.4.93");
+}
+
+
+/*--- proto_reg_handoff_h235 -------------------------------------------*/
+void proto_reg_handoff_h235(void) {
+ dissector_handle_t mikey_handle;
+
+ mikey_handle = find_dissector("mikey");
+
+ /* H.235.7, Chapter 7.1, MIKEY operation at "session level" */
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY "/nonCollapsing/0", mikey_handle);
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY_PS "/nonCollapsing/0", mikey_handle);
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY_DHHMAC "/nonCollapsing/0", mikey_handle);
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY_PK_SIGN "/nonCollapsing/0", mikey_handle);
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY_DH_SIGN "/nonCollapsing/0", mikey_handle);
+ dissector_add_string("h245.gef.content", "EncryptionSync/0", mikey_handle);
+ /* H.235.7, Chapter 7.2, MIKEY operation at "media level" */
+ dissector_add_string("h245.gef.content", "EncryptionSync/76", mikey_handle);
+ dissector_add_string("h245.gef.content", "EncryptionSync/72", mikey_handle);
+ dissector_add_string("h245.gef.content", "EncryptionSync/73", mikey_handle);
+ dissector_add_string("h245.gef.content", "EncryptionSync/74", mikey_handle);
+ dissector_add_string("h245.gef.content", "EncryptionSync/75", mikey_handle);
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY "/nonCollapsing/76", mikey_handle);
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY_PS "/nonCollapsing/72", mikey_handle);
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY_DHHMAC "/nonCollapsing/73", mikey_handle);
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY_PK_SIGN "/nonCollapsing/74", mikey_handle);
+ dissector_add_string("h245.gef.content", "GenericCapability/" OID_MIKEY_DH_SIGN "/nonCollapsing/75", mikey_handle);
+
+ /* H.235.8, Chapter 4.1.2, SrtpCryptoCapability transport */
+ dissector_add_string("h245.gef.content", "GenericCapability/0.0.8.235.0.4.90/nonCollapsingRaw",
+ create_dissector_handle(dissect_SrtpCryptoCapability_PDU, proto_h235));
+
+}
+
diff --git a/epan/dissectors/asn1/h235/packet-h235-template.h b/epan/dissectors/asn1/h235/packet-h235-template.h
new file mode 100644
index 00000000..60b889e1
--- /dev/null
+++ b/epan/dissectors/asn1/h235/packet-h235-template.h
@@ -0,0 +1,18 @@
+/* packet-h235.h
+ * Routines for H.235 packet dissection
+ * 2004 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_H235_H
+#define PACKET_H235_H
+
+#include "packet-h235-exp.h"
+
+#endif /* PACKET_H235_H */
+
diff --git a/epan/dissectors/asn1/h245/CMakeLists.txt b/epan/dissectors/asn1/h245/CMakeLists.txt
new file mode 100644
index 00000000..ba97d92b
--- /dev/null
+++ b/epan/dissectors/asn1/h245/CMakeLists.txt
@@ -0,0 +1,42 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h245 )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ MULTIMEDIA-SYSTEM-CONTROL.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h245/MULTIMEDIA-SYSTEM-CONTROL.asn b/epan/dissectors/asn1/h245/MULTIMEDIA-SYSTEM-CONTROL.asn
new file mode 100644
index 00000000..3324b082
--- /dev/null
+++ b/epan/dissectors/asn1/h245/MULTIMEDIA-SYSTEM-CONTROL.asn
@@ -0,0 +1,3410 @@
+-- MULTIMEDIA-SYSTEM-CONTROL.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/formal-language/itu-t/h/h245/2009v15/MULTIMEDIA-SYSTEM-CONTROL.asn
+--
+
+-- Module MULTIMEDIA-SYSTEM-CONTROL (H.245:12/2009)
+MULTIMEDIA-SYSTEM-CONTROL {itu-t(0) recommendation(0) h(8) h245(245)
+ version(0) 15 multimedia-system-control(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+-- Export all symbols
+-- =======================================================================
+-- Top level Messages
+-- =======================================================================
+MultimediaSystemControlMessage ::= CHOICE {
+ request RequestMessage,
+ response ResponseMessage,
+ command CommandMessage,
+ indication IndicationMessage,
+ ...
+}
+
+-- A RequestMessage results in action and requires an immediate response
+RequestMessage ::= CHOICE {
+ nonStandard NonStandardMessage,
+ masterSlaveDetermination MasterSlaveDetermination,
+ terminalCapabilitySet TerminalCapabilitySet,
+ openLogicalChannel OpenLogicalChannel,
+ closeLogicalChannel CloseLogicalChannel,
+ requestChannelClose RequestChannelClose,
+ multiplexEntrySend MultiplexEntrySend,
+ requestMultiplexEntry RequestMultiplexEntry,
+ requestMode RequestMode,
+ roundTripDelayRequest RoundTripDelayRequest,
+ maintenanceLoopRequest MaintenanceLoopRequest,
+ ...,
+ communicationModeRequest CommunicationModeRequest,
+ conferenceRequest ConferenceRequest,
+ multilinkRequest MultilinkRequest,
+ logicalChannelRateRequest LogicalChannelRateRequest,
+ genericRequest GenericMessage
+}
+
+-- A ResponseMessage is the response to a RequestMessage
+ResponseMessage ::= CHOICE {
+ nonStandard NonStandardMessage,
+ masterSlaveDeterminationAck MasterSlaveDeterminationAck,
+ masterSlaveDeterminationReject MasterSlaveDeterminationReject,
+ terminalCapabilitySetAck TerminalCapabilitySetAck,
+ terminalCapabilitySetReject TerminalCapabilitySetReject,
+ openLogicalChannelAck OpenLogicalChannelAck,
+ openLogicalChannelReject OpenLogicalChannelReject,
+ closeLogicalChannelAck CloseLogicalChannelAck,
+ requestChannelCloseAck RequestChannelCloseAck,
+ requestChannelCloseReject RequestChannelCloseReject,
+ multiplexEntrySendAck MultiplexEntrySendAck,
+ multiplexEntrySendReject MultiplexEntrySendReject,
+ requestMultiplexEntryAck RequestMultiplexEntryAck,
+ requestMultiplexEntryReject RequestMultiplexEntryReject,
+ requestModeAck RequestModeAck,
+ requestModeReject RequestModeReject,
+ roundTripDelayResponse RoundTripDelayResponse,
+ maintenanceLoopAck MaintenanceLoopAck,
+ maintenanceLoopReject MaintenanceLoopReject,
+ ...,
+ communicationModeResponse CommunicationModeResponse,
+ conferenceResponse ConferenceResponse,
+ multilinkResponse MultilinkResponse,
+ logicalChannelRateAcknowledge LogicalChannelRateAcknowledge,
+ logicalChannelRateReject LogicalChannelRateReject,
+ genericResponse GenericMessage
+}
+
+-- A CommandMessage requires action, but no explicit response
+CommandMessage ::= CHOICE {
+ nonStandard NonStandardMessage,
+ maintenanceLoopOffCommand MaintenanceLoopOffCommand,
+ sendTerminalCapabilitySet SendTerminalCapabilitySet,
+ encryptionCommand EncryptionCommand,
+ flowControlCommand FlowControlCommand,
+ endSessionCommand EndSessionCommand,
+ miscellaneousCommand MiscellaneousCommand,
+ ...,
+ communicationModeCommand CommunicationModeCommand,
+ conferenceCommand ConferenceCommand,
+ h223MultiplexReconfiguration H223MultiplexReconfiguration,
+ newATMVCCommand NewATMVCCommand,
+ mobileMultilinkReconfigurationCommand MobileMultilinkReconfigurationCommand,
+ genericCommand GenericMessage
+}
+
+-- An IndicationMessage is information that does not require action or response
+IndicationMessage ::= CHOICE {
+ nonStandard NonStandardMessage,
+ functionNotUnderstood FunctionNotUnderstood,
+ masterSlaveDeterminationRelease MasterSlaveDeterminationRelease,
+ terminalCapabilitySetRelease TerminalCapabilitySetRelease,
+ openLogicalChannelConfirm OpenLogicalChannelConfirm,
+ requestChannelCloseRelease RequestChannelCloseRelease,
+ multiplexEntrySendRelease MultiplexEntrySendRelease,
+ requestMultiplexEntryRelease RequestMultiplexEntryRelease,
+ requestModeRelease RequestModeRelease,
+ miscellaneousIndication MiscellaneousIndication,
+ jitterIndication JitterIndication,
+ h223SkewIndication H223SkewIndication,
+ newATMVCIndication NewATMVCIndication,
+ userInput UserInputIndication,
+ ...,
+ h2250MaximumSkewIndication H2250MaximumSkewIndication,
+ mcLocationIndication MCLocationIndication,
+ conferenceIndication ConferenceIndication,
+ vendorIdentification VendorIdentification,
+ functionNotSupported FunctionNotSupported,
+ multilinkIndication MultilinkIndication,
+ logicalChannelRateRelease LogicalChannelRateRelease,
+ flowControlIndication FlowControlIndication,
+ mobileMultilinkReconfigurationIndication
+ MobileMultilinkReconfigurationIndication,
+ genericIndication GenericMessage
+}
+
+-- SequenceNumber is defined here as it is used in a number of Messages
+SequenceNumber ::= INTEGER(0..255)
+
+-- =============================================================================
+-- Generic Message definitions
+-- =============================================================================
+GenericMessage ::= SEQUENCE {
+ messageIdentifier CapabilityIdentifier,
+ subMessageIdentifier INTEGER(0..127) OPTIONAL,
+ messageContent SEQUENCE OF GenericParameter OPTIONAL,
+ ...
+}
+
+GenericInformation ::= GenericMessage
+
+-- =============================================================================
+-- Non-standard Message definitions
+-- =============================================================================
+NonStandardMessage ::= SEQUENCE {nonStandardData NonStandardParameter,
+ ...
+}
+
+NonStandardParameter ::= SEQUENCE {
+ nonStandardIdentifier NonStandardIdentifier,
+ data OCTET STRING
+}
+
+NonStandardIdentifier ::= CHOICE {
+ object OBJECT IDENTIFIER,
+ h221NonStandard
+ SEQUENCE {t35CountryCode INTEGER(0..255), -- country, per --
+ -- Annex A/T.35
+ t35Extension INTEGER(0..255),
+ -- assigned nationally unless
+ -- t35CountryCode is binary
+ -- 1111 1111, in which case it shall
+ -- contain the country code
+ -- according to Annex B/T.35
+ manufacturerCode INTEGER(0..65535) -- assigned nationally
+ }
+}
+
+-- =============================================================================
+-- Master-slave determination definitions
+-- =============================================================================
+MasterSlaveDetermination ::= SEQUENCE {
+ terminalType INTEGER(0..255),
+ statusDeterminationNumber INTEGER(0..16777215),
+ ...
+}
+
+MasterSlaveDeterminationAck ::= SEQUENCE {
+ decision CHOICE {master NULL,
+ slave NULL},
+ ...
+}
+
+MasterSlaveDeterminationReject ::= SEQUENCE {
+ cause CHOICE {identicalNumbers NULL,
+ ...},
+ ...
+}
+
+MasterSlaveDeterminationRelease ::= SEQUENCE {...
+}
+
+-- =============================================================================
+-- Capability exchange definitions
+-- =============================================================================
+TerminalCapabilitySet ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ protocolIdentifier OBJECT IDENTIFIER,
+ -- shall be set to the value
+ -- {itu-t (0) recommendation (0) h (8) 245
+ -- version (0) 15}
+ multiplexCapability MultiplexCapability OPTIONAL,
+ capabilityTable SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL,
+ capabilityDescriptors SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL,
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+ -- generic information associated
+ -- with the message
+}
+
+CapabilityTableEntry ::= SEQUENCE {
+ capabilityTableEntryNumber CapabilityTableEntryNumber,
+ capability Capability OPTIONAL
+}
+
+CapabilityDescriptor ::= SEQUENCE {
+ capabilityDescriptorNumber CapabilityDescriptorNumber,
+ simultaneousCapabilities
+ SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL
+}
+
+AlternativeCapabilitySet ::=
+ SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber
+
+CapabilityTableEntryNumber ::= INTEGER(1..65535)
+
+CapabilityDescriptorNumber ::= INTEGER(0..255)
+
+TerminalCapabilitySetAck ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+ -- generic information associated
+ -- with the message
+}
+
+TerminalCapabilitySetReject ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ cause
+ CHOICE {unspecified NULL,
+ undefinedTableEntryUsed NULL,
+ descriptorCapacityExceeded NULL,
+ tableEntryCapacityExceeded
+ CHOICE {highestEntryNumberProcessed CapabilityTableEntryNumber,
+ noneProcessed NULL},
+ ...},
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+ -- generic information associated
+ -- with the message
+}
+
+TerminalCapabilitySetRelease ::= SEQUENCE {
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+ -- generic information associated
+ -- with the message
+}
+
+-- =============================================================================
+-- Capability exchange definitions: top level capability description
+-- =============================================================================
+Capability ::= CHOICE {
+ nonStandard NonStandardParameter,
+ receiveVideoCapability VideoCapability,
+ transmitVideoCapability VideoCapability,
+ receiveAndTransmitVideoCapability VideoCapability,
+ receiveAudioCapability AudioCapability,
+ transmitAudioCapability AudioCapability,
+ receiveAndTransmitAudioCapability AudioCapability,
+ receiveDataApplicationCapability DataApplicationCapability,
+ transmitDataApplicationCapability DataApplicationCapability,
+ receiveAndTransmitDataApplicationCapability DataApplicationCapability,
+ h233EncryptionTransmitCapability BOOLEAN,
+ h233EncryptionReceiveCapability
+ SEQUENCE {h233IVResponseTime INTEGER(0..255), -- units milliseconds --
+ ...},
+ ...,
+ conferenceCapability ConferenceCapability,
+ h235SecurityCapability H235SecurityCapability,
+ maxPendingReplacementFor INTEGER(0..255),
+ receiveUserInputCapability UserInputCapability,
+ transmitUserInputCapability UserInputCapability,
+ receiveAndTransmitUserInputCapability UserInputCapability,
+ genericControlCapability GenericCapability,
+ receiveMultiplexedStreamCapability MultiplexedStreamCapability,
+ transmitMultiplexedStreamCapability MultiplexedStreamCapability,
+ receiveAndTransmitMultiplexedStreamCapability MultiplexedStreamCapability,
+ receiveRTPAudioTelephonyEventCapability AudioTelephonyEventCapability,
+ receiveRTPAudioToneCapability AudioToneCapability,
+ depFecCapability DepFECCapability, -- Deprecated, do not use
+ multiplePayloadStreamCapability
+ MultiplePayloadStreamCapability,
+ fecCapability FECCapability,
+ redundancyEncodingCap RedundancyEncodingCapability,
+ oneOfCapabilities AlternativeCapabilitySet
+}
+
+H235SecurityCapability ::= SEQUENCE {
+ encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
+ mediaCapability CapabilityTableEntryNumber,
+ -- NOTE - The mediaCapability shall refer to Capability Table Entries
+ -- that do contain, directly or indirectly, one or more transmit,
+ -- receive, or receiveAndTransmit AudioCapability, VideoCapability,
+ -- DataApplicationCapability, or similar capabilities indicated by a
+ -- NonStandardParameter or GenericCapability only
+ ...
+}
+
+-- =============================================================================
+-- Capability exchange definitions: Multiplex capabilities
+-- =============================================================================
+MultiplexCapability ::= CHOICE {
+ nonStandard NonStandardParameter,
+ h222Capability H222Capability,
+ h223Capability H223Capability,
+ v76Capability V76Capability,
+ ...,
+ h2250Capability H2250Capability,
+ genericMultiplexCapability GenericCapability
+}
+
+H222Capability ::= SEQUENCE {
+ numberOfVCs INTEGER(1..256),
+ vcCapability SET OF VCCapability,
+ ...
+}
+
+VCCapability ::= SEQUENCE {
+ aal1
+ SEQUENCE {nullClockRecovery BOOLEAN,
+ srtsClockRecovery BOOLEAN,
+ adaptiveClockRecovery BOOLEAN,
+ nullErrorCorrection BOOLEAN,
+ longInterleaver BOOLEAN,
+ shortInterleaver BOOLEAN,
+ errorCorrectionOnly BOOLEAN,
+ structuredDataTransfer BOOLEAN,
+ partiallyFilledCells BOOLEAN,
+ ...} OPTIONAL,
+ aal5
+ SEQUENCE {forwardMaximumSDUSize INTEGER(0..65535), -- units octets--
+ backwardMaximumSDUSize INTEGER(0..65535), -- units octets--
+ ...} OPTIONAL,
+ transportStream BOOLEAN,
+ programStream BOOLEAN,
+ availableBitRates
+ SEQUENCE {type
+ CHOICE {singleBitRate INTEGER(1..65535), -- units 64 kbit/s--
+ rangeOfBitRates
+ SEQUENCE {lowerBitRate INTEGER(1..65535), -- units 64 kbit/s--
+ higherBitRate INTEGER(1..65535) -- units 64 kbit/s
+ }},
+ ...},
+ ...,
+ aal1ViaGateway
+ SEQUENCE {gatewayAddress SET SIZE (1..256) OF Q2931Address,
+ nullClockRecovery BOOLEAN,
+ srtsClockRecovery BOOLEAN,
+ adaptiveClockRecovery BOOLEAN,
+ nullErrorCorrection BOOLEAN,
+ longInterleaver BOOLEAN,
+ shortInterleaver BOOLEAN,
+ errorCorrectionOnly BOOLEAN,
+ structuredDataTransfer BOOLEAN,
+ partiallyFilledCells BOOLEAN,
+ ...} OPTIONAL
+}
+
+H223Capability ::= SEQUENCE {
+ transportWithI-frames BOOLEAN, -- I-frame transport
+
+ -- of H.245
+ videoWithAL1 BOOLEAN,
+ videoWithAL2 BOOLEAN,
+ videoWithAL3 BOOLEAN,
+ audioWithAL1 BOOLEAN,
+ audioWithAL2 BOOLEAN,
+ audioWithAL3 BOOLEAN,
+ dataWithAL1 BOOLEAN,
+ dataWithAL2 BOOLEAN,
+ dataWithAL3 BOOLEAN,
+ maximumAl2SDUSize INTEGER(0..65535), -- units octets
+ maximumAl3SDUSize INTEGER(0..65535), -- units octets
+ maximumDelayJitter INTEGER(0..1023), -- units milliseconds
+ h223MultiplexTableCapability
+ CHOICE {basic NULL,
+ enhanced
+ SEQUENCE {maximumNestingDepth INTEGER(1..15),
+ maximumElementListSize INTEGER(2..255),
+ maximumSubElementListSize INTEGER(2..255),
+ ...}},
+ ...,
+ maxMUXPDUSizeCapability BOOLEAN,
+ nsrpSupport BOOLEAN,
+ mobileOperationTransmitCapability
+ SEQUENCE {modeChangeCapability BOOLEAN,
+ h223AnnexA BOOLEAN,
+ h223AnnexADoubleFlag BOOLEAN,
+ h223AnnexB BOOLEAN,
+ h223AnnexBwithHeader BOOLEAN,
+ ...} OPTIONAL,
+ h223AnnexCCapability H223AnnexCCapability OPTIONAL,
+ bitRate INTEGER(1..19200) OPTIONAL, -- units of
+
+ -- 100 bit/s
+ mobileMultilinkFrameCapability
+ SEQUENCE {maximumSampleSize INTEGER(1..255), -- units octets--
+ maximumPayloadLength INTEGER(1..65025), -- units octets--
+ ...} OPTIONAL
+}
+
+H223AnnexCCapability ::= SEQUENCE {
+ videoWithAL1M BOOLEAN,
+ videoWithAL2M BOOLEAN,
+ videoWithAL3M BOOLEAN,
+ audioWithAL1M BOOLEAN,
+ audioWithAL2M BOOLEAN,
+ audioWithAL3M BOOLEAN,
+ dataWithAL1M BOOLEAN,
+ dataWithAL2M BOOLEAN,
+ dataWithAL3M BOOLEAN,
+ alpduInterleaving BOOLEAN,
+ maximumAL1MPDUSize INTEGER(0..65535), -- units octets
+ maximumAL2MSDUSize INTEGER(0..65535), -- units octets
+ maximumAL3MSDUSize INTEGER(0..65535), -- units octets
+ ...,
+ rsCodeCapability BOOLEAN OPTIONAL
+}
+
+V76Capability ::= SEQUENCE {
+ suspendResumeCapabilitywAddress BOOLEAN,
+ suspendResumeCapabilitywoAddress BOOLEAN,
+ rejCapability BOOLEAN,
+ sREJCapability BOOLEAN,
+ mREJCapability BOOLEAN,
+ crc8bitCapability BOOLEAN,
+ crc16bitCapability BOOLEAN,
+ crc32bitCapability BOOLEAN,
+ uihCapability BOOLEAN,
+ numOfDLCS INTEGER(2..8191),
+ twoOctetAddressFieldCapability BOOLEAN,
+ loopBackTestCapability BOOLEAN,
+ n401Capability INTEGER(1..4095),
+ maxWindowSizeCapability INTEGER(1..127),
+ v75Capability V75Capability,
+ ...
+}
+
+V75Capability ::= SEQUENCE {audioHeader BOOLEAN,
+ ...
+}
+
+H2250Capability ::= SEQUENCE {
+ maximumAudioDelayJitter INTEGER(0..1023), -- units in
+
+ -- milliseconds
+ receiveMultipointCapability MultipointCapability,
+ transmitMultipointCapability MultipointCapability,
+ receiveAndTransmitMultipointCapability MultipointCapability,
+ mcCapability
+ SEQUENCE {centralizedConferenceMC BOOLEAN,
+ decentralizedConferenceMC BOOLEAN,
+ ...},
+ rtcpVideoControlCapability BOOLEAN, -- FIR and NACK
+ mediaPacketizationCapability MediaPacketizationCapability,
+ ...,
+ transportCapability TransportCapability OPTIONAL,
+ redundancyEncodingCapability
+ SEQUENCE SIZE (1..256) OF RedundancyEncodingCapability OPTIONAL,
+ logicalChannelSwitchingCapability BOOLEAN,
+ t120DynamicPortCapability BOOLEAN
+}
+
+MediaPacketizationCapability ::= SEQUENCE {
+ h261aVideoPacketization BOOLEAN,
+ ...,
+ rtpPayloadType SEQUENCE SIZE (1..256) OF RTPPayloadType OPTIONAL
+}
+
+RSVPParameters ::= SEQUENCE {
+ qosMode QOSMode OPTIONAL,
+ tokenRate INTEGER(1..4294967295) OPTIONAL,
+ -- rate in bytes/s
+ bucketSize INTEGER(1..4294967295) OPTIONAL,
+ -- size in bytes
+ peakRate INTEGER(1..4294967295) OPTIONAL,
+ -- peak bandwidth bytes/s
+ minPoliced INTEGER(1..4294967295) OPTIONAL,
+ --
+ maxPktSize INTEGER(1..4294967295) OPTIONAL,
+ -- size in bytes
+ ...
+}
+
+QOSMode ::= CHOICE {guaranteedQOS NULL,
+ controlledLoad NULL,
+ ...
+}
+
+ATMParameters ::= SEQUENCE {
+ maxNTUSize INTEGER(0..65535), -- units in octets
+ atmUBR BOOLEAN, -- unspecified bit rate
+ atmrtVBR BOOLEAN, -- real time variable
+
+ -- bit rate
+ atmnrtVBR BOOLEAN, -- non real time
+
+ -- variable bit rate
+ atmABR BOOLEAN, -- available bit rate
+ atmCBR BOOLEAN, -- constant bit rate
+ ...
+}
+
+ServicePriorityValue ::= SEQUENCE {
+ nonStandardParameter NonStandardParameter OPTIONAL,
+ ...,
+ value INTEGER(0..255)
+}
+
+ServicePriority ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ servicePrioritySignalled BOOLEAN,
+ servicePriorityValue ServicePriorityValue OPTIONAL,
+ ...,
+ serviceClass INTEGER(0..4095) OPTIONAL,
+ serviceSubclass INTEGER(0..255) OPTIONAL
+}
+
+AuthorizationParameters ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...
+}
+
+QOSType ::= CHOICE {desired NULL,
+ required NULL,
+ ...
+}
+
+QOSClass ::= CHOICE {
+ class0 NULL,
+ class1 NULL,
+ class2 NULL,
+ class3 NULL,
+ class4 NULL,
+ class5 NULL,
+ ...
+}
+
+QOSDescriptor ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ qosType QOSType,
+ qosClass QOSClass,
+ ...
+}
+
+GenericTransportParameters ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ averageRate INTEGER(1..4294967295) OPTIONAL,
+ -- average bandwidth bytes/s
+ burst INTEGER(1..4294967295) OPTIONAL,
+ -- size in bytes
+ peakRate INTEGER(1..4294967295) OPTIONAL,
+ -- peak bandwidth bytes/s
+ maxPktSize INTEGER(1..4294967295) OPTIONAL,
+ -- size in bytes
+ ...
+}
+
+QOSCapability ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ rsvpParameters RSVPParameters OPTIONAL,
+ atmParameters ATMParameters OPTIONAL,
+ ...,
+ localQoS BOOLEAN OPTIONAL,
+ genericTransportParameters GenericTransportParameters OPTIONAL,
+ servicePriority ServicePriority OPTIONAL,
+ authorizationParameter AuthorizationParameters OPTIONAL,
+ qosDescriptor QOSDescriptor OPTIONAL,
+ dscpValue INTEGER(0..63) OPTIONAL
+}
+
+MediaTransportType ::= CHOICE {
+ ip-UDP NULL,
+ ip-TCP NULL,
+ atm-AAL5-UNIDIR NULL, -- virtual circuits used as unidirectional
+ atm-AAL5-BIDIR NULL, -- virtual circuits used as bidirectional
+ ...,
+ atm-AAL5-compressed SEQUENCE {variable-delta BOOLEAN,
+ ...}
+}
+
+MediaChannelCapability ::= SEQUENCE {
+ mediaTransport MediaTransportType OPTIONAL,
+ ...
+}
+
+TransportCapability ::= SEQUENCE {
+ nonStandard NonStandardParameter OPTIONAL,
+ qOSCapabilities SEQUENCE SIZE (1..256) OF QOSCapability OPTIONAL,
+ mediaChannelCapabilities
+ SEQUENCE SIZE (1..256) OF MediaChannelCapability OPTIONAL,
+ ...
+}
+
+RedundancyEncodingCapability ::= SEQUENCE {
+ redundancyEncodingMethod RedundancyEncodingMethod,
+ primaryEncoding CapabilityTableEntryNumber,
+ secondaryEncoding
+ SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber OPTIONAL,
+ -- must be Audio, Video, or Data capabilities, not derived
+ -- capabilities; redundancy order is inferred from number of
+ -- secondary encodings
+ ...
+}
+
+RedundancyEncodingMethod ::= CHOICE {
+ nonStandard NonStandardParameter,
+ rtpAudioRedundancyEncoding NULL,
+ ...,
+ rtpH263VideoRedundancyEncoding RTPH263VideoRedundancyEncoding
+}
+
+RTPH263VideoRedundancyEncoding ::= SEQUENCE {
+ numberOfThreads INTEGER(1..16),
+ framesBetweenSyncPoints INTEGER(1..256),
+ frameToThreadMapping
+ CHOICE {roundrobin NULL,
+ custom
+ SEQUENCE SIZE (1..256) OF RTPH263VideoRedundancyFrameMapping,
+ -- empty SEQUENCE for capability negotiation
+ -- meaningful contents only OpenLogicalChannel
+ ...},
+ containedThreads SEQUENCE SIZE (1..256) OF INTEGER(0..15) OPTIONAL,
+ -- only used for opening of logical channels
+ ...
+}
+
+RTPH263VideoRedundancyFrameMapping ::= SEQUENCE {
+ threadNumber INTEGER(0..15),
+ frameSequence SEQUENCE SIZE (1..256) OF INTEGER(0..255),
+ ...
+}
+
+MultipointCapability ::= SEQUENCE {
+ multicastCapability BOOLEAN,
+ multiUniCastConference BOOLEAN,
+ mediaDistributionCapability SEQUENCE OF MediaDistributionCapability,
+ ...
+}
+
+MediaDistributionCapability ::= SEQUENCE {
+ centralizedControl BOOLEAN,
+ distributedControl BOOLEAN, -- for further study in
+
+ -- ITU-T Rec. H.323
+ centralizedAudio BOOLEAN,
+ distributedAudio BOOLEAN,
+ centralizedVideo BOOLEAN,
+ distributedVideo BOOLEAN,
+ centralizedData SEQUENCE OF DataApplicationCapability OPTIONAL,
+ distributedData SEQUENCE OF DataApplicationCapability OPTIONAL,
+ -- for further study in
+ -- ITU-T Rec. H.323
+ ...
+}
+
+-- =============================================================================
+-- Capability exchange definitions: Video capabilities
+-- =============================================================================
+VideoCapability ::= CHOICE {
+ nonStandard NonStandardParameter,
+ h261VideoCapability H261VideoCapability,
+ h262VideoCapability H262VideoCapability,
+ h263VideoCapability H263VideoCapability,
+ is11172VideoCapability IS11172VideoCapability,
+ ...,
+ genericVideoCapability GenericCapability,
+ extendedVideoCapability ExtendedVideoCapability
+}
+
+ExtendedVideoCapability ::= SEQUENCE {
+ videoCapability SEQUENCE OF VideoCapability,
+ videoCapabilityExtension SEQUENCE OF GenericCapability OPTIONAL,
+ ...
+}
+
+H261VideoCapability ::= SEQUENCE {
+ qcifMPI INTEGER(1..4) OPTIONAL, -- units 1/29.97 Hz
+ cifMPI INTEGER(1..4) OPTIONAL, -- units 1/29.97 Hz
+ temporalSpatialTradeOffCapability BOOLEAN,
+ maxBitRate INTEGER(1..19200), -- units of
+
+ -- 100 bit/s
+ stillImageTransmission BOOLEAN, -- Annex D/H.261
+ ...,
+ videoBadMBsCap BOOLEAN
+}
+
+H262VideoCapability ::= SEQUENCE {
+ profileAndLevel-SPatML BOOLEAN,
+ profileAndLevel-MPatLL BOOLEAN,
+ profileAndLevel-MPatML BOOLEAN,
+ profileAndLevel-MPatH-14 BOOLEAN,
+ profileAndLevel-MPatHL BOOLEAN,
+ profileAndLevel-SNRatLL BOOLEAN,
+ profileAndLevel-SNRatML BOOLEAN,
+ profileAndLevel-SpatialatH-14 BOOLEAN,
+ profileAndLevel-HPatML BOOLEAN,
+ profileAndLevel-HPatH-14 BOOLEAN,
+ profileAndLevel-HPatHL BOOLEAN,
+ videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400 bit/s
+ vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16 384 bits
+ samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
+ linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
+ framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code
+ luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/s
+ ...,
+ videoBadMBsCap BOOLEAN
+}
+
+H263VideoCapability ::= SEQUENCE {
+ sqcifMPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ qcifMPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ cifMPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ cif4MPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ cif16MPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ maxBitRate INTEGER(1..192400), -- units 100 bit/s
+ unrestrictedVector BOOLEAN,
+ arithmeticCoding BOOLEAN,
+ advancedPrediction BOOLEAN,
+ pbFrames BOOLEAN,
+ temporalSpatialTradeOffCapability BOOLEAN,
+ hrd-B INTEGER(0..524287) OPTIONAL, -- units 128 bits
+ bppMaxKb INTEGER(0..65535) OPTIONAL, -- units 1024 bits
+ ...,
+ slowSqcifMPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ slowQcifMPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ slowCifMPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ slowCif4MPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ slowCif16MPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ errorCompensation BOOLEAN,
+ enhancementLayerInfo EnhancementLayerInfo OPTIONAL,
+ h263Options H263Options OPTIONAL
+}
+
+EnhancementLayerInfo ::= SEQUENCE {
+ baseBitRateConstrained BOOLEAN,
+ snrEnhancement SET SIZE (1..14) OF EnhancementOptions OPTIONAL,
+ spatialEnhancement SET SIZE (1..14) OF EnhancementOptions OPTIONAL,
+ bPictureEnhancement SET SIZE (1..14) OF BEnhancementParameters OPTIONAL,
+ ...
+}
+
+BEnhancementParameters ::= SEQUENCE {
+ enhancementOptions EnhancementOptions,
+ numberOfBPictures INTEGER(1..64),
+ ...
+}
+
+EnhancementOptions ::= SEQUENCE {
+ sqcifMPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ qcifMPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ cifMPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ cif4MPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ cif16MPI INTEGER(1..32) OPTIONAL, -- units 1/29.97 Hz
+ maxBitRate INTEGER(1..192400), -- units 100 bit/s
+ unrestrictedVector BOOLEAN,
+ arithmeticCoding BOOLEAN,
+ temporalSpatialTradeOffCapability BOOLEAN,
+ slowSqcifMPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ slowQcifMPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ slowCifMPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ slowCif4MPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ slowCif16MPI INTEGER(1..3600) OPTIONAL, -- units seconds/frame
+ errorCompensation BOOLEAN,
+ h263Options H263Options OPTIONAL,
+ ...
+}
+
+H263Options ::= SEQUENCE {
+ advancedIntraCodingMode BOOLEAN,
+ deblockingFilterMode BOOLEAN,
+ improvedPBFramesMode BOOLEAN,
+ unlimitedMotionVectors BOOLEAN,
+ fullPictureFreeze BOOLEAN,
+ partialPictureFreezeAndRelease BOOLEAN,
+ resizingPartPicFreezeAndRelease BOOLEAN,
+ fullPictureSnapshot BOOLEAN,
+ partialPictureSnapshot BOOLEAN,
+ videoSegmentTagging BOOLEAN,
+ progressiveRefinement BOOLEAN,
+ dynamicPictureResizingByFour BOOLEAN,
+ dynamicPictureResizingSixteenthPel BOOLEAN,
+ dynamicWarpingHalfPel BOOLEAN,
+ dynamicWarpingSixteenthPel BOOLEAN,
+ independentSegmentDecoding BOOLEAN,
+ slicesInOrder-NonRect BOOLEAN,
+ slicesInOrder-Rect BOOLEAN,
+ slicesNoOrder-NonRect BOOLEAN,
+ slicesNoOrder-Rect BOOLEAN,
+ alternateInterVLCMode BOOLEAN,
+ modifiedQuantizationMode BOOLEAN,
+ reducedResolutionUpdate BOOLEAN,
+ transparencyParameters TransparencyParameters OPTIONAL,
+ separateVideoBackChannel BOOLEAN,
+ refPictureSelection RefPictureSelection OPTIONAL,
+ customPictureClockFrequency
+ SET SIZE (1..16) OF CustomPictureClockFrequency OPTIONAL,
+ customPictureFormat
+ SET SIZE (1..16) OF CustomPictureFormat OPTIONAL,
+ modeCombos
+ SET SIZE (1..16) OF H263VideoModeCombos OPTIONAL,
+ ...,
+ videoBadMBsCap BOOLEAN,
+ h263Version3Options H263Version3Options
+}
+
+TransparencyParameters ::= SEQUENCE {
+ presentationOrder INTEGER(1..256),
+ offset-x INTEGER(-262144..262143), -- 1/8 pixels
+ offset-y INTEGER(-262144..262143), -- 1/8 pixels
+ scale-x INTEGER(1..255),
+ scale-y INTEGER(1..255),
+ ...
+}
+
+RefPictureSelection ::= SEQUENCE {
+ additionalPictureMemory
+ SEQUENCE {sqcifAdditionalPictureMemory INTEGER(1..256) OPTIONAL, -- units frame--
+ qcifAdditionalPictureMemory INTEGER(1..256) OPTIONAL, -- units frame--
+ cifAdditionalPictureMemory INTEGER(1..256) OPTIONAL, -- units frame--
+ cif4AdditionalPictureMemory INTEGER(1..256) OPTIONAL, -- units frame--
+ cif16AdditionalPictureMemory INTEGER(1..256) OPTIONAL, -- units frame--
+ bigCpfAdditionalPictureMemory INTEGER(1..256) OPTIONAL, -- units frame--
+ ...} OPTIONAL,
+ videoMux BOOLEAN,
+ videoBackChannelSend
+ CHOICE {none NULL,
+ ackMessageOnly NULL,
+ nackMessageOnly NULL,
+ ackOrNackMessageOnly NULL,
+ ackAndNackMessage NULL,
+ ...},
+ ...,
+ enhancedReferencePicSelect
+ SEQUENCE {subPictureRemovalParameters
+ SEQUENCE {mpuHorizMBs INTEGER(1..128),
+ mpuVertMBs INTEGER(1..72),
+ mpuTotalNumber INTEGER(1..65536),
+ ...} OPTIONAL,
+ ...}
+}
+
+CustomPictureClockFrequency ::= SEQUENCE {
+ clockConversionCode INTEGER(1000..1001),
+ clockDivisor INTEGER(1..127),
+ sqcifMPI INTEGER(1..2048) OPTIONAL,
+ qcifMPI INTEGER(1..2048) OPTIONAL,
+ cifMPI INTEGER(1..2048) OPTIONAL,
+ cif4MPI INTEGER(1..2048) OPTIONAL,
+ cif16MPI INTEGER(1..2048) OPTIONAL,
+ ...
+}
+
+CustomPictureFormat ::= SEQUENCE {
+ maxCustomPictureWidth INTEGER(1..2048), -- units 4 pixels
+ maxCustomPictureHeight INTEGER(1..2048), -- units 4 pixels
+ minCustomPictureWidth INTEGER(1..2048), -- units 4 pixels
+ minCustomPictureHeight INTEGER(1..2048), -- units 4 pixels
+ mPI
+ SEQUENCE {standardMPI INTEGER(1..31) OPTIONAL,
+ customPCF
+ SET SIZE (1..16) OF
+ SEQUENCE {clockConversionCode INTEGER(1000..1001),
+ clockDivisor INTEGER(1..127),
+ customMPI INTEGER(1..2048),
+ ...} OPTIONAL,
+ ...},
+ pixelAspectInformation
+ CHOICE {anyPixelAspectRatio BOOLEAN,
+ pixelAspectCode SET SIZE (1..14) OF INTEGER(1..14),
+ extendedPAR
+ SET SIZE (1..256) OF
+ SEQUENCE {width INTEGER(1..255),
+ height INTEGER(1..255),
+ ...},
+ ...},
+ ...
+}
+
+H263VideoModeCombos ::= SEQUENCE {
+ h263VideoUncoupledModes H263ModeComboFlags,
+ h263VideoCoupledModes SET SIZE (1..16) OF H263ModeComboFlags,
+ ...
+}
+
+H263ModeComboFlags ::= SEQUENCE {
+ unrestrictedVector BOOLEAN,
+ arithmeticCoding BOOLEAN,
+ advancedPrediction BOOLEAN,
+ pbFrames BOOLEAN,
+ advancedIntraCodingMode BOOLEAN,
+ deblockingFilterMode BOOLEAN,
+ unlimitedMotionVectors BOOLEAN,
+ slicesInOrder-NonRect BOOLEAN,
+ slicesInOrder-Rect BOOLEAN,
+ slicesNoOrder-NonRect BOOLEAN,
+ slicesNoOrder-Rect BOOLEAN,
+ improvedPBFramesMode BOOLEAN,
+ referencePicSelect BOOLEAN,
+ dynamicPictureResizingByFour BOOLEAN,
+ dynamicPictureResizingSixteenthPel BOOLEAN,
+ dynamicWarpingHalfPel BOOLEAN,
+ dynamicWarpingSixteenthPel BOOLEAN,
+ reducedResolutionUpdate BOOLEAN,
+ independentSegmentDecoding BOOLEAN,
+ alternateInterVLCMode BOOLEAN,
+ modifiedQuantizationMode BOOLEAN,
+ ...,
+ enhancedReferencePicSelect BOOLEAN,
+ h263Version3Options H263Version3Options
+}
+
+H263Version3Options ::= SEQUENCE {
+ dataPartitionedSlices BOOLEAN,
+ fixedPointIDCT0 BOOLEAN,
+ interlacedFields BOOLEAN,
+ currentPictureHeaderRepetition BOOLEAN,
+ previousPictureHeaderRepetition BOOLEAN,
+ nextPictureHeaderRepetition BOOLEAN,
+ pictureNumber BOOLEAN,
+ spareReferencePictures BOOLEAN,
+ ...
+}
+
+IS11172VideoCapability ::= SEQUENCE {
+ constrainedBitstream BOOLEAN,
+ videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400 bit/s
+ vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16 384 bits
+ samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
+ linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
+ pictureRate INTEGER(0..15) OPTIONAL,
+ luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/s
+ ...,
+ videoBadMBsCap BOOLEAN
+}
+
+-- =============================================================================
+-- Capability exchange definitions: Audio capabilities
+-- =============================================================================
+-- For an H.222 multiplex, the integers indicate the size of the STD buffer
+-- in units of 256 octets
+-- For an H.223 multiplex, the integers indicate the maximum number of audio
+-- frames per AL-SDU
+-- For an H.225.0 multiplex, the integers indicate the maximum number of audio
+-- frames per packet
+AudioCapability ::= CHOICE {
+ nonStandard NonStandardParameter,
+ g711Alaw64k INTEGER(1..256),
+ g711Alaw56k INTEGER(1..256),
+ g711Ulaw64k INTEGER(1..256),
+ g711Ulaw56k INTEGER(1..256),
+ g722-64k INTEGER(1..256),
+ g722-56k INTEGER(1..256),
+ g722-48k INTEGER(1..256),
+ g7231
+ SEQUENCE {maxAl-sduAudioFrames INTEGER(1..256),
+ silenceSuppression BOOLEAN},
+ g728 INTEGER(1..256),
+ g729 INTEGER(1..256),
+ g729AnnexA INTEGER(1..256),
+ is11172AudioCapability IS11172AudioCapability,
+ is13818AudioCapability IS13818AudioCapability,
+ ...,
+ g729wAnnexB INTEGER(1..256),
+ g729AnnexAwAnnexB INTEGER(1..256),
+ g7231AnnexCCapability G7231AnnexCCapability,
+ gsmFullRate GSMAudioCapability,
+ gsmHalfRate GSMAudioCapability,
+ gsmEnhancedFullRate GSMAudioCapability,
+ genericAudioCapability GenericCapability,
+ g729Extensions G729Extensions,
+ vbd VBDCapability,
+ audioTelephonyEvent NoPTAudioTelephonyEventCapability,
+ audioTone NoPTAudioToneCapability
+}
+
+G729Extensions ::= SEQUENCE {
+ audioUnit INTEGER(1..256) OPTIONAL,
+ annexA BOOLEAN,
+ annexB BOOLEAN,
+ annexD BOOLEAN,
+ annexE BOOLEAN,
+ annexF BOOLEAN,
+ annexG BOOLEAN,
+ annexH BOOLEAN,
+ ...
+}
+
+G7231AnnexCCapability ::= SEQUENCE {
+ maxAl-sduAudioFrames INTEGER(1..256),
+ silenceSuppression BOOLEAN,
+ g723AnnexCAudioMode
+ SEQUENCE {highRateMode0 INTEGER(27..78), -- units octets--
+ highRateMode1 INTEGER(27..78), -- units octets--
+ lowRateMode0 INTEGER(23..66), -- units octets--
+ lowRateMode1 INTEGER(23..66), -- units octets--
+ sidMode0 INTEGER(6..17), -- units octets--
+ sidMode1 INTEGER(6..17), -- units octets--
+ ...} OPTIONAL,
+ ...
+}
+
+IS11172AudioCapability ::= SEQUENCE {
+ audioLayer1 BOOLEAN,
+ audioLayer2 BOOLEAN,
+ audioLayer3 BOOLEAN,
+ audioSampling32k BOOLEAN,
+ audioSampling44k1 BOOLEAN,
+ audioSampling48k BOOLEAN,
+ singleChannel BOOLEAN,
+ twoChannels BOOLEAN,
+ bitRate INTEGER(1..448), -- units kbit/s
+ ...
+}
+
+IS13818AudioCapability ::= SEQUENCE {
+ audioLayer1 BOOLEAN,
+ audioLayer2 BOOLEAN,
+ audioLayer3 BOOLEAN,
+ audioSampling16k BOOLEAN,
+ audioSampling22k05 BOOLEAN,
+ audioSampling24k BOOLEAN,
+ audioSampling32k BOOLEAN,
+ audioSampling44k1 BOOLEAN,
+ audioSampling48k BOOLEAN,
+ singleChannel BOOLEAN,
+ twoChannels BOOLEAN,
+ threeChannels2-1 BOOLEAN,
+ threeChannels3-0 BOOLEAN,
+ fourChannels2-0-2-0 BOOLEAN,
+ fourChannels2-2 BOOLEAN,
+ fourChannels3-1 BOOLEAN,
+ fiveChannels3-0-2-0 BOOLEAN,
+ fiveChannels3-2 BOOLEAN,
+ lowFrequencyEnhancement BOOLEAN,
+ multilingual BOOLEAN,
+ bitRate INTEGER(1..1130), -- units kbit/s
+ ...
+}
+
+GSMAudioCapability ::= SEQUENCE {
+ audioUnitSize INTEGER(1..256),
+ comfortNoise BOOLEAN,
+ scrambled BOOLEAN,
+ ...
+}
+
+VBDCapability ::= SEQUENCE {type AudioCapability, -- shall not be "vbd"
+ ...
+}
+
+-- =============================================================================
+-- Capability exchange definitions: Data capabilities
+-- =============================================================================
+DataApplicationCapability ::= SEQUENCE {
+ application
+ CHOICE {nonStandard NonStandardParameter,
+ t120 DataProtocolCapability,
+ dsm-cc DataProtocolCapability,
+ userData DataProtocolCapability,
+ t84
+ SEQUENCE {t84Protocol DataProtocolCapability,
+ t84Profile T84Profile},
+ t434 DataProtocolCapability,
+ h224 DataProtocolCapability,
+ nlpid
+ SEQUENCE {nlpidProtocol DataProtocolCapability,
+ nlpidData OCTET STRING},
+ dsvdControl NULL,
+ h222DataPartitioning DataProtocolCapability,
+ ...,
+ t30fax DataProtocolCapability,
+ t140 DataProtocolCapability,
+ t38fax
+ SEQUENCE {t38FaxProtocol DataProtocolCapability,
+ t38FaxProfile T38FaxProfile},
+ genericDataCapability GenericCapability},
+ maxBitRate INTEGER(0..4294967295), -- units 100 bit/s
+ ...
+}
+
+DataProtocolCapability ::= CHOICE {
+ nonStandard NonStandardParameter,
+ v14buffered NULL,
+ v42lapm NULL, -- may negotiate to V.42 bis
+ hdlcFrameTunnelling NULL,
+ h310SeparateVCStack NULL,
+ h310SingleVCStack NULL,
+ transparent NULL,
+ ...,
+ segmentationAndReassembly NULL,
+ hdlcFrameTunnelingwSAR NULL,
+ v120 NULL, -- as in H.230
+ separateLANStack NULL,
+ v76wCompression
+ CHOICE {transmitCompression CompressionType,
+ receiveCompression CompressionType,
+ transmitAndReceiveCompression CompressionType,
+ ...},
+ tcp NULL,
+ udp NULL
+}
+
+CompressionType ::= CHOICE {v42bis V42bis,
+ ...
+}
+
+V42bis ::= SEQUENCE {
+ numberOfCodewords INTEGER(1..65536),
+ maximumStringLength INTEGER(1..256),
+ ...
+}
+
+T84Profile ::= CHOICE {
+ t84Unrestricted NULL,
+ t84Restricted
+ SEQUENCE {qcif BOOLEAN,
+ cif BOOLEAN,
+ ccir601Seq BOOLEAN,
+ ccir601Prog BOOLEAN,
+ hdtvSeq BOOLEAN,
+ hdtvProg BOOLEAN,
+ g3FacsMH200x100 BOOLEAN,
+ g3FacsMH200x200 BOOLEAN,
+ g4FacsMMR200x100 BOOLEAN,
+ g4FacsMMR200x200 BOOLEAN,
+ jbig200x200Seq BOOLEAN,
+ jbig200x200Prog BOOLEAN,
+ jbig300x300Seq BOOLEAN,
+ jbig300x300Prog BOOLEAN,
+ digPhotoLow BOOLEAN,
+ digPhotoMedSeq BOOLEAN,
+ digPhotoMedProg BOOLEAN,
+ digPhotoHighSeq BOOLEAN,
+ digPhotoHighProg BOOLEAN,
+ ...}
+}
+
+T38FaxProfile ::= SEQUENCE {
+ fillBitRemoval BOOLEAN,
+ transcodingJBIG BOOLEAN,
+ transcodingMMR BOOLEAN,
+ ...,
+ version INTEGER(0..255),
+ -- Version 0, the default, refers to
+ -- T.38 (2005)
+ t38FaxRateManagement T38FaxRateManagement,
+ -- The default Data Rate Management is
+ -- determined by the choice of
+ -- DataProtocolCapability
+ t38FaxUdpOptions T38FaxUdpOptions OPTIONAL,
+ -- For UDP, t38UDPRedundancy is the default
+ t38FaxTcpOptions T38FaxTcpOptions OPTIONAL
+}
+
+T38FaxRateManagement ::= CHOICE {
+ localTCF NULL,
+ transferredTCF NULL,
+ ...
+}
+
+T38FaxUdpOptions ::= SEQUENCE {
+ t38FaxMaxBuffer INTEGER OPTIONAL,
+ t38FaxMaxDatagram INTEGER OPTIONAL,
+ t38FaxUdpEC
+ CHOICE {t38UDPFEC NULL,
+ t38UDPRedundancy NULL,
+ ...}
+}
+
+T38FaxTcpOptions ::= SEQUENCE {t38TCPBidirectionalMode BOOLEAN,
+ ...
+}
+
+-- =============================================================================
+-- Encryption Capability Definitions
+-- =============================================================================
+EncryptionAuthenticationAndIntegrity ::= SEQUENCE {
+ encryptionCapability EncryptionCapability OPTIONAL,
+ authenticationCapability AuthenticationCapability OPTIONAL,
+ integrityCapability IntegrityCapability OPTIONAL,
+ ...,
+ genericH235SecurityCapability GenericCapability OPTIONAL
+}
+
+EncryptionCapability ::= SEQUENCE SIZE (1..256) OF MediaEncryptionAlgorithm
+
+MediaEncryptionAlgorithm ::= CHOICE {
+ nonStandard NonStandardParameter,
+ algorithm OBJECT IDENTIFIER, -- many defined
+
+ -- in ISO/IEC 9979
+ ...
+}
+
+AuthenticationCapability ::= SEQUENCE {
+ nonStandard NonStandardParameter OPTIONAL,
+ ...,
+ antiSpamAlgorithm OBJECT IDENTIFIER OPTIONAL
+}
+
+IntegrityCapability ::= SEQUENCE {
+ nonStandard NonStandardParameter OPTIONAL,
+ ...
+}
+
+-- =============================================================================
+-- Capability Exchange Definitions: UserInput
+-- =============================================================================
+UserInputCapability ::= CHOICE {
+ nonStandard SEQUENCE SIZE (1..16) OF NonStandardParameter,
+ basicString NULL, -- alphanumeric
+ iA5String NULL, -- alphanumeric
+ generalString NULL, -- alphanumeric
+ dtmf NULL, -- supports dtmf using signal
+
+ -- and signalUpdate
+ hookflash NULL, -- supports hookflash using signal
+ ...,
+ extendedAlphanumeric NULL,
+ encryptedBasicString NULL, -- encrypted Basic string in
+
+ -- encryptedAlphanumeric
+ encryptedIA5String NULL, -- encrypted IA5 string in
+
+ -- encryptedSignalType
+ encryptedGeneralString NULL, -- encrypted general string in
+
+ -- extendedAlphanumeric.encryptedalphanumeric
+ secureDTMF NULL, -- secure DTMF using encryptedSignalType
+ genericUserInputCapability GenericCapability
+}
+
+-- =============================================================================
+-- Capability Exchange Definitions: Conference
+-- =============================================================================
+ConferenceCapability ::= SEQUENCE {
+ nonStandardData
+ SEQUENCE OF NonStandardParameter OPTIONAL,
+ chairControlCapability BOOLEAN,
+ ...,
+ videoIndicateMixingCapability BOOLEAN,
+ multipointVisualizationCapability BOOLEAN OPTIONAL -- same as H.230 MVC
+}
+
+-- =============================================================================
+-- Capability Exchange Definitions: Generic Capability
+-- =============================================================================
+GenericCapability ::= SEQUENCE {
+ capabilityIdentifier CapabilityIdentifier,
+ maxBitRate INTEGER(0..4294967295) OPTIONAL,
+ -- Units 100 bit/s
+ collapsing SEQUENCE OF GenericParameter OPTIONAL,
+ nonCollapsing SEQUENCE OF GenericParameter OPTIONAL,
+ nonCollapsingRaw OCTET STRING OPTIONAL,
+ -- Typically contains ASN.1
+ -- PER encoded data describing capability
+ transport DataProtocolCapability OPTIONAL,
+ ...
+}
+
+CapabilityIdentifier ::= CHOICE {
+ standard OBJECT IDENTIFIER,
+ -- e.g., { itu-t (0) recommendation (0) h (8) 267
+ -- version (0) 2 subIdentifier (0)}
+ h221NonStandard NonStandardParameter,
+ uuid OCTET STRING(SIZE (16)),
+ domainBased IA5String(SIZE (1..64)),
+ ...
+}
+
+-- NOTE - The ranges of parameter values have been selected to ensure that the
+-- GenericParameter preamble, standard part of ParameterIdentifier and the
+-- encoding of that choice, and the preamble of ParameterValue to fit into
+-- 2 octets.
+GenericParameter ::= SEQUENCE {
+ parameterIdentifier ParameterIdentifier,
+ parameterValue ParameterValue,
+ supersedes SEQUENCE OF ParameterIdentifier OPTIONAL,
+ ...
+}
+
+ParameterIdentifier ::= CHOICE {
+ standard INTEGER(0..127), -- Assigned by
+
+ -- Capability
+ -- specifications
+ h221NonStandard NonStandardParameter, -- N.B.
+
+ -- NonStandardIdentifier
+ -- is not sufficient in
+ -- this case
+ uuid OCTET STRING(SIZE (16)), -- For non-
+
+ -- standard
+ domainBased IA5String(SIZE (1..64)),
+ ...
+}
+
+ParameterValue ::= CHOICE {
+ logical NULL, -- Only acceptable if
+
+ -- all entities
+ -- include this option
+ booleanArray INTEGER(0..255), -- array of 8 logical
+
+ -- types
+ unsignedMin INTEGER(0..65535), -- Look for min
+
+ -- common value
+ unsignedMax INTEGER(0..65535), -- Look for max
+
+ -- common value
+ unsigned32Min INTEGER(0..4294967295), -- Look for min
+
+ -- common value
+ unsigned32Max INTEGER(0..4294967295), -- Look for max
+
+ -- common value
+ octetString OCTET STRING, -- non-collapsing
+
+ -- octet string
+ genericParameter SEQUENCE OF GenericParameter,
+ ...
+}
+
+-- =============================================================================
+-- Capability Exchange Definitions: Multiplexed Stream Capability
+-- =============================================================================
+MultiplexedStreamCapability ::= SEQUENCE {
+ multiplexFormat MultiplexFormat,
+ controlOnMuxStream BOOLEAN,
+ capabilityOnMuxStream SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL,
+ ...
+}
+
+MultiplexFormat ::= CHOICE {
+ nonStandard NonStandardParameter,
+ h222Capability H222Capability,
+ h223Capability H223Capability,
+ ...
+}
+
+-- =============================================================================
+-- Capability Exchange Definitions: AudioTelephonyEventCapability and AudioToneCapability
+--==============================================================================
+AudioTelephonyEventCapability ::= SEQUENCE {
+ dynamicRTPPayloadType INTEGER(96..127),
+ audioTelephoneEvent GeneralString, -- As per <list of values>
+
+ -- in RFC 4733
+ ...
+}
+
+AudioToneCapability ::= SEQUENCE {dynamicRTPPayloadType INTEGER(96..127),
+ ...
+}
+
+-- The following definitions are as above but without a Payload Type field.
+NoPTAudioTelephonyEventCapability ::= SEQUENCE {
+ audioTelephoneEvent GeneralString, -- As per <list of values>
+
+ -- in RFC 4733
+ ...
+}
+
+NoPTAudioToneCapability ::= SEQUENCE {...
+}
+
+-- =============================================================================
+-- Capability Exchange Definitions: MultiplePayloadStreamCapability
+-- =============================================================================
+MultiplePayloadStreamCapability ::= SEQUENCE {
+ capabilities SET SIZE (1..256) OF AlternativeCapabilitySet,
+ ...
+}
+
+-- =============================================================================
+-- Capability Exchange Definitions: FECCapability
+-- =============================================================================
+DepFECCapability ::= CHOICE -- Deprecated, do not use
+ {
+ rfc2733
+ SEQUENCE {redundancyEncoding BOOLEAN,
+ separateStream
+ SEQUENCE {separatePort BOOLEAN,
+ samePort BOOLEAN,
+ ...},
+ ...},
+ ...
+}
+
+FECCapability ::= SEQUENCE {
+ protectedCapability CapabilityTableEntryNumber,
+ fecScheme
+ -- identifies encoding scheme -- OBJECT IDENTIFIER OPTIONAL,
+ rfc2733Format
+ CHOICE {rfc2733rfc2198 -- RFC 2198 -- MaxRedundancy,
+ rfc2733sameport -- separate packet, same port -- MaxRedundancy,
+ rfc2733diffport -- separate packet and port -- MaxRedundancy
+ } OPTIONAL,
+ ...
+}
+
+MaxRedundancy ::= INTEGER(1..MAX)
+
+-- =============================================================================
+-- Logical channel signalling definitions
+-- =============================================================================
+-- "Forward" is used to refer to transmission in the direction from the terminal
+-- making the original request for a logical channel to the other terminal, and
+-- "reverse" is used to refer to the opposite direction of transmission, in the
+-- case of a bidirectional channel request.
+OpenLogicalChannel ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ forwardLogicalChannelParameters
+ SEQUENCE {portNumber INTEGER(0..65535) OPTIONAL,
+ dataType DataType,
+ multiplexParameters
+ CHOICE {h222LogicalChannelParameters
+ H222LogicalChannelParameters,
+ h223LogicalChannelParameters
+ H223LogicalChannelParameters,
+ v76LogicalChannelParameters
+ V76LogicalChannelParameters,
+ ...,
+ h2250LogicalChannelParameters
+ H2250LogicalChannelParameters,
+ none NULL}, -- for use with Separate Stack when--
+ -- multiplexParameters are not
+ -- required or appropriate
+ ...,
+ forwardLogicalChannelDependency LogicalChannelNumber OPTIONAL,
+ -- also used to refer to the primary
+ -- logical channel when using video
+ -- redundancy coding
+ replacementFor LogicalChannelNumber OPTIONAL
+ },
+ -- Used to specify the reverse channel for bidirectional open request
+ reverseLogicalChannelParameters
+ SEQUENCE {dataType DataType,
+ multiplexParameters
+ CHOICE {-- H.222 parameters are never present in reverse direction
+ h223LogicalChannelParameters
+ H223LogicalChannelParameters,
+ v76LogicalChannelParameters
+ V76LogicalChannelParameters,
+ ...,
+ h2250LogicalChannelParameters
+ H2250LogicalChannelParameters} OPTIONAL, -- Not present for H.222--
+ ...,
+ reverseLogicalChannelDependency LogicalChannelNumber OPTIONAL,
+ -- also used to refer to the primary logical channel when using
+ -- video redundancy coding
+ replacementFor LogicalChannelNumber OPTIONAL
+ } OPTIONAL, -- Not present for unidirectional channel request
+ ...,
+ separateStack NetworkAccessParameters OPTIONAL,
+ -- for Open responder to establish the stack
+ encryptionSync EncryptionSync OPTIONAL,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+}
+
+-- generic information associated
+-- with the message
+LogicalChannelNumber ::= INTEGER(1..65535)
+
+NetworkAccessParameters ::= SEQUENCE {
+ distribution
+ CHOICE {unicast NULL,
+ multicast NULL, -- for further study in T.120--
+ ...} OPTIONAL,
+ networkAddress
+ CHOICE {q2931Address Q2931Address,
+ e164Address IA5String(SIZE (1..128))(FROM ("0123456789#*,")),
+ localAreaAddress TransportAddress,
+ ...},
+ associateConference BOOLEAN,
+ externalReference OCTET STRING(SIZE (1..255)) OPTIONAL,
+ ...,
+ t120SetupProcedure
+ CHOICE {originateCall NULL,
+ waitForCall NULL,
+ issueQuery NULL,
+ ...} OPTIONAL
+}
+
+Q2931Address ::= SEQUENCE {
+ address
+ CHOICE {internationalNumber NumericString(SIZE (1..16)),
+ nsapAddress OCTET STRING(SIZE (1..20)),
+ ...},
+ subaddress OCTET STRING(SIZE (1..20)) OPTIONAL,
+ ...
+}
+
+V75Parameters ::= SEQUENCE {audioHeaderPresent BOOLEAN,
+ ...
+}
+
+DataType ::= CHOICE {
+ nonStandard NonStandardParameter,
+ nullData NULL,
+ videoData VideoCapability,
+ audioData AudioCapability,
+ data DataApplicationCapability,
+ encryptionData EncryptionMode,
+ ...,
+ h235Control NonStandardParameter,
+ h235Media H235Media,
+ multiplexedStream MultiplexedStreamParameter,
+ redundancyEncoding RedundancyEncoding,
+ multiplePayloadStream MultiplePayloadStream,
+ depFec DepFECData, -- Deprecated, do not use
+ fec FECData
+}
+
+H235Media ::= SEQUENCE {
+ encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
+ mediaType
+ CHOICE {nonStandard NonStandardParameter,
+ videoData VideoCapability,
+ audioData AudioCapability,
+ data DataApplicationCapability,
+ ...,
+ redundancyEncoding RedundancyEncoding,
+ multiplePayloadStream MultiplePayloadStream,
+ depFec DepFECData, -- Deprecated, do not use--
+ fec FECData},
+ ...
+}
+
+MultiplexedStreamParameter ::= SEQUENCE {
+ multiplexFormat MultiplexFormat,
+ controlOnMuxStream BOOLEAN,
+ ...
+}
+
+H222LogicalChannelParameters ::= SEQUENCE {
+ resourceID INTEGER(0..65535),
+ subChannelID INTEGER(0..8191),
+ pcr-pid INTEGER(0..8191) OPTIONAL,
+ programDescriptors OCTET STRING OPTIONAL,
+ streamDescriptors OCTET STRING OPTIONAL,
+ ...
+}
+
+H223LogicalChannelParameters ::= SEQUENCE {
+ adaptationLayerType
+ CHOICE {nonStandard NonStandardParameter,
+ al1Framed NULL,
+ al1NotFramed NULL,
+ al2WithoutSequenceNumbers NULL,
+ al2WithSequenceNumbers NULL,
+ al3
+ SEQUENCE {controlFieldOctets INTEGER(0..2),
+ sendBufferSize
+ -- units octets -- INTEGER(0..16777215)},
+ ...,
+ al1M H223AL1MParameters,
+ al2M H223AL2MParameters,
+ al3M H223AL3MParameters},
+ segmentableFlag BOOLEAN,
+ ...
+}
+
+H223AL1MParameters ::= SEQUENCE {
+ transferMode CHOICE {framed NULL,
+ unframed NULL,
+ ...},
+ headerFEC CHOICE {sebch16-7 NULL,
+ golay24-12 NULL,
+ ...},
+ crcLength
+ CHOICE {crc4bit NULL,
+ crc12bit NULL,
+ crc20bit NULL,
+ crc28bit NULL,
+ ...,
+ crc8bit NULL,
+ crc16bit NULL,
+ crc32bit NULL,
+ crcNotUsed NULL},
+ rcpcCodeRate INTEGER(8..32),
+ arqType
+ CHOICE {noArq NULL,
+ typeIArq H223AnnexCArqParameters,
+ typeIIArq H223AnnexCArqParameters,
+ ...},
+ alpduInterleaving BOOLEAN,
+ alsduSplitting BOOLEAN,
+ ...,
+ rsCodeCorrection INTEGER(0..127) OPTIONAL
+}
+
+H223AL2MParameters ::= SEQUENCE {
+ headerFEC CHOICE {sebch16-5 NULL,
+ golay24-12 NULL,
+ ...},
+ alpduInterleaving BOOLEAN,
+ ...
+}
+
+H223AL3MParameters ::= SEQUENCE {
+ headerFormat CHOICE {sebch16-7 NULL,
+ golay24-12 NULL,
+ ...},
+ crcLength
+ CHOICE {crc4bit NULL,
+ crc12bit NULL,
+ crc20bit NULL,
+ crc28bit NULL,
+ ...,
+ crc8bit NULL,
+ crc16bit NULL,
+ crc32bit NULL,
+ crcNotUsed NULL},
+ rcpcCodeRate INTEGER(8..32),
+ arqType
+ CHOICE {noArq NULL,
+ typeIArq H223AnnexCArqParameters,
+ typeIIArq H223AnnexCArqParameters,
+ ...},
+ alpduInterleaving BOOLEAN,
+ ...,
+ rsCodeCorrection INTEGER(0..127) OPTIONAL
+}
+
+H223AnnexCArqParameters ::= SEQUENCE {
+ numberOfRetransmissions
+ CHOICE {finite INTEGER(0..16),
+ infinite NULL,
+ ...},
+ sendBufferSize INTEGER(0..16777215), -- units octets
+ ...
+}
+
+V76LogicalChannelParameters ::= SEQUENCE {
+ hdlcParameters V76HDLCParameters,
+ suspendResume
+ CHOICE {noSuspendResume NULL,
+ suspendResumewAddress NULL,
+ suspendResumewoAddress NULL,
+ ...},
+ uIH BOOLEAN,
+ mode
+ CHOICE {eRM
+ SEQUENCE {windowSize INTEGER(1..127),
+ recovery
+ CHOICE {rej NULL,
+ sREJ NULL,
+ mSREJ NULL,
+ ...},
+ ...},
+ uNERM NULL,
+ ...},
+ v75Parameters V75Parameters,
+ ...
+}
+
+V76HDLCParameters ::= SEQUENCE {
+ crcLength CRCLength,
+ n401 INTEGER(1..4095),
+ loopbackTestProcedure BOOLEAN,
+ ...
+}
+
+CRCLength ::= CHOICE {crc8bit NULL,
+ crc16bit NULL,
+ crc32bit NULL,
+ ...
+}
+
+H2250LogicalChannelParameters ::= SEQUENCE {
+ nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
+ sessionID INTEGER(0..255),
+ associatedSessionID INTEGER(1..255) OPTIONAL,
+ mediaChannel TransportAddress OPTIONAL,
+ mediaGuaranteedDelivery BOOLEAN OPTIONAL,
+ mediaControlChannel TransportAddress OPTIONAL, -- reverse
+
+ -- RTCP channel
+ mediaControlGuaranteedDelivery BOOLEAN OPTIONAL,
+ silenceSuppression BOOLEAN OPTIONAL,
+ destination TerminalLabel OPTIONAL,
+ dynamicRTPPayloadType INTEGER(96..127) OPTIONAL,
+ mediaPacketization
+ CHOICE {h261aVideoPacketization NULL,
+ ...,
+ rtpPayloadType RTPPayloadType} OPTIONAL,
+ ...,
+ transportCapability TransportCapability OPTIONAL,
+ redundancyEncoding RedundancyEncoding OPTIONAL,
+ source TerminalLabel OPTIONAL
+}
+
+RTPPayloadType ::= SEQUENCE {
+ payloadDescriptor
+ CHOICE {nonStandardIdentifier NonStandardParameter,
+ rfc-number INTEGER(1..32768, ...),
+ oid OBJECT IDENTIFIER,
+ ...},
+ payloadType INTEGER(0..127) OPTIONAL,
+ ...
+}
+
+RedundancyEncoding ::= SEQUENCE {
+ redundancyEncodingMethod RedundancyEncodingMethod,
+ secondaryEncoding DataType OPTIONAL, -- depends on method
+ ...,
+ -- The sequence below may be used in place of the above secondaryEncoding field
+ rtpRedundancyEncoding
+ SEQUENCE {primary RedundancyEncodingElement OPTIONAL,
+ -- Present when redundancyEncoding
+ -- is selected as the dataType
+ -- in an OpenLogicalChannel or
+ -- as part of a MultiplePayloadSteam
+ secondary SEQUENCE OF RedundancyEncodingElement OPTIONAL,
+ ...} OPTIONAL
+}
+
+RedundancyEncodingElement ::= SEQUENCE {
+ dataType DataType,
+ payloadType INTEGER(0..127) OPTIONAL,
+ ...
+}
+
+MultiplePayloadStream ::= SEQUENCE {
+ elements SEQUENCE OF MultiplePayloadStreamElement,
+ ...
+}
+
+MultiplePayloadStreamElement ::= SEQUENCE {
+ dataType DataType,
+ payloadType INTEGER(0..127) OPTIONAL,
+ ...
+}
+
+DepFECData ::= CHOICE -- Deprecated, do not use
+ {
+ rfc2733
+ SEQUENCE {mode
+ CHOICE {redundancyEncoding NULL,
+ separateStream
+ CHOICE {differentPort
+ SEQUENCE {protectedSessionID
+ INTEGER(1..255),
+ protectedPayloadType
+ INTEGER(0..127) OPTIONAL,
+ ...},
+ samePort
+ SEQUENCE {protectedPayloadType
+ INTEGER(0..127),
+ ...},
+ ...},
+ ...},
+ ...}
+}
+
+FECData ::= CHOICE {
+ rfc2733
+ SEQUENCE {protectedPayloadType INTEGER(0..127),
+ fecScheme OBJECT IDENTIFIER OPTIONAL,
+ pktMode
+ CHOICE {rfc2198coding NULL,
+ rfc2733sameport SEQUENCE {...},
+ rfc2733diffport
+ SEQUENCE {protectedChannel LogicalChannelNumber,
+ ...},
+ ...},
+ ...},
+ ...
+}
+
+TransportAddress ::= CHOICE {
+ unicastAddress UnicastAddress,
+ multicastAddress MulticastAddress,
+ ...
+}
+
+UnicastAddress ::= CHOICE {
+ iPAddress
+ SEQUENCE {network OCTET STRING(SIZE (4)),
+ tsapIdentifier INTEGER(0..65535),
+ ...},
+ iPXAddress
+ SEQUENCE {node OCTET STRING(SIZE (6)),
+ netnum OCTET STRING(SIZE (4)),
+ tsapIdentifier OCTET STRING(SIZE (2)),
+ ...},
+ iP6Address
+ SEQUENCE {network OCTET STRING(SIZE (16)),
+ tsapIdentifier INTEGER(0..65535),
+ ...},
+ netBios OCTET STRING(SIZE (16)),
+ iPSourceRouteAddress
+ SEQUENCE {routing CHOICE {strict NULL,
+ loose NULL},
+ network OCTET STRING(SIZE (4)),
+ tsapIdentifier INTEGER(0..65535),
+ route SEQUENCE OF OCTET STRING(SIZE (4)),
+ ...},
+ ...,
+ nsap OCTET STRING(SIZE (1..20)),
+ nonStandardAddress NonStandardParameter
+}
+
+MulticastAddress ::= CHOICE {
+ iPAddress
+ SEQUENCE {network OCTET STRING(SIZE (4)),
+ tsapIdentifier INTEGER(0..65535),
+ ...},
+ iP6Address
+ SEQUENCE {network OCTET STRING(SIZE (16)),
+ tsapIdentifier INTEGER(0..65535),
+ ...},
+ ...,
+ nsap OCTET STRING(SIZE (1..20)),
+ nonStandardAddress NonStandardParameter
+}
+
+EncryptionSync ::=
+ SEQUENCE
+ -- used to supply new key and synchronization point
+ {
+ nonStandard NonStandardParameter OPTIONAL,
+ synchFlag INTEGER(0..255), -- may need to be larger
+
+ -- for H.324, etc.
+ -- shall be the Dynamic
+ -- Payload# for H.323
+ h235Key OCTET STRING(SIZE (1..65535)), -- H.235.0
+
+ -- encoded value
+ escrowentry SEQUENCE SIZE (1..256) OF EscrowData OPTIONAL,
+ ...,
+ genericParameter GenericParameter OPTIONAL
+}
+
+EscrowData ::= SEQUENCE {
+ escrowID OBJECT IDENTIFIER,
+ escrowValue BIT STRING(SIZE (1..65535)),
+ ...
+}
+
+OpenLogicalChannelAck ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ reverseLogicalChannelParameters
+ SEQUENCE {reverseLogicalChannelNumber LogicalChannelNumber,
+ portNumber INTEGER(0..65535) OPTIONAL,
+ multiplexParameters
+ CHOICE {h222LogicalChannelParameters
+ H222LogicalChannelParameters,
+ -- H.223 parameters are never present in reverse direction
+ ...,
+ h2250LogicalChannelParameters
+ H2250LogicalChannelParameters} OPTIONAL, -- not present for H.223--
+ ...,
+ replacementFor LogicalChannelNumber OPTIONAL
+ } OPTIONAL, -- not present for unidirectional channel
+
+ -- request
+ ...,
+ separateStack NetworkAccessParameters OPTIONAL,
+ -- for Open requester to establish
+ -- the stack
+ forwardMultiplexAckParameters
+ CHOICE {-- H.222 parameters are never present in the Ack
+ -- H.223 parameters are never present in the Ack
+ -- V.76 parameters are never present in the Ack
+ h2250LogicalChannelAckParameters H2250LogicalChannelAckParameters,
+ ...} OPTIONAL,
+ encryptionSync EncryptionSync OPTIONAL, -- used only by Master
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+}
+
+-- generic information associated
+-- with the message
+OpenLogicalChannelReject ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ cause
+ CHOICE {unspecified NULL,
+ unsuitableReverseParameters NULL,
+ dataTypeNotSupported NULL,
+ dataTypeNotAvailable NULL,
+ unknownDataType NULL,
+ dataTypeALCombinationNotSupported NULL,
+ ...,
+ multicastChannelNotAllowed NULL,
+ insufficientBandwidth NULL,
+ separateStackEstablishmentFailed NULL,
+ invalidSessionID NULL,
+ masterSlaveConflict NULL,
+ waitForCommunicationMode NULL,
+ invalidDependentChannel NULL,
+ replacementForRejected NULL,
+ securityDenied NULL,
+ qoSControlNotSupported NULL}, -- added for callee to indicate
+
+ -- that requested QoS support cannot be
+ -- supported.
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+}
+
+-- generic information associated
+-- with the message
+OpenLogicalChannelConfirm ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+}
+
+-- generic information associated
+-- with the message
+H2250LogicalChannelAckParameters ::= SEQUENCE {
+ nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
+ sessionID INTEGER(1..255) OPTIONAL,
+ mediaChannel TransportAddress OPTIONAL,
+ mediaControlChannel TransportAddress OPTIONAL, -- forward RTCP
+
+ -- channel
+ dynamicRTPPayloadType INTEGER(96..127) OPTIONAL, -- used only by
+
+ -- the master or
+ -- MC
+ ...,
+ flowControlToZero BOOLEAN,
+ portNumber INTEGER(0..65535) OPTIONAL
+}
+
+CloseLogicalChannel ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ source CHOICE {user NULL,
+ lcse NULL},
+ ...,
+ reason
+ CHOICE {unknown NULL,
+ reopen NULL,
+ reservationFailure NULL,
+ ...,
+ networkErrorCode INTEGER(0..255)}
+} -- Indicates the error
+
+-- code received from network
+CloseLogicalChannelAck ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ ...
+}
+
+RequestChannelClose ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ ...,
+ qosCapability QOSCapability OPTIONAL,
+ reason
+ CHOICE {unknown NULL,
+ normal NULL,
+ reopen NULL,
+ reservationFailure NULL,
+ ...,
+ networkErrorCode INTEGER(0..255)}
+} -- Indicates the error
+
+-- code received from network
+RequestChannelCloseAck ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ ...
+}
+
+RequestChannelCloseReject ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ cause CHOICE {unspecified NULL,
+ ...},
+ ...
+}
+
+RequestChannelCloseRelease ::= SEQUENCE {
+ forwardLogicalChannelNumber LogicalChannelNumber,
+ ...
+}
+
+-- =============================================================================
+-- H.223 multiplex table definitions
+-- =============================================================================
+MultiplexEntrySend ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ multiplexEntryDescriptors SET SIZE (1..15) OF MultiplexEntryDescriptor,
+ ...
+}
+
+MultiplexEntryDescriptor ::= SEQUENCE {
+ multiplexTableEntryNumber MultiplexTableEntryNumber,
+ elementList
+ SEQUENCE SIZE (1..256) OF MultiplexElement OPTIONAL
+}
+
+MultiplexElement ::= SEQUENCE {
+ type
+ CHOICE {logicalChannelNumber INTEGER(0..65535),
+ subElementList SEQUENCE SIZE (2..255) OF MultiplexElement
+ },
+ repeatCount
+ CHOICE {finite -- repeats of type -- INTEGER(1..65535),
+ untilClosingFlag -- used for last element -- NULL}
+}
+
+MultiplexTableEntryNumber ::= INTEGER(1..15)
+
+MultiplexEntrySendAck ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ multiplexTableEntryNumber SET SIZE (1..15) OF MultiplexTableEntryNumber,
+ ...
+}
+
+MultiplexEntrySendReject ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ rejectionDescriptions
+ SET SIZE (1..15) OF MultiplexEntryRejectionDescriptions,
+ ...
+}
+
+MultiplexEntryRejectionDescriptions ::= SEQUENCE {
+ multiplexTableEntryNumber MultiplexTableEntryNumber,
+ cause
+ CHOICE {unspecifiedCause NULL,
+ descriptorTooComplex NULL,
+ ...},
+ ...
+}
+
+MultiplexEntrySendRelease ::= SEQUENCE {
+ multiplexTableEntryNumber SET SIZE (1..15) OF MultiplexTableEntryNumber,
+ ...
+}
+
+RequestMultiplexEntry ::= SEQUENCE {
+ entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
+ ...
+}
+
+RequestMultiplexEntryAck ::= SEQUENCE {
+ entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
+ ...
+}
+
+RequestMultiplexEntryReject ::= SEQUENCE {
+ entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
+ rejectionDescriptions
+ SET SIZE (1..15) OF RequestMultiplexEntryRejectionDescriptions,
+ ...
+}
+
+RequestMultiplexEntryRejectionDescriptions ::= SEQUENCE {
+ multiplexTableEntryNumber MultiplexTableEntryNumber,
+ cause CHOICE {unspecifiedCause NULL,
+ ...},
+ ...
+}
+
+RequestMultiplexEntryRelease ::= SEQUENCE {
+ entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
+ ...
+}
+
+-- =============================================================================
+-- Request mode definitions
+-- =============================================================================
+-- RequestMode is a list, in order or preference, of modes that a terminal would
+-- like to have transmitted to it.
+RequestMode ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ requestedModes SEQUENCE SIZE (1..256) OF ModeDescription,
+ ...
+}
+
+RequestModeAck ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ response
+ CHOICE {willTransmitMostPreferredMode NULL,
+ willTransmitLessPreferredMode NULL,
+ ...},
+ ...
+}
+
+RequestModeReject ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ cause
+ CHOICE {modeUnavailable NULL,
+ multipointConstraint NULL,
+ requestDenied NULL,
+ ...},
+ ...
+}
+
+RequestModeRelease ::= SEQUENCE {...
+}
+
+-- =============================================================================
+-- Request mode definitions: Mode description
+-- =============================================================================
+ModeDescription ::= SET SIZE (1..256) OF ModeElement
+
+ModeElementType ::= CHOICE {
+ nonStandard NonStandardParameter,
+ videoMode VideoMode,
+ audioMode AudioMode,
+ dataMode DataMode,
+ encryptionMode EncryptionMode,
+ ...,
+ h235Mode H235Mode,
+ multiplexedStreamMode MultiplexedStreamParameter,
+ redundancyEncodingDTMode RedundancyEncodingDTMode,
+ multiplePayloadStreamMode MultiplePayloadStreamMode,
+ depFecMode DepFECMode, -- deprecated, do not use
+ fecMode FECMode
+}
+
+ModeElement ::= SEQUENCE {
+ type ModeElementType,
+ h223ModeParameters H223ModeParameters OPTIONAL,
+ ...,
+ v76ModeParameters V76ModeParameters OPTIONAL,
+ h2250ModeParameters H2250ModeParameters OPTIONAL,
+ genericModeParameters GenericCapability OPTIONAL,
+ multiplexedStreamModeParameters MultiplexedStreamModeParameters OPTIONAL,
+ logicalChannelNumber LogicalChannelNumber OPTIONAL
+}
+
+H235Mode ::= SEQUENCE {
+ encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
+ mediaMode
+ CHOICE {nonStandard NonStandardParameter,
+ videoMode VideoMode,
+ audioMode AudioMode,
+ dataMode DataMode,
+ ...},
+ ...
+}
+
+MultiplexedStreamModeParameters ::= SEQUENCE {
+ logicalChannelNumber LogicalChannelNumber,
+ ...
+}
+
+RedundancyEncodingDTMode ::= SEQUENCE {
+ redundancyEncodingMethod RedundancyEncodingMethod,
+ primary RedundancyEncodingDTModeElement,
+ secondary SEQUENCE OF RedundancyEncodingDTModeElement,
+ ...
+}
+
+RedundancyEncodingDTModeElement ::= SEQUENCE {
+ type
+ CHOICE {nonStandard NonStandardParameter,
+ videoMode VideoMode,
+ audioMode AudioMode,
+ dataMode DataMode,
+ encryptionMode EncryptionMode,
+ h235Mode H235Mode,
+ ...,
+ fecMode FECMode},
+ ...
+}
+
+MultiplePayloadStreamMode ::= SEQUENCE {
+ elements SEQUENCE OF MultiplePayloadStreamElementMode,
+ ...
+}
+
+MultiplePayloadStreamElementMode ::= SEQUENCE {type ModeElementType,
+ ...
+}
+
+DepFECMode ::= CHOICE -- deprecated, do not use
+ {
+ rfc2733Mode
+ SEQUENCE {mode
+ CHOICE {redundancyEncoding NULL,
+ separateStream
+ CHOICE {differentPort
+ SEQUENCE {protectedSessionID
+ INTEGER(1..255),
+ protectedPayloadType
+ INTEGER(0..127) OPTIONAL,
+ ...},
+ samePort
+ SEQUENCE {protectedType ModeElementType,
+ ...},
+ ...},
+ ...},
+ ...},
+ ...
+}
+
+FECMode ::= SEQUENCE {
+ protectedElement ModeElementType,
+ fecScheme -- identifies encoding scheme -- OBJECT IDENTIFIER OPTIONAL,
+ rfc2733Format
+ CHOICE {rfc2733rfc2198 -- RFC 2198 redundancy -- MaxRedundancy,
+ rfc2733sameport -- separate packet, same port -- MaxRedundancy,
+ rfc2733diffport -- separate packet and port -- MaxRedundancy
+ } OPTIONAL,
+ ...
+}
+
+H223ModeParameters ::= SEQUENCE {
+ adaptationLayerType
+ CHOICE {nonStandard NonStandardParameter,
+ al1Framed NULL,
+ al1NotFramed NULL,
+ al2WithoutSequenceNumbers NULL,
+ al2WithSequenceNumbers NULL,
+ al3
+ SEQUENCE {controlFieldOctets INTEGER(0..2),
+ sendBufferSize
+ -- units octets -- INTEGER(0..16777215)},
+ ...,
+ al1M H223AL1MParameters,
+ al2M H223AL2MParameters,
+ al3M H223AL3MParameters},
+ segmentableFlag BOOLEAN,
+ ...
+}
+
+V76ModeParameters ::= CHOICE {
+ suspendResumewAddress NULL,
+ suspendResumewoAddress NULL,
+ ...
+}
+
+H2250ModeParameters ::= SEQUENCE {
+ redundancyEncodingMode RedundancyEncodingMode OPTIONAL,
+ ...
+}
+
+RedundancyEncodingMode ::= SEQUENCE {
+ redundancyEncodingMethod RedundancyEncodingMethod,
+ secondaryEncoding
+ CHOICE {nonStandard NonStandardParameter,
+ audioData AudioMode,
+ ...} OPTIONAL,
+ ...
+}
+
+-- =============================================================================
+-- Request mode definitions: Video modes
+-- =============================================================================
+VideoMode ::= CHOICE {
+ nonStandard NonStandardParameter,
+ h261VideoMode H261VideoMode,
+ h262VideoMode H262VideoMode,
+ h263VideoMode H263VideoMode,
+ is11172VideoMode IS11172VideoMode,
+ ...,
+ genericVideoMode GenericCapability
+}
+
+H261VideoMode ::= SEQUENCE {
+ resolution CHOICE {qcif NULL,
+ cif NULL},
+ bitRate INTEGER(1..19200), -- units 100 bit/s
+ stillImageTransmission BOOLEAN,
+ ...
+}
+
+H262VideoMode ::= SEQUENCE {
+ profileAndLevel
+ CHOICE {profileAndLevel-SPatML NULL,
+ profileAndLevel-MPatLL NULL,
+ profileAndLevel-MPatML NULL,
+ profileAndLevel-MPatH-14 NULL,
+ profileAndLevel-MPatHL NULL,
+ profileAndLevel-SNRatLL NULL,
+ profileAndLevel-SNRatML NULL,
+ profileAndLevel-SpatialatH-14 NULL,
+ profileAndLevel-HPatML NULL,
+ profileAndLevel-HPatH-14 NULL,
+ profileAndLevel-HPatHL NULL,
+ ...},
+ videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400 bit/s
+ vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16 384 bits
+ samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
+ linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
+ framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code
+ luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/s
+ ...
+}
+
+H263VideoMode ::= SEQUENCE {
+ resolution
+ CHOICE {sqcif NULL,
+ qcif NULL,
+ cif NULL,
+ cif4 NULL,
+ cif16 NULL,
+ ...,
+ custom NULL},
+ bitRate INTEGER(1..19200), -- units 100 bit/s
+ unrestrictedVector BOOLEAN,
+ arithmeticCoding BOOLEAN,
+ advancedPrediction BOOLEAN,
+ pbFrames BOOLEAN,
+ ...,
+ errorCompensation BOOLEAN,
+ enhancementLayerInfo EnhancementLayerInfo OPTIONAL,
+ h263Options H263Options OPTIONAL
+}
+
+IS11172VideoMode ::= SEQUENCE {
+ constrainedBitstream BOOLEAN,
+ videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units
+
+ -- 400 bit/s
+ vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units
+
+ -- 16 384 bits
+ samplesPerLine INTEGER(0..16383) OPTIONAL, -- units
+
+ -- samples/line
+ linesPerFrame INTEGER(0..16383) OPTIONAL, -- units
+
+ -- lines/frame
+ pictureRate INTEGER(0..15) OPTIONAL,
+ luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units
+
+ -- samples/s
+ ...
+}
+
+-- =============================================================================
+-- Request mode definitions: Audio modes
+-- =============================================================================
+AudioMode ::= CHOICE {
+ nonStandard NonStandardParameter,
+ g711Alaw64k NULL,
+ g711Alaw56k NULL,
+ g711Ulaw64k NULL,
+ g711Ulaw56k NULL,
+ g722-64k NULL,
+ g722-56k NULL,
+ g722-48k NULL,
+ g728 NULL,
+ g729 NULL,
+ g729AnnexA NULL,
+ g7231
+ CHOICE {noSilenceSuppressionLowRate NULL,
+ noSilenceSuppressionHighRate NULL,
+ silenceSuppressionLowRate NULL,
+ silenceSuppressionHighRate NULL},
+ is11172AudioMode IS11172AudioMode,
+ is13818AudioMode IS13818AudioMode,
+ ...,
+ g729wAnnexB INTEGER(1..256),
+ g729AnnexAwAnnexB INTEGER(1..256),
+ g7231AnnexCMode G7231AnnexCMode,
+ gsmFullRate GSMAudioCapability,
+ gsmHalfRate GSMAudioCapability,
+ gsmEnhancedFullRate GSMAudioCapability,
+ genericAudioMode GenericCapability,
+ g729Extensions G729Extensions,
+ vbd VBDMode
+}
+
+IS11172AudioMode ::= SEQUENCE {
+ audioLayer
+ CHOICE {audioLayer1 NULL,
+ audioLayer2 NULL,
+ audioLayer3 NULL},
+ audioSampling
+ CHOICE {audioSampling32k NULL,
+ audioSampling44k1 NULL,
+ audioSampling48k NULL},
+ multichannelType
+ CHOICE {singleChannel NULL,
+ twoChannelStereo NULL,
+ twoChannelDual NULL},
+ bitRate INTEGER(1..448), -- units kbit/s
+ ...
+}
+
+IS13818AudioMode ::= SEQUENCE {
+ audioLayer
+ CHOICE {audioLayer1 NULL,
+ audioLayer2 NULL,
+ audioLayer3 NULL},
+ audioSampling
+ CHOICE {audioSampling16k NULL,
+ audioSampling22k05 NULL,
+ audioSampling24k NULL,
+ audioSampling32k NULL,
+ audioSampling44k1 NULL,
+ audioSampling48k NULL},
+ multichannelType
+ CHOICE {singleChannel NULL,
+ twoChannelStereo NULL,
+ twoChannelDual NULL,
+ threeChannels2-1 NULL,
+ threeChannels3-0 NULL,
+ fourChannels2-0-2-0 NULL,
+ fourChannels2-2 NULL,
+ fourChannels3-1 NULL,
+ fiveChannels3-0-2-0 NULL,
+ fiveChannels3-2 NULL},
+ lowFrequencyEnhancement BOOLEAN,
+ multilingual BOOLEAN,
+ bitRate INTEGER(1..1130), -- units kbit/s
+ ...
+}
+
+G7231AnnexCMode ::= SEQUENCE {
+ maxAl-sduAudioFrames INTEGER(1..256),
+ silenceSuppression BOOLEAN,
+ g723AnnexCAudioMode
+ SEQUENCE {highRateMode0 INTEGER(27..78), -- units octets--
+ highRateMode1 INTEGER(27..78), -- units octets--
+ lowRateMode0 INTEGER(23..66), -- units octets--
+ lowRateMode1 INTEGER(23..66), -- units octets--
+ sidMode0 INTEGER(6..17), -- units octets--
+ sidMode1 INTEGER(6..17), -- units octets--
+ ...},
+ ...
+}
+
+VBDMode ::= SEQUENCE {type AudioMode, -- shall not be "vbd"
+ ...
+}
+
+-- =============================================================================
+-- Request mode definitions: Data modes
+-- =============================================================================
+DataMode ::= SEQUENCE {
+ application
+ CHOICE {nonStandard NonStandardParameter,
+ t120 DataProtocolCapability,
+ dsm-cc DataProtocolCapability,
+ userData DataProtocolCapability,
+ t84 DataProtocolCapability,
+ t434 DataProtocolCapability,
+ h224 DataProtocolCapability,
+ nlpid
+ SEQUENCE {nlpidProtocol DataProtocolCapability,
+ nlpidData OCTET STRING},
+ dsvdControl NULL,
+ h222DataPartitioning DataProtocolCapability,
+ ...,
+ t30fax DataProtocolCapability,
+ t140 DataProtocolCapability,
+ t38fax
+ SEQUENCE {t38FaxProtocol DataProtocolCapability,
+ t38FaxProfile T38FaxProfile},
+ genericDataMode GenericCapability},
+ bitRate INTEGER(0..4294967295), -- units 100 bit/s
+ ...
+}
+
+-- =============================================================================
+-- Request mode definitions: Encryption modes
+-- =============================================================================
+EncryptionMode ::= CHOICE {
+ nonStandard NonStandardParameter,
+ h233Encryption NULL,
+ ...
+}
+
+-- =============================================================================
+-- Round Trip Delay definitions
+-- =============================================================================
+RoundTripDelayRequest ::= SEQUENCE {sequenceNumber SequenceNumber,
+ ...
+}
+
+RoundTripDelayResponse ::= SEQUENCE {sequenceNumber SequenceNumber,
+ ...
+}
+
+-- =============================================================================
+-- Maintenance Loop definitions
+-- =============================================================================
+MaintenanceLoopRequest ::= SEQUENCE {
+ type
+ CHOICE {systemLoop NULL,
+ mediaLoop LogicalChannelNumber,
+ logicalChannelLoop LogicalChannelNumber,
+ ...},
+ ...
+}
+
+MaintenanceLoopAck ::= SEQUENCE {
+ type
+ CHOICE {systemLoop NULL,
+ mediaLoop LogicalChannelNumber,
+ logicalChannelLoop LogicalChannelNumber,
+ ...},
+ ...
+}
+
+MaintenanceLoopReject ::= SEQUENCE {
+ type
+ CHOICE {systemLoop NULL,
+ mediaLoop LogicalChannelNumber,
+ logicalChannelLoop LogicalChannelNumber,
+ ...},
+ cause CHOICE {canNotPerformLoop NULL,
+ ...},
+ ...
+}
+
+MaintenanceLoopOffCommand ::= SEQUENCE {...
+}
+
+-- =============================================================================
+-- Communication Mode definitions
+-- =============================================================================
+CommunicationModeCommand ::= SEQUENCE {
+ communicationModeTable SET SIZE (1..256) OF CommunicationModeTableEntry,
+ ...
+}
+
+CommunicationModeRequest ::= SEQUENCE {...
+}
+
+CommunicationModeResponse ::= CHOICE {
+ communicationModeTable SET SIZE (1..256) OF CommunicationModeTableEntry,
+ ...
+}
+
+CommunicationModeTableEntry ::= SEQUENCE {
+ nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
+ sessionID INTEGER(1..255),
+ associatedSessionID INTEGER(1..255) OPTIONAL,
+ terminalLabel TerminalLabel OPTIONAL, -- if not present,
+
+ -- it refers to
+ -- all
+ -- participants in
+ -- the conference
+ sessionDescription BMPString(SIZE (1..128)),
+ -- Basic ISO/IEC 10646 (Unicode)
+ dataType
+ CHOICE {videoData VideoCapability,
+ audioData AudioCapability,
+ data DataApplicationCapability,
+ ...},
+ mediaChannel TransportAddress OPTIONAL,
+ mediaGuaranteedDelivery BOOLEAN OPTIONAL,
+ mediaControlChannel TransportAddress OPTIONAL,
+ -- reverse RTCP channel
+ mediaControlGuaranteedDelivery BOOLEAN OPTIONAL,
+ ...,
+ redundancyEncoding RedundancyEncoding OPTIONAL,
+ sessionDependency INTEGER(1..255) OPTIONAL,
+ destination TerminalLabel OPTIONAL
+}
+
+-- =============================================================================
+-- Conference Request definitions
+-- =============================================================================
+ConferenceRequest ::= CHOICE {
+ terminalListRequest NULL, -- same as H.230 TCU (term->MC)
+ makeMeChair NULL, -- same as H.230 CCA (term->MC)
+ cancelMakeMeChair NULL, -- same as H.230 CIS (term->MC)
+ dropTerminal TerminalLabel, -- same as H.230 CCD(term->MC)
+ requestTerminalID TerminalLabel, -- same as TCP (term->MC)
+ enterH243Password NULL, -- same as H.230 TCS1(MC->term)
+ enterH243TerminalID NULL, -- same as H.230 TCS2/TCI
+
+ -- (MC->term)
+ enterH243ConferenceID NULL, -- same as H.230 TCS3 (MC->term)
+ ...,
+ enterExtensionAddress NULL, -- same as H.230 TCS4 (GW->term)
+ requestChairTokenOwner NULL, -- same as H.230 TCA (term->MC)
+ requestTerminalCertificate
+ SEQUENCE {terminalLabel TerminalLabel OPTIONAL,
+ certSelectionCriteria CertSelectionCriteria OPTIONAL,
+ sRandom INTEGER(1..4294967295) OPTIONAL,
+ -- this is the requester's challenge
+ ...},
+ broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV
+ makeTerminalBroadcaster TerminalLabel, -- similar to H.230 VCB
+ sendThisSource TerminalLabel, -- similar to H.230 VCS
+ requestAllTerminalIDs NULL,
+ remoteMCRequest RemoteMCRequest
+}
+
+CertSelectionCriteria ::= SEQUENCE SIZE (1..16) OF Criteria
+
+Criteria ::= SEQUENCE {
+ field OBJECT IDENTIFIER, -- may include
+
+ -- certificate type
+ value OCTET STRING(SIZE (1..65535)),
+ ...
+}
+
+TerminalLabel ::= SEQUENCE {
+ mcuNumber McuNumber,
+ terminalNumber TerminalNumber,
+ ...
+}
+
+McuNumber ::= INTEGER(0..192)
+
+TerminalNumber ::= INTEGER(0..192)
+
+-- =============================================================================
+-- Conference Response definitions
+-- =============================================================================
+ConferenceResponse ::= CHOICE {
+ mCTerminalIDResponse
+ SEQUENCE-- response to TCP --
+ -- (same as TIP)
+ {-- sent by MC only--terminalLabel TerminalLabel,
+ terminalID TerminalID,
+ ...},
+ terminalIDResponse
+ SEQUENCE-- response to TCS2 or TCI-- {-- same as IIS--terminalLabel
+ TerminalLabel, -- (term->MC)--
+ terminalID
+ TerminalID,
+ ...},
+ conferenceIDResponse
+ SEQUENCE-- response to TCS3-- {-- same as IIS--terminalLabel TerminalLabel, -- (term->MC)--
+ conferenceID ConferenceID,
+ ...},
+ passwordResponse
+ SEQUENCE-- response to TCS1-- {-- same as IIS--terminalLabel TerminalLabel, -- (term->MC)--
+ password Password,
+ ...},
+ terminalListResponse SET SIZE (1..256) OF TerminalLabel,
+ videoCommandReject NULL, -- same as H.230 VCR
+ terminalDropReject NULL, -- same as H.230 CIR
+ makeMeChairResponse
+ CHOICE-- same as H.230 CCR-- {grantedChairToken NULL, -- same as H.230 CIT--
+ deniedChairToken NULL, -- same as H.230 CCR--
+ ...},
+ ...,
+ extensionAddressResponse
+ SEQUENCE-- response to TCS4-- {extensionAddress TerminalID, -- same as IIS (term->GW)--
+ ...},
+ chairTokenOwnerResponse
+ SEQUENCE-- response to TCA (same as TIR) --
+ -- sent by MC only
+ {terminalLabel TerminalLabel,
+ terminalID TerminalID,
+ ...},
+ terminalCertificateResponse
+ SEQUENCE {terminalLabel TerminalLabel OPTIONAL,
+ certificateResponse OCTET STRING(SIZE (1..65535)) OPTIONAL,
+ ...},
+ broadcastMyLogicalChannelResponse
+ CHOICE {grantedBroadcastMyLogicalChannel NULL, -- similar to H.230 MVA--
+ deniedBroadcastMyLogicalChannel NULL, -- similar to H.230 MVR--
+ ...},
+ makeTerminalBroadcasterResponse
+ CHOICE {grantedMakeTerminalBroadcaster NULL,
+ deniedMakeTerminalBroadcaster NULL,
+ ...},
+ sendThisSourceResponse
+ CHOICE {grantedSendThisSource NULL,
+ deniedSendThisSource NULL,
+ ...},
+ requestAllTerminalIDsResponse RequestAllTerminalIDsResponse,
+ remoteMCResponse RemoteMCResponse
+}
+
+TerminalID ::= OCTET STRING(SIZE (1..128)) -- as per H.230
+
+
+ConferenceID ::= OCTET STRING(SIZE (1..32))
+
+Password ::= OCTET STRING(SIZE (1..32))
+
+RequestAllTerminalIDsResponse ::= SEQUENCE {
+ terminalInformation SEQUENCE OF TerminalInformation,
+ ...
+}
+
+TerminalInformation ::= SEQUENCE {
+ terminalLabel TerminalLabel,
+ terminalID TerminalID,
+ ...
+}
+
+-- =============================================================================
+-- Remote MC Request definitions
+-- =============================================================================
+RemoteMCRequest ::= CHOICE {
+ masterActivate NULL,
+ slaveActivate NULL,
+ deActivate NULL,
+ ...
+}
+
+RemoteMCResponse ::= CHOICE {
+ accept NULL,
+ reject CHOICE {unspecified NULL,
+ functionNotSupported NULL,
+ ...},
+ ...
+}
+
+-- =============================================================================
+-- Multilink definitions
+-- =============================================================================
+MultilinkRequest ::= CHOICE {
+ nonStandard NonStandardMessage,
+ callInformation
+ SEQUENCE {maxNumberOfAdditionalConnections INTEGER(1..65535),
+ ...},
+ addConnection
+ SEQUENCE {sequenceNumber SequenceNumber, -- Unique ID of request--
+ dialingInformation DialingInformation,
+ ...},
+ removeConnection
+ SEQUENCE {connectionIdentifier ConnectionIdentifier,
+ ...},
+ maximumHeaderInterval
+ SEQUENCE {requestType
+ CHOICE {currentIntervalInformation NULL,
+ requestedInterval INTEGER(0..65535), -- Max Header --
+ -- Interval,
+ -- milliseconds
+ ...},
+ ...},
+ ...
+}
+
+MultilinkResponse ::= CHOICE {
+ nonStandard NonStandardMessage,
+ callInformation
+ SEQUENCE {dialingInformation DialingInformation,
+ callAssociationNumber INTEGER(0..4294967295),
+ ...},
+ addConnection
+ SEQUENCE {sequenceNumber SequenceNumber, -- Equal to value in request--
+ responseCode
+ CHOICE {accepted NULL,
+ rejected
+ CHOICE {connectionsNotAvailable NULL, -- due to any technical reason--
+ userRejected NULL,
+ ...},
+ ...},
+ ...},
+ removeConnection
+ SEQUENCE {connectionIdentifier ConnectionIdentifier,
+ ...},
+ maximumHeaderInterval
+ SEQUENCE {currentInterval INTEGER(0..65535), -- Max Header --
+ -- Interval,
+ -- milliseconds
+ ...},
+ ...
+}
+
+MultilinkIndication ::= CHOICE {
+ nonStandard NonStandardMessage,
+ crcDesired SEQUENCE {...},
+ excessiveError SEQUENCE {connectionIdentifier ConnectionIdentifier,
+ ...},
+ ...
+}
+
+DialingInformation ::= CHOICE {
+ nonStandard NonStandardMessage,
+ differential SET SIZE (1..65535) OF DialingInformationNumber,
+ -- list of numbers for all additional
+ -- channels; only least significant digits
+ -- different from initial channel's number
+ infoNotAvailable INTEGER(1..65535), -- maximum No. of
+
+ -- additional channels
+ ...
+}
+
+DialingInformationNumber ::= SEQUENCE {
+ networkAddress NumericString(SIZE (0..40)),
+ subAddress IA5String(SIZE (1..40)) OPTIONAL,
+ networkType SET SIZE (1..255) OF DialingInformationNetworkType,
+ ...
+}
+
+DialingInformationNetworkType ::= CHOICE {
+ nonStandard NonStandardMessage,
+ n-isdn NULL,
+ gstn NULL,
+ ...,
+ mobile NULL
+}
+
+ConnectionIdentifier ::= SEQUENCE {
+ channelTag INTEGER(0..4294967295), -- from H.226
+ sequenceNumber INTEGER(0..4294967295), -- from H.226
+ ...
+}
+
+-- =============================================================================
+-- Logical channel bit-rate change definitions
+-- =============================================================================
+MaximumBitRate ::= INTEGER(0..4294967295) -- units of 100 bit/s
+
+
+LogicalChannelRateRequest ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ logicalChannelNumber LogicalChannelNumber,
+ maximumBitRate MaximumBitRate,
+ ...
+}
+
+LogicalChannelRateAcknowledge ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ logicalChannelNumber LogicalChannelNumber,
+ maximumBitRate MaximumBitRate,
+ ...
+}
+
+LogicalChannelRateReject ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ logicalChannelNumber LogicalChannelNumber,
+ rejectReason LogicalChannelRateRejectReason,
+ currentMaximumBitRate MaximumBitRate OPTIONAL,
+ ...
+}
+
+LogicalChannelRateRejectReason ::= CHOICE {
+ undefinedReason NULL,
+ insufficientResources NULL,
+ ...
+}
+
+LogicalChannelRateRelease ::= SEQUENCE {...
+}
+
+-- =============================================================================
+-- Command Message definitions
+-- =============================================================================
+-- =============================================================================
+-- Command Message: Send Terminal Capability Set
+-- =============================================================================
+SendTerminalCapabilitySet ::= CHOICE {
+ specificRequest
+ SEQUENCE {multiplexCapability BOOLEAN,
+ capabilityTableEntryNumbers
+ SET SIZE (1..65535) OF CapabilityTableEntryNumber OPTIONAL,
+ capabilityDescriptorNumbers
+ SET SIZE (1..256) OF CapabilityDescriptorNumber OPTIONAL,
+ ...},
+ genericRequest NULL,
+ ...
+}
+
+-- =============================================================================
+-- Command Message: Encryption
+-- =============================================================================
+EncryptionCommand ::= CHOICE {
+ encryptionSE OCTET STRING, -- per H.233, but no
+
+ -- error protection
+ encryptionIVRequest NULL, -- requests new IV
+ encryptionAlgorithmID
+ SEQUENCE {h233AlgorithmIdentifier SequenceNumber,
+ associatedAlgorithm NonStandardParameter},
+ ...
+}
+
+-- =============================================================================
+-- Command Message: Flow Control
+-- =============================================================================
+FlowControlCommand ::= SEQUENCE {
+ scope
+ CHOICE {logicalChannelNumber LogicalChannelNumber,
+ resourceID INTEGER(0..65535),
+ wholeMultiplex NULL},
+ restriction
+ CHOICE {maximumBitRate INTEGER(0..16777215), -- units 100 bit/s --
+ noRestriction NULL},
+ ...
+}
+
+-- =============================================================================
+-- Command Message: Change or End Session
+-- =============================================================================
+EndSessionCommand ::= CHOICE {
+ nonStandard NonStandardParameter,
+ disconnect NULL,
+ gstnOptions
+ CHOICE {telephonyMode NULL,
+ v8bis NULL,
+ v34DSVD NULL,
+ v34DuplexFAX NULL,
+ v34H324 NULL,
+ ...},
+ ...,
+ isdnOptions
+ CHOICE {telephonyMode NULL,
+ v140 NULL,
+ terminalOnHold NULL,
+ ...},
+ genericInformation SEQUENCE OF GenericInformation
+}
+
+-- generic information associated
+-- with the message
+-- =============================================================================
+-- Command Message: Conference Commands
+-- =============================================================================
+ConferenceCommand ::= CHOICE {
+ broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV
+ cancelBroadcastMyLogicalChannel LogicalChannelNumber, -- similar to
+
+ -- H.230 Cancel-MCV
+ makeTerminalBroadcaster TerminalLabel, -- same as H.230 VCB
+ cancelMakeTerminalBroadcaster NULL, -- same as H.230
+
+ -- Cancel-VCB
+ sendThisSource TerminalLabel, -- same as H.230 VCS
+ cancelSendThisSource NULL, -- same as H.230
+
+ -- cancel VCS
+ dropConference NULL, -- same as H.230 CCK
+ ...,
+ substituteConferenceIDCommand SubstituteConferenceIDCommand
+}
+
+SubstituteConferenceIDCommand ::= SEQUENCE {
+ conferenceIdentifier OCTET STRING(SIZE (16)),
+ ...
+}
+
+-- =============================================================================
+-- Command Message: Miscellaneous H.230-like commands
+-- =============================================================================
+EncryptionUpdateDirection ::= CHOICE {
+ masterToSlave NULL,
+ slaveToMaster NULL,
+ ...
+}
+
+MiscellaneousCommand ::= SEQUENCE {
+ logicalChannelNumber LogicalChannelNumber,
+ type
+ CHOICE {equaliseDelay NULL, -- same as H.230 ACE--
+ zeroDelay NULL, -- same as H.230 ACZ--
+ multipointModeCommand NULL,
+ cancelMultipointModeCommand NULL,
+ videoFreezePicture NULL,
+ videoFastUpdatePicture NULL,
+ videoFastUpdateGOB
+ SEQUENCE {firstGOB INTEGER(0..17),
+ numberOfGOBs INTEGER(1..18)},
+ videoTemporalSpatialTradeOff INTEGER(0..31), -- commands a trade-off value--
+ videoSendSyncEveryGOB NULL,
+ videoSendSyncEveryGOBCancel NULL,
+ ...,
+ videoFastUpdateMB
+ SEQUENCE {firstGOB INTEGER(0..255) OPTIONAL,
+ firstMB INTEGER(1..8192) OPTIONAL,
+ numberOfMBs INTEGER(1..8192),
+ ...},
+ maxH223MUXPDUsize INTEGER(1..65535), -- units octets--
+ encryptionUpdate EncryptionSync,
+ encryptionUpdateRequest EncryptionUpdateRequest,
+ switchReceiveMediaOff NULL,
+ switchReceiveMediaOn NULL,
+ progressiveRefinementStart
+ SEQUENCE {repeatCount
+ CHOICE {doOneProgression NULL,
+ doContinuousProgressions NULL,
+ doOneIndependentProgression NULL,
+ doContinuousIndependentProgressions NULL,
+ ...},
+ ...},
+ progressiveRefinementAbortOne NULL,
+ progressiveRefinementAbortContinuous NULL,
+ videoBadMBs
+ SEQUENCE {firstMB INTEGER(1..9216),
+ numberOfMBs INTEGER(1..9216),
+ temporalReference INTEGER(0..1023),
+ ...},
+ lostPicture SEQUENCE OF PictureReference,
+ lostPartialPicture
+ SEQUENCE {pictureReference PictureReference,
+ firstMB INTEGER(1..9216),
+ numberOfMBs INTEGER(1..9216),
+ ...},
+ recoveryReferencePicture SEQUENCE OF PictureReference,
+ encryptionUpdateCommand
+ SEQUENCE-- for ack'ed key update in H.235V3-- {encryptionSync
+
+ EncryptionSync,
+ multiplePayloadStream
+
+ MultiplePayloadStream
+ OPTIONAL,
+ ...},
+ encryptionUpdateAck
+ SEQUENCE {synchFlag INTEGER(0..255),
+ ...}},
+ ...,
+ direction EncryptionUpdateDirection OPTIONAL
+}
+
+KeyProtectionMethod ::=
+ SEQUENCE -- specify how the new
+
+ -- key is to be protected
+ {
+ secureChannel BOOLEAN,
+ sharedSecret BOOLEAN,
+ certProtectedKey BOOLEAN,
+ ...
+}
+
+EncryptionUpdateRequest ::= SEQUENCE {
+ keyProtectionMethod KeyProtectionMethod OPTIONAL,
+ ...,
+ synchFlag INTEGER(0..255) OPTIONAL
+}
+
+PictureReference ::= CHOICE {
+ pictureNumber INTEGER(0..1023),
+ longTermPictureIndex INTEGER(0..255),
+ ...
+}
+
+-- =============================================================================
+-- Command Message: H.223 Multiplex Reconfiguration
+-- =============================================================================
+H223MultiplexReconfiguration ::= CHOICE {
+ h223ModeChange
+ CHOICE {toLevel0 NULL,
+ toLevel1 NULL,
+ toLevel2 NULL,
+ toLevel2withOptionalHeader NULL,
+ ...},
+ h223AnnexADoubleFlag CHOICE {start NULL,
+ stop NULL,
+ ...},
+ ...
+}
+
+-- =============================================================================
+-- Command Message: New ATM virtual channel command
+-- =============================================================================
+NewATMVCCommand ::= SEQUENCE {
+ resourceID INTEGER(0..65535),
+ bitRate INTEGER(1..65535), -- units 64 kbit/s
+ bitRateLockedToPCRClock BOOLEAN,
+ bitRateLockedToNetworkClock BOOLEAN,
+ aal
+ CHOICE {aal1
+ SEQUENCE {clockRecovery
+ CHOICE {nullClockRecovery NULL,
+ srtsClockRecovery NULL,
+ adaptiveClockRecovery NULL,
+ ...},
+ errorCorrection
+ CHOICE {nullErrorCorrection NULL,
+ longInterleaver NULL,
+ shortInterleaver NULL,
+ errorCorrectionOnly NULL,
+ ...},
+ structuredDataTransfer BOOLEAN,
+ partiallyFilledCells BOOLEAN,
+ ...},
+ aal5
+ SEQUENCE {forwardMaximumSDUSize INTEGER(0..65535), -- units octets--
+ backwardMaximumSDUSize INTEGER(0..65535), -- units octets--
+ ...},
+ ...},
+ multiplex
+ CHOICE {noMultiplex NULL,
+ transportStream NULL,
+ programStream NULL,
+ ...},
+ reverseParameters
+ SEQUENCE {bitRate INTEGER(1..65535), -- units 64 kbit/s--
+ bitRateLockedToPCRClock BOOLEAN,
+ bitRateLockedToNetworkClock BOOLEAN,
+ multiplex
+ CHOICE {noMultiplex NULL,
+ transportStream NULL,
+ programStream NULL,
+ ...},
+ ...},
+ ...
+}
+
+-- =============================================================================
+-- Command Message: Mobile Multilink Reconfiguration command
+-- =============================================================================
+MobileMultilinkReconfigurationCommand ::= SEQUENCE {
+ sampleSize INTEGER(1..255),
+ samplesPerFrame INTEGER(1..255),
+ status CHOICE {synchronized NULL,
+ reconfiguration NULL,
+ ...},
+ ...
+}
+
+-- =============================================================================
+-- Indication Message definitions
+-- =============================================================================
+-- =============================================================================
+-- Indication Message: Function not understood
+-- =============================================================================
+-- This is used to return a request, response or command that is not understood
+FunctionNotUnderstood ::= CHOICE {
+ request RequestMessage,
+ response ResponseMessage,
+ command CommandMessage
+}
+
+-- =============================================================================
+-- Indication Message: Function not Supported
+-- =============================================================================
+-- This is used to return a complete request, response or command that is not
+-- recognized
+FunctionNotSupported ::= SEQUENCE {
+ cause
+ CHOICE {syntaxError NULL,
+ semanticError NULL,
+ unknownFunction NULL,
+ ...},
+ returnedFunction OCTET STRING OPTIONAL,
+ ...
+}
+
+-- =============================================================================
+-- Indication Message: Conference
+-- =============================================================================
+ConferenceIndication ::= CHOICE {
+ sbeNumber INTEGER(0..9), -- same as H.230 SBE Number
+ terminalNumberAssign TerminalLabel, -- same as H.230 TIA
+ terminalJoinedConference TerminalLabel, -- same as H.230 TIN
+ terminalLeftConference TerminalLabel, -- same as H.230 TID
+ seenByAtLeastOneOther NULL, -- same as H.230 MIV
+ cancelSeenByAtLeastOneOther NULL, -- same as H.230 cancel MIV
+ seenByAll NULL, -- like H.230 MIV
+ cancelSeenByAll NULL, -- like H.230 MIV
+ terminalYouAreSeeing TerminalLabel, -- same as H.230 VIN
+ requestForFloor NULL, -- same as H.230 TIF
+ ...,
+ withdrawChairToken NULL, -- same as H.230 CCR MC-> chair
+ floorRequested TerminalLabel, -- same as H.230 TIF MC-> chair
+ terminalYouAreSeeingInSubPictureNumber
+ TerminalYouAreSeeingInSubPictureNumber,
+ videoIndicateCompose VideoIndicateCompose,
+ masterMCU NULL, -- same as H.230 MIM
+ cancelMasterMCU -- same as H.230 cancel MIM -- NULL
+}
+
+TerminalYouAreSeeingInSubPictureNumber ::= SEQUENCE {
+ terminalNumber TerminalNumber,
+ subPictureNumber INTEGER(0..255),
+ ...,
+ mcuNumber McuNumber
+}
+
+VideoIndicateCompose ::= SEQUENCE {compositionNumber INTEGER(0..255),
+ ...
+}
+
+-- =============================================================================
+-- Indication Message: Miscellaneous H.230-like indication
+-- =============================================================================
+MiscellaneousIndication ::= SEQUENCE {
+ logicalChannelNumber LogicalChannelNumber,
+ type
+ CHOICE {logicalChannelActive NULL, -- same as H.230 AIA and VIA--
+ logicalChannelInactive NULL, -- same as H.230 AIM and VIS--
+ multipointConference NULL,
+ cancelMultipointConference NULL,
+ multipointZeroComm NULL, -- same as H.230 MIZ--
+ cancelMultipointZeroComm NULL, -- same as H.230 cancel MIZ--
+ multipointSecondaryStatus NULL, -- same as H.230 MIS--
+ cancelMultipointSecondaryStatus NULL, -- same as H.230 cancel MIS--
+ videoIndicateReadyToActivate NULL, -- same as H.230 VIR--
+ videoTemporalSpatialTradeOff INTEGER(0..31), -- indicates current --
+ -- trade-off
+ ...,
+ videoNotDecodedMBs
+ SEQUENCE {firstMB INTEGER(1..8192),
+ numberOfMBs INTEGER(1..8192),
+ temporalReference INTEGER(0..255),
+ ...},
+ transportCapability TransportCapability},
+ ...
+}
+
+-- =============================================================================
+-- Indication Message: Jitter Indication
+-- =============================================================================
+JitterIndication ::= SEQUENCE {
+ scope
+ CHOICE {logicalChannelNumber LogicalChannelNumber,
+ resourceID INTEGER(0..65535),
+ wholeMultiplex NULL},
+ estimatedReceivedJitterMantissa INTEGER(0..3),
+ estimatedReceivedJitterExponent INTEGER(0..7),
+ skippedFrameCount INTEGER(0..15) OPTIONAL,
+ additionalDecoderBuffer INTEGER(0..262143) OPTIONAL,
+ -- 262143 is 2^18 - 1
+ ...
+}
+
+-- =============================================================================
+-- Indication Message: H.223 logical channel skew
+-- =============================================================================
+H223SkewIndication ::= SEQUENCE {
+ logicalChannelNumber1 LogicalChannelNumber,
+ logicalChannelNumber2 LogicalChannelNumber,
+ skew INTEGER(0..4095), -- units milliseconds
+ ...
+}
+
+-- =============================================================================
+-- Indication Message: H.225.0 maximum logical channel skew
+-- =============================================================================
+H2250MaximumSkewIndication ::= SEQUENCE {
+ logicalChannelNumber1 LogicalChannelNumber,
+ logicalChannelNumber2 LogicalChannelNumber,
+ maximumSkew INTEGER(0..4095), -- units milliseconds
+ ...
+}
+
+-- =============================================================================
+-- Indication Message: MC Location Indication
+-- =============================================================================
+MCLocationIndication ::= SEQUENCE {
+ signalAddress TransportAddress, -- this is the
+
+ -- H.323 Call Signalling
+ -- address of the entity
+ -- which contains the MC
+ ...
+}
+
+-- =============================================================================
+-- Indication Message: Vendor Identification
+-- =============================================================================
+VendorIdentification ::= SEQUENCE {
+ vendor NonStandardIdentifier,
+ productNumber OCTET STRING(SIZE (1..256)) OPTIONAL,
+ -- per vendor
+ versionNumber OCTET STRING(SIZE (1..256)) OPTIONAL,
+ -- per productNumber
+ ...
+}
+
+-- =============================================================================
+-- Indication Message: New ATM virtual channel indication
+-- =============================================================================
+NewATMVCIndication ::= SEQUENCE {
+ resourceID INTEGER(0..65535),
+ bitRate INTEGER(1..65535), -- units 64 kbit/s
+ bitRateLockedToPCRClock BOOLEAN,
+ bitRateLockedToNetworkClock BOOLEAN,
+ aal
+ CHOICE {aal1
+ SEQUENCE {clockRecovery
+ CHOICE {nullClockRecovery NULL,
+ srtsClockRecovery NULL,
+ adaptiveClockRecovery NULL,
+ ...},
+ errorCorrection
+ CHOICE {nullErrorCorrection NULL,
+ longInterleaver NULL,
+ shortInterleaver NULL,
+ errorCorrectionOnly NULL,
+ ...},
+ structuredDataTransfer BOOLEAN,
+ partiallyFilledCells BOOLEAN,
+ ...},
+ aal5
+ SEQUENCE {forwardMaximumSDUSize INTEGER(0..65535), -- units octets--
+ backwardMaximumSDUSize INTEGER(0..65535), -- units octets--
+ ...},
+ ...},
+ multiplex
+ CHOICE {noMultiplex NULL,
+ transportStream NULL,
+ programStream NULL,
+ ...},
+ ...,
+ reverseParameters
+ SEQUENCE {bitRate INTEGER(1..65535), -- units 64 kbit/s--
+ bitRateLockedToPCRClock BOOLEAN,
+ bitRateLockedToNetworkClock BOOLEAN,
+ multiplex
+ CHOICE {noMultiplex NULL,
+ transportStream NULL,
+ programStream NULL,
+ ...},
+ ...}
+}
+
+-- =============================================================================
+-- Indication Message: User input
+-- =============================================================================
+IV8 ::= OCTET STRING(SIZE (8))
+
+-- initial value for
+-- 64-bit block ciphers
+IV16 ::= OCTET STRING(SIZE (16))
+
+-- initial value for
+-- 128-bit block ciphers
+Params ::= SEQUENCE {
+ iv8 IV8 OPTIONAL, -- 8-octet initialization vector
+ iv16 IV16 OPTIONAL, -- 16-octet initialization vector
+ iv OCTET STRING OPTIONAL, -- arbitrary length
+
+ -- initialization vector
+ ...
+}
+
+UserInputIndication ::= CHOICE {
+ nonStandard NonStandardParameter,
+ alphanumeric GeneralString,
+ ...,
+ userInputSupportIndication
+ CHOICE {nonStandard NonStandardParameter,
+ basicString NULL, -- indicates unsecured basic string--
+ iA5String NULL, -- indicates unsecured IA5 string--
+ generalString NULL, -- indicates unsecured general string--
+ ...,
+ encryptedBasicString NULL, -- indicates encrypted Basic string--
+ encryptedIA5String NULL, -- indicates encrypted IA5 string--
+ encryptedGeneralString NULL -- indicates encrypted general string
+ },
+ signal
+ SEQUENCE {signalType
+ IA5String(SIZE (1) ^ FROM ("0123456789#*ABCD!")),
+ -- holds dummy "!" if encryptedSignalType
+ -- is being used
+ duration INTEGER(1..65535) OPTIONAL,
+ -- milliseconds
+ rtp
+ SEQUENCE {timestamp INTEGER(0..4294967295) OPTIONAL,
+ expirationTime INTEGER(0..4294967295) OPTIONAL,
+ logicalChannelNumber LogicalChannelNumber,
+ ...} OPTIONAL,
+ ...,
+ rtpPayloadIndication NULL OPTIONAL,
+ paramS Params OPTIONAL, -- any "runtime" parameters--
+ encryptedSignalType OCTET STRING(SIZE (1)) OPTIONAL,
+ -- encrypted signalType
+ algorithmOID OBJECT IDENTIFIER OPTIONAL},
+ signalUpdate
+ SEQUENCE {duration INTEGER(1..65535), -- milliseconds--
+ rtp
+ SEQUENCE {logicalChannelNumber LogicalChannelNumber,
+ ...} OPTIONAL,
+ ...},
+ extendedAlphanumeric
+ SEQUENCE {alphanumeric GeneralString, -- holds empty string if--
+ -- encryptedAlphanumeric is
+ -- being used
+ rtpPayloadIndication NULL OPTIONAL,
+ ...,
+ encryptedAlphanumeric
+ SEQUENCE {algorithmOID OBJECT IDENTIFIER,
+ paramS Params OPTIONAL, -- any "runtime" parameters--
+ encrypted OCTET STRING, -- general string encrypted--
+ ...} OPTIONAL},
+ encryptedAlphanumeric
+ SEQUENCE {algorithmOID OBJECT IDENTIFIER,
+ paramS Params OPTIONAL, -- any "runtime" parameters--
+ encrypted OCTET STRING, -- basic string encrypted--
+ ...},
+ genericInformation SEQUENCE OF GenericInformation
+}
+
+-- generic information associated
+-- with the message
+-- =============================================================================
+-- Indication Message: Flow Control
+-- =============================================================================
+FlowControlIndication ::= SEQUENCE {
+ scope
+ CHOICE {logicalChannelNumber LogicalChannelNumber,
+ resourceID INTEGER(0..65535),
+ wholeMultiplex NULL},
+ restriction
+ CHOICE {maximumBitRate INTEGER(0..16777215), -- units 100 bit/s--
+ noRestriction NULL},
+ ...
+}
+
+-- =============================================================================
+-- Indication Message: Mobile Multilink Reconfiguration indication
+-- =============================================================================
+MobileMultilinkReconfigurationIndication ::= SEQUENCE {
+ sampleSize INTEGER(1..255),
+ samplesPerFrame INTEGER(1..255),
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h245/h245.cnf b/epan/dissectors/asn1/h245/h245.cnf
new file mode 100644
index 00000000..1610861d
--- /dev/null
+++ b/epan/dissectors/asn1/h245/h245.cnf
@@ -0,0 +1,1425 @@
+# H.245 conformation file
+# Copyright 2005 Anders Broman anders.broman[at]ericsson.com
+#----------------------------------------------------------------------------------------
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.MODULE_EXPORTS
+T38FaxProfile
+DataProtocolCapability NO_PROT_PREFIX
+OpenLogicalChannel
+QOSCapability
+H223Capability EXTERN WS_DLL
+H223LogicalChannelParameters
+TransportAddress
+UnicastAddress
+MulticastAddress
+Capability
+#.END
+
+#.PDU
+OpenLogicalChannel
+
+#.MAKE_ENUM
+RequestMessage TYPE_PREFIX
+ResponseMessage TYPE_PREFIX
+CommandMessage TYPE_PREFIX
+IndicationMessage TYPE_PREFIX
+
+AudioCapability TYPE_PREFIX
+#.END
+
+#----------------------------------------------------------------------------------------
+
+#.VIRTUAL_ASSGN
+G723AnnexCAudioMode G7231AnnexCCapability/g723AnnexCAudioMode G7231AnnexCMode/g723AnnexCAudioMode
+Application DataApplicationCapability/application
+Nlpid Application/nlpid DataMode/application/nlpid
+Al3 H223LogicalChannelParameters/adaptationLayerType/al3 H223ModeParameters/adaptationLayerType/al3
+ArqType H223AL1MParameters/arqType H223AL3MParameters/arqType
+Restriction FlowControlCommand/restriction FlowControlIndication/restriction
+Scope FlowControlCommand/scope FlowControlIndication/scope JitterIndication/scope
+EncryptedAlphanumeric UserInputIndication/extendedAlphanumeric/encryptedAlphanumeric UserInputIndication/encryptedAlphanumeric
+
+DepSeparateStream DepFECData/rfc2733/mode/separateStream DepFECMode/rfc2733Mode/mode/separateStream
+
+Rfc2733Format FECCapability/rfc2733Format FECMode/rfc2733Format
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY MultiplexEntryDescriptor
+ /*MultiplexEntryDescriptor*/
+ h223_me = NULL;
+ h223_mc = 0;
+%(DEFAULT_BODY)s
+ if(h223_set_mc_handle)
+ (*h223_set_mc_handle)(%(ACTX)s->pinfo, h223_mc, h223_me);
+ /* stuff */
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS MultiplexTableEntryNumber
+ VAL_PTR = &value
+#.FN_BODY MultiplexTableEntryNumber
+ guint32 value;
+%(DEFAULT_BODY)s
+ h223_mc = value & 0xf;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY MultiplexEntryDescriptor/elementList
+ /* create a h223_mux_element to hold onto the head of the list, since
+ * h223_me will track the tail */
+ h223_mux_element dummy_me;
+ memset (&dummy_me, 0, sizeof (h223_mux_element));
+ h223_me = &dummy_me;
+%(DEFAULT_BODY)s
+ /* set h223_me to the head of the list for MEDescriptor to pick up */
+ h223_me = dummy_me.next;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR MultiplexElement
+ /*MultiplexElement*/
+ h223_mux_element* me = wmem_new(wmem_file_scope(), h223_mux_element);
+ h223_me->next = me;
+ h223_me = me;
+ h223_me->next = NULL;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS MultiplexElement/type/logicalChannelNumber
+ VAL_PTR = &value
+#.FN_BODY MultiplexElement/type/logicalChannelNumber
+ /*MultiplexElement/type/logicalChannelNumber*/
+ guint32 value;
+%(DEFAULT_BODY)s
+ h223_me->sublist = NULL;
+ h223_me->vc = value & 0xffff;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY MultiplexElement/type/subElementList
+ h223_mux_element dummy_me, *parent_me = h223_me;
+ memset (&dummy_me, 0, sizeof (h223_mux_element));
+ h223_me = &dummy_me;
+%(DEFAULT_BODY)s
+ parent_me->sublist = dummy_me.next;
+ h223_me = parent_me;
+ h223_me->vc = 0;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR MultiplexElement/repeatCount/untilClosingFlag
+ h223_me->repeat_count = 0;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS MultiplexElement/repeatCount/finite
+ VAL_PTR = &value
+#.FN_BODY MultiplexElement/repeatCount/finite
+ guint32 value;
+%(DEFAULT_BODY)s
+ h223_me->repeat_count = value & 0xffff;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY LogicalChannelNumber VAL_PTR = &value
+ guint32 value;
+%(DEFAULT_BODY)s
+ h245_lc_temp = value & 0xfff;
+#.END
+
+#=== OpenLogicalChannel =================================================================
+#.FN_BODY OpenLogicalChannel
+ gint32 temp;
+
+ upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(wmem_file_scope(), olc_info_t) : NULL;
+
+ h223_fw_lc_num = 0;
+ h223_lc_params_temp = NULL;
+
+%(DEFAULT_BODY)s
+
+ if(h223_fw_lc_num != 0 && h223_fw_lc_params) {
+ h223_pending_olc *pending = wmem_new(wmem_file_scope(), h223_pending_olc);
+ pending->fw_channel_params = h223_fw_lc_params;
+ pending->rev_channel_params = h223_rev_lc_params;
+ temp = h223_fw_lc_num;
+ if (%(ACTX)s->pinfo->p2p_dir > -1)
+ wmem_map_insert(h223_pending_olc_reqs[%(ACTX)s->pinfo->p2p_dir], GINT_TO_POINTER(temp), pending);
+ }
+
+ if (upcoming_olc) {
+ if (fast_start) {
+ h245_setup_channels(actx->pinfo, &upcoming_olc->rev_lc);
+ } else {
+ wmem_map_insert(h245_pending_olc_reqs,
+ wmem_strdup(wmem_file_scope(), gen_olc_key(upcoming_olc->fwd_lc_num, &%(ACTX)s->pinfo->dst, &%(ACTX)s->pinfo->src, actx->pinfo->pool)),
+ upcoming_olc);
+ }
+ }
+ upcoming_olc = NULL;
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_OpenLogChn;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR OpenLogicalChannel/forwardLogicalChannelNumber
+ if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
+ h223_fw_lc_num = h245_lc_temp;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY OpenLogicalChannel/forwardLogicalChannelParameters
+
+ upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
+
+ h245_lc_dissector = NULL;
+%(DEFAULT_BODY)s
+ if(h223_lc_params_temp && h245_lc_dissector)
+ h223_lc_params_temp->subdissector = h245_lc_dissector;
+ else if(h223_lc_params_temp)
+ h223_lc_params_temp->subdissector = data_handle;
+
+ if (upcoming_channel && codec_type) {
+ (void) g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
+ }
+ upcoming_channel = NULL;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR OpenLogicalChannel/forwardLogicalChannelParameters/multiplexParameters/h223LogicalChannelParameters
+ h223_fw_lc_params = wmem_new(wmem_file_scope(), h223_lc_params);
+ h223_fw_lc_params->al_type = al_nonStandard;
+ h223_fw_lc_params->al_params = NULL;
+ h223_fw_lc_params->segmentable = 0;
+ h223_fw_lc_params->subdissector = NULL;
+ h223_lc_params_temp = h223_fw_lc_params;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY OpenLogicalChannel/reverseLogicalChannelParameters
+
+ upcoming_channel = (upcoming_olc) ? &upcoming_olc->rev_lc : NULL;
+
+%(DEFAULT_BODY)s
+
+ if (upcoming_channel && codec_type) {
+ (void) g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
+ }
+ upcoming_channel = NULL;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR OpenLogicalChannel/reverseLogicalChannelParameters/multiplexParameters/h223LogicalChannelParameters
+ h223_rev_lc_params = wmem_new(wmem_file_scope(), h223_lc_params);
+ h223_rev_lc_params->al_type = al_nonStandard;
+ h223_rev_lc_params->al_params = NULL;
+ h223_rev_lc_params->segmentable = 0;
+ h223_rev_lc_params->subdissector = NULL;
+ h223_lc_params_temp = h223_rev_lc_params;
+#.END
+#========================================================================================
+
+
+#=== OpenLogicalChannelAck ==============================================================
+#.FN_BODY OpenLogicalChannelAck
+ guint32 temp;
+ int p2p_dir;
+ h223_pending_olc *pend;
+ const gchar *olc_key;
+ olc_info_t *olc_req;
+
+ upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(actx->pinfo->pool, olc_info_t) : NULL;
+
+ h223_fw_lc_num = 0;
+ h223_rev_lc_num = 0;
+
+%(DEFAULT_BODY)s
+
+ temp = h223_fw_lc_num;
+ p2p_dir = %(ACTX)s->pinfo->p2p_dir;
+
+ if(%(ACTX)s->pinfo->p2p_dir == P2P_DIR_SENT)
+ %(ACTX)s->pinfo->p2p_dir = P2P_DIR_RECV;
+ else
+ %(ACTX)s->pinfo->p2p_dir = P2P_DIR_SENT;
+ pend = (h223_pending_olc *)wmem_map_lookup( h223_pending_olc_reqs[%(ACTX)s->pinfo->p2p_dir], GINT_TO_POINTER(temp) );
+ if (pend) {
+ DISSECTOR_ASSERT( ( h223_rev_lc_num && pend->rev_channel_params)
+ || (!h223_rev_lc_num && !pend->rev_channel_params) );
+ if(h223_add_lc_handle) {
+ (*h223_add_lc_handle)( %(ACTX)s->pinfo, h223_fw_lc_num, pend->fw_channel_params);
+ if(h223_rev_lc_num)
+ (*h223_add_lc_handle)( %(ACTX)s->pinfo, h223_rev_lc_num, pend->rev_channel_params);
+ }
+ } else {
+ /* we missed the OpenLogicalChannel packet */
+ }
+ %(ACTX)s->pinfo->p2p_dir = p2p_dir;
+
+ if (upcoming_olc) {
+ olc_key = gen_olc_key(upcoming_olc->fwd_lc_num, &%(ACTX)s->pinfo->src, &%(ACTX)s->pinfo->dst, actx->pinfo->pool);
+ olc_req = (olc_info_t *)wmem_map_lookup(h245_pending_olc_reqs, olc_key);
+ if (olc_req) {
+ update_unicast_addr(&olc_req->fwd_lc.media_addr, &upcoming_olc->fwd_lc.media_addr);
+ update_unicast_addr(&olc_req->fwd_lc.media_control_addr, &upcoming_olc->fwd_lc.media_control_addr);
+ update_unicast_addr(&olc_req->rev_lc.media_addr, &upcoming_olc->rev_lc.media_addr);
+ update_unicast_addr(&olc_req->rev_lc.media_control_addr, &upcoming_olc->rev_lc.media_control_addr);
+ h245_setup_channels(actx->pinfo, &olc_req->fwd_lc);
+ h245_setup_channels(actx->pinfo, &olc_req->rev_lc);
+ wmem_map_remove(h245_pending_olc_reqs, olc_key);
+ } else {
+ h245_setup_channels(actx->pinfo, &upcoming_olc->fwd_lc);
+ }
+ }
+ upcoming_olc = NULL;
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_OpenLogChnAck;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR OpenLogicalChannelAck/forwardLogicalChannelNumber
+ if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
+ h223_fw_lc_num = h245_lc_temp;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY OpenLogicalChannelAck/forwardMultiplexAckParameters
+
+ upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
+
+%(DEFAULT_BODY)s
+
+ upcoming_channel = NULL;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR OpenLogicalChannelAck/reverseLogicalChannelParameters/reverseLogicalChannelNumber
+ h223_rev_lc_num = h245_lc_temp;
+#.END
+#========================================================================================
+
+#----------------------------------------------------------------------------------------
+#.FN_HDR H223LogicalChannelParameters/adaptationLayerType/al1Framed
+ if(h223_lc_params_temp)
+ h223_lc_params_temp->al_type = al1Framed;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H223LogicalChannelParameters/adaptationLayerType/al1NotFramed
+ if(h223_lc_params_temp)
+ h223_lc_params_temp->al_type = al1NotFramed;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H223LogicalChannelParameters/adaptationLayerType/al2WithoutSequenceNumbers
+ if(h223_lc_params_temp)
+ h223_lc_params_temp->al_type = al2WithoutSequenceNumbers;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H223LogicalChannelParameters/adaptationLayerType/al2WithSequenceNumbers
+ if(h223_lc_params_temp)
+ h223_lc_params_temp->al_type = al2WithSequenceNumbers;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H223LogicalChannelParameters/adaptationLayerType/al3
+ if(h223_lc_params_temp) {
+ h223_lc_params_temp->al_type = al3;
+ h223_lc_params_temp->al_params = wmem_new(wmem_file_scope(), h223_al3_params);
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS Al3/controlFieldOctets
+ VAL_PTR = &value
+#.FN_BODY Al3/controlFieldOctets
+ guint32 value;
+%(DEFAULT_BODY)s
+ if(h223_lc_params_temp && h223_lc_params_temp->al_params)
+ ((h223_al3_params*)h223_lc_params_temp->al_params)->control_field_octets = value & 3 ;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS Al3/sendBufferSize
+ VAL_PTR = &value
+#.FN_BODY Al3/sendBufferSize
+ guint32 value;
+%(DEFAULT_BODY)s
+ if(h223_lc_params_temp && h223_lc_params_temp->al_params)
+ ((h223_al3_params*)h223_lc_params_temp->al_params)->send_buffer_size = value & 0xfffff;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H223LogicalChannelParameters/adaptationLayerType/al1M
+ if(h223_lc_params_temp)
+ h223_lc_params_temp->al_type = al1M;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H223LogicalChannelParameters/adaptationLayerType/al2M
+ if(h223_lc_params_temp)
+ h223_lc_params_temp->al_type = al2M;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H223LogicalChannelParameters/adaptationLayerType/al3M
+ if(h223_lc_params_temp)
+ h223_lc_params_temp->al_type = al3M;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_PARS H223LogicalChannelParameters/segmentableFlag
+ VAL_PTR = &value
+#.FN_BODY H223LogicalChannelParameters/segmentableFlag
+ gboolean value;
+%(DEFAULT_BODY)s
+ if(h223_lc_params_temp)
+ h223_lc_params_temp->segmentable = value;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR H263VideoCapability
+ h245_lc_dissector = h263_handle;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY RequestMessage VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ print_info_column(%(ACTX)s->pinfo->cinfo, &value, h245_RequestMessage_vals, h245_RequestMessage_short_vals);
+
+ if (( codec_type != NULL ) && ( value == RequestMessage_openLogicalChannel) ){
+ col_append_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "(%%s) ", codec_type );
+ }
+
+ col_set_fence(%(ACTX)s->pinfo->cinfo,COL_INFO);
+
+ /* Add to packet info */
+ if (h245_pi == NULL)
+ return offset;
+
+ if (strlen(h245_pi->frame_label) == 0)
+ {
+ snprintf(h245_pi->frame_label, 50, "%%s", val_to_str(value, h245_RequestMessage_short_vals, "UKN"));
+
+ /* if it is OLC or RM*/
+ if ((codec_type != NULL) && (( value == RequestMessage_openLogicalChannel) || ( value == RequestMessage_requestMode)))
+ {
+ (void) g_strlcat(h245_pi->frame_label, " (", 50);
+ (void) g_strlcat(h245_pi->frame_label, codec_type, 50);
+ (void) g_strlcat(h245_pi->frame_label, ")", 50);
+ }
+ }
+ (void) g_strlcat(h245_pi->comment, val_to_str(value, h245_RequestMessage_vals, "<unknown>"), 50);
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY ResponseMessage VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ print_info_column(%(ACTX)s->pinfo->cinfo, &value, h245_ResponseMessage_vals, h245_ResponseMessage_short_vals);
+ col_set_fence(%(ACTX)s->pinfo->cinfo,COL_INFO);
+
+ if (h245_pi != NULL){
+ /* Add to packet info */
+ if ( strlen(h245_pi->frame_label) == 0 ){
+ snprintf(h245_pi->frame_label, 50, "%%s", val_to_str(value, h245_ResponseMessage_short_vals, "UKN"));
+ }
+ (void) g_strlcat(h245_pi->comment, val_to_str(value, h245_ResponseMessage_vals, "<unknown>"), 50);
+ }
+
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY IndicationMessage VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ print_info_column(%(ACTX)s->pinfo->cinfo, &value, h245_IndicationMessage_vals, h245_IndicationMessage_short_vals);
+ col_set_fence(%(ACTX)s->pinfo->cinfo,COL_INFO);
+
+ /* Add to packet info */
+ if (h245_pi !=NULL){
+ if ( strlen(h245_pi->frame_label) == 0 ){
+ snprintf(h245_pi->frame_label, 50, "%%s", val_to_str(value, h245_IndicationMessage_short_vals, "UKN"));
+ }
+ (void) g_strlcat(h245_pi->comment, val_to_str(value, h245_IndicationMessage_vals, "<unknown>"), 50);
+
+ }
+
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY CommandMessage VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ print_info_column(%(ACTX)s->pinfo->cinfo, &value, h245_CommandMessage_vals, h245_CommandMessage_short_vals);
+ col_set_fence(%(ACTX)s->pinfo->cinfo,COL_INFO);
+
+ /* Add to packet info */
+ if (h245_pi != NULL){
+ if ( strlen(h245_pi->frame_label) == 0 ){
+ snprintf(h245_pi->frame_label, 50, "%%s", val_to_str(value, h245_CommandMessage_short_vals, "UKN"));
+ }
+ (void) g_strlcat(h245_pi->comment, val_to_str(value, h245_CommandMessage_vals, "<unknown>"), 50);
+ }
+
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY AudioCapability VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ codec_type = val_to_str(value, h245_AudioCapability_short_vals, "<unknown>");
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY VideoCapability VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ codec_type = val_to_str(value, h245_VideoCapability_vals, "<unknown>");
+
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY Application VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ codec_type = val_to_str(value, h245_Application_vals, "<unknown>");
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY AudioMode VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ codec_type = val_to_str(value, h245_AudioMode_vals, "<unknown>");
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY VideoMode VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ codec_type = val_to_str(value, h245_VideoMode_vals, "<unknown>");
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY DataMode/application VAL_PTR = &value
+ gint32 value;
+
+%(DEFAULT_BODY)s
+ codec_type = val_to_str(value, h245_DataModeApplication_vals, "<unknown>");
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR MasterSlaveDeterminationAck
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_MastSlvDetAck;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR MasterSlaveDeterminationReject
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_MastSlvDetRjc;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR OpenLogicalChannelReject
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_OpenLogChnRjc;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR CloseLogicalChannel
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_CloseLogChn;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR CloseLogicalChannelAck
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_CloseLogChnAck;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR OpenLogicalChannelConfirm
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_OpenLogChnCnf;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR TerminalCapabilitySetAck
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_TermCapSetAck;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR MasterSlaveDetermination
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_MastSlvDet;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR TerminalCapabilitySetReject
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_TermCapSetRjc;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR MasterSlaveDeterminationRelease
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_MastSlvDetRls;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR TerminalCapabilitySet
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_TermCapSet;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR TerminalCapabilitySetRelease
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_TermCapSetRls;
+#.END
+#----------------------------------------------------------------------------------------
+
+#=== Generic Extensible Framework =======================================================
+
+#.FN_HDR GenericMessage
+ void *priv_data = actx->private_data;
+ gef_ctx_t *gefx;
+
+ /* check if not inherited from GenericInformation */
+ gefx = gef_ctx_get(actx->private_data);
+ if (!gefx) {
+ gefx = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericMessage");
+ actx->private_data = gefx;
+ }
+#.FN_FTR
+ actx->private_data = priv_data;
+#.END
+
+#.FN_BODY GenericMessage/subMessageIdentifier VAL_PTR = &subMessageIdentifier
+ guint32 subMessageIdentifier;
+ gef_ctx_t *gefx;
+
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ /* If this is a standard generic message use hf_h245_subMessageIdentifier_standard to get
+ * the value translated and make it fileterable.
+ */
+ if (strcmp("GenericMessage/0.0.8.239.2", gefx->key) == 0) {
+ hf_index = hf_h245_subMessageIdentifier_standard;
+ }
+ }
+
+%(DEFAULT_BODY)s
+ if (gefx) {
+ gefx->subid = wmem_strdup_printf(actx->pinfo->pool, "%%u", subMessageIdentifier);
+ gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data));
+ }
+ if (hf_index == hf_h245_subMessageIdentifier_standard)
+ {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(subMessageIdentifier, h245_h239subMessageIdentifier_vals, "<unknown>") );
+ snprintf(h245_pi->frame_label, 50, "%%s", val_to_str(subMessageIdentifier, h245_h239subMessageIdentifier_vals, "<unknown>"));
+ }
+#.END
+
+#.FN_HDR GenericMessage/messageContent/_item
+ gef_ctx_t *parent_gefx;
+
+ parent_gefx = gef_ctx_get(actx->private_data);
+ actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, NULL);
+#.FN_FTR
+ actx->private_data = parent_gefx;
+#.END
+
+#----------------------------------------------------------------------------------------
+#.FN_HDR GenericInformation
+ void *priv_data = actx->private_data;
+ actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericInformation");
+#.FN_FTR
+ actx->private_data = priv_data;
+#.END
+
+#--- GenericCapability ------------------------------------------------------------------
+#.FN_HDR GenericCapability
+ void *priv_data = actx->private_data;
+ actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericCapability");
+#.FN_FTR
+ actx->private_data = priv_data;
+#.END
+
+#.FN_HDR GenericCapability/collapsing/_item
+ gef_ctx_t *parent_gefx;
+
+ parent_gefx = gef_ctx_get(actx->private_data);
+ actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, "collapsing");
+#.FN_FTR
+ actx->private_data = parent_gefx;
+#.END
+
+#.FN_HDR GenericCapability/nonCollapsing/_item
+ gef_ctx_t *parent_gefx;
+
+ parent_gefx = gef_ctx_get(actx->private_data);
+ actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, "nonCollapsing");
+#.FN_FTR
+ actx->private_data = parent_gefx;
+#.END
+
+#.FN_BODY GenericCapability/nonCollapsingRaw VAL_PTR = &value_tvb
+ tvbuff_t *value_tvb;
+ gef_ctx_t *parent_gefx;
+ gef_ctx_t *gefx;
+ proto_item* ti;
+
+ parent_gefx = gef_ctx_get(actx->private_data);
+ actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, "nonCollapsingRaw");
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, %(ACTX)s->pinfo, %(TREE)s, %(ACTX)s);
+ }
+ actx->private_data = parent_gefx;
+#.END
+
+#--- EncryptionSync ---------------------------------------------------------------------
+#.FN_HDR EncryptionSync
+ void *priv_data = actx->private_data;
+ actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "EncryptionSync");
+#.FN_FTR
+ actx->private_data = priv_data;
+#.END
+#----------------------------------------------------------------------------------------
+
+#.FN_HDR CapabilityIdentifier
+ gef_ctx_t *gefx;
+ proto_item* ti;
+
+#.FN_FTR
+ gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data));
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset_length_caplen(tvb, offset>>3, 0, 0), actx->pinfo, tree, actx);
+ }
+ actx->private_data = gefx; /* subdissector could overwrite it */
+#.END
+
+#.FN_BODY CapabilityIdentifier/standard FN_VARIANT = _str VAL_PTR = &standard_oid_str
+ const gchar *standard_oid_str = NULL;
+ gef_ctx_t *gefx;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) gefx->id = standard_oid_str;
+
+ if(strcmp(standard_oid_str,"0.0.8.235.0.3.76") == 0) { /* MIKEY */
+ if (upcoming_channel)
+ upcoming_channel->srtp_flag = TRUE;
+ }
+
+ if(!h245_lc_dissector && strcmp(standard_oid_str,"0.0.8.245.1.1.1") == 0)
+ h245_lc_dissector = amr_handle;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR ParameterIdentifier
+ gef_ctx_t *gefx;
+ proto_item* ti;
+#.FN_FTR
+ gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data));
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ dissector_try_string_new(gef_name_dissector_table, gefx->key, tvb_new_subset_length_caplen(tvb, offset>>3, 0, 0), actx->pinfo, tree, FALSE, actx);
+ }
+ actx->private_data = gefx; /* subdissector could overwrite it */
+#.END
+
+#.FN_BODY ParameterIdentifier/standard VAL_PTR = &value_int
+ guint32 value_int = (guint32)-1;
+ gef_ctx_t *gefx;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) gefx->id = wmem_strdup_printf(actx->pinfo->pool, "%%d", value_int);
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY ParameterValue/booleanArray VAL_PTR = &value
+ guint32 value;
+ guint8 *buf;
+ tvbuff_t *value_tvb;
+ gef_ctx_t *gefx;
+ proto_item* ti;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ buf = wmem_new(actx->pinfo->pool, guint8);
+ buf[0] = value;
+ value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint8), sizeof(guint8));
+ ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ add_new_data_source(%(ACTX)s->pinfo, value_tvb, "booleanArray");
+ dissector_try_string_new(gef_content_dissector_table, gefx->key, value_tvb, %(ACTX)s->pinfo, %(TREE)s, FALSE, %(ACTX)s);
+ }
+#.END
+#.FN_BODY ParameterValue/unsignedMin VAL_PTR = &value
+ guint32 value;
+ guint8 *buf;
+ tvbuff_t *value_tvb;
+ gef_ctx_t *gefx;
+ proto_item* ti;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ buf = (guint8 *)wmem_new(actx->pinfo->pool, guint16);
+ phton16(buf, value);
+ value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
+ ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ add_new_data_source(%(ACTX)s->pinfo, value_tvb, "unsignedMin");
+ dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, %(ACTX)s->pinfo, %(TREE)s, %(ACTX)s);
+ }
+#.END
+#.FN_BODY ParameterValue/unsignedMax VAL_PTR = &value
+ guint32 value;
+ guint8 *buf;
+ tvbuff_t *value_tvb;
+ gef_ctx_t *gefx;
+ proto_item* ti;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ buf = (guint8 *)wmem_new(actx->pinfo->pool, guint16);
+ phton16(buf, value);
+ value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
+ ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ add_new_data_source(%(ACTX)s->pinfo, value_tvb, "unsignedMax");
+ dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, %(ACTX)s->pinfo, %(TREE)s, %(ACTX)s);
+ }
+#.END
+#.FN_BODY ParameterValue/unsigned32Min VAL_PTR = &value
+ guint32 value;
+ guint8 *buf;
+ tvbuff_t *value_tvb;
+ gef_ctx_t *gefx;
+ proto_item* ti;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ buf = (guint8 *)wmem_new(actx->pinfo->pool, guint32);
+ phton32(buf, value);
+ value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
+ ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ add_new_data_source(%(ACTX)s->pinfo, value_tvb, "unsigned32Min");
+ dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, %(ACTX)s->pinfo, %(TREE)s, %(ACTX)s);
+ }
+#.END
+#.FN_BODY ParameterValue/unsigned32Max VAL_PTR = &value
+ guint32 value;
+ guint8 *buf;
+ tvbuff_t *value_tvb;
+ gef_ctx_t *gefx;
+ proto_item* ti;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ buf = (guint8 *)wmem_new(actx->pinfo->pool, guint32);
+ phton32(buf, value);
+ value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
+ ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ add_new_data_source(%(ACTX)s->pinfo, value_tvb, "unsigned32Max");
+ dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, %(ACTX)s->pinfo, %(TREE)s, %(ACTX)s);
+ }
+#.END
+#.FN_BODY ParameterValue/octetString VAL_PTR = &value_tvb
+ tvbuff_t *value_tvb;
+ gef_ctx_t *gefx;
+ proto_item* ti;
+
+%(DEFAULT_BODY)s
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key);
+ proto_item_set_hidden(ti);
+ dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, %(ACTX)s->pinfo, %(TREE)s, %(ACTX)s);
+ }
+#.END
+
+#=== end of GEF =========================================================================
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY UnicastAddress/iPAddress/network VAL_PTR = &value_tvb
+ tvbuff_t *value_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (upcoming_channel && upcoming_channel->upcoming_addr) {
+ tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 4);
+ set_address(&upcoming_channel->upcoming_addr->addr, AT_IPv4, 4, upcoming_channel->upcoming_addr->addr_buf);
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY UnicastAddress/iPAddress/tsapIdentifier VAL_PTR = &tsapIdentifier
+ guint32 tsapIdentifier;
+
+%(DEFAULT_BODY)s
+
+ if (upcoming_channel && upcoming_channel->upcoming_addr) {
+ upcoming_channel->upcoming_addr->port = tsapIdentifier;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY UnicastAddress/iP6Address/network VAL_PTR = &value_tvb
+ tvbuff_t *value_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (upcoming_channel && upcoming_channel->upcoming_addr) {
+ tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 16);
+ set_address(&upcoming_channel->upcoming_addr->addr, AT_IPv6, 16, upcoming_channel->upcoming_addr->addr_buf);
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY UnicastAddress/iP6Address/tsapIdentifier VAL_PTR = &tsapIdentifier
+ guint32 tsapIdentifier;
+
+%(DEFAULT_BODY)s
+
+ if (upcoming_channel && upcoming_channel->upcoming_addr) {
+ upcoming_channel->upcoming_addr->port = tsapIdentifier;
+ }
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H2250LogicalChannelAckParameters/mediaChannel
+ if (upcoming_channel)
+ upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
+#.END
+#.FN_FTR H2250LogicalChannelAckParameters/mediaChannel
+ if (upcoming_channel)
+ upcoming_channel->upcoming_addr = NULL;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H2250LogicalChannelParameters/mediaChannel
+ if (upcoming_channel)
+ upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
+#.END
+#.FN_FTR H2250LogicalChannelParameters/mediaChannel
+ if (upcoming_channel)
+ upcoming_channel->upcoming_addr = NULL;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H2250LogicalChannelAckParameters/mediaControlChannel
+ if (upcoming_channel)
+ upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
+#.END
+#.FN_FTR H2250LogicalChannelAckParameters/mediaControlChannel
+ if (upcoming_channel)
+ upcoming_channel->upcoming_addr = NULL;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_HDR H2250LogicalChannelParameters/mediaControlChannel
+ if (upcoming_channel)
+ upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
+#.END
+#.FN_FTR H2250LogicalChannelParameters/mediaControlChannel
+ if (upcoming_channel)
+ upcoming_channel->upcoming_addr = NULL;
+#.END
+
+#--- RTPPayloadType ---------------------------------------------------------------------
+#.FN_HDR RTPPayloadType
+ rfc_number = 0;
+#.END
+
+#.FN_PARS RTPPayloadType/payloadDescriptor/rfc-number
+ VAL_PTR = &rfc_number
+#.END
+
+#.FN_BODY RTPPayloadType/payloadType VAL_PTR = &pt
+ unsigned int pt;
+
+%(DEFAULT_BODY)s
+
+ if ((rfc_number == 2198) && upcoming_channel) {
+ upcoming_channel->rfc2198 = pt;
+ }
+#.END
+
+#--- NonStandardParameter ---------------------------------------------------------------
+
+#.FN_PARS
+NonStandardIdentifier/object FN_VARIANT = _str VAL_PTR = &nsiOID
+#.END
+#.FN_BODY NonStandardIdentifier VAL_PTR = &value
+ gint32 value;
+
+ nsiOID = "";
+ h221NonStandard = 0;
+
+%(DEFAULT_BODY)s
+ switch (value) {
+ case 0 : /* object */
+ nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
+ break;
+ case 1 : /* h221NonStandard */
+ nsp_handle = dissector_get_uint_handle(nsp_h221_dissector_table, h221NonStandard);
+ break;
+ default :
+ nsp_handle = NULL;
+ }
+#.END
+
+#.FN_HDR NonStandardIdentifier/h221NonStandard
+ t35CountryCode = 0;
+ t35Extension = 0;
+ manufacturerCode = 0;
+#.FN_FTR NonStandardIdentifier/h221NonStandard
+ h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
+ proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
+#.FN_PARS
+NonStandardIdentifier/h221NonStandard/t35CountryCode VAL_PTR = &t35CountryCode
+NonStandardIdentifier/h221NonStandard/t35Extension VAL_PTR = &t35Extension
+NonStandardIdentifier/h221NonStandard/manufacturerCode VAL_PTR = &manufacturerCode
+#.END
+
+#.FN_HDR NonStandardParameter
+ nsp_handle = NULL;
+#.FN_BODY NonStandardParameter/data VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (next_tvb && tvb_reported_length(next_tvb)) {
+ call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, %(ACTX)s->pinfo, tree);
+ }
+#.END
+
+#.FN_BODY FunctionNotSupported/returnedFunction VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+ proto_item *item;
+ proto_tree *subtree;
+ h245_packet_info *saved_h245_pi;
+
+%(DEFAULT_BODY)s
+
+ if (next_tvb && tvb_reported_length(next_tvb)) {
+ saved_h245_pi = h245_pi;
+ h245_pi = NULL;
+ subtree = proto_tree_add_subtree(tree, next_tvb, 0, -1, ett_h245_returnedFunction, &item, "The returned function");
+ proto_item_set_generated(item);
+ dissect_h245_MultimediaSystemControlMessage(next_tvb, 0, actx, subtree, hf_h245_pdu_type);
+ h245_pi = saved_h245_pi;
+ }
+
+#.FN_BODY DataType VAL_PTR = &choice_index
+gint choice_index;
+
+%(DEFAULT_BODY)s
+
+if (upcoming_channel){
+ if (choice_index==2){
+ upcoming_channel->is_video=TRUE;
+ }else{
+ upcoming_channel->is_video=FALSE;
+ }
+}
+
+#----------------------------------------------------------------------------------------
+#.TYPE_RENAME
+
+NewATMVCCommand/aal Cmd_aal
+NewATMVCCommand/aal/aal1 Cmd_aal1
+NewATMVCCommand/aal/aal5 Cmd_aal5
+NewATMVCCommand/aal/aal1/clockRecovery Cmd_clockRecovery
+NewATMVCCommand/aal/aal1/errorCorrection Cmd_errorCorrection
+NewATMVCCommand/multiplex Cmd_multiplex
+NewATMVCCommand/reverseParameters Cmd_reverseParameters
+NewATMVCCommand/reverseParameters/multiplex CmdR_multiplex
+
+NewATMVCIndication/aal Ind_aal
+NewATMVCIndication/aal/aal1 Ind_aal1
+NewATMVCIndication/aal/aal5 Ind_aal5
+NewATMVCIndication/aal/aal1/clockRecovery Ind_clockRecovery
+NewATMVCIndication/aal/aal1/errorCorrection Ind_errorCorrection
+NewATMVCIndication/multiplex Ind_multiplex
+NewATMVCIndication/reverseParameters Ind_reverseParameters
+NewATMVCIndication/reverseParameters/multiplex IndR_multiplex
+
+MultilinkRequest/callInformation CallInformationReq
+MultilinkRequest/addConnection AddConnectionReq
+MultilinkRequest/removeConnection RemoveConnectionReq
+MultilinkRequest/maximumHeaderInterval MaximumHeaderIntervalReq
+
+MultilinkResponse/callInformation CallInformationResp
+MultilinkResponse/addConnection AddConnectionResp
+MultilinkResponse/removeConnection RemoveConnectionResp
+MultilinkResponse/maximumHeaderInterval MaximumHeaderIntervalResp
+
+MasterSlaveDeterminationReject/cause MasterSlaveDeterminationRejectCause
+TerminalCapabilitySetReject/cause TerminalCapabilitySetRejectCause
+OpenLogicalChannelReject/cause OpenLogicalChannelRejectCause
+RequestChannelCloseReject/cause RequestChannelCloseRejectCause
+MultiplexEntryRejectionDescriptions/cause MultiplexEntryRejectionDescriptionsCause
+RequestMultiplexEntryRejectionDescriptions/cause RequestMultiplexEntryRejectionDescriptionsCause
+RequestModeReject/cause RequestModeRejectCause
+MaintenanceLoopReject/cause MaintenanceLoopRejectCause
+FunctionNotSupported/cause FunctionNotSupportedCause
+
+AudioMode/g7231 Mode_g7231
+
+DataMode/application DataModeApplication
+DataMode/application/t38fax T38faxApp
+
+DepFECData/rfc2733 RFC2733Data
+
+IS13818AudioMode/audioLayer IS13818AudioLayer
+IS13818AudioMode/audioSampling IS13818AudioSampling
+IS13818AudioMode/multichannelType IS13818MultichannelType
+
+H223ModeParameters/adaptationLayerType AdaptationLayerType
+
+H223AL1MParameters/headerFEC AL1HeaderFEC
+H223AL1MParameters/crcLength AL1CrcLength
+H223AL2MParameters/headerFEC AL2HeaderFEC
+H223AL3MParameters/crcLength AL3CrcLength
+
+H261VideoMode/resolution H261Resolution
+H263VideoMode/resolution H263Resolution
+
+UnicastAddress/iPAddress/network Ipv4_network
+MulticastAddress/iPAddress MIPAddress
+MulticastAddress/iP6Address MIP6Address
+
+NonStandardIdentifier/h221NonStandard H221NonStandardID
+OpenLogicalChannel/forwardLogicalChannelNumber OLC_fw_lcn
+OpenLogicalChannelAck/forwardLogicalChannelNumber OLC_ack_fw_lcn
+OpenLogicalChannel/forwardLogicalChannelParameters/multiplexParameters OLC_forw_multiplexParameters
+OpenLogicalChannel/reverseLogicalChannelParameters/multiplexParameters OLC_rev_multiplexParameters
+OpenLogicalChannel/reverseLogicalChannelParameters OLC_reverseLogicalChannelParameters
+OpenLogicalChannel/forwardLogicalChannelParameters/multiplexParameters/h223LogicalChannelParameters OLC_fw_h223_params
+OpenLogicalChannel/reverseLogicalChannelParameters/multiplexParameters/h223LogicalChannelParameters OLC_rev_h223_params
+OpenLogicalChannelAck/reverseLogicalChannelParameters OLC_ack_reverseLogicalChannelParameters
+CloseLogicalChannel/reason Clc_reason
+VCCapability/availableBitRates/type Avb_type
+MultiplexElement/type Me_type
+RedundancyEncodingDTModeElement/type Re_type
+MaintenanceLoopRequest/type Mlr_type
+MaintenanceLoopAck/type Mla_type
+MaintenanceLoopReject/type Mlrej_type
+MiscellaneousCommand/type Mc_type
+MiscellaneousIndication/type Mi_type
+V76LogicalChannelParameters/mode V76LCP_mode
+DepFECData/rfc2733/mode FECdata_mode
+DepFECMode/rfc2733Mode/mode FEC_mode
+IS11172AudioMode/multichannelType IS11172_multichannelType
+MultiplexElement/repeatCount/finite ME_finiteRepeatCount
+MultiplexElement/repeatCount ME_repeatCount
+DepFECCapability/rfc2733 FECC_rfc2733
+RequestModeAck/response Req_mode_ack_response
+UserInputIndication/signalUpdate/rtp Si_rtp
+UnicastAddress/iPAddress/tsapIdentifier TsapIdentifier
+H2250LogicalChannelAckParameters/mediaChannel Ack_mediaChannel
+H2250LogicalChannelAckParameters/mediaControlChannel Ack_mediaControlChannel
+CommunicationModeTableEntry/mediaChannel Cm_mediaChannel
+#----------------------------------------------------------------------------------------
+#.FIELD_RENAME
+#----------------------------------------------------------------------------------------
+
+NewATMVCCommand/aal cmd_aal
+NewATMVCCommand/aal/aal1 cmd_aal1
+NewATMVCCommand/aal/aal5 cmd_aal5
+NewATMVCCommand/aal/aal1/clockRecovery cmd_clockRecovery
+NewATMVCCommand/aal/aal1/errorCorrection cmd_errorCorrection
+NewATMVCCommand/multiplex cmd_multiplex
+NewATMVCCommand/reverseParameters cmd_reverseParameters
+NewATMVCCommand/reverseParameters/multiplex cmdr_multiplex
+
+NewATMVCIndication/aal ind_aal
+NewATMVCIndication/aal/aal1 ind_aal1
+NewATMVCIndication/aal/aal5 ind_aal5
+NewATMVCIndication/aal/aal1/clockRecovery ind_clockRecovery
+NewATMVCIndication/aal/aal1/errorCorrection ind_errorCorrection
+NewATMVCIndication/multiplex ind_multiplex
+NewATMVCIndication/reverseParameters ind_reverseParameters
+NewATMVCIndication/reverseParameters/multiplex indr_multiplex
+
+MultilinkRequest/callInformation callInformationReq
+MultilinkRequest/addConnection addConnectionReq
+MultilinkRequest/removeConnection removeConnectionReq
+MultilinkRequest/maximumHeaderInterval maximumHeaderIntervalReq
+
+MultilinkResponse/callInformation callInformationResp
+MultilinkResponse/addConnection addConnectionResp
+MultilinkResponse/removeConnection removeConnectionResp
+MultilinkResponse/maximumHeaderInterval maximumHeaderIntervalResp
+
+MultiplexElement/type/logicalChannelNumber logicalChannelNum
+ConnectionIdentifier/sequenceNumber sequenceNum
+
+RequestMessage/nonStandard nonStandardMsg
+ResponseMessage/nonStandard nonStandardMsg
+CommandMessage/nonStandard nonStandardMsg
+IndicationMessage/nonStandard nonStandardMsg
+MultilinkRequest/nonStandard nonStandardMsg
+MultilinkResponse/nonStandard nonStandardMsg
+MultilinkIndication/nonStandard nonStandardMsg
+DialingInformation/nonStandard nonStandardMsg
+DialingInformationNetworkType/nonStandard nonStandardMsg
+
+UserInputCapability/nonStandard ui_nonStandard
+H2250LogicalChannelParameters/nonStandard nonStandardParams
+H2250LogicalChannelAckParameters/nonStandard nonStandardParams
+CommunicationModeTableEntry/nonStandard nonStandardParams
+ConferenceCapability/nonStandardData nonStandardParams
+
+UnicastAddress/iPXAddress/tsapIdentifier ipx_tsapIdentifier
+
+NonStandardParameter/data nsd_data
+NonStandardIdentifier/h221NonStandard h221NonStandardID
+
+AudioMode/g711Alaw64k g711Alaw64k_mode
+AudioMode/g711Alaw56k g711Alaw56k_mode
+AudioMode/g711Ulaw64k g711Ulaw64k_mode
+AudioMode/g711Ulaw56k g711Ulaw56k_mode
+AudioMode/g722-64k g722_64k_mode
+AudioMode/g722-56k g722_56k_mode
+AudioMode/g722-48k g722_48k_mode
+AudioMode/g728 g728_mode
+AudioMode/g729 g729_mode
+AudioMode/g729AnnexA g729AnnexA_mode
+AudioMode/g7231 g7231_mode
+AudioMode/vbd vbd_mode
+
+IS11172AudioMode/audioLayer/audioLayer1 audioLayer1Mode
+IS11172AudioMode/audioLayer/audioLayer2 audioLayer2Mode
+IS11172AudioMode/audioLayer/audioLayer3 audioLayer3Mode
+IS11172AudioMode/audioSampling/audioSampling32k audioSampling32kMode
+IS11172AudioMode/audioSampling/audioSampling44k1 audioSampling44k1Mode
+IS11172AudioMode/audioSampling/audioSampling48k audioSampling48kMode
+IS11172AudioMode/multichannelType/singleChannel singleChannelMode
+
+IS13818AudioMode/audioLayer audioLayerMode
+IS13818AudioMode/audioLayer/audioLayer1 audioLayer1Mode
+IS13818AudioMode/audioLayer/audioLayer2 audioLayer2Mode
+IS13818AudioMode/audioLayer/audioLayer3 audioLayer3Mode
+IS13818AudioMode/audioSampling audioSamplingMode
+IS13818AudioMode/audioSampling/audioSampling16k audioSampling16kMode
+IS13818AudioMode/audioSampling/audioSampling22k05 audioSampling22k05Mode
+IS13818AudioMode/audioSampling/audioSampling24k audioSampling24kMode
+IS13818AudioMode/audioSampling/audioSampling32k audioSampling32kMode
+IS13818AudioMode/audioSampling/audioSampling44k1 audioSampling44k1Mode
+IS13818AudioMode/audioSampling/audioSampling48k audioSampling48kMode
+IS13818AudioMode/multichannelType/singleChannel singleChannelMode
+IS13818AudioMode/multichannelType/threeChannels2-1 threeChannels2_1Mode
+IS13818AudioMode/multichannelType/threeChannels3-0 threeChannels3_0Mode
+IS13818AudioMode/multichannelType/fourChannels2-0-2-0 fourChannels2_0_2_0Mode
+IS13818AudioMode/multichannelType/fourChannels2-2 fourChannels2_2Mode
+IS13818AudioMode/multichannelType/fourChannels3-1 fourChannels3_1Mode
+IS13818AudioMode/multichannelType/fiveChannels3-0-2-0 fiveChannels3_0_2_0Mode
+IS13818AudioMode/multichannelType/fiveChannels3-2 fiveChannels3_2Mode
+
+H262VideoMode/profileAndLevel/profileAndLevel-SPatML profileAndLevel_SPatMLMode
+H262VideoMode/profileAndLevel/profileAndLevel-MPatLL profileAndLevel_MPatLLMode
+H262VideoMode/profileAndLevel/profileAndLevel-MPatML profileAndLevel_MPatMLMode
+H262VideoMode/profileAndLevel/profileAndLevel-MPatH-14 profileAndLevel_MPatH-14Mode
+H262VideoMode/profileAndLevel/profileAndLevel-MPatHL profileAndLevel_MPatHLMode
+H262VideoMode/profileAndLevel/profileAndLevel-SNRatLL profileAndLevel_SNRatLLMode
+H262VideoMode/profileAndLevel/profileAndLevel-SNRatML profileAndLevel_SNRatMLMode
+H262VideoMode/profileAndLevel/profileAndLevel-SpatialatH-14 profileAndLevel_SpatialatH-14Mode
+H262VideoMode/profileAndLevel/profileAndLevel-HPatML profileAndLevel_HPatMLMode
+H262VideoMode/profileAndLevel/profileAndLevel-HPatH-14 profileAndLevel_HPatH-14Mode
+H262VideoMode/profileAndLevel/profileAndLevel-HPatHL profileAndLevel_HPatHLMode
+
+RedundancyEncodingMode/secondaryEncoding/audioData audioMode
+RedundancyEncodingMode/secondaryEncoding secondaryEncodingMode
+RedundancyEncodingCapability/secondaryEncoding secondaryEncodingCapability
+
+UnicastAddress/iPAddress/network ip4_network
+UnicastAddress/iP6Address/network ip6_network
+MulticastAddress/iP6Address/network mip6_network
+MulticastAddress/iPAddress mIPAddress
+MulticastAddress/iP6Address mIP6Address
+MulticastAddress/iPAddress/network mip4_network
+
+RTPPayloadType/payloadType rtpPayloadType
+RTPPayloadType/payloadDescriptor/nonStandardIdentifier nonStandard
+MediaPacketizationCapability/rtpPayloadType rtpPayloadTypes
+T84Profile/t84Restricted/cif cif_bool
+T84Profile/t84Restricted/qcif qcif_bool
+H223ModeParameters/adaptationLayerType adaptationLayer
+H261VideoMode/resolution h261_resolution
+H263VideoMode/resolution h263_resolution
+H263VideoMode/resolution/custom custom_res
+CommunicationModeTableEntry/dataType entryDataType
+VCCapability/transportStream transportStream_bool
+MultiplePayloadStreamMode/elements mpsmElements
+RedundancyEncodingDTMode/secondary secondaryDTM
+MultiplexEntrySendReject/rejectionDescriptions sendRejectionDescriptions
+
+MultiplexEntrySendAck/multiplexTableEntryNumber multiplexTableEntryNumbers
+MultiplexEntrySendRelease/multiplexTableEntryNumber multiplexTableEntryNumbers
+CapabilityIdentifier/standard standardOid
+MiscellaneousIndication/type/videoNotDecodedMBs/temporalReference temporalReference_0_255
+CloseLogicalChannel/source cLC_source
+DepFECCapability/rfc2733/separateStream separateStreamBool
+DepFECCapability/rfc2733/separateStream/samePort samePortBool
+VCCapability/aal1/srtsClockRecovery srtsClockRecovery_bool
+VCCapability/aal1ViaGateway/srtsClockRecovery srtsClockRecoveryflag
+DataMode/application/t84 t84DataProtocolCapability
+DataMode/application/t38fax t38faxDataProtocolCapability
+H2250LogicalChannelParameters/sessionID sessionID_0_255
+H223Capability/mobileOperationTransmitCapability/h223AnnexADoubleFlag h223AnnexADoubleFlagFlag
+SendTerminalCapabilitySet/genericRequest genericRequestFlag
+H2250LogicalChannelParameters/mediaPacketization/h261aVideoPacketization h261aVideoPacketizationFlag
+RemoteMCResponse/reject/functionNotSupported functionNotSupportedFlag
+NewATMVCCommand/aal/aal1/errorCorrection/longInterleaver longInterleaverFlag
+NewATMVCIndication/aal/aal1/errorCorrection/longInterleaver longInterleaverFlag
+MiscellaneousCommand/type/videoFastUpdateMB/firstGOB firstGOB_0_255
+H263VideoCapability/sqcifMPI sqcifMPI_1_32
+EnhancementOptions/sqcifMPI sqcifMPI_1_32
+NewATMVCCommand/aal/aal1/errorCorrection/shortInterleaver shortInterleaverFlag
+NewATMVCIndication/aal/aal1/errorCorrection/shortInterleaver shortInterleaverFlag
+NewATMVCCommand/multiplex/programStream programStreamFlag
+NewATMVCCommand/reverseParameters/multiplex/programStream programStreamFlag
+NewATMVCIndication/multiplex/programStream programStreamFlag
+NewATMVCIndication/reverseParameters/multiplex/programStream programStreamFlag
+H263ModeComboFlags/enhancedReferencePicSelect enhancedReferencePicSelectBool
+NewATMVCCommand/aal/aal1/errorCorrection/errorCorrectionOnly errorCorrectionOnlyFlag
+NewATMVCIndication/aal/aal1/errorCorrection/errorCorrectionOnly errorCorrectionOnlyFlag
+UserInputCapability/extendedAlphanumeric extendedAlphanumericFlag
+MultiplexElement/repeatCount/finite me_repeatCount_finite
+MiscellaneousCommand/type/videoFastUpdateMB/firstMB firstMB_1_8192
+MiscellaneousIndication/type/videoNotDecodedMBs/firstMB firstMB_1_8192
+H261VideoCapability/cifMPI cifMPI_1_4
+CustomPictureClockFrequency/cifMPI cifMPI2_1_2048
+H263VideoCapability/cif16MPI cif16MPI_1_32
+EnhancementOptions/cif16MPI cif16MPI_1_32
+H263VideoCapability/cif4MPI cif4MPI_1_32
+EnhancementOptions/cif4MPI cif4MPI_1_32
+H263Version3Options/pictureNumber pictureNumberBoolean
+MiscellaneousCommand/type/videoBadMBs/numberOfMBs numberOfMBs1_1_9216
+MiscellaneousCommand/type/lostPartialPicture/numberOfMBs numberOfMBs1_1_9216
+DataApplicationCapability/maxBitRate maxBitRate2_0_4294967295
+GenericCapability/maxBitRate maxBitRate2_0_4294967295
+H261VideoCapability/maxBitRate maxBitRate_1_19200
+IS13818AudioCapability/bitRate bitRate2_1_1130
+IS13818AudioMode/bitRate bitRate2_1_1130
+IS11172AudioCapability/bitRate bitRate_1_448
+IS11172AudioMode/bitRate bitRate_1_448
+DataMode/bitRate bitRate_0_4294967295
+H223Capability/bitRate bitRate_1_19200
+H261VideoMode/bitRate bitRate_1_19200
+H263VideoMode/bitRate bitRate_1_19200
+DialingInformationNumber/networkAddress din_networkAddress
+NewATMVCCommand/aal/aal1/clockRecovery/adaptiveClockRecovery adaptiveClockRecoveryFlag
+NewATMVCIndication/aal/aal1/clockRecovery/adaptiveClockRecovery adaptiveClockRecoveryFlag
+NewATMVCCommand/aal/aal1/clockRecovery/nullClockRecovery nullClockRecoveryflag
+NewATMVCIndication/aal/aal1/clockRecovery/nullClockRecovery nullClockRecoveryflag
+NewATMVCCommand/aal/aal1/errorCorrection/nullErrorCorrection nullErrorCorrectionFlag
+NewATMVCIndication/aal/aal1/errorCorrection/nullErrorCorrection nullErrorCorrectionFlag
+H223AL2MParameters/headerFEC aL2HeaderFEC
+H223AL1MParameters/headerFEC aL1HeaderFEC
+H223AL1MParameters/crcLength crcLength2
+H223AL3MParameters/crcLength crlength2
+SendTerminalCapabilitySet/specificRequest/multiplexCapability multiplexCapabilityBool
+DepFECCapability/rfc2733/redundancyEncoding redundancyEncodingBool
+DepFECData/rfc2733/mode/redundancyEncoding redundancyEncodingFlag
+DepFECMode/rfc2733Mode/mode/redundancyEncoding redundancyEncodingFlag
+ParameterValue/genericParameter genericParameters
+
+H261VideoCapability/qcifMPI qcifMPI_1_4
+CustomPictureClockFrequency/qcifMPI qcifMPI_1_2048
+DataMode/application datamodeapplication
+MasterSlaveDeterminationReject/cause msd_rej_cause
+
+OpenLogicalChannelReject/cause olc_rej_cause
+RequestMultiplexEntryRejectionDescriptions/cause req_mux_rej_cause
+RequestModeReject/cause req_rej_cause
+MultiplexEntryRejectionDescriptions/cause mux_rej_cause
+RequestChannelCloseReject/cause req_chan_clos_rej_cause
+TerminalCapabilitySetReject/cause tcs_rej_cause
+MaintenanceLoopReject/cause maintloop_rej_cause
+FunctionNotSupported/cause fns_cause
+Restriction/maximumBitRate res_maximumBitRate
+RedundancyEncodingDTMode/primary prmary_dtmode
+RedundancyEncoding/rtpRedundancyEncoding/primary primary
+DepFECData/rfc2733 dep_rfc2733
+DepFECMode/rfc2733Mode/mode fec_mode
+DepFECData/rfc2733/mode fec_data_mode
+FECData/rfc2733/pktMode/rfc2733sameport mode_rfc2733sameport
+FECData/rfc2733/pktMode/rfc2733diffport mode_rfc2733diffport
+V76LogicalChannelParameters/mode v76_mode
+OpenLogicalChannelAck/reverseLogicalChannelParameters/multiplexParameters olc_ack_multiplexParameters
+OpenLogicalChannel/forwardLogicalChannelNumber olc_fw_lcn
+OpenLogicalChannelAck/forwardLogicalChannelNumber olc_ack_fw_lcn
+OpenLogicalChannel/forwardLogicalChannelParameters/multiplexParameters olc_forw_multiplexParameters
+OpenLogicalChannel/reverseLogicalChannelParameters/multiplexParameters olc_rev_multiplexParameter
+IS11172AudioMode/multichannelType is11172multichannelType
+IS13818AudioMode/multichannelType is13818MultichannelType
+CloseLogicalChannel/reason clc_reason
+MultiplexElement/repeatCount me_repeatCount
+DepFECCapability/rfc2733 fecc_rfc2733
+RequestModeAck/response req_mode_ack_response
+UserInputIndication/signalUpdate/rtp si_rtp
+VCCapability/availableBitRates/type avb_type
+MultiplexElement/type me_type
+RedundancyEncodingDTModeElement/type re_type
+MaintenanceLoopRequest/type mlr_type
+MaintenanceLoopAck/type mla_type
+MaintenanceLoopReject/type mlrej_type
+MiscellaneousCommand/type mc_type
+MiscellaneousIndication/type mi_type
+VBDMode/type vbd_type
+VBDCapability/type vbd_cap_type
+OpenLogicalChannelAck/reverseLogicalChannelParameters olc_ack_reverseLogicalChannelParameters
+H2250LogicalChannelAckParameters/mediaChannel ack_mediaChannel
+H2250LogicalChannelAckParameters/mediaControlChannel ack_mediaControlChannel
+UnicastAddress/iP6Address/tsapIdentifier ipv6_tsapIdentifier
+UnicastAddress/iPSourceRouteAddress/tsapIdentifier iPSrcRoute_tsapIdentifier
+MulticastAddress/iPAddress/tsapIdentifier multicast_tsapIdentifier
+MulticastAddress/iP6Address/tsapIdentifier multicast_IPv6_tsapIdentifier
+CommunicationModeTableEntry/mediaChannel cm_mediaChannel
+CommunicationModeTableEntry/mediaControlChannel cm_mediaControlChannel
+Criteria/value criteriaValue
+
+OpenLogicalChannel/reverseLogicalChannelParameters/multiplexParameters/h223LogicalChannelParameters olc_rev_h223_params
+OpenLogicalChannel/forwardLogicalChannelParameters/multiplexParameters/h223LogicalChannelParameters olc_fw_h223_params
+
+H223LogicalChannelParameters/adaptationLayerType/al1Framed h223_al_type_al1Framed
+H223LogicalChannelParameters/adaptationLayerType/al1NotFramed h223_al_type_al1NotFramed
+H223LogicalChannelParameters/adaptationLayerType/al2WithoutSequenceNumbers h223_al_type_al2WithoutSequenceNumbers
+H223LogicalChannelParameters/adaptationLayerType/al2WithSequenceNumbers h223_al_type_al2WithSequenceNumbers
+H223LogicalChannelParameters/adaptationLayerType/al3 h223_al_type_al3
+Al3/sendBufferSize al3_sendBufferSize
+H223LogicalChannelParameters/adaptationLayerType/al1M h223_al_type_al1M
+H223LogicalChannelParameters/adaptationLayerType/al2M h223_al_type_al2M
+H223LogicalChannelParameters/adaptationLayerType/al3M h223_al_type_al3M
+H223LogicalChannelParameters/segmentableFlag h223_lc_segmentableFlag
+
+#----------------------------------------------------------------------------------------
+#.TYPE_ATTR
+UnicastAddress/iPAddress/network TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
+UnicastAddress/iP6Address/network TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
+MulticastAddress/iPAddress/network TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
+MulticastAddress/iP6Address/network TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
+RTPPayloadType/payloadDescriptor/rfc-number TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(h245_RFC_number_vals)
+NonStandardIdentifier/h221NonStandard/t35CountryCode TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(T35CountryCode_vals)
+VendorIdentification/productNumber TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+VendorIdentification/versionNumber TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+ParameterValue/octetString TYPE = FT_UINT32 DISPLAY = BASE_DEC
+
+#----------------------------------------------------------------------------------------
+#.FIELD_ATTR
+AlternativeCapabilitySet/_item NAME = "alternativeCapability"
+CapabilityIdentifier/standard ABBREV=standardOid
+UnicastAddress/iPXAddress/tsapIdentifier ABBREV=ipx.tsapIdentifier
+UnicastAddress/iP6Address/tsapIdentifier ABBREV=ipv6.tsapIdentifier
+UnicastAddress/iPSourceRouteAddress/tsapIdentifier ABBREV=iPSrcRoute.tsapIdentifier
+MulticastAddress/iPAddress/tsapIdentifier ABBREV=multicast.tsapIdentifier
+MulticastAddress/iP6Address/tsapIdentifier ABBREV=multicast_IPv6.tsapIdentifier
+UnicastAddress/iPAddress/network ABBREV=ip4_network
+UnicastAddress/iP6Address/network ABBREV=ip6_network
+MulticastAddress/iP6Address/network ABBREV=mip6_network
+MulticastAddress/iPAddress ABBREV=mIPAddress
+MulticastAddress/iP6Address ABBREV=mIP6Address
+MulticastAddress/iPAddress/network ABBREV=mip4_network
+Criteria/value ABBREV=criteriaValue
+DialingInformationNumber/networkAddress ABBREV=din_networkAddress
+SendTerminalCapabilitySet/specificRequest/multiplexCapability ABBREV=multiplexCapabilityBool
+H263Version3Options/pictureNumber ABBREV=pictureNumberBoolean
+H223Capability/mobileOperationTransmitCapability/h223AnnexADoubleFlag ABBREV=h223AnnexADoubleFlagFlag
+
+#----------------------------------------------------------------------------------------
+# vim:set ts=4 sts=2 sw=2:
diff --git a/epan/dissectors/asn1/h245/packet-h245-template.c b/epan/dissectors/asn1/h245/packet-h245-template.c
new file mode 100644
index 00000000..7950ca14
--- /dev/null
+++ b/epan/dissectors/asn1/h245/packet-h245-template.c
@@ -0,0 +1,598 @@
+/* packet-h245_asn1.c
+ * Routines for h245 packet dissection
+ * Copyright 2004, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * To quote the author of the previous H245 dissector:
+ * "This is a complete replacement of the previous limitied dissector
+ * that Ronnie was crazy enough to write by hand. It was a lot of time
+ * to hack it by hand, but it is incomplete and buggy and it is good when
+ * it will go away."
+ * Ronnie did a great job and all the VoIP users had made good use of it!
+ * Credit to Tomas Kukosa for developing the asn2wrs compiler.
+ *
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/strutil.h>
+#include <epan/addr_resolv.h>
+#include <epan/prefs.h>
+#include <epan/t35.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+#include <epan/tap.h>
+#include <wsutil/pint.h>
+#include "packet-tpkt.h"
+#include "packet-per.h"
+#include "packet-h323.h"
+#include "packet-h245.h"
+#include "packet-rtp.h"
+#include "packet-rtcp.h"
+#include "packet-t38.h"
+
+#define PNAME "MULTIMEDIA-SYSTEM-CONTROL"
+#define PSNAME "H.245"
+#define PFNAME "h245"
+
+void proto_register_h245(void);
+void proto_reg_handoff_h245(void);
+
+static dissector_handle_t rtcp_handle=NULL;
+static dissector_table_t nsp_object_dissector_table;
+static dissector_table_t nsp_h221_dissector_table;
+static dissector_table_t gef_name_dissector_table;
+static dissector_table_t gef_content_dissector_table;
+static dissector_handle_t h245_handle;
+static dissector_handle_t nsp_handle;
+static dissector_handle_t data_handle;
+static dissector_handle_t MultimediaSystemControlMessage_handle;
+static dissector_handle_t h263_handle = NULL;
+static dissector_handle_t amr_handle = NULL;
+
+static void init_h245_packet_info(h245_packet_info *pi);
+static int hf_h245_pdu_type = -1;
+static int hf_h245Manufacturer = -1;
+static int hf_h245_subMessageIdentifier_standard = -1;
+static int h245_tap = -1;
+static int h245dg_tap = -1;
+static int hf_h245_debug_dissector_try_string = -1;
+
+h245_packet_info *h245_pi=NULL;
+
+static gboolean h245_reassembly = TRUE;
+static gboolean h245_shorttypes = FALSE;
+static gboolean info_col_fmt_prepend = FALSE;
+
+#include "packet-h245-val.h"
+
+static const value_string h245_RequestMessage_short_vals[] = {
+ { RequestMessage_nonStandard , "NSM" },
+ { RequestMessage_masterSlaveDetermination , "MSD" },
+ { RequestMessage_terminalCapabilitySet , "TCS" },
+ { RequestMessage_openLogicalChannel , "OLC" },
+ { RequestMessage_closeLogicalChannel , "CLC" },
+ { RequestMessage_requestChannelClose , "RCC" },
+ { RequestMessage_multiplexEntrySend , "MES" },
+ { RequestMessage_requestMultiplexEntry , "RME" },
+ { RequestMessage_requestMode , "RM" },
+ { RequestMessage_roundTripDelayRequest , "RTDR" },
+ { RequestMessage_maintenanceLoopRequest , "MLR" },
+ { RequestMessage_communicationModeRequest , "CMR" },
+ { RequestMessage_conferenceRequest , "CR" },
+ { RequestMessage_multilinkRequest , "MR" },
+ { RequestMessage_logicalChannelRateRequest, "LCRR" },
+ { RequestMessage_genericRequest , "GR" },
+ { 0, NULL }
+};
+static const value_string h245_ResponseMessage_short_vals[] = {
+ { ResponseMessage_nonStandard , "NSM" },
+ { ResponseMessage_masterSlaveDeterminationAck , "MSDAck" },
+ { ResponseMessage_masterSlaveDeterminationReject, "MSDReject" },
+ { ResponseMessage_terminalCapabilitySetAck , "TCSAck" },
+ { ResponseMessage_terminalCapabilitySetReject , "TCSReject" },
+ { ResponseMessage_openLogicalChannelAck , "OLCAck" },
+ { ResponseMessage_openLogicalChannelReject , "OLCReject" },
+ { ResponseMessage_closeLogicalChannelAck , "CLCAck" },
+ { ResponseMessage_requestChannelCloseAck , "RCCAck" },
+ { ResponseMessage_requestChannelCloseReject , "RCCReject" },
+ { ResponseMessage_multiplexEntrySendAck , "MESAck" },
+ { ResponseMessage_multiplexEntrySendReject , "MESReject" },
+ { ResponseMessage_requestMultiplexEntryAck , "RMEAck" },
+ { ResponseMessage_requestMultiplexEntryReject , "RMEReject" },
+ { ResponseMessage_requestModeAck , "RMAck" },
+ { ResponseMessage_requestModeReject , "RMReject" },
+ { ResponseMessage_roundTripDelayResponse , "RTDResponse" },
+ { ResponseMessage_maintenanceLoopAck , "MLAck" },
+ { ResponseMessage_maintenanceLoopReject , "MLReject" },
+ { ResponseMessage_communicationModeResponse , "CMResponse" },
+ { ResponseMessage_conferenceResponse , "CResponse" },
+ { ResponseMessage_multilinkResponse , "MResponse" },
+ { ResponseMessage_logicalChannelRateAcknowledge , "LCRAck" },
+ { ResponseMessage_logicalChannelRateReject , "LCRReject" },
+ { ResponseMessage_genericResponse , "GR" },
+ { 0, NULL }
+};
+static const value_string h245_IndicationMessage_short_vals[] = {
+ { IndicationMessage_nonStandard , "NSM" },
+ { IndicationMessage_functionNotUnderstood , "FNU" },
+ { IndicationMessage_masterSlaveDeterminationRelease , "MSDRelease" },
+ { IndicationMessage_terminalCapabilitySetRelease , "TCSRelease" },
+ { IndicationMessage_openLogicalChannelConfirm , "OLCConfirm" },
+ { IndicationMessage_requestChannelCloseRelease , "RCCRelease" },
+ { IndicationMessage_multiplexEntrySendRelease , "MESRelease" },
+ { IndicationMessage_requestMultiplexEntryRelease , "RMERelease" },
+ { IndicationMessage_requestModeRelease , "RMRelease" },
+ { IndicationMessage_miscellaneousIndication , "MI" },
+ { IndicationMessage_jitterIndication , "JI" },
+ { IndicationMessage_h223SkewIndication , "H223SI" },
+ { IndicationMessage_newATMVCIndication , "NATMVCI" },
+ { IndicationMessage_userInput , "UII" },
+ { IndicationMessage_h2250MaximumSkewIndication , "H2250MSI" },
+ { IndicationMessage_mcLocationIndication , "MCLI" },
+ { IndicationMessage_conferenceIndication , "CI" },
+ { IndicationMessage_vendorIdentification , "VI" },
+ { IndicationMessage_functionNotSupported , "FNS" },
+ { IndicationMessage_multilinkIndication , "MultilinkIndication" },
+ { IndicationMessage_logicalChannelRateRelease , "LCRRelease" },
+ { IndicationMessage_flowControlIndication , "FCIndication" },
+ { IndicationMessage_mobileMultilinkReconfigurationIndication, "MMRI" },
+ { IndicationMessage_genericIndication , "GI" },
+ { 0, NULL }
+};
+static const value_string h245_CommandMessage_short_vals[] = {
+ { CommandMessage_nonStandard , "NSM" },
+ { CommandMessage_maintenanceLoopOffCommand , "MLOC" },
+ { CommandMessage_sendTerminalCapabilitySet , "STCS" },
+ { CommandMessage_encryptionCommand , "EC" },
+ { CommandMessage_flowControlCommand , "FCC" },
+ { CommandMessage_endSessionCommand , "ESC" },
+ { CommandMessage_miscellaneousCommand , "MC" },
+ { CommandMessage_communicationModeCommand , "CMC" },
+ { CommandMessage_conferenceCommand , "CC" },
+ { CommandMessage_h223MultiplexReconfiguration , "H223MR" },
+ { CommandMessage_newATMVCCommand , "NATMVCC" },
+ { CommandMessage_mobileMultilinkReconfigurationCommand, "MMRC" },
+ { CommandMessage_genericCommand , "GC" },
+ { 0, NULL }
+};
+
+static const value_string h245_AudioCapability_short_vals[] = {
+ { AudioCapability_nonStandard , "nonStd" },
+ { AudioCapability_g711Alaw64k , "g711A" },
+ { AudioCapability_g711Alaw56k , "g711A56k" },
+ { AudioCapability_g711Ulaw64k , "g711U" },
+ { AudioCapability_g711Ulaw56k , "g711U56k" },
+ { AudioCapability_g722_64k , "g722-64k" },
+ { AudioCapability_g722_56k , "g722-56k" },
+ { AudioCapability_g722_48k , "g722-48k" },
+ { AudioCapability_g7231 , "g7231" },
+ { AudioCapability_g728 , "g728" },
+ { AudioCapability_g729 , "g729" },
+ { AudioCapability_g729AnnexA , "g729A" },
+ { AudioCapability_is11172AudioCapability, "is11172" },
+ { AudioCapability_is13818AudioCapability, "is13818" },
+ { AudioCapability_g729wAnnexB , "g729B" },
+ { AudioCapability_g729AnnexAwAnnexB , "g729AB" },
+ { AudioCapability_g7231AnnexCCapability , "g7231C" },
+ { AudioCapability_gsmFullRate , "gsmFR" },
+ { AudioCapability_gsmHalfRate , "gsmHR" },
+ { AudioCapability_gsmEnhancedFullRate , "gsmEFR" },
+ { AudioCapability_genericAudioCapability, "generic" },
+ { AudioCapability_g729Extensions , "g729Ext" },
+ { AudioCapability_vbd , "vbd" },
+ { AudioCapability_audioTelephonyEvent , "audioTelEvent" },
+ { AudioCapability_audioTone , "audioTone" },
+ { 0, NULL }
+};
+
+/* To put the codec type only in COL_INFO when
+ an OLC is read */
+const char* codec_type = NULL;
+static guint32 rfc_number;
+
+typedef struct _unicast_addr_t {
+ address addr;
+ guint8 addr_buf[16];
+ guint32 port;
+} unicast_addr_t;
+
+typedef struct _channel_info_t {
+ gchar data_type_str[32];
+ unicast_addr_t *upcoming_addr;
+ unicast_addr_t media_addr;
+ unicast_addr_t media_control_addr;
+ unsigned int rfc2198;
+ gboolean srtp_flag;
+ gboolean is_video;
+} channel_info_t;
+
+typedef struct _olc_info_t {
+ guint16 fwd_lc_num;
+ channel_info_t fwd_lc;
+ channel_info_t rev_lc;
+} olc_info_t;
+
+static wmem_map_t* h245_pending_olc_reqs = NULL;
+static gboolean fast_start = FALSE;
+static olc_info_t *upcoming_olc = NULL;
+static channel_info_t *upcoming_channel = NULL;
+
+/* NonStandardParameter */
+static const char *nsiOID;
+static guint32 h221NonStandard;
+static guint32 t35CountryCode;
+static guint32 t35Extension;
+static guint32 manufacturerCode;
+
+static const value_string h245_RFC_number_vals[] = {
+ { 2190, "RFC 2190 - H.263 Video Streams" },
+ { 2198, "RFC 2198 - RTP Payload for Redundant Audio Data" },
+ { 2429, "RFC 2429 - 1998 Version of ITU-T Rec. H.263 Video (H.263+)" },
+ { 3016, "RFC 3016 - RTP Payload Format for MPEG-4 Audio/Visual Streams" },
+ { 3267, "RFC 3267 - Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB)" },
+ { 3984, "RFC 3984 - RTP Payload Format for H.264 Video" },
+ { 0, NULL }
+};
+
+/* Table 7/H.239 subMessageIdentifier values */
+static const value_string h245_h239subMessageIdentifier_vals[] = {
+ { 1, "flowControlReleaseRequest" },
+ { 2, "flowControlReleaseResponse" },
+ { 3, "presentationTokenRequest" },
+ { 4, "presentationTokenResponse" },
+ { 5, "presentationTokenRelease" },
+ { 6, "presentationTokenIndicateOwner" },
+ { 0, NULL }
+};
+
+
+/* h223 multiplex codes */
+static h223_set_mc_handle_t h223_set_mc_handle = NULL;
+h223_mux_element *h223_me=NULL;
+guint8 h223_mc=0;
+void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle )
+{
+ h223_set_mc_handle = handle;
+}
+
+/* h223 logical channels */
+typedef struct {
+ h223_lc_params *fw_channel_params;
+ h223_lc_params *rev_channel_params;
+} h223_pending_olc;
+
+static wmem_map_t* h223_pending_olc_reqs[] = { NULL, NULL };
+static dissector_handle_t h245_lc_dissector;
+static guint16 h245_lc_temp;
+static guint16 h223_fw_lc_num;
+static guint16 h223_rev_lc_num;
+static h223_lc_params *h223_lc_params_temp;
+static h223_lc_params *h223_fw_lc_params;
+static h223_lc_params *h223_rev_lc_params;
+static h223_add_lc_handle_t h223_add_lc_handle = NULL;
+
+static void h223_lc_init( void )
+{
+ h223_lc_params_temp = NULL;
+ h245_lc_dissector = NULL;
+ h223_fw_lc_num = 0;
+}
+
+void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle )
+{
+ h223_add_lc_handle = handle;
+}
+
+static const gchar *gen_olc_key(guint16 lc_num, address *dst_addr, address *src_addr, wmem_allocator_t *scope)
+{
+ return wmem_strdup_printf(scope, "%s/%s/%u",
+ address_to_str(scope, dst_addr),
+ address_to_str(scope, src_addr),
+ lc_num);
+}
+
+static void update_unicast_addr(unicast_addr_t *req_addr, unicast_addr_t *ack_addr)
+{
+ if (ack_addr->addr.type!=AT_NONE && ack_addr->port!=0) {
+ memcpy(req_addr->addr_buf, ack_addr->addr_buf, sizeof(req_addr->addr_buf));
+ set_address(&req_addr->addr, ack_addr->addr.type, ack_addr->addr.len, req_addr->addr_buf);
+ req_addr->port = ack_addr->port;
+ }
+}
+
+static void h245_setup_channels(packet_info *pinfo, channel_info_t *upcoming_channel_lcl)
+{
+ rtp_dyn_payload_t *rtp_dyn_payload = NULL;
+ struct srtp_info *dummy_srtp_info = NULL;
+
+ if (!upcoming_channel_lcl) return;
+
+ /* T.38 */
+ if (!strcmp(upcoming_channel_lcl->data_type_str, "t38fax")) {
+ if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0) {
+ t38_add_address(pinfo, &upcoming_channel_lcl->media_addr.addr,
+ upcoming_channel_lcl->media_addr.port, 0,
+ "H245", pinfo->num);
+ }
+ return;
+ }
+
+ /* (S)RTP, (S)RTCP */
+ if (upcoming_channel_lcl->rfc2198 > 0) {
+ rtp_dyn_payload = rtp_dyn_payload_new();
+ rtp_dyn_payload_insert(rtp_dyn_payload, upcoming_channel_lcl->rfc2198, "red", 8000, 1);
+ }
+
+ if (upcoming_channel_lcl->srtp_flag) {
+ dummy_srtp_info = wmem_new0(wmem_file_scope(), struct srtp_info);
+ }
+
+ /* DEBUG ws_warning("h245_setup_channels media_addr.addr.type %u port %u",upcoming_channel_lcl->media_addr.addr.type, upcoming_channel_lcl->media_addr.port );
+ */
+ if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0) {
+ srtp_add_address(pinfo, PT_UDP, &upcoming_channel_lcl->media_addr.addr,
+ upcoming_channel_lcl->media_addr.port, 0,
+ "H245", pinfo->num, upcoming_channel_lcl->is_video , rtp_dyn_payload, dummy_srtp_info, NULL);
+ }
+ if (upcoming_channel_lcl->media_control_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_control_addr.port!=0 && rtcp_handle) {
+ srtcp_add_address(pinfo, &upcoming_channel_lcl->media_control_addr.addr,
+ upcoming_channel_lcl->media_control_addr.port, 0,
+ "H245", pinfo->num, dummy_srtp_info);
+ }
+}
+
+/* Prints formated information column of h245 messages. Note that global variables
+ * "h245_shorttypes" and "info_col_fmt_prepend" are used to decide formating preferences */
+static void print_info_column(column_info *cinfo, const gint32 *value,
+ const value_string *msg_vals, const value_string *short_msg_vals)
+{
+ const value_string *vals;
+
+ if (h245_shorttypes == FALSE || short_msg_vals == NULL) {
+ vals = msg_vals;
+ } else {
+ vals = short_msg_vals;
+ }
+
+ if (info_col_fmt_prepend == FALSE) {
+ col_append_fstr(cinfo, COL_INFO, "%s ", val_to_str_const(*value, vals, "<unknown>"));
+ } else {
+ col_prepend_fstr(cinfo, COL_INFO, "%s ", val_to_str_const(*value, vals, "<unknown>"));
+ }
+}
+
+/* Initialize the protocol and registered fields */
+static int proto_h245 = -1;
+#include "packet-h245-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_h245 = -1;
+static int ett_h245_returnedFunction = -1;
+#include "packet-h245-ett.c"
+
+/* Forward declarations */
+static int dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static void reset_h245_pi(void *dummy _U_)
+{
+ h245_pi = NULL; /* Make sure we don't leave pinfo->pool memory lying around */
+}
+
+#include "packet-h245-fn.c"
+
+static int
+dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ /*
+ * MultimediaSystemControlMessage_handle is the handle for
+ * dissect_h245_h245, so we don't want to do any h245_pi or tap stuff here.
+ */
+ dissect_tpkt_encap(tvb, pinfo, parent_tree, h245_reassembly, MultimediaSystemControlMessage_handle);
+ return tvb_captured_length(tvb);
+}
+
+
+static int
+dissect_h245_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ proto_item *it;
+ proto_tree *tr;
+ guint32 offset=0;
+ asn1_ctx_t asn1_ctx;
+
+ fast_start = FALSE;
+ /* Clean up from any previous packet dissection */
+ upcoming_olc = NULL;
+ upcoming_channel = NULL;
+ codec_type = NULL;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+
+ it=proto_tree_add_protocol_format(parent_tree, proto_h245, tvb, 0, -1, PSNAME);
+ tr=proto_item_add_subtree(it, ett_h245);
+
+ /* assume that whilst there is more tvb data, there are more h245 commands */
+ while ( tvb_reported_length_remaining( tvb, offset>>3 )>0 ){
+ CLEANUP_PUSH(reset_h245_pi, NULL);
+ h245_pi=wmem_new(pinfo->pool, h245_packet_info);
+ init_h245_packet_info(h245_pi);
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h245_MultimediaSystemControlMessage(tvb, offset, &asn1_ctx, tr, hf_h245_pdu_type);
+ tap_queue_packet(h245dg_tap, pinfo, h245_pi);
+ offset = (offset+0x07) & 0xfffffff8;
+ CLEANUP_CALL_AND_POP;
+ }
+ return tvb_captured_length(tvb);
+}
+
+void
+dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str) {
+
+ fast_start = TRUE;
+ /* Clean up from any previous packet dissection */
+ upcoming_olc = NULL;
+ upcoming_channel = NULL;
+ codec_type = NULL;
+
+ dissect_OpenLogicalChannel_PDU(tvb, pinfo, tree, NULL);
+
+ if (h245_pi != NULL)
+ h245_pi->msg_type = H245_OpenLogChn;
+
+ if (codec_str && codec_type){
+ (void) g_strlcpy(codec_str, codec_type, 50);
+ }
+
+}
+
+/*--- proto_register_h245 -------------------------------------------*/
+void proto_register_h245(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_h245_pdu_type,
+ { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
+ VALS(h245_MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
+ { &hf_h245Manufacturer,
+ { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX,
+ VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }},
+ { &hf_h245_subMessageIdentifier_standard,
+ { "subMessageIdentifier", "h245.subMessageIdentifier.standard",
+ FT_UINT32, BASE_DEC, VALS(h245_h239subMessageIdentifier_vals), 0,
+ NULL, HFILL }},
+ { &hf_h245_debug_dissector_try_string,
+ { "*** DEBUG dissector_try_string", "h245.debug.dissector_try_string", FT_STRING, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+
+#include "packet-h245-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_h245,
+ &ett_h245_returnedFunction,
+#include "packet-h245-ettarr.c"
+ };
+ module_t *h245_module;
+
+ /* Register protocol */
+ proto_h245 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ h223_pending_olc_reqs[P2P_DIR_SENT] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal );
+ h223_pending_olc_reqs[P2P_DIR_RECV] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal );
+ h245_pending_olc_reqs = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), wmem_str_hash, g_str_equal);
+
+ register_init_routine(h223_lc_init);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h245, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* From Ronnie Sahlbergs original H245 dissector */
+
+ h245_module = prefs_register_protocol(proto_h245, NULL);
+ prefs_register_bool_preference(h245_module, "reassembly",
+ "Reassemble H.245 messages spanning multiple TCP segments",
+ "Whether the H.245 dissector should reassemble messages spanning multiple TCP segments."
+ " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &h245_reassembly);
+ prefs_register_bool_preference(h245_module, "shorttypes",
+ "Show short message types",
+ "Whether the dissector should show short names or the long names from the standard",
+ &h245_shorttypes);
+ prefs_register_bool_preference(h245_module, "prepand",
+ "Show h245 info in reversed order",
+ "Whether the dissector should print items of h245 Info column in reversed order",
+ &info_col_fmt_prepend);
+ MultimediaSystemControlMessage_handle = register_dissector("h245dg", dissect_h245_h245, proto_h245);
+ h245_handle = register_dissector("h245", dissect_h245, proto_h245);
+
+ nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", proto_h245, FT_STRING, STRING_CASE_SENSITIVE);
+ nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", proto_h245, FT_UINT32, BASE_HEX);
+ gef_name_dissector_table = register_dissector_table("h245.gef.name", "H.245 Generic Extensible Framework Name", proto_h245, FT_STRING, STRING_CASE_SENSITIVE);
+ gef_content_dissector_table = register_dissector_table("h245.gef.content", "H.245 Generic Extensible Framework Content", proto_h245, FT_STRING, STRING_CASE_SENSITIVE);
+
+ h245_tap = register_tap("h245");
+ h245dg_tap = register_tap("h245dg");
+
+ oid_add_from_string("h239ControlCapability","0.0.8.239.1.1");
+ oid_add_from_string("h239ExtendedVideoCapability","0.0.8.239.1.2");
+ oid_add_from_string("generic-message","0.0.8.239.2");
+ oid_add_from_string("h245 version 3","0.0.8.245.0.3");
+ oid_add_from_string("h245 version 4","0.0.8.245.0.4");
+ oid_add_from_string("h245 version 5","0.0.8.245.0.5");
+ oid_add_from_string("h245 version 6","0.0.8.245.0.6");
+ oid_add_from_string("h245 version 7","0.0.8.245.0.7");
+ oid_add_from_string("h245 version 8","0.0.8.245.0.8");
+ oid_add_from_string("h245 version 9","0.0.8.245.0.9");
+ oid_add_from_string("h245 version 10","0.0.8.245.0.10");
+ oid_add_from_string("h245 version 11","0.0.8.245.0.11");
+ oid_add_from_string("h245 version 12","0.0.8.245.0.12");
+ oid_add_from_string("h245 version 13","0.0.8.245.0.13");
+ /* This capability is defined in Annex E. */
+ oid_add_from_string("ISO/IEC 14496-2 MPEG-4 video","0.0.8.245.1.0.0");
+ /* This capability is defined in Annex H. */
+ oid_add_from_string("ISO/IEC 14496-3 MPEG-4 audio","0.0.8.245.1.1.0");
+ /* This capability is defined in Annex I. */
+ oid_add_from_string("AMR","0.0.8.245.1.1.1");
+ /* This capability is defined in Annex J. */
+ oid_add_from_string("acelp","0.0.8.245.1.1.2");
+ /* This capability is defined in Annex K. */
+ oid_add_from_string("us1","0.0.8.245.1.1.3");
+ /* This capability is defined in Annex L. */
+ oid_add_from_string("is127evrc","0.0.8.245.1.1.4");
+ /* This capability is defined in Annex M. */
+ oid_add_from_string("ISO/IEC 13818-7","0.0.8.245.1.1.5");
+ /* This capability is defined in Annex N. */
+ oid_add_from_string("rfc3389","0.0.8.245.1.1.6");
+ /* This capability is defined in Annex O. */
+ oid_add_from_string("L-16","0.0.8.245.1.1.7");
+ /* This capability is defined in Annex P. */
+ oid_add_from_string("bounded-audio-stream","0.0.8.245.1.1.8");
+ /* This capability is defined in Annex R. */
+ oid_add_from_string("AMR-NB","0.0.8.245.1.1.9");
+ /* This capability is defined in Annex R. */
+ oid_add_from_string("AMR-WB","0.0.8.245.1.1.10");
+ /* This capability is defined in Annex S. */
+ oid_add_from_string("ilbc","0.0.8.245.1.1.11");
+
+ oid_add_from_string("ISO/IEC 14496-1","0.0.8.245.1.2.0");
+ oid_add_from_string("Nx64","0.0.8.245.1.2.1");
+ oid_add_from_string("logical-channel-bit-ratemanagement","0.0.8.245.1.3.0");
+
+ oid_add_from_string("h264 generic-capabilities","0.0.8.241.0.0.1");
+ oid_add_from_string("iPpacketization_h241AnnexA(single NAL unit mode)","0.0.8.241.0.0.0.0");
+ oid_add_from_string("iPpacketization_RFC3984NonInterleaved","0.0.8.241.0.0.0.1");
+ oid_add_from_string("iPpacketization_RFC3984Interleaved","0.0.8.241.0.0.0.2");
+}
+
+
+/*--- proto_reg_handoff_h245 ---------------------------------------*/
+void proto_reg_handoff_h245(void) {
+ rtcp_handle = find_dissector("rtcp");
+ data_handle = find_dissector("data");
+ h263_handle = find_dissector("h263data");
+ amr_handle = find_dissector("amr_if2_nb");
+
+
+ dissector_add_for_decode_as_with_preference("tcp.port", h245_handle);
+ dissector_add_for_decode_as_with_preference("udp.port", MultimediaSystemControlMessage_handle);
+}
+
+static void init_h245_packet_info(h245_packet_info *pi)
+{
+ if(pi == NULL) {
+ return;
+ }
+
+ pi->msg_type = H245_OTHER;
+ pi->frame_label[0] = '\0';
+ snprintf(pi->comment, sizeof(pi->comment), "H245 ");
+}
+
diff --git a/epan/dissectors/asn1/h245/packet-h245-template.h b/epan/dissectors/asn1/h245/packet-h245-template.h
new file mode 100644
index 00000000..9edd1159
--- /dev/null
+++ b/epan/dissectors/asn1/h245/packet-h245-template.h
@@ -0,0 +1,119 @@
+/* packet-h245.h
+ * Routines for h245 packet dissection
+ * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_H245_H
+#define PACKET_H245_H
+
+#include "ws_symbol_export.h"
+
+typedef enum _h245_msg_type {
+ H245_TermCapSet,
+ H245_TermCapSetAck,
+ H245_TermCapSetRjc,
+ H245_TermCapSetRls,
+ H245_OpenLogChn,
+ H245_OpenLogChnCnf,
+ H245_OpenLogChnAck,
+ H245_OpenLogChnRjc,
+ H245_CloseLogChn,
+ H245_CloseLogChnAck,
+ H245_MastSlvDet,
+ H245_MastSlvDetAck,
+ H245_MastSlvDetRjc,
+ H245_MastSlvDetRls,
+ H245_OTHER
+} h245_msg_type;
+
+typedef struct _h245_packet_info {
+ h245_msg_type msg_type; /* type of message */
+ gchar frame_label[50]; /* the Frame label used by graph_analysis, what is a abreviation of cinfo */
+ gchar comment[50]; /* the Frame Comment used by graph_analysis, what is a message desc */
+} h245_packet_info;
+
+/*
+ * h223 LC info
+ */
+
+typedef enum {
+ al_nonStandard,
+ al1Framed,
+ al1NotFramed,
+ al2WithoutSequenceNumbers,
+ al2WithSequenceNumbers,
+ al3,
+ /*...*/
+ /* al?M: unimplemented annex C adaptation layers */
+ al1M,
+ al2M,
+ al3M
+} h223_al_type;
+
+typedef struct {
+ guint8 control_field_octets;
+ guint32 send_buffer_size;
+} h223_al3_params;
+
+typedef struct {
+ h223_al_type al_type;
+ gpointer al_params;
+ gboolean segmentable;
+ dissector_handle_t subdissector;
+} h223_lc_params;
+
+typedef enum {
+ H245_nonStandardDataType,
+ H245_nullData,
+ H245_videoData,
+ H245_audioData,
+ H245_data,
+ H245_encryptionData,
+ /*...,*/
+ H245_h235Control,
+ H245_h235Media,
+ H245_multiplexedStream,
+ H245_redundancyEncoding,
+ H245_multiplePayloadStream,
+ H245_fec
+} h245_lc_data_type_enum;
+
+typedef struct {
+ h245_lc_data_type_enum data_type;
+ gpointer params;
+} h245_lc_data_type;
+
+/*
+ * h223 MUX info
+ */
+
+typedef struct _h223_mux_element h223_mux_element;
+struct _h223_mux_element {
+ h223_mux_element* sublist; /* if NULL, use vc instead */
+ guint16 vc;
+ guint16 repeat_count; /* 0 == untilClosingFlag */
+ h223_mux_element* next;
+};
+
+#include <epan/packet_info.h>
+#include "packet-per.h"
+
+typedef void (*h223_set_mc_handle_t) ( packet_info* pinfo, guint8 mc, h223_mux_element* me);
+WS_DLL_PUBLIC void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle );
+
+typedef void (*h223_add_lc_handle_t) ( packet_info* pinfo, guint16 lc, h223_lc_params* params);
+WS_DLL_PUBLIC void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle );
+
+#include "packet-h245-exp.h"
+void dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str);
+
+
+#endif /* PACKET_H245_H */
+
+
diff --git a/epan/dissectors/asn1/h248/CMakeLists.txt b/epan/dissectors/asn1/h248/CMakeLists.txt
new file mode 100644
index 00000000..31fd389c
--- /dev/null
+++ b/epan/dissectors/asn1/h248/CMakeLists.txt
@@ -0,0 +1,36 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h248 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ h248v3.asn
+ h248v1support.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h248/MEGACO.asn b/epan/dissectors/asn1/h248/MEGACO.asn
new file mode 100644
index 00000000..aab13234
--- /dev/null
+++ b/epan/dissectors/asn1/h248/MEGACO.asn
@@ -0,0 +1,987 @@
+-- This ASN definition is taken from
+-- http://132.151.1.19/internet-drafts/draft-ietf-megaco-h248v2-04.txt
+--
+-- and has been modified to pass through the ASN2ETH compiler
+-- (we dont support automatic tags yet so the tags had to be added by
+-- hand)
+
+MEDIA-GATEWAY-CONTROL {itu-t(0) recommendation(0) h(8) h248(248)
+modules(0) media-gateway-control(0) version2(2)}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+ MegacoMessage ::= SEQUENCE
+ {
+ authHeader [0] IMPLICIT AuthenticationHeader OPTIONAL,
+ mess [1] IMPLICIT Message
+ }
+
+ AuthenticationHeader ::= SEQUENCE
+ {
+ secParmIndex [0] IMPLICIT SecurityParmIndex,
+ seqNum [1] IMPLICIT SequenceNum,
+ ad [2] IMPLICIT AuthData
+ }
+
+ SecurityParmIndex ::= OCTET STRING(SIZE(4))
+
+ SequenceNum ::= OCTET STRING(SIZE(4))
+
+ AuthData ::= OCTET STRING (SIZE (12..32))
+
+ Message ::= SEQUENCE
+ {
+ version [0] IMPLICIT INTEGER(0..99),
+ -- The version of the protocol defined here is equal to 2.
+ mId [1] MId, -- Name/address of message originator
+ messageBody [2] CHOICE
+ {
+ messageError [0] IMPLICIT ErrorDescriptor,
+ transactions [1] IMPLICIT SEQUENCE OF Transaction
+ },
+ ...
+ }
+
+ MId ::= CHOICE
+ {
+ ip4Address [0] IMPLICIT IP4Address,
+ ip6Address [1] IMPLICIT IP6Address,
+ domainName [2] IMPLICIT DomainName,
+ deviceName [3] IMPLICIT PathName,
+ mtpAddress [4] IMPLICIT MtpAddress,
+ -- Addressing structure of mtpAddress:
+ -- 25 - 15 0
+ -- | PC | NI |
+ -- 24 - 14 bits 2 bits
+ -- Note: 14 bits are defined for international use.
+ -- Two national options exist where the point code is 16 or 24
+ -- bits.
+ -- To octet align the mtpAddress, the MSBs shall be encoded as 0s.
+ ...
+ }
+
+ MtpAddress ::= OCTET STRING(SIZE(2..4))
+
+ DomainName ::= SEQUENCE
+ {
+ name [0] IMPLICIT IA5String,
+ -- The name starts with an alphanumeric digit followed by a
+ -- sequence of alphanumeric digits, hyphens and dots. No two
+ -- dots shall occur consecutively.
+ portNumber [1] IMPLICIT INTEGER(0..65535) OPTIONAL
+ }
+
+ IP4Address ::= SEQUENCE
+ {
+ address [0] IMPLICIT OCTET STRING (SIZE(4)),
+ portNumber [1] IMPLICIT INTEGER(0..65535) OPTIONAL
+ }
+
+ IP6Address ::= SEQUENCE
+ {
+ address [0] IMPLICIT OCTET STRING (SIZE(16)),
+ portNumber [1] IMPLICIT INTEGER(0..65535) OPTIONAL
+ }
+
+ PathName ::= IA5String(SIZE (1..64))
+ -- See A.3
+
+ Transaction ::= CHOICE
+ {
+ transactionRequest [0] IMPLICIT TransactionRequest,
+ transactionPending [1] IMPLICIT TransactionPending,
+ transactionReply [2] IMPLICIT TransactionReply,
+ transactionResponseAck [3] IMPLICIT TransactionResponseAck,
+ -- use of response acks is dependent on underlying transport
+ ...
+ }
+
+ TransactionId ::= INTEGER(0..4294967295) -- 32-bit unsigned integer
+
+ TransactionRequest ::= SEQUENCE
+ {
+ transactionId [0] IMPLICIT TransactionId,
+ actions [1] IMPLICIT SEQUENCE OF ActionRequest,
+ ...
+ }
+
+ TransactionPending ::= SEQUENCE
+ {
+ transactionId [0] IMPLICIT TransactionId,
+ ...
+ }
+
+ TransactionReply ::= SEQUENCE
+ {
+ transactionId [0] IMPLICIT TransactionId,
+ immAckRequired [1] IMPLICIT NULL OPTIONAL,
+ transactionResult [2] CHOICE
+ {
+ transactionError [0] IMPLICIT ErrorDescriptor,
+ actionReplies [1] IMPLICIT SEQUENCE OF ActionReply
+ },
+ ...
+ }
+
+ TransactionResponseAck ::= SEQUENCE OF TransactionAck
+ TransactionAck ::= SEQUENCE
+ {
+ firstAck [0] IMPLICIT TransactionId,
+ lastAck [1] IMPLICIT TransactionId OPTIONAL
+ }
+
+ ErrorDescriptor ::= SEQUENCE
+ {
+ errorCode [0] IMPLICIT ErrorCode,
+ errorText [1] IMPLICIT ErrorText OPTIONAL
+ }
+
+ ErrorCode ::= INTEGER(0..65535)
+ -- See clause 14 for IANA considerations with respect to error codes
+
+ ErrorText ::= IA5String
+
+ ContextID ::= INTEGER(0..4294967295)
+
+ -- Context NULL Value: 0
+ -- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)
+ -- Context ALL Value: 4294967295 (0xFFFFFFFF)
+
+
+ ActionRequest ::= SEQUENCE
+ {
+ contextId [0] IMPLICIT ContextID,
+ contextRequest [1] IMPLICIT ContextRequest OPTIONAL,
+ contextAttrAuditReq [2] IMPLICIT ContextAttrAuditRequest OPTIONAL,
+ commandRequests [3] IMPLICIT SEQUENCE OF CommandRequest
+ }
+
+ ActionReply ::= SEQUENCE
+ {
+ contextId [0] IMPLICIT ContextID,
+ errorDescriptor [1] IMPLICIT ErrorDescriptor OPTIONAL,
+ contextReply [2] IMPLICIT ContextRequest OPTIONAL,
+ commandReply [3] IMPLICIT SEQUENCE OF CommandReply
+ }
+
+ ContextRequest ::= SEQUENCE
+ {
+ priority [0] IMPLICIT INTEGER(0..15) OPTIONAL,
+ emergency [1] IMPLICIT BOOLEAN OPTIONAL,
+ topologyReq [2] IMPLICIT SEQUENCE OF TopologyRequest OPTIONAL,
+ ...
+ }
+
+ ContextAttrAuditRequest ::= SEQUENCE
+ {
+ topology [0] IMPLICIT NULL OPTIONAL,
+ emergency [1] IMPLICIT NULL OPTIONAL,
+ priority [2] IMPLICIT NULL OPTIONAL,
+ ...
+ }
+
+ CommandRequest ::= SEQUENCE
+ {
+ command [0] Command,
+ optional [1] IMPLICIT NULL OPTIONAL,
+ wildcardReturn [2] IMPLICIT NULL OPTIONAL,
+ ...
+ }
+
+ Command ::= CHOICE
+ {
+ addReq [0] IMPLICIT AmmRequest,
+ moveReq [1] IMPLICIT AmmRequest,
+ modReq [2] IMPLICIT AmmRequest,
+ -- Add, Move, Modify requests have the same parameters
+ subtractReq [3] IMPLICIT SubtractRequest,
+ auditCapRequest [4] IMPLICIT AuditRequest,
+ auditValueRequest [5] IMPLICIT AuditRequest,
+ notifyReq [6] IMPLICIT NotifyRequest,
+ serviceChangeReq [7] IMPLICIT ServiceChangeRequest,
+ ...
+ }
+
+ CommandReply ::= CHOICE
+ {
+ addReply [0] IMPLICIT AmmsReply,
+ moveReply [1] IMPLICIT AmmsReply,
+ modReply [2] IMPLICIT AmmsReply,
+ subtractReply [3] IMPLICIT AmmsReply,
+ -- Add, Move, Modify, Subtract replies have the same parameters
+ auditCapReply [4] AuditReply,
+ auditValueReply [5] AuditReply,
+ notifyReply [6] IMPLICIT NotifyReply,
+ serviceChangeReply [7] IMPLICIT ServiceChangeReply,
+ ...
+ }
+
+ TopologyRequest ::= SEQUENCE
+ {
+ terminationFrom [0] IMPLICIT TerminationID,
+ terminationTo [1] IMPLICIT TerminationID,
+ topologyDirection [2] IMPLICIT ENUMERATED
+ {
+ bothway(0),
+ isolate(1),
+ oneway(2)
+ },
+ ...,
+ streamID [3] IMPLICIT StreamID OPTIONAL
+ }
+
+ AmmRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ descriptors [1] IMPLICIT SEQUENCE OF AmmDescriptor,
+ -- At most one descriptor of each type (see AmmDescriptor)
+ -- allowed in the sequence.
+ ...
+ }
+
+ AmmDescriptor ::= CHOICE
+ {
+ mediaDescriptor [0] IMPLICIT MediaDescriptor,
+ modemDescriptor [1] IMPLICIT ModemDescriptor,
+ muxDescriptor [2] IMPLICIT MuxDescriptor,
+ eventsDescriptor [3] IMPLICIT EventsDescriptor,
+ eventBufferDescriptor [4] IMPLICIT EventBufferDescriptor,
+ signalsDescriptor [5] IMPLICIT SignalsDescriptor,
+ digitMapDescriptor [6] IMPLICIT DigitMapDescriptor,
+ auditDescriptor [7] IMPLICIT AuditDescriptor,
+ ...
+ }
+
+
+ AmmsReply ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ terminationAudit [1] IMPLICIT TerminationAudit OPTIONAL,
+ ...
+ }
+
+ SubtractRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ auditDescriptor [1] IMPLICIT AuditDescriptor OPTIONAL,
+ ...
+ }
+
+ AuditRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationID,
+ auditDescriptor [1] IMPLICIT AuditDescriptor,
+ ...
+ }
+
+ AuditReply ::= CHOICE
+ {
+ contextAuditResult [0] IMPLICIT TerminationIDList,
+ error [1] IMPLICIT ErrorDescriptor,
+ auditResult [2] IMPLICIT AuditResult,
+ ...
+ }
+
+ AuditResult ::= SEQUENCE
+ {
+
+ terminationID [0] IMPLICIT TerminationID,
+ terminationAuditResult [1] IMPLICIT TerminationAudit
+ }
+
+
+
+ TerminationAudit ::= SEQUENCE OF AuditReturnParameter
+
+ AuditReturnParameter ::= CHOICE
+ {
+ errorDescriptor [0] IMPLICIT ErrorDescriptor,
+ mediaDescriptor [1] IMPLICIT MediaDescriptor,
+ modemDescriptor [2] IMPLICIT ModemDescriptor,
+ muxDescriptor [3] IMPLICIT MuxDescriptor,
+ eventsDescriptor [4] IMPLICIT EventsDescriptor,
+ eventBufferDescriptor [5] IMPLICIT EventBufferDescriptor,
+ signalsDescriptor [6] IMPLICIT SignalsDescriptor,
+ digitMapDescriptor [7] IMPLICIT DigitMapDescriptor,
+ observedEventsDescriptor [8] IMPLICIT ObservedEventsDescriptor,
+ statisticsDescriptor [9] IMPLICIT StatisticsDescriptor,
+ packagesDescriptor [10] IMPLICIT PackagesDescriptor,
+ emptyDescriptors [11] IMPLICIT AuditDescriptor,
+ ...
+ }
+
+ AuditDescriptor ::= SEQUENCE
+ {
+ auditToken [0] IMPLICIT BIT STRING
+ {
+ muxToken(0), modemToken(1), mediaToken(2),
+ eventsToken(3), signalsToken(4),
+ digitMapToken(5), statsToken(6),
+ observedEventsToken(7),
+ packagesToken(8), eventBufferToken(9)
+ } OPTIONAL,
+ ...,
+ auditPropertyToken [1] IMPLICIT SEQUENCE OF IndAuditParameter OPTIONAL
+ }
+
+ IndAuditParameter ::= CHOICE
+ {
+ indaudmediaDescriptor [0] IMPLICIT IndAudMediaDescriptor,
+ indaudeventsDescriptor [1] IMPLICIT IndAudEventsDescriptor,
+ indaudeventBufferDescriptor [2] IMPLICIT IndAudEventBufferDescriptor,
+ indaudsignalsDescriptor [3] IndAudSignalsDescriptor,
+ indauddigitMapDescriptor [4] IMPLICIT IndAudDigitMapDescriptor,
+ indaudstatisticsDescriptor [5] IMPLICIT IndAudStatisticsDescriptor,
+ indaudpackagesDescriptor [6] IMPLICIT IndAudPackagesDescriptor,
+ ...
+ }
+
+ IndAudMediaDescriptor ::= SEQUENCE
+ {
+
+ termStateDescr [0] IMPLICIT IndAudTerminationStateDescriptor OPTIONAL,
+ streams [1] CHOICE
+ {
+ oneStream [0] IMPLICIT IndAudStreamParms,
+ multiStream [1] IMPLICIT SEQUENCE OF IndAudStreamDescriptor
+ } OPTIONAL,
+ ...
+ }
+
+ IndAudStreamDescriptor ::= SEQUENCE
+ {
+ streamID [0] IMPLICIT StreamID,
+ streamParms [1] IMPLICIT IndAudStreamParms
+ }
+
+ IndAudStreamParms ::= SEQUENCE
+ {
+ localControlDescriptor [0] IMPLICIT IndAudLocalControlDescriptor OPTIONAL,
+ localDescriptor [1] IMPLICIT IndAudLocalRemoteDescriptor OPTIONAL,
+ remoteDescriptor [2] IMPLICIT IndAudLocalRemoteDescriptor OPTIONAL,
+ ...
+ }
+
+ IndAudLocalControlDescriptor ::= SEQUENCE
+ {
+ streamMode [0] IMPLICIT NULL OPTIONAL,
+ reserveValue [1] IMPLICIT NULL OPTIONAL,
+ reserveGroup [2] IMPLICIT NULL OPTIONAL,
+ propertyParms [3] IMPLICIT IndAudPropertyParms OPTIONAL,
+ ...
+ }
+
+ IndAudPropertyParm ::= SEQUENCE
+ {
+ name [0] IMPLICIT PkgdName,
+ ...
+ }
+
+ IndAudPropertyParms ::= SEQUENCE OF IndAudPropertyParm
+
+ IndAudLocalRemoteDescriptor ::= SEQUENCE
+ {
+ propGroupID [0] IMPLICIT INTEGER(0..65535) OPTIONAL,
+ propGrps [1] IMPLICIT IndAudPropertyGroup,
+ ...
+ }
+
+ IndAudPropertyGroup ::= SEQUENCE OF IndAudPropertyParm
+
+ IndAudTerminationStateDescriptor ::= SEQUENCE
+ {
+ propertyParms [0] IMPLICIT IndAudPropertyParms,
+ eventBufferControl [1] IMPLICIT NULL OPTIONAL,
+ serviceState [2] IMPLICIT NULL OPTIONAL,
+ ...
+ }
+
+ IndAudEventsDescriptor ::= SEQUENCE
+ {
+ requestID [0] IMPLICIT RequestID OPTIONAL,
+ pkgdName [1] IMPLICIT PkgdName,
+ streamID [2] IMPLICIT StreamID OPTIONAL,
+ ...
+ }
+
+ IndAudEventBufferDescriptor ::= SEQUENCE
+ {
+ eventName [0] IMPLICIT PkgdName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ ...
+ }
+
+ IndAudSignalsDescriptor ::=CHOICE
+ {
+ signal [0] IMPLICIT IndAudSignal,
+ seqSigList [1] IMPLICIT IndAudSeqSigList,
+ ...
+ }
+
+ IndAudSeqSigList ::= SEQUENCE
+ {
+ id [0] IMPLICIT INTEGER(0..65535),
+ signalList [1] IMPLICIT IndAudSignal OPTIONAL
+ }
+
+ IndAudSignal ::= SEQUENCE
+ {
+ signalName [0] IMPLICIT PkgdName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ ...
+ }
+
+ IndAudDigitMapDescriptor ::= SEQUENCE
+ {
+ digitMapName [0] IMPLICIT DigitMapName OPTIONAL
+ }
+
+ IndAudStatisticsDescriptor ::= SEQUENCE
+ {
+ statName [0] IMPLICIT PkgdName
+ }
+
+ IndAudPackagesDescriptor ::= SEQUENCE
+ {
+ packageName [0] IMPLICIT Name,
+ packageVersion [1] IMPLICIT INTEGER(0..99),
+ ...
+ }
+
+ NotifyRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ observedEventsDescriptor [1] IMPLICIT ObservedEventsDescriptor,
+ errorDescriptor [2] IMPLICIT ErrorDescriptor OPTIONAL,
+ ...
+ }
+
+ NotifyReply ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ errorDescriptor [1] IMPLICIT ErrorDescriptor OPTIONAL,
+ ...
+ }
+
+ ObservedEventsDescriptor ::= SEQUENCE
+ {
+ requestId [0] IMPLICIT RequestID,
+ observedEventLst [1] IMPLICIT SEQUENCE OF ObservedEvent
+ }
+
+ ObservedEvent ::= SEQUENCE
+ {
+ eventName [0] IMPLICIT EventName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ eventParList [2] IMPLICIT EventParameters,
+ timeNotation [3] IMPLICIT TimeNotation OPTIONAL,
+ ...
+ }
+
+ EventName ::= OCTET STRING
+
+ ExtraInfo ::= CHOICE
+ {
+ relation [0] IMPLICIT Relation,
+ range [1] IMPLICIT BOOLEAN,
+ sublist [2] IMPLICIT BOOLEAN
+ }
+
+ EventParameter ::= SEQUENCE
+ {
+ eventParameterName [0] IMPLICIT EventParameterName,
+ eventParamValue [1] IMPLICIT EventParamValues,
+
+ -- For use of extraInfo see the comment related to PropertyParm
+ extraInfo [2] ExtraInfo OPTIONAL,
+ ...
+
+ }
+
+ EventParameterName ::= Name
+
+ EventParamValues ::= SEQUENCE OF EventParamValue
+
+ EventParamValue ::= OCTET STRING
+
+ EventParameters ::= SEQUENCE OF EventParameter
+
+ ServiceChangeRequest ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ serviceChangeParms [1] IMPLICIT ServiceChangeParm,
+ ...
+ }
+
+ ServiceChangeReply ::= SEQUENCE
+ {
+ terminationID [0] IMPLICIT TerminationIDList,
+ serviceChangeResult [1] ServiceChangeResult,
+ ...
+ }
+
+ -- For ServiceChangeResult, no parameters are mandatory. Hence the
+ -- distinction between ServiceChangeParm and ServiceChangeResParm.
+
+ ServiceChangeResult ::= CHOICE
+ {
+ errorDescriptor [0] IMPLICIT ErrorDescriptor,
+ serviceChangeResParms [1] IMPLICIT ServiceChangeResParm
+ }
+
+ WildcardField ::= OCTET STRING(SIZE(1))
+
+ TerminationID ::= SEQUENCE
+ {
+ wildcard [0] IMPLICIT SEQUENCE OF WildcardField,
+ id [1] IMPLICIT OCTET STRING(SIZE(1..8)),
+ ...
+ }
+ -- See A.1 for explanation of wildcarding mechanism.
+ -- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination.
+
+ TerminationIDList ::= SEQUENCE OF TerminationID
+
+
+ MediaDescriptor ::= SEQUENCE
+ {
+ termStateDescr [0] IMPLICIT TerminationStateDescriptor OPTIONAL,
+ streams [1] CHOICE
+ {
+ oneStream [0] IMPLICIT StreamParms,
+ multiStream [1] IMPLICIT SEQUENCE OF StreamDescriptor
+ } OPTIONAL,
+ ...
+ }
+
+ StreamDescriptor ::= SEQUENCE
+ {
+ streamID [0] IMPLICIT StreamID,
+ streamParms [1] IMPLICIT StreamParms
+ }
+
+ StreamParms ::= SEQUENCE
+ {
+ localControlDescriptor [0] IMPLICIT LocalControlDescriptor OPTIONAL,
+ localDescriptor [1] IMPLICIT LocalRemoteDescriptor OPTIONAL,
+ remoteDescriptor [2] IMPLICIT LocalRemoteDescriptor OPTIONAL,
+ ...
+ }
+
+ LocalControlDescriptor ::= SEQUENCE
+ {
+ streamMode [0] IMPLICIT StreamMode OPTIONAL,
+ reserveValue [1] IMPLICIT BOOLEAN OPTIONAL,
+ reserveGroup [2] IMPLICIT BOOLEAN OPTIONAL,
+ propertyParms [3] IMPLICIT PropertyParms,
+ ...
+ }
+
+ StreamMode ::= ENUMERATED
+ {
+ sendOnly(0),
+ recvOnly(1),
+ sendRecv(2),
+ inactive(3),
+ loopBack(4),
+ ...
+ }
+
+ -- In PropertyParm, value is a SEQUENCE OF octet string. When sent
+ -- by an MGC the interpretation is as follows:
+ -- empty sequence means CHOOSE
+ -- one element sequence specifies value
+ -- If the sublist field is not selected, a longer sequence means
+ -- "choose one of the values" (i.e. value1 OR value2 OR ...)
+ -- If the sublist field is selected,
+ -- a sequence with more than one element encodes the value of a
+ -- list-valued property (i.e. value1 AND value2 AND ...).
+ -- The relation field may only be selected if the value sequence
+ -- has length 1. It indicates that the MG has to choose a value
+ -- for the property. E.g. x > 3 (using the greaterThan
+ -- value for relation) instructs the MG to choose any value larger
+ -- than 3 for property x.
+ -- The range field may only be selected if the value sequence
+ -- has length 2. It indicates that the MG has to choose a value
+ -- in the range between the first octet in the value sequence and
+ -- the trailing octet in the value sequence, including the
+ -- boundary values.
+ -- When sent by the MG, only responses to an AuditCapability request
+ -- may contain multiple values, a range, or a relation field.
+
+ PropertyParm ::= SEQUENCE
+ {
+ propertyName [0] IMPLICIT PkgdName,
+ value [1] IMPLICIT SEQUENCE OF PropertyID,
+ extraInfo [2] ExtraInfo OPTIONAL,
+ ...
+ }
+
+ PropertyParms ::= SEQUENCE OF PropertyParm
+
+ Name ::= OCTET STRING(SIZE(2))
+
+ PkgdName ::= OCTET STRING(SIZE(4))
+ -- represents Package Name (2 octets) plus Property, Event,
+ -- Signal Names or Statistics ID. (2 octets)
+ -- To wildcard a package use 0xFFFF for first two octets, choose
+ -- is not allowed. To reference native property tag specified in
+ -- Annex C, use 0x0000 as first two octets.
+ -- To wildcard a Property, Event, Signal, or Statistics ID, use
+ -- 0xFFFF for last two octets, choose is not allowed.
+ -- Wildcarding of Package Name is permitted only if Property,
+ -- Event, Signal, or Statistics ID are
+ -- also wildcarded.
+ PropertyID ::= OCTET STRING
+
+ Relation ::= ENUMERATED
+ {
+ greaterThan(0),
+ smallerThan(1),
+ unequalTo(2),
+ ...
+ }
+
+ LocalRemoteDescriptor ::= SEQUENCE
+ {
+ propGrps [0] IMPLICIT SEQUENCE OF PropertyGroup,
+ ...
+ }
+
+ PropertyGroup ::= SEQUENCE OF PropertyParm
+
+ TerminationStateDescriptor ::= SEQUENCE
+ {
+ propertyParms [0] IMPLICIT PropertyParms,
+ eventBufferControl [1] IMPLICIT EventBufferControl OPTIONAL,
+ serviceState [2] IMPLICIT ServiceState OPTIONAL,
+ ...
+ }
+
+ EventBufferControl ::= ENUMERATED
+ {
+ off(0),
+ lockStep(1),
+ ...
+ }
+
+ ServiceState ::= ENUMERATED
+ {
+ test(0),
+ outOfSvc(1),
+ inSvc(2),
+ ...
+ }
+
+ MuxDescriptor ::= SEQUENCE
+ {
+ muxType [0] IMPLICIT MuxType,
+ termList [1] IMPLICIT SEQUENCE OF TerminationID,
+ nonStandardData [2] IMPLICIT NonStandardData OPTIONAL,
+ ...
+ }
+
+ MuxType ::= ENUMERATED
+ {
+ h221(0),
+ h223(1),
+ h226(2),
+ v76(3),
+ ...,
+ nx64k(4)
+ }
+
+ StreamID ::= INTEGER(0..65535) -- 16-bit unsigned integer
+
+ EventsDescriptor ::= SEQUENCE
+ {
+ requestID [0] IMPLICIT RequestID OPTIONAL,
+ -- RequestID must be present if eventList
+ -- is non empty
+ eventList [1] IMPLICIT RequestedEvents,
+ ...
+ }
+
+ RequestedEvent ::= SEQUENCE
+ {
+ pkgdName [0] IMPLICIT EventName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ eventAction [2] IMPLICIT RequestedActions OPTIONAL,
+ evParList [3] IMPLICIT EventParameters,
+ ...
+ }
+
+ RequestedEvents ::= SEQUENCE OF RequestedEvent
+
+ RequestedActions ::= SEQUENCE
+ {
+ keepActive [0] IMPLICIT BOOLEAN OPTIONAL,
+ eventDM [1] EventDM OPTIONAL,
+ secondEvent [2] IMPLICIT SecondEventsDescriptor OPTIONAL,
+ signalsDescriptor [3] IMPLICIT SignalsDescriptor OPTIONAL,
+ ...
+ }
+
+ EventDM ::= CHOICE
+ {
+ digitMapName [0] IMPLICIT DigitMapName,
+ digitMapValue [1] IMPLICIT DigitMapValue
+ }
+
+ SecondEventsDescriptor ::= SEQUENCE
+ {
+ requestID [0] IMPLICIT RequestID OPTIONAL,
+ eventList [1] IMPLICIT SEQUENCE OF SecondRequestedEvent,
+ ...
+ }
+
+ SecondRequestedEvent ::= SEQUENCE
+ {
+ pkgdName [0] IMPLICIT EventName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ eventAction [2] IMPLICIT SecondRequestedActions OPTIONAL,
+ evParList [3] IMPLICIT EventParameters,
+ ...
+ }
+
+ SecondRequestedActions ::= SEQUENCE
+ {
+ keepActive [0] IMPLICIT BOOLEAN OPTIONAL,
+ eventDM [1] EventDM OPTIONAL,
+ signalsDescriptor [2] IMPLICIT SignalsDescriptor OPTIONAL,
+ ...
+ }
+
+ EventBufferDescriptor ::= SEQUENCE OF EventSpec
+
+ EventSpec ::= SEQUENCE
+ {
+ eventName [0] IMPLICIT EventName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ eventParList [2] IMPLICIT EventParameters,
+ ...
+ }
+
+
+ SignalsDescriptor ::= SEQUENCE OF SignalRequest
+
+ SignalRequest ::= CHOICE
+ {
+ signal [0] IMPLICIT Signal,
+ seqSigList [1] IMPLICIT SeqSigList,
+ ...
+ }
+
+ SeqSigList ::= SEQUENCE
+ {
+ id [0] IMPLICIT INTEGER(0..65535),
+ signalList [1] IMPLICIT SEQUENCE OF Signal
+ }
+
+ Signal ::= SEQUENCE
+ {
+ signalName [0] IMPLICIT SignalName,
+ streamID [1] IMPLICIT StreamID OPTIONAL,
+ sigType [2] IMPLICIT SignalType OPTIONAL,
+ duration [3] IMPLICIT INTEGER (0..65535) OPTIONAL,
+ notifyCompletion [4] IMPLICIT NotifyCompletion OPTIONAL,
+ keepActive [5] IMPLICIT BOOLEAN OPTIONAL,
+ sigParList [6] IMPLICIT SEQUENCE OF SigParameter,
+ ...
+ }
+
+ SignalType ::= ENUMERATED
+ {
+ brief(0),
+ onOff(1),
+ timeOut(2),
+ ...
+ }
+
+ SignalName ::= OCTET STRING
+
+ NotifyCompletion ::= BIT STRING
+ {
+ onTimeOut(0), onInterruptByEvent(1),
+ onInterruptByNewSignalDescr(2), otherReason(3)
+ }
+
+ SigParameter ::= SEQUENCE
+ {
+ sigParameterName [0] IMPLICIT SigParameterName,
+ sigParameterValue [1] IMPLICIT SigParamValues,
+ -- For use of extraInfo see the comment related to PropertyParm
+ extraInfo [2] ExtraInfo OPTIONAL,
+ ...
+ }
+
+ SigParameterName ::= Name
+
+ SigParamValues ::= SEQUENCE OF SigParamValue
+
+ SigParamValue ::= OCTET STRING
+
+ -- For an AuditCapReply with all events, the RequestID SHALL be ALL.
+ -- ALL is represented by 0xffffffff.
+
+ RequestID ::= INTEGER(0..4294967295) -- 32-bit unsigned integer
+
+ ModemDescriptor ::= SEQUENCE
+ {
+ mtl [0] IMPLICIT SEQUENCE OF ModemType,
+ mpl [1] IMPLICIT PropertyParms,
+ nonStandardData [2] IMPLICIT NonStandardData OPTIONAL
+ }
+
+ ModemType ::= ENUMERATED
+ {
+ v18(0),
+ v22(1),
+ v22bis(2),
+ v32(3),
+ v32bis(4),
+ v34(5),
+ v90(6),
+ v91(7),
+ synchISDN(8),
+ ...
+ }
+
+ DigitMapDescriptor ::= SEQUENCE
+ {
+ digitMapName [0] IMPLICIT DigitMapName OPTIONAL,
+ digitMapValue [1] IMPLICIT DigitMapValue OPTIONAL
+ }
+
+ DigitMapName ::= Name
+
+ DigitMapValue ::= SEQUENCE
+ {
+ startTimer [0] IMPLICIT INTEGER(0..99) OPTIONAL,
+ shortTimer [1] IMPLICIT INTEGER(0..99) OPTIONAL,
+ longTimer [2] IMPLICIT INTEGER(0..99) OPTIONAL,
+ digitMapBody [3] IMPLICIT IA5String,
+ -- Units are seconds for start, short and long timers, and
+ -- hundreds of milliseconds for duration timer. Thus start,
+ -- short, and long range from 1 to 99 seconds and duration
+ -- from 100 ms to 9.9 s
+ -- See A.3 for explanation of digit map syntax
+ ...,
+ durationTimer [4] IMPLICIT INTEGER (0..99) OPTIONAL
+ }
+
+ ServiceChangeParm ::= SEQUENCE
+ {
+ serviceChangeMethod [0] IMPLICIT ServiceChangeMethod,
+ serviceChangeAddress [1] ServiceChangeAddress OPTIONAL,
+ serviceChangeVersion [2] IMPLICIT INTEGER(0..99) OPTIONAL,
+ serviceChangeProfile [3] IMPLICIT ServiceChangeProfile OPTIONAL,
+ serviceChangeReason [4] IMPLICIT Value,
+ -- A serviceChangeReason consists of a numeric reason code
+ -- and an optional text description.
+ -- The serviceChangeReason SHALL be a string consisting of
+ -- a decimal reason code, optionally followed by a single
+ -- space character and a textual description string.
+ -- This string is first BER-encoded as an IA5String.
+ -- The result of this BER-encoding is then encoded as
+ -- an ASN.1 OCTET STRING type, "double wrapping" the
+ -- value
+ -- as was done for package elements.
+ serviceChangeDelay [5] IMPLICIT INTEGER(0..4294967295) OPTIONAL,
+ -- 32-bit unsigned integer
+ serviceChangeMgcId [6] MId OPTIONAL,
+ timeStamp [7] IMPLICIT TimeNotation OPTIONAL,
+ nonStandardData [8] IMPLICIT NonStandardData OPTIONAL,
+ ...,
+ serviceChangeInfo [9] IMPLICIT AuditDescriptor OPTIONAL
+ }
+
+ ServiceChangeAddress ::= CHOICE
+ {
+ portNumber [0] IMPLICIT INTEGER(0..65535), -- TCP/UDP port number
+ ip4Address [1] IMPLICIT IP4Address,
+ ip6Address [2] IMPLICIT IP6Address,
+ domainName [3] IMPLICIT DomainName,
+ deviceName [4] IMPLICIT PathName,
+ mtpAddress [5] IMPLICIT MtpAddress,
+ ...
+ }
+
+ ServiceChangeResParm ::= SEQUENCE
+ {
+ serviceChangeMgcId [0] MId OPTIONAL,
+ serviceChangeAddress [1] ServiceChangeAddress OPTIONAL,
+ serviceChangeVersion [2] IMPLICIT INTEGER(0..99) OPTIONAL,
+ serviceChangeProfile [3] IMPLICIT ServiceChangeProfile OPTIONAL,
+ timestamp [4] IMPLICIT TimeNotation OPTIONAL,
+ ...
+ }
+
+ ServiceChangeMethod ::= ENUMERATED
+ {
+ failover(0),
+ forced(1),
+ graceful(2),
+ restart(3),
+ disconnected(4),
+ handOff(5),
+ ...
+ }
+
+ ServiceChangeProfile ::= SEQUENCE
+ {
+ profileName [0] IMPLICIT IA5String(SIZE (1..67))
+
+ -- 64 characters for name, 1 for "/", 2 for version to match ABNF
+ }
+
+ PackagesDescriptor ::= SEQUENCE OF PackagesItem
+
+ PackagesItem ::= SEQUENCE
+ {
+ packageName [0] IMPLICIT Name,
+ packageVersion [1] IMPLICIT INTEGER(0..99),
+ ...
+ }
+
+ StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter
+
+ StatisticsParameter ::= SEQUENCE
+ {
+ statName [0] IMPLICIT PkgdName,
+ statValue [1] IMPLICIT Value OPTIONAL
+ }
+
+ NonStandardData ::= SEQUENCE
+ {
+ nonStandardIdentifier [0] NonStandardIdentifier,
+ data [1] IMPLICIT OCTET STRING
+ }
+
+ NonStandardIdentifier ::= CHOICE
+ {
+ object [0] IMPLICIT OBJECT IDENTIFIER,
+ h221NonStandard [1] IMPLICIT H221NonStandard,
+ experimental [2] IMPLICIT IA5String(SIZE(8)),
+ -- first two characters SHOULD be "X-" or "X+"
+ ...
+ }
+
+ H221NonStandard ::= SEQUENCE
+ { t35CountryCode1 [0] IMPLICIT INTEGER(0..255),
+ t35CountryCode2 [1] IMPLICIT INTEGER(0..255), -- country, as per T.35
+ t35Extension [2] IMPLICIT INTEGER(0..255), -- assigned nationally
+ manufacturerCode [3] IMPLICIT INTEGER(0..65535), -- assigned nationally
+ ...
+ }
+
+ TimeNotation ::= SEQUENCE
+ {
+ date [0] IMPLICIT IA5String(SIZE(8)), -- yyyymmdd format
+ time [1] IMPLICIT IA5String(SIZE(8)) -- hhmmssss format
+ -- per ISO 8601:1988
+ }
+
+ Value ::= SEQUENCE OF OCTET STRING
+
+ END
diff --git a/epan/dissectors/asn1/h248/h248.cnf b/epan/dissectors/asn1/h248/h248.cnf
new file mode 100644
index 00000000..de117b7a
--- /dev/null
+++ b/epan/dissectors/asn1/h248/h248.cnf
@@ -0,0 +1,413 @@
+# h248.cnf
+# H.248 conformation file
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.PDU
+
+#.NO_EMIT
+MtpAddress
+PkgdName
+ErrorCode
+PropertyID
+SignalName
+SigParameterName
+SigParamValue
+EventName
+EventParameterName
+EventParamValue
+ContextID
+EventParamValueV1
+SigParamValueV1
+
+#.TYPE_RENAME
+IndAudMediaDescriptor/streams IndAudMediaDescriptorStreams
+ActionRequest/contextId ContextId
+ActionReply/contextId ContextId
+StatisticsParameter/statName StatName
+StatisticsParameter/statValue StatValue
+PropertyParm/propertyName PropertyName
+EventParameter/extraInfo EventPar_extraInfo
+PropertyParm/extraInfo PropParm_extraInfo
+ContextRequest/iepscallind Iepscallind_BOOL
+
+#.FIELD_RENAME
+IP4Address/address iP4Address
+IP6Address/address iP6Address
+ContextAttrAuditRequest/emergency cAAREmergency
+ContextAttrAuditRequest/priority cAARPriority
+SecondRequestedEvent/eventAction secondaryEventAction
+TerminationStateDescriptor/eventBufferControl tSEventBufferControl
+SecondEventsDescriptor/eventList secondaryEventList
+IndAudEventBufferDescriptor/eventName iAEBDEventName
+TerminationID/id terminationId
+IndAudStreamParms/localControlDescriptor iASPLocalControlDescriptor
+IndAudStreamParms/localDescriptor iASPLocalDescriptor
+LocalControlDescriptor/propertyParms lCDpropertyParms
+TerminationStateDescriptor/propertyParms tSDpropertyParms
+MediaDescriptor/streams/oneStream mediaDescriptorOneStream
+MediaDescriptor/streams/multiStream mediaDescriptorMultiStream
+MediaDescriptor/streams/multiStream/_item mediaDescriptorMultiStream_item
+DomainName/name domName
+IndAudEventsDescriptor/pkgdName iAEDPkgdName
+IndAudLocalRemoteDescriptor/propGrps iAPropertyGroup
+IndAudLocalControlDescriptor/propertyParms indAudPropertyParms
+IndAudTerminationStateDescriptor/propertyParms indAudPropertyParms
+IndAudLocalControlDescriptor/reserveGroup iALCDReserveGroup
+IndAudLocalControlDescriptor/reserveValue iALCDReserveValue
+IndAudLocalControlDescriptor/streamMode iALCDStreamMode
+IndAudStreamDescriptor/streamParms indAudStreamParms
+IndAudMediaDescriptor/termStateDescr indAudTerminationStateDescriptor
+IndAudSignal/signalName iASignalName
+IndAudSeqSigList/signalList iASignalList
+IndAudSignalsDescriptor/signal indAudSignal
+IndAudSignalsDescriptor/seqSigList indAudSeqSigList
+IndAudTerminationStateDescriptor/serviceState iATSDServiceState
+IndAudStreamParms/remoteDescriptor iASPRemoteDescriptor
+PropertyParm/value propertyParamValue
+IndAudMediaDescriptor/streams indAudMediaDescriptorStreams
+AmmRequest/terminationID terminationIDList
+AmmsReply/terminationID terminationIDList
+AmmDescriptor/statisticsDescriptor aDstatisticsDescriptor
+AuditReturnParameter/statisticsDescriptor aRPstatisticsDescriptor
+StreamParms/statisticsDescriptor sPstatisticsDescriptor
+SubtractRequest/terminationID terminationIDList
+NotifyRequest/terminationID terminationIDList
+NotifyReply/terminationID terminationIDList
+ServiceChangeRequest/terminationID terminationIDList
+ServiceChangeReply/terminationID terminationIDList
+IndAudStatisticsDescriptor/statName iAStatName
+EventParameter/extraInfo eventPar_extraInfo
+PropertyParm/extraInfo propParm_extraInfo
+ContextRequest/iepscallind iepscallind_BOOL
+TransactionRequest/transactionId transactionId
+SegmentReply/transactionId seg_rep_transactionId
+TransactionReply/transactionId trep_transactionId
+TransactionPending/transactionId tpend_transactionId
+EventParameterV1/value event_param_value
+SigParameterV1/value sig_param_value
+AuditReplyV1/auditResult audit_result
+
+#.FIELD_ATTR
+IP4Address/address ABBREV=iP4Address
+IP6Address/address ABBREV=iP6Address
+TransactionRequest/transactionId ABBREV=transactionRequest.transactionId
+SegmentReply/transactionId ABBREV=segmentreply.transactionId
+TransactionReply/transactionId ABBREV=transactionreply.transactionId
+TransactionPending/transactionId ABBREV=transactionpending.transactionId
+DomainName/name ABBREV=domainname
+TerminationID/id ABBREV=terminationId
+PropertyParm/value ABBREV=propertyParamValue
+EventParameterV1/value ABBREV=event_param_value
+SigParameterV1/value ABBREV=sig_param_value
+
+#.FN_HDR Message
+ curr_info.msg = gcp_msg(actx->pinfo,tvb_raw_offset(tvb),keep_persistent_data);
+#.END
+
+#.FN_FTR Message
+ col_add_str(actx->pinfo->cinfo, COL_INFO, gcp_msg_to_str(curr_info.msg,actx->pinfo->pool,keep_persistent_data));
+
+ if (keep_persistent_data)
+ gcp_analyze_msg(h248_tree, actx->pinfo, tvb, curr_info.msg, &h248_arrel, &ei_h248_errored_command);
+#.END
+
+#.FN_BODY Message/version VAL_PTR = &h248_version
+ %(DEFAULT_BODY)s
+#.END
+
+#.FN_BODY TransactionRequest/transactionId
+ guint32 trx_id = 0;
+ offset = dissect_h248_trx_id(implicit_tag, actx->pinfo, tree, tvb, offset, &trx_id);
+ curr_info.trx = gcp_trx(curr_info.msg, trx_id, GCP_TRX_REQUEST, actx->pinfo, keep_persistent_data);
+ error_code = 0;
+#.END
+
+#.FN_BODY TransactionPending/transactionId
+ guint32 trx_id = 0;
+ offset = dissect_h248_trx_id(implicit_tag, actx->pinfo, tree, tvb, offset, &trx_id);
+ curr_info.trx = gcp_trx(curr_info.msg, trx_id, GCP_TRX_PENDING, actx->pinfo, keep_persistent_data);
+ error_code = 0;
+
+#.FN_BODY TransactionReply/transactionId
+ guint32 trx_id = 0;
+ offset = dissect_h248_trx_id(implicit_tag, actx->pinfo, tree, tvb, offset, &trx_id);
+ curr_info.trx = gcp_trx(curr_info.msg, trx_id, GCP_TRX_REPLY, actx->pinfo, keep_persistent_data);
+ error_code = 0;
+
+#.FN_BODY SegmentReply/transactionId
+ guint32 trx_id = 0;
+ offset = dissect_h248_trx_id(implicit_tag, actx->pinfo, tree, tvb, offset, &trx_id);
+ curr_info.trx = gcp_trx(curr_info.msg, trx_id, GCP_TRX_ACK, actx->pinfo, keep_persistent_data);
+ error_code = 0;
+
+#.FN_BODY ActionRequest/contextId
+ guint32 ctx_id = 0;
+ offset = dissect_h248_ctx_id(implicit_tag, actx->pinfo, tree, tvb, offset, &ctx_id);
+ curr_info.ctx = gcp_ctx(curr_info.msg,curr_info.trx,ctx_id,actx->pinfo,keep_persistent_data);
+ curr_info.cmd = NULL;
+ curr_info.term = NULL;
+#.END
+
+
+#.FN_FTR ActionReply
+ if (!curr_info.cmd) {
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_REPLY,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+ }
+#.END
+
+#.FN_HDR Command/addReq
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_ADD_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+
+#.FN_FTR Command/addReq
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR Command/moveReq
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_MOVE_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+
+#.END
+
+#.FN_FTR Command/moveReq
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR Command/modReq
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_MOD_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+#.FN_FTR Command/modReq
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR Command/subtractReq
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_SUB_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+#.FN_FTR Command/subtractReq
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR Command/auditCapRequest
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_AUDITCAP_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+#.FN_FTR Command/auditCapRequest
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR Command/auditValueRequest
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_AUDITVAL_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+#.FN_FTR Command/auditValueRequest
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR Command/notifyReq
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_NOTIFY_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+#.FN_FTR Command/notifyReq
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR ServiceChangeRequest
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_SVCCHG_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+#.FN_FTR ServiceChangeRequest
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR ContextRequest/topologyReq
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_TOPOLOGY_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+#.FN_FTR ContextRequest/topologyReq
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR ActionRequest/contextAttrAuditReq
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_CTX_ATTR_AUDIT_REQ,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+#.FN_FTR ActionRequest/contextAttrAuditReq
+ curr_info.cmd = NULL;
+#.END
+
+#.FN_HDR CommandReply/addReply
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_ADD_REPLY,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+
+#.FN_HDR CommandReply/moveReply
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_MOVE_REPLY,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+
+#.FN_HDR CommandReply/modReply
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_MOD_REPLY,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+
+#.FN_HDR CommandReply/subtractReply
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_SUB_REPLY,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+
+#.FN_HDR CommandReply/notifyReply
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_NOTIFY_REPLY,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+
+#.FN_HDR ServiceChangeReply
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_SVCCHG_REPLY,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+
+#.FN_HDR CommandReply/auditCapReply
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_AUDITCAP_REPLY,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+
+#.FN_BODY CommandReply/auditCapReply
+/* h248v1 support */
+ if(h248_version > 1) {
+ %(DEFAULT_BODY)s
+} else {
+ /* call V1 of the dissector */
+ offset = dissect_h248_AuditReplyV1(implicit_tag, tvb, offset, actx, tree, hf_index);
+}
+#.END
+
+#.FN_HDR CommandReply/auditValueReply
+ curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_AUDITVAL_REPLY,offset,actx->pinfo,keep_persistent_data);
+ H248_TAP();
+#.END
+
+#.FN_BODY CommandReply/auditValueReply
+/* h248v1 support */
+ if(h248_version > 1) {
+ %(DEFAULT_BODY)s
+} else {
+ /* call V1 of the dissector */
+ offset = dissect_h248_AuditReplyV1(implicit_tag, tvb, offset, actx, tree, hf_index);
+}
+#.END
+
+#.FN_BODY AuditReplyV1
+/* h248v1 support */
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ AuditReplyV1_sequence, hf_h248_auditValueReplyV1, ett_h248_AuditReplyV1);
+#.END
+
+#.FN_BODY ErrorDescriptor/errorCode
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &error_code);
+ expert_add_info(actx->pinfo, actx->created_item, &ei_h248_errored_command);
+
+ if (curr_info.cmd) {
+ gcp_cmd_set_error(curr_info.cmd,error_code);
+ } else if (curr_info.trx) {
+ gcp_trx_set_error(curr_info.trx,error_code);
+ }
+#.END
+
+#.FN_HDR TerminationID
+ curr_info.term = wmem_new0(actx->pinfo->pool, gcp_term_t);
+ wild_term = GCP_WILDCARD_NONE;
+#.END
+
+#.FN_BODY WildcardField
+ tvbuff_t* new_tvb;
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &new_tvb);
+ tree = proto_item_add_subtree(actx->created_item,ett_wildcard);
+ proto_tree_add_item(tree,hf_h248_term_wild_type,new_tvb,0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree,hf_h248_term_wild_level,new_tvb,0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree,hf_h248_term_wild_position,new_tvb,0,1,ENC_BIG_ENDIAN);
+
+ wild_term = tvb_get_guint8(new_tvb,0) & 0x80 ? GCP_WILDCARD_CHOOSE : GCP_WILDCARD_ALL;
+ /* limitation: assume only one wildcard is used */
+ wild_card = tvb_get_guint8(new_tvb,0);
+
+#.END
+
+#.FN_BODY TerminationID/id
+ tvbuff_t* new_tvb;
+ h248_term_info_t term_info;
+
+ term_info.wild_card = wild_card;
+ term_info.str = NULL;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &new_tvb);
+
+ if (new_tvb) {
+ curr_info.term->len = tvb_reported_length(new_tvb);
+ curr_info.term->type = 0; /* unknown */
+
+ if (h248_term_handle) {
+ call_dissector_with_data(h248_term_handle, new_tvb, actx->pinfo, tree, &term_info);
+ wild_card = 0xFF;
+ }
+
+ if (curr_info.term->len) {
+ curr_info.term->buffer = (guint8 *)tvb_memdup(actx->pinfo->pool,new_tvb,0,curr_info.term->len);
+ if(term_info.str){
+ curr_info.term->str = wmem_strdup_printf(actx->pinfo->pool, "%s %s",
+ bytes_to_str_punct(actx->pinfo->pool,curr_info.term->buffer,curr_info.term->len, 0),
+ term_info.str);
+ }else{
+ curr_info.term->str = bytes_to_str_punct(actx->pinfo->pool,curr_info.term->buffer,curr_info.term->len, 0);
+ }
+ }
+
+
+ curr_info.term = gcp_cmd_add_term(curr_info.msg, curr_info.trx, curr_info.cmd, curr_info.term, wild_term, actx->pinfo, keep_persistent_data);
+
+ } else {
+ curr_info.term->len = 0;
+ curr_info.term->buffer = (guint8*)wmem_strdup(actx->pinfo->pool, "");
+ curr_info.term->str = wmem_strdup(actx->pinfo->pool, "?");
+ }
+#.END
+
+#.FN_BODY SCreasonValueOctetStr VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ dissect_h248_ServiceChangeReasonStr(FALSE, parameter_tvb, 0, actx, tree, hf_h248_serviceChangeReasonStr);
+#.END
+
+#.FN_BODY EventParameter
+/* H248 v1 support */
+ if (h248_version > 1) {
+ %(DEFAULT_BODY)s
+} else {
+ offset = dissect_h248_EventParameterV1( implicit_tag, tvb, offset, actx, tree, hf_index);
+}
+#.END
+
+#.FN_BODY SigParameter
+/* H248 v1 support */
+ if (h248_version > 1) {
+ %(DEFAULT_BODY)s
+} else {
+ offset = dissect_h248_SigParameterV1( implicit_tag, tvb, offset, actx, tree, hf_index);
+}
+#.END
+
+#.TYPE_ATTR
+IP4Address/address TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
+IP6Address/address TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
+ActionRequest/contextId TYPE = FT_UINT32 DISPLAY = BASE_HEX STRINGS = NULL
+ActionReply/contextId TYPE = FT_UINT32 DISPLAY = BASE_HEX STRINGS = NULL
+ErrorDescriptor/errorCode TYPE = FT_UINT32 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &h248_reasons_ext
diff --git a/epan/dissectors/asn1/h248/h248v1support.asn b/epan/dissectors/asn1/h248/h248v1support.asn
new file mode 100644
index 00000000..093b3549
--- /dev/null
+++ b/epan/dissectors/asn1/h248/h248v1support.asn
@@ -0,0 +1,45 @@
+-- Required for support for h248v1
+--
+-- This file represents the differences between h248v1 and the h248v3, the current version
+-- This file is included in the Makefile generate_dissectors and related tasks necessary
+-- to generate epan/dissectors/packet-h248.[ch]
+
+H238V1-SUPPORT DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+ -- V1 version of AuditReply
+ AuditReplyV1 ::= SEQUENCE
+ {
+ terminationID [0] TerminationID,
+ auditResult [1] AuditResultV1
+ }
+
+ -- V1 Version of AuditResult
+ AuditResultV1 ::= CHOICE
+ {
+ contectAuditResult [0] TerminationID,
+ terminationAuditResult [1] TerminationAudit
+ }
+
+ -- V1
+ EventParameterV1 ::= SEQUENCE
+ {
+ eventParamterName [0] EventParameterName,
+ value [1] EventParamValueV1
+ }
+
+ -- V1
+
+ SigParameterV1 ::= SEQUENCE
+ {
+ sigParameterName [0] SigParameterName,
+ value [1] SigParamValueV1
+-- value [1] ValueV1
+
+ }
+
+-- ValueV1 ::= OCTET STRING
+ EventParamValueV1 ::= OCTET STRING
+ SigParamValueV1 ::= OCTET STRING
+
+END \ No newline at end of file
diff --git a/epan/dissectors/asn1/h248/h248v3.asn b/epan/dissectors/asn1/h248/h248v3.asn
new file mode 100644
index 00000000..4b64834f
--- /dev/null
+++ b/epan/dissectors/asn1/h248/h248v3.asn
@@ -0,0 +1,1101 @@
+MEDIA-GATEWAY-CONTROL {itu-t(0) recommendation(0) h(8) h248(248) modules(0)
+media-gateway-control(0) version3(3)}
+--
+-- Module MEDIA-GATEWAY-CONTROL (H.248.1:09/2005)
+-- See also ITU-T H.248.1 v3 (2005) Amend. 1 (05/2008)
+--
+--DEFINITIONS AUTOMATIC TAGS ::=
+--BEGIN
+-- Has been modified to pass through the ASN2ETH compiler
+-- (we dont support automatic tags yet so the tags had to be added by
+-- hand)
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+ MegacoMessage ::= SEQUENCE
+ {
+ authHeader [0] AuthenticationHeader OPTIONAL,
+ mess [1] Message
+ }
+
+ AuthenticationHeader ::= SEQUENCE
+ {
+ secParmIndex [0] SecurityParmIndex,
+ seqNum [1] SequenceNum,
+ ad [2] AuthData
+ }
+
+ SecurityParmIndex ::= OCTET STRING(SIZE(4))
+
+ SequenceNum ::= OCTET STRING(SIZE(4))
+
+ AuthData ::= OCTET STRING (SIZE (12..32))
+
+ Message ::= SEQUENCE
+ {
+ version [0] INTEGER(0..99),
+ -- The version of the protocol defined here is equal to 3.
+ mId [1] MId, -- Name/address of message originator
+ messageBody [2] CHOICE
+ {
+ messageError [0] ErrorDescriptor,
+ transactions [1] SEQUENCE OF Transaction
+ },
+ ...
+ }
+
+ MId ::= CHOICE
+ {
+ ip4Address [0] IP4Address,
+ ip6Address [1] IP6Address,
+ domainName [2] DomainName,
+ deviceName [3] PathName,
+ mtpAddress [4] MtpAddress,
+ -- Addressing structure of mtpAddress:
+ -- 25 - 15 0
+ -- | PC | NI |
+ -- 24 - 14 bits 2 bits
+ -- NOTE - 14 bits are defined for international use.
+ -- Two national options exist where the point code is 16 or 24 bits.
+ -- To octet align the mtpAddress, the MSBs shall be encoded as 0s.
+ ...
+ }
+-- Wireshark specific
+ MtpAddress ::= OCTET STRING(SIZE(2..4))
+
+ DomainName ::= SEQUENCE
+ {
+ name [0] IA5String,
+ -- The name starts with an alphanumeric digit followed by a sequence
+ -- of alphanumeric digits, hyphens and dots. No two dots shall occur
+ -- consecutively.
+
+ portNumber [1] INTEGER(0..65535) OPTIONAL
+ }
+
+ IP4Address ::= SEQUENCE
+ {
+ address [0] OCTET STRING (SIZE(4)),
+ portNumber [1] INTEGER(0..65535) OPTIONAL
+ }
+
+ IP6Address ::= SEQUENCE
+ {
+ address [0] OCTET STRING (SIZE(16)),
+ portNumber [1] INTEGER(0..65535) OPTIONAL
+ }
+
+ PathName ::= IA5String(SIZE (1..64))
+ -- See A.3
+
+ Transaction ::= CHOICE
+ {
+ transactionRequest [0] TransactionRequest,
+ transactionPending [1] TransactionPending,
+ transactionReply [2] TransactionReply,
+ transactionResponseAck [3] TransactionResponseAck,
+ -- use of response acks is dependent on underlying transport
+ ...,
+ segmentReply [4] SegmentReply
+ }
+
+ TransactionId ::= INTEGER(0..4294967295) -- 32-bit unsigned integer
+
+ TransactionRequest ::= SEQUENCE
+ {
+ transactionId [0] TransactionId,
+ actions [1] SEQUENCE OF ActionRequest,
+ ...
+ }
+
+ TransactionPending ::= SEQUENCE
+ {
+ transactionId [0] TransactionId,
+ ...
+ }
+
+ TransactionReply ::= SEQUENCE
+ {
+ transactionId [0] TransactionId,
+ immAckRequired [1] NULL OPTIONAL,
+ transactionResult [2] CHOICE
+ {
+ transactionError [0]ErrorDescriptor,
+ actionReplies [1] SEQUENCE OF ActionReply
+ },
+ ...,
+ segmentNumber [3] SegmentNumber OPTIONAL,
+ segmentationComplete [4] NULL OPTIONAL
+ }
+
+ SegmentReply ::= SEQUENCE
+ {
+ transactionId [0] TransactionId,
+ segmentNumber [1] SegmentNumber,
+ segmentationComplete [2] NULL OPTIONAL,
+ ...
+ }
+
+ SegmentNumber ::= INTEGER(0..65535)
+
+ TransactionResponseAck ::= SEQUENCE OF TransactionAck
+
+ TransactionAck ::= SEQUENCE
+ {
+ firstAck [0] TransactionId,
+ lastAck [1] TransactionId OPTIONAL
+ }
+
+ ErrorDescriptor ::= SEQUENCE
+ {
+ errorCode [0] ErrorCode,
+ errorText [1] ErrorText OPTIONAL
+ }
+
+ ErrorCode ::= INTEGER(0..65535)
+ -- See clause 14 for IANA considerations with respect to error codes
+
+ ErrorText ::= IA5String
+
+ ContextID ::= INTEGER(0..4294967295)
+ -- Context NULL Value: 0
+ -- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)
+ -- Context ALL Value: 4294967295 (0xFFFFFFFF)
+
+ ActionRequest ::= SEQUENCE
+ {
+ contextId [0] ContextID,
+ contextRequest [1] ContextRequest OPTIONAL,
+ contextAttrAuditReq [2] ContextAttrAuditRequest OPTIONAL,
+ commandRequests [3] SEQUENCE OF CommandRequest
+ }
+
+ ActionReply ::= SEQUENCE
+ {
+ contextId [0] ContextID,
+ errorDescriptor [1] ErrorDescriptor OPTIONAL,
+ contextReply [2] ContextRequest OPTIONAL,
+ commandReply [3] SEQUENCE OF CommandReply
+ }
+
+ -- Wireshark Specific
+ ContextIDinList ::= INTEGER(0..4294967295)
+
+ ContextRequest ::= SEQUENCE
+ {
+ priority [0] INTEGER(0..15) OPTIONAL,
+ emergency [1] BOOLEAN OPTIONAL,
+ topologyReq [2] SEQUENCE OF TopologyRequest OPTIONAL,
+ ...,
+ iepscallind [3] BOOLEAN OPTIONAL,
+ contextProp [4] SEQUENCE OF PropertyParm OPTIONAL,
+
+ -- Wireshark Specific
+ -- contextList [5] SEQUENCE OF ContextID OPTIONAL
+ contextList [5] SEQUENCE OF ContextIDinList OPTIONAL
+ -- Currently the way that WS tracing code's persistent data is
+ -- organized disallows to relate a request to multiple contexts
+ }
+
+-- When returning a contextList, the contextId in the ActionReply construct will
+-- return the contextId from the associated ActionRequest.
+
+ ContextAttrAuditRequest ::= SEQUENCE
+ {
+ topology [0] NULL OPTIONAL,
+ emergency [1] NULL OPTIONAL,
+ priority [2] NULL OPTIONAL,
+ ...,
+ iepscallind [3] NULL OPTIONAL,
+ contextPropAud [4] SEQUENCE OF IndAudPropertyParm OPTIONAL,
+ selectpriority [5] INTEGER(0..15) OPTIONAL,
+ -- to select given priority
+ selectemergency [6] BOOLEAN OPTIONAL,
+ -- to select if emergency set/not set (T/F)
+ selectiepscallind [7] BOOLEAN OPTIONAL,
+ -- to select if IEPS set/not set (T/F)
+ selectLogic [8] SelectLogic OPTIONAL -- default is AND
+ }
+
+ SelectLogic ::= CHOICE
+ {
+ andAUDITSelect [0] NULL, -- all filter conditions satisfied
+ orAUDITSelect [1] NULL, -- at least one filter condition satisfied
+ ...
+ }
+
+ CommandRequest ::= SEQUENCE
+ {
+ command [0] Command,
+ optional [1] NULL OPTIONAL,
+ wildcardReturn [2] NULL OPTIONAL,
+ ...
+ }
+
+ Command ::= CHOICE
+ {
+ addReq [0] AmmRequest,
+ moveReq [1] AmmRequest,
+ modReq [2] AmmRequest,
+ -- Add, Move, Modify requests have the same parameters
+ subtractReq [3] SubtractRequest,
+ auditCapRequest [4] AuditRequest,
+ auditValueRequest [5] AuditRequest,
+ notifyReq [6] NotifyRequest,
+ serviceChangeReq [7] ServiceChangeRequest,
+ ...
+ }
+
+ CommandReply ::= CHOICE
+ {
+ addReply [0] AmmsReply,
+ moveReply [1] AmmsReply,
+ modReply [2] AmmsReply,
+ subtractReply [3] AmmsReply,
+ -- Add, Move, Modify, Subtract replies have the same parameters
+ auditCapReply [4] AuditReply,
+ auditValueReply [5] AuditReply,
+ notifyReply [6] NotifyReply,
+ serviceChangeReply [7] ServiceChangeReply,
+ ...
+ }
+
+ TopologyRequest ::= SEQUENCE
+ {
+ terminationFrom [0] TerminationID,
+ terminationTo [1] TerminationID,
+ topologyDirection [2] ENUMERATED
+ {
+ bothway(0),
+ isolate(1),
+ oneway(2)
+ },
+ ...,
+ streamID [3]StreamID OPTIONAL,
+ topologyDirectionExtension [4] ENUMERATED
+ {
+ onewayexternal(0),
+ onewayboth(1),
+ ...
+ } OPTIONAL
+ }
+
+ AmmRequest ::= SEQUENCE
+ {
+ terminationID [0] TerminationIDList,
+ descriptors [1] SEQUENCE OF AmmDescriptor,
+ -- At most one descriptor of each type (see AmmDescriptor)
+ -- allowed in the sequence.
+ ...
+ }
+
+ AmmDescriptor ::= CHOICE
+ {
+ mediaDescriptor [0] MediaDescriptor,
+ modemDescriptor [1] ModemDescriptor,
+ muxDescriptor [2] MuxDescriptor,
+ eventsDescriptor [3] EventsDescriptor,
+ eventBufferDescriptor [4] EventBufferDescriptor,
+ signalsDescriptor [5] SignalsDescriptor,
+ digitMapDescriptor [6] DigitMapDescriptor,
+ auditDescriptor [7] AuditDescriptor,
+ ...,
+ statisticsDescriptor [8] StatisticsDescriptor
+ }
+
+ AmmsReply ::= SEQUENCE
+ {
+ terminationID [0] TerminationIDList,
+ terminationAudit [1]TerminationAudit OPTIONAL,
+ ...
+ }
+
+ SubtractRequest ::= SEQUENCE
+ {
+ terminationID [0] TerminationIDList,
+ auditDescriptor [1] AuditDescriptor OPTIONAL,
+ ...
+ }
+
+ AuditRequest ::= SEQUENCE
+ {
+ terminationID [0] TerminationID,
+ auditDescriptor [1] AuditDescriptor,
+ ...,
+ terminationIDList [3] TerminationIDList OPTIONAL
+ }
+ -- terminationID shall contain the first termination in the
+ -- list when using the terminationIDList construct in AuditRequest
+
+ AuditReply ::= CHOICE
+ {
+ contextAuditResult [0] TerminationIDList,
+ error [1] ErrorDescriptor,
+ auditResult [2] AuditResult,
+ ...,
+ auditResultTermList [3] TermListAuditResult
+ }
+
+ AuditResult ::= SEQUENCE
+ {
+ terminationID [0] TerminationID,
+ terminationAuditResult [1] TerminationAudit
+ }
+
+ TermListAuditResult ::= SEQUENCE
+ {
+ terminationIDList [0] TerminationIDList,
+ terminationAuditResult [1] TerminationAudit,
+ ...
+ }
+
+ TerminationAudit ::= SEQUENCE OF AuditReturnParameter
+
+ AuditReturnParameter ::= CHOICE
+ {
+ errorDescriptor [0] ErrorDescriptor,
+ mediaDescriptor [1] MediaDescriptor,
+ modemDescriptor [2] ModemDescriptor,
+ muxDescriptor [3] MuxDescriptor,
+ eventsDescriptor [4] EventsDescriptor,
+ eventBufferDescriptor [5] EventBufferDescriptor,
+ signalsDescriptor [6] SignalsDescriptor,
+ digitMapDescriptor [7] DigitMapDescriptor,
+ observedEventsDescriptor [8] ObservedEventsDescriptor,
+ statisticsDescriptor [9] StatisticsDescriptor,
+ packagesDescriptor [10] PackagesDescriptor,
+ emptyDescriptors [11] AuditDescriptor,
+ ...
+ }
+
+ AuditDescriptor ::= SEQUENCE
+ {
+ auditToken [0] BIT STRING
+ {
+ muxToken(0),
+ modemToken(1),
+ mediaToken(2),
+ eventsToken(3),
+ signalsToken(4),
+ digitMapToken(5),
+ statsToken(6),
+ observedEventsToken(7),
+ packagesToken(8),
+ eventBufferToken(9)
+ } OPTIONAL,
+ ...,
+ auditPropertyToken [1] SEQUENCE OF IndAuditParameter OPTIONAL
+ }
+
+ IndAuditParameter ::= CHOICE
+ {
+ indaudmediaDescriptor [0] IndAudMediaDescriptor,
+ indaudeventsDescriptor [1] IndAudEventsDescriptor,
+ indaudeventBufferDescriptor [2] IndAudEventBufferDescriptor,
+ indaudsignalsDescriptor [3] IndAudSignalsDescriptor,
+ indauddigitMapDescriptor [4] IndAudDigitMapDescriptor,
+ indaudstatisticsDescriptor [5] IndAudStatisticsDescriptor,
+ indaudpackagesDescriptor [6] IndAudPackagesDescriptor,
+ ...
+ }
+
+ IndAudMediaDescriptor ::= SEQUENCE
+ {
+ termStateDescr [0] IndAudTerminationStateDescriptor OPTIONAL,
+ streams [1] CHOICE
+ {
+ oneStream [0] IndAudStreamParms,
+ multiStream [1] SEQUENCE OF IndAudStreamDescriptor
+ } OPTIONAL,
+ ...
+ }
+
+ IndAudStreamDescriptor ::= SEQUENCE
+ {
+ streamID [0] StreamID,
+ streamParms [1] IndAudStreamParms
+ }
+
+ IndAudStreamParms ::= SEQUENCE
+ {
+ localControlDescriptor [0] IndAudLocalControlDescriptor OPTIONAL,
+ localDescriptor [1] IndAudLocalRemoteDescriptor OPTIONAL,
+ remoteDescriptor [2] IndAudLocalRemoteDescriptor OPTIONAL,
+ ...,
+ statisticsDescriptor [3] IndAudStatisticsDescriptor OPTIONAL
+ }
+
+ IndAudLocalControlDescriptor ::= SEQUENCE
+ {
+ streamMode [0] NULL OPTIONAL,
+ reserveValue [1] NULL OPTIONAL,
+ reserveGroup [2] NULL OPTIONAL,
+ propertyParms [3] SEQUENCE OF IndAudPropertyParm OPTIONAL,
+ ...,
+ streamModeSel [4] StreamMode OPTIONAL
+ }
+ -- must not have both streamMode and streamModeSel
+ -- if both are present only streamModeSel shall be honoured
+
+ IndAudPropertyParm ::= SEQUENCE
+ {
+ name [0] PkgdName,
+ ...,
+ propertyParms [1] PropertyParm OPTIONAL
+ }
+ -- to select based on property values
+ -- AND/OR selection logic is specified at context level
+
+ IndAudLocalRemoteDescriptor ::= SEQUENCE
+ {
+ propGroupID [0] INTEGER(0..65535) OPTIONAL,
+ propGrps [1] IndAudPropertyGroup,
+ ...
+ }
+
+ IndAudPropertyGroup ::= SEQUENCE OF IndAudPropertyParm
+
+ IndAudTerminationStateDescriptor ::= SEQUENCE
+ {
+ propertyParms [0] SEQUENCE OF IndAudPropertyParm,
+ eventBufferControl [1] NULL OPTIONAL,
+ serviceState [2] NULL OPTIONAL,
+ ...,
+ serviceStateSel [3] ServiceState OPTIONAL
+ }
+ -- must not have both serviceState and serviceStateSel
+ -- if both are present only serviceStateSel shall be honoured
+
+ IndAudEventsDescriptor ::= SEQUENCE
+ {
+ requestID [0] RequestID OPTIONAL,
+ pkgdName [1] PkgdName,
+ streamID [2] StreamID OPTIONAL,
+ ...
+ }
+
+ IndAudEventBufferDescriptor ::= SEQUENCE
+ {
+ eventName [0] PkgdName,
+ streamID [1] StreamID OPTIONAL,
+ ...
+ }
+
+ IndAudSignalsDescriptor ::=CHOICE
+ {
+ signal [0] IndAudSignal,
+ seqSigList [1] IndAudSeqSigList,
+ ...
+ }
+
+ IndAudSeqSigList ::= SEQUENCE
+ {
+ id [0] INTEGER(0..65535),
+ signalList [1] IndAudSignal OPTIONAL
+ }
+
+ IndAudSignal ::= SEQUENCE
+ {
+ signalName [0] PkgdName,
+ streamID [1] StreamID OPTIONAL,
+ ...,
+ signalRequestID [2] RequestID OPTIONAL
+ }
+
+ IndAudDigitMapDescriptor ::= SEQUENCE
+ {
+ digitMapName [0] DigitMapName OPTIONAL
+ }
+
+ IndAudStatisticsDescriptor ::= SEQUENCE
+ {
+ statName [0] PkgdName
+ }
+
+ IndAudPackagesDescriptor ::= SEQUENCE
+ {
+ packageName [0] Name,
+ packageVersion [1] INTEGER(0..99),
+ ...
+ }
+
+ NotifyRequest ::= SEQUENCE
+ {
+ terminationID [0] TerminationIDList,
+ observedEventsDescriptor [1] ObservedEventsDescriptor,
+ errorDescriptor [2] ErrorDescriptor OPTIONAL,
+ ...
+ }
+
+ NotifyReply ::= SEQUENCE
+ {
+ terminationID [0] TerminationIDList,
+ errorDescriptor [1] ErrorDescriptor OPTIONAL,
+ ...
+ }
+
+ ObservedEventsDescriptor ::= SEQUENCE
+ {
+ requestId [0] RequestID,
+ observedEventLst [1] SEQUENCE OF ObservedEvent
+ }
+
+ ObservedEvent ::= SEQUENCE
+ {
+ eventName [0] EventName,
+ streamID [1] StreamID OPTIONAL,
+ eventParList [2] SEQUENCE OF EventParameter,
+ timeNotation [3] TimeNotation OPTIONAL,
+ ...
+ }
+
+-- EventName ::= PkgdName
+ EventName ::= OCTET STRING
+
+ EventParameter ::= SEQUENCE
+ {
+-- Wireshark specific
+-- eventParameterName [0] Name,
+-- value [1] Value,
+ eventParameterName [0] EventParameterName,
+ eventParamValue [1] EventParamValues,
+-- end
+ -- For use of extraInfos see the comment related to PropertyParm
+ extraInfo [2] CHOICE
+ {
+ relation [0] Relation,
+ range [1] BOOLEAN,
+ sublist [2] BOOLEAN
+ } OPTIONAL,
+ ...
+ }
+-- Wireshark specific
+ EventParameterName ::= Name
+
+ EventParamValues ::= SEQUENCE OF EventParamValue
+
+ EventParamValue ::= OCTET STRING
+-- end
+ ServiceChangeRequest ::= SEQUENCE
+ {
+ terminationID [0] TerminationIDList,
+ serviceChangeParms [1] ServiceChangeParm,
+ ...
+ }
+
+ ServiceChangeReply ::= SEQUENCE
+ {
+ terminationID [0] TerminationIDList,
+ serviceChangeResult [1] ServiceChangeResult,
+ ...
+ }
+ -- For ServiceChangeResult, no parameters are mandatory. Hence the
+ -- distinction between ServiceChangeParm and ServiceChangeResParm.
+
+ ServiceChangeResult ::= CHOICE
+ {
+ errorDescriptor [0] ErrorDescriptor,
+ serviceChangeResParms [1] ServiceChangeResParm
+ }
+
+ WildcardField ::= OCTET STRING(SIZE(1))
+
+ TerminationID ::= SEQUENCE
+ {
+ wildcard [0] SEQUENCE OF WildcardField,
+ id [1] OCTET STRING(SIZE(1..8)),
+ ...
+ }
+ -- See A.1 for explanation of wildcarding mechanism.
+ -- TerminationID 0xFFFFFFFFFFFFFFFF indicates the Root Termination.
+
+ TerminationIDList ::= SEQUENCE OF TerminationID
+
+ MediaDescriptor ::= SEQUENCE
+ {
+ termStateDescr [0] TerminationStateDescriptor OPTIONAL,
+ streams [1] CHOICE
+ {
+ oneStream [0] StreamParms,
+ multiStream [1] SEQUENCE OF StreamDescriptor
+ } OPTIONAL,
+ ...
+ }
+
+ StreamDescriptor ::= SEQUENCE
+ {
+ streamID [0] StreamID,
+ streamParms [1] StreamParms
+ }
+
+ StreamParms ::= SEQUENCE
+ {
+ localControlDescriptor [0] LocalControlDescriptor OPTIONAL,
+ localDescriptor [1] LocalRemoteDescriptor OPTIONAL,
+ remoteDescriptor [2] LocalRemoteDescriptor OPTIONAL,
+ ...,
+ statisticsDescriptor [3] StatisticsDescriptor OPTIONAL
+ }
+
+ LocalControlDescriptor ::= SEQUENCE
+ {
+ streamMode [0] StreamMode OPTIONAL,
+ reserveValue [1] BOOLEAN OPTIONAL,
+ reserveGroup [2] BOOLEAN OPTIONAL,
+ propertyParms [3] SEQUENCE OF PropertyParm,
+ ...
+ }
+
+ StreamMode ::= ENUMERATED
+ {
+ sendOnly(0),
+ recvOnly(1),
+ sendRecv(2),
+ inactive(3),
+ loopBack(4),
+ ...
+ }
+-- In PropertyParm, value is a SEQUENCE OF octet string. When sent
+-- by an MGC the interpretation is as follows:
+-- empty sequence means CHOOSE
+-- one element sequence specifies value
+-- If the sublist field is not selected, a longer sequence means
+-- "choose one of the values" (i.e., value1 OR value2 OR ...)
+-- If the sublist field is selected,
+-- a sequence with more than one element encodes the value of a
+-- list-valued property (i.e., value1 AND value2 AND ...).
+-- The relation field may only be selected if the value sequence
+-- has length 1. It indicates that the MG has to choose a value
+-- for the property. E.g., x > 3 (using the greaterThan
+-- value for relation) instructs the MG to choose any value larger
+-- than 3 for property x.
+-- The range field may only be selected if the value sequence
+-- has length 2. It indicates that the MG has to choose a value
+-- in the range between the first octet in the value sequence and
+-- the trailing octet in the value sequence, including the
+-- boundary values.
+-- When sent by the MG, only responses to an AuditCapability request
+-- may contain multiple values, a range, or a relation field.
+ PropertyParm ::= SEQUENCE
+ {
+-- name [0] PkgdName,
+ propertyName [0] PkgdName,
+-- value [1] SEQUENCE OF OCTET STRING,
+ value [1] SEQUENCE OF PropertyID,
+ extraInfo [2] CHOICE
+ {
+ relation [0] Relation,
+ range [1] BOOLEAN,
+ sublist [2] BOOLEAN
+ } OPTIONAL,
+ ...
+ }
+
+ Name ::= OCTET STRING(SIZE(2))
+
+ PkgdName ::= OCTET STRING(SIZE(4))
+ -- represents Package Name (2 octets) plus property, event,
+ -- signal names or StatisticsID. (2 octets)
+ -- To wildcard a package use 0xFFFF for first two octets, CHOOSE
+ -- is not allowed. To reference native property tag specified in
+ -- Annex C, use 0x0000 as first two octets.
+ -- To wildcard a PropertyID, EventID, SignalID, or StatisticsID, use
+ -- 0xFFFF for last two octets, CHOOSE is not allowed.
+ -- Wildcarding of Package Name is permitted only if PropertyID,
+ -- EventID, SignalID, or StatisticsID are also wildcarded.
+-- Wireshark specific
+ PropertyID ::= OCTET STRING
+
+ Relation ::= ENUMERATED
+ {
+ greaterThan(0),
+ smallerThan(1),
+ unequalTo(2),
+ ...
+ }
+
+ LocalRemoteDescriptor ::= SEQUENCE
+ {
+ propGrps [0] SEQUENCE OF PropertyGroup,
+ ...
+ }
+
+ PropertyGroup ::= SEQUENCE OF PropertyParm
+
+ TerminationStateDescriptor ::= SEQUENCE
+ {
+ propertyParms [0] SEQUENCE OF PropertyParm,
+ eventBufferControl [1] EventBufferControl OPTIONAL,
+ serviceState [2] ServiceState OPTIONAL,
+ ...
+ }
+
+ EventBufferControl ::= ENUMERATED
+ {
+ off(0),
+ lockStep(1),
+ ...
+ }
+
+ ServiceState ::= ENUMERATED
+ {
+ test(0),
+ outOfSvc(1),
+ inSvc(2),
+ ...
+ }
+
+ MuxDescriptor ::= SEQUENCE
+ {
+ muxType [0] MuxType,
+ termList [1] SEQUENCE OF TerminationID,
+ nonStandardData [2] NonStandardData OPTIONAL,
+ ...
+ }
+
+ MuxType ::= ENUMERATED
+ {
+ h221(0),
+ h223(1),
+ h226(2),
+ v76(3),
+ ...,
+ nx64k(4)
+ }
+
+ StreamID ::= INTEGER(0..65535) -- 16-bit unsigned integer
+
+ EventsDescriptor ::= SEQUENCE
+ {
+ requestID [0] RequestID OPTIONAL,
+ -- RequestID must be present if eventList
+ -- is non empty
+ eventList [1] SEQUENCE OF RequestedEvent,
+ ...
+ }
+
+ RequestedEvent ::= SEQUENCE
+ {
+-- pkgdName [0] PkgdName,
+ eventName [0] EventName,
+ streamID [1] StreamID OPTIONAL,
+ eventAction [2] RequestedActions OPTIONAL,
+ evParList [3] SEQUENCE OF EventParameter,
+ ...
+ }
+
+ RegulatedEmbeddedDescriptor ::= SEQUENCE
+ {
+ secondEvent [0] SecondEventsDescriptor OPTIONAL,
+ signalsDescriptor [1] SignalsDescriptor OPTIONAL,
+ ...
+ }
+
+ NotifyBehaviour ::= CHOICE
+ {
+ notifyImmediate [0] NULL,
+ notifyRegulated [1] RegulatedEmbeddedDescriptor,
+ neverNotify [2] NULL,
+ ...
+ }
+
+ RequestedActions ::= SEQUENCE
+ {
+ keepActive [0] BOOLEAN OPTIONAL,
+ eventDM [1] EventDM OPTIONAL,
+ secondEvent [2] SecondEventsDescriptor OPTIONAL,
+ signalsDescriptor [3] SignalsDescriptor OPTIONAL,
+ ...,
+ notifyBehaviour [4] NotifyBehaviour OPTIONAL,
+ resetEventsDescriptor [5] NULL OPTIONAL
+ }
+
+ EventDM ::= CHOICE
+ {
+ digitMapName [0] DigitMapName,
+ digitMapValue [1] DigitMapValue
+ }
+
+ SecondEventsDescriptor ::= SEQUENCE
+ {
+ requestID [0] RequestID OPTIONAL,
+ eventList [1] SEQUENCE OF SecondRequestedEvent,
+ ...
+ }
+
+ SecondRequestedEvent ::= SEQUENCE
+ {
+ pkgdName [0] PkgdName,
+ streamID [1] StreamID OPTIONAL,
+ eventAction [2] SecondRequestedActions OPTIONAL,
+ evParList [3] SEQUENCE OF EventParameter,
+ ...
+ }
+
+ SecondRequestedActions ::= SEQUENCE
+ {
+ keepActive [0] BOOLEAN OPTIONAL,
+ eventDM [1] EventDM OPTIONAL,
+ signalsDescriptor [2] SignalsDescriptor OPTIONAL,
+ ...,
+ notifyBehaviour [3] NotifyBehaviour OPTIONAL,
+ resetEventsDescriptor [4] NULL OPTIONAL
+ }
+
+ EventBufferDescriptor ::= SEQUENCE OF EventSpec
+
+ EventSpec ::= SEQUENCE
+ {
+ eventName [0] EventName,
+ streamID [1] StreamID OPTIONAL,
+ eventParList [2] SEQUENCE OF EventParameter,
+ ...
+ }
+
+ SignalsDescriptor ::= SEQUENCE OF SignalRequest
+
+ SignalRequest ::=CHOICE
+ {
+ signal [0] Signal,
+ seqSigList [1] SeqSigList,
+ ...
+ }
+
+ SeqSigList ::= SEQUENCE
+ {
+ id [0] INTEGER(0..65535),
+ signalList [1] SEQUENCE OF Signal
+ }
+
+ Signal ::= SEQUENCE
+ {
+ signalName [0] SignalName,
+ streamID [1] StreamID OPTIONAL,
+ sigType [2] SignalType OPTIONAL,
+ duration [3] INTEGER (0..65535) OPTIONAL,
+ notifyCompletion [4] NotifyCompletion OPTIONAL,
+ keepActive [5] BOOLEAN OPTIONAL,
+ sigParList [6] SEQUENCE OF SigParameter,
+ ...,
+ direction [7] SignalDirection OPTIONAL,
+ requestID [8] RequestID OPTIONAL,
+ intersigDelay [9] INTEGER (0..65535) OPTIONAL
+ }
+
+ SignalType ::= ENUMERATED
+ {
+ brief(0),
+ onOff(1),
+ timeOut(2),
+ ...
+ }
+
+ SignalDirection ::= ENUMERATED
+ {
+ internal(0),
+ external(1),
+ both(2),
+ ...
+ }
+
+-- SignalName ::= PkgdName
+ SignalName ::= OCTET STRING
+
+ NotifyCompletion ::= BIT STRING
+ {
+ onTimeOut(0), onInterruptByEvent(1),
+ onInterruptByNewSignalDescr(2), otherReason(3), onIteration(4)
+ }
+
+ SigParameter ::= SEQUENCE
+ {
+-- sigParameterName [0] Name,
+-- value [1] Value,
+ sigParameterName [0] SigParameterName,
+ value [1] SigParamValues,
+ -- For use of extraInfo see the comment related to PropertyParm
+ extraInfo [2] CHOICE
+ {
+ relation [0] Relation,
+ range [1] BOOLEAN,
+ sublist [2] BOOLEAN
+ } OPTIONAL,
+ ...
+ }
+-- Wireshark specific
+ SigParameterName ::= Name
+
+ SigParamValues ::= SEQUENCE OF SigParamValue
+
+ SigParamValue ::= OCTET STRING
+-- end
+ -- For an AuditCapReply with all events, the RequestID shall be ALL.
+ -- ALL is represented by 0xffffffff.
+ RequestID ::= INTEGER(0..4294967295) -- 32-bit unsigned integer
+
+ ModemDescriptor ::= SEQUENCE
+ {
+ mtl [0] SEQUENCE OF ModemType,
+ mpl [1] SEQUENCE OF PropertyParm,
+ nonStandardData [2] NonStandardData OPTIONAL
+ }
+
+ ModemType ::= ENUMERATED
+ {
+ v18(0),
+ v22(1),
+ v22bis(2),
+ v32(3),
+ v32bis(4),
+ v34(5),
+ v90(6),
+ v91(7),
+ synchISDN(8),
+ ...
+ }
+
+ DigitMapDescriptor ::= SEQUENCE
+ {
+ digitMapName [0] DigitMapName OPTIONAL,
+ digitMapValue [1] DigitMapValue OPTIONAL
+ }
+
+ DigitMapName ::= Name
+
+ DigitMapValue ::= SEQUENCE
+ {
+ startTimer [0] INTEGER(0..99) OPTIONAL,
+ shortTimer [1] INTEGER(0..99) OPTIONAL,
+ longTimer [2] INTEGER(0..99) OPTIONAL,
+ digitMapBody [3] IA5String,
+ -- Units are seconds for start, short and long timers, and hundreds
+ -- of milliseconds for duration timer. Thus start, short, and long
+ -- range from 1 to 99 seconds and duration from 100 ms to 9.9 s
+ -- See A.3 for explanation of DigitMap syntax
+ ...,
+ durationTimer [4] INTEGER (0..99) OPTIONAL
+ }
+
+ ServiceChangeParm ::= SEQUENCE
+ {
+ serviceChangeMethod [0] ServiceChangeMethod,
+ serviceChangeAddress [1] ServiceChangeAddress OPTIONAL,
+ serviceChangeVersion [2] INTEGER(0..99) OPTIONAL,
+ serviceChangeProfile [3] ServiceChangeProfile OPTIONAL,
+-- serviceChangeReason [4] Value,
+ serviceChangeReason [4] SCreasonValue,
+ -- A serviceChangeReason consists of a numeric reason code
+ -- and an optional text description.
+ -- The serviceChangeReason shall be a string consisting of
+ -- a decimal reason code, optionally followed by a single
+ -- space character and a textual description string.
+ -- This string is first BER-encoded as an IA5String.
+ -- The result of this BER-encoding is then encoded as
+ -- an ASN.1 OCTET STRING type, "double wrapping" the
+ -- value as was done for package elements.
+
+ serviceChangeDelay [5] INTEGER(0..4294967295) OPTIONAL,
+ -- 32-bit unsigned integer
+ serviceChangeMgcId [6] MId OPTIONAL,
+ timeStamp [7] TimeNotation OPTIONAL,
+ nonStandardData [8] NonStandardData OPTIONAL,
+ ...,
+ serviceChangeInfo [9] AuditDescriptor OPTIONAL,
+ serviceChangeIncompleteFlag [10] NULL OPTIONAL
+ }
+
+-- Wireshark extension to decode serviceChangeReason
+ SCreasonValue ::= SEQUENCE OF SCreasonValueOctetStr
+ SCreasonValueOctetStr ::= OCTET STRING
+ ServiceChangeReasonStr ::= IA5String
+-- end
+
+ ServiceChangeAddress ::= CHOICE
+ {
+ portNumber [0] INTEGER(0..65535), -- TCP/UDP port number
+ ip4Address [1] IP4Address,
+ ip6Address [2] IP6Address,
+ domainName [3] DomainName,
+ deviceName [4] PathName,
+ mtpAddress [5] MtpAddress,
+ ...
+ }
+
+ ServiceChangeResParm ::= SEQUENCE
+ {
+ serviceChangeMgcId [0] MId OPTIONAL,
+ serviceChangeAddress [1] ServiceChangeAddress OPTIONAL,
+ serviceChangeVersion [2] INTEGER(0..99) OPTIONAL,
+ serviceChangeProfile [3] ServiceChangeProfile OPTIONAL,
+ timestamp [4] TimeNotation OPTIONAL,
+ ...
+ }
+
+ ServiceChangeMethod ::= ENUMERATED
+ {
+ failover(0),
+ forced(1),
+ graceful(2),
+ restart(3),
+ disconnected(4),
+ handOff(5),
+ ...
+ }
+
+ ServiceChangeProfile ::= SEQUENCE
+ {
+ profileName [0] IA5String(SIZE (1..67))
+ -- 64 characters for name, 1 for "/", 2 for version to match ABNF
+ }
+
+ PackagesDescriptor ::= SEQUENCE OF PackagesItem
+
+ PackagesItem ::= SEQUENCE
+ {
+ packageName [0] Name,
+ packageVersion [1] INTEGER(0..99),
+ ...
+ }
+
+ StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter
+
+ StatisticsParameter ::= SEQUENCE
+ {
+ statName [0] PkgdName,
+ statValue [1] Value OPTIONAL
+ }
+ -- If statistic consists of a sub-lists there will be more than
+ -- one octetstring in statValue.
+ NonStandardData ::= SEQUENCE
+ {
+ nonStandardIdentifier [0] NonStandardIdentifier,
+ data [1] OCTET STRING
+ }
+
+ NonStandardIdentifier ::= CHOICE
+ {
+ object [0] OBJECT IDENTIFIER,
+ h221NonStandard [1] H221NonStandard,
+ experimental [2] IA5String(SIZE(8)),
+ -- first two characters should be "X-" or "X+"
+ ...
+ }
+
+ H221NonStandard ::= SEQUENCE
+ {
+ t35CountryCode1 [0] INTEGER(0..255),
+ t35CountryCode2 [1] INTEGER(0..255), -- country, as per T.35
+ t35Extension [2] INTEGER(0..255), -- assigned nationally
+ manufacturerCode [3] INTEGER(0..65535), -- assigned nationally
+ ...
+ }
+
+ TimeNotation ::= SEQUENCE
+ {
+ date [0] IA5String(SIZE(8)), -- yyyymmdd format
+ time [1] IA5String(SIZE(8)) -- hhmmssss format
+ -- per ISO 8601:2004
+ }
+
+ Value ::= SEQUENCE OF OCTET STRING
+
+END
diff --git a/epan/dissectors/asn1/h248/packet-h248-template.c b/epan/dissectors/asn1/h248/packet-h248-template.c
new file mode 100644
index 00000000..f4397124
--- /dev/null
+++ b/epan/dissectors/asn1/h248/packet-h248-template.c
@@ -0,0 +1,2397 @@
+/* packet-h248.c
+ * Routines for H.248/MEGACO packet dissection
+ *
+ * Ronnie Sahlberg 2004
+ *
+ * Luis Ontanon 2005 - Context and Transaction Tracing
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/tap.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+#include <epan/prefs.h>
+#include <epan/exported_pdu.h>
+#include <epan/address_types.h>
+#include "packet-alcap.h"
+#include "packet-ber.h"
+#include "packet-tpkt.h"
+#include "packet-mtp3.h"
+#include "packet-h248.h"
+
+#define PNAME "H.248 MEGACO"
+#define PSNAME "H.248"
+#define PFNAME "h248"
+
+void proto_register_h248(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_h248 = -1;
+static int hf_248_magic_num = -1;
+static int hf_h248_mtpaddress_ni = -1;
+static int hf_h248_mtpaddress_pc = -1;
+static int hf_h248_pkg_name = -1;
+static int hf_248_pkg_param = -1;
+static int hf_h248_event_name = -1;
+static int hf_h248_signal_name = -1;
+static int hf_h248_signal_code = -1;
+static int hf_h248_event_code = -1;
+static int hf_h248_pkg_bcp_BNCChar_PDU = -1;
+
+
+
+static int hf_h248_context_id = -1;
+static int hf_h248_term_wild_type = -1;
+static int hf_h248_term_wild_level = -1;
+static int hf_h248_term_wild_position = -1;
+
+static int hf_h248_no_pkg = -1;
+static int hf_h248_no_sig = -1;
+static int hf_h248_no_evt = -1;
+static int hf_h248_param = -1;
+
+static int hf_h248_serviceChangeReasonStr = -1;
+static int hf_h248_transactionId64 = -1;
+static int hf_h248_context_id64 = -1;
+
+/* h248v1 support */
+static int hf_h248_auditValueReplyV1 = -1;
+
+#include "packet-h248-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_h248 = -1;
+static gint ett_mtpaddress = -1;
+static gint ett_packagename = -1;
+static gint ett_codec = -1;
+static gint ett_wildcard = -1;
+
+static gint ett_h248_no_pkg = -1;
+static gint ett_h248_no_sig = -1;
+static gint ett_h248_no_evt = -1;
+
+static int h248_tap = -1;
+
+static gcp_hf_ett_t h248_arrel = {{-1,-1,-1,-1,-1,-1},{-1,-1,-1,-1}};
+
+static gint exported_pdu_tap = -1;
+
+
+#include "packet-h248-ett.c"
+
+static expert_field ei_h248_errored_command = EI_INIT;
+static expert_field ei_h248_transactionId64 = EI_INIT;
+static expert_field ei_h248_context_id64 = EI_INIT;
+static expert_field ei_h248_octet_string_expected = EI_INIT;
+
+static dissector_table_t subdissector_table;
+
+static int ss7pc_address_type = -1;
+
+/* Gateway Control Protocol -- Context Tracking */
+
+const value_string gcp_cmd_type[] = {
+ { GCP_CMD_NONE, "NoCommand"},
+ { GCP_CMD_ADD_REQ, "addReq"},
+ { GCP_CMD_MOVE_REQ, "moveReq"},
+ { GCP_CMD_MOD_REQ, "modReq"},
+ { GCP_CMD_SUB_REQ, "subtractReq"},
+ { GCP_CMD_AUDITCAP_REQ, "auditCapRequest"},
+ { GCP_CMD_AUDITVAL_REQ, "auditValueRequest"},
+ { GCP_CMD_NOTIFY_REQ, "notifyReq"},
+ { GCP_CMD_SVCCHG_REQ, "serviceChangeReq"},
+ { GCP_CMD_TOPOLOGY_REQ, "topologyReq"},
+ { GCP_CMD_CTX_ATTR_AUDIT_REQ, "ctxAttrAuditReq"},
+ { GCP_CMD_ADD_REPLY, "addReply"},
+ { GCP_CMD_MOVE_REPLY, "moveReply"},
+ { GCP_CMD_MOD_REPLY, "modReply"},
+ { GCP_CMD_SUB_REPLY, "subtractReply"},
+ { GCP_CMD_AUDITCAP_REPLY, "auditCapReply"},
+ { GCP_CMD_AUDITVAL_REPLY, "auditValReply"},
+ { GCP_CMD_NOTIFY_REPLY, "notifyReply"},
+ { GCP_CMD_SVCCHG_REPLY, "serviceChangeReply"},
+ { GCP_CMD_TOPOLOGY_REPLY, "topologyReply"},
+ { 0, NULL }
+};
+
+const value_string gcp_term_types[] = {
+ { GCP_TERM_TYPE_AAL1, "aal1" },
+ { GCP_TERM_TYPE_AAL2, "aal2" },
+ { GCP_TERM_TYPE_AAL1_STRUCT, "aal1struct" },
+ { GCP_TERM_TYPE_IP_RTP, "ipRtp" },
+ { GCP_TERM_TYPE_TDM, "tdm" },
+ { 0, NULL }
+};
+
+static wmem_tree_t* gcp_msgs = NULL;
+static wmem_tree_t* gcp_trxs = NULL;
+static wmem_tree_t* gcp_ctxs_by_trx = NULL;
+static wmem_tree_t* gcp_ctxs = NULL;
+
+gcp_msg_t* gcp_msg(packet_info* pinfo, int o, gboolean keep_persistent_data) {
+ gcp_msg_t* m;
+ guint32 framenum = (guint32)pinfo->num;
+ guint32 offset = (guint32)o;
+ address* src = &(pinfo->src);
+ address* dst = &(pinfo->dst);
+ address* lo_addr;
+ address* hi_addr;
+
+ if (keep_persistent_data) {
+ wmem_tree_key_t key[3];
+
+ key[0].length = 1;
+ key[0].key = &(framenum);
+ key[1].length = 1;
+ key[1].key = &offset;
+ key[2].length = 0;
+ key[2].key =NULL;
+
+ if (( m = (gcp_msg_t *)wmem_tree_lookup32_array(gcp_msgs,key) )) {
+ m->committed = TRUE;
+ return m;
+ } else {
+ m = wmem_new(wmem_file_scope(), gcp_msg_t);
+ m->framenum = framenum;
+ m->frametime = pinfo->abs_ts;
+ m->trxs = NULL;
+ m->committed = FALSE;
+
+ wmem_tree_insert32_array(gcp_msgs,key,m);
+ }
+ } else {
+ m = wmem_new0(pinfo->pool, gcp_msg_t);
+ m->framenum = framenum;
+ m->trxs = NULL;
+ m->committed = FALSE;
+ }
+
+ if (cmp_address(src, dst) < 0) {
+ lo_addr = src;
+ hi_addr = dst;
+ } else {
+ lo_addr = dst;
+ hi_addr = src;
+ }
+
+ switch(lo_addr->type) {
+ case AT_NONE:
+ m->lo_addr = 0;
+ m->hi_addr = 0;
+ break;
+ case AT_IPv4:
+ memcpy((guint8*)&(m->hi_addr),hi_addr->data,4);
+ memcpy((guint8*)&(m->lo_addr),lo_addr->data,4);
+ break;
+ default:
+ if (lo_addr->type == ss7pc_address_type) {
+ m->hi_addr = mtp3_pc_hash((const mtp3_addr_pc_t *)hi_addr->data);
+ m->lo_addr = mtp3_pc_hash((const mtp3_addr_pc_t *)lo_addr->data);
+ }
+ else {
+ /* XXX: heuristic and error prone */
+ m->hi_addr = g_str_hash(address_to_str(pinfo->pool, hi_addr));
+ m->lo_addr = g_str_hash(address_to_str(pinfo->pool, lo_addr));
+ }
+ break;
+ }
+
+ return m;
+}
+
+gcp_trx_t* gcp_trx(gcp_msg_t* m ,guint32 t_id , gcp_trx_type_t type, packet_info *pinfo, gboolean keep_persistent_data) {
+ gcp_trx_t* t = NULL;
+ gcp_trx_msg_t* trxmsg;
+
+ if ( !m ) return NULL;
+
+ if (keep_persistent_data) {
+ if (m->committed) {
+
+ for ( trxmsg = m->trxs; trxmsg; trxmsg = trxmsg->next) {
+ if (trxmsg->trx && trxmsg->trx->id == t_id) {
+ return trxmsg->trx;
+ }
+ }
+ DISSECTOR_ASSERT_NOT_REACHED();
+ } else {
+ wmem_tree_key_t key[4];
+
+ key[0].length = 1;
+ key[0].key = &(m->hi_addr);
+ key[1].length = 1;
+ key[1].key = &(m->lo_addr);
+ key[2].length = 1;
+ key[2].key = &(t_id);
+ key[3].length = 0;
+ key[3].key = NULL;
+
+ trxmsg = wmem_new(wmem_file_scope(), gcp_trx_msg_t);
+ t = (gcp_trx_t *)wmem_tree_lookup32_array(gcp_trxs,key);
+
+ if (!t) {
+ t = wmem_new(wmem_file_scope(), gcp_trx_t);
+ t->initial = m;
+ t->id = t_id;
+ t->type = type;
+ t->pendings = 0;
+ t->error = 0;
+ t->cmds = NULL;
+
+ wmem_tree_insert32_array(gcp_trxs,key,t);
+ }
+
+ /* XXX: request, reply and ack + point to frames where they are */
+ switch ( type ) {
+ case GCP_TRX_PENDING:
+ t->pendings++;
+ break;
+ default:
+ break;
+ }
+
+ }
+ } else {
+ t = wmem_new(pinfo->pool, gcp_trx_t);
+ trxmsg = wmem_new(pinfo->pool, gcp_trx_msg_t);
+ t->initial = NULL;
+ t->id = t_id;
+ t->type = type;
+ t->pendings = 0;
+ t->error = 0;
+ t->cmds = NULL;
+ }
+
+ DISSECTOR_ASSERT(trxmsg);
+
+ trxmsg->trx = t;
+ trxmsg->next = NULL;
+ trxmsg->last = trxmsg;
+
+ if (m->trxs) {
+ m->trxs->last = m->trxs->last->next = trxmsg;
+ } else {
+ m->trxs = trxmsg;
+ }
+
+ return t;
+}
+
+
+gcp_ctx_t* gcp_ctx(gcp_msg_t* m, gcp_trx_t* t, guint32 c_id, packet_info *pinfo, gboolean persistent) {
+ gcp_ctx_t* context = NULL;
+ gcp_ctx_t** context_p = NULL;
+
+ if ( !m || !t ) return NULL;
+
+ if (persistent) {
+
+ wmem_tree_key_t ctx_key[4];
+ wmem_tree_key_t trx_key[4];
+
+ ctx_key[0].length = 1;
+ ctx_key[0].key = &(m->hi_addr);
+ ctx_key[1].length = 1;
+ ctx_key[1].key = &(m->lo_addr);
+ ctx_key[2].length = 1;
+ ctx_key[2].key = &(c_id);
+ ctx_key[3].length = 0;
+ ctx_key[3].key = NULL;
+
+ trx_key[0].length = 1;
+ trx_key[0].key = &(m->hi_addr);
+ trx_key[1].length = 1;
+ trx_key[1].key = &(m->lo_addr);
+ trx_key[2].length = 1;
+ trx_key[2].key = &(t->id);
+ trx_key[3].length = 0;
+ trx_key[3].key = NULL;
+
+ if (m->committed) {
+ if (( context = (gcp_ctx_t *)wmem_tree_lookup32_array(gcp_ctxs_by_trx,trx_key) )) {
+ return context;
+ } if ((context_p = (gcp_ctx_t **)wmem_tree_lookup32_array(gcp_ctxs,ctx_key))) {
+ context = *context_p;
+
+ do {
+ if (context->initial->framenum <= m->framenum) {
+ return context;
+ }
+ } while(( context = context->prev ));
+
+ DISSECTOR_ASSERT(! "a context should exist");
+ }
+ } else {
+ if (c_id == CHOOSE_CONTEXT) {
+ if (! ( context = (gcp_ctx_t *)wmem_tree_lookup32_array(gcp_ctxs_by_trx,trx_key))) {
+ context = wmem_new(wmem_file_scope(), gcp_ctx_t);
+ context->initial = m;
+ context->cmds = NULL;
+ context->id = c_id;
+ context->terms.last = &(context->terms);
+ context->terms.next = NULL;
+ context->terms.term = NULL;
+
+ wmem_tree_insert32_array(gcp_ctxs_by_trx,trx_key,context);
+ }
+ } else {
+ if (( context = (gcp_ctx_t *)wmem_tree_lookup32_array(gcp_ctxs_by_trx,trx_key) )) {
+ if (( context_p = (gcp_ctx_t **)wmem_tree_lookup32_array(gcp_ctxs,ctx_key) )) {
+ if (context != *context_p) {
+ if(context->id != CHOOSE_CONTEXT) {
+ context = wmem_new(wmem_file_scope(), gcp_ctx_t);
+ }
+ context->initial = m;
+ context->id = c_id;
+ context->cmds = NULL;
+ context->terms.last = &(context->terms);
+ context->terms.next = NULL;
+ context->terms.term = NULL;
+
+ context->prev = *context_p;
+ *context_p = context;
+ }
+ } else {
+ context_p = wmem_new(wmem_file_scope(), gcp_ctx_t*);
+ *context_p = context;
+ context->initial = m;
+ context->id = c_id;
+ wmem_tree_insert32_array(gcp_ctxs,ctx_key,context_p);
+ }
+ } else if (! ( context_p = (gcp_ctx_t**)wmem_tree_lookup32_array(gcp_ctxs,ctx_key) )) {
+ context = wmem_new(wmem_file_scope(), gcp_ctx_t);
+ context->initial = m;
+ context->id = c_id;
+ context->cmds = NULL;
+ context->terms.last = &(context->terms);
+ context->terms.next = NULL;
+ context->terms.term = NULL;
+
+ context_p = wmem_new(wmem_file_scope(), gcp_ctx_t*);
+ *context_p = context;
+ wmem_tree_insert32_array(gcp_ctxs,ctx_key,context_p);
+ } else {
+ context = *context_p;
+ }
+ }
+ }
+ } else {
+ context = wmem_new(pinfo->pool, gcp_ctx_t);
+ context->initial = m;
+ context->cmds = NULL;
+ context->id = c_id;
+ context->terms.last = &(context->terms);
+ context->terms.next = NULL;
+ context->terms.term = NULL;
+ }
+
+ return context;
+}
+
+gcp_cmd_t* gcp_cmd(gcp_msg_t* m, gcp_trx_t* t, gcp_ctx_t* c, gcp_cmd_type_t type, guint offset, packet_info *pinfo, gboolean persistent) {
+ gcp_cmd_t* cmd;
+ gcp_cmd_msg_t* cmdtrx;
+ gcp_cmd_msg_t* cmdctx;
+
+ if ( !m || !t || !c ) return NULL;
+
+ if (persistent) {
+ if (m->committed) {
+ DISSECTOR_ASSERT(t->cmds != NULL);
+
+ for (cmdctx = t->cmds; cmdctx; cmdctx = cmdctx->next) {
+ cmd = cmdctx->cmd;
+ if (cmd->msg == m && cmd->offset == offset) {
+ return cmd;
+ }
+ }
+
+ DISSECTOR_ASSERT(!"called for a command that does not exist!");
+
+ return NULL;
+ } else {
+ cmd = wmem_new(wmem_file_scope(), gcp_cmd_t);
+ cmdtrx = wmem_new(wmem_file_scope(), gcp_cmd_msg_t);
+ cmdctx = wmem_new(wmem_file_scope(), gcp_cmd_msg_t);
+ }
+ } else {
+ cmd = wmem_new(pinfo->pool, gcp_cmd_t);
+ cmdtrx = wmem_new(pinfo->pool, gcp_cmd_msg_t);
+ cmdctx = wmem_new(pinfo->pool, gcp_cmd_msg_t);
+ }
+
+ cmd->type = type;
+ cmd->offset = offset;
+ cmd->terms.term = NULL;
+ cmd->terms.next = NULL;
+ cmd->terms.last = &(cmd->terms);
+ cmd->str = NULL;
+ cmd->msg = m;
+ if ((type != GCP_CMD_NONE) && (!persistent)){
+ cmd->str = val_to_str_const(type, gcp_cmd_type, "Unknown");
+ }
+ cmd->trx = t;
+ cmd->ctx = c;
+ cmd->error = 0;
+
+ cmdctx->cmd = cmdtrx->cmd = cmd;
+ cmdctx->next = cmdtrx->next = NULL;
+ cmdctx->last = cmdtrx->last = NULL;
+
+ if (t->cmds) {
+ t->cmds->last->next = cmdtrx;
+ t->cmds->last = cmdtrx;
+ } else {
+ t->cmds = cmdtrx;
+ t->cmds->last = cmdtrx;
+ }
+
+ if (c->cmds) {
+ c->cmds->last->next = cmdctx;
+ c->cmds->last = cmdctx;
+ } else {
+ c->cmds = cmdctx;
+ c->cmds->last = cmdctx;
+ }
+
+ return cmd;
+}
+
+gcp_term_t* gcp_cmd_add_term(gcp_msg_t* m, gcp_trx_t* tr, gcp_cmd_t* c, gcp_term_t* t, gcp_wildcard_t wildcard, packet_info *pinfo, gboolean persistent) {
+ gcp_terms_t* ct;
+ gcp_terms_t* ct2;
+
+ static gcp_term_t all_terms = {"$",(const guint8*)"",1,GCP_TERM_TYPE_UNKNOWN,NULL,NULL,NULL};
+
+ if ( !c ) return NULL;
+
+ if ( wildcard == GCP_WILDCARD_CHOOSE) {
+ return &all_terms;
+ }
+
+ if (persistent) {
+ if ( c->msg->committed ) {
+ if (wildcard == GCP_WILDCARD_ALL) {
+ for (ct = c->ctx->terms.next; ct; ct = ct->next) {
+ /* XXX not handling more wilcards in one msg */
+ if ( ct->term->start == m ) {
+ return ct->term;
+ }
+ }
+ return NULL;
+ } else {
+ for (ct = c->ctx->terms.next; ct; ct = ct->next) {
+ if ( g_str_equal(ct->term->str,t->str) ) {
+ return ct->term;
+ }
+ }
+ return NULL;
+ }
+ } else {
+
+ for (ct = c->ctx->terms.next; ct; ct = ct->next) {
+ if ( g_str_equal(ct->term->str,t->str) || ct->term->start == m) {
+ break;
+ }
+ }
+
+ if ( ! ct ) {
+
+ if (wildcard == GCP_WILDCARD_ALL) {
+ ct = wmem_new(wmem_file_scope(), gcp_terms_t);
+ ct->next = NULL;
+ ct->term = wmem_new0(wmem_file_scope(), gcp_term_t);
+
+ ct->term->start = m;
+ ct->term->str = "*";
+ ct->term->buffer = NULL;
+ ct->term->len = 0;
+
+ c->terms.last = c->terms.last->next = ct;
+
+ ct2 = wmem_new0(wmem_file_scope(), gcp_terms_t);
+ ct2->term = ct->term;
+
+ c->ctx->terms.last->next = ct2;
+ c->ctx->terms.last = ct2;
+
+ return ct->term;
+ } else {
+ for (ct = c->ctx->terms.next; ct; ct = ct->next) {
+ /* XXX not handling more wilcards in one msg */
+ if ( ct->term->buffer == NULL && tr->cmds->cmd->msg == ct->term->start ) {
+ ct->term->str = wmem_strdup(wmem_file_scope(), t->str);
+ ct->term->buffer = (const guint8 *)wmem_memdup(wmem_file_scope(), t->buffer,t->len);
+ ct->term->len = t->len;
+
+ ct2 = wmem_new0(wmem_file_scope(), gcp_terms_t);
+ ct2->term = ct->term;
+
+ c->terms.last = c->terms.last->next = ct2;
+
+ return ct->term;
+ }
+
+ if ( g_str_equal(ct->term->str,t->str) ) {
+ ct2 = wmem_new0(wmem_file_scope(), gcp_terms_t);
+ ct2->term = ct->term;
+
+ c->terms.last = c->terms.last->next = ct2;
+
+ return ct->term;
+ }
+ }
+
+ ct = wmem_new(wmem_file_scope(), gcp_terms_t);
+ ct->next = NULL;
+ ct->term = wmem_new0(wmem_file_scope(), gcp_term_t);
+
+ ct->term->start = m;
+ ct->term->str = wmem_strdup(wmem_file_scope(), t->str);
+ ct->term->buffer = (const guint8 *)wmem_memdup(wmem_file_scope(), t->buffer,t->len);
+ ct->term->len = t->len;
+
+ ct2 = wmem_new0(wmem_file_scope(), gcp_terms_t);
+ ct2->term = ct->term;
+
+ c->terms.last = c->terms.last->next = ct2;
+
+ ct2 = wmem_new0(wmem_file_scope(), gcp_terms_t);
+ ct2->term = ct->term;
+
+ c->ctx->terms.last = c->ctx->terms.last->next = ct2;
+
+ return ct->term;
+ }
+ } else {
+ ct2 = wmem_new0(wmem_file_scope(), gcp_terms_t);
+ ct2->term = ct->term;
+
+ c->terms.last = c->terms.last->next = ct2;
+ return ct->term;
+ }
+
+ DISSECTOR_ASSERT_NOT_REACHED();
+ }
+ } else {
+ ct = wmem_new(pinfo->pool, gcp_terms_t);
+ ct->term = t;
+ ct->next = NULL;
+ c->terms.last = c->terms.last->next = ct;
+
+ return t;
+ }
+
+}
+
+static const gchar* gcp_cmd_to_str(gcp_cmd_t* c, wmem_allocator_t *scope, gboolean persistent) {
+ const gchar* s;
+ gcp_terms_t* term;
+
+ if ( !c ) return "-";
+
+ switch (c->type) {
+ case GCP_CMD_NONE:
+ return "-";
+ case GCP_CMD_ADD_REQ:
+ s = "AddReq {";
+ break;
+ case GCP_CMD_MOVE_REQ:
+ s = "MoveReq {";
+ break;
+ case GCP_CMD_MOD_REQ:
+ s = "ModReq {";
+ break;
+ case GCP_CMD_SUB_REQ:
+ s = "SubReq {";
+ break;
+ case GCP_CMD_AUDITCAP_REQ:
+ s = "AuditCapReq {";
+ break;
+ case GCP_CMD_AUDITVAL_REQ:
+ s = "AuditValReq {";
+ break;
+ case GCP_CMD_NOTIFY_REQ:
+ s = "NotifyReq {";
+ break;
+ case GCP_CMD_SVCCHG_REQ:
+ s = "SvcChgReq {";
+ break;
+ case GCP_CMD_TOPOLOGY_REQ:
+ s = "TopologyReq {";
+ break;
+ case GCP_CMD_CTX_ATTR_AUDIT_REQ:
+ s = "CtxAttribAuditReq {";
+ break;
+ case GCP_CMD_ADD_REPLY:
+ s = "AddReply {";
+ break;
+ case GCP_CMD_MOVE_REPLY:
+ s = "MoveReply {";
+ break;
+ case GCP_CMD_MOD_REPLY:
+ s = "ModReply {";
+ break;
+ case GCP_CMD_SUB_REPLY:
+ s = "SubReply {";
+ break;
+ case GCP_CMD_AUDITCAP_REPLY:
+ s = "AuditCapReply {";
+ break;
+ case GCP_CMD_AUDITVAL_REPLY:
+ s = "AuditValReply {";
+ break;
+ case GCP_CMD_NOTIFY_REPLY:
+ s = "NotifyReply {";
+ break;
+ case GCP_CMD_SVCCHG_REPLY:
+ s = "SvcChgReply {";
+ break;
+ case GCP_CMD_TOPOLOGY_REPLY:
+ s = "TopologyReply {";
+ break;
+ case GCP_CMD_REPLY:
+ s = "ActionReply {";
+ break;
+ case GCP_CMD_OTHER_REQ:
+ s = "Request {";
+ break;
+ default:
+ s = "-";
+ break;
+ }
+
+ for (term = c->terms.next; term; term = term->next) {
+ s = wmem_strdup_printf(scope, "%s %s", s, term->term->str);
+ }
+
+ if (c->error) {
+ s = wmem_strdup_printf(scope, "%s Error=%i", s, c->error);
+ }
+
+ s = wmem_strdup_printf(scope, "%s }", s);
+
+ if (persistent) {
+ /* FIXME: this method has a side-effect but is buried deep within an apparently side-effect free string helper */
+ if (! c->str) c->str = wmem_strdup(wmem_file_scope(), s);
+ } else {
+ c->str = s;
+ }
+
+ return s;
+}
+
+static const gchar * gcp_trx_to_str(gcp_msg_t* m, gcp_trx_t* t, wmem_allocator_t *scope, gboolean persistent) {
+ wmem_strbuf_t *s;
+ gcp_cmd_msg_t* c;
+
+ if ( !m || !t ) return "-";
+
+ s = wmem_strbuf_new(scope, NULL);
+ wmem_strbuf_append_printf(s, "T %x { ", t->id);
+
+ if (t->cmds) {
+ if (t->cmds->cmd->ctx) {
+ wmem_strbuf_append_printf(s, " C %x {", t->cmds->cmd->ctx->id);
+
+ for (c = t->cmds; c; c = c->next) {
+ if (c->cmd->msg == m) {
+ wmem_strbuf_append_c(s, ' ');
+ wmem_strbuf_append(s, gcp_cmd_to_str(c->cmd, scope, persistent));
+ }
+ }
+
+ wmem_strbuf_append(s, " }");
+ }
+ }
+
+ if (t->error) {
+ wmem_strbuf_append_printf(s, " Error=%i", t->error);
+ }
+
+ wmem_strbuf_append(s, " }");
+
+ return wmem_strbuf_finalize(s);
+}
+
+const gchar* gcp_msg_to_str(gcp_msg_t* m, wmem_allocator_t *scope, gboolean persistent) {
+ gcp_trx_msg_t* t;
+ wmem_strbuf_t *s;
+
+ if ( !m ) return "-";
+
+ s = wmem_strbuf_new(scope, NULL);
+ for (t = m->trxs; t; t = t->next) {
+ wmem_strbuf_append_c(s, ' ');
+ wmem_strbuf_append(s, gcp_trx_to_str(m, t->trx, scope, persistent));
+ }
+
+ return wmem_strbuf_finalize(s);
+}
+
+typedef struct _gcp_ctxs_t {
+ struct _gcp_ctx_t* ctx;
+ struct _gcp_ctxs_t* next;
+} gcp_ctxs_t;
+
+/*static const gchar* trx_types[] = {"None","Req","Reply","Pending","Ack"};*/
+
+void gcp_analyze_msg(proto_tree* gcp_tree, packet_info* pinfo, tvbuff_t* gcp_tvb, gcp_msg_t* m, gcp_hf_ett_t* ids, expert_field* command_err) {
+ gcp_trx_msg_t* t;
+ gcp_ctxs_t contexts = {NULL,NULL};
+ gcp_ctxs_t* ctx_node;
+ gcp_cmd_msg_t* c;
+
+
+ for (t = m->trxs; t; t = t->next) {
+ for (c = t->trx->cmds; c; c = c->next) {
+ gcp_ctx_t* ctx = c->cmd->ctx;
+
+ for (ctx_node = contexts.next; ctx_node; ctx_node = ctx_node->next) {
+ if (ctx_node->ctx->id == ctx->id) {
+ break;
+ }
+ }
+
+ if (! ctx_node) {
+ ctx_node = wmem_new(pinfo->pool, gcp_ctxs_t);
+ ctx_node->ctx = ctx;
+ ctx_node->next = contexts.next;
+ contexts.next = ctx_node;
+ }
+ }
+ }
+
+ for (ctx_node = contexts.next; ctx_node; ctx_node = ctx_node->next) {
+ gcp_ctx_t* ctx = ctx_node->ctx;
+ proto_item* ctx_item = proto_tree_add_uint(gcp_tree,ids->hf.ctx,gcp_tvb,0,0,ctx->id);
+ proto_tree* ctx_tree = proto_item_add_subtree(ctx_item,ids->ett.ctx);
+ gcp_terms_t *ctx_term;
+
+ proto_item_set_generated(ctx_item);
+
+ if (ctx->cmds) {
+ proto_tree* history_tree = proto_tree_add_subtree(ctx_tree,gcp_tvb,0,0,ids->ett.ctx_cmds,NULL,"[ Command History ]");
+
+ for (c = ctx->cmds; c; c = c->next) {
+ proto_item* cmd_item = proto_tree_add_uint(history_tree,ids->hf.ctx_cmd,gcp_tvb,0,0,c->cmd->msg->framenum);
+ if (c->cmd->str) proto_item_append_text(cmd_item," %s ",c->cmd->str);
+ proto_item_set_generated(cmd_item);
+ if (c->cmd->error) {
+ expert_add_info(pinfo, cmd_item, command_err);
+ }
+ }
+ }
+
+ if (( ctx_term = ctx->terms.next )) {
+ proto_tree* terms_tree = proto_tree_add_subtree(ctx_tree,gcp_tvb,0,0,ids->ett.ctx_terms,NULL,"[ Terminations Used ]");
+
+ for (; ctx_term; ctx_term = ctx_term->next ) {
+ if ( ctx_term->term && ctx_term->term->str) {
+ proto_item* pi = proto_tree_add_string(terms_tree,ids->hf.ctx_term,gcp_tvb,0,0,ctx_term->term->str);
+ proto_tree* term_tree = proto_item_add_subtree(pi,ids->ett.ctx_term);
+
+ proto_item_set_generated(pi);
+
+ if (ctx_term->term->type) {
+ pi = proto_tree_add_uint(term_tree,ids->hf.ctx_term_type,gcp_tvb,0,0,ctx_term->term->type);
+ proto_item_set_generated(pi);
+ }
+
+ if (ctx_term->term->bir) {
+ pi = proto_tree_add_string(term_tree,ids->hf.ctx_term_bir,gcp_tvb,0,0,ctx_term->term->bir);
+ proto_item_set_generated(pi);
+ }
+
+ if (ctx_term->term->nsap) {
+ pi = proto_tree_add_string(term_tree,ids->hf.ctx_term_nsap,gcp_tvb,0,0,ctx_term->term->nsap);
+ proto_item_set_generated(pi);
+ }
+
+ if (ctx_term->term->bir && ctx_term->term->nsap) {
+ gchar* tmp_key = wmem_strdup_printf(pinfo->pool, "%s:%s",ctx_term->term->nsap,ctx_term->term->bir);
+ gchar* key = g_ascii_strdown(tmp_key, -1);
+ alcap_tree_from_bearer_key(term_tree, gcp_tvb, pinfo, key);
+ g_free(key);
+ }
+ }
+ }
+ }
+ }
+}
+
+/* END Gateway Control Protocol -- Context Tracking */
+
+#define H248_PORT 2945
+static gboolean keep_persistent_data = FALSE;
+static gboolean h248_desegment = TRUE;
+
+
+
+static proto_tree *h248_tree;
+
+static dissector_handle_t h248_handle;
+static dissector_handle_t h248_term_handle;
+static dissector_handle_t h248_tpkt_handle;
+
+/* Forward declarations */
+static int dissect_h248_ServiceChangeReasonStr(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+
+/* h248v1 support */
+static int dissect_h248_AuditReplyV1(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+
+static int dissect_h248_EventParameterV1(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+static int dissect_h248_SigParameterV1(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+static int dissect_h248_SigParamValueV1(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+
+#if 0
+static const value_string context_id_type[] = {
+ {NULL_CONTEXT,"0 (Null Context)"},
+ {CHOOSE_CONTEXT,"$ (Choose Context)"},
+ {ALL_CONTEXTS,"* (All Contexts)"},
+ {0,NULL}
+};
+#endif
+
+/* the following value_strings are used to build defalut packages.
+ To add additional detail to a package, build a register a h248_package_t structure
+ */
+
+static const value_string base_package_name_vals[] = {
+ { 0x0000, "Media stream properties H.248.1 Annex C" },
+ { 0x0001, "Generic H.248.1 Annex E" },
+ { 0x0002, "root H.248.1 Annex E" },
+ { 0x0003, "tonegen H.248.1 Annex E" },
+ { 0x0004, "tonedet H.248.1 Annex E" },
+ { 0x0005, "dg H.248.1 Annex E" },
+ { 0x0006, "dd H.248.1 Annex E" },
+ { 0x0007, "cg H.248.1 Annex E" },
+ { 0x0008, "cd H.248.1 Annex E" },
+ { 0x0009, "al H.248.1 Annex E" },
+ { 0x000a, "ct H.248.1 Annex E" },
+ { 0x000b, "nt H.248.1 Annex E" },
+ { 0x000c, "rtp H.248.1 Annex E" },
+ { 0x000d, "tdmc H.248.1 Annex E" },
+ { 0x000e, "ftmd H.248.1 Annex E" },
+ { 0x000f, "txc H.248.2" }, /* H.248.2 */
+ { 0x0010, "txp H.248.2" },
+ { 0x0011, "ctyp H.248.2" },
+ { 0x0012, "fax H.248.2" },
+ { 0x0013, "ipfax H.248.2" },
+ { 0x0014, "dis H.248.3" }, /* H.248.3 */
+ { 0x0015, "key H.248.3" },
+ { 0x0016, "kp H.248.3" },
+ { 0x0017, "labelkey H.248.3" },
+ { 0x0018, "kf H.248.3" },
+ { 0x0019, "ind H.248.3" },
+ { 0x001a, "ks H.248.3" },
+ { 0x001b, "anci H.248.3" },
+ { 0x001c, "dtd H.248.6" }, /* H.248.6 */
+ { 0x001d, "an H.248.7" }, /* H.248.7 */
+ { 0x001e, "Bearer Characteristics Q.1950 Annex A" }, /* Q.1950 Annex A */
+ { 0x001f, "Bearer Network Connection Cut Q.1950 Annex A" },
+ { 0x0020, "Reuse Idle Q.1950 Annex A" },
+ { 0x0021, "Generic Bearer Connection Q.1950 Annex A" },
+ { 0x0022, "Bearer Control Tunnelling Q.1950 Annex A" },
+ { 0x0023, "Basic Call Progress Tones Q.1950 Annex A" },
+ { 0x0024, "Expanded Call Progress Tones Q.1950 Annex A" },
+ { 0x0025, "Basic Services Tones Q.1950 Annex A" },
+ { 0x0026, "Expanded Services Tones Q.1950 Annex A" },
+ { 0x0027, "Intrusion Tones Q.1950 Annex A" },
+ { 0x0028, "Business Tones Q.1950 Annex A" },
+ { 0x0029, "Media Gateway Resource Congestion Handling H.248.10" }, /* H.248.10 */
+ { 0x002a, "H245 package H.248.12" }, /* H.248.12 */
+ { 0x002b, "H323 bearer control package H.248.12" }, /* H.248.12 */
+ { 0x002c, "H324 package H.248.12" }, /* H.248.12 */
+ { 0x002d, "H245 command package H.248.12" }, /* H.248.12 */
+ { 0x002e, "H245 indication package H.248.12" }, /* H.248.12 */
+ { 0x002f, "3G User Plane" }, /* 3GPP TS 29.232 v4.1.0 */
+ { 0x0030, "3G Circuit Switched Data" },
+ { 0x0031, "3G TFO Control" },
+ { 0x0032, "3G Expanded Call Progress Tones" },
+ { 0x0033, "Advanced Audio Server (AAS Base)" }, /* H.248.9 */
+ { 0x0034, "AAS Digit Collection" }, /* H.248.9 */
+ { 0x0035, "AAS Recording" }, /* H.248.9 */
+ { 0x0036, "AAS Segment Management" }, /* H.248.9 */
+ { 0x0037, "Quality Alert Ceasing" }, /* H.248.13 */
+ { 0x0038, "Conferencing Tones Generation" }, /* H.248.27 */
+ { 0x0039, "Diagnostic Tones Generation" }, /* H.248.27 */
+ { 0x003a, "Carrier Tones Generation Package H.248.23" }, /* H.248.27 */
+ { 0x003b, "Enhanced Alerting Package H.248.23" }, /* H.248.23 */
+ { 0x003c, "Analog Display Signalling Package H.248.23" }, /* H.248.23 */
+ { 0x003d, "Multi-Frequency Tone Generation Package H.248.24" }, /* H.248.24 */
+ { 0x003e, "H.248.23Multi-Frequency Tone Detection Package H.248.24" }, /* H.248.24 */
+ { 0x003f, "Basic CAS Package H.248.25" }, /* H.248.25 */
+ { 0x0040, "Robbed Bit Signalling Package H.248.25" }, /* H.248.25 */
+ { 0x0041, "Operator Services and Emergency Services Package H.248.25" },
+ { 0x0042, "Operator Services Extension Package H.248.25" },
+ { 0x0043, "Extended Analog Line Supervision Package H.248.26" },
+ { 0x0044, "Automatic Metering Package H.248.26" },
+ { 0x0045, "Inactivity Timer Package H.248.14" },
+ { 0x0046, "3G Modification of Link Characteristics Bearer Capability" }, /* 3GPP TS 29.232 v4.4.0 */
+ { 0x0047, "Base Announcement Syntax H.248.9" },
+ { 0x0048, "Voice Variable Syntax H.248.9" },
+ { 0x0049, "Announcement Set Syntax H.248.9" },
+ { 0x004a, "Phrase Variable Syntax H.248.9" },
+ { 0x004b, "Basic NAS package" },
+ { 0x004c, "NAS incoming package" },
+ { 0x004d, "NAS outgoing package" },
+ { 0x004e, "NAS control package" },
+ { 0x004f, "NAS root package" },
+ { 0x0050, "Profile Handling Package H.248.18" },
+ { 0x0051, "Media Gateway Overload Control Package H.248.11" },
+ { 0x0052, "Extended DTMF Detection Package H.248.16" },
+ { 0x0053, "Quiet Termination Line Test" },
+ { 0x0054, "Loopback Line Test Response" }, /* H.248.17 */
+ { 0x0055, "ITU 404Hz Line Test" }, /* H.248.17 */
+ { 0x0056, "ITU 816Hz Line Test" }, /* H.248.17 */
+ { 0x0057, "ITU 1020Hz Line Test" }, /* H.248.17 */
+ { 0x0058, "ITU 2100Hz Disable Tone Line Test" }, /* H.248.17 */
+ { 0x0059, "ITU 2100Hz Disable Echo Canceller Tone Line Test" }, /* H.248.17 */
+ { 0x005a, "ITU 2804Hz Tone Line Test" }, /* H.248.17 */
+ { 0x005b, "ITU Noise Test Tone Line Test" }, /* H.248.17 */
+ { 0x005c, "ITU Digital Pseudo Random Test Line Test" }, /* H.248.17 */
+ { 0x005d, "ITU ATME No.2 Test Line Response" }, /* H.248.17 */
+ { 0x005e, "ANSI 1004Hz Test Tone Line Test" }, /* H.248.17 */
+ { 0x005f, "ANSI Test Responder Line Test" }, /* H.248.17 */
+ { 0x0060, "ANSI 2225Hz Test Progress Tone Line Test" }, /* H.248.17 */
+ { 0x0061, "ANSI Digital Test Signal Line Test" }, /* H.248.17 */
+ { 0x0062, "ANSI Inverting Loopback Line Test Response" }, /* H.248.17 */
+ { 0x0063, "Extended H.324 Packages H.248.12 Annex A" },
+ { 0x0064, "Extended H.245 Command Package H.248.12 Annex A" },
+ { 0x0065, "Extended H.245 Indication Package H.248.12 Annex A" },
+ { 0x0066, "Enhanced DTMF Detection Package H.248.16" },
+ { 0x0067, "Connection Group Identity Package Q.1950 Annex E" },
+ { 0x0068, "CTM Text Transport 3GPP TS 29.232 v5.2.0" },
+ { 0x0069, "SPNE Control Package Q.115.0" },
+ { 0x006a, "Semi-permanent Connection Package H.248.21" },
+ { 0x006b, "Shared Risk Group Package H.248.22" },
+ { 0x006c, "isuptn Annex B of ITU-T Rec. J.171" },
+ { 0x006d, "Basic CAS Addressing Package H.248.25" },
+ { 0x006e, "Floor Control Package H.248.19" },
+ { 0x006f, "Indication of Being Viewed Package H.248.19" },
+ { 0x0070, "Volume Control Package H.248.19" },
+ { 0x0071, "UNASSIGNED" },
+ { 0x0072, "Volume Detection Package H.248.19" },
+ { 0x0073, "Volume Level Mixing Package H.248.19" },
+ { 0x0074, "Mixing Volume Level Control Package H.248.19" },
+ { 0x0075, "Voice Activated Video Switch Package H.248.19" },
+ { 0x0076, "Lecture Video Mode Package H.248.19" },
+ { 0x0077, "Contributing Video Source Package H.248.19" },
+ { 0x0078, "Video Window Package H.248.19" },
+ { 0x0079, "Tiled Window Package H.248.19" },
+ { 0x007a, "Adaptive Jitter Buffer Package H.248.31" },
+ { 0x007b, "International CAS Package H.248.28" },
+ { 0x007c, "CAS Blocking Package H.248.28" },
+ { 0x007d, "International CAS Compelled Package H.248.29" },
+ { 0x007e, "International CAS Compelled with Overlap Package H.248.29" },
+ { 0x007f, "International CAS Compelled with End-to-end Package H.248.29" },
+ { 0x0080, "RTCP XR Package H.248.30" },
+ { 0x0081, "RTCP XR Burst Metrics Package H.248.30" },
+ { 0x0082, "threegcsden 3G Circuit Switched Data" }, /* 3GPP TS 29.232 v5.6.0 */
+ { 0x0083, "threegiptra 3G Circuit Switched Data" }, /* 3GPP TS 29.232 v5.6.0 */
+ { 0x0084, "threegflex 3G Circuit Switched Data" }, /* 3GPP TS 29.232 v5.6.0 */
+ { 0x0085, "H.248 PCMSB" },
+ { 0x008a, "TIPHON Extended H.248/MEGACO Package" }, /* ETSI specification TS 101 3 */
+ { 0x008b, "Differentiated Services Package" }, /* Annex A of ETSI TS 102 333 */
+ { 0x008c, "Gate Management Package" }, /* Annex B of ETSI TS 102 333 */
+ { 0x008d, "Traffic Management Package" }, /* Annex C of ETSI TS 102 333 */
+ { 0x008e, "Gate Recovery Information Package" }, /* Annex D of ETSI TS 102 333 */
+ { 0x008f, "NAT Traversal Package" }, /* Annex E of ETSI TS 102 333 */
+ { 0x0090, "MPLS Package" }, /* Annex F of ETSI TS 102 333 */
+ { 0x0091, "VLAN Package" }, /* Annex G of ETSI TS 102 333 */
+ { 0x0092, "Detailed Congestion Reporting Package" }, /* H.248.32 */
+ { 0x0093, "Stimulus Analogue Lines Package" }, /* H.248.34 */
+ { 0x0094, "icascgen" }, /* H.248.29 Annex B */
+ { 0x0095, "Coin Operated Phone Control Package" }, /* H.248.35 */
+ { 0x0096, "Metering Pulse Detection Package" }, /* H.248.26 Amendment 1 */
+ { 0x0097, "Trace Package" }, /* 3GPP TS 29.232 v6.3.0 */
+ { 0x0098, "Hanging Termination Package" }, /* H.248.36 */
+ { 0x0099, "IP NAPT Traversal Package" }, /* H.248.37 */
+ { 0x009a, "Notification Behaviour Package" }, /* H.248.1v3 */
+ { 0x009b, "Base Context Package" }, /* H.248.38 */
+ { 0x009c, "Application Data Inactivity Detection Package" }, /* H.248.40 */
+ { 0x009d, "Domain Connection Package " }, /* H.248.41 */
+ { 0x009e, "Digital Circuit Multiplication Equipment Package" }, /* H.248.42 */
+ { 0x009f, "Multi-level Precedence and Pre-emption Package" }, /* H.248.44 */
+ { 0x00a0, "MGC Information Package" }, /* H.248.45 */
+ { 0x00a1, "Text Overlay Package" }, /* H.248.19 Amendment 1 */
+ { 0x00a2, "Border and Background Package" }, /* H.248.19 Amendment 1 */
+ { 0x00a3, "Segmentation Package" }, /* H.248.1v3 */
+ { 0x00a4, "ETSI notification behaviour package" }, /* ETSI ES 283 039-3 */
+ { 0x00a5, "ETSI notification rate package" }, /* ETSI ES 283 039-4 */
+ { 0x00a6, "Automatic Speech Recognition Package" }, /* H.248.9 Amendment 1 */
+ { 0x00a7, "Set extension to basic syntax for TTS enhancement Package" },/* H.248.9 Amendment 1 */
+ { 0x00a8, "Advanced audio server base package for TTS enhancement" }, /* H.248.9 Amendment 1 */
+ { 0x00a9, "Multimedia Play Package" }, /* H.248.9 Amendment 1 */
+ { 0x00aa, "Floor Status Detection Package" }, /* H.248.19 Amendment 2 */
+ { 0x00ab, "Floor Control Policy Package" }, /* H.248.19 Amendment 2 */
+ { 0x00ac, "Address Reporting Package" }, /* H.248.37 Amendment 1 */
+ { 0x00ad, "Connection Capability Control Package" }, /* H.248.46 */
+ { 0x00ae, "Statistic Conditional Reporting Package" }, /* H.248.47 Amendment 1 */
+ { 0x00af, "RTCP HR QoS Statistics Package" }, /* H.248.48 */
+ { 0x00b0, "Received RTCP XR Package" }, /* H.248.30 (01/2007) */
+ { 0x00b1, "Received RTCP XR Burst Metrics Package" }, /* H.248.30 (01/2007) */
+ { 0x00b2, "ASCI Group call package" }, /* 3GPP TS 29.232 v7.4.0 */
+ { 0x00b3, "Multimedia Recording Package" }, /* H.248.9 Amendment 1 */
+ { 0x00b4, "H.245 Transport Package" }, /* H.248.12 Amendment 2 */
+ { 0x00b5, "RTCP Handling package" }, /* H.248.57 */
+ { 0x00b6, "Gate Management - Outgoing Destination Address/Port Filtering Package" },/* H.248.43 */
+ { 0x00b7, "Gate Management - Incoming Protocol Filtering Package" }, /* H.248.43 */
+ { 0x00b8, "Gate Management - Outgoing Protocol Filtering Package" }, /* H.248.43 */
+ { 0x00b9, "Gate Management - Incoming Filtering Behaviour Package" }, /* H.248.43 */
+ { 0x00ba, "Gate Management - Outgoing Filtering Behaviour Package" }, /* H.248.43 */
+ { 0x00bb, "Session Description Protocol RFC Package" }, /* H.248.49 */
+ { 0x00bc, "Session Description Protocol Capabilities Package" }, /* H.248.49 */
+ { 0x00bd, "NAT Traversal Toolkit - STUN Base Package" }, /* H.248.50 */
+ { 0x00be, "NAT Traversal Toolkit - MG STUN Client Package" }, /* H.248.50 */
+ { 0x00bf, "NAT Traversal Toolkit - MG TURN Client Package" }, /* H.248.50 */
+ { 0x00c0, "NAT Traversal Toolkit - MGC STUN Client Package" }, /* H.248.50 */
+ { 0x00c1, "NAT Traversal Toolkit - STUN Information Package" }, /* H.248.50 */
+ { 0x00c2, "NAT Traversal Toolkit - MG Act-as STUN Server Package" }, /* H.248.50 */
+ { 0x00c3, "NAT Traversal Toolkit - Originate STUN Continuity Check Package" }, /* H.248.50 */
+ { 0x00c4, "NAT Traversal Toolkit - MGC Originated STUN Request Package" }, /* H.248.50 */
+ { 0x00c5, "NAT Traversal Toolkit - RTP NOOP Request Package" }, /* H.248.50 */
+ { 0x00c6, "Termination Connection Model Package" }, /* H.248.51 */
+ { 0x00c7, "QoS Class Package" }, /* H.248.52 */
+ { 0x00c8, "Traffic Policing Statistics Package" }, /* H.248.53 */
+ { 0x00c9, "Packet Size Package" }, /* H.248.53 */
+ { 0x00ca, "Pull Mode Package" }, /* H.248.55 */
+ { 0x00cb, "RTP Application Data Package" }, /* H.248.58 */
+ { 0x00cc, "Event Timestamp Notification Package" }, /* H.248.59 */
+ { 0x00cd, "Resource Management Rules Package" }, /* H.248.63 */
+ { 0x00ce, "Resource Management Configuration Package" }, /* H.248.63 */
+ { 0x00cf, "Abstract Resource Management Packages" }, /* H.248.63 */
+ { 0x00d0, "IP layer octets count statistics Package" }, /* H.248.61 */
+ { 0x00d1, "Content of Communication Identity Package" }, /* H.248.60 */
+ { 0x00d2, "RSVP extension package" }, /* H.248.65 */
+ { 0x00d3, "GCP Transport Mode Indication Package" }, /* H.248.67 */
+ { 0x00d4, "IP Router Package" }, /* H.248.64 */
+ { 0x00d5, "Media Resource Identification Package" }, /* H.248.66 */
+ { 0x00d6, "Range Format Support Package" }, /* H.248.66 */
+ { 0x00d7, "Media Resource Description Expiry Package" }, /* H.248.66 */
+ { 0x00d8, "Media Block Size Package" }, /* H.248.66 */
+ { 0x00d9, "RTSP Media Resource Syntax Package" }, /* H.248.66 */
+ { 0x00da, "RTSP Play Package" }, /* H.248.66 */
+ { 0x00db, "Signal Pause Package" }, /* H.248.66 */
+ { 0x00dc, "Data Delivery Speed Adjustme Package" }, /* H.248.66 */
+ { 0x00dd, "Playback Relative Scale Adjustment Package" }, /* H.248.66 */
+ { 0x00de, "RTP Information Package" }, /* H.248.66 */
+ { 0x00df, "RTP Interleaving Package" }, /* H.248.66 */
+ { 0x00e0, "IP Realm Availability Package" }, /* H.248.41 Amendment 1 */
+ { 0x00e1, "General IP Header QoS Octet Package" }, /* H.248.52 */
+ { 0x00e2, "Re-answer Package" }, /* H.248.62 */
+ { 0x00e3, "3G Interface Type package" }, /* 3GPP TS 29.232 v8.4.0 */
+ { 0x00e4, "Latch Statistics Package" }, /* H.248.37 */
+ { 0x00e5, "Floor Control Signalling Package" }, /* H.248.19 Amendment 2 */
+ { 0x00e6, "Include Participant in Mix Package" }, /* H.248.19 Amendment 2 */
+ { 0x00e7, "Speaker Reporting Package" }, /* H.248.19 Amendment 2 */
+ { 0x00e8, "IP Layer Packet Count Statistics Package" }, /* H.248.61 */
+ { 0x00e9, "Removal of Digits and Tones Package" }, /* H.248.68 */
+ { 0x00ea, "MSRP Statistics Package" }, /* H.248.69 */
+ { 0x00eb, "MSRP Connection Status Package" }, /* H.248.69 */
+ { 0x00ec, "Play Message Package" }, /* H.248.69 */
+ { 0x00ed, "Delete Stored Message Package" }, /* H.248.69 */
+ { 0x00ee, "Message Session Information Package" }, /* H.248.69 */
+ { 0x00ef, "Message Filtering Package" }, /* H.248.69 */
+ { 0x00f0, "Stored Message Information Package" }, /* H.248.69 */
+ { 0x00f1, "Record Message Package" }, /* H.248.69 */
+ { 0x00f2, "Digit Dialling Method Information Package" }, /* H.248.70 */
+ { 0x00f3, "Digit Dialling Method Information for Extended Digitmap Detection Package" }, /* H.248.70 */
+ { 0x00f4, "Digit Dialling Method Information for Enhanced Digitmap Detection Package" }, /* H.248.70 */
+ { 0x00f5, "Received RTCP Package " }, /* H.248.71 */
+ { 0x00f6, "RTP Cumulative Loss Package" }, /* H.248.71 */
+ { 0x00f7, "H.245 Transport Package for SPC use" }, /* H.248.72 */
+ { 0x00f8, "MONA Preference Package" }, /* H.248.72 */
+ { 0x00f9, "TDM Gain Control Package" }, /* H.248.73 */
+ { 0x00fa, "Media Start Package" }, /* H.248.74 */
+ { 0x00fb, "Trim Package" }, /* H.248.74 */
+ { 0x00fc, "Enhanced Recording Package" }, /* H.248.74 */
+ { 0x00fd, "Enhanced ASR Package" }, /* H.248.74 */
+ { 0x00fe, "Enhanced TTS Package" }, /* H.248.74 */
+ { 0x00ff, "Play Offset Control Package" }, /* H.248.74 */
+ { 0x0100, "Enhanced DTMF Detection Package" }, /* H.248.9 Revised 2009 */
+ { 0x0101, "IP Router NAT Package" }, /* H.248.64 */
+ { 0x0102, "Voice Enrolled Grammar Package" }, /* H.248.74 */
+ { 0x0103, "Filter Group Package" }, /* H.248.76 */
+ { 0x0104, "RTCP Source Description Package" }, /* H.248.71 */
+ { 0x0105, "Speaker Verification and Identification Package" }, /* H.248.74 */
+ { 0x0106, "Package Identifier Publishing and Application Package" }, /* H.248 */
+ { 0x0107, "Secure RTP Package " }, /* H.248.77 */
+ { 0x0108, "MGC Controlled Bearer Level ALG Package" }, /* H.248.78 */
+ { 0x0109, "Enhanced Revised Offer/Answer SDP Support Package" }, /* H.248.80 */
+ { 0x010a, "Enhanced SDP Media Capabilities Negotiation Support Package" }, /* H.248.80 */
+ { 0x8000, "Ericsson IU" },
+ { 0x8001, "Ericsson UMTS and GSM Circuit" },
+ { 0x8002, "Ericsson Tone Generator Package" },
+ { 0x8003, "Ericsson Line Test Package" },
+ { 0x8004, "Nokia Advanced TFO Package" },
+ { 0x8005, "Nokia IWF Package" },
+ { 0x8006, "Nokia Root Package" },
+ { 0x8007, "Nokia Trace Package" },
+ { 0x8008, "Ericsson V5.2 Layer" },
+ { 0x8009, "Ericsson Detailed Termination Information Package" },
+ { 0x800a, "Nokia Bearer Characteristics Package" },
+ { 0x800b, "Nokia Test Call Package" },
+ { 0x800c, "Nokia Extended Continuity Package" },
+ { 0x800d, "Nokia IPnwR Package" },
+ { 0x800e, "Ericsson Tracing Enhancements Package" },
+ { 0x800f, "Ericsson Partially Wildcarded TerminationID Package" },
+ { 0x8010, "SCTP Stream Handling Package" },
+ {0, NULL}
+};
+
+/*
+ * This table consist of PackageName + EventName and its corresponding string
+ *
+ */
+static const value_string base_event_name_vals[] = {
+ { 0x00000000, "Media stream properties H.248.1 Annex C" },
+ { 0x00010000, "g H.248.1 Annex E" },
+ { 0x00010001, "g/Cause" },
+ { 0x00010002, "g/Signal Completion" },
+ { 0x00040000, "tonedet H.248.1 Annex E" },
+ { 0x00040001, "tonedet/std(Start tone detected)" },
+ { 0x00040002, "tonedet/etd(End tone detected)" },
+ { 0x00040003, "tonedet/ltd(Long tone detected)" },
+ { 0x00060000, "dd H.248.1 Annex E" },
+ { 0x00060001, "dd/std" },
+ { 0x00060002, "dd/etd" },
+ { 0x00060003, "dd/ltd" },
+ { 0x00060004, "dd, DigitMap Completion Event" },
+ { 0x00060010, "dd/d0, DTMF character 0" },
+ { 0x00060011, "dd/d1, DTMF character 1" },
+ { 0x00060012, "dd/d2, DTMF character 2" },
+ { 0x00060013, "dd/d3, DTMF character 3" },
+ { 0x00060014, "dd/d4, DTMF character 4" },
+ { 0x00060015, "dd/d5, DTMF character 5" },
+ { 0x00060016, "dd/d6, DTMF character 6" },
+ { 0x00060017, "dd/d7, DTMF character 7" },
+ { 0x00060018, "dd/d8, DTMF character 8" },
+ { 0x00060019, "dd/d9, DTMF character 9" },
+ { 0x0006001a, "dd/a, DTMF character A" },
+ { 0x0006001b, "dd/b, DTMF character B" },
+ { 0x0006001c, "dd/c, DTMF character C" },
+ { 0x0006001d, "dd/d, DTMF character D" },
+ { 0x00060020, "dd/" "*, DTMF character *" }, /* XXX: hack so checkAPIs & etc won't see a 'start of comment' */
+ { 0x00060021, "dd/#, DTMF character #" },
+ { 0x00080030, "cd, Dial Tone" },
+ { 0x00080031, "cd, Ringing Tone" },
+ { 0x00080032, "cd, Busy Tone" },
+ { 0x00080033, "cd, Congestion Tone" },
+ { 0x00080034, "cd, Special Information Tone" },
+ { 0x00080035, "cd, (Recording) Warning Tone" },
+ { 0x00080036, "cd, Payphone Recognition Tone" },
+ { 0x00080037, "cd, Call Waiting Tone" },
+ { 0x00080038, "cd, Caller Waiting Tone" },
+ { 0x00090004, "al, onhook" },
+ { 0x00090005, "al, offhook" },
+ { 0x00090006, "al, flashhook" },
+ { 0x0009ffff, "al, *" },
+ { 0x000a0005, "ct, Completion of Continuity test" },
+ { 0x000b0005, "nt, network failure" },
+ { 0x000b0006, "nt, quality alert" },
+ { 0x000c0001, "rtp, Payload Transition" },
+ { 0x00210000, "Generic Bearer Connection Q.1950 Annex A" },
+ { 0x00210001, "GB/BNCChange" },
+ { 0x00220001, "BT/TIND (Tunnel Indication)" },
+ { 0x002a0001, "H.245/h245msg (Incoming H.245 Message)" },
+ { 0x002a0004, "H.245/h245ChC (H.245 Channel Closed)" },
+ { 0x00450000, "Inactivity Timer H.248.14" },
+ { 0x00450001, "it/ito" },
+ { 0x00450002, "it/ito" },
+ { 0x00460001, "threegmlc/mod_link_supp (Bearer Modification Support Event)" },
+ { 0x00980000, "Hanging Termination Package" },
+ { 0x00980001, "Termination Heartbeat" },
+ { 0x800a0000, "Nokia Bearer Characteristics Package" },
+ {0, NULL}
+};
+
+/*
+ * This table consist of PackageName + SignalName and its corresponding string
+ */
+static const value_string base_signal_name_vals[] = {
+ { 0x00000000, "Media stream properties H.248.1 Annex C" },
+ { 0x00010000, "g H.248.1 Annex E" },
+ { 0x00030001, "tonegen/pt(Play tone)" },
+ { 0x00050010, "dg, DTMF character 0" },
+ { 0x00050011, "dg, DTMF character 1" },
+ { 0x00050012, "dg, DTMF character 2" },
+ { 0x00050013, "dg, DTMF character 3" },
+ { 0x00050014, "dg, DTMF character 4" },
+ { 0x00050015, "dg, DTMF character 5" },
+ { 0x00050016, "dg, DTMF character 6" },
+ { 0x00050017, "dg, DTMF character 7" },
+ { 0x00050018, "dg, DTMF character 8" },
+ { 0x00050019, "dg, DTMF character 9" },
+ { 0x0005001a, "dg, DTMF character A" },
+ { 0x0005001b, "dg, DTMF character B" },
+ { 0x0005001c, "dg, DTMF character C" },
+ { 0x0005001d, "dg, DTMF character D" },
+ { 0x00050020, "dg, DTMF character *" },
+ { 0x00050021, "dg, DTMF character #" },
+ { 0x00070030, "cg, Dial Tone" },
+ { 0x00070031, "cg/rt (Ringing Tone)" },
+ { 0x00070032, "cg, Busy Tone" },
+ { 0x00070033, "cg, Congestion Tone" },
+ { 0x00070034, "cg, Special Information Tone" },
+ { 0x00070035, "cg, (Recording) Warning Tone" },
+ { 0x00070036, "cg, Payphone Recognition Tone" },
+ { 0x00070037, "cg, Call Waiting Tone" },
+ { 0x00070038, "cg, Caller Waiting Tone" },
+ { 0x00090002, "al, ring" },
+ { 0x0009ffff, "al, *" },
+ { 0x000a0003, "ct, Continuity test" },
+ { 0x000a0004, "ct, Continuity respond" },
+ { 0x00210000, "GB Generic Bearer Connection Q.1950 Annex A" },
+ { 0x00210001, "GB/EstBNC(Establish BNC)" },
+ { 0x00210002, "GB/ModBNC (Modify BNC)" },
+ { 0x00210003, "GB/RelBNC(Release BNC)" },
+ { 0x002a0001, "H.245/cs (channel state)" },
+ { 0x002a0002, "H.245/termtype (Terminal Type)" },
+ { 0x002c0001, "H.324/cmod (Communication mode)" },
+ { 0x002c0002, "H.324/muxlv (Highest Multiplexing level)" },
+ { 0x002c0003, "H.324/demux (Demultiplex)" },
+ { 0x002c0004, "H.324/h223capr (Remote H.223 capability)" },
+ { 0x002c0005, "H.324/muxtbl_in (Incoming Multiplex Table)" },
+ { 0x002c0006, "H.324/muxtbl_out (Outgoing Multiplex Table)" },
+ { 0x800a0000, "Nokia Bearer Characteristics Package" },
+ {0, NULL}
+};
+
+
+static const value_string h248_reasons[] = {
+ { 400, "Syntax error in message"},
+ { 401, "Protocol Error"},
+ { 402, "Unauthorized"},
+ { 403, "Syntax error in transaction request"},
+ { 406, "Version Not Supported"},
+ { 410, "Incorrect identifier"},
+ { 411, "The transaction refers to an unknown ContextId"},
+ { 412, "No ContextIDs available"},
+ { 413, "Number of transactions in message exceeds maximum"}, /* [H.248.8 (08/07)] */
+ { 421, "Unknown action or illegal combination of actions"},
+ { 422, "Syntax Error in Action"},
+ { 430, "Unknown TerminationID"},
+ { 431, "No TerminationID matched a wildcard"},
+ { 432, "Out of TerminationIDs or No TerminationID available"},
+ { 433, "TerminationID is already in a Context"},
+ { 434, "Max number of Terminations in a Context exceeded"},
+ { 435, "Termination ID is not in specified Context"},
+ { 440, "Unsupported or unknown Package"},
+ { 441, "Missing Remote or Local Descriptor"},
+ { 442, "Syntax Error in Command"},
+ { 443, "Unsupported or Unknown Command"},
+ { 444, "Unsupported or Unknown Descriptor"},
+ { 445, "Unsupported or Unknown Property"},
+ { 446, "Unsupported or Unknown Parameter"},
+ { 447, "Descriptor not legal in this command"},
+ { 448, "Descriptor appears twice in a command"},
+ { 449, "Unsupported or Unknown Parameter or Property Value"},
+ { 450, "No such property in this package"},
+ { 451, "No such event in this package"},
+ { 452, "No such signal in this package"},
+ { 453, "No such statistic in this package"},
+ { 454, "No such parameter value in this package"},
+ { 455, "Property illegal in this Descriptor"},
+ { 456, "Property appears twice in this Descriptor"},
+ { 457, "Missing parameter in signal or event"},
+ { 458, "Unexpected Event/Request ID"},
+ { 459, "Unsupported or Unknown Profile"},
+ { 460, "Unable to set statistic on stream"},
+ { 461, "Unsupported or Unknown Profile"}, /*[H.248.18] */
+
+ { 471, "Implied Add for Multiplex failure"},
+ { 472, "Required Information Missing"}, /*[H.248.8 (08/07)] */
+ { 473, "Conflicting Property Values"}, /*[H.248.8 (08/07)] */
+ { 474, "Invalid SDP Syntax"}, /*[H.248.49] */
+ { 475, "Unable to pause the playout of the signal"}, /*[H.248.66] */
+ { 476, "Unable to adjust the data delivery speed of the Signal"}, /*[H.248.66] */
+
+ { 477, "Unable to adjust the playback relative scale of the signal"}, /*[H.248.66] */
+
+ { 478, "Behaviour Contradicts Resource Rule"}, /*[H.248.63] */
+
+ { 500, "Internal software Failure in MG"},
+ { 501, "Not Implemented"},
+ { 502, "Not ready"},
+ { 503, "Service Unavailable"},
+ { 504, "Command Received from unauthorized entity"},
+ { 505, "Transaction Request Received before a Service Change Reply has been received"},
+ { 506, "Number of Transaction Pendings Exceeded"},
+ { 510, "Insufficient resources"},
+ { 511, "Temporarily Busy"}, /* [H.248.8 (08/07)] */
+ { 512, "Media Gateway unequipped to detect requested Event"},
+ { 513, "Media Gateway unequipped to generate requested Signals"},
+ { 514, "Media Gateway cannot send the specified announcement"},
+ { 515, "Unsupported Media Type"},
+ { 517, "Unsupported or invalid mode"},
+ { 518, "Event buffer full"},
+ { 519, "Out of space to store digit map"},
+ { 520, "Digit Map undefined in the MG"},
+ { 521, "Termination is ServiceChanging"},
+ { 522, "Functionality Requested in Topology Triple Not Supported"},
+ { 526, "Insufficient bandwidth"},
+ { 529, "Internal hardware failure in MG"},
+ { 530, "Temporary Network failure"},
+ { 531, "Permanent Network failure"},
+ { 532, "Audited Property, Statistic, Event or Signal does not exist"},
+ { 533, "Response exceeds maximum transport PDU size"},
+ { 534, "Illegal write or read only property"},
+ { 540, "Unexpected initial hook state"},
+ { 541, "Unexpected Spare Bit State"}, /* [H.248.33] */
+ { 542, "Command is not allowed on this termination"},
+ { 543, "MGC requested event detection timestamp not supported"}, /* [H.248.8 (08/07)] */
+ { 581, "Does Not Exist"},
+ { 600, "Illegal syntax within an announcement specification"},
+ { 601, "Variable type not supported"},
+ { 602, "Variable value out of range"},
+ { 603, "Category not supported"},
+ { 604, "Selector type not supported"},
+ { 605, "Selector value not supported"},
+ { 606, "Unknown segment ID"},
+ { 607, "Mismatch between play specification and provisioned data"},
+ { 608, "Provisioning error"},
+ { 609, "Invalid offset"},
+ { 610, "No free segment IDs"},
+ { 611, "Temporary segment not found"},
+ { 612, "Segment in use"},
+ { 613, "ISP port limit overrun"},
+ { 614, "No modems available"},
+ { 615, "Calling number unacceptable"},
+ { 616, "Called number unacceptable"},
+ { 617, "Reserved for H.248.9 return code"}, /* [H.248.9] */
+ { 618, "Reserved for H.248.9 return code"}, /* [H.248.9] */
+ { 622, "Reserved for H.248.9 return code"}, /* [H.248.9] */
+ { 623, "Reserved for H.248.9 return code"}, /* [H.248.9] */
+ { 624, "Reserved for H.248.9 return code"}, /* [H.248.9] */
+ { 625, "Reserved for H.248.9 return code"}, /* [H.248.9 Amendment 1] */
+ { 626, "Reserved for H.248.9 return code"}, /* [H.248.9 Amendment 1] */
+ { 627, "Reserved for H.248.9 return code"}, /* [H.248.9 Amendment 1] */
+ { 628, "Reserved for H.248.9 return code"}, /* [H.248.9 Amendment 1] */
+ { 629, "Reserved for H.248.9 return code"}, /* [H.248.9 Amendment 1] */
+ { 700, "Sieve Script Syntax Error"}, /* [H.248.69] */
+ { 701, "Unsupported Sieve Require Error"}, /* [H.248.69] */
+ { 702, "Sieve Actions Exceeded Error"}, /* [H.248.69] */
+
+ { 900, "Service Restored"},
+ { 901, "Cold Boot"},
+ { 902, "Warm Boot"},
+ { 903, "MGC Directed Change"},
+ { 904, "Termination malfunctioning"},
+ { 905, "Termination taken out of service"},
+ { 906, "Loss of lower layer connectivity (e.g. downstream sync)"},
+ { 907, "Transmission Failure"},
+ { 908, "MG Impending Failure"},
+ { 909, "MGC Impending Failure"},
+ { 910, "Media Capability Failure"},
+ { 911, "Modem Capability Failure"},
+ { 912, "Mux Capability Failure"},
+ { 913, "Signal Capability Failure"},
+ { 914, "Event Capability Failure"},
+ { 915, "State Loss"},
+ { 916, "Packages Change"},
+ { 917, "Capabilities Change"},
+ { 918, "Cancel Graceful"},
+ { 919, "Warm Failover"},
+ { 920, "Cold Failover"},
+ {0,NULL}
+};
+static value_string_ext h248_reasons_ext = VALUE_STRING_EXT_INIT(h248_reasons);
+
+static const value_string wildcard_modes[] = {
+ { 0, "Choose" },
+ { 1, "All" },
+ { 0, NULL }
+};
+
+static const value_string wildcard_levels[] = {
+ { 0, "This One Level" },
+ { 1, "This Level and those below" },
+ { 0, NULL }
+};
+
+static h248_curr_info_t curr_info = {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};
+static guint32 error_code;
+static guint32 h248_version = 0; /* h248v1 support */
+static gcp_wildcard_t wild_term;
+static guint8 wild_card = 0xFF; /* place to store wildcardField */
+
+ /* Call the export PDU tap with relevant data */
+static void
+export_h248_pdu(packet_info *pinfo, tvbuff_t *tvb)
+{
+ if (have_tap_listener(exported_pdu_tap)) {
+ exp_pdu_data_t *exp_pdu_data = export_pdu_create_common_tags(pinfo, "h248", EXP_PDU_TAG_DISSECTOR_NAME);
+
+ exp_pdu_data->tvb_captured_length = tvb_captured_length(tvb);
+ exp_pdu_data->tvb_reported_length = tvb_reported_length(tvb);
+ exp_pdu_data->pdu_tvb = tvb;
+
+ tap_queue_packet(exported_pdu_tap, pinfo, exp_pdu_data);
+ }
+}
+
+extern void h248_param_ber_integer(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, int hfid, h248_curr_info_t* u _U_, void* implicit) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_ber_integer(implicit ? *((bool*)implicit) : FALSE, &asn1_ctx, tree, tvb, 0, hfid, NULL);
+}
+
+extern void h248_param_ber_octetstring(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, int hfid, h248_curr_info_t* u _U_, void* implicit) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_ber_octet_string(implicit ? *((bool*)implicit) : FALSE, &asn1_ctx, tree, tvb, 0, hfid, NULL);
+}
+
+extern void h248_param_ber_boolean(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, int hfid, h248_curr_info_t* u _U_, void* implicit) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_ber_boolean(implicit ? *((bool*)implicit) : FALSE, &asn1_ctx, tree, tvb, 0, hfid, NULL);
+}
+
+extern void h248_param_bytes_item(proto_tree* tree,
+ tvbuff_t* tvb,
+ packet_info* pinfo _U_,
+ int hfid,
+ h248_curr_info_t* h248_info _U_,
+ void* lenp ) {
+ int len = lenp ? *((int*)lenp) : -1;
+ proto_tree_add_item(tree,hfid,tvb,0,len,ENC_NA);
+}
+
+extern void h248_param_uint_item(proto_tree* tree,
+ tvbuff_t* tvb,
+ packet_info* pinfo _U_,
+ int hfid,
+ h248_curr_info_t* h248_info _U_,
+ void* lenp ) {
+ int len = lenp ? *((int*)lenp) : -1;
+ proto_tree_add_item(tree,hfid,tvb,0,len,ENC_BIG_ENDIAN);
+}
+
+extern void h248_param_external_dissector(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo , int hfid _U_, h248_curr_info_t* u _U_, void* dissector_hdl) {
+ call_dissector((dissector_handle_t) dissector_hdl,tvb,pinfo,tree);
+}
+
+
+static const h248_package_t no_package = { 0xffff, &hf_h248_no_pkg, &ett_h248_no_pkg, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
+static const h248_pkg_sig_t no_signal = { 0, &hf_h248_no_sig, &ett_h248_no_sig, NULL, NULL };
+static const h248_pkg_param_t no_param = { 0, &hf_h248_param, h248_param_uint_item, NULL };
+static const h248_pkg_evt_t no_event = { 0, &hf_h248_no_evt, &ett_h248_no_evt, NULL, NULL };
+
+const h248_package_t *find_package_id(guint16 pkgid);
+static wmem_tree_t* packages = NULL;
+
+extern void h248_param_PkgdName(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo , int hfid _U_, h248_curr_info_t* u1 _U_, void* u2 _U_) {
+ tvbuff_t *new_tvb = NULL;
+ proto_tree *package_tree=NULL;
+ guint16 name_major, name_minor;
+ const h248_package_t* pkg = NULL;
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ offset = dissect_ber_octet_string(FALSE, &asn1_ctx, tree, tvb, offset, hfid , &new_tvb);
+
+ if (new_tvb) {
+ /* this field is always 4 bytes so just read it into two integers */
+ name_major=tvb_get_ntohs(new_tvb, 0);
+ name_minor=tvb_get_ntohs(new_tvb, 2);
+ pkg = find_package_id(name_major);
+ /* do the prettification */
+ proto_item_append_text(asn1_ctx.created_item, " %s (%04x)",
+ val_to_str_const(0, pkg->param_names, "Unknown Package"),
+ name_major);
+
+ if(tree){
+ proto_item* pi;
+ const gchar* strval;
+
+ package_tree = proto_item_add_subtree(asn1_ctx.created_item, ett_packagename);
+ proto_tree_add_uint_format(package_tree, hf_h248_pkg_name, tvb, offset-4, 2, name_major,
+ "%s (0x%04x)", val_to_str_const(0, pkg->param_names, "Unknown Package"), name_major);
+
+ pi = proto_tree_add_uint(package_tree, hf_248_pkg_param, tvb, offset-2, 2, name_minor);
+
+ if (pkg->signal_names && ( strval = try_val_to_str(name_minor, pkg->signal_names) )) {
+ strval = wmem_strdup_printf(pinfo->pool, "%s (%d)",strval,name_minor);
+ } else {
+ strval = wmem_strdup_printf(pinfo->pool, "Unknown (%d)",name_minor);
+ }
+
+ proto_item_set_text(pi,"Signal ID: %s", strval);
+ }
+
+ }
+}
+
+
+static int dissect_h248_trx_id(bool implicit_tag, packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, guint32* trx_id_p) {
+ guint64 trx_id = 0;
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ guint32 len;
+ guint32 i;
+
+ if(!implicit_tag){
+ offset=dissect_ber_identifier(pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset=dissect_ber_length(pinfo, tree, tvb, offset, &len, NULL);
+ } else {
+ len=tvb_reported_length_remaining(tvb, offset);
+ }
+
+
+ if (len > 8 || len < 1) {
+ THROW(BoundsError);
+ } else {
+ for(i=1;i<=len;i++){
+ trx_id=(trx_id<<8)|tvb_get_guint8(tvb, offset);
+ offset++;
+ }
+ if (trx_id > 0xffffffff) {
+ proto_item* pi = proto_tree_add_uint64(tree, hf_h248_transactionId64, tvb, offset-len, len, trx_id);
+ expert_add_info(pinfo, pi, &ei_h248_transactionId64);
+
+ *trx_id_p = 0;
+
+ } else {
+ proto_tree_add_uint(tree, hf_h248_transactionId, tvb, offset-len, len, (guint32)trx_id);
+ *trx_id_p = (guint32)trx_id;
+ }
+ }
+
+ return offset;
+}
+
+static int dissect_h248_ctx_id(bool implicit_tag, packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, guint32* ctx_id_p) {
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ guint32 len;
+ guint64 ctx_id = 0;
+ guint32 i;
+
+ if(!implicit_tag){
+ offset=dissect_ber_identifier(pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset=dissect_ber_length(pinfo, tree, tvb, offset, &len, NULL);
+ } else {
+ len=tvb_reported_length_remaining(tvb, offset);
+ }
+
+
+ if (len > 8 || len < 1) {
+ THROW(BoundsError);
+ } else {
+ for(i=1;i<=len;i++){
+ ctx_id=(ctx_id<<8)|tvb_get_guint8(tvb, offset);
+ offset++;
+ }
+
+ if (ctx_id > 0xffffffff) {
+ proto_item* pi = proto_tree_add_uint64(tree, hf_h248_context_id64, tvb, offset-len, len, ctx_id);
+ expert_add_info(pinfo, pi, &ei_h248_context_id64);
+
+ *ctx_id_p = 0xfffffffd;
+
+ } else {
+ proto_item* pi = proto_tree_add_uint(tree, hf_h248_context_id, tvb, offset-len, len, (guint32)ctx_id);
+
+ if ( ctx_id == NULL_CONTEXT ) {
+ proto_item_set_text(pi,"contextId: Null Context(0)");
+ } else if ( ctx_id == CHOOSE_CONTEXT ) {
+ proto_item_set_text(pi,"contextId: $ (Choose Context = 0xfffffffe)");
+ } else if ( ctx_id == ALL_CONTEXTS ) {
+ proto_item_set_text(pi,"contextId: * (All Contexts = 0xffffffff)");
+ }
+
+ *ctx_id_p = (guint32) ctx_id;
+ }
+ }
+
+ return offset;
+}
+
+static s_h248_package_t *s_find_package_id(guint16 pkgid) {
+ s_h248_package_t *s_pkg = NULL;
+ s_pkg = (s_h248_package_t *)wmem_tree_lookup32(packages, (guint32)(pkgid));
+ return s_pkg;
+}
+
+const h248_package_t *find_package_id(guint16 pkgid) {
+ s_h248_package_t *s_pkg = NULL;
+ s_pkg = s_find_package_id(pkgid); /*(packages, GUINT_TO_POINTER((guint32)(pkgid))); */
+ if (! s_pkg ) return &no_package;
+ return s_pkg->pkg;
+}
+
+static gboolean is_pkg_default(guint16 pkgid) {
+ s_h248_package_t *s_pkg = NULL;
+ s_pkg = (s_h248_package_t *)wmem_tree_lookup32(packages, (guint32)(pkgid));
+ if(! s_pkg ) return TRUE;
+ return s_pkg->is_default;
+}
+
+void h248_register_package(h248_package_t* pkg, pkg_reg_action reg_action) {
+ h248_package_t *pkg_found = NULL, *pkg_high = NULL, *pkg_low = NULL;
+ s_h248_package_t *s_pkg = NULL;
+ value_string *vst;
+ gboolean pkg_default = FALSE;
+ gint j = 0, idx = 0, i = 0, k = 0;
+ if (! packages) {
+ /* no packaegs are yet registerd so create tree and add default packages to tree
+ */
+ packages = wmem_tree_new(wmem_epan_scope()); /* init tree if no entries */
+ while (base_package_name_vals[i].strptr != NULL) {
+ pkg_found = wmem_new0(wmem_epan_scope(), h248_package_t); /* create a h248 package structure */
+ pkg_found->id = base_package_name_vals[i].value;
+ vst = (value_string *)wmem_alloc0(wmem_epan_scope(), sizeof(value_string)*2);
+ vst[0].strptr = base_package_name_vals[i].strptr;
+ pkg_found->param_names = vst;
+ pkg_found->hfid = &hf_h248_pkg_name;
+ pkg_found->ett = &ett_packagename;
+ try_val_to_str_idx((pkg_found->id)<<16,base_event_name_vals, &j);
+ /* now look for events and signals that may be defined for package. If found, create value_strings */
+ if (j != -1) {
+ j++; idx=j;
+ while((base_event_name_vals[j].strptr!=NULL) && (((base_event_name_vals[j].value)>>16) == (pkg_found->id))) {
+ j++;
+ };
+ if (idx < j) {
+ vst = (value_string *)wmem_alloc0(wmem_epan_scope(), sizeof(value_string)*(j-idx+1));
+ for (k=0;idx<j;k++) {
+ vst[k].strptr = base_event_name_vals[idx].strptr;
+ vst[k].value = (base_event_name_vals[idx].value & 0xffff);
+ idx++;
+ };
+ pkg_found->event_names = vst;
+ }
+ }
+ /* now look at signals */
+ if (!try_val_to_str_idx((pkg_found->id)<<16, base_signal_name_vals, &j)) {
+ j++; idx=j;
+ while((base_signal_name_vals[j].strptr != NULL) && ((base_signal_name_vals[j].value>>16) == (pkg_found->id))) {
+ j++;
+ };
+ if (idx < j) {
+ vst = (value_string *)wmem_alloc0(wmem_epan_scope(), sizeof(value_string)*(j-idx+1));
+ for (k=0;idx<j;k++) {
+ vst[k].strptr = base_signal_name_vals[idx].strptr;
+ vst[k].value = (base_signal_name_vals[idx].value &0xffff);
+ idx++;
+ };
+ pkg_found->signal_names = vst;
+ }
+ };
+ s_pkg = wmem_new0(wmem_epan_scope(), s_h248_package_t);
+ s_pkg->is_default = TRUE;
+ s_pkg->pkg = pkg_found;
+ wmem_tree_insert32(packages, pkg_found->id, s_pkg);
+ i++;
+ };
+ pkg_found = NULL; /* reset pointer */
+ };
+ pkg_default = is_pkg_default(pkg->id);
+ if (((reg_action==REPLACE_PKG) || (reg_action==ADD_PKG)) && pkg_default) {
+ /* add/replace in tree */
+ s_pkg = wmem_new0(wmem_epan_scope(), s_h248_package_t);
+ s_pkg->is_default = FALSE;
+ s_pkg->pkg = (h248_package_t *)pkg;
+ wmem_tree_insert32(packages, pkg->id, s_pkg);
+ return;
+ };
+ if(pkg_default) reg_action = MERGE_PKG_HIGH; /* always make new package overide default */
+ s_pkg = s_find_package_id(pkg->id);
+ if (s_pkg == NULL) { /* no need to merge - package not in tree */
+ s_pkg = wmem_new0(wmem_epan_scope(), s_h248_package_t);
+ s_pkg->is_default = FALSE;
+ s_pkg->pkg = (h248_package_t *)pkg;
+ wmem_tree_insert32(packages, pkg->id, s_pkg);
+ return;
+ }
+ pkg_found = s_pkg->pkg;
+ if (reg_action==MERGE_PKG_HIGH) {
+ pkg_high = (h248_package_t *)pkg;
+ pkg_low = pkg_found;
+ };
+ if (reg_action==MERGE_PKG_LOW) {
+ pkg_high = pkg_found;
+ pkg_low = (h248_package_t *)pkg;
+ };
+ if(pkg_high) {
+ /* if h248_package_t High Priority value !NULL, replace it in the found tree entry else use current entry */
+ (pkg_high->hfid ? (pkg_found->hfid=pkg_high->hfid) : (pkg_found->hfid=pkg_low->hfid));
+ (pkg_high->ett ? (pkg_found->ett=pkg_high->ett ):( pkg_found->ett=pkg_low->ett));
+ (pkg_high->param_names ? (pkg_found->param_names=pkg_high->param_names ):( pkg_found->param_names=pkg_low->param_names));
+ (pkg_high->signal_names ? (pkg_found->signal_names=pkg_high->signal_names ):( pkg_found->signal_names=pkg_low->signal_names));
+ (pkg_high->event_names ? (pkg_found->event_names=pkg_high->event_names ):( pkg_found->event_names=pkg_low->event_names));
+ (pkg_high->stats_names ? (pkg_found->stats_names=pkg_high->stats_names ):( pkg_found->stats_names=pkg_low->stats_names));
+ (pkg_high->properties ? (pkg_found->properties=pkg_high->properties ):( pkg_found->properties=pkg_low->properties));
+ (pkg_high->signals ? (pkg_found->signals=pkg_high->signals ):( pkg_found->signals=pkg_low->signals));
+ (pkg_high->events ? (pkg_found->events=pkg_high->events ):( pkg_found->events=pkg_low->events));
+ (pkg_high->statistics ? (pkg_found->statistics=pkg_high->statistics ):( pkg_found->statistics=pkg_low->statistics));
+ s_pkg->pkg = pkg_found;
+ s_pkg->is_default = FALSE;
+ }
+}
+
+
+static guint32 packageandid;
+
+static int dissect_h248_PkgdName(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ tvbuff_t *new_tvb = NULL;
+ proto_tree *package_tree=NULL;
+ guint16 name_major, name_minor;
+ const h248_package_t* pkg = NULL;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &new_tvb);
+
+ if (new_tvb) {
+ /* this field is always 4 bytes so just read it into two integers */
+ name_major=tvb_get_ntohs(new_tvb, 0);
+ name_minor=tvb_get_ntohs(new_tvb, 2);
+ packageandid=(name_major<<16)|name_minor;
+
+ pkg = find_package_id(name_major);
+ /* do the prettification */
+ proto_item_append_text(actx->created_item, " %s (%04x)",
+ val_to_str_const(0, pkg->param_names, "Unknown Package"),
+ name_major);
+
+ if(tree){
+ package_tree = proto_item_add_subtree(actx->created_item, ett_packagename);
+ proto_tree_add_uint_format(package_tree, hf_h248_pkg_name, tvb, offset-4, 2, name_major,
+ "PkgName: %s (0x%04x)", val_to_str_const(0, pkg->param_names, "Unknown Package"), name_major);
+ }
+
+ {
+ proto_item* pi = proto_tree_add_uint(package_tree, hf_248_pkg_param, tvb, offset-2, 2, name_minor);
+ const gchar* strval;
+
+ if (pkg->param_names && ( strval = try_val_to_str(name_minor, pkg->param_names) )) {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "%s (%d)",strval,name_minor);
+ } else {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "Unknown (%d)",name_minor);
+ }
+
+ proto_item_set_text(pi,"Parameter: %s", strval);
+ }
+ } else {
+ pkg = &no_package;
+ }
+
+ curr_info.pkg = pkg;
+
+ return offset;
+}
+
+static int dissect_h248_EventName(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ tvbuff_t *new_tvb;
+ proto_tree *package_tree=NULL;
+ guint16 name_major, name_minor;
+ const h248_package_t* pkg = NULL;
+ const h248_pkg_evt_t* evt = NULL;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &new_tvb);
+
+ if (new_tvb) {
+ /* this field is always 4 bytes so just read it into two integers */
+ name_major=tvb_get_ntohs(new_tvb, 0);
+ name_minor=tvb_get_ntohs(new_tvb, 2);
+ packageandid=(name_major<<16)|name_minor;
+
+ pkg = find_package_id(name_major);
+ /* do the prettification */
+ proto_item_append_text(actx->created_item, " %s (%04x)",
+ val_to_str_const(0, pkg->param_names, "Unknown Package"),
+ name_major);
+ if(tree){
+ package_tree = proto_item_add_subtree(actx->created_item, ett_packagename);
+ }
+ proto_tree_add_uint_format(package_tree, hf_h248_pkg_name, tvb, offset-4, 2, name_major,
+ "%s (0x%04x)", val_to_str_const(0, pkg->param_names, "Unknown Package"), name_major);
+
+ curr_info.pkg = pkg;
+
+ if (pkg->events) {
+ for (evt = pkg->events; evt->hfid; evt++) {
+ if (name_minor == evt->id) {
+ break;
+ }
+ }
+
+ if (! evt->hfid) evt = &no_event;
+ } else {
+ evt = &no_event;
+ }
+
+ curr_info.evt = evt;
+
+ {
+ proto_item* pi = proto_tree_add_uint(package_tree, hf_h248_event_code, tvb, offset-2, 2, name_minor);
+ const gchar* strval;
+
+ if (pkg->event_names && ( strval = try_val_to_str(name_minor, pkg->event_names) )) {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "%s (%d)",strval,name_minor);
+ } else {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "Unknown (%d)",name_minor);
+ }
+
+ proto_item_set_text(pi,"Event ID: %s", strval);
+ }
+
+ } else {
+ curr_info.pkg = &no_package;
+ curr_info.evt = &no_event;
+ }
+
+ return offset;
+}
+
+
+
+static int dissect_h248_SignalName(bool implicit_tag , tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ tvbuff_t *new_tvb;
+ proto_tree *package_tree=NULL;
+ guint16 name_major, name_minor;
+ const h248_package_t* pkg = NULL;
+ const h248_pkg_sig_t* sig;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &new_tvb);
+
+ if (new_tvb) {
+ /* this field is always 4 bytes so just read it into two integers */
+ name_major=tvb_get_ntohs(new_tvb, 0);
+ name_minor=tvb_get_ntohs(new_tvb, 2);
+ packageandid=(name_major<<16)|name_minor;
+
+ pkg = find_package_id(name_major);
+ /* do the prettification */
+ proto_item_append_text(actx->created_item, " %s (%04x)",
+ val_to_str_const(0, pkg->param_names, "Unknown Package"),
+ name_major);
+ if(tree){
+ package_tree = proto_item_add_subtree(actx->created_item, ett_packagename);
+ }
+ proto_tree_add_uint_format(package_tree, hf_h248_pkg_name, tvb, offset-4, 2, name_major,
+ "%s (0x%04x)", val_to_str_const(0, pkg->param_names, "Unknown Package"), name_major);
+
+ if (pkg->signals) {
+ for (sig = pkg->signals; sig->hfid; sig++) {
+ if (name_minor == sig->id) {
+ break;
+ }
+ }
+
+ if (! sig->hfid) sig = &no_signal;
+
+ curr_info.pkg = pkg;
+ curr_info.sig = sig;
+ } else {
+ curr_info.pkg = &no_package;
+ curr_info.sig = &no_signal;
+ }
+
+ {
+ proto_item* pi = proto_tree_add_uint(package_tree, hf_h248_signal_code, tvb, offset-2, 2, name_minor);
+ const gchar* strval;
+
+ if (pkg->signal_names && ( strval = try_val_to_str(name_minor, pkg->signal_names) )) {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "%s (%d)",strval,name_minor);
+ } else {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "Unknown (%d)",name_minor);
+ }
+
+ proto_item_set_text(pi,"Signal ID: %s", strval);
+ }
+
+ } else {
+ curr_info.pkg = &no_package;
+ curr_info.sig = &no_signal;
+ }
+
+ return offset;
+}
+
+static int dissect_h248_PropertyID(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) {
+
+ gint8 ber_class;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+ guint16 name_minor;
+ int end_offset;
+ const h248_package_t* pkg;
+ const h248_pkg_param_t* prop;
+ tvbuff_t *next_tvb = NULL;
+
+ offset=dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
+ end_offset=offset+len;
+
+ if( (ber_class!=BER_CLASS_UNI)
+ ||(tag!=BER_UNI_TAG_OCTETSTRING) ){
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_h248_octet_string_expected, tvb, offset-2, 2,
+ "H.248 BER Error: OctetString expected but Class:%d PC:%d Tag:%d was unexpected", ber_class, pc, tag);
+ return end_offset;
+ }
+
+ next_tvb = tvb_new_subset_length(tvb,offset,len);
+
+ name_minor = packageandid & 0xffff;
+
+ pkg = (curr_info.pkg) ? curr_info.pkg : &no_package;
+
+ if (pkg->properties) {
+ for (prop = pkg->properties; prop && prop->hfid; prop++) {
+ if (name_minor == prop->id) {
+ break;
+ }
+ }
+ } else {
+ prop = &no_param;
+ }
+ if (prop && prop->hfid && prop->dissector) {
+ prop->dissector(tree, next_tvb, actx->pinfo, *(prop->hfid), &curr_info, prop->data);
+ }
+
+ return end_offset;
+}
+
+
+
+static int dissect_h248_SigParameterName(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) {
+ tvbuff_t *next_tvb;
+ guint32 param_id = 0xffffffff;
+ const h248_pkg_param_t* sigpar;
+ const gchar* strval;
+ proto_item* pi;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &next_tvb);
+ pi = actx->created_item;
+
+ switch(tvb_reported_length(next_tvb)) {
+ case 4: param_id = tvb_get_ntohl(next_tvb,0); break;
+ case 3: param_id = tvb_get_ntoh24(next_tvb,0); break;
+ case 2: param_id = tvb_get_ntohs(next_tvb,0); break;
+ case 1: param_id = tvb_get_guint8(next_tvb,0); break;
+ default: break;
+ }
+
+ curr_info.par = &no_param;
+
+ if (curr_info.sig && curr_info.sig->parameters) {
+ for(sigpar = curr_info.sig->parameters; sigpar->hfid; sigpar++) {
+ if (sigpar->id == param_id) {
+ curr_info.par = sigpar;
+ break;
+ }
+ }
+ }
+
+ if (curr_info.sig && curr_info.sig->param_names && ( strval = try_val_to_str(param_id, curr_info.sig->param_names) )) {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "%s (%d)",strval,param_id);
+ } else {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "Unknown (%d)",param_id);
+ }
+
+ proto_item_set_text(pi,"Parameter: %s", strval);
+
+ return offset;
+}
+
+static int dissect_h248_SigParamValue(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) {
+ int end_offset;
+ gint8 ber_class;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+ tvbuff_t *next_tvb = NULL;
+
+ offset=dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
+ end_offset=offset+len;
+
+ if( (ber_class!=BER_CLASS_UNI)
+ ||(tag!=BER_UNI_TAG_OCTETSTRING) ){
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_h248_octet_string_expected, tvb, offset-2, 2,
+ "H.248 BER Error: OctetString expected but Class:%d PC:%d Tag:%d was unexpected", ber_class, pc, tag);
+ return end_offset;
+ }
+
+ next_tvb = tvb_new_subset_length(tvb,offset,len);
+
+ if ( curr_info.par && curr_info.par->dissector) {
+ curr_info.par->dissector(tree, next_tvb, actx->pinfo, *(curr_info.par->hfid), &curr_info, curr_info.par->data);
+ }
+
+ return end_offset;
+}
+
+static int dissect_h248_SigParamValueV1(bool implicit_tag _U_, tvbuff_t *tvb, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) {
+ return dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+}
+
+
+static int dissect_h248_EventParameterName(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) {
+ tvbuff_t *next_tvb;
+ guint32 param_id = 0xffffffff;
+ const h248_pkg_param_t* evtpar;
+ const gchar* strval;
+ proto_item* pi;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &next_tvb);
+ pi = actx->created_item;
+
+ if (next_tvb) {
+ switch(tvb_reported_length(next_tvb)) {
+ case 4: param_id = tvb_get_ntohl(next_tvb,0); break;
+ case 3: param_id = tvb_get_ntoh24(next_tvb,0); break;
+ case 2: param_id = tvb_get_ntohs(next_tvb,0); break;
+ case 1: param_id = tvb_get_guint8(next_tvb,0); break;
+ default: break;
+ }
+ }
+
+
+ curr_info.par = &no_param;
+
+ if (curr_info.evt && curr_info.evt->parameters) {
+ for(evtpar = curr_info.evt->parameters; evtpar->hfid; evtpar++) {
+ if (evtpar->id == param_id) {
+ curr_info.par = evtpar;
+ break;
+ }
+ }
+ } else {
+ curr_info.par = &no_param;
+ }
+
+ if (curr_info.evt && curr_info.evt->param_names && ( strval = try_val_to_str(param_id, curr_info.evt->param_names) )) {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "%s (%d)",strval,param_id);
+ } else {
+ strval = wmem_strdup_printf(actx->pinfo->pool, "Unknown (%d)",param_id);
+ }
+
+ proto_item_set_text(pi,"Parameter: %s", strval);
+
+
+ return offset;
+}
+
+static int dissect_h248_EventParamValue(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) {
+ tvbuff_t *next_tvb;
+ int end_offset;
+ gint8 ber_class;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+
+ offset=dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
+ end_offset=offset+len;
+
+ if( (ber_class!=BER_CLASS_UNI)
+ ||(tag!=BER_UNI_TAG_OCTETSTRING) ){
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_h248_octet_string_expected, tvb, offset-2, 2,
+ "H.248 BER Error: OctetString expected but Class:%d PC:%d Tag:%d was unexpected", ber_class, pc, tag);
+ return end_offset;
+ }
+
+ next_tvb = tvb_new_subset_length(tvb,offset,len);
+
+ if ( curr_info.par && curr_info.par->dissector) {
+ curr_info.par->dissector(tree, next_tvb, actx->pinfo, *(curr_info.par->hfid), &curr_info, curr_info.par->data);
+ }
+
+ return end_offset;
+}
+
+static int dissect_h248_EventParamValueV1(bool implicit_tag _U_, tvbuff_t *tvb, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) {
+ return dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &tvb);
+}
+
+
+static int dissect_h248_MtpAddress(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ tvbuff_t *new_tvb;
+ proto_tree *mtp_tree=NULL;
+ guint32 val;
+ int i, len, old_offset;
+
+ old_offset=offset;
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &new_tvb);
+
+ if (new_tvb) {
+ /* this field is either 2 or 4 bytes so just read it into an integer */
+ val=0;
+ len=tvb_reported_length(new_tvb);
+ for(i=0;i<len;i++){
+ val= (val<<8)|tvb_get_guint8(new_tvb, i);
+ }
+
+ /* do the prettification */
+ proto_item_append_text(actx->created_item, " NI = %d, PC = %d ( %d-%d )", val&0x03,val>>2,val&0x03,val>>2);
+ if(tree){
+ mtp_tree = proto_item_add_subtree(actx->created_item, ett_mtpaddress);
+ }
+ proto_tree_add_uint(mtp_tree, hf_h248_mtpaddress_ni, tvb, old_offset, offset-old_offset, val&0x03);
+ proto_tree_add_uint(mtp_tree, hf_h248_mtpaddress_pc, tvb, old_offset, offset-old_offset, val>>2);
+ }
+
+ return offset;
+}
+
+#define H248_TAP() do { if (keep_persistent_data && curr_info.cmd) tap_queue_packet(h248_tap, actx->pinfo, curr_info.cmd); } while(0)
+
+#include "packet-h248-fn.c"
+
+static int dissect_h248_tpkt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) {
+ dissect_tpkt_encap(tvb, pinfo, tree, h248_desegment, h248_handle);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_h248(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *h248_item;
+ asn1_ctx_t asn1_ctx;
+ h248_tree = NULL;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ curr_info.msg = NULL;
+ curr_info.trx = NULL;
+ curr_info.ctx = NULL;
+ curr_info.cmd = NULL;
+ curr_info.term = NULL;
+ curr_info.pkg = NULL;
+ curr_info.evt = NULL;
+ curr_info.sig = NULL;
+ curr_info.stat = NULL;
+ curr_info.par = NULL;
+
+ /* Check if it is actually a text-based H.248 encoding, which we
+ dissect with the "megaco" dissector in Wireshark. (Both
+ encodings are MEGACO (RFC 3015) and both are H.248.)
+ */
+ if(tvb_captured_length(tvb)>=6){
+ if(!tvb_strneql(tvb, 0, "MEGACO", 6)){
+ static dissector_handle_t megaco_handle=NULL;
+ if(!megaco_handle){
+ megaco_handle = find_dissector("megaco");
+ }
+ if(megaco_handle){
+ call_dissector(megaco_handle, tvb, pinfo, tree);
+ return tvb_captured_length(tvb);
+ }
+ }
+ {
+ proto_item *hidden_item = NULL;
+ guint32 magic_num = 0, offset = 0;
+ magic_num = tvb_get_ntohl(tvb, offset);
+ hidden_item = proto_tree_add_uint(tree, hf_248_magic_num, tvb, offset, 4, magic_num);
+ proto_item_set_hidden(hidden_item);
+ if( dissector_try_uint(subdissector_table, magic_num, tvb, pinfo, tree) ) {
+ return tvb_captured_length(tvb);
+ }
+ }
+ }
+
+ export_h248_pdu(pinfo, tvb);
+
+ /* Make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.248");
+
+ if (tree) {
+ h248_item = proto_tree_add_item(tree, proto_h248, tvb, 0, -1, ENC_NA);
+ h248_tree = proto_item_add_subtree(h248_item, ett_h248);
+ }
+
+ dissect_h248_MegacoMessage(FALSE, tvb, 0, &asn1_ctx, h248_tree, -1);
+
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_h248 ----------------------------------------------*/
+void proto_reg_handoff_h248(void);
+
+void proto_register_h248(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_248_magic_num,
+ { "Magic Number for Avaya H.248", "h248.magic_num",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL}},
+ { &hf_h248_mtpaddress_ni,
+ { "NI", "h248.mtpaddress.ni",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_mtpaddress_pc,
+ { "PC", "h248.mtpaddress.pc",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_pkg_name,
+ { "Package", "h248.package_name",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_248_pkg_param,
+ { "Parameter ID", "h248.package_paramid",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_signal_code,
+ { "Signal ID", "h248.package_signalid",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_event_code,
+ { "Event ID", "h248.package_eventid",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_event_name,
+ { "Package and Event name", "h248.event_name",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_signal_name,
+ { "Package and Signal name", "h248.signal_name",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_pkg_bcp_BNCChar_PDU,
+ { "BNCChar", "h248.package_bcp.BNCChar",
+ FT_UINT32, BASE_DEC, VALS(gcp_term_types), 0,
+ NULL, HFILL }},
+ { &hf_h248_context_id,
+ { "contextId", "h248.contextId",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ "Context ID", HFILL }},
+ { &hf_h248_term_wild_type,
+ { "Wildcard Mode", "h248.term.wildcard.mode",
+ FT_UINT8, BASE_DEC, VALS(wildcard_modes), 0x80,
+ NULL, HFILL }},
+ { &hf_h248_term_wild_level,
+ { "Wildcarding Level", "h248.term.wildcard.level",
+ FT_UINT8, BASE_DEC, VALS(wildcard_levels), 0x40,
+ NULL, HFILL }},
+ { &hf_h248_term_wild_position,
+ { "Wildcarding Position", "h248.term.wildcard.pos",
+ FT_UINT8, BASE_DEC, NULL, 0x3F,
+ NULL, HFILL }},
+
+ { &hf_h248_no_pkg,
+ { "Unknown Package", "h248.pkg.unknown",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_no_sig,
+ { "Unknown Signal", "h248.pkg.unknown.sig",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_no_evt,
+ { "Unknown Event", "h248.pkg.unknown.evt",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_param,
+ { "Parameter", "h248.pkg.unknown.param",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_h248_serviceChangeReasonStr,
+ { "ServiceChangeReasonStr", "h248.serviceChangeReasonstr",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "h248.IA5String", HFILL }},
+ { &hf_h248_context_id64,
+ { "contextId", "h248.contextId64",
+ FT_UINT64, BASE_HEX, NULL, 0,
+ "Context ID", HFILL }},
+ { &hf_h248_transactionId64,
+ { "transactionId", "h248.transactionId",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+/* h248v1 support */
+ { &hf_h248_auditValueReplyV1,
+ { "auditValueReplyV1", "h248.auditValueReplyV1",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+#include "packet-h248-hfarr.c"
+
+ GCP_HF_ARR_ELEMS("h248",h248_arrel)
+
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_h248,
+ &ett_mtpaddress,
+ &ett_packagename,
+ &ett_codec,
+ &ett_wildcard,
+ &ett_h248_no_pkg,
+ &ett_h248_no_sig,
+ &ett_h248_no_evt,
+ GCP_ETT_ARR_ELEMS(h248_arrel),
+
+#include "packet-h248-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_h248_errored_command, { "h248.errored_command", PI_RESPONSE_CODE, PI_WARN, "Errored Command", EXPFILL }},
+ { &ei_h248_transactionId64, { "h248.transactionId.error", PI_MALFORMED, PI_WARN, "Transaction ID invalid", EXPFILL }},
+ { &ei_h248_context_id64, { "h248.contextId.error", PI_MALFORMED, PI_WARN, "Context ID invalid", EXPFILL }},
+ { &ei_h248_octet_string_expected, { "h248.octet_string_expected", PI_PROTOCOL, PI_WARN, "H.248 BER Error: OctetString expected", EXPFILL }},
+ };
+
+ expert_module_t* expert_h248;
+ module_t *h248_module;
+
+ /* Register protocol */
+ proto_h248 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ h248_handle = register_dissector("h248", dissect_h248, proto_h248);
+ h248_tpkt_handle = register_dissector("h248.tpkt", dissect_h248_tpkt, proto_h248);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h248, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_h248 = expert_register_protocol(proto_h248);
+ expert_register_field_array(expert_h248, ei, array_length(ei));
+
+ subdissector_table = register_dissector_table("h248.magic_num", "H.248 Magic Num", proto_h248, FT_UINT32, BASE_HEX);
+
+ h248_module = prefs_register_protocol(proto_h248, NULL);
+ prefs_register_bool_preference(h248_module, "ctx_info",
+ "Track Context",
+ "Maintain relationships between transactions and contexts and display an extra tree showing context data",
+ &keep_persistent_data);
+ prefs_register_bool_preference(h248_module, "desegment",
+ "Desegment H.248 over TCP",
+ "Desegment H.248 messages that span more TCP segments",
+ &h248_desegment);
+
+ gcp_msgs = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+ gcp_trxs = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+ gcp_ctxs_by_trx = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+ gcp_ctxs = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+
+ h248_tap = register_tap("h248");
+}
+
+/*--- proto_reg_handoff_h248 -------------------------------------------*/
+void proto_reg_handoff_h248(void) {
+
+ dissector_add_uint("mtp3.service_indicator", MTP_SI_GCP, h248_handle);
+ h248_term_handle = find_dissector_add_dependency("h248term", proto_h248);
+ dissector_add_uint_with_preference("tcp.port", H248_PORT, h248_tpkt_handle);
+ dissector_add_uint_with_preference("udp.port", H248_PORT, h248_handle);
+
+ ss7pc_address_type = address_type_get_by_name("AT_SS7PC");
+ exported_pdu_tap = find_tap_id(EXPORT_PDU_TAP_NAME_LAYER_7);
+}
+
diff --git a/epan/dissectors/asn1/h248/packet-h248-template.h b/epan/dissectors/asn1/h248/packet-h248-template.h
new file mode 100644
index 00000000..ac32c704
--- /dev/null
+++ b/epan/dissectors/asn1/h248/packet-h248-template.h
@@ -0,0 +1,284 @@
+/* packet-h248.h
+ * Definitions for H.248/MEGACO packet dissection
+ *
+ * Ronnie Sahlberg 2004
+ * Luis Ontanon 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_H248_H
+#define PACKET_H248_H
+
+#include "ws_symbol_export.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <wsutil/nstime.h>
+
+/* Gateway Control Protocol -- Context Tracking */
+
+typedef struct _gcp_hf_ett_t {
+ struct {
+ int ctx;
+ int ctx_cmd;
+ int ctx_term;
+ int ctx_term_type;
+ int ctx_term_bir;
+ int ctx_term_nsap;
+ } hf;
+
+ struct {
+ gint ctx;
+ gint ctx_cmds;
+ gint ctx_terms;
+ gint ctx_term;
+ } ett;
+} gcp_hf_ett_t;
+
+#define NULL_CONTEXT 0
+#define CHOOSE_CONTEXT 0xFFFFFFFE
+#define ALL_CONTEXTS 0xFFFFFFFF
+
+
+typedef enum {
+ GCP_CMD_NONE,
+ GCP_CMD_ADD_REQ,
+ GCP_CMD_MOVE_REQ,
+ GCP_CMD_MOD_REQ,
+ GCP_CMD_SUB_REQ,
+ GCP_CMD_AUDITCAP_REQ,
+ GCP_CMD_AUDITVAL_REQ,
+ GCP_CMD_NOTIFY_REQ,
+ GCP_CMD_SVCCHG_REQ,
+ GCP_CMD_TOPOLOGY_REQ,
+ GCP_CMD_CTX_ATTR_AUDIT_REQ,
+ GCP_CMD_OTHER_REQ,
+ GCP_CMD_ADD_REPLY,
+ GCP_CMD_MOVE_REPLY,
+ GCP_CMD_MOD_REPLY,
+ GCP_CMD_SUB_REPLY,
+ GCP_CMD_AUDITCAP_REPLY,
+ GCP_CMD_AUDITVAL_REPLY,
+ GCP_CMD_NOTIFY_REPLY,
+ GCP_CMD_SVCCHG_REPLY,
+ GCP_CMD_TOPOLOGY_REPLY,
+ GCP_CMD_REPLY
+} gcp_cmd_type_t;
+
+typedef enum {
+ GCP_TRX_NONE,
+ GCP_TRX_REQUEST,
+ GCP_TRX_PENDING,
+ GCP_TRX_REPLY,
+ GCP_TRX_ACK
+} gcp_trx_type_t;
+
+
+typedef struct _gcp_msg_t {
+ guint32 lo_addr;
+ guint32 hi_addr;
+ guint32 framenum;
+ nstime_t frametime;
+ struct _gcp_trx_msg_t* trxs;
+ gboolean committed;
+} gcp_msg_t;
+
+typedef struct _gcp_trx_msg_t {
+ struct _gcp_trx_t* trx;
+ struct _gcp_trx_msg_t* next;
+ struct _gcp_trx_msg_t* last;
+} gcp_trx_msg_t;
+
+typedef struct _gcp_cmd_msg_t {
+ struct _gcp_cmd_t* cmd;
+ struct _gcp_cmd_msg_t* next;
+ struct _gcp_cmd_msg_t* last;
+} gcp_cmd_msg_t;
+
+typedef struct _gcp_trx_t {
+ gcp_msg_t* initial;
+ guint32 id;
+ gcp_trx_type_t type;
+ guint pendings;
+ struct _gcp_cmd_msg_t* cmds;
+ struct _gcp_trx_ctx_t* ctxs;
+ guint error;
+} gcp_trx_t;
+
+#define GCP_TERM_TYPE_UNKNOWN 0
+#define GCP_TERM_TYPE_AAL1 1
+#define GCP_TERM_TYPE_AAL2 2
+#define GCP_TERM_TYPE_AAL1_STRUCT 3
+#define GCP_TERM_TYPE_IP_RTP 4
+#define GCP_TERM_TYPE_TDM 5
+
+typedef enum _gcp_wildcard_t {
+ GCP_WILDCARD_NONE,
+ GCP_WILDCARD_CHOOSE,
+ GCP_WILDCARD_ALL
+} gcp_wildcard_t;
+
+typedef struct _gcp_term_t {
+ const gchar* str;
+
+ const guint8* buffer;
+ guint len;
+
+ guint type;
+ gchar* bir;
+ gchar* nsap;
+
+ gcp_msg_t* start;
+
+} gcp_term_t;
+
+typedef struct _gcp_terms_t {
+ gcp_term_t* term;
+ struct _gcp_terms_t* next;
+ struct _gcp_terms_t* last;
+} gcp_terms_t;
+
+typedef struct _gcp_cmd_t {
+ guint offset;
+ const gchar* str;
+ gcp_cmd_type_t type;
+ gcp_terms_t terms;
+ struct _gcp_msg_t* msg;
+ struct _gcp_trx_t* trx;
+ struct _gcp_ctx_t* ctx;
+ guint error;
+} gcp_cmd_t;
+
+
+typedef struct _gcp_ctx_t {
+ gcp_msg_t* initial;
+ guint32 id;
+ struct _gcp_cmd_msg_t* cmds;
+ struct _gcp_ctx_t* prev;
+ gcp_terms_t terms;
+} gcp_ctx_t;
+
+extern gcp_msg_t* gcp_msg(packet_info* pinfo, int o, gboolean persistent);
+extern gcp_trx_t* gcp_trx(gcp_msg_t* m ,guint32 t_id , gcp_trx_type_t type, packet_info *pinfo, gboolean persistent);
+extern gcp_ctx_t* gcp_ctx(gcp_msg_t* m, gcp_trx_t* t, guint32 c_id, packet_info *pinfo, gboolean persistent);
+extern gcp_cmd_t* gcp_cmd(gcp_msg_t* m, gcp_trx_t* t, gcp_ctx_t* c, gcp_cmd_type_t type, guint offset, packet_info *pinfo, gboolean persistent);
+extern gcp_term_t* gcp_cmd_add_term(gcp_msg_t* m, gcp_trx_t* tr, gcp_cmd_t* c, gcp_term_t* t, gcp_wildcard_t wildcard, packet_info *pinfo, gboolean persistent);
+extern void gcp_analyze_msg(proto_tree* gcp_tree, packet_info* pinfo, tvbuff_t* gcp_tvb, gcp_msg_t* m, gcp_hf_ett_t* ids, expert_field* command_err);
+
+#define GCP_ETT_ARR_ELEMS(gi) &(gi.ett.ctx),&(gi.ett.ctx_cmds),&(gi.ett.ctx_terms),&(gi.ett.ctx_term)
+
+#define GCP_HF_ARR_ELEMS(n,gi) \
+ { &(gi.hf.ctx), { "Context", n ".ctx", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, \
+ { &(gi.hf.ctx_term), { "Termination", n ".ctx.term", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, \
+ { &(gi.hf.ctx_term_type), { "Type", n ".ctx.term.type", FT_UINT32, BASE_HEX, VALS(gcp_term_types), 0, NULL, HFILL }}, \
+ { &(gi.hf.ctx_term_bir), { "BIR", n ".ctx.term.bir", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, \
+ { &(gi.hf.ctx_term_nsap), { "NSAP", n ".ctx.term.nsap", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, \
+ { &(gi.hf.ctx_cmd), { "Command in Frame", n ".ctx.cmd", FT_FRAMENUM, BASE_NONE, NULL, 0, NULL, HFILL }}
+
+WS_DLL_PUBLIC const value_string gcp_cmd_type[];
+WS_DLL_PUBLIC const value_string gcp_term_types[];
+
+extern const gchar* gcp_msg_to_str(gcp_msg_t* m, wmem_allocator_t *scope, gboolean persistent);
+
+#define gcp_cmd_set_error(c,e) (c->error = e)
+#define gcp_trx_set_error(t,e) (t->error = e)
+
+/* END Gateway Control Protocol -- Context Tracking */
+
+typedef struct _h248_curr_info_t h248_curr_info_t;
+
+typedef void (*h248_pkg_param_dissector_t)(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo _U_, int hfid, h248_curr_info_t*, void*);
+
+extern void h248_param_bytes_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
+extern void h248_param_uint_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
+WS_DLL_PUBLIC void h248_param_ber_integer(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
+extern void h248_param_ber_octetstring(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
+extern void h248_param_ber_boolean(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
+extern void external_dissector(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* dissector_handle);
+extern void h248_param_PkgdName(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo , int hfid _U_, h248_curr_info_t* u _U_, void* dissector_hdl);
+extern void h248_param_external_dissector(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo , int hfid _U_, h248_curr_info_t* u _U_, void* dissector_hdl);
+
+typedef enum {
+ ADD_PKG, /* add package at registration ONLY if no matching package ID */
+ REPLACE_PKG, /* replace/add package at registration */
+ MERGE_PKG_HIGH, /* merge h248_package_t at registration favor new package */
+ MERGE_PKG_LOW /* merge h248_package_t at registration favor current package */
+} pkg_reg_action;
+
+typedef struct _h248_pkg_param_t {
+ guint32 id;
+ int* hfid;
+ h248_pkg_param_dissector_t dissector;
+ void* data;
+} h248_pkg_param_t;
+
+typedef struct _h248_pkg_sig_t {
+ guint32 id;
+ int* hfid;
+ gint* ett;
+ const h248_pkg_param_t* parameters;
+ const value_string* param_names;
+} h248_pkg_sig_t;
+
+typedef struct _h248_pkg_evt_t {
+ guint32 id;
+ int* hfid;
+ gint* ett;
+ const h248_pkg_param_t* parameters;
+ const value_string* param_names;
+} h248_pkg_evt_t;
+
+typedef struct _h248_pkg_stat_t {
+ guint32 id;
+ int* hfid;
+ gint* ett;
+ const h248_pkg_param_t* parameters;
+ const value_string* param_names;
+} h248_pkg_stat_t;
+
+typedef struct _h248_package_t {
+ guint32 id; /**< Package ID */
+ int* hfid; /**< hfid that will display the package name */
+ gint* ett; /**< The ett for this item */
+ const value_string* param_names; /**< The parameter names, Value 00000 should be the package name */
+ const value_string* signal_names;
+ const value_string* event_names;
+ const value_string* stats_names;
+ const h248_pkg_param_t* properties;
+ const h248_pkg_sig_t* signals;
+ const h248_pkg_evt_t* events;
+ const h248_pkg_stat_t* statistics;
+} h248_package_t;
+
+typedef struct _save_h248_package_t {
+ h248_package_t *pkg;
+ gboolean is_default;
+} s_h248_package_t;
+
+struct _h248_curr_info_t {
+ gcp_ctx_t* ctx;
+ gcp_trx_t* trx;
+ gcp_msg_t* msg;
+ gcp_term_t* term;
+ gcp_cmd_t* cmd;
+ const h248_package_t* pkg;
+ const h248_pkg_evt_t* evt;
+ const h248_pkg_sig_t* sig;
+ const h248_pkg_stat_t* stat;
+ const h248_pkg_param_t* par;
+};
+
+typedef struct h248_term_info {
+ guint8 wild_card;
+ gchar *str;
+} h248_term_info_t;
+
+WS_DLL_PUBLIC
+void h248_register_package(h248_package_t* pkg, pkg_reg_action reg_action);
+
+#endif /* PACKET_H248_H */
diff --git a/epan/dissectors/asn1/h282/CMakeLists.txt b/epan/dissectors/asn1/h282/CMakeLists.txt
new file mode 100644
index 00000000..080e9ed0
--- /dev/null
+++ b/epan/dissectors/asn1/h282/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h282 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ RDC-PROTOCOL.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h282/RDC-PROTOCOL.asn b/epan/dissectors/asn1/h282/RDC-PROTOCOL.asn
new file mode 100644
index 00000000..c6ec2d8b
--- /dev/null
+++ b/epan/dissectors/asn1/h282/RDC-PROTOCOL.asn
@@ -0,0 +1,981 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h282/1999/RDC-PROTOCOL.asn
+
+-- Module RDC-PROTOCOL (H.282:02/1998)
+RDC-PROTOCOL {itu-t(0) recommendation(0) h 282 version(0) 1} DEFINITIONS
+AUTOMATIC TAGS ::=
+BEGIN
+
+-- Export all symbols
+-- ==========================================================================
+-- Part 1: Message Components
+-- ==========================================================================
+H221NonStandardIdentifier ::= OCTET STRING(SIZE (4..255))
+
+-- First four octets shall be country code and
+-- Manufacturer code, assigned as specified in
+-- H.221 Annex A for NS-cap and NS-comm
+Key ::= CHOICE -- Identifier of a standard or non-standard object
+ {
+ object OBJECT IDENTIFIER,
+ h221NonStandard H221NonStandardIdentifier
+}
+
+NonStandardParameter ::= SEQUENCE {key Key,
+ data OCTET STRING
+}
+
+Handle ::= INTEGER(0..4294967295)
+
+NonStandardIdentifier ::= CHOICE {
+ object OBJECT IDENTIFIER,
+ h221nonStandard H221NonStandardIdentifier
+}
+
+TextString ::=
+ BMPString
+ (SIZE (0..255)) -- Basic Multilingual Plane of ISO/IEC 10646-1 (Unicode)
+
+
+DeviceClass ::= CHOICE {
+ camera NULL,
+ microphone NULL,
+ streamPlayerRecorder NULL,
+ slideProjector NULL,
+ lightSource NULL,
+ sourceCombiner NULL,
+ nonStandardDevice NonStandardIdentifier
+}
+
+DeviceID ::= INTEGER(0..127)
+
+StreamID ::= INTEGER(0..65535)
+
+DeviceProfile ::= SEQUENCE {
+ deviceID DeviceID,
+ audioSourceFlag BOOLEAN,
+ audioSinkFlag BOOLEAN,
+ videoSourceFlag BOOLEAN,
+ videoSinkFlag BOOLEAN,
+ remoteControlFlag BOOLEAN,
+ instanceNumber INTEGER(0..255),
+ deviceName TextString OPTIONAL,
+ ...
+}
+
+StreamProfile ::= SEQUENCE {
+ streamID StreamID,
+ videoStreamFlag BOOLEAN,
+ sourceChangeFlag BOOLEAN,
+ streamName TextString OPTIONAL,
+ ...
+}
+
+CapabilityID ::= CHOICE {
+ standard INTEGER(0..65535), -- Assigned by this specification
+ nonStandard Key
+}
+
+NonCollapsingCapabilities ::=
+ SET OF
+ SEQUENCE {capabilityID CapabilityID,
+ applicationData
+ CHOICE {deviceList SET SIZE (0..127) OF DeviceProfile,
+ streamList SET SIZE (0..127) OF StreamProfile
+ }}
+
+--
+-- Attribute parameter types
+--
+Day ::= INTEGER(1..31)
+
+Month ::= INTEGER(1..12)
+
+Year ::= INTEGER(1980..2999)
+
+Hour ::= INTEGER(0..23)
+
+Minute ::= INTEGER(0..59)
+
+DeviceText ::= OCTET STRING(SIZE (0..32))
+
+PanPosition ::= INTEGER(-18000..18000) -- 100ths of a degree
+
+
+TiltPosition ::= INTEGER(-18000..18000) -- 100ths of a degree
+
+
+ZoomPosition ::= INTEGER(-1023..1023)
+
+IrisPosition ::= INTEGER(-127..127)
+
+FocusPosition ::= INTEGER(-127..127)
+
+CameraPanSpeed ::= INTEGER(1..18000) -- 100ths of a degree/sec
+
+
+CameraTiltSpeed ::= INTEGER(1..18000) -- 100ths of a degree/sec
+
+
+BackLight ::= INTEGER(0..255)
+
+WhiteBalance ::= INTEGER(0..255)
+
+PresetNumber ::= INTEGER(1..255)
+
+StreamPlayerState ::= CHOICE {
+ playing NULL,
+ recording NULL,
+ pausedOnRecord NULL,
+ pausedOnPlay NULL,
+ rewinding NULL,
+ fastForwarding NULL,
+ searchingForwards NULL,
+ searchingBackwards NULL,
+ stopped NULL,
+ programUnavailable NULL
+}
+
+DevicePresetCapability ::= SEQUENCE {
+ maxNumber PresetNumber,
+ presetCapability
+ SET SIZE (0..255) OF
+ SEQUENCE {presetNumber PresetNumber,
+ storeModeSupported BOOLEAN,
+ presetTextLabel DeviceText} OPTIONAL
+}
+
+CameraFilterCapability ::= SEQUENCE {
+ maxNumberOfFilters INTEGER(2..255),
+ filterTextLabel
+ SET SIZE (0..255) OF
+ SEQUENCE {filterNumber INTEGER(1..255),
+ filterTextLabel DeviceText} OPTIONAL
+}
+
+CameraLensCapability ::= SEQUENCE {
+ maxNumberOfLens INTEGER(2..255),
+ accessoryTextLabel
+ SET SIZE (0..255) OF
+ SEQUENCE {lensNumber INTEGER(1..255),
+ lensTextLabel DeviceText} OPTIONAL
+}
+
+ExternalCameraLightCapability ::= SEQUENCE {
+ maxNumber INTEGER(1..10),
+ lightTextLabel
+ SET SIZE (0..10) OF
+ SEQUENCE {lightNumber INTEGER(1..10),
+ lightLabel DeviceText} OPTIONAL
+}
+
+CameraPanSpeedCapability ::= SEQUENCE {
+ maxSpeed CameraPanSpeed,
+ minSpeed CameraPanSpeed,
+ speedStepSize CameraPanSpeed
+}
+
+CameraTiltSpeedCapability ::= SEQUENCE {
+ maxSpeed CameraTiltSpeed,
+ minSpeed CameraTiltSpeed,
+ speedStepSize CameraTiltSpeed
+}
+
+MaxBacklight ::= INTEGER(1..255)
+
+MaxWhiteBalance ::= INTEGER(1..255)
+
+MinZoomPositionSetSize ::= INTEGER(1..1023)
+
+MinFocusPositionStepSize ::= INTEGER(1..127)
+
+MinIrisPositionStepSize ::= INTEGER(1..127)
+
+PanPositionCapability ::= SEQUENCE {
+ maxLeft INTEGER(-18000..0), -- Max pan left
+ maxRight INTEGER(0..18000), -- Max pan right
+ minStepSize INTEGER(1..18000)
+}
+
+TiltPositionCapability ::= SEQUENCE {
+ maxDown INTEGER(-18000..0), -- Max tilt down
+ maxUp INTEGER(0..18000), -- Max tilt up
+ minStepSize INTEGER(1..18000)
+}
+
+MinZoomMagnificationStepSize ::= INTEGER(1..1000)
+
+MaxNumberOfSlides ::= INTEGER(1..1024)
+
+MaxSlideDisplayTime ::= INTEGER(1..255) -- Max time in seconds
+
+
+MaxNumberOfPrograms ::= INTEGER(1..1023)
+
+PlayBackSpeedCapability ::= SEQUENCE {
+ multiplierFactors SET SIZE (1..64) OF INTEGER(10..1000),
+ divisorFactors SET SIZE (1..64) OF INTEGER(10..1000)
+}
+
+VideoInputsCapability ::= SEQUENCE {
+ numberOfDeviceInputs INTEGER(2..64),
+ numberOfDeviceRows INTEGER(1..64),
+ -- The Optional Device list is only included if the inputs are configurable
+ availableDevices
+ SET SIZE (2..64) OF
+ SEQUENCE {deviceClass DeviceClass,
+ deviceIdentifier DeviceID} OPTIONAL
+}
+
+AudioInputsCapability ::= SEQUENCE {
+ numberOfDeviceInputs INTEGER(2..64),
+ -- The Optional Device list is only included if the inputs are configurable
+ availableDevices
+ SET SIZE (2..64) OF
+ SEQUENCE {deviceClass DeviceClass,
+ deviceIdentifier DeviceID} OPTIONAL
+}
+
+DeviceAttribute ::= CHOICE {
+ deviceStateSupported NULL,
+ deviceDateSupported NULL,
+ deviceTimeSupported NULL,
+ devicePresetSupported DevicePresetCapability,
+ irisModeSupported NULL,
+ focusModeSupported NULL,
+ pointingModeSupported NULL,
+ cameraLensSupported CameraLensCapability,
+ cameraFilterSupported CameraFilterCapability,
+ homePositionSupported NULL,
+ externalCameraLightSupported ExternalCameraLightCapability,
+ clearCameraLensSupported NULL,
+ cameraPanSpeedSupported CameraPanSpeedCapability,
+ cameraTiltSpeedSupported CameraTiltSpeedCapability,
+ backLightModeSupported NULL,
+ backLightSettingSupported MaxBacklight,
+ whiteBalanceSettingSupported MaxWhiteBalance,
+ whiteBalanceModeSupported NULL,
+ calibrateWhiteBalanceSupported NULL,
+ focusImageSupported NULL,
+ captureImageSupported NULL,
+ panContinuousSupported NULL,
+ tiltContinuousSupported NULL,
+ zoomContinuousSupported NULL,
+ focusContinuousSupported NULL,
+ irisContinuousSupported NULL,
+ zoomPositionSupported MinZoomPositionSetSize,
+ focusPositionSupported MinFocusPositionStepSize,
+ irisPositionSupported MinIrisPositionStepSize,
+ panPositionSupported PanPositionCapability,
+ tiltPositionSupported TiltPositionCapability,
+ zoomMagnificationSupported MinZoomMagnificationStepSize,
+ panViewSupported NULL,
+ tiltViewSupported NULL,
+ selectSlideSupported MaxNumberOfSlides,
+ selectNextSlideSupported NULL,
+ slideShowModeSupported NULL,
+ playSlideShowSupported NULL,
+ setSlideDisplayTimeSupported MaxSlideDisplayTime,
+ continuousRewindSupported NULL,
+ continuousFastForwardSupported NULL,
+ searchBackwardsSupported NULL,
+ searchForwardsSupported NULL,
+ pauseSupported NULL,
+ selectProgramSupported MaxNumberOfPrograms,
+ nextProgramSupported NULL,
+ gotoNormalPlayTimePointSupported NULL,
+ readStreamPlayerStateSupported NULL,
+ readProgramDurationSupported NULL,
+ continuousPlayBackModeSupported NULL,
+ playbackSpeedSupported PlayBackSpeedCapability,
+ playSupported NULL,
+ setAudioOutputStateSupported NULL,
+ playToNormalPlayTimePointSupported NULL,
+ recordSupported NULL,
+ recordForDurationSupported NULL,
+ configurableVideoInputsSupported VideoInputsCapability,
+ videoInputsSupported VideoInputsCapability,
+ configurableAudioInputsSupported AudioInputsCapability,
+ audioInputsSupported AudioInputsCapability,
+ -- Attributes for Device Events
+ deviceLockStateChangedSupported NULL,
+ deviceAvailabilityChangedSupported NULL,
+ cameraPannedToLimitSupported NULL,
+ cameraTiltedToLimitSupported NULL,
+ cameraZoomedToLimitSupported NULL,
+ cameraFocusedToLimitSupported NULL,
+ autoSlideShowFinishedSupported NULL,
+ streamPlayerStateChangeSupported NULL,
+ streamPlayerProgramChangeSupported NULL,
+ nonStandardAttributeSupported NonStandardParameter,
+ ...
+}
+
+DeviceState ::= CHOICE {active NULL,
+ inactive NULL
+}
+
+DeviceDate ::= SEQUENCE {day Day,
+ month Month,
+ year Year
+}
+
+DeviceTime ::= SEQUENCE {hour Hour,
+ minute Minute
+}
+
+DevicePreset ::= SEQUENCE {
+ presetNumber PresetNumber,
+ mode CHOICE {store NULL,
+ activate NULL}
+}
+
+Mode ::= CHOICE {manual NULL,
+ auto NULL
+}
+
+PointingToggle ::= CHOICE {manual NULL,
+ auto NULL,
+ toggle NULL
+}
+
+SelectExternalLight ::= CHOICE {lightNumber INTEGER(1..10),
+ none NULL
+}
+
+PanContinuous ::= SEQUENCE {
+ panDirection
+ CHOICE {left NULL,
+ right NULL,
+ stop NULL,
+ continue NULL},
+ timeOut INTEGER(50..1000) -- Milliseconds
+}
+
+TiltContinuous ::= SEQUENCE {
+ tiltDirection
+ CHOICE {up NULL,
+ down NULL,
+ stop NULL,
+ continue NULL},
+ timeOut INTEGER(50..1000) -- Milliseconds
+}
+
+ZoomContinuous ::= SEQUENCE {
+ zoomDirection
+ CHOICE {telescopic NULL,
+ wide NULL,
+ stop NULL,
+ continue NULL},
+ timeOut INTEGER(50..1000) -- Milliseconds
+}
+
+FocusContinuous ::= SEQUENCE {
+ focusDirection
+ CHOICE {near NULL,
+ far NULL,
+ stop NULL,
+ continue NULL},
+ timeOut INTEGER(50..1000) -- Milliseconds
+}
+
+IrisContinuous ::= SEQUENCE {
+ irisDirection
+ CHOICE {darker NULL,
+ lighter NULL,
+ stop NULL,
+ continue NULL},
+ timeOut INTEGER(50..1000) -- Milliseconds
+}
+
+PositioningMode ::= CHOICE {relative NULL,
+ absolute NULL
+}
+
+CameraLensNumber ::= INTEGER(1..255)
+
+CameraFilterNumber ::= INTEGER(1..255)
+
+SetZoomPosition ::= SEQUENCE {
+ zoomPosition ZoomPosition,
+ positioningMode PositioningMode
+}
+
+SetFocusPosition ::= SEQUENCE {
+ focusPosition FocusPosition,
+ positioningMode PositioningMode
+}
+
+SetIrisPosition ::= SEQUENCE {
+ irisPosition IrisPosition,
+ positioningMode PositioningMode
+}
+
+SetPanPosition ::= SEQUENCE {
+ panPosition PanPosition,
+ positioningMode PositioningMode
+}
+
+SetTiltPosition ::= SEQUENCE {
+ tiltPosition TiltPosition,
+ positioningMode PositioningMode
+}
+
+ZoomMagnification ::= INTEGER(10..1000)
+
+PanView ::= INTEGER(-1000..1000)
+
+TiltView ::= INTEGER(-1000..1000)
+
+SlideNumber ::= INTEGER(0..1023)
+
+SelectDirection ::= CHOICE {next NULL,
+ previous NULL
+}
+
+AutoSlideShowControl ::= CHOICE {start NULL,
+ stop NULL,
+ pause NULL
+}
+
+AutoSlideDisplayTime ::=
+ INTEGER(1..255) -- Automatic slide display time in seconds
+
+
+ProgramNumber ::= INTEGER(1..1023)
+
+ProgramDuration ::= SEQUENCE {
+ hours INTEGER(0..24),
+ minutes INTEGER(0..59),
+ seconds INTEGER(0..59),
+ microseconds INTEGER(0..99999)
+}
+
+PlaybackSpeed ::= SEQUENCE {
+ scaleFactor INTEGER(10..1000),
+ multiplyFactor BOOLEAN -- TRUE to multiply, FALSE to divide
+}
+
+RecordForDuration ::= SEQUENCE {
+ hours INTEGER(0..24),
+ minutes INTEGER(0..59),
+ seconds INTEGER(0..59)
+}
+
+DeviceInputs ::= SEQUENCE {
+ -- When used with the configurableVideoInputs type this device list must only contain
+ -- devices that source a video stream.
+ -- When used with the configurableAudioInputs type this device list must only contain
+ -- devices that source an audio stream.
+ inputDevices
+ SET SIZE (2..64) OF
+ SEQUENCE {deviceClass DeviceClass,
+ deviceIdentifier DeviceID}
+}
+
+ControlAttribute ::= CHOICE {
+ setDeviceState DeviceState,
+ setDeviceDate DeviceDate,
+ setDeviceTime DeviceTime,
+ setDevicePreset DevicePreset,
+ setIrisMode Mode,
+ setFocusMode Mode,
+ setBackLightMode Mode,
+ setPointingMode PointingToggle,
+ selectCameraLens CameraLensNumber,
+ selectCameraFilter CameraFilterNumber,
+ gotoHomePosition NULL,
+ selectExternalLight SelectExternalLight,
+ clearCameraLens NULL,
+ setCameraPanSpeed CameraPanSpeed,
+ setCameraTiltSpeed CameraTiltSpeed,
+ setBackLight BackLight,
+ setWhiteBalance WhiteBalance,
+ setWhiteBalanceMode Mode,
+ calibrateWhiteBalance NULL,
+ focusImage NULL,
+ captureImage NULL,
+ panContinuous PanContinuous,
+ tiltContinuous TiltContinuous,
+ zoomContinuous ZoomContinuous,
+ focusContinuous FocusContinuous,
+ setZoomPosition SetZoomPosition,
+ setFocusPosition SetFocusPosition,
+ setIrisPosition SetIrisPosition,
+ setPanPosition SetPanPosition,
+ setTiltPosition SetTiltPosition,
+ setZoomMagnification ZoomMagnification,
+ setPanView PanView,
+ setTiltView TiltView,
+ selectSlide SlideNumber,
+ selectNextSlide SelectDirection,
+ playAutoSlideShow AutoSlideShowControl,
+ setAutoSlideDisplayTime AutoSlideDisplayTime,
+ continuousRewindControl BOOLEAN, -- TRUE to start, FALSE to Stop
+ continuousFastForwardControl BOOLEAN, -- TRUE to start, FALSE to Stop
+ searchBackwardsControl BOOLEAN, -- TRUE to start, FALSE to Stop
+ searchForwardsControl BOOLEAN, -- TRUE to start, FALSE to Stop
+ pause BOOLEAN, -- TRUE to pause, FALSE to release
+ selectProgram ProgramNumber,
+ nextProgramSelect SelectDirection,
+ gotoNormalPlayTimePoint ProgramDuration,
+ continuousPlayBackMode BOOLEAN, -- TRUE to set continuous mode
+ setPlaybackSpeed PlaybackSpeed,
+ play BOOLEAN, -- TRUE to pause, FALSE to release
+ setAudioOutputMute BOOLEAN, -- TRUE to mute, FALSE to unmute
+ playToNormalPlayTimePoint ProgramDuration,
+ record BOOLEAN, -- TRUE to start, FALSE to Stop
+ recordForDuration RecordForDuration,
+ configureVideoInputs DeviceInputs, -- Device list contains Video devices
+ configureAudioInputs DeviceInputs, -- Device list contains Audio Devices
+ nonStandardControl NonStandardParameter,
+ ...
+}
+
+StatusAttributeIdentifier ::= CHOICE {
+ getDeviceState NULL,
+ getDeviceDate NULL,
+ getDeviceTime NULL,
+ getdevicePreset NULL,
+ getIrisMode NULL,
+ getFocusMode NULL,
+ getBacklightMode NULL,
+ getPointingMode NULL,
+ getCameraLens NULL,
+ getCameraFilter NULL,
+ getExternalLight NULL,
+ getCameraPanSpeed NULL,
+ getCameraTiltSpeed NULL,
+ getBackLightMode NULL,
+ getBackLight NULL,
+ getWhiteBalance NULL,
+ getWhiteBalanceMode NULL,
+ getZoomPosition NULL,
+ getFocusPosition NULL,
+ getIrisPosition NULL,
+ getPanPosition NULL,
+ getTiltPosition NULL,
+ getSelectedSlide NULL,
+ getAutoSlideDisplayTime NULL,
+ getSelectedProgram NULL,
+ getStreamPlayerState NULL,
+ getCurrentProgramDuration NULL,
+ getPlaybackSpeed NULL,
+ getAudioOutputState NULL,
+ getConfigurableVideoInputs NULL,
+ getVideoInputs NULL,
+ getConfigurableAudioInputs NULL,
+ getAudioInputs NULL,
+ getNonStandardStatus NonStandardIdentifier,
+ ...
+}
+
+CurrentDeviceState ::= CHOICE {deviceState DeviceState,
+ unknown NULL
+}
+
+CurrentDeviceDate ::= SEQUENCE {
+ currentDay CHOICE {day Day,
+ unknown NULL},
+ currentMonth CHOICE {month Month,
+ unknown NULL},
+ currentYear CHOICE {year Year,
+ unknown NULL}
+}
+
+CurrentDeviceTime ::= SEQUENCE {
+ currentHour CHOICE {hour Hour,
+ unknown NULL},
+ currentMinute CHOICE {minute Minute,
+ unknown NULL}
+}
+
+CurrentDevicePreset ::= CHOICE {preset PresetNumber,
+ unknown NULL
+}
+
+CurrentMode ::= CHOICE {mode Mode,
+ unknown NULL
+}
+
+CurrentPointingMode ::= CHOICE {
+ automatic NULL,
+ manual NULL,
+ unknown NULL
+}
+
+CurrentCameraLensNumber ::= CHOICE {
+ lensNumber CameraLensNumber,
+ unknown NULL
+}
+
+CurrentCameraFilterNumber ::= CHOICE {
+ lensNumber CameraFilterNumber,
+ unknown NULL
+}
+
+CurrentExternalLight ::= CHOICE {
+ lightNumber INTEGER(1..10),
+ none NULL,
+ unknown NULL
+}
+
+CurrentCameraPanSpeed ::= CHOICE {speed CameraPanSpeed,
+ unknown NULL
+}
+
+CurrentCameraTiltSpeed ::= CHOICE {speed CameraTiltSpeed,
+ unknown NULL
+}
+
+CurrentBackLight ::= CHOICE {backLight BackLight,
+ unknown NULL
+}
+
+CurrentWhiteBalance ::= CHOICE {whiteBalance WhiteBalance,
+ unknown NULL
+}
+
+CurrentZoomPosition ::= CHOICE {zoomPosition ZoomPosition,
+ unknown NULL
+}
+
+CurrentFocusPosition ::= CHOICE {
+ focusPosition FocusPosition,
+ unknown NULL
+}
+
+CurrentIrisPosition ::= CHOICE {irisPosition IrisPosition,
+ unknown NULL
+}
+
+CurrentPanPosition ::= CHOICE {panPosition PanPosition,
+ unknown NULL
+}
+
+CurrentTiltPosition ::= CHOICE {tiltPosition TiltPosition,
+ unknown NULL
+}
+
+CurrentSlide ::= CHOICE {slide SlideNumber,
+ unknown NULL
+}
+
+CurrentAutoSlideDisplayTime ::= CHOICE {
+ time AutoSlideDisplayTime,
+ unknown NULL
+}
+
+CurrentSelectedProgram ::= CHOICE {program ProgramNumber,
+ unknown NULL
+}
+
+CurrentStreamPlayerState ::= CHOICE {state StreamPlayerState,
+ unknown NULL
+}
+
+CurrentPlaybackSpeed ::= CHOICE {speed PlaybackSpeed,
+ unknown NULL
+}
+
+CurrentAudioOutputMute ::= CHOICE {
+ mute BOOLEAN, -- TRUE if muted
+ unknown NULL
+}
+
+StatusAttribute ::= CHOICE {
+ currentdeviceState CurrentDeviceState,
+ currentDeviceDate CurrentDeviceDate,
+ currentDeviceTime CurrentDeviceTime,
+ currentDevicePreset CurrentDevicePreset,
+ currentIrisMode CurrentMode,
+ currentFocusMode CurrentMode,
+ currentBackLightMode CurrentMode,
+ currentPointingMode CurrentPointingMode,
+ currentCameraLens CurrentCameraLensNumber,
+ currentCameraFilter CurrentCameraFilterNumber,
+ currentExternalLight CurrentExternalLight,
+ currentCameraPanSpeed CurrentCameraPanSpeed,
+ currentCameraTiltSpeed CurrentCameraTiltSpeed,
+ currentBackLight CurrentBackLight,
+ currentWhiteBalance CurrentWhiteBalance,
+ currentWhiteBalanceMode CurrentMode,
+ currentZoomPosition CurrentZoomPosition,
+ currentFocusPosition CurrentFocusPosition,
+ currentIrisPosition CurrentIrisPosition,
+ currentPanPosition CurrentPanPosition,
+ currentTiltPosition CurrentTiltPosition,
+ currentSlide CurrentSlide,
+ currentAutoSlideDisplayTime CurrentAutoSlideDisplayTime,
+ currentSelectedProgram CurrentSelectedProgram,
+ currentstreamPlayerState CurrentStreamPlayerState,
+ currentProgramDuration ProgramDuration,
+ currentPlaybackSpeed CurrentPlaybackSpeed,
+ currentAudioOutputMute CurrentAudioOutputMute,
+ configurableVideoInputs DeviceInputs,
+ videoInputs DeviceInputs,
+ configurableAudioInputs DeviceInputs,
+ audioInputs DeviceInputs,
+ nonStandardStatus NonStandardParameter,
+ ...
+}
+
+DeviceEventIdentifier ::= CHOICE {
+ requestDeviceLockChanged NULL,
+ requestDeviceAvailabilityChanged NULL,
+ requestCameraPannedToLimit NULL,
+ requestCameraTiltedToLimit NULL,
+ requestCameraZoomedToLimit NULL,
+ requestCameraFocusedToLimit NULL,
+ requestAutoSlideShowFinished NULL,
+ requestStreamPlayerStateChange NULL,
+ requestStreamPlayerProgramChange NULL,
+ requestNonStandardEvent NonStandardIdentifier,
+ ...
+}
+
+CameraPannedToLimit ::= CHOICE {left NULL,
+ right NULL
+}
+
+CameraTiltedToLimit ::= CHOICE {up NULL,
+ down NULL
+}
+
+CameraZoomedToLimit ::= CHOICE {telescopic NULL,
+ wide NULL
+}
+
+CameraFocusedToLimit ::= CHOICE {near NULL,
+ far NULL
+}
+
+DeviceEvent ::= CHOICE {
+ deviceLockChanged BOOLEAN, -- TRUE if now locked FALSE if now unlocked
+ deviceAvailabilityChanged BOOLEAN, -- TRUE if available FALSE if now unavailable
+ cameraPannedToLimit CameraPannedToLimit,
+ cameraTiltedToLimit CameraTiltedToLimit,
+ cameraZoomedToLimit CameraZoomedToLimit,
+ cameraFocusedToLimit CameraFocusedToLimit,
+ autoSlideShowFinished NULL,
+ streamPlayerStateChange StreamPlayerState,
+ streamPlayerProgramChange ProgramNumber,
+ nonStandardEvent NonStandardParameter,
+ ...
+}
+
+-- ==========================================================================
+-- Part 2: PDU Messages
+-- ==========================================================================
+SourceSelectRequest ::= SEQUENCE {
+ requestHandle Handle,
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ streamIdentifier StreamID,
+ ...
+}
+
+SourceSelectResponse ::= SEQUENCE {
+ requestHandle Handle,
+ result
+ CHOICE {successful NULL,
+ requestDenied NULL,
+ deviceUnavailable NULL,
+ invalidStreamID NULL,
+ currentDeviceIsLocked NULL,
+ deviceIncompatible NULL,
+ ...},
+ ...
+}
+
+SourceEventsRequest ::= SEQUENCE {
+ requestHandle Handle,
+ streamIdentifier StreamID,
+ sourceEventNotify BOOLEAN, -- TRUE to request source events
+ ...
+}
+
+SourceEventsResponse ::= SEQUENCE {
+ requestHandle Handle,
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ result
+ CHOICE {successful NULL,
+ eventsNotSupported NULL,
+ invalidStreamID NULL,
+ ...},
+ ...
+}
+
+SourceChangeEventIndication ::= SEQUENCE {
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ ...
+}
+
+DeviceAttributeRequest ::= SEQUENCE {
+ requestHandle Handle,
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ ...
+}
+
+DeviceAttributeResponse ::= SEQUENCE {
+ requestHandle Handle,
+ deviceAttributeList SET OF DeviceAttribute OPTIONAL,
+ result
+ CHOICE {successful NULL,
+ requestDenied NULL,
+ unknownDevice NULL,
+ ...},
+ ...
+}
+
+DeviceLockRequest ::= SEQUENCE {
+ requestHandle Handle,
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ lockFlag BOOLEAN, -- TRUE to lock
+ ...
+}
+
+DeviceLockResponse ::= SEQUENCE {
+ requestHandle Handle,
+ result
+ CHOICE {successful NULL,
+ requestDenied NULL,
+ unknownDevice NULL,
+ lockingNotSupported NULL,
+ deviceAlreadyLocked NULL,
+ ...},
+ ...
+}
+
+DeviceLockEnquireRequest ::= SEQUENCE {
+ requestHandle Handle,
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ ...
+}
+
+DeviceLockEnquireResponse ::= SEQUENCE {
+ requestHandle Handle,
+ result
+ CHOICE {lockRequired NULL,
+ lockNotRequired NULL,
+ unknownDevice NULL,
+ ...},
+ ...
+}
+
+DeviceLockTerminatedIndication ::= SEQUENCE {
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ ...
+}
+
+DeviceControlRequest ::= SEQUENCE {
+ requestHandle Handle,
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ controlAttributeList SET SIZE (1..8) OF ControlAttribute,
+ ...
+}
+
+DeviceStatusEnquireRequest ::= SEQUENCE {
+ requestHandle Handle,
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ statusAttributeIdentifierList SET SIZE (1..16) OF StatusAttributeIdentifier,
+ ...
+}
+
+DeviceStatusEnquireResponse ::= SEQUENCE {
+ requestHandle Handle,
+ statusAttributeList SET SIZE (1..16) OF StatusAttribute OPTIONAL,
+ result
+ CHOICE {successful NULL,
+ requestDenied NULL,
+ unknownDevice NULL,
+ deviceUnavailable NULL,
+ deviceAttributeError NULL,
+ ...},
+ ...
+}
+
+ConfigureDeviceEventsRequest ::= SEQUENCE {
+ requestHandle Handle,
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ deviceEventIdentifierList SET OF DeviceEventIdentifier,
+ ...
+}
+
+ConfigureDeviceEventsResponse ::= SEQUENCE {
+ requestHandle Handle,
+ result
+ CHOICE {successful NULL,
+ requestDenied NULL,
+ unknownDevice NULL,
+ deviceUnavailable NULL,
+ deviceAttributeError NULL,
+ ...},
+ ...
+}
+
+DeviceEventNotifyIndication ::= SEQUENCE {
+ deviceClass DeviceClass,
+ deviceID DeviceID,
+ deviceEventList SET SIZE (1..8) OF DeviceEvent,
+ ...
+}
+
+NonStandardPDU ::= SEQUENCE {nonStandardData NonStandardParameter,
+ ...
+}
+
+-- ==========================================================================
+-- Part 3: Messages sent using lower layer protocol
+-- ==========================================================================
+RDCPDU ::= CHOICE {
+ request RequestPDU,
+ response ResponsePDU,
+ indication IndicationPDU
+}
+
+RequestPDU ::= CHOICE {
+ sourceSelectRequest SourceSelectRequest,
+ sourceEventsRequest SourceEventsRequest,
+ deviceAttributeRequest DeviceAttributeRequest,
+ deviceLockRequest DeviceLockRequest,
+ deviceLockEnquireRequest DeviceLockEnquireRequest,
+ deviceControlRequest DeviceControlRequest,
+ deviceStatusEnquireRequest DeviceStatusEnquireRequest,
+ configureDeviceEventsRequest ConfigureDeviceEventsRequest,
+ nonStandardRequest NonStandardPDU,
+ ...
+}
+
+ResponsePDU ::= CHOICE {
+ sourceSelectResponse SourceSelectResponse,
+ sourceEventsResponse SourceEventsResponse,
+ deviceAttributeResponse DeviceAttributeResponse,
+ deviceLockResponse DeviceLockResponse,
+ deviceLockEnquireResponse DeviceLockEnquireResponse,
+ deviceStatusEnquireResponse DeviceStatusEnquireResponse,
+ configureDeviceEventsResponse ConfigureDeviceEventsResponse,
+ nonStandardResponse NonStandardPDU,
+ ...
+}
+
+IndicationPDU ::= CHOICE {
+ sourceChangeEventIndication SourceChangeEventIndication,
+ deviceLockTerminatedIndication DeviceLockTerminatedIndication,
+ deviceEventNotifyIndication DeviceEventNotifyIndication,
+ nonStandardIndication NonStandardPDU,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h282/h282.cnf b/epan/dissectors/asn1/h282/h282.cnf
new file mode 100644
index 00000000..10aeae36
--- /dev/null
+++ b/epan/dissectors/asn1/h282/h282.cnf
@@ -0,0 +1,56 @@
+# h282.cnf
+# H.282 conformation file
+# 2007 Tomas Kukosa
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.OMIT_ASSIGNMENT
+IrisContinuous
+#.END
+
+#.PDU
+RDCPDU
+NonCollapsingCapabilities
+#.END
+
+#.FIELD_RENAME
+CameraFilterCapability/filterTextLabel/_item/filterTextLabel filterTextLabel_deviceText
+
+#.FIELD_ATTR
+CameraFilterCapability/filterTextLabel/_item/filterTextLabel ABBREV=filterTextLabel.deviceText
+
+#.FN_PARS RequestPDU
+ VAL_PTR = &msg_type
+#.FN_HDR
+ gint32 msg_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(msg_type, VALS(h282_RequestPDU_vals));
+ if (p)
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "RequestPDU/%s", p);
+#.END
+
+#.FN_PARS ResponsePDU
+ VAL_PTR = &msg_type
+#.FN_HDR
+ gint32 msg_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(msg_type, VALS(h282_ResponsePDU_vals));
+ if (p)
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "ResponsePDU/%s", p);
+#.END
+
+#.FN_PARS IndicationPDU
+ VAL_PTR = &msg_type
+#.FN_HDR
+ gint32 msg_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(msg_type, VALS(h282_IndicationPDU_vals));
+ if (p)
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "IndicationPDU/%s", p);
+#.END
diff --git a/epan/dissectors/asn1/h282/packet-h282-template.c b/epan/dissectors/asn1/h282/packet-h282-template.c
new file mode 100644
index 00000000..d371529f
--- /dev/null
+++ b/epan/dissectors/asn1/h282/packet-h282-template.c
@@ -0,0 +1,86 @@
+/* packet-h282.c
+ * Routines for H.282 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+
+#define PNAME "H.282 Remote Device Control"
+#define PSNAME "RDC"
+#define PFNAME "rdc"
+
+void proto_register_h282(void);
+void proto_reg_handoff_h282(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_h282 = -1;
+#include "packet-h282-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_h282 = -1;
+#include "packet-h282-ett.c"
+
+/* Dissectors */
+
+/* Subdissectors */
+
+#include "packet-h282-fn.c"
+
+static int
+dissect_h282(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ proto_item *ti = NULL;
+ proto_tree *h282_tree = NULL;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+
+ ti = proto_tree_add_item(tree, proto_h282, tvb, 0, -1, ENC_NA);
+ h282_tree = proto_item_add_subtree(ti, ett_h282);
+
+ return dissect_RDCPDU_PDU(tvb, pinfo, h282_tree, NULL);
+}
+
+/*--- proto_register_h282 ----------------------------------------------*/
+void proto_register_h282(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-h282-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_h282,
+#include "packet-h282-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_h282 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h282, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ register_dissector(PFNAME, dissect_h282, proto_h282);
+ register_dissector(PFNAME".device_list", dissect_NonCollapsingCapabilities_PDU, proto_h282);
+
+}
+
+/*--- proto_reg_handoff_h282 -------------------------------------------*/
+void proto_reg_handoff_h282(void)
+{
+
+}
+
diff --git a/epan/dissectors/asn1/h283/CMakeLists.txt b/epan/dissectors/asn1/h283/CMakeLists.txt
new file mode 100644
index 00000000..c30b7707
--- /dev/null
+++ b/epan/dissectors/asn1/h283/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h283 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ LCT-PROTOCOL.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h283/LCT-PROTOCOL.asn b/epan/dissectors/asn1/h283/LCT-PROTOCOL.asn
new file mode 100644
index 00000000..b4c53edf
--- /dev/null
+++ b/epan/dissectors/asn1/h283/LCT-PROTOCOL.asn
@@ -0,0 +1,79 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h283/1999/LCT-PROTOCOL.asn
+
+-- Module LCT-PROTOCOL (H.283:05/1999)
+LCT-PROTOCOL {itu-t recommendation h 283 version(0) 1} DEFINITIONS AUTOMATIC
+TAGS ::=
+BEGIN
+
+H221NonStandard ::= SEQUENCE {
+ t35CountryCode INTEGER(0..255), -- country, as per Recommendation T.35
+ t35Extension INTEGER(0..255), -- assigned nationally
+ manufacturerCode INTEGER(0..65535)
+} -- assigned nationally
+
+NonStandardIdentifier ::= CHOICE {
+ object OBJECT IDENTIFIER,
+ h221NonStandard H221NonStandard,
+ ...
+}
+
+NonStandardParameter ::= SEQUENCE {
+ nonStandardIdentifier NonStandardIdentifier,
+ data OCTET STRING
+}
+
+LCTPDU ::= SEQUENCE {
+ srcAddr MTAddress,
+ dstAddr MTAddress,
+ timestamp INTEGER(0..4294967295), -- milliseconds
+ seqNumber INTEGER(0..65535),
+ pduType CHOICE {ack NULL,
+ rdcData RDCData},
+ nonStandardParameters SEQUENCE OF NonStandardParameter OPTIONAL,
+ ...
+}
+
+MTAddress ::= SEQUENCE {
+ mAddress INTEGER(0..65535),
+ tAddress INTEGER(0..65535)
+}
+
+RDCData ::= SEQUENCE {
+ reliable BOOLEAN,
+ dataType CHOICE {lctMessage LCTMessage,
+ rdcPDU OCTET STRING}, -- Common RDC PDU
+ ...
+}
+
+LCTMessage ::= CHOICE {
+ lctRequest LCTRequest,
+ lctResponse LCTResponse,
+ lctIndication LCTIndication,
+ nonStandardMessage NonStandardMessage,
+ ...
+}
+
+LCTRequest ::= CHOICE {announceReq NULL,
+ deviceListReq NULL,
+ ...
+}
+
+LCTResponse ::= CHOICE {
+ announceResp NULL,
+ deviceListResp OCTET STRING, -- Common RDC
+ ...
+}
+
+LCTIndication ::= CHOICE {deviceChange NULL,
+ ...
+}
+
+NonStandardMessage ::= SEQUENCE {
+ nonStandardParameters SEQUENCE OF NonStandardParameter OPTIONAL,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h283/h283.cnf b/epan/dissectors/asn1/h283/h283.cnf
new file mode 100644
index 00000000..0f7577cc
--- /dev/null
+++ b/epan/dissectors/asn1/h283/h283.cnf
@@ -0,0 +1,115 @@
+# h283.cnf
+# H.283 conformation file
+# 2007 Tomas Kukosa
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.PDU
+LCTPDU
+#.END
+
+#.FN_PARS LCTPDU/pduType
+ VAL_PTR = &pdu_type
+#.FN_HDR
+ gint32 pdu_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(pdu_type, VALS(h283_T_pduType_vals));
+ if (!info_is_set && p ) {
+ col_set_str(actx->pinfo->cinfo, COL_INFO, p);
+ info_is_set = TRUE;
+ }
+#.END
+
+#.FN_PARS RDCData/dataType
+ VAL_PTR = &data_type
+#.FN_HDR
+ gint32 data_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(data_type, VALS(h283_T_dataType_vals));
+ if (!info_is_set && p ) {
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "RDCData/%s", p);
+ info_is_set = TRUE;
+ }
+#.END
+
+#.FN_PARS LCTMessage
+ VAL_PTR = &msg_type
+#.FN_HDR
+ gint32 msg_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(msg_type, VALS(h283_LCTMessage_vals));
+ if (!info_is_set && p ) {
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "LCTMessage/%s", p);
+ info_is_set = TRUE;
+ }
+#.END
+
+#.FN_PARS LCTRequest
+ VAL_PTR = &msg_type
+#.FN_HDR
+ gint32 msg_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(msg_type, VALS(h283_LCTRequest_vals));
+ if (!info_is_set && p ) {
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "LCTRequest/%s", p);
+ info_is_set = TRUE;
+ }
+#.END
+
+#.FN_PARS LCTResponse
+ VAL_PTR = &msg_type
+#.FN_HDR
+ gint32 msg_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(msg_type, VALS(h283_LCTResponse_vals));
+ if (!info_is_set && p ) {
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "LCTResponse/%s", p);
+ info_is_set = TRUE;
+ }
+#.END
+
+#.FN_PARS LCTIndication
+ VAL_PTR = &msg_type
+#.FN_HDR
+ gint32 msg_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(msg_type, VALS(h283_LCTIndication_vals));
+ if (!info_is_set && p ) {
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "LCTIndication/%s", p);
+ info_is_set = TRUE;
+ }
+#.END
+
+#.FN_BODY RDCData/dataType/rdcPDU VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (next_tvb && tvb_reported_length(next_tvb)) {
+ call_dissector((rdc_pdu_handle)?rdc_pdu_handle:data_handle, next_tvb, %(ACTX)s->pinfo, proto_tree_get_root(tree));
+ }
+ info_is_set = TRUE;
+#.END
+
+#.FN_BODY LCTResponse/deviceListResp VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (next_tvb && tvb_reported_length(next_tvb)) {
+ call_dissector((rdc_device_list_handle)?rdc_device_list_handle:data_handle, next_tvb, %(ACTX)s->pinfo, tree);
+ }
+#.END
+
+#.TYPE_ATTR
+RDCData/dataType/rdcPDU TYPE = FT_UINT32 DISPLAY = BASE_DEC
+LCTResponse/deviceListResp TYPE = FT_UINT32 DISPLAY = BASE_DEC
+#.END
+
diff --git a/epan/dissectors/asn1/h283/packet-h283-template.c b/epan/dissectors/asn1/h283/packet-h283-template.c
new file mode 100644
index 00000000..6db8e76e
--- /dev/null
+++ b/epan/dissectors/asn1/h283/packet-h283-template.c
@@ -0,0 +1,96 @@
+/* packet-h283.c
+ * Routines for H.283 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+
+#define PNAME "H.283 Logical Channel Transport"
+#define PSNAME "LCT"
+#define PFNAME "lct"
+
+void proto_register_h283(void);
+void proto_reg_handoff_h283(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_h283 = -1;
+#include "packet-h283-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_h283 = -1;
+#include "packet-h283-ett.c"
+
+/* Subdissectors */
+static dissector_handle_t rdc_pdu_handle;
+static dissector_handle_t rdc_device_list_handle;
+static dissector_handle_t data_handle;
+static dissector_handle_t h283_udp_handle;
+
+
+static gboolean info_is_set;
+
+#include "packet-h283-fn.c"
+
+static int
+dissect_h283_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ proto_item *ti = NULL;
+ proto_tree *h283_tree = NULL;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+
+ info_is_set = FALSE;
+
+ ti = proto_tree_add_item(tree, proto_h283, tvb, 0, -1, ENC_NA);
+ h283_tree = proto_item_add_subtree(ti, ett_h283);
+
+ return dissect_LCTPDU_PDU(tvb, pinfo, h283_tree, NULL);
+}
+
+/*--- proto_register_h283 ----------------------------------------------*/
+void proto_register_h283(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-h283-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_h283,
+#include "packet-h283-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_h283 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h283, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ h283_udp_handle = register_dissector(PFNAME, dissect_h283_udp, proto_h283);
+
+}
+
+/*--- proto_reg_handoff_h283 -------------------------------------------*/
+void proto_reg_handoff_h283(void)
+{
+ dissector_add_for_decode_as_with_preference("udp.port", h283_udp_handle);
+
+ rdc_pdu_handle = find_dissector_add_dependency("rdc", proto_h283);
+ rdc_device_list_handle = find_dissector_add_dependency("rdc.device_list", proto_h283);
+ data_handle = find_dissector("data");
+}
+
diff --git a/epan/dissectors/asn1/h323/CMakeLists.txt b/epan/dissectors/asn1/h323/CMakeLists.txt
new file mode 100644
index 00000000..84d1df84
--- /dev/null
+++ b/epan/dissectors/asn1/h323/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h323 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ RAS-PROTOCOL-TUNNEL.asn
+ ROBUSTNESS-DATA.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../h225/h225-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h323/RAS-PROTOCOL-TUNNEL.asn b/epan/dissectors/asn1/h323/RAS-PROTOCOL-TUNNEL.asn
new file mode 100644
index 00000000..6b26c59b
--- /dev/null
+++ b/epan/dissectors/asn1/h323/RAS-PROTOCOL-TUNNEL.asn
@@ -0,0 +1,25 @@
+-- RAS-PROTOCOL-TUNNEL.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h323/2006/RAS-PROTOCOL-TUNNEL.asn
+--
+
+-- Module RAS-PROTOCOL-TUNNEL (H.323:06/2006)
+RAS-PROTOCOL-TUNNEL DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS TunnelledProtocol, NonStandardParameter
+ FROM H323-MESSAGES;
+
+RasTunnelledSignallingMessage ::= SEQUENCE {
+ tunnelledProtocolID TunnelledProtocol, -- tunnelled signalling protocol ID
+ messageContent SEQUENCE OF OCTET STRING, -- sequence of entire message(s)
+ tunnellingRequired NULL OPTIONAL,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h323/ROBUSTNESS-DATA.asn b/epan/dissectors/asn1/h323/ROBUSTNESS-DATA.asn
new file mode 100644
index 00000000..00e76f05
--- /dev/null
+++ b/epan/dissectors/asn1/h323/ROBUSTNESS-DATA.asn
@@ -0,0 +1,87 @@
+-- ROBUSTNESS-DATA.asn
+--
+-- ITU-T Rec. H.323 (06/2006)
+--
+-- Annex R - Robustness methods for H.323 entities
+-- R.11 GenericData usage
+--
+
+ROBUSTNESS-DATA DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ TransportAddress, AlternateTransportAddresses,
+ GloballyUniqueID, TimeToLive
+ FROM H323-MESSAGES;
+
+RobustnessData ::= SEQUENCE {
+ versionID INTEGER(1..256),
+ robustnessData
+ CHOICE {
+ rrqData Rrq-RD,
+ rcfData Rcf-RD,
+ setupData Setup-RD,
+ connectData Connect-RD,
+ statusData Status-RD,
+ statusInquiryData StatusInquiry-RD,
+ ...
+ },
+ ...
+}
+
+BackupCallSignalAddresses ::= SEQUENCE OF
+ CHOICE {
+ tcp TransportAddress,
+ alternateTransport AlternateTransportAddresses,
+ ...
+ }
+
+GloballyUniqueIdentifier ::= GloballyUniqueID
+
+Rrq-RD ::= SEQUENCE {
+ backupCallSignalAddresses BackupCallSignalAddresses,
+ hasSharedRepository NULL OPTIONAL,
+ ...
+}
+
+Rcf-RD ::= SEQUENCE {
+ hasSharedRepository NULL OPTIONAL,
+ ...,
+ irrFrequency INTEGER(1..65535) OPTIONAL -- in seconds;
+ -- not present
+ -- if GK does not
+ -- want IRRs for
+ -- recovered calls
+}
+
+Setup-RD ::= SEQUENCE {
+ backupCallSignalAddresses BackupCallSignalAddresses,
+ hasSharedRepository NULL OPTIONAL,
+ endpointGuid GloballyUniqueIdentifier OPTIONAL,
+ ...
+}
+
+Connect-RD ::= SEQUENCE {
+ backupCallSignalAddresses BackupCallSignalAddresses,
+ hasSharedRepository NULL OPTIONAL,
+ endpointGuid GloballyUniqueIdentifier OPTIONAL,
+ ...
+}
+
+Status-RD ::= SEQUENCE {
+ h245Address TransportAddress OPTIONAL,
+ fastStart SEQUENCE OF OCTET STRING OPTIONAL,
+ ...,
+ resetH245 NULL OPTIONAL
+}
+
+StatusInquiry-RD ::= SEQUENCE {
+ h245Address TransportAddress OPTIONAL,
+ timeToLive TimeToLive OPTIONAL,
+ includeFastStart NULL OPTIONAL,
+ ...
+}
+
+robustnessId GenericIdentifier ::= standard:1
+
+END
diff --git a/epan/dissectors/asn1/h323/h323.cnf b/epan/dissectors/asn1/h323/h323.cnf
new file mode 100644
index 00000000..51d33734
--- /dev/null
+++ b/epan/dissectors/asn1/h323/h323.cnf
@@ -0,0 +1,15 @@
+# h323.cnf
+# H.323 conformation file
+# 2007 Tomas Kukosa
+
+#.IMPORT ../h225/h225-exp.cnf
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.PDU
+RasTunnelledSignallingMessage
+RobustnessData
+#.END
diff --git a/epan/dissectors/asn1/h323/packet-h323-template.c b/epan/dissectors/asn1/h323/packet-h323-template.c
new file mode 100644
index 00000000..8adbaa7c
--- /dev/null
+++ b/epan/dissectors/asn1/h323/packet-h323-template.c
@@ -0,0 +1,125 @@
+/* packet-h323.c
+ * Routines for H.323 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-h225.h"
+#include "packet-h323.h"
+
+#define PNAME "H.323"
+#define PSNAME "H.323"
+#define PFNAME "h323"
+
+void proto_register_h323(void);
+void proto_reg_handoff_h323(void);
+
+/* Generic Extensible Framework */
+gef_ctx_t* gef_ctx_alloc(wmem_allocator_t *pool, gef_ctx_t *parent, const gchar *type) {
+ gef_ctx_t *gefx;
+
+ gefx = wmem_new0(pool, gef_ctx_t);
+ gefx->signature = GEF_CTX_SIGNATURE;
+ gefx->parent = parent;
+ gefx->type = type;
+ return gefx;
+}
+
+gboolean gef_ctx_check_signature(gef_ctx_t *gefx) {
+ return gefx && (gefx->signature == GEF_CTX_SIGNATURE);
+}
+
+gef_ctx_t* gef_ctx_get(void *ptr) {
+ gef_ctx_t *gefx = (gef_ctx_t*)ptr;
+ asn1_ctx_t *actx = (asn1_ctx_t*)ptr;
+
+ if (!asn1_ctx_check_signature(actx))
+ actx = NULL;
+
+ if (actx)
+ gefx = (gef_ctx_t *)actx->private_data;
+
+ if (!gef_ctx_check_signature(gefx))
+ gefx = NULL;
+
+ return gefx;
+}
+
+void gef_ctx_update_key(wmem_allocator_t *pool, gef_ctx_t *gefx) {
+ const gchar *parent_key;
+
+ if (!gefx) return;
+ parent_key = (gefx->parent) ? gefx->parent->key : NULL;
+ gefx->key = wmem_strdup_printf(pool,
+ "%s%s" /* parent prefix */
+ "%s%s%s" /* type, id */
+ "%s%s" /* subid */,
+ (parent_key) ? parent_key : "", (parent_key) ? "/" : "",
+ (gefx->type) ? gefx->type : "", (gefx->type && (gefx->id || gefx->subid)) ? "/" : "", (gefx->id) ? gefx->id : "",
+ (gefx->subid) ? "-" : "", (gefx->subid) ? gefx->subid : ""
+ );
+}
+
+/* Initialize the protocol and registered fields */
+static int proto_h323 = -1;
+#include "packet-h323-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-h323-ett.c"
+
+#include "packet-h323-fn.c"
+
+/*--- proto_register_h323 ----------------------------------------------*/
+void proto_register_h323(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-h323-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-h323-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_h323 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h323, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_h323 -------------------------------------------*/
+void proto_reg_handoff_h323(void)
+{
+ dissector_handle_t q931_handle;
+
+ q931_handle = find_dissector("q931");
+
+ /* H.323, Annex M1, Tunnelling of signalling protocols (QSIG) in H.323 */
+ dissector_add_string("h225.tp", "1.3.12.9", q931_handle);
+
+ /* H.323, Annex M4, Tunnelling of narrow-band signalling syntax (NSS) for H.323 */
+ dissector_add_string("h225.gef.content", "GenericData/1000/1",
+ create_dissector_handle(dissect_RasTunnelledSignallingMessage_PDU, proto_h323));
+
+ /* H.323, Annex R, Robustness methods for H.323 entities */
+ dissector_add_string("h225.gef.content", "GenericData/1/1",
+ create_dissector_handle(dissect_RobustnessData_PDU, proto_h323));
+}
+
diff --git a/epan/dissectors/asn1/h323/packet-h323-template.h b/epan/dissectors/asn1/h323/packet-h323-template.h
new file mode 100644
index 00000000..0467a4a0
--- /dev/null
+++ b/epan/dissectors/asn1/h323/packet-h323-template.h
@@ -0,0 +1,52 @@
+/* packet-h323.h
+ * Routines for H.235 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_H323_H
+#define PACKET_H323_H
+
+/* Generic Extensible Framework */
+
+#define GEF_CTX_SIGNATURE 0x47454658 /* "GEFX" */
+
+typedef struct _gef_ctx_t {
+ guint32 signature;
+ struct _gef_ctx_t *parent;
+ /*
+ H323-MESSAGES
+ FeatureDescriptor/<id>
+ <id>
+ GenericData/<id>
+ <id>
+ MULTIMEDIA-SYSTEM-CONTROL
+ GenericInformation/<id>[-<subid>]
+ <id>
+ GenericMessage/<id>[-<subid>]
+ <id>
+ GenericCapability/<id>
+ collapsing/<id>
+ nonCollapsing/<id>
+ nonCollapsingRaw
+ EncryptionSync
+ <id>
+ */
+ const gchar *type;
+ const gchar *id;
+ const gchar *subid;
+ const gchar *key;
+} gef_ctx_t;
+
+extern gef_ctx_t* gef_ctx_alloc(wmem_allocator_t *pool, gef_ctx_t *parent, const gchar *type);
+extern gboolean gef_ctx_check_signature(gef_ctx_t *gefx);
+extern gef_ctx_t* gef_ctx_get(void *ptr);
+extern void gef_ctx_update_key(wmem_allocator_t *pool, gef_ctx_t *gefx);
+
+#endif /* PACKET_H323_H */
+
diff --git a/epan/dissectors/asn1/h450-ros/CMakeLists.txt b/epan/dissectors/asn1/h450-ros/CMakeLists.txt
new file mode 100644
index 00000000..fe0c67df
--- /dev/null
+++ b/epan/dissectors/asn1/h450-ros/CMakeLists.txt
@@ -0,0 +1,47 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h450-ros )
+
+set( PROTO_OPT -p h450.ros )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+ ../ros/Remote-Operations-Information-Objects.asn
+)
+
+set( ASN_FILE_LIST
+ Remote-Operations-Apdus.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+ ../ros/ros-inv.cnf
+ ../ros/ros-res.cnf
+ ../ros/ros-err.cnf
+ ../ros/ros-rej.cnf
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h450-ros/Remote-Operations-Apdus.asn b/epan/dissectors/asn1/h450-ros/Remote-Operations-Apdus.asn
new file mode 100644
index 00000000..b69ff2b6
--- /dev/null
+++ b/epan/dissectors/asn1/h450-ros/Remote-Operations-Apdus.asn
@@ -0,0 +1,150 @@
+-- Remote-Operations-Apdus.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/Remote-Operations-Apdus.asn
+--
+
+-- Module Remote-Operations-Apdus (H.450.1:02/1998)
+Remote-Operations-Apdus {itu-t recommendation h 450 1 version1(0)
+ remote-operations-apdus(11)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+-- exports everything
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
+ CHOICE {
+ invoke [1] Invoke{{InvokeIdSet}, {Invokable}},
+ returnResult [2] ReturnResult{{Returnable}},
+ returnError [3] ReturnError{{Errors {{Returnable}}}},
+ reject [4] Reject
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-unrecognizedPDU)
+
+Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
+ invokeId
+ InvokeId(InvokeIdSet)
+ (CONSTRAINED BY {-- must be unambiguous -- } !
+ RejectProblem:invoke-duplicateInvocation),
+ linkedId
+ InvokeId
+ (CONSTRAINED BY {-- must identify an outstanding operation -- } !
+ RejectProblem:invoke-unrecognizedLinkedId)
+ (CONSTRAINED BY {-- which has one or more linked operations-- } !
+ RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
+ opcode
+ OPERATION.&operationCode
+ ({Operations} !RejectProblem:invoke-unrecognizedOperation),
+ argument
+ OPERATION.&ArgumentType
+ ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+--(
+-- WITH COMPONENTS
+-- {
+-- ...,
+-- linkedId ABSENT
+-- }
+-- WITH COMPONENTS {
+-- ...,
+-- linkedId PRESENT,
+-- opcode (CONSTRAINED BY {
+-- must be in the &Linked field of the associated operation
+-- } ! RejectProblem : invoke-unexpectedLinkedOperation)
+-- }
+--)
+ReturnResult{OPERATION:Operations} ::= SEQUENCE {
+ invokeId
+ InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+ RejectProblem:returnResult-unrecognizedInvocation)
+ (CONSTRAINED BY {-- which returns a result -- } !
+ RejectProblem:returnResult-resultResponseUnexpected),
+ result
+ SEQUENCE {opcode
+ OPERATION.&operationCode({Operations})
+ (CONSTRAINED BY {-- identified by invokeId -- } !
+ RejectProblem:returnResult-unrecognizedInvocation),
+ result
+ OPERATION.&ResultType
+ ({Operations}{@.opcode} !
+ RejectProblem:returnResult-mistypedResult)} OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+ReturnError{ERROR:Errors} ::= SEQUENCE {
+ invokeId
+ InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+ RejectProblem:returnError-unrecognizedInvocation)
+ (CONSTRAINED BY {-- which returns an error -- } !
+ RejectProblem:returnError-errorResponseUnexpected),
+ errcode
+ ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
+ (CONSTRAINED BY {--must be in the &Errors field of the associated operation --
+ } !RejectProblem:returnError-unexpectedError),
+ parameter
+ ERROR.&ParameterType
+ ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
+ OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+Reject ::= SEQUENCE {
+ invokeId InvokeId,
+ problem
+ CHOICE {general GeneralProblem,
+ invoke InvokeProblem,
+ returnResult ReturnResultProblem,
+ returnError ReturnErrorProblem}
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+GeneralProblem ::= INTEGER {
+ unrecognizedComponent(0), mistypedComponent(1), badlyStructuredComponent(2)
+}
+
+InvokeProblem ::= INTEGER {
+ duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
+ resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
+ linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
+
+ReturnResultProblem ::= INTEGER {
+ unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
+}
+
+ReturnErrorProblem ::= INTEGER {
+ unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
+ unexpectedError(3), mistypedParameter(4)}
+
+RejectProblem ::= INTEGER {
+ general-unrecognizedPDU(0), general-mistypedPDU(1),
+ general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
+ invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
+ invoke-resourceLimitation(13), invoke-releaseInProgress(14),
+ invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
+ invoke-unexpectedLinkedOperation(17),
+ returnResult-unrecognizedInvocation(20),
+ returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
+ returnError-unrecognizedInvocation(30),
+ returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
+ returnError-unexpectedError(33), returnError-mistypedParameter(34)}
+
+InvokeId ::= INTEGER
+
+Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
+
+END -- end of Remote-Operations-Apdus definitions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450-ros/h450-ros.cnf b/epan/dissectors/asn1/h450-ros/h450-ros.cnf
new file mode 100644
index 00000000..cbb65776
--- /dev/null
+++ b/epan/dissectors/asn1/h450-ros/h450-ros.cnf
@@ -0,0 +1,108 @@
+#.EXPORTS
+
+ROS
+
+#.OMIT_ASSIGNMENT
+
+Priority
+RejectProblem
+
+#.TYPE_RENAME
+
+Invoke/argument InvokeArgument
+ReturnResult/result/result ResultArgument
+
+#.FIELD_RENAME
+
+Invoke/invokeId invokeIdConstrained
+
+Reject/problem/invoke invokeProblem
+Reject/problem/returnError returnErrorProblem
+Reject/problem/returnResult returnResultProblem
+
+ReturnResult/result/result resultArgument
+
+#--- ROS ---
+
+#.FN_HDR ROS
+ DISSECTOR_ASSERT(actx->rose_ctx);
+ rose_ctx_clean_data(actx->rose_ctx);
+#.END
+
+#--- Code ---
+
+#.FN_PARS
+Code VAL_PTR = &%(ACTX)s->rose_ctx->d.code
+Code/local VAL_PTR = &%(ACTX)s->rose_ctx->d.code_local
+Code/global FN_VARIANT = _str VAL_PTR = &%(ACTX)s->rose_ctx->d.code_global
+#.FN_FTR Code
+ actx->rose_ctx->d.code_item = actx->created_item;
+#.END
+
+#--- Problem ---
+
+#.FN_PARS
+GeneralProblem VAL_PTR = &problem_val
+InvokeProblem VAL_PTR = &problem_val
+ReturnResultProblem VAL_PTR = &problem_val
+ReturnErrorProblem VAL_PTR = &problem_val
+#.FN_FTR GeneralProblem
+ (void) g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(h450_ros_GeneralProblem_vals), ""), 64);
+ problem_str[64-1] = '\0';
+#.FN_FTR InvokeProblem
+ (void) g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(h450_ros_InvokeProblem_vals), ""), 64);
+ problem_str[64-1] = '\0';
+#.FN_FTR ReturnResultProblem
+ (void) g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(h450_ros_ReturnResultProblem_vals), ""), 64);
+ problem_str[64-1] = '\0';
+#.FN_FTR ReturnErrorProblem
+ (void) g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(h450_ros_ReturnErrorProblem_vals), ""), 64);
+ problem_str[64-1] = '\0';
+#.END
+
+#--- INVOKE ---
+
+# body is implemented manually as asn2wrs is not able to handle subtype constraint event passed through parameter
+#.FN_BODY Invoke/invokeId
+ offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s,
+ 0U, 65535U, %(VAL_PTR)s, TRUE);
+#.END
+
+#.FIELD_ATTR
+Invoke/argument TYPE = FT_BYTES DISPLAY = BASE_NONE
+
+#.FN_PARS Invoke/argument
+FN_VARIANT = _pdu_new
+TYPE_REF_FN = argument_cb
+#.END
+
+#.INCLUDE ../ros/ros-inv.cnf
+
+#--- RETURN RESULT ---
+
+#.FIELD_ATTR
+ReturnResult/result/result TYPE = FT_BYTES DISPLAY = BASE_NONE
+
+#.FN_PARS ReturnResult/result/result
+FN_VARIANT = _pdu_new
+TYPE_REF_FN = result_cb
+
+#.END
+
+#.INCLUDE ../ros/ros-res.cnf
+
+#--- RETURN ERROR ---
+
+#.FIELD_ATTR
+ReturnError/parameter TYPE = FT_BYTES DISPLAY = BASE_NONE
+
+#.FN_PARS ReturnError/parameter
+FN_VARIANT = _pdu_new
+TYPE_REF_FN = error_cb
+#.END
+
+#.INCLUDE ../ros/ros-err.cnf
+
+#--- REJECT ---
+
+#.INCLUDE ../ros/ros-rej.cnf
diff --git a/epan/dissectors/asn1/h450-ros/packet-h450-ros-template.c b/epan/dissectors/asn1/h450-ros/packet-h450-ros-template.c
new file mode 100644
index 00000000..df2a53db
--- /dev/null
+++ b/epan/dissectors/asn1/h450-ros/packet-h450-ros-template.c
@@ -0,0 +1,103 @@
+/* packet-h450-ros.c
+ * Routines for H.450 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+
+#include "packet-per.h"
+#include "packet-h450-ros.h"
+
+#define PNAME "H.450 Remote Operations Apdus"
+#define PSNAME "H450.ROS"
+#define PFNAME "h450.ros"
+
+void proto_register_h450_ros(void);
+void proto_reg_handoff_h450_ros(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_h450_ros = -1;
+#include "packet-h450-ros-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-h450-ros-ett.c"
+
+static expert_field ei_ros_undecoded = EI_INIT;
+
+/* Preferences */
+
+/* Subdissectors */
+static dissector_handle_t data_handle = NULL;
+
+/* Global variables */
+static gint32 problem_val;
+static gchar problem_str[64];
+static tvbuff_t *arg_next_tvb, *res_next_tvb, *err_next_tvb;
+
+static int
+argument_cb(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, void* data _U_) {
+ arg_next_tvb = tvb;
+ return tvb_captured_length(tvb);
+}
+
+static int
+result_cb(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, void* data _U_) {
+ res_next_tvb = tvb;
+ return tvb_captured_length(tvb);
+}
+
+static int
+error_cb(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, void* data _U_) {
+ err_next_tvb = tvb;
+ return tvb_captured_length(tvb);
+}
+
+#include "packet-h450-ros-fn.c"
+
+/*--- proto_register_h450_ros -----------------------------------------------*/
+void proto_register_h450_ros(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-h450-ros-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-h450-ros-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_ros_undecoded, { "h450.ros.undecoded", PI_UNDECODED, PI_WARN, "Undecoded", EXPFILL }},
+ };
+
+ expert_module_t* expert_h450_ros;
+
+ /* Register protocol and dissector */
+ proto_h450_ros = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ proto_set_cant_toggle(proto_h450_ros);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h450_ros, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_h450_ros = expert_register_protocol(proto_h450_ros);
+ expert_register_field_array(expert_h450_ros, ei, array_length(ei));
+}
+
+/*--- proto_reg_handoff_h450_ros --------------------------------------------*/
+void proto_reg_handoff_h450_ros(void) {
+ data_handle = find_dissector("data");
+}
+
+/*---------------------------------------------------------------------------*/
diff --git a/epan/dissectors/asn1/h450-ros/packet-h450-ros-template.h b/epan/dissectors/asn1/h450-ros/packet-h450-ros-template.h
new file mode 100644
index 00000000..4e7eada7
--- /dev/null
+++ b/epan/dissectors/asn1/h450-ros/packet-h450-ros-template.h
@@ -0,0 +1,18 @@
+/* packet-h450-ros.h
+ * Routines for H.450 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_H450_ROS_H
+#define PACKET_H450_ROS_H
+
+#include "packet-h450-ros-exp.h"
+
+#endif /* PACKET_H450_ROS_H */
+
diff --git a/epan/dissectors/asn1/h450/Addressing-Data-Elements.asn b/epan/dissectors/asn1/h450/Addressing-Data-Elements.asn
new file mode 100644
index 00000000..809f8997
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Addressing-Data-Elements.asn
@@ -0,0 +1,125 @@
+-- Addressing-Data-Elements.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/Addressing-Data-Elements.asn
+--
+
+-- Module Addressing-Data-Elements (H.450.1:02/1998)
+Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ AliasAddress, PartyNumber, PresentationIndicator, ScreeningIndicator
+ FROM H323-MESSAGES; -- see H.225.0
+
+PresentedAddressScreened ::= CHOICE {
+ presentationAllowedAddress AddressScreened,
+ presentationRestricted NULL,
+ numberNotAvailableDueToInterworking NULL,
+ presentationRestrictedAddress AddressScreened,
+ ...
+}
+
+PresentedAddressUnscreened ::= CHOICE {
+ presentationAllowedAddress Address,
+ presentationRestricted NULL,
+ numberNotAvailableDueToInterworking NULL,
+ presentationRestrictedAddress Address,
+ ...
+}
+
+PresentedNumberScreened ::= CHOICE {
+ presentationAllowedAddress NumberScreened,
+ presentationRestricted NULL,
+ numberNotAvailableDueToInterworking NULL,
+ presentationRestrictedAddress NumberScreened,
+ ...
+}
+
+PresentedNumberUnscreened ::= CHOICE {
+ presentationAllowedAddress PartyNumber,
+ presentationRestricted NULL,
+ numberNotAvailableDueToInterworking NULL,
+ presentationRestrictedAddress PartyNumber,
+ ...
+}
+
+AddressScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator,
+ partySubaddress PartySubaddress OPTIONAL,
+ ...
+}
+
+NumberScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator,
+ ...
+}
+
+Address ::= SEQUENCE {
+ partyNumber PartyNumber,
+ partySubaddress PartySubaddress OPTIONAL,
+ ...
+}
+
+-- PartyNumber defined in Recommendation H.225.0
+-- PublicPartyNumber defined in Recommendation H.225.0
+-- PrivatePartyNumber defined in Recommendation H.225.0
+-- NumberDigits defined in Recommendation H.225.0
+-- PublicTypeOfNumber defined in Recommendation H.225.0
+-- PrivateTypeOfNumber defined in Recommendation H.225.0
+-- PresentationIndicator defined in Recommendation H.225.0 (v3 and beyond)
+-- ScreeningIndicator defined in Recommendation H.225.0 (v3 and beyond)
+EndpointAddress ::= SEQUENCE {
+ destinationAddress SEQUENCE OF AliasAddress,
+ -- multiple alias addresses may be used to address the same H.323 endpoint
+ remoteExtensionAddress AliasAddress OPTIONAL,
+ ...,
+ destinationAddressPresentationIndicator
+ PresentationIndicator OPTIONAL,
+ -- Note 1, 2
+ destinationAddressScreeningIndicator ScreeningIndicator OPTIONAL,
+ remoteExtensionAddressPresentationIndicator
+ PresentationIndicator OPTIONAL,
+ -- Note 1, 2
+ remoteExtensionAddressScreeningIndicator ScreeningIndicator OPTIONAL
+}
+
+-- Note 1: If this element is not available, presentation allowed shall be assumed.
+-- Note 2: If an H.450 APDU that carries this element EndpointAddress also
+-- contains an element PresentationAllowedIndicator, then the setting of the
+-- element PresentationAllowedIndicator shall take precedence in case of
+-- conflicting presentation information.
+PartySubaddress ::= CHOICE {
+ userSpecifiedSubaddress UserSpecifiedSubaddress,
+ -- not recommended.
+ nsapSubaddress NSAPSubaddress,
+ -- according to Recommendation X.213.
+ ...
+}
+
+UserSpecifiedSubaddress ::= SEQUENCE {
+ subaddressInformation SubaddressInformation,
+ oddCountIndicator BOOLEAN OPTIONAL,
+ -- used when the coding of subaddress is BCD
+ ...
+}
+
+NSAPSubaddress ::= OCTET STRING(SIZE (1..20))
+
+-- specified according to X.213. Some networks may
+-- limit the subaddress value to some other length
+-- e.g. 4 octets
+SubaddressInformation ::= OCTET STRING(SIZE (1..20))
+
+-- coded according to user requirements. Some networks
+-- may limit the subaddress value to some other length
+-- e.g. 4 octets
+PresentationAllowedIndicator ::= BOOLEAN
+
+END -- of Addressing-Data-Elements
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/CMakeLists.txt b/epan/dissectors/asn1/h450/CMakeLists.txt
new file mode 100644
index 00000000..93a60135
--- /dev/null
+++ b/epan/dissectors/asn1/h450/CMakeLists.txt
@@ -0,0 +1,62 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h450 )
+
+set( PROTO_OPT _EMPTY_ )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( H450_ASN
+ H4501-Supplementary-ServiceAPDU-Structure.asn
+ Addressing-Data-Elements.asn
+ H225-generic-parameters-definition.asn
+ Manufacturer-specific-service-extension-definition.asn
+ H4501-General-Error-List.asn
+)
+
+set( H450_OP_ASN
+ Call-Transfer-Operations.asn
+ Call-Diversion-Operations.asn
+ Call-Hold-Operations.asn
+ Call-Park-Pickup-Operations.asn
+ Call-Waiting-Operations.asn
+ Message-Waiting-Indication-Operations.asn
+ Name-Operations.asn
+ Call-Completion-Operations.asn
+ Call-Offer-Operations.asn
+ Call-Intrusion-Operations.asn
+ Common-Information-Operations.asn
+)
+
+set( ASN_FILE_LIST
+ ${H450_ASN}
+ ${H450_OP_ASN}
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../h225/h225-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../h450-ros/h450-ros-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h450/Call-Completion-Operations.asn b/epan/dissectors/asn1/h450/Call-Completion-Operations.asn
new file mode 100644
index 00000000..855934d3
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Call-Completion-Operations.asn
@@ -0,0 +1,154 @@
+-- Call-Completion-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.9/2000/Call-Completion-Operations.asn
+--
+
+-- Module Call-Completion-Operations (H.450.9:11/2000)
+Call-Completion-Operations {itu-t recommendation h 450 9 version1(0)
+ call-completion-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ CallIdentifier
+ FROM H323-MESSAGES -- see ITU-T H.225.0
+
+ EndpointAddress
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ MixedExtension, undefined
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)}
+ supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ BasicService
+ FROM Message-Waiting-Indication-Operations {itu-t recommendation h
+ 450 7 version1(0) message-waiting-operations(0)};
+
+H323CallCompletionOperations OPERATION ::=
+ {ccbsRequest | ccnrRequest | ccCancel | ccExecPossible | ccRingout |
+ ccSuspend | ccResume}
+
+ccbsRequest OPERATION ::= {
+ ARGUMENT CcRequestArg
+ RESULT CcRequestRes
+ ERRORS
+ {shortTermRejection | longTermRejection | undefined |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local:40
+}
+
+ccnrRequest OPERATION ::= {
+ ARGUMENT CcRequestArg
+ RESULT CcRequestRes
+ ERRORS
+ {shortTermRejection | longTermRejection | undefined |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local:27
+}
+
+ccCancel OPERATION ::= {
+ ARGUMENT CcArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:28
+}
+
+ccExecPossible OPERATION ::= {
+ ARGUMENT CcArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:29
+}
+
+ccRingout OPERATION ::= {
+ ARGUMENT CcShortArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ERRORS {remoteUserBusyAgain | failureToMatch | undefined}
+ CODE local:31
+}
+
+ccSuspend OPERATION ::= {
+ ARGUMENT CcShortArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:32
+}
+
+ccResume OPERATION ::= {
+ ARGUMENT CcArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:33
+}
+
+CcRequestArg ::= SEQUENCE {
+ numberA EndpointAddress,
+ numberB EndpointAddress,
+ ccIdentifier CallIdentifier OPTIONAL,
+ -- If present, it shall be used as the prime mechanism for associating
+ -- the unsuccessful call, the CC Request and the CC Call.
+ service BasicService,
+ can-retain-service BOOLEAN,
+ retain-sig-connection BOOLEAN OPTIONAL,
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CcRequestRes ::= SEQUENCE {
+ retain-service BOOLEAN,
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CcArg ::= CHOICE {
+ shortArg CcShortArg, -- if signalling conection is retained
+ longArg CcLongArg, -- if connection release option applies
+ ...
+}
+
+CcShortArg ::= SEQUENCE {
+ ccIdentifier CallIdentifier OPTIONAL,
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CcLongArg ::= SEQUENCE {
+ numberA EndpointAddress OPTIONAL,
+ numberB EndpointAddress OPTIONAL,
+ ccIdentifier CallIdentifier OPTIONAL,
+ service BasicService OPTIONAL,
+ -- these elements are used to identify the proper CC Request.
+ -- The ccIdentifier if present shall be the prime mechanism for this purpose.
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+shortTermRejection ERROR ::= {CODE local:1010
+}
+
+longTermRejection ERROR ::= {CODE local:1011
+}
+
+remoteUserBusyAgain ERROR ::= {CODE local:1012
+}
+
+failureToMatch ERROR ::= {CODE local:1013
+}
+
+END -- of Call-Completion-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Call-Diversion-Operations.asn b/epan/dissectors/asn1/h450/Call-Diversion-Operations.asn
new file mode 100644
index 00000000..90430820
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Call-Diversion-Operations.asn
@@ -0,0 +1,323 @@
+-- Call-Diversion-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.3/1998/Call-Diversion-Operations.asn
+--
+
+-- Module Call-Diversion-Operations (H.450.3:02/1998)
+Call-Diversion-Operations {itu-t recommendation h 450 3 version1(0)
+ call-diversion-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ H225InformationElement
+ FROM H225-generic-parameters-definition {itu-t recommendation h 450
+ 1 version1(0) h225-generic-parameters(6)}
+ NonStandardParameter
+ FROM H323-MESSAGES
+ EndpointAddress, PartySubaddress, PresentationAllowedIndicator
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ userNotSubscribed, notAvailable, invalidServedUserNumber,
+ basicServiceNotProvided, resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)};
+
+H323CallDiversionOperations OPERATION ::=
+ {activateDiversionQ | deactivateDiversionQ | interrogateDiversionQ |
+ checkRestriction | callRerouting | divertingLegInformation1 |
+ divertingLegInformation2 | divertingLegInformation3 |
+ divertingLegInformation4 | cfnrDivertedLegFailed}
+
+activateDiversionQ OPERATION ::=
+ { -- sent from the activating h.323-endpoint to the served h.323-endpoint
+ ARGUMENT
+ SEQUENCE {procedure Procedure,
+ basicService BasicService,
+ divertedToAddress EndpointAddress,
+ servedUserNr EndpointAddress,
+ activatingUserNr EndpointAddress,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ ERRORS
+ {userNotSubscribed | notAvailable | invalidServedUserNumber |
+ basicServiceNotProvided | resourceUnavailable | invalidDivertedNumber |
+ specialServiceNumber | diversionToServedUserNumber |
+ temporarilyUnavailable | notAuthorized | unspecified}
+ CODE local:15
+}
+
+deactivateDiversionQ OPERATION ::=
+ { -- sent from the deactivating h.323-endpoint to the served h.323-endpoint
+ ARGUMENT
+ SEQUENCE {procedure Procedure,
+ basicService BasicService,
+ servedUserNr EndpointAddress,
+ deactivatingUserNr EndpointAddress,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ ERRORS
+ {userNotSubscribed | notAvailable | invalidServedUserNumber |
+ temporarilyUnavailable | notAuthorized | unspecified}
+ CODE local:16
+}
+
+interrogateDiversionQ OPERATION ::=
+ { -- sent from the interrogating h.323-endpoint to the served h.323-endpoint
+ ARGUMENT
+ SEQUENCE {procedure Procedure,
+ basicService BasicService DEFAULT allServices,
+ servedUserNr EndpointAddress,
+ interrogatingUserNr EndpointAddress,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT IntResultList
+ ERRORS
+ {userNotSubscribed | notAvailable | invalidServedUserNumber |
+ temporarilyUnavailable | notAuthorized | unspecified}
+ CODE local:17
+}
+
+checkRestriction OPERATION ::=
+ { -- sent from the served h.323-endpoint to the diverted-to h.323-endpoint
+ ARGUMENT
+ SEQUENCE {servedUserNr EndpointAddress,
+ basicService BasicService,
+ divertedToNr EndpointAddress,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | invalidServedUserNumber | invalidDivertedNumber |
+ specialServiceNumber | unspecified}
+ CODE local:18
+}
+
+callRerouting OPERATION ::=
+ { -- sent from the served h.323-endpoint to the rerouting h.323-endpoint
+ ARGUMENT
+ SEQUENCE {reroutingReason DiversionReason,
+ originalReroutingReason DiversionReason OPTIONAL,
+ calledAddress EndpointAddress,
+ diversionCounter INTEGER(1..15),
+ h225InfoElement H225InformationElement,
+ -- The H.225 information elements Bearer capability,
+ -- High layer compatibility, Low layer compatibility and
+ -- Progress Indicator information element may be embedded
+ -- in the h225InfoElement in accordance with H.450.1.
+ lastReroutingNr EndpointAddress,
+ subscriptionOption SubscriptionOption,
+ callingPartySubaddress PartySubaddress OPTIONAL,
+ callingNumber EndpointAddress,
+ callingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ originalCalledNr EndpointAddress OPTIONAL,
+ redirectingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ originalCalledInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ ERRORS
+ {userNotSubscribed | notAvailable | resourceUnavailable |
+ invalidDivertedNumber | specialServiceNumber |
+ diversionToServedUserNumber | numberOfDiversionsExceeded |
+ supplementaryServiceInteractionNotAllowed | unspecified}
+ CODE local:19
+}
+
+divertingLegInformation1 OPERATION ::=
+ { -- sent from the re-routing h.323-endpoint to the originating h.323-endpoint
+ -- if the re-routing endpoint equals the originating endpoint, this operation
+
+ -- is not applicable; may also be sent from the rerouting endpoint to other
+ -- members of a conference, if subscription option allows.
+ ARGUMENT
+ SEQUENCE {diversionReason DiversionReason,
+ subscriptionOption SubscriptionOption,
+ nominatedNr EndpointAddress,
+ nominatedInfo BMPString(SIZE (1..128)) OPTIONAL,
+ redirectingNr EndpointAddress OPTIONAL,
+ redirectingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:20
+}
+
+divertingLegInformation2 OPERATION ::=
+ { --sent from the re-routing h.323-endpoint to the diverted-to h.323-endpoint
+ ARGUMENT
+ SEQUENCE {diversionCounter INTEGER(1..15),
+ diversionReason DiversionReason,
+ originalDiversionReason DiversionReason OPTIONAL,
+ divertingNr EndpointAddress OPTIONAL,
+ originalCalledNr EndpointAddress OPTIONAL,
+ redirectingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ originalCalledInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ -- The divertingNr element is mandatory except in the case of interworking
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:21
+}
+
+divertingLegInformation3 OPERATION ::= {
+ --sent from the diverted-to h.323-endpoint to the originating h.323-endpoint
+ ARGUMENT
+ SEQUENCE {presentationAllowedIndicator PresentationAllowedIndicator,
+ redirectionNr EndpointAddress OPTIONAL,
+ redirectionInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:22
+}
+
+divertingLegInformation4 OPERATION ::= {
+ -- If call diversion in not performed by the forwarding terminal but by a
+ -- gatekeeper, the gatekeeper may send divertingLegInformation4 apdu to the
+ -- forwarding terminal.
+ ARGUMENT
+ SEQUENCE {diversionReason DiversionReason,
+ subscriptionOption SubscriptionOption,
+ callingNr EndpointAddress,
+ callingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ nominatedNr EndpointAddress,
+ nominatedInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:100
+}
+
+cfnrDivertedLegFailed OPERATION ::=
+ { -- sent from the rerouting h.323-terminal to the served h.323-endpoint
+ ARGUMENT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:23
+}
+
+-- This indicates that the diverted-to leg has been cleared during SS-CFNR execution.
+-- Definitions of general used data types:
+DiversionReason ::= ENUMERATED {unknown(0), cfu(1), cfb(2), cfnr(3), ...
+ }
+
+-- The value unknown is only used if received from another network when interworking.
+IntResultList ::= SET SIZE (0..29) OF IntResult
+
+IntResult ::= SEQUENCE {
+ servedUserNr EndpointAddress,
+ basicService BasicService,
+ procedure Procedure,
+ divertedToAddress EndpointAddress,
+ remoteEnabled BOOLEAN DEFAULT FALSE,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+Procedure ::= ENUMERATED {cfu(0), cfb(1), cfnr(2), ...
+ }
+
+SubscriptionOption ::= ENUMERATED {
+ noNotification(0), notificationWithoutDivertedToNr(1),
+ notificationWithDivertedToNr(2), ...
+ }
+
+invalidDivertedNumber ERROR ::= {CODE local:12
+}
+
+specialServiceNumber ERROR ::= {CODE local:14
+}
+
+diversionToServedUserNumber ERROR ::= {CODE local:15
+}
+
+numberOfDiversionsExceeded ERROR ::= {CODE local:24
+}
+
+temporarilyUnavailable ERROR ::= {CODE local:1000
+}
+
+notAuthorized ERROR ::= {CODE local:1007
+}
+
+unspecified ERROR ::= {
+ PARAMETER
+ CHOICE {extension Extension{{ExtensionSet}},
+ nonStandard NonStandardParameter}
+ CODE local:1008
+}
+
+BasicService ::= ENUMERATED {
+ allServices(0),
+ -- speech (1),
+ -- unrestrictedDigitalInformation (2),
+ -- audio3.1KHz (3),
+ -- telephony (32),
+ -- teletex (33),
+ -- telefaxGroup4Class1 (34),
+ -- videotexSyntaxBased (35),
+ -- videotelephony (36),
+ ...
+ }
+
+-- For multimedia calls the value "allServices" shall be used only.
+-- The usage of the other codepoints for multimedia calls is for further study.
+ExtensionSeq ::= SEQUENCE OF Extension{{ExtensionSet}}
+
+ExtensionSet EXTENSION ::=
+ {...}
+
+-- Actual values defined by individual manufacturers
+END -- of Call-Diversion-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Call-Hold-Operations.asn b/epan/dissectors/asn1/h450/Call-Hold-Operations.asn
new file mode 100644
index 00000000..ed59f8a6
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Call-Hold-Operations.asn
@@ -0,0 +1,131 @@
+-- Call-Hold-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.4/1999/Call-Hold-Operations.asn
+--
+
+-- Module Call-Hold-Operations (H.450.4:05/1999)
+Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ notAvailable, invalidCallState, resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ NonStandardParameter
+ FROM H323-MESSAGES; -- see H.225.0
+
+CallHoldOperations OPERATION ::=
+ {holdNotific | retrieveNotific | remoteHold | remoteRetrieve}
+
+holdNotific OPERATION ::=
+ { -- sent from holding to held H.323 endpoint to invoke near-end call hold feature
+
+ ARGUMENT HoldNotificArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:101
+}
+
+HoldNotificArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+retrieveNotific OPERATION ::=
+ { -- sent from holding to held H.323 endpoint to invoke retrieval of near-end call hold feature
+
+ ARGUMENT RetrieveNotificArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:102
+}
+
+RetrieveNotificArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+remoteHold OPERATION ::=
+ { -- sent from holding to held H.323 endpoint to invoke remote-end call hold feature
+
+ ARGUMENT RemoteHoldArg
+ OPTIONAL TRUE
+ RESULT RemoteHoldRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable
+ | -- feature not available in combination with the basic service
+ invalidCallState | --hold not possible in current call state
+ resourceUnavailable | -- maximum number of calls on hold reached
+ supplementaryServiceInteractionNotAllowed |
+
+ -- other supplementary service prohibits hold
+ undefined -- undefined reason--}
+ CODE local:103
+}
+
+RemoteHoldArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+RemoteHoldRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+remoteRetrieve OPERATION ::=
+ { -- sent from holding to held H.323 endpoint to invoke retrieval of remote-end call hold feature
+
+ ARGUMENT RemoteRetrieveArg
+ OPTIONAL TRUE
+ RESULT RemoteRetrieveRes
+ OPTIONAL TRUE
+ ERRORS
+ {invalidCallState |
+
+ -- Call to which retrieve request applies is not in state Hold_RE_Held
+ undefined -- undefined reason--}
+ CODE local:104
+}
+
+RemoteRetrieveArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+RemoteRetrieveRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+MixedExtension ::= CHOICE {
+ extension Extension{{ExtensionSet}},
+ nonStandardData NonStandardParameter
+}
+
+ExtensionSet EXTENSION ::=
+ {...}
+
+-- Actual values defined by individual manufacturers
+undefined ERROR ::= {
+ PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
+ OPTIONAL TRUE
+ CODE local:2002
+}
+
+END -- of Call-Hold-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Call-Intrusion-Operations.asn b/epan/dissectors/asn1/h450/Call-Intrusion-Operations.asn
new file mode 100644
index 00000000..8107615c
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Call-Intrusion-Operations.asn
@@ -0,0 +1,209 @@
+-- Call-Intrusion-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.11/2001/Call-Intrusion-Operations.asn
+--
+
+-- Module Call-Intrusion-Operations (H.450.11:03/2001)
+Call-Intrusion-Operations {itu-t recommendation h 450 11 version1(0)
+ call-intrusion-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ CallIdentifier
+ FROM H323-MESSAGES -- see H.225.0
+
+ MixedExtension, undefined
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)}
+ notAvailable, supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ callWaiting
+ FROM Call-Waiting-Operations {itu-t recommendation h 450 6 version1(0)
+ call-waiting-operations(0)}
+ cfbOverride, remoteUserAlerting
+ FROM Call-Offer-Operations {itu-t recommendation h 450 10 version1(0)
+ call-offer-operations(0)};
+
+H323CallIntrusionOperations OPERATION ::=
+ {callIntrusionRequest | callIntrusionGetCIPL | callIntrusionIsolate |
+ callIntrusionForcedRelease | callIntrusionWOBRequest |
+ callIntrusionSilentMonitor | callIntrusionNotification | cfbOverride |
+ remoteUserAlerting | callWaiting}
+
+-- callWaiting is only used for interaction with Call Transfer
+callIntrusionRequest OPERATION ::= {
+ ARGUMENT CIRequestArg
+ RESULT CIRequestRes
+ ERRORS
+ {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
+ undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:43
+}
+
+callIntrusionGetCIPL OPERATION ::= {
+ ARGUMENT CIGetCIPLOptArg
+ OPTIONAL TRUE
+ RESULT CIGetCIPLRes
+ ALWAYS RESPONDS FALSE
+ CODE local:44
+}
+
+callIntrusionIsolate OPERATION ::= {
+ ARGUMENT CIIsOptArg
+ OPTIONAL TRUE
+ RESULT CIIsOptRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:45
+}
+
+callIntrusionForcedRelease OPERATION ::= {
+ ARGUMENT CIFrcRelArg
+ OPTIONAL TRUE
+ RESULT CIFrcRelOptRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
+ undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:46
+}
+
+callIntrusionWOBRequest OPERATION ::= {
+ ARGUMENT CIWobOptArg
+ OPTIONAL TRUE
+ RESULT CIWobOptRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:47
+}
+
+callIntrusionSilentMonitor OPERATION ::= {
+ ARGUMENT CISilentArg
+ RESULT CISilentOptRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
+ undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:116
+}
+
+callIntrusionNotification OPERATION ::= {
+ ARGUMENT CINotificationArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:117
+}
+
+CIRequestArg ::= SEQUENCE {
+ ciCapabilityLevel CICapabilityLevel,
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIRequestRes ::= SEQUENCE {
+ ciStatusInformation CIStatusInformation,
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIGetCIPLOptArg ::= SEQUENCE {
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIGetCIPLRes ::= SEQUENCE {
+ ciProtectionLevel CIProtectionLevel,
+ silentMonitoringPermitted NULL OPTIONAL,
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIIsOptArg ::= SEQUENCE {
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIIsOptRes ::= SEQUENCE {
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIFrcRelArg ::= SEQUENCE {
+ ciCapabilityLevel CICapabilityLevel,
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIFrcRelOptRes ::= SEQUENCE {
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIWobOptArg ::= SEQUENCE {
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIWobOptRes ::= SEQUENCE {
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CISilentArg ::= SEQUENCE {
+ ciCapabilityLevel CICapabilityLevel,
+ specificCall CallIdentifier OPTIONAL,
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CISilentOptRes ::= SEQUENCE {
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CINotificationArg ::= SEQUENCE {
+ ciStatusInformation CIStatusInformation,
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CICapabilityLevel ::= INTEGER {
+ intrusionLowCap(1), intrusionMediumCap(2), intrusionHighCap(3)}(1..3)
+
+CIProtectionLevel ::= INTEGER {
+ lowProtection(0), mediumProtection(1), highProtection(2), fullProtection(3)
+}(0..3)
+
+CIStatusInformation ::= CHOICE {
+ callIntrusionImpending NULL,
+ callIntruded NULL,
+ callIsolated NULL,
+ callForceReleased NULL,
+ callIntrusionComplete NULL,
+ callIntrusionEnd NULL,
+ ...
+}
+
+notBusy ERROR ::= {CODE local:1009
+} -- used when the called user is not busy
+
+temporarilyUnavailable ERROR ::= {CODE local:1000
+} -- used when conditions for invocation of SS-CI
+
+-- are momentarily not met
+notAuthorized ERROR ::= {CODE local:1007
+} -- used when a SS-CI request is rejected
+
+-- because of insufficient CICL or if silent
+-- monitoring is not permitted
+END -- of Call-Intrusion-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Call-Offer-Operations.asn b/epan/dissectors/asn1/h450/Call-Offer-Operations.asn
new file mode 100644
index 00000000..af3aa516
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Call-Offer-Operations.asn
@@ -0,0 +1,71 @@
+-- Call-Offer-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.10/2001/Call-Offer-Operations.asn
+--
+
+-- Module Call-Offer-Operations (H.450.10:03/2001)
+Call-Offer-Operations {itu-t recommendation h 450 10 version1(0)
+ call-offer-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)}
+ callWaiting
+ FROM Call-Waiting-Operations {itu-t recommendation h 450 6 version1(0)
+ call-waiting-operations(0)};
+
+H323CallOfferOperations OPERATION ::=
+ {callOfferRequest | callWaiting | remoteUserAlerting | cfbOverride}
+
+callOfferRequest OPERATION ::= -- sent from calling to called endpoint
+ {
+ ARGUMENT CoReqOptArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:34
+}
+
+remoteUserAlerting OPERATION ::= -- sent from called to calling endpoint
+ {
+ ARGUMENT RUAlertOptArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:115
+}
+
+cfbOverride OPERATION ::= -- sent from calling to called endpoint
+ {
+ ARGUMENT CfbOvrOptArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:49
+}
+
+CoReqOptArg ::= SEQUENCE {
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+RUAlertOptArg ::= SEQUENCE {
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CfbOvrOptArg ::= SEQUENCE {
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+END -- of Call-Offer-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Call-Park-Pickup-Operations.asn b/epan/dissectors/asn1/h450/Call-Park-Pickup-Operations.asn
new file mode 100644
index 00000000..d8a0f9a5
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Call-Park-Pickup-Operations.asn
@@ -0,0 +1,302 @@
+-- Call-Park-Pickup-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.5/1999/Call-Park-Pickup-Operations.asn
+--
+
+-- Module Call-Park-Pickup-Operations (H.450.5:05/1999)
+Call-Park-Pickup-Operations {itu-t recommendation h 450 5 version1(0)
+ call-park-pickup-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ notAvailable, invalidCallState, resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ EndpointAddress
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)}
+ NonStandardParameter, CallIdentifier
+ FROM H323-MESSAGES; -- see H.225.0
+
+CallParkPickupOperations OPERATION ::=
+ {cpRequest | cpSetup | groupIndicationOn | groupIndicationOff | pickrequ |
+ pickup | pickExe | cpNotify | cpickupNotify}
+
+cpRequest OPERATION ::=
+ { -- sent from parking endpoint to the parked endpoint to invoke SS-PARK
+ ARGUMENT CpRequestArg
+ RESULT CpRequestRes
+ ERRORS
+ {notAvailable |
+
+ -- feature not available in combination with the basic service
+ invalidCallState | -- call park not possible in current call state
+ resourceUnavailable | -- maximum number of parked calls reached
+ supplementaryServiceInteractionNotAllowed |
+
+ -- other supplementary service prohibits call park invocation
+ undefined -- undefined reason--}
+ CODE local:106
+}
+
+CpRequestArg ::= SEQUENCE {
+ parkingNumber EndpointAddress,
+ parkedNumber EndpointAddress,
+ parkedToNumber EndpointAddress,
+ parkedToPosition ParkedToPosition OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CpRequestRes ::= SEQUENCE {
+ parkedToNumber EndpointAddress,
+ parkedToPosition ParkedToPosition OPTIONAL,
+ parkCondition ParkCondition,
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+cpSetup OPERATION ::= { -- sent from parked endpoint to the parked-to endpoint
+ ARGUMENT CpSetupArg
+ RESULT CpSetupRes
+ ERRORS
+ {notAvailable |
+
+ -- feature not available in combination with the basic service
+ invalidCallState | -- call park not possible in current call state
+ resourceUnavailable | -- maximum number of parked calls reached
+ supplementaryServiceInteractionNotAllowed |
+
+ -- other supplementary service prohibits call park invocation
+ undefined -- undefined reason --}
+ CODE local:107
+}
+
+CpSetupArg ::= SEQUENCE {
+ parkingNumber EndpointAddress,
+ parkedNumber EndpointAddress,
+ parkedToNumber EndpointAddress,
+ parkedToPosition ParkedToPosition OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CpSetupRes ::= SEQUENCE {
+ parkedToNumber EndpointAddress,
+ parkedToPosition ParkedToPosition OPTIONAL,
+ parkCondition ParkCondition,
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+groupIndicationOn OPERATION ::=
+ { -- sent from the parked-to endpoint/alerting endpoint to the group members
+ ARGUMENT GroupIndicationOnArg
+ RESULT GroupIndicationOnRes
+ ERRORS {undefined -- undefined reason--}
+ CODE local:108
+}
+
+GroupIndicationOnArg ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of the call to be retrieved (parked or alerting call);
+ -- its value equals the value of the CallIdentifier as assigned for the parked/
+ -- alerting call within Setup-UUIE
+ groupMemberUserNr EndpointAddress,
+ retrieveCallType CallType,
+ partyToRetrieve EndpointAddress, -- Parked or Calling User
+ retrieveAddress EndpointAddress, -- parked-to or alerting entity address
+
+ -- (may also be a GK, see 9.2)
+ parkPosition ParkedToPosition OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+GroupIndicationOnRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+groupIndicationOff OPERATION ::=
+ { -- sent from the parked-to endpoint/alerting endpoint to the group members
+ ARGUMENT GroupIndicationOffArg
+ RESULT GroupIndicationOffRes
+ ERRORS
+ {invalidCallState | -- group indication is not on
+ undefined -- undefined reason--}
+ CODE local:109
+}
+
+GroupIndicationOffArg ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of the call that has been picked up (parked or alerting call)
+ groupMemberUserNr EndpointAddress,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+GroupIndicationOffRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+pickrequ OPERATION ::= { -- sent from the picking-up user to the parked-to/
+ -- alerting endpoint as part of the SS-PICKUP invocation
+ ARGUMENT PickrequArg
+ RESULT PickrequRes
+ ERRORS
+ {undefined | -- undefined reason
+
+ callAlreadyPickedUp -- call has already been picked up by another user --}
+ CODE local:110
+}
+
+PickrequArg ::= SEQUENCE {
+ picking-upNumber EndpointAddress,
+ callPickupId CallIdentifier OPTIONAL,
+ -- identification of the call to be picked up (parked or alerting call), if known
+ partyToRetrieve EndpointAddress OPTIONAL, -- Parked or Calling User
+ retrieveAddress EndpointAddress, -- parked-to or alerting entity address
+ parkPosition ParkedToPosition OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+PickrequRes ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of the call that is being picked up (parked or alerting call),
+ -- if not sent in pickrequ invoke, it is assigned at the parked-to/alerting
+ -- endpoint and reflects the CallIdentification of the parked/alerting call for
+ -- later association with the pickExe invoke APDU.
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+pickup OPERATION ::=
+ { -- sent from the parked-to/alerting endpoint to the parked/calling endpoint
+ -- after the picking-up user has invoked SS-PICKUP. The picking-up user may
+ -- be local (i.e. parked-to/alerting endpoint equals picking-up
+ -- endpoint) or may be remote (i.e. picking-up user is located at a
+ -- remote picking-up endpoint having sent pickrequ invoke APDU to the
+ -- parked-to/alerting endpoint).
+ ARGUMENT PickupArg
+ RESULT PickupRes
+ ERRORS
+ {undefined | -- undefined reason
+
+ callAlreadyPickedUp -- call has already been picked up by another user --}
+ CODE local:111
+}
+
+PickupArg ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of this call to be picked up (parked or alerting call);
+ -- equals the CallIdentifier value that was assigned to this call in Setup-UUIE
+ picking-upNumber EndpointAddress,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+PickupRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+pickExe OPERATION ::=
+ { -- sent from the parked/calling endpoint to the picking-up endpoint
+ ARGUMENT PickExeArg
+ RESULT PickExeRes
+ ERRORS
+ {undefined | -- undefined reason
+
+ callPickupIdInvalid
+ -- value not matching with the previous SS-PICKUP request
+ }
+ CODE local:112
+}
+
+PickExeArg ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of the parked/alerting call to be picked-up;
+ -- required at picking-up endpoint to associate the SS-PICKUP invoked with this
+ -- incoming setup message carrying the pickExe invoke APDU.
+ picking-upNumber EndpointAddress,
+ partyToRetrieve EndpointAddress, -- Parked or Calling User
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+PickExeRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+cpNotify OPERATION ::=
+ { -- sent from the parking-to to parked endpoint in case of local park.
+ ARGUMENT CpNotifyArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:113
+}
+
+CpNotifyArg ::= SEQUENCE {
+ parkingNumber EndpointAddress OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+cpickupNotify OPERATION ::=
+ { -- sent from parked-to to parked endpoint in case of SS-PICKUP from local park
+
+ ARGUMENT CpickupNotifyArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:114
+}
+
+CpickupNotifyArg ::= SEQUENCE {
+ picking-upNumber EndpointAddress OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+ParkedToPosition ::= INTEGER(0..65535)
+
+ParkCondition ::= ENUMERATED {
+ unspecified(0), parkedToUserIdle(1), parkedToUserBusy(2), parkedToGroup(3),
+ ...
+ }
+
+CallType ::= ENUMERATED {parkedCall(0), alertingCall(1), ...
+ }
+
+callPickupIdInvalid ERROR ::= {CODE local:2000
+}
+
+callAlreadyPickedUp ERROR ::= {CODE local:2001
+}
+
+undefined ERROR ::= {
+ PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
+ OPTIONAL TRUE
+ CODE local:2002
+}
+
+END -- of Call-Park-Pickup-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Call-Transfer-Operations.asn b/epan/dissectors/asn1/h450/Call-Transfer-Operations.asn
new file mode 100644
index 00000000..cbe7cd67
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Call-Transfer-Operations.asn
@@ -0,0 +1,244 @@
+-- Call-Transfer-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.2/1998/Call-Transfer-Operations.asn
+--
+
+-- Module Call-Transfer-Operations (H.450.2:02/1998)
+Call-Transfer-Operations {itu-t recommendation h 450 2 version1(0)
+ call-transfer-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ notAvailable, supplementaryServiceInteractionNotAllowed, invalidCallState
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ EndpointAddress, PartySubaddress
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ NonStandardParameter
+ FROM H323-MESSAGES -- see H.225.0
+
+ H225InformationElement
+ FROM H225-generic-parameters-definition {itu-t recommendation h 450
+ 1 version1(0) h225-generic-parameters(6)};
+
+H323CallTransferOperations OPERATION ::=
+ {callTransferIdentify | callTransferAbandon | callTransferInitiate |
+ callTransferSetup | callTransferUpdate | subaddressTransfer |
+ callTransferComplete | callTransferActive}
+
+callTransferIdentify OPERATION ::= {
+ -- sent from transferring endpoint to transferred-to endpoint
+ ARGUMENT DummyArg
+ OPTIONAL TRUE
+ RESULT CTIdentifyRes
+ ERRORS
+ {notAvailable | invalidCallState |
+ supplementaryServiceInteractionNotAllowed | unspecified}
+ CODE local:7
+}
+
+callTransferAbandon OPERATION ::= {
+ -- sent from transferring to transferred-to endpoint
+ ARGUMENT DummyArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:8
+}
+
+callTransferInitiate OPERATION ::= {
+ -- sent from transfering to transferred endpoint
+ ARGUMENT CTInitiateArg
+ RESULT DummyRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | invalidCallState | invalidReroutingNumber |
+ unrecognizedCallIdentity | establishmentFailure |
+ supplementaryServiceInteractionNotAllowed | unspecified}
+ CODE local:9
+}
+
+callTransferSetup OPERATION ::= {
+ -- sent from transferred to transferred-to endpoint
+ ARGUMENT CTSetupArg
+ RESULT DummyRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | invalidCallState | invalidReroutingNumber |
+ unrecognizedCallIdentity | unspecified |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local:10
+}
+
+callTransferUpdate OPERATION ::= {
+ -- may be sent from transferred to transferred-to endpoint (in SETUP) and
+ -- vice versa (in CONNECT)
+ ARGUMENT CTUpdateArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:13
+}
+
+subaddressTransfer OPERATION ::= {
+ -- may be sent from transferred to the transferred-to endpoint and vice versa
+ ARGUMENT SubaddressTransferArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:14
+}
+
+callTransferComplete OPERATION ::= {
+ -- sent from GK to the transferred endpoint, if GK performs call transfer
+ -- (see 10.6.1).
+ ARGUMENT CTCompleteArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:12
+}
+
+callTransferActive OPERATION ::= {
+ -- sent from gatekeeper to the transferred endpoint, in case of transfer ringing
+ -- after transferred-to endpoint has answered the call (only in case of
+ -- transfer performed by gatekeeper)
+ ARGUMENT CTActiveArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:11
+}
+
+DummyArg ::= CHOICE {
+ extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter
+}
+
+DummyRes ::= CHOICE {
+ extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter
+}
+
+CTInitiateArg ::= SEQUENCE {
+ callIdentity CallIdentity,
+ reroutingNumber EndpointAddress,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CTSetupArg ::= SEQUENCE {
+ callIdentity CallIdentity,
+ transferringNumber EndpointAddress OPTIONAL,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CTIdentifyRes ::= SEQUENCE {
+ callIdentity CallIdentity,
+ reroutingNumber EndpointAddress,
+ resultExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CTUpdateArg ::= SEQUENCE {
+ redirectionNumber EndpointAddress,
+ redirectionInfo BMPString(SIZE (1..128)) OPTIONAL,
+ basicCallInfoElements H225InformationElement OPTIONAL,
+ -- Information element
+ -- Progress indicator may be conveyed
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+SubaddressTransferArg ::= SEQUENCE {
+ redirectionSubaddress PartySubaddress,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CTCompleteArg ::= SEQUENCE {
+ endDesignation EndDesignation,
+ redirectionNumber EndpointAddress,
+ -- number of new connected user
+ basicCallInfoElements H225InformationElement OPTIONAL,
+ -- Information element Progress indicator may be conveyed
+ redirectionInfo BMPString(SIZE (1..128)) OPTIONAL,
+ callStatus CallStatus DEFAULT answered,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+EndDesignation ::= ENUMERATED {primaryEnd(0), secondaryEnd(1), ...
+ }
+
+CallStatus ::= ENUMERATED {answered(0), alerting(1), ...
+ }
+
+CTActiveArg ::= SEQUENCE {
+ connectedAddress EndpointAddress,
+ -- number of new connected user
+ basicCallInfoElements H225InformationElement OPTIONAL,
+ -- Information element Progress indicator may be conveyed
+ connectedInfo BMPString(SIZE (1..128)) OPTIONAL,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CallIdentity ::= NumericString(SIZE (0..4))
+
+-- size 0 means 'empty'
+ExtensionSeq ::= SEQUENCE OF Extension{{ExtensionSet}}
+
+ExtensionSet EXTENSION ::=
+ {...}
+
+-- Actual values defined by individual manufacturers
+unspecified ERROR ::= {
+ PARAMETER
+ CHOICE {extension Extension{{ExtensionSet}},
+ nonStandard NonStandardParameter}
+ CODE local:1008
+}
+
+invalidReroutingNumber ERROR ::= {
+ -- used when establishment of the new connection fails
+ -- because the reroutingNumber is not a valid alias address
+ CODE local:1004
+}
+
+unrecognizedCallIdentity ERROR ::= {
+ -- used when establishment of the new connection fails because it
+ -- could not be associated with a SS-CT entity at the
+ -- transferred-to endpoint
+ CODE local:1005
+}
+
+establishmentFailure ERROR ::= {
+ -- used when establishment of the new connection fails and
+ -- no other error applies
+ CODE local:1006
+}
+
+END -- of Call-Transfer-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Call-Waiting-Operations.asn b/epan/dissectors/asn1/h450/Call-Waiting-Operations.asn
new file mode 100644
index 00000000..fa2e1de7
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Call-Waiting-Operations.asn
@@ -0,0 +1,45 @@
+-- Call-Waiting-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.6/1999/Call-Waiting-Operations.asn
+--
+
+-- Module Call-Waiting-Operations (H.450.6:05/1999)
+Call-Waiting-Operations {itu-t recommendation h 450 6 version1(0)
+ call-waiting-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)};
+
+CallWaitingOperations OPERATION ::= {callWaiting}
+
+callWaiting OPERATION ::=
+ { -- sent from served endpoint to the calling endpoint in ALERTING message
+ ARGUMENT CallWaitingArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:105
+}
+
+CallWaitingArg ::= SEQUENCE {
+ nbOfAddWaitingCalls INTEGER(0..255) OPTIONAL,
+ -- indicates the number of waiting calls at the served user
+ -- in addition to the call to which this operation applies.
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+END -- of Call-Waiting-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Common-Information-Operations.asn b/epan/dissectors/asn1/h450/Common-Information-Operations.asn
new file mode 100644
index 00000000..8fb8e35e
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Common-Information-Operations.asn
@@ -0,0 +1,149 @@
+-- Common-Information-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.12/2001/Common-Information-Operations.asn
+--
+
+-- Module Common-Information-Operations (H.450.12:07/2001)
+Common-Information-Operations {itu-t recommendation h 450 12 version1(0)
+ common-information-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ MixedExtension, undefined
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)};
+
+H323CommonInformationOperations OPERATION ::= {cmnRequest | cmnInform}
+
+cmnRequest OPERATION ::= {
+ ARGUMENT DummyArg
+ OPTIONAL TRUE
+ RESULT CmnArg
+ ERRORS {undefined}
+ CODE local:84
+}
+
+cmnInform OPERATION ::= {
+ ARGUMENT CmnArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:85
+}
+
+CmnArg ::= SEQUENCE {
+ featureList FeatureList OPTIONAL,
+ featureValues FeatureValues OPTIONAL,
+ featureControl FeatureControl OPTIONAL,
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+DummyArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL
+}
+
+FeatureList ::= SEQUENCE {
+ -- indicates capabilities of the endpoint sending the FeatureList
+ ssCFreRoutingSupported NULL OPTIONAL, -- Call Forwarding rerouting
+
+ -- supported meaningful only in
+ -- forward direction during call
+ -- establishment
+ ssCTreRoutingSupported NULL OPTIONAL, -- Call Transfer rerouting
+
+ -- supported meaningful both in
+ -- forward & backward direction
+ -- during call establishment
+ ssCCBSPossible NULL OPTIONAL, -- CCBS possible meaningful only
+
+ -- in backward direction before
+ -- receipt of ALERTING/CONNECT
+ ssCCNRPossible NULL OPTIONAL, -- CCNR possible meaningful only
+
+ -- in backward direction before
+ -- receipt of CONNECT
+ ssCOSupported NULL OPTIONAL, -- Call Offer supported
+
+ -- meaningful only in backward
+ -- direction during call
+ -- establishment
+ -- Call Intrusion
+ ssCIForcedReleaseSupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ ssCIIsolationSupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ ssCIWaitOnBusySupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ ssCISilentMonitoringSupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ ssCIConferenceSupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ -- Call Hold
+ ssCHFarHoldSupported NULL OPTIONAL, -- meaningful in both
+
+ -- directions
+ -- Message Waiting Callback
+ ssMWICallbackSupported NULL OPTIONAL, -- meaningful in backward
+
+ -- direction
+ -- meaningful both in
+ -- forward & backward
+ -- direction during call
+ -- establishment
+ -- Call Park
+ ssCPCallParkSupported NULL OPTIONAL, -- meaningful in both
+
+ -- directions
+ ...
+}
+
+FeatureValues ::= SEQUENCE {
+ partyCategory PartyCategory OPTIONAL,
+ ssCIprotectionLevel SSCIProtectionLevel OPTIONAL,
+ -- Supplementary Service Call Intrusion Protection level
+ -- meaningful both in forward and backward direction; inclusion
+ -- indicates support of SS-CI as an unwanted endpoint (forward
+ -- direction) or as a Terminating Endpoint (backward direction),
+ -- as well as the applicable protection level.
+ ...
+}
+
+PartyCategory ::= ENUMERATED {unknown, extension, attendant, emergExt, ...
+ }
+
+SSCIProtectionLevel ::= INTEGER(0..3)
+
+FeatureControl ::= SEQUENCE {
+ ssCHDoNotHold NULL OPTIONAL, -- meaningful in both directions
+
+ -- Sending endpoint shall not be held
+ ssCTDoNotTransfer NULL OPTIONAL, -- meaningful in both directions
+
+ -- sending endpoint shall not be transferred
+ ssMWICallbackCall NULL OPTIONAL, -- meaningful only in SETUP
+
+ -- indicating a callback call
+ ssCISilentMonitorPermitted NULL OPTIONAL, -- unwanted endpoint
+
+ -- allows for
+ -- silent monitoring
+ -- meaningful in forward and backward direction
+ ...
+}
+
+END -- of Common-Information-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/H225-generic-parameters-definition.asn b/epan/dissectors/asn1/h450/H225-generic-parameters-definition.asn
new file mode 100644
index 00000000..adb22cda
--- /dev/null
+++ b/epan/dissectors/asn1/h450/H225-generic-parameters-definition.asn
@@ -0,0 +1,17 @@
+-- H225-generic-parameters-definition.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/H225-generic-parameters-definition.asn
+--
+
+-- Module H225-generic-parameters-definition (H.450.1:02/1998)
+H225-generic-parameters-definition {itu-t recommendation h 450 1 version1(0)
+ h225-generic-parameters(6)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+H225InformationElement ::= OCTET STRING
+
+END -- of H225 Generic parameters definition
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/H4501-General-Error-List.asn b/epan/dissectors/asn1/h450/H4501-General-Error-List.asn
new file mode 100644
index 00000000..2e9f9ec3
--- /dev/null
+++ b/epan/dissectors/asn1/h450/H4501-General-Error-List.asn
@@ -0,0 +1,100 @@
+-- H4501-General-Error-List.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/H4501-General-Error-List.asn
+--
+
+-- Module H4501-General-Error-List (H.450.1:02/1998)
+H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+-- The following errors are based on the error definitions of Recommendation Q.950.
+userNotSubscribed ERROR ::= {CODE local:0
+}
+
+-- is an indication that the user has not subscribed to this service.
+rejectedByNetwork ERROR ::= {CODE local:1
+}
+
+-- is an indication that the requested service is rejected by the network
+-- (e.g. gatekeeper).
+rejectedByUser ERROR ::= {CODE local:2
+}
+
+-- is an indication that the requested service is provided by the
+-- network but that the remote user has rejected this service request.
+notAvailable ERROR ::= {CODE local:3
+}
+
+-- is an indication that the user has subscribed to this service but the
+-- requested service is not available combined with the basic service or
+-- the other services (e.g. operation).
+insufficientInformation ERROR ::= {CODE local:5
+}
+
+-- is an indication that the content of operation argument is
+-- incomplete, or absent entirely.
+invalidServedUserNumber ERROR ::= {CODE local:6
+}
+
+-- is an indication that the requested service cannot be performed
+-- because of the usage of an invalid served user number.
+invalidCallState ERROR ::= {CODE local:7
+}
+
+-- is an indication that no match exists between the service request and
+-- the valid H.225.0 call state, this applies also to invalid
+-- auxiliary states or an invalid combination of H.225.0 call states and
+-- auxiliary states.
+basicServiceNotProvided ERROR ::= {CODE local:8
+}
+
+-- is an indication that the service request is directed to a Basic
+-- Service which is not provided (e.g. this return error value is used
+-- in cases where a supplementary service is to be invoked with a SETUP
+-- message but indicating the wrong Basic Service).
+notIncomingCall ERROR ::= {CODE local:9
+}
+
+-- is an indication that the service request has been invoked for an
+-- outgoing call, which is not permitted for that service.
+supplementaryServiceInteractionNotAllowed ERROR ::= {CODE local:10
+}
+
+-- is an indication that the Service request is not permitted in
+-- combination with either a further requested or active supplementary
+-- service.
+resourceUnavailable ERROR ::= {CODE local:11
+}
+
+-- is an indication that the service provider has temporarily no
+-- resource available for the provision of the requested service.
+callFailure ERROR ::= {CODE local:25
+}
+
+-- is an indication that the requested supplementary service was not executable by virtue
+-- of a Basic Call Failure. The parameter is included under circumstances where the
+-- call failure was remote from the local gatekeeper interface over which the error is to
+-- be sent. For example when:
+-- a) no H.225.0 RELEASE COMPLETE message is provided locally, or
+-- b) the cause information element included in the RELEASE COMPLETE
+-- message represents only the reason for local basic call clearing.
+-- In these cases the parameter value represents the clearing cause included in the
+-- remote clearing procedure.
+proceduralError ERROR ::= {CODE local:43
+}
+
+-- is an indication that a transport message (e.g. SETUP)
+-- is received which has one or more operation APDUs which have a valid
+-- content but which are not specified as valid information content of
+-- the transport message used.
+END -- of H4501-General-Error-List
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/H4501-Supplementary-ServiceAPDU-Structure.asn b/epan/dissectors/asn1/h450/H4501-Supplementary-ServiceAPDU-Structure.asn
new file mode 100644
index 00000000..85904389
--- /dev/null
+++ b/epan/dissectors/asn1/h450/H4501-Supplementary-ServiceAPDU-Structure.asn
@@ -0,0 +1,72 @@
+-- H4501-Supplementary-ServiceAPDU-Structure.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/H4501-Supplementary-ServiceAPDU-Structure.asn
+--
+
+-- Module H4501-Supplementary-ServiceAPDU-Structure (H.450.1:02/1998)
+H4501-Supplementary-ServiceAPDU-Structure {itu-t recommendation h 450
+ 1 version1(0) h4501-facility-information-structure(2)} DEFINITIONS AUTOMATIC
+TAGS ::=
+BEGIN
+
+IMPORTS
+ AliasAddress
+ FROM H323-MESSAGES -- see H.225.0 V2
+
+ OPERATION, ROS{}, InvokeId
+ FROM Remote-Operations-Apdus {itu-t recommendation h 450 1 version1(0)
+ remote-operations-apdus(11)};
+
+H4501SupplementaryService ::= SEQUENCE {
+ networkFacilityExtension NetworkFacilityExtension OPTIONAL, -- see 8.1
+ interpretationApdu InterpretationApdu OPTIONAL, -- see 8.2
+ serviceApdu ServiceApdus, -- H.450.x supplementary services
+ ...
+}
+
+NetworkFacilityExtension ::= SEQUENCE {
+ sourceEntity EntityType,
+ sourceEntityAddress AddressInformation OPTIONAL,
+ destinationEntity EntityType,
+ destinationEntityAddress AddressInformation OPTIONAL,
+ ...
+}
+
+EntityType ::= CHOICE {endpoint NULL,
+ anyEntity NULL,
+ ...
+}
+
+AddressInformation ::= AliasAddress
+
+InterpretationApdu ::= CHOICE {
+ discardAnyUnrecognizedInvokePdu NULL,
+ clearCallIfAnyInvokePduNotRecognized NULL,
+ -- this value also applies to Call independent signalling connections
+ rejectAnyUnrecognizedInvokePdu NULL,
+ -- this coding is implied by the absence of an interpretation APDU.
+ ...
+}
+
+ServiceApdus ::= CHOICE {
+ rosApdus
+ SEQUENCE SIZE (1..MAX) OF
+ ROS{{InvokeIdSet}, {OperationSet}, {OperationSet}},
+ -- see 8.3; other alternatives may be defined in future versions
+ ...
+}
+
+InvokeIdSet INTEGER ::= {InvokeIDs, ...}
+
+InvokeIDs ::= INTEGER(0..65535)
+
+OperationSet OPERATION ::=
+ {...}
+
+-- actual values are defined by individual supplementary service specifications
+-- (e.g. H.450.x or manufacturer specific)
+END -- of H4501- Supplementary-ServiceAPDU-Structure
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Manufacturer-specific-service-extension-definition.asn b/epan/dissectors/asn1/h450/Manufacturer-specific-service-extension-definition.asn
new file mode 100644
index 00000000..80a591d4
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Manufacturer-specific-service-extension-definition.asn
@@ -0,0 +1,31 @@
+-- Manufacturer-specific-service-extension-definition.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/Manufacturer-specific-service-extension-definition.asn
+--
+
+-- Module Manufacturer-specific-service-extension-definition (H.450.1:02/1998)
+Manufacturer-specific-service-extension-definition {itu-t recommendation
+ h 450 1 version1(0) msi-definition(18)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXTENSION ::= CLASS {&ArgumentType ,
+ &extensionId OBJECT IDENTIFIER
+}WITH SYNTAX {ARGUMENT &ArgumentType
+ IDENTIFIER &extensionId
+}
+
+Extension{EXTENSION:ExtensionSet} ::= SEQUENCE {
+ extensionId EXTENSION.&extensionId({ExtensionSet}),
+ extensionArgument EXTENSION.&ArgumentType({ExtensionSet}{@extensionId})
+}
+
+-- ExtensionSet is a set of objects of class EXTENSION.
+-- Actual values of ExtensionSet are defined by the individual manufacturers.
+-- Element extensionId is constrained to be the identifier of an object from that set.
+-- Element extensionArgument is constrained to be the argument type for that particular
+-- object.
+END -- of Manufacturer-specific-service-extension-definition
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Message-Waiting-Indication-Operations.asn b/epan/dissectors/asn1/h450/Message-Waiting-Indication-Operations.asn
new file mode 100644
index 00000000..89d3d20a
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Message-Waiting-Indication-Operations.asn
@@ -0,0 +1,169 @@
+-- Message-Waiting-Indication-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.7/1999/Message-Waiting-Indication-Operations.asn
+--
+
+-- Module Message-Waiting-Indication-Operations (H.450.7:05/1999)
+Message-Waiting-Indication-Operations {itu-t recommendation h 450 7 version1(0)
+ message-waiting-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ userNotSubscribed, invalidServedUserNumber, basicServiceNotProvided
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ EndpointAddress
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)};
+
+H323-MWI-Operations OPERATION ::=
+ {mwiActivate | mwiDeactivate | mwiInterrogate}
+
+mwiActivate OPERATION ::= {
+ ARGUMENT MWIActivateArg
+ RESULT DummyRes
+ ERRORS
+ {userNotSubscribed | invalidServedUserNumber | basicServiceNotProvided |
+ undefined}
+ CODE local:80
+}
+
+mwiDeactivate OPERATION ::= {
+ ARGUMENT MWIDeactivateArg
+ RESULT DummyRes
+ ERRORS
+ {userNotSubscribed | invalidServedUserNumber | basicServiceNotProvided |
+ undefined}
+ CODE local:81
+}
+
+mwiInterrogate OPERATION ::= {
+ ARGUMENT MWIInterrogateArg
+ RESULT MWIInterrogateRes
+ ERRORS
+ {userNotSubscribed | invalidServedUserNumber | notActivated |
+ invalidMsgCentreId | undefined}
+ CODE local:82
+}
+
+MWIActivateArg ::= SEQUENCE {
+ servedUserNr EndpointAddress,
+ basicService BasicService,
+ msgCentreId MsgCentreId OPTIONAL,
+ nbOfMessages NbOfMessages OPTIONAL,
+ originatingNr EndpointAddress OPTIONAL,
+ timestamp TimeStamp OPTIONAL,
+ priority INTEGER(0..9) OPTIONAL,
+ -- the value 0 means the highest priority and 9 the lowest
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+DummyRes ::= SEQUENCE SIZE (0..255) OF MixedExtension
+
+MWIDeactivateArg ::= SEQUENCE {
+ servedUserNr EndpointAddress,
+ basicService BasicService,
+ msgCentreId MsgCentreId OPTIONAL,
+ callbackReq BOOLEAN OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+MWIInterrogateArg ::= SEQUENCE {
+ servedUserNr EndpointAddress,
+ basicService BasicService,
+ msgCentreId MsgCentreId OPTIONAL,
+ callbackReq BOOLEAN OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+MWIInterrogateRes ::= SEQUENCE SIZE (1..64) OF MWIInterrogateResElt
+
+MWIInterrogateResElt ::= SEQUENCE {
+ basicService BasicService,
+ msgCentreId MsgCentreId OPTIONAL,
+ nbOfMessages NbOfMessages OPTIONAL,
+ originatingNr EndpointAddress OPTIONAL,
+ timestamp TimeStamp OPTIONAL,
+ priority INTEGER(0..9) OPTIONAL,
+ -- the value 0 means the highest priority and 9 the lowest
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+MsgCentreId ::= CHOICE {
+ -- only partyNumber provides a callable identification
+ integer INTEGER(0..65535),
+ partyNumber EndpointAddress,
+ numericString NumericString(SIZE (1..10))
+}
+
+NbOfMessages ::= INTEGER(0..65535)
+
+TimeStamp ::= GeneralizedTime(SIZE (12..19))
+
+-- a VisibleString representation of date and time following ISO 8601
+-- containing:
+-- - the (local) date in 8 digits (YYYYMMDD),
+-- - followed by (local) time of day in 4 or 6 digits [HHMM(SS)],
+-- - optionally followed by the letter "Z" or by a local time differential
+-- from UTC time in 5 digits ("+"HHMM or "-"HHMM);
+-- Examples:
+-- 1) 19970621194530, meaning 21 June 1997, 19:45:30;
+-- 2) 19970621194530Z, meaning the same as 1);
+-- 3) 19970621194530-0500, meaning the same as 1),
+-- 5 hours retarded in relation to UTC time
+undefined ERROR ::= {
+ PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
+ OPTIONAL TRUE
+ CODE local:2002
+}
+
+invalidMsgCentreId ERROR ::=
+ { -- returned by a Message Centre endpoint when an unknown Message
+ -- Centre Identifier is specified in a mwiInterrogate invoke
+ CODE local:1018
+}
+
+BasicService ::= ENUMERATED {
+ -- MWI Services:
+ -- for compatibility among vendors, speech is recommended for voice mail
+ -- indications
+ allServices(0), speech(1), unrestrictedDigitalInformation(2), audio3100Hz(3),
+ telephony(32), teletex(33), telefaxGroup4Class1(34), videotexSyntaxBased(35),
+ videotelephony(36), telefaxGroup2-3(37), reservedNotUsed1(38),
+ reservedNotUsed2(39), reservedNotUsed3(40), reservedNotUsed4(41),
+ reservedNotUsed5(42),
+ --
+ -- MWI Service Classes:
+ email(51), video(52), fileTransfer(53), shortMessageService(54),
+ speechAndVideo(55), speechAndFax(56), speechAndEmail(57), videoAndFax(58),
+ videoAndEmail(59), faxAndEmail(60), speechVideoAndFax(61),
+ speechVideoAndEmail(62), speechFaxAndEmail(63), videoFaxAndEmail(64),
+ speechVideoFaxAndEmail(65), multimediaUnknown(66),
+ serviceUnknown(67),
+ --
+ -- Reserved for future additions:
+ futureReserve1(68), futureReserve2(69), futureReserve3(70),
+ futureReserve4(71), futureReserve5(72), futureReserve6(73),
+ futureReserve7(74), futureReserve8(75)}
+
+notActivated ERROR ::= {CODE local:31
+}
+
+END -- of Message-Waiting-Indication-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/Name-Operations.asn b/epan/dissectors/asn1/h450/Name-Operations.asn
new file mode 100644
index 00000000..efb21d16
--- /dev/null
+++ b/epan/dissectors/asn1/h450/Name-Operations.asn
@@ -0,0 +1,97 @@
+-- Name-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.8/2000/Name-Operations.asn
+--
+
+-- Module Name-Operations (H.450.8:02/2000)
+Name-Operations {itu-t recommendation h 450 8 version1(0) name-operations(0)}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)};
+
+NameOperations OPERATION ::=
+ {callingName | alertingName | connectedName | busyName}
+
+callingName OPERATION ::= {
+ ARGUMENT
+ SEQUENCE {name Name,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:0
+}
+
+alertingName OPERATION ::= {
+ ARGUMENT
+ SEQUENCE {name Name,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:1
+}
+
+connectedName OPERATION ::= {
+ ARGUMENT
+ SEQUENCE {name Name,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:2
+}
+
+busyName OPERATION ::= {
+ ARGUMENT
+ SEQUENCE {name Name,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:3
+}
+
+Name ::= CHOICE {
+ namePresentationAllowed NamePresentationAllowed,
+ namePresentationRestricted NamePresentationRestricted,
+ nameNotAvailable NULL,
+ ...
+}
+
+NamePresentationAllowed ::= CHOICE {
+ simpleName SimpleName,
+ extendedName ExtendedName,
+ ...
+}
+
+NamePresentationRestricted ::= CHOICE {
+ simpleName SimpleName,
+ extendedName ExtendedName,
+ restrictedNull NULL, -- only used in case of interworking where other network
+
+ -- provides indication that the name is restricted without
+ -- the name itself
+ ...
+}
+
+SimpleName ::= OCTET STRING(SIZE (1..50))
+
+ExtendedName ::= BMPString(SIZE (1..256)) -- Basic ISO/IEC 10646-1 (Unicode)
+
+
+END -- of Name-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h450/h450.cnf b/epan/dissectors/asn1/h450/h450.cnf
new file mode 100644
index 00000000..e58630c1
--- /dev/null
+++ b/epan/dissectors/asn1/h450/h450.cnf
@@ -0,0 +1,165 @@
+# h450.cnf
+# H.450 conformation file
+# Copyright 2004 Anders Broman
+
+#.OPT
+PER
+ALIGNED
+GROUP_BY_PROT
+-o h450
+#.END
+
+#.IMPORT ../h225/h225-exp.cnf
+#.IMPORT ../h450-ros/h450-ros-exp.cnf
+
+#.MODULE
+
+H4501-Supplementary-ServiceAPDU-Structure h450
+Addressing-Data-Elements h450
+H225-generic-parameters-definition h450
+Manufacturer-specific-service-extension-definition h450
+H4501-General-Error-List h450
+
+Call-Transfer-Operations h450.2
+Call-Diversion-Operations h450.3
+Call-Hold-Operations h450.4
+Call-Park-Pickup-Operations h450.5
+Call-Waiting-Operations h450.6
+Message-Waiting-Indication-Operations h450.7
+Name-Operations h450.8
+Call-Completion-Operations h450.9
+Call-Offer-Operations h450.10
+Call-Intrusion-Operations h450.11
+Common-Information-Operations h450.12
+
+#.OMIT_ASSIGNMENT
+PresentedAddressScreened
+PresentedAddressUnscreened
+PresentedNumberScreened
+PresentedNumberUnscreened
+AddressScreened
+NumberScreened
+Address
+# implemented manually in h450-ros as asn2wrs is not able to handle subtype constraint event passed through parameter
+InvokeIDs
+#.END
+
+#.PDU
+H4501SupplementaryService
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+ERROR.&ParameterType
+
+#.FN_HDR H4501SupplementaryService
+ proto_item *hidden_item;
+
+ hidden_item = proto_tree_add_item(tree, proto_h450, tvb, offset, -1, ENC_NA);
+ proto_item_set_hidden(hidden_item);
+#.END
+
+#.FN_HDR ServiceApdus/rosApdus/_item
+ h450_rose_ctx.apdu_depth = 1;
+ actx->rose_ctx = &h450_rose_ctx;
+#.END
+
+#.TYPE_RENAME
+ARG-activateDiversionQ/extension ActivateDiversionQArg_extension
+ARG-deactivateDiversionQ/extension DeactivateDiversionQArg_extension
+ARG-interrogateDiversionQ/extension InterrogateDiversionQ_extension
+ARG-checkRestriction/extension CheckRestrictionArg_extension
+ARG-callRerouting/extension CallReroutingArg_extension
+ARG-divertingLegInformation1/extension DivertingLegInformation1Arg_extension
+ARG-divertingLegInformation2/extension DivertingLegInformation2Arg_extension
+ARG-divertingLegInformation3/extension DivertingLegInformation3Arg_extension
+ARG-divertingLegInformation4/extension DivertingLegInformation4Arg_extension
+IntResult/extension IntResult_extension
+
+#.FIELD_RENAME
+
+#PresentedAddressScreened/presentationAllowedAddress addressScreened_presentationAllowedAddress
+#PresentedNumberScreened/presentationAllowedAddress numberScreened_presentationAllowedAddress
+#PresentedNumberUnscreened/presentationAllowedAddress numberUnscreened_presentationAllowedAddress
+#PresentedAddressUnscreened/presentationAllowedAddress addressUnscreened_presentationAllowedAddress
+
+#PresentedAddressScreened/presentationRestrictedAddress addressScreened_presentationRestrictedAddress
+#PresentedNumberScreened/presentationRestrictedAddress numberScreened_presentationRestrictedAddress
+#PresentedNumberUnscreened/presentationRestrictedAddress numberUnscreened_presentationRestrictedAddress
+#PresentedAddressUnscreened/presentationRestrictedAddress addressUnscreened_presentationRestrictedAddress
+
+CTInitiateArg/argumentExtension cTInitiateArg_argumentExtension
+CTSetupArg/argumentExtension cTSetupArg_argumentExtension
+CTUpdateArg/argumentExtension cTUpdateArg_argumentExtension
+SubaddressTransferArg/argumentExtension subaddressTransferArg_argumentExtension
+CTCompleteArg/argumentExtension cTCompleteArg_argumentExtension
+CTActiveArg/argumentExtension cTActiveArg_argumentExtension
+MixedExtension/extension mixedExtension_extension
+PAR-unspecified/extension unspecified_extension
+ARG-checkRestriction/extension checkRestrictionArg_extension
+ARG-divertingLegInformation1/extension divertingLegInformation1Arg_extension
+ARG-divertingLegInformation2/extension divertingLegInformation2Arg_extension
+CcRequestArg/extension ccRequestArg_extension
+CcRequestRes/extension ccRequestRes_extension
+CcShortArg/extension ccShortArg_extension
+CcLongArg/extension ccLongArg_extension
+CoReqOptArg/extension coReqOptArg_extension
+RUAlertOptArg/extension rUAlertOptArg_extension
+CfbOvrOptArg/extension cfbOvrOptArg_extension
+CmnArg/extension cmnArg_extension
+ARG-activateDiversionQ/extension activateDiversionQArg_extension
+ARG-interrogateDiversionQ/extension interrogateDiversionQ_extension
+ARG-callRerouting/extension callReroutingArg_extension
+ARG-divertingLegInformation4/extension divertingLegInformation4Arg_extension
+ARG-divertingLegInformation3/extension divertingLegInformation3Arg_extension
+ARG-deactivateDiversionQ/extension deactivateDiversionQArg_extension
+IntResult/extension intResult_extension
+
+MWIActivateArg/extensionArg mWIActivateArg_extensionArg
+MWIDeactivateArg/extensionArg mWIDeactivateArg_extensionArg
+MWIInterrogateArg/extensionArg mWIInterrogateArg_extensionArg
+MWIInterrogateResElt/extensionArg mWIInterrogateResElt_extensionArg
+
+HoldNotificArg/extensionArg holdNotificArg_extensionArg
+RetrieveNotificArg/extensionArg retrieveNotificArg_extensionArg
+
+RemoteHoldArg/extensionArg remoteHoldArg_extensionArg
+RemoteRetrieveArg/extensionArg remoteRetrieveArg_extensionArg
+CpRequestArg/extensionArg cpRequestArg_extensionArg
+CpSetupArg/extensionArg cpSetupArg_extensionArg
+GroupIndicationOnArg/extensionArg groupIndicationOnArg_extensionArg
+GroupIndicationOffArg/extensionArg groupIndicationOffArg_extensionArg
+PickrequArg/extensionArg pickrequArg_extensionArg
+PickupArg/extensionArg pickupArg_extensionArg
+PickExeArg/extensionArg pickExeArg_extensionArg
+CpNotifyArg/extensionArg cpNotifyArg_extensionArg
+CpickupNotifyArg/extensionArg cpickupNotifyArg_extensionArg
+CallWaitingArg/extensionArg callWaitingArg_extensionArg
+CIRequestArg/argumentExtension cIRequestArg_argumentExtension
+CIGetCIPLOptArg/argumentExtension cIGetCIPLOptArg_argumentExtension
+CIIsOptArg/argumentExtension cIIsOptArg_argumentExtension
+CIFrcRelArg/argumentExtension cIFrcRelArg_argumentExtension
+CIWobOptArg/argumentExtension cIWobOptArg_argumentExtension
+CISilentArg/argumentExtension cISilentArg_argumentExtension
+CINotificationArg/argumentExtension cINotificationArg_argumentExtension
+
+CIRequestRes/resultExtension cIRequestRes_resultExtension
+CIGetCIPLRes/resultExtension cIGetCIPLRes_resultExtension
+CIIsOptRes/resultExtension cIIsOptRes_resultExtension
+CIFrcRelOptRes/resultExtension cIFrcRelOptRes_resultExtension
+CIWobOptRes/resultExtension cIWobOptRes_resultExtension
+CISilentOptRes/resultExtension cISilentOptRes_resultExtension
+
+#.TABLE10_BODY OPERATION
+ { %(&operationCode)3s, "%(_name)s" },
+#.END
+
+#.TABLE11_BODY OPERATION
+ /* %(_name)-24s */ { %(&operationCode)3s, %(_argument_pdu)s, %(_result_pdu)s },
+#.END
+
+#.TABLE20_BODY ERROR
+ { %(&errorCode)4s, "%(_name)s" },
+#.END
+
+#.TABLE21_BODY ERROR
+ /* %(_name)-24s */ { %(&errorCode)4s, %(_parameter_pdu)s },
+#.END
diff --git a/epan/dissectors/asn1/h450/packet-h450-template.c b/epan/dissectors/asn1/h450/packet-h450-template.c
new file mode 100644
index 00000000..b9a72714
--- /dev/null
+++ b/epan/dissectors/asn1/h450/packet-h450-template.c
@@ -0,0 +1,312 @@
+/* packet-h450.c
+ * Routines for h450 packet dissection
+ * Based on the previous h450 dissector by:
+ * 2003 Graeme Reid (graeme.reid@norwoodsystems.com)
+ * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Credit to Tomas Kukosa for developing the asn2wrs compiler.
+ *
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-h225.h"
+
+#include "packet-h450-ros.h"
+
+#define PNAME "H.450 Supplementary Services"
+#define PSNAME "H.450"
+#define PFNAME "h450"
+
+void proto_register_h450(void);
+void proto_reg_handoff_h450(void);
+
+static dissector_handle_t h450_arg_handle;
+static dissector_handle_t h450_res_handle;
+static dissector_handle_t h450_err_handle;
+
+/* Initialize the protocol and registered fields */
+static int proto_h450 = -1;
+static int hf_h450_operation = -1;
+static int hf_h450_error = -1;
+#include "packet-h450-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-h450-ett.c"
+
+static expert_field ei_h450_unsupported_arg_type = EI_INIT;
+static expert_field ei_h450_unsupported_result_type = EI_INIT;
+static expert_field ei_h450_unsupported_error_type = EI_INIT;
+
+static const value_string h450_str_operation[] = {
+#include "packet-h450-table10.c"
+ { 0, NULL}
+};
+
+static const value_string h450_str_error[] = {
+#include "packet-h450-table20.c"
+ { 0, NULL}
+};
+
+/* ROSE context */
+static rose_ctx_t h450_rose_ctx;
+
+/* Global variables */
+
+#include "packet-h450-fn.c"
+
+typedef struct _h450_op_t {
+ gint32 opcode;
+ dissector_t arg_pdu;
+ dissector_t res_pdu;
+} h450_op_t;
+
+static const h450_op_t h450_op_tab[] = {
+#include "packet-h450-table11.c"
+};
+
+typedef struct _h450_err_t {
+ gint32 errcode;
+ dissector_t err_pdu;
+} h450_err_t;
+
+static const h450_err_t h450_err_tab[] = {
+#include "packet-h450-table21.c"
+};
+
+static const h450_op_t *get_op(gint32 opcode) {
+ int i;
+
+ /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
+ for (i = array_length(h450_op_tab) - 1; i >= 0; i--)
+ if (h450_op_tab[i].opcode == opcode)
+ return &h450_op_tab[i];
+ return NULL;
+}
+
+static const h450_err_t *get_err(gint32 errcode) {
+ int i;
+
+ /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
+ for (i = array_length(h450_err_tab) - 1; i >= 0; i--)
+ if (h450_err_tab[i].errcode == errcode)
+ return &h450_err_tab[i];
+ return NULL;
+}
+
+/*--- dissect_h450_arg ------------------------------------------------------*/
+static int
+dissect_h450_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ proto_item *hidden_item;
+ int offset = 0;
+ rose_ctx_t *rctx;
+ gint32 opcode;
+ const h450_op_t *op_ptr;
+ const gchar *p;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rctx = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rctx);
+
+ if (rctx->d.pdu != 1) /* invoke */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ opcode = rctx->d.code_local;
+ op_ptr = get_op(opcode);
+ if (!op_ptr)
+ return offset;
+
+ hidden_item = proto_tree_add_uint(tree, hf_h450_operation, tvb, 0, 0, opcode);
+ proto_item_set_hidden(hidden_item);
+ p = try_val_to_str(opcode, VALS(h450_str_operation));
+ if (p) {
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
+
+ if (op_ptr->arg_pdu && (tvb_reported_length_remaining(tvb, offset) > 0))
+ offset = op_ptr->arg_pdu(tvb, pinfo, tree, NULL);
+ else
+ if (tvb_reported_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_expert(tree, pinfo, &ei_h450_unsupported_arg_type, tvb, offset, -1);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+/*--- dissect_h450_res ------------------------------------------------------*/
+static int
+dissect_h450_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ proto_item *hidden_item;
+ int offset = 0;
+ rose_ctx_t *rctx;
+ gint32 opcode;
+ const h450_op_t *op_ptr;
+ const gchar *p;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rctx = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rctx);
+
+ if (rctx->d.pdu != 2) /* returnResult */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ opcode = rctx->d.code_local;
+ op_ptr = get_op(opcode);
+ if (!op_ptr)
+ return offset;
+
+ hidden_item = proto_tree_add_uint(tree, hf_h450_operation, tvb, 0, 0, opcode);
+ proto_item_set_hidden(hidden_item);
+ p = try_val_to_str(opcode, VALS(h450_str_operation));
+ if (p) {
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
+
+ if (op_ptr->res_pdu && (tvb_reported_length_remaining(tvb, offset) > 0))
+ offset = op_ptr->res_pdu(tvb, pinfo, tree, NULL);
+ else
+ if (tvb_reported_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_expert(tree, pinfo, &ei_h450_unsupported_result_type, tvb, offset, -1);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+/*--- dissect_h450_err ------------------------------------------------------*/
+static int
+dissect_h450_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ proto_item *hidden_item;
+ int offset = 0;
+ rose_ctx_t *rctx;
+ gint32 errcode;
+ const h450_err_t *err_ptr;
+ const gchar *p;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rctx = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rctx);
+
+ if (rctx->d.pdu != 3) /* returnError */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ errcode = rctx->d.code_local;
+ err_ptr = get_err(errcode);
+ if (!err_ptr)
+ return offset;
+
+ hidden_item = proto_tree_add_uint(tree, hf_h450_error, tvb, 0, 0, errcode);
+ proto_item_set_hidden(hidden_item);
+ p = try_val_to_str(errcode, VALS(h450_str_error));
+ if (p) {
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
+
+ if (err_ptr->err_pdu && (tvb_reported_length_remaining(tvb, offset) > 0))
+ offset = err_ptr->err_pdu(tvb, pinfo, tree, NULL);
+ else
+ if (tvb_reported_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_expert(tree, pinfo, &ei_h450_unsupported_error_type, tvb, offset, -1);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+/*--- proto_register_h450 -------------------------------------------*/
+void proto_register_h450(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_h450_operation, { "Operation", "h450.operation",
+ FT_UINT8, BASE_DEC, VALS(h450_str_operation), 0x0,
+ NULL, HFILL }},
+ { &hf_h450_error, { "Error", "h450.error",
+ FT_UINT16, BASE_DEC, VALS(h450_str_error), 0x0,
+ NULL, HFILL }},
+#include "packet-h450-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-h450-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_h450_unsupported_arg_type, { "h450.unsupported.arg_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ARGUMENT TYPE (H.450)", EXPFILL }},
+ { &ei_h450_unsupported_result_type, { "h450.unsupported.result_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED RESULT TYPE (H.450)", EXPFILL }},
+ { &ei_h450_unsupported_error_type, { "h450.unsupported.error_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ERROR TYPE (H.450)", EXPFILL }},
+ };
+
+ expert_module_t* expert_h450;
+
+ /* Register protocol */
+ proto_h450 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("h4501", dissect_h450_H4501SupplementaryService_PDU, proto_h450);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h450, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_h450 = expert_register_protocol(proto_h450);
+ expert_register_field_array(expert_h450, ei, array_length(ei));
+
+ rose_ctx_init(&h450_rose_ctx);
+
+ /* Register dissectors */
+ h450_arg_handle = register_dissector("h4501_arg", dissect_h450_arg, proto_h450);
+ h450_res_handle = register_dissector("h4501_res", dissect_h450_res, proto_h450);
+ h450_err_handle = register_dissector("h4501_err", dissect_h450_err, proto_h450);
+
+ /* Register dissector tables */
+ h450_rose_ctx.arg_global_dissector_table = register_dissector_table("h450.ros.global.arg", "H.450 Operation Argument (global opcode)", proto_h450, FT_STRING, STRING_CASE_SENSITIVE);
+ h450_rose_ctx.res_global_dissector_table = register_dissector_table("h450.ros.global.res", "H.450 Operation Result (global opcode)", proto_h450, FT_STRING, STRING_CASE_SENSITIVE);
+ h450_rose_ctx.arg_local_dissector_table = register_dissector_table("h450.ros.local.arg", "H.450 Operation Argument (local opcode)", proto_h450, FT_UINT32, BASE_HEX);
+ h450_rose_ctx.res_local_dissector_table = register_dissector_table("h450.ros.local.res", "H.450 Operation Result (local opcode)", proto_h450, FT_UINT32, BASE_HEX);
+ h450_rose_ctx.err_global_dissector_table = register_dissector_table("h450.ros.global.err", "H.450 Error (global opcode)", proto_h450, FT_STRING, STRING_CASE_SENSITIVE);
+ h450_rose_ctx.err_local_dissector_table = register_dissector_table("h450.ros.local.err", "H.450 Error (local opcode)", proto_h450, FT_UINT32, BASE_HEX);
+
+}
+
+
+/*--- proto_reg_handoff_h450 ---------------------------------------*/
+void
+proto_reg_handoff_h450(void)
+{
+ int i;
+
+ for (i=0; i<(int)array_length(h450_op_tab); i++) {
+ dissector_add_uint("h450.ros.local.arg", h450_op_tab[i].opcode, h450_arg_handle);
+ dissector_add_uint("h450.ros.local.res", h450_op_tab[i].opcode, h450_res_handle);
+ }
+ for (i=0; i<(int)array_length(h450_err_tab); i++) {
+ dissector_add_uint("h450.ros.local.err", h450_err_tab[i].errcode, h450_err_handle);
+ }
+
+}
diff --git a/epan/dissectors/asn1/h460/CALL-PARTY-CATEGORY.asn b/epan/dissectors/asn1/h460/CALL-PARTY-CATEGORY.asn
new file mode 100644
index 00000000..2bddb586
--- /dev/null
+++ b/epan/dissectors/asn1/h460/CALL-PARTY-CATEGORY.asn
@@ -0,0 +1,23 @@
+-- CALL-PARTY-CATEGORY.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.10/2004/CALL-PARTY-CATEGORY.asn
+--
+
+-- Module CALL-PARTY-CATEGORY (H.460.10:03/2004)
+CALL-PARTY-CATEGORY DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+CallPartyCategoryInfo ::= SEQUENCE {
+ callPartyCategory CallPartyCategory OPTIONAL,
+ originatingLineInfo OriginatingLineInfo OPTIONAL,
+ ...
+}
+
+CallPartyCategory ::= INTEGER(0..255)
+
+OriginatingLineInfo ::= INTEGER(0..255)
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/CALL-PRIORITY.asn b/epan/dissectors/asn1/h460/CALL-PRIORITY.asn
new file mode 100644
index 00000000..e8301459
--- /dev/null
+++ b/epan/dissectors/asn1/h460/CALL-PRIORITY.asn
@@ -0,0 +1,55 @@
+-- CALL-PRIORITY.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.4/2007/CALL-PRIORITY.asn
+--
+
+-- Module CALL-PRIORITY (H.460.4:01/2007)
+CALL-PRIORITY {itu-t(0) recommendation(0) h(8) 460 4 version(1)} DEFINITIONS
+AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS ClearToken, CryptoToken
+ FROM H235-SECURITY-MESSAGES;
+
+CallPriorityInfo ::= SEQUENCE -- root for Call Priority related asn.1
+ {
+ priorityValue
+ CHOICE {emergencyAuthorized NULL,
+ emergencyPublic NULL,
+ high NULL,
+ normal NULL,
+ ...},
+ priorityExtension INTEGER(0..255) OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoToken OPTIONAL,
+ rejectReason
+ CHOICE {priorityUnavailable NULL,
+ priorityUnauthorized NULL,
+ priorityValueUnknown NULL,
+ ...} OPTIONAL, -- Only used in CallPriorityConfirm
+ ...
+}
+
+CountryInternationalNetworkCallOriginationIdentification ::=
+ SEQUENCE
+ -- root for Country/International Network
+ -- of Call Origination Identification related asn.1
+ {
+ numberingPlan
+ CHOICE {x121
+ SEQUENCE {countryCode IA5String(SIZE (3))(FROM ("0123456789")),
+ ...},
+ e164
+ SEQUENCE {countryCode
+ IA5String(SIZE (3))(FROM ("0123456789")),
+ identificationCode
+ IA5String(SIZE (1..4))(FROM ("0123456789")),
+ ...},
+ ...},
+ ...
+}
+
+END -- of ASN.1
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/CIRCUIT-STATUS-MAP.asn b/epan/dissectors/asn1/h460/CIRCUIT-STATUS-MAP.asn
new file mode 100644
index 00000000..27b03781
--- /dev/null
+++ b/epan/dissectors/asn1/h460/CIRCUIT-STATUS-MAP.asn
@@ -0,0 +1,36 @@
+-- CIRCUIT-STATUS-MAP.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.3/2002/CIRCUIT-STATUS-MAP.asn
+--
+
+-- Module CIRCUIT-STATUS-MAP (H.460.3:11/2002)
+CIRCUIT-STATUS-MAP DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS CircuitIdentifier
+ FROM H323-MESSAGES;
+
+CircuitStatus ::= SEQUENCE -- root for Circuit Status Map ASN.1
+ {
+ circuitStatusMap SEQUENCE OF CircuitStatusMap OPTIONAL,
+ ...
+}
+
+CircuitStatusMap ::= SEQUENCE {
+ statusType CircuitStatusType,
+ baseCircuitID CircuitIdentifier,
+ range INTEGER(0..4095),
+ status OCTET STRING,
+ ...
+}
+
+CircuitStatusType ::= CHOICE {
+ serviceStatus NULL, -- status: 0 = out-of-service, 1 = in-service
+ busyStatus NULL, -- status: 0 = free, 1 = in-use
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/CMakeLists.txt b/epan/dissectors/asn1/h460/CMakeLists.txt
new file mode 100644
index 00000000..7e214db6
--- /dev/null
+++ b/epan/dissectors/asn1/h460/CMakeLists.txt
@@ -0,0 +1,50 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h460 )
+
+set( PROTO_OPT _EMPTY_ )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ NUMBER-PORTABILITY.asn
+ CIRCUIT-STATUS-MAP.asn
+ CALL-PRIORITY.asn
+ QOS-MONITORING-REPORT.asn
+ QOS-MONITORING-EXTENDED-VOIP-REPORT.asn
+ CALL-PARTY-CATEGORY.asn
+ MLPP.asn
+ SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
+ SIGNALLING-TRAVERSAL.asn
+ MEDIA-TRAVERSAL.asn
+ MESSAGE-BROADCAST.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../h225/h225-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../h235/h235-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../h245/h245-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h460/MEDIA-TRAVERSAL.asn b/epan/dissectors/asn1/h460/MEDIA-TRAVERSAL.asn
new file mode 100644
index 00000000..39648dd3
--- /dev/null
+++ b/epan/dissectors/asn1/h460/MEDIA-TRAVERSAL.asn
@@ -0,0 +1,30 @@
+-- MEDIA-TRAVERSAL.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.19/2005/MEDIA-TRAVERSAL.asn
+--
+
+-- Module MEDIA-TRAVERSAL (H.460.19:09/2005)
+MEDIA-TRAVERSAL {itu-t(0) recommendation(0) h(8) 460 19 version(0) 1}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ TimeToLive
+ FROM H323-MESSAGES
+ TransportAddress
+ FROM MULTIMEDIA-SYSTEM-CONTROL;
+
+TraversalParameters ::= SEQUENCE {
+ multiplexedMediaChannel TransportAddress OPTIONAL,
+ multiplexedMediaControlChannel TransportAddress OPTIONAL,
+ multiplexID INTEGER(0..4294967295) OPTIONAL,
+ keepAliveChannel TransportAddress OPTIONAL,
+ keepAlivePayloadType INTEGER(0..127) OPTIONAL,
+ keepAliveInterval TimeToLive OPTIONAL,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/MESSAGE-BROADCAST.asn b/epan/dissectors/asn1/h460/MESSAGE-BROADCAST.asn
new file mode 100644
index 00000000..ec2e761d
--- /dev/null
+++ b/epan/dissectors/asn1/h460/MESSAGE-BROADCAST.asn
@@ -0,0 +1,50 @@
+-- MESSAGE-BROADCAST.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.21/2006/MESSAGE-BROADCAST.asn
+--
+
+-- Module MESSAGE-BROADCAST (H.460.21:05/2006)
+MESSAGE-BROADCAST DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ MulticastAddress, UnicastAddress, Capability
+ FROM MULTIMEDIA-SYSTEM-CONTROL;
+
+CapabilityAdvertisement ::= SEQUENCE {
+ receiveCapabilities ReceiveCapabilities OPTIONAL,
+ transmitCapabilities SEQUENCE SIZE (1..256) OF TransmitCapabilities OPTIONAL,
+ ...
+}
+
+ReceiveCapabilities ::= SEQUENCE {
+ capabilities SEQUENCE SIZE (1..256) OF Capability,
+ maxGroups INTEGER(1..65535),
+ ...
+}
+
+GloballyUniqueID ::= OCTET STRING(SIZE (16))
+
+TransmitCapabilities ::= SEQUENCE {
+ groupIdentifer GloballyUniqueID,
+ capability Capability,
+ sourceAddress UnicastAddress,
+ ...
+}
+
+MessageBroadcastGroups ::= SEQUENCE SIZE (1..256) OF GroupAttributes
+
+GroupAttributes ::= SEQUENCE {
+ priority INTEGER(0..255), -- 0 = high, 255 = low
+ groupIdentifer GloballyUniqueID OPTIONAL,
+ capability Capability,
+ groupAddress MulticastAddress,
+ sourceAddress UnicastAddress OPTIONAL,
+ alertUser BOOLEAN,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/MLPP.asn b/epan/dissectors/asn1/h460/MLPP.asn
new file mode 100644
index 00000000..e3b84c67
--- /dev/null
+++ b/epan/dissectors/asn1/h460/MLPP.asn
@@ -0,0 +1,62 @@
+-- MLPP.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.14/2004/MLPP.asn
+--
+
+-- Module MLPP (H.460.14:03/2004)
+MLPP DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ CallIdentifier, AliasAddress
+ FROM H323-MESSAGES; -- defined in H.225.0, Annex H
+
+MLPPInfo ::= SEQUENCE -- root for MLPP data ASN.1
+ {
+ precedence MlppPrecedence OPTIONAL,
+ mlppReason MlppReason OPTIONAL,
+ mlppNotification MlppNotification OPTIONAL,
+ alternateParty AlternateParty OPTIONAL,
+ releaseCall ReleaseCall OPTIONAL,
+ ...
+}
+
+MlppPrecedence ::= ENUMERATED {
+ flashOveride(0), flash(1), immediate(2), priority(3), routine(4), ...
+ }
+
+MlppReason ::=
+ ENUMERATED -- Indicates reasons that call is refused or released.
+ {preemptionNoReservation(8), preemptionReservation(9), callBlocked(46), ...
+ }
+
+MlppNotification ::=
+ CHOICE
+ -- Provides various notification events in Call Signalling messages
+ {
+ preemptionPending NULL,
+ preemptionInProgress NULL,
+ preemptionEnd NULL,
+ preemptionComplete NULL,
+ ...
+}
+
+AlternateParty ::= SEQUENCE {
+ altID AliasAddress,
+ altTimer INTEGER(0..255) OPTIONAL, --seconds
+ ...
+}
+
+ReleaseCall ::= SEQUENCE
+ -- Identifies other call to be preempted first
+ {
+ preemptCallID CallIdentifier,
+ releaseReason MlppReason,
+ releaseDelay INTEGER(0..255) OPTIONAL, --seconds to wait
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/NUMBER-PORTABILITY.asn b/epan/dissectors/asn1/h460/NUMBER-PORTABILITY.asn
new file mode 100644
index 00000000..892813fb
--- /dev/null
+++ b/epan/dissectors/asn1/h460/NUMBER-PORTABILITY.asn
@@ -0,0 +1,62 @@
+-- NUMBER-PORTABILITY.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.2/2001/NUMBER-PORTABILITY.asn
+--
+
+-- Module NUMBER-PORTABILITY (H.460.2:07/2001)
+NUMBER-PORTABILITY DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ PublicTypeOfNumber, PrivateTypeOfNumber, AliasAddress
+ FROM H323-MESSAGES;
+
+NumberPortabilityInfo ::= CHOICE {
+ numberPortabilityRejectReason NumberPortabilityRejectReason,
+ nUMBERPORTABILITYDATA
+ SEQUENCE {addressTranslated NULL OPTIONAL,
+ portedAddress PortabilityAddress OPTIONAL,
+ routingAddress PortabilityAddress OPTIONAL,
+ regionalParams RegionalParameters OPTIONAL,
+ ...},
+ ...
+}
+
+NumberPortabilityRejectReason ::= CHOICE {
+ unspecified NULL,
+ qorPortedNumber NULL,
+ ...
+}
+
+PortabilityAddress ::= SEQUENCE {
+ aliasAddress AliasAddress,
+ typeOfAddress NumberPortabilityTypeOfNumber OPTIONAL,
+ ...
+}
+
+NumberPortabilityTypeOfNumber ::= CHOICE {
+ publicTypeOfNumber PublicTypeOfNumber,
+ privateTypeOfNumber PrivateTypeOfNumber,
+ portabilityTypeOfNumber PortabilityTypeOfNumber,
+ ...
+}
+
+PortabilityTypeOfNumber ::= CHOICE {
+ portedNumber NULL,
+ routingNumber NULL,
+ concatenatedNumber NULL,
+ ...
+}
+
+RegionalParameters ::= SEQUENCE {
+ t35CountryCode INTEGER(0..255),
+ t35Extension INTEGER(0..255),
+ variantIdentifier INTEGER(1..255) OPTIONAL,
+ regionalData OCTET STRING,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn b/epan/dissectors/asn1/h460/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn
new file mode 100644
index 00000000..bcbf3f8b
--- /dev/null
+++ b/epan/dissectors/asn1/h460/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn
@@ -0,0 +1,70 @@
+-- QOS-MONITORING-EXTENDED-VOIP-REPORT.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.9/2002/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn
+--
+
+-- Module QOS-MONITORING-EXTENDED-VOIP-REPORT (H.460.9:11/2002)
+QOS-MONITORING-EXTENDED-VOIP-REPORT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS GenericIdentifier
+ FROM H323-MESSAGES;
+
+ExtendedRTPMetrics ::= SEQUENCE {
+ networkPacketLossRate INTEGER(0..255) OPTIONAL,
+ jitterBufferDiscardRate INTEGER(0..255) OPTIONAL,
+ burstMetrics BurstMetrics OPTIONAL,
+ rtcpRoundTripDelay INTEGER(0..65535) OPTIONAL,
+ endSystemDelay INTEGER(0..65535) OPTIONAL,
+ signalLevel INTEGER(-127..10) OPTIONAL,
+ noiseLevel INTEGER(-127..0) OPTIONAL,
+ residualEchoReturnLoss INTEGER(0..127) OPTIONAL,
+ rFactor INTEGER(0..100) OPTIONAL,
+ extRFactor INTEGER(0..100) OPTIONAL,
+ estimatedMOSLQ INTEGER(10..50) OPTIONAL,
+ estimatedMOSCQ INTEGER(10..50) OPTIONAL,
+ plcType PLCtypes OPTIONAL,
+ jitterBufferParms JitterBufferParms OPTIONAL,
+ ...
+}
+
+BurstMetrics ::= SEQUENCE {
+ gmin INTEGER(0..255) OPTIONAL,
+ burstLossDensity INTEGER(0..255) OPTIONAL,
+ gapLossDensity INTEGER(0..255) OPTIONAL,
+ burstDuration INTEGER(0..65535) OPTIONAL,
+ gapDuration INTEGER(0..65535) OPTIONAL,
+ ...
+}
+
+PLCtypes ::= CHOICE {
+ unspecified NULL,
+ disabled NULL,
+ enhanced NULL,
+ standard NULL,
+ ...
+}
+
+JitterBufferParms ::= SEQUENCE {
+ jitterBufferType JitterBufferTypes OPTIONAL,
+ jitterBufferAdaptRate INTEGER(0..15) OPTIONAL,
+ jitterBufferNominalSize INTEGER(0..65535) OPTIONAL,
+ jitterBufferMaxSize INTEGER(0..65535) OPTIONAL,
+ jitterBufferAbsoluteMax INTEGER(0..65535) OPTIONAL,
+ ...
+}
+
+JitterBufferTypes ::= CHOICE {
+ unknown NULL,
+ reserved NULL,
+ nonadaptive NULL,
+ adaptive NULL,
+ ...
+}
+
+qosMonitoringExtendedRTPMetrics GenericIdentifier ::= standard:2
+
+END -- of QOS-MONITORING-EXTENDED-VOIP-REPORT
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/QOS-MONITORING-REPORT.asn b/epan/dissectors/asn1/h460/QOS-MONITORING-REPORT.asn
new file mode 100644
index 00000000..d5bd5023
--- /dev/null
+++ b/epan/dissectors/asn1/h460/QOS-MONITORING-REPORT.asn
@@ -0,0 +1,99 @@
+-- QOS-MONITORING-REPORT.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.9/2002/QOS-MONITORING-REPORT.asn
+--
+
+-- Module QOS-MONITORING-REPORT (H.460.9:11/2002)
+QOS-MONITORING-REPORT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ NonStandardParameter, TransportChannelInfo, CallIdentifier,
+ CallReferenceValue, ConferenceIdentifier, BandWidth, GenericIdentifier
+ FROM H323-MESSAGES;
+
+EstimatedEnd2EndDelay ::= INTEGER(0..4294967295)
+
+-- middle 32 bits of 64 bit NTP timestamp
+CalculatedJitter ::= INTEGER(0..4294967295)
+
+-- measured in timestamp units
+Extension ::= SEQUENCE {
+ extensionId GenericIdentifier,
+ extensionContent OCTET STRING OPTIONAL,
+ ...
+}
+
+RTCPMeasures ::= SEQUENCE {
+ rtpAddress TransportChannelInfo,
+ rtcpAddress TransportChannelInfo,
+ sessionId INTEGER(1..255),
+ nonStandardData NonStandardParameter OPTIONAL,
+ mediaSenderMeasures
+ SEQUENCE {worstEstimatedEnd2EndDelay EstimatedEnd2EndDelay OPTIONAL,
+ meanEstimatedEnd2EndDelay EstimatedEnd2EndDelay OPTIONAL,
+ ...} OPTIONAL,
+ mediaReceiverMeasures
+ SEQUENCE {cumulativeNumberOfPacketsLost INTEGER(0..4294967295) OPTIONAL,
+ packetLostRate INTEGER(0..65535) OPTIONAL,
+ worstJitter CalculatedJitter OPTIONAL,
+ estimatedThroughput BandWidth OPTIONAL, -- in 100s of bits--
+ fractionLostRate INTEGER(0..65535) OPTIONAL,
+ meanJitter CalculatedJitter OPTIONAL,
+ ...} OPTIONAL,
+ extensions SEQUENCE OF Extension OPTIONAL,
+ ...
+}
+
+PerCallQoSReport ::= SEQUENCE {
+ nonStandardData NonStandardParameter OPTIONAL,
+ callReferenceValue CallReferenceValue,
+ conferenceID ConferenceIdentifier,
+ callIdentifier CallIdentifier,
+ mediaChannelsQoS SEQUENCE OF RTCPMeasures OPTIONAL,
+ -- one element per media channel
+ extensions SEQUENCE OF Extension OPTIONAL,
+ ...
+}
+
+QosMonitoringReportData ::= CHOICE {
+ periodic PeriodicQoSMonReport, -- included in IRR messages
+ final FinalQosMonReport, -- included in DRQ/DCF message
+ interGK InterGKQosMonReport, -- included in usageIndication message
+ ...
+}
+
+PeriodicQoSMonReport ::= SEQUENCE {
+ perCallInfo SEQUENCE OF PerCallQoSReport, -- one element per call
+ extensions SEQUENCE OF Extension OPTIONAL,
+ ...
+}
+
+FinalQosMonReport ::= SEQUENCE {
+ mediaInfo SEQUENCE OF RTCPMeasures, -- one element per channel
+ nonStandardData NonStandardParameter OPTIONAL,
+ extensions SEQUENCE OF Extension OPTIONAL,
+ ...
+}
+
+InterGKQosMonReport ::= SEQUENCE {
+ mediaInfo SEQUENCE OF RTCPMeasures, -- one element per channel
+ nonStandardData NonStandardParameter OPTIONAL,
+ extensions SEQUENCE OF Extension OPTIONAL,
+ ...
+}
+
+--
+-- H.460.9 Identifiers:
+--
+qosMonitoringReportID GenericIdentifier ::=
+ standard:9
+
+qosMonitoringFinalOnly GenericIdentifier ::= standard:0
+
+qosMonitoringReportData GenericIdentifier ::= standard:1
+
+END -- of ASN.1
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn b/epan/dissectors/asn1/h460/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
new file mode 100644
index 00000000..aa85572f
--- /dev/null
+++ b/epan/dissectors/asn1/h460/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
@@ -0,0 +1,56 @@
+-- SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.15/2004/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
+--
+
+-- Module SIGNALLING-CHANNEL-SUSPEND-REDIRECT (H.460.15:03/2004)
+SIGNALLING-CHANNEL-SUSPEND-REDIRECT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS TransportAddress
+ FROM H323-MESSAGES;
+
+SignallingChannelData ::= SEQUENCE {
+ signallingChannelData
+ CHOICE {channelSuspendRequest ChannelSuspendRequest,
+ channelSuspendResponse ChannelSuspendResponse,
+ channelSuspendConfirm ChannelSuspendConfirm,
+ channelSuspendCancel ChannelSuspendCancel,
+ channelResumeRequest ChannelResumeRequest,
+ channelResumeResponse ChannelResumeResponse,
+ ...},
+ ...
+}
+
+ChannelSuspendRequest ::= SEQUENCE {
+ channelResumeAddress SEQUENCE OF TransportAddress,
+ immediateResume BOOLEAN,
+ resetH245 NULL OPTIONAL,
+ ...
+}
+
+ChannelSuspendResponse ::= SEQUENCE {
+ okToSuspend BOOLEAN,
+ channelResumeAddress SEQUENCE OF TransportAddress,
+ ...
+}
+
+ChannelSuspendConfirm ::= SEQUENCE {...
+}
+
+ChannelSuspendCancel ::= SEQUENCE {...
+}
+
+ChannelResumeRequest ::= SEQUENCE {
+ randomNumber INTEGER(0..4294967295),
+ resetH245 NULL OPTIONAL,
+ ...
+}
+
+ChannelResumeResponse ::= SEQUENCE {...
+}
+
+END -- of ASN.1
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/SIGNALLING-TRAVERSAL.asn b/epan/dissectors/asn1/h460/SIGNALLING-TRAVERSAL.asn
new file mode 100644
index 00000000..33fbbab5
--- /dev/null
+++ b/epan/dissectors/asn1/h460/SIGNALLING-TRAVERSAL.asn
@@ -0,0 +1,28 @@
+-- SIGNALLING-TRAVERSAL.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.18/2005/SIGNALLING-TRAVERSAL.asn
+--
+
+-- Module SIGNALLING-TRAVERSAL (H.460.18:09/2005)
+SIGNALLING-TRAVERSAL {itu-t(0) recommendation(0) h(8) 460 18 version(0) 1}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS CallIdentifier, TimeToLive, TransportAddress
+ FROM H323-MESSAGES;
+
+IncomingCallIndication ::= SEQUENCE {
+ callSignallingAddress TransportAddress,
+ callID CallIdentifier,
+ ...
+}
+
+LRQKeepAliveData ::= SEQUENCE {
+ lrqKeepAliveInterval TimeToLive, -- keep-alive interval (seconds)
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/h460/h460.cnf b/epan/dissectors/asn1/h460/h460.cnf
new file mode 100644
index 00000000..2d8c8793
--- /dev/null
+++ b/epan/dissectors/asn1/h460/h460.cnf
@@ -0,0 +1,64 @@
+# h460.cnf
+# H.460.x conformation file
+# 2007 Tomas Kukosa
+
+#.INCLUDE ../h225/h225-exp.cnf
+#.INCLUDE ../h235/h235-exp.cnf
+#.INCLUDE ../h245/h245-exp.cnf
+
+#.OPT
+PER
+ALIGNED
+GROUP_BY_PROT
+-o h460
+#.END
+
+#.OMIT_ASSIGNMENT
+MessageBroadcastGroups
+GroupAttributes
+#.END
+
+#.MODULE
+NUMBER-PORTABILITY h460.2
+CIRCUIT-STATUS-MAP h460.3
+CALL-PRIORITY h460.4
+QOS-MONITORING-REPORT h460.9
+QOS-MONITORING-EXTENDED-VOIP-REPORT h460.9
+CALL-PARTY-CATEGORY h460.10
+MLPP h460.14
+SIGNALLING-CHANNEL-SUSPEND-REDIRECT h460.15
+SIGNALLING-TRAVERSAL h460.18
+MEDIA-TRAVERSAL h460.19
+MESSAGE-BROADCAST h460.21
+#.END
+
+#.PDU
+# H.460.2
+NumberPortabilityInfo
+# H.460.3
+CircuitStatus
+# H.460.4
+CallPriorityInfo
+CountryInternationalNetworkCallOriginationIdentification
+# H.460.9
+QosMonitoringReportData
+ExtendedRTPMetrics
+# H.460.10
+CallPartyCategoryInfo
+# H.460.14
+MLPPInfo
+# H.460.15
+SignallingChannelData
+# H.460.18
+IncomingCallIndication
+LRQKeepAliveData
+# H.460.19
+TraversalParameters
+# H.460.21
+CapabilityAdvertisement
+#.END
+
+#.TF_RENAME
+CountryInternationalNetworkCallOriginationIdentification/numberingPlan/x121/countryCode x121CountryCode
+CountryInternationalNetworkCallOriginationIdentification/numberingPlan/e164/countryCode e164CountryCode
+#.END
diff --git a/epan/dissectors/asn1/h460/packet-h460-template.c b/epan/dissectors/asn1/h460/packet-h460-template.c
new file mode 100644
index 00000000..896427c1
--- /dev/null
+++ b/epan/dissectors/asn1/h460/packet-h460-template.c
@@ -0,0 +1,284 @@
+/* packet-h460.c
+ * Routines for H.460.x packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-h225.h"
+#include "packet-h235.h"
+#include "packet-h245.h"
+
+#define PNAME "H.460 Supplementary Services"
+#define PSNAME "H.460"
+#define PFNAME "h460"
+
+void proto_register_h460(void);
+void proto_reg_handoff_h460(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_h460 = -1;
+#include "packet-h460-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-h460-ett.c"
+
+/* Main dissector handle */
+static dissector_handle_t h460_name_handle;
+
+/* Subdissectors */
+static dissector_handle_t q931_ie_handle = NULL;
+static dissector_handle_t h225_ras_handle = NULL;
+
+#include "packet-h460-fn.c"
+
+static int
+dissect_ies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
+ int offset = 0;
+
+ if (q931_ie_handle) {
+ call_dissector(q931_ie_handle, tvb, pinfo, tree);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ }
+ return offset;
+}
+
+static int
+dissect_ras(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
+ int offset = 0;
+
+ if (h225_ras_handle) {
+ call_dissector(h225_ras_handle, tvb, pinfo, tree);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ }
+ return offset;
+}
+
+typedef struct _h460_feature_t {
+ guint32 opt;
+ const gchar *id;
+ const gchar *name;
+ dissector_t content_pdu;
+ /*---*/
+ const gchar *key_gd;
+ const gchar *key_fd;
+ const gchar *key_gm;
+ const gchar *key_gi;
+ dissector_handle_t content_hnd;
+} h460_feature_t;
+
+/* Fill in the items after content_pdu */
+#define FFILL NULL, NULL, NULL, NULL, NULL
+
+/* options */
+#define GD 0x01 /* present in H.225 GenericData */
+#define FD 0x02 /* present in H.225 FeatureDescriptor */
+#define GM 0x04 /* present in H.245 GenericMessage */
+#define GI 0x08 /* present in H.245 GenericInformation */
+
+static h460_feature_t h460_feature_tab[] = {
+ /* H.460.3 */
+ { GD|FD, "2", "Number Portability", NULL, FFILL },
+ { GD|FD, "2/1", "NumberPortabilityData", dissect_h460_2_NumberPortabilityInfo_PDU, FFILL },
+ /* H.460.3 */
+ { GD|FD, "3", "Circuit Status", NULL, FFILL },
+ { GD|FD, "3/1", "Circuit Status Map", dissect_h460_3_CircuitStatus_PDU, FFILL },
+ /* H.460.4 */
+ { GD|FD, "4", "CallPriorityDesignation", NULL, FFILL },
+ { GD|FD, "4/1", "CallPriorityRequest", dissect_h460_4_CallPriorityInfo_PDU, FFILL },
+ { GD|FD, "4/2", "CallPriorityConfirm", dissect_h460_4_CallPriorityInfo_PDU, FFILL },
+ { GD|FD, "4/3", "Country/InternationalNetworkCallOriginationRequest", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU, FFILL },
+ { GD|FD, "4/4", "Country/InternationalNetworkCallOriginationConfirm", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU, FFILL },
+ /* H.460.5 */
+ { GD|FD, "5", "DuplicateIEs", NULL, FFILL },
+ { GD|FD, "5/1", "IEsString", dissect_ies, FFILL },
+ /* H.460.6 */
+ { GD|FD, "6", "Extended Fast Connect", NULL, FFILL },
+ { GD|FD, "6/1", "EFC Proposal", NULL, FFILL },
+ { GD|FD, "6/2", "EFC Close All Media Channels", NULL, FFILL },
+ { GD|FD, "6/3", "EFC Request New Proposals", NULL, FFILL },
+ { GD|FD, "6/4", "EFC Require Symmetric Operation", NULL, FFILL },
+ /* H.460.7 */
+ { GD|FD, "7", "Digit Maps", NULL, FFILL },
+ { FD, "7/1", "Digit Maps Length", NULL, FFILL },
+ { FD, "7/2", "Digit Map Length for Overlapped Sending", NULL, FFILL },
+ { FD, "7/3", "HTTP Digit Maps Download Capability", NULL, FFILL },
+ { GD , "7/1", "Start Timer", NULL, FFILL },
+ { GD , "7/2", "Short Timer", NULL, FFILL },
+ { GD , "7/3", "Long Timer", NULL, FFILL },
+ { GD , "7/4", "Digit Map String", NULL, FFILL },
+ { GD , "7/5", "ToN Associated Digit Map", NULL, FFILL },
+ { GD , "7/5/1", "Type of Number", NULL, FFILL },
+ { GD , "7/5/2", "Digit Map Strings for ToN", NULL, FFILL },
+ { GD , "7/6", "Digit Map URL", NULL, FFILL },
+ /* H.460.8 */
+ { GD|FD, "8", "Querying for Alternate Routes", NULL, FFILL },
+ { GD|FD, "8/1", "Query Count", NULL, FFILL },
+ { GD|FD, "8/2", "Call Termination Cause", NULL, FFILL },
+ /* H.460.9 */
+ { GD|FD, "9", "QoS-monitoring Reporting", NULL, FFILL },
+ { GD|FD, "9/0", "qosMonitoringFinalOnly", NULL, FFILL },
+ { GD|FD, "9/1", "qosMonitoringReportData", dissect_h460_9_QosMonitoringReportData_PDU, FFILL },
+ { GD|FD, "9/2", "qosMonitoringExtendedRTPMetrics", dissect_h460_9_ExtendedRTPMetrics_PDU, FFILL },
+ /* H.460.10 */
+ { GD|FD, "10", "Call Party Category", NULL, FFILL },
+ { GD|FD, "10/1", "Call party category info", dissect_h460_10_CallPartyCategoryInfo_PDU, FFILL },
+ /* H.460.11 */
+ { GD|FD, "11", "Delayed Call Establishment", NULL, FFILL },
+ { GD|FD, "11/1", "Delay Point Indicator", NULL, FFILL },
+ { GD|FD, "11/2", "Implicit DCE Release", NULL, FFILL },
+ { GD|FD, "11/3", "Delay Point Reached", NULL, FFILL },
+ { GD|FD, "11/4", "DCE Release", NULL, FFILL },
+ /* H.460.12 */
+ { GD|FD, "12", "Glare Control Indicator", NULL, FFILL },
+ { GD|FD, "12/1", "Glare Control Indicator Parameter", NULL, FFILL },
+ /* H.460.13 */
+ { GD|FD, "13", "Called User Release Control", NULL, FFILL },
+ { GD|FD, "13/1", "Called User Release Control", NULL, FFILL },
+ /* H.460.14 */
+ { GD|FD, "14", "Multi-Level Precedence and Preemption", NULL, FFILL },
+ { GD|FD, "14/1", "MLPP Information", dissect_h460_14_MLPPInfo_PDU, FFILL },
+ /* H.460.15 */
+ { GD|FD, "15", "Call signalling transport channel suspension and redirection", NULL, FFILL },
+ { GD|FD, "15/1", "Signalling channel suspend and redirect", dissect_h460_15_SignallingChannelData_PDU, FFILL },
+ /* H.460.16 */
+ { GD|FD, "16", "Multiple-message Release Sequence", NULL, FFILL },
+ { GD|FD, "16/1", "MMRS use required", NULL, FFILL },
+ { GD|FD, "16/2", "MMRS procedure", NULL, FFILL },
+ { GD|FD, "16/3", "MMRS additional IEs", dissect_ies, FFILL },
+ /* H.460.17 */
+ { GD|FD, "17", "RAS over H.225.0", NULL, FFILL },
+ { GD|FD, "17/1", "RAS message", dissect_ras, FFILL },
+ /* H.460.18 */
+ { GD|FD , "18", "Signalling Traversal", NULL, FFILL },
+ { GD|FD , "18/1", "IncomingCallIndication", dissect_h460_18_IncomingCallIndication_PDU, FFILL },
+ { GD|FD , "18/2", "LRQKeepAliveData", dissect_h460_18_LRQKeepAliveData_PDU, FFILL },
+ { GM, "0.0.8.460.18.0.1", "Signalling Traversal", NULL, FFILL },
+ { GM, "0.0.8.460.18.0.1-1", "connectionCorrelation", NULL, FFILL },
+ { GM, "0.0.8.460.18.0.1-1/1", "callIdentifier", NULL, FFILL },
+ { GM, "0.0.8.460.18.0.1-1/2", "answerCall", NULL, FFILL },
+ /* H.460.19 */
+ { GD|FD , "19", "mediaNATFWTraversal", NULL, FFILL },
+ { GD|FD , "19/1", "supportTransmitMultiplexedMedia", NULL, FFILL },
+ { GD|FD , "19/2", "mediaTraversalServer", NULL, FFILL },
+ { GI, "0.0.8.460.19.0.1", "mediaNATFWTraversal", NULL, FFILL },
+ { GI, "0.0.8.460.19.0.1/1", "Traversal Parameters", dissect_h460_19_TraversalParameters_PDU, FFILL },
+ /* H.460.20 */
+ { GD|FD, "20", "LocationSourceAddress", NULL, FFILL },
+ { GD|FD, "20/1", "LocationSourceAddress", dissect_h225_ExtendedAliasAddress_PDU, FFILL },
+ /* H.460.21 */
+ { GD|FD, "21", "Message Broadcast", NULL, FFILL },
+ { GD|FD, "21/1", "MessageBroadcastParameter", dissect_h460_21_CapabilityAdvertisement_PDU, FFILL },
+ /* H.460.22 */
+ { GD|FD, "22", "securityProtocolNegotiation", NULL, FFILL },
+ { GD|FD, "22/1", "tlsSecurityProtocol", NULL, FFILL },
+ { GD|FD, "22/1/1", "priority", NULL, FFILL },
+ { GD|FD, "22/1/2", "connectionAddress", NULL, FFILL },
+ { GD|FD, "22/2", "ipsecSecurityProtocol", NULL, FFILL },
+ { GD|FD, "22/2/1", "priority", NULL, FFILL },
+ { 0, NULL, NULL, NULL, FFILL },
+};
+
+static h460_feature_t *find_ftr(const gchar *key) {
+ h460_feature_t *ftr = NULL;
+ h460_feature_t *f;
+
+ for (f=h460_feature_tab; f->id; f++) {
+ if (f->key_gd && !strcmp(key, f->key_gd)) { ftr = f; break; }
+ if (f->key_fd && !strcmp(key, f->key_fd)) { ftr = f; break; }
+ if (f->key_gm && !strcmp(key, f->key_gm)) { ftr = f; break; }
+ if (f->key_gi && !strcmp(key, f->key_gi)) { ftr = f; break; }
+ }
+ return ftr;
+}
+
+/*--- dissect_h460_name -------------------------------------------*/
+static int
+dissect_h460_name(tvbuff_t *tvb _U_, packet_info *pinfo, proto_tree *tree, void *data) {
+ int offset = 0;
+ asn1_ctx_t *actx;
+ h460_feature_t *ftr;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ actx = get_asn1_ctx(data);
+ DISSECTOR_ASSERT(actx);
+
+ if (tree) {
+ ftr = find_ftr(pinfo->match_string);
+ if (ftr) {
+ proto_item_append_text(actx->created_item, " - %s", ftr->name);
+ proto_item_append_text(proto_item_get_parent(proto_tree_get_parent(tree)), ": %s", ftr->name);
+ } else {
+ proto_item_append_text(actx->created_item, " - unknown(%s)", pinfo->match_string);
+ }
+ }
+
+ return offset;
+}
+
+/*--- proto_register_h460 ----------------------------------------------*/
+void proto_register_h460(void) {
+ h460_feature_t *ftr;
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-h460-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-h460-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_h460 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h460, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ h460_name_handle = register_dissector(PFNAME, dissect_h460_name, proto_h460);
+ for (ftr=h460_feature_tab; ftr->id; ftr++) {
+ if (ftr->opt & GD) ftr->key_gd = wmem_strdup_printf(wmem_epan_scope(), "GenericData/%s", ftr->id);
+ if (ftr->opt & FD) ftr->key_fd = wmem_strdup_printf(wmem_epan_scope(), "FeatureDescriptor/%s", ftr->id);
+ if (ftr->opt & GM) ftr->key_gm = wmem_strdup_printf(wmem_epan_scope(), "GenericMessage/%s", ftr->id);
+ if (ftr->opt & GI) ftr->key_gi = wmem_strdup_printf(wmem_epan_scope(), "GenericInformation/%s", ftr->id);
+ if (ftr->content_pdu) ftr->content_hnd = create_dissector_handle(ftr->content_pdu, proto_h460);
+ }
+}
+
+/*--- proto_reg_handoff_h460 -------------------------------------------*/
+void proto_reg_handoff_h460(void)
+{
+ h460_feature_t *ftr;
+
+ q931_ie_handle = find_dissector_add_dependency("q931.ie", proto_h460);
+ h225_ras_handle = find_dissector_add_dependency("h225.ras", proto_h460);
+
+ for (ftr=h460_feature_tab; ftr->id; ftr++) {
+ if (ftr->key_gd) dissector_add_string("h225.gef.name", ftr->key_gd, h460_name_handle);
+ if (ftr->key_fd) dissector_add_string("h225.gef.name", ftr->key_fd, h460_name_handle);
+ if (ftr->key_gm) dissector_add_string("h245.gef.name", ftr->key_gm, h460_name_handle);
+ if (ftr->key_gi) dissector_add_string("h245.gef.name", ftr->key_gi, h460_name_handle);
+ if (ftr->content_hnd) {
+ if (ftr->key_gd) dissector_add_string("h225.gef.content", ftr->key_gd, ftr->content_hnd);
+ if (ftr->key_fd) dissector_add_string("h225.gef.content", ftr->key_fd, ftr->content_hnd);
+ if (ftr->key_gm) dissector_add_string("h245.gef.content", ftr->key_gm, ftr->content_hnd);
+ if (ftr->key_gi) dissector_add_string("h245.gef.content", ftr->key_gi, ftr->content_hnd);
+ }
+ }
+
+}
diff --git a/epan/dissectors/asn1/h501/CMakeLists.txt b/epan/dissectors/asn1/h501/CMakeLists.txt
new file mode 100644
index 00000000..d6ded656
--- /dev/null
+++ b/epan/dissectors/asn1/h501/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME h501 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ H501-MESSAGES.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../h225/h225-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../h235/h235-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/h501/H501-MESSAGES.asn b/epan/dissectors/asn1/h501/H501-MESSAGES.asn
new file mode 100644
index 00000000..a33dfd8b
--- /dev/null
+++ b/epan/dissectors/asn1/h501/H501-MESSAGES.asn
@@ -0,0 +1,656 @@
+-- H501-MESSAGES.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h501/2002/H501-MESSAGES.asn
+--
+
+-- Module H501-MESSAGES (H.501:03/2002)
+H501-MESSAGES DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ AuthenticationMechanism, TimeStamp, ClearToken
+ FROM H235-SECURITY-MESSAGES
+ AliasAddress, TransportAddress, ReleaseCompleteReason, ConferenceIdentifier,
+ CallIdentifier, CryptoH323Token, CryptoToken, EndpointType,
+ GatekeeperIdentifier, GloballyUniqueID, NonStandardParameter, NumberDigits,
+ PartyNumber, SupportedProtocols, TransportQOS, VendorIdentifier,
+ IntegrityMechanism, ICV, FeatureSet, GenericData, EnumeratedParameter,
+ ServiceControlSession, CircuitInfo, CircuitIdentifier
+ FROM H323-MESSAGES;
+
+Message ::= SEQUENCE {body MessageBody,
+ common MessageCommonInfo,
+ ...
+}
+
+MessageBody ::= CHOICE {
+ serviceRequest ServiceRequest,
+ serviceConfirmation ServiceConfirmation,
+ serviceRejection ServiceRejection,
+ serviceRelease ServiceRelease,
+ descriptorRequest DescriptorRequest,
+ descriptorConfirmation DescriptorConfirmation,
+ descriptorRejection DescriptorRejection,
+ descriptorIDRequest DescriptorIDRequest,
+ descriptorIDConfirmation DescriptorIDConfirmation,
+ descriptorIDRejection DescriptorIDRejection,
+ descriptorUpdate DescriptorUpdate,
+ descriptorUpdateAck DescriptorUpdateAck,
+ accessRequest AccessRequest,
+ accessConfirmation AccessConfirmation,
+ accessRejection AccessRejection,
+ requestInProgress RequestInProgress,
+ nonStandardRequest NonStandardRequest,
+ nonStandardConfirmation NonStandardConfirmation,
+ nonStandardRejection NonStandardRejection,
+ unknownMessageResponse UnknownMessageResponse,
+ usageRequest UsageRequest,
+ usageConfirmation UsageConfirmation,
+ usageIndication UsageIndication,
+ usageIndicationConfirmation UsageIndicationConfirmation,
+ usageIndicationRejection UsageIndicationRejection,
+ usageRejection UsageRejection,
+ validationRequest ValidationRequest,
+ validationConfirmation ValidationConfirmation,
+ validationRejection ValidationRejection,
+ ...,
+ authenticationRequest AuthenticationRequest,
+ authenticationConfirmation AuthenticationConfirmation,
+ authenticationRejection AuthenticationRejection
+}
+
+MessageCommonInfo ::= SEQUENCE {
+ sequenceNumber INTEGER(0..65535),
+ annexGversion ProtocolVersion, -- set to "H.225.0 Annex G V2"
+ hopCount INTEGER(1..255),
+ replyAddress SEQUENCE OF TransportAddress OPTIONAL,
+ -- Must be present in request
+ integrityCheckValue ICV OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
+ nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
+ ...,
+ serviceID ServiceID OPTIONAL,
+ genericData SEQUENCE OF GenericData OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ version ProtocolVersion -- current H.501 protocol version
+}
+
+ServiceID ::= GloballyUniqueID
+
+--
+-- H.501 messages
+--
+ServiceRequest ::= SEQUENCE {
+ elementIdentifier ElementIdentifier OPTIONAL,
+ domainIdentifier AliasAddress OPTIONAL,
+ securityMode SEQUENCE OF SecurityMode OPTIONAL,
+ timeToLive INTEGER(1..4294967295) OPTIONAL,
+ ...,
+ usageSpec UsageSpecification OPTIONAL
+}
+
+SecurityMode ::= SEQUENCE {
+ authentication AuthenticationMechanism OPTIONAL,
+ integrity IntegrityMechanism OPTIONAL,
+ algorithmOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+ ...
+}
+
+ServiceConfirmation ::= SEQUENCE {
+ elementIdentifier ElementIdentifier,
+ domainIdentifier AliasAddress,
+ alternates AlternatePEInfo OPTIONAL,
+ securityMode SecurityMode OPTIONAL,
+ timeToLive INTEGER(1..4294967295) OPTIONAL,
+ ...,
+ usageSpec UsageSpecification OPTIONAL
+}
+
+ServiceRejection ::= SEQUENCE {
+ reason ServiceRejectionReason,
+ alternates AlternatePEInfo OPTIONAL,
+ ...
+}
+
+ServiceRejectionReason ::= CHOICE {
+ serviceUnavailable NULL,
+ serviceRedirected NULL,
+ security NULL,
+ continue NULL,
+ undefined NULL,
+ ...,
+ unknownServiceID NULL,
+ cannotSupportUsageSpec NULL, -- Cannot comply with proposed spec
+ neededFeature NULL,
+ genericDataReason NULL,
+ usageUnavailable NULL, -- Usage reporting not supported
+ unknownUsageSendTo NULL -- Usage sendTo could not be resolved
+}
+
+ServiceRelease ::= SEQUENCE {
+ reason ServiceReleaseReason,
+ alternates AlternatePEInfo OPTIONAL,
+ ...
+}
+
+ServiceReleaseReason ::= CHOICE {
+ outOfService NULL,
+ maintenance NULL,
+ terminated NULL,
+ expired NULL,
+ ...
+}
+
+DescriptorRequest ::= SEQUENCE {descriptorID SEQUENCE OF DescriptorID,
+ ...
+}
+
+DescriptorConfirmation ::= SEQUENCE {descriptor SEQUENCE OF Descriptor,
+ ...
+}
+
+DescriptorRejection ::= SEQUENCE {
+ reason DescriptorRejectionReason,
+ descriptorID DescriptorID OPTIONAL,
+ ...
+}
+
+DescriptorRejectionReason ::= CHOICE {
+ packetSizeExceeded NULL, -- use other transport type
+ illegalID NULL, -- no descriptor for provided descriptorID
+ security NULL, -- request did not meet security requirements
+ hopCountExceeded NULL,
+ noServiceRelationship NULL,
+ undefined NULL,
+ ...,
+ neededFeature NULL,
+ genericDataReason NULL,
+ unknownServiceID NULL-- The serviceID is not recognized by--
+ -- the peer element
+}
+
+DescriptorIDRequest ::= SEQUENCE {...
+}
+
+DescriptorIDConfirmation ::= SEQUENCE {
+ descriptorInfo SEQUENCE OF DescriptorInfo,
+ ...
+}
+
+DescriptorIDRejection ::= SEQUENCE {reason DescriptorIDRejectionReason,
+ ...
+}
+
+DescriptorIDRejectionReason ::= CHOICE {
+ noDescriptors NULL, -- no descriptors to report
+ security NULL, -- request did not meet security requirements
+ hopCountExceeded NULL,
+ noServiceRelationship NULL,
+ undefined NULL,
+ ...,
+ neededFeature NULL,
+ genericDataReason NULL,
+ unknownServiceID NULL-- The serviceID is not recognized by--
+ -- the peer element
+}
+
+DescriptorUpdate ::= SEQUENCE {
+ sender AliasAddress,
+ updateInfo SEQUENCE OF UpdateInformation,
+ ...
+}
+
+UpdateInformation ::= SEQUENCE {
+ descriptorInfo
+ CHOICE {descriptorID DescriptorID,
+ descriptor Descriptor,
+ ...},
+ updateType CHOICE {added NULL,
+ deleted NULL,
+ changed NULL,
+ ...},
+ ...
+}
+
+DescriptorUpdateAck ::= SEQUENCE {...
+}
+
+AccessRequest ::= SEQUENCE {
+ destinationInfo PartyInformation,
+ sourceInfo PartyInformation OPTIONAL,
+ callInfo CallInformation OPTIONAL,
+ usageSpec UsageSpecification OPTIONAL,
+ ...,
+ desiredProtocols SEQUENCE OF SupportedProtocols OPTIONAL
+}
+
+AccessConfirmation ::= SEQUENCE {
+ templates SEQUENCE OF AddressTemplate,
+ partialResponse BOOLEAN,
+ ...,
+ supportedProtocols SEQUENCE OF SupportedProtocols OPTIONAL,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL
+}
+
+AccessRejection ::= SEQUENCE {
+ reason AccessRejectionReason,
+ ...,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL
+}
+
+AccessRejectionReason ::= CHOICE {
+ noMatch NULL, -- no template matched the destinationInfo
+ packetSizeExceeded NULL, -- use other transport type
+ security NULL, -- request did not meet security requirements
+ hopCountExceeded NULL,
+ needCallInformation NULL, -- Call Information must be specified
+ noServiceRelationship NULL,
+ undefined NULL,
+ ...,
+ neededFeature NULL,
+ genericDataReason NULL,
+ destinationUnavailable NULL, -- Destination was resolved but is
+
+ -- unavailable
+ aliasesInconsistent NULL, -- Multiple aliases identify distinct
+
+ -- destinations
+ resourceUnavailable NULL, -- One or more required resources are
+
+ -- unavailable
+ incompleteAddress NULL, -- Destination cannot be distinctly
+
+ -- identified
+ unknownServiceID NULL, -- The serviceID is not recognized by
+
+ -- the peer element
+ usageUnavailable NULL, -- Usage reporting not supported
+ cannotSupportUsageSpec NULL, -- Cannot comply with proposed spec
+ unknownUsageSendTo NULL -- Usage sendTo could not be resolved
+}
+
+UsageRequest ::= SEQUENCE {
+ callInfo CallInformation,
+ usageSpec UsageSpecification,
+ ...
+}
+
+UsageConfirmation ::= SEQUENCE {...
+}
+
+UsageRejection ::= SEQUENCE {reason UsageRejectReason,
+ ...
+}
+
+UsageIndication ::= SEQUENCE {
+ callInfo CallInformation,
+ accessTokens SEQUENCE OF AccessToken OPTIONAL,
+ senderRole Role,
+ usageCallStatus UsageCallStatus,
+ srcInfo PartyInformation OPTIONAL,
+ destAddress PartyInformation,
+ startTime TimeStamp OPTIONAL,
+ endTime TimeStamp OPTIONAL,
+ terminationCause TerminationCause OPTIONAL,
+ usageFields SEQUENCE OF UsageField,
+ ...
+}
+
+UsageField ::= SEQUENCE {id OBJECT IDENTIFIER,
+ value OCTET STRING,
+ ...
+}
+
+UsageRejectReason ::= CHOICE {
+ invalidCall NULL,
+ unavailable NULL,
+ security NULL,
+ noServiceRelationship NULL,
+ undefined NULL,
+ ...,
+ neededFeature NULL,
+ genericDataReason NULL,
+ unknownServiceID NULL-- The serviceID is not recognized by--
+ -- the peer element
+}
+
+UsageIndicationConfirmation ::= SEQUENCE {...
+}
+
+UsageIndicationRejection ::= SEQUENCE {
+ reason UsageIndicationRejectionReason,
+ ...
+}
+
+UsageIndicationRejectionReason ::= CHOICE {
+ unknownCall NULL,
+ incomplete NULL,
+ security NULL,
+ noServiceRelationship NULL,
+ undefined NULL,
+ ...,
+ neededFeature NULL,
+ genericDataReason NULL,
+ unknownServiceID NULL-- The serviceID is not recognized by--
+ -- the peer element
+}
+
+ValidationRequest ::= SEQUENCE {
+ accessToken SEQUENCE OF AccessToken OPTIONAL,
+ destinationInfo PartyInformation OPTIONAL,
+ sourceInfo PartyInformation OPTIONAL,
+ callInfo CallInformation,
+ usageSpec UsageSpecification OPTIONAL,
+ ...
+}
+
+ValidationConfirmation ::= SEQUENCE {
+ destinationInfo PartyInformation OPTIONAL,
+ usageSpec UsageSpecification OPTIONAL,
+ ...
+}
+
+ValidationRejection ::= SEQUENCE {reason ValidationRejectionReason,
+ ...
+}
+
+ValidationRejectionReason ::= CHOICE {
+ tokenNotValid NULL,
+ security NULL, -- request did not meet security requirements
+ hopCountExceeded NULL,
+ missingSourceInfo NULL,
+ missingDestInfo NULL,
+ noServiceRelationship NULL,
+ undefined NULL,
+ ...,
+ neededFeature NULL,
+ genericDataReason NULL,
+ unknownServiceID NULL-- The serviceID is not recognized by--
+ -- the peer element
+}
+
+RequestInProgress ::= SEQUENCE {
+ delay INTEGER(1..65535),
+ ...,
+ serviceControl SEQUENCE OF ServiceControlSession OPTIONAL
+}
+
+NonStandardRequest ::= SEQUENCE {...
+}
+
+NonStandardConfirmation ::= SEQUENCE {...
+}
+
+NonStandardRejection ::= SEQUENCE {reason NonStandardRejectionReason,
+ ...
+}
+
+NonStandardRejectionReason ::= CHOICE {
+ notSupported NULL,
+ noServiceRelationship NULL,
+ undefined NULL,
+ ...,
+ neededFeature NULL,
+ genericDataReason NULL,
+ unknownServiceID NULL-- The serviceID is not recognized by--
+ -- the peer element
+}
+
+UnknownMessageResponse ::= SEQUENCE {
+ unknownMessage OCTET STRING,
+ reason UnknownMessageReason,
+ ...
+}
+
+UnknownMessageReason ::= CHOICE {notUnderstood NULL,
+ undefined NULL,
+ ...
+}
+
+AuthenticationRequest ::= SEQUENCE {
+ applicationMessage ApplicationMessage, -- e.g. RAS message in
+
+ -- ITU-T Rec. H.323
+ ...
+}
+
+ApplicationMessage ::= OCTET STRING
+
+AuthenticationConfirmation ::= SEQUENCE {...
+}
+
+AuthenticationRejection ::= SEQUENCE {
+ reason AuthenticationRejectionReason,
+ ...
+}
+
+AuthenticationRejectionReason ::= CHOICE {
+ security NULL,
+ hopCountExceeded NULL,
+ noServiceRelationship NULL,
+ undefined NULL,
+ neededFeature NULL,
+ genericDataReason NULL,
+ unknownServiceID NULL,
+ securityWrongSyncTime NULL, -- time server problem or network delay
+ securityReplay NULL, -- replay attack encountered
+ securityWrongGeneralID NULL, -- wrong general ID
+ securityWrongSendersID NULL, -- wrong senders ID
+ securityIntegrityFailed NULL, -- integrity check failed
+ securityWrongOID NULL, -- wrong token OIDs or crypto alg OIDs
+ ...
+}
+
+--
+-- structures common to multiple messages
+--
+AddressTemplate ::= SEQUENCE {
+ pattern SEQUENCE OF Pattern,
+ routeInfo SEQUENCE OF RouteInformation,
+ timeToLive INTEGER(1..4294967295),
+ ...,
+ supportedProtocols SEQUENCE OF SupportedProtocols OPTIONAL,
+ featureSet FeatureSet OPTIONAL
+}
+
+Pattern ::= CHOICE {
+ specific AliasAddress,
+ wildcard AliasAddress,
+ range SEQUENCE {startOfRange PartyNumber,
+ endOfRange PartyNumber},
+ ...
+}
+
+RouteInformation ::= SEQUENCE {
+ messageType
+ CHOICE {sendAccessRequest NULL,
+ sendSetup NULL,
+ nonExistent NULL,
+ ...},
+ callSpecific BOOLEAN,
+ usageSpec UsageSpecification OPTIONAL,
+ priceInfo SEQUENCE OF PriceInfoSpec OPTIONAL,
+ contacts SEQUENCE OF ContactInformation,
+ type EndpointType OPTIONAL,
+ -- must be present if messageType = sendSetup
+ ...,
+ featureSet FeatureSet OPTIONAL,
+ circuitID CircuitInfo OPTIONAL,
+ supportedCircuits SEQUENCE OF CircuitIdentifier OPTIONAL
+}
+
+ContactInformation ::= SEQUENCE {
+ transportAddress AliasAddress,
+ priority INTEGER(0..127),
+ transportQoS TransportQOS OPTIONAL,
+ security SEQUENCE OF SecurityMode OPTIONAL,
+ accessTokens SEQUENCE OF AccessToken OPTIONAL,
+ ...,
+ multipleCalls BOOLEAN OPTIONAL,
+ featureSet FeatureSet OPTIONAL,
+ circuitID CircuitInfo OPTIONAL,
+ supportedCircuits SEQUENCE OF CircuitIdentifier OPTIONAL
+}
+
+PriceInfoSpec ::= SEQUENCE {
+ currency IA5String(SIZE (3)), -- e.g. "USD"
+ currencyScale INTEGER(-127..127),
+ validFrom GlobalTimeStamp OPTIONAL,
+ validUntil GlobalTimeStamp OPTIONAL,
+ hoursFrom IA5String(SIZE (6)) OPTIONAL, -- "HHMMSS" UTC
+ hoursUntil IA5String(SIZE (6)) OPTIONAL, -- "HHMMSS" UTC
+ priceElement SEQUENCE OF PriceElement OPTIONAL,
+ priceFormula IA5String(SIZE (1..2048)) OPTIONAL,
+ ...
+}
+
+PriceElement ::= SEQUENCE {
+ amount INTEGER(0..4294967295), -- meter increment
+ quantum INTEGER(0..4294967295), -- each or part thereof
+ units
+ CHOICE {seconds NULL,
+ packets NULL,
+ bytes NULL,
+ initial NULL,
+ minimum NULL,
+ maximum NULL,
+ ...},
+ ...
+}
+
+Descriptor ::= SEQUENCE {
+ descriptorInfo DescriptorInfo,
+ templates SEQUENCE OF AddressTemplate,
+ gatekeeperID GatekeeperIdentifier OPTIONAL,
+ ...
+}
+
+DescriptorInfo ::= SEQUENCE {
+ descriptorID DescriptorID,
+ lastChanged GlobalTimeStamp,
+ ...
+}
+
+AlternatePEInfo ::= SEQUENCE {
+ alternatePE SEQUENCE OF AlternatePE,
+ alternateIsPermanent BOOLEAN,
+ ...
+}
+
+AlternatePE ::= SEQUENCE {
+ contactAddress AliasAddress,
+ priority INTEGER(1..127),
+ elementIdentifier ElementIdentifier OPTIONAL,
+ ...
+}
+
+AccessToken ::= CHOICE {
+ token ClearToken,
+ cryptoToken CryptoH323Token,
+ ...,
+ genericData GenericData
+}
+
+CallInformation ::= SEQUENCE {
+ callIdentifier CallIdentifier,
+ conferenceID ConferenceIdentifier,
+ ...,
+ circuitID CircuitInfo OPTIONAL
+}
+
+UsageCallStatus ::= CHOICE {
+ preConnect NULL, -- Call has not started
+ callInProgress NULL, -- Call is in progress
+ callEnded NULL, -- Call ended
+ ...,
+ registrationLost NULL -- Uncertain if call ended or not
+}
+
+UserInformation ::= SEQUENCE {
+ userIdentifier AliasAddress,
+ userAuthenticator SEQUENCE OF CryptoH323Token OPTIONAL,
+ ...
+}
+
+UsageSpecification ::= SEQUENCE {
+ sendTo ElementIdentifier,
+ when
+ SEQUENCE {never NULL OPTIONAL,
+ start NULL OPTIONAL,
+ end NULL OPTIONAL,
+ period INTEGER(1..65535) OPTIONAL, -- in seconds--
+ failures NULL OPTIONAL,
+ ...},
+ required SEQUENCE OF OBJECT IDENTIFIER,
+ preferred SEQUENCE OF OBJECT IDENTIFIER,
+ ...,
+ sendToPEAddress AliasAddress OPTIONAL
+}
+
+PartyInformation ::= SEQUENCE {
+ logicalAddresses SEQUENCE OF AliasAddress,
+ domainIdentifier AliasAddress OPTIONAL,
+ transportAddress AliasAddress OPTIONAL,
+ endpointType EndpointType OPTIONAL,
+ userInfo UserInformation OPTIONAL,
+ timeZone TimeZone OPTIONAL,
+ ...
+}
+
+Role ::= CHOICE {
+ originator NULL,
+ destination NULL,
+ nonStandardData NonStandardParameter,
+ ...
+}
+
+TimeZone ::= INTEGER(-43200..43200) -- number of seconds relative to UTC
+
+
+-- including DST if appropriate
+TerminationCause ::= SEQUENCE {
+ releaseCompleteReason ReleaseCompleteReason,
+ causeIE INTEGER(1..65535) OPTIONAL,
+ nonStandardData NonStandardParameter OPTIONAL,
+ ...
+}
+
+ProtocolVersion ::= OBJECT IDENTIFIER
+
+-- shall be set to
+-- {itu-t(0) recommendation(0) h(8) h-225-0(2250) annex(1) g(7)
+-- version(0) 2} in field annexGversion;
+-- {itu-t(0) recommendation(0) h(8) 501 version(0) 1}
+-- in field version
+DescriptorID ::=
+ GloballyUniqueID
+
+ElementIdentifier ::= BMPString(SIZE (1..128))
+
+GlobalTimeStamp ::= IA5String(SIZE (14))
+
+-- UTC, in the form YYYYMMDDHHmmSS
+-- where YYYY = year, MM = month, DD = day,
+-- HH = hour, mm = minute, SS = second
+-- (for example, 19981219120000 for noon
+-- 19 December 1998)
+--
+-- REPOSITORY FOR APPLICATION SPECIFIC DATA
+--
+-- H.225.0 Annex-G profile data
+--
+idAnnexGProfiles INTEGER ::=
+ 0
+
+idAnnexGProfileA INTEGER ::= 1
+
+--annexGProfileA EnumeratedParameter ::=
+--{
+-- id standard:idAnnexGProfileA
+--}
+END -- of H501-MESSAGES
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/h501/h501.cnf b/epan/dissectors/asn1/h501/h501.cnf
new file mode 100644
index 00000000..902f187b
--- /dev/null
+++ b/epan/dissectors/asn1/h501/h501.cnf
@@ -0,0 +1,36 @@
+# h501.cnf
+# H.501 conformation file
+# 2007 Tomas Kukosa
+
+#.INCLUDE ../h225/h225-exp.cnf
+#.INCLUDE ../h235/h235-exp.cnf
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.PDU
+Message
+#.END
+
+#.FIELD_RENAME
+DescriptorRejection/descriptorID descriptorRejection_descriptorID
+UpdateInformation/descriptorInfo/descriptorID updateInformation_descriptorID
+DescriptorInfo/descriptorID descriptorInfo_descriptorID
+#.FIELD_ATTR
+DescriptorRejection/descriptorID ABBREV=descriptorRejection_descriptorID
+UpdateInformation/descriptorInfo/descriptorID ABBREV=updateInformation_descriptorID
+DescriptorInfo/descriptorID ABBREV=descriptorInfo_descriptorID
+
+
+#.FN_PARS MessageBody
+ VAL_PTR = &msg_type
+#.FN_HDR
+ gint32 msg_type = -1;
+ const gchar *p = NULL;
+#.FN_FTR
+ p = try_val_to_str(msg_type, VALS(h501_MessageBody_vals));
+ if (p )
+ col_set_str(actx->pinfo->cinfo, COL_INFO, p);
+#.END
diff --git a/epan/dissectors/asn1/h501/packet-h501-template.c b/epan/dissectors/asn1/h501/packet-h501-template.c
new file mode 100644
index 00000000..45596549
--- /dev/null
+++ b/epan/dissectors/asn1/h501/packet-h501-template.c
@@ -0,0 +1,121 @@
+/* packet-h501.c
+ * Routines for H.501 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-tpkt.h"
+#include "packet-per.h"
+#include "packet-h225.h"
+#include "packet-h235.h"
+
+#define PNAME "H.501 Mobility"
+#define PSNAME "H.501"
+#define PFNAME "h501"
+
+void proto_register_h501(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_h501 = -1;
+#include "packet-h501-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_h501 = -1;
+#include "packet-h501-ett.c"
+
+/* Dissectors */
+static dissector_handle_t h501_pdu_handle;
+static dissector_handle_t h501_udp_handle;
+static dissector_handle_t h501_tcp_handle;
+
+/* Preferences */
+#define H501_PORT 2099
+static gboolean h501_desegment_tcp = TRUE;
+
+void proto_reg_handoff_h501(void);
+
+#include "packet-h501-fn.c"
+
+static int
+dissect_h501_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ proto_item *ti = NULL;
+ proto_tree *h501_tree = NULL;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+
+ ti = proto_tree_add_item(tree, proto_h501, tvb, 0, -1, ENC_NA);
+ h501_tree = proto_item_add_subtree(ti, ett_h501);
+
+ return dissect_Message_PDU(tvb, pinfo, h501_tree, NULL);
+}
+
+static int
+dissect_h501_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ dissect_tpkt_encap(tvb, pinfo, tree, FALSE, h501_pdu_handle);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_h501_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ dissect_tpkt_encap(tvb, pinfo, tree, h501_desegment_tcp, h501_pdu_handle);
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_h501 ----------------------------------------------*/
+void proto_register_h501(void) {
+ module_t *h501_module;
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-h501-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_h501,
+#include "packet-h501-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_h501 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h501, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissectors */
+ h501_pdu_handle = register_dissector(PFNAME, dissect_h501_pdu, proto_h501);
+ h501_udp_handle = register_dissector(PFNAME ".udp", dissect_h501_udp, proto_h501);
+ h501_tcp_handle = register_dissector(PFNAME ".tcp", dissect_h501_tcp, proto_h501);
+
+ /* Register dissection preferences */
+ h501_module = prefs_register_protocol(proto_h501, NULL);
+ prefs_register_bool_preference(h501_module, "desegment",
+ "Desegment H.501 over TCP",
+ "Desegment H.501 messages that span more TCP segments",
+ &h501_desegment_tcp);
+
+}
+
+/*--- proto_reg_handoff_h501 -------------------------------------------*/
+void proto_reg_handoff_h501(void)
+{
+ dissector_add_uint_with_preference("tcp.port", H501_PORT, h501_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", H501_PORT, h501_udp_handle);
+}
+
diff --git a/epan/dissectors/asn1/hnbap/CMakeLists.txt b/epan/dissectors/asn1/hnbap/CMakeLists.txt
new file mode 100644
index 00000000..54572bbb
--- /dev/null
+++ b/epan/dissectors/asn1/hnbap/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME hnbap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ HNBAP-CommonDataTypes.asn
+ HNBAP-Constants.asn
+ HNBAP-Containers.asn
+ HNBAP-IEs.asn
+ HNBAP-PDU-Contents.asn
+ HNBAP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/hnbap/HNBAP-CommonDataTypes.asn b/epan/dissectors/asn1/hnbap/HNBAP-CommonDataTypes.asn
new file mode 100644
index 00000000..8097a3e1
--- /dev/null
+++ b/epan/dissectors/asn1/hnbap/HNBAP-CommonDataTypes.asn
@@ -0,0 +1,55 @@
+-- HNBAP-CommonDataTypes.asn
+--
+-- 3GPP TS 25.469 V10.1.0 (2011-06)
+-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm
+--
+-- 9.3.5 Common Definitions
+--
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+HNBAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0..65535),
+ global OBJECT IDENTIFIER
+}
+
+
+ProcedureCode ::= INTEGER (0..255)
+
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome }
+
+END
diff --git a/epan/dissectors/asn1/hnbap/HNBAP-Constants.asn b/epan/dissectors/asn1/hnbap/HNBAP-Constants.asn
new file mode 100644
index 00000000..befb935c
--- /dev/null
+++ b/epan/dissectors/asn1/hnbap/HNBAP-Constants.asn
@@ -0,0 +1,92 @@
+-- HNBAP-Constants.asn
+--
+-- 3GPP TS 25.469 V10.1.0 (2011-06)
+-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm
+--
+-- 9.3.6 Constant Definitions
+--
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+HNBAP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM HNBAP-CommonDataTypes;
+
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+id-HNBRegister ProcedureCode ::= 1
+id-HNBDe-Register ProcedureCode ::= 2
+id-UERegister ProcedureCode ::= 3
+id-UEDe-Register ProcedureCode ::= 4
+id-ErrorIndication ProcedureCode ::= 5
+id-privateMessage ProcedureCode ::= 6
+id-CSGMembershipUpdate ProcedureCode ::= 7
+id-TNLUpdate ProcedureCode ::= 9
+id-HNBConfigTransfer ProcedureCode ::= 10
+id-RelocationComplete ProcedureCode ::= 11
+
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+maxNrOfErrors INTEGER ::= 256
+maxnoofRABs INTEGER ::= 256
+maxnoofNeighbours INTEGER ::= 32
+maxnoofIurhAddresses INTEGER ::= 3
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Cause ProtocolIE-ID ::= 1
+id-CriticalityDiagnostics ProtocolIE-ID ::= 2
+id-HNB-Identity ProtocolIE-ID ::= 3
+id-Context-ID ProtocolIE-ID ::= 4
+id-UE-Identity ProtocolIE-ID ::= 5
+id-LAC ProtocolIE-ID ::= 6
+id-RAC ProtocolIE-ID ::= 7
+id-HNB-Location-Information ProtocolIE-ID ::= 8
+id-PLMNidentity ProtocolIE-ID ::= 9
+id-SAC ProtocolIE-ID ::= 10
+id-CellIdentity ProtocolIE-ID ::= 11
+id-Registration-Cause ProtocolIE-ID ::= 12
+id-UE-Capabilities ProtocolIE-ID ::= 13
+id-RNC-ID ProtocolIE-ID ::= 14
+id-CSG-ID ProtocolIE-ID ::= 15
+id-BackoffTimer ProtocolIE-ID ::= 16
+id-HNB-Internet-Information ProtocolIE-ID ::= 17
+id-HNB-Cell-Access-Mode ProtocolIE-ID ::= 18
+id-MuxPortNumber ProtocolIE-ID ::= 19
+id-Service-Area-For-Broadcast ProtocolIE-ID ::= 20
+id-CSGMembershipStatus ProtocolIE-ID ::= 21
+id-RABList ProtocolIE-ID ::= 22
+id-HNBConfigInfo ProtocolIE-ID ::= 23
+id-AccessResult ProtocolIE-ID ::= 25
+id-Update-cause ProtocolIE-ID ::= 26
+id-NeighbourInfoList ProtocolIE-ID ::= 27
+id-NeighbourInfoRequestList ProtocolIE-ID ::= 28
+id-Iurh-Signalling-TNL-Address ProtocolIE-ID ::= 29
+id-PSC ProtocolIE-ID ::= 30
+id-HNB-Cell-Identifier ProtocolIE-ID ::= 31
+
+
+END
diff --git a/epan/dissectors/asn1/hnbap/HNBAP-Containers.asn b/epan/dissectors/asn1/hnbap/HNBAP-Containers.asn
new file mode 100644
index 00000000..f00c4d0e
--- /dev/null
+++ b/epan/dissectors/asn1/hnbap/HNBAP-Containers.asn
@@ -0,0 +1,157 @@
+-- HNBAP-Containers.asn
+--
+-- 3GPP TS 25.469 V10.1.0 (2011-06)
+-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm
+--
+-- 9.3.7 Container Definitions
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+HNBAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID,
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM HNBAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+HNBAP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+HNBAP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+HNBAP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {HNBAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {HNBAP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {HNBAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id HNBAP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality HNBAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value HNBAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, HNBAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id HNBAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality HNBAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue HNBAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {HNBAP-PRIVATE-IES : IEsSetParam } ::=
+ SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {HNBAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id HNBAP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality HNBAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value HNBAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/hnbap/HNBAP-IEs.asn b/epan/dissectors/asn1/hnbap/HNBAP-IEs.asn
new file mode 100644
index 00000000..3a4fa1c6
--- /dev/null
+++ b/epan/dissectors/asn1/hnbap/HNBAP-IEs.asn
@@ -0,0 +1,518 @@
+-- HNBAP-IEs.asn
+--
+-- 3GPP TS 25.469 V10.1.0 (2011-06)
+-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm
+--
+-- 9.3.4 Information Element Definitions
+--
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+HNBAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ maxNrOfErrors,
+ maxnoofRABs,
+ maxnoofNeighbours,
+ maxnoofIurhAddresses,
+ id-HNB-Internet-Information,
+ id-HNB-Cell-Identifier
+
+FROM HNBAP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM HNBAP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ HNBAP-PROTOCOL-EXTENSION
+FROM HNBAP-Containers;
+
+
+--A
+Access-stratum-release-indicator ::= ENUMERATED {r99,
+ rel-4, rel-5, rel-6, rel-7, rel-8-and-beyond,
+ ...}
+
+AccessResult ::= ENUMERATED {allowed, notAllowed, ...}
+
+AltitudeAndDirection ::= SEQUENCE {
+ directionOfAltitude ENUMERATED {height, depth},
+ altitude INTEGER (0..32767),
+ ...
+}
+
+--B
+BackoffTimer ::= INTEGER(0..3600)
+
+BindingID ::= OCTET STRING(SIZE(1..4,...))
+
+--C
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+CauseRadioNetwork ::= ENUMERATED {
+ overload,
+ unauthorised-Location,
+ unauthorised-HNB,
+ hNB-parameter-mismatch,
+ invalid-UE-identity,
+ uE-not-allowed-on-this-HNB,
+ uE-unauthorised,
+ connection-with-UE-lost,
+ ue-RRC-telease,
+ hNB-not-registered,
+ unspecified,
+ normal,
+ uE-relocated,
+ ue-registered-in-another-HNB,
+ ...
+}
+
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ unspecified,
+ abstract-syntax-error-falsely-constructed-message,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ processing-overload,
+ hardware-failure,
+ o-and-m-intervention,
+ unspecified,
+ ...
+}
+
+CellIdentity ::= BIT STRING (SIZE (28))
+
+Context-ID ::= BIT STRING (SIZE(24))
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CriticalityDiagnostics-IE-List-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CSG-ID ::= BIT STRING (SIZE (27))
+
+CSG-Capability ::= ENUMERATED {
+ csg-capable,
+ not-csg-capable,
+ ...
+ }
+
+CSGMembershipStatus ::= ENUMERATED {
+ member,
+ non-member,
+ ...
+}
+
+CGI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ lAC LAC,
+ cI CI,
+ iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
+}
+
+CGI-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CI ::= OCTET STRING (SIZE (2))
+
+
+CN-DomainIndicator ::= ENUMERATED {
+ cs-domain,
+ ps-domain
+}
+--D
+--E
+ESN ::= BIT STRING (SIZE(32))
+--F
+--G
+GeographicalLocation ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ altitudeAndDirection AltitudeAndDirection,
+ iE-Extensions ProtocolExtensionContainer { { GeographicLocation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeographicLocation-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GeographicalCoordinates ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeographicalCoordinates-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GTP-TEI ::= OCTET STRING (SIZE (4))
+
+--H
+
+HNB-Cell-Access-Mode::= ENUMERATED {
+ closed,
+ hybrid,
+ open,
+ ...
+}
+
+HNB-Cell-Identifier ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ cellIdentity CellIdentity,
+ iE-Extensions ProtocolExtensionContainer { { HNB-Cell-Identifier-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HNB-Cell-Identifier-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HNB-RNL-Identity ::= CHOICE {
+ hNB-Identity-as-Cell-Identifier HNB-Cell-Identifier,
+ ...
+}
+
+HNBConfigInfo ::= SEQUENCE {
+ hnb-RNL-Identity HNB-RNL-Identity,
+ configurationInformation ConfigurationInformation,
+ iE-Extensions ProtocolExtensionContainer { { HNBConfigInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HNBConfigInfo-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ConfigurationInformation ::= CHOICE {
+ provided HNBConfigurationInformationProvided,
+ missing HNBConfigurationInformationMissing,
+ ...
+}
+
+HNBConfigurationInformationProvided ::= SEQUENCE {
+
+ psc PSC OPTIONAL,
+ cSG-ID CSG-ID OPTIONAL,
+ hNB-Cell-Access-Mode HNB-Cell-Access-Mode,
+ iurh-Signalling-TNL-AddressList Iurh-Signalling-TNL-AddressList,
+ iE-Extensions ProtocolExtensionContainer { { HNBConfigurationInformationProvided-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HNBConfigurationInformationProvided-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HNBConfigurationInformationMissing ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { HNBConfigurationInformationMissing-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HNBConfigurationInformationMissing-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HNB-Location-Information ::= SEQUENCE {
+ macroCoverageInfo MacroCoverageInformation OPTIONAL,
+ geographicalCoordinates GeographicalLocation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HNB-Location-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HNB-Location-Information-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+-- Extension for release-8 to support IP address for location verification --
+{ID id-HNB-Internet-Information CRITICALITY reject EXTENSION IP-Address PRESENCE optional },
+ ...
+}
+
+
+
+HNB-Identity ::= SEQUENCE {
+ hNB-Identity-Info HNB-Identity-Info,
+ iE-Extensions ProtocolExtensionContainer { { HNB-Identity-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HNB-Identity-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+HNB-Identity-Info ::= OCTET STRING (SIZE (1..255))
+
+--I
+
+IMEI ::= BIT STRING (SIZE(60))
+
+IMSI ::= OCTET STRING (SIZE (3..8))
+-- Reference: 23.003
+IMSIDS41 ::= OCTET STRING (SIZE (5..7))
+
+IMSIESN ::= SEQUENCE {
+ iMSIDS41 IMSIDS41,
+ eSN ESN
+}
+
+
+IP-Address ::=SEQUENCE {
+ ipaddress CHOICE {
+ ipv4info Ipv4Address,
+ ipv6info Ipv6Address,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { IP-Address-ExtIEs } } OPTIONAL,
+ ...
+}
+
+IP-Address-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Ipv4Address ::= OCTET STRING (SIZE (4))
+
+Ipv6Address ::= OCTET STRING (SIZE (16))
+
+Iurh-Signalling-TNL-AddressList ::= SEQUENCE (SIZE(1..maxnoofIurhAddresses)) OF IP-Address
+
+
+--J
+--K
+--L
+LAC ::= OCTET STRING(SIZE(2))
+
+LAI ::= SEQUENCE {
+ pLMNID PLMNidentity,
+ lAC LAC,
+ ...
+ }
+
+-- M
+
+MacroCoverageInformation ::= SEQUENCE {
+ cellIdentity MacroCellID,
+ iE-Extensions ProtocolExtensionContainer { { MacroCoverageInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MacroCoverageInformation-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MacroCellID ::= CHOICE {
+ uTRANCellID UTRANCellID,
+ gERANCellID CGI,
+ ...
+}
+
+MuxPortNumber ::= INTEGER (1024..65535)
+
+--N
+
+NeighbourInfoList ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF HNBConfigInfo
+
+NeighbourInfoRequestList ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF NeighbourInfoRequestItem
+
+NeighbourInfoRequestItem ::= SEQUENCE {
+ hnb-RNL-Identity HNB-RNL-Identity,
+ iE-Extensions ProtocolExtensionContainer { { NeighbourInfoRequestItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NeighbourInfoRequestItem-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+--O
+--P
+PLMNidentity ::= OCTET STRING (SIZE (3))
+
+PSC ::= BIT STRING (SIZE(9))
+
+PTMSI ::= BIT STRING (SIZE(32))
+
+PTMSIRAI ::= SEQUENCE {
+ pTMSI PTMSI,
+ rAI RAI,
+ ...
+ }
+
+
+--Q
+--R
+
+RAB-ID ::= BIT STRING (SIZE (8))
+
+RABList ::= SEQUENCE (SIZE(1..maxnoofRABs)) OF RABListItem
+
+RABListItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ old-transport-Info TransportInfo,
+ new-transport-Info TransportInfo,
+ cn-domain-indicator CN-DomainIndicator,
+ iE-Extensions ProtocolExtensionContainer { { RABListItem-ExtIEs } } OPTIONAL,
+...
+}
+
+RABListItem-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAC ::= OCTET STRING(SIZE(1))
+
+RAI ::= SEQUENCE {
+ lAI LAI,
+ rAC RAC,
+ ...
+}
+
+
+Registration-Cause ::= ENUMERATED {
+ emergency-call,
+ normal,
+ ...,
+ ue-relocation
+ }
+
+RNC-ID ::= INTEGER(0..65535)
+
+--S
+
+SAC ::= OCTET STRING(SIZE(2))
+
+--T
+TMSILAI ::= SEQUENCE {
+ tMSI BIT STRING(SIZE (32)),
+ lAI LAI
+}
+
+TMSIDS41 ::= OCTET STRING (SIZE (2..17))
+
+TransportInfo ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ transportAssociation CHOICE {
+ gtp-TEI GTP-TEI,
+ bindingID BindingID,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { TransportInfo-ExtIEs } } OPTIONAL,
+...
+}
+
+TransportInfo-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportLayerAddress ::= BIT STRING(SIZE(1..160,...))
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+--U
+UE-Capabilities ::= SEQUENCE {
+ access-stratum-release-indicator Access-stratum-release-indicator,
+ csg-capability CSG-Capability,
+ iE-Extensions ProtocolExtensionContainer { { UE-Capabilities-ExtIEs } } OPTIONAL,
+...
+}
+
+UE-Capabilities-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UTRANCellID ::= SEQUENCE {
+ lAC LAC,
+ rAC RAC,
+ pLMNidentity PLMNidentity,
+ uTRANcellID CellIdentity,
+ iE-Extensions ProtocolExtensionContainer { {UTRANCellID-ExtIEs} } OPTIONAL
+}
+
+UTRANCellID-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+UE-Identity ::= CHOICE {
+ iMSI IMSI,
+ tMSILAI TMSILAI,
+ pTMSIRAI PTMSIRAI,
+ iMEI IMEI,
+ eSN ESN,
+ iMSIDS41 IMSIDS41,
+ iMSIESN IMSIESN,
+ tMSIDS41 TMSIDS41,
+ ...
+}
+
+Update-cause ::= ENUMERATED {
+ relocation-preparation,
+ ...
+}
+
+--V
+--W
+--X
+--Y
+--Z
+
+
+END
diff --git a/epan/dissectors/asn1/hnbap/HNBAP-PDU-Contents.asn b/epan/dissectors/asn1/hnbap/HNBAP-PDU-Contents.asn
new file mode 100644
index 00000000..97c97432
--- /dev/null
+++ b/epan/dissectors/asn1/hnbap/HNBAP-PDU-Contents.asn
@@ -0,0 +1,490 @@
+-- HNBAP-PDU-Contents.asn
+--
+-- 3GPP TS 25.469 V10.1.0 (2011-06)
+-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm
+--
+-- 9.3.3 PDU Definitions
+--
+
+HNBAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Cause,
+ CriticalityDiagnostics,
+ CSGMembershipStatus,
+ HNB-Location-Information,
+ HNB-Identity,
+ Context-ID,
+ UE-Identity,
+ LAC,
+ RAC,
+ SAC,
+ CN-DomainIndicator,
+ IP-Address,
+ Registration-Cause,
+ UE-Capabilities,
+ PLMNidentity,
+ CellIdentity,
+ RNC-ID,
+ CSG-ID,
+ HNB-Cell-Access-Mode,
+ BackoffTimer,
+ MuxPortNumber,
+ RABList,
+ HNBConfigInfo,
+ AccessResult,
+ Update-cause,
+ NeighbourInfoList,
+ NeighbourInfoRequestList,
+ PSC
+
+
+
+FROM HNBAP-IEs
+
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-Container{},
+ ProtocolIE-Single-Container{},
+ PrivateIE-Container{},
+ HNBAP-PRIVATE-IES,
+ HNBAP-PROTOCOL-EXTENSION,
+ HNBAP-PROTOCOL-IES
+
+FROM HNBAP-Containers
+
+ id-Cause,
+ id-CriticalityDiagnostics,
+ id-CSGMembershipStatus,
+ id-HNB-Location-Information,
+ id-HNB-Identity,
+ id-Context-ID,
+ id-PLMNidentity,
+ id-UE-Identity,
+ id-LAC,
+ id-RAC,
+ id-SAC,
+ id-UE-Capabilities,
+ id-Registration-Cause,
+ id-CellIdentity,
+ id-RNC-ID,
+ id-CSG-ID,
+ id-HNB-Cell-Access-Mode,
+ id-BackoffTimer,
+ id-Service-Area-For-Broadcast,
+ id-MuxPortNumber,
+ id-RABList,
+ id-HNBConfigInfo,
+ id-AccessResult,
+ id-Update-cause,
+ id-NeighbourInfoList,
+ id-NeighbourInfoRequestList,
+ id-Iurh-Signalling-TNL-Address,
+ id-PSC
+
+
+FROM HNBAP-Constants;
+
+-- **************************************************************
+--
+-- HNB Register REQUEST
+--
+-- **************************************************************
+
+HNBRegisterRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HNBRegisterRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {HNBRegisterRequestExtensions} } OPTIONAL,
+ ...
+}
+
+HNBRegisterRequestIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-HNB-Identity CRITICALITY reject TYPE HNB-Identity PRESENCE mandatory } |
+ { ID id-HNB-Location-Information CRITICALITY reject TYPE HNB-Location-Information PRESENCE mandatory } |
+ { ID id-PLMNidentity CRITICALITY reject TYPE PLMNidentity PRESENCE mandatory } |
+ { ID id-CellIdentity CRITICALITY reject TYPE CellIdentity PRESENCE mandatory } |
+ { ID id-LAC CRITICALITY reject TYPE LAC PRESENCE mandatory } |
+ { ID id-RAC CRITICALITY reject TYPE RAC PRESENCE mandatory } |
+ { ID id-SAC CRITICALITY reject TYPE SAC PRESENCE mandatory } |
+ { ID id-CSG-ID CRITICALITY reject TYPE CSG-ID PRESENCE optional } ,
+ ...
+}
+
+HNBRegisterRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Service-Area-For-Broadcast CRITICALITY ignore EXTENSION SAC PRESENCE optional }|
+ { ID id-HNB-Cell-Access-Mode CRITICALITY reject EXTENSION HNB-Cell-Access-Mode PRESENCE optional }|
+ { ID id-PSC CRITICALITY ignore EXTENSION PSC PRESENCE optional }|
+ { ID id-Iurh-Signalling-TNL-Address CRITICALITY ignore EXTENSION IP-Address PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- HNB Register Accept
+--
+-- **************************************************************
+
+HNBRegisterAccept ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HNBRegisterResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {HNBRegisterResponseExtensions} } OPTIONAL,
+ ...
+}
+
+HNBRegisterResponseIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-RNC-ID CRITICALITY reject TYPE RNC-ID PRESENCE mandatory },
+ ...
+}
+
+HNBRegisterResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 9 to support CS Multiplexing --
+ { ID id-MuxPortNumber CRITICALITY ignore EXTENSION MuxPortNumber PRESENCE optional}|
+ { ID id-Iurh-Signalling-TNL-Address CRITICALITY ignore EXTENSION IP-Address PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- HNB Register REJECT
+--
+-- **************************************************************
+
+HNBRegisterReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HNBRegisterRejectIEs} },
+ protocolExtensions ProtocolExtensionContainer { {HNBRegisterRejectExtensions} } OPTIONAL,
+ ...
+}
+
+HNBRegisterRejectIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
+ { ID id-BackoffTimer CRITICALITY reject TYPE BackoffTimer PRESENCE conditional },
+ -- This IE shall be present if the Cause IE is set to "Overload".
+ ...
+}
+
+HNBRegisterRejectExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- HNB De- Register
+--
+-- **************************************************************
+
+HNBDe-Register ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HNBDe-RegisterIEs} },
+ protocolExtensions ProtocolExtensionContainer { {HNBDe-RegisterExtensions} } OPTIONAL,
+ ...
+}
+
+HNBDe-RegisterIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-BackoffTimer CRITICALITY reject TYPE BackoffTimer PRESENCE conditional },
+ -- This IE shall be present if the Cause IE is set to "Overload".
+ ...
+}
+
+HNBDe-RegisterExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE Register REQUEST
+--
+-- **************************************************************
+
+UERegisterRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UERegisterRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {UERegisterRequestExtensions} } OPTIONAL,
+ ...
+}
+
+UERegisterRequestIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-UE-Identity CRITICALITY reject TYPE UE-Identity PRESENCE mandatory } |
+ { ID id-Registration-Cause CRITICALITY ignore TYPE Registration-Cause PRESENCE mandatory } |
+ { ID id-UE-Capabilities CRITICALITY reject TYPE UE-Capabilities PRESENCE mandatory },
+ ...
+}
+
+UERegisterRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Register ACCEPT
+--
+-- **************************************************************
+
+UERegisterAccept ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UERegisterAcceptIEs} },
+ protocolExtensions ProtocolExtensionContainer { {UERegisterAcceptExtensions} } OPTIONAL,
+ ...
+}
+
+UERegisterAcceptIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-UE-Identity CRITICALITY reject TYPE UE-Identity PRESENCE mandatory } |
+ { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory },
+ ...
+}
+
+
+UERegisterAcceptExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CSGMembershipStatus CRITICALITY reject EXTENSION CSGMembershipStatus PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Register REJECT
+--
+-- **************************************************************
+
+UERegisterReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UERegisterRejectIEs} },
+ protocolExtensions ProtocolExtensionContainer { {UERegisterRejectExtensions} } OPTIONAL,
+ ...
+}
+
+UERegisterRejectIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-UE-Identity CRITICALITY reject TYPE UE-Identity PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+UERegisterRejectExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE De-Register
+--
+-- **************************************************************
+
+UEDe-Register ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEDe-RegisterIEs} },
+ protocolExtensions ProtocolExtensionContainer { {UEDe-RegisterExtensions} } OPTIONAL,
+ ...
+}
+
+UEDe-RegisterIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } ,
+ ...
+}
+
+UEDe-RegisterExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CSG Membership Update
+--
+-- **************************************************************
+
+CSGMembershipUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {CSGMembershipUpdateIEs} },
+ protocolExtensions ProtocolExtensionContainer { {CSGMembershipUpdateExtensions} } OPTIONAL,
+ ...
+}
+
+CSGMembershipUpdateIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } |
+ { ID id-CSGMembershipStatus CRITICALITY reject TYPE CSGMembershipStatus PRESENCE mandatory },
+ ...
+}
+
+CSGMembershipUpdateExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- TNL Update Request
+--
+-- **************************************************************
+
+TNLUpdateRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TNLUpdateRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {TNLUpdateExtensions} } OPTIONAL,
+ ...
+}
+
+TNLUpdateRequestIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } |
+ { ID id-RABList CRITICALITY reject TYPE RABList PRESENCE mandatory } |
+ { ID id-Update-cause CRITICALITY reject TYPE Update-cause PRESENCE mandatory } ,
+ ...
+}
+
+TNLUpdateExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- TNL UPDATE RESPONSE
+--
+-- **************************************************************
+
+TNLUpdateResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { TNLUpdateResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { { TNLUpdateResponseExtensions} } OPTIONAL,
+ ...
+}
+
+TNLUpdateResponseIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } ,
+ ...
+}
+
+TNLUpdateResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- TNL UPDATE FAILURE
+--
+-- **************************************************************
+
+TNLUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TNLUpdateFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { {TNLUpdateFailureExtensions} } OPTIONAL,
+ ...
+}
+
+TNLUpdateFailureIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+TNLUpdateFailureExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- HNB Configuration Transfer Request
+--
+-- **************************************************************
+
+HNBConfigTransferRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HNBConfigTransferRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {HNBConfigTransferRequestExtensions} } OPTIONAL,
+ ...
+}
+
+HNBConfigTransferRequestIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-NeighbourInfoRequestList CRITICALITY reject TYPE NeighbourInfoRequestList PRESENCE mandatory } ,
+ ...
+}
+
+HNBConfigTransferRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- HNB Configuration Transfer Response
+--
+-- **************************************************************
+
+HNBConfigTransferResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HNBConfigTransferResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { { HNBConfigTransferResponseExtensions} } OPTIONAL,
+ ...
+}
+
+HNBConfigTransferResponseIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-NeighbourInfoList CRITICALITY reject TYPE NeighbourInfoList PRESENCE mandatory } ,
+ ...
+}
+
+HNBConfigTransferResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RELOCATION COMPLETE
+--
+-- **************************************************************
+
+RelocationComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { RelocationCompleteIEs} },
+ protocolExtensions ProtocolExtensionContainer { { RelocationCompleteExtensions} } OPTIONAL,
+ ...
+}
+
+RelocationCompleteIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-Context-ID CRITICALITY ignore TYPE Context-ID PRESENCE mandatory } ,
+ ...
+}
+
+
+RelocationCompleteExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL,
+ ...
+}
+
+ErrorIndicationIEs HNBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+ErrorIndicationExtensions HNBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs HNBAP-PRIVATE-IES ::= {
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/hnbap/HNBAP-PDU-Descriptions.asn b/epan/dissectors/asn1/hnbap/HNBAP-PDU-Descriptions.asn
new file mode 100644
index 00000000..514d4510
--- /dev/null
+++ b/epan/dissectors/asn1/hnbap/HNBAP-PDU-Descriptions.asn
@@ -0,0 +1,231 @@
+-- HNBAP-PDU-Descriptions.asn
+--
+-- 3GPP TS 25.469 V10.1.0 (2011-06)
+-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm
+--
+-- 9.3.2 Elementary Procedure definitions
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+-- **************************************************************
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+HNBAP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM HNBAP-CommonDataTypes
+
+ HNBRegisterRequest,
+ HNBRegisterAccept,
+ HNBRegisterReject,
+ HNBDe-Register,
+ UERegisterRequest,
+ UERegisterAccept,
+ UERegisterReject,
+ UEDe-Register,
+ ErrorIndication,
+ PrivateMessage,
+ CSGMembershipUpdate,
+ TNLUpdateRequest,
+ TNLUpdateResponse,
+ TNLUpdateFailure,
+ HNBConfigTransferRequest,
+ HNBConfigTransferResponse,
+ RelocationComplete
+
+
+FROM HNBAP-PDU-Contents
+ id-HNBRegister,
+ id-UERegister,
+ id-UEDe-Register,
+ id-HNBDe-Register,
+ id-ErrorIndication,
+ id-privateMessage,
+ id-CSGMembershipUpdate,
+ id-TNLUpdate,
+ id-HNBConfigTransfer,
+ id-RelocationComplete
+
+FROM HNBAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+HNBAP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU definitions
+--
+-- **************************************************************
+
+HNBAP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode HNBAP-ELEMENTARY-PROCEDURE.&procedureCode ({HNBAP-ELEMENTARY-PROCEDURES}),
+ criticality HNBAP-ELEMENTARY-PROCEDURE.&criticality ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value HNBAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode HNBAP-ELEMENTARY-PROCEDURE.&procedureCode ({HNBAP-ELEMENTARY-PROCEDURES}),
+ criticality HNBAP-ELEMENTARY-PROCEDURE.&criticality ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value HNBAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode HNBAP-ELEMENTARY-PROCEDURE.&procedureCode ({HNBAP-ELEMENTARY-PROCEDURES}),
+ criticality HNBAP-ELEMENTARY-PROCEDURE.&criticality ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value HNBAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+HNBAP-ELEMENTARY-PROCEDURES HNBAP-ELEMENTARY-PROCEDURE ::= {
+ HNBAP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ HNBAP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+HNBAP-ELEMENTARY-PROCEDURES-CLASS-1 HNBAP-ELEMENTARY-PROCEDURE ::= {
+ hNBRegister|
+ uERegister,
+ ...,
+ tnlUpdate |
+ hNBConfigTransfer
+}
+
+
+HNBAP-ELEMENTARY-PROCEDURES-CLASS-2 HNBAP-ELEMENTARY-PROCEDURE ::= {
+ uEDe-Register |
+ hNBDe-Register |
+ errorIndication |
+ privateMessage,
+ ...,
+ csg-membership-update|
+ relocationComplete
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+
+hNBRegister HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HNBRegisterRequest
+ SUCCESSFUL OUTCOME HNBRegisterAccept
+ UNSUCCESSFUL OUTCOME HNBRegisterReject
+ PROCEDURE CODE id-HNBRegister
+ CRITICALITY reject
+}
+
+uERegister HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UERegisterRequest
+ SUCCESSFUL OUTCOME UERegisterAccept
+ UNSUCCESSFUL OUTCOME UERegisterReject
+ PROCEDURE CODE id-UERegister
+ CRITICALITY reject
+}
+
+uEDe-Register HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEDe-Register
+ PROCEDURE CODE id-UEDe-Register
+ CRITICALITY ignore
+}
+
+hNBDe-Register HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HNBDe-Register
+ PROCEDURE CODE id-HNBDe-Register
+ CRITICALITY ignore
+}
+
+errorIndication HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-ErrorIndication
+ CRITICALITY ignore
+}
+
+csg-membership-update HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CSGMembershipUpdate
+ PROCEDURE CODE id-CSGMembershipUpdate
+ CRITICALITY ignore
+}
+
+tnlUpdate HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TNLUpdateRequest
+ SUCCESSFUL OUTCOME TNLUpdateResponse
+ UNSUCCESSFUL OUTCOME TNLUpdateFailure
+ PROCEDURE CODE id-TNLUpdate
+ CRITICALITY reject
+}
+
+hNBConfigTransfer HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HNBConfigTransferRequest
+ SUCCESSFUL OUTCOME HNBConfigTransferResponse
+ PROCEDURE CODE id-HNBConfigTransfer
+ CRITICALITY reject
+}
+
+relocationComplete HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RelocationComplete
+ PROCEDURE CODE id-RelocationComplete
+ CRITICALITY ignore
+}
+
+privateMessage HNBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/hnbap/hnbap.cnf b/epan/dissectors/asn1/hnbap/hnbap.cnf
new file mode 100644
index 00000000..7c5429a0
--- /dev/null
+++ b/epan/dissectors/asn1/hnbap/hnbap.cnf
@@ -0,0 +1,331 @@
+# hnbap.cnf
+# hnbap conformation file
+# Copyright 2010 Neil Piercy, ip.access Limited <Neil.Piercy@ipaccess.com>
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.PDU
+HNBAP-PDU
+
+#.MAKE_ENUM
+ProtocolIE-ID
+ProcedureCode
+
+#.TYPE_RENAME
+ProtocolIE-Field/value ProtocolIE_Field_value
+PrivateIE-Field/value PrivateIE_Field_value
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+ProtocolIE-Field/id protocol_ie_field_id
+PrivateIE-Field/id private_ie_field_id
+GeographicalLocation/geographicalCoordinates geographical_location_geographical_coordinates
+HNB-Location-Information/geographicalCoordinates hnb_location_information_geographical_coordinates
+MacroCoverageInformation/cellIdentity macroCellID
+
+#.FIELD_ATTR
+acroCoverageInformation/cellIdentity ABBREV=cellIdentity.macroCellID
+
+#.OMIT_ASSIGNMENT
+Presence
+ProtocolIE-ContainerList
+ProtocolIE-Single-Container
+#.END
+
+#.NO_EMIT
+AccessResult
+#.END
+
+#.FN_PARS ProtocolIE-ID VAL_PTR = &ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(hnbap_ProtocolIE_ID_vals), "unknown (%d)"));
+ }
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
+#.FN_FTR ProcedureCode
+ if (strcmp(val_to_str(ProcedureCode, hnbap_ProcedureCode_vals, "Unknown"), "Unknown") == 0) {
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "Unknown Message");
+ } /* Known Procedures should be included below and broken out as ELEMENTARY names to avoid confusion */
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+# There is no protocol inside HNBAP so fill col info with HNBAP elementary procedure name
+#.FN_BODY HNBRegisterRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "HNB_REGISTER_REQUEST ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY HNBRegisterAccept
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "HNB_REGISTER_ACCEPT ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY HNBRegisterReject
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "HNB_REGISTER_REJECT ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UERegisterRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "UE_REGISTER_REQUEST ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UERegisterAccept
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "UE_REGISTER_ACCEPT ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UERegisterReject
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "UE_REGISTER_REJECT ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UEDe-Register
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "UE_DE-REGISTER ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY HNBDe-Register
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "HNB_DE-REGISTER ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY ErrorIndication
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "ERROR_INDICATION ");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect info from CriticalityDiagnostics decodes */
+%(DEFAULT_BODY)s
+
+#.FN_BODY CSGMembershipUpdate
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "CSG_MEMBERSHIP_UPDATE_MESSAGE ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY PrivateMessage
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "PRIVATE_MESSAGE ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY TNLUpdateRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "TNL_UPDATE_REQUEST_MESSAGE ");
+%(DEFAULT_BODY)s
+#.FN_BODY TNLUpdateResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "TNL_UPDATE_RESPONSE_MESSAGE ");
+%(DEFAULT_BODY)s
+#.FN_BODY TNLUpdateFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "TNL_UPDATE_FAILURE_MESSAGE ");
+%(DEFAULT_BODY)s
+#.FN_BODY HNBConfigTransferRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "HNB_CONFIG_TRANSFER_REQUEST_MESSAGE ");
+%(DEFAULT_BODY)s
+#.FN_BODY HNBConfigTransferResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "HNB_CONFIG_TRANSFER_RESPONSE_MESSAGE ");
+%(DEFAULT_BODY)s
+#.FN_BODY RelocationComplete
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "RELOCATION_COMPLETE_MESSAGE ");
+%(DEFAULT_BODY)s
+
+#.END
+
+#.FN_BODY IMSI VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_hnbap_imsi);
+ dissect_e212_imsi(parameter_tvb, actx->pinfo, subtree, 0, tvb_reported_length(parameter_tvb), FALSE);
+ }
+
+#.FN_BODY PLMNidentity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ struct hnbap_private_data *hnbap_data = hnbap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = hnbap_data->number_type;
+ hnbap_data->number_type = E212_NONE;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, number_type, FALSE);
+ }
+#.END
+
+#.FN_BODY CGI
+ struct hnbap_private_data *hnbap_data = hnbap_get_private_data(actx->pinfo);
+ hnbap_data->number_type = E212_CGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY LAI
+ struct hnbap_private_data *hnbap_data = hnbap_get_private_data(actx->pinfo);
+ /* The RAI is defined in the ASN.1 as the LAI plus the RAC; don't override
+ * the MNC/MCC field types in that case.
+ */
+ if (hnbap_data->number_type != E212_RAI) {
+ hnbap_data->number_type = E212_LAI;
+ }
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+LAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY LAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY RAI
+ struct hnbap_private_data *hnbap_data = hnbap_get_private_data(actx->pinfo);
+ hnbap_data->number_type = E212_RAI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+RAC TYPE = FT_UINT8 DISPLAY = BASE_DEC_HEX
+#.FN_BODY RAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+SAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY SAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.ASSIGN_VALUE_TO_TYPE # HNBAP ASN.1 does not have constants assigned to types
+# ProcedureCode
+id-HNBRegister ProcedureCode
+id-HNBDe-Register ProcedureCode
+id-UERegister ProcedureCode
+id-UEDe-Register ProcedureCode
+id-ErrorIndication ProcedureCode
+id-privateMessage ProcedureCode
+id-CSGMembershipUpdate ProcedureCode
+id-TNLUpdate ProcedureCode
+id-HNBConfigTransfer ProcedureCode
+id-RelocationComplete ProcedureCode
+
+# ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-HNB-Identity ProtocolIE-ID
+id-Context-ID ProtocolIE-ID
+id-UE-Identity ProtocolIE-ID
+id-LAC ProtocolIE-ID
+id-RAC ProtocolIE-ID
+id-HNB-Location-Information ProtocolIE-ID
+id-PLMNidentity ProtocolIE-ID
+id-SAC ProtocolIE-ID
+id-CellIdentity ProtocolIE-ID
+id-Registration-Cause ProtocolIE-ID
+id-UE-Capabilities ProtocolIE-ID
+id-RNC-ID ProtocolIE-ID
+id-CSG-ID ProtocolIE-ID
+id-BackoffTimer ProtocolIE-ID
+id-HNB-Internet-Information ProtocolIE-ID
+id-HNB-Cell-Access-Mode ProtocolIE-ID
+id-MuxPortNumber ProtocolIE-ID
+id-Service-Area-For-Broadcast ProtocolIE-ID
+id-CSGMembershipStatus ProtocolIE-ID
+id-RABList ProtocolIE-ID
+id-HNBConfigInfo ProtocolIE-ID
+id-AccessResult ProtocolIE-ID
+id-Update-cause ProtocolIE-ID
+id-NeighbourInfoList ProtocolIE-ID
+id-NeighbourInfoRequestList ProtocolIE-ID
+id-Iurh-Signalling-TNL-Address ProtocolIE-ID
+id-PSC ProtocolIE-ID
+id-HNB-Cell-Identifier ProtocolIE-ID
+#.END
+
+
+#.REGISTER
+
+#HNBAP-PROTOCOL-IES
+Cause N hnbap.ies id-Cause
+CriticalityDiagnostics N hnbap.ies id-CriticalityDiagnostics
+HNB-Identity N hnbap.ies id-HNB-Identity
+Context-ID N hnbap.ies id-Context-ID
+UE-Identity N hnbap.ies id-UE-Identity
+LAC N hnbap.ies id-LAC
+RAC N hnbap.ies id-RAC
+HNB-Location-Information N hnbap.ies id-HNB-Location-Information
+PLMNidentity N hnbap.ies id-PLMNidentity
+SAC N hnbap.ies id-SAC
+CellIdentity N hnbap.ies id-CellIdentity
+Registration-Cause N hnbap.ies id-Registration-Cause
+UE-Capabilities N hnbap.ies id-UE-Capabilities
+RNC-ID N hnbap.ies id-RNC-ID
+CSG-ID N hnbap.ies id-CSG-ID
+BackoffTimer N hnbap.ies id-BackoffTimer
+CSGMembershipStatus N hnbap.ies id-CSGMembershipStatus
+
+RABList N hnbap.ies id-RABList
+# id-HNBConfigInfo
+# id-AccessResult
+Update-cause N hnbap.ies id-Update-cause
+NeighbourInfoList N hnbap.ies id-NeighbourInfoList
+NeighbourInfoRequestList N hnbap.ies id-NeighbourInfoRequestList
+# id-HNB-Cell-Identifier
+
+#HNBAP-PROTOCOL-EXTENSION
+IP-Address N hnbap.extension id-HNB-Internet-Information
+HNB-Cell-Access-Mode N hnbap.extension id-HNB-Cell-Access-Mode
+MuxPortNumber N hnbap.extension id-MuxPortNumber
+CSGMembershipStatus N hnbap.extension id-CSGMembershipStatus
+IP-Address N hnbap.extension id-Iurh-Signalling-TNL-Address
+PSC N hnbap.extension id-PSC
+
+#HNBAP-ELEMENTARY-PROCEDURE
+#CLASS 1
+HNBRegisterRequest N hnbap.proc.imsg id-HNBRegister
+HNBRegisterAccept N hnbap.proc.sout id-HNBRegister
+HNBRegisterReject N hnbap.proc.uout id-HNBRegister
+UERegisterRequest N hnbap.proc.imsg id-UERegister
+UERegisterAccept N hnbap.proc.sout id-UERegister
+UERegisterReject N hnbap.proc.uout id-UERegister
+
+TNLUpdateRequest N hnbap.proc.imsg id-TNLUpdate
+TNLUpdateResponse N hnbap.proc.sout id-TNLUpdate
+TNLUpdateFailure N hnbap.proc.uout id-TNLUpdate
+
+HNBConfigTransferRequest N hnbap.proc.imsg id-HNBConfigTransfer
+HNBConfigTransferResponse N hnbap.proc.sout id-HNBConfigTransfer
+
+RelocationComplete N hnbap.proc.imsg id-RelocationComplete
+
+#CLASS 2
+UEDe-Register N hnbap.proc.imsg id-UEDe-Register
+HNBDe-Register N hnbap.proc.imsg id-HNBDe-Register
+ErrorIndication N hnbap.proc.imsg id-ErrorIndication
+CSGMembershipUpdate N hnbap.proc.imsg id-CSGMembershipUpdate
+PrivateMessage N hnbap.proc.imsg id-privateMessage
+#.END
diff --git a/epan/dissectors/asn1/hnbap/packet-hnbap-template.c b/epan/dissectors/asn1/hnbap/packet-hnbap-template.c
new file mode 100644
index 00000000..1568cca2
--- /dev/null
+++ b/epan/dissectors/asn1/hnbap/packet-hnbap-template.c
@@ -0,0 +1,193 @@
+/* packet-hnbap-template.c
+ * Routines for UMTS Node B Application Part(HNBAP) packet dissection
+ * Copyright 2010 Neil Piercy, ip.access Limited <Neil.Piercy@ipaccess.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref: 3GPP TS 25.469 version 8.4.0 Release 8
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/sctpppids.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/proto_data.h>
+
+#include "packet-per.h"
+#include "packet-e212.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "UTRAN Iuh interface HNBAP signalling"
+#define PSNAME "HNBAP"
+#define PFNAME "hnbap"
+/* Dissector will use SCTP PPID 20 or SCTP port. IANA assigned port = 29169*/
+#define SCTP_PORT_HNBAP 29169
+
+void proto_register_hnbap(void);
+
+#include "packet-hnbap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_hnbap = -1;
+
+#include "packet-hnbap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_hnbap = -1;
+static int ett_hnbap_imsi = -1;
+#include "packet-hnbap-ett.c"
+
+struct hnbap_private_data {
+ e212_number_type_t number_type;
+};
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+
+/* Dissector tables */
+static dissector_table_t hnbap_ies_dissector_table;
+static dissector_table_t hnbap_extension_dissector_table;
+static dissector_table_t hnbap_proc_imsg_dissector_table;
+static dissector_table_t hnbap_proc_sout_dissector_table;
+static dissector_table_t hnbap_proc_uout_dissector_table;
+
+static dissector_handle_t hnbap_handle;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+void proto_reg_handoff_hnbap(void);
+
+static struct hnbap_private_data*
+hnbap_get_private_data(packet_info *pinfo)
+{
+ struct hnbap_private_data *hnbap_data = (struct hnbap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_hnbap, 0);
+ if (!hnbap_data) {
+ hnbap_data = wmem_new0(pinfo->pool, struct hnbap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_hnbap, 0, hnbap_data);
+ }
+ return hnbap_data;
+}
+
+#include "packet-hnbap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(hnbap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(hnbap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+#if 0
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ if (!ProcedureCode) return 0;
+ return (dissector_try_string(hnbap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ if (!ProcedureCode) return 0;
+ return (dissector_try_string(hnbap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ if (!ProcedureCode) return 0;
+ return (dissector_try_string(hnbap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+#endif
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(hnbap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(hnbap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(hnbap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_hnbap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_item *hnbap_item = NULL;
+ proto_tree *hnbap_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "HNBAP");
+
+ /* create the hnbap protocol tree */
+ hnbap_item = proto_tree_add_item(tree, proto_hnbap, tvb, 0, -1, ENC_NA);
+ hnbap_tree = proto_item_add_subtree(hnbap_item, ett_hnbap);
+
+ return dissect_HNBAP_PDU_PDU(tvb, pinfo, hnbap_tree, data);
+}
+
+/*--- proto_register_hnbap -------------------------------------------*/
+void proto_register_hnbap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+
+#include "packet-hnbap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_hnbap,
+ &ett_hnbap_imsi,
+#include "packet-hnbap-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_hnbap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_hnbap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ hnbap_handle = register_dissector("hnbap", dissect_hnbap, proto_hnbap);
+
+ /* Register dissector tables */
+ hnbap_ies_dissector_table = register_dissector_table("hnbap.ies", "HNBAP-PROTOCOL-IES", proto_hnbap, FT_UINT32, BASE_DEC);
+ hnbap_extension_dissector_table = register_dissector_table("hnbap.extension", "HNBAP-PROTOCOL-EXTENSION", proto_hnbap, FT_UINT32, BASE_DEC);
+ hnbap_proc_imsg_dissector_table = register_dissector_table("hnbap.proc.imsg", "HNBAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_hnbap, FT_UINT32, BASE_DEC);
+ hnbap_proc_sout_dissector_table = register_dissector_table("hnbap.proc.sout", "HNBAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_hnbap, FT_UINT32, BASE_DEC);
+ hnbap_proc_uout_dissector_table = register_dissector_table("hnbap.proc.uout", "HNBAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_hnbap, FT_UINT32, BASE_DEC);
+
+ /* hnbap_module = prefs_register_protocol(proto_hnbap, NULL); */
+}
+
+
+/*--- proto_reg_handoff_hnbap ---------------------------------------*/
+void
+proto_reg_handoff_hnbap(void)
+{
+ dissector_add_uint("sctp.ppi", HNBAP_PAYLOAD_PROTOCOL_ID, hnbap_handle);
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_HNBAP, hnbap_handle);
+#include "packet-hnbap-dis-tab.c"
+
+}
diff --git a/epan/dissectors/asn1/idmp/CMakeLists.txt b/epan/dissectors/asn1/idmp/CMakeLists.txt
new file mode 100644
index 00000000..eb9805a1
--- /dev/null
+++ b/epan/dissectors/asn1/idmp/CMakeLists.txt
@@ -0,0 +1,45 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME idmp )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ IDMProtocolSpecification.asn
+ CommonProtocolSpecification.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/idmp/CommonProtocolSpecification.asn b/epan/dissectors/asn1/idmp/CommonProtocolSpecification.asn
new file mode 100644
index 00000000..e636709e
--- /dev/null
+++ b/epan/dissectors/asn1/idmp/CommonProtocolSpecification.asn
@@ -0,0 +1,119 @@
+-- http://www.itu.int/ITU-T/formal-language/itu-t/x/x519/2005/CommonProtocolSpecification.asn
+-- Module CommonProtocolSpecification (X.519:08/2005)
+CommonProtocolSpecification {joint-iso-itu-t ds(5) module(1)
+ commonProtocolSpecification(35) 5} DEFINITIONS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the
+-- other ASN.1 modules contained within the Directory Specifications, and for
+-- the use of other applications which will use them to access Directory
+-- services. Other applications may use them for their own purposes, but this
+-- will not constrain extensions and modifications needed to maintain or
+-- improve the Directory service.
+IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+ opBindingManagement
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 5}
+ establishOperationalBinding, modifyOperationalBinding,
+ terminateOperationalBinding
+ FROM OperationalBindingManagement opBindingManagement;
+
+OPERATION ::= CLASS {
+ &ArgumentType OPTIONAL,
+ &ResultType OPTIONAL,
+ &Errors ERROR OPTIONAL,
+ &operationCode Code UNIQUE OPTIONAL
+}
+WITH SYNTAX {
+ [ARGUMENT &ArgumentType]
+ [RESULT &ResultType]
+ [ERRORS &Errors]
+ [CODE &operationCode]
+}
+
+ERROR ::= CLASS {&ParameterType ,
+ &errorCode Code UNIQUE OPTIONAL
+}WITH SYNTAX {PARAMETER &ParameterType
+ [CODE &errorCode]
+}
+
+Code ::= CHOICE {local INTEGER,
+ global OBJECT IDENTIFIER
+}
+
+InvokeId ::= CHOICE {present INTEGER,
+ absent NULL
+}
+
+-- operation codes for DAP and DSP
+id-opcode-read Code ::= local:1
+
+id-opcode-compare Code ::= local:2
+
+id-opcode-abandon Code ::= local:3
+
+id-opcode-list Code ::= local:4
+
+id-opcode-search Code ::= local:5
+
+id-opcode-addEntry Code ::= local:6
+
+id-opcode-removeEntry Code ::= local:7
+
+id-opcode-modifyEntry Code ::= local:8
+
+id-opcode-modifyDN Code ::= local:9
+
+-- operation codes for DISP
+id-opcode-requestShadowUpdate Code ::= local:1
+
+id-opcode-updateShadow Code ::= local:2
+
+id-opcode-coordinateShadowUpdate Code ::= local:3
+
+-- operation codes for DOP
+id-op-establishOperationalBinding Code ::= local:100
+
+id-op-modifyOperationalBinding Code ::= local:102
+
+id-op-terminateOperationalBinding Code ::= local:101
+
+-- error codes for DAP and DSP
+id-errcode-attributeError Code ::= local:1
+
+id-errcode-nameError Code ::= local:2
+
+id-errcode-serviceError Code ::= local:3
+
+id-errcode-referral Code ::= local:4
+
+id-errcode-abandoned Code ::= local:5
+
+id-errcode-securityError Code ::= local:6
+
+id-errcode-abandonFailed Code ::= local:7
+
+id-errcode-updateError Code ::= local:8
+
+id-errcode-dsaReferral Code ::= local:9
+
+-- error code for DISP
+id-errcode-shadowError Code ::= local:1
+
+-- error code for DOP
+id-err-operationalBindingError Code ::= local:100
+
+DOP-Invokable OPERATION ::=
+ {establishOperationalBinding | modifyOperationalBinding |
+ terminateOperationalBinding}
+
+DOP-Returnable OPERATION ::=
+ {establishOperationalBinding | modifyOperationalBinding |
+ terminateOperationalBinding}
+
+END -- CommonProtocolSpecification
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/idmp/IDMProtocolSpecification.asn b/epan/dissectors/asn1/idmp/IDMProtocolSpecification.asn
new file mode 100644
index 00000000..9bd33eef
--- /dev/null
+++ b/epan/dissectors/asn1/idmp/IDMProtocolSpecification.asn
@@ -0,0 +1,124 @@
+-- http://www.itu.int/ITU-T/formal-language/itu-t/x/x519/2005/IDMProtocolSpecification.asn
+-- Module IDMProtocolSpecification (X.519:08/2005)
+IDMProtocolSpecification {joint-iso-itu-t ds(5) module(1)
+ iDMProtocolSpecification(30) 5} DEFINITIONS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access Directory
+-- services. Other applications may use them for their own purposes, but this will not constrain extensions
+-- and modifications needed to maintain or improve the Directory service.
+IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+ certificateExtensions, commonProtocolSpecification, directoryAbstractService,
+ directoryIDMProtocols, enhancedSecurity
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 5}
+ -- from ITU-T Rec. X.509 | ISO/IEC 9594-8
+ GeneralName
+ FROM CertificateExtensions certificateExtensions
+ -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
+ SecurityProblem, ServiceProblem, Versions
+ FROM DirectoryAbstractService directoryAbstractService
+ -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
+ InvokeId, OPERATION
+ FROM CommonProtocolSpecification commonProtocolSpecification;
+
+-- IDM-protocol information object class
+IDM-PROTOCOL ::= CLASS {
+ &bind-operation OPERATION,
+ &Operations OPERATION,
+ &id OBJECT IDENTIFIER UNIQUE
+}WITH SYNTAX {BIND-OPERATION &bind-operation
+ OPERATIONS &Operations
+ ID &id
+}
+
+-- IDM protocol
+IDM-PDU{IDM-PROTOCOL:protocol} ::= CHOICE {
+ bind [0] IdmBind{{protocol}},
+ bindResult [1] IdmBindResult{{protocol}},
+ bindError [2] IdmBindError{{protocol}},
+ request [3] Request{{protocol.&Operations}},
+ result [4] IdmResult{{protocol.&Operations}},
+ error [5] Error{{protocol.&Operations}},
+ reject [6] IdmReject,
+ unbind [7] Unbind,
+ abort [8] Abort,
+ startTLS [9] StartTLS,
+ tLSResponse [10] TLSResponse
+}
+
+IdmBind{IDM-PROTOCOL:Protocols} ::= SEQUENCE {
+ protocolID IDM-PROTOCOL.&id({Protocols}),
+ callingAETitle [0] GeneralName OPTIONAL,
+ calledAETitle [1] GeneralName OPTIONAL,
+ argument
+ [2] IDM-PROTOCOL.&bind-operation.&ArgumentType({Protocols}{@protocolID})
+}
+
+IdmBindResult{IDM-PROTOCOL:Protocols} ::= SEQUENCE {
+ protocolID IDM-PROTOCOL.&id({Protocols}),
+ respondingAETitle [0] GeneralName OPTIONAL,
+ result
+ [1] IDM-PROTOCOL.&bind-operation.&ResultType({Protocols}{@protocolID})
+}
+
+IdmBindError{IDM-PROTOCOL:Protocols} ::= SEQUENCE {
+ protocolID IDM-PROTOCOL.&id({Protocols}),
+ errcode
+ IDM-PROTOCOL.&bind-operation.&Errors.&errorCode({Protocols}{@protocolID}),
+ respondingAETitle [0] GeneralName OPTIONAL,
+ aETitleError
+ ENUMERATED {callingAETitleNotAccepted(0), calledAETitleNotRecognized(1)}
+ OPTIONAL,
+ error
+ [1] IDM-PROTOCOL.&bind-operation.&Errors.&ParameterType
+ ({Protocols}{@protocolID, @errcode})
+}
+
+Unbind ::= NULL
+
+Request{OPERATION:Operations} ::= SEQUENCE {
+ invokeID INTEGER,
+ opcode OPERATION.&operationCode({Operations}),
+ argument OPERATION.&ArgumentType({Operations}{@opcode})
+}
+
+IdmResult{OPERATION:Operations} ::= SEQUENCE {
+ invokeID InvokeId,
+ opcode OPERATION.&operationCode({Operations}),
+ result OPERATION.&ResultType({Operations}{@opcode})
+}
+
+Error{OPERATION:Operations} ::= SEQUENCE {
+ invokeID INTEGER,
+ errcode OPERATION.&Errors.&errorCode({Operations}),
+ error OPERATION.&Errors.&ParameterType({Operations}{@errcode})
+}
+
+IdmReject ::= SEQUENCE {
+ invokeID INTEGER,
+ reason
+ ENUMERATED {mistypedPDU(0), duplicateInvokeIDRequest(1),
+ unsupportedOperationRequest(2), unknownOperationRequest(3),
+ mistypedArgumentRequest(4), resourceLimitationRequest(5),
+ unknownInvokeIDResult(6), mistypedResultRequest(7),
+ unknownInvokeIDError(8), unknownError(9),
+ mistypedParameterError(10)}
+}
+
+Abort ::= ENUMERATED {
+ mistypedPDU(0), unboundRequest(1), invalidPDU(2), resourceLimitation(3),
+ connectionFailed(4), invalidProtocol(5), reasonNotSpecified(6)}
+
+StartTLS ::= NULL
+
+TLSResponse ::= ENUMERATED {
+ success(0), operationsError(1), protocolError(2), unavailable(3)}
+
+END -- IDMProtocolSpecification
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/idmp/idmp.cnf b/epan/dissectors/asn1/idmp/idmp.cnf
new file mode 100644
index 00000000..fa69ac24
--- /dev/null
+++ b/epan/dissectors/asn1/idmp/idmp.cnf
@@ -0,0 +1,90 @@
+#.IMPORT ../x509ce/x509ce-exp.cnf
+
+
+#.CLASS OPERATION
+&ArgumentType
+&argumentTypeOptional BooleanType
+&ResultType
+&resultTypeOptional BooleanType
+&Errors _FixedTypeValueSetFieldSpec
+&errorsOptional BooleanType
+&operationCode TypeReference Code
+#.END
+
+#.TF_RENAME
+IdmBind/argument bind_argument
+IdmBindError/errcode bind_errcode
+IdmBindError/error bind_error
+IdmBindResult/result bind_result
+
+#.FIELD_RENAME
+IDM-PDU/error idm_error
+IDM-PDU/result idm_result
+
+IdmResult/invokeID idm_invokeID
+
+#.FIELD_ATTR
+IdmResult/invokeID ABBREV=idmResult.invokeID
+
+#.FN_BODY IdmBind/argument
+ struct SESSION_DATA_STRUCTURE *session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+
+ return call_idmp_oid_callback(tvb, offset, actx->pinfo, (ROS_OP_BIND | ROS_OP_ARGUMENT), top_tree, session);
+
+#.END
+
+#.FN_PARS OBJECT_IDENTIFIER FN_VARIANT = _str VAL_PTR = &protocolID
+
+#.FN_HDR IdmBind
+ protocolID = saved_protocolID = NULL;
+#.END
+
+#.FN_FTR IdmBind
+ if (protocolID) {
+ saved_protocolID = wmem_strdup(wmem_epan_scope(), protocolID);
+ }
+#.END
+
+#.FN_BODY IdmBindResult/result
+ struct SESSION_DATA_STRUCTURE *session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+
+ return call_idmp_oid_callback(tvb, offset, actx->pinfo, (ROS_OP_BIND | ROS_OP_RESULT), top_tree, session);
+
+#.END
+
+#.FN_BODY IdmBindError/errcode
+
+#.END
+
+#.FN_BODY IdmBindError/error
+ struct SESSION_DATA_STRUCTURE *session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+
+ return call_idmp_oid_callback(tvb, offset, actx->pinfo, (ROS_OP_BIND| ROS_OP_ERROR), top_tree, session);
+
+#.END
+
+#.FN_PARS Code/local VAL_PTR = &opcode
+
+#.FN_BODY Request/argument
+ struct SESSION_DATA_STRUCTURE *session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+
+ return call_idmp_oid_callback(tvb, offset, actx->pinfo, (ROS_OP_INVOKE | ROS_OP_ARGUMENT | opcode), top_tree, session);
+
+#.END
+
+#.FN_BODY IdmResult/result
+ struct SESSION_DATA_STRUCTURE *session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+
+ return call_idmp_oid_callback(tvb, offset, actx->pinfo, (ROS_OP_INVOKE | ROS_OP_RESULT | opcode), top_tree, session);
+
+#.END
+
+#.FN_BODY Error/errcode
+
+#.END
+
+#.FN_BODY Error/error
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/idmp/packet-idmp-template.c b/epan/dissectors/asn1/idmp/packet-idmp-template.c
new file mode 100644
index 00000000..dbe11886
--- /dev/null
+++ b/epan/dissectors/asn1/idmp/packet-idmp-template.c
@@ -0,0 +1,348 @@
+/* packet-idmp.c
+ * Routines for X.519 Internet Directly Mapped Procotol (IDMP) packet dissection
+ * Graeme Lunt 2010
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/reassemble.h>
+#include <epan/conversation.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/ipproto.h>
+#include <epan/strutil.h>
+
+#include <wsutil/str_util.h>
+
+#include "packet-tcp.h"
+
+#include "packet-ber.h"
+#include "packet-ros.h"
+#include "packet-x509ce.h"
+
+
+#define PNAME "X.519 Internet Directly Mapped Protocol"
+#define PSNAME "IDMP"
+#define PFNAME "idmp"
+
+void proto_register_idmp(void);
+void proto_reg_handoff_idm(void);
+void register_idmp_protocol_info(const char *oid, const ros_info_t *rinfo, int proto _U_, const char *name);
+
+static gboolean idmp_desegment = TRUE;
+#define IDMP_TCP_PORT 1102 /* made up for now - not IANA registered */
+static gboolean idmp_reassemble = TRUE;
+static dissector_handle_t idmp_handle = NULL;
+
+static proto_tree *top_tree = NULL;
+static const char *protocolID = NULL;
+static const char *saved_protocolID = NULL;
+static guint32 opcode = -1;
+
+/* Initialize the protocol and registered fields */
+int proto_idmp = -1;
+
+static int hf_idmp_version = -1;
+static int hf_idmp_final = -1;
+static int hf_idmp_length = -1;
+static int hf_idmp_PDU = -1;
+
+static reassembly_table idmp_reassembly_table;
+
+static int hf_idmp_fragments = -1;
+static int hf_idmp_fragment = -1;
+static int hf_idmp_fragment_overlap = -1;
+static int hf_idmp_fragment_overlap_conflicts = -1;
+static int hf_idmp_fragment_multiple_tails = -1;
+static int hf_idmp_fragment_too_long_fragment = -1;
+static int hf_idmp_fragment_error = -1;
+static int hf_idmp_fragment_count = -1;
+static int hf_idmp_reassembled_in = -1;
+static int hf_idmp_reassembled_length = -1;
+static int hf_idmp_segment_data = -1;
+
+static gint ett_idmp_fragment = -1;
+static gint ett_idmp_fragments = -1;
+
+static const fragment_items idmp_frag_items = {
+ /* Fragment subtrees */
+ &ett_idmp_fragment,
+ &ett_idmp_fragments,
+ /* Fragment fields */
+ &hf_idmp_fragments,
+ &hf_idmp_fragment,
+ &hf_idmp_fragment_overlap,
+ &hf_idmp_fragment_overlap_conflicts,
+ &hf_idmp_fragment_multiple_tails,
+ &hf_idmp_fragment_too_long_fragment,
+ &hf_idmp_fragment_error,
+ &hf_idmp_fragment_count,
+ /* Reassembled in field */
+ &hf_idmp_reassembled_in,
+ /* Reassembled length field */
+ &hf_idmp_reassembled_length,
+ /* Reassembled data field */
+ NULL,
+ /* Tag */
+ "IDMP fragments"
+};
+
+
+static int call_idmp_oid_callback(tvbuff_t *tvb, int offset, packet_info *pinfo, int op, proto_tree *tree, struct SESSION_DATA_STRUCTURE *session)
+{
+ if(session != NULL) {
+
+ /* XXX saved_protocolID should be part of session data */
+ if (!saved_protocolID) {
+ saved_protocolID = "[ unknown ]";
+ }
+
+ /* mimic ROS! */
+ session->ros_op = op;
+ offset = call_ros_oid_callback(saved_protocolID, tvb, offset, pinfo, tree, session);
+ }
+
+ return offset;
+
+}
+
+#include "packet-idmp-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_idmp = -1;
+#include "packet-idmp-ett.c"
+
+#include "packet-idmp-fn.c"
+
+void
+register_idmp_protocol_info(const char *oid, const ros_info_t *rinfo, int proto _U_, const char *name)
+{
+ /* just register with ROS for now */
+ register_ros_protocol_info(oid, rinfo, proto, name, FALSE);
+}
+
+
+static int dissect_idmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ int offset = 0;
+
+ proto_item *item;
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ struct SESSION_DATA_STRUCTURE session;
+ gboolean idmp_final;
+ guint32 idmp_length;
+ fragment_head *fd_head;
+ conversation_t *conv;
+ guint32 dst_ref = 0;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ conv = find_conversation_pinfo(pinfo, 0);
+ if (conv) {
+ /* Found a conversation, also use index for the generated dst_ref */
+ dst_ref = conv->conv_index;
+ }
+
+ /* save parent_tree so subdissectors can create new top nodes */
+ top_tree=parent_tree;
+
+ item = proto_tree_add_item(parent_tree, proto_idmp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_idmp);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "IDMP");
+
+ /* now check the segment fields */
+
+ proto_tree_add_item(tree, hf_idmp_version, tvb, offset, 1, ENC_BIG_ENDIAN); offset++;
+ proto_tree_add_item(tree, hf_idmp_final, tvb, offset, 1, ENC_BIG_ENDIAN);
+ idmp_final = tvb_get_guint8(tvb, offset); offset++;
+ proto_tree_add_item(tree, hf_idmp_length, tvb, offset, 4, ENC_BIG_ENDIAN);
+ idmp_length = tvb_get_ntohl(tvb, offset); offset += 4;
+
+ asn1_ctx.private_data = &session;
+
+ if(idmp_reassemble) {
+
+ pinfo->fragmented = !idmp_final;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, " [%sIDMP fragment, %u byte%s]",
+ idmp_final ? "Final " : "" ,
+ idmp_length, plurality(idmp_length, "", "s"));
+
+ fd_head = fragment_add_seq_next(&idmp_reassembly_table, tvb, offset,
+ pinfo, dst_ref, NULL,
+ idmp_length, !idmp_final);
+
+ if(fd_head && fd_head->next) {
+ proto_tree_add_item(tree, hf_idmp_segment_data, tvb, offset, (idmp_length) ? -1 : 0, ENC_NA);
+
+ if (idmp_final) {
+ /* This is the last segment */
+ tvb = process_reassembled_data (tvb, offset, pinfo,
+ "Reassembled IDMP", fd_head, &idmp_frag_items, NULL, tree);
+ offset = 0;
+ } else if (pinfo->num != fd_head->reassembled_in) {
+ /* Add a "Reassembled in" link if not reassembled in this frame */
+ proto_tree_add_uint (tree, hf_idmp_reassembled_in,
+ tvb, 0, 0, fd_head->reassembled_in);
+ }
+ }
+
+ } else {
+ if(!idmp_final) {
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, " [IDMP fragment, %u byte%s, IDMP reassembly not enabled]",
+ idmp_length, plurality(idmp_length, "", "s"));
+
+ proto_tree_add_bytes_format_value(tree, hf_idmp_segment_data, tvb, offset, (idmp_length) ? -1 : 0,
+ NULL, "(IDMP reassembly not enabled)");
+ }
+ }
+ /* not reassembling - just dissect */
+ if(idmp_final) {
+ asn1_ctx.private_data = &session;
+ dissect_idmp_IDM_PDU(FALSE, tvb, offset, &asn1_ctx, tree, hf_idmp_PDU);
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+static guint get_idmp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb,
+ int offset, void *data _U_)
+{
+ guint32 len;
+
+ len = tvb_get_ntohl(tvb, offset + 2);
+
+ return len + 6;
+}
+
+static int dissect_idmp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ tcp_dissect_pdus(tvb, pinfo, parent_tree, idmp_desegment, 0, get_idmp_pdu_len, dissect_idmp, data);
+ return tvb_captured_length(tvb);
+}
+
+static void idmp_reassemble_cleanup(void)
+{
+ protocolID = NULL; // packet scoped
+ saved_protocolID = NULL; // epan scoped copy of protocolID
+ opcode = -1;
+}
+
+/*--- proto_register_idmp -------------------------------------------*/
+void proto_register_idmp(void)
+{
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_idmp_version,
+ { "version", "idmp.version",
+ FT_INT8, BASE_DEC, NULL, 0,
+ "idmp.INTEGER", HFILL }},
+ { &hf_idmp_final,
+ { "final", "idmp.final",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "idmp.BOOLEAN", HFILL }},
+ { &hf_idmp_length,
+ { "length", "idmp.length",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "idmp.INTEGER", HFILL }},
+ { &hf_idmp_PDU,
+ { "IDM-PDU", "idmp.pdu",
+ FT_UINT32, BASE_DEC, VALS(idmp_IDM_PDU_vals), 0,
+ "idmp.PDU", HFILL }},
+ /* Fragment entries */
+ { &hf_idmp_fragments,
+ { "IDMP fragments", "idmp.fragments", FT_NONE, BASE_NONE,
+ NULL, 0x00, NULL, HFILL } },
+ { &hf_idmp_fragment,
+ { "IDMP fragment", "idmp.fragment", FT_FRAMENUM, BASE_NONE,
+ NULL, 0x00, NULL, HFILL } },
+ { &hf_idmp_fragment_overlap,
+ { "IDMP fragment overlap", "idmp.fragment.overlap", FT_BOOLEAN,
+ BASE_NONE, NULL, 0x00, NULL, HFILL } },
+ { &hf_idmp_fragment_overlap_conflicts,
+ { "IDMP fragment overlapping with conflicting data",
+ "idmp.fragment.overlap.conflicts", FT_BOOLEAN, BASE_NONE,
+ NULL, 0x00, NULL, HFILL } },
+ { &hf_idmp_fragment_multiple_tails,
+ { "IDMP has multiple tail fragments",
+ "idmp.fragment.multiple_tails", FT_BOOLEAN, BASE_NONE,
+ NULL, 0x00, NULL, HFILL } },
+ { &hf_idmp_fragment_too_long_fragment,
+ { "IDMP fragment too long", "idmp.fragment.too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+ { &hf_idmp_fragment_error,
+ { "IDMP defragmentation error", "idmp.fragment.error", FT_FRAMENUM,
+ BASE_NONE, NULL, 0x00, NULL, HFILL } },
+ { &hf_idmp_fragment_count,
+ { "IDMP fragment count", "idmp.fragment.count", FT_UINT32, BASE_DEC,
+ NULL, 0x00, NULL, HFILL } },
+ { &hf_idmp_reassembled_in,
+ { "Reassembled IDMP in frame", "idmp.reassembled.in", FT_FRAMENUM, BASE_NONE,
+ NULL, 0x00, "This IDMP packet is reassembled in this frame", HFILL } },
+ { &hf_idmp_reassembled_length,
+ { "Reassembled IDMP length", "idmp.reassembled.length", FT_UINT32, BASE_DEC,
+ NULL, 0x00, "The total length of the reassembled payload", HFILL } },
+ { &hf_idmp_segment_data,
+ { "IDMP segment data", "idmp.segment_data", FT_BYTES, BASE_NONE,
+ NULL, 0x00, NULL, HFILL } },
+
+#include "packet-idmp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_idmp,
+ &ett_idmp_fragment,
+ &ett_idmp_fragments,
+#include "packet-idmp-ettarr.c"
+ };
+ module_t *idmp_module;
+
+ /* Register protocol */
+ proto_idmp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_idmp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ idmp_handle = register_dissector("idmp", dissect_idmp_tcp, proto_idmp);
+
+ register_cleanup_routine (&idmp_reassemble_cleanup);
+ reassembly_table_register (&idmp_reassembly_table,
+ &addresses_reassembly_table_functions);
+
+
+ /* Register our configuration options for IDMP, particularly our port */
+
+ idmp_module = prefs_register_protocol_subtree("OSI/X.500", proto_idmp, NULL);
+
+ prefs_register_bool_preference(idmp_module, "desegment_idmp_messages",
+ "Reassemble IDMP messages spanning multiple TCP segments",
+ "Whether the IDMP dissector should reassemble messages spanning multiple TCP segments."
+ " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &idmp_desegment);
+
+ prefs_register_bool_preference(idmp_module, "reassemble",
+ "Reassemble segmented IDMP datagrams",
+ "Whether segmented IDMP datagrams should be reassembled."
+ " To use this option, you must also enable"
+ " \"Allow subdissectors to reassemble TCP streams\""
+ " in the TCP protocol settings.", &idmp_reassemble);
+}
+
+
+/*--- proto_reg_handoff_idm --- */
+void proto_reg_handoff_idm(void) {
+ dissector_add_uint_with_preference("tcp.port", IDMP_TCP_PORT, idmp_handle);
+}
diff --git a/epan/dissectors/asn1/idmp/packet-idmp-template.h b/epan/dissectors/asn1/idmp/packet-idmp-template.h
new file mode 100644
index 00000000..e0091a03
--- /dev/null
+++ b/epan/dissectors/asn1/idmp/packet-idmp-template.h
@@ -0,0 +1,20 @@
+/* packet-idmp.h
+ * Routines for X.519 Internet Directly Mapped Protocol (IDMP) packet dissection
+ * Graeme Lunt 2010
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_IDM_H
+#define PACKET_IDM_H
+
+#include "packet-ros.h"
+
+void
+register_idmp_protocol_info(const char *oid, const ros_info_t *rinfo, int proto _U_, const char *name);
+
+#endif /* PACKET_IDM_H */
diff --git a/epan/dissectors/asn1/ieee1609dot2/CMakeLists.txt b/epan/dissectors/asn1/ieee1609dot2/CMakeLists.txt
new file mode 100644
index 00000000..ba453786
--- /dev/null
+++ b/epan/dissectors/asn1/ieee1609dot2/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ieee1609dot2 )
+
+set( PROTO_OPT )
+
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ IEEE1609dot2BaseTypes.asn
+ Ieee1609Dot2CrlBaseTypes.asn
+ Ieee1609Dot2Crl.asn
+ Ieee1609Dot2.asn
+ IEEE1609dot12.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ieee1609dot2/IEEE1609dot12.asn b/epan/dissectors/asn1/ieee1609dot2/IEEE1609dot12.asn
new file mode 100644
index 00000000..2549baa6
--- /dev/null
+++ b/epan/dissectors/asn1/ieee1609dot2/IEEE1609dot12.asn
@@ -0,0 +1,101 @@
+-- https://standards.ieee.org/products-programs/regauth/psid/public/
+IEEE1609dot12
+
+DEFINITIONS AUTOMATIC TAGS ::= BEGIN
+ IMPORTS
+ Psid
+ FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609)
+ dot2(2) base(1) base-types(2)}
+ ;
+psid-system Psid ::= 0 -- ISO-15628a
+psid-electronic-fee-collection Psid ::= 1 -- ISO-14906
+psid-freight-fleet-management Psid ::= 2 -- ISO-15628
+psid-public-transport Psid ::= 3 -- ISO-15628
+psid-traffic-traveller-information Psid ::= 4 -- ISO-15628
+psid-traffic-control Psid ::= 5 -- ISO-15628
+psid-parking-management Psid ::= 6 -- ISO-15628
+psid-geographic-road-database Psid ::= 7 -- ISO-15628
+psid-medium-range-preinformation Psid ::= 8 -- ISO-15628
+psid-man-machine-interface Psid ::= 9 -- ISO-15628
+psid-intersystem-interface Psid ::= 10 -- ISO-15628
+psid-automatic-vehicle-identification Psid ::= 11 -- ISO-17264
+psid-emergency-warning Psid ::= 12 -- ISO-15628
+psid-private Psid ::= 13 -- ISO-15628
+psid-multi-purpose-payment Psid ::= 14 -- ISO-15628
+psid-dsrc-resource-manager Psid ::= 15 -- ISO-15628
+psid-after-theft-systems Psid ::= 16 -- ISO-15628
+psid-cruise-assist-highway-system Psid ::= 17 -- ISO-15628
+psid-multi-purpose-information-system Psid ::= 18 -- ISO-15628
+psid-multi-mobile-information-system Psid ::= 19 -- ISO-15628
+psid-efc-compliance-check-communication-applications Psid ::= 20 -- ISO-TS-12813
+psid-efc-localisation-augmentation-communication-applications Psid ::= 21 -- ISO-TS-13141
+psid-iso-cen-dsrc-applications-0x16 Psid ::= 22 -- ISO 15628
+psid-iso-cen-dsrc-applications-0x17 Psid ::= 23 -- ISO 15628
+psid-iso-cen-dsrc-applications-0x18 Psid ::= 24 -- ISO 15628
+psid-iso-cen-dsrc-applications-0x19 Psid ::= 25 -- ISO 15628
+psid-iso-cen-dsrc-applications-0x1a Psid ::= 26 -- ISO 15628
+psid-iso-cen-dsrc-applications-0x1b Psid ::= 27 -- ISO 15628
+psid-iso-cen-dsrc-applications-0x1c Psid ::= 28 -- ISO 15628
+psid-private-use-0x1d Psid ::= 29 -- IISO 15628
+psid-private-use-0x1e Psid ::= 30 -- IISO 15628
+psid-iso-cen-dsrc-applications-0x1f Psid ::= 31 -- IISO 15628
+psid-vehicle-to-vehicle-safety-and-awarenesss Psid ::= 32 -- SAE-J2735
+psid-limited-sensor-vehicle-to-vehicle-safety-and-awarenesss Psid ::= 33 -- SAE-J2735
+psid-tracked-vehicle-safety-and-awarenesss Psid ::= 34 -- SAE-J2735
+psid-wave-security-managements Psid ::= 35 -- IEEE-Std-1609.2
+psid-ca-basic-services Psid ::= 36 -- ETSI-EN-302-637_2
+psid-den-basic-services Psid ::= 37 -- ETSI-EN-302-637_3
+psid-misbehavior-reporting-for-common-applications Psid ::= 38 -- CAMP
+psid-vulnerable-road-users-safety-applications Psid ::= 39 -- SAE-DSRC-TC
+-- 0x28 to 0x7E 0p28 to 0p7E Not allocated
+psid-testings Psid ::= 127 -- IEEE-P1609-WG
+psid-differential-gps-corrections-uncompressed Psid ::= 128 -- SAE-J2735
+psid-differential-gps-corrections-compressed Psid ::= 129 -- SAE-J2735
+psid-intersection-safety-and-awareness Psid ::= 130 -- SAE-J2735
+psid-traveller-information-and-roadside-signage Psid ::= 131 -- SAE-J2735
+psid-mobile-probe-exchanges Psid ::= 132 -- SAE-J2735
+psid-emergency-and-erratic-vehicles-present-in-roadway Psid ::= 133 -- SAE-J2735
+psid-remote-management-protocol-execution Psid ::= 134 -- ISO-24102-2
+psid-wave-service-advertisement Psid ::= 135 -- IEEE-Std-1609.3
+psid-peer-to-peer-distribution-of-security-management-information Psid ::= 136 -- CAMP
+psid-traffic-light-manoeuver-service Psid ::= 137 -- ISO-19091-ETSI-TS-103-301
+psid-road-and-lane-topology-service Psid ::= 138 -- ISO-19091-ETSI-TS-103-301
+psid-infrastructure-to-vehicle-information-service Psid ::= 139 -- ISO-19321-ETSI-TS-103-301
+psid-traffic-light-control-requests-service Psid ::= 140 -- ISO-19091-ETSI-TS-103-301
+psid-geonetworking-management-communications Psid ::= 141 -- ETSI-EN-302-636-4-1
+psid-certificate-revocation-list-application Psid ::= 256 -- IEEEE Std 1609.2 CAMP
+psid-traffic-light-control-status-service Psid ::= 637 -- ISO-19091-ETSI-TS-103-301
+psid-collective-perception-service Psid ::= 639 -- ETSI-TS-103-324
+
+-- 0x8e to 0xFF 0p80-09 to 0p80-7F Not allocated
+
+-- 0x01-01 to 0x3E-7F 0p80-81 to 0pBD-FF Not allocated
+-- 0x3E-80 to 0x40-1F 0pBE-00 to 0pBF-9F Reserved IEEE P1609 WG 416
+-- 0x40-20 to 0x40-5F 0pBF-A0 to 0pBF-DF Private used IEEE P1609 WG 64
+-- 0x40-60 to 0x40-7F 0pBF-E0 to 0pBF-FF Testing IEEE P1609 WG 32
+-- 16 384 total 2-octet p-encoded values
+
+-- 0x40-80 0pC0-00-00 Cooperative Awareness Message (CAM) processor(deprecated) ETSI deprecated
+-- 0x40-81 0pC0-00-01 Decentralized Environmental Notification Message(DENM) processor(deprecated) ETSI deprecated
+
+psid-vehicle-initiated-distress-notivication Psid ::= 16514 -- Wyoming DOT
+-- 0x40-83 to 0x08-40-80 0pc0-00-03 to 0pc8-00-03 Reserved for future assignments by the IEEE registrar
+-- 0x08-40-81 to 0x10-40-7e 0pc8-00-01 to 0pcf-ff-fe Reserved for future assignments by the CEN registrar
+-- 0x10-40-7f to 0x20-40-7d 0pcf-ff-ff to 0pdf-ff-fd Reserved for future assignments by the ISO registrar
+-- 0x20-40-7e 0pdf-ff-fe IPv6 Routing deprecated
+-- 0x20-40-7f 0pdf-ff-ff Reserved for future assignments by the ISO registrar
+-- 2 097 152 total 3-octet p-encoded values
+
+psid-fast-service-advertisement-protocol Psid ::= 2113664 -- ISO-24102-5
+psid-its-station-internal-management-communications-protocol Psid ::= 2113665 -- ISO-24102-4
+psid-veniam-delay-tolerant-networking Psid ::= 2113666 -- Venicam.com
+psid-transcore-software-update Psid ::= 2113667 -- Transcore, Inc.
+psid-sra-private-applications-0x204084 Psid ::= 2113668 -- SRA, Inc,
+psid-sra-private-applications-0x204085 Psid ::= 2113669 -- SRA, Inc,
+psid-sra-private-applications-0x204086 Psid ::= 2113670 -- SRA, Inc,
+psid-sra-private-applications-0x204087 Psid ::= 2113671 -- SRA, Inc,
+psid-ipv6-routing Psid ::= 270549118 -- IEEE-Std-1609-3
+-- >4 bytes long its-aid/psid Not suported
+
+END
diff --git a/epan/dissectors/asn1/ieee1609dot2/IEEE1609dot2BaseTypes.asn b/epan/dissectors/asn1/ieee1609dot2/IEEE1609dot2BaseTypes.asn
new file mode 100644
index 00000000..1961cf0c
--- /dev/null
+++ b/epan/dissectors/asn1/ieee1609dot2/IEEE1609dot2BaseTypes.asn
@@ -0,0 +1,1413 @@
+-- https://forge.etsi.org/rep/ITS/asn1/ieee1609.2/-/blob/ieee/Ieee1609Dot2CrlBaseTypes.asn
+--***************************************************************************--
+-- IEEE Std 1609.2: Base Data Types --
+--***************************************************************************--
+
+/**
+ * @note Section references in this file are to clauses in IEEE Std
+ * 1609.2 unless indicated otherwise. Full forms of acronyms and
+ * abbreviations used in this file are specified in 3.2.
+ */
+
+Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2)
+ base(1) base-types(2) major-version-2(2) minor-version-4(4)}
+
+DEFINITIONS AUTOMATIC TAGS ::= BEGIN
+
+--***************************************************************************--
+-- Integer Types --
+--***************************************************************************--
+
+/**
+ * @brief This atomic type is used in the definition of other data structures.
+ * It is for non-negative integers up to 7, i.e., (hex)07.
+ */
+Uint3 ::= INTEGER (0..7)
+
+/**
+ * @brief This atomic type is used in the definition of other data structures.
+ * It is for non-negative integers up to 255, i.e., (hex)ff.
+ */
+Uint8 ::= INTEGER (0..255)
+
+/**
+ * @brief This atomic type is used in the definition of other data structures.
+ * It is for non-negative integers up to 65,535, i.e., (hex)ff ff.
+ */
+Uint16 ::= INTEGER (0..65535)
+
+/**
+ * @brief This atomic type is used in the definition of other data structures.
+ * It is for non-negative integers up to 4,294,967,295, i.e.,
+ * (hex)ff ff ff ff.
+ */
+Uint32 ::= INTEGER (0..4294967295)
+
+/**
+ * @brief This atomic type is used in the definition of other data structures.
+ * It is for non-negative integers up to 18,446,744,073,709,551,615, i.e.,
+ * (hex)ff ff ff ff ff ff ff ff.
+ */
+Uint64 ::= INTEGER (0..18446744073709551615)
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfUint8 ::= SEQUENCE OF Uint8
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfUint16 ::= SEQUENCE OF Uint16
+
+
+--***************************************************************************--
+-- OCTET STRING Types --
+--***************************************************************************--
+
+/**
+ * @brief This is a synonym for ASN.1 OCTET STRING, and is used in the
+ * definition of other data structures.
+ */
+Opaque ::= OCTET STRING
+
+/**
+ * @brief This type contains the truncated hash of another data structure.
+ * The HashedId3 for a given data structure is calculated by calculating the
+ * hash of the encoded data structure and taking the low-order three bytes of
+ * the hash output. The low-order three bytes are the last three bytes of the
+ * 32-byte hash when represented in network byte order. If the data structure
+ * is subject to canonicalization it is canonicalized before hashing. See
+ * Example below.
+ *
+ * The hash algorithm to be used to calculate a HashedId3 within a
+ * structure depends on the context. In this standard, for each structure
+ * that includes a HashedId3 field, the corresponding text indicates how the
+ * hash algorithm is determined. See also the discussion in 5.3.9.
+ *
+ * Example: Consider the SHA-256 hash of the empty string:
+ *
+ * SHA-256("") =
+ * e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ *
+ * The HashedId3 derived from this hash corresponds to the following:
+ *
+ * HashedId3 = 52b855.
+ */
+HashedId3 ::= OCTET STRING (SIZE(3))
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfHashedId3 ::= SEQUENCE OF HashedId3
+
+/**
+ * @brief This type contains the truncated hash of another data structure.
+ * The HashedId8 for a given data structure is calculated by calculating the
+ * hash of the encoded data structure and taking the low-order eight bytes of
+ * the hash output. The low-order eight bytes are the last eight bytes of the
+ * hash when represented in network byte order. If the data structure
+ * is subject to canonicalization it is canonicalized before hashing. See
+ * Example below.
+ *
+ * The hash algorithm to be used to calculate a HashedId8 within a
+ * structure depends on the context. In this standard, for each structure
+ * that includes a HashedId8 field, the corresponding text indicates how the
+ * hash algorithm is determined. See also the discussion in 5.3.9.
+ *
+ * Example: Consider the SHA-256 hash of the empty string:
+ *
+ * SHA-256("") =
+ * e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ *
+ * The HashedId8 derived from this hash corresponds to the following:
+ *
+ * HashedId8 = a495991b7852b855.
+ */
+HashedId8 ::= OCTET STRING (SIZE(8))
+
+/**
+ * @brief This type contains the truncated hash of another data structure.
+ * The HashedId10 for a given data structure is calculated by calculating the
+ * hash of the encoded data structure and taking the low-order ten bytes of
+ * the hash output. The low-order ten bytes are the last ten bytes of the
+ * hash when represented in network byte order. If the data structure
+ * is subject to canonicalization it is canonicalized before hashing. See
+ * Example below.
+ *
+ * The hash algorithm to be used to calculate a HashedId10 within a
+ * structure depends on the context. In this standard, for each structure
+ * that includes a HashedId10 field, the corresponding text indicates how the
+ * hash algorithm is determined. See also the discussion in 5.3.9.
+ *
+ * Example: Consider the SHA-256 hash of the empty string:
+ *
+ * SHA-256("") =
+ * e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ *
+ * The HashedId10 derived from this hash corresponds to the following:
+ *
+ * HashedId10 = 934ca495991b7852b855.
+ */
+HashedId10 ::= OCTET STRING (SIZE(10))
+
+/**
+ * @brief This data structure contains the truncated hash of another data
+ * structure. The HashedId32 for a given data structure is calculated by
+ * calculating the hash of the encoded data structure and taking the
+ * low-order 32 bytes of the hash output. The low-order 32 bytes are the last
+ * 32 bytes of the hash when represented in network byte order. If the data
+ * structure is subject to canonicalization it is canonicalized before
+ * hashing. See Example below.
+ *
+ * The hash algorithm to be used to calculate a HashedId32 within a
+ * structure depends on the context. In this standard, for each structure
+ * that includes a HashedId32 field, the corresponding text indicates how the
+ * hash algorithm is determined. See also the discussion in 5.3.9.
+ *
+ * Example: Consider the SHA-256 hash of the empty string:
+ *
+ * SHA-256("") =
+ * e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ *
+ * The HashedId32 derived from this hash corresponds to the following:
+ *
+ * HashedId32 = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8
+ * 55.
+ */
+HashedId32 ::= OCTET STRING (SIZE(32))
+
+/**
+ * @brief This data structure contains the truncated hash of another data
+ * structure. The HashedId48 for a given data structure is calculated by
+ * calculating the hash of the encoded data structure and taking the
+ * low-order 48 bytes of the hash output. The low-order 48 bytes are the last
+ * 48 bytes of the hash when represented in network byte order. If the data
+ * structure is subject to canonicalization it is canonicalized before
+ * hashing. See Example below.
+ *
+ * The hash algorithm to be used to calculate a HashedId48 within a
+ * structure depends on the context. In this standard, for each structure
+ * that includes a HashedId48 field, the corresponding text indicates how the
+ * hash algorithm is determined. See also the discussion in 5.3.9.
+ *
+ * Example: Consider the SHA-384 hash of the empty string:
+ *
+ * SHA-384("") = 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6
+ * e1da274edebfe76f65fbd51ad2f14898b95b
+ *
+ * The HashedId48 derived from this hash corresponds to the following:
+ *
+ * HashedId48 = 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e
+ * 1da274edebfe76f65fbd51ad2f14898b95b.
+ */
+HashedId48 ::= OCTET STRING(SIZE(48))
+
+
+--***************************************************************************--
+-- Time Structures --
+--***************************************************************************--
+
+/**
+ * @brief This type gives the number of (TAI) seconds since 00:00:00 UTC, 1
+ * January, 2004.
+ */
+Time32 ::= Uint32
+
+/**
+ * @brief This data structure is a 64-bit integer giving an estimate of the
+ * number of (TAI) microseconds since 00:00:00 UTC, 1 January, 2004.
+ */
+Time64 ::= Uint64
+
+/**
+ * @brief This type gives the validity period of a certificate. The start of
+ * the validity period is given by start and the end is given by
+ * start + duration.
+ */
+ValidityPeriod ::= SEQUENCE {
+ start Time32,
+ duration Duration
+}
+
+/**
+ * @brief This structure represents the duration of validity of a
+ * certificate. The Uint16 value is the duration, given in the units denoted
+ * by the indicated choice. A year is considered to be 31556952 seconds,
+ * which is the average number of seconds in a year.
+ *
+ * @note Years can be mapped more closely to wall-clock days using the hours
+ * choice for up to 7 years and the sixtyHours choice for up to 448 years.
+ */
+Duration ::= CHOICE {
+ microseconds Uint16,
+ milliseconds Uint16,
+ seconds Uint16,
+ minutes Uint16,
+ hours Uint16,
+ sixtyHours Uint16,
+ years Uint16
+}
+
+
+--***************************************************************************--
+-- Location Structures --
+--***************************************************************************--
+
+/**
+ * @brief This structure represents a geographic region of a specified form.
+ * A certificate is not valid if any part of the region indicated in its
+ * scope field lies outside the region indicated in the scope of its issuer.
+ *
+ * @param circularRegion: contains a single instance of the CircularRegion
+ * structure.
+ *
+ * @param rectangularRegion: is an array of RectangularRegion structures
+ * containing at least one entry. This field is interpreted as a series of
+ * rectangles, which may overlap or be disjoint. The permitted region is any
+ * point within any of the rectangles.
+ *
+ * @param polygonalRegion: contains a single instance of the PolygonalRegion
+ * structure.
+ *
+ * @param identifiedRegion: is an array of IdentifiedRegion structures
+ * containing at least one entry. The permitted region is any point within
+ * any of the identified regions.
+ *
+ * @note Critical information fields:
+ * - If present, this is a critical information field as defined in 5.2.6.
+ * An implementation that does not recognize the indicated CHOICE when
+ * verifying a signed SPDU shall indicate that the signed SPDU is invalid in
+ * the sense of 4.2.2.3.2, that is, it is invalid in the sense that its
+ * validity cannot be established.
+ * - If selected, rectangularRegion is a critical information field as
+ * defined in 5.2.6. An implementation that does not support the number of
+ * RectangularRegion in rectangularRegions when verifying a signed SPDU shall
+ * indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2, that
+ * is, it is invalid in the sense that its validity cannot be established.
+ * A conformant implementation shall support rectangularRegions fields
+ * containing at least eight entries.
+ * - If selected, identifiedRegion is a critical information field as
+ * defined in 5.2.6. An implementation that does not support the number of
+ * IdentifiedRegion in identifiedRegion shall reject the signed SPDU as
+ * invalid in the sense of 4.2.2.3.2, that is, it is invalid in the sense
+ * that its validity cannot be established. A conformant implementation shall
+ * support identifiedRegion fields containing at least eight entries.
+ */
+GeographicRegion ::= CHOICE {
+ circularRegion CircularRegion,
+ rectangularRegion SequenceOfRectangularRegion,
+ polygonalRegion PolygonalRegion,
+ identifiedRegion SequenceOfIdentifiedRegion,
+ ...
+}
+
+/**
+ * @brief This structure specifies a circle with its center at center, its
+ * radius given in meters, and located tangential to the reference ellipsoid.
+ * The indicated region is all the points on the surface of the reference
+ * ellipsoid whose distance to the center point over the reference ellipsoid
+ * is less than or equal to the radius. A point which contains an elevation
+ * component is considered to be within the circular region if its horizontal
+ * projection onto the reference ellipsoid lies within the region.
+ */
+CircularRegion ::= SEQUENCE {
+ center TwoDLocation,
+ radius Uint16
+}
+
+/**
+ * @brief This structure specifies a “rectangle†on the surface of the WGS84 ellipsoid where the
+ * sides are given by lines of constant latitude or longitude.
+ * A point which contains an elevation component is considered to be within the rectangular region
+ * if its horizontal projection onto the reference ellipsoid lies within the region.
+ * A RectangularRegion is invalid if the northWest value is south of the southEast value, or if the
+ * latitude values in the two points are equal, or if the longitude values in the two points are
+ * equal; otherwise it is valid. A certificate that contains an invalid RectangularRegion is invalid.
+ *
+ * @param northWest: is the north-west corner of the rectangle.
+ *
+ * @param southEast is the south-east corner of the rectangle.
+ */
+RectangularRegion ::= SEQUENCE {
+ northWest TwoDLocation,
+ southEast TwoDLocation
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfRectangularRegion ::= SEQUENCE OF RectangularRegion
+
+/**
+ * @brief This structure defines a region using a series of distinct
+ * geographic points, defined on the surface of the reference ellipsoid. The
+ * region is specified by connecting the points in the order they appear,
+ * with each pair of points connected by the geodesic on the reference
+ * ellipsoid. The polygon is completed by connecting the final point to the
+ * first point. The allowed region is the interior of the polygon and its
+ * boundary.
+ *
+ * A point which contains an elevation component is considered to be
+ * within the polygonal region if its horizontal projection onto the
+ * reference ellipsoid lies within the region.
+ *
+ * A valid PolygonalRegion contains at least three points. In a valid
+ * PolygonalRegion, the implied lines that make up the sides of the polygon
+ * do not intersect.
+ *
+ * @note This type does not support enclaves / exclaves. This might be
+ * addressed in a future version of this standard.
+ *
+ * @note Critical information fields: If present, this is a critical
+ * information field as defined in 5.2.6. An implementation that does not
+ * support the number of TwoDLocation in the PolygonalRegion when verifying a
+ * signed SPDU shall indicate that the signed SPDU is invalid. A compliant
+ * implementation shall support PolygonalRegions containing at least eight
+ * TwoDLocation entries.
+ */
+PolygonalRegion ::= SEQUENCE SIZE (3..MAX) OF TwoDLocation
+
+/**
+ * @brief This structure is used to define validity regions for use in
+ * certificates. The latitude and longitude fields contain the latitude and
+ * longitude as defined above.
+ *
+ * @note This data structure is consistent with the location encoding
+ * used in SAE J2735, except that values 900 000 001 for latitude (used to
+ * indicate that the latitude was not available) and 1 800 000 001 for
+ * longitude (used to indicate that the longitude was not available) are not
+ * valid.
+ */
+TwoDLocation ::= SEQUENCE {
+ latitude Latitude,
+ longitude Longitude
+}
+
+/**
+ * @brief This structure indicates the region of validity of a certificate
+ * using region identifiers.
+ * A conformant implementation that supports this type shall support at least
+ * one of the possible CHOICE values. The Protocol Implementation Conformance
+ * Statement (PICS) provided in Annex A allows an implementation to state
+ * which CountryOnly values it recognizes.
+ *
+ * @param countryOnly: indicates that only a country (or a geographic entity
+ * included in a country list) is given.
+ *
+ * @param countryAndRegions: indicates that one or more top-level regions
+ * within a country (as defined by the region listing associated with that
+ * country) is given.
+ *
+ * @param countryAndSubregions: indicates that one or more regions smaller
+ * than the top-level regions within a country (as defined by the region
+ * listing associated with that country) is given.
+ *
+ * Critical information fields: If present, this is a critical
+ * information field as defined in 5.2.6. An implementation that does not
+ * recognize the indicated CHOICE when verifying a signed SPDU shall indicate
+ * that the signed SPDU is invalid in the sense of 4.2.2.3.2, that is, it is
+ * invalid in the sense that its validity cannot be established.
+ */
+IdentifiedRegion ::= CHOICE {
+ countryOnly UnCountryId,
+ countryAndRegions CountryAndRegions,
+ countryAndSubregions CountryAndSubregions,
+ ...
+}
+
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfIdentifiedRegion ::= SEQUENCE OF IdentifiedRegion
+
+/**
+ * @brief This type contains the integer representation of the country or
+ * area identifier as defined by the United Nations Statistics Division in
+ * October 2013 (see normative references in Clause 0).
+ * A conformant implementation that implements IdentifiedRegion shall
+ * recognize (in the sense of “be able to determine whether a two dimensional
+ * location lies inside or outside the borders identified byâ€) at least one
+ * value of UnCountryId. The Protocol Implementation Conformance Statement
+ * (PICS) provided in Annex A allows an implementation to state which
+ * UnCountryId values it recognizes.
+ * Since 2013 and before the publication of this version of this standard,
+ * three changes have been made to the country code list, to define the
+ * region "sub-Saharan Africa" and remove the "developed regions", and
+ * "developing regions". A conformant implementation may recognize these
+ * region identifiers in the sense defined in the previous paragraph.
+ * If a verifying implementation is required to check that relevant
+ * geographic information in a signed SPDU is consistent with a certificate
+ * containing one or more instances of this type, then the SDS is permitted
+ * to indicate that the signed SPDU is valid even if some instances of this
+ * type are unrecognized in the sense defined above, so long as the
+ * recognized instances of this type completely contain the relevant
+ * geographic information. Informally, if the recognized values in the
+ * certificate allow the SDS to determine that the SPDU is valid, then it
+ * can make that determination even if there are also unrecognized values in
+ * the certificate. This field is therefore not a "critical information
+ * field" as defined in 5.2.6, because unrecognized values are permitted so
+ * long as the validity of the SPDU can be established with the recognized
+ * values. However, as discussed in 5.2.6, the presence of an unrecognized
+ * value in a certificate can make it impossible to determine whether the
+ * certificate and the SPDU are valid.
+ */
+UnCountryId ::= Uint16
+
+/**
+ * @brief This type is defined only for backwards compatibility.
+ */
+CountryOnly ::= UnCountryId
+
+/**
+ * @brief A conformant implementation that supports CountryAndRegions shall
+ * support a regions field containing at least eight entries.
+ * A conformant implementation that implements this type shall recognize
+ * (in the sense of "be able to determine whether a two dimensional location
+ * lies inside or outside the borders identified by") at least one value of
+ * UnCountryId and at least one value for a region within the country
+ * indicated by that recognized UnCountryId value. In this version of this
+ * standard, the only means to satisfy this is for a conformant
+ * implementation to recognize the value of UnCountryId indicating USA and
+ * at least one of the FIPS state codes for US states. The Protocol
+ * Implementation Conformance Statement (PICS) provided in Annex A allows
+ * an implementation to state which UnCountryId values it recognizes and
+ * which region values are recognized within that country.
+ * If a verifying implementation is required to check that an relevant
+ * geographic information in a signed SPDU is consistent with a certificate
+ * containing one or more instances of this type, then the SDS is permitted
+ * to indicate that the signed SPDU is valid even if some values of country
+ * or within regions are unrecognized in the sense defined above, so long
+ * as the recognized instances of this type completely contain the relevant
+ * geographic information. Informally, if the recognized values in the
+ * certificate allow the SDS to determine that the SPDU is valid, then it
+ * can make that determination even if there are also unrecognized values
+ * in the certificate. This field is therefore not a "critical information
+ * field" as defined in 5.2.6, because unrecognized values are permitted so
+ * long as the validity of the SPDU can be established with the recognized
+ * values. However, as discussed in 5.2.6, the presence of an unrecognized
+ * value in a certificate can make it impossible to determine whether the
+ * certificate is valid and so whether the SPDU is valid.
+ * In this type:
+ *
+ * @param countryOnly: is a UnCountryId as defined above.
+ *
+ * @param regions: identifies one or more regions within the country. If
+ * country indicates the United States of America, the values in this field
+ * identify the state or statistically equivalent entity using the integer
+ * version of the 2010 FIPS codes as provided by the U.S. Census Bureau
+ * (see normative references in Clause 0). For other values of country, the
+ * meaning of region is not defined in this version of this standard.
+ */
+CountryAndRegions ::= SEQUENCE {
+ countryOnly UnCountryId,
+ regions SequenceOfUint8
+}
+
+/**
+ * @brief A conformant implementation that supports CountryAndSubregions
+ * shall support a regionAndSubregions field containing at least eight
+ * entries.
+ * A conformant implementation that implements this type shall recognize
+ * (in the sense of “be able to determine whether a two dimensional location
+ * lies inside or outside the borders identified byâ€) at least one value of
+ * country and at least one value for a region within the country indicated
+ * by that recognized country value. In this version of this standard, the
+ * only means to satisfy this is for a conformant implementation to recognize
+ * the value of UnCountryId indicating USA and at least one of the FIPS state
+ * codes for US states. The Protocol Implementation Conformance Statement
+ * (PICS) provided in Annex A allows an implementation to state which
+ * UnCountryId values it recognizes and which region values are recognized
+ * within that country.
+ * If a verifying implementation is required to check that an relevant
+ * geographic information in a signed SPDU is consistent with a certificate
+ * containing one or more instances of this type, then the SDS is permitted
+ * to indicate that the signed SPDU is valid even if some values of country
+ * or within regionAndSubregions are unrecognized in the sense defined above,
+ * so long as the recognized instances of this type completely contain the
+ * relevant geographic information. Informally, if the recognized values in
+ * the certificate allow the SDS to determine that the SPDU is valid, then
+ * it can make that determination even if there are also unrecognized values
+ * in the certificate. This field is therefore not a "critical information
+ * field" as defined in 5.2.6, because unrecognized values are permitted so
+ * long as the validity of the SPDU can be established with the recognized
+ * values. However, as discussed in 5.2.6, the presence of an unrecognized
+ * value in a certificate can make it impossible to determine whether the
+ * certificate is valid and so whether the SPDU is valid.
+ * In this structure:
+ *
+ * @param countryOnly: is a UnCountryId as defined above.
+ *
+ * @param regionAndSubregions: identifies one or more subregions within
+ * country.
+ */
+CountryAndSubregions ::= SEQUENCE {
+ countryOnly UnCountryId,
+ regionAndSubregions SequenceOfRegionAndSubregions
+}
+
+/**
+ * @brief The meanings of the fields in this structure are to be interpreted
+ * in the context of a country within which the region is located, referred
+ * to as the "enclosing country". If this structure is used in a
+ * CountryAndSubregions structure, the enclosing country is the one indicated
+ * by the country field in the CountryAndSubregions structure. If other uses
+ * are defined for this structure in future, it is expected that that
+ * definition will include a specification of how the enclosing country can
+ * be determined.
+ * If the enclosing country is the United States of America:
+ * - The region field identifies the state or statistically equivalent
+ * entity using the integer version of the 2010 FIPS codes as provided by the
+ * U.S. Census Bureau (see normative references in Clause 0).
+ * - The values in the subregions field identify the county or county
+ * equivalent entity using the integer version of the 2010 FIPS codes as
+ * provided by the U.S. Census Bureau.
+ * If the enclosing country is a different country from the USA, the meaning
+ * of regionAndSubregions is not defined in this version of this standard.
+ * A conformant implementation that implements this type shall recognize (in
+ * the sense of "be able to determine whether a two-dimensional location lies
+ * inside or outside the borders identified by"), for at least one enclosing
+ * country, at least one value for a region within that country and at least
+ * one subregion for the indicated region. In this version of this standard,
+ * the only means to satisfy this is for a conformant implementation to
+ * recognize, for the USA, at least one of the FIPS state codes for US
+ * states, and at least one of the county codes in at least one of the
+ * recognized states. The Protocol Implementation Conformance Statement
+ * (PICS) provided in Annex A allows an implementation to state which
+ * UnCountryId values it recognizes and which region values are recognized
+ * within that country.
+ * If a verifying implementation is required to check that an relevant
+ * geographic information in a signed SPDU is consistent with a certificate
+ * containing one or more instances of this type, then the SDS is permitted
+ * to indicate that the signed SPDU is valid even if some values within
+ * subregions are unrecognized in the sense defined above, so long as the
+ * recognized instances of this type completely contain the relevant
+ * geographic information. Informally, if the recognized values in the
+ * certificate allow the SDS to determine that the SPDU is valid, then it
+ * can make that determination even if there are also unrecognized values
+ * in the certificate. This field is therefore not not a "critical
+ * information field" as defined in 5.2.6, because unrecognized values are
+ * permitted so long as the validity of the SPDU can be established with the
+ * recognized values. However, as discussed in 5.2.6, the presence of an
+ * unrecognized value in a certificate can make it impossible to determine
+ * whether the certificate is valid and so whether the SPDU is valid.
+ * In this structure:
+ *
+ * @param region: identifies a region within a country.
+ *
+ * @param subregions: identifies one or more subregions within region. A
+ * conformant implementation that supports RegionAndSubregions shall support
+ * a subregions field containing at least eight entries.
+ */
+RegionAndSubregions ::= SEQUENCE {
+ region Uint8,
+ subregions SequenceOfUint16
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfRegionAndSubregions ::= SEQUENCE OF RegionAndSubregions
+
+/**
+ * @brief This structure contains an estimate of 3D location. The details of
+ * the structure are given in the definitions of the individual fields below.
+ *
+ * @note The units used in this data structure are consistent with the
+ * location data structures used in SAE J2735 [B26], though the encoding is
+ * incompatible.
+ */
+ThreeDLocation ::= SEQUENCE {
+ latitude Latitude,
+ longitude Longitude,
+ elevation Elevation
+}
+
+/**
+ * @brief This type contains an INTEGER encoding an estimate of the latitude
+ * with precision 1/10th microdegree relative to the World Geodetic System
+ * (WGS)-84 datum as defined in NIMA Technical Report TR8350.2.
+ * The integer in the latitude field is no more than 900 000 000 and no less
+ * than ?900 000 000, except that the value 900 000 001 is used to indicate
+ * the latitude was not available to the sender.
+ */
+Latitude ::= NinetyDegreeInt
+
+/**
+ * @brief This type contains an INTEGER encoding an estimate of the longitude
+ * with precision 1/10th microdegree relative to the World Geodetic System
+ * (WGS)-84 datum as defined in NIMA Technical Report TR8350.2.
+ * The integer in the longitude field is no more than 1 800 000 000 and no
+ * less than ?1 799 999 999, except that the value 1 800 000 001 is used to
+ * indicate that the longitude was not available to the sender.
+ */
+Longitude ::= OneEightyDegreeInt
+
+/**
+ * @brief This structure contains an estimate of the geodetic altitude above
+ * or below the WGS84 ellipsoid. The 16-bit value is interpreted as an
+ * integer number of decimeters representing the height above a minimum
+ * height of -409.5 m, with the maximum height being 6143.9 m.
+ */
+Elevation ::= Uint16
+
+/**
+ * @brief The integer in the latitude field is no more than 900,000,000 and
+ * no less than -900,000,000, except that the value 900,000,001 is used to
+ * indicate the latitude was not available to the sender.
+ */
+NinetyDegreeInt ::= INTEGER {
+ min (-900000000),
+ max (900000000),
+ unknown (900000001)
+} (-900000000..900000001)
+
+/**
+ * @brief The known latitudes are from -900,000,000 to +900,000,000 in 0.1
+ * microdegree intervals.
+ */
+KnownLatitude ::= NinetyDegreeInt (min..max)
+
+/**
+ * @brief The value 900,000,001 indicates that the latitude was not
+ * available to the sender.
+ */
+UnknownLatitude ::= NinetyDegreeInt (unknown)
+
+/**
+ * @brief The integer in the longitude field is no more than 1,800,000,000
+ * and no less than -1,799,999,999, except that the value 1,800,000,001 is
+ * used to indicate that the longitude was not available to the sender.
+ */
+OneEightyDegreeInt ::= INTEGER {
+ min (-1799999999),
+ max (1800000000),
+ unknown (1800000001)
+} (-1799999999..1800000001)
+
+/**
+ * @brief The known longitudes are from -1,799,999,999 to +1,800,000,000 in
+ * 0.1 microdegree intervals.
+ */
+KnownLongitude ::= OneEightyDegreeInt (min..max)
+
+/**
+ * @brief The value 1,800,000,001 indicates that the longitude was not
+ * available to the sender.
+ */
+UnknownLongitude ::= OneEightyDegreeInt (unknown)
+
+
+--***************************************************************************--
+-- Crypto Structures --
+--***************************************************************************--
+
+/**
+ * @brief This structure represents a signature for a supported public key
+ * algorithm. It may be contained within SignedData or Certificate.
+ *
+ * @note Critical information fields: If present, this is a critical
+ * information field as defined in 5.2.5. An implementation that does not
+ * recognize the indicated CHOICE for this type when verifying a signed SPDU
+ * shall indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2,
+ * that is, it is invalid in the sense that its validity cannot be
+ * established.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to instances of this data structure of form EcdsaP256Signature
+ * and EcdsaP384Signature.
+ */
+Signature ::= CHOICE {
+ ecdsaNistP256Signature EcdsaP256Signature,
+ ecdsaBrainpoolP256r1Signature EcdsaP256Signature,
+ ...,
+ ecdsaBrainpoolP384r1Signature EcdsaP384Signature,
+ ecdsaNistP384Signature EcdsaP384Signature,
+ sm2Signature EcsigP256Signature
+}
+
+/**
+ * @brief This structure represents an ECDSA signature. The signature is
+ * generated as specified in 5.3.1.
+ *
+ * If the signature process followed the specification of FIPS 186-4
+ * and output the integer r, r is represented as an EccP256CurvePoint
+ * indicating the selection x-only.
+ *
+ * If the signature process followed the specification of SEC 1 and
+ * output the elliptic curve point R to allow for fast verification, R is
+ * represented as an EccP256CurvePoint indicating the choice compressed-y-0,
+ * compressed-y-1, or uncompressed at the sender's discretion.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. When this data structure
+ * is canonicalized, the EccP256CurvePoint in rSig is represented in the
+ * form x-only.
+ *
+ * @note When the signature is of form x-only, the x-value in rSig is
+ * an integer mod n, the order of the group; when the signature is of form
+ * compressed-y-\*, the x-value in rSig is an integer mod p, the underlying
+ * prime defining the finite field. In principle this means that to convert a
+ * signature from form compressed-y-\* to form x-only, the converter checks
+ * the x-value to see if it lies between n and p and reduces it mod n if so.
+ * In practice this check is unnecessary: Haase's Theorem states that
+ * difference between n and p is always less than 2*square-root(p), and so the
+ * chance that an integer lies between n and p, for a 256-bit curve, is
+ * bounded above by approximately square-root(p)/p or 2^(-128). For the
+ * 256-bit curves in this standard, the exact values of n and p in hexadecimal
+ * are:
+ *
+ * NISTp256:
+ * - p = FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
+ * - n = FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551
+ *
+ * Brainpoolp256:
+ * - p = A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377
+ * - n = A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7
+ */
+EcdsaP256Signature ::= SEQUENCE {
+ rSig EccP256CurvePoint,
+ sSig OCTET STRING (SIZE (32))
+}
+
+/**
+ * @brief This structure represents an ECDSA signature. The signature is
+ * generated as specified in 5.3.1.
+ *
+ * If the signature process followed the specification of FIPS 186-4
+ * and output the integer r, r is represented as an EccP384CurvePoint
+ * indicating the selection x-only.
+ *
+ * If the signature process followed the specification of SEC 1 and
+ * output the elliptic curve point R to allow for fast verification, R is
+ * represented as an EccP384CurvePoint indicating the choice compressed-y-0,
+ * compressed-y-1, or uncompressed at the sender's discretion.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. When this data structure
+ * is canonicalized, the EccP384CurvePoint in rSig is represented in the
+ * form x-only.
+ *
+ * @note When the signature is of form x-only, the x-value in rSig is
+ * an integer mod n, the order of the group; when the signature is of form
+ * compressed-y-\*, the x-value in rSig is an integer mod p, the underlying
+ * prime defining the finite field. In principle this means that to convert a
+ * signature from form compressed-y-* to form x-only, the converter checks the
+ * x-value to see if it lies between n and p and reduces it mod n if so. In
+ * practice this check is unnecessary: Haase's Theorem states that difference
+ * between n and p is always less than 2*square-root(p), and so the chance
+ * that an integer lies between n and p, for a 384-bit curve, is bounded
+ * above by approximately square-root(p)/p or 2^(-192). For the 384-bit curve
+ * in this standard, the exact values of n and p in hexadecimal are:
+ * - p = 8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123
+ * ACD3A729901D1A71874700133107EC53
+ * - n = 8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B31F166E6CAC0425A7
+ * CF3AB6AF6B7FC3103B883202E9046565
+ */
+EcdsaP384Signature ::= SEQUENCE {
+ rSig EccP384CurvePoint,
+ sSig OCTET STRING (SIZE (48))
+}
+
+/**
+ * @brief This structure represents a elliptic curve signature where the
+ * component r is constrained to be an integer. This structure supports SM2
+ * signatures as specified in 5.3.1.3.
+ */
+EcsigP256Signature ::= SEQUENCE {
+ rSig OCTET STRING (SIZE (32)),
+ sSig OCTET STRING (SIZE (32))
+}
+
+/**
+ * @brief This structure specifies a point on an elliptic curve in Weierstrass
+ * form defined over a 256-bit prime number. The curves supported in this
+ * standard are NIST p256 as defined in FIPS 186-4, Brainpool p256r1 as
+ * defined in RFC 5639, and the SM2 curve as defined in GB/T 32918.5-2017.
+ * The fields in this structure are OCTET STRINGS produced with the elliptic
+ * curve point encoding and decoding methods defined in subclause 5.5.6 of
+ * IEEE Std 1363-2000. The x-coordinate is encoded as an unsigned integer of
+ * length 32 octets in network byte order for all values of the CHOICE; the
+ * encoding of the y-coordinate y depends on whether the point is x-only,
+ * compressed, or uncompressed. If the point is x-only, y is omitted. If the
+ * point is compressed, the value of type depends on the least significant
+ * bit of y: if the least significant bit of y is 0, type takes the value
+ * compressed-y-0, and if the least significant bit of y is 1, type takes the
+ * value compressed-y-1. If the point is uncompressed, y is encoded explicitly
+ * as an unsigned integer of length 32 octets in network byte order.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2 if it appears in a
+ * HeaderInfo or in a ToBeSignedCertificate. See the definitions of HeaderInfo
+ * and ToBeSignedCertificate for a specification of the canonicalization
+ * operations.
+ */
+EccP256CurvePoint::= CHOICE {
+ x-only OCTET STRING (SIZE (32)),
+ fill NULL,
+ compressed-y-0 OCTET STRING (SIZE (32)),
+ compressed-y-1 OCTET STRING (SIZE (32)),
+ uncompressedP256 SEQUENCE {
+ x OCTET STRING (SIZE (32)),
+ y OCTET STRING (SIZE (32))
+ }
+}
+
+/**
+ * @brief This structure specifies a point on an elliptic curve in
+ * Weierstrass form defined over a 384-bit prime number. The only supported
+ * such curve in this standard is Brainpool p384r1 as defined in RFC 5639.
+ * The fields in this structure are octet strings produced with the elliptic
+ * curve point encoding and decoding methods defined in subclause 5.5.6 of
+ * IEEE Std 1363-2000. The x-coordinate is encoded as an unsigned integer of
+ * length 48 octets in network byte order for all values of the CHOICE; the
+ * encoding of the y-coordinate y depends on whether the point is x-only,
+ * compressed, or uncompressed. If the point is x-only, y is omitted. If the
+ * point is compressed, the value of type depends on the least significant
+ * bit of y: if the least significant bit of y is 0, type takes the value
+ * compressed-y-0, and if the least significant bit of y is 1, type takes the
+ * value compressed-y-1. If the point is uncompressed, y is encoded
+ * explicitly as an unsigned integer of length 48 octets in network byte order.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2 if it appears in a
+ * HeaderInfo or in a ToBeSignedCertificate. See the definitions of HeaderInfo
+ * and ToBeSignedCertificate for a specification of the canonicalization
+ * operations.
+ */
+EccP384CurvePoint::= CHOICE {
+ x-only OCTET STRING (SIZE (48)),
+ fill NULL,
+ compressed-y-0 OCTET STRING (SIZE (48)),
+ compressed-y-1 OCTET STRING (SIZE (48)),
+ uncompressedP384 SEQUENCE {
+ x OCTET STRING (SIZE (48)),
+ y OCTET STRING (SIZE (48))
+ }
+}
+
+/**
+ * @brief This enumerated value indicates supported symmetric algorithms. The
+ * algorithm identifier identifies both the algorithm itself and a specific
+ * mode of operation. The symmetric algorithms supported in this version of
+ * this standard are AES-128 and SM4. The only mode of operation supported is
+ * Counter Mode Encryption With Cipher Block Chaining Message Authentication
+ * Code (CCM). Full details are given in 5.3.8.
+ */
+SymmAlgorithm ::= ENUMERATED {
+ aes128Ccm,
+ ...,
+ sm4Ccm
+}
+
+/**
+ * @brief This structure identifies a hash algorithm. The value sha256,
+ * indicates SHA-256. The value sha384 indicates SHA-384. The value sm3
+ * indicates SM3. See 5.3.3 for more details.
+ *
+ * @note Critical information fields: This is a critical information field as
+ * defined in 5.2.6. An implementation that does not recognize the enumerated
+ * value of this type in a signed SPDU when verifying a signed SPDU shall
+ * indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2, that
+ * is, it is invalid in the sense that its validity cannot be established.
+ */
+HashAlgorithm ::= ENUMERATED {
+ sha256,
+ ...,
+ sha384,
+ sm3
+}
+
+/**
+ * @brief This data structure is used to transfer a 16-byte symmetric key
+ * encrypted using ECIES as specified in IEEE Std 1363a-2004. The symmetric
+ * key is input to the key encryption process with no headers, encapsulation,
+ * or length indication. Encryption and decryption are carried out as
+ * specified in 5.3.5.1.
+ *
+ * @param v: is the sender's ephemeral public key, which is the output V from
+ * encryption as specified in 5.3.5.1.
+ *
+ * @param c: is the encrypted symmetric key, which is the output C from
+ * encryption as specified in 5.3.5.1. The algorithm for the symmetric key
+ * is identified by the CHOICE indicated in the following SymmetricCiphertext.
+ * For ECIES this shall be AES-128.
+ *
+ * @param t: is the authentication tag, which is the output tag from
+ * encryption as specified in 5.3.5.1.
+ */
+EciesP256EncryptedKey ::= SEQUENCE {
+ v EccP256CurvePoint,
+ c OCTET STRING (SIZE (16)),
+ t OCTET STRING (SIZE (16))
+}
+
+/**
+ * @brief This data structure is used to transfer a 16-byte symmetric key
+ * encrypted using SM2 encryption as specified in 5.3.3. The symmetric key is
+ * input to the key encryption process with no headers, encapsulation, or
+ * length indication. Encryption and decryption are carried out as specified
+ * in 5.3.5.2.
+ *
+ * @param v: is the sender's ephemeral public key, which is the output V from
+ * encryption as specified in 5.3.5.2.
+ *
+ * @param c: is the encrypted symmetric key, which is the output C from
+ * encryption as specified in 5.3.5.2. The algorithm for the symmetric key
+ * is identified by the CHOICE indicated in the following SymmetricCiphertext.
+ * For SM2 this algorithm shall be SM4.
+ *
+ * @param t: is the authentication tag, which is the output tag from
+ * encryption as specified in 5.3.5.2.
+ */
+EcencP256EncryptedKey ::= SEQUENCE {
+ v EccP256CurvePoint,
+ c OCTET STRING (SIZE (16)),
+ t OCTET STRING (SIZE (32))
+}
+
+
+/**
+ * @brief This structure contains an encryption key, which may be a public or
+ * a symmetric key.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2 if it appears in a
+ * HeaderInfo or in a ToBeSignedCertificate. The canonicalization applies to
+ * the PublicEncryptionKey. See the definitions of HeaderInfo and
+ * ToBeSignedCertificate for a specification of the canonicalization
+ * operations.
+ */
+EncryptionKey ::= CHOICE {
+ public PublicEncryptionKey,
+ symmetric SymmetricEncryptionKey
+}
+
+/**
+ * @brief This structure specifies a public encryption key and the associated
+ * symmetric algorithm which is used for bulk data encryption when encrypting
+ * for that public key.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2 if it appears in a
+ * HeaderInfo or in a ToBeSignedCertificate. The canonicalization applies to
+ * the BasePublicEncryptionKey. See the definitions of HeaderInfo and
+ * ToBeSignedCertificate for a specification of the canonicalization
+ * operations.
+ */
+PublicEncryptionKey ::= SEQUENCE {
+ supportedSymmAlg SymmAlgorithm,
+ publicKey BasePublicEncryptionKey
+}
+
+/**
+ * @brief This structure specifies the bytes of a public encryption key for
+ * a particular algorithm. Supported public key encryption algorithms are
+ * defined in 5.3.5.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2 if it appears in a
+ * HeaderInfo or in a ToBeSignedCertificate. See the definitions of HeaderInfo
+ * and ToBeSignedCertificate for a specification of the canonicalization
+ * operations.
+ */
+BasePublicEncryptionKey ::= CHOICE {
+ eciesNistP256 EccP256CurvePoint,
+ eciesBrainpoolP256r1 EccP256CurvePoint,
+ ...,
+ ecencSm2 EccP256CurvePoint
+}
+
+/**
+ * @brief This structure represents a public key and states with what
+ * algorithm the public key is to be used. Cryptographic mechanisms are
+ * defined in 5.3.
+ * An EccP256CurvePoint or EccP384CurvePoint within a PublicVerificationKey
+ * structure is invalid if it indicates the choice x-only.
+ *
+ * @note Critical information fields: If present, this is a critical
+ * information field as defined in 5.2.6. An implementation that does not
+ * recognize the indicated CHOICE when verifying a signed SPDU shall indicate
+ * that the signed SPDU is invalid indicate that the signed SPDU is invalid
+ * in the sense of 4.2.2.3.2, that is, it is invalid in the sense that its
+ * validity cannot be established.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the EccP256CurvePoint and the Ecc384CurvePoint. Both forms of
+ * point are encoded in compressed form, i.e., such that the choice indicated
+ * within the Ecc*CurvePoint is compressed-y-0 or compressed-y-1.
+ */
+PublicVerificationKey ::= CHOICE {
+ ecdsaNistP256 EccP256CurvePoint,
+ ecdsaBrainpoolP256r1 EccP256CurvePoint,
+ ... ,
+ ecdsaBrainpoolP384r1 EccP384CurvePoint,
+ ecdsaNistP384 EccP384CurvePoint,
+ ecsigSm2 EccP256CurvePoint
+}
+
+/**
+ * @brief This structure provides the key bytes for use with an identified
+ * symmetric algorithm. The supported symmetric algorithms are AES-128 and
+ * SM4 in CCM mode as specified in 5.3.8.
+ */
+SymmetricEncryptionKey ::= CHOICE {
+ aes128Ccm OCTET STRING(SIZE(16)),
+ ...,
+ sm4Ccm OCTET STRING(SIZE(16))
+}
+
+
+--***************************************************************************--
+-- PSID / ITS-AID --
+--***************************************************************************--
+
+/**
+ * @brief This structure represents the permissions that the certificate
+ * holder has with respect to activities for a single application area,
+ * identified by a Psid.
+ *
+ * @note The determination as to whether the activities are consistent with
+ * the permissions indicated by the PSID and ServiceSpecificPermissions is
+ * made by the SDEE and not by the SDS; the SDS provides the PSID and SSP
+ * information to the SDEE to enable the SDEE to make that determination.
+ * See 5.2.4.3.3 for more information.
+ *
+ * @note The SDEE specification is expected to specify what application
+ * activities are permitted by particular ServiceSpecificPermissions values.
+ * The SDEE specification is also expected EITHER to specify application
+ * activities that are permitted if the ServiceSpecificPermissions is
+ * omitted, OR to state that the ServiceSpecificPermissions need to always be
+ * present.
+ *
+ * @note Consistency with signed SPDU: As noted in 5.1.1,
+ * consistency between the SSP and the signed SPDU is defined by rules
+ * specific to the given PSID and is out of scope for this standard.
+ *
+ * @note Consistency with issuing certificate: If a certificate has an
+ * appPermissions entry A for which the ssp field is omitted, A is consistent
+ * with the issuing certificate if the issuing certificate contains a
+ * PsidSspRange P for which the following holds:
+ * - The psid field in P is equal to the psid field in A and one of the
+ * following is true:
+ * - The sspRange field in P indicates all.
+ * - The sspRange field in P indicates opaque and one of the entries in
+ * opaque is an OCTET STRING of length 0.
+ *
+ * For consistency rules for other forms of the ssp field, see the
+ * following subclauses.
+ */
+PsidSsp ::= SEQUENCE {
+ psid Psid,
+ ssp ServiceSpecificPermissions OPTIONAL
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfPsidSsp ::= SEQUENCE OF PsidSsp
+
+/**
+ * @brief This type represents the PSID defined in IEEE Std 1609.12.
+ */
+Psid ::= INTEGER (0..MAX)
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfPsid ::= SEQUENCE OF Psid
+
+/**
+ * @brief This structure represents the Service Specific Permissions (SSP)
+ * relevant to a given entry in a PsidSsp. The meaning of the SSP is specific
+ * to the associated Psid. SSPs may be PSID-specific octet strings or
+ * bitmap-based. See Annex C for further discussion of how application
+ * specifiers may choose which SSP form to use.
+ *
+ * @note Consistency with issuing certificate: If a certificate has an
+ * appPermissions entry A for which the ssp field is opaque, A is consistent
+ * with the issuing certificate if the issuing certificate contains one of
+ * the following:
+ * - (OPTION 1) A SubjectPermissions field indicating the choice all and
+ * no PsidSspRange field containing the psid field in A;
+ * - (OPTION 2) A PsidSspRange P for which the following holds:
+ * - The psid field in P is equal to the psid field in A and one of the
+ * following is true:
+ * - The sspRange field in P indicates all.
+ * - The sspRange field in P indicates opaque and one of the entries in
+ * the opaque field in P is an OCTET STRING identical to the opaque field in
+ * A.
+ *
+ * For consistency rules for other types of ServiceSpecificPermissions,
+ * see the following subclauses.
+ */
+ServiceSpecificPermissions ::= CHOICE {
+ opaque OCTET STRING (SIZE(0..MAX)),
+ ...,
+ bitmapSsp BitmapSsp
+}
+
+/**
+ * @brief This structure represents a bitmap representation of a SSP. The
+ * mapping of the bits of the bitmap to constraints on the signed SPDU is
+ * PSID-specific.
+ *
+ * @note Consistency with issuing certificate: If a certificate has an
+ * appPermissions entry A for which the ssp field is bitmapSsp, A is
+ * consistent with the issuing certificate if the certificate contains one
+ * of the following:
+ * - (OPTION 1) A SubjectPermissions field indicating the choice all and
+ * no PsidSspRange field containing the psid field in A;
+ * - (OPTION 2) A PsidSspRange P for which the following holds:
+ * - The psid field in P is equal to the psid field in A and one of the
+ * following is true:
+ * - EITHER The sspRange field in P indicates all
+ * - OR The sspRange field in P indicates bitmapSspRange and for every
+ * bit set to 1 in the sspBitmask in P, the bit in the identical position in
+ * the sspValue in A is set equal to the bit in that position in the
+ * sspValue in P.
+ *
+ * @note A BitmapSsp B is consistent with a BitmapSspRange R if for every
+ * bit set to 1 in the sspBitmask in R, the bit in the identical position in
+ * B is set equal to the bit in that position in the sspValue in R. For each
+ * bit set to 0 in the sspBitmask in R, the corresponding bit in the
+ * identical position in B may be freely set to 0 or 1, i.e., if a bit is
+ * set to 0 in the sspBitmask in R, the value of corresponding bit in the
+ * identical position in B has no bearing on whether B and R are consistent.
+ */
+BitmapSsp ::= OCTET STRING (SIZE(0..31))
+
+/**
+ * @brief This structure represents the certificate issuing or requesting
+ * permissions of the certificate holder with respect to one particular set
+ * of application permissions.
+ *
+ * @param psid: identifies the application area.
+ *
+ * @param sspRange: identifies the SSPs associated with that PSID for which
+ * the holder may issue or request certificates. If sspRange is omitted, the
+ * holder may issue or request certificates for any SSP for that PSID.
+ */
+PsidSspRange ::= SEQUENCE {
+ psid Psid,
+ sspRange SspRange OPTIONAL
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfPsidSspRange ::= SEQUENCE OF PsidSspRange
+
+/**
+ * @brief This structure identifies the SSPs associated with a PSID for
+ * which the holder may issue or request certificates.
+ *
+ * @note Consistency with issuing certificate: If a certificate has a
+ * PsidSspRange A for which the ssp field is opaque, A is consistent with
+ * the issuing certificate if the issuing certificate contains one of the
+ * following:
+ * - (OPTION 1) A SubjectPermissions field indicating the choice all and
+ * no PsidSspRange field containing the psid field in A;
+ * - (OPTION 2) A PsidSspRange P for which the following holds:
+ * - The psid field in P is equal to the psid field in A and one of the
+ * following is true:
+ * - The sspRange field in P indicates all.
+ * - The sspRange field in P indicates opaque, and the sspRange field in
+ * A indicates opaque, and every OCTET STRING within the opaque in A is a
+ * duplicate of an OCTET STRING within the opaque in P.
+ *
+ * If a certificate has a PsidSspRange A for which the ssp field is all,
+ * A is consistent with the issuing certificate if the issuing certificate
+ * contains a PsidSspRange P for which the following holds:
+ * - (OPTION 1) A SubjectPermissions field indicating the choice all and
+ * no PsidSspRange field containing the psid field in A;
+ * - (OPTION 2) A PsidSspRange P for which the psid field in P is equal to
+ * the psid field in A and the sspRange field in P indicates all.
+ *
+ * For consistency rules for other types of SspRange, see the following
+ * subclauses.
+ *
+ * @note The choice "all" may also be indicated by omitting the
+ * SspRange in the enclosing PsidSspRange structure. Omitting the SspRange is
+ * preferred to explicitly indicating "all".
+ */
+SspRange ::= CHOICE {
+ opaque SequenceOfOctetString,
+ all NULL,
+ ...,
+ bitmapSspRange BitmapSspRange
+}
+
+/**
+ * @brief This structure represents a bitmap representation of a SSP. The
+ * sspValue indicates permissions. The sspBitmask contains an octet string
+ * used to permit or constrain sspValue fields in issued certificates. The
+ * sspValue and sspBitmask fields shall be of the same length.
+ *
+ * @note Consistency with issuing certificate: If a certificate has an
+ * PsidSspRange value P for which the sspRange field is bitmapSspRange,
+ * P is consistent with the issuing certificate if the issuing certificate
+ * contains one of the following:
+ * - (OPTION 1) A SubjectPermissions field indicating the choice all and
+ * no PsidSspRange field containing the psid field in P;
+ * - (OPTION 2) A PsidSspRange R for which the following holds:
+ * - The psid field in R is equal to the psid field in P and one of the
+ * following is true:
+ * - EITHER The sspRange field in R indicates all
+ * - OR The sspRange field in R indicates bitmapSspRange and for every
+ * bit set to 1 in the sspBitmask in R:
+ * - The bit in the identical position in the sspBitmask in P is set
+ * equal to 1, AND
+ * - The bit in the identical position in the sspValue in P is set equal
+ * to the bit in that position in the sspValue in R.
+ *
+ * Reference ETSI TS 103 097 for more information on bitmask SSPs.
+ */
+BitmapSspRange ::= SEQUENCE {
+ sspValue OCTET STRING (SIZE(1..32)),
+ sspBitmask OCTET STRING (SIZE(1..32))
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfOctetString ::=
+ SEQUENCE (SIZE (0..MAX)) OF OCTET STRING (SIZE(0..MAX))
+
+
+--***************************************************************************--
+-- Certificate Components --
+--***************************************************************************--
+
+/**
+ * @brief This field contains the certificate holder's assurance level, which
+ * indicates the security of both the platform and storage of secret keys as
+ * well as the confidence in this assessment.
+ *
+ * This field is encoded as defined in Table 1, where "A" denotes bit
+ * fields specifying an assurance level, "R" reserved bit fields, and "C" bit
+ * fields specifying the confidence.
+ *
+ * Table 1: Bitwise encoding of subject assurance
+ *
+ * | Bit number | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+ * | -------------- | --- | --- | --- | --- | --- | --- | --- | --- |
+ * | Interpretation | A | A | A | R | R | R | C | C |
+ *
+ * In Table 1, bit number 0 denotes the least significant bit. Bit 7
+ * to bit 5 denote the device's assurance levels, bit 4 to bit 2 are reserved
+ * for future use, and bit 1 and bit 0 denote the confidence.
+ *
+ * The specification of these assurance levels as well as the
+ * encoding of the confidence levels is outside the scope of the present
+ * standard. It can be assumed that a higher assurance value indicates that
+ * the holder is more trusted than the holder of a certificate with lower
+ * assurance value and the same confidence value.
+ *
+ * @note This field was originally specified in ETSI TS 103 097 and
+ * future uses of this field are anticipated to be consistent with future
+ * versions of that standard.
+ */
+SubjectAssurance ::= OCTET STRING (SIZE(1))
+
+/**
+ * @brief This integer identifies a series of CRLs issued under the authority
+ * of a particular CRACA.
+ */
+CrlSeries ::= Uint16
+
+
+--***************************************************************************--
+-- Pseudonym Linkage --
+--***************************************************************************--
+
+/**
+ * @brief This atomic type is used in the definition of other data structures.
+ */
+IValue ::= Uint16
+
+/**
+ * @brief This is a UTF-8 string as defined in IETF RFC 3629. The contents
+ * are determined by policy.
+ */
+Hostname ::= UTF8String (SIZE(0..255))
+
+/**
+ * @brief This is the individual linkage value. See 5.1.3 and 7.3 for details
+ * of use.
+ */
+LinkageValue ::= OCTET STRING (SIZE(9))
+
+/**
+ * @brief This is the group linkage value. See 5.1.3 and 7.3 for details of
+ * use.
+ */
+GroupLinkageValue ::= SEQUENCE {
+ jValue OCTET STRING (SIZE(4)),
+ value OCTET STRING (SIZE(9))
+}
+
+/**
+ * @brief This structure contains a LA Identifier for use in the algorithms
+ * specified in 5.1.3.4.
+ */
+LaId ::= OCTET STRING (SIZE(2))
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfLinkageSeed ::= SEQUENCE OF LinkageSeed
+
+/**
+ * @brief This structure contains a linkage seed value for use in the
+ * algorithms specified in 5.1.3.4.
+ */
+LinkageSeed ::= OCTET STRING (SIZE(16))
+
+--***************************************************************************--
+-- Information Object Classes and Sets --
+--***************************************************************************--
+/**
+ * @brief This class defines objects in a form suitable for import into the
+ * definition of HeaderInfo.
+ */
+EXT-TYPE ::= CLASS {
+ &extId ExtId,
+ &ExtContent
+} WITH SYNTAX {&ExtContent IDENTIFIED BY &extId}
+
+/**
+ * @brief This structure is the Information Object Class used to contain
+ * information about a set of certificate extensions that are associated with
+ * each other: an AppExtension, a CertIssueExtension, and a
+ * CertRequestExtension.
+ */
+CERT-EXT-TYPE ::= CLASS {
+ &id ExtId,
+ &App,
+ &Issue,
+ &Req
+} WITH SYNTAX {ID &id APP &App ISSUE &Issue REQUEST &Req}
+
+/**
+ * @brief This parameterized type represents a (id, content) pair drawn from
+ * the set ExtensionTypes, which is constrained to contain objects defined by
+ * the class EXT-TYPE.
+ */
+Extension {EXT-TYPE : ExtensionTypes} ::= SEQUENCE {
+ id EXT-TYPE.&extId({ExtensionTypes}),
+ content EXT-TYPE.&ExtContent({ExtensionTypes}{@.id})
+}
+
+/**
+ * @brief This type is used as an identifier for instances of ExtContent
+ * within an EXT-TYPE.
+ */
+ExtId ::= INTEGER(0..255)
+
+
+END
diff --git a/epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2.asn b/epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2.asn
new file mode 100644
index 00000000..e9c557cd
--- /dev/null
+++ b/epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2.asn
@@ -0,0 +1,1470 @@
+-- https://forge.etsi.org/rep/ITS/asn1/ieee1609.2/-/blob/ieee/Ieee1609Dot2.asn
+--***************************************************************************--
+-- IEEE Std 1609.2 --
+--***************************************************************************--
+
+/**
+ * @note Section references in this file are to clauses in IEEE Std
+ * 1609.2 unless indicated otherwise. Full forms of acronyms and
+ * abbreviations used in this file are specified in 3.2.
+ */
+
+Ieee1609Dot2 {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609)
+ dot2(2) base(1) schema(1) major-version-2(2) minor-version-6(6)}
+
+DEFINITIONS AUTOMATIC TAGS ::= BEGIN
+
+IMPORTS
+ CERT-EXT-TYPE,
+ CrlSeries,
+ EccP256CurvePoint,
+ EcencP256EncryptedKey,
+ EciesP256EncryptedKey,
+ EncryptionKey,
+ EXT-TYPE,
+ Extension,
+ ExtId,
+ GeographicRegion,
+ GroupLinkageValue,
+ HashAlgorithm,
+ HashedId3,
+ HashedId8,
+ HashedId32,
+ HashedId48,
+ Hostname,
+ IValue,
+ LinkageValue,
+ Opaque,
+ Psid,
+ PsidSsp,
+ PsidSspRange,
+ PublicEncryptionKey,
+ PublicVerificationKey,
+ SequenceOfHashedId3,
+ SequenceOfPsidSsp,
+ SequenceOfPsidSspRange,
+ ServiceSpecificPermissions,
+ Signature,
+ SubjectAssurance,
+ SymmetricEncryptionKey,
+ ThreeDLocation,
+ Time64,
+ Uint3,
+ Uint8,
+ Uint16,
+ Uint32,
+ ValidityPeriod
+FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2)
+ base(1) base-types(2) major-version-2(2) minor-version-4(4)}
+WITH SUCCESSORS
+
+ EtsiOriginatingHeaderInfoExtension
+FROM EtsiTs103097ExtensionModule {itu-t(0) identified-organization(4) etsi(0)
+ itsDomain(5) wg5(5) secHeaders(103097) extension(2) major-version-1(1)
+ minor-version-0(0)}
+WITH SUCCESSORS
+;
+
+--***************************************************************************--
+-- Secured Data --
+--***************************************************************************--
+
+/**
+ * @brief This data type is used to contain the other data types in this
+ * clause. The fields in the Ieee1609Dot2Data have the following meanings:
+ *
+ * @param protocolVersion: contains the current version of the protocol. The
+ * version specified in this standard is version 3, represented by the
+ * integer 3. There are no major or minor version numbers.
+ *
+ * @param content: contains the content in the form of an Ieee1609Dot2Content.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the Ieee1609Dot2Content.
+ */
+Ieee1609Dot2Data ::= SEQUENCE {
+ protocolVersion Uint8(3),
+ content Ieee1609Dot2Content
+}
+
+/**
+ * @brief In this structure:
+ *
+ * @param unsecuredData: indicates that the content is an OCTET STRING to be
+ * consumed outside the SDS.
+ *
+ * @param signedData: indicates that the content has been signed according to
+ * this standard.
+ *
+ * @param encryptedData: indicates that the content has been encrypted
+ * according to this standard.
+ *
+ * @param signedCertificateRequest: indicates that the content is a
+ * certificate request signed by an IEEE 1609.2 certificate or self-signed.
+ *
+ * @param signedX509CertificateRequest: indicates that the content is a
+ * certificate request signed by an ITU-T X.509 certificate.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2 if it is of type signedData.
+ * The canonicalization applies to the SignedData.
+ */
+Ieee1609Dot2Content ::= CHOICE {
+ unsecuredData Opaque,
+ signedData SignedData,
+ encryptedData EncryptedData,
+ signedCertificateRequest Opaque,
+ ...,
+ signedX509CertificateRequest Opaque
+}
+
+/**
+ * @brief In this structure:
+ *
+ * @param hashId: indicates the hash algorithm to be used to generate the hash
+ * of the message for signing and verification.
+ *
+ * @param tbsData: contains the data that is hashed as input to the signature.
+ *
+ * @param signer: determines the keying material and hash algorithm used to
+ * sign the data.
+ *
+ * @param signature: contains the digital signature itself, calculated as
+ * specified in 5.3.1.
+ * - If signer indicates the choice self, then the signature calculation
+ * is parameterized as follows:
+ * - Data input is equal to the COER encoding of the tbsData field
+ * canonicalized according to the encoding considerations given in 6.3.6.
+ * - Verification type is equal to self.
+ * - Signer identifier input is equal to the empty string.
+ * - If signer indicates certificate or digest, then the signature
+ * calculation is parameterized as follows:
+ * - Data input is equal to the COER encoding of the tbsData field
+ * canonicalized according to the encoding considerations given in 6.3.6.
+ * - Verification type is equal to certificate.
+ * - Signer identifier input equal to the COER-encoding of the
+ * Certificate that is to be used to verify the SPDU, canonicalized according
+ * to the encoding considerations given in 6.4.3.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the ToBeSignedData and the Signature.
+ */
+SignedData ::= SEQUENCE {
+ hashId HashAlgorithm,
+ tbsData ToBeSignedData,
+ signer SignerIdentifier,
+ signature Signature
+}
+
+/**
+ * @brief This structure contains the data to be hashed when generating or
+ * verifying a signature. See 6.3.4 for the specification of the input to the
+ * hash.
+ *
+ * @param payload: contains data that is provided by the entity that invokes
+ * the SDS.
+ *
+ * @param headerInfo: contains additional data that is inserted by the SDS.
+ * This structure is used as follows to determine the "data input" to the
+ * hash operation for signing or verification as specified in 5.3.1.2.2 or
+ * 5.3.1.3.
+ * - If payload does not contain the field omitted, the data input to the
+ * hash operation is the COER encoding of the ToBeSignedData.
+ * - If payload field in this ToBeSignedData instance contains the field
+ * omitted, the data input to the hash operation is the COER encoding of the
+ * ToBeSignedData, concatenated with the hash of the omitted payload. The hash
+ * of the omitted payload is calculated with the same hash algorithm that is
+ * used to calculate the hash of the data input for signing or verification.
+ * The data input to the hash operation is simply the COER enocding of the
+ * ToBeSignedData, concatenated with the hash of the omitted payload: there is
+ * no additional wrapping or length indication. As noted in 5.2.4.3.4, the
+ * means by which the signer and verifier establish the contents of the
+ * omitted payload are out of scope for this standard.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the SignedDataPayload if it is of type data, and to the
+ * HeaderInfo.
+ */
+ToBeSignedData ::= SEQUENCE {
+ payload SignedDataPayload,
+ headerInfo HeaderInfo
+}
+
+/**
+ * @brief This structure contains the data payload of a ToBeSignedData. This
+ * structure contains at least one of the optional elements, and may contain
+ * more than one. See 5.2.4.3.4 for more details.
+ * The security profile in Annex C allows an implementation of this standard
+ * to state which forms of Signed�Data�Payload are supported by that
+ * implementation, and also how the signer and verifier are intended to obtain
+ * the external data for hashing. The specification of an SDEE that uses
+ * external data is expected to be explicit and unambiguous about how this
+ * data is obtained and how it is formatted prior to processing by the hash
+ * function.
+ *
+ * @param data: contains data that is explicitly transported within the
+ * structure.
+ *
+ * @param extDataHash: contains the hash of data that is not explicitly
+ * transported within the structure, and which the creator of the structure
+ * wishes to cryptographically bind to the signature.
+ *
+ * @param omitted: indicates that there is external data to be included in the
+ * hash calculation for the signature.The mechanism for including the external
+ * data in the hash calculation is specified in 6.3.6.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the Ieee1609Dot2Data.
+ */
+SignedDataPayload ::= SEQUENCE {
+ data Ieee1609Dot2Data OPTIONAL,
+ extDataHash HashedData OPTIONAL,
+ ...,
+ omitted NULL OPTIONAL
+} (WITH COMPONENTS {..., data PRESENT} |
+ WITH COMPONENTS {..., extDataHash PRESENT} |
+ WITH COMPONENTS {..., omitted PRESENT})
+
+
+/**
+ * @brief This structure contains the hash of some data with a specified hash
+ * algorithm. See 5.3.3 for specification of the permitted hash algorithms.
+ *
+ * @param sha256HashedData: indicates data hashed with SHA-256.
+ *
+ * @param sha384HashedData: indicates data hashed with SHA-384.
+ *
+ * @param sm3HashedData: indicates data hashed with SM3.
+ *
+ * @note Critical information fields: If present, this is a critical
+ * information field as defined in 5.2.6. An implementation that does not
+ * recognize the indicated CHOICE for this type when verifying a signed SPDU
+ * shall indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2,
+ * that is, it is invalid in the sense that its validity cannot be established.
+ */
+HashedData::= CHOICE {
+ sha256HashedData HashedId32,
+ ...,
+ sha384HashedData HashedId48,
+ sm3HashedData HashedId32
+}
+
+/**
+ * @brief This structure contains information that is used to establish
+ * validity by the criteria of 5.2.
+ *
+ * @param psid: indicates the application area with which the sender is
+ * claiming the payload is to be associated.
+ *
+ * @param generationTime: indicates the time at which the structure was
+ * generated. See 5.2.5.2.2 and 5.2.5.2.3 for discussion of the use of this
+ * field.
+ *
+ * @param expiryTime: if present, contains the time after which the data
+ * is no longer considered relevant. If both generationTime and
+ * expiryTime are present, the signed SPDU is invalid if generationTime is
+ * not strictly earlier than expiryTime.
+ *
+ * @param generationLocation: if present, contains the location at which the
+ * signature was generated.
+ *
+ * @param p2pcdLearningRequest: if present, is used by the SDS to request
+ * certificates for which it has seen identifiers and does not know the
+ * entire certificate. A specification of this peer-to-peer certificate
+ * distribution (P2PCD) mechanism is given in Clause 8. This field is used
+ * for the separate-certificate-pdu flavor of P2PCD and shall only be present
+ * if inlineP2pcdRequest is not present. The HashedId3 is calculated with the
+ * whole-certificate hash algorithm, determined as described in 6.4.3,
+ * applied to the COER-encoded certificate, canonicalized as defined in the
+ * definition of Certificate.
+ *
+ * @param missingCrlIdentifier: if present, is used by the SDS to request
+ * CRLs which it knows to have been issued and have not received. This is
+ * provided for future use and the associated mechanism is not defined in
+ * this version of this standard.
+ *
+ * @param encryptionKey: if present, is used to provide a key that is to
+ * be used to encrypt at least one response to this SPDU. The SDEE
+ * specification is expected to specify which response SPDUs are to be
+ * encrypted with this key. One possible use of this key to encrypt a
+ * response is specified in 6.3.35, 6.3.37, and 6.3.34. An encryptionKey
+ * field of type symmetric should only be used if the SignedData containing
+ * this field is securely encrypted by some means.
+ *
+ * @param inlineP2pcdRequest: if present, is used by the SDS to request
+ * unknown certificates per the inline peer-to-peer certificate distribution
+ * mechanism is given in Clause 8. This field shall only be present if
+ * p2pcdLearningRequest is not present. The HashedId3 is calculated with the
+ * whole-certificate hash algorithm, determined as described in 6.4.3, applied
+ * to the COER-encoded certificate, canonicalized as defined in the definition
+ * of Certificate.
+ *
+ * @param requestedCertificate: if present, is used by the SDS to provide
+ * certificates per the "inline" version of the peer-to-peer certificate
+ * distribution mechanism given in Clause 8.
+ *
+ * @param pduFunctionalType: if present, is used to indicate that the SPDU is
+ * to be consumed by a process other than an application process as defined
+ * in ISO 21177 [B14a]. See 6.3.23b for more details.
+ *
+ * @param contributedExtensions: if present, is used to contain additional
+ * extensions defined using the ContributedExtensionBlocks structure.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the EncryptionKey. If encryptionKey is present, and indicates
+ * the choice public, and contains a BasePublicEncryptionKey that is an
+ * elliptic curve point (i.e., of type EccP256CurvePoint or
+ * EccP384CurvePoint), then the elliptic curve point is encoded in compressed
+ * form, i.e., such that the choice indicated within the Ecc*CurvePoint is
+ * compressed-y-0 or compressed-y-1.
+ * The canonicalization does not apply to any fields after the extension
+ * marker, including any fields in contributedExtensions.
+ */
+HeaderInfo ::= SEQUENCE {
+ psid Psid,
+ generationTime Time64 OPTIONAL,
+ expiryTime Time64 OPTIONAL,
+ generationLocation ThreeDLocation OPTIONAL,
+ p2pcdLearningRequest HashedId3 OPTIONAL,
+ missingCrlIdentifier MissingCrlIdentifier OPTIONAL,
+ encryptionKey EncryptionKey OPTIONAL,
+ ...,
+ inlineP2pcdRequest SequenceOfHashedId3 OPTIONAL,
+ requestedCertificate Certificate OPTIONAL,
+ pduFunctionalType PduFunctionalType OPTIONAL,
+ contributedExtensions ContributedExtensionBlocks OPTIONAL
+}
+
+/**
+ * @brief This structure may be used to request a CRL that the SSME knows to
+ * have been issued and has not yet received. It is provided for future use
+ * and its use is not defined in this version of this standard.
+ *
+ * @param cracaId: is the HashedId3 of the CRACA, as defined in 5.1.3. The
+ * HashedId3 is calculated with the whole-certificate hash algorithm,
+ * determined as described in 6.4.3, applied to the COER-encoded certificate,
+ * canonicalized as defined in the definition of Certificate.
+ *
+ * @param crlSeries: is the requested CRL Series value. See 5.1.3 for more
+ * information.
+ */
+MissingCrlIdentifier ::= SEQUENCE {
+ cracaId HashedId3,
+ crlSeries CrlSeries,
+ ...
+}
+
+/**
+ * @brief This data structure identifies the functional entity that is
+ * intended to consume an SPDU, for the case where that functional entity is
+ * not an application process, and are instead security support services for an
+ * application process. Further details and the intended use of this field are
+ * defined in ISO 21177 [B20].
+ *
+ * @param tlsHandshake: indicates that the Signed SPDU is not to be directly
+ * consumed as an application PDU and is to be used to provide information
+ * about the holder�s permissions to a Transport Layer Security (TLS)
+ * (IETF 5246 [B15], IETF 8446 [B16]) handshake process operating to secure
+ * communications to an application process. See IETF [B15] and ISO 21177
+ * [B20] for further information.
+ *
+ * @param iso21177ExtendedAuth: indicates that the Signed SPDU is not to be
+ * directly consumed as an application PDU and is to be used to provide
+ * additional information about the holder�s permissions to the ISO 21177
+ * Security Subsystem for an application process. See ISO 21177 [B20] for
+ * further information.
+ *
+ * @param iso21177SessionExtension: indicates that the Signed SPDU is not to
+ * be directly consumed as an application PDU and is to be used to extend an
+ * existing ISO 21177 secure session. This enables a secure session to
+ * persist beyond the lifetime of the certificates used to establish that
+ * session.
+ */
+PduFunctionalType ::= INTEGER (0..255)
+
+tlsHandshake PduFunctionalType ::= 1
+iso21177ExtendedAuth PduFunctionalType ::= 2
+iso21177SessionExtension PduFunctionalType ::= 3
+
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+ContributedExtensionBlocks ::= SEQUENCE (SIZE(1..MAX)) OF
+ ContributedExtensionBlock
+
+/**
+ * @brief This Information Object Class defines the class that provides a
+ * template for defining extension blocks.
+ */
+IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION ::= CLASS {
+ &id HeaderInfoContributorId UNIQUE,
+ &Extn
+} WITH SYNTAX {&Extn IDENTIFIED BY &id}
+
+/**
+ * @brief This data structure defines the format of an extension block
+ * provided by an identified contributor by using the temnplate provided
+ * in the class IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION constraint
+ * to the objects in the set Ieee1609Dot2HeaderInfoContributedExtensions.
+ *
+ * @param contributorId: uniquely identifies the contributor.
+ *
+ * @param extns: contains a list of extensions from that contributor.
+ * Extensions are expected and not required to follow the format specified
+ * in 6.5.
+ */
+ContributedExtensionBlock ::= SEQUENCE {
+ contributorId IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION.&id({
+ Ieee1609Dot2HeaderInfoContributedExtensions
+ }),
+ extns SEQUENCE (SIZE(1..MAX)) OF
+ IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION.&Extn({
+ Ieee1609Dot2HeaderInfoContributedExtensions
+ }{@.contributorId})
+}
+
+/**
+ * @brief This structure is an ASN.1 Information Object Set listing the
+ * defined contributed extension types and the associated
+ * HeaderInfoContributorId values. In this version of this standard two
+ * extension types are defined: Ieee1609ContributedHeaderInfoExtension and
+ * EtsiOriginatingHeaderInfoExtension.
+ */
+Ieee1609Dot2HeaderInfoContributedExtensions
+ IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION ::= {
+ {Ieee1609ContributedHeaderInfoExtension IDENTIFIED BY
+ ieee1609HeaderInfoContributorId} |
+ {EtsiOriginatingHeaderInfoExtension IDENTIFIED BY
+ etsiHeaderInfoContributorId},
+ ...
+}
+
+/**
+ * @brief This is an integer used to identify a HeaderInfo extension
+ * contributing organization. In this version of this standard two values are
+ * defined:
+ * - ieee1609OriginatingExtensionId indicating extensions originating with
+ * IEEE 1609.
+ * - etsiOriginatingExtensionId indicating extensions originating with
+ * ETSI TC ITS.
+ */
+HeaderInfoContributorId ::= INTEGER (0..255)
+
+ieee1609HeaderInfoContributorId HeaderInfoContributorId ::= 1
+etsiHeaderInfoContributorId HeaderInfoContributorId ::= 2
+
+
+/**
+ * @brief This structure allows the recipient of data to determine which
+ * keying material to use to authenticate the data. It also indicates the
+ * verification type to be used to generate the hash for verification, as
+ * specified in 5.3.1.
+ *
+ * @param digest: If the choice indicated is digest:
+ * - The structure contains the HashedId8 of the relevant certificate. The
+ * HashedId8 is calculated with the whole-certificate hash algorithm,
+ * determined as described in 6.4.3.
+ * - The verification type is certificate and the certificate data
+ * passed to the hash function as specified in 5.3.1 is the authorization
+ * certificate.
+ *
+ * @param certificate: If the choice indicated is certificate:
+ * - The structure contains one or more Certificate structures, in order
+ * such that the first certificate is the authorization certificate and each
+ * subsequent certificate is the issuer of the one before it.
+ * - The verification type is certificate and the certificate data
+ * passed to the hash function as specified in 5.3.1 is the authorization
+ * certificate.
+ *
+ * @param self: If the choice indicated is self:
+ * - The structure does not contain any data beyond the indication that
+ * the choice value is self.
+ * - The verification type is self-signed.
+ *
+ * @note Critical information fields:
+ * - If present, this is a critical information field as defined in 5.2.6.
+ * An implementation that does not recognize the CHOICE value for this type
+ * when verifying a signed SPDU shall indicate that the signed SPDU is invalid.
+ * - If present, certificate is a critical information field as defined in
+ * 5.2.6. An implementation that does not support the number of certificates
+ * in certificate when verifying a signed SPDU shall indicate that the signed
+ * SPDU is invalid. A compliant implementation shall support certificate
+ * fields containing at least one certificate.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to every Certificate in the certificate field.
+ */
+SignerIdentifier ::= CHOICE {
+ digest HashedId8,
+ certificate SequenceOfCertificate,
+ self NULL,
+ ...
+}
+
+/**
+ * @brief This data structure is used to perform a countersignature over an
+ * already-signed SPDU. This is the profile of an Ieee1609Dot2Data containing
+ * a signedData. The tbsData within content is composed of a payload
+ * containing the hash (extDataHash) of the externally generated, pre-signed
+ * SPDU over which the countersignature is performed.
+ */
+Countersignature ::= Ieee1609Dot2Data (WITH COMPONENTS {...,
+ content (WITH COMPONENTS {...,
+ signedData (WITH COMPONENTS {...,
+ tbsData (WITH COMPONENTS {...,
+ payload (WITH COMPONENTS {...,
+ data ABSENT,
+ extDataHash PRESENT
+ }),
+ headerInfo(WITH COMPONENTS {...,
+ generationTime PRESENT,
+ expiryTime ABSENT,
+ generationLocation ABSENT,
+ p2pcdLearningRequest ABSENT,
+ missingCrlIdentifier ABSENT,
+ encryptionKey ABSENT
+ })
+ })
+ })
+ })
+})
+
+
+--***************************************************************************--
+-- Encrypted Data --
+--***************************************************************************--
+
+/**
+ * @brief This data structure encodes data that has been encrypted to one or
+ * more recipients using the recipients� public or symmetric keys as
+ * specified in 5.3.4.
+ *
+ * @param recipients: contains one or more RecipientInfos. These entries may
+ * be more than one RecipientInfo, and more than one type of RecipientInfo,
+ * as long as all entries are indicating or containing the same data encryption
+ * key.
+ *
+ * @param ciphertext: contains the encrypted data. This is the encryption of
+ * an encoded Ieee1609Dot2Data structure as specified in 5.3.4.2.
+ *
+ * @note Critical information fields:
+ * - If present, recipients is a critical information field as defined in
+ * 5.2.6. An implementation that does not support the number of RecipientInfo
+ * in recipients when decrypted shall indicate that the encrypted SPDU could
+ * not be decrypted due to unsupported critical information fields. A
+ * compliant implementation shall support recipients fields containing at
+ * least eight entries.
+ *
+ * @note If the plaintext is raw data, i.e., it has not been output from a
+ * previous operation of the SDS, then it is trivial to encapsulate it in an
+ * Ieee1609Dot2Data of type unsecuredData as noted in 4.2.2.2.2. For example,
+ * '03 80 08 01 23 45 67 89 AB CD EF' is the C-OER encoding of '01 23 45 67
+ * 89 AB CD EF' encapsulated in an Ieee1609Dot2Data of type unsecuredData.
+ * The first byte of the encoding 03 is the protocolVersion, the second byte
+ * 80 indicates the choice unsecuredData, and the third byte 08 is the length
+ * of the raw data '01 23 45 67 89 AB CD EF'.
+ */
+EncryptedData ::= SEQUENCE {
+ recipients SequenceOfRecipientInfo,
+ ciphertext SymmetricCiphertext
+}
+
+/**
+ * @brief This data structure is used to transfer the data encryption key to
+ * an individual recipient of an EncryptedData. The option pskRecipInfo is
+ * selected if the EncryptedData was encrypted using the static encryption
+ * key approach specified in 5.3.4. The other options are selected if the
+ * EncryptedData was encrypted using the ephemeral encryption key approach
+ * specified in 5.3.4. The meanings of the choices are:
+ *
+ * See Annex C.7 for guidance on when it may be appropriate to use
+ * each of these approaches.
+ *
+ * @param pskRecipInfo: The data was encrypted directly using a pre-shared
+ * symmetric key.
+ *
+ * @param symmRecipInfo: The data was encrypted with a data encryption key,
+ * and the data encryption key was encrypted using a symmetric key.
+ *
+ * @param certRecipInfo: The data was encrypted with a data encryption key,
+ * the data encryption key was encrypted using a public key encryption scheme,
+ * where the public encryption key was obtained from a certificate. In this
+ * case, the parameter P1 to ECIES as defined in 5.3.5 is the hash of the
+ * certificate, calculated with the whole-certificate hash algorithm,
+ * determined as described in 6.4.3, applied to the COER-encoded certificate,
+ * canonicalized as defined in the definition of Certificate.
+ *
+ * @note If the encryption algorithm is SM2, there is no equivalent of the
+ * parameter P1 and so no input to the encryption process that uses the hash
+ * of the certificate.
+ *
+ * @param signedDataRecipInfo: The data was encrypted with a data encryption
+ * key, the data encryption key was encrypted using a public key encryption
+ * scheme, where the public encryption key was obtained as the public response
+ * encryption key from a SignedData. In this case, if ECIES is the encryption
+ * algorithm, then the parameter P1 to ECIES as defined in 5.3.5 is the
+ * SHA-256 hash of the Ieee1609Dot2Data of type signedData containing the
+ * response encryption key, canonicalized as defined in the definition of
+ * Ieee1609Dot2Data.
+ *
+ * @note If the encryption algorithm is SM2, there is no equivalent of the
+ * parameter P1 and so no input to the encryption process that uses the hash
+ * of the Ieee1609Dot2Data.
+ *
+ * @param rekRecipInfo: The data was encrypted with a data encryption key,
+ * the data encryption key was encrypted using a public key encryption scheme,
+ * where the public encryption key was not obtained from a Signed-Data or a
+ * certificate. In this case, the SDEE specification is expected to specify
+ * how the public key is obtained, and if ECIES is the encryption algorithm,
+ * then the parameter P1 to ECIES as defined in 5.3.5 is the hash of the
+ * empty string.
+ *
+ * @note If the encryption algorithm is SM2, there is no equivalent of the
+ * parameter P1 and so no input to the encryption process that uses the hash
+ * of the empty string.
+ *
+ * @note The material input to encryption is the bytes of the encryption key
+ * with no headers, encapsulation, or length indication. Contrast this to
+ * encryption of data, where the data is encapsulated in an Ieee1609Dot2Data.
+ */
+RecipientInfo ::= CHOICE {
+ pskRecipInfo PreSharedKeyRecipientInfo,
+ symmRecipInfo SymmRecipientInfo,
+ certRecipInfo PKRecipientInfo,
+ signedDataRecipInfo PKRecipientInfo,
+ rekRecipInfo PKRecipientInfo
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfRecipientInfo ::= SEQUENCE OF RecipientInfo
+
+/**
+ * @brief This data structure is used to indicate a symmetric key that may
+ * be used directly to decrypt a SymmetricCiphertext. It consists of the
+ * low-order 8 bytes of the hash of the COER encoding of a
+ * SymmetricEncryptionKey structure containing the symmetric key in question.
+ * The HashedId8 is calculated with the hash algorithm determined as
+ * specified in 5.3.9.3. The symmetric key may be established by any
+ * appropriate means agreed by the two parties to the exchange.
+ */
+PreSharedKeyRecipientInfo ::= HashedId8
+
+/**
+ * @brief This data structure contains the following fields:
+ *
+ * @param recipientId: contains the hash of the symmetric key encryption key
+ * that may be used to decrypt the data encryption key. It consists of the
+ * low-order 8 bytes of the hash of the COER encoding of a
+ * SymmetricEncryptionKey structure containing the symmetric key in question.
+ * The HashedId8 is calculated with the hash algorithm determined as
+ * specified in 5.3.9.4. The symmetric key may be established by any
+ * appropriate means agreed by the two parties to the exchange.
+ *
+ * @param encKey: contains the encrypted data encryption key within a
+ * SymmetricCiphertext, where the data encryption key is input to the data
+ * encryption key encryption process with no headers, encapsulation, or
+ * length indication.
+ */
+SymmRecipientInfo ::= SEQUENCE {
+ recipientId HashedId8,
+ encKey SymmetricCiphertext
+}
+
+/**
+ * @brief This data structure contains the following fields:
+ *
+ * @param recipientId: contains the hash of the container for the encryption
+ * public key as specified in the definition of RecipientInfo. Specifically,
+ * depending on the choice indicated by the containing RecipientInfo structure:
+ * - If the containing RecipientInfo structure indicates certRecipInfo,
+ * this field contains the HashedId8 of the certificate. The HashedId8 is
+ * calculated with the whole-certificate hash algorithm, determined as
+ * described in 6.4.3, applied to the COER-encoded certificate, canonicalized
+ * as defined in the definition of Certificate.
+ * - If the containing RecipientInfo structure indicates
+ * signedDataRecipInfo, this field contains the HashedId8 of the
+ * Ieee1609Dot2Data of type signedData that contained the encryption key,
+ * with that Ieee��1609�Dot2��Data canonicalized per 6.3.4. The HashedId8 is
+ * calculated with the hash algorithm determined as specified in 5.3.9.5.
+ * - If the containing RecipientInfo structure indicates rekRecipInfo, this
+ * field contains the HashedId8 of the COER encoding of a PublicEncryptionKey
+ * structure containing the response encryption key. The HashedId8 is
+ * calculated with the hash algorithm determined as specified in 5.3.9.5.
+ *
+ * @param encKey: contains the encrypted data encryption key, where the data
+ * encryption key is input to the data encryption key encryption process with
+ * no headers, encapsulation, or length indication.
+ */
+PKRecipientInfo ::= SEQUENCE {
+ recipientId HashedId8,
+ encKey EncryptedDataEncryptionKey
+}
+
+/**
+ * @brief This data structure contains an encrypted data encryption key,
+ * where the data encryption key is input to the data encryption key
+ * encryption process with no headers, encapsulation, or length indication.
+ *
+ * Critical information fields: If present and applicable to
+ * the receiving SDEE, this is a critical information field as defined in
+ * 5.2.6. If an implementation receives an encrypted SPDU and determines that
+ * one or more RecipientInfo fields are relevant to it, and if all of those
+ * RecipientInfos contain an EncryptedDataEncryptionKey such that the
+ * implementation does not recognize the indicated CHOICE, the implementation
+ * shall indicate that the encrypted SPDU is not decryptable.
+ */
+EncryptedDataEncryptionKey ::= CHOICE {
+ eciesNistP256 EciesP256EncryptedKey,
+ eciesBrainpoolP256r1 EciesP256EncryptedKey,
+ ...,
+ ecencSm2256 EcencP256EncryptedKey
+}
+
+/**
+ * @brief This data structure encapsulates a ciphertext generated with an
+ * approved symmetric algorithm.
+ *
+ * @note Critical information fields: If present, this is a critical
+ * information field as defined in 5.2.6. An implementation that does not
+ * recognize the indicated CHOICE value for this type in an encrypted SPDU
+ * shall indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2,
+ * that is, it is invalid in the sense that its validity cannot be established.
+ */
+SymmetricCiphertext ::= CHOICE {
+ aes128ccm One28BitCcmCiphertext,
+ ...,
+ sm4Ccm One28BitCcmCiphertext
+}
+
+/**
+ * @brief This data structure encapsulates an encrypted ciphertext for any
+ * symmetric algorithm with 128-bit blocks in CCM mode. The ciphertext is
+ * 16 bytes longer than the corresponding plaintext due to the inclusion of
+ * the message authentication code (MAC). The plaintext resulting from a
+ * correct decryption of the ciphertext is either a COER-encoded
+ * Ieee1609Dot2Data structure (see 6.3.41), or a 16-byte symmetric key
+ * (see 6.3.44).
+ *
+ * The ciphertext is 16 bytes longer than the corresponding plaintext.
+ *
+ * The plaintext resulting from a correct decryption of the
+ * ciphertext is a COER-encoded Ieee1609Dot2Data structure.
+ *
+ * @param nonce: contains the nonce N as specified in 5.3.8.
+ *
+ * @param ccmCiphertext: contains the ciphertext C as specified in 5.3.8.
+ *
+ * @note In the name of this structure, "One28" indicates that the
+ * symmetric cipher block size is 128 bits. It happens to also be the case
+ * that the keys used for both AES-128-CCM and SM4-CCM are also 128 bits long.
+ * This is, however, not what �One28� refers to. Since the cipher is used in
+ * counter mode, i.e., as a stream cipher, the fact that that block size is 128
+ * bits affects only the size of the MAC and does not affect the size of the
+ * raw ciphertext.
+ */
+One28BitCcmCiphertext ::= SEQUENCE {
+ nonce OCTET STRING (SIZE (12)),
+ ccmCiphertext Opaque
+}
+
+/**
+ * @brief This type is defined only for backwards compatibility.
+ */
+Aes128CcmCiphertext ::= One28BitCcmCiphertext
+
+--***************************************************************************--
+-- Certificates and other Security Management --
+--***************************************************************************--
+
+/**
+ * @brief This structure is a profile of the structure CertificateBase which
+ * specifies the valid combinations of fields to transmit implicit and
+ * explicit certificates.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the CertificateBase.
+ */
+Certificate ::=
+ CertificateBase (ImplicitCertificate | ExplicitCertificate)
+
+TestCertificate ::= Certificate
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfCertificate ::= SEQUENCE OF Certificate
+
+/**
+ * @brief The fields in this structure have the following meaning:
+ *
+ * @param version: contains the version of the certificate format. In this
+ * version of the data structures, this field is set to 3.
+ *
+ * @param type: states whether the certificate is implicit or explicit. This
+ * field is set to explicit for explicit certificates and to implicit for
+ * implicit certificates. See ExplicitCertificate and ImplicitCertificate for
+ * more details.
+ *
+ * @param issuer: identifies the issuer of the certificate.
+ *
+ * @param toBeSigned: is the certificate contents. This field is an input to
+ * the hash when generating or verifying signatures for an explicit
+ * certificate, or generating or verifying the public key from the
+ * reconstruction value for an implicit certificate. The details of how this
+ * field are encoded are given in the description of the
+ * ToBeSignedCertificate type.
+ *
+ * @param signature: is included in an ExplicitCertificate. It is the
+ * signature, calculated by the signer identified in the issuer field, over
+ * the hash of toBeSigned. The hash is calculated as specified in 5.3.1, where:
+ * - Data input is the encoding of toBeSigned following the COER.
+ * - Signer identifier input depends on the verification type, which in
+ * turn depends on the choice indicated by issuer. If the choice indicated by
+ * issuer is self, the verification type is self-signed and the signer
+ * identifier input is the empty string. If the choice indicated by issuer is
+ * not self, the verification type is certificate and the signer identifier
+ * input is the canonicalized COER encoding of the certificate indicated by
+ * issuer. The canonicalization is carried out as specified in the
+ * Canonicalization section of this subclause.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the ToBeSignedCertificate and to the Signature.
+ *
+ * @note Whole-certificate hash: If the entirety of a certificate is hashed
+ * to calculate a HashedId3, HashedId8, or HashedId10, the algorithm used for
+ * this purpose is known as the whole-certificate hash. The method used to
+ * determine the whole-certificate hash algorithm is specified in 5.3.9.2.
+ */
+CertificateBase ::= SEQUENCE {
+ version Uint8(3),
+ type CertificateType,
+ issuer IssuerIdentifier,
+ toBeSigned ToBeSignedCertificate,
+ signature Signature OPTIONAL
+}
+
+/**
+ * @brief This enumerated type indicates whether a certificate is explicit or
+ * implicit.
+ *
+ * @note Critical information fields: If present, this is a critical
+ * information field as defined in 5.2.5. An implementation that does not
+ * recognize the indicated CHOICE for this type when verifying a signed SPDU
+ * shall indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2,
+ * that is, it is invalid in the sense that its validity cannot be
+ * established.
+ */
+CertificateType ::= ENUMERATED {
+ explicit,
+ implicit,
+ ...
+}
+
+/**
+ * @brief This is a profile of the CertificateBase structure providing all
+ * the fields necessary for an implicit certificate, and no others.
+ */
+ImplicitCertificate ::= CertificateBase (WITH COMPONENTS {...,
+ type(implicit),
+ toBeSigned(WITH COMPONENTS {...,
+ verifyKeyIndicator(WITH COMPONENTS {reconstructionValue})
+ }),
+ signature ABSENT
+})
+
+/**
+ * @brief This is a profile of the CertificateBase structure providing all
+ * the fields necessary for an explicit certificate, and no others.
+ */
+ExplicitCertificate ::= CertificateBase (WITH COMPONENTS {...,
+ type(explicit),
+ toBeSigned (WITH COMPONENTS {...,
+ verifyKeyIndicator(WITH COMPONENTS {verificationKey})
+ }),
+ signature PRESENT
+})
+
+/**
+ * @brief This structure allows the recipient of a certificate to determine
+ * which keying material to use to authenticate the certificate.
+ *
+ * If the choice indicated is sha256AndDigest, sha384AndDigest, or
+ * sm3AndDigest:
+ * - The structure contains the HashedId8 of the issuing certificate. The
+ * HashedId8 is calculated with the whole-certificate hash algorithm,
+ * determined as described in 6.4.3, applied to the COER-encoded certificate,
+ * canonicalized as defined in the definition of Certificate.
+ * - The hash algorithm to be used to generate the hash of the certificate
+ * for verification is SHA-256 (in the case of sha256AndDigest), SM3 (in the
+ * case of sm3AndDigest) or SHA-384 (in the case of sha384AndDigest).
+ * - The certificate is to be verified with the public key of the
+ * indicated issuing certificate.
+ *
+ * If the choice indicated is self:
+ * - The structure indicates what hash algorithm is to be used to generate
+ * the hash of the certificate for verification.
+ * - The certificate is to be verified with the public key indicated by
+ * the verifyKeyIndicator field in theToBeSignedCertificate.
+ *
+ * @note Critical information fields: If present, this is a critical
+ * information field as defined in 5.2.5. An implementation that does not
+ * recognize the indicated CHOICE for this type when verifying a signed SPDU
+ * shall indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2,
+ * that is, it is invalid in the sense that its validity cannot be
+ * established.
+ */
+IssuerIdentifier ::= CHOICE {
+ sha256AndDigest HashedId8,
+ self HashAlgorithm,
+ ...,
+ sha384AndDigest HashedId8,
+ sm3AndDigest HashedId8
+}
+
+/**
+ * @brief The fields in the ToBeSignedCertificate structure have the
+ * following meaning:
+ *
+ * For both implicit and explicit certificates, when the certificate
+ * is hashed to create or recover the public key (in the case of an implicit
+ * certificate) or to generate or verify the signature (in the case of an
+ * explicit certificate), the hash is Hash (Data input) || Hash (
+ * Signer identifier input), where:
+ * - Data input is the COER encoding of toBeSigned, canonicalized
+ * as described above.
+ * - Signer identifier input depends on the verification type,
+ * which in turn depends on the choice indicated by issuer. If the choice
+ * indicated by issuer is self, the verification type is self-signed and the
+ * signer identifier input is the empty string. If the choice indicated by
+ * issuer is not self, the verification type is certificate and the signer
+ * identifier input is the COER encoding of the canonicalization per 6.4.3 of
+ * the certificate indicated by issuer.
+ *
+ * In other words, for implicit certificates, the value H (CertU) in SEC 4,
+ * section 3, is for purposes of this standard taken to be H [H
+ * (canonicalized ToBeSignedCertificate from the subordinate certificate) ||
+ * H (entirety of issuer Certificate)]. See 5.3.2 for further discussion,
+ * including material differences between this standard and SEC 4 regarding
+ * how the hash function output is converted from a bit string to an integer.
+ *
+ * @param id: contains information that is used to identify the certificate
+ * holder if necessary.
+ *
+ * @param cracaId: identifies the Certificate Revocation Authorization CA
+ * (CRACA) responsible for certificate revocation lists (CRLs) on which this
+ * certificate might appear. Use of the cracaId is specified in 5.1.3. The
+ * HashedId3 is calculated with the whole-certificate hash algorithm,
+ * determined as described in 6.4.3, applied to the COER-encoded certificate,
+ * canonicalized as defined in the definition of Certificate.
+ *
+ * @param crlSeries: represents the CRL series relevant to a particular
+ * Certificate Revocation Authorization CA (CRACA) on which the certificate
+ * might appear. Use of this field is specified in 5.1.3.
+ *
+ * @param validityPeriod: contains the validity period of the certificate.
+ *
+ * @param region: if present, indicates the validity region of the
+ * certificate. If it is omitted the validity region is indicated as follows:
+ * - If enclosing certificate is self-signed, i.e., the choice indicated
+ * by the issuer field in the enclosing certificate structure is self, the
+ * certificate is valid worldwide.
+ * - Otherwise, the certificate has the same validity region as the
+ * certificate that issued it.
+ *
+ * @param assuranceLevel: indicates the assurance level of the certificate
+ * holder.
+ *
+ * @param appPermissions: indicates the permissions that the certificate
+ * holder has to sign application data with this certificate. A valid
+ * instance of appPermissions contains any particular Psid value in at most
+ * one entry.
+ *
+ * @param certIssuePermissions: indicates the permissions that the certificate
+ * holder has to sign certificates with this certificate. A valid instance of
+ * this array contains no more than one entry whose psidSspRange field
+ * indicates all. If the array has multiple entries and one entry has its
+ * psidSspRange field indicate all, then the entry indicating all specifies
+ * the permissions for all PSIDs other than the ones explicitly specified in
+ * the other entries. See the description of PsidGroupPermissions for further
+ * discussion.
+ *
+ * @param certRequestPermissions: indicates the permissions that the
+ * certificate holder can request in its certificate. A valid instance of this
+ * array contains no more than one entry whose psidSspRange field indicates
+ * all. If the array has multiple entries and one entry has its psidSspRange
+ * field indicate all, then the entry indicating all specifies the permissions
+ * for all PSIDs other than the ones explicitly specified in the other entries.
+ * See the description of PsidGroupPermissions for further discussion.
+ *
+ * @param canRequestRollover: indicates that the certificate may be used to
+ * sign a request for another certificate with the same permissions. This
+ * field is provided for future use and its use is not defined in this
+ * version of this standard.
+ *
+ * @param encryptionKey: contains a public key for encryption for which the
+ * certificate holder holds the corresponding private key.
+ *
+ * @param verifyKeyIndicator: contains material that may be used to recover
+ * the public key that may be used to verify data signed by this certificate.
+ *
+ * @param flags: indicates additional yes/no properties of the certificate
+ * holder. The only bit with defined semantics in this string in this version
+ * of this standard is usesCubk. If set, the usesCubk bit indicates that the
+ * certificate holder supports the compact unified butterfly key response.
+ * Further material about the compact unified butterfly key response can be
+ * found in IEEE Std 1609.2.1.
+ *
+ * @note usesCubk is only relevant for CA certificates, and the only
+ * functionality defined associated with this field is associated with
+ * consistency checks on received certificate responses. No functionality
+ * associated with communications between peer SDEEs is defined associated
+ * with this field.
+ *
+ * @param appExtensions: indicates additional permissions that may be applied
+ * to application activities that the certificate holder is carrying out.
+ *
+ * @param certIssueExtensions: indicates additional permissions to issue
+ * certificates containing endEntityExtensions.
+ *
+ * @param certRequestExtensions: indicates additional permissions to request
+ * certificates containing endEntityExtensions.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the PublicEncryptionKey and to the VerificationKeyIndicator.
+ *
+ * If the PublicEncryptionKey contains a BasePublicEncryptionKey that is an
+ * elliptic curve point (i.e., of type EccP256CurvePoint or EccP384CurvePoint),
+ * then the elliptic curve point is encoded in compressed form, i.e., such
+ * that the choice indicated within the Ecc*CurvePoint is compressed-y-0 or
+ * compressed-y-1.
+ *
+ * @note Critical information fields:
+ * - If present, appPermissions is a critical information field as defined
+ * in 5.2.6. If an implementation of verification does not support the number
+ * of PsidSsp in the appPermissions field of a certificate that signed a
+ * signed SPDU, that implementation shall indicate that the signed SPDU is
+ * invalid in the sense of 4.2.2.3.2, that is, it is invalid in the sense
+ * that its validity cannot be established.. A conformant implementation
+ * shall support appPermissions fields containing at least eight entries.
+ * It may be the case that an implementation of verification does not support
+ * the number of entries in the appPermissions field and the appPermissions
+ * field is not relevant to the verification: this will occur, for example,
+ * if the certificate in question is a CA certificate and so the
+ * certIssuePermissions field is relevant to the verification and the
+ * appPermissions field is not. In this case, whether the implementation
+ * indicates that the signed SPDU is valid (because it could validate all
+ * relevant fields) or invalid (because it could not parse the entire
+ * certificate) is implementation-specific.
+ * - If present, certIssuePermissions is a critical information field as
+ * defined in 5.2.6. If an implementation of verification does not support
+ * the number of PsidGroupPermissions in the certIssuePermissions field of a
+ * CA certificate in the chain of a signed SPDU, the implementation shall
+ * indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2, that
+ * is, it is invalid in the sense that its validity cannot be established.
+ * A conformant implementation shall support certIssuePermissions fields
+ * containing at least eight entries.
+ * It may be the case that an implementation of verification does not support
+ * the number of entries in the certIssuePermissions field and the
+ * certIssuePermissions field is not relevant to the verification: this will
+ * occur, for example, if the certificate in question is the signing
+ * certificate for the SPDU and so the appPermissions field is relevant to
+ * the verification and the certIssuePermissions field is not. In this case,
+ * whether the implementation indicates that the signed SPDU is valid
+ * (because it could validate all relevant fields) or invalid (because it
+ * could not parse the entire certificate) is implementation-specific.
+ * - If present, certRequestPermissions is a critical information field as
+ * defined in 5.2.6. If an implementaiton of verification of a certificate
+ * request does not support the number of PsidGroupPermissions in
+ * certRequestPermissions, the implementation shall indicate that the signed
+ * SPDU is invalid in the sense of 4.2.2.3.2, that is, it is invalid in the
+ * sense that its validity cannot be established. A conformant implementation
+ * shall support certRequestPermissions fields containing at least eight
+ * entries.
+ * It may be the case that an implementation of verification does not support
+ * the number of entries in the certRequestPermissions field and the
+ * certRequestPermissions field is not relevant to the verification: this will
+ * occur, for example, if the certificate in question is the signing
+ * certificate for the SPDU and so the appPermissions field is relevant to
+ * the verification and the certRequestPermissions field is not. In this
+ * case, whether the implementation indicates that the signed SPDU is valid
+ * (because it could validate all relevant fields) or invalid (because it
+ * could not parse the entire certificate) is implementation-specific.
+ */
+ToBeSignedCertificate ::= SEQUENCE {
+ id CertificateId,
+ cracaId HashedId3,
+ crlSeries CrlSeries,
+ validityPeriod ValidityPeriod,
+ region GeographicRegion OPTIONAL,
+ assuranceLevel SubjectAssurance OPTIONAL,
+ appPermissions SequenceOfPsidSsp OPTIONAL,
+ certIssuePermissions SequenceOfPsidGroupPermissions OPTIONAL,
+ certRequestPermissions SequenceOfPsidGroupPermissions OPTIONAL,
+ canRequestRollover NULL OPTIONAL,
+ encryptionKey PublicEncryptionKey OPTIONAL,
+ verifyKeyIndicator VerificationKeyIndicator,
+ ...,
+ flags BIT STRING {usesCubk (0)} (SIZE (8)) OPTIONAL,
+ appExtensions SequenceOfAppExtensions,
+ certIssueExtensions SequenceOfCertIssueExtensions,
+ certRequestExtension SequenceOfCertRequestExtensions
+}
+(WITH COMPONENTS { ..., appPermissions PRESENT} |
+ WITH COMPONENTS { ..., certIssuePermissions PRESENT} |
+ WITH COMPONENTS { ..., certRequestPermissions PRESENT})
+
+/**
+ * @brief This structure contains information that is used to identify the
+ * certificate holder if necessary.
+ *
+ * @param linkageData: is used to identify the certificate for revocation
+ * purposes in the case of certificates that appear on linked certificate
+ * CRLs. See 5.1.3 and 7.3 for further discussion.
+ *
+ * @param name: is used to identify the certificate holder in the case of
+ * non-anonymous certificates. The contents of this field are a matter of
+ * policy and are expected to be human-readable.
+ *
+ * @param binaryId: supports identifiers that are not human-readable.
+ *
+ * @param none: indicates that the certificate does not include an identifier.
+ *
+ * @note Critical information fields:
+ * - If present, this is a critical information field as defined in 5.2.6.
+ * An implementation that does not recognize the choice indicated in this
+ * field shall reject a signed SPDU as invalid.
+ */
+CertificateId ::= CHOICE {
+ linkageData LinkageData,
+ name Hostname,
+ binaryId OCTET STRING(SIZE(1..64)),
+ none NULL,
+ ...
+}
+
+/**
+ * @brief This structure contains information that is matched against
+ * information obtained from a linkage ID-based CRL to determine whether the
+ * containing certificate has been revoked. See 5.1.3.4 and 7.3 for details
+ * of use.
+ */
+LinkageData ::= SEQUENCE {
+ iCert IValue,
+ linkage-value LinkageValue,
+ group-linkage-value GroupLinkageValue OPTIONAL
+}
+
+/**
+ * @brief This type indicates which type of permissions may appear in
+ * end-entity certificates the chain of whose permissions passes through the
+ * PsidGroupPermissions field containing this value. If app is indicated, the
+ * end-entity certificate may contain an appPermissions field. If enroll is
+ * indicated, the end-entity certificate may contain a certRequestPermissions
+ * field.
+ */
+EndEntityType ::=
+ BIT STRING {app (0), enrol (1) } (SIZE (8)) --(ALL EXCEPT {})
+
+/**
+ * @brief This structure states the permissions that a certificate holder has
+ * with respect to issuing and requesting certificates for a particular set
+ * of PSIDs. For examples, see D.5.3 and D.5.4.
+ *
+ * @param subjectPermissions: indicates PSIDs and SSP Ranges covered by this
+ * field.
+ *
+ * @param minChainLength: and chainLengthRange indicate how long the
+ * certificate chain from this certificate to the end-entity certificate is
+ * permitted to be. As specified in 5.1.2.1, the length of the certificate
+ * chain is the number of certificates "below" this certificate in the chain,
+ * down to and including the end-entity certificate. The length is permitted
+ * to be (a) greater than or equal to minChainLength certificates and (b)
+ * less than or equal to minChainLength + chainLengthRange certificates. A
+ * value of 0 for minChainLength is not permitted when this type appears in
+ * the certIssuePermissions field of a ToBeSignedCertificate; a certificate
+ * that has a value of 0 for this field is invalid. The value -1 for
+ * chainLengthRange is a special case: if the value of chainLengthRange is -1
+ * it indicates that the certificate chain may be any length equal to or
+ * greater than minChainLength. See the examples below for further discussion.
+ *
+ * @param eeType: takes one or more of the values app and enroll and indicates
+ * the type of certificates or requests that this instance of
+ * PsidGroupPermissions in the certificate is entitled to authorize.
+ * Different instances of PsidGroupPermissions within a ToBeSignedCertificate
+ * may have different values for eeType.
+ * - If this field indicates app, the chain is allowed to end in an
+ * authorization certificate, i.e., a certficate in which these permissions
+ * appear in an appPermissions field (in other words, if the field does not
+ * indicate app and the chain ends in an authorization certificate, the
+ * chain shall be considered invalid).
+ * - If this field indicates enroll, the chain is allowed to end in an
+ * enrollment certificate, i.e., a certificate in which these permissions
+ * appear in a certReqPermissions permissions field (in other words, if the
+ * field does not indicate enroll and the chain ends in an enrollment
+ * certificate, the chain shall be considered invalid).
+ */
+PsidGroupPermissions ::= SEQUENCE {
+ subjectPermissions SubjectPermissions,
+ minChainLength INTEGER DEFAULT 1,
+ chainLengthRange INTEGER DEFAULT 0,
+ eeType EndEntityType DEFAULT {app}
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfPsidGroupPermissions ::= SEQUENCE OF PsidGroupPermissions
+
+/**
+ * @brief This indicates the PSIDs and associated SSPs for which certificate
+ * issuance or request permissions are granted by a PsidGroupPermissions
+ * structure. If this takes the value explicit, the enclosing
+ * PsidGroupPermissions structure grants certificate issuance or request
+ * permissions for the indicated PSIDs and SSP Ranges. If this takes the
+ * value all, the enclosing PsidGroupPermissions structure grants certificate
+ * issuance or request permissions for all PSIDs not indicated by other
+ * PsidGroupPermissions in the same certIssuePermissions or
+ * certRequestPermissions field.
+ *
+ * @note Critical information fields:
+ * - If present, this is a critical information field as defined in 5.2.6.
+ * An implementation that does not recognize the indicated CHOICE when
+ * verifying a signed SPDU shall indicate that the signed SPDU is
+ * invalidin the sense of 4.2.2.3.2, that is, it is invalid in the sense that
+ * its validity cannot be established.
+ * - If present, explicit is a critical information field as defined in
+ * 5.2.6. An implementation that does not support the number of PsidSspRange
+ * in explicit when verifying a signed SPDU shall indicate that the signed
+ * SPDU is invalid in the sense of 4.2.2.3.2, that is, it is invalid in the
+ * sense that its validity cannot be established. A conformant implementation
+ * shall support explicit fields containing at least eight entries.
+ */
+SubjectPermissions ::= CHOICE {
+ explicit SequenceOfPsidSspRange,
+ all NULL,
+ ...
+}
+
+/**
+ * @brief The contents of this field depend on whether the certificate is an
+ * implicit or an explicit certificate.
+ *
+ * @param verificationKey: is included in explicit certificates. It contains
+ * the public key to be used to verify signatures generated by the holder of
+ * the Certificate.
+ *
+ * @param reconstructionValue: is included in implicit certificates. It
+ * contains the reconstruction value, which is used to recover the public key
+ * as specified in SEC 4 and 5.3.2.
+ *
+ * @note Critical information fields: If present, this is a critical
+ * information field as defined in 5.2.5. An implementation that does not
+ * recognize the indicated CHOICE for this type when verifying a signed SPDU
+ * shall indicate that the signed SPDU is invalid indicate that the signed
+ * SPDU is invalid in the sense of 4.2.2.3.2, that is, it is invalid in the
+ * sense that its validity cannot be established.
+ *
+ * @note Canonicalization: This data structure is subject to canonicalization
+ * for the relevant operations specified in 6.1.2. The canonicalization
+ * applies to the PublicVerificationKey and to the EccP256CurvePoint. The
+ * EccP256CurvePoint is encoded in compressed form, i.e., such that the
+ * choice indicated within the EccP256CurvePoint is compressed-y-0 or
+ * compressed-y-1.
+ */
+VerificationKeyIndicator ::= CHOICE {
+ verificationKey PublicVerificationKey,
+ reconstructionValue EccP256CurvePoint,
+ ...
+}
+
+/**
+ * @brief This structure uses the parameterized type Extension to define an
+ * Ieee1609ContributedHeaderInfoExtension as an open Extension Content field
+ * identified by an extension identifier. The extension identifier value is
+ * unique to extensions defined by ETSI and need not be unique among all
+ * extension identifier values defined by all contributing organizations.
+ */
+Ieee1609ContributedHeaderInfoExtension ::=
+ Extension{{Ieee1609HeaderInfoExtensions}}
+
+/**
+ * @brief This is an integer used to identify an
+ * Ieee1609ContributedHeaderInfoExtension.
+ */
+Ieee1609HeaderInfoExtensionId ::= ExtId
+
+p2pcd8ByteLearningRequestId Ieee1609HeaderInfoExtensionId ::= 1
+
+/**
+ * @brief This is the ASN.1 Information Object Class that associates IEEE
+ * 1609 HeaderInfo contributed extensions with the appropriate
+ * Ieee1609HeaderInfoExtensionId value.
+ */
+Ieee1609HeaderInfoExtensions EXT-TYPE ::= {
+ {HashedId8 IDENTIFIED BY p2pcd8ByteLearningRequestId},
+ ...
+}
+
+/**
+ * @brief This structure contains any AppExtensions that apply to the
+ * certificate holder. As specified in 5.2.4.2.3, each individual
+ * AppExtension type is associated with consistency conditions, specific to
+ * that extension, that govern its consistency with SPDUs signed by the
+ * certificate holder and with the CertIssueExtensions in the CA certificates
+ * in that certificate holder�s chain. Those consistency conditions are
+ * specified for each individual AppExtension below.
+ */
+SequenceOfAppExtensions ::= SEQUENCE (SIZE(1..MAX)) OF AppExtension
+
+/**
+ * @brief This structure contains an individual AppExtension. AppExtensions
+ * specified in this standard are drawn from the ASN.1 Information Object Set
+ * SetCertExtensions. This set, and its use in the AppExtension type, is
+ * structured so that each AppExtension is associated with a
+ * CertIssueExtension and a CertRequestExtension and all are identified by
+ * the same id value. In this structure:
+ *
+ * @param id: identifies the extension type.
+ *
+ * @param content: provides the content of the extension.
+ */
+AppExtension ::= SEQUENCE {
+ id CERT-EXT-TYPE.&id({SetCertExtensions}),
+ content CERT-EXT-TYPE.&App({SetCertExtensions}{@.id})
+}
+
+/**
+ * @brief This field contains any CertIssueExtensions that apply to the
+ * certificate holder. As specified in 5.2.4.2.3, each individual
+ * CertIssueExtension type is associated with consistency conditions,
+ * specific to that extension, that govern its consistency with
+ * AppExtensions in certificates issued by the certificate holder and with
+ * the CertIssueExtensions in the CA certificates in that certificate
+ * holder�s chain. Those consistency conditions are specified for each
+ * individual CertIssueExtension below.
+ */
+SequenceOfCertIssueExtensions ::=
+ SEQUENCE (SIZE(1..MAX)) OF CertIssueExtension
+
+/**
+ * @brief This field contains an individual CertIssueExtension.
+ * CertIssueExtensions specified in this standard are drawn from the ASN.1
+ * Information Object Set SetCertExtensions. This set, and its use in the
+ * CertIssueExtension type, is structured so that each CertIssueExtension
+ * is associated with a AppExtension and a CertRequestExtension and all are
+ * identified by the same id value. In this structure:
+ *
+ * @param id: identifies the extension type.
+ *
+ * @param permissions: indicates the permissions. Within this field.
+ * - all indicates that the certificate is entitled to issue all values of
+ * the extension.
+ * - specific is used to specify which values of the extension may be
+ * issued in the case where all does not apply.
+ */
+CertIssueExtension ::= SEQUENCE {
+ id CERT-EXT-TYPE.&id({SetCertExtensions}),
+ permissions CHOICE {
+ specific CERT-EXT-TYPE.&Issue({SetCertExtensions}{@.id}),
+ all NULL
+ }
+}
+
+/**
+ * @brief This field contains any CertRequestExtensions that apply to the
+ * certificate holder. As specified in 5.2.4.2.3, each individual
+ * CertRequestExtension type is associated with consistency conditions,
+ * specific to that extension, that govern its consistency with
+ * AppExtensions in certificates issued by the certificate holder and with
+ * the CertRequestExtensions in the CA certificates in that certificate
+ * holder�s chain. Those consistency conditions are specified for each
+ * individual CertRequestExtension below.
+ */
+SequenceOfCertRequestExtensions ::= SEQUENCE (SIZE(1..MAX)) OF CertRequestExtension
+
+/**
+ * @brief This field contains an individual CertRequestExtension.
+ * CertRequestExtensions specified in this standard are drawn from the
+ * ASN.1 Information Object Set SetCertExtensions. This set, and its use in
+ * the CertRequestExtension type, is structured so that each
+ * CertRequestExtension is associated with a AppExtension and a
+ * CertRequestExtension and all are identified by the same id value. In this
+ * structure:
+ *
+ * @param id: identifies the extension type.
+ *
+ * @param permissions: indicates the permissions. Within this field.
+ * - all indicates that the certificate is entitled to issue all values of
+ * the extension.
+ * - specific is used to specify which values of the extension may be
+ * issued in the case where all does not apply.
+ */
+CertRequestExtension ::= SEQUENCE {
+ id CERT-EXT-TYPE.&id({SetCertExtensions}),
+ permissions CHOICE {
+ content CERT-EXT-TYPE.&Req({SetCertExtensions}{@.id}),
+ all NULL
+ }
+}
+
+/**
+ * @brief This type is the AppExtension used to identify an operating
+ * organization. The associated CertIssueExtension and CertRequestExtension
+ * are both of type OperatingOrganizationId.
+ * To determine consistency between this type and an SPDU, the SDEE
+ * specification for that SPDU is required to specify how the SPDU can be
+ * used to determine an OBJECT IDENTIFIER (for example, by including the
+ * full OBJECT IDENTIFIER in the SPDU, or by including a RELATIVE-OID with
+ * clear instructions about how a full OBJECT IDENTIFIER can be obtained from
+ * the RELATIVE-OID). The SPDU is then consistent with this type if the
+ * OBJECT IDENTIFIER determined from the SPDU is identical to the OBJECT
+ * IDENTIFIER contained in this field.
+ * This AppExtension does not have consistency conditions with a
+ * corresponding CertIssueExtension. It can appear in a certificate issued
+ * by any CA.
+ */
+OperatingOrganizationId ::= OBJECT IDENTIFIER
+
+certExtId-OperatingOrganization ExtId ::= 1
+
+/**
+ * @brief This Information Object is an instance of the Information Object
+ * Class CERT-EXT-TYPE. It is defined to bind together the AppExtension,
+ * CertIssueExtension, and CertRequestExtension types associated with the
+ * use of an operating organization identifier, and to assocaute them all
+ * with the extension identifier value certExtId-OperatingOrganization.
+ */
+instanceOperatingOrganizationCertExtensions CERT-EXT-TYPE ::= {
+ ID certExtId-OperatingOrganization
+ APP OperatingOrganizationId
+ ISSUE NULL
+ REQUEST NULL
+}
+
+/**
+ * @brief This Information Object Set is a collection of Information Objects
+ * used to contain the AppExtension, CertIssueExtension, and
+ * CertRequestExtension types associated with a specific use of certificate
+ * extensions. In this version of this standard it only has a single entry
+ * instanceOperatingOrganizationCertExtensions.
+ */
+SetCertExtensions CERT-EXT-TYPE ::= {
+ instanceOperatingOrganizationCertExtensions,
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2Crl.asn b/epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2Crl.asn
new file mode 100644
index 00000000..acea51aa
--- /dev/null
+++ b/epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2Crl.asn
@@ -0,0 +1,104 @@
+-- https://forge.etsi.org/rep/ITS/asn1/ieee1609.2/-/blob/ieee/Ieee1609Dot2Crl.asn
+--***************************************************************************--
+-- IEEE Std 1609.2: CRL Data Types --
+--***************************************************************************--
+
+/**
+ * @note Section references in this file are to clauses in IEEE Std
+ * 1609.2 unless indicated otherwise. Full forms of acronyms and
+ * abbreviations used in this file are specified in 3.2.
+ */
+
+Ieee1609Dot2Crl {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2)
+ crl(3) major-version-3(3) minor-version-2(2)}
+
+DEFINITIONS AUTOMATIC TAGS ::= BEGIN
+
+IMPORTS
+ Ieee1609Dot2Data
+FROM Ieee1609Dot2 {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609)
+ dot2(2) base(1) schema(1) major-version-2(2) minor-version-6(6)}
+WITH SUCCESSORS
+
+ Opaque,
+ Psid
+FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2)
+ base(1) base-types(2) major-version-2(2) minor-version-4(4)}
+WITH SUCCESSORS
+
+ CrlContents
+FROM Ieee1609Dot2CrlBaseTypes {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2)
+ crl(3) base-types(2) major-version-3(3) minor-version-2(2)}
+WITH SUCCESSORS
+;
+
+/**
+ * @brief This is the PSID for the CRL application.
+ */
+CrlPsid ::= Psid(256)
+
+/**
+ * @brief This structure is the SPDU used to contain a signed CRL. A valid
+ * signed CRL meets the validity criteria of 7.4.
+ */
+ /*
+SecuredCrl ::= Ieee1609Dot2Data (WITH COMPONENTS {...,
+ content (WITH COMPONENTS {
+ signedData (WITH COMPONENTS {...,
+ tbsData (WITH COMPONENTS {
+ payload (WITH COMPONENTS {...,
+ data (WITH COMPONENTS {...,
+ content (WITH COMPONENTS {
+ unsecuredData (CONTAINING CrlContents)
+ })
+ })
+ }),
+ headerInfo (WITH COMPONENTS {...,
+ psid (CrlPsid),
+ generationTime ABSENT,
+ expiryTime ABSENT,
+ generationLocation ABSENT,
+ p2pcdLearningRequest ABSENT,
+ missingCrlIdentifier ABSENT,
+ encryptionKey ABSENT
+ })
+ })
+ })
+ })
+})
+*/
+/* Rewrite the above asn1 */
+SecuredCrl ::= SEQUENCE {
+ content SecuredCrlContent
+}
+
+-- content
+SecuredCrlContent ::= CHOICE {
+ signedData CrlSignedData
+}
+
+CrlSignedData ::= SEQUENCE {
+ tbsData CrlToBeSignedData
+}
+
+CrlToBeSignedData ::= SEQUENCE {
+ payload CrlSignedDataPayload,
+ headerInfo HeaderInfo
+}
+
+CrlSignedDataPayload ::= SEQUENCE {
+ data Ieee1609Dot2CrlData OPTIONAL
+}
+
+Ieee1609Dot2CrlData ::= SEQUENCE {
+ content Ieee1609Dot2CrlContent
+}
+
+Ieee1609Dot2CrlContent ::= CHOICE {
+ unsecuredData CrlContents
+}
+END
diff --git a/epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2CrlBaseTypes.asn b/epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2CrlBaseTypes.asn
new file mode 100644
index 00000000..7ea8e1c7
--- /dev/null
+++ b/epan/dissectors/asn1/ieee1609dot2/Ieee1609Dot2CrlBaseTypes.asn
@@ -0,0 +1,469 @@
+-- https://forge.etsi.org/rep/ITS/asn1/ieee1609.2/-/blob/ieee/Ieee1609Dot2CrlBaseTypes.asn
+--***************************************************************************--
+-- IEEE Std 1609.2: CRL Base Data Types --
+--***************************************************************************--
+
+/**
+ * @note Section references in this file are to clauses in IEEE Std
+ * 1609.2 unless indicated otherwise. Full forms of acronyms and
+ * abbreviations used in this file are specified in 3.2.
+ */
+
+Ieee1609Dot2CrlBaseTypes {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2)
+ crl(3) base-types(2) major-version-3(3) minor-version-2(2)}
+
+DEFINITIONS AUTOMATIC TAGS ::= BEGIN
+
+IMPORTS
+ CrlSeries,
+ Duration,
+ GeographicRegion,
+ HashedId8,
+ HashedId10,
+ IValue,
+ LaId,
+ LinkageSeed,
+ Opaque,
+ Psid,
+ SequenceOfLinkageSeed,
+ Signature,
+ Time32,
+ Uint3,
+ Uint8,
+ Uint16,
+ Uint32,
+ ValidityPeriod
+FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111)
+ standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2)
+ base(1) base-types(2) major-version-2(2) minor-version-4(4)}
+WITH SUCCESSORS
+;
+
+/**
+ * @brief The fields in this structure have the following meaning:
+ *
+ * @param version: is the version number of the CRL. For this version of this
+ * standard it is 1.
+ *
+ * @param crlSeries: represents the CRL series to which this CRL belongs. This
+ * is used to determine whether the revocation information in a CRL is relevant
+ * to a particular certificate as specified in 5.1.3.2.
+ *
+ * @param crlCraca: contains the low-order eight octets of the hash of the
+ * certificate of the Certificate Revocation Authorization CA (CRACA) that
+ * ultimately authorized the issuance of this CRL. This is used to determine
+ * whether the revocation information in a CRL is relevant to a particular
+ * certificate as specified in 5.1.3.2. In a valid signed CRL as specified in
+ * 7.4 the crlCraca is consistent with the associatedCraca field in the
+ * Service Specific Permissions as defined in 7.4.3.3. The HashedId8 is
+ * calculated with the whole-certificate hash algorithm, determined as
+ * described in 6.4.3, applied to the COER-encoded certificate, canonicalized
+ * as defined in the definition of Certificate.
+ *
+ * @param issueDate: specifies the time when the CRL was issued.
+ *
+ * @param nextCrl: contains the time when the next CRL with the same crlSeries
+ * and cracaId is expected to be issued. The CRL is invalid unless nextCrl is
+ * strictly after issueDate. This field is used to set the expected update time
+ * for revocation information associated with the (crlCraca, crlSeries) pair as
+ * specified in 5.1.3.6.
+ *
+ * @param priorityInfo: contains information that assists devices with limited
+ * storage space in determining which revocation information to retain and
+ * which to discard.
+ *
+ * @param typeSpecific: contains the CRL body.
+ */
+CrlContents ::= SEQUENCE {
+ version Uint8 (1),
+ crlSeries CrlSeries,
+ crlCraca HashedId8,
+ issueDate Time32,
+ nextCrl Time32,
+ priorityInfo CrlPriorityInfo,
+ typeSpecific TypeSpecificCrlContents
+}
+
+/**
+ * @brief This data structure contains information that assists devices with
+ * limited storage space in determining which revocation information to retain
+ * and which to discard.
+ *
+ * @param priority: indicates the priority of the revocation information
+ * relative to other CRLs issued for certificates with the same cracaId and
+ * crlSeries values. A higher value for this field indicates higher importance
+ * of this revocation information.
+ *
+ * @note This mechanism is for future use; details are not specified in this
+ * version of the standard.
+ */
+CrlPriorityInfo ::= SEQUENCE {
+ priority Uint8 OPTIONAL,
+ ...
+}
+
+/**
+ * @brief This structure contains type-specific CRL contents.
+ *
+ * @param fullHashCrl: contains a full hash-based CRL, i.e., a listing of the
+ * hashes of all certificates that:
+ * - contain the indicated cracaId and crlSeries values, and
+ * - are revoked by hash, and
+ * - have been revoked, and
+ * - have not expired.
+ *
+ * @param deltaHashCrl: contains a delta hash-based CRL, i.e., a listing of
+ * the hashes of all certificates that:
+ * - contain the indicated cracaId and crlSeries values, and
+ * - are revoked by hash, and
+ * - have been revoked since the previous CRL that contained the indicated
+ * cracaId and crlSeries values.
+ *
+ * @param fullLinkedCrl and fullLinkedCrlWithAlg: contain a full linkage
+ * ID-based CRL, i.e., a listing of the individual and/or group linkage data
+ * for all certificates that:
+ * - contain the indicated cracaId and crlSeries values, and
+ * - are revoked by linkage value, and
+ * - have been revoked, and
+ * - have not expired.
+ * The difference between fullLinkedCrl and fullLinkedCrlWithAlg is in how
+ * the cryptographic algorithms to be used in the seed evolution function and
+ * linkage value generation function of 5.1.3.4 are communicated to the
+ * receiver of the CRL. See below in this subclause for details.
+ *
+ * @param deltaLinkedCrl and deltaLinkedCrlWithAlg: contain a delta linkage
+ * ID-based CRL, i.e., a listing of the individual and/or group linkage data
+ * for all certificates that:
+ * - contain the specified cracaId and crlSeries values, and
+ * - are revoked by linkage data, and
+ * - have been revoked since the previous CRL that contained the indicated
+ * cracaId and crlSeries values.
+ * The difference between deltaLinkedCrl and deltaLinkedCrlWithAlg is in how
+ * the cryptographic algorithms to be used in the seed evolution function
+ * and linkage value generation function of 5.1.3.4 are communicated to the
+ * receiver of the CRL. See below in this subclause for details.
+ *
+ * @note It is the intent of this standard that once a certificate is revoked,
+ * it remains revoked for the rest of its lifetime. CRL signers are expected
+ * to include a revoked certificate on all CRLs issued between the
+ * certificate's revocation and its expiry.
+ *
+ * @note Seed evolution function and linkage value generation function
+ * identification. In order to derive linkage values per the mechanisms given
+ * in 5.1.3.4, a receiver needs to know the seed evolution function and the
+ * linkage value generation function.
+ *
+ * If the contents of this structure is a
+ * ToBeSignedLinkageValueCrlWithAlgIdentifier, then the seed evolution function
+ * and linkage value generation function are given explicitly as specified in
+ * the specification of ToBeSignedLinkageValueCrlWithAlgIdentifier.
+ *
+ * If the contents of this structure is a ToBeSignedLinkageValueCrl, then the
+ * seed evolution function and linkage value generation function are obtained
+ * based on the crlCraca field in the CrlContents:
+ * - If crlCraca was obtained with SHA-256 or SHA-384, then
+ * seedEvolutionFunctionIdentifier is seedEvoFn1-sha256 and
+ * linkageValueGenerationFunctionIdentifier is lvGenFn1-aes128.
+ * - If crlCraca was obtained with SM3, then seedEvolutionFunctionIdentifier
+ * is seedEvoFn1-sm3 and linkageValueGenerationFunctionIdentifier is
+ * lvGenFn1-sm4.
+ */
+TypeSpecificCrlContents ::= CHOICE {
+ fullHashCrl ToBeSignedHashIdCrl,
+ deltaHashCrl ToBeSignedHashIdCrl,
+ fullLinkedCrl ToBeSignedLinkageValueCrl,
+ deltaLinkedCrl ToBeSignedLinkageValueCrl,
+ ...,
+ fullLinkedCrlWithAlg ToBeSignedLinkageValueCrlWithAlgIdentifier,
+ deltaLinkedCrlWithAlg ToBeSignedLinkageValueCrlWithAlgIdentifier
+}
+
+/**
+ * @brief This data structure represents information about a revoked
+ * certificate.
+ *
+ * @param crlSerial: is a counter that increments by 1 every time a new full
+ * or delta CRL is issued for the indicated crlCraca and crlSeries values.
+ *
+ * @param entries: contains the individual revocation information items.
+ *
+ * @note To indicate that a hash-based CRL contains no individual revocation
+ * information items, the recommended approach is for the SEQUENCE OF in the
+ * SequenceOfHashBasedRevocationInfo in this field to indicate zero entries.
+ */
+ToBeSignedHashIdCrl ::= SEQUENCE {
+ crlSerial Uint32,
+ entries SequenceOfHashBasedRevocationInfo,
+ ...
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfHashBasedRevocationInfo ::=
+ SEQUENCE OF HashBasedRevocationInfo
+
+/**
+ * @brief In this structure:
+ *
+ * @param id: is the HashedId10 identifying the revoked certificate. The
+ * HashedId10 is calculated with the whole-certificate hash algorithm,
+ * determined as described in 6.4.3, applied to the COER-encoded certificate,
+ * canonicalized as defined in the definition of Certificate.
+ *
+ * @param expiry: is the value computed from the validity period's start and
+ * duration values in that certificate.
+ */
+HashBasedRevocationInfo ::= SEQUENCE {
+ id HashedId10,
+ expiry Time32,
+ ...
+}
+
+/**
+ * @brief In this structure:
+ *
+ * @param iRev: is the value iRev used in the algorithm given in 5.1.3.4. This
+ * value applies to all linkage-based revocation information included within
+ * either indvidual or groups.
+ *
+ * @param indexWithinI: is a counter that is set to 0 for the first CRL issued
+ * for the indicated combination of crlCraca, crlSeries, and iRev, and
+ * increments by 1 every time a new full or delta CRL is issued for the
+ * indicated crlCraca and crlSeries values without changing iRev.
+ *
+ * @param individual: contains individual linkage data.
+ *
+ * @note To indicate that a linkage ID-based CRL contains no individual
+ * linkage data, the recommended approach is for the SEQUENCE OF in the
+ * SequenceOfJMaxGroup in this field to indicate zero entries.
+ *
+ * @param groups: contains group linkage data.
+ *
+ * @note To indicate that a linkage ID-based CRL contains no group linkage
+ * data, the recommended approach is for the SEQUENCE OF in the
+ * SequenceOfGroupCrlEntry in this field to indicate zero entries.
+ *
+ * @param groupsSingleSeed: contains group linkage data generated with a single
+ * seed.
+ */
+ToBeSignedLinkageValueCrl ::= SEQUENCE {
+ iRev IValue,
+ indexWithinI Uint8,
+ individual SequenceOfJMaxGroup OPTIONAL,
+ groups SequenceOfGroupCrlEntry OPTIONAL,
+ ...,
+ groupsSingleSeed SequenceOfGroupSingleSeedCrlEntry OPTIONAL
+} (WITH COMPONENTS {..., individual PRESENT} |
+ WITH COMPONENTS {..., groups PRESENT} |
+ WITH COMPONENTS {..., groupsSingleSeed PRESENT})
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfJMaxGroup ::= SEQUENCE OF JMaxGroup
+
+/**
+ * @brief In this structure:
+ *
+ * @param jMax: is the value jMax used in the algorithm given in 5.1.3.4. This
+ * value applies to all linkage-based revocation information included within
+ * contents.
+ *
+ * @param contents: contains individual linkage data.
+ */
+JMaxGroup ::= SEQUENCE {
+ jmax Uint8,
+ contents SequenceOfLAGroup,
+ ...
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfLAGroup ::= SEQUENCE OF LAGroup
+
+/**
+ * @brief In this structure:
+ *
+ * @param la1Id: is the value LinkageAuthorityIdentifier1 used in the
+ * algorithm given in 5.1.3.4. This value applies to all linkage-based
+ * revocation information included within contents.
+ *
+ * @param la2Id: is the value LinkageAuthorityIdentifier2 used in the
+ * algorithm given in 5.1.3.4. This value applies to all linkage-based
+ * revocation information included within contents.
+ *
+ * @param contents: contains individual linkage data.
+ */
+LAGroup ::= SEQUENCE {
+ la1Id LaId,
+ la2Id LaId,
+ contents SequenceOfIMaxGroup,
+ ...
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfIMaxGroup ::= SEQUENCE OF IMaxGroup
+
+/**
+ * @brief In this structure:
+ *
+ * @param iMax indicates that for the entries in contents, revocation
+ * information need no longer be calculated once iCert > iMax as the holder
+ * is known to have no more valid certs at that point. iMax is not directly
+ * used in the calculation of the linkage values, it is used to determine
+ * when revocation information can safely be deleted.
+ *
+ * @param contents contains individual linkage data for certificates that are
+ * revoked using two seeds, per the algorithm given in per the mechanisms
+ * given in 5.1.3.4 and with seedEvolutionFunctionIdentifier and
+ * linkageValueGenerationFunctionIdentifier obtained as specified in 7.3.3.
+ *
+ * @param singleSeed contains individual linkage data for certificates that
+ * are revoked using a single seed, per the algorithm given in per the
+ * mechanisms given in 5.1.3.4 and with seedEvolutionFunctionIdentifier and
+ * linkageValueGenerationFunctionIdentifier obtained as specified in 7.3.3.
+ */
+IMaxGroup ::= SEQUENCE {
+ iMax Uint16,
+ contents SequenceOfIndividualRevocation,
+ ...,
+ singleSeed SequenceOfLinkageSeed OPTIONAL
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfIndividualRevocation ::=
+ SEQUENCE (SIZE(0..MAX)) OF IndividualRevocation
+
+/**
+ * @brief In this structure:
+ *
+ * @param linkageSeed1 is the value LinkageSeed1 used in the algorithm given
+ * in 5.1.3.4.
+ *
+ * @param linkageSeed2 is the value LinkageSeed2 used in the algorithm given
+ * in 5.1.3.4.
+ */
+IndividualRevocation ::= SEQUENCE {
+ linkageSeed1 LinkageSeed,
+ linkageSeed2 LinkageSeed,
+ ...
+}
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfGroupCrlEntry ::= SEQUENCE OF GroupCrlEntry
+
+/**
+ * @brief In this structure:
+ *
+ * @param iMax: indicates that for these certificates, revocation information
+ * need no longer be calculated once iCert > iMax as the holders are known
+ * to have no more valid certs for that (crlCraca, crlSeries) at that point.
+ *
+ * @param la1Id: is the value LinkageAuthorityIdentifier1 used in the
+ * algorithm given in 5.1.3.4. This value applies to all linkage-based
+ * revocation information included within contents.
+ *
+ * @param linkageSeed1: is the value LinkageSeed1 used in the algorithm given
+ * in 5.1.3.4.
+ *
+ * @param la2Id: is the value LinkageAuthorityIdentifier2 used in the
+ * algorithm given in 5.1.3.4. This value applies to all linkage-based
+ * revocation information included within contents.
+ *
+ * @param linkageSeed2: is the value LinkageSeed2 used in the algorithm given
+ * in 5.1.3.4.
+ */
+GroupCrlEntry ::= SEQUENCE {
+ iMax Uint16,
+ la1Id LaId,
+ linkageSeed1 LinkageSeed,
+ la2Id LaId,
+ linkageSeed2 LinkageSeed,
+ ...
+}
+
+/**
+ * @brief In this structure:
+ *
+ * @param iRev is the value iRev used in the algorithm given in 5.1.3.4. This
+ * value applies to all linkage-based revocation information included within
+ * either indvidual or groups.
+ *
+ * @param indexWithinI is a counter that is set to 0 for the first CRL issued
+ * for the indicated combination of crlCraca, crlSeries, and iRev, and increments by 1 every time a new full or delta CRL is issued for the indicated crlCraca and crlSeries values without changing iRev.
+ *
+ * @param seedEvolution contains an identifier for the seed evolution
+ * function, used as specified in 5.1.3.4.
+ *
+ * @param lvGeneration contains an identifier for the linkage value
+ * generation function, used as specified in 5.1.3.4.
+ *
+ * @param individual contains individual linkage data.
+ *
+ * @param groups contains group linkage data for linkage value generation
+ * with two seeds.
+ *
+ * @param groupsSingleSeed contains group linkage data for linkage value
+ * generation with one seed.
+ */
+ToBeSignedLinkageValueCrlWithAlgIdentifier ::= SEQUENCE {
+ iRev IValue,
+ indexWithinI Uint8,
+ seedEvolution SeedEvolutionFunctionIdentifier,
+ lvGeneration LvGenerationFunctionIdentifier,
+ individual SequenceOfJMaxGroup OPTIONAL,
+ groups SequenceOfGroupCrlEntry OPTIONAL,
+ groupsSingleSeed SequenceOfGroupSingleSeedCrlEntry OPTIONAL,
+ ...
+} (WITH COMPONENTS {..., individual PRESENT} |
+ WITH COMPONENTS {..., groups PRESENT} |
+ WITH COMPONENTS {..., groupsSingleSeed PRESENT})
+
+/**
+ * @brief This type is used for clarity of definitions.
+ */
+SequenceOfGroupSingleSeedCrlEntry ::=
+ SEQUENCE OF GroupSingleSeedCrlEntry
+
+/**
+ * @brief This structure contains the linkage seed for group revocation with
+ * a single seed. The seed is used as specified in the algorithms in 5.1.3.4.
+ */
+GroupSingleSeedCrlEntry ::= SEQUENCE {
+ iMax Uint16,
+ laId LaId,
+ linkageSeed LinkageSeed
+}
+
+/**
+ * @brief This structure contains an identifier for the algorithms specified
+ * in 5.1.3.4.
+ */
+ExpansionAlgorithmIdentifier ::= ENUMERATED {
+ sha256ForI-aesForJ,
+ sm3ForI-sm4ForJ,
+ ...
+}
+
+/**
+ * @brief This is the identifier for the seed evolution function. See 5.1.3
+ * for details of use.
+ */
+SeedEvolutionFunctionIdentifier ::= NULL
+
+/**
+ * @brief This is the identifier for the linkage value generation function.
+ * See 5.1.3 for details of use.
+ */
+LvGenerationFunctionIdentifier ::= NULL
+
+END
diff --git a/epan/dissectors/asn1/ieee1609dot2/ieee1609dot2.cnf b/epan/dissectors/asn1/ieee1609dot2/ieee1609dot2.cnf
new file mode 100644
index 00000000..50e47b86
--- /dev/null
+++ b/epan/dissectors/asn1/ieee1609dot2/ieee1609dot2.cnf
@@ -0,0 +1,199 @@
+# IEEE1609dot2.cnf
+# IEEE1609dot2 conformation file
+
+#.OPT
+OER
+#.END
+
+#.MODULE
+Ieee1609Dot2BaseTypes ieee1609dot2
+#.MODULE_IMPORT
+
+#.EXPORTS ONLY_VALS WS_DLL
+Psid
+
+#.MAKE_ENUM
+Psid
+
+#.REGISTER
+
+#.PDU
+Ieee1609Dot2Data
+SecuredCrl
+#.NO_EMIT
+
+#.NO_EMIT ONLY_VALS
+NinetyDegreeInt
+OneEightyDegreeInt
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+TestCertificate
+Countersignature
+ExplicitCertificate
+ImplicitCertificate
+KnownLatitude
+KnownLongitude
+SequenceOfPsid
+Uint3
+UnknownLatitude
+UnknownLongitude
+OperatingOrganizationId
+Ieee1609HeaderInfoExtensionId
+Ieee1609ContributedHeaderInfoExtension
+Aes128CcmCiphertext
+CrlPsid
+ExpansionAlgorithmIdentifier
+Extension
+CountryOnly
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+EccP384CurvePoint/uncompressedP384/x eccp384cpX
+EccP384CurvePoint/uncompressedP384/y eccp384cpY
+EccP384CurvePoint/x-only eccp384cpXOnly
+EccP384CurvePoint/compressed-y-0 eccp384cpCompressed-y-0
+EccP384CurvePoint/compressed-y-1 eccp384cpCompressed-y-1
+
+EcdsaP384Signature/rSig ecdsap384RSig
+EcdsaP384Signature/sSig ecdsap384SSig
+
+PsidSsp/psid psPsid
+HeaderInfo/psid hiPsid
+
+IssuerIdentifier/self iiSelf
+SignerIdentifier/self siSelf
+
+SspRange/opaque srRange
+RegionAndSubregions/region rasRegion
+
+ToBeSignedCertificate/encryptionKey tbscEncryptionKey
+
+SymmRecipientInfo/encKey sriEncKey
+
+EncryptedDataEncryptionKey/eciesNistP256 edeEciesNistP256
+
+EncryptedDataEncryptionKey/eciesBrainpoolP256r1 edekEciesBrainpoolP256r1
+
+#.TYPE_ATTR
+NinetyDegreeInt DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ieee1609dot2_NinetyDegreeInt_fmt)
+OneEightyDegreeInt DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ieee1609dot2_OneEightyDegreeInt_fmt)
+Time32 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ieee1609dot2_Time32_fmt)
+Time64 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ieee1609dot2_Time64_fmt)
+
+#.FIELD_ATTR
+SspRange/opaque ABBREV=srRange.opaque
+
+#.FN_HDR Ieee1609Dot2Data
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, ieee1609_private_data_t);
+#.END
+
+#.FN_BODY Ieee1609Dot2Content/unsecuredData
+ ieee1609_private_data_t *my_private_data = (ieee1609_private_data_t*)actx->private_data;
+
+ offset = dissect_oer_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &my_private_data->unsecured_data);
+
+ if (my_private_data->unsecured_data) {
+ // psid may also be provided in HeaderInfo
+ guint32 psid = GPOINTER_TO_UINT(p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_ieee1609dot2, 0));
+ if (psid) {
+ /* Call next dissector here */
+ dissector_try_uint(unsecured_data_subdissector_table, psid, my_private_data->unsecured_data, actx->pinfo, tree);
+ my_private_data->unsecured_data = NULL;
+ }
+ // else: wait for the HeaderInfo for a second chance to dissect the content
+ }
+
+#.END
+
+#.FN_BODY HeaderInfo/psid
+ guint64 psid;
+ ieee1609_private_data_t *my_private_data = (ieee1609_private_data_t*)actx->private_data;
+
+ offset = dissect_oer_constrained_integer_64b_no_ub(tvb, offset, actx, tree, hf_index,
+ 0U, NO_BOUND, &psid, FALSE);
+ if ((my_private_data != NULL) && (my_private_data->unsecured_data != NULL)) {
+ /* Call next dissector here */
+ ieee1609dot2_set_next_default_psid(actx->pinfo, (guint32)psid);
+ dissector_try_uint(unsecured_data_subdissector_table, (guint32) psid, my_private_data->unsecured_data, actx->pinfo, tree);
+ my_private_data->unsecured_data = NULL;
+ }
+
+#.END
+
+#.FN_BODY PsidSsp/psid
+ offset = dissect_oer_constrained_integer_64b_no_ub(tvb, offset, actx, tree, hf_index,
+ 0U, NO_BOUND, &((ieee1609_private_data_t*)actx->private_data)->psidssp, FALSE);
+
+#.FN_BODY ServiceSpecificPermissions/opaque
+ tvbuff_t *ssp;
+ ieee1609_private_data_t *my_private_data = (ieee1609_private_data_t*)actx->private_data;
+
+ offset = dissect_oer_octet_string(tvb, offset, actx, tree, hf_index,
+ 0, NO_BOUND, FALSE, &ssp);
+ if (ssp) {
+ // Create subtree
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ieee1609dot2_ssp);
+ /* Call next dissector here */
+ dissector_try_uint(ssp_subdissector_table, (guint32) my_private_data->psidssp, ssp, actx->pinfo, subtree);
+ }
+#.END
+
+#.ASSIGN_VALUE_TO_TYPE
+psid-system Psid
+psid-electronic-fee-collection Psid
+psid-freight-fleet-management Psid
+psid-public-transport Psid
+psid-traffic-traveller-information Psid
+psid-traffic-control Psid
+psid-parking-management Psid
+psid-geographic-road-database Psid
+psid-medium-range-preinformation Psid
+psid-man-machine-interface Psid
+psid-intersystem-interface Psid
+psid-automatic-vehicle-identification Psid
+psid-emergency-warning Psid
+psid-private Psid
+psid-multi-purpose-payment Psid
+psid-dsrc-resource-manager Psid
+psid-after-theft-systems Psid
+psid-cruise-assist-highway-system Psid
+psid-multi-purpose-information-system Psid
+psid-multi-mobile-information-system Psid
+psid-efc-compliance-check-communication-applications Psid
+psid-efc-localisation-augmentation-communication-applications Psid
+psid-vehicle-to-vehicle-safety-and-awarenesss Psid
+psid-limited-sensor-vehicle-to-vehicle-safety-and-awarenesss Psid
+psid-tracked-vehicle-safety-and-awarenesss Psid
+psid-wave-security-managements Psid
+psid-ca-basic-services Psid
+psid-den-basic-services Psid
+psid-misbehavior-reporting-for-common-applications Psid
+psid-vulnerable-road-users-safety-applications Psid
+psid-testings Psid
+psid-differential-gps-corrections-uncompressed Psid
+psid-differential-gps-corrections-compressed Psid
+psid-intersection-safety-and-awareness Psid
+psid-traveller-information-and-roadside-signage Psid
+psid-mobile-probe-exchanges Psid
+psid-emergency-and-erratic-vehicles-present-in-roadway Psid
+psid-remote-management-protocol-execution Psid
+psid-wave-service-advertisement Psid
+psid-peer-to-peer-distribution-of-security-management-information Psid
+psid-traffic-light-manoeuver-service Psid
+psid-road-and-lane-topology-service Psid
+psid-infrastructure-to-vehicle-information-service Psid
+psid-traffic-light-control-requests-service Psid
+psid-geonetworking-management-communications Psid
+psid-certificate-revocation-list-application Psid
+psid-collective-perception-service Psid
+psid-vehicle-initiated-distress-notivication Psid
+psid-fast-service-advertisement-protocol Psid
+psid-its-station-internal-management-communications-protocol Psid
+psid-veniam-delay-tolerant-networking Psid
+psid-transcore-software-update Psid
+psid-ipv6-routing Psid
+#.END
+
diff --git a/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.c b/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.c
new file mode 100644
index 00000000..6a2c4cdb
--- /dev/null
+++ b/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.c
@@ -0,0 +1,156 @@
+/* packet-IEEE1609dot2.c
+ * Routines for IEEE 1609.2
+ * Copyright 2018, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+/* Also contains IEEE std 1609.12
+ * section 4.1.3 PSID allocations
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+#include <time.h>
+
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+
+#include "packet-oer.h"
+#include "packet-ieee1609dot2.h"
+
+#define PNAME "IEEE1609dot2"
+#define PSNAME "IEEE1609dot2"
+#define PFNAME "ieee1609dot2"
+
+void proto_register_ieee1609dot2(void);
+void proto_reg_handoff_ieee1609dot2(void);
+
+/* Initialize the protocol and registered fields */
+int proto_ieee1609dot2 = -1;
+dissector_handle_t proto_ieee1609dot2_handle = NULL;
+#include "packet-ieee1609dot2-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_ieee1609dot2_ssp = -1;
+#include "packet-ieee1609dot2-ett.c"
+
+static dissector_table_t unsecured_data_subdissector_table;
+static dissector_table_t ssp_subdissector_table;
+
+typedef struct ieee1609_private_data {
+ tvbuff_t *unsecured_data;
+ guint64 psidssp; // psid for Service Specific Permissions
+} ieee1609_private_data_t;
+
+void
+ieee1609dot2_set_next_default_psid(packet_info *pinfo, guint32 psid)
+{
+ p_add_proto_data(wmem_file_scope(), pinfo, proto_ieee1609dot2, 0, GUINT_TO_POINTER(psid));
+}
+
+#include "packet-ieee1609dot2-fn.c"
+
+
+static void
+ieee1609dot2_NinetyDegreeInt_fmt(gchar *s, guint32 v)
+{
+ gint32 lat = (gint32)v;
+ if (lat == 900000001) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", lat);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%u°%u'%.3f\"%c (%d)",
+ abs(lat) / 10000000,
+ abs(lat) % 10000000 * 6 / 1000000,
+ abs(lat) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
+ (lat >= 0) ? 'N' : 'S',
+ lat);
+ }
+}
+
+static void
+ieee1609dot2_OneEightyDegreeInt_fmt(gchar *s, guint32 v)
+{
+ gint32 lng = (gint32)v;
+ if (lng == 1800000001) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable(%d)", lng);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%u°%u'%.3f\"%c (%d)",
+ abs(lng) / 10000000,
+ abs(lng) % 10000000 * 6 / 1000000,
+ abs(lng) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
+ (lng >= 0) ? 'E' : 'W',
+ lng);
+ }
+}
+
+
+static void
+ieee1609dot2_Time32_fmt(gchar *s, guint32 v)
+{
+ time_t secs = v + 1072915200 - 5;
+ struct tm *tm = gmtime(&secs);
+ snprintf(s, ITEM_LABEL_LENGTH, "%u-%02u-%02u %02u:%02u:%02u (%u)",
+ tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, v
+ );
+}
+
+static void
+ieee1609dot2_Time64_fmt(gchar *s, guint64 v)
+{
+ time_t secs = v / 1000000 + 1072915200 - 5;
+ guint32 usecs = v % 1000000;
+ struct tm *tm = gmtime(&secs);
+ snprintf(s, ITEM_LABEL_LENGTH, "%u-%02u-%02u %02u:%02u:%02u.%06u (%" PRIu64 ")",
+ tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, usecs, v
+ );
+}
+
+/*--- proto_register_ieee1609dot2 ----------------------------------------------*/
+void proto_register_ieee1609dot2(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-ieee1609dot2-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-ieee1609dot2-ettarr.c"
+ &ett_ieee1609dot2_ssp,
+ };
+
+ /* Register protocol */
+ proto_ieee1609dot2 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ieee1609dot2, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ proto_ieee1609dot2_handle = register_dissector("ieee1609dot2.data", dissect_Ieee1609Dot2Data_PDU, proto_ieee1609dot2);
+
+ // See TS17419_ITS-AID_AssignedNumbers
+ unsecured_data_subdissector_table = register_dissector_table("ieee1609dot2.psid",
+ "ATS-AID/PSID based dissector for unsecured/signed data", proto_ieee1609dot2, FT_UINT32, BASE_HEX);
+ ssp_subdissector_table = register_dissector_table("ieee1609dot2.ssp",
+ "ATS-AID/PSID based dissector for Service Specific Permissions (SSP)", proto_ieee1609dot2, FT_UINT32, BASE_HEX);
+}
+
+
+void proto_reg_handoff_ieee1609dot2(void) {
+ dissector_add_string("media_type", "application/x-its", proto_ieee1609dot2_handle);
+ dissector_add_string("media_type", "application/x-its-request", proto_ieee1609dot2_handle);
+ dissector_add_string("media_type", "application/x-its-response", proto_ieee1609dot2_handle);
+
+ dissector_add_uint("ieee1609dot2.psid", psid_certificate_revocation_list_application, create_dissector_handle(dissect_SecuredCrl_PDU, proto_ieee1609dot2));
+ //dissector_add_uint_range_with_preference("udp.port", "56000,56001", proto_ieee1609dot2_handle);
+
+}
diff --git a/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.h b/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.h
new file mode 100644
index 00000000..f64075d7
--- /dev/null
+++ b/epan/dissectors/asn1/ieee1609dot2/packet-ieee1609dot2-template.h
@@ -0,0 +1,45 @@
+/* packet-IEEE1609dot2.h
+ * Routines for IEEE 1609.2
+ * Copyright 2018, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef _IEEE1609DOT2_H_
+#define _IEEE1609DOT2_H_
+
+#include "ws_symbol_export.h"
+
+#include "packet-ieee1609dot2-val.h"
+
+/*
+ * When dissecting IEEE1609.2 structure containing only unsecured data, no PSID
+ * is provided inside. Caller has to provide a ITS-AID/PSID before calling the
+ * dissector to have a chance to dissect the data part.
+ * For signed data, PSID is provided and the caller do not have to provide the
+ * PSID. If he does, the provided PSID takes precedence on the PSID inside the
+ * structure.
+ */
+WS_DLL_PUBLIC
+void ieee1609dot2_set_next_default_psid(packet_info *pinfo, guint32 psid);
+
+#include "packet-ieee1609dot2-exp.h"
+
+#endif /* _IEEE1609DOT2_H_ */
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/ilp/CMakeLists.txt b/epan/dissectors/asn1/ilp/CMakeLists.txt
new file mode 100644
index 00000000..955fc100
--- /dev/null
+++ b/epan/dissectors/asn1/ilp/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ilp )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ILP.asn
+ ILP-Components.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ilp/ILP-Components.asn b/epan/dissectors/asn1/ilp/ILP-Components.asn
new file mode 100644
index 00000000..5fab2d0f
--- /dev/null
+++ b/epan/dissectors/asn1/ilp/ILP-Components.asn
@@ -0,0 +1,852 @@
+-- ILP.asn
+--
+-- Taken from OMA Internal Location Protocol
+-- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ILP-V2_0_4-20181213-A.zip
+--
+-- 13.3 Common Elements
+--
+ILP-Components DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS
+ Version, SessionID2, LocationId, PosTechnology, Position, StatusCode,
+ QoP, PosMethod, Velocity, PosPayLoad, SETCapabilities, SPCStatusCode, SPCSETKey, SPCTID, SPCSETKeylifetime, maxPosSize, UTRAN-GPSReferenceTimeResult, UTRAN-GANSSReferenceTimeResult, GNSSPosTechnology, UTRAN-GPSReferenceTimeAssistance, UTRAN-GANSSReferenceTimeAssistance, MultipleLocationIds, GANSSSignals;
+
+-- protocol version expressed as x.y.z (e.g., 5.1.0)
+Version ::= SEQUENCE {
+ maj INTEGER(0..255),
+ min INTEGER(0..255),
+ servind INTEGER(0..255)}
+
+SessionID2 ::= SEQUENCE {
+ slcSessionID SlcSessionID,
+ setSessionID SetSessionID OPTIONAL,
+ spcSessionID SpcSessionID OPTIONAL
+ -- the semantics of OPTIONAL applies to the encoding only.
+ -- The parameter itself is MANDATORY. Since the spcSessionID is allocated by the SPC,
+ -- there is no spcSessionID to be transmitted in the ILP PREQ message.
+}
+
+SetSessionID ::= SEQUENCE {
+ sessionId INTEGER(0..65535),
+ setId SETId
+}
+
+SETId ::= CHOICE {
+ msisdn OCTET STRING(SIZE (8)),
+ mdn OCTET STRING(SIZE (8)),
+ min BIT STRING(SIZE (34)), -- coded according to TIA-553
+ imsi OCTET STRING(SIZE (8)),
+ nai IA5String(SIZE (1..1000)),
+ iPAddress IPAddress,
+...,
+ imei OCTET STRING(SIZE (8))}
+-- msisdn, mnd, imsi and imei are a BCD (Binary Coded Decimal) string
+-- represent digits from 0 through 9,
+-- two digits per octet, each digit encoded 0000 to 1001 (0 to 9)
+-- bits 8765 of octet n encoding digit 2n
+-- bits 4321 of octet n encoding digit 2(n-1) +1
+-- not used digits in the string shall be filled with 1111
+-- imei SHALL NOT be used unless the SLP indicates support for SUPL ver 2.0.3
+-- or greater
+
+SlcSessionID ::= SEQUENCE {
+ sessionID OCTET STRING(SIZE (4)),
+ slcId NodeAddress
+}
+
+SpcSessionID ::= SEQUENCE {
+ sessionID OCTET STRING(SIZE (4)),
+ spcId NodeAddress
+}
+
+IPAddress ::= CHOICE {
+ ipv4Address OCTET STRING(SIZE (4)),
+ ipv6Address OCTET STRING(SIZE (16))
+}
+
+NodeAddress ::= CHOICE {
+ iPAddress IPAddress,
+ fqdn FQDN,
+...}
+
+FQDN ::= VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" |".-"))(SIZE (1..255))
+
+LocationId ::= SEQUENCE {
+ cellInfo CellInfo,
+ status Status,
+...}
+
+Status ::= ENUMERATED {stale(0), current(1), unknown(2), ...}
+
+MultipleLocationIds ::= SEQUENCE SIZE (1..maxLidSize) OF LocationIdData
+
+LocationIdData ::= SEQUENCE {
+ locationId LocationId,
+ relativetimestamp RelativeTime OPTIONAL, -- if relativetimestamp is present, then data represents historical measurement, if absent, data represents current measurements
+ servingFlag BOOLEAN, -- if "true" measurements represent serving cell
+...}
+-- status in locationId indicates whether cellInfo is current or stale relative to timestamp
+
+RelativeTime ::= INTEGER (0..65535) -- relative time to "current" Location Id in multiples of 0.01sec
+
+maxLidSize INTEGER ::= 64
+
+
+SETCapabilities ::= SEQUENCE {
+ posTechnology PosTechnology,
+ prefMethod PrefMethod,
+ posProtocol PosProtocol,
+ supportedBearers SupportedBearers OPTIONAL,
+...}
+
+PosTechnology ::= SEQUENCE {
+ agpsSETassisted BOOLEAN,
+ agpsSETBased BOOLEAN,
+ autonomousGPS BOOLEAN,
+ aflt BOOLEAN,
+ ecid BOOLEAN,
+ eotd BOOLEAN,
+ otdoa BOOLEAN,
+ gANSSPositionMethods GANSSPositionMethods OPTIONAL,
+...,
+ additionalPositioningMethods AdditionalPositioningMethods OPTIONAL}
+
+GANSSPositionMethods ::= SEQUENCE (SIZE(1..16)) OF GANSSPositionMethod
+
+GANSSPositionMethod ::= SEQUENCE {
+ ganssId INTEGER(0..15), -- coding according to parameter definition in Section 12.14
+ ganssSBASid BIT STRING(SIZE(3)) OPTIONAL, --coding according to parameter definition in section 12.14
+ gANSSPositioningMethodTypes GANSSPositioningMethodTypes,
+ gANSSSignals GANSSSignals,
+...}
+
+GANSSPositioningMethodTypes ::= SEQUENCE {
+ setAssisted BOOLEAN,
+ setBased BOOLEAN,
+ autonomous BOOLEAN,
+...}
+
+-- indicates MS support for particular GANSS signals and frequencies
+-- coding according to parameter definition in Section 12.14
+GANSSSignals ::= BIT STRING {
+ signal1 (0),
+ signal2 (1),
+ signal3 (2),
+ signal4 (3),
+ signal5 (4),
+ signal6 (5),
+ signal7 (6),
+ signal8 (7)} (SIZE (1..8))
+
+AdditionalPositioningMethods ::= SEQUENCE (SIZE(1..8)) OF AddPosSupport-Element
+
+AddPosSupport-Element ::= SEQUENCE {
+ addPosID ENUMERATED {
+ mBS,
+ ...
+ },
+ addPosMode BIT STRING {
+ standalone (0),
+ setBased (1),
+ setAssisted (2)} (SIZE (1..8)) OPTIONAL,
+...}
+
+PrefMethod ::= ENUMERATED {
+ agnssSETAssistedPreferred, agnssSETBasedPreferred, noPreference,
+...}
+-- Note: In ULP V2.0, the names of the enumerations are
+-- kept the same as in ULP V1.0. ie. Agps in the TS ULP actually shall be
+-- interpreted as agnss. This means that agpsSETassistedPreferred and
+-- agpsSETBasedPreferred in ULP V2.0 map to agnssSETAssistedPreferred and
+-- agnssSETBasedPreferred in ILP.
+
+PosProtocol ::= SEQUENCE {
+ tia801 BOOLEAN,
+ rrlp BOOLEAN,
+ rrc BOOLEAN,
+ lpp BOOLEAN,
+ posProtocolVersionRRLP PosProtocolVersion3GPP OPTIONAL,
+ posProtocolVersionRRC PosProtocolVersion3GPP OPTIONAL,
+ posProtocolVersionTIA801 PosProtocolVersion3GPP2 OPTIONAL,
+ posProtocolVersionLPP PosProtocolVersion3GPP OPTIONAL,
+ ...,
+ lppe BOOLEAN OPTIONAL,
+ posProtocolVersionLPPe PosProtocolVersionOMA OPTIONAL}
+
+PosProtocolVersion3GPP ::= SEQUENCE {
+ majorVersionField INTEGER(0..255),
+ technicalVersionField INTEGER(0..255),
+ editorialVersionField INTEGER(0..255),
+...}
+
+PosProtocolVersion3GPP2 ::= SEQUENCE (SIZE(1..8)) OF Supported3GPP2PosProtocolVersion
+
+Supported3GPP2PosProtocolVersion ::= SEQUENCE {
+ revisionNumber BIT STRING(SIZE (6)), -- the location standard revision number the SET supports coded according to 3GPP2 C.S0022
+ pointReleaseNumber INTEGER(0..255),
+ internalEditLevel INTEGER(0..255),
+...}
+
+PosProtocolVersionOMA ::= SEQUENCE {
+ majorVersionField INTEGER(0..255),
+ minorVersionField INTEGER(0..255),
+...}
+
+SupportedBearers ::= SEQUENCE {
+ gsm BOOLEAN,
+ wcdma BOOLEAN,
+ lte BOOLEAN,
+ cdma BOOLEAN,
+ hprd BOOLEAN,
+ umb BOOLEAN,
+ wlan BOOLEAN,
+ wiMAX BOOLEAN,
+...,
+ nr BOOLEAN }
+
+CellInfo ::= CHOICE {
+ gsmCell GsmCellInformation,
+ wcdmaCell WcdmaCellInformation, --WCDMA Cell Information/TD-SCDMA Cell Information
+ cdmaCell CdmaCellInformation,
+ hrpdCell HrpdCellInformation,
+ umbCell UmbCellInformation,
+ lteCell LteCellInformation,
+ wlanAP WlanAPInformation,
+ wimaxBS WimaxBSInformation,
+...,
+ nrCell NRCellInformation
+}
+
+UTRAN-GPSReferenceTimeResult ::= SEQUENCE {
+-- For ue-GPSTimingOfCell values above 37158911999999 are not
+-- used in this version of the specification
+-- Actual value utran-GPSTimingOfCell = (ms-part * 4294967296) + ls-part
+-- used on the uplink i.e. reported by the SET to the SLP
+ set-GPSTimingOfCell SEQUENCE {
+ ms-part INTEGER (0.. 16383),
+ ls-part INTEGER (0..4294967295)},
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info},
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID}
+ },
+ sfn INTEGER (0..4095),
+ gpsReferenceTimeUncertainty INTEGER (0..127) OPTIONAL,
+...}
+
+UTRAN-GANSSReferenceTimeResult ::= SEQUENCE {
+ ganssTimeID INTEGER (0..15),
+ set-GANSSReferenceTime SET-GANSSReferenceTime,
+...}
+
+SET-GANSSReferenceTime ::= SEQUENCE {
+
+-- Actual value [ns] = (ms-Part * 4294967296 + ls-Part) * 250
+-- Actual values [ns] > 86399999999750 are reserved and are considered a
+-- protocol error
+ set-GANSSTimingOfCell SEQUENCE {
+ ms-part INTEGER (0..80),
+ ls-part INTEGER (0..4294967295)} OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info},
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID}} OPTIONAL,
+ sfn INTEGER (0..4095),
+ ganss-TODUncertainty INTEGER (0..127) OPTIONAL,
+...}
+
+GNSSPosTechnology ::= SEQUENCE {
+ gps BOOLEAN,
+ galileo BOOLEAN,
+ sbas BOOLEAN,
+ modernized-gps BOOLEAN,
+ qzss BOOLEAN,
+ glonass BOOLEAN,
+...,
+ bds BOOLEAN OPTIONAL}
+
+Position ::= SEQUENCE {
+ timestamp UTCTime, -- shall include seconds and shall use UTC time.
+ positionEstimate PositionEstimate,
+ velocity Velocity OPTIONAL,
+...}
+
+PositionEstimate ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ latitude INTEGER(0..8388607),
+ longitude INTEGER(-8388608..8388607),
+ uncertainty
+ SEQUENCE {uncertaintySemiMajor INTEGER(0..127),
+ uncertaintySemiMinor INTEGER(0..127),
+ orientationMajorAxis INTEGER(0..180)} OPTIONAL, -- angle in degree between major axis and North
+ confidence INTEGER(0..100) OPTIONAL,
+ altitudeInfo AltitudeInfo OPTIONAL,
+...} -- Coding as in [3GPP GAD]
+
+AltitudeInfo ::= SEQUENCE {
+ altitudeDirection ENUMERATED {height, depth},
+ altitude INTEGER(0..32767),
+ altUncertainty INTEGER(0..127),
+...} -- based on 3GPP TS 23.032
+
+CdmaCellInformation ::= SEQUENCE {
+ refNID INTEGER(0..65535), -- Network Id
+ refSID INTEGER(0..32767), -- System Id
+ refBASEID INTEGER(0..65535), -- Base Station Id
+ refBASELAT INTEGER(0..4194303), -- Base Station Latitude
+ reBASELONG INTEGER(0..8388607), -- Base Station Longitude
+ refREFPN INTEGER(0..511), -- Base Station PN Code
+ refWeekNumber INTEGER(0..65535), -- GPS Week Number
+ refSeconds INTEGER(0..4194303), -- GPS Seconds
+...}
+
+GsmCellInformation ::= SEQUENCE {
+ refMCC INTEGER(0..999), -- Mobile Country Code
+ refMNC INTEGER(0..999), -- Mobile Network Code
+ refLAC INTEGER(0..65535), -- Location area code
+ refCI INTEGER(0..65535), -- Cell identity
+ nmr NMR OPTIONAL,
+ ta INTEGER(0..255) OPTIONAL, --Timing Advance
+...}
+
+WcdmaCellInformation ::= SEQUENCE {
+ refMCC INTEGER(0..999), -- Mobile Country Code
+ refMNC INTEGER(0..999), -- Mobile Network Code
+ refUC INTEGER(0..268435455), -- Cell identity
+ frequencyInfo FrequencyInfo OPTIONAL,
+ primaryScramblingCode INTEGER(0..511) OPTIONAL, -- Not applicable for TDD
+ measuredResultsList MeasuredResultsList OPTIONAL,
+ cellParametersId INTEGER(0..127) OPTIONAL, -- Not applicable for FDD
+ timingAdvance TimingAdvance OPTIONAL, -- Not applicable for FDD
+...}
+
+TimingAdvance ::= SEQUENCE {
+ ta INTEGER (0..8191),
+ tAResolution TAResolution OPTIONAL, --If missing, resolution is 0.125 chips
+ chipRate ChipRate OPTIONAL, --If missing, chip rate is 1.28 Mchip/s
+...}
+
+TAResolution ::= ENUMERATED {res10chip(0),res05chip(1),res0125chip(2), ...} -- Corresponding to 1.0-chip, 0.5-chip and 0.125-chip resolutions, respectively
+
+ChipRate ::= ENUMERATED {tdd128(0),tdd384(1), tdd768(2), ...} -- Corresponding to 1.28-Mchips/s, 3.84-Mchips/s and 7.68-Mchips/s chip rates, respectively
+
+HrpdCellInformation ::= SEQUENCE {
+ refSECTORID BIT STRING(SIZE (128)) OPTIONAL, -- HRPD Sector Id
+ refBASELAT INTEGER(0..4194303), -- Base Station Latitude
+ reBASELONG INTEGER(0..8388607), -- Base Station Longitude
+ refWeekNumber INTEGER(0..65535), -- GPS Week Number
+ refSeconds INTEGER(0..4194303), -- GPS Seconds
+ ...}
+
+UmbCellInformation ::= SEQUENCE {
+ refSECTORID BIT STRING(SIZE (128)), -- UMB Sector Id
+ refMCC INTEGER(0..999), -- Mobile Country Code
+ refMNC INTEGER(0..999), -- Mobile Network Code
+ refBASELAT INTEGER(0..4194303), -- Base Station Latitude
+ reBASELONG INTEGER(0..8388607), -- Base Station Longitude
+ refWeekNumber INTEGER(0..65535), -- GPS Week Number
+ refSeconds INTEGER(0..4194303), -- GPS Seconds
+ ...}
+
+-- LTE Cell info per 3GPP TS 36.331.
+-- If not otherwise stated info is related to serving cell
+
+LteCellInformation ::= SEQUENCE {
+ cellGlobalIdEUTRA CellGlobalIdEUTRA,
+ physCellId PhysCellId,
+ trackingAreaCode TrackingAreaCode,
+ rsrpResult RSRP-Range OPTIONAL,
+ rsrqResult RSRQ-Range OPTIONAL,
+ ta INTEGER(0..1282) OPTIONAL, -- Currently used Timing Advance value (N_TA/16 as per [3GPP 36.213])
+ measResultListEUTRA MeasResultListEUTRA OPTIONAL, -- Neighbour measurements
+ ...,
+ earfcn INTEGER(0..65535) OPTIONAL, -- see Table 24
+ earfcn-ext INTEGER (65536..262143) OPTIONAL, -- see Table 24
+ rsrpResult-ext RSRP-Range-Ext OPTIONAL,
+ rsrqResult-ext RSRQ-Range-Ext OPTIONAL,
+ rs-sinrResult RS-SINR-Range OPTIONAL,
+ servingInformation5G ServingInformation5G OPTIONAL
+}
+-- If rsrpResult-ext is included, rsrpResult shall be excluded or set to 0
+-- If rsrqResult-ext is included and in the range 0 to 34, rsrqResult shall
+-- be included and set equal to rsrqResult-ext
+-- If rsrqResult-ext is included and outside the range 0 to 34, rsrqResult shall
+-- be excluded or set to 0 when rsrqResult-ext is negative or to 34 when
+-- rsrqResult-ext is positive
+-- servingInformation5G shall be included for a serving cell connected to 5GCN
+
+-- Measured results of neighbours cells per 3GPP TS 36.331
+
+MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA
+
+MeasResultEUTRA ::= SEQUENCE {
+ physCellId PhysCellId,
+ cgi-Info SEQUENCE {
+ cellGlobalId CellGlobalIdEUTRA,
+ trackingAreaCode TrackingAreaCode
+ } OPTIONAL,
+ measResult SEQUENCE {
+ rsrpResult RSRP-Range OPTIONAL, -- Mapping to measured values
+ rsrqResult RSRQ-Range OPTIONAL, -- in 3GPP TS 36.133
+ ...,
+ earfcn INTEGER(0..65535) OPTIONAL, -- see Table 24
+ earfcn-ext INTEGER (65536..262143) OPTIONAL, -- see Table 24
+rsrpResult-ext RSRP-Range-Ext OPTIONAL,
+rsrqResult-ext RSRQ-Range-Ext OPTIONAL,
+rs-sinrResult RS-SINR-Range OPTIONAL,
+neighbourInformation5G NeighbourInformation5G OPTIONAL
+ }
+}
+-- If rsrpResult-ext is included, rsrpResult shall be excluded or set to 0
+-- If rsrqResult-ext is included and in the range 0 to 34, rsrqResult shall
+-- be included and set equal to rsrqResult-ext
+-- If rsrqResult-ext is included and outside the range 0 to 34, rsrqResult shall
+-- be excluded or set to 0 when rsrqResult-ext is negative or to 34 when
+-- rsrqResult-ext is positive
+-- neighbourInformation5G may only be included for a cell connected to 5GCN
+
+PhysCellId ::= INTEGER (0..503)
+
+TrackingAreaCode ::= BIT STRING (SIZE (16))
+
+CellGlobalIdEUTRA ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellIdentity CellIdentity,
+ ...
+}
+
+PLMN-Identity ::= SEQUENCE {
+ mcc MCC OPTIONAL,
+ mnc MNC
+}
+
+CellIdentity ::= BIT STRING (SIZE (28))
+
+MCC ::= SEQUENCE (SIZE (3)) OF
+MCC-MNC-Digit
+
+MNC ::= SEQUENCE (SIZE (2..3)) OF
+ MCC-MNC-Digit
+
+MCC-MNC-Digit ::= INTEGER (0..9)
+
+RSRP-Range ::= INTEGER(0..97)
+RSRQ-Range ::= INTEGER(0..34)
+RSRP-Range-Ext ::= INTEGER(-17..-1)
+RSRQ-Range-Ext ::= INTEGER(-30..46)
+RS-SINR-Range ::= INTEGER(0..127)
+
+ServingInformation5G ::= SEQUENCE {
+ trackingAreaCode TrackingAreaCodeNR,
+ ...
+}
+
+NeighbourInformation5G ::= SEQUENCE {
+ trackingAreaCode TrackingAreaCodeNR OPTIONAL,
+ ...
+}
+maxCellReport INTEGER ::= 8
+
+WlanAPInformation ::= SEQUENCE { -- as per [IEEE 802.11]
+ apMACAddress BIT STRING(SIZE (48)), -- AP MAC Address
+ apTransmitPower INTEGER(-127..128) OPTIONAL, -- AP transmit power in dbm
+ apAntennaGain INTEGER(-127..128) OPTIONAL, -- AP antenna gain in dBi
+ apSignaltoNoise INTEGER(-127..128) OPTIONAL, -- AP S/N received at SET
+ apDeviceType ENUMERATED {wlan802-11a(0), wlan802-11b(1), wlan802-11g(2), ..., wlan802-11n(3), wlan802-11ac(4), wlan802-11ad(5)} OPTIONAL,
+ apSignalStrength INTEGER(-127..128) OPTIONAL, -- AP signal strength at SET
+ apChannelFrequency INTEGER(0..256) OPTIONAL, -- AP channel/frequency of Tx/Rx
+ apRoundTripDelay RTD OPTIONAL, -- Round Trip Delay between SET and AP
+ setTransmitPower INTEGER(-127..128) OPTIONAL, -- SET transmit power in dBm
+ setAntennaGain INTEGER (-127..128) OPTIONAL, -- SET antenna gain in dBi
+ setSignaltoNoise INTEGER (-127..128) OPTIONAL, -- SET S/N received at AP
+ setSignalStrength INTEGER(-127..128) OPTIONAL, -- SET signal strength at AP
+ apReportedLocation ReportedLocation OPTIONAL, -- AP Location reported by AP (legacy encoding)
+ ...,
+ apRepLocation RepLocation OPTIONAL, -- AP Location reported by AP
+ apSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- see Table 28
+ apSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- see Table 28
+ setSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- see Table 28
+ setSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- see Table 28
+ operatingClass INTEGER (0..255) OPTIONAL,
+ apSSID OCTET STRING (SIZE (1..32)) OPTIONAL,
+ apPHYType ENUMERATED {unknown(0), any(1), fhss(2), dsss(3), irbaseband(4), ofdm(5), hrdsss(6), erp(7), ht(8), ihv(9), ...} OPTIONAL,
+ setMACAddress BIT STRING(SIZE (48)) OPTIONAL -- MAC Address used by SET to connect to AP
+}
+
+RTD ::= SEQUENCE { -- as per [IEEE 802.11]
+ rTDValue INTEGER(0..16777216), -- measured RTD value corresponding to about 500km in units of 1/10 of nanoseconds
+ rTDUnits RTDUnits, -- units of RTD
+ rTDAccuracy INTEGER(0..255) OPTIONAL, -- RTD accuracy
+ ...}
+
+RTDUnits ::= ENUMERATED {
+ microseconds(0), hundredsofnanoseconds(1), tensofnanoseconds(2), nanoseconds(3), tenthsofnanoseconds(4), ...}
+
+ReportedLocation ::= SEQUENCE { -- as per 802.11v
+ locationEncodingDescriptor LocationEncodingDescriptor,
+ locationData LocationData, -- location data field
+ ...}
+
+LocationEncodingDescriptor ::= ENUMERATED {
+ lci(0),asn1(1), ...}
+
+LocationData ::= SEQUENCE {
+ locationAccuracy INTEGER(0..4294967295) OPTIONAL,
+ locationValue OCTET STRING (SIZE(1..128)),
+ ...}
+
+RepLocation ::= CHOICE {
+ lciLocData LciLocData, -- location data field as per [IEEE 802.11] and [RFC 3825]
+ ... -- future formats may be added here
+}
+
+LciLocData ::= SEQUENCE {
+ locationDataLCI LocationDataLCI OPTIONAL,
+...}
+
+LocationDataLCI ::= SEQUENCE {
+ latitudeResolution BIT STRING (SIZE (6)),
+ latitude BIT STRING (SIZE (34)),
+ longitudeResolution BIT STRING (SIZE (6)),
+ longitude BIT STRING (SIZE (34)),
+ altitudeType BIT STRING (SIZE (4)),
+ altitudeResolution BIT STRING (SIZE (6)),
+ altitude BIT STRING (SIZE (30)),
+ datum BIT STRING (SIZE (8)),
+...}
+
+WimaxBSInformation ::= SEQUENCE {
+ wimaxBsID WimaxBsID, -- WiMax serving base station ID
+ wimaxRTD WimaxRTD OPTIONAL, -- Round Trip Delay measurements
+ wimaxNMRList WimaxNMRList OPTIONAL, -- Network measurements
+ ...}
+
+WimaxBsID ::= SEQUENCE {
+ bsID-MSB BIT STRING (SIZE(24)) OPTIONAL,
+ bsID-LSB BIT STRING (SIZE(24)),
+...}
+-- if only LSB is present, MSB is assumed to be identical to the current serving BS or clamped on network value
+
+WimaxRTD ::= SEQUENCE {
+ rtd INTEGER (0..65535), -- Round trip delay of serving BS in units of 10 ns
+ rTDstd INTEGER (0..1023) OPTIONAL, -- Standard deviation of round trip delay in units of 10 ns
+...}
+
+WimaxNMRList ::= SEQUENCE (SIZE (1..maxWimaxBSMeas)) OF WimaxNMR
+
+WimaxNMR ::= SEQUENCE {
+ wimaxBsID WimaxBsID, -- WiMax BS ID for the measurement
+ relDelay INTEGER (-32768..32767) OPTIONAL, -- Relative delay for this neighbouring BSs to the serving cell in units of 10 ns
+ relDelaystd INTEGER (0..1023) OPTIONAL, -- Standard deviation of Relative delay in units of 10 ns
+ rssi INTEGER (0..255) OPTIONAL, -- RSSI in 0.25 dBm steps, starting from -103.75 dBm
+ rSSIstd INTEGER (0..63) OPTIONAL, -- Standard deviation of RSSI in dB
+ bSTxPower INTEGER (0..255) OPTIONAL, -- BS transmit power in 0.25 dBm steps, starting from -103.75 dBm
+ cinr INTEGER (0..255) OPTIONAL, -- in dB
+ cINRstd INTEGER (0..63) OPTIONAL, -- Standard deviation of CINR in dB
+ bSLocation ReportedLocation OPTIONAL, -- Reported location of the BS
+...}
+
+maxWimaxBSMeas INTEGER ::= 32
+
+NRCellInformation ::= SEQUENCE {
+ servingCellInformation ServingCellInformationNR, --Serving cell information
+ measuredResultsListNR MeasResultListNR OPTIONAL, --Neighbour measurements
+ ...
+}
+
+-- Information for serving cells per 3GPP TS 38.331
+
+ServingCellInformationNR ::= SEQUENCE (SIZE (1..maxNRServingCell)) OF ServCellNR
+-- The first listed serving cell shall be the primary cell
+
+ServCellNR ::= SEQUENCE {
+ physCellId PhysCellIdNR,
+ arfcn-NR ARFCN-NR,
+ cellGlobalId CellGlobalIdNR,
+ trackingAreaCode TrackingAreaCodeNR,
+ ssb-Measurements NR-Measurements OPTIONAL,
+ csi-rs-Measurements NR-Measurements OPTIONAL,
+ ta INTEGER(0..3846) OPTIONAL, --Timing Advance value
+ ...
+}
+
+-- Measured results of neighbours cells per 3GPP TS 38.331
+
+MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReportNR)) OF MeasResultNR
+
+MeasResultNR ::= SEQUENCE {
+ physCellId PhysCellIdNR,
+ arfcn-NR ARFCN-NR,
+ cellGlobalId CellGlobalIdNR OPTIONAL,
+ trackingAreaCode TrackingAreaCodeNR OPTIONAL,
+ ssb-Measurements NR-Measurements OPTIONAL,
+ csi-rs-Measurements NR-Measurements OPTIONAL,
+ ...
+}
+
+PhysCellIdNR ::= INTEGER (0..1007)
+
+ARFCN-NR ::= INTEGER (0.. 3279165)
+
+TrackingAreaCodeNR ::= BIT STRING (SIZE (24))
+
+CellGlobalIdNR ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellIdentityNR CellIdentityNR,
+ ...
+}
+
+CellIdentityNR ::= BIT STRING (SIZE (36))
+
+NR-Measurements ::= SEQUENCE {
+ rsrp-Range INTEGER (0..127) OPTIONAL,
+ rsrq-Range INTEGER (0..127) OPTIONAL,
+ sinr-Range INTEGER (0..127) OPTIONAL,
+ ...
+}
+
+maxNRServingCell INTEGER ::= 32
+maxCellReportNR INTEGER ::= 32
+
+FrequencyInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {fdd FrequencyInfoFDD,
+ tdd FrequencyInfoTDD,
+ ...},
+ ...}
+
+FrequencyInfoFDD ::= SEQUENCE {
+ uarfcn-UL UARFCN OPTIONAL,
+ uarfcn-DL UARFCN,
+ ...}
+
+FrequencyInfoTDD ::= SEQUENCE {uarfcn-Nt UARFCN,
+ ...}
+
+UARFCN ::= INTEGER(0..16383)
+
+NMR ::= SEQUENCE (SIZE (1..15)) OF NMRelement
+
+NMRelement ::= SEQUENCE {
+ arfcn INTEGER(0..1023),
+ bsic INTEGER(0..63),
+ rxLev INTEGER(0..63),
+...}
+
+MeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasuredResults
+
+MeasuredResults ::= SEQUENCE {
+ frequencyInfo FrequencyInfo OPTIONAL,
+ utra-CarrierRSSI UTRA-CarrierRSSI OPTIONAL,
+ cellMeasuredResultsList CellMeasuredResultsList OPTIONAL}
+
+CellMeasuredResultsList ::=
+ SEQUENCE (SIZE (1..maxCellMeas)) OF CellMeasuredResults
+
+-- SPARE: UTRA-CarrierRSSI, Max = 76
+-- Values above Max are spare
+UTRA-CarrierRSSI ::= INTEGER(0..127)
+
+CellMeasuredResults ::= SEQUENCE {
+ cellIdentity INTEGER(0..268435455) OPTIONAL,
+ modeSpecificInfo
+ CHOICE {fdd
+ SEQUENCE {primaryCPICH-Info PrimaryCPICH-Info,
+ cpich-Ec-N0 CPICH-Ec-N0 OPTIONAL,
+ cpich-RSCP CPICH-RSCP OPTIONAL,
+ pathloss Pathloss OPTIONAL},
+ tdd
+ SEQUENCE {cellParametersID CellParametersID,
+ proposedTGSN TGSN OPTIONAL,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL,
+ pathloss Pathloss OPTIONAL,
+ timeslotISCP-List TimeslotISCP-List OPTIONAL
+ -- NOTE: TimeSlotISCP measurement list cannot be interpreted without the knowledge of Cell Info as defined in [3GPP RRC].
+}}}
+
+CellParametersID ::= INTEGER(0..127)
+
+TGSN ::= INTEGER(0..14)
+
+PrimaryCCPCH-RSCP ::= INTEGER(0..127)
+
+-- SPARE: TimeslotISCP, Max = 91
+-- Values above Max are spare
+TimeslotISCP ::= INTEGER(0..127)
+
+TimeslotISCP-List ::= SEQUENCE (SIZE (1..maxTS)) OF TimeslotISCP
+
+PrimaryCPICH-Info ::= SEQUENCE {primaryScramblingCode INTEGER(0..511)}
+
+-- SPARE: CPICH-Ec-No, Max = 49
+-- Values above Max are spare
+CPICH-Ec-N0 ::= INTEGER(0..63)
+
+-- SPARE: CPICH- RSCP, data range from 0 to 91 and from 123 to 127.
+-- Values from 92 to 122 are spare
+-- the encoding of cpich-RSCP is (as per 25.331 V5.11.0)
+-- cpich-RSCP = 123 CPICH RSCP <-120 dBm
+-- cpich-RSCP = 124 -120 ? CPICH RSCP < -119 dBm
+-- cpich-RSCP = 125 -119 ? CPICH RSCP < -118 dBm
+-- cpich-RSCP = 126 -118 ? CPICH RSCP < -117 dBm
+-- cpich-RSCP = 127 -117 ? CPICH RSCP < -116 dBm
+-- cpich-RSCP = 0 -116 ? CPICH RSCP < -115 dBm
+-- cpich-RSCP = 1 -115 ? CPICH RSCP < -114 dBm
+-- ... ... ...
+-- cpich-RSCP = 89 -27 ? CPICH RSCP < -26 dBm
+-- cpich-RSCP = 90 -26 ? CPICH RSCP < -25 dBm
+-- cpich-RSCP = 91 -25 ? CPICH RSCP dBm
+
+CPICH-RSCP ::= INTEGER(0..127)
+
+-- SPARE: Pathloss, Max = 158
+-- Values above Max are spare
+Pathloss ::= INTEGER(46..173)
+
+maxCellMeas INTEGER ::= 32
+
+maxFreq INTEGER ::= 8
+
+maxTS INTEGER ::= 14
+
+UTRAN-GPSReferenceTimeAssistance ::= SEQUENCE {
+ utran-GPSReferenceTime UTRAN-GPSReferenceTime,
+ gpsReferenceTimeUncertainty INTEGER (0..127) OPTIONAL,
+ utranGPSDriftRate UTRANGPSDriftRate OPTIONAL}
+
+UTRAN-GPSReferenceTime ::= SEQUENCE {
+ -- For utran-GPSTimingOfCell values above 2322431999999 are not
+ -- used in this version of the specification
+ -- Actual value utran-GPSTimingOfCell = (ms-part * 4294967296) + ls-part
+ -- used on the downlink i.e. sent from the SLP to the SET
+ utran-GPSTimingOfCell SEQUENCE {
+ ms-part INTEGER (0..1023),
+ ls-part INTEGER (0..4294967295)
+ },
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info},
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID}} OPTIONAL,
+ sfn INTEGER (0..4095)
+}
+
+UTRANGPSDriftRate ::= ENUMERATED {
+ utran-GPSDrift0, utran-GPSDrift1, utran-GPSDrift2,
+ utran-GPSDrift5, utran-GPSDrift10, utran-GPSDrift15,
+ utran-GPSDrift25, utran-GPSDrift50, utran-GPSDrift-1,
+ utran-GPSDrift-2, utran-GPSDrift-5, utran-GPSDrift-10,
+ utran-GPSDrift-15, utran-GPSDrift-25, utran-GPSDrift-50
+}
+
+UTRAN-GANSSReferenceTimeAssistance ::= SEQUENCE {
+ ganssTimeID INTEGER (0..15),
+ utran-GANSSReferenceTime UTRAN-GANSSReferenceTime,
+ ganssDay INTEGER (0..8191) OPTIONAL,
+ utranGANSSDriftRate UTRANGANSSDriftRate OPTIONAL
+}
+
+UTRAN-GANSSReferenceTime ::= SEQUENCE {
+ ganssTOD INTEGER (0..86399),
+ utran-GANSSTimingOfCell INTEGER (0..3999999) OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info},
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID}} OPTIONAL,
+ sfn INTEGER (0..4095),
+ ganss-TODUncertainty INTEGER (0..127) OPTIONAL,
+...}
+
+UTRANGANSSDriftRate ::= ENUMERATED {
+ utran-GANSSDrift0, utran-GANSSDrift1, utran-GANSSDrift2,
+ utran-GANSSDrift5, utran-GANSSDrift10, utran-GANSSDrift15,
+ utran-GANSSDrift25, utran-GANSSDrift50, utran-GANSSDrift-1,
+ utran-GANSSDrift-2, utran-GANSSDrift-5, utran-GANSSDrift-10,
+ utran-GANSSDrift-15, utran-GANSSDrift-25, utran-GANSSDrift-50}
+
+StatusCode ::= ENUMERATED {
+ unspecified(0), systemFailure(1), unexpectedMessage(2), protocolError(3),
+ dataMissing(4), unexpectedDataValue(5), posMethodFailure(6),
+ posMethodMismatch(7), posProtocolMismatch(8), targetSETnotReachable(9),
+ versionNotSupported(10), resourceShortage(11), invalidSessionId(12),
+ nonProxyModeNotSupported(13), proxyModeNotSupported(14),
+ positioningNotPermitted(15), iLPTimeout(16),
+ ...}
+
+QoP ::= SEQUENCE {
+ horacc INTEGER(0..127),
+ veracc INTEGER(0..127) OPTIONAL, -- as defined in 3GPP TS 23.032 "uncertainty altitude"
+ maxLocAge INTEGER(0..65535) OPTIONAL,
+ delay INTEGER(0..7) OPTIONAL, -- as defined in 3GPP TS 44.031
+...,
+ ver2-responseTime INTEGER (1..128) OPTIONAL}
+
+Velocity ::= CHOICE { -- velocity definition as per 23.032
+ horvel Horvel,
+ horandvervel Horandvervel,
+ horveluncert Horveluncert,
+ horandveruncert Horandveruncert,
+...}
+
+Horvel ::= SEQUENCE {
+ bearing BIT STRING(SIZE (9)),
+ horspeed BIT STRING(SIZE (16)),
+...}
+
+Horandvervel ::= SEQUENCE {
+ verdirect BIT STRING(SIZE (1)),
+ bearing BIT STRING(SIZE (9)),
+ horspeed BIT STRING(SIZE (16)),
+ verspeed BIT STRING(SIZE (8)),
+...}
+
+Horveluncert ::= SEQUENCE {
+ bearing BIT STRING(SIZE (9)),
+ horspeed BIT STRING(SIZE (16)),
+ uncertspeed BIT STRING(SIZE (8)),
+...}
+
+Horandveruncert ::= SEQUENCE {
+ verdirect BIT STRING(SIZE (1)),
+ bearing BIT STRING(SIZE (9)),
+ horspeed BIT STRING(SIZE (16)),
+ verspeed BIT STRING(SIZE (8)),
+ horuncertspeed BIT STRING(SIZE (8)),
+ veruncertspeed BIT STRING(SIZE (8)),
+...}
+
+PosMethod ::= ENUMERATED {
+ agpsSETassisted(0), agpsSETbased(1), agpsSETassistedpref(2),
+ agpsSETbasedpref(3), autonomousGPS(4), aflt(5), ecid(6), eotd(7), otdoa(8), agnssSETassisted(9), agnssSETbased(10), agnssSETassistedpref(11), agnssSETbasedpref(12), autonomousGNSS(13),
+..., ver2-mbs(14)}
+
+SPCSETKey ::= BIT STRING(SIZE (128))
+
+SPCTID ::= SEQUENCE {
+ rand BIT STRING(SIZE (128)),
+ slpFQDN FQDN,
+...}
+
+SPCSETKeylifetime ::= INTEGER (1..24) -- units in hours
+
+
+PosPayLoad ::= CHOICE {
+ rrcPayload OCTET STRING(SIZE (1..8192)),
+ rrlpPayload OCTET STRING(SIZE (1..8192)),
+ multiPosPayload MultiPosPayLoad,
+...}
+
+MultiPosPayLoad ::= SEQUENCE {
+ lPPPayload SEQUENCE (SIZE (1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL,
+ tia801Payload SEQUENCE (SIZE (1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL,
+...}
+
+SPCStatusCode ::= ENUMERATED {operational(0), notOperational(1), reducedAvailability(2),
+ ...}
+
+maxPosSize INTEGER ::= 1024
+
+END
diff --git a/epan/dissectors/asn1/ilp/ILP.asn b/epan/dissectors/asn1/ilp/ILP.asn
new file mode 100644
index 00000000..11dfd4f2
--- /dev/null
+++ b/epan/dissectors/asn1/ilp/ILP.asn
@@ -0,0 +1,419 @@
+-- ILP.asn
+--
+-- Taken from OMA Internal Location Protocol
+-- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ILP-V2_0_4-20181213-A.zip
+--
+-- 13.1 Common Part
+--
+ILP DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ Version, SessionID2
+ FROM ILP-Components
+ PREQ
+ FROM ILP-PREQ
+ PRES
+ FROM ILP-PRES
+ PRPT
+ FROM ILP-PRPT
+ PLREQ
+ FROM ILP-PLREQ
+ PLRES
+ FROM ILP-PLRES
+ PINIT
+ FROM ILP-PINIT
+ PAUTH
+ FROM ILP-PAUTH
+ PALIVE
+ FROM ILP-PALIVE
+ PEND
+ FROM ILP-PEND
+ PMESS
+ FROM ILP-PMESS;
+
+-- general ILP PDU layout;
+ILP-PDU ::= SEQUENCE {
+ length INTEGER(0..65535),
+ version Version,
+ sessionID2 SessionID2,
+ message IlpMessage
+}
+
+IlpMessage ::= CHOICE {
+ msPREQ PREQ,
+ msPRES PRES,
+ msPRPT PRPT,
+ msPLREQ PLREQ,
+ msPLRES PLRES,
+ msPINIT PINIT,
+ msPAUTH PAUTH,
+ msPALIVE PALIVE,
+ msPEND PEND,
+ msPMESS PMESS,
+...}
+
+END
+
+--
+-- 13.2.1 PREQ
+--
+ILP-PREQ DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PREQ;
+
+IMPORTS LocationId, Position, QoP, SPCSETKey, SPCTID, SPCSETKeylifetime, MultipleLocationIds, PosTechnology, SETCapabilities
+ FROM ILP-Components;
+
+PREQ ::= SEQUENCE {
+ sLPMode SLPMode,
+ approvedPosMethods PosTechnology OPTIONAL,
+ locationId LocationId OPTIONAL,
+ multipleLocationIds MultipleLocationIds OPTIONAL,
+ position Position OPTIONAL,
+ triggerParams TriggerParams OPTIONAL,
+ sPCSETKey SPCSETKey OPTIONAL,
+ spctid SPCTID OPTIONAL,
+ sPCSETKeylifetime SPCSETKeylifetime OPTIONAL,
+ qoP QoP OPTIONAL,
+ sETCapabilities SETCapabilities OPTIONAL,
+ notificationMode NotificationMode OPTIONAL,
+...}
+
+SLPMode ::= ENUMERATED {proxy(0), nonProxy(1)}
+
+TriggerParams ::= SEQUENCE {
+ triggerType TriggerType,
+ periodicTriggerParams PeriodicTriggerParams OPTIONAL,
+...}
+
+TriggerType ::= ENUMERATED {
+ periodic(0), areaEvent(1),
+...}
+
+PeriodicTriggerParams ::= SEQUENCE{
+ numberOfFixes INTEGER(1..8639999),
+ intervalBetweenFixes INTEGER(1..8639999),
+ startTime INTEGER(0..2678400) OPTIONAL,
+...}
+-- intervalBetweenFixes and startTime are in seconds.
+-- numberOfFixes * intervalBetweenFixes shall not exceed 8639999
+-- (100 days in seconds) for compatibility with OMA MLP and RLP
+-- startTime is in relative time in units of seconds measured from "now"
+-- a value of 0 signifies "now", a value of "startTime" signifies startTime
+-- seconds from "now"
+
+NotificationMode ::= ENUMERATED {normal(0), basedOnLocation(1), ...}
+
+END
+
+--
+-- 13.2.2 PRES
+--
+ILP-PRES DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PRES;
+
+IMPORTS Position, SPCStatusCode, PosTechnology, PosMethod, GNSSPosTechnology
+ FROM ILP-Components;
+
+PRES ::= SEQUENCE {
+ preferredPosMethod PosMethod OPTIONAL,
+ gnssPosTechnology GNSSPosTechnology OPTIONAL,
+ supportedPosMethods PosTechnology OPTIONAL,
+ position Position OPTIONAL,
+ sPCstatusCode SPCStatusCode OPTIONAL,
+...}
+
+END
+
+--
+-- 13.2.3 PRPT
+--
+ILP-PRPT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PRPT;
+
+IMPORTS Position, StatusCode
+ FROM ILP-Components;
+
+PRPT ::= SEQUENCE {
+ position Position,
+ fixNumber INTEGER(1.. 8639999) OPTIONAL,
+ statusCode StatusCode OPTIONAL,
+...}
+
+END
+
+--
+-- 13.2.4 PLREQ
+--
+ILP-PLREQ DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PLREQ;
+
+IMPORTS LocationId, MultipleLocationIds
+ FROM ILP-Components;
+
+PLREQ ::= SEQUENCE {
+ locationId LocationId,
+ multipleLocationIds MultipleLocationIds OPTIONAL,
+...}
+
+END
+
+--
+-- 13.2.5 PLRES
+--
+ILP-PLRES DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PLRES;
+
+IMPORTS Position, StatusCode, maxPosSize
+ FROM ILP-Components;
+
+PLRES ::= SEQUENCE {
+ positionResults PositionResults,
+...}
+
+PositionResults ::= SEQUENCE SIZE (1..maxPosSize) OF PositionResult
+
+PositionResult ::= CHOICE {
+ position Position,
+ statusCode StatusCode,
+...}
+
+END
+
+--
+-- 13.2.6 PINIT
+--
+ILP-PINIT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PINIT;
+
+IMPORTS
+ LocationId, Position, PosMethod, MultipleLocationIds, PosPayLoad, SETCapabilities, UTRAN-GPSReferenceTimeResult, UTRAN-GANSSReferenceTimeResult, GNSSPosTechnology, GANSSSignals
+ FROM ILP-Components;
+
+PINIT ::= SEQUENCE {
+ sETCapabilities SETCapabilities,
+ locationId LocationId,
+ posMethod PosMethod OPTIONAL,
+ requestedAssistData RequestedAssistData OPTIONAL,
+ position Position OPTIONAL,
+ posPayLoad PosPayLoad OPTIONAL,
+ multipleLocationIds MultipleLocationIds OPTIONAL,
+ utran-GPSReferenceTimeResult UTRAN-GPSReferenceTimeResult OPTIONAL,
+ utran-GANSSReferenceTimeResult UTRAN-GANSSReferenceTimeResult OPTIONAL,
+ gnssPosTechnology GNSSPosTechnology OPTIONAL,
+...}
+
+RequestedAssistData ::= SEQUENCE {
+ almanacRequested BOOLEAN,
+ utcModelRequested BOOLEAN,
+ ionosphericModelRequested BOOLEAN,
+ dgpsCorrectionsRequested BOOLEAN,
+ referenceLocationRequested BOOLEAN, -- Note: Used also for GANSS
+ referenceTimeRequested BOOLEAN,
+ acquisitionAssistanceRequested BOOLEAN,
+ realTimeIntegrityRequested BOOLEAN,
+ navigationModelRequested BOOLEAN,
+ navigationModelData NavigationModel OPTIONAL,
+ ganssRequestedCommonAssistanceDataList GanssRequestedCommonAssistanceDataList OPTIONAL,
+ ganssRequestedGenericAssistanceDataList GanssRequestedGenericAssistanceDataList OPTIONAL,
+ extendedEphemeris ExtendedEphemeris OPTIONAL,
+ extendedEphemerisCheck ExtendedEphCheck OPTIONAL,
+...}
+
+ExtendedEphemeris ::= SEQUENCE {
+ validity INTEGER (1..256), -- Requested validity in 4 hour steps
+...}
+
+ExtendedEphCheck ::= SEQUENCE {
+ beginTime GPSTime, -- Begin time of ephemeris extension held by SET
+ endTime GPSTime, -- End time of ephemeris extension held by SET
+...}
+
+GPSTime ::= SEQUENCE {
+ gPSWeek INTEGER (0..1023),
+ gPSTOWhour INTEGER (0..167),
+...}
+
+GanssRequestedCommonAssistanceDataList ::= SEQUENCE {
+ ganssReferenceTime BOOLEAN,
+ ganssIonosphericModel BOOLEAN,
+ ganssAdditionalIonosphericModelForDataID00 BOOLEAN,
+ ganssAdditionalIonosphericModelForDataID11 BOOLEAN,
+ ganssEarthOrientationParameters BOOLEAN,
+...,
+ ganssAdditionalIonosphericModelForDataID01 BOOLEAN OPTIONAL}
+
+GanssRequestedGenericAssistanceDataList ::= SEQUENCE(SIZE(1..maxGANSS)) OF GanssReqGenericData
+
+GanssReqGenericData ::= SEQUENCE {
+ ganssId INTEGER(0..15), -- coding according to parameter definition in Section 12.14
+ ganssSBASid BIT STRING(SIZE(3)) OPTIONAL, --coding according to parameter definition in section 12.14
+ ganssRealTimeIntegrity BOOLEAN OPTIONAL,
+ ganssDifferentialCorrection DGANSS-Sig-Id-Req OPTIONAL,
+ ganssAlmanac BOOLEAN,
+ ganssNavigationModelData GanssNavigationModelData OPTIONAL,
+ ganssTimeModels BIT STRING(SIZE(16)) OPTIONAL,
+ ganssReferenceMeasurementInfo BOOLEAN,
+ ganssDataBits GanssDataBits OPTIONAL,
+ ganssUTCModel BOOLEAN,
+ ganssAdditionalDataChoices GanssAdditionalDataChoices OPTIONAL,
+ ganssAuxiliaryInformation BOOLEAN,
+ ganssExtendedEphemeris ExtendedEphemeris OPTIONAL,
+ ganssExtendedEphemerisCheck GanssExtendedEphCheck OPTIONAL,
+...,
+ bds-DifferentialCorrection BDS-Sig-Id-Req OPTIONAL,
+ bds-GridModelReq BOOLEAN OPTIONAL}
+
+DGANSS-Sig-Id-Req ::= BIT STRING (SIZE(8)) -- coding according to parameter definition in Section 12.15
+
+BDS-Sig-Id-Req ::= BIT STRING (SIZE(8)) -- coding according to parameter definition in section 12.15
+
+GanssNavigationModelData ::= SEQUENCE {
+ ganssWeek INTEGER(0..4095),
+ ganssToe INTEGER(0..167),
+ t-toeLimit INTEGER(0..10),
+ satellitesListRelatedDataList SatellitesListRelatedDataList OPTIONAL,
+...}
+
+SatellitesListRelatedDataList ::= SEQUENCE(SIZE(0..maxGANSSSat)) OF SatellitesListRelatedData
+
+SatellitesListRelatedData ::= SEQUENCE {
+ satId INTEGER(0..63),
+ iod INTEGER(0..1023),
+...}
+
+maxGANSS INTEGER ::= 16
+maxGANSSSat INTEGER ::= 32
+
+GanssDataBits ::= SEQUENCE {
+ ganssTODmin INTEGER (0..59),
+ reqDataBitAssistanceList ReqDataBitAssistanceList,
+...}
+
+ReqDataBitAssistanceList ::= SEQUENCE {
+ gnssSignals GANSSSignals,
+ ganssDataBitInterval INTEGER (0..15),
+ ganssDataBitSatList SEQUENCE (SIZE(1..maxGANSSSat)) OF INTEGER (0..63) OPTIONAL,
+...}
+
+GanssAdditionalDataChoices ::= SEQUENCE {
+ orbitModelID INTEGER(0..7) OPTIONAL,
+ clockModelID INTEGER(0..7) OPTIONAL,
+ utcModelID INTEGER(0..7) OPTIONAL,
+ almanacModelID INTEGER(0..7) OPTIONAL,
+...}
+
+GanssExtendedEphCheck ::= SEQUENCE {
+ beginTime GANSSextEphTime, -- Begin time of ephemeris extension held by SET
+ endTime GANSSextEphTime, -- End time of ephemeris extension held by SET
+...}
+
+GANSSextEphTime ::= SEQUENCE {
+ gANSSday INTEGER (0..8191),
+ gANSSTODhour INTEGER (0..23),
+...}
+
+NavigationModel ::= SEQUENCE {
+ gpsWeek INTEGER(0..1023),
+ gpsToe INTEGER(0..167),
+ nsat INTEGER(0..31),
+ toeLimit INTEGER(0..10),
+ satInfo SatelliteInfo OPTIONAL,
+...}
+
+SatelliteInfo ::= SEQUENCE (SIZE (1..31)) OF SatelliteInfoElement
+
+SatelliteInfoElement ::= SEQUENCE {
+ satId INTEGER(0..63),
+ iode INTEGER(0..255),
+...}
+
+END
+
+--
+-- 13.2.7 PAUTH
+--
+ILP-PAUTH DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PAUTH;
+
+IMPORTS SPCSETKey, SPCTID, SPCSETKeylifetime
+ FROM ILP-Components;
+
+PAUTH ::= SEQUENCE {
+ sPCSETKey SPCSETKey,
+ spctid SPCTID,
+ sPCSETKeylifetime SPCSETKeylifetime OPTIONAL,
+...}
+
+END
+
+--
+-- 13.2.8 PALIVE
+--
+ILP-PALIVE DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PALIVE;
+
+IMPORTS SPCStatusCode
+ FROM ILP-Components;
+
+PALIVE ::= SEQUENCE {
+ sPCStatusCode SPCStatusCode OPTIONAL,
+...}
+
+END
+
+--
+-- 13.2.9 PEND
+--
+ILP-PEND DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PEND;
+
+IMPORTS Position, StatusCode
+ FROM ILP-Components;
+
+PEND ::= SEQUENCE {
+ position Position OPTIONAL,
+ statusCode StatusCode OPTIONAL,
+...}
+
+END
+
+--
+-- 13.2.10 PMESS
+--
+ILP-PMESS DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS PMESS;
+
+IMPORTS Velocity, PosPayLoad, UTRAN-GPSReferenceTimeResult, UTRAN-GANSSReferenceTimeResult, UTRAN-GPSReferenceTimeAssistance, UTRAN-GANSSReferenceTimeAssistance
+ FROM ILP-Components;
+
+PMESS ::= SEQUENCE {
+ posPayLoad PosPayLoad,
+ velocity Velocity OPTIONAL,
+ utran-GPSReferenceTimeAssistance UTRAN-GPSReferenceTimeAssistance OPTIONAL,
+ utran-GPSReferenceTimeResult UTRAN-GPSReferenceTimeResult OPTIONAL,
+ utran-GANSSReferenceTimeAssistance UTRAN-GANSSReferenceTimeAssistance OPTIONAL,
+ utran-GANSSReferenceTimeResult UTRAN-GANSSReferenceTimeResult OPTIONAL,
+ ...}
+
+END
diff --git a/epan/dissectors/asn1/ilp/ilp.cnf b/epan/dissectors/asn1/ilp/ilp.cnf
new file mode 100644
index 00000000..093b51ac
--- /dev/null
+++ b/epan/dissectors/asn1/ilp/ilp.cnf
@@ -0,0 +1,115 @@
+# ilp.cnf
+# ilp conformation file
+# Copyright 2013 e.yimjia
+
+#.OPT
+PER
+UNALIGNED
+#.END
+
+#.PDU
+ILP-PDU
+#.END
+
+
+#.TYPE_RENAME
+FrequencyInfo/modeSpecificInfo FrequencySpecificInfo
+#.END
+
+#.FIELD_RENAME
+FrequencyInfo/modeSpecificInfo modeSpecificFrequencyInfo
+FrequencyInfo/modeSpecificInfo/fdd fdd_fr
+FrequencyInfo/modeSpecificInfo/tdd tdd_fr
+SETId/min minsi
+LocationDataLCI/latitude LocationDataLCI_latitude
+LocationDataLCI/longitude LocationDataLCI_longitude
+LocationDataLCI/altitude LocationDataLCI_altitude
+CellGlobalIdEUTRA/cellIdentity eutra_cellIdentity
+
+#.FIELD_ATTR
+SETId/min ABBREV=minsi
+LocationDataLCI/latitude ABBREV=locationdatalci.latitude
+LocationDataLCI/latitude ABBREV=locationdatalci.longitude
+LocationDataLCI/altitude ABBREV=locationdatalci.altitude
+CellGlobalIdEUTRA/cellIdentity ABBREV=cellglobalideutra.cellIdentity
+
+
+#.END
+
+#.FN_HDR ILP-PDU
+ proto_item *it;
+ proto_tree *ilp_tree;
+
+ it = proto_tree_add_item(tree, proto_ilp, tvb, 0, -1, ENC_NA);
+ ilp_tree = proto_item_add_subtree(it, ett_ilp);
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, PSNAME);
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+#.END
+
+#.FN_BODY ILP-PDU TREE=ilp_tree
+%(DEFAULT_BODY)s
+#.END
+
+#.FN_BODY IlpMessage VAL_PTR = &IlpMessage
+
+guint32 IlpMessage;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "%%s ", val_to_str_const(IlpMessage,ilp_IlpMessage_vals,"Unknown"));
+
+#.END
+
+#.FN_BODY PosPayLoad/rrlpPayload VAL_PTR = &rrlp_tvb
+ tvbuff_t *rrlp_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (rrlp_tvb && rrlp_handle) {
+ call_dissector(rrlp_handle, rrlp_tvb, %(ACTX)s->pinfo, tree);
+ }
+
+#.FN_BODY MultiPosPayLoad/lPPPayload/_item VAL_PTR = &lpp_tvb
+ tvbuff_t *lpp_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (lpp_tvb && lpp_handle) {
+ call_dissector(lpp_handle, lpp_tvb, %(ACTX)s->pinfo, tree);
+ }
+
+#.FN_BODY SETId/msisdn VAL_PTR=&msisdn_tvb
+ tvbuff_t *msisdn_tvb;
+%(DEFAULT_BODY)s
+ if (msisdn_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ilp_setid);
+ dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
+ }
+
+#.FN_BODY SETId/mdn VAL_PTR=&mdn_tvb
+ tvbuff_t *mdn_tvb;
+%(DEFAULT_BODY)s
+ if (mdn_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ilp_setid);
+ proto_tree_add_item(subtree, hf_ilp_mobile_directory_number, mdn_tvb, 0, 8, ENC_BCD_DIGITS_0_9);
+ }
+
+#.FN_BODY SETId/imsi VAL_PTR=&imsi_tvb
+ tvbuff_t *imsi_tvb;
+%(DEFAULT_BODY)s
+ if (imsi_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ilp_setid);
+ dissect_e212_imsi(imsi_tvb, actx->pinfo, subtree, 0, 8, FALSE);
+ }
+
+#.TYPE_ATTR
+IPAddress/ipv4Address TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
+IPAddress/ipv6Address TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
+#.END
diff --git a/epan/dissectors/asn1/ilp/packet-ilp-template.c b/epan/dissectors/asn1/ilp/packet-ilp-template.c
new file mode 100644
index 00000000..48cd9386
--- /dev/null
+++ b/epan/dissectors/asn1/ilp/packet-ilp-template.c
@@ -0,0 +1,137 @@
+/* packet-ilp.c
+ * Routines for OMA Internal Location Protocol packet dissection
+ * Copyright 2006, e.yimjia <jy.m12.0@gmail.com>
+ * Copyright 2019, Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * ref OMA-TS-ILP-V2_0_4-20181213-A
+ * http://www.openmobilealliance.org
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-tcp.h"
+#include "packet-gsm_map.h"
+#include "packet-e164.h"
+#include "packet-e212.h"
+
+#define PNAME "OMA Internal Location Protocol"
+#define PSNAME "ILP"
+#define PFNAME "ilp"
+
+void proto_register_ilp(void);
+
+static dissector_handle_t rrlp_handle;
+static dissector_handle_t lpp_handle;
+static dissector_handle_t ilp_tcp_handle;
+
+
+/* IANA Registered Ports
+ * oma-ilp 7276/tcp OMA Internal Location
+ */
+#define ILP_TCP_PORT 7276
+
+/* Initialize the protocol and registered fields */
+static int proto_ilp = -1;
+
+
+#define ILP_HEADER_SIZE 2
+
+static gboolean ilp_desegment = TRUE;
+
+#include "packet-ilp-hf.c"
+static int hf_ilp_mobile_directory_number = -1;
+
+/* Initialize the subtree pointers */
+static gint ett_ilp = -1;
+static gint ett_ilp_setid = -1;
+#include "packet-ilp-ett.c"
+
+/* Include constants */
+#include "packet-ilp-val.h"
+
+
+#include "packet-ilp-fn.c"
+
+
+static guint
+get_ilp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset, void *data _U_)
+{
+ /* PDU length = Message length */
+ return tvb_get_ntohs(tvb,offset);
+}
+
+static int
+dissect_ilp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ tcp_dissect_pdus(tvb, pinfo, tree, ilp_desegment, ILP_HEADER_SIZE,
+ get_ilp_pdu_len, dissect_ILP_PDU_PDU, data);
+ return tvb_captured_length(tvb);
+}
+
+void proto_reg_handoff_ilp(void);
+
+/*--- proto_register_ilp -------------------------------------------*/
+void proto_register_ilp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-ilp-hfarr.c"
+ { &hf_ilp_mobile_directory_number,
+ { "Mobile Directory Number", "ilp.mobile_directory_number",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ilp,
+ &ett_ilp_setid,
+#include "packet-ilp-ettarr.c"
+ };
+
+ module_t *ilp_module;
+
+
+ /* Register protocol */
+ proto_ilp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ ilp_tcp_handle = register_dissector("ilp", dissect_ilp_tcp, proto_ilp);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ilp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ ilp_module = prefs_register_protocol(proto_ilp, NULL);
+
+ prefs_register_bool_preference(ilp_module, "desegment_ilp_messages",
+ "Reassemble ILP messages spanning multiple TCP segments",
+ "Whether the ILP dissector should reassemble messages spanning multiple TCP segments."
+ " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &ilp_desegment);
+}
+
+
+/*--- proto_reg_handoff_ilp ---------------------------------------*/
+void
+proto_reg_handoff_ilp(void)
+{
+ dissector_handle_t ilp_pdu_handle;
+
+ ilp_pdu_handle = create_dissector_handle(dissect_ILP_PDU_PDU, proto_ilp);
+ rrlp_handle = find_dissector_add_dependency("rrlp", proto_ilp);
+ lpp_handle = find_dissector_add_dependency("lpp", proto_ilp);
+
+ dissector_add_string("media_type","application/oma-supl-ilp", ilp_pdu_handle);
+ dissector_add_uint_with_preference("tcp.port", ILP_TCP_PORT, ilp_tcp_handle);
+}
diff --git a/epan/dissectors/asn1/inap/CMakeLists.txt b/epan/dissectors/asn1/inap/CMakeLists.txt
new file mode 100644
index 00000000..1f94fc7c
--- /dev/null
+++ b/epan/dissectors/asn1/inap/CMakeLists.txt
@@ -0,0 +1,73 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME inap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST_LATE
+ ../ros/Remote-Operations-Information-Objects.asn
+ ../ros/Remote-Operations-Generic-ROS-PDUs.asn
+)
+
+set( 1248_1_ASN_FILES
+ IN-operationcodes.asn
+ IN-object-identifiers.asn
+ IN-common-datatypes.asn
+)
+
+set( 1248_2_ASN_FILES
+ IN-SSF-SCF-datatypes.asn
+ IN-SSF-SCF-ops-args.asn
+)
+
+set( 1248_3_ASN_FILES
+ IN-SCF-SRF-datatypes.asn
+ IN-SCF-SRF-ops-args.asn
+)
+
+set( 1248_CLASSES_ASN
+ IN-common-classes.asn
+ IN-SSF-SCF-Classes.asn
+ IN-SCF-SRF-Classes.asn
+)
+
+set( ASN_FILE_LIST
+ ${1248_CLASSES_ASN}
+ ${1248_1_ASN_FILES}
+ ${1248_2_ASN_FILES}
+ ${1248_3_ASN_FILES}
+ IN-errorcodes.asn
+ IN-errortypes.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../dap/dap-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../dsp/dsp-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/inap/IN-SCF-SRF-Classes.asn b/epan/dissectors/asn1/inap/IN-SCF-SRF-Classes.asn
new file mode 100644
index 00000000..407c6b6c
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-SCF-SRF-Classes.asn
@@ -0,0 +1,92 @@
+-- Module IN-SCF-SRF-Classes (Q.1248.3:07/2001)
+IN-SCF-SRF-Classes {itu-t recommendation q 1248 modules(1)
+ in-scf-srf-classes(11) version1(0)} DEFINITIONS ::=
+BEGIN
+
+IMPORTS
+ id-package-emptyConnection, id-rosObject-srf, id-rosObject-ssf,
+ ros-InformationObjects, ros-UsefulDefinitions, scf-srf-Protocol,
+ scf-srf-datatypes, ssf-scf-datatypes
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, Code, OPERATION,
+ CONNECTION-PACKAGE
+ FROM Remote-Operations-Information-Objects ros-InformationObjects
+ emptyBind, emptyUnbind
+ FROM Remote-Operations-Useful-Definitions ros-UsefulDefinitions;
+
+UISCRIPT ::= CLASS {
+ &SpecificInfo OPTIONAL,
+ &Result OPTIONAL,
+ &id Code
+}
+WITH SYNTAX {
+ [WITH-SPECIFICINFO &SpecificInfo]
+ [WITH-RESULT &Result]
+ IDENTIFIED BY &id
+}
+
+-- SpecificInfo is used for ScriptRun and ScriptInformation and ScriptClose
+--Result is used for ScritEvent
+firstScript UISCRIPT ::= {IDENTIFIED BY local:1
+}
+
+-- firstScript is just an example.
+SupportedUIScripts UISCRIPT ::=
+ {firstScript, ...
+ --full set of User Interaction script
+ }
+
+-- SupportedUIScripts is the full set of User Interaction scripts.
+SCF-SRF-BOUNDS ::= CLASS {
+ &minAttributesLength INTEGER OPTIONAL,
+ &maxAttributesLength INTEGER OPTIONAL,
+ &minMailBoxIDLength INTEGER OPTIONAL,
+ &maxMailBoxIDLength INTEGER OPTIONAL,
+ &minMessageContentLength INTEGER OPTIONAL,
+ &maxMessageContentLength INTEGER OPTIONAL,
+ &minReceivedInformationLength INTEGER OPTIONAL,
+ &maxReceivedInformationLength INTEGER OPTIONAL,
+ &maxRecordingTime INTEGER OPTIONAL,
+ &numOfMessageIDs INTEGER OPTIONAL,
+ &maxRecordedMessageUnits INTEGER OPTIONAL,
+ &maxVariableParts INTEGER OPTIONAL
+}
+WITH SYNTAX {
+ [MINIMUM-FOR-ATTRIBUTES &minAttributesLength]
+ [MAXIMUM-FOR-ATTRIBUTES &maxAttributesLength]
+ [MINIMUM-FOR-MAIL-BOX-ID &minMailBoxIDLength]
+ [MAXIMUM-FOR-MAIL-BOX-ID &maxMailBoxIDLength]
+ [MINIMUM-FOR-MESSAGE-CONTENT &minMessageContentLength]
+ [MAXIMUM-FOR-MESSAGE-CONTENT &maxMessageContentLength]
+ [MINIMUM-FOR-RECEIVED-INFORMATION &minReceivedInformationLength]
+ [MAXIMUM-FOR-RECEIVED-INFORMATION &maxReceivedInformationLength]
+ [MAXIMUM-FOR-RECORDING-TIME &maxRecordingTime]
+ [NUM-OF-MESSAGE-IDS &numOfMessageIDs]
+ [MAXIMUM-FOR-RECORDED-MESSAGE-UNITS &maxRecordedMessageUnits]
+ [NUM-OF-VARIABLE-PARTS &maxVariableParts]
+}
+
+-- The following instance of the parameter bound is just an example
+networkSpecificB3 SCF-SRF-BOUNDS ::= {
+ MINIMUM-FOR-ATTRIBUTES 1 -- example value
+ MAXIMUM-FOR-ATTRIBUTES 5 -- example value
+ MINIMUM-FOR-MAIL-BOX-ID 1 -- example value
+ MAXIMUM-FOR-MAIL-BOX-ID 5 -- example value
+ MINIMUM-FOR-MESSAGE-CONTENT 1 -- example value
+ MAXIMUM-FOR-MESSAGE-CONTENT 5 -- example value
+ MINIMUM-FOR-RECEIVED-INFORMATION 1 -- example value
+ MAXIMUM-FOR-RECEIVED-INFORMATION 5 -- example value
+ MAXIMUM-FOR-RECORDING-TIME 5 -- example value
+ NUM-OF-MESSAGE-IDS 2 -- example value
+ MAXIMUM-FOR-RECORDED-MESSAGE-UNITS 5 -- example value
+ NUM-OF-VARIABLE-PARTS 5 -- example value
+
+-- must be 5 or
+-- greater.
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-SCF-SRF-datatypes.asn b/epan/dissectors/asn1/inap/IN-SCF-SRF-datatypes.asn
new file mode 100644
index 00000000..0705e939
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-SCF-SRF-datatypes.asn
@@ -0,0 +1,188 @@
+-- Module IN-SCF-SRF-datatypes (Q.1248.3:07/2001)
+IN-SCF-SRF-datatypes {itu-t recommendation q 1248 modules(1)
+ in-scf-srf-datatypes(10) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+ tc-Messages, common-classes, common-datatypes, ssf-scf-classes,
+ scf-srf-classes, ssf-scf-datatypes, ros-InformationObjects
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ EXTENSION, SupportedExtensions, COMMON-BOUNDS
+ FROM IN-common-classes common-classes
+ Integer4
+ FROM IN-common-datatypes common-datatypes
+ Code
+ FROM Remote-Operations-Information-Objects ros-InformationObjects
+ Digits{}, DisplayInformation{}, SDSSinformation{}
+ FROM IN-SSF-SCF-datatypes ssf-scf-datatypes
+ SCF-SSF-BOUNDS
+ FROM IN-SSF-SCF-Classes ssf-scf-classes
+ SCF-SRF-BOUNDS
+ FROM IN-SCF-SRF-Classes scf-srf-classes;
+
+-- The following three definitions are local short-hand notation for convenience.
+B1 ::=
+ COMMON-BOUNDS -- defined in Q.1248.1 (Part 1 of Recommendation Q.1248)
+
+B2 ::= SCF-SSF-BOUNDS -- defined in Q.1248.2 (Part 2 of Recommendation Q.1248)
+
+B3 ::= SCF-SRF-BOUNDS -- defined in this Recommendation (Q.1248.3)
+
+CollectedDigits ::= SEQUENCE {
+ minimumNbOfDigits [0] INTEGER(1..127) DEFAULT 1,
+ maximumNbOfDigits [1] INTEGER(1..127),
+ endOfReplyDigit [2] OCTET STRING(SIZE (1..2)) OPTIONAL,
+ cancelDigit [3] OCTET STRING(SIZE (1..2)) OPTIONAL,
+ startDigit [4] OCTET STRING(SIZE (1..2)) OPTIONAL,
+ firstDigitTimeOut [5] INTEGER(1..127) OPTIONAL,
+ interDigitTimeOut [6] INTEGER(1..127) OPTIONAL,
+ errorTreatment [7] ErrorTreatment DEFAULT reportErrorToScf,
+ interruptableAnnInd [8] BOOLEAN DEFAULT TRUE,
+ voiceInformation [9] BOOLEAN DEFAULT FALSE,
+ voiceBack [10] BOOLEAN DEFAULT FALSE,
+ detectModem [11] BOOLEAN DEFAULT FALSE,
+ ...
+}
+
+-- The use of voiceBack is network operator specific.
+-- The endOfReplyDigit, cancelDigit, and startDigit parameters have been designated as OCTET STRING,
+-- and are to be encoded as BCD, one digit per octet only, contained
+-- in the four least significant bits of each OCTET. The usage is service dependent.
+CollectedInfo ::= CHOICE {
+ collectedDigits [0] CollectedDigits,
+ iA5Information [1] BOOLEAN,
+ detectModem [2] BOOLEAN
+}
+
+ElementaryMessageID ::= Integer4
+
+ErrorTreatment ::= ENUMERATED {reportErrorToScf(0), help(1), repeatPrompt(2)}
+
+-- reportErrorToScf means returning the "ImproperCallerResponse" error in the event of an error
+-- condition during collection of user info.
+GapOnResource ::=
+ Code
+
+InbandInfo{B2:b2, B3:b3} ::= SEQUENCE {
+ messageID [0] MessageID{b2, b3},
+ numberOfRepetitions [1] INTEGER(1..127) OPTIONAL,
+ duration [2] INTEGER(0..32767) OPTIONAL,
+ interval [3] INTEGER(0..32767) OPTIONAL,
+ preferredLanguage [4] Language OPTIONAL,
+ ...
+}
+
+-- Interval is the time in seconds between each repeated announcement. Duration is the total
+-- amount of time in seconds, including repetitions and intervals.
+-- The end of announcement is either the end of duration or numberOfRepetitions, whatever comes first.
+-- duration with value 0 indicates infinite duration
+InformationToRecord{B3:b3} ::= SEQUENCE {
+ messageID [0] ElementaryMessageID OPTIONAL,
+ messageDeletionTimeOut [1] INTEGER(1..3600) OPTIONAL,
+ --Time units = hours
+ timeToRecord [3] INTEGER(0..b3.&maxRecordingTime) OPTIONAL,
+ --Time units = seconds
+ controlDigits
+ [4] SEQUENCE {endOfRecordingDigit
+ [0] OCTET STRING(SIZE (1..2)) OPTIONAL,
+ cancelDigit
+ [1] OCTET STRING(SIZE (1..2)) OPTIONAL,
+ replayDigit
+ [2] OCTET STRING(SIZE (1..2)) OPTIONAL,
+ restartRecordingDigit
+ [3] OCTET STRING(SIZE (1..2)) OPTIONAL,
+ restartAllowed [4] BOOLEAN DEFAULT FALSE,
+ replayAllowed [5] BOOLEAN DEFAULT FALSE,
+ ...},
+ ...
+}
+
+InformationToSend{B2:b2, B3:b3} ::= CHOICE {
+ inbandInfo [0] InbandInfo{b2, b3},
+ tone [1] Tone,
+ displayInformation [2] DisplayInformation{b2},
+ sDSSinformation [3] SDSSinformation{b2}
+}
+
+Language ::= PrintableString(SIZE (3)) -- ISO 639 codes only;
+
+
+MailBoxID{B3:b3} ::=
+ OCTET STRING(SIZE (b3.&minMailBoxIDLength..b3.&maxMailBoxIDLength))
+
+Media ::= ENUMERATED {voiceMail(0), faxGroup3(1), faxGroup4(2)}
+
+MessageID{B2:b2, B3:b3} ::= CHOICE {
+ elementaryMessageID [0] Integer4,
+ text
+ [1] SEQUENCE {messageContent
+ [0] IA5String
+ (SIZE (b3.&minMessageContentLength..
+ b3.&maxMessageContentLength)),
+ attributes
+ [1] OCTET STRING
+ (SIZE (b3.&minAttributesLength..
+ b3.&maxAttributesLength)) OPTIONAL,
+ ...},
+ elementaryMessageIDs
+ [29] SEQUENCE SIZE (1..b3.&numOfMessageIDs) OF Integer4,
+ variableMessage
+ [30] SEQUENCE {elementaryMessageID [0] Integer4,
+ variableParts
+ [1] SEQUENCE SIZE (1..b3.&maxVariableParts) OF
+ VariablePart{b2},
+ ...}
+}
+
+-- OPTIONAL denotes network operator specific use.
+ReceivedStatus ::= ENUMERATED {
+ messageComplete(0), messageInterrupted(1), messageTimeOut(2)}
+
+RecordedMessageID ::= Integer4
+
+SRFGapCriteria{B2:b2} ::= CHOICE {
+ iPAddressValue [1] Digits{b2},
+ gapOnResource [2] GapOnResource,
+ iPAddressAndresource
+ [3] SEQUENCE {iPAddressValue [1] Digits{b2},
+ gapOnResource [2] GapOnResource,
+ ...}
+}
+
+Tone ::= SEQUENCE {
+ toneID [0] Integer4,
+ duration [1] Integer4 OPTIONAL,
+ ...
+}
+
+-- The duration specifies the length of the tone in seconds, value 0 indicates infinite duration.
+VariablePart{B2:b2} ::= CHOICE {
+ integer [0] Integer4,
+ number [1] Digits{b2}, -- Generic digits
+ time [2] OCTET STRING(SIZE (2)), -- HH:MM, BCD coded
+ date [3] OCTET STRING(SIZE (3)), -- YYMMDD, BCD coded
+ price [4] OCTET STRING(SIZE (4))
+}
+
+-- Indicates the variable part of the message.
+-- BCD coded variable parts are encoded as described in the examples below.
+-- For example, time = 12:15 would be encoded as:
+-- Bits HGFE DCBA
+-- leading octet 2 1
+-- 5 1
+-- date = 1993 September 30th would be encoded as:
+-- Bits HGFE DCBA
+-- leading octet 3 9
+-- 9 0
+-- 0 3
+-- For a system operating when or after this Recommendation is released, the 2-digit value
+-- representing a Year shall be interpreted as follows:
+-- - If the two-digits value is 00 through 49 inclusive, it shall be interpreted as representing
+-- year 2000 through 2049.
+-- - If the two-digits value is 50 through 99 inclusive, it shall be interpreted as representing
+-- year 1950 through 1999.
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-SCF-SRF-ops-args.asn b/epan/dissectors/asn1/inap/IN-SCF-SRF-ops-args.asn
new file mode 100644
index 00000000..43bcbd31
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-SCF-SRF-ops-args.asn
@@ -0,0 +1,279 @@
+-- Module IN-SCF-SRF-ops-args (Q.1248.3:07/2001)
+IN-SCF-SRF-ops-args {itu-t recommendation q 1248 modules(1)
+ in-scf-srf-ops-args(12) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+ ros-InformationObjects, operationcodes, common-datatypes, errortypes,
+ common-classes, scf-srf-classes, ssf-scf-classes, ssf-scf-datatypes,
+ scf-srf-datatypes
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ OPERATION
+ FROM Remote-Operations-Information-Objects ros-InformationObjects
+ opcode-playAnnouncement, opcode-promptAndCollectUserInformation,
+ opcode-promptAndReceiveMessage, opcode-scriptClose, opcode-scriptEvent,
+ opcode-scriptInformation, opcode-scriptRun,
+ opcode-specializedResourceReport, opcode-activityTest, opcode-srfCallGap
+ FROM IN-operationcodes operationcodes
+ SCF-SSF-BOUNDS
+ FROM IN-SSF-SCF-Classes ssf-scf-classes
+ CallSegmentID{}, Digits{}, GenericNumber{}, LegID, ControlType, GapIndicators
+ FROM IN-SSF-SCF-datatypes ssf-scf-datatypes
+ InformationToSend{}, CollectedInfo, MailBoxID{}, InformationToRecord{},
+ Media, ReceivedStatus, RecordedMessageID, SRFGapCriteria{}
+ FROM IN-SCF-SRF-datatypes scf-srf-datatypes
+ canceled, improperCallerResponse, missingParameter, parameterOutOfRange,
+ systemFailure, taskRefused, unavailableResource,
+ unexpectedComponentSequence, unexpectedDataValue, unexpectedParameter,
+ unknownLegID
+ FROM IN-errortypes errortypes
+ UISCRIPT, SupportedUIScripts, SCF-SRF-BOUNDS
+ FROM IN-SCF-SRF-Classes scf-srf-classes
+ Extensions{}
+ FROM IN-common-datatypes common-datatypes
+ COMMON-BOUNDS
+ FROM IN-common-classes common-classes;
+
+-- The following three definitions are local short-hand notation for convenience.
+B1 ::=
+ COMMON-BOUNDS -- defined in Q.1248.1 (Part 1 of Recommendation Q.1248)
+
+B2 ::= SCF-SSF-BOUNDS -- defined in Q.1248.2 (Part 2 of Recommendation Q.1248)
+
+B3 ::= SCF-SRF-BOUNDS -- defined in this Recommendation (Q.1248.3)
+
+-- activityTest OPERATION
+-- This operation is described in Recommendation Q.1248.2.
+-- assistRequestInstructions OPERATION
+-- This operation is described in Recommendation Q.1248.2.
+--cancel OPERATION
+-- This operation is described in Recommendation Q.1248.2.
+playAnnouncement{B1:b1, B2:b2, B3:b3} OPERATION ::= {
+ ARGUMENT PlayAnnouncementArg {b1,
+ b2,
+ b3}
+ RETURN RESULT FALSE
+ ERRORS
+ {canceled | missingParameter | parameterOutOfRange | systemFailure |
+ taskRefused | unexpectedComponentSequence | unexpectedDataValue |
+ unexpectedParameter | unavailableResource | unknownLegID}
+ LINKED {specializedResourceReport}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-playAnnouncement
+}
+
+-- Direction: SCF -> SRF, Timer: Tpa
+-- This operation is to be used after Establish Temporary Connection (assist procedure with a second SSP)
+-- or a Connect to Resource (no assist) operation. It may be used for inband interaction with an analogue user,
+-- or for interaction with an ISDN user. In the former case, the SRF is usually collocated with the SSF for
+-- standard tones (congestion tone ...) or standard announcements. In the latter case, the SRF is always
+-- collocated with the SSF in the switch. Any error is returned to the SCF. The timer associated with this
+-- operation must be of a sufficient duration to allow its linked operation to be correctly correlated.
+PlayAnnouncementArg{B1:b1, B2:b2, B3:b3} ::= SEQUENCE {
+ informationToSend [0] InformationToSend{b2, b3},
+ disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
+ requestAnnouncementComplete [2] BOOLEAN DEFAULT TRUE,
+ extensions [3] Extensions{b1} OPTIONAL,
+ connectedParty
+ CHOICE {legID [4] LegID,
+ callSegmentID [5] CallSegmentID{b2}} OPTIONAL,
+ ...
+}
+
+promptAndCollectUserInformation{B1:b1, B2:b2, B3:b3} OPERATION ::= {
+ ARGUMENT PromptAndCollectUserInformationArg {b1,
+ b2,
+ b3}
+ RESULT ReceivedInformationArg {b2}
+ ERRORS
+ {canceled | improperCallerResponse | missingParameter | parameterOutOfRange
+ | systemFailure | taskRefused | unexpectedComponentSequence |
+ unavailableResource | unexpectedDataValue | unexpectedParameter}
+ CODE opcode-promptAndCollectUserInformation
+}
+
+-- Direction: SCF -> SRF, Timer: Tpc
+-- This operation is used to interact with a user to collect information.
+PromptAndCollectUserInformationArg{B1:b1, B2:b2, B3:b3} ::= SEQUENCE {
+ collectedInfo [0] CollectedInfo,
+ disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
+ informationToSend [2] InformationToSend{b2, b3} OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ callSegmentID [4] CallSegmentID{b2} OPTIONAL,
+ ...
+}
+
+ReceivedInformationArg{B2:b2} ::= CHOICE {
+ digitsResponse [0] Digits{b2},
+ iA5Response [1] IA5String,
+ modemdetected [2] BOOLEAN
+}
+
+promptAndReceiveMessage{B1:b1, B2:b2, B3:b3} OPERATION ::= {
+ ARGUMENT PromptAndReceiveMessageArg {b1,
+ b2,
+ b3}
+ RESULT MessageReceivedArg {b1,
+ b3}
+ ERRORS
+ {canceled | improperCallerResponse | missingParameter | parameterOutOfRange
+ | taskRefused | systemFailure | unavailableResource |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ CODE opcode-promptAndReceiveMessage
+}
+
+-- Direction: SCF ->SRF, Timer: Tprm
+-- Used to prompt a user to store a message
+PromptAndReceiveMessageArg{B1:b1, B2:b2, B3:b3} ::= SEQUENCE {
+ disconnectFromIPForbidden [0] BOOLEAN DEFAULT TRUE,
+ informationToSend [1] InformationToSend{b2, b3} OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ subscriberID [4] GenericNumber{b2} OPTIONAL,
+ mailBoxID [5] MailBoxID{b3} OPTIONAL,
+ informationToRecord [6] InformationToRecord{b3},
+ media [7] Media DEFAULT voiceMail,
+ callSegmentID [8] CallSegmentID{b2} OPTIONAL,
+ ...
+}
+
+MessageReceivedArg{B1:b1, B3:b3} ::= SEQUENCE {
+ receivedStatus [0] ReceivedStatus,
+ recordedMessageID [1] RecordedMessageID OPTIONAL,
+ recordedMessageUnits [2] INTEGER(1..b3.&maxRecordedMessageUnits) OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- reportUTSI OPERATION
+-- This operation is described in Recommendation Q.1248.2.
+-- requestReportUTSI OPERATION
+-- This operation is described in Recommendation Q.1248.2.
+-- sendSTUI OPERATION
+-- This operation is described in Recommendation Q.1248.2.
+scriptClose{B1:b1, B2:b2} OPERATION ::= {
+ ARGUMENT ScriptCloseArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {systemFailure | missingParameter | taskRefused | unavailableResource |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-scriptClose
+}
+
+-- Direction:SCF-> SRF. Timer :TCl
+-- This operation is issued by the SCF to deallocate the resources used to perform the
+-- instance of the "User Interaction" script: the context is released.
+ScriptCloseArg{B1:b1, B2:b2} ::= SEQUENCE {
+ uIScriptId UISCRIPT.&id({SupportedUIScripts}),
+ uIScriptSpecificInfo
+ [0] UISCRIPT.&SpecificInfo({SupportedUIScripts}{@uIScriptId}) OPTIONAL,
+ extensions [1] Extensions{b1} OPTIONAL,
+ callSegmentID [2] CallSegmentID{b2} OPTIONAL,
+ ...
+}
+
+scriptEvent{B1:b1, B2:b2} OPERATION ::= {
+ ARGUMENT ScriptEventArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-scriptEvent
+}
+
+-- Direction:SRF-> SCF. Timer :TRe
+-- This operation is issued by the SRF to return information to the SCF on the results of the
+-- execution of the instance of User Interaction script.
+ScriptEventArg{B1:b1, B2:b2} ::= SEQUENCE {
+ uIScriptId UISCRIPT.&id({SupportedUIScripts}),
+ uIScriptResult
+ [0] UISCRIPT.&Result({SupportedUIScripts}{@uIScriptId}) OPTIONAL,
+ extensions [1] Extensions{b1} OPTIONAL,
+ callSegmentID [2] CallSegmentID{b2} OPTIONAL,
+ lastEventIndicator [3] BOOLEAN DEFAULT FALSE,
+ ...
+}
+
+scriptInformation{B1:b1, B2:b2} OPERATION ::= {
+ ARGUMENT ScriptInformationArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {systemFailure | missingParameter | taskRefused | unavailableResource |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-scriptInformation
+}
+
+-- Direction:SCF-> SRF. Timer :Tinf
+ScriptInformationArg{B1:b1, B2:b2} ::= SEQUENCE {
+ uIScriptId UISCRIPT.&id({SupportedUIScripts}),
+ uIScriptSpecificInfo
+ [0] UISCRIPT.&SpecificInfo({SupportedUIScripts}{@uIScriptId}) OPTIONAL,
+ extensions [1] Extensions{b1} OPTIONAL,
+ callSegmentID [2] CallSegmentID{b2} OPTIONAL,
+ ...
+}
+
+scriptRun{B1:b1, B2:b2} OPERATION ::= {
+ ARGUMENT ScriptRunArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {systemFailure | missingParameter | taskRefused | unavailableResource |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-scriptRun
+}
+
+-- Direction:SCF-> SRF. Timer :Tru
+-- This operation is issued by the SCF to allocate the necessary resources to perform the
+-- instance of the "User Interaction" script and then to activate this "User Interaction" script
+-- instance. A context is partially defined for it if necessary.
+ScriptRunArg{B1:b1, B2:b2} ::= SEQUENCE {
+ uIScriptId UISCRIPT.&id({SupportedUIScripts}),
+ uIScriptSpecificInfo
+ [0] UISCRIPT.&SpecificInfo({SupportedUIScripts}{@uIScriptId}) OPTIONAL,
+ extensions [1] Extensions{b1} OPTIONAL,
+ disconnectFromIPForbidden [2] BOOLEAN DEFAULT TRUE,
+ callSegmentID [3] CallSegmentID{b2} OPTIONAL,
+ ...
+}
+
+specializedResourceReport OPERATION ::= {
+ ARGUMENT SpecializedResourceReportArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-specializedResourceReport
+}
+
+-- Direction: SRF -> SCF, Timer: Tsrr
+-- This operation is used as the response to a PlayAnnouncement operation when the announcement completed
+-- report indication is set.
+SpecializedResourceReportArg ::= NULL
+
+sRFCallGap{B1:b1, B2:b2} OPERATION ::= {
+ ARGUMENT SRFCallGapArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-srfCallGap
+}
+
+-- Direction: SRF -> SCF, Timer: Tcg
+-- This operation is used to request the SCF to reduce the rate at which specific service requests are sent to
+-- the SRF.
+SRFCallGapArg{B1:b1, B2:b2} ::= SEQUENCE {
+ sRFgapCriteria [0] SRFGapCriteria{b2},
+ gapIndicators [1] GapIndicators,
+ controlType [2] ControlType OPTIONAL,
+ ...,
+ ...,
+ extensions [30] Extensions{b1} OPTIONAL
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-SSF-SCF-Classes.asn b/epan/dissectors/asn1/inap/IN-SSF-SCF-Classes.asn
new file mode 100644
index 00000000..1953c194
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-SSF-SCF-Classes.asn
@@ -0,0 +1,296 @@
+-- Module IN-SSF-SCF-Classes (Q.1248.2:07/2001)
+IN-SSF-SCF-Classes {itu-t recommendation q 1248 modules(1)
+ in-ssf-scf-classes(7) version1(0)} DEFINITIONS ::=
+BEGIN
+
+TRIGGER ::= CLASS {&Parameter OPTIONAL,
+ &id INTEGER UNIQUE
+}WITH SYNTAX {[PARAMETER &Parameter]
+ IDENTIFIED BY &id
+}
+
+--The &id field uniquely identifies a class of triggers.
+--The &Parameter field defines the ASN.1 type for representing specific parameters
+-- (e.g. criteria, scfAddress, ...)
+--associated with this class of triggers.
+SCF-SSF-BOUNDS ::= CLASS {
+ &highLayerCompatibilityLength INTEGER OPTIONAL,
+ &minAChBillingChargingLength INTEGER OPTIONAL,
+ &maxAChBillingChargingLength INTEGER OPTIONAL,
+ &minBackwardGVNSLength INTEGER OPTIONAL,
+ &maxBackwardGVNSLength INTEGER OPTIONAL,
+ &maxBearerCapabilityLength INTEGER OPTIONAL,
+ &minCalledDirectoryNumberLength INTEGER OPTIONAL,
+ &maxCalledDirectoryNumberLength INTEGER OPTIONAL,
+ &minCalledPartyNumberLength INTEGER OPTIONAL,
+ &maxCalledPartyNumberLength INTEGER OPTIONAL,
+ &minCalledPartySubaddressLength INTEGER OPTIONAL,
+ &maxCalledPartySubaddressLength INTEGER OPTIONAL,
+ &minCallingGeodeticLocationLength INTEGER OPTIONAL,
+ &maxCallingGeodeticLocationLength INTEGER OPTIONAL,
+ &minCallingPartyNumberLength INTEGER OPTIONAL,
+ &maxCallingPartyNumberLength INTEGER OPTIONAL,
+ &minCallingPartySubaddressLength INTEGER OPTIONAL,
+ &maxCallingPartySubaddressLength INTEGER OPTIONAL,
+ &minCallResultLength INTEGER OPTIONAL,
+ &maxCallResultLength INTEGER OPTIONAL,
+ &maxCallReferenceLength INTEGER OPTIONAL,
+ &minCarrierLength INTEGER OPTIONAL,
+ &maxCarrierLength INTEGER OPTIONAL,
+ &minCauseLength INTEGER OPTIONAL,
+ &maxCauseLength INTEGER OPTIONAL,
+ &maxCNInfoLength INTEGER OPTIONAL,
+ &minDestinationIndexLength INTEGER OPTIONAL,
+ &maxDestinationIndexLength INTEGER OPTIONAL,
+ &minDigitsLength INTEGER OPTIONAL,
+ &maxDigitsLength INTEGER OPTIONAL,
+ &minDisplayInformationLength INTEGER OPTIONAL,
+ &maxDisplayInformationLength INTEGER OPTIONAL,
+ &minEventSpecificInformationChargingLength INTEGER OPTIONAL,
+ &maxEventSpecificInformationChargingLength INTEGER OPTIONAL,
+ &minEventTypeChargingLength INTEGER OPTIONAL,
+ &maxEventTypeChargingLength INTEGER OPTIONAL,
+ &minFCIBillingChargingLength INTEGER OPTIONAL,
+ &maxFCIBillingChargingLength INTEGER OPTIONAL,
+ &minForwardGVNSLength INTEGER OPTIONAL,
+ &maxForwardGVNSLength INTEGER OPTIONAL,
+ &minGenericNameLength INTEGER OPTIONAL,
+ &maxGenericNameLength INTEGER OPTIONAL,
+ &minGenericNumberLength INTEGER OPTIONAL,
+ &maxGenericNumberLength INTEGER OPTIONAL,
+ &maxInitialTimeInterval INTEGER OPTIONAL,
+ &maxINServiceCompatibilityIndLength INTEGER OPTIONAL,
+ &minIPAvailableLength INTEGER OPTIONAL,
+ &maxIPAvailableLength INTEGER OPTIONAL,
+ &minIPSSPCapabilitiesLength INTEGER OPTIONAL,
+ &maxIPSSPCapabilitiesLength INTEGER OPTIONAL,
+ &minISDNAccessRelatedInfoLength INTEGER OPTIONAL,
+ &maxISDNAccessRelatedInfoLength INTEGER OPTIONAL,
+ &minLocationNumberLength INTEGER OPTIONAL,
+ &maxLocationNumberLength INTEGER OPTIONAL,
+ &maxNbOfRoutes INTEGER OPTIONAL,
+ &minMidCallControlInfoNum INTEGER OPTIONAL,
+ &maxMidCallControlInfoNum INTEGER OPTIONAL,
+ &minOriginalCalledPartyIDLength INTEGER OPTIONAL,
+ &maxOriginalCalledPartyIDLength INTEGER OPTIONAL,
+ &minReasonLength INTEGER OPTIONAL,
+ &maxReasonLength INTEGER OPTIONAL,
+ &minRedirectingPartyIDLength INTEGER OPTIONAL,
+ &maxRedirectingPartyIDLength INTEGER OPTIONAL,
+ &minRequestedUTSINum INTEGER OPTIONAL,
+ &maxRequestedUTSINum INTEGER OPTIONAL,
+ &minRouteListLength INTEGER OPTIONAL,
+ &maxRouteListLength INTEGER OPTIONAL,
+ &minRouteingNumberLength INTEGER OPTIONAL,
+ &maxRouteingNumberLength INTEGER OPTIONAL,
+ &minScfIDLength INTEGER OPTIONAL,
+ &maxScfIDLength INTEGER OPTIONAL,
+ &minSCIBillingChargingLength INTEGER OPTIONAL,
+ &maxSCIBillingChargingLength INTEGER OPTIONAL,
+ &minSDSSinformationLength INTEGER OPTIONAL,
+ &maxSDSSinformationLength INTEGER OPTIONAL,
+ &minServiceInteractionIndicatorsLength INTEGER OPTIONAL,
+ &maxServiceInteractionIndicatorsLength INTEGER OPTIONAL,
+ &minSFBillingChargingLength INTEGER OPTIONAL,
+ &maxSFBillingChargingLength INTEGER OPTIONAL,
+ &minUSIInformationLength INTEGER OPTIONAL,
+ &maxUSIInformationLength INTEGER OPTIONAL,
+ &minUSIServiceIndicatorLength INTEGER OPTIONAL,
+ &maxUSIServiceIndicatorLength INTEGER OPTIONAL,
+ &numOfBCSMEvents INTEGER OPTIONAL,
+ &numOfBCUSMEvents INTEGER OPTIONAL,
+ &numOfChargingEvents INTEGER OPTIONAL,
+ &numOfCounters INTEGER OPTIONAL,
+ &numOfCSAs INTEGER OPTIONAL,
+ &numOfCSs INTEGER OPTIONAL,
+ &numOfGenericNumbers INTEGER OPTIONAL,
+ &numOfInfoItems INTEGER OPTIONAL,
+ &numOfInServiceCompatibilityIndLength INTEGER OPTIONAL,
+ &numOfLegs INTEGER OPTIONAL,
+ &numOfMessageIDs INTEGER OPTIONAL,
+ &maxAmount INTEGER OPTIONAL,
+ &maxInitialUnitIncrement INTEGER OPTIONAL,
+ &maxScalingFactor INTEGER OPTIONAL,
+ &maxSegmentsPerDataInterval INTEGER OPTIONAL,
+ &ub-nbCall INTEGER OPTIONAL,
+ &numOfAddresses INTEGER OPTIONAL,
+ &numOfINProfile INTEGER OPTIONAL,
+ &numOfTriggers INTEGER OPTIONAL,
+ &minAALPLength INTEGER OPTIONAL,
+ &maxAALPLength INTEGER OPTIONAL,
+ &minAdditionalATMCellRateLength INTEGER OPTIONAL,
+ &maxAdditionalATMCellRateLength INTEGER OPTIONAL,
+ &minAESACalledPartyLength INTEGER OPTIONAL,
+ &maxAESACalledPartyLength INTEGER OPTIONAL,
+ &minAESACallingPartyLength INTEGER OPTIONAL,
+ &maxAESACallingPartyLength INTEGER OPTIONAL,
+ &minATMCellRateLength INTEGER OPTIONAL,
+ &maxATMCellRateLength INTEGER OPTIONAL,
+ &minCDVTDescriptorLength INTEGER OPTIONAL,
+ &maxCDVTDescriptorLength INTEGER OPTIONAL,
+ &minConnectionIdentifierLength INTEGER OPTIONAL,
+ &maxConnectionIdentifierLength INTEGER OPTIONAL,
+ &minCumulativeTransitDelayLength INTEGER OPTIONAL,
+ &maxCumulativeTransitDelayLength INTEGER OPTIONAL,
+ &minEndToEndTDLength INTEGER OPTIONAL,
+ &maxEndToEndTDLength INTEGER OPTIONAL,
+ &minGenericIdentifierLength INTEGER OPTIONAL,
+ &maxGenericIdentifierLength INTEGER OPTIONAL,
+ &minMinAcceptableATMTrafficDescriptorLength INTEGER OPTIONAL,
+ &maxMinAcceptableATMTrafficDescriptorLength INTEGER OPTIONAL,
+ &minAlternativeATMTrafficDescriptorLength INTEGER OPTIONAL,
+ &maxAlternativeATMTrafficDescriptorLength INTEGER OPTIONAL,
+ &minQoSParameterLength INTEGER OPTIONAL,
+ &maxQoSParameterLength INTEGER OPTIONAL,
+ &minBroadbandBearerCapabilityLength INTEGER OPTIONAL,
+ &maxBroadbandBearerCapabilityLength INTEGER OPTIONAL,
+ &maxGlobalCallReferenceLength INTEGER OPTIONAL,
+ &maxAlternativeIdentities INTEGER OPTIONAL,
+ &maxAlternativeIds INTEGER OPTIONAL
+}
+WITH SYNTAX {
+ [HIGH-LAYER-COMPATIBILITY-LENGTH &highLayerCompatibilityLength]
+ [MINIMUM-FOR-ACH-BILLING-CHARGING &minAChBillingChargingLength]
+ [MAXIMUM-FOR-ACH-BILLING-CHARGING &maxAChBillingChargingLength]
+ [MINIMUM-FOR-BACKWARD-GVNS &minBackwardGVNSLength]
+ [MAXIMUM-FOR-BACKWARD-GVNS &maxBackwardGVNSLength]
+ [MAXIMUM-FOR-BEARER-CAPABILITY &maxBearerCapabilityLength]
+ [MINIMUM-FOR-CALLED-DIRECTORY-NUMBER &minCalledDirectoryNumberLength]
+ [MAXIMUM-FOR-CALLED-DIRECTORY-NUMBER &maxCalledDirectoryNumberLength]
+ [MINIMUM-FOR-CALLED-PARTY-NUMBER &minCalledPartyNumberLength]
+ [MAXIMUM-FOR-CALLED-PARTY-NUMBER &maxCalledPartyNumberLength]
+ [MINIMUM-FOR-CALLED-PARTY-SUBADDRESS &minCalledPartySubaddressLength]
+ [MAXIMUM-FOR-CALLED-PARTY-SUBADDRESS &maxCalledPartySubaddressLength]
+ [MINIMUM-FOR-CALLING-GEODETIC-LOCATION &minCallingGeodeticLocationLength]
+ [MAXIMUM-FOR-CALLING-GEODETIC-LOCATION &maxCallingGeodeticLocationLength]
+ [MINIMUM-FOR-CALLING-PARTY-NUMBER &minCallingPartyNumberLength]
+ [MAXIMUM-FOR-CALLING-PARTY-NUMBER &maxCallingPartyNumberLength]
+ [MINIMUM-FOR-CALLING-PARTY-SUBADDRESS &minCallingPartySubaddressLength]
+ [MAXIMUM-FOR-CALLING-PARTY-SUBADDRESS &maxCallingPartySubaddressLength]
+ [MINIMUM-FOR-CALL-RESULT &minCallResultLength]
+ [MAXIMUM-FOR-CALL-RESULT &maxCallResultLength]
+ [MINIMUM-FOR-CARRIER &minCarrierLength]
+ [MAXIMUM-FOR-CARRIER &maxCarrierLength]
+ [MINIMUM-FOR-CAUSE &minCauseLength]
+ [MAXIMUM-FOR-CAUSE &maxCauseLength]
+ [MINIMUM-FOR-DESTINATION &minDestinationIndexLength]
+ [MAXIMUM-FOR-DESTINATION &maxDestinationIndexLength]
+ [MINIMUM-FOR-DIGITS &minDigitsLength]
+ [MAXIMUM-FOR-DIGITS &maxDigitsLength]
+ [MINIMUM-FOR-DISPLAY &minDisplayInformationLength]
+ [MAXIMUM-FOR-DISPLAY &maxDisplayInformationLength]
+ [MINIMUM-FOR-EVENT-SPECIFIC-CHARGING
+ &minEventSpecificInformationChargingLength]
+ [MAXIMUM-FOR-EVENT-SPECIFIC-CHARGING
+ &maxEventSpecificInformationChargingLength]
+ [MINIMUM-FOR-EVENT-TYPE-CHARGING &minEventTypeChargingLength]
+ [MAXIMUM-FOR-EVENT-TYPE-CHARGING &maxEventTypeChargingLength]
+ [MINIMUM-FOR-FCI-BILLING-CHARGING &minFCIBillingChargingLength]
+ [MAXIMUM-FOR-FCI-BILLING-CHARGING &maxFCIBillingChargingLength]
+ [MINIMUM-FOR-FORWARD-GVNS &minForwardGVNSLength]
+ [MAXIMUM-FOR-FORWARD-GVNS &maxForwardGVNSLength]
+ [MINIMUM-FOR-GENERIC-NAME &minGenericNameLength]
+ [MAXIMUM-FOR-GENERIC-NAME &maxGenericNameLength]
+ [MINIMUM-FOR-GENERIC-NUMBER &minGenericNumberLength]
+ [MAXIMUM-FOR-GENERIC-NUMBER &maxGenericNumberLength]
+ [MAXIMUM-FOR-INITIAL-TIME-INTERVAL &maxInitialTimeInterval]
+ [MAXIMUM-FOR-IN-SERVICE-COMPATIBILITY &maxINServiceCompatibilityIndLength]
+ [MINIMUM-FOR-IP-AVAILABLE &minIPAvailableLength]
+ [MAXIMUM-FOR-IP-AVAILABLE &maxIPAvailableLength]
+ [MINIMUM-FOR-IP-SSP-CAPABILITIES &minIPSSPCapabilitiesLength]
+ [MAXIMUM-FOR-IP-SSP-CAPABILITIES &maxIPSSPCapabilitiesLength]
+ [MINIMUM-FOR-ISDN-ACCESS-RELATED-INFO &minISDNAccessRelatedInfoLength]
+ [MAXIMUM-FOR-ISDN-ACCESS-RELATED-INFO &maxISDNAccessRelatedInfoLength]
+ [MINIMUM-FOR-LOCATION-NUMBER &minLocationNumberLength]
+ [MAXIMUM-FOR-LOCATION-NUMBER &maxLocationNumberLength]
+ [MAXIMUM-NB-OF-ROUTES &maxNbOfRoutes]
+ [MINIMUM-FOR-MID-CALL-CONTROL-INFO &minMidCallControlInfoNum]
+ [MAXIMUM-FOR-MID-CALL-CONTROL-INFO &maxMidCallControlInfoNum]
+ [MINIMUM-FOR-ORIGINAL-CALLED-PARTY-ID &minOriginalCalledPartyIDLength]
+ [MAXIMUM-FOR-ORIGINAL-CALLED-PARTY-ID &maxOriginalCalledPartyIDLength]
+ [MINIMUM-FOR-REASON &minReasonLength]
+ [MAXIMUM-FOR-REASON &maxReasonLength]
+ [MINIMUM-FOR-REDIRECTING-ID &minRedirectingPartyIDLength]
+ [MAXIMUM-FOR-REDIRECTING-ID &maxRedirectingPartyIDLength]
+ [MINIMUM-FOR-REQUESTED-UTSI-NUM &minRequestedUTSINum]
+ [MAXIMUM-FOR-REQUESTED-UTSI-NUM &maxRequestedUTSINum]
+ [MINIMUM-FOR-ROUTE-LIST &minRouteListLength]
+ [MAXIMUM-FOR-ROUTE-LIST &maxRouteListLength]
+ [MINIMUM-FOR-ROUTING-NUMBER &minRouteingNumberLength]
+ [MAXIMUM-FOR-ROUTING-NUMBER &maxRouteingNumberLength]
+ [MINIMUM-FOR-SCF-ID &minScfIDLength]
+ [MAXIMUM-FOR-SCF-ID &maxScfIDLength]
+ [MINIMUM-FOR-SCI-BILLING-CHARGING &minSCIBillingChargingLength]
+ [MAXIMUM-FOR-SCI-BILLING-CHARGING &maxSCIBillingChargingLength]
+ [MINIMUM-FOR-SDSS-INFORMATION &minSDSSinformationLength]
+ [MAXIMUM-FOR-SDSS-INFORMATION &maxSDSSinformationLength]
+ [MINIMUM-FOR-SII &minServiceInteractionIndicatorsLength]
+ [MAXIMUM-FOR-SII &maxServiceInteractionIndicatorsLength]
+ [MINIMUM-FOR-SF-BILLING-CHARGING &minSFBillingChargingLength]
+ [MAXIMUM-FOR-SF-BILLING-CHARGING &maxSFBillingChargingLength]
+ [MINIMUM-FOR-USI-INFORMATION &minUSIInformationLength]
+ [MAXIMUM-FOR-USI-INFORMATION &maxUSIInformationLength]
+ [MINIMUM-FOR-USI-SERVICE-INDICATOR &minUSIServiceIndicatorLength]
+ [MAXIMUM-FOR-USI-SERVICE-INDICATOR &maxUSIServiceIndicatorLength]
+ [NUM-OF-BCSM-EVENT &numOfBCSMEvents]
+ [NUM-OF-BCUSM-EVENT &numOfBCUSMEvents]
+ [NUM-OF-CHARGING-EVENT &numOfChargingEvents]
+ [NUM-OF-COUNTERS &numOfCounters]
+ [NUM-OF-CSAS &numOfCSAs]
+ [NUM-OF-CSS &numOfCSs]
+ [NUM-OF-GENERIC-NUMBERS &numOfGenericNumbers]
+ [NUM-OF-INFO-ITEMS &numOfInfoItems]
+ [NUM-OF-INPROFILE &numOfINProfile]
+ [NUM-OF-SEVERALTRIGGER &numOfTriggers]
+ [NUM-OF-IN-SERVICE-COMPATIBILITY-ID &numOfInServiceCompatibilityIndLength]
+ [NUM-OF-LEGS &numOfLegs]
+ [NUM-OF-MESSAGE-IDS &numOfMessageIDs]
+ [MAXIMUM-FOR-AMOUNT &maxAmount]
+ [MAXIMUM-FOR-CALL-REFERENCE &maxCallReferenceLength]
+ [MAXIMUM-FOR-CNINFO &maxCNInfoLength]
+ [MAXIMUM-FOR-INITIAL-UNIT-INCREMENT &maxInitialUnitIncrement]
+ [MAXIMUM-FOR-SCALING-FACTOR &maxScalingFactor]
+ [MAXIMUM-FOR-SEGMENTS-PER-DATA-INTERVAL &maxSegmentsPerDataInterval]
+ [MAXIMUM-FOR-UB-NB-CALL &ub-nbCall]
+ [NUM-OF-ADDRESSES &numOfAddresses]
+ [MINIMUM-FOR-AAL-PARAMETERS &minAALPLength]
+ [MAXIMUM-FOR-AAL-PARAMETERS &maxAALPLength]
+ [MINIMUM-FOR-ADDITIONAL-ATM-CELL-RATE &minAdditionalATMCellRateLength]
+ [MAXIMUM-FOR-ADDITIONAL-ATM-CELL-RATE &maxAdditionalATMCellRateLength]
+ [MINIMUM-FOR-AESA-CALLED-PARTY &minAESACalledPartyLength]
+ [MAXIMUM-FOR-AESA-CALLED-PARTY &maxAESACalledPartyLength]
+ [MINIMUM-FOR-AESA-CALLING-PARTY &minAESACallingPartyLength]
+ [MAXIMUM-FOR-AESA-CALLING-PARTY &maxAESACallingPartyLength]
+ [MINIMUM-FOR-ATM-CELL-RATE &minATMCellRateLength]
+ [MAXIMUM-FOR-ATM-CELL-RATE &maxATMCellRateLength]
+ [MINIMUM-FOR-CDVT-DESCRIPTOR &minCDVTDescriptorLength]
+ [MAXIMUM-FOR-CDVT-DESCRIPTOR &maxCDVTDescriptorLength]
+ [MINIMUM-FOR-CONNECTION-IDENTIFIER &minConnectionIdentifierLength]
+ [MAXIMUM-FOR-CONNECTION-IDENTIFIER &maxConnectionIdentifierLength]
+ [MINIMUM-FOR-CUMULATIVE-TRANSIT-DELAY &minCumulativeTransitDelayLength]
+ [MAXIMUM-FOR-CUMULATIVE-TRANSIT-DELAY &maxCumulativeTransitDelayLength]
+ [MINIMUM-FOR-END-TO-END-TRANSIT-DELAY &minEndToEndTDLength]
+ [MAXIMUM-FOR-END-TO-END-TRANSIT-DELAY &maxEndToEndTDLength]
+ [MINIMUM-FOR-GENERIC-IDENTIFIER &minGenericIdentifierLength]
+ [MAXIMUM-FOR-GENERIC-IDENTIFIER &maxGenericIdentifierLength]
+ [MINIMUM-FOR-MIN-ACCEPTABLE-ATM-TRAFFIC-DESCRIPTOR
+ &minMinAcceptableATMTrafficDescriptorLength]
+ [MAXIMUM-FOR-MIN-ACCEPTABLE-ATM-TRAFFIC-DESCRIPTOR
+ &maxMinAcceptableATMTrafficDescriptorLength]
+ [MINIMUM-FOR-ALTERNATIVE-ATM-TRAFFIC-DESCRIPTOR
+ &minAlternativeATMTrafficDescriptorLength]
+ [MAXIMUN-FOR-ALTERNATIVE-ATM-TRAFFIC-DESCRIPTOR
+ &maxAlternativeATMTrafficDescriptorLength]
+ [MINIMUM-FOR-QOS-PARAMETER &minQoSParameterLength]
+ [MAXIMUM-FOR-QOS-PARAMETER &maxQoSParameterLength]
+ [MINIMUM-FOR-BROADBAND-BEARER-CAPABILITY &minBroadbandBearerCapabilityLength]
+ [MAXIMUM-FOR-BROADBAND-BEARER-CAPABILITY &maxBroadbandBearerCapabilityLength]
+ [MAXIMUM-GLOBAL-CALL-REFERENCE &maxGlobalCallReferenceLength]
+ [MAXIMUM-ALTERNATIVE-IDENTITIES &maxAlternativeIdentities]
+ [MAXIMUM-NB-OF-ALTERNATIVE-IDENTITIES &maxAlternativeIds]
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-SSF-SCF-datatypes.asn b/epan/dissectors/asn1/inap/IN-SSF-SCF-datatypes.asn
new file mode 100644
index 00000000..beecf0ec
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-SSF-SCF-datatypes.asn
@@ -0,0 +1,1435 @@
+-- Small modifications made to the original due to as2wrs shortfalls, to be corrected.
+-- Module IN-SSF-SCF-datatypes (Q.1248.2:07/2001)
+IN-SSF-SCF-datatypes {itu-t recommendation q 1248 modules(1)
+ in-ssf-scf-datatypes(6) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+ common-classes, common-datatypes, ssf-scf-classes, scf-srf-classes,
+ scf-srf-datatypes, tc-Messages
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ COMMON-BOUNDS
+ FROM IN-common-classes common-classes
+ TRIGGER, SCF-SSF-BOUNDS
+ FROM IN-SSF-SCF-Classes {itu-t recommendation q 1248 modules(1)
+ in-ssf-scf-classes(7) version1(0)}
+ SCF-SRF-BOUNDS
+ FROM IN-SCF-SRF-Classes scf-srf-classes
+ Extensions{}, Integer4
+ FROM IN-common-datatypes common-datatypes
+ InformationToSend{}
+ FROM IN-SCF-SRF-datatypes scf-srf-datatypes;
+
+-- The following three definitions are local short-hand notation for convenience.
+--B1 ::=
+-- COMMON-BOUNDS defined in Q.1248.1 (Part 1 of Recommendation Q.1248)
+
+--B2 ::= SCF-SSF-BOUNDS defined in this Recommendation (Q.1248.2)
+
+-- B3 ::= SCF-SRF-BOUNDS defined in Q.1248.3 (Part 3 of Recommendation Q.1248)
+
+AALParameters{B2:b2} ::=
+ OCTET STRING(SIZE (minAALPLength..maxAALPLength))
+
+-- Indicates the AAL Parameters Information Element. Refer to Q.2931 for encoding.
+AccessCode{B2:b2} ::=
+ LocationNumber{b2}
+
+-- An access code from a business group dialling plan attendant access codes, access codes to escape
+-- to the public network, access code to access a private facility/network, and feature access codes.
+-- Uses the LocationNumber format which is based on the Q.763 Location Number format.
+-- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
+-- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
+-- Of local significance.
+AChBillingChargingCharacteristics{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minAChBillingChargingLength..maxAChBillingChargingLength))
+
+-- The AChBillingChargingCharacteristics parameter specifies the charging related information
+-- to be provided by the SSF and the conditions on which this information has to be reported
+-- back to the SCF with the ApplyChargingReport operation.
+-- Different set of criteria may be provided in case more than one report is expected.
+-- Its content is network operator specific.
+-- Examples of charging related information to be provided by the SSF may be: bulk counter
+-- values, costs, tariff change and time of charge, time stamps, durations, etc.
+-- Examples of conditions on which the charging related information are to be reported may be:
+-- threshold value reached, timer expiration, tariff change, end of connection configuration, etc
+ActionIndicator ::= ENUMERATED {activate(1), deactivate(2), retrieve(3)
+}
+
+-- indicates the action to be performed by the ManageTriggerData operation (activate, deactivate
+-- or retrieve the status of a TDP.
+ActionOnProfile ::= ENUMERATED {activate(0), deactivate(1)}
+
+-- Indicates whether a setServiceProfile operation is used to activate or deactivate profile elements.
+ActionPerformed ::= ENUMERATED {
+ activated(1), deactivated(2), alreadyActive(3), alreadyInactive(4),
+ isActive(5), isInactive(6), tDPunknown(7)}
+
+-- indicates the result of the operation ManageTriggerData
+-- activated: response of activate TDP
+-- deactivated: response of deactivate TDP
+-- alreadyActive: response of activate TDP
+-- alreadyInactive: response of deactivate TDP
+-- isActive: response of retrieve status of TDP
+-- isInactive: response of retrieve status of TDP
+AdditionalATMCellRate{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minAdditionalATMCellRateLength..
+ maxAdditionalATMCellRateLength))
+
+-- Indicates the AdditionalATMCellRate Information Element. Refer to Q.2763 for encoding.
+AdditionalCallingPartyNumber{B2:b2} ::=
+ Digits{b2}
+
+-- Indicates the Additional Calling Party Number. Refer to Q.763 for encoding.
+AESACalledParty{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minAESACalledPartyLength..maxAESACalledPartyLength))
+
+-- Indicates the AESACalledParty Information Element. Refer to Q.2763 for encoding.
+AESACallingParty{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minAESACallingPartyLength..maxAESACallingPartyLength))
+
+-- Indicates the AESACallingParty Information Element. Refer to Q.2763 for encoding.
+AlertingPattern ::= OCTET STRING(SIZE (3))
+
+-- Indicates a specific pattern that is used to alert a subscriber (e.g. distinctive ringing, tones, etc.).
+-- Only the trailing OCTET is used, the remaining OCTETS should be sent as NULL (zero)
+-- The receiving side ignores the leading two OCTETS.
+-- Only applies if SSF is the terminating local exchange for the subscriber.
+-- Refer to the Q.931 Signal parameter for encoding.
+AlternativeIdentities{B2:b2} ::=
+ SEQUENCE (SIZE (1..maxAlternativeIdentities)) OF AlternativeIdentity
+
+AlternativeIdentity ::= CHOICE {
+ url [0] IA5String(SIZE (1..512)) -- any RFC1738 compliant URL (e.g.; SIP URL)
+}
+
+--Email addresses shall be represented as URLs.
+AlternativeATMTrafficDescriptor{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minAlternativeATMTrafficDescriptorLength..
+ maxAlternativeATMTrafficDescriptorLength))
+
+-- Indicates the AlternativeATMTrafficDescriptor Information Element. Refer to Q.2931 for encoding.
+ApplicationTimer ::= INTEGER(0..2047)
+
+-- Used by the SCF to set a timer in the SSF. The timer is in seconds.
+AssistingSSPIPRoutingAddress{B2:b2} ::=
+ Digits{b2}
+
+-- Indicates the destination address of the SRF for the assist procedure.
+ATMCellRate{B2:b2} ::=
+ OCTET STRING(SIZE (minATMCellRateLength..maxATMCellRateLength))
+
+-- Indicates the ATMCellRate Information Element. Refer to Q.2763 for encoding.
+BackwardGVNS{B2:b2} ::=
+ OCTET STRING(SIZE (minBackwardGVNSLength..maxBackwardGVNSLength))
+
+-- Indicates the GVNS Backward information. Refer to Q.735 for encoding.
+BackwardServiceInteractionInd ::= SEQUENCE {
+ conferenceTreatmentIndicator [1] OCTET STRING(SIZE (1)) OPTIONAL,
+ -- acceptConferenceRequest 'xxxx xx01'B
+ -- rejectConferenceRequest 'xxxx xx10'B
+ -- network default is accept conference request,
+ callCompletionTreatmentIndicator [2] OCTET STRING(SIZE (1)) OPTIONAL,
+ -- acceptCallCompletionServiceRequest 'xxxx xx01'B,
+ -- rejectCallCompletionServiceRequest 'xxxx xx10'B
+ -- network default is accept call completion service request
+ holdTreatmentIndicator [3] OCTET STRING(SIZE (1)) OPTIONAL,
+ -- acceptHoldRequest 'xxxx xx01'B
+ -- rejectHoldRequest 'xxxx xx10'B
+ -- network default is accept hold request
+ ectTreatmentIndicator [4] OCTET STRING(SIZE (1)) OPTIONAL,
+ -- acceptEctRequest 'xxxx xx01'B
+ -- rejectEctRequest 'xxxx xx10'B
+ -- network default is accept ect request
+ ...
+}
+
+BasicGapCriteria{B2:b2} ::= CHOICE {
+ calledAddressValue [0] Digits{b2},
+ gapOnService [2] GapOnService,
+ gapAllInTraffic [3] NULL,
+ calledAddressAndService
+ [29] SEQUENCE {calledAddressValue [0] Digits{b2},
+ serviceKey [1] ServiceKey,
+ ...},
+ callingAddressAndService
+ [30] SEQUENCE {callingAddressValue [0] Digits{b2},
+ serviceKey [1] ServiceKey,
+ locationNumber [2] LocationNumber{b2} OPTIONAL,
+ ...}
+}
+
+-- Both calledAddressValue and callingAddressValue can be
+-- incomplete numbers, in the sense that a limited amount of digits can be given.
+--
+-- For the handling of numbers starting with the same digit string refer to the detailed procedure
+-- description of the CallGap operation.
+BCSMEvent{B2:b2} ::= SEQUENCE {
+ eventTypeBCSM [0] EventTypeBCSM,
+ monitorMode [1] MonitorMode,
+ legID [2] LegID OPTIONAL,
+ dpSpecificCriteria [30] DpSpecificCriteria{b2} OPTIONAL
+}
+
+-- Indicates the BCSM Event information for monitoring.
+BearerCapability{B2:b2} ::= CHOICE {
+ bearerCap
+ [0] OCTET STRING(SIZE (2..maxBearerCapabilityLength)),
+ tmr [1] OCTET STRING(SIZE (1)),
+ broadbandBearerCap
+ [2] OCTET STRING
+ (SIZE (minBroadbandBearerCapabilityLength..
+ maxBroadbandBearerCapabilityLength))
+}
+
+-- Indicates the type of bearer capability connection to the user. For narrow-band bearerCapability, either
+-- DSS 1 (Q.931) or the ISUP User Service Information (Q.763) encoding can be used. Refer
+-- to the Q.763 Transmission Medium Requirement parameter for tmr encoding.
+-- For broadband ISDN: Indicates the Broadband Bearer Capability. Refer to Q.2961 for encoding.
+BISDNParameters{B2:b2} ::= SEQUENCE {
+ aALParameters [0] AALParameters{b2} OPTIONAL,
+ additionalATMCellRate [1] AdditionalATMCellRate{b2} OPTIONAL,
+ aESACalledParty [2] AESACalledParty{b2} OPTIONAL,
+ aESACallingParty [3] AESACallingParty{b2} OPTIONAL,
+ alternativeATMTrafficDescriptor
+ [4] AlternativeATMTrafficDescriptor{b2} OPTIONAL,
+ aTMCellRate [5] ATMCellRate{b2} OPTIONAL,
+ cDVTDescriptor [6] CDVTDescriptor{b2} OPTIONAL,
+ cumulativeTransitDelay [7] CumulativeTransitDelay{b2} OPTIONAL,
+ endToEndTransitDelay [8] EndToEndTransitDelay{b2} OPTIONAL,
+ minAcceptableATMTrafficDescriptor
+ [9] MinAcceptableATMTrafficDescriptor{b2} OPTIONAL,
+ ...
+}
+
+-- Special construct used to gather all B-ISDN specific parameters
+BothwayThroughConnectionInd ::= ENUMERATED {
+ bothwayPathRequired(0), bothwayPathNotRequired(1)}
+
+-- Indicates whether the speech path must be established both way when user interaction takes place.
+CalledDirectoryNumber{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minCalledDirectoryNumberLength..
+ maxCalledDirectoryNumberLength))
+
+-- Indicates the Called Directory Number. Refer to Q.763 'Called Directory Number' for encoding.
+CalledPartyBusinessGroupID ::= OCTET STRING
+
+-- Indicates the business group of the called party. The value of this octet string is network
+-- operator specific.
+CalledPartyNumber{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minCalledPartyNumberLength..maxCalledPartyNumberLength))
+
+-- Indicates the Called Party Number.. Refer to Q.763 for encoding.
+CalledPartySubaddress{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minCalledPartySubaddressLength..
+ maxCalledPartySubaddressLength))
+
+-- Indicates the Called Party Subaddress. . Refer to Q.763 for encoding.
+CDVTDescriptor{B2:b2} ::=
+ OCTET STRING(SIZE (minCDVTDescriptorLength..maxCDVTDescriptorLength))
+
+-- Indicates the CDVTDescriptor Information Element. Refer to Q.2763 for encoding.
+CallingGeodeticLocation{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minCallingGeodeticLocationLength..
+ maxCallingGeodeticLocationLength))
+
+-- The coding of this parameter is based on the appropriate mapping with the ISUP parameter Calling Geodetic Location.
+-- Refer to Q.763 for encoding.
+-- This parameter indicates the geograhic coordinate of a calling party. The excessive amount of data possible
+-- within this parameter may require segmentation of the INAP operation to be-sent to the SCF.
+-- The amount of data possible to be conveyed within this parameter from
+-- the SSF -to the SCF could be limitted, for example it may be considered to only support a relevant subset of all the
+-- shape descriptions. This is to be considered in the next Capability Set.
+CallingPartyBusinessGroupID ::= OCTET STRING
+
+-- Indicates the business group of the calling party. The value of this octet string is network
+-- operator specific.
+CallingPartyNumber{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minCallingPartyNumberLength..maxCallingPartyNumberLength))
+
+-- Indicates the Calling Party Number. Refer to Q.763 for encoding.
+CallingPartySubaddress{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minCallingPartySubaddressLength..
+ maxCallingPartySubaddressLength))
+
+-- Indicates the Calling Party Subaddress. . Refer to Q.763 for encoding.
+CallingPartysCategory ::= OCTET STRING(SIZE (1))
+
+-- Indicates the type of calling party (e.g. operator, payphone, ordinary subscriber).
+-- Refer to Q.763 for encoding
+CallProcessingOperation ::= ENUMERATED {
+ aLERTing(1), sETUP(5), cONNect(7), dISConnect(69), rELease(77),
+ rELeaseCOMPlete(90), fACility(98)}
+
+CallReference{B2:b2} ::= OCTET STRING(SIZE (1..maxCallReferenceLength))
+
+-- The coding of this parameter is network specific.
+-- A possible coding is the Q.763 call reference
+-- but other encoding schemes are possible.
+-- The Call Reference value is unique within one network. When transit through a private
+-- network the uniqueness of the call reference parameter is not maintained
+CallResult{B2:b2} ::=
+ OCTET STRING(SIZE (minCallResultLength..maxCallResultLength))
+
+-- This parameter provides the SCF with the charging related information previously requested
+-- using the ApplyCharging operation. This shall include the partyToCharge parameter as
+-- received in the related ApplyCharging operation to correlate the result to the request
+-- The remaining content is network operator specific.
+-- Examples of charging related information to be provided by the SSF may be: bulk counter values,
+-- costs, tariff change and time of change, time stamps, durations, etc.
+-- Examples of conditions on which the charging related information are to be reported may be:
+-- threshold value reached, timer expiration, tariff change, end of connection configuration, etc.
+CallSegmentID{B2:b2} ::= INTEGER(1..numOfCSs)
+
+Carrier{B2:b2} ::=
+ OCTET STRING(SIZE (minCarrierLength..maxCarrierLength))
+
+-- Contains the carrier selection field (first octet) followed by either Carrier ID information (option 1) , or the Transit
+--Network selection information (option 2), depending on the network.
+-- In both cases, the Carrier selection is one octet and is encoded as:
+-- 00000000 No indication
+-- 00000001 Selected carrier code pre subscribed and not input by calling party
+-- 00000010 Selected carrier identification code pre subscribed and input by calling party
+-- 00000011 Selected carrier identification code pre subscribed, no indication of whether input by calling party
+-- 00000100 Selected carrier identification code not pre subscribed and input by calling party
+-- 00000101
+-- 00000101
+-- to Reserved
+-- 00001001
+-- 00001010 Carrier selected by input from calling party
+-- 00001011 Carrier selected by a network operator
+-- 00001100
+-- to spare
+-- 11111110
+-- 00001011 Reserved
+-- For the first option, Carrier ID has a one octet field indicating the number of digits followed by the digits encoded
+-- using BCD. Detailed coding is outside the scope of this capability set. It is of local significance and carrying
+-- it through the ISUP is outside the scope of this capability set
+-- For the second option, refer to Q.763 for the TNS encoding.
+--Note that this ASN.1 encoding of this parameter includes 2 possible encodings, referred to as option 1 and option 2.
+--The encoding that should be used is dependent on the network. It is a hard-coded decision based
+-- on the region in which the switch is located.
+Cause{B2:b2} ::= OCTET STRING(SIZE (minCauseLength..maxCauseLength))
+
+-- Indicates the cause for interface related information. Refer to the Q.763 Cause parameter for encoding
+-- For the use of cause and location values refer to Q.850.
+CCSS ::= BOOLEAN
+
+-- Used by the SSF to indicate CCSS (Call Completion on Service Set-up) if set to "True" to the SCF,
+-- i.e. that the current call is due a special procedure (CCBS or CCNR).
+CGEncountered ::= ENUMERATED {
+ noCGencountered(0), manualCGencountered(1), sCPOverload(2)}
+
+-- Indicates the type of automatic call gapping encountered, if any.
+ChargeNumber{B2:b2} ::=
+ LocationNumber{b2}
+
+-- Information sent in either direction indicating the chargeable number for the call and consisting
+-- of the odd/even indicator, nature of address indicator, numbering plan indicator, and address signals.
+-- Uses the LocationNumber format which is based on the Q.763 Location Number format
+-- For example, the ChargeNumber may be a third party number to which a call is billed for the 3rd party billing
+-- service. In this case, the calling party may request operator assistance to charge the call to,
+-- for example, their home number.
+ChargingEvent{B2:b2} ::= SEQUENCE {
+ eventTypeCharging [0] EventTypeCharging{b2},
+ monitorMode [1] MonitorMode,
+ legID [2] LegID OPTIONAL
+}
+
+-- This parameter indicates the charging event type and corresponding monitor mode and LedID
+CNInfo{B2:b2} ::= OCTET STRING(SIZE (1..maxCNInfoLength))
+
+-- encoding of cNInfo is similar to the NNI specific information in the APP parameter in Q.765.1
+-- first octet contains Q.765.1 CNID indicator, only bit 5 and 6 are significant. This is followed by zero to 12 octets
+-- that contains the Q.765.1 CNID parameter, i.e. the Corporate Telecommunications Network Identifier , if present.
+-- This implies that the recommended maxCNInfoLength becomes 13 octets.
+Component ::= CHOICE {
+ componentInfo [0] OCTET STRING(SIZE (1..118)),
+ -- Contains the operation value (object identifier), error value, etc. within the UNI APDU, in addition also contain
+ -- the parameter set/sequence for the operation invocation/return result ot return error/reject on UNI. See Q.932
+ -- for encoding
+ relayedComponent [1] EMBEDDED PDV
+}
+
+-- If componentInfo is chosen, then it is necessary to use this parameter in sequence with ComponentType and
+-- ComponentCorrelationID
+-- If relayedComponent is chosen, then ComponentType and ComponentCorrelationID may not be used in the
+-- sequence
+ComponentCorrelationID ::= INTEGER
+
+ComponentType ::= ENUMERATED {
+ any(0), invoke(1), rResult(2), rError(3), rReject(4)}
+
+-- Type of component in a Facility information element
+CompoundCriteria{B2:b2} ::= SEQUENCE {
+ basicGapCriteria [0] BasicGapCriteria{b2},
+ scfID [1] ScfID{b2} OPTIONAL
+}
+
+-- Allows to combine basic gap criteria with the SCF identifier.
+ConnectedNumberTreatmentInd ::= ENUMERATED {
+ noINImpact(0), presentationRestricted(1), presentCalledINNumber(2),
+ presentCalledINNumberRestricted(3)}
+
+ConnectionIdentifier{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minConnectionIdentifierLength..maxConnectionIdentifierLength))
+
+-- Indicates the ConnectionElementIdentifier Information Element. Refer to Q.2763 for encoding.
+ControlType ::= ENUMERATED {
+ sCPOverloaded(0), manuallyInitiated(1), destinationOverload(2)
+
+-- other values are outside the scope of this capability set.
+}
+
+CorrelationID{B2:b2} ::= Digits{b2}
+
+-- used by SCF for correlation with a previous operation. Refer to clause 11 for a description of the procedures
+-- associated with this parameter.
+CounterAndValue ::= SEQUENCE {
+ counterID [0] CounterID,
+ counterValue [1] Integer4
+}
+
+CounterID ::= INTEGER(0..9)
+
+-- Indicates the counters to be incremented The counterIDs can be addressed by using the last digits of the dialed number.
+CountersValue{B2:b2} ::=
+ SEQUENCE SIZE (0..numOfCounters) OF CounterAndValue
+
+CreateOrRemoveIndicator ::= ENUMERATED {create(0), remove(1)}
+
+CSAID{B2:b2} ::= INTEGER(1..numOfCSAs)
+
+-- Indicates the SSF CSA identifier
+CUG-Interlock ::= OCTET STRING(SIZE (4)) -- See Q.763 for encoding
+
+
+CUG-Index ::=
+ IA5String(SIZE (1..4))
+ (FROM ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"))
+
+CumulativeTransitDelay{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minCumulativeTransitDelayLength..
+ maxCumulativeTransitDelayLength))
+
+-- Indicates the CumulativeTransitDelay Information Element. Refer to Q.2763 for encoding.
+CutAndPaste ::= INTEGER(0..2)
+
+-- Indicates the number of leading digits to be deleted (cut) and to paste remaining dialed digits.
+DateAndTime ::= OCTET STRING(SIZE (6))
+
+-- Indicates, amongst others, the start time for activate service filtering. Coded as YYMMDDHHMMSS
+-- with each digit coded BCD
+-- The first octet contains YY and the remaining items are sequenced following
+-- For example, 1998 September 30th, 12:15:01 would be encoded as:
+-- Bits HGFE DCBA
+-- leading octet 8 9
+-- 9 0
+-- 0 3
+-- 2 1
+-- 5 1
+-- 1 0
+-- For a system operating when or after this Recommendation is released, the 2 digit value
+-- representing a Year shall be interpreted as follows
+-- If the two-digits value is 00 through 49 inclusive, it shall be interpreted as representing
+-- year 2000 through 2049.
+-- If the two-digits value is 50 through 99 inclusive, it shall be interpreted as representng
+-- year 1950 through 1999.
+DefaultFaultHandling{B2:b2, B3:b3} ::= SEQUENCE {
+ action [0] ENUMERATED {resumeCallProcessing(0), releaseCall(1), ...
+ },
+ treatment [1] GapTreatment{b2, b3} OPTIONAL,
+ ...
+}
+
+-- Indicates the default SSF behaviour in case a service cannot be triggered (e.g;. due to call gapping) or
+-- no valid answer is received from the SCF.
+DestinationIndex{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minDestinationIndexLength..maxDestinationIndexLength))
+
+-- Indicates a pointer to a destination. Its content is network operator specific
+DestinationRoutingAddress{B2:b2} ::=
+ SEQUENCE SIZE (1..numOfAddresses) OF CalledPartyNumber{b2}
+
+-- Indicates the list of Called Party Numbers (primary and alternates).
+Digits{B2:b2} ::= OCTET STRING(SIZE (minDigitsLength..maxDigitsLength))
+
+-- Indicates the address signalling digits. Refer to the Q.763 Generic Number and Generic Digits parameter
+-- for encoding. The coding of the subfield's 'NumberQualifier' in Generic Number and 'TypeOfDigits' in
+-- Generic Digits are irrelevant to the INAP, the ASN.1 tags are sufficient to identify the parameter.
+-- The ISUP format does not allow to exclude these subfields, therefore the value is network operator specific.
+-- The following parameters should use Generic Number
+-- Additional Calling Number, CorrelationID for AssistRequestInstructions, AssistingSSPIPRoutingAddress
+-- for EstablishTemporaryConnection
+-- calledAddressValue for all occurrences,callingAddressValue for all occurrences
+-- The following parameters should use Generic Digits: prefix, all
+-- other CorrelationID occurrences, dialledNumber filtering criteria, callingLineID filtering criteria, lineID for
+-- ResourceID type, digitResponse for ReceivedInformationArg, iNServiceControlLow / iNServiceControlHigh for
+--MidCallInfoType,, iNServiceControlCode for MidCallInfo.
+DisplayInformation{B2:b2} ::=
+ IA5String
+ (SIZE (minDisplayInformationLength..maxDisplayInformationLength))
+
+-- Indicates the display information
+-- Delivery of DisplayInformation parameter to Private Networks cannot be guaranteed due to signalling
+-- interworking problems, solutions are outside the scope of this capability set.
+DpSpecificCommonParameters{B1:b1, B2:b2} ::= SEQUENCE {
+ serviceAddressInformation [0] ServiceAddressInformation,
+ bearerCapability [1] BearerCapability{b2} OPTIONAL,
+ calledPartyNumber [2] CalledPartyNumber{b2} OPTIONAL,
+ callingPartyNumber [3] CallingPartyNumber{b2} OPTIONAL,
+ callingPartysCategory [4] CallingPartysCategory OPTIONAL,
+ iPSSPCapabilities [5] IPSSPCapabilities{b2} OPTIONAL,
+ iPAvailable [6] IPAvailable{b2} OPTIONAL,
+ iSDNAccessRelatedInformation
+ [7] ISDNAccessRelatedInformation{b2} OPTIONAL,
+ cGEncountered [8] CGEncountered OPTIONAL,
+ locationNumber [9] LocationNumber{b2} OPTIONAL,
+ serviceProfileIdentifier [10] ServiceProfileIdentifier OPTIONAL,
+ terminalType [11] TerminalType OPTIONAL,
+ extensions [12] Extensions{b1} OPTIONAL,
+ chargeNumber [13] ChargeNumber{b2} OPTIONAL,
+ servingAreaID [14] ServingAreaID{b2} OPTIONAL,
+ serviceInteractionIndicators
+ [15] ServiceInteractionIndicators{b2} OPTIONAL,
+ iNServiceCompatibilityIndication
+ [16] INServiceCompatibilityIndication{b2} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [17] ServiceInteractionIndicatorsTwo OPTIONAL,
+ uSIServiceIndicator [18] USIServiceIndicator{b2} OPTIONAL,
+ uSIInformation [19] USIInformation{b2} OPTIONAL,
+ forwardGVNS [20] ForwardGVNS{b2} OPTIONAL,
+ createdCallSegmentAssociation [21] CSAID{b2} OPTIONAL,
+ ...,
+ ipRelatedInformation [22] IPRelatedInformation{b2} OPTIONAL
+}
+
+-- OPTIONAL for iPSSPCapabilities, iPAvailable, and cGEncountered denotes network operator specific use
+-- OPTIONAL for callingPartyNumber, and callingPartysCategory
+-- . bearerCapability should be appropriately coded as speech.
+DpSpecificCriteria{B2:b2} ::= CHOICE {
+ numberOfDigits [0] NumberOfDigits,
+ applicationTimer [1] ApplicationTimer,
+ midCallControlInfo [2] MidCallControlInfo{b2},
+ numberOfDigitsTwo
+ [3] SEQUENCE {requestedNumberOfDigits [0] NumberOfDigits,
+ minNumberOfDigits [1] NumberOfDigits OPTIONAL
+ }
+}
+
+-- The SCF may specify the number of digits to be collected by the SSF for the CollectedInfo event
+-- When all digits are collected, the SSF reports the event to the SCF
+-- The SCF may set a timer in the SSF for the No Answer event. If the user does not answer the call
+--within the allotted time, the SSF reports the event to the SCF
+-- The SCF may specify the number of digits to be collected by the SSF for the
+-- CollecteInfo event and hereby specify a minimum number of digits to be collected in case
+-- the exact number of digits is unknown to the SCF, but a report is desired in case of complete number
+-- is determined before the requested number of digits has been collected.
+Duration ::= INTEGER(-2..86400)
+
+-- Values are seconds. The interpetationof value 0 depends on the context where it is used..
+-- A duration of -1 indicates an infinite duration.
+-- A duration of -2 indicates a network specific duration.
+EndToEndTransitDelay{B2:b2} ::=
+ OCTET STRING(SIZE (minEndToEndTDLength..maxEndToEndTDLength))
+
+-- Indicates the MaximunEndToEndTransitDelay Information Element. Refer to Q.2763 for encoding.
+Entry ::= CHOICE {
+ agreements [0] OBJECT IDENTIFIER,
+ networkSpecific [1] Integer4
+}
+
+-- Identifies a class of service for IN service compatibility procedures.
+EventSpecificInformationBCSM{B2:b2} ::= CHOICE {
+ collectedInfoSpecificInfo
+ [0] SEQUENCE {calledPartynumber [0] CalledPartyNumber{b2},
+ ...},
+ analysedInfoSpecificInfo
+ [1] SEQUENCE {calledPartynumber [0] CalledPartyNumber{b2},
+ ...},
+ routeSelectFailureSpecificInfo
+ [2] SEQUENCE {failureCause [0] Cause{b2} OPTIONAL,
+ ...},
+ oCalledPartyBusySpecificInfo
+ [3] SEQUENCE {busyCause [0] Cause{b2} OPTIONAL,
+ ...},
+ oNoAnswerSpecificInfo
+ [4] SEQUENCE {...,
+ cause [0] Cause{b2} OPTIONAL},
+ oAnswerSpecificInfo
+ [5] SEQUENCE {backwardGVNS [0] BackwardGVNS{b2} OPTIONAL,
+ ...},
+ oMidCallSpecificInfo
+ [6] SEQUENCE {connectTime [0] Integer4 OPTIONAL,
+ oMidCallInfo [1] MidCallInfo{b2} OPTIONAL,
+ ...},
+ oDisconnectSpecificInfo
+ [7] SEQUENCE {releaseCause [0] Cause{b2} OPTIONAL,
+ connectTime [1] Integer4 OPTIONAL,
+ ...},
+ tBusySpecificInfo
+ [8] SEQUENCE {busyCause [0] Cause{b2} OPTIONAL,
+ ...},
+ tNoAnswerSpecificInfo
+ [9] SEQUENCE {...,
+ cause [0] Cause{b2} OPTIONAL},
+ tAnswerSpecificInfo
+ [10] SEQUENCE {-- no specific info defined
+ ...},
+ tMidCallSpecificInfo
+ [11] SEQUENCE {connectTime [0] Integer4 OPTIONAL,
+ tMidCallInfo [1] MidCallInfo{b2} OPTIONAL,
+ ...},
+ tDisconnectSpecificInfo
+ [12] SEQUENCE {releaseCause [0] Cause{b2} OPTIONAL,
+ connectTime [1] Integer4 OPTIONAL,
+ ...},
+ oTermSeizedSpecificInfo
+ [13] SEQUENCE {-- no specific info defined
+ ...},
+ oSuspend
+ [14] SEQUENCE {-- no specific info defined
+ ...},
+ tSuspend
+ [15] SEQUENCE {-- no specific info defined
+ ...},
+ origAttemptAuthorized
+ [16] SEQUENCE {-- no specific info defined
+ ...},
+ oReAnswer
+ [17] SEQUENCE {-- no specific info defined
+ ...},
+ tReAnswer
+ [18] SEQUENCE {-- no specific info defined
+ ...},
+ facilitySelectedAndAvailable
+ [19] SEQUENCE {-- no specific info defined
+ ...},
+ callAccepted
+ [20] SEQUENCE {-- no specific info defined
+ ...},
+ oAbandon
+ [21] SEQUENCE {abandonCause [0] Cause{b2} OPTIONAL,
+ ...},
+ tAbandon
+ [22] SEQUENCE {abandonCause [0] Cause{b2} OPTIONAL,
+ ...},
+ authorizeRouteFailure
+ [23] SEQUENCE {authoriseRouteFailureCause [0] Cause{b2} OPTIONAL,
+ ...},
+ terminationAttemptAuthorized
+ [24] SEQUENCE {-- no specific info defined
+ ...},
+ originationAttemptDenied
+ [25] SEQUENCE {originationDeniedCause [0] Cause{b2} OPTIONAL,
+ ...},
+ terminationAttemptDenied
+ [26] SEQUENCE {terminationDeniedCause [0] Cause{b2} OPTIONAL,
+ ...},
+ oModifyRequestSpecificInfo
+ [40] SEQUENCE {aTMCellRate [0] ATMCellRate{b2} OPTIONAL,
+ additionalATMCellRate
+ [1] AdditionalATMCellRate{b2} OPTIONAL,
+ ...},
+ oModifyResultSpecificInfo
+ [41] SEQUENCE {modifyResultType
+ [0] ModifyResultType DEFAULT modifyAcknowledge,
+ aTMCellRate [1] ATMCellRate{b2} OPTIONAL,
+ additionalATMCellRate
+ [2] AdditionalATMCellRate{b2} OPTIONAL,
+ ...},
+ tModifyRequestSpecificInfo
+ [42] SEQUENCE {aTMCellRate [0] ATMCellRate{b2} OPTIONAL,
+ additionalATMCellRate
+ [1] AdditionalATMCellRate{b2} OPTIONAL,
+ ...},
+ tModifyResultSpecificInfo
+ [43] SEQUENCE {modifyResultType
+ [0] ModifyResultType DEFAULT modifyAcknowledge,
+ aTMCellRate [1] ATMCellRate{b2} OPTIONAL,
+ additionalATMCellRate
+ [2] AdditionalATMCellRate{b2} OPTIONAL,
+ ...}
+}
+
+-- Indicates the call related information specific to the event.
+-- The unit for the connectTime is 100 milliseconds
+EventSpecificInformationCharging{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minEventSpecificInformationChargingLength..
+ maxEventSpecificInformationChargingLength))
+
+-- defined by network operator.
+-- Its content is network signalling/operator specific.
+-- Indicates the charging related information specific to the event.
+-- An example data EmbeddedType definition for this parameter is given below:
+-- chargePulses [0] Integer4,
+-- chargeMessages [1] OCTET STRING (SIZE (min..max))
+EventTypeBCSM ::= ENUMERATED {
+ origAttemptAuthorized(1), collectedInfo(2), analysedInformation(3),
+ routeSelectFailure(4), oCalledPartyBusy(5), oNoAnswer(6), oAnswer(7),
+ oMidCall(8), oDisconnect(9), oAbandon(10), termAttemptAuthorized(12),
+ tBusy(13), tNoAnswer(14), tAnswer(15), tMidCall(16), tDisconnect(17),
+ tAbandon(18), oTermSeized(19), oSuspend(20), tSuspend(21), origAttempt(22),
+ termAttempt(23), oReAnswer(24), tReAnswer(25),
+ facilitySelectedAndAvailable(26), callAccepted(27),
+ authorizeRouteFailure(28), originationAttemptDenied(29),
+ terminationAttemptDenied(30), oModifyRequest(100), oModifyResult(101),
+ tModifyRequest(102), tModifyResult(103)}
+
+-- Indicates the name of the BCSM detection point event.
+-- Notice: Values origAttempt and termAttempt can only be used for TDPs
+-- The value range 100- 127 is reserved for bearer related events
+EventTypeCharging{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minEventTypeChargingLength..maxEventTypeChargingLength))
+
+-- This parameter indicates the charging event type. .
+-- Its content is network signalling / operator specific.
+-- An example data type definition for this parameter is given below:
+-- EventTypeCharging EmbeddedType ::= ENUMERATED {
+-- chargePulses (0),
+-- chargeMessages (1)
+-- }
+FacilityGroup ::= CHOICE {
+ trunkGroupID [0] INTEGER,
+ privateFacilityID [1] INTEGER,
+ huntGroup [2] OCTET STRING,
+ routeIndex [3] OCTET STRING
+}
+
+-- Indicates the particular group of facilities to route the call. huntGroup and routeIndex are encoded as
+-- network operator specific.
+FacilityGroupMember ::= INTEGER
+
+-- Indicates the specific member of a trunk group or multi-line hunt group.
+FCIBillingChargingCharacteristics{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minFCIBillingChargingLength..maxFCIBillingChargingLength))
+
+-- This parameter indicates the billing and/or charging characteristics.
+-- Its content is network operator specific.
+-- An example datatype definition for this parameter is given below:
+-- FCIBillingChargingCharacteristicsEmbeddedType ::= CHOICE {
+-- completeChargingrecord [0] OCTET STRING (SIZE (min..max)),
+-- correlationID [1] CorrelationID,
+-- scenario2Dot3 [2] SEQUENCE {
+-- chargeParty [0] LegID OPTIONAL,
+-- chargeLevel [1] OCTET STRING (SIZE (min..max)) OPTIONAL,
+-- chargeItems [2] SET OF Attribute OPTIONAL
+-- }
+-- }
+-- Depending on the applied charging scenario the following information elements can be included
+-- (refer to Q.1214 Appendix II):
+-- complete charging record (scenario 2.2)
+-- charge party (scenario 2.3)
+-- charge level (scenario 2.3)
+-- charge items (scenario 2.3)
+-- correlationID (scenario 2.4)
+FeatureCode{B2:b2} ::=
+ LocationNumber{b2}
+
+-- The two-digit feature code preceded by "*" or "11".
+-- Uses the LocationNumber format which is based on the Q.763 Location Number format.
+-- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
+-- The Numbering Plan Indicator field shall be set to "Spare" (value 000)
+-- Used for stimulus signalling (Q.932).
+FeatureRequestIndicator ::= ENUMERATED {
+ hold(0), retrieve(1), featureActivation(2), spare1(3), sparen(127)}
+
+-- Indicates the feature activated (e.g. a switch-hook flash, feature activation). Spare values reserved
+-- for future use.
+FilteredCallTreatment{B2:b2, B3:b3} ::= SEQUENCE {
+ sFBillingChargingCharacteristics [0] SFBillingChargingCharacteristics{b2},
+ informationToSend [1] InformationToSend{b2, b3} OPTIONAL,
+ maximumNumberOfCounters [2] MaximumNumberOfCounters{b2} OPTIONAL,
+ releaseCause [3] Cause{b2} OPTIONAL,
+ ...
+}
+
+-- If releaseCause is not present, the default value is the same as the ISUP cause value decimal 31.
+-- If informationToSend is present, the call will be released after the end of the announcement
+-- with the indicated or default releaseCause.
+-- If maximumNumberOfCounters is not present, ServiceFilteringResponse will be sent with
+-- CountersValue::= SEQUENCE SIZE (0) OF CountersAndValue.
+FilteringCharacteristics ::= CHOICE {
+ interval [0] INTEGER(-1..32000),
+ numberOfCalls [1] Integer4
+}
+
+-- Indicates the severity of the filtering and the point in time when the ServiceFilteringResponse is to be sent.
+-- If = interval, every interval of time the next call leads to an InitialDP and a ServiceFilteringResponse is sent to
+-- the SCF.
+-- An interval of 0 indicates that all calls matching the filtering criteria will result in sending of an "InitialDP" or a DP-specific
+-- operation and no filtering will be applied (i.e. no "ServiceFilteringResponse will be sent).
+-- An interval of -1 indicates that none of the calls matching the filtering criteria will either result in sending of
+-- an "InitialDP" or a DP-specific operation or a "ServiceFilteringResponse" operation.
+-- Other values of Interval indicate duration in seconds.
+-- If = NumberOfCalls, every N calls the Nth call leads to an InitialDP and a ServiceFilteringResponse
+-- is sent to the SCF.
+-- If ActivateServiceFiltering implies several counters - filtering on several dialled numbers -,
+-- the numberOfCalls would include calls to all the dialled numbers.
+FilteringCriteria{B2:b2} ::= CHOICE {
+ dialledNumber [0] Digits{b2},
+ callingLineID [1] Digits{b2},
+ serviceKey [2] ServiceKey,
+ addressAndService
+ [30] SEQUENCE {calledAddressValue [0] Digits{b2},
+ serviceKey [1] ServiceKey,
+ callingAddressValue [2] Digits{b2} OPTIONAL,
+ locationNumber [3] LocationNumber{b2} OPTIONAL,
+ ...}
+}
+
+-- In case calledAddressValue is specified, the numbers to be filtered are from calledAddressValue
+-- up to and including calledAddressValue + maximumNumberOfCounters-1.
+-- The last two digits of calledAddressvalue can not exceed 100-maximumNumberOfCounters.
+FilteringTimeOut ::= CHOICE {
+ duration [0] Duration,
+ stopTime [1] DateAndTime
+}
+
+-- Indicates the maximum duration of the filtering. When the timer expires, a ServiceFilteringResponse
+-- is sent to the SCF.
+-- duration of 0 indicates that service filtering is to be removed.
+-- duration of -1 indicates an infinite duration.
+-- duration of -2 indicates a network specific duration.
+-- other values indicate duration in seconds.
+ForwardCallIndicators ::= OCTET STRING(SIZE (2))
+
+-- Indicates the Forward Call Indicators. Refer to Q.763 for encoding
+ForwardGVNS{B2:b2} ::=
+ OCTET STRING(SIZE (minForwardGVNSLength..maxForwardGVNSLength))
+
+-- Indicates the GVNS Forward information. Refer to Q.735, S6 for encoding.
+ForwardingCondition ::= ENUMERATED {busy(0), noanswer(1), any(2)}
+
+-- Indicates the condition that must be met to complete the connect.
+ForwardServiceInteractionInd ::= SEQUENCE {
+ conferenceTreatmentIndicator [1] OCTET STRING(SIZE (1)) OPTIONAL,
+ -- acceptConferenceRequest 'xxxx xx01',B
+ -- rejectConferenceRequest 'xxxx xx10'B
+ -- network default is accept conference request.
+ callDiversionTreatmentIndicator [2] OCTET STRING(SIZE (1)) OPTIONAL,
+ -- callDiversionAllowed 'xxxx xx01'B
+ -- callDiversionNotAllowed 'xxxx xx10'B
+ -- network default is Call Diversion allowed.
+ callOfferingTreatmentIndicator [3] OCTET STRING(SIZE (1)) OPTIONAL,
+ --indicates if call offering is "allowed"," not allowed" or "no impact by IN"
+ -- the value 'no impact by IN," has only local significance in SSF as a request to SSF
+ -- not to modify the value of the call offering treatment indicator conveyed in signaling.
+ -- callOfferingNotAllowed 'xxxx xx01'B,
+ -- callOfferingAllowed 'xxxx xx10'B
+ -- callOfferingNoINImpact 'xxxx x100'B
+ --indicates if call offering is "allowed"," not allowed" or "no impact by IN".
+ -- network default is Call Offering not allowed
+ callWaitingTreatmentIndicator [5] OCTET STRING(SIZE (1)) OPTIONAL,
+ -- callWaitingAllowed 'xxxx xx01'B,
+ -- callWaitingNotAllowed 'xxxx xx10'B
+ -- network default is Call Waiting allowed
+ -- Notice Tag value 4 is otherwise reserved .
+ ...,
+ holdTreatmentIndicator [6] OCTET STRING(SIZE (1)) OPTIONAL,
+ -- acceptHoldRequest 'xxxx xx01'B
+ -- rejectHoldRequest 'xxxx xx10'B
+ -- network default is accept hold request
+ ectTreatmentIndicator [7] OCTET STRING(SIZE (1)) OPTIONAL
+ -- acceptEctRequest 'xxxx xx01'B
+ -- rejectEctRequest 'xxxx xx10'B
+ -- network default is accept ect request
+}
+
+--The forwardServiceInteractionInd parameter is applicable to IDP, CON, CWA and ICA operations.
+--This parameter can be received either in the O_BCSM or in the T_BCSM.
+GapCriteria{B2:b2} ::= CHOICE {
+ basicGapCriteria BasicGapCriteria{b2},
+ compoundCapCriteria CompoundCriteria{b2}
+}
+
+GapOnService ::= SEQUENCE {
+ serviceKey [0] ServiceKey,
+ dpCriteria [1] EventTypeBCSM OPTIONAL,
+ ...
+}
+
+GapIndicators ::= SEQUENCE {
+ duration [0] Duration,
+ gapInterval [1] Interval,
+ ...
+}
+
+-- Indicates the gapping characteristics.
+-- A duration of 0 indicates that gapping is to be removed.
+-- A duration of -1 indicates an infinite duration.
+-- A duration of -2 indicates a network specific duration.
+--= Other values indicate duration in seconds.
+-- An interval of 0 indicates that service requests meeting the gap criteria are not to be rejected , i.e.
+-- No gapping when gapInterval equals 0, and
+-- an interval of -1 indicates that all service requests meeting the gap criteria are to be rejected, i.e.
+-- gap all calls when gapInterval equals -1 .
+--= Other values indicate interval in milliseconds.
+GapTreatment{B2:b2, B3:b3} ::= CHOICE {
+ informationToSend [0] InformationToSend{b2, b3},
+ releaseCause [1] Cause{b2},
+ both
+ [2] SEQUENCE {informationToSend [0] InformationToSend{b2, b3},
+ releaseCause [1] Cause{b2},
+ ...}
+}
+
+-- The default value for Cause is the same as in ISUP.
+GenericIdentifier{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minGenericIdentifierLength..maxGenericIdentifierLength))
+
+-- Indicates the GenericIdentifier Information Element. Refer to Q.2931 for encoding.
+GenericName{B2:b2} ::=
+ OCTET STRING(SIZE (minGenericNameLength..maxGenericNameLength))
+
+-- Refer to Q.931 Display Information for encoding.
+GenericNumber{B2:b2} ::=
+ OCTET STRING(SIZE (minGenericNumberLength..maxGenericNumberLength))
+
+-- Refer to Q.763 Generic Number for encoding.
+GenericNumbers{B2:b2} ::=
+ SET SIZE (1..numOfGenericNumbers) OF GenericNumber{b2}
+
+GlobalCallReference{B2:b2} ::=
+ OCTET STRING(SIZE (1..maxGlobalCallReferenceLength))
+
+-- Global Call Reference as defined in Q.1902.3
+HighLayerCompatibility{B2:b2} ::=
+ OCTET STRING(SIZE (highLayerCompatibilityLength))
+
+-- Indicates the teleservice. For encoding, DSS1 (Q.931) is used.
+HoldCause ::= OCTET STRING
+
+-- defined by network operator.
+-- Indicates the cause for holding a call.
+-- Its content is network operator specific
+initialCallSegment INTEGER ::=
+ 1
+
+-- the initial call segment represents the call segment that was there when the CSA was created, ie. the CS where
+-- the trigger took place or the CS that was created by an InitateCallAttempt within a TC-BEGIN message,
+-- unless InitiateCallAttemt was proceeded by a CreateCallSegmanrAssociation operation.
+INprofile{B1:b1, B2:b2} ::= SEQUENCE {
+ actionOnProfile [0] ActionOnProfile,
+ tDPIdentifier [1] TDPIdentifier{b2},
+ dPName [2] EventTypeBCSM OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- Contains profile elements that can be downloaded in the SSF using the setServiceProfile operation.
+INServiceCompatibilityIndication{B2:b2} ::=
+ SEQUENCE SIZE (1..numOfInServiceCompatibilityIndLength) OF Entry
+
+-- Identifies a list of service classes triggered during the lifetime of a call
+INServiceCompatibilityResponse ::=
+ Entry
+
+-- Used to override the last entry in INServiceCompatibilityIndication
+Interval ::= INTEGER(-1..60000)
+
+-- Units are milliseconds. A -1 value denotes infinite.
+IPAvailable{B2:b2} ::=
+ OCTET STRING(SIZE (minIPAvailableLength..maxIPAvailableLength))
+
+-- defined by network operator.
+-- Indicates that the resource is available.
+-- Its content is network operator specific
+IPRelatedInformation{B2:b2} ::= SEQUENCE {
+ alternativeCalledPartyIds [0] AlternativeIdentities{b2} OPTIONAL,
+ alternativeOriginatingPartyIds [1] AlternativeIdentities{b2} OPTIONAL,
+ alternativeOriginalCalledPartyIds [2] AlternativeIdentities{b2} OPTIONAL,
+ alternativeRedirectingPartyIds [3] AlternativeIdentities{b2} OPTIONAL,
+ ...
+}
+
+-- contains information that are specific to interworking with IP-based networks
+IPRoutingAddress{B2:b2} ::=
+ CalledPartyNumber{b2}
+
+-- Indicates the routing address for the IP.
+IPSSPCapabilities{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minIPSSPCapabilitiesLength..maxIPSSPCapabilitiesLength))
+
+-- defined by network operator.
+-- Indicates the SRF resources available at the SSP.
+-- Its content is network operator specific
+ISDNAccessRelatedInformation{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minISDNAccessRelatedInfoLength..
+ maxISDNAccessRelatedInfoLength))
+
+-- Indicates the destination user network interface related information. Refer to the Q.763 Access
+-- Transport parameter for encoding.
+LegID ::= CHOICE {sendingSideID [0] LegType,
+ receivingSideID [1] LegType
+}
+
+-- Indicates a reference to a specific party in a call. OPTIONAL denotes network operator specific use
+-- with a choice of unilateral ID assignment or bilateral ID assignment.
+-- OPTIONAL for LegID also denotes the following:
+--when only one party exists in the call, this parameter is not needed (as no ambiguity exists);
+--when more than one party exists in the call, one of the following alternatives applies:
+-- 1. LegID is present and indicates which party is concerned.
+-- 2. LegID is not present and a default value is assumed (e.g. calling party in the case of the
+-- ApplyCharging operation).
+-- Choice between these two alternatives is kept a network operator option.
+-- sendingSideID is used where legID is sent from the SCF to the SSF and
+-- receivingSideID is used where SCF receives legID from the SSF.
+LegType ::= OCTET STRING(SIZE (1))
+
+leg1 LegType ::= '01'H
+
+leg2 LegType ::= '02'H
+
+LocationNumber{B2:b2} ::=
+ OCTET STRING(SIZE (minLocationNumberLength..maxLocationNumberLength))
+
+-- Indicates the Location Number for the calling party. Refer to Q.763 (White book) for encoding.
+MaximumNumberOfCounters{B2:b2} ::= INTEGER(1..numOfCounters)
+
+MidCallControlInfo{B2:b2} ::=
+ SEQUENCE SIZE (minMidCallControlInfoNum..maxMidCallControlInfoNum) OF
+ SEQUENCE {midCallInfoType [0] MidCallInfoType{b2},
+ midCallReportType
+ [1] ENUMERATED {inMonitoringState(0), inAnyState(1)}
+ DEFAULT inMonitoringState,
+ ...}
+
+MidCallInfo{B2:b2} ::= SEQUENCE {iNServiceControlCode [0] Digits{b2},
+ ...
+}
+
+MidCallInfoType{B2:b2} ::= SEQUENCE {
+ iNServiceControlCodeLow [0] Digits{b2},
+ iNServiceControlCodeHigh [1] Digits{b2} OPTIONAL,
+ ...
+}
+
+MiscCallInfo ::= SEQUENCE {
+ messageType [0] ENUMERATED {request(0), notification(1)},
+ dpAssignment
+ [1] ENUMERATED {individualBased(0), groupBased(1), switchBased(2)}
+ OPTIONAL
+}
+
+-- Indicates detection point related information.
+-- Note: "Switch based "is used with the same meaning as the previous used term "office based"
+MinAcceptableATMTrafficDescriptor{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minMinAcceptableATMTrafficDescriptorLength..
+ maxMinAcceptableATMTrafficDescriptorLength))
+
+-- Indicates the MinimumAcceptableATMTrafficDescriptor Information Element. Refer to Q.2931 for encoding.
+ModifyResultType ::= ENUMERATED {modifyAcknowledge(0), modifyReject(1)
+}
+
+-- Indicates whether a bearer modification attempt has been successful or not
+MonitoringCriteria ::= CHOICE {
+ threshold [0] Integer4,
+ interval [1] Interval
+}
+
+-- Indicates the criteria for route monitoring
+MonitorMode ::= ENUMERATED {
+ interrupted(0), notifyAndContinue(1), transparent(2)}
+
+-- Indicates the event is relayed and/or processed by the SSF.
+MonitoringTimeOut ::= CHOICE {
+ duration [0] Duration,
+ stopTime [1] DateAndTime
+}
+
+-- Indicates when a route moniroting procedure shall be stopped.
+NumberingPlan ::= OCTET STRING(SIZE (1))
+
+-- Indicates the numbering plan for collecting the user information. Refer to the Q.763 Numbering Plan
+-- Indicator field for encoding.
+NumberOfDigits ::= INTEGER(1..255)
+
+-- Indicates the number of digits to be collected
+OriginalCalledPartyID{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minOriginalCalledPartyIDLength..
+ maxOriginalCalledPartyIDLength))
+
+-- Indicates the original called number. d Refer to the Q.763 Original Called Number for encoding.
+ProfileIdentifier{B2:b2} ::= CHOICE {
+ access [0] CalledPartyNumber{b2},
+ group [1] FacilityGroup
+}
+
+-- Please note that 'CalledPartyNumber' is used to address a subscriber access line.
+--The data type was reused from the existing types to avoid the definition of a new one.
+QoSParameter{B2:b2} ::=
+ OCTET STRING(SIZE (minQoSParameterLength..maxQoSParameterLength))
+
+-- Indicates the QoS. Refer to Q.2961 for encoding.
+Reason{B2:b2} ::= OCTET STRING(SIZE (minReasonLength..maxReasonLength))
+
+-- Its content is network operator specific
+RedirectingPartyID{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minRedirectingPartyIDLength..maxRedirectingPartyIDLength))
+
+-- Indicates redirecting number. Refer to the Q.763 Redirecting number for encoding.
+RedirectionInformation ::= OCTET STRING(SIZE (2))
+
+-- Indicates redirection information. Refer to the Q.763 Redirection Information for encoding.
+RedirectReason ::= OCTET STRING(SIZE (1))
+
+-- Indicates redirection reason information. Refer to the "Invoking Pivot Reason" parameter of Q.763 for encoding.
+RegistratorIdentifier ::= OCTET STRING
+
+-- Its content is network operator specific
+ReportCondition ::= ENUMERATED {statusReport(0), timerExpired(1), canceled(2)
+}
+
+-- ReportCondition specifies the cause of sending "StatusReport" operation to the SCF
+RequestedInformationList{B2:b2} ::=
+ SEQUENCE SIZE (1..numOfInfoItems) OF RequestedInformation{b2}
+
+RequestedInformationTypeList{B2:b2} ::=
+ SEQUENCE SIZE (1..numOfInfoItems) OF RequestedInformationType
+
+RequestedInformation{B2:b2} ::= SEQUENCE {
+ requestedInformationType [0] RequestedInformationType,
+ requestedInformationValue [1] RequestedInformationValue{b2},
+ ...
+}
+
+RequestedInformationType ::= ENUMERATED {
+ callAttemptElapsedTime(0), callStopTime(1), callConnectedElapsedTime(2),
+ calledAddress(3), releaseCause(30)}
+
+RequestedInformationValue{B2:b2} ::= CHOICE {
+ callAttemptElapsedTimeValue [0] INTEGER(0..255),
+ callStopTimeValue [1] DateAndTime,
+ callConnectedElapsedTimeValue [2] Integer4,
+ calledAddressValue [3] Digits{b2},
+ releaseCauseValue [30] Cause{b2}
+}
+
+-- The callAttemptElapsedTimeValue is specified in seconds.
+--The unit for the callConnectedElapsedTimeValue is 100 milliseconds
+RequestedUTSI{B2:b2} ::= SEQUENCE {
+ uSIServiceIndicator [0] USIServiceIndicator{b2},
+ uSImonitorMode [1] USIMonitorMode,
+ ...
+}
+
+RequestedUTSIList{B2:b2} ::=
+ SEQUENCE SIZE (minRequestedUTSINum..maxRequestedUTSINum) OF
+ RequestedUTSI{b2}
+
+ResourceID{B2:b2} ::= CHOICE {
+ lineID [0] Digits{b2},
+ facilityGroupID [1] FacilityGroup,
+ facilityGroupMemberID [2] INTEGER,
+ trunkGroupID [3] INTEGER
+}
+
+-- Indicates a logical identifier for the physical termination resource.
+ResourceStatus ::= ENUMERATED {busy(0), idle(1)}
+
+ResponseCondition ::= ENUMERATED {intermediateResponse(0), lastResponse(1)
+
+-- additional values are outside the scope of this capability set
+}
+
+-- ResponseCondition is used to identify the reason why ServiceFilteringResponse operation is sent.
+RouteCountersValue{B2:b2} ::=
+ SEQUENCE SIZE (1..maxNbOfRoutes) OF RouteCountersAndValue{b2}
+
+RouteCountersAndValue{B2:b2} ::= SEQUENCE {
+ route [0] Route{b2},
+ counterID [1] CounterID,
+ counterValue [2] Integer4,
+ ...
+}
+
+-- Used to assign a counter to a route for monitoring purposes.
+RouteList{B2:b2} ::= SEQUENCE SIZE (1..maxNbOfRoutes) OF Route{b2}
+
+-- Indicates a list of trunk groups or a list of route index..
+Route{B2:b2} ::=
+ OCTET STRING(SIZE (minRouteListLength..maxRouteListLength))
+
+-- Indicates a trunk group or a route index. .
+-- Its content is network operator specific
+RouteingNumber{B2:b2} ::=
+ OCTET STRING(SIZE (minRouteingNumberLength..maxRouteingNumberLength))
+
+-- Indicates the Routeing Number. Refer to Q.763 parameter Network Routeing Number for encoding.
+ScfID{B2:b2} ::= OCTET STRING(SIZE (minScfIDLength..maxScfIDLength))
+
+-- defined by network operator.
+-- Indicates the SCF identity.
+-- Used to derive the INAP address of the SCF to establish a connection between a requesting FE
+-- and the specified SCF.
+-- When ScfID is used in an operation which may cross an internetwork boundary, its encoding must
+-- be understood in both networks; this requires bilateral agreement on the encoding.
+-- Refer to 3.5/Q.713 "calling party address" parameter for encoding.
+-- It indicates the SCCP address e.g. Global Title of the SCF,.
+-- Other encoding schemes are also possible as a network specific option..
+SCIBillingChargingCharacteristics{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minSCIBillingChargingLength..maxSCIBillingChargingLength))
+
+-- This parameter indicates the billing and/or charging characteristics.
+-- Its content is network signalling / operator specific
+-- An example datatype definition for this parameter is given below:
+-- SCIBillingChargingCharacteristicsEmbeddedType ::= CHOICE {
+-- chargeLevel [0] OCTET STRING (SIZE (min..max),
+-- chargePulses [1] Integer4,
+-- chargeMessages [2] OCTET STRING (SIZE (min..max)
+-- }
+-- Depending on the applied charging scenario the following information elements
+-- can be included (refer to Q.1214 Appendix II):
+-- chargeLevel (scenario 3.2)
+-- chargePulses (scenario 3.2)
+-- chargeMessages (scenario 3.2)
+SDSSinformation{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minSDSSinformationLength..maxSDSSinformationLength))
+
+-- Its content is network operator specific
+ServiceAddressInformation ::= SEQUENCE {
+ serviceKey [0] ServiceKey OPTIONAL,
+ miscCallInfo [1] MiscCallInfo,
+ triggerType [2] TriggerType OPTIONAL,
+ ...
+}
+
+-- Information that represents the result of trigger analysis and allows the SCF to choose the appropriate service logic
+ServiceInteractionIndicators{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minServiceInteractionIndicatorsLength..
+ maxServiceInteractionIndicatorsLength))
+
+-- Indicators which are exchanged between SSF and SCF to resolve interactions between IN based services
+-- and network based services, respectively between different IN based services.
+-- Its content is network signalling/operator specific
+-- Note this parameter is kept in this Recommendation for backward compatibility to IN CS-1R,
+-- for this Recommendation see parameter ServiceInteractionIndicatorsTwo
+ServiceInteractionIndicatorsTwo ::= SEQUENCE {
+ forwardServiceInteractionInd [0] ForwardServiceInteractionInd OPTIONAL,
+ -- applicable to operations IDP, CON, ICA, CWA.
+ backwardServiceInteractionInd
+ [1] BackwardServiceInteractionInd OPTIONAL,
+ --applicable to operations IDP, CON, CTR, ETC, CWA.
+ bothwayThroughConnectionInd [2] BothwayThroughConnectionInd OPTIONAL,
+ -- applicable to operations CTR, ETC.
+ suspendTimer [3] SuspendTimer OPTIONAL,
+ -- applicable to operations CON, ICA CWA.
+ connectedNumberTreatmentInd [4] ConnectedNumberTreatmentInd OPTIONAL,
+ --applicable to operations CON, CTR, ETC, CWA .
+ suppressCallDiversionNotification [5] BOOLEAN OPTIONAL,
+ -- applicable to CON, ICA, CWA
+ suppressCallTransferNotification [6] BOOLEAN OPTIONAL,
+ -- applicable to CON, ICA, CWA
+ allowCdINNoPresentationInd [7] BOOLEAN OPTIONAL,
+ -- applicable to CON, ICA CWA
+ -- indicates whether the Address Presentation restricted indicator of the ISUP
+ -- "called IN number" shall be set to presentation allowed (TRUE)
+ -- or presentation restricted (FALSE). Refer to Rec. Q.1601.
+ userDialogueDurationInd [8] BOOLEAN DEFAULT TRUE,
+ -- applicable to operations CTR, ETC.
+ -- applicable when interaction with the user is required during call set-up
+ -- The interaction TRUE means the user interaction may last longer than 90 seconds.
+ -- Otherwise the indicator should be set to FALSE. Used for delaying ISUP T9 timer.
+ overrideLineRestrictions [9] BOOLEAN DEFAULT FALSE,
+ -- only applicable to operations (e.g. Connect) which lead to a transition to a PIC before
+ -- the AuthorizeCallSetup PIC.
+ -- When set to TRUE, this parameter indicates that some facility restrictions
+ -- should not be checked when the authority to place a call is verified in the
+ --Authorize_Call_Setup PIC.
+ -- Which restrictions are actually overwriden is network specific.
+ suppressVPNAPP [10] BOOLEAN DEFAULT FALSE,
+ -- applicable to CWA, CON, ICA.
+ -- indicates whether to allow or stop (suppress) the forward transmission of the VPN PSS1 capability.
+ -- When set to TRUE, the exchange, on receipt of this parameter, will not transmit for this call
+ -- any ISUP Application transport parameter with Application Context Identifier set to " PSS1 ASE (VPN) "
+ -- This indicator is populated by the SCF, where the SCF and SSF in conjunction have provided the
+ -- outgoing gateway PINX functionality as required by PSS1.
+ calledINNumberOverriding [11] BOOLEAN OPTIONAL,
+ -- applicable to CON and CWA
+ -- indicates whether the generation/override of the ISUP
+ -- "called IN number" is allowed (TRUE) or not allowed (FALSE)
+ -- If set to FALSE, the ISUP shall not generate a "called IN number" or override
+ -- an already existing "called IN number".
+ -- if absent , the default will be "generation/overriding allowed" (TRUE).
+ redirectServiceTreatmentInd
+ [12] SEQUENCE {redirectReason [0] RedirectReason OPTIONAL,
+ ...} OPTIONAL,
+ --applicable to operation CON .
+ --if absent , call redirection service is not allowed
+ --Existence of this parameter requests Pivot Routing or Redirection supplementary service to be
+ --allowed for-the new routing address specified in the Connect operation.
+ --If absent, neither Pivot Routing nor Redirection service is allowed.
+ -- The redirectReason Parameter indicates the reason for invoking Pivot Routing / Redirection service
+ -- Whether the service is actually invoked depends only on SSF conditions.
+ --In this capability set the SCF will not know all the SSF conditions.
+ -- To send that kind of conditions is out of scope of this capability set.
+ --If the service is allowed, the parameter must be sent in the ISUP-FAC message (Pivot Routing case)
+ -- or ISUP-REL message (Redirection case) as the service is invoked,
+ nonCUGCall [13] NULL OPTIONAL,
+ -- applicable to CON and CWA
+ -- This parameter when present, indicates that no parameters for CUG shall be used for the call
+ -- (i.e. the call shall be a non-CUG call). This parameter when not present, indicates
+ -- one of three things:
+ -- a) continue with modified CUG information (when one or more of either CUG Interlock Code and
+ -- Outgoing Access Indicator are present); or
+ -- b) continue with original CUG information (when neither CUG Interlock Code or Outgoing Access Indicator
+ -- are present).
+ -- c) continue with the original non-CUG call.
+ ...
+}
+
+-- ServiceInteractionIndicatorsTwo contains Indicators which are exchanged between SSF and SCF to resolve interactions
+--between IN based services and network based services, respectively between different IN based services.
+ServiceKey ::=
+ Integer4
+
+-- Information that allows the SCF to choose the appropriate service logic.
+ServiceProfileIdentifier ::= OCTET STRING
+
+-- Indicates a particular ISDN terminal. Refer to Q.932 for encoding.
+ServingAreaID{B2:b2} ::=
+ LocationNumber{b2}
+
+-- Identifies the local serving area where a network provider operates. Uses the LocationNumber
+-- format which is based on the Q.763 Location Number format.
+-- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
+-- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
+-- Defined by the network operator.
+SFBillingChargingCharacteristics{B2:b2} ::=
+ OCTET STRING
+ (SIZE (minSFBillingChargingLength..maxSFBillingChargingLength))
+
+-- This parameter indicates the billing and/or charging characteristics for filtered calls.
+-- Its content is network signalling/operator specific.
+-- Actual format and encoding is outside the scope of this capability set.
+SupportedTriggers TRIGGER ::=
+ {...}
+
+SuspendTimer ::= INTEGER(0..120)
+
+--value in seconds
+TDPIdentifier{B2:b2} ::= CHOICE {
+ oneTrigger INTEGER,
+ triggers [1] Triggers{b2}
+}
+
+TerminalType ::= ENUMERATED {
+ unknown(0), dialPulse(1), dtmf(2), isdn(3), isdnNoDtmf(4), spare(16)
+}
+
+-- Identifies the terminal type so that the SCF can specify, to the SRF, the appropriate type of capability
+-- (voice recognition, DTMF, display capability, etc.). Since present signalling systems do not convey
+-- terminal type, this parameter applies only at originating or terminating local exchanges.
+TimerID ::= ENUMERATED {tssf(0)}
+
+-- Indicates the timer to be reset.
+TimerValue ::= Integer4
+
+-- Indicates the timer value (in seconds).
+TravellingClassMark{B2:b2} ::=
+ LocationNumber{b2}
+
+-- Indicates travelling class mark information.
+-- Uses the LocationNumber format which is based on the Q.763 Location Number format.
+-- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
+-- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
+-- Maximum 2 digits.
+TriggerData ::= SEQUENCE {
+ triggerId [0] TRIGGER.&id({SupportedTriggers}),
+ triggerPar [1] TRIGGER.&Parameter({SupportedTriggers}{@triggerId}),
+ ...
+}
+
+-- Contains a trigger identifier and the relevant trigger parameters
+TriggerDataIdentifier{B1:b1, B2:b2} ::= SEQUENCE {
+ triggerID [0] EventTypeBCSM,
+ profile [1] ProfileIdentifier{b2},
+ extensions [2] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- It is outside the scope of this capability set whether all TDP types really apply
+TriggerDPType ::= ENUMERATED {tdp-r(0), tdp-n(1)}
+
+TriggerResults{B2:b2} ::= SEQUENCE SIZE (1..numOfTriggers) OF TriggerResult
+
+TriggerResult ::= SEQUENCE {
+ tDPIdentifer [0] INTEGER,
+ actionPerformed [1] ActionPerformed,
+ dPName [2] EventTypeBCSM OPTIONAL,
+ ...
+}
+
+Triggers{B2:b2} ::= SEQUENCE SIZE (1..numOfTriggers) OF Trigger
+
+Trigger ::= SEQUENCE {
+ tDPIdentifier [0] INTEGER,
+ dpName [1] EventTypeBCSM OPTIONAL,
+ ...
+}
+
+TriggerStatus ::= ENUMERATED {
+ created(0), alreadyExist(1), deleted(2), unknownTrigger(3)}
+
+TriggerType ::= ENUMERATED {
+ featureActivation(0), verticalServiceCode(1), customizedAccess(2),
+ customizedIntercom(3), emergencyService(12), aFR(13), sharedIOTrunk(14),
+ offHookDelay(17), channelSetupPRI(18), tNoAnswer(25), tBusy(26),
+ oCalledPartyBusy(27), oNoAnswer(29), originationAttemptAuthorized(30),
+ oAnswer(31), oDisconnect(32), termAttemptAuthorized(33), tAnswer(34),
+ tDisconnect(35), oModifyRequest(100), tModifyRequest(101)}
+
+-- The type of trigger which caused call suspension
+-- 4-11: Reserved; 15,16: Reserved; 19-24: Reserved
+USIInformation{B2:b2} ::=
+ OCTET STRING(SIZE (minUSIInformationLength..maxUSIInformationLength))
+
+-- Its content is network signalling/operator specific
+USIMonitorMode ::= ENUMERATED {monitoringActive(0), monitoringInactive(1)
+}
+
+-- Indicates if the monitoring relationship for the specified UTSI IE should be activated or deactivated.
+USIServiceIndicator{B2:b2} ::= CHOICE {
+ global OBJECT IDENTIFIER,
+ local
+ OCTET STRING
+ (SIZE (minUSIServiceIndicatorLength..maxUSIServiceIndicatorLength))
+}
+
+-- In case of local its content is network signalling/operator specific
+VPNIndicator ::= BOOLEAN
+
+-- This parameter is set to TRUE if the originating call part supports VPN with PSS1 information flows
+-- The Definition of range of constants Follows
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-SSF-SCF-ops-args.asn b/epan/dissectors/asn1/inap/IN-SSF-SCF-ops-args.asn
new file mode 100644
index 00000000..38d81285
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-SSF-SCF-ops-args.asn
@@ -0,0 +1,2358 @@
+-- Small modifications made to the original due to as2wrs shortfalls, to be corrected.
+-- Module IN-SSF-SCF-ops-args (Q.1248.2:07/2001)
+IN-SSF-SCF-ops-args {itu-t recommendation q 1248 modules(1)
+ in-ssf-scf-ops-args(8) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+ common-classes, common-datatypes, errortypes, scf-srf-classes,
+ scf-srf-datatypes, ssf-scf-classes, ssf-scf-datatypes, operationcodes,
+ ros-InformationObjects
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ OPERATION
+ FROM Remote-Operations-Information-Objects ros-InformationObjects
+ COMMON-BOUNDS
+ FROM IN-common-classes common-classes
+ SCF-SSF-BOUNDS
+ FROM IN-SSF-SCF-Classes ssf-scf-classes
+ SCF-SRF-BOUNDS
+ FROM IN-SCF-SRF-Classes scf-srf-classes
+ opcode-activateServiceFiltering, opcode-activityTest,
+ opcode-analysedInformation, opcode-analyseInformation,
+ opcode-applyCharging, opcode-applyChargingReport,
+ opcode-assistRequestInstructions, opcode-authorizeTermination,
+ opcode-callFiltering, opcode-callGap, opcode-callInformationReport,
+ opcode-callInformationRequest, opcode-cancel,
+ opcode-cancelStatusReportRequest, opcode-collectedInformation,
+ opcode-collectInformation, opcode-connect, opcode-connectToResource,
+ opcode-continue, opcode-continueWithArgument,
+ opcode-createCallSegmentAssociation, opcode-createOrRemoveTriggerData,
+ opcode-disconnectForwardConnection, opcode-dFCWithArgument,
+ opcode-disconnectLeg, opcode-entityReleased,
+ opcode-establishTemporaryConnection, opcode-eventNotificationCharging,
+ opcode-eventReportBCSM, opcode-eventReportFacility,
+ opcode-facilitySelectedAndAvailable, opcode-furnishChargingInformation,
+ opcode-holdCallInNetwork, opcode-initialDP, opcode-initiateCallAttempt,
+ opcode-manageTriggerData, opcode-mergeCallSegments,
+ opcode-moveCallSegments, opcode-oAbandon, opcode-oAnswer,
+ opcode-oCalledPartyBusy, opcode-oDisconnect, opcode-oMidCall,
+ opcode-moveLeg, opcode-oNoAnswer, opcode-originationAttempt,
+ opcode-originationAttemptAuthorized, opcode-oSuspended, opcode-reconnect,
+ opcode-releaseCall, opcode-reportUTSI, opcode-requestCurrentStatusReport,
+ opcode-requestEveryStatusChangeReport,
+ opcode-requestFirstStatusMatchReport,
+ opcode-requestNotificationChargingEvent, opcode-requestReportBCSMEvent,
+ opcode-requestReportUTSI, opcode-requestReportFacilityEvent,
+ opcode-resetTimer, opcode-monitorRouteReport, opcode-monitorRouteRequest,
+ opcode-routeSelectFailure, opcode-selectFacility, opcode-selectRoute,
+ opcode-sendChargingInformation, opcode-sendFacilityInformation,
+ opcode-sendSTUI, opcode-serviceFilteringResponse, opcode-setServiceProfile,
+ opcode-splitLeg, opcode-statusReport, opcode-tAnswer, opcode-tBusy,
+ opcode-tDisconnect, opcode-termAttemptAuthorized,
+ opcode-terminationAttempt, opcode-tMidCall, opcode-tNoAnswer,
+ opcode-tSuspended
+ FROM IN-operationcodes operationcodes
+ Extensions{}, Integer4, InvokeID
+ FROM IN-common-datatypes common-datatypes
+ AccessCode{}, ActionIndicator, ActionPerformed,
+ AChBillingChargingCharacteristics{}, AdditionalCallingPartyNumber{},
+ AlertingPattern, ApplicationTimer, AssistingSSPIPRoutingAddress{},
+ BackwardGVNS{}, BCSMEvent{}, BearerCapability{}, BISDNParameters{},
+ CalledDirectoryNumber{}, CalledPartyBusinessGroupID, CalledPartyNumber{},
+ CalledPartySubaddress{}, CallingGeodeticLocation{},
+ CallingPartyBusinessGroupID, CallingPartyNumber{}, CallingPartysCategory,
+ CallingPartySubaddress{}, CallProcessingOperation, CallReference{},
+ CallResult{}, CallSegmentID{}, Carrier{}, Cause{}, CCSS, CGEncountered,
+ ChargeNumber{}, ChargingEvent{}, CNInfo{}, Component,
+ ComponentCorrelationID, ComponentType, ConnectionIdentifier{}, ControlType,
+ CorrelationID{}, CountersValue{}, CreateOrRemoveIndicator, CSAID{},
+ GenericIdentifier{}, GlobalCallReference{}, CUG-Index, CUG-Interlock,
+ CutAndPaste, DateAndTime, DefaultFaultHandling{}, DestinationIndex{},
+ DestinationRoutingAddress{}, Digits{}, DisplayInformation{},
+ DpSpecificCommonParameters{}, Duration, EventSpecificInformationBCSM{},
+ EventSpecificInformationCharging{}, EventTypeBCSM, EventTypeCharging{},
+ FacilityGroup, FacilityGroupMember, FCIBillingChargingCharacteristics{},
+ FeatureCode{}, FeatureRequestIndicator, FilteredCallTreatment{},
+ FilteringCharacteristics, FilteringCriteria{}, FilteringTimeOut,
+ ForwardCallIndicators, ForwardGVNS{}, ForwardingCondition, GapCriteria{},
+ GapIndicators, GapTreatment{}, GenericName{}, GenericNumbers{},
+ HighLayerCompatibility{}, HoldCause, initialCallSegment, INprofile{},
+ INServiceCompatibilityIndication{}, INServiceCompatibilityResponse,
+ IPAvailable{}, IPRelatedInformation{}, IPRoutingAddress{},
+ IPSSPCapabilities{}, ISDNAccessRelatedInformation{}, LegID, leg1,
+ LocationNumber{}, MiscCallInfo, MonitorMode, MonitoringCriteria,
+ MonitoringTimeOut, NumberingPlan, OriginalCalledPartyID{},
+ ProfileIdentifier{}, QoSParameter{}, Reason{}, RedirectingPartyID{},
+ RedirectionInformation, RegistratorIdentifier, ReportCondition,
+ RouteingNumber{}, RequestedInformationList{},
+ RequestedInformationTypeList{}, RequestedUTSIList{}, ResourceID{},
+ ResourceStatus, ResponseCondition, RouteCountersValue{}, RouteList{},
+ ScfID{}, SCIBillingChargingCharacteristics{}, SDSSinformation{},
+ ServiceInteractionIndicators{}, ServiceInteractionIndicatorsTwo,
+ ServiceKey, ServiceProfileIdentifier, TDPIdentifier, TerminalType,
+ TimerID, TimerValue, TravellingClassMark{}, TriggerData,
+ TriggerDataIdentifier{}, TriggerDPType, Triggers{}, TriggerStatus,
+ TriggerResults{}, TriggerType, USIInformation{}, USIServiceIndicator{},
+ VPNIndicator
+ FROM IN-SSF-SCF-datatypes ssf-scf-datatypes
+ InformationToSend{}
+ FROM IN-SCF-SRF-datatypes scf-srf-datatypes
+ cancelFailed, eTCFailed, improperCallerResponse, missingCustomerRecord,
+ missingParameter, parameterOutOfRange, requestedInfoError, systemFailure,
+ taskRefused, unavailableResource, unexpectedComponentSequence,
+ unexpectedDataValue, unexpectedParameter, unknownLegID, unknownResource
+ FROM IN-errortypes errortypes;
+
+-- The following three definitions are local short-hand notation for convenience.
+-- B1 ::=
+-- COMMON-BOUNDS defined in Part 1 of Recommendation Q.1248
+
+-- B2 ::= SCF-SSF-BOUNDS defined in this part (Part 2) of Recommendation Q.1248
+
+-- B3 ::= SCF-SRF-BOUNDS defined in Part 3 of Recommendation Q.1248
+
+-- Operations and Arguments:
+activateServiceFiltering OPERATION ::= {
+ ARGUMENT ActivateServiceFilteringArg {b1,
+ b2,
+ b3}
+ RETURN RESULT TRUE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedParameter}
+ CODE opcode-activateServiceFiltering
+}
+
+-- Direction: SCF -> SSF, Timer: Tasf
+-- When receiving this operation, the SSF handles calls to destination in a specified manner
+-- without sending queries for every detected call. It is used for example for providing
+-- televoting or mass calling services. Simple registration functionality (counters) and
+-- announcement control may be located at the SSF. The operation initializes the specified
+-- counters in the SSF.
+ActivateServiceFilteringArg ::= SEQUENCE {
+ filteredCallTreatment [0] FilteredCallTreatment{b2, b3},
+ filteringCharacteristics [1] FilteringCharacteristics,
+ filteringTimeOut [2] FilteringTimeOut,
+ filteringCriteria [3] FilteringCriteria{b2},
+ startTime [4] DateAndTime OPTIONAL,
+ extensions [5] Extensions{b1} OPTIONAL,
+ ...
+}
+
+activityTest OPERATION ::= {
+ RETURN RESULT TRUE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-activityTest
+}
+
+-- Direction: SCF -> SSF or SSF-> SCF, Timer: Tat
+-- This operation is used to check for the continued existence of a relationship between the SCF
+-- and SSF. If the relationship is still in existence, then the SSF will respond. If no reply is
+-- received, then the SCF will assume that the SSF has failed in some way and will take the
+-- appropriate action.. As an option, this operation may be used in the reverse direction by the
+-- SSF to check for the continued existence of a relationship with the SCF.
+analysedInformation OPERATION ::= {
+ ARGUMENT AnalysedInformationArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-analysedInformation
+}
+
+-- Direction: SSF -> SCF, Timer: Tadi
+-- This operation is used to indicate availability of routing address and call type. (DP -
+-- Analysed_Info).
+AnalysedInformationArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ dialledDigits [1] CalledPartyNumber{b2} OPTIONAL,
+ callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [3] CallingPartySubaddress{b2} OPTIONAL,
+ callingFacilityGroup [4] FacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
+ originalCalledPartyID [6] OriginalCalledPartyID{b2} OPTIONAL,
+ prefix [7] Digits{b2} OPTIONAL,
+ redirectingPartyID [8] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [9] RedirectionInformation OPTIONAL,
+ routeList [10] RouteList{b2} OPTIONAL,
+ travellingClassMark [11] TravellingClassMark{b2} OPTIONAL,
+ extensions [12] Extensions{b1} OPTIONAL,
+ featureCode [13] FeatureCode{b2} OPTIONAL,
+ accessCode [14] AccessCode{b2} OPTIONAL,
+ carrier [15] Carrier{b2} OPTIONAL,
+ componentType [16] ComponentType OPTIONAL,
+ component [17] Component OPTIONAL,
+ componentCorrelationID [18] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+analyseInformation OPERATION ::= {
+ ARGUMENT AnalyseInformationArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-analyseInformation
+}
+
+-- Direction: SCF -> SSF, Timer: Tai
+-- This operation is used to request the SSF to perform the originating basic call processing actions
+-- to analyse destination information that is either collected from a calling party or provided by the SCF
+-- (e.g. for number translation). This includes actions to validate the information according to an office
+-- or customized dialing plan, and if valid, to determine call termination information, to include the called
+-- party address, the type of call (e.g. intra-network or inter-network), and carrier (if inter-network).
+-- If the called party is not served by the SSF, the SSF also determines a route index based on the called
+-- party address and class of service, where the route index points to a list of outgoing trunk groups.
+AnalyseInformationArg ::= SEQUENCE {
+ destinationRoutingAddress [0] DestinationRoutingAddress{b2},
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ iSDNAccessRelatedInformation
+ [2] ISDNAccessRelatedInformation{b2} OPTIONAL,
+ originalCalledPartyID [3] OriginalCalledPartyID{b2} OPTIONAL,
+ extensions [4] Extensions{b1} OPTIONAL,
+ callingPartyNumber [5] CallingPartyNumber{b2} OPTIONAL,
+ callingPartysCategory [6] CallingPartysCategory OPTIONAL,
+ calledPartyNumber [7] CalledPartyNumber{b2} OPTIONAL,
+ chargeNumber [8] ChargeNumber{b2} OPTIONAL,
+ travellingClassMark [9] TravellingClassMark{b2} OPTIONAL,
+ carrier [10] Carrier{b2} OPTIONAL,
+ serviceInteractionIndicators
+ [11] ServiceInteractionIndicators{b2} OPTIONAL,
+ iNServiceCompatibilityResponse
+ [12] INServiceCompatibilityResponse OPTIONAL,
+ forwardGVNS [13] ForwardGVNS{b2} OPTIONAL,
+ backwardGVNS [14] BackwardGVNS{b2} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [15] ServiceInteractionIndicatorsTwo OPTIONAL,
+ correlationID [16] CorrelationID{b2} OPTIONAL,
+ scfID [17] ScfID{b2} OPTIONAL,
+ callSegmentID [18] CallSegmentID{b2} OPTIONAL,
+ legToBeCreated [19] LegID OPTIONAL,
+ ...
+}
+
+-- OPTIONAL parameters are only provided if modifications desired to basic call processing values
+applyCharging OPERATION ::= {
+ ARGUMENT ApplyChargingArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | unexpectedComponentSequence | unexpectedParameter |
+ unexpectedDataValue | parameterOutOfRange | systemFailure | taskRefused |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-applyCharging
+}
+
+-- Direction: SCF -> SSF, Timer: Tac
+-- This operation is used for interacting from the SCF with the SSF charging mechanisms.
+-- The ApplyChargingReport operation provides the feedback from the SSF to the SCF.
+-- This operation is can also be used to instruct the SSF to release the call regarding some condition.
+ApplyChargingArg ::= SEQUENCE {
+ aChBillingChargingCharacteristics [0] AChBillingChargingCharacteristics{b2},
+ partyToCharge [2] LegID OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ releaseIndication [4] BOOLEAN OPTIONAL,
+ releaseCause [5] Cause{b2} OPTIONAL,
+ ...
+}
+
+-- The TAG value 1 should not be used for future extensions (used in CS-1 by regions).
+-- The partyToCharge parameter indicates the party in the call to which the ApplyCharging operation
+-- should be applied. If it is not present, then it is applied to the A-party
+-- The releaseIndicator shall be present and set to TRUE if the release condition is specified in the
+-- aCHBillingCharacteristics parameter.
+applyChargingReport OPERATION ::= {
+ ARGUMENT ApplyChargingReportArg {b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | unexpectedComponentSequence | unexpectedParameter |
+ unexpectedDataValue | parameterOutOfRange | systemFailure | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-applyChargingReport
+}
+
+-- Direction: SSF -> SCF, Timer: Tacr
+-- This operation is used by the SSF to report to the SCF the occurrence of a specific charging event
+-- as requested by the SCF using the ApplyCharging operation.
+ApplyChargingReportArg ::=
+ CallResult{b2}
+
+-- Note: When the SSF sends the ApplyChargingReport operation as the last event from the Call Segment, the
+-- lastEventIndicator parameter is to indicate whether the event is last to the SCF and should be included
+-- into the CallResult parameter.
+assistRequestInstructions OPERATION ::= {
+ ARGUMENT AssistRequestInstructionsArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-assistRequestInstructions
+}
+
+-- Direction: SSF -> SCF or SRF -> SCF, Timer: Tari
+-- This operation is used when there is an assist or a hand-off procedure and may be sent by the SSF
+-- or SRF to the SCF. This operation is sent by the assisting SSF to SCF, when the initiating SSF has
+-- set up a connection to the SRF or to the assisting SSF as a result of receiving an EstablishTemporaryConnection
+-- or Connect/SelectRoute operation (in the case of hand-off) from the SCF.
+AssistRequestInstructionsArg ::= SEQUENCE {
+ correlationID [0] CorrelationID{b2},
+ iPAvailable [1] IPAvailable{b2} OPTIONAL,
+ iPSSPCapabilities [2] IPSSPCapabilities{b2} OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- OPTIONAL denotes network operator specific use. The value of the correlationID may be the
+-- Called Party Number supplied by the initiating SSF.
+authorizeTermination OPERATION ::= {
+ ARGUMENT AuthorizeTerminationArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-authorizeTermination
+}
+
+-- Direction: SCF -> SSF. Timer: Tatr
+-- This operation is used to request the SSF to resume terminating call processing action at the
+-- Authorize_Termination PIC of the call based on the information received from the SCF.
+AuthorizeTerminationArg ::= SEQUENCE {
+ alertingPattern [0] AlertingPattern OPTIONAL,
+ callingPartyNumber [1] CallingPartyNumber{b2} OPTIONAL,
+ destinationNumberRoutingAddress [2] CalledPartyNumber{b2} OPTIONAL,
+ displayInformation [3] DisplayInformation{b2} OPTIONAL,
+ iSDNAccessRelatedInformation
+ [4] ISDNAccessRelatedInformation{b2} OPTIONAL,
+ originalCalledPartyID [5] OriginalCalledPartyID{b2} OPTIONAL,
+ travellingClassMark [6] TravellingClassMark{b2} OPTIONAL,
+ extensions [7] Extensions{b1} OPTIONAL,
+ iNServiceCompatibilityResponse [8] INServiceCompatibilityResponse OPTIONAL,
+ forwardGVNS [9] ForwardGVNS{b2} OPTIONAL,
+ backwardGVNS [10] BackwardGVNS{b2} OPTIONAL,
+ legID [11] LegID OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [12] ServiceInteractionIndicatorsTwo OPTIONAL,
+ scfID [13] ScfID{b2} OPTIONAL,
+ ...
+}
+
+-- OPTIONAL parameters are only provided if modifications are desired to basic call processing values.
+callFiltering OPERATION ::= {
+ ARGUMENT CallFilteringArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-callFiltering
+}
+
+-- Direction: SCF -> SSF, Timer: Tcf
+-- This operation is used to allow the SCF to influence basic call gapping procedures based in the CCF by sending information from the SCF to the SSF. The SSF relays the received information transparently to the CCF. This way, the SCF can influence the rate at which call attempts are allowed through. The operation thus influences the filtering of calls, as opposed to service requests as is done by the Callgap operation.
+CallFilteringArg ::= SEQUENCE {
+ destinationIndex [0] DestinationIndex{b2},
+ gapIndicators [1] GapIndicators,
+ registratorIdentifier [2] RegistratorIdentifier OPTIONAL,
+ ...,
+-- ...,
+ extensions [3] Extensions{b1} OPTIONAL
+}
+
+-- OPTIONAL denotes network operator optional.
+callGap OPERATION ::= {
+ ARGUMENT CallGapArg {b1,
+ b2,
+ b3}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-callGap
+}
+
+-- Direction: SCF -> SSF, Timer: Tcg
+-- This operation is used to request the SSF to reduce the rate at which specific service requests are sent to
+-- the SCF. Use of this operation by the SCF to gap queries and updates at the SDF is outside the scope of this capability set .
+CallGapArg ::= SEQUENCE {
+ gapCriteria [0] GapCriteria{b2},
+ gapIndicators [1] GapIndicators,
+ controlType [2] ControlType OPTIONAL,
+ gapTreatment [3] GapTreatment{b2, b3} OPTIONAL,
+ extensions [4] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- OPTIONAL denotes network operator optional. If gapTreatment is not present, the SSF will use
+-- a default treatment depending on network operator implementation.
+callInformationReport OPERATION ::= {
+ ARGUMENT CallInformationReportArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-callInformationReport
+}
+
+-- Direction: SSF -> SCF, Timer: Tcirp
+-- This operation is used to send specific call information for a single call to the SCF as requested by the SCF
+-- in a previous CallInformationRequest.
+CallInformationReportArg ::= SEQUENCE {
+ requestedInformationList [0] RequestedInformationList{b2},
+ correlationID [1] CorrelationID{b2} OPTIONAL,
+ extensions [2] Extensions{b1} OPTIONAL,
+ legID [3] LegID OPTIONAL,
+ lastEventIndicator [4] BOOLEAN DEFAULT FALSE,
+ ...
+}
+
+-- OPTIONAL denotes network operator optional.
+-- The lastEventIndicator parameter is set with 'TRUE' when the report is last in the Call Segment.
+-- In the CS-1, the lastEventIndicator should not be sent, and the meaning of DEFAULT is not applied. The SCF
+-- must decide whether the report is last without this parameter.
+callInformationRequest OPERATION ::= {
+ ARGUMENT CallInformationRequestArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | requestedInfoError |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter | unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-callInformationRequest
+}
+
+-- Direction: SCF -> SSF, Timer: Tcirq
+-- This operation is used to request the SSF to record specific information about a single call and report it to
+-- the SCF (with a CallInformationReport operation).
+CallInformationRequestArg ::= SEQUENCE {
+ requestedInformationTypeList [0] RequestedInformationTypeList{b2},
+ correlationID [1] CorrelationID{b2} OPTIONAL,
+ extensions [2] Extensions{b1} OPTIONAL,
+ legID [3] LegID OPTIONAL,
+ ...
+}
+
+-- OPTIONAL denotes network operator optional .
+cancel OPERATION ::= {
+ ARGUMENT CancelArg {b2}
+ RETURN RESULT FALSE
+ ERRORS {cancelFailed | missingParameter | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-cancel
+}
+
+-- Direction: SCF -> SSF, or SCF -> SRF, Timer: Tcan
+-- This operation cancels the correlated previous operation or all previous requests
+-- This operation can also be used to cancel all outstanding requests and enable the state machine (SSF)
+-- to go to idle. In this case the Cancel operation does not specify any specific operation to be cancelled.
+-- For the SCF-SRF operations that can be cancelled, refer to Part 3 of Q.1248
+CancelArg ::= CHOICE {
+ invokeID [0] InvokeID,
+ allRequests [1] NULL,
+ callSegmentToCancel
+ [2] SEQUENCE {invokeID [0] InvokeID,
+ callSegmentID [1] CallSegmentID{b2},
+ ...},
+ allRequestsForCallSegment [3] CallSegmentID{b2},
+ ...
+}
+
+-- The InvokeID has the same value as that which was used for the SCF-SRF operation, i.e. is used to identify
+-- the correlated previous SCF-SRF operation to be canccelled.
+cancelStatusReportRequest OPERATION ::= {
+ ARGUMENT CancelStatusReportRequestArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS {cancelFailed | missingParameter | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-cancelStatusReportRequest
+}
+
+-- Direction: SCF -> SSF, Timer: Tcsr
+-- This operation cancels the following processes: RequestFirstStatusMatchReport and
+-- RequestEveryStatusChangeReport.
+CancelStatusReportRequestArg ::= SEQUENCE {
+ resourceID [0] ResourceID{b2} OPTIONAL,
+ extensions [1] Extensions{b1} OPTIONAL,
+ ...
+}
+
+collectedInformation OPERATION ::= {
+ ARGUMENT CollectedInformationArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-collectedInformation
+}
+
+-- Direction: SSF -> SCF, Timer: Tcdi
+-- This operation is used to indicate availability of complete initial information package/dialing string from
+-- originating party. (This event may have already occurred in the case of en bloc signaling, in which case
+-- the waiting duration in this PIC is zero.) (DP - Collected_Info
+CollectedInformationArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ dialledDigits [1] CalledPartyNumber{b2} OPTIONAL,
+ callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [3] CallingPartySubaddress{b2} OPTIONAL,
+ callingFacilityGroup [4] FacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
+ originalCalledPartyID [6] OriginalCalledPartyID{b2} OPTIONAL,
+ prefix [7] Digits{b2} OPTIONAL,
+ redirectingPartyID [8] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [9] RedirectionInformation OPTIONAL,
+ travellingClassMark [10] TravellingClassMark{b2} OPTIONAL,
+ extensions [11] Extensions{b1} OPTIONAL,
+ featureCode [12] FeatureCode{b2} OPTIONAL,
+ accessCode [13] AccessCode{b2} OPTIONAL,
+ carrier [14] Carrier{b2} OPTIONAL,
+ componentType [15] ComponentType OPTIONAL,
+ component [16] Component OPTIONAL,
+ componentCorrelationID [17] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+collectInformation OPERATION ::= {
+ ARGUMENT CollectInformationArg {b1,
+ b2}
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-collectInformation
+}
+
+-- Direction: SCF -> SSF, Timer: Tci
+-- This operation is used to request the SSF to perform the originating basic call processing actions to prompt
+-- a calling party for destination information, then collect destination information according to a specified
+-- numbering plan (e.g. for virtual private networks).
+CollectInformationArg ::= SEQUENCE {
+ alertingPattern [0] AlertingPattern OPTIONAL,
+ numberingPlan [1] NumberingPlan OPTIONAL,
+ originalCalledPartyID [2] OriginalCalledPartyID{b2} OPTIONAL,
+ travellingClassMark [3] TravellingClassMark{b2} OPTIONAL,
+ extensions [4] Extensions{b1} OPTIONAL,
+ callingPartyNumber [5] CallingPartyNumber{b2} OPTIONAL,
+ dialledDigits [6] CalledPartyNumber{b2} OPTIONAL,
+ serviceInteractionIndicators
+ [7] ServiceInteractionIndicators{b2} OPTIONAL,
+ iNServiceCompatibilityResponse [8] INServiceCompatibilityResponse OPTIONAL,
+ forwardGVNS [9] ForwardGVNS{b2} OPTIONAL,
+ backwardGVNS [10] BackwardGVNS{b2} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [11] ServiceInteractionIndicatorsTwo OPTIONAL,
+ callSegmentID [12] CallSegmentID{b2} OPTIONAL,
+ legToBeCreated [13] LegID OPTIONAL,
+ ...
+}
+
+connect OPERATION ::= {
+ ARGUMENT ConnectArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-connect
+}
+
+-- Direction: SCF -> SSF, Timer: Tcon
+-- This operation is used to request the SSF to perform the call processing actions to route or forward a call to
+-- a specified destination. To do so, the SSF may or may not use destination information from the calling party
+-- (e.g. dialed digits) and existing call setup information (e.g. route index to a list of trunk groups), depending on
+-- the information provided by the SCF.
+-- When address information is only included in the Connect operation, call processing resumes at PIC3 in
+-- the O-BCSM.
+-- When address information and routing information is included, call processing resumes at PIC4.
+ConnectArg ::= SEQUENCE {
+ destinationRoutingAddress [0] DestinationRoutingAddress{b2},
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ correlationID [2] CorrelationID{b2} OPTIONAL,
+ cutAndPaste [3] CutAndPaste OPTIONAL,
+ forwardingCondition [4] ForwardingCondition OPTIONAL,
+ iSDNAccessRelatedInformation
+ [5] ISDNAccessRelatedInformation{b2} OPTIONAL,
+ originalCalledPartyID [6] OriginalCalledPartyID{b2} OPTIONAL,
+ routeList [7] RouteList{b2} OPTIONAL,
+ -- maximum number of routes is limited to 3
+ scfID [8] ScfID{b2} OPTIONAL,
+ travellingClassMark [9] TravellingClassMark{b2} OPTIONAL,
+ extensions [10] Extensions{b1} OPTIONAL,
+ carrier [11] Carrier{b2} OPTIONAL,
+ serviceInteractionIndicators
+ [26] ServiceInteractionIndicators{b2} OPTIONAL,
+ callingPartyNumber [27] CallingPartyNumber{b2} OPTIONAL,
+ callingPartysCategory [28] CallingPartysCategory OPTIONAL,
+ redirectingPartyID [29] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [30] RedirectionInformation OPTIONAL,
+ displayInformation [12] DisplayInformation{b2} OPTIONAL,
+ forwardCallIndicators [13] ForwardCallIndicators OPTIONAL,
+ genericNumbers [14] GenericNumbers{b2} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [15] ServiceInteractionIndicatorsTwo OPTIONAL,
+ iNServiceCompatibilityResponse
+ [16] INServiceCompatibilityResponse OPTIONAL,
+ forwardGVNS [17] ForwardGVNS{b2} OPTIONAL,
+ backwardGVNS [18] BackwardGVNS{b2} OPTIONAL,
+ chargeNumber [19] ChargeNumber{b2} OPTIONAL,
+ callSegmentID [20] CallSegmentID{b2} OPTIONAL,
+ legToBeCreated [21] LegID OPTIONAL,
+ sDSSinformation [22] SDSSinformation{b2} OPTIONAL,
+ calledDirectoryNumber [23] CalledDirectoryNumber{b2} OPTIONAL,
+ bearerCapability [24] BearerCapability{b2} OPTIONAL,
+ calledPartySubaddress [60] CalledPartySubaddress{b2} OPTIONAL,
+ connectionIdentifier [61] ConnectionIdentifier{b2} OPTIONAL,
+ genericIdentifier [62] GenericIdentifier{b2} OPTIONAL,
+ qOSParameter [63] QoSParameter{b2} OPTIONAL,
+ bISDNParameters [64] BISDNParameters{b2} OPTIONAL,
+ ...,
+ cug-Interlock [31] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [32] NULL OPTIONAL,
+ ipRelatedInformation [33] IPRelatedInformation{b2} OPTIONAL
+}
+
+-- OPTIONAL parameters are only provided if modifications desired to basic call processing values
+connectToResource OPERATION ::= {
+ ARGUMENT ConnectToResourceArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-connectToResource
+}
+
+-- Direction: SCF -> SSF, Timer: Tctr
+-- This operation is used to connect a call from the SSP to the physical entity containing the SRF.
+ConnectToResourceArg ::= SEQUENCE {
+ resourceAddress
+ CHOICE {ipRoutingAddress [0] IPRoutingAddress{b2},
+ legID [1] LegID,
+ ipAddressAndLegID
+ [2] SEQUENCE {ipRoutingAddress [0] IPRoutingAddress{b2},
+ legID [1] LegID,
+ ...},
+ none [3] NULL,
+ callSegmentID [5] CallSegmentID{b2},
+ ipAddressAndCallSegment
+ [6] SEQUENCE {ipRoutingAddress [0] IPRoutingAddress{b2},
+ callSegmentID [1] CallSegmentID{b2},
+ ...}},
+ extensions [4] Extensions{b1} OPTIONAL,
+ serviceInteractionIndicators
+ [30] ServiceInteractionIndicators{b2} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [7] ServiceInteractionIndicatorsTwo OPTIONAL,
+ uSIServiceIndicator [35] USIServiceIndicator{b2} OPTIONAL,
+ uSIInformation [36] USIInformation{b2} OPTIONAL,
+ ...
+}
+
+continue OPERATION ::= {
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-continue
+}
+
+-- Direction: SCF -> SSF, Timer: Tcue
+-- This operation is used to request the SSF to proceed with call processing at the DP at which it
+-- previously suspended call processing to await SCF instructions (i.e. proceed to the next point
+-- in call in the BCSM). The SSF continues call processing without substituting new data from SCF.
+-- This operation is not valid for a single call segment CSA with more than 2 legs or a multi call segment CSA.
+continueWithArgument OPERATION ::= {
+ ARGUMENT ContinueWithArgumentArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | unexpectedComponentSequence | unexpectedParameter |
+ unexpectedDataValue | unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-continueWithArgument
+}
+
+-- Direction: SCF -> SSF, Timer: Tcwa
+-- This operation is used to request the SSF to proceed with call processing at the DP a which it previously
+-- suspended call processing to await SCF instructions.
+-- It is also used to provide additional service related information to a User (Called Party or Calling Party) whilst
+-- the call processing proceeds.
+ContinueWithArgumentArg ::= SEQUENCE {
+ legorCSID
+ CHOICE {legID [0] LegID,
+ csID [9] CallSegmentID{b2}} --DEFAULT legID:sendingSideID:leg1 --,
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ genericName [2] GenericName{b2} OPTIONAL,
+ iNServiceCompatibilityResponse [3] INServiceCompatibilityResponse OPTIONAL,
+ forwardGVNS [4] ForwardGVNS{b2} OPTIONAL,
+ backwardGVNS [5] BackwardGVNS{b2} OPTIONAL,
+ extensions [6] Extensions{b1} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [7] ServiceInteractionIndicatorsTwo OPTIONAL,
+ sDSSinformation [8] SDSSinformation{b2} OPTIONAL,
+ connectionIdentifier [60] ConnectionIdentifier{b2} OPTIONAL,
+ ...,
+ iSDNAccessRelatedInformation
+ [19] ISDNAccessRelatedInformation{b2} OPTIONAL,
+ originalCalledPartyID [10] OriginalCalledPartyID{b2} OPTIONAL,
+ callingPartyNumber [11] CallingPartyNumber{b2} OPTIONAL,
+ callingPartysCategory [12] CallingPartysCategory OPTIONAL,
+ redirectingPartyID [13] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [14] RedirectionInformation OPTIONAL,
+ forwardCallIndicators [15] ForwardCallIndicators OPTIONAL,
+ genericNumbers [16] GenericNumbers{b2} OPTIONAL,
+ cug-Interlock [17] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [18] NULL OPTIONAL,
+ ipRelationInformation [20] IPRelatedInformation{b2} OPTIONAL
+}
+
+-- OPTIONAL parameters are only provided if modifications desired to basic call processing values
+createCallSegmentAssociation OPERATION ::= {
+ ARGUMENT CreateCallSegmentAssociationArg {b1}
+ OPTIONAL TRUE
+ RESULT CreateCallSegmentAssociationResultArg {b1,
+ b2}
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ CODE opcode-createCallSegmentAssociation
+}
+
+-- Direction SCF -> SSF, Timer Tcsa
+-- This operation is used to create a new CSA. The new CSA will not contain any Call Segments after creation.
+-- The SSF is responsible for specifying a new CSA identifier for the created CSA which is unique within
+-- the SSF.
+CreateCallSegmentAssociationArg ::= SEQUENCE {
+ extensions [0] Extensions{b1} OPTIONAL,
+ ...
+}
+
+CreateCallSegmentAssociationResultArg ::= SEQUENCE {
+ newCallSegmentAssociation [0] CSAID{b2},
+ extensions [1] Extensions{b1} OPTIONAL,
+ ...
+}
+
+createOrRemoveTriggerData OPERATION ::= {
+ ARGUMENT CreateOrRemoveTriggerDataArg {b1,
+ b2,
+ b3}
+ RESULT CreateOrRemoveTriggerDataResultArg {b1,
+ b2}
+ ERRORS
+ {missingParameter | missingCustomerRecord | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ CODE opcode-createOrRemoveTriggerData
+}
+
+-- Direction: SCF -> SSF, Class 1, Timer: Tcrt
+-- This trigger management operation is used by the SCF outside the context of a call to create a new
+-- trigger detection point in the CCF/SSF by downloading trigger data
+-- (e.g. triggering criteria, ServiceKey, SCF address,....)
+-- or to remove an existing trigger.
+CreateOrRemoveTriggerDataArg ::= SEQUENCE {
+ createOrRemove [0] CreateOrRemoveIndicator DEFAULT create,
+ dPName [1] EventTypeBCSM OPTIONAL,
+ triggerDPType [2] TriggerDPType DEFAULT tdp-r,
+ serviceKey [3] ServiceKey OPTIONAL,
+ profile [4] ProfileIdentifier{b2} OPTIONAL,
+ triggerData [5] TriggerData OPTIONAL,
+ defaultFaultHandling [6] DefaultFaultHandling{b2, b3} OPTIONAL,
+ tDPIdentifier [7] TDPIdentifier{b2} OPTIONAL,
+ ...,
+-- ...,
+ extensions [30] Extensions{b1} OPTIONAL
+}
+
+CreateOrRemoveTriggerDataResultArg ::= SEQUENCE {
+ triggerStatus [0] TriggerStatus,
+ tDPIdentifier [1] TDPIdentifier{b2},
+ registratorIdentifier [2] RegistratorIdentifier OPTIONAL,
+ ...,
+-- ...,
+ extensions [30] Extensions{b1} OPTIONAL
+}
+
+disconnectForwardConnection OPERATION ::= {
+ RETURN RESULT FALSE
+ ERRORS {systemFailure | taskRefused | unexpectedComponentSequence}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-disconnectForwardConnection
+}
+
+-- Direction: SCF -> SSF, Timer: Tdfc
+-- This operation is used to disconnect a forward temporary connection or a connection to a resource.
+disconnectForwardConnectionWithArgument OPERATION ::= {
+ ARGUMENT DisconnectForwardConnectionWithArgumentArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-dFCWithArgument
+}
+
+-- Direction: SCF -> SSF, Timer: Tdfcwa
+-- This operation is used to disconnect a forward temporary connection or a connection to a resource.
+DisconnectForwardConnectionWithArgumentArg ::= SEQUENCE {
+ partyToDisconnect
+ CHOICE {legID [0] LegID,
+ callSegmentID [1] CallSegmentID{b2}},
+ extensions [2] Extensions{b1} OPTIONAL,
+ uSIServiceIndicator [3] USIServiceIndicator{b2} OPTIONAL,
+ uSIInformation [4] USIInformation{b2} OPTIONAL,
+ ...
+}
+
+disconnectLeg OPERATION ::= {
+ ARGUMENT DisconnectLegArg {b1,
+ b2}
+ RETURN RESULT TRUE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ CODE opcode-disconnectLeg
+}
+
+-- Direction: SCF -> SSF. Timer: T dl
+-- This operation is issued by the SCF to release a specific leg associated with the call and retain any
+-- other legs not specified in the DisconnectLeg. Any leg may be disconnected, including the controlling
+-- leg, without completely releasing all legs.
+DisconnectLegArg ::= SEQUENCE {
+ legToBeReleased [0] LegID,
+ releaseCause [1] Cause{b2} OPTIONAL,
+ extensions [2] Extensions{b1} OPTIONAL,
+ ...
+}
+
+entityReleased OPERATION ::= {
+ ARGUMENT EntityReleasedArg {b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-entityReleased
+}
+
+-- Direction SSF -> SCF, Timer: Ter
+-- This operation is used by SSF to inform the SCF of an error/exception
+EntityReleasedArg ::= CHOICE {
+ cSFailure
+ [0] SEQUENCE {callSegmentID [0] CallSegmentID{b2},
+ reason [1] Reason{b2} OPTIONAL,
+ cause [2] Cause{b2} OPTIONAL,
+ ...},
+ bCSMFailure
+ [1] SEQUENCE {legID [0] LegID,
+ reason [1] Reason{b2} OPTIONAL,
+ cause [2] Cause{b2} OPTIONAL,
+ ...}
+}
+
+establishTemporaryConnection OPERATION ::= {
+ ARGUMENT EstablishTemporaryConnectionArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {eTCFailed | missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-establishTemporaryConnection
+}
+
+-- Direction: SCF -> SSF, Timer: Tetc
+-- This operation is used to create a connection to a resource for a limited period of time
+-- (e.g. to play an announcement, to collect user information); it implies the use of the assist
+-- procedure.
+EstablishTemporaryConnectionArg ::= SEQUENCE {
+ assistingSSPIPRoutingAddress [0] AssistingSSPIPRoutingAddress{b2},
+ correlationID [1] CorrelationID{b2} OPTIONAL,
+ partyToConnect
+ CHOICE {legID [2] LegID,
+ callSegmentID [7] CallSegmentID{b2}} OPTIONAL,
+ scfID [3] ScfID{b2} OPTIONAL,
+ extensions [4] Extensions{b1} OPTIONAL,
+ carrier [5] Carrier{b2} OPTIONAL,
+ serviceInteractionIndicators
+ [30] ServiceInteractionIndicators{b2} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [6] ServiceInteractionIndicatorsTwo OPTIONAL,
+ ...
+}
+
+-- OPTIONAL parameters are only provided if modifications desired to basic call processing values
+eventNotificationCharging OPERATION ::= {
+ ARGUMENT EventNotificationChargingArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-eventNotificationCharging
+}
+
+-- Direction: SSF -> SCF, Timer: Tenc
+-- This operation is used by the SSF to report to the SCF the occurence of a specific charging event
+-- type as previously requested by the SCF in a RequestNotificationChargingEvent operation.
+EventNotificationChargingArg ::= SEQUENCE {
+ eventTypeCharging [0] EventTypeCharging{b2},
+ eventSpecificInformationCharging
+ [1] EventSpecificInformationCharging{b2} OPTIONAL,
+ legID [2] LegID OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ monitorMode [30] MonitorMode DEFAULT notifyAndContinue,
+ ...
+}
+
+-- OPTIONAL denotes network operator specific use.
+eventReportBCSM OPERATION ::= {
+ ARGUMENT EventReportBCSMArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-eventReportBCSM
+}
+
+-- Direction: SSF -> SCF, Timer: Terb
+-- This operation is used to notify the SCF of a call-related event (e.g. BCSM events such as busy or
+-- no answer) previously requested by the SCF in a RequestReportBCSMEvent operation.
+EventReportBCSMArg ::= SEQUENCE {
+ eventTypeBCSM [0] EventTypeBCSM,
+ bcsmEventCorrelationID [1] CorrelationID{b2} OPTIONAL,
+ eventSpecificInformationBCSM [2] EventSpecificInformationBCSM{b2} OPTIONAL,
+ legID [3] LegID OPTIONAL,
+ miscCallInfo [4] MiscCallInfo DEFAULT {messageType request},
+ extensions [5] Extensions{b1} OPTIONAL,
+ componentType [6] ComponentType OPTIONAL,
+ component [7] Component OPTIONAL,
+ componentCorrelationID [8] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+eventReportFacility OPERATION ::= {
+ ARGUMENT EventReportFacilityArg {b1}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-eventReportFacility
+}
+
+-- SSF->SCF, Timer: Terf
+-- This operation is issued by the SSF to report the SCF the event, that was previously requested by the
+-- SCF, the CCF/SSF receives a DSS1 message which contains a FACILITY IE. Criteria for the report, like
+-- reception of the ReturnResult which is specified with ComponentType, is optionally checked
+-- before issuing this operation.
+EventReportFacilityArg ::= SEQUENCE {
+ componentType [0] ComponentType OPTIONAL,
+ component [1] Component OPTIONAL,
+ legID [2] LegID OPTIONAL,
+ componentCorrelationID [3] ComponentCorrelationID OPTIONAL,
+ extensions [4] Extensions{b1} OPTIONAL,
+ ...
+}
+
+facilitySelectedAndAvailable OPERATION ::= {
+ ARGUMENT FacilitySelectedAndAvailableArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-facilitySelectedAndAvailable
+}
+
+-- Direction: SSF -> SCF. Timer: Tfs
+-- This operation is used for indication of a call termination attempt from the terminating half BCSM. (DP -
+-- Facility_Selected_And_Available).
+FacilitySelectedAndAvailableArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
+ calledPartySubaddress [2] CalledPartySubaddress{b2} OPTIONAL,
+ callingPartyBusinessGroupID [3] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartyNumber [4] CallingPartyNumber{b2} OPTIONAL,
+ originalCalledPartyID [5] OriginalCalledPartyID{b2} OPTIONAL,
+ redirectingPartyID [6] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [7] RedirectionInformation OPTIONAL,
+ routeList [8] RouteList{b2} OPTIONAL,
+ travellingClassMark [9] TravellingClassMark{b2} OPTIONAL,
+ extensions [10] Extensions{b1} OPTIONAL,
+ componentType [11] ComponentType OPTIONAL,
+ component [12] Component OPTIONAL,
+ componentCorrelationID [13] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+furnishChargingInformation OPERATION ::= {
+ ARGUMENT FurnishChargingInformationArg {b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-furnishChargingInformation
+}
+
+-- Direction: SCF -> SSF, Timer: Tfci
+-- This operation is used to request the SSF to generate, register a call record or to include some information
+-- in the default call record. The registered call record is intended for off line charging of the call.
+FurnishChargingInformationArg ::=
+ FCIBillingChargingCharacteristics{b2}
+
+holdCallInNetwork OPERATION ::= {
+ ARGUMENT HoldCallInNetworkArg
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-holdCallInNetwork
+}
+
+-- Direction: SCF -> SSF, Timer: Thcn
+-- This operation is used to provide the capability of queueing a call during the setup phase (e.g. to provide
+-- a call completion to busy, the call would be queued until the destination becomes free).
+HoldCallInNetworkArg ::= CHOICE {
+ holdcause [0] HoldCause,
+ empty [1] NULL
+}
+
+-- holdcause is optional and denotes network operator specific use.
+initialDP OPERATION ::= {
+ ARGUMENT InitialDPArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-initialDP
+}
+
+-- Direction: SSF -> SCF, Timer: Tidp
+-- This operation is used after a TDP to indicate request for service.
+InitialDPArg ::= SEQUENCE {
+ serviceKey [0] ServiceKey OPTIONAL,
+ dialledDigits [1] CalledPartyNumber{b2} OPTIONAL,
+ calledPartyNumber [2] CalledPartyNumber{b2} OPTIONAL,
+ callingPartyNumber [3] CallingPartyNumber{b2} OPTIONAL,
+ callingPartyBusinessGroupID [4] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartysCategory [5] CallingPartysCategory OPTIONAL,
+ callingPartySubaddress [6] CallingPartySubaddress{b2} OPTIONAL,
+ cGEncountered [7] CGEncountered OPTIONAL,
+ iPSSPCapabilities [8] IPSSPCapabilities{b2} OPTIONAL,
+ iPAvailable [9] IPAvailable{b2} OPTIONAL,
+ locationNumber [10] LocationNumber{b2} OPTIONAL,
+ miscCallInfo [11] MiscCallInfo OPTIONAL,
+ originalCalledPartyID [12] OriginalCalledPartyID{b2} OPTIONAL,
+ serviceProfileIdentifier [13] ServiceProfileIdentifier OPTIONAL,
+ terminalType [14] TerminalType OPTIONAL,
+ extensions [15] Extensions{b1} OPTIONAL,
+ triggerType [16] TriggerType OPTIONAL,
+ highLayerCompatibility [23] HighLayerCompatibility{b2} OPTIONAL,
+ serviceInteractionIndicators
+ [24] ServiceInteractionIndicators{b2} OPTIONAL,
+ additionalCallingPartyNumber
+ [25] AdditionalCallingPartyNumber{b2} OPTIONAL,
+ forwardCallIndicators [26] ForwardCallIndicators OPTIONAL,
+ bearerCapability [27] BearerCapability{b2} OPTIONAL,
+ eventTypeBCSM [28] EventTypeBCSM OPTIONAL,
+ redirectingPartyID [29] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [30] RedirectionInformation OPTIONAL,
+ cause [17] Cause{b2} OPTIONAL,
+ componentType [18] ComponentType OPTIONAL,
+ component [19] Component OPTIONAL,
+ componentCorrelationID [20] ComponentCorrelationID OPTIONAL,
+ iSDNAccessRelatedInformation
+ [21] ISDNAccessRelatedInformation{b2} OPTIONAL,
+ iNServiceCompatibilityIndication
+ [22] INServiceCompatibilityIndication{b2} OPTIONAL,
+ genericNumbers [31] GenericNumbers{b2} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [32] ServiceInteractionIndicatorsTwo OPTIONAL,
+ forwardGVNS [33] ForwardGVNS{b2} OPTIONAL,
+ createdCallSegmentAssociation [34] CSAID{b2} OPTIONAL,
+ uSIServiceIndicator [35] USIServiceIndicator{b2} OPTIONAL,
+ uSIInformation [36] USIInformation{b2} OPTIONAL,
+ carrier [37] Carrier{b2} OPTIONAL,
+ cCSS [38] CCSS OPTIONAL,
+ vPNIndicator [39] VPNIndicator OPTIONAL,
+ cNInfo [40] CNInfo{b2} OPTIONAL,
+ callReference [41] CallReference{b2} OPTIONAL,
+ routeingNumber [42] RouteingNumber{b2} OPTIONAL,
+ callingGeodeticLocation [43] CallingGeodeticLocation{b2} OPTIONAL,
+ calledPartySubaddress [60] CalledPartySubaddress{b2} OPTIONAL,
+ connectionIdentifier [61] ConnectionIdentifier{b2} OPTIONAL,
+ genericIdentifier [62] GenericIdentifier{b2} OPTIONAL,
+ qOSParameter [63] QoSParameter{b2} OPTIONAL,
+ bISDNParameters [64] BISDNParameters{b2} OPTIONAL,
+ ...,
+ globalCallReference [44] GlobalCallReference{b2} OPTIONAL,
+ cug-Index [45] CUG-Index OPTIONAL,
+ cug-Interlock [46] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [47] NULL OPTIONAL,
+ ipRelatedInformation [48] IPRelatedInformation{b2} OPTIONAL
+}
+
+-- OPTIONAL for iPSSPCapabilities, iPAvailable, cGEncountered, and miscCallInfo denotes network
+-- operator specific use.
+-- OPTIONAL for terminalType indicates that this parameter applies only at originating or terminating
+-- local exchanges if the SSF has this information.
+initiateCallAttempt OPERATION ::= {
+ ARGUMENT InitiateCallAttemptArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-initiateCallAttempt
+}
+
+-- Direction: SCF -> SSF, Timer: Tica
+-- This operation is used to request the SSF to create a new call to one call party using address
+-- information provided by the SCF.
+InitiateCallAttemptArg ::= SEQUENCE {
+ destinationRoutingAddress [0] DestinationRoutingAddress{b2},
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ iSDNAccessRelatedInformation
+ [2] ISDNAccessRelatedInformation{b2} OPTIONAL,
+ travellingClassMark [3] TravellingClassMark{b2} OPTIONAL,
+ extensions [4] Extensions{b1} OPTIONAL,
+ serviceInteractionIndicators
+ [29] ServiceInteractionIndicators{b2} OPTIONAL,
+ callingPartyNumber [30] CallingPartyNumber{b2} OPTIONAL,
+ legToBeCreated [5] LegID --DEFAULT sendingSideID:leg1--,
+ newCallSegment
+ [6] CallSegmentID{b2} DEFAULT initialCallSegment,
+ iNServiceCompatibilityResponse [7] INServiceCompatibilityResponse OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [8] ServiceInteractionIndicatorsTwo OPTIONAL,
+ carrier [9] Carrier{b2} OPTIONAL,
+ correlationID [10] CorrelationID{b2} OPTIONAL,
+ scfID [11] ScfID{b2} OPTIONAL,
+ callReference [12] CallReference{b2} OPTIONAL,
+ calledDirectoryNumber [13] CalledDirectoryNumber{b2} OPTIONAL,
+ bearerCapability [60] BearerCapability{b2} OPTIONAL,
+ calledPartySubaddress [61] CalledPartySubaddress{b2} OPTIONAL,
+ connectionIdentifier [62] ConnectionIdentifier{b2} OPTIONAL,
+ genericIdentifier [63] GenericIdentifier{b2} OPTIONAL,
+ qOSParameter [64] QoSParameter{b2} OPTIONAL,
+ bISDNParameters [65] BISDNParameters{b2} OPTIONAL,
+ ...,
+ originalCalledPartyID [14] OriginalCalledPartyID{b2} OPTIONAL,
+ callingPartysCategory [15] CallingPartysCategory OPTIONAL,
+ redirectingPartyID [16] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [17] RedirectionInformation OPTIONAL,
+ displayInformation [18] DisplayInformation{b2} OPTIONAL,
+ forwardCallIndicators [19] ForwardCallIndicators OPTIONAL,
+ genericNumbers [20] GenericNumbers{b2} OPTIONAL,
+ forwardGVNS [21] ForwardGVNS{b2} OPTIONAL,
+ globalCallReference [23] GlobalCallReference{b2} OPTIONAL,
+ -- syntax to be confirmed
+ cug-Interlock [24] CUG-Interlock OPTIONAL,
+ cug-OutgoingAccess [25] NULL OPTIONAL,
+ incomingSignallingBufferCopy [26] BOOLEAN DEFAULT FALSE,
+ ipRelatedInformation [27] IPRelatedInformation{b2} OPTIONAL
+}
+
+-- OPTIONAL parameters are only provided if modifications desired to basic call processing values
+manageTriggerData OPERATION ::= {
+ ARGUMENT ManageTriggerDataArg {b1,
+ b2}
+ RESULT ManageTriggerDataResultArg {b1,
+ b2}
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ CODE opcode-manageTriggerData
+}
+
+-- Direction: SCF -> SSF, Class 1, Timer: Tmtd
+-- This trigger management operation is used outside the context of a call to activate, deactivate or retrieve
+-- the status of one or several trigger detection point linked to a subscriber profile known at the switch,
+-- e.g. related to an access line ( i.e. an individual trigger).
+ManageTriggerDataArg ::= SEQUENCE {
+ actionIndicator [0] ActionIndicator,
+ triggerDataIdentifier
+ CHOICE {profileAndDP [1] TriggerDataIdentifier{b1, b2},
+ -- one trigger
+ profile [5] ProfileIdentifier{b2}},
+ registratorIdentifier [2] RegistratorIdentifier OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ tDPIdentifier [4] TDPIdentifier{b2} OPTIONAL,
+ ...
+}
+
+ManageTriggerDataResultArg ::= CHOICE {
+ oneTriggerResult
+ SEQUENCE {actionPerformed [0] ActionPerformed,
+ extensions [1] Extensions{b1} OPTIONAL,
+ ...},
+ severalTriggerResult
+ [1] SEQUENCE {results [0] TriggerResults{b2},
+ extensions [1] Extensions{b1} OPTIONAL,
+ ...}
+}
+
+mergeCallSegments OPERATION ::= {
+ ARGUMENT MergeCallSegmentsArg {b1,
+ b2}
+ RETURN RESULT TRUE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ CODE opcode-mergeCallSegments
+}
+
+-- Direction: SCF -> SSF. Timer: T mc
+-- This operation is issued by the SCF to merge two associated CSs , into one CS .
+MergeCallSegmentsArg ::= SEQUENCE {
+ sourceCallSegment [0] CallSegmentID{b2},
+ targetCallSegment [1] CallSegmentID{b2} DEFAULT initialCallSegment,
+ extensions [2] Extensions{b1} OPTIONAL,
+ ...,
+ mergeSignallingPaths [3] NULL OPTIONAL
+}
+
+monitorRouteReport OPERATION ::= {
+ ARGUMENT MonitorRouteReportArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-monitorRouteReport
+}
+
+-- Direction SSF-> SCF: Timer T mrp
+-- This operation is used by the SSF to report the result of a route monitoring procedure.
+MonitorRouteReportArg ::= SEQUENCE {
+ routeCounters [0] RouteCountersValue{b2},
+ correlationID [2] CorrelationID{b2},
+ ...,
+-- ...,
+ extensions [3] Extensions{b1} OPTIONAL
+}
+
+monitorRouteRequest OPERATION ::= {
+ ARGUMENT MonitorRouteRequestArg {b1,
+ b2}
+ RETURN RESULT TRUE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedParameter}
+ CODE opcode-monitorRouteRequest
+}
+
+-- Direction SCF -> SSF. Timer Tmrr
+-- This operationis issued by the SCF to request the SSF to monitor specified routes.
+MonitorRouteRequestArg ::= SEQUENCE {
+ routeList [0] RouteList{b2},
+ correlationID [1] CorrelationID{b2},
+ monitoringCriteria [2] MonitoringCriteria,
+ monitoringTimeout [3] MonitoringTimeOut,
+ startTime [4] DateAndTime OPTIONAL,
+ ...,
+-- ...,
+ extensions [5] Extensions{b1} OPTIONAL
+}
+
+moveCallSegments OPERATION ::= {
+ ARGUMENT MoveCallSegmentsArg {b1,
+ b2}
+ RETURN RESULT TRUE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ CODE opcode-moveCallSegments
+}
+
+-- Direction: SCF -> SSF, Timer Tmcs
+-- This operation moves a CS from the source CSA to the the target CSA
+MoveCallSegmentsArg ::= SEQUENCE {
+ targetCallSegmentAssociation [0] CSAID{b2},
+ callSegments
+ [1] SEQUENCE SIZE (1..--b2.&--numOfCSs) OF
+ SEQUENCE {sourceCallSegment
+ [0] CallSegmentID{b2} DEFAULT initialCallSegment,
+ newCallSegment [1] CallSegmentID{b2},
+ ...},
+ legs
+ [2] SEQUENCE SIZE (1..--b2.&--numOfLegs) OF
+ SEQUENCE {sourceLeg [0] LegID,
+ newLeg [1] LegID,
+ ...},
+ extensions [3] Extensions{b1} OPTIONAL,
+ ...
+}
+
+moveLeg OPERATION ::= {
+ ARGUMENT MoveLegArg {b1,
+ b2}
+ RETURN RESULT TRUE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ CODE opcode-moveLeg
+}
+
+-- Direction : SCF ->SSF, Timer: T ml
+-- This operation is issued by the SCF to move a leg from one CS to another with which it is associated.
+MoveLegArg ::= SEQUENCE {
+ legIDToMove [0] LegID,
+ targetCallSegment [1] CallSegmentID{b2} DEFAULT 1,
+ extensions [2] Extensions{b1} OPTIONAL,
+ ...,
+ detachSignallingPath [3] NULL OPTIONAL, -- action on source
+ exportSignallingPath [4] NULL OPTIONAL -- action on target
+}
+
+oAbandon OPERATION ::= {
+ ARGUMENT OAbandonArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-oAbandon
+}
+
+-- Direction: SSF -> SCF. Timer: T ob
+-- This operation is issued by the SSF after detecting a valid trigger condition at the O_Abandon DP or to
+-- report an oAbandon event requested by the RequestReportBCSMEvent.
+OAbandonArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ callSegmentID [1] CallSegmentID{b2},
+ releaseCause [2] Cause{b2} OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- Use of T/EDP-R is outside
+-- the scope of this capability set.
+oAnswer OPERATION ::= {
+ ARGUMENT OAnswerArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-oAnswer
+}
+
+-- Direction: SSF -> SCF, Timer: Toa
+-- This operation is used for indication from the terminating half BCSM that the call is accepted and answered
+-- by terminating party (e.g. terminating party goes offhook, Q.931 Connect message received, IS-UP Answer
+-- message received) (DP - O_Answer).
+OAnswerArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [2] CallingPartySubaddress{b2} OPTIONAL,
+ callingFacilityGroup [3] FacilityGroup OPTIONAL,
+ callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
+ originalCalledPartyID [5] OriginalCalledPartyID{b2} OPTIONAL,
+ redirectingPartyID [6] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [7] RedirectionInformation OPTIONAL,
+ routeList [8] RouteList{b2} OPTIONAL,
+ travellingClassMark [9] TravellingClassMark{b2} OPTIONAL,
+ extensions [10] Extensions{b1} OPTIONAL,
+ ...
+}
+
+oCalledPartyBusy OPERATION ::= {
+ ARGUMENT OCalledPartyBusyArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-oCalledPartyBusy
+}
+
+-- Direction: SSF -> SCF, Timer: Tob
+-- This operation is used for Indication from the terminating half BCSM that the terminating party is busy
+-- (DP - O_Called_Party_Busy). .
+OCalledPartyBusyArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ busyCause [1] Cause{b2} OPTIONAL,
+ callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [3] CallingPartySubaddress{b2} OPTIONAL,
+ callingFacilityGroup [4] FacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
+ originalCalledPartyID [6] OriginalCalledPartyID{b2} OPTIONAL,
+ prefix [7] Digits{b2} OPTIONAL,
+ redirectingPartyID [8] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [9] RedirectionInformation OPTIONAL,
+ routeList [10] RouteList{b2} OPTIONAL,
+ travellingClassMark [11] TravellingClassMark{b2} OPTIONAL,
+ extensions [12] Extensions{b1} OPTIONAL,
+ carrier [13] Carrier{b2} OPTIONAL,
+ ...
+}
+
+oDisconnect OPERATION ::= {
+ ARGUMENT ODisconnectArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-oDisconnect
+}
+
+-- Direction: SSF -> SCF, Timer: Tod
+-- This operation is used for a disconnect indication (e.g. onhook, Q.931 Disconnect message, SS7 Release message)
+-- is received from the originating party, or received from the terminating party via the terminating half BCSM.
+-- (DP - O_Disconnect). .
+ODisconnectArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [2] CallingPartySubaddress{b2} OPTIONAL,
+ callingFacilityGroup [3] FacilityGroup OPTIONAL,
+ callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
+ releaseCause [5] Cause{b2} OPTIONAL,
+ routeList [6] RouteList{b2} OPTIONAL,
+ extensions [7] Extensions{b1} OPTIONAL,
+ carrier [8] Carrier{b2} OPTIONAL,
+ connectTime [9] Integer4 OPTIONAL,
+ componentType [10] ComponentType OPTIONAL,
+ component [11] Component OPTIONAL,
+ componentCorrelationID [12] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+oMidCall OPERATION ::= {
+ ARGUMENT MidCallArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-oMidCall
+}
+
+-- Direction: SSF -> SCF, Timer: Tomc
+-- This operation is used to indicate a feature request is received from the originating party
+-- (e.g. hook flash, ISDN feature activation, Q.931 HOLD or RETrieve message). (DP - O_Mid_Call).
+MidCallArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
+ calledPartySubaddress [2] CalledPartySubaddress{b2} OPTIONAL,
+ callingPartyBusinessGroupID [3] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [4] CallingPartySubaddress{b2} OPTIONAL,
+ featureRequestIndicator [5] FeatureRequestIndicator OPTIONAL,
+ extensions [6] Extensions{b1} OPTIONAL,
+ carrier [7] Carrier{b2} OPTIONAL,
+ componentType [8] ComponentType OPTIONAL,
+ component [9] Component OPTIONAL,
+ componentCorrelationID [10] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+oNoAnswer OPERATION ::= {
+ ARGUMENT ONoAnswerArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-oNoAnswer
+}
+
+-- Direction: SSF -> SCF, Timer: Tona
+-- This operation is used for indication from the terminating half BCSM that the terminating party does not
+-- answer within a specified time period (DP - O_No_Answer).
+ONoAnswerArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [2] CallingPartySubaddress{b2} OPTIONAL,
+ callingFacilityGroup [3] FacilityGroup OPTIONAL,
+ callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
+ originalCalledPartyID [5] OriginalCalledPartyID{b2} OPTIONAL,
+ prefix [6] Digits{b2} OPTIONAL,
+ redirectingPartyID [7] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [8] RedirectionInformation OPTIONAL,
+ routeList [9] RouteList{b2} OPTIONAL,
+ travellingClassMark [10] TravellingClassMark{b2} OPTIONAL,
+ extensions [11] Extensions{b1} OPTIONAL,
+ carrier [12] Carrier{b2} OPTIONAL,
+ ...
+}
+
+originationAttempt OPERATION ::= {
+ ARGUMENT OriginationAttemptArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-originationAttempt
+}
+
+-- Direction: SSF -> SCF. Timer: Tora
+-- This operation is used for indication of a call origination attempt from the originating half BCSM.
+-- (DP - Origination_Attempt).
+OriginationAttemptArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [2] CallingPartySubaddress{b2} OPTIONAL,
+ callingFacilityGroup [3] FacilityGroup OPTIONAL,
+ callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
+ carrier [5] Carrier{b2} OPTIONAL,
+ travellingClassMark [6] TravellingClassMark{b2} OPTIONAL,
+ extensions [7] Extensions{b1} OPTIONAL,
+ componentType [8] ComponentType OPTIONAL,
+ component [9] Component OPTIONAL,
+ componenttCorrelationID [10] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+originationAttemptAuthorized OPERATION ::= {
+ ARGUMENT OriginationAttemptAuthorizedArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-originationAttemptAuthorized
+}
+
+-- Direction: SSF -> SCF, Timer: Toaa
+-- This operation is used to Indicate the desire to place outgoing call (e.g. offhook, Q.931 Setup message,
+-- ISUP IAM message) and authority/ability to place outgoing call verified (DP -
+-- Origination_Attempt_Authorized).
+OriginationAttemptAuthorizedArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ dialledDigits [1] CalledPartyNumber{b2} OPTIONAL,
+ callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [3] CallingPartySubaddress{b2} OPTIONAL,
+ callingFacilityGroup [4] FacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
+ travellingClassMark [6] TravellingClassMark{b2} OPTIONAL,
+ extensions [7] Extensions{b1} OPTIONAL,
+ carrier [8] Carrier{b2} OPTIONAL,
+ componentType [9] ComponentType OPTIONAL,
+ component [10] Component OPTIONAL,
+ componentCorrelationID [11] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+oSuspended OPERATION ::= {
+ ARGUMENT OSuspendedArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-oSuspended
+}
+
+-- Direction: SSF -> SCF. Timer: T os
+-- This operation is issued by the SSF after detecting a valid trigger condition at the O_Suspend DP or to
+-- report an oSuspend event requested by the RequestReportBCSMEvent.
+OSuspendedArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ legID [1] LegID OPTIONAL,
+ extensions [2] Extensions{b1} OPTIONAL,
+ ...
+}
+
+reconnect OPERATION ::= {
+ ARGUMENT ReconnectArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-reconnect
+}
+
+-- Direction: SCF -> SSF. Timer: T re
+-- This operation is issued by the SCF to reestablish communication between the controlling leg and the
+-- (held) passive leg(s). .
+ReconnectArg ::= SEQUENCE {
+ notificationDuration [0] ApplicationTimer OPTIONAL,
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ displayInformation [2] DisplayInformation{b2} OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ callSegmentID [4] CallSegmentID{b2} OPTIONAL,
+ ...
+}
+
+releaseCall OPERATION ::= {
+ ARGUMENT ReleaseCallArg {b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-releaseCall
+}
+
+-- Direction: SCF -> SSF, Timer: Trc
+-- This operation is used by the SCF to tear down an existing call segment at any phase of the call for all parties
+-- involved in the call segment or to tear down all existing call segments within a Call Segment Association.
+ReleaseCallArg ::= CHOICE {
+ initialCallSegment Cause{b2},
+ callSegmentToRelease
+ [1] SEQUENCE {callSegment [0] INTEGER(1..--b2.&--numOfCSs),
+ releaseCause [1] Cause{b2} OPTIONAL,
+ forcedRelease [2] BOOLEAN DEFAULT FALSE,
+ ...},
+ allCallSegments
+ [2] SEQUENCE {releaseCause [0] Cause{b2} OPTIONAL,
+ timeToRelease [1] TimerValue OPTIONAL,
+ forcedRelease [2] BOOLEAN DEFAULT FALSE,
+ ...},
+ ...
+}
+
+-- A default cause value of decimal 31 (normal unspecified) should be coded appropriately.
+-- If timeToRelease parameter is omitted, the default shall be no timed disconnect requested
+-- If forcedRelease parameter is omitted (default value "FALSE") the default shall be no forced release requested.
+reportUTSI OPERATION ::= {
+ ARGUMENT ReportUTSIArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-reportUTSI
+}
+
+-- Direction: SSF -> SCF. Timer: Tru
+-- This operation is issued by the SSF in the context of the USI feature. It is used to report the receipt
+-- of a User to Service Information (USI) to the SCF.
+ReportUTSIArg ::= SEQUENCE {
+ uSIServiceIndicator [0] USIServiceIndicator{b2},
+ legID [1] LegID --DEFAULT receivingSideID:leg1--,
+ uSIInformation [2] USIInformation{b2},
+ extensions [3] Extensions{b1} OPTIONAL,
+ ...
+}
+
+requestCurrentStatusReport OPERATION ::= {
+ ARGUMENT RequestCurrentStatusReportArg {b2}
+ RESULT RequestCurrentStatusReportResultArg {b1,
+ b2}
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownResource}
+ CODE opcode-requestCurrentStatusReport
+}
+
+-- Direction: SCF -> SSF, Timer: Trcs
+-- This operation is used to request the SSF to report immediately the busy/idle status of a physical
+-- termination resource.
+RequestCurrentStatusReportArg ::=
+ ResourceID{b2}
+
+RequestCurrentStatusReportResultArg ::= SEQUENCE {
+ resourceStatus [0] ResourceStatus,
+ resourceID [1] ResourceID{b2} OPTIONAL,
+ extensions [2] Extensions{b1} OPTIONAL,
+ ...
+}
+
+requestEveryStatusChangeReport OPERATION ::= {
+ ARGUMENT RequestEveryStatusChangeReportArg {b1,
+ b2}
+ RETURN RESULT TRUE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownResource}
+ CODE opcode-requestEveryStatusChangeReport
+}
+
+-- Direction: SCF -> SSF, Timer: Tres
+-- This operation is used to request the SSF to report every change of busy/idle status of a physical
+-- termination resource.
+RequestEveryStatusChangeReportArg ::= SEQUENCE {
+ resourceID [0] ResourceID{b2},
+ correlationID [1] CorrelationID{b2} OPTIONAL,
+ monitorDuration [2] Duration OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- For correlationID OPTIONAL denotes network operator optional.
+-- monitorDuration is required if outside the context of a call. It is not expected if we are in the context
+-- of a call, because in that case the end of the call implicitly means the end of the monitoring.
+requestFirstStatusMatchReport OPERATION ::= {
+ ARGUMENT RequestFirstStatusMatchReportArg {b1,
+ b2}
+ RETURN RESULT TRUE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownResource}
+ CODE opcode-requestFirstStatusMatchReport
+}
+
+-- Direction: SCF -> SSF, Timer: Trfs
+-- This operation is used to request the SSF to report the first change busy/idle to the specified status of
+-- a physical termination resource.
+RequestFirstStatusMatchReportArg ::= SEQUENCE {
+ resourceID [0] ResourceID{b2} OPTIONAL,
+ resourceStatus [1] ResourceStatus OPTIONAL,
+ correlationID [2] CorrelationID{b2} OPTIONAL,
+ monitorDuration [3] Duration OPTIONAL,
+ extensions [4] Extensions{b1} OPTIONAL,
+ bearerCapability [5] BearerCapability{b2} OPTIONAL,
+ ...
+}
+
+-- For correlationID OPTIONAL denotes network operator optional.
+-- monitorDuration is required if outside the context of a call. It is not expected if we are in the context
+-- of a call, because in that case the end of the call implicitly means the end of the monitoring.
+requestNotificationChargingEvent OPERATION ::= {
+ ARGUMENT RequestNotificationChargingEventArg {b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-requestNotificationChargingEvent
+}
+
+-- Direction: SCF -> SSF, Timer: Trnc
+-- This operation is used by the SCF to instruct the SSF on how to manage the charging events
+-- - which are received from other FE's and not under control of the service logic instance.
+RequestNotificationChargingEventArg ::=
+ SEQUENCE SIZE (1..--b2.&--numOfChargingEvents) OF ChargingEvent{b2}
+
+requestReportBCSMEvent OPERATION ::= {
+ ARGUMENT RequestReportBCSMEventArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-requestReportBCSMEvent
+}
+
+-- Direction: SCF -> SSF, Timer: Trrb
+-- This operation is used to request the SSF to monitor for a call-related event (e.g. BCSM events such as
+-- busy or no answer), then send a notification back to the SCF when the event is detected.
+-- It is proposed that Event Detection Point (EDP) processing is always initiated by RequestReportBCSMEvent
+-- and the EDP may be acknowledged with either an EventReportBCSM or by a DP-specific operation.
+-- NOTE - the application context should identify whether BCSM Event Handling Package
+-- is being used, or whether DP Specific Event Handling Package is being used.
+-- For a particular IN, only one of the two alternatives identified by the respective Packages should be
+-- selected (i.e., only one approach should be selected for a given application context).
+-- Every EDP must be explicitly armed by the SCF via a RequestReportBCSMEvent operation.
+-- No implicit arming of EDPs at the SSF after reception of any operation (different from
+-- RequestReportBCSMEvent) from the SCF is allowed.
+RequestReportBCSMEventArg ::= SEQUENCE {
+ bcsmEvents
+ [0] SEQUENCE SIZE (1..--b2.&--numOfBCSMEvents) OF BCSMEvent{b2},
+ bcsmEventCorrelationID [1] CorrelationID{b2} OPTIONAL,
+ extensions [2] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- Indicates the BCSM related events for notification.
+-- For correlationID OPTIONAL denotes network operator optional.
+requestReportFacilityEvent OPERATION ::= {
+ ARGUMENT RequestReportFacilityEventArg {b1}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-requestReportFacilityEvent
+}
+
+-- SCF->SSF, Timer: Trrfe
+-- This operation is issued by the SCF to request the SSF to report the SCF the event that the CCF/SSF
+-- receives a DSS1 message which contains a FACILITY IE during a BCSM being suspended at a DP.
+RequestReportFacilityEventArg ::= SEQUENCE {
+ componentTypes
+ [0] SEQUENCE SIZE (1..3) OF ComponentType DEFAULT {any},
+ legID [1] LegID OPTIONAL,
+ componentCorrelationID [2] ComponentCorrelationID OPTIONAL,
+ monitorDuration [3] Duration,
+ extensions [4] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- componentTypes specifies the component types which should be reported to the SCF.
+-- monitorDuration specifies the monitor duration.
+requestReportUTSI OPERATION ::= {
+ ARGUMENT RequestReportUTSIArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-requestReportUTSI
+}
+
+-- Direction: SCF -> SSF. Timer: Trru
+-- This operation is issued by the SCF in the context of the USI feature to request the SSF to monitor for
+-- a User to Service Information (UTSI) information element, which are received from a user.
+RequestReportUTSIArg ::= SEQUENCE {
+ requestedUTSIList [0] RequestedUTSIList{b2},
+ extensions [1] Extensions{b1} OPTIONAL,
+ legID [2] LegID --DEFAULT sendingSideID:leg1--,
+ ...
+}
+
+resetTimer OPERATION ::= {
+ ARGUMENT ResetTimerArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-resetTimer
+}
+
+-- Direction: SCF -> SSF, Timer: Trt
+-- This operation is used to request the SSF to refresh an application timer in the SSF.
+ResetTimerArg ::= SEQUENCE {
+ timerID [0] TimerID DEFAULT tssf,
+ timervalue [1] TimerValue,
+ extensions [2] Extensions{b1} OPTIONAL,
+ callSegmentID [3] CallSegmentID{b2} OPTIONAL,
+ ...
+}
+
+routeSelectFailure OPERATION ::= {
+ ARGUMENT RouteSelectFailureArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ systemFailure | taskRefused | unexpectedComponentSequence |
+ unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-routeSelectFailure
+}
+
+-- Direction: SSF -> SCF, Timer: Trsf
+-- This operation is used to indicate that the SSP is unable to select a route (e.g. unable to determine a
+-- correct route, no more routes on route list) or indication from the terminating half BCSM that a call
+-- cannot be presented to the terminating party (e.g. network ongestion) (DP - Route_Select_Failure).
+RouteSelectFailureArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ dialledDigits [1] CalledPartyNumber{b2} OPTIONAL,
+ callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [3] CallingPartySubaddress{b2} OPTIONAL,
+ callingFacilityGroup [4] FacilityGroup OPTIONAL,
+ callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
+ failureCause [6] Cause{b2} OPTIONAL,
+ originalCalledPartyID [7] OriginalCalledPartyID{b2} OPTIONAL,
+ prefix [8] Digits{b2} OPTIONAL,
+ redirectingPartyID [9] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [10] RedirectionInformation OPTIONAL,
+ routeList [11] RouteList{b2} OPTIONAL,
+ travellingClassMark [12] TravellingClassMark{b2} OPTIONAL,
+ extensions [13] Extensions{b1} OPTIONAL,
+ carrier [14] Carrier{b2} OPTIONAL,
+ ...
+}
+
+selectFacility OPERATION ::= {
+ ARGUMENT SelectFacilityArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-selectFacility
+}
+
+-- Direction: SCF -> SSF, Timer: Tsf
+-- This operation is used to request the SSF to perform the terminating basic call processing
+-- actions to select the terminating line if it is idle, or selects an idle line from a multi-line hunt
+-- group, or selects an idle trunk from a trunk group, as appropriate. If no idle line or trunk is
+-- available, the SSF determines that the terminating facility is busy.
+SelectFacilityArg ::= SEQUENCE {
+ alertingPattern [0] AlertingPattern OPTIONAL,
+ destinationNumberRoutingAddress [1] CalledPartyNumber{b2} OPTIONAL,
+ iSDNAccessRelatedInformation
+ [2] ISDNAccessRelatedInformation{b2} OPTIONAL,
+ calledFacilityGroup [3] FacilityGroup OPTIONAL,
+ calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
+ originalCalledPartyID [5] OriginalCalledPartyID{b2} OPTIONAL,
+ extensions [6] Extensions{b1} OPTIONAL,
+ displayInformation [7] DisplayInformation{b2} OPTIONAL,
+ serviceInteractionIndicators
+ [8] ServiceInteractionIndicators{b2} OPTIONAL,
+ iNServiceCompatibilityResponse [9] INServiceCompatibilityResponse OPTIONAL,
+ forwardGVNS [10] ForwardGVNS{b2} OPTIONAL,
+ backwardGVNS [11] BackwardGVNS{b2} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [12] ServiceInteractionIndicatorsTwo OPTIONAL,
+ correlationID [13] CorrelationID{b2} OPTIONAL,
+ scfID [14] ScfID{b2} OPTIONAL,
+ callSegmentID [15] CallSegmentID{b2} OPTIONAL,
+ legToBeCreated [16] LegID OPTIONAL,
+ ...,
+ ipRelatedInformation [17] IPRelatedInformation{b2} OPTIONAL
+}
+
+-- OPTIONAL parameters are only provided if modifications desired to basic call processing values.
+selectRoute OPERATION ::= {
+ ARGUMENT SelectRouteArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-selectRoute
+}
+
+-- Direction: SCF -> SSF, Timer: Tsr
+-- This operation is used to request the SSF to perform the originating basic call processing actions to
+-- determine routing information and select a route for a call, based either on call information available
+-- to the SSF, or on call information provided by the SCF (e.g. for alternate routing), to include the
+-- called party address, type of call, carrier, route index, and one or more alternate route indices.
+-- Based on the routing information, the SSF attempts to select a primary route for the call, and if the
+-- route is busy, attempts to select an alternate route. The SSF may fail to select a route for the call
+-- if all routes are busy.
+SelectRouteArg ::= SEQUENCE {
+ destinationRoutingAddress [0] DestinationRoutingAddress{b2},
+ alertingPattern [1] AlertingPattern OPTIONAL,
+ correlationID [2] CorrelationID{b2} OPTIONAL,
+ iSDNAccessRelatedInformation
+ [3] ISDNAccessRelatedInformation{b2} OPTIONAL,
+ originalCalledPartyID [4] OriginalCalledPartyID{b2} OPTIONAL,
+ routeList [5] RouteList{b2} OPTIONAL,
+ scfID [6] ScfID{b2} OPTIONAL,
+ travellingClassMark [7] TravellingClassMark{b2} OPTIONAL,
+ extensions [8] Extensions{b1} OPTIONAL,
+ carrier [9] Carrier{b2} OPTIONAL,
+ serviceInteractionIndicators
+ [10] ServiceInteractionIndicators{b2} OPTIONAL,
+ iNServiceCompatibilityResponse
+ [11] INServiceCompatibilityResponse OPTIONAL,
+ forwardGVNS [12] ForwardGVNS{b2} OPTIONAL,
+ backwardGVNS [13] BackwardGVNS{b2} OPTIONAL,
+ serviceInteractionIndicatorsTwo
+ [14] ServiceInteractionIndicatorsTwo OPTIONAL,
+ callSegmentID [15] CallSegmentID{b2} OPTIONAL,
+ legToBeCreated [16] LegID OPTIONAL,
+ ...,
+ ipRelatedInformation [17] IPRelatedInformation{b2} OPTIONAL
+}
+
+-- OPTIONAL parameters are only provided if modifications desired to basic call processing values.
+sendChargingInformation OPERATION ::= {
+ ARGUMENT SendChargingInformationArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | unexpectedComponentSequence | unexpectedParameter |
+ parameterOutOfRange | systemFailure | taskRefused | unexpectedDataValue |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-sendChargingInformation
+}
+
+-- Direction: SCF -> SSF, Timer: Tsci
+-- This operation is used to instruct the SSF on the charging information to send by the SSF.
+-- The charging information can either be sent back by means of signalling or internal
+-- if the SSF is located in the local exchange. In the local exchange
+-- this information may be used to update the charge meter or to create a standard call record.
+SendChargingInformationArg ::= SEQUENCE {
+ sCIBillingChargingCharacteristics [0] SCIBillingChargingCharacteristics{b2},
+ partyToCharge [1] LegID,
+ extensions [2] Extensions{b1} OPTIONAL,
+ nocharge [3] BOOLEAN OPTIONAL,
+ ...
+}
+
+sendFacilityInformation OPERATION ::= {
+ ARGUMENT SendFacilityInformationArg {b1}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | unexpectedComponentSequence | unexpectedParameter |
+ unexpectedDataValue | systemFailure | taskRefused | unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-sendFacilityInformation
+}
+
+-- SCF->SSF, Timer: Tsfi
+-- This operation is issued by the SCF during a BCSM being suspended at a DP to request the CCF/SSF
+-- sending a FACILITY IE to a user with a specified DSS1 message.
+SendFacilityInformationArg ::= SEQUENCE {
+ componentType [0] ComponentType,
+ legID [1] LegID OPTIONAL,
+ componentCorrelationID [2] ComponentCorrelationID OPTIONAL,
+ component [3] Component,
+ callProcessingOperation [4] CallProcessingOperation DEFAULT fACility,
+ extensions [5] Extensions{b1} OPTIONAL,
+ ...
+}
+
+-- FACILITY information will be delivered with the specified DSS1 message. The message is specified with the
+-- callProcessingOperation
+sendSTUI OPERATION ::= {
+ ARGUMENT SendSTUIArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | unexpectedComponentSequence |
+ unexpectedParameter | unexpectedDataValue | systemFailure | taskRefused |
+ unknownLegID}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-sendSTUI
+}
+
+-- Direction: SCF -> SSF. Timer: Tss
+-- This operation is issued by the SCF in the context of the USI feature. It is used to request the SSF
+-- to send a Service to User Information (USI information) data element to the indicated user.
+SendSTUIArg ::= SEQUENCE {
+ uSIServiceIndicator [0] USIServiceIndicator{b2},
+ legID [1] LegID --DEFAULT sendingSideID:leg1--,
+ uSIInformation [2] USIInformation{b2},
+ extensions [3] Extensions{b1} OPTIONAL,
+ ...
+}
+
+serviceFilteringResponse OPERATION ::= {
+ ARGUMENT ServiceFilteringResponseArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-serviceFilteringResponse
+}
+
+-- Direction: SSF -> SCF, Timer: Tsfr
+-- This operation is used to send back to the SCF the values of counters specified in a previous
+-- ActivateServiceFiltering operation
+ServiceFilteringResponseArg ::= SEQUENCE {
+ countersValue [0] CountersValue{b2},
+ filteringCriteria [1] FilteringCriteria{b2},
+ extensions [2] Extensions{b1} OPTIONAL,
+ responseCondition [3] ResponseCondition OPTIONAL,
+ ...
+}
+
+setServiceProfile OPERATION ::= {
+ ARGUMENT SetServiceProfileArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingParameter | parameterOutOfRange | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-setServiceProfile
+}
+
+-- Direction SCF -> SSF, Timer Tsep
+--This operation is used within the context of a call to request the SSF to activate/de-activate a list of trigger for one of the parties in the call.
+SetServiceProfileArg ::= SEQUENCE {
+ iNprofiles [0] SEQUENCE SIZE (1..--b2.&--numOfINProfile) OF INprofile{b1, b2},
+ ...,
+-- ...,
+ extensions [30] Extensions{b1} OPTIONAL
+}
+
+splitLeg OPERATION ::= {
+ ARGUMENT SplitLegArg {b1,
+ b2}
+ RETURN RESULT TRUE
+ ERRORS
+ {missingParameter | unexpectedComponentSequence | unexpectedParameter |
+ unexpectedDataValue | systemFailure | taskRefused | unknownLegID}
+ CODE opcode-splitLeg
+}
+
+-- Direction: SCF -> SSF. Timer: T sl
+-- This operation is issued by the SCF to separate one joined leg from a multi-way connection
+-- or a single 2 party Call segment.
+SplitLegArg ::= SEQUENCE {
+ legToBeSplit [0] LegID,
+ newCallSegment [1] INTEGER(2..--b2.&--numOfCSs),
+ extensions [2] Extensions{b1} OPTIONAL,
+ ...,
+ detachSignallingPath [3] NULL OPTIONAL
+}
+
+statusReport OPERATION ::= {
+ ARGUMENT StatusReportArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE opcode-statusReport
+}
+
+-- Direction: SSF -> SCF, Timer: Tsrp
+-- This operation is used as a response to RequestFirstStatusMatchReport or
+-- RequestEveryStatusChangeReport operations.
+StatusReportArg ::= SEQUENCE {
+ resourceStatus [0] ResourceStatus OPTIONAL,
+ correlationID [1] CorrelationID{b2} OPTIONAL,
+ resourceID [2] ResourceID{b2} OPTIONAL,
+ extensions [3] Extensions{b1} OPTIONAL,
+ reportCondition [4] ReportCondition OPTIONAL,
+ ...
+}
+
+-- For correlationID, OPTIONAL denotes network operator optional.
+-- resourceID is required when the SSF sends a report as an answer to a previous request when the
+-- correlationID was present.
+tAnswer OPERATION ::= {
+ ARGUMENT TAnswerArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
+ systemFailure | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-tAnswer
+}
+
+-- Direction: SSF -> SCF, Timer: Tta
+-- This operation is used to indicate that the call is accepted and answered by terminating party
+-- (e.g. terminating party goes offhook, Q.931 Connect message received, ISUP Answer message
+-- received) (DP - T_Answer).
+TAnswerArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
+ calledPartySubaddress [2] CalledPartySubaddress{b2} OPTIONAL,
+ calledFacilityGroup [3] FacilityGroup OPTIONAL,
+ calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
+ extensions [5] Extensions{b1} OPTIONAL,
+ componentType [6] ComponentType OPTIONAL,
+ component [7] Component OPTIONAL,
+ componentCorrelationID [8] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+tBusy OPERATION ::= {
+ ARGUMENT TBusyArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
+ systemFailure | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-tBusy
+}
+
+-- Direction: SSF -> SCF, Timer: Ttb
+-- This operation is used to indicate all resources in group busy (DP- TBusy).
+TBusyArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ busyCause [1] Cause{b2} OPTIONAL,
+ calledPartyBusinessGroupID [2] CalledPartyBusinessGroupID OPTIONAL,
+ calledPartySubaddress [3] CalledPartySubaddress{b2} OPTIONAL,
+ originalCalledPartyID [4] OriginalCalledPartyID{b2} OPTIONAL,
+ redirectingPartyID [5] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [6] RedirectionInformation OPTIONAL,
+ routeList [7] RouteList{b2} OPTIONAL,
+ travellingClassMark [8] TravellingClassMark{b2} OPTIONAL,
+ extensions [9] Extensions{b1} OPTIONAL,
+ ...
+}
+
+tDisconnect OPERATION ::= {
+ ARGUMENT TDisconnectArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
+ systemFailure | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-tDisconnect
+}
+
+-- Direction: SSF -> SCF, Timer: Ttd
+-- This operation is used for a disconnect indication (e.g. onhook, Q.931 Disconnect message,
+-- SS7 Release message) is received from the terminating party, or received from the originating party
+-- via the originating half BCSM. (DP - T_Disconnect).
+TDisconnectArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
+ calledPartySubaddress [2] CalledPartySubaddress{b2} OPTIONAL,
+ calledFacilityGroup [3] FacilityGroup OPTIONAL,
+ calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
+ releaseCause [5] Cause{b2} OPTIONAL,
+ extensions [6] Extensions{b1} OPTIONAL,
+ connectTime [7] Integer4 OPTIONAL,
+ componentType [8] ComponentType OPTIONAL,
+ component [9] Component OPTIONAL,
+ componentCorrelationID [10] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+termAttemptAuthorized OPERATION ::= {
+ ARGUMENT TermAttemptAuthorizedArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
+ systemFailure | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-termAttemptAuthorized
+}
+
+-- Direction: SSF -> SCF, Timer: Ttaa
+-- This operation is used for indication of incoming call received from originating half BCSM and authority
+-- to route call to a specified terminating resource (or group) verified. (DP - Termination_Authorized).
+TermAttemptAuthorizedArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
+ calledPartySubaddress [2] CalledPartySubaddress{b2} OPTIONAL,
+ callingPartyBusinessGroupID [3] CallingPartyBusinessGroupID OPTIONAL,
+ originalCalledPartyID [4] OriginalCalledPartyID{b2} OPTIONAL,
+ redirectingPartyID [5] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [6] RedirectionInformation OPTIONAL,
+ routeList [7] RouteList{b2} OPTIONAL,
+ travellingClassMark [8] TravellingClassMark{b2} OPTIONAL,
+ extensions [9] Extensions{b1} OPTIONAL,
+ callingPartySubaddress [10] CallingPartySubaddress{b2} OPTIONAL,
+ ...
+}
+
+-- OPTIONAL parameters are only provided if modifications desired to basic call processing values
+terminationAttempt OPERATION ::= {
+ ARGUMENT TerminationAttemptArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
+ systemFailure | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-terminationAttempt
+}
+
+-- Direction: SSF -> SCF. Timer: Ttra
+-- This operation is used for indication of a call termination attempt from the terminating half BCSM. (DP -
+-- Termination_Attempt).
+TerminationAttemptArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
+ calledPartySubaddress [2] CalledPartySubaddress{b2} OPTIONAL,
+ callingPartyBusinessGroupID [3] CallingPartyBusinessGroupID OPTIONAL,
+ callingPartySubaddress [4] CallingPartySubaddress{b2} OPTIONAL,
+ originalCalledPartyID [5] OriginalCalledPartyID{b2} OPTIONAL,
+ redirectingPartyID [6] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [7] RedirectionInformation OPTIONAL,
+ routeList [8] RouteList{b2} OPTIONAL,
+ travellingClassMark [9] TravellingClassMark{b2} OPTIONAL,
+ extensions [10] Extensions{b1} OPTIONAL,
+ ...
+}
+
+tMidCall OPERATION ::= {
+ ARGUMENT MidCallArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
+ systemFailure | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-tMidCall
+}
+
+-- Direction: SSF -> SCF, Timer: Ttmc
+-- This operation is used to indicate that a feature request is received from the terminating party (e.g. hook
+-- flash, ISDN feature activation Q.931 HOLD or RETrieve message). (DP - T_Mid_Call).
+tNoAnswer OPERATION ::= {
+ ARGUMENT TNoAnswerArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | parameterOutOfRange |
+ unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
+ systemFailure | taskRefused}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-tNoAnswer
+}
+
+-- Direction: SSF -> SCF, Timer: Ttna
+-- This operation is used to indicate that the terminating party does not answer within a specified duration.
+-- (DP - T_No_Answer). .
+TNoAnswerArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
+ calledPartySubaddress [2] CalledPartySubaddress{b2} OPTIONAL,
+ calledFacilityGroup [3] FacilityGroup OPTIONAL,
+ calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
+ originalCalledPartyID [5] OriginalCalledPartyID{b2} OPTIONAL,
+ redirectingPartyID [6] RedirectingPartyID{b2} OPTIONAL,
+ redirectionInformation [7] RedirectionInformation OPTIONAL,
+ travellingClassMark [8] TravellingClassMark{b2} OPTIONAL,
+ extensions [9] Extensions{b1} OPTIONAL,
+ componentType [10] ComponentType OPTIONAL,
+ component [11] Component OPTIONAL,
+ componentCorrelationID [12] ComponentCorrelationID OPTIONAL,
+ ...
+}
+
+tSuspended OPERATION ::= {
+ ARGUMENT TSuspendedArg {b1,
+ b2}
+ RETURN RESULT FALSE
+ ERRORS
+ {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
+ unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
+ ALWAYS RESPONDS FALSE
+ CODE opcode-tSuspended
+}
+
+-- Direction: SSF -> SCF. Timer: T ts
+-- This operation is issued by the SSF after detecting a valid trigger condition at the T_Suspend DP or to
+-- report a tSuspended event requested by the RequestReportBCSMEvent.
+TSuspendedArg ::= SEQUENCE {
+ dpSpecificCommonParameters [0] DpSpecificCommonParameters{b1, b2},
+ legID [1] LegID OPTIONAL,
+ extensions [2] Extensions{b1} OPTIONAL,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-common-classes.asn b/epan/dissectors/asn1/inap/IN-common-classes.asn
new file mode 100644
index 00000000..901abbe9
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-common-classes.asn
@@ -0,0 +1,352 @@
+-- Module IN-common-classes (Q.1248.1:07/2001)
+IN-common-classes {itu-t recommendation q 1248 modules(1) in-common-classes(5)
+ version1(0)} DEFINITIONS ::=
+BEGIN
+
+IMPORTS
+ id-package-emptyConnection, id-rosObject-scf, id-rosObject-cusf,
+ id-rosObject-sdf, id-rosObject-srf, id-rosObject-ssf,
+ ros-InformationObjects, ros-UsefulDefinitions, ssf-scf-Protocol,
+ scf-cusf-Protocol, scf-scf-Protocol, scf-srf-Protocol, scf-sdf-Protocol,
+ sdf-sdf-Protocol, common-datatypes
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, Code, OPERATION,
+ CONNECTION-PACKAGE
+ FROM Remote-Operations-Information-Objects ros-InformationObjects
+ emptyBind
+ FROM Remote-Operations-Useful-Definitions ros-UsefulDefinitions
+ inAssistHandoffSsfToScf, inScfToSsfDpSpecific, inScfToSsfGeneric,
+ inScfToSsfStatusReporting, inScfToSsfServiceManagement,
+ inScfToSsfINTrafficManagement, inScfToSsfTrafficManagement,
+ inScfToSsfTriggerManagement, inSsfToScfDpSpecific, inSsfToScfGeneric,
+ inSsfToScfServiceManagement, inScfToSsfRouteMonitoring,
+ inSsfToScfRouteMonitoring
+ FROM IN-SSF-SCF-pkgs-contracts-acs ssf-scf-Protocol
+ cusfscfDPSpecificContract, scfcusfDPSpecificContract, cusfscfGenericContract,
+ scfcusfGenericContract
+ FROM IN-SCF-CUSF-Protocol scf-cusf-Protocol
+ dsspContract, scfc-scfsContract, scfs-scfcContract
+ FROM IN-SCF-SCF-pkgs-contracts-acs scf-scf-Protocol
+ srf-scf-contract
+ FROM IN-SCF-SRF-pkgs-contracts-acs scf-srf-Protocol
+ dapContract, dapExecuteContract, tfcContract
+ FROM IN-SCF-SDF-Protocol scf-sdf-Protocol
+ indspContract, shadowConsumerContract, shadowSupplierContract
+ FROM IN-SDF-SDF-Protocol sdf-sdf-Protocol
+ CriticalityType
+ FROM IN-common-datatypes common-datatypes;
+
+ssf ROS-OBJECT-CLASS ::= {
+ INITIATES
+ {inSsfToScfGeneric | inSsfToScfDpSpecific | inAssistHandoffSsfToScf |
+ inSsfToScfServiceManagement | inSsfToScfRouteMonitoring}
+ RESPONDS
+ {inScfToSsfGeneric | inScfToSsfDpSpecific | inScfToSsfINTrafficManagement |
+ inScfToSsfTrafficManagement | inScfToSsfServiceManagement |
+ inScfToSsfTriggerManagement | inScfToSsfStatusReporting |
+ inScfToSsfRouteMonitoring}
+ ID id-rosObject-ssf
+}
+
+-- The ssf class of ROS-object describes the communication capabilities of an SSF
+-- This object can act as the initiator of the following contracts
+--
+-- inSsfToScfGeneric contract expresses the form of the service in which the SSF,
+-- a ROS-object of class ssf, initiates the generic triggering approach contract.
+-- This dialogue is initiated by the SSF with the InitialDP Operation.
+-- inSsfToScfDpSpecific contract expresses the form of the service in which the SSF,
+-- a ROS-object of class ssf, initiates the DP specific approach contract.
+-- This dialogue is initiated by the SSF with the DP specific Initial Operations.
+-- inAssistHandoffSsfToScf contract expresses the form of the service in which the SSF,
+-- a ROS-object of class ssf, initiates the Assist or Hand-off contract.
+-- This dialogue is initiated by the SSF with the AssistRequestInstructions Operation.
+-- inSsfToScfServiceManagement contract expresses the form of the service in which the SSF,
+-- a ROS-object of class ssf, initiates ServiceManagement related contract for reporting
+-- service Management results. This dialogue is initiated/ended by the SSF with
+-- the ServicefilteringResponse Operation.
+-- inSsfToScfRouteMonitoring contract expresses the form of the service in which the SSF,
+-- a ROS-object of class ssf, initiates the reporting of route monitoring. This dialogue is
+-- initiated/ended by the SSF with the monitorRouteReport Operation
+-- This object can act as the responder of the following contracts
+--
+-- inScfToSsfGeneric contract expresses the form of the service in which the SSF,
+-- a ROS-object of class ssf, responds to the generic messaging approach for
+-- the SCF Initiate Call Attempt contract. This dialogue is initiated by the SCF with
+-- the InitiateCallAttempt or CreateCallSegmentAssociation, Generic case.
+-- inScfToSsfDpSpecific contract expresses the form of the service in which the SSF,
+-- a ROS-object of class ssf, responds to theDP specific messaging approach for the
+-- SCF Initiate Call Attempt contract. This dialogue is initiated by the SCF with
+-- the InitiateCallAttempt, DP Specific case.
+-- inScfToSsfINTrafficManagement contract expresses the form of service in which the SSF,
+-- a ROS object of class ssf, responds to theIN Traffic Management related contract.
+-- This dialogue is initiated by the SCF with the CallGap Operation
+-- inScfToSsfTrafficManagement contract expresses the form of service in which the SSF,
+-- a ROS object of class ssf, responds to the Traffic Management related contract.
+-- This dialogue is initiated by the SCF with the CallFiltering Operation
+-- inScfToSsfServiceManagement contract expresses the form of service in which the SSF,
+-- a ROS object of class ssf, responds to the Service Management related contract.
+-- This dialogue is initiated by the SCF with the ActivateServiceFiltering Operation
+-- inScfToSsfTriggerManagement contract expresses the form of service in which the SSF,
+-- a ROS object of class ssf, responds to the Trigger Management related contract.
+-- This dialogue is initiated by the SCF with the ManageTriggerData Operation
+-- inScfToSsfStatusReporting contract expresses the form of service in which the SSF,
+-- a ROS object of class ssf, responds to the Status Reporting related contract.
+-- This dialogue is initiated by the SCF with the StatusReporting Operations.
+-- inScfToSsfRouteMonitoring contract expresses the form of the service in which the SSF,
+-- a ROS-object of class ssf ,responds to the route monitoring request.
+-- This dialogue is initiated by the SCF with the monitorRouteRequest Operation.
+srf ROS-OBJECT-CLASS ::= {
+ INITIATES {srf-scf-contract}
+ ID id-rosObject-srf
+}
+
+-- The srf class of ROS-object describes the communication capabilities of an SRF
+-- This object can act as the initiator of the following contract
+--
+-- srf-scf-contract contract expresses the form of service in which the SRF, a ROS-object of class srf,
+-- initiates the srf related contract. This dialogue is initiated by the SRF with
+-- the AssistRequestInstruction Operation
+cusf ROS-OBJECT-CLASS ::= {
+ INITIATES {cusfscfDPSpecificContract | cusfscfGenericContract}
+ RESPONDS {scfcusfDPSpecificContract | scfcusfGenericContract}
+ ID id-rosObject-cusf
+}
+
+-- The cusf class of ROS-object describes the communication capabilities of an CUSF
+-- This object can act as the initiator of the following contracts
+--
+--cusfscfDPSpecificContract expresses the form of the service in which the CUSF,
+-- a ROS-object of class cusf, initiates the DP specific approach contract by using a DP specific operation.
+-- cusfscfGenericContract expresses the form of the service in which the CUSF,
+-- a ROS-object of class cusf, initiates the generic approach contract by using
+-- an InitialAssociationDP operation.
+--
+-- This object can act as the responder of the following contracts
+--
+--scfcusfDPSpecificContract expresses the form of the service in which the CUSF,
+-- a ROS-object of class cusf, responds the DP specific approach contract initiates by the SCF
+-- using an InitiateAssociation operation.
+-- scfcusfGenericContract expresses the form of the contract in which the CUSF,
+-- a ROS-object of class cusf, responds the generic approach contract initiates by the SCF
+-- using an InitiateAssociation operation.
+scf ROS-OBJECT-CLASS ::= {
+ INITIATES
+ {inScfToSsfGeneric | inScfToSsfDpSpecific | inScfToSsfINTrafficManagement |
+ inScfToSsfTrafficManagement | inScfToSsfServiceManagement |
+ inScfToSsfTriggerManagement | inScfToSsfStatusReporting |
+ inScfToSsfRouteMonitoring |
+ -- scf to sdf contracts
+ dapContract | dapExecuteContract |
+ -- scf to scf contracts
+ scfc-scfsContract | scfs-scfcContract | dsspContract |
+ -- tfc contract (scf to scf)
+ tfcContract |
+ -- scf to cusf contracts
+ scfcusfDPSpecificContract | scfcusfGenericContract}
+ RESPONDS
+ {inSsfToScfGeneric | inSsfToScfDpSpecific | inAssistHandoffSsfToScf |
+ inSsfToScfServiceManagement | inSsfToScfRouteMonitoring |
+ -- srf to scf contracts
+ srf-scf-contract |
+ -- tfc contract (scf to scf, sdf to scf)
+ tfcContract |
+ -- scf to scf contracts
+ scfc-scfsContract | scfs-scfcContract | dsspContract |
+ -- cusf to scf contracts
+ cusfscfDPSpecificContract | cusfscfGenericContract}
+ ID id-rosObject-scf
+}
+
+-- The scf class of ROS-object describes the communication capabilities of an SCF
+-- This object can act as the initiator of the following contracts
+--
+-- scf to ssf contracts
+-- inScfToSsfGeneric contract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf, initiates the generic messaging approach for the SCF
+-- Initiate Call Attempt contract. This dialogue is initiated by the SCF with the InitiateCallAttempt
+-- or CreateCallSegmentAssociation, Generic case.
+-- inScfToSsfDpSpecific contract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf, initiates theDP specific messaging approach for the SCF Initiate Call Attempt
+-- contract. This dialogue is initiated by the SCF with the InitiateCallAttempt, DP Specific case.
+-- inScfToSsfINTrafficManagement contract expresses the form of service in which the SCF,
+-- a ROS object of class scf, initiates the IN Traffic Management related contract. This dialogue is initiated
+-- by the SCF with the CallGap Operation
+-- inScfToSsfTrafficManagement contract expresses the form of service in which the SCF,
+-- a ROS object of class scf, initiates the Traffic Management related contract. This dialogue is initiated
+-- by the SCF with the CallFiltering Operation
+-- inScfToSsfServiceManagement contract expresses the form of service in which the SCF,
+-- a ROS object of class scf, initiates the Service Management related contract.
+-- This dialogue is initiated by the SCF with the ActivateServiceFiltering Operation
+-- inScfToSsfTriggerManagement contract expresses the form of service in which the SCF,
+-- a ROS object of class scf, initiates the Trigger Management related contract.
+-- This dialogue is initiated by the SCF with the ManageTriggerData Operation
+-- inScfToSsfStatusReporting contract expresses the form of service in which the SCF,
+-- a ROS object of class scf, initiates the Status Reporting related contract. This dialogue is initiated
+-- by the SCF with the StatusReporting Operations.
+-- inScfToSsfRouteMonitoring contract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf initiates the route monitoring request. This dialogue is initiated
+-- by the SCF with the monitorRouteRequest Operation.
+--
+-- scf to sdf
+-- dapContract contract expresses the form of service in which the SCF, a ROS object of class scf,
+-- initiates the SCF/SDF message exchange based on a DAP protocol (Search operation and Directory
+-- Modify operations).
+-- dapExecuteContract contract expresses the form of service in which the SCF, a ROS object of class scf,
+-- initiates the SCF/SDF message exchange based on a DAP protocol (Search operation and Directory
+-- Modify operations) plus the Execute operation.
+-- tfc contract (scf to scf)
+-- tfcContract contract expresses the form of service in which the SCF, a ROS object of class scf,
+-- initiates the traffic flow control mechanism.
+--
+-- scf to scf contracts
+-- scfc-scfsContract and scfs-scfcContract contracts expresse the form of service in which the controlling or
+-- supporting SCF, a ROS object of class scf, initiate the SCF/SCF message exchange.
+-- dsspContract contract expresses the form of service in which the SCF, a ROS object of class scf,
+-- initiates the chained SCF/SCF message exchange.
+--
+-- scf to cusf contracts
+--scfcusfDPSpecificContract expresses the form of the service in which the SCF, a ROS-object of class scf,
+-- initiates the DP specific approach contract by using an InitiateAssociation operation.
+-- scfcusfGenericContract expresses the form of the contract in which the SCF, a ROS-object of class scf,
+-- initiates the generic approach contract by using an InitiateAssociation operation.
+--
+-- This object can act as the responder of the following contracts
+--
+-- ssf to scf contracts
+-- inSsfToScfGeneric contract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf, responds to the generic triggering approach contract.
+-- This dialogue is initiated by the SSF with the InitialDP Operation.
+-- inSsfToScfDpSpecific contract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf, responds to the DP specific approach contract.
+-- This dialogue is initiated by the SSF with the DP specific Initial Operations.
+-- inAssistHandoffSsfToScf contract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf, responds to the Assist or Hand-off contract.
+-- This dialogue is initiated by the SSF with the AssistRequestInstructions Operation.
+-- inSsfToScfServiceManagement contract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf, responds to the ServiceManagement related contract for reporting
+-- Service Management results.
+-- This dialogue is initiated/ended by the SSF with the ServicefilteringResponse Operation.
+-- inSsfToScfRouteMonitoring contract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf ,responds to the route monitoring procedures.
+-- This dialogue is initiated/ended by the SSF with the monitorRouteReport Operation.
+--
+-- srf to scf contracts
+-- srf-scf-contract contract expresses the form of service in which the SCF, a ROS-object of class scf,
+-- responds to the srf related contract. This dialogue is initiated by the SRF with the AssistRequestInstruction
+-- tfc contract (scf to scf, sdf to scf)
+-- tfcContract contract expresses the form of service in which the SCF, a ROS object of class scf,
+-- responds to the traffic flow control contract initiated either by the SCF or the SDF.
+--
+-- scf to scf contracts
+-- scfc-scfsContract and scfs-scfcContract contracts express the form of service in which the controlling or
+-- supporting SCF, a ROS object of class scf, responds the SCF/SCF message exchange.
+-- dsspContract contract expresses the form of service in which the SCF, a ROS object of class scf,
+-- responds to the previously initiated chained SCF/SCF message exchange.
+--
+-- cusf to scf contracts
+-- cusfscfDPSpecificContract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf, responds to the DP specific approach contract.
+-- cusfscfGenericContract expresses the form of the service in which the SCF,
+-- a ROS-object of class scf, responds to the generic approach contract.
+sdf ROS-OBJECT-CLASS ::= {
+ INITIATES
+ {indspContract | shadowConsumerContract | shadowSupplierContract |
+ tfcContract}
+ RESPONDS
+ {dapContract | dapExecuteContract | indspContract | shadowConsumerContract
+ | shadowSupplierContract | tfcContract}
+ ID id-rosObject-sdf
+}
+
+-- The sdf class of ROS-Object describes the communication capabilities of an SDF
+-- This object can act as the initiator of the following contracts
+-- indspContract contract expresses the form of service in which the SDF, a ROS object of class sdf,
+-- initiates the chained SCF/SDF message exchange, based on the DSP protocol.
+-- shadowConsumerContract contract expresses the form of service in which the SDF,
+-- a ROS object of class sdf, initiates the shadowing mechanism as a shadow consumer,
+-- based on the DISP protocol.
+-- shadowSupplierContract contract expresses the form of service in which the SDF,
+-- a ROS object of class sdf, initiates the shadowing mechanism as a shadow supplier,
+-- based on the DISP protocol.
+-- tfcContract contract expresses the form of service in which the SDF, a ROS object of class sdf,
+-- initiates the traffic flow control mechanism.
+-- This object can act as the responder of the following contracts
+-- dapContract contract expresses the form of service in which the SDF, a ROS object of class sdf,
+-- responds to the previously initiated SCF/SDF message exchange.
+-- dapExecuteContract contract expresses the form of service in which the SDF, a ROS object of class sdf,
+-- responds to the previously initiated SCF/SDF message exchange.
+-- indspContract contract expresses the form of service in which the SDF, a ROS object of class sdf,
+-- responds to the previously initiated chained SCF/SDF message exchange.
+-- shadowConsumerContract contract expresses the form of service in which the SDF,
+-- a ROS object of class sdf, responds to the previously initiated shadowing mechanism.
+-- shadowSupplierContract contract expresses the form of service in which the SDF,
+-- a ROS object of class sdf, responds to the previously initiated shadowing mechanism.
+-- tfcContract contract expresses the form of service in which the SDF, a ROS object of class sdf,
+-- responds to the traffic flow control initiated by the SDF.
+-- Definition of the extension class
+EXTENSION ::= CLASS {
+ &ExtensionType ,
+ &criticality CriticalityType DEFAULT ignore,
+ &id Code
+}
+WITH SYNTAX {
+ EXTENSION-SYNTAX &ExtensionType
+ [CRITICALITY &criticality]
+ IDENTIFIED BY &id
+}
+
+-- Example of addition of an extension named 'Some Network Specific Indicator' of type
+-- BOOLEAN, with criticality 'abort' and to be identified as extension number 1
+-- Example of definition using the above information object class:
+--
+-- SomeNetworkSpecificIndicator EXTENSION ::= {
+-- EXTENSION-SYNTAX BOOLEAN
+-- CRITICALITY abort
+-- IDENTIFIED BY local : 1
+-- }
+-- Example of transfer syntax, using the ExtensionField datatype as specified in section 4.1.
+-- Assuming the value of the extension is set to TRUE, the extensions parameter
+-- becomes a Sequence of type INTEGER ::= 1, criticality ENUMERATED ::= 1 and value [1]
+-- EXPLICIT BOOLEAN ::= TRUE.
+--
+-- Use of Q.1400 defined Extension is ffs
+-- In addition the extension mechanism marker is used to identify the future minor additions to INAP.
+firstExtension EXTENSION ::= {
+ EXTENSION-SYNTAX NULL
+ CRITICALITY ignore
+ IDENTIFIED BY local:1
+}
+
+-- firstExtension is just an example.
+SupportedExtensions EXTENSION ::=
+ {firstExtension, ...
+ -- full set of network operator extensions --}
+
+-- SupportedExtension is the full set of the network operator extensions.
+inUnbind OPERATION ::= {RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+}
+
+emptyConnectionPackage CONNECTION-PACKAGE ::= {
+ BIND emptyBind
+ UNBIND inUnbind
+ RESPONDER UNBIND TRUE
+ ID id-package-emptyConnection
+}
+
+EmptyReturnable OPERATION ::=
+ {...}
+
+COMMON-BOUNDS ::= CLASS {&numOfExtensions INTEGER OPTIONAL
+}WITH SYNTAX {[NUM-OF-EXTENSIONS &numOfExtensions]
+}
+
+-- The following instance of the parameter bound is just an example
+networkSpecificBoundSet COMMON-BOUNDS ::= {NUM-OF-EXTENSIONS 1
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-common-datatypes.asn b/epan/dissectors/asn1/inap/IN-common-datatypes.asn
new file mode 100644
index 00000000..a1c2fc7d
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-common-datatypes.asn
@@ -0,0 +1,40 @@
+-- Module IN-common-datatypes (Q.1248.1:07/2001)
+IN-common-datatypes {itu-t recommendation q 1248 modules(1)
+ in-common-datatypes(1) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+ common-classes
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ EXTENSION, COMMON-BOUNDS, SupportedExtensions
+ FROM IN-common-classes common-classes;
+
+CriticalityType ::= ENUMERATED {ignore(0), abort(1)}
+
+Extensions{COMMON-BOUNDS:b1} ::=
+ SEQUENCE SIZE (1..b1.&numOfExtensions) OF ExtensionField
+
+ExtensionField ::= SEQUENCE {
+ type EXTENSION.&id({SupportedExtensions}),
+ -- shall identify the value of an EXTENSION type
+ criticality CriticalityType DEFAULT ignore,
+ value [1] EXTENSION.&ExtensionType({SupportedExtensions}{@type})
+}
+
+--This parameter indicates an extension of an argument data type. Its content is network operator specific
+Integer4 ::= INTEGER(0..2147483647)
+
+InvokeID ::= INTEGER(-128..127)
+
+UnavailableNetworkResource ::= ENUMERATED {
+ unavailableResources(0), componentFailure(1),
+ basicCallProcessingException(2), resourceStatusFailure(3), endUserFailure(4),
+ screening(5)}
+
+-- Indicates the network resource that failed
+-- Note that in IN CS4 the screening value can only be used by the SCF.
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-errorcodes.asn b/epan/dissectors/asn1/inap/IN-errorcodes.asn
new file mode 100644
index 00000000..cd867a0b
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-errorcodes.asn
@@ -0,0 +1,57 @@
+-- Module IN-errorcodes (Q.1248.1:07/2001)
+IN-errorcodes {itu-t recommendation q 1248 modules(1) in-errorcodes(4)
+ version1(0)} DEFINITIONS ::=
+BEGIN
+
+IMPORTS
+ ros-InformationObjects
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ Code
+ FROM Remote-Operations-Information-Objects ros-InformationObjects;
+
+errcode-canceled Code ::= local:0
+
+errcode-cancelFailed Code ::= local:1
+
+errcode-eTCFailed Code ::= local:3
+
+errcode-improperCallerResponse Code ::= local:4
+
+errcode-missingCustomerRecord Code ::= local:6
+
+errcode-missingParameter Code ::= local:7
+
+errcode-parameterOutOfRange Code ::= local:8
+
+errcode-requestedInfoError Code ::= local:10
+
+errcode-systemFailure Code ::= local:11
+
+errcode-taskRefused Code ::= local:12
+
+errcode-unavailableResource Code ::= local:13
+
+errcode-unexpectedComponentSequence Code ::= local:14
+
+errcode-unexpectedDataValue Code ::= local:15
+
+errcode-unexpectedParameter Code ::= local:16
+
+errcode-unknownLegID Code ::= local:17
+
+errcode-unknownResource Code ::= local:18
+
+-- Error codes for the IN CS2 error types follow
+errcode-scfReferral Code ::= local:21
+
+errcode-scfTaskRefused Code ::= local:22
+
+errcode-chainingRefused Code ::= local:23
+-- WS:Duplicate
+--errcode-executionError Code ::= local:10
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-errortypes.asn b/epan/dissectors/asn1/inap/IN-errortypes.asn
new file mode 100644
index 00000000..ec9cbbc2
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-errortypes.asn
@@ -0,0 +1,195 @@
+-- Module IN-errortypes (Q.1248.1:07/2001)
+IN-errortypes {itu-t recommendation q 1248 modules(1) in-errortypes(2)
+ version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+ ros-InformationObjects, common-datatypes, errorcodes, sdf-sdf-Operations,
+ scf-scf-classes, ds-UsefulDefinitions, spkmGssTokens, tc-Messages
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ directoryAbstractService, distributedOperations, enhancedSecurity
+ FROM UsefulDefinitions ds-UsefulDefinitions
+ OPTIONALLY-PROTECTED{}, dirqop
+ FROM EnhancedSecurity enhancedSecurity
+ CommonResults, ServiceProblem, SecurityProblem, SecurityParameters, Versions
+ FROM DirectoryAbstractService directoryAbstractService
+ scfqop
+ FROM IN-SCF-SCF-Classes scf-scf-classes
+ AccessPointInformation
+ FROM DistributedOperations distributedOperations
+ SPKM-ERROR
+ FROM SpkmGssTokens spkmGssTokens
+ ERROR
+ FROM Remote-Operations-Information-Objects ros-InformationObjects
+ InvokeID, UnavailableNetworkResource
+ FROM IN-common-datatypes common-datatypes
+ errcode-canceled, errcode-cancelFailed, errcode-chainingRefused,
+ errcode-eTCFailed, errcode-executionError, errcode-improperCallerResponse,
+ errcode-missingCustomerRecord, errcode-missingParameter,
+ errcode-parameterOutOfRange, errcode-requestedInfoError,
+ errcode-scfTaskRefused, errcode-scfReferral, errcode-systemFailure,
+ errcode-taskRefused, errcode-unavailableResource,
+ errcode-unexpectedComponentSequence, errcode-unexpectedDataValue,
+ errcode-unexpectedParameter, errcode-unknownLegID, errcode-unknownResource
+ FROM IN-errorcodes errorcodes;
+
+-- TYPE DEFINITION FOR IN CS4 ERRORS FOLLOWS
+canceled ERROR ::= {CODE errcode-canceled
+}
+
+-- The operation has been cancelled.
+cancelFailed ERROR ::= {
+ PARAMETER
+ SEQUENCE {problem
+ [0] ENUMERATED {unknownOperation(0), tooLate(1),
+ operationNotCancellable(2)},
+ operation [1] InvokeID}
+ CODE errcode-cancelFailed
+}
+
+-- The operation failed to be cancelled.
+chainingRefused ERROR ::= {CODE errcode-chainingRefused
+}
+
+eTCFailed ERROR ::= {CODE errcode-eTCFailed
+}
+
+-- The establish temporary connection failed.
+-- WS:Duplicates error-code
+--executionError ERROR ::= {
+-- PARAMETER OPTIONALLY-PROTECTED
+-- {SET {problem [0] EXPLICIT ExecutionProblem,
+-- COMPONENTS OF CommonResults}
+-- dirqop.&dirErrors-QOP},
+-- CODE errcode-executionError
+--}
+
+-- The executionError is returned by an Execute operation in the case of the operation is not completing.
+--ExecutionProblem ::= INTEGER {missingInputValues(1), executionFailure(2)
+--}
+
+-- The executeProblem identifies the cause of the execute operation failure:
+-- missingInputValues is returned in the input-values field contains the wrong input
+-- information for the method being executed.
+-- executionFailure is returned when the method fails to complete correctly. This is caused by
+-- .the failure of one of the DAP operations contained within the method.
+improperCallerResponse ERROR ::= {CODE errcode-improperCallerResponse
+}
+
+-- The caller response was not as expected.
+missingCustomerRecord ERROR ::= {CODE errcode-missingCustomerRecord
+}
+
+-- The Service Logic Program could not be found in the SCF.
+missingParameter ERROR ::= {CODE errcode-missingParameter
+}
+
+-- An expected optional parameter was not received.
+parameterOutOfRange ERROR ::= {CODE errcode-parameterOutOfRange
+}
+
+-- The parameter was not as expected (e.g. missing or out of range).
+requestedInfoError ERROR ::= {
+ PARAMETER
+ ENUMERATED {unknownRequestedInfo(1), requestedInfoNotAvailable(2)
+ -- other values FFS
+ }
+ CODE errcode-requestedInfoError
+}
+
+-- The requested information cannot be found.
+-- WS:CODE missing comment it out
+--scfBindFailure ERROR ::= {PARAMETER FailureReason
+--}
+
+--FailureReason ::= CHOICE {
+-- systemFailure [0] UnavailableNetworkResource,
+-- scfTaskRefused [1] ScfTaskRefusedParameter,
+-- securityError
+-- [2] SET {problem [0] SecurityProblem,
+-- spkmInfo [1] SPKM-ERROR}
+--}
+
+scfTaskRefused ERROR ::= {
+ PARAMETER ScfTaskRefusedParameter
+ CODE errcode-scfTaskRefused
+}
+
+ScfTaskRefusedParameter ::=
+-- OPTIONALLY-PROTECTED
+ SEQUENCE {reason
+ ENUMERATED {generic(0), unobtainable(1), congestion(2)
+ --other values FFS
+ },
+ securityParameters [1] SecurityParameters OPTIONAL
+ }--, scfqop.&scfErrorsQOP}
+
+scfReferral ERROR ::= {
+ PARAMETER ReferralParameter
+ CODE errcode-scfReferral
+}
+
+ReferralParameter ::=
+-- OPTIONALLY-PROTECTED
+ SEQUENCE {tryhere [0] AccessPointInformation,
+ securityParameters [1] SecurityParameters OPTIONAL
+ }--, scfqop.&scfErrorsQOP}
+
+systemFailure ERROR ::= {
+ PARAMETER UnavailableNetworkResource
+ CODE errcode-systemFailure
+}
+
+-- The operation could not be completed due to e.g. a system failure at the serving physical entity, the
+-- unavailability of the required resource or due to screening.
+taskRefused ERROR ::= {
+ PARAMETER
+ ENUMERATED {generic(0), unobtainable(1), congestion(2)
+ --other values FFS
+ }
+ CODE errcode-taskRefused
+}
+
+-- An entity normally capable of the task requested cannot or chooses not to perform the task at this
+-- time. This includes error situations like congestion and unobtainable address as used in e.g. the
+-- connect operation.
+-- WS:CODE missing comment it out
+-- tfcBindError ERROR ::= {
+-- PARAMETER
+-- SET {versions [0] Versions DEFAULT {v1},
+-- error
+-- CHOICE {serviceError [1] ServiceProblem,
+-- securityError [2] SecurityProblem}}
+-- }
+
+unavailableResource ERROR ::= {CODE errcode-unavailableResource
+}
+
+-- A requested resource is not available at the serving entity.
+unexpectedComponentSequence ERROR ::= {
+ CODE errcode-unexpectedComponentSequence
+}
+
+-- An incorrect sequence of Components was received (e.g. "DisconnectForwardConnection"
+-- followed by "PlayAnnouncement").
+unexpectedDataValue ERROR ::= {CODE errcode-unexpectedDataValue
+}
+
+-- The data value was not as expected (e.g. routing number expected but billing number received)
+unexpectedParameter ERROR ::= {CODE errcode-unexpectedParameter
+}
+
+-- A parameter received was not expected.
+unknownLegID ERROR ::= {CODE errcode-unknownLegID
+}
+
+-- Leg not known to the SSF.
+unknownResource ERROR ::= {CODE errcode-unknownResource
+}
+
+-- Resource whose status is being requested is not known to the serving entity.
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-object-identifiers.asn b/epan/dissectors/asn1/inap/IN-object-identifiers.asn
new file mode 100644
index 00000000..1481ca77
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-object-identifiers.asn
@@ -0,0 +1,720 @@
+-- Module IN-object-identifiers (Q.1248.1:07/2001)
+IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)} DEFINITIONS ::=
+BEGIN
+
+-- For Modules from TCAP, ROS,
+tc-Messages OBJECT IDENTIFIER ::=
+ {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
+
+tc-NotationExtensions OBJECT IDENTIFIER ::=
+ {itu-t recommendation q 775 modules(2) notation-extension(4) version1(1)}
+
+ros-InformationObjects OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+ros-genericPDUs OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)}
+
+ros-UsefulDefinitions OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)}
+
+sese-APDUs OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t genericULS(20) modules(1) seseAPDUs(6)}
+
+guls-Notation OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t genericULS(20) modules(1) notation(1)}
+
+guls-SecurityTransformations OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t genericULS(20) modules(1) gulsSecurityTransformations(3)}
+
+guls-DirectoryProtectionMappings OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t genericULS(20) modules(1) dirProtectionMappings(4)}
+
+ds-UsefulDefinitions OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 3}
+
+spkmGssTokens OBJECT IDENTIFIER ::=
+ {iso(1) identified-organization(3) dod(6) internet(1) security(5)
+ mechanisms(5) spkm(1) spkmGssTokens(10)}
+
+-- For IN-CS1 Modules
+contexts OBJECT IDENTIFIER ::=
+ {itu-t recommendation q 1218 modules(0) contexts(8) selectedContexts(1)
+ version(1)}
+
+-- For IN CS4 Modules
+id OBJECT IDENTIFIER ::= {itu-t recommendation q 1248}
+
+modules OBJECT IDENTIFIER ::= {id modules(1)}
+
+id-ac OBJECT IDENTIFIER ::= {id ac(3)}
+
+id-at OBJECT IDENTIFIER ::= {id at(4)}
+
+id-as OBJECT IDENTIFIER ::= {id as(5)}
+
+id-oc OBJECT IDENTIFIER ::= {id oc(6)}
+
+id-mt OBJECT IDENTIFIER ::= {id mt(7)}
+
+id-sf OBJECT IDENTIFIER ::= {id sf(11)}
+
+id-soa OBJECT IDENTIFIER ::= {id soa(21)}
+
+id-aca OBJECT IDENTIFIER ::= {id aca(24)}
+
+id-rosObject OBJECT IDENTIFIER ::= {id rosObject(25)}
+
+id-contract OBJECT IDENTIFIER ::= {id contract(26)}
+
+id-package OBJECT IDENTIFIER ::= {id package(27)}
+
+id-avc OBJECT IDENTIFIER ::= {id avc(29)}
+
+object-identifiers OBJECT IDENTIFIER ::=
+ {modules in-object-identifiers(0) version1(0)}
+
+common-datatypes OBJECT IDENTIFIER ::=
+ {modules in-common-datatypes(1) version1(0)}
+
+errortypes OBJECT IDENTIFIER ::= {modules in-errortypes(2) version1(0)}
+
+operationcodes OBJECT IDENTIFIER ::= {modules in-operationcodes(3) version1(0)}
+
+errorcodes OBJECT IDENTIFIER ::= {modules in-errorcodes(4) version1(0)}
+
+common-classes OBJECT IDENTIFIER ::= {modules in-common-classes(5) version1(0)}
+
+ssf-scf-datatypes OBJECT IDENTIFIER ::=
+ {modules in-ssf-scf-datatypes(6) version1(0)}
+
+ssf-scf-classes OBJECT IDENTIFIER ::=
+ {modules in-ssf-scf-classes(7) version1(0)}
+
+ssf-scf-Operations OBJECT IDENTIFIER ::=
+ {modules in-ssf-scf-ops-args(8) version1(0)}
+
+ssf-scf-Protocol OBJECT IDENTIFIER ::=
+ {modules in-ssf-scf-pkgs-contracts-acs(9) version1(0)}
+
+scf-srf-datatypes OBJECT IDENTIFIER ::=
+ {modules in-scf-srf-datatypes(10) version1(0)}
+
+scf-srf-classes OBJECT IDENTIFIER ::=
+ {modules in-scf-srf-classes(11) version1(0)}
+
+scf-srf-Operations OBJECT IDENTIFIER ::=
+ {modules in-scf-srf-ops-args(12) version1(0)}
+
+scf-srf-Protocol OBJECT IDENTIFIER ::=
+ {modules in-scf-srf-pkgs-contracts-acs(13) version1(0)}
+
+scf-sdf-datatypes OBJECT IDENTIFIER ::=
+ {modules in-scf-sdf-datatypes(14) version1(0)}
+
+scf-sdf-classes OBJECT IDENTIFIER ::=
+ {modules in-scf-sdf-classes(15) version1(0)}
+
+scf-sdf-Operations OBJECT IDENTIFIER ::=
+ {modules in-scf-sdf-ops-args(16) version1(0)}
+
+scf-sdf-Protocol OBJECT IDENTIFIER ::=
+ {modules in-scf-sdf-pkgs-contracts-acs(17) version1(0)}
+
+sdf-sdf-Operations OBJECT IDENTIFIER ::=
+ {modules in-sdf-sdf-ops-args(18) version1(0)}
+
+sdf-sdf-Protocol OBJECT IDENTIFIER ::=
+ {modules in-sdf-sdf-pkgs-contracts-acs(19) version1(0)}
+
+scf-scf-datatypes OBJECT IDENTIFIER ::=
+ {modules in-scf-scf-datatypes(20) version1(0)}
+
+scf-scf-classes OBJECT IDENTIFIER ::=
+ {modules in-scf-scf-classes(21) version1(0)}
+
+scf-scf-Operations OBJECT IDENTIFIER ::=
+ {modules in-scf-scf-ops-args(22) version1(0)}
+
+scf-scf-Protocol OBJECT IDENTIFIER ::=
+ {modules in-scf-scf-pkgs-contracts-acs(23) version1(0)}
+
+scf-cusf-datatypes OBJECT IDENTIFIER ::=
+ {modules in-scf-cusf-datatypes(24) version1(0)}
+
+scf-cusf-classes OBJECT IDENTIFIER ::=
+ {modules in-scf-cusf-classes(25) version1(0)}
+
+scf-cusf-Operations OBJECT IDENTIFIER ::=
+ {modules in-scf-cusf-ops-args(26) version1(0)}
+
+scf-cusf-Protocol OBJECT IDENTIFIER ::=
+ {modules in-scf-cusf-pkgs-contracts-acs(27) version1(0)}
+
+scf-sdf-Additional-Definitions OBJECT IDENTIFIER ::=
+ {modules in-scf-sdf-additional-definitions(28) version1(0)}
+
+-- Application Context
+-- SSF/SCF Application Context
+id-ac-ssf-scfGenericAC OBJECT IDENTIFIER ::=
+ {id-ac ssf-scfGenericAC(4) version1(0)}
+
+id-ac-ssf-scfDPSpecificAC OBJECT IDENTIFIER ::=
+ {id-ac ssf-scfDPSpecificAC(5) version1(0)}
+
+id-ac-ssf-scfAssistHandoffAC OBJECT IDENTIFIER ::=
+ {id-ac ssf-scfAssistHandoffAC(6) version1(0)}
+
+id-ac-ssf-scfServiceManagementAC OBJECT IDENTIFIER ::=
+ {id-ac ssf-scfServiceManagementAC(7) version1(0)}
+
+id-ac-scf-ssfGenericAC OBJECT IDENTIFIER ::=
+ {id-ac scf-ssfGenericAC(8) version1(0)}
+
+id-ac-scf-ssfDPSpecificAC OBJECT IDENTIFIER ::=
+ {id-ac scf-ssfDPSpecificAC(9) version1(0)}
+
+id-ac-scf-ssfINTrafficManagementAC OBJECT IDENTIFIER ::=
+ {id-ac scf-ssfINTrafficManagementAC(10) version1(0)}
+
+id-ac-scf-ssfServiceManagementAC OBJECT IDENTIFIER ::=
+ {id-ac scf-ssfServiceManagementAC(11) version1(0)}
+
+id-ac-scf-ssfStatusReportingAC OBJECT IDENTIFIER ::=
+ {id-ac scf-ssfStatusReportingAC(12) version1(0)}
+
+id-ac-scf-ssfTriggerManagementAC OBJECT IDENTIFIER ::=
+ {id-ac scf-ssfTriggerManagementAC(13) version1(0)}
+
+id-ac-scf-ssfRouteMonitoringAC OBJECT IDENTIFIER ::=
+ {id-ac scf-ssfRouteMonitorinAC(33) version1(0)}
+
+id-ac-ssf-scfRouteMonitoringAC OBJECT IDENTIFIER ::=
+ {id-ac ssf-scfRouteMonitorinAC(34) version1(0)}
+
+id-ac-scf-ssfTrafficManagementAC OBJECT IDENTIFIER ::=
+ {id-ac scf-ssfTrafficManagementAC(35) version1(0)}
+
+-- SRF/SCF Application Context
+id-ac-srf-scfAC OBJECT IDENTIFIER ::=
+ {id-ac srf-scfAC(14) version1(0)}
+
+--SCF-SDF - application contexts
+id-ac-indirectoryAccessAC OBJECT IDENTIFIER ::=
+ {id-ac indirectoryAccessAC(1) version1(0)}
+
+id-ac-indirectoryAccessWith3seAC OBJECT IDENTIFIER ::=
+ {id-ac indirectoryAccessWith3seAC(2) version1(0)}
+
+id-ac-inExtendedDirectoryAccessAC OBJECT IDENTIFIER ::=
+ {id-ac inExtendedDirectoryAccessAC(3) version1(0)}
+
+id-ac-inExtendedDirectoryAccessWith3seAC OBJECT IDENTIFIER ::=
+ {id-ac inExtendedDirectoryAccessWith3seAC(27) version1(0)}
+
+id-ac-trafficFlowControlAC OBJECT IDENTIFIER ::=
+ {id-ac trafficFlowControlAC(28) version1(0)}
+
+--SDF-SDF Application Contexts
+id-ac-indirectorySystemAC OBJECT IDENTIFIER ::=
+ {id-ac indirectorySystemAC(15) version1(0)}
+
+id-ac-inShadowSupplierInitiatedAC OBJECT IDENTIFIER ::=
+ {id-ac inShadowSupplierInitiatedAC(16) version1(0)}
+
+id-ac-inShadowConsumerInitiatedAC OBJECT IDENTIFIER ::=
+ {id-ac inShadowConsumerInitiatedAC(17) version1(0)}
+
+id-ac-indirectorySystemWith3seAC OBJECT IDENTIFIER ::=
+ {id-ac indirectorySystemWith3seAC(18) version1(0)}
+
+id-ac-inShadowSupplierInitiatedWith3seAC OBJECT IDENTIFIER ::=
+ {id-ac inShadowSupplierInitiatedWith3seAC(19) version1(0)}
+
+id-ac-inShadowConsumerInitiatedWith3seAC OBJECT IDENTIFIER ::=
+ {id-ac inShadowConsumerInitiatedWith3seAC(20) version1(0)}
+
+-- SCF/SCF Application Context
+id-ac-scfc-scfsOperationsAC OBJECT IDENTIFIER ::=
+ {id-ac scfc-scfsOperationsAC(21) version1(0)}
+
+id-ac-distributedSCFSystemAC OBJECT IDENTIFIER ::=
+ {id-ac distributedSCFSystemAC(22) version1(0)}
+
+id-ac-scfc-scfsOperationsWith3seAC OBJECT IDENTIFIER ::=
+ {id-ac scfc-scfsOperationsWith3seAC(23) version1(0)}
+
+id-ac-distributedSCFSystemWith3seAC OBJECT IDENTIFIER ::=
+ {id-ac distributedSCFSystemWith3seAC(24) version1(0)}
+
+id-ac-scfs-scfcOperationsAC OBJECT IDENTIFIER ::=
+ {id-ac scfs-scfcOperationsAC(31) version1(0)}
+
+id-ac-scfs-scfcOperationsWith3seAC OBJECT IDENTIFIER ::=
+ {id-ac scfs-scfcOperationsWith3seAC(32) version1(0)}
+
+-- CUSF/SCF Application Context
+id-acscfcusfDPSpecific OBJECT IDENTIFIER ::=
+ {id-ac scf-cusf-DPSpecific(25) version1(0)}
+
+id-accusfscfDPSpecific OBJECT IDENTIFIER ::=
+ {id-ac cusf-scf-DPSpecific(26) version1(0)}
+
+id-acscfcusfGeneric OBJECT IDENTIFIER ::=
+ {id-ac scf-cusf-Generic(29) version1(0)}
+
+id-accusfscfGeneric OBJECT IDENTIFIER ::=
+ {id-ac cusf-scf-Generic(30) version1(0)}
+
+-- Attributes
+-- SCF/SDF attributes
+id-at-securityFacilityId OBJECT IDENTIFIER ::=
+ {id-at securityFacilityId(1)}
+
+id-at-secretKey OBJECT IDENTIFIER ::= {id-at secretKey(2)}
+
+id-at-identifierList OBJECT IDENTIFIER ::= {id-at identifierList(3)}
+
+id-at-bindLevelIfOK OBJECT IDENTIFIER ::= {id-at bindLevelIfOK(4)}
+
+id-at-lockSession OBJECT IDENTIFIER ::= {id-at lockSession(5)}
+
+id-at-failureCounter OBJECT IDENTIFIER ::= {id-at failureCounter(6)}
+
+id-at-maxAttempts OBJECT IDENTIFIER ::= {id-at maxAttempts(7)}
+
+id-at-currentList OBJECT IDENTIFIER ::= {id-at currentList(8)}
+
+id-at-stockId OBJECT IDENTIFIER ::= {id-at stockId(9)}
+
+id-at-source OBJECT IDENTIFIER ::= {id-at source(10)}
+
+id-at-sizeOfRestocking OBJECT IDENTIFIER ::= {id-at sizeOfRestocking(11)}
+
+id-at-challengeResponse OBJECT IDENTIFIER ::= {id-at challengeResponse(12)}
+
+-- Abstract Syntaxes
+-- SSF/SCF Abstract Syntaxes
+id-as-ssf-scfGenericAS OBJECT IDENTIFIER ::=
+ {id-as ssf-scfGenericAS(4)}
+
+id-as-ssf-scfDpSpecificAS OBJECT IDENTIFIER ::= {id-as ssf-scfDpSpecificAS(5)}
+
+id-as-assistHandoff-ssf-scfAS OBJECT IDENTIFIER ::=
+ {id-as assistHandoff-ssf-scfAS(6)}
+
+id-as-scf-ssfGenericAS OBJECT IDENTIFIER ::= {id-as scf-ssfGenericAS(7)}
+
+id-as-scf-ssfDpSpecificAS OBJECT IDENTIFIER ::= {id-as scf-ssfDpSpecificAS(8)}
+
+id-as-scf-ssfINTrafficManagementAS OBJECT IDENTIFIER ::=
+ {id-as scf-ssfINTrafficManagementAS(9)}
+
+id-as-scf-ssfServiceManagementAS OBJECT IDENTIFIER ::=
+ {id-as scf-ssfServiceManagementAS(10)}
+
+id-as-ssf-scfServiceManagementAS OBJECT IDENTIFIER ::=
+ {id-as ssf-scfServiceManagementAS(11)}
+
+id-as-scf-ssfStatusReportingAS OBJECT IDENTIFIER ::=
+ {id-as scf-ssfStatusReportingAS(12)}
+
+id-as-scf-ssfTriggerManagementAS OBJECT IDENTIFIER ::=
+ {id-as scf-ssfTriggerManagementAS(13)}
+
+id-as-scf-ssfRouteMonitoringAS OBJECT IDENTIFIER ::=
+ {id-as scf-ssfRouteMonitoringAS(31)}
+
+id-as-ssf-scfRouteMonitoringAS OBJECT IDENTIFIER ::=
+ {id-as ssf-scfRouteMonitoringAS(32)}
+
+id-as-scf-ssfTrafficManagementAS OBJECT IDENTIFIER ::=
+ {id-as scf-ssfTrafficManagementAS(33)}
+
+-- SRF/SCF Abstract Syntaxes
+id-as-basic-srf-scf OBJECT IDENTIFIER ::=
+ {id-as basic-srf-scf(14)}
+
+id-as-basic-scf-srf OBJECT IDENTIFIER ::= {id-as basic-scf-srf(15)}
+
+-- SCF-SDF - abstract syntaxes
+id-as-indirectoryOperationsAS OBJECT IDENTIFIER ::=
+ {id-as indirectoryOperationsAS(1)}
+
+id-as-indirectoryBindingAS OBJECT IDENTIFIER ::=
+ {id-as indirectoryBindingAS(2)}
+
+id-as-inExtendedDirectoryOperationsAS OBJECT IDENTIFIER ::=
+ {id-as inExtendedDirectoryOperationsAS(3)}
+
+id-as-inSESEAS OBJECT IDENTIFIER ::= {id-as inSESEAS(25)}
+
+id-as-tfcOperationsAS OBJECT IDENTIFIER ::= {id-as tfcOperationsAS(26)}
+
+id-as-tfcBindingAS OBJECT IDENTIFIER ::= {id-as tfcBindingAS(27)}
+
+-- SDF-SDF - abstract syntaxes
+id-as-indirectorySystemAS OBJECT IDENTIFIER ::=
+ {id-as indirectorySystemAS(16)}
+
+id-as-indirectoryDSABindingAS OBJECT IDENTIFIER ::=
+ {id-as indirectoryDSABindingAS(17)}
+
+id-as-indirectoryShadowAS OBJECT IDENTIFIER ::= {id-as indirectoryShadowAS(18)}
+
+id-as-indsaShadowBindingAS OBJECT IDENTIFIER ::=
+ {id-as indsaShadowBindingAS(19)}
+
+-- SCF/SCF Abstract Syntaxes
+id-as-scfc-scfsOperationsAS OBJECT IDENTIFIER ::=
+ {id-as scfc-scfsOperationsAS(20)}
+
+id-as-distributedSCFSystemAS OBJECT IDENTIFIER ::=
+ {id-as distributedSCFSystemAS(21)}
+
+id-as-scf-scfBindingAS OBJECT IDENTIFIER ::= {id-as scf-scfBindingAS(22)}
+
+id-as-scfs-scfcOperationsAS OBJECT IDENTIFIER ::=
+ {id-as scfs-scfcOperationsAS(30)}
+
+-- CUSF/SCF Abstract Syntaxes
+id-asscfcusfDPSpecific OBJECT IDENTIFIER ::=
+ {id-as scf-cusf-DPSpecific(23)}
+
+id-ascusfscfDPSpecific OBJECT IDENTIFIER ::= {id-as cusf-scf-DPSpecific(24)}
+
+id-asscfcusfGeneric OBJECT IDENTIFIER ::= {id-as scf-cusf-Generic(28)}
+
+id-ascusfscfGeneric OBJECT IDENTIFIER ::= {id-as cusf-scf-Generic(29)}
+
+-- Object Class
+-- for SCF-SDF interface, Object Class
+id-oc-securityUserInfo OBJECT IDENTIFIER ::=
+ {id-oc securityUserInfo(1)}
+
+id-oc-tokensStock OBJECT IDENTIFIER ::= {id-oc tokenStock(2)}
+
+-- Methods
+-- for SCF-SDF interface, Methods
+id-mt-verifyCredentials OBJECT IDENTIFIER ::=
+ {id-mt verifyCredentials(1)}
+
+id-mt-conformCredentials OBJECT IDENTIFIER ::= {id-mt conformCredentials(2)}
+
+id-mt-provideTokens OBJECT IDENTIFIER ::= {id-mt provideTokens(3)}
+
+id-mt-fillSecurityTokens OBJECT IDENTIFIER ::= {id-mt fillSecurityTokens(4)}
+
+-- Security Facility
+-- for SCF-SDF interface, Security Facility
+id-sf-pwd OBJECT IDENTIFIER ::=
+ {id-sf pwd(1)}
+
+id-sf-challengeResponse OBJECT IDENTIFIER ::= {id-sf challengeResponse(2)}
+
+id-sf-onAirSubscription OBJECT IDENTIFIER ::= {id-sf onAirSubscription(3)}
+
+-- for SDF-SDF interface, SDF Attributes
+id-soa-methodRuleUse OBJECT IDENTIFIER ::=
+ {id-soa methodRuleUse(1)}
+
+id-aca-prescriptiveACI OBJECT IDENTIFIER ::= {id-aca prescriptiveACI(4)}
+
+id-aca-entryACI OBJECT IDENTIFIER ::= {id-aca entryACI(5)}
+
+id-aca-subentryACI OBJECT IDENTIFIER ::= {id-aca subentryACI(6)}
+
+-- for ac, as, rosObject, contract and package, the values are identical to Q1228
+-- ROS Objects
+id-rosObject-scf OBJECT IDENTIFIER ::=
+ {id-rosObject scf(1)}
+
+id-rosObject-ssf OBJECT IDENTIFIER ::= {id-rosObject ssf(2)}
+
+id-rosObject-srf OBJECT IDENTIFIER ::= {id-rosObject srf(3)}
+
+id-rosObject-sdf OBJECT IDENTIFIER ::= {id-rosObject sdf(4)}
+
+id-rosObject-cusf OBJECT IDENTIFIER ::= {id-rosObject cusf(5)}
+
+-- Contracts
+-- SSF/SCF Contracts
+id-inSsfToScfGeneric OBJECT IDENTIFIER ::=
+ {id-contract inSsfToScfGeneric(3)}
+
+id-inSsfToScfDpSpecific OBJECT IDENTIFIER ::=
+ {id-contract inSsfToScfDpSpecific(4)}
+
+id-inAssistHandoffSsfToScf OBJECT IDENTIFIER ::=
+ {id-contract inAssistHandoffSsfToScf(5)}
+
+id-inScfToSsfGeneric OBJECT IDENTIFIER ::= {id-contract inScfToSsfGeneric(6)}
+
+id-inScfToSsfDpSpecific OBJECT IDENTIFIER ::=
+ {id-contract inScfToSsfDpSpecific(7)}
+
+id-inScfToSsfINTrafficManagement OBJECT IDENTIFIER ::=
+ {id-contract inScfToSsfINTrafficManagement(8)}
+
+id-inScfToSsfServiceManagement OBJECT IDENTIFIER ::=
+ {id-contract inScfToSsfServiceManagement(9)}
+
+id-inSsfToScfServiceManagement OBJECT IDENTIFIER ::=
+ {id-contract inSsfToScfServiceManagement(10)}
+
+id-inScfToSsfStatusReporting OBJECT IDENTIFIER ::=
+ {id-contract inScfToSsfStatusReporting(11)}
+
+id-inScfToSsfTriggerManagement OBJECT IDENTIFIER ::=
+ {id-contract inScfToSsfTriggerManagement(12)}
+
+id-inScfToSsfRouteMonitoring OBJECT IDENTIFIER ::=
+ {id-contract inScfToSsfRouteMonitoring(26)}
+
+id-inSsfToScfRouteMonitoring OBJECT IDENTIFIER ::=
+ {id-contract inSsfToScfRouteMonitoring(27)}
+
+id-inScfToSsfTrafficManagement OBJECT IDENTIFIER ::=
+ {id-contract inScfToSsfTrafficManagement(28)}
+
+-- SRF/SCF Contracts
+id-contract-srf-scf OBJECT IDENTIFIER ::=
+ {id-contract srf-scf(13)}
+
+-- SCF-SDF contracts
+id-contract-dap OBJECT IDENTIFIER ::= {id-contract dap(1)}
+
+id-contract-dapExecute OBJECT IDENTIFIER ::= {id-contract dapExecute(2)}
+
+id-contract-tfc OBJECT IDENTIFIER ::= {id-contract tfc(22)}
+
+-- SDF - SDF Contracts.
+id-contract-indsp OBJECT IDENTIFIER ::=
+ {id-contract indsp(14)}
+
+id-contract-shadowConsumer OBJECT IDENTIFIER ::=
+ {id-contract shadowConsumer(15)}
+
+id-contract-shadowSupplier OBJECT IDENTIFIER ::=
+ {id-contract shadowSupplier(17)}
+
+-- SCF/SCF Contracts
+id-contract-scfc-scfs OBJECT IDENTIFIER ::=
+ {id-contract scfc-scfs(18)}
+
+id-contract-dssp OBJECT IDENTIFIER ::= {id-contract dssp(19)}
+
+id-contract-scfs-scfc OBJECT IDENTIFIER ::= {id-contract scfs-scfc(25)}
+
+-- CUSF/SCF Contracts
+id-contract-scfcusfDPSpecific OBJECT IDENTIFIER ::=
+ {id-contract scf-cusf-DPSpecific(20)}
+
+id-contract-cusfscfDPSpecific OBJECT IDENTIFIER ::=
+ {id-contract cusf-scf-DPSpecific(21)}
+
+id-contract-scfcusfGeneric OBJECT IDENTIFIER ::=
+ {id-contract scf-cusf-Generic(23)}
+
+id-contract-cusfscfGeneric OBJECT IDENTIFIER ::=
+ {id-contract cusf-scf-Generic(24)}
+
+-- Operation Packages
+id-package-emptyConnection OBJECT IDENTIFIER ::=
+ {id-package emptyConnection(60)}
+
+-- SSF/SCF Operation Packages
+id-package-scfActivation OBJECT IDENTIFIER ::=
+ {id-package scfActivation(11)}
+
+id-package-basicBCPDP OBJECT IDENTIFIER ::= {id-package basicBCPDP(12)}
+
+id-package-advancedBCPDP OBJECT IDENTIFIER ::= {id-package advancedBCPDP(14)}
+
+id-package-srf-scfActivationOfAssist OBJECT IDENTIFIER ::=
+ {id-package srf-scfActivationOfAssist(15)}
+
+id-package-assistConnectionEstablishment OBJECT IDENTIFIER ::=
+ {id-package assistConnectionEstablishment(16)}
+
+id-package-genericDisconnectResource OBJECT IDENTIFIER ::=
+ {id-package genericDisconnectResource(17)}
+
+id-package-nonAssistedConnectionEstablishment OBJECT IDENTIFIER ::=
+ {id-package nonAssistedConnectionEstablishment(18)}
+
+id-package-connect OBJECT IDENTIFIER ::= {id-package connect(19)}
+
+id-package-callHandling OBJECT IDENTIFIER ::= {id-package callHandling(20)}
+
+id-package-bcsmEventHandling OBJECT IDENTIFIER ::=
+ {id-package bcsmEventHandling(21)}
+
+id-package-dpSpecificEventHandling OBJECT IDENTIFIER ::=
+ {id-package dpSpecificEventHandling(22)}
+
+id-package-chargingEventHandling OBJECT IDENTIFIER ::=
+ {id-package chargingEventHandling(23)}
+
+id-package-ssfCallProcessing OBJECT IDENTIFIER ::=
+ {id-package ssfCallProcessing(24)}
+
+id-package-scfCallInitiation OBJECT IDENTIFIER ::=
+ {id-package scfCallInitiation(25)}
+
+id-package-timer OBJECT IDENTIFIER ::= {id-package timer(26)}
+
+id-package-billing OBJECT IDENTIFIER ::= {id-package billing(27)}
+
+id-package-charging OBJECT IDENTIFIER ::= {id-package charging(28)}
+
+id-package-iNTrafficManagement OBJECT IDENTIFIER ::=
+ {id-package iNtrafficManagement(29)}
+
+id-package-serviceManagementActivate OBJECT IDENTIFIER ::=
+ {id-package serviceManagementActivate(30)}
+
+id-package-serviceManagementResponse OBJECT IDENTIFIER ::=
+ {id-package serviceManagementResponse(31)}
+
+id-package-callReport OBJECT IDENTIFIER ::= {id-package callReport(32)}
+
+id-package-signallingControl OBJECT IDENTIFIER ::=
+ {id-package signallingControl(33)}
+
+id-package-activityTest OBJECT IDENTIFIER ::= {id-package activityTest(34)}
+
+id-package-statusReporting OBJECT IDENTIFIER ::=
+ {id-package statusReporting(35)}
+
+id-package-cancel OBJECT IDENTIFIER ::= {id-package cancel(36)}
+
+id-package-cphResponse OBJECT IDENTIFIER ::= {id-package cphResponse(37)}
+
+id-package-entityReleased OBJECT IDENTIFIER ::= {id-package entityReleased(38)}
+
+id-package-triggerManagement OBJECT IDENTIFIER ::=
+ {id-package triggerManagement(39)}
+
+id-package-uSIHandling OBJECT IDENTIFIER ::= {id-package uSIHandling(40)}
+
+id-package-facilityIEHandling OBJECT IDENTIFIER ::=
+ {id-package facilityIEHandling(41)}
+
+id-package-triggerCallManagement OBJECT IDENTIFIER ::=
+ {id-package triggerCallManagement(63)}
+
+id-package-monitorRoute OBJECT IDENTIFIER ::= {id-package monitorRoute(77)}
+
+id-package-trafficManagement OBJECT IDENTIFIER ::=
+ {id-package trafficManagement(78)}
+
+-- SRF/SCF Operation Packages
+id-package-specializedResourceControl OBJECT IDENTIFIER ::=
+ {id-package specializedResourceControl(42)}
+
+id-package-srf-scfCancel OBJECT IDENTIFIER ::= {id-package srf-scfCancel(43)}
+
+id-package-messageControl OBJECT IDENTIFIER ::= {id-package messageControl(44)}
+
+id-package-scriptControl OBJECT IDENTIFIER ::= {id-package scriptControl(45)}
+
+id-package-srfManagement OBJECT IDENTIFIER ::= {id-package srfManagement(66)}
+
+-- SCF-SDF packages
+id-package-search OBJECT IDENTIFIER ::=
+ {id-package search(2)}
+
+id-package-modify OBJECT IDENTIFIER ::= {id-package modify(3)}
+
+id-package-dapConnection OBJECT IDENTIFIER ::= {id-package dapConnection(10)}
+
+id-package-execute OBJECT IDENTIFIER ::= {id-package execute(4)}
+
+id-package-tfcOperations OBJECT IDENTIFIER ::= {id-package tfcOperations(64)}
+
+id-package-tfcConnection OBJECT IDENTIFIER ::= {id-package tfcConnection(65)}
+
+-- SDF-SDF Packages.
+id-package-dspConnection OBJECT IDENTIFIER ::=
+ {id-package dspConnection(47)}
+
+id-package-inchainedModify OBJECT IDENTIFIER ::=
+ {id-package inchainedModify(48)}
+
+id-package-inchainedSearch OBJECT IDENTIFIER ::=
+ {id-package inchainedSearch(49)}
+
+id-package-chainedExecute OBJECT IDENTIFIER ::= {id-package chainedExecute(50)}
+
+id-package-dispConnection OBJECT IDENTIFIER ::= {id-package dispConnection(51)}
+
+id-package-shadowConsumer OBJECT IDENTIFIER ::= {id-package shadowConsumer(52)}
+
+id-package-shadowSupplier OBJECT IDENTIFIER ::= {id-package shadowSupplier(53)}
+
+-- SCF/SCF Operation Packages
+id-package-scf-scfConnection OBJECT IDENTIFIER ::=
+ {id-package scf-scfConnection(46)}
+
+id-package-dsspConnection OBJECT IDENTIFIER ::= {id-package dsspConnection(74)}
+
+id-package-handlingInformation OBJECT IDENTIFIER ::=
+ {id-package handlingInformation(54)}
+
+id-package-notification OBJECT IDENTIFIER ::= {id-package notification(55)}
+
+id-package-chargingInformation OBJECT IDENTIFIER ::=
+ {id-package chargingInformation(56)}
+
+id-package-userInformation OBJECT IDENTIFIER ::=
+ {id-package userInformation(57)}
+
+id-package-networkCapability OBJECT IDENTIFIER ::=
+ {id-package networkCapability(58)}
+
+id-package-chainedSCFOperations OBJECT IDENTIFIER ::=
+ {id-package chainedSCFOperations(59)}
+
+id-package-transferStsi OBJECT IDENTIFIER ::= {id-package transferStsi(75)}
+
+id-package-initiateCall OBJECT IDENTIFIER ::= {id-package initiateCall(76)}
+
+-- CUSF/SCF Operation Packages
+id-package-cusfTDPSpecificInvocation OBJECT IDENTIFIER ::=
+ {id-package cusfTDPSpecificInvocation(61)}
+
+id-package-cusfTDPGenericInvocation OBJECT IDENTIFIER ::=
+ {id-package cusfTDPGenericInvocation(62)}
+
+id-package-cusfDPSpecificEventHandling OBJECT IDENTIFIER ::=
+ {id-package cusfDPSpecificEventHandling(67)}
+
+id-package-cusfGenericEventHandling OBJECT IDENTIFIER ::=
+ {id-package cusfGenericEventHandling(68)}
+
+id-package-cusfComponentHandling OBJECT IDENTIFIER ::=
+ {id-package cusfComponentHandling(69)}
+
+id-package-cusfSCFInitiation OBJECT IDENTIFIER ::=
+ {id-package cusfSCFInitiation(70)}
+
+id-package-cusfContinue OBJECT IDENTIFIER ::= {id-package cusfContinue(71)}
+
+id-package-cusfConnect OBJECT IDENTIFIER ::= {id-package cusfConnect(72)}
+
+id-package-cusfRelease OBJECT IDENTIFIER ::= {id-package cusfRelease(73)}
+
+-- SDF Attribute Value Contexts
+id-avc-assignment OBJECT IDENTIFIER ::=
+ {id-avc assignment(1)}
+
+id-avc-basicService OBJECT IDENTIFIER ::= {id-avc assignment(2)}
+
+id-avc-lineIdentity OBJECT IDENTIFIER ::= {id-avc assignment(3)}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/IN-operationcodes.asn b/epan/dissectors/asn1/inap/IN-operationcodes.asn
new file mode 100644
index 00000000..451f2a3e
--- /dev/null
+++ b/epan/dissectors/asn1/inap/IN-operationcodes.asn
@@ -0,0 +1,295 @@
+-- Module IN-operationcodes (Q.1248.1:07/2001)
+IN-operationcodes {itu-t recommendation q 1248 modules(1) in-operationcodes(3)
+ version1(0)} DEFINITIONS ::=
+BEGIN
+
+IMPORTS
+ ros-InformationObjects
+ FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
+ in-object-identifiers(0) version1(0)}
+ Code
+ FROM Remote-Operations-Information-Objects ros-InformationObjects;
+
+-- the operations are grouped by the identified operation packages.
+-- SCF activation Package
+opcode-initialDP Code ::=
+ local:0
+
+-- Basic BCP DP Package
+opcode-originationAttemptAuthorized Code ::= local:1
+
+opcode-collectedInformation Code ::= local:2
+
+opcode-analysedInformation Code ::= local:3
+
+opcode-routeSelectFailure Code ::= local:4
+
+opcode-oCalledPartyBusy Code ::= local:5
+
+opcode-oNoAnswer Code ::= local:6
+
+opcode-oAnswer Code ::= local:7
+
+opcode-oDisconnect Code ::= local:8
+
+opcode-termAttemptAuthorized Code ::= local:9
+
+opcode-tBusy Code ::= local:10
+
+opcode-tNoAnswer Code ::= local:11
+
+opcode-tAnswer Code ::= local:12
+
+opcode-tDisconnect Code ::= local:13
+
+opcode-facilitySelectedAndAvailable Code ::= local:80
+
+opcode-originationAttempt Code ::= local:81
+
+opcode-terminationAttempt Code ::= local:82
+
+opcode-oAbandon Code ::= local:83
+
+-- Advanced BCP DP Package
+opcode-oMidCall Code ::= local:14
+
+opcode-tMidCall Code ::= local:15
+
+opcode-oSuspended Code ::= local:84
+
+opcode-tSuspended Code ::= local:85
+
+-- SCF/SRF activation of assist Package
+opcode-assistRequestInstructions Code ::=
+ local:16
+
+-- Assist connection establishment Package
+opcode-establishTemporaryConnection Code ::=
+ local:17
+
+-- Generic disconnect resource Package
+opcode-disconnectForwardConnection Code ::=
+ local:18
+
+opcode-dFCWithArgument Code ::= local:86
+
+-- Non-assisted connection establishment Package
+-- establishment ASE;
+opcode-connectToResource Code ::=
+ local:19
+
+-- Connect Package (elementary SSF function)
+opcode-connect Code ::= local:20
+
+-- Call handling Package (elementary SSF function)
+opcode-holdCallInNetwork Code ::=
+ local:21
+
+opcode-releaseCall Code ::= local:22
+
+-- BCSM Event handling Package
+opcode-requestReportBCSMEvent Code ::= local:23
+
+opcode-eventReportBCSM Code ::= local:24
+
+-- Charging Event handling Package
+opcode-requestNotificationChargingEvent Code ::=
+ local:25
+
+opcode-eventNotificationCharging Code ::= local:26
+
+-- SSF call processing Package
+opcode-collectInformation Code ::= local:27
+
+opcode-analyseInformation Code ::= local:28
+
+opcode-selectRoute Code ::= local:29
+
+opcode-selectFacility Code ::= local:30
+
+opcode-continue Code ::= local:31
+
+opcode-authorizeTermination Code ::= local:87
+
+-- SCF call initiation Package
+opcode-initiateCallAttempt Code ::= local:32
+
+-- Timer Package
+opcode-resetTimer Code ::= local:33
+
+-- Billing Package
+opcode-furnishChargingInformation Code ::= local:34
+
+-- Charging Package
+opcode-applyCharging Code ::= local:35
+
+opcode-applyChargingReport Code ::= local:36
+
+-- Status reporting Package
+opcode-requestCurrentStatusReport Code ::= local:37
+
+opcode-requestEveryStatusChangeReport Code ::= local:38
+
+opcode-requestFirstStatusMatchReport Code ::= local:39
+
+opcode-statusReport Code ::= local:40
+
+-- IN Traffic management Package
+opcode-callGap Code ::= local:41
+
+-- Traffic management Package
+opcode-callFiltering Code ::= local:145
+
+-- Service management Package
+opcode-activateServiceFiltering Code ::= local:42
+
+opcode-serviceFilteringResponse Code ::= local:43
+
+-- Call report Package
+opcode-callInformationReport Code ::= local:44
+
+opcode-callInformationRequest Code ::= local:45
+
+-- Signalling control Package
+opcode-sendChargingInformation Code ::= local:46
+
+-- Specialized resource control Package
+opcode-playAnnouncement Code ::=
+ local:47
+
+opcode-promptAndCollectUserInformation Code ::= local:48
+
+opcode-specializedResourceReport Code ::= local:49
+
+-- Cancel Package
+opcode-cancel Code ::= local:53
+
+opcode-cancelStatusReportRequest Code ::= local:54
+
+-- Activity Test Package
+opcode-activityTest Code ::= local:55
+
+-- CPH Response Package
+opcode-continueWithArgument Code ::= local:88
+
+opcode-createCallSegmentAssociation Code ::= local:89
+
+opcode-disconnectLeg Code ::= local:90
+
+opcode-mergeCallSegments Code ::= local:91
+
+opcode-moveCallSegments Code ::= local:92
+
+opcode-moveLeg Code ::= local:93
+
+opcode-reconnect Code ::= local:94
+
+opcode-splitLeg Code ::= local:95
+
+-- Exception Inform Package
+opcode-entityReleased Code ::= local:96
+
+-- Trigger Management Package
+opcode-manageTriggerData Code ::= local:97
+
+opcode-createOrRemoveTriggerData Code ::= local:135
+
+-- Trigger Call Management Package
+opcode-setServiceProfile Code ::= local:136
+
+-- USI Handling Package
+opcode-requestReportUTSI Code ::= local:98
+
+opcode-sendSTUI Code ::= local:100
+
+opcode-reportUTSI Code ::= local:101
+
+-- Facility IE Handling Package
+opcode-sendFacilityInformation Code ::=
+ local:102
+
+opcode-requestReportFacilityEvent Code ::= local:103
+
+opcode-eventReportFacility Code ::= local:104
+
+-- Monitor Route Package
+opcode-monitorRouteRequest Code ::= local:146
+
+opcode-monitorRouteReport Code ::= local:147
+
+-- SRF/SCF interface
+opcode-promptAndReceiveMessage Code ::= local:107
+
+opcode-scriptInformation Code ::= local:108
+
+opcode-scriptEvent Code ::= local:109
+
+opcode-scriptRun Code ::= local:110
+
+opcode-scriptClose Code ::= local:111
+
+opcode-srfCallGap Code ::= local:139
+
+-- SCF/SCF interface
+opcode-establishChargingRecord Code ::= local:112
+
+opcode-handlingInformationRequest Code ::= local:113
+
+opcode-handlingInformationResult Code ::= local:114
+
+opcode-networkCapability Code ::= local:115
+
+opcode-notificationProvided Code ::= local:116
+
+opcode-confirmedNotificationProvided Code ::= local:117
+
+opcode-provideUserInformation Code ::= local:118
+
+opcode-confirmedReportChargingInformation Code ::= local:119
+
+opcode-reportChargingInformation Code ::= local:120
+
+opcode-requestNotification Code ::= local:121
+
+opcode-runUserScript Code ::= local:140
+
+opcode-transferSTSI Code ::= local:141
+
+opcode-announcementCompletionReport Code ::= local:142
+
+opcode-initiateCallRequest Code ::= local:143
+
+opcode-provideAnnouncementRequest Code ::= local:144
+
+-- SCF/SDF interface
+opcode-execute Code ::= local:10
+
+opcode-trafficFlowControl Code ::= local:138
+
+-- CUSF/SCF interface
+opcode-activationReceivedAndAuthorized Code ::= local:122
+
+opcode-initiateAssociation Code ::= local:123
+
+opcode-associationReleaseRequested Code ::= local:124
+
+opcode-componentReceived Code ::= local:125
+
+opcode-releaseAssociation Code ::= local:126
+
+opcode-requestReportBCUSMEvent Code ::= local:127
+
+opcode-sendComponent Code ::= local:130
+
+opcode-connectAssociation Code ::= local:132
+
+opcode-continueAssociation Code ::= local:133
+
+opcode-eventReportBCUSM Code ::= local:134
+
+opcode-initialAssociationDP Code ::= local:131
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/inap/inap.asn b/epan/dissectors/asn1/inap/inap.asn
new file mode 100644
index 00000000..86ea4b09
--- /dev/null
+++ b/epan/dissectors/asn1/inap/inap.asn
@@ -0,0 +1,179 @@
+IN-CS-1-Operations-appendix { ccitt recommendation q 1218 modules(0) cs-1-operations-app(4) version1(0) }
+-- This module contains additional type definitions for IN CS-1 operations.
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- IMPORTED ROS stuff for Wireshark use
+-- ROS def's
+-- Module Remote-Operations-Apdus (H.450.1:02/1998)
+--Remote-Operations-Apdus {itu-t recommendation h 450 1 version1(0)
+-- remote-operations-apdus(11)} DEFINITIONS AUTOMATIC TAGS ::=
+--BEGIN
+
+INAP-Component ::= CHOICE {
+ invoke [1] IMPLICIT Invoke,
+ returnResultLast [2] IMPLICIT ReturnResult,
+ returnError [3] IMPLICIT ReturnError,
+ reject [4] IMPLICIT Reject,
+-- TCAP adds returnResultNotLast to allow for the segmentation of a result.
+ returnResultNotLast [7] IMPLICIT ReturnResult
+}
+Invoke ::= SEQUENCE {
+ invokeID InvokeIdType,
+ linkedID [0] IMPLICIT InvokeIdType OPTIONAL,
+ opCode INAP-OPERATION,
+ invokeparameter InvokeParameter OPTIONAL
+}
+
+InvokeParameter ::= ANY
+
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT
+-- in the type definition of a particular operation.
+
+ReturnResult ::= SEQUENCE {
+ invokeID InvokeIdType,
+ resultretres SEQUENCE {
+ opCode INAP-OPERATION,
+ returnparameter ReturnResultParameter OPTIONAL
+ } OPTIONAL
+ }
+
+ReturnResultParameter ::= ANY
+
+-- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition
+-- of a particular operation.
+
+ReturnError ::= SEQUENCE {
+ invokeID InvokeIdType,
+ errorCode INAP-ERROR,
+ parameter ReturnErrorParameter OPTIONAL }
+
+ReturnErrorParameter ::= ANY
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
+-- of a particular error.
+
+Reject ::= SEQUENCE {
+ invokeIDRej CHOICE {
+ derivable InvokeIdType,
+ not-derivable NULL },
+ problem CHOICE {
+ generalProblem [0] IMPLICIT GeneralProblem,
+ invokeProblem [1] IMPLICIT InvokeProblem,
+ returnResultProblem [2] IMPLICIT ReturnResultProblem,
+ returnErrorProblem [3] IMPLICIT ReturnErrorProblem } }
+
+InvokeIdType ::= INTEGER (-128..127)
+
+
+INAP-OPERATION ::= CHOICE {
+ localValue OperationLocalvalue,
+ globalValue OBJECT IDENTIFIER }
+
+LocalErrorcode ::= INAPLocalErrorcode
+OperationLocalvalue ::= INAPOperationLocalvalue
+INAPLocalErrorcode ::= INTEGER
+INAPOperationLocalvalue ::= INTEGER
+INAP-ERROR ::= CHOICE {
+ localValue LocalErrorcode,
+ globalValue OBJECT IDENTIFIER }
+
+-- PROBLEMS
+
+GeneralProblem ::= INTEGER { unrecognizedComponent (0),
+ mistypedComponent (1),
+ badlyStructuredComponent (2) }
+
+InvokeProblem ::= INTEGER { duplicateInvokeID (0),
+ unrecognizedOperation (1),
+ mistypedParameter (2),
+ resourceLimitation (3),
+ initiatingRelease (4),
+ unrecognizedLinkedID (5),
+ linkedResponseUnexpected (6),
+ unexpectedLinkedOperation (7) }
+
+ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnResultUnexpected (1),
+ mistypedParameter (2) }
+
+ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnErrorUnexpected (1),
+ unrecognizedError (2),
+ unexpectedError (3),
+ mistypedParameter (4) }
+
+-- TYPE DEFINITION FOR ADDITIONAL IN CS-1 INAP-OPERATIONS
+-- SCF-SSF operations
+-- SCF ? SSF
+-- This operation is used to release a call party connection during a call between two or more parties.
+--LegIDAlreadyAssigned ::= INAP-ERROR
+-- Indicates that a legID has already been assigned with the requested value.
+--TooLate ::= INAP-ERROR
+-- Indicates that the operation could not be performed in a timely manner.
+--UnknownLegID ::= INAP-ERROR
+-- Indicates that the legID does not exist.
+-- TYPE DEFINITION FOR ADDITIONAL IN CS-1 DATA TYPES
+-- Argument Data Types
+
+
+-- INAP-OPERATION AND INAP-ERROR CODE DEFINITION
+-- Code point values are for further study. The operations are grouped by the identified ASEs.
+-- Call party handling ASE
+addParty AddParty ::= ffs
+changeParties ChangeParties ::= ffs
+holdCallPartyConnection HoldCallPartyConnection ::= ffs
+reconnect Reconnect ::= ffs
+releaseCallPartyConnection ReleaseCallPartyConnection ::= ffs
+-- Attach ASE
+attach Attach ::= ffs
+detach Detach ::= ffs
+
+
+--Canceled ::= localValue 0
+
+CancelFailed ::= SEQUENCE {
+ problem [0] IMPLICIT ENUMERATED {
+ unknownOperation (0),
+ tooLate (1),
+ operationNotCancellable (2)},
+ operation [1] IMPLICIT INTEGER (-128..127)}
+ --::= localValue 1
+--ETCFailed ::= localValue 3
+--ImproperCallerResponse ::= localValue 4
+--MissingCustomerRecord ::= localValue 6
+--MissingParameter ::= localValue 7
+--parameterOutOfRange INAP-ERROR
+ --::= localValue 8
+RequestedInfoError ::= ENUMERATED {
+ unknownRequestedInfo (1),
+ requestedInfoNotAvailable (2)}
+ --::= localValue 10
+SystemFailure ::= ENUMERATED {
+ unavailableResources (0),
+ componentFailure (1),
+ basicCallProcessingException (2),
+ resourceStatusFailure (3),
+ endUserFailure (4)}
+
+TaskRefused ::= ENUMERATED {
+ generic (0),
+ unobtainable (1),
+ congestion (2)}
+ --::= localValue 12
+--unavailableResource INAP-ERROR
+-- ::= localValue 13
+--unexpectedComponentSequence INAP-ERROR
+-- ::= localValue 14
+--unexpectedDataValue INAP-ERROR
+-- ::= localValue 15
+--unexpectedParameter INAP-ERROR
+-- ::= localValue 16
+--unknownLegID INAP-ERROR
+-- ::= localValue 17-
+--unknownResource INAP-ERROR
+-- ::= localValue 18
+-- Dummy asign problems with CLASS
+ExtensionType ::= OCTET STRING
+END \ No newline at end of file
diff --git a/epan/dissectors/asn1/inap/inap.cnf b/epan/dissectors/asn1/inap/inap.cnf
new file mode 100644
index 00000000..fe9ad0ac
--- /dev/null
+++ b/epan/dissectors/asn1/inap/inap.cnf
@@ -0,0 +1,438 @@
+# inap.cnf
+# inap conformation file
+
+#.IMPORT ../dap/dap-exp.cnf
+#.IMPORT ../dsp/dsp-exp.cnf
+
+#.EXPORTS
+BothwayThroughConnectionInd
+CallingPartysCategory
+CriticalityType
+Duration
+HighLayerCompatibility
+Integer4
+Interval
+LegID
+MiscCallInfo
+RedirectionInformation
+ServiceKey
+
+#.NO_EMIT ONLY_VALS
+ROS
+
+#.OMIT_ASSIGNMENT
+# Removed as they are giving 'defined but not used' warnings currently.
+Priority
+RejectProblem
+#.END
+
+#.TYPE_RENAME
+ReturnResult/result/result ResultArgument
+
+#.FIELD_RENAME
+Invoke/linkedId/present inkedIdPresent
+Reject/problem/invoke invokeProblem
+Reject/problem/returnError returnErrorProblem
+ReturnResult/result/result resultArgument
+Reject/problem/returnResult problemReturnResult
+Trigger/tDPIdentifier trigger_tDPIdentifier
+InbandInfo/duration inbandInfo_duration
+Tone/duration tone_duration
+FilteringCharacteristics/interval filteringCharacteristics_interval
+InbandInfo/interval inbandInfo_interval
+ScfTaskRefusedParameter/reason scfTaskRefusedParameter_reason
+Code/local code_local
+
+#.FIELD_ATTR
+Trigger/tDPIdentifier ABBREV=trigger.tdpidentifier
+InbandInfo/duration ABBREV=inbandInfo.duration
+Tone/duration ABBREV=tone.duration
+FilteringCharacteristics/interval ABBREV=filteringCharacteristics.interval
+InbandInfo/interval ABBREV=inbandInfo.interval
+ScfTaskRefusedParameter/reason ABBREV=scfTaskRefusedParameter.reason
+Code/local ABBREV=code.local
+
+
+#.OMIT_ASSIGNMENT Remote-Operations-Information-Objects
+Bind
+Unbind
+#.END
+
+#.PDU
+ERROR.&ParameterType
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+
+# This table creates the value_sting to name Inap operation codes and errors
+# in file packet-inap-table.c which is included in the template file
+#
+#.TABLE_HDR
+/* INAP OPERATIONS */
+const value_string inap_opr_code_strings[] = {
+#.TABLE_BODY OPERATION.&operationCode
+ { %(&operationCode)-40s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+#.TABLE_HDR
+/* INAP ERRORS */
+static const value_string inap_err_code_string_vals[] = {
+#.TABLE_BODY ERROR.&errorCode
+ { %(&errorCode)-40s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+# This table creates the switch() to branch on Camel operation codes and errors
+# in file packet-inap-table2.c which is included in the template file
+#
+#.TABLE2_HDR
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
+
+ switch(opcode){
+#.TABLE2_BODY OPERATION.&ArgumentType
+ case %(&operationCode)s: /* %(_ident)s */
+ offset= %(_argument_pdu)s(tvb, actx->pinfo , tree , NULL);
+ break;
+#.TABLE2_FTR
+ default:
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_inap_unknown_invokeData,
+ tvb, offset, -1, "Unknown invokeData %d", opcode);
+ /* todo call the asn.1 dissector */
+ break;
+ }
+ return offset;
+}
+#.END
+#.TABLE2_HDR
+static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx) {
+ switch(opcode){
+#.TABLE2_BODY OPERATION.&ResultType
+ case %(&operationCode)s: /* %(_ident)s */
+ offset= %(_result_pdu)s(tvb, actx->pinfo , tree , NULL);
+ break;
+#.TABLE2_FTR
+ default:
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_inap_unknown_returnResultData,
+ tvb, offset, -1, "Unknown returnResultData %d", opcode);
+ }
+ return offset;
+}
+#.END
+#.TABLE2_HDR
+static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx) {
+ switch(errorCode) {
+#.TABLE2_BODY ERROR.&ParameterType
+ case %(&errorCode)s: /* %(_ident)s */
+ offset= %(_parameter_pdu)s(tvb, actx->pinfo , tree , NULL);
+ break;
+#.TABLE2_FTR
+ default:
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_inap_unknown_returnErrorData,
+ tvb, offset, -1, "Unknown returnErrorData %d", opcode);
+ }
+ return offset;
+}
+#.END
+
+# Create a table of opcode and corresponding args and res
+#.TABLE11_HDR
+typedef struct _inap_op_t {
+ gint32 opcode;
+ dissector_t arg_pdu;
+ dissector_t res_pdu;
+} inap_op_t;
+
+static const inap_op_t inap_op_tab[] = {
+#.TABLE11_BODY OPERATION.&operationCode
+ /* %(_name)-31s */ { %(&operationCode)-40s, %(_argument_pdu)-45s, %(_result_pdu)s },
+#.TABLE11_FTR
+};
+#.END
+
+#.TABLE11_HDR
+typedef struct _inap_err_t {
+ gint32 errcode;
+ dissector_t err_pdu;
+} inap_err_t;
+
+static const inap_err_t inap_err_tab[] = {
+#.TABLE11_BODY ERROR.&errorCode
+ /* %(_name)-30s */ { %(&errorCode)4s, %(_parameter_pdu)s },
+#.TABLE11_FTR
+};
+#.END
+
+# ROS stuff here XXX change when TCAP is redone.
+
+#.FN_BODY Code/local VAL_PTR = &opcode
+ %(DEFAULT_BODY)s
+ if (is_ExtensionField == FALSE){
+ if (inap_opcode_type == INAP_OPCODE_RETURN_ERROR){
+ errorCode = opcode;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(errorCode, inap_err_code_string_vals, "Unknown INAP error (%%u)"));
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ }else{
+ col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown INAP (%%u)"));
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ }
+ }
+
+#.FN_HDR Invoke
+
+ inap_opcode_type=INAP_OPCODE_INVOKE;
+
+#.FN_HDR ReturnResult
+
+ inap_opcode_type=INAP_OPCODE_RETURN_RESULT;
+
+#.FN_HDR ReturnError
+
+ inap_opcode_type=INAP_OPCODE_RETURN_ERROR;
+
+#.FN_HDR Reject
+
+ inap_opcode_type=INAP_OPCODE_REJECT;
+
+#.FN_BODY Invoke/argument
+
+ offset = dissect_invokeData(tree, tvb, offset, actx);
+
+#.FN_BODY ReturnResult/result/result
+
+ offset = dissect_returnResultData(tree, tvb, offset, actx);
+
+#.FN_BODY ReturnError/parameter
+
+ offset = dissect_returnErrorData(tree, tvb, offset, actx);
+
+# END ROS
+
+
+#.FN_BODY TriggerData/triggerPar
+/* FIX ME */
+
+#.FN_BODY ScriptEventArg/uIScriptResult
+/* FIX ME */
+
+#.FN_BODY ScriptCloseArg/uIScriptSpecificInfo
+/* FIX ME */
+
+#.FN_BODY ScriptInformationArg/uIScriptSpecificInfo
+/* FIX ME */
+#.FN_BODY ScriptRunArg/uIScriptSpecificInfo
+/* FIX ME */
+
+#.FN_HDR ExtensionField
+ obj_id = NULL;
+ is_ExtensionField =TRUE;
+
+#.FN_PARS Code/global FN_VARIANT = _str VAL_PTR = &obj_id
+
+#.FN_BODY ExtensionField/value
+ proto_tree *ext_tree;
+ ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_inap_extension_data, NULL, "Extension Data");
+ if (obj_id){
+ offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, ext_tree, NULL);
+ }else{
+ call_data_dissector(tvb, actx->pinfo, ext_tree);
+ offset = tvb_reported_length_remaining(tvb,offset);
+ }
+ is_ExtensionField = FALSE;
+
+
+
+#.FN_BODY CalledPartyNumber VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+dissect_isup_called_party_number_parameter(parameter_tvb, actx->pinfo, tree, NULL);
+
+#.FN_BODY CallingPartyNumber VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ dissect_isup_calling_party_number_parameter(parameter_tvb, actx->pinfo, tree, NULL);
+
+
+#.FN_BODY BearerCapability/bearerCap VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ dissect_q931_bearer_capability_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), tree);
+
+#.FN_BODY RedirectionInformation VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_inap_RedirectionInformation);
+ dissect_isup_redirection_information_parameter(parameter_tvb, subtree, NULL);
+
+#.FN_BODY OriginalCalledPartyID VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ dissect_isup_original_called_number_parameter(parameter_tvb, actx->pinfo, tree, NULL);
+
+#.FN_BODY RedirectingPartyID VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ dissect_isup_redirecting_number_parameter(parameter_tvb, actx->pinfo, tree, NULL);
+
+#.FN_BODY HighLayerCompatibility VAL_PTR = &parameter_tvb
+/*
+ * -- Indicates the teleservice. For encoding, DSS1 (Q.931) is used.
+ */
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_inap_HighLayerCompatibility);
+ dissect_q931_high_layer_compat_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), subtree);
+
+ #.FN_BODY Cause VAL_PTR = &parameter_tvb
+ /*
+ * -- Indicates the cause for interface related information. Refer to the Q.763 Cause parameter for encoding
+ * -- For the use of cause and location values refer to Q.850.
+ */
+ tvbuff_t *parameter_tvb;
+ guint8 Cause_value;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_inap_cause);
+
+ dissect_q931_cause_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), subtree, hf_inap_cause_indicator, &Cause_value, isup_parameter_type_value);
+
+#.FN_BODY Digits VAL_PTR = &parameter_tvb
+ /*
+ *-- Indicates the address signalling digits. Refer to the Q.763 Generic Number and Generic Digits parameter
+ *-- for encoding. The coding of the subfield's 'NumberQualifier' in Generic Number and 'TypeOfDigits' in
+ *-- Generic Digits are irrelevant to the INAP, the ASN.1 tags are sufficient to identify the parameter.
+ *-- The ISUP format does not allow to exclude these subfields, therefore the value is network operator specific.
+ *-- The following parameters should use Generic Number
+ *-- Additional Calling Number, CorrelationID for AssistRequestInstructions, AssistingSSPIPRoutingAddress
+ *-- for EstablishTemporaryConnection
+ *-- calledAddressValue for all occurrences,callingAddressValue for all occurrences
+ *-- The following parameters should use Generic Digits: prefix, all
+ *-- other CorrelationID occurrences, dialledNumber filtering criteria, callingLineID filtering criteria, lineID for
+ *-- ResourceID type, digitResponse for ReceivedInformationArg, iNServiceControlLow / iNServiceControlHigh for
+ *--MidCallInfoType,, iNServiceControlCode for MidCallInfo.
+ */
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+ gint ett = -1;
+ gboolean digits = FALSE;
+
+ %(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ if (hf_index == hf_inap_additionalCallingPartyNumber) {
+ ett = ett_inap_additionalCallingPartyNumber;
+ } else if (hf_index == hf_inap_assistingSSPIPRoutingAddress) {
+ ett = ett_inap_assistingSSPIPRoutingAddress;
+ } else if (hf_index == hf_inap_correlationID) {
+ ett = ett_inap_correlationID;
+ digits = (opcode != opcode_assistRequestInstructions) ? TRUE : FALSE;
+ } else if (hf_index == hf_inap_calledAddressValue) {
+ ett = ett_inap_calledAddressValue;
+ } else if (hf_index == hf_inap_callingAddressValue) {
+ ett = ett_inap_callingAddressValue;
+ } else if (hf_index == hf_inap_number) {
+ ett = ett_inap_number;
+ } else if (hf_index == hf_inap_dialledNumber) {
+ ett = ett_inap_dialledNumber;
+ digits = TRUE;
+ } else if (hf_index == hf_inap_callingLineID) {
+ ett = ett_inap_callingLineID;
+ digits = TRUE;
+ } else if (hf_index == hf_inap_iNServiceControlCode) {
+ ett = ett_inap_iNServiceControlCode;
+ digits = TRUE;
+ } else if (hf_index == hf_inap_iNServiceControlCodeLow) {
+ ett = ett_inap_iNServiceControlCodeLow;
+ digits = TRUE;
+ } else if (hf_index == hf_inap_iNServiceControlCodeHigh) {
+ ett = ett_inap_iNServiceControlCodeHigh;
+ digits = TRUE;
+ } else if (hf_index == hf_inap_lineID) {
+ ett = ett_inap_lineID;
+ digits = TRUE;
+ } else if (hf_index == hf_inap_prefix) {
+ ett = ett_inap_prefix;
+ digits = TRUE;
+ } else if (hf_index == hf_inap_iPAddressValue) {
+ ett = ett_inap_iPAddressValue;
+ } else if (hf_index == hf_inap_digitsResponse) {
+ ett = ett_inap_digitsResponse;
+ digits = TRUE;
+ }
+
+ subtree = proto_item_add_subtree(actx->created_item, ett);
+ if (digits) {
+ dissect_isup_generic_digits_parameter(parameter_tvb, subtree, NULL);
+ } else {
+ dissect_isup_generic_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+#.END
+
+#.TYPE_ATTR
+CallingPartysCategory TYPE = FT_UINT16 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &isup_calling_partys_category_value_ext
+
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/inap/packet-inap-template.c b/epan/dissectors/asn1/inap/packet-inap-template.c
new file mode 100644
index 00000000..6baba991
--- /dev/null
+++ b/epan/dissectors/asn1/inap/packet-inap-template.c
@@ -0,0 +1,293 @@
+/* packet-inap-template.c
+ * Routines for INAP
+ * Copyright 2004, Tim Endean <endeant@hotmail.com>
+ * Built from the gsm-map dissector Copyright 2004, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References: ETSI 300 374
+ * ITU Q.1218
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/expert.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-inap.h"
+#include "packet-q931.h"
+#include "packet-e164.h"
+#include "packet-isup.h"
+#include "packet-tcap.h"
+#include "packet-dap.h"
+#include "packet-dsp.h"
+
+#define PNAME "Intelligent Network Application Protocol"
+#define PSNAME "INAP"
+#define PFNAME "inap"
+
+void proto_register_inap(void);
+void proto_reg_handoff_inap(void);
+
+
+/* Initialize the protocol and registered fields */
+static int proto_inap = -1;
+
+/* include constants */
+#include "packet-inap-val.h"
+
+#include "packet-inap-hf.c"
+
+#define MAX_SSN 254
+static range_t *global_ssn_range;
+
+static dissector_handle_t inap_handle;
+
+/* Global variables */
+static guint32 opcode=0;
+static guint32 errorCode=0;
+static const char *obj_id = NULL;
+static gboolean is_ExtensionField =FALSE;
+
+static int inap_opcode_type;
+#define INAP_OPCODE_INVOKE 1
+#define INAP_OPCODE_RETURN_RESULT 2
+#define INAP_OPCODE_RETURN_ERROR 3
+#define INAP_OPCODE_REJECT 4
+
+static int hf_inap_cause_indicator = -1;
+
+/* Initialize the subtree pointers */
+static gint ett_inap = -1;
+static gint ett_inapisup_parameter = -1;
+static gint ett_inap_RedirectionInformation = -1;
+static gint ett_inap_HighLayerCompatibility = -1;
+static gint ett_inap_extension_data = -1;
+static gint ett_inap_cause = -1;
+static gint ett_inap_calledAddressValue = -1;
+static gint ett_inap_callingAddressValue = -1;
+static gint ett_inap_additionalCallingPartyNumber = -1;
+static gint ett_inap_assistingSSPIPRoutingAddress = -1;
+static gint ett_inap_correlationID = -1;
+static gint ett_inap_number = -1;
+static gint ett_inap_dialledNumber = -1;
+static gint ett_inap_callingLineID = -1;
+static gint ett_inap_iNServiceControlCode = -1;
+static gint ett_inap_iNServiceControlCodeLow = -1;
+static gint ett_inap_iNServiceControlCodeHigh = -1;
+static gint ett_inap_lineID = -1;
+static gint ett_inap_prefix = -1;
+static gint ett_inap_iPAddressValue = -1;
+static gint ett_inap_digitsResponse = -1;
+
+#include "packet-inap-ett.c"
+
+static expert_field ei_inap_unknown_invokeData = EI_INIT;
+static expert_field ei_inap_unknown_returnResultData = EI_INIT;
+static expert_field ei_inap_unknown_returnErrorData = EI_INIT;
+
+#include "packet-inap-table.c"
+
+const value_string inap_general_problem_strings[] = {
+{0,"General Problem Unrecognized Component"},
+{1,"General Problem Mistyped Component"},
+{3,"General Problem Badly Structured Component"},
+{0, NULL}
+};
+
+/* Forvard declarations */
+static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
+
+#include "packet-inap-fn.c"
+/*
+TC-Invokable OPERATION ::=
+ {activateServiceFiltering | activityTest | analysedInformation |
+ analyseInformation | applyCharging | applyChargingReport |
+ assistRequestInstructions | callGap | callInformationReport |
+ callInformationRequest | cancel | cancelStatusReportRequest |
+ collectedInformation | collectInformation | connect | connectToResource |
+ continue | disconnectForwardConnection | establishTemporaryConnection |
+ eventNotificationCharging | eventReportBCSM | furnishChargingInformation |
+ holdCallInNetwork | initialDP | initiateCallAttempt | oAnswer |
+ oCalledPartyBusy | oDisconnect | oMidCall | oNoAnswer |
+ originationAttemptAuthorized | releaseCall | requestCurrentStatusReport |
+ requestEveryStatusChangeReport | requestFirstStatusMatchReport |
+ requestNotificationChargingEvent | requestReportBCSMEvent | resetTimer |
+ routeSelectFailure | selectFacility | selectRoute | sendChargingInformation
+ | serviceFilteringResponse | statusReport | tAnswer | tBusy | tDisconnect |
+ termAttemptAuthorized | tMidCall | tNoAnswer | playAnnouncement |
+ promptAndCollectUserInformation}
+*/
+
+#include "packet-inap-table2.c"
+
+
+static guint8 inap_pdu_type = 0;
+static guint8 inap_pdu_size = 0;
+
+
+static int
+dissect_inap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "INAP");
+
+ /* create display subtree for the protocol */
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_inap, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_inap);
+ }
+ inap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
+ /* Get the length and add 2 */
+ inap_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
+ opcode = 0;
+ is_ExtensionField =FALSE;
+ dissect_inap_ROS(TRUE, tvb, offset, &asn1_ctx, tree, -1);
+
+ return inap_pdu_size;
+}
+
+/*--- proto_reg_handoff_inap ---------------------------------------*/
+static void range_delete_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if (ssn) {
+ delete_itu_tcap_subdissector(ssn, inap_handle);
+ }
+}
+
+static void range_add_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if (ssn) {
+ add_itu_tcap_subdissector(ssn, inap_handle);
+ }
+}
+
+void proto_reg_handoff_inap(void) {
+
+ static gboolean inap_prefs_initialized = FALSE;
+ static range_t *ssn_range;
+
+ if (!inap_prefs_initialized) {
+ inap_prefs_initialized = TRUE;
+ oid_add_from_string("Core-INAP-CS1-Codes","0.4.0.1.1.0.3.0");
+ oid_add_from_string("iso(1) identified-organization(3) icd-ecma(12) member-company(2) 1107 oen(3) inap(3) extensions(2)","1.3.12.2.1107.3.3.2");
+ oid_add_from_string("alcatel(1006)","1.3.12.2.1006.64");
+ oid_add_from_string("Siemens (1107)","1.3.12.2.1107");
+ oid_add_from_string("iso(1) member-body(2) gb(826) national(0) ericsson(1249) inDomain(51) inNetwork(1) inNetworkcapabilitySet1plus(1) ","1.2.826.0.1249.51.1.1");
+ }
+ else {
+ range_foreach(ssn_range, range_delete_callback, NULL);
+ wmem_free(wmem_epan_scope(), ssn_range);
+ }
+
+ ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
+
+ range_foreach(ssn_range, range_add_callback, NULL);
+
+}
+
+
+void proto_register_inap(void) {
+ module_t *inap_module;
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+
+ { &hf_inap_cause_indicator, /* Currently not enabled */
+ { "Cause indicator", "inap.cause_indicator",
+ FT_UINT8, BASE_DEC | BASE_EXT_STRING, &q850_cause_code_vals_ext, 0x7f,
+ NULL, HFILL } },
+
+#include "packet-inap-hfarr.c"
+ };
+
+
+
+
+
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_inap,
+ &ett_inapisup_parameter,
+ &ett_inap_RedirectionInformation,
+ &ett_inap_HighLayerCompatibility,
+ &ett_inap_extension_data,
+ &ett_inap_cause,
+ &ett_inap_calledAddressValue,
+ &ett_inap_callingAddressValue,
+ &ett_inap_additionalCallingPartyNumber,
+ &ett_inap_assistingSSPIPRoutingAddress,
+ &ett_inap_correlationID,
+ &ett_inap_number,
+ &ett_inap_dialledNumber,
+ &ett_inap_callingLineID,
+ &ett_inap_iNServiceControlCode,
+ &ett_inap_iNServiceControlCodeLow,
+ &ett_inap_iNServiceControlCodeHigh,
+ &ett_inap_lineID,
+ &ett_inap_prefix,
+ &ett_inap_iPAddressValue,
+ &ett_inap_digitsResponse,
+#include "packet-inap-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_inap_unknown_invokeData, { "inap.unknown.invokeData", PI_MALFORMED, PI_WARN, "Unknown invokeData", EXPFILL }},
+ { &ei_inap_unknown_returnResultData, { "inap.unknown.returnResultData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL }},
+ { &ei_inap_unknown_returnErrorData, { "inap.unknown.returnErrorData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL }},
+ };
+
+ expert_module_t* expert_inap;
+
+ /* Register protocol */
+ proto_inap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ inap_handle = register_dissector("inap", dissect_inap, proto_inap);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_inap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_inap = expert_register_protocol(proto_inap);
+ expert_register_field_array(expert_inap, ei, array_length(ei));
+
+ register_ber_oid_dissector("0.4.0.1.1.1.0.0", dissect_inap, proto_inap, "cs1-ssp-to-scp");
+
+ /* Set default SSNs */
+ range_convert_str(wmem_epan_scope(), &global_ssn_range, "106,241", MAX_SSN);
+
+ inap_module = prefs_register_protocol(proto_inap, proto_reg_handoff_inap);
+
+ prefs_register_obsolete_preference(inap_module, "tcap.itu_ssn");
+
+ prefs_register_obsolete_preference(inap_module, "tcap.itu_ssn1");
+
+ prefs_register_range_preference(inap_module, "ssn", "TCAP SSNs",
+ "TCAP Subsystem numbers used for INAP",
+ &global_ssn_range, MAX_SSN);
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/inap/packet-inap-template.h b/epan/dissectors/asn1/inap/packet-inap-template.h
new file mode 100644
index 00000000..de94ea8e
--- /dev/null
+++ b/epan/dissectors/asn1/inap/packet-inap-template.h
@@ -0,0 +1,18 @@
+/* packet-inap.h
+ *
+ * Copyright 2004, Tim Endean <endeant@hotmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+
+#ifndef PACKET_INAP_H
+#define PACKET_INAP_H
+
+#include "packet-inap-exp.h"
+
+#endif /* PACKET_INAP_H */
diff --git a/epan/dissectors/asn1/isdn-sup/Addressing-Data-Elements.asn b/epan/dissectors/asn1/isdn-sup/Addressing-Data-Elements.asn
new file mode 100644
index 00000000..f2f6ad43
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Addressing-Data-Elements.asn
@@ -0,0 +1,140 @@
+--
+-- EN 300 196-1 Ver. 1.3.2
+--
+
+Addressing-Data-Elements {itu-t identified-organization etsi(0) 196 addressing-data-elements(6)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS PresentedAddressScreened, PresentedAddressUnscreened,
+ PresentedNumberScreened, PresentedNumberUnscreened,
+ Address, PartyNumber, PartySubaddress,
+ ScreeningIndicator, PresentationAllowedIndicator;
+
+PresentedAddressScreened ::= CHOICE {
+ presentationAllowedAddress [0] IMPLICIT AddressScreened,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddress [3] IMPLICIT AddressScreened }
+
+PresentedAddressUnscreened ::= CHOICE {
+ presentationAllowedAddress [0] IMPLICIT Address,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddress [3] IMPLICIT Address}
+
+PresentedNumberScreened ::= CHOICE {
+ presentationAllowedNumber [0] IMPLICIT NumberScreened,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedNumber [3] IMPLICIT NumberScreened}
+
+PresentedNumberUnscreened ::= CHOICE {
+ presentationAllowedNumber [0] PartyNumber,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedNumber [3] PartyNumber}
+
+AddressScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator,
+ partySubaddress PartySubaddress OPTIONAL}
+
+NumberScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator}
+
+Address ::= SEQUENCE {
+ partyNumber PartyNumber,
+ partySubaddress PartySubaddress OPTIONAL}
+
+PartyNumber ::= CHOICE {
+ unknownPartyNumber [0] IMPLICIT NumberDigits,
+ -- the numbering plan is the default numbering plan of the
+ -- network. It is recommended that this value is used.
+ publicPartyNumber [1] IMPLICIT PublicPartyNumber,
+ -- the numbering plan is according to
+ -- ITU-T Recommendation E.164.
+ nsapEncodedNumber [2] IMPLICIT NsapEncodedNumber,
+ -- ATM endsystem address encoded as an NSAP address.
+ dataPartyNumber [3] IMPLICIT NumberDigits,
+ -- not used, value reserved.
+ telexPartyNumber [4] IMPLICIT NumberDigits,
+ -- not used, value reserved.
+ privatePartyNumber [5] IMPLICIT PrivatePartyNumber,
+ nationalStandardPartyNumber [8] IMPLICIT NumberDigits}
+ -- not used, value reserved.
+
+PublicPartyNumber ::= SEQUENCE {
+ publicTypeOfNumber PublicTypeOfNumber,
+ publicNumberDigits NumberDigits}
+NsapEncodedNumber ::= OCTET STRING (SIZE(20))
+
+
+
+PrivatePartyNumber ::= SEQUENCE {
+ privateTypeOfNumber PrivateTypeOfNumber,
+ privateNumberDigits NumberDigits}
+NumberDigits ::= NumericString (SIZE(1..20))
+
+PublicTypeOfNumber ::= ENUMERATED {
+ unknown (0),
+ -- if used number digits carry prefix indicating type of
+ -- number according to national recommendations
+ internationalNumber (1),
+ nationalNumber (2),
+ networkSpecificNumber (3),
+ -- not used, value reserved
+ subscriberNumber (4),
+ abbreviatedNumber (6)}
+ -- valid only for called party number at the outgoing
+ -- access, network substitutes appropriate number.
+
+PrivateTypeOfNumber ::= ENUMERATED {
+ unknown (0),
+ level2RegionalNumber (1),
+ level1RegionalNumber (2),
+ pTNSpecificNumber (3),
+ localNumber (4),
+ abbreviatedNumber (6)}
+
+PartySubaddress ::= CHOICE {
+ userSpecifiedSubaddress UserSpecifiedSubaddress,
+ -- not recommended
+ nSAPSubaddress NSAPSubaddress}
+ -- according to ITU-T Recommendation X.213
+
+UserSpecifiedSubaddress ::= SEQUENCE {
+ subaddressInformation SubaddressInformation,
+ oddCountIndicator BOOLEAN OPTIONAL}
+ -- used when the coding of subaddress is BCD
+
+NSAPSubaddress ::= OCTET STRING (SIZE(1..20))
+ -- specified according to ITU-T Recommendation X.213. Some
+ -- networks may limit the subaddress value to some other
+ -- length, e.g. 4 octets
+
+SubaddressInformation ::= OCTET STRING (SIZE(1..20))
+ -- coded according to user requirements. Some networks may
+ -- limit the subaddress value to some other length,
+ -- e.g. 4 octets
+
+ScreeningIndicator ::= ENUMERATED {
+ userProvidedNotScreened (0),
+ -- number was provided by a remote user terminal equipment,
+ -- and has been screened by a network that is not the
+ -- local public or local private network.
+ userProvidedVerifiedAndPassed (1),
+ -- number was provided by a remote user terminal equipment
+ -- (or by a remote private network), and has been screened
+ -- by the local public or local private network.
+ userProvidedVerifiedAndFailed (2),
+ -- not used, value reserved
+ networkProvided (3)}
+ -- number was provided by local public or local
+ -- private network
+
+PresentationAllowedIndicator ::= BOOLEAN
+END -- of Addressing-Data-Elements
diff --git a/epan/dissectors/asn1/isdn-sup/Advice-of-Charge-Operations.asn b/epan/dissectors/asn1/isdn-sup/Advice-of-Charge-Operations.asn
new file mode 100644
index 00000000..df1b7e74
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Advice-of-Charge-Operations.asn
@@ -0,0 +1,265 @@
+--
+-- EN 300 182-1 Ver. 1.3.6
+--
+
+Advice-of-Charge-Operations {ccitt identified-organization etsi (0) 182 operations-and-errors (1)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS ChargingRequest, AOCSCurrency, AOCSSpecialArr,
+ AOCDCurrency, AOCDChargingUnit, AOCECurrency, AOCEChargingUnit,
+ NoChargingInfoAvailable, ChargingAssociation;
+
+IMPORTS OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+ notSubscribed, notAvailable, notImplemented, invalidCallState
+ FROM General-Errors
+ {ccitt identified-organization etsi (0) 196 general-errors (2)}
+ PartyNumber
+ FROM Addressing-Data-Elements
+ {itu-t(0) identified-organization(4) 196 addressing-data-elements (6)};
+
+ chargingRequest OPERATION ::= {
+ ARGUMENT ChargingRequestArg
+ RESULT ChargingRequestRes
+ ERRORS {notSubscribed | notAvailable | notImplemented |
+ invalidCallState | NoChargingInfoAvailable}
+ CODE local: 30}
+
+ChargingRequestArg ::= ChargingCase
+
+ChargingRequestRes ::= CHOICE {
+ aOCSCurrencyInfoList AOCSCurrencyInfoList,
+ aOCSSpecialArrInfo AOCSSpecialArrInfo,
+ chargingInfoFollows NULL}
+
+aOCSCurrency OPERATION ::= { -- AOC-S given in currency units
+ ARGUMENT AOCSCurrencyArg
+ RETURN RESULT FALSE
+ CODE local: 31}
+
+AOCSCurrencyArg ::= CHOICE {
+ chargeNotAvailable NULL,
+ aOCSCurrencyInfoList AOCSCurrencyInfoList }
+
+aOCSSpecialArr OPERATION ::= { -- AOC-S for special charging arrangement
+ ARGUMENT AOCSSpecialArrArg
+ RETURN RESULT FALSE
+ CODE local: 32}
+
+AOCSSpecialArrArg ::=CHOICE {
+ chargeNotAvailable NULL,
+ aOCSSpecialArrInfo AOCSSpecialArrInfo }
+
+aOCDCurrency OPERATION ::= { -- AOC-D given in currency units
+ ARGUMENT AOCDCurrencyArg
+ RETURN RESULT FALSE
+ CODE local: 33}
+
+AOCDCurrencyArg ::= CHOICE {
+ chargeNotAvailable NULL,
+ aOCDCurrencyInfo AOCDCurrencyInfo }
+
+aOCDChargingUnit OPERATION ::= { -- AOC-D given in charging units
+ ARGUMENT AOCDChargingUnitArg
+ RETURN RESULT FALSE
+ CODE local: 34}
+
+AOCDChargingUnitArg ::= CHOICE {
+ chargeNotAvailable NULL,
+ aOCDChargingUnitInfo AOCDChargingUnitInfo }
+
+aOCECurrency OPERATION ::= { -- AOC-E given in currency units
+ ARGUMENT AOCECurrencyArg
+ RETURN RESULT FALSE
+ CODE local: 35}
+
+
+AOCECurrencyArg ::=CHOICE {
+ chargeNotAvailable NULL,
+ aOCECurrencyInfo AOCECurrencyInfo }
+
+aOCEChargingUnit OPERATION::= { -- AOC-E given in charging units
+ ARGUMENT AOCEChargingUnitArg
+ RETURN RESULT FALSE
+ CODE local: 36}
+
+AOCEChargingUnitArg ::= CHOICE {
+ chargeNotAvailable NULL,
+ aOCEChargingUnitInfo AOCEChargingUnitInfo }
+
+ChargingCase ::= ENUMERATED {
+ chargingInformationAtCallSetup (0),
+ chargingDuringACall (1),
+ chargingAtTheEndOfACall (2) }
+
+AOCSCurrencyInfoList ::= SEQUENCE SIZE (1..10) OF AOCSCurrencyInfo
+
+AOCSCurrencyInfo ::= SEQUENCE {
+ chargedItem ChargedItem,
+ chargingtype CHOICE {
+ specificCurrency CHOICE {
+ durationCurrency [1] IMPLICIT DurationCurrency,
+ flatRateCurrency [2] IMPLICIT FlatRateCurrency,
+ volumeRateCurrency [3] IMPLICIT VolumeRateCurrency},
+ specialChargingCode SpecialChargingCode,
+ freeOfCharge [4] IMPLICIT NULL,
+ currencyInfoNotAvailable [5] IMPLICIT NULL} }
+
+AOCSSpecialArrInfo ::= INTEGER (1..10)
+
+ChargedItem ::= ENUMERATED {
+ basicCommunication (0),
+ callAttempt (1),
+ callSetup (2),
+ userToUserInfo (3),
+ operationOfSupplementaryServ (4) }
+
+DurationCurrency ::= SEQUENCE {
+ dCurrency [1] IMPLICIT Currency,
+ dAmount [2] IMPLICIT Amount,
+ dChargingType [3] IMPLICIT ChargingType,
+ dTime [4] IMPLICIT Time,
+ dGranularity [5] IMPLICIT Time OPTIONAL }
+
+FlatRateCurrency ::= SEQUENCE {
+ fRCurrency [1] IMPLICIT Currency,
+ fRAmount [2] IMPLICIT Amount }
+
+VolumeRateCurrency ::= SEQUENCE {
+ vRCurrency [1] IMPLICIT Currency,
+ vRAmount [2] IMPLICIT Amount,
+ vRVolumeUnit [3] IMPLICIT VolumeUnit}
+
+SpecialChargingCode ::= INTEGER (1..10)
+
+AOCDCurrencyInfo ::= CHOICE {
+ specificCurrency SEQUENCE {
+ recordedCurrency [1] IMPLICIT RecordedCurrency,
+ typeOfChargingInfo [2] IMPLICIT TypeOfChargingInfo,
+ aOCDBillingId [3] IMPLICIT AOCDBillingId OPTIONAL },
+ freeOfCharge [1] IMPLICIT NULL}
+
+
+AOCDChargingUnitInfo ::= CHOICE {
+ specificChargingUnits SEQUENCE {
+ recordedUnitsList [1] IMPLICIT RecordedUnitsList,
+ typeOfChargingInfo [2] IMPLICIT TypeOfChargingInfo,
+ aOCDBillingId [3] IMPLICIT AOCDBillingId OPTIONAL },
+ freeOfCharge [1] IMPLICIT NULL}
+
+RecordedCurrency ::= SEQUENCE {
+ rCurrency [1] IMPLICIT Currency,
+ rAmount [2] IMPLICIT Amount }
+
+RecordedUnitsList ::= SEQUENCE SIZE (1..32) OF RecordedUnits
+
+TypeOfChargingInfo ::= ENUMERATED {
+ subTotal (0),
+ total (1)}
+
+RecordedUnits ::= SEQUENCE {
+ cc CHOICE{
+ recordedNumberOfUnits NumberOfUnits,
+ notAvailable NULL},
+ recordedTypeOfUnits TypeOfUnit OPTIONAL }
+
+AOCDBillingId ::= ENUMERATED {
+ normalCharging (0),
+ reverseCharging (1),
+ creditCardCharging (2)}
+
+AOCECurrencyInfo ::= SEQUENCE {
+ cc CHOICE {
+ specificCurrency SEQUENCE {
+ recordedCurrency [1] IMPLICIT RecordedCurrency,
+ aOCEBillingId [2] IMPLICIT AOCEBillingId OPTIONAL},
+ freeOfCharge [1] IMPLICIT NULL},
+ chargingAssociation ChargingAssociation OPTIONAL}
+
+AOCEChargingUnitInfo ::= SEQUENCE {
+ cc CHOICE {
+ specificChargingUnits SEQUENCE {
+ recordedUnitsList [1] IMPLICIT RecordedUnitsList,
+ aOCEBillingId [2] IMPLICIT AOCEBillingId OPTIONAL},
+ freeOfCharge [1] IMPLICIT NULL},
+ chargingAssociation ChargingAssociation OPTIONAL}
+
+AOCEBillingId ::= ENUMERATED {
+ normalCharging (0),
+ reverseCharging (1),
+ creditCardCharging (2),
+ callForwardingUnconditional (3),
+ callForwardingBusy (4),
+ callForwardingNoReply (5),
+ callDeflection (6),
+ callTransfer (7)}
+
+Currency ::= IA5String (SIZE (1..10))
+
+Amount ::= SEQUENCE {
+ currencyAmount [1] IMPLICIT CurrencyAmount,
+ multiplier [2] IMPLICIT Multiplier }
+
+CurrencyAmount ::= INTEGER (0..16777215)
+
+Multiplier ::= ENUMERATED {
+ oneThousandth (0),
+ oneHundredth (1),
+ oneTenth (2),
+ one (3),
+ ten (4),
+ hundred (5),
+ thousand (6)}
+
+Time ::= SEQUENCE {
+ lengthOfTimeUnit [1] IMPLICIT LengthOfTimeUnit,
+ scale [2] IMPLICIT Scale }
+
+LengthOfTimeUnit ::= INTEGER (0..16777215)
+
+Scale ::= ENUMERATED {
+ oneHundredthSecond (0),
+ oneTenthSecond (1),
+ oneSecond (2),
+ tenSeconds (3),
+ oneMinute (4),
+ oneHour (5),
+ twentyFourHours (6)}
+
+VolumeUnit ::= ENUMERATED {
+ octet (0),
+ segment (1),
+ message (2) }
+
+TypeOfUnit ::= INTEGER (1..16) -- Value 1-16
+
+NumberOfUnits ::= INTEGER (0..16777215)
+
+ChargingType ::= ENUMERATED {
+ continuousCharging (0),
+ stepFunction (1) }
+
+ChargingAssociation ::= CHOICE {
+ chargeNumber [0] EXPLICIT PartyNumber,
+ chargeIdentifier ChargeIdentifier}
+
+ChargeIdentifier ::= INTEGER (-32768..32767)
+
+-- NoChargingInfoAvailable ::= ERROR
+
+-- chargingRequest ChargingRequest ::= 30
+-- aOCSCurrency AOCSCurrency ::= 31
+-- aOCSSpecialArr AOCSSpecialArr ::= 32
+-- aOCDCurrency AOCDCurrency ::= 33
+-- aOCDChargingUnit AOCDChargingUnit ::= 34
+-- aOCECurrency AOCECurrency ::= 35
+-- aOCEChargingUnit AOCEChargingUnit ::= 36
+-- noChargingInfoAvailable NoChargingInfoAvailable ::= 26
+
+noChargingInfoAvailable ERROR ::= { CODE local: 26}
+
+END
+
diff --git a/epan/dissectors/asn1/isdn-sup/Basic-Service-Elements.asn b/epan/dissectors/asn1/isdn-sup/Basic-Service-Elements.asn
new file mode 100644
index 00000000..7f11a6cb
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Basic-Service-Elements.asn
@@ -0,0 +1,32 @@
+--
+-- EN 300 196-1 Ver. 1.3.2
+--
+Basic-Service-Elements {itu-t identified-organization etsi(0) 196 basic-service-elements(8)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS BasicService;
+
+BasicService ::= ENUMERATED {
+ allServices (0),
+ speech (1),
+ unrestrictedDigitalInformation (2),
+ audio3k1Hz (3),
+ unrestrictedDigitalInformationWithTonesAndAnnouncements (4),
+ multirate(5),
+ telephony3k1Hz (32),
+ teletex (33),
+ telefaxGroup4Class1 (34),
+ videotexSyntaxBased (35),
+ videotelephony (36),
+ telefaxGroup2-3 (37),
+ telephony7kHz (38),
+ euroFileTransfer (39),
+ fileTransferAndAccessManagement (40),
+ videoconference (41),
+ audioGraphicConference (42)
+ }
+
+END -- of Basic-Service-Elements
diff --git a/epan/dissectors/asn1/isdn-sup/CCBS-Operations-and-Errors.asn b/epan/dissectors/asn1/isdn-sup/CCBS-Operations-and-Errors.asn
new file mode 100644
index 00000000..66c19c72
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/CCBS-Operations-and-Errors.asn
@@ -0,0 +1,170 @@
+--
+-- EN 300 359-1 Ver. 1.3.2
+--
+CCBS-Operations-and-Errors {ccitt identified-organization etsi(0) 359 operations-and-errors(1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS CallInfoRetain, EraseCallLinkageID,
+ CCBSRequest, CCBSDeactivate, CCBSInterrogate, CCBSErase,
+ CCBSRemoteUserFree, CCBSCall, CCBSStatusRequest, CCBSBFree,
+ CCBSStopAlerting,
+ InvalidCallLinkageID, InvalidCCBSReference, LongTermDenial, ShortTermDenial,
+ CCBSIsAlreadyActivated, AlreadyAccepted, OutgoingCCBSQueueFull,
+ CallFailureReasonNotBusy, NotReadyForCall;
+
+IMPORTS OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+
+ notSubscribed, supplementaryServiceInteractionNotAllowed
+ FROM General-Errors
+ {ccitt identified-organization etsi(0) 196 general-errors(2)}
+
+ Address, PartyNumber, PartySubaddress
+ FROM Addressing-Data-Elements
+ {ccitt identified-organization etsi(0) 196 addressing-data-elements(6)}
+
+ Q931InformationElement
+ FROM Embedded-Q931-Types
+ {ccitt identified-organization etsi(0) 196 embedded-q931-types(7)};
+
+CallInfoRetain ::= OPERATION
+ ARGUMENT callLinkageID CallLinkageID
+
+EraseCallLinkageID ::= OPERATION
+ ARGUMENT callLinkageID CallLinkageID
+
+CCBSRequest ::= OPERATION
+ ARGUMENT callLinkageID CallLinkageID
+ RESULT SEQUENCE {
+ recallMode RecallMode,
+ cCBSReference CCBSReference}
+ ERRORS {notSubscribed, InvalidCallLinkageID, ShortTermDenial,
+ LongTermDenial, CCBSIsAlreadyActivated,
+ supplementaryServiceInteractionNotAllowed,
+ OutgoingCCBSQueueFull, CallFailureReasonNotBusy}
+
+CCBSInterrogate ::= OPERATION
+ ARGUMENT SEQUENCE {
+ cCBSReference CCBSReference OPTIONAL,
+ partyNumberOfA PartyNumber OPTIONAL}
+ RESULT SEQUENCE {
+ recallMode RecallMode,
+ callDetails CallDetails OPTIONAL}
+ ERRORS {InvalidCCBSReference, notSubscribed}
+
+CCBSDeactivate ::= OPERATION
+ ARGUMENT cCBSReference CCBSReference
+ RESULT
+ ERRORS {InvalidCCBSReference}
+CCBSErase ::= OPERATION
+ ARGUMENT SEQUENCE {
+ recallMode RecallMode,
+ cCBSReference CCBSReference,
+ addressOfB Address,
+ q931InfoElement Q931InformationElement,
+ eraseReason CCBSEraseReason}
+
+-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility
+-- (optional) information elements shall be embedded in q931InfoElement.
+
+CCBSRemoteUserFree ::= OPERATION
+ ARGUMENT SEQUENCE {
+ recallMode RecallMode,
+ cCBSReference CCBSReference,
+ addressOfB Address,
+ q931InfoElement Q931InformationElement}
+
+-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility
+-- (optional) information elements shall be embedded in q931InfoElement.
+
+CCBSBFree ::= OPERATION
+ ARGUMENT SEQUENCE {
+ recallMode RecallMode,
+ cCBSReference CCBSReference,
+ addressOfB Address,
+ q931InfoElement Q931InformationElement}
+
+-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility
+-- (optional) information elements shall be embedded in q931InfoElement.
+
+CCBSCall ::= OPERATION
+ ARGUMENT cCBSReference CCBSReference
+ ERRORS {InvalidCCBSReference, AlreadyAccepted,
+ NotReadyForCall}
+
+CCBSStatusRequest ::= OPERATION
+ ARGUMENT SEQUENCE {
+ recallMode RecallMode,
+ cCBSReference CCBSReference,
+ q931InfoElement Q931InformationElement}
+ RESULT BOOLEAN -- free=TRUE, busy=FALSE
+
+-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility
+-- (optional) information elements shall be embedded in q931InfoElement.
+
+CCBSStopAlerting ::= OPERATION
+ ARGUMENT cCBSReference CCBSReference
+
+CallDetails ::= SEQUENCE SIZE(1..5) OF CallInformation
+
+CallInformation ::= SEQUENCE {
+ addressOfB Address,
+ q931InfoElement Q931InformationElement,
+ cCBSReference CCBSReference,
+ subAddressOfA PartySubaddress OPTIONAL}
+
+-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility
+-- (optional) information elements shall be embedded in q931InfoElement.
+
+InvalidCallLinkageID ::= ERROR
+InvalidCCBSReference ::= ERROR
+LongTermDenial ::= ERROR
+ShortTermDenial ::= ERROR
+CCBSIsAlreadyActivated ::= ERROR
+AlreadyAccepted ::= ERROR
+OutgoingCCBSQueueFull ::= ERROR
+CallFailureReasonNotBusy ::= ERROR
+NotReadyForCall ::= ERROR
+
+CallLinkageID ::= INTEGER (0..127)
+CCBSReference ::= INTEGER (0..127)
+CCBSEraseReason ::= ENUMERATED {
+ normal-unspecified (0),
+ t-CCBS2-timeout (1),
+ t-CCBS3-timeout (2),
+ basic-call-failed (3)}
+
+RecallMode ::= ENUMERATED {
+ globalRecall (0),
+ specificRecall (1)}
+
+cCBSOID OBJECT IDENTIFIER ::= {ccitt identified-organization etsi(0) 359
+ operations-and-errors(1)}
+
+callInfoRetain CallInfoRetain ::= globalValue {cCBSOID 1}
+cCBSRequest CCBSRequest ::= globalValue {cCBSOID 2}
+cCBSDeactivate CCBSDeactivate ::= globalValue {cCBSOID 3}
+cCBSInterrogate CCBSInterrogate ::= globalValue {cCBSOID 4}
+cCBSErase CCBSErase ::= globalValue {cCBSOID 5}
+cCBSRemoteUserFree CCBSRemoteUserFree ::= globalValue {cCBSOID 6}
+cCBSCall CCBSCall ::= globalValue {cCBSOID 7}
+cCBSStatusRequest CCBSStatusRequest ::= globalValue {cCBSOID 8}
+cCBSBFree CCBSBFree ::= globalValue {cCBSOID 9}
+eraseCallLinkageID EraseCallLinkageID ::= globalValue {cCBSOID 10}
+cCBSStopAlerting CCBSStopAlerting ::= globalValue {cCBSOID 11}
+invalidCallLinkageID InvalidCallLinkageID ::= globalValue {cCBSOID 20}
+invalidCCBSReference InvalidCCBSReference ::= globalValue {cCBSOID 21}
+longTermDenial LongTermDenial ::= globalValue {cCBSOID 22}
+shortTermDenial ShortTermDenial ::= globalValue {cCBSOID 23}
+cCBSIsAlreadyActivated CCBSIsAlreadyActivated ::= globalValue {cCBSOID 24}
+alreadyAccepted AlreadyAccepted ::= globalValue {cCBSOID 25}
+outgoingCCBSQueueFull OutgoingCCBSQueueFull ::= globalValue {cCBSOID 26}
+callFailureReasonNotBusy CallFailureReasonNotBusy ::= globalValue {cCBSOID 27}
+notReadyForCall NotReadyForCall ::= globalValue {cCBSOID 28}
+
+
+END -- of CCBS-Operations-and-Errors
diff --git a/epan/dissectors/asn1/isdn-sup/CCBS-private-networks-Operations-and-Errors.asn b/epan/dissectors/asn1/isdn-sup/CCBS-private-networks-Operations-and-Errors.asn
new file mode 100644
index 00000000..61712b73
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/CCBS-private-networks-Operations-and-Errors.asn
@@ -0,0 +1,69 @@
+--
+-- EN 300 359-1 Ver. 1.3.2
+--
+CCBS-private-networks-Operations-and-Errors {ccitt identified-organization etsi(0) 359
+ private-networks-operations-and-errors(2)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS CCBS-T-Request, CCBS-T-Call, CCBS-T-Suspend, CCBS-T-Resume,
+ CCBS-T-RemoteUserFree, CCBS-T-Available, LongTermDenial, ShortTermDenial;
+
+IMPORTS OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+
+ notSubscribed
+ FROM General-Errors
+ {ccitt identified-organization etsi(0) 196 general-errors(2)}
+
+ Address
+ FROM Addressing-Data-Elements
+ {ccitt identified-organization etsi(0) 196 addressing-data-elements(6)}
+ Q931InformationElement
+ FROM Embedded-Q931-Types
+ {ccitt identified-organization etsi(0) 196 embedded-q931-types(7)};
+
+CCBS-T-Request ::= OPERATION
+ ARGUMENT SEQUENCE {
+ destinationAddress Address,
+ q931InfoElement Q931InformationElement,
+ -- contains HLC, LLC and BC information
+ retentionSupported [1] IMPLICIT BOOLEAN
+ DEFAULT FALSE,
+ presentationAllowedIndicator [2] IMPLICIT BOOLEAN
+ OPTIONAL,
+ -- The use of this parameter is specified in
+ -- EN 300 195-1 for interaction of CCBS with CLIP
+ originatingAddress Address OPTIONAL}
+ -- The use of this parameter is specified in
+ -- EN 300 195-1 for interaction of CCBS with CLIP
+ RESULT retentionSupported BOOLEAN -- Default False
+ ERRORS {ShortTermDenial, notSubscribed, LongTermDenial}
+
+CCBS-T-Call ::= OPERATION
+CCBS-T-Suspend ::= OPERATION
+CCBS-T-Resume ::= OPERATION
+CCBS-T-RemoteUserFree ::= OPERATION
+CCBS-T-Available ::= OPERATION
+
+ShortTermDenial ::= ERROR
+LongTermDenial ::= ERROR
+
+cCBS-T-OID OBJECT IDENTIFIER ::= {ccitt identified-organization etsi(0) 359
+ private-networks-operations-and-errors(2)}
+
+cCBS-T-Request CCBS-T-Request ::= globalValue {cCBS-T-OID 1}
+cCBS-T-Call CCBS-T-Call ::= globalValue {cCBS-T-OID 2}
+cCBS-T-Suspend CCBS-T-Suspend ::= globalValue {cCBS-T-OID 3}
+cCBS-T-Resume CCBS-T-Resume ::= globalValue {cCBS-T-OID 4}
+cCBS-T-RemoteUserFree CCBS-T-RemoteUserFree ::= globalValue {cCBS-T-OID 5}
+cCBS-T-Available CCBS-T-Available ::= globalValue {cCBS-T-OID 6}
+
+longTermDenial LongTermDenial ::= globalValue {cCBS-T-OID 20}
+shortTermDenial ShortTermDenial ::= globalValue {cCBS-T-OID 21}
+
+
+END -- of CCBS-private-networks-operations-and-errors
diff --git a/epan/dissectors/asn1/isdn-sup/CMakeLists.txt b/epan/dissectors/asn1/isdn-sup/CMakeLists.txt
new file mode 100644
index 00000000..0c13947a
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/CMakeLists.txt
@@ -0,0 +1,49 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME isdn-sup )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ Addressing-Data-Elements.asn
+ Basic-Service-Elements.asn
+ Embedded-Q931-Types.asn
+ General-Errors.asn
+ Advice-of-Charge-Operations.asn
+ Closed-User-Group-Service-Operations.asn
+ Conference-Add-On-Operations.asn
+ Diversion-Operations.asn
+ MCID-Operations.asn
+ User-To-User-Signalling-Operations.asn
+ Freephone-Operations.asn
+ MLPP-Operations-And-Errors.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/isdn-sup/Closed-User-Group-Service-Operations.asn b/epan/dissectors/asn1/isdn-sup/Closed-User-Group-Service-Operations.asn
new file mode 100644
index 00000000..db63f8fe
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Closed-User-Group-Service-Operations.asn
@@ -0,0 +1,77 @@
+--
+-- EN 300 138-1 Ver. 1.3.4
+--
+Closed-User-Group-Service-Operations {ccitt identified-organization etsi (0) 138 operations-and-errors (1)}
+
+DEFINITIONS ::=
+BEGIN
+
+EXPORTS CUGCall,
+ InvalidOrUnregisteredCUGIndex,
+ RequestedBasicServiceViolatesCUGConstraints,
+ OutgoingCallsBarredWithinCUG,
+ IncomingCallsBarredWithinCUG,
+ UserNotMemeberOfCUG,
+ InconsistencyInDesignatedFacilityAndSubscriberClass;
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+ notSubscribed,
+ basicServiceNotProvided
+ FROM General-Errors
+ {ccitt identified-organization etsi(0) 196 general-errors};
+
+
+ cUGcall OPERATION ::= {
+ -- in Facility information element. Invoked from calling user to originating
+ -- network side. Also from destination network side to called user
+ ARGUMENT CUGcallArg
+ -- in SETUP message
+ RETURN RESULT FALSE
+
+ ERRORS {
+ invalidOrUnregisteredCUGIndex |
+ requestedBasicServiceViolatesCUGConstraints |
+ outgoingCallsBarredWithinCUG |
+ incomingCallsBarredWithinCUG |
+ userNotMemberOfCUG |
+ basicServiceNotProvided |
+ inconsistencyInDesignatedFacilityAndSubscriberClass |
+ notSubscribed
+ }
+ -- in clearing message to calling user. Also to destination network side.
+ CODE local: 2}
+
+
+CUGcallArg ::= SEQUENCE{
+ oARequested OARequested DEFAULT FALSE,
+ cUGIndex CUGIndex OPTIONAL
+ }
+
+OARequested ::= [1] IMPLICIT BOOLEAN
+CUGIndex ::= [2] IMPLICIT INTEGER (0..32767)
+
+InvalidOrUnregisteredCUGIndex ::= ERROR
+invalidOrUnregisteredCUGIndex ERROR ::= { CODE local: 16}
+RequestedBasicServiceViolatesCUGConstraints ::= ERROR
+requestedBasicServiceViolatesCUGConstraints ERROR ::= { CODE local: 17}
+OutgoingCallsBarredWithinCUG ::= ERROR
+outgoingCallsBarredWithinCUG ERROR ::= { CODE local: 18}
+IncomingCallsBarredWithinCUG ::= ERROR
+incomingCallsBarredWithinCUG ERROR ::= { CODE local: 19}
+UserNotMemberOfCUG ::= ERROR
+userNotMemberOfCUG ERROR ::= { CODE local: 20}
+InconsistencyInDesignatedFacilityAndSubscriberClass ::= ERROR
+inconsistencyInDesignatedFacilityAndSubscriberClass ERROR ::= { CODE local: 21}
+
+-- cUGCall CUGCall ::= localValue 2
+
+--invalidOrUnregisteredCUGIndex InvalidOrUnregisteredCUGIndex ::= localValue 16
+--requestedBasicServiceViolatesCUGConstraints RequestedBasicServiceViolatesCUGConstraints ::= localValue 17
+--outgoingCallsBarredWithinCUG OutgoingCallsBarredWithinCUG ::= localValue 18
+--incomingCallsBarredWithinCUG IncomingCallsBarredWithinCUG ::= localValue 19
+--userNotMemberOfCUG UserNotMemberOfCUG ::= localValue 20
+--inconsistencyInDesignatedFacilityAndSubscriberClass InconsistencyInDesignatedFacilityAndSubscriberClass ::= localValue 21
+
+END -- Closed-User-Group-Service-Operations
+
diff --git a/epan/dissectors/asn1/isdn-sup/Conference-Add-On-Operations.asn b/epan/dissectors/asn1/isdn-sup/Conference-Add-On-Operations.asn
new file mode 100644
index 00000000..6fb2c17c
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Conference-Add-On-Operations.asn
@@ -0,0 +1,123 @@
+--
+-- EN 300 185-1 Ver. 1.2.4
+--
+Conference-Add-On-Operations {ccitt identified-organization etsi (0) 185 operations-and-types (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+BEGIN
+
+EXPORTS BeginCONF, AddCONF, SplitCONF, DropCONF,
+ IsolateCONF, ReattachCONF, PartyDISC,
+ IllConferenceId, IllPartyId,
+ NumberOfPartiesExceeded,
+ NotActive, NotAllowed, PartyId, ConferenceId, ConfSize;
+
+IMPORTS OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+ notSubscribed, notAvailable,
+ supplementaryServiceInteractionNotAllowed,
+ resourceUnavailable, invalidCallState
+ FROM General-Errors
+ {ccitt identified-organization etsi(0) 196 general-errors (2)};
+
+beginCONF OPERATION ::= {
+ ARGUMENT BeginCONFArg -- optional
+ RESULT BeginCONFRes
+ ERRORS {notSubscribed | notAvailable |
+ resourceUnavailable |
+ invalidCallState |
+ numberOfPartiesExceeded}
+ CODE local: 40}
+
+BeginCONFArg ::= ConfSize
+
+BeginCONFRes ::= SEQUENCE {
+ conferenceId ConferenceId,
+ partyId PartyId OPTIONAL }
+
+addCONF OPERATION ::= {
+ ARGUMENT AddCONFArg
+ RESULT AddCONFRes
+ ERRORS {IllConferenceId |
+ NumberOfPartiesExceeded |
+ NotAllowed |
+ supplementaryServiceInteractionNotAllowed |
+ invalidCallState}
+ CODE local: 41}
+
+AddCONFArg ::= ConferenceId
+AddCONFRes ::= PartyId
+
+splitCONF OPERATION ::= {
+ ARGUMENT SplitCONFArg
+ RETURN RESULT FALSE
+ ERRORS {IllConferenceId | IllPartyId}
+ CODE local: 42}
+
+
+SplitCONFArg ::= SEQUENCE { conferenceId ConferenceId,
+ partyId PartyId}
+
+dropCONF OPERATION ::= {
+ ARGUMENT DropCONFArg
+ RETURN RESULT FALSE
+ ERRORS {IllPartyId, NotActive}
+ CODE local: 43}
+
+DropCONFArg ::= PartyId
+
+isolateCONF OPERATION ::= {
+ ARGUMENT IsolateCONFArg
+ RETURN RESULT FALSE
+ ERRORS {IllPartyId, NotActive}
+ CODE local: 44}
+
+IsolateCONFArg ::= PartyId
+
+reattachCONF OPERATION ::= {
+ ARGUMENT ReattachCONFArg
+ RETURN RESULT FALSE
+ ERRORS {IllPartyId, NotActive}
+ CODE local: 45}
+
+ReattachCONFArg ::= PartyId
+
+partyDISC OPERATION ::= {
+ ARGUMENT PartyDISCArg
+ RETURN RESULT FALSE
+ CODE local: 46}
+
+PartyDISCArg ::= PartyId
+
+--IllConferenceId ::= ERROR
+illConferenceId ERROR ::= { CODE local: 28}
+--IllPartyId ::= ERROR
+illPartyId ERROR ::= { CODE local: 29}
+--NumberOfPartiesExceeded ::= ERROR
+numberOfPartiesExceeded ERROR ::= { CODE local: 30}
+--NotActive ::= ERROR
+notActive ERROR ::= { CODE local: 31}
+--NotAllowed ::= ERROR
+notAllowed ERROR ::= { CODE local: 32}
+
+PartyId ::= INTEGER (0..127)
+ConferenceId ::= INTEGER (0..127)
+ConfSize ::= INTEGER (0..127)
+
+--beginCONF BeginCONF ::= 40
+--addCONF AddCONF ::= 41
+--splitCONF SplitCONF ::= 42
+--dropCONF DropCONF ::= 43
+--isolateCONF IsolateCONF ::= 44
+--reattachCONF ReattachCONF ::= 45
+--partyDISC PartyDISC ::= 46
+--illConferenceId IllConferenceId ::= 28
+--illPartyId IllPartyId ::= 29
+--numberOfPartiesExceeded NumberOfPartiesExceeded ::= 30
+--notActive NotActive ::= 31
+--notAllowed NotAllowed ::= 32
+
+END -- of Conference-Add-On-Operations
+
diff --git a/epan/dissectors/asn1/isdn-sup/Diversion-Operations.asn b/epan/dissectors/asn1/isdn-sup/Diversion-Operations.asn
new file mode 100644
index 00000000..9db186c0
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Diversion-Operations.asn
@@ -0,0 +1,365 @@
+--
+-- ETSI EN 300 207-1 V3.1.1 (2001-06)
+--
+
+Diversion-Operations {etsi(0) xx(207) operations-and-errors(1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS ActivationDiversion,
+ DeactivationDiversion,
+ ActivationStatusNotificationDiv,
+ DeactivationStatusNotificationDiv,
+ InterrogationDiversion,
+ InterrogateServedUserNumbers,
+ DiversionInformation,
+ CallDeflection,
+ CallRerouteing,
+ DivertingLegInformation1,
+ DivertingLegInformation2,
+ DivertingLegInformation3,
+ InvalidDivertedToNr,
+ SpecialServiceNr,
+ DiversionToServedUserNr,
+ IncomingCallAccepted,
+ NumberOfDiversionsExceeded,
+ NotActivated,
+ RequestAlreadyAccepted,
+ invalidDivertedToNr,
+ specialServiceNr,
+ diversionToServedUserNr,
+ incomingCallAccepted,
+ numberOfDiversionsExceeded,
+ notActivated,
+ requestAlreadyAccepted,
+ServedUserNr;
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+
+ notSubscribed,
+ notAvailable,
+ invalidServedUserNr,
+ basicServiceNotProvided,
+ supplementaryServiceInteractionNotAllowed,
+ resourceUnavailable
+ FROM General-Errors
+ {itu-t(0) identified-organization(4) etsi(0) 196 general-errors(2)}
+
+ PresentedAddressScreened,
+ PresentedNumberUnscreened,
+ Address,
+ PartyNumber,
+ PartySubaddress,
+ PresentationAllowedIndicator
+
+ FROM Addressing-Data-Elements
+ {itu-t(0) identified-organization(4) etsi(0) 196 addressing-data-elements(6)}
+
+ BasicService
+ FROM Basic-Service-Elements
+ {itu-t(0) identified-organization(4) etsi(0) 196 basic-service-elements(8)}
+
+ Q931InformationElement
+ FROM Embedded-Q931-Types
+ {itu-t(0) identified-organization(4) etsi(0) 196 embedded-q931-types(7)};
+
+
+ activationDiversion OPERATION ::= {
+ ARGUMENT ActivationDiversionArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ ERRORS {
+ notSubscribed,
+ notAvailable,
+ invalidServedUserNr,
+ supplementaryServiceInteractionNotAllowed,
+ basicServiceNotProvided,
+ resourceUnavailable,
+ invalidDivertedToNr,
+ specialServiceNr,
+ diversionToServedUserNr,
+ invalidNoReplyTimerValue}
+ CODE local: 7}
+
+ ActivationDiversionArg ::= SEQUENCE {
+ procedure Procedure,
+ basicService BasicService,
+ forwardedToAddress Address,
+ servedUserNr ServedUserNr,
+ noReplyTimer NoReplyTimer OPTIONAL
+ }
+
+
+
+
+-- End of ActivationDiversion operation definition
+
+ deactivationDiversion OPERATION ::= {
+ ARGUMENT DeactivationDiversionArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ invalidServedUserNr |
+ NotActivated}
+ CODE local: 8}
+
+ DeactivationDiversionArg ::= SEQUENCE {
+ procedure Procedure,
+ basicService BasicService,
+ servedUserNr ServedUserNr
+ }
+
+
+-- End of DeactivationDiversion operation definition
+
+ activationStatusNotificationDiv OPERATION ::= {
+ ARGUMENT ActivationStatusNotificationDivArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 9}
+
+ ActivationStatusNotificationDivArg ::= SEQUENCE {
+ procedure Procedure,
+ basicService BasicService,
+ forwardedToAddresss Address,
+ servedUserNr ServedUserNr}
+
+-- End of ActivationStatusNotificationDiv operation definition
+
+ deactivationStatusNotificationDiv OPERATION ::= {
+ ARGUMENT DeactivationStatusNotificationDivArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 10}
+
+ DeactivationStatusNotificationDivArg ::= SEQUENCE {
+ procedure Procedure,
+ basicService BasicService,
+ servedUserNr ServedUserNr}
+
+-- End of DeactivationStatusNotificationDiv operation definition
+
+ interrogationDiversion OPERATION ::= {
+ ARGUMENT InterrogationDiversionArg
+ RESULT InterrogationDiversionRes
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ invalidServedUserNr}
+ CODE local: 11}
+
+ InterrogationDiversionArg ::= SEQUENCE {
+ procedure Procedure,
+ basicService BasicService DEFAULT allServices,
+ servedUserNr ServedUserNr}
+
+ InterrogationDiversionRes ::= IntResultList
+
+
+-- End of InterrogationDiversion operation definition
+
+ interrogateServedUserNumbers OPERATION ::= {
+ RESULT InterrogateServedUserNumbersRes
+ ERRORS {
+ notSubscribed |
+ notAvailable}
+ CODE local: 17}
+
+ InterrogateServedUserNumbersRes ::= ServedUserNumberList
+
+-- End of InterrogateServedUserNumbers operation definition
+
+ diversionInformation OPERATION ::= {
+ ARGUMENT DiversionInformationArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 12}
+
+ DiversionInformationArg ::= SEQUENCE {
+ diversionReason DiversionReason,
+ basicService BasicService,
+ servedUserSubaddress PartySubaddress OPTIONAL,
+ callingAddress [0] PresentedAddressScreened OPTIONAL,
+ originalCalledNr [1] PresentedNumberUnscreened OPTIONAL,
+ lastDivertingNr [2] PresentedNumberUnscreened OPTIONAL,
+ lastDivertingReason [3] DiversionReason OPTIONAL,
+ userInfo Q931InformationElement OPTIONAL}
+
+-- The User-user information element, as specified in EN 300 286-1 [19] clause 7.3.3 , shall be
+--embedded in the userInfo parameter.
+
+-- End of DiversionInformation operation definition
+
+ callDeflection OPERATION ::= {
+ ARGUMENT CallDeflectionArg
+ RETURN RESULT FALSE
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ invalidDivertedToNr |
+ specialServiceNr |
+ diversionToServedUserNr |
+ incomingCallAccepted |
+ numberOfDiversionsExceeded |
+ supplementaryServiceInteractionNotAllowed |
+ requestAlreadyAccepted}
+ CODE local: 13}
+
+ CallDeflectionArg ::= SEQUENCE {
+ deflectionAddress Address,
+ presentationAllowedDivertedToUser PresentationAllowedIndicator
+ OPTIONAL}
+
+-- End of CallDeflection operation definition
+
+ callRerouteing OPERATION ::= {
+ ARGUMENT CallRerouteingArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ supplementaryServiceInteractionNotAllowed |
+ resourceUnavailable |
+ invalidDivertedToNr |
+ specialServiceNr |
+ diversionToServedUserNr |
+ numberOfDiversionsExceeded}
+ CODE local: 14}
+
+ CallRerouteingArg ::= SEQUENCE {
+ rerouteingReason DiversionReason,
+ calledAddress Address,
+ rerouteingCounter DiversionCounter,
+ q931InfoElement Q931InformationElement,
+ lastRerouteingNr [1] PresentedNumberUnscreened,
+ subscriptionOption [2] SubscriptionOption
+ DEFAULT noNotification,
+ callingPartySubaddress [3] PartySubaddress OPTIONAL}
+
+-- The User-user information element (optional), High layer compatibility information element
+-- (optional), Bearer capability information element and Low layer compatibility information
+-- element (optional) as specified in EN 300 403-1 [11] clause 4.5 shall be embedded in the
+-- q931InfoElement.
+
+
+-- End of CallRerouteing operation definition
+
+ divertingLegInformation1 OPERATION ::= {
+ ARGUMENT DivertingLegInformation1Arg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 18}
+
+ DivertingLegInformation1Arg ::= SEQUENCE {
+ diversionReason DiversionReason,
+ subscriptionOption SubscriptionOption,
+ divertedToNumber PresentedNumberUnscreened OPTIONAL}
+
+-- End of DivertingLegInformation1 operation definition
+
+
+ divertingLegInformation2 OPERATION ::= {
+ ARGUMENT DivertingLegInformation2Arg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 15}
+
+ DivertingLegInformation2Arg ::= SEQUENCE {
+ diversionCounter DiversionCounter,
+ diversionReason DiversionReason,
+ divertingNr [1] PresentedNumberUnscreened OPTIONAL,
+ originalCalledNr [2] PresentedNumberUnscreened OPTIONAL}
+
+-- End of DivertingLegInformation2 operation definition
+ divertingLegInformation3 OPERATION ::= {
+ ARGUMENT DivertingLegInformation3Arg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 19}
+
+ DivertingLegInformation3Arg ::= PresentationAllowedIndicator
+
+-- End of DivertingLegInformation3 operation definition
+
+IntResultList ::= SET SIZE (0..29) OF IntResult
+
+IntResult ::= SEQUENCE {servedUserNr ServedUserNr,
+ basicService BasicService,
+ procedure Procedure,
+ forwardedToAddress Address}
+
+ServedUserNr ::= CHOICE {individualNumber PartyNumber,
+ allNumbers NULL}
+
+DiversionCounter ::= INTEGER (1..5)
+
+SubscriptionOption ::= ENUMERATED {noNotification (0),
+ notificationWithoutDivertedToNr (1),
+ notificationWithDivertedToNr (2)}
+
+Procedure ::= ENUMERATED {cfu (0),
+ cfb (1),
+ cfnr (2)}
+
+ServedUserNumberList ::= SET SIZE (0..99) OF PartyNumber
+
+DiversionReason ::= ENUMERATED {unknown (0),
+ cfu (1),
+ cfb (2),
+ cfnr (3),
+ cdAlerting (4),
+ cdImmediate (5)}
+
+NoReplyTimer ::= INTEGER (1..180)
+
+InvalidDivertedToNr ::= ERROR
+invalidDivertedToNr ERROR ::= { CODE local: 12}
+
+SpecialServiceNr ::= ERROR
+specialServiceNr ERROR ::= { CODE local: 14}
+
+DiversionToServedUserNr ::= ERROR
+diversionToServedUserNr ERROR ::= { CODE local: 15}
+
+IncomingCallAccepted ::= ERROR
+incomingCallAccepted ERROR ::= { CODE local: 23}
+
+NumberOfDiversionsExceeded ::= ERROR
+numberOfDiversionsExceeded ERROR ::= { CODE local: 24}
+
+NotActivated ::= ERROR
+notActivated ERROR ::= { CODE local: 46}
+
+RequestAlreadyAccepted ::= ERROR
+requestAlreadyAccepted ERROR ::= { CODE local: 48}
+
+InvalidNoReplyTimerValue ::= ERROR
+--invalidNoReplyTimerValue ERROR ::= { CODE local: xx}
+
+--deactivationDiversion DeactivationDiversion ::= localValue 8
+--activationStatusNotificationDiv ActivationStatusNotificationDiv ::= localValue 9
+--deactivationStatusNotificationDiv DeactivationStatusNotificationDiv ::= localValue 10
+--interrogationDiversion InterrogationDiversion ::= localValue 11
+--interrogateServedUserNumbers InterrogateServedUserNumbers ::= localValue 17
+--diversionInformation DiversionInformation ::= localValue 12
+--callDeflection CallDeflection ::= localValue 13
+--callRerouteing CallRerouteing ::= localValue 14
+--divertingLegInformation1 DivertingLegInformation1 ::= localValue 18
+--divertingLegInformation3 DivertingLegInformation3 ::= localValue 19
+--divertingLegInformation2 DivertingLegInformation2 ::= localValue 15
+--invalidDivertedToNr InvalidDivertedToNr ::= localValue 12
+--specialServiceNr SpecialServiceNr ::= localValue 14
+--diversionToServedUserNr DiversionToServedUserNr ::= localValue 15
+--incomingCallAccepted IncomingCallAccepted ::= localValue 23
+--numberOfDiversionsExceeded NumberOfDiversionsExceeded ::= localValue 24
+--notActivated NotActivated ::= localValue 46
+--requestAlreadyAccepted RequestAlreadyAccepted ::= localValue 48
+
+END -- of Diversion-Operations
+
diff --git a/epan/dissectors/asn1/isdn-sup/Embedded-Q931-Types.asn b/epan/dissectors/asn1/isdn-sup/Embedded-Q931-Types.asn
new file mode 100644
index 00000000..27be2df7
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Embedded-Q931-Types.asn
@@ -0,0 +1,11 @@
+Embedded-Q931-Types {itu-t identified-organization etsi(0) 196 embedded-q931-types(7)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS Q931InformationElement;
+
+Q931InformationElement ::= [APPLICATION 0] IMPLICIT OCTET STRING
+
+END -- of Embedded-Q931-Types
diff --git a/epan/dissectors/asn1/isdn-sup/Explicit-Call-Transfer-Operations-and-Errors.asn b/epan/dissectors/asn1/isdn-sup/Explicit-Call-Transfer-Operations-and-Errors.asn
new file mode 100644
index 00000000..3d054539
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Explicit-Call-Transfer-Operations-and-Errors.asn
@@ -0,0 +1,150 @@
+--
+-- EN 300 369-1 V1.2.4 (1998-10)
+--
+Explicit-Call-Transfer-Operations-and-Errors {ccitt identified-organization etsi(0) 369
+version(2) operations-and-errors(1)}
+
+DEFINITIONS ::=
+
+
+BEGIN
+
+
+ EXPORTS
+ ectLinkIdRequest,
+ ectExecute,
+ requestSubaddress,
+ subaddressTransfer,
+ explicitEctExecute,
+ linkIdNotAssignedByNetwork,
+ ectLoopTest,
+ ectInform;
+
+
+ IMPORTS
+ OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ notAvailable,
+ notSubscribed,
+ resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed,
+ invalidCallState
+ FROM General-Errors
+ {itu-t(0) identified-organization(4) etsi (0) 196 general-errors (2)}
+
+
+ PartySubaddress,
+ PresentedNumberUnscreened
+ FROM Addressing-Data-Elements
+ {itu-t(0) identified-organization(4) etsi (0) 196 addressing-data-elements (6)};
+
+
+ ectExecute OPERATION::=
+ {
+ ERRORS {
+ notAvailable |
+ notSubscribed |
+ invalidCallState |
+ supplementaryServiceInteractionNotAllowed }
+
+ CODE local:6
+ }
+
+ ectInform OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ en ENUMERATED {
+ alerting (0),
+ active (1) },
+ redirectionNumber PresentedNumberUnscreened OPTIONAL }
+
+ CODE global:{eCTOID ectInform-operation (5)}
+ }
+
+ ectLinkIdRequest OPERATION::=
+ {
+ RESULT EctLinkIdRequestRes
+ ERRORS {
+ resourceUnavailable }
+
+ CODE global:{eCTOID ectLinkIdRequest-operation (4)}
+ }
+
+ EctLinkIdRequestRes ::= LinkId
+
+ ectLoopTest OPERATION::=
+ {
+ ARGUMENT
+ CallTransferIdentity
+
+
+ RESULT
+ LoopResult
+
+
+ ERRORS {
+ notAvailable }
+
+ CODE global:{eCTOID ectLoopTest-operation (6)}
+ }
+
+
+ explicitEctExecute OPERATION::=
+ {
+ ARGUMENT
+ LinkId
+
+ ERRORS {
+ notAvailable |
+ notSubscribed |
+ invalidCallState |
+ supplementaryServiceInteractionNotAllowed |
+ linkIdNotAssignedByNetwork }
+
+ CODE global:{eCTOID explicitEctExecute-operation (1)}
+ }
+
+
+ requestSubaddress OPERATION::=
+ {
+ CODE global:{eCTOID requestSubAddress-operation (2)}
+ }
+
+
+ subaddressTransfer OPERATION::=
+ {
+ ARGUMENT PartySubaddress
+
+ CODE global:{eCTOID subaddressTransfer-operation (3)}
+ }
+
+ CallTransferIdentity ::= INTEGER (-128..127)
+ LinkId ::= INTEGER (-32768..32767)
+
+ LoopResult ::=
+ ENUMERATED {
+ insufficientInformation (0),
+ noLoopExists (1),
+ simultaneousTransfer (2) }
+
+
+ eCTOID OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi (0) 369
+ operation-and-errors (1)}
+
+
+ linkIdNotAssignedByNetwork ERROR ::= {CODE global:{eCTOID linkIdNotAssignedByNetwork-error (21)}}
+
+
+-- ectExecute EctExecute ::= localValue 6
+ explicitEctExecute ExplicitEctExecute ::= globalValue {eCTOID explicitEctExecute-operation(1)}
+ requestSubaddress RequestSubaddress ::= globalValue {eCTOID requestSubaddress-operation (2)}
+ subaddressTransfer SubaddressTransfer ::= globalValue {eCTOID subaddressTransfer-operation(3)}
+ ectLinkIdRequest EctLinkIdRequest ::= globalValue {eCTOID ectLinkIdRequest-operation (4)}
+ ectInform EctInform ::= globalValue {eCTOID ectInform-operation (5)}
+ ectLoopTest EctLoopTest ::= globalValue {eCTOID ectLoopTest-operation (6)}
+ linkIdNotAssignedByNetwork LinkIdNotAssignedByNetwork ::= globalValue {eCTOID linkIdNotAssignedByNetwork-error(21)}
+END --Explicit-Call-Transfer-Operations-And-Errors
diff --git a/epan/dissectors/asn1/isdn-sup/Freephone-Operations.asn b/epan/dissectors/asn1/isdn-sup/Freephone-Operations.asn
new file mode 100644
index 00000000..989e6877
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Freephone-Operations.asn
@@ -0,0 +1,112 @@
+--
+-- EN 300 210-1 Ver. 1.2.4
+--
+Freephone-Operations {ccitt identified-organization etsi(0) 210 operations-and-errors(1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS CallFPH, Monitor-T-FPH, Free-T-FPH, Call-T-FPH;
+
+IMPORTS OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+ notAvailable, notImplemented
+ FROM General-Errors
+ {itu-t(0) identified-organization(4) etsi(0) 196 general-errors(2)}
+
+ PartyNumber
+ FROM Addressing-Data-Elements
+ {itu-t(0) identified-organization(4) etsi(0) 196 addressing-data-elements(6)}
+
+ Q931InformationElement
+ FROM Embedded-Q931-Types
+ {itu-t(0) identified-organization(4) etsi(0) 196 embedded-q931-types(7)};
+
+--CallFPH ::= OPERATION
+-- ARGUMENT calledFreephoneNr CalledFreephoneNr - - optional
+
+ callFPH OPERATION ::=
+ {
+ ARGUMENT CalledFreephoneNrArg -- optional
+
+ CODE global:{fPHOID callFPH-operation (1)}
+ }
+
+CalledFreephoneNrArg ::= CalledFreephoneNr
+
+--Monitor-T-FPH ::= OPERATION
+-- ARGUMENT SEQUENCE {
+-- q931InfoElement Q931InformationElement,
+-- servedUserDestination PartyNumber,
+-- queueIdentity QueueIdentity OPTIONAL}
+-- RESULT
+-- ERRORS { notAvailable,
+-- notImplemented}
+
+-- the Bearer capability, High layer compatibility (optional) and Low layer compatibility
+-- (optional) information elements shall be embedded in q931InfoElement.
+
+ monitor-T-FPH OPERATION ::=
+ {
+ ARGUMENT Monitor-T-FPHArg
+
+ ERRORS { notAvailable|
+ notImplemented}
+
+ CODE global:{fPHOID monitor-T-FPH-operation(2)}
+ }
+
+Monitor-T-FPHArg ::= SEQUENCE {
+ q931InfoElement Q931InformationElement,
+ servedUserDestination PartyNumber,
+ queueIdentity QueueIdentity OPTIONAL}
+
+--Free-T-FPH ::= OPERATION
+-- ARGUMENT SEQUENCE {
+-- servedUserDestination PartyNumber,
+-- fPHReference FPHReference}
+--
+ free-T-FPH OPERATION ::=
+ {
+ ARGUMENT Free-T-FPHArg
+
+ CODE global:{fPHOID free-T-FPH-operation(3)}
+ }
+
+ Free-T-FPHArg ::= SEQUENCE {
+ servedUserDestination PartyNumber,
+ fPHReference FPHReference}
+
+--Call-T-FPH ::= OPERATION
+-- ARGUMENT SEQUENCE {
+-- fPHReference FPHReference,
+-- calledFreephoneNr CalledFreephoneNr OPTIONAL}
+
+ call-T-FPH OPERATION ::=
+ {
+ ARGUMENT Call-T-FPHArg
+
+ CODE global:{fPHOID call-T-FPH-operation(4)}
+ }
+
+ Call-T-FPHArg ::= SEQUENCE {
+ fPHReference FPHReference,
+ calledFreephoneNr CalledFreephoneNr OPTIONAL}
+
+FPHReference ::= INTEGER (0..127)
+CalledFreephoneNr ::= PartyNumber
+QueueIdentity ::= INTEGER (0..127)
+
+fPHOID OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) 210
+ freephone-operations(1)}
+
+--callFPH CallFPH ::= globalValue {fPHOID callFPH-operation(1)}
+--monitor-T-FPH Monitor-T-FPH ::= globalValue {fPHOID monitor-T-FPH-operation(2)}
+--free-T-FPH Free-T-FPH ::= globalValue {fPHOID free-T-FPH-operation(3)}
+--call-T-FPH Call-T-FPH ::= globalValue {fPHOID call-T-FPH-operation(4)}
+
+END -- Freephone-Operations
+
diff --git a/epan/dissectors/asn1/isdn-sup/General-Errors.asn b/epan/dissectors/asn1/isdn-sup/General-Errors.asn
new file mode 100644
index 00000000..fe0d05f8
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/General-Errors.asn
@@ -0,0 +1,65 @@
+--
+-- EN 300 196-1 Ver. 1.3.2
+--
+
+General-Errors {itu-t identified-organization etsi(0) 196 general-errors(2)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS notSubscribed, notAvailable, notImplemented, invalidServedUserNr,
+ invalidCallState, basicServiceNotProvided, notIncomingCall,
+ supplementaryServiceInteractionNotAllowed, resourceUnavailable;
+
+IMPORTS ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)};
+
+notSubscribed ERROR ::= { CODE local: 0}
+
+
+ -- The requested service or function has not been subscribed for the basic service, and
+ -- optionally the served user's ISDN number, included in the activation invoke component.
+ -- Alternatively the basic service may not have been subscribed.
+
+
+notAvailable ERROR ::= { CODE local: 3}
+
+ -- The requested supplementary service or function is not available for the basic service,
+ -- and optionally the served user's ISDN number (e.g. temporary fault).
+
+notImplemented ERROR ::= { CODE local: 4}
+
+ -- The supplementary service or function requested is not implemented for the basic
+ -- service, and optionally the served user's ISDN number (e.g. service not provided).
+
+invalidServedUserNr ERROR ::= { CODE local: 6}
+
+ -- The served user's number provided is not a valid number.
+
+invalidCallState ERROR ::= { CODE local: 7}
+
+ -- The supplementary service or function cannot be requested in the current basic call state
+ -- or auxiliary state.
+
+basicServiceNotProvided ERROR ::= { CODE local: 8}
+
+ -- The served user has not subscribed to the basic service (bearer and/or teleservice) for
+ -- which the supplementary service or function was requested.
+
+notIncomingCall ERROR ::= { CODE local: 9}
+
+ -- The supplementary service or function was not requested for an incoming call.
+
+supplementaryServiceInteractionNotAllowed ERROR ::= { CODE local: 10}
+
+ -- The performance of the requested supplementary service or function is prohibited
+ -- by another supplementary service or function.
+
+resourceUnavailable ERROR ::= { CODE local: 11}
+
+ -- The resources required to perform adequately the requested supplementary service or
+ -- function are not available.
+
+END -- of General-Errors
diff --git a/epan/dissectors/asn1/isdn-sup/MCID-Operations.asn b/epan/dissectors/asn1/isdn-sup/MCID-Operations.asn
new file mode 100644
index 00000000..2f8da479
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/MCID-Operations.asn
@@ -0,0 +1,38 @@
+--
+-- EN 300 130-1 Ver. 1.2.4
+--
+
+MCID-Operations {ccitt identified-organization etsi (0) 130 operations-and-errors (1)}
+
+DEFINITIONS ::=
+BEGIN
+
+EXPORTS MCIDRequest;
+
+
+IMPORTS
+ --OPERATION
+ --FROM Remote-Operation-Notation
+ -- {joint-iso-ccitt remote-operations(4) notation (0)}
+ notAvailable,
+ notSubscribed,
+ invalidCallState,
+ notIncomingCall,
+ supplementaryServiceInteractionNotAllowed
+ FROM General-Errors
+ {ccitt identified-organization etsi (0) 196 general errors};
+
+
+
+ mCIDRequest OPERATION ::= {
+ RETURN RESULT FALSE
+ ERRORS {
+ notAvailable |
+ invalidCallState |
+ notIncomingCall |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local: 3}
+
+-- mCIDRequest MCIDRequest ::= 3
+
+END -- of MCID-Operations
diff --git a/epan/dissectors/asn1/isdn-sup/MLPP-Operations-And-Errors.asn b/epan/dissectors/asn1/isdn-sup/MLPP-Operations-And-Errors.asn
new file mode 100644
index 00000000..193232ad
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/MLPP-Operations-And-Errors.asn
@@ -0,0 +1,135 @@
+-- MLPP-Operations-And-Errors.asn
+--
+-- Taken from ITU Recommendation Q.955.3 (03/93)
+--
+
+-- Begin MLPP-operations definitions
+MLPP-operations {ccitt recommendation q 955 mlpp (3) operations-and-errors(1)}
+DEFINITIONS ::=
+BEGIN
+EXPORTS mLPPLFBQuery, mLPPCallRequest, mLPPCallPreemption,
+ unauthorizedPrecedenceLevel;
+
+IMPORTS OPERATIONS, ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+
+ userNotSubscribed, rejectedByNetwork
+ FROM General-Error-List
+ {ccitt recommendation q 950 general-error-list (1)}
+
+ Q931InformationElement
+ FROM Embedded-Q931-Types
+ {ccitt identified-organization etsi(0) 196 embedded-q931-types(7)};
+
+-- Begin mLPPLFBquery operation
+mLPPLFBQuery OPERATION ::= {
+ ARGUMENT MLPPLFBArg
+ RESULT MLPPLFBResp
+ ERRORS {userNotSubscribed | rejectedByNetwork}
+ CODE local: 24
+}
+
+MLPPLFBArg ::= SEQUENCE {mlppParams MLPPParams, ieArg IEArg}
+
+MLPPParams ::= SEQUENCE {
+ precLevel PrecLevel, lfbIndictn LFBIndictn, mlppSvcDomn MLPPSvcDomn
+}
+
+PrecLevel ::= ENUMERATED {
+ flashOverride(0), flash(1), immediate(2), priority(3), routine(4)
+}
+-- Prec level identifies the precedence level of the MLPP call.
+
+LFBIndictn ::= ENUMERATED {
+ ifbAllowed(0), ifbNotAllowed(1), pathReserved(2)
+}
+-- LFBIndictri is coded for values. as indicated.
+
+MLPPSvcDomn ::= OCTET STRING(5)
+-- Initial two octets provide the International ID. while the
+-- following three octets provide the MLPP Domain
+-- identification.
+
+IEArg ::= Q931InformationElement
+-- Bearer capability. Calling party number. Called party
+-- number. and Channel identification information elements in
+-- the IE arg shall be as defined in Q.931.
+
+MLPPLFBResp ::= SEQUENCE {statusQuery StatusQuery, location Location}
+-- The MLPP DSS1 LFB query response contains two
+-- parameters. StatusQuery and Location.
+
+StatusQuery ::= ENUMERATED {
+ success(1),
+ -- Many cases as described in the optional MLPP LFB
+ failure(2),
+ -- Many cases as described in the MLPP procedure with LFB
+ -- option.
+ bearerCapabilityNotAuthorized(3),
+ -- bearer capability check failure. not authorized
+ bearerCapabilityNotlmplemented(4),
+ -- bearer capability check failure. not implemented
+ bearerCapabilityNotAvailable(5),
+ -- bearer capability check failure. not available
+ pathReservationDenied(6)
+ -- circuit cannot be reserved at the far end
+}
+
+Location ::= Q931InformationElement
+-- a bit string which conforms to Octect 3 of the Cause
+-- information element as defined in 0.931. except that bit 8 is
+-- marked as a spare.
+
+-- End of mLPPLFBquery operation.
+
+-- Begin mLPPCallRequest operation
+mLPPCallRequest OPERATION ::= {
+ ARGUMENT MLPPParams
+ RESULT StatusRequest
+ ERRORS {userNotSubscribed | rejectedByNetwork | unauthorizedPrecedenceLevel}
+ CODE local: 25
+}
+
+StatusRequest ::= ENUMERATED {
+ successCalledUserMLPPSubscriber(1),
+ -- Called user is an MLPP subscriber.
+ successCalledUserNotMLPPSubscriber(2),
+ -- Called user is not an MLPP subscriber.
+ failureCaseA(3),
+ -- MLPP call from the calling user is a precedence call and
+ -- cannot be completed.
+ failureCaseB(4)
+ -- MLPP call from the calling user or MLPP call between two
+ -- MLPP subscribers experiences preemption.
+}
+-- End MLPPCallRequest operation.
+
+-- Begin mLPPCallpreemption operation
+mLPPCallPreemption OPERATION ::= {
+ ARGUMENT PreemptParams
+ --RESULT
+ --ERRORS
+ CODE local: 26
+}
+
+PreemptParams ::= ENUMERATED {
+ circuitReservedForReuse(1),
+ -- Circuit of the to be preempted call is reserved for reuse
+ circuitNotReservedForReuse(2)
+ -- Circuit of the to be preempted call is not reserved for reuse
+}
+-- End mLPPCallpreemption operation
+
+unauthorizedPrecedenceLevel ERROR ::= {
+ CODE local: 44
+}
+-- An indication that the calling user has exceeded the authorized. maximum
+-- precedence level.
+
+--mLPPLFBQuery MLPPLFBQuery ::= 24
+--mLPPCallRequest MLPPCallRequest ::= 25
+--mLPPCALLPreemption MLPPCALLPreemption ::= 26
+--unauthorizedPrecedenceLevel UnauthorizedPrecedenceLevel ::= 44
+END
+-- End MLPP-operations. \ No newline at end of file
diff --git a/epan/dissectors/asn1/isdn-sup/MWI-Operations-and-Errors.asn b/epan/dissectors/asn1/isdn-sup/MWI-Operations-and-Errors.asn
new file mode 100644
index 00000000..3cd6f13f
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/MWI-Operations-and-Errors.asn
@@ -0,0 +1,144 @@
+--
+-- prETS 300 745-1
+--
+MWI-Operations-and-Errors {itu-t(0) identified-organization(4) etsi(0) 745 operations-and-errors(1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS MWIActivate,
+ MWIDeactivate,
+ MWIIndicate,
+ InvalidReceivingUserNr,
+ ReceivingUserNotSubscribed,
+ ControllingUserNotRegistered,
+ MaxNumOfControllingUsersReached,
+ MaxNumOfActiveInstancesReached
+;
+IMPORTS OPERATION,
+ ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+
+ notSubscribed,
+ supplementaryServiceInteractionNotAllowed,
+ resourceUnavailable,
+ invalidServedUserNr
+ FROM General-Errors
+ {itu-t(0) identified-organization(4) etsi(0) 196 general-errors(2)}
+
+ BasicService
+ From Basic-Service-Elements
+ {itu-t(0) identified-organization(4) etsi(0) 196 basic-service-elements(8)}
+
+ PartyNumber
+ FROM Addressing-Data-Element
+ {itu-t(0) identified-organization(4) etsi(0) 196 addressing-data-elements(6)}
+;
+
+ mWIActivate OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ receivingUserNr PartyNumber,
+ basicService BasicService,
+ controllingUserNr [1] PartyNumber OPTIONAL,
+ numberOfMessages [2] MessageCounter OPTIONAL,
+ controllingUserProvidedNr [3] PartyNumber OPTIONAL,
+ time [4] GeneralizedTime OPTIONAL,
+ messageId [5] MessageID OPTIONAL,
+ mode [6] InvocationMode OPTIONAL }
+
+ ERRORS {
+ notSubscribed |
+ supplementaryServiceInteractionNotAllowed |
+ resourceUnavailable |
+ invalidReceivingUserNr |
+ invalidServedUserNr |
+ receivingUserNotSubscribed |
+ controllingUserNotRegistered |
+ indicationNotDelivered |
+ maxNumOfControllingUsersReached |
+ maxNumOfActiveInstancesReached }
+
+ CODE global:{mWIOID 1}
+ }
+-- End of MWIActivate operation definition
+
+ mWIDeactivate OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ receivingUserNr PartyNumber,
+ basicService BasicService,
+ controllingUserNr PartyNumber OPTIONAL,
+ mode InvocationMode OPTIONAL }
+
+ ERRORS {
+ notSubscribed |
+ supplementaryServiceInteractionNotAllowed |
+ resourceUnavailable |
+ invalidReceivingUserNr |
+ invalidServedUserNr |
+ receivingUserNotSubscribed |
+ controllingUserNotRegistered |
+ indicationNotDelivered }
+
+ CODE global:{mWIOID 2}
+ }
+-- End of MWIDeactivate operation definition
+
+ mWIIndicate OPERATION::=
+ {
+ ARGUMENT SEQUENCE {
+ controllingUserNr [1] PartyNumber OPTIONAL,
+ basicService [2] BasicService OPTIONAL,
+ numberOfMessages [3] MessageCounter OPTIONAL,
+ controllingUserProvidedNr [4] PartyNumber OPTIONAL,
+ time [5] GeneralizedTime OPTIONAL,
+ messageId [6] MessageID OPTIONAL }
+
+ CODE global:{mWIOID 3}
+ }
+-- End of MWIIndicate operation definition
+
+ invalidReceivingUserNr ERROR ::= {CODE global:{mWIOID 10}}
+ receivingUserNotSubscribed ERROR ::= {CODE global:{mWIOID 11}}
+ controllingUserNotRegistered ERROR ::= {CODE global:{mWIOID 12}}
+ indicationNotDelivered ERROR ::= {CODE global:{mWIOID 13}}
+ maxNumOfControllingUsersReached ERROR ::= {CODE global:{mWIOID 14}}
+ maxNumOfActiveInstancesReached ERROR ::= {CODE global:{mWIOID 15}}
+
+MessageCounter ::= INTEGER (0..65535)
+
+GeneralizedTime ::= [UNIVERSAL 24] IMPLICIT VisibleString
+
+MessageID ::= SEQUENCE {
+ messageRef MessageRef,
+ status MessageStatus}
+
+MessageRef ::= INTEGER (0..65535)
+
+MessageStatus ::= ENUMERATED (
+ addedMessage (0),
+ removedMessage (1)}
+
+InvocationMode ::= ENUMERATED (
+ deferred (0),
+ immediate (1),
+ combined (2))
+
+mWIOID OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) 745
+ operations-and-errors(1)}
+
+mWIActivate MWIActivate ::= globalValue {mWIOID 1}
+mWIDeactivate MWIDeactivate ::= globalValue {mWIOID 2}
+mWIIndicate MWIIndicate ::= globalValue {mWIOID 3}
+
+invalidReceivingUserNr InvalidReceivingUserNr ::= globalValue {mWIOID 10}
+receivingUserNotSubscribed ReceivingUserNotSubscribed ::= globalValue {mWIOID 11}
+controllingUserNotRegistered ControllingUserNotRegistered ::= globalValue {mWIOID 12}
+indicationNotDelivered IndicationNotDelivered ::= globalValue {mWIOID 13}
+maxNumOfControllingUsersReached MaxNumOfControllingUsersReached ::= globalValue {mWIOID 14}
+maxNumOfActiveInstancesReached MaxNumOfActiveInstancesReached ::= globalValue {mWIOID 15}
+
+END -- MWI-Operations-and-Errors
diff --git a/epan/dissectors/asn1/isdn-sup/Outgoing-Call-Barring-Operations-and-Errors.asn b/epan/dissectors/asn1/isdn-sup/Outgoing-Call-Barring-Operations-and-Errors.asn
new file mode 100644
index 00000000..03640686
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Outgoing-Call-Barring-Operations-and-Errors.asn
@@ -0,0 +1,201 @@
+--
+-- EN 301 001-1 Ver. 1.2.2
+--
+Outgoing-Call-Barring-Operations-and-Errors {itu-t(0) identified-organization(4) etsi(0) 1001
+ operations-and-errors(1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS
+ ActivationOcb,
+ ActivationStatusNotificationOcb,
+ DeactivationOcb,
+ DeactivationStatusNotificationOcb,
+ InterrogationOcb,
+ DisableOcb,
+ OcbInvoked,
+ InvalidBarringProgram,
+ NoBarringProgram
+;
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+
+ PartyNumber
+ FROM Addressing-Data-Elements
+ {itu-t(0) identified-organization(4) etsi(0) 196 addressing-data-elements(6)}
+
+ BasicService
+ FROM Basic-Service-Elements
+ {itu-t(0) identified-organization(4) etsi(0) 196 basic-service-elements(8)}
+
+ notSubscribed, notAvailable, basicServiceNotProvided, invalidServedUserNr,
+ resourceUnavailable, notImplemented, supplementaryServiceInteractionNotAllowed
+ FROM General-Errors
+ {itu-t(0) identified-organization(4) etsi(0) 196 general-errors(2)}
+
+ NotActivated
+ FROM Diversion-Operations
+ {itu-t(0) identified-organization(4) etsi(0) 207 operations-and errors(1)}
+
+ Pin, invalidPin, userControlBlocked, changeOfPinRequired
+ FROM Pin-Set-Operations-and-Errors
+ {itu-t(0) identified-organization(4) etsi(0) 1002 operations-and-errors(1)}
+;
+
+ activationOcb OPERATION::=
+ {
+ ARGUMENT
+ ActivationOcbArgument
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ basicServiceNotProvided |
+ invalidServedUserNr |
+ invalidPin |
+ invalidBarringProgram |
+ noBarringProgram |
+ userControlBlocked |
+ supplementaryServiceInteractionNotAllowed |
+ resourceUnavailable |
+ changeOfPinRequired }
+
+ CODE global:{oCBOID 1}
+ }
+
+ deactivationOcb OPERATION::=
+ {
+ ARGUMENT
+ DeactivationOcbArgument
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ basicServiceNotProvided |
+ invalidServedUserNr |
+ notActivated |
+ invalidPin |
+ userControlBlocked |
+ changeOfPinRequired }
+
+ CODE global:{oCBOID 2}
+ }
+
+ interrogationOcb OPERATION::=
+ {
+ ARGUMENT
+ InterrogationOcbArgument
+
+
+ RESULT
+ IntOcbResultList
+
+
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ basicServiceNotProvided |
+ invalidServedUserNr }
+
+ CODE global:{oCBOID 5}
+ }
+
+ activationStatusNotificationOcb OPERATION::=
+ {
+ ARGUMENT
+ ActStatusNotificationOcbArg
+
+ CODE global:{oCBOID 3}
+ }
+
+ deactivationStatusNotificationOcb OPERATION::=
+ {
+ ARGUMENT
+ DeactStatusNotificationOcbArg
+
+ CODE global:{oCBOID 4}
+ }
+
+ disableOcb OPERATION::=
+ {
+ ARGUMENT
+ Pin
+
+ ERRORS {
+ notImplemented |
+ invalidPin |
+ userControlBlocked |
+ changeOfPinRequired }
+
+ CODE global:{oCBOID 6}
+ }
+
+ ocbInvoked OPERATION::=
+ {
+ CODE global:{oCBOID 7}
+ }
+
+ActivationOcbArgument ::= SEQUENCE {
+ basicService BasicService,
+ pin Pin,
+ barringProgram BarringProgram OPTIONAL,
+ servedUserNr ServedUserNr OPTIONAL}
+
+DeactivationOcbArgument ::= SEQUENCE {
+ basicService BasicService,
+ pin Pin,
+ barringProgram BarringProgram OPTIONAL,
+ servedUserNr ServedUserNr OPTIONAL}
+
+InterrogationOcbArgument ::= SEQUENCE {
+ basicService BasicService,
+ servedUserNr ServedUserNr OPTIONAL}
+
+ActStatusNotificationOcbArg ::= SEQUENCE {
+ basicService BasicService,
+ barringProgram BarringProgram,
+ servedUserNr ServedUserNr}
+
+DeactStatusNotificationOcbArg ::= SEQUENCE {
+ basicService BasicService,
+ barringProgram BarringProgram OPTIONAL,
+ servedUserNr ServedUserNr}
+
+ServedUserNr ::= CHOICE {
+ individualNumber PartyNumber,
+ allNumbers NULL}
+
+IntOcbResultList ::= SET SIZE(0..30) OF IntOcbResult
+
+IntOcbResult ::= SEQUENCE {
+ servedUserNr ServedUserNr,
+ basicService BasicService,
+ barringProgramList BarringProgramList}
+
+BarringProgram ::= INTEGER (0..255)
+BarringProgramList ::= SET SIZE(0...255) OF BarringProgram
+
+invalidBarringProgram ERROR ::={CODE global:{oCBOID 10}}
+noBarringProgram ERROR ::={CODE global:{oCBOID 11}}
+
+oCBOID OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) 1001 operations-and-errors(1)}
+
+activationOcb ActivationOcb ::= globalValue {oCBOID 1}
+deactivationOcb DeactivationOcb ::= globalValue {oCBOID 2}
+activationStatusNotificationOcb ActivationStatusNotificationOcb ::= globalValue {oCBOID 3}
+deactivationStatusNotificationOcb DeactivationStatusNotificationOcb ::= globalValue {oCBOID 4}
+interrogationOcb InterrogationOcb ::= globalValue {oCBOID 5}
+disableOcb DisableOcb ::= globalValue {oCBOID 6}
+ocbInvoked OcbInvoked ::= globalValue {oCBOID 7}
+invalidBarringProgram InvalidBarringProgram ::= globalValue {oCBOID 10}
+noBarringProgram NoBarringProgram ::= globalValue {oCBOID 11}
+
+notActivated NotActivated ::= localValue 46
+
+END -- of Outgoing-Call-Barring-Operations-and-Errors
+
diff --git a/epan/dissectors/asn1/isdn-sup/Set-Operations-and-Errors.asn b/epan/dissectors/asn1/isdn-sup/Set-Operations-and-Errors.asn
new file mode 100644
index 00000000..47fb381e
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Set-Operations-and-Errors.asn
@@ -0,0 +1,98 @@
+--
+-- EN 301 002-1 Ver. 1.3.1
+--
+Set-Operations-and-Errors {ITU-T identified-organization etsi(0) 1002 operations-and-errors(1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS
+ ModifyPin,
+ Pin,
+ Tan,
+ InvalidPin,
+ InvalidTan,
+ PinNotProvided,
+ InvalidNewPin,
+ ChangeOfPinRequired,
+ PrimitivePin,
+ NewPinIsOldPin,
+ UserControlBlocked;
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+
+ PartyNumber
+ FROM Addressing-Data-Elements
+ {itu-t(0) identified-organization(4) etsi(0) 196 addressing-data-elements(6)}
+
+ invalidServedUserNr
+ FROM General-Errors
+ {itu-t(0) identified-organization(4) etsi(0) 196 general-errors(2)};
+
+ModifyPin ::= OPERATION
+ ARGUMENT ModifyPinArgument
+ RESULT
+ ERRORS {InvalidPin,
+ PinNotProvided,
+ InvalidNewPin,
+ invalidServedUserNr,
+ PrimitivePin,
+ NewPinIsOldPin,
+ UserControlBlocked}
+
+PossibleFraudulentPinUse ::= OPERATION
+PossibleFraudulentTanUse ::= OPERATION
+ModifyPinArgument ::= SEQUENCE {
+ oldPin Pin,
+ newPin Pin,
+ servedUserNr PartyNumber}
+
+Pin ::= IA5String (SIZE(4..12)) (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"
+ |"A"|"B"|"C"|"D"|"E"|"F"|"G"|"H"|"I"|"J"
+ |"K"|"L"|"M"|"N"|"O"|"P"|"Q"|"R"|"S"|"T"
+ |"U"|"V"|"W"|"X"|"Y"|"Z"
+ |"a"|"b"|"c"|"d"|"e"|"f"|"g"|"h"|"i"|"j"
+ |"k"|"l"|"m"|"n"|"o"|"p"|"q"|"r"|"s"|"t"
+ |"u"|"v"|"w"|"x"|"y"|"z"))
+
+Tan ::= IA5String (SIZE(6..12)) (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"
+ |"A"|"B"|"C"|"D"|"E"|"F"|"G"|"H"|"I"|"J"
+ |"K"|"L"|"M"|"N"|"O"|"P"|"Q"|"R"|"S"|"T"
+ |"U"|"V"|"W"|"X"|"Y"|"Z"
+ |"a"|"b"|"c"|"d"|"e"|"f"|"g"|"h"|"i"|"j"
+ |"k"|"l"|"m"|"n"|"o"|"p"|"q"|"r"|"s"|"t"
+ |"u"|"v"|"w"|"x"|"y"|"z"))
+
+
+invalidPin ERROR ::= {CODE global:{sETOID 10}}
+invalidTan ERROR ::= {CODE global:{sETOID 11}}
+pinNotProvided ERROR ::= {CODE global:{sETOID 17}}
+invalidNewPin ERROR ::= {CODE global:{sETOID 12}}
+userControlBlocked ERROR ::= {CODE global:{sETOID 13}}
+changeOfPinRequired ERROR ::= {CODE global:{sETOID 14}}
+primitivePin ERROR ::= {CODE global:{sETOID 15}}
+newPinIsOldPin ERROR ::= {CODE global:{sETOID 16}}
+
+
+sETOID OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) 1002 operations-and-errors(1)}
+
+modifyPin ModifyPin ::= globalValue {sETOID 1}
+possibleFraudulentPinUse PossibleFraudulentPinUse ::= globalValue {sETOID 2}
+possibleFraudulentTanUse PossibleFraudulentTanUse ::= globalValue {sETOID 3}
+
+invalidPin InvalidPin ::= globalValue {sETOID 10}
+pinNotProvided PinNotProvided ::= globalValue {sETOID 11}
+invalidNewPin InvalidNewPin ::= globalValue {sETOID 12}
+userControlBlocked UserControlBlocked ::= globalValue {sETOID 13}
+changeOfPinRequired ChangeOfPinRequired ::= globalValue {sETOID 14}
+primitivePin PrimitivePin ::= globalValue {sETOID 15}
+newPinIsOldPin NewPinIsOldPin ::= globalValue {sETOID 16}
+invalidTan InvalidTan ::= globalValue {sETOID 17}
+
+
+END -- of Set-Function-Operations-and-Errors
+
diff --git a/epan/dissectors/asn1/isdn-sup/Three-Party-Operations.asn b/epan/dissectors/asn1/isdn-sup/Three-Party-Operations.asn
new file mode 100644
index 00000000..5704d476
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/Three-Party-Operations.asn
@@ -0,0 +1,53 @@
+--
+-- EN 300 188-1 V1.2.4 (1998-06)
+--
+Three-Party-Operations {ccitt identified-organization etsi (0) 188 operations-and-types (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+EXPORTS
+ begin3PTY,
+ end3PTY;
+
+IMPORTS
+ OPERATION
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) notation (0)}
+
+
+ notSubscribed,
+ notAvailable,
+ invalidCallState,
+ resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed
+ FROM General-Errors
+ {itu-t identified-organization etsi (0) 196 general-errors (2)};
+
+ begin3PTY OPERATION ::=
+ {
+ ERRORS {
+ notSubscribed |
+ notAvailable |
+ invalidCallState |
+ resourceUnavailable |
+ supplementaryServiceInteractionNotAllowed }
+ -- ETS 300 188, aug 1993 does not provide procedures for the generation
+ -- of the error 'notAvailable'
+
+ CODE local:4
+ }
+
+
+ end3PTY OPERATION ::=
+ {
+ ERRORS {
+ invalidCallState }
+
+ CODE local:5
+ }
+
+
+
+END \ No newline at end of file
diff --git a/epan/dissectors/asn1/isdn-sup/User-To-User-Signalling-Operations.asn b/epan/dissectors/asn1/isdn-sup/User-To-User-Signalling-Operations.asn
new file mode 100644
index 00000000..05269a43
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/User-To-User-Signalling-Operations.asn
@@ -0,0 +1,48 @@
+--
+-- EN 300 286-1 Ver. 1.2.4
+--
+
+User-To-User-Signalling-Operations {ccitt identified-organization etsi(0) 286
+ operations-and-errors(1)}
+
+DEFINITIONS ::=
+BEGIN
+
+EXPORTS UserUserService, RejectedByUser, RejectedByNetwork, Service, Preferred;
+
+IMPORTS OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)};
+
+ userUserService OPERATION ::=
+ {
+ ARGUMENT UserUserServiceArg
+ ERRORS {
+ rejectedByTheUser |
+ rejectedByTheNetwork }
+
+ CODE local:1
+ }
+
+UserUserServiceArg ::= SEQUENCE {
+ service [1] IMPLICIT Service,
+ preferred [2] IMPLICIT Preferred }
+
+Service ::= INTEGER {
+ service1 (1),
+ service2 (2),
+ service3 (3)}
+ (1..3)
+
+Preferred ::= BOOLEAN -- True = preferred request
+ -- False = required request
+rejectedByTheNetwork ERROR ::= {CODE local:1}
+rejectedByTheUser ERROR ::= {CODE local:2}
+
+
+--userUserService UserUserService ::= 1
+--rejectedByNetwork RejectedByNetwork ::= 1
+--rejectedByUser RejectedByUser ::= 2
+
+END -- of User-To-User-Signalling-Operations
+
diff --git a/epan/dissectors/asn1/isdn-sup/isdn-sup.cnf b/epan/dissectors/asn1/isdn-sup/isdn-sup.cnf
new file mode 100644
index 00000000..adf10927
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/isdn-sup.cnf
@@ -0,0 +1,81 @@
+# isdn-sup.cnf
+# isdn_sup conformation file
+# 2013 Anders Broman
+
+#.OPT
+BER
+GROUP_BY_PROT
+-o isdn-sup
+#.END
+
+#.EXPORTS EXTERN VALS_WITH_TABLE
+
+
+#.MODULE
+Diversion-Operations isdn-sup
+MCID-Operations isdn-sup
+Closed-User-Group-Service-Operations isdn-sup
+Advice-of-Charge-Operations isdn-sup
+MLPP-operations isdn-sup
+
+#.PDU
+
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+
+#.END
+
+#.NO_EMIT
+PresentedAddressUnscreened
+PresentedNumberScreened
+NumberScreened
+#.END
+
+#.TYPE_RENAME
+AOCDChargingUnitInfo/specificChargingUnits AOCDSpecificChargingUnits
+AOCDCurrencyInfo/specificCurrency AOCDSpecificCurrency
+AOCEChargingUnitInfo/cc AOCEChargingUnitCc
+AOCEChargingUnitInfo/cc/specificChargingUnits AOCECcSpecificChargingUnits
+AOCECurrencyInfo/cc AOCECurrencyCc
+AOCECurrencyInfo/cc/specificCurrency AOCECcSpecificCurrency
+AOCSCurrencyInfo/chargingtype/specificCurrency AOCSChargingTypeSpecificCurrency
+RecordedUnits/cc RecoredUnitsCc
+#.END
+
+#.FIELD_RENAME
+AOCDChargingUnitInfo/specificChargingUnits aocdspecificchargingunits
+AOCDCurrencyInfo/specificCurrency aocdspecificCurrency
+AOCEChargingUnitInfo/cc aocechargingunitcc
+AOCEChargingUnitInfo/cc/specificChargingUnits aoceccspecificchargingunits
+AOCECurrencyInfo/cc aocecurrencycc
+AOCECurrencyInfo/cc/specificCurrency aoceccspecificCurrency
+AOCSCurrencyInfo/chargingtype/specificCurrency aocschargingtypespecificCurrency
+PresentedAddressScreened/presentationAllowedAddress presentationallowedaddressscreened
+PresentedAddressScreened/presentationRestrictedAddress presentationrestrictedaddressscreened
+PresentedNumberScreened/presentationAllowedNumber presentationallowednumberscreened
+PresentedNumberScreened/presentationRestrictedNumber presentationrestrictednumberscreened
+RecordedUnits/cc recoredunitscc
+#.END
+
+#.TABLE10_BODY OPERATION.#&operationCode.local
+ { %(&operationCode)3s, "%(_name)s" },
+#.END
+
+#.TABLE11_BODY OPERATION.&operationCode.local
+ /* %(_name)-24s */ { %(&operationCode)3s, %(_argument_pdu)s, %(_result_pdu)s },
+#.END
+
+#.TABLE31_BODY OPERATION.&operationCode.global
+ /* %(_name)-24s */ { %(&operationCode)3s, %(_argument_pdu)s, %(_result_pdu)s },
+#.END
+
+#.TABLE20_BODY ERROR
+ { %(&errorCode)4s, "%(_name)s" },
+#.END
+
+#.TABLE21_BODY ERROR
+ /* %(_name)-24s */ { %(&errorCode)4s, %(_parameter_pdu)s },
+#.END
+
+#.TYPE_ATTR
+#.END
diff --git a/epan/dissectors/asn1/isdn-sup/packet-isdn-sup-template.c b/epan/dissectors/asn1/isdn-sup/packet-isdn-sup-template.c
new file mode 100644
index 00000000..4b0c9eb6
--- /dev/null
+++ b/epan/dissectors/asn1/isdn-sup/packet-isdn-sup-template.c
@@ -0,0 +1,362 @@
+/* packet-isdn-sup-template.c
+ * Routines for ETSI Integrated Services Digital Network (ISDN)
+ * supplementary services
+ * Copyright 2013, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References: ETSI 300 374
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+
+#include "packet-ber.h"
+
+#define PNAME "ISDN supplementary services"
+#define PSNAME "ISDN_SUP"
+#define PFNAME "isdn_sup"
+
+void proto_register_isdn_sup(void);
+void proto_reg_handoff_isdn_sup(void);
+
+static dissector_handle_t isdn_sup_arg_handle;
+static dissector_handle_t isdn_sup_res_handle;
+static dissector_handle_t isdn_sup_err_handle;
+
+#include "packet-isdn-sup-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_isdn_sup = -1;
+static int hf_isdn_sup_operation = -1;
+static int hf_isdn_sup_error = -1;
+
+/* Global variables */
+
+#if 0
+/* ROSE context */
+static rose_ctx_t isdn_sup_rose_ctx;
+#endif
+
+typedef struct _isdn_sup_op_t {
+ gint32 opcode;
+ dissector_t arg_pdu;
+ dissector_t res_pdu;
+} isdn_sup_op_t;
+
+typedef struct _isdn_global_sup_op_t {
+ const char* oid;
+ dissector_t arg_pdu;
+ dissector_t res_pdu;
+} isdn_sup_global_op_t;
+
+
+typedef struct isdn_sup_err_t {
+ gint32 errcode;
+ dissector_t err_pdu;
+} isdn_sup_err_t;
+
+static const value_string isdn_sup_str_operation[] = {
+#include "packet-isdn-sup-table10.c"
+ { 0, NULL}
+};
+
+
+static const value_string isdn_sup_str_error[] = {
+#include "packet-isdn-sup-table20.c"
+ { 0, NULL}
+};
+
+static int hf_isdn_sup = -1;
+
+#include "packet-isdn-sup-hf.c"
+
+
+/* Initialize the subtree pointers */
+static gint ett_isdn_sup = -1;
+
+#include "packet-isdn-sup-ett.c"
+
+/* static expert_field ei_isdn_sup_unsupported_arg_type = EI_INIT; */
+static expert_field ei_isdn_sup_unsupported_result_type = EI_INIT;
+static expert_field ei_isdn_sup_unsupported_error_type = EI_INIT;
+
+/* Preference settings default */
+
+/* Global variables */
+
+#include "packet-isdn-sup-fn.c"
+
+static const isdn_sup_op_t isdn_sup_op_tab[] = {
+#include "packet-isdn-sup-table11.c"
+};
+
+
+static const isdn_sup_global_op_t isdn_sup_global_op_tab[] = {
+
+#include "packet-isdn-sup-table31.c"
+};
+
+static const isdn_sup_err_t isdn_sup_err_tab[] = {
+#include "packet-isdn-sup-table21.c"
+};
+
+
+static const isdn_sup_op_t *get_op(gint32 opcode) {
+ int i;
+
+ /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
+ for (i = array_length(isdn_sup_op_tab) - 1; i >= 0; i--)
+ if (isdn_sup_op_tab[i].opcode == opcode)
+ return &isdn_sup_op_tab[i];
+ return NULL;
+}
+
+static const isdn_sup_err_t *get_err(gint32 errcode) {
+ int i;
+
+ /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
+ for (i = array_length(isdn_sup_err_tab) - 1; i >= 0; i--)
+ if (isdn_sup_err_tab[i].errcode == errcode)
+ return &isdn_sup_err_tab[i];
+ return NULL;
+}
+
+/*--- dissect_isdn_sup_arg ------------------------------------------------------*/
+static int
+dissect_isdn_sup_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ int offset = 0;
+ rose_ctx_t *rctx;
+ gint32 opcode = 0;
+ const gchar *p;
+ const isdn_sup_op_t *op_ptr;
+ proto_item *ti;
+ proto_tree *isdn_sup_tree;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rctx = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rctx);
+
+ if (rctx->d.pdu != 1) /* invoke */
+ return offset;
+ if (rctx->d.code == 0) { /* local */
+ opcode = rctx->d.code_local;
+ } else {
+ return offset;
+ }
+ op_ptr = get_op(opcode);
+ if (!op_ptr)
+ return offset;
+
+ ti = proto_tree_add_item(tree, proto_isdn_sup, tvb, offset, -1, ENC_NA);
+ isdn_sup_tree = proto_item_add_subtree(ti, ett_isdn_sup);
+
+ proto_tree_add_uint(isdn_sup_tree, hf_isdn_sup_operation, tvb, 0, 0, opcode);
+ p = try_val_to_str(opcode, VALS(isdn_sup_str_operation));
+ if (p) {
+ proto_item_append_text(ti, ": %s", p);
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
+
+ if (op_ptr->arg_pdu)
+ offset = op_ptr->arg_pdu(tvb, pinfo, isdn_sup_tree, NULL);
+ else
+ if (tvb_reported_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_expert(tree, pinfo, &ei_isdn_sup_unsupported_error_type, tvb, offset, -1);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+/*--- dissect_isdn_sup_res -------------------------------------------------------*/
+static int
+dissect_isdn_sup_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ gint offset = 0;
+ rose_ctx_t *rctx;
+ gint32 opcode = 0;
+ const gchar *p;
+ const isdn_sup_op_t *op_ptr;
+ proto_item *ti;
+ proto_tree *isdn_sup_tree;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rctx = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rctx);
+
+ if (rctx->d.pdu != 2) /* returnResult */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ opcode = rctx->d.code_local;
+ op_ptr = get_op(opcode);
+ if (!op_ptr)
+ return offset;
+
+ ti = proto_tree_add_item(tree, proto_isdn_sup, tvb, offset, -1, ENC_NA);
+ isdn_sup_tree = proto_item_add_subtree(ti, ett_isdn_sup);
+
+ proto_tree_add_uint(isdn_sup_tree, hf_isdn_sup_operation, tvb, 0, 0, opcode);
+ p = try_val_to_str(opcode, VALS(isdn_sup_str_operation));
+ if (p) {
+ proto_item_append_text(ti, ": %s", p);
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
+
+ if (op_ptr->res_pdu)
+ offset = op_ptr->res_pdu(tvb, pinfo, isdn_sup_tree, NULL);
+ else
+ if (tvb_reported_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_expert(tree, pinfo, &ei_isdn_sup_unsupported_result_type, tvb, offset, -1);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+
+/*--- dissect_isdn_sup_err ------------------------------------------------------*/
+static int
+dissect_isdn_sup_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ int offset = 0;
+ rose_ctx_t *rctx;
+ gint32 errcode;
+ const isdn_sup_err_t *err_ptr;
+ const gchar *p;
+ proto_item *ti;
+ proto_tree *isdn_sup_tree;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rctx = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rctx);
+
+ if (rctx->d.pdu != 3) /* returnError */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ errcode = rctx->d.code_local;
+ err_ptr = get_err(errcode);
+ if (!err_ptr)
+ return offset;
+
+ ti = proto_tree_add_item(tree, proto_isdn_sup, tvb, offset, -1, ENC_NA);
+ isdn_sup_tree = proto_item_add_subtree(ti, ett_isdn_sup);
+
+ proto_tree_add_uint(isdn_sup_tree, hf_isdn_sup_error, tvb, 0, 0, errcode);
+ p = try_val_to_str(errcode, VALS(isdn_sup_str_error));
+ if (p) {
+ proto_item_append_text(ti, ": %s", p);
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
+
+ if (err_ptr->err_pdu)
+ offset = err_ptr->err_pdu(tvb, pinfo, isdn_sup_tree, NULL);
+ else
+ if (tvb_reported_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_expert(tree, pinfo, &ei_isdn_sup_unsupported_error_type, tvb, offset, -1);
+ offset += tvb_reported_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+
+/*--- proto_reg_handoff_isdn_sup ---------------------------------------*/
+
+void proto_reg_handoff_isdn_sup(void) {
+ int i;
+#if 0
+ dissector_handle_t q931_handle;
+ q931_handle = find_dissector("q931");
+#endif
+
+ for (i=0; i<(int)array_length(isdn_sup_op_tab); i++) {
+ dissector_add_uint("q932.ros.etsi.local.arg", isdn_sup_op_tab[i].opcode, isdn_sup_arg_handle);
+ dissector_add_uint("q932.ros.etsi.local.res", isdn_sup_op_tab[i].opcode, isdn_sup_res_handle);
+ }
+
+ for (i=0; i<(int)array_length(isdn_sup_global_op_tab); i++) {
+ if(isdn_sup_global_op_tab[i].arg_pdu)
+ dissector_add_string("q932.ros.global.arg", isdn_sup_global_op_tab[i].oid, create_dissector_handle(isdn_sup_global_op_tab[i].arg_pdu, proto_isdn_sup));
+ if(isdn_sup_global_op_tab[i].res_pdu)
+ dissector_add_string("q932.ros.global.res", isdn_sup_global_op_tab[i].oid, create_dissector_handle(isdn_sup_global_op_tab[i].res_pdu, proto_isdn_sup));
+ }
+
+ for (i=0; i<(int)array_length(isdn_sup_err_tab); i++) {
+ dissector_add_uint("q932.ros.etsi.local.err", isdn_sup_err_tab[i].errcode, isdn_sup_err_handle);
+ }
+
+
+}
+
+void proto_register_isdn_sup(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_isdn_sup,
+ { "isdn_sup", "isdn_sup.1",
+ FT_INT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_isdn_sup_operation,
+ { "Operation", "isdn_sup.operation",
+ FT_UINT8, BASE_DEC, VALS(isdn_sup_str_operation), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_isdn_sup_error,
+ { "Error", "isdn_sup.error",
+ FT_UINT8, BASE_DEC, VALS(isdn_sup_str_error), 0x0,
+ NULL, HFILL }
+ },
+
+#include "packet-isdn-sup-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_isdn_sup,
+
+#include "packet-isdn-sup-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+#if 0
+ { &ei_isdn_sup_unsupported_arg_type, { "isdn_sup.unsupported.arg_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ARGUMENT TYPE (ETSI sup)", EXPFILL }},
+#endif
+ { &ei_isdn_sup_unsupported_result_type, { "isdn_sup.unsupported.result_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED RESULT TYPE (ETSI sup)", EXPFILL }},
+ { &ei_isdn_sup_unsupported_error_type, { "isdn_sup.unsupported.error_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ERROR TYPE (ETSI sup)", EXPFILL }},
+ };
+
+ expert_module_t* expert_isdn_sup;
+
+ /* Register protocol */
+ proto_isdn_sup = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_isdn_sup, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_isdn_sup = expert_register_protocol(proto_isdn_sup);
+ expert_register_field_array(expert_isdn_sup, ei, array_length(ei));
+
+ /* Register dissectors */
+ isdn_sup_arg_handle = register_dissector(PFNAME "_arg", dissect_isdn_sup_arg, proto_isdn_sup);
+ isdn_sup_res_handle = register_dissector(PFNAME "_res", dissect_isdn_sup_res, proto_isdn_sup);
+ isdn_sup_err_handle = register_dissector(PFNAME "_err", dissect_isdn_sup_err, proto_isdn_sup);
+}
diff --git a/epan/dissectors/asn1/its/CAM-PDU-Descriptions.asn b/epan/dissectors/asn1/its/CAM-PDU-Descriptions.asn
new file mode 100644
index 00000000..80a3a5bb
--- /dev/null
+++ b/epan/dissectors/asn1/its/CAM-PDU-Descriptions.asn
@@ -0,0 +1,336 @@
+CAM-PDU-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) camPduRelease2 (103900) major-version-2 (2) minor-version-1 (1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ItsPduHeader, CauseCodeV2, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, LanePosition, EmergencyPriority, EmbarkationStatus, Speed,
+DriveDirection, AccelerationComponent, StationType, ExteriorLights, DangerousGoodsBasic, SpecialTransportType, LightBarSirenInUse,
+VehicleRole, VehicleLength, VehicleWidth, Path, RoadworksSubCauseCode, ClosedLanes, TrafficRule, SpeedLimit, SteeringWheelAngle, PerformanceClass, YawRate,
+PtActivation, ProtectedCommunicationZonesRSU, CenDsrcTollingZone, GenerationDeltaTime, BasicContainer
+
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-1 (1)} WITH SUCCESSORS
+;
+
+
+-- The root data frame for cooperative awareness messages
+
+/**
+* This type represents the CAM PDU.
+*
+* It shall include the following componenets:
+*
+* @field header: the header of the CAM PDU.
+*
+* @field cam: the payload of the CAM PDU.
+*/
+
+CAM ::= SEQUENCE {
+ header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(cam)}),
+ cam CamPayload
+}
+
+/**
+* This type represents the CAM payload.
+*
+* It shall include the following components:
+*
+* @field generationDeltaTime: Time corresponding to the time of the reference position in the CAM, considered as time of the CAM generation.
+*
+* @field camParameters: The sequence of CAM mandatory and optional container.
+*
+*/
+CamPayload ::= SEQUENCE {
+ generationDeltaTime GenerationDeltaTime,
+ camParameters CamParameters
+}
+
+/**
+* @field basicContainer: the mandatory basic container of the CAM.
+*
+* @field highFrequencyContainer: the mandatory container represents the high frequency of the CAM.
+*
+* @field lowFrequencyContainer: the optional conatainer represents the low frequency of the CAM.
+*
+* @field specialVehicleContainer: The special container of the CAM shall be present as defined in clause 6.1.2.
+* The content of the container shall be set according to the value of the vehicleRole component as specified in Table 5.
+*/
+CamParameters ::= SEQUENCE {
+ basicContainer BasicContainer,
+ highFrequencyContainer HighFrequencyContainer,
+ lowFrequencyContainer LowFrequencyContainer OPTIONAL,
+ specialVehicleContainer SpecialVehicleContainer OPTIONAL,
+ ...
+}
+
+/**
+* This type represents the high frequency container.
+*
+* It shall include the following components:
+*
+* @field basicVehicleContainerHighFrequency: The mandatory high frequency container of the CAM when the originating ITS-S is of the type vehicle ITS-S.
+*
+* @field rsuContainerHighFrequency: The mandatory high frequency container of CAM when the type of the originating ITS-S is RSU ITS-S.
+*/
+HighFrequencyContainer ::= CHOICE {
+ basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency,
+ rsuContainerHighFrequency RSUContainerHighFrequency,
+ ...
+}
+
+/**
+* This type represents the low frequency container.
+*
+* It shall include the following components:
+*
+* The low frequency container of the CAM when the originating ITS-S is of the type vehicle ITS-S. It shall be present as defined in clause 6.1.2.
+*/
+ LowFrequencyContainer ::= CHOICE {
+ basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency (WITH COMPONENTS {..., pathHistory (SIZE (0..23))}),
+ ...
+}
+
+/**
+* This type represent the Special Vehicle Container.
+*
+* It shall include the following components:
+*
+* @field publicTransportContainer: If the vehicleRole component is set to publicTransport(1) this container shall be present.
+*
+* @field specialTransportContainer: If the vehicleRole component is set to specialTransport(2) this container shall be present.
+*
+* @field dangerousGoodsContainer: If the vehicleRole component is set to dangerousGoods(3) this container shall be present.
+*
+* @field roadWorksContainerBasic: If the vehicleRole component is set to roadWork(4) this container shall be present.
+*
+* @field rescueContainer: If the vehicleRole component is set to rescue(5) this container shall be present.
+*
+* @field emergencyContainer: If the vehicleRole component is set to emergency(6) this container shall be present.
+*
+* @field safetyCarContainer: If the vehicleRole component is set to safetyCar(7) this container shall be present.
+*/
+SpecialVehicleContainer ::= CHOICE {
+ publicTransportContainer PublicTransportContainer,
+ specialTransportContainer SpecialTransportContainer,
+ dangerousGoodsContainer DangerousGoodsContainer,
+ roadWorksContainerBasic RoadWorksContainerBasic,
+ rescueContainer RescueContainer,
+ emergencyContainer EmergencyContainer,
+ safetyCarContainer SafetyCarContainer,
+ ...
+}
+
+/**
+* This type contains detaild information of the Basic Vehicle Container High Frequency.
+*
+* It shall include the following components:
+*
+* @field heading: It represent the heading and heading accuracy of the vehicle movement of the originating ITS-S with regards to the true north.
+* The heading accuracy provided in the heading Confidence value shall provide the accuracy of the measured vehicle heading with a confidence level
+* of 95 %. Otherwise, the value of the headingConfidence shall be set to unavailable.
+*
+* @field speed: It represent driving speed and speed accuracy of the originating ITS-S. The speed accuracy provided in the speedConfidence shall
+* provide the accuracy of the speed value with a confidence level of 95 %. Otherwise, the speedConfidence shall be set to unavailable.
+*
+* @field driveDirection: This component represent the vehicle drive direction (forward or backward) of the originating ITS-S.
+*
+* @field vehicleLength: This component represent the vehicle length value and vehicle length confidence indication of the vehicle ITS-S that
+* originate the CAM.
+*
+* @field vehicleWidth: This component represents the Vehicle Width of the vehicle ITS-S that originates the CAM excluding side mirrors and possible
+* similar extensions.
+*
+* @field longitudinalAcceleration: It represent the vehicle Longitudinal Acceleration of the originating ITS-S in the centre of the mass of the
+* empty vehicle. It shall include the measured vehicle longitudinal acceleration and its accuracy value with the confidence level of 95 %.
+* Otherwise, the longitudinalAccelerationConfidence shall be set to unavailable.
+*
+* @field curvature: this component reppresent the actual trajectory of the vehicle.
+*
+* @field curvatureCalculationMode: It indicates whether vehicle yaw-rate is used in the calculation of the curvature of the vehicle ITS-S that
+* originates the CAM.
+*
+* @field yawRate: It denotes the vehicle rotation around the centre of mass of the empty vehicle. The leading sign denotes the direction of
+* rotation. The value is negative if the motion is clockwise when viewing from the top.
+* yawRateConfidence denotes the accuracy for the 95 % confidence level for the measured yawRateValue. Otherwise, the value of yawRateConfidence
+* shall be set to unavailable.
+*
+* @field accelerationControl: an optional component which represents the current status of the vehcile mechnanisms controlling the longitudinal movement of the vehcile ITS-S
+* (e.g. brake pedal, gas pedal, etc. engaged) that originate the CAM.
+*
+* @field lanePosition: an optional component which represents the lanePosition of the referencePosition of a vehicle. This component shall be present if the data is
+* available at the originating ITS-S.
+*
+* @field steeringWheelAngle: an optional component which indicates the steering wheel angle and accuracy as measured at the vehicle ITS-S that originates the CAM.
+*
+* @field lateralAcceleration: an optional component which represents the vehicle lateral acceleration of the originating ITS-S in the centre of the mass of the empty vehicle.
+* It shall include the measured vehicle lateral acceleration and its accuracy value with the confidence level of 95%.
+*
+* @field verticalAcceleration: an optional component which indicates the originating ITS-S in the centre of the mass of the empty vehicle.
+*
+* @field performanceClass: an optional component characterizes the maximum age of the CAM data elements with regard to the generation delta time.
+*
+* @field cenDsrcTollingZone: an optional component which represents the information about the position of a CEN DSRC Tolling Station operating in the 5,8 GHz frequency band.
+*/
+BasicVehicleContainerHighFrequency ::= SEQUENCE {
+ heading Heading,
+ speed Speed,
+ driveDirection DriveDirection,
+ vehicleLength VehicleLength,
+ vehicleWidth VehicleWidth,
+ longitudinalAcceleration AccelerationComponent,
+ curvature Curvature,
+ curvatureCalculationMode CurvatureCalculationMode,
+ yawRate YawRate,
+ accelerationControl AccelerationControl OPTIONAL,
+ lanePosition LanePosition OPTIONAL,
+ steeringWheelAngle SteeringWheelAngle OPTIONAL,
+ lateralAcceleration AccelerationComponent OPTIONAL,
+ verticalAcceleration AccelerationComponent OPTIONAL,
+ performanceClass PerformanceClass OPTIONAL,
+ cenDsrcTollingZone CenDsrcTollingZone OPTIONAL
+}
+
+/**
+* This type contains detaild information of the Basic Vehicle Container Low Frequency.
+*
+* It shall include the following components:
+*
+* @field vehicleRole: represent the role of the vehicle ITS-S that originates the CAM. Only values 0 to 7 shall be used.
+*
+* @field exteriorLights: represent the status of the most important exterior lights switches of the vehicle ITS-S that originates the CAM.
+*
+* @field pathHistory: which represents the vehicle's recent movement over some past time and/or distance. It consists of a list of path points,
+* each represented as DF PathPoint. The list of path points may consist of up to 23 elements.
+*/
+BasicVehicleContainerLowFrequency ::= SEQUENCE {
+ vehicleRole VehicleRole,
+ exteriorLights ExteriorLights,
+ pathHistory Path
+}
+
+/**
+* This type contains detaild information of the Public Transport Container.
+*
+* It shall include the following components:
+*
+* @field embarkationStatus: It indicates whether the passenger embarkation is currently ongoing.
+*
+* @field ptActivation: an optional component used for controlling traffic lights, barriers, bollards, etc.
+*/
+PublicTransportContainer ::= SEQUENCE {
+ embarkationStatus EmbarkationStatus,
+ ptActivation PtActivation OPTIONAL
+}
+
+/**
+* This type contains detaild information of the Special Transport Container.
+*
+* It shall include the following components:
+*
+* @field specialTransportType: which indicates whether the originating ITS-S is mounted on a special transport vehicle with heavy or oversized load
+* or both. It shall be present if the data is available in originating ITS-S.
+*
+* @field lightBarSirenInUse: indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
+*/
+SpecialTransportContainer ::= SEQUENCE {
+ specialTransportType SpecialTransportType,
+ lightBarSirenInUse LightBarSirenInUse
+}
+
+/**
+* This type contains detaild information of the Dangerous Goods Container.
+*
+* It shall include the following components:
+*
+* @field dangerousGoodsBasic: identifies the type of the dangerous goods transported by the vehicle that originates the CAM. It shall be present if
+* the data is available in the originating ITS S.
+*/
+ DangerousGoodsContainer ::= SEQUENCE {
+ dangerousGoodsBasic DangerousGoodsBasic
+ }
+
+ /**
+* This type contains detaild information of the Road Works Container Basic.
+*
+* It shall include the following components:
+*
+* @field roadworksSubCauseCode: The optional component, in case the originating ITS-S is mounted to a vehicle ITS-S participating to roadwork. It
+* provides information on the type of roadwork that it is currently undertaking. This component shall be present if the data is available in
+* originating ITS S.
+*
+* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
+*
+* @field closedLanes: an optional component which provides information about the opening/closure status of the lanes ahead. Lanes are counted from
+* the outside boarder of the road. If a lane is closed to traffic, the corresponding bit shall be set to 1.
+*/
+ RoadWorksContainerBasic ::= SEQUENCE {
+ roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL,
+ lightBarSirenInUse LightBarSirenInUse,
+ closedLanes ClosedLanes OPTIONAL
+ }
+
+/**
+* This type contains detaild information of the Rescue Container.
+*
+* It shall include the following components:
+*
+* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
+*/
+RescueContainer ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse
+}
+
+/**
+* This type contains detaild information of the Emergency Container.
+*
+* It shall include the following components:
+*
+* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
+*
+* @field incidentIndication: the optional incident related to the roadworks to provide additional information of the roadworks zone.
+*
+* @field emergencyPriority: the optional component represent right of way indicator of the vehicle ITS-S that originates the CAM PDU.
+*/
+EmergencyContainer ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse,
+ incidentIndication CauseCodeV2 OPTIONAL,
+ emergencyPriority EmergencyPriority OPTIONAL
+}
+
+/**
+* This type contains detaild information of the Safety Car Container.
+*
+* It shall include the following components:
+*
+* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
+*
+* @field incidentIndication: the optional incident related to the roadworks to provide additional information of the roadworks zone.
+*
+* @field trafficRule: an optional rule indicates whether vehicles are allowed to overtake a safety car that is originating this CAM.
+*
+* @field speedLimit: an optional speed indicates whether a speed limit is applied to vehicles following the safety car.
+*/
+SafetyCarContainer ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse,
+ incidentIndication CauseCodeV2 OPTIONAL,
+ trafficRule TrafficRule OPTIONAL,
+ speedLimit SpeedLimit OPTIONAL
+}
+
+/**
+* This type contains detaild information of the RSU Container High Frequency.
+*
+* It shall include the following components:
+*
+* @field protectedCommunicationZonesRSU: an optional Information about position of a CEN DSRC Tolling Station operating in the 5,8 GHz frequency
+* band. If this information is provided by RSUs a receiving vehicle ITS-S is prepared to adopt mitigation techniques when being in the vicinity of
+* CEN DSRC tolling stations.
+
+*/
+RSUContainerHighFrequency ::= SEQUENCE {
+ protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL,
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/its/CAM.asn b/epan/dissectors/asn1/its/CAM.asn
new file mode 100644
index 00000000..500e97c3
--- /dev/null
+++ b/epan/dissectors/asn1/its/CAM.asn
@@ -0,0 +1,139 @@
+-- https://www.etsi.org/deliver/etsi_en/302600_302699/30263702/01.04.01_30/en_30263702v010401v.pdf
+--
+CAM-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cam (2) version (2)
+}
+
+ DEFINITIONS AUTOMATIC TAGS ::=
+
+ BEGIN
+
+ IMPORTS
+
+ ItsPduHeader, ReferencePosition, AccelerationControl, CauseCode, Curvature,CurvatureCalculationMode,DriveDirection,
+ Heading, LanePosition, EmergencyPriority, EmbarkationStatus, Speed,
+ LongitudinalAcceleration, LateralAcceleration, VerticalAcceleration, StationType,
+ ExteriorLights, DangerousGoodsBasic, SpecialTransportType, LightBarSirenInUse, VehicleRole,
+ VehicleLength, VehicleWidth, PathHistoryV2, RoadworksSubCauseCode, ClosedLanes, TrafficRule,
+ SpeedLimit, SteeringWheelAngle, PerformanceClass, YawRate, ProtectedCommunicationZone, PtActivation,
+ Latitude, Longitude, ProtectedCommunicationZonesRSU, CenDsrcTollingZone
+ -- Wireshark modification
+ FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
+ ;
+ -- The root data frame for cooperative awareness messages
+ CAM ::= SEQUENCE {
+ header ItsPduHeader,
+ cam CoopAwareness
+ }
+
+ CoopAwareness ::= SEQUENCE {
+ generationDeltaTime GenerationDeltaTime,
+ camParameters CamParameters
+ }
+
+ CamParameters ::= SEQUENCE {
+ basicContainer BasicContainer,
+ highFrequencyContainer HighFrequencyContainer,
+ lowFrequencyContainer LowFrequencyContainer OPTIONAL,
+ specialVehicleContainer SpecialVehicleContainer OPTIONAL,
+ ...
+ }
+
+ HighFrequencyContainer ::= CHOICE {
+ basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency,
+ rsuContainerHighFrequency RSUContainerHighFrequency,
+ ...
+ }
+
+ LowFrequencyContainer ::= CHOICE {
+ basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency,
+ ...
+ }
+
+ SpecialVehicleContainer ::= CHOICE {
+ publicTransportContainer PublicTransportContainer,
+ specialTransportContainer SpecialTransportContainer,
+ dangerousGoodsContainer DangerousGoodsContainer,
+ roadWorksContainerBasic RoadWorksContainerBasic,
+ rescueContainer RescueContainer,
+ emergencyContainer EmergencyContainer,
+ safetyCarContainer SafetyCarContainer,
+ ...
+ }
+
+ BasicContainer ::= SEQUENCE {
+ stationType StationType,
+ referencePosition ReferencePosition,
+ ...
+ }
+
+ BasicVehicleContainerHighFrequency ::= SEQUENCE {
+ heading Heading,
+ speed Speed,
+ driveDirection DriveDirection,
+ vehicleLength VehicleLength,
+ vehicleWidth VehicleWidth,
+ longitudinalAcceleration LongitudinalAcceleration,
+ curvature Curvature,
+ curvatureCalculationMode CurvatureCalculationMode,
+ yawRate YawRate,
+ accelerationControl AccelerationControl OPTIONAL,
+ lanePosition LanePosition OPTIONAL,
+ steeringWheelAngle SteeringWheelAngle OPTIONAL,
+ lateralAcceleration LateralAcceleration OPTIONAL,
+ verticalAcceleration VerticalAcceleration OPTIONAL,
+ performanceClass PerformanceClass OPTIONAL,
+ cenDsrcTollingZone CenDsrcTollingZone OPTIONAL
+ }
+
+ BasicVehicleContainerLowFrequency ::= SEQUENCE {
+ vehicleRole VehicleRole,
+ exteriorLights ExteriorLights,
+ pathHistory PathHistoryV2
+ }
+
+ PublicTransportContainer ::= SEQUENCE {
+ embarkationStatus EmbarkationStatus,
+ ptActivation PtActivation OPTIONAL
+ }
+
+ SpecialTransportContainer ::= SEQUENCE {
+ specialTransportType SpecialTransportType,
+ lightBarSirenInUse LightBarSirenInUse
+ }
+
+ DangerousGoodsContainer ::= SEQUENCE {
+ dangerousGoodsBasic DangerousGoodsBasic
+ }
+
+ RoadWorksContainerBasic ::= SEQUENCE {
+ roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL,
+ lightBarSirenInUse LightBarSirenInUse,
+ closedLanes ClosedLanes OPTIONAL
+ }
+
+ RescueContainer ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse
+ }
+
+ EmergencyContainer ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse,
+ incidentIndication CauseCode OPTIONAL,
+ emergencyPriority EmergencyPriority OPTIONAL
+ }
+
+ SafetyCarContainer ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse,
+ incidentIndication CauseCode OPTIONAL,
+ trafficRule TrafficRule OPTIONAL,
+ speedLimit SpeedLimit OPTIONAL
+ }
+
+ RSUContainerHighFrequency ::= SEQUENCE {
+ protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL,
+ ...
+ }
+
+ GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)
+
+END
diff --git a/epan/dissectors/asn1/its/CAMv1.asn b/epan/dissectors/asn1/its/CAMv1.asn
new file mode 100644
index 00000000..ce274548
--- /dev/null
+++ b/epan/dissectors/asn1/its/CAMv1.asn
@@ -0,0 +1,138 @@
+CAMv1-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cam (2) version (1)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ItsPduHeader, CauseCode, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, LanePosition, EmergencyPriority,
+EmbarkationStatus, Speed, DriveDirection, LongitudinalAcceleration, LateralAcceleration, VerticalAcceleration, StationType, ExteriorLights,
+DangerousGoodsBasic, SpecialTransportType, LightBarSirenInUse, VehicleRole, VehicleLength, VehicleWidth, PathHistory, RoadworksSubCauseCode,
+ClosedLanes, TrafficRule, SpeedLimit, SteeringWheelAngle, PerformanceClass, YawRate, ProtectedCommunicationZone, PtActivation, Latitude,
+Longitude, ProtectedCommunicationZonesRSU, CenDsrcTollingZone
+
+FROM ITS-ContainerV1 {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)
+};
+
+
+-- The root data frame for cooperative awareness messages
+
+CAMv1 ::= SEQUENCE {
+ header ItsPduHeader,
+ camv1 CoopAwarenessV1
+}
+
+CoopAwarenessV1 ::= SEQUENCE {
+ generationDeltaTime GenerationDeltaTime,
+ camParameters CamParameters
+}
+
+CamParameters ::= SEQUENCE {
+ basicContainer BasicContainer,
+ highFrequencyContainer HighFrequencyContainer,
+ lowFrequencyContainer LowFrequencyContainer OPTIONAL,
+ specialVehicleContainer SpecialVehicleContainer OPTIONAL,
+ ...
+}
+
+HighFrequencyContainer ::= CHOICE {
+ basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency,
+ rsuContainerHighFrequency RSUContainerHighFrequency,
+ ...
+}
+
+ LowFrequencyContainer ::= CHOICE {
+ basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency,
+ ...
+}
+
+SpecialVehicleContainer ::= CHOICE {
+ publicTransportContainer PublicTransportContainer,
+ specialTransportContainer SpecialTransportContainer,
+ dangerousGoodsContainer DangerousGoodsContainer,
+ roadWorksContainerBasic RoadWorksContainerBasic,
+ rescueContainer RescueContainer,
+ emergencyContainer EmergencyContainer,
+ safetyCarContainer SafetyCarContainer,
+ ...
+}
+
+BasicContainer ::= SEQUENCE {
+ stationType StationType,
+ referencePosition ReferencePosition,
+ ...
+}
+
+BasicVehicleContainerHighFrequency ::= SEQUENCE {
+ heading Heading,
+ speed Speed,
+ driveDirection DriveDirection,
+ vehicleLength VehicleLength,
+ vehicleWidth VehicleWidth,
+ longitudinalAcceleration LongitudinalAcceleration,
+ curvature Curvature,
+ curvatureCalculationMode CurvatureCalculationMode,
+ yawRate YawRate,
+ accelerationControl AccelerationControl OPTIONAL,
+ lanePosition LanePosition OPTIONAL,
+ steeringWheelAngle SteeringWheelAngle OPTIONAL,
+ lateralAcceleration LateralAcceleration OPTIONAL,
+ verticalAcceleration VerticalAcceleration OPTIONAL,
+ performanceClass PerformanceClass OPTIONAL,
+ cenDsrcTollingZone CenDsrcTollingZone OPTIONAL
+}
+
+BasicVehicleContainerLowFrequency ::= SEQUENCE {
+ vehicleRole VehicleRole,
+ exteriorLights ExteriorLights,
+ pathHistory PathHistory
+}
+
+PublicTransportContainer ::= SEQUENCE {
+ embarkationStatus EmbarkationStatus,
+ ptActivation PtActivation OPTIONAL
+}
+
+SpecialTransportContainer ::= SEQUENCE {
+ specialTransportType SpecialTransportType,
+ lightBarSirenInUse LightBarSirenInUse
+}
+
+ DangerousGoodsContainer ::= SEQUENCE {
+ dangerousGoodsBasic DangerousGoodsBasic
+ }
+
+ RoadWorksContainerBasic ::= SEQUENCE {
+ roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL,
+ lightBarSirenInUse LightBarSirenInUse,
+ closedLanes ClosedLanes OPTIONAL
+ }
+
+RescueContainer ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse
+}
+
+EmergencyContainer ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse,
+ incidentIndication CauseCode OPTIONAL,
+ emergencyPriority EmergencyPriority OPTIONAL
+}
+
+SafetyCarContainer ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse,
+ incidentIndication CauseCode OPTIONAL,
+ trafficRule TrafficRule OPTIONAL,
+ speedLimit SpeedLimit OPTIONAL
+}
+
+RSUContainerHighFrequency ::= SEQUENCE {
+ protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL,
+ ...
+}
+
+GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)
+
+END
diff --git a/epan/dissectors/asn1/its/CMakeLists.txt b/epan/dissectors/asn1/its/CMakeLists.txt
new file mode 100644
index 00000000..2b616f69
--- /dev/null
+++ b/epan/dissectors/asn1/its/CMakeLists.txt
@@ -0,0 +1,61 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME its )
+
+set( PROTO_OPT -o its )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ETSI-ITS-CDD.asn
+# ITS-Container.asn
+ ITS-ContainerV1.asn
+ ISO_TS_14816.asn
+# ISO_TS_24534-3.asn
+# ISO_TS_17419.asn
+ ISO_TS_14906_Application.asn
+ ISO_TS_19091.asn
+ GDD.asn
+ ISO19321IVIv2.asn
+ ETSI_TS_103301.asn
+ CAMv1.asn
+# CAM.asn
+ CAM-PDU-Descriptions.asn
+ DENMv1.asn
+# DENM.asn
+ DENM-PDU-Descriptions.asn
+ TIS_TPG_Transactions_Descriptions.asn
+ EVCSN-PDU-Descriptions.asn
+ EV-RSR-PDU-Descriptions.asn
+ CPM-OriginatingStationContainers.asn
+ CPM-PDU-Descriptions.asn
+ CPM-PerceivedObjectContainer.asn
+ CPM-PerceptionRegionContainer.asn
+ CPM-SensorInformationContainer.asn
+ VAM-PDU-Descriptions.asn
+# VAM-Temp-Imports.asn
+ IMZM-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/its/CPM-OriginatingStationContainers.asn b/epan/dissectors/asn1/its/CPM-OriginatingStationContainers.asn
new file mode 100644
index 00000000..995cf9e2
--- /dev/null
+++ b/epan/dissectors/asn1/its/CPM-OriginatingStationContainers.asn
@@ -0,0 +1,28 @@
+CPM-OriginatingStationContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationContainers (2) major-version-1 (1) minor-version-1(1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+CartesianAngle, MapReference, Speed, StationType, TrailerData, Wgs84Angle
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-3 (3) minor-version-1 (1)}
+;
+
+OriginatingVehicleContainer ::= SEQUENCE {
+ orientationAngle Wgs84Angle,
+ pitchAngle CartesianAngle OPTIONAL,
+ rollAngle CartesianAngle OPTIONAL,
+ trailerDataSet TrailerDataSet OPTIONAL,
+ ...
+}
+
+OriginatingRsuContainer ::= SEQUENCE{
+ mapReference MapReference OPTIONAL,
+ ...
+}
+
+TrailerDataSet::= SEQUENCE SIZE(1..8,...) OF TrailerData (WITH COMPONENTS {... ,frontOverhang ABSENT, rearOverhang ABSENT, trailerWidth ABSENT})
+
+END
diff --git a/epan/dissectors/asn1/its/CPM-PDU-Descriptions.asn b/epan/dissectors/asn1/its/CPM-PDU-Descriptions.asn
new file mode 100644
index 00000000..afb669b6
--- /dev/null
+++ b/epan/dissectors/asn1/its/CPM-PDU-Descriptions.asn
@@ -0,0 +1,108 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ETSI TR 103 562 V2.1.1 (2019-12)
+--
+-- Intelligent Transport Systems (ITS);
+-- Vehicular Communications;
+-- Basic Set of Applications;
+-- Analysis of the Collective Perception Service (CPS);
+-- Release 2
+--
+-- https://www.etsi.org/deliver/etsi_tr/103500_103599/103562/02.01.01_60/tr_103562v020101p.pdf
+--
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+CPM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) major-version-1 (1) minor-version-1(1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ItsPduHeader, MessageRateHz, MessageSegmentationInfo, OrdinalNumber1B, ReferencePosition, StationType, TimestampIts
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-3 (3) minor-version-1 (1)}
+--WITH SUCCESSORS
+
+OriginatingRsuContainer, OriginatingVehicleContainer
+FROM CPM-OriginatingStationContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationContainers (2) major-version-1 (1) minor-version-1(1)}
+--WITH SUCCESSORS
+
+SensorInformationContainer
+FROM CPM-SensorInformationContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformationContainer (3) major-version-1 (1) minor-version-1(1)}
+--WITH SUCCESSORS
+
+PerceptionRegionContainer
+FROM CPM-PerceptionRegionContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceptionRegionContainer (5) major-version-1 (1) minor-version-1(1)}
+--WITH SUCCESSORS
+
+PerceivedObjectContainer
+FROM CPM-PerceivedObjectContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObjectContainer (4) major-version-1 (1) minor-version-1(1)}
+--WITH SUCCESSORS
+
+;
+
+CollectivePerceptionMessage ::= SEQUENCE {
+ header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(cpm)}),
+ payload CpmPayload
+}
+
+CpmPayload ::= SEQUENCE {
+ managementContainer ManagementContainer,
+ cpmContainers ConstraintWrappedCpmContainers,
+ ...
+}
+
+ManagementContainer ::= SEQUENCE {
+ referenceTime TimestampIts,
+ referencePosition ReferencePosition,
+ segmentationInfo MessageSegmentationInfo OPTIONAL,
+ messageRateRange MessageRateRange OPTIONAL,
+ ...
+}
+
+
+CPM-CONTAINER-ID-AND-TYPE ::= CLASS {
+ &id CpmContainerId UNIQUE,
+ &Type
+} WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+CpmContainerId ::= INTEGER (1..16)
+
+originatingVehicleContainer CpmContainerId ::= 1
+originatingRsuContainer CpmContainerId ::= 2
+sensorInformationContainer CpmContainerId ::= 3
+perceptionRegionContainer CpmContainerId ::= 4
+perceivedObjectContainer CpmContainerId ::= 5
+
+
+CpmContainers CPM-CONTAINER-ID-AND-TYPE ::= {
+ {OriginatingVehicleContainer IDENTIFIED BY originatingVehicleContainer} |
+ {OriginatingRsuContainer IDENTIFIED BY originatingRsuContainer} |
+ {SensorInformationContainer IDENTIFIED BY sensorInformationContainer} |
+ {PerceptionRegionContainer IDENTIFIED BY perceptionRegionContainer} |
+ {PerceivedObjectContainer IDENTIFIED BY perceivedObjectContainer},
+ ...
+}
+
+WrappedCpmContainer ::= SEQUENCE {
+ containerId CPM-CONTAINER-ID-AND-TYPE.&id( {CpmContainers} ),
+ containerData CPM-CONTAINER-ID-AND-TYPE.&Type( {CpmContainers}{@containerId} )
+}
+
+
+WrappedCpmContainers::= SEQUENCE SIZE(1..8,...) OF WrappedCpmContainer
+
+ConstraintWrappedCpmContainers ::= WrappedCpmContainers
+-- ((WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 1)})) |
+-- (WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 2)})))
+-- ALL did not work...
+ ((WITH COMPONENT (WITH COMPONENTS {..., containerId })) |
+ (WITH COMPONENT (WITH COMPONENTS {..., containerId })))
+
+MessageRateRange::= SEQUENCE{
+ messageRateMin MessageRateHz,
+ messageRateMax MessageRateHz
+}
+
+END
+
diff --git a/epan/dissectors/asn1/its/CPM-PerceivedObjectContainer.asn b/epan/dissectors/asn1/its/CPM-PerceivedObjectContainer.asn
new file mode 100644
index 00000000..652ac551
--- /dev/null
+++ b/epan/dissectors/asn1/its/CPM-PerceivedObjectContainer.asn
@@ -0,0 +1,21 @@
+CPM-PerceivedObjectContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObjectContainer (4) major-version-1 (1) minor-version-1(1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+CardinalNumber1B, PerceivedObject
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-3 (3) minor-version-1 (1)}
+;
+
+PerceivedObjectContainer ::= SEQUENCE {
+ numberOfPerceivedObjects CardinalNumber1B,
+ perceivedObjects PerceivedObjects,
+ ...
+}
+
+PerceivedObjects::= SEQUENCE SIZE(0..255, ...) OF PerceivedObject (WITH COMPONENTS {... ,objectId PRESENT})
+
+END
diff --git a/epan/dissectors/asn1/its/CPM-PerceptionRegionContainer.asn b/epan/dissectors/asn1/its/CPM-PerceptionRegionContainer.asn
new file mode 100644
index 00000000..06a96fed
--- /dev/null
+++ b/epan/dissectors/asn1/its/CPM-PerceptionRegionContainer.asn
@@ -0,0 +1,29 @@
+CPM-PerceptionRegionContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceptionRegionContainer (5) major-version-1 (1) minor-version-1(1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+CardinalNumber1B, DeltaTimeMilliSecondSigned, Identifier2B, Shape, ConfidenceLevel, SensorType, SequenceOfIdentifier1B
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-3 (3) minor-version-1 (1)}
+;
+
+
+PerceptionRegionContainer ::= SEQUENCE SIZE(1..256, ...) OF PerceptionRegion
+
+PerceptionRegion ::= SEQUENCE {
+ measurementDeltaTime DeltaTimeMilliSecondSigned,
+ perceptionRegionConfidence ConfidenceLevel,
+ perceptionRegionShape Shape,
+ shadowingApplies BOOLEAN,
+ sensorIdList SequenceOfIdentifier1B OPTIONAL,
+ numberOfPerceivedObjects CardinalNumber1B OPTIONAL,
+ perceivedObjectIds PerceivedObjectIds OPTIONAL,
+ ...
+}
+
+PerceivedObjectIds::= SEQUENCE SIZE(0..255, ...) OF Identifier2B
+
+END
diff --git a/epan/dissectors/asn1/its/CPM-SensorInformationContainer.asn b/epan/dissectors/asn1/its/CPM-SensorInformationContainer.asn
new file mode 100644
index 00000000..b41bfff8
--- /dev/null
+++ b/epan/dissectors/asn1/its/CPM-SensorInformationContainer.asn
@@ -0,0 +1,26 @@
+CPM-SensorInformationContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformationContainer (3) major-version-1 (1) minor-version-1(1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+Shape, ConfidenceLevel, Identifier1B, SensorType
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-3 (3) minor-version-1 (1) }
+;
+
+SensorInformationContainer ::= SEQUENCE SIZE(1..128, ...) OF SensorInformation
+
+
+SensorInformation ::= SEQUENCE {
+ sensorId Identifier1B,
+ sensorType SensorType,
+ perceptionRegionShape Shape OPTIONAL,
+ perceptionRegionConfidence ConfidenceLevel OPTIONAL,
+ shadowingApplies BOOLEAN,
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/its/DENM-PDU-Descriptions.asn b/epan/dissectors/asn1/its/DENM-PDU-Descriptions.asn
new file mode 100644
index 00000000..98994902
--- /dev/null
+++ b/epan/dissectors/asn1/its/DENM-PDU-Descriptions.asn
@@ -0,0 +1,113 @@
+-- https://forge.etsi.org/rep/ITS/asn1/denm_ts103831/-/blob/release2/DENM-PDU-Descriptions.asn
+--
+DENM-PDU-Description {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) denmPduRelease2 (103831) major-version-2 (2) minor-version-1 (1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ActionId, ActionIdList, CauseCodeV2, ClosedLanes, DangerousGoodsExtended, DeltaReferencePosition, DeltaTimeMilliSecondPositive, DeltaTimeSecond,
+EnergyStorageType, EventZone, HeightLonCarr, InformationQuality, ItsPduHeader, LanePosition, LightBarSirenInUse, ItineraryPath, NumberOfOccupants,
+PosLonCarr, PosCentMass, PositionOfPillars, PositioningSolutionType, PosFrontAx, PositionOfOccupants, RequestResponseIndication, ReferencePosition,
+RestrictedTypes, RoadType, StandardLength3b, StationType, Speed, SpeedLimit, StationarySince, TimestampIts, Traces,
+TrafficDirection, TrafficRule, TurningRadius, Temperature, VehicleMass, VehicleIdentification, Wgs84Angle, WheelBaseVehicle
+
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-3 (3) minor-version-1 (1)}
+;
+
+
+DENM ::= SEQUENCE {
+ header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(denm)}),
+ denm DenmPayload
+}
+
+DenmPayload ::= SEQUENCE {
+ management ManagementContainer,
+ situation SituationContainer OPTIONAL,
+ location LocationContainer OPTIONAL,
+ alacarte AlacarteContainer OPTIONAL
+}
+
+ManagementContainer ::= SEQUENCE {
+ actionId ActionId,
+ detectionTime TimestampIts,
+ referenceTime TimestampIts,
+ termination Termination OPTIONAL,
+ eventPosition ReferencePosition,
+ awarenessDistance StandardLength3b OPTIONAL,
+ awarenessTrafficDirection TrafficDirection OPTIONAL,
+ validityDuration DeltaTimeSecond DEFAULT defaultValidity,
+ transmissionInterval DeltaTimeMilliSecondPositive OPTIONAL,
+ stationType StationType,
+ ...
+}
+
+SituationContainer ::= SEQUENCE {
+ informationQuality InformationQuality,
+ eventType CauseCodeV2,
+ linkedCause CauseCodeV2 OPTIONAL,
+ eventZone EventZone OPTIONAL,
+ ...
+}
+
+LocationContainer ::= SEQUENCE {
+ eventSpeed Speed OPTIONAL,
+ eventPositionHeading Wgs84Angle OPTIONAL,
+ traces Traces,
+ roadType RoadType OPTIONAL,
+ ...
+}
+
+ImpactReductionContainer ::= SEQUENCE {
+ heightLonCarrLeft HeightLonCarr,
+ heightLonCarrRight HeightLonCarr,
+ posLonCarrLeft PosLonCarr,
+ posLonCarrRight PosLonCarr,
+ positionOfPillars PositionOfPillars,
+ posCentMass PosCentMass,
+ wheelBaseVehicle WheelBaseVehicle,
+ turningRadius TurningRadius,
+ posFrontAx PosFrontAx,
+ positionOfOccupants PositionOfOccupants,
+ vehicleMass VehicleMass,
+ requestResponseIndication RequestResponseIndication
+}
+
+RoadWorksContainerExtended ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse OPTIONAL,
+ closedLanes ClosedLanes OPTIONAL,
+ restriction RestrictedTypes OPTIONAL,
+ speedLimit SpeedLimit OPTIONAL,
+ incidentIndication CauseCodeV2 OPTIONAL,
+ recommendedPath ItineraryPath OPTIONAL,
+ startingPointSpeedLimit DeltaReferencePosition OPTIONAL,
+ trafficFlowRule TrafficRule OPTIONAL,
+ referenceDenms ActionIdList OPTIONAL
+ }
+
+StationaryVehicleContainer ::= SEQUENCE {
+ stationarySince StationarySince OPTIONAL,
+ stationaryCause CauseCodeV2 OPTIONAL,
+ carryingDangerousGoods DangerousGoodsExtended OPTIONAL,
+ numberOfOccupants NumberOfOccupants OPTIONAL,
+ vehicleIdentification VehicleIdentification OPTIONAL,
+ energyStorageType EnergyStorageType OPTIONAL
+}
+
+AlacarteContainer ::= SEQUENCE {
+ lanePosition LanePosition OPTIONAL,
+ impactReduction ImpactReductionContainer OPTIONAL,
+ externalTemperature Temperature OPTIONAL,
+ roadWorks RoadWorksContainerExtended OPTIONAL,
+ positioningSolution PositioningSolutionType OPTIONAL,
+ stationaryVehicle StationaryVehicleContainer OPTIONAL,
+ ...
+}
+
+defaultValidity INTEGER ::= 600
+
+Termination ::= ENUMERATED {isCancellation(0), isNegation (1)}
+
+END
diff --git a/epan/dissectors/asn1/its/DENM.asn b/epan/dissectors/asn1/its/DENM.asn
new file mode 100644
index 00000000..4c00ae09
--- /dev/null
+++ b/epan/dissectors/asn1/its/DENM.asn
@@ -0,0 +1,104 @@
+--
+-- https://www.etsi.org/deliver/etsi_en/302600_302699/30263703/01.03.00_20/en_30263703v010300a.pdf
+DENMv1-PDU-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en
+(302637) denm (1) version (2)
+}
+ DEFINITIONS AUTOMATIC TAGS ::=
+ BEGIN
+ IMPORTS
+ -- Wireshark modification
+ CauseCode,
+ ItsPduHeader, Speed, InformationQuality, ReferencePosition, ClosedLanes,
+ DangerousGoodsExtended, Heading, LanePosition, LightBarSirenInUse, RoadType, HeightLonCarr,
+ PosLonCarr, PosCentMass, PositioningSolutionType, RequestResponseIndication, StationType,
+ SpeedLimit, StationarySince, TimestampIts, WheelBaseVehicle, TurningRadius, PosFrontAx,
+ PositionOfOccupants, Temperature, VehicleMass, VehicleIdentification, EnergyStorageType, ActionID,
+ ItineraryPath, NumberOfOccupants, PositionOfPillars, RelevanceTrafficDirection, RestrictedTypes,
+ Traces, TransmissionInterval, ValidityDuration, RelevanceDistance, EventHistory, TrafficRule,
+ DeltaReferencePosition
+ FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
+ ;
+
+ DENM ::= SEQUENCE {
+ header ItsPduHeader,
+ denm DecentralizedEnvironmentalNotificationMessage
+ }
+ DecentralizedEnvironmentalNotificationMessage ::= SEQUENCE {
+ management ManagementContainer,
+ situation SituationContainer OPTIONAL,
+ location LocationContainer OPTIONAL,
+ alacarte AlacarteContainer OPTIONAL
+ }
+ ManagementContainer ::= SEQUENCE {
+ actionID ActionID,
+ detectionTime TimestampIts,
+ referenceTime TimestampIts,
+ termination Termination OPTIONAL,
+ eventPosition ReferencePosition,
+ relevanceDistance RelevanceDistance OPTIONAL,
+ relevanceTrafficDirection RelevanceTrafficDirection OPTIONAL,
+ validityDuration ValidityDuration DEFAULT defaultValidity,
+ transmissionInterval TransmissionInterval OPTIONAL,
+ stationType StationType,
+ ...
+ }
+ SituationContainer ::= SEQUENCE {
+ informationQuality InformationQuality,
+ eventType CauseCode,
+ linkedCause CauseCode OPTIONAL,
+ eventHistory EventHistory OPTIONAL,
+ ...
+ }
+ LocationContainer ::= SEQUENCE {
+ eventSpeed Speed OPTIONAL,
+ eventPositionHeading Heading OPTIONAL,
+ traces Traces,
+ roadType RoadType OPTIONAL,
+ ...
+ }
+ ImpactReductionContainer ::= SEQUENCE {
+ heightLonCarrLeft HeightLonCarr,
+ heightLonCarrRight HeightLonCarr,
+ posLonCarrLeft PosLonCarr,
+ posLonCarrRight PosLonCarr,
+ positionOfPillars PositionOfPillars,
+ posCentMass PosCentMass,
+ wheelBaseVehicle WheelBaseVehicle,
+ turningRadius TurningRadius,
+ posFrontAx PosFrontAx,
+ positionOfOccupants PositionOfOccupants,
+ vehicleMass VehicleMass,
+ requestResponseIndication RequestResponseIndication
+ }
+ RoadWorksContainerExtended ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse OPTIONAL,
+ closedLanes ClosedLanes OPTIONAL,
+ restriction RestrictedTypes OPTIONAL,
+ speedLimit SpeedLimit OPTIONAL,
+ incidentIndication CauseCode OPTIONAL,
+ recommendedPath ItineraryPath OPTIONAL,
+ startingPointSpeedLimit DeltaReferencePosition OPTIONAL,
+ trafficFlowRule TrafficRule OPTIONAL,
+ referenceDenms ReferenceDenms OPTIONAL
+ }
+ StationaryVehicleContainer ::= SEQUENCE {
+ stationarySince StationarySince OPTIONAL,
+ stationaryCause CauseCode OPTIONAL,
+ carryingDangerousGoods DangerousGoodsExtended OPTIONAL,
+ numberOfOccupants NumberOfOccupants OPTIONAL,
+ vehicleIdentification VehicleIdentification OPTIONAL,
+ energyStorageType EnergyStorageType OPTIONAL
+ }
+ AlacarteContainer ::= SEQUENCE {
+ lanePosition LanePosition OPTIONAL,
+ impactReduction ImpactReductionContainer OPTIONAL,
+ externalTemperature Temperature OPTIONAL,
+ roadWorks RoadWorksContainerExtended OPTIONAL,
+ positioningSolution PositioningSolutionType OPTIONAL,
+ stationaryVehicle StationaryVehicleContainer OPTIONAL,
+ ...
+ }
+ defaultValidity INTEGER ::= 600
+ Termination ::= ENUMERATED {isCancellation(0), isNegation (1)}
+ ReferenceDenms ::= SEQUENCE (SIZE(1..8, ...)) OF ActionID
+END
diff --git a/epan/dissectors/asn1/its/DENMv1.asn b/epan/dissectors/asn1/its/DENMv1.asn
new file mode 100644
index 00000000..b329c1e8
--- /dev/null
+++ b/epan/dissectors/asn1/its/DENMv1.asn
@@ -0,0 +1,113 @@
+DENMv1-PDU-Descriptions {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) denm (1) version (1)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ItsPduHeader, CauseCode, Speed, InformationQuality, ReferencePosition, ClosedLanes, DangerousGoodsExtended, Heading, LanePosition, LightBarSirenInUse, RoadType, HeightLonCarr,
+PosLonCarr, PosCentMass, PositioningSolutionType, RequestResponseIndication, StationType, SpeedLimit, StationarySince, TimestampIts, WheelBaseVehicle, TurningRadius, PosFrontAx,
+PositionOfOccupants, Temperature, VehicleMass, VehicleIdentification, EnergyStorageType, ActionID, ItineraryPath, NumberOfOccupants, PositionOfPillars, RelevanceTrafficDirection,
+RestrictedTypes, Traces, TransmissionInterval, ValidityDuration, RelevanceDistance, EventHistory, TrafficRule, DeltaReferencePosition
+FROM ITS-ContainerV1 {
+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)
+};
+
+
+DENMv1 ::= SEQUENCE {
+ header ItsPduHeader,
+ denm DecentralizedEnvironmentalNotificationMessageV1
+}
+
+DecentralizedEnvironmentalNotificationMessageV1 ::= SEQUENCE {
+ management ManagementContainer,
+ situation SituationContainer OPTIONAL,
+ location LocationContainer OPTIONAL,
+ alacarte AlacarteContainer OPTIONAL
+}
+
+ManagementContainer ::= SEQUENCE {
+ actionID ActionID,
+ detectionTime TimestampIts,
+ referenceTime TimestampIts,
+ termination Termination OPTIONAL,
+ eventPosition ReferencePosition,
+ relevanceDistance RelevanceDistance OPTIONAL,
+ relevanceTrafficDirection RelevanceTrafficDirection OPTIONAL,
+ validityDuration ValidityDuration DEFAULT defaultValidity,
+ transmissionInterval TransmissionInterval OPTIONAL,
+ stationType StationType,
+ ...
+}
+
+SituationContainer ::= SEQUENCE {
+ informationQuality InformationQuality,
+ eventType CauseCode,
+ linkedCause CauseCode OPTIONAL,
+ eventHistory EventHistory OPTIONAL,
+ ...
+}
+
+LocationContainer ::= SEQUENCE {
+ eventSpeed Speed OPTIONAL,
+ eventPositionHeading Heading OPTIONAL,
+ traces Traces,
+ roadType RoadType OPTIONAL,
+ ...
+}
+
+ImpactReductionContainer ::= SEQUENCE {
+ heightLonCarrLeft HeightLonCarr,
+ heightLonCarrRight HeightLonCarr,
+ posLonCarrLeft PosLonCarr,
+ posLonCarrRight PosLonCarr,
+ positionOfPillars PositionOfPillars,
+ posCentMass PosCentMass,
+ wheelBaseVehicle WheelBaseVehicle,
+ turningRadius TurningRadius,
+ posFrontAx PosFrontAx,
+ positionOfOccupants PositionOfOccupants,
+ vehicleMass VehicleMass,
+ requestResponseIndication RequestResponseIndication
+}
+
+RoadWorksContainerExtended ::= SEQUENCE {
+ lightBarSirenInUse LightBarSirenInUse OPTIONAL,
+ closedLanes ClosedLanes OPTIONAL,
+ restriction RestrictedTypes OPTIONAL,
+ speedLimit SpeedLimit OPTIONAL,
+ incidentIndication CauseCode OPTIONAL,
+ recommendedPath ItineraryPath OPTIONAL,
+ startingPointSpeedLimit DeltaReferencePosition OPTIONAL,
+ trafficFlowRule TrafficRule OPTIONAL,
+ referenceDenms ReferenceDenms OPTIONAL
+ }
+
+StationaryVehicleContainer ::= SEQUENCE {
+ stationarySince StationarySince OPTIONAL,
+ stationaryCause CauseCode OPTIONAL,
+ carryingDangerousGoods DangerousGoodsExtended OPTIONAL,
+ numberOfOccupants NumberOfOccupants OPTIONAL,
+ vehicleIdentification VehicleIdentification OPTIONAL,
+ energyStorageType EnergyStorageType OPTIONAL
+}
+
+AlacarteContainer ::= SEQUENCE {
+ lanePosition LanePosition OPTIONAL,
+ impactReduction ImpactReductionContainer OPTIONAL,
+ externalTemperature Temperature OPTIONAL,
+ roadWorks RoadWorksContainerExtended OPTIONAL,
+ positioningSolution PositioningSolutionType OPTIONAL,
+ stationaryVehicle StationaryVehicleContainer OPTIONAL,
+ ...
+}
+
+defaultValidity INTEGER ::= 600
+
+Termination ::= ENUMERATED {isCancellation(0), isNegation (1)}
+
+ReferenceDenms ::= SEQUENCE (SIZE(1..8, ...)) OF ActionID
+
+END
diff --git a/epan/dissectors/asn1/its/ETSI-ITS-CDD.asn b/epan/dissectors/asn1/its/ETSI-ITS-CDD.asn
new file mode 100644
index 00000000..63050676
--- /dev/null
+++ b/epan/dissectors/asn1/its/ETSI-ITS-CDD.asn
@@ -0,0 +1,2133 @@
+--! @options: no-fields-header
+
+ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+------------------------------------------
+-- Specification of CDD Data Elements:
+------------------------------------------
+
+AccelerationChange::= ENUMERATED {
+ accelerate (0),
+ decelerate (1)
+}
+
+AccelerationConfidence ::= INTEGER {
+ outOfRange (101),
+ unavailable (102)
+} (0..102)
+
+AccelerationControl ::= BIT STRING {
+ brakePedalEngaged (0),
+ gasPedalEngaged (1),
+ emergencyBrakeEngaged (2),
+ collisionWarningEngaged (3),
+ accEngaged (4),
+ cruiseControlEngaged (5),
+ speedLimiterEngaged (6)
+} (SIZE(7))
+
+AccelerationMagnitudeValue ::= INTEGER {
+ positiveOutOfRange (160),
+ unavailable (161)
+} (0.. 161)
+
+
+AccelerationValue ::= INTEGER {
+ negativeOutOfRange (-160),
+ positiveOutOfRange (160),
+ unavailable (161)
+} (-160 .. 161)
+
+
+AccessTechnologyClass ::= ENUMERATED {
+ any (0),
+ itsg5Class (1),
+ ltev2xClass (2),
+ nrv2xClass (3),
+ ...
+}
+
+AccidentSubCauseCode ::= INTEGER {
+ unavailable (0),
+ multiVehicleAccident (1),
+ heavyAccident (2),
+ accidentInvolvingLorry (3),
+ accidentInvolvingBus (4),
+ accidentInvolvingHazardousMaterials (5),
+ accidentOnOppositeLane (6),
+ unsecuredAccident (7),
+ assistanceRequested (8)
+} (0..255)
+
+AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {
+ unavailable (0),
+ heavyFrostOnRoad (1),
+ fuelOnRoad (2),
+ mudOnRoad (3),
+ snowOnRoad (4),
+ iceOnRoad (5),
+ blackIceOnRoad (6),
+ oilOnRoad (7),
+ looseChippings (8),
+ instantBlackIce (9),
+ roadsSalted (10)
+} (0..255)
+
+AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {
+ unavailable (0),
+ strongWinds (1),
+ damagingHail (2),
+ hurricane (3),
+ thunderstorm (4),
+ tornado (5),
+ blizzard (6)
+} (0..255)
+
+AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {
+ unavailable (0),
+ heavyRain (1),
+ heavySnowfall (2),
+ softHail (3)
+} (0..255)
+
+AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {
+ unavailable (0),
+ fog (1),
+ smoke (2),
+ heavySnowfall (3),
+ heavyRain (4),
+ heavyHail (5),
+ lowSunGlare (6),
+ sandstorms (7),
+ swarmsOfInsects (8)
+} (0..255)
+
+AirHumidity ::= INTEGER {
+ oneHundredPercent (1000),
+ unavailable (1001)
+} (1..1001)
+
+
+AltitudeConfidence ::= ENUMERATED {
+ alt-000-01 (0),
+ alt-000-02 (1),
+ alt-000-05 (2),
+ alt-000-10 (3),
+ alt-000-20 (4),
+ alt-000-50 (5),
+ alt-001-00 (6),
+ alt-002-00 (7),
+ alt-005-00 (8),
+ alt-010-00 (9),
+ alt-020-00 (10),
+ alt-050-00 (11),
+ alt-100-00 (12),
+ alt-200-00 (13),
+ outOfRange (14),
+ unavailable (15)
+}
+
+AltitudeValue ::= INTEGER {
+ negativeOutOfRange (-100000),
+ postiveOutOfRange (800000),
+ unavailable (800001)
+} (-100000..800001)
+
+AngleConfidence ::= INTEGER {
+ outOfRange (126),
+ unavailable (127)
+} (1..127)
+
+AngularSpeedConfidence ::= ENUMERATED {
+ degSec-01 (0),
+ degSec-02 (1),
+ degSec-05 (2),
+ degSec-10 (3),
+ degSec-20 (4),
+ degSec-50 (5),
+ outOfRange (6),
+ unavailable (7)
+}
+
+AngularAccelerationConfidence ::= ENUMERATED {
+ degSecSquared-01 (0),
+ degSecSquared-02 (1),
+ degSecSquared-05 (2),
+ degSecSquared-10 (3),
+ degSecSquared-20 (4),
+ degSecSquared-50 (5),
+ outOfRange (6),
+ unavailable (7)
+}
+
+AxlesCount ::= INTEGER{
+ outOfRange (1001),
+ unavailable (1002)
+} (2..1002)
+
+BarometricPressure ::= INTEGER{
+ outOfRangelower (2999),
+ outOfRangeUpper (12001),
+ unavailable (12002)
+} (2999..12002)
+
+BogiesCount ::= INTEGER{
+ outOfRange (100),
+ unavailable (101)
+} (2..101)
+
+
+CardinalNumber1B ::= INTEGER(0..255)
+
+CardinalNumber3b ::= INTEGER(1..8)
+
+CartesianAngleValue ::= INTEGER {
+ valueNotUsed (3600),
+ unavailable (3601)
+} (0..3601)
+
+CartesianAngularAccelerationComponentValue ::= INTEGER {
+ negativeOutOfRange (-255),
+ positiveOutOfRange (255),
+ unavailable (256)
+} (-255..256)
+
+CartesianAngularVelocityComponentValue ::= INTEGER {
+ negativeOutofRange (-255),
+ positiveOutOfRange (255),
+ unavailable (256)
+} (-255..256)
+
+
+CauseCodeType ::= INTEGER {
+ reserved (0),
+ trafficCondition (1),
+ accident (2),
+ roadworks (3),
+ impassability (5),
+ adverseWeatherCondition-Adhesion (6),
+ aquaplaning (7),
+ hazardousLocation-SurfaceCondition (9),
+ hazardousLocation-ObstacleOnTheRoad (10),
+ hazardousLocation-AnimalOnTheRoad (11),
+ humanPresenceOnTheRoad (12),
+ wrongWayDriving (14),
+ rescueAndRecoveryWorkInProgress (15),
+ adverseWeatherCondition-ExtremeWeatherCondition (17),
+ adverseWeatherCondition-Visibility (18),
+ adverseWeatherCondition-Precipitation (19),
+ violence (20),
+ slowVehicle (26),
+ dangerousEndOfQueue (27),
+ vehicleBreakdown (91),
+ postCrash (92),
+ humanProblem (93),
+ stationaryVehicle (94),
+ emergencyVehicleApproaching (95),
+ hazardousLocation-DangerousCurve (96),
+ collisionRisk (97),
+ signalViolation (98),
+ dangerousSituation (99),
+ railwayLevelCrossing (100)
+} (0..255)
+
+CartesianCoordinateSmall::= INTEGER {
+ negativeOutOfRange (-3094),
+ positiveOutOfRange (1001)
+} (-3094..1001)
+
+CartesianCoordinate::= INTEGER{
+ negativeOutOfRange (-32768),
+ positiveOutOfRange (32767)
+} (-32768..32767)
+
+CartesianCoordinateLarge::= INTEGER{
+ negativeOutOfRange (-131072),
+ positiveOutOfRange (131071)
+} (-131072..131071)
+
+--CenDsrcTollingZoneID::= ProtectedZoneId
+
+ClusterBreakupReason ::= ENUMERATED {
+ notProvided (0),
+ clusteringPurposeCompleted (1),
+ leaderMovedOutOfClusterBoundingBox (2),
+ joiningAnotherCluster (3),
+ enteringLowRiskAreaBasedOnMaps (4),
+ receptionOfCpmContainingCluster (5),
+ max(15)
+}
+
+ClusterLeaveReason ::= ENUMERATED {
+ notProvided (0),
+ clusterLeaderLost (1),
+ clusterDisbandedByLeader (2),
+ outOfClusterBoundingBox (3),
+ outOfClusterSpeedRange (4),
+ joiningAnotherCluster (5),
+ cancelledJoin (6),
+ failedJoin (7),
+ safetyCondition (8),
+ max(15)
+}
+
+CollisionRiskSubCauseCode ::= INTEGER {
+ unavailable (0),
+ longitudinalCollisionRisk (1),
+ crossingCollisionRisk (2),
+ lateralCollisionRisk (3),
+ vulnerableRoadUser (4)
+}(0..255)
+
+ConfidenceLevel ::= INTEGER {
+ unavailable (101)
+} (1..101)
+
+CoordinateConfidence ::= INTEGER {
+ outOfRange (4095),
+ unavailable (4096)
+} (1..4096)
+
+
+CorrelationCellValue ::= INTEGER {
+ full-negative-correlation (-100),
+ no-correlation (0),
+ full-positive-correlation (100),
+ unavailable (101)
+} (-100..101)
+
+CurvatureCalculationMode ::= ENUMERATED {
+ yawRateUsed (0),
+ yawRateNotUsed (1),
+ unavailable (2),
+ ...
+}
+
+CurvatureConfidence ::= ENUMERATED {
+ onePerMeter-0-00002 (0),
+ onePerMeter-0-0001 (1),
+ onePerMeter-0-0005 (2),
+ onePerMeter-0-002 (3),
+ onePerMeter-0-01 (4),
+ onePerMeter-0-1 (5),
+ outOfRange (6),
+ unavailable (7)
+}
+
+CurvatureValue ::= INTEGER {
+ outOfRangeNegative (-1023),
+ straight (0),
+ outOfRangePositive (1022),
+ unavailable (1023)
+} (-1023..1023)
+
+DangerousEndOfQueueSubCauseCode ::= INTEGER {
+ unavailable (0),
+ suddenEndOfQueue (1),
+ queueOverHill (2),
+ queueAroundBend (3),
+ queueInTunnel (4)
+} (0..255)
+
+DangerousGoodsBasic::= ENUMERATED {
+ explosives1 (0),
+ explosives2 (1),
+ explosives3 (2),
+ explosives4 (3),
+ explosives5 (4),
+ explosives6 (5),
+ flammableGases (6),
+ nonFlammableGases (7),
+ toxicGases (8),
+ flammableLiquids (9),
+ flammableSolids (10),
+ substancesLiableToSpontaneousCombustion (11),
+ substancesEmittingFlammableGasesUponContactWithWater (12),
+ oxidizingSubstances (13),
+ organicPeroxides (14),
+ toxicSubstances (15),
+ infectiousSubstances (16),
+ radioactiveMaterial (17),
+ corrosiveSubstances (18),
+ miscellaneousDangerousSubstances (19)
+}
+
+DangerousSituationSubCauseCode ::= INTEGER {
+ unavailable (0),
+ emergencyElectronicBrakeEngaged (1),
+ preCrashSystemEngaged (2),
+ espEngaged (3),
+ absEngaged (4),
+ ebEngaged (5),
+ brakeWarningEngaged (6),
+ collisionRiskWarningEngaged (7)
+} (0..255)
+
+DeltaAltitude ::= INTEGER {
+ negativeOutOfRange (-12700),
+ positiveOutOfRange (12799),
+ unavailable (12800)
+} (-12700..12800)
+
+DeltaLatitude ::= INTEGER {
+ unavailable (131072)
+} (-131071..131072)
+
+DeltaLongitude ::= INTEGER {
+ unavailable (131072)
+} (-131071..131072)
+
+DeltaTimeMilliSecondPositive ::= INTEGER (1..10000)
+
+DeltaTimeMilliSecondSigned ::= INTEGER (-2048..2047)
+
+DeltaTimeQuarterSecond::= INTEGER {
+ unavailable (255)
+} (1..255)
+
+DeltaTimeTenthOfSecond::= INTEGER {
+ unavailable (127)
+} (0..127)
+
+DeltaTimeSecond ::= INTEGER (0..86400)
+
+-- Exists in IVI {iso (1) standard (0) ivi (19321) version2 (2)
+--Direction::= INTEGER{
+-- sameDirection (0),
+-- oppositeDirection (1),
+-- bothDirections (2),
+-- unavailable (3)
+-- } (0..3)
+
+DriveDirection ::= ENUMERATED {
+ forward (0),
+ backward (1),
+ unavailable (2)
+}
+
+DrivingLaneStatus ::= BIT STRING (SIZE (1..13))
+
+EmbarkationStatus ::= BOOLEAN
+
+EmergencyPriority ::= BIT STRING {
+ requestForRightOfWay (0),
+ requestForFreeCrossingAtATrafficLight (1)
+} (SIZE(2))
+
+EmergencyVehicleApproachingSubCauseCode ::= INTEGER {
+ unavailable (0),
+ emergencyVehicleApproaching (1),
+ prioritizedVehicleApproaching (2)
+} (0..255)
+
+EnergyStorageType ::= BIT STRING {
+ hydrogenStorage (0),
+ electricEnergyStorage (1),
+ liquidPropaneGas (2),
+ compressedNaturalGas (3),
+ diesel (4),
+ gasoline (5),
+ ammonia (6)
+}(SIZE(7))
+
+EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 }
+
+EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3}
+
+EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3}
+
+EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4}
+
+ExteriorLights ::= BIT STRING {
+ lowBeamHeadlightsOn (0),
+ highBeamHeadlightsOn (1),
+ leftTurnSignalOn (2),
+ rightTurnSignalOn (3),
+ daytimeRunningLightsOn (4),
+ reverseLightOn (5),
+ fogLightOn (6),
+ parkingLightsOn (7)
+} (SIZE(8))
+
+GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)
+
+HardShoulderStatus ::= ENUMERATED {
+ availableForStopping (0),
+ closed (1),
+ availableForDriving (2)
+}
+
+HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {
+ unavailable (0),
+ wildAnimals (1),
+ herdOfAnimals (2),
+ smallAnimals (3),
+ largeAnimals (4)
+} (0..255)
+
+HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {
+ unavailable (0),
+ dangerousLeftTurnCurve (1),
+ dangerousRightTurnCurve (2),
+ multipleCurvesStartingWithUnknownTurningDirection (3),
+ multipleCurvesStartingWithLeftTurn (4),
+ multipleCurvesStartingWithRightTurn (5)
+} (0..255)
+
+HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {
+ unavailable (0),
+ shedLoad (1),
+ partsOfVehicles (2),
+ partsOfTyres (3),
+ bigObjects (4),
+ fallenTrees (5),
+ hubCaps (6),
+ waitingVehicles (7)
+} (0..255)
+
+HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {
+ unavailable (0),
+ rockfalls (1),
+ earthquakeDamage (2),
+ sewerCollapse (3),
+ subsidence (4),
+ snowDrifts (5),
+ stormDamage (6),
+ burstPipe (7),
+ volcanoEruption (8),
+ fallingIce (9),
+ fire (10)
+} (0..255)
+
+HeadingConfidence ::= INTEGER {
+ outOfRange (126),
+ unavailable (127)
+} (1..127)
+
+HeadingValue ::= INTEGER {
+ wgs84North (0),
+ wgs84East (900),
+ wgs84South (1800),
+ wgs84West (2700),
+ doNotUse (3600),
+ unavailable (3601)
+} (0..3601)
+
+HeightLonCarr ::= INTEGER {
+ outOfRange(99),
+ unavailable(100)
+} (1..100)
+
+HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {
+ unavailable (0),
+ childrenOnRoadway (1),
+ cyclistOnRoadway (2),
+ motorcyclistOnRoadway (3)
+} (0..255)
+
+HumanProblemSubCauseCode ::= INTEGER {
+ unavailable (0),
+ glycemiaProblem (1),
+ heartProblem (2)
+} (0..255)
+
+Identifier1B ::= INTEGER (0..255)
+
+Identifier2B ::= INTEGER (0..65535)
+
+InformationQuality ::= INTEGER (0..7)
+
+InterferenceManagementZoneType ::= ENUMERATED {
+ permanentCenDsrcTolling (0),
+ temporaryCenDsrcTolling (1),
+ unavailable (2),
+ urbanRail (3),
+ satelliteStation (4),
+ fixedLinks (5),
+ ...
+}
+
+Iso3833VehicleType ::= INTEGER {
+ passengerCar (0),
+ saloon (1),
+ convertibleSaloon (2),
+ pullmanSaloon (3),
+ stationWagon (4),
+ truckStationWagon (5),
+ coupe (6),
+ convertible (7),
+ multipurposePassengerCar (8),
+ forwardControlPassengerCar (9),
+ specialPassengerCar (10),
+ bus (11),
+ minibus (12),
+ urbanBus (13),
+ interurbanCoach (14),
+ longDistanceCoach (15),
+ articulatedBus (16),
+ trolleyBus (17),
+ specialBus (18),
+ commercialVehicle (19),
+ specialCommercialVehicle (20),
+ specialVehicle (21),
+ trailingTowingVehicle (22),
+ semiTrailerTowingVehicle (23),
+ trailer (24),
+ busTrailer (25),
+ generalPurposeTrailer (26),
+ caravan (27),
+ specialTrailer (28),
+ semiTrailer (29),
+ busSemiTrailer (30),
+ generalPurposeSemiTrailer (31),
+ specialSemiTrailer (32),
+ roadTrain (33),
+ passengerRoadTrain (34),
+ articulatedRoadTrain (35),
+ doubleRoadTrain (36),
+ compositeRoadTrain (37),
+ specialRoadTrain (38),
+ moped (39),
+ motorCycle (40)
+ } (0..255)
+
+LanePosition ::= INTEGER {
+ offTheRoad (-1),
+ innerHardShoulder (0),
+ outerHardShoulder (14)
+} (-1..14)
+
+LaneType::= INTEGER{
+ traffic (0),
+ through (1),
+ reversible (2),
+ acceleration (3),
+ deceleration (4),
+ leftHandTurning (5),
+ rightHandTurning (6),
+ dedicatedVehicle (7),
+ bus (8),
+ taxi (9),
+ hov (10),
+ hot (11),
+ pedestrian (12),
+ cycleLane (13),
+ median (14),
+ striping (15),
+ trackedVehicle (16),
+ parking (17),
+ emergency (18),
+ verge (19),
+ minimumRiskManoeuvre (20),
+ unknown (31)
+}(0..31)
+
+--LaneWidth::= INTEGER (0..1023)
+
+Latitude ::= INTEGER {
+ unavailable(900000001)
+} (-900000000..900000001)
+
+LateralAccelerationValue ::= INTEGER {
+ negativeOutOfRange (-160),
+ positiveOutOfRange (160),
+ unavailable (161)
+} (-160 .. 161)
+
+LightBarSirenInUse ::= BIT STRING {
+ lightBarActivated (0),
+ sirenActivated (1)
+} (SIZE(2))
+
+Longitude ::= INTEGER {
+ valueNotUsed (-1800000000),
+ unavailable (1800000001)
+} (-1800000000..1800000001)
+
+LongitudinalAccelerationValue::= INTEGER {
+ negativeOutOfRange (-160),
+ positiveOutOfRange (160),
+ unavailable (161)
+} (-160 .. 161)
+
+LongitudinalLanePositionValue ::= INTEGER {
+ outOfRange(32766),
+ unavailable(32767)
+}(0..32767)
+
+LongitudinalLanePositionConfidence ::= INTEGER {
+ outOfRange (1022),
+ unavailable (1023)
+} (0..1023)
+
+MatrixIncludedComponents::= BIT STRING{
+ xPosition (0),
+ yPosition (1),
+ zPosition (2),
+ xVelocityOrVelocityMagnitude (3),
+ yVelocityOrVelocityDirection (4),
+ zSpeed (5),
+ xAccelOrAccelMagnitude (6),
+ yAccelOrAccelDirection (7),
+ zAcceleration (8),
+ zAngle (9),
+ yAngle (10),
+ xAngle (11),
+ zAngularVelocity (12)
+} (SIZE(13,...))
+
+MessageId::= INTEGER {
+ denm (1),
+ cam (2),
+ poi (3),
+ spatem (4),
+ mapem (5),
+ ivim (6),
+ ev-rsr (7),
+ tistpgtransaction (8),
+ srem (9),
+ ssem (10),
+ evcsn (11),
+ saem (12),
+ rtcmem (13),
+ cpm (14),
+ imzm (15),
+ vam (16),
+ dsm (17),
+ pcim (18),
+ pcvm (19),
+ mcm (20),
+ pam (21)
+} (0..255)
+
+NumberOfOccupants ::= INTEGER {
+ outOfRange (126),
+ unavailable (127)
+} (0 .. 127)
+
+ObjectPerceptionQuality ::= INTEGER {
+ noConfidence (0),
+ fullConfidence (15)
+} (0..15)
+
+ObjectDimensionValue ::= INTEGER {
+ outOfRange (255),
+ unavailable (256)
+}(1..256)
+
+ObjectDimensionConfidence ::= INTEGER {
+ outOfRange (31),
+ unavailable (32)
+} (1..32)
+
+ObjectFace ::= ENUMERATED {
+ front (0),
+ sideLeftFront (1),
+ sideLeftBack (2),
+ sideRightFront (3),
+ sideRightBack (4),
+ back (5)
+}
+
+OpeningDaysHours ::= UTF8String
+
+--OrdinalNumber1B ::= INTEGER(0..255)
+
+
+OrdinalNumber3b ::= INTEGER(1..8)
+
+OtherSubClass ::= INTEGER {
+ unknown (0),
+ singleObject (1),
+ multipleObjects (2),
+ bulkMaterial (3)
+} (0..255)
+
+PathDeltaTime ::= INTEGER (1..65535, ...)
+
+PerformanceClass ::= INTEGER {
+ unavailable (0),
+ performanceClassA (1),
+ performanceClassB (2)
+} (0..7)
+
+PhoneNumber ::= NumericString (SIZE(1..16))
+
+PosCentMass ::= INTEGER {
+ tenCentimetres (1),
+ outOfRange (62),
+ unavailable (63)
+} (1..63)
+
+PositioningSolutionType ::= ENUMERATED {
+ noPositioningSolution (0),
+ sGNSS (1),
+ dGNSS (2),
+ sGNSSplusDR (3),
+ dGNSSplusDR (4),
+ dR (5),
+ ...
+}
+
+PositionOfOccupants ::= BIT STRING {
+ row1LeftOccupied (0),
+ row1RightOccupied (1),
+ row1MidOccupied (2),
+ row1NotDetectable (3),
+ row1NotPresent (4),
+ row2LeftOccupied (5),
+ row2RightOccupied (6),
+ row2MidOccupied (7),
+ row2NotDetectable (8),
+ row2NotPresent (9),
+ row3LeftOccupied (10),
+ row3RightOccupied (11),
+ row3MidOccupied (12),
+ row3NotDetectable (13),
+ row3NotPresent (14),
+ row4LeftOccupied (15),
+ row4RightOccupied (16),
+ row4MidOccupied (17),
+ row4NotDetectable (18),
+ row4NotPresent (19)
+} (SIZE(20))
+
+PosFrontAx ::= INTEGER {
+ outOfRange (19),
+ unavailable(20)
+} (1..20)
+
+PosLonCarr ::= INTEGER {
+ outOfRange (126),
+ unavailable (127)
+} (1..127)
+
+PosPillar ::= INTEGER {
+ outOfRange (29),
+ unavailable (30)
+} (1..30)
+
+PostCrashSubCauseCode ::= INTEGER {
+ unavailable (0),
+ accidentWithoutECallTriggered (1),
+ accidentWithECallManuallyTriggered (2),
+ accidentWithECallAutomaticallyTriggered (3),
+ accidentWithECallTriggeredWithoutAccessToCellularNetwork (4)
+} (0..255)
+
+PrecipitationIntensity ::= INTEGER {
+ outOfRange (2000),
+ unavailable (2001)
+} (1..2001)
+
+ProtectedZoneId ::= INTEGER (0.. 134217727)
+
+ProtectedZoneRadius ::= INTEGER (1..255,...)
+
+ProtectedZoneType::= ENUMERATED {
+ permanentCenDsrcTolling (0),
+ ...,
+ temporaryCenDsrcTolling (1)
+}
+
+PtActivationData ::= OCTET STRING (SIZE(1..20))
+
+PtActivationType ::= INTEGER {
+ undefinedCodingType (0),
+ r09-16CodingType (1),
+ vdv-50149CodingType (2)
+} (0..255)
+
+RailwayLevelCrossingSubCauseCode ::= INTEGER {
+ unavailable (0),
+ doNotCrossAbnormalSituation (1),
+ closed (2),
+ unguarded (3),
+ nominal (4)
+} (0..255)
+
+--RelevanceDistance ::= ENUMERATED {
+-- lessThan50m(0),
+-- lessThan100m(1),
+-- lessThan200m(2),
+-- lessThan500m(3),
+-- lessThan1000m(4),
+-- lessThan5km(5),
+-- lessThan10km(6),
+-- over10km(7)
+--}
+
+--RelevanceTrafficDirection ::= ENUMERATED {
+-- allTrafficDirections(0),
+-- upstreamTraffic(1),
+-- downstreamTraffic(2),
+-- oppositeTraffic(3)
+--}
+
+RequestResponseIndication ::= ENUMERATED {
+ request (0),
+ response (1)
+}
+
+RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {
+ unavailable (0),
+ emergencyVehicles (1),
+ rescueHelicopterLanding (2),
+ policeActivityOngoing (3),
+ medicalEmergencyOngoing (4),
+ childAbductionInProgress (5)
+} (0..255)
+
+
+RoadType ::= ENUMERATED {
+ urban-NoStructuralSeparationToOppositeLanes (0),
+ urban-WithStructuralSeparationToOppositeLanes (1),
+ nonUrban-NoStructuralSeparationToOppositeLanes (2),
+ nonUrban-WithStructuralSeparationToOppositeLanes (3)
+}
+
+RoadworksSubCauseCode ::= INTEGER {
+ unavailable (0),
+ majorRoadworks (1),
+ roadMarkingWork (2),
+ slowMovingRoadMaintenance (3),
+ shortTermStationaryRoadworks (4),
+ streetCleaning (5),
+ winterService (6)
+} (0..255)
+
+SafeDistanceIndicator::= BOOLEAN
+
+SemiAxisLength ::= INTEGER{
+ doNotUse (0),
+ outOfRange (4094),
+ unavailable (4095)
+} (0..4095)
+
+SensorType ::= INTEGER {
+ undefined (0),
+ radar (1),
+ lidar (2),
+ monovideo (3),
+ stereovision (4),
+ nightvision (5),
+ ultrasonic (6),
+ pmd (7),
+ inductionLoop (8),
+ sphericalCamera (9),
+ uwb (10),
+ acoustic (11),
+ localAggregation (12),
+ itsAggregation (13)
+} (0..31)
+
+SequenceNumber ::= INTEGER (0..65535)
+
+SignalViolationSubCauseCode ::= INTEGER {
+ unavailable (0),
+ stopSignViolation (1),
+ trafficLightViolation (2),
+ turningRegulationViolation (3)
+} (0..255)
+
+SlowVehicleSubCauseCode ::= INTEGER {
+ unavailable (0),
+ maintenanceVehicle (1),
+ vehiclesSlowingToLookAtAccident (2),
+ abnormalLoad (3),
+ abnormalWideLoad (4),
+ convoy (5),
+ snowplough (6),
+ deicing (7),
+ saltingVehicles (8)
+} (0..255)
+
+SpecialTransportType ::= BIT STRING {
+ heavyLoad (0),
+ excessWidth (1),
+ excessLength (2),
+ excessHeight (3)
+} (SIZE(4))
+
+SpeedConfidence ::= INTEGER {
+ outOfRange (126),
+ unavailable (127)
+} (1..127)
+
+SpeedLimit ::= INTEGER (1..255)
+
+SpeedValue ::= INTEGER {
+ standstill (0),
+ outOfRange (16382),
+ unavailable (16383)
+} (0..16383)
+
+VelocityComponentValue ::= INTEGER {
+ negativeOutOfRange (-16383),
+ positiveOutOfRange (16382),
+ unavailable (16383)
+} (-16383..16383)
+
+
+StabilityLossProbability ::= INTEGER {
+ stable (0),
+ totalLossOfStability (50),
+ unavailable (63)
+} (0..63)
+
+StandardLength12b::= INTEGER (0..4095)
+
+StandardLength3b ::= ENUMERATED {
+ lessThan50m (0),
+ lessThan100m (1),
+ lessThan200m (2),
+ lessThan500m (3),
+ lessThan1000m (4),
+ lessThan5km (5),
+ lessThan10km (6),
+ over10km (7)
+}
+
+StandardLength9b::= INTEGER (0..511)
+
+StandardLength1B::= INTEGER (0..255)
+
+StandardLength2B::= INTEGER (0..65535)
+
+StationarySince ::= ENUMERATED {
+ lessThan1Minute (0),
+ lessThan2Minutes (1),
+ lessThan15Minutes (2),
+ equalOrGreater15Minutes (3)
+}
+
+StationaryVehicleSubCauseCode ::= INTEGER {
+ unavailable (0),
+ humanProblem (1),
+ vehicleBreakdown (2),
+ postCrash (3),
+ publicTransportStop (4),
+ carryingDangerousGoods (5),
+ vehicleOnFire (6)
+} (0..255)
+
+StationId ::= INTEGER(0..4294967295)
+
+StationID ::= INTEGER(0..4294967295)
+
+StationType ::= INTEGER {
+ unknown (0),
+ pedestrian (1),
+ cyclist (2),
+ moped (3),
+ motorcycle (4),
+ passengerCar (5),
+ bus (6),
+ lightTruck (7),
+ heavyTruck (8),
+ trailer (9),
+ specialVehicle (10),
+ tram (11),
+ lightVruVehicle (12),
+ animal (13),
+ roadSideUnit (15)
+} (0..255)
+
+SteeringWheelAngleConfidence ::= INTEGER {
+ outOfRange (126),
+ unavailable (127)
+} (1..127)
+
+SteeringWheelAngleValue ::= INTEGER {
+ negativeOutOfRange (-511),
+ positiveOutOfRange (511),
+ unavailable (512)
+} (-511..512)
+
+SubCauseCodeType ::= INTEGER (0..255)
+
+Temperature ::= INTEGER {
+ equalOrSmallerThanMinus60Deg (-60),
+ equalOrGreaterThan67Deg(67)} (-60..67)
+
+TimestampIts ::= INTEGER (0..4398046511103)
+
+TrafficConditionSubCauseCode ::= INTEGER {
+ unavailable (0),
+ increasedVolumeOfTraffic (1),
+ trafficJamSlowlyIncreasing (2),
+ trafficJamIncreasing (3),
+ trafficJamStronglyIncreasing (4),
+ trafficStationary (5),
+ trafficJamSlightlyDecreasing (6),
+ trafficJamDecreasing (7),
+ trafficJamStronglyDecreasing (8)
+} (0..255)
+
+TrafficDirection ::= ENUMERATED {
+ allTrafficDirections (0),
+ upstreamTraffic (1),
+ downstreamTraffic (2),
+ oppositeTraffic (3)
+}
+
+TrafficParticipantType ::= INTEGER {
+ unknown (0),
+ pedestrian (1),
+ cyclist (2),
+ moped (3),
+ motorcycle (4),
+ passengerCar (5),
+ bus (6),
+ lightTruck (7),
+ heavyTruck (8),
+ trailer (9),
+ specialVehicle (10),
+ tram (11),
+ lightVruVehicle (12),
+ animal (13),
+ agricultural (14),
+ roadSideUnit (15)
+} (0..255)
+
+TrafficRule ::= ENUMERATED {
+ noPassing (0),
+ noPassingForTrucks (1),
+ passToRight (2),
+ passToLeft (3),
+ ...}
+
+TrailerPresenceInformation ::= ENUMERATED {
+ noTrailerPresent (0),
+ trailerPresentWithKnownLength (1),
+ trailerPresentWithUnknownLength (2),
+ trailerPresenceIsUnknown (3),
+ unavailable (4)
+}
+
+TrajectoryInterceptionProbability ::= INTEGER {
+ unavailable (63)
+} (0..63)
+
+TrajectoryInterceptionConfidence ::= INTEGER {
+ lessthan50percent (0),
+ between50and70Percent (1),
+ between70and90Percent (2),
+ above90Percent (3)
+} (0..3)
+
+--TransmissionInterval::= INTEGER (1..10000)
+
+TurningDirection::= ENUMERATED {
+ left,
+ right
+}
+
+TurningRadius ::= INTEGER {
+ outOfRange (254),
+ unavailable (255)
+} (1..255)
+
+--ValidityDuration::= INTEGER {
+-- timeOfDetection(0),
+-- oneSecondAfterDetection(1)
+--} (0..86400)
+
+VDS ::= IA5String (SIZE(6))
+
+VehicleBreakdownSubCauseCode ::= INTEGER {
+ unavailable (0),
+ lackOfFuel (1),
+ lackOfBatteryPower (2),
+ engineProblem (3),
+ transmissionProblem (4),
+ engineCoolingProblem (5),
+ brakingSystemProblem (6),
+ steeringProblem (7),
+ tyrePuncture (8),
+ tyrePressureProblem (9),
+ vehicleOnFire (10)
+} (0..255)
+
+VehicleHeight ::= INTEGER {
+ outOfRange (126),
+ unavailable (127)
+}(1..128)
+
+VehicleLengthConfidenceIndication ::= ENUMERATED {
+ noTrailerPresent (0),
+ trailerPresentWithKnownLength (1),
+ trailerPresentWithUnknownLength (2),
+ trailerPresenceIsUnknown (3),
+ unavailable (4)
+}
+
+VehicleLengthValue ::= INTEGER {
+ outOfRange(1022),
+ unavailable(1023)
+} (1..1023)
+
+VehicleMass ::= INTEGER {
+ outOfRange (1023),
+ unavailable(1024)
+} (1..1024)
+
+VehicleRole ::= ENUMERATED {
+ default (0),
+ publicTransport (1),
+ specialTransport(2),
+ dangerousGoods (3),
+ roadWork (4),
+ rescue (5),
+ emergency (6),
+ safetyCar (7),
+ agriculture (8),
+ commercial (9),
+ military (10),
+ roadOperator (11),
+ taxi (12),
+ reserved1 (13),
+ reserved2 (14),
+ reserved3 (15)
+}
+
+VehicleWidth ::= INTEGER {
+ outOfRange (61),
+ unavailable (62)
+} (1..62)
+
+VerticalAccelerationValue ::= INTEGER {
+ negativeOutOfRange (-160),
+ positiveOutOfRange (160),
+ unavailable (161)
+} (-160 .. 161)
+
+VruClusterProfiles ::= BIT STRING {
+ pedestrian (0),
+ bicyclist (1),
+ motorcyclist (2),
+ animal (3)
+} (SIZE(4))
+
+VruDeviceUsage ::= ENUMERATED {
+ unavailable (0),
+ other (1),
+ idle (2),
+ listeningToAudio (3),
+ typing (4),
+ calling (5),
+ playingGames (6),
+ reading (7),
+ viewing (8),
+ max (255)
+}
+
+VruEnvironment ::= ENUMERATED {
+ unavailable (0),
+ intersectionCrossing (1),
+ zebraCrossing (2),
+ sidewalk (3),
+ onVehicleRoad (4),
+ protectedGeographicArea (5),
+ max (255)
+}
+
+VruMovementControl ::= ENUMERATED {
+ unavailable (0),
+ braking (1),
+ hardBraking (2),
+ stopPedaling (3),
+ brakingAndStopPedaling (4),
+ hardBrakingAndStopPedaling (5),
+ noReaction (6),
+ max (255)
+}
+
+VruSubProfilePedestrian ::= ENUMERATED {
+ unavailable (0),
+ ordinary-pedestrian (1),
+ road-worker (2),
+ first-responder (3),
+ max (15)
+}
+
+VruSubProfileBicyclist ::= ENUMERATED {
+ unavailable (0),
+ bicyclist (1),
+ wheelchair-user (2),
+ horse-and-rider (3),
+ rollerskater (4),
+ e-scooter (5),
+ personal-transporter (6),
+ pedelec (7),
+ speed-pedelec (8),
+ max (15)
+}
+
+VruSubProfileMotorcyclist ::= ENUMERATED {
+ unavailable (0),
+ moped (1),
+ motorcycle (2),
+ motorcycle-and-sidecar-right (3),
+ motorcycle-and-sidecar-left (4),
+ max (15)
+}
+
+VruSubProfileAnimal ::= ENUMERATED {
+ unavailable (0),
+ wild-animal (1),
+ farm-animal (2),
+ service-animal (3),
+ max (15)
+}
+
+VruSizeClass ::= ENUMERATED {
+ unavailable (0),
+ low (1),
+ medium (2),
+ high (3),
+ max (15)
+}
+
+VruSpecificExteriorLights ::= BIT STRING {
+ unavailable (0),
+ backFlashLight (1),
+ helmetLight (2),
+ armLight (3),
+ legLight (4),
+ wheelLight (5)
+} (SIZE(8))
+
+WheelBaseVehicle ::= INTEGER {
+ outOfRange (126),
+ unavailable (127)
+} (1..127)
+
+Wgs84AngleConfidence ::= INTEGER {
+ outOfRange (126),
+ unavailable (127)
+} (1..127)
+
+
+Wgs84AngleValue ::= INTEGER {
+ wgs84North (0),
+ wgs84East (900),
+ wgs84South (1800),
+ wgs84West (2700),
+ doNotUse (3600),
+ unavailable (3601)
+} (0..3601)
+
+WMInumber ::= IA5String (SIZE(1..3))
+
+WrongWayDrivingSubCauseCode ::= INTEGER {
+ unavailable (0),
+ wrongLane (1),
+ wrongDirection (2)
+} (0..255)
+
+YawRateConfidence ::= ENUMERATED {
+ degSec-000-01 (0),
+ degSec-000-05 (1),
+ degSec-000-10 (2),
+ degSec-001-00 (3),
+ degSec-005-00 (4),
+ degSec-010-00 (5),
+ degSec-100-00 (6),
+ outOfRange (7),
+ unavailable (8)
+}
+
+YawRateValue ::= INTEGER {
+ negativeOutOfRange (-32766),
+ positiveOutOfRange (32766),
+ unavailable (32767)
+} (-32766..32767)
+
+----------------------------------------
+-- Specification of CDD Data Frames:
+----------------------------------------
+
+Acceleration3dWithConfidence::= CHOICE {
+ polarAcceleration AccelerationPolarWithZ,
+ cartesianAcceleration AccelerationCartesian
+}
+
+AccelerationPolarWithZ::= SEQUENCE{
+ accelerationMagnitude AccelerationMagnitude,
+ accelerationDirection CartesianAngle,
+ zAcceleration AccelerationComponent OPTIONAL
+}
+
+AccelerationCartesian::= SEQUENCE{
+ xAcceleration AccelerationComponent,
+ yAcceleration AccelerationComponent,
+ zAcceleration AccelerationComponent OPTIONAL
+}
+
+AccelerationComponent ::= SEQUENCE {
+ value AccelerationValue,
+ confidence AccelerationConfidence
+}
+
+AccelerationChangeIndication ::= SEQUENCE {
+ accelOrDecel AccelerationChange,
+ actionDeltaTime DeltaTimeTenthOfSecond,
+ ...
+}
+
+AccelerationMagnitude::= SEQUENCE {
+ accelerationMagnitudeValue AccelerationMagnitudeValue,
+ accelerationConfidence AccelerationConfidence
+}
+
+ActionId ::= SEQUENCE {
+ originatingStationId StationId,
+ sequenceNumber SequenceNumber
+}
+
+ActionID ::= SEQUENCE {
+ originatingStationId StationID,
+ sequenceNumber SequenceNumber
+}
+
+ActionIdList::= SEQUENCE (SIZE(1..8, ...)) OF ActionId
+
+Altitude ::= SEQUENCE {
+ altitudeValue AltitudeValue,
+ altitudeConfidence AltitudeConfidence
+}
+
+BasicContainer ::= SEQUENCE {
+ stationType TrafficParticipantType,
+ referencePosition ReferencePositionWithConfidence,
+ ...
+}
+
+CartesianAngle ::= SEQUENCE {
+ value CartesianAngleValue,
+ confidence AngleConfidence
+}
+
+CartesianAngularVelocityComponent ::= SEQUENCE {
+ value CartesianAngularVelocityComponentValue,
+ confidence AngularSpeedConfidence
+}
+
+CartesianAngularAccelerationComponent ::= SEQUENCE {
+ value CartesianAngularAccelerationComponentValue,
+ confidence AngularAccelerationConfidence
+}
+
+CartesianCoordinateWithConfidence ::= SEQUENCE {
+ value CartesianCoordinateLarge,
+ confidence CoordinateConfidence
+}
+
+CartesianPosition3d::=SEQUENCE{
+ xCoordinate CartesianCoordinate,
+ yCoordinate CartesianCoordinate,
+ zCoordinate CartesianCoordinate OPTIONAL
+}
+
+CartesianPosition3dWithConfidence::= SEQUENCE{
+ xCoordinate CartesianCoordinateWithConfidence,
+ yCoordinate CartesianCoordinateWithConfidence,
+ zCoordinate CartesianCoordinateWithConfidence OPTIONAL
+}
+
+CauseCode ::= SEQUENCE {
+ causeCode CauseCodeType,
+ subCauseCode SubCauseCodeType,
+ ...
+}
+
+CauseCodeChoice::= CHOICE {
+ reserved0 SubCauseCodeType,
+ trafficCondition1 TrafficConditionSubCauseCode,
+ accident2 AccidentSubCauseCode,
+ roadworks3 RoadworksSubCauseCode,
+ reserved4 SubCauseCodeType,
+ impassability5 SubCauseCodeType,
+ adverseWeatherCondition-Adhesion6 AdverseWeatherCondition-AdhesionSubCauseCode,
+ aquaplaning7 SubCauseCodeType,
+ reserved8 SubCauseCodeType,
+ hazardousLocation-SurfaceCondition9 HazardousLocation-SurfaceConditionSubCauseCode,
+ hazardousLocation-ObstacleOnTheRoad10 HazardousLocation-ObstacleOnTheRoadSubCauseCode,
+ hazardousLocation-AnimalOnTheRoad11 HazardousLocation-AnimalOnTheRoadSubCauseCode,
+ humanPresenceOnTheRoad12 HumanPresenceOnTheRoadSubCauseCode,
+ reserved13 SubCauseCodeType,
+ wrongWayDriving14 WrongWayDrivingSubCauseCode,
+ rescueAndRecoveryWorkInProgress15 RescueAndRecoveryWorkInProgressSubCauseCode,
+ reserved16 SubCauseCodeType,
+ adverseWeatherCondition-ExtremeWeatherCondition17 AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode,
+ adverseWeatherCondition-Visibility18 AdverseWeatherCondition-VisibilitySubCauseCode,
+ adverseWeatherCondition-Precipitation19 AdverseWeatherCondition-PrecipitationSubCauseCode,
+ violence20 SubCauseCodeType,
+ reserved21 SubCauseCodeType,
+ reserved22 SubCauseCodeType,
+ reserved23 SubCauseCodeType,
+ reserved24 SubCauseCodeType,
+ reserved25 SubCauseCodeType,
+ slowVehicle26 SlowVehicleSubCauseCode,
+ dangerousEndOfQueue27 DangerousEndOfQueueSubCauseCode,
+ reserved28 SubCauseCodeType,
+ reserved29 SubCauseCodeType,
+ reserved30 SubCauseCodeType,
+ reserved31 SubCauseCodeType,
+ reserved32 SubCauseCodeType,
+ reserved33 SubCauseCodeType,
+ reserved34 SubCauseCodeType,
+ reserved35 SubCauseCodeType,
+ reserved36 SubCauseCodeType,
+ reserved37 SubCauseCodeType,
+ reserved38 SubCauseCodeType,
+ reserved39 SubCauseCodeType,
+ reserved40 SubCauseCodeType,
+ reserved41 SubCauseCodeType,
+ reserved42 SubCauseCodeType,
+ reserved43 SubCauseCodeType,
+ reserved44 SubCauseCodeType,
+ reserved45 SubCauseCodeType,
+ reserved46 SubCauseCodeType,
+ reserved47 SubCauseCodeType,
+ reserved48 SubCauseCodeType,
+ reserved49 SubCauseCodeType,
+ reserved50 SubCauseCodeType,
+ reserved51 SubCauseCodeType,
+ reserved52 SubCauseCodeType,
+ reserved53 SubCauseCodeType,
+ reserved54 SubCauseCodeType,
+ reserved55 SubCauseCodeType,
+ reserved56 SubCauseCodeType,
+ reserved57 SubCauseCodeType,
+ reserved58 SubCauseCodeType,
+ reserved59 SubCauseCodeType,
+ reserved60 SubCauseCodeType,
+ reserved61 SubCauseCodeType,
+ reserved62 SubCauseCodeType,
+ reserved63 SubCauseCodeType,
+ reserved64 SubCauseCodeType,
+ reserved65 SubCauseCodeType,
+ reserved66 SubCauseCodeType,
+ reserved67 SubCauseCodeType,
+ reserved68 SubCauseCodeType,
+ reserved69 SubCauseCodeType,
+ reserved70 SubCauseCodeType,
+ reserved71 SubCauseCodeType,
+ reserved72 SubCauseCodeType,
+ reserved73 SubCauseCodeType,
+ reserved74 SubCauseCodeType,
+ reserved75 SubCauseCodeType,
+ reserved76 SubCauseCodeType,
+ reserved77 SubCauseCodeType,
+ reserved78 SubCauseCodeType,
+ reserved79 SubCauseCodeType,
+ reserved80 SubCauseCodeType,
+ reserved81 SubCauseCodeType,
+ reserved82 SubCauseCodeType,
+ reserved83 SubCauseCodeType,
+ reserved84 SubCauseCodeType,
+ reserved85 SubCauseCodeType,
+ reserved86 SubCauseCodeType,
+ reserved87 SubCauseCodeType,
+ reserved88 SubCauseCodeType,
+ reserved89 SubCauseCodeType,
+ reserved90 SubCauseCodeType,
+ vehicleBreakdown91 VehicleBreakdownSubCauseCode,
+ postCrash92 PostCrashSubCauseCode,
+ humanProblem93 HumanProblemSubCauseCode,
+ stationaryVehicle94 StationaryVehicleSubCauseCode,
+ emergencyVehicleApproaching95 EmergencyVehicleApproachingSubCauseCode,
+ hazardousLocation-DangerousCurve96 HazardousLocation-DangerousCurveSubCauseCode,
+ collisionRisk97 CollisionRiskSubCauseCode,
+ signalViolation98 SignalViolationSubCauseCode,
+ dangerousSituation99 DangerousSituationSubCauseCode,
+ railwayLevelCrossing100 RailwayLevelCrossingSubCauseCode,
+ reserved101 SubCauseCodeType,
+ reserved102 SubCauseCodeType,
+ reserved103 SubCauseCodeType,
+ reserved104 SubCauseCodeType,
+ reserved105 SubCauseCodeType,
+ reserved106 SubCauseCodeType,
+ reserved107 SubCauseCodeType,
+ reserved108 SubCauseCodeType,
+ reserved109 SubCauseCodeType,
+ reserved110 SubCauseCodeType,
+ reserved111 SubCauseCodeType,
+ reserved112 SubCauseCodeType,
+ reserved113 SubCauseCodeType,
+ reserved114 SubCauseCodeType,
+ reserved115 SubCauseCodeType,
+ reserved116 SubCauseCodeType,
+ reserved117 SubCauseCodeType,
+ reserved118 SubCauseCodeType,
+ reserved119 SubCauseCodeType,
+ reserved120 SubCauseCodeType,
+ reserved121 SubCauseCodeType,
+ reserved122 SubCauseCodeType,
+ reserved123 SubCauseCodeType,
+ reserved124 SubCauseCodeType,
+ reserved125 SubCauseCodeType,
+ reserved126 SubCauseCodeType,
+ reserved127 SubCauseCodeType,
+ reserved128 SubCauseCodeType
+ }
+
+CauseCodeV2 ::= SEQUENCE {
+ ccAndScc CauseCodeChoice,
+ ...
+}
+
+CenDsrcTollingZone ::= SEQUENCE {
+ protectedZoneLatitude Latitude,
+ protectedZoneLongitude Longitude,
+ cenDsrcTollingZoneId ProtectedZoneId OPTIONAL,
+ ...
+}
+
+CircularShape ::= SEQUENCE {
+ shapeReferencePoint CartesianPosition3d OPTIONAL,
+ radius StandardLength12b,
+ height StandardLength12b OPTIONAL
+}
+
+ClosedLanes ::= SEQUENCE {
+ innerhardShoulderStatus HardShoulderStatus OPTIONAL,
+ outerhardShoulderStatus HardShoulderStatus OPTIONAL,
+ drivingLaneStatus DrivingLaneStatus OPTIONAL,
+ ...
+}
+
+ClusterBreakupInfo ::= SEQUENCE {
+ clusterBreakupReason ClusterBreakupReason,
+ breakupTime DeltaTimeQuarterSecond,
+ ...
+}
+
+ClusterJoinInfo ::= SEQUENCE {
+ clusterId Identifier1B,
+ joinTime DeltaTimeQuarterSecond,
+ ...
+}
+
+ClusterLeaveInfo ::= SEQUENCE {
+ clusterId Identifier1B,
+ clusterLeaveReason ClusterLeaveReason,
+ ...
+}
+
+CorrelationColumn ::= SEQUENCE SIZE (1..13,...) OF CorrelationCellValue
+
+Curvature ::= SEQUENCE {
+ curvatureValue CurvatureValue,
+ curvatureConfidence CurvatureConfidence
+}
+
+DangerousGoodsExtended ::= SEQUENCE {
+ dangerousGoodsType DangerousGoodsBasic,
+ unNumber INTEGER (0..9999),
+ elevatedTemperature BOOLEAN,
+ tunnelsRestricted BOOLEAN,
+ limitedQuantity BOOLEAN,
+ emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL,
+ phoneNumber PhoneNumber OPTIONAL,
+ companyName UTF8String (SIZE (1..24)) OPTIONAL,
+ ...
+}
+
+DeltaReferencePosition ::= SEQUENCE {
+ deltaLatitude DeltaLatitude,
+ deltaLongitude DeltaLongitude,
+ deltaAltitude DeltaAltitude
+}
+
+DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition
+
+EllipticalShape ::= SEQUENCE {
+ shapeReferencePoint CartesianPosition3d OPTIONAL,
+ semiMajorAxisLength StandardLength12b,
+ semiMinorAxisLength StandardLength12b,
+ orientation Wgs84AngleValue OPTIONAL,
+ height StandardLength12b OPTIONAL
+}
+
+EulerAnglesWithConfidence ::= SEQUENCE {
+ zAngle CartesianAngle,
+ yAngle CartesianAngle OPTIONAL,
+ xAngle CartesianAngle OPTIONAL
+}
+
+EuVehicleCategoryCode ::= CHOICE {
+ euVehicleCategoryL EuVehicleCategoryL,
+ euVehicleCategoryM EuVehicleCategoryM,
+ euVehicleCategoryN EuVehicleCategoryN,
+ euVehicleCategoryO EuVehicleCategoryO,
+ euVehicleCategoryT NULL,
+ euVehicleCategoryG NULL
+ }
+
+EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint
+
+EventPoint ::= SEQUENCE {
+ eventPosition DeltaReferencePosition,
+ eventDeltaTime PathDeltaTime OPTIONAL,
+ informationQuality InformationQuality
+}
+
+EventZone::= EventHistory
+ ((WITH COMPONENT (WITH COMPONENTS {..., eventDeltaTime PRESENT})) |
+ (WITH COMPONENT (WITH COMPONENTS {..., eventDeltaTime ABSENT})))
+
+GeneralizedLanePosition::= CHOICE {
+ trafficLanePosition LanePosition,
+ nonTrafficLanePosition LanePositionAndType,
+ trafficIslandPosition TrafficIslandPosition,
+ mapPosition MapPosition,
+ ...
+}
+
+Heading ::= SEQUENCE {
+ headingValue HeadingValue,
+ headingConfidence HeadingConfidence
+}
+
+
+HeadingChangeIndication ::= SEQUENCE {
+ direction TurningDirection,
+ actionDeltaTime DeltaTimeTenthOfSecond,
+ ...
+}
+
+InterferenceManagementChannel ::= SEQUENCE {
+ centreFrequency INTEGER (1 .. 99999),
+ channelWidth INTEGER (0 .. 9999),
+ exponent INTEGER (0 .. 15)
+}
+
+InterferenceManagementZone ::= SEQUENCE {
+ zoneDefinition InterferenceManagementZoneDefinition,
+ managementInfo InterferenceManagementInfo
+}
+
+InterferenceManagementZoneDefinition::= SEQUENCE{
+ interferenceManagementZoneLatitude Latitude,
+ interferenceManagementZoneLongitude Longitude,
+ interferenceManagementZoneId ProtectedZoneId OPTIONAL,
+ interferenceManagementZoneShape Shape (WITH COMPONENTS{..., radial ABSENT, radialShapes ABSENT}) OPTIONAL,
+ ...
+}
+
+InterferenceManagementInfo::= SEQUENCE (SIZE(1..16,...)) OF InterferenceManagementInfoPerChannel
+
+
+InterferenceManagementInfoPerChannel ::= SEQUENCE {
+ interferenceManagementChannel InterferenceManagementChannel,
+ interferenceManagementZoneType InterferenceManagementZoneType,
+ interferenceManagementMitigationType MitigationForTechnologies OPTIONAL,
+ expiryTime TimestampIts OPTIONAL,
+ ...
+}
+
+InterferenceManagementZones ::= SEQUENCE (SIZE(1..16), ...) OF InterferenceManagementZone
+
+IntersectionReferenceId ::= SEQUENCE {
+ region Identifier2B OPTIONAL,
+ id Identifier2B
+}
+
+ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition
+
+ProtocolVersion ::= INTEGER(0..255)
+
+ItsPduHeader ::= SEQUENCE {
+-- protocolVersion OrdinalNumber1B,
+ protocolVersion ProtocolVersion,
+ messageId MessageId,
+ stationId StationId
+}
+
+LanePositionAndType::= SEQUENCE {
+ transversalPosition LanePosition,
+ laneType LaneType,
+ ...
+}
+
+LateralAcceleration ::= SEQUENCE {
+ lateralAccelerationValue LateralAccelerationValue,
+ lateralAccelerationConfidence AccelerationConfidence
+}
+
+LongitudinalAcceleration ::= SEQUENCE {
+ longitudinalAccelerationValue LongitudinalAccelerationValue,
+ longitudinalAccelerationConfidence AccelerationConfidence
+}
+
+LongitudinalLanePosition ::= SEQUENCE {
+ longitudinalLanePositionValue LongitudinalLanePositionValue,
+ longitudinalLanePositionConfidence LongitudinalLanePositionConfidence
+}
+
+LowerTriangularPositiveSemidefiniteMatrices::= SEQUENCE SIZE (1..4) OF LowerTriangularPositiveSemidefiniteMatrix
+
+LowerTriangularPositiveSemidefiniteMatrix ::= SEQUENCE{
+ componentsIncludedIntheMatrix MatrixIncludedComponents,
+ matrix LowerTriangularPositiveSemidefiniteMatrixColumns
+}
+
+LowerTriangularPositiveSemidefiniteMatrixColumns ::= SEQUENCE SIZE (1..13) OF CorrelationColumn
+
+MapPosition ::= SEQUENCE {
+ mapReference MapReference OPTIONAL,
+ laneId Identifier1B OPTIONAL,
+ connectionId Identifier1B OPTIONAL,
+ longitudinalLanePosition LongitudinalLanePosition OPTIONAL,
+ ...
+}
+ ((WITH COMPONENTS {..., laneId PRESENT, connectionId ABSENT }) |
+ (WITH COMPONENTS {..., laneId ABSENT, connectionId PRESENT }))
+
+MapReference::= CHOICE {
+ roadsegment RoadSegmentReferenceId,
+ intersection IntersectionReferenceId
+ }
+
+MessageRateHz::= SEQUENCE {
+ mantissa INTEGER (1..100),
+ exponent INTEGER (-5..2)
+ }
+
+MessageSegmentationInfo ::= SEQUENCE {
+ totalMsgNo CardinalNumber3b,
+ thisMsgNo OrdinalNumber3b
+ }
+
+MitigationForTechnologies ::= SEQUENCE (SIZE(1..8)) OF MitigationPerTechnologyClass
+
+MitigationPerTechnologyClass ::= SEQUENCE {
+ accessTechnologyClass AccessTechnologyClass,
+ lowDutyCycle INTEGER (0 .. 10000) OPTIONAL,
+ powerReduction INTEGER (0 .. 30) OPTIONAL,
+ dmcToffLimit INTEGER (0 .. 1200) OPTIONAL,
+ dmcTonLimit INTEGER (0 .. 20) OPTIONAL,
+ ...
+}
+
+ObjectClass ::= CHOICE {
+ vehicleSubClass TrafficParticipantType (unknown|passengerCar..tram|agricultural),
+ vruSubClass VruProfileAndSubprofile,
+ groupSubClass VruClusterInformation (WITH COMPONENTS{..., clusterBoundingBoxShape ABSENT}),
+ otherSubClass OtherSubClass,
+ ...
+}
+
+ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence
+
+ObjectClassWithConfidence ::= SEQUENCE {
+ objectClass ObjectClass,
+ confidence ConfidenceLevel
+}
+
+ObjectDimension ::= SEQUENCE {
+ value ObjectDimensionValue,
+ confidence ObjectDimensionConfidence
+}
+
+Path::= SEQUENCE (SIZE(0..40)) OF PathPoint
+
+PathHistory::= SEQUENCE (SIZE(40)) OF PathPoint
+
+PathPredicted::= SEQUENCE (SIZE(0..15,...)) OF PathPointPredicted
+
+PathPoint ::= SEQUENCE {
+ pathPosition DeltaReferencePosition,
+ pathDeltaTime PathDeltaTime OPTIONAL
+}
+
+PathPointPredicted::= SEQUENCE {
+ deltaLatitude DeltaLatitude,
+ deltaLongitude DeltaLongitude,
+ horizontalPositionConfidence PosConfidenceEllipse OPTIONAL,
+ deltaAltitude DeltaAltitude DEFAULT unavailable,
+ altitudeConfidence AltitudeConfidence DEFAULT unavailable,
+ pathDeltaTime DeltaTimeTenthOfSecond,
+ ...
+}
+
+PerceivedObject ::= SEQUENCE {
+ objectId Identifier2B OPTIONAL,
+ measurementDeltaTime DeltaTimeMilliSecondSigned,
+ position CartesianPosition3dWithConfidence,
+ velocity Velocity3dWithConfidence OPTIONAL,
+ acceleration Acceleration3dWithConfidence OPTIONAL,
+ angles EulerAnglesWithConfidence OPTIONAL,
+ zAngularVelocity CartesianAngularVelocityComponent OPTIONAL,
+ lowerTriangularCorrelationMatrices LowerTriangularPositiveSemidefiniteMatrices OPTIONAL,
+ objectDimensionZ ObjectDimension OPTIONAL,
+ objectDimensionY ObjectDimension OPTIONAL,
+ objectDimensionX ObjectDimension OPTIONAL,
+ objectAge DeltaTimeMilliSecondSigned (0..2047) OPTIONAL,
+ objectPerceptionQuality ObjectPerceptionQuality OPTIONAL,
+ sensorIdList SequenceOfIdentifier1B OPTIONAL,
+ classification ObjectClassDescription OPTIONAL,
+ mapPosition MapPosition OPTIONAL,
+ ...
+}
+
+PolygonalShape ::= SEQUENCE {
+ shapeReferencePoint CartesianPosition3d OPTIONAL,
+ polygon SequenceOfCartesianPosition3d (SIZE(3..16,...)),
+ height StandardLength12b OPTIONAL
+}
+
+PosConfidenceEllipse ::= SEQUENCE {
+ semiMajorConfidence SemiAxisLength,
+ semiMinorConfidence SemiAxisLength,
+ semiMajorOrientation HeadingValue
+}
+
+PositionConfidenceEllipse ::= SEQUENCE {
+ semiMajorAxisLength SemiAxisLength,
+ semiMinorAxisLength SemiAxisLength,
+ semiMajorAxisOrientation Wgs84AngleValue
+}
+
+PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar
+
+ProtectedCommunicationZone ::= SEQUENCE {
+ protectedZoneType ProtectedZoneType,
+ expiryTime TimestampIts OPTIONAL,
+ protectedZoneLatitude Latitude,
+ protectedZoneLongitude Longitude,
+ protectedZoneRadius ProtectedZoneRadius OPTIONAL,
+ protectedZoneId ProtectedZoneId OPTIONAL,
+ ...
+}
+
+ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone
+
+PtActivation ::= SEQUENCE {
+ ptActivationType PtActivationType,
+ ptActivationData PtActivationData
+}
+
+RadialShape ::= SEQUENCE {
+ shapeReferencePoint CartesianPosition3d OPTIONAL,
+ range StandardLength12b,
+ stationaryHorizontalOpeningAngleStart Wgs84AngleValue,
+ stationaryHorizontalOpeningAngleEnd Wgs84AngleValue,
+ verticalOpeningAngleStart CartesianAngleValue OPTIONAL,
+ verticalOpeningAngleEnd CartesianAngleValue OPTIONAL
+}
+
+
+RadialShapes ::= SEQUENCE {
+ refPointId Identifier1B,
+ xCoordinate CartesianCoordinateSmall,
+ yCoordinate CartesianCoordinateSmall,
+ zCoordinate CartesianCoordinateSmall OPTIONAL,
+ radialShapesList RadialShapesList
+}
+
+RadialShapesList ::= SEQUENCE SIZE(1..16,...) OF RadialShapeDetails
+
+RadialShapeDetails ::= SEQUENCE {
+ range StandardLength12b,
+ horizontalOpeningAngleStart CartesianAngleValue,
+ horizontalOpeningAngleEnd CartesianAngleValue,
+ verticalOpeningAngleStart CartesianAngleValue OPTIONAL,
+ verticalOpeningAngleEnd CartesianAngleValue OPTIONAL
+}
+
+RectangularShape ::= SEQUENCE {
+ centerPoint CartesianPosition3d OPTIONAL,
+ semiLength StandardLength12b,
+ semiBreadth StandardLength12b,
+ orientation Wgs84AngleValue OPTIONAL,
+ height StandardLength12b OPTIONAL
+}
+
+ReferencePosition ::= SEQUENCE {
+ latitude Latitude,
+ longitude Longitude,
+ positionConfidenceEllipse PosConfidenceEllipse,
+ altitude Altitude
+}
+
+ReferencePositionWithConfidence ::= SEQUENCE {
+ latitude Latitude,
+ longitude Longitude,
+ positionConfidenceEllipse PositionConfidenceEllipse,
+ altitude Altitude
+}
+
+RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType
+
+RoadSegmentReferenceId ::= SEQUENCE {
+ region Identifier2B OPTIONAL,
+ id Identifier2B
+}
+
+SafeDistanceIndication ::= SEQUENCE {
+ subjectStation StationId OPTIONAL,
+ safeDistanceIndicator SafeDistanceIndicator,
+ timeToCollision DeltaTimeTenthOfSecond OPTIONAL,
+ ...
+}
+
+SequenceOfCartesianPosition3d ::= SEQUENCE (SIZE(1..16, ...)) OF CartesianPosition3d
+
+SequenceOfIdentifier1B ::= SEQUENCE SIZE(1..128, ...) OF Identifier1B
+
+SequenceOfSafeDistanceIndication ::= SEQUENCE(SIZE(1..8,...)) OF SafeDistanceIndication
+
+SequenceOfTrajectoryInterceptionIndication ::= SEQUENCE (SIZE(1..8,...)) OF TrajectoryInterceptionIndication
+
+Shape::= CHOICE {
+ rectangular RectangularShape,
+ circular CircularShape,
+ polygonal PolygonalShape,
+ elliptical EllipticalShape,
+ radial RadialShape,
+ radialShapes RadialShapes,
+ ...
+}
+
+Speed ::= SEQUENCE {
+ speedValue SpeedValue,
+ speedConfidence SpeedConfidence
+}
+
+StabilityChangeIndication ::= SEQUENCE {
+ lossProbability StabilityLossProbability,
+ actionDeltaTime DeltaTimeTenthOfSecond,
+ ...
+}
+
+SteeringWheelAngle ::= SEQUENCE {
+ steeringWheelAngleValue SteeringWheelAngleValue,
+ steeringWheelAngleConfidence SteeringWheelAngleConfidence
+}
+
+Traces ::= SEQUENCE SIZE(1..7) OF Path
+
+TrafficIslandPosition ::= SEQUENCE {
+ oneSide LanePositionAndType,
+ otherSide LanePositionAndType,
+ ...
+}
+
+TrailerData ::= SEQUENCE {
+ refPointId Identifier1B,
+ hitchPointOffset StandardLength1B,
+ frontOverhang StandardLength1B OPTIONAL,
+ rearOverhang StandardLength1B OPTIONAL,
+ trailerWidth VehicleWidth OPTIONAL,
+ hitchAngle CartesianAngle,
+ ...
+}
+
+TrajectoryInterceptionIndication ::= SEQUENCE {
+ subjectStation StationId OPTIONAL,
+ trajectoryInterceptionProbability TrajectoryInterceptionProbability,
+ trajectoryInterceptionConfidence TrajectoryInterceptionConfidence OPTIONAL,
+ ...
+}
+
+VarLengthNumber::=CHOICE{
+ content [0] INTEGER(0..127), -- one octet length
+ extension [1] Ext1
+ }
+Ext1::=CHOICE{
+ content [0] INTEGER(128..16511), -- two octets length
+ extension [1] Ext2
+}
+Ext2::=CHOICE{
+ content [0] INTEGER(16512..2113663), -- three octets length
+ extension [1] Ext3
+ }
+Ext3::= INTEGER(2113664..270549119,...) -- four and more octets length
+
+VerticalAcceleration ::= SEQUENCE {
+ verticalAccelerationValue VerticalAccelerationValue,
+ verticalAccelerationConfidence AccelerationConfidence
+}
+
+VehicleIdentification ::= SEQUENCE {
+ wMInumber WMInumber OPTIONAL,
+ vDS VDS OPTIONAL,
+ ...
+}
+
+VehicleLength ::= SEQUENCE {
+ vehicleLengthValue VehicleLengthValue,
+ vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication
+}
+
+VehicleLengthV2 ::= SEQUENCE {
+ vehicleLengthValue VehicleLengthValue,
+ trailerPresenceInformation TrailerPresenceInformation
+}
+
+Velocity3dWithConfidence::= CHOICE{
+ polarVelocity VelocityPolarWithZ,
+ cartesianVelocity VelocityCartesian
+}
+
+VelocityCartesian::= SEQUENCE {
+ xVelocity VelocityComponent,
+ yVelocity VelocityComponent,
+ zVelocity VelocityComponent OPTIONAL
+}
+
+VelocityComponent ::= SEQUENCE {
+ value VelocityComponentValue,
+ confidence SpeedConfidence
+}
+
+VelocityPolarWithZ::= SEQUENCE {
+ velocityMagnitude Speed,
+ velocityDirection CartesianAngle,
+ zVelocity VelocityComponent OPTIONAL
+}
+
+VruClusterInformation ::= SEQUENCE {
+ clusterId Identifier1B OPTIONAL,
+ clusterBoundingBoxShape Shape (WITH COMPONENTS{..., elliptical ABSENT, radial ABSENT, radialShapes ABSENT}) OPTIONAL,
+ clusterCardinalitySize CardinalNumber1B,
+ clusterProfiles VruClusterProfiles OPTIONAL,
+ ...
+}
+
+VruExteriorLights ::= SEQUENCE {
+ vehicular ExteriorLights,
+ vruSpecific VruSpecificExteriorLights,
+ ...
+}
+
+VruProfileAndSubprofile ::= CHOICE {
+ pedestrian VruSubProfilePedestrian,
+ bicyclistAndLightVruVehicle VruSubProfileBicyclist,
+ motorcyclist VruSubProfileMotorcyclist,
+ animal VruSubProfileAnimal,
+ ...
+}
+
+Wgs84Angle ::= SEQUENCE {
+ value Wgs84AngleValue,
+ confidence Wgs84AngleConfidence
+}
+
+
+YawRate::= SEQUENCE {
+ yawRateValue YawRateValue,
+ yawRateConfidence YawRateConfidence
+}
+
+------------------------------------------
+END
+
diff --git a/epan/dissectors/asn1/its/ETSI_TS_103301.asn b/epan/dissectors/asn1/its/ETSI_TS_103301.asn
new file mode 100644
index 00000000..3e4bba06
--- /dev/null
+++ b/epan/dissectors/asn1/its/ETSI_TS_103301.asn
@@ -0,0 +1,179 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ETSI TS 103 301
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message
+-- as defined in ETSI TS 103 301
+--
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+--
+-- module: SPAT-MESSAGE-PDU-Descriptions
+--
+-- This ASN.1 was created: 30.08.2016
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+SPATEM-PDU-Descriptions {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) spatem (0) version2 (2)
+}
+ DEFINITIONS AUTOMATIC TAGS ::=
+
+ BEGIN
+
+ IMPORTS
+ SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2
+ (2) }
+
+ ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1
+ (1) ts (102894) cdd (2) version (2) };
+
+ SPATEM ::= SEQUENCE {
+ header ItsPduHeader,
+ spat SPAT
+ }
+END
+
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+--
+-- module: MAP-MESSAGE-PDU-Descriptions
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+MAPEM-PDU-Descriptions {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) mapem (1) version2 (2)
+}
+ DEFINITIONS AUTOMATIC TAGS ::=
+
+ BEGIN
+
+ IMPORTS
+
+ MapData
+ FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
+
+ ItsPduHeader
+ FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)};
+
+ MAPEM ::= SEQUENCE {
+ header ItsPduHeader,
+ map MapData
+ }
+
+END
+
+
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+--
+-- module: IVI-MESSAGE-PDU-Descriptions
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+IVIM-PDU-Descriptions {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ivim (2)
+version2 (2)
+}
+ DEFINITIONS AUTOMATIC TAGS ::=
+
+ BEGIN
+
+ IMPORTS
+
+ IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)}
+
+ ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1
+ (1) ts (102894) cdd (2) version (2)};
+
+ IVIM ::= SEQUENCE {
+ header ItsPduHeader,
+ ivi IviStructure
+ }
+
+END
+
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+--
+-- module: SRM-MESSAGE-PDU-Descriptions
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+SREM-PDU-Descriptions {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) srem (3)
+version2 (2)
+}
+ DEFINITIONS AUTOMATIC TAGS ::=
+
+ BEGIN
+
+ IMPORTS
+
+ SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2)
+ dsrc (2) version2 (2) }
+
+ ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1
+ (1) ts (102894) cdd (2) version (2)};
+
+ SREM ::= SEQUENCE {
+ header ItsPduHeader,
+ srm SignalRequestMessage
+ }
+END
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+--
+-- module: SSM-MESSAGE-PDU-Descriptions
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+SSEM-PDU-Descriptions {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ssem (4)
+version2 (2)
+}
+ DEFINITIONS AUTOMATIC TAGS ::=
+
+ BEGIN
+
+ IMPORTS
+
+ SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc
+ (2) version2 (2) }
+
+ ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1
+ (1) ts (102894) cdd (2) version (2)};
+
+ SSEM ::= SEQUENCE {
+ header ItsPduHeader,
+ ssm SignalStatusMessage
+ }
+
+END
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+--
+-- module: RTCM corrections extended message
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+RTCMEM-PDU-Descriptions {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) rtcmem (5)
+version1 (1)
+}
+ DEFINITIONS AUTOMATIC TAGS ::=
+
+ BEGIN
+
+ IMPORTS
+
+ RTCMcorrections FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2)
+ version2 (2) }
+
+ ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1
+ (1) ts (102894) cdd (2) version (2)};
+
+ RTCMEM ::= SEQUENCE {
+ header ItsPduHeader,
+ rtcmc RTCMcorrections
+ }
+
+END
diff --git a/epan/dissectors/asn1/its/EV-RSR-PDU-Descriptions.asn b/epan/dissectors/asn1/its/EV-RSR-PDU-Descriptions.asn
new file mode 100644
index 00000000..8a61a6e4
--- /dev/null
+++ b/epan/dissectors/asn1/its/EV-RSR-PDU-Descriptions.asn
@@ -0,0 +1,157 @@
+EV-RechargingSpotReservation-PDU-Descriptions {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (101556) ev-rsr (4) version (1)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ItsPduHeader FROM ITS-Container {
+ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)
+};
+
+EV-RSR ::= SEQUENCE {
+ header ItsPduHeader,
+ messageBody EV-RSR-MessageBody
+}
+
+EV-RSR-MessageBody ::= CHOICE {
+ preReservationRequestMessage PreReservationRequestMessage,
+ preReservationResponseMessage PreReservationResponseMessage,
+ reservationRequestMessage ReservationRequestMessage,
+ reservationResponseMessage ReservationResponseMessage,
+ cancellationRequestMessage CancellationRequestMessage,
+ cancellationResponseMessage CancellationResponseMessage,
+ updateRequestMessage UpdateRequestMessage,
+ updateResponseMessage UpdateResponseMessage,
+...
+}
+
+PreReservationRequestMessage ::= SEQUENCE {
+ evse-ID EVSE-ID,
+ arrivalTime TimestampUTC,
+ departureTime TimestampUTC OPTIONAL,
+ rechargingType RechargingType,
+ batteryType BatteryType OPTIONAL,
+ ...
+}
+
+PreReservationResponseMessage ::= SEQUENCE {
+ preReservation-ID PreReservation-ID,
+ availabilityStatus AvailabilityStatus,
+ preReservationExpirationTime TimestampUTC,
+ supportedPaymentTypes SupportedPaymentTypes,
+ ...
+}
+
+ReservationRequestMessage ::= SEQUENCE {
+ currentTime TimestampUTC,
+ preReservation-ID PreReservation-ID,
+ arrivalTime TimestampUTC,
+ departureTime TimestampUTC OPTIONAL,
+ eAmount EAmount,
+ eAmountMin EAmount,
+ paymentType PaymentType,
+ payment-ID Payment-ID,
+ secondPayment-ID Payment-ID OPTIONAL,
+ pairing-ID Pairing-ID OPTIONAL,
+ ...
+}
+
+ReservationResponseMessage ::= SEQUENCE {
+ reservationResponseCode ReservationResponseCode,
+ reservation-ID Reservation-ID OPTIONAL,
+ reservation-Password Reservation-Password OPTIONAL,
+ stationDetails StationDetails OPTIONAL,
+ chargingSpotLabel ChargingSpotLabel OPTIONAL,
+ expirationTime TimestampUTC,
+ freeCancelTimeLimit TimestampUTC OPTIONAL,
+ ...
+}
+
+CancellationRequestMessage ::= SEQUENCE {
+ reservation-ID Reservation-ID,
+ reservation-Password Reservation-Password,
+ currentTime TimestampUTC,
+ ...
+}
+
+CancellationResponseMessage ::= SEQUENCE {
+ reservation-ID Reservation-ID,
+ cancellationResponseCode CancellationResponseCode,
+ ...
+}
+
+UpdateRequestMessage ::= SEQUENCE {
+ reservation-ID Reservation-ID,
+ reservation-Password Reservation-Password,
+ updatedArrivalTime TimestampUTC,
+ updatedDepartureTime TimestampUTC,
+ ...
+}
+
+UpdateResponseMessage ::= SEQUENCE {
+ reservation-ID Reservation-ID,
+ updateResponseCode UpdateResponseCode,
+ chargingSpotLabel ChargingSpotLabel OPTIONAL,
+ ...
+}
+
+
+
+AvailabilityStatus ::= ENUMERATED { available, no-free-capacity }
+
+BatteryType ::= UTF8String (SIZE(1..16))
+
+CancellationResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password }
+
+ChargingSpotLabel ::= UTF8String (SIZE(1..4))
+
+ContractID ::= UTF8String (SIZE(1..24))
+
+EAmount ::= INTEGER { oneWh(1) } (1..500000)
+
+ChargingPower ::= INTEGER { oneW(1) } (1..200000)
+
+EVSE-ID ::= OCTET STRING (SIZE(1..32))
+
+ExternalIdentificationMeans ::= UTF8String (SIZE(1..24))
+
+Pairing-ID ::= VisibleString (SIZE(1..64))
+
+PaymentType ::= ENUMERATED {contract, externalIdentification}
+
+Payment-ID ::= CHOICE {
+ contractID ContractID,
+ externalIdentificationMeans ExternalIdentificationMeans
+}
+
+RechargingType ::= SEQUENCE {
+ rechargingMode RechargingMode,
+ powerSource PowerSource
+}
+
+RechargingMode ::= INTEGER { mode1(0), mode2(1), mode3(2), mode4(3), quickDrop(8), inductiveChargingWhileStationary(12), inductiveChargingWhileDriving(14) } (0..15)
+
+PowerSource::= INTEGER { notApplicable(0), ac1Phase(1), ac2Phase(2), ac3Phase(3), dcc(4), chaDeMo(5) } (0..7)
+ReservationResponseCode ::= ENUMERATED {ok, invalid-EVSE-ID, payment-type-not-supported, payment-error, authentication-error, insufficient-power-availability }
+
+Reservation-ID ::= VisibleString (SIZE(8))
+
+PreReservation-ID ::= Reservation-ID
+
+Reservation-Password ::= VisibleString (SIZE(8))
+
+
+StationDetails ::= UTF8String (SIZE(1..32))
+
+SupportedPaymentTypes ::= BIT STRING { contract(0), externalIdentification (1) } (SIZE(2))
+
+TimestampUTC ::= INTEGER { utcStartOf2013(0), oneSecondAfterUTCStartOf2013(1) }
+
+UpdateResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password, invalid-Arrival-Time, invalid-Departure-Time }
+
+StatusResponseCode ::= ENUMERATED { charging-Spot-Occupied, charging-Spot-Unoccupied, charging-Ongoing, reservation-Limit-Exceeded, reservation-Cancelled, unknown-Reservation-ID, expired-Reservation-ID }
+
+END
diff --git a/epan/dissectors/asn1/its/EVCSN-PDU-Descriptions.asn b/epan/dissectors/asn1/its/EVCSN-PDU-Descriptions.asn
new file mode 100644
index 00000000..b95dfd08
--- /dev/null
+++ b/epan/dissectors/asn1/its/EVCSN-PDU-Descriptions.asn
@@ -0,0 +1,102 @@
+-- Point of Interest (POI) notification for charging spot
+-- for electric vehicle
+-- EVCSN Message definition
+-- ASN.1 Start Definition
+
+EVCSN-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) itsDomain (5)
+wg1 (1) ts (101556) evcsn (1) version (1)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ItsPduHeader,
+ StationID,
+ TimestampIts, -- CORRECTION
+ DigitalMap, -- PATCH
+ ReferencePosition
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
+;
+
+-- Root Message PDU: EvcsnPdu
+
+EvcsnPdu ::= SEQUENCE {
+ header ItsPduHeader,
+ evcsn EVChargingSpotNotificationPOIMessage
+}
+
+EVChargingSpotNotificationPOIMessage ::= SEQUENCE {
+ poiHeader ItsPOIHeader, -- Specific POI Message Header
+ evcsnData ItsEVCSNData -- Electric Vehicle Charging Spot Data Elements
+}
+
+ItsPOIHeader ::= SEQUENCE {
+ poiType POIType, -- set to "EV charging station POI ID = 1"
+ timeStamp TimestampIts, -- CORRECTION
+ relayCapable BOOLEAN
+}
+
+
+ItsEVCSNData ::= SEQUENCE {
+ totalNumberOfStations NumberStations,
+ chargingStationsData SEQUENCE (SIZE(1..256)) OF ItsChargingStationData
+}
+
+ItsChargingStationData ::= SEQUENCE {
+ chargingStationID StationID,
+ utilityDistributorId UTF8String (SIZE(1..32)) OPTIONAL,
+ providerID UTF8String (SIZE(1..32)) OPTIONAL,
+ chargingStationLocation ReferencePosition,
+ address UTF8String OPTIONAL,
+ phoneNumber NumericString (SIZE(1..16)) OPTIONAL,
+ accessibility UTF8String (SIZE(1..32)),
+ digitalMap DigitalMap OPTIONAL,
+ openingDaysHours UTF8String,
+ pricing UTF8String,
+ bookingContactInfo UTF8String OPTIONAL,
+ payment UTF8String OPTIONAL,
+ chargingSpotsAvailable ItsChargingSpots,
+ ...
+}
+
+
+ItsChargingSpots ::= SEQUENCE (SIZE(1..16)) OF ItsChargingSpotDataElements
+
+
+ItsChargingSpotDataElements ::= SEQUENCE {
+ type ChargingSpotType,
+ evEquipmentID UTF8String OPTIONAL,
+ typeOfReceptacle TypeOfReceptacle,
+ energyAvailability UTF8String,
+ parkingPlacesData ParkingPlacesData OPTIONAL
+}
+
+-- DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition PATCH
+
+ChargingSpotType ::= BIT STRING {
+ standardChargeMode1(0),
+ standardChargeMode2(1),
+ standardOrFastChargeMode3(2),
+ fastChargeWithExternalCharger(3),
+ quickDrop(8),
+ inductiveChargeWhileStationary(12),
+ inductiveChargeWhileDriving(14)
+}
+
+TypeOfReceptacle ::= BIT STRING
+
+ParkingPlacesData ::= SEQUENCE (SIZE(1..4)) OF SpotAvailability
+
+SpotAvailability ::= SEQUENCE {
+ maxWaitingTimeMinutes INTEGER (0..1400), -- 0 if available or max waiting
+ -- time (minutes)
+ blocking BOOLEAN -- true if the spot can be blocked
+}
+
+POIType ::= INTEGER(0..65535)
+NumberStations ::= INTEGER(1..256)
+
+END
diff --git a/epan/dissectors/asn1/its/GDD.asn b/epan/dissectors/asn1/its/GDD.asn
new file mode 100644
index 00000000..0680e3e5
--- /dev/null
+++ b/epan/dissectors/asn1/its/GDD.asn
@@ -0,0 +1,302 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TR 14823-2
+--
+-- Taken from ISO/TR 14823-2:2019(E) preview
+-- https://www.sis.se/api/document/preview/80015457/
+--
+-- Changes to original version:
+-- - add this header
+-- - reformat
+-- - rename InternationalSign-distinationInformation -> InternationalSign-destinationInformation
+-- - rename DistinationInformationIO -> DestinationInformationIO
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+GDD {iso (1) standard (0) gdd(14823) version1 (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+GddStructure ::= SEQUENCE {
+ pictogramCode Pictogram,
+ attributes GddAttributes OPTIONAL
+}
+
+Pictogram ::= SEQUENCE {
+ countryCode Pictogram-countryCode OPTIONAL,
+ serviceCategoryCode Pictogram-serviceCategory,
+ pictogramCategoryCode Pictogram-category
+}
+
+Pictogram-countryCode ::= OCTET STRING (SIZE (2))
+
+Pictogram-serviceCategory ::= CHOICE {
+ trafficSignPictogram Pictogram-trafficSign,
+ publicFacilitiesPictogram Pictogram-publicFacilitySign,
+ ambientOrRoadConditionPictogram Pictogram-conditionsSign
+}
+
+Pictogram-category ::= SEQUENCE {
+ nature Pictogram-nature,
+ serialNumber Pictogram-serialNumber
+}
+
+Pictogram-trafficSign ::= ENUMERATED {
+ dangerWarning (11),
+ regulatory (12),
+ informative (13),
+ ...
+}
+
+Pictogram-publicFacilitySign ::= ENUMERATED {
+ publicFacilities (21),
+ ...
+}
+
+Pictogram-conditionsSign ::= ENUMERATED {
+ ambientCondition (31),
+ roadCondition (32),
+ ...
+}
+
+Pictogram-nature ::= INTEGER (1..9)
+
+Pictogram-serialNumber ::= INTEGER (0..99)
+
+GddAttributes ::= SEQUENCE (SIZE (1..8), ...) OF CHOICE {
+ dtm InternationalSign-applicablePeriod,
+ edt InternationalSign-exemptedApplicablePeriod,
+ dfl InternationalSign-directionalFlowOfLane,
+ ved InternationalSign-applicableVehicleDimensions,
+ spe InternationalSign-speedLimits,
+ roi InternationalSign-rateOfIncline,
+ dbv InternationalSign-distanceBetweenVehicles,
+ ddd InternationalSign-destinationInformation,
+ set InternationalSign-section,
+ nol InternationalSign-numberOfLane
+}
+
+InternationalSign-applicablePeriod ::= SEQUENCE {
+ year SEQUENCE {
+ yearRangeStartYear Year,
+ yearRangeEndYear Year
+ } OPTIONAL,
+ month-day SEQUENCE {
+ dateRangeStartMonthDate MonthDay,
+ dateRangeEndMonthDate MonthDay
+ } OPTIONAL,
+ repeatingPeriodDayTypes RPDT OPTIONAL,
+ hourMinutes SEQUENCE {
+ timeRangeStartTime HoursMinutes,
+ timeRangeEndTime HoursMinutes
+ } OPTIONAL,
+ dateRangeOfWeek DayOfWeek OPTIONAL,
+ durationHourminute HoursMinutes OPTIONAL
+}
+
+MonthDay ::= SEQUENCE {
+ month MonthDay-month,
+ day MonthDay-day
+}
+
+HoursMinutes ::= SEQUENCE {
+ hours HoursMinutes-hours,
+ mins HoursMinutes-mins
+}
+
+Year ::= INTEGER (2000..2127,...)
+
+MonthDay-month ::= INTEGER (1..12)
+
+MonthDay-day ::= INTEGER (1..31)
+
+HoursMinutes-hours ::= INTEGER (0..23)
+
+HoursMinutes-mins ::= INTEGER (0..59)
+
+RPDT ::= BIT STRING {
+ national-holiday (0),
+ even-days (1),
+ odd-days (2),
+ market-day (3)
+} (SIZE (4))
+
+DayOfWeek ::= BIT STRING {
+ unused (0),
+ monday (1),
+ tuesday (2),
+ wednesday (3),
+ thursday (4),
+ friday (5),
+ saturday (6),
+ sunday (7)
+} (SIZE (8))
+
+InternationalSign-exemptedApplicablePeriod ::= InternationalSign-applicablePeriod
+
+InternationalSign-section ::= SEQUENCE {
+ startingPointLength Distance OPTIONAL,
+ continuityLength Distance OPTIONAL
+}
+
+InternationalSign-numberOfLane ::= INTEGER (0..99)
+
+InternationalSign-directionalFlowOfLane ::= INTEGER {
+ sLT(2),
+ sDL(1),
+ sRT(3),
+ lTO(4),
+ rTO(5),
+ cLL(6),
+ cRI(7),
+ oVL(8)
+} (1..8)
+
+InternationalSign-applicableVehicleDimensions ::= SEQUENCE {
+ vehicleHeight Distance OPTIONAL,
+ vehicleWidth Distance OPTIONAL,
+ vehicleLength Distance OPTIONAL,
+ vehicleWeight Weight OPTIONAL
+}
+
+Distance ::= SEQUENCE {
+ value INTEGER (1..16384),
+ unit Code-Units (2..4|6..8)
+}
+
+Weight ::= SEQUENCE {
+ value INTEGER (1..16384),
+ unit Code-Units (10..12)
+}
+
+Code-Units ::= INTEGER {
+ kmperh (0),
+ milesperh (1),
+ kilometre (2),
+ metre (3),
+ decimetre (4),
+ centimetre (5),
+ mile (6),
+ yard (7),
+ foot (8),
+ minutesOfTime (9),
+ tonnes (10),
+ hundredkg (11),
+ pound (12),
+ rateOfIncline (13),
+ durationinminutes (14)
+} (0..15)
+
+InternationalSign-speedLimits ::= SEQUENCE {
+ speedLimitMax INTEGER(0..250) OPTIONAL,
+ speedLimitMin INTEGER(0..250) OPTIONAL,
+ unit Code-Units (0..1)
+}
+
+InternationalSign-rateOfIncline ::= INTEGER (1..32)
+
+InternationalSign-distanceBetweenVehicles ::= Distance
+
+InternationalSign-destinationInformation ::= SEQUENCE {
+ junctionDirection DistinInfo-junctionDirection OPTIONAL,
+ roundaboutCwDirection DistinInfo-roundaboutCwDirection OPTIONAL,
+ roundaboutCcwDirection DistinInfo-roundaboutCcwDirection OPTIONAL,
+ ioList SEQUENCE (SIZE (1..8,...)) OF DestinationInformationIO
+}
+
+DestinationInformationIO ::= SEQUENCE {
+ arrowDirection IO-arrowDirection,
+ destPlace SEQUENCE (SIZE (1..4,...)) OF DestinationPlace OPTIONAL,
+ destRoad SEQUENCE (SIZE (1..4,...)) OF DestinationRoad OPTIONAL,
+ roadNumberIdentifier IO-roadNumberIdentifier OPTIONAL,
+ streetName IO-streetName OPTIONAL,
+ streetNameText IO-streetNameText OPTIONAL,
+ distanceToDivergingPoint DistanceOrDuration OPTIONAL,
+ distanceToDestinationPlace DistanceOrDuration OPTIONAL
+}
+
+DestinationPlace ::= SEQUENCE {
+ destType DestinationType,
+ destRSCode GddStructure (WITH COMPONENTS {..., attributes ABSENT}) OPTIONAL,
+ destBlob DestPlace-destBlob OPTIONAL,
+ placeNameIdentification DestPlace-placeNameIdentification OPTIONAL,
+ placeNameText DestPlace-placeNameText OPTIONAL
+}
+
+DestinationRoad ::= SEQUENCE {
+ derType DestinationRoadType,
+ roadNumberIdentifier DestRoad-roadNumberIdentifier OPTIONAL,
+ roadNumberText DestRoad-roadNumberText OPTIONAL
+}
+
+DistanceOrDuration ::= SEQUENCE {
+ value DistOrDuration-value,
+ unit DistOrDuration-Units
+}
+
+DistinInfo-junctionDirection ::= INTEGER (1..128)
+
+DistinInfo-roundaboutCwDirection ::= INTEGER (1..128)
+
+DistinInfo-roundaboutCcwDirection ::= INTEGER (1..128)
+
+IO-arrowDirection ::= INTEGER (0..7)
+
+IO-roadNumberIdentifier ::= INTEGER (1..999)
+
+IO-streetName ::= INTEGER (1..999)
+
+IO-streetNameText ::= UTF8String
+
+DestPlace-destBlob ::= OCTET STRING
+
+DestPlace-placeNameIdentification ::= INTEGER (1..999)
+
+DestPlace-placeNameText ::= UTF8String
+
+DestRoad-roadNumberIdentifier ::= INTEGER (1..999)
+
+DestRoad-roadNumberText ::= UTF8String
+
+DistOrDuration-value::= INTEGER (1..16384)
+
+DistOrDuration-Units ::= Code-Units (2..9)
+
+DestinationRoadType ::= INTEGER {
+ none (0),
+ nationalHighway (1),
+ localHighway (2),
+ tollExpresswayMotorway (3),
+ internationalHighway (4),
+ highway (5),
+ expressway (6),
+ nationalRoad (7),
+ regionalProvincialRoad (8),
+ localRoad (9),
+ motorwayJunction (10),
+ diversion (11),
+ rfu1 (12),
+ rfu2 (13),
+ rfu3 (14),
+ rfu4 (15)
+} (0..15, ...)
+
+DestinationType ::= INTEGER {
+ none (0),
+ importantArea (1),
+ principalArea (2),
+ generalArea (3),
+ wellKnownPoint (4),
+ country (5),
+ city (6),
+ street (7),
+ industrialArea (8),
+ historicArea (9),
+ touristicArea (10),
+ culturalArea (11),
+ touristicRoute (12),
+ recommendedRoute (13),
+ touristicAttraction (14),
+ geographicArea (15)
+} (0..15, ...)
+
+END
diff --git a/epan/dissectors/asn1/its/IMZM-PDU-Descriptions.asn b/epan/dissectors/asn1/its/IMZM-PDU-Descriptions.asn
new file mode 100644
index 00000000..72a4092f
--- /dev/null
+++ b/epan/dissectors/asn1/its/IMZM-PDU-Descriptions.asn
@@ -0,0 +1,264 @@
+--! @brief Specification of the Interference Management Zone Message ETSI TS 103 724
+--! Latest version available at @url https:
+--https ://forge.etsi.org/rep/ITS/asn1/imzm_ts103724/-/blob/release2/IMZM-PDU-Descriptions.asn
+
+IMZM-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103724 (103724) imzm (1) version1 (1)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+--! @brief Include ETSI TS 102 894-2
+--! Include references from @url https:
+ItsPduHeader, Latitude, Longitude, TimestampIts, ProtectedZoneRadius, ProtectedZoneId, InterferenceManagementZones, BasicContainer, GenerationDeltaTime
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1) }
+
+
+--! @brief Include ETSI EN 302 637-2
+--! Include references from @url https:
+--BasicContainer,
+--GenerationDeltaTime
+--FROM CAM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cam (2) version (2)}
+
+--! @brief Include ETSI TS 103 300-3
+--! All data types, imported from `VAM-Temp-Imports` will be imported from the CDD ETSI TS 102 894-2 Release 2 when available
+AreaCircular, AreaRectangle, AreaPolygon, OffsetPoint, SemiRangeLength, WGS84AngleValue
+FROM VAM-Temp-Imports { itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) temp-imports(255) version1(1)}
+;
+
+--! @brief DF: Interference Management Zone Message Root
+--! This DF includes DEs for the IMZM `protocolVersion`, the IMZ message type identifier `messageID`
+--! and the station identifier `stationID` of the originating ITS-S.
+IMZM ::= SEQUENCE {
+ --! @details header
+ --! - The DE `protocolVersion` is used to select the appropriate protocol decoder at the receiving
+ --! ITS-S. For TS 103 724 V2.1.1, the value of the DE `protocolVersion` shall be set to 1.
+ --! - The DE `messageID` shall be harmonized with other V2X message identifier definitions.
+ --! For IMZM, the DE messageID shall be set to `imzm(15)`.
+ header ItsPduHeader,
+ imzm InterferenceManagementZoneMessage
+}
+
+--! @brief DF: Interference Management Zone Message
+--! This is the actual IMZM Payload. It shall include the time stamp of the IMZM and the applicable
+--! containers of type `BasicContainer` and `ImzmContainer`.
+InterferenceManagementZoneMessage ::= SEQUENCE {
+ generationDeltaTime GenerationDeltaTime, -- from CAM-PDU-Descriptions
+ imzmParameters ImzmParameters
+}
+
+--! @brief DF: IMZM Parameters
+--! The sequence of containers in the IMZM. Other containers may be added in the future.
+ImzmParameters ::= SEQUENCE {
+ --! @details basicContainer
+ --! imported from CAM-PDU-Descriptions
+ basicContainer BasicContainer,
+ --! @details imzmContainer
+ --! container specific to the IMZM
+ imzmContainer ImzmContainer,
+ ...
+}
+
+--! @brief DF: IMZM Container
+--! The IMZM container includes a sequence of up to 16 interference management zones.
+--! For each interference management zones, it contains a sequence of interference
+--! management zones per channel together with their characteristics.
+ImzmContainer ::= SEQUENCE {
+ --! @details interferenceManagementZones
+ --! mapped to the DF_ProtectedCommunicationZone in ETSI TS 102 894-2
+ interferenceManagementZones InterferenceManagementZones,
+ ...
+}
+
+--! @brief DF: List of Interference Management Zones
+--! A list of up to 16 interference management zones.
+--!
+--! **EXAMPLE**: An interference management communication zone may be defined around a
+--! CEN DSRC road side equipment or an urban rail operational area.
+--! @category: Infrastructure information, Communication information
+--InterferenceManagementZones ::= SEQUENCE (SIZE(1..16), ...) OF InterferenceManagementZone
+
+--! @brief DF: Interference Management Zone
+--! Describes a zone of interferenceManagement inside which the ITS communication should
+--! be restricted.
+--! @category: Infrastructure information, Communication information
+--InterferenceManagementZone ::= SEQUENCE {
+-- zoneDefinition ZoneDefinition,
+-- interferenceManagementInfo InterferenceManagementInfo
+--}
+
+--! @brief DF: Zone Definition
+--! Describes the zone where band sharing occurs. When reusing CDD Rel.1 types, names are unchanged.
+--! @category: Infrastructure information, Communication information
+--ZoneDefinition::= SEQUENCE{
+ --! @details interferenceManagementZoneLatitude
+ --! Latitude of the centre point of the interference management zone.
+-- interferenceManagementZoneLatitude Latitude, - - from ITS-Container
+ --! @details interferenceManagementZoneLongitude
+ --! Longitude of the centre point of the interference management zone.
+-- interferenceManagementZoneLongitude Longitude, - - from ITS-Container
+ --! @details interferenceManagementZoneRadius
+ --! Radius of the interference management zone in metres.
+ --! This DE is present if the data is available
+-- interferenceManagementZoneRadius ProtectedZoneRadius OPTIONAL, - - from ITS-Container
+ --! @details interferenceManagementZoneID
+ --! Identification of the interference management zone.
+ --! This DE is present if the data is available.
+-- interferenceManagementZoneID ProtectedZoneId OPTIONAL, - - from ITS-Container
+ --! @details interferenceManagementZoneShape
+ --! Shape of the interference management zone.
+ --! This DF is present if the data is available.
+-- interferenceManagementZoneShape InterferenceManagementZoneShape OPTIONAL,
+-- ...
+--}
+
+--! @brief DF: Interference Management Information
+--! A list of up to 16 definitions containing which interference management may be applied in the zone,
+--! per affected frequency channels.
+--!
+--! **Note**: in the case where no mitigation should be applied by the ITS-S, this is indicated
+--! by the value of interferenceManagementMitigationType set to unavailable.
+--! @category: Infrastructure information, Communication information
+-- InterferenceManagementInfo::= SEQUENCE (SIZE(1..16,...)) OF InterferenceManagementInfoPerChannel
+
+--! @brief DF: Interference Management Information Per Channel
+--! A break up of the interference management information per affected frequency channels.
+--! @category: Infrastructure information, Communication information
+--InterferenceManagementInfoPerChannel ::= SEQUENCE {
+ --! @details interferenceManagementChannel
+ --! Characteritics of the frequency channel for which the zone
+ --! should be applied interference management
+-- interferenceManagementChannel InterferenceManagementChannel,
+ --! @details interferenceManagementZoneType
+ --! Type of the interference management zone.
+-- interferenceManagementZoneType InterferenceManagementZoneType,
+ --! @details interferenceManagementMitigationType
+ --! Type of the mitigation to be used in the interference management zone.
+-- interferenceManagementMitigationType InterferenceManagementMitigationType OPTIONAL,
+ --! @details expiryTime
+ --! Time at which the validity of the interference management communication zone will expire.
+ --! This DE is present when the interference management is temporarily valid
+-- expiryTime TimestampIts OPTIONAL, - - from ITS-Container
+-- ...
+--}
+
+--! @brief DF: InterferenceManagementChannel
+--! Indicates which shared frequency channel should be applied interference management in the zone.
+--! @category: Communication information
+--InterferenceManagementChannel ::= SEQUENCE {
+ --! @details centre frequency of the channel
+ --! @unit: 10exp+2 Hz (where exp is exponent)
+-- centreFrequency INTEGER (1 .. 99999),
+ --! @details width of the channel
+ --! @unit: 10exp Hz (where exp is exponent)
+-- channelWidth INTEGER (0 .. 9999),
+ --! @details exponent of the power of 10
+ --! @unit: N/A
+-- exponent INTEGER (0 .. 15)
+--}
+
+--! @brief DE: InterferenceManagementZoneType
+--! defines the type of an interference management zone, so that an ITS-S can
+--! assert the actions to do while passing by such zone (e.g. reduce the transmit
+--! power in case of a DSRC tolling station).
+--! @unit: N/A
+--! @category: Communication information
+--InterferenceManagementZoneType ::= ENUMERATED {
+-- permanentCenDsrcTolling(0), - -!< as specified in ETSI TS 102 792
+-- temporaryCenDsrcTolling(1), - -!< as specified in ETSI TS 102 792
+-- unavailable(2), - -!< default value. Set to 2 for backwards compatibility with DSRC tolling
+-- urbanRail(3), - -!< as specified in ETSI TS 103 724, clause 7
+-- satelliteStation(4), - -!< as specified in ETSI TS 103 724, clause 7
+-- fixedLinks(5), - -!< as specified in ETSI TS 103 724, clause 7
+-- ...
+--}
+
+--! @brief DF: Mitigation type in the interference management zone
+--! Information and commands defining the required mitigation type the
+--! receiving ITS-S has to use in the defined interference management zone.
+--! It indicates the type of mitigation and the parameters to be used to protect the
+--! potential victim in the interference management zone per channel access technology class.
+--! @category: Communication information
+--InterferenceManagementMitigationType ::= CHOICE {
+ --! @details unavailable is the default value to be used when data is not available.
+-- unavailable NULL,
+-- mitigationForTechnologies MitigationForTechnologies
+--}
+
+--! @brief DF: Mitigation type container for the different channel access technology classes
+--! Class of parameters for the relevant channel access technology classes,
+--! as specified in ETSI TS 103 724, clause 7.
+--! @category: Communication information
+--MitigationForTechnologies ::= SEQUENCE (SIZE(1..8)) OF MitigationPerTechnologyClass
+
+--! @brief DF: Mitigation type container per channel access technology class
+--! Class of parameters for the specific technology indicated in the container.
+--! All parameters are optional, as they may not apply to some of the technologies or
+--! interference management zone types. Specification details are in ETSI TS 103 724, clause 7.
+--! @category: Communication information
+--MitigationPerTechnologyClass ::= SEQUENCE {
+ --! @details channel access technology in which this mitigation is applied.
+ --! @unit: N/A
+-- accessTechnologyClass AccessTechnologyClass,
+ --! @details duty cycle limit.
+ --! @unit: 0.01% steps
+-- lowDutyCycle INTEGER (0 .. 10000) OPTIONAL,
+ --! @details power reduction.
+ --! @unit: dB
+-- powerReduction INTEGER (0 .. 30) OPTIONAL,
+ --! @details Idle time limit as defined in ETSI TS 103 175.
+ --! @unit: ms
+-- dmcToffLimit INTEGER (0 .. 1200) OPTIONAL,
+ --! @details Transmission duration limit, as defined in ETSI EN 302 571.
+ --! @unit: ms
+-- dmcTonLimit INTEGER (0 .. 20) OPTIONAL,
+-- ...
+--}
+
+--! @brief DE: channel access technology class
+--! Access technology to which the mitigation type applies.
+--! @category: Communication information
+--AccessTechnologyClass ::= ENUMERATED {
+-- any(0), - -!< any access technology class (see clause 7 of TS 103 724).
+-- itsg5Class(1), - -!< ITS-G5 access technology class.
+-- ltev2xClass(2), - -!< LTE-V2X access technology class.
+-- nrv2xClass(3), - -!< NR-V2X access technology class.
+-- ...
+--}
+
+--! @brief DF: Shape of the interference management zone
+--! Bounding box of an interference management zone
+--! @category: GeoReference information
+--InterferenceManagementZoneShape::= CHOICE {
+-- rectangle AreaRectangle, - - imported from VAM-Temp-Imports
+-- circle AreaCircular, - - imported from VAM-Temp-Imports
+-- polygon AreaPolygon, - - imported from VAM-Temp-Imports
+-- ellipse AreaEllipse, - - could not be imported from another specification yet
+-- ...
+--}
+
+--! @brief DF: Area Ellipse
+--! Area Ellipse copied from CPM TR 103 562. Will be removed when CDD Release 2 is available.
+--! Describes an elliptical area. The ellipse is centred about the reference point
+--! of the ITS-S or about the nodeCenterPoint (if provided).
+--! @category: GeoReference information
+--AreaEllipse ::= SEQUENCE {
+ --! @details nodeCenterPoint
+ --! Optional offset point about which the ellipse is centred with respect to the reference
+ --! position of the ITS-S.
+-- nodeCenterPoint OffsetPoint OPTIONAL,
+ --! @details semiMajorRangeLength
+ --! Minor radius of the ellipse.
+-- semiMajorRangeLength SemiRangeLength,
+ --! @details semiMinorRangeLength
+ --! Major radius of the ellipse.
+-- semiMinorRangeLength SemiRangeLength,
+ --! @details semiMajorRangeOrientation
+ --! Orientation of the semiMajorRangeLength of the ellipse in the WGS84 coordinate system.
+-- semiMajorRangeOrientation WGS84AngleValue
+--}
+
+END
diff --git a/epan/dissectors/asn1/its/ISO19321IVIv2.asn b/epan/dissectors/asn1/its/ISO19321IVIv2.asn
new file mode 100644
index 00000000..2340b301
--- /dev/null
+++ b/epan/dissectors/asn1/its/ISO19321IVIv2.asn
@@ -0,0 +1,722 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 19321
+--
+-- Published version location:
+-- https://standards.iso.org/iso/ts/19321/ed-2/en/ISO19321IVIv2.asn
+--
+-- Changes to original version:
+-- - add this header
+-- - rename imported module CITSdataDictionary1 -> CITSapplMgmtIDs
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+IVI {iso (1) standard (0) ivi (19321) version2 (2)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+IMPORTS
+
+ActionID, Altitude, DangerousGoodsBasic , DeltaLatitude, DeltaLongitude, DeltaReferencePosition, Heading, HeadingValue, Latitude, LanePosition, Longitude,
+ReferencePosition, RoadType, SpecialTransportType, Speed, SpeedValue, StationType, TimestampIts, VehicleRole, VarLengthNumber, EuVehicleCategoryCode, Iso3833VehicleType
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
+
+AxleWeightLimits, DieselEmissionValues, ExhaustEmissionValues, EngineCharacteristics, EnvironmentalCharacteristics, PassengerCapacity , Provider, SoundLevel, VehicleDimensions, VehicleWeightLimits
+FROM EfcDsrcApplication {iso(1) standard(0) 14906 application(0) version6(6)}
+
+--EuVehicleCategoryCode,
+--Iso3833VehicleType
+--FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)}
+
+--VarLengthNumber use ETSI-ITS-CDD instead
+--FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) dataDictionary (1) version1 (1)}
+
+RoadSegmentReferenceID, IntersectionReferenceID, LaneID
+FROM DSRC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}
+
+InternationalSign-applicablePeriod, InternationalSign-exemptedApplicablePeriod, InternationalSign-directionalFlowOfLane, InternationalSign-applicableVehicleDimensions, InternationalSign-speedLimits, InternationalSign-rateOfIncline, InternationalSign-distanceBetweenVehicles, InternationalSign-destinationInformation
+FROM GDD {iso (1) standard (0) gdd(14823) version1 (0)};
+
+-- Definition of IVI structure
+
+IviStructure::= SEQUENCE{
+ mandatory IviManagementContainer,
+ optional IviContainers OPTIONAL
+ }
+
+IviContainers ::= SEQUENCE (SIZE (1..8,...)) OF IviContainer
+
+--Definition of Containers
+
+IviContainer::= CHOICE {
+ glc GeographicLocationContainer,
+ giv GeneralIviContainer,
+ rcc RoadConfigurationContainer,
+ tc TextContainer,
+ lac LayoutContainer,
+ ..., -- original extension indicator of V1
+[[ -- Extension in V2
+ avc AutomatedVehicleContainer,
+ mlc MapLocationContainer,
+ rsc RoadSurfaceContainer ]]
+ }
+
+IviManagementContainer::= SEQUENCE {
+ serviceProviderId Provider,
+ iviIdentificationNumber IviIdentificationNumber,
+ timeStamp TimestampIts OPTIONAL,
+ validFrom TimestampIts OPTIONAL,
+ validTo TimestampIts OPTIONAL,
+ connectedIviStructures IviIdentificationNumbers OPTIONAL,
+ iviStatus IviStatus,
+ ..., -- original extension indicator of V1
+ connectedDenms ConnectedDenms OPTIONAL -- Extension in V2
+ }
+
+GeographicLocationContainer::= SEQUENCE {
+ referencePosition ReferencePosition,
+ referencePositionTime TimestampIts OPTIONAL,
+ referencePositionHeading Heading OPTIONAL,
+ referencePositionSpeed Speed OPTIONAL,
+ parts GlcParts,
+ ...
+ }
+GlcParts ::= SEQUENCE (SIZE (1..16,...)) OF GlcPart
+
+GlcPart::= SEQUENCE {
+ zoneId Zid,
+ laneNumber LanePosition OPTIONAL,
+ zoneExtension INTEGER (0..255) OPTIONAL,
+ zoneHeading HeadingValue OPTIONAL,
+ zone Zone OPTIONAL,
+ ...
+ }
+
+GeneralIviContainer::= SEQUENCE (SIZE (1..16,...)) OF GicPart
+
+GicPart::= SEQUENCE {
+ detectionZoneIds ZoneIds OPTIONAL,
+ its-Rrid VarLengthNumber OPTIONAL,
+ relevanceZoneIds ZoneIds OPTIONAL,
+ direction Direction OPTIONAL,
+ driverAwarenessZoneIds ZoneIds OPTIONAL,
+ minimumAwarenessTime INTEGER (0..255) OPTIONAL,
+ applicableLanes LanePositions OPTIONAL,
+ iviType IviType,
+ iviPurpose IviPurpose OPTIONAL,
+ laneStatus LaneStatus OPTIONAL,
+ vehicleCharacteristics VehicleCharacteristicsList OPTIONAL,
+ driverCharacteristics DriverCharacteristics OPTIONAL,
+ layoutId INTEGER(1..4,...) OPTIONAL,
+ preStoredlayoutId INTEGER(1..64,...) OPTIONAL,
+ roadSignCodes RoadSignCodes,
+ extraText ConstraintTextLines1 OPTIONAL,
+ ...
+ }
+
+RoadConfigurationContainer::= SEQUENCE (SIZE (1..16,...)) OF RccPart
+
+RccPart::= SEQUENCE{
+ relevanceZoneIds ZoneIds,
+ roadType RoadType,
+ laneConfiguration LaneConfiguration,
+ ...
+ }
+
+RoadSurfaceContainer::= SEQUENCE (SIZE (1..16,...)) OF RscPart
+
+RscPart::= SEQUENCE{
+ detectionZoneIds ZoneIds OPTIONAL,
+ relevanceZoneIds ZoneIds,
+ direction Direction OPTIONAL,
+ roadSurfaceStaticCharacteristics RoadSurfaceStaticCharacteristics OPTIONAL,
+ roadSurfaceDynamicCharacteristics RoadSurfaceDynamicCharacteristics OPTIONAL
+ } (WITH COMPONENTS {..., roadSurfaceStaticCharacteristics PRESENT} |
+ WITH COMPONENTS {..., roadSurfaceDynamicCharacteristics PRESENT})
+
+TextContainer::= SEQUENCE (SIZE (1..16,...)) OF TcPart
+
+TcPart::= SEQUENCE {
+ detectionZoneIds ZoneIds OPTIONAL,
+ relevanceZoneIds ZoneIds,
+ direction Direction OPTIONAL,
+ driverAwarenessZoneIds ZoneIds OPTIONAL,
+ minimumAwarenessTime INTEGER (0..255) OPTIONAL,
+ applicableLanes LanePositions OPTIONAL,
+ layoutId INTEGER(1..4,...) OPTIONAL,
+ preStoredlayoutId INTEGER(1..64,...) OPTIONAL,
+ text TextLines OPTIONAL,
+ data OCTET STRING,
+ ...,
+[[ --extension in V2
+ iviType IviType,
+ laneStatus LaneStatus OPTIONAL,
+ vehicleCharacteristics VehicleCharacteristicsList OPTIONAL ]]
+ }
+
+LayoutContainer::=SEQUENCE{
+ layoutId INTEGER(1..4,...),
+ height INTEGER(10..73) OPTIONAL,
+ width INTEGER(10..265) OPTIONAL,
+ layoutComponents LayoutComponents,
+ ...
+ }
+
+AutomatedVehicleContainer::= SEQUENCE (SIZE (1..16,...)) OF AvcPart -- new container in V2
+
+AvcPart::= SEQUENCE { -- new container part in V2
+ detectionZoneIds ZoneIds OPTIONAL,
+ relevanceZoneIds ZoneIds,
+ direction Direction OPTIONAL,
+ applicableLanes LanePositions OPTIONAL,
+ vehicleCharacteristics VehicleCharacteristicsList OPTIONAL,
+ automatedVehicleRules AutomatedVehicleRules OPTIONAL,
+ platooningRules PlatooningRules OPTIONAL,
+ ...
+ } (WITH COMPONENTS {..., automatedVehicleRules PRESENT} |
+ WITH COMPONENTS {..., platooningRules PRESENT})
+
+
+MapLocationContainer::=SEQUENCE{ -- new container in V2
+ reference MapReference,
+ parts MlcParts
+ }
+
+MlcParts::= SEQUENCE (SIZE (1..16,...)) OF MlcPart -- new container part in V2
+
+MlcPart::= SEQUENCE{ -- new container part in V2
+ zoneId Zid,
+ laneIds LaneIds OPTIONAL
+ }
+
+-- Definition of data frames which are lists of data frames
+-- note: those definitions are to avoid "implicit type definitions" but are bit compatible with V1
+
+AbsolutePositions ::= SEQUENCE (SIZE (1..8,...)) OF AbsolutePosition
+
+AbsolutePositionsWAltitude ::= SEQUENCE (SIZE (1..8,...)) OF AbsolutePositionWAltitude
+
+AutomatedVehicleRules::= SEQUENCE (SIZE (1..5)) OF AutomatedVehicleRule -- new DF in V2
+
+ConnectedDenms::= SEQUENCE (SIZE(1..8, ...)) OF ActionID -- new DF in V2
+
+DeltaPositions ::= SEQUENCE (SIZE (1..32,...,100)) OF DeltaPosition --size extension in V2
+
+DeltaReferencePositions ::= SEQUENCE (SIZE (1..32,..., 100)) OF DeltaReferencePosition --size extension in V2
+
+ConstraintTextLines1 ::= SEQUENCE (SIZE (1..4),...) OF Text (WITH COMPONENTS {layoutComponentId, language, textContent (SIZE(1..32))})
+
+ConstraintTextLines2::= SEQUENCE (SIZE (1..4),...) OF Text (WITH COMPONENTS {..., textContent (SIZE(1..32))})
+
+IviIdentificationNumbers ::= SEQUENCE (SIZE(1..8)) OF IviIdentificationNumber
+
+ISO14823Attributes::= SEQUENCE (SIZE(1..8),...) OF ISO14823Attribute
+
+LaneConfiguration ::= SEQUENCE (SIZE (1..16,...)) OF LaneInformation
+
+LaneIds::= SEQUENCE (SIZE (1..16,...)) OF LaneID
+
+LanePositions ::= SEQUENCE (SIZE (1..8,...)) OF LanePosition
+
+LayoutComponents ::= SEQUENCE SIZE (1..4,...) OF LayoutComponent
+
+PlatooningRules::= SEQUENCE (SIZE (1..5)) OF PlatooningRule -- new DF in V2
+
+RoadSignCodes ::= SEQUENCE (SIZE (1..4),...) OF RSCode
+
+TextLines::= SEQUENCE (SIZE (1..4),...) OF Text
+
+TrailerCharacteristicsList ::= SEQUENCE (SIZE (1..3)) OF TrailerCharacteristics
+
+TrailerCharacteristicsFixValuesList ::= SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues (WITH COMPONENTS {..., euroAndCo2value ABSENT, engineCharacteristics ABSENT})
+
+TrailerCharacteristicsRangesList ::= SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsRanges (WITH COMPONENTS {comparisonOperator, limits (WITH COMPONENTS {..., exhaustEmissionValues ABSENT, dieselEmissionValues ABSENT, soundLevel ABSENT})})
+
+SaeAutomationLevels::= SEQUENCE (SIZE (1..5)) OF SaeAutomationLevel -- new DF in V2
+
+VehicleCharacteristicsFixValuesList ::= SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues
+
+VehicleCharacteristicsList ::= SEQUENCE (SIZE (1..8, ...)) OF CompleteVehicleCharacteristics
+
+VehicleCharacteristicsRangesList ::= SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsRanges
+
+ValidityPeriods ::= SEQUENCE (SIZE (1..8),...) OF InternationalSign-applicablePeriod
+
+ZoneIds ::= SEQUENCE (SIZE (1..8,...)) OF Zid
+
+-- Definition of Data Frames
+
+AbsolutePosition::= SEQUENCE{
+ latitude Latitude,
+ longitude Longitude
+ }
+
+AbsolutePositionWAltitude::= SEQUENCE{
+ latitude Latitude,
+ longitude Longitude,
+ altitude Altitude
+ }
+
+AnyCatalogue::=SEQUENCE{
+ owner Provider,
+ version INTEGER(0..255),
+ pictogramCode INTEGER(0..65535),
+ value INTEGER (0..65535) OPTIONAL,
+ unit RSCUnit OPTIONAL,
+ attributes ISO14823Attributes OPTIONAL
+ }
+
+AutomatedVehicleRule::= SEQUENCE { -- new DF in V2
+ priority PriorityLevel,
+ allowedSaeAutomationLevels SaeAutomationLevels,
+ minGapBetweenVehicles GapBetweenVehicles OPTIONAL,
+ recGapBetweenVehicles GapBetweenVehicles OPTIONAL,
+ automatedVehicleMaxSpeedLimit SpeedValue OPTIONAL,
+ automatedVehicleMinSpeedLimit SpeedValue OPTIONAL,
+ automatedVehicleSpeedRecommendation SpeedValue OPTIONAL,
+ roadSignCodes RoadSignCodes OPTIONAL,
+ extraText ConstraintTextLines2 OPTIONAL,
+ ...
+ }
+
+CompleteVehicleCharacteristics::= SEQUENCE{
+ tractor TractorCharacteristics OPTIONAL,
+ trailer TrailerCharacteristicsList OPTIONAL,
+ train TrainCharacteristics OPTIONAL
+ }
+
+ComputedSegment::= SEQUENCE {
+ zoneId Zid,
+ laneNumber LanePosition,
+ laneWidth IviLaneWidth,
+ offsetDistance INTEGER (-32768..32767) OPTIONAL,
+ offsetPosition DeltaReferencePosition OPTIONAL
+ }
+
+DeltaPosition::=SEQUENCE{
+ deltaLatitude DeltaLatitude,
+ deltaLongitude DeltaLongitude
+ }
+
+ISO14823Attribute::= CHOICE{
+ dtm InternationalSign-applicablePeriod, -- Date/Time/Period
+ edt InternationalSign-exemptedApplicablePeriod,-- Exemption status of Date/Time/Period
+ dfl InternationalSign-directionalFlowOfLane,-- Directional Flow of Lane
+ ved InternationalSign-applicableVehicleDimensions,-- Vehicle Dimensions
+ spe InternationalSign-speedLimits,-- Speed
+ roi InternationalSign-rateOfIncline,-- Rate of Incline
+ dbv InternationalSign-distanceBetweenVehicles,-- Distance Between Vehicles
+ ddd InternationalSign-destinationInformation-- Destination/Direction/Distance
+ }
+
+ISO14823Code ::= SEQUENCE{
+ pictogramCode SEQUENCE {
+ countryCode OCTET STRING (SIZE (2)) OPTIONAL,
+ serviceCategoryCode CHOICE {
+ trafficSignPictogram ENUMERATED {dangerWarning, regulatory, informative,...},
+ publicFacilitiesPictogram ENUMERATED {publicFacilities, ...},
+ ambientOrRoadConditionPictogram ENUMERATED {ambientCondition, roadCondition,...},
+ ...},
+ pictogramCategoryCode SEQUENCE {
+ nature INTEGER (1..9),
+ serialNumber INTEGER (0..99)
+ }},
+ attributes ISO14823Attributes OPTIONAL
+ }
+
+LaneInformation::= SEQUENCE{
+ laneNumber LanePosition,
+ direction Direction,
+ validity InternationalSign-applicablePeriod OPTIONAL,
+ laneType LaneType,
+ laneTypeQualifier CompleteVehicleCharacteristics OPTIONAL,
+ laneStatus LaneStatus,
+ laneWidth IviLaneWidth OPTIONAL,
+ ...,
+[[ --extension in V2
+ detectionZoneIds ZoneIds OPTIONAL,
+ relevanceZoneIds ZoneIds OPTIONAL,
+ laneCharacteristics LaneCharacteristics OPTIONAL,
+ laneSurfaceStaticCharacteristics RoadSurfaceStaticCharacteristics OPTIONAL,
+ laneSurfaceDynamicCharacteristics RoadSurfaceDynamicCharacteristics OPTIONAL ]]
+ }
+
+LaneCharacteristics::= SEQUENCE{
+ zoneDefinitionAccuracy DefinitionAccuracy,
+ existinglaneMarkingStatus LaneMarkingStatus,
+ newlaneMarkingColour MarkingColour,
+ laneDelimitationLeft LaneDelimitation,
+ laneDelimitationRight LaneDelimitation,
+ mergingWith Zid
+ }
+
+LayoutComponent::=SEQUENCE{
+ layoutComponentId INTEGER(1..8,...),
+ height INTEGER(10..73),
+ width INTEGER(10..265),
+ x INTEGER(10..265),
+ y INTEGER(10..73),
+ textScripting INTEGER {horizontal (0), vertical (1)}(0..1)
+ }
+
+LoadType::= SEQUENCE{
+ goodsType GoodsType,
+ dangerousGoodsType DangerousGoodsBasic,
+ specialTransportType SpecialTransportType
+ }
+
+MapReference::= CHOICE { -- new DF in V2
+ roadsegment RoadSegmentReferenceID,
+ intersection IntersectionReferenceID
+ }
+
+PlatooningRule::= SEQUENCE { -- new DF in V2
+ priority PriorityLevel,
+ allowedSaeAutomationLevels SaeAutomationLevels,
+ maxNoOfVehicles MaxNoOfVehicles OPTIONAL,
+ maxLenghtOfPlatoon MaxLenghtOfPlatoon OPTIONAL,
+ minGapBetweenVehicles GapBetweenVehicles OPTIONAL,
+ platoonMaxSpeedLimit SpeedValue OPTIONAL,
+ platoonMinSpeedLimit SpeedValue OPTIONAL,
+ platoonSpeedRecommendation SpeedValue OPTIONAL,
+ roadSignCodes RoadSignCodes OPTIONAL,
+ extraText ConstraintTextLines2 OPTIONAL,
+ ...
+ }
+
+PolygonalLine::= CHOICE {
+ deltaPositions DeltaPositions,
+ deltaPositionsWithAltitude DeltaReferencePositions,
+ absolutePositions AbsolutePositions,
+ absolutePositionsWithAltitude AbsolutePositionsWAltitude,
+ ...
+ }
+
+RoadSurfaceDynamicCharacteristics::= SEQUENCE{
+ condition Condition,
+ temperature Temperature,
+ iceOrWaterDepth Depth,
+ treatment TreatmentType
+ }
+
+RoadSurfaceStaticCharacteristics::= SEQUENCE{
+ frictionCoefficient FrictionCoefficient,
+ material MaterialType,
+ wear WearLevel,
+ avBankingAngle BankingAngle
+ }
+
+RSCode::= SEQUENCE{
+ layoutComponentId INTEGER(1..4,...) OPTIONAL,
+ code CHOICE {
+ viennaConvention VcCode, -- see Vienna Convention Annex A
+ iso14823 ISO14823Code,
+ itisCodes INTEGER (0..65535), -- see SAE J2540
+ anyCatalogue AnyCatalogue,
+ ...
+ }}
+
+Segment::= SEQUENCE {
+ line PolygonalLine,
+ laneWidth IviLaneWidth OPTIONAL
+ }
+
+Text::= SEQUENCE {
+ layoutComponentId INTEGER(1..4,...) OPTIONAL,
+ language BIT STRING (SIZE(10)),
+ textContent UTF8String
+ }
+
+TractorCharacteristics::=SEQUENCE{
+ equalTo VehicleCharacteristicsFixValuesList OPTIONAL,
+ notEqualTo VehicleCharacteristicsFixValuesList OPTIONAL,
+ ranges VehicleCharacteristicsRangesList OPTIONAL
+ }
+
+TrailerCharacteristics::=SEQUENCE{
+ equalTo TrailerCharacteristicsFixValuesList OPTIONAL,
+ notEqualTo TrailerCharacteristicsFixValuesList OPTIONAL,
+ ranges TrailerCharacteristicsRangesList OPTIONAL
+ }
+
+TrainCharacteristics::= TractorCharacteristics
+
+VcCode::= SEQUENCE {
+ roadSignClass VcClass, -- see Vienna Convention
+ roadSignCode INTEGER (1..64),
+ vcOption VcOption, -- e.g. the "a" in H, 3a
+ validity ValidityPeriods OPTIONAL,
+ value INTEGER (0..65535) OPTIONAL,
+ unit RSCUnit OPTIONAL
+ }
+
+VehicleCharacteristicsFixValues::= CHOICE{
+ simpleVehicleType StationType,
+ euVehicleCategoryCode EuVehicleCategoryCode,
+ iso3833VehicleType Iso3833VehicleType,
+ euroAndCo2value EnvironmentalCharacteristics,
+ engineCharacteristics EngineCharacteristics,
+ loadType LoadType,
+ usage VehicleRole,
+ ...
+ }
+
+VehicleCharacteristicsRanges::= SEQUENCE{
+ comparisonOperator ComparisonOperator,
+ limits CHOICE{
+ numberOfAxles INTEGER(0..7),
+ vehicleDimensions VehicleDimensions,
+ vehicleWeightLimits VehicleWeightLimits,
+ axleWeightLimits AxleWeightLimits,
+ passengerCapacity PassengerCapacity,
+ exhaustEmissionValues ExhaustEmissionValues,
+ dieselEmissionValues DieselEmissionValues,
+ soundLevel SoundLevel,
+ ...
+ }
+ }
+
+Zone::= CHOICE {
+ segment Segment,
+ area PolygonalLine,
+ computedSegment ComputedSegment,
+ ...
+ }
+
+-- Defition of IVI specific data elements
+
+BankingAngle::=INTEGER (-20..21)
+
+ComparisonOperator ::= INTEGER {
+ greaterThan (0),
+ greaterThanOrEqualTo (1),
+ lessThan (2),
+ lessThanOrEqualTo (3)
+ } (0..3)
+
+Condition::=INTEGER{
+ dry (0),
+ moist (1),
+ wet (2),
+ standingWater (3),
+ frost (4),
+ ice (5),
+ snow (6),
+ slush (7),
+ unvailable (8)
+-- values 9 to 15 reserved for future use
+} (0..15, ...)
+
+DefinitionAccuracy::= INTEGER{
+ oneCm (0),
+ twoCm (1),
+ fiveCm (2),
+ tenCm (3),
+ twentyCm (4),
+ fiftyCm (5),
+ oneMeter (6),
+ unavailable (7)
+} (0..7, ...)
+
+Depth::= INTEGER (0..255)
+
+Direction::= INTEGER{
+ sameDirection (0),
+ oppositeDirection (1),
+ bothDirections (2),
+ valueNotUsed (3)
+ } (0..3)
+
+DriverCharacteristics::= INTEGER{
+ unexperiencedDrivers (0),
+ experiencedDrivers (1),
+ rfu1 (2),
+ rfu2 (3)
+ } (0..3)
+
+FrictionCoefficient::= INTEGER (0..101)
+
+GapBetweenVehicles::= INTEGER (0..255) -- new DE in V2
+
+GoodsType::= INTEGER {
+ ammunition (0),
+ chemicals (1),
+ empty (2),
+ fuel (3),
+ glass (4),
+ dangerous (5),
+ liquid (6),
+ liveStock (7),
+ dangerousForPeople (8),
+ dangerousForTheEnvironment (9),
+ dangerousForWater (10),
+ perishableProducts (11),
+ pharmaceutical (12),
+ vehicles (13)
+ -- other values reserved for future use
+ } (0..15,...)
+
+IviIdentificationNumber::= INTEGER(1..32767,...)
+
+IviLaneWidth::= INTEGER (0..1023) -- only renamed from V1, no change
+
+IviPurpose::= INTEGER {
+ safety (0),
+ environmental (1),
+ trafficOptimisation (2)
+ } (0..3)
+
+IviStatus::= INTEGER {
+ new (0),
+ update (1),
+ cancellation (2),
+ negation (3)
+ -- other values reserved for future use
+ }(0..7)
+
+IviType::= INTEGER {
+ immediateDangerWarningMessages (0),
+ regulatoryMessages (1),
+ trafficRelatedInformationMessages (2),
+ pollutionMessages (3),
+ notTrafficRelatedInformationMessages (4)
+ -- other values reserved for future use
+ } (0..7)
+
+LaneDelimitation::=INTEGER {
+ noDelimitation (0),
+ lowLaneSeparator (1),
+ highLaneSeparator (2),
+ wall (3),
+ curb (4),
+ unpaved (5),
+ guardrail (6)
+ -- value 7 reserved for future use
+} (0..7, ...)
+
+LaneMarkingStatus::= BOOLEAN
+
+LaneStatus::= INTEGER {
+ open (0),
+ closed (1),
+ mergeR (2),
+ mergeL (3),
+ mergeLR (4),
+ provisionallyOpen (5),
+ diverging (6)
+ -- value 7 reserved for future use
+} (0..7, ...)
+
+LaneType::= INTEGER{
+ traffic (0),
+ through (1),
+ reversible (2),
+ acceleration (3),
+ deceleration (4),
+ leftHandTurning (5),
+ rightHandTurning (6),
+ dedicatedVehicle (7),
+ bus (8),
+ taxi (9),
+ hov (10),
+ hot (11),
+ pedestrian (12),
+ bikeLane (13),
+ median (14),
+ striping (15),
+ trackedVehicle (16),
+ parking (17),
+ emergency (18),
+ verge (19),
+ minimumRiskManoeuvre(20)
+-- values 21 to 31 reserved for future use
+ }(0..31)
+
+MarkingColour::=INTEGER {
+ white (0),
+ yellow (1),
+ orange (2),
+ red (3),
+ blue (4),
+ unavailable (7)
+ -- value 5,6 reserved for future use
+} (0..7, ...)
+
+MaterialType::=INTEGER {
+ asphalt (0),
+ concrete (1),
+ cobblestone (2),
+ gravel (3),
+ unavailable (7)
+-- value 4, 5,6 reserved for future use
+} (0..7, ...)
+
+MaxLenghtOfPlatoon::= INTEGER (1..64) -- new DE in V2
+
+MaxNoOfVehicles::= INTEGER (2..64) -- new DE in V2
+
+PriorityLevel::=INTEGER (0..2) -- new DE in V2
+
+RSCUnit::= INTEGER {
+ kmperh (0),
+ milesperh (1),
+ kilometer (2),
+ meter (3),
+ decimeter (4),
+ centimeter (5),
+ mile (6),
+ yard (7),
+ foot (8),
+ minutesOfTime (9),
+ tonnes (10), --1000 kg, not Ton!
+ hundredkg (11),
+ pound (12), --lbs
+ rateOfIncline (13)
+ -- other value reserved for future use
+ } (0..15)
+
+SaeAutomationLevel::= INTEGER (0..5) -- new DE in V2
+
+Temperature::=INTEGER (-100..151)
+
+TreatmentType ::= INTEGER {
+ no (0),
+ antiskid (1),
+ anti-icing (2),
+ de-icing (3),
+ unavailable (7)
+-- value 4 to 6 reserved for future use
+ } (0..7)
+
+VcClass::= INTEGER {
+ classA (0),
+ classB (1),
+ classC (2),
+ classD (3),
+ classE (4),
+ classF (5),
+ classG (6),
+ classH (7)
+ } (0..7)
+
+VcOption::= INTEGER {
+ none (0),
+ a (1),
+ b (2),
+ c (3),
+ d (4),
+ e (5),
+ f (6),
+ g (7)
+ } (0..7)
+
+WearLevel::=INTEGER {
+ new (0),
+ good (1),
+ bad (2),
+ hasPotholes (3),
+ unavailable (7)
+-- value 4, 5,6 reserved for future use
+} (0..7, ...)
+
+Zid::= INTEGER (1..32,...)
+
+END
diff --git a/epan/dissectors/asn1/its/ISO_TS_14816.asn b/epan/dissectors/asn1/its/ISO_TS_14816.asn
new file mode 100644
index 00000000..9f7298f9
--- /dev/null
+++ b/epan/dissectors/asn1/its/ISO_TS_14816.asn
@@ -0,0 +1,29 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 14816
+--
+-- This ASN.1 was generateds: 30.08.2016
+--
+-- This document contains only the data element needed for the encoding of an IVI message
+-- as defined in ISO TS 19321(2015)
+--
+-- Published version location:
+-- http://standards.iso.org/iso/14816/
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)}
+
+DEFINITIONS AUTOMATIC TAGS::= BEGIN
+IMPORTS;
+
+CS5::= SEQUENCE {
+ vin VisibleString, -- 17 characters VIN
+ fill BIT STRING (SIZE(9)) -- set to '000000000'
+}
+
+
+
+CountryCode::= BIT STRING(SIZE(10))
+
+AVIAEIIssuerIdentifier::= INTEGER(0 .. 16383)
+
+END
diff --git a/epan/dissectors/asn1/its/ISO_TS_14906_Application.asn b/epan/dissectors/asn1/its/ISO_TS_14906_Application.asn
new file mode 100644
index 00000000..98db4809
--- /dev/null
+++ b/epan/dissectors/asn1/its/ISO_TS_14906_Application.asn
@@ -0,0 +1,143 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 14906 Application
+--
+-- This ASN.1 was generateds: 30.08.2016
+--
+-- This document contains only the data element needed for the encoding of an IVI message
+-- as defined in ISO TS 19321(2015)
+--
+-- Published version location:
+-- http://standards.iso.org/iso/14906
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+EfcDsrcApplication { iso(1) standard(0) 14906 application(0) version5(5) }
+
+DEFINITIONS AUTOMATIC TAGS ::= BEGIN
+EXPORTS ALL;
+IMPORTS
+CountryCode, CS5, AVIAEIIssuerIdentifier
+FROM AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)}
+-- defined in ISO 14816 --
+AttributeIdList
+FROM EfcDsrcGeneric {iso(1) standard(0) 14906 generic(1) version5(5)}
+-- NOTE: The following are the definitions of the action and response
+-- parameters
+
+;
+-- End of IMPORTS
+
+AxleWeightLimits ::= SEQUENCE {
+ maxLadenweightOnAxle1 Int2,
+ maxLadenweightOnAxle2 Int2,
+ maxLadenweightOnAxle3 Int2,
+ maxLadenweightOnAxle4 Int2,
+ maxLadenweightOnAxle5 Int2
+}
+
+DieselEmissionValues::= SEQUENCE {
+ particulate SEQUENCE {
+ unitType UnitType,
+ value INTEGER (0..32767)
+ },
+ absorptionCoeff Int2
+}
+
+EnvironmentalCharacteristics::= SEQUENCE {
+ euroValue EuroValue,
+ copValue CopValue
+}
+
+EuroValue::= ENUMERATED {
+ noEntry (0),
+ euro-1 (1),
+ euro-2 (2),
+ euro-3 (3),
+ euro-4 (4),
+ euro-5 (5),
+ euro-6 (6),
+ reservedForUse1 (7),
+ reservedForUse2 (8),
+ reservedForUse3 (9),
+ reservedForUse4 (10),
+ reservedForUse5 (11),
+ reservedForUse6 (12),
+ reservedForUse7 (13),
+ reservedForUse8 (14),
+ eev (15)
+} -- 4 bits, EURO-Clases as defined in EC directive 88/77/EEC, annex 1
+-- and in 91/542/EEC, 96/1/EC, 1999/96/EC, 2001/27/EC, regulation No 595/2009
+-- and for EEV in Section 6.2.1 of Annex I in EC directive 2005/55/EC
+
+CopValue::= ENUMERATED {
+ noEntry (0),
+ co2class1 (1), -- below 101 g/km
+ co2class2 (2), -- 101 to 120 g/km
+ co2class3 (3), -- 121 to 140 g/km
+ co2class4 (4), -- 141 to 160 g/km
+ co2class5 (5), -- 161 to 200 g/km
+ co2class6 (6), -- 201 to 250 g/km
+ co2class7 (7), -- above 250 g/km
+ reservedforUse (8) -- reserved for future CEN and ISO use
+} -- 4 bits, reserved for carbon dioxide pollution values as defined in
+-- EC directive 2003/127/EC'
+
+EngineCharacteristics::= INTEGER {
+ noEntry (0),
+ noEngine (1),
+ petrolUnleaded (2),
+ petrolLeaded (3),
+ diesel (4),
+ lPG (5),
+ battery (6),
+ solar (7),
+ hybrid (8),
+ hydrogen (9)
+ -- (10-255) are reserved for future CEN use
+} (0..255)
+
+ExhaustEmissionValues ::= SEQUENCE {
+ unitType UnitType,
+ emissionCO INTEGER (0..32767),
+ emissionHC Int2,
+ emissionNOX Int2,
+ emissionHCNOX Int2
+}
+
+
+Int1 ::= INTEGER(0..255)
+
+Int2 ::= INTEGER(0..65535)
+
+PassengerCapacity ::= SEQUENCE{
+ numberOfSeats Int1,
+ numberOfStandingPlaces Int1
+}
+
+Provider ::= SEQUENCE {
+ countryCode CountryCode,
+ providerIdentifier AVIAEIIssuerIdentifier
+}
+
+SoundLevel ::= SEQUENCE{
+ soundstationary Int1,
+ sounddriveby Int1
+}
+
+UnitType::= ENUMERATED {
+ mg-km (0),
+ mg-kWh (1)
+}
+
+VehicleDimensions ::= SEQUENCE {
+ vehicleLengthOverall Int1,
+ vehicleHeigthOverall Int1,
+ vehicleWidthOverall Int1
+}
+
+VehicleWeightLimits ::= SEQUENCE {
+ vehicleMaxLadenWeight Int2,
+ vehicleTrainMaximumWeight Int2,
+ vehicleWeightUnladen Int2
+}
+
+END
diff --git a/epan/dissectors/asn1/its/ISO_TS_17419.asn b/epan/dissectors/asn1/its/ISO_TS_17419.asn
new file mode 100644
index 00000000..e705e21e
--- /dev/null
+++ b/epan/dissectors/asn1/its/ISO_TS_17419.asn
@@ -0,0 +1,44 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 17419
+--
+-- This ASN.1 was generateds: 30.08.2016
+--
+-- This document contains only the data element needed for the encoding of an IVI message
+-- as defined in ISO TS 19321(2015)
+--
+-- Published version location:
+-- http://standards.iso.org/iso/ts/17419/
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1) version1 (1)}
+
+DEFINITIONS AUTOMATIC TAGS::=BEGIN
+
+IMPORTS
+
+;
+
+-- End of IMPORTS
+
+-- Types
+
+-- Variable length data types
+
+VarLengthNumber::=CHOICE{
+ content [0] INTEGER(0..127), -- one octet length
+ extension [1] Ext1
+ }
+
+Ext1::=CHOICE{
+ content [0] INTEGER(128..16511), -- two octets length
+ extension [1] Ext2
+}
+
+Ext2::=CHOICE{
+ content [0] INTEGER(16512..2113663), -- three octets length
+ extension [1] Ext3
+ }
+
+Ext3::=INTEGER(2113664..270549119,...) -- four and more octets length
+
+END
diff --git a/epan/dissectors/asn1/its/ISO_TS_19091.asn b/epan/dissectors/asn1/its/ISO_TS_19091.asn
new file mode 100644
index 00000000..f9adef05
--- /dev/null
+++ b/epan/dissectors/asn1/its/ISO_TS_19091.asn
@@ -0,0 +1,1583 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 19091
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message
+-- as defined in ISO TS 19091 and SAEJ2735
+--
+-- It includes the addendunm extensions for Addgrp-C (e.g. Europe)
+--
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+--
+-- module: DSRC
+-- Some Types renamed (added xxxDSRC) to avoid name-clashes with CDD
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+
+DSRC {
+ iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
+}
+
+DEFINITIONS AUTOMATIC TAGS::= BEGIN
+
+IMPORTS
+
+Longitude, Latitude, StationID, VehicleHeight, Iso3833VehicleType
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
+
+Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, Reg-GenericLane,
+Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-MapData,
+Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState,
+Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY, Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment,
+Reg-RTCMcorrections, Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatus, Reg-SignalStatusPackage, Reg-SignalRequestMessage,
+Reg-SignalStatusMessage, Reg-SPAT
+FROM REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version2 (2)}
+
+
+--Iso3833VehicleType
+--FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1) }
+;
+
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+-- Messages
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+
+REG-EXT-ID-AND-TYPE ::= CLASS {
+ &id RegionId UNIQUE,
+ &Type
+} WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE {
+ regionId REG-EXT-ID-AND-TYPE.&id( {Set} ),
+ regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} )
+}
+
+MapData ::= SEQUENCE {
+ timeStamp MinuteOfTheYear OPTIONAL,
+ msgIssueRevision MsgCount,
+ layerType LayerType OPTIONAL,
+ layerID LayerID OPTIONAL,
+ intersections IntersectionGeometryList OPTIONAL,
+ roadSegments RoadSegmentList OPTIONAL,
+ dataParameters DataParameters OPTIONAL,
+ restrictionList RestrictionClassList OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-MapData}} OPTIONAL,
+ ...
+}
+
+RTCMcorrections ::= SEQUENCE {
+ msgCnt MsgCount,
+ rev RTCM-Revision,
+ timeStamp MinuteOfTheYear OPTIONAL,
+ anchorPoint FullPositionVector OPTIONAL,
+ rtcmHeader RTCMheader OPTIONAL,
+ msgs RTCMmessageList,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-RTCMcorrections}} OPTIONAL,
+ ...
+}
+
+SPAT ::= SEQUENCE {
+ timeStamp MinuteOfTheYear OPTIONAL,
+ name DescriptiveName OPTIONAL,
+ intersections IntersectionStateList,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-SPAT}} OPTIONAL,
+ ...
+}
+
+SignalRequestMessage ::= SEQUENCE {
+ timeStamp MinuteOfTheYear OPTIONAL,
+ second DSecond,
+ sequenceNumber MsgCount OPTIONAL,
+ requests SignalRequestList OPTIONAL,
+ requestor RequestorDescription,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
+ ...
+}
+
+SignalStatusMessage ::= SEQUENCE {
+ timeStamp MinuteOfTheYear OPTIONAL,
+ second DSecond,
+ sequenceNumber MsgCount OPTIONAL,
+ status SignalStatusList,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL,
+ ...
+}
+
+
+
+
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+-- Start of entries from table Data_Frames...
+-- Data frames
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+
+AdvisorySpeed ::= SEQUENCE {
+ type AdvisorySpeedType,
+ speed SpeedAdvice OPTIONAL,
+ confidence SpeedConfidenceDSRC OPTIONAL,
+ distance ZoneLength OPTIONAL,
+ class RestrictionClassID OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
+ ...
+}
+
+AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed
+
+AntennaOffsetSet ::= SEQUENCE {
+ antOffsetX Offset-B12,
+ antOffsetY Offset-B09,
+ antOffsetZ Offset-B10
+ }
+
+ComputedLane ::= SEQUENCE {
+ referenceLaneId LaneID,
+ offsetXaxis CHOICE {
+ small DrivenLineOffsetSm,
+ large DrivenLineOffsetLg
+ },
+ offsetYaxis CHOICE {
+ small DrivenLineOffsetSm,
+ large DrivenLineOffsetLg
+ },
+ rotateXY Angle OPTIONAL,
+ scaleXaxis Scale-B12 OPTIONAL,
+ scaleYaxis Scale-B12 OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
+ ...
+}
+
+ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
+
+ConnectingLane ::= SEQUENCE {
+ lane LaneID,
+ maneuver AllowedManeuvers OPTIONAL
+}
+
+Connection ::= SEQUENCE {
+ connectingLane ConnectingLane,
+ remoteIntersection IntersectionReferenceID OPTIONAL,
+ signalGroup SignalGroupID OPTIONAL,
+ userClass RestrictionClassID OPTIONAL,
+ connectionID LaneConnectionID OPTIONAL
+}
+
+ConnectionManeuverAssist ::= SEQUENCE {
+ connectionID LaneConnectionID,
+ queueLength ZoneLength OPTIONAL,
+ availableStorageLength ZoneLength OPTIONAL,
+ waitOnStop WaitOnStopline OPTIONAL,
+ pedBicycleDetect PedestrianBicycleDetect OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
+ ...
+}
+
+DataParameters ::= SEQUENCE {
+ processMethod IA5String(SIZE(1..255)) OPTIONAL,
+ processAgency IA5String(SIZE(1..255)) OPTIONAL,
+ lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL,
+ geoidUsed IA5String(SIZE(1..255)) OPTIONAL,
+ ...
+}
+
+
+DDateTime ::= SEQUENCE {
+ year DYear OPTIONAL,
+ month DMonth OPTIONAL,
+ day DDay OPTIONAL,
+ hour DHour OPTIONAL,
+ minute DMinute OPTIONAL,
+ second DSecond OPTIONAL,
+ offset DOffset OPTIONAL
+ }
+
+EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID
+
+FullPositionVector ::= SEQUENCE {
+ utcTime DDateTime OPTIONAL, -- time with mSec precision
+ long Longitude,
+ lat Latitude,
+ elevation Elevation OPTIONAL,
+ heading HeadingDSRC OPTIONAL,
+ speed TransmissionAndSpeed OPTIONAL,
+ posAccuracy PositionalAccuracy OPTIONAL,
+ timeConfidence TimeConfidence OPTIONAL,
+ posConfidence PositionConfidenceSet OPTIONAL,
+ speedConfidence SpeedandHeadingandThrottleConfidence OPTIONAL,
+ ...
+ }
+
+
+GenericLane ::= SEQUENCE {
+ laneID LaneID,
+ name DescriptiveName OPTIONAL,
+ ingressApproach ApproachID OPTIONAL,
+ egressApproach ApproachID OPTIONAL,
+ laneAttributes LaneAttributes,
+ maneuvers AllowedManeuvers OPTIONAL,
+ nodeList NodeListXY,
+ connectsTo ConnectsToList OPTIONAL,
+ overlays OverlayLaneList OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-GenericLane}} OPTIONAL,
+ ...
+}
+
+IntersectionAccessPoint ::= CHOICE {
+ lane LaneID,
+ approach ApproachID,
+ connection LaneConnectionID,
+ ...
+}
+
+IntersectionGeometry ::= SEQUENCE {
+ name DescriptiveName OPTIONAL,
+ id IntersectionReferenceID,
+ revision MsgCount,
+ refPoint Position3D,
+ laneWidth LaneWidth OPTIONAL,
+ speedLimits SpeedLimitList OPTIONAL,
+ laneSet LaneList,
+ preemptPriorityData PreemptPriorityList OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
+ ...
+}
+
+IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry
+
+IntersectionReferenceID ::= SEQUENCE {
+ region RoadRegulatorID OPTIONAL,
+ id IntersectionID
+}
+
+IntersectionState ::= SEQUENCE {
+ name DescriptiveName OPTIONAL,
+ id IntersectionReferenceID,
+ revision MsgCount,
+ status IntersectionStatusObject,
+ moy MinuteOfTheYear OPTIONAL,
+ timeStamp DSecond OPTIONAL,
+ enabledLanes EnabledLaneList OPTIONAL,
+ states MovementList,
+ maneuverAssistList ManeuverAssistList OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
+ ...
+}
+
+IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState
+
+LaneAttributes ::= SEQUENCE {
+ directionalUse LaneDirection,
+ sharedWith LaneSharing,
+ laneType LaneTypeAttributes,
+ regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
+}
+
+LaneDataAttribute ::= CHOICE {
+ pathEndPointAngle DeltaAngle,
+ laneCrownPointCenter RoadwayCrownAngle,
+ laneCrownPointLeft RoadwayCrownAngle,
+ laneCrownPointRight RoadwayCrownAngle,
+ laneAngle MergeDivergeNodeAngle,
+ speedLimits SpeedLimitList,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-LaneDataAttribute}},
+ ...
+}
+
+LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
+
+LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
+
+LaneSharing ::= BIT STRING {
+ overlappingLaneDescriptionProvided (0),
+ multipleLanesTreatedAsOneLane (1),
+ otherNonMotorizedTrafficTypes (2),
+ individualMotorizedVehicleTraffic (3),
+ busVehicleTraffic (4),
+ taxiVehicleTraffic (5),
+ pedestriansTraffic (6),
+ cyclistVehicleTraffic (7),
+ trackedVehicleTraffic (8),
+ pedestrianTraffic (9)
+} (SIZE (10))
+
+LaneTypeAttributes ::= CHOICE {
+ vehicle LaneAttributes-Vehicle,
+ crosswalk LaneAttributes-Crosswalk,
+ bikeLane LaneAttributes-Bike,
+ sidewalk LaneAttributes-Sidewalk,
+ median LaneAttributes-Barrier,
+ striping LaneAttributes-Striping,
+ trackedVehicle LaneAttributes-TrackedVehicle,
+ parking LaneAttributes-Parking,
+ ...
+}
+
+ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
+
+MovementEvent ::= SEQUENCE {
+ eventState MovementPhaseState,
+ timing TimeChangeDetails OPTIONAL,
+ speeds AdvisorySpeedList OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
+ ...
+}
+
+MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
+
+MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
+
+MovementState ::= SEQUENCE {
+ movementName DescriptiveName OPTIONAL,
+ signalGroup SignalGroupID,
+ state-time-speed MovementEventList,
+ maneuverAssistList ManeuverAssistList OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-MovementState}} OPTIONAL,
+ ...
+}
+
+NodeAttributeSetXY ::= SEQUENCE {
+ localNode NodeAttributeXYList OPTIONAL,
+ disabled SegmentAttributeXYList OPTIONAL,
+ enabled SegmentAttributeXYList OPTIONAL,
+ data LaneDataAttributeList OPTIONAL,
+ dWidth Offset-B10 OPTIONAL,
+ dElevation Offset-B10 OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
+ ...
+}
+
+NodeAttributeXY ::= ENUMERATED {
+ reserved,
+ stopLine,
+ roundedCapStyleA,
+ roundedCapStyleB,
+ mergePoint,
+ divergePoint,
+ downstreamStopLine,
+ downstreamStartNode,
+ closedToTraffic,
+ safeIsland,
+ curbPresentAtStepOff,
+ hydrantPresent,
+ ...
+}
+
+NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
+
+Node-LLmD-64b ::= SEQUENCE {
+ lon Longitude,
+ lat Latitude
+}
+
+Node-XY-20b ::= SEQUENCE {
+ x Offset-B10,
+ y Offset-B10
+}
+
+Node-XY-22b ::= SEQUENCE {
+ x Offset-B11,
+ y Offset-B11
+}
+
+Node-XY-24b ::= SEQUENCE {
+ x Offset-B12,
+ y Offset-B12
+}
+
+Node-XY-26b ::= SEQUENCE {
+ x Offset-B13,
+ y Offset-B13
+}
+
+Node-XY-28b ::= SEQUENCE {
+ x Offset-B14,
+ y Offset-B14
+}
+
+Node-XY-32b ::= SEQUENCE {
+ x Offset-B16,
+ y Offset-B16
+}
+
+NodeListXY ::= CHOICE {
+ nodes NodeSetXY,
+ computed ComputedLane,
+ ...
+}
+
+NodeOffsetPointXY ::= CHOICE {
+ node-XY1 Node-XY-20b,
+ node-XY2 Node-XY-22b,
+ node-XY3 Node-XY-24b,
+ node-XY4 Node-XY-26b,
+ node-XY5 Node-XY-28b,
+ node-XY6 Node-XY-32b,
+ node-LatLon Node-LLmD-64b,
+ regional RegionalExtension {{Reg-NodeOffsetPointXY}}
+}
+
+NodeXY ::= SEQUENCE {
+ delta NodeOffsetPointXY,
+ attributes NodeAttributeSetXY OPTIONAL,
+ ...
+}
+
+NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
+
+OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID
+
+PositionalAccuracy ::= SEQUENCE {
+ semiMajor SemiMajorAxisAccuracy,
+ semiMinor SemiMinorAxisAccuracy,
+ orientation SemiMajorAxisOrientation
+}
+
+PositionConfidenceSet ::= SEQUENCE {
+ pos PositionConfidence, -- for both horizontal directions
+ elevation ElevationConfidence
+ }
+
+
+Position3D ::= SEQUENCE {
+ lat Latitude,
+ long Longitude,
+ elevation Elevation OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-Position3D}} OPTIONAL,
+ ...
+}
+
+PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
+
+RegulatorySpeedLimit ::= SEQUENCE {
+ type SpeedLimitType,
+ speed Velocity
+}
+
+RequestorDescription ::= SEQUENCE {
+ id VehicleID,
+ type RequestorType OPTIONAL,
+ position RequestorPositionVector OPTIONAL,
+ name DescriptiveName OPTIONAL,
+ routeName DescriptiveName OPTIONAL,
+ transitStatus TransitVehicleStatus OPTIONAL,
+ transitOccupancy TransitVehicleOccupancy OPTIONAL,
+ transitSchedule DeltaTime OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
+ ...
+}
+
+RequestorPositionVector ::= SEQUENCE {
+ position Position3D,
+ heading Angle OPTIONAL,
+ speed TransmissionAndSpeed OPTIONAL,
+ ...
+}
+
+RequestorType ::= SEQUENCE {
+ role BasicVehicleRole,
+ subrole RequestSubRole OPTIONAL,
+ request RequestImportanceLevel OPTIONAL,
+ iso3883 Iso3833VehicleType OPTIONAL,
+ hpmsType VehicleType OPTIONAL,
+ regional RegionalExtension {{Reg-RequestorType}} OPTIONAL,
+ ...
+}
+
+RestrictionClassAssignment ::= SEQUENCE {
+ id RestrictionClassID,
+ users RestrictionUserTypeList
+}
+
+RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
+
+RestrictionUserType ::= CHOICE {
+ basicType RestrictionAppliesTo,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-RestrictionUserType}},
+ ...
+}
+
+RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
+
+RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
+
+RoadSegmentReferenceID ::= SEQUENCE {
+ region RoadRegulatorID OPTIONAL,
+ id RoadSegmentID
+}
+
+RoadSegment ::= SEQUENCE {
+ name DescriptiveName OPTIONAL,
+ id RoadSegmentReferenceID,
+ revision MsgCount,
+ refPoint Position3D,
+ laneWidth LaneWidth OPTIONAL,
+ speedLimits SpeedLimitList OPTIONAL,
+ roadLaneSet RoadLaneSetList,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
+ ...
+}
+
+RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment
+
+RTCMheader ::= SEQUENCE {
+ status GNSSstatus,
+ offsetSet AntennaOffsetSet
+ }
+
+RTCMmessageList ::= SEQUENCE (SIZE(1..5)) OF RTCMmessage
+
+SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
+
+SignalControlZone ::= SEQUENCE {
+ zone RegionalExtension {{Reg-SignalControlZone}},
+ ...
+}
+
+SignalRequesterInfo ::= SEQUENCE {
+ id VehicleID,
+ request RequestID,
+ sequenceNumber MsgCount,
+ role BasicVehicleRole OPTIONAL,
+ typeData RequestorType OPTIONAL,
+ ...
+}
+
+SignalRequest ::= SEQUENCE {
+ id IntersectionReferenceID,
+ requestID RequestID,
+ requestType PriorityRequestType,
+ inBoundLane IntersectionAccessPoint,
+ outBoundLane IntersectionAccessPoint OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-SignalRequest}} OPTIONAL,
+ ...
+}
+
+SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage
+
+SignalRequestPackage ::= SEQUENCE {
+ request SignalRequest,
+ minute MinuteOfTheYear OPTIONAL,
+ second DSecond OPTIONAL,
+ duration DSecond OPTIONAL,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
+ ...
+}
+
+SignalStatus ::= SEQUENCE {
+ sequenceNumber MsgCount,
+ id IntersectionReferenceID,
+ sigStatus SignalStatusPackageList,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
+ ...
+}
+
+SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
+
+SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
+
+SignalStatusPackage ::= SEQUENCE {
+ requester SignalRequesterInfo OPTIONAL,
+ inboundOn IntersectionAccessPoint,
+ outboundOn IntersectionAccessPoint OPTIONAL,
+
+ minute MinuteOfTheYear OPTIONAL,
+ second DSecond OPTIONAL,
+ duration DSecond OPTIONAL,
+ status PrioritizationResponseStatus,
+ regional SEQUENCE (SIZE(1..4)) OF
+ RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
+ ...
+}
+
+SpeedandHeadingandThrottleConfidence ::= SEQUENCE {
+ heading HeadingConfidenceDSRC,
+ speed SpeedConfidenceDSRC,
+ throttle ThrottleConfidence
+ }
+
+
+SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
+
+SpeedLimitType ::= ENUMERATED {
+ unknown,
+ maxSpeedInSchoolZone,
+ maxSpeedInSchoolZoneWhenChildrenArePresent,
+ maxSpeedInConstructionZone,
+ vehicleMinSpeed,
+ vehicleMaxSpeed,
+ vehicleNightMaxSpeed,
+ truckMinSpeed,
+ truckMaxSpeed,
+ truckNightMaxSpeed,
+ vehiclesWithTrailersMinSpeed,
+ vehiclesWithTrailersMaxSpeed,
+ vehiclesWithTrailersNightMaxSpeed,
+ ...
+}
+
+TimeChangeDetails ::= SEQUENCE {
+ startTime TimeMark OPTIONAL,
+ minEndTime TimeMark,
+ maxEndTime TimeMark OPTIONAL,
+ likelyTime TimeMark OPTIONAL,
+ confidence TimeIntervalConfidence OPTIONAL,
+ nextTime TimeMark OPTIONAL
+}
+
+TimeMark ::= INTEGER (0..36001)
+
+TransmissionAndSpeed ::= SEQUENCE {
+ transmisson TransmissionState,
+ speed Velocity
+}
+
+VehicleID ::= CHOICE {
+ entityID TemporaryID,
+ stationID StationID
+}
+
+
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+-- data elements
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+
+AdvisorySpeedType ::= ENUMERATED {
+ none (0),
+ greenwave (1),
+ ecoDrive (2),
+ transit (3),
+ ...
+}
+
+AllowedManeuvers ::= BIT STRING {
+ maneuverStraightAllowed (0),
+ maneuverLeftAllowed (1),
+ maneuverRightAllowed (2),
+ maneuverUTurnAllowed (3),
+ maneuverLeftTurnOnRedAllowed (4),
+ maneuverRightTurnOnRedAllowed (5),
+ maneuverLaneChangeAllowed (6),
+ maneuverNoStoppingAllowed (7),
+ yieldAllwaysRequired (8),
+ goWithHalt (9),
+ caution (10),
+ reserved1 (11)
+} (SIZE(12))
+
+Angle ::= INTEGER (0..28800)
+
+ApproachID ::= INTEGER (0..15)
+
+BasicVehicleRole ::= ENUMERATED {
+ basicVehicle (0),
+ publicTransport (1),
+ specialTransport (2),
+ dangerousGoods (3),
+ roadWork (4),
+ roadRescue (5),
+ emergency (6),
+ safetyCar (7),
+ none-unknown (8),
+ truck (9),
+ motorcycle (10),
+ roadSideSource (11),
+ police (12),
+ fire (13),
+ ambulance (14),
+ dot (15),
+ transit (16),
+ slowMoving (17),
+ stopNgo (18),
+ cyclist (19),
+ pedestrian (20),
+ nonMotorized (21),
+ military (22),
+ ...
+}
+
+DDay ::= INTEGER (0..31)
+
+DeltaAngle ::= INTEGER (-150..150)
+
+DeltaTime ::= INTEGER (-122 .. 121)
+
+DescriptiveName ::= IA5String (SIZE(1..63))
+
+DHour ::= INTEGER (0..31)
+
+DMinute ::= INTEGER (0..60)
+
+DMonth ::= INTEGER (0..12)
+
+DOffset ::= INTEGER (-840..840)
+
+DrivenLineOffsetLg ::= INTEGER (-32767..32767)
+
+DrivenLineOffsetSm ::= INTEGER (-2047..2047)
+
+DSecond ::= INTEGER (0..65535)
+
+DSRCmsgID ::= INTEGER (0..32767)
+ mapData DSRCmsgID ::= 18
+ rtcmCorrections DSRCmsgID ::= 28
+ signalPhaseAndTimingMessage DSRCmsgID ::= 19
+ signalRequestMessage DSRCmsgID ::= 29
+ signalStatusMessage DSRCmsgID ::= 30
+
+DYear ::= INTEGER (0..4095)
+
+Elevation ::= INTEGER (-4096..61439)
+
+ElevationConfidence ::= ENUMERATED {
+ unavailable (0),
+ elev-500-00 (1),
+ elev-200-00 (2),
+ elev-100-00 (3),
+ elev-050-00 (4),
+ elev-020-00 (5),
+ elev-010-00 (6),
+ elev-005-00 (7),
+ elev-002-00 (8),
+ elev-001-00 (9),
+ elev-000-50 (10),
+ elev-000-20 (11),
+ elev-000-10 (12),
+ elev-000-05 (13),
+ elev-000-02 (14),
+ elev-000-01 (15)
+ }
+
+
+FuelType ::= INTEGER (0..15)
+ unknownFuel FuelType ::= 0
+ gasoline FuelType ::= 1
+ ethanol FuelType ::= 2
+ diesel FuelType ::= 3
+ electric FuelType ::= 4
+ hybrid FuelType ::= 5
+ hydrogen FuelType ::= 6
+ natGasLiquid FuelType ::= 7
+ natGasComp FuelType ::= 8
+ propane FuelType ::= 9
+
+GNSSstatus ::= BIT STRING {
+ unavailable (0),
+ isHealthy (1),
+ isMonitored (2),
+ baseStationType (3),
+ aPDOPofUnder5 (4),
+ inViewOfUnder5 (5),
+ localCorrectionsPresent (6),
+ networkCorrectionsPresent (7)
+ } (SIZE(8))
+
+HeadingConfidenceDSRC ::= ENUMERATED {
+ unavailable (0),
+ prec10deg (1),
+ prec05deg (2),
+ prec01deg (3),
+ prec0-1deg (4),
+ prec0-05deg (5),
+ prec0-01deg (6),
+ prec0-0125deg (7)
+ }
+
+HeadingDSRC ::= INTEGER (0..28800)
+
+IntersectionID ::= INTEGER (0..65535)
+
+IntersectionStatusObject ::= BIT STRING {
+ manualControlIsEnabled (0),
+ stopTimeIsActivated (1),
+ failureFlash (2),
+ preemptIsActive (3),
+ signalPriorityIsActive (4),
+ fixedTimeOperation (5),
+ trafficDependentOperation (6),
+ standbyOperation (7),
+ failureMode (8),
+ off (9),
+ recentMAPmessageUpdate (10),
+ recentChangeInMAPassignedLanesIDsUsed (11),
+ noValidMAPisAvailableAtThisTime (12),
+ noValidSPATisAvailableAtThisTime (13)
+} (SIZE(16))
+
+LaneAttributes-Barrier ::= BIT STRING {
+ median-RevocableLane (0),
+ median (1),
+ whiteLineHashing (2),
+ stripedLines (3),
+ doubleStripedLines (4),
+ trafficCones (5),
+ constructionBarrier (6),
+ trafficChannels (7),
+ lowCurbs (8),
+ highCurbs (9)
+} (SIZE (16))
+
+LaneAttributes-Bike ::= BIT STRING {
+ bikeRevocableLane (0),
+ pedestrianUseAllowed (1),
+ isBikeFlyOverLane (2),
+ fixedCycleTime (3),
+ biDirectionalCycleTimes (4),
+ isolatedByBarrier (5),
+ unsignalizedSegmentsPresent (6)
+} (SIZE (16))
+
+LaneAttributes-Crosswalk ::= BIT STRING {
+ crosswalkRevocableLane (0),
+ bicyleUseAllowed (1),
+ isXwalkFlyOverLane (2),
+ fixedCycleTime (3),
+ biDirectionalCycleTimes (4),
+ hasPushToWalkButton (5),
+ audioSupport (6),
+ rfSignalRequestPresent (7),
+ unsignalizedSegmentsPresent (8)
+} (SIZE (16))
+
+LaneAttributes-Parking ::= BIT STRING {
+ parkingRevocableLane (0),
+ parallelParkingInUse (1),
+ headInParkingInUse (2),
+ doNotParkZone (3),
+ parkingForBusUse (4),
+ parkingForTaxiUse (5),
+ noPublicParkingUse (6)
+} (SIZE (16))
+
+LaneAttributes-Sidewalk ::= BIT STRING {
+ sidewalk-RevocableLane (0),
+ bicyleUseAllowed (1),
+ isSidewalkFlyOverLane (2),
+ walkBikes (3)
+} (SIZE (16))
+
+LaneAttributes-Striping ::= BIT STRING {
+ stripeToConnectingLanesRevocableLane (0),
+ stripeDrawOnLeft (1),
+ stripeDrawOnRight (2),
+ stripeToConnectingLanesLeft (3),
+ stripeToConnectingLanesRight (4),
+ stripeToConnectingLanesAhead (5)
+} (SIZE (16))
+
+LaneAttributes-TrackedVehicle ::= BIT STRING {
+ spec-RevocableLane (0),
+ spec-commuterRailRoadTrack (1),
+ spec-lightRailRoadTrack (2),
+ spec-heavyRailRoadTrack (3),
+ spec-otherRailType (4)
+} (SIZE (16))
+
+
+LaneAttributes-Vehicle ::= BIT STRING {
+ isVehicleRevocableLane (0),
+ isVehicleFlyOverLane (1),
+ hovLaneUseOnly (2),
+ restrictedToBusUse (3),
+ restrictedToTaxiUse (4),
+ restrictedFromPublicUse (5),
+ hasIRbeaconCoverage (6),
+ permissionOnRequest (7)
+} (SIZE (8,...))
+
+LaneConnectionID ::= INTEGER (0..255)
+
+LaneDirection ::= BIT STRING {
+ ingressPath (0),
+ egressPath (1)
+} (SIZE (2))
+
+LaneID ::= INTEGER (0..255)
+
+LayerID ::= INTEGER (0..100)
+
+LayerType ::= ENUMERATED {
+ none,
+ mixedContent,
+ generalMapData,
+ intersectionData,
+ curveData,
+ roadwaySectionData,
+ parkingAreaData,
+ sharedLaneData,
+ ...
+}
+
+LaneWidth ::= INTEGER (0..32767)
+
+MergeDivergeNodeAngle ::= INTEGER (-180..180)
+
+MinuteOfTheYear ::= INTEGER (0..527040)
+
+MovementPhaseState ::= ENUMERATED {
+ unavailable (0),
+ dark (1),
+ stop-Then-Proceed (2),
+ stop-And-Remain (3),
+ pre-Movement (4),
+ permissive-Movement-Allowed (5),
+ protected-Movement-Allowed (6),
+ permissive-clearance (7),
+ protected-clearance (8),
+ caution-Conflicting-Traffic (9)
+}
+
+MsgCount ::= INTEGER (0..127)
+
+Offset-B09 ::= INTEGER (-256..255)
+
+Offset-B10 ::= INTEGER (-512..511)
+
+Offset-B11 ::= INTEGER (-1024..1023)
+
+Offset-B12 ::= INTEGER (-2048..2047)
+
+Offset-B13 ::= INTEGER (-4096..4095)
+
+Offset-B14 ::= INTEGER (-8192..8191)
+
+Offset-B16 ::= INTEGER (-32768..32767)
+
+PedestrianBicycleDetect ::= BOOLEAN
+
+PositionConfidence ::= ENUMERATED {
+ unavailable (0),
+ a500m (1),
+ a200m (2),
+ a100m (3),
+ a50m (4),
+ a20m (5),
+ a10m (6),
+ a5m (7),
+ a2m (8),
+ a1m (9),
+ a50cm (10),
+ a20cm (11),
+ a10cm (12),
+ a5cm (13),
+ a2cm (14),
+ a1cm (15)
+ }
+
+PrioritizationResponseStatus ::= ENUMERATED {
+ unknown (0),
+ requested (1),
+ processing (2),
+ watchOtherTraffic (3),
+ granted (4),
+ rejected (5),
+ maxPresence (6),
+ reserviceLocked (7),
+ ...
+}
+
+PriorityRequestType ::= ENUMERATED {
+ priorityRequestTypeReserved (0),
+ priorityRequest (1),
+ priorityRequestUpdate (2),
+ priorityCancellation (3),
+ ...
+}
+
+RegionId ::= INTEGER (0..255)
+ noRegion RegionId ::= 0
+ addGrpA RegionId ::= 1
+ addGrpB RegionId ::= 2
+ addGrpC RegionId ::= 3
+
+RequestID ::= INTEGER (0..255)
+
+RequestImportanceLevel ::= ENUMERATED {
+ requestImportanceLevelUnKnown (0),
+ requestImportanceLevel1 (1),
+ requestImportanceLevel2 (2),
+ requestImportanceLevel3 (3),
+ requestImportanceLevel4 (4),
+ requestImportanceLevel5 (5),
+ requestImportanceLevel6 (6),
+ requestImportanceLevel7 (7),
+ requestImportanceLevel8 (8),
+ requestImportanceLevel9 (9),
+ requestImportanceLevel10 (10),
+ requestImportanceLevel11 (11),
+ requestImportanceLevel12 (12),
+ requestImportanceLevel13 (13),
+ requestImportanceLevel14 (14),
+ requestImportanceReserved (15)
+}
+
+RequestSubRole ::= ENUMERATED {
+ requestSubRoleUnKnown (0),
+ requestSubRole1 (1),
+ requestSubRole2 (2),
+ requestSubRole3 (3),
+ requestSubRole4 (4),
+ requestSubRole5 (5),
+ requestSubRole6 (6),
+ requestSubRole7 (7),
+ requestSubRole8 (8),
+ requestSubRole9 (9),
+ requestSubRole10 (10),
+ requestSubRole11 (11),
+ requestSubRole12 (12),
+ requestSubRole13 (13),
+ requestSubRole14 (14),
+ requestSubRoleReserved (15)
+}
+
+RestrictionAppliesTo ::= ENUMERATED {
+ none,
+ equippedTransit,
+ equippedTaxis,
+ equippedOther,
+ emissionCompliant,
+ equippedBicycle,
+ weightCompliant,
+ heightCompliant,
+ pedestrians,
+ slowMovingPersons,
+ wheelchairUsers,
+ visualDisabilities,
+ audioDisabilities,
+ otherUnknownDisabilities,
+ ...
+}
+
+RestrictionClassID ::= INTEGER (0..255)
+
+RoadRegulatorID ::= INTEGER (0..65535)
+
+RoadSegmentID ::= INTEGER (0..65535)
+
+RoadwayCrownAngle ::= INTEGER (-128..127)
+
+RTCMmessage ::= OCTET STRING (SIZE(1..1023))
+
+RTCM-Revision ::= ENUMERATED {
+ unknown (0),
+ rtcmRev2 (1), -- Std 10402.x et al
+ rtcmRev3 (2), -- Std 10403.x et al
+ reserved (3),
+ ...
+}
+
+Scale-B12 ::= INTEGER (-2048..2047)
+
+SignalGroupID ::= INTEGER (0..255)
+
+SegmentAttributeXY ::= ENUMERATED {
+ reserved ,
+ doNotBlock ,
+ whiteLine ,
+ mergingLaneLeft ,
+ mergingLaneRight ,
+ curbOnLeft ,
+ curbOnRight ,
+ loadingzoneOnLeft ,
+ loadingzoneOnRight ,
+ turnOutPointOnLeft ,
+ turnOutPointOnRight ,
+ adjacentParkingOnLeft ,
+ adjacentParkingOnRight ,
+ adjacentBikeLaneOnLeft ,
+ adjacentBikeLaneOnRight ,
+ sharedBikeLane ,
+ bikeBoxInFront ,
+ transitStopOnLeft ,
+ transitStopOnRight ,
+ transitStopInLane ,
+ sharedWithTrackedVehicle ,
+ safeIsland ,
+ lowCurbsPresent ,
+ rumbleStripPresent ,
+ audibleSignalingPresent ,
+ adaptiveTimingPresent ,
+ rfSignalRequestPresent ,
+ partialCurbIntrusion ,
+ taperToLeft ,
+ taperToRight ,
+ taperToCenterLine ,
+ parallelParking ,
+ headInParking ,
+ freeParking ,
+ timeRestrictionsOnParking ,
+ costToPark ,
+ midBlockCurbPresent ,
+ unEvenPavementPresent ,
+ ...
+}
+
+SemiMajorAxisAccuracy ::= INTEGER (0..255)
+
+SemiMajorAxisOrientation ::= INTEGER (0..65535)
+
+SemiMinorAxisAccuracy ::= INTEGER (0..255)
+
+SpeedAdvice ::= INTEGER (0..500)
+
+SpeedConfidenceDSRC ::= ENUMERATED {
+ unavailable (0), -- Not Equipped or unavailable
+ prec100ms (1), -- 100 meters / sec
+ prec10ms (2), -- 10 meters / sec
+ prec5ms (3), -- 5 meters / sec
+ prec1ms (4), -- 1 meters / sec
+ prec0-1ms (5), -- 0.1 meters / sec
+ prec0-05ms (6), -- 0.05 meters / sec
+ prec0-01ms (7) -- 0.01 meters / sec
+ }
+
+TemporaryID ::= OCTET STRING (SIZE(4))
+
+ThrottleConfidence ::= ENUMERATED {
+ unavailable (0),
+ prec10percent (1),
+ prec1percent (2),
+ prec0-5percent (3)
+ }
+
+TimeConfidence ::= ENUMERATED {
+ unavailable (0),
+ time-100-000 (1),
+ time-050-000 (2),
+ time-020-000 (3),
+ time-010-000 (4),
+ time-002-000 (5),
+ time-001-000 (6),
+ time-000-500 (7),
+ time-000-200 (8),
+ time-000-100 (9),
+ time-000-050 (10),
+ time-000-020 (11),
+ time-000-010 (12),
+ time-000-005 (13),
+ time-000-002 (14),
+ time-000-001 (15),
+ time-000-000-5 (16),
+ time-000-000-2 (17),
+ time-000-000-1 (18),
+ time-000-000-05 (19),
+ time-000-000-02 (20),
+ time-000-000-01 (21),
+ time-000-000-005 (22),
+ time-000-000-002 (23),
+ time-000-000-001 (24),
+ time-000-000-000-5 (25),
+ time-000-000-000-2 (26),
+ time-000-000-000-1 (27),
+ time-000-000-000-05 (28),
+ time-000-000-000-02 (29),
+ time-000-000-000-01 (30),
+ time-000-000-000-005 (31),
+ time-000-000-000-002 (32),
+ time-000-000-000-001 (33),
+ time-000-000-000-000-5 (34),
+ time-000-000-000-000-2 (35),
+ time-000-000-000-000-1 (36),
+ time-000-000-000-000-05 (37),
+ time-000-000-000-000-02 (38),
+ time-000-000-000-000-01 (39)
+}
+
+TimeIntervalConfidence ::= INTEGER (0..15)
+
+TransitVehicleOccupancy ::= ENUMERATED {
+ occupancyUnknown (0),
+ occupancyEmpty (1),
+ occupancyVeryLow (2),
+ occupancyLow (3),
+ occupancyMed (4),
+ occupancyHigh (5),
+ occupancyNearlyFull (6),
+ occupancyFull (7)
+}
+
+TransitVehicleStatus ::= BIT STRING {
+ loading (0),
+ anADAuse (1),
+ aBikeLoad (2),
+ doorOpen (3),
+ charging (4),
+ atStopLine (5)
+} (SIZE(8))
+
+TransmissionState ::= ENUMERATED {
+ neutral (0),
+ park (1),
+ forwardGears (2),
+ reverseGears (3),
+ reserved1 (4),
+ reserved2 (5),
+ reserved3 (6),
+ unavailable (7)
+}
+
+--VehicleHeight ::= INTEGER (0..127)
+
+VehicleType ::= ENUMERATED {
+ none (0),
+ unknown (1),
+ special (2),
+ moto (3),
+ car (4),
+ carOther (5),
+ bus (6),
+ axleCnt2 (7),
+ axleCnt3 (8),
+ axleCnt4 (9),
+ axleCnt4Trailer (10),
+ axleCnt5Trailer (11),
+ axleCnt6Trailer (12),
+ axleCnt5MultiTrailer (13),
+ axleCnt6MultiTrailer (14),
+ axleCnt7MultiTrailer (15),
+ ...
+}
+
+Velocity ::= INTEGER (0..8191)
+
+WaitOnStopline ::= BOOLEAN
+
+ZoneLength ::= INTEGER (0..10000)
+
+END
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+--
+-- module: AddGrpC
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+AddGrpC {
+ iso (1) standard (0) signalizedIntersection (19091) profilec (2) addgrpc (0)
+ version2 (2)
+ }
+
+DEFINITIONS AUTOMATIC TAGS::= BEGIN
+
+IMPORTS
+
+DeltaTime, FuelType, IntersectionID, LaneConnectionID, LaneID, NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID
+FROM DSRC {
+ iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
+}
+
+
+Altitude, DeltaAltitude, StationID, VehicleMass, VehicleHeight
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)};
+
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- AddGrpC data dictionary extensions to SAEJ2735
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ConnectionManeuverAssist-addGrpC ::= SEQUENCE {
+ itsStationPosition ItsStationPositionList OPTIONAL,
+ ...
+}
+
+ConnectionTrajectory-addGrpC ::= SEQUENCE {
+ nodes NodeSetXY,
+ connectionID LaneConnectionID,
+ ...
+}
+
+IntersectionState-addGrpC ::= SEQUENCE {
+ activePrioritizations PrioritizationResponseList OPTIONAL,
+ ...
+}
+
+LaneAttributes-addGrpC ::= SEQUENCE {
+ maxVehicleHeight VehicleHeight OPTIONAL,
+ maxVehicleWeight VehicleMass OPTIONAL,
+ ...
+}
+
+MapData-addGrpC ::= SEQUENCE {
+ signalHeadLocations SignalHeadLocationList OPTIONAL,
+ ...
+}
+
+MovementEvent-addGrpC ::= SEQUENCE {
+ stateChangeReason ExceptionalCondition OPTIONAL,
+ ...
+}
+
+NodeAttributeSet-addGrpC ::= SEQUENCE {
+ ptvRequest PtvRequestType OPTIONAL,
+ nodeLink NodeLink OPTIONAL,
+ node Node OPTIONAL,
+ ...
+}
+
+Position3D-addGrpC ::= SEQUENCE {
+ altitude Altitude,
+ ...
+}
+
+RestrictionUserType-addGrpC ::= SEQUENCE {
+ emission EmissionType OPTIONAL,
+ fuel FuelType OPTIONAL,
+ ...
+}
+
+RequestorDescription-addGrpC ::= SEQUENCE {
+ fuel FuelType OPTIONAL,
+ batteryStatus BatteryStatus OPTIONAL,
+ ...
+}
+
+SignalStatusPackage-addGrpC ::= SEQUENCE {
+ synchToSchedule DeltaTime OPTIONAL,
+ rejectedReason RejectedReason OPTIONAL,
+ ...
+}
+
+
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- Data frames
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ItsStationPosition ::= SEQUENCE {
+ stationID StationID,
+ laneID LaneID OPTIONAL,
+ nodeXY NodeOffsetPointXY OPTIONAL,
+ timeReference TimeReference OPTIONAL,
+ ...
+}
+
+ItsStationPositionList ::= SEQUENCE SIZE(1..5) OF ItsStationPosition
+
+Node ::= SEQUENCE {
+ id INTEGER,
+ lane LaneID OPTIONAL,
+ connectionID LaneConnectionID OPTIONAL,
+ intersectionID IntersectionID OPTIONAL,
+ ...
+}
+
+NodeLink ::= SEQUENCE SIZE (1..5) OF Node
+
+PrioritizationResponse ::= SEQUENCE {
+ stationID StationID,
+ priorState PrioritizationResponseStatus,
+ signalGroup SignalGroupID,
+ ...
+}
+
+PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse
+
+SignalHeadLocation ::= SEQUENCE {
+ nodeXY NodeOffsetPointXY,
+ nodeZ DeltaAltitude,
+ signalGroupID SignalGroupID,
+ ...
+}
+
+SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation
+
+
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- Data elements
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+BatteryStatus ::= ENUMERATED {
+ unknown,
+ critical,
+ low,
+ good,
+ ...
+}
+
+EmissionType ::= ENUMERATED {
+ euro1,
+ euro2,
+ euro3,
+ euro4,
+ euro5,
+ euro6,
+ ...
+}
+
+ExceptionalCondition ::= ENUMERATED {
+ unknown,
+ publicTransportPriority,
+ emergencyVehiclePriority,
+ trainPriority,
+ bridgeOpen,
+ vehicleHeight,
+ weather,
+ trafficJam,
+ tunnelClosure,
+ meteringActive,
+ truckPriority,
+ bicyclePlatoonPriority,
+ vehiclePlatoonPriority,
+ ...
+}
+
+PtvRequestType ::= ENUMERATED {
+ preRequest,
+ mainRequest,
+ doorCloseRequest,
+ cancelRequest,
+ emergencyRequest,
+ ...
+}
+
+RejectedReason ::= ENUMERATED {
+ unknown,
+ exceptionalCondition,
+ maxWaitingTimeExceeded,
+ ptPriorityDisabled,
+ higherPTPriorityGranted,
+ vehicleTrackingUnknown,
+ ...
+}
+
+TimeReference ::= INTEGER { oneMilliSec(1) } (0..60000)
+
+END
+
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+--
+-- module: REGION
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+
+REGION {
+ iso (1) standard (0) signalizedIntersection (19091) profilec (2) region (1)
+ version2 (2)
+}
+
+DEFINITIONS AUTOMATIC TAGS::= BEGIN
+
+IMPORTS
+
+addGrpC, REG-EXT-ID-AND-TYPE
+FROM DSRC {
+ iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
+}
+
+ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC,
+IntersectionState-addGrpC, LaneAttributes-addGrpC, MapData-addGrpC,
+MovementEvent-addGrpC, NodeAttributeSet-addGrpC, Position3D-addGrpC, RequestorDescription-addGrpC, RestrictionUserType-addGrpC, SignalStatusPackage-addGrpC
+FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version2 (2)};
+
+Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= {
+ {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC},
+ ...
+}
+
+Reg-GenericLane REG-EXT-ID-AND-TYPE ::= {
+ {ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} ,
+ ...
+}
+
+Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= {
+ {IntersectionState-addGrpC IDENTIFIED BY addGrpC},
+ ...
+}
+
+Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= {
+ {LaneAttributes-addGrpC IDENTIFIED BY addGrpC} ,
+ ...
+}
+Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-MapData REG-EXT-ID-AND-TYPE ::= {
+ {MapData-addGrpC IDENTIFIED BY addGrpC},
+ ...
+}
+
+Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= {
+ {MovementEvent-addGrpC IDENTIFIED BY addGrpC} ,
+ ...
+}
+Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... }
+
+-- Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= {
+ {NodeAttributeSet-addGrpC IDENTIFIED BY addGrpC},
+ ...
+}
+
+-- Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-Position3D REG-EXT-ID-AND-TYPE ::= {
+ {Position3D-addGrpC IDENTIFIED BY addGrpC} ,
+ ...
+}
+
+Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= {
+ { RequestorDescription-addGrpC IDENTIFIED BY addGrpC} ,
+ ...
+}
+
+Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= {
+ {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} ,
+ ...
+}
+
+Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-RTCMcorrections REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= {
+ { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC },
+ ...
+}
+
+Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... }
+
+END
diff --git a/epan/dissectors/asn1/its/ISO_TS_19321.asn b/epan/dissectors/asn1/its/ISO_TS_19321.asn
new file mode 100644
index 00000000..0299d718
--- /dev/null
+++ b/epan/dissectors/asn1/its/ISO_TS_19321.asn
@@ -0,0 +1,626 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 19321
+--
+-- This ASN.1 was generateds: 30.08.2016
+--
+-- Due to typos in the published version,
+-- small ASN.1 syntax adaptations have been executed
+--
+-- Published version location:
+-- http://standards.iso.org/iso/ts/19321
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+IVI {iso (1) standard (0) ivi (19321) version1 (1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+IMPORTS
+ItsPduHeader, Altitude, DangerousGoodsBasic , DeltaLatitude, DeltaLongitude, DeltaReferencePosition, Heading, HeadingValue, Latitude, LanePosition, Longitude, ReferencePosition, RoadType, SpecialTransportType, Speed, StationType, TimestampIts, VehicleRole
+FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
+
+AxleWeightLimits, DieselEmissionValues, ExhaustEmissionValues, EngineCharacteristics, EnvironmentalCharacteristics, PassengerCapacity , Provider, SoundLevel, VehicleDimensions, VehicleWeightLimits
+FROM EfcDsrcApplication {iso(1) standard(0) 14906 application(0) version5(5)}
+
+EuVehicleCategoryCode, Iso3833VehicleType
+FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)}
+
+
+VarLengthNumber
+FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1) version1 (1)}
+
+;
+-- End of IMPORTS
+
+
+--Definition of IVI message to be send over the air is outside of the scope and given for information only:
+
+IVI::= SEQUENCE {
+ header ItsPduHeader,
+ ivi IviStructure
+}
+
+--Definition of IVI Structure
+
+
+
+IviStructure::= SEQUENCE{
+ mandatory IVIManagementContainer,
+ optional SEQUENCE (SIZE (1..8,...)) OF IviContainer OPTIONAL
+ }
+
+--Definition of Containers
+
+IviContainer::= CHOICE {
+ glc GeographicLocationContainer,
+ giv GeneralIviContainer,
+ rcc RoadConfigurationContainer,
+ tc TextContainer,
+ lac LayoutContainer,
+ ... -- extension for future containers
+ }
+
+-- Prefix IVI added due to naming collision with data element ManagementContainer of Module DENM-PDU-Descriptions
+IVIManagementContainer::= SEQUENCE {
+ serviceProviderId Provider,
+ iviIdentificationNumber IviIdentificationNumber,
+ timeStamp TimestampIts OPTIONAL,
+ validFrom TimestampIts OPTIONAL,
+ validTo TimestampIts OPTIONAL,
+ connectedIviStructures SEQUENCE (SIZE(1..8)) OF IviIdentificationNumber OPTIONAL,
+ iviStatus IviStatus,
+ ...
+ }
+
+GeographicLocationContainer::= SEQUENCE {
+ referencePosition ReferencePosition,
+ referencePositionTime TimestampIts OPTIONAL,
+ referencePositionHeading Heading OPTIONAL,
+ referencePositionSpeed Speed OPTIONAL,
+ parts SEQUENCE (SIZE (1..16,...)) OF GlcPart,
+ ...
+ }
+
+GlcPart::= SEQUENCE {
+ zoneId Zid,
+ laneNumber LanePosition OPTIONAL,
+ zoneExtension INTEGER (0..255) OPTIONAL,
+ zoneHeading HeadingValue OPTIONAL,
+ zone Zone OPTIONAL,
+ ...
+ }
+
+GeneralIviContainer::= SEQUENCE (SIZE (1..16,...)) OF GicPart
+
+GicPart::= SEQUENCE {
+ detectionZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL,
+ its-Rrid VarLengthNumber OPTIONAL,
+ relevanceZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL,
+ direction Direction OPTIONAL,
+ driverAwarenessZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL,
+ minimumAwarenessTime INTEGER (0..255) OPTIONAL,
+ applicableLanes SEQUENCE (SIZE (1..8,...)) OF LanePosition OPTIONAL,
+ iviType IviType,
+ iviPurpose IviPurpose OPTIONAL,
+ laneStatus LaneStatus OPTIONAL,
+ vehicleCharacteristics SEQUENCE (SIZE (1..8, ...)) OF CompleteVehicleCharacteristics OPTIONAL,
+ driverCharacteristics DriverCharacteristics OPTIONAL,
+ layoutId INTEGER(1..4,...) OPTIONAL,
+ preStoredlayoutId INTEGER(1..64,...) OPTIONAL,
+ roadSignCodes SEQUENCE (SIZE (1..4,...)) OF RSCode,
+ extraText SEQUENCE (SIZE (1..4,...)) OF Text (WITH COMPONENTS {layoutComponentId, language, textContent (SIZE(1..32))}) OPTIONAL,
+ ...
+ }
+
+RoadConfigurationContainer::= SEQUENCE (SIZE (1..16,...)) OF RccPart
+
+RccPart::= SEQUENCE{
+ zoneIds SEQUENCE (SIZE (1..8,...)) OF Zid,
+ roadType RoadType,
+ laneConfiguration SEQUENCE (SIZE (1..16,...)) OF LaneInformation,
+ ...
+ }
+
+TextContainer::= SEQUENCE (SIZE (1..16,...)) OF TcPart
+
+TcPart::= SEQUENCE {
+ detectionZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL,
+ relevanceZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid,
+ direction Direction OPTIONAL,
+ driverAwarenessZoneIds SEQUENCE (SIZE (1..8,...)) OF Zid OPTIONAL,
+ minimumAwarenessTime INTEGER (0..255) OPTIONAL,
+ applicableLanes SEQUENCE (SIZE (1..8,...)) OF LanePosition OPTIONAL,
+ layoutId INTEGER(1..4,...) OPTIONAL,
+ preStoredlayoutId INTEGER(1..64,...) OPTIONAL,
+ text SEQUENCE (SIZE (1..4,...)) OF Text OPTIONAL,
+ data OCTET STRING,
+ ...
+ }
+
+LayoutContainer::=SEQUENCE{
+ layoutId INTEGER(1..4,...),
+ height INTEGER(10..73) OPTIONAL,
+ width INTEGER(10..265) OPTIONAL,
+ layoutComponents SEQUENCE SIZE (1..4,...) OF LayoutComponent,
+ ...
+ }
+
+-- Definition of Data Frames & Elements
+
+AbsolutePosition::= SEQUENCE{
+ latitude Latitude,
+ longitude Longitude
+ }
+
+AbsolutePositionWAltitude::= SEQUENCE{
+ latitude Latitude,
+ longitude Longitude,
+ altitude Altitude
+ }
+
+AnyCatalogue::=SEQUENCE{
+ owner Provider,
+ version INTEGER(0..255),
+ pictogramCode INTEGER(0..65535),
+ value INTEGER (0..65535) OPTIONAL,
+ unit RSCUnit OPTIONAL,
+ attributes ISO14823Attributes OPTIONAL
+ }
+
+ComparisonOperator ::= INTEGER {
+ greaterThan (0),
+ greaterThanOrEqualTo (1),
+ lessThan (2),
+ lessThanOrEqualTo (3)
+} (0..3)
+
+CompleteVehicleCharacteristics::= SEQUENCE{
+ tractor TractorCharacteristics OPTIONAL,
+ trailer SEQUENCE (SIZE (1..3)) OF TrailerCharacteristics OPTIONAL,
+ train TrainCharacteristics OPTIONAL
+ }
+
+ComputedSegment::= SEQUENCE {
+ zoneId Zid,
+ laneNumber LanePosition,
+ laneWidth IVILaneWidth,
+ offsetDistance INTEGER (-32768..32767) OPTIONAL,
+ offsetPosition DeltaReferencePosition OPTIONAL
+ }
+
+DeltaPosition::=SEQUENCE{
+ deltaLatitude DeltaLatitude,
+ deltaLongitude DeltaLongitude
+ }
+
+Direction::= INTEGER{
+ sameDirection (0),
+ oppositeDirection (1),
+ bothDirections (2),
+ valueNotUsed (3)
+ } (0..3)
+
+Distance::= SEQUENCE {
+ value INTEGER(1..16384),
+ unit RSCUnit (2..4|6..8)
+ }
+
+DistanceOrDuration::= SEQUENCE {
+ value INTEGER(1..16384),
+ unit RSCUnit (2..9)
+ }
+
+DriverCharacteristics::= INTEGER{
+ unexperiencedDrivers (0),
+ experiencedDrivers (1),
+ rfu1 (2),
+ rfu2 (3)
+ } (0..3)
+
+GoodsType::= INTEGER {
+ ammunition (0),
+ chemicals (1),
+ empty (2),
+ fuel (3),
+ glass (4),
+ dangerous (5),
+ liquid (6),
+ liveStock (7),
+ dangerousForPeople (8),
+ dangerousForTheEnvironment (9),
+ dangerousForWater (10),
+ perishableProducts (11),
+ pharmaceutical (12),
+ vehicles (13)
+ -- other values reserved for future use
+ } (0..15,...)
+
+
+ISO14823Attributes::= SEQUENCE (SIZE(1..8,...)) OF CHOICE{
+ dtm DTM, -- Date/Time/Period
+ edt EDT, -- Exemption status of Date/Time/Period
+ dfl DFL, -- Directional Flow of Lane
+ ved VED, -- Vehicle Dimensions
+ spe SPE, -- Speed
+ roi ROI, -- Rate of Incline
+ dbv DBV, -- Distance Between Vehicles
+ ddd DDD -- Destination/Direction/Distance
+ }
+
+ISO14823Code ::= SEQUENCE{
+ pictogramCode SEQUENCE {
+ countryCode OCTET STRING (SIZE (2)) OPTIONAL,
+ serviceCategoryCode CHOICE {
+ trafficSignPictogram ENUMERATED {dangerWarning, regulatory, informative,...},
+ publicFacilitiesPictogram ENUMERATED {publicFacilities, ...},
+ ambientOrRoadConditionPictogram ENUMERATED {ambientCondition, roadCondition,...},
+ ...},
+ pictogramCategoryCode SEQUENCE {
+ nature INTEGER (1..9),
+ serialNumber INTEGER (0..99)
+ }},
+ attributes ISO14823Attributes OPTIONAL
+ }
+
+IviIdentificationNumber::= INTEGER(1..32767,...)
+
+IviPurpose::= INTEGER {
+ safety (0),
+ environmental (1),
+ trafficOptimisation (2)
+ } (0..3)
+
+IviStatus::= INTEGER {
+ new (0),
+ update (1),
+ cancellation (2),
+ negation (3)
+ -- other values reserved for future use
+ }(0..7)
+
+IviType::= INTEGER {
+ immediateDangerWarningMessages (0),
+ regulatoryMessages (1),
+ trafficRelatedInformationMessages (2),
+ pollutionMessages (3),
+ notTrafficRelatedInformationMessages (4)
+ -- other values reserved for future use
+ } (0..7)
+
+LaneInformation::= SEQUENCE{
+ laneNumber LanePosition,
+ direction Direction,
+ validity DTM OPTIONAL,
+ laneType LaneType,
+ laneTypeQualifier CompleteVehicleCharacteristics OPTIONAL,
+ laneStatus LaneStatus,
+ laneWidth IVILaneWidth OPTIONAL,
+ ...
+ }
+
+LaneStatus::= INTEGER {
+ open (0),
+ closed (1),
+ mergeR (2),
+ mergeL (3),
+ mergeLR (4),
+ provisionallyOpen (5),
+ diverging (6)
+ -- value 7 reserved for future use
+} (0..7, ...)
+
+LaneType::= INTEGER{
+ traffic (0),
+ through (1),
+ reversible (2),
+ acceleration (3),
+ deceleration (4),
+ leftHandTurning (5),
+ rightHandTurning (6),
+ dedicatedVehicle (7),
+ bus (8),
+ taxi (9),
+ hov (10),
+ hot (11),
+ pedestrian (12),
+ bikeLane (13),
+ median (14),
+ striping (15),
+ trackedVehicle (16),
+ parking (17),
+ emergency (18),
+ verge (19)
+-- values 20 to 31 reserved for future use
+ }(0..31)
+
+-- Prefix IVI added due to naming collision with data element LaneWidth of Module DSRC
+IVILaneWidth::= INTEGER (0..1023)
+
+LayoutComponent::=SEQUENCE{
+ layoutComponentId INTEGER(1..8,...),
+ height INTEGER(10..73),
+ width INTEGER(10..265),
+ x INTEGER(10..265),
+ y INTEGER(10..73),
+ textScripting INTEGER {horizontal (0), vertical (1)}(0..1)
+ }
+
+LoadType::= SEQUENCE{
+ goodsType GoodsType,
+ dangerousGoodsType DangerousGoodsBasic,
+ specialTransportType SpecialTransportType
+ }
+
+PolygonalLine::= CHOICE {
+ deltaPositions SEQUENCE (SIZE (1..32,...)) OF DeltaPosition,
+ deltaPositionsWithAltitude SEQUENCE (SIZE (1..32,...)) OF DeltaReferencePosition,
+ absolutePositions SEQUENCE (SIZE (1..8,...)) OF AbsolutePosition,
+ absolutePositionsWithAltitude SEQUENCE (SIZE (1..8,...)) OF AbsolutePositionWAltitude,
+ ...
+ }
+
+RSCode::= SEQUENCE{
+ layoutComponentId INTEGER(1..4,...) OPTIONAL,
+ code CHOICE {
+ viennaConvention VcCode, -- see Vienna Convention Annex A
+ iso14823 ISO14823Code,
+ itisCodes INTEGER (0..65535), -- see SAE J2540
+ anyCatalogue AnyCatalogue,
+ ...
+ }}
+
+RSCUnit::= INTEGER {
+ kmperh (0),
+ milesperh (1),
+ kilometer (2),
+ meter (3),
+ decimeter (4),
+ centimeter (5),
+ mile (6),
+ yard (7),
+ foot (8),
+ minutesOfTime (9),
+ tonnes (10), --1000 kg, not Ton!
+ hundredkg (11),
+ pound (12), --lbs
+ rateOfIncline (13)
+ -- other value reserved for future use
+ } (0..15)
+
+
+Segment::= SEQUENCE {
+ line PolygonalLine,
+ laneWidth IVILaneWidth OPTIONAL
+ }
+
+Text::= SEQUENCE {
+ layoutComponentId INTEGER(1..4,...) OPTIONAL,
+ language BIT STRING (SIZE(10)),
+ textContent UTF8String
+ }
+
+TractorCharacteristics::=SEQUENCE{
+ equalTo SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues OPTIONAL,
+ notEqualTo SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues OPTIONAL,
+ ranges SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsRanges OPTIONAL
+}
+
+TrailerCharacteristics::=SEQUENCE{
+ equalTo SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues (WITH COMPONENTS {..., euroAndCo2value ABSENT, engineCharacteristics ABSENT}) OPTIONAL,
+ notEqualTo SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues (WITH COMPONENTS {..., euroAndCo2value ABSENT, engineCharacteristics ABSENT}) OPTIONAL,
+ ranges SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsRanges (WITH COMPONENTS {comparisonOperator, limits (WITH COMPONENTS {..., exhaustEmissionValues ABSENT, dieselEmissionValues ABSENT, soundLevel ABSENT})}) OPTIONAL
+ }
+
+TrainCharacteristics::= TractorCharacteristics
+
+VcClass::= INTEGER {
+ classA (0),
+ classB (1),
+ classC (2),
+ classD (3),
+ classE (4),
+ classF (5),
+ classG (6),
+ classH (7)
+ } (0..7)
+
+VcCode::= SEQUENCE {
+ roadSignClass VcClass, -- see Vienna Convention
+ roadSignCode INTEGER (1..64),
+ vcOption VcOption, -- e.g. the "a" in H, 3a
+ validity SEQUENCE (SIZE (1..8,...)) OF DTM OPTIONAL,
+ value INTEGER (0..65535) OPTIONAL,
+ unit RSCUnit OPTIONAL
+ }
+
+VcOption::= INTEGER {
+ none (0),
+ a (1),
+ b (2),
+ c (3),
+ d (4),
+ e (5),
+ f (6),
+ g (7)
+ } (0..7)
+
+VehicleCharacteristicsFixValues::= CHOICE{
+ simpleVehicleType StationType,
+ euVehicleCategoryCode EuVehicleCategoryCode,
+ iso3833VehicleType Iso3833VehicleType,
+ euroAndCo2value EnvironmentalCharacteristics,
+ engineCharacteristics EngineCharacteristics,
+ loadType LoadType,
+ usage VehicleRole,
+ ...}
+
+VehicleCharacteristicsRanges::= SEQUENCE{
+ comparisonOperator ComparisonOperator,
+ limits CHOICE{
+ numberOfAxles INTEGER(0..7),
+ vehicleDimensions VehicleDimensions,
+ vehicleWeightLimits VehicleWeightLimits,
+ axleWeightLimits AxleWeightLimits,
+ passengerCapacity PassengerCapacity,
+ exhaustEmissionValues ExhaustEmissionValues,
+ dieselEmissionValues DieselEmissionValues,
+ soundLevel SoundLevel,
+ ...}}
+
+Weight::= SEQUENCE {
+ value INTEGER(1..16384),
+ unit RSCUnit (10..12)
+ }
+
+Zid::= INTEGER (1..32,...)
+
+Zone::= CHOICE {
+ segment Segment,
+ area PolygonalLine,
+ computedSegment ComputedSegment,
+ ...
+ }
+
+-- Definition of the single ISO 14823 Attributes
+
+
+DTM ::= SEQUENCE {
+ year SEQUENCE { -- contains SYR and EYR
+ syr INTEGER(2000..2127,...),
+ eyr INTEGER(2000..2127,...)
+ } OPTIONAL,
+ month-day SEQUENCE { -- contains SMD and EMD
+ smd MonthDay,
+ emd MonthDay
+ } OPTIONAL,
+ pmd PMD OPTIONAL,
+ hourMinutes SEQUENCE { -- contains SHM and EHM
+ shm HoursMinutes,
+ ehm HoursMinutes
+ } OPTIONAL,
+ dayOfWeek DayOfWeek OPTIONAL, -- corresponds to SDY and EDY
+ period HoursMinutes OPTIONAL -- corresponds to LDM
+}
+
+MonthDay ::= SEQUENCE {
+ month INTEGER (1..12),
+ day INTEGER (1..31)
+}
+
+PMD::= BIT STRING {national-holiday (0), even-days(1), odd-days(2), market-day(3) } (SIZE (4))
+
+HoursMinutes ::= SEQUENCE {
+ hours INTEGER (0..23), -- number of hours after midnight
+ mins INTEGER (0..59) -- number of minutes after the hour
+ }
+
+-- Prefix IVI added due to naming collision with data element DayOfWeek of Module DSRC
+DayOfWeek ::= BIT STRING {unused(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6), sunday(7)} (SIZE (8))
+
+EDT ::= DTM
+
+
+
+DFL::= INTEGER {
+ sDL (1) , -- Straight Direction Only
+ sLT (2) , -- Straight and Left Turn Only
+ sRT (3) , -- Straight and Right Turn Only
+ lTO (4) , -- Left Turn Only
+ rTO (5) , -- Right Turn Only
+ cLL (6) , -- Convergence from the Left Lane
+ cRI (7) , -- Convergence from the Right Lane
+ oVL (8) -- Oncoming Vehicles Lane
+ } (1..8)
+
+VED::=SEQUENCE{
+ hei Distance OPTIONAL,
+ wid Distance OPTIONAL,
+ vln Distance OPTIONAL,
+ wei Weight OPTIONAL
+ }
+
+SPE::=SEQUENCE{
+ spm INTEGER(0..250) OPTIONAL,
+ mns INTEGER(0..250) OPTIONAL,
+ unit RSCUnit(0..1)
+ }
+
+ROI::= INTEGER(1..32)
+
+DBV::= Distance
+-- changes: from DDD_IO to DDD-IO
+DDD::= SEQUENCE{
+ dcj INTEGER(1..128) OPTIONAL,
+ dcr INTEGER(1..128)OPTIONAL,
+ tpl INTEGER(1..128)OPTIONAL,
+ ioList SEQUENCE (SIZE (1..8,...)) OF DDD-IO
+ }
+-- changes: from DDD_IO to DDD-IO
+DDD-IO::= SEQUENCE{
+ drn INTEGER(0..7),
+ dp SEQUENCE (SIZE (1..4,...)) OF DestinationPlace OPTIONAL,
+ dr SEQUENCE (SIZE (1..4,...)) OF DestinationRoad OPTIONAL,
+ rne INTEGER(1..999) OPTIONAL,
+ stnId INTEGER(1..999) OPTIONAL,
+ stnText UTF8String OPTIONAL,
+ dcp DistanceOrDuration OPTIONAL,
+ ddp DistanceOrDuration OPTIONAL
+ }
+-- changes: from DDD_DEP to DDD-DEP
+DestinationPlace::= SEQUENCE{
+ depType DDD-DEP,
+ -- Encoding problem: to be checked if the statement is ASN.1 compatible
+ -- depRSCode ISO14823Code (WITH COMPONENTS {..., attributes ABSENT}) OPTIONAL,
+ depRSCode ISO14823Code OPTIONAL,
+ depBlob OCTET STRING OPTIONAL,
+ plnId INTEGER(1..999) OPTIONAL,
+ plnText UTF8String OPTIONAL
+ }
+-- changes: from DDD_DER to DDD-DER
+DestinationRoad::=SEQUENCE{
+ derType DDD-DER,
+ ronId INTEGER(1..999) OPTIONAL,
+ ronText UTF8String OPTIONAL
+ }
+-- changes: from DDD_DER to DDD-DER
+DDD-DER::= INTEGER {
+ none (0),
+ nationalHighway (1),
+ localHighway (2),
+ tollExpresswayMotorway (3),
+ internationalHighway (4),
+ highway (5),
+ expressway (6),
+ nationalRoad (7),
+ regionalProvincialRoad (8),
+ localRoad (9),
+ motorwayJunction (10),
+ diversion (11),
+ rfu1 (12),
+ rfu2 (13),
+ rfu3 (14),
+ rfu4 (15)
+ } (0..15, ...)
+-- changes: from DDD_DEP to DDD-DEP
+DDD-DEP::= INTEGER {
+ none (0),
+ importantArea (1),
+ principalArea (2),
+ generalArea (3),
+ wellKnownPoint (4),
+ country (5),
+ city (6),
+ street (7),
+ industrialArea (8),
+ historicArea (9),
+ touristicArea (10),
+ culturalArea (11),
+ touristicRoute (12),
+ recommendedRoute (13),
+ touristicAttraction (14),
+ geographicArea (15)
+ } (0..15, ...)
+
+
+
+END
+
diff --git a/epan/dissectors/asn1/its/ISO_TS_24534-3.asn b/epan/dissectors/asn1/its/ISO_TS_24534-3.asn
new file mode 100644
index 00000000..f106babc
--- /dev/null
+++ b/epan/dissectors/asn1/its/ISO_TS_24534-3.asn
@@ -0,0 +1,86 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 24534-3:2015
+--
+-- This ASN.1 was generateds: 30.08.2016
+--
+-- This document contains only the data element needed for the encoding of an IVI message
+-- as defined in ISO TS 19321(2015)
+--
+-- Published version location:
+-- http://standards.iso.org/iso/24534/-3/
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-- ISO 24534-3:2015
+-- Version 29.4.2015
+
+
+ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)}
+
+
+DEFINITIONS AUTOMATIC TAGS ::= BEGIN
+IMPORTS;
+
+-- Electronic Registration Identification (ERI)- Vehicle Data
+
+EuVehicleCategoryCode ::= CHOICE {
+ euVehicleCategoryL EuVehicleCategoryL, -- conforms to EU 2002/24 and UNECE 1999
+ euVehicleCategoryM EuVehicleCategoryM, -- conforms to EU 2001/116 and UNECE 1999
+ euVehicleCategoryN EuVehicleCategoryN, -- conforms to EU 2001/116 and UNECE 1999
+ euVehicleCategoryO EuVehicleCategoryO, -- conforms to EU 2001/116 and UNECE 1999
+ euVehilcleCategoryT NULL, -- conforms to UNECE 1999
+ euVehilcleCategoryG NULL -- conforms to EU 2001/116 and UNECE 1999
+ }
+
+EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 }
+
+EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3}
+
+EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3}
+
+EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4}
+
+Iso3833VehicleType ::= INTEGER {
+ passengerCar (0), -- term No 3.1.1
+ saloon (1), -- term No 3.1.1.1 (sedan)
+ convertibleSaloon (2), -- term No 3.1.1.2
+ pullmanSaloon (3), -- term No 3.1.1.3
+ stationWagon (4), -- term No 3.1.1.4
+ truckStationWagon (5), -- term No 3.1.1.4.1
+ coupe (6), -- term No 3.1.1.5 (coupé)
+ convertible (7), -- term No 3.1.1.6 (open tourer, roadstar, spider)
+ multipurposePassengerCar (8), -- term No 3.1.1.7
+ forwardControlPassengerCar (9), -- term No 3.1.1.8
+ specialPassengerCar (10), -- term No 3.1.1.9
+ bus (11), -- term No 3.1.2
+ minibus (12), -- term No 3.1.2.1
+ urbanBus (13), -- term No 3.1.2.2
+ interurbanCoach (14), -- term No 3.1.2.3
+ longDistanceCoach (15), -- term No 3.1.2.4
+ articulatedBus (16), -- term No 3.1.2.5
+ trolleyBus (17), -- term No 3.1.2.6
+ specialBus (18), -- term No 3.1.2.7
+ commercialVehicle (19), -- term No 3.1.3
+ specialCommercialVehicle (20), -- term No 3.1.3.1
+ specialVehicle (21), -- term No 3.1.4
+ trailingTowingVehicle (22), -- term No 3.1.5 (draw-bar tractor)
+ semiTrailerTowingVehicle (23), -- term No 3.1.6 (fifth wheel tractor)
+ trailer (24), -- term No 3.2.1
+ busTrailer (25), -- term No 3.2.1.1
+ generalPurposeTrailer (26), -- term No 3.2.1.2
+ caravan (27), -- term No 3.2.1.3
+ specialTrailer (28), -- term No 3.2.1.4
+ semiTrailer (29), -- term No 3.2.2
+ busSemiTrailer (30), -- term No 3.2.2.1
+ generalPurposeSemiTrailer (31), -- term No 3.2.2.2
+ specialSemiTrailer (32), -- term No 3.2.2.3
+ roadTrain (33), -- term No 3.3.1
+ passengerRoadTrain (34), -- term No 3.3.2
+ articulatedRoadTrain (35), -- term No 3.3.3
+ doubleRoadTrain (36), -- term No 3.3.4
+ compositeRoadTrain (37), -- term No 3.3.5
+ specialRoadTrain (38), -- term No 3.3.6
+ moped (39), -- term No 3.4
+ motorCycle (40) -- term No 3.5
+ } (0..255)
+
+END
diff --git a/epan/dissectors/asn1/its/ITS-Container.asn b/epan/dissectors/asn1/its/ITS-Container.asn
new file mode 100644
index 00000000..a66af201
--- /dev/null
+++ b/epan/dissectors/asn1/its/ITS-Container.asn
@@ -0,0 +1,515 @@
+ITS-Container {
+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ -- Wireshark modification
+ CauseCode
+ FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
+
+;
+
+ItsPduHeader ::= SEQUENCE {
+ protocolVersion INTEGER (0..255),
+ messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11), saem(12), rtcmem(13), cpm(14),
+ imzm(15), vam(16),dsm(17), pcim(18), pcvm(19), mcm(20), pam(21) } (0..255), -- Mantis #7209, #7005
+ stationID StationID
+}
+
+StationID ::= INTEGER(0..4294967295)
+
+ReferencePosition ::= SEQUENCE {
+ latitude Latitude,
+ longitude Longitude,
+ positionConfidenceEllipse PosConfidenceEllipse ,
+ altitude Altitude
+}
+
+DeltaReferencePosition ::= SEQUENCE {
+ deltaLatitude DeltaLatitude,
+ deltaLongitude DeltaLongitude,
+ deltaAltitude DeltaAltitude
+}
+
+Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001)} (-1800000000..1800000001)
+
+Latitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unavailable(900000001)} (-900000000..900000001)
+
+Altitude ::= SEQUENCE {
+ altitudeValue AltitudeValue,
+ altitudeConfidence AltitudeConfidence
+}
+
+AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-100000..800001)
+
+AltitudeConfidence ::= ENUMERATED {
+ alt-000-01 (0),
+ alt-000-02 (1),
+ alt-000-05 (2),
+ alt-000-10 (3),
+ alt-000-20 (4),
+ alt-000-50 (5),
+ alt-001-00 (6),
+ alt-002-00 (7),
+ alt-005-00 (8),
+ alt-010-00 (9),
+ alt-020-00 (10),
+ alt-050-00 (11),
+ alt-100-00 (12),
+ alt-200-00 (13),
+ outOfRange (14),
+ unavailable (15)
+}
+
+DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(131072)} (-131071..131072)
+
+DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , unavailable(131072)} (-131071..131072)
+
+DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavailable(12800)} (-12700..12800)
+
+PosConfidenceEllipse ::= SEQUENCE {
+ semiMajorConfidence SemiAxisLength,
+ semiMinorConfidence SemiAxisLength,
+ semiMajorOrientation HeadingValue
+}
+
+PathPoint ::= SEQUENCE {
+ pathPosition DeltaReferencePosition,
+ pathDeltaTime PathDeltaTime OPTIONAL
+}
+
+PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...)
+
+PtActivation ::= SEQUENCE {
+ ptActivationType PtActivationType,
+ ptActivationData PtActivationData
+}
+
+PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255)
+
+PtActivationData ::= OCTET STRING (SIZE(1..20))
+
+--AccelerationControl ::= BIT STRING {
+-- brakePedalEngaged (0),
+-- gasPedalEngaged (1),
+-- emergencyBrakeEngaged (2),
+-- collisionWarningEngaged (3),
+-- accEngaged (4),
+-- cruiseControlEngaged (5),
+-- speedLimiterEngaged (6)
+--} (SIZE(7))
+
+SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095)
+
+-- WS Modification
+--CauseCode ::= SEQUENCE {
+-- causeCode CauseCodeType,
+-- subCauseCode SubCauseCodeType,
+-- ...
+-- }
+
+-- WS Modification
+--CauseCodeType ::= INTEGER {
+-- reserved (0),
+-- trafficCondition (1),
+-- accident (2),
+-- roadworks (3),
+-- impassability (5),
+-- adverseWeatherCondition-Adhesion (6),
+-- aquaplaning (7),
+-- hazardousLocation-SurfaceCondition (9),
+-- hazardousLocation-ObstacleOnTheRoad (10),
+-- hazardousLocation-AnimalOnTheRoad (11),
+-- humanPresenceOnTheRoad (12),
+-- wrongWayDriving (14),
+-- rescueAndRecoveryWorkInProgress (15),
+-- adverseWeatherCondition-ExtremeWeatherCondition (17),
+-- adverseWeatherCondition-Visibility (18),
+-- adverseWeatherCondition-Precipitation (19),
+-- violence (20),
+-- slowVehicle (26),
+-- dangerousEndOfQueue (27),
+-- vehicleBreakdown (91),
+-- postCrash (92),
+-- humanProblem (93),
+-- stationaryVehicle (94),
+-- emergencyVehicleApproaching (95),
+-- hazardousLocation-DangerousCurve (96),
+-- collisionRisk (97),
+-- signalViolation (98),
+-- dangerousSituation (99),
+-- railwayLevelCrossing (100)
+--} (0..255)
+
+-- SubCauseCodeType ::= INTEGER (0..255)
+
+ TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8)} (0..255)
+
+ AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255)
+
+ RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255)
+
+ HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255)
+
+ WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255)
+
+ AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255)
+
+ AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255)
+
+ AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)} (0..255)
+
+ AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1), heavySnowfall(2), softHail(3)} (0..255)
+
+ SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8)} (0..255)
+
+ StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255)
+
+ HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255)
+
+ EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2)} (0..255)
+
+ HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255)
+
+ HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9)} (0..255)
+
+ HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)} (0..255)
+
+ HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255)
+
+ CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255)
+
+ SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3)} (0..255)
+
+ RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5)} (0..255)
+
+ DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2), queueAroundBend(3), queueInTunnel(4)} (0..255)
+
+ DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255)
+
+ VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8), tyrePressureProblem(9)} (0..255)
+
+ PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255)
+-- Curvature ::= SEQUENCE {
+-- curvatureValue CurvatureValue,
+-- curvatureConfidence CurvatureConfidence
+--}
+
+-- CurvatureValue ::= INTEGER {straight(0), unavailable(1023)} (-1023..1023)
+
+--CurvatureConfidence ::= ENUMERATED {
+-- onePerMeter-0-00002 (0),
+-- onePerMeter-0-0001 (1),
+-- onePerMeter-0-0005 (2),
+-- onePerMeter-0-002 (3),
+-- onePerMeter-0-01 (4),
+-- onePerMeter-0-1 (5),
+-- outOfRange (6),
+-- unavailable (7)
+--}
+
+-- CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...}
+
+Heading ::= SEQUENCE {
+ headingValue HeadingValue,
+ headingConfidence HeadingConfidence
+}
+
+HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601)
+
+HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10), outOfRange(126), unavailable(127)} (1..127)
+LanePosition::= INTEGER {offTheRoad(-1), innerHardShoulder(0), innermostDrivingLane(1), secondLaneFromInside(2), outerHardShoulder(14)} (-1..14)
+
+ClosedLanes ::= SEQUENCE {
+ innerhardShoulderStatus HardShoulderStatus OPTIONAL,
+ outerhardShoulderStatus HardShoulderStatus OPTIONAL,
+ drivingLaneStatus DrivingLaneStatus OPTIONAL,
+ ...
+}
+
+HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)}
+
+DrivingLaneStatus ::= BIT STRING (SIZE (1..13))
+
+PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7)
+
+SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383)
+
+SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100), outOfRange(126), unavailable(127)} (1..127)
+
+VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024)
+
+Speed ::= SEQUENCE {
+ speedValue SpeedValue,
+ speedConfidence SpeedConfidence
+}
+
+-- DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)}
+
+EmbarkationStatus ::= BOOLEAN
+
+--LongitudinalAcceleration ::= SEQUENCE {
+-- longitudinalAccelerationValue LongitudinalAccelerationValue,
+-- longitudinalAccelerationConfidence AccelerationConfidence
+--}
+
+--LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161)
+
+--AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102)
+
+--LateralAcceleration ::= SEQUENCE {
+-- lateralAccelerationValue LateralAccelerationValue,
+-- lateralAccelerationConfidence AccelerationConfidence
+--}
+
+--LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161)
+
+--VerticalAcceleration ::= SEQUENCE {
+-- verticalAccelerationValue VerticalAccelerationValue,
+-- verticalAccelerationConfidence AccelerationConfidence
+--}
+
+--VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161)
+
+StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255)
+
+ExteriorLights ::= BIT STRING {
+ lowBeamHeadlightsOn (0),
+ highBeamHeadlightsOn (1),
+ leftTurnSignalOn (2),
+ rightTurnSignalOn (3),
+ daytimeRunningLightsOn (4),
+ reverseLightOn (5),
+ fogLightOn (6),
+ parkingLightsOn (7)
+} (SIZE(8))
+
+DangerousGoodsBasic::= ENUMERATED {
+ explosives1(0),
+ explosives2(1),
+ explosives3(2),
+ explosives4(3),
+ explosives5(4),
+ explosives6(5),
+ flammableGases(6),
+ nonFlammableGases(7),
+ toxicGases(8),
+ flammableLiquids(9),
+ flammableSolids(10),
+ substancesLiableToSpontaneousCombustion(11),
+ substancesEmittingFlammableGasesUponContactWithWater(12),
+ oxidizingSubstances(13),
+ organicPeroxides(14),
+ toxicSubstances(15),
+ infectiousSubstances(16),
+ radioactiveMaterial(17),
+ corrosiveSubstances(18),
+ miscellaneousDangerousSubstances(19)
+}
+
+--DangerousGoodsExtended ::= SEQUENCE {
+-- dangerousGoodsType DangerousGoodsBasic,
+-- unNumber INTEGER (0..9999),
+-- elevatedTemperature BOOLEAN,
+-- tunnelsRestricted BOOLEAN,
+-- limitedQuantity BOOLEAN,
+-- emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL,
+-- phoneNumber PhoneNumber OPTIONAL,
+-- companyName UTF8String (SIZE (1..24)) OPTIONAL,
+-- ...
+--}
+
+SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4))
+
+LightBarSirenInUse ::= BIT STRING {
+ lightBarActivated (0),
+ sirenActivated (1)
+} (SIZE(2))
+
+--HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100)
+
+--PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127)
+
+--PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30)
+
+-- PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63)
+
+-- RequestResponseIndication ::= ENUMERATED {request(0), response(1)}
+
+SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255)
+
+-- StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)}
+
+--Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1), equalOrGreaterThan67Deg(67)} (-60..67)
+
+TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ... }
+
+-- WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127)
+
+--TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255)
+
+-- PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20)
+
+--PositionOfOccupants ::= BIT STRING {
+-- row1LeftOccupied (0),
+-- row1RightOccupied (1),
+-- row1MidOccupied (2),
+-- row1NotDetectable (3),
+-- row1NotPresent (4),
+-- row2LeftOccupied (5),
+-- row2RightOccupied (6),
+-- row2MidOccupied (7),
+-- row2NotDetectable (8),
+-- row2NotPresent (9),
+-- row3LeftOccupied (10),
+-- row3RightOccupied (11),
+-- row3MidOccupied (12),
+-- row3NotDetectable (13),
+-- row3NotPresent (14),
+-- row4LeftOccupied (15),
+-- row4RightOccupied (16),
+-- row4MidOccupied (17),
+-- row4NotDetectable (18),
+-- row4NotPresent (19)
+--} (SIZE(20))
+
+-- PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...}
+
+--VehicleIdentification ::= SEQUENCE {
+-- wMInumber WMInumber OPTIONAL,
+-- vDS VDS OPTIONAL,
+-- ...
+--}
+
+--WMInumber ::= IA5String (SIZE(1..3))
+
+--VDS ::= IA5String (SIZE(6))
+
+-- EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7))
+
+--VehicleLength ::= SEQUENCE {
+-- vehicleLengthValue VehicleLengthValue,
+-- vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication
+--}
+
+--VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)} (1..1023)
+
+--VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)}
+
+--VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62)
+
+PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint
+
+EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2))
+
+InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7)
+
+RoadType ::= ENUMERATED {
+ urban-NoStructuralSeparationToOppositeLanes(0),
+ urban-WithStructuralSeparationToOppositeLanes(1),
+ nonUrban-NoStructuralSeparationToOppositeLanes(2),
+ nonUrban-WithStructuralSeparationToOppositeLanes(3)
+}
+
+SteeringWheelAngle ::= SEQUENCE {
+ steeringWheelAngleValue SteeringWheelAngleValue,
+ steeringWheelAngleConfidence SteeringWheelAngleConfidence
+}
+
+SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512)
+
+SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), outOfRange(126), unavailable(127)} (1..127)
+
+TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103)
+
+VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7), agriculture(8), commercial(9), military(10), roadOperator(11), taxi(12), reserved1(13), reserved2(14), reserved3(15)}
+
+YawRate::= SEQUENCE {
+ yawRateValue YawRateValue,
+ yawRateConfidence YawRateConfidence
+}
+
+YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767)} (-32766..32767)
+
+YawRateConfidence ::= ENUMERATED {
+ degSec-000-01 (0),
+ degSec-000-05 (1),
+ degSec-000-10 (2),
+ degSec-001-00 (3),
+ degSec-005-00 (4),
+ degSec-010-00 (5),
+ degSec-100-00 (6),
+ outOfRange (7),
+ unavailable (8)
+}
+
+ProtectedZoneType::= ENUMERATED { permanentCenDsrcTolling (0), ..., temporaryCenDsrcTolling (1) }
+
+-- RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)}
+
+-- RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1), downstreamTraffic(2), oppositeTraffic(3)}
+
+-- TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000)
+
+-- ValidityDuration ::= INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400)
+
+ActionID ::= SEQUENCE {
+ originatingStationID StationID,
+ sequenceNumber SequenceNumber
+}
+
+-- ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition
+
+ProtectedCommunicationZone ::= SEQUENCE {
+ protectedZoneType ProtectedZoneType,
+ expiryTime TimestampIts OPTIONAL,
+ protectedZoneLatitude Latitude,
+ protectedZoneLongitude Longitude,
+ protectedZoneRadius ProtectedZoneRadius OPTIONAL,
+ protectedZoneID ProtectedZoneID OPTIONAL,
+ ...
+}
+
+-- Traces ::= SEQUENCE SIZE(1..7) OF PathHistory
+
+-- NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127)
+
+SequenceNumber ::= INTEGER (0..65535)
+
+-- PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar
+
+-- RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType
+
+--EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint
+
+--EventPoint ::= SEQUENCE {
+-- eventPosition DeltaReferencePosition,
+-- eventDeltaTime PathDeltaTime OPTIONAL,
+-- informationQuality InformationQuality
+--}
+
+ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone
+
+CenDsrcTollingZone ::= SEQUENCE {
+ protectedZoneLatitude Latitude,
+ protectedZoneLongitude Longitude,
+ cenDsrcTollingZoneID CenDsrcTollingZoneID OPTIONAL,
+ ...
+}
+
+ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...)
+
+ProtectedZoneID ::= INTEGER (0.. 134217727)
+
+CenDsrcTollingZoneID ::= ProtectedZoneID
+
+DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition
+
+OpeningDaysHours ::= UTF8String
+
+PhoneNumber ::= NumericString (SIZE(1..16))
+END
diff --git a/epan/dissectors/asn1/its/ITS-ContainerV1.asn b/epan/dissectors/asn1/its/ITS-ContainerV1.asn
new file mode 100644
index 00000000..779a9648
--- /dev/null
+++ b/epan/dissectors/asn1/its/ITS-ContainerV1.asn
@@ -0,0 +1,464 @@
+-- https://www.etsi.org/deliver/etsi_ts/102800_102899/10289402/01.02.01_60/ts_10289402v010201p.pdf
+--
+ITS-ContainerV1 {
+itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)
+}
+ DEFINITIONS AUTOMATIC TAGS ::=
+ BEGIN
+-- Use the def from V2
+-- ItsPduHeaderV1 ::= SEQUENCE {
+-- protocolVersion INTEGER{currentVersion(1)} (0..255),
+-- messageID INTEGER{denm(1),cam(2), poi(3), spat(4), map(5), ivi(6), ev-rsr(7)} (0..255),
+-- stationID StationID
+-- }
+ StationID ::= INTEGER(0..4294967295)
+ ReferencePosition ::= SEQUENCE {
+ latitude Latitude,
+ longitude Longitude,
+ positionConfidenceEllipse PosConfidenceEllipse ,
+ altitude Altitude
+ }
+ DeltaReferencePosition ::= SEQUENCE {
+ deltaLatitude DeltaLatitude,
+ deltaLongitude DeltaLongitude,
+ deltaAltitude DeltaAltitude
+ }
+ Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001)}
+ (-1800000000..1800000001)
+ Latitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unavailable(900000001)}
+ (-900000000..900000001)
+ Altitude ::= SEQUENCE {
+ altitudeValue AltitudeValue,
+ altitudeConfidence AltitudeConfidence
+ }
+ AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-
+ 100000..800001)
+ AltitudeConfidence ::= ENUMERATED {
+ alt-000-01 (0),
+ alt-000-02 (1),
+ alt-000-05 (2),
+ alt-000-10 (3),
+ alt-000-20 (4),
+ alt-000-50 (5),
+ alt-001-00 (6),
+ alt-002-00 (7),
+ alt-005-00 (8),
+ alt-010-00 (9),
+ alt-020-00 (10),
+ alt-050-00 (11),
+ alt-100-00 (12),
+ alt-200-00 (13),
+ outOfRange (14),
+ unavailable (15)
+ }
+ DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(131072)}
+ (-131071..131072)
+ DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) ,
+ unavailable(131072)} (-131071..131072)
+ DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavailable(12800)} (-
+ 12700..12800)
+
+ PosConfidenceEllipse ::= SEQUENCE {
+ semiMajorConfidence SemiAxisLength,
+ semiMinorConfidence SemiAxisLength,
+ semiMajorOrientation HeadingValue
+ }
+ PathPoint ::= SEQUENCE {
+ pathPosition DeltaReferencePosition,
+ pathDeltaTime PathDeltaTime OPTIONAL
+ }
+ PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...)
+ PtActivation ::= SEQUENCE {
+ ptActivationType PtActivationType,
+ ptActivationData PtActivationData
+ }
+ PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)}
+ (0..255)
+ PtActivationData ::= OCTET STRING (SIZE(1..20))
+ AccelerationControl ::= BIT STRING {
+ brakePedalEngaged (0),
+ gasPedalEngaged (1),
+ emergencyBrakeEngaged (2),
+ collisionWarningEngaged (3),
+ accEngaged (4),
+ cruiseControlEngaged (5),
+ speedLimiterEngaged (6)
+ } (SIZE(7))
+
+ SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095)
+
+ CauseCode ::= SEQUENCE {
+ causeCode CauseCodeTypeV1,
+ subCauseCode SubCauseCodeTypeV1
+ }
+
+ CauseCodeTypeV1 ::= INTEGER {
+ reserved (0),
+ trafficCondition (1),
+ accident (2),
+ roadworks (3),
+ adverseWeatherCondition-Adhesion (6),
+ hazardousLocation-SurfaceCondition (9),
+ hazardousLocation-ObstacleOnTheRoad (10),
+ hazardousLocation-AnimalOnTheRoad (11),
+ humanPresenceOnTheRoad (12),
+ wrongWayDriving (14),
+ rescueAndRecoveryWorkInProgress (15),
+ adverseWeatherCondition-ExtremeWeatherCondition (17),
+ adverseWeatherCondition-Visibility (18),
+ adverseWeatherCondition-Precipitation (19),
+ slowVehicle (26),
+ dangerousEndOfQueue (27),
+ vehicleBreakdown (91),
+ postCrash (92),
+ humanProblem (93),
+ stationaryVehicle (94),
+ emergencyVehicleApproaching (95),
+ hazardousLocation-DangerousCurve (96),
+ collisionRisk (97),
+ signalViolation (98),
+ dangerousSituation (99)
+ } (0..255)
+
+ SubCauseCodeTypeV1 ::= INTEGER (0..255)
+-- Wireshark modification comment out the subCauses the ones from V2 will be used.
+-- TrafficConditionSubCauseCode ::= INTEGER {
+-- unavailable(0),
+-- increasedVolumeOfTraffic(1),
+-- trafficJamSlowlyIncreasing(2),
+-- trafficJamIncreasing(3),
+-- trafficJamStronglyIncreasing(4),
+-- trafficStationary(5),
+-- trafficJamSlightlyDecreasing(6),
+-- trafficJamDecreasing(7),
+-- trafficJamStronglyDecreasing(8)
+-- } (0..255)
+
+-- AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2),
+-- accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5),
+-- accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255)
+ RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2),
+ slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)}
+ (0..255)
+
+-- HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1),
+-- cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255)
+
+-- WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255)
+
+-- AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0),
+-- strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255)
+
+-- AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1),
+-- fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7),
+-- looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255)
+-- AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2),
+-- heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)}
+-- (0..255)
+-- AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1),
+-- heavySnowfall(2), softHail(3)} (0..255)
+-- SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1),
+-- vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6),
+-- deicing(7), saltingVehicles(8)} (0..255)
+
+-- StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2),
+-- postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255)
+-- HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255)
+-- EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1),
+-- prioritizedVehicleApproaching(2)} (0..255)
+-- HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1),
+-- dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3),
+-- multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255)
+-- HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1),
+-- earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7),
+-- volcanoEruption(8), fallingIce(9)} (0..255)
+-- HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1),
+-- partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)}
+-- (0..255)
+-- HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1),
+-- herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255)
+-- CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1),
+-- crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255)
+
+-- SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1),
+-- trafficLightViolation(2), turningRegulationViolation(3)} (0..255)
+-- RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1),
+-- rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4),
+-- childAbductionInProgress(5)} (0..255)
+-- DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2),
+-- queueAroundBend(3), queueInTunnel(4)} (0..255)
+-- DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1),
+-- preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6),
+-- collisionRiskWarningEngaged(7)} (0..255)
+-- VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2),
+-- engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6),
+-- steeringProblem(7), tyrePuncture(8)} (0..255)
+
+-- PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1),
+-- accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3),
+-- accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255)
+
+ Curvature ::= SEQUENCE {
+ curvatureValue CurvatureValue,
+ curvatureConfidence CurvatureConfidence
+ }
+ CurvatureValue ::= INTEGER {straight(0), reciprocalOf1MeterRadiusToRight(-30000),
+ reciprocalOf1MeterRadiusToLeft(30000), unavailable(30001)} (-30000..30001)
+ CurvatureConfidence ::= ENUMERATED {
+ onePerMeter-0-00002 (0),
+ onePerMeter-0-0001 (1),
+ onePerMeter-0-0005 (2),
+ onePerMeter-0-002 (3),
+ onePerMeter-0-01 (4),
+ onePerMeter-0-1 (5),
+ outOfRange (6),
+ unavailable (7)
+ }
+ CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...}
+ Heading ::= SEQUENCE {
+ headingValue HeadingValue,
+ headingConfidence HeadingConfidence
+ }
+ HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700),
+ unavailable(3601)} (0..3601)
+ HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10),
+ outOfRange(126), unavailable(127)} (1..127)
+ LanePosition::= INTEGER {offTheRoad(-1), hardShoulder(0),
+ outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14)
+ ClosedLanes ::= SEQUENCE {
+ hardShoulderStatus HardShoulderStatus OPTIONAL,
+ drivingLaneStatus DrivingLaneStatus,
+ ...
+ }
+ HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)}
+ DrivingLaneStatus ::= BIT STRING {outermostLaneClosed(1), secondLaneFromOutsideClosed(2)} (SIZE
+ (1..14))
+ PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7)
+ SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383)
+ SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100),
+ outOfRange(126), unavailable(127)} (1..127)
+ VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024)
+ Speed ::= SEQUENCE {
+ speedValue SpeedValue,
+ speedConfidence SpeedConfidence
+ }
+ DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)}
+ EmbarkationStatus ::= BOOLEAN
+ LongitudinalAcceleration ::= SEQUENCE {
+ longitudinalAccelerationValue LongitudinalAccelerationValue,
+ longitudinalAccelerationConfidence AccelerationConfidence
+ }
+ LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1),
+ pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161)
+ AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101),
+ unavailable(102)} (0 .. 102)
+
+ LateralAcceleration ::= SEQUENCE {
+ lateralAccelerationValue LateralAccelerationValue,
+ lateralAccelerationConfidence AccelerationConfidence
+ }
+ LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1),
+ pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161)
+ VerticalAcceleration ::= SEQUENCE {
+ verticalAccelerationValue VerticalAccelerationValue,
+ verticalAccelerationConfidence AccelerationConfidence
+ }
+
+ VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1),
+ pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161)
+ StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4),
+ passengerCar(5), bus(6),
+ lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255)
+ ExteriorLights ::= BIT STRING {
+ lowBeamHeadlightsOn (0),
+ highBeamHeadlightsOn (1),
+ leftTurnSignalOn (2),
+ rightTurnSignalOn (3),
+ daytimeRunningLightsOn (4),
+ reverseLightOn (5),
+ fogLightOn (6),
+ parkingLightsOn (7)
+ } (SIZE(8))
+
+ DangerousGoodsBasic::= ENUMERATED {
+ explosives1(0),
+ explosives2(1),
+ explosives3(2),
+ explosives4(3),
+ explosives5(4),
+ explosives6(5),
+ flammableGases(6),
+ nonFlammableGases(7),
+ toxicGases(8),
+ flammableLiquids(9),
+ flammableSolids(10),
+ substancesLiableToSpontaneousCombustion(11),
+ substancesEmittingFlammableGasesUponContactWithWater(12),
+ oxidizingSubstances(13),
+ organicPeroxides(14),
+ toxicSubstances(15),
+ infectiousSubstances(16),
+ radioactiveMaterial(17),
+ corrosiveSubstances(18),
+ miscellaneousDangerousSubstances(19)
+ }
+
+ DangerousGoodsExtended ::= SEQUENCE {
+ dangerousGoodsType DangerousGoodsBasic,
+ unNumber INTEGER (0..9999),
+ elevatedTemperature BOOLEAN,
+ tunnelsRestricted BOOLEAN,
+ limitedQuantity BOOLEAN,
+ emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL,
+ phoneNumber IA5String (SIZE (1..24)) OPTIONAL,
+ companyName UTF8String (SIZE (1..24)) OPTIONAL
+ }
+
+ SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)}
+ (SIZE(4))
+ LightBarSirenInUse ::= BIT STRING {
+ lightBarActivated (0),
+ sirenActivated (1)
+ } (SIZE(2))
+ HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100)
+ PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127)
+ PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30)
+ PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63)
+ RequestResponseIndication ::= ENUMERATED {request(0), response(1)}
+ SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255)
+ StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2),
+ equalOrGreater15Minutes(3)}
+ Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1),
+ equalOrGreaterThan67Deg(67)} (-60..67)
+ TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ...
+ }
+ WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127)
+ TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255)
+ PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20)
+ PositionOfOccupants ::= BIT STRING {
+ row1LeftOccupied (0),
+ row1RightOccupied (1),
+ row1MidOccupied (2),
+ row1NotDetectable (3),
+ row1NotPresent (4),
+ row2LeftOccupied (5),
+ row2RightOccupied (6),
+ row2MidOccupied (7),
+ row2NotDetectable (8),
+ row2NotPresent (9),
+ row3LeftOccupied (10),
+ row3RightOccupied (11),
+ row3MidOccupied (12),
+ row3NotDetectable (13),
+ row3NotPresent (14),
+ row4LeftOccupied (15),
+ row4RightOccupied (16),
+ row4MidOccupied (17),
+ row4NotDetectable (18),
+ row4NotPresent (19)} (SIZE(20))
+ PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2),
+ sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...}
+ VehicleIdentification ::= SEQUENCE {
+ wMInumber WMInumber OPTIONAL,
+ vDS VDS OPTIONAL,
+ ...
+ }
+ WMInumber ::= IA5String (SIZE(1..3))
+ VDS ::= IA5String (SIZE(6))
+ EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2),
+ compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7))
+ VehicleLength ::= SEQUENCE {
+ vehicleLengthValue VehicleLengthValue,
+ vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication
+ }
+ VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)} (1..1023)
+ VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0),
+ trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3),
+ unavailable(4)}
+ VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62)
+ PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint
+
+ EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)}
+ (SIZE(2))
+ InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7)
+ RoadType ::= ENUMERATED {
+ urban-NoStructuralSeparationToOppositeLanes(0),
+ urban-WithStructuralSeparationToOppositeLanes(1),
+ nonUrban-NoStructuralSeparationToOppositeLanes(2),
+ nonUrban-WithStructuralSeparationToOppositeLanes(3)}
+ SteeringWheelAngle ::= SEQUENCE {
+ steeringWheelAngleValue SteeringWheelAngleValue,
+ steeringWheelAngleConfidence SteeringWheelAngleConfidence
+ }
+ SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1),
+ onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512)
+ SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), outOfRange(126),
+ unavailable(127)} (1..127)
+ TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103)
+ VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3),
+ roadWork(4), rescue(5), emergency(6), safetyCar(7),
+ agriculture(8),commercial(9),military(10),roadOperator(11),taxi(12), reserved1(13), reserved2(14),
+ reserved3(15)}
+ YawRate::= SEQUENCE {
+ yawRateValue YawRateValue,
+ yawRateConfidence YawRateConfidence
+ }
+ YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1),
+ unavailable(32767)} (-32766..32767)
+ YawRateConfidence ::= ENUMERATED {
+ degSec-000-01 (0),
+ degSec-000-05 (1),
+ degSec-000-10 (2),
+ degSec-001-00 (3),
+ degSec-005-00 (4),
+ degSec-010-00 (5),
+ degSec-100-00 (6),
+ outOfRange (7),
+ unavailable (8)
+ }
+ ProtectedZoneType::= ENUMERATED {
+ cenDsrcTolling (0),
+ ...
+ }
+ RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3),
+ lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)}
+ RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1),
+ downstreamTraffic(2), oppositeTraffic(3)}
+ TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000)
+ ValidityDuration ::= INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400)
+ ActionID ::= SEQUENCE {
+ originatingStationID StationID,
+ sequenceNumber SequenceNumber
+ }
+ ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition
+
+ ProtectedCommunicationZone ::= SEQUENCE {
+ protectedZoneType ProtectedZoneType,
+ expiryTime TimestampIts OPTIONAL,
+ protectedZoneLatitude Latitude,
+ protectedZoneLongitude Longitude,
+ protectedZoneRadius ProtectedZoneRadius OPTIONAL,
+ protectedZoneID ProtectedZoneID OPTIONAL
+ }
+ Traces ::= SEQUENCE SIZE(1..7) OF PathHistory
+ NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127)
+ SequenceNumber ::= INTEGER (0..65535)
+ PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar
+ RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType
+ EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint
+ EventPoint ::= SEQUENCE {
+ eventPosition DeltaReferencePosition,
+ eventDeltaTime PathDeltaTime OPTIONAL,
+ informationQuality InformationQuality
+ }
+ ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone
+ CenDsrcTollingZone ::= SEQUENCE {
+ protectedZoneLatitude Latitude,
+ protectedZoneLongitude Longitude,
+ cenDsrcTollingZoneID CenDsrcTollingZoneID OPTIONAL
+ }
+ ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...)
+ ProtectedZoneID ::= INTEGER (0.. 134217727)
+ CenDsrcTollingZoneID ::= ProtectedZoneID
+
+END
diff --git a/epan/dissectors/asn1/its/TIS_TPG_Transactions_Descriptions.asn b/epan/dissectors/asn1/its/TIS_TPG_Transactions_Descriptions.asn
new file mode 100644
index 00000000..b4df4800
--- /dev/null
+++ b/epan/dissectors/asn1/its/TIS_TPG_Transactions_Descriptions.asn
@@ -0,0 +1,347 @@
+-- TIS-TPG Transactions message definitions
+-- ASN.1 Start Definition
+
+TIS-TPG-Transactions-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) itsDomain (5)
+wg1 (1) i2vApplications (101556) tpms (2) transactions (1) version (1)}
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+CauseCode, ItsPduHeader, ReferencePosition, Speed, Heading, TimestampIts, StationID, PhoneNumber, OpeningDaysHours, DigitalMap -- PATCH
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
+;
+
+
+
+-- Root Message PDU: TisTpgTransactionsPdu
+
+TisTpgTransactionsPdu ::= SEQUENCE {
+ header ItsPduHeader,
+ tisTpgTransaction TisTpgTransaction
+}
+
+TisTpgTransaction ::= CHOICE {
+ drm TisTpgDRM,
+ snm TisTpgSNM,
+ trm TisTpgTRM,
+ tcm TisTpgTCM,
+ vdrm TisTpgVDRM,
+ vdpm TisTpgVDPM,
+ eofm TisTpgEOFM
+}
+
+-- TisTpgDRM
+
+TisTpgDRM ::= SEQUENCE {
+ management TisTpgDRM-Management,
+ situation TisTpgDRM-Situation,
+ location TisTpgDRM-Location,
+ ...
+}
+
+TisTpgDRM-Management ::= SEQUENCE {
+ generationTime TimestampIts,
+ vehicleType UNVehicleClassifcation,
+ costumerContract CustomerContract OPTIONAL,
+ tisProfile TisProfile,
+ ...
+}
+
+TisTpgDRM-Situation ::= SEQUENCE {
+ causeCode CauseCode,
+ ...
+}
+
+TisTpgDRM-Location ::= SEQUENCE {
+ vehiclePosition ReferencePosition,
+ vehicleSpeed Speed,
+ vehicleHeading Heading,
+ requestedPosition ReferencePosition OPTIONAL,
+ searchRange SearchRange OPTIONAL,
+ searchCondition SearchCondition OPTIONAL,
+ ...
+}
+
+-- TisTpgSNM
+
+TisTpgSNM ::= SEQUENCE {
+ management TisTpgSNM-Management,
+ tpgContainer TpgNotifContainer
+}
+
+TisTpgSNM-Management ::= SEQUENCE {
+ generationTime TimestampIts,
+ totalTpgStations TotalTpgStations,
+ ...
+}
+
+-- TisTpgTRM
+
+TisTpgTRM ::= SEQUENCE {
+ management TisTpgTRM-Management,
+ situation TisTpgTRM-Situation OPTIONAL,
+ location TisTpgTRM-Location OPTIONAL,
+ ...
+}
+
+TisTpgTRM-Management ::= SEQUENCE {
+ generationTime TimestampIts,
+ vehicleType UNVehicleClassifcation,
+ tpgStationID StationID,
+ reservationStatus ReservationStatus,
+ costumercontract CustomerContract OPTIONAL,
+ reservationID ReservationID OPTIONAL,
+ ...
+}
+
+TisTpgTRM-Situation ::= SEQUENCE {
+ estArrivalTime TimestampIts,
+ proposedPairingID PairingID OPTIONAL
+}
+
+TisTpgTRM-Location ::= SEQUENCE {
+ vehiclePosition ReferencePosition,
+ vehicleSpeed Speed,
+ vehicleHeading Heading,
+ ...
+}
+
+-- TisTpgTCM
+
+TisTpgTCM ::= SEQUENCE {
+ management TisTpgTCM-Management,
+ situation TisTpgTCM-Situation OPTIONAL,
+ location TisTpgTCM-Location OPTIONAL,
+ ...
+}
+
+TisTpgTCM-Management ::= SEQUENCE {
+ generationTime TimestampIts,
+ tpgStationID StationID,
+ reservationStatus ReservationStatus,
+ reservedTpg INTEGER(1..65535) OPTIONAL,
+ costumercontract CustomerContract OPTIONAL,
+ reservationID ReservationID OPTIONAL,
+ tpgAutomationLevel TpgAutomation OPTIONAL,
+ ...
+}
+
+TisTpgTCM-Situation::= SEQUENCE {
+ pairingID PairingID OPTIONAL,
+ reservationTimeLimit TimestampIts,
+ cancellationCondition CancellationCondition OPTIONAL,
+ ...
+}
+
+TisTpgTCM-Location::= SEQUENCE {
+ tpgLocation ReferencePosition OPTIONAL,
+ address UTF8String(SIZE(1..128)) OPTIONAL,
+ ...
+}
+
+-- TisTpgVDRM
+
+TisTpgVDRM ::= SEQUENCE {
+ management TisTpgVDRM-Management,
+ ...
+}
+
+TisTpgVDRM-Management ::= SEQUENCE {
+ generationTime TimestampIts,
+ fillingStatus FillingStatus,
+ automationLevel TpgAutomation,
+ pairingID PairingID OPTIONAL,
+ ...
+}
+
+-- TisTpgVDPM
+
+TisTpgVDPM ::= SEQUENCE {
+ management TisTpgVDPM-Management,
+ placardTable PlacardTable,
+ vehicleSpecificData VehicleSpecificData OPTIONAL,
+ ...
+}
+
+TisTpgVDPM-Management ::= SEQUENCE {
+ generationTime TimestampIts,
+ tisProfile TisProfile OPTIONAL,
+ language Language,
+ vehicleType UNVehicleClassifcation,
+ tyreTempCondition TyreTempCondition,
+ fillingStatus FillingStatus,
+ pairingID PairingID OPTIONAL,
+ ...
+}
+
+VehicleSpecificData ::= SEQUENCE {
+ currentVehicleConfiguration PressureConfiguration,
+ frontLeftTyreData TyreData,
+ frontRightTyreData TyreData,
+ rearLeftTyreData TyreData,
+ rearRightTyreData TyreData,
+ spareTyreData TyreData,
+ ...
+}
+
+-- TisTpgEOFM
+
+TisTpgEOFM ::= SEQUENCE {
+ management TisTpgEOFM-Management,
+ ...
+}
+
+TisTpgEOFM-Management ::= SEQUENCE {
+ generationTime TimestampIts,
+ fillingStatus FillingStatus,
+ numberOfAppliedPressure NumberOfAppliedPressure,
+ appliedTyrePressures AppliedTyrePressures OPTIONAL,
+ pairingID PairingID OPTIONAL,
+ ...
+}
+
+PlacardTable ::= SEQUENCE(SIZE(0..15)) OF TyreSetVariant
+
+TyreSetVariant ::= SEQUENCE
+{
+ variantID TyreSetVariantID,
+ frontAxleDimension TyreSidewallInformation OPTIONAL,
+ rearAxleDimension TyreSidewallInformation OPTIONAL,
+ pressureVariantsList PressureVariantsList
+}
+
+PressureVariantsList ::= SEQUENCE(SIZE(1..15)) OF PressureVariant
+
+PressureVariant ::= SEQUENCE
+{
+ pressureConfiguration PressureConfiguration,
+ frontAxlePressure AxlePlacardPressure,
+ rearAxlePressure AxlePlacardPressure
+}
+
+TyreData ::= SEQUENCE
+{
+ currentTyrePressure CHOICE {
+ tyrePressureValue TyrePressure,
+ unavailable NULL
+ } OPTIONAL,
+ tyreSidewallInformation CHOICE {
+ tyreSidewallInformationValue TyreSidewallInformation,
+ unavailable NULL
+ } OPTIONAL,
+ currentInsideAirTemperature CHOICE {
+ tyreAirTemperatureValue TyreAirTemperature,
+ unavailable NULL
+ } OPTIONAL,
+ recommendedTyrePressure CHOICE {
+ axlePlacardPressureValue AxlePlacardPressure,
+ unavailable NULL
+ } OPTIONAL,
+ tin CHOICE {
+ tinValue TIN,
+ unavailable NULL
+ } OPTIONAL,
+ sensorState CHOICE {
+ sensorStateValue SensorState,
+ unavailable NULL
+ } OPTIONAL,
+ ...
+}
+
+AppliedTyrePressure ::= CHOICE {
+ tyrePressureValue TyrePressure,
+ unavailable NULL
+}
+
+TpgStationData ::= SEQUENCE {
+ tpgStationID StationID,
+ tpgAutomationLevel TpgAutomation,
+ tpgNumber TpgNumber,
+ tpgProvider TpgProvider,
+ tpgLocation ReferencePosition,
+ accessibility Accessibility,
+ address UTF8String(SIZE(1..128)) OPTIONAL,
+ phoneNumber PhoneNumber OPTIONAL,
+ digitalMap DigitalMap OPTIONAL,
+ openingDaysHours OpeningDaysHours OPTIONAL,
+ bookingInfo BookingInfo OPTIONAL,
+ availableTpgNumber AvailableTpgNumber OPTIONAL,
+ cancellationCondition CancellationCondition OPTIONAL,
+ ...
+}
+
+TyreSidewallInformation ::= BIT STRING (SIZE (60))
+
+CurrentVehicleConfiguration ::= BIT STRING (SIZE (9))
+
+AxlePlacardPressure ::= INTEGER { zero (0), fiveKPa (1) } (0..255)
+
+SensorState ::= INTEGER { malfunction(65534), unavailable(65535) } (0..65535)
+
+TyrePressure ::= INTEGER { invalid (0), lessThanOneBar (1), oneBar (2), oneBarPlusTwoAndHalfKPa (3), inflation (254), overflow(255) } (0..255)
+
+DriverLanguage ::= INTEGER {english (0), german (1), french (2), italian (3), spanish (4) } (0..15)
+
+TyreTempCondition ::= ENUMERATED {pressure-cold (0),pressure-warm (1), unavailable (2), ... }
+
+TyreAirTemperature ::= INTEGER { invalid (0), lessThanMinus50Celsius(1), minus50Celsius(2), minus49Celsius(3), zeroCelsius(52), overflowThreshold1(240), overflowThreshold2(241), overflowThreshold3(242), overflowThreshold4(243), overflowThreshold5(244), overflowThreshold6(245), overflowThreshold7(246), overflowThreshold8(247), overflowThreshold9(248), overflowThreshold10(249), overflowThreshold11(250), overflowThreshold12(251), overflowThreshold13(252), overflowThreshold14(253), overflowThreshold15(254), overflowThreshold16(255) } (0..255)
+
+TIN ::= BIT STRING (SIZE(64))
+
+PressureConfiguration ::= BIT STRING (SIZE (9))
+
+CustomerContract ::= IA5String(SIZE(1..32))
+
+ReservationStatus ::= ENUMERATED { reservationOK (0), noReservationService (1), noTpmsAvailable (2), ...}
+
+PairingID ::= INTEGER(0..9999)
+
+AppliedTyrePressures ::= SEQUENCE (SIZE(1..5)) OF AppliedTyrePressure
+
+SearchRange ::= INTEGER(0..255)
+
+TotalTpgStations ::= INTEGER(0..65535)
+
+TpgNotifContainer ::= SEQUENCE (SIZE(1..8)) OF TpgStationData
+
+-- DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition PATCH
+
+TpgNumber ::= INTEGER(1..65535)
+
+TpgProvider ::= UTF8String (SIZE(1..32))
+
+TpgLocation ::= ReferencePosition
+
+Accessibility ::= UTF8String (SIZE(1..32))
+
+-- PhoneNumber ::= NumericString (SIZE(1..16)) PATCH
+
+-- OpeningDaysHours ::= UTF8String PATCH
+
+BookingInfo ::= UTF8String
+
+AvailableTpgNumber ::= INTEGER(1..65535)
+
+CancellationCondition ::= UTF8String (SIZE(1..32))
+
+TpgAutomation ::= BIT STRING {fullAutomated(0), semiAutomated(1), manual(2), reserved (3)} (SIZE(4))
+
+FillingStatus ::= INTEGER {requestVehicleData(0), sendVehicleData(1), started(2), fillingProcessFailed (3), fillingProcessCompleted (4) } (0..7)
+
+NumberOfAppliedPressure ::= INTEGER {oneAppliedPressure(1), twoAppliedPressure (2)} (1..5)
+
+UNVehicleClassifcation ::= INTEGER {reserved(0), categoryL1(1), categoryL2(2), categoryL3(3), categoryL4(4), categoryL5(5), categoryL6(6), categoryL7(7), categoryL8(8)} (0..63)
+
+SearchCondition ::= INTEGER {nearest(0), quickest(1), paylessRoad(2)} (0..7)
+
+TisProfile ::= BIT STRING {reserved(0),profileOne(1), profileTwo(2), profileThree(3)} (SIZE(8))
+
+ReservationID ::= UTF8String (SIZE(1..32))
+
+Language ::= BIT STRING (SIZE (10))
+
+TyreSetVariantID ::= INTEGER (0..15)
+
+END
diff --git a/epan/dissectors/asn1/its/VAM-PDU-Descriptions.asn b/epan/dissectors/asn1/its/VAM-PDU-Descriptions.asn
new file mode 100644
index 00000000..1cd6021b
--- /dev/null
+++ b/epan/dissectors/asn1/its/VAM-PDU-Descriptions.asn
@@ -0,0 +1,98 @@
+-- Draft V0.0.4_2.2.1 - VAM TS 103 300-1 ASN.1 module
+-- Based on the official version available at @url https:
+-- Modified to import from the CDD module V2.1.1
+
+VAM-PDU-Descriptions {itu-t(0) identified-organization(4) etsi(0) itsDomain(5)
+ wg1(1) 103300 vam(1) major-version-3(3) minor-version-1(1)}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+ IMPORTS
+ AccelerationChangeIndication, BasicContainer, CartesianAngle, ClusterBreakupInfo,
+ ClusterJoinInfo, ClusterLeaveInfo, Curvature, CurvatureCalculationMode,
+ DeltaTimeQuarterSecond, GenerationDeltaTime, HeadingChangeIndication, ItsPduHeader, LanePosition,
+ LateralAcceleration, LongitudinalAcceleration, PathHistory, PathPredicted,
+ SequenceOfSafeDistanceIndication, SequenceOfTrajectoryInterceptionIndication,
+ SequenceOfTrajectoryInterceptionIndication, Speed, StabilityChangeIndication, StationId,
+ TrajectoryInterceptionIndication, VerticalAcceleration, VruClusterInformation, VruDeviceUsage,
+ VruEnvironment, VruExteriorLights, GeneralizedLanePosition, VruProfileAndSubprofile, VruMovementControl,
+ VruSizeClass, YawRate, Wgs84Angle
+ FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1) }
+ -- WITH SUCCESSORS
+ ;
+
+
+ VAM ::= SEQUENCE {
+ header ItsPduHeaderVam,
+ vam VruAwareness
+ }
+
+ ItsPduHeaderVam ::= ItsPduHeader(WITH COMPONENTS {..., protocolVersion(3), messageId(vam)})
+
+
+ VruAwareness ::= SEQUENCE {
+ generationDeltaTime GenerationDeltaTime,
+ vamParameters VamParameters
+ }
+
+ VamParameters ::= SEQUENCE {
+ basicContainer BasicContainer,
+ vruHighFrequencyContainer VruHighFrequencyContainer,
+ vruLowFrequencyContainer VruLowFrequencyContainer OPTIONAL,
+ vruClusterInformationContainer VruClusterInformationContainer OPTIONAL,
+ vruClusterOperationContainer VruClusterOperationContainer OPTIONAL,
+ vruMotionPredictionContainer VruMotionPredictionContainer OPTIONAL,
+ ...
+ }
+
+ VruHighFrequencyContainer ::= SEQUENCE {
+ heading Wgs84Angle,
+ speed Speed,
+ longitudinalAcceleration LongitudinalAcceleration,
+ curvature Curvature OPTIONAL,
+ curvatureCalculationMode CurvatureCalculationMode OPTIONAL,
+ yawRate YawRate OPTIONAL,
+ lateralAcceleration LateralAcceleration OPTIONAL,
+ verticalAcceleration VerticalAcceleration OPTIONAL,
+ vruLanePosition GeneralizedLanePosition OPTIONAL,
+ environment VruEnvironment OPTIONAL,
+ movementControl VruMovementControl OPTIONAL,
+ orientation Wgs84Angle OPTIONAL,
+ rollAngle CartesianAngle OPTIONAL,
+ deviceUsage VruDeviceUsage OPTIONAL,
+ ...
+ }
+
+ VruLowFrequencyContainer ::= SEQUENCE {
+ profileAndSubprofile VruProfileAndSubprofile,
+ sizeClass VruSizeClass OPTIONAL,
+ exteriorLights VruExteriorLights OPTIONAL,
+ ...
+ }
+
+ VruClusterInformationContainer::= SEQUENCE{
+ vruClusterInformation VruClusterInformation (WITH COMPONENTS{..., clusterId, clusterBoundingBoxShape PRESENT}),
+ ...
+ }
+
+
+ VruClusterOperationContainer ::= SEQUENCE {
+ clusterJoinInfo ClusterJoinInfo OPTIONAL,
+ clusterLeaveInfo ClusterLeaveInfo OPTIONAL,
+ clusterBreakupInfo ClusterBreakupInfo OPTIONAL,
+ clusterIdChangeTimeInfo DeltaTimeQuarterSecond OPTIONAL,
+ ...
+ }
+
+ VruMotionPredictionContainer ::= SEQUENCE {
+ pathHistory PathHistory OPTIONAL,
+ pathPrediction PathPredicted OPTIONAL,
+ safeDistance SequenceOfSafeDistanceIndication OPTIONAL,
+ trajectoryInterceptionIndication SequenceOfTrajectoryInterceptionIndication OPTIONAL,
+ accelerationChangeIndication AccelerationChangeIndication OPTIONAL,
+ headingChangeIndication HeadingChangeIndication OPTIONAL,
+ stabilityChangeIndication StabilityChangeIndication OPTIONAL,
+ ...
+ }
+
+END
diff --git a/epan/dissectors/asn1/its/VAM-Temp-Imports.asn b/epan/dissectors/asn1/its/VAM-Temp-Imports.asn
new file mode 100644
index 00000000..a9eb9624
--- /dev/null
+++ b/epan/dissectors/asn1/its/VAM-Temp-Imports.asn
@@ -0,0 +1,122 @@
+-- Note: This module defines types that are intended to be updated within
+-- or added to the Common Data Dictionary. Defining the types in this
+-- module allows them to be used by the VAM before the CDD has been
+-- updated. Once the CDD has been updated, this module will also be
+-- updated to import the new types directly from the CDD, and the
+-- version number of this module will be incremented.
+
+VAM-Temp-Imports {itu-t(0) identified-organization(4) etsi(0) itsDomain(5)
+ wg1(1) ts(103300) part-3(3) temp-imports(255) version(1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ReferencePosition, SpeedConfidence, StationID, VehicleWidth
+FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
+
+NodeOffsetPointXY, Offset-B10, Offset-B11, Offset-B12, Offset-B13,
+Offset-B14, Offset-B16
+FROM DSRC
+ {iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2)
+ version (2)}
+
+;
+
+-- identical to BasicContainer as used in CAM
+--BasicContainer ::= SEQUENCE {
+-- stationType StationType, - - from VAM-Temp-Imports
+-- referencePosition ReferencePosition, - - from ITS-Container
+-- ...
+--}
+
+--ItsPduHeader ::= SEQUENCE {
+-- protocolVersion INTEGER (0..255),
+-- messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11), saem(12), rtcmem(13), vam(14) } (0..255), - - Mantis #7209, #7005
+-- stationID StationID
+--}
+
+
+
+
+--AreaCircular ::= SEQUENCE {
+-- nodeCenterPoint OffsetPoint OPTIONAL,
+-- radius Radius
+--}
+
+--AreaPolygon ::= SEQUENCE {
+-- polyPointList PolyPointList
+--}
+
+--AreaRectangle ::= SEQUENCE {
+-- nodeCenterPoint OffsetPoint OPTIONAL,
+-- semiMajorRangeLength SemiRangeLength,
+-- semiMinorRangeLength SemiRangeLength,
+-- semiMajorRangeOrientation WGS84AngleValue,
+-- semiHeight SemiRangeLength OPTIONAL
+--}
+
+--OffsetPoint ::= SEQUENCE{
+-- nodeOffsetPointXY NodeOffsetPointXY (WITH COMPONENTS {..., node-LatLon ABSENT, regional ABSENT}),
+-- nodeOffsetPointZ NodeOffsetPointZ OPTIONAL
+--}
+
+
+--NodeOffsetPointZ ::= CHOICE {
+-- node-Z1 Offset-B10, - - node is within 5.11m of last node
+-- node-Z2 Offset-B11, - - node is within 10.23m of last node
+-- node-Z3 Offset-B12, - - node is within 20.47m of last node
+-- node-Z4 Offset-B13, - - node is within 40.96m of last node
+-- node-Z5 Offset-B14, - - node is within 81.91m of last node
+-- node-Z6 Offset-B16 - - node is within 327.67m of last node
+--}
+
+
+--Radius ::= INTEGER {
+-- zeroPointOneMeter (1),
+-- oneMeter (10)
+--} (0..10000)
+
+
+-- PolyPointList ::= SEQUENCE (SIZE(3..16, ...)) OF OffsetPoint
+
+--SemiRangeLength ::= INTEGER {
+-- zeroPointOneMeter (1),
+-- oneMeter (10)
+--} (0..10000)
+
+--WGS84Angle ::= SEQUENCE {
+-- value WGS84AngleValue,
+-- confidence AngleConfidence
+--}
+
+--WGS84AngleValue ::= INTEGER {
+-- wgs84North (0),
+-- wgs84East (900),
+-- wgs84South (1800),
+-- wgs84West (2700),
+-- unavailable (3601)
+--} (0..3601)
+
+--AngleConfidence ::= INTEGER {
+-- zeroPointOneDegree (1), - - if the heading accuracy is equal to or less than 0,1 degree
+-- oneDegree (10),
+-- outOfRange (126), - - if the heading accuracy is out of range, i.e. greater than
+ -- 12,5 degrees. A corresponding reported angle value shall be
+ -- considered invalid and cannot be trusted.
+-- unavailable (127) - - if the heading accuracy information is not available
+--} (1..127)
+
+
+
+--StationType ::= INTEGER {
+-- unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4),
+-- passengerCar(5), bus(6), lightTruck(7), heavyTruck(8), trailer(9),
+-- specialVehicles(10), tram(11), lightVruVehicle(12), animals(13),
+-- roadSideUnit(15)
+--}
+--(0..255)
+
+END
diff --git a/epan/dissectors/asn1/its/its.cnf b/epan/dissectors/asn1/its/its.cnf
new file mode 100644
index 00000000..b0205197
--- /dev/null
+++ b/epan/dissectors/asn1/its/its.cnf
@@ -0,0 +1,937 @@
+# its.cnf
+# Intelligent Transport Systems (ITS)
+
+#.OPT
+PER
+UNALIGNED
+#.END
+
+#.EXPORTS
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+TisTpgTransactionsPdu
+DENM
+DENMv1
+CAM
+CAMv1
+SSEM
+SREM
+IVIM
+MAPEM
+SPATEM
+EV-RSR
+RTCMEM
+VAM
+ItsPduHeaderVam
+IMZM
+
+EvcsnPdu
+DriverLanguage
+ChargingPower
+StatusResponseCode
+CurrentVehicleConfiguration
+TpgLocation
+CS5
+DSRCmsgID
+VehicleLengthV2
+TrailerPresenceInformation
+CartesianAngularAccelerationComponent
+CartesianAngularAccelerationComponentValue
+AngularAccelerationConfidence
+StandardLength2B
+StandardLength9b
+PrecipitationIntensity
+ObjectFace
+BogiesCount
+BarometricPressure
+AxlesCount
+AirHumidity
+
+#.NO_EMIT
+Code-Units WITHOUT_VALS
+
+
+#.MODULE
+CAMv1-PDU-Descriptions camv1
+CAM-PDU-Descriptions cam
+DENMv1-PDU-Descriptions denmv1
+DENM-PDU-Description denm
+EVCSN-PDU-Descriptions evcsn
+EV-RechargingSpotReservation-PDU-Descriptions evrsr
+IVIM-PDU-Descriptions ivim
+TIS-TPG-Transactions-Descriptions tistpg
+SPATEM-PDU-Descriptions spatem
+MAPEM-PDU-Descriptions mapem
+SREM-PDU-Descriptions srem
+SSEM-PDU-Descriptions ssem
+AVIAEINumberingAndDataStructures anads
+ITS-Container itsv2
+ITS-ContainerV1 itsv1
+#ElectronicRegistrationIdentificationVehicleDataModule erivdm
+#CITSapplMgmtIDs csmid
+EfcDsrcApplication dsrc_app
+IVI ivi
+GDD gdd
+DSRC dsrc
+RTCMEM-PDU-Descriptions rtcmem
+ETSI-ITS-CDD its
+CPM-OriginatingStationContainers cpm
+CPM-PDU-Descriptions cpm
+CPM-PerceivedObjectContainer cpm
+CPM-PerceptionRegionContainer cpm
+CPM-SensorInformationContainer cpm
+VAM-PDU-Descriptions vam
+IMZM-PDU-Descriptions imzm
+#VAM-Temp-Imports vam
+#.END
+
+#.PDU
+CamPayload
+CoopAwarenessV1
+DenmPayload
+DecentralizedEnvironmentalNotificationMessageV1
+EVChargingSpotNotificationPOIMessage
+EV-RSR-MessageBody
+TisTpgTransaction
+IviStructure
+SPAT
+MapData
+SignalRequestMessage
+SignalStatusMessage
+RTCMcorrections
+CollectivePerceptionMessage
+ItsPduHeader
+VruAwareness
+InterferenceManagementZoneMessage
+# AddGrpC regional extension
+ConnectionManeuverAssist-addGrpC
+ConnectionTrajectory-addGrpC
+NodeAttributeSet-addGrpC
+IntersectionState-addGrpC
+MapData-addGrpC
+Position3D-addGrpC
+RestrictionUserType-addGrpC
+SignalStatusPackage-addGrpC
+LaneAttributes-addGrpC
+MovementEvent-addGrpC
+RequestorDescription-addGrpC
+#CpmContainers
+OriginatingVehicleContainer
+OriginatingRsuContainer
+SensorInformationContainer
+PerceptionRegionContainer
+PerceivedObjectContainer
+
+#.TYPE_RENAME
+
+# GicPart
+GicPart/relevanceZoneIds T_GicPartRelevanceZoneIds
+GicPart/detectionZoneIds T_GicPartDetectionZoneIds
+GicPart/driverAwarenessZoneIds T_GicPartDriverAwarenessZoneIds
+GicPart/extraText T_GicPartExtraText
+
+TcPart/relevanceZoneIds T_TcPartRelevanceZoneIds
+TcPart/detectionZoneIds T_TcPartDetectionZoneIds
+TcPart/driverAwarenessZoneIds T_TcPartDriverAwarenessZoneIds
+TcPart/text T_TcPartText
+
+TractorCharacteristics/equalTo T_TractorCharactEqualTo
+TractorCharacteristics/notEqualTo T_TractorCharactNotEqualTo
+
+TrailerCharacteristics/equalTo T_TrailerCharactEqualTo
+TrailerCharacteristics/notEqualTo T_TrailerCharactNotEqualTo
+
+SPAT/regional T_SPATRegional
+SignalRequestMessage/regional T_SRMRegional
+SignalStatusMessage/regional T_SSMRegional
+MapData/regional T_MAPRegional
+AdvisorySpeed/regional T_AdvisorySpeedRegional
+ComputedLane/regional T_ComputedLaneRegional
+ConnectionManeuverAssist/regional T_ConnectionManeuverAssistRegional
+GenericLane/regional T_GenericLaneRegional
+IntersectionGeometry/regional T_IntersectionGeometryRegional
+IntersectionState/regional T_IntersectionStateRegional
+LaneDataAttribute/regional T_LaneDataAttributeRegional
+MovementEvent/regional T_MovementEventRegional
+MovementState/regional T_MovementStateRegional
+NodeAttributeSetXY/regional T_NodeAttributeSetXYRegional
+Position3D/regional T_Position3DRegional
+RequestorDescription/regional T_RequestorDescriptionRegional
+RestrictionUserType/regional T_RestrictionUserTypeRegional
+RoadSegment/regional T_RoadSegmentRegional
+SignalRequestPackage/regional T_SignalRequestPackageRegional
+SignalRequest/regional T_SignalRequestRegional
+SignalStatusPackage/regional T_SignalStatusPackageRegional
+SignalStatus/regional T_SignalStatusRegional
+PerceptionRegion/numberOfPerceivedObjects T_PerceptionRegionNumberOfPerceivedObjects
+PerceptionRegion/shadowingApplies T_PerceptionRegionShadowingApplies
+
+
+#.END
+
+#.FIELD_RENAME
+PerceptionRegion/perceptionRegionShape perceptionRegionPerceptionRegionShape
+PerceptionRegion/shadowingApplies perceptionRegionShadowingApplies
+PerceptionRegion/numberOfPerceivedObjects perceptionRegionNumberOfPerceivedObjects
+PerceptionRegion/perceptionRegionConfidence perceptionRegionPerceptionRegionConfidence
+
+TisTpgDRM/location drmLocation
+TisTpgTRM/location trmLocation
+TisTpgTCM/location tcmLocation
+
+TisTpgVDRM/management vdrmManagement
+TisTpgDRM/management drmManagement
+TisTpgEOFM/management eofmManagement
+TisTpgTCM/management tcmManagement
+TisTpgVDPM/management vdpmManagement
+TisTpgTRM/management trmManagement
+TisTpgSNM/management snmManagement
+
+TisTpgDRM/situation drmSituation
+TisTpgTRM/situation trmSituation
+TisTpgTCM/situation tcmSituation
+
+Distance/value dValue
+DistanceOrDuration/value dodValue
+Weight/value wValue
+AnyCatalogue/value acValue
+VcCode/value vcValue
+
+Ext1/content e1Content
+Ext2/content e2Content
+VarLengthNumber/content vlnContent
+
+Ext2/extension e1Extension
+Ext1/extension e2Extension
+VarLengthNumber/extension vlnExtension
+
+RSCode/layoutComponentId rscLayoutComponentId
+Text/layoutComponentId tLayoutComponentId
+LayoutComponent/layoutComponentId lcLayoutComponentId
+
+ISO14823Code/pictogramCode icPictogramCode
+AnyCatalogue/pictogramCode acPictogramCode
+
+VcCode/validity vcValidity
+LaneInformation/validity liValidity
+
+RoadSegmentReferenceID/id rsrId
+RoadSegment/id rsId
+RequestorDescription/id rdId
+SignalRequesterInfo/id sriId
+IntersectionGeometry/id igId
+IntersectionState/id isId
+SignalRequest/id srId
+SignalStatus/id ssId
+IntersectionReferenceID/id irId
+RestrictionClassAssignment/id scaId
+
+AdvisorySpeed/confidence asConfidence
+TimeChangeDetails/confidence tcdConfidence
+
+SPAT/intersections spatIntersections
+MapData/intersections mdIntersections
+
+RequestorPositionVector/position rpvPosition
+RequestorDescription/position rdPosition
+
+SPAT/regional spatRegional
+SignalRequestMessage/regional srmRegional
+SignalStatusMessage/regional ssmRegional
+MapData/regional mapRegional
+AdvisorySpeed/regional asRegional
+ComputedLane/regional clRegional
+ConnectionManeuverAssist/regional cmaRegional
+GenericLane/regional glRegional
+IntersectionGeometry/regional igRegional
+IntersectionState/regional isRegional
+LaneDataAttribute/regional ldaRegional
+MovementEvent/regional meRegional
+MovementState/regional msRegional
+NodeAttributeSetXY/regional nasxyRegional
+Position3D/regional p3dRegional
+RequestorDescription/regional rdRegional
+RestrictionUserType/regional rutRegional
+RoadSegment/regional rsRegional
+SignalRequestPackage/regional srpRegional
+SignalRequest/regional srRegional
+SignalStatusPackage/regional sspRegional
+SignalStatus/regional ssRegional
+
+LaneAttributes/regional laRegional
+NodeOffsetPointXY/regional nopxyRegional
+RequestorType/regional rtRegional
+
+SignalRequestPackage/request srpRequest
+SignalRequesterInfo/request sriRequest
+RequestorType/request rtRequest
+
+RegulatorySpeedLimit/speed rslSpeed
+TransmissionAndSpeed/speed tasSpeed
+RequestorPositionVector/speed rpvSpeed
+AdvisorySpeed/speed asSpeed
+FullPositionVector/speed fpvSpeed
+SpeedandHeadingandThrottleConfidence/speed shtcSpeed
+
+SignalRequestPackage/minute srpMinute
+SignalStatusPackage/minute sspMinute
+
+FullPositionVector/heading fpvHeading
+RequestorPositionVector/heading rpvHeading
+SpeedandHeadingandThrottleConfidence/heading shtcheading
+
+FullPositionVector/elevation fpvElevation
+PositionConfidenceSet/elevation pcsElevation
+Position3D/elevation p3dElevation
+
+IntersectionState/status isStatus
+SignalStatusPackage/status sspStatus
+SignalStatusMessage/status ssmStatus
+
+SPAT/timeStamp spatTimeStamp
+SignalRequestMessage/timeStamp srmTimeStamp
+SignalStatusMessage/timeStamp ssmTimeStamp
+MapData/timeStamp mdTimeStamp
+IntersectionState/timeStamp isTimeStamp
+
+AdvisorySpeed/type asType
+RegulatorySpeedLimit/type rslType
+RequestorDescription/type rdType
+
+TcPart/detectionZoneIds tpDetectionZoneIds
+TcPart/driverAwarenessZoneIds tpDriverAwarenessZoneIds
+TcPart/relevanceZoneIds tpRelevanceZoneIds
+
+GicPart/detectionZoneIds gpDetectionZoneIds
+GicPart/driverAwarenessZoneIds gpDriverAwarenessZoneIds
+GicPart/relevanceZoneIds gpRelevanceZoneIds
+
+TractorCharacteristics/equalTo toEqualTo
+TractorCharacteristics/notEqualTo toNotEqualTo
+
+TrailerCharacteristics/equalTo teEqualTo
+TrailerCharacteristics/notEqualTo teNotEqualTo
+
+Node-XY-20b/x n20bX
+Node-XY-22b/x n22bX
+Node-XY-24b/x n24bX
+Node-XY-26b/x n26bX
+Node-XY-28b/x n28bX
+Node-XY-32b/x n32bX
+
+Node-XY-20b/y n20bY
+Node-XY-22b/y n22bY
+Node-XY-24b/y n24bY
+Node-XY-26b/y n26bY
+Node-XY-28b/y n28bY
+Node-XY-32b/y n32bY
+
+#.TYPE_ATTR
+Latitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_latitude_fmt)
+Longitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_longitude_fmt)
+AltitudeValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_altitude_fmt)
+DeltaLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_delta_latitude_fmt)
+DeltaLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_delta_longitude_fmt)
+DeltaAltitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_delta_altitude_fmt)
+PathDeltaTime DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_path_delta_time_fmt)
+SemiAxisLength DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_sax_length_fmt)
+HeadingValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_heading_value_fmt)
+HeadingConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_heading_confidence_fmt)
+SpeedValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_speed_value_fmt)
+SpeedConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_speed_confidence_fmt)
+SpeedLimit DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_speed_limit_fmt)
+VehicleLengthValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_vehicle_length_value_fmt)
+VehicleWidth DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_vehicle_width_fmt)
+LongitudinalAccelerationValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_acceleration_value_fmt)
+LateralAccelerationValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_acceleration_value_fmt)
+VerticalAccelerationValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_acceleration_value_fmt)
+AccelerationConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_acceleration_confidence_fmt)
+CurvatureValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_curvature_value_fmt)
+YawRateValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_yaw_rate_value_fmt)
+SteeringWheelAngleValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_swa_value_fmt)
+SteeringWheelAngleConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_swa_confidence_fmt)
+TimestampIts DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_timestamp_fmt)
+ValidityDuration DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(its_validity_duration_fmt)
+
+GenerationDeltaTime STRINGS=NULL
+
+MinuteOfTheYear DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_moi_fmt)
+DSecond DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_dsecond_fmt)
+TimeMark DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_time_mark_fmt)
+TimeIntervalConfidence STRINGS=VALS(dsrc_TimeIntervalConfidence_vals)
+Velocity DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_velocity_fmt)
+Angle DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_angle_fmt)
+HeadingDSRC DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_angle_fmt)
+DeltaTime DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(dsrc_delta_time_fmt)
+
+TimeOfMeasurement STRINGS=NULL
+ClassConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_general_confidence_fmt)
+FreeSpaceConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_general_confidence_fmt)
+ObjectConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_general_confidence_fmt)
+DistanceValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_distance_value_fmt)
+DistanceConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_distance_confidence_fmt)
+SpeedValueExtended DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_speed_value_ext_fmt)
+ObjectDimensionValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_object_dimension_value_fmt)
+#ObjectDimensionConfidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(cpm_object_dimension_confidence_fmt)
+
+#.END
+
+#.FIELD_ATTR
+IntersectionState/status ABBREV=intersectionState.status
+SignalStatusPackage/status ABBREV=signalStatusPackage.status
+SignalStatusMessage/status ABBREV=signalStatusMessage.status
+FullPositionVector/elevation ABBREV=fullPositionVector.elevation
+PositionConfidenceSet/elevation ABBREV=positionConfidenceSet.elevation
+Position3D/elevation ABBREV=position3D.elevation
+
+#.END
+
+#.MAKE_DEFINES
+MessageId
+#.END
+
+#.MAKE_ENUM
+RegionId
+CauseCodeType
+
+#.FN_HDR CamPayload
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "CAM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "CAM");
+#.END
+
+#.FN_HDR CoopAwarenessV1
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "CAMv1");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "CAMv1");
+#.END
+
+#.FN_HDR DenmPayload
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "DENM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "DENM");
+#.END
+
+#.FN_HDR DecentralizedEnvironmentalNotificationMessageV1
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "DENMv1");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "DENMv1");
+#.END
+
+#.FN_HDR EVChargingSpotNotificationPOIMessage
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "EVCSN");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "EVCSN");
+#.END
+
+#.FN_HDR EV-RSR-MessageBody
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "EV-RSR");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "EV-RSR");
+#.END
+
+#.FN_HDR TisTpgTransaction
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "TISTPG");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "TISTPG");
+#.END
+
+#.FN_HDR IviStructure
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "IVIM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "IVIM");
+#.END
+
+#.FN_HDR SignalStatusMessage
+ its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t);
+ actx->private_data = (void*)regext;
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "SSEM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "SSEM");
+ regext->type = Reg_SignalStatusMessage;
+#.END
+
+#.FN_HDR SignalRequestMessage
+ its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t);
+ actx->private_data = (void*)regext;
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "SREM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "SREM");
+ regext->type = Reg_SignalRequestMessage;
+#.END
+
+#.FN_HDR MapData
+ its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t);
+ actx->private_data = (void*)regext;
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "MAPEM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MAPEM");
+ regext->type = Reg_MapData;
+#.END
+
+#.FN_HDR SPAT
+ its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t);
+ actx->private_data = (void*)regext;
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "SPATEM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "SPATEM");
+ regext->type = Reg_SPAT;
+#.END
+
+
+#.FN_HDR RTCMcorrections
+ its_private_data_t *regext = wmem_new0(actx->pinfo->pool, its_private_data_t);
+ actx->private_data = (void*)regext;
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "RTCMEM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "RTCMEM");
+ regext->type = Reg_RTCMcorrections;
+#.END
+
+#.FN_HDR CollectivePerceptionMessage
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "CPM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "CPM");
+#.END
+
+#.FN_HDR InterferenceManagementZoneMessage
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "IMZM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "IMZM");
+#.END
+
+#.FN_HDR VruAwareness
+ actx->private_data = (void*)wmem_new0(actx->pinfo->pool, its_private_data_t);
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "VAM");
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "VAM");
+#.END
+
+#.FN_HDR ConnectionManeuverAssist-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR ConnectionTrajectory-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR NodeAttributeSet-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR IntersectionState-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR MapData-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR Position3D-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR RestrictionUserType-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR SignalStatusPackage-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR LaneAttributes-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR MovementEvent-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR RequestorDescription-addGrpC
+ actx->private_data = wmem_new0(actx->pinfo->pool, its_private_data_t);
+#.END
+
+
+#.FN_HDR AdvisorySpeed
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_AdvisorySpeed;
+#.END
+#.FN_FTR AdvisorySpeed
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR ComputedLane
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_ComputedLane;
+#.END
+#.FN_FTR ComputedLane
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR ConnectionManeuverAssist
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_ConnectionManeuverAssist;
+#.END
+#.FN_FTR ConnectionManeuverAssist
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR GenericLane
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_GenericLane;
+#.END
+#.FN_FTR GenericLane
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR IntersectionGeometry
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_IntersectionGeometry;
+#.END
+#.FN_FTR IntersectionGeometry
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR IntersectionState
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_IntersectionState;
+#.END
+#.FN_FTR IntersectionState
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR LaneAttributes
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_LaneAttributes;
+#.END
+#.FN_FTR LaneAttributes
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR LaneDataAttribute
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_LaneDataAttribute;
+#.END
+#.FN_FTR LaneDataAttribute
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR MovementEvent
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_MovementEvent;
+#.END
+#.FN_FTR MovementEvent
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR MovementState
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_MovementState;
+#.END
+#.FN_FTR MovementState
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR NodeAttributeSetXY
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_NodeAttributeSetXY;
+#.END
+#.FN_FTR NodeAttributeSetXY
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR NodeOffsetPointXY
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_NodeOffsetPointXY;
+#.END
+#.FN_FTR NodeOffsetPointXY
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR Position3D
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_Position3D;
+#.END
+#.FN_FTR Position3D
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR RequestorDescription
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_RequestorDescription;
+#.END
+#.FN_FTR RequestorDescription
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR RequestorType
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_RequestorType;
+#.END
+#.FN_FTR RequestorType
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR RestrictionUserType
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_RestrictionUserType;
+#.END
+#.FN_FTR RestrictionUserType
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR RoadSegment
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_RoadSegment;
+#.END
+#.FN_FTR RoadSegment
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR SignalRequestPackage
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_SignalRequestPackage;
+#.END
+#.FN_FTR SignalRequestPackage
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR SignalRequest
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_SignalRequest;
+#.END
+#.FN_FTR SignalRequest
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR SignalStatusPackage
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_SignalStatusPackage;
+#.END
+#.FN_FTR SignalStatusPackage
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR SignalStatus
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_SignalStatus;
+#.END
+#.FN_FTR SignalStatus
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+
+#.FN_HDR SignalControlZone
+ enum regext_type_enum save = ((its_private_data_t*)actx->private_data)->type;
+ ((its_private_data_t*)actx->private_data)->type = Reg_SignalControlZone;
+#.END
+#.FN_FTR SignalControlZone
+ ((its_private_data_t*)actx->private_data)->type = save;
+#.END
+
+#.FN_PARS RegionId VAL_PTR = &((its_private_data_t*)actx->private_data)->region_id
+
+#.FN_PARS ProtocolVersion VAL_PTR = &((its_header_t*)actx->private_data)->version
+#.FN_PARS MessageId VAL_PTR = &((its_header_t*)actx->private_data)->msgId
+#.FN_PARS StationId VAL_PTR = actx->private_data?&((its_header_t*)actx->private_data)->stationId:NULL
+#.FN_PARS CpmContainerId VAL_PTR = &((its_header_t*)actx->private_data)->CpmContainerId
+
+#.FN_BODY ItsPduHeader
+ guint8 version = tvb_get_guint8(tvb, 0);
+ int test_offset = offset;
+ if ((test_offset = dissector_try_uint(its_version_subdissector_table, version, tvb, actx->pinfo, tree))) {
+ return test_offset;
+ }
+ // Lets try it that way, regarless of version value...
+ its_header_t *hdr = wmem_new0(actx->pinfo->pool, its_header_t);
+ actx->private_data = (void*)hdr;
+%(DEFAULT_BODY)s
+ tap_queue_packet(its_tap, actx->pinfo, actx->private_data);
+ tvbuff_t *next_tvb = tvb_new_subset_length(tvb, offset >> 3, -1);
+ int data_offset = dissector_try_uint(its_msgid_subdissector_table, (hdr->version << 16)+hdr->msgId, next_tvb, actx->pinfo, tree);
+ if (!data_offset) {
+ proto_tree_add_expert(tree, actx->pinfo, &ei_its_no_sub_dis, next_tvb, 0, - 1);
+ data_offset = call_data_dissector(next_tvb, actx->pinfo, tree);
+ }
+ offset += data_offset;
+#.END
+
+#.ASSIGN_VALUE_TO_TYPE # ISO_TS_19091_DSRC ASN.1 does not have constants assigned to types
+
+#RegionId
+noRegion RegionId
+addGrpA RegionId
+addGrpB RegionId
+addGrpC RegionId
+
+#.END
+
+#.REGISTER
+# Not used due to "protocol" detection issue: we shall register for its subdissector not dsrc
+#.END
+
+#.FN_PARS RegionalExtension/regExtValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_regextval_pdu
+
+#.FN_PARS WrappedCpmContainer/containerData FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_cpmcontainers_pdu
+
+
+#.FN_BODY TypeOfReceptacle VAL_PTR=&parameter_tvb LEN_PTR=&len
+ tvbuff_t *parameter_tvb = NULL;
+ int len;
+%(DEFAULT_BODY)s
+ /* TODO Provide values?
+ * See ETSI TS 101 556-1 V1.1.1 Annex B Description for data elements
+ * Table B.2: Coding of the type of receptacle field
+ *
+ * Code Charging Standard plug / Type of Nb of Maximum Maximum
+ * spot type cable current phases Voltage Current
+ * -------------------------------------------------------------------------
+ * 0000 Socket IEC 62196-2 type 1 AC Single 240V 16A
+ * 0001 Socket IEC 62196-2 type 1 AC Single 240V 32A
+ * 0010 Socket IEC 62196-2 type 1 AC Single 240V 80A
+ * 0011 Socket IEC 62196-2 type 1 AC Single 120V 12A
+ * 0100 Socket IEC 62196-2 type 1 AC Single 120V 16A
+ * 0101 Socket Standard Household AC Single 250V 16A
+ * 0110 Socket Standard Household AC Single 480V 16A
+ * 0111 Socket IEC 62196-2 type 2 AC Single 230V 16A
+ * 1000 Socket IEC 62196-2 type 2 AC Single 250V 32A
+ * 1001 Socket IEC 62196-2 type 2 AC Single 480V 32A
+ * 1010 Socket IEC 62196-2 type 2 AC Single 400V 32/250A
+ * 1011 Socket IEC 62196-2 type 3A AC Single 250V 32A
+ * 1100 Socket IEC 62196-2 type 3B AC Single 480V 32A
+ * 1101 Socket Reserved for Future AC Single 1000V 400A
+ IEC 62196-3
+ * 1110 Cable for Reserved
+ DC charging
+ * 1111 Cable for Reserved
+ DC charging
+ */
+#.END
+
+#.FN_BODY CountryCode VAL_PTR=&val_tvb
+ tvbuff_t *val_tvb = NULL;
+%(DEFAULT_BODY)s
+ append_country_code_fmt(actx->created_item, val_tvb);
+#.END
+
+#.FN_BODY Text/language VAL_PTR=&val_tvb
+ tvbuff_t *val_tvb = NULL;
+%(DEFAULT_BODY)s
+ append_country_code_fmt(actx->created_item, val_tvb);
+#.END
+
+
+#.NO_EMIT WITH_VALS
+#.END
+
+#.NO_EMIT ONLY_VALS
+Latitude
+Longitude
+AltitudeValue
+DeltaLatitude
+DeltaLongitude
+DeltaAltitude
+PathDeltaTime
+SemiAxisLength
+$ITS-ContainerV1$HeadingValue
+HeadingConfidence
+SpeedValue
+SpeedConfidence
+SpeedLimit
+VehicleLengthValue
+VehicleWidth
+LongitudinalAccelerationValue
+LateralAccelerationValue
+VerticalAccelerationValue
+AccelerationConfidence
+CurvatureValue
+YawRateValue
+SteeringWheelAngleValue
+ValidityDuration
+ObjectDimensionValue
+SteeringWheelAngleConfidence
+TimestampIts
+GenerationDeltaTime
+
+#.END
+
+#.NO_EMIT WITHOUT_VALS
+# Just keep the vals. hf are made manually and used in cause/subcause decoding
+
+#.END
+
+
+#.FN_PARS CauseCodeType VAL_PTR = &((its_private_data_t*)actx->private_data)->cause_code
+
+#.FN_BODY SubCauseCodeType
+ // Overwrite hf_index
+ hf_index = *find_subcause_from_cause((CauseCodeType_enum) ((its_private_data_t*)actx->private_data)->cause_code);
+%(DEFAULT_BODY)s
+#.END
+
+#
+# RCUnit subtypes bodies implemented manually as asn2wrs is not able to handle subtype constraint
+#
+
+#.FN_BODY InternationalSign-speedLimits/unit
+ offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s,
+ 0U, 1U, %(VAL_PTR)s, FALSE);
+#.END
+
+#.FN_BODY Weight/unit
+ offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s,
+ 10U, 12U, %(VAL_PTR)s, FALSE);
+#.END
+
+#.FN_BODY DistOrDuration-Units
+ offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s,
+ 2U, 9U, %(VAL_PTR)s, FALSE);
+#.END
+
+#.FN_BODY Distance/unit
+ offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s,
+ 2U, 8U, %(VAL_PTR)s, FALSE);
+#.END
+
+#=== PtActivation =======================================================
+
+#.FN_HDR PtActivation
+ void *priv_data = actx->private_data;
+ its_pt_activation_data_t *pta;
+
+ pta = wmem_new0(actx->pinfo->pool, its_pt_activation_data_t);
+ actx->private_data = pta;
+#.FN_FTR
+ dissector_try_uint_new(cam_pt_activation_table, pta->type, pta->data, actx->pinfo, tree, TRUE, NULL);
+ actx->private_data = priv_data;
+#.END
+
+#.FN_PARS
+PtActivationType VAL_PTR = &((its_pt_activation_data_t*)actx->private_data)->type
+PtActivationData VAL_PTR = &((its_pt_activation_data_t*)actx->private_data)->data
+#.END
diff --git a/epan/dissectors/asn1/its/packet-its-template.c b/epan/dissectors/asn1/its/packet-its-template.c
new file mode 100644
index 00000000..13195380
--- /dev/null
+++ b/epan/dissectors/asn1/its/packet-its-template.c
@@ -0,0 +1,1060 @@
+/* packet-its-template.c
+ *
+ * Intelligent Transport Systems Applications dissectors
+ * Coyright 2018, C. Guerber <cguerber@yahoo.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+
+/*
+ * Implemented:
+ * CA (CAM) ETSI EN 302 637-2 V1.4.1 (2019-01)
+ * DEN (DENM) ETSI EN 302 637-3 V1.3.0 (2018-08)
+ * RLT (MAPEM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * TLM (SPATEM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * IVI (IVIM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * TLC (SREM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * TLC (SSEM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * EVCSN POI (EVCSN POI message) ETSI TS 101 556-1
+ * TPG (TRM, TCM, VDRM, VDPM, EOFM) ETSI TS 101 556-2
+ * Charging (EV-RSR, SRM, SCM) ETSI TS 101 556-3
+ * GPC (RTCMEM) ETSI TS 103 301
+ *
+ * Not supported:
+ * SA (SAEM) ETSI TS 102 890-1
+ * CTL (CTLM) ETSI TS 102 941
+ * CRL (CRLM) ETSI TS 102 941
+ * Certificate request ETSI TS 102 941
+ */
+#include "config.h"
+
+#include <math.h>
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/decode_as.h>
+#include <epan/proto_data.h>
+#include <epan/exceptions.h>
+#include <epan/conversation.h>
+#include <epan/tap.h>
+#include <wsutil/utf8_entities.h>
+#include "packet-ber.h"
+#include "packet-per.h"
+
+#include "packet-its.h"
+#include "packet-ieee1609dot2.h"
+
+/*
+ * Well Known Ports definitions as per:
+ *
+ * ETSI TS 103 248 v1.2.1 (2018-08)
+ * Intelligent Transport Systems (ITS);
+ * GeoNetworking;
+ * Port Numbers for the Basic Transport Protocol (BTP)
+ *
+ * BTP port Facilities service Related standard
+ * number or Application
+ * values
+ * 2001 CA (CAM) ETSI EN 302 637-2 V1.4.1 (2019-01)
+ * 2002 DEN (DENM) ETSI EN 302 637-3
+ * 2003 RLT (MAPEM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * 2004 TLM (SPATEM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * 2005 SA (SAEM) ETSI TS 102 890-1
+ * 2006 IVI (IVIM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * 2007 TLC (SREM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * 2008 TLC (SSEM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * 2009 Allocated Allocated for "Intelligent Transport
+ * System (ITS); Vehicular Communications;
+ * Basic Set of Applications; Specification
+ * of the Collective Perception Service"
+ * 2010 EVCSN POI (EVCSN POI ETSI TS 101 556-1
+ * message)
+ * 2011 TPG (TRM, TCM, VDRM, ETSI TS 101 556-2
+ * VDPM, EOFM)
+ * 2012 Charging (EV-RSR, ETSI TS 101 556-3
+ * SRM, SCM)
+ * 2013 GPC (RTCMEM) ETSI TS 103 301 V1.2.1 (2018-08)
+ * 2014 CTL (CTLM) ETSI TS 102 941
+ * 2015 CRL (CRLM) ETSI TS 102 941
+ * 2016 Certificate request ETSI TS 102 941
+ */
+
+// Applications Well Known Ports
+#define ITS_WKP_CA 2001
+#define ITS_WKP_DEN 2002
+#define ITS_WKP_RLT 2003
+#define ITS_WKP_TLM 2004
+#define ITS_WKP_SA 2005
+#define ITS_WKP_IVI 2006
+#define ITS_WKP_TLC_SREM 2007
+#define ITS_WKP_TLC_SSEM 2008
+#define ITS_WKP_CPS 2009
+#define ITS_WKP_EVCSN 2010
+#define ITS_WKP_TPG 2011
+#define ITS_WKP_CHARGING 2012
+#define ITS_WKP_GPC 2013
+#define ITS_WKP_CTL 2014
+#define ITS_WKP_CRL 2015
+#define ITS_WKP_CERTIF_REQ 2016
+
+/*
+ * Prototypes
+ */
+void proto_reg_handoff_its(void);
+void proto_register_its(void);
+
+static dissector_handle_t its_handle;
+
+static expert_field ei_its_no_sub_dis = EI_INIT;
+
+// TAP
+static int its_tap = -1;
+
+// Protocols
+static int proto_its = -1;
+static int proto_its_denm = -1;
+static int proto_its_denmv1 = -1;
+static int proto_its_cam = -1;
+static int proto_its_camv1 = -1;
+static int proto_its_evcsn = -1;
+static int proto_its_evrsr = -1;
+static int proto_its_ivimv1 = -1;
+static int proto_its_ivim = -1;
+static int proto_its_tistpg = -1;
+static int proto_its_ssem = -1;
+static int proto_its_srem = -1;
+static int proto_its_rtcmemv1 = -1;
+static int proto_its_rtcmem = -1;
+static int proto_its_mapemv1 = -1;
+static int proto_its_mapem = -1;
+static int proto_its_spatemv1 = -1;
+static int proto_its_spatem = -1;
+static int proto_its_cpm = -1;
+static int proto_its_imzm = -1;
+static int proto_its_vam = -1;
+static int proto_addgrpc = -1;
+
+/*
+ * DENM SSP
+ */
+static int hf_denmssp_version = -1;
+static int hf_denmssp_flags = -1;
+static int hf_denmssp_trafficCondition = -1;
+static int hf_denmssp_accident = -1;
+static int hf_denmssp_roadworks = -1;
+static int hf_denmssp_adverseWeatherConditionAdhesion = -1;
+static int hf_denmssp_hazardousLocationSurfaceCondition = -1;
+static int hf_denmssp_hazardousLocationObstacleOnTheRoad = -1;
+static int hf_denmssp_hazardousLocationAnimalOnTheRoad = -1;
+static int hf_denmssp_humanPresenceOnTheRoad = -1;
+static int hf_denmssp_wrongWayDriving = -1;
+static int hf_denmssp_rescueAndRecoveryWorkInProgress = -1;
+static int hf_denmssp_ExtremeWeatherCondition = -1;
+static int hf_denmssp_adverseWeatherConditionVisibility = -1;
+static int hf_denmssp_adverseWeatherConditionPrecipitation = -1;
+static int hf_denmssp_slowVehicle = -1;
+static int hf_denmssp_dangerousEndOfQueue = -1;
+static int hf_denmssp_vehicleBreakdown = -1;
+static int hf_denmssp_postCrash = -1;
+static int hf_denmssp_humanProblem = -1;
+static int hf_denmssp_stationaryVehicle = -1;
+static int hf_denmssp_emergencyVehicleApproaching = -1;
+static int hf_denmssp_hazardousLocationDangerousCurve = -1;
+static int hf_denmssp_collisionRisk = -1;
+static int hf_denmssp_signalViolation = -1;
+static int hf_denmssp_dangerousSituation = -1;
+
+/*
+ * CAM SSP
+ */
+static int hf_camssp_version = -1;
+static int hf_camssp_flags = -1;
+static int hf_camssp_cenDsrcTollingZone = -1;
+static int hf_camssp_publicTransport = -1;
+static int hf_camssp_specialTransport = -1;
+static int hf_camssp_dangerousGoods = -1;
+static int hf_camssp_roadwork = -1;
+static int hf_camssp_rescue = -1;
+static int hf_camssp_emergency = -1;
+static int hf_camssp_safetyCar = -1;
+static int hf_camssp_closedLanes = -1;
+static int hf_camssp_requestForRightOfWay = -1;
+static int hf_camssp_requestForFreeCrossingAtATrafficLight = -1;
+static int hf_camssp_noPassing = -1;
+static int hf_camssp_noPassingForTrucks = -1;
+static int hf_camssp_speedLimit = -1;
+static int hf_camssp_reserved = -1;
+
+static gint ett_denmssp_flags = -1;
+static gint ett_camssp_flags = -1;
+
+// Subdissectors
+static dissector_table_t its_version_subdissector_table;
+static dissector_table_t its_msgid_subdissector_table;
+static dissector_table_t regionid_subdissector_table;
+static dissector_table_t cpmcontainer_subdissector_table;
+static dissector_table_t cam_pt_activation_table;
+
+typedef struct its_private_data {
+ enum regext_type_enum type;
+ guint32 region_id;
+ guint32 cause_code;
+} its_private_data_t;
+
+typedef struct its_pt_activation_data {
+ guint32 type;
+ tvbuff_t *data;
+} its_pt_activation_data_t;
+
+// Specific dissector for content of open type for regional extensions
+static int dissect_regextval_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ its_private_data_t *re = (its_private_data_t*)data;
+ // XXX What to do when region_id = noRegion? Test length is zero?
+ if (!dissector_try_uint_new(regionid_subdissector_table, ((guint32) re->region_id<<16) + (guint32) re->type, tvb, pinfo, tree, FALSE, NULL))
+ call_data_dissector(tvb, pinfo, tree);
+ return tvb_captured_length(tvb);
+}
+
+// Specific dissector for content of open type for regional extensions
+static int dissect_cpmcontainers_pdu(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data _U_)
+{
+ its_header_t* hdr = (its_header_t*)data;
+ // XXX What to do when region_id = noRegion? Test length is zero?
+ if (!dissector_try_uint_new(cpmcontainer_subdissector_table, hdr->CpmContainerId, tvb, pinfo, tree, FALSE, NULL))
+ call_data_dissector(tvb, pinfo, tree);
+ return tvb_captured_length(tvb);
+}
+
+static int dissect_denmssp_pdu(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
+{
+ static int * const denmssp_flags[] = {
+ &hf_denmssp_trafficCondition,
+ &hf_denmssp_accident,
+ &hf_denmssp_roadworks,
+ &hf_denmssp_adverseWeatherConditionAdhesion,
+ &hf_denmssp_hazardousLocationSurfaceCondition,
+ &hf_denmssp_hazardousLocationObstacleOnTheRoad,
+ &hf_denmssp_hazardousLocationAnimalOnTheRoad,
+ &hf_denmssp_humanPresenceOnTheRoad,
+ &hf_denmssp_wrongWayDriving,
+ &hf_denmssp_rescueAndRecoveryWorkInProgress,
+ &hf_denmssp_ExtremeWeatherCondition,
+ &hf_denmssp_adverseWeatherConditionVisibility,
+ &hf_denmssp_adverseWeatherConditionPrecipitation,
+ &hf_denmssp_slowVehicle,
+ &hf_denmssp_dangerousEndOfQueue,
+ &hf_denmssp_vehicleBreakdown,
+ &hf_denmssp_postCrash,
+ &hf_denmssp_humanProblem,
+ &hf_denmssp_stationaryVehicle,
+ &hf_denmssp_emergencyVehicleApproaching,
+ &hf_denmssp_hazardousLocationDangerousCurve,
+ &hf_denmssp_collisionRisk,
+ &hf_denmssp_signalViolation,
+ &hf_denmssp_dangerousSituation,
+ NULL
+ };
+
+ guint32 version;
+
+ proto_tree_add_item_ret_uint(tree, hf_denmssp_version, tvb, 0, 1, ENC_BIG_ENDIAN, &version);
+ if (version == 1) {
+ proto_tree_add_bitmask(tree, tvb, 1, hf_denmssp_flags, ett_denmssp_flags, denmssp_flags, ENC_BIG_ENDIAN);
+ }
+ return tvb_reported_length(tvb);
+}
+
+static int dissect_camssp_pdu(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
+{
+ static int * const camssp_flags[] = {
+ &hf_camssp_cenDsrcTollingZone,
+ &hf_camssp_publicTransport,
+ &hf_camssp_specialTransport,
+ &hf_camssp_dangerousGoods,
+ &hf_camssp_roadwork,
+ &hf_camssp_rescue,
+ &hf_camssp_emergency,
+ &hf_camssp_safetyCar,
+ &hf_camssp_closedLanes,
+ &hf_camssp_requestForRightOfWay,
+ &hf_camssp_requestForFreeCrossingAtATrafficLight,
+ &hf_camssp_noPassing,
+ &hf_camssp_noPassingForTrucks,
+ &hf_camssp_speedLimit,
+ &hf_camssp_reserved,
+ NULL
+ };
+
+ guint32 version;
+
+ proto_tree_add_item_ret_uint(tree, hf_camssp_version, tvb, 0, 1, ENC_BIG_ENDIAN, &version);
+ if (version == 1) {
+ proto_tree_add_bitmask(tree, tvb, 1, hf_camssp_flags, ett_camssp_flags, camssp_flags, ENC_BIG_ENDIAN);
+ }
+ return tvb_reported_length(tvb);
+}
+
+// Generated by asn2wrs
+#include "packet-its-hf.c"
+
+static gint ett_its = -1;
+
+#include "packet-its-ett.c"
+
+// Deal with cause/subcause code management
+struct { CauseCodeType_enum cause; int* hf; } cause_to_subcause[] = {
+ { trafficCondition, &hf_its_trafficCondition1 },
+ { accident, &hf_its_accident2 },
+ { roadworks, &hf_its_roadworks3 },
+ { adverseWeatherCondition_Precipitation, &hf_its_adverseWeatherCondition_Precipitation19 },
+ { adverseWeatherCondition_Visibility, &hf_its_adverseWeatherCondition_Visibility18 },
+ { adverseWeatherCondition_Adhesion, &hf_its_adverseWeatherCondition_Adhesion6 },
+ { adverseWeatherCondition_ExtremeWeatherCondition, &hf_its_adverseWeatherCondition_ExtremeWeatherCondition17 },
+ { hazardousLocation_AnimalOnTheRoad, &hf_its_hazardousLocation_AnimalOnTheRoad11 },
+ { hazardousLocation_ObstacleOnTheRoad, &hf_its_hazardousLocation_ObstacleOnTheRoad10 },
+ { hazardousLocation_SurfaceCondition, &hf_its_hazardousLocation_SurfaceCondition9 },
+ { hazardousLocation_DangerousCurve, &hf_its_hazardousLocation_DangerousCurve96 },
+ { humanPresenceOnTheRoad, &hf_its_humanPresenceOnTheRoad12 },
+ { wrongWayDriving, &hf_its_wrongWayDriving14 },
+ { rescueAndRecoveryWorkInProgress, &hf_its_rescueAndRecoveryWorkInProgress15 },
+ { slowVehicle, &hf_its_slowVehicle26 },
+ { dangerousEndOfQueue, &hf_its_dangerousEndOfQueue27 },
+ { vehicleBreakdown, &hf_its_vehicleBreakdown91 },
+ { postCrash, &hf_its_postCrash92 },
+ { humanProblem, &hf_its_humanProblem93 },
+ { stationaryVehicle, &hf_its_stationaryVehicle94 },
+ { emergencyVehicleApproaching, &hf_its_emergencyVehicleApproaching95 },
+ { collisionRisk, &hf_its_collisionRisk97 },
+ { signalViolation, &hf_its_signalViolation98 },
+ { dangerousSituation, &hf_its_dangerousSituation99 },
+ { reserved, NULL },
+};
+
+static int*
+find_subcause_from_cause(CauseCodeType_enum cause)
+{
+ int idx = 0;
+
+ while (cause_to_subcause[idx].hf && (cause_to_subcause[idx].cause != cause))
+ idx++;
+
+ return cause_to_subcause[idx].hf?cause_to_subcause[idx].hf:&hf_its_subCauseCode;
+}
+
+static unsigned char ita2_ascii[32] = {
+ '\0', 'T', '\r', 'O', ' ', 'H', 'N', 'M', '\n', 'L', 'R', 'G', 'I', 'P', 'C', 'V',
+ 'E', 'Z', 'D', 'B', 'S', 'Y', 'F', 'X', 'A', 'W', 'J', '\0', 'U', 'Q', 'K'
+};
+
+static void
+append_country_code_fmt(proto_item *item, tvbuff_t *val_tvb)
+{
+ guint16 v = tvb_get_guint16(val_tvb, 0, ENC_BIG_ENDIAN);
+ v >>= 6; /* 10 bits */
+ guint16 v1 = (v >> 5) & 0x1F;
+ guint16 v2 = v & 0x1F;
+ proto_item_append_text(item, " - %c%c", ita2_ascii[v1], ita2_ascii[v2]);
+}
+
+#include "packet-its-fn.c"
+
+static void
+its_latitude_fmt(gchar *s, guint32 v)
+{
+ gint32 lat = (gint32)v;
+ if (lat == 900000001) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", lat);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%u°%u'%.3f\"%c (%d)",
+ abs(lat) / 10000000,
+ abs(lat) % 10000000 * 6 / 1000000,
+ abs(lat) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
+ (lat >= 0) ? 'N' : 'S',
+ lat);
+ }
+}
+
+static void
+its_longitude_fmt(gchar *s, guint32 v)
+{
+ gint32 lng = (gint32)v;
+ if (lng == 1800000001) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", lng);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%u°%u'%.3f\"%c (%d)",
+ abs(lng) / 10000000,
+ abs(lng) % 10000000 * 6 / 1000000,
+ abs(lng) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
+ (lng >= 0) ? 'E' : 'W',
+ lng);
+ }
+}
+
+static void
+its_altitude_fmt(gchar *s, guint32 v)
+{
+ gint32 alt = (gint32)v;
+ if (alt == 800001) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", alt);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fm (%d)", alt * 0.01, alt);
+ }
+}
+
+static void
+its_delta_latitude_fmt(gchar *s, guint32 v)
+{
+ gint32 lat = (gint32)v;
+ if (lat == 131072) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", lat);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%u°%u'%.3f\"%c (%d)",
+ abs(lat) / 10000000,
+ abs(lat) % 10000000 * 6 / 1000000,
+ abs(lat) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
+ (lat >= 0) ? 'N' : 'S',
+ lat);
+ }
+}
+
+static void
+its_delta_longitude_fmt(gchar *s, guint32 v)
+{
+ gint32 lng = (gint32)v;
+ if (lng == 131072) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", lng);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%u°%u'%.3f\"%c (%d)",
+ abs(lng) / 10000000,
+ abs(lng) % 10000000 * 6 / 1000000,
+ abs(lng) % 10000000 * 6 % 1000000 * 6.0 / 100000.0,
+ (lng >= 0) ? 'E' : 'W',
+ lng);
+ }
+}
+
+static void
+its_delta_altitude_fmt(gchar *s, guint32 v)
+{
+ gint32 alt = (gint32)v;
+ if (alt == 12800) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", alt);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fm (%d)", alt * 0.01, alt);
+ }
+}
+
+static void
+its_path_delta_time_fmt(gchar *s, guint32 v)
+{
+ gint32 dt = (gint32)v;
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fs (%d)", dt * 0.01, dt);
+}
+
+
+static void
+its_sax_length_fmt(gchar *s, guint32 v)
+{
+ if (v == 4095) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else if (v == 4094) {
+ snprintf(s, ITEM_LABEL_LENGTH, "outOfRange (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fm (%d)", v * 0.01, v);
+ }
+}
+
+static void
+its_heading_value_fmt(gchar *s, guint32 v)
+{
+ const gchar *p = try_val_to_str(v, VALS(its_HeadingValue_vals));
+ if (p) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%s (%d)", p, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f° (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_heading_confidence_fmt(gchar *s, guint32 v)
+{
+ if (v == 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else if (v == 126) {
+ snprintf(s, ITEM_LABEL_LENGTH, "outOfRange (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f° (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_speed_value_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "standstill (%d)", v);
+ } else if (v == 16383) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else {
+ double vms = v * 0.01;
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fm/s = %.1fkm/h (%d)",
+ vms, vms * 3.6, v);
+ }
+}
+
+static void
+its_speed_confidence_fmt(gchar *s, guint32 v)
+{
+ if (v == 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else if (v == 126) {
+ snprintf(s, ITEM_LABEL_LENGTH, "outOfRange (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fm/s (%d)", v * 0.01, v);
+ }
+}
+
+static void
+its_speed_limit_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%dkm/h (%d)", v, v);
+}
+
+static void
+its_vehicle_length_value_fmt(gchar *s, guint32 v)
+{
+ if (v == 1023) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else if (v == 1022) {
+ snprintf(s, ITEM_LABEL_LENGTH, "outOfRange (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fm (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_vehicle_width_fmt(gchar *s, guint32 v)
+{
+ if (v == 62) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else if (v == 61) {
+ snprintf(s, ITEM_LABEL_LENGTH, "outOfRange (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fm (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_acceleration_value_fmt(gchar *s, guint32 v)
+{
+ gint32 acc = (gint32)v;
+ if (acc == 161) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fm/s² (%d)", acc * 0.1, acc);
+ }
+}
+
+static void
+its_acceleration_confidence_fmt(gchar *s, guint32 v)
+{
+ if (v == 102) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else if (v == 101) {
+ snprintf(s, ITEM_LABEL_LENGTH, "outOfRange (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fm/s² (%d)", v * 0.1, v);
+ }
+}
+
+static void
+its_curvature_value_fmt(gchar *s, guint32 v)
+{
+ gint32 curv = (gint32)v;
+ if (curv == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "straight (%d)", v);
+ } else if (curv == 30001) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.3fm %s (%d)",
+ 30000.0 / curv,
+ (curv > 0) ? "left" : "right",
+ curv);
+ }
+}
+
+static void
+its_yaw_rate_value_fmt(gchar *s, guint32 v)
+{
+ gint32 yaw = (gint32)v;
+ if (yaw == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "straight (%d)", v);
+ } else if (yaw == 32767) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2f°/s %s (%d)",
+ yaw * 0.01,
+ (yaw > 0) ? "left" : "right",
+ yaw);
+ }
+}
+
+static void
+its_swa_value_fmt(gchar *s, guint32 v)
+{
+ gint32 swa = (gint32)v;
+ if (swa == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "straight (%d)", v);
+ } else if (swa == 512) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f° %s (%d)",
+ swa * 1.5,
+ (swa > 0) ? "left" : "right",
+ swa);
+ }
+}
+
+static void
+its_swa_confidence_fmt(gchar *s, guint32 v)
+{
+ if (v == 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else if (v == 126) {
+ snprintf(s, ITEM_LABEL_LENGTH, "outOfRange (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f° (%d)", v * 1.5, v);
+ }
+}
+
+static void
+dsrc_moi_fmt(gchar *s, guint32 v)
+{
+ if (v == 527040) {
+ snprintf(s, ITEM_LABEL_LENGTH, "invalid (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ud %02u:%02u (%d)",
+ v / 1440, v % 1440 / 60, v % 60, v);
+ }
+}
+
+static void
+dsrc_dsecond_fmt(gchar *s, guint32 v)
+{
+ if (v == 65535) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else if ((61000 <= v) && (v <= 65534)) {
+ snprintf(s, ITEM_LABEL_LENGTH, "reserved (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%02u.%03u (%d)",
+ v / 1000, v % 1000, v);
+ }
+}
+
+static void
+dsrc_time_mark_fmt(gchar *s, guint32 v)
+{
+ if (v == 36001) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unknown (%d)", v);
+ } else if (v == 36000) {
+ snprintf(s, ITEM_LABEL_LENGTH, "moreThanHour (%d)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%02u:%02u.%u (%d)",
+ v / 600, v % 600 / 10, v % 10, v);
+ }
+}
+
+static void
+its_timestamp_fmt(gchar *s, guint64 v)
+{
+ time_t secs = v / 1000 + 1072915200 - 5;
+ struct tm *tm = gmtime(&secs);
+ snprintf(s, ITEM_LABEL_LENGTH, "%u-%02u-%02u %02u:%02u:%02u.%03u (%" PRIu64 ")",
+ tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (guint32)(v % 1000), v
+ );
+}
+
+static void
+its_validity_duration_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%02u:%02u:%02u (%d)",
+ v / 3600, v % 3600 / 60, v % 60, v);
+}
+
+static const value_string dsrc_TimeIntervalConfidence_vals[] = {
+ { 0, "21% probability" },
+ { 1, "36% probability" },
+ { 2, "47% probability" },
+ { 3, "56% probability" },
+ { 4, "62% probability" },
+ { 5, "68% probability" },
+ { 6, "73% probability" },
+ { 7, "77% probability" },
+ { 8, "81% probability" },
+ { 9, "85% probability" },
+ { 10, "88% probability" },
+ { 11, "91% probability" },
+ { 12, "94% probability" },
+ { 13, "96% probability" },
+ { 14, "98% probability" },
+ { 15, "10% probability" },
+ { 0, NULL }
+};
+
+static void
+dsrc_velocity_fmt(gchar *s, guint32 v)
+{
+ if (v == 8191) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+ } else {
+ double vms = v * 0.02;
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fm/s = %ukm/h (%d)",
+ vms, (int)lround(vms * 3.6), v);
+ }
+}
+
+static void
+dsrc_angle_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2f° (%d)", v * 0.0125, v);
+}
+
+static void
+dsrc_delta_time_fmt(gchar *s, guint32 v)
+{
+ gint32 dt = (gint32)v;
+ if (dt == -122) {
+ snprintf(s, ITEM_LABEL_LENGTH, "unknown (%d)", dt);
+ } else if (dt == -121) {
+ snprintf(s, ITEM_LABEL_LENGTH, "moreThanMinus20Minutes (%d)", dt);
+ } else if (dt == 121) {
+ snprintf(s, ITEM_LABEL_LENGTH, "moreThanPlus20Minutes (%d)", dt);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%s%d:%02u (%d)",
+ (dt < 0) ? "-" : "", abs(dt) / 6, abs(dt) % 6 * 10, dt);
+ }
+}
+
+
+static void
+cpm_object_dimension_value_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fm (%d)", v * 0.1, v);
+}
+
+//static void
+//cpm_object_dimension_confidence_fmt(gchar *s, guint32 v)
+//{
+// if (v == 102) {
+// snprintf(s, ITEM_LABEL_LENGTH, "unavailable (%d)", v);
+// } else if (v == 101) {
+// snprintf(s, ITEM_LABEL_LENGTH, "outOfRange (%d)", v);
+// } else {
+// snprintf(s, ITEM_LABEL_LENGTH, "%.2fm (%d)", v * 0.01, v);
+// }
+//}
+
+static int
+dissect_its_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_item *its_item;
+ proto_tree *its_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ITS");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ its_item = proto_tree_add_item(tree, proto_its, tvb, 0, -1, ENC_NA);
+ its_tree = proto_item_add_subtree(its_item, ett_its);
+
+ return dissect_its_ItsPduHeader_PDU(tvb, pinfo, its_tree, data);
+}
+
+// Decode As...
+static void
+its_msgid_prompt(packet_info *pinfo, gchar *result)
+{
+ guint32 msgid = GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, hf_its_messageId, pinfo->curr_layer_num));
+
+ snprintf(result, MAX_DECODE_AS_PROMPT_LEN, "MsgId (%s%u)", UTF8_RIGHTWARDS_ARROW, msgid);
+}
+
+static gpointer
+its_msgid_value(packet_info *pinfo)
+{
+ return p_get_proto_data(pinfo->pool, pinfo, hf_its_messageId, pinfo->curr_layer_num);
+}
+
+// Registration of protocols
+void proto_register_its(void)
+{
+ static hf_register_info hf_its[] = {
+ #include "packet-its-hfarr.c"
+
+
+ /*
+ * DENM SSP
+ */
+ { &hf_denmssp_version, { "Version", "its.ssp.denm.version", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_denmssp_flags, { "Allowed to sign", "its.ssp.denm.flags", FT_UINT24, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_denmssp_trafficCondition,
+ { "trafficCondition", "its.denm.ssp.trafficCondition",
+ FT_UINT24, BASE_DEC, NULL, 0x800000, NULL, HFILL }},
+ { &hf_denmssp_accident,
+ { "accident", "its.denm.ssp.accident",
+ FT_UINT24, BASE_DEC, NULL, 0x400000, NULL, HFILL }},
+ { &hf_denmssp_roadworks,
+ { "roadworks", "its.denm.ssp.roadworks",
+ FT_UINT24, BASE_DEC, NULL, 0x200000, NULL, HFILL }},
+ { &hf_denmssp_adverseWeatherConditionAdhesion,
+ { "adverseWeatherConditionAdhesion", "its.denm.ssp.advWxConditionAdhesion",
+ FT_UINT24, BASE_DEC, NULL, 0x100000, NULL, HFILL }},
+ { &hf_denmssp_hazardousLocationSurfaceCondition,
+ { "hazardousLocationSurfaceCondition", "its.denm.ssp.hazLocationSurfaceCondition",
+ FT_UINT24, BASE_DEC, NULL, 0x080000, NULL, HFILL }},
+ { &hf_denmssp_hazardousLocationObstacleOnTheRoad,
+ { "hazardousLocationObstacleOnTheRoad", "its.denm.ssp.hazLocationObstacleOnTheRoad",
+ FT_UINT24, BASE_DEC, NULL, 0x040000, NULL, HFILL }},
+ { &hf_denmssp_hazardousLocationAnimalOnTheRoad,
+ { "hazardousLocationAnimalOnTheRoad", "its.denm.ssp.hazLocationAnimalOnTheRoad",
+ FT_UINT24, BASE_DEC, NULL, 0x020000, NULL, HFILL }},
+ { &hf_denmssp_humanPresenceOnTheRoad,
+ { "humanPresenceOnTheRoad", "its.denm.ssp.humanPresenceOnTheRoad",
+ FT_UINT24, BASE_DEC, NULL, 0x010000, NULL, HFILL }},
+ { &hf_denmssp_wrongWayDriving,
+ { "wrongWayDriving", "its.denm.ssp.wrongWayDriving",
+ FT_UINT24, BASE_DEC, NULL, 0x008000, NULL, HFILL }},
+ { &hf_denmssp_rescueAndRecoveryWorkInProgress,
+ { "rescueAndRecoveryWorkInProgress", "its.denm.ssp.rescueAndRecoveryWorkInProgress",
+ FT_UINT24, BASE_DEC, NULL, 0x004000, NULL, HFILL }},
+ { &hf_denmssp_ExtremeWeatherCondition,
+ { "ExtremeWeatherCondition", "its.denm.ssp.ExtremeWxCondition",
+ FT_UINT24, BASE_DEC, NULL, 0x002000, NULL, HFILL }},
+ { &hf_denmssp_adverseWeatherConditionVisibility,
+ { "adverseWeatherConditionVisibility", "its.denm.ssp.advWxConditionVisibility",
+ FT_UINT24, BASE_DEC, NULL, 0x001000, NULL, HFILL }},
+ { &hf_denmssp_adverseWeatherConditionPrecipitation,
+ { "adverseWeatherConditionPrecipitation", "its.denm.ssp.advWxConditionPrecipitation",
+ FT_UINT24, BASE_DEC, NULL, 0x000800, NULL, HFILL }},
+ { &hf_denmssp_slowVehicle,
+ { "slowVehicle", "its.denm.ssp.slowVehicle",
+ FT_UINT24, BASE_DEC, NULL, 0x000400, NULL, HFILL }},
+ { &hf_denmssp_dangerousEndOfQueue,
+ { "dangerousEndOfQueue", "its.denm.ssp.dangerousEndOfQueue",
+ FT_UINT24, BASE_DEC, NULL, 0x000200, NULL, HFILL }},
+ { &hf_denmssp_vehicleBreakdown,
+ { "vehicleBreakdown", "its.denm.ssp.vehicleBreakdown",
+ FT_UINT24, BASE_DEC, NULL, 0x000100, NULL, HFILL }},
+ { &hf_denmssp_postCrash,
+ { "postCrash", "its.denm.ssp.postCrash",
+ FT_UINT24, BASE_DEC, NULL, 0x000080, NULL, HFILL }},
+ { &hf_denmssp_humanProblem,
+ { "humanProblem", "its.denm.ssp.humanProblem",
+ FT_UINT24, BASE_DEC, NULL, 0x000040, NULL, HFILL }},
+ { &hf_denmssp_stationaryVehicle,
+ { "stationaryVehicle", "its.denm.ssp.stationaryVehicle",
+ FT_UINT24, BASE_DEC, NULL, 0x000020, NULL, HFILL }},
+ { &hf_denmssp_emergencyVehicleApproaching,
+ { "emergencyVehicleApproaching", "its.denm.ssp.emergencyVehicleApproaching",
+ FT_UINT24, BASE_DEC, NULL, 0x000010, NULL, HFILL }},
+ { &hf_denmssp_hazardousLocationDangerousCurve,
+ { "hazardousLocationDangerousCurve", "its.denm.ssp.hazLocationDangerousCurve",
+ FT_UINT24, BASE_DEC, NULL, 0x000008, NULL, HFILL }},
+ { &hf_denmssp_collisionRisk,
+ { "collisionRisk", "its.denm.ssp.collisionRisk",
+ FT_UINT24, BASE_DEC, NULL, 0x000004, NULL, HFILL }},
+ { &hf_denmssp_signalViolation,
+ { "signalViolation", "its.denm.ssp.signalViolation",
+ FT_UINT24, BASE_DEC, NULL, 0x000002, NULL, HFILL }},
+ { &hf_denmssp_dangerousSituation,
+ { "dangerousSituation", "its.denm.ssp.dangerousSituation",
+ FT_UINT24, BASE_DEC, NULL, 0x000001, NULL, HFILL }},
+
+ /*
+ * CAM SSP
+ */
+ { &hf_camssp_version, { "Version", "its.ssp.cam.version", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_camssp_flags, { "Allowed to sign", "its.ssp.cam.flags", FT_UINT16, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_camssp_cenDsrcTollingZone, { "cenDsrcTollingZone", "its.ssp.cam.cenDsrcTollingZone", FT_UINT16, BASE_DEC, NULL, 0x8000, NULL, HFILL }},
+ { &hf_camssp_publicTransport, { "publicTransport", "its.ssp.cam.publicTransport", FT_UINT16, BASE_DEC, NULL, 0x4000, NULL, HFILL }},
+ { &hf_camssp_specialTransport, { "specialTransport", "its.ssp.cam.specialTransport", FT_UINT16, BASE_DEC, NULL, 0x2000, NULL, HFILL }},
+ { &hf_camssp_dangerousGoods, { "dangerousGoods", "its.ssp.cam.dangerousGoods", FT_UINT16, BASE_DEC, NULL, 0x1000, NULL, HFILL }},
+ { &hf_camssp_roadwork, { "roadwork", "its.ssp.cam.roadwork", FT_UINT16, BASE_DEC, NULL, 0x0800, NULL, HFILL }},
+ { &hf_camssp_rescue, { "rescue", "its.ssp.cam.rescue", FT_UINT16, BASE_DEC, NULL, 0x0400, NULL, HFILL }},
+ { &hf_camssp_emergency, { "emergency", "its.ssp.cam.emergency", FT_UINT16, BASE_DEC, NULL, 0x0200, NULL, HFILL }},
+ { &hf_camssp_safetyCar, { "safetyCar", "its.ssp.cam.safetyCar", FT_UINT16, BASE_DEC, NULL, 0x0100, NULL, HFILL }},
+ { &hf_camssp_closedLanes, { "closedLanes", "its.ssp.cam.closedLanes", FT_UINT16, BASE_DEC, NULL, 0x0080, NULL, HFILL }},
+ { &hf_camssp_requestForRightOfWay, { "requestForRightOfWay", "its.ssp.cam.requestForRightOfWay", FT_UINT16, BASE_DEC, NULL, 0x0040, NULL, HFILL }},
+ { &hf_camssp_requestForFreeCrossingAtATrafficLight, { "reqFreeCrossTrafLight", "its.ssp.cam.requestForFreeCrossingAtATrafficLight", FT_UINT16, BASE_DEC, NULL, 0x0020, NULL, HFILL }},
+ { &hf_camssp_noPassing, { "noPassing", "its.ssp.cam.noPassing", FT_UINT16, BASE_DEC, NULL, 0x0010, NULL, HFILL }},
+ { &hf_camssp_noPassingForTrucks, { "noPassingForTrucks", "its.ssp.cam.noPassingForTrucks", FT_UINT16, BASE_DEC, NULL, 0x0008, NULL, HFILL }},
+ { &hf_camssp_speedLimit, { "speedLimit", "its.ssp.cam.speedLimit", FT_UINT16, BASE_DEC, NULL, 0x0004, NULL, HFILL }},
+ { &hf_camssp_reserved, { "reserved", "its.ssp.cam.reserved", FT_UINT16, BASE_DEC, NULL, 0x0003, NULL, HFILL }},
+ };
+
+ static gint *ett[] = {
+ &ett_its,
+ &ett_denmssp_flags,
+ &ett_camssp_flags,
+ #include "packet-its-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_its_no_sub_dis, { "its.no_subdissector", PI_PROTOCOL, PI_NOTE, "No subdissector found for this Message id/protocol version combination", EXPFILL }},
+ };
+
+ expert_module_t* expert_its;
+
+ proto_its = proto_register_protocol("Intelligent Transport Systems", "ITS", "its");
+
+ proto_register_field_array(proto_its, hf_its, array_length(hf_its));
+
+ proto_register_subtree_array(ett, array_length(ett));
+
+ expert_its = expert_register_protocol(proto_its);
+
+ expert_register_field_array(expert_its, ei, array_length(ei));
+
+ its_handle = register_dissector("its", dissect_its_PDU, proto_its);
+
+ // Register subdissector table
+ its_version_subdissector_table = register_dissector_table("its.version", "ITS version", proto_its, FT_UINT8, BASE_DEC);
+ its_msgid_subdissector_table = register_dissector_table("its.msg_id", "ITS message id", proto_its, FT_UINT32, BASE_DEC);
+ regionid_subdissector_table = register_dissector_table("dsrc.regionid", "DSRC RegionId", proto_its, FT_UINT32, BASE_DEC);
+ cpmcontainer_subdissector_table = register_dissector_table("cpm.container", "CPM Containers id", proto_its, FT_UINT32, BASE_DEC);
+ cam_pt_activation_table = register_dissector_table("cam.ptat", "CAM PtActivationType", proto_its, FT_UINT32, BASE_DEC);
+
+ proto_its_denm = proto_register_protocol_in_name_only("ITS message - DENM", "DENM", "its.message.denm", proto_its, FT_BYTES);
+ proto_its_denmv1 = proto_register_protocol_in_name_only("ITS message - DENMv1", "DENMv1", "its.message.denmv1", proto_its, FT_BYTES);
+ proto_its_cam = proto_register_protocol_in_name_only("ITS message - CAM", "CAM", "its.message.cam", proto_its, FT_BYTES);
+ proto_its_camv1 = proto_register_protocol_in_name_only("ITS message - CAMv1", "CAMv1", "its.message.camv1", proto_its, FT_BYTES);
+ proto_its_spatemv1 = proto_register_protocol_in_name_only("ITS message - SPATEMv1", "SPATEMv1", "its.message.spatemv1", proto_its, FT_BYTES);
+ proto_its_spatem = proto_register_protocol_in_name_only("ITS message - SPATEM", "SPATEM", "its.message.spatem", proto_its, FT_BYTES);
+ proto_its_mapemv1 = proto_register_protocol_in_name_only("ITS message - MAPEMv1", "MAPEMv1", "its.message.mapemv1", proto_its, FT_BYTES);
+ proto_its_mapem = proto_register_protocol_in_name_only("ITS message - MAPEM", "MAPEM", "its.message.mapem", proto_its, FT_BYTES);
+ proto_its_ivimv1 = proto_register_protocol_in_name_only("ITS message - IVIMv1", "IVIMv1", "its.message.ivimv1", proto_its, FT_BYTES);
+ proto_its_ivim = proto_register_protocol_in_name_only("ITS message - IVIM", "IVIM", "its.message.ivim", proto_its, FT_BYTES);
+ proto_its_evrsr = proto_register_protocol_in_name_only("ITS message - EVRSR", "EVRSR", "its.message.evrsr", proto_its, FT_BYTES);
+ proto_its_srem = proto_register_protocol_in_name_only("ITS message - SREM", "SREM", "its.message.srem", proto_its, FT_BYTES);
+ proto_its_ssem = proto_register_protocol_in_name_only("ITS message - SSEM", "SSEM", "its.message.ssem", proto_its, FT_BYTES);
+ proto_its_rtcmemv1 = proto_register_protocol_in_name_only("ITS message - RTCMEMv1", "RTCMEMv1", "its.message.rtcmemv1", proto_its, FT_BYTES);
+ proto_its_rtcmem = proto_register_protocol_in_name_only("ITS message - RTCMEM", "RTCMEM", "its.message.rtcmem", proto_its, FT_BYTES);
+ proto_its_evcsn = proto_register_protocol_in_name_only("ITS message - EVCSN", "EVCSN", "its.message.evcsn", proto_its, FT_BYTES);
+ proto_its_tistpg = proto_register_protocol_in_name_only("ITS message - TISTPG", "TISTPG", "its.message.tistpg", proto_its, FT_BYTES);
+ proto_its_cpm = proto_register_protocol_in_name_only("ITS message - CPM", "CPM", "its.message.cpm", proto_its, FT_BYTES);
+ proto_its_vam = proto_register_protocol_in_name_only("ITS message - VAM", "VAM", "its.message.vam", proto_its, FT_BYTES);
+ proto_its_imzm = proto_register_protocol_in_name_only("ITS message - IMZM", "IMZM", "its.message.imzm", proto_its, FT_BYTES);
+
+ proto_addgrpc = proto_register_protocol_in_name_only("DSRC Addition Grp C (EU)", "ADDGRPC", "dsrc.addgrpc", proto_its, FT_BYTES);
+
+ // Decode as
+ static build_valid_func its_da_build_value[1] = {its_msgid_value};
+ static decode_as_value_t its_da_values = {its_msgid_prompt, 1, its_da_build_value};
+ static decode_as_t its_da = {"its", "its.msg_id", 1, 0, &its_da_values, NULL, NULL,
+ decode_as_default_populate_list, decode_as_default_reset, decode_as_default_change, NULL};
+
+ register_decode_as(&its_da);
+}
+
+#define BTP_SUBDISS_SZ 2
+#define BTP_PORTS_SZ 12
+
+#define ITS_CAM_PROT_VER 2
+#define ITS_CAM_PROT_VERv1 1
+#define ITS_DENM_PROT_VER 2
+#define ITS_DENM_PROT_VERv1 1
+#define ITS_SPATEM_PROT_VERv1 1
+#define ITS_SPATEM_PROT_VER 2
+#define ITS_MAPEM_PROT_VERv1 1
+#define ITS_MAPEM_PROT_VER 2
+#define ITS_IVIM_PROT_VERv1 1
+#define ITS_IVIM_PROT_VER 2
+#define ITS_SREM_PROT_VER 2
+#define ITS_SSEM_PROT_VER 2
+#define ITS_RTCMEM_PROT_VERv1 1
+#define ITS_RTCMEM_PROT_VER 2
+#define ITS_TIS_TPG_PROT_VER 1
+#define ITS_CPM_PROT_VER 2
+#define ITS_VAM_PROT_VER 2
+#define ITS_IMZM_PROT_VER 2
+
+void proto_reg_handoff_its(void)
+{
+ const char *subdissector[BTP_SUBDISS_SZ] = { "btpa.port", "btpb.port" };
+ const guint16 ports[BTP_PORTS_SZ] = { ITS_WKP_DEN, ITS_WKP_CA, ITS_WKP_EVCSN, ITS_WKP_CHARGING, ITS_WKP_IVI, ITS_WKP_TPG, ITS_WKP_TLC_SSEM, ITS_WKP_GPC, ITS_WKP_TLC_SREM, ITS_WKP_RLT, ITS_WKP_TLM, ITS_WKP_CPS };
+ int sdIdx, pIdx;
+
+ // Register well known ports to btp subdissector table (BTP A and B)
+ for (sdIdx=0; sdIdx < BTP_SUBDISS_SZ; sdIdx++) {
+ for (pIdx=0; pIdx < BTP_PORTS_SZ; pIdx++) {
+ dissector_add_uint(subdissector[sdIdx], ports[pIdx], its_handle);
+ }
+ }
+
+ // Enable decode as for its pdu's send via udp
+ dissector_add_for_decode_as("udp.port", its_handle);
+
+ dissector_add_uint("its.msg_id", (ITS_DENM_PROT_VER << 16) + ITS_DENM, create_dissector_handle(dissect_denm_DenmPayload_PDU, proto_its_denm ));
+ dissector_add_uint("its.msg_id", (ITS_DENM_PROT_VERv1 << 16) + ITS_DENM, create_dissector_handle(dissect_denmv1_DecentralizedEnvironmentalNotificationMessageV1_PDU, proto_its_denmv1 ));
+ dissector_add_uint("its.msg_id", (ITS_CAM_PROT_VER << 16) + ITS_CAM, create_dissector_handle( dissect_cam_CamPayload_PDU, proto_its_cam ));
+ dissector_add_uint("its.msg_id", (ITS_CAM_PROT_VERv1 << 16) + ITS_CAM, create_dissector_handle( dissect_camv1_CoopAwarenessV1_PDU, proto_its_camv1));
+ dissector_add_uint("its.msg_id", (ITS_SPATEM_PROT_VERv1 << 16) + ITS_SPATEM, create_dissector_handle( dissect_dsrc_SPAT_PDU, proto_its_spatemv1 ));
+ dissector_add_uint("its.msg_id", (ITS_SPATEM_PROT_VER << 16) + ITS_SPATEM, create_dissector_handle( dissect_dsrc_SPAT_PDU, proto_its_spatem ));
+ dissector_add_uint("its.msg_id", (ITS_MAPEM_PROT_VERv1 << 16) + ITS_MAPEM, create_dissector_handle( dissect_dsrc_MapData_PDU, proto_its_mapemv1 ));
+ dissector_add_uint("its.msg_id", (ITS_MAPEM_PROT_VER << 16) + ITS_MAPEM, create_dissector_handle( dissect_dsrc_MapData_PDU, proto_its_mapem ));
+ dissector_add_uint("its.msg_id", (ITS_IVIM_PROT_VERv1 << 16) + ITS_IVIM, create_dissector_handle( dissect_ivi_IviStructure_PDU, proto_its_ivimv1 ));
+ dissector_add_uint("its.msg_id", (ITS_IVIM_PROT_VER << 16) + ITS_IVIM, create_dissector_handle( dissect_ivi_IviStructure_PDU, proto_its_ivim ));
+ dissector_add_uint("its.msg_id", ITS_EV_RSR, create_dissector_handle( dissect_evrsr_EV_RSR_MessageBody_PDU, proto_its_evrsr ));
+ dissector_add_uint("its.msg_id", (ITS_SREM_PROT_VER << 16) + ITS_SREM, create_dissector_handle( dissect_dsrc_SignalRequestMessage_PDU, proto_its_srem ));
+ dissector_add_uint("its.msg_id", (ITS_SSEM_PROT_VER << 16) + ITS_SSEM, create_dissector_handle( dissect_dsrc_SignalStatusMessage_PDU, proto_its_ssem ));
+ dissector_add_uint("its.msg_id", (ITS_RTCMEM_PROT_VERv1 << 16) + ITS_RTCMEM, create_dissector_handle( dissect_dsrc_RTCMcorrections_PDU, proto_its_rtcmemv1));
+ dissector_add_uint("its.msg_id", (ITS_RTCMEM_PROT_VER << 16) + ITS_RTCMEM, create_dissector_handle(dissect_dsrc_RTCMcorrections_PDU, proto_its_rtcmem));
+ dissector_add_uint("its.msg_id", ITS_EVCSN, create_dissector_handle( dissect_evcsn_EVChargingSpotNotificationPOIMessage_PDU, proto_its_evcsn ));
+ dissector_add_uint("its.msg_id", (ITS_TIS_TPG_PROT_VER << 16) + ITS_TISTPGTRANSACTION, create_dissector_handle( dissect_tistpg_TisTpgTransaction_PDU, proto_its_tistpg ));
+ dissector_add_uint("its.msg_id", (ITS_CPM_PROT_VER << 16) + ITS_CPM, create_dissector_handle(dissect_cpm_CollectivePerceptionMessage_PDU, proto_its_cpm));
+ dissector_add_uint("its.msg_id", (ITS_IMZM_PROT_VER << 16) + ITS_IMZM, create_dissector_handle(dissect_imzm_InterferenceManagementZoneMessage_PDU, proto_its_imzm));
+ dissector_add_uint("its.msg_id", (ITS_VAM_PROT_VER << 16) + ITS_VAM, create_dissector_handle(dissect_vam_VruAwareness_PDU, proto_its_vam));
+
+ /* Missing definitions: ITS_POI, ITS_SAEM */
+
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_ConnectionManeuverAssist, create_dissector_handle(dissect_AddGrpC_ConnectionManeuverAssist_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_GenericLane, create_dissector_handle(dissect_AddGrpC_ConnectionTrajectory_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_NodeAttributeSetXY, create_dissector_handle(dissect_AddGrpC_NodeAttributeSet_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_IntersectionState, create_dissector_handle(dissect_AddGrpC_IntersectionState_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_MapData,create_dissector_handle(dissect_AddGrpC_MapData_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_Position3D, create_dissector_handle(dissect_AddGrpC_Position3D_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_RestrictionUserType, create_dissector_handle(dissect_AddGrpC_RestrictionUserType_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_SignalStatusPackage, create_dissector_handle(dissect_AddGrpC_SignalStatusPackage_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_LaneAttributes, create_dissector_handle(dissect_AddGrpC_LaneAttributes_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_MovementEvent, create_dissector_handle(dissect_AddGrpC_MovementEvent_addGrpC_PDU, proto_addgrpc ));
+ dissector_add_uint("dsrc.regionid", (addGrpC<<16)+Reg_RequestorDescription, create_dissector_handle(dissect_AddGrpC_RequestorDescription_addGrpC_PDU, proto_addgrpc ));
+
+ dissector_add_uint("ieee1609dot2.ssp", psid_den_basic_services, create_dissector_handle(dissect_denmssp_pdu, proto_its_denm));
+ dissector_add_uint("ieee1609dot2.ssp", psid_ca_basic_services, create_dissector_handle(dissect_camssp_pdu, proto_its_cam));
+ dissector_add_uint("geonw.ssp", psid_den_basic_services, create_dissector_handle(dissect_denmssp_pdu, proto_its_denm));
+ dissector_add_uint("geonw.ssp", psid_ca_basic_services, create_dissector_handle(dissect_camssp_pdu, proto_its_cam));
+
+ dissector_add_uint("cpm.container", 1, create_dissector_handle(dissect_cpm_OriginatingVehicleContainer_PDU, proto_its_cpm));
+ dissector_add_uint("cpm.container", 2, create_dissector_handle(dissect_cpm_OriginatingRsuContainer_PDU, proto_its_cpm));
+ dissector_add_uint("cpm.container", 3, create_dissector_handle(dissect_cpm_SensorInformationContainer_PDU, proto_its_cpm));
+ dissector_add_uint("cpm.container", 4, create_dissector_handle(dissect_cpm_PerceptionRegionContainer_PDU, proto_its_cpm));
+ dissector_add_uint("cpm.container", 5, create_dissector_handle(dissect_cpm_PerceivedObjectContainer_PDU, proto_its_cpm));
+
+ its_tap = register_tap("its");
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/its/packet-its-template.h b/epan/dissectors/asn1/its/packet-its-template.h
new file mode 100644
index 00000000..6381b753
--- /dev/null
+++ b/epan/dissectors/asn1/its/packet-its-template.h
@@ -0,0 +1,59 @@
+/* packet-its-template.h
+ *
+ * Intelligent Transport Systems Applications dissectors
+ * C. Guerber <cguerber@yahoo.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef __PACKET_ITS_H__
+#define __PACKET_ITS_H__
+
+#include "packet-its-exp.h"
+
+#include "packet-its-val.h"
+
+typedef struct its_header {
+ guint32 version;
+ guint32 msgId;
+ guint32 stationId;
+ guint32 CpmContainerId;
+} its_header_t;
+
+enum regext_type_enum {
+ Reg_AdvisorySpeed,
+ Reg_ComputedLane,
+ Reg_ConnectionManeuverAssist,
+ Reg_GenericLane,
+ Reg_IntersectionGeometry,
+ Reg_IntersectionState,
+ Reg_LaneAttributes,
+ Reg_LaneDataAttribute,
+ Reg_MapData,
+ Reg_MovementEvent,
+ Reg_MovementState,
+ Reg_NodeAttributeSetLL,
+ Reg_NodeAttributeSetXY,
+ Reg_NodeOffsetPointLL,
+ Reg_NodeOffsetPointXY,
+ Reg_Position3D,
+ Reg_RequestorDescription,
+ Reg_RequestorType,
+ Reg_RestrictionUserType,
+ Reg_RoadSegment,
+ Reg_SignalControlZone,
+ Reg_SignalRequest,
+ Reg_SignalRequestMessage,
+ Reg_SignalRequestPackage,
+ Reg_SignalStatus,
+ Reg_SignalStatusMessage,
+ Reg_SignalStatusPackage,
+ Reg_SPAT,
+ Reg_RTCMcorrections,
+};
+
+#endif /* __PACKET_ITS_H__ */
diff --git a/epan/dissectors/asn1/kerberos/CMakeLists.txt b/epan/dissectors/asn1/kerberos/CMakeLists.txt
new file mode 100644
index 00000000..a8b2a43c
--- /dev/null
+++ b/epan/dissectors/asn1/kerberos/CMakeLists.txt
@@ -0,0 +1,43 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME kerberos )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ KerberosV5Spec2.asn
+ k5.asn
+ RFC3244.asn
+ RFC6113.asn
+ SPAKE.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/kerberos/KerberosV5Spec2.asn b/epan/dissectors/asn1/kerberos/KerberosV5Spec2.asn
new file mode 100644
index 00000000..f53f8552
--- /dev/null
+++ b/epan/dissectors/asn1/kerberos/KerberosV5Spec2.asn
@@ -0,0 +1,516 @@
+--http://www.ietf.org/rfc/rfc4120.txt?number=4120
+KerberosV5Spec2 {
+ iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) kerberosV5(2) modules(4) krb5spec2(2)
+} DEFINITIONS EXPLICIT TAGS ::= BEGIN
+
+-- OID arc for KerberosV5
+--
+-- This OID may be used to identify Kerberos protocol messages
+-- encapsulated in other protocols.
+--
+-- This OID also designates the OID arc for KerberosV5-related OIDs.
+--
+-- NOTE: RFC 1510 had an incorrect value (5) for "dod" in its OID.
+-- WS construct
+Applications ::= CHOICE {
+ ticket Ticket, -- 1 --
+ authenticator Authenticator, -- 2 --
+ encTicketPart EncTicketPart, -- 3 --
+ as-req AS-REQ, -- 10 --
+ as-rep AS-REP, -- 11 --
+ tgs-req TGS-REQ, -- 12 --
+ tgs-rep TGS-REP, -- 13 --
+ ap-req AP-REQ, -- 14 --
+ ap-rep AP-REP, -- 15 --
+ krb-safe KRB-SAFE, -- 20 --
+ krb-priv KRB-PRIV, -- 21 --
+ krb-cred KRB-CRED, -- 22 --
+ encASRepPart EncASRepPart, -- 25 --
+ encTGSRepPart EncTGSRepPart, -- 26 --
+ encAPRepPart EncAPRepPart, -- 27 --
+ encKrbPrivPart ENC-KRB-PRIV-PART, -- 28 --
+ encKrbCredPart EncKrbCredPart, -- 29 --
+ krb-error KRB-ERROR -- 30 --
+ }
+-- end WS construct
+id-krb5 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) kerberosV5(2)
+}
+
+Int32 ::= INTEGER (-2147483648..2147483647)
+ -- signed values representable in 32 bits
+
+UInt32 ::= INTEGER (0..4294967295)
+ -- unsigned 32 bit values
+
+Microseconds ::= INTEGER (0..999999)
+ -- microseconds
+
+KerberosString ::= GeneralString (IA5String)
+CNameString ::= GeneralString (IA5String)
+SNameString ::= GeneralString (IA5String)
+
+Realm ::= KerberosString
+
+PrincipalName ::= SEQUENCE {
+-- name-type [0] Int32, Use the translationj from krb5.asn (Heimdahl)
+ name-type [0] NAME-TYPE,
+ name-string [1] SEQUENCE OF KerberosString
+}
+
+CName ::= SEQUENCE {
+ name-type [0] NAME-TYPE,
+ cname-string [1] SEQUENCE OF CNameString
+}
+
+SName ::= SEQUENCE {
+ name-type [0] NAME-TYPE,
+ sname-string [1] SEQUENCE OF SNameString
+}
+
+KerberosTime ::= GeneralizedTime -- with no fractional seconds
+
+HostAddress ::= SEQUENCE {
+-- addr-type [0] Int32,
+ addr-type [0] ADDR-TYPE, --use k5.asn
+ address [1] OCTET STRING
+}
+
+-- NOTE: HostAddresses is always used as an OPTIONAL field and
+-- should not be empty.
+HostAddresses -- NOTE: subtly different from rfc1510,
+ -- but has a value mapping and encodes the same
+ ::= SEQUENCE OF HostAddress
+
+-- NOTE: AuthorizationData is always used as an OPTIONAL field and
+-- should not be empty.
+AuthorizationData ::= SEQUENCE OF SEQUENCE {
+ ad-type [0] AUTHDATA-TYPE,
+ ad-data [1] OCTET STRING
+}
+
+PA-DATA ::= SEQUENCE {
+ -- NOTE: first tag is [1], not [0]
+-- padata-type [1] Int32, use k5.asn
+ padata-type [1] PADATA-TYPE,
+ padata-value [2] OCTET STRING -- might be encoded AP-REQ
+}
+
+KerberosFlags ::= BIT STRING (SIZE (32..MAX))
+ -- minimum number of bits shall be sent,
+ -- but no fewer than 32
+
+EncryptedData ::= SEQUENCE {
+-- etype [0] Int32 - - EncryptionType - -, Use k5.asn
+ etype [0] ENCTYPE -- EncryptionType --,
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+EncryptionKey ::= SEQUENCE {
+ keytype [0] Int32 -- actually encryption type --,
+ keyvalue [1] OCTET STRING
+}
+
+Checksum ::= SEQUENCE {
+-- cksumtype [0] Int32, Use k5.asn
+ cksumtype [0] CKSUMTYPE,
+ checksum [1] OCTET STRING
+}
+
+EncryptedTicketData ::= SEQUENCE {
+ etype [0] ENCTYPE, -- EncryptionType - - Use k5.asn
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+EncryptedAuthorizationData ::= SEQUENCE {
+ etype [0] ENCTYPE, -- EncryptionType - - Use k5.asn
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+EncryptedAuthenticator ::= SEQUENCE {
+ etype [0] ENCTYPE, -- EncryptionType - - Use k5.asn
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+EncryptedKDCREPData ::= SEQUENCE {
+ etype [0] ENCTYPE, -- EncryptionType - - Use k5.asn
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+EncryptedAPREPData ::= SEQUENCE {
+ etype [0] ENCTYPE, -- EncryptionType - - Use k5.asn
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+EncryptedKrbPrivData ::= SEQUENCE {
+ etype [0] ENCTYPE, -- EncryptionType - - Use k5.asn
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+EncryptedKrbCredData ::= SEQUENCE {
+ etype [0] ENCTYPE, -- EncryptionType - - Use k5.asn
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+Ticket ::= [APPLICATION 1] SEQUENCE {
+ tkt-vno [0] INTEGER (5),
+ realm [1] Realm,
+ sname [2] SName,
+ enc-part [3] EncryptedTicketData
+}
+
+-- Encrypted part of ticket
+EncTicketPart ::= [APPLICATION 3] SEQUENCE {
+ flags [0] TicketFlags,
+ key [1] EncryptionKey,
+ crealm [2] Realm,
+ cname [3] CName,
+ transited [4] TransitedEncoding,
+ authtime [5] KerberosTime,
+ starttime [6] KerberosTime OPTIONAL,
+ endtime [7] KerberosTime,
+ renew-till [8] KerberosTime OPTIONAL,
+ caddr [9] HostAddresses OPTIONAL,
+ authorization-data [10] AuthorizationData OPTIONAL
+}
+
+-- encoded Transited field
+TransitedEncoding ::= SEQUENCE {
+ tr-type [0] Int32 -- must be registered --,
+ contents [1] OCTET STRING
+}
+-- Use the k5.asn def
+-- TicketFlags ::= KerberosFlags
+ -- reserved(0),
+ -- forwardable(1),
+ -- forwarded(2),
+ -- proxiable(3),
+ -- proxy(4),
+ -- may-postdate(5),
+ -- postdated(6),
+ -- invalid(7),
+ -- renewable(8),
+ -- initial(9),
+ -- pre-authent(10),
+ -- hw-authent(11),
+-- the following are new since 1510
+ -- transited-policy-checked(12),
+ -- ok-as-delegate(13)
+
+AS-REQ ::= [APPLICATION 10] KDC-REQ
+
+TGS-REQ ::= [APPLICATION 12] KDC-REQ
+
+KDC-REQ ::= SEQUENCE {
+ -- NOTE: first tag is [1], not [0]
+ pvno [1] INTEGER (5) ,
+-- msg-type [2] INTEGER (10 - - AS - - | 12 - - TGS - -),
+-- msg-type [2] INTEGER, use k5.asn
+ msg-type [2] MESSAGE-TYPE,
+ padata [3] SEQUENCE OF PA-DATA OPTIONAL
+ -- NOTE: not empty --,
+ req-body [4] KDC-REQ-BODY
+}
+
+KDC-REQ-BODY ::= SEQUENCE {
+ kdc-options [0] KDCOptions,
+ cname [1] CName OPTIONAL
+ -- Used only in AS-REQ --,
+ realm [2] Realm
+ -- Server's realm
+ -- Also client's in AS-REQ --,
+ sname [3] SName OPTIONAL,
+ from [4] KerberosTime OPTIONAL,
+
+-- this field is not optional in the kerberos spec, however, in the packetcable spec it is optional
+-- make it optional here since normal kerberos will still decode the pdu correctly.
+ till [5] KerberosTime OPTIONAL,
+
+ rtime [6] KerberosTime OPTIONAL,
+ nonce [7] UInt32,
+-- etype [8] SEQUENCE OF Int32 - - EncryptionType Use k5.asn
+ etype [8] SEQUENCE OF ENCTYPE -- EncryptionType
+ -- in preference order --,
+ addresses [9] HostAddresses OPTIONAL,
+ enc-authorization-data [10] EncryptedAuthorizationData OPTIONAL
+ -- AuthorizationData --,
+ additional-tickets [11] SEQUENCE OF Ticket OPTIONAL
+ -- NOTE: not empty
+}
+
+-- Use th k5.asn def
+--KDCOptions ::= KerberosFlags
+ -- reserved(0),
+ -- forwardable(1),
+ -- forwarded(2),
+ -- proxiable(3),
+ -- proxy(4),
+ -- allow-postdate(5),
+ -- postdated(6),
+ -- unused7(7),
+ -- renewable(8),
+ -- unused9(9),
+ -- unused10(10),
+ -- opt-hardware-auth(11),
+ -- unused12(12),
+ -- unused13(13),
+-- 15 is reserved for canonicalize
+ -- unused15(15),
+-- 26 was unused in 1510
+ -- disable-transited-check(26),
+--
+ -- renewable-ok(27),
+ -- enc-tkt-in-skey(28),
+ -- renew(30),
+ -- validate(31)
+
+AS-REP ::= [APPLICATION 11] KDC-REP
+
+TGS-REP ::= [APPLICATION 13] KDC-REP
+
+
+KDC-REP ::= SEQUENCE {
+ pvno [0] INTEGER (5),
+-- msg-type [1] INTEGER (11 - - AS - - | 13 - - TGS - -),
+-- msg-type [1] INTEGER, use k5.asn
+ msg-type [1] MESSAGE-TYPE,
+ padata [2] SEQUENCE OF PA-DATA OPTIONAL
+ -- NOTE: not empty --,
+ crealm [3] Realm,
+ cname [4] CName,
+ ticket [5] Ticket,
+ enc-part [6] EncryptedKDCREPData
+ -- EncASRepPart or EncTGSRepPart,
+ -- as appropriate
+}
+
+EncASRepPart ::= [APPLICATION 25] EncKDCRepPart
+
+EncTGSRepPart ::= [APPLICATION 26] EncKDCRepPart
+
+EncKDCRepPart ::= SEQUENCE {
+ key [0] EncryptionKey,
+ last-req [1] LastReq,
+ nonce [2] UInt32,
+ key-expiration [3] KerberosTime OPTIONAL,
+ flags [4] TicketFlags,
+ authtime [5] KerberosTime,
+ starttime [6] KerberosTime OPTIONAL,
+ endtime [7] KerberosTime,
+ renew-till [8] KerberosTime OPTIONAL,
+ srealm [9] Realm,
+ sname [10] SName,
+ caddr [11] HostAddresses OPTIONAL,
+ encrypted-pa-data[12] METHOD-DATA OPTIONAL -- from k5.asn
+}
+
+LastReq ::= SEQUENCE OF SEQUENCE {
+-- lr-type [0] Int32, Use k5.asn
+ lr-type [0] LR-TYPE,
+ lr-value [1] KerberosTime
+}
+
+AP-REQ ::= [APPLICATION 14] SEQUENCE {
+ pvno [0] INTEGER (5),
+-- msg-type [1] INTEGER (14), use k5.asn
+ msg-type [1] MESSAGE-TYPE,
+ ap-options [2] APOptions,
+ ticket [3] Ticket,
+ authenticator [4] EncryptedAuthenticator -- Authenticator
+}
+-- Use the krb5.asn def.
+--APOptions ::= KerberosFlags
+ -- reserved(0),
+ -- use-session-key(1),
+ -- mutual-required(2)
+
+-- Unencrypted authenticator
+Authenticator ::= [APPLICATION 2] SEQUENCE {
+ authenticator-vno [0] INTEGER (5),
+ crealm [1] Realm,
+ cname [2] CName,
+ cksum [3] Checksum OPTIONAL,
+ cusec [4] Microseconds,
+ ctime [5] KerberosTime,
+ subkey [6] EncryptionKey OPTIONAL,
+ seq-number [7] UInt32 OPTIONAL,
+ authorization-data [8] AuthorizationData OPTIONAL
+}
+
+AP-REP ::= [APPLICATION 15] SEQUENCE {
+ pvno [0] INTEGER (5),
+-- msg-type [1] INTEGER (15), Use k5.asn
+ msg-type [1] MESSAGE-TYPE,
+ enc-part [2] EncryptedAPREPData -- EncAPRepPart
+}
+
+EncAPRepPart ::= [APPLICATION 27] SEQUENCE {
+ ctime [0] KerberosTime,
+ cusec [1] Microseconds,
+ subkey [2] EncryptionKey OPTIONAL,
+ seq-number [3] UInt32 OPTIONAL
+}
+
+KRB-SAFE ::= [APPLICATION 20] SEQUENCE {
+ pvno [0] INTEGER (5),
+-- msg-type [1] INTEGER (20), use k5.asn
+ msg-type [1] MESSAGE-TYPE,
+ safe-body [2] KRB-SAFE-BODY,
+ cksum [3] Checksum
+}
+
+KRB-SAFE-BODY ::= SEQUENCE {
+ user-data [0] OCTET STRING,
+ timestamp [1] KerberosTime OPTIONAL,
+ usec [2] Microseconds OPTIONAL,
+ seq-number [3] UInt32 OPTIONAL,
+ s-address [4] HostAddress OPTIONAL, -- XXX this one is OPTIONAL in packetcable? but mandatory in kerberos
+ r-address [5] HostAddress OPTIONAL
+}
+
+KRB-PRIV ::= [APPLICATION 21] SEQUENCE {
+ pvno [0] INTEGER (5),
+-- msg-type [1] INTEGER (21), Use k5.asn
+ msg-type [1] MESSAGE-TYPE,
+ -- NOTE: there is no [2] tag
+ enc-part [3] EncryptedKrbPrivData -- EncKrbPrivPart
+}
+
+ENC-KRB-PRIV-PART ::= [APPLICATION 28] EncKrbPrivPart
+
+EncKrbPrivPart ::= SEQUENCE {
+ user-data [0] OCTET STRING,
+ timestamp [1] KerberosTime OPTIONAL,
+ usec [2] Microseconds OPTIONAL,
+ seq-number [3] UInt32 OPTIONAL,
+ s-address [4] HostAddress -- sender's addr --,
+ r-address [5] HostAddress OPTIONAL -- recip's addr
+}
+
+KRB-CRED ::= [APPLICATION 22] SEQUENCE {
+ pvno [0] INTEGER (5),
+-- msg-type [1] INTEGER (22), use k5.asn
+ msg-type [1] MESSAGE-TYPE,
+ tickets [2] SEQUENCE OF Ticket,
+ enc-part [3] EncryptedKrbCredData -- EncKrbCredPart
+}
+
+EncKrbCredPart ::= [APPLICATION 29] SEQUENCE {
+ ticket-info [0] SEQUENCE OF KrbCredInfo,
+ nonce [1] UInt32 OPTIONAL,
+ timestamp [2] KerberosTime OPTIONAL,
+ usec [3] Microseconds OPTIONAL,
+ s-address [4] HostAddress OPTIONAL,
+ r-address [5] HostAddress OPTIONAL
+}
+
+KrbCredInfo ::= SEQUENCE {
+ key [0] EncryptionKey,
+ prealm [1] Realm OPTIONAL,
+ pname [2] PrincipalName OPTIONAL,
+ flags [3] TicketFlags OPTIONAL,
+ authtime [4] KerberosTime OPTIONAL,
+ starttime [5] KerberosTime OPTIONAL,
+ endtime [6] KerberosTime OPTIONAL,
+ renew-till [7] KerberosTime OPTIONAL,
+ srealm [8] Realm OPTIONAL,
+ sname [9] SName OPTIONAL,
+ caddr [10] HostAddresses OPTIONAL
+}
+
+KRB-ERROR ::= [APPLICATION 30] SEQUENCE {
+ pvno [0] INTEGER (5),
+-- msg-type [1] INTEGER (30), use k5.asn
+ msg-type [1] MESSAGE-TYPE,
+ ctime [2] KerberosTime OPTIONAL,
+ cusec [3] Microseconds OPTIONAL,
+ stime [4] KerberosTime,
+ susec [5] Microseconds,
+-- error-code [6] Int32,
+ error-code [6] ERROR-CODE, -- Use k5.asn
+ crealm [7] Realm OPTIONAL,
+ cname [8] CName OPTIONAL,
+ realm [9] Realm -- service realm --,
+ sname [10] SName -- service name --,
+ e-text [11] KerberosString OPTIONAL,
+ e-data [12] OCTET STRING OPTIONAL,
+ e-checksum [13] Checksum OPTIONAL -- used by PacketCable
+}
+
+METHOD-DATA ::= SEQUENCE OF PA-DATA
+
+TYPED-DATA ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
+ data-type [0] Int32,
+ data-value [1] OCTET STRING OPTIONAL
+}
+
+-- preauth stuff follows
+
+PA-ENC-TIMESTAMP ::= SEQUENCE {
+ etype [0] ENCTYPE -- EncryptionType --,
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+PA-ENC-TS-ENC ::= SEQUENCE {
+ patimestamp [0] KerberosTime -- client's time --,
+ pausec [1] Microseconds OPTIONAL
+}
+
+ETYPE-INFO-ENTRY ::= SEQUENCE {
+-- etype [0] Int32, use k5.asn
+ etype [0] ENCTYPE,
+ salt [1] OCTET STRING OPTIONAL
+}
+
+ETYPE-INFO ::= SEQUENCE OF ETYPE-INFO-ENTRY
+
+ETYPE-INFO2-ENTRY ::= SEQUENCE {
+-- etype [0] Int32, use k5.asn
+ etype [0] ENCTYPE,
+ salt [1] KerberosString OPTIONAL,
+ s2kparams [2] OCTET STRING OPTIONAL
+}
+
+ETYPE-INFO2 ::= SEQUENCE SIZE (1..MAX) OF ETYPE-INFO2-ENTRY
+
+AD-IF-RELEVANT ::= AuthorizationData
+
+AD-KDCIssued ::= SEQUENCE {
+ ad-checksum [0] Checksum,
+ i-realm [1] Realm OPTIONAL,
+ i-sname [2] SName OPTIONAL,
+ elements [3] AuthorizationData
+}
+
+AD-AND-OR ::= SEQUENCE {
+ condition-count [0] Int32,
+ elements [1] AuthorizationData
+}
+
+AD-MANDATORY-FOR-KDC ::= AuthorizationData
+
+TGT-REQ ::= SEQUENCE {
+ pvno [0] INTEGER (5),
+ msg-type [1] MESSAGE-TYPE (16),
+ server-name [2] PrincipalName OPTIONAL,
+ realm [3] Realm OPTIONAL
+}
+
+TGT-REP ::= SEQUENCE {
+ pvno [0] INTEGER (5),
+ msg-type [1] MESSAGE-TYPE (17),
+ ticket [2] Ticket
+}
+
+END
diff --git a/epan/dissectors/asn1/kerberos/RFC3244.asn b/epan/dissectors/asn1/kerberos/RFC3244.asn
new file mode 100644
index 00000000..4dcd06e1
--- /dev/null
+++ b/epan/dissectors/asn1/kerberos/RFC3244.asn
@@ -0,0 +1,12 @@
+-- Extracted from RFC 3244
+
+RFC3244 DEFINITIONS ::=
+BEGIN
+
+ChangePasswdData ::= SEQUENCE {
+ newpasswd[0] OCTET STRING,
+ targname[1] PrincipalName OPTIONAL,
+ targrealm[2] Realm OPTIONAL
+}
+
+END
diff --git a/epan/dissectors/asn1/kerberos/RFC6113.asn b/epan/dissectors/asn1/kerberos/RFC6113.asn
new file mode 100644
index 00000000..0a3b7321
--- /dev/null
+++ b/epan/dissectors/asn1/kerberos/RFC6113.asn
@@ -0,0 +1,147 @@
+-- Extracted from RFC 6113
+
+KerberosPreauthFramework {
+ iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) kerberosV5(2) modules(4) preauth-framework(3)
+} DEFINITIONS EXPLICIT TAGS ::= BEGIN
+
+IMPORTS
+ KerberosTime, PrincipalName, Realm, EncryptionKey, Checksum,
+ Int32, EncryptedData, PA-ENC-TS-ENC, PA-DATA, KDC-REQ-BODY,
+ Microseconds, KerberosFlags, UInt32
+ FROM KerberosV5Spec2 { iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) kerberosV5(2)
+ modules(4) krb5spec2(2) };
+ -- as defined in RFC 4120.
+
+PA-AUTHENTICATION-SET ::= SEQUENCE OF PA-AUTHENTICATION-SET-ELEM
+
+PA-AUTHENTICATION-SET-ELEM ::= SEQUENCE {
+ pa-type [0] PADATA-TYPE, -- use k5.asn Int32,
+ -- same as padata-type.
+ pa-hint [1] OCTET STRING OPTIONAL,
+ pa-value [2] OCTET STRING OPTIONAL,
+ ...
+}
+
+KrbFastArmorTypes ::= INTEGER {
+ fX-FAST-reserved(0),
+ fX-FAST-ARMOR-AP-REQUEST(1) -- [RFC6113]
+}
+
+KrbFastArmor ::= SEQUENCE {
+ armor-type [0] KrbFastArmorTypes,
+ -- Type of the armor.
+ armor-value [1] OCTET STRING,
+ -- Value of the armor.
+ ...
+}
+
+PA-FX-FAST-REQUEST ::= CHOICE {
+ armored-data [0] KrbFastArmoredReq,
+ ...
+}
+
+EncryptedKrbFastReq ::= SEQUENCE {
+ etype [0] ENCTYPE -- EncryptionType --,
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+KrbFastArmoredReq ::= SEQUENCE {
+ armor [0] KrbFastArmor OPTIONAL,
+ -- Contains the armor that identifies the armor key.
+ -- MUST be present in AS-REQ.
+ req-checksum [1] Checksum,
+ -- For AS, contains the checksum performed over the type
+ -- KDC-REQ-BODY for the req-body field of the KDC-REQ
+ -- structure;
+ -- For TGS, contains the checksum performed over the type
+ -- AP-REQ in the PA-TGS-REQ padata.
+ -- The checksum key is the armor key, the checksum
+ -- type is the required checksum type for the enctype of
+ -- the armor key, and the key usage number is
+ -- KEY_USAGE_FAST_REQ_CHKSUM.
+ enc-fast-req [2] EncryptedKrbFastReq, -- KrbFastReq --
+ -- The encryption key is the armor key, and the key usage
+ -- number is KEY_USAGE_FAST_ENC.
+ ...
+}
+
+KrbFastReq ::= SEQUENCE {
+ fast-options [0] FastOptions,
+ -- Additional options.
+ padata [1] SEQUENCE OF PA-DATA,
+ -- padata typed holes.
+ req-body [2] KDC-REQ-BODY,
+ -- Contains the KDC request body as defined in Section
+ -- 5.4.1 of [RFC4120].
+ -- This req-body field is preferred over the outer field
+ -- in the KDC request.
+ ...
+}
+
+FastOptions ::= BIT STRING {
+ reserved(0),
+ hide-client-names(1),
+ kdc-follow-referrals(16)
+} (SIZE (32..MAX)) -- KerberosFlags
+
+PA-FX-FAST-REPLY ::= CHOICE {
+ armored-data [0] KrbFastArmoredRep,
+ ...
+}
+
+EncryptedKrbFastResponse ::= SEQUENCE {
+ etype [0] ENCTYPE -- EncryptionType --,
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+KrbFastArmoredRep ::= SEQUENCE {
+ enc-fast-rep [0] EncryptedKrbFastResponse, -- KrbFastResponse --
+ -- The encryption key is the armor key in the request, and
+ -- the key usage number is KEY_USAGE_FAST_REP.
+ ...
+}
+
+KrbFastResponse ::= SEQUENCE {
+ padata [0] SEQUENCE OF PA-DATA,
+ -- padata typed holes.
+ strengthen-key [1] EncryptionKey OPTIONAL,
+ -- This, if present, strengthens the reply key for AS and
+ -- TGS. MUST be present for TGS
+ -- MUST be absent in KRB-ERROR.
+ finished [2] KrbFastFinished OPTIONAL,
+ -- Present in AS or TGS reply; absent otherwise.
+ nonce [3] UInt32,
+ -- Nonce from the client request.
+ ...
+}
+
+KrbFastFinished ::= SEQUENCE {
+ timestamp [0] KerberosTime,
+ usec [1] Microseconds,
+ -- timestamp and usec represent the time on the KDC when
+ -- the reply was generated.
+ crealm [2] Realm,
+ cname [3] PrincipalName,
+ -- Contains the client realm and the client name.
+ ticket-checksum [4] Checksum,
+ -- checksum of the ticket in the KDC-REP using the armor
+ -- and the key usage is KEY_USAGE_FAST_FINISH.
+ -- The checksum type is the required checksum type
+ -- of the armor key.
+ ...
+}
+
+EncryptedChallenge ::= SEQUENCE {
+ etype [0] ENCTYPE -- EncryptionType --,
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+ -- Encrypted PA-ENC-TS-ENC, encrypted in the challenge key
+ -- using key usage KEY_USAGE_ENC_CHALLENGE_CLIENT for the
+ -- client and KEY_USAGE_ENC_CHALLENGE_KDC for the KDC.
+
+END
diff --git a/epan/dissectors/asn1/kerberos/SPAKE.asn b/epan/dissectors/asn1/kerberos/SPAKE.asn
new file mode 100644
index 00000000..0c0d998d
--- /dev/null
+++ b/epan/dissectors/asn1/kerberos/SPAKE.asn
@@ -0,0 +1,86 @@
+-- Adapted from
+-- https://tools.ietf.org/id/draft-ietf-kitten-krb-spake-preauth-09.txt
+-- Appendix A.
+
+-- Copyright (c) 2019 IETF Trust and the persons identified as authors of the
+-- code. All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, is permitted pursuant to, and subject to the license terms
+-- contained in, the Simplified BSD License set forth in Section 4.c of the
+-- IETF Trust’s Legal Provisions Relating to IETF Documents
+-- (http://trustee.ietf.org/license-info).
+
+KerberosV5SPAKE {
+ iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) kerberosV5(2) modules(4) spake(8)
+} DEFINITIONS EXPLICIT TAGS ::= BEGIN
+
+IMPORTS
+ EncryptedData, Int32
+ FROM KerberosV5Spec2 { iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) kerberosV5(2) modules(4)
+ krb5spec2(2) };
+ -- as defined in RFC 4120.
+
+EncryptedSpakeData ::= SEQUENCE {
+ etype [0] ENCTYPE -- EncryptionType --,
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+EncryptedSpakeResponseData ::= SEQUENCE {
+ etype [0] ENCTYPE -- EncryptionType --,
+ kvno [1] UInt32 OPTIONAL,
+ cipher [2] OCTET STRING -- ciphertext
+}
+
+SPAKEGroup ::= INTEGER {
+ sPAKEGroup-edwards25519(1),
+ sPAKEGroup-P-256(2),
+ sPAKEGroup-P-384(3),
+ sPAKEGroup-P-521(4)
+}
+
+SPAKESecondFactorType ::= INTEGER {
+ sPAKESecondFactor-SF-NONE(1)
+}
+
+SPAKESupport ::= SEQUENCE {
+ groups [0] SEQUENCE (SIZE(1..MAX)) OF SPAKEGroup,
+ ...
+}
+
+SPAKEChallenge ::= SEQUENCE {
+ group [0] SPAKEGroup,
+ pubkey [1] OCTET STRING,
+ factors [2] SEQUENCE (SIZE(1..MAX)) OF SPAKESecondFactor,
+ ...
+}
+
+SPAKESecondFactor ::= SEQUENCE {
+ type [0] SPAKESecondFactorType,
+ data [1] OCTET STRING OPTIONAL
+}
+
+SPAKEResponse ::= SEQUENCE {
+ pubkey [0] OCTET STRING,
+ factor [1] EncryptedSpakeResponseData, -- SPAKESecondFactor
+ ...
+}
+
+PA-SPAKE ::= CHOICE {
+ support [0] SPAKESupport,
+ challenge [1] SPAKEChallenge,
+ response [2] SPAKEResponse,
+ encdata [3] EncryptedSpakeData,
+ ...
+}
+
+-- PA-SPAKE-HINT ::= SEQUENCE {
+-- groups [0] SEQUENCE (SIZE(1..MAX)) OF Int32,
+-- factors [1] SEQUENCE (SIZE(1..MAX)) OF SPAKESecondFactor
+-- }
+
+END
+
diff --git a/epan/dissectors/asn1/kerberos/k5.asn b/epan/dissectors/asn1/kerberos/k5.asn
new file mode 100644
index 00000000..1eb9120a
--- /dev/null
+++ b/epan/dissectors/asn1/kerberos/k5.asn
@@ -0,0 +1,891 @@
+-- Extracted from http://www.h5l.org/dist/src/heimdal-1.2.tar.gz
+-- Id: k5.asn1 22745 2008-03-24 12:07:54Z lha $
+-- Commented out stuff already in KerberosV5Spec2.asn
+KERBEROS5 DEFINITIONS ::=
+BEGIN
+
+NAME-TYPE ::= INTEGER {
+ kRB5-NT-UNKNOWN(0), -- Name type not known
+ kRB5-NT-PRINCIPAL(1), -- Just the name of the principal as in
+ kRB5-NT-SRV-INST(2), -- Service and other unique instance (krbtgt)
+ kRB5-NT-SRV-HST(3), -- Service with host name as instance
+ kRB5-NT-SRV-XHST(4), -- Service with host as remaining components
+ kRB5-NT-UID(5), -- Unique ID
+ kRB5-NT-X500-PRINCIPAL(6), -- PKINIT
+ kRB5-NT-SMTP-NAME(7), -- Name in form of SMTP email name
+ kRB5-NT-ENTERPRISE-PRINCIPAL(10), -- Windows 2000 UPN
+ kRB5-NT-WELLKNOWN(11), -- Wellknown
+ kRB5-NT-SRV-HST-DOMAIN(12), -- Domain based service with host name as instance (RFC5179)
+ kRB5-NT-ENT-PRINCIPAL-AND-ID(-130), -- Windows 2000 UPN and SID
+ kRB5-NT-MS-PRINCIPAL(-128), -- NT 4 style name
+ kRB5-NT-MS-PRINCIPAL-AND-ID(-129), -- NT style name and SID
+ kRB5-NT-NTLM(-1200), -- NTLM name, realm is domain
+ kRB5-NT-X509-GENERAL-NAME(-1201), -- x509 general name (base64 encoded)
+ kRB5-NT-GSS-HOSTBASED-SERVICE(-1202), -- not used; remove
+ kRB5-NT-CACHE-UUID(-1203), -- name is actually a uuid pointing to ccache, use client name in cache
+ kRB5-NT-SRV-HST-NEEDS-CANON (-195894762) -- Internal: indicates that name canonicalization is needed
+}
+
+-- message types
+
+MESSAGE-TYPE ::= INTEGER {
+ krb-as-req(10), -- Request for initial authentication
+ krb-as-rep(11), -- Response to KRB_AS_REQ request
+ krb-tgs-req(12), -- Request for authentication based on TGT
+ krb-tgs-rep(13), -- Response to KRB_TGS_REQ request
+ krb-ap-req(14), -- application request to server
+ krb-ap-rep(15), -- Response to KRB_AP_REQ_MUTUAL
+ krb-tgt-req(16), -- TGT-REQ used in U2U
+ krb-tgt-rep(17), -- TGT-REP used in U2U
+ krb-safe(20), -- Safe (checksummed) application message
+ krb-priv(21), -- Private (encrypted) application message
+ krb-cred(22), -- Private (encrypted) message to forward credentials
+ krb-error(30) -- Error response
+}
+
+
+-- pa-data types
+
+
+PADATA-TYPE ::= INTEGER {
+ pA-NONE(0),
+ pA-TGS-REQ(1), -- [RFC4120]
+ pA-ENC-TIMESTAMP(2), -- [RFC4120]
+ pA-PW-SALT(3), -- [RFC4120]
+ -- [reserved](4), -- -- [RFC6113]
+ pA-ENC-UNIX-TIME(5), -- (deprecated) [RFC4120]
+ pA-SANDIA-SECUREID(6), -- [RFC4120]
+ pA-SESAME(7), -- [RFC4120]
+ pA-OSF-DCE(8), -- [RFC4120]
+ pA-CYBERSAFE-SECUREID(9), -- [RFC4120]
+ pA-AFS3-SALT(10), -- [RFC4120] [RFC3961]
+ pA-ETYPE-INFO(11), -- [RFC4120]
+ pA-SAM-CHALLENGE(12), -- [KRB-WG.SAM]
+ pA-SAM-RESPONSE(13), -- [KRB-WG.SAM]
+ pA-PK-AS-REQ-19(14), -- [PK-INIT-1999]
+ pA-PK-AS-REP-19(15), -- [PK-INIT-1999]
+ pA-PK-AS-REQ(16), -- [RFC4556]
+ pA-PK-AS-REP(17), -- [RFC4556]
+ pA-PK-OCSP-RESPONSE(18), -- [RFC4557]
+ pA-ETYPE-INFO2(19), -- [RFC4120]
+ pA-USE-SPECIFIED-KVNO(20), -- [RFC4120]
+-- pA-SVR-REFERRAL-INFO(20), -- -- [REFERRALS]
+ pA-SAM-REDIRECT(21), -- [KRB-WG.SAM]
+ pA-GET-FROM-TYPED-DATA(22), -- (embedded in typed data) [RFC4120]
+ tD-PADATA(22), -- (embeds padata) [RFC4120]
+ pA-SAM-ETYPE-INFO(23), -- (sam/otp) [KRB-WG.SAM]
+ pA-ALT-PRINC(24), -- (crawdad@fnal.gov) [HW-AUTH]
+ pA-SERVER-REFERRAL(25), -- [REFERRALS]
+ pA-SAM-CHALLENGE2(30), -- (kenh@pobox.com) [KRB-WG.SAM]
+ pA-SAM-RESPONSE2(31), -- (kenh@pobox.com) [KRB-WG.SAM]
+ pA-EXTRA-TGT(41), -- Reserved extra TGT [RFC6113]
+-- pA-FX-FAST-ARMOR(71), -- -- fast armor
+ tD-PKINIT-CMS-CERTIFICATES(101),-- CertificateSet from CMS
+ tD-KRB-PRINCIPAL(102), -- PrincipalName
+ tD-KRB-REALM(103), -- Realm
+ tD-TRUSTED-CERTIFIERS(104), -- [RFC4556]
+ tD-CERTIFICATE-INDEX(105), -- [RFC4556]
+ tD-APP-DEFINED-ERROR(106), -- Application specific [RFC6113]
+ tD-REQ-NONCE(107), -- INTEGER [RFC6113]
+ tD-REQ-SEQ(108), -- INTEGER [RFC6113]
+ tD-DH-PARAMETERS(109), -- [RFC4556]
+ tD-CMS-DIGEST-ALGORITHMS(111), -- [ALG-AGILITY]
+ tD-CERT-DIGEST-ALGORITHMS(112), -- [ALG-AGILITY]
+ pA-PAC-REQUEST(128), -- [MS-KILE]
+ pA-FOR-USER(129), -- [MS-KILE]
+ pA-FOR-X509-USER(130), -- [MS-KILE]
+ pA-FOR-CHECK-DUPS(131), -- [MS-KILE]
+-- pA-AS-CHECKSUM(132), -- -- [MS-KILE]
+ pA-PK-AS-09-BINDING(132), -- client send this to
+ -- tell KDC that is supports
+ -- the asCheckSum in the
+ -- PK-AS-REP
+ pA-FX-COOKIE(133), -- [RFC6113]
+ pA-AUTHENTICATION-SET(134), -- [RFC6113]
+ pA-AUTH-SET-SELECTED(135), -- [RFC6113]
+ pA-FX-FAST(136), -- [RFC6113]
+ pA-FX-ERROR(137), -- [RFC6113]
+ pA-ENCRYPTED-CHALLENGE(138), -- [RFC6113]
+ pA-OTP-CHALLENGE(141), -- (gareth.richards@rsa.com) [OTP-PREAUTH]
+ pA-OTP-REQUEST(142), -- (gareth.richards@rsa.com) [OTP-PREAUTH]
+ pA-OTP-CONFIRM(143), -- (gareth.richards@rsa.com) [OTP-PREAUTH]
+ pA-OTP-PIN-CHANGE(144), -- (gareth.richards@rsa.com) [OTP-PREAUTH]
+ pA-EPAK-AS-REQ(145), -- (sshock@gmail.com) [RFC6113]
+ pA-EPAK-AS-REP(146), -- (sshock@gmail.com) [RFC6113]
+ pA-PKINIT-KX(147), -- [RFC6112]
+ pA-PKU2U-NAME(148), -- [PKU2U]
+ pA-REQ-ENC-PA-REP(149), -- [RFC6806]
+ pA-AS-FRESHNESS(150), -- [RFC8070]
+ pA-SPAKE(151), -- draft-ietf-kitten-krb-spake-preauth-09
+ pA-REDHAT-IDP-OAUTH2(152), -- (pbrezina@redhat.com)
+ pA-REDHAT-PASSKEY(153), -- (pbrezina@redhat.com)
+ pA-KERB-KEY-LIST-REQ(161), -- [MS-KILE]
+ pA-KERB-KEY-LIST-REP(162), -- [MS-KILE]
+ pA-SUPPORTED-ETYPES(165), -- [MS-KILE]
+ pA-EXTENDED-ERROR(166), -- [MS-KILE]
+ pA-PAC-OPTIONS(167), -- [MS-KILE]
+ pA-PROV-SRV-LOCATION(-1) -- 0xffffffff (gint32)0xFF) packetcable stuff
+}
+
+AUTHDATA-TYPE ::= INTEGER {
+ aD-IF-RELEVANT(1),
+ aD-INTENDED-FOR-SERVER(2),
+ aD-INTENDED-FOR-APPLICATION-CLASS(3),
+ aD-KDC-ISSUED(4),
+ aD-AND-OR(5),
+ aD-MANDATORY-TICKET-EXTENSIONS(6),
+ aD-IN-TICKET-EXTENSIONS(7),
+ aD-MANDATORY-FOR-KDC(8),
+ aD-INITIAL-VERIFIED-CAS(9),
+ aD-OSF-DCE(64),
+ aD-SESAME(65),
+ aD-OSF-DCE-PKI-CERTID(66),
+ aD-authentication-strength(70), -- [RFC6113]
+ aD-fx-fast-armor(71), -- [RFC6113]
+ aD-fx-fast-used(72), -- [RFC6113]
+ aD-WIN2K-PAC(128), -- [RFC4120] [MS-PAC]
+ aD-GSS-API-ETYPE-NEGOTIATION(129), -- Authenticator only
+ aD-TOKEN-RESTRICTIONS(141), -- [MS-KILE]
+ aD-LOCAL(142), -- [MS-KILE]
+ aD-AP-OPTIONS(143), -- [MS-KILE]
+ aD-TARGET-PRINCIPAL(144), -- [MS-KILE]
+ aD-SIGNTICKET-OLDER(-17),
+ -- aD-SIGNTICKET-OLD(142),
+ aD-SIGNTICKET(512)
+}
+
+-- checksumtypes
+
+CKSUMTYPE ::= INTEGER {
+ cKSUMTYPE-NONE(0),
+ cKSUMTYPE-CRC32(1),
+ cKSUMTYPE-RSA-MD4(2),
+ cKSUMTYPE-RSA-MD4-DES(3),
+ cKSUMTYPE-DES-MAC(4),
+ cKSUMTYPE-DES-MAC-K(5),
+ cKSUMTYPE-RSA-MD4-DES-K(6),
+ cKSUMTYPE-RSA-MD5(7),
+ cKSUMTYPE-RSA-MD5-DES(8),
+ cKSUMTYPE-RSA-MD5-DES3(9),
+ cKSUMTYPE-SHA1-OTHER(10),
+ cKSUMTYPE-HMAC-SHA1-DES3-KD(12),
+ cKSUMTYPE-HMAC-SHA1-DES3(13),
+ cKSUMTYPE-SHA1(14),
+ cKSUMTYPE-HMAC-SHA1-96-AES-128(15),
+ cKSUMTYPE-HMAC-SHA1-96-AES-256(16),
+ cKSUMTYPE-CMAC-CAMELLIA128(17),
+ cKSUMTYPE-CMAC-CAMELLIA256(18),
+ cKSUMTYPE-HMAC-SHA256-128-AES128(19),
+ cKSUMTYPE-HMAC-SHA384-192-AES256(20),
+ cKSUMTYPE-GSSAPI(--0x8003--32771),
+ cKSUMTYPE-HMAC-MD5(-138), -- unofficial microsoft number
+ cKSUMTYPE-HMAC-MD5-ENC(-1138) -- even more unofficial
+}
+
+--enctypes https://www.iana.org/assignments/kerberos-parameters/kerberos-parameters.xhtml#kerberos-parameters-1
+ENCTYPE ::= INTEGER {
+ eTYPE-NULL(0),
+ eTYPE-DES-CBC-CRC(1),
+ eTYPE-DES-CBC-MD4(2),
+ eTYPE-DES-CBC-MD5(3),
+ eTYPE-DES3-CBC-MD5(5),
+ eTYPE-OLD-DES3-CBC-SHA1(7),
+ eTYPE-SIGN-DSA-GENERATE(8),
+ eTYPE-DSA-SHA1(9),
+ eTYPE-RSA-MD5(10),
+ eTYPE-RSA-SHA1(11),
+ eTYPE-RC2-CBC(12),
+ eTYPE-RSA(13),
+ eTYPE-RSAES-OAEP(14),
+ eTYPE-DES-EDE3-CBC(15),
+ eTYPE-DES3-CBC-SHA1(16), -- with key derivation
+ eTYPE-AES128-CTS-HMAC-SHA1-96(17),
+ eTYPE-AES256-CTS-HMAC-SHA1-96(18),
+ eTYPE-AES128-CTS-HMAC-SHA256-128(19), -- RFC 8009
+ eTYPE-AES256-CTS-HMAC-SHA384-192(20), -- RFC 8009
+ eTYPE-ARCFOUR-HMAC-MD5(23),
+ eTYPE-ARCFOUR-HMAC-MD5-56(24),
+ eTYPE-CAMELLIA128-CTS-CMAC(25),
+ eTYPE-CAMELLIA256-CTS-CMAC(26),
+ eTYPE-ENCTYPE-PK-CROSS(48),
+-- some "old" windows types
+ eTYPE-ARCFOUR-MD4(-128),
+ eTYPE-ARCFOUR-HMAC-OLD(-133),
+ eTYPE-ARCFOUR-HMAC-OLD-EXP(-135),
+-- these are for Heimdal internal use
+-- eTYPE-DES-CBC-NONE(-0x1000),
+ eTYPE-DES-CBC-NONE( -4096),
+-- eTYPE-DES3-CBC-NONE(-0x1001),
+ eTYPE-DES3-CBC-NONE(-4097),
+-- eTYPE-DES-CFB64-NONE(-0x1002),
+ eTYPE-DES-CFB64-NONE(-4098),
+-- eTYPE-DES-PCBC-NONE(-0x1003),
+ eTYPE-DES-PCBC-NONE(-4099),
+-- eTYPE-DIGEST-MD5-NONE(-0x1004), - - private use, lukeh@padl.com
+ eTYPE-DIGEST-MD5-NONE(-4100), -- private use, lukeh@padl.com
+-- eTYPE-CRAM-MD5-NONE(-0x1005) - - private use, lukeh@padl.com
+ eTYPE-CRAM-MD5-NONE(-4101) -- private use, lukeh@padl.com
+}
+
+-- addr-types (WS extension )
+ADDR-TYPE ::= INTEGER {
+ iPv4(2),
+ cHAOS(5),
+ xEROX(6),
+ iSO(7),
+ dECNET(12),
+ aPPLETALK(16),
+ nETBIOS(20),
+ iPv6(24)
+}
+
+-- error-codes (WS extension)
+ERROR-CODE ::= INTEGER {
+--error table constants
+ eRR-NONE(0),
+ eRR-NAME-EXP(1),
+ eRR-SERVICE-EXP(2),
+ eRR-BAD-PVNO(3),
+ eRR-C-OLD-MAST-KVNO(4),
+ eRR-S-OLD-MAST-KVNO(5),
+ eRR-C-PRINCIPAL-UNKNOWN(6),
+ eRR-S-PRINCIPAL-UNKNOWN(7),
+ eRR-PRINCIPAL-NOT-UNIQUE(8),
+ eRR-NULL-KEY(9),
+ eRR-CANNOT-POSTDATE(10),
+ eRR-NEVER-VALID(11),
+ eRR-POLICY(12),
+ eRR-BADOPTION(13),
+ eRR-ETYPE-NOSUPP(14),
+ eRR-SUMTYPE-NOSUPP(15),
+ eRR-PADATA-TYPE-NOSUPP(16),
+ eRR-TRTYPE-NOSUPP(17),
+ eRR-CLIENT-REVOKED(18),
+ eRR-SERVICE-REVOKED(19),
+ eRR-TGT-REVOKED(20),
+ eRR-CLIENT-NOTYET(21),
+ eRR-SERVICE-NOTYET(22),
+ eRR-KEY-EXP(23),
+ eRR-PREAUTH-FAILED(24),
+ eRR-PREAUTH-REQUIRED(25),
+ eRR-SERVER-NOMATCH(26),
+ eRR-MUST-USE-USER2USER(27),
+ eRR-PATH-NOT-ACCEPTED(28),
+ eRR-SVC-UNAVAILABLE(29),
+ eRR-BAD-INTEGRITY(31),
+ eRR-TKT-EXPIRED(32),
+ eRR-TKT-NYV(33),
+ eRR-REPEAT(34),
+ eRR-NOT-US(35),
+ eRR-BADMATCH(36),
+ eRR-SKEW(37),
+ eRR-BADADDR(38),
+ eRR-BADVERSION(39),
+ eRR-MSG-TYPE(40),
+ eRR-MODIFIED(41),
+ eRR-BADORDER(42),
+ eRR-ILL-CR-TKT(43),
+ eRR-BADKEYVER(44),
+ eRR-NOKEY(45),
+ eRR-MUT-FAIL(46),
+ eRR-BADDIRECTION(47),
+ eRR-METHOD(48),
+ eRR-BADSEQ(49),
+ eRR-INAPP-CKSUM(50),
+ pATH-NOT-ACCEPTED(51),
+ eRR-RESPONSE-TOO-BIG(52),
+ eRR-GENERIC(60),
+ eRR-FIELD-TOOLONG(61),
+ eRROR-CLIENT-NOT-TRUSTED(62),
+ eRROR-KDC-NOT-TRUSTED(63),
+ eRROR-INVALID-SIG(64),
+ eRR-KEY-TOO-WEAK(65),
+ eRR-CERTIFICATE-MISMATCH(66),
+ eRR-NO-TGT(67),
+ eRR-WRONG-REALM(68),
+ eRR-USER-TO-USER-REQUIRED(69),
+ eRR-CANT-VERIFY-CERTIFICATE(70),
+ eRR-INVALID-CERTIFICATE(71),
+ eRR-REVOKED-CERTIFICATE(72),
+ eRR-REVOCATION-STATUS-UNKNOWN(73),
+ eRR-REVOCATION-STATUS-UNAVAILABLE(74),
+ eRR-CLIENT-NAME-MISMATCH(75),
+ eRR-KDC-NAME-MISMATCH(76)
+}
+
+-- this is sugar to make something ASN1 does not have: unsigned
+
+Krb5uint32 ::= INTEGER (0..4294967295)
+Krb5int32 ::= INTEGER (-2147483648..2147483647)
+
+--KerberosString ::= GeneralString
+
+--Realm ::= GeneralString
+--PrincipalName ::= SEQUENCE {
+-- name-type[0] NAME-TYPE,
+-- name-string[1] SEQUENCE OF GeneralString
+--}
+
+-- this is not part of RFC1510
+Principal ::= SEQUENCE {
+ name[0] PrincipalName,
+ realm[1] Realm
+}
+
+--HostAddress ::= SEQUENCE {
+-- addr-type [0] Krb5int32,
+-- address [1] OCTET STRING
+--}
+
+-- This is from RFC1510.
+--
+-- HostAddresses ::= SEQUENCE OF SEQUENCE {
+-- addr-type[0] Krb5int32,
+-- address[1] OCTET STRING
+-- }
+
+-- This seems much better.
+--HostAddresses ::= SEQUENCE OF HostAddress
+
+
+--KerberosTime ::= GeneralizedTime - - Specifying UTC time zone (Z)
+
+--AuthorizationDataElement ::= SEQUENCE {
+-- ad-type[0] Krb5int32,
+-- ad-data[1] OCTET STRING
+--}
+
+--AuthorizationData ::= SEQUENCE OF AuthorizationDataElement
+
+APOptions ::= BIT STRING {
+ reserved(0),
+ use-session-key(1),
+ mutual-required(2)
+}
+
+TicketFlags ::= BIT STRING {
+ reserved(0),
+ forwardable(1),
+ forwarded(2),
+ proxiable(3),
+ proxy(4),
+ may-postdate(5),
+ postdated(6),
+ invalid(7),
+ renewable(8),
+ initial(9),
+ pre-authent(10),
+ hw-authent(11),
+ transited-policy-checked(12),
+ ok-as-delegate(13),
+ unused(14),
+ enc-pa-rep(15),
+ anonymous(16)
+}
+
+KDCOptions ::= BIT STRING {
+ reserved(0),
+ forwardable(1),
+ forwarded(2),
+ proxiable(3),
+ proxy(4),
+ allow-postdate(5),
+ postdated(6),
+ unused7(7),
+ renewable(8),
+ unused9(9),
+ unused10(10),
+ opt-hardware-auth(11), -- taken from KerberosV5Spec2.asn
+ unused12(12),
+ unused13(13),
+ constrained-delegation(14), -- ms extension (aka cname-in-addl-tkt)
+ canonicalize(15),
+ request-anonymous(16),
+ unused17(17),
+ unused18(18),
+ unused19(19),
+ unused20(20),
+ unused21(21),
+ unused22(22),
+ unused23(23),
+ unused24(24),
+ unused25(25),
+ disable-transited-check(26),
+ renewable-ok(27),
+ enc-tkt-in-skey(28),
+ unused29(29),
+ renew(30),
+ validate(31)
+}
+
+LR-TYPE ::= INTEGER {
+ lR-NONE(0), -- no information
+ lR-INITIAL-TGT(1), -- last initial TGT request
+ lR-INITIAL(2), -- last initial request
+ lR-ISSUE-USE-TGT(3), -- time of newest TGT used
+ lR-RENEWAL(4), -- time of last renewal
+ lR-REQUEST(5), -- time of last request (of any type)
+ lR-PW-EXPTIME(6), -- expiration time of password
+ lR-ACCT-EXPTIME(7) -- expiration time of account
+}
+
+--LastReq ::= SEQUENCE OF SEQUENCE {
+-- lr-type[0] LR-TYPE,
+-- lr-value[1] KerberosTime
+--}
+
+
+--EncryptedData ::= SEQUENCE {
+-- etype[0] ENCTYPE, - - EncryptionType
+-- kvno[1] Krb5int32 OPTIONAL,
+-- cipher[2] OCTET STRING - - ciphertext
+--}
+
+--EncryptionKey ::= SEQUENCE {
+-- keytype[0] Krb5int32,
+-- keyvalue[1] OCTET STRING
+--}
+
+-- encoded Transited field
+--TransitedEncoding ::= SEQUENCE {
+-- tr-type[0] Krb5int32, - - must be registered
+-- contents[1] OCTET STRING
+--}
+
+--Ticket ::= [APPLICATION 1] SEQUENCE {
+-- tkt-vno[0] Krb5int32,
+-- realm[1] Realm,
+-- sname[2] PrincipalName,
+-- enc-part[3] EncryptedData
+--}
+-- Encrypted part of ticket
+--EncTicketPart ::= [APPLICATION 3] SEQUENCE {
+-- flags[0] TicketFlags,
+-- key[1] EncryptionKey,
+-- crealm[2] Realm,
+-- cname[3] PrincipalName,
+-- transited[4] TransitedEncoding,
+-- authtime[5] KerberosTime,
+-- starttime[6] KerberosTime OPTIONAL,
+-- endtime[7] KerberosTime,
+-- renew-till[8] KerberosTime OPTIONAL,
+-- caddr[9] HostAddresses OPTIONAL,
+-- authorization-data[10] AuthorizationData OPTIONAL
+--}
+
+--Checksum ::= SEQUENCE {
+-- cksumtype[0] CKSUMTYPE,
+-- checksum[1] OCTET STRING
+--}
+
+--Authenticator ::= [APPLICATION 2] SEQUENCE {
+-- authenticator-vno[0] Krb5int32,
+-- crealm[1] Realm,
+-- cname[2] PrincipalName,
+-- cksum[3] Checksum OPTIONAL,
+-- cusec[4] Krb5int32,
+-- ctime[5] KerberosTime,
+-- subkey[6] EncryptionKey OPTIONAL,
+-- seq-number[7] Krb5uint32 OPTIONAL,
+-- authorization-data[8] AuthorizationData OPTIONAL
+--}
+
+--PA-DATA ::= SEQUENCE {
+ -- might be encoded AP-REQ
+-- padata-type[1] PADATA-TYPE,
+-- padata-value[2] OCTET STRING
+--}
+
+--ETYPE-INFO-ENTRY ::= SEQUENCE {
+-- etype[0] ENCTYPE,
+-- salt[1] OCTET STRING OPTIONAL,
+-- salttype[2] Krb5int32 OPTIONAL
+--}
+
+--ETYPE-INFO ::= SEQUENCE OF ETYPE-INFO-ENTRY
+
+--ETYPE-INFO2-ENTRY ::= SEQUENCE {
+-- etype[0] ENCTYPE,
+-- salt[1] KerberosString OPTIONAL,
+-- s2kparams[2] OCTET STRING OPTIONAL
+--}
+
+--ETYPE-INFO2 ::= SEQUENCE SIZE (1..MAX) OF ETYPE-INFO2-ENTRY
+
+-- METHOD-DATA ::= SEQUENCE OF PA-DATA
+
+--TypedData ::= SEQUENCE {
+-- data-type[0] Krb5int32,
+-- data-value[1] OCTET STRING OPTIONAL
+--}
+
+--TYPED-DATA ::= SEQUENCE SIZE (1..MAX) OF TypedData
+
+--KDC-REQ-BODY ::= SEQUENCE {
+-- kdc-options[0] KDCOptions,
+-- cname[1] PrincipalName OPTIONAL, - - Used only in AS-REQ
+-- realm[2] Realm, - - Server's realm
+ -- Also client's in AS-REQ
+-- sname[3] PrincipalName OPTIONAL,
+-- from[4] KerberosTime OPTIONAL,
+-- till[5] KerberosTime OPTIONAL,
+-- rtime[6] KerberosTime OPTIONAL,
+-- nonce[7] Krb5int32,
+-- etype[8] SEQUENCE OF ENCTYPE, - - EncryptionType,
+ -- in preference order
+-- addresses[9] HostAddresses OPTIONAL,
+-- enc-authorization-data[10] EncryptedData OPTIONAL,
+ -- Encrypted AuthorizationData encoding
+-- additional-tickets[11] SEQUENCE OF Ticket OPTIONAL
+--}
+
+--KDC-REQ ::= SEQUENCE {
+-- pvno[1] Krb5int32,
+-- msg-type[2] MESSAGE-TYPE,
+-- padata[3] METHOD-DATA OPTIONAL,
+-- req-body[4] KDC-REQ-BODY
+--}
+
+--AS-REQ ::= [APPLICATION 10] KDC-REQ
+--TGS-REQ ::= [APPLICATION 12] KDC-REQ
+
+-- padata-type ::= PA-ENC-TIMESTAMP
+-- padata-value ::= EncryptedData - PA-ENC-TS-ENC
+
+--PA-ENC-TS-ENC ::= SEQUENCE {
+-- patimestamp[0] KerberosTime, - - client's time
+-- pausec[1] Krb5int32 OPTIONAL
+--}
+
+-- WS put extensions found elsewhere here
+-- draft-brezak-win2k-krb-authz-01
+-- MS-KILE: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-kile
+-- MS-SFU: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-sfu
+PA-PAC-REQUEST ::= SEQUENCE {
+ include-pac[0] BOOLEAN -- Indicates whether a PAC
+ -- should be included or not
+}
+
+-- PacketCable provisioning server location, PKT-SP-SEC-I09-030728.pdf
+PROV-SRV-LOCATION ::= GeneralString
+
+--KDC-REP ::= SEQUENCE {
+-- pvno[0] Krb5int32,
+-- msg-type[1] MESSAGE-TYPE,
+-- padata[2] METHOD-DATA OPTIONAL,
+-- crealm[3] Realm,
+-- cname[4] PrincipalName,
+-- ticket[5] Ticket,
+-- enc-part[6] EncryptedData
+--}
+
+--AS-REP ::= [APPLICATION 11] KDC-REP
+--TGS-REP ::= [APPLICATION 13] KDC-REP
+
+--EncKDCRepPart ::= SEQUENCE {
+-- key[0] EncryptionKey,
+-- last-req[1] LastReq,
+-- nonce[2] Krb5int32,
+-- key-expiration[3] KerberosTime OPTIONAL,
+-- flags[4] TicketFlags,
+-- authtime[5] KerberosTime,
+-- starttime[6] KerberosTime OPTIONAL,
+-- endtime[7] KerberosTime,
+-- renew-till[8] KerberosTime OPTIONAL,
+-- srealm[9] Realm,
+-- sname[10] PrincipalName,
+-- caddr[11] HostAddresses OPTIONAL,
+-- encrypted-pa-data[12] METHOD-DATA OPTIONAL
+--}
+
+--EncASRepPart ::= [APPLICATION 25] EncKDCRepPart
+--EncTGSRepPart ::= [APPLICATION 26] EncKDCRepPart
+
+--AP-REQ ::= [APPLICATION 14] SEQUENCE {
+-- pvno[0] Krb5int32,
+-- msg-type[1] MESSAGE-TYPE,
+-- ap-options[2] APOptions,
+-- ticket[3] Ticket,
+-- authenticator[4] EncryptedData
+--}
+
+--AP-REP ::= [APPLICATION 15] SEQUENCE {
+-- pvno[0] Krb5int32,
+-- msg-type[1] MESSAGE-TYPE,
+-- enc-part[2] EncryptedData
+--}
+
+--EncAPRepPart ::= [APPLICATION 27] SEQUENCE {
+-- ctime[0] KerberosTime,
+-- cusec[1] Krb5int32,
+-- subkey[2] EncryptionKey OPTIONAL,
+-- seq-number[3] Krb5uint32 OPTIONAL
+--}
+
+--KRB-SAFE-BODY ::= SEQUENCE {
+-- user-data[0] OCTET STRING,
+-- timestamp[1] KerberosTime OPTIONAL,
+-- usec[2] Krb5int32 OPTIONAL,
+-- seq-number[3] Krb5uint32 OPTIONAL,
+-- s-address[4] HostAddress OPTIONAL,
+-- r-address[5] HostAddress OPTIONAL
+--}
+
+--KRB-SAFE ::= [APPLICATION 20] SEQUENCE {
+-- pvno[0] Krb5int32,
+-- msg-type[1] MESSAGE-TYPE,
+-- safe-body[2] KRB-SAFE-BODY,
+-- cksum[3] Checksum
+--}
+
+--KRB-PRIV ::= [APPLICATION 21] SEQUENCE {
+-- pvno[0] Krb5int32,
+-- msg-type[1] MESSAGE-TYPE,
+-- enc-part[3] EncryptedData
+--}
+--EncKrbPrivPart ::= [APPLICATION 28] SEQUENCE {
+-- user-data[0] OCTET STRING,
+-- timestamp[1] KerberosTime OPTIONAL,
+-- usec[2] Krb5int32 OPTIONAL,
+-- seq-number[3] Krb5uint32 OPTIONAL,
+-- s-address[4] HostAddress OPTIONAL, - - sender's addr
+-- r-address[5] HostAddress OPTIONAL - - recip's addr
+--}
+
+--KRB-CRED ::= [APPLICATION 22] SEQUENCE {
+-- pvno[0] Krb5int32,
+-- msg-type[1] MESSAGE-TYPE, - - KRB_CRED
+-- tickets[2] SEQUENCE OF Ticket,
+-- enc-part[3] EncryptedData
+--}
+
+--KrbCredInfo ::= SEQUENCE {
+-- key[0] EncryptionKey,
+-- prealm[1] Realm OPTIONAL,
+-- pname[2] PrincipalName OPTIONAL,
+-- flags[3] TicketFlags OPTIONAL,
+-- authtime[4] KerberosTime OPTIONAL,
+-- starttime[5] KerberosTime OPTIONAL,
+-- endtime[6] KerberosTime OPTIONAL,
+-- renew-till[7] KerberosTime OPTIONAL,
+-- srealm[8] Realm OPTIONAL,
+-- sname[9] PrincipalName OPTIONAL,
+-- caddr[10] HostAddresses OPTIONAL
+--}
+
+--EncKrbCredPart ::= [APPLICATION 29] SEQUENCE {
+-- ticket-info[0] SEQUENCE OF KrbCredInfo,
+-- nonce[1] Krb5int32 OPTIONAL,
+-- timestamp[2] KerberosTime OPTIONAL,
+-- usec[3] Krb5int32 OPTIONAL,
+-- s-address[4] HostAddress OPTIONAL,
+-- r-address[5] HostAddress OPTIONAL
+--}
+
+--KRB-ERROR ::= [APPLICATION 30] SEQUENCE {
+-- pvno[0] Krb5int32,
+-- msg-type[1] MESSAGE-TYPE,
+-- ctime[2] KerberosTime OPTIONAL,
+-- cusec[3] Krb5int32 OPTIONAL,
+-- stime[4] KerberosTime,
+-- susec[5] Krb5int32,
+-- error-code[6] Krb5int32,
+-- crealm[7] Realm OPTIONAL,
+-- cname[8] PrincipalName OPTIONAL,
+-- realm[9] Realm, - - Correct realm
+-- sname[10] PrincipalName, - - Correct name
+-- e-text[11] GeneralString OPTIONAL,
+-- e-data[12] OCTET STRING OPTIONAL
+--}
+
+ChangePasswdDataMS ::= SEQUENCE {
+ newpasswd[0] OCTET STRING,
+ targname[1] PrincipalName OPTIONAL,
+ targrealm[2] Realm OPTIONAL
+}
+
+EtypeList ::= SEQUENCE OF Krb5int32
+ -- the client's proposed enctype list in
+ -- decreasing preference order, favorite choice first
+
+--krb5-pvno Krb5int32 ::= 5 - - current Kerberos protocol version number
+
+-- transited encodings
+
+--DOMAIN-X500-COMPRESS Krb5int32 ::= 1
+
+-- authorization data primitives
+
+--AD-IF-RELEVANT ::= AuthorizationData
+
+--AD-KDCIssued ::= SEQUENCE {
+-- ad-checksum[0] Checksum,
+-- i-realm[1] Realm OPTIONAL,
+-- i-sname[2] PrincipalName OPTIONAL,
+-- elements[3] AuthorizationData
+--}
+
+--AD-AND-OR ::= SEQUENCE {
+-- condition-count[0] INTEGER,
+-- elements[1] AuthorizationData
+--}
+
+--AD-MANDATORY-FOR-KDC ::= AuthorizationData
+
+-- PA-SAM-RESPONSE-2/PA-SAM-RESPONSE-2
+
+PA-SAM-TYPE ::= INTEGER {
+ pA-SAM-TYPE-ENIGMA(1), -- Enigma Logic
+ pA-SAM-TYPE-DIGI-PATH(2), -- Digital Pathways
+ pA-SAM-TYPE-SKEY-K0(3), -- S/key where KDC has key 0
+ pA-SAM-TYPE-SKEY(4), -- Traditional S/Key
+ pA-SAM-TYPE-SECURID(5), -- Security Dynamics
+ pA-SAM-TYPE-CRYPTOCARD(6) -- CRYPTOCard
+}
+
+PA-SAM-REDIRECT ::= HostAddresses
+
+SAMFlags ::= BIT STRING {
+ use-sad-as-key(0),
+ send-encrypted-sad(1),
+ must-pk-encrypt-sad(2)
+}
+
+PA-SAM-CHALLENGE-2-BODY ::= SEQUENCE {
+ sam-type[0] Krb5int32,
+ sam-flags[1] SAMFlags,
+ sam-type-name[2] GeneralString OPTIONAL,
+ sam-track-id[3] GeneralString OPTIONAL,
+ sam-challenge-label[4] GeneralString OPTIONAL,
+ sam-challenge[5] GeneralString OPTIONAL,
+ sam-response-prompt[6] GeneralString OPTIONAL,
+ sam-pk-for-sad[7] EncryptionKey OPTIONAL,
+ sam-nonce[8] Krb5int32,
+ sam-etype[9] Krb5int32,
+ ...
+}
+
+PA-SAM-CHALLENGE-2 ::= SEQUENCE {
+ sam-body[0] PA-SAM-CHALLENGE-2-BODY,
+ sam-cksum[1] SEQUENCE OF Checksum, -- (1..MAX)
+ ...
+}
+
+PA-SAM-RESPONSE-2 ::= SEQUENCE {
+ sam-type[0] Krb5int32,
+ sam-flags[1] SAMFlags,
+ sam-track-id[2] GeneralString OPTIONAL,
+ sam-enc-nonce-or-sad[3] EncryptedData, -- PA-ENC-SAM-RESPONSE-ENC
+ sam-nonce[4] Krb5int32,
+ ...
+}
+
+PA-ENC-SAM-RESPONSE-ENC ::= SEQUENCE {
+ sam-nonce[0] Krb5int32,
+ sam-sad[1] GeneralString OPTIONAL,
+ ...
+}
+
+PA-S4U2Self ::= SEQUENCE {
+ name[0] PrincipalName,
+ realm[1] Realm,
+ cksum[2] Checksum,
+ auth[3] GeneralString
+}
+
+PA-S4U-X509-USER::= SEQUENCE {
+ user-id[0] S4UUserID,
+ checksum[1] Checksum
+}
+
+S4UUserID ::= SEQUENCE {
+ nonce [0] UInt32, -- the nonce in KDC-REQ-BODY
+ cname [1] PrincipalName OPTIONAL, -- Certificate mapping hints
+ crealm [2] Realm,
+ subject-certificate [3] OCTET STRING OPTIONAL,
+ options [4] BIT STRING OPTIONAL,
+ ...
+}
+
+KRB5SignedPathPrincipals ::= SEQUENCE OF Principal
+
+-- never encoded on the wire, just used to checksum over
+KRB5SignedPathData ::= SEQUENCE {
+ encticket[0] EncTicketPart,
+ delegated[1] KRB5SignedPathPrincipals OPTIONAL
+}
+
+KRB5SignedPath ::= SEQUENCE {
+ -- DERcoded KRB5SignedPathData
+ -- krbtgt key (etype), KeyUsage = XXX
+ etype[0] ENCTYPE,
+ cksum[1] Checksum,
+ -- srvs delegated though
+ delegated[2] KRB5SignedPathPrincipals OPTIONAL
+}
+
+PA-ClientCanonicalizedNames ::= SEQUENCE{
+ requested-name [0] PrincipalName,
+ mapped-name [1] PrincipalName
+}
+
+PA-ClientCanonicalized ::= SEQUENCE {
+ names [0] PA-ClientCanonicalizedNames,
+ canon-checksum [1] Checksum
+}
+
+AD-LoginAlias ::= SEQUENCE { -- ad-type number TBD --
+ login-alias [0] PrincipalName,
+ checksum [1] Checksum
+}
+
+-- old ms referral
+PA-SvrReferralData ::= SEQUENCE {
+ referred-name [1] PrincipalName OPTIONAL,
+ referred-realm [0] Realm
+}
+
+PA-SERVER-REFERRAL-DATA ::= EncryptedData
+
+PA-ServerReferralData ::= SEQUENCE {
+ referred-realm [0] Realm OPTIONAL,
+ true-principal-name [1] PrincipalName OPTIONAL,
+ requested-principal-name [2] PrincipalName OPTIONAL,
+ referral-valid-until [3] KerberosTime OPTIONAL,
+ ...
+}
+
+PAC-OPTIONS-FLAGS ::= BIT STRING {
+ claims(0),
+ branch-aware(1),
+ forward-to-full-dc(2),
+ resource-based-constrained-delegation(3)
+}
+
+PA-PAC-OPTIONS ::= SEQUENCE {
+ flags [0] PAC-OPTIONS-FLAGS
+}
+
+-- [MS-KILE]
+-- captures show that [UNIVERSAL 16] is required to parse it
+KERB-AD-RESTRICTION-ENTRY ::= [UNIVERSAL 16] SEQUENCE {
+ restriction-type [0] Int32,
+ restriction [1] OCTET STRING -- LSAP_TOKEN_INFO_INTEGRITY structure
+}
+
+-- [MS-KILE]
+
+-- Section 2.2.11
+PA-KERB-KEY-LIST-REQ ::= SEQUENCE OF ENCTYPE
+
+-- Section 2.2.12
+
+-- This is EncryptionKey but we're redefining it so it's named
+PA-KERB-KEY-LIST-REP-Key ::= EncryptionKey
+
+PA-KERB-KEY-LIST-REP ::= SEQUENCE OF PA-KERB-KEY-LIST-REP-Key
+
+
+END
+
+-- etags -r '/\([A-Za-z][-A-Za-z0-9]*\).*::=/\1/' k5.asn1
diff --git a/epan/dissectors/asn1/kerberos/kerberos.cnf b/epan/dissectors/asn1/kerberos/kerberos.cnf
new file mode 100644
index 00000000..fb7b92ae
--- /dev/null
+++ b/epan/dissectors/asn1/kerberos/kerberos.cnf
@@ -0,0 +1,691 @@
+# kerberos.cnf
+# kerberos conformation file
+# Copyright 2008 Anders Broman
+
+#.EXPORTS
+ChangePasswdData
+Applications ONLY_ENUM
+TGT-REQ
+TGT-REP
+
+#.FIELD_RENAME
+Authenticator/_untag/subkey authenticator_subkey
+KDC-REQ-BODY/etype kDC-REQ-BODY_etype
+KRB-SAFE-BODY/user-data kRB-SAFE-BODY_user_data
+EncKrbPrivPart/user-data encKrbPrivPart_user_data
+EncryptedTicketData/cipher encryptedTicketData_cipher
+EncryptedAuthenticator/cipher encryptedAuthenticator_cipher
+EncryptedAuthorizationData/cipher encryptedAuthorizationData_cipher
+EncryptedKDCREPData/cipher encryptedKDCREPData_cipher
+PA-ENC-TIMESTAMP/cipher pA-ENC-TIMESTAMP_cipher
+EncryptedAPREPData/cipher encryptedAPREPData_cipher
+EncryptedKrbPrivData/cipher encryptedKrbPrivData_cipher
+EncryptedKrbCredData/cipher encryptedKrbCredData_cipher
+EncryptedKrbFastReq/cipher encryptedKrbFastReq_cipher
+EncryptedKrbFastResponse/cipher encryptedKrbFastResponse_cipher
+EncryptedChallenge/cipher encryptedChallenge_cipher
+EncAPRepPart/_untag/subkey encAPRepPart_subkey
+EncTicketPart/_untag/key encTicketPart_key
+EncKDCRepPart/key encKDCRepPart_key
+KRB-CRED/_untag/enc-part kRB_CRED_enc_part
+KRB-PRIV/_untag/enc-part kRB_PRIV_enc_part
+KrbCredInfo/key krbCredInfo_key
+AP-REP/_untag/enc-part aP_REP_enc_part
+KDC-REP/enc-part kDC_REP_enc_part
+KDC-REP/padata rEP_SEQUENCE_OF_PA_DATA
+KDC-REQ/padata rEQ_SEQUENCE_OF_PA_DATA
+Ticket/_untag/enc-part ticket_enc_part
+ETYPE-INFO-ENTRY/salt info_salt
+ETYPE-INFO2-ENTRY/salt info2_salt
+AP-REQ/_untag/authenticator authenticator_enc_part
+PA-FX-FAST-REQUEST/armored-data armored_data_request
+PA-FX-FAST-REPLY/armored-data armored_data_reply
+PA-KERB-KEY-LIST-REP/_item kerbKeyListRep_key
+
+#.FIELD_ATTR
+KDC-REQ-BODY/etype ABBREV=kdc-req-body.etype
+ETYPE-INFO-ENTRY/salt ABBREV=info_salt
+ETYPE-INFO2-ENTRY/salt ABBREV=info2_salt
+PA-KERB-KEY-LIST-REP/_item ABBREV=kerbKeyListRep.key NAME="key"
+
+#.OMIT_ASSIGNMENT
+AD-AND-OR
+AD-KDCIssued
+AD-LoginAlias
+AD-MANDATORY-FOR-KDC
+ChangePasswdDataMS
+EncryptedData
+EtypeList
+FastOptions
+KerberosFlags
+KrbFastFinished
+KrbFastResponse
+KrbFastReq
+KRB5SignedPath
+KRB5SignedPathData
+KRB5SignedPathPrincipals
+Krb5int32
+Krb5uint32
+PA-AUTHENTICATION-SET
+PA-ClientCanonicalized
+PA-ClientCanonicalizedNames
+PA-ENC-TS-ENC
+PA-ENC-SAM-RESPONSE-ENC
+PA-SAM-CHALLENGE-2
+PA-SAM-CHALLENGE-2-BODY
+PA-SAM-REDIRECT
+PA-SAM-RESPONSE-2
+PA-SAM-TYPE
+PA-SERVER-REFERRAL-DATA
+PA-ServerReferralData
+PA-SvrReferralData
+Principal
+PROV-SRV-LOCATION
+SAMFlags
+TYPED-DATA
+
+#.NO_EMIT ONLY_VALS
+Applications
+PA-FX-FAST-REPLY
+PA-FX-FAST-REQUEST
+
+#.MAKE_DEFINES
+ADDR-TYPE TYPE_PREFIX
+Applications TYPE_PREFIX
+
+#.MAKE_ENUM
+PADATA-TYPE PROT_PREFIX UPPER_CASE
+AUTHDATA-TYPE PROT_PREFIX UPPER_CASE
+KrbFastArmorTypes PROT_PREFIX UPPER_CASE
+
+#.FN_BODY MESSAGE-TYPE VAL_PTR = &msgtype
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ guint32 msgtype;
+
+%(DEFAULT_BODY)s
+
+#.FN_FTR MESSAGE-TYPE
+ if (gbl_do_col_info) {
+ col_add_str(actx->pinfo->cinfo, COL_INFO,
+ val_to_str(msgtype, krb5_msg_types,
+ "Unknown msg type %#x"));
+ }
+ gbl_do_col_info=FALSE;
+
+##if 0
+ /* append the application type to the tree */
+ proto_item_append_text(tree, " %s", val_to_str(msgtype, krb5_msg_types, "Unknown:0x%x"));
+##endif
+ if (private_data->msg_type == 0) {
+ private_data->msg_type = msgtype;
+ }
+
+#.FN_BODY ERROR-CODE VAL_PTR = &private_data->errorcode
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+%(DEFAULT_BODY)s
+
+#.FN_FTR ERROR-CODE
+ if (private_data->errorcode) {
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO,
+ "KRB Error: %s",
+ val_to_str(private_data->errorcode, krb5_error_codes,
+ "Unknown error code %#x"));
+ }
+
+#.END
+#.FN_BODY KRB-ERROR/_untag/e-data
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ switch (private_data->errorcode) {
+ case KRB5_ET_KRB5KDC_ERR_BADOPTION:
+ case KRB5_ET_KRB5KDC_ERR_CLIENT_REVOKED:
+ case KRB5_ET_KRB5KDC_ERR_KEY_EXP:
+ case KRB5_ET_KRB5KDC_ERR_POLICY:
+ /* ms windows kdc sends e-data of this type containing a "salt"
+ * that contains the nt_status code for these error codes.
+ */
+ private_data->try_nt_status = TRUE;
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_kerberos_e_data, dissect_kerberos_PA_DATA);
+ break;
+ case KRB5_ET_KRB5KDC_ERR_PREAUTH_REQUIRED:
+ case KRB5_ET_KRB5KDC_ERR_PREAUTH_FAILED:
+ case KRB5_ET_KRB5KDC_ERR_ETYPE_NOSUPP:
+ case KRB5_ET_KDC_ERR_WRONG_REALM:
+ case KRB5_ET_KDC_ERR_PREAUTH_EXPIRED:
+ case KRB5_ET_KDC_ERR_MORE_PREAUTH_DATA_REQUIRED:
+ case KRB5_ET_KDC_ERR_PREAUTH_BAD_AUTHENTICATION_SET:
+ case KRB5_ET_KDC_ERR_UNKNOWN_CRITICAL_FAST_OPTIONS:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_kerberos_e_data, dissect_kerberos_T_rEP_SEQUENCE_OF_PA_DATA);
+ break;
+ default:
+ offset=dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_kerberos_e_data, NULL);
+ break;
+ }
+
+
+#.FN_BODY PADATA-TYPE VAL_PTR=&(private_data->padata_type)
+ kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
+%(DEFAULT_BODY)s
+#.FN_FTR PADATA-TYPE
+ if(tree){
+ proto_item_append_text(tree, " %s",
+ val_to_str(private_data->padata_type, kerberos_PADATA_TYPE_vals,
+ "Unknown:%d"));
+ }
+
+#.FN_BODY KDC-REQ/padata
+ kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
+ struct _kerberos_PA_FX_FAST_REQUEST saved_stack = private_data->PA_FX_FAST_REQUEST;
+
+ /*
+ * we need to defer calling dissect_kerberos_PA_FX_FAST_REQUEST,
+ * see dissect_kerberos_defer_PA_FX_FAST_REQUEST()
+ */
+ private_data->PA_FX_FAST_REQUEST = (struct _kerberos_PA_FX_FAST_REQUEST) { .defer = TRUE, };
+%(DEFAULT_BODY)s
+ if (private_data->PA_FX_FAST_REQUEST.tvb != NULL) {
+ struct _kerberos_PA_FX_FAST_REQUEST used_stack = private_data->PA_FX_FAST_REQUEST;
+ private_data->PA_FX_FAST_REQUEST = (struct _kerberos_PA_FX_FAST_REQUEST) { .defer = FALSE, };
+
+ /*
+ * dissect_kerberos_defer_PA_FX_FAST_REQUEST() remembered
+ * a tvb, so replay dissect_kerberos_PA_FX_FAST_REQUEST()
+ * here.
+ */
+ dissect_kerberos_PA_FX_FAST_REQUEST(FALSE,
+ used_stack.tvb,
+ 0,
+ actx,
+ used_stack.tree,
+ -1);
+ }
+ private_data->PA_FX_FAST_REQUEST = saved_stack;
+
+#.FN_BODY KDC-REP/padata
+%(DEFAULT_BODY)s
+
+#.FN_BODY PA-DATA/padata-value
+ proto_tree *sub_tree=tree;
+ kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
+
+ if(actx->created_item){
+ sub_tree=proto_item_add_subtree(actx->created_item, ett_kerberos_PA_DATA);
+ }
+
+ switch(private_data->padata_type){
+ case KERBEROS_PA_TGS_REQ:
+ private_data->within_PA_TGS_REQ++;
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_Applications);
+ private_data->within_PA_TGS_REQ--;
+ break;
+ case KERBEROS_PA_PK_AS_REP_19:
+ private_data->is_win2k_pkinit = TRUE;
+ if (kerberos_private_is_kdc_req(private_data)) {
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_pkinit_PA_PK_AS_REQ_Win2k);
+ } else {
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_pkinit_PA_PK_AS_REP_Win2k);
+ }
+ break;
+ case KERBEROS_PA_PK_AS_REQ:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_pkinit_PaPkAsReq);
+ break;
+ case KERBEROS_PA_PK_AS_REP:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_pkinit_PaPkAsRep);
+ break;
+ case KERBEROS_PA_PAC_REQUEST:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_PAC_REQUEST);
+ break;
+ case KERBEROS_PA_FOR_USER: /* S4U2SELF */
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_S4U2Self);
+ break;
+ case KERBEROS_PA_FOR_X509_USER:
+ if(private_data->msg_type == KRB5_MSG_AS_REQ){
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_x509af_Certificate);
+ }else if(private_data->is_enc_padata){
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, NULL);
+ }else{
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_S4U_X509_USER);
+ }
+ break;
+ case KERBEROS_PA_PROV_SRV_LOCATION:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_krb5_PA_PROV_SRV_LOCATION);
+ break;
+ case KERBEROS_PA_ENC_TIMESTAMP:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_ENC_TIMESTAMP);
+ break;
+ case KERBEROS_PA_ETYPE_INFO:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_ETYPE_INFO);
+ break;
+ case KERBEROS_PA_ETYPE_INFO2:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_ETYPE_INFO2);
+ break;
+ case KERBEROS_PA_PW_SALT:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_krb5_PW_SALT);
+ break;
+ case KERBEROS_PA_AUTH_SET_SELECTED:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_AUTHENTICATION_SET_ELEM);
+ break;
+ case KERBEROS_PA_FX_FAST:
+ if (kerberos_private_is_kdc_req(private_data)) {
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_defer_PA_FX_FAST_REQUEST);
+ }else{
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_FX_FAST_REPLY);
+ }
+ break;
+ case KERBEROS_PA_FX_ERROR:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_Applications);
+ break;
+ case KERBEROS_PA_ENCRYPTED_CHALLENGE:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_EncryptedChallenge);
+ break;
+ case KERBEROS_PA_KERB_KEY_LIST_REQ:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset, hf_index, dissect_kerberos_PA_KERB_KEY_LIST_REQ);
+ break;
+ case KERBEROS_PA_KERB_KEY_LIST_REP:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset, hf_index, dissect_kerberos_PA_KERB_KEY_LIST_REP);
+ break;
+ case KERBEROS_PA_SUPPORTED_ETYPES:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_SUPPORTED_ENCTYPES);
+ break;
+ case KERBEROS_PA_PAC_OPTIONS:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset, hf_index, dissect_kerberos_PA_PAC_OPTIONS);
+ break;
+ case KERBEROS_PA_REQ_ENC_PA_REP:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_Checksum);
+ break;
+ case KERBEROS_PA_SPAKE:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, dissect_kerberos_PA_SPAKE);
+ break;
+ default:
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, sub_tree, tvb, offset,hf_index, NULL);
+ break;
+ }
+
+#.FN_BODY HostAddress/address
+ gint8 appclass;
+ bool pc;
+ gint32 tag;
+ guint32 len;
+ const char *address_str;
+ proto_item *it=NULL;
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ /* read header and len for the octet string */
+ offset=dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &appclass, &pc, &tag);
+ offset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, NULL);
+
+ switch(private_data->addr_type){
+ case KERBEROS_ADDR_TYPE_IPV4:
+ it=proto_tree_add_item(tree, hf_krb_address_ip, tvb, offset, 4, ENC_BIG_ENDIAN);
+ address_str = tvb_ip_to_str(actx->pinfo->pool, tvb, offset);
+ break;
+ case KERBEROS_ADDR_TYPE_NETBIOS:
+ {
+ char netbios_name[(NETBIOS_NAME_LEN - 1)*4 + 1];
+ int netbios_name_type;
+ int netbios_name_len = (NETBIOS_NAME_LEN - 1)*4 + 1;
+
+ netbios_name_type = process_netbios_name(tvb_get_ptr(tvb, offset, 16), netbios_name, netbios_name_len);
+ address_str = wmem_strdup_printf(actx->pinfo->pool, "%s<%02x>", netbios_name, netbios_name_type);
+ it=proto_tree_add_string_format(tree, hf_krb_address_netbios, tvb, offset, 16, netbios_name, "NetBIOS Name: %s (%s)", address_str, netbios_name_type_descr(netbios_name_type));
+ }
+ break;
+ case KERBEROS_ADDR_TYPE_IPV6:
+ it=proto_tree_add_item(tree, hf_krb_address_ipv6, tvb, offset, INET6_ADDRLEN, ENC_NA);
+ address_str = tvb_ip6_to_str(actx->pinfo->pool, tvb, offset);
+ break;
+ default:
+ proto_tree_add_expert(tree, actx->pinfo, &ei_kerberos_address, tvb, offset, len);
+ address_str = NULL;
+ break;
+ }
+
+ /* push it up two levels in the decode pane */
+ if(it && address_str){
+ proto_item_append_text(proto_item_get_parent(it), " %s",address_str);
+ proto_item_append_text(proto_item_get_parent_nth(it, 2), " %s",address_str);
+ }
+
+ offset+=len;
+
+
+#.TYPE_ATTR
+#xxx TYPE = FT_UINT16 DISPLAY = BASE_DEC STRINGS = VALS(xx_vals)
+
+#.FN_BODY ENCTYPE VAL_PTR=&(private_data->etype)
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+%(DEFAULT_BODY)s
+
+#.FN_BODY EncryptedTicketData/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_ticket_data);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY EncryptedAuthorizationData/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_authorization_data);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY EncryptedAuthenticator/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_authenticator_data);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY EncryptedKDCREPData/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_KDC_REP_data);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY PA-ENC-TIMESTAMP/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_PA_ENC_TIMESTAMP);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY EncryptedAPREPData/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_AP_REP_data);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY EncryptedKrbPrivData/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_PRIV_data);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY EncryptedKrbCredData/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_CRED_data);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY CKSUMTYPE VAL_PTR=&(private_data->checksum_type)
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+%(DEFAULT_BODY)s
+
+#.FN_BODY Checksum/checksum
+ tvbuff_t *next_tvb;
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ switch(private_data->checksum_type){
+ case KRB5_CHKSUM_GSSAPI:
+ offset=dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &next_tvb);
+ dissect_krb5_rfc1964_checksum(actx, tree, next_tvb);
+ break;
+ default:
+ offset=dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, NULL);
+ break;
+ }
+
+#.FN_BODY EncryptionKey/keytype VAL_PTR=&gbl_keytype
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ private_data->key_hidden_item = proto_tree_add_item(tree, hf_krb_key_hidden_item,
+ tvb, 0, 0, ENC_NA);
+ if (private_data->key_hidden_item != NULL) {
+ proto_item_set_hidden(private_data->key_hidden_item);
+ }
+
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ &gbl_keytype);
+ private_data->key.keytype = gbl_keytype;
+
+#.FN_BODY EncryptionKey/keyvalue VAL_PTR=&out_tvb
+ tvbuff_t *out_tvb;
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+%(DEFAULT_BODY)s
+
+ private_data->key.keylength = tvb_reported_length(out_tvb);
+ private_data->key.keyvalue = tvb_get_ptr(out_tvb, 0, private_data->key.keylength);
+ private_data->key_tree = tree;
+ private_data->key_tvb = out_tvb;
+
+#.FN_BODY EncryptionKey
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+##ifdef HAVE_KERBEROS
+ int start_offset = offset;
+##endif
+
+ %(DEFAULT_BODY)s
+
+ if (private_data->key.keytype != 0 && private_data->key.keylength > 0) {
+##ifdef HAVE_KERBEROS
+ int length = offset - start_offset;
+ private_data->last_added_key = NULL;
+ private_data->save_encryption_key_fn(tvb, start_offset, length, actx, tree,
+ private_data->save_encryption_key_parent_hf_index,
+ hf_index);
+ private_data->last_added_key = NULL;
+##endif
+ }
+
+#.FN_BODY Authenticator/_untag/subkey
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ gint save_encryption_key_parent_hf_index = private_data->save_encryption_key_parent_hf_index;
+ kerberos_key_save_fn saved_encryption_key_fn = private_data->save_encryption_key_fn;
+ private_data->save_encryption_key_parent_hf_index = hf_kerberos_authenticator;
+##ifdef HAVE_KERBEROS
+ private_data->save_encryption_key_fn = save_Authenticator_subkey;
+##endif
+%(DEFAULT_BODY)s
+ private_data->save_encryption_key_parent_hf_index = save_encryption_key_parent_hf_index;
+ private_data->save_encryption_key_fn = saved_encryption_key_fn;
+
+#.FN_BODY EncAPRepPart/_untag/subkey
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ gint save_encryption_key_parent_hf_index = private_data->save_encryption_key_parent_hf_index;
+ kerberos_key_save_fn saved_encryption_key_fn = private_data->save_encryption_key_fn;
+ private_data->save_encryption_key_parent_hf_index = hf_kerberos_encAPRepPart;
+##ifdef HAVE_KERBEROS
+ private_data->save_encryption_key_fn = save_EncAPRepPart_subkey;
+##endif
+%(DEFAULT_BODY)s
+ private_data->save_encryption_key_parent_hf_index = save_encryption_key_parent_hf_index;
+ private_data->save_encryption_key_fn = saved_encryption_key_fn;
+
+#.FN_BODY EncKDCRepPart/key
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ gint save_encryption_key_parent_hf_index = private_data->save_encryption_key_parent_hf_index;
+ kerberos_key_save_fn saved_encryption_key_fn = private_data->save_encryption_key_fn;
+ switch (private_data->msg_type) {
+ case KERBEROS_APPLICATIONS_AS_REP:
+ private_data->save_encryption_key_parent_hf_index = hf_kerberos_encASRepPart;
+ break;
+ case KERBEROS_APPLICATIONS_TGS_REP:
+ private_data->save_encryption_key_parent_hf_index = hf_kerberos_encTGSRepPart;
+ break;
+ default:
+ private_data->save_encryption_key_parent_hf_index = -1;
+ }
+##ifdef HAVE_KERBEROS
+ private_data->save_encryption_key_fn = save_EncKDCRepPart_key;
+##endif
+%(DEFAULT_BODY)s
+ private_data->save_encryption_key_parent_hf_index = save_encryption_key_parent_hf_index;
+ private_data->save_encryption_key_fn = saved_encryption_key_fn;
+
+#.FN_BODY EncTicketPart/_untag/key
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ gint save_encryption_key_parent_hf_index = private_data->save_encryption_key_parent_hf_index;
+ kerberos_key_save_fn saved_encryption_key_fn = private_data->save_encryption_key_fn;
+ private_data->save_encryption_key_parent_hf_index = hf_kerberos_encTicketPart;
+##ifdef HAVE_KERBEROS
+ private_data->save_encryption_key_fn = save_EncTicketPart_key;
+##endif
+%(DEFAULT_BODY)s
+ private_data->save_encryption_key_parent_hf_index = save_encryption_key_parent_hf_index;
+ private_data->save_encryption_key_fn = saved_encryption_key_fn;
+
+#.FN_BODY KrbCredInfo/key
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ gint save_encryption_key_parent_hf_index = private_data->save_encryption_key_parent_hf_index;
+ kerberos_key_save_fn saved_encryption_key_fn = private_data->save_encryption_key_fn;
+ private_data->save_encryption_key_parent_hf_index = hf_kerberos_ticket_info_item;
+##ifdef HAVE_KERBEROS
+ private_data->save_encryption_key_fn = save_KrbCredInfo_key;
+##endif
+%(DEFAULT_BODY)s
+ private_data->save_encryption_key_parent_hf_index = save_encryption_key_parent_hf_index;
+ private_data->save_encryption_key_fn = saved_encryption_key_fn;
+
+#.FN_BODY PA-KERB-KEY-LIST-REP/_item
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ gint save_encryption_key_parent_hf_index = private_data->save_encryption_key_parent_hf_index;
+ kerberos_key_save_fn saved_encryption_key_fn = private_data->save_encryption_key_fn;
+ private_data->save_encryption_key_parent_hf_index = hf_kerberos_kerbKeyListRep_key;
+##ifdef HAVE_KERBEROS
+ private_data->save_encryption_key_fn = save_encryption_key;
+##endif
+%(DEFAULT_BODY)s
+ private_data->save_encryption_key_parent_hf_index = save_encryption_key_parent_hf_index;
+ private_data->save_encryption_key_fn = saved_encryption_key_fn;
+
+#.FN_BODY AUTHDATA-TYPE VAL_PTR=&(private_data->ad_type)
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+%(DEFAULT_BODY)s
+
+#.FN_BODY AuthorizationData/_item/ad-data
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ switch(private_data->ad_type){
+ case KERBEROS_AD_WIN2K_PAC:
+ offset=dissect_ber_octet_string_wcb(implicit_tag, actx, tree, tvb, offset, hf_index, dissect_krb5_AD_WIN2K_PAC);
+ break;
+ case KERBEROS_AD_IF_RELEVANT:
+ offset=dissect_ber_octet_string_wcb(implicit_tag, actx, tree, tvb, offset, hf_index, dissect_kerberos_AD_IF_RELEVANT);
+ break;
+ case KERBEROS_AD_AUTHENTICATION_STRENGTH:
+ offset=dissect_ber_octet_string_wcb(implicit_tag, actx, tree, tvb, offset, hf_index, dissect_kerberos_PA_AUTHENTICATION_SET_ELEM);
+ break;
+ case KERBEROS_AD_GSS_API_ETYPE_NEGOTIATION:
+ offset=dissect_ber_octet_string_wcb(implicit_tag, actx, tree, tvb, offset, hf_index, dissect_kerberos_SEQUENCE_OF_ENCTYPE);
+ break;
+ case KERBEROS_AD_TOKEN_RESTRICTIONS:
+ offset=dissect_ber_octet_string_wcb(implicit_tag, actx, tree, tvb, offset, hf_index, dissect_kerberos_KERB_AD_RESTRICTION_ENTRY);
+ break;
+ case KERBEROS_AD_AP_OPTIONS:
+ offset=dissect_ber_octet_string_wcb(implicit_tag, actx, tree, tvb, offset, hf_index, dissect_kerberos_AD_AP_OPTIONS);
+ break;
+ case KERBEROS_AD_TARGET_PRINCIPAL:
+ offset=dissect_ber_octet_string_wcb(implicit_tag, actx, tree, tvb, offset, hf_index, dissect_kerberos_AD_TARGET_PRINCIPAL);
+ break;
+ default:
+ offset=dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+ break;
+ }
+
+#.FN_BODY S4UUserID/subject-certificate
+ offset=dissect_ber_octet_string_wcb(implicit_tag, actx, tree, tvb, offset,hf_index, dissect_x509af_Certificate);
+
+#.FN_BODY ADDR-TYPE VAL_PTR=&(private_data->addr_type)
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+%(DEFAULT_BODY)s
+
+#.FN_BODY KDC-REQ-BODY
+ conversation_t *conversation;
+
+ /*
+ * UDP replies to KDC_REQs are sent from the server back to the client's
+ * source port, similar to the way TFTP works. Set up a conversation
+ * accordingly.
+ *
+ * Ref: Section 7.2.1 of
+ * http://www.ietf.org/internet-drafts/draft-ietf-krb-wg-kerberos-clarifications-07.txt
+ */
+ if (actx->pinfo->destport == UDP_PORT_KERBEROS && actx->pinfo->ptype == PT_UDP) {
+ conversation = find_conversation(actx->pinfo->num, &actx->pinfo->src, &actx->pinfo->dst, CONVERSATION_UDP,
+ actx->pinfo->srcport, 0, NO_PORT_B);
+ if (conversation == NULL) {
+ conversation = conversation_new(actx->pinfo->num, &actx->pinfo->src, &actx->pinfo->dst, CONVERSATION_UDP,
+ actx->pinfo->srcport, 0, NO_PORT2);
+ conversation_set_dissector(conversation, kerberos_handle_udp);
+ }
+ }
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY KRB-SAFE-BODY/user-data
+ kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
+ tvbuff_t *new_tvb;
+ offset=dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &new_tvb);
+ if (new_tvb) {
+ call_kerberos_callbacks(actx->pinfo, tree, new_tvb, KRB_CBTAG_SAFE_USER_DATA, private_data->callbacks);
+ }
+
+#.FN_BODY EncKrbPrivPart/user-data
+ kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
+ tvbuff_t *new_tvb;
+ offset=dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &new_tvb);
+ if (new_tvb) {
+ call_kerberos_callbacks(actx->pinfo, tree, new_tvb, KRB_CBTAG_PRIV_USER_DATA, private_data->callbacks);
+ }
+
+#.FN_HDR EncKDCRepPart/encrypted-pa-data
+ kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
+ private_data->is_enc_padata = TRUE;
+
+#.FN_FTR EncKDCRepPart/encrypted-pa-data
+ private_data->is_enc_padata = FALSE;
+
+#.FN_BODY EncryptedKrbFastReq/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_KrbFastReq);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY EncryptedKrbFastResponse/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_KrbFastResponse);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY EncryptedChallenge/cipher
+##ifdef HAVE_KERBEROS
+ offset=dissect_ber_octet_string_wcb(FALSE, actx, tree, tvb, offset, hf_index, dissect_krb5_decrypt_EncryptedChallenge);
+##else
+%(DEFAULT_BODY)s
+##endif
+
+#.FN_BODY KrbFastArmorTypes VAL_PTR=&(private_data->fast_type)
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+%(DEFAULT_BODY)s
+
+#.FN_BODY KrbFastArmor/armor-value
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ switch(private_data->fast_type){
+ case KERBEROS_FX_FAST_ARMOR_AP_REQUEST:
+ private_data->fast_armor_within_armor_value++;
+ offset=dissect_ber_octet_string_wcb(implicit_tag, actx, tree, tvb, offset, hf_index, dissect_kerberos_Applications);
+ private_data->fast_armor_within_armor_value--;
+ break;
+ default:
+ offset=dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+ break;
+ }
+
+#.FN_BODY PA-SPAKE VAL_PTR=&(private_data->padata_type)
+ kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
+%(DEFAULT_BODY)s
+#.FN_FTR PA-SPAKE
+ if(tree){
+ proto_item_append_text(tree, " %s",
+ val_to_str(private_data->padata_type, kerberos_PA_SPAKE_vals,
+ "Unknown:%d"));
+ }
diff --git a/epan/dissectors/asn1/kerberos/packet-kerberos-template.c b/epan/dissectors/asn1/kerberos/packet-kerberos-template.c
new file mode 100644
index 00000000..49646377
--- /dev/null
+++ b/epan/dissectors/asn1/kerberos/packet-kerberos-template.c
@@ -0,0 +1,5451 @@
+/* packet-kerberos.c
+ * Routines for Kerberos
+ * Wes Hardaker (c) 2000
+ * wjhardaker@ucdavis.edu
+ * Richard Sharpe (C) 2002, rsharpe@samba.org, modularized a bit more and
+ * added AP-REQ and AP-REP dissection
+ *
+ * Ronnie Sahlberg (C) 2004, major rewrite for new ASN.1/BER API.
+ * decryption of kerberos blobs if keytab is provided
+ *
+ * See RFC 1510, and various I-Ds and other documents showing additions,
+ * e.g. ones listed under
+ *
+ * http://clifford.neuman.name/krb-revisions/
+ *
+ * and
+ *
+ * https://tools.ietf.org/html/draft-ietf-krb-wg-kerberos-clarifications-07
+ *
+ * and
+ *
+ * https://tools.ietf.org/html/draft-ietf-krb-wg-kerberos-referrals-05
+ *
+ * Some structures from RFC2630
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+/*
+ * Some of the development of the Kerberos protocol decoder was sponsored by
+ * Cable Television Laboratories, Inc. ("CableLabs") based upon proprietary
+ * CableLabs' specifications. Your license and use of this protocol decoder
+ * does not mean that you are licensed to use the CableLabs'
+ * specifications. If you have questions about this protocol, contact
+ * jf.mule [AT] cablelabs.com or c.stuart [AT] cablelabs.com for additional
+ * information.
+ */
+
+#include <config.h>
+
+#include <stdio.h>
+
+// krb5.h needs to be included before the defines in packet-kerberos.h
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+#ifdef _WIN32
+/* prevent redefinition warnings in krb5's win-mac.h */
+#define SSIZE_T_DEFINED
+#endif /* _WIN32 */
+#include <krb5.h>
+#endif
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/strutil.h>
+#include <epan/conversation.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <epan/prefs.h>
+#include <wsutil/wsgcrypt.h>
+#include <wsutil/file_util.h>
+#include <wsutil/str_util.h>
+#include <wsutil/pint.h>
+#include "packet-kerberos.h"
+#include "packet-netbios.h"
+#include "packet-tcp.h"
+#include "packet-ber.h"
+#include "packet-pkinit.h"
+#include "packet-cms.h"
+#include "packet-windows-common.h"
+
+#include "read_keytab_file.h"
+
+#include "packet-dcerpc-netlogon.h"
+#include "packet-dcerpc.h"
+
+#include "packet-gssapi.h"
+#include "packet-x509af.h"
+
+#define KEY_USAGE_FAST_REQ_CHKSUM 50
+#define KEY_USAGE_FAST_ENC 51
+#define KEY_USAGE_FAST_REP 52
+#define KEY_USAGE_FAST_FINISHED 53
+#define KEY_USAGE_ENC_CHALLENGE_CLIENT 54
+#define KEY_USAGE_ENC_CHALLENGE_KDC 55
+
+void proto_register_kerberos(void);
+void proto_reg_handoff_kerberos(void);
+
+#define UDP_PORT_KERBEROS 88
+#define TCP_PORT_KERBEROS 88
+
+#define ADDRESS_STR_BUFSIZ 256
+
+typedef struct kerberos_key {
+ guint32 keytype;
+ int keylength;
+ const guint8 *keyvalue;
+} kerberos_key_t;
+
+typedef void (*kerberos_key_save_fn)(tvbuff_t *tvb _U_, int offset _U_, int length _U_,
+ asn1_ctx_t *actx _U_, proto_tree *tree _U_,
+ int parent_hf_index _U_,
+ int hf_index _U_);
+
+typedef struct {
+ guint32 msg_type;
+ gboolean is_win2k_pkinit;
+ guint32 errorcode;
+ gboolean try_nt_status;
+ guint32 etype;
+ guint32 padata_type;
+ guint32 is_enc_padata;
+ guint32 enctype;
+ kerberos_key_t key;
+ proto_tree *key_tree;
+ proto_item *key_hidden_item;
+ tvbuff_t *key_tvb;
+ kerberos_callbacks *callbacks;
+ guint32 ad_type;
+ guint32 addr_type;
+ guint32 checksum_type;
+#ifdef HAVE_KERBEROS
+ enc_key_t *last_decryption_key;
+ enc_key_t *last_added_key;
+ tvbuff_t *last_ticket_enc_part_tvb;
+#endif
+ gint save_encryption_key_parent_hf_index;
+ kerberos_key_save_fn save_encryption_key_fn;
+ guint learnt_key_ids;
+ guint missing_key_ids;
+ wmem_list_t *decryption_keys;
+ wmem_list_t *learnt_keys;
+ wmem_list_t *missing_keys;
+ guint32 within_PA_TGS_REQ;
+ struct _kerberos_PA_FX_FAST_REQUEST {
+ gboolean defer;
+ tvbuff_t *tvb;
+ proto_tree *tree;
+ } PA_FX_FAST_REQUEST;
+#ifdef HAVE_KERBEROS
+ enc_key_t *PA_TGS_REQ_key;
+ enc_key_t *PA_TGS_REQ_subkey;
+#endif
+ guint32 fast_type;
+ guint32 fast_armor_within_armor_value;
+#ifdef HAVE_KERBEROS
+ enc_key_t *PA_FAST_ARMOR_AP_key;
+ enc_key_t *PA_FAST_ARMOR_AP_subkey;
+ enc_key_t *fast_armor_key;
+ enc_key_t *fast_strengthen_key;
+#endif
+} kerberos_private_data_t;
+
+static dissector_handle_t kerberos_handle_tcp;
+static dissector_handle_t kerberos_handle_udp;
+
+/* Forward declarations */
+static int dissect_kerberos_Applications(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_AuthorizationData(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_ENC_TIMESTAMP(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+#ifdef HAVE_KERBEROS
+static int dissect_kerberos_PA_ENC_TS_ENC(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+#endif
+static int dissect_kerberos_PA_PAC_REQUEST(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_S4U2Self(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_S4U_X509_USER(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_ETYPE_INFO(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_ETYPE_INFO2(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_AD_IF_RELEVANT(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_AUTHENTICATION_SET_ELEM(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_FX_FAST_REQUEST(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_EncryptedChallenge(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_KERB_KEY_LIST_REQ(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_KERB_KEY_LIST_REP(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_FX_FAST_REPLY(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_PAC_OPTIONS(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_KERB_AD_RESTRICTION_ENTRY(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_SEQUENCE_OF_ENCTYPE(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_PA_SPAKE(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+#ifdef HAVE_KERBEROS
+static int dissect_kerberos_KrbFastReq(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_KrbFastResponse(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_kerberos_FastOptions(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+#endif
+
+/* Desegment Kerberos over TCP messages */
+static gboolean krb_desegment = TRUE;
+
+static gint proto_kerberos = -1;
+
+static gint hf_krb_rm_reserved = -1;
+static gint hf_krb_rm_reclen = -1;
+static gint hf_krb_provsrv_location = -1;
+static gint hf_krb_pw_salt = -1;
+static gint hf_krb_ext_error_nt_status = -1;
+static gint hf_krb_ext_error_reserved = -1;
+static gint hf_krb_ext_error_flags = -1;
+static gint hf_krb_address_ip = -1;
+static gint hf_krb_address_netbios = -1;
+static gint hf_krb_address_ipv6 = -1;
+static gint hf_krb_gssapi_len = -1;
+static gint hf_krb_gssapi_bnd = -1;
+static gint hf_krb_gssapi_dlgopt = -1;
+static gint hf_krb_gssapi_dlglen = -1;
+static gint hf_krb_gssapi_c_flag_deleg = -1;
+static gint hf_krb_gssapi_c_flag_mutual = -1;
+static gint hf_krb_gssapi_c_flag_replay = -1;
+static gint hf_krb_gssapi_c_flag_sequence = -1;
+static gint hf_krb_gssapi_c_flag_conf = -1;
+static gint hf_krb_gssapi_c_flag_integ = -1;
+static gint hf_krb_gssapi_c_flag_dce_style = -1;
+static gint hf_krb_midl_version = -1;
+static gint hf_krb_midl_hdr_len = -1;
+static gint hf_krb_midl_fill_bytes = -1;
+static gint hf_krb_midl_blob_len = -1;
+static gint hf_krb_pac_signature_type = -1;
+static gint hf_krb_pac_signature_signature = -1;
+static gint hf_krb_w2k_pac_entries = -1;
+static gint hf_krb_w2k_pac_version = -1;
+static gint hf_krb_w2k_pac_type = -1;
+static gint hf_krb_w2k_pac_size = -1;
+static gint hf_krb_w2k_pac_offset = -1;
+static gint hf_krb_pac_clientid = -1;
+static gint hf_krb_pac_namelen = -1;
+static gint hf_krb_pac_clientname = -1;
+static gint hf_krb_pac_logon_info = -1;
+static gint hf_krb_pac_credential_data = -1;
+static gint hf_krb_pac_credential_info = -1;
+static gint hf_krb_pac_credential_info_version = -1;
+static gint hf_krb_pac_credential_info_etype = -1;
+static gint hf_krb_pac_s4u_delegation_info = -1;
+static gint hf_krb_pac_upn_dns_info = -1;
+static gint hf_krb_pac_upn_flags = -1;
+static gint hf_krb_pac_upn_flag_upn_constructed = -1;
+static gint hf_krb_pac_upn_flag_has_sam_name_and_sid = -1;
+static gint hf_krb_pac_upn_upn_offset = -1;
+static gint hf_krb_pac_upn_upn_len = -1;
+static gint hf_krb_pac_upn_upn_name = -1;
+static gint hf_krb_pac_upn_dns_offset = -1;
+static gint hf_krb_pac_upn_dns_len = -1;
+static gint hf_krb_pac_upn_dns_name = -1;
+static gint hf_krb_pac_upn_samaccountname_offset = -1;
+static gint hf_krb_pac_upn_samaccountname_len = -1;
+static gint hf_krb_pac_upn_samaccountname = -1;
+static gint hf_krb_pac_upn_objectsid_offset = -1;
+static gint hf_krb_pac_upn_objectsid_len = -1;
+static gint hf_krb_pac_server_checksum = -1;
+static gint hf_krb_pac_privsvr_checksum = -1;
+static gint hf_krb_pac_client_info_type = -1;
+static gint hf_krb_pac_client_claims_info = -1;
+static gint hf_krb_pac_device_info = -1;
+static gint hf_krb_pac_device_claims_info = -1;
+static gint hf_krb_pac_ticket_checksum = -1;
+static gint hf_krb_pac_attributes_info = -1;
+static gint hf_krb_pac_attributes_info_length = -1;
+static gint hf_krb_pac_attributes_info_flags = -1;
+static gint hf_krb_pac_attributes_info_flags_pac_was_requested = -1;
+static gint hf_krb_pac_attributes_info_flags_pac_was_given_implicitly = -1;
+static gint hf_krb_pac_requester_sid = -1;
+static gint hf_krb_pa_supported_enctypes = -1;
+static gint hf_krb_pa_supported_enctypes_des_cbc_crc = -1;
+static gint hf_krb_pa_supported_enctypes_des_cbc_md5 = -1;
+static gint hf_krb_pa_supported_enctypes_rc4_hmac = -1;
+static gint hf_krb_pa_supported_enctypes_aes128_cts_hmac_sha1_96 = -1;
+static gint hf_krb_pa_supported_enctypes_aes256_cts_hmac_sha1_96 = -1;
+static gint hf_krb_pa_supported_enctypes_fast_supported = -1;
+static gint hf_krb_pa_supported_enctypes_compound_identity_supported = -1;
+static gint hf_krb_pa_supported_enctypes_claims_supported = -1;
+static gint hf_krb_pa_supported_enctypes_resource_sid_compression_disabled = -1;
+static gint hf_krb_ad_ap_options = -1;
+static gint hf_krb_ad_ap_options_cbt = -1;
+static gint hf_krb_ad_target_principal = -1;
+static gint hf_krb_key_hidden_item = -1;
+static gint hf_kerberos_KERB_TICKET_LOGON = -1;
+static gint hf_kerberos_KERB_TICKET_LOGON_MessageType = -1;
+static gint hf_kerberos_KERB_TICKET_LOGON_Flags = -1;
+static gint hf_kerberos_KERB_TICKET_LOGON_ServiceTicketLength = -1;
+static gint hf_kerberos_KERB_TICKET_LOGON_TicketGrantingTicketLength = -1;
+static gint hf_kerberos_KERB_TICKET_LOGON_ServiceTicket = -1;
+static gint hf_kerberos_KERB_TICKET_LOGON_TicketGrantingTicket = -1;
+static gint hf_kerberos_KERB_TICKET_LOGON_FLAG_ALLOW_EXPIRED_TICKET = -1;
+static gint hf_kerberos_KERB_TICKET_LOGON_FLAG_REDIRECTED = -1;
+#ifdef HAVE_KERBEROS
+static gint hf_kerberos_KrbFastResponse = -1;
+static gint hf_kerberos_strengthen_key = -1;
+static gint hf_kerberos_finished = -1;
+static gint hf_kerberos_fast_options = -1;
+static gint hf_kerberos_ticket_checksum = -1;
+static gint hf_krb_patimestamp = -1;
+static gint hf_krb_pausec = -1;
+static gint hf_kerberos_FastOptions_reserved = -1;
+static gint hf_kerberos_FastOptions_hide_client_names = -1;
+static gint hf_kerberos_FastOptions_spare_bit2 = -1;
+static gint hf_kerberos_FastOptions_spare_bit3 = -1;
+static gint hf_kerberos_FastOptions_spare_bit4 = -1;
+static gint hf_kerberos_FastOptions_spare_bit5 = -1;
+static gint hf_kerberos_FastOptions_spare_bit6 = -1;
+static gint hf_kerberos_FastOptions_spare_bit7 = -1;
+static gint hf_kerberos_FastOptions_spare_bit8 = -1;
+static gint hf_kerberos_FastOptions_spare_bit9 = -1;
+static gint hf_kerberos_FastOptions_spare_bit10 = -1;
+static gint hf_kerberos_FastOptions_spare_bit11 = -1;
+static gint hf_kerberos_FastOptions_spare_bit12 = -1;
+static gint hf_kerberos_FastOptions_spare_bit13 = -1;
+static gint hf_kerberos_FastOptions_spare_bit14 = -1;
+static gint hf_kerberos_FastOptions_spare_bit15 = -1;
+static gint hf_kerberos_FastOptions_kdc_follow_referrals = -1;
+
+#endif
+#include "packet-kerberos-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_kerberos = -1;
+static gint ett_krb_recordmark = -1;
+static gint ett_krb_pac = -1;
+static gint ett_krb_pac_drep = -1;
+static gint ett_krb_pac_midl_blob = -1;
+static gint ett_krb_pac_logon_info = -1;
+static gint ett_krb_pac_credential_info = -1;
+static gint ett_krb_pac_s4u_delegation_info = -1;
+static gint ett_krb_pac_upn_dns_info = -1;
+static gint ett_krb_pac_upn_dns_info_flags = -1;
+static gint ett_krb_pac_device_info = -1;
+static gint ett_krb_pac_server_checksum = -1;
+static gint ett_krb_pac_privsvr_checksum = -1;
+static gint ett_krb_pac_client_info_type = -1;
+static gint ett_krb_pac_ticket_checksum = -1;
+static gint ett_krb_pac_attributes_info = -1;
+static gint ett_krb_pac_attributes_info_flags = -1;
+static gint ett_krb_pac_requester_sid = -1;
+static gint ett_krb_pa_supported_enctypes = -1;
+static gint ett_krb_ad_ap_options = -1;
+static gint ett_kerberos_KERB_TICKET_LOGON = -1;
+#ifdef HAVE_KERBEROS
+static gint ett_krb_pa_enc_ts_enc = -1;
+static gint ett_kerberos_KrbFastFinished = -1;
+static gint ett_kerberos_KrbFastResponse = -1;
+static gint ett_kerberos_KrbFastReq = -1;
+static gint ett_kerberos_FastOptions = -1;
+#endif
+#include "packet-kerberos-ett.c"
+
+static expert_field ei_kerberos_missing_keytype = EI_INIT;
+static expert_field ei_kerberos_decrypted_keytype = EI_INIT;
+static expert_field ei_kerberos_learnt_keytype = EI_INIT;
+static expert_field ei_kerberos_address = EI_INIT;
+static expert_field ei_krb_gssapi_dlglen = EI_INIT;
+
+static dissector_handle_t krb4_handle=NULL;
+
+/* Global variables */
+static guint32 gbl_keytype;
+static gboolean gbl_do_col_info;
+
+#include "packet-kerberos-val.h"
+
+static void
+call_kerberos_callbacks(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int tag, kerberos_callbacks *cb)
+{
+ if(!cb){
+ return;
+ }
+
+ while(cb->tag){
+ if(cb->tag==tag){
+ cb->callback(pinfo, tvb, tree);
+ return;
+ }
+ cb++;
+ }
+ return;
+}
+
+static kerberos_private_data_t*
+kerberos_new_private_data(packet_info *pinfo)
+{
+ kerberos_private_data_t *p;
+
+ p = wmem_new0(pinfo->pool, kerberos_private_data_t);
+ if (p == NULL) {
+ return NULL;
+ }
+
+ p->decryption_keys = wmem_list_new(pinfo->pool);
+ p->learnt_keys = wmem_list_new(pinfo->pool);
+ p->missing_keys = wmem_list_new(pinfo->pool);
+
+ return p;
+}
+
+static kerberos_private_data_t*
+kerberos_get_private_data(asn1_ctx_t *actx)
+{
+ if (!actx->private_data) {
+ actx->private_data = kerberos_new_private_data(actx->pinfo);
+ }
+ return (kerberos_private_data_t *)(actx->private_data);
+}
+
+static bool
+kerberos_private_is_kdc_req(kerberos_private_data_t *private_data)
+{
+ switch (private_data->msg_type) {
+ case KERBEROS_APPLICATIONS_AS_REQ:
+ case KERBEROS_APPLICATIONS_TGS_REQ:
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+gboolean
+kerberos_is_win2k_pkinit(asn1_ctx_t *actx)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ return private_data->is_win2k_pkinit;
+}
+
+static int dissect_kerberos_defer_PA_FX_FAST_REQUEST(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_)
+{
+ kerberos_private_data_t* private_data = kerberos_get_private_data(actx);
+
+ /*
+ * dissect_ber_octet_string_wcb() always passes
+ * implicit_tag=FALSE, offset=0 and hf_index=-1
+ *
+ * It means we only need to remember tvb and tree
+ * in order to replay dissect_kerberos_PA_FX_FAST_REQUEST()
+ * in dissect_kerberos_T_rEQ_SEQUENCE_OF_PA_DATA()
+ */
+ ws_assert(implicit_tag == FALSE);
+ ws_assert(offset == 0);
+ ws_assert(hf_index == -1);
+
+ if (private_data->PA_FX_FAST_REQUEST.defer) {
+ /*
+ * Remember the tvb (and the optional tree)
+ */
+ private_data->PA_FX_FAST_REQUEST.tvb = tvb;
+ private_data->PA_FX_FAST_REQUEST.tree = tree;
+ /*
+ * only handle the first PA_FX_FAST_REQUEST...
+ */
+ private_data->PA_FX_FAST_REQUEST.defer = FALSE;
+ return tvb_reported_length_remaining(tvb, offset);
+ }
+
+ return dissect_kerberos_PA_FX_FAST_REQUEST(implicit_tag, tvb, offset, actx, tree, hf_index);
+}
+
+#ifdef HAVE_KERBEROS
+
+/* Decrypt Kerberos blobs */
+gboolean krb_decrypt = FALSE;
+
+/* keytab filename */
+static const char *keytab_filename = "";
+
+void
+read_keytab_file_from_preferences(void)
+{
+ static char *last_keytab = NULL;
+
+ if (!krb_decrypt) {
+ return;
+ }
+
+ if (keytab_filename == NULL) {
+ return;
+ }
+
+ if (last_keytab && !strcmp(last_keytab, keytab_filename)) {
+ return;
+ }
+
+ g_free(last_keytab);
+ last_keytab = g_strdup(keytab_filename);
+
+ read_keytab_file(last_keytab);
+}
+#endif /* HAVE_KERBEROS */
+
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+enc_key_t *enc_key_list=NULL;
+static guint kerberos_longterm_ids = 0;
+wmem_map_t *kerberos_longterm_keys = NULL;
+static wmem_map_t *kerberos_all_keys = NULL;
+static wmem_map_t *kerberos_app_session_keys = NULL;
+
+static bool
+enc_key_list_cb(wmem_allocator_t* allocator _U_, wmem_cb_event_t event _U_, void *user_data _U_)
+{
+ enc_key_list = NULL;
+ kerberos_longterm_ids = 0;
+ /* keep the callback registered */
+ return TRUE;
+}
+
+static gint enc_key_cmp_id(gconstpointer k1, gconstpointer k2)
+{
+ const enc_key_t *key1 = (const enc_key_t *)k1;
+ const enc_key_t *key2 = (const enc_key_t *)k2;
+
+ if (key1->fd_num < key2->fd_num) {
+ return -1;
+ }
+ if (key1->fd_num > key2->fd_num) {
+ return 1;
+ }
+
+ if (key1->id < key2->id) {
+ return -1;
+ }
+ if (key1->id > key2->id) {
+ return 1;
+ }
+
+ return 0;
+}
+
+static gboolean
+enc_key_content_equal(gconstpointer k1, gconstpointer k2)
+{
+ const enc_key_t *key1 = (const enc_key_t *)k1;
+ const enc_key_t *key2 = (const enc_key_t *)k2;
+ int cmp;
+
+ if (key1->keytype != key2->keytype) {
+ return FALSE;
+ }
+
+ if (key1->keylength != key2->keylength) {
+ return FALSE;
+ }
+
+ cmp = memcmp(key1->keyvalue, key2->keyvalue, key1->keylength);
+ if (cmp != 0) {
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static guint
+enc_key_content_hash(gconstpointer k)
+{
+ const enc_key_t *key = (const enc_key_t *)k;
+ guint ret = 0;
+
+ ret += wmem_strong_hash((const guint8 *)&key->keytype,
+ sizeof(key->keytype));
+ ret += wmem_strong_hash((const guint8 *)&key->keylength,
+ sizeof(key->keylength));
+ ret += wmem_strong_hash((const guint8 *)key->keyvalue,
+ key->keylength);
+
+ return ret;
+}
+
+static void
+kerberos_key_map_insert(wmem_map_t *key_map, enc_key_t *new_key)
+{
+ enc_key_t *existing = NULL;
+ enc_key_t *cur = NULL;
+ gint cmp;
+
+ existing = (enc_key_t *)wmem_map_lookup(key_map, new_key);
+ if (existing == NULL) {
+ wmem_map_insert(key_map, new_key, new_key);
+ return;
+ }
+
+ if (key_map != kerberos_all_keys) {
+ /*
+ * It should already be linked to the existing key...
+ */
+ return;
+ }
+
+ if (existing->fd_num == -1 && new_key->fd_num != -1) {
+ /*
+ * We can't reference a learnt key
+ * from a longterm key. As they have
+ * a shorter lifetime.
+ *
+ * So just let the learnt key remember the
+ * match.
+ */
+ new_key->same_list = existing;
+ new_key->num_same = existing->num_same + 1;
+ return;
+ }
+
+ /*
+ * If a key with the same content (keytype,keylength,keyvalue)
+ * already exists, we want the earliest key to be
+ * in the list.
+ */
+ cmp = enc_key_cmp_id(new_key, existing);
+ if (cmp == 0) {
+ /*
+ * It's the same, nothing to do...
+ */
+ return;
+ }
+ if (cmp < 0) {
+ /* The new key has should be added to the list. */
+ new_key->same_list = existing;
+ new_key->num_same = existing->num_same + 1;
+ wmem_map_insert(key_map, new_key, new_key);
+ return;
+ }
+
+ /*
+ * We want to link the new_key to the existing one.
+ *
+ * But we want keep the list sorted, so we need to forward
+ * to the correct spot.
+ */
+ for (cur = existing; cur->same_list != NULL; cur = cur->same_list) {
+ cmp = enc_key_cmp_id(new_key, cur->same_list);
+ if (cmp == 0) {
+ /*
+ * It's the same, nothing to do...
+ */
+ return;
+ }
+
+ if (cmp < 0) {
+ /*
+ * We found the correct spot,
+ * the new_key should added
+ * between existing and existing->same_list
+ */
+ new_key->same_list = cur->same_list;
+ new_key->num_same = cur->num_same;
+ break;
+ }
+ }
+
+ /*
+ * finally link new_key to existing
+ * and fix up the numbers
+ */
+ cur->same_list = new_key;
+ for (cur = existing; cur != new_key; cur = cur->same_list) {
+ cur->num_same += 1;
+ }
+
+ return;
+}
+
+struct insert_longterm_keys_into_key_map_state {
+ wmem_map_t *key_map;
+};
+
+static void insert_longterm_keys_into_key_map_cb(gpointer __key _U_,
+ gpointer value,
+ gpointer user_data)
+{
+ struct insert_longterm_keys_into_key_map_state *state =
+ (struct insert_longterm_keys_into_key_map_state *)user_data;
+ enc_key_t *key = (enc_key_t *)value;
+
+ kerberos_key_map_insert(state->key_map, key);
+}
+
+static void insert_longterm_keys_into_key_map(wmem_map_t *key_map)
+{
+ /*
+ * Because the kerberos_longterm_keys are allocated on
+ * wmem_epan_scope() and kerberos_all_keys are allocated
+ * on wmem_file_scope(), we need to plug the longterm keys
+ * back to kerberos_all_keys if a new file was loaded
+ * and wmem_file_scope() got cleared.
+ */
+ if (wmem_map_size(key_map) < wmem_map_size(kerberos_longterm_keys)) {
+ struct insert_longterm_keys_into_key_map_state state = {
+ .key_map = key_map,
+ };
+ /*
+ * Reference all longterm keys into kerberos_all_keys
+ */
+ wmem_map_foreach(kerberos_longterm_keys,
+ insert_longterm_keys_into_key_map_cb,
+ &state);
+ }
+}
+
+static void
+kerberos_key_list_append(wmem_list_t *key_list, enc_key_t *new_key)
+{
+ enc_key_t *existing = NULL;
+
+ existing = (enc_key_t *)wmem_list_find(key_list, new_key);
+ if (existing != NULL) {
+ return;
+ }
+
+ wmem_list_append(key_list, new_key);
+}
+
+static void
+add_encryption_key(packet_info *pinfo,
+ kerberos_private_data_t *private_data,
+ proto_tree *key_tree,
+ proto_item *key_hidden_item,
+ tvbuff_t *key_tvb,
+ int keytype, int keylength, const char *keyvalue,
+ const char *origin,
+ enc_key_t *src1, enc_key_t *src2)
+{
+ wmem_allocator_t *key_scope = NULL;
+ enc_key_t *new_key = NULL;
+ const char *methodl = "learnt";
+ const char *methodu = "Learnt";
+ proto_item *item = NULL;
+
+ private_data->last_added_key = NULL;
+
+ if (src1 != NULL && src2 != NULL) {
+ methodl = "derived";
+ methodu = "Derived";
+ }
+
+ if(pinfo->fd->visited){
+ /*
+ * We already processed this,
+ * we can use a shortterm scope
+ */
+ key_scope = pinfo->pool;
+ } else {
+ /*
+ * As long as we have enc_key_list, we need to
+ * use wmem_epan_scope(), when that's gone
+ * we can dynamically select the scope based on
+ * how long we'll need the particular key.
+ */
+ key_scope = wmem_epan_scope();
+ }
+
+ new_key = wmem_new0(key_scope, enc_key_t);
+ snprintf(new_key->key_origin, KRB_MAX_ORIG_LEN, "%s %s in frame %u",
+ methodl, origin, pinfo->num);
+ new_key->fd_num = pinfo->num;
+ new_key->id = ++private_data->learnt_key_ids;
+ snprintf(new_key->id_str, KRB_MAX_ID_STR_LEN, "%d.%u",
+ new_key->fd_num, new_key->id);
+ new_key->keytype=keytype;
+ new_key->keylength=keylength;
+ memcpy(new_key->keyvalue, keyvalue, MIN(keylength, KRB_MAX_KEY_LENGTH));
+ new_key->src1 = src1;
+ new_key->src2 = src2;
+
+ if(!pinfo->fd->visited){
+ /*
+ * Only keep it if we don't processed it before.
+ */
+ new_key->next=enc_key_list;
+ enc_key_list=new_key;
+ insert_longterm_keys_into_key_map(kerberos_all_keys);
+ kerberos_key_map_insert(kerberos_all_keys, new_key);
+ }
+
+ item = proto_tree_add_expert_format(key_tree, pinfo, &ei_kerberos_learnt_keytype,
+ key_tvb, 0, keylength,
+ "%s %s keytype %d (id=%d.%u) (%02x%02x%02x%02x...)",
+ methodu, origin, keytype, pinfo->num, new_key->id,
+ keyvalue[0] & 0xFF, keyvalue[1] & 0xFF,
+ keyvalue[2] & 0xFF, keyvalue[3] & 0xFF);
+ if (item != NULL && key_hidden_item != NULL) {
+ proto_tree_move_item(key_tree, key_hidden_item, item);
+ }
+ if (src1 != NULL) {
+ enc_key_t *sek = src1;
+ expert_add_info_format(pinfo, item, &ei_kerberos_learnt_keytype,
+ "SRC1 %s keytype %d (id=%s same=%u) (%02x%02x%02x%02x...)",
+ sek->key_origin, sek->keytype,
+ sek->id_str, sek->num_same,
+ sek->keyvalue[0] & 0xFF, sek->keyvalue[1] & 0xFF,
+ sek->keyvalue[2] & 0xFF, sek->keyvalue[3] & 0xFF);
+ }
+ if (src2 != NULL) {
+ enc_key_t *sek = src2;
+ expert_add_info_format(pinfo, item, &ei_kerberos_learnt_keytype,
+ "SRC2 %s keytype %d (id=%s same=%u) (%02x%02x%02x%02x...)",
+ sek->key_origin, sek->keytype,
+ sek->id_str, sek->num_same,
+ sek->keyvalue[0] & 0xFF, sek->keyvalue[1] & 0xFF,
+ sek->keyvalue[2] & 0xFF, sek->keyvalue[3] & 0xFF);
+ }
+
+ kerberos_key_list_append(private_data->learnt_keys, new_key);
+ private_data->last_added_key = new_key;
+}
+
+static void
+save_encryption_key(tvbuff_t *tvb _U_, int offset _U_, int length _U_,
+ asn1_ctx_t *actx _U_, proto_tree *tree _U_,
+ int parent_hf_index _U_,
+ int hf_index _U_)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ const char *parent = proto_registrar_get_name(parent_hf_index);
+ const char *element = proto_registrar_get_name(hf_index);
+ char origin[KRB_MAX_ORIG_LEN] = { 0, };
+
+ snprintf(origin, KRB_MAX_ORIG_LEN, "%s_%s", parent, element);
+
+ add_encryption_key(actx->pinfo,
+ private_data,
+ private_data->key_tree,
+ private_data->key_hidden_item,
+ private_data->key_tvb,
+ private_data->key.keytype,
+ private_data->key.keylength,
+ private_data->key.keyvalue,
+ origin,
+ NULL,
+ NULL);
+}
+
+static void
+save_Authenticator_subkey(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+
+ if (private_data->last_decryption_key == NULL) {
+ return;
+ }
+ if (private_data->last_added_key == NULL) {
+ return;
+ }
+
+ if (private_data->within_PA_TGS_REQ != 0) {
+ private_data->PA_TGS_REQ_key = private_data->last_decryption_key;
+ private_data->PA_TGS_REQ_subkey = private_data->last_added_key;
+ }
+ if (private_data->fast_armor_within_armor_value != 0) {
+ private_data->PA_FAST_ARMOR_AP_key = private_data->last_decryption_key;
+ private_data->PA_FAST_ARMOR_AP_subkey = private_data->last_added_key;
+ }
+}
+
+static void
+save_EncAPRepPart_subkey(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+
+ if (actx->pinfo->fd->visited) {
+ return;
+ }
+
+ if (private_data->last_added_key == NULL) {
+ return;
+ }
+
+ kerberos_key_map_insert(kerberos_app_session_keys, private_data->last_added_key);
+}
+
+static void
+save_EncKDCRepPart_key(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+}
+
+static void
+save_EncTicketPart_key(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+}
+
+static void
+save_KrbCredInfo_key(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+}
+
+static void
+save_KrbFastResponse_strengthen_key(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+
+ private_data->fast_strengthen_key = private_data->last_added_key;
+}
+
+static void used_encryption_key(proto_tree *tree, packet_info *pinfo,
+ kerberos_private_data_t *private_data,
+ enc_key_t *ek, int usage, tvbuff_t *cryptotvb,
+ const char *keymap_name,
+ guint keymap_size,
+ guint decryption_count)
+{
+ proto_item *item = NULL;
+ enc_key_t *sek = NULL;
+
+ item = proto_tree_add_expert_format(tree, pinfo, &ei_kerberos_decrypted_keytype,
+ cryptotvb, 0, 0,
+ "Decrypted keytype %d usage %d "
+ "using %s (id=%s same=%u) (%02x%02x%02x%02x...)",
+ ek->keytype, usage, ek->key_origin, ek->id_str, ek->num_same,
+ ek->keyvalue[0] & 0xFF, ek->keyvalue[1] & 0xFF,
+ ek->keyvalue[2] & 0xFF, ek->keyvalue[3] & 0xFF);
+ expert_add_info_format(pinfo, item, &ei_kerberos_decrypted_keytype,
+ "Used keymap=%s num_keys=%u num_tries=%u)",
+ keymap_name,
+ keymap_size,
+ decryption_count);
+ if (ek->src1 != NULL) {
+ sek = ek->src1;
+ expert_add_info_format(pinfo, item, &ei_kerberos_decrypted_keytype,
+ "SRC1 %s keytype %d (id=%s same=%u) (%02x%02x%02x%02x...)",
+ sek->key_origin, sek->keytype,
+ sek->id_str, sek->num_same,
+ sek->keyvalue[0] & 0xFF, sek->keyvalue[1] & 0xFF,
+ sek->keyvalue[2] & 0xFF, sek->keyvalue[3] & 0xFF);
+ }
+ if (ek->src2 != NULL) {
+ sek = ek->src2;
+ expert_add_info_format(pinfo, item, &ei_kerberos_decrypted_keytype,
+ "SRC2 %s keytype %d (id=%s same=%u) (%02x%02x%02x%02x...)",
+ sek->key_origin, sek->keytype,
+ sek->id_str, sek->num_same,
+ sek->keyvalue[0] & 0xFF, sek->keyvalue[1] & 0xFF,
+ sek->keyvalue[2] & 0xFF, sek->keyvalue[3] & 0xFF);
+ }
+ sek = ek->same_list;
+ while (sek != NULL) {
+ expert_add_info_format(pinfo, item, &ei_kerberos_decrypted_keytype,
+ "Decrypted keytype %d usage %d "
+ "using %s (id=%s same=%u) (%02x%02x%02x%02x...)",
+ sek->keytype, usage, sek->key_origin, sek->id_str, sek->num_same,
+ sek->keyvalue[0] & 0xFF, sek->keyvalue[1] & 0xFF,
+ sek->keyvalue[2] & 0xFF, sek->keyvalue[3] & 0xFF);
+ sek = sek->same_list;
+ }
+ kerberos_key_list_append(private_data->decryption_keys, ek);
+ private_data->last_decryption_key = ek;
+}
+#endif /* HAVE_HEIMDAL_KERBEROS || HAVE_MIT_KERBEROS */
+
+#ifdef HAVE_MIT_KERBEROS
+
+static void missing_encryption_key(proto_tree *tree, packet_info *pinfo,
+ kerberos_private_data_t *private_data,
+ int keytype, int usage, tvbuff_t *cryptotvb,
+ const char *keymap_name,
+ guint keymap_size,
+ guint decryption_count)
+{
+ proto_item *item = NULL;
+ enc_key_t *mek = NULL;
+
+ mek = wmem_new0(pinfo->pool, enc_key_t);
+ snprintf(mek->key_origin, KRB_MAX_ORIG_LEN,
+ "keytype %d usage %d missing in frame %u",
+ keytype, usage, pinfo->num);
+ mek->fd_num = pinfo->num;
+ mek->id = ++private_data->missing_key_ids;
+ snprintf(mek->id_str, KRB_MAX_ID_STR_LEN, "missing.%u",
+ mek->id);
+ mek->keytype=keytype;
+
+ item = proto_tree_add_expert_format(tree, pinfo, &ei_kerberos_missing_keytype,
+ cryptotvb, 0, 0,
+ "Missing keytype %d usage %d (id=%s)",
+ keytype, usage, mek->id_str);
+ expert_add_info_format(pinfo, item, &ei_kerberos_missing_keytype,
+ "Used keymap=%s num_keys=%u num_tries=%u)",
+ keymap_name,
+ keymap_size,
+ decryption_count);
+
+ kerberos_key_list_append(private_data->missing_keys, mek);
+}
+
+#ifdef HAVE_KRB5_PAC_VERIFY
+static void used_signing_key(proto_tree *tree, packet_info *pinfo,
+ kerberos_private_data_t *private_data,
+ enc_key_t *ek, tvbuff_t *tvb,
+ krb5_cksumtype checksum,
+ const char *reason,
+ const char *keymap_name,
+ guint keymap_size,
+ guint verify_count)
+{
+ proto_item *item = NULL;
+ enc_key_t *sek = NULL;
+
+ item = proto_tree_add_expert_format(tree, pinfo, &ei_kerberos_decrypted_keytype,
+ tvb, 0, 0,
+ "%s checksum %d keytype %d "
+ "using %s (id=%s same=%u) (%02x%02x%02x%02x...)",
+ reason, checksum, ek->keytype, ek->key_origin,
+ ek->id_str, ek->num_same,
+ ek->keyvalue[0] & 0xFF, ek->keyvalue[1] & 0xFF,
+ ek->keyvalue[2] & 0xFF, ek->keyvalue[3] & 0xFF);
+ expert_add_info_format(pinfo, item, &ei_kerberos_decrypted_keytype,
+ "Used keymap=%s num_keys=%u num_tries=%u)",
+ keymap_name,
+ keymap_size,
+ verify_count);
+ sek = ek->same_list;
+ while (sek != NULL) {
+ expert_add_info_format(pinfo, item, &ei_kerberos_decrypted_keytype,
+ "%s checksum %d keytype %d "
+ "using %s (id=%s same=%u) (%02x%02x%02x%02x...)",
+ reason, checksum, sek->keytype, sek->key_origin,
+ sek->id_str, sek->num_same,
+ sek->keyvalue[0] & 0xFF, sek->keyvalue[1] & 0xFF,
+ sek->keyvalue[2] & 0xFF, sek->keyvalue[3] & 0xFF);
+ sek = sek->same_list;
+ }
+ kerberos_key_list_append(private_data->decryption_keys, ek);
+}
+
+static void missing_signing_key(proto_tree *tree, packet_info *pinfo,
+ kerberos_private_data_t *private_data,
+ tvbuff_t *tvb,
+ krb5_cksumtype checksum,
+ int keytype,
+ const char *reason,
+ const char *keymap_name,
+ guint keymap_size,
+ guint verify_count)
+{
+ proto_item *item = NULL;
+ enc_key_t *mek = NULL;
+
+ mek = wmem_new0(pinfo->pool, enc_key_t);
+ snprintf(mek->key_origin, KRB_MAX_ORIG_LEN,
+ "checksum %d keytype %d missing in frame %u",
+ checksum, keytype, pinfo->num);
+ mek->fd_num = pinfo->num;
+ mek->id = ++private_data->missing_key_ids;
+ snprintf(mek->id_str, KRB_MAX_ID_STR_LEN, "missing.%u",
+ mek->id);
+ mek->keytype=keytype;
+
+ item = proto_tree_add_expert_format(tree, pinfo, &ei_kerberos_missing_keytype,
+ tvb, 0, 0,
+ "%s checksum %d keytype %d (id=%s)",
+ reason, checksum, keytype, mek->id_str);
+ expert_add_info_format(pinfo, item, &ei_kerberos_missing_keytype,
+ "Used keymap=%s num_keys=%u num_tries=%u)",
+ keymap_name,
+ keymap_size,
+ verify_count);
+
+ kerberos_key_list_append(private_data->missing_keys, mek);
+}
+
+#endif /* HAVE_KRB5_PAC_VERIFY */
+
+static krb5_context krb5_ctx;
+
+#ifdef HAVE_KRB5_C_FX_CF2_SIMPLE
+static void
+krb5_fast_key(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb,
+ enc_key_t *ek1 _U_, const char *p1 _U_,
+ enc_key_t *ek2 _U_, const char *p2 _U_,
+ const char *origin _U_)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ krb5_error_code ret;
+ krb5_keyblock k1;
+ krb5_keyblock k2;
+ krb5_keyblock *k = NULL;
+
+ if (!krb_decrypt) {
+ return;
+ }
+
+ if (ek1 == NULL) {
+ return;
+ }
+
+ if (ek2 == NULL) {
+ return;
+ }
+
+ k1.magic = KV5M_KEYBLOCK;
+ k1.enctype = ek1->keytype;
+ k1.length = ek1->keylength;
+ k1.contents = (guint8 *)ek1->keyvalue;
+
+ k2.magic = KV5M_KEYBLOCK;
+ k2.enctype = ek2->keytype;
+ k2.length = ek2->keylength;
+ k2.contents = (guint8 *)ek2->keyvalue;
+
+ ret = krb5_c_fx_cf2_simple(krb5_ctx, &k1, p1, &k2, p2, &k);
+ if (ret != 0) {
+ return;
+ }
+
+ add_encryption_key(actx->pinfo,
+ private_data,
+ tree, NULL, tvb,
+ k->enctype, k->length,
+ (const char *)k->contents,
+ origin,
+ ek1, ek2);
+
+ krb5_free_keyblock(krb5_ctx, k);
+}
+#else /* HAVE_KRB5_C_FX_CF2_SIMPLE */
+static void
+krb5_fast_key(asn1_ctx_t *actx _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_,
+ enc_key_t *ek1 _U_, const char *p1 _U_,
+ enc_key_t *ek2 _U_, const char *p2 _U_,
+ const char *origin _U_)
+{
+}
+#endif /* HAVE_KRB5_C_FX_CF2_SIMPLE */
+
+USES_APPLE_DEPRECATED_API
+void
+read_keytab_file(const char *filename)
+{
+ krb5_keytab keytab;
+ krb5_error_code ret;
+ krb5_keytab_entry key;
+ krb5_kt_cursor cursor;
+ static gboolean first_time=TRUE;
+
+ if (filename == NULL || filename[0] == 0) {
+ return;
+ }
+
+ if(first_time){
+ first_time=FALSE;
+ ret = krb5_init_context(&krb5_ctx);
+ if(ret && ret != KRB5_CONFIG_CANTOPEN){
+ return;
+ }
+ }
+
+ /* should use a file in the wireshark users dir */
+ ret = krb5_kt_resolve(krb5_ctx, filename, &keytab);
+ if(ret){
+ fprintf(stderr, "KERBEROS ERROR: Badly formatted keytab filename :%s\n",filename);
+
+ return;
+ }
+
+ ret = krb5_kt_start_seq_get(krb5_ctx, keytab, &cursor);
+ if(ret){
+ fprintf(stderr, "KERBEROS ERROR: Could not open or could not read from keytab file :%s\n",filename);
+ return;
+ }
+
+ do{
+ ret = krb5_kt_next_entry(krb5_ctx, keytab, &key, &cursor);
+ if(ret==0){
+ enc_key_t *new_key;
+ int i;
+ char *pos;
+
+ new_key = wmem_new0(wmem_epan_scope(), enc_key_t);
+ new_key->fd_num = -1;
+ new_key->id = ++kerberos_longterm_ids;
+ snprintf(new_key->id_str, KRB_MAX_ID_STR_LEN, "keytab.%u", new_key->id);
+ new_key->next = enc_key_list;
+
+ /* generate origin string, describing where this key came from */
+ pos=new_key->key_origin;
+ pos+=MIN(KRB_MAX_ORIG_LEN,
+ snprintf(pos, KRB_MAX_ORIG_LEN, "keytab principal "));
+ for(i=0;i<key.principal->length;i++){
+ pos+=MIN(KRB_MAX_ORIG_LEN-(pos-new_key->key_origin),
+ snprintf(pos, KRB_MAX_ORIG_LEN-(pos-new_key->key_origin), "%s%s",(i?"/":""),(key.principal->data[i]).data));
+ }
+ pos+=MIN(KRB_MAX_ORIG_LEN-(pos-new_key->key_origin),
+ snprintf(pos, KRB_MAX_ORIG_LEN-(pos-new_key->key_origin), "@%s",key.principal->realm.data));
+ *pos=0;
+ new_key->keytype=key.key.enctype;
+ new_key->keylength=key.key.length;
+ memcpy(new_key->keyvalue,
+ key.key.contents,
+ MIN(key.key.length, KRB_MAX_KEY_LENGTH));
+
+ enc_key_list=new_key;
+ ret = krb5_free_keytab_entry_contents(krb5_ctx, &key);
+ if (ret) {
+ fprintf(stderr, "KERBEROS ERROR: Could not release the entry: %d", ret);
+ ret = 0; /* try to continue with the next entry */
+ }
+ kerberos_key_map_insert(kerberos_longterm_keys, new_key);
+ }
+ }while(ret==0);
+
+ ret = krb5_kt_end_seq_get(krb5_ctx, keytab, &cursor);
+ if(ret){
+ fprintf(stderr, "KERBEROS ERROR: Could not release the keytab cursor: %d", ret);
+ }
+ ret = krb5_kt_close(krb5_ctx, keytab);
+ if(ret){
+ fprintf(stderr, "KERBEROS ERROR: Could not close the key table handle: %d", ret);
+ }
+}
+
+struct decrypt_krb5_with_cb_state {
+ proto_tree *tree;
+ packet_info *pinfo;
+ kerberos_private_data_t *private_data;
+ int usage;
+ int keytype;
+ tvbuff_t *cryptotvb;
+ krb5_error_code (*decrypt_cb_fn)(
+ const krb5_keyblock *key,
+ int usage,
+ void *decrypt_cb_data);
+ void *decrypt_cb_data;
+ guint count;
+ enc_key_t *ek;
+};
+
+static void
+decrypt_krb5_with_cb_try_key(gpointer __key _U_, gpointer value, gpointer userdata)
+{
+ struct decrypt_krb5_with_cb_state *state =
+ (struct decrypt_krb5_with_cb_state *)userdata;
+ enc_key_t *ek = (enc_key_t *)value;
+ krb5_error_code ret;
+ krb5_keytab_entry key;
+#ifdef HAVE_KRB5_C_FX_CF2_SIMPLE
+ enc_key_t *ak = state->private_data->fast_armor_key;
+ enc_key_t *sk = state->private_data->fast_strengthen_key;
+ gboolean try_with_armor_key = FALSE;
+ gboolean try_with_strengthen_key = FALSE;
+#endif
+
+ if (state->ek != NULL) {
+ /*
+ * we're done.
+ */
+ return;
+ }
+
+#ifdef HAVE_KRB5_C_FX_CF2_SIMPLE
+ if (ak != NULL && ak != ek && ak->keytype == state->keytype && ek->fd_num == -1) {
+ switch (state->usage) {
+ case KEY_USAGE_ENC_CHALLENGE_CLIENT:
+ case KEY_USAGE_ENC_CHALLENGE_KDC:
+ if (ek->fd_num == -1) {
+ /* Challenges are based on a long term key */
+ try_with_armor_key = TRUE;
+ }
+ break;
+ }
+
+ /*
+ * If we already have a strengthen_key
+ * we don't need to try with the armor key
+ * again
+ */
+ if (sk != NULL) {
+ try_with_armor_key = FALSE;
+ }
+ }
+
+ if (sk != NULL && sk != ek && sk->keytype == state->keytype && sk->keytype == ek->keytype) {
+ switch (state->usage) {
+ case 3:
+ if (ek->fd_num == -1) {
+ /* AS-REP is based on a long term key */
+ try_with_strengthen_key = TRUE;
+ }
+ break;
+ case 8:
+ case 9:
+ if (ek->fd_num != -1) {
+ /* TGS-REP is not based on a long term key */
+ try_with_strengthen_key = TRUE;
+ }
+ break;
+ }
+ }
+
+ if (try_with_armor_key) {
+ krb5_keyblock k1;
+ krb5_keyblock k2;
+ krb5_keyblock *k = NULL;
+ const char *p1 = NULL;
+
+ k1.magic = KV5M_KEYBLOCK;
+ k1.enctype = ak->keytype;
+ k1.length = ak->keylength;
+ k1.contents = (guint8 *)ak->keyvalue;
+
+ k2.magic = KV5M_KEYBLOCK;
+ k2.enctype = ek->keytype;
+ k2.length = ek->keylength;
+ k2.contents = (guint8 *)ek->keyvalue;
+
+ switch (state->usage) {
+ case KEY_USAGE_ENC_CHALLENGE_CLIENT:
+ p1 = "clientchallengearmor";
+ break;
+ case KEY_USAGE_ENC_CHALLENGE_KDC:
+ p1 = "kdcchallengearmor";
+ break;
+ default:
+ /*
+ * Should never be called!
+ */
+ /*
+ * try the next one...
+ */
+ return;
+ }
+
+ ret = krb5_c_fx_cf2_simple(krb5_ctx,
+ &k1, p1,
+ &k2, "challengelongterm",
+ &k);
+ if (ret != 0) {
+ /*
+ * try the next one...
+ */
+ return;
+ }
+
+ state->count += 1;
+ ret = state->decrypt_cb_fn(k,
+ state->usage,
+ state->decrypt_cb_data);
+ if (ret == 0) {
+ add_encryption_key(state->pinfo,
+ state->private_data,
+ state->tree,
+ NULL,
+ state->cryptotvb,
+ k->enctype, k->length,
+ (const char *)k->contents,
+ p1,
+ ak, ek);
+ krb5_free_keyblock(krb5_ctx, k);
+ /*
+ * remember the key and stop traversing
+ */
+ state->ek = state->private_data->last_added_key;
+ return;
+ }
+ krb5_free_keyblock(krb5_ctx, k);
+ /*
+ * don't stop traversing...
+ * try the next one...
+ */
+ return;
+ }
+
+ if (try_with_strengthen_key) {
+ krb5_keyblock k1;
+ krb5_keyblock k2;
+ krb5_keyblock *k = NULL;
+
+ k1.magic = KV5M_KEYBLOCK;
+ k1.enctype = sk->keytype;
+ k1.length = sk->keylength;
+ k1.contents = (guint8 *)sk->keyvalue;
+
+ k2.magic = KV5M_KEYBLOCK;
+ k2.enctype = ek->keytype;
+ k2.length = ek->keylength;
+ k2.contents = (guint8 *)ek->keyvalue;
+
+ ret = krb5_c_fx_cf2_simple(krb5_ctx,
+ &k1, "strengthenkey",
+ &k2, "replykey",
+ &k);
+ if (ret != 0) {
+ /*
+ * try the next one...
+ */
+ return;
+ }
+
+ state->count += 1;
+ ret = state->decrypt_cb_fn(k,
+ state->usage,
+ state->decrypt_cb_data);
+ if (ret == 0) {
+ add_encryption_key(state->pinfo,
+ state->private_data,
+ state->tree,
+ NULL,
+ state->cryptotvb,
+ k->enctype, k->length,
+ (const char *)k->contents,
+ "strengthen-reply-key",
+ sk, ek);
+ krb5_free_keyblock(krb5_ctx, k);
+ /*
+ * remember the key and stop traversing
+ */
+ state->ek = state->private_data->last_added_key;
+ return;
+ }
+ krb5_free_keyblock(krb5_ctx, k);
+ /*
+ * don't stop traversing...
+ * try the next one...
+ */
+ return;
+ }
+#endif /* HAVE_KRB5_C_FX_CF2_SIMPLE */
+
+ /* shortcircuit and bail out if enctypes are not matching */
+ if ((state->keytype != -1) && (ek->keytype != state->keytype)) {
+ /*
+ * don't stop traversing...
+ * try the next one...
+ */
+ return;
+ }
+
+ key.key.enctype=ek->keytype;
+ key.key.length=ek->keylength;
+ key.key.contents=ek->keyvalue;
+ state->count += 1;
+ ret = state->decrypt_cb_fn(&(key.key),
+ state->usage,
+ state->decrypt_cb_data);
+ if (ret != 0) {
+ /*
+ * don't stop traversing...
+ * try the next one...
+ */
+ return;
+ }
+
+ /*
+ * we're done, remember the key
+ */
+ state->ek = ek;
+}
+
+static krb5_error_code
+decrypt_krb5_with_cb(proto_tree *tree,
+ packet_info *pinfo,
+ kerberos_private_data_t *private_data,
+ int usage,
+ int keytype,
+ tvbuff_t *cryptotvb,
+ krb5_error_code (*decrypt_cb_fn)(
+ const krb5_keyblock *key,
+ int usage,
+ void *decrypt_cb_data),
+ void *decrypt_cb_data)
+{
+ const char *key_map_name = NULL;
+ wmem_map_t *key_map = NULL;
+ struct decrypt_krb5_with_cb_state state = {
+ .tree = tree,
+ .pinfo = pinfo,
+ .private_data = private_data,
+ .usage = usage,
+ .cryptotvb = cryptotvb,
+ .keytype = keytype,
+ .decrypt_cb_fn = decrypt_cb_fn,
+ .decrypt_cb_data = decrypt_cb_data,
+ };
+
+ read_keytab_file_from_preferences();
+
+ switch (usage) {
+ case KRB5_KU_USAGE_INITIATOR_SEAL:
+ case KRB5_KU_USAGE_ACCEPTOR_SEAL:
+ key_map_name = "app_session_keys";
+ key_map = kerberos_app_session_keys;
+ break;
+ default:
+ key_map_name = "all_keys";
+ key_map = kerberos_all_keys;
+ insert_longterm_keys_into_key_map(key_map);
+ break;
+ }
+
+ wmem_map_foreach(key_map, decrypt_krb5_with_cb_try_key, &state);
+ if (state.ek != NULL) {
+ used_encryption_key(tree, pinfo, private_data,
+ state.ek, usage, cryptotvb,
+ key_map_name,
+ wmem_map_size(key_map),
+ state.count);
+ return 0;
+ }
+
+ missing_encryption_key(tree, pinfo, private_data,
+ keytype, usage, cryptotvb,
+ key_map_name,
+ wmem_map_size(key_map),
+ state.count);
+ return -1;
+}
+
+struct decrypt_krb5_data_state {
+ krb5_data input;
+ krb5_data output;
+};
+
+static krb5_error_code
+decrypt_krb5_data_cb(const krb5_keyblock *key,
+ int usage,
+ void *decrypt_cb_data)
+{
+ struct decrypt_krb5_data_state *state =
+ (struct decrypt_krb5_data_state *)decrypt_cb_data;
+ krb5_enc_data input;
+
+ memset(&input, 0, sizeof(input));
+ input.enctype = key->enctype;
+ input.ciphertext = state->input;
+
+ return krb5_c_decrypt(krb5_ctx,
+ key,
+ usage,
+ 0,
+ &input,
+ &state->output);
+}
+
+static guint8 *
+decrypt_krb5_data_private(proto_tree *tree _U_, packet_info *pinfo,
+ kerberos_private_data_t *private_data,
+ int usage, tvbuff_t *cryptotvb, int keytype,
+ int *datalen)
+{
+#define HAVE_DECRYPT_KRB5_DATA_PRIVATE 1
+ struct decrypt_krb5_data_state state;
+ krb5_error_code ret;
+ int length = tvb_captured_length(cryptotvb);
+ const guint8 *cryptotext = tvb_get_ptr(cryptotvb, 0, length);
+
+ /* don't do anything if we are not attempting to decrypt data */
+ if(!krb_decrypt || length < 1){
+ return NULL;
+ }
+
+ /* make sure we have all the data we need */
+ if (tvb_captured_length(cryptotvb) < tvb_reported_length(cryptotvb)) {
+ return NULL;
+ }
+
+ memset(&state, 0, sizeof(state));
+ state.input.length = length;
+ state.input.data = (guint8 *)cryptotext;
+ state.output.data = (char *)wmem_alloc(pinfo->pool, length);
+ state.output.length = length;
+
+ ret = decrypt_krb5_with_cb(tree,
+ pinfo,
+ private_data,
+ usage,
+ keytype,
+ cryptotvb,
+ decrypt_krb5_data_cb,
+ &state);
+ if (ret != 0) {
+ return NULL;
+ }
+
+ if (datalen) {
+ *datalen = state.output.length;
+ }
+ return (guint8 *)state.output.data;
+}
+
+guint8 *
+decrypt_krb5_data(proto_tree *tree _U_, packet_info *pinfo,
+ int usage,
+ tvbuff_t *cryptotvb,
+ int keytype,
+ int *datalen)
+{
+ kerberos_private_data_t *zero_private = kerberos_new_private_data(pinfo);
+ return decrypt_krb5_data_private(tree, pinfo, zero_private,
+ usage, cryptotvb, keytype,
+ datalen);
+}
+
+USES_APPLE_RST
+
+#ifdef KRB5_CRYPTO_TYPE_SIGN_ONLY
+struct decrypt_krb5_krb_cfx_dce_state {
+ const guint8 *gssapi_header_ptr;
+ guint gssapi_header_len;
+ tvbuff_t *gssapi_encrypted_tvb;
+ guint8 *gssapi_payload;
+ guint gssapi_payload_len;
+ const guint8 *gssapi_trailer_ptr;
+ guint gssapi_trailer_len;
+ tvbuff_t *checksum_tvb;
+ guint8 *checksum;
+ guint checksum_len;
+};
+
+static krb5_error_code
+decrypt_krb5_krb_cfx_dce_cb(const krb5_keyblock *key,
+ int usage,
+ void *decrypt_cb_data)
+{
+ struct decrypt_krb5_krb_cfx_dce_state *state =
+ (struct decrypt_krb5_krb_cfx_dce_state *)decrypt_cb_data;
+ unsigned int k5_headerlen = 0;
+ unsigned int k5_headerofs = 0;
+ unsigned int k5_trailerlen = 0;
+ unsigned int k5_trailerofs = 0;
+ size_t _k5_blocksize = 0;
+ guint k5_blocksize;
+ krb5_crypto_iov iov[6];
+ krb5_error_code ret;
+ guint checksum_remain = state->checksum_len;
+ guint checksum_crypt_len;
+
+ memset(iov, 0, sizeof(iov));
+
+ ret = krb5_c_crypto_length(krb5_ctx,
+ key->enctype,
+ KRB5_CRYPTO_TYPE_HEADER,
+ &k5_headerlen);
+ if (ret != 0) {
+ return ret;
+ }
+ if (checksum_remain < k5_headerlen) {
+ return -1;
+ }
+ checksum_remain -= k5_headerlen;
+ k5_headerofs = checksum_remain;
+ ret = krb5_c_crypto_length(krb5_ctx,
+ key->enctype,
+ KRB5_CRYPTO_TYPE_TRAILER,
+ &k5_trailerlen);
+ if (ret != 0) {
+ return ret;
+ }
+ if (checksum_remain < k5_trailerlen) {
+ return -1;
+ }
+ checksum_remain -= k5_trailerlen;
+ k5_trailerofs = checksum_remain;
+ checksum_crypt_len = checksum_remain;
+
+ ret = krb5_c_block_size(krb5_ctx,
+ key->enctype,
+ &_k5_blocksize);
+ if (ret != 0) {
+ return ret;
+ }
+ /*
+ * The cast is required for the Windows build in order
+ * to avoid the following warning.
+ *
+ * warning C4267: '-=': conversion from 'size_t' to 'guint',
+ * possible loss of data
+ */
+ k5_blocksize = (guint)_k5_blocksize;
+ if (checksum_remain < k5_blocksize) {
+ return -1;
+ }
+ checksum_remain -= k5_blocksize;
+ if (checksum_remain < 16) {
+ return -1;
+ }
+
+ tvb_memcpy(state->gssapi_encrypted_tvb,
+ state->gssapi_payload,
+ 0,
+ state->gssapi_payload_len);
+ tvb_memcpy(state->checksum_tvb,
+ state->checksum,
+ 0,
+ state->checksum_len);
+
+ iov[0].flags = KRB5_CRYPTO_TYPE_HEADER;
+ iov[0].data.data = state->checksum + k5_headerofs;
+ iov[0].data.length = k5_headerlen;
+
+ if (state->gssapi_header_ptr != NULL) {
+ iov[1].flags = KRB5_CRYPTO_TYPE_SIGN_ONLY;
+ iov[1].data.data = (guint8 *)(guintptr)state->gssapi_header_ptr;
+ iov[1].data.length = state->gssapi_header_len;
+ } else {
+ iov[1].flags = KRB5_CRYPTO_TYPE_EMPTY;
+ }
+
+ iov[2].flags = KRB5_CRYPTO_TYPE_DATA;
+ iov[2].data.data = state->gssapi_payload;
+ iov[2].data.length = state->gssapi_payload_len;
+
+ if (state->gssapi_trailer_ptr != NULL) {
+ iov[3].flags = KRB5_CRYPTO_TYPE_SIGN_ONLY;
+ iov[3].data.data = (guint8 *)(guintptr)state->gssapi_trailer_ptr;
+ iov[3].data.length = state->gssapi_trailer_len;
+ } else {
+ iov[3].flags = KRB5_CRYPTO_TYPE_EMPTY;
+ }
+
+ iov[4].flags = KRB5_CRYPTO_TYPE_DATA;
+ iov[4].data.data = state->checksum;
+ iov[4].data.length = checksum_crypt_len;
+
+ iov[5].flags = KRB5_CRYPTO_TYPE_TRAILER;
+ iov[5].data.data = state->checksum + k5_trailerofs;
+ iov[5].data.length = k5_trailerlen;
+
+ return krb5_c_decrypt_iov(krb5_ctx,
+ key,
+ usage,
+ 0,
+ iov,
+ 6);
+}
+
+tvbuff_t *
+decrypt_krb5_krb_cfx_dce(proto_tree *tree,
+ packet_info *pinfo,
+ int usage,
+ int keytype,
+ tvbuff_t *gssapi_header_tvb,
+ tvbuff_t *gssapi_encrypted_tvb,
+ tvbuff_t *gssapi_trailer_tvb,
+ tvbuff_t *checksum_tvb)
+{
+ struct decrypt_krb5_krb_cfx_dce_state state;
+ kerberos_private_data_t *zero_private = kerberos_new_private_data(pinfo);
+ tvbuff_t *gssapi_decrypted_tvb = NULL;
+ krb5_error_code ret;
+
+ /* don't do anything if we are not attempting to decrypt data */
+ if (!krb_decrypt) {
+ return NULL;
+ }
+
+ memset(&state, 0, sizeof(state));
+
+ /* make sure we have all the data we need */
+#define __CHECK_TVB_LEN(__tvb) (tvb_captured_length(__tvb) < tvb_reported_length(__tvb))
+ if (gssapi_header_tvb != NULL) {
+ if (__CHECK_TVB_LEN(gssapi_header_tvb)) {
+ return NULL;
+ }
+
+ state.gssapi_header_len = tvb_captured_length(gssapi_header_tvb);
+ state.gssapi_header_ptr = tvb_get_ptr(gssapi_header_tvb,
+ 0,
+ state.gssapi_header_len);
+ }
+ if (gssapi_encrypted_tvb == NULL || __CHECK_TVB_LEN(gssapi_encrypted_tvb)) {
+ return NULL;
+ }
+ state.gssapi_encrypted_tvb = gssapi_encrypted_tvb;
+ state.gssapi_payload_len = tvb_captured_length(gssapi_encrypted_tvb);
+ state.gssapi_payload = (guint8 *)wmem_alloc0(pinfo->pool, state.gssapi_payload_len);
+ if (state.gssapi_payload == NULL) {
+ return NULL;
+ }
+ if (gssapi_trailer_tvb != NULL) {
+ if (__CHECK_TVB_LEN(gssapi_trailer_tvb)) {
+ return NULL;
+ }
+
+ state.gssapi_trailer_len = tvb_captured_length(gssapi_trailer_tvb);
+ state.gssapi_trailer_ptr = tvb_get_ptr(gssapi_trailer_tvb,
+ 0,
+ state.gssapi_trailer_len);
+ }
+ if (checksum_tvb == NULL || __CHECK_TVB_LEN(checksum_tvb)) {
+ return NULL;
+ }
+ state.checksum_tvb = checksum_tvb;
+ state.checksum_len = tvb_captured_length(checksum_tvb);
+ state.checksum = (guint8 *)wmem_alloc0(pinfo->pool, state.checksum_len);
+ if (state.checksum == NULL) {
+ return NULL;
+ }
+
+ ret = decrypt_krb5_with_cb(tree,
+ pinfo,
+ zero_private,
+ usage,
+ keytype,
+ gssapi_encrypted_tvb,
+ decrypt_krb5_krb_cfx_dce_cb,
+ &state);
+ wmem_free(pinfo->pool, state.checksum);
+ if (ret != 0) {
+ wmem_free(pinfo->pool, state.gssapi_payload);
+ return NULL;
+ }
+
+ gssapi_decrypted_tvb = tvb_new_child_real_data(gssapi_encrypted_tvb,
+ state.gssapi_payload,
+ state.gssapi_payload_len,
+ state.gssapi_payload_len);
+ if (gssapi_decrypted_tvb == NULL) {
+ wmem_free(pinfo->pool, state.gssapi_payload);
+ return NULL;
+ }
+
+ return gssapi_decrypted_tvb;
+}
+#else /* NOT KRB5_CRYPTO_TYPE_SIGN_ONLY */
+#define NEED_DECRYPT_KRB5_KRB_CFX_DCE_NOOP 1
+#endif /* NOT KRB5_CRYPTO_TYPE_SIGN_ONLY */
+
+#ifdef HAVE_KRB5_PAC_VERIFY
+/*
+ * macOS up to 10.14.5 only has a MIT shim layer on top
+ * of heimdal. It means that krb5_pac_verify() is not available
+ * in /usr/lib/libkrb5.dylib
+ *
+ * https://opensource.apple.com/tarballs/Heimdal/Heimdal-520.260.1.tar.gz
+ * https://opensource.apple.com/tarballs/MITKerberosShim/MITKerberosShim-71.200.1.tar.gz
+ */
+
+extern krb5_error_code
+krb5int_c_mandatory_cksumtype(krb5_context, krb5_enctype, krb5_cksumtype *);
+
+extern void krb5_free_enc_tkt_part(krb5_context, krb5_enc_tkt_part *);
+extern krb5_error_code
+decode_krb5_enc_tkt_part(const krb5_data *output, krb5_enc_tkt_part **rep);
+extern krb5_error_code
+encode_krb5_enc_tkt_part(const krb5_enc_tkt_part *rep, krb5_data **code);
+
+static int
+keytype_for_cksumtype(krb5_cksumtype checksum)
+{
+#define _ARRAY_SIZE(X) (sizeof(X) / sizeof((X)[0]))
+ static const int keytypes[] = {
+ 18,
+ 17,
+ 23,
+ };
+ guint i;
+
+ for (i = 0; i < _ARRAY_SIZE(keytypes); i++) {
+ krb5_cksumtype checksumtype = 0;
+ krb5_error_code ret;
+
+ ret = krb5int_c_mandatory_cksumtype(krb5_ctx,
+ keytypes[i],
+ &checksumtype);
+ if (ret != 0) {
+ continue;
+ }
+ if (checksum == checksumtype) {
+ return keytypes[i];
+ }
+ }
+
+ return -1;
+}
+
+struct verify_krb5_pac_state {
+ krb5_pac pac;
+ krb5_cksumtype server_checksum;
+ guint server_count;
+ enc_key_t *server_ek;
+ krb5_cksumtype kdc_checksum;
+ guint kdc_count;
+ enc_key_t *kdc_ek;
+ krb5_cksumtype ticket_checksum_type;
+ const krb5_data *ticket_checksum_data;
+};
+
+static void
+verify_krb5_pac_try_server_key(gpointer __key _U_, gpointer value, gpointer userdata)
+{
+ struct verify_krb5_pac_state *state =
+ (struct verify_krb5_pac_state *)userdata;
+ enc_key_t *ek = (enc_key_t *)value;
+ krb5_keyblock keyblock;
+ krb5_cksumtype checksumtype = 0;
+ krb5_error_code ret;
+
+ if (state->server_checksum == 0) {
+ /*
+ * nothing more todo, stop traversing.
+ */
+ return;
+ }
+
+ if (state->server_ek != NULL) {
+ /*
+ * we're done.
+ */
+ return;
+ }
+
+ ret = krb5int_c_mandatory_cksumtype(krb5_ctx, ek->keytype,
+ &checksumtype);
+ if (ret != 0) {
+ /*
+ * the key is not usable, keep traversing.
+ * try the next key...
+ */
+ return;
+ }
+
+ keyblock.magic = KV5M_KEYBLOCK;
+ keyblock.enctype = ek->keytype;
+ keyblock.length = ek->keylength;
+ keyblock.contents = (guint8 *)ek->keyvalue;
+
+ if (checksumtype == state->server_checksum) {
+ state->server_count += 1;
+ ret = krb5_pac_verify(krb5_ctx, state->pac, 0, NULL,
+ &keyblock, NULL);
+ if (ret == 0) {
+ state->server_ek = ek;
+ }
+ }
+}
+
+static void
+verify_krb5_pac_try_kdc_key(gpointer __key _U_, gpointer value, gpointer userdata)
+{
+ struct verify_krb5_pac_state *state =
+ (struct verify_krb5_pac_state *)userdata;
+ enc_key_t *ek = (enc_key_t *)value;
+ krb5_keyblock keyblock;
+ krb5_cksumtype checksumtype = 0;
+ krb5_error_code ret;
+
+ if (state->kdc_checksum == 0) {
+ /*
+ * nothing more todo, stop traversing.
+ */
+ return;
+ }
+
+ if (state->kdc_ek != NULL) {
+ /*
+ * we're done.
+ */
+ return;
+ }
+
+ ret = krb5int_c_mandatory_cksumtype(krb5_ctx, ek->keytype,
+ &checksumtype);
+ if (ret != 0) {
+ /*
+ * the key is not usable, keep traversing.
+ * try the next key...
+ */
+ return;
+ }
+
+ keyblock.magic = KV5M_KEYBLOCK;
+ keyblock.enctype = ek->keytype;
+ keyblock.length = ek->keylength;
+ keyblock.contents = (guint8 *)ek->keyvalue;
+
+ if (checksumtype == state->kdc_checksum) {
+ state->kdc_count += 1;
+ ret = krb5_pac_verify(krb5_ctx, state->pac, 0, NULL,
+ NULL, &keyblock);
+ if (ret == 0) {
+ state->kdc_ek = ek;
+ }
+ }
+}
+
+#define __KRB5_PAC_TICKET_CHECKSUM 16
+
+static void
+verify_krb5_pac_ticket_checksum(proto_tree *tree _U_,
+ asn1_ctx_t *actx _U_,
+ tvbuff_t *pactvb _U_,
+ struct verify_krb5_pac_state *state _U_)
+{
+#ifdef HAVE_DECODE_KRB5_ENC_TKT_PART
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ tvbuff_t *teptvb = private_data->last_ticket_enc_part_tvb;
+ guint teplength = 0;
+ const guint8 *tepbuffer = NULL;
+ krb5_data tepdata = { .length = 0, };
+ krb5_enc_tkt_part *tep = NULL;
+ krb5_data *tmpdata = NULL;
+ krb5_error_code ret;
+ krb5_authdata **recoded_container = NULL;
+ gint ad_orig_idx = -1;
+ krb5_authdata *ad_orig_ptr = NULL;
+ gint l0idx = 0;
+ krb5_keyblock kdc_key = { .magic = KV5M_KEYBLOCK, };
+ size_t checksum_length = 0;
+ krb5_checksum checksum = { .checksum_type = 0, };
+ krb5_boolean valid = FALSE;
+
+ if (state->kdc_ek == NULL) {
+ int keytype = keytype_for_cksumtype(state->ticket_checksum_type);
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state->ticket_checksum_type,
+ keytype,
+ "Missing KDC (for ticket)",
+ "kdc_checksum_key",
+ 0,
+ 0);
+ return;
+ }
+
+ if (teptvb == NULL) {
+ return;
+ }
+
+ teplength = tvb_captured_length(teptvb);
+ /* make sure we have all the data we need */
+ if (teplength < tvb_reported_length(teptvb)) {
+ return;
+ }
+
+ tepbuffer = tvb_get_ptr(teptvb, 0, teplength);
+ if (tepbuffer == NULL) {
+ return;
+ }
+
+ kdc_key.magic = KV5M_KEYBLOCK;
+ kdc_key.enctype = state->kdc_ek->keytype;
+ kdc_key.length = state->kdc_ek->keylength;
+ kdc_key.contents = (guint8 *)state->kdc_ek->keyvalue;
+
+ checksum.checksum_type = state->ticket_checksum_type;
+ checksum.length = state->ticket_checksum_data->length;
+ checksum.contents = (guint8 *)state->ticket_checksum_data->data;
+ if (checksum.length >= 4) {
+ checksum.length -= 4;
+ checksum.contents += 4;
+ }
+
+ ret = krb5_c_checksum_length(krb5_ctx,
+ checksum.checksum_type,
+ &checksum_length);
+ if (ret != 0) {
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state->ticket_checksum_type,
+ state->kdc_ek->keytype,
+ "krb5_c_checksum_length failed for Ticket Signature",
+ "kdc_checksum_key",
+ 1,
+ 0);
+ return;
+ }
+ checksum.length = MIN(checksum.length, (unsigned int)checksum_length);
+
+ tepdata.data = (void *)(uintptr_t)tepbuffer;
+ tepdata.length = teplength;
+
+ ret = decode_krb5_enc_tkt_part(&tepdata, &tep);
+ if (ret != 0) {
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state->ticket_checksum_type,
+ state->kdc_ek->keytype,
+ "decode_krb5_enc_tkt_part failed",
+ "kdc_checksum_key",
+ 1,
+ 0);
+ return;
+ }
+
+ for (l0idx = 0; tep->authorization_data[l0idx]; l0idx++) {
+ krb5_authdata *adl0 = tep->authorization_data[l0idx];
+ krb5_authdata **decoded_container = NULL;
+ krb5_authdata *ad_pac = NULL;
+ gint l1idx = 0;
+
+ if (adl0->ad_type != KRB5_AUTHDATA_IF_RELEVANT) {
+ continue;
+ }
+
+ ret = krb5_decode_authdata_container(krb5_ctx,
+ KRB5_AUTHDATA_IF_RELEVANT,
+ adl0,
+ &decoded_container);
+ if (ret != 0) {
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state->ticket_checksum_type,
+ state->kdc_ek->keytype,
+ "krb5_decode_authdata_container failed",
+ "kdc_checksum_key",
+ 1,
+ 0);
+ krb5_free_enc_tkt_part(krb5_ctx, tep);
+ return;
+ }
+
+ for (l1idx = 0; decoded_container[l1idx]; l1idx++) {
+ krb5_authdata *adl1 = decoded_container[l1idx];
+
+ if (adl1->ad_type != KRB5_AUTHDATA_WIN2K_PAC) {
+ continue;
+ }
+
+ ad_pac = adl1;
+ break;
+ }
+
+ if (ad_pac == NULL) {
+ krb5_free_authdata(krb5_ctx, decoded_container);
+ continue;
+ }
+
+ ad_pac->length = 1;
+ ad_pac->contents[0] = '\0';
+
+ ret = krb5_encode_authdata_container(krb5_ctx,
+ KRB5_AUTHDATA_IF_RELEVANT,
+ decoded_container,
+ &recoded_container);
+ krb5_free_authdata(krb5_ctx, decoded_container);
+ decoded_container = NULL;
+ if (ret != 0) {
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state->ticket_checksum_type,
+ state->kdc_ek->keytype,
+ "krb5_encode_authdata_container failed",
+ "kdc_checksum_key",
+ 1,
+ 0);
+ krb5_free_enc_tkt_part(krb5_ctx, tep);
+ return;
+ }
+
+ ad_orig_idx = l0idx;
+ ad_orig_ptr = adl0;
+ tep->authorization_data[l0idx] = recoded_container[0];
+ break;
+ }
+
+ ret = encode_krb5_enc_tkt_part(tep, &tmpdata);
+ if (ad_orig_ptr != NULL) {
+ tep->authorization_data[ad_orig_idx] = ad_orig_ptr;
+ }
+ krb5_free_enc_tkt_part(krb5_ctx, tep);
+ tep = NULL;
+ if (recoded_container != NULL) {
+ krb5_free_authdata(krb5_ctx, recoded_container);
+ recoded_container = NULL;
+ }
+ if (ret != 0) {
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state->ticket_checksum_type,
+ state->kdc_ek->keytype,
+ "encode_krb5_enc_tkt_part failed",
+ "kdc_checksum_key",
+ 1,
+ 0);
+ return;
+ }
+
+ ret = krb5_c_verify_checksum(krb5_ctx, &kdc_key,
+ KRB5_KEYUSAGE_APP_DATA_CKSUM,
+ tmpdata, &checksum, &valid);
+ krb5_free_data(krb5_ctx, tmpdata);
+ tmpdata = NULL;
+ if (ret != 0) {
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state->ticket_checksum_type,
+ state->kdc_ek->keytype,
+ "krb5_c_verify_checksum failed for Ticket Signature",
+ "kdc_checksum_key",
+ 1,
+ 1);
+ return;
+ }
+
+ if (valid == FALSE) {
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state->ticket_checksum_type,
+ state->kdc_ek->keytype,
+ "Invalid Ticket",
+ "kdc_checksum_key",
+ 1,
+ 1);
+ return;
+ }
+
+ used_signing_key(tree, actx->pinfo, private_data,
+ state->kdc_ek, pactvb,
+ state->ticket_checksum_type,
+ "Verified Ticket",
+ "kdc_checksum_key",
+ 1,
+ 1);
+#endif /* HAVE_DECODE_KRB5_ENC_TKT_PART */
+}
+
+static void
+verify_krb5_pac(proto_tree *tree _U_, asn1_ctx_t *actx, tvbuff_t *pactvb)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ krb5_error_code ret;
+ krb5_data checksum_data = {0,0,NULL};
+ krb5_data ticket_checksum_data = {0,0,NULL};
+ int length = tvb_captured_length(pactvb);
+ const guint8 *pacbuffer = NULL;
+ struct verify_krb5_pac_state state = {
+ .kdc_checksum = 0,
+ };
+
+ /* don't do anything if we are not attempting to decrypt data */
+ if(!krb_decrypt || length < 1){
+ return;
+ }
+
+ /* make sure we have all the data we need */
+ if (tvb_captured_length(pactvb) < tvb_reported_length(pactvb)) {
+ return;
+ }
+
+ pacbuffer = tvb_get_ptr(pactvb, 0, length);
+
+ ret = krb5_pac_parse(krb5_ctx, pacbuffer, length, &state.pac);
+ if (ret != 0) {
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_kerberos_decrypted_keytype,
+ pactvb, 0, 0,
+ "Failed to parse PAC buffer %d in frame %u",
+ ret, actx->pinfo->fd->num);
+ return;
+ }
+
+ ret = krb5_pac_get_buffer(krb5_ctx, state.pac, KRB5_PAC_SERVER_CHECKSUM,
+ &checksum_data);
+ if (ret == 0) {
+ state.server_checksum = pletoh32(checksum_data.data);
+ krb5_free_data_contents(krb5_ctx, &checksum_data);
+ };
+ ret = krb5_pac_get_buffer(krb5_ctx, state.pac, KRB5_PAC_PRIVSVR_CHECKSUM,
+ &checksum_data);
+ if (ret == 0) {
+ state.kdc_checksum = pletoh32(checksum_data.data);
+ krb5_free_data_contents(krb5_ctx, &checksum_data);
+ };
+ ret = krb5_pac_get_buffer(krb5_ctx, state.pac,
+ __KRB5_PAC_TICKET_CHECKSUM,
+ &ticket_checksum_data);
+ if (ret == 0) {
+ state.ticket_checksum_data = &ticket_checksum_data;
+ state.ticket_checksum_type = pletoh32(ticket_checksum_data.data);
+ };
+
+ read_keytab_file_from_preferences();
+
+ wmem_map_foreach(kerberos_all_keys,
+ verify_krb5_pac_try_server_key,
+ &state);
+ if (state.server_ek != NULL) {
+ used_signing_key(tree, actx->pinfo, private_data,
+ state.server_ek, pactvb,
+ state.server_checksum, "Verified Server",
+ "all_keys",
+ wmem_map_size(kerberos_all_keys),
+ state.server_count);
+ } else {
+ int keytype = keytype_for_cksumtype(state.server_checksum);
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state.server_checksum, keytype,
+ "Missing Server",
+ "all_keys",
+ wmem_map_size(kerberos_all_keys),
+ state.server_count);
+ }
+ wmem_map_foreach(kerberos_longterm_keys,
+ verify_krb5_pac_try_kdc_key,
+ &state);
+ if (state.kdc_ek != NULL) {
+ used_signing_key(tree, actx->pinfo, private_data,
+ state.kdc_ek, pactvb,
+ state.kdc_checksum, "Verified KDC",
+ "longterm_keys",
+ wmem_map_size(kerberos_longterm_keys),
+ state.kdc_count);
+ } else {
+ int keytype = keytype_for_cksumtype(state.kdc_checksum);
+ missing_signing_key(tree, actx->pinfo, private_data,
+ pactvb, state.kdc_checksum, keytype,
+ "Missing KDC",
+ "longterm_keys",
+ wmem_map_size(kerberos_longterm_keys),
+ state.kdc_count);
+ }
+
+ if (state.ticket_checksum_type != 0) {
+ verify_krb5_pac_ticket_checksum(tree, actx, pactvb, &state);
+ }
+
+ if (state.ticket_checksum_data != NULL) {
+ krb5_free_data_contents(krb5_ctx, &ticket_checksum_data);
+ }
+
+ krb5_pac_free(krb5_ctx, state.pac);
+}
+#endif /* HAVE_KRB5_PAC_VERIFY */
+
+#elif defined(HAVE_HEIMDAL_KERBEROS)
+static krb5_context krb5_ctx;
+
+USES_APPLE_DEPRECATED_API
+
+static void
+krb5_fast_key(asn1_ctx_t *actx _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_,
+ enc_key_t *ek1 _U_, const char *p1 _U_,
+ enc_key_t *ek2 _U_, const char *p2 _U_,
+ const char *origin _U_)
+{
+/* TODO: use krb5_crypto_fx_cf2() from Heimdal */
+}
+void
+read_keytab_file(const char *filename)
+{
+ krb5_keytab keytab;
+ krb5_error_code ret;
+ krb5_keytab_entry key;
+ krb5_kt_cursor cursor;
+ enc_key_t *new_key;
+ static gboolean first_time=TRUE;
+
+ if (filename == NULL || filename[0] == 0) {
+ return;
+ }
+
+ if(first_time){
+ first_time=FALSE;
+ ret = krb5_init_context(&krb5_ctx);
+ if(ret){
+ return;
+ }
+ }
+
+ /* should use a file in the wireshark users dir */
+ ret = krb5_kt_resolve(krb5_ctx, filename, &keytab);
+ if(ret){
+ fprintf(stderr, "KERBEROS ERROR: Could not open keytab file :%s\n",filename);
+
+ return;
+ }
+
+ ret = krb5_kt_start_seq_get(krb5_ctx, keytab, &cursor);
+ if(ret){
+ fprintf(stderr, "KERBEROS ERROR: Could not read from keytab file :%s\n",filename);
+ return;
+ }
+
+ do{
+ ret = krb5_kt_next_entry(krb5_ctx, keytab, &key, &cursor);
+ if(ret==0){
+ unsigned int i;
+ char *pos;
+
+ new_key = wmem_new0(wmem_epan_scope(), enc_key_t);
+ new_key->fd_num = -1;
+ new_key->id = ++kerberos_longterm_ids;
+ snprintf(new_key->id_str, KRB_MAX_ID_STR_LEN, "keytab.%u", new_key->id);
+ new_key->next = enc_key_list;
+
+ /* generate origin string, describing where this key came from */
+ pos=new_key->key_origin;
+ pos+=MIN(KRB_MAX_ORIG_LEN,
+ snprintf(pos, KRB_MAX_ORIG_LEN, "keytab principal "));
+ for(i=0;i<key.principal->name.name_string.len;i++){
+ pos+=MIN(KRB_MAX_ORIG_LEN-(pos-new_key->key_origin),
+ snprintf(pos, KRB_MAX_ORIG_LEN-(pos-new_key->key_origin), "%s%s",(i?"/":""),key.principal->name.name_string.val[i]));
+ }
+ pos+=MIN(KRB_MAX_ORIG_LEN-(pos-new_key->key_origin),
+ snprintf(pos, KRB_MAX_ORIG_LEN-(pos-new_key->key_origin), "@%s",key.principal->realm));
+ *pos=0;
+ new_key->keytype=key.keyblock.keytype;
+ new_key->keylength=(int)key.keyblock.keyvalue.length;
+ memcpy(new_key->keyvalue,
+ key.keyblock.keyvalue.data,
+ MIN((guint)key.keyblock.keyvalue.length, KRB_MAX_KEY_LENGTH));
+
+ enc_key_list=new_key;
+ ret = krb5_kt_free_entry(krb5_ctx, &key);
+ if (ret) {
+ fprintf(stderr, "KERBEROS ERROR: Could not release the entry: %d", ret);
+ ret = 0; /* try to continue with the next entry */
+ }
+ kerberos_key_map_insert(kerberos_longterm_keys, new_key);
+ }
+ }while(ret==0);
+
+ ret = krb5_kt_end_seq_get(krb5_ctx, keytab, &cursor);
+ if(ret){
+ fprintf(stderr, "KERBEROS ERROR: Could not release the keytab cursor: %d", ret);
+ }
+ ret = krb5_kt_close(krb5_ctx, keytab);
+ if(ret){
+ fprintf(stderr, "KERBEROS ERROR: Could not close the key table handle: %d", ret);
+ }
+
+}
+USES_APPLE_RST
+
+
+guint8 *
+decrypt_krb5_data(proto_tree *tree _U_, packet_info *pinfo,
+ int usage,
+ tvbuff_t *cryptotvb,
+ int keytype,
+ int *datalen)
+{
+ kerberos_private_data_t *zero_private = kerberos_new_private_data(pinfo);
+ krb5_error_code ret;
+ krb5_data data;
+ enc_key_t *ek;
+ int length = tvb_captured_length(cryptotvb);
+ const guint8 *cryptotext = tvb_get_ptr(cryptotvb, 0, length);
+
+ /* don't do anything if we are not attempting to decrypt data */
+ if(!krb_decrypt){
+ return NULL;
+ }
+
+ /* make sure we have all the data we need */
+ if (tvb_captured_length(cryptotvb) < tvb_reported_length(cryptotvb)) {
+ return NULL;
+ }
+
+ read_keytab_file_from_preferences();
+
+ for(ek=enc_key_list;ek;ek=ek->next){
+ krb5_keytab_entry key;
+ krb5_crypto crypto;
+ guint8 *cryptocopy; /* workaround for pre-0.6.1 heimdal bug */
+
+ /* shortcircuit and bail out if enctypes are not matching */
+ if((keytype != -1) && (ek->keytype != keytype)) {
+ continue;
+ }
+
+ key.keyblock.keytype=ek->keytype;
+ key.keyblock.keyvalue.length=ek->keylength;
+ key.keyblock.keyvalue.data=ek->keyvalue;
+ ret = krb5_crypto_init(krb5_ctx, &(key.keyblock), (krb5_enctype)ENCTYPE_NULL, &crypto);
+ if(ret){
+ return NULL;
+ }
+
+ /* pre-0.6.1 versions of Heimdal would sometimes change
+ the cryptotext data even when the decryption failed.
+ This would obviously not work since we iterate over the
+ keys. So just give it a copy of the crypto data instead.
+ This has been seen for RC4-HMAC blobs.
+ */
+ cryptocopy = (guint8 *)wmem_memdup(pinfo->pool, cryptotext, length);
+ ret = krb5_decrypt_ivec(krb5_ctx, crypto, usage,
+ cryptocopy, length,
+ &data,
+ NULL);
+ if((ret == 0) && (length>0)){
+ char *user_data;
+
+ used_encryption_key(tree, pinfo, zero_private,
+ ek, usage, cryptotvb,
+ "enc_key_list", 0, 0);
+
+ krb5_crypto_destroy(krb5_ctx, crypto);
+ /* return a private wmem_alloced blob to the caller */
+ user_data = (char *)wmem_memdup(pinfo->pool, data.data, (guint)data.length);
+ if (datalen) {
+ *datalen = (int)data.length;
+ }
+ return user_data;
+ }
+ krb5_crypto_destroy(krb5_ctx, crypto);
+ }
+ return NULL;
+}
+
+#define NEED_DECRYPT_KRB5_KRB_CFX_DCE_NOOP 1
+
+#elif defined (HAVE_LIBNETTLE)
+
+#define SERVICE_KEY_SIZE (DES3_KEY_SIZE + 2)
+#define KEYTYPE_DES3_CBC_MD5 5 /* Currently the only one supported */
+
+typedef struct _service_key_t {
+ guint16 kvno;
+ int keytype;
+ int length;
+ guint8 *contents;
+ char origin[KRB_MAX_ORIG_LEN+1];
+} service_key_t;
+GSList *service_key_list = NULL;
+
+
+static void
+add_encryption_key(packet_info *pinfo, int keytype, int keylength, const char *keyvalue, const char *origin)
+{
+ service_key_t *new_key;
+
+ if(pinfo->fd->visited){
+ return;
+ }
+
+ new_key = g_malloc(sizeof(service_key_t));
+ new_key->kvno = 0;
+ new_key->keytype = keytype;
+ new_key->length = keylength;
+ new_key->contents = g_memdup2(keyvalue, keylength);
+ snprintf(new_key->origin, KRB_MAX_ORIG_LEN, "%s learnt from frame %u", origin, pinfo->num);
+ service_key_list = g_slist_append(service_key_list, (gpointer) new_key);
+}
+
+static void
+save_encryption_key(tvbuff_t *tvb _U_, int offset _U_, int length _U_,
+ asn1_ctx_t *actx _U_, proto_tree *tree _U_,
+ int parent_hf_index _U_,
+ int hf_index _U_)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ const char *parent = proto_registrar_get_name(parent_hf_index);
+ const char *element = proto_registrar_get_name(hf_index);
+ char origin[KRB_MAX_ORIG_LEN] = { 0, };
+
+ snprintf(origin, KRB_MAX_ORIG_LEN, "%s_%s", parent, element);
+
+ add_encryption_key(actx->pinfo,
+ private_data->key.keytype,
+ private_data->key.keylength,
+ private_data->key.keyvalue,
+ origin);
+}
+
+static void
+save_Authenticator_subkey(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+}
+
+static void
+save_EncAPRepPart_subkey(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+}
+
+static void
+save_EncKDCRepPart_key(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+}
+
+static void
+save_EncTicketPart_key(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+}
+
+static void
+save_KrbCredInfo_key(tvbuff_t *tvb, int offset, int length,
+ asn1_ctx_t *actx, proto_tree *tree,
+ int parent_hf_index,
+ int hf_index)
+{
+ save_encryption_key(tvb, offset, length, actx, tree, parent_hf_index, hf_index);
+}
+
+static void
+save_KrbFastResponse_strengthen_key(tvbuff_t *tvb _U_, int offset _U_, int length _U_,
+ asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_)
+{
+ save_encryption_key(tvb, offset, length, actx, tree, hf_index);
+}
+
+static void
+clear_keytab(void) {
+ GSList *ske;
+ service_key_t *sk;
+
+ for(ske = service_key_list; ske != NULL; ske = g_slist_next(ske)){
+ sk = (service_key_t *) ske->data;
+ if (sk) {
+ g_free(sk->contents);
+ g_free(sk);
+ }
+ }
+ g_slist_free(service_key_list);
+ service_key_list = NULL;
+}
+
+static void
+read_keytab_file(const char *service_key_file)
+{
+ FILE *skf;
+ ws_statb64 st;
+ service_key_t *sk;
+ unsigned char buf[SERVICE_KEY_SIZE];
+ int newline_skip = 0, count = 0;
+
+ if (service_key_file != NULL && ws_stat64 (service_key_file, &st) == 0) {
+
+ /* The service key file contains raw 192-bit (24 byte) 3DES keys.
+ * There can be zero, one (\n), or two (\r\n) characters between
+ * keys. Trailing characters are ignored.
+ */
+
+ /* XXX We should support the standard keytab format instead */
+ if (st.st_size > SERVICE_KEY_SIZE) {
+ if ( (st.st_size % (SERVICE_KEY_SIZE + 1) == 0) ||
+ (st.st_size % (SERVICE_KEY_SIZE + 1) == SERVICE_KEY_SIZE) ) {
+ newline_skip = 1;
+ } else if ( (st.st_size % (SERVICE_KEY_SIZE + 2) == 0) ||
+ (st.st_size % (SERVICE_KEY_SIZE + 2) == SERVICE_KEY_SIZE) ) {
+ newline_skip = 2;
+ }
+ }
+
+ skf = ws_fopen(service_key_file, "rb");
+ if (! skf) return;
+
+ while (fread(buf, SERVICE_KEY_SIZE, 1, skf) == 1) {
+ sk = g_malloc(sizeof(service_key_t));
+ sk->kvno = buf[0] << 8 | buf[1];
+ sk->keytype = KEYTYPE_DES3_CBC_MD5;
+ sk->length = DES3_KEY_SIZE;
+ sk->contents = g_memdup2(buf + 2, DES3_KEY_SIZE);
+ snprintf(sk->origin, KRB_MAX_ORIG_LEN, "3DES service key file, key #%d, offset %ld", count, ftell(skf));
+ service_key_list = g_slist_append(service_key_list, (gpointer) sk);
+ if (fseek(skf, newline_skip, SEEK_CUR) < 0) {
+ fprintf(stderr, "unable to seek...\n");
+ fclose(skf);
+ return;
+ }
+ count++;
+ }
+ fclose(skf);
+ }
+}
+
+#define CONFOUNDER_PLUS_CHECKSUM 24
+
+guint8 *
+decrypt_krb5_data(proto_tree *tree, packet_info *pinfo,
+ int _U_ usage,
+ tvbuff_t *cryptotvb,
+ int keytype,
+ int *datalen)
+{
+ tvbuff_t *encr_tvb;
+ guint8 *decrypted_data = NULL, *plaintext = NULL;
+ guint8 cls;
+ bool pc;
+ guint32 tag, item_len, data_len;
+ int id_offset, offset;
+ guint8 key[DES3_KEY_SIZE];
+ guint8 initial_vector[DES_BLOCK_SIZE];
+ gcry_md_hd_t md5_handle;
+ guint8 *digest;
+ guint8 zero_fill[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ guint8 confounder[8];
+ bool ind;
+ GSList *ske;
+ service_key_t *sk;
+ struct des3_ctx ctx;
+ int length = tvb_captured_length(cryptotvb);
+ const guint8 *cryptotext = tvb_get_ptr(cryptotvb, 0, length);
+
+
+ /* don't do anything if we are not attempting to decrypt data */
+ if(!krb_decrypt){
+ return NULL;
+ }
+
+ /* make sure we have all the data we need */
+ if (tvb_captured_length(cryptotvb) < tvb_reported_length(cryptotvb)) {
+ return NULL;
+ }
+
+ if (keytype != KEYTYPE_DES3_CBC_MD5 || service_key_list == NULL) {
+ return NULL;
+ }
+
+ decrypted_data = wmem_alloc(pinfo->pool, length);
+ for(ske = service_key_list; ske != NULL; ske = g_slist_next(ske)){
+ gboolean do_continue = FALSE;
+ gboolean digest_ok;
+ sk = (service_key_t *) ske->data;
+
+ des_fix_parity(DES3_KEY_SIZE, key, sk->contents);
+
+ memset(initial_vector, 0, DES_BLOCK_SIZE);
+ des3_set_key(&ctx, key);
+ cbc_decrypt(&ctx, des3_decrypt, DES_BLOCK_SIZE, initial_vector,
+ length, decrypted_data, cryptotext);
+ encr_tvb = tvb_new_real_data(decrypted_data, length, length);
+
+ tvb_memcpy(encr_tvb, confounder, 0, 8);
+
+ /* We have to pull the decrypted data length from the decrypted
+ * content. If the key doesn't match or we otherwise get garbage,
+ * an exception may get thrown while decoding the ASN.1 header.
+ * Catch it, just in case.
+ */
+ TRY {
+ id_offset = get_ber_identifier(encr_tvb, CONFOUNDER_PLUS_CHECKSUM, &cls, &pc, &tag);
+ offset = get_ber_length(encr_tvb, id_offset, &item_len, &ind);
+ }
+ CATCH_BOUNDS_ERRORS {
+ tvb_free(encr_tvb);
+ do_continue = TRUE;
+ }
+ ENDTRY;
+
+ if (do_continue) continue;
+
+ data_len = item_len + offset - CONFOUNDER_PLUS_CHECKSUM;
+ if ((int) item_len + offset > length) {
+ tvb_free(encr_tvb);
+ continue;
+ }
+
+ if (gcry_md_open(&md5_handle, GCRY_MD_MD5, 0)) {
+ return NULL;
+ }
+ gcry_md_write(md5_handle, confounder, 8);
+ gcry_md_write(md5_handle, zero_fill, 16);
+ gcry_md_write(md5_handle, decrypted_data + CONFOUNDER_PLUS_CHECKSUM, data_len);
+ digest = gcry_md_read(md5_handle, 0);
+
+ digest_ok = (tvb_memeql (encr_tvb, 8, digest, HASH_MD5_LENGTH) == 0);
+ gcry_md_close(md5_handle);
+ if (digest_ok) {
+ plaintext = (guint8* )tvb_memdup(pinfo->pool, encr_tvb, CONFOUNDER_PLUS_CHECKSUM, data_len);
+ tvb_free(encr_tvb);
+
+ if (datalen) {
+ *datalen = data_len;
+ }
+ return(plaintext);
+ }
+ tvb_free(encr_tvb);
+ }
+
+ return NULL;
+}
+
+#endif /* HAVE_MIT_KERBEROS / HAVE_HEIMDAL_KERBEROS / HAVE_LIBNETTLE */
+
+#ifdef NEED_DECRYPT_KRB5_KRB_CFX_DCE_NOOP
+tvbuff_t *
+decrypt_krb5_krb_cfx_dce(proto_tree *tree _U_,
+ packet_info *pinfo _U_,
+ int usage _U_,
+ int keytype _U_,
+ tvbuff_t *gssapi_header_tvb _U_,
+ tvbuff_t *gssapi_encrypted_tvb _U_,
+ tvbuff_t *gssapi_trailer_tvb _U_,
+ tvbuff_t *checksum_tvb _U_)
+{
+ return NULL;
+}
+#endif /* NEED_DECRYPT_KRB5_KRB_CFX_DCE_NOOP */
+
+#define INET6_ADDRLEN 16
+
+/* TCP Record Mark */
+#define KRB_RM_RESERVED 0x80000000U
+#define KRB_RM_RECLEN 0x7fffffffU
+
+#define KRB5_MSG_TICKET 1 /* Ticket */
+#define KRB5_MSG_AUTHENTICATOR 2 /* Authenticator */
+#define KRB5_MSG_ENC_TICKET_PART 3 /* EncTicketPart */
+#define KRB5_MSG_AS_REQ 10 /* AS-REQ type */
+#define KRB5_MSG_AS_REP 11 /* AS-REP type */
+#define KRB5_MSG_TGS_REQ 12 /* TGS-REQ type */
+#define KRB5_MSG_TGS_REP 13 /* TGS-REP type */
+#define KRB5_MSG_AP_REQ 14 /* AP-REQ type */
+#define KRB5_MSG_AP_REP 15 /* AP-REP type */
+#define KRB5_MSG_TGT_REQ 16 /* TGT-REQ type */
+#define KRB5_MSG_TGT_REP 17 /* TGT-REP type */
+
+#define KRB5_MSG_SAFE 20 /* KRB-SAFE type */
+#define KRB5_MSG_PRIV 21 /* KRB-PRIV type */
+#define KRB5_MSG_CRED 22 /* KRB-CRED type */
+#define KRB5_MSG_ENC_AS_REP_PART 25 /* EncASRepPart */
+#define KRB5_MSG_ENC_TGS_REP_PART 26 /* EncTGSRepPart */
+#define KRB5_MSG_ENC_AP_REP_PART 27 /* EncAPRepPart */
+#define KRB5_MSG_ENC_KRB_PRIV_PART 28 /* EncKrbPrivPart */
+#define KRB5_MSG_ENC_KRB_CRED_PART 29 /* EncKrbCredPart */
+#define KRB5_MSG_ERROR 30 /* KRB-ERROR type */
+
+#define KRB5_CHKSUM_GSSAPI 0x8003
+/*
+ * For KERB_ENCTYPE_RC4_HMAC and KERB_ENCTYPE_RC4_HMAC_EXP, see
+ *
+ * https://tools.ietf.org/html/draft-brezak-win2k-krb-rc4-hmac-04
+ *
+ * unless it's expired.
+ */
+
+/* Principal name-type */
+#define KRB5_NT_UNKNOWN 0
+#define KRB5_NT_PRINCIPAL 1
+#define KRB5_NT_SRV_INST 2
+#define KRB5_NT_SRV_HST 3
+#define KRB5_NT_SRV_XHST 4
+#define KRB5_NT_UID 5
+#define KRB5_NT_X500_PRINCIPAL 6
+#define KRB5_NT_SMTP_NAME 7
+#define KRB5_NT_ENTERPRISE 10
+
+/*
+ * MS specific name types, from
+ *
+ * http://msdn.microsoft.com/library/en-us/security/security/kerb_external_name.asp
+ */
+#define KRB5_NT_MS_PRINCIPAL -128
+#define KRB5_NT_MS_PRINCIPAL_AND_SID -129
+#define KRB5_NT_ENT_PRINCIPAL_AND_SID -130
+#define KRB5_NT_PRINCIPAL_AND_SID -131
+#define KRB5_NT_SRV_INST_AND_SID -132
+
+/* error table constants */
+/* I prefixed the krb5_err.et constant names with KRB5_ET_ for these */
+#define KRB5_ET_KRB5KDC_ERR_NONE 0
+#define KRB5_ET_KRB5KDC_ERR_NAME_EXP 1
+#define KRB5_ET_KRB5KDC_ERR_SERVICE_EXP 2
+#define KRB5_ET_KRB5KDC_ERR_BAD_PVNO 3
+#define KRB5_ET_KRB5KDC_ERR_C_OLD_MAST_KVNO 4
+#define KRB5_ET_KRB5KDC_ERR_S_OLD_MAST_KVNO 5
+#define KRB5_ET_KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN 6
+#define KRB5_ET_KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN 7
+#define KRB5_ET_KRB5KDC_ERR_PRINCIPAL_NOT_UNIQUE 8
+#define KRB5_ET_KRB5KDC_ERR_NULL_KEY 9
+#define KRB5_ET_KRB5KDC_ERR_CANNOT_POSTDATE 10
+#define KRB5_ET_KRB5KDC_ERR_NEVER_VALID 11
+#define KRB5_ET_KRB5KDC_ERR_POLICY 12
+#define KRB5_ET_KRB5KDC_ERR_BADOPTION 13
+#define KRB5_ET_KRB5KDC_ERR_ETYPE_NOSUPP 14
+#define KRB5_ET_KRB5KDC_ERR_SUMTYPE_NOSUPP 15
+#define KRB5_ET_KRB5KDC_ERR_PADATA_TYPE_NOSUPP 16
+#define KRB5_ET_KRB5KDC_ERR_TRTYPE_NOSUPP 17
+#define KRB5_ET_KRB5KDC_ERR_CLIENT_REVOKED 18
+#define KRB5_ET_KRB5KDC_ERR_SERVICE_REVOKED 19
+#define KRB5_ET_KRB5KDC_ERR_TGT_REVOKED 20
+#define KRB5_ET_KRB5KDC_ERR_CLIENT_NOTYET 21
+#define KRB5_ET_KRB5KDC_ERR_SERVICE_NOTYET 22
+#define KRB5_ET_KRB5KDC_ERR_KEY_EXP 23
+#define KRB5_ET_KRB5KDC_ERR_PREAUTH_FAILED 24
+#define KRB5_ET_KRB5KDC_ERR_PREAUTH_REQUIRED 25
+#define KRB5_ET_KRB5KDC_ERR_SERVER_NOMATCH 26
+#define KRB5_ET_KRB5KDC_ERR_MUST_USE_USER2USER 27
+#define KRB5_ET_KRB5KDC_ERR_PATH_NOT_ACCEPTED 28
+#define KRB5_ET_KRB5KDC_ERR_SVC_UNAVAILABLE 29
+#define KRB5_ET_KRB5KRB_AP_ERR_BAD_INTEGRITY 31
+#define KRB5_ET_KRB5KRB_AP_ERR_TKT_EXPIRED 32
+#define KRB5_ET_KRB5KRB_AP_ERR_TKT_NYV 33
+#define KRB5_ET_KRB5KRB_AP_ERR_REPEAT 34
+#define KRB5_ET_KRB5KRB_AP_ERR_NOT_US 35
+#define KRB5_ET_KRB5KRB_AP_ERR_BADMATCH 36
+#define KRB5_ET_KRB5KRB_AP_ERR_SKEW 37
+#define KRB5_ET_KRB5KRB_AP_ERR_BADADDR 38
+#define KRB5_ET_KRB5KRB_AP_ERR_BADVERSION 39
+#define KRB5_ET_KRB5KRB_AP_ERR_MSG_TYPE 40
+#define KRB5_ET_KRB5KRB_AP_ERR_MODIFIED 41
+#define KRB5_ET_KRB5KRB_AP_ERR_BADORDER 42
+#define KRB5_ET_KRB5KRB_AP_ERR_ILL_CR_TKT 43
+#define KRB5_ET_KRB5KRB_AP_ERR_BADKEYVER 44
+#define KRB5_ET_KRB5KRB_AP_ERR_NOKEY 45
+#define KRB5_ET_KRB5KRB_AP_ERR_MUT_FAIL 46
+#define KRB5_ET_KRB5KRB_AP_ERR_BADDIRECTION 47
+#define KRB5_ET_KRB5KRB_AP_ERR_METHOD 48
+#define KRB5_ET_KRB5KRB_AP_ERR_BADSEQ 49
+#define KRB5_ET_KRB5KRB_AP_ERR_INAPP_CKSUM 50
+#define KRB5_ET_KRB5KDC_AP_PATH_NOT_ACCEPTED 51
+#define KRB5_ET_KRB5KRB_ERR_RESPONSE_TOO_BIG 52
+#define KRB5_ET_KRB5KRB_ERR_GENERIC 60
+#define KRB5_ET_KRB5KRB_ERR_FIELD_TOOLONG 61
+#define KRB5_ET_KDC_ERROR_CLIENT_NOT_TRUSTED 62
+#define KRB5_ET_KDC_ERROR_KDC_NOT_TRUSTED 63
+#define KRB5_ET_KDC_ERROR_INVALID_SIG 64
+#define KRB5_ET_KDC_ERR_KEY_TOO_WEAK 65
+#define KRB5_ET_KDC_ERR_CERTIFICATE_MISMATCH 66
+#define KRB5_ET_KRB_AP_ERR_NO_TGT 67
+#define KRB5_ET_KDC_ERR_WRONG_REALM 68
+#define KRB5_ET_KRB_AP_ERR_USER_TO_USER_REQUIRED 69
+#define KRB5_ET_KDC_ERR_CANT_VERIFY_CERTIFICATE 70
+#define KRB5_ET_KDC_ERR_INVALID_CERTIFICATE 71
+#define KRB5_ET_KDC_ERR_REVOKED_CERTIFICATE 72
+#define KRB5_ET_KDC_ERR_REVOCATION_STATUS_UNKNOWN 73
+#define KRB5_ET_KDC_ERR_REVOCATION_STATUS_UNAVAILABLE 74
+#define KRB5_ET_KDC_ERR_CLIENT_NAME_MISMATCH 75
+#define KRB5_ET_KDC_ERR_KDC_NAME_MISMATCH 76
+#define KRB5_ET_KDC_ERR_PREAUTH_EXPIRED 90
+#define KRB5_ET_KDC_ERR_MORE_PREAUTH_DATA_REQUIRED 91
+#define KRB5_ET_KDC_ERR_PREAUTH_BAD_AUTHENTICATION_SET 92
+#define KRB5_ET_KDC_ERR_UNKNOWN_CRITICAL_FAST_OPTIONS 93
+
+static const value_string krb5_error_codes[] = {
+ { KRB5_ET_KRB5KDC_ERR_NONE, "KRB5KDC_ERR_NONE" },
+ { KRB5_ET_KRB5KDC_ERR_NAME_EXP, "KRB5KDC_ERR_NAME_EXP" },
+ { KRB5_ET_KRB5KDC_ERR_SERVICE_EXP, "KRB5KDC_ERR_SERVICE_EXP" },
+ { KRB5_ET_KRB5KDC_ERR_BAD_PVNO, "KRB5KDC_ERR_BAD_PVNO" },
+ { KRB5_ET_KRB5KDC_ERR_C_OLD_MAST_KVNO, "KRB5KDC_ERR_C_OLD_MAST_KVNO" },
+ { KRB5_ET_KRB5KDC_ERR_S_OLD_MAST_KVNO, "KRB5KDC_ERR_S_OLD_MAST_KVNO" },
+ { KRB5_ET_KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN, "KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN" },
+ { KRB5_ET_KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN, "KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN" },
+ { KRB5_ET_KRB5KDC_ERR_PRINCIPAL_NOT_UNIQUE, "KRB5KDC_ERR_PRINCIPAL_NOT_UNIQUE" },
+ { KRB5_ET_KRB5KDC_ERR_NULL_KEY, "KRB5KDC_ERR_NULL_KEY" },
+ { KRB5_ET_KRB5KDC_ERR_CANNOT_POSTDATE, "KRB5KDC_ERR_CANNOT_POSTDATE" },
+ { KRB5_ET_KRB5KDC_ERR_NEVER_VALID, "KRB5KDC_ERR_NEVER_VALID" },
+ { KRB5_ET_KRB5KDC_ERR_POLICY, "KRB5KDC_ERR_POLICY" },
+ { KRB5_ET_KRB5KDC_ERR_BADOPTION, "KRB5KDC_ERR_BADOPTION" },
+ { KRB5_ET_KRB5KDC_ERR_ETYPE_NOSUPP, "KRB5KDC_ERR_ETYPE_NOSUPP" },
+ { KRB5_ET_KRB5KDC_ERR_SUMTYPE_NOSUPP, "KRB5KDC_ERR_SUMTYPE_NOSUPP" },
+ { KRB5_ET_KRB5KDC_ERR_PADATA_TYPE_NOSUPP, "KRB5KDC_ERR_PADATA_TYPE_NOSUPP" },
+ { KRB5_ET_KRB5KDC_ERR_TRTYPE_NOSUPP, "KRB5KDC_ERR_TRTYPE_NOSUPP" },
+ { KRB5_ET_KRB5KDC_ERR_CLIENT_REVOKED, "KRB5KDC_ERR_CLIENT_REVOKED" },
+ { KRB5_ET_KRB5KDC_ERR_SERVICE_REVOKED, "KRB5KDC_ERR_SERVICE_REVOKED" },
+ { KRB5_ET_KRB5KDC_ERR_TGT_REVOKED, "KRB5KDC_ERR_TGT_REVOKED" },
+ { KRB5_ET_KRB5KDC_ERR_CLIENT_NOTYET, "KRB5KDC_ERR_CLIENT_NOTYET" },
+ { KRB5_ET_KRB5KDC_ERR_SERVICE_NOTYET, "KRB5KDC_ERR_SERVICE_NOTYET" },
+ { KRB5_ET_KRB5KDC_ERR_KEY_EXP, "KRB5KDC_ERR_KEY_EXP" },
+ { KRB5_ET_KRB5KDC_ERR_PREAUTH_FAILED, "KRB5KDC_ERR_PREAUTH_FAILED" },
+ { KRB5_ET_KRB5KDC_ERR_PREAUTH_REQUIRED, "KRB5KDC_ERR_PREAUTH_REQUIRED" },
+ { KRB5_ET_KRB5KDC_ERR_SERVER_NOMATCH, "KRB5KDC_ERR_SERVER_NOMATCH" },
+ { KRB5_ET_KRB5KDC_ERR_MUST_USE_USER2USER, "KRB5KDC_ERR_MUST_USE_USER2USER" },
+ { KRB5_ET_KRB5KDC_ERR_PATH_NOT_ACCEPTED, "KRB5KDC_ERR_PATH_NOT_ACCEPTED" },
+ { KRB5_ET_KRB5KDC_ERR_SVC_UNAVAILABLE, "KRB5KDC_ERR_SVC_UNAVAILABLE" },
+ { KRB5_ET_KRB5KRB_AP_ERR_BAD_INTEGRITY, "KRB5KRB_AP_ERR_BAD_INTEGRITY" },
+ { KRB5_ET_KRB5KRB_AP_ERR_TKT_EXPIRED, "KRB5KRB_AP_ERR_TKT_EXPIRED" },
+ { KRB5_ET_KRB5KRB_AP_ERR_TKT_NYV, "KRB5KRB_AP_ERR_TKT_NYV" },
+ { KRB5_ET_KRB5KRB_AP_ERR_REPEAT, "KRB5KRB_AP_ERR_REPEAT" },
+ { KRB5_ET_KRB5KRB_AP_ERR_NOT_US, "KRB5KRB_AP_ERR_NOT_US" },
+ { KRB5_ET_KRB5KRB_AP_ERR_BADMATCH, "KRB5KRB_AP_ERR_BADMATCH" },
+ { KRB5_ET_KRB5KRB_AP_ERR_SKEW, "KRB5KRB_AP_ERR_SKEW" },
+ { KRB5_ET_KRB5KRB_AP_ERR_BADADDR, "KRB5KRB_AP_ERR_BADADDR" },
+ { KRB5_ET_KRB5KRB_AP_ERR_BADVERSION, "KRB5KRB_AP_ERR_BADVERSION" },
+ { KRB5_ET_KRB5KRB_AP_ERR_MSG_TYPE, "KRB5KRB_AP_ERR_MSG_TYPE" },
+ { KRB5_ET_KRB5KRB_AP_ERR_MODIFIED, "KRB5KRB_AP_ERR_MODIFIED" },
+ { KRB5_ET_KRB5KRB_AP_ERR_BADORDER, "KRB5KRB_AP_ERR_BADORDER" },
+ { KRB5_ET_KRB5KRB_AP_ERR_ILL_CR_TKT, "KRB5KRB_AP_ERR_ILL_CR_TKT" },
+ { KRB5_ET_KRB5KRB_AP_ERR_BADKEYVER, "KRB5KRB_AP_ERR_BADKEYVER" },
+ { KRB5_ET_KRB5KRB_AP_ERR_NOKEY, "KRB5KRB_AP_ERR_NOKEY" },
+ { KRB5_ET_KRB5KRB_AP_ERR_MUT_FAIL, "KRB5KRB_AP_ERR_MUT_FAIL" },
+ { KRB5_ET_KRB5KRB_AP_ERR_BADDIRECTION, "KRB5KRB_AP_ERR_BADDIRECTION" },
+ { KRB5_ET_KRB5KRB_AP_ERR_METHOD, "KRB5KRB_AP_ERR_METHOD" },
+ { KRB5_ET_KRB5KRB_AP_ERR_BADSEQ, "KRB5KRB_AP_ERR_BADSEQ" },
+ { KRB5_ET_KRB5KRB_AP_ERR_INAPP_CKSUM, "KRB5KRB_AP_ERR_INAPP_CKSUM" },
+ { KRB5_ET_KRB5KDC_AP_PATH_NOT_ACCEPTED, "KRB5KDC_AP_PATH_NOT_ACCEPTED" },
+ { KRB5_ET_KRB5KRB_ERR_RESPONSE_TOO_BIG, "KRB5KRB_ERR_RESPONSE_TOO_BIG"},
+ { KRB5_ET_KRB5KRB_ERR_GENERIC, "KRB5KRB_ERR_GENERIC" },
+ { KRB5_ET_KRB5KRB_ERR_FIELD_TOOLONG, "KRB5KRB_ERR_FIELD_TOOLONG" },
+ { KRB5_ET_KDC_ERROR_CLIENT_NOT_TRUSTED, "KDC_ERROR_CLIENT_NOT_TRUSTED" },
+ { KRB5_ET_KDC_ERROR_KDC_NOT_TRUSTED, "KDC_ERROR_KDC_NOT_TRUSTED" },
+ { KRB5_ET_KDC_ERROR_INVALID_SIG, "KDC_ERROR_INVALID_SIG" },
+ { KRB5_ET_KDC_ERR_KEY_TOO_WEAK, "KDC_ERR_KEY_TOO_WEAK" },
+ { KRB5_ET_KDC_ERR_CERTIFICATE_MISMATCH, "KDC_ERR_CERTIFICATE_MISMATCH" },
+ { KRB5_ET_KRB_AP_ERR_NO_TGT, "KRB_AP_ERR_NO_TGT" },
+ { KRB5_ET_KDC_ERR_WRONG_REALM, "KDC_ERR_WRONG_REALM" },
+ { KRB5_ET_KRB_AP_ERR_USER_TO_USER_REQUIRED, "KRB_AP_ERR_USER_TO_USER_REQUIRED" },
+ { KRB5_ET_KDC_ERR_CANT_VERIFY_CERTIFICATE, "KDC_ERR_CANT_VERIFY_CERTIFICATE" },
+ { KRB5_ET_KDC_ERR_INVALID_CERTIFICATE, "KDC_ERR_INVALID_CERTIFICATE" },
+ { KRB5_ET_KDC_ERR_REVOKED_CERTIFICATE, "KDC_ERR_REVOKED_CERTIFICATE" },
+ { KRB5_ET_KDC_ERR_REVOCATION_STATUS_UNKNOWN, "KDC_ERR_REVOCATION_STATUS_UNKNOWN" },
+ { KRB5_ET_KDC_ERR_REVOCATION_STATUS_UNAVAILABLE, "KDC_ERR_REVOCATION_STATUS_UNAVAILABLE" },
+ { KRB5_ET_KDC_ERR_CLIENT_NAME_MISMATCH, "KDC_ERR_CLIENT_NAME_MISMATCH" },
+ { KRB5_ET_KDC_ERR_KDC_NAME_MISMATCH, "KDC_ERR_KDC_NAME_MISMATCH" },
+ { KRB5_ET_KDC_ERR_PREAUTH_EXPIRED, "KDC_ERR_PREAUTH_EXPIRED" },
+ { KRB5_ET_KDC_ERR_MORE_PREAUTH_DATA_REQUIRED, "KDC_ERR_MORE_PREAUTH_DATA_REQUIRED" },
+ { KRB5_ET_KDC_ERR_PREAUTH_BAD_AUTHENTICATION_SET, "KDC_ERR_PREAUTH_BAD_AUTHENTICATION_SET" },
+ { KRB5_ET_KDC_ERR_UNKNOWN_CRITICAL_FAST_OPTIONS, "KDC_ERR_UNKNOWN_CRITICAL_FAST_OPTIONS" },
+ { 0, NULL }
+};
+
+
+#define PAC_LOGON_INFO 1
+#define PAC_CREDENTIAL_TYPE 2
+#define PAC_SERVER_CHECKSUM 6
+#define PAC_PRIVSVR_CHECKSUM 7
+#define PAC_CLIENT_INFO_TYPE 10
+#define PAC_S4U_DELEGATION_INFO 11
+#define PAC_UPN_DNS_INFO 12
+#define PAC_CLIENT_CLAIMS_INFO 13
+#define PAC_DEVICE_INFO 14
+#define PAC_DEVICE_CLAIMS_INFO 15
+#define PAC_TICKET_CHECKSUM 16
+#define PAC_ATTRIBUTES_INFO 17
+#define PAC_REQUESTER_SID 18
+static const value_string w2k_pac_types[] = {
+ { PAC_LOGON_INFO , "Logon Info" },
+ { PAC_CREDENTIAL_TYPE , "Credential Type" },
+ { PAC_SERVER_CHECKSUM , "Server Checksum" },
+ { PAC_PRIVSVR_CHECKSUM , "Privsvr Checksum" },
+ { PAC_CLIENT_INFO_TYPE , "Client Info Type" },
+ { PAC_S4U_DELEGATION_INFO , "S4U Delegation Info" },
+ { PAC_UPN_DNS_INFO , "UPN DNS Info" },
+ { PAC_CLIENT_CLAIMS_INFO , "Client Claims Info" },
+ { PAC_DEVICE_INFO , "Device Info" },
+ { PAC_DEVICE_CLAIMS_INFO , "Device Claims Info" },
+ { PAC_TICKET_CHECKSUM , "Ticket Checksum" },
+ { PAC_ATTRIBUTES_INFO , "Attributes Info" },
+ { PAC_REQUESTER_SID , "Requester Sid" },
+ { 0, NULL },
+};
+
+static const value_string krb5_msg_types[] = {
+ { KRB5_MSG_TICKET, "Ticket" },
+ { KRB5_MSG_AUTHENTICATOR, "Authenticator" },
+ { KRB5_MSG_ENC_TICKET_PART, "EncTicketPart" },
+ { KRB5_MSG_TGS_REQ, "TGS-REQ" },
+ { KRB5_MSG_TGS_REP, "TGS-REP" },
+ { KRB5_MSG_AS_REQ, "AS-REQ" },
+ { KRB5_MSG_AS_REP, "AS-REP" },
+ { KRB5_MSG_AP_REQ, "AP-REQ" },
+ { KRB5_MSG_AP_REP, "AP-REP" },
+ { KRB5_MSG_TGT_REQ, "TGT-REQ" },
+ { KRB5_MSG_TGT_REP, "TGT-REP" },
+ { KRB5_MSG_SAFE, "KRB-SAFE" },
+ { KRB5_MSG_PRIV, "KRB-PRIV" },
+ { KRB5_MSG_CRED, "KRB-CRED" },
+ { KRB5_MSG_ENC_AS_REP_PART, "EncASRepPart" },
+ { KRB5_MSG_ENC_TGS_REP_PART, "EncTGSRepPart" },
+ { KRB5_MSG_ENC_AP_REP_PART, "EncAPRepPart" },
+ { KRB5_MSG_ENC_KRB_PRIV_PART, "EncKrbPrivPart" },
+ { KRB5_MSG_ENC_KRB_CRED_PART, "EncKrbCredPart" },
+ { KRB5_MSG_ERROR, "KRB-ERROR" },
+ { 0, NULL },
+};
+
+#define KRB5_GSS_C_DELEG_FLAG 0x01
+#define KRB5_GSS_C_MUTUAL_FLAG 0x02
+#define KRB5_GSS_C_REPLAY_FLAG 0x04
+#define KRB5_GSS_C_SEQUENCE_FLAG 0x08
+#define KRB5_GSS_C_CONF_FLAG 0x10
+#define KRB5_GSS_C_INTEG_FLAG 0x20
+#define KRB5_GSS_C_DCE_STYLE 0x1000
+
+static const true_false_string tfs_gss_flags_deleg = {
+ "Delegate credentials to remote peer",
+ "Do NOT delegate"
+};
+static const true_false_string tfs_gss_flags_mutual = {
+ "Request that remote peer authenticates itself",
+ "Mutual authentication NOT required"
+};
+static const true_false_string tfs_gss_flags_replay = {
+ "Enable replay protection for signed or sealed messages",
+ "Do NOT enable replay protection"
+};
+static const true_false_string tfs_gss_flags_sequence = {
+ "Enable Out-of-sequence detection for sign or sealed messages",
+ "Do NOT enable out-of-sequence detection"
+};
+static const true_false_string tfs_gss_flags_conf = {
+ "Confidentiality (sealing) may be invoked",
+ "Do NOT use Confidentiality (sealing)"
+};
+static const true_false_string tfs_gss_flags_integ = {
+ "Integrity protection (signing) may be invoked",
+ "Do NOT use integrity protection"
+};
+
+static const true_false_string tfs_gss_flags_dce_style = {
+ "DCE-STYLE",
+ "Not using DCE-STYLE"
+};
+
+#ifdef HAVE_KERBEROS
+static guint8 *
+decrypt_krb5_data_asn1(proto_tree *tree, asn1_ctx_t *actx,
+ int usage, tvbuff_t *cryptotvb, int *datalen)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+
+#ifdef HAVE_DECRYPT_KRB5_DATA_PRIVATE
+ return decrypt_krb5_data_private(tree, actx->pinfo, private_data,
+ usage, cryptotvb,
+ private_data->etype,
+ datalen);
+#else
+ return decrypt_krb5_data(tree, actx->pinfo, usage, cryptotvb,
+ private_data->etype, datalen);
+#endif
+}
+
+static int
+dissect_krb5_decrypt_ticket_data (bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ guint8 *plaintext;
+ int length;
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ /* draft-ietf-krb-wg-kerberos-clarifications-05.txt :
+ * 7.5.1
+ * All Ticket encrypted parts use usage == 2
+ */
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 2, next_tvb, &length);
+
+ if(plaintext){
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ tvbuff_t *last_ticket_enc_part_tvb = private_data->last_ticket_enc_part_tvb;
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 Ticket");
+
+ private_data->last_ticket_enc_part_tvb = child_tvb;
+ offset=dissect_kerberos_Applications(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ private_data->last_ticket_enc_part_tvb = last_ticket_enc_part_tvb;
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_authenticator_data (bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ guint8 *plaintext;
+ int length;
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ /* draft-ietf-krb-wg-kerberos-clarifications-05.txt :
+ * 7.5.1
+ * Authenticators are encrypted with usage
+ * == 7 or
+ * == 11
+ *
+ * 7. TGS-REQ PA-TGS-REQ padata AP-REQ Authenticator
+ * (includes TGS authenticator subkey), encrypted with the
+ * TGS session key (section 5.5.1)
+ * 11. AP-REQ Authenticator (includes application
+ * authenticator subkey), encrypted with the application
+ * session key (section 5.5.1)
+ */
+ if (private_data->within_PA_TGS_REQ > 0) {
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 7, next_tvb, &length);
+ } else {
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 11, next_tvb, &length);
+ }
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 Authenticator");
+
+ offset=dissect_kerberos_Applications(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_authorization_data(bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ guint8 *plaintext;
+ int length;
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ /* draft-ietf-krb-wg-kerberos-clarifications-05.txt :
+ * 7.5.1
+ * Authenticators are encrypted with usage
+ * == 5 or
+ * == 4
+ *
+ * 4. TGS-REQ KDC-REQ-BODY AuthorizationData, encrypted with
+ * the TGS session key (section 5.4.1)
+ * 5. TGS-REQ KDC-REQ-BODY AuthorizationData, encrypted with
+ * the TGS authenticator subkey (section 5.4.1)
+ */
+ if (private_data->PA_TGS_REQ_subkey != NULL) {
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 5, next_tvb, &length);
+ } else {
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 4, next_tvb, &length);
+ }
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 AuthorizationData");
+
+ offset=dissect_kerberos_AuthorizationData(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_KDC_REP_data (bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ guint8 *plaintext = NULL;
+ int length;
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ /* draft-ietf-krb-wg-kerberos-clarifications-05.txt :
+ * 7.5.1
+ * ASREP/TGSREP encryptedparts are encrypted with usage
+ * == 3 or
+ * == 8 or
+ * == 9
+ *
+ * 3. AS-REP encrypted part (includes TGS session key or
+ * application session key), encrypted with the client key
+ * (section 5.4.2)
+ *
+ * 8. TGS-REP encrypted part (includes application session
+ * key), encrypted with the TGS session key (section
+ * 5.4.2)
+ * 9. TGS-REP encrypted part (includes application session
+ * key), encrypted with the TGS authenticator subkey
+ * (section 5.4.2)
+ *
+ * We currently don't have a way to find the TGS-REQ state
+ * in order to check if an authenticator subkey was used.
+ *
+ * But if we client used FAST and we got a strengthen_key,
+ * we're sure an authenticator subkey was used.
+ *
+ * Windows don't use an authenticator subkey without FAST,
+ * but heimdal does.
+ *
+ * For now try 8 before 9 in order to avoid overhead and false
+ * positives for the 'kerberos.missing_keytype' filter in pure
+ * windows captures.
+ */
+ switch (private_data->msg_type) {
+ case KERBEROS_APPLICATIONS_AS_REP:
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 3, next_tvb, &length);
+ break;
+ case KERBEROS_APPLICATIONS_TGS_REP:
+ if (private_data->fast_strengthen_key != NULL) {
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 9, next_tvb, &length);
+ } else {
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 8, next_tvb, &length);
+ if(!plaintext){
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 9, next_tvb, &length);
+ }
+ }
+ break;
+ }
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 KDC-REP");
+
+ offset=dissect_kerberos_Applications(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_PA_ENC_TIMESTAMP (bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ guint8 *plaintext;
+ int length;
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ /* draft-ietf-krb-wg-kerberos-clarifications-05.txt :
+ * 7.5.1
+ * AS-REQ PA_ENC_TIMESTAMP are encrypted with usage
+ * == 1
+ */
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 1, next_tvb, &length);
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 EncTimestamp");
+
+ offset=dissect_kerberos_PA_ENC_TS_ENC(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_AP_REP_data (bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ guint8 *plaintext;
+ int length;
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ /* draft-ietf-krb-wg-kerberos-clarifications-05.txt :
+ * 7.5.1
+ * AP-REP are encrypted with usage == 12
+ */
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 12, next_tvb, &length);
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 AP-REP");
+
+ offset=dissect_kerberos_Applications(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_PRIV_data (bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ guint8 *plaintext;
+ int length;
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ /* RFC4120 :
+ * EncKrbPrivPart encrypted with usage
+ * == 13
+ */
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 13, next_tvb, &length);
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 PRIV");
+
+ offset=dissect_kerberos_Applications(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_CRED_data (bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ guint8 *plaintext;
+ int length;
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ if (private_data->etype == 0) {
+ offset=dissect_kerberos_Applications(FALSE, next_tvb, 0, actx , tree, /* hf_index*/ -1);
+ return offset;
+ }
+
+ /* RFC4120 :
+ * EncKrbCredPart encrypted with usage
+ * == 14
+ */
+ plaintext=decrypt_krb5_data_asn1(tree, actx, 14, next_tvb, &length);
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 CRED");
+
+ offset=dissect_kerberos_Applications(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_KrbFastReq(bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ guint8 *plaintext;
+ int length;
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ private_data->fast_armor_key = NULL;
+ if (private_data->PA_FAST_ARMOR_AP_subkey != NULL) {
+ krb5_fast_key(actx, tree, tvb,
+ private_data->PA_FAST_ARMOR_AP_subkey,
+ "subkeyarmor",
+ private_data->PA_FAST_ARMOR_AP_key,
+ "ticketarmor",
+ "KrbFastReq_FAST_armorKey");
+ if (private_data->PA_TGS_REQ_subkey != NULL) {
+ enc_key_t *explicit_armor_key = private_data->last_added_key;
+
+ /*
+ * See [MS-KILE] 3.3.5.7.4 Compound Identity
+ */
+ krb5_fast_key(actx, tree, tvb,
+ explicit_armor_key,
+ "explicitarmor",
+ private_data->PA_TGS_REQ_subkey,
+ "tgsarmor",
+ "KrbFastReq_explicitArmorKey");
+ }
+ private_data->fast_armor_key = private_data->last_added_key;
+ } else if (private_data->PA_TGS_REQ_subkey != NULL) {
+ krb5_fast_key(actx, tree, tvb,
+ private_data->PA_TGS_REQ_subkey,
+ "subkeyarmor",
+ private_data->PA_TGS_REQ_key,
+ "ticketarmor",
+ "KrbFastReq_TGS_armorKey");
+ private_data->fast_armor_key = private_data->last_added_key;
+ }
+
+ /* RFC6113 :
+ * KrbFastResponse encrypted with usage
+ * KEY_USAGE_FAST_ENC 51
+ */
+ plaintext=decrypt_krb5_data_asn1(tree, actx, KEY_USAGE_FAST_ENC,
+ next_tvb, &length);
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 FastReq");
+
+ offset=dissect_kerberos_KrbFastReq(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_KrbFastResponse(bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ guint8 *plaintext;
+ int length;
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ tvbuff_t *next_tvb;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ /*
+ * RFC6113 :
+ * KrbFastResponse encrypted with usage
+ * KEY_USAGE_FAST_REP 52
+ */
+ plaintext=decrypt_krb5_data_asn1(tree, actx, KEY_USAGE_FAST_REP,
+ next_tvb, &length);
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 FastRep");
+
+ private_data->fast_armor_key = private_data->last_decryption_key;
+ offset=dissect_kerberos_KrbFastResponse(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_decrypt_EncryptedChallenge(bool imp_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,
+ proto_tree *tree, int hf_index _U_)
+{
+ guint8 *plaintext;
+ int length;
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ tvbuff_t *next_tvb;
+ int usage = 0;
+ const char *name = NULL;
+
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ /* RFC6113 :
+ * KEY_USAGE_ENC_CHALLENGE_CLIENT 54
+ * KEY_USAGE_ENC_CHALLENGE_KDC 55
+ */
+ if (kerberos_private_is_kdc_req(private_data)) {
+ usage = KEY_USAGE_ENC_CHALLENGE_CLIENT;
+ name = "Krb5 CHALLENGE_CLIENT";
+ } else {
+ usage = KEY_USAGE_ENC_CHALLENGE_KDC;
+ name = "Krb5 CHALLENGE_KDC";
+ }
+ plaintext=decrypt_krb5_data_asn1(tree, actx, usage, next_tvb, &length);
+
+ if(plaintext){
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, length, length);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, name);
+
+ offset=dissect_kerberos_PA_ENC_TS_ENC(FALSE, child_tvb, 0, actx , tree, /* hf_index*/ -1);
+ }
+ return offset;
+}
+#endif /* HAVE_KERBEROS */
+
+static int * const hf_krb_pa_supported_enctypes_fields[] = {
+ &hf_krb_pa_supported_enctypes_des_cbc_crc,
+ &hf_krb_pa_supported_enctypes_des_cbc_md5,
+ &hf_krb_pa_supported_enctypes_rc4_hmac,
+ &hf_krb_pa_supported_enctypes_aes128_cts_hmac_sha1_96,
+ &hf_krb_pa_supported_enctypes_aes256_cts_hmac_sha1_96,
+ &hf_krb_pa_supported_enctypes_fast_supported,
+ &hf_krb_pa_supported_enctypes_compound_identity_supported,
+ &hf_krb_pa_supported_enctypes_claims_supported,
+ &hf_krb_pa_supported_enctypes_resource_sid_compression_disabled,
+ NULL,
+};
+
+static int
+dissect_kerberos_PA_SUPPORTED_ENCTYPES(bool implicit_tag _U_, tvbuff_t *tvb _U_,
+ int offset _U_, asn1_ctx_t *actx _U_,
+ proto_tree *tree _U_, int hf_index _U_)
+{
+ actx->created_item = proto_tree_add_bitmask(tree, tvb, offset,
+ hf_krb_pa_supported_enctypes,
+ ett_krb_pa_supported_enctypes,
+ hf_krb_pa_supported_enctypes_fields,
+ ENC_LITTLE_ENDIAN);
+ offset += 4;
+
+ return offset;
+}
+
+static int * const hf_krb_ad_ap_options_fields[] = {
+ &hf_krb_ad_ap_options_cbt,
+ NULL,
+};
+
+
+static int
+dissect_kerberos_AD_AP_OPTIONS(bool implicit_tag _U_, tvbuff_t *tvb _U_,
+ int offset _U_, asn1_ctx_t *actx _U_,
+ proto_tree *tree _U_, int hf_index _U_)
+{
+ actx->created_item = proto_tree_add_bitmask(tree, tvb, offset,
+ hf_krb_ad_ap_options,
+ ett_krb_ad_ap_options,
+ hf_krb_ad_ap_options_fields,
+ ENC_LITTLE_ENDIAN);
+ offset += 4;
+
+ return offset;
+}
+
+static int
+dissect_kerberos_AD_TARGET_PRINCIPAL(bool implicit_tag _U_, tvbuff_t *tvb _U_,
+ int offset _U_, asn1_ctx_t *actx _U_,
+ proto_tree *tree _U_, int hf_index _U_)
+{
+ int tp_offset, tp_len;
+ guint16 bc;
+
+ bc = tvb_reported_length_remaining(tvb, offset);
+ tp_offset = offset;
+ tp_len = bc;
+ proto_tree_add_item(tree, hf_krb_ad_target_principal, tvb,
+ tp_offset, tp_len,
+ ENC_UTF_16 | ENC_LITTLE_ENDIAN);
+
+ return offset;
+}
+
+/* Dissect a GSSAPI checksum as per RFC1964. This is NOT ASN.1 encoded.
+ */
+static int
+dissect_krb5_rfc1964_checksum(asn1_ctx_t *actx _U_, proto_tree *tree, tvbuff_t *tvb)
+{
+ int offset=0;
+ guint32 len;
+ guint16 dlglen;
+
+ /* Length of Bnd field */
+ len=tvb_get_letohl(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_gssapi_len, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ offset += 4;
+
+ /* Bnd field */
+ proto_tree_add_item(tree, hf_krb_gssapi_bnd, tvb, offset, len, ENC_NA);
+ offset += len;
+
+
+ /* flags */
+ proto_tree_add_item(tree, hf_krb_gssapi_c_flag_dce_style, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tree, hf_krb_gssapi_c_flag_integ, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tree, hf_krb_gssapi_c_flag_conf, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tree, hf_krb_gssapi_c_flag_sequence, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tree, hf_krb_gssapi_c_flag_replay, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tree, hf_krb_gssapi_c_flag_mutual, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tree, hf_krb_gssapi_c_flag_deleg, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ offset += 4;
+
+ /* the next fields are optional so we have to check that we have
+ * more data in our buffers */
+ if(tvb_reported_length_remaining(tvb, offset)<2){
+ return offset;
+ }
+ /* dlgopt identifier */
+ proto_tree_add_item(tree, hf_krb_gssapi_dlgopt, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ if(tvb_reported_length_remaining(tvb, offset)<2){
+ return offset;
+ }
+ /* dlglen identifier */
+ dlglen=tvb_get_letohs(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_gssapi_dlglen, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ if(dlglen!=tvb_reported_length_remaining(tvb, offset)){
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_krb_gssapi_dlglen, tvb, 0, 0,
+ "Error: DlgLen:%d is not the same as number of bytes remaining:%d", dlglen, tvb_captured_length_remaining(tvb, offset));
+ return offset;
+ }
+
+ /* this should now be a KRB_CRED message */
+ offset=dissect_kerberos_Applications(FALSE, tvb, offset, actx, tree, /* hf_index */ -1);
+
+ return offset;
+}
+
+static int
+dissect_krb5_PA_PROV_SRV_LOCATION(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_)
+{
+ offset=dissect_ber_GeneralString(actx, tree, tvb, offset, hf_krb_provsrv_location, NULL, 0);
+
+ return offset;
+}
+
+static int
+dissect_krb5_PW_SALT(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_)
+{
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ gint length;
+ guint32 nt_status = 0;
+ guint32 reserved = 0;
+ guint32 flags = 0;
+
+ /*
+ * Microsoft stores a special 12 byte blob here
+ * [MS-KILE] 2.2.1 KERB-EXT-ERROR
+ * guint32 NT_status
+ * guint32 reserved (== 0)
+ * guint32 flags (at least 0x00000001 is set)
+ */
+ length = tvb_reported_length_remaining(tvb, offset);
+ if (length <= 0) {
+ return offset;
+ }
+ if (length != 12) {
+ goto no_error;
+ }
+
+ if (private_data->errorcode == 0) {
+ goto no_error;
+ }
+
+ if (!private_data->try_nt_status) {
+ goto no_error;
+ }
+
+ nt_status = tvb_get_letohl(tvb, offset);
+ reserved = tvb_get_letohl(tvb, offset + 4);
+ flags = tvb_get_letohl(tvb, offset + 8);
+
+ if (nt_status == 0 || reserved != 0 || flags == 0) {
+ goto no_error;
+ }
+
+ proto_tree_add_item(tree, hf_krb_ext_error_nt_status, tvb, offset, 4,
+ ENC_LITTLE_ENDIAN);
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO,
+ " NT Status: %s",
+ val_to_str(nt_status, NT_errors,
+ "Unknown error code %#x"));
+ offset += 4;
+
+ proto_tree_add_item(tree, hf_krb_ext_error_reserved, tvb, offset, 4,
+ ENC_LITTLE_ENDIAN);
+ offset += 4;
+
+ proto_tree_add_item(tree, hf_krb_ext_error_flags, tvb, offset, 4,
+ ENC_LITTLE_ENDIAN);
+ offset += 4;
+
+ return offset;
+
+ no_error:
+ proto_tree_add_item(tree, hf_krb_pw_salt, tvb, offset, length, ENC_NA);
+ offset += length;
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_DREP(proto_tree *parent_tree, tvbuff_t *tvb, int offset, guint8 *drep)
+{
+ proto_tree *tree;
+ guint8 val;
+
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, 16, ett_krb_pac_drep, NULL, "DREP");
+
+ val = tvb_get_guint8(tvb, offset);
+ proto_tree_add_uint(tree, hf_dcerpc_drep_byteorder, tvb, offset, 1, val>>4);
+
+ offset++;
+
+ if (drep) {
+ *drep = val;
+ }
+
+ return offset;
+}
+
+/* This might be some sort of header that MIDL generates when creating
+ * marshalling/unmarshalling code for blobs that are not to be transported
+ * ontop of DCERPC and where the DREP fields specifying things such as
+ * endianess and similar are not available.
+ */
+static int
+dissect_krb5_PAC_NDRHEADERBLOB(proto_tree *parent_tree, tvbuff_t *tvb, int offset, guint8 *drep, asn1_ctx_t *actx _U_)
+{
+ proto_tree *tree;
+
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, 16, ett_krb_pac_midl_blob, NULL, "MES header");
+
+ /* modified DREP field that is used for stuff that is transporetd ontop
+ of non dcerpc
+ */
+ proto_tree_add_item(tree, hf_krb_midl_version, tvb, offset, 1, ENC_LITTLE_ENDIAN);
+ offset++;
+
+ offset = dissect_krb5_PAC_DREP(tree, tvb, offset, drep);
+
+
+ proto_tree_add_item(tree, hf_krb_midl_hdr_len, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset+=2;
+
+ proto_tree_add_item(tree, hf_krb_midl_fill_bytes, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ offset += 4;
+
+ /* length of blob that follows */
+ proto_tree_add_item(tree, hf_krb_midl_blob_len, tvb, offset, 8, ENC_LITTLE_ENDIAN);
+ offset += 8;
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_LOGON_INFO(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ proto_item *item;
+ proto_tree *tree;
+ guint8 drep[4] = { 0x10, 0x00, 0x00, 0x00}; /* fake DREP struct */
+ static dcerpc_info di; /* fake dcerpc_info struct */
+ static dcerpc_call_value call_data;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_logon_info, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_logon_info);
+
+ /* skip the first 16 bytes, they are some magic created by the idl
+ * compiler the first 4 bytes might be flags?
+ */
+ offset = dissect_krb5_PAC_NDRHEADERBLOB(tree, tvb, offset, &drep[0], actx);
+
+ /* the PAC_LOGON_INFO blob */
+ /* fake whatever state the dcerpc runtime support needs */
+ di.conformant_run=0;
+ /* we need di->call_data->flags.NDR64 == 0 */
+ di.call_data=&call_data;
+ init_ndr_pointer_list(&di);
+ offset = dissect_ndr_pointer(tvb, offset, actx->pinfo, tree, &di, drep,
+ netlogon_dissect_PAC_LOGON_INFO, NDR_POINTER_UNIQUE,
+ "PAC_LOGON_INFO:", -1);
+
+ return offset;
+}
+
+
+static int
+dissect_krb5_PAC_CREDENTIAL_DATA(proto_tree *parent_tree, tvbuff_t *tvb, int offset, packet_info *pinfo _U_)
+{
+ proto_tree_add_item(parent_tree, hf_krb_pac_credential_data, tvb, offset, -1, ENC_NA);
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_CREDENTIAL_INFO(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx)
+{
+ proto_item *item;
+ proto_tree *tree;
+ guint8 *plaintext = NULL;
+ int plainlen = 0;
+ int length = 0;
+#define KRB5_KU_OTHER_ENCRYPTED 16
+#ifdef HAVE_KERBEROS
+ guint32 etype;
+ tvbuff_t *next_tvb;
+ int usage = KRB5_KU_OTHER_ENCRYPTED;
+#endif
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_credential_info, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_credential_info);
+
+ /* version */
+ proto_tree_add_item(tree, hf_krb_pac_credential_info_version, tvb,
+ offset, 4, ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+#ifdef HAVE_KERBEROS
+ /* etype */
+ etype = tvb_get_letohl(tvb, offset);
+#endif
+ proto_tree_add_item(tree, hf_krb_pac_credential_info_etype, tvb,
+ offset, 4, ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+#ifdef HAVE_KERBEROS
+ /* data */
+ next_tvb=tvb_new_subset_remaining(tvb, offset);
+ length=tvb_captured_length_remaining(tvb, offset);
+
+ plaintext=decrypt_krb5_data(tree, actx->pinfo, usage, next_tvb, (int)etype, &plainlen);
+#endif
+
+ if (plaintext != NULL) {
+ tvbuff_t *child_tvb;
+ child_tvb = tvb_new_child_real_data(tvb, plaintext, plainlen, plainlen);
+
+ /* Add the decrypted data to the data source list. */
+ add_new_data_source(actx->pinfo, child_tvb, "Krb5 PAC_CREDENTIAL");
+
+ dissect_krb5_PAC_CREDENTIAL_DATA(tree, child_tvb, 0, actx->pinfo);
+ }
+
+ return offset + length;
+}
+
+static int
+dissect_krb5_PAC_S4U_DELEGATION_INFO(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx)
+{
+ proto_item *item;
+ proto_tree *tree;
+ guint8 drep[4] = { 0x10, 0x00, 0x00, 0x00}; /* fake DREP struct */
+ static dcerpc_info di; /* fake dcerpc_info struct */
+ static dcerpc_call_value call_data;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_s4u_delegation_info, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_s4u_delegation_info);
+
+ /* skip the first 16 bytes, they are some magic created by the idl
+ * compiler the first 4 bytes might be flags?
+ */
+ offset = dissect_krb5_PAC_NDRHEADERBLOB(tree, tvb, offset, &drep[0], actx);
+
+
+ /* the S4U_DELEGATION_INFO blob. See [MS-PAC] */
+ /* fake whatever state the dcerpc runtime support needs */
+ di.conformant_run=0;
+ /* we need di->call_data->flags.NDR64 == 0 */
+ di.call_data=&call_data;
+ init_ndr_pointer_list(&di);
+ offset = dissect_ndr_pointer(tvb, offset, actx->pinfo, tree, &di, drep,
+ netlogon_dissect_PAC_S4U_DELEGATION_INFO, NDR_POINTER_UNIQUE,
+ "PAC_S4U_DELEGATION_INFO:", -1);
+
+ return offset;
+}
+
+#define PAC_UPN_DNS_FLAG_CONSTRUCTED 0x00000001
+#define PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID 0x00000002
+static const true_false_string tfs_krb_pac_upn_flag_upn_constructed = {
+ "UPN Name is Constructed",
+ "UPN Name is NOT Constructed",
+};
+static const true_false_string tfs_krb_pac_upn_flag_has_sam_name_and_sid = {
+ "SAM_NAME and SID are included",
+ "SAM_NAME and SID are NOT included",
+};
+static int * const hf_krb_pac_upn_flags_fields[] = {
+ &hf_krb_pac_upn_flag_upn_constructed,
+ &hf_krb_pac_upn_flag_has_sam_name_and_sid,
+ NULL
+};
+
+static int
+dissect_krb5_PAC_UPN_DNS_INFO(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ proto_item *item;
+ proto_tree *tree;
+ guint16 dns_offset, dns_len;
+ guint16 upn_offset, upn_len;
+ guint16 samaccountname_offset = 0, samaccountname_len = 0;
+ guint16 objectsid_offset = 0, objectsid_len = 0;
+ guint32 flags;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_upn_dns_info, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_upn_dns_info);
+
+ /* upn */
+ upn_len = tvb_get_letohs(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_pac_upn_upn_len, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset+=2;
+ upn_offset = tvb_get_letohs(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_pac_upn_upn_offset, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset+=2;
+
+ /* dns */
+ dns_len = tvb_get_letohs(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_pac_upn_dns_len, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset+=2;
+ dns_offset = tvb_get_letohs(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_pac_upn_dns_offset, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset+=2;
+
+ /* flags */
+ flags = tvb_get_letohl(tvb, offset);
+ proto_tree_add_bitmask(tree, tvb, offset,
+ hf_krb_pac_upn_flags,
+ ett_krb_pac_upn_dns_info_flags,
+ hf_krb_pac_upn_flags_fields,
+ ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ if (flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID) {
+ samaccountname_len = tvb_get_letohs(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_pac_upn_samaccountname_len, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset+=2;
+ samaccountname_offset = tvb_get_letohs(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_pac_upn_samaccountname_offset, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset+=2;
+
+ objectsid_len = tvb_get_letohs(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_pac_upn_objectsid_len, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset+=2;
+ objectsid_offset = tvb_get_letohs(tvb, offset);
+ proto_tree_add_item(tree, hf_krb_pac_upn_objectsid_offset, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ /* offset+=2; */
+ }
+
+ /* upn */
+ proto_tree_add_item(tree, hf_krb_pac_upn_upn_name, tvb, upn_offset, upn_len, ENC_UTF_16|ENC_LITTLE_ENDIAN);
+
+ /* dns */
+ proto_tree_add_item(tree, hf_krb_pac_upn_dns_name, tvb, dns_offset, dns_len, ENC_UTF_16|ENC_LITTLE_ENDIAN);
+
+ /* samaccountname */
+ if (samaccountname_offset != 0 && samaccountname_len != 0) {
+ proto_tree_add_item(tree, hf_krb_pac_upn_samaccountname, tvb, samaccountname_offset, samaccountname_len, ENC_UTF_16|ENC_LITTLE_ENDIAN);
+ }
+ /* objectsid */
+ if (objectsid_offset != 0 && objectsid_len != 0) {
+ tvbuff_t *sid_tvb;
+ sid_tvb=tvb_new_subset_length(tvb, objectsid_offset, objectsid_len);
+ dissect_nt_sid(sid_tvb, 0, tree, "objectSid", NULL, -1);
+ }
+
+ return dns_offset;
+}
+
+static int
+dissect_krb5_PAC_CLIENT_CLAIMS_INFO(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ int length = tvb_captured_length_remaining(tvb, offset);
+
+ if (length == 0) {
+ return offset;
+ }
+
+ proto_tree_add_item(parent_tree, hf_krb_pac_client_claims_info, tvb, offset, -1, ENC_NA);
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_DEVICE_INFO(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ proto_item *item;
+ proto_tree *tree;
+ guint8 drep[4] = { 0x10, 0x00, 0x00, 0x00}; /* fake DREP struct */
+ static dcerpc_info di; /* fake dcerpc_info struct */
+ static dcerpc_call_value call_data;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_device_info, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_device_info);
+
+ /* skip the first 16 bytes, they are some magic created by the idl
+ * compiler the first 4 bytes might be flags?
+ */
+ offset = dissect_krb5_PAC_NDRHEADERBLOB(tree, tvb, offset, &drep[0], actx);
+
+ /* the PAC_DEVICE_INFO blob */
+ /* fake whatever state the dcerpc runtime support needs */
+ di.conformant_run=0;
+ /* we need di->call_data->flags.NDR64 == 0 */
+ di.call_data=&call_data;
+ init_ndr_pointer_list(&di);
+ offset = dissect_ndr_pointer(tvb, offset, actx->pinfo, tree, &di, drep,
+ netlogon_dissect_PAC_DEVICE_INFO, NDR_POINTER_UNIQUE,
+ "PAC_DEVICE_INFO:", -1);
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_DEVICE_CLAIMS_INFO(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ int length = tvb_captured_length_remaining(tvb, offset);
+
+ if (length == 0) {
+ return offset;
+ }
+
+ proto_tree_add_item(parent_tree, hf_krb_pac_device_claims_info, tvb, offset, -1, ENC_NA);
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_SERVER_CHECKSUM(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ proto_item *item;
+ proto_tree *tree;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_server_checksum, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_server_checksum);
+
+ /* signature type */
+ proto_tree_add_item(tree, hf_krb_pac_signature_type, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ /* signature data */
+ proto_tree_add_item(tree, hf_krb_pac_signature_signature, tvb, offset, -1, ENC_NA);
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_PRIVSVR_CHECKSUM(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ proto_item *item;
+ proto_tree *tree;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_privsvr_checksum, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_privsvr_checksum);
+
+ /* signature type */
+ proto_tree_add_item(tree, hf_krb_pac_signature_type, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ /* signature data */
+ proto_tree_add_item(tree, hf_krb_pac_signature_signature, tvb, offset, -1, ENC_NA);
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_CLIENT_INFO_TYPE(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ proto_item *item;
+ proto_tree *tree;
+ guint16 namelen;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_client_info_type, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_client_info_type);
+
+ /* clientid */
+ offset = dissect_nt_64bit_time(tvb, tree, offset, hf_krb_pac_clientid);
+
+ /* name length */
+ namelen=tvb_get_letohs(tvb, offset);
+ proto_tree_add_uint(tree, hf_krb_pac_namelen, tvb, offset, 2, namelen);
+ offset+=2;
+
+ /* client name */
+ proto_tree_add_item(tree, hf_krb_pac_clientname, tvb, offset, namelen, ENC_UTF_16|ENC_LITTLE_ENDIAN);
+ offset+=namelen;
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_TICKET_CHECKSUM(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ proto_item *item;
+ proto_tree *tree;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_ticket_checksum, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_ticket_checksum);
+
+ /* signature type */
+ proto_tree_add_item(tree, hf_krb_pac_signature_type, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ /* signature data */
+ proto_tree_add_item(tree, hf_krb_pac_signature_signature, tvb, offset, -1, ENC_NA);
+
+ return offset;
+}
+
+#define PAC_ATTRIBUTE_FLAG_PAC_WAS_REQUESTED 0x00000001
+#define PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY 0x00000002
+static const true_false_string tfs_krb_pac_attributes_info_pac_was_requested = {
+ "PAC was requested",
+ "PAC was NOT requested",
+};
+static const true_false_string tfs_krb_pac_attributes_info_pac_was_given_implicitly = {
+ "PAC was given implicitly",
+ "PAC was NOT given implicitly",
+};
+static int * const hf_krb_pac_attributes_info_flags_fields[] = {
+ &hf_krb_pac_attributes_info_flags_pac_was_requested,
+ &hf_krb_pac_attributes_info_flags_pac_was_given_implicitly,
+ NULL
+};
+
+static int
+dissect_krb5_PAC_ATTRIBUTES_INFO(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ proto_item *item;
+ proto_tree *tree;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_attributes_info, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_attributes_info);
+
+ /* flags length*/
+ proto_tree_add_item(tree, hf_krb_pac_attributes_info_length, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ /* flags */
+ proto_tree_add_bitmask(tree, tvb, offset,
+ hf_krb_pac_attributes_info_flags,
+ ett_krb_pac_attributes_info_flags,
+ hf_krb_pac_attributes_info_flags_fields,
+ ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ return offset;
+}
+
+static int
+dissect_krb5_PAC_REQUESTER_SID(proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ proto_item *item;
+ proto_tree *tree;
+
+ item = proto_tree_add_item(parent_tree, hf_krb_pac_requester_sid, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_krb_pac_requester_sid);
+
+ offset = dissect_nt_sid(tvb, offset, tree, "RequesterSid", NULL, -1);
+
+ return offset;
+}
+
+static int
+dissect_krb5_AD_WIN2K_PAC_struct(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx)
+{
+ guint32 pac_type;
+ guint32 pac_size;
+ guint32 pac_offset;
+ proto_item *it=NULL;
+ proto_tree *tr=NULL;
+ tvbuff_t *next_tvb;
+
+ /* type of pac data */
+ pac_type=tvb_get_letohl(tvb, offset);
+ it=proto_tree_add_uint(tree, hf_krb_w2k_pac_type, tvb, offset, 4, pac_type);
+ tr=proto_item_add_subtree(it, ett_krb_pac);
+
+ offset += 4;
+
+ /* size of pac data */
+ pac_size=tvb_get_letohl(tvb, offset);
+ proto_tree_add_uint(tr, hf_krb_w2k_pac_size, tvb, offset, 4, pac_size);
+ offset += 4;
+
+ /* offset to pac data */
+ pac_offset=tvb_get_letohl(tvb, offset);
+ proto_tree_add_uint(tr, hf_krb_w2k_pac_offset, tvb, offset, 4, pac_offset);
+ offset += 8;
+
+ next_tvb=tvb_new_subset_length_caplen(tvb, pac_offset, pac_size, pac_size);
+ switch(pac_type){
+ case PAC_LOGON_INFO:
+ dissect_krb5_PAC_LOGON_INFO(tr, next_tvb, 0, actx);
+ break;
+ case PAC_CREDENTIAL_TYPE:
+ dissect_krb5_PAC_CREDENTIAL_INFO(tr, next_tvb, 0, actx);
+ break;
+ case PAC_SERVER_CHECKSUM:
+ dissect_krb5_PAC_SERVER_CHECKSUM(tr, next_tvb, 0, actx);
+ break;
+ case PAC_PRIVSVR_CHECKSUM:
+ dissect_krb5_PAC_PRIVSVR_CHECKSUM(tr, next_tvb, 0, actx);
+ break;
+ case PAC_CLIENT_INFO_TYPE:
+ dissect_krb5_PAC_CLIENT_INFO_TYPE(tr, next_tvb, 0, actx);
+ break;
+ case PAC_S4U_DELEGATION_INFO:
+ dissect_krb5_PAC_S4U_DELEGATION_INFO(tr, next_tvb, 0, actx);
+ break;
+ case PAC_UPN_DNS_INFO:
+ dissect_krb5_PAC_UPN_DNS_INFO(tr, next_tvb, 0, actx);
+ break;
+ case PAC_CLIENT_CLAIMS_INFO:
+ dissect_krb5_PAC_CLIENT_CLAIMS_INFO(tr, next_tvb, 0, actx);
+ break;
+ case PAC_DEVICE_INFO:
+ dissect_krb5_PAC_DEVICE_INFO(tr, next_tvb, 0, actx);
+ break;
+ case PAC_DEVICE_CLAIMS_INFO:
+ dissect_krb5_PAC_DEVICE_CLAIMS_INFO(tr, next_tvb, 0, actx);
+ break;
+ case PAC_TICKET_CHECKSUM:
+ dissect_krb5_PAC_TICKET_CHECKSUM(tr, next_tvb, 0, actx);
+ break;
+ case PAC_ATTRIBUTES_INFO:
+ dissect_krb5_PAC_ATTRIBUTES_INFO(tr, next_tvb, 0, actx);
+ break;
+ case PAC_REQUESTER_SID:
+ dissect_krb5_PAC_REQUESTER_SID(tr, next_tvb, 0, actx);
+ break;
+
+ default:
+ break;
+ }
+ return offset;
+}
+
+static int
+dissect_krb5_AD_WIN2K_PAC(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_)
+{
+ guint32 entries;
+ guint32 version;
+ guint32 i;
+
+#if defined(HAVE_MIT_KERBEROS) && defined(HAVE_KRB5_PAC_VERIFY)
+ verify_krb5_pac(tree, actx, tvb);
+#endif
+
+ /* first in the PAC structure comes the number of entries */
+ entries=tvb_get_letohl(tvb, offset);
+ proto_tree_add_uint(tree, hf_krb_w2k_pac_entries, tvb, offset, 4, entries);
+ offset += 4;
+
+ /* second comes the version */
+ version=tvb_get_letohl(tvb, offset);
+ proto_tree_add_uint(tree, hf_krb_w2k_pac_version, tvb, offset, 4, version);
+ offset += 4;
+
+ for(i=0;i<entries;i++){
+ offset=dissect_krb5_AD_WIN2K_PAC_struct(tree, tvb, offset, actx);
+ }
+
+ return offset;
+}
+
+#include "packet-kerberos-fn.c"
+
+#ifdef HAVE_KERBEROS
+static const ber_sequence_t PA_ENC_TS_ENC_sequence[] = {
+ { &hf_krb_patimestamp, BER_CLASS_CON, 0, 0, dissect_kerberos_KerberosTime },
+ { &hf_krb_pausec , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_kerberos_Microseconds },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_kerberos_PA_ENC_TS_ENC(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ PA_ENC_TS_ENC_sequence, hf_index, ett_krb_pa_enc_ts_enc);
+ return offset;
+}
+
+static int
+dissect_kerberos_T_strengthen_key(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ gint save_encryption_key_parent_hf_index = private_data->save_encryption_key_parent_hf_index;
+ kerberos_key_save_fn saved_encryption_key_fn = private_data->save_encryption_key_fn;
+ private_data->save_encryption_key_parent_hf_index = hf_kerberos_KrbFastResponse;
+#ifdef HAVE_KERBEROS
+ private_data->save_encryption_key_fn = save_KrbFastResponse_strengthen_key;
+#endif
+ offset = dissect_kerberos_EncryptionKey(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ private_data->save_encryption_key_parent_hf_index = save_encryption_key_parent_hf_index;
+ private_data->save_encryption_key_fn = saved_encryption_key_fn;
+ return offset;
+}
+
+static const ber_sequence_t KrbFastFinished_sequence[] = {
+ { &hf_kerberos_timestamp , BER_CLASS_CON, 0, 0, dissect_kerberos_KerberosTime },
+ { &hf_kerberos_usec , BER_CLASS_CON, 1, 0, dissect_kerberos_Microseconds },
+ { &hf_kerberos_crealm , BER_CLASS_CON, 2, 0, dissect_kerberos_Realm },
+ { &hf_kerberos_cname_01 , BER_CLASS_CON, 3, 0, dissect_kerberos_PrincipalName },
+ { &hf_kerberos_ticket_checksum, BER_CLASS_CON, 4, 0, dissect_kerberos_Checksum },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_kerberos_KrbFastFinished(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ KrbFastFinished_sequence, hf_index, ett_kerberos_KrbFastFinished);
+
+ return offset;
+}
+
+static const ber_sequence_t KrbFastResponse_sequence[] = {
+ { &hf_kerberos_rEP_SEQUENCE_OF_PA_DATA, BER_CLASS_CON, 0, 0, dissect_kerberos_T_rEP_SEQUENCE_OF_PA_DATA },
+ { &hf_kerberos_strengthen_key, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_kerberos_T_strengthen_key },
+ { &hf_kerberos_finished , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_kerberos_KrbFastFinished },
+ { &hf_kerberos_nonce , BER_CLASS_CON, 3, 0, dissect_kerberos_UInt32 },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_kerberos_KrbFastResponse(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ KrbFastResponse_sequence, hf_index, ett_kerberos_KrbFastResponse);
+
+ return offset;
+}
+
+static const ber_sequence_t KrbFastReq_sequence[] = {
+ { &hf_kerberos_fast_options, BER_CLASS_CON, 0, 0, dissect_kerberos_FastOptions },
+ { &hf_kerberos_rEQ_SEQUENCE_OF_PA_DATA, BER_CLASS_CON, 1, 0, dissect_kerberos_T_rEQ_SEQUENCE_OF_PA_DATA },
+ { &hf_kerberos_req_body , BER_CLASS_CON, 2, 0, dissect_kerberos_KDC_REQ_BODY },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_kerberos_KrbFastReq(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ kerberos_private_data_t *private_data = kerberos_get_private_data(actx);
+ struct _kerberos_PA_FX_FAST_REQUEST saved_stack = private_data->PA_FX_FAST_REQUEST;
+ private_data->PA_FX_FAST_REQUEST = (struct _kerberos_PA_FX_FAST_REQUEST) { .defer = FALSE, };
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ KrbFastReq_sequence, hf_index, ett_kerberos_KrbFastReq);
+ private_data->PA_FX_FAST_REQUEST = saved_stack;
+
+ return offset;
+}
+
+static int * const FastOptions_bits[] = {
+ &hf_kerberos_FastOptions_reserved,
+ &hf_kerberos_FastOptions_hide_client_names,
+ &hf_kerberos_FastOptions_spare_bit2,
+ &hf_kerberos_FastOptions_spare_bit3,
+ &hf_kerberos_FastOptions_spare_bit4,
+ &hf_kerberos_FastOptions_spare_bit5,
+ &hf_kerberos_FastOptions_spare_bit6,
+ &hf_kerberos_FastOptions_spare_bit7,
+ &hf_kerberos_FastOptions_spare_bit8,
+ &hf_kerberos_FastOptions_spare_bit9,
+ &hf_kerberos_FastOptions_spare_bit10,
+ &hf_kerberos_FastOptions_spare_bit11,
+ &hf_kerberos_FastOptions_spare_bit12,
+ &hf_kerberos_FastOptions_spare_bit13,
+ &hf_kerberos_FastOptions_spare_bit14,
+ &hf_kerberos_FastOptions_spare_bit15,
+ &hf_kerberos_FastOptions_kdc_follow_referrals,
+ NULL
+};
+
+static int
+dissect_kerberos_FastOptions(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
+ FastOptions_bits, 17, hf_index, ett_kerberos_FastOptions,
+ NULL);
+
+ return offset;
+}
+
+#endif /* HAVE_KERBEROS */
+
+/* Make wrappers around exported functions for now */
+int
+dissect_krb5_Checksum(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ return dissect_kerberos_Checksum(FALSE, tvb, offset, actx, tree, hf_kerberos_cksum);
+
+}
+
+int
+dissect_krb5_ctime(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ return dissect_kerberos_KerberosTime(FALSE, tvb, offset, actx, tree, hf_kerberos_ctime);
+}
+
+
+int
+dissect_krb5_cname(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ return dissect_kerberos_PrincipalName(FALSE, tvb, offset, actx, tree, hf_kerberos_cname);
+}
+int
+dissect_krb5_realm(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_)
+{
+ return dissect_kerberos_Realm(FALSE, tvb, offset, actx, tree, hf_kerberos_realm);
+}
+
+struct kerberos_display_key_state {
+ proto_tree *tree;
+ packet_info *pinfo;
+ expert_field *expindex;
+ const char *name;
+ tvbuff_t *tvb;
+ gint start;
+ gint length;
+};
+
+static void
+#ifdef HAVE_KERBEROS
+kerberos_display_key(gpointer data, gpointer userdata)
+#else
+kerberos_display_key(gpointer data _U_, gpointer userdata _U_)
+#endif
+{
+#ifdef HAVE_KERBEROS
+ struct kerberos_display_key_state *state =
+ (struct kerberos_display_key_state *)userdata;
+ const enc_key_t *ek = (const enc_key_t *)data;
+ proto_item *item = NULL;
+ enc_key_t *sek = NULL;
+
+ item = proto_tree_add_expert_format(state->tree,
+ state->pinfo,
+ state->expindex,
+ state->tvb,
+ state->start,
+ state->length,
+ "%s %s keytype %d (id=%s same=%u) (%02x%02x%02x%02x...)",
+ state->name,
+ ek->key_origin, ek->keytype,
+ ek->id_str, ek->num_same,
+ ek->keyvalue[0] & 0xFF, ek->keyvalue[1] & 0xFF,
+ ek->keyvalue[2] & 0xFF, ek->keyvalue[3] & 0xFF);
+ if (ek->src1 != NULL) {
+ sek = ek->src1;
+ expert_add_info_format(state->pinfo,
+ item,
+ state->expindex,
+ "SRC1 %s keytype %d (id=%s same=%u) (%02x%02x%02x%02x...)",
+ sek->key_origin, sek->keytype,
+ sek->id_str, sek->num_same,
+ sek->keyvalue[0] & 0xFF, sek->keyvalue[1] & 0xFF,
+ sek->keyvalue[2] & 0xFF, sek->keyvalue[3] & 0xFF);
+ }
+ if (ek->src2 != NULL) {
+ sek = ek->src2;
+ expert_add_info_format(state->pinfo,
+ item,
+ state->expindex,
+ "SRC2 %s keytype %d (id=%s same=%u) (%02x%02x%02x%02x...)",
+ sek->key_origin, sek->keytype,
+ sek->id_str, sek->num_same,
+ sek->keyvalue[0] & 0xFF, sek->keyvalue[1] & 0xFF,
+ sek->keyvalue[2] & 0xFF, sek->keyvalue[3] & 0xFF);
+ }
+ sek = ek->same_list;
+ while (sek != NULL) {
+ expert_add_info_format(state->pinfo,
+ item,
+ state->expindex,
+ "%s %s keytype %d (id=%s same=%u) (%02x%02x%02x%02x...)",
+ state->name,
+ sek->key_origin, sek->keytype,
+ sek->id_str, sek->num_same,
+ sek->keyvalue[0] & 0xFF, sek->keyvalue[1] & 0xFF,
+ sek->keyvalue[2] & 0xFF, sek->keyvalue[3] & 0xFF);
+ sek = sek->same_list;
+ }
+#endif /* HAVE_KERBEROS */
+}
+
+static const value_string KERB_LOGON_SUBMIT_TYPE[] = {
+ { 2, "KerbInteractiveLogon" },
+ { 6, "KerbSmartCardLogon" },
+ { 7, "KerbWorkstationUnlockLogon" },
+ { 8, "KerbSmartCardUnlockLogon" },
+ { 9, "KerbProxyLogon" },
+ { 10, "KerbTicketLogon" },
+ { 11, "KerbTicketUnlockLogon" },
+ { 12, "KerbS4ULogon" },
+ { 13, "KerbCertificateLogon" },
+ { 14, "KerbCertificateS4ULogon" },
+ { 15, "KerbCertificateUnlockLogon" },
+ { 0, NULL }
+};
+
+
+#define KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET 0x1
+#define KERB_LOGON_FLAG_REDIRECTED 0x2
+
+static int* const ktl_flags_bits[] = {
+ &hf_kerberos_KERB_TICKET_LOGON_FLAG_ALLOW_EXPIRED_TICKET,
+ &hf_kerberos_KERB_TICKET_LOGON_FLAG_REDIRECTED,
+ NULL
+};
+
+int
+dissect_kerberos_KERB_TICKET_LOGON(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree)
+{
+ proto_item *item;
+ proto_tree *subtree;
+ guint32 ServiceTicketLength;
+ guint32 TicketGrantingTicketLength;
+ int orig_offset;
+
+ if (tvb_captured_length(tvb) < 32)
+ return offset;
+
+ item = proto_tree_add_item(tree, hf_kerberos_KERB_TICKET_LOGON, tvb, offset, -1, ENC_NA);
+ subtree = proto_item_add_subtree(item, ett_kerberos_KERB_TICKET_LOGON);
+
+ proto_tree_add_item(subtree, hf_kerberos_KERB_TICKET_LOGON_MessageType, tvb, offset, 4,
+ ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ proto_tree_add_bitmask(subtree, tvb, offset, hf_kerberos_KERB_TICKET_LOGON_Flags,
+ ett_kerberos, ktl_flags_bits, ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ ServiceTicketLength = tvb_get_letohl(tvb, offset);
+ proto_tree_add_item(subtree, hf_kerberos_KERB_TICKET_LOGON_ServiceTicketLength, tvb,
+ offset, 4, ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ TicketGrantingTicketLength = tvb_get_letohl(tvb, offset);
+ proto_tree_add_item(subtree, hf_kerberos_KERB_TICKET_LOGON_TicketGrantingTicketLength,
+ tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ offset+=4;
+
+ /* Skip two PUCHAR of ServiceTicket and TicketGrantingTicket */
+ offset+=16;
+
+ if (ServiceTicketLength == 0)
+ return offset;
+
+ orig_offset = offset;
+ offset = dissect_kerberos_Ticket(FALSE, tvb, offset, actx, subtree,
+ hf_kerberos_KERB_TICKET_LOGON_ServiceTicket);
+
+ if ((unsigned)(offset-orig_offset) != ServiceTicketLength)
+ return offset;
+
+ if (TicketGrantingTicketLength == 0)
+ return offset;
+
+ offset = dissect_kerberos_KRB_CRED(FALSE, tvb, offset, actx, subtree,
+ hf_kerberos_KERB_TICKET_LOGON_TicketGrantingTicket);
+
+ if ((unsigned)(offset-orig_offset) != ServiceTicketLength + TicketGrantingTicketLength)
+ return offset;
+
+ return offset;
+}
+
+static gint
+dissect_kerberos_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ bool dci, bool do_col_protocol, bool have_rm,
+ kerberos_callbacks *cb)
+{
+ volatile int offset = 0;
+ proto_tree *volatile kerberos_tree = NULL;
+ proto_item *volatile item = NULL;
+ kerberos_private_data_t *private_data = NULL;
+ asn1_ctx_t asn1_ctx;
+
+ /* TCP record mark and length */
+ guint32 krb_rm = 0;
+ gint krb_reclen = 0;
+
+ gbl_do_col_info=dci;
+
+ if (have_rm) {
+ krb_rm = tvb_get_ntohl(tvb, offset);
+ krb_reclen = kerberos_rm_to_reclen(krb_rm);
+ /*
+ * What is a reasonable size limit?
+ */
+ if (krb_reclen > 10 * 1024 * 1024) {
+ return (-1);
+ }
+
+ if (do_col_protocol) {
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "KRB5");
+ }
+
+ if (tree) {
+ item = proto_tree_add_item(tree, proto_kerberos, tvb, 0, -1, ENC_NA);
+ kerberos_tree = proto_item_add_subtree(item, ett_kerberos);
+ }
+
+ show_krb_recordmark(kerberos_tree, tvb, offset, krb_rm);
+ offset += 4;
+ } else {
+ /* Do some sanity checking here,
+ * All krb5 packets start with a TAG class that is BER_CLASS_APP
+ * and a tag value that is either of the values below:
+ * If it doesn't look like kerberos, return 0 and let someone else have
+ * a go at it.
+ */
+ gint8 tmp_class;
+ bool tmp_pc;
+ gint32 tmp_tag;
+
+ get_ber_identifier(tvb, offset, &tmp_class, &tmp_pc, &tmp_tag);
+ if(tmp_class!=BER_CLASS_APP){
+ return 0;
+ }
+ switch(tmp_tag){
+ case KRB5_MSG_TICKET:
+ case KRB5_MSG_AUTHENTICATOR:
+ case KRB5_MSG_ENC_TICKET_PART:
+ case KRB5_MSG_AS_REQ:
+ case KRB5_MSG_AS_REP:
+ case KRB5_MSG_TGS_REQ:
+ case KRB5_MSG_TGS_REP:
+ case KRB5_MSG_AP_REQ:
+ case KRB5_MSG_AP_REP:
+ case KRB5_MSG_ENC_AS_REP_PART:
+ case KRB5_MSG_ENC_TGS_REP_PART:
+ case KRB5_MSG_ENC_AP_REP_PART:
+ case KRB5_MSG_ENC_KRB_PRIV_PART:
+ case KRB5_MSG_ENC_KRB_CRED_PART:
+ case KRB5_MSG_SAFE:
+ case KRB5_MSG_PRIV:
+ case KRB5_MSG_ERROR:
+ break;
+ default:
+ return 0;
+ }
+ if (do_col_protocol) {
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "KRB5");
+ }
+ if (gbl_do_col_info) {
+ col_clear(pinfo->cinfo, COL_INFO);
+ }
+ if (tree) {
+ item = proto_tree_add_item(tree, proto_kerberos, tvb, 0, -1, ENC_NA);
+ kerberos_tree = proto_item_add_subtree(item, ett_kerberos);
+ }
+ }
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ asn1_ctx.private_data = NULL;
+ private_data = kerberos_get_private_data(&asn1_ctx);
+ private_data->callbacks = cb;
+
+ TRY {
+ offset=dissect_kerberos_Applications(FALSE, tvb, offset, &asn1_ctx , kerberos_tree, /* hf_index */ -1);
+ } CATCH_BOUNDS_ERRORS {
+ RETHROW;
+ } ENDTRY;
+
+ if (kerberos_tree != NULL) {
+ struct kerberos_display_key_state display_state = {
+ .tree = kerberos_tree,
+ .pinfo = pinfo,
+ .expindex = &ei_kerberos_learnt_keytype,
+ .name = "Provides",
+ .tvb = tvb,
+ };
+
+ wmem_list_foreach(private_data->learnt_keys,
+ kerberos_display_key,
+ &display_state);
+ }
+
+ if (kerberos_tree != NULL) {
+ struct kerberos_display_key_state display_state = {
+ .tree = kerberos_tree,
+ .pinfo = pinfo,
+ .expindex = &ei_kerberos_missing_keytype,
+ .name = "Missing",
+ .tvb = tvb,
+ };
+
+ wmem_list_foreach(private_data->missing_keys,
+ kerberos_display_key,
+ &display_state);
+ }
+
+ if (kerberos_tree != NULL) {
+ struct kerberos_display_key_state display_state = {
+ .tree = kerberos_tree,
+ .pinfo = pinfo,
+ .expindex = &ei_kerberos_decrypted_keytype,
+ .name = "Used",
+ .tvb = tvb,
+ };
+
+ wmem_list_foreach(private_data->decryption_keys,
+ kerberos_display_key,
+ &display_state);
+ }
+
+ proto_item_set_len(item, offset);
+ return offset;
+}
+
+/*
+ * Display the TCP record mark.
+ */
+void
+show_krb_recordmark(proto_tree *tree, tvbuff_t *tvb, gint start, guint32 krb_rm)
+{
+ gint rec_len;
+ proto_tree *rm_tree;
+
+ if (tree == NULL)
+ return;
+
+ rec_len = kerberos_rm_to_reclen(krb_rm);
+ rm_tree = proto_tree_add_subtree_format(tree, tvb, start, 4, ett_krb_recordmark, NULL,
+ "Record Mark: %u %s", rec_len, plurality(rec_len, "byte", "bytes"));
+ proto_tree_add_boolean(rm_tree, hf_krb_rm_reserved, tvb, start, 4, krb_rm);
+ proto_tree_add_uint(rm_tree, hf_krb_rm_reclen, tvb, start, 4, krb_rm);
+}
+
+gint
+dissect_kerberos_main(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int do_col_info, kerberos_callbacks *cb)
+{
+ return (dissect_kerberos_common(tvb, pinfo, tree, do_col_info, FALSE, FALSE, cb));
+}
+
+guint32
+kerberos_output_keytype(void)
+{
+ return gbl_keytype;
+}
+
+static gint
+dissect_kerberos_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ /* Some weird kerberos implementation apparently do krb4 on the krb5 port.
+ Since all (except weirdo transarc krb4 stuff) use
+ an opcode <=16 in the first byte, use this to see if it might
+ be krb4.
+ All krb5 commands start with an APPL tag and thus is >=0x60
+ so if first byte is <=16 just blindly assume it is krb4 then
+ */
+ if(tvb_captured_length(tvb) >= 1 && tvb_get_guint8(tvb, 0)<=0x10){
+ if(krb4_handle){
+ gboolean res;
+
+ res=call_dissector_only(krb4_handle, tvb, pinfo, tree, NULL);
+ return res;
+ }else{
+ return 0;
+ }
+ }
+
+
+ return dissect_kerberos_common(tvb, pinfo, tree, TRUE, TRUE, FALSE, NULL);
+}
+
+gint
+kerberos_rm_to_reclen(guint krb_rm)
+{
+ return (krb_rm & KRB_RM_RECLEN);
+}
+
+guint
+get_krb_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset, void *data _U_)
+{
+ guint krb_rm;
+ gint pdulen;
+
+ krb_rm = tvb_get_ntohl(tvb, offset);
+ pdulen = kerberos_rm_to_reclen(krb_rm);
+ return (pdulen + 4);
+}
+static void
+kerberos_prefs_apply_cb(void) {
+#ifdef HAVE_LIBNETTLE
+ clear_keytab();
+ read_keytab_file(keytab_filename);
+#endif
+}
+
+static int
+dissect_kerberos_tcp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ pinfo->fragmented = TRUE;
+ if (dissect_kerberos_common(tvb, pinfo, tree, TRUE, TRUE, TRUE, NULL) < 0) {
+ /*
+ * The dissector failed to recognize this as a valid
+ * Kerberos message. Mark it as a continuation packet.
+ */
+ col_set_str(pinfo->cinfo, COL_INFO, "Continuation");
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_kerberos_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "KRB5");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ tcp_dissect_pdus(tvb, pinfo, tree, krb_desegment, 4, get_krb_pdu_len,
+ dissect_kerberos_tcp_pdu, data);
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_kerberos -------------------------------------------*/
+void proto_register_kerberos(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_krb_rm_reserved, {
+ "Reserved", "kerberos.rm.reserved", FT_BOOLEAN, 32,
+ TFS(&tfs_set_notset), KRB_RM_RESERVED, "Record mark reserved bit", HFILL }},
+ { &hf_krb_rm_reclen, {
+ "Record Length", "kerberos.rm.length", FT_UINT32, BASE_DEC,
+ NULL, KRB_RM_RECLEN, NULL, HFILL }},
+ { &hf_krb_provsrv_location, {
+ "PROVSRV Location", "kerberos.provsrv_location", FT_STRING, BASE_NONE,
+ NULL, 0, "PacketCable PROV SRV Location", HFILL }},
+ { &hf_krb_pw_salt,
+ { "pw-salt", "kerberos.pw_salt", FT_BYTES, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_ext_error_nt_status, /* we keep kerberos.smb.nt_status for compat reasons */
+ { "NT Status", "kerberos.smb.nt_status", FT_UINT32, BASE_HEX,
+ VALS(NT_errors), 0, "NT Status code", HFILL }},
+ { &hf_krb_ext_error_reserved,
+ { "Reserved", "kerberos.ext_error.reserved", FT_UINT32, BASE_HEX,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_ext_error_flags,
+ { "Flags", "kerberos.ext_error.flags", FT_UINT32, BASE_HEX,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_address_ip, {
+ "IP Address", "kerberos.addr_ip", FT_IPv4, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_address_ipv6, {
+ "IPv6 Address", "kerberos.addr_ipv6", FT_IPv6, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_address_netbios, {
+ "NetBIOS Address", "kerberos.addr_nb", FT_STRING, BASE_NONE,
+ NULL, 0, "NetBIOS Address and type", HFILL }},
+ { &hf_krb_gssapi_len, {
+ "Length", "kerberos.gssapi.len", FT_UINT32, BASE_DEC,
+ NULL, 0, "Length of GSSAPI Bnd field", HFILL }},
+ { &hf_krb_gssapi_bnd, {
+ "Bnd", "kerberos.gssapi.bdn", FT_BYTES, BASE_NONE,
+ NULL, 0, "GSSAPI Bnd field", HFILL }},
+ { &hf_krb_gssapi_c_flag_deleg, {
+ "Deleg", "kerberos.gssapi.checksum.flags.deleg", FT_BOOLEAN, 32,
+ TFS(&tfs_gss_flags_deleg), KRB5_GSS_C_DELEG_FLAG, NULL, HFILL }},
+ { &hf_krb_gssapi_c_flag_mutual, {
+ "Mutual", "kerberos.gssapi.checksum.flags.mutual", FT_BOOLEAN, 32,
+ TFS(&tfs_gss_flags_mutual), KRB5_GSS_C_MUTUAL_FLAG, NULL, HFILL }},
+ { &hf_krb_gssapi_c_flag_replay, {
+ "Replay", "kerberos.gssapi.checksum.flags.replay", FT_BOOLEAN, 32,
+ TFS(&tfs_gss_flags_replay), KRB5_GSS_C_REPLAY_FLAG, NULL, HFILL }},
+ { &hf_krb_gssapi_c_flag_sequence, {
+ "Sequence", "kerberos.gssapi.checksum.flags.sequence", FT_BOOLEAN, 32,
+ TFS(&tfs_gss_flags_sequence), KRB5_GSS_C_SEQUENCE_FLAG, NULL, HFILL }},
+ { &hf_krb_gssapi_c_flag_conf, {
+ "Conf", "kerberos.gssapi.checksum.flags.conf", FT_BOOLEAN, 32,
+ TFS(&tfs_gss_flags_conf), KRB5_GSS_C_CONF_FLAG, NULL, HFILL }},
+ { &hf_krb_gssapi_c_flag_integ, {
+ "Integ", "kerberos.gssapi.checksum.flags.integ", FT_BOOLEAN, 32,
+ TFS(&tfs_gss_flags_integ), KRB5_GSS_C_INTEG_FLAG, NULL, HFILL }},
+ { &hf_krb_gssapi_c_flag_dce_style, {
+ "DCE-style", "kerberos.gssapi.checksum.flags.dce-style", FT_BOOLEAN, 32,
+ TFS(&tfs_gss_flags_dce_style), KRB5_GSS_C_DCE_STYLE, NULL, HFILL }},
+ { &hf_krb_gssapi_dlgopt, {
+ "DlgOpt", "kerberos.gssapi.dlgopt", FT_UINT16, BASE_DEC,
+ NULL, 0, "GSSAPI DlgOpt", HFILL }},
+ { &hf_krb_gssapi_dlglen, {
+ "DlgLen", "kerberos.gssapi.dlglen", FT_UINT16, BASE_DEC,
+ NULL, 0, "GSSAPI DlgLen", HFILL }},
+ { &hf_krb_midl_blob_len, {
+ "Blob Length", "kerberos.midl_blob_len", FT_UINT64, BASE_DEC,
+ NULL, 0, "Length of NDR encoded data that follows", HFILL }},
+ { &hf_krb_midl_fill_bytes, {
+ "Fill bytes", "kerberos.midl.fill_bytes", FT_UINT32, BASE_HEX,
+ NULL, 0, "Just some fill bytes", HFILL }},
+ { &hf_krb_midl_version, {
+ "Version", "kerberos.midl.version", FT_UINT8, BASE_DEC,
+ NULL, 0, "Version of pickling", HFILL }},
+ { &hf_krb_midl_hdr_len, {
+ "HDR Length", "kerberos.midl.hdr_len", FT_UINT16, BASE_DEC,
+ NULL, 0, "Length of header", HFILL }},
+ { &hf_krb_pac_signature_type, {
+ "Type", "kerberos.pac.signature.type", FT_INT32, BASE_DEC,
+ NULL, 0, "PAC Signature Type", HFILL }},
+ { &hf_krb_pac_signature_signature, {
+ "Signature", "kerberos.pac.signature.signature", FT_BYTES, BASE_NONE,
+ NULL, 0, "A PAC signature blob", HFILL }},
+ { &hf_krb_w2k_pac_entries, {
+ "Num Entries", "kerberos.pac.entries", FT_UINT32, BASE_DEC,
+ NULL, 0, "Number of W2k PAC entries", HFILL }},
+ { &hf_krb_w2k_pac_version, {
+ "Version", "kerberos.pac.version", FT_UINT32, BASE_DEC,
+ NULL, 0, "Version of PAC structures", HFILL }},
+ { &hf_krb_w2k_pac_type, {
+ "Type", "kerberos.pac.type", FT_UINT32, BASE_DEC,
+ VALS(w2k_pac_types), 0, "Type of W2k PAC entry", HFILL }},
+ { &hf_krb_w2k_pac_size, {
+ "Size", "kerberos.pac.size", FT_UINT32, BASE_DEC,
+ NULL, 0, "Size of W2k PAC entry", HFILL }},
+ { &hf_krb_w2k_pac_offset, {
+ "Offset", "kerberos.pac.offset", FT_UINT32, BASE_DEC,
+ NULL, 0, "Offset to W2k PAC entry", HFILL }},
+ { &hf_krb_pac_clientid, {
+ "ClientID", "kerberos.pac.clientid", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL,
+ NULL, 0, "ClientID Timestamp", HFILL }},
+ { &hf_krb_pac_namelen, {
+ "Name Length", "kerberos.pac.namelen", FT_UINT16, BASE_DEC,
+ NULL, 0, "Length of client name", HFILL }},
+ { &hf_krb_pac_clientname, {
+ "Name", "kerberos.pac.name", FT_STRING, BASE_NONE,
+ NULL, 0, "Name of the Client in the PAC structure", HFILL }},
+ { &hf_krb_pac_logon_info, {
+ "PAC_LOGON_INFO", "kerberos.pac_logon_info", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_LOGON_INFO structure", HFILL }},
+ { &hf_krb_pac_credential_data, {
+ "PAC_CREDENTIAL_DATA", "kerberos.pac_credential_data", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_CREDENTIAL_DATA structure", HFILL }},
+ { &hf_krb_pac_credential_info, {
+ "PAC_CREDENTIAL_INFO", "kerberos.pac_credential_info", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_CREDENTIAL_INFO structure", HFILL }},
+ { &hf_krb_pac_credential_info_version, {
+ "Version", "kerberos.pac_credential_info.version", FT_UINT32, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_credential_info_etype, {
+ "Etype", "kerberos.pac_credential_info.etype", FT_UINT32, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_server_checksum, {
+ "PAC_SERVER_CHECKSUM", "kerberos.pac_server_checksum", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_SERVER_CHECKSUM structure", HFILL }},
+ { &hf_krb_pac_privsvr_checksum, {
+ "PAC_PRIVSVR_CHECKSUM", "kerberos.pac_privsvr_checksum", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_PRIVSVR_CHECKSUM structure", HFILL }},
+ { &hf_krb_pac_client_info_type, {
+ "PAC_CLIENT_INFO_TYPE", "kerberos.pac_client_info_type", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_CLIENT_INFO_TYPE structure", HFILL }},
+ { &hf_krb_pac_s4u_delegation_info, {
+ "PAC_S4U_DELEGATION_INFO", "kerberos.pac_s4u_delegation_info", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_S4U_DELEGATION_INFO structure", HFILL }},
+ { &hf_krb_pac_upn_dns_info, {
+ "UPN_DNS_INFO", "kerberos.pac_upn_dns_info", FT_BYTES, BASE_NONE,
+ NULL, 0, "UPN_DNS_INFO structure", HFILL }},
+ { &hf_krb_pac_upn_flags, {
+ "Flags", "kerberos.pac.upn.flags", FT_UINT32, BASE_HEX,
+ NULL, 0, "UPN flags", HFILL }},
+ { &hf_krb_pac_upn_flag_upn_constructed, {
+ "UPN Name Constructed",
+ "kerberos.pac.upn.flags.upn_constructed",
+ FT_BOOLEAN, 32,
+ TFS(&tfs_krb_pac_upn_flag_upn_constructed),
+ PAC_UPN_DNS_FLAG_CONSTRUCTED,
+ "Is the UPN Name constructed?", HFILL }},
+ { &hf_krb_pac_upn_flag_has_sam_name_and_sid, {
+ "SAM_NAME and SID Included",
+ "kerberos.pac.upn.flags.has_sam_name_and_sid",
+ FT_BOOLEAN, 32,
+ TFS(&tfs_krb_pac_upn_flag_has_sam_name_and_sid),
+ PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID,
+ "Are SAM_NAME and SID included?", HFILL }},
+ { &hf_krb_pac_upn_upn_offset, {
+ "UPN Offset", "kerberos.pac.upn.upn_offset", FT_UINT16, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_upn_len, {
+ "UPN Len", "kerberos.pac.upn.upn_len", FT_UINT16, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_upn_name, {
+ "UPN Name", "kerberos.pac.upn.upn_name", FT_STRING, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_dns_offset, {
+ "DNS Offset", "kerberos.pac.upn.dns_offset", FT_UINT16, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_dns_len, {
+ "DNS Len", "kerberos.pac.upn.dns_len", FT_UINT16, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_dns_name, {
+ "DNS Name", "kerberos.pac.upn.dns_name", FT_STRING, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_samaccountname_offset, {
+ "sAMAccountName Offset", "kerberos.pac.upn.samaccountname_offset", FT_UINT16, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_samaccountname_len, {
+ "sAMAccountName Len", "kerberos.pac.upn.samaccountname_len", FT_UINT16, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_samaccountname, {
+ "sAMAccountName", "kerberos.pac.upn.samaccountname", FT_STRING, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_objectsid_offset, {
+ "objectSid Offset", "kerberos.pac.upn.objectsid_offset", FT_UINT16, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_upn_objectsid_len, {
+ "objectSid Len", "kerberos.pac.upn.objectsid_len", FT_UINT16, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_client_claims_info, {
+ "PAC_CLIENT_CLAIMS_INFO", "kerberos.pac_client_claims_info", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_CLIENT_CLAIMS_INFO structure", HFILL }},
+ { &hf_krb_pac_device_info, {
+ "PAC_DEVICE_INFO", "kerberos.pac_device_info", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_DEVICE_INFO structure", HFILL }},
+ { &hf_krb_pac_device_claims_info, {
+ "PAC_DEVICE_CLAIMS_INFO", "kerberos.pac_device_claims_info", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_DEVICE_CLAIMS_INFO structure", HFILL }},
+ { &hf_krb_pac_ticket_checksum, {
+ "PAC_TICKET_CHECKSUM", "kerberos.pac_ticket_checksum", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_TICKET_CHECKSUM structure", HFILL }},
+ { &hf_krb_pac_attributes_info, {
+ "PAC_ATTRIBUTES_INFO", "kerberos.pac_attributes_info", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_ATTRIBUTES_INFO structure", HFILL }},
+ { &hf_krb_pac_attributes_info_length, {
+ "Flags Valid Length", "kerberos.pac.attributes_info.length", FT_UINT32, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_attributes_info_flags, {
+ "Flags", "kerberos.pac.attributes_info.flags",
+ FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_krb_pac_attributes_info_flags_pac_was_requested, {
+ "PAC Requested",
+ "kerberos.pac.attributes.flags.pac_was_requested",
+ FT_BOOLEAN, 32,
+ TFS(&tfs_krb_pac_attributes_info_pac_was_requested),
+ PAC_ATTRIBUTE_FLAG_PAC_WAS_REQUESTED,
+ "Was a PAC requested?", HFILL }},
+ { &hf_krb_pac_attributes_info_flags_pac_was_given_implicitly, {
+ "PAC given Implicitly",
+ "kerberos.pac.attributes.flags.pac_was_given_implicitly",
+ FT_BOOLEAN, 32,
+ TFS(&tfs_krb_pac_attributes_info_pac_was_given_implicitly),
+ PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY,
+ "Was PAC given implicitly?", HFILL }},
+ { &hf_krb_pac_requester_sid, {
+ "PAC_REQUESTER_SID", "kerberos.pac_requester_sid", FT_BYTES, BASE_NONE,
+ NULL, 0, "PAC_REQUESTER_SID structure", HFILL }},
+ { &hf_krb_pa_supported_enctypes,
+ { "SupportedEnctypes", "kerberos.supported_entypes",
+ FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_krb_pa_supported_enctypes_des_cbc_crc,
+ { "des-cbc-crc", "kerberos.supported_entypes.des-cbc-crc",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000001, NULL, HFILL }},
+ { &hf_krb_pa_supported_enctypes_des_cbc_md5,
+ { "des-cbc-md5", "kerberos.supported_entypes.des-cbc-md5",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000002, NULL, HFILL }},
+ { &hf_krb_pa_supported_enctypes_rc4_hmac,
+ { "rc4-hmac", "kerberos.supported_entypes.rc4-hmac",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000004, NULL, HFILL }},
+ { &hf_krb_pa_supported_enctypes_aes128_cts_hmac_sha1_96,
+ { "aes128-cts-hmac-sha1-96", "kerberos.supported_entypes.aes128-cts-hmac-sha1-96",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000008, NULL, HFILL }},
+ { &hf_krb_pa_supported_enctypes_aes256_cts_hmac_sha1_96,
+ { "aes256-cts-hmac-sha1-96", "kerberos.supported_entypes.aes256-cts-hmac-sha1-96",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000010, NULL, HFILL }},
+ { &hf_krb_pa_supported_enctypes_fast_supported,
+ { "fast-supported", "kerberos.supported_entypes.fast-supported",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00010000, NULL, HFILL }},
+ { &hf_krb_pa_supported_enctypes_compound_identity_supported,
+ { "compound-identity-supported", "kerberos.supported_entypes.compound-identity-supported",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00020000, NULL, HFILL }},
+ { &hf_krb_pa_supported_enctypes_claims_supported,
+ { "claims-supported", "kerberos.supported_entypes.claims-supported",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00040000, NULL, HFILL }},
+ { &hf_krb_pa_supported_enctypes_resource_sid_compression_disabled,
+ { "resource-sid-compression-disabled", "kerberos.supported_entypes.resource-sid-compression-disabled",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00080000, NULL, HFILL }},
+ { &hf_krb_ad_ap_options,
+ { "AD-AP-Options", "kerberos.ad_ap_options",
+ FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_krb_ad_ap_options_cbt,
+ { "ChannelBindings", "kerberos.ad_ap_options.cbt",
+ FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x00004000, NULL, HFILL }},
+ { &hf_krb_ad_target_principal,
+ { "Target Principal", "kerberos.ad_target_principal",
+ FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_krb_key_hidden_item,
+ { "KeyHiddenItem", "krb5.key_hidden_item",
+ FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_kerberos_KERB_TICKET_LOGON,
+ { "KERB_TICKET_LOGON", "kerberos.KERB_TICKET_LOGON",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_kerberos_KERB_TICKET_LOGON_MessageType,
+ { "MessageType", "kerberos.KERB_TICKET_LOGON.MessageType",
+ FT_UINT32, BASE_DEC, VALS(KERB_LOGON_SUBMIT_TYPE), 0,
+ NULL, HFILL }},
+ { &hf_kerberos_KERB_TICKET_LOGON_Flags,
+ { "Flags", "kerberos.KERB_TICKET_LOGON.Flags",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_kerberos_KERB_TICKET_LOGON_ServiceTicketLength,
+ { "ServiceTicketLength", "kerberos.KERB_TICKET_LOGON.ServiceTicketLength",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_kerberos_KERB_TICKET_LOGON_TicketGrantingTicketLength,
+ { "TicketGrantingTicketLength", "kerberos.KERB_TICKET_LOGON.TicketGrantingTicketLength",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_kerberos_KERB_TICKET_LOGON_ServiceTicket,
+ { "ServiceTicket", "kerberos.KERB_TICKET_LOGON.ServiceTicket",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_kerberos_KERB_TICKET_LOGON_TicketGrantingTicket,
+ { "TicketGrantingTicket", "kerberos.KERB_TICKET_LOGON.TicketGrantingTicket",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_kerberos_KERB_TICKET_LOGON_FLAG_ALLOW_EXPIRED_TICKET,
+ { "allow_expired_ticket", "kerberos.KERB_TICKET_LOGON.FLAG_ALLOW_EXPIRED_TICKET",
+ FT_BOOLEAN, 32, NULL, KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET,
+ NULL, HFILL }},
+ { &hf_kerberos_KERB_TICKET_LOGON_FLAG_REDIRECTED,
+ { "redirected", "kerberos.KERB_TICKET_LOGON.FLAG_REDIRECTED",
+ FT_BOOLEAN, 32, NULL, KERB_LOGON_FLAG_REDIRECTED,
+ NULL, HFILL }},
+#ifdef HAVE_KERBEROS
+ { &hf_kerberos_KrbFastResponse,
+ { "KrbFastResponse", "kerberos.KrbFastResponse_element",
+ FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_kerberos_strengthen_key,
+ { "strengthen-key", "kerberos.strengthen_key_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_kerberos_finished,
+ { "finished", "kerberos.finished_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "KrbFastFinished", HFILL }},
+ { &hf_kerberos_fast_options,
+ { "fast-options", "kerberos.fast_options",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "FastOptions", HFILL }},
+ { &hf_kerberos_FastOptions_reserved,
+ { "reserved", "kerberos.FastOptions.reserved",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_hide_client_names,
+ { "hide-client-names", "kerberos.FastOptions.hide.client.names",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit2,
+ { "spare_bit2", "kerberos.FastOptions.spare.bit2",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit3,
+ { "spare_bit3", "kerberos.FastOptions.spare.bit3",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit4,
+ { "spare_bit4", "kerberos.FastOptions.spare.bit4",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit5,
+ { "spare_bit5", "kerberos.FastOptions.spare.bit5",
+ FT_BOOLEAN, 8, NULL, 0x04,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit6,
+ { "spare_bit6", "kerberos.FastOptions.spare.bit6",
+ FT_BOOLEAN, 8, NULL, 0x02,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit7,
+ { "spare_bit7", "kerberos.FastOptions.spare.bit7",
+ FT_BOOLEAN, 8, NULL, 0x01,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit8,
+ { "spare_bit8", "kerberos.FastOptions.spare.bit8",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit9,
+ { "spare_bit9", "kerberos.FastOptions.spare.bit9",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit10,
+ { "spare_bit10", "kerberos.FastOptions.spare.bit10",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit11,
+ { "spare_bit11", "kerberos.FastOptions.spare.bit11",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit12,
+ { "spare_bit12", "kerberos.FastOptions.spare.bit12",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit13,
+ { "spare_bit13", "kerberos.FastOptions.spare.bit13",
+ FT_BOOLEAN, 8, NULL, 0x04,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit14,
+ { "spare_bit14", "kerberos.FastOptions.spare.bit14",
+ FT_BOOLEAN, 8, NULL, 0x02,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_spare_bit15,
+ { "spare_bit15", "kerberos.FastOptions.spare.bit15",
+ FT_BOOLEAN, 8, NULL, 0x01,
+ NULL, HFILL }},
+ { &hf_kerberos_FastOptions_kdc_follow_referrals,
+ { "kdc-follow-referrals", "kerberos.FastOptions.kdc.follow.referrals",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_kerberos_ticket_checksum,
+ { "ticket-checksum", "kerberos.ticket_checksum_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Checksum", HFILL }},
+ { &hf_krb_patimestamp,
+ { "patimestamp", "kerberos.patimestamp",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }},
+ { &hf_krb_pausec,
+ { "pausec", "kerberos.pausec",
+ FT_UINT32, BASE_DEC, NULL, 0, "Microseconds", HFILL }},
+#endif /* HAVE_KERBEROS */
+
+#include "packet-kerberos-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_kerberos,
+ &ett_krb_recordmark,
+ &ett_krb_pac,
+ &ett_krb_pac_drep,
+ &ett_krb_pac_midl_blob,
+ &ett_krb_pac_logon_info,
+ &ett_krb_pac_credential_info,
+ &ett_krb_pac_s4u_delegation_info,
+ &ett_krb_pac_upn_dns_info,
+ &ett_krb_pac_upn_dns_info_flags,
+ &ett_krb_pac_device_info,
+ &ett_krb_pac_server_checksum,
+ &ett_krb_pac_privsvr_checksum,
+ &ett_krb_pac_client_info_type,
+ &ett_krb_pac_ticket_checksum,
+ &ett_krb_pac_attributes_info,
+ &ett_krb_pac_attributes_info_flags,
+ &ett_krb_pac_requester_sid,
+ &ett_krb_pa_supported_enctypes,
+ &ett_krb_ad_ap_options,
+ &ett_kerberos_KERB_TICKET_LOGON,
+#ifdef HAVE_KERBEROS
+ &ett_krb_pa_enc_ts_enc,
+ &ett_kerberos_KrbFastFinished,
+ &ett_kerberos_KrbFastResponse,
+ &ett_kerberos_KrbFastReq,
+ &ett_kerberos_FastOptions,
+#endif
+#include "packet-kerberos-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_kerberos_missing_keytype, { "kerberos.missing_keytype", PI_DECRYPTION, PI_WARN, "Missing keytype", EXPFILL }},
+ { &ei_kerberos_decrypted_keytype, { "kerberos.decrypted_keytype", PI_SECURITY, PI_CHAT, "Decrypted keytype", EXPFILL }},
+ { &ei_kerberos_learnt_keytype, { "kerberos.learnt_keytype", PI_SECURITY, PI_CHAT, "Learnt keytype", EXPFILL }},
+ { &ei_kerberos_address, { "kerberos.address.unknown", PI_UNDECODED, PI_WARN, "KRB Address: I don't know how to parse this type of address yet", EXPFILL }},
+ { &ei_krb_gssapi_dlglen, { "kerberos.gssapi.dlglen.error", PI_MALFORMED, PI_ERROR, "DlgLen is not the same as number of bytes remaining", EXPFILL }},
+ };
+
+ expert_module_t* expert_krb;
+ module_t *krb_module;
+
+ proto_kerberos = proto_register_protocol("Kerberos", "KRB5", "kerberos");
+ proto_register_field_array(proto_kerberos, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_krb = expert_register_protocol(proto_kerberos);
+ expert_register_field_array(expert_krb, ei, array_length(ei));
+
+ /* Register dissectors */
+ kerberos_handle_udp = register_dissector("kerberos.udp", dissect_kerberos_udp, proto_kerberos);
+ kerberos_handle_tcp = register_dissector("kerberos.tcp", dissect_kerberos_tcp, proto_kerberos);
+
+ /* Register preferences */
+ krb_module = prefs_register_protocol(proto_kerberos, kerberos_prefs_apply_cb);
+ prefs_register_bool_preference(krb_module, "desegment",
+ "Reassemble Kerberos over TCP messages spanning multiple TCP segments",
+ "Whether the Kerberos dissector should reassemble messages spanning multiple TCP segments."
+ " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &krb_desegment);
+#ifdef HAVE_KERBEROS
+ prefs_register_bool_preference(krb_module, "decrypt",
+ "Try to decrypt Kerberos blobs",
+ "Whether the dissector should try to decrypt "
+ "encrypted Kerberos blobs. This requires that the proper "
+ "keytab file is installed as well.", &krb_decrypt);
+
+ prefs_register_filename_preference(krb_module, "file",
+ "Kerberos keytab file",
+ "The keytab file containing all the secrets",
+ &keytab_filename, FALSE);
+
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+ wmem_register_callback(wmem_epan_scope(), enc_key_list_cb, NULL);
+ kerberos_longterm_keys = wmem_map_new(wmem_epan_scope(),
+ enc_key_content_hash,
+ enc_key_content_equal);
+ kerberos_all_keys = wmem_map_new_autoreset(wmem_epan_scope(),
+ wmem_file_scope(),
+ enc_key_content_hash,
+ enc_key_content_equal);
+ kerberos_app_session_keys = wmem_map_new_autoreset(wmem_epan_scope(),
+ wmem_file_scope(),
+ enc_key_content_hash,
+ enc_key_content_equal);
+#endif /* defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS) */
+#endif /* HAVE_KERBEROS */
+
+}
+static int wrap_dissect_gss_kerb(tvbuff_t *tvb, int offset, packet_info *pinfo,
+ proto_tree *tree, dcerpc_info *di _U_,guint8 *drep _U_)
+{
+ tvbuff_t *auth_tvb;
+
+ auth_tvb = tvb_new_subset_remaining(tvb, offset);
+
+ dissect_kerberos_main(auth_tvb, pinfo, tree, FALSE, NULL);
+
+ return tvb_captured_length_remaining(tvb, offset);
+}
+
+
+static dcerpc_auth_subdissector_fns gss_kerb_auth_connect_fns = {
+ wrap_dissect_gss_kerb, /* Bind */
+ wrap_dissect_gss_kerb, /* Bind ACK */
+ wrap_dissect_gss_kerb, /* AUTH3 */
+ NULL, /* Request verifier */
+ NULL, /* Response verifier */
+ NULL, /* Request data */
+ NULL /* Response data */
+};
+
+static dcerpc_auth_subdissector_fns gss_kerb_auth_sign_fns = {
+ wrap_dissect_gss_kerb, /* Bind */
+ wrap_dissect_gss_kerb, /* Bind ACK */
+ wrap_dissect_gss_kerb, /* AUTH3 */
+ wrap_dissect_gssapi_verf, /* Request verifier */
+ wrap_dissect_gssapi_verf, /* Response verifier */
+ NULL, /* Request data */
+ NULL /* Response data */
+};
+
+static dcerpc_auth_subdissector_fns gss_kerb_auth_seal_fns = {
+ wrap_dissect_gss_kerb, /* Bind */
+ wrap_dissect_gss_kerb, /* Bind ACK */
+ wrap_dissect_gss_kerb, /* AUTH3 */
+ wrap_dissect_gssapi_verf, /* Request verifier */
+ wrap_dissect_gssapi_verf, /* Response verifier */
+ wrap_dissect_gssapi_payload, /* Request data */
+ wrap_dissect_gssapi_payload /* Response data */
+};
+
+
+
+void
+proto_reg_handoff_kerberos(void)
+{
+ krb4_handle = find_dissector_add_dependency("krb4", proto_kerberos);
+
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_KERBEROS, kerberos_handle_udp);
+ dissector_add_uint_with_preference("tcp.port", TCP_PORT_KERBEROS, kerberos_handle_tcp);
+
+ register_dcerpc_auth_subdissector(DCE_C_AUTHN_LEVEL_CONNECT,
+ DCE_C_RPC_AUTHN_PROTOCOL_GSS_KERBEROS,
+ &gss_kerb_auth_connect_fns);
+
+ register_dcerpc_auth_subdissector(DCE_C_AUTHN_LEVEL_PKT_INTEGRITY,
+ DCE_C_RPC_AUTHN_PROTOCOL_GSS_KERBEROS,
+ &gss_kerb_auth_sign_fns);
+
+ register_dcerpc_auth_subdissector(DCE_C_AUTHN_LEVEL_PKT_PRIVACY,
+ DCE_C_RPC_AUTHN_PROTOCOL_GSS_KERBEROS,
+ &gss_kerb_auth_seal_fns);
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 8
+ * tab-width: 8
+ * indent-tabs-mode: t
+ * End:
+ *
+ * vi: set shiftwidth=8 tabstop=8 noexpandtab:
+ * :indentSize=8:tabSize=8:noTabs=false:
+ */
diff --git a/epan/dissectors/asn1/kerberos/packet-kerberos-template.h b/epan/dissectors/asn1/kerberos/packet-kerberos-template.h
new file mode 100644
index 00000000..4f776ae9
--- /dev/null
+++ b/epan/dissectors/asn1/kerberos/packet-kerberos-template.h
@@ -0,0 +1,134 @@
+/* packet-kerberos.h
+ * Routines for kerberos packet dissection
+ * Copyright 2007, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef __PACKET_KERBEROS_H
+#define __PACKET_KERBEROS_H
+
+#include "ws_symbol_export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#ifndef KRB5_KU_USAGE_ACCEPTOR_SEAL
+#define KRB5_KU_USAGE_ACCEPTOR_SEAL 22
+#endif
+#ifndef KRB5_KU_USAGE_ACCEPTOR_SIGN
+#define KRB5_KU_USAGE_ACCEPTOR_SIGN 23
+#endif
+#ifndef KRB5_KU_USAGE_INITIATOR_SEAL
+#define KRB5_KU_USAGE_INITIATOR_SEAL 24
+#endif
+#ifndef KRB5_KU_USAGE_INITIATOR_SIGN
+#define KRB5_KU_USAGE_INITIATOR_SIGN 25
+#endif
+
+/* This is a list of callback functions a caller can use to specify that
+ octet strings in kerberos to be passed back to application specific
+ dissectors, outside of kerberos.
+ This is used for dissection of application specific data for PacketCable
+ KRB_SAFE user data and eventually to pass kerberos session keys
+ to future DCERPC decryption and other uses.
+ The list is terminated by {0, NULL }
+*/
+#define KRB_CBTAG_SAFE_USER_DATA 1
+#define KRB_CBTAG_PRIV_USER_DATA 2
+typedef struct _kerberos_callbacks {
+ int tag;
+ int (*callback)(packet_info *pinfo, tvbuff_t *tvb, proto_tree *tree);
+} kerberos_callbacks;
+
+/* Function prototypes */
+
+gboolean
+kerberos_is_win2k_pkinit(asn1_ctx_t *actx);
+
+gint
+dissect_kerberos_main(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean do_col_info, kerberos_callbacks *cb);
+
+int
+dissect_krb5_Checksum(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+
+int
+dissect_krb5_ctime(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+
+int dissect_krb5_cname(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+int dissect_krb5_realm(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+guint32 kerberos_output_keytype(void);
+
+guint get_krb_pdu_len(packet_info *, tvbuff_t *tvb, int offset, void *data _U_);
+
+gint kerberos_rm_to_reclen(guint krb_rm);
+
+void
+show_krb_recordmark(proto_tree *tree, tvbuff_t *tvb, gint start, guint32 krb_rm);
+
+int
+dissect_kerberos_KERB_TICKET_LOGON(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree);
+
+#ifdef HAVE_KERBEROS
+#define KRB_MAX_ORIG_LEN 256
+#define KRB_MAX_KEY_LENGTH 32
+/*
+ * "18446744073709551615.18446744073709551615"
+ * sizeof("18446744073709551615") includes '\0',
+ * which is used once for '.' and then for '\0'.
+ */
+#define KRB_MAX_ID_STR_LEN (sizeof("18446744073709551615")*2)
+
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+typedef struct _enc_key_t {
+ struct _enc_key_t *next;
+ int keytype;
+ int keylength;
+ guint8 keyvalue[KRB_MAX_KEY_LENGTH];
+ char key_origin[KRB_MAX_ORIG_LEN+1];
+ int fd_num; /* remember where we learned a key */
+ guint id; /* a unique id of the key, relative to fd_num */
+ char id_str[KRB_MAX_ID_STR_LEN+1];
+ struct _enc_key_t *same_list;
+ guint num_same;
+ struct _enc_key_t *src1;
+ struct _enc_key_t *src2;
+} enc_key_t;
+extern enc_key_t *enc_key_list;
+extern wmem_map_t *kerberos_longterm_keys;
+
+guint8 *
+decrypt_krb5_data(proto_tree *tree, packet_info *pinfo,
+ int usage,
+ tvbuff_t *crypototvb,
+ int keytype,
+ int *datalen);
+
+tvbuff_t *
+decrypt_krb5_krb_cfx_dce(proto_tree *tree,
+ packet_info *pinfo,
+ int usage,
+ int keytype,
+ tvbuff_t *gssapi_header_tvb,
+ tvbuff_t *gssapi_encrypted_tvb,
+ tvbuff_t *gssapi_trailer_tvb,
+ tvbuff_t *checksum_tvb);
+
+#endif /* HAVE_HEIMDAL_KERBEROS || HAVE_MIT_KERBEROS */
+
+extern gboolean krb_decrypt;
+
+#endif /* HAVE_KERBEROS */
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#include "packet-kerberos-exp.h"
+
+#endif /* __PACKET_KERBEROS_H */
diff --git a/epan/dissectors/asn1/kpm-v2/CMakeLists.txt b/epan/dissectors/asn1/kpm-v2/CMakeLists.txt
new file mode 100644
index 00000000..f21e68ac
--- /dev/null
+++ b/epan/dissectors/asn1/kpm-v2/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME kpm-v2 )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ e2sm-kpm-v2.02.asn
+ e2sm-v3.01.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/kpm-v2/e2sm-kpm-v2.02.asn b/epan/dissectors/asn1/kpm-v2/e2sm-kpm-v2.02.asn
new file mode 100644
index 00000000..5555ed72
--- /dev/null
+++ b/epan/dissectors/asn1/kpm-v2/e2sm-kpm-v2.02.asn
@@ -0,0 +1,384 @@
+-- ASN1START
+-- **************************************************************
+-- E2SM-KPM Information Element Definitions
+-- **************************************************************
+
+E2SM-KPM-IEs {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) oran(53148) e2(1) version2(2) e2sm(2) e2sm-KPMMON-IEs (2)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+-- IEs
+-- **************************************************************
+
+IMPORTS
+ CGI,
+ FiveQI,
+ PLMNIdentity,
+ QCI,
+ QosFlowIdentifier,
+ RANfunction-Name,
+ RIC-Format-Type,
+ RIC-Style-Name,
+ RIC-Style-Type,
+ S-NSSAI,
+ UEID
+FROM E2SM-COMMON-IEs;
+
+TimeStamp ::= OCTET STRING (SIZE(4))
+
+GranularityPeriod ::= INTEGER (1.. 4294967295)
+
+MeasurementType ::= CHOICE {
+ measName MeasurementTypeName,
+ measID MeasurementTypeID,
+ ...
+}
+
+MeasurementTypeName ::= PrintableString(SIZE(1.. 150, ...))
+
+MeasurementTypeID ::= INTEGER (1.. 65536, ...)
+
+MeasurementLabel ::= SEQUENCE {
+ noLabel ENUMERATED {true, ...} OPTIONAL,
+ -- TODO: changed from PLMNIdentity and S-NSSAI
+ plmnID PLMNIdentity OPTIONAL,
+ sliceID S-NSSAI OPTIONAL,
+ fiveQI FiveQI OPTIONAL,
+ qFI QosFlowIdentifier OPTIONAL,
+ qCI QCI OPTIONAL,
+ qCImax QCI OPTIONAL,
+ qCImin QCI OPTIONAL,
+ aRPmax INTEGER (1.. 15, ...) OPTIONAL,
+ aRPmin INTEGER (1.. 15, ...) OPTIONAL,
+ bitrateRange INTEGER (1.. 65535, ...) OPTIONAL,
+ layerMU-MIMO INTEGER (1.. 65535, ...) OPTIONAL,
+ sUM ENUMERATED {true, ...} OPTIONAL,
+ distBinX INTEGER (1.. 65535, ...) OPTIONAL,
+ distBinY INTEGER (1.. 65535, ...) OPTIONAL,
+ distBinZ INTEGER (1.. 65535, ...) OPTIONAL,
+ preLabelOverride ENUMERATED {true, ...} OPTIONAL,
+ startEndInd ENUMERATED {start, end, ...} OPTIONAL,
+ min ENUMERATED {true, ...} OPTIONAL,
+ max ENUMERATED {true, ...} OPTIONAL,
+ avg ENUMERATED {true, ...} OPTIONAL,
+ ...
+}
+
+TestCondInfo ::= SEQUENCE{
+ testType TestCond-Type,
+ testExpr TestCond-Expression OPTIONAL,
+ testValue TestCond-Value OPTIONAL,
+ ...
+}
+
+TestCond-Type ::= CHOICE{
+ gBR ENUMERATED {true, ...},
+ aMBR ENUMERATED {true, ...},
+ isStat ENUMERATED {true, ...},
+ isCatM ENUMERATED {true, ...},
+ rSRP ENUMERATED {true, ...},
+ rSRQ ENUMERATED {true, ...},
+ ...,
+ ul-rSRP ENUMERATED {true, ...},
+ cQI ENUMERATED {true, ...},
+ fiveQI ENUMERATED {true, ...},
+ qCI ENUMERATED {true, ...},
+ sNSSAI ENUMERATED {true, ...}
+}
+
+TestCond-Expression ::= ENUMERATED {
+ equal,
+ greaterthan,
+ lessthan,
+ contains,
+ present,
+ ...
+}
+
+TestCond-Value ::= CHOICE{
+ valueInt INTEGER,
+ valueEnum INTEGER,
+ valueBool BOOLEAN,
+ valueBitS BIT STRING,
+ valueOctS OCTET STRING,
+ valuePrtS PrintableString,
+ ...,
+ valueReal REAL
+}
+
+
+
+-- **************************************************************
+-- Lists
+-- **************************************************************
+
+maxnoofCells INTEGER ::= 16384
+maxnoofRICStyles INTEGER ::= 63
+maxnoofMeasurementInfo INTEGER ::= 65535
+maxnoofLabelInfo INTEGER ::= 2147483647
+maxnoofMeasurementRecord INTEGER ::= 65535
+maxnoofMeasurementValue INTEGER ::= 2147483647
+maxnoofConditionInfo INTEGER ::= 32768
+maxnoofUEID INTEGER ::= 65535
+maxnoofConditionInfoPerSub INTEGER ::= 32768
+maxnoofUEIDPerSub INTEGER ::= 65535
+maxnoofUEMeasReport INTEGER ::= 65535
+
+
+MeasurementInfoList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementInfoItem
+
+MeasurementInfoItem ::= SEQUENCE {
+ measType MeasurementType,
+ labelInfoList LabelInfoList,
+ ...
+}
+
+LabelInfoList ::= SEQUENCE (SIZE(1..maxnoofLabelInfo)) OF LabelInfoItem
+
+LabelInfoItem ::= SEQUENCE {
+ measLabel MeasurementLabel,
+ ...
+}
+
+MeasurementData ::= SEQUENCE (SIZE(1..maxnoofMeasurementRecord)) OF MeasurementDataItem
+
+MeasurementDataItem ::= SEQUENCE {
+ measRecord MeasurementRecord,
+ incompleteFlag ENUMERATED {true, ...} OPTIONAL,
+ ...
+}
+
+MeasurementRecord ::= SEQUENCE (SIZE(1..maxnoofMeasurementValue)) OF MeasurementRecordItem
+
+MeasurementRecordItem ::= CHOICE {
+ integer INTEGER (0.. 4294967295),
+ real REAL,
+ noValue NULL,
+ ...
+}
+
+MeasurementInfo-Action-List ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementInfo-Action-Item
+
+MeasurementInfo-Action-Item ::= SEQUENCE {
+ measName MeasurementTypeName,
+ measID MeasurementTypeID OPTIONAL,
+ ...
+}
+
+MeasurementCondList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementCondItem
+
+MeasurementCondItem ::= SEQUENCE {
+ measType MeasurementType,
+ matchingCond MatchingCondList,
+ ...
+}
+
+MeasurementCondUEidList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementCondUEidItem
+
+MeasurementCondUEidItem ::= SEQUENCE {
+ measType MeasurementType,
+ matchingCond MatchingCondList,
+ matchingUEidList MatchingUEidList OPTIONAL,
+ ...
+}
+
+MatchingCondList ::= SEQUENCE (SIZE(1..maxnoofConditionInfo)) OF MatchingCondItem
+
+MatchingCondItem ::= CHOICE{
+ measLabel MeasurementLabel,
+ testCondInfo TestCondInfo,
+ ...
+}
+
+MatchingUEidList ::= SEQUENCE (SIZE(1..maxnoofUEID)) OF MatchingUEidItem
+
+MatchingUEidItem ::= SEQUENCE{
+ ueID UEID,
+ ...
+}
+
+MatchingUeCondPerSubList ::= SEQUENCE (SIZE(1..maxnoofConditionInfoPerSub)) OF MatchingUeCondPerSubItem
+
+MatchingUeCondPerSubItem ::= SEQUENCE{
+ testCondInfo TestCondInfo,
+ ...
+}
+
+MatchingUEidPerSubList ::= SEQUENCE (SIZE(2..maxnoofUEIDPerSub)) OF MatchingUEidPerSubItem
+
+MatchingUEidPerSubItem ::= SEQUENCE{
+ ueID UEID,
+ ...
+}
+
+UEMeasurementReportList ::= SEQUENCE (SIZE(1..maxnoofUEMeasReport)) OF UEMeasurementReportItem
+
+UEMeasurementReportItem ::= SEQUENCE{
+ ueID UEID,
+ measReport E2SM-KPM-IndicationMessage-Format1,
+ ...
+}
+
+
+
+-- **************************************************************
+-- E2SM-KPM Service Model IEs
+-- **************************************************************
+
+ -- **************************************************************
+-- Event Trigger Definition OCTET STRING contents
+-- **************************************************************
+
+E2SM-KPM-EventTriggerDefinition ::= SEQUENCE{
+ eventDefinition-formats CHOICE{
+ eventDefinition-Format1 E2SM-KPM-EventTriggerDefinition-Format1,
+ ...
+ },
+ ...
+}
+
+E2SM-KPM-EventTriggerDefinition-Format1 ::= SEQUENCE{
+ reportingPeriod INTEGER (1.. 4294967295),
+ ...
+}
+
+-- **************************************************************
+-- Action Definition OCTET STRING contents
+-- **************************************************************
+
+E2SM-KPM-ActionDefinition ::= SEQUENCE{
+ ric-Style-Type RIC-Style-Type,
+ actionDefinition-formats CHOICE{
+ actionDefinition-Format1 E2SM-KPM-ActionDefinition-Format1,
+ actionDefinition-Format2 E2SM-KPM-ActionDefinition-Format2,
+ actionDefinition-Format3 E2SM-KPM-ActionDefinition-Format3,
+ ...,
+ actionDefinition-Format4 E2SM-KPM-ActionDefinition-Format4,
+ actionDefinition-Format5 E2SM-KPM-ActionDefinition-Format5
+ },
+ ...
+}
+
+E2SM-KPM-ActionDefinition-Format1 ::= SEQUENCE {
+ measInfoList MeasurementInfoList,
+ granulPeriod GranularityPeriod,
+ cellGlobalID CGI OPTIONAL,
+ ...
+}
+
+E2SM-KPM-ActionDefinition-Format2 ::= SEQUENCE {
+ ueID UEID,
+ subscriptInfo E2SM-KPM-ActionDefinition-Format1,
+ ...
+}
+
+E2SM-KPM-ActionDefinition-Format3 ::= SEQUENCE {
+ measCondList MeasurementCondList,
+ granulPeriod GranularityPeriod,
+ cellGlobalID CGI OPTIONAL,
+ ...
+}
+
+E2SM-KPM-ActionDefinition-Format4 ::= SEQUENCE {
+ matchingUeCondList MatchingUeCondPerSubList,
+ subscriptionInfo E2SM-KPM-ActionDefinition-Format1,
+ ...
+}
+
+E2SM-KPM-ActionDefinition-Format5 ::= SEQUENCE {
+ matchingUEidList MatchingUEidPerSubList,
+ subscriptionInfo E2SM-KPM-ActionDefinition-Format1,
+ ...
+}
+
+
+-- **************************************************************
+-- Indication Header OCTET STRING contents
+-- **************************************************************
+
+E2SM-KPM-IndicationHeader ::= SEQUENCE{
+ indicationHeader-formats CHOICE{
+ indicationHeader-Format1 E2SM-KPM-IndicationHeader-Format1,
+ ...
+ },
+ ...
+}
+
+E2SM-KPM-IndicationHeader-Format1 ::= SEQUENCE{
+ colletStartTime TimeStamp,
+ fileFormatversion PrintableString (SIZE (0..15), ...) OPTIONAL,
+ senderName PrintableString (SIZE (0..400), ...) OPTIONAL,
+ senderType PrintableString (SIZE (0..8), ...) OPTIONAL,
+ vendorName PrintableString (SIZE (0..32), ...) OPTIONAL,
+ ...
+}
+
+-- **************************************************************
+-- Indication Message OCTET STRING contents
+-- **************************************************************
+
+E2SM-KPM-IndicationMessage ::= SEQUENCE{
+ indicationMessage-formats CHOICE{
+ indicationMessage-Format1 E2SM-KPM-IndicationMessage-Format1,
+ indicationMessage-Format2 E2SM-KPM-IndicationMessage-Format2,
+ ...,
+ indicationMessage-Format3 E2SM-KPM-IndicationMessage-Format3
+ },
+ ...
+}
+
+E2SM-KPM-IndicationMessage-Format1 ::= SEQUENCE {
+ measData MeasurementData,
+ measInfoList MeasurementInfoList OPTIONAL,
+ granulPeriod GranularityPeriod OPTIONAL,
+ ...
+}
+
+E2SM-KPM-IndicationMessage-Format2 ::= SEQUENCE {
+ measData MeasurementData,
+ measCondUEidList MeasurementCondUEidList,
+ granulPeriod GranularityPeriod OPTIONAL,
+ ...
+}
+
+E2SM-KPM-IndicationMessage-Format3 ::= SEQUENCE {
+ ueMeasReportList UEMeasurementReportList,
+ ...
+}
+
+
+-- ***************************************************************
+-- RAN Function Definition OCTET STRING contents
+-- ***************************************************************
+
+E2SM-KPM-RANfunction-Description ::= SEQUENCE{
+ ranFunction-Name RANfunction-Name,
+ ric-EventTriggerStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RIC-EventTriggerStyle-Item OPTIONAL,
+ ric-ReportStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RIC-ReportStyle-Item OPTIONAL,
+ ...
+}
+
+RIC-EventTriggerStyle-Item ::= SEQUENCE{
+ ric-EventTriggerStyle-Type RIC-Style-Type,
+ ric-EventTriggerStyle-Name RIC-Style-Name,
+ ric-EventTriggerFormat-Type RIC-Format-Type,
+ ...
+}
+
+RIC-ReportStyle-Item ::= SEQUENCE{
+ ric-ReportStyle-Type RIC-Style-Type,
+ ric-ReportStyle-Name RIC-Style-Name,
+ ric-ActionFormat-Type RIC-Format-Type,
+ measInfo-Action-List MeasurementInfo-Action-List,
+ ric-IndicationHeaderFormat-Type RIC-Format-Type,
+ ric-IndicationMessageFormat-Type RIC-Format-Type,
+ ...
+}
+
+END
+
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/kpm-v2/e2sm-v3.01.asn b/epan/dissectors/asn1/kpm-v2/e2sm-v3.01.asn
new file mode 100644
index 00000000..6a90cd48
--- /dev/null
+++ b/epan/dissectors/asn1/kpm-v2/e2sm-v3.01.asn
@@ -0,0 +1,388 @@
+-- ASN1START
+-- **************************************************************
+-- E2SM
+-- Information Element Definitions
+-- N.B. this is an edited version, only supplying what is needed for KPM-v2
+-- **************************************************************
+
+E2SM-COMMON-IEs {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2sm(2) e2sm-COMMON-IEs (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- --------------------------------------------------
+-- Constants
+-- --------------------------------------------------
+
+maxE1APid INTEGER ::= 65535
+maxF1APid INTEGER ::= 4
+
+-- IEs derived from 3GPP 36.423 (X2AP)
+maxEARFCN INTEGER ::= 65535
+
+-- IEs derived from 3GPP 38.473 (F1AP)
+maxNRARFCN INTEGER ::= 3279165
+maxnoofNrCellBands INTEGER ::= 32
+
+
+-- --------------------------------------------------
+-- E2SM Commmon IEs
+-- --------------------------------------------------
+
+CGI ::= CHOICE {
+ nR-CGI NR-CGI,
+ eUTRA-CGI EUTRA-CGI,
+ ...
+}
+
+
+RANfunction-Name ::= SEQUENCE{
+ ranFunction-ShortName PrintableString(SIZE(1..150,...)),
+ ranFunction-E2SM-OID PrintableString(SIZE(1..1000,...)),
+ ranFunction-Description PrintableString(SIZE(1..150,...)),
+ ranFunction-Instance INTEGER OPTIONAL,
+ ...
+}
+
+RIC-Format-Type ::= INTEGER
+
+RIC-Style-Type ::= INTEGER
+
+RIC-Style-Name ::= PrintableString(SIZE(1..150,...))
+
+UEID ::= CHOICE{
+ gNB-UEID UEID-GNB,
+ gNB-DU-UEID UEID-GNB-DU,
+ gNB-CU-UP-UEID UEID-GNB-CU-UP,
+ ng-eNB-UEID UEID-NG-ENB,
+ ng-eNB-DU-UEID UEID-NG-ENB-DU,
+ en-gNB-UEID UEID-EN-GNB,
+ eNB-UEID UEID-ENB,
+ ...
+}
+
+UEID-GNB ::= SEQUENCE{
+ amf-UE-NGAP-ID AMF-UE-NGAP-ID,
+ guami GUAMI,
+ gNB-CU-UE-F1AP-ID-List UEID-GNB-CU-F1AP-ID-List OPTIONAL,
+-- C-ifCUDUseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU separated gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. More than 1 F1AP ID shall be reported by E2 Node only when NR-DC is established.
+ gNB-CU-CP-UE-E1AP-ID-List UEID-GNB-CU-CP-E1AP-ID-List OPTIONAL,
+-- C-ifCPUPseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CP-UP separated gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+ ran-UEID RANUEID OPTIONAL,
+ m-NG-RAN-UE-XnAP-ID NG-RANnodeUEXnAPID OPTIONAL,
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by both MN and SN.
+ globalGNB-ID GlobalGNB-ID OPTIONAL,
+-- This IE shall not be used. This IE is replaced with globalNG-RANNode-ID.
+ ...,
+ globalNG-RANNode-ID GlobalNGRANNodeID OPTIONAL
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SN.
+}
+
+UEID-GNB-CU-CP-E1AP-ID-List ::= SEQUENCE (SIZE(1..maxE1APid)) OF UEID-GNB-CU-CP-E1AP-ID-Item
+
+UEID-GNB-CU-CP-E1AP-ID-Item ::= SEQUENCE{
+ gNB-CU-CP-UE-E1AP-ID GNB-CU-CP-UE-E1AP-ID,
+ ...
+}
+
+UEID-GNB-CU-F1AP-ID-List ::= SEQUENCE (SIZE(1..maxF1APid)) OF UEID-GNB-CU-CP-F1AP-ID-Item
+
+UEID-GNB-CU-CP-F1AP-ID-Item ::= SEQUENCE{
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
+ ...
+}
+
+UEID-GNB-DU ::= SEQUENCE{
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
+ ran-UEID RANUEID OPTIONAL,
+ ...
+}
+
+UEID-GNB-CU-UP ::= SEQUENCE{
+ gNB-CU-CP-UE-E1AP-ID GNB-CU-CP-UE-E1AP-ID,
+ ran-UEID RANUEID OPTIONAL,
+ ...
+}
+
+UEID-NG-ENB ::= SEQUENCE{
+ amf-UE-NGAP-ID AMF-UE-NGAP-ID,
+ guami GUAMI,
+ ng-eNB-CU-UE-W1AP-ID NGENB-CU-UE-W1AP-ID OPTIONAL,
+-- C-ifCUDUseperated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU seperated ng-eNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+ m-NG-RAN-UE-XnAP-ID NG-RANnodeUEXnAPID OPTIONAL,
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by both MN and SN.
+ globalNgENB-ID GlobalNgENB-ID OPTIONAL,
+-- This IE shall not be used. This IE is replaced with globalNG-RANNode-ID.
+ ...,
+ globalNG-RANNode-ID GlobalNGRANNodeID OPTIONAL
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SN.
+}
+
+
+UEID-NG-ENB-DU ::= SEQUENCE{
+ ng-eNB-CU-UE-W1AP-ID NGENB-CU-UE-W1AP-ID,
+ ...
+}
+
+UEID-EN-GNB ::= SEQUENCE{
+ m-eNB-UE-X2AP-ID ENB-UE-X2AP-ID,
+ m-eNB-UE-X2AP-ID-Extension ENB-UE-X2AP-ID-Extension OPTIONAL,
+ globalENB-ID GlobalENB-ID,
+ gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID OPTIONAL,
+-- C-ifCUDUseperated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU seperated en-gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+ gNB-CU-CP-UE-E1AP-ID-List UEID-GNB-CU-CP-E1AP-ID-List OPTIONAL,
+-- C-ifCPUPseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CP-UP separated en-gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+ ran-UEID RANUEID OPTIONAL,
+ ...
+}
+
+UEID-ENB ::= SEQUENCE{
+ mME-UE-S1AP-ID MME-UE-S1AP-ID,
+ gUMMEI GUMMEI,
+ m-eNB-UE-X2AP-ID ENB-UE-X2AP-ID OPTIONAL,
+-- This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by MeNB and SeNB.
+ m-eNB-UE-X2AP-ID-Extension ENB-UE-X2AP-ID-Extension OPTIONAL,
+ globalENB-ID GlobalENB-ID OPTIONAL,
+-- This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SeNB.
+ ...
+}
+
+-- **************************************************************
+-- 3GPP derived IEs
+-- **************************************************************
+-- NOTE:
+-- - Extension fields removed and replaced with "..."
+-- - IE names modified across all extracts to use "PLMNIdentity"
+
+-- **************************************************************
+-- IEs derived from 3GPP 36.413 (S1AP)
+-- **************************************************************
+-- **************************************************************
+
+-- copied from v16.5.0
+ENB-ID ::= CHOICE {
+ macro-eNB-ID BIT STRING (SIZE (20)),
+ home-eNB-ID BIT STRING (SIZE (28)),
+ ... ,
+ short-Macro-eNB-ID BIT STRING (SIZE(18)),
+ long-Macro-eNB-ID BIT STRING (SIZE(21))
+}
+
+-- copied from v16.5.0
+GlobalENB-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ eNB-ID ENB-ID,
+ ...
+}
+
+
+-- copied from v16.5.0
+GUMMEI ::= SEQUENCE {
+ pLMN-Identity PLMNIdentity,
+ mME-Group-ID MME-Group-ID,
+ mME-Code MME-Code,
+ ...
+}
+
+-- copied from v16.5.0
+MME-Group-ID ::= OCTET STRING (SIZE (2))
+
+-- copied from v16.5.0
+MME-Code ::= OCTET STRING (SIZE (1))
+
+-- copied from v16.5.0
+MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
+
+-- copied from v16.5.0
+QCI ::= INTEGER (0..255)
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 36.423 (X2AP)
+-- **************************************************************
+-- Extension fields removed.
+-- Note: to avoid duplicate names with NGAP, XnAP, etc.:
+-- GNB-ID renamed ENGNB-ID,
+-- GlobalGNB-ID renamed GlobalenGNB-ID,
+-- UE-X2AP-ID renamed ENB-UE-X2AP-ID
+-- UE-X2AP-ID-Extension renamed ENB-UE-X2AP-ID-Extension
+-- **************************************************************
+
+
+-- copied from v16.5.0
+ENB-UE-X2AP-ID ::= INTEGER (0..4095)
+
+-- copied from v16.5.0
+ENB-UE-X2AP-ID-Extension ::= INTEGER (0..4095, ...)
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 37.473 (W1AP)
+-- **************************************************************
+
+-- copied from v16.3.0
+NGENB-CU-UE-W1AP-ID ::= INTEGER (0..4294967295)
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.413 (NGAP)
+-- Extension fields removed and replaced with ...
+-- **************************************************************
+
+-- copied from v16.2.0
+AMFPointer ::= BIT STRING (SIZE(6))
+
+-- copied from v16.2.0
+AMFRegionID ::= BIT STRING (SIZE(8))
+
+-- copied from v16.2.0
+AMFSetID ::= BIT STRING (SIZE(10))
+
+-- copied from v16.2.0
+AMF-UE-NGAP-ID ::= INTEGER (0..1099511627775)
+
+-- copied from v16.2.0
+EUTRACellIdentity ::= BIT STRING (SIZE(28))
+
+-- copied from v16.2.0
+EUTRA-CGI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ eUTRACellIdentity EUTRACellIdentity,
+ ...
+}
+
+-- copied from v16.2.0
+FiveQI ::= INTEGER (0..255, ...)
+
+-- copied from v16.2.0
+GlobalGNB-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ gNB-ID GNB-ID,
+ ...
+}
+
+-- copied from v16.2.0
+GlobalNgENB-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ ngENB-ID NgENB-ID,
+ ...
+}
+
+
+-- copied from v16.2.0
+GNB-ID ::= CHOICE {
+ gNB-ID BIT STRING (SIZE(22..32)),
+ ...
+}
+
+-- copied from v16.2.0
+GUAMI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ aMFRegionID AMFRegionID,
+ aMFSetID AMFSetID,
+ aMFPointer AMFPointer,
+ ...
+}
+
+-- copied from v16.2.0
+NgENB-ID ::= CHOICE {
+ macroNgENB-ID BIT STRING (SIZE(20)),
+ shortMacroNgENB-ID BIT STRING (SIZE(18)),
+ longMacroNgENB-ID BIT STRING (SIZE(21)),
+ ...
+}
+
+-- copied from v16.2.0
+NRCellIdentity ::= BIT STRING (SIZE(36))
+
+-- copied from v16.2.0
+NR-CGI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ nRCellIdentity NRCellIdentity,
+ ...
+}
+
+-- copied from v16.2.0
+PLMNIdentity ::= OCTET STRING (SIZE(3))
+
+-- copied from v16.2.0
+QosFlowIdentifier ::= INTEGER (0..63, ...)
+
+-- copied from v16.2.0
+SD ::= OCTET STRING (SIZE(3))
+
+-- copied from v16.2.0
+S-NSSAI ::= SEQUENCE {
+ sST SST,
+ sD SD OPTIONAL,
+ ...
+}
+
+-- copied from v16.2.0
+SST ::= OCTET STRING (SIZE(1))
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.423 (XnAP)
+-- **************************************************************
+
+-- copied from v16.2.0
+NG-RANnodeUEXnAPID ::= INTEGER (0.. 4294967295)
+
+GlobalNGRANNodeID ::= CHOICE {
+ gNB GlobalGNB-ID,
+ ng-eNB GlobalNgENB-ID,
+ ...
+}
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 37.483 (E1AP)
+-- **************************************************************
+
+-- copied from v17.1.0
+GNB-CU-CP-UE-E1AP-ID ::= INTEGER (0..4294967295)
+
+-- copied from v17.1.0
+-- GNB-CU-UP-ID ::= INTEGER (0..68719476735)
+
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.473 (F1AP)
+-- **************************************************************
+
+
+
+-- copied from v16.5.0
+GNB-CU-UE-F1AP-ID ::= INTEGER (0..4294967295)
+
+
+
+-- copied from v16.5.0
+RANUEID ::= OCTET STRING (SIZE (8))
+
+
+
+
+
+END
+-- ASN1STOP
diff --git a/epan/dissectors/asn1/kpm-v2/kpm-v2.cnf b/epan/dissectors/asn1/kpm-v2/kpm-v2.cnf
new file mode 100644
index 00000000..03caf8e8
--- /dev/null
+++ b/epan/dissectors/asn1/kpm-v2/kpm-v2.cnf
@@ -0,0 +1,84 @@
+# kpm-v2.cnf
+# kpm-v2 conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.USE_VALS_EXT
+
+#.EXPORTS ONLY_VALS WS_DLL
+
+#.EXPORTS
+
+#.PDU
+
+E2SM-KPM-EventTriggerDefinition
+E2SM-KPM-ActionDefinition
+E2SM-KPM-IndicationHeader
+E2SM-KPM-IndicationMessage
+E2SM-KPM-RANfunction-Description
+
+
+#.MAKE_ENUM
+
+#.NO_EMIT
+
+#.OMIT_ASSIGNMENT
+
+#.END
+
+
+#.TYPE_ATTR
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.FIELD_ATTR
+
+#.ASSIGN_VALUE_TO_TYPE
+
+#.END
+
+#.REGISTER
+
+#.FN_BODY RANfunction-Name/ranFunction-ShortName VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb;
+%(DEFAULT_BODY)s
+ if (!actx->pinfo->fd->visited) {
+ /* N.B. too early to work out exact dissector, as don't have OID yet */
+ e2ap_store_ran_function_mapping(actx->pinfo, tree, value_tvb,
+ tvb_get_string_enc(wmem_packet_scope(), value_tvb, 0, tvb_captured_length(value_tvb), ENC_ASCII));
+ }
+
+
+#.FN_BODY RANfunction-Name/ranFunction-E2SM-OID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ %(DEFAULT_BODY)s
+ e2ap_update_ran_function_mapping(actx->pinfo, tree, parameter_tvb,
+ tvb_get_string_enc(actx->pinfo->pool, parameter_tvb, 0,
+ tvb_captured_length(parameter_tvb), ENC_ASCII));
+
+
+#.FN_BODY E2SM-KPM-IndicationHeader-Format1/colletStartTime
+ int ts_offset = offset;
+ %(DEFAULT_BODY)s
+ /* Add as a generated field the timestamp decoded */
+ const char *time_str = tvb_ntp_fmt_ts_sec(tvb, (ts_offset+7)/8);
+ proto_item *ti = proto_tree_add_string(tree, hf_kpm_v2_timestamp_string, tvb, (ts_offset+7)/8, 4, time_str);
+ proto_item_set_generated(ti);
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/kpm-v2/packet-kpm-v2-template.c b/epan/dissectors/asn1/kpm-v2/packet-kpm-v2-template.c
new file mode 100644
index 00000000..ebb8f417
--- /dev/null
+++ b/epan/dissectors/asn1/kpm-v2/packet-kpm-v2-template.c
@@ -0,0 +1,122 @@
+/* packet-kpm-v2-template.c
+ * Copyright 2021, Martin Mathieson
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * References: ORAN-WG3.E2SM-KPM-v02.02
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+
+#include "packet-e2ap.h"
+#include "packet-per.h"
+#include "packet-ntp.h"
+
+#define PNAME "KPM V2"
+#define PSNAME "KPMv2"
+#define PFNAME "kpm-v2"
+
+
+void proto_register_kpm_v2(void);
+void proto_reg_handoff_kpm_v2(void);
+
+
+#include "packet-kpm-v2-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_kpm_v2 = -1;
+#include "packet-kpm-v2-hf.c"
+
+static int hf_kpm_v2_timestamp_string = -1;
+
+
+#include "packet-kpm-v2-ett.c"
+
+
+/* Forward declarations */
+static int dissect_E2SM_KPM_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_KPM_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_KPM_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_KPM_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_E2SM_KPM_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+#include "packet-kpm-v2-fn.c"
+
+
+/*--- proto_reg_handoff_kpm_v2 ---------------------------------------*/
+void
+proto_reg_handoff_kpm_v2(void)
+{
+//#include "packet-kpm-v2-dis-tab.c"
+
+ static ran_function_dissector_t kpm_v2 =
+ { "ORAN-E2SM-KPM", "1.3.6.1.4.1.53148.1.2.2.2", 2, 2,
+ { dissect_E2SM_KPM_RANfunction_Description_PDU,
+
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+
+ dissect_E2SM_KPM_ActionDefinition_PDU,
+ dissect_E2SM_KPM_IndicationMessage_PDU,
+ dissect_E2SM_KPM_IndicationHeader_PDU,
+ NULL, /* no dissect_E2SM_KPM_CallProcessID_PDU */
+ dissect_E2SM_KPM_EventTriggerDefinition_PDU
+ }
+ };
+
+ /* Register dissector with e2ap */
+ register_e2ap_ran_function_dissector(KPM_RANFUNCTIONS, &kpm_v2);
+}
+
+
+
+/*--- proto_register_kpm_v2 -------------------------------------------*/
+void proto_register_kpm_v2(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+#include "packet-kpm-v2-hfarr.c"
+ { &hf_kpm_v2_timestamp_string,
+ { "Timestamp string", "kpm-v2.timestamp-string",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-kpm-v2-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_kpm_v2 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_kpm_v2, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/lcsap/CMakeLists.txt b/epan/dissectors/asn1/lcsap/CMakeLists.txt
new file mode 100644
index 00000000..9a633c3e
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/CMakeLists.txt
@@ -0,0 +1,48 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME lcsap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ LCS-AP-CommonDataTypes.asn
+ LCS-AP-Constants.asn
+ LCS-AP-Containers.asn
+ LCS-AP-IEs.asn
+ LCS-AP-PDU-Contents.asn
+ LCS-AP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/lcsap/LCS-AP-CommonDataTypes.asn b/epan/dissectors/asn1/lcsap/LCS-AP-CommonDataTypes.asn
new file mode 100644
index 00000000..1e3e23a3
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/LCS-AP-CommonDataTypes.asn
@@ -0,0 +1,31 @@
+--
+-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
+-- 7.5.6 Common Definitions
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+LCS-AP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lcs-AP (4) version1 (1) lcs-AP-CommonDataTypes (3)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolExtensionID ::= INTEGER (0..65535)
+
+ProtocolIE-ID ::= INTEGER (0..65535)
+
+TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome}
+
+END
diff --git a/epan/dissectors/asn1/lcsap/LCS-AP-Constants.asn b/epan/dissectors/asn1/lcsap/LCS-AP-Constants.asn
new file mode 100644
index 00000000..ff8c3fe7
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/LCS-AP-Constants.asn
@@ -0,0 +1,101 @@
+--
+-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
+-- 7.5.7 Constant definitions
+
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+LCS-AP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lcs-AP (4) version1 (1) lcs-AP-Constants (4)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+
+id-Location-Service-Request INTEGER ::= 0
+id-Connection-Oriented-Information-Transfer INTEGER ::= 1
+id-Connectionless-Information-Transfer INTEGER ::= 2
+id-Location-Abort INTEGER ::= 3
+id-Reset INTEGER ::= 4
+id-Ciphering-Key-Data-Delivery INTEGER ::= 5
+
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+
+id-Accuracy-Fulfillment-Indicator INTEGER ::= 0
+id-APDU INTEGER ::= 1
+id-Correlation-ID INTEGER ::= 2
+id-Destination-ID INTEGER ::= 3
+id-E-UTRAN-Cell-Identifier INTEGER ::= 4
+id-Include-Velocity INTEGER ::= 5
+id-IMEI INTEGER ::= 6
+id-IMSI INTEGER ::= 7
+id-LCS-Client-Type INTEGER ::= 8
+id-LCS-Priority INTEGER ::= 9
+id-LCS-QOS INTEGER ::= 10
+id-LCS-Cause INTEGER ::= 11
+id-Location-Estimate INTEGER ::= 12
+id-Location-Type INTEGER ::= 13
+id-MultipleAPDUs INTEGER ::= 14
+id-Payload-Type INTEGER ::= 15
+id-Positioning-Data INTEGER ::= 16
+id-Return-Error-Request INTEGER ::= 17
+id-Return-Error-Cause INTEGER ::= 18
+id-Source-Identity INTEGER ::= 19
+id-UE-Positioning-Capability INTEGER ::= 20
+id-Velocity-Estimate INTEGER ::= 21
+id-LCS-Service-Type-ID INTEGER ::= 22
+id-Cell-Portion-ID INTEGER ::= 23
+id-Civic-Address INTEGER ::= 24
+id-Barometric-Pressure INTEGER ::= 25
+id-Additional-PositioningDataSet INTEGER ::= 26
+id-RAT-Type INTEGER ::= 27
+id-Ciphering-Data INTEGER ::= 28
+id-Ciphering-Data-Ack INTEGER ::= 29
+id-Ciphering-Data-Error-Report INTEGER ::= 30
+id-Coverage-Level INTEGER ::= 31
+id-UE-Country-Determination-Indication INTEGER ::= 32
+id-UE-Area-Indication INTEGER ::= 33
+
+
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+
+max-No-Of-Points INTEGER ::= 15
+max-Set INTEGER ::= 9
+max-GNSS-Set INTEGER ::= 9
+max-Add-Pos-Set INTEGER ::= 8
+max-Cipher-Set INTEGER ::= 16
+
+
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+END
diff --git a/epan/dissectors/asn1/lcsap/LCS-AP-Containers.asn b/epan/dissectors/asn1/lcsap/LCS-AP-Containers.asn
new file mode 100644
index 00000000..6582b5f3
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/LCS-AP-Containers.asn
@@ -0,0 +1,117 @@
+--
+-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
+-- 7.5.8 Container Definitions
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+LCS-AP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lcs-AP (4) version1 (1) lcs-AP-Containers (5)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ Presence,
+ ProtocolExtensionID,
+ ProtocolIE-ID
+FROM LCS-AP-CommonDataTypes
+
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM LCS-AP-Constants;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+LCS-AP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+LCS-AP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolExtensionID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {LCS-AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {LCS-AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id LCS-AP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality LCS-AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value LCS-AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, LCS-AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {LCS-AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {LCS-AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id LCS-AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality LCS-AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue LCS-AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+
+END
diff --git a/epan/dissectors/asn1/lcsap/LCS-AP-IEs.asn b/epan/dissectors/asn1/lcsap/LCS-AP-IEs.asn
new file mode 100644
index 00000000..4ffb2592
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/LCS-AP-IEs.asn
@@ -0,0 +1,728 @@
+--
+-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
+-- 7.5.5 Information element definitions
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+LCS-AP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lcs-AP (4) version1 (1) lcs-AP-IEs (2)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ max-No-Of-Points,
+ max-Set,
+ max-GNSS-Set,
+ max-Add-Pos-Set,
+ max-Cipher-Set,
+ id-Additional-PositioningDataSet
+FROM LCS-AP-Constants
+
+ Criticality,
+ ProcedureCode,
+ TriggeringMessage,
+ ProtocolIE-ID
+FROM LCS-AP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ LCS-AP-PROTOCOL-EXTENSION
+FROM LCS-AP-Containers;
+
+
+-- A
+
+
+APDU ::= OCTET STRING
+
+Accuracy-Fulfillment-Indicator ::= ENUMERATED {
+ requested-accuracy-fulfilled,
+ requested-accuracy-not-fulfilled,
+ ...
+}
+
+Additional-PositioningDataSet ::= SEQUENCE(SIZE(1..max-Add-Pos-Set)) OF Additional-PositioningMethodAndUsage
+
+Additional-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+Altitude ::= INTEGER (0..65535)
+-- The valid value for this IE is 0 to 32767.
+-- Reception of value greater than 32767 shall be mapped to the value 32767.
+
+
+Altitude-And-Direction ::= SEQUENCE {
+ direction-Of-Altitude Direction-Of-Altitude,
+ altitude Altitude,
+ ...
+}
+
+Angle ::= INTEGER (0..179)
+
+-- B
+
+Barometric-Pressure ::= INTEGER (30000..115000)
+
+Bearing ::= INTEGER (0..359)
+
+
+-- C
+
+
+C0 ::= BIT STRING (SIZE (1..128))
+
+CellIdentity ::= BIT STRING (SIZE (28))
+
+Cell-Portion-ID ::= INTEGER (0..255,..., 256..4095)
+
+Ciphering-Data ::= SEQUENCE(SIZE(1..max-Cipher-Set)) OF Ciphering-Data-Set
+
+Ciphering-Data-Ack ::= SEQUENCE(SIZE(1..max-Cipher-Set)) OF Ciphering-Set-ID
+
+Ciphering-Data-Error-Report ::= SEQUENCE(SIZE(1..max-Cipher-Set)) OF Ciphering-Data-Error-Report-Contents
+
+Ciphering-Data-Set ::= SEQUENCE {
+ ciphering-Set-ID Ciphering-Set-ID,
+ ciphering-Key Ciphering-Key,
+ c0 C0,
+ sib-Types SIB-Types,
+ validity-Start-Time Validity-Start-Time,
+ validity-Duration Validity-Duration,
+ tais-List TAIs-List,
+ ...
+ }
+
+Ciphering-Data-Error-Report-Contents ::= SEQUENCE {
+ ciphering-Set-ID Ciphering-Set-ID,
+ storage-Outcome Storage-Outcome,
+ ...
+ }
+
+Ciphering-Set-ID ::= INTEGER (0..65535)
+
+Ciphering-Key ::= OCTET STRING (SIZE (16))
+
+Civic-Address ::= OCTET STRING
+
+Confidence ::= INTEGER (0..100)
+
+Correlation-ID ::= OCTET STRING (SIZE (4))
+
+Country ::= OCTET STRING
+
+-- D
+
+DegreesLatitude ::= INTEGER (0..8388607) -- 23 bit field
+
+DegreesLongitude ::= INTEGER (-8388608..8388607) -- 24 bit field
+
+Direction-Of-Altitude ::= ENUMERATED {
+ height,
+ depth
+}
+
+-- E
+
+E-CGI ::= SEQUENCE {
+ pLMNidentity PLMN-ID,
+ cell-ID CellIdentity,
+ iE-Extensions ProtocolExtensionContainer { { E-CGI-ExtIEs} } OPTIONAL,
+ ...}
+
+E-CGI-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Coverage-Level ::= ENUMERATED {
+ extendedcoverage,
+ ...
+}
+
+
+Ellipsoid-Point-With-Uncertainty-Ellipse ::= SEQUENCE {
+ geographical-Coordinates Geographical-Coordinates,
+ uncertainty-Ellipse Uncertainty-Ellipse,
+ confidence Confidence,
+ iE-Extensions ProtocolExtensionContainer { { Ellipsoid-Point-With-Uncertainty-Ellipse-ExtIEs} } OPTIONAL,
+ ...}
+
+Ellipsoid-Point-With-Uncertainty-Ellipse-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Ellipsoid-Point-With-Altitude ::= SEQUENCE {
+ geographical-Coordinates Geographical-Coordinates,
+ altitude-And-Direction Altitude-And-Direction,
+ iE-Extensions ProtocolExtensionContainer { { Ellipsoid-Point-With-Altitude-ExtIEs} } OPTIONAL,
+ ...}
+
+Ellipsoid-Point-With-Altitude-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid ::= SEQUENCE {
+ geographical-Coordinates Geographical-Coordinates,
+ altitude-And-Direction Altitude-And-Direction,
+ uncertainty-Ellipse Uncertainty-Ellipse,
+ uncertainty-Altitude Uncertainty-Altitude,
+ confidence Confidence,
+ iE-Extensions ProtocolExtensionContainer { { Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid-ExtIEs} } OPTIONAL,
+ ...}
+
+Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Ellipsoid-Arc ::= SEQUENCE {
+ geographical-Coordinates Geographical-Coordinates,
+ inner-Radius Inner-Radius,
+ uncertainty-Radius Uncertainty-Code,
+ offset-Angle Angle,
+ included-Angle Angle,
+ confidence Confidence,
+ iE-Extensions ProtocolExtensionContainer { { Ellipsoid-Arc-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ellipsoid-Arc-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ENB-ID ::= CHOICE {
+ macro-eNB-ID Macro-eNB-ID,
+ home-eNB-ID Home-eNB-ID,
+ ...,
+ short-macro-eNB-ID Short-Macro-eNB-ID,
+ long-macro-eNB-ID Long-Macro-eNB-ID
+}
+
+
+
+E-SMLC-ID ::= INTEGER (0..255)
+
+
+-- F
+-- G
+
+Geographical-Area ::= CHOICE {
+ point Point,
+ point-With-Uncertainty Point-With-Uncertainty,
+ ellipsoidPoint-With-Uncertainty-Ellipse Ellipsoid-Point-With-Uncertainty-Ellipse,
+ polygon Polygon,
+ ellipsoid-Point-With-Altitude Ellipsoid-Point-With-Altitude,
+ ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid,
+ ellipsoid-Arc Ellipsoid-Arc,
+ ...,
+ high-Accuracy-Ellipsoid-Point-With-Uncertainty-Ellipse High-Accuracy-Ellipsoid-Point-With-Uncertainty-Ellipse,
+ high-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid High-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid,
+ high-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse High-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse,
+ high-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid High-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid
+
+}
+
+Geographical-Coordinates ::= SEQUENCE {
+ latitudeSign LatitudeSign,
+ degreesLatitude DegreesLatitude,
+ degreesLongitude DegreesLongitude,
+ iE-Extensions ProtocolExtensionContainer { {Geographical-Coordinates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Geographical-Coordinates-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Global-eNB-ID ::= SEQUENCE {
+ pLMN-ID PLMN-ID,
+ eNB-ID ENB-ID
+}
+
+
+GNSS-Positioning-Method-And-Usage ::= OCTET STRING (SIZE (1))
+
+GNSS-Positioning-Data-Set ::= SEQUENCE (SIZE (1..max-GNSS-Set)) OF GNSS-Positioning-Method-And-Usage
+
+
+-- H
+
+
+High-Accuracy-Altitude ::= INTEGER (-64000..1280000)
+
+High-Accuracy-DegreesLatitude ::= INTEGER(-2147483648..2147483647)
+
+High-Accuracy-DegreesLongitude ::= INTEGER(-2147483648..2147483647)
+
+
+High-Accuracy-Ellipsoid-Point-With-Uncertainty-Ellipse ::= SEQUENCE {
+ high-Accuracy-Geographical-Coordinates High-Accuracy-Geographical-Coordinates,
+ high-Accuracy-Uncertainty-Ellipse High-Accuracy-Uncertainty-Ellipse,
+ confidence Confidence,
+ iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Ellipsoid-Point-With-Uncertainty-Ellipse-ExtIEs} } OPTIONAL,
+ ...}
+
+High-Accuracy-Ellipsoid-Point-With-Uncertainty-Ellipse-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+High-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse ::= SEQUENCE {
+ high-Accuracy-Geographical-Coordinates High-Accuracy-Geographical-Coordinates,
+ high-Accuracy-Scalable-Uncertainty-Ellipse High-Accuracy-Scalable-Uncertainty-Ellipse,
+ confidence Confidence,
+ iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse-ExtIEs} } OPTIONAL,
+ ...}
+
+High-Accuracy-Ellipsoid-Point-With-Scalable-Uncertainty-Ellipse-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+High-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid ::= SEQUENCE {
+ high-Accuracy-Geographical-Coordinates High-Accuracy-Geographical-Coordinates,
+ high-Accuracy-Altitude High-Accuracy-Altitude,
+ high-Accuracy-Uncertainty-Ellipse High-Accuracy-Uncertainty-Ellipse,
+ confidence Confidence,
+ high-Accuracy-Uncertainty-Altitude High-Accuracy-Uncertainty-Code,
+ vertical-Confidence Confidence,
+ iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid-ExtIEs} } OPTIONAL,
+ ...}
+
+
+High-Accuracy-Ellipsoid-Point-With-Altitude-And-Uncertainty-Ellipsoid-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+High-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid ::= SEQUENCE {
+ high-Accuracy-Geographical-Coordinates High-Accuracy-Geographical-Coordinates,
+ high-Accuracy-Altitude High-Accuracy-Altitude,
+ high-Accuracy-Scalable-Uncertainty-Ellipse High-Accuracy-Scalable-Uncertainty-Ellipse,
+ confidence Confidence,
+ high-Accuracy-Scalable-Uncertainty-Altitude High-Accuracy-Scalable-Uncertainty-Altitude,
+ vertical-Confidence Confidence,
+ iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid-ExtIEs} } OPTIONAL,
+ ...}
+
+
+High-Accuracy-Ellipsoid-Point-With-Altitude-And-Scalable-Uncertainty-Ellipsoid-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+High-Accuracy-Geographical-Coordinates ::= SEQUENCE {
+ high-Accuracy-DegreesLatitude High-Accuracy-DegreesLatitude,
+ high-Accuracy-DegreesLongitude High-Accuracy-DegreesLongitude,
+ iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Geographical-Coordinates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+High-Accuracy-Geographical-Coordinates-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+High-Accuracy-Uncertainty-Code ::= INTEGER (0..255)
+
+High-Accuracy-Extended-Uncertainty-Code ::= INTEGER (0..255)
+
+High-Accuracy-Uncertainty-Ellipse ::= SEQUENCE {
+ high-Accuracy-Uncertainty-SemiMajor High-Accuracy-Uncertainty-Code,
+ high-Accuracy-Uncertainty-SemiMinor High-Accuracy-Uncertainty-Code,
+ orientation-Major-Axis INTEGER (0..179),
+ iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Uncertainty-Ellipse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+High-Accuracy-Uncertainty-Ellipse-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+High-Accuracy-Extended-Uncertainty-Ellipse ::= SEQUENCE {
+ high-Accuracy-Extended-Uncertainty-SemiMajor High-Accuracy-Extended-Uncertainty-Code,
+ high-Accuracy-Extended-Uncertainty-SemiMinor High-Accuracy-Extended-Uncertainty-Code,
+ orientation-Major-Axis INTEGER (0..179),
+ iE-Extensions ProtocolExtensionContainer { { High-Accuracy-Extended-Uncertainty-Ellipse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+High-Accuracy-Extended-Uncertainty-Ellipse-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+High-Accuracy-Scalable-Uncertainty-Ellipse ::= CHOICE {
+high-Accuracy-Uncertainty-Ellipse High-Accuracy-Uncertainty-Ellipse,
+high-Accuracy-Extended-Uncertainty-Ellipse High-Accuracy-Extended-Uncertainty-Ellipse
+}
+
+High-Accuracy-Scalable-Uncertainty-Altitude ::= CHOICE {
+high-Accuracy-Uncertainty-Altitude High-Accuracy-Uncertainty-Code,
+high-Accuracy-Extended-Uncertainty-Altitude High-Accuracy-Extended-Uncertainty-Code
+}
+
+
+Home-eNB-ID ::= BIT STRING (SIZE (28))
+
+Horizontal-Accuracy ::= INTEGER (0..127)
+
+
+
+Horizontal-Speed-And-Bearing ::= SEQUENCE {
+ bearing INTEGER (0..359),
+ horizontal-Speed INTEGER (0..2047)
+}
+
+
+Horizontal-Velocity ::= SEQUENCE {
+ horizontal-Speed-And-Bearing Horizontal-Speed-And-Bearing,
+ iE-Extensions ProtocolExtensionContainer { { Horizontal-Velocity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Horizontal-Velocity-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Horizontal-With-Vertical-Velocity ::= SEQUENCE {
+ horizontal-Speed-And-Bearing Horizontal-Speed-And-Bearing,
+ vertical-Velocity Vertical-Velocity,
+ iE-Extensions ProtocolExtensionContainer { { Horizontal-With-Vertical-Velocity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Horizontal-With-Vertical-Velocity-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Horizontal-Velocity-With-Uncertainty ::= SEQUENCE {
+ horizontal-Speed-And-Bearing Horizontal-Speed-And-Bearing,
+ uncertainty-Speed INTEGER (0..255),
+ iE-Extensions ProtocolExtensionContainer { { Horizontal-Velocity-With-Uncertainty-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Horizontal-Velocity-With-Uncertainty-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Horizontal-With-Vertical-Velocity-And-Uncertainty ::= SEQUENCE {
+ horizontal-Speed-And-Bearing Horizontal-Speed-And-Bearing,
+ vertical-Velocity Vertical-Velocity,
+ horizontal-Uncertainty-Speed INTEGER (0..255),
+ vertical-Uncertainty-Speed INTEGER (0..255),
+ iE-Extensions ProtocolExtensionContainer { { Horizontal-With-Vertical-Velocity-And-Uncertainty-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Horizontal-With-Vertical-Velocity-And-Uncertainty-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- I
+
+IMSI ::= OCTET STRING (SIZE (3..8))
+
+IMEI ::= OCTET STRING (SIZE (8))
+
+
+Include-Velocity ::= ENUMERATED {
+ requested,
+ not-Requested,
+...
+}
+
+
+Inner-Radius ::= INTEGER (0..65535) -- 16 bit field
+
+International-Area-Indication ::= ENUMERATED {
+ yes,
+...
+}
+
+
+-- J
+-- K
+-- L
+
+LatitudeSign ::= ENUMERATED {
+ north,
+ south
+}
+
+
+Location-Type ::= ENUMERATED {
+ geographic-Information,
+ assistance-Information,
+ ...,
+ last-known-location
+}
+
+LCS-Cause ::= CHOICE {
+radio-Network-Layer Radio-Network-Layer-Cause,
+transport-Layer Transport-Layer-Cause,
+protocol Protocol-Cause,
+misc Misc-Cause
+}
+
+
+LCS-Client-Type ::= ENUMERATED {
+ emergency-Services,
+ value-Added-Services,
+ pLMN-Operator-Services,
+ lawful-Intercept-Services,
+ pLMN-Operator-broadcast-Services,
+ pLMN-Operator-OM,
+ pLMN-Operator-Anonymous-Statistics,
+ pLMN-Operator-Target-MS-Service-Support,
+ ...
+}
+
+
+LCS-Priority ::= OCTET STRING (SIZE (1))
+
+
+LCS-QoS ::= SEQUENCE {
+ horizontal-Accuracy Horizontal-Accuracy OPTIONAL,
+ vertical-Requested Vertical-Requested OPTIONAL,
+ vertical-Accuracy Vertical-Accuracy OPTIONAL,
+ response-Time Response-Time OPTIONAL,
+ ...
+}
+
+LCS-Service-Type-ID ::= INTEGER (0..127)
+
+Long-Macro-eNB-ID ::= BIT STRING (SIZE (21))
+
+-- M
+
+Macro-eNB-ID ::= BIT STRING (SIZE (20))
+
+Message-Identifier ::= BIT STRING (SIZE (16))
+
+Misc-Cause ::= ENUMERATED {
+ processing-Overload,
+ hardware-Failure,
+ o-And-M-Intervention,
+ unspecified,
+...,
+ ciphering-key-data-lost
+}
+
+MultipleAPDUs ::= SEQUENCE (SIZE (1.. 3)) OF APDU
+
+
+-- N
+
+Network-Element ::= CHOICE {
+global-eNB-ID Global-eNB-ID,
+e-SMLC-ID E-SMLC-ID
+}
+
+-- O
+
+Orientation-Major-Axis ::= INTEGER (0..89)
+
+-- P
+
+Payload-Type ::= ENUMERATED {
+lPP,
+lPPa,
+...
+}
+
+PLMN-ID ::= TBCD-STRING
+
+Point ::= SEQUENCE {
+ geographical-Coordinates Geographical-Coordinates,
+ iE-Extensions ProtocolExtensionContainer { {Point-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Point-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Point-With-Uncertainty ::= SEQUENCE {
+ geographical-Coordinates Geographical-Coordinates,
+ uncertainty-Code Uncertainty-Code,
+ iE-Extensions ProtocolExtensionContainer { {Point-With-Uncertainty-ExtIEs} } OPTIONAL,
+ ...}
+
+Point-With-Uncertainty-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Polygon ::= SEQUENCE (SIZE (1..max-No-Of-Points)) OF Polygon-Point
+
+
+Polygon-Point ::= SEQUENCE {
+ geographical-Coordinates Geographical-Coordinates,
+ iE-Extensions ProtocolExtensionContainer { {Polygon-Point-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Polygon-Point-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Positioning-Data ::= SEQUENCE {
+ positioning-Data-Set Positioning-Data-Set OPTIONAL,
+ gNSS-Positioning-Data-Set GNSS-Positioning-Data-Set OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Positioning-Data-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Positioning-Data-ExtIEs LCS-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PositioningDataSet CRITICALITY ignore EXTENSION Additional-PositioningDataSet PRESENCE optional },
+ ...
+}
+
+Positioning-Data-Set ::= SEQUENCE (SIZE (1..max-Set)) OF Positioning-Method-And-Usage
+
+Positioning-Method-And-Usage ::= OCTET STRING (SIZE (1))
+
+Protocol-Cause ::= ENUMERATED {
+transfer-Syntax-Error,
+abstract-Syntax-Error-Reject,
+abstract-Syntax-Error-Ignore-And-Notify,
+message-Not-Compatible-With-Receiver-State,
+semantic-Error,
+unspecified,
+abstract-Syntax-Error,
+...
+}
+
+-- Q
+-- R
+
+Radio-Network-Layer-Cause ::= ENUMERATED {
+unspecified,
+...
+}
+
+RAT-Type ::= ENUMERATED {
+ lte-wb,
+ nb-iot,
+ ...,
+ lte-m
+}
+
+Response-Time ::= ENUMERATED {
+ low-Delay(0),
+ delay-Tolerant(1),
+...
+}
+
+Return-Error-Type ::= ENUMERATED {
+yes,
+no
+}
+
+Return-Error-Cause ::= ENUMERATED {
+system-Failure,
+protocol-Error,
+destination-Unknown,
+destination-Unreachable,
+congestion,
+...
+}
+
+-- S
+
+Short-Macro-eNB-ID ::= BIT STRING (SIZE (18))
+
+SIB-Types ::= OCTET STRING (SIZE (4))
+
+Storage-Outcome ::= ENUMERATED {
+successful,
+failed
+}
+
+-- T
+
+TAIs-List ::= OCTET STRING (SIZE (7..97))
+
+TBCD-STRING ::= OCTET STRING (SIZE (3))
+
+Transport-Layer-Cause ::= ENUMERATED {
+tranport-Resource-Unavailable,
+unspecified,
+...
+}
+
+-- U
+
+Uncertainty-Altitude ::= INTEGER (0..127)
+
+Uncertainty-Code ::= INTEGER (0..127)
+
+Uncertainty-Ellipse ::= SEQUENCE {
+ uncertainty-SemiMajor Uncertainty-Code,
+ uncertainty-SemiMinor Uncertainty-Code,
+ orientation-Major-Axis Orientation-Major-Axis
+}
+
+UE-Positioning-Capability ::= SEQUENCE {
+ lPP BOOLEAN,
+ ...
+}
+
+UE-Country-Determination-Indication ::= ENUMERATED {
+ required,
+ not-required,
+...
+}
+
+UE-Area-Indication ::= SEQUENCE {
+ country Country,
+ international-area-indication International-Area-Indication
+}
+
+
+-- V
+
+Validity-Duration ::= INTEGER (0..65535)
+
+Validity-Start-Time ::= OCTET STRING (SIZE (4))
+
+Velocity-Estimate ::= CHOICE {
+ horizontal-Velocity Horizontal-Velocity,
+ horizontal-With-Vertical-Velocity Horizontal-With-Vertical-Velocity,
+ horizontal-Velocity-With-Uncertainty Horizontal-Velocity-With-Uncertainty,
+ horizontal-With-Vertical-Velocity-And-Uncertainty Horizontal-With-Vertical-Velocity-And-Uncertainty,
+ ...
+}
+
+Vertical-Requested ::= ENUMERATED {
+ vertical-coordinate-Is-Not-Requested(0),
+ vertical-coordinate-Is-Requested(1)
+}
+
+Vertical-Accuracy ::= INTEGER (0..127)
+
+Vertical-Velocity ::= SEQUENCE {
+ vertical-Speed INTEGER (0..255),
+ vertical-Speed-Direction Vertical-Speed-Direction
+}
+
+Vertical-Speed-Direction ::= ENUMERATED {
+ upward,
+ downward
+}
+
+
+-- W
+-- X
+-- Y
+
+END
diff --git a/epan/dissectors/asn1/lcsap/LCS-AP-PDU-Contents.asn b/epan/dissectors/asn1/lcsap/LCS-AP-PDU-Contents.asn
new file mode 100644
index 00000000..77d881a4
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/LCS-AP-PDU-Contents.asn
@@ -0,0 +1,334 @@
+--
+-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
+-- 7.5.4 PDU definitions
+
+-- **************************************************************
+--
+-- PDU definitions for LCS-AP.
+--
+-- **************************************************************
+
+
+LCS-AP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lcs-AP (4) version1 (1) lcs-AP-PDU-Contents (1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ APDU,
+ Accuracy-Fulfillment-Indicator,
+ Barometric-Pressure,
+ Cell-Portion-ID,
+ Ciphering-Data,
+ Ciphering-Data-Ack,
+ Ciphering-Data-Error-Report,
+ Civic-Address,
+ Correlation-ID,
+ Coverage-Level,
+ E-CGI,
+ Geographical-Area,
+ IMSI,
+ IMEI,
+ Include-Velocity,
+ LCS-Cause,
+ LCS-Client-Type,
+ LCS-Service-Type-ID,
+ LCS-Priority,
+ LCS-QoS,
+ Location-Type,
+ MultipleAPDUs,
+ Network-Element,
+ Payload-Type,
+ Positioning-Data,
+ RAT-Type,
+ Return-Error-Type,
+ Return-Error-Cause,
+ UE-Positioning-Capability,
+ Velocity-Estimate,
+ UE-Country-Determination-Indication,
+ UE-Area-Indication
+FROM LCS-AP-IEs
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ LCS-AP-PROTOCOL-EXTENSION,
+ LCS-AP-PROTOCOL-IES
+FROM LCS-AP-Containers
+
+ id-Accuracy-Fulfillment-Indicator,
+ id-APDU,
+ id-Barometric-Pressure,
+ id-Cell-Portion-ID,
+ id-Ciphering-Data,
+ id-Ciphering-Data-Ack,
+ id-Ciphering-Data-Error-Report,
+ id-Civic-Address,
+ id-Correlation-ID,
+ id-Coverage-Level,
+ id-Destination-ID,
+ id-E-UTRAN-Cell-Identifier,
+ id-Include-Velocity,
+ id-IMEI,
+ id-IMSI,
+ id-LCS-Client-Type,
+ id-LCS-Priority,
+ id-LCS-QOS,
+ id-LCS-Cause,
+ id-LCS-Service-Type-ID,
+ id-Location-Estimate,
+ id-Location-Type,
+ id-MultipleAPDUs,
+ id-Payload-Type,
+ id-Positioning-Data,
+ id-RAT-Type,
+ id-Return-Error-Request,
+ id-Return-Error-Cause,
+ id-Source-Identity,
+ id-UE-Positioning-Capability,
+ id-Velocity-Estimate,
+ id-UE-Country-Determination-Indication,
+ id-UE-Area-Indication
+FROM LCS-AP-Constants;
+
+
+-- **************************************************************
+--
+-- Location-Request
+--
+-- **************************************************************
+
+Location-Request ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { Location-Request-IEs} },
+ protocolExtensions ProtocolExtensionContainer { { Location-Request-Extensions} } OPTIONAL,
+ ...
+}
+
+Location-Request-IEs LCS-AP-PROTOCOL-IES ::= {
+ { ID id-Correlation-ID CRITICALITY reject TYPE Correlation-ID PRESENCE mandatory } |
+ { ID id-Location-Type CRITICALITY reject TYPE Location-Type PRESENCE mandatory } |
+ { ID id-E-UTRAN-Cell-Identifier CRITICALITY ignore TYPE E-CGI PRESENCE mandatory } |
+ { ID id-LCS-Client-Type CRITICALITY reject TYPE LCS-Client-Type PRESENCE optional } |
+ { ID id-LCS-Priority CRITICALITY reject TYPE LCS-Priority PRESENCE optional } |
+ { ID id-LCS-QOS CRITICALITY reject TYPE LCS-QoS PRESENCE optional } |
+ { ID id-UE-Positioning-Capability CRITICALITY reject TYPE UE-Positioning-Capability PRESENCE optional } |
+ { ID id-Include-Velocity CRITICALITY reject TYPE Include-Velocity PRESENCE optional } |
+ { ID id-IMSI CRITICALITY ignore TYPE IMSI PRESENCE optional } |
+ { ID id-IMEI CRITICALITY ignore TYPE IMEI PRESENCE optional } |
+ { ID id-MultipleAPDUs CRITICALITY reject TYPE MultipleAPDUs PRESENCE optional } |
+ { ID id-RAT-Type CRITICALITY ignore TYPE RAT-Type PRESENCE optional } |
+ { ID id-Coverage-Level CRITICALITY ignore TYPE Coverage-Level PRESENCE optional},
+ ...
+}
+
+Location-Request-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-LCS-Service-Type-ID CRITICALITY ignore EXTENSION LCS-Service-Type-ID PRESENCE optional } |
+ { ID id-UE-Country-Determination-Indication CRITICALITY ignore TYPE UE-Country-Determination-Indication PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Location-Response
+--
+-- **************************************************************
+
+Location-Response ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Location-Response-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Location-Response-Extensions} } OPTIONAL,
+ ...
+}
+
+Location-Response-IEs LCS-AP-PROTOCOL-IES ::= {
+ { ID id-Correlation-ID CRITICALITY reject TYPE Correlation-ID PRESENCE mandatory } |
+ { ID id-Location-Estimate CRITICALITY reject TYPE Geographical-Area PRESENCE optional } |
+ { ID id-Positioning-Data CRITICALITY reject TYPE Positioning-Data PRESENCE optional } |
+ { ID id-Velocity-Estimate CRITICALITY reject TYPE Velocity-Estimate PRESENCE optional } |
+ { ID id-Accuracy-Fulfillment-Indicator CRITICALITY reject TYPE Accuracy-Fulfillment-Indicator PRESENCE optional } |
+ { ID id-LCS-Cause CRITICALITY ignore TYPE LCS-Cause PRESENCE optional } ,
+...
+}
+
+
+Location-Response-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
+{ ID id-E-UTRAN-Cell-Identifier CRITICALITY ignore EXTENSION E-CGI PRESENCE optional } |
+{ ID id-Cell-Portion-ID CRITICALITY ignore EXTENSION Cell-Portion-ID PRESENCE optional } |
+{ ID id-Civic-Address CRITICALITY ignore EXTENSION Civic-Address PRESENCE optional } |
+{ ID id-Barometric-Pressure CRITICALITY ignore EXTENSION Barometric-Pressure PRESENCE optional } |
+{ ID id-UE-Area-Indication CRITICALITY ignore EXTENSION UE-Area-Indication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Location-Abort
+--
+-- **************************************************************
+
+Location-Abort-Request ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Location-Abort-Request-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Location-Abort-Request-Extensions} } OPTIONAL,
+ ...
+}
+
+Location-Abort-Request-IEs LCS-AP-PROTOCOL-IES ::= {
+ { ID id-Correlation-ID CRITICALITY reject TYPE Correlation-ID PRESENCE mandatory } |
+ { ID id-LCS-Cause CRITICALITY ignore TYPE LCS-Cause PRESENCE mandatory } ,
+ ...
+}
+
+Location-Abort-Request-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Connection-Oriented-Information
+--
+-- **************************************************************
+
+Connection-Oriented-Information ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Connection-Oriented-Information-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Connection-Oriented-Information-Extensions} } OPTIONAL,
+ ...
+}
+
+Connection-Oriented-Information-IEs LCS-AP-PROTOCOL-IES ::= {
+ { ID id-Correlation-ID CRITICALITY reject TYPE Correlation-ID PRESENCE optional } |
+ { ID id-Payload-Type CRITICALITY reject TYPE Payload-Type PRESENCE optional } |
+ { ID id-APDU CRITICALITY reject TYPE APDU PRESENCE optional } ,
+ ...
+}
+
+Connection-Oriented-Information-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Connectionless-Information
+--
+-- **************************************************************
+
+Connectionless-Information ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Connectionless-Information-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Connectionless-Information-Extensions} } OPTIONAL,
+ ...
+}
+
+Connectionless-Information-IEs LCS-AP-PROTOCOL-IES ::= {
+ { ID id-Source-Identity CRITICALITY reject TYPE Network-Element PRESENCE mandatory } |
+ { ID id-Destination-ID CRITICALITY reject TYPE Network-Element PRESENCE mandatory } |
+ { ID id-APDU CRITICALITY reject TYPE APDU PRESENCE mandatory } |
+ { ID id-Return-Error-Request CRITICALITY reject TYPE Return-Error-Type PRESENCE optional } |
+ { ID id-Return-Error-Cause CRITICALITY ignore TYPE Return-Error-Cause PRESENCE optional } ,
+ ...
+}
+
+
+Connectionless-Information-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Reset-Request
+--
+-- **************************************************************
+
+Reset-Request ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Reset-Request-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Reset-Request-Extensions} } OPTIONAL,
+ ...
+}
+
+Reset-Request-IEs LCS-AP-PROTOCOL-IES ::= {
+ { ID id-LCS-Cause CRITICALITY ignore TYPE LCS-Cause PRESENCE mandatory } ,
+ ...
+}
+
+
+Reset-Request-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Reset-Acknowledge
+--
+-- **************************************************************
+
+Reset-Acknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { Reset-Acknowledge-IEs} },
+ protocolExtensions ProtocolExtensionContainer { { Reset-Acknowledge-Extensions} } OPTIONAL,
+ ...
+}
+
+Reset-Acknowledge-IEs LCS-AP-PROTOCOL-IES ::= {
+ ...
+}
+
+Reset-Acknowledge-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Ciphering-Key-Data
+--
+-- **************************************************************
+
+Ciphering-Key-Data ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Ciphering-Key-Data-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Ciphering-Key-Data-Extensions} } OPTIONAL,
+ ...
+}
+
+Ciphering-Key-Data-IEs LCS-AP-PROTOCOL-IES ::= {
+ { ID id-Ciphering-Data CRITICALITY reject TYPE Ciphering-Data PRESENCE mandatory } ,
+ ...
+}
+
+
+Ciphering-Key-Data-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Ciphering-Key-Data-Result
+--
+-- **************************************************************
+
+Ciphering-Key-Data-Result ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Ciphering-Key-Data-Result-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Ciphering-Key-Data-Result-Extensions} } OPTIONAL,
+ ...
+}
+
+Ciphering-Key-Data-Result-IEs LCS-AP-PROTOCOL-IES ::= {
+ { ID id-Ciphering-Data-Ack CRITICALITY reject TYPE Ciphering-Data-Ack PRESENCE conditional } |
+ { ID id-Ciphering-Data-Error-Report CRITICALITY reject TYPE Ciphering-Data-Error-Report PRESENCE conditional } ,
+ ...
+}
+
+
+Ciphering-Key-Data-Result-Extensions LCS-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/lcsap/LCS-AP-PDU-Descriptions.asn b/epan/dissectors/asn1/lcsap/LCS-AP-PDU-Descriptions.asn
new file mode 100644
index 00000000..4327c7f1
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/LCS-AP-PDU-Descriptions.asn
@@ -0,0 +1,180 @@
+--
+-- 3GPP TS 29.171 v17.2.0 (2022-12-15)
+-- 7.5.3 Elementary procedure definitions
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+LCS-AP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lcs-AP (4) version1 (1) lcs-AP-PDU-Descriptions (0)}
+
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM LCS-AP-CommonDataTypes
+
+ Location-Request,
+ Location-Response,
+ Location-Abort-Request,
+ Connection-Oriented-Information,
+ Connectionless-Information,
+ Reset-Request,
+ Reset-Acknowledge,
+ Ciphering-Key-Data,
+ Ciphering-Key-Data-Result
+FROM LCS-AP-PDU-Contents
+
+ id-Location-Service-Request,
+ id-Connection-Oriented-Information-Transfer,
+ id-Connectionless-Information-Transfer,
+ id-Location-Abort,
+ id-Reset,
+ id-Ciphering-Key-Data-Delivery
+FROM LCS-AP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+LCS-AP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+LCS-AP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode LCS-AP-ELEMENTARY-PROCEDURE.&procedureCode ({LCS-AP-ELEMENTARY-PROCEDURES}),
+ criticality LCS-AP-ELEMENTARY-PROCEDURE.&criticality ({LCS-AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value LCS-AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({LCS-AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode LCS-AP-ELEMENTARY-PROCEDURE.&procedureCode ({LCS-AP-ELEMENTARY-PROCEDURES}),
+ criticality LCS-AP-ELEMENTARY-PROCEDURE.&criticality ({LCS-AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value LCS-AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({LCS-AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode LCS-AP-ELEMENTARY-PROCEDURE.&procedureCode ({LCS-AP-ELEMENTARY-PROCEDURES}),
+ criticality LCS-AP-ELEMENTARY-PROCEDURE.&criticality ({LCS-AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value LCS-AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({LCS-AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+LCS-AP-ELEMENTARY-PROCEDURES LCS-AP-ELEMENTARY-PROCEDURE ::= {
+ LCS-AP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ LCS-AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+LCS-AP-ELEMENTARY-PROCEDURES-CLASS-1 LCS-AP-ELEMENTARY-PROCEDURE ::= {
+ location-Service-Request |
+ connectionless-Information-Transfer |
+ location-Abort |
+ reset |
+ ciphering-Key-Data-Delivery ,
+ ...
+}
+
+
+
+LCS-AP-ELEMENTARY-PROCEDURES-CLASS-2 LCS-AP-ELEMENTARY-PROCEDURE ::= {
+ connection-Oriented-Information-Transfer ,
+ ...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+
+location-Service-Request LCS-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Location-Request
+ SUCCESSFUL OUTCOME Location-Response
+ UNSUCCESSFUL OUTCOME Location-Response
+ PROCEDURE CODE id-Location-Service-Request
+ CRITICALITY reject
+}
+
+connection-Oriented-Information-Transfer LCS-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Connection-Oriented-Information
+ PROCEDURE CODE id-Connection-Oriented-Information-Transfer
+ CRITICALITY reject
+}
+
+connectionless-Information-Transfer LCS-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Connectionless-Information
+ UNSUCCESSFUL OUTCOME Connectionless-Information
+ PROCEDURE CODE id-Connectionless-Information-Transfer
+ CRITICALITY reject
+}
+
+location-Abort LCS-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Location-Abort-Request
+ SUCCESSFUL OUTCOME Location-Response
+ PROCEDURE CODE id-Location-Abort
+ CRITICALITY reject
+}
+
+reset LCS-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Reset-Request
+ SUCCESSFUL OUTCOME Reset-Acknowledge
+ PROCEDURE CODE id-Reset
+ CRITICALITY reject
+}
+
+ciphering-Key-Data-Delivery LCS-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Ciphering-Key-Data
+ SUCCESSFUL OUTCOME Ciphering-Key-Data-Result
+ UNSUCCESSFUL OUTCOME Ciphering-Key-Data-Result
+ PROCEDURE CODE id-Ciphering-Key-Data-Delivery
+ CRITICALITY reject
+}
+
+END
diff --git a/epan/dissectors/asn1/lcsap/lcsap.cnf b/epan/dissectors/asn1/lcsap/lcsap.cnf
new file mode 100644
index 00000000..e4ae9d4a
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/lcsap.cnf
@@ -0,0 +1,382 @@
+# lcsap.cnf
+# lcsap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.EXPORTS
+Correlation-ID_PDU
+Positioning-Data_PDU
+
+#.PDU
+LCS-AP-PDU
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.NO_EMIT
+TBCD-STRING
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+Presence
+
+TriggeringMessage
+ProtocolIE-ContainerList
+Message-Identifier
+Bearing
+#.END
+
+
+#.TYPE_RENAME
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+
+ProtocolExtensionField/id ext_id
+
+#PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+
+#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(lcsap_ProtocolIE_ID_vals), "unknown (%d)"));
+ }
+#.END
+
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+#.FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS Payload-Type VAL_PTR=&PayloadType
+
+# LCSAP connectionless-transfer
+# procedures, which according to 3GPP TS 29.171 LCS-AP, can only contain an LPPa
+# payload within the APDU IE of the procedure.
+
+#.FN_HDR Connectionless-Information
+
+ PayloadType = 1; /* LPPa */
+
+#.FN_BODY APDU VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (parameter_tvb) {
+ switch (PayloadType) {
+ case 0:
+ /* LPP */
+ if (lpp_handle) {
+ call_dissector(lpp_handle, parameter_tvb, %(ACTX)s->pinfo, tree);
+ }
+ break;
+ case 1:
+ /* LPPa */
+ if (lppa_handle) {
+ call_dissector(lppa_handle, parameter_tvb, %(ACTX)s->pinfo, tree);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ PayloadType = -1;
+
+#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
+#.FN_FTR ProcedureCode
+
+ {
+ guint8 tmp = tvb_get_guint8(tvb, 0);
+
+ if (tmp == 0)
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%sReq",
+ val_to_str(ProcedureCode, lcsap_ProcedureCode_vals, "unknown message"));
+ else if (tmp == 32)
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%sResp",
+ val_to_str(ProcedureCode, lcsap_ProcedureCode_vals, "unknown message"));
+ else
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s",
+ val_to_str(ProcedureCode, lcsap_ProcedureCode_vals, "unknown message"));
+ }
+
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+#--- Parameterization is not supported in asn2wrs ---
+
+#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, LCS-AP-PROTOCOL-IES : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-Container {{IEsSetParam}}
+
+
+#.END
+
+
+# Currently not used
+# FN_PARS ProtocolIE-ContainerPairList
+#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# FN_HDR ProtocolIE-ContainerPairList
+# static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, 0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
+# END
+
+# following construction is not supported by asn2wrs
+# PLMN-ID ::= TBCD-STRING (SIZE (3))
+# TBCD-STRING ::= OCTET STRING
+# 3GPP TS 29.171 version 10.3.0 Release 10
+# 7.4.27 PLMN Identity
+#.FN_BODY PLMN-ID VAL_PTR = parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, &parameter_tvb);
+ if(tvb_reported_length(tvb)==0)
+ return offset;
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lcsap_plmnd_id);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
+#.END
+
+#.FN_BODY Positioning-Method-And-Usage VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ proto_tree_add_item(tree, hf_lcsap_pos_method, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_lcsap_pos_usage, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+
+
+#.FN_BODY GNSS-Positioning-Method-And-Usage VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ proto_tree_add_item(tree, hf_lcsap_gnss_pos_method, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_lcsap_gnss_id, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_lcsap_gnss_pos_usage, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+
+#
+# Code copied from packet-gsm_a_common.c
+#.FN_BODY Uncertainty-Code VAL_PTR = &uncertainty_code
+ guint32 uncertainty_code;
+
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 127U, &uncertainty_code, FALSE);
+
+ proto_item_append_text(actx->created_item, " (%.1f m)", 10 * (pow(1.1, (double)uncertainty_code) - 1));
+
+#.FN_BODY DegreesLatitude VAL_PTR = &degrees
+ gint32 degrees;
+
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 8388607U, &degrees, FALSE);
+
+ proto_item_append_text(actx->created_item, " (%.5f degrees)", (((double)degrees/8388607) * 90));
+
+#.FN_BODY DegreesLongitude VAL_PTR = &degrees
+ gint32 degrees;
+
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -8388608, 8388607U, &degrees, FALSE);
+
+ proto_item_append_text(actx->created_item, " (%.5f degrees)", (((double)degrees/16777215) * 360));
+
+#.FN_BODY IMSI VAL_PTR=&imsi_tvb
+ tvbuff_t *imsi_tvb;
+%(DEFAULT_BODY)s
+ if (imsi_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lcsap_imsi);
+ dissect_e212_imsi(imsi_tvb, actx->pinfo, subtree, 0, tvb_reported_length(imsi_tvb), FALSE);
+ }
+
+#.FN_BODY Horizontal-Accuracy VAL_PTR=&uncertainty_code
+ guint32 uncertainty_code;
+%(DEFAULT_BODY)s
+
+#.FN_FTR Horizontal-Accuracy
+ proto_item_append_text(actx->created_item, " (%.1f m)", 10 * (pow(1.1, (double)uncertainty_code) - 1));
+
+#.FN_BODY Vertical-Accuracy VAL_PTR=&vertical_uncertainty
+ guint32 vertical_uncertainty;
+%(DEFAULT_BODY)s
+
+#.FN_FTR Vertical-Accuracy
+ proto_item_append_text(actx->created_item, " (%.1f m)", 45 * (pow(1.025, (double)vertical_uncertainty) - 1));
+
+ #.FN_BODY Civic-Address VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+ %(DEFAULT_BODY)s
+ if (parameter_tvb && xml_handle) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lcsap_civic_address);
+ if (tvb_strncaseeql(parameter_tvb, 0, "<?xml", 5) == 0) {
+ call_dissector(xml_handle, parameter_tvb, actx->pinfo, subtree);
+ } else {
+ proto_tree_add_expert(tree, actx->pinfo, &ei_lcsap_civic_data_not_xml, parameter_tvb, 0, -1);
+ }
+ }
+
+
+
+
+#.TYPE_ATTR
+ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(lcsap_ProtocolIE_ID_vals)
+#.ASSIGN_VALUE_TO_TYPE # LCSAP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+id-Location-Service-Request ProcedureCode
+id-Connection-Oriented-Information-Transfer ProcedureCode
+id-Connectionless-Information-Transfer ProcedureCode
+id-Location-Abort ProcedureCode
+id-Reset ProcedureCode
+id-Ciphering-Key-Data-Delivery ProcedureCode
+
+# ProtocolIE-ID
+id-Correlation-ID ProtocolIE-ID
+id-Location-Type ProtocolIE-ID
+id-E-UTRAN-Cell-Identifier ProtocolIE-ID
+id-LCS-Client-Type ProtocolIE-ID
+id-LCS-Priority ProtocolIE-ID
+id-LCS-QOS ProtocolIE-ID
+id-UE-Positioning-Capability ProtocolIE-ID
+id-Include-Velocity ProtocolIE-ID
+id-IMSI ProtocolIE-ID
+id-IMEI ProtocolIE-ID
+id-MultipleAPDUs ProtocolIE-ID
+id-Positioning-Data ProtocolIE-ID
+id-Velocity-Estimate ProtocolIE-ID
+id-Accuracy-Fulfillment-Indicator ProtocolIE-ID
+id-LCS-Cause ProtocolIE-ID
+id-Payload-Type ProtocolIE-ID
+id-Return-Error-Cause ProtocolIE-ID
+id-APDU ProtocolIE-ID
+id-Return-Error-Request ProtocolIE-ID
+id-Location-Estimate ProtocolIE-ID
+id-Source-Identity ProtocolIE-ID
+id-Destination-ID ProtocolIE-ID
+id-LCS-Service-Type-ID ProtocolIE-ID
+id-Cell-Portion-ID ProtocolIE-ID
+id-Civic-Address ProtocolIE-ID
+id-Barometric-Pressure ProtocolIE-ID
+id-Additional-PositioningDataSet ProtocolIE-ID
+id-RAT-Type ProtocolIE-ID
+id-Ciphering-Data ProtocolIE-ID
+id-Ciphering-Data-Ack ProtocolIE-ID
+id-Ciphering-Data-Error-Report ProtocolIE-ID
+id-Coverage-Level ProtocolIE-ID
+id-UE-Country-Determination-Indication ProtocolIE-ID
+id-UE-Area-Indication ProtocolIE-ID
+
+#.REGISTER
+
+#LCS-AP-PROTOCOL-IES
+Accuracy-Fulfillment-Indicator N lcsap.ies id-Accuracy-Fulfillment-Indicator
+APDU N lcsap.ies id-APDU
+Correlation-ID N lcsap.ies id-Correlation-ID
+Network-Element N lcsap.ies id-Destination-ID
+E-CGI N lcsap.ies id-E-UTRAN-Cell-Identifier
+Include-Velocity N lcsap.ies id-Include-Velocity
+IMEI N lcsap.ies id-IMEI
+IMSI N lcsap.ies id-IMSI
+LCS-Client-Type N lcsap.ies id-LCS-Client-Type
+LCS-Priority N lcsap.ies id-LCS-Priority
+LCS-QoS N lcsap.ies id-LCS-QOS
+LCS-Cause N lcsap.ies id-LCS-Cause
+Geographical-Area N lcsap.ies id-Location-Estimate
+Location-Type N lcsap.ies id-Location-Type
+MultipleAPDUs N lcsap.ies id-MultipleAPDUs
+Payload-Type N lcsap.ies id-Payload-Type
+Positioning-Data N lcsap.ies id-Positioning-Data
+Return-Error-Type N lcsap.ies id-Return-Error-Request
+Return-Error-Cause N lcsap.ies id-Return-Error-Cause
+Network-Element N lcsap.ies id-Source-Identity
+UE-Positioning-Capability N lcsap.ies id-UE-Positioning-Capability
+Velocity-Estimate N lcsap.ies id-Velocity-Estimate
+Barometric-Pressure N lcsap.extension id-Barometric-Pressure
+Additional-PositioningDataSet N lcsap.extension id-Additional-PositioningDataSet
+RAT-Type N lcsap.ies id-RAT-Type
+Ciphering-Data N lcsap.ies id-Ciphering-Data
+Ciphering-Data-Ack N lcsap.ies id-Ciphering-Data-Ack
+Ciphering-Data-Error-Report N lcsap.ies id-Ciphering-Data-Error-Report
+Coverage-Level N lcsap.ies id-Coverage-Level
+UE-Country-Determination-Indication N lcsap.ies id-UE-Country-Determination-Indication
+UE-Area-Indication N lcsap.ies id-UE-Area-Indication
+
+#LCS-AP-PROTOCOL-EXTENSION
+LCS-Service-Type-ID N lcsap.extension id-LCS-Service-Type-ID
+Cell-Portion-ID N lcsap.extension id-Cell-Portion-ID
+Civic-Address N lcsap.extension id-Civic-Address
+E-CGI N lcsap.extension id-E-UTRAN-Cell-Identifier
+
+
+Location-Request N lcsap.proc.imsg id-Location-Service-Request
+Location-Response N lcsap.proc.sout id-Location-Service-Request
+Location-Response N lcsap.proc.uout id-Location-Service-Request
+
+Connection-Oriented-Information N lcsap.proc.imsg id-Connection-Oriented-Information-Transfer
+
+Connectionless-Information N lcsap.proc.imsg id-Connectionless-Information-Transfer
+Connectionless-Information N lcsap.proc.uout id-Connectionless-Information-Transfer
+
+Location-Abort-Request N lcsap.proc.imsg id-Location-Abort
+Location-Response N lcsap.proc.sout id-Location-Abort
+
+Reset-Request N lcsap.proc.imsg id-Reset
+Reset-Acknowledge N lcsap.proc.sout id-Reset
+
+Ciphering-Key-Data N lcsap.proc.imsg id-Ciphering-Key-Data-Delivery
+Ciphering-Key-Data-Result N lcsap.proc.sout id-Ciphering-Key-Data-Delivery
+Ciphering-Key-Data-Result N lcsap.proc.uout id-Ciphering-Key-Data-Delivery
+
+
+
+#.TYPE_ATTR
+BitRate TYPE = FT_UINT64 DISPLAY = BASE_DEC STRINGS = NULL
+#.END
+
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/lcsap/packet-lcsap-template.c b/epan/dissectors/asn1/lcsap/packet-lcsap-template.c
new file mode 100644
index 00000000..b9ff0c8c
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/packet-lcsap-template.c
@@ -0,0 +1,329 @@
+/* packet-lcsap.c
+ * Routines for LCS-AP packet dissembly.
+ *
+ * Copyright (c) 2011 by Spenser Sheng <spenser.sheng@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1999 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References:
+ * ETSI TS 129 171 V9.2.0 (2010-10)
+ */
+
+#include "config.h"
+
+#include <math.h>
+
+#include <epan/packet.h>
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/sctpppids.h>
+#include <epan/expert.h>
+
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-e212.h"
+#include "packet-sccp.h"
+#include "packet-lcsap.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "LCS Application Protocol"
+#define PSNAME "LCSAP"
+#define PFNAME "lcsap"
+
+void proto_register_lcsap(void);
+void proto_reg_handoff_lcsap(void);
+
+#define SCTP_PORT_LCSAP 9082
+#include "packet-lcsap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_lcsap = -1;
+
+static int hf_lcsap_pos_method = -1;
+static int hf_lcsap_pos_usage = -1;
+static int hf_lcsap_gnss_pos_method = -1;
+static int hf_lcsap_gnss_id = -1;
+static int hf_lcsap_gnss_pos_usage = -1;
+#include "packet-lcsap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_lcsap = -1;
+static int ett_lcsap_plmnd_id = -1;
+static int ett_lcsap_imsi = -1;
+static int ett_lcsap_civic_address = -1;
+
+#include "packet-lcsap-ett.c"
+
+static expert_field ei_lcsap_civic_data_not_xml = EI_INIT;
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+static guint32 ProtocolExtensionID;
+static guint32 PayloadType = -1;
+
+/* Dissector handles */
+static dissector_handle_t lcsap_handle;
+static dissector_handle_t lpp_handle;
+static dissector_handle_t lppa_handle;
+static dissector_handle_t xml_handle;
+
+/* Dissector tables */
+static dissector_table_t lcsap_ies_dissector_table;
+
+static dissector_table_t lcsap_extension_dissector_table;
+static dissector_table_t lcsap_proc_imsg_dissector_table;
+static dissector_table_t lcsap_proc_sout_dissector_table;
+static dissector_table_t lcsap_proc_uout_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+
+/* 7.4.13 Positioning Data
+ * Coding of positioning method (bits 8-4)
+ */
+static const value_string lcsap_pos_method_vals[] = {
+ { 0x00, "Cell ID" },
+ { 0x01, "Reserved" },
+ { 0x02, "E-CID" },
+ { 0x03, "Reserved" },
+ { 0x04, "OTDOA" },
+ { 0x05, "Reserved" },
+ { 0x06, "Reserved" },
+ { 0x07, "Reserved" },
+ { 0x08, "U-TDOA" },
+ { 0x09, "Reserved" },
+ { 0x0a, "Reserved" },
+ { 0x0b, "Reserved" },
+ { 0x0c, "Reserved for other location technologies" },
+ { 0x0d, "Reserved for other location technologies" },
+ { 0x0e, "Reserved for other location technologies" },
+ { 0x0f, "Reserved for other location technologies" },
+ { 0x10, "Reserved for network specific positioning methods" },
+ { 0x11, "Reserved for network specific positioning methods" },
+ { 0x12, "Reserved for network specific positioning methods" },
+ { 0x13, "Reserved for network specific positioning methods" },
+ { 0x14, "Reserved for network specific positioning methods" },
+ { 0x15, "Reserved for network specific positioning methods" },
+ { 0x16, "Reserved for network specific positioning methods" },
+ { 0x17, "Reserved for network specific positioning methods" },
+ { 0x18, "Reserved for network specific positioning methods" },
+ { 0x19, "Reserved for network specific positioning methods" },
+ { 0x1a, "Reserved for network specific positioning methods" },
+ { 0x1b, "Reserved for network specific positioning methods" },
+ { 0x1c, "Reserved for network specific positioning methods" },
+ { 0x1d, "Reserved for network specific positioning methods" },
+ { 0x1e, "Reserved for network specific positioning methods" },
+ { 0x1f, "Reserved for network specific positioning methods" },
+ { 0, NULL }
+};
+
+/* Coding of usage (bits 3-1)*/
+static const value_string lcsap_pos_usage_vals[] = {
+ { 0x00, "Attempted unsuccessfully due to failure or interruption - not used" },
+ { 0x01, "Attempted successfully: results not used to generate location - not used." },
+ { 0x02, "Attempted successfully: results used to verify but not generate location - not used." },
+ { 0x03, "Attempted successfully: results used to generate location" },
+ { 0x04, "Attempted successfully: case where UE supports multiple mobile based positioning methods and the actual method or methods used by the UE cannot be determined." },
+ { 0x05, "Reserved" },
+ { 0x06, "Reserved" },
+ { 0x07, "Reserved" },
+ { 0, NULL }
+};
+
+/* Coding of Method (Bits 8-7) */
+static const value_string lcsap_gnss_pos_method_vals[] = {
+ { 0x00, "UE-Based" },
+ { 0x01, "UE-Assisted" },
+ { 0x02, "Conventional" },
+ { 0x03, "Reserved" },
+ { 0, NULL }
+};
+
+/* Coding of GNSS ID (Bits 6-4) */
+static const value_string lcsap_gnss_id_vals[] = {
+ { 0x00, "GPS" },
+ { 0x01, "Galileo" },
+ { 0x02, "SBAS" },
+ { 0x03, "Modernized GPS" },
+ { 0x04, "QZSS" },
+ { 0x05, "GLONASS" },
+ { 0x06, "Reserved" },
+ { 0x07, "Reserved" },
+ { 0, NULL }
+};
+
+/* Coding of usage (bits 3- 1) */
+static const value_string lcsap_gnss_pos_usage_vals[] = {
+ { 0x00, "Attempted unsuccessfully due to failure or interruption" },
+ { 0x01, "Attempted successfully: results not used to generate location" },
+ { 0x02, "Attempted successfully: results used to verify but not generate location" },
+ { 0x03, "Attempted successfully: results used to generate location" },
+ { 0x04, "Attempted successfully: case where UE supports multiple mobile based positioning methods and the actual method or methods used by the UE cannot be determined." },
+ { 0x05, "Reserved" },
+ { 0x06, "Reserved" },
+ { 0x07, "Reserved" },
+ { 0, NULL }
+};
+
+
+#include "packet-lcsap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(lcsap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(lcsap_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(lcsap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(lcsap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(lcsap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static int
+dissect_lcsap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *lcsap_item = NULL;
+ proto_tree *lcsap_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LCSAP");
+
+ /* create the lcsap protocol tree */
+ lcsap_item = proto_tree_add_item(tree, proto_lcsap, tvb, 0, -1, ENC_NA);
+ lcsap_tree = proto_item_add_subtree(lcsap_item, ett_lcsap);
+
+ dissect_LCS_AP_PDU_PDU(tvb, pinfo, lcsap_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_reg_handoff_lcsap ---------------------------------------*/
+void
+proto_reg_handoff_lcsap(void)
+{
+ lpp_handle = find_dissector_add_dependency("lpp", proto_lcsap);
+ lppa_handle = find_dissector_add_dependency("lppa", proto_lcsap);
+ xml_handle = find_dissector_add_dependency("xml", proto_lcsap);
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_LCSAP, lcsap_handle);
+ dissector_add_uint("sctp.ppi", LCS_AP_PAYLOAD_PROTOCOL_ID, lcsap_handle);
+#include "packet-lcsap-dis-tab.c"
+
+}
+
+/*--- proto_register_lcsap -------------------------------------------*/
+void proto_register_lcsap(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ /* 7.4.13 Positioning Data */
+ { &hf_lcsap_pos_method,
+ { "Positioning Method", "lcsap.pos_method",
+ FT_UINT8, BASE_DEC, VALS(lcsap_pos_method_vals), 0xf8,
+ NULL, HFILL }
+ },
+ { &hf_lcsap_pos_usage,
+ { "Positioning usage", "lcsap.pos_usage",
+ FT_UINT8, BASE_DEC, VALS(lcsap_pos_usage_vals), 0x07,
+ NULL, HFILL }
+ },
+ { &hf_lcsap_gnss_pos_method,
+ { "GNSS Positioning Method", "lcsap.gnss_pos_method",
+ FT_UINT8, BASE_DEC, VALS(lcsap_gnss_pos_method_vals), 0xc0,
+ NULL, HFILL }
+ },
+ { &hf_lcsap_gnss_id,
+ { "GNSS ID", "lcsap.gnss_id",
+ FT_UINT8, BASE_DEC, VALS(lcsap_gnss_id_vals), 0x38,
+ NULL, HFILL }
+ },
+ { &hf_lcsap_gnss_pos_usage,
+ { "GNSS Positioning usage", "lcsap.gnss_pos_usage",
+ FT_UINT8, BASE_DEC, VALS(lcsap_gnss_pos_usage_vals), 0x07,
+ NULL, HFILL }
+ },
+
+#include "packet-lcsap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_lcsap,
+ &ett_lcsap_plmnd_id,
+ &ett_lcsap_imsi,
+ &ett_lcsap_civic_address,
+#include "packet-lcsap-ettarr.c"
+ };
+
+ /* module_t *lcsap_module; */
+ expert_module_t *expert_lcsap;
+
+ static ei_register_info ei[] = {
+ { &ei_lcsap_civic_data_not_xml,
+ { "lcsap.civic_data_not_xml", PI_PROTOCOL, PI_ERROR, "Should contain a UTF-8 encoded PIDF - LO XML document as defined in IETF RFC 4119", EXPFILL } },
+ };
+
+
+ /* Register protocol */
+ proto_lcsap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_lcsap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ lcsap_handle = register_dissector("lcsap", dissect_lcsap, proto_lcsap);
+
+ /* Register dissector tables */
+ lcsap_ies_dissector_table = register_dissector_table("lcsap.ies", "LCS-AP-PROTOCOL-IES", proto_lcsap, FT_UINT32, BASE_DEC);
+
+ expert_lcsap = expert_register_protocol(proto_lcsap);
+ expert_register_field_array(expert_lcsap, ei, array_length(ei));
+
+ lcsap_extension_dissector_table = register_dissector_table("lcsap.extension", "LCS-AP-PROTOCOL-EXTENSION", proto_lcsap, FT_UINT32, BASE_DEC);
+ lcsap_proc_imsg_dissector_table = register_dissector_table("lcsap.proc.imsg", "LCS-AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_lcsap, FT_UINT32, BASE_DEC);
+ lcsap_proc_sout_dissector_table = register_dissector_table("lcsap.proc.sout", "LCS-AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_lcsap, FT_UINT32, BASE_DEC);
+ lcsap_proc_uout_dissector_table = register_dissector_table("lcsap.proc.uout", "LCS-AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_lcsap, FT_UINT32, BASE_DEC);
+
+ /* lcsap_module = prefs_register_protocol(proto_lcsap, NULL); */
+
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/lcsap/packet-lcsap-template.h b/epan/dissectors/asn1/lcsap/packet-lcsap-template.h
new file mode 100644
index 00000000..d45cbcf7
--- /dev/null
+++ b/epan/dissectors/asn1/lcsap/packet-lcsap-template.h
@@ -0,0 +1,20 @@
+/* packet-lcsap.c
+ * Routines for LCS-AP packet dissembly.
+ *
+ * Copyright (c) 2011 by Spenser Sheng <spenser.sheng@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1999 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References:
+ * ETSI TS 129 171 V9.2.0 (2010-10)
+ */
+
+#ifndef PACKET_LCSAP_H
+#define PACKET_LCSAP_H
+
+#include "packet-lcsap-exp.h"
+
+#endif /* PACKET_LCSAP_H */
diff --git a/epan/dissectors/asn1/ldap/CMakeLists.txt b/epan/dissectors/asn1/ldap/CMakeLists.txt
new file mode 100644
index 00000000..6e5bca6b
--- /dev/null
+++ b/epan/dissectors/asn1/ldap/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ldap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ Lightweight-Directory-Access-Protocol-V3.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ldap/Lightweight-Directory-Access-Protocol-V3.asn b/epan/dissectors/asn1/ldap/Lightweight-Directory-Access-Protocol-V3.asn
new file mode 100644
index 00000000..4e847c80
--- /dev/null
+++ b/epan/dissectors/asn1/ldap/Lightweight-Directory-Access-Protocol-V3.asn
@@ -0,0 +1,540 @@
+-- Module Lightweight-Directory-Access-Protocol-V3 (RFC 2251:12/1997)
+Lightweight-Directory-Access-Protocol-V3
+--
+-- This is based on the ASN.1 definitions in RFC 2251, with changes made
+-- as necessary for Wireshark.
+-- Copyright (C) The Internet Society (1997). This version of
+-- this ASN.1 module is part of RFC 2251;
+-- see the RFC itself for full legal notices.
+--
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+LDAPMessage ::= SEQUENCE {
+ messageID MessageID,
+ protocolOp ProtocolOp,
+ controls [0] Controls OPTIONAL
+}
+
+MessageID ::= INTEGER(0..maxInt)
+
+ProtocolOp ::= CHOICE {
+ bindRequest BindRequest,
+ bindResponse BindResponse,
+ unbindRequest UnbindRequest,
+ searchRequest SearchRequest,
+ searchResEntry SearchResultEntry,
+ searchResDone SearchResultDone,
+ searchResRef SearchResultReference,
+ modifyRequest ModifyRequest,
+ modifyResponse ModifyResponse,
+ addRequest AddRequest,
+ addResponse AddResponse,
+ delRequest DelRequest,
+ delResponse DelResponse,
+ modDNRequest ModifyDNRequest,
+ modDNResponse ModifyDNResponse,
+ compareRequest CompareRequest,
+ compareResponse CompareResponse,
+ abandonRequest AbandonRequest,
+ extendedReq ExtendedRequest,
+ extendedResp ExtendedResponse,
+ intermediateResponse IntermediateResponse
+ }
+
+
+maxInt INTEGER ::= 2147483647 -- (2^^31 - 1)
+
+LDAPString ::= OCTET STRING
+
+LDAPOID ::= OCTET STRING
+
+LDAPDN ::= LDAPString
+
+RelativeLDAPDN ::= LDAPString
+
+AttributeType ::= LDAPString
+
+AttributeDescription ::= LDAPString
+
+AttributeDescriptionList ::= SEQUENCE OF AttributeDescription
+
+AttributeValue ::= OCTET STRING
+
+AttributeValueAssertion ::= SEQUENCE {
+ attributeDesc AttributeDescription,
+ assertionValue AssertionValue
+}
+
+AssertionValue ::= OCTET STRING
+
+Attribute ::= SEQUENCE {type AttributeDescription,
+ vals SET OF AttributeValue
+}
+
+MatchingRuleId ::= LDAPString
+
+LDAPResult ::= SEQUENCE {
+ resultCode
+ ENUMERATED {success(0), operationsError(1), protocolError(2),
+ timeLimitExceeded(3), sizeLimitExceeded(4), compareFalse(5),
+ compareTrue(6), authMethodNotSupported(7),
+ strongAuthRequired(8),
+ -- 9 reserved
+ referral(10),-- new-- adminLimitExceeded(11),-- new--
+ unavailableCriticalExtension(12),-- new--
+ confidentialityRequired(13),-- new--
+ saslBindInProgress(14),-- new-- noSuchAttribute(16),
+ undefinedAttributeType(17), inappropriateMatching(18),
+ constraintViolation(19), attributeOrValueExists(20),
+ invalidAttributeSyntax(21),
+ -- 22-31 unused
+ noSuchObject(32), aliasProblem(33),
+ invalidDNSyntax(34),
+ -- 35 reserved for undefined isLeaf
+ aliasDereferencingProblem(36),
+ -- 37-47 unused
+ inappropriateAuthentication(48), invalidCredentials(49),
+ insufficientAccessRights(50), busy(51), unavailable(52),
+ unwillingToPerform(53),
+ loopDetect(54),
+ -- 55-63 unused
+ namingViolation(64), objectClassViolation(65),
+ notAllowedOnNonLeaf(66), notAllowedOnRDN(67),
+ entryAlreadyExists(68),
+ objectClassModsProhibited(69),
+ -- 70 reserved for CLDAP
+ affectsMultipleDSAs(71),-- new--
+ -- 72-79 unused
+ other(80),
+ canceled(118), noSuchOperation(119), tooLate(120), cannotCancel(121) -- RFC 3909
+ },
+ -- 81-90 reserved for APIs
+ matchedDN LDAPDN,
+ errorMessage ErrorMessage,
+ referral [3] Referral OPTIONAL
+}
+
+Referral ::= SEQUENCE OF LDAPURL
+
+LDAPURL ::= OCTET STRING -- LDAPString - - limited to characters permitted in URLs
+
+Controls ::= SEQUENCE OF Control
+
+Control ::= SEQUENCE {
+ controlType ControlType,
+ criticality BOOLEAN DEFAULT FALSE,
+ controlValue OCTET STRING OPTIONAL
+}
+
+ControlType ::= LDAPOID
+
+BindRequest ::= [APPLICATION 0] SEQUENCE {
+ version INTEGER(1..127),
+ name LDAPDN,
+ authentication AuthenticationChoice
+}
+
+AuthenticationChoice ::= CHOICE {
+ simple [0] Simple,
+ -- 1 and 2 reserved
+ sasl [3] SaslCredentials,
+ -- 10,11 from bug 1148
+ ntlmsspNegotiate [10] IMPLICIT OCTET STRING,
+ ntlmsspAuth [11] IMPLICIT OCTET STRING
+}
+
+Simple ::= OCTET STRING
+
+SaslCredentials ::= SEQUENCE {
+ mechanism Mechanism,
+ credentials Credentials OPTIONAL
+}
+
+--4.1.2. String Types
+--
+-- The LDAPString is a notational convenience to indicate that, although
+-- strings of LDAPString type encode as OCTET STRING types, the ISO
+-- 10646 [13] character set (a superset of Unicode) is used, encoded
+-- following the UTF-8 algorithm [14]. Note that in the UTF-8 algorithm
+-- characters which are the same as ASCII (0x0000 through 0x007F) are
+-- represented as that same ASCII character in a single byte. The other
+-- byte values are used to form a variable-length encoding of an
+-- arbitrary character.
+
+-- Mechanism ::= LDAPString
+Mechanism ::= OCTET STRING
+
+Credentials ::= OCTET STRING
+
+BindResponse ::= [APPLICATION 1] SEQUENCE {
+-- COMPONENTS OF LDAPResult,
+ resultCode
+ ENUMERATED {success(0), operationsError(1), protocolError(2),
+ timeLimitExceeded(3), sizeLimitExceeded(4), compareFalse(5),
+ compareTrue(6), authMethodNotSupported(7),
+ strongAuthRequired(8),
+ -- 9 reserved
+ referral(10),-- new-- adminLimitExceeded(11),-- new--
+ unavailableCriticalExtension(12),-- new--
+ confidentialityRequired(13),-- new--
+ saslBindInProgress(14),-- new-- noSuchAttribute(16),
+ undefinedAttributeType(17), inappropriateMatching(18),
+ constraintViolation(19), attributeOrValueExists(20),
+ invalidAttributeSyntax(21),
+ -- 22-31 unused
+ noSuchObject(32), aliasProblem(33),
+ invalidDNSyntax(34),
+ -- 35 reserved for undefined isLeaf
+ aliasDereferencingProblem(36),
+ -- 37-47 unused
+ inappropriateAuthentication(48), invalidCredentials(49),
+ insufficientAccessRights(50), busy(51), unavailable(52),
+ unwillingToPerform(53),
+ loopDetect(54),
+ -- 55-63 unused
+ namingViolation(64), objectClassViolation(65),
+ notAllowedOnNonLeaf(66), notAllowedOnRDN(67),
+ entryAlreadyExists(68),
+ objectClassModsProhibited(69),
+ -- 70 reserved for CLDAP
+ affectsMultipleDSAs(71),-- new--
+ -- 72-79 unused
+ other(80),
+ canceled(118), noSuchOperation(119), tooLate(120), cannotCancel(121) -- RFC 3909
+ },
+ -- 81-90 reserved for APIs
+ matchedDN LDAPDN,
+ errorMessage ErrorMessage,
+ referral [3] Referral OPTIONAL,
+
+-- end of components
+ serverSaslCreds [7] ServerSaslCreds OPTIONAL
+}
+
+ServerSaslCreds ::= OCTET STRING
+
+ErrorMessage ::= LDAPString
+
+UnbindRequest ::= [APPLICATION 2] NULL
+
+SearchRequest ::= [APPLICATION 3] SEQUENCE {
+ baseObject LDAPDN,
+ scope ENUMERATED {baseObject(0), singleLevel(1), wholeSubtree(2)},
+ derefAliases
+ ENUMERATED {neverDerefAliases(0), derefInSearching(1),
+ derefFindingBaseObj(2), derefAlways(3)},
+ sizeLimit INTEGER(0..maxInt),
+ timeLimit INTEGER(0..maxInt),
+ typesOnly BOOLEAN,
+ filter Filter,
+ attributes AttributeDescriptionList
+}
+
+Filter ::= CHOICE {
+ and [0] SET OF Filter,
+ or [1] SET OF Filter,
+ not [2] Filter,
+ equalityMatch [3] AttributeValueAssertion,
+ substrings [4] SubstringFilter,
+ greaterOrEqual [5] AttributeValueAssertion,
+ lessOrEqual [6] AttributeValueAssertion,
+ present [7] AttributeDescription,
+ approxMatch [8] AttributeValueAssertion,
+ extensibleMatch [9] MatchingRuleAssertion
+}
+
+SubstringFilter ::= SEQUENCE {
+ type AttributeDescription,
+ -- at least one must be present
+ substrings
+ SEQUENCE OF
+ CHOICE {initial [0] LDAPString,
+ any [1] LDAPString,
+ final [2] LDAPString}
+}
+
+MatchingRuleAssertion ::= SEQUENCE {
+ matchingRule [1] MatchingRuleId OPTIONAL,
+ type [2] AttributeDescription OPTIONAL,
+ matchValue [3] AssertionValue,
+ dnAttributes [4] BOOLEAN DEFAULT FALSE
+}
+
+SearchResultEntry ::= [APPLICATION 4] SEQUENCE {
+ objectName LDAPDN,
+ attributes PartialAttributeList
+}
+
+PartialAttributeList ::=
+ SEQUENCE OF SEQUENCE {type AttributeDescription,
+ vals SET OF AttributeValue}
+
+SearchResultReference ::= [APPLICATION 19] SEQUENCE OF LDAPURL
+
+SearchResultDone ::= [APPLICATION 5] LDAPResult
+
+ModifyRequest ::= [APPLICATION 6] SEQUENCE {
+ object LDAPDN,
+ modification
+ SEQUENCE OF
+ SEQUENCE {operation ENUMERATED {add(0), delete(1), replace(2), increment(3)},
+ modification AttributeTypeAndValues}
+}
+
+AttributeTypeAndValues ::= SEQUENCE {
+ type AttributeDescription,
+ vals SET OF AttributeValue
+}
+
+ModifyResponse ::= [APPLICATION 7] LDAPResult
+
+AddRequest ::= [APPLICATION 8] SEQUENCE {
+ entry LDAPDN,
+ attributes AttributeList
+}
+
+AttributeList ::=
+ SEQUENCE OF SEQUENCE {type AttributeDescription,
+ vals SET OF AttributeValue}
+
+AddResponse ::= [APPLICATION 9] LDAPResult
+
+DelRequest ::= [APPLICATION 10] LDAPDN
+
+DelResponse ::= [APPLICATION 11] LDAPResult
+
+ModifyDNRequest ::= [APPLICATION 12] SEQUENCE {
+ entry LDAPDN,
+ newrdn RelativeLDAPDN,
+ deleteoldrdn BOOLEAN,
+ newSuperior [0] LDAPDN OPTIONAL
+}
+
+ModifyDNResponse ::= [APPLICATION 13] LDAPResult
+
+CompareRequest ::= [APPLICATION 14] SEQUENCE {
+ entry LDAPDN,
+ ava AttributeValueAssertion
+}
+
+CompareResponse ::= [APPLICATION 15] LDAPResult
+
+AbandonRequest ::= [APPLICATION 16] MessageID
+
+ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
+ requestName [0] LDAPOID,
+ requestValue [1] OCTET STRING OPTIONAL
+}
+
+ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
+-- COMPONENTS OF LDAPResult,
+ resultCode
+ ENUMERATED {success(0), operationsError(1), protocolError(2),
+ timeLimitExceeded(3), sizeLimitExceeded(4), compareFalse(5),
+ compareTrue(6), authMethodNotSupported(7),
+ strongAuthRequired(8),
+ -- 9 reserved
+ referral(10),-- new-- adminLimitExceeded(11),-- new--
+ unavailableCriticalExtension(12),-- new--
+ confidentialityRequired(13),-- new--
+ saslBindInProgress(14),-- new-- noSuchAttribute(16),
+ undefinedAttributeType(17), inappropriateMatching(18),
+ constraintViolation(19), attributeOrValueExists(20),
+ invalidAttributeSyntax(21),
+ -- 22-31 unused
+ noSuchObject(32), aliasProblem(33),
+ invalidDNSyntax(34),
+ -- 35 reserved for undefined isLeaf
+ aliasDereferencingProblem(36),
+ -- 37-47 unused
+ inappropriateAuthentication(48), invalidCredentials(49),
+ insufficientAccessRights(50), busy(51), unavailable(52),
+ unwillingToPerform(53),
+ loopDetect(54),
+ -- 55-63 unused
+ namingViolation(64), objectClassViolation(65),
+ notAllowedOnNonLeaf(66), notAllowedOnRDN(67),
+ entryAlreadyExists(68),
+ objectClassModsProhibited(69),
+ -- 70 reserved for CLDAP
+ affectsMultipleDSAs(71),-- new--
+ -- 72-79 unused
+ other(80),
+ canceled(118), noSuchOperation(119), tooLate(120), cannotCancel(121) -- RFC 3909
+ },
+ -- 81-90 reserved for APIs
+ matchedDN LDAPDN,
+ errorMessage ErrorMessage,
+ referral [3] Referral OPTIONAL,
+-- end of COMPONENTS
+ responseName [10] ResponseName OPTIONAL,
+ response [11] OCTET STRING OPTIONAL
+}
+
+IntermediateResponse ::= [APPLICATION 25] SEQUENCE {
+ responseName [0] ResponseName OPTIONAL,
+ responseValue [1] OCTET STRING OPTIONAL
+}
+
+ResponseName ::= LDAPOID
+
+-- RFC 2696 - Simple Paged Results Manipulation
+
+SearchControlValue ::= SEQUENCE {
+ size INTEGER --(0..maxInt)--,
+ -- requested page size from client
+ -- result set size estimate from server
+ cookie OCTET STRING
+}
+
+-- RFC 2891 - Server Side Sorting of Search Results
+
+SortKeyList ::= SEQUENCE OF SEQUENCE {
+ attributeType AttributeDescription,
+ orderingRule [0] MatchingRuleId OPTIONAL,
+ reverseOrder [1] BOOLEAN DEFAULT FALSE }
+
+SortResult ::= SEQUENCE {
+ sortResult ENUMERATED {
+ success (0), -- results are sorted
+ operationsError (1), -- server internal failure
+ timeLimitExceeded (3), -- timelimit reached before
+ -- sorting was completed
+ strongAuthRequired (8), -- refused to return sorted
+ -- results via insecure
+ -- protocol
+ adminLimitExceeded (11), -- too many matching entries
+ -- for the server to sort
+ noSuchAttribute (16), -- unrecognized attribute
+ -- type in sort key
+ inappropriateMatching (18), -- unrecognized or
+ -- inappropriate matching
+ -- rule in sort key
+ insufficientAccessRights (50), -- refused to return sorted
+ -- results to this client
+ busy (51), -- too busy to process
+ unwillingToPerform (53), -- unable to sort
+ other (80)
+ },
+ attributeType [0] AttributeDescription OPTIONAL }
+
+
+-- Draft RFC - but used in some implementations
+-- Normaly it's an integer but we want to generate a subitem
+DirSyncFlagsSubEntry ::= SEQUENCE {
+ value [0] INTEGER
+}
+
+DirSyncFlags ::= INTEGER
+
+DirSyncControlValue ::= SEQUENCE {
+ flags DirSyncFlags,
+ maxBytes INTEGER,
+ cookie OCTET STRING
+}
+
+-- RFC 3062
+
+--passwdModifyOID OBJECT IDENTIFIER ::= 1.3.6.1.4.1.4203.1.11.1
+
+PasswdModifyRequestValue ::= SEQUENCE {
+ userIdentity [0] OCTET STRING OPTIONAL,
+ oldPasswd [1] OCTET STRING OPTIONAL,
+ newPasswd [2] OCTET STRING OPTIONAL
+}
+
+PasswdModifyResponseValue ::= SEQUENCE {
+ genPasswd [0] OCTET STRING OPTIONAL
+}
+
+-- RFC 3909
+
+--cancelRequestOID OBJECT IDENTIFIER ::= 1.3.6.1.1.8
+
+CancelRequestValue ::= SEQUENCE {
+ cancelID MessageID
+}
+
+-- RFC 4533
+
+--syncRequestOID OBJECT IDENTIFIER ::= 1.3.6.1.4.1.4203.1.9.1.1
+
+SyncRequestValue ::= SEQUENCE {
+ mode ENUMERATED {
+ -- 0 unused
+ refreshOnly (1),
+ -- 2 reserved
+ refreshAndPersist (3)
+ },
+ cookie OCTET STRING OPTIONAL, -- SyncCookie OPTIONAL
+ reloadHint BOOLEAN DEFAULT FALSE
+}
+
+--syncStateOID OBJECT IDENTIFIER ::= 1.3.6.1.4.1.4203.1.9.1.2
+
+SyncStateValue ::= SEQUENCE {
+ state ENUMERATED {
+ present (0),
+ add (1),
+ modify (2),
+ delete (3)
+ },
+ entryUUID SyncUUID,
+ cookie OCTET STRING OPTIONAL -- SyncCookie OPTIONAL
+}
+
+--syncDoneOID OBJECT IDENTIFIER ::= 1.3.6.1.4.1.4203.1.9.1.3
+
+SyncDoneValue ::= SEQUENCE {
+ cookie OCTET STRING OPTIONAL, -- SyncCookie OPTIONAL
+ refreshDeletes BOOLEAN DEFAULT FALSE
+}
+
+--syncInfoOID OBJECT IDENTIFIER ::= 1.3.6.1.4.1.4203.1.9.1.4
+
+SyncInfoValue ::= CHOICE {
+ newcookie [0] OCTET STRING, -- SyncCookie
+ refreshDelete [1] SEQUENCE {
+ cookie OCTET STRING OPTIONAL, -- SyncCookie OPTIONAL
+ refreshDone BOOLEAN DEFAULT TRUE
+ },
+ refreshPresent [2] SEQUENCE {
+ cookie OCTET STRING OPTIONAL, -- SyncCookie OPTIONAL
+ refreshDone BOOLEAN DEFAULT TRUE
+ },
+ syncIdSet [3] SEQUENCE {
+ cookie OCTET STRING OPTIONAL, -- SyncCookie OPTIONAL
+ refreshDeletes BOOLEAN DEFAULT FALSE,
+ syncUUIDs SET OF SyncUUID
+ }
+}
+
+SyncUUID ::= OCTET STRING(SIZE(16))
+
+-- SyncCookie ::= OCTET STRING
+
+--
+
+-- Draft RFC - Password Policy for LDAP Directories
+-- https://opends.dev.java.net/public/standards/draft-behera-ldap-password-policy.txt
+
+PasswordPolicyResponseValue ::= SEQUENCE {
+ warning [0] CHOICE {
+ timeBeforeExpiration [0] INTEGER (0 .. maxInt),
+ graceAuthNsRemaining [1] INTEGER (0 .. maxInt) } OPTIONAL,
+ error [1] ENUMERATED {
+ passwordExpired (0),
+ accountLocked (1),
+ changeAfterReset (2),
+ passwordModNotAllowed (3),
+ mustSupplyOldPassword (4),
+ insufficientPasswordQuality (5),
+ passwordTooShort (6),
+ passwordTooYoung (7),
+ passwordInHistory (8) } OPTIONAL }
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/ldap/ldap.cnf b/epan/dissectors/asn1/ldap/ldap.cnf
new file mode 100644
index 00000000..cf0f41f3
--- /dev/null
+++ b/epan/dissectors/asn1/ldap/ldap.cnf
@@ -0,0 +1,818 @@
+# ldap.cnf
+# LDAP conformation file
+# Copyright 2005 Anders Broman
+
+#.OMIT_ASSIGNMENT
+DirSyncFlagsSubEntry
+PasswdModifyResponseValue
+
+#.PDU
+
+#.TYPE_RENAME
+
+BindResponse/_untag/resultCode BindResponse_resultCode
+ExtendedResponse/_untag/resultCode ExtendedResponse_resultCode
+ModifyRequest/_untag/modification ModifyRequest_modification
+
+#.FIELD_RENAME
+BindResponse/_untag/resultCode bindResponse_resultCode
+ExtendedResponse/_untag/resultCode extendedResponse_resultCode
+SearchRequest/_untag/attributes searchRequest_attributes
+SearchResultEntry/_untag/attributes searchResultEntry_attributes
+ModifyRequest/_untag/modification modifyRequest_modification
+SubstringFilter/substrings substringFilter_substrings
+BindResponse/_untag/matchedDN bindResponse_matchedDN
+IntermediateResponse/_untag/responseValue intermediateResponse_responseValue
+
+#.TYPE_ATTR
+LDAPString TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+LDAPURL TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+LDAPOID TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+Mechanism TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+AssertionValue TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+DirSyncFlags TYPE = FT_UINT32 DISPLAY = BASE_HEX STRINGS = NULL
+Simple TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+
+#.REGISTER
+#[MS-ADTS]
+SearchControlValue B "1.2.840.113556.1.4.319" "LDAP_PAGED_RESULT_OID_STRING"
+SortKeyList B "1.2.840.113556.1.4.473" "LDAP_SERVER_SORT_OID"
+SortResult B "1.2.840.113556.1.4.474" "LDAP_SERVER_RESP_SORT_OID"
+DirSyncControlValue B "1.2.840.113556.1.4.841" "LDAP_SERVER_DIRSYNC_OID"
+#RFC 3062
+PasswdModifyRequestValue B "1.3.6.1.4.1.4203.1.11.1" "passwdModifyOID"
+#RFC 3909
+CancelRequestValue B "1.3.6.1.1.8" "cancelRequestOID"
+#RFC 4533
+SyncRequestValue B "1.3.6.1.4.1.4203.1.9.1.1" "syncRequestOID"
+SyncStateValue B "1.3.6.1.4.1.4203.1.9.1.2" "syncStateOID"
+SyncDoneValue B "1.3.6.1.4.1.4203.1.9.1.3" "syncDoneOID"
+SyncInfoValue B "1.3.6.1.4.1.4203.1.9.1.4" "syncInfoOID"
+# Draft RFC - Password Policy for LDAP Directories
+PasswordPolicyResponseValue B "1.3.6.1.4.1.42.2.27.8.5.1" "passwordPolicy"
+
+#.FN_FTR LDAPURL
+ proto_item_set_url(actx->created_item);
+
+#.FN_HDR LDAPOID
+
+ tvbuff_t *parameter_tvb;
+ const gchar *name;
+ ldap_conv_info_t *ldap_info = (ldap_conv_info_t *)actx->private_data;
+
+#.FN_PARS LDAPOID VAL_PTR = &parameter_tvb
+
+#.FN_FTR LDAPOID
+
+ object_identifier_id = NULL;
+
+ if (!parameter_tvb)
+ return offset;
+
+ object_identifier_id = tvb_get_string_enc(actx->pinfo->pool, parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), ENC_UTF_8|ENC_NA);
+ name = oid_resolved_from_string(actx->pinfo->pool, object_identifier_id);
+
+ if(name){
+ proto_item_append_text(actx->created_item, " (%s)", name);
+
+ if((hf_index == hf_ldap_requestName) || (hf_index == hf_ldap_responseName)) {
+ ldap_do_protocolop(actx->pinfo);
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", name);
+ }
+ }
+
+ /* Has the client requested the Start TLS operation? */
+ if (ldap_info && hf_index == hf_ldap_requestName &&
+ !strcmp(object_identifier_id, "1.3.6.1.4.1.1466.20037")) {
+ /* remember we have asked to start_tls */
+ ldap_info->start_tls_pending = TRUE;
+ }
+
+#.FN_BODY MessageID VAL_PTR = &MessageID
+
+%(DEFAULT_BODY)s
+
+ ldm_tree = tree;
+
+#.FN_PARS ProtocolOp VAL_PTR = &ProtocolOp
+
+#.FN_HDR ProtocolOp
+
+ ldap_call_response_t *lcrp;
+ ldap_conv_info_t *ldap_info = (ldap_conv_info_t *)actx->private_data;
+ do_protocolop = TRUE;
+
+#.FN_FTR ProtocolOp
+
+ if (ProtocolOp == -1) {
+ return offset;
+ }
+
+ /* ProtocolOp is the index, not the tag so convert it to the tag value */
+ ProtocolOp = ldap_ProtocolOp_vals[ProtocolOp].value;
+
+ lcrp=ldap_match_call_response(tvb, actx->pinfo, tree, MessageID, ProtocolOp, ldap_info);
+ if(lcrp){
+ tap_queue_packet(ldap_tap, actx->pinfo, lcrp);
+ }
+
+ /* XXX: the count will not work if the results span multiple TCP packets */
+
+ if(ldap_info) { /* only count once */
+ switch(ProtocolOp) {
+
+ case LDAP_RES_SEARCH_ENTRY:
+ if (!actx->pinfo->fd->visited)
+ ldap_info->num_results++;
+
+ proto_item_append_text(tree, " [%d result%s]",
+ ldap_info->num_results, ldap_info->num_results == 1 ? "" : "s");
+
+ break;
+
+ case LDAP_RES_SEARCH_RESULT:
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [%d result%s]",
+ ldap_info->num_results, ldap_info->num_results == 1 ? "" : "s");
+
+ proto_item_append_text(tree, " [%d result%s]",
+ ldap_info->num_results, ldap_info->num_results == 1 ? "" : "s");
+
+ break;
+ default:
+ break;
+ }
+ }
+
+
+#.FN_BODY Simple
+ldap_conv_info_t *ldap_info;
+
+%(DEFAULT_BODY)s
+
+ ldap_info = (ldap_conv_info_t *)actx->private_data;
+ ldap_info->auth_type = LDAP_AUTH_SIMPLE;
+
+#.FN_BODY Mechanism VAL_PTR = &parameter_tvb
+
+ldap_conv_info_t *ldap_info;
+tvbuff_t *parameter_tvb;
+char *mechanism = NULL;
+%(DEFAULT_BODY)s
+ ldap_info = (ldap_conv_info_t *)actx->private_data;
+ ldap_info->auth_type = LDAP_AUTH_SASL;
+
+ if (!parameter_tvb)
+ return offset;
+
+ /*
+ * We need to remember the authentication type and mechanism for this
+ * conversation.
+ *
+ * XXX - actually, we might need to remember more than one
+ * type and mechanism, if you can unbind and rebind with a
+ * different type and/or mechanism.
+ */
+ if(!actx->pinfo->fd->visited) {
+ mechanism = tvb_get_string_enc(wmem_file_scope(), parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), ENC_UTF_8|ENC_NA);
+ ldap_info->first_auth_frame = 0; /* not known until we see the bind reply */
+ /*
+ * If the mechanism in this request is an empty string (which is
+ * returned as a null pointer), use the saved mechanism instead.
+ * Otherwise, if the saved mechanism is an empty string (null),
+ * save this mechanism.
+ */
+ if (mechanism != NULL) {
+ wmem_free(wmem_file_scope(), ldap_info->auth_mech);
+ ldap_info->auth_mech = mechanism;
+ }
+ }
+#.FN_BODY Credentials VAL_PTR = &parameter_tvb
+
+tvbuff_t *parameter_tvb;
+ldap_conv_info_t *ldap_info;
+gint8 ber_class;
+bool pc;
+gint32 tag;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ ldap_info = (ldap_conv_info_t *)actx->private_data;
+ get_ber_identifier(parameter_tvb, 0, &ber_class, &pc, &tag);
+
+ /*if ((ldap_info->auth_mech != NULL) && (strcmp(ldap_info->auth_mech, "GSS-SPNEGO") == 0) && (ber_class==BER_CLASS_CON)) {*/
+ if ((ldap_info->auth_mech != NULL) && (ber_class==BER_CLASS_CON)) {
+ /*
+ * This is a GSS-API token ancapsulated within GSS-SPNEGO.
+ * We need to check the first byte to check whether the blob
+ * contains SPNEGO or GSSAPI.
+ * All SPNEGO PDUs are of class CONSTRUCTED while
+ * GSS PDUs are class APPLICATION
+ */
+ if (parameter_tvb && (tvb_reported_length(parameter_tvb) > 0))
+ call_dissector(spnego_handle, parameter_tvb, actx->pinfo, tree);
+ }
+ /*if ((ldap_info->auth_mech != NULL) && ((strcmp(ldap_info->auth_mech, "GSSAPI") == 0) || (ber_class==BER_CLASS_APP))) {*/
+ if ((ldap_info->auth_mech != NULL) && (ber_class==BER_CLASS_APP)) {
+ /*
+ * This is a raw GSS-API token.
+ */
+ if (parameter_tvb && (tvb_reported_length(parameter_tvb) > 0)) {
+ call_dissector(gssapi_handle, parameter_tvb, actx->pinfo, tree);
+ }
+ }
+ /* Restore private data */
+ actx->private_data = ldap_info;
+
+
+#.FN_BODY ServerSaslCreds VAL_PTR = &parameter_tvb
+
+tvbuff_t *parameter_tvb = NULL;
+ldap_conv_info_t *ldap_info;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ ldap_info = (ldap_conv_info_t *)actx->private_data;
+ switch (ldap_info->auth_type) {
+
+ /* For Kerberos V4, dissect it as a ticket. */
+ /* XXX - what about LDAP_AUTH_SIMPLE? */
+
+ case LDAP_AUTH_SASL:
+ /*
+ * All frames after this are assumed to use a security layer.
+ *
+ * XXX - won't work if there's another reply, with the security
+ * layer, starting in the same TCP segment that ends this
+ * reply, but as LDAP is a request/response protocol, and
+ * as the client probably can't start using authentication until
+ * it gets the bind reply and the server won't send a reply until
+ * it gets a request, that probably won't happen.
+ *
+ * XXX - that assumption is invalid; it's not clear where the
+ * hell you find out whether there's any security layer. In
+ * one capture, we have two GSS-SPNEGO negotiations, both of
+ * which select MS KRB5, and the only differences in the tokens
+ * is in the RC4-HMAC ciphertext. The various
+ * draft-ietf--cat-sasl-gssapi-NN.txt drafts seem to imply
+ * that the RFC 2222 spoo with the bitmask and maximum
+ * output message size stuff is done - but where does that
+ * stuff show up? Is it in the ciphertext, which means it's
+ * presumably encrypted?
+ *
+ * Grrr. We have to do a gross heuristic, checking whether the
+ * putative LDAP message begins with 0x00 or not, making the
+ * assumption that we won't have more than 2^24 bytes of
+ * encapsulated stuff.
+ */
+ ldap_info->first_auth_frame = actx->pinfo->num + 1;
+ if (ldap_info->auth_mech != NULL &&
+ strcmp(ldap_info->auth_mech, "GSS-SPNEGO") == 0) {
+ /* It could be the second leg of GSS-SPNEGO wrapping NTLMSSP
+ * which might not be wrapped in GSS-SPNEGO but be a raw
+ * NTLMSSP blob
+ */
+ if ( (tvb_reported_length(parameter_tvb)>=7)
+ && (!tvb_memeql(parameter_tvb, 0, (const guint8*)"NTLMSSP", 7))){
+ call_dissector(ntlmssp_handle, parameter_tvb, actx->pinfo, tree);
+ break;
+ }
+ /*
+ * This is a GSS-API token.
+ */
+ if(parameter_tvb && (tvb_reported_length(parameter_tvb) > 0))
+ call_dissector(spnego_handle, parameter_tvb, actx->pinfo, tree);
+ } else if (ldap_info->auth_mech != NULL &&
+ strcmp(ldap_info->auth_mech, "GSSAPI") == 0) {
+ /*
+ * This is a GSS-API token.
+ */
+ if(parameter_tvb && (tvb_reported_length(parameter_tvb) > 0))
+ call_dissector(gssapi_handle, parameter_tvb, actx->pinfo, tree);
+ }
+ break;
+ }
+ actx->private_data = ldap_info;
+
+#.FN_BODY LDAPString VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ const char *ldapstring = NULL;
+ gchar *sc = NULL; /* semi-colon pointer */
+
+ offset = dissect_ber_octet_string_with_encoding(implicit_tag, actx, tree, tvb, offset, hf_index,
+ &parameter_tvb, ENC_UTF_8|ENC_NA);
+
+ if (parameter_tvb || (hf_index == hf_ldap_baseObject)) {
+
+ ldap_do_protocolop(actx->pinfo);
+
+ if(parameter_tvb)
+ ldapstring = tvb_get_string_enc(actx->pinfo->pool, parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb, 0), ENC_UTF_8|ENC_NA);
+
+ if(hf_index == hf_ldap_baseObject) {
+ /* this is search - put it on the scanline */
+ if(!ldapstring || !*ldapstring)
+ ldapstring = "<ROOT>";
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "\"%%s\" ", format_text(actx->pinfo->pool, ldapstring, strlen(ldapstring)));
+
+ if(ldm_tree)
+ proto_item_append_text(ldm_tree, " \"%%s\"", ldapstring);
+
+
+ if(!parameter_tvb) {
+
+ proto_item_append_text(actx->created_item, " (%%s)", ldapstring);
+ }
+
+ } else if ((hf_index == hf_ldap_errorMessage) && ldapstring && *ldapstring) { /* only show message if not success */
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "(%%s) ", format_text(actx->pinfo->pool, ldapstring, strlen(ldapstring)));
+
+ if(ldm_tree)
+ proto_item_append_text(ldm_tree, " (%%s)", ldapstring);
+
+ } else if ((hf_index == hf_ldap_objectName) ||
+ (hf_index == hf_ldap_name) ||
+ (hf_index == hf_ldap_entry) ||
+ (hf_index == hf_ldap_object) ||
+ (hf_index == hf_ldap_delRequest) ) {
+
+ if(!ldapstring || !*ldapstring)
+ ldapstring = "<ROOT>";
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "\"%%s\" ", format_text(actx->pinfo->pool, ldapstring, strlen(ldapstring)));
+
+ if(ldm_tree)
+ proto_item_append_text(ldm_tree, " \"%%s\"", ldapstring);
+ } else if (hf_index == hf_ldap_attributeDesc){
+ /* remember the attribute description */
+ attributedesc_string=ldapstring;
+ } else if (hf_index == hf_ldap_initial){
+ /* remember the substring item */
+ substring_item_init=ldapstring;
+ } else if (hf_index == hf_ldap_any){
+ /* remember the substring item */
+ substring_item_any=ldapstring;
+ } else if (hf_index == hf_ldap_final){
+ /* remember the substring item */
+ substring_item_final=ldapstring;
+ } else if (hf_index == hf_ldap_matchingRule){
+ /* remember the matching rule */
+ matching_rule_string=ldapstring;
+ } else if (hf_index == hf_ldap_present){
+ /* remember the present name */
+ Filter_string=ldapstring;
+ } else if (hf_index == hf_ldap_type) {
+ /* remember attribute type name */
+ attr_type = wmem_strdup(actx->pinfo->pool, ldapstring);
+
+ /* append it to the parent entry */
+ proto_item_append_text(tree, " %%s", attr_type);
+
+ /* remove the ";binary" component if present */
+ if((sc = strchr(attr_type, ';')) != NULL) {
+ if(!strcmp(sc, ";binary")) {
+ *sc = '\0'; /* terminate the string */
+ is_binary_attr_type = TRUE;
+ }
+ } else {
+ is_binary_attr_type = FALSE;
+ }
+ }
+
+ }
+
+#.FN_BODY SearchRequest/_untag/scope VAL_PTR = &scope
+
+ guint32 scope = 0xffff;
+ const gchar *valstr;
+
+%(DEFAULT_BODY)s
+
+ ldap_do_protocolop(actx->pinfo);
+
+ valstr = val_to_str(scope, ldap_T_scope_vals, "Unknown scope(%%u)");
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%s ", valstr);
+
+ if(ldm_tree)
+ proto_item_append_text(ldm_tree, " %%s", valstr);
+
+#.FN_BODY LDAPResult/resultCode VAL_PTR = &result
+
+ const gchar *valstr;
+
+%(DEFAULT_BODY)s
+
+ ldap_do_protocolop(actx->pinfo);
+
+ valstr = val_to_str(result, ldap_T_resultCode_vals, "Unknown result(%%u)");
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%s ", valstr);
+
+ if(ldm_tree)
+ proto_item_append_text(ldm_tree, " %%s", valstr);
+
+
+#.FN_BODY BindResponse/_untag/resultCode VAL_PTR = &result
+
+ const gchar *valstr;
+
+%(DEFAULT_BODY)s
+
+ ldap_do_protocolop(actx->pinfo);
+
+ valstr = val_to_str(result, ldap_BindResponse_resultCode_vals, "Unknown result(%%u)");
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%s ", valstr);
+
+ if(ldm_tree)
+ proto_item_append_text(ldm_tree, " %%s", valstr);
+
+#.FN_BODY ExtendedResponse/_untag/resultCode
+ guint32 resultCode;
+ ldap_conv_info_t *ldap_info = (ldap_conv_info_t *)actx->private_data;
+
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ &resultCode);
+ /* If Start TLS request was sent and resultCode is success... */
+ if (ldap_info && ldap_info->start_tls_pending &&
+ hf_index == hf_ldap_extendedResponse_resultCode && resultCode == 0) {
+ /* The conversation will continue using SSL */
+ ssl_starttls_ack(find_dissector("tls"), actx->pinfo, ldap_handle);
+ ldap_info->start_tls_pending = FALSE;
+ }
+
+
+#.FN_BODY AttributeValue
+
+ tvbuff_t *next_tvb = NULL;
+ gchar *string;
+ int old_offset = offset;
+ gint *hf_id;
+
+ /* attr_type, should be set before calling this function */
+
+ /* extract the value of the octetstring */
+ offset = dissect_ber_octet_string(FALSE, actx, NULL, tvb, offset, hf_index, &next_tvb);
+
+ /* first check if we have a custom attribute type configured */
+ if ((hf_id = get_hf_for_header (attr_type)) != NULL)
+ proto_tree_add_item (tree, *hf_id, next_tvb, 0, tvb_reported_length_remaining(next_tvb, 0), ENC_UTF_8|ENC_NA);
+
+ /* if we have an attribute type that isn't binary see if there is a better dissector */
+ else if(!attr_type || !next_tvb || !dissector_try_string_new(ldap_name_dissector_table, attr_type, next_tvb, actx->pinfo, tree, FALSE, NULL)) {
+ offset = old_offset;
+
+ /* do the default thing */
+ %(DEFAULT_BODY)s
+
+ if(tvb_ascii_isprint(next_tvb, 0, tvb_reported_length(next_tvb))) {
+ string = tvb_get_string_enc(actx->pinfo->pool, next_tvb, 0, tvb_reported_length_remaining(next_tvb, 0), ENC_UTF_8|ENC_NA);
+ proto_item_set_text(actx->created_item, "AttributeValue: %%s", string);
+ }
+ }
+
+#.FN_BODY AuthenticationChoice VAL_PTR = &branch
+ gint branch = -1;
+ gint auth = -1;
+ const gchar *valstr;
+
+%(DEFAULT_BODY)s
+
+ ldap_do_protocolop(actx->pinfo);
+
+ if((branch > -1) && (branch < (gint)(sizeof AuthenticationChoice_choice/sizeof AuthenticationChoice_choice[0])))
+ auth = AuthenticationChoice_choice[branch].value;
+
+ valstr = val_to_str(auth, ldap_AuthenticationChoice_vals, "Unknown auth(%%u)");
+
+ /* If auth is NTLM (10 or 11) don't add to column as the NTLM dissection will do this */
+ if ((auth != 10) && (auth != 11))
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%s ", valstr);
+
+ if(ldm_tree)
+ proto_item_append_text(ldm_tree, " %%s", valstr);
+
+
+#.FN_BODY UnbindRequest
+
+ implicit_tag = TRUE; /* correct problem with asn2wrs */
+
+%(DEFAULT_BODY)s
+
+ ldap_do_protocolop(actx->pinfo);
+
+
+
+
+
+#.FN_HDR SearchRequest/_untag/filter
+ Filter_string=NULL;
+ Filter_elements = 0;
+ Filter_length = 0;
+
+#.FN_FTR SearchRequest/_untag/filter
+ Filter_string=NULL;
+ and_filter_string=NULL;
+ Filter_elements = 0;
+ Filter_length = 0;
+
+#.FN_FTR Filter/equalityMatch
+ Filter_string=wmem_strdup_printf(actx->pinfo->pool, "(%s=%s)",
+ string_or_null(attributedesc_string),
+ string_or_null(ldapvalue_string));
+
+
+#.FN_FTR Filter/greaterOrEqual
+ Filter_string=wmem_strdup_printf(actx->pinfo->pool, "(%s>=%s)",
+ string_or_null(attributedesc_string),
+ string_or_null(ldapvalue_string));
+
+
+#.FN_FTR Filter/lessOrEqual
+ Filter_string=wmem_strdup_printf(actx->pinfo->pool, "(%s<=%s)",
+ string_or_null(attributedesc_string),
+ string_or_null(ldapvalue_string));
+
+
+#.FN_FTR Filter/approxMatch
+ Filter_string=wmem_strdup_printf(actx->pinfo->pool, "(%s~=%s)",
+ string_or_null(attributedesc_string),
+ string_or_null(ldapvalue_string));
+
+#.FN_FTR Filter/and/_item
+ if(and_filter_string){
+ and_filter_string=wmem_strdup_printf(actx->pinfo->pool, "(&%s%s)",and_filter_string,Filter_string);
+ } else {
+ and_filter_string=Filter_string;
+ }
+
+#.FN_BODY Filter/and
+ proto_tree *tr=NULL;
+ proto_item *it=NULL;
+ const char *old_and_filter_string=and_filter_string;
+
+ and_filter_string=NULL;
+
+ tr=proto_tree_add_subtree(tree, tvb, offset, -1, ett_ldap_T_and, &it, "and: ");
+ tree = tr;
+
+%(DEFAULT_BODY)s
+
+ if(and_filter_string) {
+ proto_item_append_text(it, "%%s", and_filter_string);
+ Filter_string=wmem_strdup(actx->pinfo->pool, and_filter_string);
+ }
+ and_filter_string=old_and_filter_string;
+
+#.FN_FTR Filter/or/_item
+ if(or_filter_string){
+ or_filter_string=wmem_strdup_printf(actx->pinfo->pool, "(|%s%s)",or_filter_string,Filter_string);
+ } else {
+ or_filter_string=Filter_string;
+ }
+
+
+#.FN_BODY Filter/or
+ proto_tree *tr;
+ proto_item *it;
+ const char *old_or_filter_string=or_filter_string;
+
+ or_filter_string=NULL;
+ tr=proto_tree_add_subtree(tree, tvb, offset, -1, ett_ldap_T_or, &it, "or: ");
+ tree = tr;
+
+%(DEFAULT_BODY)s
+ if(or_filter_string) {
+ proto_item_append_text(it, "%%s", or_filter_string);
+ Filter_string=wmem_strdup(actx->pinfo->pool, or_filter_string);
+ }
+ or_filter_string=old_or_filter_string;
+
+#.FN_FTR Filter/present
+ Filter_string=wmem_strdup_printf(actx->pinfo->pool, "(%s=*)",string_or_null(Filter_string));
+
+#.FN_FTR Filter/not
+ Filter_string=wmem_strdup_printf(actx->pinfo->pool, "(!%s)",string_or_null(Filter_string));
+
+#.FN_BODY MatchingRuleAssertion/dnAttributes
+ bool val;
+
+ offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, &val);
+
+
+ matching_rule_dnattr = val;
+
+
+#.FN_HDR Filter/extensibleMatch
+ attr_type=NULL;
+ matching_rule_string=NULL;
+ ldapvalue_string=NULL;
+ matching_rule_dnattr=FALSE;
+
+#.FN_FTR Filter/extensibleMatch
+ Filter_string=wmem_strdup_printf(actx->pinfo->pool, "(%s:%s%s%s=%s)",
+ (attr_type?attr_type:""),
+ (matching_rule_dnattr?"dn:":""),
+ (matching_rule_string?matching_rule_string:""),
+ (matching_rule_string?":":""),
+ string_or_null(ldapvalue_string));
+
+#.FN_FTR SubstringFilter/substrings/_item
+ if (substring_item_final) {
+ substring_value=wmem_strdup_printf(actx->pinfo->pool, "%s%s",
+ (substring_value?substring_value:"*"),
+ substring_item_final);
+ } else if (substring_item_any) {
+ substring_value=wmem_strdup_printf(actx->pinfo->pool, "%s%s*",
+ (substring_value?substring_value:"*"),
+ substring_item_any);
+ } else if (substring_item_init) {
+ substring_value=wmem_strdup_printf(actx->pinfo->pool, "%s*",
+ substring_item_init);
+ }
+
+#.FN_BODY SubstringFilter
+ proto_tree *tr;
+ proto_item *it;
+ const char *old_substring_value=substring_value;
+
+ attr_type=NULL;
+ substring_value=NULL;
+ substring_item_init=NULL;
+ substring_item_any=NULL;
+ substring_item_final=NULL;
+
+ tr=proto_tree_add_subtree(tree, tvb, offset, -1, ett_ldap_SubstringFilter, &it, "substring: ");
+ tree = tr;
+
+%(DEFAULT_BODY)s
+ Filter_string=wmem_strdup_printf(actx->pinfo->pool, "(%%s=%%s)",
+ string_or_null(attr_type),
+ string_or_null(substring_value));
+ proto_item_append_text(it, "%%s", Filter_string);
+ substring_value=old_substring_value;
+
+#.FN_BODY Filter
+ proto_tree *tr;
+ proto_item *it;
+ attributedesc_string=NULL;
+
+ if (Filter_length++ > MAX_FILTER_LEN) {
+ expert_add_info_format(actx->pinfo, tree, &ei_ldap_exceeded_filter_length, "Filter length exceeds %%u. Giving up.", MAX_FILTER_LEN);
+ THROW(ReportedBoundsError);
+ }
+
+ if (Filter_elements++ > MAX_FILTER_ELEMENTS) {
+ expert_add_info_format(actx->pinfo, tree, &ei_ldap_too_many_filter_elements, "Found more than %%u filter elements. Giving up.", MAX_FILTER_ELEMENTS);
+ THROW(ReportedBoundsError);
+ }
+
+ tr=proto_tree_add_subtree(tree, tvb, offset, -1, ett_ldap_Filter, &it, "Filter: ");
+ tree = tr;
+
+%(DEFAULT_BODY)s
+ if(Filter_string)
+ proto_item_append_text(it, "%%s", string_or_null(Filter_string));
+
+#.FN_BODY AuthenticationChoice/ntlmsspNegotiate
+ /* make sure the protocol op comes first */
+ ldap_do_protocolop(actx->pinfo);
+
+ call_dissector(ntlmssp_handle, tvb, actx->pinfo, tree);
+ offset+=tvb_reported_length_remaining(tvb, offset);
+
+#.FN_BODY AuthenticationChoice/ntlmsspAuth
+ /* make sure the protocol op comes first */
+ ldap_do_protocolop(actx->pinfo);
+
+ call_dissector(ntlmssp_handle, tvb, actx->pinfo, tree);
+ offset+=tvb_reported_length_remaining(tvb, offset);
+
+#.FN_BODY BindResponse/_untag/matchedDN
+ tvbuff_t *new_tvb=NULL;
+
+ offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_ldap_matchedDN, &new_tvb);
+
+ if( new_tvb
+ && (tvb_reported_length(new_tvb)>=7)
+ && (!tvb_memeql(new_tvb, 0, (const guint8*)"NTLMSSP", 7))){
+
+ /* make sure the protocol op comes first */
+ ldap_do_protocolop(actx->pinfo);
+
+ call_dissector(ntlmssp_handle, new_tvb, actx->pinfo, tree);
+ }
+
+#.FN_BODY Control/controlValue
+ gint8 ber_class;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+
+ if((object_identifier_id != NULL) && oid_has_dissector(object_identifier_id)) {
+ /* remove the OCTET STRING encoding */
+ offset=dissect_ber_identifier(actx->pinfo, NULL, tvb, offset, &ber_class, &pc, &tag);
+ offset=dissect_ber_length(actx->pinfo, NULL, tvb, offset, &len, &ind);
+
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+ offset += len;
+ } else {
+ %(DEFAULT_BODY)s
+ }
+
+
+#.FN_BODY ExtendedRequest/_untag/requestValue
+
+ if((object_identifier_id != NULL) && oid_has_dissector(object_identifier_id)) {
+ offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+ } else {
+ %(DEFAULT_BODY)s
+ }
+
+#.FN_HDR IntermediateResponse/_untag/responseValue
+
+ const gchar *name;
+
+#.FN_BODY IntermediateResponse/_untag/responseValue
+ if(ldm_tree && object_identifier_id) {
+ proto_item_set_text(ldm_tree, "%%s %%s", "IntermediateResponse", object_identifier_id);
+ name = oid_resolved_from_string(actx->pinfo->pool, object_identifier_id);
+ if(name)
+ proto_item_append_text(ldm_tree, " (%%s)", name);
+ }
+ if((object_identifier_id != NULL) && oid_has_dissector(object_identifier_id)) {
+ offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+ } else {
+ %(DEFAULT_BODY)s
+ }
+
+#.FN_BODY DirSyncFlags
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ guint32 len;
+ gint32 val;
+
+ int otheroffset = offset;
+ if(!implicit_tag){
+ dissect_ber_identifier(actx->pinfo, tree, tvb, otheroffset, &ber_class, &pc, &tag);
+ otheroffset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, NULL);
+ } else {
+ gint32 remaining=tvb_reported_length_remaining(tvb, offset);
+ len=remaining>0 ? remaining : 0;
+ }
+
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, -1, &val);
+
+ if (val >0) {
+ static int * const flags[] = {
+ &hf_ldap_object_security_flag,
+ &hf_ldap_ancestor_first_flag,
+ &hf_ldap_public_data_only_flag,
+ &hf_ldap_incremental_value_flag,
+ NULL
+ };
+
+ proto_tree_add_bitmask_value_with_flags(tree, tvb, otheroffset+1, hf_index,
+ ett_ldap_DirSyncFlagsSubEntry, flags, val, BMT_NO_APPEND);
+ } else {
+ proto_tree_add_uint(tree, hf_index, tvb, otheroffset+len, len, 0);
+ }
+
+#.FN_BODY SearchResultReference
+
+%(DEFAULT_BODY)s
+
+ ldap_do_protocolop(actx->pinfo);
+
+
+#.FN_BODY AbandonRequest
+
+%(DEFAULT_BODY)s
+
+ ldap_do_protocolop(actx->pinfo);
+
+#.NO_EMIT
+AttributeType
+Attribute
+AssertionValue
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/ldap/packet-ldap-template.c b/epan/dissectors/asn1/ldap/packet-ldap-template.c
new file mode 100644
index 00000000..4c5d7fa2
--- /dev/null
+++ b/epan/dissectors/asn1/ldap/packet-ldap-template.c
@@ -0,0 +1,2423 @@
+/* packet-ldap-template.c
+ * Routines for ldap packet dissection
+ *
+* See RFC 3494 (LDAP v2), RFC 4511 (LDAP v3), and RFC 2222 (SASL).
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+/*
+ * This is not a complete implementation. It doesn't handle the full version 3, more specifically,
+ * it handles only the commands of version 2, but any additional characteristics of the ver3 command are supported.
+ * It's also missing extensible search filters.
+ *
+ * There should probably be a lot more error checking, I simply assume that if we have a full packet, it will be a complete
+ * and correct packet.
+ *
+ * AFAIK, it will handle all messages used by the OpenLDAP 1.2.9 server and libraries which was my goal. I do plan to add
+ * the remaining commands as time permits but this is not a priority to me. Send me an email if you need it and I'll see what
+ * I can do.
+ *
+ * Doug Nazar
+ * nazard@dragoninc.on.ca
+ */
+
+/*
+ * 11/11/2002 - Fixed problem when decoding LDAP with desegmentation enabled and the
+ * ASN.1 BER Universal Class Tag: "Sequence Of" header is encapsulated across 2
+ * TCP segments.
+ *
+ * Ronald W. Henderson
+ * ronald.henderson@cognicaseusa.com
+ */
+
+/*
+ * 20-JAN-2004 - added decoding of MS-CLDAP netlogon RPC
+ * using information from the SNIA 2003 conference paper :
+ * Active Directory Domain Controller Location Service
+ * by Anthony Liguori
+ * ronnie sahlberg
+ */
+
+/*
+ * 17-DEC-2004 - added basic decoding for LDAP Controls
+ * 20-DEC-2004 - added handling for GSS-API encrypted blobs
+ *
+ * Stefan Metzmacher <metze@samba.org>
+ *
+ * 15-NOV-2005 - Changed to use the asn2wrs compiler
+ * Anders Broman <anders.broman@ericsson.com>
+ */
+
+/*
+ * 3-AUG-2008 - Extended the cldap support to include all netlogon data types.
+ * Updated cldap_netlogon_flags to include Windows 2008 flags
+ * Expanded the ntver ldap option with bit field
+ *
+ * Gary Reynolds <gazzadownunder@yahoo.co.uk>
+ */
+
+/*
+ * 09-DEC-2009 - Added support for RFC4533
+ * Content Synchronization Operation (aka syncrepl)
+ * 11-DEC-2009 - Added support for IntermediateResponse (LDAP v3 from RFC 4511)
+ * Mathieu Parent <math.parent@gmail.com>
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/conversation.h>
+#include <epan/prefs.h>
+#include <epan/tap.h>
+#include <epan/srt_table.h>
+#include <epan/oids.h>
+#include <epan/strutil.h>
+#include <epan/show_exception.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+#include <epan/expert.h>
+#include <epan/uat.h>
+#include <epan/charsets.h>
+#include <wsutil/str_util.h>
+#include "packet-frame.h"
+#include "packet-tcp.h"
+#include "packet-windows-common.h"
+#include "packet-dcerpc.h"
+
+#include "packet-ldap.h"
+#include "packet-ntlmssp.h"
+#include "packet-tls.h"
+#include "packet-tls-utils.h"
+#include "packet-gssapi.h"
+#include "packet-acdr.h"
+
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-dns.h"
+
+#define PNAME "Lightweight Directory Access Protocol"
+#define PSNAME "LDAP"
+#define PFNAME "ldap"
+
+void proto_register_ldap(void);
+void proto_reg_handoff_ldap(void);
+
+/* Initialize the protocol and registered fields */
+static int ldap_tap = -1;
+static int proto_ldap = -1;
+static int proto_cldap = -1;
+
+static int hf_ldap_sasl_buffer_length = -1;
+static int hf_ldap_response_in = -1;
+static int hf_ldap_response_to = -1;
+static int hf_ldap_time = -1;
+static int hf_ldap_guid = -1;
+
+static int hf_mscldap_ntver_flags = -1;
+static int hf_mscldap_ntver_flags_v1 = -1;
+static int hf_mscldap_ntver_flags_v5 = -1;
+static int hf_mscldap_ntver_flags_v5ex = -1;
+static int hf_mscldap_ntver_flags_v5ep = -1;
+static int hf_mscldap_ntver_flags_vcs = -1;
+static int hf_mscldap_ntver_flags_vnt4 = -1;
+static int hf_mscldap_ntver_flags_vpdc = -1;
+static int hf_mscldap_ntver_flags_vip = -1;
+static int hf_mscldap_ntver_flags_vl = -1;
+static int hf_mscldap_ntver_flags_vgc = -1;
+
+static int hf_mscldap_netlogon_ipaddress_family = -1;
+static int hf_mscldap_netlogon_ipaddress_port = -1;
+static int hf_mscldap_netlogon_ipaddress = -1;
+static int hf_mscldap_netlogon_ipaddress_ipv4 = -1;
+static int hf_mscldap_netlogon_opcode = -1;
+static int hf_mscldap_netlogon_flags = -1;
+static int hf_mscldap_netlogon_flags_pdc = -1;
+static int hf_mscldap_netlogon_flags_gc = -1;
+static int hf_mscldap_netlogon_flags_ldap = -1;
+static int hf_mscldap_netlogon_flags_ds = -1;
+static int hf_mscldap_netlogon_flags_kdc = -1;
+static int hf_mscldap_netlogon_flags_timeserv = -1;
+static int hf_mscldap_netlogon_flags_closest = -1;
+static int hf_mscldap_netlogon_flags_writable = -1;
+static int hf_mscldap_netlogon_flags_good_timeserv = -1;
+static int hf_mscldap_netlogon_flags_ndnc = -1;
+static int hf_mscldap_netlogon_flags_fnc = -1;
+static int hf_mscldap_netlogon_flags_dnc = -1;
+static int hf_mscldap_netlogon_flags_dns = -1;
+static int hf_mscldap_netlogon_flags_wdc = -1;
+static int hf_mscldap_netlogon_flags_rodc = -1;
+static int hf_mscldap_domain_guid = -1;
+static int hf_mscldap_forest = -1;
+static int hf_mscldap_domain = -1;
+static int hf_mscldap_hostname = -1;
+static int hf_mscldap_nb_domain_z = -1;
+static int hf_mscldap_nb_domain = -1;
+static int hf_mscldap_nb_hostname_z = -1;
+static int hf_mscldap_nb_hostname = -1;
+static int hf_mscldap_username_z = -1;
+static int hf_mscldap_username = -1;
+static int hf_mscldap_sitename = -1;
+static int hf_mscldap_clientsitename = -1;
+static int hf_mscldap_netlogon_lm_token = -1;
+static int hf_mscldap_netlogon_nt_token = -1;
+static int hf_ldap_sid = -1;
+static int hf_ldap_AccessMask_ADS_CREATE_CHILD = -1;
+static int hf_ldap_AccessMask_ADS_DELETE_CHILD = -1;
+static int hf_ldap_AccessMask_ADS_LIST = -1;
+static int hf_ldap_AccessMask_ADS_SELF_WRITE = -1;
+static int hf_ldap_AccessMask_ADS_READ_PROP = -1;
+static int hf_ldap_AccessMask_ADS_WRITE_PROP = -1;
+static int hf_ldap_AccessMask_ADS_DELETE_TREE = -1;
+static int hf_ldap_AccessMask_ADS_LIST_OBJECT = -1;
+static int hf_ldap_AccessMask_ADS_CONTROL_ACCESS = -1;
+static int hf_ldap_LDAPMessage_PDU = -1;
+static int hf_ldap_object_security_flag = -1;
+static int hf_ldap_ancestor_first_flag = -1;
+static int hf_ldap_public_data_only_flag = -1;
+static int hf_ldap_incremental_value_flag = -1;
+static int hf_ldap_oid = -1;
+static int hf_ldap_gssapi_encrypted_payload = -1;
+
+#include "packet-ldap-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_ldap = -1;
+static gint ett_ldap_msg = -1;
+static gint ett_ldap_sasl_blob = -1;
+static gint ett_ldap_payload = -1;
+static gint ett_mscldap_netlogon_flags = -1;
+static gint ett_mscldap_ntver_flags = -1;
+static gint ett_mscldap_ipdetails = -1;
+static gint ett_ldap_DirSyncFlagsSubEntry = -1;
+
+#include "packet-ldap-ett.c"
+
+static expert_field ei_ldap_exceeded_filter_length = EI_INIT;
+static expert_field ei_ldap_too_many_filter_elements = EI_INIT;
+
+static dissector_table_t ldap_name_dissector_table=NULL;
+static const char *object_identifier_id = NULL; /* LDAP OID */
+
+static gboolean do_protocolop = FALSE;
+static gchar *attr_type = NULL;
+static gboolean is_binary_attr_type = FALSE;
+static gboolean ldap_found_in_frame = FALSE;
+
+#define TCP_PORT_RANGE_LDAP "389,3268" /* 3268 is Windows 2000 Global Catalog */
+#define TCP_PORT_LDAPS 636
+#define UDP_PORT_CLDAP 389
+
+/* desegmentation of LDAP */
+static gboolean ldap_desegment = TRUE;
+static guint global_ldaps_tcp_port = TCP_PORT_LDAPS;
+static guint ssl_port = 0;
+
+static dissector_handle_t gssapi_handle;
+static dissector_handle_t gssapi_wrap_handle;
+static dissector_handle_t ntlmssp_handle;
+static dissector_handle_t spnego_handle;
+static dissector_handle_t tls_handle;
+static dissector_handle_t ldap_handle;
+static dissector_handle_t cldap_handle;
+
+static void prefs_register_ldap(void); /* forward declaration for use in preferences registration */
+
+
+/* different types of rpc calls ontop of ms cldap */
+#define MSCLDAP_RPC_NETLOGON 1
+
+/* Message type Choice values */
+static const value_string ldap_ProtocolOp_choice_vals[] = {
+ { 0, "bindRequest" },
+ { 1, "bindResponse" },
+ { 2, "unbindRequest" },
+ { 3, "searchRequest" },
+ { 4, "searchResEntry" },
+ { 5, "searchResDone" },
+ { 6, "searchResRef" },
+ { 7, "modifyRequest" },
+ { 8, "modifyResponse" },
+ { 9, "addRequest" },
+ { 10, "addResponse" },
+ { 11, "delRequest" },
+ { 12, "delResponse" },
+ { 13, "modDNRequest" },
+ { 14, "modDNResponse" },
+ { 15, "compareRequest" },
+ { 16, "compareResponse" },
+ { 17, "abandonRequest" },
+ { 18, "extendedReq" },
+ { 19, "extendedResp" },
+ { 20, "intermediateResponse" },
+ { 0, NULL }
+};
+
+/* Procedure names (used in Service Response Time */
+const value_string ldap_procedure_names[] = {
+ { 0, "Bind" },
+ { 3, "Search" },
+ { 6, "Modify" },
+ { 8, "Add" },
+ { 10, "Delete" },
+ { 12, "Modrdn" },
+ { 14, "Compare" },
+ { 23, "Extended" },
+ { 0, NULL }
+};
+
+#define LOGON_PRIMARY_QUERY 7
+#define LOGON_PRIMARY_RESPONSE 12
+#define LOGON_SAM_LOGON_REQUEST 18
+#define LOGON_SAM_LOGON_RESPONSE 19
+#define LOGON_SAM_PAUSE_RESPONSE 20
+#define LOGON_SAM_USER_UNKNOWN 21
+#define LOGON_SAM_LOGON_RESPONSE_EX 23
+#define LOGON_SAM_PAUSE_RESPONSE_EX 24
+#define LOGON_SAM_USER_UNKNOWN_EX 25
+
+static const value_string netlogon_opcode_vals[] = {
+ { LOGON_PRIMARY_QUERY, "LOGON_PRIMARY_QUERY" },
+ { LOGON_PRIMARY_RESPONSE, "LOGON_PRIMARY_RESPONSE" },
+ { LOGON_SAM_LOGON_REQUEST, "LOGON_SAM_LOGON_REQUEST" },
+ { LOGON_SAM_LOGON_RESPONSE, "LOGON_SAM_LOGON_RESPONSE" },
+ { LOGON_SAM_PAUSE_RESPONSE, "LOGON_SAM_PAUSE_RESPONSE" },
+ { LOGON_SAM_LOGON_RESPONSE_EX, "LOGON_SAM_LOGON_RESPONSE_EX" },
+ { LOGON_SAM_PAUSE_RESPONSE_EX, "LOGON_SAM_PAUSE_RESPONSE_EX" },
+ { LOGON_SAM_USER_UNKNOWN_EX, "LOGON_SAM_USER_UNKNOWN_EX" },
+ { 0, NULL }
+};
+
+#define LDAP_NUM_PROCEDURES 24
+
+static void
+ldapstat_init(struct register_srt* srt _U_, GArray* srt_array)
+{
+ srt_stat_table *ldap_srt_table;
+ guint32 i;
+
+ ldap_srt_table = init_srt_table("LDAP Commands", NULL, srt_array, LDAP_NUM_PROCEDURES, NULL, "ldap.protocolOp", NULL);
+ for (i = 0; i < LDAP_NUM_PROCEDURES; i++)
+ {
+ init_srt_table_row(ldap_srt_table, i, val_to_str_const(i, ldap_procedure_names, "<unknown>"));
+ }
+}
+
+static tap_packet_status
+ldapstat_packet(void *pldap, packet_info *pinfo, epan_dissect_t *edt _U_, const void *psi, tap_flags_t flags _U_)
+{
+ guint i = 0;
+ srt_stat_table *ldap_srt_table;
+ const ldap_call_response_t *ldap=(const ldap_call_response_t *)psi;
+ srt_data_t *data = (srt_data_t *)pldap;
+
+ /* we are only interested in reply packets */
+ if(ldap->is_request){
+ return TAP_PACKET_DONT_REDRAW;
+ }
+ /* if we havnt seen the request, just ignore it */
+ if(!ldap->req_frame){
+ return TAP_PACKET_DONT_REDRAW;
+ }
+
+ /* only use the commands we know how to handle */
+ switch(ldap->protocolOpTag){
+ case LDAP_REQ_BIND:
+ case LDAP_REQ_SEARCH:
+ case LDAP_REQ_MODIFY:
+ case LDAP_REQ_ADD:
+ case LDAP_REQ_DELETE:
+ case LDAP_REQ_MODRDN:
+ case LDAP_REQ_COMPARE:
+ case LDAP_REQ_EXTENDED:
+ break;
+ default:
+ return TAP_PACKET_DONT_REDRAW;
+ }
+
+ ldap_srt_table = g_array_index(data->srt_array, srt_stat_table*, i);
+
+ add_srt_table_data(ldap_srt_table, ldap->protocolOpTag, &ldap->req_time, pinfo);
+ return TAP_PACKET_REDRAW;
+}
+
+/*
+ * Data structure attached to a conversation, giving authentication
+ * information from a bind request.
+ */
+typedef struct ldap_conv_info_t {
+ guint auth_type; /* authentication type */
+ char *auth_mech; /* authentication mechanism */
+ guint32 first_auth_frame; /* first frame that would use a security layer */
+ wmem_map_t *unmatched;
+ wmem_map_t *matched;
+ gboolean is_mscldap;
+ guint32 num_results;
+ gboolean start_tls_pending;
+ guint32 start_tls_frame;
+} ldap_conv_info_t;
+
+static guint
+ldap_info_hash_matched(gconstpointer k)
+{
+ const ldap_call_response_t *key = (const ldap_call_response_t *)k;
+
+ return key->messageId;
+}
+
+static gint
+ldap_info_equal_matched(gconstpointer k1, gconstpointer k2)
+{
+ const ldap_call_response_t *key1 = (const ldap_call_response_t*)k1;
+ const ldap_call_response_t *key2 = (const ldap_call_response_t*)k2;
+
+ if( key1->req_frame && key2->req_frame && (key1->req_frame!=key2->req_frame) ){
+ return 0;
+ }
+ /* a response may span multiple frames
+ if( key1->rep_frame && key2->rep_frame && (key1->rep_frame!=key2->rep_frame) ){
+ return 0;
+ }
+ */
+
+ return key1->messageId==key2->messageId;
+}
+
+static guint
+ldap_info_hash_unmatched(gconstpointer k)
+{
+ const ldap_call_response_t *key = (const ldap_call_response_t*)k;
+
+ return key->messageId;
+}
+
+static gint
+ldap_info_equal_unmatched(gconstpointer k1, gconstpointer k2)
+{
+ const ldap_call_response_t *key1 = (const ldap_call_response_t*)k1;
+ const ldap_call_response_t *key2 = (const ldap_call_response_t*)k2;
+
+ return key1->messageId==key2->messageId;
+}
+
+
+/* These are the NtVer flags from MS-ADTS section 6.3.1.1
+ * https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts
+ */
+
+static const true_false_string tfs_ntver_v1 = {
+ "Client requested version 1 netlogon response",
+ "Version 1 netlogon response not requested"
+};
+
+static const true_false_string tfs_ntver_v5 = {
+ "Client requested version 5 netlogon response",
+ "Version 5 netlogon response not requested"
+};
+static const true_false_string tfs_ntver_v5ex = {
+ "Client requested version 5 extended netlogon response",
+ "Version 5 extended response not requested"
+};
+static const true_false_string tfs_ntver_v5ep = {
+ "Client has requested IP address of the server",
+ "IP address of server not requested"
+};
+static const true_false_string tfs_ntver_vcs = {
+ "Client has asked for the closest site information",
+ "Closest site information not requested"
+};
+static const true_false_string tfs_ntver_vnt4 = {
+ "Client is requesting server to avoid NT4 emulation",
+ "Only full AD DS requested"
+};
+static const true_false_string tfs_ntver_vpdc = {
+ "Client has requested the Primary Domain Controller",
+ "Primary Domain Controller not requested"
+};
+static const true_false_string tfs_ntver_vip = {
+ "Client has requested IP details (obsolete)",
+ "IP details not requested (obsolete)"
+};
+static const true_false_string tfs_ntver_vl = {
+ "Client indicated that it is the local machine",
+ "Client is not the local machine"
+};static const true_false_string tfs_ntver_vgc = {
+ "Client has requested a Global Catalog server",
+ "Global Catalog not requested"
+};
+
+/* Stuff for generation/handling of fields for custom AttributeValues */
+typedef struct _attribute_type_t {
+ gchar* attribute_type;
+ gchar* attribute_desc;
+} attribute_type_t;
+
+static attribute_type_t* attribute_types;
+static guint num_attribute_types;
+
+static GHashTable* attribute_types_hash;
+static hf_register_info* dynamic_hf;
+static guint dynamic_hf_size;
+
+static bool
+attribute_types_update_cb(void *r, char **err)
+{
+ attribute_type_t *rec = (attribute_type_t *)r;
+ char c;
+
+ if (rec->attribute_type == NULL) {
+ *err = g_strdup("Attribute type can't be empty");
+ return FALSE;
+ }
+
+ g_strstrip(rec->attribute_type);
+ if (rec->attribute_type[0] == 0) {
+ *err = g_strdup("Attribute type can't be empty");
+ return FALSE;
+ }
+
+ /* Check for invalid characters (to avoid asserting out when
+ * registering the field).
+ */
+ c = proto_check_field_name(rec->attribute_type);
+ if (c) {
+ *err = ws_strdup_printf("Attribute type can't contain '%c'", c);
+ return FALSE;
+ }
+
+ *err = NULL;
+ return TRUE;
+}
+
+static void *
+attribute_types_copy_cb(void* n, const void* o, size_t siz _U_)
+{
+ attribute_type_t* new_rec = (attribute_type_t*)n;
+ const attribute_type_t* old_rec = (const attribute_type_t*)o;
+
+ new_rec->attribute_type = g_strdup(old_rec->attribute_type);
+ new_rec->attribute_desc = g_strdup(old_rec->attribute_desc);
+
+ return new_rec;
+}
+
+static void
+attribute_types_free_cb(void*r)
+{
+ attribute_type_t* rec = (attribute_type_t*)r;
+
+ g_free(rec->attribute_type);
+ g_free(rec->attribute_desc);
+}
+
+UAT_CSTRING_CB_DEF(attribute_types, attribute_type, attribute_type_t)
+UAT_CSTRING_CB_DEF(attribute_types, attribute_desc, attribute_type_t)
+
+/*
+ *
+ */
+static gint*
+get_hf_for_header(char* attribute_type)
+{
+ gint* hf_id = NULL;
+
+ if (attribute_types_hash) {
+ hf_id = (gint*) g_hash_table_lookup(attribute_types_hash, attribute_type);
+ } else {
+ hf_id = NULL;
+ }
+
+ return hf_id;
+}
+
+/*
+ *
+ */
+static void
+deregister_attribute_types(void)
+{
+ if (dynamic_hf) {
+ /* Deregister all fields */
+ for (guint i = 0; i < dynamic_hf_size; i++) {
+ proto_deregister_field (proto_ldap, *(dynamic_hf[i].p_id));
+ g_free (dynamic_hf[i].p_id);
+ }
+
+ proto_add_deregistered_data (dynamic_hf);
+ dynamic_hf = NULL;
+ dynamic_hf_size = 0;
+ }
+
+ if (attribute_types_hash) {
+ g_hash_table_destroy (attribute_types_hash);
+ attribute_types_hash = NULL;
+ }
+}
+
+static void
+attribute_types_post_update_cb(void)
+{
+ gint* hf_id;
+ gchar* attribute_type;
+
+ deregister_attribute_types();
+
+ if (num_attribute_types) {
+ attribute_types_hash = g_hash_table_new(g_str_hash, g_str_equal);
+ dynamic_hf = g_new0(hf_register_info,num_attribute_types);
+ dynamic_hf_size = num_attribute_types;
+
+ for (guint i = 0; i < dynamic_hf_size; i++) {
+ hf_id = g_new(gint,1);
+ *hf_id = -1;
+ attribute_type = g_strdup(attribute_types[i].attribute_type);
+
+ dynamic_hf[i].p_id = hf_id;
+ dynamic_hf[i].hfinfo.name = attribute_type;
+ dynamic_hf[i].hfinfo.abbrev = ws_strdup_printf("ldap.AttributeValue.%s", attribute_type);
+ dynamic_hf[i].hfinfo.type = FT_STRING;
+ dynamic_hf[i].hfinfo.display = BASE_NONE;
+ dynamic_hf[i].hfinfo.strings = NULL;
+ dynamic_hf[i].hfinfo.bitmask = 0;
+ dynamic_hf[i].hfinfo.blurb = g_strdup(attribute_types[i].attribute_desc);
+ HFILL_INIT(dynamic_hf[i]);
+
+ g_hash_table_insert(attribute_types_hash, attribute_type, hf_id);
+ }
+
+ proto_register_field_array(proto_ldap, dynamic_hf, dynamic_hf_size);
+ }
+}
+
+static void
+attribute_types_reset_cb(void)
+{
+ deregister_attribute_types();
+}
+
+/* MS-ADTS specification, section 6.3.1.1, NETLOGON_NT_VERSION Options Bits */
+static int dissect_mscldap_ntver_flags(proto_tree *parent_tree, tvbuff_t *tvb, int offset)
+{
+ static int * const flags[] = {
+ &hf_mscldap_ntver_flags_v1,
+ &hf_mscldap_ntver_flags_v5,
+ &hf_mscldap_ntver_flags_v5ex,
+ &hf_mscldap_ntver_flags_v5ep,
+ &hf_mscldap_ntver_flags_vcs,
+ &hf_mscldap_ntver_flags_vnt4,
+ &hf_mscldap_ntver_flags_vpdc,
+ &hf_mscldap_ntver_flags_vip,
+ &hf_mscldap_ntver_flags_vl,
+ &hf_mscldap_ntver_flags_vgc,
+ NULL
+ };
+
+ proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_mscldap_ntver_flags,
+ ett_mscldap_ntver_flags, flags, ENC_LITTLE_ENDIAN, BMT_NO_FALSE);
+ offset += 4;
+
+ return offset;
+}
+
+/* This string contains the last LDAPString that was decoded */
+static const char *attributedesc_string=NULL;
+
+/* This string contains the last AssertionValue that was decoded */
+static char *ldapvalue_string=NULL;
+
+/* if the octet string contain all printable ASCII characters, then
+ * display it as a string, othervise just display it in hex.
+ */
+static int
+dissect_ldap_AssertionValue(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index)
+{
+ gint8 ber_class;
+ bool pc, ind, is_ascii;
+ gint32 tag;
+ guint32 len;
+
+ if(!implicit_tag){
+ offset=get_ber_identifier(tvb, offset, &ber_class, &pc, &tag);
+ offset=get_ber_length(tvb, offset, &len, &ind);
+ } else {
+ len=tvb_reported_length_remaining(tvb,offset);
+ }
+
+ if(len==0){
+ return offset;
+ }
+
+
+ /*
+ * Some special/wellknown attributes in common LDAP (read AD)
+ * are neither ascii strings nor blobs of hex data.
+ * Special case these attributes and decode them more nicely.
+ *
+ * Add more special cases as required to prettify further
+ * (there can't be that many ones that are truly interesting)
+ */
+ if(attributedesc_string && !strncmp("DomainSid", attributedesc_string, 9)){
+ tvbuff_t *sid_tvb;
+ char *tmpstr;
+
+ /* this octet string contains an NT SID */
+ sid_tvb=tvb_new_subset_length(tvb, offset, len);
+ dissect_nt_sid(sid_tvb, 0, tree, "SID", &tmpstr, hf_index);
+ ldapvalue_string=tmpstr;
+
+ goto finished;
+ } else if ( (len==16) /* GUIDs are always 16 bytes */
+ && (attributedesc_string && !strncmp("DomainGuid", attributedesc_string, 10))) {
+ guint8 drep[4] = { 0x10, 0x00, 0x00, 0x00}; /* fake DREP struct */
+ e_guid_t uuid;
+
+ /* This octet string contained a GUID */
+ dissect_dcerpc_uuid_t(tvb, offset, actx->pinfo, tree, drep, hf_ldap_guid, &uuid);
+
+ ldapvalue_string=(char*)wmem_alloc(actx->pinfo->pool, 1024);
+ snprintf(ldapvalue_string, 1023, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+ uuid.data1, uuid.data2, uuid.data3, uuid.data4[0], uuid.data4[1],
+ uuid.data4[2], uuid.data4[3], uuid.data4[4], uuid.data4[5],
+ uuid.data4[6], uuid.data4[7]);
+
+ goto finished;
+ } else if (attributedesc_string && !strncmp("NtVer", attributedesc_string, 5)){
+ guint32 flags;
+
+ len = 0;
+ /* get flag value to populate ldapvalue_string */
+ flags=tvb_get_letohl(tvb, offset);
+
+ ldapvalue_string=(char*)wmem_alloc(actx->pinfo->pool, 1024);
+ snprintf(ldapvalue_string, 1023, "0x%08x",flags);
+
+ /* populate bitmask subtree */
+ offset = dissect_mscldap_ntver_flags(tree, tvb, offset);
+
+ goto finished;
+
+
+ }
+
+ /*
+ * It was not one of our "wellknown" attributes so make the best
+ * we can and just try to see if it is an ascii string or if it
+ * is a binary blob.
+ *
+ * XXX - should we support reading RFC 2252-style schemas
+ * for LDAP, and using that to determine how to display
+ * attribute values and assertion values?
+ *
+ * -- I don't think there are full schemas available that describe the
+ * interesting cases i.e. AD -- ronnie
+ */
+ is_ascii=tvb_ascii_isprint(tvb, offset, len);
+
+ /* convert the string into a printable string */
+ if(is_ascii){
+ ldapvalue_string= tvb_get_string_enc(actx->pinfo->pool, tvb, offset, len, ENC_UTF_8|ENC_NA);
+ } else {
+ ldapvalue_string= tvb_bytes_to_str_punct(actx->pinfo->pool, tvb, offset, len, ':');
+ }
+
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, ldapvalue_string);
+
+
+finished:
+ offset+=len;
+ return offset;
+}
+
+/* This string contains the last Filter item that was decoded */
+static const char *Filter_string=NULL;
+static const char *and_filter_string=NULL;
+static const char *or_filter_string=NULL;
+static const char *substring_value=NULL;
+static const char *substring_item_init=NULL;
+static const char *substring_item_any=NULL;
+static const char *substring_item_final=NULL;
+static const char *matching_rule_string=NULL;
+static gboolean matching_rule_dnattr=FALSE;
+
+#define MAX_FILTER_LEN 4096
+static gint Filter_length;
+
+#define MAX_FILTER_ELEMENTS 200
+static gint Filter_elements;
+
+/* Global variables */
+static gint MessageID =-1;
+static gint ProtocolOp = -1;
+static gint result = 0;
+static proto_item *ldm_tree = NULL; /* item to add text to */
+
+static void ldap_do_protocolop(packet_info *pinfo)
+{
+ const gchar* valstr;
+
+ if (do_protocolop) {
+
+ valstr = val_to_str(ProtocolOp, ldap_ProtocolOp_choice_vals, "Unknown (%%u)");
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "%s(%u) ", valstr, MessageID);
+
+ if(ldm_tree)
+ proto_item_append_text(ldm_tree, " %s(%d)", valstr, MessageID);
+
+ do_protocolop = FALSE;
+
+ }
+}
+
+static ldap_call_response_t *
+ldap_match_call_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint messageId, guint protocolOpTag, ldap_conv_info_t *ldap_info)
+{
+ ldap_call_response_t lcr, *lcrp=NULL;
+
+ /* first see if we have already matched this */
+
+ lcr.messageId=messageId;
+ switch(protocolOpTag){
+ case LDAP_REQ_BIND:
+ case LDAP_REQ_SEARCH:
+ case LDAP_REQ_MODIFY:
+ case LDAP_REQ_ADD:
+ case LDAP_REQ_DELETE:
+ case LDAP_REQ_MODRDN:
+ case LDAP_REQ_COMPARE:
+ case LDAP_REQ_EXTENDED:
+ lcr.is_request=TRUE;
+ lcr.req_frame=pinfo->num;
+ lcr.rep_frame=0;
+ break;
+ case LDAP_RES_BIND:
+ case LDAP_RES_SEARCH_ENTRY:
+ case LDAP_RES_SEARCH_REF:
+ case LDAP_RES_SEARCH_RESULT:
+ case LDAP_RES_MODIFY:
+ case LDAP_RES_ADD:
+ case LDAP_RES_DELETE:
+ case LDAP_RES_MODRDN:
+ case LDAP_RES_COMPARE:
+ case LDAP_RES_EXTENDED:
+ case LDAP_RES_INTERMEDIATE:
+ lcr.is_request=FALSE;
+ lcr.req_frame=0;
+ lcr.rep_frame=pinfo->num;
+ break;
+ default:
+ return NULL;
+ }
+ lcrp=(ldap_call_response_t *)wmem_map_lookup(ldap_info->matched, &lcr);
+
+ if(lcrp){
+
+ lcrp->is_request=lcr.is_request;
+
+ } else {
+
+ /* we haven't found a match - try and match it up */
+
+ switch(protocolOpTag){
+ case LDAP_REQ_BIND:
+ case LDAP_REQ_SEARCH:
+ case LDAP_REQ_MODIFY:
+ case LDAP_REQ_ADD:
+ case LDAP_REQ_DELETE:
+ case LDAP_REQ_MODRDN:
+ case LDAP_REQ_COMPARE:
+ case LDAP_REQ_EXTENDED:
+
+ /* this is a request - add it to the unmatched list */
+
+ /* check that we don't already have one of those in the
+ unmatched list and if so remove it */
+
+ lcr.messageId=messageId;
+ lcrp=(ldap_call_response_t *)wmem_map_lookup(ldap_info->unmatched, &lcr);
+ if(lcrp){
+ wmem_map_remove(ldap_info->unmatched, lcrp);
+ }
+ /* if we can't reuse the old one, grab a new chunk */
+ if(!lcrp){
+ lcrp=wmem_new0(wmem_file_scope(), ldap_call_response_t);
+ }
+ lcrp->messageId=messageId;
+ lcrp->req_frame=pinfo->num;
+ lcrp->req_time=pinfo->abs_ts;
+ lcrp->rep_frame=0;
+ lcrp->protocolOpTag=protocolOpTag;
+ lcrp->is_request=TRUE;
+ wmem_map_insert(ldap_info->unmatched, lcrp, lcrp);
+ return NULL;
+ break;
+ case LDAP_RES_BIND:
+ case LDAP_RES_SEARCH_ENTRY:
+ case LDAP_RES_SEARCH_REF:
+ case LDAP_RES_SEARCH_RESULT:
+ case LDAP_RES_MODIFY:
+ case LDAP_RES_ADD:
+ case LDAP_RES_DELETE:
+ case LDAP_RES_MODRDN:
+ case LDAP_RES_COMPARE:
+ case LDAP_RES_EXTENDED:
+ case LDAP_RES_INTERMEDIATE:
+
+ /* this is a result - it should be in our unmatched list */
+
+ lcr.messageId=messageId;
+ lcrp=(ldap_call_response_t *)wmem_map_lookup(ldap_info->unmatched, &lcr);
+
+ if(lcrp){
+
+ if(!lcrp->rep_frame){
+ wmem_map_remove(ldap_info->unmatched, lcrp);
+ lcrp->rep_frame=pinfo->num;
+ lcrp->is_request=FALSE;
+ wmem_map_insert(ldap_info->matched, lcrp, lcrp);
+ }
+ }
+
+ break;
+ }
+
+ }
+ /* we have found a match */
+
+ if(lcrp){
+ proto_item *it;
+
+ if(lcrp->is_request){
+ it=proto_tree_add_uint(tree, hf_ldap_response_in, tvb, 0, 0, lcrp->rep_frame);
+ proto_item_set_generated(it);
+ } else {
+ nstime_t ns;
+ it=proto_tree_add_uint(tree, hf_ldap_response_to, tvb, 0, 0, lcrp->req_frame);
+ proto_item_set_generated(it);
+ nstime_delta(&ns, &pinfo->abs_ts, &lcrp->req_time);
+ it=proto_tree_add_time(tree, hf_ldap_time, tvb, 0, 0, &ns);
+ proto_item_set_generated(it);
+ }
+ }
+
+ return lcrp;
+}
+
+#include "packet-ldap-fn.c"
+static int dissect_LDAPMessage_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, ldap_conv_info_t *ldap_info) {
+
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ asn1_ctx.private_data = ldap_info;
+ offset = dissect_ldap_LDAPMessage(FALSE, tvb, offset, &asn1_ctx, tree, hf_ldap_LDAPMessage_PDU);
+ return offset;
+}
+
+static void
+dissect_ldap_payload(tvbuff_t *tvb, packet_info *pinfo,
+ proto_tree *tree, ldap_conv_info_t *ldap_info,
+ gboolean is_mscldap)
+{
+ int offset = 0;
+ guint length_remaining;
+ guint msg_len = 0;
+ int messageOffset = 0;
+ guint headerLength = 0;
+ guint length = 0;
+ tvbuff_t *msg_tvb = NULL;
+ gint8 ber_class;
+ bool pc, ind = 0;
+ gint32 ber_tag;
+
+ attributedesc_string=NULL;
+
+
+one_more_pdu:
+
+ length_remaining = tvb_ensure_captured_length_remaining(tvb, offset);
+
+ if (length_remaining < 6) return;
+
+ /*
+ * OK, try to read the "Sequence Of" header; this gets the total
+ * length of the LDAP message.
+ */
+ messageOffset = get_ber_identifier(tvb, offset, &ber_class, &pc, &ber_tag);
+ messageOffset = get_ber_length(tvb, messageOffset, &msg_len, &ind);
+
+ /* sanity check */
+ if((msg_len<4) || (msg_len>10000000)) return;
+
+ if ( (ber_class==BER_CLASS_UNI) && (ber_tag==BER_UNI_TAG_SEQUENCE) ) {
+ /*
+ * Add the length of the "Sequence Of" header to the message
+ * length.
+ */
+ headerLength = messageOffset - offset;
+ msg_len += headerLength;
+ if (msg_len < headerLength) {
+ /*
+ * The message length was probably so large that the total length
+ * overflowed.
+ *
+ * Report this as an error.
+ */
+ show_reported_bounds_error(tvb, pinfo, tree);
+ return;
+ }
+ } else {
+ /*
+ * We couldn't parse the header; just make it the amount of data
+ * remaining in the tvbuff, so we'll give up on this segment
+ * after attempting to parse the message - there's nothing more
+ * we can do. "dissect_ldap_message()" will display the error.
+ */
+ msg_len = length_remaining;
+ }
+
+ /*
+ * Construct a tvbuff containing the amount of the payload we have
+ * available. Make its reported length the amount of data in the
+ * LDAP message.
+ *
+ * XXX - if reassembly isn't enabled. the subdissector will throw a
+ * BoundsError exception, rather than a ReportedBoundsError exception.
+ * We really want a tvbuff where the length is "length", the reported
+ * length is "plen", and the "if the snapshot length were infinite"
+ * length is the minimum of the reported length of the tvbuff handed
+ * to us and "plen", with a new type of exception thrown if the offset
+ * is within the reported length but beyond that third length, with
+ * that exception getting the "Unreassembled Packet" error.
+ */
+ length = length_remaining;
+ if (length > msg_len) length = msg_len;
+ msg_tvb = tvb_new_subset_length_caplen(tvb, offset, length, msg_len);
+
+ /*
+ * Now dissect the LDAP message.
+ */
+ ldap_info->is_mscldap = is_mscldap;
+ dissect_LDAPMessage_PDU(msg_tvb, pinfo, tree, ldap_info);
+
+ offset += msg_len;
+
+ /* If this was a sasl blob there might be another PDU following in the
+ * same blob
+ */
+ if(tvb_reported_length_remaining(tvb, offset)>=6){
+ tvb = tvb_new_subset_remaining(tvb, offset);
+ offset = 0;
+
+ goto one_more_pdu;
+ }
+
+}
+
+static void
+ldap_frame_end(void)
+{
+ ldap_found_in_frame = FALSE;
+ attr_type = NULL;
+ ldapvalue_string = NULL;
+/* ? */
+ attributedesc_string = NULL;
+ Filter_string = NULL;
+ and_filter_string = NULL;
+ object_identifier_id = NULL;
+ or_filter_string = NULL;
+
+ substring_item_any = NULL;
+ substring_item_final = NULL;
+ substring_item_init = NULL;
+ substring_value = NULL;
+
+ ldm_tree = NULL;
+
+ Filter_elements = 0;
+ Filter_length = 0;
+ do_protocolop = FALSE;
+ result = 0;
+
+/* seems to be ok, but reset just in case */
+ matching_rule_string = NULL;
+}
+
+static void
+ dissect_ldap_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean is_mscldap)
+{
+ int offset = 0;
+ conversation_t *conversation;
+ gboolean doing_sasl_security = FALSE;
+ guint length_remaining;
+ ldap_conv_info_t *ldap_info = NULL;
+ proto_item *ldap_item = NULL;
+ proto_tree *ldap_tree = NULL;
+ guint32 sasl_length = 0;
+ guint32 remaining_length = 0;
+ guint8 sasl_start[2] = { 0, };
+ gboolean detected_sasl_security = FALSE;
+
+ ldm_tree = NULL;
+
+ conversation = find_or_create_conversation(pinfo);
+
+ /*
+ * Do we already have a type and mechanism?
+ */
+ ldap_info = (ldap_conv_info_t *)conversation_get_proto_data(conversation, proto_ldap);
+ if (ldap_info == NULL) {
+ /* No. Attach that information to the conversation, and add
+ * it to the list of information structures.
+ */
+ ldap_info = wmem_new0(wmem_file_scope(), ldap_conv_info_t);
+ ldap_info->matched=wmem_map_new(wmem_file_scope(), ldap_info_hash_matched, ldap_info_equal_matched);
+ ldap_info->unmatched=wmem_map_new(wmem_file_scope(), ldap_info_hash_unmatched, ldap_info_equal_unmatched);
+
+ conversation_add_proto_data(conversation, proto_ldap, ldap_info);
+ }
+
+ switch (ldap_info->auth_type) {
+ case LDAP_AUTH_SASL:
+ /*
+ * It's SASL; are we using a security layer?
+ */
+ if (ldap_info->first_auth_frame != 0 &&
+ pinfo->num >= ldap_info->first_auth_frame) {
+ doing_sasl_security = TRUE; /* yes */
+ }
+ }
+
+ length_remaining = tvb_ensure_captured_length_remaining(tvb, offset);
+
+ /* It might still be a packet containing a SASL security layer
+ * but it's just that we never saw the BIND packet.
+ * check if it looks like it could be a SASL blob here
+ * and in that case just assume it is GSS-SPNEGO
+ */
+ if(!doing_sasl_security && tvb_bytes_exist(tvb, offset, 6)) {
+ sasl_length = tvb_get_ntohl(tvb, offset);
+ remaining_length = tvb_reported_length_remaining(tvb, offset);
+ sasl_start[0] = tvb_get_guint8(tvb, offset+4);
+ sasl_start[1] = tvb_get_guint8(tvb, offset+5);
+ }
+ if ((sasl_length + 4) <= remaining_length) {
+ if (sasl_start[0] == 0x05 && sasl_start[1] == 0x04) {
+ /*
+ * Likely modern kerberos signing
+ */
+ detected_sasl_security = TRUE;
+ } else if (sasl_start[0] == 0x60) {
+ /*
+ * Likely ASN.1 based kerberos
+ */
+ detected_sasl_security = TRUE;
+ }
+ }
+ if (detected_sasl_security) {
+ ldap_info->auth_type=LDAP_AUTH_SASL;
+ ldap_info->first_auth_frame=pinfo->num;
+ ldap_info->auth_mech=wmem_strdup(wmem_file_scope(), "UNKNOWN");
+ doing_sasl_security=TRUE;
+ }
+
+ /*
+ * This is the first PDU, set the Protocol column and clear the
+ * Info column.
+ */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, pinfo->current_proto);
+
+ if(ldap_found_in_frame) {
+ /* we have already dissected an ldap PDU in this frame - add a separator and set a fence */
+ col_append_str(pinfo->cinfo, COL_INFO, " | ");
+ col_set_fence(pinfo->cinfo, COL_INFO);
+ } else {
+ col_clear(pinfo->cinfo, COL_INFO);
+ register_frame_end_routine (pinfo, ldap_frame_end);
+ ldap_found_in_frame = TRUE;
+ }
+
+ ldap_item = proto_tree_add_item(tree, is_mscldap?proto_cldap:proto_ldap, tvb, 0, -1, ENC_NA);
+ ldap_tree = proto_item_add_subtree(ldap_item, ett_ldap);
+
+ /*
+ * Might we be doing a SASL security layer and, if so, *are* we doing
+ * one?
+ *
+ * Just because we've seen a bind reply for SASL, that doesn't mean
+ * that we're using a SASL security layer; I've seen captures in
+ * which some SASL negotiations lead to a security layer being used
+ * and other negotiations don't, and it's not obvious what's different
+ * in the two negotiations. Therefore, we assume that if the first
+ * byte is 0, it's a length for a SASL security layer (that way, we
+ * never reassemble more than 16 megabytes, protecting us from
+ * chewing up *too* much memory), and otherwise that it's an LDAP
+ * message (actually, if it's an LDAP message it should begin with 0x30,
+ * but we want to parse garbage as LDAP messages rather than really
+ * huge lengths).
+ */
+
+ if (doing_sasl_security && tvb_get_guint8(tvb, offset) == 0) {
+ proto_tree *sasl_tree;
+ tvbuff_t *sasl_tvb;
+ guint sasl_len, sasl_msg_len, length;
+ /*
+ * Yes. The frame begins with a 4-byte big-endian length.
+ * And we know we have at least 6 bytes
+ */
+
+ /*
+ * Get the SASL length, which is the length of data in the buffer
+ * following the length (i.e., it's 4 less than the total length).
+ *
+ * XXX - do we need to reassemble buffers? For now, we
+ * assume that each LDAP message is entirely contained within
+ * a buffer.
+ */
+ sasl_len = tvb_get_ntohl(tvb, offset);
+ sasl_msg_len = sasl_len + 4;
+ if (sasl_msg_len < 4) {
+ /*
+ * The message length was probably so large that the total length
+ * overflowed.
+ *
+ * Report this as an error.
+ */
+ show_reported_bounds_error(tvb, pinfo, tree);
+ return;
+ }
+
+ /*
+ * Construct a tvbuff containing the amount of the payload we have
+ * available. Make its reported length the amount of data in the PDU.
+ *
+ * XXX - if reassembly isn't enabled. the subdissector will throw a
+ * BoundsError exception, rather than a ReportedBoundsError exception.
+ * We really want a tvbuff where the length is "length", the reported
+ * length is "plen", and the "if the snapshot length were infinite"
+ * length is the minimum of the reported length of the tvbuff handed
+ * to us and "plen", with a new type of exception thrown if the offset
+ * is within the reported length but beyond that third length, with
+ * that exception getting the "Unreassembled Packet" error.
+ */
+ length = length_remaining;
+ if (length > sasl_msg_len) length = sasl_msg_len;
+ sasl_tvb = tvb_new_subset_length_caplen(tvb, offset, length, sasl_msg_len);
+
+ proto_tree_add_uint(ldap_tree, hf_ldap_sasl_buffer_length, sasl_tvb, 0, 4, sasl_len);
+
+ sasl_tree = proto_tree_add_subtree(ldap_tree, sasl_tvb, 4, sasl_msg_len - 4, ett_ldap_sasl_blob, NULL, "SASL Buffer");
+
+ if (ldap_info->auth_mech != NULL &&
+ ((strcmp(ldap_info->auth_mech, "GSS-SPNEGO") == 0) ||
+ /* auth_mech may have been set from the bind */
+ (strcmp(ldap_info->auth_mech, "GSSAPI") == 0))) {
+ tvbuff_t *gssapi_tvb = NULL;
+ int ver_len;
+ int tmp_length;
+ gssapi_encrypt_info_t gssapi_encrypt;
+
+ /*
+ * This is GSS-API (using SPNEGO, but we should be done with
+ * the negotiation by now).
+ *
+ * Dissect the GSS_Wrap() token; it'll return the length of
+ * the token, from which we compute the offset in the tvbuff at
+ * which the plaintext data, i.e. the LDAP message, begins.
+ */
+ tmp_length = tvb_reported_length_remaining(sasl_tvb, 4);
+ if ((guint)tmp_length > sasl_len)
+ tmp_length = sasl_len;
+ gssapi_tvb = tvb_new_subset_length_caplen(sasl_tvb, 4, tmp_length, sasl_len);
+
+ /* Attempt decryption of the GSSAPI wrapped data if possible */
+ memset(&gssapi_encrypt, 0, sizeof(gssapi_encrypt));
+ gssapi_encrypt.decrypt_gssapi_tvb=DECRYPT_GSSAPI_NORMAL;
+ ver_len = call_dissector_with_data(gssapi_wrap_handle, gssapi_tvb, pinfo, sasl_tree, &gssapi_encrypt);
+ /*
+ * If ver_len is 0, it probably means that we got a PDU that is not
+ * aligned to the start of the segment.
+ */
+ if(ver_len==0){
+ return;
+ }
+ if (gssapi_encrypt.gssapi_decrypted_tvb) {
+ tvbuff_t *decr_tvb = gssapi_encrypt.gssapi_decrypted_tvb;
+ proto_tree *enc_tree = NULL;
+
+ /*
+ * The LDAP payload (blob) was encrypted and we were able to decrypt it.
+ * The data was signed via a MIC token, sealed (encrypted), and "wrapped"
+ * within the mechanism's "blob." Call dissect_ldap_payload to dissect
+ * one or more LDAPMessages such as searchRequest messages within this
+ * payload.
+ */
+ col_set_str(pinfo->cinfo, COL_INFO, "SASL GSS-API Privacy (decrypted): ");
+
+ if (sasl_tree) {
+ guint decr_len = tvb_reported_length(decr_tvb);
+
+ enc_tree = proto_tree_add_subtree_format(sasl_tree, decr_tvb, 0, -1,
+ ett_ldap_payload, NULL, "GSS-API Encrypted payload (%d byte%s)",
+ decr_len, plurality(decr_len, "", "s"));
+ }
+
+ dissect_ldap_payload(decr_tvb, pinfo, enc_tree, ldap_info, is_mscldap);
+ }
+ else if (gssapi_encrypt.gssapi_data_encrypted) {
+ /*
+ * The LDAP message was encrypted but couldn't be decrypted so just display the
+ * encrypted data all of which is found in Packet Bytes.
+ */
+ col_add_fstr(pinfo->cinfo, COL_INFO, "SASL GSS-API Privacy: payload (%d byte%s)",
+ sasl_len-ver_len, plurality(sasl_len-ver_len, "", "s"));
+
+ proto_tree_add_item(sasl_tree, hf_ldap_gssapi_encrypted_payload, gssapi_tvb, ver_len, -1, ENC_NA);
+ }
+ else {
+ tvbuff_t *plain_tvb = tvb_new_subset_remaining(gssapi_tvb, ver_len);
+ proto_tree *plain_tree = NULL;
+
+ /*
+ * The payload was not encrypted (sealed) but was signed via a MIC token.
+ * If krb5_tok_id == KRB_TOKEN_CFX_WRAP, the payload was wrapped within
+ * the mechanism's blob. Call dissect_ldap_payload to dissect one or more
+ * LDAPMessages within the payload.
+ */
+ col_set_str(pinfo->cinfo, COL_INFO, "SASL GSS-API Integrity: ");
+
+ if (sasl_tree) {
+ guint plain_len = tvb_reported_length(plain_tvb);
+
+ plain_tree = proto_tree_add_subtree_format(sasl_tree, plain_tvb, 0, -1,
+ ett_ldap_payload, NULL, "GSS-API payload (%d byte%s)",
+ plain_len, plurality(plain_len, "", "s"));
+ }
+
+ dissect_ldap_payload(plain_tvb, pinfo, plain_tree, ldap_info, is_mscldap);
+ }
+ }
+ } else {
+ /*
+ * The LDAP packet does not contain a SASL security layer. Such messages are typically sent
+ * prior to the LDAP "bind" negotiation exchange which establishes the "context" of the session.
+ * This means the data could neither be "signed" (no data origin auth or data integrity
+ * check) nor "sealed" (encrypted).
+ */
+ dissect_ldap_payload(tvb, pinfo, ldap_tree, ldap_info, is_mscldap);
+ }
+}
+
+int dissect_mscldap_string(tvbuff_t *tvb, int offset, int max_len, char **str)
+{
+ int compr_len;
+ const gchar *name;
+ guint name_len;
+
+ /* The name data MUST start at offset 0 of the tvb */
+ compr_len = get_dns_name(tvb, offset, max_len, 0, &name, &name_len);
+ *str = get_utf_8_string(wmem_packet_scope(), name, name_len);
+ return offset + compr_len;
+}
+
+
+/* These are the cldap DC flags
+ http://msdn.microsoft.com/en-us/library/cc201036.aspx
+ */
+static const true_false_string tfs_ads_pdc = {
+ "This is a PDC",
+ "This is NOT a pdc"
+};
+static const true_false_string tfs_ads_gc = {
+ "This is a GLOBAL CATALOGUE of forest",
+ "This is NOT a global catalog of forest"
+};
+static const true_false_string tfs_ads_ldap = {
+ "This is an LDAP server",
+ "This is NOT an ldap server"
+};
+static const true_false_string tfs_ads_ds = {
+ "This dc supports DS",
+ "This dc does NOT support ds"
+};
+static const true_false_string tfs_ads_kdc = {
+ "This is a KDC (kerberos)",
+ "This is NOT a kdc (kerberos)"
+};
+static const true_false_string tfs_ads_timeserv = {
+ "This dc is running TIME SERVICES (ntp)",
+ "This dc is NOT running time services (ntp)"
+};
+static const true_false_string tfs_ads_closest = {
+ "This server is in the same site as the client",
+ "This server is NOT in the same site as the client"
+};
+static const true_false_string tfs_ads_writable = {
+ "This dc is WRITABLE",
+ "This dc is NOT writable"
+};
+static const true_false_string tfs_ads_good_timeserv = {
+ "This dc has a GOOD TIME SERVICE (i.e. hardware clock)",
+ "This dc does NOT have a good time service (i.e. no hardware clock)"
+};
+static const true_false_string tfs_ads_ndnc = {
+ "Domain is NON-DOMAIN NC serviced by ldap server",
+ "Domain is NOT non-domain nc serviced by ldap server"
+};
+static const true_false_string tfs_ads_rodc = {
+ "Domain controller is a Windows 2008 RODC",
+ "Domain controller is not a Windows 2008 RODC"
+};
+static const true_false_string tfs_ads_wdc = {
+ "Domain controller is a Windows 2008 writable NC",
+ "Domain controller is not a Windows 2008 writable NC"
+};
+static const true_false_string tfs_ads_dns = {
+ "Server name is in DNS format (Windows 2008)",
+ "Server name is not in DNS format (Windows 2008)"
+};
+static const true_false_string tfs_ads_dnc = {
+ "The NC is the default NC (Windows 2008)",
+ "The NC is not the default NC (Windows 2008)"
+};
+static const true_false_string tfs_ads_fnc = {
+ "The NC is the default forest NC(Windows 2008)",
+ "The NC is not the default forest NC (Windows 2008)"
+};
+static int dissect_mscldap_netlogon_flags(proto_tree *parent_tree, tvbuff_t *tvb, int offset)
+{
+ static int * const flags[] = {
+ &hf_mscldap_netlogon_flags_fnc,
+ &hf_mscldap_netlogon_flags_dnc,
+ &hf_mscldap_netlogon_flags_dns,
+ &hf_mscldap_netlogon_flags_wdc,
+ &hf_mscldap_netlogon_flags_rodc,
+ &hf_mscldap_netlogon_flags_ndnc,
+ &hf_mscldap_netlogon_flags_good_timeserv,
+ &hf_mscldap_netlogon_flags_writable,
+ &hf_mscldap_netlogon_flags_closest,
+ &hf_mscldap_netlogon_flags_timeserv,
+ &hf_mscldap_netlogon_flags_kdc,
+ &hf_mscldap_netlogon_flags_ds,
+ &hf_mscldap_netlogon_flags_ldap,
+ &hf_mscldap_netlogon_flags_gc,
+ &hf_mscldap_netlogon_flags_pdc,
+ NULL
+ };
+
+ proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_mscldap_netlogon_flags,
+ ett_mscldap_netlogon_flags, flags, ENC_LITTLE_ENDIAN, BMT_NO_FALSE);
+ offset += 4;
+
+ return offset;
+}
+
+static int dissect_NetLogon_PDU(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_)
+{
+ int old_offset, offset=0;
+ char *str;
+ guint16 itype;
+ guint16 len;
+ guint32 version;
+ int fn_len;
+ proto_item *item;
+
+ ldm_tree = NULL;
+
+
+ /* Get the length of the buffer */
+ len=tvb_reported_length_remaining(tvb,offset);
+
+ /* check the len if it is to small return */
+ if (len < 10)
+ return tvb_captured_length(tvb);
+
+ /* Type */
+ proto_tree_add_item(tree, hf_mscldap_netlogon_opcode, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ itype = tvb_get_letohs(tvb, offset);
+ offset += 2;
+
+ switch(itype){
+
+ case LOGON_SAM_LOGON_RESPONSE:
+ /* logon server name; must be aligned on a 2-byte boundary */
+ if ((offset & 1) != 0) {
+ offset++;
+ }
+ proto_tree_add_item_ret_length(tree, hf_mscldap_nb_hostname_z, tvb,offset, -1, ENC_UTF_16|ENC_LITTLE_ENDIAN, &fn_len);
+ offset +=fn_len;
+
+ /* username; must be aligned on a 2-byte boundary */
+ if ((offset & 1) != 0) {
+ offset++;
+ }
+ proto_tree_add_item_ret_length(tree, hf_mscldap_username_z, tvb,offset, -1, ENC_UTF_16|ENC_LITTLE_ENDIAN, &fn_len);
+ offset +=fn_len;
+
+ /* domain name; must be aligned on a 2-byte boundary */
+ if ((offset & 1) != 0) {
+ offset++;
+ }
+ proto_tree_add_item_ret_length(tree, hf_mscldap_nb_domain_z, tvb,offset, -1, ENC_UTF_16|ENC_LITTLE_ENDIAN, &fn_len);
+ offset +=fn_len;
+
+ /* get the version number from the end of the buffer, as the
+ length is variable and the version determines what fields
+ need to be decoded */
+ version = tvb_get_letohl(tvb,len-8);
+
+ /* include the extra version 5 fields */
+ if ((version & NETLOGON_NT_VERSION_5) == NETLOGON_NT_VERSION_5){
+
+ /* domain guid */
+ proto_tree_add_item(tree, hf_mscldap_domain_guid, tvb, offset, 16, ENC_LITTLE_ENDIAN);
+ offset += 16;
+
+ /* domain guid part 2
+ there is another 16 byte guid but this is alway zero, so we will skip it */
+ offset += 16;
+
+ /* Forest */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_forest, tvb, old_offset, offset-old_offset, str);
+
+ /* Domain */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_domain, tvb, old_offset, offset-old_offset, str);
+
+ /* Hostname */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_hostname, tvb, old_offset, offset-old_offset, str);
+
+ /* DC IP Address */
+ proto_tree_add_item(tree, hf_mscldap_netlogon_ipaddress, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+
+ /* Flags */
+ dissect_mscldap_netlogon_flags(tree, tvb, offset);
+ }
+
+ break;
+
+ case LOGON_SAM_LOGON_RESPONSE_EX:
+ /* MS-ADTS 6.3.1.9 */
+ offset += 2; /* Skip over "Sbz" field (MUST be set to 0) */
+
+ /* Flags */
+ offset = dissect_mscldap_netlogon_flags(tree, tvb, offset);
+
+ /* Domain GUID */
+ proto_tree_add_item(tree, hf_mscldap_domain_guid, tvb, offset, 16, ENC_LITTLE_ENDIAN);
+ offset += 16;
+
+ /* Forest */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_forest, tvb, old_offset, offset-old_offset, str);
+
+ /* Domain */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_domain, tvb, old_offset, offset-old_offset, str);
+
+ /* Hostname */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_hostname, tvb, old_offset, offset-old_offset, str);
+
+ /* NetBIOS Domain */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_nb_domain, tvb, old_offset, offset-old_offset, str);
+
+ /* NetBIOS Hostname */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_nb_hostname, tvb, old_offset, offset-old_offset, str);
+
+ /* User */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_username, tvb, old_offset, offset-old_offset, str);
+
+ /* Server Site */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_sitename, tvb, old_offset, offset-old_offset, str);
+
+ /* Client Site */
+ old_offset=offset;
+ offset=dissect_mscldap_string(tvb, offset, 255, &str);
+ proto_tree_add_string(tree, hf_mscldap_clientsitename, tvb, old_offset, offset-old_offset, str);
+
+ /* get the version number from the end of the buffer, as the
+ length is variable and the version determines what fields
+ need to be decoded */
+ version = tvb_get_letohl(tvb,len-8);
+
+ /* include the extra fields for version 5 with IP s */
+ if ((version & NETLOGON_NT_VERSION_5EX_WITH_IP) == NETLOGON_NT_VERSION_5EX_WITH_IP){
+ /* The ip address is returned as a sockaddr_in structure
+ *
+ * This section may need to be updated if the base Windows APIs
+ * are changed to support ipv6, which currently is not the case.
+ *
+ * The desector assumes the length is based on ipv4 and
+ * ignores the length
+ */
+
+ /* skip the length of the sockaddr_in */
+
+ offset +=1;
+
+ /* add IP address and desect the sockaddr_in structure */
+
+ old_offset = offset + 4;
+ item = proto_tree_add_item(tree, hf_mscldap_netlogon_ipaddress, tvb, old_offset, 4, ENC_BIG_ENDIAN);
+
+ if (tree) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(item, ett_mscldap_ipdetails);
+
+ /* get sockaddr family */
+ proto_tree_add_item(subtree, hf_mscldap_netlogon_ipaddress_family, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset +=2;
+
+ /* get sockaddr port */
+ proto_tree_add_item(subtree, hf_mscldap_netlogon_ipaddress_port, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset +=2;
+
+ /* get IP address */
+ proto_tree_add_item(subtree, hf_mscldap_netlogon_ipaddress_ipv4, tvb, offset, 4, ENC_BIG_ENDIAN);
+ }
+
+ }
+
+ break;
+ }
+
+
+ /* complete the decode with the version and token details */
+
+ offset = len - 8;
+
+ /* NETLOGON_NT_VERISON Options (MS-ADTS 6.3.1.1) */
+ offset = dissect_mscldap_ntver_flags(tree, tvb, offset);
+
+ /* LM Token */
+ proto_tree_add_item(tree, hf_mscldap_netlogon_lm_token, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ /* NT Token */
+ proto_tree_add_item(tree, hf_mscldap_netlogon_nt_token, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+
+ return tvb_captured_length(tvb);
+}
+
+
+static guint
+get_sasl_ldap_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb,
+ int offset, void *data _U_)
+{
+ /* sasl encapsulated ldap is 4 bytes plus the length in size */
+ return tvb_get_ntohl(tvb, offset)+4;
+}
+
+static int
+dissect_sasl_ldap_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ dissect_ldap_pdu(tvb, pinfo, tree, FALSE);
+ return tvb_captured_length(tvb);
+}
+
+static guint
+get_normal_ldap_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb,
+ int offset, void *data _U_)
+{
+ guint32 len;
+ bool ind;
+ int data_offset;
+
+ /* normal ldap is tag+len bytes plus the length
+ * offset is where the tag is
+ * offset+1 is where length starts
+ */
+ data_offset=get_ber_length(tvb, offset+1, &len, &ind);
+ return len+data_offset-offset;
+}
+
+static int
+dissect_normal_ldap_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ dissect_ldap_pdu(tvb, pinfo, tree, FALSE);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_ldap_oid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_)
+{
+ char *oid;
+ const char *oidname;
+
+ /* tvb here contains an ascii string that is really an oid */
+ /* XXX we should convert the string oid into a real oid so we can use
+ * proto_tree_add_oid() instead.
+ */
+
+ oid=tvb_get_string_enc(pinfo->pool, tvb, 0, tvb_reported_length(tvb), ENC_UTF_8|ENC_NA);
+ if(!oid){
+ return tvb_captured_length(tvb);
+ }
+
+ oidname=oid_resolved_from_string(pinfo->pool, oid);
+
+ if(oidname){
+ proto_tree_add_string_format_value(tree, hf_ldap_oid, tvb, 0, tvb_reported_length(tvb), oid, "%s (%s)",oid,oidname);
+ } else {
+ proto_tree_add_string(tree, hf_ldap_oid, tvb, 0, tvb_captured_length(tvb), oid);
+ }
+ return tvb_captured_length(tvb);
+}
+
+#define LDAP_ACCESSMASK_ADS_CREATE_CHILD 0x00000001
+#define LDAP_ACCESSMASK_ADS_DELETE_CHILD 0x00000002
+#define LDAP_ACCESSMASK_ADS_LIST 0x00000004
+#define LDAP_ACCESSMASK_ADS_SELF_WRITE 0x00000008
+#define LDAP_ACCESSMASK_ADS_READ_PROP 0x00000010
+#define LDAP_ACCESSMASK_ADS_WRITE_PROP 0x00000020
+#define LDAP_ACCESSMASK_ADS_DELETE_TREE 0x00000040
+#define LDAP_ACCESSMASK_ADS_LIST_OBJECT 0x00000080
+#define LDAP_ACCESSMASK_ADS_CONTROL_ACCESS 0x00000100
+
+static void
+ldap_specific_rights(tvbuff_t *tvb, gint offset, proto_tree *tree, guint32 access)
+{
+ static int * const access_flags[] = {
+ &hf_ldap_AccessMask_ADS_CONTROL_ACCESS,
+ &hf_ldap_AccessMask_ADS_LIST_OBJECT,
+ &hf_ldap_AccessMask_ADS_DELETE_TREE,
+ &hf_ldap_AccessMask_ADS_WRITE_PROP,
+ &hf_ldap_AccessMask_ADS_READ_PROP,
+ &hf_ldap_AccessMask_ADS_SELF_WRITE,
+ &hf_ldap_AccessMask_ADS_LIST,
+ &hf_ldap_AccessMask_ADS_DELETE_CHILD,
+ &hf_ldap_AccessMask_ADS_CREATE_CHILD,
+ NULL
+ };
+
+ proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
+}
+struct access_mask_info ldap_access_mask_info = {
+ "LDAP", /* Name of specific rights */
+ ldap_specific_rights, /* Dissection function */
+ NULL, /* Generic mapping table */
+ NULL /* Standard mapping table */
+};
+
+static int
+dissect_ldap_nt_sec_desc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ dissect_nt_sec_desc(tvb, 0, pinfo, tree, NULL, TRUE, tvb_reported_length(tvb), &ldap_access_mask_info);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_ldap_sid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_)
+{
+ char *tmpstr;
+
+ /* this octet string contains an NT SID */
+ dissect_nt_sid(tvb, 0, tree, "SID", &tmpstr, hf_ldap_sid);
+ ldapvalue_string=tmpstr;
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_ldap_guid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ guint8 drep[4] = { 0x10, 0x00, 0x00, 0x00}; /* fake DREP struct */
+ e_guid_t uuid;
+
+ /* This octet string contained a GUID */
+ dissect_dcerpc_uuid_t(tvb, 0, pinfo, tree, drep, hf_ldap_guid, &uuid);
+
+ ldapvalue_string=(char*)wmem_alloc(pinfo->pool, 1024);
+ snprintf(ldapvalue_string, 1023, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+ uuid.data1, uuid.data2, uuid.data3, uuid.data4[0], uuid.data4[1],
+ uuid.data4[2], uuid.data4[3], uuid.data4[4], uuid.data4[5],
+ uuid.data4[6], uuid.data4[7]);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_ldap_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ guint32 sasl_len;
+ guint32 ldap_len;
+ bool ind;
+ conversation_t *conversation;
+ ldap_conv_info_t *ldap_info = NULL;
+
+ /*
+ * Do we have a conversation for this connection?
+ */
+ conversation = find_conversation_pinfo(pinfo, 0);
+ if(conversation){
+ ldap_info = (ldap_conv_info_t *)conversation_get_proto_data(conversation, proto_ldap);
+ }
+
+ ldm_tree = NULL;
+
+ /* This is a bit tricky. We have to find out whether SASL is used
+ * so that we know how big a header we are supposed to pass
+ * to tcp_dissect_pdus()
+ * We must also cope with the case when a client connects to LDAP
+ * and performs a few unauthenticated searches of LDAP before
+ * it performs the bind on the same tcp connection.
+ */
+ /* check for a SASL header, i.e. assume it is SASL if
+ * 1, first four bytes (SASL length) is an integer
+ * with a value that must be <LDAP_SASL_MAX_BUF and >2
+ * (>2 to fight false positives, 0x00000000 is a common
+ * "random" tcp payload)
+ * (SASL ldap PDUs might be >64k in size, which is why
+ * LDAP_SASL_MAX_BUF is used - defined in packet-ldap.h)
+ *
+ * 2, we must have a conversation and the auth type must
+ * be LDAP_AUTH_SASL
+ */
+ sasl_len=tvb_get_ntohl(tvb, 0);
+
+ if( sasl_len<2 ){
+ goto this_was_not_sasl;
+ }
+
+ if( sasl_len>LDAP_SASL_MAX_BUF ){
+ goto this_was_not_sasl;
+ }
+
+ if((!ldap_info) || (ldap_info->auth_type!=LDAP_AUTH_SASL) ){
+ goto this_was_not_sasl;
+ }
+
+ tcp_dissect_pdus(tvb, pinfo, tree, ldap_desegment, 4, get_sasl_ldap_pdu_len, dissect_sasl_ldap_pdu, data);
+ return tvb_captured_length(tvb);
+
+this_was_not_sasl:
+ /* check if it is a normal BER encoded LDAP packet
+ * i.e. first byte is 0x30 followed by a length that is
+ * <64k
+ * (no ldap PDUs are ever >64kb? )
+ */
+ if(tvb_get_guint8(tvb, 0)!=0x30){
+ goto this_was_not_normal_ldap;
+ }
+
+ /* check that length makes sense */
+ get_ber_length(tvb, 1, &ldap_len, &ind);
+
+ /* don't check ind since indefinite length is never used for ldap (famous last words)*/
+ if(ldap_len<2){
+ goto this_was_not_normal_ldap;
+ }
+
+ /*
+ * The minimum size of a LDAP pdu is 7 bytes
+ *
+ * dumpasn1 -hh ldap-unbind-min.dat
+ *
+ * <30 05 02 01 09 42 00>
+ * 0 5: SEQUENCE {
+ * <02 01 09>
+ * 2 1: INTEGER 9
+ * <42 00>
+ * 5 0: [APPLICATION 2]
+ * : Error: Object has zero length.
+ * : }
+ *
+ * dumpasn1 -hh ldap-unbind-windows.dat
+ *
+ * <30 84 00 00 00 05 02 01 09 42 00>
+ * 0 5: SEQUENCE {
+ * <02 01 09>
+ * 6 1: INTEGER 9
+ * <42 00>
+ * 9 0: [APPLICATION 2]
+ * : Error: Object has zero length.
+ * : }
+ *
+ * 6 bytes would also be ok to get the full length of
+ * the pdu, but as the smallest pdu can be 7 bytes
+ * we can use 7.
+ */
+ tcp_dissect_pdus(tvb, pinfo, tree, ldap_desegment, 7, get_normal_ldap_pdu_len, dissect_normal_ldap_pdu, data);
+
+ goto end;
+
+this_was_not_normal_ldap:
+
+ /* Ok it might be a strange case of SASL still
+ * It has been seen with Exchange setup to MS AD
+ * when Exchange pretend that there is SASL but in fact data are still
+ * in clear*/
+ if ((sasl_len + 4) == (guint32)tvb_reported_length_remaining(tvb, 0))
+ tcp_dissect_pdus(tvb, pinfo, tree, ldap_desegment, 4, get_sasl_ldap_pdu_len, dissect_sasl_ldap_pdu, data);
+ end:
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_mscldap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ dissect_ldap_pdu(tvb, pinfo, tree, TRUE);
+ return tvb_captured_length(tvb);
+}
+
+
+/*--- proto_register_ldap -------------------------------------------*/
+void proto_register_ldap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+
+ { &hf_ldap_sasl_buffer_length,
+ { "SASL Buffer Length", "ldap.sasl_buffer_length",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_ldap_response_in,
+ { "Response In", "ldap.response_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "The response to this LDAP request is in this frame", HFILL }},
+ { &hf_ldap_response_to,
+ { "Response To", "ldap.response_to",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "This is a response to the LDAP request in this frame", HFILL }},
+ { &hf_ldap_time,
+ { "Time", "ldap.time",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "The time between the Call and the Reply", HFILL }},
+
+ { &hf_mscldap_netlogon_opcode,
+ { "Operation code", "mscldap.netlogon.opcode",
+ FT_UINT16, BASE_DEC, VALS(netlogon_opcode_vals), 0x0,
+ "LDAP ping operation code", HFILL }},
+
+ { &hf_mscldap_netlogon_ipaddress_family,
+ { "Family", "mscldap.netlogon.ipaddress.family",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_mscldap_netlogon_ipaddress_ipv4,
+ { "IPv4", "mscldap.netlogon.ipaddress.ipv4",
+ FT_IPv4, BASE_NONE, NULL, 0x0,
+ "IP Address", HFILL }},
+
+ { &hf_mscldap_netlogon_ipaddress_port,
+ { "Port", "mscldap.netlogon.ipaddress.port",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_mscldap_netlogon_ipaddress,
+ { "IP Address","mscldap.netlogon.ipaddress",
+ FT_IPv4, BASE_NONE, NULL, 0x0,
+ "Domain Controller IP Address", HFILL }},
+
+ { &hf_mscldap_netlogon_lm_token,
+ { "LM Token", "mscldap.netlogon.lm_token",
+ FT_UINT16, BASE_HEX, NULL, 0x0,
+ "MUST be set to 0xFFFF", HFILL }},
+
+ { &hf_mscldap_netlogon_nt_token,
+ { "NT Token", "mscldap.netlogon.nt_token",
+ FT_UINT16, BASE_HEX, NULL, 0x0,
+ "MUST be set to 0xFFFF", HFILL }},
+
+ { &hf_mscldap_netlogon_flags,
+ { "Flags", "mscldap.netlogon.flags",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ "Netlogon flags describing the DC properties", HFILL }},
+
+ { &hf_mscldap_ntver_flags,
+ { "Version Flags", "mscldap.ntver.flags",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ "NETLOGON_NT_VERSION Options Bits", HFILL }},
+
+ { &hf_mscldap_domain_guid,
+ { "Domain GUID", "mscldap.domain.guid",
+ FT_GUID, BASE_NONE, NULL, 0x0,
+ "Value of the NC's GUID attribute", HFILL }},
+
+ { &hf_mscldap_forest,
+ { "Forest", "mscldap.forest",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "DNS name of the forest", HFILL }},
+
+ { &hf_mscldap_domain,
+ { "Domain", "mscldap.domain",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "DNS name of the NC", HFILL }},
+
+ { &hf_mscldap_hostname,
+ { "Hostname", "mscldap.hostname",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "DNS name of server", HFILL }},
+
+ { &hf_mscldap_nb_domain_z,
+ { "NetBIOS Domain", "mscldap.nb_domain",
+ FT_STRINGZ, BASE_NONE, NULL, 0x0,
+ "NetBIOS name of the NC", HFILL }},
+
+ { &hf_mscldap_nb_domain,
+ { "NetBIOS Domain", "mscldap.nb_domain",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "NetBIOS name of the NC", HFILL }},
+
+ { &hf_mscldap_nb_hostname_z,
+ { "NetBIOS Hostname", "mscldap.nb_hostname",
+ FT_STRINGZ, BASE_NONE, NULL, 0x0,
+ "NetBIOS name of the server", HFILL }},
+
+ { &hf_mscldap_nb_hostname,
+ { "NetBIOS Hostname", "mscldap.nb_hostname",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "NetBIOS name of the server", HFILL }},
+
+ { &hf_mscldap_username_z,
+ { "Username", "mscldap.username",
+ FT_STRINGZ, BASE_NONE, NULL, 0x0,
+ "User specified in client's request", HFILL }},
+
+ { &hf_mscldap_username,
+ { "Username", "mscldap.username",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "User specified in client's request", HFILL }},
+
+ { &hf_mscldap_sitename,
+ { "Server Site", "mscldap.sitename",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "Site name of the server", HFILL }},
+
+ { &hf_mscldap_clientsitename,
+ { "Client Site", "mscldap.clientsitename",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "Site name of the client", HFILL }},
+
+ { &hf_ldap_sid,
+ { "Sid", "ldap.sid",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_mscldap_ntver_flags_v1,
+ { "V1", "mscldap.ntver.searchflags.v1", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_v1), 0x00000001, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+ { &hf_mscldap_ntver_flags_v5,
+ { "V5", "mscldap.ntver.searchflags.v5", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_v5), 0x00000002, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+ { &hf_mscldap_ntver_flags_v5ex,
+ { "V5EX", "mscldap.ntver.searchflags.v5ex", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_v5ex), 0x00000004, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+ { &hf_mscldap_ntver_flags_v5ep,
+ { "V5EP", "mscldap.ntver.searchflags.v5ep", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_v5ep), 0x00000008, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+ { &hf_mscldap_ntver_flags_vcs,
+ { "VCS", "mscldap.ntver.searchflags.vcs", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_vcs), 0x00000010, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+ { &hf_mscldap_ntver_flags_vnt4,
+ { "VNT4", "mscldap.ntver.searchflags.vnt4", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_vnt4), 0x01000000, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+ { &hf_mscldap_ntver_flags_vpdc,
+ { "VPDC", "mscldap.ntver.searchflags.vpdc", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_vpdc), 0x10000000, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+ { &hf_mscldap_ntver_flags_vip,
+ { "VIP", "mscldap.ntver.searchflags.vip", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_vip), 0x20000000, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+ { &hf_mscldap_ntver_flags_vl,
+ { "VL", "mscldap.ntver.searchflags.vl", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_vl), 0x40000000, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+ { &hf_mscldap_ntver_flags_vgc,
+ { "VGC", "mscldap.ntver.searchflags.vgc", FT_BOOLEAN, 32,
+ TFS(&tfs_ntver_vgc), 0x80000000, "See section 6.3.1.1 of MS-ADTS specification", HFILL }},
+
+
+ { &hf_mscldap_netlogon_flags_pdc,
+ { "PDC", "mscldap.netlogon.flags.pdc", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_pdc), 0x00000001, "Is this DC a PDC or not?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_gc,
+ { "GC", "mscldap.netlogon.flags.gc", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_gc), 0x00000004, "Does this dc service as a GLOBAL CATALOGUE?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_ldap,
+ { "LDAP", "mscldap.netlogon.flags.ldap", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_ldap), 0x00000008, "Does this DC act as an LDAP server?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_ds,
+ { "DS", "mscldap.netlogon.flags.ds", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_ds), 0x00000010, "Does this dc provide DS services?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_kdc,
+ { "KDC", "mscldap.netlogon.flags.kdc", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_kdc), 0x00000020, "Does this dc act as a KDC?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_timeserv,
+ { "Time Serv", "mscldap.netlogon.flags.timeserv", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_timeserv), 0x00000040, "Does this dc provide time services (ntp) ?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_closest,
+ { "Closest", "mscldap.netlogon.flags.closest", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_closest), 0x00000080, "Is this the closest dc?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_writable,
+ { "Writable", "mscldap.netlogon.flags.writable", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_writable), 0x00000100, "Is this dc writable?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_good_timeserv,
+ { "Good Time Serv", "mscldap.netlogon.flags.good_timeserv", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_good_timeserv), 0x00000200, "Is this a Good Time Server? (i.e. does it have a hardware clock)", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_ndnc,
+ { "NDNC", "mscldap.netlogon.flags.ndnc", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_ndnc), 0x00000400, "Is this an NDNC dc?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_rodc,
+ { "RODC", "mscldap.netlogon.flags.rodc", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_rodc), 0x00000800, "Is this an read only dc?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_wdc,
+ { "WDC", "mscldap.netlogon.flags.writabledc", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_wdc), 0x00001000, "Is this an writable dc (Windows 2008)?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_dns,
+ { "DNS", "mscldap.netlogon.flags.dnsname", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_dns), 0x20000000, "Does the server have a dns name (Windows 2008)?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_dnc,
+ { "DNC", "mscldap.netlogon.flags.defaultnc", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_dnc), 0x40000000, "Is this the default NC (Windows 2008)?", HFILL }},
+
+ { &hf_mscldap_netlogon_flags_fnc,
+ { "FDC", "mscldap.netlogon.flags.forestnc", FT_BOOLEAN, 32,
+ TFS(&tfs_ads_fnc), 0x80000000, "Is the NC the default forest root(Windows 2008)?", HFILL }},
+
+ { &hf_ldap_guid,
+ { "GUID", "ldap.guid", FT_GUID, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+
+ { &hf_ldap_AccessMask_ADS_CREATE_CHILD,
+ { "Ads Create Child", "ldap.AccessMask.ADS_CREATE_CHILD", FT_BOOLEAN, 32, TFS(&tfs_set_notset), LDAP_ACCESSMASK_ADS_CREATE_CHILD, NULL, HFILL }},
+
+ { &hf_ldap_AccessMask_ADS_DELETE_CHILD,
+ { "Ads Delete Child", "ldap.AccessMask.ADS_DELETE_CHILD", FT_BOOLEAN, 32, TFS(&tfs_set_notset), LDAP_ACCESSMASK_ADS_DELETE_CHILD, NULL, HFILL }},
+
+ { &hf_ldap_AccessMask_ADS_LIST,
+ { "Ads List", "ldap.AccessMask.ADS_LIST", FT_BOOLEAN, 32, TFS(&tfs_set_notset), LDAP_ACCESSMASK_ADS_LIST, NULL, HFILL }},
+
+ { &hf_ldap_AccessMask_ADS_SELF_WRITE,
+ { "Ads Self Write", "ldap.AccessMask.ADS_SELF_WRITE", FT_BOOLEAN, 32, TFS(&tfs_set_notset), LDAP_ACCESSMASK_ADS_SELF_WRITE, NULL, HFILL }},
+
+ { &hf_ldap_AccessMask_ADS_READ_PROP,
+ { "Ads Read Prop", "ldap.AccessMask.ADS_READ_PROP", FT_BOOLEAN, 32, TFS(&tfs_set_notset), LDAP_ACCESSMASK_ADS_READ_PROP, NULL, HFILL }},
+
+ { &hf_ldap_AccessMask_ADS_WRITE_PROP,
+ { "Ads Write Prop", "ldap.AccessMask.ADS_WRITE_PROP", FT_BOOLEAN, 32, TFS(&tfs_set_notset), LDAP_ACCESSMASK_ADS_WRITE_PROP, NULL, HFILL }},
+
+ { &hf_ldap_AccessMask_ADS_DELETE_TREE,
+ { "Ads Delete Tree", "ldap.AccessMask.ADS_DELETE_TREE", FT_BOOLEAN, 32, TFS(&tfs_set_notset), LDAP_ACCESSMASK_ADS_DELETE_TREE, NULL, HFILL }},
+
+ { &hf_ldap_AccessMask_ADS_LIST_OBJECT,
+ { "Ads List Object", "ldap.AccessMask.ADS_LIST_OBJECT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), LDAP_ACCESSMASK_ADS_LIST_OBJECT, NULL, HFILL }},
+
+ { &hf_ldap_AccessMask_ADS_CONTROL_ACCESS,
+ { "Ads Control Access", "ldap.AccessMask.ADS_CONTROL_ACCESS", FT_BOOLEAN, 32, TFS(&tfs_set_notset), LDAP_ACCESSMASK_ADS_CONTROL_ACCESS, NULL, HFILL }},
+
+ { &hf_ldap_LDAPMessage_PDU,
+ { "LDAPMessage", "ldap.LDAPMessage_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+
+ { &hf_ldap_object_security_flag,
+ { "Flag Object_Security", "ldap.object_security_flag", FT_BOOLEAN, 32, NULL, 0x00000001, NULL, HFILL }},
+
+ { &hf_ldap_ancestor_first_flag,
+ { "Flag Ancestor_First", "ldap.ancestor_first_flag", FT_BOOLEAN, 32, NULL, 0x00000800, NULL, HFILL }},
+
+ { &hf_ldap_public_data_only_flag,
+ { "Flag Public_Data_Only", "ldap.public_data_only_flag", FT_BOOLEAN, 32, NULL, 0x00002000, NULL, HFILL }},
+
+ { &hf_ldap_incremental_value_flag,
+ { "Flag Incremental_Value", "ldap.incremental_value_flag", FT_BOOLEAN, 32, NULL, 0x80000000, NULL, HFILL }},
+
+ { &hf_ldap_oid,
+ { "OID", "ldap.oid", FT_STRING, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+
+ { &hf_ldap_gssapi_encrypted_payload,
+ { "GSS-API Encrypted payload", "ldap.gssapi_encrypted_payload", FT_BYTES, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+
+#include "packet-ldap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ldap,
+ &ett_ldap_payload,
+ &ett_ldap_sasl_blob,
+ &ett_ldap_msg,
+ &ett_mscldap_netlogon_flags,
+ &ett_mscldap_ntver_flags,
+ &ett_mscldap_ipdetails,
+ &ett_ldap_DirSyncFlagsSubEntry,
+
+#include "packet-ldap-ettarr.c"
+ };
+ /* UAT for header fields */
+ static uat_field_t custom_attribute_types_uat_fields[] = {
+ UAT_FLD_CSTRING(attribute_types, attribute_type, "Attribute type", "Attribute type"),
+ UAT_FLD_CSTRING(attribute_types, attribute_desc, "Description", "Description of the value matching type"),
+ UAT_END_FIELDS
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_ldap_exceeded_filter_length, { "ldap.exceeded_filter_length", PI_UNDECODED, PI_ERROR, "Filter length exceeds number. Giving up", EXPFILL }},
+ { &ei_ldap_too_many_filter_elements, { "ldap.too_many_filter_elements", PI_UNDECODED, PI_ERROR, "Found more than %%u filter elements. Giving up.", EXPFILL }},
+ };
+
+ expert_module_t* expert_ldap;
+ module_t *ldap_module;
+ uat_t *attributes_uat;
+
+ /* Register protocol */
+ proto_ldap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ldap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_ldap = expert_register_protocol(proto_ldap);
+ expert_register_field_array(expert_ldap, ei, array_length(ei));
+
+ ldap_handle = register_dissector("ldap", dissect_ldap_tcp, proto_ldap);
+
+ ldap_module = prefs_register_protocol(proto_ldap, prefs_register_ldap);
+ prefs_register_bool_preference(ldap_module, "desegment_ldap_messages",
+ "Reassemble LDAP messages spanning multiple TCP segments",
+ "Whether the LDAP dissector should reassemble messages spanning multiple TCP segments."
+ " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &ldap_desegment);
+
+ prefs_register_uint_preference(ldap_module, "tls.port", "LDAPS TCP Port",
+ "Set the port for LDAP operations over TLS",
+ 10, &global_ldaps_tcp_port);
+ prefs_register_obsolete_preference(ldap_module, "ssl.port");
+ /* UAT */
+ attributes_uat = uat_new("Custom LDAP AttributeValue types",
+ sizeof(attribute_type_t),
+ "custom_ldap_attribute_types",
+ TRUE,
+ &attribute_types,
+ &num_attribute_types,
+ /* specifies named fields, so affects dissection
+ and the set of named fields */
+ UAT_AFFECTS_DISSECTION|UAT_AFFECTS_FIELDS,
+ NULL,
+ attribute_types_copy_cb,
+ attribute_types_update_cb,
+ attribute_types_free_cb,
+ attribute_types_post_update_cb,
+ attribute_types_reset_cb,
+ custom_attribute_types_uat_fields);
+
+ prefs_register_uat_preference(ldap_module, "custom_ldap_attribute_types",
+ "Custom AttributeValue types",
+ "A table to define custom LDAP attribute type values for which fields can be setup and used for filtering/data extraction etc.",
+ attributes_uat);
+
+ prefs_register_obsolete_preference(ldap_module, "max_pdu");
+
+ proto_cldap = proto_register_protocol("Connectionless Lightweight Directory Access Protocol", "CLDAP", "cldap");
+ cldap_handle = register_dissector("cldap", dissect_mscldap, proto_cldap);
+
+ ldap_tap=register_tap("ldap");
+
+ ldap_name_dissector_table = register_dissector_table("ldap.name", "LDAP Attribute Type Dissectors", proto_cldap, FT_STRING, STRING_CASE_SENSITIVE);
+
+ register_srt_table(proto_ldap, NULL, 1, ldapstat_packet, ldapstat_init, NULL);
+}
+
+
+/*--- proto_reg_handoff_ldap ---------------------------------------*/
+void
+proto_reg_handoff_ldap(void)
+{
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_CLDAP, cldap_handle);
+
+ gssapi_handle = find_dissector_add_dependency("gssapi", proto_ldap);
+ gssapi_wrap_handle = find_dissector_add_dependency("gssapi_verf", proto_ldap);
+ spnego_handle = find_dissector_add_dependency("spnego", proto_ldap);
+
+ ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_ldap);
+
+ tls_handle = find_dissector_add_dependency("tls", proto_ldap);
+
+ prefs_register_ldap();
+
+ oid_add_from_string("ISO assigned OIDs, USA", "1.2.840");
+
+/* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dsml/dsml/ldap_controls_and_session_support.asp */
+/* https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/3c5e87db-4728-4f29-b164-01dd7d7391ea */
+ oid_add_from_string("LDAP_PAGED_RESULT_OID_STRING","1.2.840.113556.1.4.319");
+ oid_add_from_string("LDAP_SERVER_SHOW_DELETED_OID","1.2.840.113556.1.4.417");
+ oid_add_from_string("LDAP_SERVER_SORT_OID","1.2.840.113556.1.4.473");
+ oid_add_from_string("LDAP_SERVER_RESP_SORT_OID","1.2.840.113556.1.4.474");
+ oid_add_from_string("LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID","1.2.840.113556.1.4.521");
+ oid_add_from_string("LDAP_SERVER_NOTIFICATION_OID","1.2.840.113556.1.4.528");
+ oid_add_from_string("LDAP_SERVER_EXTENDED_DN_OID","1.2.840.113556.1.4.529");
+ oid_add_from_string("meetingAdvertiseScope","1.2.840.113556.1.4.582");
+ oid_add_from_string("LDAP_SERVER_LAZY_COMMIT_OID","1.2.840.113556.1.4.619");
+ oid_add_from_string("mhsORAddress","1.2.840.113556.1.4.650");
+ oid_add_from_string("managedObjects","1.2.840.113556.1.4.654");
+ oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_OID","1.2.840.113556.1.4.800");
+ oid_add_from_string("LDAP_SERVER_SD_FLAGS_OID","1.2.840.113556.1.4.801");
+ oid_add_from_string("LDAP_SERVER_RANGE_OPTION_OID","1.2.840.113556.1.4.802");
+ oid_add_from_string("LDAP_MATCHING_RULE_BIT_AND", "1.2.840.113556.1.4.803");
+ oid_add_from_string("LDAP_MATCHING_RULE_BIT_OR","1.2.840.113556.1.4.804");
+ oid_add_from_string("LDAP_SERVER_TREE_DELETE_OID","1.2.840.113556.1.4.805");
+ oid_add_from_string("LDAP_SERVER_DIRSYNC_OID","1.2.840.113556.1.4.841");
+ oid_add_from_string("LDAP_SERVER_GET_STATS_OID","1.2.840.113556.1.4.970");
+ oid_add_from_string("LDAP_SERVER_VERIFY_NAME_OID","1.2.840.113556.1.4.1338");
+ oid_add_from_string("LDAP_SERVER_DOMAIN_SCOPE_OID","1.2.840.113556.1.4.1339");
+ oid_add_from_string("LDAP_SERVER_SEARCH_OPTIONS_OID","1.2.840.113556.1.4.1340");
+ oid_add_from_string("LDAP_SERVER_RODC_DCPROMO_OID","1.2.840.113556.1.4.1341");
+ oid_add_from_string("LDAP_SERVER_PERMISSIVE_MODIFY_OID","1.2.840.113556.1.4.1413");
+ oid_add_from_string("LDAP_SERVER_ASQ_OID","1.2.840.113556.1.4.1504");
+ oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_V51_OID","1.2.840.113556.1.4.1670");
+ oid_add_from_string("msDS-SDReferenceDomain","1.2.840.113556.1.4.1711");
+ oid_add_from_string("msDS-AdditionalDnsHostName","1.2.840.113556.1.4.1717");
+ oid_add_from_string("LDAP_SERVER_FAST_BIND_OID","1.2.840.113556.1.4.1781");
+ oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_LDAP_INTEG_OID","1.2.840.113556.1.4.1791");
+ oid_add_from_string("msDS-ObjectReference","1.2.840.113556.1.4.1840");
+ oid_add_from_string("msDS-QuotaEffective","1.2.840.113556.1.4.1848");
+ oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_ADAM_OID","1.2.840.113556.1.4.1851");
+ oid_add_from_string("LDAP_SERVER_QUOTA_CONTROL_OID","1.2.840.113556.1.4.1852");
+ oid_add_from_string("msDS-PortSSL","1.2.840.113556.1.4.1860");
+ oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_ADAM_DIGEST_OID", "1.2.840.113556.1.4.1880");
+ oid_add_from_string("LDAP_SERVER_SHUTDOWN_NOTIFY_OID","1.2.840.113556.1.4.1907");
+ oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_PARTIAL_SECRETS_OID", "1.2.840.113556.1.4.1920");
+ oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_V60_OID", "1.2.840.113556.1.4.1935");
+ oid_add_from_string("LDAP_MATCHING_RULE_TRANSITIVE_EVAL", "1.2.840.113556.1.4.1941");
+ oid_add_from_string("LDAP_SERVER_RANGE_RETRIEVAL_NOERR_OID","1.2.840.113556.1.4.1948");
+ oid_add_from_string("msDS-isRODC","1.2.840.113556.1.4.1960");
+ oid_add_from_string("LDAP_SERVER_FORCE_UPDATE_OID","1.2.840.113556.1.4.1974");
+ oid_add_from_string("LDAP_SERVER_DN_INPUT_OID","1.2.840.113556.1.4.2026");
+ oid_add_from_string("LDAP_SERVER_SHOW_RECYCLED_OID","1.2.840.113556.1.4.2064");
+ oid_add_from_string("LDAP_SERVER_SHOW_DEACTIVATED_LINK_OID","1.2.840.113556.1.4.2065");
+ oid_add_from_string("LDAP_SERVER_POLICY_HINTS_DEPRECATED_OID","1.2.840.113556.1.4.2066");
+ oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_V61_R2_OID", "1.2.840.113556.1.4.2080");
+ oid_add_from_string("LDAP_SERVER_DIRSYNC_EX_OID","1.2.840.113556.1.4.2090");
+ oid_add_from_string("LDAP_SERVER_TREE_DELETE_EX_OID","1.2.840.113556.1.4.2204");
+ oid_add_from_string("LDAP_SERVER_UPDATE_STATS_OID","1.2.840.113556.1.4.2205");
+ oid_add_from_string("LDAP_SERVER_SEARCH_HINTS_OID","1.2.840.113556.1.4.2206");
+ oid_add_from_string("LDAP_SERVER_EXPECTED_ENTRY_COUNT_OID","1.2.840.113556.1.4.2211");
+ oid_add_from_string("LDAP_SERVER_BATCH_REQUEST_OID", "1.2.840.113556.1.4.2212");
+ oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_W8_OID", "1.2.840.113556.1.4.2237");
+ oid_add_from_string("LDAP_SERVER_POLICY_HINTS_OID","1.2.840.113556.1.4.2239");
+ oid_add_from_string("LDAP_MATCHING_RULE_DN_WITH_DATA", "1.2.840.113556.1.4.2253");
+ oid_add_from_string("LDAP_SERVER_SET_OWNER_OID","1.2.840.113556.1.4.2255");
+ oid_add_from_string("LDAP_SERVER_BYPASS_QUOTA_OID","1.2.840.113556.1.4.2256");
+ oid_add_from_string("LDAP_SERVER_LINK_TTL_OID","1.2.840.113556.1.4.2309");
+ oid_add_from_string("LDAP_SERVER_SET_CORRELATION_ID_OID","1.2.840.113556.1.4.2330");
+ oid_add_from_string("LDAP_SERVER_THREAD_TRACE_OVERRIDE_OID","1.2.840.113556.1.4.2354");
+
+ /* RFC4532 */
+ oid_add_from_string("LDAP_SERVER_WHO_AM_I_OID", "1.3.6.1.4.1.4203.1.11.3");
+
+ /* Mark Wahl (Critical Angle) */
+ oid_add_from_string("DYNAMIC_REFRESH","1.3.6.1.4.1.1466.101.119.1");
+ oid_add_from_string("LDAP_START_TLS_OID","1.3.6.1.4.1.1466.20037");
+
+ oid_add_from_string("inetOrgPerson", "2.16.840.1.113730.3.2.2");
+ /* RFC2798 */
+ oid_add_from_string("US company arc", "2.16.840.1");
+
+ /* http://www.alvestrand.no/objectid/2.16.840.1.113730.3.4.html */
+ oid_add_from_string("Manage DSA IT LDAPv3 control", "2.16.840.1.113730.3.4.2");
+ oid_add_from_string("Persistent Search LDAPv3 control", "2.16.840.1.113730.3.4.3");
+ oid_add_from_string("Netscape Password Expired LDAPv3 control", "2.16.840.1.113730.3.4.4");
+ oid_add_from_string("Netscape Password Expiring LDAPv3 control", "2.16.840.1.113730.3.4.5");
+ oid_add_from_string("Netscape NT Synchronization Client LDAPv3 control", "2.16.840.1.113730.3.4.6");
+ oid_add_from_string("Entry Change Notification LDAPv3 control", "2.16.840.1.113730.3.4.7");
+ oid_add_from_string("Transaction ID Request Control", "2.16.840.1.113730.3.4.8");
+ oid_add_from_string("VLV Request LDAPv3 control", "2.16.840.1.113730.3.4.9");
+ oid_add_from_string("VLV Response LDAPv3 control", "2.16.840.1.113730.3.4.10");
+ oid_add_from_string("Transaction ID Response Control", "2.16.840.1.113730.3.4.11");
+ oid_add_from_string("Proxied Authorization (version 1) control", "2.16.840.1.113730.3.4.12");
+ oid_add_from_string("iPlanet Directory Server Replication Update Information Control", "2.16.840.1.113730.3.4.13");
+ oid_add_from_string("iPlanet Directory Server search on specific backend control", "2.16.840.1.113730.3.4.14");
+ oid_add_from_string("Authentication Response Control", "2.16.840.1.113730.3.4.15");
+ oid_add_from_string("Authentication Request Control", "2.16.840.1.113730.3.4.16");
+ oid_add_from_string("Real Attributes Only Request Control", "2.16.840.1.113730.3.4.17");
+ oid_add_from_string("Proxied Authorization (version 2) Control", "2.16.840.1.113730.3.4.18");
+ oid_add_from_string("Chaining loop detection", "2.16.840.1.113730.3.4.19");
+ oid_add_from_string("iPlanet Replication Modrdn Extra Mods Control", "2.16.840.1.113730.3.4.999");
+
+
+ dissector_add_string("ldap.name", "netlogon", create_dissector_handle(dissect_NetLogon_PDU, proto_cldap));
+ dissector_add_string("ldap.name", "objectGUID", create_dissector_handle(dissect_ldap_guid, proto_ldap));
+ dissector_add_string("ldap.name", "supportedControl", create_dissector_handle(dissect_ldap_oid, proto_ldap));
+ dissector_add_string("ldap.name", "supportedCapabilities", create_dissector_handle(dissect_ldap_oid, proto_ldap));
+ dissector_add_string("ldap.name", "objectSid", create_dissector_handle(dissect_ldap_sid, proto_ldap));
+ dissector_add_string("ldap.name", "nTSecurityDescriptor", create_dissector_handle(dissect_ldap_nt_sec_desc, proto_ldap));
+
+#include "packet-ldap-dis-tab.c"
+
+ dissector_add_uint_range_with_preference("tcp.port", TCP_PORT_RANGE_LDAP, ldap_handle);
+
+ dissector_add_uint("acdr.tls_application_port", 636, ldap_handle);
+ dissector_add_uint("acdr.tls_application", TLS_APP_LDAP, ldap_handle);
+}
+
+static void
+prefs_register_ldap(void)
+{
+ if(ssl_port != global_ldaps_tcp_port) {
+ if(ssl_port)
+ ssl_dissector_delete(ssl_port, ldap_handle);
+
+ /* Set our port number for future use */
+ ssl_port = global_ldaps_tcp_port;
+
+ if(ssl_port)
+ ssl_dissector_add(ssl_port, ldap_handle);
+ }
+
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/ldap/packet-ldap-template.h b/epan/dissectors/asn1/ldap/packet-ldap-template.h
new file mode 100644
index 00000000..0116c0cb
--- /dev/null
+++ b/epan/dissectors/asn1/ldap/packet-ldap-template.h
@@ -0,0 +1,100 @@
+/* packet-ldap.h
+ * Routines for ros packet dissection
+ * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef __PACKET_LDAP_H__
+#define __PACKET_LDAP_H__
+
+# include <epan/packet.h> /* for dissector_*_t types */
+#include "ws_symbol_export.h"
+
+/*
+ * These are all APPLICATION types; the value is the type tag.
+ */
+#define LDAP_REQ_BIND 0
+#define LDAP_REQ_UNBIND 2
+#define LDAP_REQ_SEARCH 3
+#define LDAP_REQ_MODIFY 6
+#define LDAP_REQ_ADD 8
+#define LDAP_REQ_DELETE 10
+#define LDAP_REQ_MODRDN 12
+#define LDAP_REQ_COMPARE 14
+#define LDAP_REQ_ABANDON 16
+#define LDAP_REQ_EXTENDED 23 /* LDAP V3 only */
+
+#define LDAP_RES_BIND 1
+#define LDAP_RES_SEARCH_ENTRY 4
+#define LDAP_RES_SEARCH_REF 19 /* LDAP V3 only */
+#define LDAP_RES_SEARCH_RESULT 5
+#define LDAP_RES_MODIFY 7
+#define LDAP_RES_ADD 9
+#define LDAP_RES_DELETE 11
+#define LDAP_RES_MODRDN 13
+#define LDAP_RES_COMPARE 15
+#define LDAP_RES_EXTENDED 24 /* LDAP V3 only */
+#define LDAP_RES_INTERMEDIATE 25 /* LDAP V3 only */
+
+/*
+ * These are all CONTEXT types; the value is the type tag.
+ */
+
+/* authentication type tags */
+#define LDAP_AUTH_SIMPLE 0
+#define LDAP_AUTH_KRBV4LDAP 1 /* LDAP V2 only */
+#define LDAP_AUTH_KRBV4DSA 2 /* LDAP V2 only */
+#define LDAP_AUTH_SASL 3 /* LDAP V3 only */
+
+/* filter type tags */
+#define LDAP_FILTER_AND 0
+#define LDAP_FILTER_OR 1
+#define LDAP_FILTER_NOT 2
+#define LDAP_FILTER_EQUALITY 3
+#define LDAP_FILTER_SUBSTRINGS 4
+#define LDAP_FILTER_GE 5
+#define LDAP_FILTER_LE 6
+#define LDAP_FILTER_PRESENT 7
+#define LDAP_FILTER_APPROX 8
+#define LDAP_FILTER_EXTENSIBLE 9 /* LDAP V3 only */
+
+#define LDAP_MOD_ADD 0
+#define LDAP_MOD_DELETE 1
+#define LDAP_MOD_REPLACE 2
+#define LDAP_MOD_INCREMENT 3
+
+#define LDAP_SASL_MAX_BUF 1024*1024
+
+#define NETLOGON_NT_VERSION_1 1
+#define NETLOGON_NT_VERSION_5 2
+#define NETLOGON_NT_VERSION_5EX 4
+#define NETLOGON_NT_VERSION_5EX_WITH_IP 8
+#define NETLOGON_NT_VERSION_WITH_CLOSEST_SITE 16
+
+#define LOGON_SAM_LOGON_RESPONSE 19
+#define LOGON_SAM_LOGON_RESPONSE_EX 23
+
+typedef struct ldap_call_response {
+ gboolean is_request;
+ guint32 req_frame;
+ nstime_t req_time;
+ guint32 rep_frame;
+ guint messageId;
+ guint protocolOpTag;
+} ldap_call_response_t;
+
+WS_DLL_PUBLIC
+int dissect_mscldap_string(tvbuff_t *tvb, int offset, int max_len, char **str);
+
+WS_DLL_PUBLIC const value_string ldap_procedure_names[];
+
+/*#include "packet-ldap-exp.h" */
+
+#endif /* PACKET_LDAP_H */
+
+
diff --git a/epan/dissectors/asn1/lix2/CMakeLists.txt b/epan/dissectors/asn1/lix2/CMakeLists.txt
new file mode 100644
index 00000000..57141f4f
--- /dev/null
+++ b/epan/dissectors/asn1/lix2/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME lix2 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ lix2.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/lix2/lix2.asn b/epan/dissectors/asn1/lix2/lix2.asn
new file mode 100644
index 00000000..0b83231f
--- /dev/null
+++ b/epan/dissectors/asn1/lix2/lix2.asn
@@ -0,0 +1,3731 @@
+-- This ASN.1 module was taken from 3GPP TS 33.128 V17.1.0 (2021-06) and modified to pass through asn2wrs
+
+TS33128Payloads
+{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) ts33128(19) r17(17) version0(0)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+-- =============
+-- Relative OIDs
+-- =============
+
+--tS33128PayloadsOID RELATIVE-OID ::= {threeGPP(4) ts33128(19) r17(17) version0(0)}
+
+--xIRIPayloadOID RELATIVE-OID ::= {tS33128PayloadsOID xIRI(1)}
+--xCCPayloadOID RELATIVE-OID ::= {tS33128PayloadsOID xCC(2)}
+--iRIPayloadOID RELATIVE-OID ::= {tS33128PayloadsOID iRI(3)}
+--cCPayloadOID RELATIVE-OID ::= {tS33128PayloadsOID cC(4)}
+--lINotificationPayloadOID RELATIVE-OID ::= {tS33128PayloadsOID lINotification(5)}
+
+-- ===============
+-- X2 xIRI payload
+-- ===============
+
+XIRIPayload ::= SEQUENCE
+{
+ xIRIPayloadOID [1] RELATIVE-OID,
+ event [2] XIRIEvent
+}
+
+XIRIEvent ::= CHOICE
+{
+ -- Access and mobility related events, see clause 6.2.2
+ registration [1] AMFRegistration,
+ deregistration [2] AMFDeregistration,
+ locationUpdate [3] AMFLocationUpdate,
+ startOfInterceptionWithRegisteredUE [4] AMFStartOfInterceptionWithRegisteredUE,
+ unsuccessfulAMProcedure [5] AMFUnsuccessfulProcedure,
+
+ -- PDU session-related events, see clause 6.2.3
+ pDUSessionEstablishment [6] SMFPDUSessionEstablishment,
+ pDUSessionModification [7] SMFPDUSessionModification,
+ pDUSessionRelease [8] SMFPDUSessionRelease,
+ startOfInterceptionWithEstablishedPDUSession [9] SMFStartOfInterceptionWithEstablishedPDUSession,
+ unsuccessfulSMProcedure [10] SMFUnsuccessfulProcedure,
+
+ -- Subscriber-management related events, see clause 7.2.2
+ servingSystemMessage [11] UDMServingSystemMessage,
+
+ -- SMS-related events, see clause 6.2.5, see also sMSReport ([56] below)
+ sMSMessage [12] SMSMessage,
+
+ -- LALS-related events, see clause 7.3.3
+ lALSReport [13] LALSReport,
+
+ -- PDHR/PDSR-related events, see clause 6.2.3.4.1
+ pDHeaderReport [14] PDHeaderReport,
+ pDSummaryReport [15] PDSummaryReport,
+
+ -- tag 16 is reserved because there is no equivalent mDFCellSiteReport in XIRIEvent
+
+ -- MMS-related events, see clause 7.4.2
+ mMSSend [17] MMSSend,
+ mMSSendByNonLocalTarget [18] MMSSendByNonLocalTarget,
+ mMSNotification [19] MMSNotification,
+ mMSSendToNonLocalTarget [20] MMSSendToNonLocalTarget,
+ mMSNotificationResponse [21] MMSNotificationResponse,
+ mMSRetrieval [22] MMSRetrieval,
+ mMSDeliveryAck [23] MMSDeliveryAck,
+ mMSForward [24] MMSForward,
+ mMSDeleteFromRelay [25] MMSDeleteFromRelay,
+ mMSDeliveryReport [26] MMSDeliveryReport,
+ mMSDeliveryReportNonLocalTarget [27] MMSDeliveryReportNonLocalTarget,
+ mMSReadReport [28] MMSReadReport,
+ mMSReadReportNonLocalTarget [29] MMSReadReportNonLocalTarget,
+ mMSCancel [30] MMSCancel,
+ mMSMBoxStore [31] MMSMBoxStore,
+ mMSMBoxUpload [32] MMSMBoxUpload,
+ mMSMBoxDelete [33] MMSMBoxDelete,
+ mMSMBoxViewRequest [34] MMSMBoxViewRequest,
+ mMSMBoxViewResponse [35] MMSMBoxViewResponse,
+
+ -- PTC-related events, see clause 7.5.2
+ pTCRegistration [36] PTCRegistration,
+ pTCSessionInitiation [37] PTCSessionInitiation,
+ pTCSessionAbandon [38] PTCSessionAbandon,
+ pTCSessionStart [39] PTCSessionStart,
+ pTCSessionEnd [40] PTCSessionEnd,
+ pTCStartOfInterception [41] PTCStartOfInterception,
+ pTCPreEstablishedSession [42] PTCPreEstablishedSession,
+ pTCInstantPersonalAlert [43] PTCInstantPersonalAlert,
+ pTCPartyJoin [44] PTCPartyJoin,
+ pTCPartyDrop [45] PTCPartyDrop,
+ pTCPartyHold [46] PTCPartyHold,
+ pTCMediaModification [47] PTCMediaModification,
+ pTCGroupAdvertisement [48] PTCGroupAdvertisement,
+ pTCFloorControl [49] PTCFloorControl,
+ pTCTargetPresence [50] PTCTargetPresence,
+ pTCParticipantPresence [51] PTCParticipantPresence,
+ pTCListManagement [52] PTCListManagement,
+ pTCAccessPolicy [53] PTCAccessPolicy,
+
+ -- More Subscriber-management related events, see clause 7.2.2
+ subscriberRecordChangeMessage [54] UDMSubscriberRecordChangeMessage,
+ cancelLocationMessage [55] UDMCancelLocationMessage,
+
+ -- SMS-related events continued from choice 12
+ sMSReport [56] SMSReport,
+
+ -- MA PDU session-related events, see clause 6.2.3.2.7
+ sMFMAPDUSessionEstablishment [57] SMFMAPDUSessionEstablishment,
+ sMFMAPDUSessionModification [58] SMFMAPDUSessionModification,
+ sMFMAPDUSessionRelease [59] SMFMAPDUSessionRelease,
+ startOfInterceptionWithEstablishedMAPDUSession [60] SMFStartOfInterceptionWithEstablishedMAPDUSession,
+ unsuccessfulMASMProcedure [61] SMFMAUnsuccessfulProcedure,
+
+ -- Identifier Association events, see clauses 6.2.2.2.7 and 6.3.2.2.2
+ aMFIdentifierAssocation [62] AMFIdentifierAssocation,
+ mMEIdentifierAssocation [63] MMEIdentifierAssocation,
+
+ -- PDU to MA PDU session-related events, see clause 6.2.3.2.8
+ sMFPDUtoMAPDUSessionModification [64] SMFPDUtoMAPDUSessionModification,
+
+ -- NEF services related events, see clause 7.7.2
+ nEFPDUSessionEstablishment [65] NEFPDUSessionEstablishment,
+ nEFPDUSessionModification [66] NEFPDUSessionModification,
+ nEFPDUSessionRelease [67] NEFPDUSessionRelease,
+ nEFUnsuccessfulProcedure [68] NEFUnsuccessfulProcedure,
+ nEFStartOfInterceptionWithEstablishedPDUSession [69] NEFStartOfInterceptionWithEstablishedPDUSession,
+ nEFdeviceTrigger [70] NEFDeviceTrigger,
+ nEFdeviceTriggerReplace [71] NEFDeviceTriggerReplace,
+ nEFdeviceTriggerCancellation [72] NEFDeviceTriggerCancellation,
+ nEFdeviceTriggerReportNotify [73] NEFDeviceTriggerReportNotify,
+ nEFMSISDNLessMOSMS [74] NEFMSISDNLessMOSMS,
+ nEFExpectedUEBehaviourUpdate [75] NEFExpectedUEBehaviourUpdate,
+
+ -- SCEF services related events, see clause 7.8.2
+ sCEFPDNConnectionEstablishment [76] SCEFPDNConnectionEstablishment,
+ sCEFPDNConnectionUpdate [77] SCEFPDNConnectionUpdate,
+ sCEFPDNConnectionRelease [78] SCEFPDNConnectionRelease,
+ sCEFUnsuccessfulProcedure [79] SCEFUnsuccessfulProcedure,
+ sCEFStartOfInterceptionWithEstablishedPDNConnection [80] SCEFStartOfInterceptionWithEstablishedPDNConnection,
+ sCEFdeviceTrigger [81] SCEFDeviceTrigger,
+ sCEFdeviceTriggerReplace [82] SCEFDeviceTriggerReplace,
+ sCEFdeviceTriggerCancellation [83] SCEFDeviceTriggerCancellation,
+ sCEFdeviceTriggerReportNotify [84] SCEFDeviceTriggerReportNotify,
+ sCEFMSISDNLessMOSMS [85] SCEFMSISDNLessMOSMS,
+ sCEFCommunicationPatternUpdate [86] SCEFCommunicationPatternUpdate,
+
+ --EPS Events, see clause 6.3
+
+ --MME Events, see clause 6.3.2.2
+ mMEAttach [87] MMEAttach,
+ mMEDetach [88] MMEDetach,
+ mMELocationUpdate [89] MMELocationUpdate,
+ mMEStartOfInterceptionWithEPSAttachedUE [90] MMEStartOfInterceptionWithEPSAttachedUE,
+ mMEUnsuccessfulProcedure [91] MMEUnsuccessfulProcedure
+}
+
+-- ==============
+-- X3 xCC payload
+-- ==============
+
+-- No additional xCC payload definitions required in the present document.
+
+-- ===============
+-- HI2 IRI payload
+-- ===============
+
+IRIPayload ::= SEQUENCE
+{
+ iRIPayloadOID [1] RELATIVE-OID,
+ event [2] IRIEvent,
+ targetIdentifiers [3] SEQUENCE OF IRITargetIdentifier OPTIONAL
+}
+
+IRIEvent ::= CHOICE
+{
+ -- Registration-related events, see clause 6.2.2
+ registration [1] AMFRegistration,
+ deregistration [2] AMFDeregistration,
+ locationUpdate [3] AMFLocationUpdate,
+ startOfInterceptionWithRegisteredUE [4] AMFStartOfInterceptionWithRegisteredUE,
+ unsuccessfulRegistrationProcedure [5] AMFUnsuccessfulProcedure,
+
+ -- PDU session-related events, see clause 6.2.3
+ pDUSessionEstablishment [6] SMFPDUSessionEstablishment,
+ pDUSessionModification [7] SMFPDUSessionModification,
+ pDUSessionRelease [8] SMFPDUSessionRelease,
+ startOfInterceptionWithEstablishedPDUSession [9] SMFStartOfInterceptionWithEstablishedPDUSession,
+ unsuccessfulSessionProcedure [10] SMFUnsuccessfulProcedure,
+
+ -- Subscriber-management related events, see clause 7.2.2
+ servingSystemMessage [11] UDMServingSystemMessage,
+
+ -- SMS-related events, see clause 6.2.5, see also sMSReport ([56] below)
+ sMSMessage [12] SMSMessage,
+
+ -- LALS-related events, see clause 7.3.3
+ lALSReport [13] LALSReport,
+
+ -- PDHR/PDSR-related events, see clause 6.2.3.4.1
+ pDHeaderReport [14] PDHeaderReport,
+ pDSummaryReport [15] PDSummaryReport,
+
+ -- MDF-related events, see clause 7.3.4
+ mDFCellSiteReport [16] MDFCellSiteReport,
+
+ -- MMS-related events, see clause 7.4.2
+ mMSSend [17] MMSSend,
+ mMSSendByNonLocalTarget [18] MMSSendByNonLocalTarget,
+ mMSNotification [19] MMSNotification,
+ mMSSendToNonLocalTarget [20] MMSSendToNonLocalTarget,
+ mMSNotificationResponse [21] MMSNotificationResponse,
+ mMSRetrieval [22] MMSRetrieval,
+ mMSDeliveryAck [23] MMSDeliveryAck,
+ mMSForward [24] MMSForward,
+ mMSDeleteFromRelay [25] MMSDeleteFromRelay,
+ mMSDeliveryReport [26] MMSDeliveryReport,
+ mMSDeliveryReportNonLocalTarget [27] MMSDeliveryReportNonLocalTarget,
+ mMSReadReport [28] MMSReadReport,
+ mMSReadReportNonLocalTarget [29] MMSReadReportNonLocalTarget,
+ mMSCancel [30] MMSCancel,
+ mMSMBoxStore [31] MMSMBoxStore,
+ mMSMBoxUpload [32] MMSMBoxUpload,
+ mMSMBoxDelete [33] MMSMBoxDelete,
+ mMSMBoxViewRequest [34] MMSMBoxViewRequest,
+ mMSMBoxViewResponse [35] MMSMBoxViewResponse,
+
+ -- PTC-related events, see clause 7.5.2
+ pTCRegistration [36] PTCRegistration,
+ pTCSessionInitiation [37] PTCSessionInitiation,
+ pTCSessionAbandon [38] PTCSessionAbandon,
+ pTCSessionStart [39] PTCSessionStart,
+ pTCSessionEnd [40] PTCSessionEnd,
+ pTCStartOfInterception [41] PTCStartOfInterception,
+ pTCPreEstablishedSession [42] PTCPreEstablishedSession,
+ pTCInstantPersonalAlert [43] PTCInstantPersonalAlert,
+ pTCPartyJoin [44] PTCPartyJoin,
+ pTCPartyDrop [45] PTCPartyDrop,
+ pTCPartyHold [46] PTCPartyHold,
+ pTCMediaModification [47] PTCMediaModification,
+ pTCGroupAdvertisement [48] PTCGroupAdvertisement,
+ pTCFloorControl [49] PTCFloorControl,
+ pTCTargetPresence [50] PTCTargetPresence,
+ pTCParticipantPresence [51] PTCParticipantPresence,
+ pTCListManagement [52] PTCListManagement,
+ pTCAccessPolicy [53] PTCAccessPolicy,
+
+ -- More Subscriber-management related events, see clause 7.2.2
+ subscriberRecordChangeMessage [54] UDMSubscriberRecordChangeMessage,
+ cancelLocationMessage [55] UDMCancelLocationMessage,
+
+ -- SMS-related events, continued from choice 12
+ sMSReport [56] SMSReport,
+
+ -- MA PDU session-related events, see clause 6.2.3.2.7
+ sMFMAPDUSessionEstablishment [57] SMFMAPDUSessionEstablishment,
+ sMFMAPDUSessionModification [58] SMFMAPDUSessionModification,
+ sMFMAPDUSessionRelease [59] SMFMAPDUSessionRelease,
+ startOfInterceptionWithEstablishedMAPDUSession [60] SMFStartOfInterceptionWithEstablishedMAPDUSession,
+ unsuccessfulMASMProcedure [61] SMFMAUnsuccessfulProcedure,
+
+ -- Identifier Association events, see clauses 6.2.2.2.7 and 6.3.2.2.2
+ aMFIdentifierAssocation [62] AMFIdentifierAssocation,
+ mMEIdentifierAssocation [63] MMEIdentifierAssocation,
+
+ -- PDU to MA PDU session-related events, see clause 6.2.3.2.8
+ sMFPDUtoMAPDUSessionModification [64] SMFPDUtoMAPDUSessionModification,
+
+ -- NEF services related events, see clause 7.7.2,
+ nEFPDUSessionEstablishment [65] NEFPDUSessionEstablishment,
+ nEFPDUSessionModification [66] NEFPDUSessionModification,
+ nEFPDUSessionRelease [67] NEFPDUSessionRelease,
+ nEFUnsuccessfulProcedure [68] NEFUnsuccessfulProcedure,
+ nEFStartOfInterceptionWithEstablishedPDUSession [69] NEFStartOfInterceptionWithEstablishedPDUSession,
+ nEFdeviceTrigger [70] NEFDeviceTrigger,
+ nEFdeviceTriggerReplace [71] NEFDeviceTriggerReplace,
+ nEFdeviceTriggerCancellation [72] NEFDeviceTriggerCancellation,
+ nEFdeviceTriggerReportNotify [73] NEFDeviceTriggerReportNotify,
+ nEFMSISDNLessMOSMS [74] NEFMSISDNLessMOSMS,
+ nEFExpectedUEBehaviourUpdate [75] NEFExpectedUEBehaviourUpdate,
+
+ -- SCEF services related events, see clause 7.8.2
+ sCEFPDNConnectionEstablishment [76] SCEFPDNConnectionEstablishment,
+ sCEFPDNConnectionUpdate [77] SCEFPDNConnectionUpdate,
+ sCEFPDNConnectionRelease [78] SCEFPDNConnectionRelease,
+ sCEFUnsuccessfulProcedure [79] SCEFUnsuccessfulProcedure,
+ sCEFStartOfInterceptionWithEstablishedPDNConnection [80] SCEFStartOfInterceptionWithEstablishedPDNConnection,
+ sCEFdeviceTrigger [81] SCEFDeviceTrigger,
+ sCEFdeviceTriggerReplace [82] SCEFDeviceTriggerReplace,
+ sCEFdeviceTriggerCancellation [83] SCEFDeviceTriggerCancellation,
+ sCEFdeviceTriggerReportNotify [84] SCEFDeviceTriggerReportNotify,
+ sCEFMSISDNLessMOSMS [85] SCEFMSISDNLessMOSMS,
+ sCEFCommunicationPatternUpdate [86] SCEFCommunicationPatternUpdate,
+
+ --EPS Events, see clause 6.3
+
+ --MME Events, see clause 6.3.2.2
+ mMEAttach [87] MMEAttach,
+ mMEDetach [88] MMEDetach,
+ mMELocationUpdate [89] MMELocationUpdate,
+ mMEStartOfInterceptionWithEPSAttachedUE [90] MMEStartOfInterceptionWithEPSAttachedUE,
+ mMEUnsuccessfulProcedure [91] MMEUnsuccessfulProcedure
+}
+
+IRITargetIdentifier ::= SEQUENCE
+{
+ identifier [1] TargetIdentifier,
+ provenance [2] TargetIdentifierProvenance OPTIONAL
+}
+
+-- ==============
+-- HI3 CC payload
+-- ==============
+
+CCPayload ::= SEQUENCE
+{
+ cCPayloadOID [1] RELATIVE-OID,
+ pDU [2] CCPDU
+}
+
+CCPDU ::= CHOICE
+{
+ uPFCCPDU [1] UPFCCPDU,
+ extendedUPFCCPDU [2] ExtendedUPFCCPDU,
+ mMSCCPDU [3] MMSCCPDU,
+ nIDDCCPDU [4] NIDDCCPDU
+}
+
+-- ===========================
+-- HI4 LI notification payload
+-- ===========================
+
+LINotificationPayload ::= SEQUENCE
+{
+ lINotificationPayloadOID [1] RELATIVE-OID,
+ notification [2] LINotificationMessage
+}
+
+LINotificationMessage ::= CHOICE
+{
+ lINotification [1] LINotification
+}
+-- ==================
+-- 5G NEF definitions
+-- ==================
+
+-- See clause 7.7.2.1.2 for details of this structure
+NEFPDUSessionEstablishment ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ gPSI [2] GPSI,
+ pDUSessionID [3] PDUSessionID,
+ sNSSAI [4] SNSSAI,
+ nEFID [5] NEFID,
+ dNN [6] DNN,
+ rDSSupport [7] RDSSupport,
+ sMFID [8] SMFID,
+ aFID [9] AFID
+}
+
+-- See clause 7.7.2.1.3 for details of this structure
+NEFPDUSessionModification ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ gPSI [2] GPSI,
+ sNSSAI [3] SNSSAI,
+ initiator [4] Initiator,
+ rDSSourcePortNumber [5] RDSPortNumber OPTIONAL,
+ rDSDestinationPortNumber [6] RDSPortNumber OPTIONAL,
+ applicationID [7] ApplicationID OPTIONAL,
+ aFID [8] AFID OPTIONAL,
+ rDSAction [9] RDSAction OPTIONAL,
+ serializationFormat [10] SerializationFormat OPTIONAL
+}
+
+-- See clause 7.7.2.1.4 for details of this structure
+NEFPDUSessionRelease ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ gPSI [2] GPSI,
+ pDUSessionID [3] PDUSessionID,
+ timeOfFirstPacket [4] Timestamp OPTIONAL,
+ timeOfLastPacket [5] Timestamp OPTIONAL,
+ uplinkVolume [6] INTEGER OPTIONAL,
+ downlinkVolume [7] INTEGER OPTIONAL,
+ releaseCause [8] NEFReleaseCause
+}
+
+-- See clause 7.7.2.1.5 for details of this structure
+NEFUnsuccessfulProcedure ::= SEQUENCE
+{
+ failureCause [1] NEFFailureCause,
+ sUPI [2] SUPI,
+ gPSI [3] GPSI OPTIONAL,
+ pDUSessionID [4] PDUSessionID,
+ dNN [5] DNN OPTIONAL,
+ sNSSAI [6] SNSSAI OPTIONAL,
+ rDSDestinationPortNumber [7] RDSPortNumber,
+ applicationID [8] ApplicationID,
+ aFID [9] AFID
+}
+
+-- See clause 7.7.2.1.6 for details of this structure
+NEFStartOfInterceptionWithEstablishedPDUSession ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ gPSI [2] GPSI,
+ pDUSessionID [3] PDUSessionID,
+ dNN [4] DNN,
+ sNSSAI [5] SNSSAI,
+ nEFID [6] NEFID,
+ rDSSupport [7] RDSSupport,
+ sMFID [8] SMFID,
+ aFID [9] AFID
+}
+
+-- See clause 7.7.3.1.1 for details of this structure
+NEFDeviceTrigger ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ gPSI [2] GPSI,
+ triggerId [3] TriggerID,
+ aFID [4] AFID,
+ triggerPayload [5] TriggerPayload OPTIONAL,
+ validityPeriod [6] INTEGER OPTIONAL,
+ priorityDT [7] PriorityDT OPTIONAL,
+ sourcePortId [8] PortNumber OPTIONAL,
+ destinationPortId [9] PortNumber OPTIONAL
+}
+
+-- See clause 7.7.3.1.2 for details of this structure
+NEFDeviceTriggerReplace ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ gPSI [2] GPSI,
+ triggerId [3] TriggerID,
+ aFID [4] AFID,
+ triggerPayload [5] TriggerPayload OPTIONAL,
+ validityPeriod [6] INTEGER OPTIONAL,
+ priorityDT [7] PriorityDT OPTIONAL,
+ sourcePortId [8] PortNumber OPTIONAL,
+ destinationPortId [9] PortNumber OPTIONAL
+}
+
+-- See clause 7.7.3.1.3 for details of this structure
+NEFDeviceTriggerCancellation ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ gPSI [2] GPSI,
+ triggerId [3] TriggerID
+}
+
+-- See clause 7.7.3.1.4 for details of this structure
+NEFDeviceTriggerReportNotify ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ gPSI [2] GPSI,
+ triggerId [3] TriggerID,
+ deviceTriggerDeliveryResult [4] DeviceTriggerDeliveryResult
+}
+
+-- See clause 7.7.4.1.1 for details of this structure
+NEFMSISDNLessMOSMS ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ gPSI [2] GPSI,
+ terminatingSMSParty [3] AFID,
+ sMS [4] SMSTPDUData OPTIONAL,
+ sourcePort [5] PortNumber OPTIONAL,
+ destinationPort [6] PortNumber OPTIONAL
+}
+
+-- See clause 7.7.5.1.1 for details of this structure
+NEFExpectedUEBehaviourUpdate ::= SEQUENCE
+{
+ gPSI [1] GPSI,
+ expectedUEMovingTrajectory [2] SEQUENCE OF UMTLocationArea5G OPTIONAL,
+ stationaryIndication [3] StationaryIndication OPTIONAL,
+ communicationDurationTime [4] INTEGER OPTIONAL,
+ periodicTime [5] INTEGER OPTIONAL,
+ scheduledCommunicationTime [6] ScheduledCommunicationTime OPTIONAL,
+ scheduledCommunicationType [7] ScheduledCommunicationType OPTIONAL,
+ batteryIndication [8] BatteryIndication OPTIONAL,
+ trafficProfile [9] TrafficProfile OPTIONAL,
+ expectedTimeAndDayOfWeekInTrajectory [10] SEQUENCE OF UMTLocationArea5G OPTIONAL,
+ aFID [11] AFID,
+ validityTime [12] Timestamp OPTIONAL
+}
+
+-- ==========================
+-- Common SCEF/NEF parameters
+-- ==========================
+
+RDSSupport ::= BOOLEAN
+
+RDSPortNumber ::= INTEGER (0..15)
+
+RDSAction ::= ENUMERATED
+{
+ reservePort(1),
+ releasePort(2)
+}
+
+SerializationFormat ::= ENUMERATED
+{
+ xml(1),
+ json(2),
+ cbor(3)
+}
+
+ApplicationID ::= OCTET STRING
+
+NIDDCCPDU ::= OCTET STRING
+
+TriggerID ::= UTF8String
+
+PriorityDT ::= ENUMERATED
+{
+ noPriority(1),
+ priority(2)
+}
+
+TriggerPayload ::= OCTET STRING
+
+DeviceTriggerDeliveryResult ::= ENUMERATED
+{
+ success(1),
+ unknown(2),
+ failure(3),
+ triggered(4),
+ expired(5),
+ unconfirmed(6),
+ replaced(7),
+ terminate(8)
+}
+
+StationaryIndication ::= ENUMERATED
+{
+ stationary(1),
+ mobile(2)
+}
+
+BatteryIndication ::= ENUMERATED
+{
+ batteryRecharge(1),
+ batteryReplace(2),
+ batteryNoRecharge(3),
+ batteryNoReplace(4),
+ noBattery(5)
+}
+
+ScheduledCommunicationTime ::= SEQUENCE
+{
+ days [1] SEQUENCE OF Daytime
+}
+
+UMTLocationArea5G ::= SEQUENCE
+{
+ timeOfDay [1] Daytime,
+ durationSec [2] INTEGER,
+ location [3] NRLocation
+}
+
+Daytime ::= SEQUENCE
+{
+ daysOfWeek [1] Day OPTIONAL,
+ timeOfDayStart [2] Timestamp OPTIONAL,
+ timeOfDayEnd [3] Timestamp OPTIONAL
+}
+
+Day ::= ENUMERATED
+{
+ monday(1),
+ tuesday(2),
+ wednesday(3),
+ thursday(4),
+ friday(5),
+ saturday(6),
+ sunday(7)
+}
+
+TrafficProfile ::= ENUMERATED
+{
+ singleTransUL(1),
+ singleTransDL(2),
+ dualTransULFirst(3),
+ dualTransDLFirst(4),
+ multiTrans(5)
+}
+
+ScheduledCommunicationType ::= ENUMERATED
+{
+ downlinkOnly(1),
+ uplinkOnly(2),
+ bidirectional(3)
+}
+
+-- =================
+-- 5G NEF parameters
+-- =================
+
+NEFFailureCause ::= ENUMERATED
+{
+ userUnknown(1),
+ niddConfigurationNotAvailable(2),
+ contextNotFound(3),
+ portNotFree(4),
+ portNotAssociatedWithSpecifiedApplication(5)
+}
+
+NEFReleaseCause ::= ENUMERATED
+{
+ sMFRelease(1),
+ dNRelease(2),
+ uDMRelease(3),
+ cHFRelease(4),
+ localConfigurationPolicy(5),
+ unknownCause(6)
+}
+
+AFID ::= UTF8String
+
+NEFID ::= UTF8String
+
+-- ==================
+-- SCEF definitions
+-- ==================
+
+-- See clause 7.8.2.1.2 for details of this structure
+SCEFPDNConnectionEstablishment ::= SEQUENCE
+{
+ iMSI [1] IMSI OPTIONAL,
+ mSISDN [2] MSISDN OPTIONAL,
+ externalIdentifier [3] NAI OPTIONAL,
+ iMEI [4] IMEI OPTIONAL,
+ ePSBearerID [5] EPSBearerID,
+ sCEFID [6] SCEFID,
+ aPN [7] APN,
+ rDSSupport [8] RDSSupport,
+ sCSASID [9] SCSASID
+}
+
+-- See clause 7.8.2.1.3 for details of this structure
+SCEFPDNConnectionUpdate ::= SEQUENCE
+{
+ iMSI [1] IMSI OPTIONAL,
+ mSISDN [2] MSISDN OPTIONAL,
+ externalIdentifier [3] NAI OPTIONAL,
+ initiator [4] Initiator,
+ rDSSourcePortNumber [5] RDSPortNumber OPTIONAL,
+ rDSDestinationPortNumber [6] RDSPortNumber OPTIONAL,
+ applicationID [7] ApplicationID OPTIONAL,
+ sCSASID [8] SCSASID OPTIONAL,
+ rDSAction [9] RDSAction OPTIONAL,
+ serializationFormat [10] SerializationFormat OPTIONAL
+}
+
+-- See clause 7.8.2.1.4 for details of this structure
+SCEFPDNConnectionRelease ::= SEQUENCE
+{
+ iMSI [1] IMSI OPTIONAL,
+ mSISDN [2] MSISDN OPTIONAL,
+ externalIdentifier [3] NAI OPTIONAL,
+ ePSBearerID [4] EPSBearerID,
+ timeOfFirstPacket [5] Timestamp OPTIONAL,
+ timeOfLastPacket [6] Timestamp OPTIONAL,
+ uplinkVolume [7] INTEGER OPTIONAL,
+ downlinkVolume [8] INTEGER OPTIONAL,
+ releaseCause [9] SCEFReleaseCause
+}
+
+-- See clause 7.8.2.1.5 for details of this structure
+SCEFUnsuccessfulProcedure ::= SEQUENCE
+{
+ failureCause [1] SCEFFailureCause,
+ iMSI [2] IMSI OPTIONAL,
+ mSISDN [3] MSISDN OPTIONAL,
+ externalIdentifier [4] NAI OPTIONAL,
+ ePSBearerID [5] EPSBearerID,
+ aPN [6] APN,
+ rDSDestinationPortNumber [7] RDSPortNumber OPTIONAL,
+ applicationID [8] ApplicationID OPTIONAL,
+ sCSASID [9] SCSASID
+}
+
+-- See clause 7.8.2.1.6 for details of this structure
+SCEFStartOfInterceptionWithEstablishedPDNConnection ::= SEQUENCE
+{
+ iMSI [1] IMSI OPTIONAL,
+ mSISDN [2] MSISDN OPTIONAL,
+ externalIdentifier [3] NAI OPTIONAL,
+ iMEI [4] IMEI OPTIONAL,
+ ePSBearerID [5] EPSBearerID,
+ sCEFID [6] SCEFID,
+ aPN [7] APN,
+ rDSSupport [8] RDSSupport,
+ sCSASID [9] SCSASID
+}
+
+-- See clause 7.8.3.1.1 for details of this structure
+SCEFDeviceTrigger ::= SEQUENCE
+{
+ iMSI [1] IMSI,
+ mSISDN [2] MSISDN,
+ externalIdentifier [3] NAI,
+ triggerId [4] TriggerID,
+ sCSASID [5] SCSASID OPTIONAL,
+ triggerPayload [6] TriggerPayload OPTIONAL,
+ validityPeriod [7] INTEGER OPTIONAL,
+ priorityDT [8] PriorityDT OPTIONAL,
+ sourcePortId [9] PortNumber OPTIONAL,
+ destinationPortId [10] PortNumber OPTIONAL
+}
+
+-- See clause 7.8.3.1.2 for details of this structure
+SCEFDeviceTriggerReplace ::= SEQUENCE
+{
+ iMSI [1] IMSI OPTIONAL,
+ mSISDN [2] MSISDN OPTIONAL,
+ externalIdentifier [3] NAI OPTIONAL,
+ triggerId [4] TriggerID,
+ sCSASID [5] SCSASID OPTIONAL,
+ triggerPayload [6] TriggerPayload OPTIONAL,
+ validityPeriod [7] INTEGER OPTIONAL,
+ priorityDT [8] PriorityDT OPTIONAL,
+ sourcePortId [9] PortNumber OPTIONAL,
+ destinationPortId [10] PortNumber OPTIONAL
+}
+
+-- See clause 7.8.3.1.3 for details of this structure
+SCEFDeviceTriggerCancellation ::= SEQUENCE
+{
+ iMSI [1] IMSI OPTIONAL,
+ mSISDN [2] MSISDN OPTIONAL,
+ externalIdentifier [3] NAI OPTIONAL,
+ triggerId [4] TriggerID
+}
+
+-- See clause 7.8.3.1.4 for details of this structure
+SCEFDeviceTriggerReportNotify ::= SEQUENCE
+{
+ iMSI [1] IMSI OPTIONAL,
+ mSISDN [2] MSISDN OPTIONAL,
+ externalIdentifier [3] NAI OPTIONAL,
+ triggerId [4] TriggerID,
+ deviceTriggerDeliveryResult [5] DeviceTriggerDeliveryResult
+}
+
+-- See clause 7.8.4.1.1 for details of this structure
+SCEFMSISDNLessMOSMS ::= SEQUENCE
+{
+ iMSI [1] IMSI OPTIONAL,
+ mSISDN [2] MSISDN OPTIONAL,
+ externalIdentifie [3] NAI OPTIONAL,
+ terminatingSMSParty [4] SCSASID,
+ sMS [5] SMSTPDUData OPTIONAL,
+ sourcePort [6] PortNumber OPTIONAL,
+ destinationPort [7] PortNumber OPTIONAL
+}
+
+-- See clause 7.8.5.1.1 for details of this structure
+SCEFCommunicationPatternUpdate ::= SEQUENCE
+{
+ mSISDN [1] MSISDN OPTIONAL,
+ externalIdentifier [2] NAI OPTIONAL,
+ periodicCommunicationIndicator [3] PeriodicCommunicationIndicator OPTIONAL,
+ communicationDurationTime [4] INTEGER OPTIONAL,
+ periodicTime [5] INTEGER OPTIONAL,
+ scheduledCommunicationTime [6] ScheduledCommunicationTime OPTIONAL,
+ scheduledCommunicationType [7] ScheduledCommunicationType OPTIONAL,
+ stationaryIndication [8] StationaryIndication OPTIONAL,
+ batteryIndication [9] BatteryIndication OPTIONAL,
+ trafficProfile [10] TrafficProfile OPTIONAL,
+ expectedUEMovingTrajectory [11] SEQUENCE OF UMTLocationArea5G OPTIONAL,
+ sCSASID [13] SCSASID,
+ validityTime [14] Timestamp OPTIONAL
+}
+
+-- =================
+-- SCEF parameters
+-- =================
+
+SCEFFailureCause ::= ENUMERATED
+{
+ userUnknown(1),
+ niddConfigurationNotAvailable(2),
+ invalidEPSBearer(3),
+ operationNotAllowed(4),
+ portNotFree(5),
+ portNotAssociatedWithSpecifiedApplication(6)
+}
+
+SCEFReleaseCause ::= ENUMERATED
+{
+ mMERelease(1),
+ dNRelease(2),
+ hSSRelease(3),
+ localConfigurationPolicy(4),
+ unknownCause(5)
+}
+
+SCSASID ::= UTF8String
+
+SCEFID ::= UTF8String
+
+PeriodicCommunicationIndicator ::= ENUMERATED
+{
+ periodic(1),
+ nonPeriodic(2)
+}
+
+EPSBearerID ::= INTEGER (0..255)
+
+APN ::= UTF8String
+
+
+-- ==================
+-- 5G AMF definitions
+-- ==================
+
+-- See clause 6.2.2.2.2 for details of this structure
+AMFRegistration ::= SEQUENCE
+{
+ registrationType [1] AMFRegistrationType,
+ registrationResult [2] AMFRegistrationResult,
+ slice [3] Slice OPTIONAL,
+ sUPI [4] SUPI,
+ sUCI [5] SUCI OPTIONAL,
+ pEI [6] PEI OPTIONAL,
+ gPSI [7] GPSI OPTIONAL,
+ gUTI [8] FiveGGUTI,
+ location [9] Location OPTIONAL,
+ non3GPPAccessEndpoint [10] UEEndpointAddress OPTIONAL,
+ fiveGSTAIList [11] TAIList OPTIONAL,
+ sMSOverNasIndicator [12] SMSOverNASIndicator OPTIONAL,
+ oldGUTI [13] EPS5GGUTI OPTIONAL,
+ eMM5GRegStatus [14] EMM5GMMStatus OPTIONAL
+}
+
+-- See clause 6.2.2.2.3 for details of this structure
+AMFDeregistration ::= SEQUENCE
+{
+ deregistrationDirection [1] AMFDirection,
+ accessType [2] AccessType,
+ sUPI [3] SUPI OPTIONAL,
+ sUCI [4] SUCI OPTIONAL,
+ pEI [5] PEI OPTIONAL,
+ gPSI [6] GPSI OPTIONAL,
+ gUTI [7] FiveGGUTI OPTIONAL,
+ cause [8] FiveGMMCause OPTIONAL,
+ location [9] Location OPTIONAL,
+ switchOffIndicator [10] SwitchOffIndicator OPTIONAL,
+ reRegRequiredIndicator [11] ReRegRequiredIndicator OPTIONAL
+}
+
+-- See clause 6.2.2.2.4 for details of this structure
+AMFLocationUpdate ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ sUCI [2] SUCI OPTIONAL,
+ pEI [3] PEI OPTIONAL,
+ gPSI [4] GPSI OPTIONAL,
+ gUTI [5] FiveGGUTI OPTIONAL,
+ location [6] Location,
+ sMSOverNASIndicator [7] SMSOverNASIndicator OPTIONAL,
+ oldGUTI [8] EPS5GGUTI OPTIONAL
+}
+
+-- See clause 6.2.2.2.5 for details of this structure
+AMFStartOfInterceptionWithRegisteredUE ::= SEQUENCE
+{
+ registrationResult [1] AMFRegistrationResult,
+ registrationType [2] AMFRegistrationType OPTIONAL,
+ slice [3] Slice OPTIONAL,
+ sUPI [4] SUPI,
+ sUCI [5] SUCI OPTIONAL,
+ pEI [6] PEI OPTIONAL,
+ gPSI [7] GPSI OPTIONAL,
+ gUTI [8] FiveGGUTI,
+ location [9] Location OPTIONAL,
+ non3GPPAccessEndpoint [10] UEEndpointAddress OPTIONAL,
+ timeOfRegistration [11] Timestamp OPTIONAL,
+ fiveGSTAIList [12] TAIList OPTIONAL,
+ sMSOverNASIndicator [13] SMSOverNASIndicator OPTIONAL,
+ oldGUTI [14] EPS5GGUTI OPTIONAL,
+ eMM5GRegStatus [15] EMM5GMMStatus OPTIONAL
+}
+
+-- See clause 6.2.2.2.6 for details of this structure
+AMFUnsuccessfulProcedure ::= SEQUENCE
+{
+ failedProcedureType [1] AMFFailedProcedureType,
+ failureCause [2] AMFFailureCause,
+ requestedSlice [3] NSSAI OPTIONAL,
+ sUPI [4] SUPI OPTIONAL,
+ sUCI [5] SUCI OPTIONAL,
+ pEI [6] PEI OPTIONAL,
+ gPSI [7] GPSI OPTIONAL,
+ gUTI [8] FiveGGUTI OPTIONAL,
+ location [9] Location OPTIONAL
+}
+
+-- =================
+-- 5G AMF parameters
+-- =================
+
+AMFID ::= SEQUENCE
+{
+ aMFRegionID [1] AMFRegionID,
+ aMFSetID [2] AMFSetID,
+ aMFPointer [3] AMFPointer
+}
+
+AMFDirection ::= ENUMERATED
+{
+ networkInitiated(1),
+ uEInitiated(2)
+}
+
+AMFFailedProcedureType ::= ENUMERATED
+{
+ registration(1),
+ sMS(2),
+ pDUSessionEstablishment(3)
+}
+
+AMFFailureCause ::= CHOICE
+{
+ fiveGMMCause [1] FiveGMMCause,
+ fiveGSMCause [2] FiveGSMCause
+}
+
+AMFPointer ::= INTEGER (0..63)
+
+AMFRegistrationResult ::= ENUMERATED
+{
+ threeGPPAccess(1),
+ nonThreeGPPAccess(2),
+ threeGPPAndNonThreeGPPAccess(3)
+}
+
+AMFRegionID ::= INTEGER (0..255)
+
+AMFRegistrationType ::= ENUMERATED
+{
+ initial(1),
+ mobility(2),
+ periodic(3),
+ emergency(4)
+}
+
+AMFSetID ::= INTEGER (0..1023)
+
+-- ==================
+-- 5G SMF definitions
+-- ==================
+
+-- See clause 6.2.3.2.2 for details of this structure
+SMFPDUSessionEstablishment ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+ sUPIUnauthenticated [2] SUPIUnauthenticatedIndication OPTIONAL,
+ pEI [3] PEI OPTIONAL,
+ gPSI [4] GPSI OPTIONAL,
+ pDUSessionID [5] PDUSessionID,
+ gTPTunnelID [6] FTEID,
+ pDUSessionType [7] PDUSessionType,
+ sNSSAI [8] SNSSAI OPTIONAL,
+ uEEndpoint [9] SEQUENCE OF UEEndpointAddress OPTIONAL,
+ non3GPPAccessEndpoint [10] UEEndpointAddress OPTIONAL,
+ location [11] Location OPTIONAL,
+ dNN [12] DNN,
+ aMFID [13] AMFID OPTIONAL,
+ hSMFURI [14] HSMFURI OPTIONAL,
+ requestType [15] FiveGSMRequestType,
+ accessType [16] AccessType OPTIONAL,
+ rATType [17] RATType OPTIONAL,
+ sMPDUDNRequest [18] SMPDUDNRequest OPTIONAL,
+ uEEPSPDNConnection [19] UEEPSPDNConnection OPTIONAL
+}
+
+-- See clause 6.2.3.2.3 for details of this structure
+SMFPDUSessionModification ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+ sUPIUnauthenticated [2] SUPIUnauthenticatedIndication OPTIONAL,
+ pEI [3] PEI OPTIONAL,
+ gPSI [4] GPSI OPTIONAL,
+ sNSSAI [5] SNSSAI OPTIONAL,
+ non3GPPAccessEndpoint [6] UEEndpointAddress OPTIONAL,
+ location [7] Location OPTIONAL,
+ requestType [8] FiveGSMRequestType,
+ accessType [9] AccessType OPTIONAL,
+ rATType [10] RATType OPTIONAL,
+ pDUSessionID [11] PDUSessionID OPTIONAL
+}
+
+-- See clause 6.2.3.2.4 for details of this structure
+SMFPDUSessionRelease ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ pEI [2] PEI OPTIONAL,
+ gPSI [3] GPSI OPTIONAL,
+ pDUSessionID [4] PDUSessionID,
+ timeOfFirstPacket [5] Timestamp OPTIONAL,
+ timeOfLastPacket [6] Timestamp OPTIONAL,
+ uplinkVolume [7] INTEGER OPTIONAL,
+ downlinkVolume [8] INTEGER OPTIONAL,
+ location [9] Location OPTIONAL,
+ cause [10] SMFErrorCodes OPTIONAL
+}
+
+-- See clause 6.2.3.2.5 for details of this structure
+SMFStartOfInterceptionWithEstablishedPDUSession ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+ sUPIUnauthenticated [2] SUPIUnauthenticatedIndication OPTIONAL,
+ pEI [3] PEI OPTIONAL,
+ gPSI [4] GPSI OPTIONAL,
+ pDUSessionID [5] PDUSessionID,
+ gTPTunnelID [6] FTEID,
+ pDUSessionType [7] PDUSessionType,
+ sNSSAI [8] SNSSAI OPTIONAL,
+ uEEndpoint [9] SEQUENCE OF UEEndpointAddress,
+ non3GPPAccessEndpoint [10] UEEndpointAddress OPTIONAL,
+ location [11] Location OPTIONAL,
+ dNN [12] DNN,
+ aMFID [13] AMFID OPTIONAL,
+ hSMFURI [14] HSMFURI OPTIONAL,
+ requestType [15] FiveGSMRequestType,
+ accessType [16] AccessType OPTIONAL,
+ rATType [17] RATType OPTIONAL,
+ sMPDUDNRequest [18] SMPDUDNRequest OPTIONAL,
+ timeOfSessionEstablishment [19] Timestamp OPTIONAL
+}
+
+-- See clause 6.2.3.2.6 for details of this structure
+SMFUnsuccessfulProcedure ::= SEQUENCE
+{
+ failedProcedureType [1] SMFFailedProcedureType,
+ failureCause [2] FiveGSMCause,
+ initiator [3] Initiator,
+ requestedSlice [4] NSSAI OPTIONAL,
+ sUPI [5] SUPI OPTIONAL,
+ sUPIUnauthenticated [6] SUPIUnauthenticatedIndication OPTIONAL,
+ pEI [7] PEI OPTIONAL,
+ gPSI [8] GPSI OPTIONAL,
+ pDUSessionID [9] PDUSessionID OPTIONAL,
+ uEEndpoint [10] SEQUENCE OF UEEndpointAddress OPTIONAL,
+ non3GPPAccessEndpoint [11] UEEndpointAddress OPTIONAL,
+ dNN [12] DNN OPTIONAL,
+ aMFID [13] AMFID OPTIONAL,
+ hSMFURI [14] HSMFURI OPTIONAL,
+ requestType [15] FiveGSMRequestType OPTIONAL,
+ accessType [16] AccessType OPTIONAL,
+ rATType [17] RATType OPTIONAL,
+ sMPDUDNRequest [18] SMPDUDNRequest OPTIONAL,
+ location [19] Location OPTIONAL
+}
+
+-- See clause 6.2.3.2.8 for details of this structure
+SMFPDUtoMAPDUSessionModification ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+ sUPIUnauthenticated [2] SUPIUnauthenticatedIndication OPTIONAL,
+ pEI [3] PEI OPTIONAL,
+ gPSI [4] GPSI OPTIONAL,
+ sNSSAI [5] SNSSAI OPTIONAL,
+ non3GPPAccessEndpoint [6] UEEndpointAddress OPTIONAL,
+ location [7] Location OPTIONAL,
+ requestType [8] FiveGSMRequestType,
+ accessType [9] AccessType OPTIONAL,
+ rATType [10] RATType OPTIONAL,
+ pDUSessionID [11] PDUSessionID,
+ requestIndication [12] RequestIndication,
+ aTSSSContainer [13] ATSSSContainer
+}
+
+-- See clause 6.2.3.2.7.1 for details of this structure
+SMFMAPDUSessionEstablishment ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+ sUPIUnauthenticated [2] SUPIUnauthenticatedIndication OPTIONAL,
+ pEI [3] PEI OPTIONAL,
+ gPSI [4] GPSI OPTIONAL,
+ pDUSessionID [5] PDUSessionID,
+ pDUSessionType [6] PDUSessionType,
+ accessInfo [7] SEQUENCE OF AccessInfo,
+ sNSSAI [8] SNSSAI OPTIONAL,
+ uEEndpoint [9] SEQUENCE OF UEEndpointAddress OPTIONAL,
+ location [10] Location OPTIONAL,
+ dNN [11] DNN,
+ aMFID [12] AMFID OPTIONAL,
+ hSMFURI [13] HSMFURI OPTIONAL,
+ requestType [14] FiveGSMRequestType,
+ sMPDUDNRequest [15] SMPDUDNRequest OPTIONAL,
+ servingNetwork [16] SMFServingNetwork,
+ oldPDUSessionID [17] PDUSessionID OPTIONAL,
+ mAUpgradeIndication [18] SMFMAUpgradeIndication OPTIONAL,
+ ePSPDNCnxInfo [19] SMFEPSPDNCnxInfo OPTIONAL,
+ mAAcceptedIndication [20] SMFMAAcceptedIndication,
+ aTSSSContainer [21] ATSSSContainer OPTIONAL
+}
+
+-- See clause 6.2.3.2.7.2 for details of this structure
+SMFMAPDUSessionModification ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+ sUPIUnauthenticated [2] SUPIUnauthenticatedIndication OPTIONAL,
+ pEI [3] PEI OPTIONAL,
+ gPSI [4] GPSI OPTIONAL,
+ pDUSessionID [5] PDUSessionID,
+ accessInfo [6] SEQUENCE OF AccessInfo OPTIONAL,
+ sNSSAI [7] SNSSAI OPTIONAL,
+ location [8] Location OPTIONAL,
+ requestType [9] FiveGSMRequestType OPTIONAL,
+ servingNetwork [10] SMFServingNetwork,
+ oldPDUSessionID [11] PDUSessionID OPTIONAL,
+ mAUpgradeIndication [12] SMFMAUpgradeIndication OPTIONAL,
+ ePSPDNCnxInfo [13] SMFEPSPDNCnxInfo OPTIONAL,
+ mAAcceptedIndication [14] SMFMAAcceptedIndication,
+ aTSSSContainer [15] ATSSSContainer OPTIONAL
+
+}
+
+-- See clause 6.2.3.2.7.3 for details of this structure
+SMFMAPDUSessionRelease ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ pEI [2] PEI OPTIONAL,
+ gPSI [3] GPSI OPTIONAL,
+ pDUSessionID [4] PDUSessionID,
+ timeOfFirstPacket [5] Timestamp OPTIONAL,
+ timeOfLastPacket [6] Timestamp OPTIONAL,
+ uplinkVolume [7] INTEGER OPTIONAL,
+ downlinkVolume [8] INTEGER OPTIONAL,
+ location [9] Location OPTIONAL,
+ cause [10] SMFErrorCodes OPTIONAL
+}
+
+-- See clause 6.2.3.2.7.4 for details of this structure
+SMFStartOfInterceptionWithEstablishedMAPDUSession ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+ sUPIUnauthenticated [2] SUPIUnauthenticatedIndication OPTIONAL,
+ pEI [3] PEI OPTIONAL,
+ gPSI [4] GPSI OPTIONAL,
+ pDUSessionID [5] PDUSessionID,
+ pDUSessionType [6] PDUSessionType,
+ accessInfo [7] SEQUENCE OF AccessInfo,
+ sNSSAI [8] SNSSAI OPTIONAL,
+ uEEndpoint [9] SEQUENCE OF UEEndpointAddress OPTIONAL,
+ location [10] Location OPTIONAL,
+ dNN [11] DNN,
+ aMFID [12] AMFID OPTIONAL,
+ hSMFURI [13] HSMFURI OPTIONAL,
+ requestType [14] FiveGSMRequestType OPTIONAL,
+ sMPDUDNRequest [15] SMPDUDNRequest OPTIONAL,
+ servingNetwork [16] SMFServingNetwork,
+ oldPDUSessionID [17] PDUSessionID OPTIONAL,
+ mAUpgradeIndication [18] SMFMAUpgradeIndication OPTIONAL,
+ ePSPDNCnxInfo [19] SMFEPSPDNCnxInfo OPTIONAL,
+ mAAcceptedIndication [20] SMFMAAcceptedIndication,
+ aTSSSContainer [21] ATSSSContainer OPTIONAL
+}
+
+-- See clause 6.2.3.2.7.5 for details of this structure
+SMFMAUnsuccessfulProcedure ::= SEQUENCE
+{
+ failedProcedureType [1] SMFFailedProcedureType,
+ failureCause [2] FiveGSMCause,
+ requestedSlice [3] NSSAI OPTIONAL,
+ initiator [4] Initiator,
+ sUPI [5] SUPI OPTIONAL,
+ sUPIUnauthenticated [6] SUPIUnauthenticatedIndication OPTIONAL,
+ pEI [7] PEI OPTIONAL,
+ gPSI [8] GPSI OPTIONAL,
+ pDUSessionID [9] PDUSessionID OPTIONAL,
+ accessInfo [10] SEQUENCE OF AccessInfo,
+ uEEndpoint [11] SEQUENCE OF UEEndpointAddress OPTIONAL,
+ location [12] Location OPTIONAL,
+ dNN [13] DNN OPTIONAL,
+ aMFID [14] AMFID OPTIONAL,
+ hSMFURI [15] HSMFURI OPTIONAL,
+ requestType [16] FiveGSMRequestType OPTIONAL,
+ sMPDUDNRequest [17] SMPDUDNRequest OPTIONAL
+}
+
+
+-- =================
+-- 5G SMF parameters
+-- =================
+
+SMFID ::= UTF8String
+
+SMFFailedProcedureType ::= ENUMERATED
+{
+ pDUSessionEstablishment(1),
+ pDUSessionModification(2),
+ pDUSessionRelease(3)
+}
+
+SMFServingNetwork ::= SEQUENCE
+{
+ pLMNID [1] PLMNID,
+ nID [2] NID OPTIONAL
+}
+
+AccessInfo ::= SEQUENCE
+{
+ accessType [1] AccessType,
+ rATType [2] RATType OPTIONAL,
+ gTPTunnelID [3] FTEID,
+ non3GPPAccessEndpoint [4] UEEndpointAddress OPTIONAL,
+ establishmentStatus [5] EstablishmentStatus,
+ aNTypeToReactivate [6] AccessType OPTIONAL
+}
+
+-- see Clause 6.1.2 of TS 24.193[44] for the details of the ATSSS container contents.
+ATSSSContainer ::= OCTET STRING
+
+EstablishmentStatus ::= ENUMERATED
+{
+ established(0),
+ released(1)
+}
+
+SMFMAUpgradeIndication ::= BOOLEAN
+
+-- Given in YAML encoding as defined in clause 6.1.6.2.31 of TS 29.502[16]
+SMFEPSPDNCnxInfo ::= UTF8String
+
+SMFMAAcceptedIndication ::= BOOLEAN
+
+-- see Clause 6.1.6.3.8 of TS 29.502[16] for the details of this structure.
+SMFErrorCodes ::= UTF8String
+
+-- see Clause 6.1.6.3.2 of TS 29.502[16] for details of this structure.
+UEEPSPDNConnection ::= OCTET STRING
+
+-- see Clause 6.1.6.3.6 of TS 29.502[16] for the details of this structure.
+RequestIndication ::= ENUMERATED
+{
+ uEREQPDUSESMOD(0),
+ uEREQPDUSESREL(1),
+ pDUSESMOB(2),
+ nWREQPDUSESAUTH(3),
+ nWREQPDUSESMOD(4),
+ nWREQPDUSESREL(5),
+ eBIASSIGNMENTREQ(6),
+ rELDUETO5GANREQUEST(7)
+}
+
+-- ==================
+-- 5G UPF definitions
+-- ==================
+
+UPFCCPDU ::= OCTET STRING
+
+-- See clause 6.2.3.8 for the details of this structure
+ExtendedUPFCCPDU ::= SEQUENCE
+{
+ payload [1] UPFCCPDUPayload,
+ qFI [2] QFI OPTIONAL
+}
+
+-- =================
+-- 5G UPF parameters
+-- =================
+
+UPFCCPDUPayload ::= CHOICE
+{
+ uPFIPCC [1] OCTET STRING,
+ uPFEthernetCC [2] OCTET STRING,
+ uPFUnstructuredCC [3] OCTET STRING
+}
+
+QFI ::= INTEGER (0..63)
+
+-- ==================
+-- 5G UDM definitions
+-- ==================
+
+UDMServingSystemMessage ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ pEI [2] PEI OPTIONAL,
+ gPSI [3] GPSI OPTIONAL,
+ gUAMI [4] GUAMI OPTIONAL,
+ gUMMEI [5] GUMMEI OPTIONAL,
+ pLMNID [6] PLMNID OPTIONAL,
+ servingSystemMethod [7] UDMServingSystemMethod,
+ serviceID [8] ServiceID OPTIONAL
+}
+
+UDMSubscriberRecordChangeMessage ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+ pEI [2] PEI OPTIONAL,
+ gPSI [3] GPSI OPTIONAL,
+ oldPEI [4] PEI OPTIONAL,
+ oldSUPI [5] SUPI OPTIONAL,
+ oldGPSI [6] GPSI OPTIONAL,
+ oldserviceID [7] ServiceID OPTIONAL,
+ subscriberRecordChangeMethod [8] UDMSubscriberRecordChangeMethod,
+ serviceID [9] ServiceID OPTIONAL
+}
+
+UDMCancelLocationMessage ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ pEI [2] PEI OPTIONAL,
+ gPSI [3] GPSI OPTIONAL,
+ gUAMI [4] GUAMI OPTIONAL,
+ pLMNID [5] PLMNID OPTIONAL,
+ cancelLocationMethod [6] UDMCancelLocationMethod
+}
+
+-- =================
+-- 5G UDM parameters
+-- =================
+
+UDMServingSystemMethod ::= ENUMERATED
+{
+ amf3GPPAccessRegistration(0),
+ amfNon3GPPAccessRegistration(1),
+ unknown(2)
+}
+
+UDMSubscriberRecordChangeMethod ::= ENUMERATED
+{
+ pEIChange(1),
+ sUPIChange(2),
+ gPSIChange(3),
+ uEDeprovisioning(4),
+ unknown(5),
+ serviceIDChange(6)
+}
+
+UDMCancelLocationMethod ::= ENUMERATED
+{
+ aMF3GPPAccessDeregistration(1),
+ aMFNon3GPPAccessDeregistration(2),
+ uDMDeregistration(3),
+ unknown(4)
+}
+
+ServiceID ::= SEQUENCE
+{
+ nSSAI [1] NSSAI OPTIONAL,
+ cAGID [2] SEQUENCE OF CAGID OPTIONAL
+}
+
+CAGID ::= UTF8String
+
+-- ===================
+-- 5G SMSF definitions
+-- ===================
+
+-- See clause 6.2.5.3 for details of this structure
+SMSMessage ::= SEQUENCE
+{
+ originatingSMSParty [1] SMSParty,
+ terminatingSMSParty [2] SMSParty,
+ direction [3] Direction,
+ linkTransferStatus [4] SMSTransferStatus,
+ otherMessage [5] SMSOtherMessageIndication OPTIONAL,
+ location [6] Location OPTIONAL,
+ peerNFAddress [7] SMSNFAddress OPTIONAL,
+ peerNFType [8] SMSNFType OPTIONAL,
+ sMSTPDUData [9] SMSTPDUData OPTIONAL,
+ messageType [10] SMSMessageType OPTIONAL,
+ rPMessageReference [11] SMSRPMessageReference OPTIONAL
+}
+
+SMSReport ::= SEQUENCE
+{
+ location [1] Location OPTIONAL,
+ sMSTPDUData [2] SMSTPDUData,
+ messageType [3] SMSMessageType,
+ rPMessageReference [4] SMSRPMessageReference
+}
+
+-- ==================
+-- 5G SMSF parameters
+-- ==================
+
+SMSAddress ::= OCTET STRING(SIZE(2..12))
+
+SMSMessageType ::= ENUMERATED
+{
+ deliver(1),
+ deliverReportAck(2),
+ deliverReportError(3),
+ statusReport(4),
+ command(5),
+ submit(6),
+ submitReportAck(7),
+ submitReportError(8),
+ reserved(9)
+}
+
+SMSParty ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+ pEI [2] PEI OPTIONAL,
+ gPSI [3] GPSI OPTIONAL,
+ sMSAddress [4] SMSAddress OPTIONAL
+}
+
+SMSTransferStatus ::= ENUMERATED
+{
+ transferSucceeded(1),
+ transferFailed(2),
+ undefined(3)
+}
+
+SMSOtherMessageIndication ::= BOOLEAN
+
+SMSNFAddress ::= CHOICE
+{
+ iPAddress [1] IPAddress,
+ e164Number [2] E164Number
+}
+
+SMSNFType ::= ENUMERATED
+{
+ sMSGMSC(1),
+ iWMSC(2),
+ sMSRouter(3)
+}
+
+SMSRPMessageReference ::= INTEGER (0..255)
+
+SMSTPDUData ::= CHOICE
+{
+ sMSTPDU [1] SMSTPDU,
+ truncatedSMSTPDU [2] TruncatedSMSTPDU
+}
+
+SMSTPDU ::= OCTET STRING (SIZE(1..270))
+
+TruncatedSMSTPDU ::= OCTET STRING (SIZE(1..130))
+
+-- ===============
+-- MMS definitions
+-- ===============
+
+MMSSend ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ dateTime [3] Timestamp,
+ originatingMMSParty [4] MMSParty,
+ terminatingMMSParty [5] SEQUENCE OF MMSParty OPTIONAL,
+ cCRecipients [6] SEQUENCE OF MMSParty OPTIONAL,
+ bCCRecipients [7] SEQUENCE OF MMSParty OPTIONAL,
+ direction [8] MMSDirection,
+ subject [9] MMSSubject OPTIONAL,
+ messageClass [10] MMSMessageClass OPTIONAL,
+ expiry [11] MMSExpiry,
+ desiredDeliveryTime [12] Timestamp OPTIONAL,
+ priority [13] MMSPriority OPTIONAL,
+ senderVisibility [14] BOOLEAN OPTIONAL,
+ deliveryReport [15] BOOLEAN OPTIONAL,
+ readReport [16] BOOLEAN OPTIONAL,
+ store [17] BOOLEAN OPTIONAL,
+ state [18] MMState OPTIONAL,
+ flags [19] MMFlags OPTIONAL,
+ replyCharging [20] MMSReplyCharging OPTIONAL,
+ applicID [21] UTF8String OPTIONAL,
+ replyApplicID [22] UTF8String OPTIONAL,
+ auxApplicInfo [23] UTF8String OPTIONAL,
+ contentClass [24] MMSContentClass OPTIONAL,
+ dRMContent [25] BOOLEAN OPTIONAL,
+ adaptationAllowed [26] MMSAdaptation OPTIONAL,
+ contentType [27] MMSContentType,
+ responseStatus [28] MMSResponseStatus,
+ responseStatusText [29] UTF8String OPTIONAL,
+ messageID [30] UTF8String
+}
+
+MMSSendByNonLocalTarget ::= SEQUENCE
+{
+ version [1] MMSVersion,
+ transactionID [2] UTF8String,
+ messageID [3] UTF8String,
+ terminatingMMSParty [4] SEQUENCE OF MMSParty,
+ originatingMMSParty [5] MMSParty,
+ direction [6] MMSDirection,
+ contentType [7] MMSContentType,
+ messageClass [8] MMSMessageClass OPTIONAL,
+ dateTime [9] Timestamp,
+ expiry [10] MMSExpiry OPTIONAL,
+ deliveryReport [11] BOOLEAN OPTIONAL,
+ priority [12] MMSPriority OPTIONAL,
+ senderVisibility [13] BOOLEAN OPTIONAL,
+ readReport [14] BOOLEAN OPTIONAL,
+ subject [15] MMSSubject OPTIONAL,
+ forwardCount [16] INTEGER OPTIONAL,
+ previouslySentBy [17] MMSPreviouslySentBy OPTIONAL,
+ prevSentByDateTime [18] Timestamp OPTIONAL,
+ applicID [19] UTF8String OPTIONAL,
+ replyApplicID [20] UTF8String OPTIONAL,
+ auxApplicInfo [21] UTF8String OPTIONAL,
+ contentClass [22] MMSContentClass OPTIONAL,
+ dRMContent [23] BOOLEAN OPTIONAL,
+ adaptationAllowed [24] MMSAdaptation OPTIONAL
+}
+
+MMSNotification ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ originatingMMSParty [3] MMSParty OPTIONAL,
+ direction [4] MMSDirection,
+ subject [5] MMSSubject OPTIONAL,
+ deliveryReportRequested [6] BOOLEAN OPTIONAL,
+ stored [7] BOOLEAN OPTIONAL,
+ messageClass [8] MMSMessageClass,
+ priority [9] MMSPriority OPTIONAL,
+ messageSize [10] INTEGER,
+ expiry [11] MMSExpiry,
+ replyCharging [12] MMSReplyCharging OPTIONAL
+}
+
+MMSSendToNonLocalTarget ::= SEQUENCE
+{
+ version [1] MMSVersion,
+ transactionID [2] UTF8String,
+ messageID [3] UTF8String,
+ terminatingMMSParty [4] SEQUENCE OF MMSParty,
+ originatingMMSParty [5] MMSParty,
+ direction [6] MMSDirection,
+ contentType [7] MMSContentType,
+ messageClass [8] MMSMessageClass OPTIONAL,
+ dateTime [9] Timestamp,
+ expiry [10] MMSExpiry OPTIONAL,
+ deliveryReport [11] BOOLEAN OPTIONAL,
+ priority [12] MMSPriority OPTIONAL,
+ senderVisibility [13] BOOLEAN OPTIONAL,
+ readReport [14] BOOLEAN OPTIONAL,
+ subject [15] MMSSubject OPTIONAL,
+ forwardCount [16] INTEGER OPTIONAL,
+ previouslySentBy [17] MMSPreviouslySentBy OPTIONAL,
+ prevSentByDateTime [18] Timestamp OPTIONAL,
+ applicID [19] UTF8String OPTIONAL,
+ replyApplicID [20] UTF8String OPTIONAL,
+ auxApplicInfo [21] UTF8String OPTIONAL,
+ contentClass [22] MMSContentClass OPTIONAL,
+ dRMContent [23] BOOLEAN OPTIONAL,
+ adaptationAllowed [24] MMSAdaptation OPTIONAL
+}
+
+MMSNotificationResponse ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ direction [3] MMSDirection,
+ status [4] MMStatus,
+ reportAllowed [5] BOOLEAN OPTIONAL
+}
+
+MMSRetrieval ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ messageID [3] UTF8String,
+ dateTime [4] Timestamp,
+ originatingMMSParty [5] MMSParty OPTIONAL,
+ previouslySentBy [6] MMSPreviouslySentBy OPTIONAL,
+ prevSentByDateTime [7] Timestamp OPTIONAL,
+ terminatingMMSParty [8] SEQUENCE OF MMSParty OPTIONAL,
+ cCRecipients [9] SEQUENCE OF MMSParty OPTIONAL,
+ direction [10] MMSDirection,
+ subject [11] MMSSubject OPTIONAL,
+ state [12] MMState OPTIONAL,
+ flags [13] MMFlags OPTIONAL,
+ messageClass [14] MMSMessageClass OPTIONAL,
+ priority [15] MMSPriority,
+ deliveryReport [16] BOOLEAN OPTIONAL,
+ readReport [17] BOOLEAN OPTIONAL,
+ replyCharging [18] MMSReplyCharging OPTIONAL,
+ retrieveStatus [19] MMSRetrieveStatus OPTIONAL,
+ retrieveStatusText [20] UTF8String OPTIONAL,
+ applicID [21] UTF8String OPTIONAL,
+ replyApplicID [22] UTF8String OPTIONAL,
+ auxApplicInfo [23] UTF8String OPTIONAL,
+ contentClass [24] MMSContentClass OPTIONAL,
+ dRMContent [25] BOOLEAN OPTIONAL,
+ replaceID [26] UTF8String OPTIONAL,
+ contentType [27] UTF8String OPTIONAL
+}
+
+MMSDeliveryAck ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ reportAllowed [3] BOOLEAN OPTIONAL,
+ status [4] MMStatus,
+ direction [5] MMSDirection
+}
+
+MMSForward ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ dateTime [3] Timestamp OPTIONAL,
+ originatingMMSParty [4] MMSParty,
+ terminatingMMSParty [5] SEQUENCE OF MMSParty OPTIONAL,
+ cCRecipients [6] SEQUENCE OF MMSParty OPTIONAL,
+ bCCRecipients [7] SEQUENCE OF MMSParty OPTIONAL,
+ direction [8] MMSDirection,
+ expiry [9] MMSExpiry OPTIONAL,
+ desiredDeliveryTime [10] Timestamp OPTIONAL,
+ deliveryReportAllowed [11] BOOLEAN OPTIONAL,
+ deliveryReport [12] BOOLEAN OPTIONAL,
+ store [13] BOOLEAN OPTIONAL,
+ state [14] MMState OPTIONAL,
+ flags [15] MMFlags OPTIONAL,
+ contentLocationReq [16] UTF8String,
+ replyCharging [17] MMSReplyCharging OPTIONAL,
+ responseStatus [18] MMSResponseStatus,
+ responseStatusText [19] UTF8String OPTIONAL,
+ messageID [20] UTF8String OPTIONAL,
+ contentLocationConf [21] UTF8String OPTIONAL,
+ storeStatus [22] MMSStoreStatus OPTIONAL,
+ storeStatusText [23] UTF8String OPTIONAL
+}
+
+MMSDeleteFromRelay ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ direction [3] MMSDirection,
+ contentLocationReq [4] SEQUENCE OF UTF8String,
+ contentLocationConf [5] SEQUENCE OF UTF8String,
+ deleteResponseStatus [6] MMSDeleteResponseStatus,
+ deleteResponseText [7] SEQUENCE OF UTF8String
+}
+
+MMSMBoxStore ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ direction [3] MMSDirection,
+ contentLocationReq [4] UTF8String,
+ state [5] MMState OPTIONAL,
+ flags [6] MMFlags OPTIONAL,
+ contentLocationConf [7] UTF8String OPTIONAL,
+ storeStatus [8] MMSStoreStatus,
+ storeStatusText [9] UTF8String OPTIONAL
+}
+
+MMSMBoxUpload ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ direction [3] MMSDirection,
+ state [4] MMState OPTIONAL,
+ flags [5] MMFlags OPTIONAL,
+ contentType [6] UTF8String,
+ contentLocation [7] UTF8String OPTIONAL,
+ storeStatus [8] MMSStoreStatus,
+ storeStatusText [9] UTF8String OPTIONAL,
+ mMessages [10] SEQUENCE OF MMBoxDescription
+}
+
+MMSMBoxDelete ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ direction [3] MMSDirection,
+ contentLocationReq [4] SEQUENCE OF UTF8String,
+ contentLocationConf [5] SEQUENCE OF UTF8String OPTIONAL,
+ responseStatus [6] MMSDeleteResponseStatus,
+ responseStatusText [7] UTF8String OPTIONAL
+}
+
+MMSDeliveryReport ::= SEQUENCE
+{
+ version [1] MMSVersion,
+ messageID [2] UTF8String,
+ terminatingMMSParty [3] SEQUENCE OF MMSParty,
+ mMSDateTime [4] Timestamp,
+ responseStatus [5] MMSResponseStatus,
+ responseStatusText [6] UTF8String OPTIONAL,
+ applicID [7] UTF8String OPTIONAL,
+ replyApplicID [8] UTF8String OPTIONAL,
+ auxApplicInfo [9] UTF8String OPTIONAL
+}
+
+MMSDeliveryReportNonLocalTarget ::= SEQUENCE
+{
+ version [1] MMSVersion,
+ transactionID [2] UTF8String,
+ messageID [3] UTF8String,
+ terminatingMMSParty [4] SEQUENCE OF MMSParty,
+ originatingMMSParty [5] MMSParty,
+ direction [6] MMSDirection,
+ mMSDateTime [7] Timestamp,
+ forwardToOriginator [8] BOOLEAN OPTIONAL,
+ status [9] MMStatus,
+ statusExtension [10] MMStatusExtension,
+ statusText [11] MMStatusText,
+ applicID [12] UTF8String OPTIONAL,
+ replyApplicID [13] UTF8String OPTIONAL,
+ auxApplicInfo [14] UTF8String OPTIONAL
+}
+
+MMSReadReport ::= SEQUENCE
+{
+ version [1] MMSVersion,
+ messageID [2] UTF8String,
+ terminatingMMSParty [3] SEQUENCE OF MMSParty,
+ originatingMMSParty [4] SEQUENCE OF MMSParty,
+ direction [5] MMSDirection,
+ mMSDateTime [6] Timestamp,
+ readStatus [7] MMSReadStatus,
+ applicID [8] UTF8String OPTIONAL,
+ replyApplicID [9] UTF8String OPTIONAL,
+ auxApplicInfo [10] UTF8String OPTIONAL
+}
+
+MMSReadReportNonLocalTarget ::= SEQUENCE
+{
+ version [1] MMSVersion,
+ transactionID [2] UTF8String,
+ terminatingMMSParty [3] SEQUENCE OF MMSParty,
+ originatingMMSParty [4] SEQUENCE OF MMSParty,
+ direction [5] MMSDirection,
+ messageID [6] UTF8String,
+ mMSDateTime [7] Timestamp,
+ readStatus [8] MMSReadStatus,
+ readStatusText [9] MMSReadStatusText OPTIONAL,
+ applicID [10] UTF8String OPTIONAL,
+ replyApplicID [11] UTF8String OPTIONAL,
+ auxApplicInfo [12] UTF8String OPTIONAL
+}
+
+MMSCancel ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ cancelID [3] UTF8String,
+ direction [4] MMSDirection
+}
+
+MMSMBoxViewRequest ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ contentLocation [3] UTF8String OPTIONAL,
+ state [4] SEQUENCE OF MMState OPTIONAL,
+ flags [5] SEQUENCE OF MMFlags OPTIONAL,
+ start [6] INTEGER OPTIONAL,
+ limit [7] INTEGER OPTIONAL,
+ attributes [8] SEQUENCE OF UTF8String OPTIONAL,
+ totals [9] INTEGER OPTIONAL,
+ quotas [10] MMSQuota OPTIONAL
+}
+
+MMSMBoxViewResponse ::= SEQUENCE
+{
+ transactionID [1] UTF8String,
+ version [2] MMSVersion,
+ contentLocation [3] UTF8String OPTIONAL,
+ state [4] SEQUENCE OF MMState OPTIONAL,
+ flags [5] SEQUENCE OF MMFlags OPTIONAL,
+ start [6] INTEGER OPTIONAL,
+ limit [7] INTEGER OPTIONAL,
+ attributes [8] SEQUENCE OF UTF8String OPTIONAL,
+ mMSTotals [9] BOOLEAN OPTIONAL,
+ mMSQuotas [10] BOOLEAN OPTIONAL,
+ mMessages [11] SEQUENCE OF MMBoxDescription
+}
+
+MMBoxDescription ::= SEQUENCE
+{
+ contentLocation [1] UTF8String OPTIONAL,
+ messageID [2] UTF8String OPTIONAL,
+ state [3] MMState OPTIONAL,
+ flags [4] SEQUENCE OF MMFlags OPTIONAL,
+ dateTime [5] Timestamp OPTIONAL,
+ originatingMMSParty [6] MMSParty OPTIONAL,
+ terminatingMMSParty [7] SEQUENCE OF MMSParty OPTIONAL,
+ cCRecipients [8] SEQUENCE OF MMSParty OPTIONAL,
+ bCCRecipients [9] SEQUENCE OF MMSParty OPTIONAL,
+ messageClass [10] MMSMessageClass OPTIONAL,
+ subject [11] MMSSubject OPTIONAL,
+ priority [12] MMSPriority OPTIONAL,
+ deliveryTime [13] Timestamp OPTIONAL,
+ readReport [14] BOOLEAN OPTIONAL,
+ messageSize [15] INTEGER OPTIONAL,
+ replyCharging [16] MMSReplyCharging OPTIONAL,
+ previouslySentBy [17] MMSPreviouslySentBy OPTIONAL,
+ previouslySentByDateTime [18] Timestamp OPTIONAL,
+ contentType [19] UTF8String OPTIONAL
+}
+
+-- =========
+-- MMS CCPDU
+-- =========
+
+MMSCCPDU ::= SEQUENCE
+{
+ version [1] MMSVersion,
+ transactionID [2] UTF8String,
+ mMSContent [3] OCTET STRING
+}
+
+-- ==============
+-- MMS parameters
+-- ==============
+
+MMSAdaptation ::= SEQUENCE
+{
+ allowed [1] BOOLEAN,
+ overriden [2] BOOLEAN
+}
+
+MMSCancelStatus ::= ENUMERATED
+{
+ cancelRequestSuccessfullyReceived(1),
+ cancelRequestCorrupted(2)
+}
+
+MMSContentClass ::= ENUMERATED
+{
+ text(1),
+ imageBasic(2),
+ imageRich(3),
+ videoBasic(4),
+ videoRich(5),
+ megaPixel(6),
+ contentBasic(7),
+ contentRich(8)
+}
+
+MMSContentType ::= UTF8String
+
+MMSDeleteResponseStatus ::= ENUMERATED
+{
+ ok(1),
+ errorUnspecified(2),
+ errorServiceDenied(3),
+ errorMessageFormatCorrupt(4),
+ errorSendingAddressUnresolved(5),
+ errorMessageNotFound(6),
+ errorNetworkProblem(7),
+ errorContentNotAccepted(8),
+ errorUnsupportedMessage(9),
+ errorTransientFailure(10),
+ errorTransientSendingAddressUnresolved(11),
+ errorTransientMessageNotFound(12),
+ errorTransientNetworkProblem(13),
+ errorTransientPartialSuccess(14),
+ errorPermanentFailure(15),
+ errorPermanentServiceDenied(16),
+ errorPermanentMessageFormatCorrupt(17),
+ errorPermanentSendingAddressUnresolved(18),
+ errorPermanentMessageNotFound(19),
+ errorPermanentContentNotAccepted(20),
+ errorPermanentReplyChargingLimitationsNotMet(21),
+ errorPermanentReplyChargingRequestNotAccepted(22),
+ errorPermanentReplyChargingForwardingDenied(23),
+ errorPermanentReplyChargingNotSupported(24),
+ errorPermanentAddressHidingNotSupported(25),
+ errorPermanentLackOfPrepaid(26)
+}
+
+MMSDirection ::= ENUMERATED
+{
+ fromTarget(0),
+ toTarget(1)
+}
+
+MMSElementDescriptor ::= SEQUENCE
+{
+ reference [1] UTF8String,
+ parameter [2] UTF8String OPTIONAL,
+ value [3] UTF8String OPTIONAL
+}
+
+MMSExpiry ::= SEQUENCE
+{
+ expiryPeriod [1] INTEGER,
+ periodFormat [2] MMSPeriodFormat
+}
+
+MMFlags ::= SEQUENCE
+{
+ length [1] INTEGER,
+ flag [2] MMStateFlag,
+ flagString [3] UTF8String
+}
+
+MMSMessageClass ::= ENUMERATED
+{
+ personal(1),
+ advertisement(2),
+ informational(3),
+ auto(4)
+}
+
+MMSParty ::= SEQUENCE
+{
+ mMSPartyIDs [1] SEQUENCE OF MMSPartyID,
+ nonLocalID [2] NonLocalID
+}
+
+MMSPartyID ::= CHOICE
+{
+ e164Number [1] E164Number,
+ emailAddress [2] EmailAddress,
+ iMSI [3] IMSI,
+ iMPU [4] IMPU,
+ iMPI [5] IMPI,
+ sUPI [6] SUPI,
+ gPSI [7] GPSI
+}
+
+MMSPeriodFormat ::= ENUMERATED
+{
+ absolute(1),
+ relative(2)
+}
+
+MMSPreviouslySent ::= SEQUENCE
+{
+ previouslySentByParty [1] MMSParty,
+ sequenceNumber [2] INTEGER,
+ previousSendDateTime [3] Timestamp
+}
+
+MMSPreviouslySentBy ::= SEQUENCE OF MMSPreviouslySent
+
+MMSPriority ::= ENUMERATED
+{
+ low(1),
+ normal(2),
+ high(3)
+}
+
+MMSQuota ::= SEQUENCE
+{
+ quota [1] INTEGER,
+ quotaUnit [2] MMSQuotaUnit
+}
+
+MMSQuotaUnit ::= ENUMERATED
+{
+ numMessages(1),
+ bytes(2)
+}
+
+MMSReadStatus ::= ENUMERATED
+{
+ read(1),
+ deletedWithoutBeingRead(2)
+}
+
+MMSReadStatusText ::= UTF8String
+
+MMSReplyCharging ::= ENUMERATED
+{
+ requested(0),
+ requestedTextOnly(1),
+ accepted(2),
+ acceptedTextOnly(3)
+}
+
+MMSResponseStatus ::= ENUMERATED
+{
+ ok(1),
+ errorUnspecified(2),
+ errorServiceDenied(3),
+ errorMessageFormatCorrupt(4),
+ errorSendingAddressUnresolved(5),
+ errorMessageNotFound(6),
+ errorNetworkProblem(7),
+ errorContentNotAccepted(8),
+ errorUnsupportedMessage(9),
+ errorTransientFailure(10),
+ errorTransientSendingAddressUnresolved(11),
+ errorTransientMessageNotFound(12),
+ errorTransientNetworkProblem(13),
+ errorTransientPartialSuccess(14),
+ errorPermanentFailure(15),
+ errorPermanentServiceDenied(16),
+ errorPermanentMessageFormatCorrupt(17),
+ errorPermanentSendingAddressUnresolved(18),
+ errorPermanentMessageNotFound(19),
+ errorPermanentContentNotAccepted(20),
+ errorPermanentReplyChargingLimitationsNotMet(21),
+ errorPermanentReplyChargingRequestNotAccepted(22),
+ errorPermanentReplyChargingForwardingDenied(23),
+ errorPermanentReplyChargingNotSupported(24),
+ errorPermanentAddressHidingNotSupported(25),
+ errorPermanentLackOfPrepaid(26)
+}
+
+MMSRetrieveStatus ::= ENUMERATED
+{
+ success(1),
+ errorTransientFailure(2),
+ errorTransientMessageNotFound(3),
+ errorTransientNetworkProblem(4),
+ errorPermanentFailure(5),
+ errorPermanentServiceDenied(6),
+ errorPermanentMessageNotFound(7),
+ errorPermanentContentUnsupported(8)
+}
+
+MMSStoreStatus ::= ENUMERATED
+{
+ success(1),
+ errorTransientFailure(2),
+ errorTransientNetworkProblem(3),
+ errorPermanentFailure(4),
+ errorPermanentServiceDenied(5),
+ errorPermanentMessageFormatCorrupt(6),
+ errorPermanentMessageNotFound(7),
+ errorMMBoxFull(8)
+}
+
+MMState ::= ENUMERATED
+{
+ draft(1),
+ sent(2),
+ new(3),
+ retrieved(4),
+ forwarded(5)
+}
+
+MMStateFlag ::= ENUMERATED
+{
+ add(1),
+ remove(2),
+ filter(3)
+}
+
+MMStatus ::= ENUMERATED
+{
+ expired(1),
+ retrieved(2),
+ rejected(3),
+ deferred(4),
+ unrecognized(5),
+ indeterminate(6),
+ forwarded(7),
+ unreachable(8)
+}
+
+MMStatusExtension ::= ENUMERATED
+{
+ rejectionByMMSRecipient(0),
+ rejectionByOtherRS(1)
+}
+
+MMStatusText ::= UTF8String
+
+MMSSubject ::= UTF8String
+
+MMSVersion ::= SEQUENCE
+{
+ majorVersion [1] INTEGER,
+ minorVersion [2] INTEGER
+}
+
+-- ==================
+-- 5G PTC definitions
+-- ==================
+
+PTCRegistration ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCServerURI [2] UTF8String,
+ pTCRegistrationRequest [3] PTCRegistrationRequest,
+ pTCRegistrationOutcome [4] PTCRegistrationOutcome
+}
+
+PTCSessionInitiation ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCServerURI [3] UTF8String,
+ pTCSessionInfo [4] PTCSessionInfo,
+ pTCOriginatingID [5] PTCTargetInformation,
+ pTCParticipants [6] SEQUENCE OF PTCTargetInformation OPTIONAL,
+ pTCParticipantPresenceStatus [7] MultipleParticipantPresenceStatus OPTIONAL,
+ location [8] Location OPTIONAL,
+ pTCBearerCapability [9] UTF8String OPTIONAL,
+ pTCHost [10] PTCTargetInformation OPTIONAL
+}
+
+PTCSessionAbandon ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCSessionInfo [3] PTCSessionInfo,
+ location [4] Location OPTIONAL,
+ pTCAbandonCause [5] INTEGER
+}
+
+PTCSessionStart ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCServerURI [3] UTF8String,
+ pTCSessionInfo [4] PTCSessionInfo,
+ pTCOriginatingID [5] PTCTargetInformation,
+ pTCParticipants [6] SEQUENCE OF PTCTargetInformation OPTIONAL,
+ pTCParticipantPresenceStatus [7] MultipleParticipantPresenceStatus OPTIONAL,
+ location [8] Location OPTIONAL,
+ pTCHost [9] PTCTargetInformation OPTIONAL,
+ pTCBearerCapability [10] UTF8String OPTIONAL
+}
+
+PTCSessionEnd ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCServerURI [3] UTF8String,
+ pTCSessionInfo [4] PTCSessionInfo,
+ pTCParticipants [5] SEQUENCE OF PTCTargetInformation OPTIONAL,
+ location [6] Location OPTIONAL,
+ pTCSessionEndCause [7] PTCSessionEndCause
+}
+
+PTCStartOfInterception ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ preEstSessionID [3] PTCSessionInfo OPTIONAL,
+ pTCOriginatingID [4] PTCTargetInformation,
+ pTCSessionInfo [5] PTCSessionInfo OPTIONAL,
+ pTCHost [6] PTCTargetInformation OPTIONAL,
+ pTCParticipants [7] SEQUENCE OF PTCTargetInformation OPTIONAL,
+ pTCMediaStreamAvail [8] BOOLEAN OPTIONAL,
+ pTCBearerCapability [9] UTF8String OPTIONAL
+}
+
+PTCPreEstablishedSession ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCServerURI [2] UTF8String,
+ rTPSetting [3] RTPSetting,
+ pTCMediaCapability [4] UTF8String,
+ pTCPreEstSessionID [5] PTCSessionInfo,
+ pTCPreEstStatus [6] PTCPreEstStatus,
+ pTCMediaStreamAvail [7] BOOLEAN OPTIONAL,
+ location [8] Location OPTIONAL,
+ pTCFailureCode [9] PTCFailureCode OPTIONAL
+}
+
+PTCInstantPersonalAlert ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCIPAPartyID [2] PTCTargetInformation,
+ pTCIPADirection [3] Direction
+}
+
+PTCPartyJoin ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCSessionInfo [3] PTCSessionInfo,
+ pTCParticipants [4] SEQUENCE OF PTCTargetInformation OPTIONAL,
+ pTCParticipantPresenceStatus [5] MultipleParticipantPresenceStatus OPTIONAL,
+ pTCMediaStreamAvail [6] BOOLEAN OPTIONAL,
+ pTCBearerCapability [7] UTF8String OPTIONAL
+}
+
+PTCPartyDrop ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCSessionInfo [3] PTCSessionInfo,
+ pTCPartyDrop [4] PTCTargetInformation,
+ pTCParticipantPresenceStatus [5] PTCParticipantPresenceStatus OPTIONAL
+}
+
+PTCPartyHold ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCSessionInfo [3] PTCSessionInfo,
+ pTCParticipants [4] SEQUENCE OF PTCTargetInformation OPTIONAL,
+ pTCHoldID [5] SEQUENCE OF PTCTargetInformation,
+ pTCHoldRetrieveInd [6] BOOLEAN
+}
+
+PTCMediaModification ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCSessionInfo [3] PTCSessionInfo,
+ pTCMediaStreamAvail [4] BOOLEAN OPTIONAL,
+ pTCBearerCapability [5] UTF8String
+}
+
+PTCGroupAdvertisement ::=SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCIDList [3] SEQUENCE OF PTCTargetInformation OPTIONAL,
+ pTCGroupAuthRule [4] PTCGroupAuthRule OPTIONAL,
+ pTCGroupAdSender [5] PTCTargetInformation,
+ pTCGroupNickname [6] UTF8String OPTIONAL
+}
+
+PTCFloorControl ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCSessioninfo [3] PTCSessionInfo,
+ pTCFloorActivity [4] SEQUENCE OF PTCFloorActivity,
+ pTCFloorSpeakerID [5] PTCTargetInformation OPTIONAL,
+ pTCMaxTBTime [6] INTEGER OPTIONAL,
+ pTCQueuedFloorControl [7] BOOLEAN OPTIONAL,
+ pTCQueuedPosition [8] INTEGER OPTIONAL,
+ pTCTalkBurstPriority [9] PTCTBPriorityLevel OPTIONAL,
+ pTCTalkBurstReason [10] PTCTBReasonCode OPTIONAL
+}
+
+PTCTargetPresence ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCTargetPresenceStatus [2] PTCParticipantPresenceStatus
+}
+
+PTCParticipantPresence ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCParticipantPresenceStatus [2] PTCParticipantPresenceStatus
+}
+
+PTCListManagement ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCListManagementType [3] PTCListManagementType OPTIONAL,
+ pTCListManagementAction [4] PTCListManagementAction OPTIONAL,
+ pTCListManagementFailure [5] PTCListManagementFailure OPTIONAL,
+ pTCContactID [6] PTCTargetInformation OPTIONAL,
+ pTCIDList [7] SEQUENCE OF PTCIDList OPTIONAL,
+ pTCHost [8] PTCTargetInformation OPTIONAL
+}
+
+PTCAccessPolicy ::= SEQUENCE
+{
+ pTCTargetInformation [1] PTCTargetInformation,
+ pTCDirection [2] Direction,
+ pTCAccessPolicyType [3] PTCAccessPolicyType OPTIONAL,
+ pTCUserAccessPolicy [4] PTCUserAccessPolicy OPTIONAL,
+ pTCGroupAuthRule [5] PTCGroupAuthRule OPTIONAL,
+ pTCContactID [6] PTCTargetInformation OPTIONAL,
+ pTCAccessPolicyFailure [7] PTCAccessPolicyFailure OPTIONAL
+}
+
+
+-- =================
+-- 5G PTC parameters
+-- =================
+
+PTCRegistrationRequest ::= ENUMERATED
+{
+ register(1),
+ reRegister(2),
+ deRegister(3)
+}
+
+PTCRegistrationOutcome ::= ENUMERATED
+{
+ success(1),
+ failure(2)
+}
+
+PTCSessionEndCause ::= ENUMERATED
+{
+ initiaterLeavesSession(1),
+ definedParticipantLeaves(2),
+ numberOfParticipants(3),
+ sessionTimerExpired(4),
+ pTCSpeechInactive(5),
+ allMediaTypesInactive(6)
+}
+
+PTCTargetInformation ::= SEQUENCE
+{
+ identifiers [1] SEQUENCE SIZE(1..MAX) OF PTCIdentifiers
+}
+
+PTCIdentifiers ::= CHOICE
+{
+ mCPTTID [1] UTF8String,
+ instanceIdentifierURN [2] UTF8String,
+ pTCChatGroupID [3] PTCChatGroupID,
+ iMPU [4] IMPU,
+ iMPI [5] IMPI
+}
+
+PTCSessionInfo ::= SEQUENCE
+{
+ pTCSessionURI [1] UTF8String,
+ pTCSessionType [2] PTCSessionType
+}
+
+PTCSessionType ::= ENUMERATED
+{
+ ondemand(1),
+ preEstablished(2),
+ adhoc(3),
+ prearranged(4),
+ groupSession(5)
+}
+
+MultipleParticipantPresenceStatus ::= SEQUENCE OF PTCParticipantPresenceStatus
+
+PTCParticipantPresenceStatus ::= SEQUENCE
+{
+ presenceID [1] PTCTargetInformation,
+ presenceType [2] PTCPresenceType,
+ presenceStatus [3] BOOLEAN
+}
+
+PTCPresenceType ::= ENUMERATED
+{
+ pTCClient(1),
+ pTCGroup(2)
+}
+
+PTCPreEstStatus ::= ENUMERATED
+{
+ established(1),
+ modified(2),
+ released(3)
+}
+
+RTPSetting ::= SEQUENCE
+{
+ iPAddress [1] IPAddress,
+ portNumber [2] PortNumber
+}
+
+PTCIDList ::= SEQUENCE
+{
+ pTCPartyID [1] PTCTargetInformation,
+ pTCChatGroupID [2] PTCChatGroupID
+}
+
+PTCChatGroupID ::= SEQUENCE
+{
+ groupIdentity [1] UTF8String
+}
+
+PTCFloorActivity ::= ENUMERATED
+{
+ tBCPRequest(1),
+ tBCPGranted(2),
+ tBCPDeny(3),
+ tBCPIdle(4),
+ tBCPTaken(5),
+ tBCPRevoke(6),
+ tBCPQueued(7),
+ tBCPRelease(8)
+}
+
+PTCTBPriorityLevel ::= ENUMERATED
+{
+ preEmptive(1),
+ highPriority(2),
+ normalPriority(3),
+ listenOnly(4)
+}
+
+PTCTBReasonCode ::= ENUMERATED
+{
+ noQueuingAllowed(1),
+ oneParticipantSession(2),
+ listenOnly(3),
+ exceededMaxDuration(4),
+ tBPrevented(5)
+}
+
+PTCListManagementType ::= ENUMERATED
+{
+ contactListManagementAttempt(1),
+ groupListManagementAttempt(2),
+ contactListManagementResult(3),
+ groupListManagementResult(4),
+ requestUnsuccessful(5)
+}
+
+
+PTCListManagementAction ::= ENUMERATED
+{
+ create(1),
+ modify(2),
+ retrieve(3),
+ delete(4),
+ notify(5)
+}
+
+PTCAccessPolicyType ::= ENUMERATED
+{
+ pTCUserAccessPolicyAttempt(1),
+ groupAuthorizationRulesAttempt(2),
+ pTCUserAccessPolicyQuery(3),
+ groupAuthorizationRulesQuery(4),
+ pTCUserAccessPolicyResult(5),
+ groupAuthorizationRulesResult(6),
+ requestUnsuccessful(7)
+}
+
+PTCUserAccessPolicy ::= ENUMERATED
+{
+ allowIncomingPTCSessionRequest(1),
+ blockIncomingPTCSessionRequest(2),
+ allowAutoAnswerMode(3),
+ allowOverrideManualAnswerMode(4)
+}
+
+PTCGroupAuthRule ::= ENUMERATED
+{
+ allowInitiatingPTCSession(1),
+ blockInitiatingPTCSession(2),
+ allowJoiningPTCSession(3),
+ blockJoiningPTCSession(4),
+ allowAddParticipants(5),
+ blockAddParticipants(6),
+ allowSubscriptionPTCSessionState(7),
+ blockSubscriptionPTCSessionState(8),
+ allowAnonymity(9),
+ forbidAnonymity(10)
+}
+
+PTCFailureCode ::= ENUMERATED
+{
+ sessionCannotBeEstablished(1),
+ sessionCannotBeModified(2)
+}
+
+PTCListManagementFailure ::= ENUMERATED
+{
+ requestUnsuccessful(1),
+ requestUnknown(2)
+}
+
+PTCAccessPolicyFailure ::= ENUMERATED
+{
+ requestUnsuccessful(1),
+ requestUnknown(2)
+}
+
+-- ===================
+-- 5G LALS definitions
+-- ===================
+
+LALSReport ::= SEQUENCE
+{
+ sUPI [1] SUPI OPTIONAL,
+-- pEI [2] PEI OPTIONAL, deprecated in Release-16, do not re-use this tag number
+ gPSI [3] GPSI OPTIONAL,
+ location [4] Location OPTIONAL,
+ iMPU [5] IMPU OPTIONAL,
+ iMSI [7] IMSI OPTIONAL,
+ mSISDN [8] MSISDN OPTIONAL
+}
+
+-- =====================
+-- PDHR/PDSR definitions
+-- =====================
+
+PDHeaderReport ::= SEQUENCE
+{
+ pDUSessionID [1] PDUSessionID,
+ sourceIPAddress [2] IPAddress,
+ sourcePort [3] PortNumber OPTIONAL,
+ destinationIPAddress [4] IPAddress,
+ destinationPort [5] PortNumber OPTIONAL,
+ nextLayerProtocol [6] NextLayerProtocol,
+ iPv6flowLabel [7] IPv6FlowLabel OPTIONAL,
+ direction [8] Direction,
+ packetSize [9] INTEGER
+}
+
+PDSummaryReport ::= SEQUENCE
+{
+ pDUSessionID [1] PDUSessionID,
+ sourceIPAddress [2] IPAddress,
+ sourcePort [3] PortNumber OPTIONAL,
+ destinationIPAddress [4] IPAddress,
+ destinationPort [5] PortNumber OPTIONAL,
+ nextLayerProtocol [6] NextLayerProtocol,
+ iPv6flowLabel [7] IPv6FlowLabel OPTIONAL,
+ direction [8] Direction,
+ pDSRSummaryTrigger [9] PDSRSummaryTrigger,
+ firstPacketTimestamp [10] Timestamp,
+ lastPacketTimestamp [11] Timestamp,
+ packetCount [12] INTEGER,
+ byteCount [13] INTEGER
+}
+
+-- ====================
+-- PDHR/PDSR parameters
+-- ====================
+
+PDSRSummaryTrigger ::= ENUMERATED
+{
+ timerExpiry(1),
+ packetCount(2),
+ byteCount(3),
+ startOfFlow(4),
+ endOfFlow(5)
+}
+
+-- ==================================
+-- Identifier Association definitions
+-- ==================================
+
+AMFIdentifierAssocation ::= SEQUENCE
+{
+ sUPI [1] SUPI,
+ sUCI [2] SUCI OPTIONAL,
+ pEI [3] PEI OPTIONAL,
+ gPSI [4] GPSI OPTIONAL,
+ gUTI [5] FiveGGUTI,
+ location [6] Location,
+ fiveGSTAIList [7] TAIList OPTIONAL
+}
+
+MMEIdentifierAssocation ::= SEQUENCE
+{
+ iMSI [1] IMSI,
+ iMEI [2] IMEI OPTIONAL,
+ mSISDN [3] MSISDN OPTIONAL,
+ gUTI [4] GUTI,
+ location [5] Location,
+ tAIList [6] TAIList OPTIONAL
+}
+
+-- =================================
+-- Identifier Association parameters
+-- =================================
+
+
+MMEGroupID ::= OCTET STRING (SIZE(2))
+
+MMECode ::= OCTET STRING (SIZE(1))
+
+TMSI ::= OCTET STRING (SIZE(4))
+
+-- ===================
+-- EPS MME definitions
+-- ===================
+
+MMEAttach ::= SEQUENCE
+{
+ attachType [1] EPSAttachType,
+ attachResult [2] EPSAttachResult,
+ iMSI [3] IMSI,
+ iMEI [4] IMEI OPTIONAL,
+ mSISDN [5] MSISDN OPTIONAL,
+ gUTI [6] GUTI OPTIONAL,
+ location [7] Location OPTIONAL,
+ ePSTAIList [8] TAIList OPTIONAL,
+ sMSServiceStatus [9] EPSSMSServiceStatus OPTIONAL,
+ oldGUTI [10] GUTI OPTIONAL,
+ eMM5GRegStatus [11] EMM5GMMStatus OPTIONAL
+}
+
+MMEDetach ::= SEQUENCE
+{
+ detachDirection [1] MMEDirection,
+ detachType [2] EPSDetachType,
+ iMSI [3] IMSI,
+ iMEI [4] IMEI OPTIONAL,
+ mSISDN [5] MSISDN OPTIONAL,
+ gUTI [6] GUTI OPTIONAL,
+ cause [7] EMMCause OPTIONAL,
+ location [8] Location OPTIONAL,
+ switchOffIndicator [9] SwitchOffIndicator OPTIONAL
+}
+
+MMELocationUpdate ::= SEQUENCE
+{
+ iMSI [1] IMSI,
+ iMEI [2] IMEI OPTIONAL,
+ mSISDN [3] MSISDN OPTIONAL,
+ gUTI [4] GUTI OPTIONAL,
+ location [5] Location OPTIONAL,
+ oldGUTI [6] GUTI OPTIONAL,
+ sMSServiceStatus [7] EPSSMSServiceStatus OPTIONAL
+}
+
+MMEStartOfInterceptionWithEPSAttachedUE ::= SEQUENCE
+{
+ attachType [1] EPSAttachType,
+ attachResult [2] EPSAttachResult,
+ iMSI [3] IMSI,
+ iMEI [4] IMEI OPTIONAL,
+ mSISDN [5] MSISDN OPTIONAL,
+ gUTI [6] GUTI OPTIONAL,
+ location [7] Location OPTIONAL,
+ ePSTAIList [9] TAIList OPTIONAL,
+ sMSServiceStatus [10] EPSSMSServiceStatus OPTIONAL,
+ eMM5GRegStatus [12] EMM5GMMStatus OPTIONAL
+}
+
+MMEUnsuccessfulProcedure ::= SEQUENCE
+{
+ failedProcedureType [1] MMEFailedProcedureType,
+ failureCause [2] MMEFailureCause,
+ iMSI [3] IMSI OPTIONAL,
+ iMEI [4] IMEI OPTIONAL,
+ mSISDN [5] MSISDN OPTIONAL,
+ gUTI [6] GUTI OPTIONAL,
+ location [7] Location OPTIONAL
+}
+
+-- ==================
+-- EPS MME parameters
+-- ==================
+
+EMMCause ::= INTEGER (0..255)
+
+ESMCause ::= INTEGER (0..255)
+
+EPSAttachType ::= ENUMERATED
+{
+ ePSAttach(1),
+ combinedEPSIMSIAttach(2),
+ ePSRLOSAttach(3),
+ ePSEmergencyAttach(4),
+ reserved(5)
+}
+
+EPSAttachResult ::= ENUMERATED
+{
+ ePSOnly(1),
+ combinedEPSIMSI(2)
+}
+
+
+EPSDetachType ::= ENUMERATED
+{
+ ePSDetach(1),
+ iMSIDetach(2),
+ combinedEPSIMSIDetach(3),
+ reAttachRequired(4),
+ reAttachNotRequired(5),
+ reserved(6)
+}
+
+EPSSMSServiceStatus ::= ENUMERATED
+{
+ sMSServicesNotAvailable(1),
+ sMSServicesNotAvailableInThisPLMN(2),
+ networkFailure(3),
+ congestion(4)
+}
+
+MMEDirection ::= ENUMERATED
+{
+ networkInitiated(1),
+ uEInitiated(2)
+}
+
+MMEFailedProcedureType ::= ENUMERATED
+{
+ attachReject(1),
+ authenticationReject(2),
+ securityModeReject(3),
+ serviceReject(4),
+ trackingAreaUpdateReject(5),
+ activateDedicatedEPSBearerContextReject(6),
+ activateDefaultEPSBearerContextReject(7),
+ bearerResourceAllocationReject(8),
+ bearerResourceModificationReject(9),
+ modifyEPSBearerContectReject(10),
+ pDNConnectivityReject(11),
+ pDNDisconnectReject(12)
+}
+
+MMEFailureCause ::= CHOICE
+{
+ eMMCause [1] EMMCause,
+ eSMCause [2] ESMCause
+}
+
+-- ===========================
+-- LI Notification definitions
+-- ===========================
+
+LINotification ::= SEQUENCE
+{
+ notificationType [1] LINotificationType,
+ appliedTargetID [2] TargetIdentifier OPTIONAL,
+ appliedDeliveryInformation [3] SEQUENCE OF LIAppliedDeliveryInformation OPTIONAL,
+ appliedStartTime [4] Timestamp OPTIONAL,
+ appliedEndTime [5] Timestamp OPTIONAL
+}
+
+-- ==========================
+-- LI Notification parameters
+-- ==========================
+
+LINotificationType ::= ENUMERATED
+{
+ activation(1),
+ deactivation(2),
+ modification(3)
+}
+
+LIAppliedDeliveryInformation ::= SEQUENCE
+{
+ hI2DeliveryIPAddress [1] IPAddress OPTIONAL,
+ hI2DeliveryPortNumber [2] PortNumber OPTIONAL,
+ hI3DeliveryIPAddress [3] IPAddress OPTIONAL,
+ hI3DeliveryPortNumber [4] PortNumber OPTIONAL
+}
+
+-- ===============
+-- MDF definitions
+-- ===============
+
+MDFCellSiteReport ::= SEQUENCE OF CellInformation
+
+-- ==============================
+-- 5G EPS Interworking Parameters
+-- ==============================
+
+
+EMM5GMMStatus ::= SEQUENCE
+{
+ eMMRegStatus [1] EMMRegStatus OPTIONAL,
+ fiveGMMStatus [2] FiveGMMStatus OPTIONAL
+}
+
+
+EPS5GGUTI ::= CHOICE
+{
+ gUTI [1] GUTI,
+ fiveGGUTI [2] FiveGGUTI
+}
+
+EMMRegStatus ::= ENUMERATED
+{
+ uEEMMRegistered(1),
+ uENotEMMRegistered(2)
+}
+
+FiveGMMStatus ::= ENUMERATED
+{
+ uE5GMMRegistered(1),
+ uENot5GMMRegistered(2)
+}
+
+-- =================
+-- Common Parameters
+-- =================
+
+AccessType ::= ENUMERATED
+{
+ threeGPPAccess(1),
+ nonThreeGPPAccess(2),
+ threeGPPandNonThreeGPPAccess(3)
+}
+
+Direction ::= ENUMERATED
+{
+ fromTarget(1),
+ toTarget(2)
+}
+
+DNN ::= UTF8String
+
+E164Number ::= NumericString (SIZE(1..15))
+
+EmailAddress ::= UTF8String
+
+FiveGGUTI ::= SEQUENCE
+{
+ mCC [1] MCC,
+ mNC [2] MNC,
+ aMFRegionID [3] AMFRegionID,
+ aMFSetID [4] AMFSetID,
+ aMFPointer [5] AMFPointer,
+ fiveGTMSI [6] FiveGTMSI
+}
+
+FiveGMMCause ::= INTEGER (0..255)
+
+FiveGSMRequestType ::= ENUMERATED
+{
+ initialRequest(1),
+ existingPDUSession(2),
+ initialEmergencyRequest(3),
+ existingEmergencyPDUSession(4),
+ modificationRequest(5),
+ reserved(6),
+ mAPDURequest(7)
+}
+
+FiveGSMCause ::= INTEGER (0..255)
+
+FiveGTMSI ::= INTEGER (0..4294967295)
+
+FTEID ::= SEQUENCE
+{
+ tEID [1] INTEGER (0.. 4294967295),
+ iPv4Address [2] IPv4Address OPTIONAL,
+ iPv6Address [3] IPv6Address OPTIONAL
+}
+
+GPSI ::= CHOICE
+{
+ mSISDN [1] MSISDN,
+ nAI [2] NAI
+}
+
+GUAMI ::= SEQUENCE
+{
+ aMFID [1] AMFID,
+ pLMNID [2] PLMNID
+}
+
+GUMMEI ::= SEQUENCE
+{
+ mMEID [1] MMEID,
+ mCC [2] MCC,
+ mNC [3] MNC
+}
+
+GUTI ::= SEQUENCE
+{
+ mCC [1] MCC,
+ mNC [2] MNC,
+ mMEGroupID [3] MMEGroupID,
+ mMECode [4] MMECode,
+ mTMSI [5] TMSI
+}
+
+HomeNetworkPublicKeyID ::= OCTET STRING
+
+HSMFURI ::= UTF8String
+
+IMEI ::= NumericString (SIZE(14))
+
+IMEISV ::= NumericString (SIZE(16))
+
+IMPI ::= NAI
+
+IMPU ::= CHOICE
+{
+ sIPURI [1] SIPURI,
+ tELURI [2] TELURI
+}
+
+IMSI ::= NumericString (SIZE(6..15))
+
+Initiator ::= ENUMERATED
+{
+ uE(1),
+ network(2),
+ unknown(3)
+}
+
+IPAddress ::= CHOICE
+{
+ iPv4Address [1] IPv4Address,
+ iPv6Address [2] IPv6Address
+}
+
+IPv4Address ::= OCTET STRING (SIZE(4))
+
+IPv6Address ::= OCTET STRING (SIZE(16))
+
+IPv6FlowLabel ::= INTEGER(0..1048575)
+
+MACAddress ::= OCTET STRING (SIZE(6))
+
+MCC ::= NumericString (SIZE(3))
+
+MNC ::= NumericString (SIZE(2..3))
+
+MMEID ::= SEQUENCE
+{
+ mMEGI [1] MMEGI,
+ mMEC [2] MMEC
+}
+
+MMEC ::= NumericString
+
+MMEGI ::= NumericString
+
+MSISDN ::= NumericString (SIZE(1..15))
+
+NAI ::= UTF8String
+
+NextLayerProtocol ::= INTEGER(0..255)
+
+NonLocalID ::= ENUMERATED
+{
+ local(1),
+ nonLocal(2)
+}
+
+NSSAI ::= SEQUENCE OF SNSSAI
+
+PLMNID ::= SEQUENCE
+{
+ mCC [1] MCC,
+ mNC [2] MNC
+}
+
+PDUSessionID ::= INTEGER (0..255)
+
+PDUSessionType ::= ENUMERATED
+{
+ iPv4(1),
+ iPv6(2),
+ iPv4v6(3),
+ unstructured(4),
+ ethernet(5)
+}
+
+PEI ::= CHOICE
+{
+ iMEI [1] IMEI,
+ iMEISV [2] IMEISV
+}
+
+PortNumber ::= INTEGER(0..65535)
+
+ProtectionSchemeID ::= INTEGER (0..15)
+
+RATType ::= ENUMERATED
+{
+ nR(1),
+ eUTRA(2),
+ wLAN(3),
+ virtual(4),
+ nBIOT(5),
+ wireline(6),
+ wirelineCable(7),
+ wirelineBBF(8),
+ lTEM(9),
+ nRU(10),
+ eUTRAU(11),
+ trustedN3GA(12),
+ trustedWLAN(13),
+ uTRA(14),
+ gERA(15)
+}
+
+RejectedNSSAI ::= SEQUENCE OF RejectedSNSSAI
+
+RejectedSNSSAI ::= SEQUENCE
+{
+ causeValue [1] RejectedSliceCauseValue,
+ sNSSAI [2] SNSSAI
+}
+
+RejectedSliceCauseValue ::= INTEGER (0..255)
+
+ReRegRequiredIndicator ::= ENUMERATED
+{
+ reRegistrationRequired(1),
+ reRegistrationNotRequired(2)
+}
+
+RoutingIndicator ::= INTEGER (0..9999)
+
+SchemeOutput ::= OCTET STRING
+
+SIPURI ::= UTF8String
+
+Slice ::= SEQUENCE
+{
+ allowedNSSAI [1] NSSAI OPTIONAL,
+ configuredNSSAI [2] NSSAI OPTIONAL,
+ rejectedNSSAI [3] RejectedNSSAI OPTIONAL
+}
+
+SMPDUDNRequest ::= OCTET STRING
+
+-- TS 24.501 [13], clause 9.11.3.6.1
+SMSOverNASIndicator ::= ENUMERATED
+{
+ sMSOverNASNotAllowed(1),
+ sMSOverNASAllowed(2)
+}
+
+SNSSAI ::= SEQUENCE
+{
+ sliceServiceType [1] INTEGER (0..255),
+ sliceDifferentiator [2] OCTET STRING (SIZE(3)) OPTIONAL
+}
+
+SUCI ::= SEQUENCE
+{
+ mCC [1] MCC,
+ mNC [2] MNC,
+ routingIndicator [3] RoutingIndicator,
+ protectionSchemeID [4] ProtectionSchemeID,
+ homeNetworkPublicKeyID [5] HomeNetworkPublicKeyID,
+ schemeOutput [6] SchemeOutput
+}
+
+SUPI ::= CHOICE
+{
+ iMSI [1] IMSI,
+ nAI [2] NAI
+}
+
+SUPIUnauthenticatedIndication ::= BOOLEAN
+
+SwitchOffIndicator ::= ENUMERATED
+{
+ normalDetach(1),
+ switchOff(2)
+}
+
+TargetIdentifier ::= CHOICE
+{
+ sUPI [1] SUPI,
+ iMSI [2] IMSI,
+ pEI [3] PEI,
+ iMEI [4] IMEI,
+ gPSI [5] GPSI,
+ mSISDN [6] MSISDN,
+ nAI [7] NAI,
+ iPv4Address [8] IPv4Address,
+ iPv6Address [9] IPv6Address,
+ ethernetAddress [10] MACAddress
+}
+
+TargetIdentifierProvenance ::= ENUMERATED
+{
+ lEAProvided(1),
+ observed(2),
+ matchedOn(3),
+ other(4)
+}
+
+TELURI ::= UTF8String
+
+Timestamp ::= GeneralizedTime
+
+UEEndpointAddress ::= CHOICE
+{
+ iPv4Address [1] IPv4Address,
+ iPv6Address [2] IPv6Address,
+ ethernetAddress [3] MACAddress
+}
+
+-- ===================
+-- Location parameters
+-- ===================
+
+Location ::= SEQUENCE
+{
+ locationInfo [1] LocationInfo OPTIONAL,
+ positioningInfo [2] PositioningInfo OPTIONAL,
+ locationPresenceReport [3] LocationPresenceReport OPTIONAL,
+ ePSLocationInfo [4] EPSLocationInfo OPTIONAL
+}
+
+CellSiteInformation ::= SEQUENCE
+{
+ geographicalCoordinates [1] GeographicalCoordinates,
+ azimuth [2] INTEGER (0..359) OPTIONAL,
+ operatorSpecificInformation [3] UTF8String OPTIONAL
+}
+
+-- TS 29.518 [22], clause 6.4.6.2.6
+LocationInfo ::= SEQUENCE
+{
+ userLocation [1] UserLocation OPTIONAL,
+ currentLoc [2] BOOLEAN OPTIONAL,
+ geoInfo [3] GeographicArea OPTIONAL,
+ rATType [4] RATType OPTIONAL,
+ timeZone [5] TimeZone OPTIONAL,
+ additionalCellIDs [6] SEQUENCE OF CellInformation OPTIONAL
+}
+
+-- TS 29.571 [17], clause 5.4.4.7
+UserLocation ::= SEQUENCE
+{
+ eUTRALocation [1] EUTRALocation OPTIONAL,
+ nRLocation [2] NRLocation OPTIONAL,
+ n3GALocation [3] N3GALocation OPTIONAL
+}
+
+-- TS 29.571 [17], clause 5.4.4.8
+EUTRALocation ::= SEQUENCE
+{
+ tAI [1] TAI,
+ eCGI [2] ECGI,
+ ageOfLocationInfo [3] INTEGER OPTIONAL,
+ uELocationTimestamp [4] Timestamp OPTIONAL,
+ geographicalInformation [5] UTF8String OPTIONAL,
+ geodeticInformation [6] UTF8String OPTIONAL,
+ globalNGENbID [7] GlobalRANNodeID OPTIONAL,
+ cellSiteInformation [8] CellSiteInformation OPTIONAL,
+ globalENbID [9] GlobalRANNodeID OPTIONAL
+}
+
+-- TS 29.571 [17], clause 5.4.4.9
+NRLocation ::= SEQUENCE
+{
+ tAI [1] TAI,
+ nCGI [2] NCGI,
+ ageOfLocationInfo [3] INTEGER OPTIONAL,
+ uELocationTimestamp [4] Timestamp OPTIONAL,
+ geographicalInformation [5] UTF8String OPTIONAL,
+ geodeticInformation [6] UTF8String OPTIONAL,
+ globalGNbID [7] GlobalRANNodeID OPTIONAL,
+ cellSiteInformation [8] CellSiteInformation OPTIONAL
+}
+
+-- TS 29.571 [17], clause 5.4.4.10
+N3GALocation ::= SEQUENCE
+{
+ tAI [1] TAI OPTIONAL,
+ n3IWFID [2] N3IWFIDNGAP OPTIONAL,
+ uEIPAddr [3] IPAddr OPTIONAL,
+ portNumber [4] INTEGER OPTIONAL,
+ tNAPID [5] TNAPID OPTIONAL,
+ tWAPID [6] TWAPID OPTIONAL,
+ hFCNodeID [7] HFCNodeID OPTIONAL,
+ gLI [8] GLI OPTIONAL,
+ w5GBANLineType [9] W5GBANLineType OPTIONAL,
+ gCI [10] GCI OPTIONAL
+}
+
+-- TS 38.413 [23], clause 9.3.2.4
+IPAddr ::= SEQUENCE
+{
+ iPv4Addr [1] IPv4Address OPTIONAL,
+ iPv6Addr [2] IPv6Address OPTIONAL
+}
+
+-- TS 29.571 [17], clause 5.4.4.28
+GlobalRANNodeID ::= SEQUENCE
+{
+ pLMNID [1] PLMNID,
+ aNNodeID [2] ANNodeID,
+ nID [3] NID OPTIONAL
+}
+
+ANNodeID ::= CHOICE
+{
+ n3IWFID [1] N3IWFIDSBI,
+ gNbID [2] GNbID,
+ nGENbID [3] NGENbID,
+ eNbID [4] ENbID,
+ wAGFID [5] WAGFID,
+ tNGFID [6] TNGFID
+}
+
+-- TS 38.413 [23], clause 9.3.1.6
+GNbID ::= BIT STRING(SIZE(22..32))
+
+-- TS 29.571 [17], clause 5.4.4.4
+TAI ::= SEQUENCE
+{
+ pLMNID [1] PLMNID,
+ tAC [2] TAC,
+ nID [3] NID OPTIONAL
+}
+
+CGI ::= SEQUENCE
+{
+ lAI [1] LAI,
+ cellID [2] CellID
+}
+
+LAI ::= SEQUENCE
+{
+ pLMNID [1] PLMNID,
+ lAC [2] LAC
+}
+
+LAC ::= OCTET STRING (SIZE(2))
+
+CellID ::= OCTET STRING (SIZE(2))
+
+SAI ::= SEQUENCE
+{
+ pLMNID [1] PLMNID,
+ lAC [2] LAC,
+ sAC [3] SAC
+}
+
+SAC ::= OCTET STRING (SIZE(2))
+
+-- TS 29.571 [17], clause 5.4.4.5
+ECGI ::= SEQUENCE
+{
+ pLMNID [1] PLMNID,
+ eUTRACellID [2] EUTRACellID,
+ nID [3] NID OPTIONAL
+}
+
+TAIList ::= SEQUENCE OF TAI
+
+-- TS 29.571 [17], clause 5.4.4.6
+NCGI ::= SEQUENCE
+{
+ pLMNID [1] PLMNID,
+ nRCellID [2] NRCellID,
+ nID [3] NID OPTIONAL
+}
+
+RANCGI ::= CHOICE
+{
+ eCGI [1] ECGI,
+ nCGI [2] NCGI
+}
+
+CellInformation ::= SEQUENCE
+{
+ rANCGI [1] RANCGI,
+ cellSiteinformation [2] CellSiteInformation OPTIONAL,
+ timeOfLocation [3] Timestamp OPTIONAL
+}
+
+-- TS 38.413 [23], clause 9.3.1.57
+N3IWFIDNGAP ::= BIT STRING (SIZE(16))
+
+-- TS 29.571 [17], clause 5.4.4.28
+N3IWFIDSBI ::= UTF8String
+
+-- TS 29.571 [17], clause 5.4.4.28 and table 5.4.2-1
+TNGFID ::= UTF8String
+
+-- TS 29.571 [17], clause 5.4.4.28 and table 5.4.2-1
+WAGFID ::= UTF8String
+
+-- TS 29.571 [17], clause 5.4.4.62
+TNAPID ::= SEQUENCE
+{
+ sSID [1] SSID OPTIONAL,
+ bSSID [2] BSSID OPTIONAL,
+ civicAddress [3] CivicAddressBytes OPTIONAL
+}
+
+-- TS 29.571 [17], clause 5.4.4.64
+TWAPID ::= SEQUENCE
+{
+ sSID [1] SSID OPTIONAL,
+ bSSID [2] BSSID OPTIONAL,
+ civicAddress [3] CivicAddressBytes OPTIONAL
+}
+
+-- TS 29.571 [17], clause 5.4.4.62 and clause 5.4.4.64
+SSID ::= UTF8String
+
+-- TS 29.571 [17], clause 5.4.4.62 and clause 5.4.4.64
+BSSID ::= UTF8String
+
+-- TS 29.571 [17], clause 5.4.4.36 and table 5.4.2-1
+HFCNodeID ::= UTF8String
+
+-- TS 29.571 [17], clause 5.4.4.10 and table 5.4.2-1
+-- Contains the original binary data i.e. value of the YAML field after base64 encoding is removed
+GLI ::= OCTET STRING (SIZE(0..150))
+
+-- TS 29.571 [17], clause 5.4.4.10 and table 5.4.2-1
+GCI ::= UTF8String
+
+-- TS 29.571 [17], clause 5.4.4.10 and clause 5.4.3.33
+W5GBANLineType ::= ENUMERATED
+{
+ dSL(1),
+ pON(2)
+}
+
+-- TS 29.571 [17], table 5.4.2-1
+TAC ::= OCTET STRING (SIZE(2..3))
+
+-- TS 38.413 [23], clause 9.3.1.9
+EUTRACellID ::= BIT STRING (SIZE(28))
+
+-- TS 38.413 [23], clause 9.3.1.7
+NRCellID ::= BIT STRING (SIZE(36))
+
+-- TS 38.413 [23], clause 9.3.1.8
+NGENbID ::= CHOICE
+{
+ macroNGENbID [1] BIT STRING (SIZE(20)),
+ shortMacroNGENbID [2] BIT STRING (SIZE(18)),
+ longMacroNGENbID [3] BIT STRING (SIZE(21))
+}
+-- TS 23.003 [19], clause 12.7.1 encoded as per TS 29.571 [17], clause 5.4.2
+NID ::= UTF8String (SIZE(11))
+
+-- TS 36.413 [38], clause 9.2.1.37
+ENbID ::= CHOICE
+{
+ macroENbID [1] BIT STRING (SIZE(20)),
+ homeENbID [2] BIT STRING (SIZE(28)),
+ shortMacroENbID [3] BIT STRING (SIZE(18)),
+ longMacroENbID [4] BIT STRING (SIZE(21))
+}
+
+
+-- TS 29.518 [22], clause 6.4.6.2.3
+PositioningInfo ::= SEQUENCE
+{
+ positionInfo [1] LocationData OPTIONAL,
+ rawMLPResponse [2] RawMLPResponse OPTIONAL
+}
+
+RawMLPResponse ::= CHOICE
+{
+ -- The following parameter contains a copy of unparsed XML code of the
+ -- MLP response message, i.e. the entire XML document containing
+ -- a <slia> (described in OMA-TS-MLP-V3_5-20181211-C [20], clause 5.2.3.2.2) or
+ -- a <slirep> (described in OMA-TS-MLP-V3_5-20181211-C [20], clause 5.2.3.2.3) MLP message.
+ mLPPositionData [1] UTF8String,
+ -- OMA MLP result id, defined in OMA-TS-MLP-V3_5-20181211-C [20], Clause 5.4
+ mLPErrorCode [2] INTEGER (1..699)
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.3
+LocationData ::= SEQUENCE
+{
+ locationEstimate [1] GeographicArea,
+ accuracyFulfilmentIndicator [2] AccuracyFulfilmentIndicator OPTIONAL,
+ ageOfLocationEstimate [3] AgeOfLocationEstimate OPTIONAL,
+ velocityEstimate [4] VelocityEstimate OPTIONAL,
+ civicAddress [5] CivicAddress OPTIONAL,
+ positioningDataList [6] SET OF PositioningMethodAndUsage OPTIONAL,
+ gNSSPositioningDataList [7] SET OF GNSSPositioningMethodAndUsage OPTIONAL,
+ eCGI [8] ECGI OPTIONAL,
+ nCGI [9] NCGI OPTIONAL,
+ altitude [10] Altitude OPTIONAL,
+ barometricPressure [11] BarometricPressure OPTIONAL
+}
+
+-- TS 29.172 [53], table 6.2.2-2
+EPSLocationInfo ::= SEQUENCE
+{
+ locationData [1] LocationData,
+ cGI [2] CGI OPTIONAL,
+ sAI [3] SAI OPTIONAL,
+ eSMLCCellInfo [4] ESMLCCellInfo OPTIONAL
+}
+
+-- TS 29.172 [53], clause 7.4.57
+ESMLCCellInfo ::= SEQUENCE
+{
+ eCGI [1] ECGI,
+ cellPortionID [2] CellPortionID
+}
+
+-- TS 29.171 [54], clause 7.4.31
+CellPortionID ::= INTEGER (0..4095)
+
+-- TS 29.518 [22], clause 6.2.6.2.5
+LocationPresenceReport ::= SEQUENCE
+{
+ type [1] AMFEventType,
+ timestamp [2] Timestamp,
+ areaList [3] SET OF AMFEventArea OPTIONAL,
+ timeZone [4] TimeZone OPTIONAL,
+ accessTypes [5] SET OF AccessType OPTIONAL,
+ rMInfoList [6] SET OF RMInfo OPTIONAL,
+ cMInfoList [7] SET OF CMInfo OPTIONAL,
+ reachability [8] UEReachability OPTIONAL,
+ location [9] UserLocation OPTIONAL,
+ additionalCellIDs [10] SEQUENCE OF CellInformation OPTIONAL
+}
+
+-- TS 29.518 [22], clause 6.2.6.3.3
+AMFEventType ::= ENUMERATED
+{
+ locationReport(1),
+ presenceInAOIReport(2)
+}
+
+-- TS 29.518 [22], clause 6.2.6.2.16
+AMFEventArea ::= SEQUENCE
+{
+ presenceInfo [1] PresenceInfo OPTIONAL,
+ lADNInfo [2] LADNInfo OPTIONAL
+}
+
+-- TS 29.571 [17], clause 5.4.4.27
+PresenceInfo ::= SEQUENCE
+{
+ presenceState [1] PresenceState OPTIONAL,
+ trackingAreaList [2] SET OF TAI OPTIONAL,
+ eCGIList [3] SET OF ECGI OPTIONAL,
+ nCGIList [4] SET OF NCGI OPTIONAL,
+ globalRANNodeIDList [5] SET OF GlobalRANNodeID OPTIONAL,
+ globalENbIDList [6] SET OF GlobalRANNodeID OPTIONAL
+}
+
+-- TS 29.518 [22], clause 6.2.6.2.17
+LADNInfo ::= SEQUENCE
+{
+ lADN [1] UTF8String,
+ presence [2] PresenceState OPTIONAL
+}
+
+-- TS 29.571 [17], clause 5.4.3.20
+PresenceState ::= ENUMERATED
+{
+ inArea(1),
+ outOfArea(2),
+ unknown(3),
+ inactive(4)
+}
+
+-- TS 29.518 [22], clause 6.2.6.2.8
+RMInfo ::= SEQUENCE
+{
+ rMState [1] RMState,
+ accessType [2] AccessType
+}
+
+-- TS 29.518 [22], clause 6.2.6.2.9
+CMInfo ::= SEQUENCE
+{
+ cMState [1] CMState,
+ accessType [2] AccessType
+}
+
+-- TS 29.518 [22], clause 6.2.6.3.7
+UEReachability ::= ENUMERATED
+{
+ unreachable(1),
+ reachable(2),
+ regulatoryOnly(3)
+}
+
+-- TS 29.518 [22], clause 6.2.6.3.9
+RMState ::= ENUMERATED
+{
+ registered(1),
+ deregistered(2)
+}
+
+-- TS 29.518 [22], clause 6.2.6.3.10
+CMState ::= ENUMERATED
+{
+ idle(1),
+ connected(2)
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.5
+GeographicArea ::= CHOICE
+{
+ point [1] Point,
+ pointUncertaintyCircle [2] PointUncertaintyCircle,
+ pointUncertaintyEllipse [3] PointUncertaintyEllipse,
+ polygon [4] Polygon,
+ pointAltitude [5] PointAltitude,
+ pointAltitudeUncertainty [6] PointAltitudeUncertainty,
+ ellipsoidArc [7] EllipsoidArc
+}
+
+-- TS 29.572 [24], clause 6.1.6.3.12
+AccuracyFulfilmentIndicator ::= ENUMERATED
+{
+ requestedAccuracyFulfilled(1),
+ requestedAccuracyNotFulfilled(2)
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.17
+VelocityEstimate ::= CHOICE
+{
+ horVelocity [1] HorizontalVelocity,
+ horWithVertVelocity [2] HorizontalWithVerticalVelocity,
+ horVelocityWithUncertainty [3] HorizontalVelocityWithUncertainty,
+ horWithVertVelocityAndUncertainty [4] HorizontalWithVerticalVelocityAndUncertainty
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.14
+CivicAddress ::= SEQUENCE
+{
+ country [1] UTF8String,
+ a1 [2] UTF8String OPTIONAL,
+ a2 [3] UTF8String OPTIONAL,
+ a3 [4] UTF8String OPTIONAL,
+ a4 [5] UTF8String OPTIONAL,
+ a5 [6] UTF8String OPTIONAL,
+ a6 [7] UTF8String OPTIONAL,
+ prd [8] UTF8String OPTIONAL,
+ pod [9] UTF8String OPTIONAL,
+ sts [10] UTF8String OPTIONAL,
+ hno [11] UTF8String OPTIONAL,
+ hns [12] UTF8String OPTIONAL,
+ lmk [13] UTF8String OPTIONAL,
+ loc [14] UTF8String OPTIONAL,
+ nam [15] UTF8String OPTIONAL,
+ pc [16] UTF8String OPTIONAL,
+ bld [17] UTF8String OPTIONAL,
+ unit [18] UTF8String OPTIONAL,
+ flr [19] UTF8String OPTIONAL,
+ room [20] UTF8String OPTIONAL,
+ plc [21] UTF8String OPTIONAL,
+ pcn [22] UTF8String OPTIONAL,
+ pobox [23] UTF8String OPTIONAL,
+ addcode [24] UTF8String OPTIONAL,
+ seat [25] UTF8String OPTIONAL,
+ rd [26] UTF8String OPTIONAL,
+ rdsec [27] UTF8String OPTIONAL,
+ rdbr [28] UTF8String OPTIONAL,
+ rdsubbr [29] UTF8String OPTIONAL,
+ prm [30] UTF8String OPTIONAL,
+ pom [31] UTF8String OPTIONAL
+}
+
+-- TS 29.571 [17], clauses 5.4.4.62 and 5.4.4.64
+-- Contains the original binary data i.e. value of the YAML field after base64 encoding is removed
+CivicAddressBytes ::= OCTET STRING
+
+-- TS 29.572 [24], clause 6.1.6.2.15
+PositioningMethodAndUsage ::= SEQUENCE
+{
+ method [1] PositioningMethod,
+ mode [2] PositioningMode,
+ usage [3] Usage,
+ methodCode [4] MethodCode OPTIONAL
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.16
+GNSSPositioningMethodAndUsage ::= SEQUENCE
+{
+ mode [1] PositioningMode,
+ gNSS [2] GNSSID,
+ usage [3] Usage
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.6
+Point ::= SEQUENCE
+{
+ geographicalCoordinates [1] GeographicalCoordinates
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.7
+PointUncertaintyCircle ::= SEQUENCE
+{
+ geographicalCoordinates [1] GeographicalCoordinates,
+ uncertainty [2] Uncertainty
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.8
+PointUncertaintyEllipse ::= SEQUENCE
+{
+ geographicalCoordinates [1] GeographicalCoordinates,
+ uncertainty [2] UncertaintyEllipse,
+ confidence [3] Confidence
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.9
+Polygon ::= SEQUENCE
+{
+ pointList [1] SET SIZE (3..15) OF GeographicalCoordinates
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.10
+PointAltitude ::= SEQUENCE
+{
+ point [1] GeographicalCoordinates,
+ altitude [2] Altitude
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.11
+PointAltitudeUncertainty ::= SEQUENCE
+{
+ point [1] GeographicalCoordinates,
+ altitude [2] Altitude,
+ uncertaintyEllipse [3] UncertaintyEllipse,
+ uncertaintyAltitude [4] Uncertainty,
+ confidence [5] Confidence
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.12
+EllipsoidArc ::= SEQUENCE
+{
+ point [1] GeographicalCoordinates,
+ innerRadius [2] InnerRadius,
+ uncertaintyRadius [3] Uncertainty,
+ offsetAngle [4] Angle,
+ includedAngle [5] Angle,
+ confidence [6] Confidence
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.4
+GeographicalCoordinates ::= SEQUENCE
+{
+ latitude [1] UTF8String,
+ longitude [2] UTF8String,
+ mapDatumInformation [3] OGCURN OPTIONAL
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.22
+UncertaintyEllipse ::= SEQUENCE
+{
+ semiMajor [1] Uncertainty,
+ semiMinor [2] Uncertainty,
+ orientationMajor [3] Orientation
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.18
+HorizontalVelocity ::= SEQUENCE
+{
+ hSpeed [1] HorizontalSpeed,
+ bearing [2] Angle
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.19
+HorizontalWithVerticalVelocity ::= SEQUENCE
+{
+ hSpeed [1] HorizontalSpeed,
+ bearing [2] Angle,
+ vSpeed [3] VerticalSpeed,
+ vDirection [4] VerticalDirection
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.20
+HorizontalVelocityWithUncertainty ::= SEQUENCE
+{
+ hSpeed [1] HorizontalSpeed,
+ bearing [2] Angle,
+ uncertainty [3] SpeedUncertainty
+}
+
+-- TS 29.572 [24], clause 6.1.6.2.21
+HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE
+{
+ hSpeed [1] HorizontalSpeed,
+ bearing [2] Angle,
+ vSpeed [3] VerticalSpeed,
+ vDirection [4] VerticalDirection,
+ hUncertainty [5] SpeedUncertainty,
+ vUncertainty [6] SpeedUncertainty
+}
+
+-- The following types are described in TS 29.572 [24], table 6.1.6.3.2-1
+Altitude ::= UTF8String
+Angle ::= INTEGER (0..360)
+Uncertainty ::= INTEGER (0..127)
+Orientation ::= INTEGER (0..180)
+Confidence ::= INTEGER (0..100)
+InnerRadius ::= INTEGER (0..65535)
+AgeOfLocationEstimate ::= INTEGER (0..32767)
+HorizontalSpeed ::= UTF8String
+VerticalSpeed ::= UTF8String
+SpeedUncertainty ::= UTF8String
+BarometricPressure ::= INTEGER (30000..155000)
+
+-- TS 29.572 [24], clause 6.1.6.3.13
+VerticalDirection ::= ENUMERATED
+{
+ upward(1),
+ downward(2)
+}
+
+-- TS 29.572 [24], clause 6.1.6.3.6
+PositioningMethod ::= ENUMERATED
+{
+ cellID(1),
+ eCID(2),
+ oTDOA(3),
+ barometricPressure(4),
+ wLAN(5),
+ bluetooth(6),
+ mBS(7),
+ motionSensor(8),
+ dLTDOA(9),
+ dLAOD(10),
+ multiRTT(11),
+ nRECID(12),
+ uLTDOA(13),
+ uLAOA(14),
+ networkSpecific(15)
+}
+
+-- TS 29.572 [24], clause 6.1.6.3.7
+PositioningMode ::= ENUMERATED
+{
+ uEBased(1),
+ uEAssisted(2),
+ conventional(3)
+}
+
+-- TS 29.572 [24], clause 6.1.6.3.8
+GNSSID ::= ENUMERATED
+{
+ gPS(1),
+ galileo(2),
+ sBAS(3),
+ modernizedGPS(4),
+ qZSS(5),
+ gLONASS(6),
+ bDS(7),
+ nAVIC(8)
+}
+
+-- TS 29.572 [24], clause 6.1.6.3.9
+Usage ::= ENUMERATED
+{
+ unsuccess(1),
+ successResultsNotUsed(2),
+ successResultsUsedToVerifyLocation(3),
+ successResultsUsedToGenerateLocation(4),
+ successMethodNotDetermined(5)
+}
+
+-- TS 29.571 [17], table 5.2.2-1
+TimeZone ::= UTF8String
+
+-- Open Geospatial Consortium URN [35]
+OGCURN ::= UTF8String
+
+-- TS 29.572 [24], clause 6.1.6.2.15
+MethodCode ::= INTEGER (16..31)
+
+END
diff --git a/epan/dissectors/asn1/lix2/lix2.cnf b/epan/dissectors/asn1/lix2/lix2.cnf
new file mode 100644
index 00000000..f6fa5654
--- /dev/null
+++ b/epan/dissectors/asn1/lix2/lix2.cnf
@@ -0,0 +1,19 @@
+# lix2.cnf
+# lix2 conformation file
+
+# $Id$
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.PDU
+XIRIPayload
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
diff --git a/epan/dissectors/asn1/lix2/packet-lix2-template.c b/epan/dissectors/asn1/lix2/packet-lix2-template.c
new file mode 100644
index 00000000..9a7c14e1
--- /dev/null
+++ b/epan/dissectors/asn1/lix2/packet-lix2-template.c
@@ -0,0 +1,75 @@
+/* packet-lix2-template.c
+ * Routines for Lawful Interception X2 xIRI event dissection
+ *
+ * See 3GPP TS33.128.
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+
+#define PNAME "X2 xIRI payload"
+#define PSNAME "xIRI"
+#define PFNAME "xiri"
+
+void proto_reg_handoff_lix2(void);
+void proto_register_lix2(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_lix2 = -1;
+static dissector_handle_t lix2_handle = NULL;
+
+
+#include "packet-lix2-hf.c"
+
+#include "packet-lix2-ett.c"
+
+#include "packet-lix2-fn.c"
+
+/*--- proto_register_lix2 -------------------------------------------*/
+void proto_register_lix2(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-lix2-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-lix2-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_lix2 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_lix2, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ lix2_handle = register_dissector("xiri", dissect_XIRIPayload_PDU, proto_lix2);
+
+ /* Get rid of unused code warnings */
+ (void)&dissect_lix2_MMSElementDescriptor;
+ (void)&dissect_lix2_MMSCancelStatus;
+ (void)&lix2_MMSCancelStatus_vals;
+ (void)&dissect_lix2_LINotificationPayload;
+ (void)&dissect_lix2_CCPayload;
+ (void)&dissect_lix2_IRIPayload;
+ (void)&hf_lix2_bCCRecipients_item;
+ (void)&hf_lix2_cCRecipients_item;
+ (void)&hf_lix2_expectedTimeAndDayOfWeekInTrajectory_item;
+ (void)&hf_lix2_globalENbIDList_item;
+ (void)&hf_lix2_originatingMMSParty_item;
+ (void)&hf_lix2_pTCHoldID_item;
+ (void)&hf_lix2_pTCIDList_item;
+}
diff --git a/epan/dissectors/asn1/lnpdqp/CMakeLists.txt b/epan/dissectors/asn1/lnpdqp/CMakeLists.txt
new file mode 100644
index 00000000..06b06715
--- /dev/null
+++ b/epan/dissectors/asn1/lnpdqp/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME lnpdqp )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ LNPDQP.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
+
diff --git a/epan/dissectors/asn1/lnpdqp/LNPDQP.asn b/epan/dissectors/asn1/lnpdqp/LNPDQP.asn
new file mode 100644
index 00000000..d9840150
--- /dev/null
+++ b/epan/dissectors/asn1/lnpdqp/LNPDQP.asn
@@ -0,0 +1,66 @@
+-- lnpdqp.asn
+-- GR-533 i2 2001
+--
+
+LNPDQP-Protocol {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-OM-DataTypes (12) version13 (13)}
+
+DEFINITIONS
+
+IMPLICIT TAGS
+
+::=
+
+BEGIN
+
+-- ConnectionControl ::= OPERATION
+-- PARAMETER [PRIVATE 18] SET {
+ ConnectionControlArg ::= [PRIVATE 18] SET {
+-- carrierID [4] Digits, - - Note 1
+-- networkRoutingNumber [4] Digits,
+-- as2wrs does not like two equal tags
+ digits [4] Digits,
+ billingIndicators [PRIVATE 65] BillingIndicators -- Note 1
+ }
+-- Note 1 This parameter is not used.
+
+-- ProvideInstruction ::= OPERATION
+-- PARAMETER [PRIVATE 18] SET {
+ ProvideInstructionArg ::= [PRIVATE 18] SET {
+ calledPartyNumber [10] ServiceKey,
+-- callingPartyANI [4] Digits OPTIONAL,
+-- originatingLATA [4] Digits OPTIONAL,
+-- as2wrs does not like two equal tags
+ digits [4] Digits,
+ oli [PRIVATE 69] OriginatingStationType
+ }
+-- ERRORS {
+-- dataUnavailable,
+-- unavailableResource,
+-- unexpectedComponentSequence,
+-- unexpectedDataValue
+-- }
+-- LINKED {
+-- ConnectionControl
+-- }
+
+BillingIndicators ::= OCTET STRING (SIZE(4))
+
+Digits ::= OCTET STRING (SIZE(4..9))
+
+OriginatingStationType ::= OCTET STRING (SIZE(1))
+
+ServiceKey ::= CHOICE {
+ digits [4] Digits
+}
+
+--DataUnavailable ::= ERROR
+--PARAMETER [PRIVATE 18] SET { }
+-- Optional
+
+--UnavailableResource ::= ERROR
+--PARAMETER [PRIVATE 18] SET { }
+-- Optional
+
+END \ No newline at end of file
diff --git a/epan/dissectors/asn1/lnpdqp/lnpdqp.cnf b/epan/dissectors/asn1/lnpdqp/lnpdqp.cnf
new file mode 100644
index 00000000..d9884247
--- /dev/null
+++ b/epan/dissectors/asn1/lnpdqp/lnpdqp.cnf
@@ -0,0 +1,45 @@
+# lnpdqp.cnf
+# lnpdqp conformation file
+
+#.OPT
+#.END
+
+#.PDU
+ConnectionControlArg
+ProvideInstructionArg
+
+
+#.FN_BODY Digits VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ guint8 type_of_dgt;
+ proto_tree *subtree;
+
+ type_of_dgt = tvb_get_guint8(tvb,offset);
+ switch(type_of_dgt){
+ case 2:
+ /* Calling Party Number */
+ hf_index = hf_lnpdqp_callingPartyANI;
+ break;
+ case 4:
+ /* Routing Number */
+ hf_index = hf_lnpdqp_networkRoutingNumber;
+ break;
+ case 7:
+ /* Local Access and Transport Area */
+ hf_index = hf_lnpdqp_originatingLATA;
+ break;
+ case 8:
+ /* Carrier */
+ hf_index = hf_lnpdqp_carrierID;
+ break;
+ default:
+ break;
+ }
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ subtree = proto_item_add_subtree(actx->created_item, ett_lnpdqp_digits);
+ dissect_lnpdqp_digits_type(parameter_tvb,actx->pinfo,subtree, actx);
+ }
+
+#.TYPE_ATTR
+OriginatingStationType TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(lnpdqp_OriginatingStationType_vals)
diff --git a/epan/dissectors/asn1/lnpdqp/packet-lnpdqp-template.c b/epan/dissectors/asn1/lnpdqp/packet-lnpdqp-template.c
new file mode 100644
index 00000000..f3ecee1d
--- /dev/null
+++ b/epan/dissectors/asn1/lnpdqp/packet-lnpdqp-template.c
@@ -0,0 +1,359 @@
+/* packet-lnpdqp-template.c
+ * Routines for Local Number Portability Database Query Protocol dissection
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref GR-533 i2 2001
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/asn1.h>
+#include "packet-ber.h"
+
+#define PNAME "Local Number Portability Database Query"
+#define PSNAME "LNPDQP"
+#define PFNAME "lnpdqp"
+
+/*
+ * Operation Code is partitioned into:
+ * Operation Family = ConnectionControl, no Reply Required (4)
+ * Operation Specifier = Connect (1)
+ */
+#define LNPDQP_ANSI_TCAP_OPCODE_CC 0x0401
+/*
+ * Operation Code is partitioned into:
+ * Operation Family = ProvideInstruction, Reply Required (131) 0x83
+ * Operation Specifier = Start (1)
+ */
+/* Exluding H bit */
+#define LNPDQP_ANSI_TCAP_OPCODE_PI 0x0301
+
+void proto_reg_handoff_lnpdqp(void);
+void proto_register_lnpdqp(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_lnpdqp = -1;
+
+
+static int hf_lnpdqp_type_of_digits = -1;
+static int hf_lnpdqp_nature_of_number = -1;
+static int hf_lnpdqp_digits_enc = -1;
+static int hf_lnpdqp_np = -1;
+static int hf_lnpdqp_nr_digits = -1;
+static int hf_lnpdqp_bcd_digits = -1;
+static int hf_lnpdqp_ia5_digits = -1;
+
+/* asn2wrs/the ber dissector does not handle the same tag used multiple times
+ * in asn1 description, do some magic to handle.
+ */
+static int hf_lnpdqp_networkRoutingNumber = -1; /* Digits */
+static int hf_lnpdqp_callingPartyANI = -1; /* Digits */
+static int hf_lnpdqp_originatingLATA = -1; /* Digits */
+static int hf_lnpdqp_carrierID = -1; /* Digits */
+
+#include "packet-lnpdqp-hf.c"
+
+static int ett_lnpdqp = -1;
+static int ett_lnpdqp_digitstype = -1;
+static int ett_lnpdqp_digits = -1;
+#include "packet-lnpdqp-ett.c"
+
+
+/* Type of Digits (octet 1, bits A-H) */
+static const value_string lnpdqp_type_of_digits_vals[] = {
+ { 0, "Not Used" },
+ { 1, "Dialed Number or Called Party Number" },
+ { 2, "Calling Party Number" },
+ { 3, "Caller Interaction" },
+ { 4, "Routing Number" },
+ { 5, "Billing Number" },
+ { 6, "Destination Number" },
+ { 7, "LATA" },
+ { 8, "Carrier" },
+ { 9, "Last Calling Party" },
+ { 10, "Last Party Called" },
+ { 11, "Calling Directory Number" },
+ { 12, "VMSR Identifier" },
+ { 13, "Original Called Number" },
+ { 14, "Redirecting Number" },
+ { 15, "Connected Number" },
+ { 0, NULL }
+};
+
+#if 0
+XXXX Currently unused
+/* Nature of Number (octet 2, bits A-H )*/
+static const true_false_string lnpdqp_na_bool_val = {
+ "International",
+ "National"
+};
+static const true_false_string lnpdqp_pi_bool_val = {
+ "Presentation Restricted",
+ "Presentation Allowed"
+};
+static const true_false_string lnpdqp_navail_bool_val = {
+ "Number is not available",
+ "Number is available"
+};
+static const true_false_string lnpdqp_si_bool_val = {
+ "User provided, screening passed",
+ "User provided, not screened"
+};
+#endif
+static const value_string lnpdqp_na_vals[] = {
+ { 0, "National, No Presentation Restricted"},
+ { 1, "International, No Presentation Restricted"},
+ { 2, "National, Presentation Restricted"},
+ { 3, "International, Presentation Restricted"},
+ { 0, NULL }
+};
+/* Encoding (octet 3, bits A-D) */
+static const value_string lnpdqp_digits_enc_vals[] = {
+ { 0, "Not used"},
+ { 1, "BCD"},
+ { 2, "IA5"},
+ { 3, "Octet string"},
+ { 0, NULL }
+};
+/* Numbering Plan (octet 3, bits E-H) */
+static const value_string lnpdqp_np_vals[] = {
+ { 0, "Unknown or not applicable"},
+ { 1, "ISDN Numbering Plan (ITU Rec. E.164)"},
+ { 2, "Telephony Numbering (ITU-T Rec. E.164,E.163)"},
+ { 3, "Data Numbering (ITU-T Rec. X.121)"},
+ { 4, "Telex Numbering (ITU-T Rec. F.69)"},
+ { 5, "Maritime Mobile Numbering"},
+ { 6, "Land Mobile Numbering (ITU-T Rec. E.212)"},
+ { 7, "Private Numbering Plan"},
+ { 0, NULL }
+};
+
+/*
+ * OriginatingStationType ::= OCTET STRING (SIZE(1))
+ * The following codes are used in the originating line information field:
+ * 00000010 } Binary values administered by the North
+ * to } American Numbering Administration
+ * 01100011 }
+ * Ref http://www.nanpa.com/number_resource_info/ani_ii_assignments.html
+ */
+
+static const value_string lnpdqp_OriginatingStationType_vals[] = {
+ { 0, "Plain Old Telephone Service (POTS) - non-coin service requiring no special treatment"},
+ { 1, "Multiparty line (more than 2) - ANI cannot be provided on 4 or 8 party lines. "},
+ { 2, "ANI Failure "},
+ /* 03-05 Unassigned */
+ { 6, "Station Level Rating "},
+ { 7, "Special Operator Handling Required"},
+ /* 08-09 Unassigned */
+ { 10, "Not assignable - conflict with 10X test code"},
+ /* 11 Unassigned */
+ /* 12-19 Not assignable - conflict with international outpulsing code */
+ { 20, "Automatic Identified Outward Dialing (AIOD)"},
+ /* 21-22 Unassigned */
+ /* To lasy to do these */
+ { 61, "Cellular/Wireless PCS (Type 1) "},
+ { 62, "Cellular/Wireless PCS (Type 2) "},
+ { 63, "Cellular/Wireless PCS (Roaming)"},
+ { 0, NULL }
+};
+
+static void
+dissect_lnpdqp_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
+
+ guint8 octet , no_of_digits;
+ int offset = 0;
+ char *digit_str;
+
+ proto_tree *subtree;
+
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lnpdqp_digitstype);
+
+ /* Octet 1 Type of Digits*/
+ proto_tree_add_item(subtree, hf_lnpdqp_type_of_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Octet 2 Nature of Number*/
+ proto_tree_add_item(subtree, hf_lnpdqp_nature_of_number, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Octet 3 Numbering Plan |Encoding Scheme| */
+ octet = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_lnpdqp_np, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_lnpdqp_digits_enc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /* Octet 4 Number of Digits */
+ switch ((octet&0xf)){
+ case 1:
+ /* BCD Coding */
+ no_of_digits = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_lnpdqp_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
+ if(no_of_digits == 0)
+ return;
+ offset++;
+ proto_tree_add_item_ret_display_string(subtree, hf_lnpdqp_bcd_digits, tvb, offset, -1, ENC_KEYPAD_BC_TBCD, pinfo->pool, &digit_str);
+ proto_item_append_text(actx->created_item, " - %s", digit_str);
+ break;
+ case 2:
+ /* IA5 Coding */
+ no_of_digits = tvb_get_guint8(tvb,offset);
+ proto_tree_add_item(subtree, hf_lnpdqp_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
+ if(no_of_digits == 0)
+ return;
+ offset++;
+ proto_tree_add_item(subtree, hf_lnpdqp_ia5_digits, tvb, offset, -1, ENC_ASCII);
+ proto_item_append_text(actx->created_item, " - %s", tvb_get_string_enc(pinfo->pool,tvb,offset,tvb_reported_length_remaining(tvb,offset), ENC_ASCII | ENC_NA));
+ break;
+ default:
+ break;
+ }
+
+}
+
+
+#include "packet-lnpdqp-fn.c"
+
+static int
+dissect_lnpdqp_cc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+ col_set_str(pinfo->cinfo, COL_INFO, "ConnectionControl");
+
+
+ /* create display subtree for the protocol */
+ item = proto_tree_add_item(parent_tree, proto_lnpdqp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_lnpdqp);
+
+ return dissect_ConnectionControlArg_PDU(tvb, pinfo, tree, NULL);
+}
+
+static int
+dissect_lnpdqp_pi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+ col_set_str(pinfo->cinfo, COL_INFO, "ProvideInstruction");
+
+
+ /* create display subtree for the protocol */
+ item = proto_tree_add_item(parent_tree, proto_lnpdqp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_lnpdqp);
+
+ return dissect_ProvideInstructionArg_PDU(tvb, pinfo, tree, NULL);
+
+}
+
+
+void proto_register_lnpdqp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_lnpdqp_type_of_digits,
+ { "Type of Digits", "lnpdqp.type_of_digits",
+ FT_UINT8, BASE_DEC, VALS(lnpdqp_type_of_digits_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_lnpdqp_nature_of_number,
+ { "Nature of Number", "lnpdqp.na",
+ FT_UINT8, BASE_DEC, VALS(lnpdqp_na_vals), 0x0,
+ NULL, HFILL }},
+ { &hf_lnpdqp_digits_enc,
+ { "Encoding", "lnpdqp.enc",
+ FT_UINT8, BASE_DEC, VALS(lnpdqp_digits_enc_vals), 0x0f,
+ NULL, HFILL }},
+ { &hf_lnpdqp_np,
+ { "Numbering Plan", "lnpdqp.np",
+ FT_UINT8, BASE_DEC, VALS(lnpdqp_np_vals), 0xf0,
+ NULL, HFILL }},
+ { &hf_lnpdqp_nr_digits,
+ { "Number of Digits", "lnpdqp.nr_digits",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_lnpdqp_bcd_digits,
+ { "BCD digits", "lnpdqp.bcd_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lnpdqp_ia5_digits,
+ { "IA5 digits", "lnpdqp.ia5_digits",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+/* asn2wrs/the ber dissector does not handle the same tag used multiple times
+ * in asn1 description, do some magic to handle.
+ */
+ { &hf_lnpdqp_networkRoutingNumber,
+ { "networkRoutingNumber", "lnpdqp.networkRoutingNumber",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "Digits", HFILL }},
+
+ { &hf_lnpdqp_callingPartyANI,
+ { "callingPartyANI", "lnpdqp.callingPartyANI",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "Digits", HFILL }},
+ { &hf_lnpdqp_originatingLATA,
+ { "originatingLATA", "lnpdqp.originatingLATA",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "Digits", HFILL }},
+ { &hf_lnpdqp_carrierID,
+ { "carrierID", "lnpdqp.carrierID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "Digits", HFILL }},
+
+#include "packet-lnpdqp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_lnpdqp,
+ &ett_lnpdqp_digitstype,
+ &ett_lnpdqp_digits,
+
+#include "packet-lnpdqp-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_lnpdqp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+
+ register_dissector("lnpdqp_cc", dissect_lnpdqp_cc, proto_lnpdqp);
+ register_dissector("lnpdqp_pi", dissect_lnpdqp_pi, proto_lnpdqp);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_lnpdqp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+void proto_reg_handoff_lnpdqp(void) {
+
+ static dissector_handle_t lnpdqp_cc_handle, lnpdqp_pi_handle;
+
+ lnpdqp_cc_handle = find_dissector("lnpdqp_cc");
+ lnpdqp_pi_handle = find_dissector("lnpdqp_pi");
+
+ dissector_add_uint("ansi_tcap.nat.opcode", LNPDQP_ANSI_TCAP_OPCODE_CC, lnpdqp_cc_handle);
+ dissector_add_uint("ansi_tcap.nat.opcode", LNPDQP_ANSI_TCAP_OPCODE_PI, lnpdqp_pi_handle);
+
+}
+/*
+* Editor modelines
+*
+* Local Variables:
+* c-basic-offset: 4
+* tab-width: 8
+* indent-tabs-mode: nil
+* End:
+*
+* ex: set shiftwidth=4 tabstop=8 expandtab:
+* :indentSize=4:tabSize=8:noTabs=true:
+*/
diff --git a/epan/dissectors/asn1/logotypecertextn/CMakeLists.txt b/epan/dissectors/asn1/logotypecertextn/CMakeLists.txt
new file mode 100644
index 00000000..c671859f
--- /dev/null
+++ b/epan/dissectors/asn1/logotypecertextn/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME logotypecertextn )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ LogotypeCertExtn.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/logotypecertextn/LogotypeCertExtn.asn b/epan/dissectors/asn1/logotypecertextn/LogotypeCertExtn.asn
new file mode 100644
index 00000000..babaaa20
--- /dev/null
+++ b/epan/dissectors/asn1/logotypecertextn/LogotypeCertExtn.asn
@@ -0,0 +1,117 @@
+-- This ASN.1 module was taken from RFC3709.
+--
+-- The copyright statement of the RFC as follows :
+--
+-- Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (2004). This document is subject
+-- to the rights, licenses and restrictions contained in BCP 78 and
+-- except as set forth therein, the authors retain all their rights.
+--
+-- This document and the information contained herein are provided on an
+-- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
+-- REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
+-- INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
+-- IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
+-- THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+-- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+LogotypeCertExtn
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-logotype(22) }
+
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+ AlgorithmIdentifier FROM AuthenticationFramework -- RFC 3280
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-pkix1-explicit(18) };
+
+
+-- Logotype Extension OID
+--
+id-pe-logotype OBJECT IDENTIFIER ::=
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-pe(1) 12 }
+
+
+-- Logotype Extension Syntax
+
+LogotypeExtn ::= SEQUENCE {
+ communityLogos [0] EXPLICIT SEQUENCE OF LogotypeInfo OPTIONAL,
+ issuerLogo [1] EXPLICIT LogotypeInfo OPTIONAL,
+ subjectLogo [2] EXPLICIT LogotypeInfo OPTIONAL,
+ otherLogos [3] EXPLICIT SEQUENCE OF OtherLogotypeInfo OPTIONAL }
+
+LogotypeInfo ::= CHOICE {
+ direct [0] LogotypeData,
+ indirect [1] LogotypeReference }
+
+LogotypeData ::= SEQUENCE {
+ image SEQUENCE OF LogotypeImage OPTIONAL,
+ audio [1] SEQUENCE OF LogotypeAudio OPTIONAL }
+
+LogotypeImage ::= SEQUENCE {
+ imageDetails LogotypeDetails,
+ imageInfo LogotypeImageInfo OPTIONAL }
+
+LogotypeAudio ::= SEQUENCE {
+ audioDetails LogotypeDetails,
+ audioInfo LogotypeAudioInfo OPTIONAL }
+
+LogotypeDetails ::= SEQUENCE {
+ mediaType IA5String, -- MIME media type name and optional
+ -- parameters
+ logotypeHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
+ logotypeURI SEQUENCE SIZE (1..MAX) OF IA5String }
+
+LogotypeImageInfo ::= SEQUENCE {
+ type [0] LogotypeImageType DEFAULT color,
+ fileSize INTEGER, -- In octets
+ xSize INTEGER, -- Horizontal size in pixels
+ ySize INTEGER, -- Vertical size in pixels
+ resolution LogotypeImageResolution OPTIONAL,
+ language [4] IA5String OPTIONAL } -- RFC 3066 Language Tag
+
+LogotypeImageType ::= INTEGER { grayScale(0), color(1) }
+
+LogotypeImageResolution ::= CHOICE {
+ numBits [1] INTEGER, -- Resolution in bits
+ tableSize [2] INTEGER } -- Number of colors or grey tones
+
+LogotypeAudioInfo ::= SEQUENCE {
+ fileSize INTEGER, -- In octets
+ playTime INTEGER, -- In milliseconds
+ channels INTEGER, -- 1=mono, 2=stereo, 4=quad
+ sampleRate [3] INTEGER OPTIONAL, -- Samples per second
+ language [4] IA5String OPTIONAL } -- RFC 3066 Language Tag
+
+OtherLogotypeInfo ::= SEQUENCE {
+ logotypeType OBJECT IDENTIFIER,
+ info LogotypeInfo }
+
+LogotypeReference ::= SEQUENCE {
+ refStructHash SEQUENCE SIZE (1..MAX) OF HashAlgAndValue,
+ refStructURI SEQUENCE SIZE (1..MAX) OF IA5String }
+ -- Places to get the same "LTD" file
+
+-- Note: The content of referenced "LTD" files is defined by the
+-- LogotypeData type
+
+HashAlgAndValue ::= SEQUENCE {
+ hashAlg AlgorithmIdentifier,
+ hashValue OCTET STRING }
+
+-- Other logotype type OIDs
+
+id-logo OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7) 20 }
+
+
+id-logo-loyalty OBJECT IDENTIFIER ::= { id-logo 1 }
+
+id-logo-background OBJECT IDENTIFIER ::= { id-logo 2 }
+END
diff --git a/epan/dissectors/asn1/logotypecertextn/logotypecertextn.cnf b/epan/dissectors/asn1/logotypecertextn/logotypecertextn.cnf
new file mode 100644
index 00000000..987cf8c7
--- /dev/null
+++ b/epan/dissectors/asn1/logotypecertextn/logotypecertextn.cnf
@@ -0,0 +1,28 @@
+# logotypecertextn.cnf
+# LogotypeCertExtn conformation file
+
+#.IMPORT ../x509af/x509af-exp.cnf
+
+#.EXPORTS
+
+#.PDU
+
+#.REGISTER
+LogotypeExtn B "1.3.6.1.5.5.7.1.12" "id-pe-logotype"
+LogotypeExtn B "1.3.6.1.5.5.7.20.1" "id-pe-logo-loyalty"
+LogotypeExtn B "1.3.6.1.5.5.7.20.2" "id-pe-logo-background"
+
+#.FN_FTR LogotypeDetails/logotypeURI/_item
+ proto_item_set_url(actx->created_item);
+
+#.FN_FTR LogotypeReference/refStructURI/_item
+ proto_item_set_url(actx->created_item);
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
+
diff --git a/epan/dissectors/asn1/logotypecertextn/packet-logotypecertextn-template.c b/epan/dissectors/asn1/logotypecertextn/packet-logotypecertextn-template.c
new file mode 100644
index 00000000..a2129050
--- /dev/null
+++ b/epan/dissectors/asn1/logotypecertextn/packet-logotypecertextn-template.c
@@ -0,0 +1,65 @@
+/* packet-logotypecertextn.c
+ * Routines for RFC3709 Logotype Certificate Extensions packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include "packet-ber.h"
+#include "packet-logotypecertextn.h"
+#include "packet-x509af.h"
+
+#define PNAME "Logotype Certificate Extensions"
+#define PSNAME "LogotypeCertExtn"
+#define PFNAME "logotypecertextn"
+
+void proto_register_logotypecertextn(void);
+void proto_reg_handoff_logotypecertextn(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_logotypecertextn = -1;
+#include "packet-logotypecertextn-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-logotypecertextn-ett.c"
+
+
+#include "packet-logotypecertextn-fn.c"
+
+
+/*--- proto_register_logotypecertextn ----------------------------------------------*/
+void proto_register_logotypecertextn(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-logotypecertextn-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-logotypecertextn-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_logotypecertextn = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_logotypecertextn, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_logotypecertextn -------------------------------------------*/
+void proto_reg_handoff_logotypecertextn(void) {
+#include "packet-logotypecertextn-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/logotypecertextn/packet-logotypecertextn-template.h b/epan/dissectors/asn1/logotypecertextn/packet-logotypecertextn-template.h
new file mode 100644
index 00000000..dc1d6f6a
--- /dev/null
+++ b/epan/dissectors/asn1/logotypecertextn/packet-logotypecertextn-template.h
@@ -0,0 +1,18 @@
+/* packet-logotypecertextn.h
+ * Routines for RFC3907 Logotype Certificate Extensions packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_LOGOTYPE_CERT_EXTN_H
+#define PACKET_LOGOTYPE_CERT_EXTN_H
+
+/*#include "packet-logotypecertextn-exp.h"*/
+
+#endif /* PACKET_LOGOTYPE_CERT_EXTN_H */
+
diff --git a/epan/dissectors/asn1/lpp/CMakeLists.txt b/epan/dissectors/asn1/lpp/CMakeLists.txt
new file mode 100644
index 00000000..1b648249
--- /dev/null
+++ b/epan/dissectors/asn1/lpp/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME lpp )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ LPP-PDU-Definitions.asn
+ LPP-Broadcast-Definitions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/lpp/LPP-Broadcast-Definitions.asn b/epan/dissectors/asn1/lpp/LPP-Broadcast-Definitions.asn
new file mode 100644
index 00000000..cb5df311
--- /dev/null
+++ b/epan/dissectors/asn1/lpp/LPP-Broadcast-Definitions.asn
@@ -0,0 +1,61 @@
+-- 3GPP TS 37.355 V17.5.0 (2023-06)
+
+LPP-Broadcast-Definitions
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ OTDOA-ReferenceCellInfo,
+ OTDOA-NeighbourCellInfoList,
+ NR-TRP-LocationInfo-r16,
+ NR-DL-PRS-BeamInfo-r16,
+ NR-RTD-Info-r16
+FROM LPP-PDU-Definitions;
+
+
+AssistanceDataSIBelement-r15 ::= SEQUENCE {
+ valueTag-r15 INTEGER (0..63) OPTIONAL, -- Need OP
+ expirationTime-r15 UTCTime OPTIONAL, -- Need OP
+ cipheringKeyData-r15 CipheringKeyData-r15 OPTIONAL, -- Need OP
+ segmentationInfo-r15 SegmentationInfo-r15 OPTIONAL, -- Need OP
+ assistanceDataElement-r15 OCTET STRING,
+ ...
+}
+
+CipheringKeyData-r15 ::= SEQUENCE {
+ cipherSetID-r15 INTEGER (0..65535),
+ d0-r15 BIT STRING (SIZE (1..128)),
+ ...
+}
+
+SegmentationInfo-r15 ::= SEQUENCE {
+ segmentationOption-r15 ENUMERATED {pseudo-seg, octet-string-seg},
+ assistanceDataSegmentType-r15 ENUMERATED {notLastSegment, lastSegment},
+ assistanceDataSegmentNumber-r15 INTEGER (0..63),
+ ...
+}
+
+
+OTDOA-UE-Assisted-r15 ::= SEQUENCE {
+ otdoa-ReferenceCellInfo-r15 OTDOA-ReferenceCellInfo,
+ otdoa-NeighbourCellInfo-r15 OTDOA-NeighbourCellInfoList,
+ ...
+}
+
+
+NR-UEB-TRP-LocationData-r16 ::= SEQUENCE {
+ nr-trp-LocationInfo-r16 NR-TRP-LocationInfo-r16,
+ nr-dl-prs-BeamInfo-r16 NR-DL-PRS-BeamInfo-r16 OPTIONAL, -- Need ON
+ ...
+}
+
+
+NR-UEB-TRP-RTD-Info-r16 ::= SEQUENCE {
+ nr-rtd-Info-r16 NR-RTD-Info-r16,
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn b/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn
new file mode 100644
index 00000000..d7bf0b1d
--- /dev/null
+++ b/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn
@@ -0,0 +1,6992 @@
+-- 3GPP TS 37.355 V17.5.0 (2023-06)
+
+LPP-PDU-Definitions
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+
+LPP-Message ::= SEQUENCE {
+ transactionID LPP-TransactionID OPTIONAL, -- Need ON
+ endTransaction BOOLEAN,
+ sequenceNumber SequenceNumber OPTIONAL, -- Need ON
+ acknowledgement Acknowledgement OPTIONAL, -- Need ON
+ lpp-MessageBody LPP-MessageBody OPTIONAL -- Need ON
+}
+
+SequenceNumber ::= INTEGER (0..255)
+
+Acknowledgement ::= SEQUENCE {
+ ackRequested BOOLEAN,
+ ackIndicator SequenceNumber OPTIONAL
+}
+
+
+LPP-MessageBody ::= CHOICE {
+ c1 CHOICE {
+ requestCapabilities RequestCapabilities,
+ provideCapabilities ProvideCapabilities,
+ requestAssistanceData RequestAssistanceData,
+ provideAssistanceData ProvideAssistanceData,
+ requestLocationInformation RequestLocationInformation,
+ provideLocationInformation ProvideLocationInformation,
+ abort Abort,
+ error Error,
+ spare7 NULL, spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL, spare0 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+LPP-TransactionID ::= SEQUENCE {
+ initiator Initiator,
+ transactionNumber TransactionNumber,
+ ...
+}
+
+Initiator ::= ENUMERATED {
+ locationServer,
+ targetDevice,
+ ...
+}
+
+TransactionNumber ::= INTEGER (0..255)
+
+
+RequestCapabilities ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ requestCapabilities-r9 RequestCapabilities-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RequestCapabilities-r9-IEs ::= SEQUENCE {
+ commonIEsRequestCapabilities CommonIEsRequestCapabilities OPTIONAL, -- Need ON
+ a-gnss-RequestCapabilities A-GNSS-RequestCapabilities OPTIONAL, -- Need ON
+ otdoa-RequestCapabilities OTDOA-RequestCapabilities OPTIONAL, -- Need ON
+ ecid-RequestCapabilities ECID-RequestCapabilities OPTIONAL, -- Need ON
+ epdu-RequestCapabilities EPDU-Sequence OPTIONAL, -- Need ON
+ ...,
+ [[ sensor-RequestCapabilities-r13 Sensor-RequestCapabilities-r13 OPTIONAL, -- Need ON
+ tbs-RequestCapabilities-r13 TBS-RequestCapabilities-r13 OPTIONAL, -- Need ON
+ wlan-RequestCapabilities-r13 WLAN-RequestCapabilities-r13 OPTIONAL, -- Need ON
+ bt-RequestCapabilities-r13 BT-RequestCapabilities-r13 OPTIONAL -- Need ON
+ ]],
+ [[ nr-ECID-RequestCapabilities-r16 NR-ECID-RequestCapabilities-r16 OPTIONAL, -- Need ON
+ nr-Multi-RTT-RequestCapabilities-r16
+ NR-Multi-RTT-RequestCapabilities-r16
+ OPTIONAL, -- Need ON
+ nr-DL-AoD-RequestCapabilities-r16
+ NR-DL-AoD-RequestCapabilities-r16 OPTIONAL, -- Need ON
+ nr-DL-TDOA-RequestCapabilities-r16
+ NR-DL-TDOA-RequestCapabilities-r16 OPTIONAL, -- Need ON
+ nr-UL-RequestCapabilities-r16 NR-UL-RequestCapabilities-r16 OPTIONAL -- Need ON
+ ]]
+}
+
+
+ProvideCapabilities ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ provideCapabilities-r9 ProvideCapabilities-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ProvideCapabilities-r9-IEs ::= SEQUENCE {
+ commonIEsProvideCapabilities CommonIEsProvideCapabilities OPTIONAL,
+ a-gnss-ProvideCapabilities A-GNSS-ProvideCapabilities OPTIONAL,
+ otdoa-ProvideCapabilities OTDOA-ProvideCapabilities OPTIONAL,
+ ecid-ProvideCapabilities ECID-ProvideCapabilities OPTIONAL,
+ epdu-ProvideCapabilities EPDU-Sequence OPTIONAL,
+ ...,
+ [[ sensor-ProvideCapabilities-r13 Sensor-ProvideCapabilities-r13 OPTIONAL,
+ tbs-ProvideCapabilities-r13 TBS-ProvideCapabilities-r13 OPTIONAL,
+ wlan-ProvideCapabilities-r13 WLAN-ProvideCapabilities-r13 OPTIONAL,
+ bt-ProvideCapabilities-r13 BT-ProvideCapabilities-r13 OPTIONAL
+ ]],
+ [[ nr-ECID-ProvideCapabilities-r16 NR-ECID-ProvideCapabilities-r16 OPTIONAL,
+ nr-Multi-RTT-ProvideCapabilities-r16
+ NR-Multi-RTT-ProvideCapabilities-r16 OPTIONAL,
+ nr-DL-AoD-ProvideCapabilities-r16
+ NR-DL-AoD-ProvideCapabilities-r16 OPTIONAL,
+ nr-DL-TDOA-ProvideCapabilities-r16
+ NR-DL-TDOA-ProvideCapabilities-r16 OPTIONAL,
+ nr-UL-ProvideCapabilities-r16 NR-UL-ProvideCapabilities-r16 OPTIONAL
+ ]]
+}
+
+
+RequestAssistanceData ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ requestAssistanceData-r9 RequestAssistanceData-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RequestAssistanceData-r9-IEs ::= SEQUENCE {
+ commonIEsRequestAssistanceData CommonIEsRequestAssistanceData OPTIONAL,
+ a-gnss-RequestAssistanceData A-GNSS-RequestAssistanceData OPTIONAL,
+ otdoa-RequestAssistanceData OTDOA-RequestAssistanceData OPTIONAL,
+ epdu-RequestAssistanceData EPDU-Sequence OPTIONAL,
+ ...,
+ [[ sensor-RequestAssistanceData-r14
+ Sensor-RequestAssistanceData-r14 OPTIONAL,
+ tbs-RequestAssistanceData-r14 TBS-RequestAssistanceData-r14 OPTIONAL,
+ wlan-RequestAssistanceData-r14 WLAN-RequestAssistanceData-r14 OPTIONAL
+ ]],
+ [[ nr-Multi-RTT-RequestAssistanceData-r16 NR-Multi-RTT-RequestAssistanceData-r16 OPTIONAL,
+ nr-DL-AoD-RequestAssistanceData-r16 NR-DL-AoD-RequestAssistanceData-r16 OPTIONAL,
+ nr-DL-TDOA-RequestAssistanceData-r16 NR-DL-TDOA-RequestAssistanceData-r16 OPTIONAL
+ ]]
+}
+
+
+ProvideAssistanceData ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ provideAssistanceData-r9 ProvideAssistanceData-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ProvideAssistanceData-r9-IEs ::= SEQUENCE {
+ commonIEsProvideAssistanceData CommonIEsProvideAssistanceData OPTIONAL, -- Need ON
+ a-gnss-ProvideAssistanceData A-GNSS-ProvideAssistanceData OPTIONAL, -- Need ON
+ otdoa-ProvideAssistanceData OTDOA-ProvideAssistanceData OPTIONAL, -- Need ON
+ epdu-Provide-Assistance-Data EPDU-Sequence OPTIONAL, -- Need ON
+ ...,
+ [[
+ sensor-ProvideAssistanceData-r14 Sensor-ProvideAssistanceData-r14 OPTIONAL, -- Need ON
+ tbs-ProvideAssistanceData-r14 TBS-ProvideAssistanceData-r14 OPTIONAL, -- Need ON
+ wlan-ProvideAssistanceData-r14 WLAN-ProvideAssistanceData-r14 OPTIONAL -- Need ON
+ ]],
+ [[ nr-Multi-RTT-ProvideAssistanceData-r16
+ NR-Multi-RTT-ProvideAssistanceData-r16
+ OPTIONAL, -- Need ON
+ nr-DL-AoD-ProvideAssistanceData-r16
+ NR-DL-AoD-ProvideAssistanceData-r16 OPTIONAL, -- Need ON
+ nr-DL-TDOA-ProvideAssistanceData-r16
+ NR-DL-TDOA-ProvideAssistanceData-r16
+ OPTIONAL -- Need ON
+ ]]
+}
+
+
+RequestLocationInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ requestLocationInformation-r9 RequestLocationInformation-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RequestLocationInformation-r9-IEs ::= SEQUENCE {
+ commonIEsRequestLocationInformation
+ CommonIEsRequestLocationInformation OPTIONAL, -- Need ON
+ a-gnss-RequestLocationInformation A-GNSS-RequestLocationInformation OPTIONAL, -- Need ON
+ otdoa-RequestLocationInformation OTDOA-RequestLocationInformation OPTIONAL, -- Need ON
+ ecid-RequestLocationInformation ECID-RequestLocationInformation OPTIONAL, -- Need ON
+ epdu-RequestLocationInformation EPDU-Sequence OPTIONAL, -- Need ON
+ ...,
+ [[
+ sensor-RequestLocationInformation-r13
+ Sensor-RequestLocationInformation-r13
+ OPTIONAL, -- Need ON
+ tbs-RequestLocationInformation-r13 TBS-RequestLocationInformation-r13 OPTIONAL, -- Need ON
+ wlan-RequestLocationInformation-r13 WLAN-RequestLocationInformation-r13 OPTIONAL, -- Need ON
+ bt-RequestLocationInformation-r13 BT-RequestLocationInformation-r13 OPTIONAL -- Need ON
+ ]],
+ [[ nr-ECID-RequestLocationInformation-r16
+ NR-ECID-RequestLocationInformation-r16
+ OPTIONAL, -- Need ON
+ nr-Multi-RTT-RequestLocationInformation-r16
+ NR-Multi-RTT-RequestLocationInformation-r16
+ OPTIONAL, -- Need ON
+ nr-DL-AoD-RequestLocationInformation-r16
+ NR-DL-AoD-RequestLocationInformation-r16
+ OPTIONAL, -- Need ON
+ nr-DL-TDOA-RequestLocationInformation-r16
+ NR-DL-TDOA-RequestLocationInformation-r16
+ OPTIONAL -- Need ON
+ ]]
+}
+
+
+ProvideLocationInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ provideLocationInformation-r9 ProvideLocationInformation-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ProvideLocationInformation-r9-IEs ::= SEQUENCE {
+ commonIEsProvideLocationInformation
+ CommonIEsProvideLocationInformation OPTIONAL,
+ a-gnss-ProvideLocationInformation A-GNSS-ProvideLocationInformation OPTIONAL,
+ otdoa-ProvideLocationInformation OTDOA-ProvideLocationInformation OPTIONAL,
+ ecid-ProvideLocationInformation ECID-ProvideLocationInformation OPTIONAL,
+ epdu-ProvideLocationInformation EPDU-Sequence OPTIONAL,
+ ...,
+ [[
+ sensor-ProvideLocationInformation-r13
+ Sensor-ProvideLocationInformation-r13
+ OPTIONAL,
+ tbs-ProvideLocationInformation-r13 TBS-ProvideLocationInformation-r13 OPTIONAL,
+ wlan-ProvideLocationInformation-r13 WLAN-ProvideLocationInformation-r13 OPTIONAL,
+ bt-ProvideLocationInformation-r13 BT-ProvideLocationInformation-r13 OPTIONAL
+ ]],
+ [[ nr-ECID-ProvideLocationInformation-r16
+ NR-ECID-ProvideLocationInformation-r16 OPTIONAL,
+ nr-Multi-RTT-ProvideLocationInformation-r16
+ NR-Multi-RTT-ProvideLocationInformation-r16 OPTIONAL,
+ nr-DL-AoD-ProvideLocationInformation-r16
+ NR-DL-AoD-ProvideLocationInformation-r16 OPTIONAL,
+ nr-DL-TDOA-ProvideLocationInformation-r16
+ NR-DL-TDOA-ProvideLocationInformation-r16 OPTIONAL
+ ]]
+}
+
+
+Abort ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ abort-r9 Abort-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+Abort-r9-IEs ::= SEQUENCE {
+ commonIEsAbort CommonIEsAbort OPTIONAL, -- Need ON
+ ...,
+ epdu-Abort EPDU-Sequence OPTIONAL -- Need ON
+}
+
+
+Error ::= CHOICE {
+ error-r9 Error-r9-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+}
+
+Error-r9-IEs ::= SEQUENCE {
+ commonIEsError CommonIEsError OPTIONAL, -- Need ON
+ ...,
+ epdu-Error EPDU-Sequence OPTIONAL -- Need ON
+}
+
+AccessTypes ::= SEQUENCE {
+ accessTypes BIT STRING { eutra (0),
+ utra (1),
+ gsm (2),
+ nb-iot (3),
+ nr-v1510 (4) } (SIZE (1..8)),
+ ...
+}
+
+
+ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN)
+
+ARFCN-ValueEUTRA-v9a0 ::= INTEGER (maxEARFCN-Plus1..maxEARFCN2)
+
+ARFCN-ValueEUTRA-r14 ::= INTEGER (0..maxEARFCN2)
+
+
+ARFCN-ValueNR-r15 ::= INTEGER (0..3279165)
+
+
+ARFCN-ValueUTRA ::= INTEGER (0..16383)
+
+
+CarrierFreq-NB-r14 ::= SEQUENCE {
+ carrierFreq-r14 ARFCN-ValueEUTRA-r14,
+ carrierFreqOffset-r14 CarrierFreqOffsetNB-r14 OPTIONAL,
+ ...
+}
+
+
+CarrierFreqOffsetNB-r14 ::= ENUMERATED {
+ v-10, v-9, v-8, v-7, v-6, v-5, v-4, v-3, v-2, v-1, v-0dot5,
+ v0, v1, v2, v3, v4, v5, v6, v7, v8, v9
+ }
+
+
+CellGlobalIdEUTRA-AndUTRA ::= SEQUENCE {
+ plmn-Identity SEQUENCE {
+ mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
+ mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9)
+ },
+ cellIdentity CHOICE {
+ eutra BIT STRING (SIZE (28)),
+ utra BIT STRING (SIZE (32))
+ },
+ ...
+}
+
+
+CellGlobalIdGERAN ::= SEQUENCE {
+ plmn-Identity SEQUENCE {
+ mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
+ mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9)
+ },
+ locationAreaCode BIT STRING (SIZE (16)),
+ cellIdentity BIT STRING (SIZE (16)),
+ ...
+}
+
+
+ECGI ::= SEQUENCE {
+ mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
+ mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9),
+ cellidentity BIT STRING (SIZE (28))
+}
+
+
+Ellipsoid-Point ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ degreesLatitude INTEGER (0..8388607), -- 23 bit field
+ degreesLongitude INTEGER (-8388608..8388607) -- 24 bit field
+}
+
+
+Ellipsoid-PointWithUncertaintyCircle ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ degreesLatitude INTEGER (0..8388607), -- 23 bit field
+ degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field
+ uncertainty INTEGER (0..127)
+}
+
+
+EllipsoidPointWithUncertaintyEllipse ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ degreesLatitude INTEGER (0..8388607), -- 23 bit field
+ degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field
+ uncertaintySemiMajor INTEGER (0..127),
+ uncertaintySemiMinor INTEGER (0..127),
+ orientationMajorAxis INTEGER (0..179),
+ confidence INTEGER (0..100)
+}
+
+
+EllipsoidPointWithAltitude ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ degreesLatitude INTEGER (0..8388607), -- 23 bit field
+ degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field
+ altitudeDirection ENUMERATED {height, depth},
+ altitude INTEGER (0..32767) -- 15 bit field
+}
+
+
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ degreesLatitude INTEGER (0..8388607), -- 23 bit field
+ degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field
+ altitudeDirection ENUMERATED {height, depth},
+ altitude INTEGER (0..32767), -- 15 bit field
+ uncertaintySemiMajor INTEGER (0..127),
+ uncertaintySemiMinor INTEGER (0..127),
+ orientationMajorAxis INTEGER (0..179),
+ uncertaintyAltitude INTEGER (0..127),
+ confidence INTEGER (0..100)
+}
+
+
+EllipsoidArc ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ degreesLatitude INTEGER (0..8388607), -- 23 bit field
+ degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field
+ innerRadius INTEGER (0..65535), -- 16 bit field,
+ uncertaintyRadius INTEGER (0..127),
+ offsetAngle INTEGER (0..179),
+ includedAngle INTEGER (0..179),
+ confidence INTEGER (0..100)
+}
+
+
+EPDU-Sequence ::= SEQUENCE (SIZE (1..maxEPDU)) OF EPDU
+
+maxEPDU INTEGER ::= 16
+
+EPDU ::= SEQUENCE {
+ ePDU-Identifier EPDU-Identifier,
+ ePDU-Body EPDU-Body
+}
+
+EPDU-Identifier ::= SEQUENCE {
+ ePDU-ID EPDU-ID,
+ ePDU-Name EPDU-Name OPTIONAL,
+ ...
+}
+
+EPDU-ID ::= INTEGER (1..256)
+
+EPDU-Name ::= VisibleString (SIZE (1..32))
+
+EPDU-Body ::= OCTET STRING
+
+
+FreqBandIndicatorNR-r16 ::= INTEGER (1..1024)
+
+
+HA-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16 ::= SEQUENCE {
+ degreesLatitude-r16 INTEGER(-2147483648..2147483647),
+ degreesLongitude-r16 INTEGER(-2147483648..2147483647),
+ altitude-r16 INTEGER(-64000..1280000),
+ uncertaintySemiMajor-r16 INTEGER (0..255),
+ uncertaintySemiMinor-r16 INTEGER (0..255),
+ orientationMajorAxis-r16 INTEGER (0..179),
+ horizontalConfidence-r16 INTEGER (0..100),
+ uncertaintyAltitude-r16 INTEGER (0..255),
+ verticalConfidence-r16 INTEGER (0..100),
+ ha-HorizontalExtendedRangeUsed-r16 BOOLEAN,
+ ha-VerticalExtendedRangeUsed-r16 BOOLEAN
+}
+
+
+HA-EllipsoidPointWithScalableUncertaintyEllipse-r16 ::= SEQUENCE {
+ degreesLatitude-r16 INTEGER(-2147483648..2147483647),
+ degreesLongitude-r16 INTEGER(-2147483648..2147483647),
+ uncertaintySemiMajor-r16 INTEGER (0..255),
+ uncertaintySemiMinor-r16 INTEGER (0..255),
+ orientationMajorAxis-r16 INTEGER (0..179),
+ confidence-r16 INTEGER (0..100),
+ ha-ExtendedUncertaintyRangeUsed-r16 BOOLEAN
+}
+
+
+HighAccuracyEllipsoidPointWithUncertaintyEllipse-r15 ::= SEQUENCE {
+ degreesLatitude-r15 INTEGER(-2147483648..2147483647),
+ degreesLongitude-r15 INTEGER(-2147483648..2147483647),
+ uncertaintySemiMajor-r15 INTEGER (0..255),
+ uncertaintySemiMinor-r15 INTEGER (0..255),
+ orientationMajorAxis-r15 INTEGER (0..179),
+ confidence-r15 INTEGER (0..100)
+}
+
+
+HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15 ::= SEQUENCE {
+ degreesLatitude-r15 INTEGER(-2147483648..2147483647),
+ degreesLongitude-r15 INTEGER(-2147483648..2147483647),
+ altitude-r15 INTEGER(-64000..1280000),
+ uncertaintySemiMajor-r15 INTEGER (0..255),
+ uncertaintySemiMinor-r15 INTEGER (0..255),
+ orientationMajorAxis-r15 INTEGER (0..179),
+ horizontalConfidence-r15 INTEGER (0..100),
+ uncertaintyAltitude-r15 INTEGER (0..255),
+ verticalConfidence-r15 INTEGER (0..100)
+}
+
+
+HorizontalVelocity ::= SEQUENCE {
+ bearing INTEGER(0..359),
+ horizontalSpeed INTEGER(0..2047)
+}
+
+
+HorizontalWithVerticalVelocity ::= SEQUENCE {
+ bearing INTEGER(0..359),
+ horizontalSpeed INTEGER(0..2047),
+ verticalDirection ENUMERATED{upward, downward},
+ verticalSpeed INTEGER(0..255)
+}
+
+
+HorizontalVelocityWithUncertainty ::= SEQUENCE {
+ bearing INTEGER(0..359),
+ horizontalSpeed INTEGER(0..2047),
+ uncertaintySpeed INTEGER(0..255)
+}
+
+
+HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
+ bearing INTEGER(0..359),
+ horizontalSpeed INTEGER(0..2047),
+ verticalDirection ENUMERATED{upward, downward},
+ verticalSpeed INTEGER(0..255),
+ horizontalUncertaintySpeed INTEGER(0..255),
+ verticalUncertaintySpeed INTEGER(0..255)
+}
+
+
+LocationCoordinateTypes ::= SEQUENCE {
+ ellipsoidPoint BOOLEAN,
+ ellipsoidPointWithUncertaintyCircle BOOLEAN,
+ ellipsoidPointWithUncertaintyEllipse BOOLEAN,
+ polygon BOOLEAN,
+ ellipsoidPointWithAltitude BOOLEAN,
+ ellipsoidPointWithAltitudeAndUncertaintyEllipsoid BOOLEAN,
+ ellipsoidArc BOOLEAN,
+ ...,
+ [[
+ highAccuracyEllipsoidPointWithUncertaintyEllipse-r15
+ BOOLEAN OPTIONAL, -- Need ON
+ highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15
+ BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[
+ ha-EllipsoidPointWithScalableUncertaintyEllipse-r16
+ BOOLEAN OPTIONAL, -- Need ON
+ ha-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16
+ BOOLEAN OPTIONAL -- Need ON
+ ]]
+}
+
+
+NCGI-r15 ::= SEQUENCE {
+ mcc-r15 SEQUENCE (SIZE (3)) OF INTEGER (0..9),
+ mnc-r15 SEQUENCE (SIZE (2..3)) OF INTEGER (0..9),
+ nr-cellidentity-r15 BIT STRING (SIZE (36))
+}
+
+
+NR-PhysCellID-r16 ::= INTEGER (0..1007)
+
+
+PeriodicAssistanceDataControlParameters-r15 ::= SEQUENCE {
+ periodicSessionID-r15 PeriodicSessionID-r15,
+ ...,
+ [[
+ updateCapabilities-r15 UpdateCapabilities-r15 OPTIONAL -- Need ON
+ ]]
+}
+
+PeriodicSessionID-r15 ::= SEQUENCE {
+ periodicSessionInitiator-r15 ENUMERATED { locationServer, targetDevice, ... },
+ periodicSessionNumber-r15 INTEGER (0..255),
+ ...
+}
+
+UpdateCapabilities-r15 ::= BIT STRING {primaryCellID-r15 (0)} (SIZE(1..8))
+
+
+Polygon ::= SEQUENCE (SIZE (3..15)) OF PolygonPoints
+
+PolygonPoints ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ degreesLatitude INTEGER (0..8388607), -- 23 bit field
+ degreesLongitude INTEGER (-8388608..8388607) -- 24 bit field
+}
+
+
+PositioningModes ::= SEQUENCE {
+ posModes BIT STRING { standalone (0),
+ ue-based (1),
+ ue-assisted (2)
+ } (SIZE (1..8)),
+ ...
+}
+
+
+ScheduledLocationTimeSupport-r17 ::= SEQUENCE {
+ utcTime-r17 ENUMERATED { supported } OPTIONAL,
+ gnssTime-r17 GNSS-ID-Bitmap OPTIONAL,
+ e-utraTime-r17 ENUMERATED { supported } OPTIONAL,
+ nrTime-r17 ENUMERATED { supported } OPTIONAL,
+ relativeTime-r17 ENUMERATED { supported } OPTIONAL,
+ ...
+}
+
+
+ScheduledLocationTimeSupportPerMode-r17 ::= SEQUENCE {
+ utcTime-r17 PositioningModes OPTIONAL,
+ gnssTime-r17 SEQUENCE {
+ posModes-r17 PositioningModes,
+ gnss-TimeIDs-r17 GNSS-ID-Bitmap
+ } OPTIONAL,
+ e-utraTime-r17 PositioningModes OPTIONAL,
+ nrTime-r17 PositioningModes OPTIONAL,
+ relativeTime-r17 PositioningModes OPTIONAL,
+ ...
+}
+
+
+SegmentationInfo-r14 ::= ENUMERATED { noMoreMessages, moreMessagesOnTheWay }
+
+
+VelocityTypes ::= SEQUENCE {
+ horizontalVelocity BOOLEAN,
+ horizontalWithVerticalVelocity BOOLEAN,
+ horizontalVelocityWithUncertainty BOOLEAN,
+ horizontalWithVerticalVelocityAndUncertainty BOOLEAN,
+ ...
+}
+
+
+CommonIEsRequestCapabilities ::= SEQUENCE {
+ ...,
+ [[
+ lpp-message-segmentation-req-r14 BIT STRING { serverToTarget (0),
+ targetToServer (1) } OPTIONAL -- Need ON
+ ]]
+}
+
+
+CommonIEsProvideCapabilities ::= SEQUENCE {
+ ...,
+ [[
+ segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL, -- Cond Segmentation
+ lpp-message-segmentation-r14 BIT STRING { serverToTarget (0),
+ targetToServer (1) } OPTIONAL
+ ]]
+}
+
+
+CommonIEsRequestAssistanceData ::= SEQUENCE {
+ primaryCellID ECGI OPTIONAL, -- Cond EUTRA
+ ...,
+ [[
+ segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL -- Cond Segmentation
+ ]],
+ [[
+ periodicAssistanceDataReq-r15
+ PeriodicAssistanceDataControlParameters-r15
+ OPTIONAL, -- Cond PerADreq
+ primaryCellID-r15 NCGI-r15 OPTIONAL -- Cond NR
+ ]]
+}
+
+
+CommonIEsProvideAssistanceData ::= SEQUENCE {
+ ...,
+ [[
+ segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL -- Need ON
+ ]],
+ [[
+ periodicAssistanceData-r15 PeriodicAssistanceDataControlParameters-r15
+ OPTIONAL -- Cond PerAD
+ ]]
+}
+
+
+CommonIEsRequestLocationInformation ::= SEQUENCE {
+ locationInformationType LocationInformationType,
+ triggeredReporting TriggeredReportingCriteria OPTIONAL, -- Cond ECID
+ periodicalReporting PeriodicalReportingCriteria OPTIONAL, -- Need ON
+ additionalInformation AdditionalInformation OPTIONAL, -- Need ON
+ qos QoS OPTIONAL, -- Need ON
+ environment Environment OPTIONAL, -- Need ON
+ locationCoordinateTypes LocationCoordinateTypes OPTIONAL, -- Need ON
+ velocityTypes VelocityTypes OPTIONAL, -- Need ON
+ ...,
+ [[
+ messageSizeLimitNB-r14 MessageSizeLimitNB-r14 OPTIONAL -- Need ON
+ ]],
+ [[
+ segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL -- Need ON
+ ]],
+ [[
+ scheduledLocationTime-r17
+ ScheduledLocationTime-r17 OPTIONAL, -- Need ON
+ targetIntegrityRisk-r17
+ TargetIntegrityRisk-r17 OPTIONAL -- Need ON
+ ]]
+}
+
+LocationInformationType ::= ENUMERATED {
+ locationEstimateRequired,
+ locationMeasurementsRequired,
+ locationEstimatePreferred,
+ locationMeasurementsPreferred,
+ ...
+}
+
+PeriodicalReportingCriteria ::= SEQUENCE {
+ reportingAmount ENUMERATED {
+ ra1, ra2, ra4, ra8, ra16, ra32,
+ ra64, ra-Infinity
+ } DEFAULT ra-Infinity,
+ reportingInterval ENUMERATED {
+ noPeriodicalReporting, ri0-25,
+ ri0-5, ri1, ri2, ri4, ri8, ri16, ri32, ri64
+ }
+}
+
+TriggeredReportingCriteria ::= SEQUENCE {
+ cellChange BOOLEAN,
+ reportingDuration ReportingDuration,
+ ...
+}
+
+ReportingDuration ::= INTEGER (0..255)
+
+AdditionalInformation ::= ENUMERATED {
+ onlyReturnInformationRequested,
+ mayReturnAdditionalInformation,
+ ...
+}
+
+QoS ::= SEQUENCE {
+ horizontalAccuracy HorizontalAccuracy OPTIONAL, -- Need ON
+ verticalCoordinateRequest BOOLEAN,
+ verticalAccuracy VerticalAccuracy OPTIONAL, -- Need ON
+ responseTime ResponseTime OPTIONAL, -- Need ON
+ velocityRequest BOOLEAN,
+ ...,
+ [[ responseTimeNB-r14 ResponseTimeNB-r14 OPTIONAL -- Need ON
+ ]],
+ [[ horizontalAccuracyExt-r15 HorizontalAccuracyExt-r15 OPTIONAL, -- Need ON
+ verticalAccuracyExt-r15 VerticalAccuracyExt-r15 OPTIONAL -- Need ON
+ ]]
+}
+
+HorizontalAccuracy ::= SEQUENCE {
+ accuracy INTEGER(0..127),
+ confidence INTEGER(0..100),
+ ...
+}
+
+VerticalAccuracy ::= SEQUENCE {
+ accuracy INTEGER(0..127),
+ confidence INTEGER(0..100),
+ ...
+}
+
+HorizontalAccuracyExt-r15 ::= SEQUENCE {
+ accuracyExt-r15 INTEGER(0..255),
+ confidence-r15 INTEGER(0..100),
+ ...
+}
+
+VerticalAccuracyExt-r15 ::= SEQUENCE {
+ accuracyExt-r15 INTEGER(0..255),
+ confidence-r15 INTEGER(0..100),
+ ...
+}
+
+ResponseTime ::= SEQUENCE {
+ time INTEGER (1..128),
+ ...,
+ [[ responseTimeEarlyFix-r12 INTEGER (1..128) OPTIONAL -- Need ON
+ ]],
+ [[ unit-r15 ENUMERATED { ten-seconds, ... , ten-milli-seconds-v1700 }
+ OPTIONAL -- Need ON
+ ]]
+}
+
+ResponseTimeNB-r14 ::= SEQUENCE {
+ timeNB-r14 INTEGER (1..512),
+ responseTimeEarlyFixNB-r14 INTEGER (1..512) OPTIONAL, -- Need ON
+ ...,
+ [[ unitNB-r15 ENUMERATED { ten-seconds, ... } OPTIONAL -- Need ON
+ ]]
+}
+
+Environment ::= ENUMERATED {
+ badArea,
+ notBadArea,
+ mixedArea,
+ ...
+}
+
+MessageSizeLimitNB-r14 ::= SEQUENCE {
+ measurementLimit-r14 INTEGER (1..512) OPTIONAL, -- Need ON
+ ...
+}
+
+ScheduledLocationTime-r17 ::= SEQUENCE {
+ utcTime-r17 UTCTime OPTIONAL, -- Need ON
+ gnssTime-r17 SEQUENCE {
+ gnss-TOD-msec-r17 INTEGER (0..3599999),
+ gnss-TimeID-r17 GNSS-ID
+ } OPTIONAL, -- Need ON
+ networkTime-r17 CHOICE {
+ e-utraTime-r17 SEQUENCE {
+ lte-PhysCellId-r17 INTEGER (0..503),
+ lte-ArfcnEUTRA-r17 ARFCN-ValueEUTRA,
+ lte-CellGlobalId-r17 CellGlobalIdEUTRA-AndUTRA
+ OPTIONAL, -- Need ON
+ lte-SystemFrameNumber-r17 INTEGER (0..1023)
+ },
+ nrTime-r17 SEQUENCE {
+ nr-PhysCellID-r17 NR-PhysCellID-r16,
+ nr-ARFCN-r17 ARFCN-ValueNR-r15,
+ nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON
+ nr-SFN-r17 INTEGER (0..1023),
+ nr-Slot-r17 CHOICE {
+ scs15-r17 INTEGER (0..9),
+ scs30-r17 INTEGER (0..19),
+ scs60-r17 INTEGER (0..39),
+ scs120-r17 INTEGER (0..79)
+ } OPTIONAL -- Need ON
+ },
+ ...
+ } OPTIONAL, -- Need ON
+ relativeTime-r17 INTEGER (1..1024) OPTIONAL -- Need ON
+}
+
+TargetIntegrityRisk-r17 ::= INTEGER (10..90)
+
+
+CommonIEsProvideLocationInformation ::= SEQUENCE {
+ locationEstimate LocationCoordinates OPTIONAL,
+ velocityEstimate Velocity OPTIONAL,
+ locationError LocationError OPTIONAL,
+ ...,
+ [[ earlyFixReport-r12 EarlyFixReport-r12 OPTIONAL
+ ]],
+ [[ locationSource-r13 LocationSource-r13 OPTIONAL,
+ locationTimestamp-r13 UTCTime OPTIONAL
+ ]],
+ [[
+ segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL -- Cond Segmentation
+ ]],
+ [[
+ integrityInfo-r17 IntegrityInfo-r17 OPTIONAL
+ ]]
+}
+
+LocationCoordinates ::= CHOICE {
+ ellipsoidPoint Ellipsoid-Point,
+ ellipsoidPointWithUncertaintyCircle Ellipsoid-PointWithUncertaintyCircle,
+ ellipsoidPointWithUncertaintyEllipse EllipsoidPointWithUncertaintyEllipse,
+ polygon Polygon,
+ ellipsoidPointWithAltitude EllipsoidPointWithAltitude,
+ ellipsoidPointWithAltitudeAndUncertaintyEllipsoid
+ EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+ ellipsoidArc EllipsoidArc,
+ ...,
+ highAccuracyEllipsoidPointWithUncertaintyEllipse-v1510
+ HighAccuracyEllipsoidPointWithUncertaintyEllipse-r15,
+ highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-v1510
+ HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15,
+ ha-EllipsoidPointWithScalableUncertaintyEllipse-v1680 HA-EllipsoidPointWithScalableUncertaintyEllipse-r16,
+ ha-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-v1680
+ HA-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16
+}
+
+Velocity ::= CHOICE {
+ horizontalVelocity HorizontalVelocity,
+ horizontalWithVerticalVelocity HorizontalWithVerticalVelocity,
+ horizontalVelocityWithUncertainty HorizontalVelocityWithUncertainty,
+ horizontalWithVerticalVelocityAndUncertainty
+ HorizontalWithVerticalVelocityAndUncertainty,
+ ...
+}
+
+LocationError ::= SEQUENCE {
+ locationfailurecause LocationFailureCause,
+ ...
+}
+
+LocationFailureCause ::= ENUMERATED {
+ undefined,
+ requestedMethodNotSupported,
+ positionMethodFailure,
+ periodicLocationMeasurementsNotAvailable,
+ ...
+}
+
+EarlyFixReport-r12 ::= ENUMERATED {
+ noMoreMessages,
+ moreMessagesOnTheWay
+}
+
+LocationSource-r13 ::= BIT STRING { a-gnss (0),
+ wlan (1),
+ bt (2),
+ tbs (3),
+ sensor (4),
+ ha-gnss-v1510 (5),
+ motion-sensor-v1550 (6),
+ dl-tdoa-r16 (7),
+ dl-aod-r16 (8) } (SIZE(1..16))
+
+IntegrityInfo-r17 ::= SEQUENCE {
+ horizontalProtectionLevel-r17 INTEGER (0..50000),
+ verticalProtectionLevel-r17 INTEGER (0..50000) OPTIONAL,
+ achievableTargetIntegrityRisk-r17 INTEGER (10..90) OPTIONAL,
+ ...
+}
+
+
+CommonIEsAbort ::= SEQUENCE {
+ abortCause ENUMERATED {
+ undefined,
+ stopPeriodicReporting,
+ targetDeviceAbort,
+ networkAbort,
+ ...,
+ stopPeriodicAssistanceDataDelivery-v1510
+ }
+}
+
+
+CommonIEsError ::= SEQUENCE {
+ errorCause ENUMERATED {
+ undefined,
+ lppMessageHeaderError,
+ lppMessageBodyError,
+ epduError,
+ incorrectDataValue,
+ ...,
+ lppSegmentationError-v1450
+ }
+}
+
+
+AreaID-CellList-r17 ::= SEQUENCE (SIZE(1..maxCellIDsPerArea-r17)) OF NR-Cell-IDs-r17
+
+NR-Cell-IDs-r17 ::= SEQUENCE {
+ nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON
+ nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ ...
+}
+
+
+DL-PRS-ID-Info-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ nr-DL-PRS-ResourceID-List-r16 SEQUENCE (SIZE (1..nrMaxResourceIDs-r16)) OF
+ NR-DL-PRS-ResourceID-r16
+ OPTIONAL, -- Need ON
+ nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16
+ OPTIONAL -- Need ON
+}
+
+
+LCS-GCS-TranslationParameter-r16 ::= SEQUENCE {
+ alpha-r16 INTEGER (0..359),
+ alpha-fine-r16 INTEGER (0..9) OPTIONAL, -- Cond AzElFine
+ beta-r16 INTEGER (0..359),
+ beta-fine-r16 INTEGER (0..9) OPTIONAL, -- Cond AzElFine
+ gamma-r16 INTEGER (0..359),
+ gamma-fine-r16 INTEGER (0..9) OPTIONAL, -- Cond AzElFine
+ ...
+}
+
+
+LOS-NLOS-Indicator-r17 ::= SEQUENCE {
+ indicator-r17 CHOICE {
+ soft-r17 INTEGER (0..10),
+ hard-r17 BOOLEAN
+ },
+ ...
+}
+
+
+LOS-NLOS-IndicatorGranularity1-r17 ::= ENUMERATED { trpspecific, resourcespecific }
+
+
+LOS-NLOS-IndicatorGranularity2-r17 ::= ENUMERATED { trpspecific, resourcespecific, both }
+
+
+LOS-NLOS-IndicatorType1-r17 ::= ENUMERATED { hardvalue, softvalue }
+
+
+LOS-NLOS-IndicatorType2-r17 ::= ENUMERATED { hardvalue, hardAndsoftvalue }
+
+
+NR-AdditionalPathList-r16 ::= SEQUENCE (SIZE(1..2)) OF NR-AdditionalPath-r16
+
+NR-AdditionalPathListExt-r17 ::= SEQUENCE (SIZE(1..8)) OF NR-AdditionalPath-r16
+
+NR-AdditionalPath-r16 ::= SEQUENCE {
+ nr-RelativeTimeDifference-r16 CHOICE {
+ k0-r16 INTEGER(0..16351),
+ k1-r16 INTEGER(0..8176),
+ k2-r16 INTEGER(0..4088),
+ k3-r16 INTEGER(0..2044),
+ k4-r16 INTEGER(0..1022),
+ k5-r16 INTEGER(0..511),
+ ...
+ },
+ nr-PathQuality-r16 NR-TimingQuality-r16 OPTIONAL,
+ ...,
+ [[
+ nr-DL-PRS-RSRPP-r17 INTEGER (0..126) OPTIONAL
+ ]]
+}
+
+
+NR-DL-PRS-AssistanceData-r16 ::= SEQUENCE {
+ nr-DL-PRS-ReferenceInfo-r16 DL-PRS-ID-Info-r16,
+ nr-DL-PRS-AssistanceDataList-r16 SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
+ NR-DL-PRS-AssistanceDataPerFreq-r16,
+ nr-SSB-Config-r16 SEQUENCE (SIZE (1..nrMaxTRPs-r16)) OF
+ NR-SSB-Config-r16 OPTIONAL, -- Need ON
+ ...
+}
+
+NR-DL-PRS-AssistanceDataPerFreq-r16 ::= SEQUENCE {
+ nr-DL-PRS-PositioningFrequencyLayer-r16
+ NR-DL-PRS-PositioningFrequencyLayer-r16,
+ nr-DL-PRS-AssistanceDataPerFreq-r16 SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
+ NR-DL-PRS-AssistanceDataPerTRP-r16,
+ ...
+}
+
+NR-DL-PRS-AssistanceDataPerTRP-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON
+ nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ nr-DL-PRS-SFN0-Offset-r16 NR-DL-PRS-SFN0-Offset-r16,
+ nr-DL-PRS-ExpectedRSTD-r16 INTEGER (-3841..3841),
+ nr-DL-PRS-ExpectedRSTD-Uncertainty-r16
+ INTEGER (0..246),
+ nr-DL-PRS-Info-r16 NR-DL-PRS-Info-r16,
+ ...,
+ [[
+ prs-OnlyTP-r16 ENUMERATED { true } OPTIONAL -- Need ON
+ ]],
+ [[
+ nr-DL-PRS-ExpectedAoD-or-AoA-r17
+ NR-DL-PRS-ExpectedAoD-or-AoA-r17 OPTIONAL -- Need ON
+ ]]
+}
+
+NR-DL-PRS-PositioningFrequencyLayer-r16 ::= SEQUENCE {
+ dl-PRS-SubcarrierSpacing-r16 ENUMERATED {kHz15, kHz30, kHz60, kHz120, ...},
+ dl-PRS-ResourceBandwidth-r16 INTEGER (1..63),
+ dl-PRS-StartPRB-r16 INTEGER (0..2176),
+ dl-PRS-PointA-r16 ARFCN-ValueNR-r15,
+ dl-PRS-CombSizeN-r16 ENUMERATED {n2, n4, n6, n12, ...},
+ dl-PRS-CyclicPrefix-r16 ENUMERATED {normal, extended, ...},
+ ...
+}
+
+NR-DL-PRS-SFN0-Offset-r16 ::= SEQUENCE {
+ sfn-Offset-r16 INTEGER (0..1023),
+ integerSubframeOffset-r16 INTEGER (0..9),
+ ...
+}
+
+NR-DL-PRS-ExpectedAoD-or-AoA-r17 ::= CHOICE {
+ expectedAoD-r17 SEQUENCE {
+ expectedDL-AzimuthAoD-r17 INTEGER (0..359),
+ expectedDL-AzimuthAoD-Unc-r17 INTEGER (0..60) OPTIONAL, -- Need OP
+ expectedDL-ZenithAoD-r17 INTEGER (0..180),
+ expectedDL-ZenithAoD-Unc-r17 INTEGER (0..30) OPTIONAL -- Need OP
+ },
+ expectedAoA-r17 SEQUENCE {
+ expectedDL-AzimuthAoA-r17 INTEGER (0..359),
+ expectedDL-AzimuthAoA-Unc-r17 INTEGER (0..60) OPTIONAL, -- Need OP
+ expectedDL-ZenithAoA-r17 INTEGER (0..180),
+ expectedDL-ZenithAoA-Unc-r17 INTEGER (0..30) OPTIONAL -- Need OP
+ }
+}
+
+
+NR-DL-PRS-BeamInfo-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
+ NR-DL-PRS-BeamInfoPerFreqLayer-r16
+
+NR-DL-PRS-BeamInfoPerFreqLayer-r16 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
+ NR-DL-PRS-BeamInfoPerTRP-r16
+
+NR-DL-PRS-BeamInfoPerTRP-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON
+ nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ associated-DL-PRS-ID-r16 INTEGER (0..255) OPTIONAL, -- Need OP
+ lcs-GCS-TranslationParameter-r16 LCS-GCS-TranslationParameter-r16
+ OPTIONAL, -- Need OP
+ dl-PRS-BeamInfoSet-r16 DL-PRS-BeamInfoSet-r16 OPTIONAL, -- Need OP
+ ...
+}
+
+DL-PRS-BeamInfoSet-r16 ::= SEQUENCE (SIZE(1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF
+ DL-PRS-BeamInfoResourceSet-r16
+
+DL-PRS-BeamInfoResourceSet-r16 ::= SEQUENCE (SIZE(1..nrMaxResourcesPerSet-r16)) OF
+ DL-PRS-BeamInfoElement-r16
+
+DL-PRS-BeamInfoElement-r16 ::= SEQUENCE {
+ dl-PRS-Azimuth-r16 INTEGER (0..359),
+ dl-PRS-Azimuth-fine-r16 INTEGER (0..9) OPTIONAL, -- Need ON
+ dl-PRS-Elevation-r16 INTEGER (0..180) OPTIONAL, -- Need ON
+ dl-PRS-Elevation-fine-r16 INTEGER (0..9) OPTIONAL, -- Need ON
+ ...
+}
+
+
+NR-DL-PRS-ExpectedLOS-NLOS-Assistance-r17 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
+ NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerFreqLayer-r17
+
+NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerFreqLayer-r17 ::=
+ SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
+ NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerTRP-r17
+
+NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerTRP-r17 ::= SEQUENCE {
+ dl-PRS-ID-r17 INTEGER (0..255),
+ nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON
+ nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ nr-los-nlos-indicator-r17 CHOICE {
+ perTrp-r17 LOS-NLOS-Indicator-r17,
+ perResource-r17 SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF
+ NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerResource-r17 },
+ ...
+}
+
+NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerResource-r17 ::=
+ SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF
+ LOS-NLOS-Indicator-r17
+
+
+NR-DL-PRS-Info-r16 ::= SEQUENCE {
+ nr-DL-PRS-ResourceSetList-r16 SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF
+ NR-DL-PRS-ResourceSet-r16,
+ ...
+}
+
+NR-DL-PRS-ResourceSet-r16 ::= SEQUENCE {
+ nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16,
+ dl-PRS-Periodicity-and-ResourceSetSlotOffset-r16
+ NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r16,
+ dl-PRS-ResourceRepetitionFactor-r16 ENUMERATED {n2, n4, n6, n8, n16, n32, ...}
+ OPTIONAL, -- Need OP
+ dl-PRS-ResourceTimeGap-r16 ENUMERATED {s1, s2, s4, s8, s16, s32, ...}
+ OPTIONAL, -- Cond Rep
+ dl-PRS-NumSymbols-r16 ENUMERATED {n2, n4, n6, n12, ...},
+ dl-PRS-MutingOption1-r16 DL-PRS-MutingOption1-r16 OPTIONAL, -- Need OP
+ dl-PRS-MutingOption2-r16 DL-PRS-MutingOption2-r16 OPTIONAL, -- Need OP
+ dl-PRS-ResourcePower-r16 INTEGER (-60..50),
+ dl-PRS-ResourceList-r16 SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF
+ NR-DL-PRS-Resource-r16,
+ ...
+}
+
+DL-PRS-MutingOption1-r16 ::= SEQUENCE {
+ dl-prs-MutingBitRepetitionFactor-r16
+ ENUMERATED { n1, n2, n4, n8, ... } OPTIONAL, -- Need OP
+ nr-option1-muting-r16 NR-MutingPattern-r16,
+ ...
+}
+
+DL-PRS-MutingOption2-r16 ::= SEQUENCE {
+ nr-option2-muting-r16 NR-MutingPattern-r16,
+ ...
+}
+
+NR-MutingPattern-r16 ::= CHOICE {
+ po2-r16 BIT STRING (SIZE(2)),
+ po4-r16 BIT STRING (SIZE(4)),
+ po6-r16 BIT STRING (SIZE(6)),
+ po8-r16 BIT STRING (SIZE(8)),
+ po16-r16 BIT STRING (SIZE(16)),
+ po32-r16 BIT STRING (SIZE(32)),
+ ...
+}
+
+NR-DL-PRS-Resource-r16 ::= SEQUENCE {
+ nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16,
+ dl-PRS-SequenceID-r16 INTEGER (0.. 4095),
+ dl-PRS-CombSizeN-AndReOffset-r16 CHOICE {
+ n2-r16 INTEGER (0..1),
+ n4-r16 INTEGER (0..3),
+ n6-r16 INTEGER (0..5),
+ n12-r16 INTEGER (0..11),
+ ...
+ },
+ dl-PRS-ResourceSlotOffset-r16 INTEGER (0..nrMaxResourceOffsetValue-1-r16),
+ dl-PRS-ResourceSymbolOffset-r16 INTEGER (0..12),
+ dl-PRS-QCL-Info-r16 DL-PRS-QCL-Info-r16 OPTIONAL, --Need ON
+ ...,
+ [[
+ dl-PRS-ResourcePrioritySubset-r17 DL-PRS-ResourcePrioritySubset-r17 OPTIONAL -- Need ON
+ ]]
+}
+
+DL-PRS-QCL-Info-r16 ::= CHOICE {
+ ssb-r16 SEQUENCE {
+ pci-r16 NR-PhysCellID-r16,
+ ssb-Index-r16 INTEGER (0..63),
+ rs-Type-r16 ENUMERATED {typeC, typeD, typeC-plus-typeD}
+ },
+ dl-PRS-r16 SEQUENCE {
+ qcl-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16,
+ qcl-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16
+ }
+}
+
+NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r16 ::= CHOICE {
+ scs15-r16 CHOICE {
+ n4-r16 INTEGER (0..3),
+ n5-r16 INTEGER (0..4),
+ n8-r16 INTEGER (0..7),
+ n10-r16 INTEGER (0..9),
+ n16-r16 INTEGER (0..15),
+ n20-r16 INTEGER (0..19),
+ n32-r16 INTEGER (0..31),
+ n40-r16 INTEGER (0..39),
+ n64-r16 INTEGER (0..63),
+ n80-r16 INTEGER (0..79),
+ n160-r16 INTEGER (0..159),
+ n320-r16 INTEGER (0..319),
+ n640-r16 INTEGER (0..639),
+ n1280-r16 INTEGER (0..1279),
+ n2560-r16 INTEGER (0..2559),
+ n5120-r16 INTEGER (0..5119),
+ n10240-r16 INTEGER (0..10239),
+ ...
+ },
+ scs30-r16 CHOICE {
+ n8-r16 INTEGER (0..7),
+ n10-r16 INTEGER (0..9),
+ n16-r16 INTEGER (0..15),
+ n20-r16 INTEGER (0..19),
+ n32-r16 INTEGER (0..31),
+ n40-r16 INTEGER (0..39),
+ n64-r16 INTEGER (0..63),
+ n80-r16 INTEGER (0..79),
+ n128-r16 INTEGER (0..127),
+ n160-r16 INTEGER (0..159),
+ n320-r16 INTEGER (0..319),
+ n640-r16 INTEGER (0..639),
+ n1280-r16 INTEGER (0..1279),
+ n2560-r16 INTEGER (0..2559),
+ n5120-r16 INTEGER (0..5119),
+ n10240-r16 INTEGER (0..10239),
+ n20480-r16 INTEGER (0..20479),
+ ...
+ },
+ scs60-r16 CHOICE {
+ n16-r16 INTEGER (0..15),
+ n20-r16 INTEGER (0..19),
+ n32-r16 INTEGER (0..31),
+ n40-r16 INTEGER (0..39),
+ n64-r16 INTEGER (0..63),
+ n80-r16 INTEGER (0..79),
+ n128-r16 INTEGER (0..127),
+ n160-r16 INTEGER (0..159),
+ n256-r16 INTEGER (0..255),
+ n320-r16 INTEGER (0..319),
+ n640-r16 INTEGER (0..639),
+ n1280-r16 INTEGER (0..1279),
+ n2560-r16 INTEGER (0..2559),
+ n5120-r16 INTEGER (0..5119),
+ n10240-r16 INTEGER (0..10239),
+ n20480-r16 INTEGER (0..20479),
+ n40960-r16 INTEGER (0..40959),
+ ...
+ },
+ scs120-r16 CHOICE {
+ n32-r16 INTEGER (0..31),
+ n40-r16 INTEGER (0..39),
+ n64-r16 INTEGER (0..63),
+ n80-r16 INTEGER (0..79),
+ n128-r16 INTEGER (0..127),
+ n160-r16 INTEGER (0..159),
+ n256-r16 INTEGER (0..255),
+ n320-r16 INTEGER (0..319),
+ n512-r16 INTEGER (0..511),
+ n640-r16 INTEGER (0..639),
+ n1280-r16 INTEGER (0..1279),
+ n2560-r16 INTEGER (0..2559),
+ n5120-r16 INTEGER (0..5119),
+ n10240-r16 INTEGER (0..10239),
+ n20480-r16 INTEGER (0..20479),
+ n40960-r16 INTEGER (0..40959),
+ n81920-r16 INTEGER (0..81919),
+ ...
+ },
+ ...
+}
+
+DL-PRS-ResourcePrioritySubset-r17 ::= SEQUENCE (SIZE (1..maxNumPrioResources-r17)) OF
+ NR-DL-PRSResourcePriorityItem-r17
+
+NR-DL-PRSResourcePriorityItem-r17 ::= SEQUENCE {
+ nr-DL-PRS-PrioResourceSetID-r17 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, -- Cond NotSame
+ nr-DL-PRS-PrioResourceID-r17 NR-DL-PRS-ResourceID-r16,
+ ...
+}
+
+
+NR-DL-PRS-ProcessingCapability-r16 ::= SEQUENCE {
+ prs-ProcessingCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
+ PRS-ProcessingCapabilityPerBand-r16,
+ maxSupportedFreqLayers-r16 INTEGER (1..4),
+ simulLTE-NR-PRS-r16 ENUMERATED { supported } OPTIONAL,
+ ...,
+ [[
+ dummy ENUMERATED { m1, m2, ... } OPTIONAL
+ ]]
+}
+
+PRS-ProcessingCapabilityPerBand-r16 ::= SEQUENCE {
+ freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16,
+ supportedBandwidthPRS-r16 CHOICE {
+ fr1 ENUMERATED {mhz5, mhz10, mhz20, mhz40,
+ mhz50, mhz80, mhz100},
+ fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400},
+ ...
+ },
+ dl-PRS-BufferType-r16 ENUMERATED {type1, type2, ...},
+ durationOfPRS-Processing-r16 SEQUENCE {
+ durationOfPRS-ProcessingSymbols-r16 ENUMERATED {nDot125, nDot25, nDot5, n1,
+ n2, n4, n6, n8, n12, n16, n20, n25,
+ n30, n32, n35, n40, n45, n50},
+ durationOfPRS-ProcessingSymbolsInEveryTms-r16
+ ENUMERATED {n8, n16, n20, n30, n40, n80,
+ n160,n320, n640, n1280},
+ ...
+ },
+ maxNumOfDL-PRS-ResProcessedPerSlot-r16 SEQUENCE {
+ scs15-r16 ENUMERATED {n1, n2, n4, n8, n16, n24, n32,
+ n48, n64} OPTIONAL,
+ scs30-r16 ENUMERATED {n1, n2, n4, n8, n16, n24, n32,
+ n48, n64} OPTIONAL,
+ scs60-r16 ENUMERATED {n1, n2, n4, n8, n16, n24, n32,
+ n48, n64} OPTIONAL,
+ scs120-r16 ENUMERATED {n1, n2, n4, n8, n16, n24, n32,
+ n48, n64} OPTIONAL,
+ ...,
+ [[
+ scs15-v1690 ENUMERATED {n6, n12} OPTIONAL,
+ scs30-v1690 ENUMERATED {n6, n12} OPTIONAL,
+ scs60-v1690 ENUMERATED {n6, n12} OPTIONAL,
+ scs120-v1690 ENUMERATED {n6, n12} OPTIONAL
+ ]]
+ },
+ ...,
+ [[
+ supportedDL-PRS-ProcessingSamples-RRC-CONNECTED-r17 ENUMERATED { supported } OPTIONAL,
+ prs-ProcessingWindowType1A-r17 ENUMERATED { option1, option2, option3} OPTIONAL,
+ prs-ProcessingWindowType1B-r17 ENUMERATED { option1, option2, option3} OPTIONAL,
+ prs-ProcessingWindowType2-r17 ENUMERATED { option1, option2, option3} OPTIONAL,
+ prs-ProcessingCapabilityOutsideMGinPPW-r17
+ SEQUENCE (SIZE(1..3)) OF
+ PRS-ProcessingCapabilityOutsideMGinPPWperType-r17
+ OPTIONAL,
+ dl-PRS-BufferType-RRC-Inactive-r17 ENUMERATED { type1, type2, ... } OPTIONAL,
+ durationOfPRS-Processing-RRC-Inactive-r17 SEQUENCE {
+ durationOfPRS-ProcessingSymbols-r17 ENUMERATED {nDot125, nDot25, nDot5, n1,
+ n2, n4, n6, n8, n12, n16, n20, n25,
+ n30, n32, n35, n40, n45, n50},
+ durationOfPRS-ProcessingSymbolsInEveryTms-r17
+ ENUMERATED {n8, n16, n20, n30, n40, n80,
+ n160,n320, n640, n1280},
+ ...
+ } OPTIONAL,
+ maxNumOfDL-PRS-ResProcessedPerSlot-RRC-Inactive-r17 SEQUENCE {
+ scs15-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24,
+ n32, n48, n64} OPTIONAL,
+ scs30-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24,
+ n32, n48, n64} OPTIONAL,
+ scs60-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24,
+ n32, n48, n64} OPTIONAL,
+ scs120-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24,
+ n32, n48, n64} OPTIONAL,
+ ...
+ } OPTIONAL,
+ supportedLowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { n1, n2, n4, n6 } OPTIONAL
+ ]],
+ [[
+ supportedDL-PRS-ProcessingSamples-RRC-Inactive-r17 ENUMERATED { supported } OPTIONAL
+ ]],
+ [[
+ prs-MeasurementWithoutMG-r17 ENUMERATED {cp, symbolDot25, symbolDot5,
+ slotDot5} OPTIONAL
+ ]]
+}
+
+PRS-ProcessingCapabilityOutsideMGinPPWperType-r17 ::= SEQUENCE {
+ prsProcessingType-r17 ENUMERATED { type1A, type1B, type2 },
+ ppw-dl-PRS-BufferType-r17 ENUMERATED { type1, type2, ... },
+ ppw-durationOfPRS-Processing1-r17 SEQUENCE {
+ ppw-durationOfPRS-ProcessingSymbolsN-r17
+ ENUMERATED { msDot125, msDot25, msDot5, ms1, ms2, ms4,
+ ms6, ms8, ms12, ms16, ms20, ms25, ms30, ms32, ms35,
+ ms40, ms45, ms50 },
+ ppw-durationOfPRS-ProcessingSymbolsT-r17
+ ENUMERATED { ms1, ms2, ms4, ms8, ms16, ms20, ms30, ms40, ms80,
+ ms160, ms320, ms640, ms1280 }
+ } OPTIONAL,
+ ppw-durationOfPRS-Processing2-r17 SEQUENCE {
+ ppw-durationOfPRS-ProcessingSymbolsN2-r17
+ ENUMERATED { msDot125, msDot25, msDot5, ms1, ms2, ms3, ms4, ms5,
+ ms6, ms8, ms12 },
+ ppw-durationOfPRS-ProcessingSymbolsT2-r17
+ ENUMERATED { ms4, ms5, ms6, ms8 }
+ } OPTIONAL,
+ ppw-maxNumOfDL-PRS-ResProcessedPerSlot-r17 SEQUENCE {
+ scs15-r17 ENUMERATED {n1, n2, n4, n6, n8, n12,
+ n16, n24, n32, n48, n64 }
+ OPTIONAL,
+ scs30-r17 ENUMERATED {n1, n2, n4, n6, n8, n12,
+ n16, n24, n32, n48, n64 }
+ OPTIONAL,
+ scs60-r17 ENUMERATED {n1, n2, n4, n6, n8, n12,
+ n16, n24, n32, n48, n64 }
+ OPTIONAL,
+ scs120-r17 ENUMERATED {n1, n2, n4, n6, n8, n12,
+ n16, n24, n32, n48, n64 }
+ OPTIONAL,
+ ...
+ },
+ ...,
+ [[
+ ppw-maxNumOfDL-Bandwidth-r17 CHOICE {
+ fr1 ENUMERATED {mhz5, mhz10, mhz20, mhz40,
+ mhz50, mhz80, mhz100},
+ fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400}
+ } OPTIONAL
+ ]]
+}
+
+
+NR-DL-PRS-QCL-ProcessingCapability-r16 ::= SEQUENCE {
+ dl-PRS-QCL-ProcessingCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
+ DL-PRS-QCL-ProcessingCapabilityPerBand-r16,
+ ...
+}
+
+DL-PRS-QCL-ProcessingCapabilityPerBand-r16 ::= SEQUENCE {
+ freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16,
+ ssb-FromNeighCellAsQCL-r16 ENUMERATED { supported} OPTIONAL,
+ prs-FromServNeighCellAsQCL-r16 ENUMERATED { supported} OPTIONAL,
+ ...
+}
+
+
+NR-DL-PRS-ResourceID-r16 ::= INTEGER (0..nrMaxNumDL-PRS-ResourcesPerSet-1-r16)
+
+
+NR-DL-PRS-ResourcesCapability-r16 ::= SEQUENCE {
+ maxNrOfDL-PRS-ResourceSetPerTrpPerFrequencyLayer-r16
+ INTEGER (1..2),
+ maxNrOfTRP-AcrossFreqs-r16 ENUMERATED { n4, n6, n12, n16, n32,
+ n64, n128, n256, ..., n24-v1690},
+ maxNrOfPosLayer-r16 INTEGER (1..4),
+ dl-PRS-ResourcesCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
+ DL-PRS-ResourcesCapabilityPerBand-r16,
+ dl-PRS-ResourcesBandCombinationList-r16 DL-PRS-ResourcesBandCombinationList-r16,
+ ...
+}
+
+DL-PRS-ResourcesCapabilityPerBand-r16 ::= SEQUENCE {
+ freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16,
+ maxNrOfDL-PRS-ResourcesPerResourceSet-r16 ENUMERATED { n1, n2, n4, n8, n16, n32, n64, ...},
+ maxNrOfDL-PRS-ResourcesPerPositioningFrequencylayer-r16
+ ENUMERATED { n6, n24, n32, n64, n96, n128,
+ n256, n512, n1024, ...},
+ ...
+}
+
+DL-PRS-ResourcesBandCombinationList-r16 ::= SEQUENCE (SIZE (1..maxBandComb-r16)) OF
+ DL-PRS-ResourcesBandCombination-r16
+
+DL-PRS-ResourcesBandCombination-r16 ::= SEQUENCE {
+ bandList-r16 SEQUENCE (SIZE (1..maxSimultaneousBands-r16)) OF
+ FreqBandIndicatorNR-r16,
+ maxNrOfDL-PRS-ResourcesAcrossAllFL-TRP-ResourceSet-r16
+ CHOICE {
+ fr1-Only-r16 ENUMERATED {n6, n24, n64, n128, n192,
+ n256, n512, n1024, n2048},
+ fr2-Only-r16 ENUMERATED {n24, n64, n96, n128, n192,
+ n256, n512, n1024, n2048},
+ fr1-FR2Mix-r16 SEQUENCE {
+ fr1-r16 ENUMERATED {n6, n24, n64, n96, n128,
+ n192, n256, n512, n1024, n2048},
+ fr2-r16 ENUMERATED {n24, n64, n96, n128, n192,
+ n256, n512, n1024, n2048},
+ ...
+ },
+ ...
+ },
+ ...
+}
+
+
+NR-DL-PRS-ResourceSetID-r16 ::= INTEGER (0..nrMaxNumDL-PRS-ResourceSetsPerTRP-1-r16)
+
+
+NR-DL-PRS-TRP-TEG-Info-r17 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
+ NR-DL-PRS-TRP-TEG-InfoPerFreqLayer-r17
+
+NR-DL-PRS-TRP-TEG-InfoPerFreqLayer-r17 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
+ NR-DL-PRS-TRP-TEG-InfoPerTRP-r17
+
+NR-DL-PRS-TRP-TEG-InfoPerTRP-r17 ::= SEQUENCE {
+ dl-PRS-ID-r17 INTEGER (0..255),
+ nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON
+ nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ dl-PRS-TEG-InfoSet-r17 SEQUENCE (SIZE(1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF
+ DL-PRS-TEG-InfoPerResourceSet-r17,
+ ...,
+ [[
+ nr-TRP-TxTEG-TimingErrorMargin-r17 TEG-TimingErrorMargin-r17 OPTIONAL -- Need ON
+ ]]
+}
+
+DL-PRS-TEG-InfoPerResourceSet-r17 ::= SEQUENCE (SIZE(1..nrMaxResourcesPerSet-r16)) OF
+ DL-PRS-TEG-InfoElement-r17
+
+DL-PRS-TEG-InfoElement-r17 ::= SEQUENCE {
+ dl-prs-trp-Tx-TEG-ID-r17 INTEGER (0..maxNumOfTRP-TxTEGs-1-r17),
+ ...
+}
+
+
+NR-On-Demand-DL-PRS-Configurations-r17 ::= SEQUENCE {
+ on-demand-dl-prs-configuration-list-r17 SEQUENCE (SIZE (1..maxOD-DL-PRS-Configs-r17)) OF
+ On-Demand-DL-PRS-Configuration-r17,
+ ...
+}
+
+On-Demand-DL-PRS-Configuration-r17 ::= SEQUENCE {
+ dl-prs-configuration-id-r17 DL-PRS-Configuration-ID-r17,
+ nr-DL-PRS-PositioningFrequencyLayer-r17 NR-DL-PRS-PositioningFrequencyLayer-r16,
+ nr-DL-PRS-Info-r17 NR-DL-PRS-Info-r16,
+ ...
+}
+
+DL-PRS-Configuration-ID-r17 ::= SEQUENCE {
+ nr-dl-prs-configuration-id-r17 INTEGER (1..maxOD-DL-PRS-Configs-r17),
+ ...
+}
+
+
+NR-On-Demand-DL-PRS-Information-r17 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
+ NR-On-Demand-DL-PRS-PerFreqLayer-r17
+
+NR-On-Demand-DL-PRS-PerFreqLayer-r17 ::= SEQUENCE {
+ dl-prs-FrequencyRangeReq-r17 ENUMERATED { fr1, fr2, ...},
+ dl-prs-ResourceSetPeriodicityReq-r17 ENUMERATED { p4, p5, p8, p10, p16, p20, p32, p40,
+ p64, p80, p160, p320, p640, p1280, p2560,
+ p5120, p10240, p20480, p40960, p81920, ...}
+ OPTIONAL,
+ dl-prs-ResourceBandwidthReq-r17 INTEGER (1..63) OPTIONAL,
+ dl-prs-ResourceRepetitionFactorReq-r17 ENUMERATED {n2, n4, n6, n8, n16, n32, ...}
+ OPTIONAL,
+ dl-prs-NumSymbolsReq-r17 ENUMERATED {n2, n4, n6, n12, ...} OPTIONAL,
+ dl-prs-CombSizeN-Req-r17 ENUMERATED {n2, n4, n6, n12, ...} OPTIONAL,
+ dl-prs-QCL-InformationReqTRPlist-r17 DL-PRS-QCL-InformationReqTRPlist-r17 OPTIONAL,
+ ...
+}
+
+DL-PRS-QCL-InformationReqTRPlist-r17 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
+ DL-PRS-QCL-InformationReqPerTRP-r17
+
+DL-PRS-QCL-InformationReqPerTRP-r17 ::= SEQUENCE {
+ dl-PRS-ID-r17 INTEGER (0..255),
+ nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL,
+ nr-CellGlobalID-r17 NCGI-r15 OPTIONAL,
+ nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL,
+ dl-prs-QCL-InformationReqSet-r17 SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF
+ DL-PRS-QCL-InfoReq-r17,
+ ...
+}
+
+DL-PRS-QCL-InfoReq-r17 ::= SEQUENCE {
+ nr-DL-PRS-ResourceSetID-r17 NR-DL-PRS-ResourceSetID-r16,
+ dl-prs-QCL-InformationReq-r17 CHOICE {
+ dl-prs-QCL-InfoRecPerResourceSet-r17 DL-PRS-QCL-Info-r16,
+ dl-prs-QCL-Info-requested-r17 NULL
+ },
+ ...,
+ [[
+ dl-prs-QCL-InfoRecPerResource-r17 SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF
+ DL-PRS-QCL-Info-r16 OPTIONAL
+ ]]
+}
+
+
+NR-On-Demand-DL-PRS-Request-r17 ::= SEQUENCE {
+ dl-prs-StartTime-and-Duration-r17 DL-PRS-StartTime-and-Duration-r17 OPTIONAL,
+ nr-on-demand-DL-PRS-Information-r17 NR-On-Demand-DL-PRS-Information-r17 OPTIONAL,
+ dl-prs-configuration-id-PrefList-r17 SEQUENCE (SIZE (1..maxOD-DL-PRS-Configs-r17)) OF
+ DL-PRS-Configuration-ID-r17 OPTIONAL,
+ ...
+}
+
+DL-PRS-StartTime-and-Duration-r17 ::= SEQUENCE {
+ dl-prs-start-time-r17 INTEGER (1..1024) OPTIONAL,
+ dl-prs-duration-r17 SEQUENCE {
+ seconds-r17 INTEGER (0..59) OPTIONAL,
+ minutes-r17 INTEGER (0..59) OPTIONAL,
+ hours-r17 INTEGER (0..23) OPTIONAL,
+ ...
+ } OPTIONAL,
+ ...
+}
+
+
+NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 ::=
+ SEQUENCE (SIZE (1..maxOD-DL-PRS-Configs-r17)) OF
+ DL-PRS-Configuration-ID-r17
+
+
+NR-On-Demand-DL-PRS-Support-r17 ::= SEQUENCE {
+ nr-on-demand-DL-PRS-InformationSup-r17 ENUMERATED { supported } OPTIONAL,
+ nr-on-demand-DL-PRS-ConfigurationsSup-r17 ENUMERATED { supported } OPTIONAL,
+ ...
+}
+
+NR-PositionCalculationAssistance-r16 ::= SEQUENCE {
+ nr-TRP-LocationInfo-r16 NR-TRP-LocationInfo-r16 OPTIONAL, -- Need ON
+ nr-DL-PRS-BeamInfo-r16 NR-DL-PRS-BeamInfo-r16 OPTIONAL, -- Need ON
+ nr-RTD-Info-r16 NR-RTD-Info-r16 OPTIONAL, -- Need ON
+ ...,
+ [[
+ nr-TRP-BeamAntennaInfo-r17 NR-TRP-BeamAntennaInfo-r17 OPTIONAL, -- Need ON
+ nr-DL-PRS-Expected-LOS-NLOS-Assistance-r17
+ NR-DL-PRS-ExpectedLOS-NLOS-Assistance-r17
+ OPTIONAL, -- Need ON
+ nr-DL-PRS-TRP-TEG-Info-r17 NR-DL-PRS-TRP-TEG-Info-r17 OPTIONAL -- Need ON
+ ]]
+}
+
+NR-RTD-Info-r16 ::= SEQUENCE {
+ referenceTRP-RTD-Info-r16 ReferenceTRP-RTD-Info-r16,
+ rtd-InfoList-r16 RTD-InfoList-r16,
+ ...
+}
+
+ReferenceTRP-RTD-Info-r16 ::= SEQUENCE {
+ dl-PRS-ID-Ref-r16 INTEGER (0..255),
+ nr-PhysCellID-Ref-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-CellGlobalID-Ref-r16 NCGI-r15 OPTIONAL, -- Need ON
+ nr-ARFCN-Ref-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ refTime-r16 CHOICE {
+ systemFrameNumber-r16 BIT STRING (SIZE (10)),
+ utc-r16 UTCTime,
+ ...
+ },
+ rtd-RefQuality-r16 NR-TimingQuality-r16 OPTIONAL, -- Need ON
+ ...
+}
+
+RTD-InfoList-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF RTD-InfoListPerFreqLayer-r16
+
+RTD-InfoListPerFreqLayer-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPsPerFreq-r16)) OF RTD-InfoElement-r16
+
+RTD-InfoElement-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON
+ nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ subframeOffset-r16 INTEGER (0..1966079),
+ rtd-Quality-r16 NR-TimingQuality-r16,
+ ...
+}
+
+
+NR-SelectedDL-PRS-IndexList-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
+ NR-SelectedDL-PRS-PerFreq-r16
+
+NR-SelectedDL-PRS-PerFreq-r16 ::= SEQUENCE {
+ nr-SelectedDL-PRS-FrequencyLayerIndex-r16 INTEGER (0..nrMaxFreqLayers-1-r16),
+ nr-SelectedDL-PRS-IndexListPerFreq-r16 SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
+ NR-SelectedDL-PRS-IndexPerTRP-r16
+ OPTIONAL, --Need OP
+ ...
+}
+
+NR-SelectedDL-PRS-IndexPerTRP-r16 ::= SEQUENCE {
+ nr-SelectedTRP-Index-r16 INTEGER (0..nrMaxTRPsPerFreq-1-r16),
+ dl-SelectedPRS-ResourceSetIndexList-r16 SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16))
+ OF DL-SelectedPRS-ResourceSetIndex-r16
+ OPTIONAL, --Need OP
+ ...
+}
+
+DL-SelectedPRS-ResourceSetIndex-r16 ::= SEQUENCE {
+ nr-DL-SelectedPRS-ResourceSetIndex-r16 INTEGER (0..nrMaxSetsPerTrpPerFreqLayer-1-r16),
+ dl-SelectedPRS-ResourceIndexList-r16 SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF
+ DL-SelectedPRS-ResourceIndex-r16
+ OPTIONAL --Need OP
+}
+
+DL-SelectedPRS-ResourceIndex-r16 ::= SEQUENCE {
+ nr-DL-SelectedPRS-ResourceIdIndex-r16 INTEGER (0..nrMaxNumDL-PRS-ResourcesPerSet-1-r16),
+ ...
+}
+
+
+NR-SSB-Config-r16 ::= SEQUENCE {
+ nr-PhysCellID-r16 NR-PhysCellID-r16,
+ nr-ARFCN-r16 ARFCN-ValueNR-r15,
+ ss-PBCH-BlockPower-r16 INTEGER (-60..50),
+ halfFrameIndex-r16 INTEGER (0..1),
+ ssb-periodicity-r16 ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, ...},
+ ssb-PositionsInBurst-r16 CHOICE {
+ shortBitmap-r16 BIT STRING (SIZE (4)),
+ mediumBitmap-r16 BIT STRING (SIZE (8)),
+ longBitmap-r16 BIT STRING (SIZE (64))
+ } OPTIONAL, --Need OR
+ ssb-SubcarrierSpacing-r16 ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, ...},
+ sfn-SSB-Offset-r16 INTEGER (0..15),
+ ...
+}
+
+
+NR-TimeStamp-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON
+ nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ nr-SFN-r16 INTEGER (0..1023),
+ nr-Slot-r16 CHOICE {
+ scs15-r16 INTEGER (0..9),
+ scs30-r16 INTEGER (0..19),
+ scs60-r16 INTEGER (0..39),
+ scs120-r16 INTEGER (0..79)
+ },
+ ...
+}
+
+
+NR-TimingQuality-r16 ::= SEQUENCE {
+ timingQualityValue-r16 INTEGER (0..31),
+ timingQualityResolution-r16 ENUMERATED {mdot1, m1, m10, m30, ...},
+ ...
+}
+
+
+NR-TRP-BeamAntennaInfo-r17 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
+ NR-TRP-BeamAntennaInfoPerFreqLayer-r17
+
+NR-TRP-BeamAntennaInfoPerFreqLayer-r17 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
+ NR-TRP-BeamAntennaInfoPerTRP-r17
+
+NR-TRP-BeamAntennaInfoPerTRP-r17 ::= SEQUENCE {
+ dl-PRS-ID-r17 INTEGER (0..255),
+ nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON
+ nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ associated-DL-PRS-ID-r17 INTEGER (0..255) OPTIONAL, -- Need OP
+ lcs-GCS-TranslationParameter-r17 LCS-GCS-TranslationParameter-r16 OPTIONAL, -- Need OP
+ nr-TRP-BeamAntennaAngles-r17 NR-TRP-BeamAntennaAngles-r17 OPTIONAL, -- Need OP
+ ...
+}
+
+NR-TRP-BeamAntennaAngles-r17 ::= SEQUENCE (SIZE(1..3600)) OF
+ NR-TRP-BeamAntennaInfoAzimuthElevation-r17
+
+NR-TRP-BeamAntennaInfoAzimuthElevation-r17 ::= SEQUENCE {
+ azimuth-r17 INTEGER (0..359) OPTIONAL, -- Cond Az
+ azimuth-fine-r17 INTEGER (0..9) OPTIONAL, -- Cond AzOpt
+ elevationList-r17 SEQUENCE (SIZE(1..1801)) OF ElevationElement-R17,
+ ...
+}
+
+ElevationElement-R17 ::= SEQUENCE {
+ elevation-r17 INTEGER (0..180) OPTIONAL, -- Cond El
+ elevation-fine-r17 INTEGER (0..9) OPTIONAL, -- Cond ElOpt
+ beamPowerList-r17 SEQUENCE (SIZE (2..maxNumResourcesPerAngle-r17)) OF
+ BeamPowerElement-r17,
+ ...
+}
+
+BeamPowerElement-r17 ::= SEQUENCE {
+ nr-dl-prs-ResourceSetID-r17 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, -- Need OP
+ nr-dl-prs-ResourceID-r17 NR-DL-PRS-ResourceID-r16,
+ nr-dl-prs-RelativePower-r17 INTEGER (0..30),
+ nr-dl-prs-RelativePowerFine-r17 INTEGER (0..9) OPTIONAL, -- Need ON
+ ...
+}
+
+
+NR-TRP-LocationInfo-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
+ NR-TRP-LocationInfoPerFreqLayer-r16
+
+NR-TRP-LocationInfoPerFreqLayer-r16 ::= SEQUENCE {
+ referencePoint-r16 ReferencePoint-r16 OPTIONAL, -- Cond NotSameAsPrev
+ trp-LocationInfoList-r16 SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
+ TRP-LocationInfoElement-r16,
+ ...
+}
+
+TRP-LocationInfoElement-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON
+ nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON
+ nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON
+ associated-DL-PRS-ID-r16 INTEGER (0..255) OPTIONAL, -- Need OP
+ trp-Location-r16 RelativeLocation-r16 OPTIONAL, -- Need OP
+ trp-DL-PRS-ResourceSets-r16 SEQUENCE (SIZE(1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF
+ DL-PRS-ResourceSets-TRP-Element-r16 OPTIONAL, -- Need OP
+ ...
+}
+
+DL-PRS-ResourceSets-TRP-Element-r16 ::= SEQUENCE {
+ dl-PRS-ResourceSetARP-r16 RelativeLocation-r16 OPTIONAL, -- Need OP
+ dl-PRS-Resource-ARP-List-r16 SEQUENCE (SIZE(1..nrMaxResourcesPerSet-r16)) OF
+ DL-PRS-Resource-ARP-Element-r16 OPTIONAL, -- Need OP
+ ...
+}
+
+DL-PRS-Resource-ARP-Element-r16 ::= SEQUENCE {
+ dl-PRS-Resource-ARP-location-r16 RelativeLocation-r16 OPTIONAL, -- Need OP
+ ...
+}
+
+
+NR-UE-TEG-Capability-r17 ::= SEQUENCE {
+ nr-UE-TEG-ID-CapabilityBandList-r17 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
+ NR-UE-TEG-ID-CapabilityPerBand-r17 OPTIONAL,
+ ...
+}
+
+NR-UE-TEG-ID-CapabilityPerBand-r17 ::= SEQUENCE {
+ freqBandIndicatorNR-r17 FreqBandIndicatorNR-r16,
+ nr-UE-RxTEG-ID-MaxSupport-r17 ENUMERATED {n1, n2, n3, n4, n6, n8} OPTIONAL,
+ nr-UE-TxTEG-ID-MaxSupport-r17 ENUMERATED {n1, n2, n3, n4, n6, n8} OPTIONAL,
+ nr-UE-RxTxTEG-ID-MaxSupport-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16,
+ n24, n32, n36, n48, n64} OPTIONAL,
+ measureSameDL-PRS-ResourceWithDifferentRxTEGs-r17
+ ENUMERATED {n2, n3, n4, n6, n8} OPTIONAL,
+ measureSameDL-PRS-ResourceWithDifferentRxTEGsSimul-r17
+ ENUMERATED {n1, n2, n3, n4, n6, n8} OPTIONAL,
+ ...
+}
+
+
+NR-UL-SRS-Capability-r16 ::= SEQUENCE {
+ srs-CapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
+ SRS-CapabilityPerBand-r16,
+ srs-PosResourceConfigCA-BandList-r16 SEQUENCE (SIZE (1..nrMaxConfiguredBands-r16)) OF
+ SRS-PosResourcesPerBand-r16 OPTIONAL,
+ maxNumberSRS-PosPathLossEstimateAllServingCells-r16
+ ENUMERATED {n1, n4, n8, n16} OPTIONAL,
+ maxNumberSRS-PosSpatialRelationsAllServingCells-r16
+ ENUMERATED {n0, n1, n2, n4, n8, n16} OPTIONAL,
+ ...
+}
+
+SRS-CapabilityPerBand-r16 ::= SEQUENCE {
+ freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16,
+ olpc-SRS-Pos-r16 OLPC-SRS-Pos-r16 OPTIONAL,
+ spatialRelationsSRS-Pos-r16 SpatialRelationsSRS-Pos-r16 OPTIONAL,
+ ...,
+ [[
+ posSRS-RRC-Inactive-InInitialUL-BWP-r17 PosSRS-RRC-Inactive-InInitialUL-BWP-r17 OPTIONAL,
+ posSRS-RRC-Inactive-OutsideInitialUL-BWP-r17
+ PosSRS-RRC-Inactive-OutsideInitialUL-BWP-r17
+ OPTIONAL,
+ olpc-SRS-PosRRC-Inactive-r17 OLPC-SRS-Pos-r16 OPTIONAL,
+ spatialRelationsSRS-PosRRC-Inactive-r17 SpatialRelationsSRS-Pos-r16 OPTIONAL
+ ]],
+ [[
+ posSRS-SP-RRC-Inactive-InInitialUL-BWP-r17 PosSRS-SP-RRC-Inactive-InInitialUL-BWP-r17
+ OPTIONAL
+ ]]
+}
+
+OLPC-SRS-Pos-r16 ::= SEQUENCE {
+ olpc-SRS-PosBasedOnPRS-Serving-r16 ENUMERATED {supported} OPTIONAL,
+ olpc-SRS-PosBasedOnSSB-Neigh-r16 ENUMERATED {supported} OPTIONAL,
+ olpc-SRS-PosBasedOnPRS-Neigh-r16 ENUMERATED {supported} OPTIONAL,
+ maxNumberPathLossEstimatePerServing-r16 ENUMERATED {n1, n4, n8, n16} OPTIONAL,
+ ...
+}
+
+SpatialRelationsSRS-Pos-r16 ::= SEQUENCE {
+ spatialRelation-SRS-PosBasedOnSSB-Serving-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnCSI-RS-Serving-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnPRS-Serving-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnSRS-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnSSB-Neigh-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnPRS-Neigh-r16 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+SRS-PosResourcesPerBand-r16 ::= SEQUENCE {
+ freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16,
+ maxNumberSRS-PosResourceSetsPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n12, n16},
+ maxNumberSRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumberPeriodicSRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumberAP-SRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}
+ OPTIONAL,
+ maxNumberSP-SRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}
+ OPTIONAL,
+ ...
+}
+
+PosSRS-RRC-Inactive-InInitialUL-BWP-r17 ::= SEQUENCE {
+ maxNumOfSRSposResourceSets-r17 ENUMERATED {n1, n2, n4, n8, n12, n16 } OPTIONAL,
+ maxNumOfPeriodicAndSemiPersistentSRSposResources-r17
+ ENUMERATED {n1, n2, n4, n8, n16, n32, n64 }
+ OPTIONAL,
+ maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot-r17
+ ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
+ OPTIONAL,
+ maxNumOfPeriodicSRSposResources-r17
+ ENUMERATED {n1, n2, n4, n8, n16, n32, n64 }
+ OPTIONAL,
+ maxNumOfPeriodicSRSposResourcesPerSlot-r17
+ ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
+ OPTIONAL,
+ dummy1 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL,
+ dummy2 ENUMERATED { n1, n2, n3, n4, n5, n6, n8, n10, n12, n14 }
+ OPTIONAL,
+ ...
+}
+
+PosSRS-RRC-Inactive-OutsideInitialUL-BWP-r17 ::= SEQUENCE {
+ maxSRSposBandwidthForEachSCS-withinCC-FR1-r17
+ ENUMERATED { mhz5, mhz10, mhz15, mhz20, mhz25, mhz30,
+ mhz35, mhz40, mhz45, mhz50, mhz60, mhz70,
+ mhz80, mhz90, mhz100 } OPTIONAL,
+ maxSRSposBandwidthForEachSCS-withinCC-FR2-r17
+ ENUMERATED {mhz50, mhz100, mhz200, mhz400} OPTIONAL,
+ maxNumOfSRSposResourceSets-r17 ENUMERATED { n1, n2, n4, n8, n12, n16 } OPTIONAL,
+ maxNumOfPeriodicSRSposResources-r17 ENUMERATED { n1, n2, n4, n8, n16, n32, n64 }
+ OPTIONAL,
+ maxNumOfPeriodicSRSposResourcesPerSlot-r17
+ ENUMERATED { n1, n2, n3, n4, n5, n6, n8, n10, n12, n14 }
+ OPTIONAL,
+ differentNumerologyBetweenSRSposAndInitialBWP-r17
+ ENUMERATED { supported } OPTIONAL,
+ srsPosWithoutRestrictionOnBWP-r17
+ ENUMERATED { supported } OPTIONAL,
+ maxNumOfPeriodicAndSemiPersistentSRSposResources-r17
+ ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL,
+ maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot-r17
+ ENUMERATED { n1, n2, n3, n4, n5, n6, n8, n10,
+ n12, n14 } OPTIONAL,
+ differentCenterFreqBetweenSRSposAndInitialBWP-r17
+ ENUMERATED { supported } OPTIONAL,
+ maxNumOfSemiPersistentSRSposResources-r17
+ ENUMERATED { n1, n2, n4, n8, n16, n32, n64 }
+ OPTIONAL,
+ maxNumOfSemiPersistentSRSposResourcesPerSlot-r17
+ ENUMERATED { n1, n2, n3, n4, n5, n6, n8, n10,
+ n12, n14 } OPTIONAL,
+ switchingTimeSRS-TX-OtherTX-r17 ENUMERATED { us100, us140, us200, us300, us500 }
+ OPTIONAL,
+ ...
+}
+
+PosSRS-SP-RRC-Inactive-InInitialUL-BWP-r17 ::= SEQUENCE {
+ maxNumOfSemiPersistentSRSposResources-r17
+ ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL,
+ maxNumOfSemiPersistentSRSposResourcesPerSlot-r17
+ ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
+ OPTIONAL,
+ ...
+}
+
+
+ReferencePoint-r16 ::= SEQUENCE {
+ referencePointGeographicLocation-r16 CHOICE {
+ location3D-r16 EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+ ha-location3D-r16 HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15,
+ ...
+ },
+ ...
+}
+
+
+RelativeLocation-r16 ::= SEQUENCE {
+ milli-arc-second-units-r16 ENUMERATED { mas0-03, mas0-3, mas3, mas30, ...},
+ height-units-r16 ENUMERATED {mm, cm, m, ...},
+ delta-latitude-r16 Delta-Latitude-r16,
+ delta-longitude-r16 Delta-Longitude-r16,
+ delta-height-r16 Delta-Height-r16,
+ locationUNC-r16 LocationUncertainty-r16 OPTIONAL, -- Need OP
+ ...
+}
+
+Delta-Latitude-r16 ::= SEQUENCE {
+ delta-Latitude-r16 INTEGER (-1024..1023),
+ coarse-delta-Latitude-r16 INTEGER (0..4095) OPTIONAL, -- Need OP
+ ...
+}
+
+Delta-Longitude-r16 ::= SEQUENCE {
+ delta-Longitude-r16 INTEGER (-1024..1023),
+ coarse-delta-Longitude-r16 INTEGER (0..4095) OPTIONAL, -- Need OP
+ ...
+}
+
+Delta-Height-r16 ::= SEQUENCE {
+ delta-Height-r16 INTEGER (-1024..1023),
+ coarse-delta-Height-r16 INTEGER (0..4095) OPTIONAL, -- Need OP
+ ...
+}
+
+LocationUncertainty-r16 ::= SEQUENCE {
+ horizontalUncertainty-r16 INTEGER (0..255),
+ horizontalConfidence-r16 INTEGER (0..100),
+ verticalUncertainty-r16 INTEGER (0..255),
+ verticalConfidence-r16 INTEGER (0..100)
+}
+
+
+TEG-TimingErrorMargin-r17 ::= ENUMERATED { tc0, tc2, tc4, tc6, tc8, tc12, tc16, tc20, tc24,
+ tc32, tc40, tc48, tc56, tc64, tc72, tc80 }
+
+
+RxTxTEG-TimingErrorMargin-r17 ::= ENUMERATED { tc0-5, tc1, tc2, tc4, tc8, tc12, tc16, tc20,
+ tc24, tc32, tc40, tc48, tc64, tc80, tc96, tc128 }
+
+
+OTDOA-ProvideAssistanceData ::= SEQUENCE {
+ otdoa-ReferenceCellInfo OTDOA-ReferenceCellInfo OPTIONAL, -- Need ON
+ otdoa-NeighbourCellInfo OTDOA-NeighbourCellInfoList OPTIONAL, -- Need ON
+ otdoa-Error OTDOA-Error OPTIONAL, -- Need ON
+ ...,
+ [[
+ otdoa-ReferenceCellInfoNB-r14 OTDOA-ReferenceCellInfoNB-r14 OPTIONAL, -- Need ON
+ otdoa-NeighbourCellInfoNB-r14 OTDOA-NeighbourCellInfoListNB-r14 OPTIONAL -- Need ON
+ ]]
+}
+
+
+OTDOA-ReferenceCellInfo ::= SEQUENCE {
+ physCellId INTEGER (0..503),
+ cellGlobalId ECGI OPTIONAL, -- Need ON
+ earfcnRef ARFCN-ValueEUTRA OPTIONAL, -- Cond NotSameAsServ0
+ antennaPortConfig ENUMERATED {ports1-or-2, ports4, ... }
+ OPTIONAL, -- Cond NotSameAsServ1
+ cpLength ENUMERATED { normal, extended, ... },
+ prsInfo PRS-Info OPTIONAL, -- Cond PRS
+ ...,
+ [[ earfcnRef-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond NotSameAsServ2
+ ]],
+ [[ tpId-r14 INTEGER (0..4095) OPTIONAL, -- Need ON
+ cpLengthCRS-r14 ENUMERATED { normal, extended, ... }
+ OPTIONAL, -- Cond CRS
+ sameMBSFNconfigRef-r14 BOOLEAN OPTIONAL, -- Need ON
+ dlBandwidth-r14 ENUMERATED {n6, n15, n25, n50, n75, n100}
+ OPTIONAL, -- Cond NotSameAsServ3
+ addPRSconfigRef-r14 SEQUENCE (SIZE (1..maxAddPRSconfig-r14)) OF PRS-Info
+ OPTIONAL -- Need ON
+ ]],
+ [[
+ nr-LTE-SFN-Offset-r15 INTEGER (0..1023) OPTIONAL -- Cond NR
+ ]],
+ [[
+ tdd-config-v1520 TDD-Config-v1520 OPTIONAL, -- Need ON
+ nr-LTE-fineTiming-Offset-r15 INTEGER (0..19) OPTIONAL -- Cond FineOffset
+ ]]
+}
+
+maxAddPRSconfig-r14 INTEGER ::= 2
+
+
+PRS-Info ::= SEQUENCE {
+ prs-Bandwidth ENUMERATED { n6, n15, n25, n50, n75, n100, ... },
+ prs-ConfigurationIndex INTEGER (0..4095),
+ numDL-Frames ENUMERATED {sf-1, sf-2, sf-4, sf-6, ..., sf-add-v1420},
+ ...,
+ prs-MutingInfo-r9 CHOICE {
+ po2-r9 BIT STRING (SIZE(2)),
+ po4-r9 BIT STRING (SIZE(4)),
+ po8-r9 BIT STRING (SIZE(8)),
+ po16-r9 BIT STRING (SIZE(16)),
+ ...,
+ po32-v1420 BIT STRING (SIZE(32)),
+ po64-v1420 BIT STRING (SIZE(64)),
+ po128-v1420 BIT STRING (SIZE(128)),
+ po256-v1420 BIT STRING (SIZE(256)),
+ po512-v1420 BIT STRING (SIZE(512)),
+ po1024-v1420 BIT STRING (SIZE(1024))
+ } OPTIONAL, -- Need OP
+ [[ prsID-r14 INTEGER (0..4095) OPTIONAL, -- Need ON
+ add-numDL-Frames-r14 INTEGER (1..160) OPTIONAL, -- Cond sf-add
+ prsOccGroupLen-r14 ENUMERATED {g2, g4, g8, g16, g32, g64, g128,... }
+ OPTIONAL, -- Cond Occ-Grp
+ prsHoppingInfo-r14 CHOICE {
+ nb2-r14 INTEGER (0.. maxAvailNarrowBands-Minus1-r14),
+ nb4-r14 SEQUENCE (SIZE (3))
+ OF INTEGER (0.. maxAvailNarrowBands-Minus1-r14)
+ } OPTIONAL -- Cond PRS-FH
+ ]]
+}
+
+maxAvailNarrowBands-Minus1-r14 INTEGER ::= 15 -- Maximum number of narrowbands minus 1
+
+
+TDD-Config-v1520 ::= SEQUENCE {
+ subframeAssignment-v1520 ENUMERATED { sa0, sa1, sa2, sa3, sa4, sa5, sa6 },
+ ...
+}
+
+
+OTDOA-NeighbourCellInfoList ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF OTDOA-NeighbourFreqInfo
+OTDOA-NeighbourFreqInfo ::= SEQUENCE (SIZE (1..24)) OF OTDOA-NeighbourCellInfoElement
+
+OTDOA-NeighbourCellInfoElement ::= SEQUENCE {
+ physCellId INTEGER (0..503),
+ cellGlobalId ECGI OPTIONAL, -- Need ON
+ earfcn ARFCN-ValueEUTRA OPTIONAL, -- Cond NotSameAsRef0
+ cpLength ENUMERATED {normal, extended, ...}
+ OPTIONAL, -- Cond NotSameAsRef1
+ prsInfo PRS-Info OPTIONAL, -- Cond NotSameAsRef2
+ antennaPortConfig ENUMERATED {ports-1-or-2, ports-4, ...}
+ OPTIONAL, -- Cond NotsameAsRef3
+ slotNumberOffset INTEGER (0..19) OPTIONAL, -- Cond NotSameAsRef4
+ prs-SubframeOffset INTEGER (0..1279) OPTIONAL, -- Cond InterFreq
+ expectedRSTD INTEGER (0..16383),
+ expectedRSTD-Uncertainty INTEGER (0..1023),
+ ...,
+ [[ earfcn-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond NotSameAsRef5
+ ]],
+ [[ tpId-r14 INTEGER (0..4095) OPTIONAL, -- Need ON
+ prs-only-tp-r14 ENUMERATED { true } OPTIONAL, -- Cond TBS
+ cpLengthCRS-r14 ENUMERATED { normal, extended, ... }
+ OPTIONAL, -- Cond CRS
+ sameMBSFNconfigNeighbour-r14 BOOLEAN OPTIONAL, -- Need ON
+ dlBandwidth-r14 ENUMERATED {n6, n15, n25, n50, n75, n100}
+ OPTIONAL, -- Cond NotSameAsRef6
+ addPRSconfigNeighbour-r14 SEQUENCE (SIZE (1..maxAddPRSconfig-r14)) OF
+ Add-PRSconfigNeighbourElement-r14
+ OPTIONAL -- Need ON
+ ]],
+ [[
+ tdd-config-v1520 TDD-Config-v1520 OPTIONAL -- Need ON
+ ]]
+}
+
+Add-PRSconfigNeighbourElement-r14 ::= SEQUENCE {
+ add-prsInfo-r14 PRS-Info OPTIONAL, -- Cond NotSameAsRef7
+ ...
+}
+
+maxFreqLayers INTEGER ::= 3
+
+
+OTDOA-ReferenceCellInfoNB-r14 ::= SEQUENCE {
+ physCellIdNB-r14 INTEGER (0..503) OPTIONAL, -- Cond NoPRS-AD1
+ cellGlobalIdNB-r14 ECGI OPTIONAL, -- Cond NoPRS-AD2
+ carrierFreqRef-r14 CarrierFreq-NB-r14 OPTIONAL, -- Cond NotSameAsServ1
+ earfcn-r14 ARFCN-ValueEUTRA-r14 OPTIONAL, -- Cond Inband
+ eutra-NumCRS-Ports-r14 ENUMERATED {ports1-or-2, ports4}
+ OPTIONAL, -- Cond NoPRS-AD3
+ otdoa-SIB1-NB-repetitions-r14 ENUMERATED { r4, r8, r16 } OPTIONAL, -- Cond NotSameAsServ2
+ nprsInfo-r14 PRS-Info-NB-r14 OPTIONAL, -- Cond NPRS-Type1
+ ...,
+ [[
+ nprsInfo-Type2-v1470 PRS-Info-NB-r14 OPTIONAL -- Cond NPRS-Type2
+ ]],
+ [[ tdd-config-r15 TDD-Config-v1520 OPTIONAL -- Need ON
+ ]]
+}
+
+
+PRS-Info-NB-r14 ::= SEQUENCE (SIZE (1..maxCarrier-r14)) OF NPRS-Info-r14
+
+NPRS-Info-r14 ::= SEQUENCE {
+ operationModeInfoNPRS-r14 ENUMERATED { inband, standalone },
+ nprs-carrier-r14 CarrierFreq-NB-r14 OPTIONAL, -- Cond Standalone/Guardband
+ nprsSequenceInfo-r14 INTEGER (0..174) OPTIONAL, -- Cond Inband
+ nprsID-r14 INTEGER (0..4095) OPTIONAL, -- Cond NPRS-ID
+ partA-r14 SEQUENCE {
+ nprsBitmap-r14 CHOICE {
+ subframePattern10-r14 BIT STRING (SIZE (10)),
+ subframePattern40-r14 BIT STRING (SIZE (40))
+ },
+ nprs-MutingInfoA-r14 CHOICE {
+ po2-r14 BIT STRING (SIZE(2)),
+ po4-r14 BIT STRING (SIZE(4)),
+ po8-r14 BIT STRING (SIZE(8)),
+ po16-r14 BIT STRING (SIZE(16)),
+ ...
+ } OPTIONAL, -- Cond MutingA
+ ...
+ } OPTIONAL, -- Cond PartA
+ partB-r14 SEQUENCE {
+ nprs-Period-r14 ENUMERATED { ms160, ms320, ms640, ms1280, ... , ms2560-v1510},
+ nprs-startSF-r14 ENUMERATED { zero, one-eighth, two-eighths, three-eighths,
+ four-eighths, five-eighths, six-eighths,
+ seven-eighths, ...},
+ nprs-NumSF-r14 ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320,
+ sf640, sf1280, ... , sf2560-v1510},
+ nprs-MutingInfoB-r14 CHOICE {
+ po2-r14 BIT STRING (SIZE(2)),
+ po4-r14 BIT STRING (SIZE(4)),
+ po8-r14 BIT STRING (SIZE(8)),
+ po16-r14 BIT STRING (SIZE(16)),
+ ...
+ } OPTIONAL, -- Cond MutingB
+ ...,
+ [[ sib1-SF-TDD-r15 ENUMERATED {sf0, sf4, sf0and5} OPTIONAL -- Cond SIB1-TDD
+ ]]
+ } OPTIONAL, -- Cond PartB
+ ...,
+ [[
+ partA-TDD-r15 SEQUENCE {
+ nprsBitmap-r15 CHOICE {
+ subframePattern10-TDD-r15 BIT STRING (SIZE (8)),
+ subframePattern40-TDD-r15 BIT STRING (SIZE (32)),
+ ...
+ },
+ nprs-MutingInfoA-r15 CHOICE {
+ po2-r15 BIT STRING (SIZE(2)),
+ po4-r15 BIT STRING (SIZE(4)),
+ po8-r15 BIT STRING (SIZE(8)),
+ po16-r15 BIT STRING (SIZE(16)),
+ ...
+ } OPTIONAL, -- Cond MutingA
+ ...
+ } OPTIONAL -- Cond PartA-TDD
+ ]]
+}
+
+maxCarrier-r14 INTEGER ::= 5
+
+
+OTDOA-NeighbourCellInfoListNB-r14 ::= SEQUENCE (SIZE (1..maxCells-r14)) OF
+ OTDOA-NeighbourCellInfoNB-r14
+
+OTDOA-NeighbourCellInfoNB-r14 ::= SEQUENCE {
+ physCellIdNB-r14 INTEGER (0..503) OPTIONAL, -- Cond NoPRS-AD1
+ cellGlobalIdNB-r14 ECGI OPTIONAL, -- Cond NoPRS-AD2
+ carrierFreq-r14 CarrierFreq-NB-r14 OPTIONAL, -- Cond NotSameAsRef1
+ earfcn-r14 ARFCN-ValueEUTRA-r14 OPTIONAL, -- Cond Inband
+ eutra-NumCRS-Ports-r14 ENUMERATED {ports-1-or-2, ports-4, ...}
+ OPTIONAL, -- Cond NotsameAsRef2
+ otdoa-SIB1-NB-repetitions-r14 ENUMERATED { r4, r8, r16 }
+ OPTIONAL, -- Cond NotSameAsRef3
+ nprsInfo-r14 PRS-Info-NB-r14 OPTIONAL, -- Cond NotsameAsRef4
+ nprs-slotNumberOffset-r14 INTEGER (0..19) OPTIONAL, -- Cond NotsameAsRef5
+ nprs-SFN-Offset-r14 INTEGER (0..63) OPTIONAL, -- Cond NotsameAsRef6
+ nprs-SubframeOffset-r14 INTEGER (0..1279) OPTIONAL, -- Need OP
+ expectedRSTD-r14 INTEGER (0..16383) OPTIONAL, -- Cond NoPRS-AD3
+ expectedRSTD-Uncertainty-r14 INTEGER (0..1023) OPTIONAL, -- Cond NoPRS-AD3
+ prsNeighbourCellIndex-r14 INTEGER (1..72) OPTIONAL, -- Cond PRS-AD
+ ...,
+ [[
+ nprsInfo-Type2-v1470 PRS-Info-NB-r14 OPTIONAL -- Cond NotSameAsRef4
+ ]],
+ [[ tdd-config-r15 TDD-Config-v1520 OPTIONAL -- Need ON
+ ]]
+}
+
+maxCells-r14 INTEGER ::= 72
+
+
+OTDOA-RequestAssistanceData ::= SEQUENCE {
+ physCellId INTEGER (0..503),
+ ...,
+ [[
+ adType-r14 BIT STRING { prs (0), nprs (1) } (SIZE (1..8)) OPTIONAL
+ ]],
+ [[
+ nrPhysCellId-r15 INTEGER (0..1007) OPTIONAL
+ ]]
+}
+
+
+OTDOA-ProvideLocationInformation ::= SEQUENCE {
+ otdoaSignalMeasurementInformation OTDOA-SignalMeasurementInformation OPTIONAL,
+ otdoa-Error OTDOA-Error OPTIONAL,
+ ...,
+ [[
+ otdoaSignalMeasurementInformation-NB-r14 OTDOA-SignalMeasurementInformation-NB-r14
+ OPTIONAL
+ ]]
+}
+
+
+OTDOA-SignalMeasurementInformation ::= SEQUENCE {
+ systemFrameNumber BIT STRING (SIZE (10)),
+ physCellIdRef INTEGER (0..503),
+ cellGlobalIdRef ECGI OPTIONAL,
+ earfcnRef ARFCN-ValueEUTRA OPTIONAL, -- Cond NotSameAsRef0
+ referenceQuality OTDOA-MeasQuality OPTIONAL,
+ neighbourMeasurementList NeighbourMeasurementList,
+ ...,
+ [[ earfcnRef-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond NotSameAsRef1
+ ]],
+ [[ tpIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer0
+ prsIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer1
+ additionalPathsRef-r14
+ AdditionalPathList-r14 OPTIONAL,
+ nprsIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer2
+ carrierFreqOffsetNB-Ref-r14
+ CarrierFreqOffsetNB-r14 OPTIONAL, -- Cond NB-IoT
+ hyperSFN-r14 BIT STRING (SIZE (10)) OPTIONAL -- Cond H-SFN
+ ]],
+ [[
+ motionTimeSource-r15 MotionTimeSource-r15 OPTIONAL
+ ]]
+}
+
+NeighbourMeasurementList ::= SEQUENCE (SIZE(1..24)) OF NeighbourMeasurementElement
+
+NeighbourMeasurementElement ::= SEQUENCE {
+ physCellIdNeighbour INTEGER (0..503),
+ cellGlobalIdNeighbour ECGI OPTIONAL,
+ earfcnNeighbour ARFCN-ValueEUTRA OPTIONAL, -- Cond NotSameAsRef2
+ rstd INTEGER (0..12711),
+ rstd-Quality OTDOA-MeasQuality,
+ ...,
+ [[ earfcnNeighbour-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond NotSameAsRef3
+ ]],
+ [[ tpIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer0
+ prsIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer1
+ delta-rstd-r14 INTEGER (0..5) OPTIONAL,
+ additionalPathsNeighbour-r14
+ AdditionalPathList-r14 OPTIONAL,
+ nprsIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer2
+ carrierFreqOffsetNB-Neighbour-r14
+ CarrierFreqOffsetNB-r14 OPTIONAL -- Cond NB-IoT
+ ]],
+ [[
+ delta-SFN-r15 INTEGER (-8192..8191) OPTIONAL
+ ]]
+}
+
+AdditionalPathList-r14 ::= SEQUENCE (SIZE(1..maxPaths-r14)) OF AdditionalPath-r14
+
+maxPaths-r14 INTEGER ::= 2
+
+MotionTimeSource-r15 ::= SEQUENCE {
+ timeSource-r15 ENUMERATED {servingCell, referenceCell, gnss, mixed,
+ other, none, ...}
+}
+
+
+OTDOA-SignalMeasurementInformation-NB-r14 ::= SEQUENCE {
+ systemFrameNumber-r14 BIT STRING (SIZE (10)),
+ physCellIdRef-r14 INTEGER (0..503),
+ cellGlobalIdRef-r14 ECGI OPTIONAL,
+ earfcnRef-r14 ARFCN-ValueEUTRA-r14 OPTIONAL, -- Cond NotSameAsRef0
+ referenceQuality-r14 OTDOA-MeasQuality OPTIONAL,
+ neighbourMeasurementList-r14 NeighbourMeasurementList-NB-r14,
+ tpIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer0
+ prsIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer1
+ additionalPathsRef-r14 AdditionalPathList-r14 OPTIONAL,
+ nprsIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer2
+ carrierFreqOffsetNB-Ref-r14 CarrierFreqOffsetNB-r14 OPTIONAL, -- Cond NB-IoT
+ hyperSFN-r14 BIT STRING (SIZE (10)) OPTIONAL, -- Cond H-SFN
+ ...
+}
+
+NeighbourMeasurementList-NB-r14 ::= SEQUENCE (SIZE(1..24)) OF NeighbourMeasurementElement-NB-r14
+
+NeighbourMeasurementElement-NB-r14 ::= SEQUENCE {
+ physCellIdNeighbour-r14 INTEGER (0..503),
+ cellGlobalIdNeighbour-r14 ECGI OPTIONAL,
+ earfcnNeighbour-r14 ARFCN-ValueEUTRA-r14 OPTIONAL, -- Cond NotSameAsRef2
+ rstd-r14 INTEGER (0..12711),
+ rstd-Quality-r14 OTDOA-MeasQuality,
+ tpIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer0
+ prsIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer1
+ delta-rstd-r14 INTEGER (0..5) OPTIONAL,
+ additionalPathsNeighbour-r14
+ AdditionalPathList-r14 OPTIONAL,
+ nprsIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer2
+ carrierFreqOffsetNB-Neighbour-r14
+ CarrierFreqOffsetNB-r14 OPTIONAL, -- Cond NB-IoT
+ ...
+}
+
+
+OTDOA-MeasQuality ::= SEQUENCE {
+ error-Resolution BIT STRING (SIZE (2)),
+ error-Value BIT STRING (SIZE (5)),
+ error-NumSamples BIT STRING (SIZE (3)) OPTIONAL,
+ ...
+}
+
+
+AdditionalPath-r14 ::= SEQUENCE {
+ relativeTimeDifference-r14 INTEGER (-256..255),
+ path-Quality-r14 OTDOA-MeasQuality OPTIONAL,
+ ...
+}
+
+
+OTDOA-RequestLocationInformation ::= SEQUENCE {
+ assistanceAvailability BOOLEAN,
+ ...,
+ [[
+ multipathRSTD-r14 ENUMERATED { requested } OPTIONAL, -- Need ON
+ maxNoOfRSTDmeas-r14 INTEGER (1..32) OPTIONAL -- Need ON
+ ]],
+ [[
+ motionMeasurements-r15 ENUMERATED { requested } OPTIONAL -- Need ON
+ ]]
+}
+
+
+OTDOA-ProvideCapabilities ::= SEQUENCE {
+ otdoa-Mode BIT STRING { ue-assisted (0),
+ ue-assisted-NB-r14 (1),
+ ue-assisted-NB-TDD-r15 (2) } (SIZE (1..8)),
+ ...,
+ supportedBandListEUTRA SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA OPTIONAL,
+ supportedBandListEUTRA-v9a0 SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v9a0
+ OPTIONAL,
+ interFreqRSTDmeasurement-r10 ENUMERATED { supported } OPTIONAL,
+ additionalNeighbourCellInfoList-r10 ENUMERATED { supported } OPTIONAL,
+ prs-id-r14 ENUMERATED { supported } OPTIONAL,
+ tp-separation-via-muting-r14 ENUMERATED { supported } OPTIONAL,
+ additional-prs-config-r14 ENUMERATED { supported } OPTIONAL,
+ prs-based-tbs-r14 ENUMERATED { supported } OPTIONAL,
+ additionalPathsReport-r14 ENUMERATED { supported } OPTIONAL,
+ densePrsConfig-r14 ENUMERATED { supported } OPTIONAL,
+ maxSupportedPrsBandwidth-r14 ENUMERATED { n6, n15, n25, n50, n75, n100, ...} OPTIONAL,
+ prsOccGroup-r14 ENUMERATED { supported } OPTIONAL,
+ prsFrequencyHopping-r14 ENUMERATED { supported } OPTIONAL,
+ maxSupportedPrsConfigs-r14 ENUMERATED { c2, c3 } OPTIONAL,
+ periodicalReporting-r14 ENUMERATED { supported } OPTIONAL,
+ multiPrbNprs-r14 ENUMERATED { supported } OPTIONAL,
+ idleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL,
+ numberOfRXantennas-r14 ENUMERATED { rx1, ... } OPTIONAL,
+ motionMeasurements-r15 ENUMERATED { supported } OPTIONAL,
+ interRAT-RSTDmeasurement-r15 ENUMERATED { supported } OPTIONAL,
+ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL
+}
+
+maxBands INTEGER ::= 64
+
+SupportedBandEUTRA ::= SEQUENCE {
+ bandEUTRA INTEGER (1..maxFBI)
+}
+
+SupportedBandEUTRA-v9a0 ::= SEQUENCE {
+ bandEUTRA-v9a0 INTEGER (maxFBI-Plus1..maxFBI2) OPTIONAL
+}
+
+maxFBI INTEGER ::= 64 -- Maximum value of frequency band indicator
+maxFBI-Plus1 INTEGER ::= 65 -- lowest value extended FBI range
+maxFBI2 INTEGER ::= 256 -- highest value extended FBI range
+
+
+OTDOA-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OTDOA-Error ::= CHOICE {
+ locationServerErrorCauses OTDOA-LocationServerErrorCauses,
+ targetDeviceErrorCauses OTDOA-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OTDOA-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ assistanceDataNotSupportedByServer,
+ assistanceDataSupportedButCurrentlyNotAvailableByServer,
+ ...
+ },
+ ...
+}
+
+
+OTDOA-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ assistance-data-missing,
+ unableToMeasureReferenceCell,
+ unableToMeasureAnyNeighbourCell,
+ attemptedButUnableToMeasureSomeNeighbourCells,
+ ...
+ },
+ ...
+}
+
+
+A-GNSS-ProvideAssistanceData ::= SEQUENCE {
+ gnss-CommonAssistData GNSS-CommonAssistData OPTIONAL, -- Need ON
+ gnss-GenericAssistData GNSS-GenericAssistData OPTIONAL, -- Need ON
+ gnss-Error A-GNSS-Error OPTIONAL, -- Need ON
+ ...,
+ [[
+ gnss-PeriodicAssistData-r15 GNSS-PeriodicAssistData-r15 OPTIONAL -- Cond CtrTrans
+ ]]
+}
+
+
+GNSS-CommonAssistData ::= SEQUENCE {
+ gnss-ReferenceTime GNSS-ReferenceTime OPTIONAL, -- Need ON
+ gnss-ReferenceLocation GNSS-ReferenceLocation OPTIONAL, -- Need ON
+ gnss-IonosphericModel GNSS-IonosphericModel OPTIONAL, -- Need ON
+ gnss-EarthOrientationParameters GNSS-EarthOrientationParameters OPTIONAL, -- Need ON
+ ...,
+ [[
+ gnss-RTK-ReferenceStationInfo-r15
+ GNSS-RTK-ReferenceStationInfo-r15 OPTIONAL, -- Need ON
+ gnss-RTK-CommonObservationInfo-r15
+ GNSS-RTK-CommonObservationInfo-r15 OPTIONAL, -- Cond RTK
+ gnss-RTK-AuxiliaryStationData-r15
+ GNSS-RTK-AuxiliaryStationData-r15 OPTIONAL -- Need ON
+ ]],
+ [[
+ gnss-SSR-CorrectionPoints-r16
+ GNSS-SSR-CorrectionPoints-r16 OPTIONAL -- Need ON
+ ]],
+ [[
+ gnss-Integrity-ServiceParameters-r17
+ GNSS-Integrity-ServiceParameters-r17 OPTIONAL, -- Need ON
+ gnss-Integrity-ServiceAlert-r17
+ GNSS-Integrity-ServiceAlert-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+
+GNSS-GenericAssistData ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataElement
+
+GNSS-GenericAssistDataElement ::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS-ID-SBAS
+ gnss-TimeModels GNSS-TimeModelList OPTIONAL, -- Need ON
+ gnss-DifferentialCorrections GNSS-DifferentialCorrections OPTIONAL, -- Need ON
+ gnss-NavigationModel GNSS-NavigationModel OPTIONAL, -- Need ON
+ gnss-RealTimeIntegrity GNSS-RealTimeIntegrity OPTIONAL, -- Need ON
+ gnss-DataBitAssistance GNSS-DataBitAssistance OPTIONAL, -- Need ON
+ gnss-AcquisitionAssistance GNSS-AcquisitionAssistance OPTIONAL, -- Need ON
+ gnss-Almanac GNSS-Almanac OPTIONAL, -- Need ON
+ gnss-UTC-Model GNSS-UTC-Model OPTIONAL, -- Need ON
+ gnss-AuxiliaryInformation GNSS-AuxiliaryInformation OPTIONAL, -- Need ON
+ ...,
+ [[
+ bds-DifferentialCorrections-r12
+ BDS-DifferentialCorrections-r12 OPTIONAL, -- Cond GNSS-ID-BDS
+ bds-GridModel-r12 BDS-GridModelParameter-r12 OPTIONAL -- Cond GNSS-ID-BDS
+ ]],
+ [[
+ gnss-RTK-Observations-r15 GNSS-RTK-Observations-r15 OPTIONAL, -- Need ON
+ glo-RTK-BiasInformation-r15 GLO-RTK-BiasInformation-r15 OPTIONAL, -- Cond GNSS-ID-GLO
+ gnss-RTK-MAC-CorrectionDifferences-r15
+ GNSS-RTK-MAC-CorrectionDifferences-r15
+ OPTIONAL, -- Need ON
+ gnss-RTK-Residuals-r15 GNSS-RTK-Residuals-r15 OPTIONAL, -- Need ON
+ gnss-RTK-FKP-Gradients-r15 GNSS-RTK-FKP-Gradients-r15 OPTIONAL, -- Need ON
+ gnss-SSR-OrbitCorrections-r15
+ GNSS-SSR-OrbitCorrections-r15 OPTIONAL, -- Need ON
+ gnss-SSR-ClockCorrections-r15
+ GNSS-SSR-ClockCorrections-r15 OPTIONAL, -- Need ON
+ gnss-SSR-CodeBias-r15 GNSS-SSR-CodeBias-r15 OPTIONAL -- Need ON
+ ]],
+ [[
+ gnss-SSR-URA-r16 GNSS-SSR-URA-r16 OPTIONAL, -- Need ON
+ gnss-SSR-PhaseBias-r16 GNSS-SSR-PhaseBias-r16 OPTIONAL, -- Need ON
+ gnss-SSR-STEC-Correction-r16 GNSS-SSR-STEC-Correction-r16
+ OPTIONAL, -- Need ON
+ gnss-SSR-GriddedCorrection-r16 GNSS-SSR-GriddedCorrection-r16
+ OPTIONAL, -- Need ON
+ navic-DifferentialCorrections-r16 NavIC-DifferentialCorrections-r16
+ OPTIONAL, -- Cond GNSS-ID-NavIC
+ navic-GridModel-r16 NavIC-GridModelParameter-r16
+ OPTIONAL -- Cond GNSS-ID-NavIC
+ ]]
+}
+
+
+GNSS-PeriodicAssistData-r15 ::= SEQUENCE {
+ gnss-RTK-PeriodicObservations-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ glo-RTK-PeriodicBiasInformation-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ gnss-RTK-MAC-PeriodicCorrectionDifferences-r15
+ GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ gnss-RTK-PeriodicResiduals-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ gnss-RTK-FKP-PeriodicGradients-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ gnss-SSR-PeriodicOrbitCorrections-r15
+ GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ gnss-SSR-PeriodicClockCorrections-r15
+ GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ gnss-SSR-PeriodicCodeBias-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ ...,
+ [[
+ gnss-SSR-PeriodicURA-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ gnss-SSR-PeriodicPhaseBias-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ gnss-SSR-PeriodicSTEC-Correction-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
+ gnss-SSR-PeriodicGriddedCorrection-r16 GNSS-PeriodicControlParam-r15 OPTIONAL -- Need ON
+ ]],
+ [[
+ gnss-Integrity-PeriodicServiceAlert-r17 GNSS-PeriodicControlParam-r15 OPTIONAL -- Need ON
+ ]]
+}
+
+
+GNSS-ReferenceTime ::= SEQUENCE {
+ gnss-SystemTime GNSS-SystemTime,
+ referenceTimeUnc INTEGER (0..127) OPTIONAL, -- Cond noFTA
+ gnss-ReferenceTimeForCells SEQUENCE (SIZE (1..16)) OF
+ GNSS-ReferenceTimeForOneCell OPTIONAL, -- Need ON
+ ...
+}
+
+GNSS-ReferenceTimeForOneCell ::= SEQUENCE {
+ networkTime NetworkTime,
+ referenceTimeUnc INTEGER (0..127),
+ bsAlign ENUMERATED {true} OPTIONAL,
+ ...
+}
+
+
+GNSS-SystemTime ::= SEQUENCE {
+ gnss-TimeID GNSS-ID,
+ gnss-DayNumber INTEGER (0..32767),
+ gnss-TimeOfDay INTEGER (0..86399),
+ gnss-TimeOfDayFrac-msec INTEGER (0..999) OPTIONAL, -- Need ON
+ notificationOfLeapSecond BIT STRING (SIZE(2)) OPTIONAL, -- Cond gnss-TimeID-glonass
+ gps-TOW-Assist GPS-TOW-Assist OPTIONAL, -- Cond gnss-TimeID-gps
+ ...
+}
+
+
+GPS-TOW-Assist ::= SEQUENCE (SIZE(1..64)) OF GPS-TOW-AssistElement
+
+GPS-TOW-AssistElement ::= SEQUENCE {
+ satelliteID INTEGER (1..64),
+ tlmWord INTEGER (0..16383),
+ antiSpoof INTEGER (0..1),
+ alert INTEGER (0..1),
+ tlmRsvdBits INTEGER (0..3),
+ ...
+}
+
+
+NetworkTime ::= SEQUENCE {
+ secondsFromFrameStructureStart INTEGER(0..12533),
+ fractionalSecondsFromFrameStructureStart INTEGER(0..3999999),
+ frameDrift INTEGER (-64..63) OPTIONAL, -- Cond GNSSsynch
+ cellID CHOICE {
+ eUTRA SEQUENCE {
+ physCellId INTEGER (0..503),
+ cellGlobalIdEUTRA CellGlobalIdEUTRA-AndUTRA OPTIONAL, -- Need ON
+ earfcn ARFCN-ValueEUTRA,
+ ...,
+ [[ earfcn-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond EARFCN-max
+ ]]
+ },
+ uTRA SEQUENCE {
+ mode CHOICE {
+ fdd SEQUENCE {
+ primary-CPICH-Info INTEGER (0..511),
+ ...
+ },
+ tdd SEQUENCE {
+ cellParameters INTEGER (0..127),
+ ...
+ }
+ },
+ cellGlobalIdUTRA CellGlobalIdEUTRA-AndUTRA OPTIONAL, -- Need ON
+ uarfcn ARFCN-ValueUTRA,
+ ...
+ },
+ gSM SEQUENCE {
+ bcchCarrier INTEGER (0..1023),
+ bsic INTEGER (0..63),
+ cellGlobalIdGERAN CellGlobalIdGERAN OPTIONAL, -- Need ON
+ ...
+ },
+ ...,
+ nBIoT-r14 SEQUENCE {
+ nbPhysCellId-r14 INTEGER (0..503),
+ nbCellGlobalId-r14 ECGI OPTIONAL, -- Need ON
+ nbCarrierFreq-r14 CarrierFreq-NB-r14,
+ ...
+ },
+ nr-r15 SEQUENCE {
+ nrPhysCellId-r15 INTEGER (0..1007),
+ nrCellGlobalID-r15 NCGI-r15 OPTIONAL, -- Need ON
+ nrARFCN-r15 ARFCN-ValueNR-r15,
+ ...
+ }
+ },
+ ...
+}
+
+
+GNSS-ReferenceLocation ::= SEQUENCE {
+ threeDlocation EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+ ...
+}
+
+
+GNSS-IonosphericModel ::= SEQUENCE {
+ klobucharModel KlobucharModelParameter OPTIONAL, -- Need ON
+ neQuickModel NeQuickModelParameter OPTIONAL, -- Need ON
+ ...,
+ [[ klobucharModel2-r16 KlobucharModel2Parameter-r16 OPTIONAL -- Need ON
+ ]]
+
+}
+
+
+KlobucharModelParameter ::= SEQUENCE {
+ dataID BIT STRING (SIZE (2)),
+ alfa0 INTEGER (-128..127),
+ alfa1 INTEGER (-128..127),
+ alfa2 INTEGER (-128..127),
+ alfa3 INTEGER (-128..127),
+ beta0 INTEGER (-128..127),
+ beta1 INTEGER (-128..127),
+ beta2 INTEGER (-128..127),
+ beta3 INTEGER (-128..127),
+ ...
+}
+
+
+KlobucharModel2Parameter-r16 ::= SEQUENCE {
+ alfa1-r16 INTEGER (0..1023),
+ alfa2-r16 INTEGER (-128..127),
+ alfa3-r16 INTEGER (0..255),
+ alfa4-r16 INTEGER (0..255),
+ alfa5-r16 INTEGER (0..255),
+ alfa6-r16 INTEGER (-128..127),
+ alfa7-r16 INTEGER (-128..127),
+ alfa8-r16 INTEGER (-128..127),
+ alfa9-r16 INTEGER (-128..127),
+ ...
+}
+
+
+NeQuickModelParameter ::= SEQUENCE {
+ ai0 INTEGER (0..2047),
+ ai1 INTEGER (-1024..1023),
+ ai2 INTEGER (-8192..8191),
+ ionoStormFlag1 INTEGER (0..1) OPTIONAL, -- Need OP
+ ionoStormFlag2 INTEGER (0..1) OPTIONAL, -- Need OP
+ ionoStormFlag3 INTEGER (0..1) OPTIONAL, -- Need OP
+ ionoStormFlag4 INTEGER (0..1) OPTIONAL, -- Need OP
+ ionoStormFlag5 INTEGER (0..1) OPTIONAL, -- Need OP
+ ...
+}
+
+
+GNSS-EarthOrientationParameters ::= SEQUENCE {
+ teop INTEGER (0..65535),
+ pmX INTEGER (-1048576..1048575),
+ pmXdot INTEGER (-16384..16383),
+ pmY INTEGER (-1048576..1048575),
+ pmYdot INTEGER (-16384..16383),
+ deltaUT1 INTEGER (-1073741824..1073741823),
+ deltaUT1dot INTEGER (-262144..262143),
+ ...
+}
+
+
+GNSS-RTK-ReferenceStationInfo-r15 ::= SEQUENCE {
+ referenceStationID-r15 GNSS-ReferenceStationID-r15,
+ referenceStationIndicator-r15 ENUMERATED {physical, non-physical},
+ antenna-reference-point-ECEF-X-r15 INTEGER (-137438953472..137438953471),
+ antenna-reference-point-ECEF-Y-r15 INTEGER (-137438953472..137438953471),
+ antenna-reference-point-ECEF-Z-r15 INTEGER (-137438953472..137438953471),
+ antennaHeight-r15 INTEGER (0..65535) OPTIONAL, -- Need ON
+ antennaDescription-r15 AntennaDescription-r15 OPTIONAL, -- Need ON
+ antenna-reference-point-unc-r15 AntennaReferencePointUnc-r15 OPTIONAL, -- Need ON
+ physical-reference-station-info-r15 PhysicalReferenceStationInfo-r15 OPTIONAL, -- Cond NP
+ ...,
+ [[
+ equalIntegerAmbiguityLevel-r16 EqualIntegerAmbiguityLevel-r16 OPTIONAL -- Need ON
+ ]]
+}
+
+AntennaDescription-r15 ::= SEQUENCE {
+ antennaDescriptor-r15 VisibleString (SIZE (1..256)),
+ antennaSetUpID-r15 ENUMERATED { non-zero } OPTIONAL, -- Need OP
+ ...
+}
+
+AntennaReferencePointUnc-r15 ::= SEQUENCE {
+ uncertainty-X-r15 INTEGER (0..255),
+ confidence-X-r15 INTEGER (0..100),
+ uncertainty-Y-r15 INTEGER (0..255),
+ confidence-Y-r15 INTEGER (0..100),
+ uncertainty-Z-r15 INTEGER (0..255),
+ confidence-Z-r15 INTEGER (0..100),
+ ...
+}
+
+PhysicalReferenceStationInfo-r15 ::= SEQUENCE {
+ physicalReferenceStationID-r15 GNSS-ReferenceStationID-r15,
+ physical-ARP-ECEF-X-r15 INTEGER (-137438953472..137438953471),
+ physical-ARP-ECEF-Y-r15 INTEGER (-137438953472..137438953471),
+ physical-ARP-ECEF-Z-r15 INTEGER (-137438953472..137438953471),
+ physical-ARP-unc-r15 AntennaReferencePointUnc-r15 OPTIONAL, -- Need ON
+ ...
+}
+
+EqualIntegerAmbiguityLevel-r16 ::= CHOICE {
+ allReferenceStations-r16 NULL,
+ referenceStationList-r16 ReferenceStationList-r16
+}
+
+ReferenceStationList-r16 ::= SEQUENCE (SIZE(1..16)) OF GNSS-ReferenceStationID-r15
+
+
+GNSS-RTK-CommonObservationInfo-r15 ::= SEQUENCE {
+ referenceStationID-r15 GNSS-ReferenceStationID-r15,
+ clockSteeringIndicator-r15 INTEGER (0..3),
+ externalClockIndicator-r15 INTEGER (0..3),
+ smoothingIndicator-r15 BIT STRING (SIZE(1)),
+ smoothingInterval-r15 BIT STRING (SIZE(3)),
+ ...
+}
+
+
+GNSS-RTK-AuxiliaryStationData-r15 ::= SEQUENCE {
+ networkID-r15 GNSS-NetworkID-r15,
+ subNetworkID-r15 GNSS-SubNetworkID-r15 OPTIONAL, -- Need ON
+ master-referenceStationID-r15 GNSS-ReferenceStationID-r15,
+ auxiliaryStationList-r15 AuxiliaryStationList-r15,
+ ...
+}
+
+AuxiliaryStationList-r15 ::= SEQUENCE (SIZE (1..32)) OF AuxiliaryStationElement-r15
+
+AuxiliaryStationElement-r15 ::= SEQUENCE {
+ aux-referenceStationID-r15 GNSS-ReferenceStationID-r15,
+ aux-master-delta-latitude-r15 INTEGER (-524288..524287),
+ aux-master-delta-longitude-r15 INTEGER (-1048576..1048575),
+ aux-master-delta-height-r15 INTEGER (-4194304..4194303),
+ aux-ARP-unc-r15 Aux-ARP-Unc-r15 OPTIONAL, -- Need ON
+ ...
+}
+
+Aux-ARP-Unc-r15 ::= SEQUENCE {
+ horizontalUncertainty-r15 INTEGER (0..255),
+ horizontalConfidence-r15 INTEGER (0..100),
+ verticalUncertainty-r15 INTEGER (0..255) OPTIONAL, -- Need ON
+ verticalConfidence-r15 INTEGER (0..100) OPTIONAL, -- Need ON
+ ...
+}
+
+
+GNSS-SSR-CorrectionPoints-r16 ::= SEQUENCE {
+ correctionPointSetID-r16 INTEGER (0..16383),
+ correctionPoints-r16 CHOICE {
+ listOfCorrectionPoints-r16 GNSS-SSR-ListOfCorrectionPoints-r16,
+ arrayOfCorrectionPoints-r16 GNSS-SSR-ArrayOfCorrectionPoints-r16
+ },
+ ...
+}
+
+GNSS-SSR-ListOfCorrectionPoints-r16 ::= SEQUENCE {
+ referencePointLatitude-r16 INTEGER (-16384..16383),
+ referencePointLongitude-r16 INTEGER (-32768..32767),
+ relativeLocationsList-r16 SEQUENCE (SIZE (0..63)) OF RelativeLocationElement-r16,
+ ...
+}
+
+RelativeLocationElement-r16 ::= SEQUENCE {
+ deltaLatitude-r16 INTEGER (-512..511),
+ deltaLongitude-r16 INTEGER (-1024..1023),
+ ...
+}
+
+GNSS-SSR-ArrayOfCorrectionPoints-r16 ::=SEQUENCE {
+ referencePointLatitude-r16 INTEGER (-16384..16383),
+ referencePointLongitude-r16 INTEGER (-32768..32767),
+ numberOfStepsLatitude-r16 INTEGER (0..63),
+ numberOfStepsLongitude-r16 INTEGER (0..63),
+ stepOfLatitude-r16 INTEGER (1..511),
+ stepOfLongitude-r16 INTEGER (1..1023),
+ bitmaskOfGrids-r16 BIT STRING (SIZE(64)) OPTIONAL, -- Need OP
+ ...
+}
+
+
+GNSS-Integrity-ServiceParameters-r17 ::= SEQUENCE {
+ irMinimum-r17 INTEGER (0..255),
+ irMaximum-r17 INTEGER (0..255),
+ ...
+}
+
+
+GNSS-Integrity-ServiceAlert-r17 ::= SEQUENCE {
+ ionosphereDoNotUse-r17 BOOLEAN,
+ troposphereDoNotUse-r17 BOOLEAN,
+ ...
+}
+
+
+GNSS-TimeModelList ::= SEQUENCE (SIZE (1..15)) OF GNSS-TimeModelElement
+
+GNSS-TimeModelElement ::= SEQUENCE {
+ gnss-TimeModelRefTime INTEGER (0..65535),
+ tA0 INTEGER (-67108864..67108863),
+ tA1 INTEGER (-4096..4095) OPTIONAL, -- Need ON
+ tA2 INTEGER (-64..63) OPTIONAL, -- Need ON
+ gnss-TO-ID INTEGER (1..15),
+ weekNumber INTEGER (0..8191) OPTIONAL, -- Need ON
+ deltaT INTEGER (-128..127) OPTIONAL, -- Need ON
+ ...
+}
+
+
+GNSS-DifferentialCorrections ::= SEQUENCE {
+ dgnss-RefTime INTEGER (0..3599),
+ dgnss-SgnTypeList DGNSS-SgnTypeList,
+ ...
+}
+
+DGNSS-SgnTypeList ::= SEQUENCE (SIZE (1..3)) OF DGNSS-SgnTypeElement
+
+DGNSS-SgnTypeElement ::= SEQUENCE {
+ gnss-SignalID GNSS-SignalID,
+ gnss-StatusHealth INTEGER (0..7),
+ dgnss-SatList DGNSS-SatList,
+ ...
+}
+
+DGNSS-SatList ::= SEQUENCE (SIZE (1..64)) OF DGNSS-CorrectionsElement
+
+DGNSS-CorrectionsElement ::= SEQUENCE {
+ svID SV-ID,
+ iod BIT STRING (SIZE(11)),
+ udre INTEGER (0..3),
+ pseudoRangeCor INTEGER (-2047..2047),
+ rangeRateCor INTEGER (-127..127),
+ udreGrowthRate INTEGER (0..7) OPTIONAL, -- Need ON
+ udreValidityTime INTEGER (0..7) OPTIONAL, -- Need ON
+ ...
+}
+
+
+GNSS-NavigationModel ::= SEQUENCE {
+ nonBroadcastIndFlag INTEGER (0..1),
+ gnss-SatelliteList GNSS-NavModelSatelliteList,
+ ...
+}
+
+GNSS-NavModelSatelliteList ::= SEQUENCE (SIZE(1..64)) OF GNSS-NavModelSatelliteElement
+
+GNSS-NavModelSatelliteElement ::= SEQUENCE {
+ svID SV-ID,
+ svHealth BIT STRING (SIZE(8)),
+ iod BIT STRING (SIZE(11)),
+ gnss-ClockModel GNSS-ClockModel,
+ gnss-OrbitModel GNSS-OrbitModel,
+ ...,
+ [[ svHealthExt-v1240 BIT STRING (SIZE(4)) OPTIONAL -- Need ON
+ ]]
+}
+
+GNSS-ClockModel ::= CHOICE {
+ standardClockModelList StandardClockModelList, -- Model-1
+ nav-ClockModel NAV-ClockModel, -- Model-2
+ cnav-ClockModel CNAV-ClockModel, -- Model-3
+ glonass-ClockModel GLONASS-ClockModel, -- Model-4
+ sbas-ClockModel SBAS-ClockModel, -- Model-5
+ ...,
+ bds-ClockModel-r12 BDS-ClockModel-r12, -- Model-6
+ bds-ClockModel2-r16 BDS-ClockModel2-r16, -- Model-7
+ navic-ClockModel-r16 NavIC-ClockModel-r16 -- Model-8
+}
+
+GNSS-OrbitModel ::= CHOICE {
+ keplerianSet NavModelKeplerianSet, -- Model-1
+ nav-KeplerianSet NavModelNAV-KeplerianSet, -- Model-2
+ cnav-KeplerianSet NavModelCNAV-KeplerianSet, -- Model-3
+ glonass-ECEF NavModel-GLONASS-ECEF, -- Model-4
+ sbas-ECEF NavModel-SBAS-ECEF, -- Model-5
+ ...,
+ bds-KeplerianSet-r12 NavModel-BDS-KeplerianSet-r12, -- Model-6
+ bds-KeplerianSet2-r16 NavModel-BDS-KeplerianSet2-r16, -- Model-7
+ navic-KeplerianSet-r16 NavModel-NavIC-KeplerianSet-r16 -- Model-8
+}
+
+
+StandardClockModelList ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement
+
+StandardClockModelElement ::= SEQUENCE {
+ stanClockToc INTEGER (0..16383),
+ stanClockAF2 INTEGER (-32..31),
+ stanClockAF1 INTEGER (-1048576..1048575),
+ stanClockAF0 INTEGER (-1073741824..1073741823),
+ stanClockTgd INTEGER (-512..511) OPTIONAL, -- Need ON
+ sisa INTEGER (0..255),
+ stanModelID INTEGER (0..1) OPTIONAL, -- Need ON
+ ...
+}
+
+
+NAV-ClockModel ::= SEQUENCE {
+ navToc INTEGER (0..37799),
+ navaf2 INTEGER (-128..127),
+ navaf1 INTEGER (-32768..32767),
+ navaf0 INTEGER (-2097152..2097151),
+ navTgd INTEGER (-128..127),
+ ...
+}
+
+
+CNAV-ClockModel ::= SEQUENCE {
+ cnavToc INTEGER (0..2015),
+ cnavTop INTEGER (0..2015),
+ cnavURA0 INTEGER (-16..15),
+ cnavURA1 INTEGER (0..7),
+ cnavURA2 INTEGER (0..7),
+ cnavAf2 INTEGER (-512..511),
+ cnavAf1 INTEGER (-524288..524287),
+ cnavAf0 INTEGER (-33554432..33554431),
+ cnavTgd INTEGER (-4096..4095),
+ cnavISCl1cp INTEGER (-4096..4095) OPTIONAL, -- Need ON
+ cnavISCl1cd INTEGER (-4096..4095) OPTIONAL, -- Need ON
+ cnavISCl1ca INTEGER (-4096..4095) OPTIONAL, -- Need ON
+ cnavISCl2c INTEGER (-4096..4095) OPTIONAL, -- Need ON
+ cnavISCl5i5 INTEGER (-4096..4095) OPTIONAL, -- Need ON
+ cnavISCl5q5 INTEGER (-4096..4095) OPTIONAL, -- Need ON
+ ...
+}
+
+
+GLONASS-ClockModel ::= SEQUENCE {
+ gloTau INTEGER (-2097152..2097151),
+ gloGamma INTEGER (-1024..1023),
+ gloDeltaTau INTEGER (-16..15) OPTIONAL, -- Need ON
+ ...
+}
+
+
+SBAS-ClockModel ::= SEQUENCE {
+ sbasTo INTEGER (0..5399),
+ sbasAgfo INTEGER (-2048..2047),
+ sbasAgf1 INTEGER (-128..127),
+ ...
+}
+
+
+BDS-ClockModel-r12 ::= SEQUENCE {
+ bdsAODC-r12 INTEGER (0..31),
+ bdsToc-r12 INTEGER (0..131071),
+ bdsA0-r12 INTEGER (-8388608..8388607),
+ bdsA1-r12 INTEGER (-2097152..2097151),
+ bdsA2-r12 INTEGER (-1024..1023),
+ bdsTgd1-r12 INTEGER (-512..511),
+ ...,
+ [[ bdsTgd2-r16 INTEGER (-512..511) OPTIONAL -- Need ON
+ ]]
+}
+
+
+BDS-ClockModel2-r16 ::= SEQUENCE {
+ bdsToc-r16 INTEGER (0..2047),
+ bdsA0-r16 INTEGER (-16777216..16777215),
+ bdsA1-r16 INTEGER (-2097152..2097151),
+ bdsA2-r16 INTEGER (-1024..1023),
+ bdsTgdB1Cp-r16 INTEGER (-2048..2047),
+ bdsIscB1Cd-r16 INTEGER (-2048..2047),
+ ...,
+ [[ bdsTgdB2ap-r17 INTEGER (-2048..2047) OPTIONAL, -- Need ON
+ bdsIscB2ad-r17 INTEGER (-2048..2047) OPTIONAL -- Need ON
+ ]]
+}
+
+
+NavIC-ClockModel-r16 ::= SEQUENCE {
+ navic-Toc-r16 INTEGER (0..65535),
+ navic-af2-r16 INTEGER (-128..127),
+ navic-af1-r16 INTEGER (-32768..32767),
+ navic-af0-r16 INTEGER (-2097152..2097151),
+ navic-Tgd-r16 INTEGER (-128..127),
+ ...
+}
+
+
+NavModelKeplerianSet ::= SEQUENCE {
+ keplerToe INTEGER (0 .. 16383),
+ keplerW INTEGER (-2147483648..2147483647),
+ keplerDeltaN INTEGER (-32768..32767),
+ keplerM0 INTEGER (-2147483648..2147483647),
+ keplerOmegaDot INTEGER (-8388608.. 8388607),
+ keplerE INTEGER (0..4294967295),
+ keplerIDot INTEGER (-8192..8191),
+ keplerAPowerHalf INTEGER (0.. 4294967295),
+ keplerI0 INTEGER (-2147483648..2147483647),
+ keplerOmega0 INTEGER (-2147483648..2147483647),
+ keplerCrs INTEGER (-32768..32767),
+ keplerCis INTEGER (-32768..32767),
+ keplerCus INTEGER (-32768..32767),
+ keplerCrc INTEGER (-32768..32767),
+ keplerCic INTEGER (-32768..32767),
+ keplerCuc INTEGER (-32768..32767),
+ ...
+}
+
+
+NavModelNAV-KeplerianSet ::= SEQUENCE {
+ navURA INTEGER (0..15),
+ navFitFlag INTEGER (0..1),
+ navToe INTEGER (0..37799),
+ navOmega INTEGER (-2147483648..2147483647),
+ navDeltaN INTEGER (-32768..32767),
+ navM0 INTEGER (-2147483648..2147483647),
+ navOmegaADot INTEGER (-8388608..8388607),
+ navE INTEGER (0..4294967295),
+ navIDot INTEGER (-8192..8191),
+ navAPowerHalf INTEGER (0..4294967295),
+ navI0 INTEGER (-2147483648..2147483647),
+ navOmegaA0 INTEGER (-2147483648..2147483647),
+ navCrs INTEGER (-32768..32767),
+ navCis INTEGER (-32768..32767),
+ navCus INTEGER (-32768..32767),
+ navCrc INTEGER (-32768..32767),
+ navCic INTEGER (-32768..32767),
+ navCuc INTEGER (-32768..32767),
+ addNAVparam SEQUENCE {
+ ephemCodeOnL2 INTEGER (0..3),
+ ephemL2Pflag INTEGER (0..1),
+ ephemSF1Rsvd SEQUENCE {
+ reserved1 INTEGER (0..8388607), -- 23-bit field
+ reserved2 INTEGER (0..16777215), -- 24-bit field
+ reserved3 INTEGER (0..16777215), -- 24-bit field
+ reserved4 INTEGER (0..65535) -- 16-bit field
+ },
+ ephemAODA INTEGER (0..31)
+ } OPTIONAL, -- Need ON
+ ...
+}
+
+
+NavModelCNAV-KeplerianSet ::= SEQUENCE {
+ cnavTop INTEGER (0..2015),
+ cnavURAindex INTEGER (-16..15),
+ cnavDeltaA INTEGER (-33554432..33554431),
+ cnavAdot INTEGER (-16777216..16777215),
+ cnavDeltaNo INTEGER (-65536..65535),
+ cnavDeltaNoDot INTEGER (-4194304..4194303),
+ cnavMo INTEGER (-4294967296..4294967295),
+ cnavE INTEGER (0..8589934591),
+ cnavOmega INTEGER (-4294967296..4294967295),
+ cnavOMEGA0 INTEGER (-4294967296..4294967295),
+ cnavDeltaOmegaDot INTEGER (-65536..65535),
+ cnavIo INTEGER (-4294967296..4294967295),
+ cnavIoDot INTEGER (-16384..16383),
+ cnavCis INTEGER (-32768..32767),
+ cnavCic INTEGER (-32768..32767),
+ cnavCrs INTEGER (-8388608..8388607),
+ cnavCrc INTEGER (-8388608..8388607),
+ cnavCus INTEGER (-1048576..1048575),
+ cnavCuc INTEGER (-1048576..1048575),
+ ...
+}
+
+
+NavModel-GLONASS-ECEF ::= SEQUENCE {
+ gloEn INTEGER (0..31),
+ gloP1 BIT STRING (SIZE(2)),
+ gloP2 BOOLEAN,
+ gloM INTEGER (0..3),
+ gloX INTEGER (-67108864..67108863),
+ gloXdot INTEGER (-8388608..8388607),
+ gloXdotdot INTEGER (-16..15),
+ gloY INTEGER (-67108864..67108863),
+ gloYdot INTEGER (-8388608..8388607),
+ gloYdotdot INTEGER (-16..15),
+ gloZ INTEGER (-67108864..67108863),
+ gloZdot INTEGER (-8388608..8388607),
+ gloZdotdot INTEGER (-16..15),
+ ...
+}
+
+
+NavModel-SBAS-ECEF ::= SEQUENCE {
+ sbasTo INTEGER (0..5399) OPTIONAL, -- Cond ClockModel
+ sbasAccuracy BIT STRING (SIZE(4)),
+ sbasXg INTEGER (-536870912..536870911),
+ sbasYg INTEGER (-536870912..536870911),
+ sbasZg INTEGER (-16777216..16777215),
+ sbasXgDot INTEGER (-65536..65535),
+ sbasYgDot INTEGER (-65536..65535),
+ sbasZgDot INTEGER (-131072..131071),
+ sbasXgDotDot INTEGER (-512..511),
+ sbagYgDotDot INTEGER (-512..511),
+ sbasZgDotDot INTEGER (-512..511),
+ ...
+}
+
+
+NavModel-BDS-KeplerianSet-r12 ::= SEQUENCE {
+ bdsAODE-r12 INTEGER (0..31),
+ bdsURAI-r12 INTEGER (0..15),
+ bdsToe-r12 INTEGER (0..131071),
+ bdsAPowerHalf-r12 INTEGER (0..4294967295),
+ bdsE-r12 INTEGER (0..4294967295),
+ bdsW-r12 INTEGER (-2147483648..2147483647),
+ bdsDeltaN-r12 INTEGER (-32768..32767),
+ bdsM0-r12 INTEGER (-2147483648..2147483647),
+ bdsOmega0-r12 INTEGER (-2147483648..2147483647),
+ bdsOmegaDot-r12 INTEGER (-8388608..8388607),
+ bdsI0-r12 INTEGER (-2147483648..2147483647),
+ bdsIDot-r12 INTEGER (-8192..8191),
+ bdsCuc-r12 INTEGER (-131072..131071),
+ bdsCus-r12 INTEGER (-131072..131071),
+ bdsCrc-r12 INTEGER (-131072..131071),
+ bdsCrs-r12 INTEGER (-131072..131071),
+ bdsCic-r12 INTEGER (-131072..131071),
+ bdsCis-r12 INTEGER (-131072..131071),
+ ...
+}
+
+
+NavModel-BDS-KeplerianSet2-r16 ::= SEQUENCE {
+ bdsIODE-r16 INTEGER (0..255),
+ bdsToe-r16 INTEGER (0..2047),
+ bdsDeltaA-r16 INTEGER (-33554432..33554431),
+ bdsAdot-r16 INTEGER (-16777216..16777216),
+ bdsDeltaN0-r16 INTEGER (-65536..65535),
+ bdsDeltaN0dot-r16 INTEGER (-4194304..4194303),
+ bdsM0-r16 INTEGER (-4294967296..4294967295),
+ bdsE-r16 INTEGER (0..8589934591),
+ bdsOmega-r16 INTEGER (-4294967296..4294967295),
+ bdsOmega0-r16 INTEGER (-4294967296..4294967295),
+ bdsI0-r16 INTEGER (-4294967296..4294967295),
+ bdsOmegaDot-r16 INTEGER (-262144..262143),
+ bdsI0Dot-r16 INTEGER (-16384..16383),
+ bdsCuc-r16 INTEGER (-1048576..1048575),
+ bdsCus-r16 INTEGER (-1048576..1048575),
+ bdsCrc-r16 INTEGER (-8388608..8388607),
+ bdsCrs-r16 INTEGER (-8388608..8388607),
+ bdsCic-r16 INTEGER (-32768..32767),
+ bdsCis-r16 INTEGER (-32768..32767),
+ ...
+}
+
+
+NavModel-NavIC-KeplerianSet-r16 ::= SEQUENCE {
+ navic-Toe-r16 INTEGER (0..65536),
+ navic-URAI-r16 INTEGER (0..15),
+ navic-W-r16 INTEGER (-2147483648..2147483647),
+ navic-DeltaN-r16 INTEGER (-2097152..2097151),
+ navic-M0-r16 INTEGER (-2147483648..2147483647),
+ navic-OmegaDot-r16 INTEGER (-2147483648..2147483647),
+ navic-E-r16 INTEGER (0..4294967295),
+ navic-IDot-r16 INTEGER (-8192..8191),
+ navic-APowerHalf-r16 INTEGER (0.. 4294967295),
+ navic-I0-r16 INTEGER (-2147483648..2147483647),
+ navic-Omega0-r16 INTEGER (-2147483648..2147483647),
+ navic-Crs-r16 INTEGER (-32768..32767),
+ navic-Cis-r16 INTEGER (-32768..32767),
+ navic-Cus-r16 INTEGER (-32768..32767),
+ navic-Crc-r16 INTEGER (-32768..32767),
+ navic-Cic-r16 INTEGER (-32768..32767),
+ navic-Cuc-r16 INTEGER (-32768..32767),
+ ...
+}
+
+
+GNSS-RealTimeIntegrity ::= SEQUENCE {
+ gnss-BadSignalList GNSS-BadSignalList,
+ ...
+}
+
+GNSS-BadSignalList ::= SEQUENCE (SIZE(1..64)) OF BadSignalElement
+
+BadSignalElement ::= SEQUENCE {
+ badSVID SV-ID,
+ badSignalID GNSS-SignalIDs OPTIONAL, -- Need OP
+ ...
+}
+
+
+GNSS-DataBitAssistance ::= SEQUENCE {
+ gnss-TOD INTEGER (0..3599),
+ gnss-TODfrac INTEGER (0..999) OPTIONAL, -- Need ON
+ gnss-DataBitsSatList GNSS-DataBitsSatList,
+ ...
+}
+
+GNSS-DataBitsSatList ::= SEQUENCE (SIZE(1..64))OF GNSS-DataBitsSatElement
+
+GNSS-DataBitsSatElement ::= SEQUENCE {
+ svID SV-ID,
+ gnss-DataBitsSgnList GNSS-DataBitsSgnList,
+ ...
+}
+
+GNSS-DataBitsSgnList ::= SEQUENCE (SIZE(1..8)) OF GNSS-DataBitsSgnElement
+
+GNSS-DataBitsSgnElement ::= SEQUENCE {
+ gnss-SignalType GNSS-SignalID,
+ gnss-DataBits BIT STRING (SIZE (1..1024)),
+ ...
+}
+
+
+GNSS-AcquisitionAssistance ::= SEQUENCE {
+ gnss-SignalID GNSS-SignalID,
+ gnss-AcquisitionAssistList GNSS-AcquisitionAssistList,
+ ...,
+ confidence-r10 INTEGER (0..100) OPTIONAL -- Need ON
+}
+
+GNSS-AcquisitionAssistList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AcquisitionAssistElement
+
+GNSS-AcquisitionAssistElement ::= SEQUENCE {
+ svID SV-ID,
+ doppler0 INTEGER (-2048..2047),
+ doppler1 INTEGER (0..63),
+ dopplerUncertainty INTEGER (0..4),
+ codePhase INTEGER (0..1022),
+ intCodePhase INTEGER (0..127),
+ codePhaseSearchWindow INTEGER (0..31),
+ azimuth INTEGER (0..511),
+ elevation INTEGER (0..127),
+ ...,
+ codePhase1023 BOOLEAN OPTIONAL, -- Need OP
+ dopplerUncertaintyExt-r10 ENUMERATED { d60,
+ d80,
+ d100,
+ d120,
+ noInformation, ... } OPTIONAL -- Need ON
+}
+
+
+GNSS-Almanac ::= SEQUENCE {
+ weekNumber INTEGER (0..255) OPTIONAL, -- Need ON
+ toa INTEGER (0..255) OPTIONAL, -- Need ON
+ ioda INTEGER (0..3) OPTIONAL, -- Need ON
+ completeAlmanacProvided BOOLEAN,
+ gnss-AlmanacList GNSS-AlmanacList,
+ ...,
+ [[ toa-ext-v1240 INTEGER (256..1023) OPTIONAL, -- Need ON
+ ioda-ext-v1240 INTEGER (4..15) OPTIONAL -- Need ON
+ ]],
+ [[
+ weekNumber-ext-r16 INTEGER (256..8191) OPTIONAL, -- Need ON
+ toa-ext2-r16 INTEGER (256..65535) OPTIONAL -- Need ON
+ ]]
+}
+
+GNSS-AlmanacList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AlmanacElement
+
+GNSS-AlmanacElement ::= CHOICE {
+ keplerianAlmanacSet AlmanacKeplerianSet, -- Model-1
+ keplerianNAV-Almanac AlmanacNAV-KeplerianSet, -- Model-2
+ keplerianReducedAlmanac AlmanacReducedKeplerianSet, -- Model-3
+ keplerianMidiAlmanac AlmanacMidiAlmanacSet, -- Model-4
+ keplerianGLONASS AlmanacGLONASS-AlmanacSet, -- Model-5
+ ecef-SBAS-Almanac AlmanacECEF-SBAS-AlmanacSet,-- Model-6
+ ...,
+ keplerianBDS-Almanac-r12 AlmanacBDS-AlmanacSet-r12, -- Model-7
+ keplerianNavIC-Almanac-r16 AlmanacNavIC-AlmanacSet-r16 -- Model-8
+}
+
+
+AlmanacKeplerianSet ::= SEQUENCE {
+ svID SV-ID,
+ kepAlmanacE INTEGER (0..2047),
+ kepAlmanacDeltaI INTEGER (-1024..1023),
+ kepAlmanacOmegaDot INTEGER (-1024..1023),
+ kepSV-StatusINAV BIT STRING (SIZE (4)),
+ kepSV-StatusFNAV BIT STRING (SIZE (2)) OPTIONAL, -- Need ON
+ kepAlmanacAPowerHalf INTEGER (-4096..4095),
+ kepAlmanacOmega0 INTEGER (-32768..32767),
+ kepAlmanacW INTEGER (-32768..32767),
+ kepAlmanacM0 INTEGER (-32768..32767),
+ kepAlmanacAF0 INTEGER (-32768..32767),
+ kepAlmanacAF1 INTEGER (-4096..4095),
+ ...
+}
+
+
+AlmanacNAV-KeplerianSet ::= SEQUENCE {
+ svID SV-ID,
+ navAlmE INTEGER (0..65535),
+ navAlmDeltaI INTEGER (-32768..32767),
+ navAlmOMEGADOT INTEGER (-32768..32767),
+ navAlmSVHealth INTEGER (0..255),
+ navAlmSqrtA INTEGER (0..16777215),
+ navAlmOMEGAo INTEGER (-8388608..8388607),
+ navAlmOmega INTEGER (-8388608..8388607),
+ navAlmMo INTEGER (-8388608..8388607),
+ navAlmaf0 INTEGER (-1024..1023),
+ navAlmaf1 INTEGER (-1024..1023),
+ ...
+}
+
+
+AlmanacReducedKeplerianSet ::= SEQUENCE {
+ svID SV-ID,
+ redAlmDeltaA INTEGER (-128..127),
+ redAlmOmega0 INTEGER (-64..63),
+ redAlmPhi0 INTEGER (-64..63),
+ redAlmL1Health BOOLEAN,
+ redAlmL2Health BOOLEAN,
+ redAlmL5Health BOOLEAN,
+ ...
+}
+
+
+AlmanacMidiAlmanacSet ::= SEQUENCE {
+ svID SV-ID,
+ midiAlmE INTEGER (0..2047),
+ midiAlmDeltaI INTEGER (-1024..1023),
+ midiAlmOmegaDot INTEGER (-1024..1023),
+ midiAlmSqrtA INTEGER (0..131071),
+ midiAlmOmega0 INTEGER (-32768..32767),
+ midiAlmOmega INTEGER (-32768..32767),
+ midiAlmMo INTEGER (-32768..32767),
+ midiAlmaf0 INTEGER (-1024..1023),
+ midiAlmaf1 INTEGER (-512..511),
+ midiAlmL1Health BOOLEAN,
+ midiAlmL2Health BOOLEAN,
+ midiAlmL5Health BOOLEAN,
+ ...
+}
+
+
+AlmanacGLONASS-AlmanacSet ::= SEQUENCE {
+ gloAlm-NA INTEGER (1..1461),
+ gloAlmnA INTEGER (1..24),
+ gloAlmHA INTEGER (0..31),
+ gloAlmLambdaA INTEGER (-1048576..1048575),
+ gloAlmtlambdaA INTEGER (0..2097151),
+ gloAlmDeltaIa INTEGER (-131072..131071),
+ gloAlmDeltaTA INTEGER (-2097152..2097151),
+ gloAlmDeltaTdotA INTEGER (-64..63),
+ gloAlmEpsilonA INTEGER (0..32767),
+ gloAlmOmegaA INTEGER (-32768..32767),
+ gloAlmTauA INTEGER (-512..511),
+ gloAlmCA INTEGER (0..1),
+ gloAlmMA BIT STRING (SIZE(2)) OPTIONAL, -- Need ON
+ ...
+}
+
+
+AlmanacECEF-SBAS-AlmanacSet ::= SEQUENCE {
+ sbasAlmDataID INTEGER (0..3),
+ svID SV-ID,
+ sbasAlmHealth BIT STRING (SIZE(8)),
+ sbasAlmXg INTEGER (-16384..16383),
+ sbasAlmYg INTEGER (-16384..16383),
+ sbasAlmZg INTEGER (-256..255),
+ sbasAlmXgdot INTEGER (-4..3),
+ sbasAlmYgDot INTEGER (-4..3),
+ sbasAlmZgDot INTEGER (-8..7),
+ sbasAlmTo INTEGER (0..2047),
+ ...
+}
+
+
+AlmanacBDS-AlmanacSet-r12 ::= SEQUENCE {
+ svID SV-ID,
+ bdsAlmToa-r12 INTEGER (0..255) OPTIONAL, -- Cond NotSameForAllSV
+ bdsAlmSqrtA-r12 INTEGER (0..16777215),
+ bdsAlmE-r12 INTEGER (0..131071),
+ bdsAlmW-r12 INTEGER (-8388608..8388607),
+ bdsAlmM0-r12 INTEGER (-8388608..8388607),
+ bdsAlmOmega0-r12 INTEGER (-8388608..8388607),
+ bdsAlmOmegaDot-r12 INTEGER (-65536..65535),
+ bdsAlmDeltaI-r12 INTEGER (-32768..32767),
+ bdsAlmA0-r12 INTEGER (-1024..1023),
+ bdsAlmA1-r12 INTEGER (-1024..1023),
+ bdsSvHealth-r12 BIT STRING (SIZE(9)) OPTIONAL, -- Cond SV-ID
+ ...
+}
+
+
+AlmanacNavIC-AlmanacSet-r16 ::= SEQUENCE {
+ svID-r16 SV-ID,
+ navic-AlmToa-r16 INTEGER (0..65535) OPTIONAL, -- Cond NotSameForAllSV
+ navic-AlmE-r16 INTEGER (0..65535),
+ navic-AlmOMEGADOT-r16 INTEGER (-32768..32767),
+ navic-AlmSqrtA-r16 INTEGER (0..16777215),
+ navic-AlmOMEGAo-r16 INTEGER (-8388608..8388607),
+ navic-AlmOmega-r16 INTEGER (-8388608..8388607),
+ navic-AlmMo-r16 INTEGER (-8388608..8388607),
+ navic-Almaf0-r16 INTEGER (-1024..1023),
+ navic-Almaf1-r16 INTEGER (-1024..1023),
+ ...
+}
+
+
+GNSS-UTC-Model ::= CHOICE {
+ utcModel1 UTC-ModelSet1, -- Model-1
+ utcModel2 UTC-ModelSet2, -- Model-2
+ utcModel3 UTC-ModelSet3, -- Model-3
+ utcModel4 UTC-ModelSet4, -- Model-4
+ ...,
+ utcModel5-r12 UTC-ModelSet5-r12 -- Model-5
+}
+
+
+UTC-ModelSet1 ::= SEQUENCE {
+ gnss-Utc-A1 INTEGER (-8388608..8388607),
+ gnss-Utc-A0 INTEGER (-2147483648..2147483647),
+ gnss-Utc-Tot INTEGER (0..255),
+ gnss-Utc-WNt INTEGER (0..255),
+ gnss-Utc-DeltaTls INTEGER (-128..127),
+ gnss-Utc-WNlsf INTEGER (0..255),
+ gnss-Utc-DN INTEGER (-128..127),
+ gnss-Utc-DeltaTlsf INTEGER (-128..127),
+ ...
+}
+
+
+UTC-ModelSet2 ::= SEQUENCE {
+ utcA0 INTEGER (-32768..32767),
+ utcA1 INTEGER (-4096..4095),
+ utcA2 INTEGER (-64..63),
+ utcDeltaTls INTEGER (-128..127),
+ utcTot INTEGER (0..65535),
+ utcWNot INTEGER (0..8191),
+ utcWNlsf INTEGER (0..255),
+ utcDN BIT STRING (SIZE(4)),
+ utcDeltaTlsf INTEGER (-128..127),
+ ...,
+ [[
+ utcWNlsf-ext-r16 INTEGER (256..8191) OPTIONAL -- Need ON
+ ]]
+}
+
+
+UTC-ModelSet3 ::= SEQUENCE {
+ nA INTEGER (1..1461),
+ tauC INTEGER (-2147483648..2147483647),
+ b1 INTEGER (-1024..1023) OPTIONAL, -- Cond GLONASS-M
+ b2 INTEGER (-512..511) OPTIONAL, -- Cond GLONASS-M
+ kp BIT STRING (SIZE(2)) OPTIONAL, -- Cond GLONASS-M
+ ...
+}
+
+
+UTC-ModelSet4 ::= SEQUENCE {
+ utcA1wnt INTEGER (-8388608..8388607),
+ utcA0wnt INTEGER (-2147483648..2147483647),
+ utcTot INTEGER (0..255),
+ utcWNt INTEGER (0..255),
+ utcDeltaTls INTEGER (-128..127),
+ utcWNlsf INTEGER (0..255),
+ utcDN INTEGER (-128..127),
+ utcDeltaTlsf INTEGER (-128..127),
+ utcStandardID INTEGER (0..7),
+ ...
+}
+
+
+UTC-ModelSet5-r12 ::= SEQUENCE {
+ utcA0-r12 INTEGER (-2147483648..2147483647),
+ utcA1-r12 INTEGER (-8388608..8388607),
+ utcDeltaTls-r12 INTEGER (-128..127),
+ utcWNlsf-r12 INTEGER (0..255),
+ utcDN-r12 INTEGER (0..255),
+ utcDeltaTlsf-r12 INTEGER (-128..127),
+ ...
+}
+
+
+GNSS-AuxiliaryInformation ::= CHOICE {
+ gnss-ID-GPS GNSS-ID-GPS,
+ gnss-ID-GLONASS GNSS-ID-GLONASS,
+ ...,
+ [[ gnss-ID-BDS-r16 GNSS-ID-BDS-r16
+ ]]
+}
+
+GNSS-ID-GPS ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-GPS-SatElement
+
+GNSS-ID-GPS-SatElement ::= SEQUENCE {
+ svID SV-ID,
+ signalsAvailable GNSS-SignalIDs,
+ ...
+}
+
+GNSS-ID-GLONASS ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-GLONASS-SatElement
+
+GNSS-ID-GLONASS-SatElement ::= SEQUENCE {
+ svID SV-ID,
+ signalsAvailable GNSS-SignalIDs,
+ channelNumber INTEGER (-7..13) OPTIONAL, -- Cond FDMA
+ ...
+}
+
+GNSS-ID-BDS-r16 ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-BDS-SatElement-r16
+
+GNSS-ID-BDS-SatElement-r16 ::= SEQUENCE {
+ svID-r16 SV-ID,
+ satType-r16 INTEGER (0..3),
+ ...
+}
+
+
+BDS-DifferentialCorrections-r12 ::= SEQUENCE {
+ dbds-RefTime-r12 INTEGER (0..3599),
+ bds-SgnTypeList-r12 BDS-SgnTypeList-r12,
+ ...
+}
+
+BDS-SgnTypeList-r12 ::= SEQUENCE (SIZE (1..3)) OF BDS-SgnTypeElement-r12
+
+BDS-SgnTypeElement-r12 ::= SEQUENCE {
+ gnss-SignalID GNSS-SignalID OPTIONAL, -- Need ON
+ dbds-CorrectionList-r12 DBDS-CorrectionList-r12,
+ ...
+}
+
+DBDS-CorrectionList-r12 ::= SEQUENCE (SIZE (1..64)) OF DBDS-CorrectionElement-r12
+
+DBDS-CorrectionElement-r12 ::= SEQUENCE {
+ svID SV-ID,
+ bds-UDREI-r12 INTEGER (0..15),
+ bds-RURAI-r12 INTEGER (0..15),
+ bds-ECC-DeltaT-r12 INTEGER (-4096..4095),
+ ...
+}
+
+
+BDS-GridModelParameter-r12 ::= SEQUENCE {
+ bds-RefTime-r12 INTEGER (0..3599),
+ gridIonList-r12 GridIonList-r12,
+ ...
+}
+
+GridIonList-r12 ::= SEQUENCE (SIZE (1..320)) OF GridIonElement-r12
+
+GridIonElement-r12 ::= SEQUENCE {
+ igp-ID-r12 INTEGER (1..320),
+ dt-r12 INTEGER (0..511),
+ givei-r12 INTEGER (0..15) ,
+ ...
+}
+
+
+GNSS-RTK-Observations-r15 ::= SEQUENCE {
+ epochTime-r15 GNSS-SystemTime,
+ gnss-ObservationList-r15 GNSS-ObservationList-r15,
+ ...
+}
+
+GNSS-ObservationList-r15 ::= SEQUENCE (SIZE(1..64)) OF GNSS-RTK-SatelliteDataElement-r15
+
+GNSS-RTK-SatelliteDataElement-r15 ::= SEQUENCE{
+ svID-r15 SV-ID,
+ integer-ms-r15 INTEGER (0..254) OPTIONAL, -- Need ON
+ rough-range-r15 INTEGER (0..1023),
+ rough-phase-range-rate-r15 INTEGER (-8192..8191) OPTIONAL, -- Need ON
+ gnss-rtk-SatelliteSignalDataList-r15 GNSS-RTK-SatelliteSignalDataList-r15,
+ ...
+}
+
+GNSS-RTK-SatelliteSignalDataList-r15 ::= SEQUENCE (SIZE(1..24)) OF
+ GNSS-RTK-SatelliteSignalDataElement-r15
+
+
+GNSS-RTK-SatelliteSignalDataElement-r15 ::= SEQUENCE {
+ gnss-SignalID-r15 GNSS-SignalID,
+ fine-PseudoRange-r15 INTEGER (-524288..524287),
+ fine-PhaseRange-r15 INTEGER (-8388608..8388607),
+ lockTimeIndicator-r15 INTEGER (0..1023),
+ halfCycleAmbiguityIndicator-r15 BIT STRING (SIZE (1)),
+ carrier-to-noise-ratio-r15 INTEGER (0..1023) OPTIONAL, -- Need ON
+ fine-PhaseRangeRate-r15 INTEGER (-16384..16383) OPTIONAL, -- Need ON
+ ...
+}
+
+
+GLO-RTK-BiasInformation-r15 ::= SEQUENCE{
+ referenceStationID-r15 GNSS-ReferenceStationID-r15,
+ cpbIndicator-r15 BIT STRING (SIZE(1)),
+ l1-ca-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON
+ l1-p-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON
+ l2-ca-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON
+ l2-p-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON
+ ...
+}
+
+
+GNSS-RTK-MAC-CorrectionDifferences-r15 ::= SEQUENCE {
+ networkID-r15 GNSS-NetworkID-r15,
+ subNetworkID-r15 GNSS-SubNetworkID-r15 OPTIONAL, -- Need ON
+ master-ReferenceStationID-r15 GNSS-ReferenceStationID-r15,
+ l1-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
+ l2-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
+ rtkCorrectionDifferencesList-r15 RTK-CorrectionDifferencesList-r15,
+ ...
+}
+
+RTK-CorrectionDifferencesList-r15 ::= SEQUENCE (SIZE (1..32)) OF
+ RTK-CorrectionDifferencesElement-r15
+
+RTK-CorrectionDifferencesElement-r15 ::= SEQUENCE {
+ epochTime-r15 GNSS-SystemTime,
+ auxiliary-referenceStationID-r15 GNSS-ReferenceStationID-r15,
+ geometric-ionospheric-corrections-differences-r15
+ Geometric-Ionospheric-Corrections-Differences-r15,
+ ...
+}
+
+Geometric-Ionospheric-Corrections-Differences-r15 ::= SEQUENCE (SIZE(1..64)) OF
+ Geometric-Ionospheric-Corrections-Differences-Element-r15
+
+Geometric-Ionospheric-Corrections-Differences-Element-r15 ::= SEQUENCE {
+ svID-r15 SV-ID,
+ ambiguityStatusFlag-r15 INTEGER (0..3),
+ non-synch-count-r15 INTEGER (0..7),
+ geometricCarrierPhaseCorrectionDifference-r15 INTEGER (-65536..65535),
+ iod-r15 BIT STRING (SIZE(11)),
+ ionosphericCarrierPhaseCorrectionDifference-r15 INTEGER (-65536..65535),
+ ...
+}
+
+
+GNSS-RTK-Residuals-r15 ::= SEQUENCE {
+ epochTime-r15 GNSS-SystemTime,
+ referenceStationID-r15 GNSS-ReferenceStationID-r15,
+ n-Refs-r15 INTEGER (0..127),
+ l1-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
+ l2-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
+ rtk-residuals-list-r15 RTK-Residuals-List-r15,
+ ...
+}
+
+RTK-Residuals-List-r15 ::= SEQUENCE (SIZE(1..64)) OF RTK-Residuals-Element-r15
+
+RTK-Residuals-Element-r15 ::= SEQUENCE {
+ svID-r15 SV-ID,
+ s-oc-r15 INTEGER (0..255),
+ s-od-r15 INTEGER (0..511),
+ s-oh-r15 INTEGER (0..63),
+ s-lc-r15 INTEGER (0..1023),
+ s-ld-r15 INTEGER (0..1023),
+ ...
+}
+
+
+GNSS-RTK-FKP-Gradients-r15 ::= SEQUENCE {
+ referenceStationID-r15 GNSS-ReferenceStationID-r15,
+ epochTime-r15 GNSS-SystemTime,
+ l1-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
+ l2-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
+ fkp-gradients-list-r15 FKP-Gradients-List-r15,
+ ...
+}
+
+FKP-Gradients-List-r15 ::= SEQUENCE (SIZE(1..64)) OF FKP-Gradients-Element-r15
+
+FKP-Gradients-Element-r15 ::= SEQUENCE {
+ svID-r15 SV-ID,
+ iod-r15 BIT STRING (SIZE(11)),
+ north-geometric-gradient-r15 INTEGER (-2048..2047),
+ east-geometric-gradient-r15 INTEGER (-2048..2047),
+ north-ionospheric-gradient-r15 INTEGER (-8192..8191),
+ east-ionospheric-gradient-r15 INTEGER (-8192..8191),
+ ...
+}
+
+
+GNSS-SSR-OrbitCorrections-r15 ::= SEQUENCE {
+ epochTime-r15 GNSS-SystemTime,
+ ssrUpdateInterval-r15 INTEGER (0..15),
+ satelliteReferenceDatum-r15 ENUMERATED { itrf, regional, ... },
+ iod-ssr-r15 INTEGER (0..15),
+ ssr-OrbitCorrectionList-r15 SSR-OrbitCorrectionList-r15,
+ ...,
+ [[
+ orbit-IntegrityParameters-r17 ORBIT-IntegrityParameters-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+SSR-OrbitCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-OrbitCorrectionSatelliteElement-r15
+
+SSR-OrbitCorrectionSatelliteElement-r15 ::= SEQUENCE {
+ svID-r15 SV-ID,
+ iod-r15 BIT STRING (SIZE(11)),
+ delta-radial-r15 INTEGER (-2097152..2097151),
+ delta-AlongTrack-r15 INTEGER (-524288..524287),
+ delta-CrossTrack-r15 INTEGER (-524288..524287),
+ dot-delta-radial-r15 INTEGER (-1048576..1048575) OPTIONAL, -- Need ON
+ dot-delta-AlongTrack-r15 INTEGER (-262144..262143) OPTIONAL, -- Need ON
+ dot-delta-CrossTrack-r15 INTEGER (-262144..262143) OPTIONAL, -- Need ON
+ ...,
+ [[
+ ssr-IntegrityOrbitBounds-r17 SSR-IntegrityOrbitBounds-r17 OPTIONAL -- Cond Integrity1
+ ]]
+}
+
+ORBIT-IntegrityParameters-r17 ::= SEQUENCE {
+ probOnsetConstFault-r17 INTEGER (0..255),
+ meanConstFaultDuration-r17 INTEGER (1..3600),
+ probOnsetSatFault-r17 INTEGER (0..255),
+ meanSatFaultDuration-r17 INTEGER (1..3600),
+ orbitRangeErrorCorrelationTime-r17 INTEGER (0..255) OPTIONAL, -- Need OR
+ orbitRangeRateErrorCorrelationTime-r17 INTEGER (0..255) OPTIONAL, -- Cond Integrity2
+ ...
+}
+
+SSR-IntegrityOrbitBounds-r17 ::= SEQUENCE {
+ meanOrbitError-r17 RAC-OrbitalErrorComponents-r17,
+ stdDevOrbitError-r17 RAC-OrbitalErrorComponents-r17,
+ meanOrbitRateError-r17 RAC-OrbitalErrorComponents-r17,
+ stdDevOrbitRateError-r17 RAC-OrbitalErrorComponents-r17,
+ ...
+}
+
+RAC-OrbitalErrorComponents-r17 ::= SEQUENCE {
+ radial-r17 INTEGER (0..255),
+ alongTrack-r17 INTEGER (0..255),
+ crossTrack-r17 INTEGER (0..255)
+}
+
+
+GNSS-SSR-ClockCorrections-r15 ::= SEQUENCE {
+ epochTime-r15 GNSS-SystemTime,
+ ssrUpdateInterval-r15 INTEGER (0..15),
+ iod-ssr-r15 INTEGER (0..15),
+ ssr-ClockCorrectionList-r15 SSR-ClockCorrectionList-r15,
+ ...,
+ [[
+ clock-IntegrityParameters-r17 CLOCK-IntegrityParameters-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+SSR-ClockCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-ClockCorrectionSatelliteElement-r15
+
+SSR-ClockCorrectionSatelliteElement-r15 ::= SEQUENCE {
+ svID-r15 SV-ID,
+ delta-Clock-C0-r15 INTEGER (-2097152..2097151),
+ delta-Clock-C1-r15 INTEGER (-1048576..1048575) OPTIONAL, -- Need ON
+ delta-Clock-C2-r15 INTEGER (-67108864..67108863) OPTIONAL, -- Need ON
+ ...,
+ [[
+ ssr-IntegrityClockBounds-r17 SSR-IntegrityClockBounds-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+CLOCK-IntegrityParameters-r17 ::= SEQUENCE {
+ clockRangeErrorCorrelationTime-r17 INTEGER (0..255),
+ clockRangeRateErrorCorrelationTime-r17 INTEGER (0..255),
+ ...
+}
+
+SSR-IntegrityClockBounds-r17 ::= SEQUENCE {
+ meanClock-r17 INTEGER (0..255),
+ stdDevClock-r17 INTEGER (0..255),
+ meanClockRate-r17 INTEGER (0..255),
+ stdDevClockRate-r17 INTEGER (0..255),
+ ...
+}
+
+
+GNSS-SSR-CodeBias-r15 ::= SEQUENCE {
+ epochTime-r15 GNSS-SystemTime,
+ ssrUpdateInterval-r15 INTEGER (0..15),
+ iod-ssr-r15 INTEGER (0..15),
+ ssr-CodeBiasSatList-r15 SSR-CodeBiasSatList-r15,
+ ...
+}
+
+SSR-CodeBiasSatList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-CodeBiasSatElement-r15
+
+SSR-CodeBiasSatElement-r15 ::= SEQUENCE {
+ svID-r15 SV-ID,
+ ssr-CodeBiasSignalList-r15 SSR-CodeBiasSignalList-r15,
+ ...
+}
+
+SSR-CodeBiasSignalList-r15 ::= SEQUENCE (SIZE(1..16)) OF SSR-CodeBiasSignalElement-r15
+
+SSR-CodeBiasSignalElement-r15 ::= SEQUENCE {
+ signal-and-tracking-mode-ID-r15 GNSS-SignalID,
+ codeBias-r15 INTEGER (-8192..8191),
+ ...,
+ [[
+ ssr-IntegrityCodeBiasBounds-r17 SSR-IntegrityCodeBiasBounds-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+SSR-IntegrityCodeBiasBounds-r17 ::= SEQUENCE {
+ meanCodeBias-r17 INTEGER (0..255),
+ stdDevCodeBias-r17 INTEGER (0..255),
+ meanCodeBiasRate-r17 INTEGER (0..255),
+ stdDevCodeBiasRate-r17 INTEGER (0..255),
+ ...
+}
+
+
+GNSS-SSR-URA-r16 ::= SEQUENCE {
+ epochTime-r16 GNSS-SystemTime,
+ ssrUpdateInterval-r16 INTEGER (0..15),
+ iod-ssr-r16 INTEGER (0..15),
+ ssr-URA-SatList-r16 SSR-URA-SatList-r16,
+ ...
+}
+
+SSR-URA-SatList-r16 ::= SEQUENCE (SIZE(1..64)) OF SSR-URA-SatElement-r16
+
+SSR-URA-SatElement-r16 ::= SEQUENCE {
+ svID-r16 SV-ID,
+ ssr-URA-r16 BIT STRING (SIZE (6)),
+ ...
+}
+
+
+GNSS-SSR-PhaseBias-r16 ::= SEQUENCE {
+ epochTime-r16 GNSS-SystemTime,
+ ssrUpdateInterval-r16 INTEGER (0..15),
+ iod-ssr-r16 INTEGER (0..15),
+ ssr-PhaseBiasSatList-r16 SSR-PhaseBiasSatList-r16,
+ ...
+}
+
+SSR-PhaseBiasSatList-r16 ::= SEQUENCE (SIZE(1..64)) OF SSR-PhaseBiasSatElement-r16
+
+SSR-PhaseBiasSatElement-r16 ::= SEQUENCE {
+ svID-r16 SV-ID,
+ ssr-PhaseBiasSignalList-r16 SSR-PhaseBiasSignalList-r16,
+ ...
+}
+
+SSR-PhaseBiasSignalList-r16 ::= SEQUENCE (SIZE(1..16)) OF SSR-PhaseBiasSignalElement-r16
+
+SSR-PhaseBiasSignalElement-r16 ::= SEQUENCE {
+ signal-and-tracking-mode-ID-r16 GNSS-SignalID,
+ phaseBias-r16 INTEGER (-16384..16383),
+ phaseDiscontinuityIndicator-r16 INTEGER (0..3),
+ phaseBiasIntegerIndicator-r16 INTEGER (0..3) OPTIONAL, -- Need OP
+ ...,
+ [[
+ ssr-IntegrityPhaseBiasBounds-r17 SSR-IntegrityPhaseBiasBounds-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+SSR-IntegrityPhaseBiasBounds-r17 ::= SEQUENCE {
+ meanPhaseBias-r17 INTEGER (0..255),
+ stdDevPhaseBias-r17 INTEGER (0..255),
+ meanPhaseBiasRate-r17 INTEGER (0..255),
+ stdDevPhaseBiasRate-r17 INTEGER (0..255),
+ ...
+}
+
+
+GNSS-SSR-STEC-Correction-r16 ::= SEQUENCE {
+ epochTime-r16 GNSS-SystemTime,
+ ssrUpdateInterval-r16 INTEGER (0..15),
+ iod-ssr-r16 INTEGER (0..15),
+ correctionPointSetID-r16 INTEGER (0..16383),
+ stec-SatList-r16 STEC-SatList-r16,
+ ...,
+ [[
+ stec-IntegrityParameters-r17 STEC-IntegrityParameters-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+STEC-SatList-r16 ::= SEQUENCE (SIZE(1..64)) OF STEC-SatElement-r16
+
+STEC-SatElement-r16 ::= SEQUENCE {
+ svID-r16 SV-ID,
+ stecQualityIndicator-r16 BIT STRING (SIZE(6)),
+ stec-C00-r16 INTEGER (-8192..8191),
+ stec-C01-r16 INTEGER (-2048..2047) OPTIONAL, -- Need ON
+ stec-C10-r16 INTEGER (-2048..2047) OPTIONAL, -- Need ON
+ stec-C11-r16 INTEGER (-512..511) OPTIONAL, -- Need ON
+ ...,
+ [[
+ stec-IntegrityErrorBounds-r17 STEC-IntegrityErrorBounds-r17 OPTIONAL -- Cond Integrity1
+ ]]
+}
+
+STEC-IntegrityParameters-r17 ::= SEQUENCE {
+ probOnsetIonoFault-r17 INTEGER (0..255),
+ meanIonoFaultDuration-r17 INTEGER (1..256),
+ ionoRangeErrorCorrelationTime-r17 INTEGER (1..255) OPTIONAL, -- Need OR
+ ionoRangeRateErrorCorrelationTime-r17 INTEGER (1..255) OPTIONAL, -- Cond Integrity2
+ ...
+}
+
+STEC-IntegrityErrorBounds-r17 ::= SEQUENCE {
+ meanIonosphere-r17 INTEGER (0..255),
+ stdDevIonosphere-r17 INTEGER (0..255),
+ meanIonosphereRate-r17 INTEGER (0..255),
+ stdDevIonosphereRate-r17 INTEGER (0..255),
+ ...
+}
+
+
+GNSS-SSR-GriddedCorrection-r16 ::= SEQUENCE {
+ epochTime-r16 GNSS-SystemTime,
+ ssrUpdateInterval-r16 INTEGER (0..15),
+ iod-ssr-r16 INTEGER (0..15),
+ troposphericDelayQualityIndicator-r16 BIT STRING (SIZE(6)) OPTIONAL, -- Cond Tropo
+ correctionPointSetID-r16 INTEGER (0..16383),
+ gridList-r16 GridList-r16,
+ ...,
+ [[
+ ssr-GriddedCorrectionIntegrityParameters-r17
+ SSR-GriddedCorrectionIntegrityParameters-r17
+ OPTIONAL -- Need OR
+ ]]
+}
+
+GridList-r16 ::= SEQUENCE (SIZE(1..64)) OF GridElement-r16
+
+GridElement-r16 ::= SEQUENCE {
+ tropospericDelayCorrection-r16 TropospericDelayCorrection-r16 OPTIONAL, -- Need ON
+ stec-ResidualSatList-r16 STEC-ResidualSatList-r16 OPTIONAL, -- Need ON
+ ...
+}
+
+TropospericDelayCorrection-r16 ::= SEQUENCE {
+ tropoHydroStaticVerticalDelay-r16 INTEGER (-256..255),
+ tropoWetVerticalDelay-r16 INTEGER (-128..127),
+ ...,
+ [[
+ tropoDelayIntegrityErrorBounds-r17 TropoDelayIntegrityErrorBounds-r17
+ OPTIONAL -- Cond Integrity1
+ ]]
+}
+
+STEC-ResidualSatList-r16 ::= SEQUENCE (SIZE(1..64)) OF STEC-ResidualSatElement-r16
+
+STEC-ResidualSatElement-r16 ::= SEQUENCE {
+ svID-r16 SV-ID,
+ stecResidualCorrection-r16 CHOICE {
+ b7-r16 INTEGER (-64..63),
+ b16-r16 INTEGER (-32768..32767)
+ },
+ ...
+}
+
+SSR-GriddedCorrectionIntegrityParameters-r17 ::= SEQUENCE {
+ probOnsetTroposphereFault-r17 INTEGER (0..255),
+ meanTroposphereFaultDuration-r17 INTEGER (1..256),
+ troposphereRangeErrorCorrelationTime-r17 INTEGER (1..255) OPTIONAL, -- Need OR
+ troposphereRangeRateErrorCorrelationTime-r17 INTEGER (1..255) OPTIONAL, -- Cond Integrity2
+ ...
+}
+
+TropoDelayIntegrityErrorBounds-r17 ::= SEQUENCE {
+ meanTroposphereVerticalHydroStaticDelay-r17 INTEGER (0..255),
+ stdDevTroposphereVerticalHydroStaticDelay-r17 INTEGER (0..255),
+ meanTroposphereVerticalWetDelay-r17 INTEGER (0..255),
+ stdDevTroposphereVerticalWetDelay-r17 INTEGER (0..255),
+ meanTroposphereVerticalHydroStaticDelayRate-r17 INTEGER (0..255),
+ stdDevTroposphereVerticalHydroStaticDelayRate-r17 INTEGER (0..255),
+ meanTroposphereVerticalWetDelayRate-r17 INTEGER (0..255),
+ stdDevTroposphereVerticalWetDelayRate-r17 INTEGER (0..255),
+ ...
+}
+
+
+NavIC-DifferentialCorrections-r16 ::= SEQUENCE {
+ navic-RefTOWC-r16 INTEGER (0..50400),
+ navic-CorrectionListAutoNav-r16 NavIC-CorrectionListAutoNav-r16,
+ ...
+}
+
+NavIC-CorrectionListAutoNav-r16 ::= SEQUENCE (SIZE (1..64)) OF NavIC-CorrectionElementAutoNav-r16
+
+NavIC-CorrectionElementAutoNav-r16 ::= SEQUENCE {
+ svID SV-ID,
+ navic-Tod-r16 INTEGER (0..65535),
+ navic-iodec-r16 INTEGER (0..255),
+ navic-UDRAI-r16 INTEGER (-16..15),
+ navic-UDRArateI-r16 INTEGER (-16..15),
+ navic-EDC-r16 NavIC-EDC-r16,
+ navic-CDC-r16 NavIC-CDC-r16,
+ ...
+}
+
+NavIC-EDC-r16 ::= SEQUENCE {
+ navic-AlphaEDC-r16 INTEGER (-8192..8191),
+ navic-BetaEDC-r16 INTEGER (-8192..8191),
+ navic-GammaEDC-r16 INTEGER (-16384..16383),
+ navic-AoIcorrection-r16 INTEGER (-2048..2047),
+ navic-AoRAcorrection-r16 INTEGER (-2048..2047),
+ navic-SemiMajorcorrection-r16 INTEGER (-2048..2047),
+ ...
+}
+
+NavIC-CDC-r16 ::= SEQUENCE {
+ navic-ClockBiasCorrection-r16 INTEGER (-4096..4095),
+ navic-ClockDriftCorrection-r16 INTEGER (-128..127),
+ ...
+}
+
+
+NavIC-GridModelParameter-r16 ::= SEQUENCE {
+ navic-RefTOWC-r16 INTEGER (0..50400),
+ regionMasked-r16 INTEGER (0..1023),
+ regionIgpList-r16 RegionIgpList-r16,
+ ...
+}
+
+RegionIgpList-r16 ::= SEQUENCE (SIZE (1..16)) OF RegionIgpElement-r16
+
+RegionIgpElement-r16 ::= SEQUENCE {
+ regionID-r16 INTEGER (0..15),
+ givei1-r16 INTEGER (0..15),
+ givd1-r16 INTEGER (0..511),
+ givei2-r16 INTEGER (0..15),
+ givd2-r16 INTEGER (0..511),
+ givei3-r16 INTEGER (0..15),
+ givd3-r16 INTEGER (0..511),
+ givei4-r16 INTEGER (0..15),
+ givd4-r16 INTEGER (0..511),
+ givei5-r16 INTEGER (0..15),
+ givd5-r16 INTEGER (0..511),
+ givei6-r16 INTEGER (0..15),
+ givd6-r16 INTEGER (0..511),
+ givei7-r16 INTEGER (0..15),
+ givd7-r16 INTEGER (0..511),
+ givei8-r16 INTEGER (0..15),
+ givd8-r16 INTEGER (0..511),
+ givei9-r16 INTEGER (0..15),
+ givd9-r16 INTEGER (0..511),
+ givei10-r16 INTEGER (0..15),
+ givd10-r16 INTEGER (0..511),
+ givei11-r16 INTEGER (0..15),
+ givd11-r16 INTEGER (0..511),
+ givei12-r16 INTEGER (0..15),
+ givd12-r16 INTEGER (0..511),
+ givei13-r16 INTEGER (0..15),
+ givd13-r16 INTEGER (0..511),
+ givei14-r16 INTEGER (0..15),
+ givd14-r16 INTEGER (0..511),
+ givei15-r16 INTEGER (0..15),
+ givd15-r16 INTEGER (0..511),
+ ...
+}
+
+
+A-GNSS-RequestAssistanceData ::= SEQUENCE {
+ gnss-CommonAssistDataReq GNSS-CommonAssistDataReq OPTIONAL, -- Cond CommonADReq
+ gnss-GenericAssistDataReq GNSS-GenericAssistDataReq OPTIONAL, -- Cond GenADReq
+ ...,
+ [[
+ gnss-PeriodicAssistDataReq-r15
+ GNSS-PeriodicAssistDataReq-r15 OPTIONAL -- Cond PerADReq
+ ]]
+}
+
+
+GNSS-CommonAssistDataReq ::= SEQUENCE {
+ gnss-ReferenceTimeReq GNSS-ReferenceTimeReq
+ OPTIONAL, -- Cond RefTimeReq
+ gnss-ReferenceLocationReq GNSS-ReferenceLocationReq
+ OPTIONAL, -- Cond RefLocReq
+ gnss-IonosphericModelReq GNSS-IonosphericModelReq
+ OPTIONAL, -- Cond IonoModReq
+ gnss-EarthOrientationParametersReq GNSS-EarthOrientationParametersReq
+ OPTIONAL, -- Cond EOPReq
+ ...,
+ [[
+ gnss-RTK-ReferenceStationInfoReq-r15
+ GNSS-RTK-ReferenceStationInfoReq-r15
+ OPTIONAL, -- Cond ARPReq
+ gnss-RTK-AuxiliaryStationDataReq-r15
+ GNSS-RTK-AuxiliaryStationDataReq-r15
+ OPTIONAL -- Cond AuxARPReq
+ ]],
+ [[
+ gnss-SSR-CorrectionPointsReq-r16
+ GNSS-SSR-CorrectionPointsReq-r16
+ OPTIONAL -- Cond PointsReq
+ ]],
+ [[
+ gnss-Integrity-ServiceParametersReq-r17
+ GNSS-Integrity-ServiceParametersReq-r17
+ OPTIONAL, -- Cond IntServiceReq
+ gnss-Integrity-ServiceAlertReq-r17
+ GNSS-Integrity-ServiceAlertReq-r17
+ OPTIONAL -- Cond IntAlertReq
+ ]]
+}
+
+
+GNSS-GenericAssistDataReq ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataReqElement
+
+GNSS-GenericAssistDataReqElement ::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS-ID-SBAS
+ gnss-TimeModelsReq GNSS-TimeModelListReq OPTIONAL, -- Cond TimeModReq
+ gnss-DifferentialCorrectionsReq GNSS-DifferentialCorrectionsReq OPTIONAL, -- Cond DGNSS-Req
+ gnss-NavigationModelReq GNSS-NavigationModelReq OPTIONAL, -- Cond NavModReq
+ gnss-RealTimeIntegrityReq GNSS-RealTimeIntegrityReq OPTIONAL, -- Cond RTIReq
+ gnss-DataBitAssistanceReq GNSS-DataBitAssistanceReq OPTIONAL, -- Cond DataBitsReq
+ gnss-AcquisitionAssistanceReq GNSS-AcquisitionAssistanceReq OPTIONAL, -- Cond AcquAssistReq
+ gnss-AlmanacReq GNSS-AlmanacReq OPTIONAL, -- Cond AlmanacReq
+ gnss-UTCModelReq GNSS-UTC-ModelReq OPTIONAL, -- Cond UTCModReq
+ gnss-AuxiliaryInformationReq GNSS-AuxiliaryInformationReq OPTIONAL, -- Cond AuxInfoReq
+ ...,
+ [[
+ bds-DifferentialCorrectionsReq-r12
+ BDS-DifferentialCorrectionsReq-r12
+ OPTIONAL, -- Cond DBDS-Req
+ bds-GridModelReq-r12 BDS-GridModelReq-r12 OPTIONAL -- Cond BDS-GridModReq
+ ]],
+ [[
+ gnss-RTK-ObservationsReq-r15
+ GNSS-RTK-ObservationsReq-r15 OPTIONAL, -- Cond RTK-OSR-Req
+ glo-RTK-BiasInformationReq-r15
+ GLO-RTK-BiasInformationReq-r15 OPTIONAL, -- Cond GLO-CPB-Req
+ gnss-RTK-MAC-CorrectionDifferencesReq-r15
+ GNSS-RTK-MAC-CorrectionDifferencesReq-r15
+ OPTIONAL, -- Cond MAC-Req
+ gnss-RTK-ResidualsReq-r15 GNSS-RTK-ResidualsReq-r15 OPTIONAL, -- Cond Res-Req
+ gnss-RTK-FKP-GradientsReq-r15
+ GNSS-RTK-FKP-GradientsReq-r15 OPTIONAL, -- Cond FKP-Req
+ gnss-SSR-OrbitCorrectionsReq-r15
+ GNSS-SSR-OrbitCorrectionsReq-r15
+ OPTIONAL, -- Cond OC-Req
+ gnss-SSR-ClockCorrectionsReq-r15
+ GNSS-SSR-ClockCorrectionsReq-r15
+ OPTIONAL, -- Cond CC-Req
+ gnss-SSR-CodeBiasReq-r15 GNSS-SSR-CodeBiasReq-r15 OPTIONAL -- Cond CB-Req
+ ]],
+ [[
+ gnss-SSR-URA-Req-r16 GNSS-SSR-URA-Req-r16 OPTIONAL, -- Cond URA-Req
+ gnss-SSR-PhaseBiasReq-r16 GNSS-SSR-PhaseBiasReq-r16 OPTIONAL, -- Cond PB-Req
+ gnss-SSR-STEC-CorrectionReq-r16
+ GNSS-SSR-STEC-CorrectionReq-r16 OPTIONAL, -- Cond STEC-Req
+ gnss-SSR-GriddedCorrectionReq-r16 GNSS-SSR-GriddedCorrectionReq-r16
+ OPTIONAL, -- Cond Grid-Req
+ navic-DifferentialCorrectionsReq-r16
+ NavIC-DifferentialCorrectionsReq-r16
+ OPTIONAL, -- Cond DNavIC-Req
+ navic-GridModelReq-r16 NavIC-GridModelReq-r16 OPTIONAL -- Cond NavIC-GridModReq
+ ]]
+}
+
+
+GNSS-PeriodicAssistDataReq-r15 ::= SEQUENCE {
+ gnss-RTK-PeriodicObservationsReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pOSR
+ glo-RTK-PeriodicBiasInformationReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pCPB
+ gnss-RTK-MAC-PeriodicCorrectionDifferencesReq-r15
+ GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pMAC
+ gnss-RTK-PeriodicResidualsReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pRes
+ gnss-RTK-FKP-PeriodicGradientsReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pFKP
+ gnss-SSR-PeriodicOrbitCorrectionsReq-r15
+ GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pOC
+ gnss-SSR-PeriodicClockCorrectionsReq-r15
+ GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pCC
+ gnss-SSR-PeriodicCodeBiasReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pCB
+ ...,
+ [[
+ gnss-SSR-PeriodicURA-Req-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pURA
+ gnss-SSR-PeriodicPhaseBiasReq-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pPB
+ gnss-SSR-PeriodicSTEC-CorrectionReq-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pSTEC
+ gnss-SSR-PeriodicGriddedCorrectionReq-r16
+ GNSS-PeriodicControlParam-r15 OPTIONAL -- Cond pGrid
+ ]],
+ [[
+ gnss-Integrity-PeriodicServiceAlertReq-r17
+ GNSS-PeriodicControlParam-r15 OPTIONAL -- Cond pDNU
+ ]]
+}
+
+
+GNSS-ReferenceTimeReq ::= SEQUENCE {
+ gnss-TimeReqPrefList SEQUENCE (SIZE (1..8)) OF GNSS-ID,
+ gps-TOW-assistReq BOOLEAN OPTIONAL, -- Cond gps
+ notOfLeapSecReq BOOLEAN OPTIONAL, -- Cond glonass
+ ...
+}
+
+
+GNSS-ReferenceLocationReq ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-IonosphericModelReq ::= SEQUENCE {
+ klobucharModelReq BIT STRING (SIZE(2)) OPTIONAL, -- Cond klobuchar
+ neQuickModelReq NULL OPTIONAL, -- Cond nequick
+ ...,
+ [[ klobucharModel2Req-r16 NULL OPTIONAL -- Cond klobuchar2
+ ]]
+
+}
+
+
+GNSS-EarthOrientationParametersReq ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-RTK-ReferenceStationInfoReq-r15 ::= SEQUENCE {
+ antennaDescriptionReq-r15 BOOLEAN,
+ antennaHeightReq-r15 BOOLEAN,
+ physicalReferenceStationReq-r15 BOOLEAN,
+ stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL,
+ ...
+}
+
+
+GNSS-RTK-AuxiliaryStationDataReq-r15 ::= SEQUENCE {
+ master-referenceStationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL,
+ ...
+}
+
+
+GNSS-SSR-CorrectionPointsReq-r16 ::= SEQUENCE {
+ correctionPointSetID-Req-r16 INTEGER (0..16383) OPTIONAL,
+ ...
+}
+
+
+GNSS-Integrity-ServiceParametersReq-r17 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-Integrity-ServiceAlertReq-r17 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-TimeModelListReq ::= SEQUENCE (SIZE(1..15)) OF GNSS-TimeModelElementReq
+
+GNSS-TimeModelElementReq ::= SEQUENCE {
+ gnss-TO-IDsReq INTEGER (1..15),
+ deltaTreq BOOLEAN,
+ ...
+}
+
+
+GNSS-DifferentialCorrectionsReq ::= SEQUENCE {
+ dgnss-SignalsReq GNSS-SignalIDs,
+ dgnss-ValidityTimeReq BOOLEAN,
+ ...
+}
+
+
+GNSS-NavigationModelReq ::= CHOICE {
+ storedNavList StoredNavListInfo,
+ reqNavList ReqNavListInfo,
+ ...
+}
+
+
+StoredNavListInfo ::= SEQUENCE {
+ gnss-WeekOrDay INTEGER (0..4095),
+ gnss-Toe INTEGER (0..255),
+ t-toeLimit INTEGER (0..15),
+ satListRelatedDataList SatListRelatedDataList OPTIONAL,
+ ...
+}
+
+SatListRelatedDataList ::= SEQUENCE (SIZE (1..64)) OF SatListRelatedDataElement
+
+SatListRelatedDataElement ::= SEQUENCE {
+ svID SV-ID,
+ iod BIT STRING (SIZE(11)),
+ clockModelID INTEGER (1..8) OPTIONAL,
+orbitModelID INTEGER (1..8) OPTIONAL,
+ ...
+}
+
+ReqNavListInfo ::= SEQUENCE {
+ svReqList BIT STRING (SIZE (64)),
+ clockModelID-PrefList SEQUENCE (SIZE (1..8)) OF INTEGER (1..8) OPTIONAL,
+ orbitModelID-PrefList SEQUENCE (SIZE (1..8)) OF INTEGER (1..8) OPTIONAL,
+ addNavparamReq BOOLEAN OPTIONAL, -- Cond orbitModelID-2
+ ...
+}
+
+
+
+GNSS-RealTimeIntegrityReq ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-DataBitAssistanceReq ::= SEQUENCE {
+ gnss-TOD-Req INTEGER (0..3599),
+ gnss-TOD-FracReq INTEGER (0..999) OPTIONAL,
+ dataBitInterval INTEGER (0..15),
+ gnss-SignalType GNSS-SignalIDs,
+ gnss-DataBitsReq GNSS-DataBitsReqSatList OPTIONAL,
+ ...
+}
+
+GNSS-DataBitsReqSatList ::= SEQUENCE (SIZE(1..64)) OF GNSS-DataBitsReqSatElement
+
+GNSS-DataBitsReqSatElement ::= SEQUENCE {
+ svID SV-ID,
+ ...
+}
+
+
+GNSS-AcquisitionAssistanceReq ::= SEQUENCE {
+ gnss-SignalID-Req GNSS-SignalID,
+ ...
+}
+
+
+GNSS-AlmanacReq ::= SEQUENCE {
+ modelID INTEGER(1..8) OPTIONAL,
+ ...
+}
+
+
+GNSS-UTC-ModelReq ::= SEQUENCE {
+ modelID INTEGER(1..8) OPTIONAL,
+ ...
+}
+
+
+GNSS-AuxiliaryInformationReq ::= SEQUENCE {
+ ...
+}
+
+
+BDS-DifferentialCorrectionsReq-r12 ::= SEQUENCE {
+ dgnss-SignalsReq GNSS-SignalIDs,
+ ...
+}
+
+
+BDS-GridModelReq-r12 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-RTK-ObservationsReq-r15::= SEQUENCE {
+ gnss-RTK-SignalsReq-r15 GNSS-SignalIDs,
+ gnss-RTK-Integer-ms-Req-r15 BOOLEAN,
+ gnss-RTK-PhaseRangeRateReq-r15 BOOLEAN,
+ gnss-RTK-CNR-Req-r15 BOOLEAN,
+ stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL,
+ ...
+}
+
+
+GLO-RTK-BiasInformationReq-r15 ::= SEQUENCE {
+ stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL,
+ ...
+}
+
+
+GNSS-RTK-MAC-CorrectionDifferencesReq-r15 ::= SEQUENCE {
+ master-ReferenceStationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL,
+ aux-ReferenceStationList-r15 AUX-ReferenceStationList-r15 OPTIONAL,
+ linkCombinations-PrefList-r15 GNSS-Link-CombinationsList-r15 OPTIONAL,
+ ...
+}
+
+AUX-ReferenceStationList-r15 ::= SEQUENCE (SIZE (1..32)) OF AUX-ReferenceStationID-Element-r15
+
+AUX-ReferenceStationID-Element-r15 ::= SEQUENCE {
+ aux-stationID-r15 GNSS-ReferenceStationID-r15,
+ ...
+}
+
+
+GNSS-RTK-ResidualsReq-r15 ::= SEQUENCE {
+ stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL,
+ linkCombinations-PrefList-r15 GNSS-Link-CombinationsList-r15 OPTIONAL,
+ ...
+}
+
+
+GNSS-RTK-FKP-GradientsReq-r15 ::= SEQUENCE {
+ stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL,
+ linkCombinations-PrefList-r15 GNSS-Link-CombinationsList-r15 OPTIONAL,
+ ...
+}
+
+
+GNSS-SSR-OrbitCorrectionsReq-r15 ::= SEQUENCE {
+ storedNavList-r15 GNSS-NavListInfo-r15 OPTIONAL,
+ ...,
+ [[
+ orbit-IntegrityReq-r17 BIT STRING { correlationTimeReq (0)
+ } (SIZE(1..8)) OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-ClockCorrectionsReq-r15 ::= SEQUENCE {
+ storedNavList-r15 GNSS-NavListInfo-r15 OPTIONAL,
+ ...,
+ [[
+ clock-IntegrityParametersReq-r17 ENUMERATED { true } OPTIONAL,
+ ssr-IntegrityClockBoundsReq-r17 ENUMERATED { true } OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-CodeBiasReq-r15 ::= SEQUENCE {
+ signal-and-tracking-mode-ID-Map-r15 GNSS-SignalIDs,
+ storedNavList-r15 GNSS-NavListInfo-r15 OPTIONAL,
+ ...,
+ [[
+ ssr-IntegrityCodeBiasBoundsReq-r17 ENUMERATED { requested } OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-URA-Req-r16 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-SSR-PhaseBiasReq-r16 ::= SEQUENCE {
+ signal-and-tracking-mode-ID-Map-r16 GNSS-SignalIDs,
+ storedNavList-r16 GNSS-NavListInfo-r15 OPTIONAL,
+ ...,
+ [[
+ ssr-IntegrityPhaseBiasBoundsReq-r17 ENUMERATED { requested } OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-STEC-CorrectionReq-r16 ::= SEQUENCE {
+ ...,
+ [[
+ stec-IntegrityReq-r17 BIT STRING { correlationTimeReq (0)
+ } (SIZE(1..8)) OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-GriddedCorrectionReq-r16 ::= SEQUENCE {
+ ...,
+ [[
+ griddedCorrectionIntegrityReq-r17 ENUMERATED { requested } OPTIONAL
+ ]]
+}
+
+
+NavIC-DifferentialCorrectionsReq-r16 ::= SEQUENCE {
+ dgnss-SignalsReq-r16 GNSS-SignalIDs,
+ ...
+}
+
+
+NavIC-GridModelReq-r16 ::= SEQUENCE {
+ ...
+}
+
+
+A-GNSS-ProvideLocationInformation ::= SEQUENCE {
+ gnss-SignalMeasurementInformation GNSS-SignalMeasurementInformation OPTIONAL,
+ gnss-LocationInformation GNSS-LocationInformation OPTIONAL,
+ gnss-Error A-GNSS-Error OPTIONAL,
+ ...
+}
+
+
+GNSS-SignalMeasurementInformation ::= SEQUENCE {
+ measurementReferenceTime MeasurementReferenceTime,
+ gnss-MeasurementList GNSS-MeasurementList,
+ ...
+}
+
+
+MeasurementReferenceTime ::= SEQUENCE {
+ gnss-TOD-msec INTEGER (0..3599999),
+ gnss-TOD-frac INTEGER (0..3999) OPTIONAL,
+ gnss-TOD-unc INTEGER (0..127) OPTIONAL,
+ gnss-TimeID GNSS-ID,
+ networkTime CHOICE {
+ eUTRA SEQUENCE {
+ physCellId INTEGER (0..503),
+ cellGlobalId CellGlobalIdEUTRA-AndUTRA OPTIONAL,
+ systemFrameNumber BIT STRING (SIZE (10)),
+ ...
+ },
+ uTRA SEQUENCE {
+ mode CHOICE {
+ fdd SEQUENCE {
+ primary-CPICH-Info INTEGER (0..511),
+ ...
+ },
+ tdd SEQUENCE {
+ cellParameters INTEGER (0..127),
+ ...
+ }
+ },
+ cellGlobalId CellGlobalIdEUTRA-AndUTRA OPTIONAL,
+ referenceSystemFrameNumber
+ INTEGER (0..4095),
+ ...
+ },
+ gSM SEQUENCE {
+ bcchCarrier INTEGER (0..1023),
+ bsic INTEGER (0..63),
+ cellGlobalId CellGlobalIdGERAN OPTIONAL,
+ referenceFrame SEQUENCE {
+ referenceFN INTEGER (0..65535),
+ referenceFNMSB INTEGER (0..63) OPTIONAL,
+ ...
+ },
+ deltaGNSS-TOD INTEGER (0 .. 127) OPTIONAL,
+ ...
+ },
+ ...,
+ nbIoT-r14
+ SEQUENCE {
+ nbPhysCellId-r14 INTEGER (0..503),
+ nbCellGlobalId-r14 ECGI OPTIONAL,
+ sfn-r14 BIT STRING (SIZE (10)),
+ hyperSFN-r14 BIT STRING (SIZE (10)) OPTIONAL,
+ ...
+ },
+ nr-r15 SEQUENCE {
+ nrPhysCellId-r15 INTEGER (0..1007),
+ nrCellGlobalID-r15 NCGI-r15 OPTIONAL,
+ nr-sfn-r15 BIT STRING (SIZE (10)),
+ ...
+ }
+ } OPTIONAL,
+ ...
+}
+
+
+GNSS-MeasurementList ::= SEQUENCE (SIZE(1..16)) OF GNSS-MeasurementForOneGNSS
+
+GNSS-MeasurementForOneGNSS ::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ gnss-SgnMeasList GNSS-SgnMeasList,
+ ...
+}
+
+GNSS-SgnMeasList ::= SEQUENCE (SIZE(1..8)) OF GNSS-SgnMeasElement
+
+GNSS-SgnMeasElement ::= SEQUENCE {
+ gnss-SignalID GNSS-SignalID,
+ gnss-CodePhaseAmbiguity INTEGER (0..127) OPTIONAL,
+ gnss-SatMeasList GNSS-SatMeasList,
+ ...
+}
+
+GNSS-SatMeasList ::= SEQUENCE (SIZE(1..64)) OF GNSS-SatMeasElement
+
+GNSS-SatMeasElement ::= SEQUENCE {
+ svID SV-ID,
+ cNo INTEGER (0..63),
+ mpathDet ENUMERATED {notMeasured (0), low (1), medium (2), high (3), ...},
+ carrierQualityInd INTEGER (0..3) OPTIONAL,
+ codePhase INTEGER (0..2097151),
+ integerCodePhase INTEGER (0..127) OPTIONAL,
+ codePhaseRMSError INTEGER (0..63),
+ doppler INTEGER (-32768..32767) OPTIONAL,
+ adr INTEGER (0..33554431) OPTIONAL,
+ ...,
+ [[
+ adrMSB-r15 INTEGER (0..15) OPTIONAL,
+ adrSign-r15 ENUMERATED {positive, negative} OPTIONAL,
+ adrRMSerror-r15 INTEGER (0..127) OPTIONAL,
+ delta-codePhase-r15 INTEGER (0..7) OPTIONAL
+ ]]
+}
+
+
+GNSS-LocationInformation ::= SEQUENCE {
+ measurementReferenceTime MeasurementReferenceTime,
+ agnss-List GNSS-ID-Bitmap,
+ ...,
+ [[
+ ha-GNSS-Metrics-r17 HA-GNSS-Metrics-r17 OPTIONAL
+ ]]
+}
+
+
+HA-GNSS-Metrics-r17 ::= SEQUENCE {
+ nrOfUsedSatellites-r17 INTEGER (0..64),
+ hdopi-r17 INTEGER (1..256) OPTIONAL,
+ pdopi-r17 INTEGER (1..256) OPTIONAL,
+ age-r17 INTEGER (0..99) OPTIONAL,
+ fixType-r17 ENUMERATED {carrier-phase-float,
+ carrier-phase-fix, ...} OPTIONAL,
+ ...
+}
+
+
+A-GNSS-RequestLocationInformation ::= SEQUENCE {
+ gnss-PositioningInstructions GNSS-PositioningInstructions,
+ ...
+}
+
+
+GNSS-PositioningInstructions ::= SEQUENCE {
+ gnss-Methods GNSS-ID-Bitmap,
+ fineTimeAssistanceMeasReq BOOLEAN,
+ adrMeasReq BOOLEAN,
+ multiFreqMeasReq BOOLEAN,
+ assistanceAvailability BOOLEAN,
+ ...,
+ [[
+ ha-GNSS-Req-r15 ENUMERATED { true } OPTIONAL -- Cond UEB
+ ]],
+ [[
+ ha-GNSS-MetricsReq-r17 ENUMERATED { true } OPTIONAL -- Cond UEB
+ ]]
+}
+
+
+A-GNSS-ProvideCapabilities ::= SEQUENCE {
+ gnss-SupportList GNSS-SupportList OPTIONAL,
+ assistanceDataSupportList AssistanceDataSupportList OPTIONAL,
+ locationCoordinateTypes LocationCoordinateTypes OPTIONAL,
+ velocityTypes VelocityTypes OPTIONAL,
+ ...,
+ [[ periodicalReportingNotSupported-r14
+ PositioningModes OPTIONAL,
+ idleStateForMeasurements-r14
+ ENUMERATED { required } OPTIONAL
+ ]],
+ [[ periodicAssistanceData-r15
+ BIT STRING { solicited (0),
+ unsolicited (1) } (SIZE (1..8)) OPTIONAL
+ ]],
+ [[ scheduledLocationRequestSupported-r17
+ ScheduledLocationTimeSupportPerMode-r17 OPTIONAL
+ ]]
+}
+
+GNSS-SupportList ::= SEQUENCE (SIZE(1..16)) OF GNSS-SupportElement
+
+GNSS-SupportElement ::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ sbas-IDs SBAS-IDs OPTIONAL, -- Cond GNSS-ID-SBAS
+ agnss-Modes PositioningModes,
+ gnss-Signals GNSS-SignalIDs,
+ fta-MeasSupport SEQUENCE {
+ cellTime AccessTypes,
+ mode PositioningModes,
+ ...
+ } OPTIONAL, -- Cond fta
+ adr-Support BOOLEAN,
+ velocityMeasurementSupport BOOLEAN,
+ ...,
+ [[
+ adrEnhancementsSupport-r15 ENUMERATED { true } OPTIONAL,
+ ha-gnss-Modes-r15 PositioningModes OPTIONAL
+ ]],
+ [[
+ ha-gnss-MetricsSupport-r17 ENUMERATED { true } OPTIONAL
+ ]]
+}
+
+AssistanceDataSupportList ::= SEQUENCE {
+ gnss-CommonAssistanceDataSupport GNSS-CommonAssistanceDataSupport,
+ gnss-GenericAssistanceDataSupport GNSS-GenericAssistanceDataSupport,
+ ...
+}
+
+
+
+GNSS-CommonAssistanceDataSupport ::= SEQUENCE {
+ gnss-ReferenceTimeSupport GNSS-ReferenceTimeSupport
+ OPTIONAL, -- Cond RefTimeSup
+ gnss-ReferenceLocationSupport GNSS-ReferenceLocationSupport
+ OPTIONAL, -- Cond RefLocSup
+ gnss-IonosphericModelSupport GNSS-IonosphericModelSupport
+ OPTIONAL, -- Cond IonoModSup
+ gnss-EarthOrientationParametersSupport GNSS-EarthOrientationParametersSupport
+ OPTIONAL, -- Cond EOPSup
+ ...,
+ [[
+ gnss-RTK-ReferenceStationInfoSupport-r15
+ GNSS-RTK-ReferenceStationInfoSupport-r15
+ OPTIONAL, -- Cond ARPSup
+ gnss-RTK-AuxiliaryStationDataSupport-r15
+ GNSS-RTK-AuxiliaryStationDataSupport-r15
+ OPTIONAL -- Cond AuxARPSup
+ ]],
+ [[
+ gnss-Integrity-ServiceParametersSupport-r17
+ GNSS-Integrity-ServiceParametersSupport-r17
+ OPTIONAL, -- Cond IntServiceSup
+ gnss-Integrity-ServiceAlertSupport-r17
+ GNSS-Integrity-ServiceAlertSupport-r17
+ OPTIONAL -- Cond IntAlertSup
+ ]]
+}
+
+
+GNSS-ReferenceTimeSupport ::= SEQUENCE {
+ gnss-SystemTime GNSS-ID-Bitmap,
+ fta-Support AccessTypes OPTIONAL, -- Cond fta
+ ...
+}
+
+
+GNSS-ReferenceLocationSupport ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-IonosphericModelSupport ::= SEQUENCE {
+ ionoModel BIT STRING { klobuchar (0),
+ neQuick (1),
+ klobuchar2-r16 (2) } (SIZE (1..8)),
+ ...
+}
+
+
+GNSS-EarthOrientationParametersSupport ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-RTK-ReferenceStationInfoSupport-r15 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-RTK-AuxiliaryStationDataSupport-r15 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-Integrity-ServiceParametersSupport-r17 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-Integrity-ServiceAlertSupport-r17 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-GenericAssistanceDataSupport ::=
+ SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataSupportElement
+
+GNSS-GenericAssistDataSupportElement ::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS‑ID‑SBAS
+ gnss-TimeModelsSupport GNSS-TimeModelListSupport
+ OPTIONAL, -- Cond TimeModSup
+ gnss-DifferentialCorrectionsSupport GNSS-DifferentialCorrectionsSupport
+ OPTIONAL, -- Cond DGNSS-Sup
+ gnss-NavigationModelSupport GNSS-NavigationModelSupport
+ OPTIONAL, -- Cond NavModSup
+ gnss-RealTimeIntegritySupport GNSS-RealTimeIntegritySupport
+ OPTIONAL, -- Cond RTISup
+ gnss-DataBitAssistanceSupport GNSS-DataBitAssistanceSupport
+ OPTIONAL, -- Cond DataBitsSup
+ gnss-AcquisitionAssistanceSupport GNSS-AcquisitionAssistanceSupport
+ OPTIONAL, -- Cond AcquAssistSup
+ gnss-AlmanacSupport GNSS-AlmanacSupport
+ OPTIONAL, -- Cond AlmanacSup
+ gnss-UTC-ModelSupport GNSS-UTC-ModelSupport
+ OPTIONAL, -- Cond UTCModSup
+ gnss-AuxiliaryInformationSupport GNSS-AuxiliaryInformationSupport
+ OPTIONAL, -- Cond AuxInfoSup
+ ...,
+ [[
+ bds-DifferentialCorrectionsSupport-r12
+ BDS-DifferentialCorrectionsSupport-r12
+ OPTIONAL, -- Cond DBDS-Sup
+ bds-GridModelSupport-r12 BDS-GridModelSupport-r12
+ OPTIONAL -- Cond BDS-GridModSup
+ ]],
+ [[
+ gnss-RTK-ObservationsSupport-r15
+ GNSS-RTK-ObservationsSupport-r15
+ OPTIONAL, -- Cond RTK-OSR-Sup
+ glo-RTK-BiasInformationSupport-r15
+ GLO-RTK-BiasInformationSupport-r15
+ OPTIONAL, -- Cond GLO-CPB-Sup
+ gnss-RTK-MAC-CorrectionDifferencesSupport-r15
+ GNSS-RTK-MAC-CorrectionDifferencesSupport-r15
+ OPTIONAL, -- Cond MAC-Sup
+ gnss-RTK-ResidualsSupport-r15 GNSS-RTK-ResidualsSupport-r15
+ OPTIONAL, -- Cond Res-Sup
+ gnss-RTK-FKP-GradientsSupport-r15
+ GNSS-RTK-FKP-GradientsSupport-r15
+ OPTIONAL, -- Cond FKP-Sup
+ gnss-SSR-OrbitCorrectionsSupport-r15
+ GNSS-SSR-OrbitCorrectionsSupport-r15
+ OPTIONAL, -- Cond OC-Sup
+ gnss-SSR-ClockCorrectionsSupport-r15
+ GNSS-SSR-ClockCorrectionsSupport-r15
+ OPTIONAL, -- Cond CC-Sup
+ gnss-SSR-CodeBiasSupport-r15 GNSS-SSR-CodeBiasSupport-r15
+ OPTIONAL -- Cond CB-Sup
+ ]],
+ [[
+ gnss-SSR-URA-Support-r16 GNSS-SSR-URA-Support-r16 OPTIONAL, -- Cond URA-Sup
+ gnss-SSR-PhaseBiasSupport-r16 GNSS-SSR-PhaseBiasSupport-r16
+ OPTIONAL, -- Cond PB-Sup
+ gnss-SSR-STEC-CorrectionSupport-r16
+ GNSS-SSR-STEC-CorrectionSupport-r16
+ OPTIONAL, -- Cond STEC-Sup
+ gnss-SSR-GriddedCorrectionSupport-r16
+ GNSS-SSR-GriddedCorrectionSupport-r16
+ OPTIONAL, -- Cond Grid-Sup
+ navic-DifferentialCorrectionsSupport-r16
+ NavIC-DifferentialCorrectionsSupport-r16
+ OPTIONAL, -- Cond DNavIC-Sup
+ navic-GridModelSupport-r16 NavIC-GridModelSupport-r16
+ OPTIONAL -- Cond NavIC-GridModSup
+ ]]
+}
+
+
+GNSS-TimeModelListSupport ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-DifferentialCorrectionsSupport ::= SEQUENCE {
+ gnssSignalIDs GNSS-SignalIDs,
+ dgnss-ValidityTimeSup BOOLEAN,
+ ...
+}
+
+
+GNSS-NavigationModelSupport ::= SEQUENCE {
+ clockModel BIT STRING { model-1 (0),
+ model-2 (1),
+ model-3 (2),
+ model-4 (3),
+ model-5 (4),
+ model-6 (5),
+ model-7-r16 (6),
+ model-8-r16 (7) } (SIZE (1..8)) OPTIONAL,
+ orbitModel BIT STRING { model-1 (0),
+ model-2 (1),
+ model-3 (2),
+ model-4 (3),
+ model-5 (4),
+ model-6 (5),
+ model-7-r16 (6),
+ model-8-r16 (7) } (SIZE (1..8)) OPTIONAL,
+ ...
+}
+
+
+GNSS-RealTimeIntegritySupport ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-DataBitAssistanceSupport ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-AcquisitionAssistanceSupport ::= SEQUENCE {
+ ...,
+ confidenceSupport-r10 ENUMERATED { true } OPTIONAL,
+ dopplerUncertaintyExtSupport-r10 ENUMERATED { true } OPTIONAL
+}
+
+
+GNSS-AlmanacSupport ::= SEQUENCE {
+ almanacModel BIT STRING { model-1 (0),
+ model-2 (1),
+ model-3 (2),
+ model-4 (3),
+ model-5 (4),
+ model-6 (5),
+ model-7 (6) } (SIZE (1..8)) OPTIONAL,
+ ...
+}
+
+
+GNSS-UTC-ModelSupport ::= SEQUENCE {
+ utc-Model BIT STRING { model-1 (0),
+ model-2 (1),
+ model-3 (2),
+ model-4 (3),
+ model-5 (4) } (SIZE (1..8)) OPTIONAL,
+ ...
+}
+
+
+GNSS-AuxiliaryInformationSupport ::= SEQUENCE {
+ ...
+}
+
+
+BDS-DifferentialCorrectionsSupport-r12 ::= SEQUENCE {
+ gnssSignalIDs GNSS-SignalIDs,
+ ...
+}
+
+
+BDS-GridModelSupport-r12 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-RTK-ObservationsSupport-r15 ::= SEQUENCE {
+ gnssSignalIDs-r15 GNSS-SignalIDs,
+ ...
+}
+
+
+GLO-RTK-BiasInformationSupport-r15 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-RTK-MAC-CorrectionDifferencesSupport-r15 ::= SEQUENCE {
+ link-combinations-support-r15 GNSS-Link-CombinationsList-r15,
+ ...
+}
+
+
+GNSS-RTK-ResidualsSupport-r15 ::= SEQUENCE {
+ link-combinations-support-r15 GNSS-Link-CombinationsList-r15,
+ ...
+}
+
+
+GNSS-RTK-FKP-GradientsSupport-r15 ::= SEQUENCE {
+ link-combinations-support-r15 GNSS-Link-CombinationsList-r15,
+ ...
+}
+
+
+GNSS-SSR-OrbitCorrectionsSupport-r15 ::= SEQUENCE {
+ ...,
+ [[
+ orbit-IntegritySup-r17 BIT STRING { correlationTimeSup (0)
+ } (SIZE(1..8)) OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-ClockCorrectionsSupport-r15 ::= SEQUENCE {
+ ...,
+ [[
+ clock-IntegrityParameterSupport-r17 ENUMERATED { supported } OPTIONAL,
+ ssr-IntegrityClockBoundsSupport-r17 ENUMERATED { supported } OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-CodeBiasSupport-r15 ::= SEQUENCE {
+ signal-and-tracking-mode-ID-Sup-r15 GNSS-SignalIDs,
+ ...,
+ [[
+ ssr-IntegrityCodeBiasBoundsSup-r17 ENUMERATED { supported } OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-URA-Support-r16 ::= SEQUENCE {
+ ...
+}
+
+
+GNSS-SSR-PhaseBiasSupport-r16 ::= SEQUENCE {
+ signal-and-tracking-mode-ID-Sup-r16 GNSS-SignalIDs,
+ ...,
+ [[
+ ssr-IntegrityPhaseBiasBoundsSup-r17 ENUMERATED { supported } OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-STEC-CorrectionSupport-r16 ::= SEQUENCE {
+ ...,
+ [[
+ stec-IntegritySup-r17 BIT STRING { correlationTimeSup (0)
+ } (SIZE(1..8)) OPTIONAL
+ ]]
+}
+
+
+GNSS-SSR-GriddedCorrectionSupport-r16 ::= SEQUENCE {
+ ...,
+ [[
+ griddedCorrectionIntegritySup-r17 ENUMERATED { supported } OPTIONAL
+ ]]
+}
+
+
+NavIC-DifferentialCorrectionsSupport-r16 ::= SEQUENCE {
+ gnssSignalIDs-r16 GNSS-SignalIDs,
+ ...
+}
+
+
+NavIC-GridModelSupport-r16 ::= SEQUENCE {
+ ...
+}
+
+
+A-GNSS-RequestCapabilities ::= SEQUENCE {
+ gnss-SupportListReq BOOLEAN,
+ assistanceDataSupportListReq BOOLEAN,
+ locationVelocityTypesReq BOOLEAN,
+ ...
+}
+
+
+A-GNSS-Error ::= CHOICE {
+ locationServerErrorCauses GNSS-LocationServerErrorCauses,
+ targetDeviceErrorCauses GNSS-TargetDeviceErrorCauses,
+ ...
+}
+
+
+GNSS-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED {
+ undefined,
+ undeliveredAssistanceDataIsNotSupportedByServer,
+ undeliveredAssistanceDataIsSupportedButCurrentlyNotAvailableByServer, undeliveredAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailableByServer,
+ ...,
+ unconfirmedPeriodicAssistanceDataIsNotSupported-v1510,
+ unconfirmedPeriodicAssistanceDataIsSupportedButCurrentlyNotAvailable-v1510,
+ unconfirmedPeriodicAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailable-v1510,
+ undeliveredPeriodicAssistanceDataIsCurrentlyNotAvailable-v1510
+ },
+ ...
+}
+
+
+GNSS-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ thereWereNotEnoughSatellitesReceived,
+ assistanceDataMissing,
+ notAllRequestedMeasurementsPossible,
+ ...
+ },
+ fineTimeAssistanceMeasurementsNotPossible NULL OPTIONAL,
+ adrMeasurementsNotPossible NULL OPTIONAL,
+ multiFrequencyMeasurementsNotPossible NULL OPTIONAL,
+ ...
+}
+
+
+GNSS-FrequencyID-r15 ::= SEQUENCE {
+ gnss-FrequencyID-r15 INTEGER (0 .. 7),
+ ...
+}
+
+
+GNSS-ID ::= SEQUENCE {
+ gnss-id ENUMERATED{ gps, sbas, qzss, galileo, glonass, ..., bds, navic-v1610 },
+ ...
+}
+
+
+GNSS-ID-Bitmap ::= SEQUENCE {
+ gnss-ids BIT STRING { gps (0),
+ sbas (1),
+ qzss (2),
+ galileo (3),
+ glonass (4),
+ bds (5),
+ navic-v1610 (6) } (SIZE (1..16)),
+ ...
+}
+
+
+GNSS-Link-CombinationsList-r15 ::= SEQUENCE (SIZE(1..8)) OF GNSS-Link-Combinations-r15
+
+GNSS-Link-Combinations-r15 ::= SEQUENCE {
+ l1-r15 GNSS-FrequencyID-r15,
+ l2-r15 GNSS-FrequencyID-r15,
+ ...
+}
+
+
+GNSS-NavListInfo-r15 ::= SEQUENCE (SIZE (1..64)) OF SatListElement-r15
+
+SatListElement-r15 ::= SEQUENCE {
+ svID-r15 SV-ID,
+ iod-r15 BIT STRING (SIZE(11)),
+ ...
+}
+
+
+GNSS-NetworkID-r15 ::= SEQUENCE {
+ networkID-r15 INTEGER (0..255),
+ ...
+}
+
+
+GNSS-PeriodicControlParam-r15 ::= SEQUENCE {
+ deliveryAmount-r15 INTEGER (1..32),
+ deliveryInterval-r15 INTEGER (1..64),
+ ...
+}
+
+
+GNSS-ReferenceStationID-r15 ::= SEQUENCE {
+ referenceStationID-r15 INTEGER (0..65535),
+ providerName-r15 VisibleString (SIZE (1..32)) OPTIONAL, -- Need ON
+ ...
+}
+
+
+GNSS-SignalID ::= SEQUENCE {
+ gnss-SignalID INTEGER (0 .. 7),
+ ...,
+ [[
+ gnss-SignalID-Ext-r15 INTEGER (8..23) OPTIONAL -- Need ON
+ ]]
+}
+
+
+GNSS-SignalIDs ::= SEQUENCE {
+ gnss-SignalIDs BIT STRING (SIZE(8)),
+ ...,
+ [[
+ gnss-SignalIDs-Ext-r15 BIT STRING (SIZE(16)) OPTIONAL -- Need ON
+ ]]
+}
+
+
+GNSS-SubNetworkID-r15 ::= SEQUENCE {
+ subNetworkID-r15 INTEGER (0..15),
+ ...
+}
+
+
+SBAS-ID ::= SEQUENCE {
+ sbas-id ENUMERATED { waas, egnos, msas, gagan, ...},
+ ...
+}
+
+
+SBAS-IDs ::= SEQUENCE {
+ sbas-IDs BIT STRING { waas (0),
+ egnos (1),
+ msas (2),
+ gagan (3) } (SIZE (1..8)),
+ ...
+}
+
+
+SV-ID ::= SEQUENCE {
+ satellite-id INTEGER(0..63),
+ ...
+}
+
+
+ECID-ProvideLocationInformation ::= SEQUENCE {
+ ecid-SignalMeasurementInformation ECID-SignalMeasurementInformation OPTIONAL,
+ ecid-Error ECID-Error OPTIONAL,
+ ...
+}
+
+
+ECID-SignalMeasurementInformation ::= SEQUENCE {
+ primaryCellMeasuredResults MeasuredResultsElement OPTIONAL,
+ measuredResultsList MeasuredResultsList,
+ ...
+}
+
+MeasuredResultsList ::= SEQUENCE (SIZE(1..32)) OF MeasuredResultsElement
+
+MeasuredResultsElement ::= SEQUENCE {
+ physCellId INTEGER (0..503),
+ cellGlobalId CellGlobalIdEUTRA-AndUTRA OPTIONAL,
+ arfcnEUTRA ARFCN-ValueEUTRA,
+ systemFrameNumber BIT STRING (SIZE (10)) OPTIONAL,
+ rsrp-Result INTEGER (0..97) OPTIONAL,
+ rsrq-Result INTEGER (0..34) OPTIONAL,
+ ue-RxTxTimeDiff INTEGER (0..4095) OPTIONAL,
+ ...,
+ [[ arfcnEUTRA-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond EARFCN-max
+ ]],
+ [[ nrsrp-Result-r14 INTEGER (0..113) OPTIONAL,
+ nrsrq-Result-r14 INTEGER (0..74) OPTIONAL,
+ carrierFreqOffsetNB-r14 CarrierFreqOffsetNB-r14 OPTIONAL, -- Cond NB-IoT
+ hyperSFN-r14 BIT STRING (SIZE (10)) OPTIONAL
+ ]],
+ [[
+ rsrp-Result-v1470 INTEGER (-17..-1) OPTIONAL,
+ rsrq-Result-v1470 INTEGER (-30..46) OPTIONAL
+ ]]
+}
+
+
+ECID-RequestLocationInformation ::= SEQUENCE {
+ requestedMeasurements BIT STRING { rsrpReq (0),
+ rsrqReq (1),
+ ueRxTxReq (2),
+ nrsrpReq-r14 (3),
+ nrsrqReq-r14 (4)} (SIZE(1..8)),
+ ...
+}
+
+
+ECID-ProvideCapabilities ::= SEQUENCE {
+ ecid-MeasSupported BIT STRING { rsrpSup (0),
+ rsrqSup (1),
+ ueRxTxSup (2),
+ nrsrpSup-r14 (3),
+ nrsrqSup-r14 (4)} (SIZE(1..8)),
+ ...,
+ [[ ueRxTxSupTDD-r13 ENUMERATED { true } OPTIONAL
+ ]],
+ [[ periodicalReporting-r14 ENUMERATED { supported } OPTIONAL,
+ triggeredReporting-r14 ENUMERATED { supported } OPTIONAL,
+ idleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL
+ ]],
+ [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL
+ ]]
+}
+
+
+ECID-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+ECID-Error ::= CHOICE {
+ locationServerErrorCauses ECID-LocationServerErrorCauses,
+ targetDeviceErrorCauses ECID-TargetDeviceErrorCauses,
+ ...
+}
+
+
+ECID-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ ...
+ },
+ ...
+}
+
+
+ECID-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ requestedMeasurementNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ ...
+ },
+ rsrpMeasurementNotPossible NULL OPTIONAL,
+ rsrqMeasurementNotPossible NULL OPTIONAL,
+ ueRxTxMeasurementNotPossible NULL OPTIONAL,
+ ...,
+ [[
+ nrsrpMeasurementNotPossible-r14 NULL OPTIONAL,
+ nrsrqMeasurementNotPossible-r14 NULL OPTIONAL
+ ]]
+}
+
+
+TBS-ProvideLocationInformation-r13 ::= SEQUENCE {
+ tbs-MeasurementInformation-r13 TBS-MeasurementInformation-r13 OPTIONAL,
+ tbs-Error-r13 TBS-Error-r13 OPTIONAL,
+ ...
+}
+
+
+TBS-MeasurementInformation-r13 ::= SEQUENCE {
+ measurementReferenceTime-r13 UTCTime OPTIONAL,
+ mbs-SgnMeasList-r13 MBS-BeaconMeasList-r13 OPTIONAL, -- Cond MBS
+ ...
+}
+
+
+MBS-BeaconMeasList-r13 ::= SEQUENCE (SIZE(1..64)) OF MBS-BeaconMeasElement-r13
+
+MBS-BeaconMeasElement-r13 ::= SEQUENCE {
+ transmitterID-r13 INTEGER (0..32767),
+ codePhase-r13 INTEGER (0..2097151),
+ codePhaseRMSError-r13 INTEGER (0..63),
+ ...,
+ [[ rssi-r14 INTEGER (-130..-30) OPTIONAL
+ ]]
+}
+
+
+TBS-RequestLocationInformation-r13 ::= SEQUENCE {
+ mbsSgnMeasListReq-r13 BOOLEAN,
+ ...,
+ [[ mbsAssistanceAvailability-r14 BOOLEAN OPTIONAL, -- Need ON
+ mbsRequestedMeasurements-r14 BIT STRING {
+ rssi (0)} (SIZE(1..8)) OPTIONAL -- Need ON
+ ]]
+}
+
+
+TBS-ProvideCapabilities-r13 ::= SEQUENCE {
+ tbs-Modes-r13 BIT STRING { standalone (0),
+ ue-assisted (1),
+ ue-based (2)} (SIZE (1..8)),
+ ...,
+ [[ mbs-AssistanceDataSupportList-r14 MBS-AssistanceDataSupportList-r14 OPTIONAL,
+ periodicalReportingSupported-r14 PositioningModes OPTIONAL,
+ mbs-ConfigSupport-r14 BIT STRING { tb1 (0),
+ tb2 (1),
+ tb3 (2),
+ tb4 (3)} (SIZE (1..8)) OPTIONAL,
+ mbs-IdleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL
+ ]],
+ [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL
+ ]]
+}
+
+
+MBS-AssistanceDataSupportList-r14 ::= SEQUENCE {
+ mbs-AcquisitionAssistanceDataSupport-r14 BOOLEAN,
+ mbs-AlmanacAssistanceDataSupport-r14 BOOLEAN,
+ ...
+}
+
+
+TBS-RequestCapabilities-r13 ::= SEQUENCE {
+ ...
+}
+
+
+TBS-Error-r13 ::= CHOICE {
+ locationServerErrorCauses-r13 TBS-LocationServerErrorCauses-r13,
+ targetDeviceErrorCauses-r13 TBS-TargetDeviceErrorCauses-r13,
+ ...
+}
+
+
+TBS-LocationServerErrorCauses-r13 ::= SEQUENCE {
+ cause-r13 ENUMERATED { undefined,
+ ...,
+ assistanceDataNotSupportedByServer-v1420,
+ assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420
+ },
+ ...
+}
+
+
+TBS-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
+ cause-r13 ENUMERATED { undefined,
+ thereWereNotEnoughMBSBeaconsReceived,
+ ...,
+ assistanceDataMissing-v1420
+ },
+ ...
+}
+
+
+TBS-ProvideAssistanceData-r14 ::= SEQUENCE {
+ tbs-AssistanceDataList-r14 TBS-AssistanceDataList-r14 OPTIONAL, -- Need ON
+ tbs-Error-r14 TBS-Error-r13 OPTIONAL, -- Need ON
+ ...
+}
+
+
+TBS-AssistanceDataList-r14 ::= SEQUENCE {
+ mbs-AssistanceDataList-r14 MBS-AssistanceDataList-r14 OPTIONAL, -- Need ON
+ ...
+}
+
+MBS-AssistanceDataList-r14 ::= SEQUENCE (SIZE (1..maxMBS-r14)) OF MBS-AssistanceDataElement-r14
+
+MBS-AssistanceDataElement-r14 ::= SEQUENCE {
+ mbs-AlmanacAssistance-r14 MBS-AlmanacAssistance-r14 OPTIONAL, -- Need ON
+ mbs-AcquisitionAssistance-r14 MBS-AcquisitionAssistance-r14 OPTIONAL, -- Need ON
+ ...
+}
+
+
+MBS-AlmanacAssistance-r14 ::= SEQUENCE {
+ transmitterID-r14 INTEGER (0..32767),
+ transmitterLatitude-r14 BIT STRING (SIZE (26)),
+ transmitterLongitude-r14 BIT STRING (SIZE (27)),
+ transmitterAltitude-r14 BIT STRING (SIZE (15)),
+ timeCorrection-r14 INTEGER (0..25) OPTIONAL, -- Need ON
+ ...
+}
+
+
+MBS-AcquisitionAssistance-r14 ::= SEQUENCE {
+ transmitterID-r14 INTEGER (0..32767) OPTIONAL, -- Need ON
+ mbsConfiguration-r14 ENUMERATED {tb1, tb2, tb3, tb4, ...} OPTIONAL, -- Need ON
+ pnCodeIndex-r14 INTEGER (1..128) OPTIONAL, -- Need ON
+ freq-r14 INTEGER (919750000..927250000) OPTIONAL, -- Need ON
+ ...
+}
+
+
+TBS-RequestAssistanceData-r14 ::= SEQUENCE {
+ mbs-AlmanacAssistanceDataReq-r14 BOOLEAN,
+ mbs-AcquisitionAssistanceDataReq-r14 BOOLEAN,
+ ...
+}
+
+
+Sensor-ProvideLocationInformation-r13 ::= SEQUENCE {
+ sensor-MeasurementInformation-r13 Sensor-MeasurementInformation-r13 OPTIONAL,
+ sensor-Error-r13 Sensor-Error-r13 OPTIONAL,
+ ...,
+ [[
+ sensor-MotionInformation-r15 Sensor-MotionInformation-r15 OPTIONAL
+ ]]
+}
+
+
+Sensor-MeasurementInformation-r13 ::= SEQUENCE {
+ measurementReferenceTime-r13 UTCTime OPTIONAL,
+ uncompensatedBarometricPressure-r13 INTEGER (30000..115000) OPTIONAL, -- Cond Barometer
+ ...,
+ [[
+ uncertainty-r14 SEQUENCE {
+ range-r14 INTEGER (0..1000),
+ confidence-r14 INTEGER (1..100)
+ } OPTIONAL
+ ]],
+ [[ adjustment-r16 INTEGER (-5000..5000) OPTIONAL
+ ]]
+}
+
+
+Sensor-MotionInformation-r15 ::= SEQUENCE {
+ refTime-r15 DisplacementTimeStamp-r15,
+ displacementInfoList-r15 DisplacementInfoList-r15,
+ ...
+}
+
+DisplacementInfoList-r15 ::= SEQUENCE (SIZE (1..128)) OF DisplacementInfoListElement-r15
+
+DisplacementInfoListElement-r15 ::= SEQUENCE {
+ deltaTimeStamp-r15 DeltaTime-r15,
+ displacement-r15 Displacement-r15 OPTIONAL,
+ ...
+}
+
+DisplacementTimeStamp-r15 ::= CHOICE {
+ utcTime-r15 UTC-Time-r15,
+ gnssTime-r15 MeasurementReferenceTime,
+ systemFrameNumber-r15 SFN-r15,
+ measurementSFN-r15 INTEGER(-8192..9214),
+ ...
+}
+
+DeltaTime-r15 ::= CHOICE {
+ deltaTimeSec-r15 INTEGER (1..16384),
+ deltaTimeSFN-r15 INTEGER (1..4096),
+ ...
+}
+
+SFN-r15 ::= SEQUENCE {
+ sfn-r15 BIT STRING (SIZE (10)),
+ hyperSFN-r15 BIT STRING (SIZE (10)) OPTIONAL,
+ ...
+}
+
+Displacement-r15 ::= SEQUENCE {
+ bearing-r15 INTEGER (0..3599),
+ bearingUncConfidence-r15 INTEGER (0..100) OPTIONAL,
+ bearingRef-r15 ENUMERATED { geographicNorth, magneticNorth, local },
+ horizontalDistance-r15 INTEGER (0..8191),
+ horizontalDistanceUnc-r15 INTEGER (0..255) OPTIONAL,
+ horizontalUncConfidence-r15 INTEGER (0..100) OPTIONAL,
+ verticalDirection-r15 ENUMERATED{upward, downward} OPTIONAL,
+ verticalDistance-r15 INTEGER(0..8191) OPTIONAL,
+ verticalDistanceUnc-r15 INTEGER (0..255) OPTIONAL,
+ verticalUncConfidence-r15 INTEGER (0..100) OPTIONAL,
+ ...
+}
+
+UTC-Time-r15 ::= SEQUENCE {
+ utcTime-r15 UTCTime,
+ utcTime-ms-r15 INTEGER (0..999),
+ ...
+}
+
+
+Sensor-RequestLocationInformation-r13 ::= SEQUENCE {
+ uncompensatedBarometricPressureReq-r13 BOOLEAN,
+ ...,
+ [[ assistanceAvailability-r14 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ sensor-MotionInformationReq-r15 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ adjustmentReq-r16 BOOLEAN OPTIONAL -- Need ON
+ ]]
+}
+
+
+Sensor-ProvideCapabilities-r13 ::= SEQUENCE {
+ sensor-Modes-r13 BIT STRING { standalone (0),
+ ue-assisted (1),
+ ue-based (2)} (SIZE (1..8)),
+ ...,
+ [[ sensor-AssistanceDataSupportList-r14 Sensor-AssistanceDataSupportList-r14 OPTIONAL,
+ periodicalReportingSupported-r14 PositioningModes OPTIONAL,
+ idleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL
+ ]],
+ [[ sensor-MotionInformationSup-r15 ENUMERATED { true } OPTIONAL
+ ]],
+ [[ adjustmentSupported-r16 ENUMERATED { true } OPTIONAL
+ ]],
+ [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL
+ ]]
+}
+
+Sensor-AssistanceDataSupportList-r14 ::= SEQUENCE {
+ ...,
+ [[ validityPeriodSupported-v1520 ENUMERATED { true } OPTIONAL,
+ validityAreaSupported-v1520 ENUMERATED { true } OPTIONAL
+ ]]
+}
+
+
+Sensor-RequestCapabilities-r13 ::= SEQUENCE {
+ ...
+}
+
+
+Sensor-Error-r13 ::= CHOICE {
+ locationServerErrorCauses-r13 Sensor-LocationServerErrorCauses-r13,
+ targetDeviceErrorCauses-r13 Sensor-TargetDeviceErrorCauses-r13,
+ ...
+}
+
+
+Sensor-LocationServerErrorCauses-r13 ::= SEQUENCE {
+ cause-r13 ENUMERATED { undefined,
+ ...,
+ assistanceDataNotSupportedByServer-v1420,
+ assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420
+ },
+ ...
+}
+
+
+Sensor-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
+ cause-r13 ENUMERATED { undefined,
+ ...,
+ assistanceDataMissing-v1420
+ },
+ ...
+}
+
+
+Sensor-ProvideAssistanceData-r14 ::= SEQUENCE {
+ sensor-AssistanceDataList-r14 Sensor-AssistanceDataList-r14 OPTIONAL, -- Need ON
+ sensor-Error-r14 Sensor-Error-r13 OPTIONAL, -- Need ON
+ ...
+}
+
+
+Sensor-AssistanceDataList-r14::= SEQUENCE {
+ refPressure-r14 INTEGER (-20000..10000),
+ refPosition-r14 EllipsoidPointWithAltitudeAndUncertaintyEllipsoid OPTIONAL, -- Need ON
+ refTemperature-r14 INTEGER (-64..63) OPTIONAL, -- Need ON
+ ...,
+ [[
+ period-v1520 SEQUENCE {
+ pressureValidityPeriod-v1520 PressureValidityPeriod-v1520,
+ referencePressureRate-v1520 INTEGER (-128..127) OPTIONAL, -- Need ON
+ ...
+ } OPTIONAL, -- Need ON
+ area-v1520 SEQUENCE {
+ pressureValidityArea-v1520 PressureValidityArea-v1520,
+ gN-pressure-v1520 INTEGER (-1024..1023) OPTIONAL, -- Need ON
+ gE-pressure-v1520 INTEGER (-1024..1023) OPTIONAL, -- Need ON
+ ...
+ } OPTIONAL -- Need ON
+ ]]
+}
+
+PressureValidityArea-v1520 ::= SEQUENCE {
+ centerPoint-v1520 Ellipsoid-Point,
+ validityAreaWidth-v1520 INTEGER (1..128),
+ validityAreaHeight-v1520 INTEGER (1..128),
+ ...
+}
+
+PressureValidityPeriod-v1520 ::= SEQUENCE {
+ beginTime-v1520 GNSS-SystemTime,
+ beginTimeAlt-v1520 INTEGER (0..2881) OPTIONAL, -- Need ON
+ duration-v1520 INTEGER (1..2881),
+ ...
+}
+
+
+Sensor-RequestAssistanceData-r14 ::= SEQUENCE {
+ ...
+}
+
+
+WLAN-ProvideLocationInformation-r13 ::= SEQUENCE {
+ wlan-MeasurementInformation-r13 WLAN-MeasurementInformation-r13 OPTIONAL,
+ wlan-Error-r13 WLAN-Error-r13 OPTIONAL,
+ ...
+}
+
+
+WLAN-MeasurementInformation-r13 ::= SEQUENCE {
+ measurementReferenceTime-r13 UTCTime OPTIONAL,
+ wlan-MeasurementList-r13 WLAN-MeasurementList-r13 OPTIONAL,
+ ...
+}
+
+WLAN-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxWLAN-AP-r13)) OF WLAN-MeasurementElement-r13
+
+WLAN-MeasurementElement-r13 ::= SEQUENCE {
+ wlan-AP-Identifier-r13 WLAN-AP-Identifier-r13,
+ rssi-r13 INTEGER (-127..128) OPTIONAL,
+ rtt-r13 WLAN-RTT-r13 OPTIONAL,
+ apChannelFrequency-r13 INTEGER (0..256) OPTIONAL,
+ servingFlag-r13 BOOLEAN OPTIONAL,
+ ...
+}
+
+WLAN-AP-Identifier-r13 ::= SEQUENCE {
+ bssid-r13 OCTET STRING (SIZE (6)),
+ ssid-r13 OCTET STRING (SIZE (1..32)) OPTIONAL,
+ ...
+}
+
+WLAN-RTT-r13 ::= SEQUENCE {
+ rttValue-r13 INTEGER (0..16777215),
+ rttUnits-r13 ENUMERATED { microseconds,
+ hundredsofnanoseconds,
+ tensofnanoseconds,
+ nanoseconds,
+ tenthsofnanoseconds,
+ ... },
+ rttAccuracy-r13 INTEGER (0..255) OPTIONAL,
+ ...
+}
+
+
+WLAN-RequestLocationInformation-r13 ::= SEQUENCE {
+ requestedMeasurements-r13 BIT STRING {
+ rssi (0),
+ rtt (1)} (SIZE(1..8)),
+ ...,
+ [[ assistanceAvailability-r14 BOOLEAN OPTIONAL -- Need ON
+ ]]
+}
+
+
+WLAN-ProvideCapabilities-r13 ::= SEQUENCE {
+ wlan-Modes-r13 BIT STRING { standalone (0),
+ ue-assisted (1),
+ ue-based (2)} (SIZE (1..8)),
+ wlan-MeasSupported-r13 BIT STRING {
+ rssi-r13 (0),
+ rtt-r13 (1)} (SIZE(1..8)),
+ ... ,
+ [[ wlan-AP-AD-Supported-r14
+ BIT STRING { ap-identifier (0),
+ ap-location (1)} (SIZE (1..8))
+ OPTIONAL,
+ periodicalReportingSupported-r14 PositioningModes OPTIONAL,
+ idleStateForMeasurements-r14
+ ENUMERATED { required } OPTIONAL
+ ]],
+ [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL
+ ]]
+}
+
+
+WLAN-RequestCapabilities-r13 ::= SEQUENCE {
+ ...
+}
+
+
+WLAN-Error-r13 ::= CHOICE {
+ locationServerErrorCauses-r13 WLAN-LocationServerErrorCauses-r13,
+ targetDeviceErrorCauses-r13 WLAN-TargetDeviceErrorCauses-r13,
+ ...
+}
+
+
+WLAN-LocationServerErrorCauses-r13 ::= SEQUENCE {
+ cause-r13 ENUMERATED {undefined,
+ ...,
+ requestedADNotAvailable-v1420,
+ notAllrequestedADAvailable-v1420
+ },
+ ...,
+ [[ apLocationDataUnavailable-r14 NULL OPTIONAL -- Need ON
+ ]]
+}
+
+
+WLAN-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
+ cause-r13 ENUMERATED {undefined,
+ requestedMeasurementsNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ ...
+ },
+ wlan-AP-RSSI-MeasurementNotPossible-r13 NULL OPTIONAL,
+ wlan-AP-RTT-MeasurementNotPossible-r13 NULL OPTIONAL,
+ ...
+}
+
+
+WLAN-ProvideAssistanceData-r14 ::= SEQUENCE {
+ wlan-DataSet-r14 SEQUENCE (SIZE (1..maxWLAN-DataSets-r14)) OF WLAN-DataSet-r14
+ OPTIONAL, -- Need ON
+ wlan-Error-r14 WLAN-Error-r13 OPTIONAL, -- Need ON
+ ...
+}
+
+
+WLAN-DataSet-r14 ::= SEQUENCE {
+ wlan-AP-List-r14 SEQUENCE (SIZE (1..maxWLAN-AP-r14)) OF WLAN-AP-Data-r14,
+ supportedChannels-11a-r14 SupportedChannels-11a-r14 OPTIONAL, -- Need ON
+ supportedChannels-11bg-r14 SupportedChannels-11bg-r14 OPTIONAL, -- Need ON
+ ...
+}
+
+SupportedChannels-11a-r14 ::= SEQUENCE {
+ ch34-r14 BOOLEAN,
+ ch36-r14 BOOLEAN,
+ ch38-r14 BOOLEAN,
+ ch40-r14 BOOLEAN,
+ ch42-r14 BOOLEAN,
+ ch44-r14 BOOLEAN,
+ ch46-r14 BOOLEAN,
+ ch48-r14 BOOLEAN,
+ ch52-r14 BOOLEAN,
+ ch56-r14 BOOLEAN,
+ ch60-r14 BOOLEAN,
+ ch64-r14 BOOLEAN,
+ ch149-r14 BOOLEAN,
+ ch153-r14 BOOLEAN,
+ ch157-r14 BOOLEAN,
+ ch161-r14 BOOLEAN
+}
+
+SupportedChannels-11bg-r14 ::= SEQUENCE {
+ ch1-r14 BOOLEAN,
+ ch2-r14 BOOLEAN,
+ ch3-r14 BOOLEAN,
+ ch4-r14 BOOLEAN,
+ ch5-r14 BOOLEAN,
+ ch6-r14 BOOLEAN,
+ ch7-r14 BOOLEAN,
+ ch8-r14 BOOLEAN,
+ ch9-r14 BOOLEAN,
+ ch10-r14 BOOLEAN,
+ ch11-r14 BOOLEAN,
+ ch12-r14 BOOLEAN,
+ ch13-r14 BOOLEAN,
+ ch14-r14 BOOLEAN
+}
+
+
+WLAN-AP-Data-r14 ::= SEQUENCE {
+ wlan-AP-Identifier-r14 WLAN-AP-Identifier-r13,
+ wlan-AP-Location-r14 WLAN-AP-Location-r14 OPTIONAL, -- Need ON
+ ...
+}
+
+WLAN-AP-Location-r14 ::= SEQUENCE {
+ locationDataLCI-r14 LocationDataLCI-r14,
+ ...
+}
+
+LocationDataLCI-r14 ::= SEQUENCE {
+ latitudeUncertainty-r14 BIT STRING (SIZE (6)),
+ latitude-r14 BIT STRING (SIZE (34)),
+ longitudeUncertainty-r14 BIT STRING (SIZE (6)),
+ longitude-r14 BIT STRING (SIZE (34)),
+ altitudeUncertainty-r14 BIT STRING (SIZE (6)) OPTIONAL, -- Need ON
+ altitude-r14 BIT STRING (SIZE (30)) OPTIONAL, -- Need ON
+ datum-r14 BIT STRING (SIZE (8)),
+ ...
+}
+
+
+WLAN-RequestAssistanceData-r14 ::= SEQUENCE {
+ requestedAD-r14 BIT STRING { ap-identifier (0),
+ ap-location (1)} (SIZE (1..8)),
+ visibleAPs-r14 SEQUENCE (SIZE (1..maxVisibleAPs-r14)) OF WLAN-AP-Identifier-r13 OPTIONAL,
+ wlan-AP-StoredData-r14 SEQUENCE (SIZE (1..maxKnownAPs-r14)) OF WLAN-AP-Identifier-r13 OPTIONAL,
+ ...
+}
+
+
+BT-ProvideLocationInformation-r13 ::= SEQUENCE {
+ bt-MeasurementInformation-r13 BT-MeasurementInformation-r13 OPTIONAL,
+ bt-Error-r13 BT-Error-r13 OPTIONAL,
+ ...
+}
+
+
+BT-MeasurementInformation-r13 ::= SEQUENCE {
+ measurementReferenceTime-r13 UTCTime OPTIONAL,
+ bt-MeasurementList-r13 BT-MeasurementList-r13 OPTIONAL,
+ ...
+}
+
+BT-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxBT-Beacon-r13)) OF BT-MeasurementElement-r13
+
+
+BT-MeasurementElement-r13 ::= SEQUENCE {
+ btAddr-r13 BIT STRING (SIZE (48)),
+ rssi-r13 INTEGER (-128..127) OPTIONAL,
+ ...
+}
+
+
+BT-RequestLocationInformation-r13 ::= SEQUENCE {
+ requestedMeasurements-r13 BIT STRING {
+ rssi (0)} (SIZE(1..8)),
+ ...
+}
+
+
+BT-ProvideCapabilities-r13 ::= SEQUENCE {
+ bt-Modes-r13 BIT STRING { standalone (0),
+ ue-assisted (1)} (SIZE (1..8)),
+ bt-MeasSupported-r13 BIT STRING { rssi-r13 (0)} (SIZE (1..8)),
+ ...,
+ [[
+ idleStateForMeasurements-r14
+ ENUMERATED { required } OPTIONAL,
+ periodicalReportingSupported-r14
+ PositioningModes OPTIONAL
+ ]],
+ [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL
+ ]]
+}
+
+
+BT-RequestCapabilities-r13 ::= SEQUENCE {
+ ...
+}
+
+
+BT-Error-r13 ::= CHOICE {
+ locationServerErrorCauses-r13 BT-LocationServerErrorCauses-r13,
+ targetDeviceErrorCauses-r13 BT-TargetDeviceErrorCauses-r13,
+ ...
+}
+
+
+BT-LocationServerErrorCauses-r13 ::= SEQUENCE {
+ cause-r13 ENUMERATED {undefined, ...},
+ ...
+}
+
+
+BT-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
+ cause-r13 ENUMERATED {undefined,
+ requestedMeasurementsNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ ...
+ },
+ bt-Beacon-rssiMeasurementNotPossible-r13 NULL OPTIONAL,
+ ...
+}
+
+
+NR-UL-ProvideCapabilities-r16 ::= SEQUENCE {
+ nr-UL-SRS-Capability-r16 NR-UL-SRS-Capability-r16,
+ ...,
+ [[
+ nr-UE-TEG-Capability-r17 NR-UE-TEG-Capability-r17 OPTIONAL
+ ]]
+}
+
+
+NR-UL-RequestCapabilities-r16 ::= SEQUENCE {
+ ...
+}
+
+NR-ECID-ProvideLocationInformation-r16 ::= SEQUENCE {
+ nr-ECID-SignalMeasurementInformation-r16 NR-ECID-SignalMeasurementInformation-r16 OPTIONAL,
+ nr-ECID-Error-r16 NR-ECID-Error-r16 OPTIONAL,
+ ...
+}
+
+
+NR-ECID-SignalMeasurementInformation-r16 ::= SEQUENCE {
+ nr-PrimaryCellMeasuredResults-r16 NR-MeasuredResultsElement-r16,
+ nr-MeasuredResultsList-r16 NR-MeasuredResultsList-r16 OPTIONAL,
+ ...
+}
+
+NR-MeasuredResultsList-r16 ::= SEQUENCE (SIZE(1..32)) OF NR-MeasuredResultsElement-r16
+
+NR-MeasuredResultsElement-r16 ::= SEQUENCE {
+ nr-PhysCellID-r16 NR-PhysCellID-r16,
+ nr-ARFCN-r16 CHOICE {
+ ssb-ARFCN-r16 ARFCN-ValueNR-r15,
+ csi-RS-pointA-r16 ARFCN-ValueNR-r15
+ },
+ nr-CellGlobalID-r16 NCGI-r15 OPTIONAL,
+ systemFrameNumber-r16 BIT STRING (SIZE (10)) OPTIONAL, resultsSSB-Cell-r16 MeasQuantityResults-r16 OPTIONAL,
+ resultsCSI-RS-Cell-r16 MeasQuantityResults-r16 OPTIONAL,
+ resultsSSB-Indexes-r16 ResultsPerSSB-IndexList-r16 OPTIONAL,
+ resultsCSI-RS-Indexes-r16 ResultsPerCSI-RS-IndexList-r16 OPTIONAL,
+ ...
+}
+
+MeasQuantityResults-r16 ::= SEQUENCE {
+ nr-RSRP-r16 INTEGER (0..127) OPTIONAL,
+ nr-RSRQ-r16 INTEGER (0..127) OPTIONAL
+}
+
+ResultsPerSSB-IndexList-r16::= SEQUENCE (SIZE (1..64)) OF ResultsPerSSB-Index-r16
+
+ResultsPerSSB-Index-r16 ::= SEQUENCE {
+ ssb-Index-r16 INTEGER (0..63),
+ ssb-Results-r16 MeasQuantityResults-r16
+}
+
+ResultsPerCSI-RS-IndexList-r16::= SEQUENCE (SIZE (1..64)) OF ResultsPerCSI-RS-Index-r16
+
+ResultsPerCSI-RS-Index-r16 ::= SEQUENCE {
+ csi-RS-Index-r16 INTEGER (0..95),
+ csi-RS-Results-r16 MeasQuantityResults-r16
+}
+
+
+NR-ECID-RequestLocationInformation-r16 ::= SEQUENCE {
+ requestedMeasurements-r16 BIT STRING { ssrsrpReq (0),
+ ssrsrqReq (1),
+ csirsrpReq (2),
+ csirsrqReq (3)} (SIZE(1..8)),
+ ...
+}
+
+
+NR-ECID-ProvideCapabilities-r16 ::= SEQUENCE {
+ nr-ECID-MeasSupported-r16 BIT STRING { ssrsrpSup (0),
+ ssrsrqSup (1),
+ csirsrpSup (2),
+ csirsrqSup (3)} (SIZE(1..8)),
+ periodicalReporting-r16 ENUMERATED { supported } OPTIONAL,
+ triggeredReporting-r16 ENUMERATED { supported } OPTIONAL,
+ ...,
+ [[
+ ten-ms-unit-ResponseTime-r17 ENUMERATED { supported } OPTIONAL,
+ scheduledLocationRequestSupported-r17
+ ScheduledLocationTimeSupport-r17 OPTIONAL
+ ]]
+}
+
+
+NR-ECID-RequestCapabilities-r16 ::= SEQUENCE {
+ ...
+}
+
+
+NR-ECID-Error-r16 ::= CHOICE {
+ locationServerErrorCauses-r16 NR-ECID-LocationServerErrorCauses-r16,
+ targetDeviceErrorCauses-r16 NR-ECID-TargetDeviceErrorCauses-r16,
+ ...
+}
+
+
+NR-ECID-LocationServerErrorCauses-r16 ::= SEQUENCE {
+ cause-r16 ENUMERATED { undefined,
+ ...
+ },
+ ...
+}
+
+
+NR-ECID-TargetDeviceErrorCauses-r16 ::= SEQUENCE {
+ cause-r16 ENUMERATED { undefined,
+ requestedMeasurementNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ ...
+ },
+ ss-RSRPMeasurementNotPossible-r16 NULL OPTIONAL,
+ ss-RSRQMeasurementNotPossible-r16 NULL OPTIONAL,
+ csi-RSRPMeasurementNotPossible-r16 NULL OPTIONAL,
+ csi-RSRQMeasurementNotPossible-r16 NULL OPTIONAL,
+ ...
+}
+
+
+NR-DL-TDOA-ProvideAssistanceData-r16 ::= SEQUENCE {
+ nr-DL-PRS-AssistanceData-r16 NR-DL-PRS-AssistanceData-r16 OPTIONAL, -- Need ON
+ nr-SelectedDL-PRS-IndexList-r16 NR-SelectedDL-PRS-IndexList-r16 OPTIONAL, -- Need ON
+ nr-PositionCalculationAssistance-r16
+ NR-PositionCalculationAssistance-r16
+ OPTIONAL, -- Cond UEB
+ nr-DL-TDOA-Error-r16 NR-DL-TDOA-Error-r16 OPTIONAL, -- Need ON
+ ...,
+ [[
+ nr-On-Demand-DL-PRS-Configurations-r17
+ NR-On-Demand-DL-PRS-Configurations-r17
+ OPTIONAL, -- Need ON
+ nr-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17
+ NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 OPTIONAL, -- Need ON
+ assistanceDataValidityArea-r17 AreaID-CellList-r17 OPTIONAL -- Need ON
+ ]]
+}
+
+
+NR-DL-TDOA-RequestAssistanceData-r16 ::= SEQUENCE {
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL,
+ nr-AdType-r16 BIT STRING { dl-prs (0),
+ posCalc (1) } (SIZE (1..8)),
+ ...,
+ [[
+ nr-PosCalcAssistanceRequest-r17 BIT STRING { trpLoc (0),
+ beamInfo (1),
+ rtdInfo (2),
+ losNlosInfo (3),
+ trpTEG-Info (4)
+ } (SIZE (1..8)) OPTIONAL,
+ nr-on-demand-DL-PRS-Request-r17 NR-On-Demand-DL-PRS-Request-r17 OPTIONAL,
+ nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17
+ ENUMERATED { eAoD, eAoA } OPTIONAL,
+ pre-configured-AssistanceDataRequest-r17
+ ENUMERATED { true } OPTIONAL
+ ]]
+}
+
+
+NR-DL-TDOA-ProvideLocationInformation-r16 ::= SEQUENCE {
+ nr-DL-TDOA-SignalMeasurementInformation-r16
+ NR-DL-TDOA-SignalMeasurementInformation-r16
+ OPTIONAL,
+ nr-dl-tdoa-LocationInformation-r16 NR-DL-TDOA-LocationInformation-r16
+ OPTIONAL,
+ nr-DL-TDOA-Error-r16 NR-DL-TDOA-Error-r16 OPTIONAL,
+ ...,
+ [[
+ nr-DL-TDOA-SignalMeasurementInstances-r17
+ SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF
+ NR-DL-TDOA-SignalMeasurementInformation-r16
+ OPTIONAL, -- Cond batchUEA
+ nr-DL-TDOA-LocationInformationInstances-r17
+ SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF
+ NR-DL-TDOA-LocationInformation-r16
+ OPTIONAL -- Cond batchUEB
+ ]]
+}
+
+
+NR-DL-TDOA-SignalMeasurementInformation-r16 ::= SEQUENCE {
+ dl-PRS-ReferenceInfo-r16 DL-PRS-ID-Info-r16,
+ nr-DL-TDOA-MeasList-r16 NR-DL-TDOA-MeasList-r16,
+ ...,
+ [[
+ nr-UE-RxTEG-TimingErrorMargin-r17 TEG-TimingErrorMargin-r17 OPTIONAL -- Cond UERxTEG
+ ]]
+}
+
+NR-DL-TDOA-MeasList-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF NR-DL-TDOA-MeasElement-r16
+
+NR-DL-TDOA-MeasElement-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL,
+ nr-CellGlobalID-r16 NCGI-r15 OPTIONAL,
+ nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL,
+ nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL,
+ nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL,
+ nr-TimeStamp-r16 NR-TimeStamp-r16,
+ nr-RSTD-r16 CHOICE {
+ k0-r16 INTEGER (0..1970049),
+ k1-r16 INTEGER (0..985025),
+ k2-r16 INTEGER (0..492513),
+ k3-r16 INTEGER (0..246257),
+ k4-r16 INTEGER (0..123129),
+ k5-r16 INTEGER (0..61565),
+ ...
+ },
+ nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL,
+ nr-TimingQuality-r16 NR-TimingQuality-r16,
+ nr-DL-PRS-RSRP-Result-r16 INTEGER (0..126) OPTIONAL,
+ nr-DL-TDOA-AdditionalMeasurements-r16
+ NR-DL-TDOA-AdditionalMeasurements-r16 OPTIONAL,
+ ...,
+ [[
+ nr-UE-Rx-TEG-ID-r17 INTEGER (0..maxNumOfRxTEGs-1-r17) OPTIONAL,
+ nr-DL-PRS-FirstPathRSRP-Result-r17 INTEGER (0..126) OPTIONAL,
+ nr-los-nlos-Indicator-r17 CHOICE {
+ perTRP-r17 LOS-NLOS-Indicator-r17,
+ perResource-r17 LOS-NLOS-Indicator-r17
+ } OPTIONAL,
+ nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL,
+ nr-DL-TDOA-AdditionalMeasurementsExt-r17
+ NR-DL-TDOA-AdditionalMeasurementsExt-r17 OPTIONAL
+ ]]
+}
+
+NR-DL-TDOA-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..3)) OF
+ NR-DL-TDOA-AdditionalMeasurementElement-r16
+
+NR-DL-TDOA-AdditionalMeasurementsExt-r17 ::= SEQUENCE (SIZE (1..maxAddMeasTDOA-r17)) OF
+ NR-DL-TDOA-AdditionalMeasurementElement-r16
+
+NR-DL-TDOA-AdditionalMeasurementElement-r16 ::= SEQUENCE {
+ nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL,
+ nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL,
+ nr-TimeStamp-r16 NR-TimeStamp-r16,
+ nr-RSTD-ResultDiff-r16 CHOICE {
+ k0-r16 INTEGER (0..8191),
+ k1-r16 INTEGER (0..4095),
+ k2-r16 INTEGER (0..2047),
+ k3-r16 INTEGER (0..1023),
+ k4-r16 INTEGER (0..511),
+ k5-r16 INTEGER (0..255),
+ ...
+ },
+ nr-TimingQuality-r16 NR-TimingQuality-r16,
+ nr-DL-PRS-RSRP-ResultDiff-r16 INTEGER (0..61) OPTIONAL,
+ nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL,
+ ...,
+ [[
+ nr-UE-Rx-TEG-ID-r17 INTEGER (0..maxNumOfRxTEGs-1-r17) OPTIONAL,
+ nr-DL-PRS-FirstPathRSRP-ResultDiff-r17
+ INTEGER (0..61) OPTIONAL,
+ nr-los-nlos-IndicatorPerResource-r17
+ LOS-NLOS-Indicator-r17 OPTIONAL,
+ nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL
+ ]]
+}
+
+
+NR-DL-TDOA-LocationInformation-r16 ::= SEQUENCE {
+ measurementReferenceTime-r16 CHOICE {
+ systemFrameNumber-r16 NR-TimeStamp-r16,
+ utc-time-r16 UTCTime,
+ ...
+ } OPTIONAL,
+ ...,
+ [[
+ locationCoordinates-r17 LocationCoordinates OPTIONAL, -- Cond batch1
+ locationSource-r17 LocationSource-r13 OPTIONAL -- Cond batch2
+ ]]
+}
+
+
+NR-DL-TDOA-RequestLocationInformation-r16 ::= SEQUENCE {
+ nr-DL-PRS-RstdMeasurementInfoRequest-r16 ENUMERATED { true } OPTIONAL,-- Need ON
+ nr-RequestedMeasurements-r16 BIT STRING { prsrsrpReq (0),
+ firstPathRsrpReq-r17 (1)
+ } (SIZE(1..8)),
+ nr-AssistanceAvailability-r16 BOOLEAN,
+ nr-DL-TDOA-ReportConfig-r16 NR-DL-TDOA-ReportConfig-r16 OPTIONAL, -- Need ON
+ additionalPaths-r16 ENUMERATED { requested } OPTIONAL, -- Need ON
+ ...,
+ [[
+ nr-UE-RxTEG-Request-r17 ENUMERATED { requested } OPTIONAL, -- Need ON
+ nr-los-nlos-IndicatorRequest-r17 SEQUENCE {
+ type-r17 LOS-NLOS-IndicatorType1-r17,
+ granularity-r17 LOS-NLOS-IndicatorGranularity1-r17,
+ ...
+ } OPTIONAL, -- Need ON
+ additionalPathsExt-r17 ENUMERATED { requested } OPTIONAL, -- Need ON
+ additionalPathsDL-PRS-RSRP-Request-r17 ENUMERATED { requested } OPTIONAL, -- Need ON
+ multiMeasInSameReport-r17 ENUMERATED { requested } OPTIONAL -- Need ON
+
+ ]]
+}
+
+NR-DL-TDOA-ReportConfig-r16 ::= SEQUENCE {
+ maxDL-PRS-RSTD-MeasurementsPerTRP-Pair-r16 INTEGER (1..4) OPTIONAL, -- Need ON
+ timingReportingGranularityFactor-r16 INTEGER (0..5) OPTIONAL, -- Need ON
+ ...,
+ [[
+ measureSameDL-PRS-ResourceWithDifferentRxTEGs-r17
+ ENUMERATED { n0, n2, n3, n4, n6, n8, ... }
+ OPTIONAL, -- Need ON
+ reducedDL-PRS-ProcessingSamples-r17 ENUMERATED { requested, ... } OPTIONAL, -- Need ON
+ lowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { requested } OPTIONAL -- Need ON
+ ]]
+}
+
+
+NR-DL-TDOA-ProvideCapabilities-r16 ::= SEQUENCE {
+ nr-DL-TDOA-Mode-r16 PositioningModes,
+ nr-DL-TDOA-PRS-Capability-r16 NR-DL-PRS-ResourcesCapability-r16,
+ nr-DL-TDOA-MeasurementCapability-r16 NR-DL-TDOA-MeasurementCapability-r16,
+ nr-DL-PRS-QCL-ProcessingCapability-r16 NR-DL-PRS-QCL-ProcessingCapability-r16,
+ nr-DL-PRS-ProcessingCapability-r16 NR-DL-PRS-ProcessingCapability-r16,
+ additionalPathsReport-r16 ENUMERATED { supported } OPTIONAL,
+ periodicalReporting-r16 PositioningModes OPTIONAL,
+ ...,
+ [[
+ ten-ms-unit-ResponseTime-r17 PositioningModes OPTIONAL,
+ nr-PosCalcAssistanceSupport-r17 BIT STRING { trpLocSup (0),
+ beamInfoSup (1),
+ rtdInfoSup (2),
+ trpTEG-InfoSup (3)
+ } (SIZE (1..8)) OPTIONAL,
+ nr-los-nlos-AssistanceDataSupport-r17 SEQUENCE {
+ type-r17 LOS-NLOS-IndicatorType2-r17,
+ granularity-r17 LOS-NLOS-IndicatorGranularity2-r17,
+ ...
+ } OPTIONAL,
+ nr-DL-PRS-ExpectedAoD-or-AoA-Sup-r17 BIT STRING { eAoD (0),
+ eAoA (1)
+ } (SIZE (1..8)) OPTIONAL,
+ nr-DL-TDOA-On-Demand-DL-PRS-Support-r17 NR-On-Demand-DL-PRS-Support-r17 OPTIONAL,
+ nr-los-nlos-IndicatorSupport-r17 SEQUENCE {
+ type-r17 LOS-NLOS-IndicatorType2-r17,
+ granularity-r17 LOS-NLOS-IndicatorGranularity2-r17,
+ ...
+ } OPTIONAL,
+ additionalPathsExtSupport-r17 ENUMERATED { n4, n6, n8 } OPTIONAL,
+ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL,
+ nr-dl-prs-AssistanceDataValidity-r17 SEQUENCE {
+ area-validity-r17 INTEGER (1..maxNrOfAreas-r17) OPTIONAL, ...
+ } OPTIONAL,
+ multiMeasInSameMeasReport-r17 ENUMERATED { supported } OPTIONAL,
+ mg-ActivationRequest-r17 ENUMERATED { supported } OPTIONAL
+ ]],
+ [[
+ posMeasGapSupport-r17 ENUMERATED { supported } OPTIONAL
+ ]]
+}
+
+
+NR-DL-TDOA-MeasurementCapability-r16 ::= SEQUENCE {
+ dl-RSTD-MeasurementPerPairOfTRP-FR1-r16 INTEGER (1..4),
+ dl-RSTD-MeasurementPerPairOfTRP-FR2-r16 INTEGER (1..4),
+ supportOfDL-PRS-RSRP-MeasFR1-r16 ENUMERATED { supported} OPTIONAL,
+ supportOfDL-PRS-RSRP-MeasFR2-r16 ENUMERATED { supported} OPTIONAL,
+ ...,
+ [[
+ nr-UE-TEG-Capability-r17 NR-UE-TEG-Capability-r17 OPTIONAL,
+ dl-tdoa-MeasCapabilityBandList-r17 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
+ DL-TDOA-MeasCapabilityPerBand-r17 OPTIONAL
+ ]]
+}
+
+DL-TDOA-MeasCapabilityPerBand-r17 ::= SEQUENCE {
+ freqBandIndicatorNR-r17 FreqBandIndicatorNR-r16,
+ supportOfDL-PRS-FirstPathRSRP-r17 ENUMERATED { supported } OPTIONAL,
+ dl-PRS-MeasRRC-Inactive-r17 ENUMERATED { supported } OPTIONAL,
+ ...
+}
+
+
+NR-DL-TDOA-RequestCapabilities-r16 ::= SEQUENCE {
+ ...
+}
+
+
+NR-DL-TDOA-Error-r16 ::= CHOICE {
+ locationServerErrorCauses-r16 NR-DL-TDOA-LocationServerErrorCauses-r16,
+ targetDeviceErrorCauses-r16 NR-DL-TDOA-TargetDeviceErrorCauses-r16,
+ ...
+}
+
+
+NR-DL-TDOA-LocationServerErrorCauses-r16 ::= SEQUENCE {
+ cause-r16 ENUMERATED { undefined,
+ assistanceDataNotSupportedByServer,
+ assistanceDataSupportedButCurrentlyNotAvailableByServer,
+ notProvidedAssistanceDataNotSupportedByServer,
+ ...,
+ on-demand-dl-prs-NotSupportedByServer-v1700,
+ on-demand-dl-prs-SupportedButCurrentlyNotAvailableByServer-v1700
+ },
+ ...
+}
+
+
+NR-DL-TDOA-TargetDeviceErrorCauses-r16 ::= SEQUENCE {
+ cause-r16 ENUMERATED { undefined,
+ assistance-data-missing,
+ unableToMeasureAnyTRP,
+ attemptedButUnableToMeasureSomeNeighbourTRPs,
+ thereWereNotEnoughSignalsReceivedForUeBasedDL-TDOA,
+ locationCalculationAssistanceDataMissing,
+ ...
+ },
+ ...
+}
+
+
+NR-DL-AoD-ProvideAssistanceData-r16 ::= SEQUENCE {
+ nr-DL-PRS-AssistanceData-r16 NR-DL-PRS-AssistanceData-r16 OPTIONAL, -- Need ON
+ nr-SelectedDL-PRS-IndexList-r16 NR-SelectedDL-PRS-IndexList-r16 OPTIONAL, -- Need ON
+ nr-PositionCalculationAssistance-r16
+ NR-PositionCalculationAssistance-r16
+ OPTIONAL, -- Cond UEB
+ nr-DL-AoD-Error-r16 NR-DL-AoD-Error-r16 OPTIONAL, -- Need ON
+ ...,
+ [[
+ nr-DL-PRS-BeamInfo-r17 NR-DL-PRS-BeamInfo-r16 OPTIONAL, -- Cond UEA
+ nr-On-Demand-DL-PRS-Configurations-r17
+ NR-On-Demand-DL-PRS-Configurations-r17
+ OPTIONAL, -- Need ON
+ nr-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17
+ NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17
+ OPTIONAL, -- Need ON
+ assistanceDataValidityArea-r17 AreaID-CellList-r17 OPTIONAL -- Need ON
+ ]]
+}
+
+
+NR-DL-AoD-RequestAssistanceData-r16 ::= SEQUENCE {
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL,
+ nr-AdType-r16 BIT STRING { dl-prs (0),
+ posCalc (1) } (SIZE (1..8)),
+ ...,
+ [[
+ nr-PosCalcAssistanceRequest-r17 BIT STRING { trpLoc (0),
+ beamInfo (1),
+ rtdInfo (2),
+ beamAntInfo (3),
+ losNlosInfo (4)
+ } (SIZE (1..8)) OPTIONAL,
+ nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17 ENUMERATED { eAoD, eAoA } OPTIONAL,
+ nr-DL-PRS-BeamInfoRequest-r17 ENUMERATED { requested } OPTIONAL,
+ nr-on-demand-DL-PRS-Request-r17 NR-On-Demand-DL-PRS-Request-r17 OPTIONAL,
+ pre-configured-AssistanceDataRequest-r17 ENUMERATED { true } OPTIONAL
+ ]]
+}
+
+
+NR-DL-AoD-ProvideLocationInformation-r16 ::= SEQUENCE {
+ nr-DL-AoD-SignalMeasurementInformation-r16
+ NR-DL-AoD-SignalMeasurementInformation-r16
+ OPTIONAL,
+ nr-dl-AoD-LocationInformation-r16 NR-DL-AoD-LocationInformation-r16
+ OPTIONAL,
+ nr-DL-AoD-Error-r16 NR-DL-AoD-Error-r16 OPTIONAL,
+ ...,
+ [[
+ nr-DL-AoD-SignalMeasurementInstances-r17 SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF
+ NR-DL-AoD-SignalMeasurementInformation-r16 OPTIONAL, -- Cond batchUEA
+ nr-DL-AoD-LocationInformationInstances-r17 SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF
+ NR-DL-AoD-LocationInformation-r16 OPTIONAL -- Cond batchUEB
+ ]]
+}
+
+
+NR-DL-AoD-SignalMeasurementInformation-r16 ::= SEQUENCE {
+ nr-DL-AoD-MeasList-r16 NR-DL-AoD-MeasList-r16,
+ ...
+}
+
+NR-DL-AoD-MeasList-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF NR-DL-AoD-MeasElement-r16
+
+NR-DL-AoD-MeasElement-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL,
+ nr-CellGlobalID-r16 NCGI-r15 OPTIONAL,
+ nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL,
+ nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL,
+ nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL,
+ nr-TimeStamp-r16 NR-TimeStamp-r16,
+ nr-DL-PRS-RSRP-Result-r16 INTEGER (0..126),
+ nr-DL-PRS-RxBeamIndex-r16 INTEGER (1..8) OPTIONAL,
+ nr-DL-AoD-AdditionalMeasurements-r16
+ NR-DL-AoD-AdditionalMeasurements-r16 OPTIONAL,
+ ...,
+ [[
+ nr-DL-PRS-FirstPathRSRP-Result-r17
+ INTEGER (0..126) OPTIONAL,
+ nr-los-nlos-Indicator-r17 CHOICE {
+ perTRP-r17 LOS-NLOS-Indicator-r17,
+ perResource-r17 LOS-NLOS-Indicator-r17
+ } OPTIONAL,
+ nr-DL-AoD-AdditionalMeasurementsExt-r17
+ NR-DL-AoD-AdditionalMeasurementsExt-r17 OPTIONAL
+ ]]
+}
+
+NR-DL-AoD-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..7)) OF
+ NR-DL-AoD-AdditionalMeasurementElement-r16
+
+NR-DL-AoD-AdditionalMeasurementsExt-r17 ::= SEQUENCE (SIZE (1..maxAddMeasAoD-r17)) OF
+ NR-DL-AoD-AdditionalMeasurementElement-r17
+
+NR-DL-AoD-AdditionalMeasurementElement-r16 ::= SEQUENCE {
+ nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL,
+ nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL,
+ nr-TimeStamp-r16 NR-TimeStamp-r16,
+ nr-DL-PRS-RSRP-ResultDiff-r16 INTEGER (0..30),
+ nr-DL-PRS-RxBeamIndex-r16 INTEGER (1..8) OPTIONAL,
+ ...
+}
+
+NR-DL-AoD-AdditionalMeasurementElement-r17 ::= SEQUENCE {
+ nr-DL-PRS-ResourceID-r17 NR-DL-PRS-ResourceID-r16 OPTIONAL,
+ nr-DL-PRS-ResourceSetID-r17 NR-DL-PRS-ResourceSetID-r16 OPTIONAL,
+ nr-TimeStamp-r17 NR-TimeStamp-r16,
+ nr-DL-PRS-RSRP-ResultDiff-r17 INTEGER (0..30) OPTIONAL, -- Cond rsrp
+ nr-DL-PRS-RxBeamIndex-r17 INTEGER (1..8) OPTIONAL,
+ nr-DL-PRS-FirstPathRSRP-ResultDiff-r17 INTEGER (0..61) OPTIONAL, -- Cond rsrpp
+ nr-los-nlos-IndicatorPerResource-r17 LOS-NLOS-Indicator-r17 OPTIONAL,
+ ...
+}
+
+
+NR-DL-AoD-LocationInformation-r16 ::= SEQUENCE {
+ measurementReferenceTime-r16 CHOICE {
+ sfn-time-r16 NR-TimeStamp-r16,
+ utc-time-r16 UTCTime,
+ ...
+ } OPTIONAL,
+ ...,
+ [[
+ locationCoordinates-r17 LocationCoordinates OPTIONAL, -- Cond batch1
+ locationSource-r17 LocationSource-r13 OPTIONAL -- Cond batch2
+ ]]
+}
+
+
+NR-DL-AoD-RequestLocationInformation-r16 ::= SEQUENCE {
+ nr-AssistanceAvailability-r16 BOOLEAN,
+ nr-DL-AoD-ReportConfig-r16 NR-DL-AoD-ReportConfig-r16,
+ ...,
+ [[
+ multiMeasInSameReport-r17 ENUMERATED { requested } OPTIONAL -- Need ON
+ ]]
+}
+
+NR-DL-AoD-ReportConfig-r16 ::= SEQUENCE {
+ maxDL-PRS-RSRP-MeasurementsPerTRP-r16 INTEGER (1..8) OPTIONAL, -- Need ON
+ ...,
+ [[
+ maxDL-PRS-RSRP-MeasurementsPerTRP-r17 INTEGER (9..24) OPTIONAL, -- Need ON
+ maxDL-PRS-RSRPP-MeasurementsPerTRP-r17 INTEGER (1..24) OPTIONAL, -- Need ON
+ nr-los-nlos-IndicatorRequest-r17 SEQUENCE {
+ type-r17 LOS-NLOS-IndicatorType1-r17,
+ granularity-r17
+ LOS-NLOS-IndicatorGranularity1-r17,
+ ...
+ } OPTIONAL, -- Need ON
+ reducedDL-PRS-ProcessingSamples-r17 ENUMERATED { requested, ... }
+ OPTIONAL, -- Need ON
+ lowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { requested } OPTIONAL -- Need ON
+ ]]
+}
+
+
+NR-DL-AoD-ProvideCapabilities-r16 ::= SEQUENCE {
+ nr-DL-AoD-Mode-r16 PositioningModes,
+ nr-DL-AoD-PRS-Capability-r16 NR-DL-PRS-ResourcesCapability-r16,
+ nr-DL-AoD-MeasurementCapability-r16 NR-DL-AoD-MeasurementCapability-r16,
+ nr-DL-PRS-QCL-ProcessingCapability-r16 NR-DL-PRS-QCL-ProcessingCapability-r16,
+ nr-DL-PRS-ProcessingCapability-r16 NR-DL-PRS-ProcessingCapability-r16,
+ periodicalReporting-r16 PositioningModes OPTIONAL,
+ ...,
+ [[
+ ten-ms-unit-ResponseTime-r17 PositioningModes OPTIONAL,
+ nr-PosCalcAssistanceSupport-r17 BIT STRING { trpLocSup (0),
+ beamInfoSup (1),
+ rtdInfoSup (2),
+ beamAntInfoSup (3)
+ } (SIZE (1..8)) OPTIONAL,
+ nr-los-nlos-AssistanceDataSupport-r17 SEQUENCE {
+ type-r17 LOS-NLOS-IndicatorType2-r17,
+ granularity-r17 LOS-NLOS-IndicatorGranularity2-r17,
+ ...
+ } OPTIONAL,
+ nr-DL-PRS-ExpectedAoD-or-AoA-Sup-r17 BIT STRING { eAoD (0),
+ eAoA (1)
+ } (SIZE (1..8)) OPTIONAL,
+ dl-PRS-ResourcePrioritySubset-Sup-r17 ENUMERATED { sameSet, differentSet, sameOrDifferentSet }
+ OPTIONAL,
+ nr-DL-PRS-BeamInfoSup-r17 ENUMERATED { supported } OPTIONAL,
+ nr-DL-AoD-On-Demand-DL-PRS-Support-r17 NR-On-Demand-DL-PRS-Support-r17 OPTIONAL,
+ nr-los-nlos-IndicatorSupport-r17 SEQUENCE {
+ type-r17 LOS-NLOS-IndicatorType2-r17,
+ granularity-r17 LOS-NLOS-IndicatorGranularity2-r17,
+ ...
+ } OPTIONAL,
+ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17
+ OPTIONAL,
+ nr-dl-prs-AssistanceDataValidity-r17 SEQUENCE {
+ area-validity-r17 INTEGER (1..maxNrOfAreas-r17) OPTIONAL,
+ ...
+ } OPTIONAL,
+ multiMeasInSameMeasReport-r17 ENUMERATED { supported } OPTIONAL,
+ mg-ActivationRequest-r17 ENUMERATED { supported } OPTIONAL
+ ]],
+ [[
+ posMeasGapSupport-r17 ENUMERATED { supported } OPTIONAL
+ ]]
+}
+
+
+NR-DL-AoD-MeasurementCapability-r16 ::= SEQUENCE {
+ maxDL-PRS-RSRP-MeasurementFR1-r16 INTEGER (1..8),
+ maxDL-PRS-RSRP-MeasurementFR2-r16 INTEGER (1..8),
+ dl-AoD-MeasCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
+ DL-AoD-MeasCapabilityPerBand-r16,
+ ...,
+ [[
+ maxDL-PRS-RSRP-MeasurementFR1-v1730 ENUMERATED { n16, n24 } OPTIONAL,
+ maxDL-PRS-RSRP-MeasurementFR2-v1730 ENUMERATED { n16, n24 } OPTIONAL
+ ]]
+}
+
+DL-AoD-MeasCapabilityPerBand-r16 ::= SEQUENCE {
+ freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16,
+ simul-NR-DL-AoD-DL-TDOA-r16 ENUMERATED { supported} OPTIONAL,
+ simul-NR-DL-AoD-Multi-RTT-r16 ENUMERATED { supported} OPTIONAL,
+ ...,
+ [[
+ maxDL-PRS-FirstPathRSRP-MeasPerTRP-r17 ENUMERATED { n1, n2, n4, n8, n16, n24 } OPTIONAL,
+ dl-PRS-MeasRRC-Inactive-r17 ENUMERATED { supported } OPTIONAL
+ ]]
+}
+
+
+NR-DL-AoD-RequestCapabilities-r16 ::= SEQUENCE {
+ ...
+}
+
+
+NR-DL-AoD-Error-r16 ::= CHOICE {
+ locationServerErrorCauses-r16 NR-DL-AoD-LocationServerErrorCauses-r16,
+ targetDeviceErrorCauses-r16 NR-DL-AoD-TargetDeviceErrorCauses-r16,
+ ...
+}
+
+
+NR-DL-AoD-LocationServerErrorCauses-r16 ::= SEQUENCE {
+ cause-r16 ENUMERATED { undefined,
+ assistanceDataNotSupportedByServer,
+ assistanceDataSupportedButCurrentlyNotAvailableByServer,
+ notProvidedAssistanceDataNotSupportedByServer,
+ ...,
+ on-demand-dl-prs-NotSupportedByServer-v1700,
+ on-demand-dl-prs-SupportedButCurrentlyNotAvailableByServer-v1700
+ },
+ ...
+}
+
+
+NR-DL-AoD-TargetDeviceErrorCauses-r16 ::= SEQUENCE {
+ cause-r16 ENUMERATED { undefined,
+ assistance-data-missing,
+ unableToMeasureAnyTRP,
+ attemptedButUnableToMeasureSomeNeighbourTRPs,
+ thereWereNotEnoughSignalsReceivedForUeBasedDL-AoD,
+ locationCalculationAssistanceDataMissing,
+ ...
+ },
+ ...
+}
+
+
+NR-Multi-RTT-ProvideAssistanceData-r16 ::= SEQUENCE {
+ nr-DL-PRS-AssistanceData-r16 NR-DL-PRS-AssistanceData-r16 OPTIONAL, -- Need ON
+ nr-SelectedDL-PRS-IndexList-r16 NR-SelectedDL-PRS-IndexList-r16 OPTIONAL, -- Need ON
+ nr-Multi-RTT-Error-r16 NR-Multi-RTT-Error-r16 OPTIONAL, -- Need ON
+ ...,
+ [[
+ nr-On-Demand-DL-PRS-Configurations-r17 NR-On-Demand-DL-PRS-Configurations-r17
+ OPTIONAL, -- Need ON
+ nr-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17
+ NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17
+ OPTIONAL, -- Need ON
+ assistanceDataValidityArea-r17 AreaID-CellList-r17 OPTIONAL -- Need ON
+ ]]
+}
+
+
+NR-Multi-RTT-RequestAssistanceData-r16 ::= SEQUENCE {
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL,
+ nr-AdType-r16 BIT STRING { dl-prs (0),
+ ul-srs (1) } (SIZE (1..8)),
+ ...,
+ [[
+ nr-on-demand-DL-PRS-Request-r17 NR-On-Demand-DL-PRS-Request-r17 OPTIONAL,
+ nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17 ENUMERATED { eAoD, eAoA } OPTIONAL,
+ pre-configured-AssistanceDataRequest-r17 ENUMERATED { true } OPTIONAL
+ ]]
+}
+
+
+NR-Multi-RTT-ProvideLocationInformation-r16 ::= SEQUENCE {
+ nr-Multi-RTT-SignalMeasurementInformation-r16
+ NR-Multi-RTT-SignalMeasurementInformation-r16
+ OPTIONAL,
+ nr-Multi-RTT-Error-r16 NR-Multi-RTT-Error-r16 OPTIONAL,
+ ...,
+ [[
+ nr-Multi-RTT-SignalMeasurementInstances-r17
+ SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF
+ NR-Multi-RTT-SignalMeasurementInformation-r16
+ OPTIONAL
+ ]]
+}
+
+
+NR-Multi-RTT-SignalMeasurementInformation-r16 ::= SEQUENCE {
+ nr-Multi-RTT-MeasList-r16 NR-Multi-RTT-MeasList-r16,
+ nr-NTA-Offset-r16 ENUMERATED { nTA1, nTA2, nTA3, nTA4, ... } OPTIONAL,
+ ...,
+ [[
+ nr-SRS-TxTEG-Set-r17 SEQUENCE (SIZE(1..maxTxTEG-Sets-r17)) OF
+ NR-SRS-TxTEG-Element-r17 OPTIONAL
+ -- Cond Case2-3
+ ]],
+ [[
+ nr-UE-RxTEG-TimingErrorMargin-r17 TEG-TimingErrorMargin-r17 OPTIONAL,-- Cond TEGCase3
+ nr-UE-TxTEG-TimingErrorMargin-r17 TEG-TimingErrorMargin-r17 OPTIONAL,-- Cond TEGCase2-3
+ nr-UE-RxTxTEG-TimingErrorMargin-r17 RxTxTEG-TimingErrorMargin-r17 OPTIONAL -- Cond TEGCase1-2
+ ]]
+}
+
+NR-Multi-RTT-MeasList-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF NR-Multi-RTT-MeasElement-r16
+
+NR-Multi-RTT-MeasElement-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL,
+ nr-CellGlobalID-r16 NCGI-r15 OPTIONAL,
+ nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL,
+ nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL,
+ nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL,
+ nr-UE-RxTxTimeDiff-r16 CHOICE {
+ k0-r16 INTEGER (0..1970049),
+ k1-r16 INTEGER (0..985025),
+ k2-r16 INTEGER (0..492513),
+ k3-r16 INTEGER (0..246257),
+ k4-r16 INTEGER (0..123129),
+ k5-r16 INTEGER (0..61565),
+ ...
+ },
+ nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL,
+ nr-TimeStamp-r16 NR-TimeStamp-r16,
+ nr-TimingQuality-r16 NR-TimingQuality-r16,
+ nr-DL-PRS-RSRP-Result-r16 INTEGER (0..126) OPTIONAL,
+ nr-Multi-RTT-AdditionalMeasurements-r16
+ NR-Multi-RTT-AdditionalMeasurements-r16 OPTIONAL,
+ ...,
+ [[
+ nr-UE-RxTx-TEG-Info-r17 NR-UE-RxTx-TEG-Info-r17 OPTIONAL,
+ nr-DL-PRS-FirstPathRSRP-Result-r17 INTEGER (0..126) OPTIONAL,
+ nr-los-nlos-Indicator-r17 CHOICE {
+ perTRP-r17 LOS-NLOS-Indicator-r17,
+ perResource-r17 LOS-NLOS-Indicator-r17
+ } OPTIONAL,
+ nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL,
+ nr-Multi-RTT-AdditionalMeasurementsExt-r17
+ NR-Multi-RTT-AdditionalMeasurementsExt-r17 OPTIONAL
+ ]]
+}
+
+NR-Multi-RTT-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..3)) OF
+ NR-Multi-RTT-AdditionalMeasurementElement-r16
+
+NR-Multi-RTT-AdditionalMeasurementsExt-r17 ::= SEQUENCE (SIZE (1..maxAddMeasRTT-r17)) OF
+ NR-Multi-RTT-AdditionalMeasurementElement-r16
+
+NR-Multi-RTT-AdditionalMeasurementElement-r16 ::= SEQUENCE {
+ nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL,
+ nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL,
+ nr-DL-PRS-RSRP-ResultDiff-r16 INTEGER (0..61) OPTIONAL,
+ nr-UE-RxTxTimeDiffAdditional-r16 CHOICE {
+ k0-r16 INTEGER (0..8191),
+ k1-r16 INTEGER (0..4095),
+ k2-r16 INTEGER (0..2047),
+ k3-r16 INTEGER (0..1023),
+ k4-r16 INTEGER (0..511),
+ k5-r16 INTEGER (0..255),
+ ...
+ },
+ nr-TimingQuality-r16 NR-TimingQuality-r16,
+ nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL,
+ nr-TimeStamp-r16 NR-TimeStamp-r16,
+ ...,
+ [[
+ nr-UE-RxTx-TEG-Info-r17 NR-UE-RxTx-TEG-Info-r17 OPTIONAL,
+ nr-DL-PRS-FirstPathRSRP-ResultDiff-r17 INTEGER (0..61) OPTIONAL,
+ nr-los-nlos-IndicatorPerResource-r17 LOS-NLOS-Indicator-r17 OPTIONAL,
+ nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL
+ ]]
+}
+
+NR-SRS-TxTEG-Element-r17 ::= SEQUENCE {
+ nr-TimeStamp-r17 NR-TimeStamp-r16 OPTIONAL, -- Need OP
+ nr-UE-Tx-TEG-ID-r17 INTEGER (0..maxNumOfTxTEGs-1-r17),
+ carrierFreq-r17 SEQUENCE {
+ absoluteFrequencyPointA-r17 ARFCN-ValueNR-r15,
+ offsetToPointA-r17 INTEGER (0..2199)
+ } OPTIONAL,
+ srs-PosResourceList-r17 SEQUENCE (SIZE (1..maxNumOfSRS-PosResources-r17)) OF
+ INTEGER (0..maxNumOfSRS-PosResources-1-r17),
+ ...
+}
+
+NR-UE-RxTx-TEG-Info-r17 ::= CHOICE {
+ case1-r17 SEQUENCE {
+ nr-UE-RxTx-TEG-ID-r17 INTEGER (0..maxNumOfRxTxTEGs-1-r17)
+ },
+ case2-r17 SEQUENCE {
+ nr-UE-RxTx-TEG-ID-r17 INTEGER (0..maxNumOfRxTxTEGs-1-r17),
+ nr-UE-Tx-TEG-Index-r17 INTEGER (1..maxTxTEG-Sets-r17)
+ },
+ case3-r17 SEQUENCE {
+ nr-UE-Rx-TEG-ID-r17 INTEGER (0..maxNumOfRxTEGs-1-r17),
+ nr-UE-Tx-TEG-Index-r17 INTEGER (1..maxTxTEG-Sets-r17)
+ },
+ ...
+}
+
+
+NR-Multi-RTT-RequestLocationInformation-r16 ::= SEQUENCE {
+ nr-UE-RxTxTimeDiffMeasurementInfoRequest-r16
+ ENUMERATED { true } OPTIONAL, -- Need ON
+ nr-RequestedMeasurements-r16 BIT STRING { prsrsrpReq (0),
+ firstPathRsrpReq-r17 (1) } (SIZE(1..8)),
+ nr-AssistanceAvailability-r16 BOOLEAN,
+ nr-Multi-RTT-ReportConfig-r16 NR-Multi-RTT-ReportConfig-r16,
+ additionalPaths-r16 ENUMERATED { requested } OPTIONAL, -- Need ON
+ ...,
+ [[
+ nr-UE-RxTxTEG-Request-r17 ENUMERATED { case1, case2, case3, ... }
+ OPTIONAL, -- Need ON
+ measureSameDL-PRS-ResourceWithDifferentRxTxTEGs-r17
+ ENUMERATED { n0, n2, n3, n4, n6, n8, ... }
+ OPTIONAL, -- Need ON
+ measureSameDL-PRS-ResourceWithDifferentRxTEGs-r17
+ ENUMERATED { n0, n2, n3, n4, n6, n8, ... }
+ OPTIONAL, -- Need ON
+ reducedDL-PRS-ProcessingSamples-r17
+ ENUMERATED { requested, ... } OPTIONAL, -- Need ON
+ nr-los-nlos-IndicatorRequest-r17 SEQUENCE {
+ type-r17 LOS-NLOS-IndicatorType1-r17,
+ granularity-r17 LOS-NLOS-IndicatorGranularity1-r17,
+ ...
+ } OPTIONAL, -- Need ON
+ additionalPathsExt-r17 ENUMERATED { requested } OPTIONAL, -- Need ON
+ additionalPathsDL-PRS-RSRP-Request-r17
+ ENUMERATED { requested } OPTIONAL, -- Need ON
+ multiMeasInSameReport-r17 ENUMERATED { requested } OPTIONAL, -- Need ON
+ lowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { requested } OPTIONAL -- Need ON
+ ]]
+}
+
+NR-Multi-RTT-ReportConfig-r16 ::= SEQUENCE {
+ maxDL-PRS-RxTxTimeDiffMeasPerTRP-r16 INTEGER (1..4) OPTIONAL, -- Need ON
+ timingReportingGranularityFactor-r16 INTEGER (0..5) OPTIONAL -- Need ON
+}
+
+
+NR-Multi-RTT-ProvideCapabilities-r16 ::= SEQUENCE {
+ nr-Multi-RTT-PRS-Capability-r16 NR-DL-PRS-ResourcesCapability-r16,
+ nr-Multi-RTT-MeasurementCapability-r16 NR-Multi-RTT-MeasurementCapability-r16,
+ nr-DL-PRS-QCL-ProcessingCapability-r16 NR-DL-PRS-QCL-ProcessingCapability-r16,
+ nr-DL-PRS-ProcessingCapability-r16 NR-DL-PRS-ProcessingCapability-r16,
+ nr-UL-SRS-Capability-r16 NR-UL-SRS-Capability-r16,
+ additionalPathsReport-r16 ENUMERATED { supported } OPTIONAL,
+ periodicalReporting-r16 ENUMERATED { supported } OPTIONAL,
+ ...,
+ [[
+ ten-ms-unit-ResponseTime-r17 ENUMERATED { supported } OPTIONAL,
+ nr-DL-PRS-ExpectedAoD-or-AoA-Sup-r17 BIT STRING { eAoD (0),
+ eAoA (1)
+ } (SIZE (1..8)) OPTIONAL, nr-Multi-RTT-On-Demand-DL-PRS-Support-r17
+ NR-On-Demand-DL-PRS-Support-r17 OPTIONAL,
+ nr-UE-RxTx-TEG-ID-ReportingSupport-r17 BIT STRING { case1 (0),
+ case2 (1),
+ case3 (2)
+ } (SIZE (1..8)) OPTIONAL,
+ nr-los-nlos-IndicatorSupport-r17 SEQUENCE {
+ type-r17 LOS-NLOS-IndicatorType2-r17,
+ granularity-r17 LOS-NLOS-IndicatorGranularity2-r17,
+ ...
+ } OPTIONAL,
+ additionalPathsExtSupport-r17 ENUMERATED { n4, n6, n8 } OPTIONAL,
+ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL,
+ nr-dl-prs-AssistanceDataValidity-r17 SEQUENCE {
+ area-validity-r17 INTEGER (1..maxNrOfAreas-r17) OPTIONAL,
+ ...
+ } OPTIONAL,
+ multiMeasInSameMeasReport-r17 ENUMERATED { supported } OPTIONAL,
+ mg-ActivationRequest-r17 ENUMERATED { supported } OPTIONAL
+ ]],
+ [[
+ posMeasGapSupport-r17 ENUMERATED { supported } OPTIONAL
+ ]]
+}
+
+
+NR-Multi-RTT-MeasurementCapability-r16 ::= SEQUENCE {
+ maxNrOfRx-TX-MeasFR1-r16 INTEGER (1..4) OPTIONAL,
+ maxNrOfRx-TX-MeasFR2-r16 INTEGER (1..4) OPTIONAL,
+ supportOfRSRP-MeasFR1-r16 ENUMERATED { supported } OPTIONAL,
+ supportOfRSRP-MeasFR2-r16 ENUMERATED { supported } OPTIONAL,
+ srs-AssocPRS-MultiLayersFR1-r16 ENUMERATED { supported } OPTIONAL,
+ srs-AssocPRS-MultiLayersFR2-r16 ENUMERATED { supported } OPTIONAL,
+ ...,
+ [[
+ nr-UE-TEG-Capability-r17 NR-UE-TEG-Capability-r17 OPTIONAL,
+ multi-RTT-MeasCapabilityBandList-r17 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
+ Multi-RTT-MeasCapabilityPerBand-r17
+ OPTIONAL
+ ]]
+}
+
+Multi-RTT-MeasCapabilityPerBand-r17 ::= SEQUENCE {
+ freqBandIndicatorNR-r17 FreqBandIndicatorNR-r16,
+ supportOfDL-PRS-FirstPathRSRP-r17 ENUMERATED { supported } OPTIONAL,
+ dl-PRS-MeasRRC-Inactive-r17 ENUMERATED { supported } OPTIONAL,
+ ...
+}
+
+
+NR-Multi-RTT-RequestCapabilities-r16 ::= SEQUENCE {
+ ...
+}
+
+
+NR-Multi-RTT-Error-r16 ::= CHOICE {
+ locationServerErrorCauses-r16 NR-Multi-RTT-LocationServerErrorCauses-r16,
+ targetDeviceErrorCauses-r16 NR-Multi-RTT-TargetDeviceErrorCauses-r16,
+ ...
+}
+
+
+NR-Multi-RTT-LocationServerErrorCauses-r16 ::= SEQUENCE {
+ cause-r16 ENUMERATED { undefined,
+ assistanceDataNotSupportedByServer,
+ assistanceDataSupportedButCurrentlyNotAvailableByServer,
+ ...,
+ on-demand-dl-prs-NotSupportedByServer-v1700,
+ on-demand-dl-prs-SupportedButCurrentlyNotAvailableByServer-v1700
+ },
+ ...
+}
+
+
+NR-Multi-RTT-TargetDeviceErrorCauses-r16 ::= SEQUENCE {
+ cause-r16 ENUMERATED { undefined,
+ dl-assistance-data-missing,
+ unableToMeasureAnyTRP,
+ attemptedButUnableToMeasureSomeNeighbourTRPs,
+ ul-srs-configuration-missing,
+ unableToTransmit-ul-srs,
+ ...
+ },
+ ...
+}
+
+
+maxEARFCN INTEGER ::= 65535 -- Maximum value of EUTRA carrier frequency
+maxEARFCN-Plus1 INTEGER ::= 65536 -- Lowest value extended EARFCN range
+maxEARFCN2 INTEGER ::= 262143 -- Highest value extended EARFCN range
+
+maxMBS-r14 INTEGER ::= 64
+maxWLAN-AP-r13 INTEGER ::= 64
+maxKnownAPs-r14 INTEGER ::= 2048
+maxVisibleAPs-r14 INTEGER ::= 32
+maxWLAN-AP-r14 INTEGER ::= 128
+maxWLAN-DataSets-r14 INTEGER ::= 8
+
+maxBT-Beacon-r13 INTEGER ::= 32
+
+nrMaxBands-r16 INTEGER ::= 1024 -- Maximum number of supported bands in
+ -- UE capability.
+nrMaxFreqLayers-r16 INTEGER ::= 4 -- Max freq layers
+nrMaxFreqLayers-1-r16 INTEGER ::= 3
+nrMaxNumDL-PRS-ResourcesPerSet-1-r16 INTEGER ::= 63
+nrMaxNumDL-PRS-ResourceSetsPerTRP-1-r16 INTEGER ::= 7
+nrMaxResourceIDs-r16 INTEGER ::= 64 -- Max Resource IDs
+nrMaxResourceOffsetValue-1-r16 INTEGER ::= 511
+nrMaxResourcesPerSet-r16 INTEGER ::= 64 -- Maximum resources for one set
+nrMaxSetsPerTrpPerFreqLayer-r16 INTEGER ::= 2 -- Maximum resource sets for one TRP
+nrMaxSetsPerTrpPerFreqLayer-1-r16 INTEGER ::= 1
+nrMaxTRPs-r16 INTEGER ::= 256 -- Max TRPs per UE
+nrMaxTRPsPerFreq-r16 INTEGER ::= 64 -- Max TRPs per freq layers
+nrMaxTRPsPerFreq-1-r16 INTEGER ::= 63
+maxSimultaneousBands-r16 INTEGER ::= 4 -- Maximum number of simultaneously
+ -- measured bands
+maxBandComb-r16 INTEGER ::= 1024
+nrMaxConfiguredBands-r16 INTEGER ::= 16
+
+maxNumOfRxTEGs-r17 INTEGER ::= 32
+maxNumOfRxTEGs-1-r17 INTEGER ::= 31
+maxNumOfTxTEGs-1-r17 INTEGER ::= 7
+maxTxTEG-Sets-r17 INTEGER ::= 256 -- Maximum applicable number is 64
+maxNumOfRxTxTEGs-1-r17 INTEGER ::= 255
+maxNumOfTRP-TxTEGs-1-r17 INTEGER ::= 7
+maxNumOfSRS-PosResources-r17 INTEGER ::= 64
+maxNumOfSRS-PosResources-1-r17 INTEGER ::= 63
+
+maxNumResourcesPerAngle-r17 INTEGER ::= 24
+maxNumPrioResources-r17 INTEGER ::= 24
+
+maxAddMeasTDOA-r17 INTEGER ::= 31
+maxAddMeasAoD-r17 INTEGER ::= 23
+maxAddMeasRTT-r17 INTEGER ::= 31
+
+maxOD-DL-PRS-Configs-r17 INTEGER ::= 8
+
+maxCellIDsPerArea-r17 INTEGER ::= 256
+maxNrOfAreas-r17 INTEGER ::= 16
+maxMeasInstances-r17 INTEGER ::= 32
+
+
+END
diff --git a/epan/dissectors/asn1/lpp/lpp.cnf b/epan/dissectors/asn1/lpp/lpp.cnf
new file mode 100644
index 00000000..d3ccd23a
--- /dev/null
+++ b/epan/dissectors/asn1/lpp/lpp.cnf
@@ -0,0 +1,1952 @@
+# lpp.cnf
+# lpp conformation file
+# Copyright 2011-2023 Pascal Quantin
+
+#.OPT
+PER
+UNALIGNED
+#.END
+
+#.USE_VALS_EXT
+CarrierFreqOffsetNB-r14
+
+#.EXPORTS
+ARFCN-ValueEUTRA
+ARFCN-ValueEUTRA-v9a0
+ARFCN-ValueUTRA
+CellGlobalIdEUTRA-AndUTRA
+CellGlobalIdGERAN
+DisplacementTimeStamp-r15_PDU
+ECID-SignalMeasurementInformation
+Ellipsoid-Point
+Ellipsoid-Point_PDU
+Ellipsoid-PointWithUncertaintyCircle_PDU
+EllipsoidArc_PDU
+EllipsoidPointWithAltitude
+EllipsoidPointWithAltitude_PDU
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU
+EllipsoidPointWithUncertaintyEllipse_PDU
+GNSS-ID
+GNSS-ID-Bitmap
+GNSS-SignalID
+GNSS-SignalIDs
+GNSS-SystemTime
+HorizontalVelocity_PDU
+HorizontalVelocityWithUncertainty_PDU
+HorizontalWithVerticalVelocity_PDU
+LocationCoordinates_PDU
+LocationError_PDU
+LocationSource-r13_PDU
+NetworkTime
+OTDOA-NeighbourCellInfoElement
+OTDOA-ReferenceCellInfo
+Polygon_PDU
+Sensor-MeasurementInformation-r13_PDU
+Sensor-MotionInformation-r15_PDU
+SV-ID
+Velocity
+Velocity_PDU
+#.END
+
+#.PDU
+BDS-DifferentialCorrections-r12
+BDS-GridModelParameter-r12
+DisplacementTimeStamp-r15
+Ellipsoid-Point
+Ellipsoid-PointWithUncertaintyCircle
+EllipsoidArc
+EllipsoidPointWithAltitude
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid
+EllipsoidPointWithUncertaintyEllipse
+GLO-RTK-BiasInformation-r15
+GNSS-AcquisitionAssistance
+GNSS-AuxiliaryInformation
+GNSS-Almanac
+GNSS-DataBitAssistance
+GNSS-DifferentialCorrections
+GNSS-EarthOrientationParameters
+GNSS-Integrity-ServiceAlert-r17
+GNSS-Integrity-ServiceParameters-r17
+GNSS-IonosphericModel
+GNSS-NavigationModel
+GNSS-RealTimeIntegrity
+GNSS-ReferenceTime
+GNSS-ReferenceLocation
+GNSS-RTK-AuxiliaryStationData-r15
+GNSS-RTK-CommonObservationInfo-r15
+GNSS-RTK-FKP-Gradients-r15
+GNSS-RTK-MAC-CorrectionDifferences-r15
+GNSS-RTK-Observations-r15
+GNSS-RTK-ReferenceStationInfo-r15
+GNSS-RTK-Residuals-r15
+GNSS-SSR-ClockCorrections-r15
+GNSS-SSR-CodeBias-r15
+GNSS-SSR-CorrectionPoints-r16
+GNSS-SSR-GriddedCorrection-r16
+GNSS-SSR-OrbitCorrections-r15
+GNSS-SSR-PhaseBias-r16
+GNSS-SSR-STEC-Correction-r16
+GNSS-SSR-URA-r16
+GNSS-TimeModelList
+GNSS-UTC-Model
+HorizontalVelocity
+HorizontalVelocityWithUncertainty
+HorizontalWithVerticalVelocity
+LocationCoordinates
+LocationError
+LocationSource-r13
+LPP-Message
+NavIC-DifferentialCorrections-r16
+NavIC-GridModelParameter-r16
+NR-DL-PRS-AssistanceData-r16
+NR-DL-PRS-TRP-TEG-Info-r17
+NR-On-Demand-DL-PRS-Configurations-r17
+NR-TRP-BeamAntennaInfo-r17
+NR-UEB-TRP-LocationData-r16
+NR-UEB-TRP-RTD-Info-r16
+OTDOA-UE-Assisted-r15
+Polygon
+Sensor-AssistanceDataList-r14
+Sensor-MeasurementInformation-r13
+Sensor-MotionInformation-r15
+TBS-AssistanceDataList-r14
+Velocity
+
+#.FIELD_RENAME
+CellGlobalIdGERAN/cellIdentity cellGlobalIdGERAN_cellIdentity
+LocationCoordinates/polygon locationCoordinates_polygon
+UTC-ModelSet4/utcDN UTC-ModelSet4_utcDN
+
+#.FIELD_ATTR
+CellGlobalIdGERAN/cellIdentity ABBREV=cellGlobalIdGERAN.cellIdentity
+LocationCoordinates/polygon ABBREV=locationCoordinates.polygon
+UTC-ModelSet4/utcDN ABBREV=uTC-ModelSet4.utcDN
+
+#.MAKE_ENUM
+GNSS-ID/gnss-id TYPE_PREFIX UPPER_CASE
+
+#.FN_HDR RequestCapabilities
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Capabilities");
+
+#.FN_HDR ProvideCapabilities
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Capabilities");
+
+#.FN_HDR RequestAssistanceData
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Assistance Data");
+
+#.FN_HDR ProvideAssistanceData
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Assistance Data");
+
+#.FN_HDR RequestLocationInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Request Location Information");
+
+#.FN_HDR ProvideLocationInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Provide Location Information");
+
+#.FN_HDR Abort
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Abort");
+
+#.FN_HDR Error
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Error");
+
+#.FN_BODY EPDU-ID VAL_PTR = &lpp_epdu_id
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+EPDU-ID STRINGS=VALS(lpp_ePDU_ID_vals)
+
+#.FN_BODY EPDU-Body VAL_PTR=&lppe_tvb
+ tvbuff_t *lppe_tvb = NULL;
+%(DEFAULT_BODY)s
+ switch(lpp_epdu_id){
+ case 1:
+ if (lppe_tvb && lppe_handle) {
+ call_dissector(lppe_handle, lppe_tvb, actx->pinfo, tree);
+ }
+ break;
+ default:
+ break;
+ }
+ lpp_epdu_id = -1;
+
+#.TYPE_ATTR
+Ellipsoid-Point/degreesLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLatitude_fmt)
+
+#.TYPE_ATTR
+Ellipsoid-Point/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLongitude_fmt)
+
+#.TYPE_ATTR
+Ellipsoid-PointWithUncertaintyCircle/degreesLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLatitude_fmt)
+
+#.TYPE_ATTR
+Ellipsoid-PointWithUncertaintyCircle/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLongitude_fmt)
+
+#.TYPE_ATTR
+Ellipsoid-PointWithUncertaintyCircle/uncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertainty_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithUncertaintyEllipse/degreesLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLatitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithUncertaintyEllipse/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLongitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithUncertaintyEllipse/uncertaintySemiMajor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertainty_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithUncertaintyEllipse/uncertaintySemiMinor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertainty_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithUncertaintyEllipse/orientationMajorAxis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_angle_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithUncertaintyEllipse/confidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitude/degreesLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLatitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitude/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLongitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitude/altitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_altitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid/degreesLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLatitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLongitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid/altitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_altitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid/uncertaintySemiMajor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertainty_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid/uncertaintySemiMinor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertainty_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid/orientationMajorAxis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_angle_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid/uncertaintyAltitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertaintyAltitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid/confidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+EllipsoidArc/degreesLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLatitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidArc/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLongitude_fmt)
+
+#.TYPE_ATTR
+EllipsoidArc/innerRadius DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_radius_fmt)
+
+#.TYPE_ATTR
+EllipsoidArc/uncertaintyRadius DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertainty_fmt)
+
+#.TYPE_ATTR
+EllipsoidArc/offsetAngle DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_angle_fmt)
+
+#.TYPE_ATTR
+EllipsoidArc/includedAngle DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_angle_fmt)
+
+#.TYPE_ATTR
+EllipsoidArc/confidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+HorizontalVelocity/bearing DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
+
+#.TYPE_ATTR
+HorizontalVelocity/horizontalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.TYPE_ATTR
+HorizontalVelocityWithUncertainty/bearing DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
+
+#.TYPE_ATTR
+HorizontalVelocityWithUncertainty/horizontalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.TYPE_ATTR
+HorizontalVelocityWithUncertainty/uncertaintySpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.TYPE_ATTR
+HorizontalWithVerticalVelocityAndUncertainty/bearing DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
+
+#.TYPE_ATTR
+HorizontalWithVerticalVelocityAndUncertainty/horizontalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.TYPE_ATTR
+HorizontalWithVerticalVelocityAndUncertainty/verticalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.TYPE_ATTR
+HorizontalWithVerticalVelocityAndUncertainty/horizontalUncertaintySpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.TYPE_ATTR
+HorizontalWithVerticalVelocityAndUncertainty/verticalUncertaintySpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.TYPE_ATTR
+PolygonPoints/degreesLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLatitude_fmt)
+
+#.TYPE_ATTR
+PolygonPoints/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLongitude_fmt)
+
+#.FN_BODY PeriodicalReportingCriteria/reportingInterval VAL_PTR=&idx
+ guint32 idx;
+ const gchar *interval[10] = {"", ": 1s", ": 2s", ": 4s", ": 8s", ": 10s",
+ ": 16s", ": 20s", ": 32s", ": 64s"};
+
+%(DEFAULT_BODY)s
+
+#.FN_FTR PeriodicalReportingCriteria/reportingInterval
+ if (idx < 10) {
+ proto_item_append_text(actx->created_item, "%s", interval[idx]);
+ }
+
+#.FN_BODY ReportingDuration VAL_PTR = &duration
+ guint32 duration;
+
+%(DEFAULT_BODY)s
+ if (duration == 0) {
+ proto_item_append_text(actx->created_item, " (infinite)");
+ }
+
+#.TYPE_ATTR
+ReportingDuration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+HorizontalAccuracy/accuracy DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertainty_fmt)
+
+#.TYPE_ATTR
+HorizontalAccuracy/confidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+VerticalAccuracy/accuracy DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertainty_fmt)
+
+#.TYPE_ATTR
+VerticalAccuracy/confidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+HorizontalAccuracyExt-r15/confidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+VerticalAccuracyExt-r15/confidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+ResponseTime/time DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ResponseTime/eag_1/responseTimeEarlyFix-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ResponseTimeNB-r14/timeNB-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+MessageSizeLimitNB-r14/measurementLimit-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_measurementLimit_fmt)
+
+#.TYPE_ATTR
+OTDOA-ReferenceCellInfo/eag_4/nr-LTE-fineTiming-Offset-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_nr_LTE_fineTiming_Offset_fmt)
+
+#.TYPE_ATTR
+OTDOA-NeighbourCellInfoElement/expectedRSTD DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_expectedRSTD_fmt)
+
+#.TYPE_ATTR
+OTDOA-NeighbourCellInfoElement/expectedRSTD-Uncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_expectedRSTD_Uncertainty_fmt)
+
+#.TYPE_ATTR
+NeighbourMeasurementElement/rstd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_rstd_fmt)
+
+#.FN_BODY OTDOA-MeasQuality/error-Resolution VAL_PTR = &error_Resolution_tvb HF_INDEX=-1
+ tvbuff_t *error_Resolution_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR OTDOA-MeasQuality/error-Resolution
+ if (error_Resolution_tvb) {
+ guint bitvalue = tvb_get_bits8(error_Resolution_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, error_Resolution_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+OTDOA-MeasQuality/error-Resolution TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_error_Resolution_vals)
+
+#.FN_BODY OTDOA-MeasQuality/error-Value VAL_PTR = &error_Value_tvb HF_INDEX=-1
+ tvbuff_t *error_Value_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR OTDOA-MeasQuality/error-Value
+ if (error_Value_tvb) {
+ guint bitvalue = tvb_get_bits8(error_Value_tvb, 0, 5);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, error_Value_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+OTDOA-MeasQuality/error-Value TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_error_Value_vals_ext
+
+#.FN_BODY OTDOA-MeasQuality/error-NumSamples VAL_PTR = &error_NumSamples_tvb HF_INDEX=-1
+ tvbuff_t *error_NumSamples_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR OTDOA-MeasQuality/error-NumSamples
+ if (error_NumSamples_tvb) {
+ guint bitvalue = tvb_get_bits8(error_NumSamples_tvb, 0, 3);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, error_NumSamples_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+OTDOA-MeasQuality/error-NumSamples TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_error_NumSamples_vals)
+
+#.TYPE_ATTR
+AdditionalPath-r14/relativeTimeDifference-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_relativeTimeDifference_fmt)
+
+#.TYPE_ATTR
+GNSS-ReferenceTime/referenceTimeUnc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_referenceTimeUnc_fmt)
+
+#.TYPE_ATTR
+GNSS-ReferenceTimeForOneCell/referenceTimeUnc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_referenceTimeUnc_fmt)
+
+#.FN_BODY GNSS-SystemTime/notificationOfLeapSecond VAL_PTR = &notificationOfLeapSecond_tvb HF_INDEX=-1
+ tvbuff_t *notificationOfLeapSecond_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR GNSS-SystemTime/notificationOfLeapSecond
+ if (notificationOfLeapSecond_tvb) {
+ guint bitvalue = tvb_get_bits8(notificationOfLeapSecond_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, notificationOfLeapSecond_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+GNSS-SystemTime/notificationOfLeapSecond TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_kp_vals)
+
+#.TYPE_ATTR
+NetworkTime/fractionalSecondsFromFrameStructureStart DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_fractionalSecondsFromFrameStructureStart_fmt)
+
+#.TYPE_ATTR
+NetworkTime/frameDrift DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_frameDrift_fmt)
+
+#.FN_BODY KlobucharModelParameter/dataID VAL_PTR = &dataID_tvb HF_INDEX=-1
+ tvbuff_t *dataID_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR KlobucharModelParameter/dataID
+ if (dataID_tvb) {
+ guint bitvalue = tvb_get_bits8(dataID_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, dataID_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+KlobucharModelParameter/dataID TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_dataID_vals)
+
+#.TYPE_ATTR
+KlobucharModelParameter/alfa0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_alpha0_fmt)
+
+#.TYPE_ATTR
+KlobucharModelParameter/alfa1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_alpha1_fmt)
+
+#.TYPE_ATTR
+KlobucharModelParameter/alfa2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_alpha2_3_fmt)
+
+#.TYPE_ATTR
+KlobucharModelParameter/alfa3 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_alpha2_3_fmt)
+
+#.TYPE_ATTR
+KlobucharModelParameter/beta0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_beta0_fmt)
+
+#.TYPE_ATTR
+KlobucharModelParameter/beta1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_beta1_fmt)
+
+#.TYPE_ATTR
+KlobucharModelParameter/beta2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_beta2_3_fmt)
+
+#.TYPE_ATTR
+KlobucharModelParameter/beta3 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_beta2_3_fmt)
+
+#.TYPE_ATTR
+NeQuickModelParameter/ai0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_ai0_fmt)
+
+#.TYPE_ATTR
+NeQuickModelParameter/ai1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_ai1_fmt)
+
+#.TYPE_ATTR
+NeQuickModelParameter/ai2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_ai2_fmt)
+
+#.TYPE_ATTR
+GNSS-EarthOrientationParameters/teop DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_teop_fmt)
+
+#.TYPE_ATTR
+GNSS-EarthOrientationParameters/pmX DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_pmX_Y_fmt)
+
+#.TYPE_ATTR
+GNSS-EarthOrientationParameters/pmXdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_pmX_Ydot_fmt)
+
+#.TYPE_ATTR
+GNSS-EarthOrientationParameters/pmY DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_pmX_Y_fmt)
+
+#.TYPE_ATTR
+GNSS-EarthOrientationParameters/pmYdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_pmX_Ydot_fmt)
+
+#.TYPE_ATTR
+GNSS-EarthOrientationParameters/deltaUT1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_deltaUT1_fmt)
+
+#.TYPE_ATTR
+GNSS-EarthOrientationParameters/deltaUT1dot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_deltaUT1dot_fmt)
+
+#.TYPE_ATTR
+GNSS-RTK-ReferenceStationInfo-r15/antenna-reference-point-ECEF-X-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000m_64_fmt)
+
+#.TYPE_ATTR
+GNSS-RTK-ReferenceStationInfo-r15/antenna-reference-point-ECEF-Y-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000m_64_fmt)
+
+#.TYPE_ATTR
+GNSS-RTK-ReferenceStationInfo-r15/antenna-reference-point-ECEF-Z-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000m_64_fmt)
+
+#.TYPE_ATTR
+GNSS-RTK-ReferenceStationInfo-r15/antennaHeight-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000m_32_fmt)
+
+#.TYPE_ATTR
+AntennaReferencePointUnc-r15/confidence-X-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+AntennaReferencePointUnc-r15/confidence-Y-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+AntennaReferencePointUnc-r15/confidence-Z-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+PhysicalReferenceStationInfo-r15/physical-ARP-ECEF-X-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000m_64_fmt)
+
+#.TYPE_ATTR
+PhysicalReferenceStationInfo-r15/physical-ARP-ECEF-Y-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000m_64_fmt)
+
+#.TYPE_ATTR
+PhysicalReferenceStationInfo-r15/physical-ARP-ECEF-Z-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000m_64_fmt)
+
+#.TYPE_ATTR
+GNSS-RTK-CommonObservationInfo-r15/clockSteeringIndicator-r15 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_clockSteeringIndicator_vals)
+
+#.TYPE_ATTR
+GNSS-RTK-CommonObservationInfo-r15/externalClockIndicator-r15 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_externalClockIndicator_vals)
+
+#.TYPE_ATTR
+GNSS-RTK-CommonObservationInfo-r15/smoothingIndicator-r15 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_smoothingIndicator_r15_vals)
+
+#.FN_BODY GNSS-RTK-CommonObservationInfo-r15/smoothingIndicator-r15 VAL_PTR = &param_tvb HF_INDEX=-1
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR GNSS-RTK-CommonObservationInfo-r15/smoothingIndicator-r15
+ if (param_tvb) {
+ guint bitvalue = tvb_get_bits8(param_tvb, 0, 1);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, param_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+GNSS-RTK-CommonObservationInfo-r15/smoothingInterval-r15 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_smoothingInterval_r15_vals)
+
+#.FN_BODY GNSS-RTK-CommonObservationInfo-r15/smoothingInterval-r15 VAL_PTR = &param_tvb HF_INDEX=-1
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR GNSS-RTK-CommonObservationInfo-r15/smoothingInterval-r15
+ if (param_tvb) {
+ guint bitvalue = tvb_get_bits8(param_tvb, 0, 3);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, param_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+AuxiliaryStationElement-r15/aux-master-delta-latitude-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_aux_master_delta_fmt)
+
+#.TYPE_ATTR
+AuxiliaryStationElement-r15/aux-master-delta-longitude-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_aux_master_delta_fmt)
+
+#.TYPE_ATTR
+AuxiliaryStationElement-r15/aux-master-delta-height-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000m_32_fmt)
+
+#.TYPE_ATTR
+Aux-ARP-Unc-r15/horizontalConfidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+Aux-ARP-Unc-r15/verticalConfidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+GNSS-TimeModelElement/gnss-TimeModelRefTime DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_TimeModelRefTime_fmt)
+
+#.TYPE_ATTR
+GNSS-TimeModelElement/tA0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA0_fmt)
+
+#.TYPE_ATTR
+GNSS-TimeModelElement/tA1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA1_fmt)
+
+#.TYPE_ATTR
+GNSS-TimeModelElement/tA2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA2_fmt)
+
+#.TYPE_ATTR
+GNSS-TimeModelElement/gnss-TO-ID STRINGS=VALS(lpp_gnss_TO_ID_vals)
+
+#.TYPE_ATTR
+GNSS-TimeModelElement/deltaT DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+GNSS-DifferentialCorrections/dgnss-RefTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+DGNSS-SgnTypeElement/gnss-StatusHealth STRINGS=VALS(lpp_gnss_StatusHealth_vals)
+
+#.TYPE_ATTR
+DGNSS-CorrectionsElement/udre STRINGS=VALS(lpp_udre_vals)
+
+#.TYPE_ATTR
+DGNSS-CorrectionsElement/pseudoRangeCor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_pseudoRangeCor_fmt)
+
+#.TYPE_ATTR
+DGNSS-CorrectionsElement/rangeRateCor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_rangeRateCor_fmt)
+
+#.TYPE_ATTR
+DGNSS-CorrectionsElement/udreGrowthRate STRINGS=VALS(lpp_udreGrowthRate_vals)
+
+#.TYPE_ATTR
+DGNSS-CorrectionsElement/udreValidityTime STRINGS=VALS(lpp_udreValidityTime_vals)
+
+#.FN_BODY GNSS-NavModelSatelliteElement/eag_1/svHealthExt-v1240 VAL_PTR = &svHealthExt_tvb
+ tvbuff_t *svHealthExt_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+
+#.FN_FTR GNSS-NavModelSatelliteElement/eag_1/svHealthExt-v1240
+ if (svHealthExt_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lpp_svHealthExt_v1240);
+ proto_tree_add_bits_item(subtree, hf_lpp_svHealthExt_v1240_e5bhs, svHealthExt_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lpp_svHealthExt_v1240_e1_bhs, svHealthExt_tvb, 2, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+StandardClockModelElement/stanClockToc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_stanClockToc_fmt)
+
+#.TYPE_ATTR
+StandardClockModelElement/stanClockAF2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_stanClockAF2_fmt)
+
+#.TYPE_ATTR
+StandardClockModelElement/stanClockAF1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_stanClockAF1_fmt)
+
+#.TYPE_ATTR
+StandardClockModelElement/stanClockAF0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_stanClockAF0_fmt)
+
+#.TYPE_ATTR
+StandardClockModelElement/stanClockTgd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_stanClockTgd_fmt)
+
+#.TYPE_ATTR
+StandardClockModelElement/sisa DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sisa_fmt)
+
+#.TYPE_ATTR
+StandardClockModelElement/stanModelID STRINGS=VALS(lpp_stanModelID_vals)
+
+#.TYPE_ATTR
+NAV-ClockModel/navToc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navToc_fmt)
+
+#.TYPE_ATTR
+NAV-ClockModel/navaf2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navaf2_fmt)
+
+#.TYPE_ATTR
+NAV-ClockModel/navaf1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navaf1_fmt)
+
+#.TYPE_ATTR
+NAV-ClockModel/navaf0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navaf0_navTgd_fmt)
+
+#.TYPE_ATTR
+NAV-ClockModel/navTgd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navaf0_navTgd_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavToc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavToc_cnavTop_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavTop DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavToc_cnavTop_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavAf2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavAf2_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavAf1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavAf1_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavAf0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavX_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavTgd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavX_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavISCl1cp DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavX_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavISCl1cd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavX_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavISCl1ca DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavX_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavISCl2c DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavX_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavISCl5i5 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavX_fmt)
+
+#.TYPE_ATTR
+CNAV-ClockModel/cnavISCl5q5 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavX_fmt)
+
+#.TYPE_ATTR
+GLONASS-ClockModel/gloTau DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloTau_gloDeltaTau_fmt)
+
+#.TYPE_ATTR
+GLONASS-ClockModel/gloGamma DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloGamma_fmt)
+
+#.TYPE_ATTR
+GLONASS-ClockModel/gloDeltaTau DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloTau_gloDeltaTau_fmt)
+
+#.TYPE_ATTR
+SBAS-ClockModel/sbasTo DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasTo_fmt)
+
+#.TYPE_ATTR
+SBAS-ClockModel/sbasAgfo DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasAgfo_fmt)
+
+#.TYPE_ATTR
+SBAS-ClockModel/sbasAgf1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasAgf1_fmt)
+
+#.TYPE_ATTR
+BDS-ClockModel-r12/bdsAODC-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAODC_AODE_r12_fmt)
+
+#.TYPE_ATTR
+BDS-ClockModel-r12/bdsToc-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsToc_Toe_r12_fmt)
+
+#.TYPE_ATTR
+BDS-ClockModel-r12/bdsA0-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsA0_r12_fmt)
+
+#.TYPE_ATTR
+BDS-ClockModel-r12/bdsA1-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsA1_r12_fmt)
+
+#.TYPE_ATTR
+BDS-ClockModel-r12/bdsA2-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsA2_r12_fmt)
+
+#.TYPE_ATTR
+BDS-ClockModel-r12/bdsTgd1-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsTgd1_r12_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerToe DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerToe_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerW DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerW_M0_I0_Omega0_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerDeltaN DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerDeltaN_OmegaDot_IDot_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerM0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerW_M0_I0_Omega0_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerOmegaDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerDeltaN_OmegaDot_IDot_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerE DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerE_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerIDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerDeltaN_OmegaDot_IDot_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerAPowerHalf DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerAPowerHalf_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerI0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerW_M0_I0_Omega0_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerOmega0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerW_M0_I0_Omega0_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerCrs DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerCrs_Crc_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerCis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerCx_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerCus DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerCx_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerCrc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerCrs_Crc_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerCic DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerCx_fmt)
+
+#.TYPE_ATTR
+NavModelKeplerianSet/keplerCuc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_keplerCx_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navToe DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navToe_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navOmega DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navOmega_M0_I0_OmegaA0_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navDeltaN DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navDeltaN_OmegaADot_IDot_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navM0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navOmega_M0_I0_OmegaA0_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navOmegaADot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navDeltaN_OmegaADot_IDot_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navE DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navE_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navIDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navDeltaN_OmegaADot_IDot_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navAPowerHalf DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAPowerHalf_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navI0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navOmega_M0_I0_OmegaA0_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navOmegaA0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navOmega_M0_I0_OmegaA0_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navCrs DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navCrs_Crc_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navCis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navCx_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navCus DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navCx_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navCrc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navCrs_Crc_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navCic DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navCx_fmt)
+
+#.TYPE_ATTR
+NavModelNAV-KeplerianSet/navCuc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navCx_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavTop DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavToc_cnavTop_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavDeltaA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavDeltaA_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavAdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavAdot_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavDeltaNo DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavDeltaNo_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavDeltaNoDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavDeltaNoDot_fmt)
+
+#.FN_BODY NavModelCNAV-KeplerianSet/cnavMo VAL_PTR=&cnavMo
+ int64_t cnavMo;
+ int curr_offset = offset;
+%(DEFAULT_BODY)s
+
+#.FN_FTR NavModelCNAV-KeplerianSet/cnavMo
+ proto_item_set_hidden(actx->created_item);
+ actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
+ cnavMo, "%g semi-circles (%"PRId64")",
+ (double)cnavMo*pow(2, -32), cnavMo);
+
+#.FN_BODY NavModelCNAV-KeplerianSet/cnavE VAL_PTR=&cnavE
+ uint64_t cnavE;
+ int curr_offset = offset;
+%(DEFAULT_BODY)s
+
+#.FN_FTR NavModelCNAV-KeplerianSet/cnavE
+ proto_item_set_hidden(actx->created_item);
+ actx->created_item = proto_tree_add_uint64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
+ cnavE, "%g (%"PRIu64")",
+ (double)cnavE*pow(2, -34), cnavE);
+
+#.FN_BODY NavModelCNAV-KeplerianSet/cnavOmega VAL_PTR=&cnavOmega
+ int64_t cnavOmega;
+ int curr_offset = offset;
+%(DEFAULT_BODY)s
+
+#.FN_FTR NavModelCNAV-KeplerianSet/cnavOmega
+ proto_item_set_hidden(actx->created_item);
+ actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
+ cnavOmega, "%g semi-circles (%"PRId64")",
+ (double)cnavOmega*pow(2, -32), cnavOmega);
+
+#.FN_BODY NavModelCNAV-KeplerianSet/cnavOMEGA0 VAL_PTR=&cnavOMEGA0
+ int64_t cnavOMEGA0;
+ int curr_offset = offset;
+%(DEFAULT_BODY)s
+
+#.FN_FTR NavModelCNAV-KeplerianSet/cnavOMEGA0
+ proto_item_set_hidden(actx->created_item);
+ actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
+ cnavOMEGA0, "%g semi-circles (%"PRId64")",
+ (double)cnavOMEGA0*pow(2, -32), cnavOMEGA0);
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavDeltaOmegaDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavDeltaOmegaDot_IoDot_fmt)
+
+#.FN_BODY NavModelCNAV-KeplerianSet/cnavIo VAL_PTR=&cnavIo
+ int64_t cnavIo;
+ int curr_offset = offset;
+%(DEFAULT_BODY)s
+
+#.FN_FTR NavModelCNAV-KeplerianSet/cnavIo
+ proto_item_set_hidden(actx->created_item);
+ actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
+ cnavIo, "%g semi-circles (%"PRId64")",
+ (double)cnavIo*pow(2, -32), cnavIo);
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavIoDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavDeltaOmegaDot_IoDot_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavCis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavCx_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavCic DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavCx_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavCrs DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavCrs_Crc_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavCrc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavCrs_Crc_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavCus DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavCx_fmt)
+
+#.TYPE_ATTR
+NavModelCNAV-KeplerianSet/cnavCuc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavCx_fmt)
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloEn DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days
+
+#.FN_BODY NavModel-GLONASS-ECEF/gloP1 VAL_PTR = &gloP1_tvb HF_INDEX=-1
+ tvbuff_t *gloP1_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR NavModel-GLONASS-ECEF/gloP1
+ if (gloP1_tvb) {
+ guint bitvalue = tvb_get_bits8(gloP1_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, gloP1_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloP1 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloX DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloX_Y_Z_fmt)
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloXdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloXdot_Ydot_Zdot_fmt)
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloXdotdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloXdotdot_Ydotdot_Zdotdot_fmt)
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloY DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloX_Y_Z_fmt)
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloYdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloXdot_Ydot_Zdot_fmt)
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloYdotdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloXdotdot_Ydotdot_Zdotdot_fmt)
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloZ DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloX_Y_Z_fmt)
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloZdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloXdot_Ydot_Zdot_fmt)
+
+#.TYPE_ATTR
+NavModel-GLONASS-ECEF/gloZdotdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloXdotdot_Ydotdot_Zdotdot_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasTo DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasTo_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasXg DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasXg_Yg_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasYg DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasXg_Yg_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasZg DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasZg_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasXgDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasXgDot_YgDot_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasYgDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasXgDot_YgDot_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasZgDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasZgDot_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasXgDotDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasXgDotDot_YgDotDot_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasYgDotDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasXgDotDot_YgDotDot_fmt)
+
+#.TYPE_ATTR
+NavModel-SBAS-ECEF/sbasZgDotDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasZgDotDot_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsAODE-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAODC_AODE_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsURAI-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsToe-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsToc_Toe_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsAPowerHalf-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAPowerHalf_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsE-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsE_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsW-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsW_M0_Omega0_I0_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsDeltaN-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsM0-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsW_M0_Omega0_I0_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsOmega0-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsW_M0_Omega0_I0_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsOmegaDot-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsI0-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsW_M0_Omega0_I0_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsIDot-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsCuc-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsCuc_Cus_Cic_Cis_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsCus-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsCuc_Cus_Cic_Cis_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsCrc-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsCrc_Crs_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsCrs-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsCrc_Crs_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsCic-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsCuc_Cus_Cic_Cis_r12_fmt)
+
+#.TYPE_ATTR
+NavModel-BDS-KeplerianSet-r12/bdsCis-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsCuc_Cus_Cic_Cis_r12_fmt)
+
+#.TYPE_ATTR
+GNSS-DataBitAssistance/gnss-TOD DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+GNSS-DataBitAssistance/gnss-TODfrac DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+GNSS-AcquisitionAssistance/confidence-r10 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+GNSS-AcquisitionAssistElement/doppler0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_doppler0_fmt)
+
+#.TYPE_ATTR
+GNSS-AcquisitionAssistElement/doppler1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_doppler1_fmt)
+
+#.TYPE_ATTR
+GNSS-AcquisitionAssistElement/dopplerUncertainty STRINGS=VALS(lpp_dopplerUncertainty_vals)
+
+#.TYPE_ATTR
+GNSS-AcquisitionAssistElement/codePhase DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_codePhase_fmt)
+
+#.TYPE_ATTR
+GNSS-AcquisitionAssistElement/intCodePhase DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+GNSS-AcquisitionAssistElement/codePhaseSearchWindow DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_codePhaseSearchWindow_vals_ext
+
+#.TYPE_ATTR
+GNSS-AcquisitionAssistElement/azimuth DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_azimuth_elevation_fmt)
+
+#.TYPE_ATTR
+GNSS-AcquisitionAssistElement/elevation DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_azimuth_elevation_fmt)
+
+#.FN_BODY GNSS-Almanac/toa VAL_PTR = &toa
+ guint32 toa, val;
+ int len, old_offset = offset;
+ T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data);
+%(DEFAULT_BODY)s
+
+#.FN_FTR GNSS-Almanac/toa
+ len = (offset-old_offset) >> 3 ? (offset-old_offset) >> 3 : 1;
+ val = (gnss_id == T_GNSS_ID_GALILEO) ? 600*toa : 4096*toa;
+ actx->created_item = proto_tree_add_uint_format_value(tree, hf_lpp_toa, tvb, old_offset, len,
+ toa, "%u s (%u)", val, toa);
+
+#.FN_BODY GNSS-Almanac/eag_1/toa-ext-v1240 VAL_PTR = &toa_ext
+ guint32 toa_ext, val;
+ int len, old_offset = offset;
+ T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data);
+%(DEFAULT_BODY)s
+
+#.FN_FTR GNSS-Almanac/eag_1/toa-ext-v1240
+ len = (offset-old_offset) >> 3 ? (offset-old_offset) >> 3 : 1;
+ val = (gnss_id == T_GNSS_ID_GALILEO) ? 600*toa_ext : 4096*toa_ext;
+ actx->created_item = proto_tree_add_uint_format_value(tree, hf_lpp_toa_ext_v1240, tvb, old_offset, len,
+ toa_ext, "%u s (%u)", val, toa_ext);
+
+#.TYPE_ATTR
+AlmanacKeplerianSet/kepAlmanacE DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_kepAlmanacE_fmt)
+
+#.TYPE_ATTR
+AlmanacKeplerianSet/kepAlmanacDeltaI DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_kepAlmanacDeltaI_fmt)
+
+#.TYPE_ATTR
+AlmanacKeplerianSet/kepAlmanacOmegaDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_kepAlmanacOmegaDot_fmt)
+
+#.FN_BODY AlmanacKeplerianSet/kepSV-StatusINAV VAL_PTR = &statusINAV_tvb
+ tvbuff_t *statusINAV_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+
+#.FN_FTR AlmanacKeplerianSet/kepSV-StatusINAV
+ if (statusINAV_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_kepSV_StatusINAV);
+ proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusINAV_e5bhs, statusINAV_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusINAV_e1_bhs, statusINAV_tvb, 2, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY AlmanacKeplerianSet/kepSV-StatusFNAV VAL_PTR = &statusFNAV_tvb
+ tvbuff_t *statusFNAV_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+
+#.FN_FTR AlmanacKeplerianSet/kepSV-StatusFNAV
+ if (statusFNAV_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_kepSV_StatusFNAV);
+ proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusFNAV_e5ahs, statusFNAV_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+AlmanacKeplerianSet/kepAlmanacAPowerHalf DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_kepAlmanacAPowerHalf_fmt)
+
+#.TYPE_ATTR
+AlmanacKeplerianSet/kepAlmanacOmega0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_kepAlmanacOmega0_W_M0_fmt)
+
+#.TYPE_ATTR
+AlmanacKeplerianSet/kepAlmanacW DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_kepAlmanacOmega0_W_M0_fmt)
+
+#.TYPE_ATTR
+AlmanacKeplerianSet/kepAlmanacM0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_kepAlmanacOmega0_W_M0_fmt)
+
+#.TYPE_ATTR
+AlmanacKeplerianSet/kepAlmanacAF0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_kepAlmanacAF0_fmt)
+
+#.TYPE_ATTR
+AlmanacKeplerianSet/kepAlmanacAF1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_kepAlmanacAF1_fmt)
+
+#.TYPE_ATTR
+AlmanacNAV-KeplerianSet/navAlmE DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAlmE_fmt)
+
+#.TYPE_ATTR
+AlmanacNAV-KeplerianSet/navAlmDeltaI DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAlmDeltaI_fmt)
+
+#.TYPE_ATTR
+AlmanacNAV-KeplerianSet/navAlmOMEGADOT DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAlmOMEGADOT_fmt)
+
+#.TYPE_ATTR
+AlmanacNAV-KeplerianSet/navAlmSqrtA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAlmSqrtA_fmt)
+
+#.TYPE_ATTR
+AlmanacNAV-KeplerianSet/navAlmOMEGAo DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAlmOMEGAo_Omega_Mo_fmt)
+
+#.TYPE_ATTR
+AlmanacNAV-KeplerianSet/navAlmOmega DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAlmOMEGAo_Omega_Mo_fmt)
+
+#.TYPE_ATTR
+AlmanacNAV-KeplerianSet/navAlmMo DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAlmOMEGAo_Omega_Mo_fmt)
+
+#.TYPE_ATTR
+AlmanacNAV-KeplerianSet/navAlmaf0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAlmaf0_fmt)
+
+#.TYPE_ATTR
+AlmanacNAV-KeplerianSet/navAlmaf1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_navAlmaf1_fmt)
+
+#.TYPE_ATTR
+AlmanacReducedKeplerianSet/redAlmDeltaA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_redAlmDeltaA_fmt)
+
+#.TYPE_ATTR
+AlmanacReducedKeplerianSet/redAlmOmega0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_redAlmOmega0_Phi0_fmt)
+
+#.TYPE_ATTR
+AlmanacMidiAlmanacSet/midiAlmE DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmE_fmt)
+
+#.TYPE_ATTR
+AlmanacMidiAlmanacSet/midiAlmDeltaI DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmDeltaI_fmt)
+
+#.TYPE_ATTR
+AlmanacMidiAlmanacSet/midiAlmOmegaDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmOmegaDot_fmt)
+
+#.TYPE_ATTR
+AlmanacMidiAlmanacSet/midiAlmSqrtA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmSqrtA_fmt)
+
+#.TYPE_ATTR
+AlmanacMidiAlmanacSet/midiAlmOmega0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmOmega0_Omega_Mo_fmt)
+
+#.TYPE_ATTR
+AlmanacMidiAlmanacSet/midiAlmOmega DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmOmega0_Omega_Mo_fmt)
+
+#.TYPE_ATTR
+AlmanacMidiAlmanacSet/midiAlmMo DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmOmega0_Omega_Mo_fmt)
+
+#.TYPE_ATTR
+AlmanacMidiAlmanacSet/midiAlmaf0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmaf0_fmt)
+
+#.TYPE_ATTR
+AlmanacMidiAlmanacSet/midiAlmaf1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmaf1_fmt)
+
+#.TYPE_ATTR
+AlmanacGLONASS-AlmanacSet/gloAlm-NA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days
+
+#.TYPE_ATTR
+AlmanacGLONASS-AlmanacSet/gloAlmLambdaA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloAlmLambdaA_DeltaIa_fmt)
+
+#.TYPE_ATTR
+AlmanacGLONASS-AlmanacSet/gloAlmtlambdaA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloAlmtlambdaA_fmt)
+
+#.TYPE_ATTR
+AlmanacGLONASS-AlmanacSet/gloAlmDeltaIa DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloAlmLambdaA_DeltaIa_fmt)
+
+#.TYPE_ATTR
+AlmanacGLONASS-AlmanacSet/gloAlmDeltaTA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloAlmDeltaTA_fmt)
+
+#.TYPE_ATTR
+AlmanacGLONASS-AlmanacSet/gloAlmDeltaTdotA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloAlmDeltaTdotA_fmt)
+
+#.TYPE_ATTR
+AlmanacGLONASS-AlmanacSet/gloAlmEpsilonA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloAlmEpsilonA_fmt)
+
+#.TYPE_ATTR
+AlmanacGLONASS-AlmanacSet/gloAlmOmegaA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloAlmOmegaA_fmt)
+
+#.TYPE_ATTR
+AlmanacGLONASS-AlmanacSet/gloAlmTauA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloAlmTauA_fmt)
+
+#.TYPE_ATTR
+AlmanacECEF-SBAS-AlmanacSet/sbasAlmXg DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasAlmXg_Yg_fmt)
+
+#.TYPE_ATTR
+AlmanacECEF-SBAS-AlmanacSet/sbasAlmYg DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasAlmXg_Yg_fmt)
+
+#.TYPE_ATTR
+AlmanacECEF-SBAS-AlmanacSet/sbasAlmZg DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasAlmZg_fmt)
+
+#.TYPE_ATTR
+AlmanacECEF-SBAS-AlmanacSet/sbasAlmXgdot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasAlmXgdot_YgDot_fmt)
+
+#.TYPE_ATTR
+AlmanacECEF-SBAS-AlmanacSet/sbasAlmYgDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasAlmXgdot_YgDot_fmt)
+
+#.TYPE_ATTR
+AlmanacECEF-SBAS-AlmanacSet/sbasAlmZgDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasAlmZgDot_fmt)
+
+#.TYPE_ATTR
+AlmanacECEF-SBAS-AlmanacSet/sbasAlmTo DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasAlmTo_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmToa-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmToa_r12_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmSqrtA-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmSqrtA_r12_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmE-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmE_r12_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmW-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmW_M0_Omega0_r12_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmM0-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmW_M0_Omega0_r12_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmOmega0-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmW_M0_Omega0_r12_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmOmegaDot-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmOmegaDot_r12_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmDeltaI-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmDeltaI_r12_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmA0-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmA0_r12_fmt)
+
+#.TYPE_ATTR
+AlmanacBDS-AlmanacSet-r12/bdsAlmA1-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAlmA1_r12_fmt)
+
+#.FN_BODY AlmanacBDS-AlmanacSet-r12/bdsSvHealth-r12 VAL_PTR = &bdsSvHealth_tvb
+ tvbuff_t *bdsSvHealth_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+
+#.FN_FTR AlmanacBDS-AlmanacSet-r12/bdsSvHealth-r12
+ if (bdsSvHealth_tvb) {
+ guint16 bits;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bdsSvHealth_r12);
+ bits = tvb_get_bits16(bdsSvHealth_tvb, 0, 9,ENC_BIG_ENDIAN);
+ if (bits == 0x1ff) {
+ proto_tree_add_boolean_bits_format_value(subtree, hf_lpp_bdsSvHealth_r12_sat_clock, bdsSvHealth_tvb, 0, 1, 1,
+ ENC_BIG_ENDIAN, "Satellite is in failure or permanently shut off (1)");
+ } else if (bits == 0x100) {
+ proto_tree_add_boolean_bits_format_value(subtree, hf_lpp_bdsSvHealth_r12_sat_clock, bdsSvHealth_tvb, 0, 1, 1,
+ ENC_BIG_ENDIAN, "Satellite clock is unavailable (1)");
+ } else {
+ proto_tree_add_bits_item(subtree, hf_lpp_bdsSvHealth_r12_sat_clock, bdsSvHealth_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lpp_bdsSvHealth_r12_b1i, bdsSvHealth_tvb, 1, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lpp_bdsSvHealth_r12_b2i, bdsSvHealth_tvb, 2, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lpp_bdsSvHealth_r12_nav, bdsSvHealth_tvb, 7, 1, ENC_BIG_ENDIAN);
+ }
+ }
+
+#.TYPE_ATTR
+UTC-ModelSet1/gnss-Utc-A1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A1_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet1/gnss-Utc-A0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A0_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet1/gnss-Utc-Tot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_Tot_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet1/gnss-Utc-WNt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks
+
+#.TYPE_ATTR
+UTC-ModelSet1/gnss-Utc-DeltaTls DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+UTC-ModelSet1/gnss-Utc-WNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks
+
+#.TYPE_ATTR
+UTC-ModelSet1/gnss-Utc-DN DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days
+
+#.TYPE_ATTR
+UTC-ModelSet1/gnss-Utc-DeltaTlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+UTC-ModelSet2/utcA0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA0_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet2/utcA1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA1_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet2/utcA2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA2_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet2/utcDeltaTls DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+UTC-ModelSet2/utcTot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_TimeModelRefTime_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet2/utcWNot DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks
+
+#.TYPE_ATTR
+UTC-ModelSet2/utcWNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks
+
+#.FN_BODY UTC-ModelSet2/utcDN VAL_PTR = &utcDN_tvb HF_INDEX=-1
+ tvbuff_t *utcDN_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR UTC-ModelSet2/utcDN
+ if (utcDN_tvb) {
+ guint bitvalue = tvb_get_bits8(utcDN_tvb, 0, 4);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, utcDN_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+UTC-ModelSet2/utcDN TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days
+
+#.TYPE_ATTR
+UTC-ModelSet2/utcDeltaTlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+UTC-ModelSet3/nA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days
+
+#.TYPE_ATTR
+UTC-ModelSet3/tauC DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tauC_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet3/b1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_b1_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet3/b2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_b2_fmt)
+
+#.FN_BODY UTC-ModelSet3/kp VAL_PTR = &kp_tvb HF_INDEX=-1
+ tvbuff_t *kp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR UTC-ModelSet3/kp
+ if (kp_tvb) {
+ guint bitvalue = tvb_get_bits8(kp_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, kp_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+UTC-ModelSet3/kp TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_kp_vals)
+
+#.TYPE_ATTR
+UTC-ModelSet4/utcA1wnt DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A1_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet4/utcA0wnt DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A0_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet4/utcTot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_Tot_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet4/utcWNt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks
+
+#.TYPE_ATTR
+UTC-ModelSet4/utcDeltaTls DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+UTC-ModelSet4/utcWNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks
+
+#.TYPE_ATTR
+UTC-ModelSet4/utcDN DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days
+
+#.TYPE_ATTR
+UTC-ModelSet4/utcDeltaTlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+UTC-ModelSet4/utcStandardID TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_utcStandardID_vals)
+
+#.TYPE_ATTR
+UTC-ModelSet5-r12/utcA0-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A0_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet5-r12/utcA1-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A1_fmt)
+
+#.TYPE_ATTR
+UTC-ModelSet5-r12/utcDeltaTls-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+UTC-ModelSet5-r12/utcWNlsf-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks
+
+#.TYPE_ATTR
+UTC-ModelSet5-r12/utcDN-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days
+
+#.TYPE_ATTR
+UTC-ModelSet5-r12/utcDeltaTlsf-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+BDS-DifferentialCorrections-r12/dbds-RefTime-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+DBDS-CorrectionElement-r12/bds-UDREI-r12 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_bds_UDREI_vals_ext
+
+#.TYPE_ATTR
+DBDS-CorrectionElement-r12/bds-RURAI-r12 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_bds_RURAI_vals_ext
+
+#.TYPE_ATTR
+DBDS-CorrectionElement-r12/bds-ECC-DeltaT-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bds_ECC_DeltaT_r12_fmt)
+
+#.TYPE_ATTR
+BDS-GridModelParameter-r12/bds-RefTime-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+GridIonElement-r12/dt-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bds_GridIonElement_dt_r12_fmt)
+
+#.TYPE_ATTR
+GridIonElement-r12/givei-r12 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_bds_givei_vals_ext
+
+#.TYPE_ATTR
+GNSS-RTK-SatelliteDataElement-r15/integer-ms-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+GNSS-RTK-SatelliteDataElement-r15/rough-range-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+GNSS-RTK-SatelliteDataElement-r15/rough-phase-range-rate-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meter_sec
+
+#.TYPE_ATTR
+GNSS-RTK-SatelliteSignalDataElement-r15/fine-PseudoRange-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_fine_PseudoRange_r15_fmt)
+
+#.TYPE_ATTR
+GNSS-RTK-SatelliteSignalDataElement-r15/fine-PhaseRange-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_fine_PhaseRange_r15_fmt)
+
+#.TYPE_ATTR
+GNSS-RTK-SatelliteSignalDataElement-r15/carrier-to-noise-ratio-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_carrier_to_noise_ratio_r15_fmt)
+
+#.TYPE_ATTR
+GNSS-RTK-SatelliteSignalDataElement-r15/fine-PhaseRangeRate-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_fine_PhaseRangeRate_r15_fmt)
+
+#.TYPE_ATTR
+GLO-RTK-BiasInformation-r15/l1-ca-cpBias-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cpBias_r15_fmt)
+
+#.TYPE_ATTR
+GLO-RTK-BiasInformation-r15/l1-p-cpBias-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cpBias_r15_fmt)
+
+#.TYPE_ATTR
+GLO-RTK-BiasInformation-r15/l2-ca-cpBias-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cpBias_r15_fmt)
+
+#.TYPE_ATTR
+GLO-RTK-BiasInformation-r15/l2-p-cpBias-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cpBias_r15_fmt)
+
+#.TYPE_ATTR
+Geometric-Ionospheric-Corrections-Differences-Element-r15/ambiguityStatusFlag-r15 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_ambiguityStatusFlag_r15_vals)
+
+#.TYPE_ATTR
+Geometric-Ionospheric-Corrections-Differences-Element-r15/geometricCarrierPhaseCorrectionDifference-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_2000m_fmt)
+
+#.TYPE_ATTR
+Geometric-Ionospheric-Corrections-Differences-Element-r15/ionosphericCarrierPhaseCorrectionDifference-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_2000m_fmt)
+
+#.TYPE_ATTR
+RTK-Residuals-Element-r15/s-oc-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_2000m_fmt)
+
+#.TYPE_ATTR
+RTK-Residuals-Element-r15/s-od-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_100ppm_fmt)
+
+#.TYPE_ATTR
+RTK-Residuals-Element-r15/s-oh-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_10ppm_fmt)
+
+#.TYPE_ATTR
+RTK-Residuals-Element-r15/s-lc-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_2000m_fmt)
+
+#.TYPE_ATTR
+FKP-Gradients-Element-r15/north-geometric-gradient-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_100ppm_fmt)
+
+#.TYPE_ATTR
+FKP-Gradients-Element-r15/east-geometric-gradient-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_100ppm_fmt)
+
+#.TYPE_ATTR
+FKP-Gradients-Element-r15/north-ionospheric-gradient-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_100ppm_fmt)
+
+#.TYPE_ATTR
+FKP-Gradients-Element-r15/east-ionospheric-gradient-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_100ppm_fmt)
+
+#.TYPE_ATTR
+GNSS-SSR-OrbitCorrections-r15/ssrUpdateInterval-r15 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_ssrUpdateInterval_r15_vals)
+
+#.TYPE_ATTR
+SSR-OrbitCorrectionSatelliteElement-r15/delta-radial-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_10000m_fmt)
+
+#.TYPE_ATTR
+SSR-OrbitCorrectionSatelliteElement-r15/delta-AlongTrack-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_4_10000m_fmt)
+
+#.TYPE_ATTR
+SSR-OrbitCorrectionSatelliteElement-r15/delta-CrossTrack-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_4_10000m_fmt)
+
+#.TYPE_ATTR
+SSR-OrbitCorrectionSatelliteElement-r15/dot-delta-radial-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000000m_s_fmt)
+
+#.TYPE_ATTR
+SSR-OrbitCorrectionSatelliteElement-r15/dot-delta-AlongTrack-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_4_1000000m_s_fmt)
+
+#.TYPE_ATTR
+SSR-OrbitCorrectionSatelliteElement-r15/dot-delta-CrossTrack-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_4_1000000m_s_fmt)
+
+#.TYPE_ATTR
+GNSS-SSR-ClockCorrections-r15/ssrUpdateInterval-r15 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_ssrUpdateInterval_r15_vals)
+
+#.TYPE_ATTR
+SSR-ClockCorrectionSatelliteElement-r15/delta-Clock-C0-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_10000m_fmt)
+
+#.TYPE_ATTR
+SSR-ClockCorrectionSatelliteElement-r15/delta-Clock-C1-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_1000000m_s_fmt)
+
+#.TYPE_ATTR
+SSR-ClockCorrectionSatelliteElement-r15/delta-Clock-C2-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_2_100000000m_s2_fmt)
+
+#.TYPE_ATTR
+GNSS-SSR-CodeBias-r15/ssrUpdateInterval-r15 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_ssrUpdateInterval_r15_vals)
+
+#.TYPE_ATTR
+SSR-CodeBiasSignalElement-r15/codeBias-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_100000m_fmt)
+
+#.FN_FTR StoredNavListInfo/gnss-WeekOrDay
+ proto_item_append_text(actx->created_item, " (days for glonass, weeks otherwise)");
+
+#.FN_FTR StoredNavListInfo/gnss-Toe
+ proto_item_append_text(actx->created_item, " (units of 15 mns for glonass, hours otherwise)");
+
+#.FN_FTR StoredNavListInfo/t-toeLimit
+ proto_item_append_text(actx->created_item, " (units of 30 mns for glonass, hours otherwise)");
+
+#.TYPE_ATTR
+GNSS-DataBitAssistanceReq/gnss-TOD-Req DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+GNSS-DataBitAssistanceReq/gnss-TOD-FracReq DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+GNSS-DataBitAssistanceReq/dataBitInterval TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_dataBitInterval_vals_ext
+
+#.TYPE_ATTR
+MeasurementReferenceTime/gnss-TOD-msec DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+MeasurementReferenceTime/gnss-TOD-frac DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_fractionalSecondsFromFrameStructureStart_fmt)
+
+#.TYPE_ATTR
+MeasurementReferenceTime/gnss-TOD-unc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_referenceTimeUnc_fmt)
+
+#.TYPE_ATTR
+MeasurementReferenceTime/networkTime/gSM/deltaGNSS-TOD DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+GNSS-SgnMeasElement/gnss-CodePhaseAmbiguity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/cNo DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbhz
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/carrierQualityInd TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_carrierQualityInd_vals)
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/codePhase DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_GNSS_SatMeas_codePhase_fmt)
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/integerCodePhase DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/codePhaseRMSError DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_codePhaseRMSError_fmt)
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/doppler DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_doppler_fmt)
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/adr DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_adr_fmt)
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/eag_1/adrMSB-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_adrMSB_r15_fmt)
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/eag_1/adrRMSerror-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_adr_fmt)
+
+#.TYPE_ATTR
+GNSS-SatMeasElement/eag_1/delta-codePhase-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_GNSS_SatMeas_delta_codePhase_r15_fmt)
+
+#.FN_BODY GNSS-ID/gnss-id VAL_PTR = &gnss_id
+ guint32 gnss_id;
+%(DEFAULT_BODY)s
+ actx->private_data = GUINT_TO_POINTER(gnss_id);
+
+#.TYPE_ATTR
+GNSS-PeriodicControlParam-r15/deliveryAmount-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_deliveryAmount_r15_fmt)
+
+#.TYPE_ATTR
+GNSS-PeriodicControlParam-r15/deliveryInterval-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+MeasuredResultsElement/rsrp-Result DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_rsrp_Result_fmt)
+
+#.TYPE_ATTR
+MeasuredResultsElement/rsrq-Result DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_rsrq_Result_fmt)
+
+#.TYPE_ATTR
+MeasuredResultsElement/ue-RxTxTimeDiff DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_ue_RxTxTimeDiff_fmt)
+
+#.TYPE_ATTR
+MeasuredResultsElement/eag_2/nrsrp-Result-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_nrsrp_Result_fmt)
+
+#.TYPE_ATTR
+MeasuredResultsElement/eag_2/nrsrq-Result-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_nrsrq_Result_fmt)
+
+#.TYPE_ATTR
+MeasuredResultsElement/eag_3/rsrp-Result-v1470 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_rsrp_Result_v1470_fmt)
+
+#.TYPE_ATTR
+MeasuredResultsElement/eag_3/rsrq-Result-v1470 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_rsrq_Result_v1470_fmt)
+
+#.TYPE_ATTR
+MBS-BeaconMeasElement-r13/codePhase-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_mbs_beaconMeasElt_codePhase_fmt)
+
+#.TYPE_ATTR
+MBS-BeaconMeasElement-r13/codePhaseRMSError-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_codePhaseRMSError_fmt)
+
+#.TYPE_ATTR
+MBS-BeaconMeasElement-r13/eag_1/rssi-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+Sensor-MeasurementInformation-r13/uncompensatedBarometricPressure-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_pa
+
+#.TYPE_ATTR
+Sensor-MeasurementInformation-r13/eag_1/uncertainty-r14/range-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_pa
+
+#.TYPE_ATTR
+Sensor-MeasurementInformation-r13/eag_1/uncertainty-r14/confidence-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+Displacement-r15/bearing-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_10_degrees_fmt)
+
+#.TYPE_ATTR
+Displacement-r15/bearingUncConfidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+Displacement-r15/horizontalDistance-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_100_m_fmt)
+
+#.TYPE_ATTR
+Displacement-r15/horizontalUncConfidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+Displacement-r15/verticalDistance-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_100_m_fmt)
+
+#.TYPE_ATTR
+Displacement-r15/verticalUncConfidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt)
+
+#.TYPE_ATTR
+UTC-Time-r15/utcTime-ms-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.FN_BODY MBS-AlmanacAssistance-r14/transmitterLatitude-r14 VAL_PTR = &transmitterLatitude_tvb HF_INDEX=-1
+ tvbuff_t *transmitterLatitude_tvb = NULL;
+ guint32 val;
+
+%(DEFAULT_BODY)s
+ val = tvb_get_bits32(transmitterLatitude_tvb, 0, 26, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, transmitterLatitude_tvb, 0, 4, val);
+
+#.TYPE_ATTR
+MBS-AlmanacAssistance-r14/transmitterLatitude-r14 TYPE=FT_UINT32 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_transmitterLatitude_fmt)
+
+#.FN_BODY MBS-AlmanacAssistance-r14/transmitterLongitude-r14 VAL_PTR = &transmitterLongitude_tvb HF_INDEX=-1
+ tvbuff_t *transmitterLongitude_tvb = NULL;
+ guint32 val;
+
+%(DEFAULT_BODY)s
+ val = tvb_get_bits32(transmitterLongitude_tvb, 0, 27, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, transmitterLongitude_tvb, 0, 4, val);
+
+#.TYPE_ATTR
+MBS-AlmanacAssistance-r14/transmitterLongitude-r14 TYPE=FT_UINT32 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_transmitterLongitude_fmt)
+
+#.FN_BODY MBS-AlmanacAssistance-r14/transmitterAltitude-r14 VAL_PTR = &transmitterAltitude_tvb HF_INDEX=-1
+ tvbuff_t *transmitterAltitude_tvb = NULL;
+ guint32 val;
+
+%(DEFAULT_BODY)s
+ val = tvb_get_bits16(transmitterAltitude_tvb, 0, 15, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, transmitterAltitude_tvb, 0, 2, val);
+
+#.TYPE_ATTR
+MBS-AlmanacAssistance-r14/transmitterAltitude-r14 TYPE=FT_UINT16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_transmitterAltitude_fmt)
+
+#.TYPE_ATTR
+MBS-AlmanacAssistance-r14/timeCorrection-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_nanoseconds
+
+#.TYPE_ATTR
+MBS-AcquisitionAssistance-r14/freq-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_hz
+
+#.TYPE_ATTR
+Sensor-AssistanceDataList-r14/refPressure-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_refPressure_fmt)
+
+#.TYPE_ATTR
+Sensor-AssistanceDataList-r14/refTemperature-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_refTemperature_fmt)
+
+#.TYPE_ATTR
+Sensor-AssistanceDataList-r14/eag_1/period-v1520/referencePressureRate-v1520 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_referencePressureRate_v1520_fmt)
+
+#.FN_FTR Sensor-AssistanceDataList-r14/eag_1/area-v1520/gN-pressure-v1520
+ proto_item_append_text(actx->created_item, "Pa/Km");
+
+#.FN_FTR Sensor-AssistanceDataList-r14/eag_1/area-v1520/gE-pressure-v1520
+ proto_item_append_text(actx->created_item, "Pa/Km");
+
+#.TYPE_ATTR
+PressureValidityArea-v1520/validityAreaWidth-v1520 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_km
+
+#.TYPE_ATTR
+PressureValidityArea-v1520/vvalidityAreaHeight-v1520 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_km
+
+#.TYPE_ATTR
+PressureValidityPeriod-v1520/beginTimeAlt-v1520 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_PressureValidityPeriod_v1520_fmt)
+
+#.TYPE_ATTR
+PressureValidityPeriod-v1520/duration-v1520 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_PressureValidityPeriod_v1520_fmt)
+
+#.TYPE_ATTR
+WLAN-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+WLAN-AP-Identifier-r13/bssid-r13 TYPE=FT_ETHER
+
+#.TYPE_ATTR
+WLAN-AP-Identifier-r13/ssid-r13 TYPE=FT_STRING DISPLAY=BASE_NONE
+
+#.FN_BODY WLAN-AP-Identifier-r13/ssid-r13 VAL_PTR=&ssid_tvb HF_INDEX=-1
+ tvbuff_t *ssid_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
+
+#.TYPE_ATTR
+BT-MeasurementElement-r13/btAddr-r13 TYPE=FT_ETHER DISPLAY=BASE_NONE
+
+#.FN_BODY BT-MeasurementElement-r13/btAddr-r13 VAL_PTR=&btAddr_tvb HF_INDEX=-1
+ tvbuff_t *btAddr_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, btAddr_tvb, 0, 6, ENC_NA);
+
+#.TYPE_ATTR
+BT-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.FN_HDR CipheringKeyData-r15
+ lpp_get_private_data(actx->pinfo)->is_ciphered = TRUE;
+
+#.FN_HDR SegmentationInfo-r15
+ lpp_get_private_data(actx->pinfo)->is_segmented = TRUE;
+
+#.FN_BODY AssistanceDataSIBelement-r15/assistanceDataElement-r15 VAL_PTR = &assist_data_sib_elem_tvb
+ tvbuff_t *assist_data_sib_elem_tvb = NULL;
+ struct lpp_private_data *lpp_data = lpp_get_private_data(actx->pinfo);
+
+%(DEFAULT_BODY)s
+
+ if (assist_data_sib_elem_tvb && !lpp_data->is_ciphered && !lpp_data->is_segmented) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lpp_assistanceDataElement_r15);
+
+ switch (lpp_data->pos_sib_type) {
+ case LPP_POS_SIB_TYPE_1_1:
+ dissect_GNSS_ReferenceTime_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_1_2:
+ dissect_GNSS_ReferenceLocation_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_1_3:
+ dissect_GNSS_IonosphericModel_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_1_4:
+ dissect_GNSS_EarthOrientationParameters_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_1_5:
+ dissect_GNSS_RTK_ReferenceStationInfo_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_1_6:
+ dissect_GNSS_RTK_CommonObservationInfo_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_1_7:
+ dissect_GNSS_RTK_AuxiliaryStationData_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_1_8:
+ dissect_GNSS_SSR_CorrectionPoints_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_1_9:
+ dissect_GNSS_Integrity_ServiceParameters_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_1_10:
+ dissect_GNSS_Integrity_ServiceAlert_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_1:
+ dissect_GNSS_TimeModelList_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_2:
+ dissect_GNSS_DifferentialCorrections_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_3:
+ dissect_GNSS_NavigationModel_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_4:
+ dissect_GNSS_RealTimeIntegrity_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_5:
+ dissect_GNSS_DataBitAssistance_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_6:
+ dissect_GNSS_AcquisitionAssistance_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_7:
+ dissect_GNSS_Almanac_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_8:
+ dissect_GNSS_UTC_Model_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_9:
+ dissect_GNSS_AuxiliaryInformation_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_10:
+ dissect_BDS_DifferentialCorrections_r12_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_11:
+ dissect_BDS_GridModelParameter_r12_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_12:
+ dissect_GNSS_RTK_Observations_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_13:
+ dissect_GLO_RTK_BiasInformation_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_14:
+ dissect_GNSS_RTK_MAC_CorrectionDifferences_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_15:
+ dissect_GNSS_RTK_Residuals_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_16:
+ dissect_GNSS_RTK_FKP_Gradients_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_17:
+ dissect_GNSS_SSR_OrbitCorrections_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_18:
+ dissect_GNSS_SSR_ClockCorrections_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_19:
+ dissect_GNSS_SSR_CodeBias_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_20:
+ dissect_GNSS_SSR_URA_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_21:
+ dissect_GNSS_SSR_PhaseBias_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_22:
+ dissect_GNSS_SSR_STEC_Correction_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_23:
+ dissect_GNSS_SSR_GriddedCorrection_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_24:
+ dissect_NavIC_DifferentialCorrections_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_2_25:
+ dissect_NavIC_GridModelParameter_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_3_1:
+ dissect_OTDOA_UE_Assisted_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_4_1:
+ dissect_Sensor_AssistanceDataList_r14_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_5_1:
+ dissect_TBS_AssistanceDataList_r14_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_6_1:
+ dissect_NR_DL_PRS_AssistanceData_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_6_2:
+ dissect_NR_UEB_TRP_LocationData_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_6_3:
+ dissect_NR_UEB_TRP_RTD_Info_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_6_4:
+ dissect_NR_TRP_BeamAntennaInfo_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_6_5:
+ dissect_NR_DL_PRS_TRP_TEG_Info_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case LPP_POS_SIB_TYPE_6_6:
+ dissect_NR_On_Demand_DL_PRS_Configurations_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
diff --git a/epan/dissectors/asn1/lpp/packet-lpp-template.c b/epan/dissectors/asn1/lpp/packet-lpp-template.c
new file mode 100644
index 00000000..93fb2645
--- /dev/null
+++ b/epan/dissectors/asn1/lpp/packet-lpp-template.c
@@ -0,0 +1,2156 @@
+/* packet-lpp.c
+ * Routines for 3GPP LTE Positioning Protocol (LPP) packet dissection
+ * Copyright 2011-2023 Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref 3GPP TS 37.355 version 17.5.0 Release 17
+ * http://www.3gpp.org
+ */
+
+#include "config.h"
+
+#include "math.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/tfs.h>
+#include <epan/proto_data.h>
+
+#include "packet-per.h"
+#include "packet-lpp.h"
+
+#define PNAME "LTE Positioning Protocol (LPP)"
+#define PSNAME "LPP"
+#define PFNAME "lpp"
+
+void proto_register_lpp(void);
+void proto_reg_handoff_lpp(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_lpp = -1;
+
+#include "packet-lpp-hf.c"
+static int hf_lpp_svHealthExt_v1240_e5bhs = -1;
+static int hf_lpp_svHealthExt_v1240_e1_bhs = -1;
+static int hf_lpp_kepSV_StatusINAV_e5bhs = -1;
+static int hf_lpp_kepSV_StatusINAV_e1_bhs = -1;
+static int hf_lpp_kepSV_StatusFNAV_e5ahs = -1;
+static int hf_lpp_bdsSvHealth_r12_sat_clock = -1;
+static int hf_lpp_bdsSvHealth_r12_b1i = -1;
+static int hf_lpp_bdsSvHealth_r12_b2i = -1;
+static int hf_lpp_bdsSvHealth_r12_nav = -1;
+static int hf_lpp_AssistanceDataSIBelement_r15_PDU = -1;
+
+static dissector_handle_t lppe_handle = NULL;
+
+static guint32 lpp_epdu_id = -1;
+
+/* Initialize the subtree pointers */
+static gint ett_lpp = -1;
+static gint ett_lpp_svHealthExt_v1240 = -1;
+static gint ett_kepSV_StatusINAV = -1;
+static gint ett_kepSV_StatusFNAV = -1;
+static gint ett_lpp_bdsSvHealth_r12 = -1;
+static gint ett_lpp_assistanceDataElement_r15 = -1;
+#include "packet-lpp-ett.c"
+
+/* Include constants */
+#include "packet-lpp-val.h"
+
+static const value_string lpp_ePDU_ID_vals[] = {
+ { 1, "OMA LPP extensions (LPPe)"},
+ { 0, NULL}
+};
+
+struct lpp_private_data {
+ lpp_pos_sib_type_t pos_sib_type;
+ gboolean is_ciphered;
+ gboolean is_segmented;
+};
+
+static struct lpp_private_data*
+lpp_get_private_data(packet_info *pinfo)
+{
+ struct lpp_private_data *lpp_data = (struct lpp_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_lpp, 0);
+ if (!lpp_data) {
+ lpp_data = wmem_new0(pinfo->pool, struct lpp_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_lpp, 0, lpp_data);
+ }
+ return lpp_data;
+}
+
+/* Forward declarations */
+static int dissect_GNSS_ReferenceTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_ReferenceLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_IonosphericModel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_EarthOrientationParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_RTK_ReferenceStationInfo_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_RTK_CommonObservationInfo_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_RTK_AuxiliaryStationData_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_SSR_CorrectionPoints_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_Integrity_ServiceParameters_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_Integrity_ServiceAlert_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_TimeModelList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_DifferentialCorrections_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_NavigationModel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_RealTimeIntegrity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_DataBitAssistance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_AcquisitionAssistance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_Almanac_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_UTC_Model_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_AuxiliaryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_BDS_DifferentialCorrections_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_BDS_GridModelParameter_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_RTK_Observations_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GLO_RTK_BiasInformation_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_RTK_MAC_CorrectionDifferences_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_RTK_Residuals_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_RTK_FKP_Gradients_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_SSR_OrbitCorrections_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_SSR_ClockCorrections_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_SSR_CodeBias_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_SSR_URA_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_SSR_PhaseBias_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_SSR_STEC_Correction_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_GNSS_SSR_GriddedCorrection_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_NavIC_DifferentialCorrections_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_NavIC_GridModelParameter_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_OTDOA_UE_Assisted_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_Sensor_AssistanceDataList_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_TBS_AssistanceDataList_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_NR_DL_PRS_AssistanceData_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_NR_UEB_TRP_LocationData_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_NR_UEB_TRP_RTD_Info_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_NR_TRP_BeamAntennaInfo_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_NR_DL_PRS_TRP_TEG_Info_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_NR_On_Demand_DL_PRS_Configurations_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static void
+lpp_degreesLatitude_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)",
+ ((float)v/8388607.0)*90, v);
+}
+
+static void
+lpp_degreesLongitude_fmt(gchar *s, guint32 v)
+{
+ gint32 longitude = (gint32) v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%d)",
+ ((float)longitude/8388608.0)*180, longitude);
+}
+
+static void
+lpp_uncertainty_fmt(gchar *s, guint32 v)
+{
+ double uncertainty = 10*(pow(1.1, (double)v)-1);
+
+ if (uncertainty < 1000) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm (%u)", uncertainty, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%fkm (%u)", uncertainty/1000, v);
+ }
+}
+
+static void
+lpp_angle_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%u degrees (%u)", 2*v, v);
+}
+
+static void
+lpp_confidence_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "no information (0)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%u%%", v);
+ }
+}
+
+static void
+lpp_1_10_degrees_fmt(gchar *s, guint32 v)
+{
+ double val = (double)v/10;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", val, v);
+}
+
+static void
+lpp_1_100_m_fmt(gchar *s, guint32 v)
+{
+ double val = (double)v/100;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", val, v);
+}
+
+static void
+lpp_measurementLimit_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%u octets (%u)", 100*v, v);
+}
+
+static void
+lpp_altitude_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%um", v);
+}
+
+static void
+lpp_uncertaintyAltitude_fmt(gchar *s, guint32 v)
+{
+ double uncertainty = 45*(pow(1.025, (double)v)-1);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm (%u)", uncertainty, v);
+}
+
+static void
+lpp_radius_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%um (%u)", 5*v, v);
+}
+
+static void
+lpp_nr_LTE_fineTiming_Offset_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v);
+}
+
+static void
+lpp_expectedRSTD_fmt(gchar *s, guint32 v)
+{
+ gint32 rstd = 3*((gint32)v-8192);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%dTs (%u)", rstd, v);
+}
+
+static void
+lpp_expectedRSTD_Uncertainty_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%uTs (%u)", 3*v, v);
+}
+
+static void
+lpp_rstd_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSTD < -15391Ts (0)");
+ } else if (v < 2260) {
+ snprintf(s, ITEM_LABEL_LENGTH, "-%uTs <= RSTD < -%uTs (%u)", 15391-5*(v-1), 15391-5*v, v);
+ } else if (v < 6355) {
+ snprintf(s, ITEM_LABEL_LENGTH, "-%uTs <= RSTD < -%uTs (%u)", 6356-v, 6355-v, v);
+ } else if (v == 6355) {
+ snprintf(s, ITEM_LABEL_LENGTH, "-1Ts <= RSTD <= 0Ts (6355)");
+ } else if (v < 10452) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%uTs < RSTD <= %uTs (%u)", v-6356, v-6355, v);
+ } else if (v < 12711) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%uTs < RSTD <= %uTs (%u)", 5*(v-1)-48159, 5*v-48159, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "15391Ts < RSTD (12711)");
+ }
+}
+
+static const value_string lpp_error_Resolution_vals[] = {
+ { 0, "5 meters"},
+ { 1, "10 meters"},
+ { 2, "20 meters"},
+ { 3, "30 meters"},
+ { 0, NULL}
+};
+
+static const value_string lpp_error_Value_vals[] = {
+ { 0, "0 to (R*1-1) meters"},
+ { 1, "R*1 to (R*2-1) meters"},
+ { 2, "R*2 to (R*3-1) meters"},
+ { 3, "R*3 to (R*4-1) meters"},
+ { 4, "R*4 to (R*5-1) meters"},
+ { 5, "R*5 to (R*6-1) meters"},
+ { 6, "R*6 to (R*7-1) meters"},
+ { 7, "R*7 to (R*8-1) meters"},
+ { 8, "R*8 to (R*9-1) meters"},
+ { 9, "R*9 to (R*10-1) meters"},
+ { 10, "R*10 to (R*11-1) meters"},
+ { 11, "R*11 to (R*12-1) meters"},
+ { 12, "R*12 to (R*13-1) meters"},
+ { 13, "R*13 to (R*14-1) meters"},
+ { 14, "R*14 to (R*15-1) meters"},
+ { 15, "R*15 to (R*16-1) meters"},
+ { 16, "R*16 to (R*17-1) meters"},
+ { 17, "R*17 to (R*18-1) meters"},
+ { 18, "R*18 to (R*19-1) meters"},
+ { 19, "R*19 to (R*20-1) meters"},
+ { 20, "R*20 to (R*21-1) meters"},
+ { 21, "R*21 to (R*22-1) meters"},
+ { 22, "R*22 to (R*23-1) meters"},
+ { 23, "R*23 to (R*24-1) meters"},
+ { 24, "R*24 to (R*25-1) meters"},
+ { 25, "R*25 to (R*26-1) meters"},
+ { 26, "R*26 to (R*27-1) meters"},
+ { 27, "R*27 to (R*28-1) meters"},
+ { 28, "R*28 to (R*29-1) meters"},
+ { 29, "R*29 to (R*30-1) meters"},
+ { 30, "R*30 to (R*31-1) meters"},
+ { 31, "R*31 meters or more"},
+ { 0, NULL}
+};
+static value_string_ext lpp_error_Value_vals_ext = VALUE_STRING_EXT_INIT(lpp_error_Value_vals);
+
+static const value_string lpp_error_NumSamples_vals[] = {
+ { 0, "Not the baseline metric"},
+ { 1, "5-9"},
+ { 2, "10-14"},
+ { 3, "15-24"},
+ { 4, "25-34"},
+ { 5, "35-44"},
+ { 6, "45-54"},
+ { 7, "55 or more"},
+ { 0, NULL}
+};
+
+static void
+lpp_relativeTimeDifference_fmt(gchar *s, guint32 v)
+{
+ double rtd = (double)((gint32)v)*0.5;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f Ts (%d)", rtd, (gint32)v);
+}
+
+static void
+lpp_referenceTimeUnc_fmt(gchar *s, guint32 v)
+{
+ double referenceTimeUnc = 0.5*(pow(1.14, (double)v)-1);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fus (%u)", referenceTimeUnc, v);
+}
+
+static const value_string lpp_kp_vals[] = {
+ { 0, "No UTC correction at the end of current quarter"},
+ { 1, "UTC correction by plus (+1 s) in the end of current quarter"},
+ { 3, "UTC correction by minus (-1 s) in the end of current quarter"},
+ { 0, NULL}
+};
+
+static void
+lpp_fractionalSecondsFromFrameStructureStart_fmt(gchar *s, guint32 v)
+{
+ float frac = ((float)v)/4;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fus (%u)", frac, v);
+}
+
+static void
+lpp_frameDrift_fmt(gchar *s, guint32 v)
+{
+ double drift = (double)((gint32)v)*pow(2, -30);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", drift, (gint32)v);
+}
+
+static const value_string lpp_dataID_vals[] = {
+ { 0, "Parameters are applicable worldwide"},
+ { 1, "Parameters have been generated by BDS"},
+ { 3, "Parameters have been generated by QZSS"},
+ { 0, NULL}
+};
+
+static void
+lpp_alpha0_fmt(gchar *s, guint32 v)
+{
+ double alpha = (double)((gint32)v)*pow(2, -30);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", alpha, (gint32)v);
+}
+
+static void
+lpp_alpha1_fmt(gchar *s, guint32 v)
+{
+ double alpha = (double)((gint32)v)*pow(2, -27);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (gint32)v);
+}
+
+static void
+lpp_alpha2_3_fmt(gchar *s, guint32 v)
+{
+ double alpha = (double)((gint32)v)*pow(2, -24);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (gint32)v);
+}
+
+static void
+lpp_beta0_fmt(gchar *s, guint32 v)
+{
+ double beta = (double)((gint32)v)*pow(2, 11);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", beta, (gint32)v);
+}
+
+static void
+lpp_beta1_fmt(gchar *s, guint32 v)
+{
+ double beta = (double)((gint32)v)*pow(2, 14);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (gint32)v);
+}
+
+static void
+lpp_beta2_3_fmt(gchar *s, guint32 v)
+{
+ double beta = (double)((gint32)v)*pow(2, 16);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (gint32)v);
+}
+
+static void
+lpp_ai0_fmt(gchar *s, guint32 v)
+{
+ double ai = (double)v*pow(2, -2);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gsfu (%u)", ai, v);
+}
+
+static void
+lpp_ai1_fmt(gchar *s, guint32 v)
+{
+ double ai = (double)v*pow(2, -8);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gsfu/degree (%u)", ai, v);
+}
+
+static void
+lpp_ai2_fmt(gchar *s, guint32 v)
+{
+ double ai = (double)v*pow(2, -15);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gsfu/degree2 (%u)", ai, v);
+}
+
+static void
+lpp_teop_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v);
+}
+
+static void
+lpp_pmX_Y_fmt(gchar *s, guint32 v)
+{
+ double pm = (double)((gint32)v)*pow(2, -20);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds (%d)", pm, (gint32)v);
+}
+
+static void
+lpp_pmX_Ydot_fmt(gchar *s, guint32 v)
+{
+ double pmDot = (double)((gint32)v)*pow(2, -21);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds/day (%d)", pmDot, (gint32)v);
+}
+
+static void
+lpp_deltaUT1_fmt(gchar *s, guint32 v)
+{
+ double deltaUT1 = (double)((gint32)v)*pow(2, -24);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", deltaUT1, (gint32)v);
+}
+
+static void
+lpp_deltaUT1dot_fmt(gchar *s, guint32 v)
+{
+ double deltaUT1dot = (double)((gint32)v)*pow(2, -25);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/day (%d)", deltaUT1dot, (gint32)v);
+}
+
+static void
+lpp_1_1000m_64_fmt(gchar *s, uint64_t v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%"PRId64")", (double)v/1000, (int64_t)v);
+}
+
+static void
+lpp_1_1000m_32_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (double)v/1000, (gint32)v);
+}
+
+static const value_string lpp_clockSteeringIndicator_vals[] = {
+ { 0, "Clock steering is not applied"},
+ { 1, "Clock steering has been applied"},
+ { 2, "Unknown clock steering status"},
+ { 3, "Reserved"},
+ { 0, NULL}
+};
+
+static const value_string lpp_externalClockIndicator_vals[] = {
+ { 0, "Internal clock is used"},
+ { 1, "External clock is used, clock status is \"locked\""},
+ { 2, "External clock is used, clock status is \"not locked\", which may indicate external clock failure and that the transmitted data may not be reliable"},
+ { 3, "Unknown clock is used"},
+ { 0, NULL}
+};
+
+static const value_string lpp_smoothingIndicator_r15_vals[] = {
+ { 0, "Other type of smoothing is used"},
+ { 1, "Divergence-free smoothing is used"},
+ { 0, NULL}
+};
+
+static const value_string lpp_smoothingInterval_r15_vals[] = {
+ { 0, "No smoothing"},
+ { 1, "< 30 s"},
+ { 2, "30-60 s"},
+ { 3, "1-2 min"},
+ { 4, "2-4 min"},
+ { 5, "4-8 min"},
+ { 6, "> 8 min"},
+ { 7, "Unlimited smoothing interval"},
+ { 0, NULL}
+};
+
+static void
+lpp_aux_master_delta_fmt(gchar *s, guint32 v)
+{
+ double delta = (double)((gint32)v)*25*pow(10, -6);
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%u)", delta, (gint32)v);
+}
+
+static void
+lpp_gnss_TimeModelRefTime_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*16, v);
+}
+
+static void
+lpp_tA0_fmt(gchar *s, guint32 v)
+{
+ double tA0 = (double)((gint32)v)*pow(2, -35);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tA0, (gint32)v);
+}
+
+static void
+lpp_tA1_fmt(gchar *s, guint32 v)
+{
+ double tA1 = (double)((gint32)v)*pow(2, -51);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", tA1, (gint32)v);
+}
+
+static void
+lpp_tA2_fmt(gchar *s, guint32 v)
+{
+ double tA2 = (double)((gint32)v)*pow(2, -68);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", tA2, (gint32)v);
+}
+
+static const value_string lpp_gnss_TO_ID_vals[] = {
+ { 1, "GPS"},
+ { 2, "Galileo"},
+ { 3, "QZSS"},
+ { 4, "GLONASS"},
+ { 0, NULL}
+};
+
+static const value_string lpp_gnss_StatusHealth_vals[] = {
+ { 0, "UDRE Scale Factor = 1.0"},
+ { 1, "UDRE Scale Factor = 0.75"},
+ { 2, "UDRE Scale Factor = 0.5"},
+ { 3, "UDRE Scale Factor = 0.3"},
+ { 4, "UDRE Scale Factor = 0.2"},
+ { 5, "UDRE Scale Factor = 0.1"},
+ { 6, "Reference Station Transmission Not Monitored"},
+ { 7, "Data is invalid - disregard"},
+ { 0, NULL}
+};
+
+static const value_string lpp_udre_vals[] = {
+ { 0, "UDRE <= 1.0m"},
+ { 1, "1.0m < UDRE <= 4.0m"},
+ { 2, "4.0m < UDRE <= 8.0m"},
+ { 3, "8.0m < UDRE"},
+ { 0, NULL}
+};
+
+static void
+lpp_pseudoRangeCor_fmt(gchar *s, guint32 v)
+{
+ double pseudoRangeCor = ((double)(gint32)v)*0.32;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", pseudoRangeCor, (gint32)v);
+}
+
+static void
+lpp_rangeRateCor_fmt(gchar *s, guint32 v)
+{
+ double rangeRateCor = ((double)(gint32)v)*0.032;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", rangeRateCor, (gint32)v);
+}
+
+static const value_string lpp_udreGrowthRate_vals[] = {
+ { 0, "1.5"},
+ { 1, "2"},
+ { 2, "4"},
+ { 3, "6"},
+ { 4, "8"},
+ { 5, "10"},
+ { 6, "12"},
+ { 7, "16"},
+ { 0, NULL}
+};
+
+static const value_string lpp_udreValidityTime_vals[] = {
+ { 0, "20s"},
+ { 1, "40s"},
+ { 2, "80s"},
+ { 3, "160s"},
+ { 4, "320s"},
+ { 5, "640s"},
+ { 6, "1280s"},
+ { 7, "2560s"},
+ { 0, NULL}
+};
+
+static const value_string lpp_signal_health_status_vals[] = {
+ { 0, "Signal OK"},
+ { 1, "Signal out of service"},
+ { 2, "Signal will be out of service"},
+ { 3, "Signal Component currently in Test"},
+ { 0, NULL}
+};
+static void
+lpp_stanClockToc_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%um/s (%u)", 60*v, v);
+}
+
+static void
+lpp_stanClockAF2_fmt(gchar *s, guint32 v)
+{
+ double stanClockAF2 = (double)((gint32)v)*pow(2, -59);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", stanClockAF2, (gint32)v);
+}
+
+static void
+lpp_stanClockAF1_fmt(gchar *s, guint32 v)
+{
+ double stanClockAF1 = (double)((gint32)v)*pow(2, -46);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", stanClockAF1, (gint32)v);
+}
+
+static void
+lpp_stanClockAF0_fmt(gchar *s, guint32 v)
+{
+ double stanClockAF0 = (double)((gint32)v)*pow(2, -34);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockAF0, (gint32)v);
+}
+
+static void
+lpp_stanClockTgd_fmt(gchar *s, guint32 v)
+{
+ double stanClockTgd = (double)((gint32)v)*pow(2, -32);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockTgd, (gint32)v);
+}
+
+static void
+lpp_sisa_fmt(gchar *s, guint32 v)
+{
+ if (v < 50) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", v, v);
+ } else if (v < 75) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", 50+((v-50)*2), v);
+ } else if (v < 100) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", 100+((v-75)*4), v);
+ } else if (v < 126) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", 200+((v-100)*16), v);
+ } else if (v < 255) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "No Accuracy Prediction Available (255)");
+ }
+}
+
+static const value_string lpp_stanModelID_vals[] = {
+ { 0, "I/Nav"},
+ { 1, "F/Nav"},
+ { 0, NULL}
+};
+
+static void
+lpp_navToc_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v);
+}
+
+static void
+lpp_navaf2_fmt(gchar *s, guint32 v)
+{
+ double navaf2 = (double)((gint32)v)*pow(2, -55);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", navaf2, (gint32)v);
+}
+
+static void
+lpp_navaf1_fmt(gchar *s, guint32 v)
+{
+ double navaf1 = (double)((gint32)v)*pow(2, -43);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf1, (gint32)v);
+}
+
+static void
+lpp_navaf0_navTgd_fmt(gchar *s, guint32 v)
+{
+ double navaf0_navTgd = (double)((gint32)v)*pow(2, -31);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf0_navTgd, (gint32)v);
+}
+
+static void
+lpp_cnavToc_cnavTop_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 300*v, v);
+}
+
+static void
+lpp_cnavAf2_fmt(gchar *s, guint32 v)
+{
+ double cnavAf2 = (double)((gint32)v)*pow(2, -60);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", cnavAf2, (gint32)v);
+}
+
+static void
+lpp_cnavAf1_fmt(gchar *s, guint32 v)
+{
+ double cnavAf1 = (double)((gint32)v)*pow(2, -48);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", cnavAf1, (gint32)v);
+}
+
+static void
+lpp_cnavX_fmt(gchar *s, guint32 v)
+{
+ double cnavX = (double)((gint32)v)*pow(2, -35);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", cnavX, (gint32)v);
+}
+
+static void
+lpp_gloTau_gloDeltaTau_fmt(gchar *s, guint32 v)
+{
+ double gloTau_gloDeltaTau = (double)((gint32)v)*pow(2, -30);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloTau_gloDeltaTau, (gint32)v);
+}
+
+static void
+lpp_gloGamma_fmt(gchar *s, guint32 v)
+{
+ double gloGamma = (double)((gint32)v)*pow(2, -40);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g (%d)", gloGamma, (gint32)v);
+}
+
+static void
+lpp_sbasTo_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v);
+}
+
+static void
+lpp_sbasAgfo_fmt(gchar *s, guint32 v)
+{
+ double sbasAgfo = (double)((gint32)v)*pow(2, -31);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", sbasAgfo, (gint32)v);
+}
+
+static void
+lpp_sbasAgf1_fmt(gchar *s, guint32 v)
+{
+ double sbasAgf1 = (double)((gint32)v)*pow(2, -40);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", sbasAgf1, (gint32)v);
+}
+
+static void
+lpp_bdsAODC_AODE_r12_fmt(gchar *s, guint32 v)
+{
+ if (v < 25) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Age of the satellite clock correction parameters is %u hours (%u)", v, v);
+ } else if (v < 31) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Age of the satellite clock correction parameters is %u days (%u)", v-23, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "Age of the satellite clock correction parameters is over 7 days (%u)", v);
+ }
+}
+
+
+static void
+lpp_bdsToc_Toe_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsToc = (double)((gint32)v)*pow(2, 3);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsToc, (gint32)v);
+}
+
+static void
+lpp_bdsA0_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsA0 = (double)((gint32)v)*pow(2, -33);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsA0, (gint32)v);
+}
+
+static void
+lpp_bdsA1_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsA1 = (double)((gint32)v)*pow(2, -50);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsA1, (gint32)v);
+}
+
+static void
+lpp_bdsA2_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsA2 = (double)((gint32)v)*pow(2, -66);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", bdsA2, (gint32)v);
+}
+
+static void
+lpp_bdsTgd1_r12_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%gns (%d)", (float)((gint32)v)*0.1, (gint32)v);
+}
+
+static void
+lpp_keplerToe_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 60*v, v);
+}
+
+static void
+lpp_keplerW_M0_I0_Omega0_fmt(gchar *s, guint32 v)
+{
+ double keplerW_M0_I0_Omega0 = (double)((gint32)v)*pow(2, -31);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", keplerW_M0_I0_Omega0, (gint32)v);
+}
+
+static void
+lpp_keplerDeltaN_OmegaDot_IDot_fmt(gchar *s, guint32 v)
+{
+ double keplerDeltaN_OmegaDot_IDot = (double)((gint32)v)*pow(2, -43);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", keplerDeltaN_OmegaDot_IDot, (gint32)v);
+}
+
+static void
+lpp_keplerE_fmt(gchar *s, guint32 v)
+{
+ double keplerE = (double)v*pow(2, -33);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", keplerE, v);
+}
+
+static void
+lpp_keplerAPowerHalf_fmt(gchar *s, guint32 v)
+{
+ double keplerAPowerHalf = (double)v*pow(2, -19);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", keplerAPowerHalf, v);
+}
+
+static void
+lpp_keplerCrs_Crc_fmt(gchar *s, guint32 v)
+{
+ double keplerCrs_Crc = (double)((gint32)v)*pow(2, -5);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", keplerCrs_Crc, (gint32)v);
+}
+
+static void
+lpp_keplerCx_fmt(gchar *s, guint32 v)
+{
+ double keplerCx = (double)((gint32)v)*pow(2, -29);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", keplerCx, (gint32)v);
+}
+
+static void
+lpp_navToe_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v);
+}
+
+static void
+lpp_navOmega_M0_I0_OmegaA0_fmt(gchar *s, guint32 v)
+{
+ double navOmega_M0_I0_OmegaA0 = (double)((gint32)v)*pow(2, -31);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navOmega_M0_I0_OmegaA0, (gint32)v);
+}
+
+static void
+lpp_navDeltaN_OmegaADot_IDot_fmt(gchar *s, guint32 v)
+{
+ double navDeltaN_OmegaADot_IDot = (double)((gint32)v)*pow(2, -43);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navDeltaN_OmegaADot_IDot, (gint32)v);
+}
+
+static void
+lpp_navE_fmt(gchar *s, guint32 v)
+{
+ double navE = (double)v*pow(2, -33);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", navE, v);
+}
+
+static void
+lpp_navAPowerHalf_fmt(gchar *s, guint32 v)
+{
+ double navAPowerHalf = (double)v*pow(2, -19);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", navAPowerHalf, v);
+}
+
+static void
+lpp_navCrs_Crc_fmt(gchar *s, guint32 v)
+{
+ double navCrs_Crc = (double)((gint32)v)*pow(2, -5);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", navCrs_Crc, (gint32)v);
+}
+
+static void
+lpp_navCx_fmt(gchar *s, guint32 v)
+{
+ double navCx = (double)((gint32)v)*pow(2, -29);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", navCx, (gint32)v);
+}
+
+static void
+lpp_cnavDeltaA_fmt(gchar *s, guint32 v)
+{
+ double cnavDeltaA = (double)((gint32)v)*pow(2, -9);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavDeltaA, (gint32)v);
+}
+
+static void
+lpp_cnavAdot_fmt(gchar *s, guint32 v)
+{
+ double cnavAdot = (double)((gint32)v)*pow(2, -21);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", cnavAdot, (gint32)v);
+}
+
+static void
+lpp_cnavDeltaNo_fmt(gchar *s, guint32 v)
+{
+ double cnavDeltaNo = (double)((gint32)v)*pow(2, -44);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaNo, (gint32)v);
+}
+
+static void
+lpp_cnavDeltaNoDot_fmt(gchar *s, guint32 v)
+{
+ double cnavDeltaNoDot = (double)((gint32)v)*pow(2, -57);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s2 (%d)", cnavDeltaNoDot, (gint32)v);
+}
+
+static void
+lpp_cnavDeltaOmegaDot_IoDot_fmt(gchar *s, guint32 v)
+{
+ double cnavDeltaOmegaDot_IoDot = (double)((gint32)v)*pow(2, -44);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaOmegaDot_IoDot, (gint32)v);
+}
+
+static void
+lpp_cnavCx_fmt(gchar *s, guint32 v)
+{
+ double cnavCx = (double)((gint32)v)*pow(2, -30);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", cnavCx, (gint32)v);
+}
+
+static void
+lpp_cnavCrs_Crc_fmt(gchar *s, guint32 v)
+{
+ double cnavCrs_Crc = (double)((gint32)v)*pow(2, -8);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavCrs_Crc, (gint32)v);
+}
+
+static void
+lpp_gloX_Y_Z_fmt(gchar *s, guint32 v)
+{
+ double gloX_Y_Z = (double)((gint32)v)*pow(2, -11);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gkm (%d)", gloX_Y_Z, (gint32)v);
+}
+
+static void
+lpp_gloXdot_Ydot_Zdot_fmt(gchar *s, guint32 v)
+{
+ double gloXdot_Ydot_Zdot = (double)((gint32)v)*pow(2, -20);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s (%d)", gloXdot_Ydot_Zdot, (gint32)v);
+}
+
+static void
+lpp_gloXdotdot_Ydotdot_Zdotdot_fmt(gchar *s, guint32 v)
+{
+ double gloXdotdot_Ydotdot_Zdotdot = (double)((gint32)v)*pow(2, -30);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s2 (%d)", gloXdotdot_Ydotdot_Zdotdot, (gint32)v);
+}
+
+static void
+lpp_sbasXg_Yg_fmt(gchar *s, guint32 v)
+{
+ double sbasXg_Yg = (double)((gint32)v)*0.08;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasXg_Yg, (gint32)v);
+}
+
+static void
+lpp_sbasZg_fmt(gchar *s, guint32 v)
+{
+ double sbasZg = (double)((gint32)v)*0.4;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasZg, (gint32)v);
+}
+
+static void
+lpp_sbasXgDot_YgDot_fmt(gchar *s, guint32 v)
+{
+ double sbasXgDot_YgDot = (double)((gint32)v)*0.000625;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasXgDot_YgDot, (gint32)v);
+}
+
+static void
+lpp_sbasZgDot_fmt(gchar *s, guint32 v)
+{
+ double sbasZgDot = (double)((gint32)v)*0.004;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasZgDot, (gint32)v);
+}
+
+static void
+lpp_sbasXgDotDot_YgDotDot_fmt(gchar *s, guint32 v)
+{
+ double sbasXgDotDot_YgDotDot = (double)((gint32)v)*0.0000125;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasXgDotDot_YgDotDot, (gint32)v);
+}
+
+static void
+lpp_sbasZgDotDot_fmt(gchar *s, guint32 v)
+{
+ double sbasZgDotDot = (double)((gint32)v)*0.0000625;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasZgDotDot, (gint32)v);
+}
+
+static void
+lpp_bdsAPowerHalf_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsAPowerHalf = (double)v*pow(2, -19);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", bdsAPowerHalf, v);
+}
+
+static void
+lpp_bdsE_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsE = (double)v*pow(2, -33);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", bdsE, v);
+}
+
+static void
+lpp_bdsW_M0_Omega0_I0_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsW_M0_Omega0_I0 = (double)((gint32)v)*pow(2, -31);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsW_M0_Omega0_I0, (gint32)v);
+}
+
+static void
+lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsDeltaN_OmegaDot_IDot = (double)((gint32)v)*pow(2, -43);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsDeltaN_OmegaDot_IDot, (gint32)v);
+}
+
+static void
+lpp_bdsCuc_Cus_Cic_Cis_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsCuc_Cus_Cic_Cis = (double)((gint32)v)*pow(2, -31);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCuc_Cus_Cic_Cis, (gint32)v);
+}
+
+static void
+lpp_bdsCrc_Crs_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsCrc_Crs = (double)((gint32)v)*pow(2, -6);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCrc_Crs, (gint32)v);
+}
+
+static void
+lpp_doppler0_fmt(gchar *s, guint32 v)
+{
+ double doppler0 = (double)((gint32)v)*0.5;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", doppler0, (gint32)v);
+}
+
+static void
+lpp_doppler1_fmt(gchar *s, guint32 v)
+{
+ double doppler1 = (double)((gint32)(v-42))/210;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm/s2 (%u)", doppler1, v);
+}
+
+static const value_string lpp_dopplerUncertainty_vals[] = {
+ { 0, "40m/s"},
+ { 1, "20m/s"},
+ { 2, "10m/s"},
+ { 3, "5m/s"},
+ { 4, "2.5m/s"},
+ { 0, NULL}
+};
+
+static void
+lpp_codePhase_fmt(gchar *s, guint32 v)
+{
+ double codePhase = (double)v*pow(2, -10);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v);
+}
+
+static const value_string lpp_codePhaseSearchWindow_vals[] = {
+ { 0, "No information"},
+ { 1, "0.002ms"},
+ { 2, "0.004ms"},
+ { 3, "0.008ms"},
+ { 4, "0.012ms"},
+ { 5, "0.016ms"},
+ { 6, "0.024ms"},
+ { 7, "0.032ms"},
+ { 8, "0.048ms"},
+ { 9, "0.064ms"},
+ { 10, "0.096ms"},
+ { 11, "0.128ms"},
+ { 12, "0.164ms"},
+ { 13, "0.200ms"},
+ { 14, "0.250ms"},
+ { 15, "0.300ms"},
+ { 16, "0.360ms"},
+ { 17, "0.420ms"},
+ { 18, "0.480ms"},
+ { 19, "0.540ms"},
+ { 20, "0.600ms"},
+ { 21, "0.660ms"},
+ { 22, "0.720ms"},
+ { 23, "0.780ms"},
+ { 24, "0.850ms"},
+ { 25, "1.000ms"},
+ { 26, "1.150ms"},
+ { 27, "1.300ms"},
+ { 28, "1.450ms"},
+ { 29, "1.600ms"},
+ { 30, "1.800ms"},
+ { 31, "2.000ms"},
+ { 0, NULL}
+};
+static value_string_ext lpp_codePhaseSearchWindow_vals_ext = VALUE_STRING_EXT_INIT(lpp_codePhaseSearchWindow_vals);
+
+static void
+lpp_azimuth_elevation_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)", (float)v*0.703125, v);
+}
+
+static void
+lpp_kepAlmanacE_fmt(gchar *s, guint32 v)
+{
+ double kepAlmanacE = (double)v*pow(2, -16);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", kepAlmanacE, v);
+}
+
+static void
+lpp_kepAlmanacDeltaI_fmt(gchar *s, guint32 v)
+{
+ double kepAlmanacDeltaI = (double)((gint32)v)*pow(2, -14);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacDeltaI, (gint32)v);
+}
+
+static void
+lpp_kepAlmanacOmegaDot_fmt(gchar *s, guint32 v)
+{
+ double kepAlmanacOmegaDot = (double)((gint32)v)*pow(2, -33);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", kepAlmanacOmegaDot, (gint32)v);
+}
+
+static void
+lpp_kepAlmanacAPowerHalf_fmt(gchar *s, guint32 v)
+{
+ double kepAlmanacAPowerHalf = (double)((gint32)v)*pow(2, -9);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%d)", kepAlmanacAPowerHalf, (gint32)v);
+}
+
+static void
+lpp_kepAlmanacOmega0_W_M0_fmt(gchar *s, guint32 v)
+{
+ double kepAlmanacOmega0_W_M0 = (double)((gint32)v)*pow(2, -15);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacOmega0_W_M0, (gint32)v);
+}
+
+static void
+lpp_kepAlmanacAF0_fmt(gchar *s, guint32 v)
+{
+ double kepAlmanacAF0 = (double)((gint32)v)*pow(2, -19);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", kepAlmanacAF0, (gint32)v);
+}
+
+static void
+lpp_kepAlmanacAF1_fmt(gchar *s, guint32 v)
+{
+ double kepAlmanacAF1 = (double)((gint32)v)*pow(2, -38);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", kepAlmanacAF1, (gint32)v);
+}
+
+static void
+lpp_navAlmE_fmt(gchar *s, guint32 v)
+{
+ double navAlmE = (double)v*pow(2, -21);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", navAlmE, v);
+}
+
+static void
+lpp_navAlmDeltaI_fmt(gchar *s, guint32 v)
+{
+ double navAlmDeltaI = (double)((gint32)v)*pow(2, -19);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmDeltaI, (gint32)v);
+}
+
+static void
+lpp_navAlmOMEGADOT_fmt(gchar *s, guint32 v)
+{
+ double navAlmOMEGADOT = (double)((gint32)v)*pow(2, -38);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navAlmOMEGADOT, (gint32)v);
+}
+
+static void
+lpp_navAlmSqrtA_fmt(gchar *s, guint32 v)
+{
+ double navAlmSqrtA = (double)v*pow(2, -11);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", navAlmSqrtA, v);
+}
+
+static void
+lpp_navAlmOMEGAo_Omega_Mo_fmt(gchar *s, guint32 v)
+{
+ double navAlmOMEGAo_Omega_Mo = (double)((gint32)v)*pow(2, -23);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmOMEGAo_Omega_Mo, (gint32)v);
+}
+
+static void
+lpp_navAlmaf0_fmt(gchar *s, guint32 v)
+{
+ double navAlmaf0 = (double)((gint32)v)*pow(2, -20);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", navAlmaf0, (gint32)v);
+}
+
+static void
+lpp_navAlmaf1_fmt(gchar *s, guint32 v)
+{
+ double navAlmaf1 = (double)((gint32)v)*pow(2, -38);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navAlmaf1, (gint32)v);
+}
+
+static void
+lpp_redAlmDeltaA_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%dm (%d)", 512*(gint)v, (gint)v);
+}
+
+static void
+lpp_redAlmOmega0_Phi0_fmt(gchar *s, guint32 v)
+{
+ double redAlmOmega0_Phi0 = (double)((gint32)v)*pow(2, -6);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", redAlmOmega0_Phi0, (gint32)v);
+}
+
+static void
+lpp_midiAlmE_fmt(gchar *s, guint32 v)
+{
+ double midiAlmE = (double)v*pow(2, -16);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", midiAlmE, v);
+}
+
+static void
+lpp_midiAlmDeltaI_fmt(gchar *s, guint32 v)
+{
+ double midiAlmDeltaI = (double)((gint32)v)*pow(2, -14);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmDeltaI, (gint32)v);
+}
+
+static void
+lpp_midiAlmOmegaDot_fmt(gchar *s, guint32 v)
+{
+ double midiAlmOmegaDot = (double)((gint32)v)*pow(2, -33);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", midiAlmOmegaDot, (gint32)v);
+}
+
+static void
+lpp_midiAlmSqrtA_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm1/2 (%u)", (float)v*0.0625, v);
+}
+
+static void
+lpp_midiAlmOmega0_Omega_Mo_fmt(gchar *s, guint32 v)
+{
+ double midiAlmOmega0_Omega_Mo = (double)((gint32)v)*pow(2, -15);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmOmega0_Omega_Mo, (gint32)v);
+}
+
+static void
+lpp_midiAlmaf0_fmt(gchar *s, guint32 v)
+{
+ double midiAlmaf0 = (double)((gint32)v)*pow(2, -20);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", midiAlmaf0, (gint32)v);
+}
+
+static void
+lpp_midiAlmaf1_fmt(gchar *s, guint32 v)
+{
+ double midiAlmaf1 = (double)((gint32)v)*pow(2, -37);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", midiAlmaf1, (gint32)v);
+}
+
+static void
+lpp_gloAlmLambdaA_DeltaIa_fmt(gchar *s, guint32 v)
+{
+ double gloAlmLambdaA_DeltaIa = (double)((gint32)v)*pow(2, -20);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmLambdaA_DeltaIa, (gint32)v);
+}
+
+static void
+lpp_gloAlmtlambdaA_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%fs (%u)", (float)v*0.03125, v);
+}
+
+static void
+lpp_gloAlmDeltaTA_fmt(gchar *s, guint32 v)
+{
+ double gloAlmDeltaTA = (double)((gint32)v)*pow(2, -9);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTA, (gint32)v);
+}
+
+static void
+lpp_gloAlmDeltaTdotA_fmt(gchar *s, guint32 v)
+{
+ double gloAlmDeltaTdotA = (double)((gint32)v)*pow(2, -14);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTdotA, (gint32)v);
+}
+
+static void
+lpp_gloAlmEpsilonA_fmt(gchar *s, guint32 v)
+{
+ double gloAlmEpsilonA = (double)v*pow(2, -20);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", gloAlmEpsilonA, (gint32)v);
+}
+
+static void
+lpp_gloAlmOmegaA_fmt(gchar *s, guint32 v)
+{
+ double gloAlmOmegaA = (double)((gint32)v)*pow(2, -15);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmOmegaA, (gint32)v);
+}
+
+static void
+lpp_gloAlmTauA_fmt(gchar *s, guint32 v)
+{
+ double gloAlmTauA = (double)((gint32)v)*pow(2, -18);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloAlmTauA, (gint32)v);
+}
+
+static void
+lpp_sbasAlmXg_Yg_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%fkm (%d)", (gint32)v*2.6, (gint32)v);
+}
+
+static void
+lpp_sbasAlmZg_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%dkm (%d)", (gint32)v*26, (gint32)v);
+}
+
+static void
+lpp_sbasAlmXgdot_YgDot_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%dm/s (%d)", (gint32)v*10, (gint32)v);
+}
+
+static void
+lpp_sbasAlmZgDot_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", (gint32)v*40.96, (gint32)v);
+}
+
+static void
+lpp_sbasAlmTo_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%um/s (%u)", v*64, v);
+}
+
+static void
+lpp_bdsAlmToa_r12_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*4096, v);
+}
+
+static void
+lpp_bdsAlmSqrtA_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsAlmSqrtA = (double)v*pow(2, -11);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", bdsAlmSqrtA, v);
+}
+
+static void
+lpp_bdsAlmE_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsAlmE = (double)v*pow(2, -21);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%u)", bdsAlmE, v);
+}
+
+static void
+lpp_bdsAlmW_M0_Omega0_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsAlmW_M0_Omega0 = (double)((gint32)v)*pow(2, -23);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmW_M0_Omega0, (gint32)v);
+}
+
+static void
+lpp_bdsAlmOmegaDot_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsAlmOmegaDot = (double)((gint32)v)*pow(2, -38);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsAlmOmegaDot, (gint32)v);
+}
+
+static void
+lpp_bdsAlmDeltaI_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsAlmDeltaI = (double)((gint32)v)*pow(2, -19);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmDeltaI, (gint32)v);
+}
+
+static void
+lpp_bdsAlmA0_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsAlmA0 = (double)((gint32)v)*pow(2, -20);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsAlmA0, (gint32)v);
+}
+
+static void
+lpp_bdsAlmA1_r12_fmt(gchar *s, guint32 v)
+{
+ double bdsAlmA1 = (double)((gint32)v)*pow(2, -38);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsAlmA1, (gint32)v);
+}
+
+static const true_false_string lpp_bdsSvHealth_r12_b1i_b2i_value = {
+ "OK",
+ "Weak"
+};
+
+static const true_false_string lpp_bdsSvHealth_r12_nav_value = {
+ "OK",
+ "Bad (IOD over limit)"
+};
+
+static void
+lpp_gnss_Utc_A1_fmt(gchar *s, guint32 v)
+{
+ double gnss_Utc_A1 = (double)((gint32)v)*pow(2, -50);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", gnss_Utc_A1, (gint32)v);
+}
+
+static void
+lpp_gnss_Utc_A0_fmt(gchar *s, guint32 v)
+{
+ double gnss_Utc_A0 = (double)((gint32)v)*pow(2, -30);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gnss_Utc_A0, (gint32)v);
+}
+
+static void
+lpp_gnss_Utc_Tot_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*4096, v);
+}
+
+static const value_string lpp_bds_UDREI_vals[] = {
+ { 0, "1 meter"},
+ { 1, "1.5 meters"},
+ { 2, "2 meters"},
+ { 3, "3 meters"},
+ { 4, "4 meters"},
+ { 5, "5 meters"},
+ { 6, "6 meters"},
+ { 7, "8 meters"},
+ { 8, "10 meters"},
+ { 9, "15 meters"},
+ { 10, "20 meters"},
+ { 11, "50 meters"},
+ { 12, "100 meters"},
+ { 13, "150 meters"},
+ { 14, "Not monitored"},
+ { 15, "Not available"},
+ { 0, NULL}
+};
+static value_string_ext lpp_bds_UDREI_vals_ext = VALUE_STRING_EXT_INIT(lpp_bds_UDREI_vals);
+
+static const value_string lpp_bds_RURAI_vals[] = {
+ { 0, "0.75 meter"},
+ { 1, "1 meter"},
+ { 2, "1.25 meters"},
+ { 3, "1.75 meters"},
+ { 4, "2.25 meters"},
+ { 5, "3 meters"},
+ { 6, "3.75 meters"},
+ { 7, "4.5 meters"},
+ { 8, "5.25 meters"},
+ { 9, "6 meters"},
+ { 10, "7.5 meters"},
+ { 11, "15 meters"},
+ { 12, "50 meters"},
+ { 13, "150 meters"},
+ { 14, "300 meters"},
+ { 15, "> 300 meters"},
+ { 0, NULL}
+};
+static value_string_ext lpp_bds_RURAI_vals_ext = VALUE_STRING_EXT_INIT(lpp_bds_RURAI_vals);
+
+static void
+lpp_bds_ECC_DeltaT_r12_fmt(gchar *s, guint32 v)
+{
+ if ((gint32)v == -4096) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Not available (%d)", (gint32)v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((gint32)v)*0.1, (gint32)v);
+ }
+}
+
+static void
+lpp_bds_GridIonElement_dt_r12_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((gint32)v)*0.125, (gint32)v);
+}
+
+static const value_string lpp_bds_givei_vals[] = {
+ { 0, "0.3 meter"},
+ { 1, "0.6 meter"},
+ { 2, "0.9 meter"},
+ { 3, "1.2 meters"},
+ { 4, "1.5 meters"},
+ { 5, "1.8 meters"},
+ { 6, "2.1 meters"},
+ { 7, "2.4 meters"},
+ { 8, "2.7 meters"},
+ { 9, "3 meters"},
+ { 10, "3.6 meters"},
+ { 11, "4.5 meters"},
+ { 12, "6 meters"},
+ { 13, "9 meters"},
+ { 14, "15 meters"},
+ { 15, "45 meters"},
+ { 0, NULL}
+};
+static value_string_ext lpp_bds_givei_vals_ext = VALUE_STRING_EXT_INIT(lpp_bds_givei_vals);
+
+static void
+lpp_fine_PseudoRange_r15_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)*pow(2, -29);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (gint32)v);
+}
+
+static void
+lpp_fine_PhaseRange_r15_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)*pow(2, -31);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (gint32)v);
+}
+
+static void
+lpp_carrier_to_noise_ratio_r15_fmt(gchar *s, guint32 v)
+{
+ double val = (double)v*pow(2, -4);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gdB-Hz (%d)", val, v);
+}
+
+static void
+lpp_fine_PhaseRangeRate_r15_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/1000;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (gint32)v);
+}
+
+static void
+lpp_cpBias_r15_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/50;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
+}
+
+static const value_string lpp_ambiguityStatusFlag_r15_vals[] = {
+ { 0, "Reserved for future use (artificial observations)"},
+ { 1, "Correct Integer Ambiguity Level for L1 and L2"},
+ { 2, "Correct Integer Ambiguity Level for L1-L2 widelane"},
+ { 3, "Uncertain Integer Ambiguity Level. Only a likely guess is used"},
+ { 0, NULL}
+};
+
+static void
+lpp_1_2000m_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/2000;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
+}
+
+static void
+lpp_1_100ppm_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/100;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (gint32)v);
+}
+
+static void
+lpp_1_10ppm_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/10;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (gint32)v);
+}
+
+static const value_string lpp_ssrUpdateInterval_r15_vals[] = {
+ { 0, "1 second"},
+ { 1, "2 seconds"},
+ { 2, "5 seconds"},
+ { 3, "10 seconds"},
+ { 4, "15 seconds"},
+ { 5, "30 seconds"},
+ { 6, "60 seconds"},
+ { 7, "120 seconds"},
+ { 8, "240 seconds"},
+ { 9, "300 seconds"},
+ { 10, "600 seconds"},
+ { 11, "900 seconds"},
+ { 12, "1800 seconds"},
+ { 13, "3600 seconds"},
+ { 14, "7200 seconds"},
+ { 15, "10800 seconds"},
+ { 0, NULL}
+};
+
+static void
+lpp_1_10000m_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/10000;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
+}
+
+static void
+lpp_4_10000m_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/10000*4;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
+}
+
+static void
+lpp_1_1000000m_s_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/1000000;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (gint32)v);
+}
+
+static void
+lpp_4_1000000m_s_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/1000000*4;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (gint32)v);
+}
+
+static void
+lpp_2_100000000m_s2_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/100000000*2;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", val, (gint32)v);
+}
+
+static void
+lpp_1_100000m_fmt(gchar *s, guint32 v)
+{
+ double val = (double)((gint32)v)/100000;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v);
+}
+
+static void
+lpp_tauC_fmt(gchar *s, guint32 v)
+{
+ double tauC = (double)((gint32)v)*pow(2, -31);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tauC, (gint32)v);
+}
+
+static void
+lpp_b1_fmt(gchar *s, guint32 v)
+{
+ double b1 = (double)((gint32)v)*pow(2, -10);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", b1, (gint32)v);
+}
+
+static void
+lpp_b2_fmt(gchar *s, guint32 v)
+{
+ double b2 = (double)((gint32)v)*pow(2, -16);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs/msd (%d)", b2, (gint32)v);
+}
+
+static const value_string lpp_utcStandardID_vals[] = {
+ { 0, "UTC as operated by the Communications Research Laboratory (CRL), Tokyo, Japan"},
+ { 1, "UTC as operated by the National Institute of Standards and Technology (NIST)"},
+ { 2, "UTC as operated by the U. S. Naval Observatory (USNO)"},
+ { 3, "UTC as operated by the International Bureau of Weights and Measures (BIPM)"},
+ { 0, NULL}
+};
+
+static const value_string lpp_dataBitInterval_vals[] = {
+ { 0, "0.1"},
+ { 1, "0.2"},
+ { 2, "0.4"},
+ { 3, "0.8"},
+ { 4, "1.6"},
+ { 5, "3.2"},
+ { 6, "6.4"},
+ { 7, "12.8"},
+ { 8, "25.6"},
+ { 9, "51.2"},
+ { 10, "102.4"},
+ { 11, "204.8"},
+ { 12, "409.6"},
+ { 13, "819.2"},
+ { 14, "1638.4"},
+ { 15, "Not specified"},
+ { 0, NULL}
+};
+static value_string_ext lpp_dataBitInterval_vals_ext = VALUE_STRING_EXT_INIT(lpp_dataBitInterval_vals);
+
+static const value_string lpp_carrierQualityInd_vals[] = {
+ { 0, "Data direct, carrier phase not continuous"},
+ { 1, "Data inverted, carrier phase not continuous"},
+ { 2, "Data direct, carrier phase continuous"},
+ { 3, "Data inverted, carrier phase continuous"},
+ { 0, NULL}
+};
+
+static void
+lpp_GNSS_SatMeas_codePhase_fmt(gchar *s, guint32 v)
+{
+ double codePhase = (double)v*pow(2, -21);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v);
+}
+
+static void
+lpp_codePhaseRMSError_fmt(gchar *s, guint32 v)
+{
+ guint8 mantissa = v & 0x07;
+ guint8 exponent = (v & 0x38) >> 3;
+ guint8 mantissa_1 = (v - 1) & 0x07;
+ guint8 exponent_1 = ((v - 1) & 0x38) >> 3;
+
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "P < 0.5 (0)");
+ } else if (v < 63) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%f <= P < %f (%u)", 0.5*(1+mantissa_1/8)*pow(2, exponent_1),
+ 0.5*(1+mantissa/8)*pow(2, exponent), v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "112 <= P (63)");
+ }
+}
+
+static void
+lpp_transmitterLatitude_fmt(gchar *s, guint32 v)
+{
+ double lat = ((double)v*4.0/pow(2, 20))-90.0;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", lat, v);
+}
+
+static void
+lpp_transmitterLongitude_fmt(gchar *s, guint32 v)
+{
+ double longitude = ((double)v*4.0/pow(2, 20))-180.0;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", longitude, v);
+}
+
+static void
+lpp_transmitterAltitude_fmt(gchar *s, guint32 v)
+{
+ double alt = ((double)v*0.29)-500.0;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", alt, v);
+}
+
+static void
+lpp_refPressure_fmt(gchar *s, guint32 v)
+{
+ gint32 pressure = (gint32)v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%dPa (%d)", 101325+pressure, pressure);
+}
+
+static void
+lpp_refTemperature_fmt(gchar *s, guint32 v)
+{
+ gint32 temp = (gint32)v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%dK (%d)", 273+temp, temp);
+}
+
+static void
+lpp_referencePressureRate_v1520_fmt(gchar *s, guint32 v)
+{
+ gint32 rate = (gint32)v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%dPa/hour (%d)", 10*rate, rate);
+}
+
+static void
+lpp_PressureValidityPeriod_v1520_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%umin (%u)", 15*v, v);
+}
+
+static void
+lpp_doppler_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", (gint32)v*0.04, (gint32)v);
+}
+
+static void
+lpp_adr_fmt(gchar *s, guint32 v)
+{
+ double adr = (double)v*pow(2, -10);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", adr, v);
+}
+
+static void
+lpp_adrMSB_r15_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%um (%u)", v*32768, v);
+}
+
+static void
+lpp_GNSS_SatMeas_delta_codePhase_r15_fmt(gchar *s, guint32 v)
+{
+ double codePhase = (double)v*pow(2, -24);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v);
+}
+
+static void
+lpp_deliveryAmount_r15_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", pow(2, v), v);
+}
+
+static void
+lpp_rsrp_Result_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)");
+ } else if (v < 97) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", v-141, v-140, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)");
+ }
+}
+
+static void
+lpp_rsrq_Result_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
+ } else if (v < 34) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)");
+ }
+}
+
+static void
+lpp_nrsrp_Result_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "NRSRP < -156dBm (0)");
+ } else if (v < 113) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= NRSRP < %ddBm (%u)", v-157, v-156, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= NRSRP (97)");
+ }
+}
+
+static void
+lpp_nrsrq_Result_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "NRSRQ < -34dB (0)");
+ } else if (v < 74) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= NRSRQ < %.1fdB (%u)", (((float)v-1)/2)-34, ((float)v/2)-34, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "2.5dB <= NRSRQ (%u)", v);
+ }
+}
+
+static void
+lpp_rsrp_Result_v1470_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ if (d == -17) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -157dBm (-17)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%d)", d-141, d-140, d);
+ }
+}
+
+static void
+lpp_rsrq_Result_v1470_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -34.5dB (-30)");
+ } else if (v < 46) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", ((float)d/2)-20, (((float)d+1)/2)-20, d);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "3dB <= RSRQ (46)");
+ }
+}
+
+static void
+lpp_ue_RxTxTimeDiff_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "T < 2Ts (0)");
+ } else if (v < 2048) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", v*2, (v+1)*2, v);
+ } else if (v < 4095) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", (v*8)-12288, ((v+1)*8)-12288, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "20472Ts <= T (4095)");
+ }
+}
+
+static void
+lpp_mbs_beaconMeasElt_codePhase_fmt(gchar *s, guint32 v)
+{
+ double codePhase = (double)v*pow(2, -21);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v);
+}
+
+const unit_name_string units_pa = { "Pa", NULL };
+
+#include "packet-lpp-fn.c"
+
+int dissect_lpp_AssistanceDataSIBelement_r15_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, lpp_pos_sib_type_t pos_sib_type) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ struct lpp_private_data *lpp_data = lpp_get_private_data(pinfo);
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ lpp_data->pos_sib_type = pos_sib_type;
+ offset = dissect_lpp_AssistanceDataSIBelement_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_AssistanceDataSIBelement_r15_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+static int dissect_lpp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
+ proto_tree *subtree;
+ proto_item *it;
+
+ it = proto_tree_add_item(tree, proto_lpp, tvb, 0, -1, ENC_NA);
+ col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, "/", "LPP");
+ subtree = proto_item_add_subtree(it, ett_lpp);
+
+ return dissect_LPP_Message_PDU(tvb, pinfo, subtree, NULL);
+}
+
+/*--- proto_register_lpp -------------------------------------------*/
+void proto_register_lpp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-lpp-hfarr.c"
+ { &hf_lpp_svHealthExt_v1240_e5bhs,
+ { "E5b Signal Health Status", "lpp.svHealthExt_v1240.e5bhs",
+ FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_svHealthExt_v1240_e1_bhs,
+ { "E1-B Signal Health Status", "lpp.svHealthExt_v1240.e1_bhs",
+ FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_kepSV_StatusINAV_e5bhs,
+ { "E5b Signal Health Status", "lpp.kepSV_StatusINAV.e5bhs",
+ FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_kepSV_StatusINAV_e1_bhs,
+ { "E1-B Signal Health Status", "lpp.kepSV_StatusINAV.e1_bhs",
+ FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_kepSV_StatusFNAV_e5ahs,
+ { "E5a Signal Health Status", "lpp.kepSV_StatusFNAV.e5ahs",
+ FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_bdsSvHealth_r12_sat_clock,
+ { "Satellite Clock", "lpp.bdsSvHealth_r12.sat_clock",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_ok_error), 0,
+ NULL, HFILL }},
+ { &hf_lpp_bdsSvHealth_r12_b1i,
+ { "B1I Signal", "lpp.bdsSvHealth_r12.b1i",
+ FT_BOOLEAN, BASE_NONE, TFS(&lpp_bdsSvHealth_r12_b1i_b2i_value), 0,
+ NULL, HFILL }},
+ { &hf_lpp_bdsSvHealth_r12_b2i,
+ { "B2I Signal", "lpp.bdsSvHealth_r12.b2i",
+ FT_BOOLEAN, BASE_NONE, TFS(&lpp_bdsSvHealth_r12_b1i_b2i_value), 0,
+ NULL, HFILL }},
+ { &hf_lpp_bdsSvHealth_r12_nav,
+ { "NAV Message", "lpp.bdsSvHealth_r12.nav",
+ FT_BOOLEAN, BASE_NONE, TFS(&lpp_bdsSvHealth_r12_nav_value), 0,
+ NULL, HFILL }},
+ { &hf_lpp_AssistanceDataSIBelement_r15_PDU,
+ { "AssistanceDataSIBelement-r15", "lpp.AssistanceDataSIBelement_r15_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_lpp,
+ &ett_lpp_svHealthExt_v1240,
+ &ett_kepSV_StatusINAV,
+ &ett_kepSV_StatusFNAV,
+ &ett_lpp_bdsSvHealth_r12,
+ &ett_lpp_assistanceDataElement_r15,
+#include "packet-lpp-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_lpp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("lpp", dissect_lpp, proto_lpp);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_lpp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+
+}
+
+
+/*--- proto_reg_handoff_lpp ---------------------------------------*/
+void
+proto_reg_handoff_lpp(void)
+{
+ lppe_handle = find_dissector_add_dependency("lppe", proto_lpp);
+}
+
+
diff --git a/epan/dissectors/asn1/lpp/packet-lpp-template.h b/epan/dissectors/asn1/lpp/packet-lpp-template.h
new file mode 100644
index 00000000..6d3ec42c
--- /dev/null
+++ b/epan/dissectors/asn1/lpp/packet-lpp-template.h
@@ -0,0 +1,68 @@
+/* packet-lpp.h
+ * Routines for 3GPP LTE Positioning Protocol (LPP) packet dissection
+ * Copyright 2011-2022 Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ */
+
+#ifndef PACKET_LPP_H
+#define PACKET_LPP_H
+
+typedef enum {
+ LPP_POS_SIB_TYPE_UNKNOWN,
+ LPP_POS_SIB_TYPE_1_1,
+ LPP_POS_SIB_TYPE_1_2,
+ LPP_POS_SIB_TYPE_1_3,
+ LPP_POS_SIB_TYPE_1_4,
+ LPP_POS_SIB_TYPE_1_5,
+ LPP_POS_SIB_TYPE_1_6,
+ LPP_POS_SIB_TYPE_1_7,
+ LPP_POS_SIB_TYPE_1_8,
+ LPP_POS_SIB_TYPE_1_9,
+ LPP_POS_SIB_TYPE_1_10,
+ LPP_POS_SIB_TYPE_2_1,
+ LPP_POS_SIB_TYPE_2_2,
+ LPP_POS_SIB_TYPE_2_3,
+ LPP_POS_SIB_TYPE_2_4,
+ LPP_POS_SIB_TYPE_2_5,
+ LPP_POS_SIB_TYPE_2_6,
+ LPP_POS_SIB_TYPE_2_7,
+ LPP_POS_SIB_TYPE_2_8,
+ LPP_POS_SIB_TYPE_2_9,
+ LPP_POS_SIB_TYPE_2_10,
+ LPP_POS_SIB_TYPE_2_11,
+ LPP_POS_SIB_TYPE_2_12,
+ LPP_POS_SIB_TYPE_2_13,
+ LPP_POS_SIB_TYPE_2_14,
+ LPP_POS_SIB_TYPE_2_15,
+ LPP_POS_SIB_TYPE_2_16,
+ LPP_POS_SIB_TYPE_2_17,
+ LPP_POS_SIB_TYPE_2_18,
+ LPP_POS_SIB_TYPE_2_19,
+ LPP_POS_SIB_TYPE_2_20,
+ LPP_POS_SIB_TYPE_2_21,
+ LPP_POS_SIB_TYPE_2_22,
+ LPP_POS_SIB_TYPE_2_23,
+ LPP_POS_SIB_TYPE_2_24,
+ LPP_POS_SIB_TYPE_2_25,
+ LPP_POS_SIB_TYPE_3_1,
+ LPP_POS_SIB_TYPE_4_1,
+ LPP_POS_SIB_TYPE_5_1,
+ LPP_POS_SIB_TYPE_6_1,
+ LPP_POS_SIB_TYPE_6_2,
+ LPP_POS_SIB_TYPE_6_3,
+ LPP_POS_SIB_TYPE_6_4,
+ LPP_POS_SIB_TYPE_6_5,
+ LPP_POS_SIB_TYPE_6_6,
+} lpp_pos_sib_type_t;
+
+int dissect_lpp_AssistanceDataSIBelement_r15_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, lpp_pos_sib_type_t pos_sib_type);
+
+#include "packet-lpp-exp.h"
+
+#endif /* PACKET_LPP_H */
diff --git a/epan/dissectors/asn1/lppa/CMakeLists.txt b/epan/dissectors/asn1/lppa/CMakeLists.txt
new file mode 100644
index 00000000..2057cab1
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME lppa )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ LPPA-CommonDataTypes.asn
+ LPPA-Constants.asn
+ LPPA-Containers.asn
+ LPPA-IEs.asn
+ LPPA-PDU-Contents.asn
+ LPPA-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/lppa/LPPA-CommonDataTypes.asn b/epan/dissectors/asn1/lppa/LPPA-CommonDataTypes.asn
new file mode 100644
index 00000000..8b7dcd09
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/LPPA-CommonDataTypes.asn
@@ -0,0 +1,53 @@
+-- 3GPP TS 36.455 V16.1.0 (2020-09)
+--
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+LPPA-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lppa (6) version1 (1) lppa-CommonDataTypes (3)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+LPPATransactionID ::= INTEGER (0..32767)
+
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0.. maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
+
+END
diff --git a/epan/dissectors/asn1/lppa/LPPA-Constants.asn b/epan/dissectors/asn1/lppa/LPPA-Constants.asn
new file mode 100644
index 00000000..92d49b7c
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/LPPA-Constants.asn
@@ -0,0 +1,101 @@
+-- 3GPP TS 36.455 V16.1.0 (2020-09)
+--
+
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+LPPA-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lppa (6) version1 (1) lppa-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM LPPA-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-errorIndication ProcedureCode ::= 0
+id-privateMessage ProcedureCode ::= 1
+id-e-CIDMeasurementInitiation ProcedureCode ::= 2
+id-e-CIDMeasurementFailureIndication ProcedureCode ::= 3
+id-e-CIDMeasurementReport ProcedureCode ::= 4
+id-e-CIDMeasurementTermination ProcedureCode ::= 5
+id-oTDOAInformationExchange ProcedureCode ::= 6
+id-uTDOAInformationExchange ProcedureCode ::= 7
+id-uTDOAInformationUpdate ProcedureCode ::= 8
+id-assistanceInformationControl ProcedureCode ::= 9
+id-assistanceInformationFeedback ProcedureCode ::= 10
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxNrOfErrors INTEGER ::= 256
+maxCellineNB INTEGER ::= 256
+maxNoMeas INTEGER ::= 63
+maxCellReport INTEGER ::= 9
+maxnoOTDOAtypes INTEGER ::= 63
+maxServCell INTEGER ::= 5
+maxGERANMeas INTEGER ::= 8
+maxUTRANMeas INTEGER ::= 8
+maxCellineNB-ext INTEGER ::= 3840
+maxMBSFN-Allocations INTEGER ::= 8
+maxWLANchannels INTEGER ::= 16
+maxnoFreqHoppingBandsMinusOne INTEGER ::= 7
+maxNrOfPosSImessage INTEGER ::= 32
+maxnoAssistInfoFailureListItems INTEGER ::= 32
+maxNrOfSegments INTEGER ::= 64
+maxNrOfPosSIBs INTEGER ::= 32
+maxNRmeas INTEGER ::= 32
+maxResultsPerSSBIndex INTEGER ::= 64
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Cause ProtocolIE-ID ::= 0
+id-CriticalityDiagnostics ProtocolIE-ID ::= 1
+id-E-SMLC-UE-Measurement-ID ProtocolIE-ID ::= 2
+id-ReportCharacteristics ProtocolIE-ID ::= 3
+id-MeasurementPeriodicity ProtocolIE-ID ::= 4
+id-MeasurementQuantities ProtocolIE-ID ::= 5
+id-eNB-UE-Measurement-ID ProtocolIE-ID ::= 6
+id-E-CID-MeasurementResult ProtocolIE-ID ::= 7
+id-OTDOACells ProtocolIE-ID ::= 8
+id-OTDOA-Information-Type-Group ProtocolIE-ID ::= 9
+id-OTDOA-Information-Type-Item ProtocolIE-ID ::= 10
+id-MeasurementQuantities-Item ProtocolIE-ID ::= 11
+id-RequestedSRSTransmissionCharacteristics ProtocolIE-ID ::= 12
+id-ULConfiguration ProtocolIE-ID ::= 13
+id-Cell-Portion-ID ProtocolIE-ID ::= 14
+id-InterRATMeasurementQuantities ProtocolIE-ID ::= 15
+id-InterRATMeasurementQuantities-Item ProtocolIE-ID ::= 16
+id-InterRATMeasurementResult ProtocolIE-ID ::= 17
+id-AddOTDOACells ProtocolIE-ID ::= 18
+id-WLANMeasurementQuantities ProtocolIE-ID ::= 19
+id-WLANMeasurementQuantities-Item ProtocolIE-ID ::= 20
+id-WLANMeasurementResult ProtocolIE-ID ::= 21
+id-Assistance-Information ProtocolIE-ID ::= 22
+id-Broadcast ProtocolIE-ID ::= 23
+id-AssistanceInformationFailureList ProtocolIE-ID ::= 24
+id-ResultsPerSSB-Index-List ProtocolIE-ID ::= 25
+id-ResultsPerSSB-Index-Item ProtocolIE-ID ::= 26
+id-NR-CGI ProtocolIE-ID ::= 27
+
+END
diff --git a/epan/dissectors/asn1/lppa/LPPA-Containers.asn b/epan/dissectors/asn1/lppa/LPPA-Containers.asn
new file mode 100644
index 00000000..11d94b56
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/LPPA-Containers.asn
@@ -0,0 +1,197 @@
+-- 3GPP TS 36.455 V16.1.0 (2020-09)
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+LPPA-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lppa (6) version1 (1) lppa-Containers (5)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+FROM LPPA-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+LPPA-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+LPPA-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+LPPA-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+LPPA-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container { LPPA-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container { LPPA-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field { LPPA-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id LPPA-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality LPPA-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value LPPA-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair { LPPA-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair { LPPA-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id LPPA-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality LPPA-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue LPPA-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality LPPA-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue LPPA-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, LPPA-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, LPPA-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer { LPPA-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField { LPPA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id LPPA-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality LPPA-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue LPPA-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container { LPPA-PRIVATE-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field { LPPA-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id LPPA-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality LPPA-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value LPPA-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/lppa/LPPA-IEs.asn b/epan/dissectors/asn1/lppa/LPPA-IEs.asn
new file mode 100644
index 00000000..ccc24203
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/LPPA-IEs.asn
@@ -0,0 +1,971 @@
+-- 3GPP TS 36.455 V16.1.0 (2020-09)
+--
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+LPPA-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lppa (6) version1 (1) lppa-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ id-MeasurementQuantities-Item,
+ id-ResultsPerSSB-Index-List,
+ id-ResultsPerSSB-Index-Item,
+ id-NR-CGI,
+ maxCellineNB,
+ maxCellReport,
+ maxNrOfErrors,
+ maxNoMeas,
+ maxnoOTDOAtypes,
+ maxServCell,
+ id-InterRATMeasurementQuantities-Item,
+ id-WLANMeasurementQuantities-Item,
+ maxGERANMeas,
+ maxUTRANMeas,
+ maxNRmeas,
+ maxResultsPerSSBIndex,
+ maxCellineNB-ext,
+ maxWLANchannels,
+ maxMBSFN-Allocations,
+ maxnoFreqHoppingBandsMinusOne,
+ maxNrOfPosSImessage,
+ maxnoAssistInfoFailureListItems,
+ maxNrOfSegments,
+ maxNrOfPosSIBs
+
+FROM LPPA-Constants
+
+ Criticality,
+ LPPATransactionID,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+
+FROM LPPA-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Single-Container{},
+
+ LPPA-PROTOCOL-EXTENSION,
+ LPPA-PROTOCOL-IES
+FROM LPPA-Containers;
+
+-- A
+
+Add-OTDOACells ::= SEQUENCE (SIZE (1.. maxCellineNB-ext)) OF SEQUENCE {
+ add-OTDOACellInfo Add-OTDOACell-Information,
+ iE-Extensions ProtocolExtensionContainer { {Add-OTDOACells-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Add-OTDOACells-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Add-OTDOACell-Information ::= SEQUENCE (SIZE (1..maxnoOTDOAtypes)) OF OTDOACell-Information-Item
+
+Assistance-Information ::= SEQUENCE {
+ systemInformation SystemInformation,
+ iE-Extensions ProtocolExtensionContainer { { Assistance-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Assistance-Information-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssistanceInformationFailureList ::= SEQUENCE (SIZE (1..maxnoAssistInfoFailureListItems)) OF SEQUENCE {
+ posSIB-Type PosSIB-Type,
+ outcome Outcome,
+ iE-Extensions ProtocolExtensionContainer { {AssistanceInformationFailureList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceInformationFailureList-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssistanceInformationMetaData ::= SEQUENCE {
+ encrypted ENUMERATED {true, ...} OPTIONAL,
+ gNSSID ENUMERATED {gps, sbas, gzss, galileo, glonass, bds, ..., navic} OPTIONAL,
+ sBASID ENUMERATED {waas, egnos, msas, gagan, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AssistanceInformationMetaData-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceInformationMetaData-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- B
+
+BCCH ::= INTEGER (0..1023, ...)
+
+BitmapsforNPRS ::= CHOICE {
+ ten BIT STRING(SIZE (10)),
+ forty BIT STRING(SIZE (40)),
+ ...,
+ ten-tdd BIT STRING(SIZE (8)),
+ forty-tdd BIT STRING(SIZE (32))}
+
+Broadcast ::= ENUMERATED {
+ start,
+ stop,
+ ...
+}
+
+BroadcastPeriodicity ::= ENUMERATED {
+ ms80,
+ ms160,
+ ms320,
+ ms640,
+ ms1280,
+ ms2560,
+ ms5120,
+ ...
+}
+
+BSSID ::= OCTET STRING (SIZE(6))
+
+
+-- C
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ unspecified,
+ abstract-syntax-error-falsely-constructed-message,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unspecified,
+ requested-item-not-supported,
+ requested-item-temporarily-not-available,
+ ...
+
+}
+
+Cell-Portion-ID ::= INTEGER (0..255,... , 256..4095)
+
+CPLength ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ lppatransactionID LPPATransactionID OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CriticalityDiagnostics-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- D
+
+DL-Bandwidth ::= ENUMERATED {
+ bw6,
+ bw15,
+ bw25,
+ bw50,
+ bw75,
+ bw100,
+ ...
+}
+
+-- E
+
+E-CID-MeasurementResult ::= SEQUENCE {
+ servingCell-ID ECGI,
+ servingCellTAC TAC,
+ e-UTRANAccessPointPosition E-UTRANAccessPointPosition OPTIONAL,
+ measuredResults MeasuredResults OPTIONAL,
+ ...
+}
+
+ECGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ eUTRANcellIdentifier EUTRANCellIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {ECGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ECGI-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRANCellIdentifier ::= BIT STRING (SIZE (28))
+
+EARFCN ::= INTEGER (0..65535, ..., 65536..262143)
+
+E-UTRANAccessPointPosition ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ directionOfAltitude ENUMERATED {height, depth},
+ altitude INTEGER (0..32767),
+ uncertaintySemi-major INTEGER (0..127),
+ uncertaintySemi-minor INTEGER (0..127),
+ orientationOfMajorAxis INTEGER (0..179),
+ uncertaintyAltitude INTEGER (0..127),
+ confidence INTEGER (0..100),
+ ...
+}
+
+-- F
+-- G
+-- H
+
+HESSID ::= OCTET STRING (SIZE(6))
+
+
+-- I
+
+InterRATMeasurementQuantities ::= SEQUENCE (SIZE (0.. maxNoMeas)) OF ProtocolIE-Single-Container { {InterRATMeasurementQuantities-ItemIEs} }
+
+InterRATMeasurementQuantities-ItemIEs LPPA-PROTOCOL-IES ::= {
+ { ID id-InterRATMeasurementQuantities-Item CRITICALITY reject TYPE InterRATMeasurementQuantities-Item PRESENCE mandatory}}
+
+InterRATMeasurementQuantities-Item ::= SEQUENCE {
+ interRATMeasurementQuantitiesValue InterRATMeasurementQuantitiesValue,
+ iE-Extensions ProtocolExtensionContainer { { InterRATMeasurementQuantitiesValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InterRATMeasurementQuantitiesValue-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InterRATMeasurementQuantitiesValue ::= ENUMERATED {
+ geran,
+ utran,
+ ...,
+ nr
+}
+
+InterRATMeasurementResult ::= SEQUENCE (SIZE (1.. maxNoMeas)) OF InterRATMeasuredResultsValue
+
+InterRATMeasuredResultsValue ::= CHOICE {
+ resultGERAN ResultGERAN,
+ resultUTRAN ResultUTRAN,
+ ...,
+ resultNR ResultNR
+}
+
+-- J
+-- K
+-- L
+-- M
+
+Measurement-ID ::= INTEGER (1..15, ...)
+
+MeasurementPeriodicity ::= ENUMERATED {
+ ms120,
+ ms240,
+ ms480,
+ ms640,
+ ms1024,
+ ms2048,
+ ms5120,
+ ms10240,
+ min1,
+ min6,
+ min12,
+ min30,
+ min60,
+ ...
+}
+
+MeasurementQuantities ::= SEQUENCE (SIZE (1.. maxNoMeas)) OF ProtocolIE-Single-Container { {MeasurementQuantities-ItemIEs} }
+
+MeasurementQuantities-ItemIEs LPPA-PROTOCOL-IES ::= {
+ { ID id-MeasurementQuantities-Item CRITICALITY reject TYPE MeasurementQuantities-Item PRESENCE mandatory}
+}
+
+MeasurementQuantities-Item ::= SEQUENCE {
+ measurementQuantitiesValue MeasurementQuantitiesValue,
+ iE-Extensions ProtocolExtensionContainer { { MeasurementQuantitiesValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MeasurementQuantitiesValue-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MeasurementQuantitiesValue ::= ENUMERATED {
+ cell-ID,
+ angleOfArrival,
+ timingAdvanceType1,
+ timingAdvanceType2,
+ rSRP,
+ rSRQ,
+ ...
+}
+
+MeasuredResults ::= SEQUENCE (SIZE (1.. maxNoMeas)) OF MeasuredResultsValue
+
+
+MeasuredResultsValue ::= CHOICE {
+ valueAngleOfArrival INTEGER (0..719),
+ valueTimingAdvanceType1 INTEGER (0..7690),
+ valueTimingAdvanceType2 INTEGER (0..7690),
+ resultRSRP ResultRSRP,
+ resultRSRQ ResultRSRQ,
+ ...
+}
+
+MBSFNsubframeConfiguration ::= SEQUENCE (SIZE (1.. maxMBSFN-Allocations)) OF MBSFNsubframeConfigurationValue
+
+MBSFNsubframeConfigurationValue ::= SEQUENCE {
+ radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},
+ radioframeAllocationOffset INTEGER (0..7),
+ subframeAllocation Subframeallocation
+}
+
+
+-- N
+
+NarrowBandIndex ::= INTEGER (0..15,...)
+
+NRCellIdentity ::= BIT STRING (SIZE(36))
+
+NR-CGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ nRCellIdentity NRCellIdentity,
+ iE-Extensions ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-CGI-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPRSConfiguration ::= SEQUENCE {
+ nPRSSubframePartA NPRSSubframePartA OPTIONAL,
+ nPRSSubframePartB NPRSSubframePartB OPTIONAL,
+ ...
+}
+
+NPRSMutingConfiguration ::= CHOICE {
+ two BIT STRING (SIZE (2)),
+ four BIT STRING (SIZE (4)),
+ eight BIT STRING (SIZE (8)),
+ sixteen BIT STRING (SIZE (16)),
+ ...
+}
+
+NPRSSubframePartA ::= SEQUENCE {
+ bitmapsforNPRS BitmapsforNPRS,
+ nPRSMutingConfiguration NPRSMutingConfiguration OPTIONAL,
+ ...
+}
+
+NPRSSubframePartB ::= SEQUENCE {
+ numberofNPRSOneOccasion ENUMERATED {sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280, ..., sf2560},
+ periodicityofNPRS ENUMERATED {sf160, sf320, sf640, sf1280, ..., sf2560},
+ startingsubframeoffset ENUMERATED {zero, one-Eighth, two-Eighths, three-Eighths, four-Eighths, five-Eighths, six-Eighths, seven-Eighths, ...},
+ nPRSMutingConfiguration NPRSMutingConfiguration OPTIONAL,
+ ...,
+ sIB1-NB-Subframe-TDD ENUMERATED { sf0, sf4, sf0and5, ...} OPTIONAL
+
+}
+
+NumberOfAntennaPorts ::= ENUMERATED {
+ n1-or-n2,
+ n4,
+ ...
+}
+
+NumberOfDlFrames ::= ENUMERATED {
+ sf1,
+ sf2,
+ sf4,
+ sf6,
+ ...
+}
+
+
+NumberOfDlFrames-Extended ::= INTEGER (1..160,...)
+
+NumberOfFrequencyHoppingBands ::= ENUMERATED {
+ twobands,
+ fourbands,
+ ...
+}
+
+NPRSSequenceInfo ::= INTEGER (0..174,...)
+
+
+NRARFCN ::= INTEGER (0.. 3279165)
+
+NRPCI ::= INTEGER (0..1007)
+
+-- O
+
+OffsetNBChanneltoEARFCN ::= ENUMERATED {
+ minusTen,
+ minusNine,
+ minusEight,
+ minusSeven,
+ minusSix,
+ minusFive,
+ minusFour,
+ minusThree,
+ minusTwo,
+ minusOne,
+ minusZeroDotFive,
+ zero,
+ one,
+ two,
+ three,
+ four,
+ five,
+ six,
+ seven,
+ eight,
+ nine,
+ ...
+}
+
+OperationModeInfo ::= ENUMERATED {
+ inband,
+ guardband,
+ standalone,
+ ...
+}
+
+OTDOACells ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF SEQUENCE {
+ oTDOACellInfo OTDOACell-Information,
+ iE-Extensions ProtocolExtensionContainer { {OTDOACells-ExtIEs} } OPTIONAL,
+ ...
+}
+
+OTDOACells-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+OTDOACell-Information ::= SEQUENCE (SIZE (1..maxnoOTDOAtypes)) OF OTDOACell-Information-Item
+
+OTDOACell-Information-Item ::= CHOICE {
+ pCI PCI,
+ cellId ECGI,
+ tAC TAC,
+ eARFCN EARFCN,
+ pRS-Bandwidth PRS-Bandwidth,
+ pRS-ConfigurationIndex PRS-Configuration-Index,
+ cPLength CPLength,
+ numberOfDlFrames NumberOfDlFrames,
+ numberOfAntennaPorts NumberOfAntennaPorts,
+ sFNInitialisationTime SFNInitialisationTime,
+ e-UTRANAccessPointPosition E-UTRANAccessPointPosition,
+ ...,
+ pRSMutingConfiguration PRSMutingConfiguration,
+ prsid PRS-ID,
+ tpid TP-ID,
+ tpType TP-Type,
+ numberOfDlFrames-Extended NumberOfDlFrames-Extended,
+ crsCPlength CPLength,
+ mBSFNsubframeConfiguration MBSFNsubframeConfiguration,
+ nPRSConfiguration NPRSConfiguration,
+ offsetNBChanneltoEARFCN OffsetNBChanneltoEARFCN,
+ operationModeInfo OperationModeInfo,
+ nPRS-ID INTEGER (0..4095, ...),
+ dL-Bandwidth DL-Bandwidth,
+ pRSOccasionGroup PRSOccasionGroup,
+ pRSFreqHoppingConfig PRSFrequencyHoppingConfiguration,
+ repetitionNumberofSIB1-NB RepetitionNumberofSIB1-NB,
+ nPRSSequenceInfo NPRSSequenceInfo,
+ nPRSType2 NPRSConfiguration,
+ tddConfiguration TDDConfiguration
+}
+
+OTDOA-Information-Item ::= ENUMERATED {
+ pci,
+ cellid,
+ tac,
+ earfcn,
+ prsBandwidth,
+ prsConfigIndex,
+ cpLength,
+ noDlFrames,
+ noAntennaPorts,
+ sFNInitTime,
+ ...,
+ e-UTRANAccessPointPosition,
+ prsmutingconfiguration,
+ prsid,
+ tpid,
+ tpType,
+ crsCPlength,
+ mBSFNsubframeConfiguration,
+ nPRSConfiguration,
+ offsetNBChannelNumbertoEARFCN,
+ operationModeInfo,
+ nPRS-ID,
+ dlBandwidth,
+ multipleprsConfigurationsperCell,
+ prsOccasionGroup,
+ prsFrequencyHoppingConfiguration,
+ repetitionNumberofSIB1-NB,
+ nPRSSequenceInfo,
+ nPRSType2,
+ tddConfig
+}
+
+Outcome ::= ENUMERATED {
+ failed,
+ ...
+}
+
+-- P
+
+PCI ::= INTEGER (0..503, ...)
+
+PhysCellIDGERAN ::= INTEGER (0..63, ...)
+
+PhysCellIDUTRA-FDD ::= INTEGER (0..511, ...)
+
+PhysCellIDUTRA-TDD ::= INTEGER (0..127, ...)
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+PosSIBs ::= SEQUENCE (SIZE (1.. maxNrOfPosSIBs)) OF SEQUENCE {
+ posSIB-Type PosSIB-Type,
+ posSIB-Segments PosSIB-Segments,
+ assistanceInformationMetaData AssistanceInformationMetaData OPTIONAL,
+ broadcastPriority INTEGER (1..16,...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PosSIBs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PosSIBs-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosSIB-Segments ::= SEQUENCE (SIZE (1.. maxNrOfSegments)) OF SEQUENCE {
+ assistanceDataSIBelement OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { PosSIB-Segments-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PosSIB-Segments-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PosSIB-Type ::= ENUMERATED {
+ posSibType1-1,
+ posSibType1-2,
+ posSibType1-3,
+ posSibType1-4,
+ posSibType1-5,
+ posSibType1-6,
+ posSibType1-7,
+ posSibType2-1,
+ posSibType2-2,
+ posSibType2-3,
+ posSibType2-4,
+ posSibType2-5,
+ posSibType2-6,
+ posSibType2-7,
+ posSibType2-8,
+ posSibType2-9,
+ posSibType2-10,
+ posSibType2-11,
+ posSibType2-12,
+ posSibType2-13,
+ posSibType2-14,
+ posSibType2-15,
+ posSibType2-16,
+ posSibType2-17,
+ posSibType2-18,
+ posSibType2-19,
+ posSibType3-1,
+ ...,
+ posSibType4-1,
+ posSibType5-1,
+ posSibType2-24,
+ posSibType2-25
+}
+
+PRS-Bandwidth ::= ENUMERATED {
+ bw6,
+ bw15,
+ bw25,
+ bw50,
+ bw75,
+ bw100,
+ ...
+}
+
+PRS-Configuration-Index ::= INTEGER (0..4095, ...)
+
+PRS-ID ::= INTEGER (0..4095, ...)
+
+PRSMutingConfiguration ::= CHOICE {
+ two BIT STRING (SIZE (2)),
+ four BIT STRING (SIZE (4)),
+ eight BIT STRING (SIZE (8)),
+ sixteen BIT STRING (SIZE (16)),
+ ...,
+ thirty-two BIT STRING (SIZE (32)),
+ sixty-four BIT STRING (SIZE (64)),
+ one-hundred-and-twenty-eight BIT STRING (SIZE (128)),
+ two-hundred-and-fifty-six BIT STRING (SIZE (256)),
+ five-hundred-and-twelve BIT STRING (SIZE (512)),
+ one-thousand-and-twenty-four BIT STRING (SIZE (1024))
+}
+
+PRSOccasionGroup ::= ENUMERATED {
+ og2,
+ og4,
+ og8,
+ og16,
+ og32,
+ og64,
+ og128,
+ ...
+}
+
+PRSFrequencyHoppingConfiguration ::= SEQUENCE {
+ noOfFreqHoppingBands NumberOfFrequencyHoppingBands,
+ bandPositions SEQUENCE(SIZE (1..maxnoFreqHoppingBandsMinusOne)) OF NarrowBandIndex,
+ iE-Extensions ProtocolExtensionContainer { { PRSFrequencyHoppingConfiguration-Item-IEs} } OPTIONAL,
+ ...
+}
+
+PRSFrequencyHoppingConfiguration-Item-IEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- Q
+-- R
+
+RepetitionNumberofSIB1-NB ::= ENUMERATED {
+ r4,
+ r8,
+ r16,
+ ...
+}
+
+ReportCharacteristics ::= ENUMERATED {
+ onDemand,
+ periodic,
+ ...
+}
+
+RequestedSRSTransmissionCharacteristics ::= SEQUENCE {
+ numberOfTransmissions INTEGER (0..500, ...),
+ bandwidth INTEGER (1..100, ...),
+ ...
+}
+
+ResultRSRP ::= SEQUENCE (SIZE (1.. maxCellReport)) OF ResultRSRP-Item
+
+ResultRSRP-Item ::= SEQUENCE {
+ pCI PCI,
+ eARFCN EARFCN,
+ eCGI ECGI OPTIONAL,
+ valueRSRP ValueRSRP,
+ iE-Extensions ProtocolExtensionContainer { { ResultRSRP-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultRSRP-Item-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultRSRQ ::= SEQUENCE (SIZE (1.. maxCellReport)) OF ResultRSRQ-Item
+
+ResultRSRQ-Item ::= SEQUENCE {
+ pCI PCI,
+ eARFCN EARFCN,
+ eCGI ECGI OPTIONAL,
+ valueRSRQ ValueRSRQ,
+ iE-Extensions ProtocolExtensionContainer { { ResultRSRQ-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultRSRQ-Item-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultGERAN ::= SEQUENCE (SIZE (1.. maxGERANMeas)) OF ResultGERAN-Item
+
+ResultGERAN-Item ::= SEQUENCE {
+ bCCH BCCH,
+ physCellIDGERAN PhysCellIDGERAN,
+ rSSI RSSI,
+ iE-Extensions ProtocolExtensionContainer { { ResultGERAN-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultGERAN-Item-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultUTRAN ::= SEQUENCE (SIZE (1.. maxUTRANMeas)) OF ResultUTRAN-Item
+
+ResultUTRAN-Item ::= SEQUENCE {
+ uARFCN UARFCN,
+ physCellIDUTRAN CHOICE {
+ physCellIDUTRA-FDD PhysCellIDUTRA-FDD,
+ physCellIDUTRA-TDD PhysCellIDUTRA-TDD
+ },
+ uTRA-RSCP UTRA-RSCP OPTIONAL,
+ uTRA-EcN0 UTRA-EcN0 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultUTRAN-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultUTRAN-Item-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultNR ::= SEQUENCE (SIZE (1.. maxNRmeas)) OF ResultNR-Item
+
+ResultNR-Item ::= SEQUENCE {
+ nRARFCN NRARFCN,
+ nRPCI NRPCI,
+ sS-NRRSRP SS-NRRSRP OPTIONAL,
+ sS-NRRSRQ SS-NRRSRQ OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultNR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultNR-Item-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-ResultsPerSSB-Index-List CRITICALITY ignore EXTENSION ResultsPerSSB-Index-List PRESENCE optional}|
+ { ID id-NR-CGI CRITICALITY ignore EXTENSION NR-CGI PRESENCE optional},
+ ...
+}
+
+
+ResultsPerSSB-Index-List ::= SEQUENCE (SIZE(1..maxResultsPerSSBIndex)) OF ResultsPerSSB-Index-Item
+
+ResultsPerSSB-Index-Item ::=SEQUENCE {
+ sSB-Index SSB-Index,
+ sS-NRRSRPBeamValue SS-NRRSRP OPTIONAL,
+ sS-NRRSRQBeamValue SS-NRRSRQ OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultsPerSSB-Index-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultsPerSSB-Index-Item-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RSSI ::= INTEGER (0..63, ...)
+
+
+-- S
+
+SFNInitialisationTime ::= BIT STRING (SIZE (64))
+
+SRSConfigurationForAllCells ::= SEQUENCE (SIZE (1.. maxServCell)) OF SRSConfigurationForOneCell
+
+SRSConfigurationForOneCell ::= SEQUENCE {
+ pci PCI,
+ ul-earfcn EARFCN,
+ ul-bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100},
+ ul-cyclicPrefixLength CPLength,
+ srs-BandwidthConfig ENUMERATED {bw0, bw1, bw2, bw3, bw4, bw5, bw6, bw7},
+ srs-Bandwidth ENUMERATED {bw0, bw1, bw2, bw3},
+ srs-AntennaPort ENUMERATED {an1, an2, an4, ...},
+ srs-HoppingBandwidth ENUMERATED {hbw0, hbw1, hbw2, hbw3},
+ srs-cyclicShift ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7},
+ srs-ConfigIndex INTEGER (0..1023),
+ maxUpPts ENUMERATED {true} OPTIONAL, -- Cond ifTDD
+ transmissionComb INTEGER (0..1),
+ freqDomainPosition INTEGER (0..23),
+ groupHoppingEnabled BOOLEAN,
+ deltaSS INTEGER (0..29) OPTIONAL,
+ sfnInitialisationTime SFNInitialisationTime,
+ ...
+}
+
+
+Subframeallocation ::= CHOICE {
+ oneFrame BIT STRING (SIZE(6)),
+ fourFrames BIT STRING (SIZE(24))
+}
+
+SS-NRRSRP ::= INTEGER (0..127)
+
+SS-NRRSRQ ::= INTEGER (0..127)
+
+SSB-Index ::= INTEGER (0..63)
+
+SSID ::= OCTET STRING (SIZE(1..32))
+
+SystemInformation ::= SEQUENCE (SIZE (1.. maxNrOfPosSImessage)) OF SEQUENCE {
+ broadcastPeriodicity BroadcastPeriodicity,
+ posSIBs PosSIBs,
+ iE-Extensions ProtocolExtensionContainer { { SystemInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SystemInformation-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- T
+
+TAC ::= OCTET STRING (SIZE(2))
+
+TDDConfiguration ::= SEQUENCE {
+ subframeAssignment ENUMERATED { sa0, sa1, sa2, sa3, sa4, sa5, sa6, ... },
+ iE-Extensions ProtocolExtensionContainer { { TDDConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDDConfiguration-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TP-ID ::= INTEGER (0..4095, ...)
+
+TP-Type ::= ENUMERATED { prs-only-tp, ... }
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+
+
+-- U
+
+ULConfiguration ::= SEQUENCE {
+ pci PCI,
+ ul-earfcn EARFCN,
+ timingAdvanceType1 INTEGER (0..7690) OPTIONAL,
+ timingAdvanceType2 INTEGER (0..7690) OPTIONAL,
+ numberOfTransmissions INTEGER (0..500,...),
+ srsConfiguration SRSConfigurationForAllCells,
+ ...
+}
+
+UARFCN ::= INTEGER (0..16383, ...)
+
+UTRA-EcN0 ::= INTEGER (0..49, ...)
+
+UTRA-RSCP ::= INTEGER (-5..91, ...)
+
+-- V
+
+ValueRSRP ::= INTEGER (0..97, ...)
+
+ValueRSRQ ::= INTEGER (0..34, ...)
+
+-- W
+
+WLANMeasurementQuantities ::= SEQUENCE (SIZE (0.. maxNoMeas)) OF ProtocolIE-Single-Container { {WLANMeasurementQuantities-ItemIEs} }
+
+WLANMeasurementQuantities-ItemIEs LPPA-PROTOCOL-IES ::= {
+ { ID id-WLANMeasurementQuantities-Item CRITICALITY reject TYPE WLANMeasurementQuantities-Item PRESENCE mandatory}}
+
+WLANMeasurementQuantities-Item ::= SEQUENCE {
+ wLANMeasurementQuantitiesValue WLANMeasurementQuantitiesValue,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasurementQuantitiesValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+WLANMeasurementQuantitiesValue-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLANMeasurementQuantitiesValue ::= ENUMERATED {
+ wlan,
+ ...
+}
+
+
+WLANMeasurementResult ::= SEQUENCE (SIZE (1..maxNoMeas)) OF WLANMeasurementResult-Item
+
+WLANMeasurementResult-Item ::= SEQUENCE {
+ wLAN-RSSI WLAN-RSSI,
+ sSID SSID OPTIONAL,
+ bSSID BSSID OPTIONAL,
+ hESSID HESSID OPTIONAL,
+ operatingClass WLANOperatingClass OPTIONAL,
+ countryCode WLANCountryCode OPTIONAL,
+ wLANChannelList WLANChannelList OPTIONAL,
+ wLANBand WLANBand OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasurementResult-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+WLANMeasurementResult-Item-ExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLAN-RSSI ::= INTEGER (0..141, ...)
+
+WLANBand ::= ENUMERATED {band2dot4, band5, ...}
+
+WLANChannelList ::= SEQUENCE (SIZE (1..maxWLANchannels)) OF WLANChannel
+
+WLANChannel ::= INTEGER (0..255)
+
+WLANCountryCode ::= ENUMERATED {
+ unitedStates,
+ europe,
+ japan,
+ global,
+ ...
+}
+
+WLANOperatingClass ::= INTEGER (0..255)
+
+-- X
+-- Y
+-- Z
+
+END
diff --git a/epan/dissectors/asn1/lppa/LPPA-PDU-Contents.asn b/epan/dissectors/asn1/lppa/LPPA-PDU-Contents.asn
new file mode 100644
index 00000000..81c60b68
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/LPPA-PDU-Contents.asn
@@ -0,0 +1,415 @@
+-- 3GPP TS 36.455 V16.1.0 (2020-09)
+--
+
+-- **************************************************************
+--
+-- PDU definitions for LPPa.
+--
+-- **************************************************************
+
+LPPA-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lppa (6) version1 (1) lppa-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ Cause,
+ CriticalityDiagnostics,
+ E-CID-MeasurementResult,
+ OTDOACells,
+ OTDOA-Information-Item,
+ Measurement-ID,
+ MeasurementPeriodicity,
+ MeasurementQuantities,
+ ReportCharacteristics,
+ RequestedSRSTransmissionCharacteristics,
+ ULConfiguration,
+ Cell-Portion-ID,
+ InterRATMeasurementQuantities,
+ InterRATMeasurementResult,
+ Add-OTDOACells,
+ WLANMeasurementQuantities,
+ WLANMeasurementResult,
+ Assistance-Information,
+ Broadcast,
+ AssistanceInformationFailureList
+
+FROM LPPA-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-ContainerPairList{},
+ ProtocolIE-Single-Container{},
+ LPPA-PRIVATE-IES,
+ LPPA-PROTOCOL-EXTENSION,
+ LPPA-PROTOCOL-IES,
+ LPPA-PROTOCOL-IES-PAIR
+FROM LPPA-Containers
+ maxnoOTDOAtypes,
+ id-Cause,
+ id-CriticalityDiagnostics,
+ id-E-SMLC-UE-Measurement-ID,
+ id-OTDOACells,
+ id-OTDOA-Information-Type-Group,
+ id-OTDOA-Information-Type-Item,
+ id-ReportCharacteristics,
+ id-MeasurementPeriodicity,
+ id-MeasurementQuantities,
+ id-eNB-UE-Measurement-ID,
+ id-E-CID-MeasurementResult,
+ id-RequestedSRSTransmissionCharacteristics,
+ id-ULConfiguration,
+ id-Cell-Portion-ID,
+ id-InterRATMeasurementQuantities,
+ id-InterRATMeasurementResult,
+ id-AddOTDOACells,
+ id-WLANMeasurementQuantities,
+ id-WLANMeasurementResult,
+ id-Assistance-Information,
+ id-Broadcast,
+ id-AssistanceInformationFailureList
+
+FROM LPPA-Constants;
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT INITIATION REQUEST
+--
+-- **************************************************************
+
+E-CIDMeasurementInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementInitiationRequest-IEs}},
+ ...
+}
+
+E-CIDMeasurementInitiationRequest-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-E-SMLC-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory}|
+ { ID id-MeasurementPeriodicity CRITICALITY reject TYPE MeasurementPeriodicity PRESENCE conditional}|
+-- The IE shall be present if the Report Characteritics IE is set to “periodic†--
+ { ID id-MeasurementQuantities CRITICALITY reject TYPE MeasurementQuantities PRESENCE mandatory}|
+ { ID id-InterRATMeasurementQuantities CRITICALITY ignore TYPE InterRATMeasurementQuantities PRESENCE optional}|
+ { ID id-WLANMeasurementQuantities CRITICALITY ignore TYPE WLANMeasurementQuantities PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT INITIATION RESPONSE
+--
+-- **************************************************************
+
+E-CIDMeasurementInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementInitiationResponse-IEs}},
+ ...
+}
+
+E-CIDMeasurementInitiationResponse-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-E-SMLC-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-E-CID-MeasurementResult CRITICALITY ignore TYPE E-CID-MeasurementResult PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-Cell-Portion-ID CRITICALITY ignore TYPE Cell-Portion-ID PRESENCE optional}|
+ { ID id-InterRATMeasurementResult CRITICALITY ignore TYPE InterRATMeasurementResult PRESENCE optional}|
+ { ID id-WLANMeasurementResult CRITICALITY ignore TYPE WLANMeasurementResult PRESENCE optional},
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT INITIATION FAILURE
+--
+-- **************************************************************
+
+E-CIDMeasurementInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementInitiationFailure-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementInitiationFailure-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-E-SMLC-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT FAILURE INDICATION
+--
+-- **************************************************************
+
+E-CIDMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementFailureIndication-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementFailureIndication-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-E-SMLC-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT REPORT
+--
+-- **************************************************************
+
+E-CIDMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementReport-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementReport-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-E-SMLC-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-E-CID-MeasurementResult CRITICALITY ignore TYPE E-CID-MeasurementResult PRESENCE mandatory}|
+ { ID id-Cell-Portion-ID CRITICALITY ignore TYPE Cell-Portion-ID PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT TERMINATION
+--
+-- **************************************************************
+
+E-CIDMeasurementTerminationCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementTerminationCommand-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementTerminationCommand-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-E-SMLC-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- OTDOA INFORMATION REQUEST
+--
+-- **************************************************************
+
+OTDOAInformationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{OTDOAInformationRequest-IEs}},
+ ...
+}
+
+OTDOAInformationRequest-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-OTDOA-Information-Type-Group CRITICALITY reject TYPE OTDOA-Information-Type PRESENCE mandatory},
+ ...
+}
+
+OTDOA-Information-Type ::= SEQUENCE (SIZE(1..maxnoOTDOAtypes)) OF ProtocolIE-Single-Container { { OTDOA-Information-TypeIEs} }
+
+OTDOA-Information-TypeIEs LPPA-PROTOCOL-IES ::= {
+ { ID id-OTDOA-Information-Type-Item CRITICALITY reject TYPE OTDOA-Information-Type-Item PRESENCE mandatory},
+ ...
+}
+
+OTDOA-Information-Type-Item ::= SEQUENCE {
+ oTDOA-Information-Type-Item OTDOA-Information-Item,
+ iE-Extensions ProtocolExtensionContainer { { OTDOA-Information-Type-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+OTDOA-Information-Type-ItemExtIEs LPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- OTDOA INFORMATION RESPONSE
+--
+-- **************************************************************
+
+OTDOAInformationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{OTDOAInformationResponse-IEs}},
+ ...
+}
+
+OTDOAInformationResponse-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-OTDOACells CRITICALITY ignore TYPE OTDOACells PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-AddOTDOACells CRITICALITY ignore TYPE Add-OTDOACells PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- OTDOA INFORMATION FAILURE
+--
+-- **************************************************************
+
+OTDOAInformationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{OTDOAInformationFailure-IEs}},
+ ...
+}
+
+
+OTDOAInformationFailure-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UTDOA INFORMATION REQUEST
+--
+-- **************************************************************
+
+UTDOAInformationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UTDOAInformationRequest-IEs}},
+ ...
+}
+
+UTDOAInformationRequest-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-RequestedSRSTransmissionCharacteristics CRITICALITY ignore TYPE RequestedSRSTransmissionCharacteristics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UTDOA INFORMATION RESPONSE
+--
+-- **************************************************************
+
+UTDOAInformationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UTDOAInformationResponse-IEs}},
+ ...
+}
+
+UTDOAInformationResponse-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-ULConfiguration CRITICALITY reject TYPE ULConfiguration PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UTDOA INFORMATION FAILURE
+--
+-- **************************************************************
+
+UTDOAInformationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UTDOAInformationFailure-IEs}},
+ ...
+}
+
+
+UTDOAInformationFailure-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UTDOA INFORMATION UPDATE
+--
+-- **************************************************************
+
+UTDOAInformationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UTDOAInformationUpdate-IEs}},
+ ...
+}
+
+UTDOAInformationUpdate-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-ULConfiguration CRITICALITY ignore TYPE ULConfiguration PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ASSISTANCE INFORMATION CONTROL
+--
+-- **************************************************************
+
+AssistanceInformationControl ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{AssistanceInformationControl-IEs}},
+ ...
+}
+
+AssistanceInformationControl-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-Assistance-Information CRITICALITY reject TYPE Assistance-Information PRESENCE optional}|
+ { ID id-Broadcast CRITICALITY reject TYPE Broadcast PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ASSISTANCE INFORMATION FEEDBACK
+--
+-- **************************************************************
+
+AssistanceInformationFeedback ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{AssistanceInformationFeedback-IEs}},
+ ...
+}
+
+AssistanceInformationFeedback-IEs LPPA-PROTOCOL-IES ::= {
+ { ID id-AssistanceInformationFailureList CRITICALITY reject TYPE AssistanceInformationFailureList PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ ...
+}
+
+ErrorIndication-IEs LPPA-PROTOCOL-IES ::= {
+
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs LPPA-PRIVATE-IES ::= {
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/lppa/LPPA-PDU-Descriptions.asn b/epan/dissectors/asn1/lppa/LPPA-PDU-Descriptions.asn
new file mode 100644
index 00000000..e35d1aa2
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/LPPA-PDU-Descriptions.asn
@@ -0,0 +1,235 @@
+-- 3GPP TS 36.455 V16.1.0 (2020-09)
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+LPPA-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) lppa (6) version1 (1) lppa-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode,
+ LPPATransactionID
+
+FROM LPPA-CommonDataTypes
+
+
+ ErrorIndication,
+ PrivateMessage,
+ E-CIDMeasurementInitiationRequest,
+ E-CIDMeasurementInitiationResponse,
+ E-CIDMeasurementInitiationFailure,
+ E-CIDMeasurementFailureIndication,
+ E-CIDMeasurementReport,
+ E-CIDMeasurementTerminationCommand,
+ OTDOAInformationRequest,
+ OTDOAInformationResponse,
+ OTDOAInformationFailure,
+ UTDOAInformationRequest,
+ UTDOAInformationResponse,
+ UTDOAInformationFailure,
+ UTDOAInformationUpdate,
+ AssistanceInformationControl,
+ AssistanceInformationFeedback
+
+
+FROM LPPA-PDU-Contents
+
+ id-errorIndication,
+ id-privateMessage,
+ id-e-CIDMeasurementInitiation,
+ id-e-CIDMeasurementFailureIndication,
+ id-e-CIDMeasurementReport,
+ id-e-CIDMeasurementTermination,
+ id-oTDOAInformationExchange,
+ id-uTDOAInformationExchange,
+ id-uTDOAInformationUpdate,
+ id-assistanceInformationControl,
+ id-assistanceInformationFeedback
+
+
+FROM LPPA-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+LPPA-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+LPPA-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode LPPA-ELEMENTARY-PROCEDURE.&procedureCode ({LPPA-ELEMENTARY-PROCEDURES}),
+ criticality LPPA-ELEMENTARY-PROCEDURE.&criticality ({LPPA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ lppatransactionID LPPATransactionID,
+ value LPPA-ELEMENTARY-PROCEDURE.&InitiatingMessage ({LPPA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode LPPA-ELEMENTARY-PROCEDURE.&procedureCode ({LPPA-ELEMENTARY-PROCEDURES}),
+ criticality LPPA-ELEMENTARY-PROCEDURE.&criticality ({LPPA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ lppatransactionID LPPATransactionID,
+ value LPPA-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({LPPA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode LPPA-ELEMENTARY-PROCEDURE.&procedureCode ({LPPA-ELEMENTARY-PROCEDURES}),
+ criticality LPPA-ELEMENTARY-PROCEDURE.&criticality ({LPPA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ lppatransactionID LPPATransactionID,
+ value LPPA-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({LPPA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+LPPA-ELEMENTARY-PROCEDURES LPPA-ELEMENTARY-PROCEDURE ::= {
+ LPPA-ELEMENTARY-PROCEDURES-CLASS-1 |
+ LPPA-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+LPPA-ELEMENTARY-PROCEDURES-CLASS-1 LPPA-ELEMENTARY-PROCEDURE ::= {
+ e-CIDMeasurementInitiation |
+ oTDOAInformationExchange ,
+ ...,
+ uTDOAInformationExchange
+}
+
+LPPA-ELEMENTARY-PROCEDURES-CLASS-2 LPPA-ELEMENTARY-PROCEDURE ::= {
+ e-CIDMeasurementFailureIndication |
+ e-CIDMeasurementReport |
+ e-CIDMeasurementTermination |
+ errorIndication |
+ privateMessage ,
+ ...,
+ uTDOAInformationUpdate |
+ assistanceInformationControl |
+ assistanceInformationFeedback
+}
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+e-CIDMeasurementInitiation LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementInitiationRequest
+ SUCCESSFUL OUTCOME E-CIDMeasurementInitiationResponse
+ UNSUCCESSFUL OUTCOME E-CIDMeasurementInitiationFailure
+ PROCEDURE CODE id-e-CIDMeasurementInitiation
+ CRITICALITY reject
+}
+
+e-CIDMeasurementFailureIndication LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementFailureIndication
+ PROCEDURE CODE id-e-CIDMeasurementFailureIndication
+ CRITICALITY ignore
+}
+
+e-CIDMeasurementReport LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementReport
+ PROCEDURE CODE id-e-CIDMeasurementReport
+ CRITICALITY ignore
+}
+
+e-CIDMeasurementTermination LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementTerminationCommand
+ PROCEDURE CODE id-e-CIDMeasurementTermination
+ CRITICALITY reject
+}
+
+oTDOAInformationExchange LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE OTDOAInformationRequest
+ SUCCESSFUL OUTCOME OTDOAInformationResponse
+ UNSUCCESSFUL OUTCOME OTDOAInformationFailure
+ PROCEDURE CODE id-oTDOAInformationExchange
+ CRITICALITY reject
+}
+
+uTDOAInformationExchange LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UTDOAInformationRequest
+ SUCCESSFUL OUTCOME UTDOAInformationResponse
+ UNSUCCESSFUL OUTCOME UTDOAInformationFailure
+ PROCEDURE CODE id-uTDOAInformationExchange
+ CRITICALITY reject
+}
+
+uTDOAInformationUpdate LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UTDOAInformationUpdate
+ PROCEDURE CODE id-uTDOAInformationUpdate
+ CRITICALITY ignore
+}
+
+assistanceInformationControl LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AssistanceInformationControl
+ PROCEDURE CODE id-assistanceInformationControl
+ CRITICALITY reject
+}
+
+assistanceInformationFeedback LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AssistanceInformationFeedback
+ PROCEDURE CODE id-assistanceInformationFeedback
+ CRITICALITY reject
+}
+
+errorIndication LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-errorIndication
+ CRITICALITY ignore
+}
+
+
+privateMessage LPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/lppa/lppa.cnf b/epan/dissectors/asn1/lppa/lppa.cnf
new file mode 100644
index 00000000..a0a4381c
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/lppa.cnf
@@ -0,0 +1,179 @@
+# lppa.cnf
+# llpa conformation file
+# Copyright 2011-2020 Pascal Quantin
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.OMIT_ASSIGNMENT
+Presence
+ProtocolIE-ContainerList
+ProtocolIE-ContainerPairList
+ProtocolIE-ContainerPair
+ProtocolIE-FieldPair
+
+#.PDU
+LPPA-PDU
+
+#.TYPE_RENAME
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+ProtocolIE-Field/value ie_field_value
+ProtocolExtensionField/id ext_id
+
+#.FN_BODY ProtocolIE-ID VAL_PTR=&lppa_data->protocol_ie_id
+ struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(lppa_data->protocol_ie_id, VALS(lppa_ProtocolIE_ID_vals), "unknown (%d)"));
+ }
+#.END
+
+#.FN_BODY ProcedureCode VAL_PTR = &lppa_data->procedure_code
+ struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
+
+%(DEFAULT_BODY)s
+
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%%s ",
+ val_to_str(lppa_data->procedure_code, lppa_ProcedureCode_vals,
+ "unknown message"));
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
+ lppa_data->message_type = INITIATING_MESSAGE;
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
+ lppa_data->message_type = SUCCESSFUL_OUTCOME;
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
+ lppa_data->message_type = UNSUCCESSFUL_OUTCOME;
+
+#.FN_HDR LPPA-PDU
+
+ proto_tree_add_item(tree, proto_lppa, tvb, 0, -1, ENC_NA);
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_PROTOCOL, "/", "LPPa");
+#.END
+
+#.TYPE_ATTR
+BSSID TYPE=FT_ETHER
+
+#.TYPE_ATTR
+HESSID TYPE=FT_ETHER
+
+#.TYPE_ATTR
+# ProcedureCode
+id-errorIndication ProcedureCode
+id-privateMessage ProcedureCode
+id-e-CIDMeasurementInitiation ProcedureCode
+id-e-CIDMeasurementFailureIndication ProcedureCode
+id-e-CIDMeasurementReport ProcedureCode
+id-e-CIDMeasurementTermination ProcedureCode
+id-oTDOAInformationExchange ProcedureCode
+id-uTDOAInformationExchange ProcedureCode
+id-uTDOAInformationUpdate ProcedureCode
+id-assistanceInformationControl ProcedureCode
+id-assistanceInformationFeedback ProcedureCode
+
+# ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-E-SMLC-UE-Measurement-ID ProtocolIE-ID
+id-ReportCharacteristics ProtocolIE-ID
+id-MeasurementPeriodicity ProtocolIE-ID
+id-MeasurementQuantities ProtocolIE-ID
+id-eNB-UE-Measurement-ID ProtocolIE-ID
+id-E-CID-MeasurementResult ProtocolIE-ID
+id-OTDOACells ProtocolIE-ID
+id-OTDOA-Information-Type-Group ProtocolIE-ID
+id-OTDOA-Information-Type-Item ProtocolIE-ID
+id-MeasurementQuantities-Item ProtocolIE-ID
+id-RequestedSRSTransmissionCharacteristics ProtocolIE-ID
+id-ULConfiguration ProtocolIE-ID
+id-Cell-Portion-ID ProtocolIE-ID
+id-InterRATMeasurementQuantities ProtocolIE-ID
+id-InterRATMeasurementQuantities-Item ProtocolIE-ID
+id-InterRATMeasurementResult ProtocolIE-ID
+id-AddOTDOACells ProtocolIE-ID
+id-WLANMeasurementQuantities ProtocolIE-ID
+id-WLANMeasurementQuantities-Item ProtocolIE-ID
+id-WLANMeasurementResult ProtocolIE-ID
+id-Assistance-Information ProtocolIE-ID
+id-Broadcast ProtocolIE-ID
+id-AssistanceInformationFailureList ProtocolIE-ID
+id-ResultsPerSSB-Index-List ProtocolIE-ID
+id-ResultsPerSSB-Index-Item ProtocolIE-ID
+id-NR-CGI ProtocolIE-ID
+
+#.REGISTER
+#LPPA-PROTOCOL-IES
+MeasurementQuantities-Item N lppa.ies id-MeasurementQuantities-Item
+ReportCharacteristics N lppa.ies id-ReportCharacteristics
+MeasurementPeriodicity N lppa.ies id-MeasurementPeriodicity
+MeasurementQuantities N lppa.ies id-MeasurementQuantities
+E-CID-MeasurementResult N lppa.ies id-E-CID-MeasurementResult
+OTDOA-Information-Type N lppa.ies id-OTDOA-Information-Type-Group
+OTDOA-Information-Type-Item N lppa.ies id-OTDOA-Information-Type-Item
+OTDOACells N lppa.ies id-OTDOACells
+Cause N lppa.ies id-Cause
+CriticalityDiagnostics N lppa.ies id-CriticalityDiagnostics
+Measurement-ID N lppa.ies id-E-SMLC-UE-Measurement-ID
+Measurement-ID N lppa.ies id-eNB-UE-Measurement-ID
+RequestedSRSTransmissionCharacteristics N lppa.ies id-RequestedSRSTransmissionCharacteristics
+ULConfiguration N lppa.ies id-ULConfiguration
+InterRATMeasurementQuantities N lppa.ies id-InterRATMeasurementQuantities
+Cell-Portion-ID N lppa.ies id-Cell-Portion-ID
+InterRATMeasurementResult N lppa.ies id-InterRATMeasurementResult
+InterRATMeasurementQuantities-Item N lppa.ies id-InterRATMeasurementQuantities-Item
+WLANMeasurementQuantities N lppa.ies id-WLANMeasurementQuantities
+WLANMeasurementResult N lppa.ies id-WLANMeasurementResult
+Add-OTDOACells N lppa.ies id-AddOTDOACells
+WLANMeasurementQuantities-Item N lppa.ies id-WLANMeasurementQuantities-Item
+Assistance-Information N lppa.ies id-Assistance-Information
+Broadcast N lppa.ies id-Broadcast
+AssistanceInformationFailureList N lppa.ies id-AssistanceInformationFailureList
+
+#LPPA-PROTOCOL-EXTENSION
+ResultsPerSSB-Index-List N lppa.extension id-ResultsPerSSB-Index-List
+NR-CGI N lppa.extension id-NR-CGI
+
+#LPPA-ELEMENTARY-PROCEDURE
+E-CIDMeasurementInitiationRequest N lppa.proc.imsg id-e-CIDMeasurementInitiation
+E-CIDMeasurementInitiationResponse N lppa.proc.sout id-e-CIDMeasurementInitiation
+E-CIDMeasurementInitiationFailure N lppa.proc.uout id-e-CIDMeasurementInitiation
+E-CIDMeasurementFailureIndication N lppa.proc.imsg id-e-CIDMeasurementFailureIndication
+E-CIDMeasurementReport N lppa.proc.imsg id-e-CIDMeasurementReport
+E-CIDMeasurementTerminationCommand N lppa.proc.imsg id-e-CIDMeasurementTermination
+OTDOAInformationRequest N lppa.proc.imsg id-oTDOAInformationExchange
+OTDOAInformationResponse N lppa.proc.sout id-oTDOAInformationExchange
+OTDOAInformationFailure N lppa.proc.uout id-oTDOAInformationExchange
+ErrorIndication N lppa.proc.imsg id-errorIndication
+PrivateMessage N lppa.proc.imsg id-privateMessage
+UTDOAInformationRequest N lppa.proc.imsg id-uTDOAInformationExchange
+UTDOAInformationResponse N lppa.proc.sout id-uTDOAInformationExchange
+UTDOAInformationFailure N lppa.proc.uout id-uTDOAInformationExchange
+UTDOAInformationUpdate N lppa.proc.imsg id-uTDOAInformationUpdate
+AssistanceInformationControl N lppa.proc.imsg id-assistanceInformationControl
+AssistanceInformationFeedback N lppa.proc.imsg id-assistanceInformationFeedback
diff --git a/epan/dissectors/asn1/lppa/packet-lppa-template.c b/epan/dissectors/asn1/lppa/packet-lppa-template.c
new file mode 100644
index 00000000..56277499
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/packet-lppa-template.c
@@ -0,0 +1,165 @@
+/* packet-lppa.c
+ * Routines for 3GPP LTE Positioning Protocol A (LLPa) packet dissection
+ * Copyright 2011-2019, Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref 3GPP TS 36.455 version 16.1.0 (2020-09)
+ * http://www.3gpp.org
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/proto_data.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-lppa.h"
+
+#define PNAME "LTE Positioning Protocol A (LPPa)"
+#define PSNAME "LPPa"
+#define PFNAME "lppa"
+
+void proto_register_lppa(void);
+void proto_reg_handoff_lppa(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_lppa = -1;
+
+#include "packet-lppa-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_lppa = -1;
+#include "packet-lppa-ett.c"
+
+enum {
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+/* Dissector tables */
+static dissector_table_t lppa_ies_dissector_table;
+static dissector_table_t lppa_extension_dissector_table;
+static dissector_table_t lppa_proc_imsg_dissector_table;
+static dissector_table_t lppa_proc_sout_dissector_table;
+static dissector_table_t lppa_proc_uout_dissector_table;
+
+/* Include constants */
+#include "packet-lppa-val.h"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+struct lppa_private_data {
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ guint32 protocol_extension_id;
+ guint32 message_type;
+};
+
+static struct lppa_private_data*
+lppa_get_private_data(packet_info* pinfo)
+{
+ struct lppa_private_data* lppa_data = (struct lppa_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_lppa, 0);
+ if (!lppa_data) {
+ lppa_data = wmem_new0(pinfo->pool, struct lppa_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_lppa, 0, lppa_data);
+ }
+ return lppa_data;
+}
+
+#include "packet-lppa-fn.c"
+
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+
+ lppa_ctx_t lppa_ctx;
+ struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
+
+ lppa_ctx.message_type = lppa_data->message_type;
+ lppa_ctx.ProcedureCode = lppa_data->procedure_code;
+ lppa_ctx.ProtocolIE_ID = lppa_data->protocol_ie_id;
+ lppa_ctx.ProtocolExtensionID = lppa_data->protocol_extension_id;
+
+ return (dissector_try_uint_new(lppa_ies_dissector_table, lppa_ctx.ProtocolIE_ID, tvb, pinfo, tree, FALSE, &lppa_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ lppa_ctx_t lppa_ctx;
+ struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
+
+ lppa_ctx.message_type = lppa_data->message_type;
+ lppa_ctx.ProcedureCode = lppa_data->procedure_code;
+ lppa_ctx.ProtocolIE_ID = lppa_data->protocol_ie_id;
+ lppa_ctx.ProtocolExtensionID = lppa_data->protocol_extension_id;
+
+ return (dissector_try_uint_new(lppa_extension_dissector_table, lppa_ctx.ProtocolExtensionID, tvb, pinfo, tree, FALSE, &lppa_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
+ return (dissector_try_uint_new(lppa_proc_imsg_dissector_table, lppa_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
+ return (dissector_try_uint_new(lppa_proc_sout_dissector_table, lppa_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(lppa_proc_uout_dissector_table, lppa_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+/*--- proto_register_lppa -------------------------------------------*/
+void proto_register_lppa(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+ #include "packet-lppa-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint* ett[] = {
+ &ett_lppa,
+ #include "packet-lppa-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_lppa = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("lppa", dissect_LPPA_PDU_PDU, proto_lppa);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_lppa, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector tables */
+ lppa_ies_dissector_table = register_dissector_table("lppa.ies", "LPPA-PROTOCOL-IES", proto_lppa, FT_UINT32, BASE_DEC);
+ lppa_extension_dissector_table = register_dissector_table("lppa.extension", "LPPA-PROTOCOL-EXTENSION", proto_lppa, FT_UINT32, BASE_DEC);
+ lppa_proc_imsg_dissector_table = register_dissector_table("lppa.proc.imsg", "LPPA-ELEMENTARY-PROCEDURE InitiatingMessage", proto_lppa, FT_UINT32, BASE_DEC);
+ lppa_proc_sout_dissector_table = register_dissector_table("lppa.proc.sout", "LPPA-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_lppa, FT_UINT32, BASE_DEC);
+ lppa_proc_uout_dissector_table = register_dissector_table("lppa.proc.uout", "LPPA-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_lppa, FT_UINT32, BASE_DEC);
+}
+
+/*--- proto_reg_handoff_lppa ---------------------------------------*/
+void
+proto_reg_handoff_lppa(void)
+{
+#include "packet-lppa-dis-tab.c"
+}
diff --git a/epan/dissectors/asn1/lppa/packet-lppa-template.h b/epan/dissectors/asn1/lppa/packet-lppa-template.h
new file mode 100644
index 00000000..7e85331d
--- /dev/null
+++ b/epan/dissectors/asn1/lppa/packet-lppa-template.h
@@ -0,0 +1,37 @@
+/* packet-lppa.h
+ * Routines for 3GPP LTE Positioning Protocol A (LLPa) packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_LPPA_H
+#define PACKET_LPPA_H
+
+typedef struct _lppa_ctx_t {
+ guint32 message_type;
+ guint32 ProcedureCode;
+ guint32 ProtocolIE_ID;
+ guint32 ProtocolExtensionID;
+} lppa_ctx_t;
+
+
+#include "packet-lppa-exp.h"
+
+#endif /* PACKET_LPPA_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/lppe/CMakeLists.txt b/epan/dissectors/asn1/lppe/CMakeLists.txt
new file mode 100644
index 00000000..5212820a
--- /dev/null
+++ b/epan/dissectors/asn1/lppe/CMakeLists.txt
@@ -0,0 +1,38 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME lppe )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ LPPe.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../lpp/lpp-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/lppe/LPPe.asn b/epan/dissectors/asn1/lppe/LPPe.asn
new file mode 100644
index 00000000..76fd1134
--- /dev/null
+++ b/epan/dissectors/asn1/lppe/LPPe.asn
@@ -0,0 +1,4331 @@
+-- Open Mobile Alliance OMA-TS-LPPe-V1_0-20200630-D
+--
+OMA-LPPE DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+-- asn2wrs does not seem to import integer constants (maxFreqLayers)
+--IMPORTS GNSS-ID, GNSS-SignalID, GNSS-SignalIDs, GNSS-SystemTime, SV-ID,
+--ECID-SignalMeasurementInformation, CellGlobalIdGERAN, CellGlobalIdEUTRA-AndUTRA,
+--OTDOA-ReferenceCellInfo, OTDOA-NeighbourCellInfoElement, maxFreqLayers, ARFCN-ValueEUTRA,
+--Ellipsoid-Point, EllipsoidPointWithAltitude, EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+--NetworkTime, GNSS-ID-Bitmap, ARFCN-ValueUTRA, ARFCN-ValueEUTRA-v9a0, Velocity FROM LPP-PDU-Definitions;
+IMPORTS GNSS-ID, GNSS-SignalID, GNSS-SignalIDs, GNSS-SystemTime, SV-ID,
+ECID-SignalMeasurementInformation, CellGlobalIdGERAN, CellGlobalIdEUTRA-AndUTRA,
+OTDOA-ReferenceCellInfo, OTDOA-NeighbourCellInfoElement, ARFCN-ValueEUTRA,
+Ellipsoid-Point, EllipsoidPointWithAltitude, EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+NetworkTime, GNSS-ID-Bitmap, ARFCN-ValueUTRA, ARFCN-ValueEUTRA-v9a0, Velocity FROM LPP-PDU-Definitions;
+
+
+OMA-LPPe-MessageExtension ::= SEQUENCE {
+ lppeCompatibilityLevel OMA-LPPe-LPPeCompatibilityLevel,
+ lppeVersion OMA-LPPe-LPPeVersion,
+ lppeMode OMA-LPPe-LPPeMode,
+ messageExtensionBody OMA-LPPe-MessageExtensionBody,
+ ...
+}
+
+OMA-LPPe-LPPeCompatibilityLevel ::= INTEGER (0..15)
+
+OMA-LPPe-LPPeVersion ::= SEQUENCE {
+ majorVersion INTEGER(0..255),
+ minorVersion INTEGER(0..255)
+}
+
+OMA-LPPe-LPPeMode ::= ENUMERATED {
+ normal,
+ reversed,
+ ...
+}
+
+
+OMA-LPPe-MessageExtensionBody ::= CHOICE {
+ requestCapabilities OMA-LPPe-RequestCapabilities,
+ --Shall only be used in the EPDU in LPP RequestCapabilities
+ provideCapabilities OMA-LPPe-ProvideCapabilities,
+ --Shall only be used in the EPDU in LPP ProvideCapabilities
+ requestAssistanceData OMA-LPPe-RequestAssistanceData,
+ --Shall only be used in the EPDU in LPP RequestAssistanceData
+ provideAssistanceData OMA-LPPe-ProvideAssistanceData,
+ --Shall only be used in the EPDU in LPP ProvideAssistanceData
+ requestLocationInformation OMA-LPPe-RequestLocationInformation,
+ --Shall only be used in the EPDU in LPP RequestLocationInformation
+ provideLocationInformation OMA-LPPe-ProvideLocationInformation,
+ --Shall only be used in the EPDU in LPP ProvideLocationInformation
+ error OMA-LPPe-Error, --Shall only be used in the EPDU in LPP Error
+ abort OMA-LPPe-Abort, --Shall only be used in the EPDU in LPP Abort
+ ...
+}
+
+
+OMA-LPPe-RequestCapabilities ::= SEQUENCE {
+ commonIEsRequestCapabilities OMA-LPPe-CommonIEsRequestCapabilities OPTIONAL,
+ agnss-RequestCapabilities OMA-LPPe-AGNSS-RequestCapabilities OPTIONAL,
+ otdoa-RequestCapabilities OMA-LPPe-OTDOA-RequestCapabilities OPTIONAL,
+ eotd-RequestCapabilities OMA-LPPe-EOTD-RequestCapabilities OPTIONAL,
+ otdoa-utra-RequestCapabilities OMA-LPPe-OTDOA-UTRA-RequestCapabilities OPTIONAL,
+ ecid-lte-RequestCapabilities OMA-LPPe-ECID-LTE-RequestCapabilities OPTIONAL,
+ ecid-gsm-RequestCapabilities OMA-LPPe-ECID-GSM-RequestCapabilities OPTIONAL,
+ ecid-utra-RequestCapabilities OMA-LPPe-ECID-UTRA-RequestCapabilities OPTIONAL,
+ wlan-ap-RequestCapabilities OMA-LPPe-WLAN-AP-RequestCapabilities OPTIONAL,
+ ecid-wimax-RequestCapabilities OMA-LPPe-ECID-WiMax-RequestCapabilities OPTIONAL,
+ sensor-RequestCapabilities OMA-LPPe-Sensor-RequestCapabilities OPTIONAL,
+ srn-RequestCapabilities OMA-LPPe-SRN-RequestCapabilities OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ProvideCapabilities::= SEQUENCE {
+ commonIEsProvideCapabilities OMA-LPPe-CommonIEsProvideCapabilities OPTIONAL,
+ agnss-ProvideCapabilities OMA-LPPe-AGNSS-ProvideCapabilities OPTIONAL,
+ otdoa-ProvideCapabilities OMA-LPPe-OTDOA-ProvideCapabilities OPTIONAL,
+ eotd-ProvideCapabilities OMA-LPPe-EOTD-ProvideCapabilities OPTIONAL,
+ otdoa-utra-ProvideCapabilities OMA-LPPe-OTDOA-UTRA-ProvideCapabilities OPTIONAL,
+ ecid-lte-ProvideCapabilities OMA-LPPe-ECID-LTE-ProvideCapabilities OPTIONAL,
+ ecid-gsm-ProvideCapabilities OMA-LPPe-ECID-GSM-ProvideCapabilities OPTIONAL,
+ ecid-utra-ProvideCapabilities OMA-LPPe-ECID-UTRA-ProvideCapabilities OPTIONAL,
+ wlan-ap-ProvideCapabilities OMA-LPPe-WLAN-AP-ProvideCapabilities OPTIONAL,
+ ecid-wimax-ProvideCapabilities OMA-LPPe-ECID-WiMax-ProvideCapabilities OPTIONAL,
+ sensor-ProvideCapabilities OMA-LPPe-Sensor-ProvideCapabilities OPTIONAL,
+ srn-ProvideCapabilities OMA-LPPe-SRN-ProvideCapabilities OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-RequestAssistanceData ::= SEQUENCE {
+ commonIEsRequestAssistanceData OMA-LPPe-CommonIEsRequestAssistanceData OPTIONAL,
+ agnss-RequestAssistanceData OMA-LPPe-AGNSS-RequestAssistanceData OPTIONAL,
+ otdoa-RequestAssistanceData OMA-LPPe-OTDOA-RequestAssistanceData OPTIONAL,
+ eotd-RequestAssistanceData OMA-LPPe-EOTD-RequestAssistanceData OPTIONAL,
+ otdoa-utra-RequestAssistanceData OMA-LPPe-OTDOA-UTRA-RequestAssistanceData OPTIONAL,
+ ecid-lte-RequestAssistanceData OMA-LPPe-ECID-LTE-RequestAssistanceData OPTIONAL,
+ ecid-gsm-RequestAssistanceData OMA-LPPe-ECID-GSM-RequestAssistanceData OPTIONAL,
+ ecid-utra-RequestAssistanceData OMA-LPPe-ECID-UTRA-RequestAssistanceData OPTIONAL,
+ wlan-ap-RequestAssistanceData OMA-LPPe-WLAN-AP-RequestAssistanceData OPTIONAL,
+ sensor-RequestAssistanceData OMA-LPPe-Sensor-RequestAssistanceData OPTIONAL,
+ srn-RequestAssistanceData OMA-LPPe-SRN-RequestAssistanceData OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ProvideAssistanceData ::= SEQUENCE {
+ commonIEsProvideAssistanceData OMA-LPPe-CommonIEsProvideAssistanceData OPTIONAL,
+ agnss-ProvideAssistanceData OMA-LPPe-AGNSS-ProvideAssistanceData OPTIONAL,
+ otdoa-ProvideAssistanceData OMA-LPPe-OTDOA-ProvideAssistanceData OPTIONAL,
+ eotd-ProvideAssistanceData OMA-LPPe-EOTD-ProvideAssistanceData OPTIONAL,
+ otdoa-utra-ProvideAssistanceData OMA-LPPe-OTDOA-UTRA-ProvideAssistanceData OPTIONAL,
+ ecid-lte-ProvideAssistanceData OMA-LPPe-ECID-LTE-ProvideAssistanceData OPTIONAL,
+ ecid-gsm-ProvideAssistanceData OMA-LPPe-ECID-GSM-ProvideAssistanceData OPTIONAL,
+ ecid-utra-ProvideAssistanceData OMA-LPPe-ECID-UTRA-ProvideAssistanceData OPTIONAL,
+ wlan-ap-ProvideAssistanceData OMA-LPPe-WLAN-AP-ProvideAssistanceData OPTIONAL,
+ sensor-ProvideAssistanceData OMA-LPPe-Sensor-ProvideAssistanceData OPTIONAL,
+ srn-ProvideAssistanceData OMA-LPPe-SRN-ProvideAssistanceData OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-RequestLocationInformation ::= SEQUENCE {
+ commonIEsRequestLocationInformation OMA-LPPe-CommonIEsRequestLocationInformation OPTIONAL,
+ agnss-RequestLocationInformation OMA-LPPe-AGNSS-RequestLocationInformation OPTIONAL,
+ otdoa-RequestLocationInformation OMA-LPPe-OTDOA-RequestLocationInformation OPTIONAL,
+ eotd-RequestLocationInformation OMA-LPPe-EOTD-RequestLocationInformation OPTIONAL,
+ otdoa-utra-RequestLocationInformation OMA-LPPe-OTDOA-UTRA-RequestLocationInformation OPTIONAL,
+ ecid-lte-RequestLocationInformation OMA-LPPe-ECID-LTE-RequestLocationInformation OPTIONAL,
+ ecid-gsm-RequestLocationInformation OMA-LPPe-ECID-GSM-RequestLocationInformation OPTIONAL,
+ ecid-utra-RequestLocationInformation OMA-LPPe-ECID-UTRA-RequestLocationInformation OPTIONAL,
+ wlan-ap-RequestLocationInformation OMA-LPPe-WLAN-AP-RequestLocationInformation OPTIONAL,
+ ecid-wimax-RequestLocationInformation OMA-LPPe-ECID-WiMax-RequestLocationInformation OPTIONAL,
+ sensor-RequestLocationInformation OMA-LPPe-Sensor-RequestLocationInformation OPTIONAL,
+ srn-RequestLocationInformation OMA-LPPe-SRN-RequestLocationInformation OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ProvideLocationInformation ::= SEQUENCE {
+ commonIEsProvideLocationInformation OMA-LPPe-CommonIEsProvideLocationInformation OPTIONAL,
+ agnss-ProvideLocationInformation OMA-LPPe-AGNSS-ProvideLocationInformation OPTIONAL,
+ otdoa-ProvideLocationInformation OMA-LPPe-OTDOA-ProvideLocationInformation OPTIONAL,
+ eotd-ProvideLocationInformation OMA-LPPe-EOTD-ProvideLocationInformation OPTIONAL,
+ otdoa-utra-ProvideLocationInformation OMA-LPPe-OTDOA-UTRA-ProvideLocationInformation OPTIONAL,
+ ecid-lte-ProvideLocationInformation OMA-LPPe-ECID-LTE-ProvideLocationInformation OPTIONAL,
+ ecid-gsm-ProvideLocationInformation OMA-LPPe-ECID-GSM-ProvideLocationInformation OPTIONAL,
+ ecid-utra-ProvideLocationInformation OMA-LPPe-ECID-UTRA-ProvideLocationInformation OPTIONAL,
+ wlan-ap-ProvideLocationInformastion OMA-LPPe-WLAN-AP-ProvideLocationInformation OPTIONAL,
+ ecid-wimax-ProvideLocationInformastion OMA-LPPe-ECID-WiMax-ProvideLocationInformation OPTIONAL,
+ sensor-ProvideLocationInformation OMA-LPPe-Sensor-ProvideLocationInformation OPTIONAL,
+ srn-ProvideLocationInformation OMA-LPPe-SRN-ProvideLocationInformation OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-Abort ::= SEQUENCE {
+ commonIEsAbort OMA-LPPe-CommonIEsAbort OPTIONAL,
+ agnssAbort OMA-LPPe-AGNSS-Abort OPTIONAL,
+ ...
+}
+
+
+
+OMA-LPPe-Error ::= SEQUENCE {
+ commonIEsError OMA-LPPe-CommonIEsError OPTIONAL,
+ ...
+}
+
+
+
+OMA-LPPe-AssistanceContainer-DataSerialNumber ::= SEQUENCE {
+ dataSerialNumber INTEGER(0..4294967295),
+ ...
+}
+
+
+OMA-LPPe-AssistanceContainerID ::= SEQUENCE {
+ containerID INTEGER (0..65535),
+ ...
+}
+
+
+OMA-LPPe-AssistanceContainerProvideList ::= SEQUENCE (SIZE(1.. maxAssistanceContainerList)) OF OMA-LPPe-AssistanceContainerProvide
+
+maxAssistanceContainerList INTEGER ::= 16
+OMA-LPPe-AssistanceContainerProvide ::= SEQUENCE {
+ dataIdentifier OMA-LPPe-VendorOrOperatorAssistanceDataIdentifier,
+ checkOrUpdateOrError ENUMERATED {
+ targetHasLatestData,
+ targetDataNotLatest,
+ targetDataNotLatestButServerCannotProvideLatestData,
+ targetHasValidData,
+ targetDataInvalidButServerCannotProvideValidData,
+ serverHasRequestedDataButUnableToProvideTemporarily,
+ serverDoesNotHaveRequestedData,
+ serverDoesNotRecognizeRequestedData,
+ undefined,
+ ... } OPTIONAL, --Cond CheckorUpdate
+ dataResult CHOICE {
+ simulationResult INTEGER(0..5000),
+ data OMA-LPPe-AssistanceContainerData,
+ ...
+ } OPTIONAL,
+ errorCode OMA-LPPe-AssistanceContainerProvideError OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AssistanceContainerData ::= SEQUENCE {
+ dataSerialNumber OMA-LPPe-AssistanceContainer-DataSerialNumber OPTIONAL,
+ data OCTET STRING,
+ validityPeriod OMA-LPPe-ValidityPeriod OPTIONAL,
+ validityArea OMA-LPPe-ValidityArea OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AssistanceContainerProvideError ::= SEQUENCE {
+ serverError ENUMERATED { assistanceContainerUnknownDataIdentifier,
+ assistanceContainerUnknownDataSerialNumber,
+ assistanceContainerDataTemporarilyUnavailable,
+ assistanceContainerDataNoLongerSupported,
+ assistanceContainerVendorOrOperatorNotSupported,
+ ...} OPTIONAL,
+ ...
+}
+
+
+
+OMA-LPPe-AssistanceContainerRequestList ::= SEQUENCE (SIZE(1..maxAssistanceContainerList)) OF OMA-LPPe-AssistanceContainerRequest
+
+OMA-LPPe-AssistanceContainerRequest ::= SEQUENCE {
+ dataIdentifier OMA-LPPe-VendorOrOperatorAssistanceDataIdentifier,
+ simulatedReq BOOLEAN,
+ checkOrUpdateReq OMA-LPPe-AssistanceContainerCheckOrUpdateReq OPTIONAL,
+ validityTimeRequest OMA-LPPe-ValidityPeriod OPTIONAL,
+ proprietaryRequestParameters OCTET STRING OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AssistanceContainerCheckOrUpdateReq ::= SEQUENCE {
+ dataSerialNumber OMA-LPPe-AssistanceContainer-DataSerialNumber,
+ checkLatest ENUMERATED {returnLatestIfCurrentNotLatest,
+ returnUpdateOnlyIfCurrentInvalid,
+ ... },
+ ...
+}
+
+
+
+OMA-LPPe-CellLocalIdGERAN ::= SEQUENCE {
+ locationAreaCode BIT STRING (SIZE (16)),
+ cellIdentity BIT STRING (SIZE (16)),
+ ...
+}
+
+
+OMA-LPPe-CellNonUniqueIDGERAN ::= SEQUENCE {
+ bsic INTEGER (0..63),
+ bcch INTEGER (0..1023),
+ ...
+}
+
+
+
+OMA-LPPe-CharArray ::= VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ".-"))(SIZE (1..31))
+
+
+OMA-LPPe-CivicLocation ::= SEQUENCE {
+ countryCode OCTET STRING (SIZE (2)),
+ civicAddressElementList OMA-LPPe-CivicAddressElementList,
+ ...
+}
+
+OMA-LPPe-CivicAddressElementList ::= SEQUENCE (SIZE (1..128)) OF OMA-LPPe-CivicAddressElement
+
+OMA-LPPe-CivicAddressElement ::= SEQUENCE {
+ caType INTEGER(0..511),
+ caValue OCTET STRING (SIZE (1..256)),
+ ...
+}
+
+
+OMA-LPPe-CivicLocation-pidf-lo ::= SEQUENCE {
+ civicLocation OCTET STRING,
+ ...
+}
+
+
+OMA-LPPe-Duration ::= SEQUENCE {
+ duration INTEGER (1..63),
+ durationLSB INTEGER (1..89) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-FixedAccessTypes ::= BIT STRING { cable (0),
+ dsl (1),
+ lan (2),
+ pstn (3),
+ other (4) } (SIZE(1..16))
+
+
+OMA-LPPe-HighAccuracy3Dposition ::= SEQUENCE {
+ latitude INTEGER(-2147483648..2147483647),
+ longitude INTEGER(-2147483648..2147483647),
+ cep INTEGER(0..255) OPTIONAL, --Cond NoEllipse
+ uncertainty-semimajor INTEGER(0..255) OPTIONAL, --Cond NoCEP
+ uncertainty-semiminor INTEGER(0..255) OPTIONAL, --Cond NoCEP
+ offset-angle INTEGER(0..179) OPTIONAL, --Cond NoCEP
+ confidenceHorizontal INTEGER(0..99) OPTIONAL,
+ altitude INTEGER(-64000..1280000),
+ uncertainty-altitude INTEGER(0..255),
+ confidenceVertical INTEGER(0..99) OPTIONAL,
+ ...,
+ extUncertRange BOOLEAN OPTIONAL
+}
+
+
+
+OMA-LPPe-HighAccuracy3Dvelocity ::= SEQUENCE {
+ enu-origin OMA-LPPe-HighAccuracy3Dposition OPTIONAL,
+ east-component INTEGER(0..511),
+ negative-sign-east NULL OPTIONAL, --Cond West
+ north-component INTEGER(0..511),
+ negative-sign-north NULL OPTIONAL, --Cond South
+ up-component INTEGER(0..511),
+ negative-sign-up NULL OPTIONAL, --Cond Down
+ cep INTEGER(0..255) OPTIONAL, --Cond NoEllipse
+ uncertainty-semimajor INTEGER(0..255) OPTIONAL, --Cond NoCEP,
+ uncertainty-semiminor INTEGER(0..255) OPTIONAL, --Cond NoCEP,
+ offset-angle INTEGER(0..179) OPTIONAL, --Cond NoCEP,
+ confidenceHorizontal INTEGER(0..99) OPTIONAL,
+ uncertainty-up-component INTEGER(0..255),
+ confidenceUp INTEGER(0..99) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-LocationInformationContainerID ::= SEQUENCE {
+ containerID INTEGER (0..65535),
+ ...
+}
+
+
+OMA-LPPe-LocationInformationContainer ::= SEQUENCE {
+ vendorOrOperatorID OMA-LPPe-VendorOrOperatorID,
+ locationInformationContainerDataList OMA-LPPe-LocationInformationContainerDataList,
+ ...
+}
+
+OMA-LPPe-LocationInformationContainerDataList ::= SEQUENCE (SIZE(1..maxLocationInformationContainerDataList)) OF OMA-LPPe-LocationInformationContainerData
+
+OMA-LPPe-LocationInformationContainerData ::= SEQUENCE {
+ containerID OMA-LPPe-LocationInformationContainerID,
+ containerData OCTET STRING,
+ ...
+}
+
+
+OMA-LPPe-LocationInformationContainerRequest ::= SEQUENCE {
+ vendorOrOperatorID OMA-LPPe-VendorOrOperatorID,
+ locationInformationContainerRequestList OMA-LPPe-LocationInformationContainerRequestList,
+ ...
+}
+
+OMA-LPPe-LocationInformationContainerRequestList ::= SEQUENCE
+ (SIZE (1.. maxLocationInformationContainerDataList)) OF
+ OMA-LPPe-LocationInformationContainerRequestItem
+
+maxLocationInformationContainerDataList INTEGER ::= 10
+
+OMA-LPPe-LocationInformationContainerRequestItem ::= SEQUENCE {
+ containerID OMA-LPPe-LocationInformationContainerID,
+ additionalInformation OCTET STRING OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-MapDataReference ::= SEQUENCE {
+ dataID OMA-LPPe-AssistanceContainerID,
+ mapReference OCTET STRING (SIZE (1..64)),
+ mapSize INTEGER (1..5000) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-Orientation ::= CHOICE {
+ eulerAngles SEQUENCE {
+ alpha INTEGER (0..359),
+ beta INTEGER (0..180),
+ gamma INTEGER (0..359),
+ ...
+ },
+ ...
+}
+
+
+OMA-LPPe-ReferencePoint ::= SEQUENCE {
+ referencePointUniqueID OMA-LPPe-ReferencePointUniqueID OPTIONAL,
+ referencePointGeographicLocation CHOICE {
+ location3D EllipsoidPointWithAltitude,
+ location3DwithUncertainty EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+ locationwithhighaccuracy OMA-LPPe-HighAccuracy3Dposition,
+ ...
+ } OPTIONAL,
+ referencePointCivicLocation OMA-LPPe-CivicLocation OPTIONAL,
+ referencePointFloorLevel INTEGER (-20..235) OPTIONAL,
+ relatedReferencePoints SEQUENCE (SIZE (1..8)) OF
+ OMA-LPPe-ReferencePointRelationship OPTIONAL,
+ mapDataInformation OMA-LPPe-MapDataInformation OPTIONAL,
+ ...
+}
+
+OMA-LPPe-MapDataInformation ::= SEQUENCE (SIZE (1..16)) OF OMA-LPPe-MapDataReferenceElement
+
+OMA-LPPe-MapDataReferenceElement ::= SEQUENCE {
+ mapDataUrl CHOICE {
+ mapDataUrl OMA-LPPe-Uri,
+ mapDataRef OMA-LPPe-MapDataReference
+ },
+ mapProvider CHOICE {
+ sameAsRefPointProvider NULL,
+ notSameAsRefPointProvider OMA-LPPe-VendorOrOperatorID,
+ ...
+ } OPTIONAL,
+ mapAssociation CHOICE {
+ referencePointUniqueID NULL,
+ otherID VisibleString (SIZE (1..64)),
+ mapOffset OMA-LPPe-RelativeLocation,
+ origin NULL,
+ ...
+ },
+ mapHorizontalOrientation INTEGER (0..359) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ReferencePointRelationship ::= SEQUENCE {
+ referencePointUniqueID OMA-LPPe-ReferencePointUniqueID,
+ relativeLocation OMA-LPPe-RelativeLocation,
+ ...
+}
+
+
+OMA-LPPe-ReferencePointUniqueID ::= SEQUENCE {
+ providerID OMA-LPPe-VendorOrOperatorID,
+ providerAssignedID OCTET STRING,
+ version INTEGER (1..64),
+ ...
+}
+
+
+OMA-LPPe-RelativeLocation ::= SEQUENCE {
+ units ENUMERATED {cm,dm, m10, ...} OPTIONAL,
+ arc-second-units ENUMERATED {as0-0003, as0-003, as0-03, as0-3, ...} OPTIONAL,
+ relativeNorth INTEGER (-524288..524287),
+ relativeEast INTEGER (-524288..524287),
+ relativeAltitude OMA-LPPe-RelativeAltitude OPTIONAL,
+ horizontalUncertainty OMA-LPPe-HorizontalUncertaintyAndConfidence OPTIONAL,
+ ...
+}
+
+OMA-LPPe-HorizontalUncertaintyAndConfidence ::= SEQUENCE {
+ uncShape CHOICE {
+ circle INTEGER (0..127),
+ ellipse SEQUENCE {
+ semimajor INTEGER (0..127),
+ semiminor INTEGER (0..127),
+ offsetAngle INTEGER (0..179)
+ },
+ ...
+ },
+ confidence INTEGER (0..99) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-RelativeAltitude ::= SEQUENCE {
+ geodeticRelativeAltitude OMA-LPPe-GeodeticRelativeAltitude OPTIONAL,
+ civicRelativeAltitude OMA-LPPe-CivicRelativeAltitude OPTIONAL,
+ ...
+}
+
+OMA-LPPe-GeodeticRelativeAltitude ::= SEQUENCE {
+ geodetic-height-depth INTEGER (-32768..32767),
+ geodetic-uncertainty-and-confidence OMA-LPPe-GeodeticUncertaintyAndConfidence OPTIONAL,
+ ...
+}
+
+OMA-LPPe-GeodeticUncertaintyAndConfidence ::= SEQUENCE {
+ uncertainty INTEGER (0..127),
+ confidence INTEGER (0..99) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-CivicRelativeAltitude ::= SEQUENCE {
+ civic-floors INTEGER (-255..256),
+ civic-uncertainty-and-confidence OMA-LPPe-CivicUncertaintyAndConfidence OPTIONAL,
+ ...
+}
+
+OMA-LPPe-CivicUncertaintyAndConfidence ::= SEQUENCE {
+ uncertainty INTEGER (0..127),
+ confidence INTEGER (0..99) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-Session-ID ::= SEQUENCE {
+ provider-ID OMA-LPPe-VendorOrOperatorID,
+ server-ID OCTET STRING (SIZE(4)),
+ session-ID OCTET STRING (SIZE(4)),
+ ...
+}
+
+
+-- asn2wrs does not handle '%' in the restricted string; handle it in lppe.cnf
+--OMA-LPPe-Uri ::= VisibleString (FROM ( "a".."z" | "A".."Z" | "0".."9" | ":" | "/" | "?" | "#" | "[" |
+--"]" | "@" | "!" | "$" | "&" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" | "-" | "." | "_" | "~" |
+--"%" ))
+OMA-LPPe-Uri ::= VisibleString (FROM ( "a".."z" | "A".."Z" | "0".."9" | ":" | "/" | "?" | "#" | "[" |
+"]" | "@" | "!" | "$" | "&" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" | "-" | "." | "_" | "~"))
+
+
+OMA-LPPe-ValidityArea ::= SEQUENCE {
+ regionSizeInv INTEGER (1..255),
+ areaWidth INTEGER (2..9180) OPTIONAL,
+ codedLatOfNWCorner INTEGER (0..4589),
+ codedLonOfNWCorner INTEGER (0..9179),
+ rleList OMA-LPPe-RleList OPTIONAL,
+ ...
+}
+
+OMA-LPPe-RleList ::= SEQUENCE (SIZE(1..65535)) OF INTEGER (0..255)
+
+
+OMA-LPPe-ValidityPeriod ::= SEQUENCE {
+ beginTime GNSS-SystemTime,
+ beginTimeAlt INTEGER (0..2881) OPTIONAL,
+ duration INTEGER (1..2881),
+ ...
+}
+
+
+OMA-LPPe-VendorOrOperatorAssistanceDataIdentifier ::= SEQUENCE {
+ vendorOrOperatorID OMA-LPPe-VendorOrOperatorID,
+ assistanceDataID OMA-LPPe-AssistanceContainerID,
+ ...
+}
+
+
+OMA-LPPe-VendorOrOperatorID ::= CHOICE {
+ standard-VendorOrOperatorID INTEGER(1..1024),
+ nonStandard-VendorOrOperatorID OMA-LPPe-NonStandard-VendorOrOperatorID,
+ ...
+}
+
+
+OMA-LPPe-NonStandard-VendorOrOperatorID ::= SEQUENCE {
+ encodedID INTEGER(0..65535),
+ visibleIdentification OMA-LPPe-CharArray OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-WirelessAccessTypes ::= BIT STRING { gsm (0),
+ utra (1),
+ lte (2),
+ wimax (3),
+ wifi (4),
+ other (5),
+ nr (6) } (SIZE(1..16))
+
+
+OMA-LPPe-WLAN-AP-ID ::= SEQUENCE {
+ apMacAddress BIT STRING ( SIZE (48) ),
+ ...
+}
+
+
+OMA-LPPe-WLAN-AP-Type ::= ENUMERATED {
+ ieee802-11a,
+ ieee802-11b,
+ ieee802-11g,
+ ieee802-11n,
+ ...,
+ ieee802-11ac,
+ ieee802-11ad
+}
+
+
+OMA-LPPe-WLAN-AP-Type-List ::= BIT STRING {
+ ieee802-11a (0),
+ ieee802-11b (1),
+ ieee802-11g (2),
+ ieee802-11n (3),
+ ieee802-11ac (4),
+ ieee802-11ad (5)} (SIZE (1..16))
+
+
+OMA-LPPe-WLANFemtoCoverageArea ::= SEQUENCE {
+ truncation INTEGER(-127..128) OPTIONAL,
+ areaType ENUMERATED { gaussian, binaryDistribution, ...} OPTIONAL,
+ confidence INTEGER (0..99),
+ componentList SEQUENCE (SIZE (1..16)) OF OMA-LPPe-WLANFemtoCoverageAreaElement,
+ ...
+}
+
+OMA-LPPe-WLANFemtoCoverageAreaElement ::= SEQUENCE {
+ refPointAndArea SEQUENCE {
+ referenceLocation ENUMERATED {antenna,
+ referencePoint,
+ ... },
+ referencePoint OMA-LPPe-ReferencePointUniqueID OPTIONAL,
+ locationAndArea OMA-LPPe-RelativeLocation,
+ ...
+ },
+ type ENUMERATED {indoor (0),
+ outdoor (1),
+ mixed (2),
+ ... } OPTIONAL,
+ weight INTEGER (0..100) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-CommonIEsRequestCapabilities ::= SEQUENCE {
+ iP-Address-RequestCapabilities OMA-LPPe-IP-Address-RequestCapabilities OPTIONAL,
+ assistanceContainerSupportReq OMA-LPPe-AssistanceContainerSupportReq OPTIONAL,
+ locationInformationContainerSupportReq OMA-LPPe-LocationInformationContainerSupportReq OPTIONAL,
+ relativeLocationChange-RequestCapabilities OMA-LPPe-RelativeLocationChange-RequestCapabilities OPTIONAL,
+ highAccuracyFormatCapabilitiesReq OMA-LPPe-HighAccuracyFormatCapabilitiesReq OPTIONAL,
+ segmentedAssistanceData-ReqCapabilities OMA-LPPe-SegmentedAssistanceData-ReqCapabilities OPTIONAL,
+ referencePointCapabilitiesReq OMA-LPPe-ReferencePointCapabilitiesReq OPTIONAL,
+ scheduledLocation-RequestCapabilities OMA-LPPe-ScheduledLocation-RequestCapabilities OPTIONAL,
+ accessCapabilitiesReq OMA-LPPe-AccessCapabilitiesReq OPTIONAL,
+ segmentedLocationInformation-ReqCapabilities
+ OMA-LPPe-SegmentedLocationInformation-ReqCapabilities
+ OPTIONAL,
+ ...
+}
+
+OMA-LPPe-IP-Address-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+OMA-LPPe-AssistanceContainerSupportReq ::= SEQUENCE {
+ vendorOrOperatorIDList OMA-LPPe-VendorOrOperatorIDList OPTIONAL,
+ ...
+}
+
+OMA-LPPe-LocationInformationContainerSupportReq ::= SEQUENCE {
+ vendorOrOperatorIDList OMA-LPPe-VendorOrOperatorIDList OPTIONAL,
+ ...
+}
+
+OMA-LPPe-VendorOrOperatorIDList ::= SEQUENCE (SIZE(1..maxVendorOrOperatorIDList)) OF
+ OMA-LPPe-VendorOrOperatorID
+
+maxVendorOrOperatorIDList INTEGER ::= 32
+
+OMA-LPPe-RelativeLocationChange-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+OMA-LPPe-HighAccuracyFormatCapabilitiesReq ::= SEQUENCE {
+ ...
+}
+OMA-LPPe-SegmentedAssistanceData-ReqCapabilities ::= SEQUENCE {
+ ...
+}
+
+OMA-LPPe-ReferencePointCapabilitiesReq ::= SEQUENCE {
+ referencePointProviderSupportListReq SEQUENCE (SIZE (1..128)) OF
+ OMA-LPPe-VendorOrOperatorID OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ScheduledLocation-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+OMA-LPPe-AccessCapabilitiesReq ::= SEQUENCE {
+ ...
+}
+
+OMA-LPPe-SegmentedLocationInformation-ReqCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-CommonIEsProvideCapabilities ::= SEQUENCE {
+ iP-Address-Capabilities OMA-LPPe-IP-Address-Capabilities OPTIONAL,
+ assistanceContainerSupport OMA-LPPe-AssistanceContainerSupport OPTIONAL,
+ locationInformationContainerSupport OMA-LPPe-LocationInformationContainerSupport OPTIONAL,
+ relativeLocationChange-Capabilities OMA-LPPe-RelativeLocationChange-Capabilities OPTIONAL,
+ highAccuracyFormatCapabilities OMA-LPPe-HighAccuracyFormatCapabilities OPTIONAL,
+ segmentedAssistanceData-ProvideCapabs OMA-LPPe-SegmentedAssistanceData-ProvideCapabs OPTIONAL,
+ referencePointCapabilities OMA-LPPe-ReferencePointCapabilities OPTIONAL,
+ scheduledLocation-Capabilities OMA-LPPe-ScheduledLocation-Capabilities OPTIONAL,
+ accessCapabilities OMA-LPPe-AccessCapabilities OPTIONAL,
+ segmentedLocationInformation-ProvideCapabs OMA-LPPe-SegmentedLocationInformation-ProvideCapabs OPTIONAL,
+ ...
+}
+
+OMA-LPPe-IP-Address-Capabilities ::= SEQUENCE {
+ iP-Address-support BIT STRING { iPv4 (0),
+ iPv6 (1),
+ nat (2) } (SIZE(1..8)) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AssistanceContainerSupport ::= SEQUENCE (SIZE(1..maxVendorOrOperatorIDList)) OF
+ OMA-LPPe-VendorOrOperatorAssistanceContainerList
+
+
+OMA-LPPe-VendorOrOperatorAssistanceContainerList ::= SEQUENCE {
+ vendorOrOperatorID OMA-LPPe-VendorOrOperatorID,
+ assistanceContainerList OMA-LPPe-AssistanceContainerList,
+ ...
+}
+
+OMA-LPPe-AssistanceContainerList ::= SEQUENCE (SIZE(1.. maxAssistanceContainerList))OF OMA-LPPe-AssistanceContainerID
+
+OMA-LPPe-LocationInformationContainerSupport ::= SEQUENCE (SIZE(1..maxVendorOrOperatorIDList)) OF
+ OMA-LPPe-VendorOrOperatorLocationInformationContainerList
+
+OMA-LPPe-VendorOrOperatorLocationInformationContainerList ::= SEQUENCE {
+ vendorOrOperatorID OMA-LPPe-VendorOrOperatorID,
+ locationInformationContainerList OMA-LPPe-LocationInformationContainerList,
+ ...
+}
+
+OMA-LPPe-LocationInformationContainerList ::= SEQUENCE (SIZE(1..maxLocationInformationContainerList))OF OMA-LPPe-LocationInformationContainerID
+
+maxLocationInformationContainerList INTEGER ::= 64
+OMA-LPPe-RelativeLocationChange-Capabilities ::= SEQUENCE {
+ numberOfChanges INTEGER (1..5) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-HighAccuracyFormatCapabilities ::= BIT STRING { hAposition(0),
+ hAvelocity(1),
+ pidf-lo (2) } (SIZE(1..8))
+
+OMA-LPPe-SegmentedAssistanceData-ProvideCapabs ::= SEQUENCE {
+ maxSegments INTEGER (2..4096) OPTIONAL,
+ maxSize INTEGER (1..5000) OPTIONAL,
+ minSize INTEGER (1..5000) OPTIONAL,
+ resume NULL OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ReferencePointCapabilities ::= SEQUENCE {
+ relativeLocationReportingSupport BIT STRING { geo (0),
+ civic (1),
+ otherProviders (2) } (SIZE (1..8)),
+ referencePointProviderSupportList SEQUENCE (SIZE (1..128)) OF
+ OMA-LPPe-ReferencePointProviderSupportElement OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ReferencePointProviderSupportElement ::= SEQUENCE {
+ referencePointProvider OMA-LPPe-VendorOrOperatorID,
+ mapDataSupport SEQUENCE {
+ mapDataFormat OCTET STRING OPTIONAL,
+ ...
+ } OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ScheduledLocation-Capabilities ::= SEQUENCE {
+ minimumWindow INTEGER (1..1024) OPTIONAL,
+ gnssTimeReference GNSS-ID-Bitmap OPTIONAL,
+ networkTimeReference ENUMERATED {serving,
+ servingOrNonServing,
+ ... } OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AccessCapabilities ::= SEQUENCE {
+ accessTypeUnknown NULL OPTIONAL,
+ fixedAccessTypes OMA-LPPe-FixedAccessTypes OPTIONAL,
+ wirelessAccessTypes OMA-LPPe-WirelessAccessTypes OPTIONAL,
+ ...
+}
+
+OMA-LPPe-SegmentedLocationInformation-ProvideCapabs ::= SEQUENCE {
+ maxSegments INTEGER (2..4096) OPTIONAL,
+ maxSize INTEGER (1..5000) OPTIONAL,
+ minSize INTEGER (1..5000) OPTIONAL,
+ resume NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-CommonIEsRequestAssistanceData ::= SEQUENCE {
+ approximate-location EllipsoidPointWithAltitudeAndUncertaintyEllipsoid OPTIONAL,
+ assistanceContainerRequestList OMA-LPPe-AssistanceContainerRequestList OPTIONAL,
+ requestPeriodicADwithUpdate OMA-LPPe-RequestPeriodicADwithUpdate OPTIONAL,
+ --Cond RequestPeriodicADWithUpdate
+ segmentedADpreference ENUMERATED {useBasic, useResume, ...} OPTIONAL,
+ segmentedADResume OMA-LPPe-SegmentedADResume OPTIONAL,
+ --Cond segmentedTransferResume
+ referencePointAssistanceReq OMA-LPPe-ReferencePointAssistanceReq OPTIONAL,
+ ...
+}
+
+OMA-LPPe-RequestPeriodicADwithUpdate ::= SEQUENCE {
+ periodicAD-session-ID OCTET STRING (SIZE(4)),
+ typeOfADRequest TypeOfADRequest,
+ ...
+}
+
+TypeOfADRequest ::= ENUMERATED {
+ initialRequest,
+ updateAndContinueIfUpdateFails,
+ updateAndAbortIfUpdateFails,
+ ...
+}
+
+OMA-LPPe-SegmentedADResume ::= SEQUENCE {
+ segmentedAD-session-ID OMA-LPPe-Session-ID,
+ next-segment-number INTEGER (1..4096)
+}
+
+OMA-LPPe-ReferencePointAssistanceReq ::= SEQUENCE {
+ referencePointReq SEQUENCE (SIZE (1..16)) OF OMA-LPPe-ReferencePointAssistanceReqElement,
+ ...
+}
+
+OMA-LPPe-ReferencePointAssistanceReqElement ::= SEQUENCE {
+ referencePointProvider OMA-LPPe-VendorOrOperatorID,
+ mapDataReq OCTET STRING OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-CommonIEsProvideAssistanceData ::= SEQUENCE {
+ assistanceContainerList OMA-LPPe-AssistanceContainerProvideList OPTIONAL,
+ providePeriodicADwithUpdate OMA-LPPe-ProvidePeriodicADwithUpdate OPTIONAL, --Cond ProvidePeriodicADWithUpdate,
+ segmentedADTransfer OMA-LPPe-SegmentedADTransfer OPTIONAL, --Cond segmentedTransferWithResume
+ default-reference-point OMA-LPPe-ReferencePoint OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ProvidePeriodicADwithUpdate ::= SEQUENCE {
+ periodicAD-session-ID OCTET STRING (SIZE(4)),
+ typeOfADProvide OMA-LPPe-TypeOfADProvide,
+ ...
+}
+
+OMA-LPPe-TypeOfADProvide ::= ENUMERATED {
+ responseToInitialRequest,
+ providePeriodicAD,
+ responseToTargetUpdateRequest,
+ serverUpdate,
+ ...
+}
+
+OMA-LPPe-SegmentedADTransfer ::= SEQUENCE {
+ segmentedAD-session-ID OMA-LPPe-Session-ID,
+ segment-number INTEGER (1..4096),
+ ...
+}
+
+
+OMA-LPPe-CommonIEsRequestLocationInformation ::= SEQUENCE {
+ iP-Address-Request OMA-LPPe-IP-Address-Request OPTIONAL,
+ locationInformationContainerRequest OMA-LPPe-LocationInformationContainerRequest OPTIONAL,
+ requestPeriodicLocInfoWithUpdate OMA-LPPe-RequestPeriodicLocInfoWithUpdate OPTIONAL,
+ --Cond RequestPeriodicLocInfoWithUpdate
+ relativeLocationChange-Request OMA-LPPe-RelativeLocationChange-Request OPTIONAL,
+ localPositionRequest OMA-LPPe-LocalPositionRequest OPTIONAL,
+ scheduledLocation-Request OMA-LPPe-ScheduledLocation-Request OPTIONAL,
+ accessTypeRequest OMA-LPPe-AccessTypeRequest OPTIONAL,
+ segmentedLIpreference ENUMERATED {useBasic, useResume, ...} OPTIONAL,
+ segmentedLIResume OMA-LPPe-SegmentedLIResume OPTIONAL,
+ --Cond segmentedTransferResume
+ ...,
+ civicLocation-Request OMA-LPPe-CivicLocation-Request OPTIONAL
+}
+
+OMA-LPPe-IP-Address-Request ::= SEQUENCE {
+ ...
+}
+
+OMA-LPPe-RequestPeriodicLocInfoWithUpdate ::= SEQUENCE {
+ session-ID OCTET STRING (SIZE(4)),
+ typeOfLocInfoRequest OMA-LPPe-TypeOfLocInfoRequest,
+ ...
+}
+
+OMA-LPPe-TypeOfLocInfoRequest ::= ENUMERATED {
+ initialRequest,
+ updateAndContinueIfUpdateFails,
+ updateAndAbortIfUpdateFails,
+ ...
+}
+
+OMA-LPPe-RelativeLocationChange-Request ::= SEQUENCE {
+ numberOfChanges INTEGER (1..5) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-LocalPositionRequest ::= SEQUENCE {
+ typeOfRequest ENUMERATED { localOptional, localMandatory, localOnly, ... },
+ referencePointReq SEQUENCE (SIZE (1..8)) OF
+ OMA-LPPe-ReferencePointUniqueID OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ScheduledLocation-Request ::= SEQUENCE {
+ gnssTime GNSS-SystemTime OPTIONAL, --Cond AtLeastOne
+ networkTime NetworkTime OPTIONAL, --Cond AtLeastOne
+ relativeTime INTEGER (1..1024) OPTIONAL, --Cond AtLeastOne
+ windowSize INTEGER (1..1024) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AccessTypeRequest ::= SEQUENCE {
+ ...
+}
+
+OMA-LPPe-SegmentedLIResume ::= SEQUENCE {
+ segmentedLI-session-ID INTEGER (1..256),
+ next-segment-number INTEGER (1..4096)}
+
+OMA-LPPe-CivicLocation-Request ::= SEQUENCE {
+ format ENUMERATED {pidf-lo, ... },
+ ...
+}
+
+
+OMA-LPPe-CommonIEsProvideLocationInformation ::= SEQUENCE {
+ highAccuracy3Dposition OMA-LPPe-HighAccuracy3Dposition OPTIONAL,
+ --Cond HighAccuracy
+ localPosition OMA-LPPe-LocalPosition OPTIONAL,
+ highAccuracy3Dvelocity OMA-LPPe-HighAccuracy3Dvelocity OPTIONAL,
+ --Cond HighAccuracy
+ iP-Address-List OMA-LPPe-IP-Address-List OPTIONAL,
+ locationInformationContainer OMA-LPPe-LocationInformationContainer OPTIONAL,
+ providePeriodicLocInfoWithUpdate OMA-LPPe-ProvidePeriodicLocInfowithUpdate OPTIONAL,
+ --Cond ProvidePeriodicLocInfoWithUpdate
+ relativeLocationChangeList OMA-LPPe-RelativeLocationChangeList OPTIONAL,
+ scheduledLocation OMA-LPPe-ScheduledLocation OPTIONAL,
+ --Cond ScheduledLocationRequested
+ accessTypes OMA-LPPe-AccessTypes OPTIONAL,
+ segmentedLITransfer OMA-LPPe-SegmentedLITransfer OPTIONAL,
+ --Cond segmentedTransferWithResume
+ locationInformationTimeStamp OMA-LPPe-TimeStamp OPTIONAL,
+ ...,
+ locationSource OMA-LPPe-LocationSource OPTIONAL,
+ --Cond LocationSource
+ civicLocation-pidf-lo OMA-LPPe-CivicLocation-pidf-lo OPTIONAL
+ --Cond CivicLocationRequest-pidf-lo
+}
+
+OMA-LPPe-LocalPosition ::= SEQUENCE {
+ referencePoint OMA-LPPe-ReferencePointUniqueID,
+ subjectLocation OMA-LPPe-RelativeLocation OPTIONAL,
+ ...
+}
+
+OMA-LPPe-IP-Address-List ::= SEQUENCE (SIZE (1..maxIPAddress)) OF OMA-LPPe-IP-Address
+
+maxIPAddress INTEGER ::= 5
+
+OMA-LPPe-IP-Address ::= SEQUENCE {
+ local-IP-Address CHOICE {
+ iPv4 BIT STRING (SIZE(32)),
+ iPv6 BIT STRING (SIZE(128)),
+ ...
+ },
+ bearer OMA-LPPe-Bearer,
+ nat BOOLEAN OPTIONAL,
+ ...
+}
+
+OMA-LPPe-Bearer ::= ENUMERATED {
+ unknown,
+ gsm,
+ utran,
+ lte,
+ wlan,
+ wimax,
+ dsl,
+ pktcable,
+ other,
+ ...,
+ nr
+}
+
+OMA-LPPe-ProvidePeriodicLocInfowithUpdate ::= SEQUENCE {
+ session-ID OCTET STRING (SIZE(4)),
+ typeOfLocInfoProvide OMA-LPPe-TypeOfLocInfoProvide,
+ ...
+}
+
+OMA-LPPe-TypeOfLocInfoProvide ::= ENUMERATED {
+ responseToInitialRequest,
+ providePeriodicLocInfo,
+ responseToServerUpdateRequest,
+ targetUpdate,
+ ...
+}
+
+OMA-LPPe-RelativeLocationChangeList ::= SEQUENCE (SIZE (1..maxRelativeLocation)) OF
+ OMA-LPPe-RelativeLocationChange
+
+OMA-LPPe-RelativeLocationChange ::= SEQUENCE {
+ relativeTime INTEGER (0..65535) OPTIONAL,
+ transactionID INTEGER (0..255) OPTIONAL,
+ relativeLocation OMA-LPPe-RelativeLocation,
+ ...
+}
+
+maxRelativeLocation INTEGER ::= 5
+
+OMA-LPPe-ScheduledLocation ::= SEQUENCE {
+ disposition ENUMERATED {withinWindow,
+ outsideWindowOrNoWindow,
+ notSupportedDueToNoCapability,
+ notSupportedDueToNoTimeReference,
+ notSupportedDueToConflictWithAnotherRequest,
+ notSupportedForOtherReasons,
+ ... },
+ actualWindow SEQUENCE {
+ start INTEGER (-512..511),
+ duration INTEGER (0..2047)
+ } OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AccessTypes ::= SEQUENCE {
+ accessTypeUnknown NULL OPTIONAL,
+ fixedAccessTypes OMA-LPPe-FixedAccessTypes OPTIONAL,
+ wirelessAccessTypes OMA-LPPe-WirelessAccessTypes OPTIONAL,
+ ...
+}
+
+OMA-LPPe-SegmentedLITransfer ::= SEQUENCE {
+ segmentedLI-session-ID INTEGER (1..256),
+ segment-number INTEGER (1..4096),
+ ...
+}
+
+OMA-LPPe-TimeStamp ::= CHOICE {
+ gnssTime GNSS-SystemTime,
+ networkTime NetworkTime,
+ relativeTime INTEGER (0..1024),
+ ...
+}
+
+OMA-LPPe-LocationSource ::= SEQUENCE {
+ agnss NULL OPTIONAL,
+ otdoa NULL OPTIONAL,
+ eotd NULL OPTIONAL,
+ otdoaUTRA NULL OPTIONAL,
+ ecidLTE NULL OPTIONAL,
+ ecidGSM NULL OPTIONAL,
+ ecidUTRA NULL OPTIONAL,
+ wlanAP NULL OPTIONAL,
+ srn NULL OPTIONAL,
+ sensors NULL OPTIONAL,
+ ...,
+ nr-dl-tdoa NULL OPTIONAL,
+ nr-dl-aod NULL OPTIONAL,
+ ecidNR NULL OPTIONAL,
+ bt NULL OPTIONAL,
+ mbs NULL OPTIONAL,
+ baro-sensor NULL OPTIONAL,
+ motion-sensor NULL OPTIONAL
+}
+
+
+OMA-LPPe-CommonIEsAbort ::= SEQUENCE {
+ abortCause ENUMERATED {periodicADsessionStop,
+ periodicADprocedureNotSupported,
+ periodicADprocedureNotAccepted,
+ periodicLocInfoSessionStop,
+ periodicLocInfoProcedureNotSupported,
+ periodicLocInfoProcedureNotAccepted,
+ ...
+ } OPTIONAL,
+ periodicSessionIDtoAbort OCTET STRING (SIZE(4)) OPTIONAL, --Cond periodicWithUpdate
+ ...
+}
+
+
+OMA-LPPe-CommonIEsError ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-ProvideAssistanceData ::= SEQUENCE {
+ commonAssistData OMA-LPPe-AGNSS-CommonAssistData OPTIONAL,
+ genericAssistData OMA-LPPe-AGNSS-GenericAssistData OPTIONAL,
+ error OMA-LPPe-AGNSS-Error OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-CommonAssistData::= SEQUENCE {
+ ionosphericModel OMA-LPPe-AGNSS-IonosphericModel OPTIONAL,
+ troposphereModel OMA-LPPe-AGNSS-TroposphereModel OPTIONAL,
+ altitudeAssistance OMA-LPPe-AGNSS-AltitudeAssistanceList OPTIONAL,
+ solarRadiation OMA-LPPe-AGNSS-SolarRadiation OPTIONAL,
+ ccpAssistCommonProvide OMA-LPPe-AGNSS-CCPassistCommonProvide OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-GenericAssistData ::= SEQUENCE (SIZE (1..16)) OF OMA-LPPe-AGNSS-GenericAssistDataElement
+
+OMA-LPPe-AGNSS-GenericAssistDataElement ::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ wideAreaIonoSurfacePerSVlist OMA-LPPe-AGNSS-WideAreaIonoSurfacePerSVlist OPTIONAL,
+ mechanicsForAllSVs OMA-LPPe-AGNSS-MechanicsForAllSVs OPTIONAL,
+ dcbsForAllSVs OMA-LPPe-AGNSS-DCBsForAllSVs OPTIONAL,
+ navModelDegradationModel OMA-LPPe-AGNSS-NavModelDegradationModelList OPTIONAL,
+ ccpAssistProvide OMA-LPPe-AGNSS-CCPassistGenericProvide OPTIONAL, --Cond CCP
+ navModelList OMA-LPPe-AGNSS-NavModelList OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-IonosphericModel ::= CHOICE {
+ staticModels SEQUENCE {
+ localKlobucharModelList OMA-LPPe-AGNSS-LocalKlobucharModelList OPTIONAL,
+ ionoStormIndication OMA-LPPe-AGNSS-IonoStormIndication OPTIONAL,
+ ...
+ },
+ waIono CHOICE {
+ controlParameters OMA-LPPe-AGNSS-WideAreaIonoSurfaceControlParametersProvide,
+ commonProvide OMA-LPPe-AGNSS-WideAreaIonoSurfaceCommon,
+ ...
+ },
+ ...
+}
+
+
+OMA-LPPe-AGNSS-LocalKlobucharModelList ::= SEQUENCE (SIZE(1..16)) OF
+ OMA-LPPe-AGNSS-LocalKlobucharModelElement
+
+OMA-LPPe-AGNSS-LocalKlobucharModelElement ::= SEQUENCE {
+ validityArea OMA-LPPe-ValidityArea,
+ klobucharModel SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-LocalKlobucharModel,
+ ...
+}
+
+OMA-LPPe-AGNSS-LocalKlobucharModel ::= SEQUENCE {
+ validityPeriod OMA-LPPe-ValidityPeriod,
+ alfa0 INTEGER (-128..127),
+ alfa1 INTEGER (-128..127),
+ alfa2 INTEGER (-128..127),
+ alfa3 INTEGER (-128..127),
+ beta0 INTEGER (-128..127),
+ beta1 INTEGER (-128..127),
+ beta2 INTEGER (-128..127),
+ beta3 INTEGER (-128..127),
+ ...
+}
+
+
+
+OMA-LPPe-AGNSS-IonoStormIndication ::= SEQUENCE {
+ area OMA-LPPe-ValidityArea,
+ --rleList shall not be included and is replaced by the stormList below
+ stormList OMA-LPPe-AGNSS-StormList,
+ ...
+}
+
+OMA-LPPe-AGNSS-StormList ::= SEQUENCE (SIZE(1..16)) OF OMA-LPPe-AGNSS-StormElement
+
+OMA-LPPe-AGNSS-StormElement ::= SEQUENCE {
+ validityPeriod OMA-LPPe-ValidityPeriod,
+ rleListIono OMA-LPPe-AGNSS-RleListIono,
+ ...
+}
+
+OMA-LPPe-AGNSS-RleListIono ::= SEQUENCE (SIZE(1..65535)) OF OMA-LPPe-AGNSS-RleIonoElement
+
+OMA-LPPe-AGNSS-RleIonoElement ::= SEQUENCE {
+ regionCount INTEGER (0..255),
+ ionoIndex CHOICE {
+ noaaScales OMA-LPPe-AGNSS-NoaaScales,
+ ...
+ },
+ ...
+}
+
+OMA-LPPe-AGNSS-NoaaScales ::= ENUMERATED{ g1,g2, g3, g4, g5, unknown, none, ... }
+
+
+OMA-LPPe-AGNSS-WideAreaIonoSurfaceControlParametersProvide ::= SEQUENCE {
+ duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrDurModify
+ rate INTEGER(1..64) OPTIONAL, --Cond FirstOrRateModify
+ referencePosition Ellipsoid-Point OPTIONAL, --Cond FirstOrPosModify
+ validityArea OMA-LPPe-ValidityArea OPTIONAL, --Cond FirstOrAreaModify
+ ...
+}
+
+
+OMA-LPPe-AGNSS-WideAreaIonoSurfaceCommon ::= SEQUENCE {
+ validityPeriod OMA-LPPe-ValidityPeriod,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-WideAreaIonoSurfacePerSVlist ::=
+ SEQUENCE (SIZE (1..64)) OF OMA-LPPe-AGNSS-WideAreaIonoSurfacePerSVelement
+
+OMA-LPPe-AGNSS-WideAreaIonoSurfacePerSVelement ::= SEQUENCE {
+ svID SV-ID,
+ a0 INTEGER (0..8191),
+ e1 INTEGER (-4096..4095),
+ n1 INTEGER (-4096..4095),
+ e2 INTEGER (-4096..4095) OPTIONAL, --Cond SecondOrder
+ n2 INTEGER (-4096..4095) OPTIONAL, --Cond SecondOrder
+ en INTEGER (-4096..4095) OPTIONAL, --Cond SecondOrder
+ ...
+}
+
+
+OMA-LPPe-AGNSS-TroposphereModel ::= SEQUENCE {
+ troposphereDelayList OMA-LPPe-AGNSS-LocalTroposphereDelayList OPTIONAL,
+ surfaceParametersList OMA-LPPe-AGNSS-LocalSurfaceParametersList OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-LocalTroposphereDelayList ::= SEQUENCE (SIZE(1..8)) OF
+ OMA-LPPe-AGNSS-LocalTroposphereDelayAreaElement
+
+OMA-LPPe-AGNSS-LocalTroposphereDelayAreaElement ::= SEQUENCE {
+ validityArea OMA-LPPe-ValidityArea,
+ refAltitude INTEGER (-1000..8192) OPTIONAL,
+ gradientReferencePosition Ellipsoid-Point OPTIONAL,
+ delayList SEQUENCE (SIZE(1..8)) OF
+ OMA-LPPe-AGNSS-LocalTroposphereDelayTimeElement,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-LocalTroposphereDelayTimeElement ::= SEQUENCE {
+ validityPeriod OMA-LPPe-ValidityPeriod,
+ zh0 INTEGER (0..4095),
+ eh INTEGER (0..4095) OPTIONAL,
+ zw0 INTEGER (0..4095) OPTIONAL,
+ ew INTEGER (0..4095) OPTIONAL,
+ gN INTEGER (-8192..8191) OPTIONAL,
+ gE INTEGER (-8192..8191) OPTIONAL,
+ mappingFunctionParameters OMA-LPPe-AGNSS-MappingFunctionParameters,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-LocalSurfaceParametersList ::= SEQUENCE (SIZE(1..8)) OF
+ OMA-LPPe-AGNSS-LocalSurfaceParametersAreaElement
+
+OMA-LPPe-AGNSS-LocalSurfaceParametersAreaElement ::= SEQUENCE {
+ validityArea OMA-LPPe-ValidityArea,
+ refAltitude INTEGER (-1000..8192) OPTIONAL,
+ gradientReferencePosition Ellipsoid-Point OPTIONAL,
+ parameterList SEQUENCE (SIZE(1..8)) OF
+ OMA-LPPe-AGNSS-LocalSurfaceParametersTimeElement,
+ ...
+}
+
+OMA-LPPe-AGNSS-LocalSurfaceParametersTimeElement ::= SEQUENCE {
+ validityPeriod OMA-LPPe-ValidityPeriod,
+ pressure INTEGER (-1024..1023),
+ pressureRate INTEGER (-128..127),
+ gN-pressure INTEGER (-128..127) OPTIONAL,
+ gE-pressure INTEGER (-128..127) OPTIONAL,
+ temperature INTEGER (-64..63) OPTIONAL,
+ temperatureRate INTEGER (-16..16) OPTIONAL,
+ gN-temperature INTEGER (-8..7) OPTIONAL,
+ gE-temperature INTEGER (-8..7) OPTIONAL,
+ mappingFunctionParameters OMA-LPPe-AGNSS-MappingFunctionParameters,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-MappingFunctionParameters ::= SEQUENCE {
+ ah INTEGER (0..16383),
+ bh INTEGER (0..16383) OPTIONAL,
+ ch INTEGER (0..16383) OPTIONAL,
+ aw INTEGER (0..16383) OPTIONAL,
+ bw INTEGER (0..16383) OPTIONAL,
+ cw INTEGER (0..16383) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-AltitudeAssistanceList ::= SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-AltitudeAssistanceAreaElement
+
+OMA-LPPe-AGNSS-AltitudeAssistanceAreaElement ::= SEQUENCE {
+ validityArea OMA-LPPe-ValidityArea,
+ gradientReferencePosition EllipsoidPointWithAltitudeAndUncertaintyEllipsoid OPTIONAL,
+ refAltitude INTEGER (-1000..8192) OPTIONAL,
+ pressureAssistanceList SEQUENCE (SIZE(1..16)) OF OMA-LPPe-AGNSS-PressureAssistanceElement,
+ ...
+}
+
+OMA-LPPe-AGNSS-PressureAssistanceElement ::= SEQUENCE{
+ validityPeriod OMA-LPPe-ValidityPeriod,
+ pressure INTEGER (-1024..1023),
+ pressureRate INTEGER (-128..127) OPTIONAL,
+ gN INTEGER (-128..127) OPTIONAL,
+ gE INTEGER (-128..127) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-SolarRadiation ::= SEQUENCE {
+ solarRadiation INTEGER(1000..2000),
+ ...
+}
+
+
+OMA-LPPe-AGNSS-MechanicsForAllSVs::= SEQUENCE (SIZE(1..64)) OF OMA-LPPe-AGNSS-MechanicsElement
+
+
+OMA-LPPe-AGNSS-MechanicsElement ::= SEQUENCE {
+ svid SV-ID,
+ mass INTEGER(1..4095) OPTIONAL,
+ effectiveReflectivityArea INTEGER(1..511) OPTIONAL,
+ pco OMA-LPPe-AGNSS-PCOelement OPTIONAL,
+ svInfo SEQUENCE {
+ svType OMA-LPPe-AGNSS-SVtype,
+ svNumber INTEGER(0..1000),
+ ...
+ } OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AGNSS-PCOelement ::= SEQUENCE{
+ xOffsetSBF INTEGER(-30000..30000),
+ yOffsetSBF INTEGER(-30000..30000),
+ zOffsetSBF INTEGER(-30000..30000),
+ ...
+}
+
+OMA-LPPe-AGNSS-SVtype ::= ENUMERATED {
+ gpsIIR, gpsIIRM, gpsIIF, gpsIII,
+ glonassM, glonassK1, glonassK2, glonassKM,
+ unknown,
+ ...}
+
+
+
+OMA-LPPe-AGNSS-DCBsForAllSVs ::= SEQUENCE (SIZE(1..64)) OF OMA-LPPe-AGNSS-DCBlistElement
+
+
+OMA-LPPe-AGNSS-DCBlistElement ::= SEQUENCE {
+ svid SV-ID,
+ reference SEQUENCE{
+ signal GNSS-SignalID,
+ pd ENUMERATED { pilot, data, notapplicable, ... },
+ ...
+ },
+ dcbList OMA-LPPe-AGNSS-DCBlist,
+ ...
+}
+
+OMA-LPPe-AGNSS-DCBlist ::= SEQUENCE (SIZE(1..16)) OF OMA-LPPe-AGNSS-DCBelement
+
+OMA-LPPe-AGNSS-DCBelement ::= SEQUENCE {
+ signal GNSS-SignalID,
+ pd ENUMERATED{ pilot, data, notapplicable, ... },
+ dcb INTEGER (-4096..4095),
+ ...
+}
+
+
+OMA-LPPe-AGNSS-NavModelDegradationModelList ::= SEQUENCE (SIZE(1..64)) OF
+ OMA-LPPe-AGNSS-NavModelDegradationModelElement
+
+OMA-LPPe-AGNSS-NavModelDegradationModelElement ::= SEQUENCE {
+ svid SV-ID,
+ clockDegradationModel OMA-LPPe-AGNSS-ClockModelDegradationModel,
+ orbitDegradationModel OMA-LPPe-AGNSS-OrbitModelDegradationModel,
+ ...
+}
+
+OMA-LPPe-AGNSS-ClockModelDegradationModel ::= SEQUENCE {
+ clockRMS0 INTEGER(0..31),
+ clockRMS1 INTEGER(0..7) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AGNSS-OrbitModelDegradationModel ::= SEQUENCE {
+ orbitRMS0 INTEGER(0..31),
+ orbitRMS1 INTEGER(0..7) OPTIONAL,
+ ...
+}
+
+
+
+OMA-LPPe-AGNSS-CCPassistCommonProvide ::= CHOICE {
+ ccpProvideCommonParameters OMA-LPPe-AGNSS-CCPprovideCommonParameters,
+ ccpProvideControlParameters OMA-LPPe-AGNSS-CCPprovideControlParameters,
+ ...
+}
+
+OMA-LPPe-AGNSS-CCPprovideCommonParameters ::= SEQUENCE {
+ ccpReferenceTime GNSS-SystemTime,
+ ...
+}
+
+OMA-LPPe-AGNSS-CCPprovideControlParameters ::= SEQUENCE {
+ ccpSupportArea OMA-LPPe-AGNSS-CCPsupportArea OPTIONAL,
+ ccpNeighborList OMA-LPPe-AGNSS-CCPreferenceStationList OPTIONAL,
+ duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrDurModify
+ rate INTEGER(1..64) OPTIONAL, --Cond FirstOrRateModify
+ ccpReferenceStationList OMA-LPPe-AGNSS-CCPreferenceStationList OPTIONAL, --Cond FirstOrRefModify
+ ...
+}
+
+
+OMA-LPPe-AGNSS-CCPsupportArea ::= SEQUENCE {
+ areaDescription OMA-LPPe-ValidityArea,
+ signalSupport SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-CCPsignalSupport,
+ ...
+}
+
+OMA-LPPe-AGNSS-CCPsignalSupport ::= SEQUENCE {
+ gnss GNSS-ID,
+ signals GNSS-SignalIDs,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-CCPreferenceStationList ::= SEQUENCE (SIZE(0..maxReferenceStations)) OF
+ OMA-LPPe-AGNSS-CCPreferenceStationElement
+
+OMA-LPPe-AGNSS-CCPreferenceStationElement ::= SEQUENCE {
+ referenceStationID OMA-LPPe-AGNSS-CCPreferenceStationID,
+ referenceStationLocation OMA-LPPe-HighAccuracy3Dposition,
+ antennaDescription OMA-LPPe-AGNSS-AntennaDescription OPTIONAL, --Cond IfPhysical
+ ...
+}
+
+
+OMA-LPPe-AGNSS-CCPassistGenericProvide ::= SEQUENCE (SIZE(1..maxReferenceStations)) OF
+ OMA-LPPe-AGNSS-CCPassistGenericProvideElement
+
+OMA-LPPe-AGNSS-CCPassistGenericProvideElement::= SEQUENCE {
+ referenceStationID OMA-LPPe-AGNSS-CCPreferenceStationID,
+ ccpPerSignalList SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-CCPperSignalElement,
+ ...
+}
+
+OMA-LPPe-AGNSS-CCPperSignalElement ::= SEQUENCE {
+ signal-ID GNSS-SignalID,
+ ccpPerSVlist SEQUENCE (SIZE(1..64)) OF OMA-LPPe-AGNSS-CCPperSVelement,
+ ...
+}
+
+OMA-LPPe-AGNSS-CCPperSVelement::= SEQUENCE {
+ svID SV-ID,
+ integerCodePhase INTEGER(0..255) OPTIONAL, --Cond IfAvailable
+ codePhase INTEGER(0.. 14989622),
+ codePhaseError OMA-LPPe-AGNSS-CodePhaseError OPTIONAL, --Cond IfAvailable
+ phaseRangeDelta INTEGER(-524288.. 524287),
+ phaseRangeRMSerror INTEGER(0..127) OPTIONAL, --Cond IfAvailable
+ lockIndicator BOOLEAN,
+ ...
+}
+
+OMA-LPPe-AGNSS-CodePhaseError ::= CHOICE {
+ codePhaseRMSError INTEGER(0..63),
+ cnr INTEGER(0..255),
+ ...
+}
+
+
+OMA-LPPe-AGNSS-NavModelList ::= SEQUENCE {
+ coordinateBased OMA-LPPe-AGNSS-NavModel-CoordinateBased OPTIONAL, --Cond ModelId-1
+ ...
+}
+
+
+OMA-LPPe-AGNSS-NavModel-CoordinateBased ::= SEQUENCE {
+ fixedInterval SEQUENCE {
+ beginTime GNSS-SystemTime,
+ interval INTEGER(1..30),
+ ...
+ } OPTIONAL, --Cond FixedInterval
+ bases SEQUENCE {
+ baseForPosVel INTEGER(-100000000..100000000) OPTIONAL,
+ baseForCcRate OMA-LPPe-AGNSS-NavModel-BigNumber OPTIONAL,
+ ...
+ } OPTIONAL, --Cond DefaultsNotApplicable
+ referencedTo ENUMERATED { centerOfMass, antennaPhaseCenter, ... },
+ pointList SEQUENCE (SIZE (1..97)) OF OMA-LPPe-AGNSS-NavModel-CoordinateBasedElement,
+ ...
+}
+
+OMA-LPPe-AGNSS-NavModel-CoordinateBasedElement::= SEQUENCE {
+ time-of-record GNSS-SystemTime OPTIONAL, --Cond NoFixedInterval
+ svIdList SEQUENCE (SIZE (1..64)) OF OMA-LPPe-AGNSS-NavModel-PVTelement,
+ ...
+}
+
+OMA-LPPe-AGNSS-NavModel-PVTelement ::= SEQUENCE {
+ svID SV-ID,
+ svClockOffset OMA-LPPe-AGNSS-NavModel-BigNumber,
+ ecefPositionX OMA-LPPe-AGNSS-NavModel-BigNumber,
+ ecefPositionY OMA-LPPe-AGNSS-NavModel-BigNumber,
+ ecefPositionZ OMA-LPPe-AGNSS-NavModel-BigNumber,
+ clockPosSTD OMA-LPPe-AGNSS-NavModel-STDmatrix,
+ rateRecord SEQUENCE {
+ svClockRate OMA-LPPe-AGNSS-NavModel-BigNumber,
+ ecefVelocityX OMA-LPPe-AGNSS-NavModel-BigNumber,
+ ecefVelocityY OMA-LPPe-AGNSS-NavModel-BigNumber,
+ ecefVelocityZ OMA-LPPe-AGNSS-NavModel-BigNumber,
+ clockRateVelSTD OMA-LPPe-AGNSS-NavModel-STDmatrix,
+ ...
+ } OPTIONAL, --Cond RateAvailable
+ ...
+}
+
+OMA-LPPe-AGNSS-NavModel-BigNumber::= SEQUENCE {
+ msb INTEGER(-1000000000..1000000000),
+ lsb INTEGER(1..100) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AGNSS-NavModel-STDmatrix ::= SEQUENCE {
+ e11 INTEGER(0..1000),
+ e22 INTEGER(0..1000),
+ e33 INTEGER(0..1000),
+ e44 INTEGER(0..1000000),
+ e12 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable
+ e13 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable
+ e14 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable
+ e23 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable
+ e24 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable
+ e34 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable
+ ...
+}
+
+
+OMA-LPPe-AGNSS-RequestAssistanceData ::= SEQUENCE {
+ commonAssistDataReq OMA-LPPe-AGNSS-CommonAssistanceDataReq OPTIONAL,
+ genericAssistDataReq OMA-LPPe-AGNSS-GenericAssistanceDataReq OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-CommonAssistanceDataReq ::= SEQUENCE {
+ ionosphericModelReq OMA-LPPe-AGNSS-IonosphericModelReq OPTIONAL,
+ troposphereModelReq OMA-LPPe-AGNSS-TroposphereModelReq OPTIONAL,
+ altitudeAssistanceReq OMA-LPPe-AGNSS-AltitudeAssistanceReq OPTIONAL,
+ solarRadiationRequest OMA-LPPe-AGNSS-SolarRadiationReq OPTIONAL,
+ ccpRequestControlParameters OMA-LPPe-AGNSS-CCPrequestControlParameters OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-GenericAssistanceDataReq ::= SEQUENCE (SIZE (1..16)) OF
+ OMA-LPPe-AGNSS-GenericAssistDataReqElement
+
+OMA-LPPe-AGNSS-GenericAssistDataReqElement ::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ waIonoSurfaceReq OMA-LPPe-AGNSS-WaIonoSurfaceRequest OPTIONAL, --Cond WAiono
+ mechanicsReq OMA-LPPe-AGNSS-MechanicsReq OPTIONAL,
+ dcbReq OMA-LPPe-AGNSS-DCBreq OPTIONAL,
+ navModelDegradationModelReq OMA-LPPe-AGNSS-NavModelDegradationModelReq OPTIONAL,
+ ccpAssistGenericReq OMA-LPPe-AGNSS-CCPassistGenericReq OPTIONAL, --Cond CCPreq
+ navigationModelReq OMA-LPPe-AGNSS-NavigationModelReq OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-IonosphericModelReq ::= CHOICE {
+ staticModels SEQUENCE {
+ ionoreq BIT STRING {klobucharModel (0),
+ ionoStormWarning (1) } (SIZE (1..8)),
+ requestBeginTime GNSS-SystemTime OPTIONAL,
+ duration OMA-LPPe-Duration,
+ ...
+ },
+ periodicModels SEQUENCE {
+ waIonoSurface OMA-LPPe-AGNSS-WideAreaIonoSurfaceControlParametersRequest,
+ ...
+ },
+ ...
+}
+
+
+OMA-LPPe-AGNSS-WideAreaIonoSurfaceControlParametersRequest ::= SEQUENCE {
+ duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrDurModify
+ rate INTEGER(1..64) OPTIONAL, --Cond FirstOrRateModify
+ ...
+}
+
+
+OMA-LPPe-AGNSS-TroposphereModelReq ::= SEQUENCE {
+ troposphereModelReq BIT STRING {delay (0),
+ surface (1) } (SIZE (1..8)),
+ supportForMultipleGridPoints BOOLEAN,
+ requestBeginTime GNSS-SystemTime OPTIONAL,
+ duration OMA-LPPe-Duration,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-AltitudeAssistanceReq ::= SEQUENCE {
+ requestBeginTime GNSS-SystemTime OPTIONAL,
+ duration OMA-LPPe-Duration OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-SolarRadiationReq ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-WaIonoSurfaceRequest ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-NavModelDegradationModelReq ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-DCBreq ::= SEQUENCE {
+ reference SEQUENCE{
+ signal GNSS-SignalID,
+ pd ENUMERATED { pilot, data, notapplicable, ... },
+ ...
+ } OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-MechanicsReq::= SEQUENCE {
+ massRequest BOOLEAN,
+ effectiveReflectivityAreaRequest BOOLEAN,
+ pcoRequest BOOLEAN,
+ svInfoRequest BOOLEAN,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-CCPrequestControlParameters ::= SEQUENCE {
+ ccpSupportAreaRequest NULL OPTIONAL,
+ ccpNeighborListRequest NULL OPTIONAL,
+ ccpCommonRequest SEQUENCE {
+ duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrDurModify
+ rate INTEGER(1..64) OPTIONAL, --Cond FirstOrRateModify
+ refStation CHOICE {
+ posBasedReferenceStationRequest SEQUENCE {
+ requestedReferenceStationLocation OMA-LPPe-HighAccuracy3Dposition,
+ qor OMA-LPPe-AGNSS-QoR,
+ ...
+ },
+ idBasedReferenceStationRequest OMA-LPPe-AGNSS-ReferenceStationIDlist,
+ referenceStationKillList OMA-LPPe-AGNSS-ReferenceStationIDlist,
+ ...
+ } OPTIONAL, --Cond FirstOrRefModify
+ ...
+ },
+ ...
+}
+
+
+OMA-LPPe-AGNSS-ReferenceStationIDlist ::= SEQUENCE (SIZE(1..maxReferenceStations)) OF
+ OMA-LPPe-AGNSS-CCPreferenceStationID
+
+OMA-LPPe-AGNSS-QoR ::= ENUMERATED {m10, km1,km10,km100, ...}
+
+
+OMA-LPPe-AGNSS-CCPassistGenericReq ::= SEQUENCE {
+ ccpAssist-SignalsReq GNSS-SignalIDs,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-NavigationModelReq ::= SEQUENCE {
+ navModelID-PrefList SEQUENCE (SIZE(1..8)) OF INTEGER(1..8) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-ProvideLocationInformation ::= SEQUENCE {
+ highAccuracyReferenceTime GNSS-SystemTime OPTIONAL, --Cond HighAccuracy
+ highAccuracyMeasurements OMA-LPPe-AGNSS-HAgnssProvide OPTIONAL,
+ ionosphereMeasurements OMA-LPPe-AGNSS-IonosphereMeasurements OPTIONAL,
+ localSurfaceMeasurements OMA-LPPe-AGNSS-LocalSurfaceMeasurements OPTIONAL,
+ error OMA-LPPe-AGNSS-Error OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-HAgnssProvide ::= CHOICE {
+ controlParameters SEQUENCE {
+ duration OMA-LPPe-Duration,
+ rate INTEGER(1..64),
+ antennaDescription OMA-LPPe-AGNSS-AntennaDescription OPTIONAL, --Cond HAantenna
+ ...
+ },
+ measurements SEQUENCE {
+ position EllipsoidPointWithAltitudeAndUncertaintyEllipsoid OPTIONAL,
+ --Cond NotForbidden
+ referenceTime GNSS-SystemTime,
+ localPressure SEQUENCE {
+ pressure INTEGER(-1024..1023),
+ pressureUncertainty INTEGER(0..127),
+ ...
+ } OPTIONAL, --Cond HApressure
+ antennaOrientation OMA-LPPe-Orientation OPTIONAL, --Cond HAantOrientation
+ signalMeasurements SEQUENCE (SIZE(1..16)) OF OMA-LPPe-AGNSS-HAgnssMeasurementElement,
+ ...
+ },
+ ...
+}
+
+OMA-LPPe-AGNSS-HAgnssMeasurementElement::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ haGNSSperSignalList SEQUENCE (SIZE(1..8)) OF OMA-LPPe-HAgnssPerSignalElement,
+ ...
+}
+
+OMA-LPPe-HAgnssPerSignalElement ::= SEQUENCE {
+ signal-ID GNSS-SignalID,
+ haGNSSperSVlist SEQUENCE (SIZE(1..64)) OF OMA-LPPe-HAgnssPerSVelement,
+ ...
+}
+
+
+OMA-LPPe-HAgnssPerSVelement ::= SEQUENCE {
+ svID SV-ID,
+ integerCodePhase INTEGER (0..255) OPTIONAL, --Cond IfAvailable
+ codePhase INTEGER (0..14989622),
+ codePhaseRMSError INTEGER (0..63),
+ multipathDetection ENUMERATED {low,
+ moderate,
+ high,
+ notMeasured,
+ ...},
+ cnr INTEGER(0..255),
+ adr INTEGER (0..536870911),
+ adrRMSerror INTEGER (0..127),
+ lockIndicator BOOLEAN,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-IonosphereMeasurements ::= SEQUENCE {
+ gnssTime GNSS-SystemTime,
+ position EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+ tecPerSV OMA-LPPe-AGNSS-TECPerSV OPTIONAL, --Cond TecPerSV
+ tecAtZenith OMA-LPPe-AGNSS-TECAtZenith OPTIONAL, --Cond ZenithTec
+ ...
+}
+
+OMA-LPPe-AGNSS-TECPerSV ::= SEQUENCE (SIZE(1..64)) OF OMA-LPPe-AGNSS-TECPerSVElement
+
+OMA-LPPe-AGNSS-TECPerSVElement ::= SEQUENCE {
+ azimuth INTEGER(0..359),
+ elevation INTEGER(0..90),
+ tecValue INTEGER(0..511),
+ tecUncertainty INTEGER(0..63),
+ ...
+}
+
+OMA-LPPe-AGNSS-TECAtZenith ::= SEQUENCE {
+ tecValueAtZenith INTEGER(0..511),
+ tecUncertaintyAtZenith INTEGER(0..63),
+ ...
+}
+
+
+OMA-LPPe-AGNSS-LocalSurfaceMeasurements ::= SEQUENCE {
+ gnssTime GNSS-SystemTime,
+ position EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+ pressure INTEGER(-1024..1023),
+ pressureUncertainty INTEGER(0..127),
+ temperatureMeasurement SEQUENCE {
+ temperature INTEGER(-64..63) OPTIONAL,
+ temperatureUncertainty INTEGER(0..7) OPTIONAL,
+ ...
+ } OPTIONAL, --Cond TemperatureAvailable
+ ...
+}
+
+
+OMA-LPPe-AGNSS-RequestLocationInformation ::= SEQUENCE {
+ positioningInstructions OMA-LPPe-AGNSS-PositioningInstructions OPTIONAL,
+ ionosphereMeasurementsReq BIT STRING {tecPerSV(0),
+ zenithTEC(1) }(SIZE(1..8)) OPTIONAL,
+ localSurfaceMeasurementReq OMA-LPPe-AGNSS-LocalSurfaceMeasurementReq OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-PositioningInstructions ::= SEQUENCE {
+ highAccuracyMethodRequested BOOLEAN,
+ haGNSSreq OMA-LPPe-AGNSS-HAgnssRequestControlParameters OPTIONAL, --Cond HAgnssReq
+ ...,
+ extUncertRange BOOLEAN OPTIONAL
+}
+
+
+OMA-LPPe-AGNSS-LocalSurfaceMeasurementReq ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-HAgnssRequestControlParameters ::= SEQUENCE {
+ duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrModify
+ rate INTEGER(1..63) OPTIONAL, --Cond FirstOrModify
+ antennaInformationReq ENUMERATED {antennaDescriptionOnly,
+ antennaDescriptionAndOrientation,
+ ...} OPTIONAL,
+ pressureInformationReq BOOLEAN, --Cond FirstOrModify
+ signalReqList SEQUENCE (SIZE(1..16)) OF
+ OMA-LPPe-AGNSS-HAgnssSignalReqElement OPTIONAL, --Cond First
+ ...
+}
+
+OMA-LPPe-AGNSS-HAgnssSignalReqElement ::= SEQUENCE {
+ gnssID GNSS-ID,
+ signals GNSS-SignalIDs,
+ ...
+}
+
+
+
+OMA-LPPe-AGNSS-ProvideCapabilities ::= SEQUENCE {
+ assistanceDataSupportList OMA-LPPe-AGNSS-AssistanceDataSupportList OPTIONAL,
+ environmentObservationSupportList OMA-LPPe-AGNSS-EnvironmentObservationSupportList OPTIONAL,
+ haGNSSsupport OMA-LPPe-AGNSS-HAgnssSupport OPTIONAL,
+ ...
+}
+
+OMA-LPPe-AGNSS-AssistanceDataSupportList ::= SEQUENCE {
+ commonAssistanceDataSupport OMA-LPPe-AGNSS-CommonAssistanceDataSupport,
+ genericAssistanceDataSupport OMA-LPPe-AGNSS-GenericAssistanceDataSupport,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-EnvironmentObservationSupportList ::= SEQUENCE{
+ ionosphereMeasurementSupport BIT STRING {tecPerSVsupport(0),
+ zenithTecSupport(1) } (SIZE (1..8)),
+ pressureMeasurementSupported BOOLEAN,
+ temperatureMeasurementSupported BOOLEAN,
+ ...
+}
+
+
+
+OMA-LPPe-AGNSS-CommonAssistanceDataSupport ::= SEQUENCE {
+ ionosphericModelSupport OMA-LPPe-AGNSS-IonosphericModelSupport OPTIONAL, --Cond IonoSupport
+ troposphereModelSupport OMA-LPPe-AGNSS-TroposphereModelSupport OPTIONAL, --Cond TropoSupport
+ altitudeAssistanceSupport OMA-LPPe-AGNSS-AltitudeAssistanceSupport OPTIONAL, --Cond AltAssistSupport
+ solarRadiationSupport OMA-LPPe-AGNSS-SolarRadiationSupport OPTIONAL, --Cond SolarRadiationSupport
+ ccpSupport OMA-LPPe-AGNSS-CCPsupport OPTIONAL, --CCPsupport
+ ...
+}
+
+
+OMA-LPPe-AGNSS-IonosphericModelSupport ::= SEQUENCE {
+ ionoModel BIT STRING { localKlobuchar (0),
+ ionoStormWarning (1),
+ wideAreaIonoSurface (2) } (SIZE (1..8)),
+ ...
+}
+
+
+OMA-LPPe-AGNSS-TroposphereModelSupport ::= SEQUENCE {
+ tropoModel BIT STRING { localTroposphereDelay (0),
+ surfaceParameters (1) } (SIZE (1..8)),
+ supportForMultipleGridPoints BOOLEAN,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-AltitudeAssistanceSupport ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-SolarRadiationSupport ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-CCPsupport ::= SEQUENCE {
+ supportAreaAssistanceSupported BOOLEAN,
+ multiReferenceStationSupported BOOLEAN,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-GenericAssistanceDataSupport ::=
+ SEQUENCE (SIZE (1..16)) OF OMA-LPPe-AGNSS-GenericAssistDataSupportElement
+
+OMA-LPPe-AGNSS-GenericAssistDataSupportElement ::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ mechnanicsSupport OMA-LPPe-AGNSS-MechanicsSupport OPTIONAL,
+ --Cond MechSupport
+ dcbSupport OMA-LPPe-AGNSS-DCBsupport OPTIONAL,
+ --Cond DCBsupport
+ navModelAccuracyModelDegradationSupport OMA-LPPe-AGNSS-NavModelAccuracyModelDegradationSupport OPTIONAL, --Cond NavModDegrSupport
+ ccpAssistanceSuppport GNSS-SignalIDs OPTIONAL, --Cond CCPsupport
+ navModelSupport OMA-LPPe-AGNSS-NavModelSupport OPTIONAL, --Cond NavModSupport
+ ...
+}
+
+
+OMA-LPPe-AGNSS-MechanicsSupport ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-DCBsupport ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-NavModelAccuracyModelDegradationSupport ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-AGNSS-NavModelSupport ::= SEQUENCE {
+ navModelSupport SEQUENCE (SIZE(1..8)) OF INTEGER(1..8) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-HAgnssSupport ::= SEQUENCE {
+ modeSupport BIT STRING {ueBased (0), ueAssisted (1) } (SIZE(2)),
+ haGNSSpressureInformationSupport BOOLEAN,
+ haGNSSantennaInformationSupport BIT STRING { antennaDescriptionSupported (0),
+ antennaOrientationSupported (1)
+ } (SIZE(8)),
+
+ haGNSSperGNSSsupport SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-HAgnssPerGNSSsupport,
+ ...
+}
+
+OMA-LPPe-AGNSS-HAgnssPerGNSSsupport::= SEQUENCE {
+ gnss-ID GNSS-ID,
+ haGNSSsignalSupport GNSS-SignalIDs,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-RequestCapabilities ::= SEQUENCE {
+ assistanceDataSupportListReq NULL OPTIONAL,
+ environmentObservationSupportListReq NULL OPTIONAL,
+ haGNSSsupportReq NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-Error ::= CHOICE {
+ agnss-locationServerErrorCauses OMA-LPPe-AGNSS-LocationServerErrorCauses,
+ agnss-targetDeviceErrorCauses OMA-LPPe-AGNSS-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-LocationServerErrorCauses ::= SEQUENCE {
+ waIonoErrorCauses ENUMERATED { undefined,
+ waIonoNotSupportedByServer,
+ waIonoNotSupportedInTargetArea,
+ waIonoNotSupportedForAnyRequestedGNSS,
+ ...} OPTIONAL,
+ ccpErrorCauses ENUMERATED { undefined,
+ ccpNotSupportedByServer,
+ ccpNotSupportedInTargetArea,
+ ccpNotSupportedForAnyRequestedSignal,
+ ccpQorCannotBeMet,
+ ccpUnableToModifyControlParameters,
+ ccpMultiReferenceStationNotSupported,
+ ccpNeighborListNotSupported,
+ ccpSupportAreaAssistanceNotSupported,
+ ...} OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-TargetDeviceErrorCauses ::= SEQUENCE {
+ highAccuracyErrorCauses ENUMERATED { undefined,
+ highAccuracyMethodNotSupported,
+ ...} OPTIONAL,
+ ionosphereMeasurementErrorCauses ENUMERATED { undefined,
+ ionosphereMeasurementsNotSupported,
+ ionosphereMeasurementsNotAvailable,
+ ...} OPTIONAL,
+ environmentObservationErrorCauses ENUMERATED { undefined,
+ surfaceMeasurementsNotSupported,
+ surfaceMeasurementsNotAvailable,
+ ...} OPTIONAL,
+ haGNSSerrorCauses ENUMERATED { undefined,
+ haGNSSnotSupportedByTarget,
+ haGNSSunavailableForAllRequestedSignals,
+ haGNSSantennaInformationNotSupported,
+ haGNSSantennaInformationNotAvailable,
+ haGNSSpressureInformationNotSupported,
+ haGNSSpressureInformationNotAvailable,
+ haGNSSunableToModifyControlParameters,
+ ...} OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-CCPreferenceStationID ::= SEQUENCE {
+ stationID INTEGER(0..65535),
+ ...
+}
+
+maxReferenceStations INTEGER ::= 8
+
+
+OMA-LPPe-AGNSS-AntennaDescription ::= SEQUENCE {
+ antennaDescription CHOICE {
+ igsAntennaName OMA-LPPe-CharArray,
+ proprietaryName OMA-LPPe-CharArray,
+ ...
+ },
+ antennaSetupID INTEGER(0..255) OPTIONAL,
+ antennaSerialNumber OMA-LPPe-CharArray OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AGNSS-Abort::= SEQUENCE {
+ targetDeviceAbortCauses SEQUENCE {
+ ccpAbort ENUMERATED { undefined,
+ ccpNotSupported,
+ ccpNotSupportedForProvidedSignals,
+ ... } OPTIONAL,
+ waIonoAbort ENUMERATED { undefined,
+ waIonoNotSupported,
+ waIonoNotSupportedForProvidedGNSSs,
+ ... } OPTIONAL,
+ ...
+ } OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-ProvideAssistanceData ::= SEQUENCE {
+ otdoa-ReferenceCellInfo OMA-LPPe-OTDOA-ReferenceCellInfo OPTIONAL,
+ otdoa-NeighbourCellInfo OMA-LPPe-OTDOA-NeighbourCellInfoList OPTIONAL,
+ otdoa-Error OMA-LPPe-OTDOA-Error OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-ReferenceCellInfo ::= SEQUENCE {
+ referenceCellInfo OTDOA-ReferenceCellInfo,
+ positionCalculationInfoRef OMA-LPPe-OTDOA-PositionCalculationInfoRef,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-PositionCalculationInfoRef ::= SEQUENCE {
+ systemFrameNumber BIT STRING (SIZE(10)) OPTIONAL, --Cond driftRate
+ rtdReferenceStd OMA-LPPe-OTDOA-RTDquality OPTIONAL,
+ cellLocation SEQUENCE {
+ reference-point OMA-LPPe-ReferencePoint OPTIONAL,
+ relative-location OMA-LPPe-RelativeLocation OPTIONAL,
+ ...
+ },
+ femtoCellInfo SEQUENCE {
+ location-reliability INTEGER(1..100) OPTIONAL,
+ ...
+ } OPTIONAL, --Cond femto
+
+ ...
+}
+
+
+OMA-LPPe-OTDOA-NeighbourCellInfoList ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF
+ OMA-LPPe-OTDOA-NeighbourFreqCellInfoList
+
+-- Added from LPP.asn
+maxFreqLayers INTEGER ::= 3
+
+OMA-LPPe-OTDOA-NeighbourFreqCellInfoList ::= SEQUENCE {
+ neighbourCellInfoList-eNB SEQUENCE (SIZE (1..maxLTEeNBs)) OF
+ OMA-LPPe-OTDOA-NeighbourCellInfoElement-eNB OPTIONAL,
+ neighbourCellInfoList-HeNB SEQUENCE (SIZE (1..maxLTEHeNBs)) OF
+ OMA-LPPe-OTDOA-NeighbourCellInfoElement-HeNB OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-NeighbourCellInfoElement-eNB ::= SEQUENCE {
+ relative-Location OMA-LPPe-RelativeLocation,
+ otdoa-eNB-CellDataList SEQUENCE (SIZE (1..maxLTEMacroCells)) OF OMA-LPPe-OTDOA-CellData,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-NeighbourCellInfoElement-HeNB ::= SEQUENCE {
+ relative-Location OMA-LPPe-RelativeLocation,
+ location-reliability INTEGER (1..100) OPTIONAL,
+ otdoa-HeNB-CellDataList OMA-LPPe-OTDOA-CellData,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-CellData ::= SEQUENCE {
+ otdoa-NeighbourCellInfoElement OTDOA-NeighbourCellInfoElement,
+ rtdInfo SEQUENCE {
+ subframeOffset INTEGER(0..10229) OPTIONAL,
+ fineRTD INTEGER(0..99999),
+ fineRTDstd OMA-LPPe-OTDOA-RTDquality,
+ fineRTDdriftRate INTEGER(-100..100) OPTIONAL,
+ ...
+ },
+ ...
+}
+
+
+OMA-LPPe-OTDOA-RTDquality ::= SEQUENCE {
+ resolution ENUMERATED { ns-5, ns-10, ns-50, ns-100, ... },
+ quality INTEGER (0..127),
+ ...
+}
+
+
+OMA-LPPe-OTDOA-RequestAssistanceData ::= SEQUENCE {
+ lteCell SEQUENCE {
+ physCellId INTEGER(0..503),
+ eARFCN ARFCN-ValueEUTRA,
+ ecgi CellGlobalIdEUTRA-AndUTRA OPTIONAL,
+ ...,
+ eARFCN-ext ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond EARFCN-ext
+ },
+ requestedCells BIT STRING {
+ eNBs (0),
+ heNBs (1) } (SIZE (1..8)),
+ ...
+}
+
+
+OMA-LPPe-OTDOA-ProvideLocationInformation ::= SEQUENCE {
+ otdoaLocationInformation OMA-LPPe-OTDOA-LocationInformation OPTIONAL,
+ otdoaError OMA-LPPe-OTDOA-Error OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-LocationInformation ::= SEQUENCE {
+ systemFrameNumber BIT STRING (SIZE (10)),
+ physCellId INTEGER (0..503),
+ cellGlobalId CellGlobalIdEUTRA-AndUTRA OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-RequestLocationInformation ::= SEQUENCE {
+ assistanceAvailability BOOLEAN,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-ProvideCapabilities ::= SEQUENCE {
+ eNodeB-AD-sup SEQUENCE { ... } OPTIONAL,
+ home-eNodeB-AD-sup SEQUENCE { ... } OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-OTDOA-Error ::= CHOICE {
+ locationServerErrorCauses OMA-LPPe-OTDOA-LocationServerErrorCauses,
+ targetDeviceErrorCauses OMA-LPPe-OTDOA-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ locationCalculationAssistanceDataNotSupported,
+ locationCalculationAssistanceDataSupportedButCurrentlyNotAvailable,
+ ...
+ },
+ ...
+}
+
+
+OMA-LPPe-OTDOA-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ there-were-not-enough-signals-received-for-ueBased-otdoa,
+ location-calculation-assistance-data-missing,
+ ...
+ },
+ ...
+}
+
+
+OMA-LPPe-EOTD-ProvideAssistanceData ::= SEQUENCE {
+ referenceBTS OMA-LPPe-EOTD-ReferenceBTSForAssistance OPTIONAL, --Cond NotError
+ msrAssistDataList OMA-LPPe-EOTD-MsrAssistDataList OPTIONAL,
+ systemInfoAssistDataList OMA-LPPe-EOTD-SystemInfoAssistDataList OPTIONAL,
+ eotdError OMA-LPPe-EOTD-Error OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-EOTD-ReferenceBTSForAssistance ::= SEQUENCE {
+ bsicAndCarrier OMA-LPPe-CellNonUniqueIDGERAN,
+ timeSlotScheme OMA-LPPe-EOTD-TimeSlotScheme,
+ btsPosition CHOICE {
+ ellipsoidPoint Ellipsoid-Point,
+ ellipsoidPointWithAltitudeAndUncertaintyEllipsoid EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+ ...
+ } OPTIONAL, --Cond UE-based
+ ...
+}
+
+
+OMA-LPPe-EOTD-MsrAssistDataList ::= SEQUENCE (SIZE (1..15)) OF OMA-LPPe-EOTD-MsrAssistBTS
+
+OMA-LPPe-EOTD-MsrAssistBTS ::= SEQUENCE {
+ bsicAndCarrier OMA-LPPe-CellNonUniqueIDGERAN,
+ multiFrameOffset OMA-LPPe-EOTD-MultiFrameOffset,
+ timeSlotScheme OMA-LPPe-EOTD-TimeSlotScheme,
+ roughRTD OMA-LPPe-EOTD-RoughRTD,
+ expectedOTD OMA-LPPe-EOTD-ExpectedOTD,
+ calcAssistanceBTS OMA-LPPe-EOTD-CalcAssistanceBTS OPTIONAL, --Cond UE-based
+ ...
+}
+
+
+OMA-LPPe-EOTD-SystemInfoAssistDataList ::= SEQUENCE (SIZE (1..32)) OF OMA-LPPe-EOTD-SystemInfoAssistBTS
+
+OMA-LPPe-EOTD-SystemInfoAssistBTS ::= CHOICE{
+ notPresent NULL,
+ present OMA-LPPe-EOTD-AssistBTSData
+}
+
+OMA-LPPe-EOTD-AssistBTSData ::= SEQUENCE {
+ bsic INTEGER(0..63),
+ multiFrameOffset OMA-LPPe-EOTD-MultiFrameOffset,
+ timeSlotScheme OMA-LPPe-EOTD-TimeSlotScheme,
+ roughRTD OMA-LPPe-EOTD-RoughRTD,
+ expectedOTD OMA-LPPe-EOTD-ExpectedOTD OPTIONAL,
+ calcAssistanceBTS OMA-LPPe-EOTD-CalcAssistanceBTS OPTIONAL, --Cond UE-based
+ ...
+}
+
+
+OMA-LPPe-EOTD-CalcAssistanceBTS ::= SEQUENCE {
+ fineRTD OMA-LPPe-EOTD-FineRTD,
+ relativePos OMA-LPPe-EOTD-relativePos,
+ ...
+}
+
+OMA-LPPe-EOTD-relativePos ::= SEQUENCE {
+ relativeNorth OMA-LPPe-EOTD-RelDistance,
+ relativeEast OMA-LPPe-EOTD-RelDistance,
+ relativeAlt OMA-LPPe-EOTD-RelativeAlt OPTIONAL,
+ ...
+}
+
+OMA-LPPe-EOTD-FineRTD ::= INTEGER(0..255)
+
+OMA-LPPe-EOTD-RelDistance ::= INTEGER(-200000..200000)
+
+OMA-LPPe-EOTD-RelativeAlt ::= INTEGER(-4000..4000)
+
+
+OMA-LPPe-EOTD-RequestAssistanceData ::= SEQUENCE {
+ eotdAssistanceReq BIT STRING { ueAssisted (0), ueBased (1) },
+ ...
+}
+
+
+OMA-LPPe-EOTD-ProvideLocationInformation ::= SEQUENCE {
+ eotdMsrElement OMA-LPPe-EOTD-MsrElement OPTIONAL,
+ eotdError OMA-LPPe-EOTD-Error OPTIONAL,
+ ...
+}
+
+
+
+OMA-LPPe-EOTD-MsrElement ::= SEQUENCE {
+ refFrameNumber INTEGER(0..42431),
+ referenceTimeSlot OMA-LPPe-EOTD-ModuloTimeSlot,
+ toaMeasurementsOfRef OMA-LPPe-EOTD-TOA-MeasurementsOfRef OPTIONAL,
+ stdResolution BIT STRING(SIZE(2)),
+ taCorrection INTEGER(0..960) OPTIONAL,
+ otd-FirstSetMsrs SEQUENCE (SIZE(1..15)) OF OMA-LPPe-EOTD-MeasurementWithID OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-EOTD-TOA-MeasurementsOfRef ::= SEQUENCE {
+ refQuality BIT STRING(SIZE(5)),
+ numOfMeasurements BIT STRING(SIZE(3)),
+ ...
+}
+
+
+
+OMA-LPPe-EOTD-MeasurementWithID ::= SEQUENCE {
+ neighborIdentity OMA-LPPe-EOTD-NeighborIdentity,
+ nborTimeSlot OMA-LPPe-EOTD-ModuloTimeSlot,
+ eotdQuality OMA-LPPe-EOTD-EOTDQuality,
+ otdValue OMA-LPPe-EOTD-OTDValue,
+ ...
+}
+
+
+OMA-LPPe-EOTD-NeighborIdentity ::= CHOICE {
+ bsicAndCarrier OMA-LPPe-CellNonUniqueIDGERAN,
+ ci OMA-LPPe-EOTD-CellID,
+ multiFrameCarrier OMA-LPPe-EOTD-MultiFrameCarrier,
+ requestIndex OMA-LPPe-EOTD-RequestIndex,
+ systemInfoIndex OMA-LPPe-EOTD-SystemInfoIndex,
+ ciAndLac OMA-LPPe-CellLocalIdGERAN,
+ ...
+}
+
+OMA-LPPe-EOTD-EOTDQuality ::= SEQUENCE {
+ nbrOfMeasurements BIT STRING(SIZE(3)),
+ stdOfEOTD BIT STRING(SIZE(5)),
+ ...
+}
+
+OMA-LPPe-EOTD-OTDValue ::= INTEGER (0..39999)
+
+OMA-LPPe-EOTD-CellID ::= INTEGER (0..65535)
+
+OMA-LPPe-EOTD-RequestIndex ::= INTEGER (1..16)
+OMA-LPPe-EOTD-SystemInfoIndex ::= INTEGER (1..32)
+
+OMA-LPPe-EOTD-MultiFrameCarrier ::= SEQUENCE {
+ bcchCarrier OMA-LPPe-EOTD-BCCHCarrier,
+ multiFrameOffset OMA-LPPe-EOTD-MultiFrameOffset,
+ ...
+}
+
+OMA-LPPe-EOTD-BCCHCarrier ::= INTEGER (0..1023)
+
+
+OMA-LPPe-EOTD-RequestLocationInformation ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-EOTD-ProvideCapabilities ::= SEQUENCE {
+ eotdSupport BIT STRING{ ueBased(0), ueAssisted(1) },
+ ...
+}
+
+
+OMA-LPPe-EOTD-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-EOTD-Error ::= CHOICE {
+ locationServerErrorCauses OMA-LPPe-EOTD-LocationServerErrorCauses,
+ targetDeviceErrorCauses OMA-LPPe-EOTD-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-EOTD-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED{ undefined,
+ assistanceDataForUEbasedEOTDnotAvailable,
+ assistanceDataForUEassistedEOTDnotAvailable,
+ ...},
+ ...
+}
+
+
+OMA-LPPe-EOTD-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED{ undefinedError,
+ notEnoughBTsforEOTD,
+ assistanceDataMissing,
+ referenceCellNotServingCell,
+ eotdMeasurementsNotSupported,
+ eotdMeasurementsNotAvailable,
+ uebasedEOTDnotSupported,
+ ...},
+ ...
+}
+
+
+OMA-LPPe-EOTD-TimeSlotScheme ::= ENUMERATED {
+ equalLength (0),
+ variousLength (1)
+}
+
+
+OMA-LPPe-EOTD-MultiFrameOffset ::= INTEGER (0..51)
+
+
+OMA-LPPe-EOTD-RoughRTD ::= INTEGER (0..1250)
+
+
+OMA-LPPe-EOTD-ExpectedOTD ::= SEQUENCE {
+ expectedOTD INTEGER(0..1250),
+ expOTDUncertainty INTEGER(0..7),
+ ...
+}
+
+
+OMA-LPPe-EOTD-ModuloTimeSlot ::= INTEGER(0..3)
+
+
+OMA-LPPe-OTDOA-UTRA-ProvideAssistanceData ::= SEQUENCE {
+ referenceCellInfo OMA-LPPe-OTDOA-UTRA-ReferenceCellInfo OPTIONAL,
+ neigborCellList OMA-LPPe-OTDOA-UTRA-NeighborCellList OPTIONAL,
+ otdoaUtraError OMA-LPPe-OTDOA-UTRA-Error OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-ReferenceCellInfo ::= SEQUENCE {
+ sfn INTEGER(0..4095) OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-info OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info
+ },
+ tdd SEQUENCE {
+ cellAndChannelIdentity OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity
+ }
+ },
+ frequencyInfo OMA-LPPe-UTRA-FrequencyInfo OPTIONAL,
+ refPosAssist OMA-LPPe-OTDOA-UTRA-RefPosAssist OPTIONAL, --Cond UE-based
+ ipdl-parameters OMA-LPPe-OTDOA-UTRA-IPDL-Parameters OPTIONAL,
+ ...
+}
+
+
+
+OMA-LPPe-OTDOA-UTRA-RefPosAssist ::= SEQUENCE {
+ cellPosition CHOICE {
+ ellipsoidPoint Ellipsoid-Point,
+ ellipsoidPointWithAltitude EllipsoidPointWithAltitude,
+ ...
+ },
+ roundTripTime INTEGER (0..32766) OPTIONAL,
+ roundTripTimeExtension INTEGER (0..70274) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-NeighborCellList ::= SEQUENCE (SIZE (1..utra-maxCellMeas)) OF
+ OMA-LPPe-OTDOA-UTRA-NeighborCellInfo
+
+OMA-LPPe-OTDOA-UTRA-NeighborCellInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-info OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info
+ },
+ tdd SEQUENCE {
+ cellAndChannelIdentity OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity
+ }
+ },
+ frequencyInfo OMA-LPPe-UTRA-FrequencyInfo OPTIONAL,
+ ipdl-parameters OMA-LPPe-OTDOA-UTRA-IPDL-Parameters OPTIONAL,
+ sfn-SFN-relTimeDifference OMA-LPPe-OTDOA-UTRA-SFN-SFN-RelTimeDifference1,
+ sfn-offsetValidity OMA-LPPe-OTDOA-UTRA-SFN-OffsetValidity OPTIONAL,
+ sfn-SFN-drift OMA-LPPe-OTDOA-UTRA-SFN-SFN-Drift OPTIONAL,
+ searchWindowSize OMA-LPPe-OTDOA-UTRA-SearchWindowSize,
+ positioningAssistance OMA-LPPe-OTDOA-UTRA-PositioningAssistance OPTIONAL, --Cond UEbased
+ ...
+}
+
+OMA-LPPe-OTDOA-UTRA-SFN-SFN-RelTimeDifference1 ::= SEQUENCE {
+ sfn-offset INTEGER (0..4095),
+ sfn-sfn-relTimeDifference INTEGER (0..38399)
+}
+
+OMA-LPPe-OTDOA-UTRA-PositioningAssistance ::= SEQUENCE {
+ relativeNorth INTEGER (-20000..20000),
+ relativeEast INTEGER (-20000..20000),
+ relativeAltitude INTEGER (-4000..4000) OPTIONAL,
+ fineSFN-SFN OMA-LPPe-OTDOA-UTRA-fineSFN-SFN,
+ roundTripTime INTEGER (0..32766) OPTIONAL,
+ roundTripTimeExtension INTEGER (0..70274) OPTIONAL,
+ ...
+}
+
+utra-maxCellMeas INTEGER ::= 32
+
+OMA-LPPe-OTDOA-UTRA-SFN-OffsetValidity ::= ENUMERATED { false }
+
+OMA-LPPe-OTDOA-UTRA-SFN-SFN-Drift ::= ENUMERATED {
+ sfnsfndrift0, sfnsfndrift1, sfnsfndrift2,
+ sfnsfndrift3, sfnsfndrift4, sfnsfndrift5,
+ sfnsfndrift8, sfnsfndrift10, sfnsfndrift15,
+ sfnsfndrift25, sfnsfndrift35, sfnsfndrift50,
+ sfnsfndrift65, sfnsfndrift80, sfnsfndrift100,
+ sfnsfndrift-1, sfnsfndrift-2, sfnsfndrift-3,
+ sfnsfndrift-4, sfnsfndrift-5, sfnsfndrift-8,
+ sfnsfndrift-10, sfnsfndrift-15, sfnsfndrift-25,
+ sfnsfndrift-35, sfnsfndrift-50, sfnsfndrift-65,
+ sfnsfndrift-80, sfnsfndrift-100,
+ ... }
+
+OMA-LPPe-OTDOA-UTRA-SearchWindowSize ::= ENUMERATED { c20, c40, c80, c160, c320,
+ c640, c1280, moreThan1280, ... }
+
+OMA-LPPe-OTDOA-UTRA-fineSFN-SFN ::= INTEGER (0..15)
+
+
+OMA-LPPe-OTDOA-UTRA-IPDL-Parameters ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ip-spacing OMA-LPPe-OTDOA-UTRA-IP-Spacing,
+ ip-length OMA-LPPe-OTDOA-UTRA-IP-Length,
+ ip-Offset INTEGER (0..9),
+ seed INTEGER (0..63),
+ burstModeParameters OMA-LPPe-OTDOA-UTRA-BurstModeParameters OPTIONAL
+ },
+ tdd SEQUENCE {
+ ip-spacing-tdd OMA-LPPe-OTDOA-UTRA-IP-Spacing-TDD,
+ ip-slot INTEGER (0..14),
+ ip-start INTEGER (0..4095),
+ ip-PCCPCH OMA-LPPe-OTDOA-UTRA-IP-PCCPCH OPTIONAL,
+ burstModeParameters OMA-LPPe-OTDOA-UTRA-BurstModeParameters
+ }
+ }
+}
+
+OMA-LPPe-OTDOA-UTRA-IP-Spacing ::= ENUMERATED { e5, e7, e10, e15, e20, e30, e40, e50}
+
+OMA-LPPe-OTDOA-UTRA-IP-Length ::= ENUMERATED {ipl5, ipl10}
+
+OMA-LPPe-OTDOA-UTRA-IP-Spacing-TDD ::= ENUMERATED { e30, e40, e50, e70, e100 }
+
+OMA-LPPe-OTDOA-UTRA-IP-PCCPCH ::= BOOLEAN
+
+OMA-LPPe-OTDOA-UTRA-BurstModeParameters ::= SEQUENCE {
+ burstStart INTEGER (0..15),
+ burstLength INTEGER (10..25),
+ burstFreq INTEGER (1..16)
+}
+
+
+OMA-LPPe-OTDOA-UTRA-RequestAssistanceData ::= SEQUENCE {
+ otdoaUtraAssistanceReq BIT STRING { ueAssisted (0), ueBased (1) } (SIZE(1..8)),
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-ProvideLocationInformation ::= SEQUENCE {
+ otdoaUtraMeasurement OMA-LPPe-OTDOA-UTRA-Measurement OPTIONAL,
+ otdoaUtraError OMA-LPPe-OTDOA-UTRA-Error OPTIONAL,
+ timeStampData OMA-LPPe-OTDOA-UTRA-TimeStampData OPTIONAL, --Cond UE-based
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-Measurement ::= SEQUENCE {
+ sfn INTEGER (0..4095),
+ modeSpecificInfoMeas CHOICE {
+ fdd SEQUENCE {
+ referenceCellIdentity OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info,
+ ue-RX-TX-TimeDifferenceType2Info OMA-LPPe-OTDOA-UTRA-UE-RX-TX-TimeDifferenceType2Info,
+ ...
+ },
+ tdd SEQUENCE {
+ cellAndChannelIdentity OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity,
+ ...
+ }
+ },
+ neighborList OMA-LPPe-OTDOA-UTRA-NeighborList OPTIONAL,
+ ...
+}
+
+OMA-LPPe-OTDOA-UTRA-UE-RX-TX-TimeDifferenceType2Info ::= SEQUENCE {
+ ue-RX-TX-timeDifferenceType2 OMA-LPPe-OTDOA-UTRA-TimeDifferenceType2,
+ neighborQuality OMA-LPPe-OTDOA-UTRA-NeighborQuality
+}
+
+OMA-LPPe-OTDOA-UTRA-TimeDifferenceType2 ::= INTEGER(0..8191)
+
+OMA-LPPe-OTDOA-UTRA-NeighborList ::= SEQUENCE (SIZE (1..utra-maxCellMeas)) OF
+ OMA-LPPe-OTDOA-UTRA-Neighbor
+
+OMA-LPPe-OTDOA-UTRA-Neighbor ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ neighborIdentity OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info OPTIONAL,
+ ue-RX-TX-timeDifferenceType2Info
+ OMA-LPPe-OTDOA-UTRA-UE-RX-TX-TimeDifferenceType2Info OPTIONAL,
+ ... },
+ tdd SEQUENCE {
+ cellAndChannelIdentity OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity OPTIONAL,
+ uarfcn ARFCN-ValueUTRA OPTIONAL,
+ ... }
+ },
+ neighborQuality OMA-LPPe-OTDOA-UTRA-NeighborQuality,
+ sfn-sfn-ObsTimeDifference2 OMA-LPPe-OTDOA-UTRA-SFN-SFN-ObsTimeDifference2,
+ ...
+}
+
+OMA-LPPe-OTDOA-UTRA-NeighborQuality ::= SEQUENCE {
+ quality OMA-LPPe-OTDOA-UTRA-Quality,
+ ...
+}
+
+OMA-LPPe-OTDOA-UTRA-SFN-SFN-ObsTimeDifference2 ::= INTEGER (0..65535)
+
+OMA-LPPe-OTDOA-UTRA-Quality ::= SEQUENCE {
+ stdResolution BIT STRING (SIZE (2)),
+ numberOfOTDOA-Measurements BIT STRING (SIZE (3)),
+ stdOfOTDOA-Measurements BIT STRING (SIZE (5)),
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-TimeStampData ::= SEQUENCE {
+ sfn INTEGER(0..4095),
+ utraCellGlobalID CellGlobalIdEUTRA-AndUTRA,
+ frequencyInfo OMA-LPPe-UTRA-FrequencyInfo OPTIONAL,
+ nonUniqueCellID CHOICE {
+ primaryScramblingCode OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode, --FDD
+ cellParametersId OMA-LPPe-OTDOA-UTRA-CellParametersID, --TDD
+ ...},
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-RequestLocationInformation ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-ProvideCapabilities ::= SEQUENCE {
+ ueBasedSupported BOOLEAN,
+ ueAssistedSupported BOOLEAN,
+ ipdlSupported BOOLEAN,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-Error ::= CHOICE {
+ locationServerErrorCauses OMA-LPPe-OTDOA-UTRA-LocationServerErrorCauses,
+ targetDeviceErrorCauses OMA-LPPe-OTDOA-UTRA-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED{ undefinedError,
+ assistanceDataForUEbasedOTDOAnotAvailable,
+ assistanceDataForUEassistedOTDOAnotAvailable,
+ ...},
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED{ undefinedError,
+ notEnoughOTDOA-cells,
+ assistanceDataMissing,
+ referenceCellNotServingCell,
+ otdoaMeasurementsNotSupported,
+ otdoaMeasurementsNotAvailable,
+ uebasedOTDOAnotSupported,
+ ...},
+ ...
+}
+
+
+OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info ::= SEQUENCE {
+ primaryScramblingCode OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode
+}
+
+
+OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode ::= INTEGER (0..511)
+
+
+OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity ::= SEQUENCE {
+ burstType OMA-LPPe-OTDOA-UTRA-BurstType,
+ midambleShift OMA-LPPe-OTDOA-UTRA-MidambleShiftLong,
+ timeslot OMA-LPPe-OTDOA-UTRA-TimeSlotNumber,
+ cellParametersID OMA-LPPe-OTDOA-UTRA-CellParametersID,
+ ...
+}
+
+OMA-LPPe-OTDOA-UTRA-BurstType ::= ENUMERATED { type1, type2 }
+
+OMA-LPPe-OTDOA-UTRA-MidambleShiftLong ::= INTEGER (0..15)
+
+OMA-LPPe-OTDOA-UTRA-TimeSlotNumber ::= INTEGER (0..14)
+
+OMA-LPPe-OTDOA-UTRA-CellParametersID ::= INTEGER (0..127)
+
+
+OMA-LPPe-ECID-LTE-ProvideAssistanceData ::= SEQUENCE {
+ ecid-LTE-NetworkData SEQUENCE (SIZE (1..maxLTENetworks)) OF
+ OMA-LPPe-ECID-LTE-NetworkData OPTIONAL,
+ ecid-LTE-Error OMA-LPPe-ECID-LTE-Error OPTIONAL,
+ ...
+}
+
+maxLTENetworks INTEGER ::= 8
+
+
+OMA-LPPe-ECID-LTE-NetworkData ::= SEQUENCE {
+ plmn-Identity SEQUENCE {
+ mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
+ mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9),
+ ...
+ },
+ multiple-PLMNs BOOLEAN,
+ reference-location OMA-LPPe-ReferencePoint OPTIONAL, --Cond eNBlocations
+ ecid-lte-eNodeB-list SEQUENCE (SIZE (1..maxLTEeNBs)) OF OMA-LPPe-ECID-LTE-eNodeBData,
+ ecid-lte-HeNB-list SEQUENCE (SIZE (1..maxLTEHeNBs)) OF OMA-LPPe-ECID-LTE-HeNBData OPTIONAL,
+ ...
+}
+
+maxLTEeNBs INTEGER ::= 32
+
+maxLTEHeNBs INTEGER ::= 128
+
+
+OMA-LPPe-ECID-LTE-eNodeBData ::= SEQUENCE {
+ relative-location OMA-LPPe-RelativeLocation OPTIONAL,
+ ecid-lte-eNodeB-CellData SEQUENCE (SIZE (1..maxLTEMacroCells)) OF OMA-LPPe-ECID-LTE-CellData,
+ ...
+}
+
+maxLTEMacroCells INTEGER ::= 8
+
+
+OMA-LPPe-ECID-LTE-HeNBData ::= SEQUENCE {
+ relative-location OMA-LPPe-RelativeLocation OPTIONAL,
+ location-reliability INTEGER (1..100) OPTIONAL,
+ coverageArea OMA-LPPe-WLANFemtoCoverageArea OPTIONAL,
+ ecid-lte-HeNB-CellData OMA-LPPe-ECID-LTE-CellData,
+ ...
+}
+
+
+OMA-LPPe-ECID-LTE-CellData ::= SEQUENCE {
+ physCellId INTEGER (0..503) OPTIONAL, --Cond AtLeastOne
+ cellIdentity BIT STRING (SIZE (28)) OPTIONAL, --Cond AtLeastOne
+ dl-CarrierFreq ARFCN-ValueEUTRA,
+ rs-transmit-power INTEGER (-127..128) OPTIONAL,
+ antennaPortConfig ENUMERATED {port1, ports2, ports4, ... } OPTIONAL,
+ antenna-gain INTEGER (-127..128) OPTIONAL,
+ beam-width INTEGER (1..360) OPTIONAL,
+ transmit-direction INTEGER (0..360) OPTIONAL,
+ frequency-accuracy INTEGER (0..100),
+ ...,
+ dl-CarrierFreq-ext ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond EARFCN-ext
+}
+
+
+OMA-LPPe-ECID-LTE-RequestAssistanceData ::= SEQUENCE {
+ eNBrequestedAD BIT STRING { bslist (0),
+ bslocation (1),
+ transmit-power (2),
+ antennaPortConfig (3),
+ antenna-gain (4),
+ beam-width (5),
+ transmit-direction (6),
+ frequency-accuracy (7),
+ non-serving (8) } (SIZE(1..16)) OPTIONAL,
+ heNBrequestedAD BIT STRING { bslist (0),
+ bslocation (1),
+ locationreliability (2),
+ transmit-power (3),
+ antennaPortConfig (4),
+ frequency-accuracy (5),
+ coveragearea (6),
+ non-serving (7) } (SIZE(1..16)) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ECID-LTE-ProvideLocationInformation ::= SEQUENCE {
+ ecid-LTE-CombinedLocationInformation SEQUENCE (SIZE (1..maxLTEECIDSize))
+ OF OMA-LPPe-ECID-LTE-LocationInformationList OPTIONAL,
+ ecid-LTE-Error OMA-LPPe-ECID-LTE-Error OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ECID-LTE-LocationInformationList ::= SEQUENCE {
+ ecid-LTE-LocationInformation OMA-LPPe-ECID-LTE-LocationInformation,
+ relativeTimeStamp INTEGER (0..65535) OPTIONAL,
+ servingFlag BOOLEAN,
+ ...
+}
+
+maxLTEECIDSize INTEGER ::= 64
+
+
+OMA-LPPe-ECID-LTE-LocationInformation ::= SEQUENCE {
+ lpp-ECID-SignalMeasurementInformation ECID-SignalMeasurementInformation,
+ ...
+}
+
+
+OMA-LPPe-ECID-LTE-RequestLocationInformation ::= SEQUENCE {
+ requestedMeasurements BIT STRING { rsrp (0),
+ rsrq (1),
+ ueRxTx (2),
+ non-serving (3),
+ historic (4) } (SIZE(1..8)),
+ ...
+}
+
+
+OMA-LPPe-ECID-LTE-ProvideCapabilities ::= SEQUENCE {
+ ecid-lte-MeasSupported BIT STRING {rsrp (0),
+ rsrq (1),
+ ueRxTx (2),
+ non-serving (3),
+ historic (4) } (SIZE(1..8)),
+ ecid-lte-eNodeB-ADSupported BIT STRING {bslist (0),
+ bslocation (1),
+ transmit-power (2),
+ antennaPortConfig (3),
+ antenna-gain (4),
+ beam-width (5),
+ transmit-direction (6),
+ frequency-accuracy (7),
+ non-serving (8) } (SIZE(1..16)),
+ ecid-utra-HeNB-ADSupported BIT STRING {bslist (0),
+ bslocation (1),
+ locationreliability (2),
+ transmit-power (3),
+ antennaPortConfig (4),
+ frequency-accuracy (5),
+ coveragearea (6),
+ non-serving (7) } (SIZE(1..16)),
+ ...
+}
+
+
+OMA-LPPe-ECID-LTE-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-ECID-LTE-Error ::= CHOICE {
+ locationServerErrorCauses OMA-LPPe-ECID-LTE-LocationServerErrorCauses,
+ targetDeviceErrorCauses OMA-LPPe-ECID-LTE-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-ECID-LTE-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ requestedADNotAvailable,
+ notAllrequestedADAvailable,
+ ...
+ },
+ eNodeBMandatoryDataUnavailable NULL OPTIONAL,
+ eNodeBLocationsUnavailable NULL OPTIONAL,
+ eNodeBcellTransmitPowerUnavailable NULL OPTIONAL,
+ eNodeBcellAntennaPortConfigUnavailable NULL OPTIONAL,
+ eNodeBcallAntennaGainUnavailable NULL OPTIONAL,
+ eNodeBcellBeamWidthUnavailable NULL OPTIONAL,
+ eNodeBcellTransmitDirectionUnavailable NULL OPTIONAL,
+ eNodeBcellFrequencyAccuracyUnavailable NULL OPTIONAL,
+ eNodeBnonservingADUnavailable NULL OPTIONAL,
+ heNBMandatoryDataUnavailable NULL OPTIONAL,
+ heNBLocationUnavailable NULL OPTIONAL,
+ heNBLocationReliabilityUnavailable NULL OPTIONAL,
+ heNBcellTransmitPowerUnavailable NULL OPTIONAL,
+ heNBcellAntennaPortConfigUnavailable NULL OPTIONAL,
+ heNBcellFrequencyAccuracyUnavailable NULL OPTIONAL,
+ heNBCoverageAreaUnavailable NULL OPTIONAL,
+ heNBnonservingADUnavailable NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ECID-LTE-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED {undefined,
+ requestedMeasurementsNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ ...
+ },
+ rsrpMeasurementNotPossible NULL OPTIONAL,
+ rsrqMeasurementNotPossible NULL OPTIONAL,
+ ueRxTxMeasurementNotPossible NULL OPTIONAL,
+ non-servingMeasurementsNotAvailable NULL OPTIONAL,
+ historicMeasurementsNotAvailable NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ECID-GSM-ProvideAssistanceData ::= SEQUENCE {
+ ecid-gsm-NetworkData SEQUENCE (SIZE (1..maxGSMNetworks))
+ OF OMA-LPPe-ECID-GSM-NetworkData OPTIONAL,
+ ecid-gsm-Error OMA-LPPe-ECID-GSM-Error OPTIONAL,
+ ...
+}
+
+maxGSMNetworks INTEGER ::= 8
+
+
+OMA-LPPe-ECID-GSM-NetworkData ::= SEQUENCE {
+ plmn-Identity SEQUENCE {
+ mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
+ mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9)
+ },
+ reference-location OMA-LPPe-ReferencePoint OPTIONAL, --Cond BSlocations
+ base-station-list SEQUENCE (SIZE (1..maxGSMBaseStations)) OF OMA-LPPe-ECID-GSM-BaseStationData,
+ ...
+}
+
+maxGSMBaseStations INTEGER ::= 32
+
+
+OMA-LPPe-ECID-GSM-BaseStationData ::= SEQUENCE {
+ relative-location OMA-LPPe-RelativeLocation OPTIONAL,
+ ecid-gsm-CellData SEQUENCE (SIZE (1..maxGSMCells)) OF OMA-LPPe-ECID-GSM-CellData,
+ ...
+}
+
+maxGSMCells INTEGER ::= 8
+
+
+OMA-LPPe-ECID-GSM-CellData ::= SEQUENCE {
+ cellNonUniqueIDGERAN OMA-LPPe-CellNonUniqueIDGERAN OPTIONAL, --Cond AtLeastOne
+ cellLocalIDGERAN OMA-LPPe-CellLocalIdGERAN OPTIONAL, --Cond AtLeastOne
+ transmit-power INTEGER (-127..128) OPTIONAL,
+ antenna-gain INTEGER (-127..128) OPTIONAL,
+ beam-width INTEGER (1..360) OPTIONAL,
+ transmit-direction INTEGER (0..360) OPTIONAL,
+ frequency-accuracy INTEGER (0..100) OPTIONAL,
+ ...
+}
+
+
+
+
+OMA-LPPe-ECID-GSM-RequestAssistanceData ::= SEQUENCE {
+ requestedAD BIT STRING { bslist (0),
+ bslocation (1),
+ transmit-power (2),
+ antenna-gain (3),
+ beam-width (4),
+ transmit-direction (5),
+ frequency-accuracy (6),
+ non-serving (7)
+ } (SIZE(1..16)),
+ ...
+}
+
+
+OMA-LPPe-ECID-GSM-ProvideLocationInformation ::= SEQUENCE {
+ ecid-GSM-CombinedLocationInformation SEQUENCE (SIZE (1..maxGSMECIDSize))
+ OF OMA-LPPe-ECID-GSM-LocationInformationList OPTIONAL,
+ ecid-GSM-Error OMA-LPPe-ECID-GSM-Error OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ECID-GSM-LocationInformationList ::= SEQUENCE {
+ ecid-GSM-LocationInformation OMA-LPPe-ECID-GSM-LocationInformation,
+ relativeTimeStamp INTEGER (0..65535) OPTIONAL,
+ servingFlag BOOLEAN,
+ ...
+}
+
+maxGSMECIDSize INTEGER ::= 64
+
+
+
+OMA-LPPe-ECID-GSM-LocationInformation ::= SEQUENCE {
+ cellGlobalIdGERAN CellGlobalIdGERAN,
+ rxLevel INTEGER (0..63) OPTIONAL,
+ tA INTEGER(0..255) OPTIONAL,
+ nMR-GERAN OMA-LPPe-NMR-GERAN OPTIONAL,
+ ...
+}
+
+OMA-LPPe-NMR-GERAN ::= SEQUENCE (SIZE (1..15)) OF SEQUENCE {
+ cellNonUniqueIDGERAN OMA-LPPe-CellNonUniqueIDGERAN,
+ cellLocalIDGERAN OMA-LPPe-CellLocalIdGERAN OPTIONAL,
+ rxLevel INTEGER (0..63),
+ ...
+}
+
+
+OMA-LPPe-ECID-GSM-RequestLocationInformation ::= SEQUENCE {
+ requestedMeasurements BIT STRING { rxLevel (0),
+ tA (1),
+ nMR-GERAN (2),
+ non-serving (3),
+ historic (4) } (SIZE(1..8)),
+ ...
+}
+
+
+OMA-LPPe-ECID-GSM-ProvideCapabilities ::= SEQUENCE {
+ ecid-gsm-MeasSupported BIT STRING { rxLevel (0),
+ tA (1),
+ nMR-GERAN (2),
+ non-serving (3),
+ historic (4) } (SIZE(1..8)),
+ ecid-gsm-ADSupported BIT STRING { bslist (0),
+ bslocation (1),
+ transmit-power (2),
+ antenna-gain (3),
+ beam-width (4),
+ transmit-direction (5),
+ frequency-accuracy (6),
+ non-serving (7) } (SIZE(1..16)),
+ ...
+}
+
+
+OMA-LPPe-ECID-GSM-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-ECID-GSM-Error ::= CHOICE {
+ locationServerErrorCauses OMA-LPPe-ECID-GSM-LocationServerErrorCauses,
+ targetDeviceErrorCauses OMA-LPPe-ECID-GSM-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-ECID-GSM-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ requestedADNotAvailable,
+ notAllrequestedADAvailable,
+ ...
+ },
+ mandatoryDataUnavailable NULL OPTIONAL,
+ bsLocationsUnavailable NULL OPTIONAL,
+ cellTransmitPowerUnavailable NULL OPTIONAL,
+ callAntennaGainUnavailable NULL OPTIONAL,
+ cellBeamWidthUnavailable NULL OPTIONAL,
+ cellTransmitDirectionUnavailable NULL OPTIONAL,
+ cellFrequencyAccuracyUnavailable NULL OPTIONAL,
+ nonservingADUnavailable NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ECID-GSM-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ requestedMeasurementsNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ ...
+ },
+ rxLevelMeasurementNotPossible NULL OPTIONAL,
+ taMeasurementNotPossible NULL OPTIONAL,
+ nMRMeasurementNotPossible NULL OPTIONAL,
+ non-servingMeasurementsNotAvailable NULL OPTIONAL,
+ historicMeasurementsNotAvailable NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ECID-UTRA-ProvideAssistanceData ::= SEQUENCE {
+ ecid-UTRA-NetworkData SEQUENCE (SIZE (1..maxUTRANetworks))
+ OF OMA-LPPe-ECID-UTRA-NetworkData OPTIONAL,
+ ecid-UTRA-Error OMA-LPPe-ECID-UTRA-Error OPTIONAL,
+ ...
+}
+
+maxUTRANetworks INTEGER ::= 8
+
+
+OMA-LPPe-ECID-UTRA-NetworkData ::= SEQUENCE {
+ plmn-Identity SEQUENCE {
+ mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
+ mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9)
+ },
+ multiple-PLMNs BOOLEAN,
+ reference-location OMA-LPPe-ReferencePoint OPTIONAL, --Cond nodeBlocations
+ ecid-utra-nodeB-list SEQUENCE (SIZE (1..maxUTRAnodeBs))
+ OF OMA-LPPe-ECID-UTRA-NodeBData OPTIONAL,
+ ecid-utra-HNB-list SEQUENCE (SIZE (1..maxUTRAHNBs)) OF OMA-LPPe-ECID-UTRA-HNBData OPTIONAL,
+ ...
+}
+
+maxUTRAnodeBs INTEGER ::= 32
+
+maxUTRAHNBs INTEGER ::= 128
+
+
+OMA-LPPe-ECID-UTRA-NodeBData ::= SEQUENCE {
+ relative-location OMA-LPPe-RelativeLocation OPTIONAL,
+ ecid-utra-nodeB-CellData SEQUENCE (SIZE (1..maxUTRAMacroCells)) OF
+ OMA-LPPe-ECID-UTRA-CellData,
+ ...
+}
+
+maxUTRAMacroCells INTEGER ::= 8
+
+
+OMA-LPPe-ECID-UTRA-HNBData ::= SEQUENCE {
+ relative-location OMA-LPPe-RelativeLocation OPTIONAL,
+ location-reliability INTEGER (1..100) OPTIONAL,
+ coverageArea OMA-LPPe-WLANFemtoCoverageArea OPTIONAL,
+ ecid-utra-HNB-CellData OMA-LPPe-ECID-UTRA-CellData,
+ ...
+}
+
+
+OMA-LPPe-ECID-UTRA-CellData ::= SEQUENCE {
+ cellIdentity BIT STRING (SIZE (32)) OPTIONAL, --Cond AtLeastOne
+ modeSpecificInfo CHOICE {
+ fdd
+ SEQUENCE {
+ primaryCPICH-Scrambling-Code OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode,
+ primaryCPICH-Tx-Power INTEGER (-127..128) OPTIONAL,
+ uarfcn-dl ARFCN-ValueUTRA,
+ ...
+ },
+ tdd
+ SEQUENCE {
+ cellParametersID OMA-LPPe-OTDOA-UTRA-CellParametersID,
+ primaryCCPCH-Tx-Power INTEGER (-127..128) OPTIONAL,
+ uarfcn-nt ARFCN-ValueUTRA,
+ ...
+ }
+ } OPTIONAL, --Cond AtLeastOne
+ antenna-gain INTEGER (-127..128) OPTIONAL,
+ beam-width INTEGER (1..360) OPTIONAL,
+ transmit-direction INTEGER (0..360) OPTIONAL,
+ frequency-accuracy INTEGER (0..100) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ECID-UTRA-RequestAssistanceData ::= SEQUENCE {
+ nBrequestedAD BIT STRING { bslist (0),
+ bslocation (1),
+ transmit-power (2),
+ antenna-gain (3),
+ beam-width (4),
+ transmit-direction (5),
+ frequency-accuracy (6),
+ non-serving (7) } (SIZE(1..16)) OPTIONAL,
+ hNBrequestedAD BIT STRING { bslist (0),
+ bslocation (1),
+ locationreliability (2),
+ transmit-power (3),
+ frequency-accuracy (4),
+ coveragearea (5),
+ non-serving (6) } (SIZE(1..16)) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ECID-UTRA-ProvideLocationInformation ::= SEQUENCE {
+ ecid-UTRA-CombinedLocationInformation SEQUENCE (SIZE (1..maxECIDUTRASize))
+ OF OMA-LPPe-ECID-UTRA-LocationInformationList OPTIONAL,
+ ecid-Error OMA-LPPe-ECID-UTRA-Error OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ECID-UTRA-LocationInformationList ::= SEQUENCE {
+ ecid-utra-LocationInformation OMA-LPPe-ECID-UTRA-LocationInformation,
+ relativeTimeStamp INTEGER (0..65535) OPTIONAL,
+ servingFlag BOOLEAN,
+ ...
+}
+
+maxECIDUTRASize INTEGER ::= 64
+
+
+OMA-LPPe-ECID-UTRA-LocationInformation ::= SEQUENCE {
+ cellGlobalIdUTRA CellGlobalIdEUTRA-AndUTRA,
+ frequencyInfo OMA-LPPe-UTRA-FrequencyInfo OPTIONAL,
+ primaryScramblingCode OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode OPTIONAL, --Cond FDD
+ measuredResultsList OMA-LPPe-ECID-UTRA-MeasuredResultsList OPTIONAL,
+ cellParametersId OMA-LPPe-OTDOA-UTRA-CellParametersID OPTIONAL, --Cond TDD
+ utratimingAdvance OMA-LPPe-ECID-UTRA-UTRATimingAdvance OPTIONAL, --Cond TDD
+ ...
+}
+
+OMA-LPPe-ECID-UTRA-UTRATimingAdvance ::= SEQUENCE {
+ tA INTEGER (0..8191),
+ tAResolution OMA-LPPe-ECID-UTRA-TAResolution OPTIONAL,
+ chipRate OMA-LPPe-ECID-UTRA-ChipRate OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ECID-UTRA-TAResolution ::= ENUMERATED {
+ res1-0chip,
+ res0-5chip,
+ res0-125chip,
+ ...
+}
+
+OMA-LPPe-ECID-UTRA-ChipRate ::= ENUMERATED {
+ tdd128,
+ tdd384,
+ tdd768,
+ ...
+}
+
+
+OMA-LPPe-UTRA-FrequencyInfo ::= SEQUENCE {
+ modeSpecificInfo OMA-LPPe-UTRA-ModeSpecificInfo,
+ ...
+}
+
+OMA-LPPe-UTRA-ModeSpecificInfo ::= CHOICE {
+ fdd OMA-LPPe-UTRA-FrequencyInfoFDD,
+ tdd OMA-LPPe-UTRA-FrequencyInfoTDD,
+ ...
+}
+
+OMA-LPPe-UTRA-FrequencyInfoFDD ::= SEQUENCE {
+ uarfcn-UL ARFCN-ValueUTRA OPTIONAL,
+ uarfcn-DL ARFCN-ValueUTRA,
+ ...}
+
+OMA-LPPe-UTRA-FrequencyInfoTDD ::= SEQUENCE {
+ uarfcn-Nt ARFCN-ValueUTRA,
+ ...
+}
+
+OMA-LPPe-ECID-UTRA-MeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ OMA-LPPe-ECID-UTRA-MeasuredResults
+
+OMA-LPPe-ECID-UTRA-MeasuredResults ::= SEQUENCE {
+ frequencyInfo OMA-LPPe-UTRA-FrequencyInfo,
+ utra-CarrierRSSI OMA-LPPe-ECID-UTRA-CarrierRSSI OPTIONAL,
+ cellMeasuredResultsList OMA-LPPe-ECID-UTRA-CellMeasuredResultsList OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ECID-UTRA-CellMeasuredResultsList ::= SEQUENCE (SIZE (1..utra-maxCellMeas)) OF OMA-LPPe-ECID-UTRA-CellMeasuredResults
+
+OMA-LPPe-ECID-UTRA-CarrierRSSI ::= INTEGER(0..127)
+
+OMA-LPPe-ECID-UTRA-CellMeasuredResults ::= SEQUENCE {
+ cellIdentity BIT STRING (SIZE (32)) OPTIONAL,
+ modeSpecificInfo CHOICE
+ {
+ fdd
+ SEQUENCE {
+ primaryCPICH-Info OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode,
+ cpich-Ec-N0 OMA-LPPe-ECID-UTRA-CPICH-Ec-N0 OPTIONAL,
+ cpich-RSCP OMA-LPPe-ECID-UTRA-CPICH-RSCP OPTIONAL,
+ pathloss OMA-LPPe-ECID-UTRA-Pathloss OPTIONAL,
+ ...
+ },
+ tdd
+ SEQUENCE {
+ cellParametersID OMA-LPPe-OTDOA-UTRA-CellParametersID,
+ primaryCCPCH-RSCP OMA-LPPe-ECID-UTRA-PrimaryCCPCH-RSCP OPTIONAL,
+ pathloss OMA-LPPe-ECID-UTRA-Pathloss OPTIONAL,
+ ...
+ }
+ },
+ ...
+}
+
+OMA-LPPe-ECID-UTRA-PrimaryCCPCH-RSCP ::= INTEGER(0..127)
+
+OMA-LPPe-ECID-UTRA-CPICH-Ec-N0 ::= INTEGER(0..63)
+
+OMA-LPPe-ECID-UTRA-CPICH-RSCP ::= INTEGER(0..127)
+
+OMA-LPPe-ECID-UTRA-Pathloss ::= INTEGER(46..173)
+
+maxFreq INTEGER ::= 8
+
+
+OMA-LPPe-ECID-UTRA-RequestLocationInformation ::= SEQUENCE {
+ requestedMeasurements BIT STRING { measuredResultsList (0),
+ tdd-timingAdvance (1),
+ mRL-utra-CarrierRSSI (2),
+ mRL-FDD-cpich-Ec-N0 (3),
+ mRL-FDD-cpich-RSCP (4),
+ mRL-FDD-pathloss (5),
+ mRL-TDD-primaryCCPCH-RSCP (6),
+ mRL-TDD-pathloss (7),
+ non-serving (8),
+ historic (9) } (SIZE(1..16)),
+ ...
+}
+
+
+OMA-LPPe-ECID-UTRA-ProvideCapabilities ::= SEQUENCE {
+ ecid-utra-MeasSupported BIT STRING { measuredResultsList (0),
+ tdd-timingAdvance (1),
+ mRL-utra-CarrierRSSI (2),
+ mRL-FDD-cpich-Ec-N0 (3),
+ mRL-FDD-cpich-RSCP (4),
+ mRL-FDD-pathloss (5),
+ mRL-TDD-primaryCCPCH-RSCP (6),
+ mRL-TDD-pathloss (7),
+ non-serving (8),
+ historic (9) } (SIZE(1..16)),
+ ecid-utra-nodeB-ADSupported BIT STRING { bslist (0),
+ bslocation (1),
+ transmit-power (2),
+ antenna-gain (3),
+ beam-width (4),
+ transmit-direction (5),
+ frequency-accuracy (6),
+ non-serving (7) } (SIZE(1..16)),
+ ecid-utra-HNB-ADSupported BIT STRING { bslist (0),
+ bslocation (1),
+ locationreliability (2),
+ transmit-power (3),
+ frequency-accuracy (4),
+ coveragearea (5),
+ non-serving (6) } (SIZE(1..16)),
+ ...
+}
+
+
+OMA-LPPe-ECID-UTRA-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-ECID-UTRA-Error ::= CHOICE {
+ locationServerErrorCauses OMA-LPPe-ECID-UTRA-LocationServerErrorCauses,
+ targetDeviceErrorCauses OMA-LPPe-ECID-UTRA-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-ECID-UTRA-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ requestedADNotAvailable,
+ notAllrequestedADAvailable,
+ ...
+ },
+ nodeBMandatoryDataUnavailable NULL OPTIONAL,
+ nodeBLocationUnavailable NULL OPTIONAL,
+ nodeBcellTransmitPowerUnavailable NULL OPTIONAL,
+ nodeBcallAntennaGainUnavailable NULL OPTIONAL,
+ nodeBcellBeamWidthUnavailable NULL OPTIONAL,
+ nodeBcellTransmitDirectionUnavailable NULL OPTIONAL,
+ nodeBcellFrequencyAccuracyUnavailable NULL OPTIONAL,
+ nodeBnonservingADUnavailable NULL OPTIONAL,
+ hNBMandatoryDataUnavailable NULL OPTIONAL,
+ hNBLocationUnavailable NULL OPTIONAL,
+ hNBLocationReliabilityUnavailable NULL OPTIONAL,
+ hNBcellTransmitPowerUnavailable NULL OPTIONAL,
+ hNBcellFrequencyAccuracyUnavailable NULL OPTIONAL,
+ hNBCoverageAreaUnavailable NULL OPTIONAL,
+ hNBnonservingADUnavailable NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-ECID-UTRA-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ requestedMeasurementsNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ ...
+ },
+ mRLMeasurementsNotPossible NULL OPTIONAL,
+ tdd-timingAdvanceMeasurementNotPossible NULL OPTIONAL,
+ mRL-utra-CarrierRSSIMeasurementNotPossible NULL OPTIONAL,
+ mRL-FDD-cpich-Ec-N0MeasurementNotPossible NULL OPTIONAL,
+ mRL-FDD-cpich-RSCPMeasurementNotPossible NULL OPTIONAL,
+ mRL-FDD-pathlossMeasurementNotPossible NULL OPTIONAL,
+ mRL-TDD-primaryCCPCH-RSCPMeasurementNotPossible NULL OPTIONAL,
+ mRL-TDD-pathlossMeasurementNotPossible NULL OPTIONAL,
+ non-servingMeasurementsNotAvailable NULL OPTIONAL,
+ historicMeasurementsNotAvailable NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-WLAN-AP-ProvideAssistanceData ::= SEQUENCE {
+ wlan-DataSet SEQUENCE (SIZE (1..maxWLANDataSets)) OF OMA-LPPe-WLAN-DataSet OPTIONAL,
+ wlan-AP-Error OMA-LPPe-WLAN-AP-Error OPTIONAL,
+ ...
+}
+
+maxWLANDataSets INTEGER ::= 8
+
+
+OMA-LPPe-WLAN-DataSet ::= SEQUENCE {
+ plmn-Identity SEQUENCE {
+ mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
+ mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9)
+ } OPTIONAL,
+ reference-point OMA-LPPe-ReferencePoint OPTIONAL, --Cond APlocations
+ supported-channels-11a Supported-Channels-11a OPTIONAL,
+ supported-channels-11bg Supported-Channels-11bg OPTIONAL,
+ wlan-ap-list SEQUENCE (SIZE (1..maxWLANAPs)) OF OMA-LPPe-WLAN-AP-Data,
+ ...
+}
+
+maxWLANAPs INTEGER ::= 128
+
+Supported-Channels-11a ::= SEQUENCE {
+ ch34 BOOLEAN,
+ ch36 BOOLEAN,
+ ch38 BOOLEAN,
+ ch40 BOOLEAN,
+ ch42 BOOLEAN,
+ ch44 BOOLEAN,
+ ch46 BOOLEAN,
+ ch48 BOOLEAN,
+ ch52 BOOLEAN,
+ ch56 BOOLEAN,
+ ch60 BOOLEAN,
+ ch64 BOOLEAN,
+ ch149 BOOLEAN,
+ ch153 BOOLEAN,
+ ch157 BOOLEAN,
+ ch161 BOOLEAN
+}
+
+Supported-Channels-11bg ::= SEQUENCE {
+ ch1 BOOLEAN,
+ ch2 BOOLEAN,
+ ch3 BOOLEAN,
+ ch4 BOOLEAN,
+ ch5 BOOLEAN,
+ ch6 BOOLEAN,
+ ch7 BOOLEAN,
+ ch8 BOOLEAN,
+ ch9 BOOLEAN,
+ ch10 BOOLEAN,
+ ch11 BOOLEAN,
+ ch12 BOOLEAN,
+ ch13 BOOLEAN,
+ ch14 BOOLEAN
+}
+
+
+OMA-LPPe-WLAN-AP-Data ::= SEQUENCE {
+ wlan-ap-id OMA-LPPe-WLAN-AP-ID,
+ relative-location OMA-LPPe-RelativeLocation OPTIONAL,
+ location-reliability INTEGER (1..100) OPTIONAL,
+ wlan-ap-Type-Data SEQUENCE (SIZE (1..maxWLANTypes)) OF OMA-LPPe-WLAN-AP-Type-Data,
+ coverageArea OMA-LPPe-WLANFemtoCoverageArea OPTIONAL, --Cond oneonly
+ ...
+}
+
+maxWLANTypes INTEGER ::= 5
+
+
+OMA-LPPe-WLAN-AP-Type-Data ::= SEQUENCE {
+ wlan-AP-Type OMA-LPPe-WLAN-AP-Type,
+ transmit-power INTEGER (-127..128) OPTIONAL,
+ antenna-gain INTEGER (-127..128) OPTIONAL,
+ coverageArea OMA-LPPe-WLANFemtoCoverageArea OPTIONAL, --Cond oneonly
+ ...
+}
+
+
+OMA-LPPe-WLAN-AP-RequestAssistanceData ::= SEQUENCE {
+ requestedAD BIT STRING { aplist (0),
+ aplocation (1),
+ locationreliability (2),
+ transmit-power (3),
+ antenna-gain (4),
+ coveragearea (5),
+ non-serving (6) } (SIZE(1..16)),
+ requestedAPTypes OMA-LPPe-WLAN-AP-Type-List,
+ ...
+}
+
+
+OMA-LPPe-WLAN-AP-ProvideLocationInformation ::= SEQUENCE {
+ wlan-AP-CombinedLocationInformation SEQUENCE (SIZE (1..maxWLANAPSize)) OF
+ OMA-LPPe-WLAN-AP-LocationInformationList OPTIONAL,
+ wlan-AP-Error OMA-LPPe-WLAN-AP-Error OPTIONAL,
+ ...
+}
+
+OMA-LPPe-WLAN-AP-LocationInformationList ::= SEQUENCE {
+ wlan-AP-LocationInformation OMA-LPPe-WLAN-AP-LocationInformation,
+ relativeTimeStamp INTEGER (0..65535) OPTIONAL,
+ servingFlag BOOLEAN,
+ ...
+}
+
+maxWLANAPSize INTEGER ::= 64
+
+
+
+OMA-LPPe-WLAN-AP-LocationInformation ::= SEQUENCE {
+ apMACAddress OMA-LPPe-WLAN-AP-ID,
+ apSSID OCTET STRING (SIZE (1..32)) OPTIONAL,
+ apSignaltoNoise INTEGER(-127..128) OPTIONAL,
+ apDeviceType OMA-LPPe-WLAN-AP-Type OPTIONAL,
+ apPHYtype OMA-LPPe-WLAN-AP-PHY-Type OPTIONAL,
+ apSignalStrength INTEGER(-127..128) OPTIONAL,
+ apChannelFrequency INTEGER(0..256) OPTIONAL,
+ apRoundTripDelay OMA-LPPe-WLAN-RTD OPTIONAL,
+ ueTransmitPower INTEGER(-127..128) OPTIONAL,
+ ueAntennaGain INTEGER (-127..128) OPTIONAL,
+ apReportedLocation OMA-LPPe-WLAN-ReportedLocation OPTIONAL,
+ ...,
+ apTransmitPower INTEGER (-127..128) OPTIONAL,
+ apAntennaGain INTEGER (-127..128) OPTIONAL,
+ ueSignaltoNoise INTEGER (-127..128) OPTIONAL,
+ ueSignalStrength INTEGER (-127..128) OPTIONAL,
+ apSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- Cond APSSDelta
+ ueSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- Cond UESSDelta
+ apSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- Cond APSNDelta
+ ueSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- Cond UESNDelta
+ operatingClass INTEGER (0..255) OPTIONAL,
+ ueMacAddress BIT STRING (SIZE (48)) OPTIONAL
+}
+
+OMA-LPPe-WLAN-AP-PHY-Type ::= ENUMERATED { unknown, any, fhss, dsss, irbaseband, ofdm, hrdsss, erp,
+ ht, ihv, ... }
+
+OMA-LPPe-WLAN-RTD ::= SEQUENCE {
+ rTDValue INTEGER(0..16777215),
+ rTDUnits OMA-LPPe-WLAN-RTDUnits,
+ rTDAccuracy INTEGER(0..255) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-WLAN-RTDUnits ::= ENUMERATED {
+ microseconds,
+ hundredsofnanoseconds,
+ tensofnanoseconds,
+ nanoseconds,
+ tenthsofnanoseconds,
+ ...
+}
+
+OMA-LPPe-WLAN-ReportedLocation ::= SEQUENCE {
+
+ locationDataLCI OMA-LPPe-WLAN-LocationDataLCI OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-WLAN-LocationDataLCI ::= SEQUENCE {
+ latitudeResolution BIT STRING (SIZE (6)),
+ latitude BIT STRING (SIZE (34)),
+ longitudeResolution BIT STRING (SIZE (6)),
+ longitude BIT STRING (SIZE (34)),
+ altitudeType BIT STRING (SIZE (4)),
+ altitudeResolution BIT STRING (SIZE (6)),
+ altitude BIT STRING (SIZE (30)),
+ datum BIT STRING (SIZE (8)),
+ ...
+}
+
+
+OMA-LPPe-WLAN-AP-RequestLocationInformation ::= SEQUENCE {
+ requestedMeasurements BIT STRING {
+ apSSID (0),
+ apSN (1),
+ apDevType (2),
+ apPhyType (3),
+ apRSSI (4),
+ apChanFreq (5),
+ apRTD (6),
+ ueTP (7),
+ ueAG (8),
+ apRepLoc (9),
+ non-serving (10),
+ historic (11),
+ apTP (12),
+ apAG (13),
+ ueSN (14),
+ ueRSSI (15)} (SIZE(1..16)),
+ ... ,
+ additionalRequestedMeasurements BIT STRING {
+ oc (0),
+ ueMacAddr (1)} (SIZE(1..16)) OPTIONAL
+}
+
+
+OMA-LPPe-WLAN-AP-ProvideCapabilities ::= SEQUENCE {
+ wlan-ecid-MeasSupported BIT STRING {
+ apSSID (0),
+ apSN (1),
+ apDevType (2),
+ apPhyType (3),
+ apRSSI (4),
+ apChanFreq (5),
+ apRTD (6),
+ ueTP (7),
+ ueAG (8),
+ apRepLoc (9),
+ non-serving (10),
+ historic (11),
+ apTP (12),
+ apAG (13),
+ ueSN (14),
+ ueRSSI (15)} (SIZE(1..16)),
+ wlan-types-Supported OMA-LPPe-WLAN-AP-Type-List OPTIONAL,
+ ap-Capability OMA-LPPe-WLAN-AP-Capability OPTIONAL,
+ wlan-ap-ADSupported BIT STRING {aplist (0),
+ aplocation (1),
+ locationreliability (2),
+ transmit-power (3),
+ antenna-gain (4),
+ coveragearea (5),
+ non-serving (6) } (SIZE(1..16)),
+ ...,
+ additional-wlan-ecid-MeasSupported BIT STRING {
+ oc (0),
+ ueMacAddr (1)} (SIZE(1..16)) OPTIONAL
+
+}
+
+OMA-LPPe-WLAN-AP-Capability ::= SEQUENCE {
+ apMACAddress OMA-LPPe-WLAN-AP-ID,
+ apTypes OMA-LPPe-WLAN-AP-Type-List,
+ ...
+}
+
+
+OMA-LPPe-WLAN-AP-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-WLAN-AP-Error ::= CHOICE {
+ locationServerErrorCauses OMA-LPPe-WLAN-AP-LocationServerErrorCauses,
+ targetDeviceErrorCauses OMA-LPPe-WLAN-AP-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-WLAN-AP-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED {undefined,
+ requestedADNotAvailable,
+ notAllrequestedADAvailable,
+ ...
+ },
+ apMandatoryDataUnavailable NULL OPTIONAL,
+ apLocationsUnavailable NULL OPTIONAL,
+ apLocationReliabilityUnavailable NULL OPTIONAL,
+ apTransmitPowerUnavailable NULL OPTIONAL,
+ apAntennaGainUnavailable NULL OPTIONAL,
+ apCoverageAreaUnavailable NULL OPTIONAL,
+ nonservingADUnavailable NULL OPTIONAL,
+ ...,
+ apTPNotAvailable NULL OPTIONAL,
+ apAGNotAvailable NULL OPTIONAL,
+ ueSNNotAvailable NULL OPTIONAL,
+ ueRSSINotAvailable NULL OPTIONAL,
+ ocNotAvailable NULL OPTIONAL
+}
+
+
+OMA-LPPe-WLAN-AP-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED {undefined,
+ requestedMeasurementsNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ ...
+ },
+ apSSIDnotAvailable NULL OPTIONAL,
+ apSNMeasurementNotPossible NULL OPTIONAL,
+ apDevTypeNotAvailable NULL OPTIONAL,
+ apPhyTypeNotAvailable NULL OPTIONAL,
+ apRSSIMeasurementNotPossible NULL OPTIONAL,
+ apChanFreqNotAvailable NULL OPTIONAL,
+ apRTDMeasurementNotPossible NULL OPTIONAL,
+ ueTPNotAvailable NULL OPTIONAL,
+ ueAGNotAvailable NULL OPTIONAL,
+ apRecLocNotAvailable NULL OPTIONAL,
+ non-servingMeasurementsNotAvailable NULL OPTIONAL,
+ historicMeasurementsNotAvailable NULL OPTIONAL,
+ ...,
+ apTPNotAvailable NULL OPTIONAL,
+ apAGNotAvailable NULL OPTIONAL,
+ ueSNNotAvailable NULL OPTIONAL,
+ ueRSSINotAvailable NULL OPTIONAL,
+ ocNotAvailable NULL OPTIONAL,
+ ueMACAddressNotAvailable NULL OPTIONAL
+}
+
+
+OMA-LPPe-ECID-WiMax-ProvideLocationInformation ::= SEQUENCE {
+ ecid-wimax-CombinedLocationInformation SEQUENCE (SIZE (1..maxWiMaxECIDSize)) OF
+ OMA-LPPe-ECID-WiMax-LocationInformationList OPTIONAL,
+ ecid-wimax-Error OMA-LPPe-ECID-WiMax-Error OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ECID-WiMax-LocationInformationList ::= SEQUENCE {
+ ecid-wimax-LocationInformation OMA-LPPe-ECID-WiMax-LocationInformation,
+ relativeTimeStamp INTEGER (0..65535) OPTIONAL,
+ servingFlag BOOLEAN,
+ ...
+}
+
+maxWiMaxECIDSize INTEGER ::= 1264
+
+
+
+OMA-LPPe-ECID-WiMax-LocationInformation ::= SEQUENCE {
+ wimaxBsID OMA-LPPe-ECID-WiMax-WimaxBsID,
+ wimaxRTD OMA-LPPe-ECID-WiMax-WimaxRTD OPTIONAL,
+ wimaxNMRList OMA-LPPe-ECID-WiMax-WimaxNMRList OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ECID-WiMax-WimaxBsID ::= SEQUENCE {
+ bsID-MSB BIT STRING (SIZE(24)) OPTIONAL,
+ bsID-LSB BIT STRING (SIZE(24)),
+ ...
+}
+
+OMA-LPPe-ECID-WiMax-WimaxRTD ::= SEQUENCE {
+ rTD INTEGER (0..65535),
+ rTDstd INTEGER (0..1023) OPTIONAL,
+ ...
+}
+
+OMA-LPPe-ECID-WiMax-WimaxNMRList ::= SEQUENCE (SIZE (1..maxWimaxBSMeas)) OF OMA-LPPe-ECID-WiMax-WimaxNMR
+
+OMA-LPPe-ECID-WiMax-WimaxNMR ::= SEQUENCE {
+ wimaxBsID OMA-LPPe-ECID-WiMax-WimaxBsID,
+ relDelay INTEGER (-32768..32767) OPTIONAL,
+ relDelaystd INTEGER (0..1023) OPTIONAL,
+ rSSI INTEGER (0..255) OPTIONAL,
+ rSSIstd INTEGER (0..63) OPTIONAL,
+ bSTxPower INTEGER (0..255) OPTIONAL,
+ cINR INTEGER (0..255) OPTIONAL,
+ cINRstd INTEGER (0..63) OPTIONAL,
+ bSLocation OMA-LPPe-WLAN-ReportedLocation OPTIONAL,
+ ...
+}
+
+maxWimaxBSMeas INTEGER ::= 32
+
+
+OMA-LPPe-ECID-WiMax-RequestLocationInformation ::= SEQUENCE {
+ requestedMeasurements BIT STRING { rTD (0),
+ rTDstd (1),
+ nMR (2),
+ nMRrelDelay (3),
+ nMRrelDelaystd (4),
+ nMRrSSI (5),
+ nMRrSSIstd (6),
+ nMRbSTxPower (7),
+ nMRcINR (8),
+ nMRcINRstd (9),
+ nMRbSLocation (10),
+ non-serving (11),
+ historic (12) } (SIZE(1..16)),
+ ...
+}
+
+
+OMA-LPPe-ECID-WiMax-ProvideCapabilities ::= SEQUENCE {
+ ecid-wimax-MeasSupported BIT STRING { rTD (0),
+ rTDstd (1),
+ nMR (2),
+ nMRrelDelay (3),
+ nMRrelDelaystd (4),
+ nMRrSSI (5),
+ nMRrSSIstd (6),
+ nMRbSTxPower (7),
+ nMRcINR (8),
+ nMRcINRstd (9),
+ nMRbSLocation (10),
+ non-serving (11),
+ historic (12) } (SIZE(1..16)),
+ ...
+}
+
+
+OMA-LPPe-ECID-WiMax-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-ECID-WiMax-Error ::= CHOICE {
+ locationServerErrorCauses OMA-LPPe-ECID-WiMax-LocationServerErrorCauses,
+ targetDeviceErrorCauses OMA-LPPe-ECID-WiMax-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-ECID-WiMax-LocationServerErrorCauses ::= SEQUENCE {
+ cause ENUMERATED {undefined,
+ ...
+ },
+ ...
+}
+
+
+OMA-LPPe-ECID-WiMax-TargetDeviceErrorCauses ::= SEQUENCE {
+ cause ENUMERATED { undefined,
+ requestedMeasurementsNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ ...
+ },
+ rTDMeasurementNotPossible NULL OPTIONAL,
+ rTDstdMeasurementNotPossible NULL OPTIONAL,
+ nMRMeasurementNotPossible NULL OPTIONAL,
+ nMRrelDelayMeasurementNotPossible NULL OPTIONAL,
+ nMRrelDelaystdMeasurementNotPossible NULL OPTIONAL,
+ nMRrSSIMeasurementNotPossible NULL OPTIONAL,
+ nMRrSSIstdMeasurementNotPossible NULL OPTIONAL,
+ nMRbSTxPowerMeasurementNotPossible NULL OPTIONAL,
+ nMRcINRMeasurementNotPossible NULL OPTIONAL,
+ nMRcINRstdMeasurementNotPossible NULL OPTIONAL,
+ nMRbSLocationNotAvailable NULL OPTIONAL,
+ non-servingMeasurementsNotAvailable NULL OPTIONAL,
+ historicMeasurementsNotAvailable NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-Sensor-ProvideAssistanceData ::= SEQUENCE {
+ ...,
+ atmosphericPressureAD OMA-LPPe-AtmosphericPressureAD OPTIONAL
+}
+
+
+OMA-LPPe-AtmosphericPressureAD ::= SEQUENCE {
+ referencePressure INTEGER (-20000..10000),
+ period SEQUENCE {
+ pressureValidityPeriod OMA-LPPe-ValidityPeriod,
+ referencePressureRate INTEGER (-128..127) OPTIONAL,
+ ...
+ } OPTIONAL,
+ area SEQUENCE {
+ pressureValidityArea OMA-LPPe-PressureValidityArea,
+ gN-pressure INTEGER (-128..127) OPTIONAL,
+ gE-pressure INTEGER (-128..127) OPTIONAL,
+ ...
+ } OPTIONAL,
+ ...
+}
+
+OMA-LPPe-PressureValidityArea ::= SEQUENCE {
+ centerPoint Ellipsoid-Point, -- coordinates of the center of the rectangular validity area
+ validityAreaWidth INTEGER (1..128), -- units in Kilometers
+ validityAreaHeight INTEGER (1..128), -- units in Kilometers
+ ...
+}
+
+
+
+OMA-LPPe-Sensor-RequestAssistanceData ::= SEQUENCE {
+ ...,
+ pressureSensorAD OMA-LPPe-PressureSensorAD OPTIONAL
+}
+
+
+OMA-LPPe-PressureSensorAD ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-Sensor-ProvideLocationInformation ::= SEQUENCE {
+ motionStateList OMA-LPPe-Sensor-MotionStateList OPTIONAL,
+ sensorError OMA-LPPe-Sensor-Error OPTIONAL,
+ ...,
+ atmosphericPressure OMA-LPPe-AtmosphericPressure OPTIONAL
+}
+
+
+
+OMA-LPPe-Sensor-MotionStateList ::= SEQUENCE (SIZE(1..8)) OF OMA-LPPe-Sensor-MotionStateElement
+
+OMA-LPPe-Sensor-MotionStateElement ::= SEQUENCE {
+ primaryMotionState ENUMERATED{
+ unknown,
+ stationary,
+ pedestrian,
+ running,
+ cycling,
+ car,
+ train,
+ aeroplane,
+ boat,
+ fidgeting,
+ ...
+ },
+ confidence INTEGER(0..99),
+ secondaryMotionState BIT STRING {
+ stationary (0),
+ pedestrian (1),
+ running (2),
+ cycling (3),
+ car (4),
+ train (5),
+ aeroplane (6),
+ boat (7),
+ fidgeting (8) } (SIZE(1..16)) OPTIONAL,
+ ...
+}
+
+
+
+OMA-LPPe-AtmosphericPressure ::= SEQUENCE {
+ pressureMeasurement OMA-LPPe-PressureMeasurement,
+ pressureStats PressureStats OPTIONAL,
+ calibrationPoints CalibrationPoints OPTIONAL,
+ ...}
+
+
+PressureStats ::= SEQUENCE {
+ sensorMeanPressure INTEGER (30000..115000),
+ sensorStddevPressure INTEGER (0..2000) OPTIONAL,
+ duration INTEGER (5..40),
+...}
+
+CalibrationPoints ::= SEQUENCE (SIZE (1..10)) OF SEQUENCE {
+ pressure OMA-LPPe-PressureMeasurement,
+ time UTCTime,
+ location EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
+ motionState OMA-LPPe-Sensor-MotionStateList OPTIONAL,
+ velocity Velocity OPTIONAL,
+ locationSource OMA-LPPe-LocationSource OPTIONAL,
+ ...
+}
+
+
+
+
+OMA-LPPe-PressureMeasurement ::= SEQUENCE {
+ sensorMeasurement INTEGER (30000..115000),
+ adjustment INTEGER (-5000..5000) OPTIONAL,
+ uncertainty SEQUENCE {
+ range INTEGER (0..1000),
+ confidence INTEGER (1..100)
+ } OPTIONAL,
+ temperature INTEGER (-100..150) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-Sensor-RequestLocationInformation ::= SEQUENCE {
+ motionStateReq OMA-LPPe-Sensor-MotionStateRequest OPTIONAL, --Cond MotionSateReq
+ ...,
+ atmosphericPressureReq OMA-LPPe-AtmosphericPressureRequest OPTIONAL --Cond AtmosphericPressureReq
+}
+
+
+OMA-LPPe-Sensor-MotionStateRequest ::= SEQUENCE {
+ secondaryMotionStateRequest NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-AtmosphericPressureRequest ::= SEQUENCE {
+ ...
+}
+
+
+OMA-LPPe-Sensor-ProvideCapabilities ::= SEQUENCE {
+ motionStateSupport NULL OPTIONAL, --Cond MotionStateSupport
+ secondarySupport NULL OPTIONAL, --Cond SecondarySupport
+ ...,
+ atmosphericPressureADSupport NULL OPTIONAL, --Cond AtmosphericPressureADSupport
+ atmosphericPressureSupport NULL OPTIONAL --Cond AtmosphericPressureSupport
+}
+
+
+OMA-LPPe-Sensor-RequestCapabilities ::= SEQUENCE {
+ ...
+}
+
+
+
+OMA-LPPe-Sensor-Error ::= CHOICE {
+ targetError OMA-LPPe-Sensor-TargetError,
+ ...
+}
+
+OMA-LPPe-Sensor-TargetError ::= SEQUENCE {
+ motionStateError ENUMERATED { primaryMotionStateNotAvailable,
+ primaryMotionStateNotSupported,
+ ... } OPTIONAL,
+ secondaryMotionStateError ENUMERATED { secondaryMotionStateNotAvailable,
+ secondaryMotionStateNotSupported,
+ ... } OPTIONAL,
+ ...,
+ atmosphericPressureError ENUMERATED {pressureNotAvailable, pressureNotSupported,
+ ...} OPTIONAL
+}
+
+
+OMA-LPPe-SRN-ProvideAssistanceData ::= SEQUENCE {
+ srnGroup CHOICE {
+ srnGroupList OMA-LPPe-SRN-SRNgroupList,
+ srnGroupUpdateResponse OMA-LPPe-SRN-SRNgroupUpdateResponse,
+ ...
+ } OPTIONAL,
+ antennaPattern OMA-LPPe-SRN-AntennaPattern OPTIONAL, --Cond AntennaPattReq
+ srnError OMA-LPPe-SRN-Error OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-SRNgroupList ::= SEQUENCE {
+ incompleteFlag BOOLEAN,
+ defaultReferencePoint OMA-LPPe-ReferencePoint OPTIONAL, --Cond IfNoRefPoint
+ groupList SEQUENCE (SIZE (1..64)) OF OMA-LPPe-SRN-SRNgroup,
+ ...
+ }
+
+OMA-LPPe-SRN-SRNgroup ::= SEQUENCE {
+ srnGroupID OMA-LPPe-SRN-SRNgroupUniqueID OPTIONAL,
+ defaultSRNtype OMA-LPPe-SRN-SRNtype OPTIONAL,
+ referencePoint OMA-LPPe-ReferencePoint OPTIONAL,
+ globalOrientation NULL OPTIONAL,
+ srnsInGroupList SEQUENCE (SIZE (1..1024)) OF OMA-LPPe-SRN-SRNinfo,
+ ...
+}
+
+OMA-LPPe-SRN-SRNinfo ::= SEQUENCE {
+ srnID OMA-LPPe-SRN-SRNid,
+ srnType OMA-LPPe-SRN-SRNtype OPTIONAL, --Cond NotDefaultType
+ relativePosition OMA-LPPe-RelativeLocation,
+ orientation OMA-LPPe-Orientation OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-SRNgroupUpdateResponse ::= SEQUENCE (SIZE (1..8)) OF
+ OMA-LPPe-SRN-SRNgroupUpdateResponseElement
+
+OMA-LPPe-SRN-SRNgroupUpdateResponseElement ::= SEQUENCE {
+ srnGroupID OMA-LPPe-SRN-SRNgroupUniqueID OPTIONAL,
+ targetDataValidity ENUMERATED{ targetDataValid,
+ targetDataInValidAndUpdatedDataWillBeProvided,
+ targetDataInValidButServerWillNotProvideNewData,
+ ...},
+ updatedSRNgroup OMA-LPPe-SRN-SRNgroup OPTIONAL, --Cond InvalidAndNewDataAvailable
+ ...
+}
+
+
+OMA-LPPe-SRN-AntennaPattern ::= SEQUENCE (SIZE (1..8)) OF OMA-LPPe-SRN-AntennaPatternElement
+
+OMA-LPPe-SRN-AntennaPatternElement::= SEQUENCE {
+ identification SEQUENCE {
+ vendorOrOperator OMA-LPPe-VendorOrOperatorID,
+ antennaPatternID INTEGER(0..65535), ...
+ },
+ antennaData CHOICE {
+ antennaPattern OMA-LPPe-SRN-AntennaPatternForChannels,
+ antennaContainer OCTET STRING,
+ ...
+ },
+ ...
+}
+
+
+
+OMA-LPPe-SRN-AntennaPatternForChannels ::= SEQUENCE {
+ evenGrid SEQUENCE {
+ inAzimuth INTEGER(1..200),
+ inElevation INTEGER(1..150)
+ } OPTIONAL, --Cond EvenGrid
+ patternList SEQUENCE (SIZE (1..maxChannels)) OF OMA-LPPe-SRN-ChannelResponse,
+ ...
+}
+
+OMA-LPPe-SRN-ChannelResponse ::= SEQUENCE {
+ channelNumber INTEGER(1..maxChannels),
+ responseInElevation SEQUENCE (SIZE (7..901)) OF OMA-LPPe-SRN-ResponseInElevation,
+ ...
+}
+
+OMA-LPPe-SRN-ResponseInElevation ::= SEQUENCE {
+ elevation INTEGER(0..900) OPTIONAL, --Cond NotEven
+ responseInAzimuth SEQUENCE (SIZE (18..3601)) OF OMA-LPPe-SRN-ResponseInAzimuth,
+ ...
+}
+
+OMA-LPPe-SRN-ResponseInAzimuth::= SEQUENCE {
+ azimuth INTEGER(0..3599) OPTIONAL, --Cond NotEven
+ response OMA-LPPe-ComplexNumber,
+ ...
+ }
+
+OMA-LPPe-ComplexNumber ::= SEQUENCE {
+ amplitude INTEGER(0..1000),
+ phase INTEGER(-1800..1799)
+}
+
+maxChannels INTEGER ::= 512
+
+
+OMA-LPPe-SRN-RequestAssistanceData ::= SEQUENCE {
+ srnGroup CHOICE {
+ srnGroupRequest OMA-LPPe-SRN-SRNgroupRequest,
+ srnGroupUpdateRequest OMA-LPPe-SRN-SRNgroupUpdateRequest,
+ ...
+ } OPTIONAL,
+ antennaPatternRequest OMA-LPPe-SRN-AntennaPatternRequest OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-SRNgroupRequest ::= SEQUENCE {
+ doNotProvideList OMA-LPPe-SRN-SRNProvideList OPTIONAL,
+ doProvideList OMA-LPPe-SRN-SRNProvideList OPTIONAL,
+ ...
+}
+
+OMA-LPPe-SRN-SRNProvideList ::= SEQUENCE {
+ groupList SEQUENCE (SIZE (1..256)) OF OMA-LPPe-SRN-SRNgroupUniqueID OPTIONAL,
+ categoryList SEQUENCE (SIZE (1..16)) OF OMA-LPPe-SRN-Category OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-SRNgroupUpdateRequest ::= SEQUENCE (SIZE (1..64)) OF
+ OMA-LPPe-SRN-SRNgroupUpdateRequestElement
+
+OMA-LPPe-SRN-SRNgroupUpdateRequestElement ::= SEQUENCE {
+ srnGroupID OMA-LPPe-SRN-SRNgroupUniqueID,
+ provideIndicationOnly NULL OPTIONAL,
+ inTheGroup SEQUENCE (SIZE (1..1024)) OF OMA-LPPe-SRN-SRNid OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-AntennaPatternRequest ::= SEQUENCE (SIZE (1..8)) OF
+ OMA-LPPe-SRN-AntennaPatternRequestElement
+
+OMA-LPPe-SRN-AntennaPatternRequestElement ::= SEQUENCE {
+ antennaPatternID SEQUENCE {
+ vendorOrOperator OMA-LPPe-VendorOrOperatorID,
+ antennaPatternID INTEGER(0..65535), ...
+ },
+ ...
+}
+
+
+OMA-LPPe-SRN-ProvideLocationInformation ::= SEQUENCE {
+ srnMeasurementList SEQUENCE (SIZE (1..64)) OF OMA-LPPe-SRN-MeasurementElement OPTIONAL,
+ srnError OMA-LPPe-SRN-Error OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-MeasurementElement ::= SEQUENCE {
+ srnID OMA-LPPe-SRN-SRNid,
+ srnCategory OMA-LPPe-SRN-Category OPTIONAL, --Cond IfKnown
+ srnGroupID OMA-LPPe-SRN-SRNgroupUniqueID OPTIONAL, --Cond IfKnown
+ measurementList SEQUENCE (SIZE (1..64)) OF OMA-LPPe-SRN-srnMeasurementElement OPTIONAL,
+ ...
+}
+
+OMA-LPPe-SRN-srnMeasurementElement ::= SEQUENCE {
+ relativeTimeStamp INTEGER(0..1000) OPTIONAL, --Cond IfNotFirst
+ rssi INTEGER(-128..127) OPTIONAL,
+ rtd OMA-LPPe-WLAN-RTD OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-RequestLocationInformation ::= SEQUENCE {
+ requestInfo SEQUENCE (SIZE (1..16)) OF OMA-LPPe-SRN-ReqLocInfo-Category,
+ ...
+}
+
+OMA-LPPe-SRN-ReqLocInfo-Category ::= SEQUENCE {
+ category OMA-LPPe-SRN-Category,
+ multipleMeasurements ENUMERATED{ forbidden(0),
+ allowed(1),
+ requested(2), ... } OPTIONAL,
+ allowedMeasurements OMA-LPPe-SRN-MeasurementMask OPTIONAL,
+ historicMeasurementsRequested NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-ProvideCapabilities ::= SEQUENCE {
+ capabilitiesPerSRNCategory SEQUENCE (SIZE (1..16)) OF
+ OMA-LPPe-SRN-ProvideCapabilitiesElement OPTIONAL,
+ ...
+}
+
+OMA-LPPe-SRN-ProvideCapabilitiesElement::= SEQUENCE {
+ srnCategory OMA-LPPe-SRN-Category,
+ supportedMeasurements OMA-LPPe-SRN-MeasurementMask OPTIONAL,
+ supportedAssistanceData BIT STRING {
+ srnGroup (0),
+ antennaPattern (1) } (SIZE(1..16)),
+ historicMeasurementsSupported NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-RequestCapabilities ::= SEQUENCE {
+ capabilitiesRequestedFor SEQUENCE (SIZE (1..16)) OF OMA-LPPe-SRN-Category OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-Error ::= CHOICE {
+ srnLocationServerErrorCauses OMA-LPPe-SRN-LocationServerErrorCauses,
+ srnTargetDeviceErrorCauses OMA-LPPe-SRN-TargetDeviceErrorCauses,
+ ...
+}
+
+
+OMA-LPPe-SRN-LocationServerErrorCauses ::= SEQUENCE {
+ groupErrors ENUMERATED{ undefined,
+ someGroupOrCategoryOrSRNidUnknownOrUnsupported,
+ allGroupAndCategoryOrSRNidUnknownOrUnsupported,
+ noSRNgroupsNearby,
+ ...} OPTIONAL,
+ groupUpdateErrors ENUMERATED { undefined,
+ allSRNgroupIDsUnknown,
+ allSRNgroupIDsknownButSomeSRNgroupVersionsUnknown,
+ allSRNgroupIDsknownAndAllSRNgroupVersionsUnknown,
+ someSRNgroupIDsUnknown,
+ someSRNgroupVersionsUnknownAndAllSRNGroupVersionsUnknown,
+ someSRNgroupIDsAndSomeSRNgroupVersionsUnknown,
+ inTheGroupInformationDoesNotMatchWithGroupID,
+ ...} OPTIONAL,
+ srnAntennaErrors ENUMERATED { undefined,
+ someAntennaPatternIDsUnknown,
+ allAntennaPatternIDsUnknown,
+ ... } OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-TargetDeviceErrorCauses ::= SEQUENCE {
+ srnErrorsPerCategory SEQUENCE (SIZE (1..16)) OF OMA-LPPe-SRN-TargetDeviceError,
+ ...
+}
+
+OMA-LPPe-SRN-TargetDeviceError ::= SEQUENCE {
+ category OMA-LPPe-SRN-Category,
+ srnErrors ENUMERATED{ undefined,
+ requestedMeasurementsNotAvailable,
+ notAllrequestedMeasurementsPossible,
+ categoryNotSupported,
+ ...},
+ rssiNotAvailable NULL OPTIONAL,
+ rtdNotAvailable NULL OPTIONAL,
+ multipleSetsNotAvailable NULL OPTIONAL,
+ historicMeasurementsNotAvailable NULL OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-SRNgroupUniqueID ::= SEQUENCE {
+ providerID OMA-LPPe-VendorOrOperatorID,
+ providerAssignedID OCTET STRING,
+ srnDataVersion INTEGER (0..4294967295) OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-SRNtype ::= SEQUENCE {
+ srnCategory OMA-LPPe-SRN-Category,
+ srnERP INTEGER(-300..500) OPTIONAL,
+ srnAntennaInfo SEQUENCE {
+ antennaPatternID INTEGER(0..65535),
+ switchingPatternID INTEGER(0..65535) OPTIONAL,
+ ...
+ } OPTIONAL,
+ ...
+}
+
+
+OMA-LPPe-SRN-Category ::= SEQUENCE {
+ srnTechnologyType OMA-LPPe-SRN-Technologies,
+ srnVendorInformation SEQUENCE {
+ vendor OMA-LPPe-VendorOrOperatorID,
+ vendorInfo OCTET STRING OPTIONAL,
+ ...
+ } OPTIONAL, --Cond other
+ ...
+}
+
+
+OMA-LPPe-SRN-SRNid ::= SEQUENCE {
+ srn-id CHOICE {
+ mac BIT STRING(SIZE(48)),
+ nfc SEQUENCE {
+ manufacturer BIT STRING(SIZE(8)),
+ uniqueNumber BIT STRING(SIZE(48)),
+ ...
+ },
+ mobileCode SEQUENCE {
+ registryID BIT STRING(SIZE(12)),
+ remainingPart OCTET STRING(SIZE(1..16)),
+ resolutionIdentifier OCTET STRING(SIZE(1..18)),
+ ...
+ },
+ other OCTET STRING,
+ ...
+ },
+ ...
+}
+
+
+OMA-LPPe-SRN-Technologies ::= SEQUENCE {
+ srnTechnologies ENUMERATED{ bt, btle, nfc, mobileCode, other, ... },
+ ...
+}
+
+
+OMA-LPPe-SRN-MeasurementMask ::= SEQUENCE {
+ srnMeasurements BIT STRING { rssi(0),
+ rtd (1) } (SIZE(1..16)),
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/lppe/lppe.cnf b/epan/dissectors/asn1/lppe/lppe.cnf
new file mode 100644
index 00000000..c6a6e790
--- /dev/null
+++ b/epan/dissectors/asn1/lppe/lppe.cnf
@@ -0,0 +1,49 @@
+# lppe.cnf
+# llpe conformation file
+# Copyright 2012-2018 Pascal Quantin
+
+#.OPT
+PER
+UNALIGNED
+#.END
+
+#.IMPORT ../lpp/lpp-exp.cnf
+
+#.PDU
+OMA-LPPe-MessageExtension
+#.END
+
+#.OMIT_ASSIGNMENT
+
+#.FIELD_RENAME
+OMA-LPPe-MapDataReferenceElement/mapDataUrl mapDataUrl_choice
+OMA-LPPe-WLAN-LocationDataLCI/latitude oma-LPPe-WLAN-LocationDataLCI_latitude
+OMA-LPPe-WLAN-LocationDataLCI/longitude oma-LPPe-WLAN-LocationDataLCI_longitude
+OMA-LPPe-WLAN-LocationDataLCI/altitude oma-LPPe-WLAN-LocationDataLCI_altitude
+
+#.FIELD_ATTR
+OMA-LPPe-MapDataReferenceElement/mapDataUrl ABBREV=mapDataUrl_choice
+OMA-LPPe-WLAN-LocationDataLCI/latitude ABBREV=oMA-LPPe-WLAN-LocationDataLCI.latitude
+OMA-LPPe-WLAN-LocationDataLCI/longitude ABBREV=oMA-LPPe-WLAN-LocationDataLCI.longitude
+OMA-LPPe-WLAN-LocationDataLCI/altitude ABBREV=oMA-LPPe-WLAN-LocationDataLCI.altitude
+
+#.FN_HDR OMA-LPPe-MessageExtension
+
+ proto_tree_add_item(tree, proto_lppe, tvb, 0, -1, ENC_NA);
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_PROTOCOL, "/", "LPPe");
+
+#.FN_BODY OMA-LPPe-Uri
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:/?#[]@!$&'()*+,;=-._~%%", 85,
+ NULL);
+
+#.FN_BODY OMA-LPPe-CivicLocation-pidf-lo/civicLocation VAL_PTR = &xml_tvb
+ tvbuff_t *xml_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (xml_tvb && xml_handle) {
+ proto_tree *xml_tree = proto_item_add_subtree(actx->created_item, ett_lppe_civicLocation);
+ call_dissector(xml_handle, xml_tvb, actx->pinfo, xml_tree);
+ }
+#.END
+
diff --git a/epan/dissectors/asn1/lppe/packet-lppe-template.c b/epan/dissectors/asn1/lppe/packet-lppe-template.c
new file mode 100644
index 00000000..8d8c488d
--- /dev/null
+++ b/epan/dissectors/asn1/lppe/packet-lppe-template.c
@@ -0,0 +1,90 @@
+/* packet-lppe.c
+ * Routines for LPP Extensions (LLPe) packet dissection
+ * Copyright 2012-2021, Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref Open Mobile Alliance OMA-TS-LPPe-V1_0-20200630-D
+ * https://gitlab.com/wireshark/wireshark/uploads/e1059f6dc0fc9e3b875b37a9732df39a/OMA-TS-LPPe-V1_0-20200630-D.doc
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-lpp.h"
+
+#define PNAME "LTE Positioning Protocol Extensions (LLPe)"
+#define PSNAME "LPPe"
+#define PFNAME "lppe"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+void proto_register_lppe(void);
+void proto_reg_handoff_lppe(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_lppe = -1;
+
+static dissector_handle_t xml_handle;
+
+#include "packet-lppe-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_lppe = -1;
+static gint ett_lppe_civicLocation = -1;
+#include "packet-lppe-ett.c"
+
+/* Include constants */
+#include "packet-lppe-val.h"
+
+
+#include "packet-lppe-fn.c"
+
+
+/*--- proto_register_lpp -------------------------------------------*/
+void proto_register_lppe(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-lppe-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_lppe,
+ &ett_lppe_civicLocation,
+#include "packet-lppe-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_lppe = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("lppe", dissect_OMA_LPPe_MessageExtension_PDU, proto_lppe);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_lppe, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+
+}
+
+
+/*--- proto_reg_handoff_lpp ---------------------------------------*/
+void
+proto_reg_handoff_lppe(void)
+{
+ xml_handle = find_dissector_add_dependency("xml", proto_lppe);
+}
+
+
diff --git a/epan/dissectors/asn1/lte-rrc/CMakeLists.txt b/epan/dissectors/asn1/lte-rrc/CMakeLists.txt
new file mode 100644
index 00000000..d4a56f2c
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/CMakeLists.txt
@@ -0,0 +1,43 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME lte-rrc )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ EUTRA-InterNodeDefinitions.asn
+ EUTRA-RRC-Definitions.asn
+ PC5-RRC-Definitions.asn
+ NBIOT-InterNodeDefinitions.asn
+ NBIOT-RRC-Definitions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn b/epan/dissectors/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn
new file mode 100644
index 00000000..1bb4be95
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn
@@ -0,0 +1,644 @@
+-- 3GPP TS 36.331 V17.5.0 (2023-06)
+
+EUTRA-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ AntennaInfoCommon,
+ AntennaInfoDedicated-v10i0,
+ ARFCN-ValueEUTRA,
+ ARFCN-ValueEUTRA-v9e0,
+ ARFCN-ValueEUTRA-r9,
+ CellIdentity,
+ C-RNTI,
+ DAPS-PowerCoordinationInfo-r16,
+ DL-DCCH-Message,
+ DRB-Identity,
+ DRB-ToReleaseList,
+ DRB-ToReleaseList-r15,
+ FreqBandIndicator-r11,
+ InDeviceCoexIndication-r11,
+ LWA-Config-r13,
+ MasterInformationBlock,
+ maxBands,
+ maxFreq,
+ maxDRB,
+ maxDRBExt-r15,
+ maxDRB-r15,
+ maxSCell-r10,
+ maxSCell-r13,
+ maxServCell-r10,
+ maxServCell-r13,
+ MBMSInterestIndication-r11,
+ MeasConfig,
+ MeasGapConfig,
+ MeasGapConfigPerCC-List-r14,
+ MeasResultForRSSI-r13,
+ MeasResultListWLAN-r13,
+ OtherConfig-r9,
+ PhysCellId,
+ P-Max,
+ PowerCoordinationInfo-r12,
+ SidelinkUEInformation-r12,
+
+ SL-CommConfig-r12,
+ SL-DiscConfig-r12,
+ SubframeAssignment-r15,
+ RadioResourceConfigDedicated,
+ RadioResourceConfigDedicated-v13c0,
+ RadioResourceConfigDedicated-v1370,
+ RAN-NotificationAreaInfo-r15,
+ RCLWI-Configuration-r13,
+ RSRP-Range,
+ RSRQ-Range,
+ RSRQ-Range-v1250,
+ RS-SINR-Range-r13,
+ SCellToAddModList-r10,
+ SCellToAddModList-v13c0,
+ SCellToAddModListExt-r13,
+ SCellToAddModListExt-v13c0,
+ SCG-ConfigPartSCG-r12,
+ SCG-ConfigPartSCG-v12f0,
+ SCG-ConfigPartSCG-v13c0,
+ SecurityAlgorithmConfig,
+ SCellIndex-r10,
+ SCellIndex-r13,
+ SCellToReleaseList-r10,
+ SCellToReleaseListExt-r13,
+ ServCellIndex-r10,
+ ServCellIndex-r13,
+ ShortMAC-I,
+ MeasResultServFreqListNR-r15,
+ MeasResultSSTD-r13,
+ SL-V2X-ConfigDedicated-r14,
+ SystemInformationBlockType1,
+ SystemInformationBlockType1-v890-IEs,
+ SystemInformationBlockType2,
+ TDM-PatternConfig-r15,
+ UEAssistanceInformation-r11,
+ UECapabilityInformation,
+ UE-CapabilityRAT-ContainerList,
+ UE-RadioPagingInfo-r12,
+ WLANConnectionStatusReport-r13,
+ WLAN-OffloadConfig-r12
+FROM EUTRA-RRC-Definitions;
+
+
+HandoverCommand ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ handoverCommand-r8 HandoverCommand-r8-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+HandoverCommand-r8-IEs ::= SEQUENCE {
+ handoverCommandMessage OCTET STRING (CONTAINING DL-DCCH-Message),
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+HandoverPreparationInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ handoverPreparationInformation-r8 HandoverPreparationInformation-r8-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+HandoverPreparationInformation-r8-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo UE-CapabilityRAT-ContainerList,
+ as-Config AS-Config OPTIONAL, -- Cond HO
+ rrm-Config RRM-Config OPTIONAL,
+ as-Context AS-Context OPTIONAL, -- Cond HO
+ nonCriticalExtension HandoverPreparationInformation-v920-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v920-IEs ::= SEQUENCE {
+ ue-ConfigRelease-r9 ENUMERATED {
+ rel9, rel10, rel11, rel12, v10j0, v11e0,
+ v1280, rel13, ..., rel14, rel15, rel16, rel17} OPTIONAL, -- Cond HO2
+ nonCriticalExtension HandoverPreparationInformation-v9d0-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v9d0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING (CONTAINING HandoverPreparationInformation-v9j0-IEs) OPTIONAL,
+ nonCriticalExtension HandoverPreparationInformation-v9e0-IEs OPTIONAL
+}
+
+-- Late non-critical extensions:
+HandoverPreparationInformation-v9j0-IEs ::= SEQUENCE {
+ -- Following field is only for pre REL-10 late non-critical extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension HandoverPreparationInformation-v10j0-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v10j0-IEs ::= SEQUENCE {
+ as-Config-v10j0 AS-Config-v10j0 OPTIONAL,
+ nonCriticalExtension HandoverPreparationInformation-v10x0-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v10x0-IEs ::= SEQUENCE {
+ -- Following field is only for late non-critical extensions from REL-10 to REL-12
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension HandoverPreparationInformation-v13c0-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v13c0-IEs ::= SEQUENCE {
+ as-Config-v13c0 AS-Config-v13c0 OPTIONAL,
+ -- Following field is only for late non-critical extensions from REL-13
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Regular non-critical extensions:
+HandoverPreparationInformation-v9e0-IEs ::= SEQUENCE {
+ as-Config-v9e0 AS-Config-v9e0 OPTIONAL, -- Cond HO2
+ nonCriticalExtension HandoverPreparationInformation-v1130-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1130-IEs ::= SEQUENCE {
+ as-Context-v1130 AS-Context-v1130 OPTIONAL, -- Cond HO2
+ nonCriticalExtension HandoverPreparationInformation-v1250-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1250-IEs ::= SEQUENCE {
+ ue-SupportedEARFCN-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Cond HO3
+ as-Config-v1250 AS-Config-v1250 OPTIONAL, -- Cond HO2
+ nonCriticalExtension HandoverPreparationInformation-v1320-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1320-IEs ::= SEQUENCE {
+ as-Config-v1320 AS-Config-v1320 OPTIONAL, -- Cond HO2
+ as-Context-v1320 AS-Context-v1320 OPTIONAL, -- Cond HO2
+ nonCriticalExtension HandoverPreparationInformation-v1430-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1430-IEs ::= SEQUENCE {
+ as-Config-v1430 AS-Config-v1430 OPTIONAL, -- Cond HO2
+ makeBeforeBreakReq-r14 ENUMERATED {true} OPTIONAL, -- Cond HO2
+ nonCriticalExtension HandoverPreparationInformation-v1530-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1530-IEs ::= SEQUENCE {
+ ran-NotificationAreaInfo-r15 RAN-NotificationAreaInfo-r15 OPTIONAL,
+ nonCriticalExtension HandoverPreparationInformation-v1540-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1540-IEs ::= SEQUENCE {
+ sourceRB-ConfigIntra5GC-r15 OCTET STRING OPTIONAL, --Cond HO4
+ nonCriticalExtension HandoverPreparationInformation-v1610-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1610-IEs ::= SEQUENCE {
+ as-Context-v1610 AS-Context-v1610 OPTIONAL, --Cond HO5
+ nonCriticalExtension HandoverPreparationInformation-v1620-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1620-IEs ::= SEQUENCE {
+ as-Context-v1620 AS-Context-v1620 OPTIONAL, --Cond HO2
+ nonCriticalExtension HandoverPreparationInformation-v1630-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1630-IEs ::= SEQUENCE {
+ as-Context-v1630 AS-Context-v1630 OPTIONAL, --Cond HO2
+ nonCriticalExtension HandoverPreparationInformation-v1700-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-v1700-IEs ::= SEQUENCE {
+ as-Config-v1700 AS-Config-v1700 OPTIONAL, --Cond HO5
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SCG-Config-r12 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ scg-Config-r12 SCG-Config-r12-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SCG-Config-r12-IEs ::= SEQUENCE {
+ scg-RadioConfig-r12 SCG-ConfigPartSCG-r12 OPTIONAL,
+ nonCriticalExtension SCG-Config-v12i0a-IEs OPTIONAL
+}
+
+SCG-Config-v12i0a-IEs ::= SEQUENCE {
+ -- Following field is only for late non-critical extensions from REL-12
+ lateNonCriticalExtension OCTET STRING (CONTAINING SCG-Config-v12i0b-IEs) OPTIONAL,
+ nonCriticalExtension SCG-Config-v13c0-IEs OPTIONAL
+}
+
+SCG-Config-v12i0b-IEs ::= SEQUENCE {
+ scg-RadioConfig-v12i0 SCG-ConfigPartSCG-v12f0 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+SCG-Config-v13c0-IEs ::= SEQUENCE {
+ scg-RadioConfig-v13c0 SCG-ConfigPartSCG-v13c0 OPTIONAL,
+ -- Following field is only for late non-critical extensions from REL-13 onwards
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SCG-ConfigInfo-r12 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ scg-ConfigInfo-r12 SCG-ConfigInfo-r12-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SCG-ConfigInfo-r12-IEs ::= SEQUENCE {
+ radioResourceConfigDedMCG-r12 RadioResourceConfigDedicated OPTIONAL,
+ sCellToAddModListMCG-r12 SCellToAddModList-r10 OPTIONAL,
+ measGapConfig-r12 MeasGapConfig OPTIONAL,
+ powerCoordinationInfo-r12 PowerCoordinationInfo-r12 OPTIONAL,
+ scg-RadioConfig-r12 SCG-ConfigPartSCG-r12 OPTIONAL,
+ eutra-CapabilityInfo-r12 OCTET STRING (CONTAINING UECapabilityInformation) OPTIONAL,
+ scg-ConfigRestrictInfo-r12 SCG-ConfigRestrictInfo-r12 OPTIONAL,
+ mbmsInterestIndication-r12 OCTET STRING (CONTAINING
+ MBMSInterestIndication-r11) OPTIONAL,
+ measResultServCellListSCG-r12 MeasResultServCellListSCG-r12 OPTIONAL,
+ drb-ToAddModListSCG-r12 DRB-InfoListSCG-r12 OPTIONAL,
+ drb-ToReleaseListSCG-r12 DRB-ToReleaseList OPTIONAL,
+ sCellToAddModListSCG-r12 SCellToAddModListSCG-r12 OPTIONAL,
+ sCellToReleaseListSCG-r12 SCellToReleaseList-r10 OPTIONAL,
+ p-Max-r12 P-Max OPTIONAL,
+ nonCriticalExtension SCG-ConfigInfo-v1310-IEs OPTIONAL
+}
+
+SCG-ConfigInfo-v1310-IEs ::= SEQUENCE {
+ measResultSSTD-r13 MeasResultSSTD-r13 OPTIONAL,
+ sCellToAddModListMCG-Ext-r13 SCellToAddModListExt-r13 OPTIONAL,
+ measResultServCellListSCG-Ext-r13 MeasResultServCellListSCG-Ext-r13 OPTIONAL,
+ sCellToAddModListSCG-Ext-r13 SCellToAddModListSCG-Ext-r13 OPTIONAL,
+ sCellToReleaseListSCG-Ext-r13 SCellToReleaseListExt-r13 OPTIONAL,
+ nonCriticalExtension SCG-ConfigInfo-v1330-IEs OPTIONAL
+}
+
+SCG-ConfigInfo-v1330-IEs ::= SEQUENCE {
+ measResultListRSSI-SCG-r13 MeasResultListRSSI-SCG-r13 OPTIONAL,
+ nonCriticalExtension SCG-ConfigInfo-v1430-IEs OPTIONAL
+}
+
+SCG-ConfigInfo-v1430-IEs ::= SEQUENCE {
+ makeBeforeBreakSCG-Req-r14 ENUMERATED {true} OPTIONAL,
+ measGapConfigPerCC-List MeasGapConfigPerCC-List-r14 OPTIONAL,
+ nonCriticalExtension SCG-ConfigInfo-v1530-IEs OPTIONAL
+}
+
+SCG-ConfigInfo-v1530-IEs ::= SEQUENCE {
+ drb-ToAddModListSCG-r15 DRB-InfoListSCG-r15 OPTIONAL,
+ drb-ToReleaseListSCG-r15 DRB-ToReleaseList-r15 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+DRB-InfoListSCG-r12 ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-InfoSCG-r12
+DRB-InfoListSCG-r15 ::= SEQUENCE (SIZE (1..maxDRB-r15)) OF DRB-InfoSCG-r12
+
+DRB-InfoSCG-r12 ::= SEQUENCE {
+ eps-BearerIdentity-r12 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup
+ drb-Identity-r12 DRB-Identity,
+ drb-Type-r12 ENUMERATED {split, scg} OPTIONAL, -- Cond DRB-Setup
+ ...
+}
+
+SCellToAddModListSCG-r12 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF Cell-ToAddMod-r12
+
+SCellToAddModListSCG-Ext-r13 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF Cell-ToAddMod-r12
+
+Cell-ToAddMod-r12 ::= SEQUENCE {
+ sCellIndex-r12 SCellIndex-r10,
+ cellIdentification-r12 SEQUENCE {
+ physCellId-r12 PhysCellId,
+ dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9
+ } OPTIONAL, -- Cond SCellAdd
+ measResultCellToAdd-r12 SEQUENCE {
+ rsrpResult-r12 RSRP-Range,
+ rsrqResult-r12 RSRQ-Range
+ } OPTIONAL, -- Cond SCellAdd2
+ ...,
+ [[ sCellIndex-r13 SCellIndex-r13 OPTIONAL,
+ measResultCellToAdd-v1310 SEQUENCE {
+ rs-sinr-Result-r13 RS-SINR-Range-r13
+ } OPTIONAL -- Cond SCellAdd2
+ ]]
+}
+
+MeasResultServCellListSCG-r12 ::= SEQUENCE (SIZE (1..maxServCell-r10)) OF MeasResultServCellSCG-r12
+
+MeasResultServCellListSCG-Ext-r13 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasResultServCellSCG-r12
+
+MeasResultServCellSCG-r12 ::= SEQUENCE {
+ servCellId-r12 ServCellIndex-r10,
+ measResultSCell-r12 SEQUENCE {
+ rsrpResultSCell-r12 RSRP-Range,
+ rsrqResultSCell-r12 RSRQ-Range
+ },
+ ...,
+ [[ servCellId-r13 ServCellIndex-r13 OPTIONAL,
+ measResultSCell-v1310 SEQUENCE {
+ rs-sinr-ResultSCell-r13 RS-SINR-Range-r13
+ } OPTIONAL
+ ]]
+}
+
+MeasResultListRSSI-SCG-r13 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasResultRSSI-SCG-r13
+
+MeasResultRSSI-SCG-r13 ::= SEQUENCE {
+ servCellId-r13 ServCellIndex-r13,
+ measResultForRSSI-r13 MeasResultForRSSI-r13
+}
+
+SCG-ConfigRestrictInfo-r12 ::= SEQUENCE {
+ maxSCH-TB-BitsDL-r12 INTEGER (1..100),
+ maxSCH-TB-BitsUL-r12 INTEGER (1..100)
+}
+
+
+UEPagingCoverageInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ uePagingCoverageInformation-r13 UEPagingCoverageInformation-r13-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEPagingCoverageInformation-r13-IEs ::= SEQUENCE {
+ mpdcch-NumRepetition-r13 INTEGER (1..256) OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UERadioAccessCapabilityInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ ueRadioAccessCapabilityInformation-r8
+ UERadioAccessCapabilityInformation-r8-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UERadioAccessCapabilityInformation-r8-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo OCTET STRING (CONTAINING UECapabilityInformation),
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UERadioPagingInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ ueRadioPagingInformation-r12 UERadioPagingInformation-r12-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UERadioPagingInformation-r12-IEs ::= SEQUENCE {
+ ue-RadioPagingInfo-r12 OCTET STRING (CONTAINING UE-RadioPagingInfo-r12),
+ nonCriticalExtension UERadioPagingInformation-v1310-IEs OPTIONAL
+}
+
+UERadioPagingInformation-v1310-IEs ::= SEQUENCE {
+ supportedBandListEUTRAForPaging-r13 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicator-r11 OPTIONAL,
+ nonCriticalExtension UERadioPagingInformation-v1610-IEs OPTIONAL
+
+}
+
+UERadioPagingInformation-v1610-IEs ::= SEQUENCE {
+ accessStratumRelease-r16 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+AS-Config ::= SEQUENCE {
+ sourceMeasConfig MeasConfig,
+ sourceRadioResourceConfig RadioResourceConfigDedicated,
+ sourceSecurityAlgorithmConfig SecurityAlgorithmConfig,
+ sourceUE-Identity C-RNTI,
+ sourceMasterInformationBlock MasterInformationBlock,
+ sourceSystemInformationBlockType1 SystemInformationBlockType1(WITH COMPONENTS
+ {..., nonCriticalExtension ABSENT}),
+ sourceSystemInformationBlockType2 SystemInformationBlockType2,
+ antennaInfoCommon AntennaInfoCommon,
+ sourceDl-CarrierFreq ARFCN-ValueEUTRA,
+ ...,
+ [[ sourceSystemInformationBlockType1Ext OCTET STRING (CONTAINING
+ SystemInformationBlockType1-v890-IEs) OPTIONAL,
+ sourceOtherConfig-r9 OtherConfig-r9
+ -- sourceOtherConfig-r9 should have been optional. A target eNB compliant with this transfer
+ -- syntax should support receiving an AS-Config not including this extension addition group
+ -- e.g. from a legacy source eNB
+ ]],
+ [[ sourceSCellConfigList-r10 SCellToAddModList-r10 OPTIONAL
+ ]],
+ [[ sourceConfigSCG-r12 SCG-Config-r12 OPTIONAL
+ ]],
+ [[ as-ConfigNR-r15 AS-ConfigNR-r15 OPTIONAL
+ ]],
+ [[ as-Config-v1550 AS-Config-v1550 OPTIONAL
+ ]],
+ [[ as-ConfigNR-v1570 AS-ConfigNR-v1570 OPTIONAL
+ ]],
+ [[ as-ConfigNR-v1620 AS-ConfigNR-v1620 OPTIONAL
+ ]]
+}
+
+AS-Config-v9e0 ::= SEQUENCE {
+ sourceDl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0
+}
+
+AS-Config-v10j0 ::= SEQUENCE {
+ antennaInfoDedicatedPCell-v10i0 AntennaInfoDedicated-v10i0 OPTIONAL
+}
+
+AS-Config-v1250 ::= SEQUENCE {
+ sourceWlan-OffloadConfig-r12 WLAN-OffloadConfig-r12 OPTIONAL,
+ sourceSL-CommConfig-r12 SL-CommConfig-r12 OPTIONAL,
+ sourceSL-DiscConfig-r12 SL-DiscConfig-r12 OPTIONAL
+}
+
+AS-Config-v1320 ::= SEQUENCE {
+ sourceSCellConfigList-r13 SCellToAddModListExt-r13 OPTIONAL,
+ sourceRCLWI-Configuration-r13 RCLWI-Configuration-r13 OPTIONAL
+}
+
+AS-Config-v13c0 ::= SEQUENCE {
+ radioResourceConfigDedicated-v13c01 RadioResourceConfigDedicated-v1370 OPTIONAL,
+ radioResourceConfigDedicated-v13c02 RadioResourceConfigDedicated-v13c0 OPTIONAL,
+ sCellToAddModList-v13c0 SCellToAddModList-v13c0 OPTIONAL,
+ sCellToAddModListExt-v13c0 SCellToAddModListExt-v13c0 OPTIONAL
+}
+
+AS-Config-v1430 ::= SEQUENCE {
+ sourceSL-V2X-CommConfig-r14 SL-V2X-ConfigDedicated-r14 OPTIONAL,
+ sourceLWA-Config-r14 LWA-Config-r13 OPTIONAL,
+ sourceWLAN-MeasResult-r14 MeasResultListWLAN-r13 OPTIONAL
+}
+
+AS-ConfigNR-r15 ::= SEQUENCE {
+ sourceRB-ConfigNR-r15 OCTET STRING OPTIONAL,
+ sourceRB-ConfigSN-NR-r15 OCTET STRING OPTIONAL,
+ sourceOtherConfigSN-NR-r15 OCTET STRING OPTIONAL
+}
+
+AS-ConfigNR-v1570 ::= SEQUENCE {
+ sourceSCG-ConfiguredNR-r15 ENUMERATED {true}
+}
+
+AS-Config-v1550 ::= SEQUENCE {
+ tdm-PatternConfig-r15 SEQUENCE {
+ subframeAssignment-r15 SubframeAssignment-r15,
+ harq-Offset-r15 INTEGER (0.. 9)
+ } OPTIONAL,
+ p-MaxEUTRA-r15 P-Max OPTIONAL
+}
+
+AS-ConfigNR-v1620 ::= SEQUENCE {
+ tdm-PatternConfig2-r16 TDM-PatternConfig-r15
+}
+
+AS-Config-v1700 ::= SEQUENCE {
+ scg-State-r17 ENUMERATED { deactivated } OPTIONAL
+}
+
+
+AS-Context ::= SEQUENCE {
+ reestablishmentInfo ReestablishmentInfo OPTIONAL -- Cond HO
+}
+
+AS-Context-v1130 ::= SEQUENCE {
+ idc-Indication-r11 OCTET STRING (CONTAINING
+ InDeviceCoexIndication-r11) OPTIONAL, -- Cond HO2
+ mbmsInterestIndication-r11 OCTET STRING (CONTAINING
+ MBMSInterestIndication-r11) OPTIONAL, -- Cond HO2
+ ueAssistanceInformation-r11 OCTET STRING (CONTAINING
+ UEAssistanceInformation-r11) OPTIONAL, -- Cond HO2
+ ...,
+ [[ sidelinkUEInformation-r12 OCTET STRING (CONTAINING
+ SidelinkUEInformation-r12) OPTIONAL -- Cond HO2
+ ]],
+ [[ sourceContextEN-DC-r15 OCTET STRING OPTIONAL -- Cond HO2
+ ]],
+ [[ selectedbandCombinationInfoEN-DC-v1540 OCTET STRING OPTIONAL -- Cond HO2
+ ]]
+}
+
+AS-Context-v1320 ::= SEQUENCE {
+ wlanConnectionStatusReport-r13 OCTET STRING (CONTAINING
+ WLANConnectionStatusReport-r13) OPTIONAL -- Cond HO2
+}
+
+AS-Context-v1610 ::= SEQUENCE {
+ sidelinkUEInformationNR-r16 OCTET STRING OPTIONAL, -- Cond HO3
+ ueAssistanceInformationNR-r16 OCTET STRING OPTIONAL, -- Cond HO3
+ configRestrictInfoDAPS-r16 ConfigRestrictInfoDAPS-r16 OPTIONAL -- Cond HO2
+}
+
+AS-Context-v1620 ::= SEQUENCE {
+ ueAssistanceInformationNR-SCG-r16 OCTET STRING OPTIONAL -- Cond HO2
+}
+
+AS-Context-v1630 ::= SEQUENCE {
+ configRestrictInfoDAPS-v1630 ConfigRestrictInfoDAPS-v1630 OPTIONAL -- Cond HO2
+}
+
+ConfigRestrictInfoDAPS-r16 ::= SEQUENCE {
+ maxSCH-TB-BitsDL-r16 INTEGER (1..100) OPTIONAL, -- Cond HO2
+ maxSCH-TB-BitsUL-r16 INTEGER (1..100) OPTIONAL -- Cond HO2
+}
+
+ConfigRestrictInfoDAPS-v1630 ::= SEQUENCE {
+ daps-PowerCoordinationInfo-r16 DAPS-PowerCoordinationInfo-r16 OPTIONAL -- Cond HO2
+}
+
+
+ReestablishmentInfo ::= SEQUENCE {
+ sourcePhysCellId PhysCellId,
+ targetCellShortMAC-I ShortMAC-I,
+ additionalReestabInfoList AdditionalReestabInfoList OPTIONAL,
+ ...
+}
+
+AdditionalReestabInfoList ::= SEQUENCE ( SIZE (1..maxReestabInfo) ) OF AdditionalReestabInfo
+
+AdditionalReestabInfo ::= SEQUENCE{
+ cellIdentity CellIdentity,
+ key-eNodeB-Star Key-eNodeB-Star,
+ shortMAC-I ShortMAC-I
+}
+
+Key-eNodeB-Star ::= BIT STRING (SIZE (256))
+
+
+RRM-Config ::= SEQUENCE {
+ ue-InactiveTime ENUMERATED {
+ s1, s2, s3, s5, s7, s10, s15, s20,
+ s25, s30, s40, s50, min1, min1s20c, min1s40,
+ min2, min2s30, min3, min3s30, min4, min5, min6,
+ min7, min8, min9, min10, min12, min14, min17, min20,
+ min24, min28, min33, min38, min44, min50, hr1,
+ hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
+ hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
+ day2hr12, day3, day4, day5, day7, day10, day14, day19,
+ day24, day30, dayMoreThan30} OPTIONAL,
+ ...,
+ [[ candidateCellInfoList-r10 CandidateCellInfoList-r10 OPTIONAL
+ ]],
+ [[ candidateCellInfoListNR-r15 MeasResultServFreqListNR-r15 OPTIONAL
+ ]]
+}
+
+CandidateCellInfoList-r10 ::= SEQUENCE (SIZE (1..maxFreq)) OF CandidateCellInfo-r10
+
+CandidateCellInfo-r10 ::= SEQUENCE {
+ -- cellIdentification
+ physCellId-r10 PhysCellId,
+ dl-CarrierFreq-r10 ARFCN-ValueEUTRA,
+ -- available measurement results
+ rsrpResult-r10 RSRP-Range OPTIONAL,
+ rsrqResult-r10 RSRQ-Range OPTIONAL,
+ ...,
+ [[ dl-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL
+ ]],
+ [[ rsrqResult-v1250 RSRQ-Range-v1250 OPTIONAL
+ ]],
+ [[ rs-sinr-Result-r13 RS-SINR-Range-r13 OPTIONAL
+ ]]
+}
+
+
+maxReestabInfo INTEGER ::= 32 -- Maximum number of KeNB* and shortMAC-I forwarded
+ -- at handover for re-establishment preparation
+
+
+END
diff --git a/epan/dissectors/asn1/lte-rrc/EUTRA-RRC-Definitions.asn b/epan/dissectors/asn1/lte-rrc/EUTRA-RRC-Definitions.asn
new file mode 100644
index 00000000..dbb01f78
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/EUTRA-RRC-Definitions.asn
@@ -0,0 +1,16921 @@
+-- 3GPP TS 36.331 V17.5.0 (2023-06)
+
+EUTRA-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+
+BCCH-BCH-Message ::= SEQUENCE {
+ message BCCH-BCH-MessageType
+}
+
+BCCH-BCH-MessageType ::= MasterInformationBlock
+
+
+BCCH-BCH-Message-MBMS::= SEQUENCE {
+ message BCCH-BCH-MessageType-MBMS-r14
+}
+
+BCCH-BCH-MessageType-MBMS-r14 ::= MasterInformationBlock-MBMS-r14
+
+
+BCCH-DL-SCH-Message ::= SEQUENCE {
+ message BCCH-DL-SCH-MessageType
+}
+
+BCCH-DL-SCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ systemInformation SystemInformation,
+ systemInformationBlockType1 SystemInformationBlockType1
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+BCCH-DL-SCH-Message-BR ::= SEQUENCE {
+ message BCCH-DL-SCH-MessageType-BR-r13
+}
+
+BCCH-DL-SCH-MessageType-BR-r13 ::= CHOICE {
+ c1 CHOICE {
+ systemInformation-BR-r13 SystemInformation-BR-r13,
+ systemInformationBlockType1-BR-r13 SystemInformationBlockType1-BR-r13
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+BCCH-DL-SCH-Message-MBMS ::= SEQUENCE {
+ message BCCH-DL-SCH-MessageType-MBMS-r14
+}
+
+BCCH-DL-SCH-MessageType-MBMS-r14 ::= CHOICE {
+ c1 CHOICE {
+ systemInformation-MBMS-r14 SystemInformation-MBMS-r14,
+ systemInformationBlockType1-MBMS-r14 SystemInformationBlockType1-MBMS-r14
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+MCCH-Message ::= SEQUENCE {
+ message MCCH-MessageType
+}
+
+MCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ mbsfnAreaConfiguration-r9 MBSFNAreaConfiguration-r9
+ },
+ later CHOICE {
+ c2 CHOICE{
+ mbmsCountingRequest-r10 MBMSCountingRequest-r10
+ },
+ messageClassExtension SEQUENCE {}
+ }
+}
+
+
+PCCH-Message ::= SEQUENCE {
+ message PCCH-MessageType
+}
+
+PCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ paging Paging
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+DL-CCCH-Message ::= SEQUENCE {
+ message DL-CCCH-MessageType
+}
+
+DL-CCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcConnectionReestablishment RRCConnectionReestablishment,
+ rrcConnectionReestablishmentReject RRCConnectionReestablishmentReject,
+ rrcConnectionReject RRCConnectionReject,
+ rrcConnectionSetup RRCConnectionSetup
+ },
+ messageClassExtension CHOICE {
+ c2 CHOICE {
+ rrcEarlyDataComplete-r15 RRCEarlyDataComplete-r15,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ messageClassExtensionFuture-r15 SEQUENCE {}
+ }
+}
+
+
+DL-DCCH-Message ::= SEQUENCE {
+ message DL-DCCH-MessageType
+}
+
+DL-DCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ csfbParametersResponseCDMA2000 CSFBParametersResponseCDMA2000,
+ dlInformationTransfer DLInformationTransfer,
+ handoverFromEUTRAPreparationRequest HandoverFromEUTRAPreparationRequest,
+ mobilityFromEUTRACommand MobilityFromEUTRACommand,
+ rrcConnectionReconfiguration RRCConnectionReconfiguration,
+ rrcConnectionRelease RRCConnectionRelease,
+ securityModeCommand SecurityModeCommand,
+ ueCapabilityEnquiry UECapabilityEnquiry,
+ counterCheck CounterCheck,
+ ueInformationRequest-r9 UEInformationRequest-r9,
+ loggedMeasurementConfiguration-r10 LoggedMeasurementConfiguration-r10,
+ rnReconfiguration-r10 RNReconfiguration-r10,
+ rrcConnectionResume-r13 RRCConnectionResume-r13,
+ dlDedicatedMessageSegment-r16 DLDedicatedMessageSegment-r16,
+ spare2 NULL, spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+UL-CCCH-Message ::= SEQUENCE {
+ message UL-CCCH-MessageType
+}
+
+UL-CCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcConnectionReestablishmentRequest RRCConnectionReestablishmentRequest,
+ rrcConnectionRequest RRCConnectionRequest
+ },
+ messageClassExtension CHOICE {
+ c2 CHOICE {
+ rrcConnectionResumeRequest-r13 RRCConnectionResumeRequest-r13
+ },
+ messageClassExtensionFuture-r13 CHOICE {
+ c3 CHOICE {
+ rrcEarlyDataRequest-r15 RRCEarlyDataRequest-r15,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ messageClassExtensionFuture-r15 SEQUENCE {}
+ }
+ }
+}
+
+
+UL-DCCH-Message ::= SEQUENCE {
+ message UL-DCCH-MessageType
+}
+
+UL-DCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ csfbParametersRequestCDMA2000 CSFBParametersRequestCDMA2000,
+ measurementReport MeasurementReport,
+ rrcConnectionReconfigurationComplete RRCConnectionReconfigurationComplete,
+ rrcConnectionReestablishmentComplete RRCConnectionReestablishmentComplete,
+ rrcConnectionSetupComplete RRCConnectionSetupComplete,
+ securityModeComplete SecurityModeComplete,
+ securityModeFailure SecurityModeFailure,
+ ueCapabilityInformation UECapabilityInformation,
+ ulHandoverPreparationTransfer ULHandoverPreparationTransfer,
+ ulInformationTransfer ULInformationTransfer,
+ counterCheckResponse CounterCheckResponse,
+ ueInformationResponse-r9 UEInformationResponse-r9,
+ proximityIndication-r9 ProximityIndication-r9,
+ rnReconfigurationComplete-r10 RNReconfigurationComplete-r10,
+ mbmsCountingResponse-r10 MBMSCountingResponse-r10,
+ interFreqRSTDMeasurementIndication-r10 InterFreqRSTDMeasurementIndication-r10
+ },
+ messageClassExtension CHOICE {
+ c2 CHOICE {
+ ueAssistanceInformation-r11 UEAssistanceInformation-r11,
+ inDeviceCoexIndication-r11 InDeviceCoexIndication-r11,
+ mbmsInterestIndication-r11 MBMSInterestIndication-r11,
+ scgFailureInformation-r12 SCGFailureInformation-r12,
+ sidelinkUEInformation-r12 SidelinkUEInformation-r12,
+ wlanConnectionStatusReport-r13 WLANConnectionStatusReport-r13,
+ rrcConnectionResumeComplete-r13 RRCConnectionResumeComplete-r13,
+ ulInformationTransferMRDC-r15 ULInformationTransferMRDC-r15,
+ scgFailureInformationNR-r15 SCGFailureInformationNR-r15,
+ measReportAppLayer-r15 MeasReportAppLayer-r15,
+ failureInformation-r15 FailureInformation-r15,
+ ulDedicatedMessageSegment-r16 ULDedicatedMessageSegment-r16,
+ purConfigurationRequest-r16 PURConfigurationRequest-r16,
+ failureInformation-r16 FailureInformation-r16,
+ mcgFailureInformation-r16 MCGFailureInformation-r16,
+ ulInformationTransferIRAT-r16 ULInformationTransferIRAT-r16
+ },
+ messageClassExtensionFuture-r11
+ SEQUENCE {}
+ }
+}
+
+
+SC-MCCH-Message-r13 ::= SEQUENCE {
+ message SC-MCCH-MessageType-r13
+}
+
+
+SC-MCCH-MessageType-r13 ::= CHOICE {
+ c1 CHOICE {
+ scptmConfiguration-r13 SCPTMConfiguration-r13
+ },
+ messageClassExtension CHOICE {
+ c2 CHOICE {
+ scptmConfiguration-BR-r14 SCPTMConfiguration-BR-r14,
+ spare NULL
+ },
+ messageClassExtensionFuture-r14 SEQUENCE {}
+ }
+}
+
+
+CounterCheck ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ counterCheck-r8 CounterCheck-r8-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CounterCheck-r8-IEs ::= SEQUENCE {
+ drb-CountMSB-InfoList DRB-CountMSB-InfoList,
+ nonCriticalExtension CounterCheck-v8a0-IEs OPTIONAL
+}
+
+CounterCheck-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension CounterCheck-v1530-IEs OPTIONAL
+}
+
+CounterCheck-v1530-IEs ::= SEQUENCE {
+ drb-CountMSB-InfoListExt-r15 DRB-CountMSB-InfoListExt-r15 OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+DRB-CountMSB-InfoList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info
+
+DRB-CountMSB-InfoListExt-r15 ::= SEQUENCE (SIZE (1..maxDRBExt-r15)) OF DRB-CountMSB-Info
+
+DRB-CountMSB-Info ::= SEQUENCE {
+ drb-Identity DRB-Identity,
+ countMSB-Uplink INTEGER(0..33554431),
+ countMSB-Downlink INTEGER(0..33554431)
+}
+
+
+CounterCheckResponse ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ counterCheckResponse-r8 CounterCheckResponse-r8-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CounterCheckResponse-r8-IEs ::= SEQUENCE {
+ drb-CountInfoList DRB-CountInfoList,
+ nonCriticalExtension CounterCheckResponse-v8a0-IEs OPTIONAL
+}
+
+CounterCheckResponse-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension CounterCheckResponse-v1530-IEs OPTIONAL
+}
+
+CounterCheckResponse-v1530-IEs ::= SEQUENCE {
+ drb-CountInfoListExt-r15 DRB-CountInfoListExt-r15 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+DRB-CountInfoList ::= SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo
+
+DRB-CountInfoListExt-r15 ::= SEQUENCE (SIZE (1..maxDRBExt-r15)) OF DRB-CountInfo
+
+DRB-CountInfo ::= SEQUENCE {
+ drb-Identity DRB-Identity,
+ count-Uplink INTEGER(0..4294967295),
+ count-Downlink INTEGER(0..4294967295)
+}
+
+
+CSFBParametersRequestCDMA2000 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ csfbParametersRequestCDMA2000-r8 CSFBParametersRequestCDMA2000-r8-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CSFBParametersRequestCDMA2000-r8-IEs ::= SEQUENCE {
+ nonCriticalExtension CSFBParametersRequestCDMA2000-v8a0-IEs OPTIONAL
+}
+
+CSFBParametersRequestCDMA2000-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+CSFBParametersResponseCDMA2000 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ csfbParametersResponseCDMA2000-r8 CSFBParametersResponseCDMA2000-r8-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CSFBParametersResponseCDMA2000-r8-IEs ::= SEQUENCE {
+ rand RAND-CDMA2000,
+ mobilityParameters MobilityParametersCDMA2000,
+ nonCriticalExtension CSFBParametersResponseCDMA2000-v8a0-IEs OPTIONAL
+}
+
+CSFBParametersResponseCDMA2000-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+DLDedicatedMessageSegment-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ dlDedicatedMessageSegment-r16 DLDedicatedMessageSegment-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+DLDedicatedMessageSegment-r16-IEs ::= SEQUENCE {
+ segmentNumber-r16 INTEGER (0..4),
+ rrc-MessageSegmentContainer-r16 OCTET STRING,
+ rrc-MessageSegmentType-r16 ENUMERATED {notLastSegment, lastSegment},
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+DLInformationTransfer ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ dlInformationTransfer-r8 DLInformationTransfer-r8-IEs,
+ dlInformationTransfer-r15 DLInformationTransfer-r15-IEs,
+ spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+DLInformationTransfer-r8-IEs ::= SEQUENCE {
+ dedicatedInfoType CHOICE {
+ dedicatedInfoNAS DedicatedInfoNAS,
+ dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000,
+ dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000
+ },
+ nonCriticalExtension DLInformationTransfer-v8a0-IEs OPTIONAL
+}
+
+DLInformationTransfer-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension DLInformationTransfer-v1610-IEs OPTIONAL
+}
+
+DLInformationTransfer-r15-IEs ::= SEQUENCE {
+ dedicatedInfoType-r15 CHOICE {
+ dedicatedInfoNAS DedicatedInfoNAS,
+ dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000,
+ dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000
+ } OPTIONAL, -- Need ON
+ timeReferenceInfo-r15 TimeReferenceInfo-r15 OPTIONAL, -- Need ON
+ nonCriticalExtension DLInformationTransfer-v8a0-IEs OPTIONAL
+}
+
+DLInformationTransfer-v1610-IEs ::= SEQUENCE {
+ dedicatedInfoF1c-r16 DedicatedInfoF1c-r16 OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+FailureInformation-r15 ::= SEQUENCE {
+ failedLogicalChannelInfo-r15 FailedLogicalChannelInfo-r15 OPTIONAL
+ -- nonCriticalExtension is removed in this version as OPTIONAL was missing
+}
+
+FailureInformation-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ failureInformation-r16 FailureInformation-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+FailedLogicalChannelInfo-r15 ::= SEQUENCE {
+ failedLogicalChannelIdentity-r15 SEQUENCE {
+ cellGroupIndication-r15 ENUMERATED {mn, sn},
+ logicalChannelIdentity-r15 INTEGER (1..10) OPTIONAL,
+ logicalChannelIdentityExt-r15 INTEGER (32..38) OPTIONAL
+ },
+ failureType ENUMERATED {duplication, spare3, spare2, spare1}
+}
+
+FailureInformation-r16-IEs ::= SEQUENCE {
+ failedLogicalChannelIdentity-r16 FailedLogicalChannelIdentity-r16 OPTIONAL,
+ failureType-r16 ENUMERATED {duplication, dapsHO-failure,
+ spare2, spare1} OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+FailedLogicalChannelIdentity-r16 ::= SEQUENCE {
+ cellGroupIndication-r16 ENUMERATED {mn, sn},
+ logicalChannelIdentity-r16 INTEGER (1..10) OPTIONAL,
+ logicalChannelIdentityExt-r16 INTEGER (32..38) OPTIONAL
+}
+
+
+HandoverFromEUTRAPreparationRequest ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ handoverFromEUTRAPreparationRequest-r8 HandoverFromEUTRAPreparationRequest-r8-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+HandoverFromEUTRAPreparationRequest-r8-IEs ::= SEQUENCE {
+ cdma2000-Type CDMA2000-Type,
+ rand RAND-CDMA2000 OPTIONAL, -- Cond cdma2000-Type
+ mobilityParameters MobilityParametersCDMA2000 OPTIONAL, -- Cond cdma2000-Type
+ nonCriticalExtension HandoverFromEUTRAPreparationRequest-v890-IEs OPTIONAL
+}
+
+HandoverFromEUTRAPreparationRequest-v890-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension HandoverFromEUTRAPreparationRequest-v920-IEs OPTIONAL
+}
+
+HandoverFromEUTRAPreparationRequest-v920-IEs ::= SEQUENCE {
+ concurrPrepCDMA2000-HRPD-r9 BOOLEAN OPTIONAL, -- Cond cdma2000-Type
+ nonCriticalExtension HandoverFromEUTRAPreparationRequest-v1020-IEs OPTIONAL
+}
+
+HandoverFromEUTRAPreparationRequest-v1020-IEs ::= SEQUENCE {
+ dualRxTxRedirectIndicator-r10 ENUMERATED {true} OPTIONAL, -- Cond cdma2000-1XRTT
+ redirectCarrierCDMA2000-1XRTT-r10 CarrierFreqCDMA2000 OPTIONAL, -- Cond dualRxTxRedirect
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+InDeviceCoexIndication-r11 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ inDeviceCoexIndication-r11 InDeviceCoexIndication-r11-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+InDeviceCoexIndication-r11-IEs ::= SEQUENCE {
+ affectedCarrierFreqList-r11 AffectedCarrierFreqList-r11 OPTIONAL,
+ tdm-AssistanceInfo-r11 TDM-AssistanceInfo-r11 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension InDeviceCoexIndication-v11d0-IEs OPTIONAL
+}
+
+InDeviceCoexIndication-v11d0-IEs ::= SEQUENCE {
+ ul-CA-AssistanceInfo-r11 SEQUENCE {
+ affectedCarrierFreqCombList-r11 AffectedCarrierFreqCombList-r11 OPTIONAL,
+ victimSystemType-r11 VictimSystemType-r11
+ } OPTIONAL,
+ nonCriticalExtension InDeviceCoexIndication-v1310-IEs OPTIONAL
+}
+
+InDeviceCoexIndication-v1310-IEs ::= SEQUENCE {
+ affectedCarrierFreqList-v1310 AffectedCarrierFreqList-v1310 OPTIONAL,
+ affectedCarrierFreqCombList-r13 AffectedCarrierFreqCombList-r13 OPTIONAL,
+ nonCriticalExtension InDeviceCoexIndication-v1360-IEs OPTIONAL
+}
+
+InDeviceCoexIndication-v1360-IEs ::= SEQUENCE {
+ hardwareSharingProblem-r13 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension InDeviceCoexIndication-v1530-IEs OPTIONAL
+}
+
+InDeviceCoexIndication-v1530-IEs ::= SEQUENCE {
+ mrdc-AssistanceInfo-r15 MRDC-AssistanceInfo-r15 OPTIONAL,
+ nonCriticalExtension InDeviceCoexIndication-v1610-IEs OPTIONAL
+}
+
+InDeviceCoexIndication-v1610-IEs::= SEQUENCE {
+ victimSystemType-v1610 VictimSystemType-v1610 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+AffectedCarrierFreqList-r11 ::= SEQUENCE (SIZE (1..maxFreqIDC-r11)) OF AffectedCarrierFreq-r11
+
+AffectedCarrierFreqList-v1310 ::= SEQUENCE (SIZE (1..maxFreqIDC-r11)) OF AffectedCarrierFreq-v1310
+
+AffectedCarrierFreq-r11 ::= SEQUENCE {
+ carrierFreq-r11 MeasObjectId,
+ interferenceDirection-r11 ENUMERATED {eutra, other, both, spare}
+}
+
+AffectedCarrierFreq-v1310 ::= SEQUENCE {
+ carrierFreq-v1310 MeasObjectId-v1310 OPTIONAL
+}
+
+AffectedCarrierFreqCombList-r11 ::= SEQUENCE (SIZE (1..maxCombIDC-r11)) OF AffectedCarrierFreqComb-r11
+
+AffectedCarrierFreqCombList-r13 ::= SEQUENCE (SIZE (1..maxCombIDC-r11)) OF AffectedCarrierFreqComb-r13
+
+AffectedCarrierFreqComb-r11 ::= SEQUENCE (SIZE (2..maxServCell-r10)) OF MeasObjectId
+
+AffectedCarrierFreqComb-r13 ::= SEQUENCE (SIZE (2..maxServCell-r13)) OF MeasObjectId-r13
+
+TDM-AssistanceInfo-r11 ::= CHOICE {
+ drx-AssistanceInfo-r11 SEQUENCE {
+ drx-CycleLength-r11 ENUMERATED {sf40, sf64, sf80, sf128, sf160,
+ sf256, spare2, spare1},
+ drx-Offset-r11 INTEGER (0..255) OPTIONAL,
+ drx-ActiveTime-r11 ENUMERATED {sf20, sf30, sf40, sf60, sf80,
+ sf100, spare2, spare1}
+ },
+ idc-SubframePatternList-r11 IDC-SubframePatternList-r11,
+ ...
+}
+
+IDC-SubframePatternList-r11 ::= SEQUENCE (SIZE (1..maxSubframePatternIDC-r11)) OF IDC-SubframePattern-r11
+
+IDC-SubframePattern-r11 ::= CHOICE {
+ subframePatternFDD-r11 BIT STRING (SIZE (4)),
+ subframePatternTDD-r11 CHOICE {
+ subframeConfig0-r11 BIT STRING (SIZE (70)),
+ subframeConfig1-5-r11 BIT STRING (SIZE (10)),
+ subframeConfig6-r11 BIT STRING (SIZE (60))
+ },
+ ...
+}
+
+VictimSystemType-r11 ::= SEQUENCE {
+ gps-r11 ENUMERATED {true} OPTIONAL,
+ glonass-r11 ENUMERATED {true} OPTIONAL,
+ bds-r11 ENUMERATED {true} OPTIONAL,
+ galileo-r11 ENUMERATED {true} OPTIONAL,
+ wlan-r11 ENUMERATED {true} OPTIONAL,
+ bluetooth-r11 ENUMERATED {true} OPTIONAL
+}
+
+VictimSystemType-v1610 ::= SEQUENCE {
+ navic-r16 ENUMERATED {true} OPTIONAL
+}
+
+MRDC-AssistanceInfo-r15 ::= SEQUENCE {
+ affectedCarrierFreqCombInfoListMRDC-r15 SEQUENCE (SIZE (1..maxCombIDC-r11)) OF AffectedCarrierFreqCombInfoMRDC-r15,
+ ...,
+ [[ affectedCarrierFreqCombInfoListMRDC-v1610 SEQUENCE (SIZE (1..maxCombIDC-r11)) OF VictimSystemType-v1610 OPTIONAL
+ ]]
+}
+
+AffectedCarrierFreqCombInfoMRDC-r15 ::= SEQUENCE {
+ victimSystemType-r15 VictimSystemType-r11,
+ interferenceDirectionMRDC-r15 ENUMERATED {eutra-nr, nr, other, eutra-nr-other,
+ nr-other, spare3, spare2, spare1},
+ affectedCarrierFreqCombMRDC-r15 SEQUENCE {
+ affectedCarrierFreqCombEUTRA-r15 AffectedCarrierFreqComb-r15 OPTIONAL,
+ affectedCarrierFreqCombNR-r15 AffectedCarrierFreqCombNR-r15
+ } OPTIONAL
+}
+
+AffectedCarrierFreqComb-r15 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasObjectId-r13
+
+AffectedCarrierFreqCombNR-r15 ::= SEQUENCE (SIZE (1..maxServCellNR-r15)) OF ARFCN-ValueNR-r15
+
+
+InterFreqRSTDMeasurementIndication-r10 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ interFreqRSTDMeasurementIndication-r10 InterFreqRSTDMeasurementIndication-r10-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+InterFreqRSTDMeasurementIndication-r10-IEs ::= SEQUENCE {
+ rstd-InterFreqIndication-r10 CHOICE {
+ start SEQUENCE {
+ rstd-InterFreqInfoList-r10 RSTD-InterFreqInfoList-r10
+ },
+ stop NULL
+ },
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RSTD-InterFreqInfoList-r10 ::= SEQUENCE (SIZE(1..maxRSTD-Freq-r10)) OF RSTD-InterFreqInfo-r10
+
+RSTD-InterFreqInfo-r10 ::= SEQUENCE {
+ carrierFreq-r10 ARFCN-ValueEUTRA,
+ measPRS-Offset-r10 INTEGER (0..39),
+ ...,
+ [[ carrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL
+ ]],
+ [[ measPRS-Offset-r15 CHOICE {
+ rstd0-r15 INTEGER (0..79),
+ rstd1-r15 INTEGER (0..159),
+ rstd2-r15 INTEGER (0..319),
+ rstd3-r15 INTEGER (0..639),
+ rstd4-r15 INTEGER (0..1279),
+ rstd5-r15 INTEGER (0..159),
+ rstd6-r15 INTEGER (0..319),
+ rstd7-r15 INTEGER (0..639),
+ rstd8-r15 INTEGER (0..1279),
+ rstd9-r15 INTEGER (0..319),
+ rstd10-r15 INTEGER (0..639),
+ rstd11-r15 INTEGER (0..1279),
+ rstd12-r15 INTEGER (0..319),
+ rstd13-r15 INTEGER (0..639),
+ rstd14-r15 INTEGER (0..1279),
+ rstd15-r15 INTEGER (0..639),
+ rstd16-r15 INTEGER (0..1279),
+ rstd17-r15 INTEGER (0..639),
+ rstd18-r15 INTEGER (0..1279),
+ rstd19-r15 INTEGER (0..639),
+ rstd20-r15 INTEGER (0..1279)
+ } OPTIONAL
+ ]]
+}
+
+
+LoggedMeasurementConfiguration-r10 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ loggedMeasurementConfiguration-r10 LoggedMeasurementConfiguration-r10-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+
+LoggedMeasurementConfiguration-r10-IEs ::= SEQUENCE {
+ traceReference-r10 TraceReference-r10,
+ traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)),
+ tce-Id-r10 OCTET STRING (SIZE (1)),
+ absoluteTimeInfo-r10 AbsoluteTimeInfo-r10,
+ areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, -- Need OR
+ loggingDuration-r10 LoggingDuration-r10,
+ loggingInterval-r10 LoggingInterval-r10,
+ nonCriticalExtension LoggedMeasurementConfiguration-v1080-IEs OPTIONAL
+}
+
+LoggedMeasurementConfiguration-v1080-IEs ::= SEQUENCE {
+ lateNonCriticalExtension-r10 OCTET STRING OPTIONAL,
+ nonCriticalExtension LoggedMeasurementConfiguration-v1130-IEs OPTIONAL
+}
+
+LoggedMeasurementConfiguration-v1130-IEs ::= SEQUENCE {
+ plmn-IdentityList-r11 PLMN-IdentityList3-r11 OPTIONAL, -- Need OR
+ areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL, -- Need OR
+ nonCriticalExtension LoggedMeasurementConfiguration-v1250-IEs OPTIONAL
+}
+
+LoggedMeasurementConfiguration-v1250-IEs ::= SEQUENCE {
+ targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL, -- Need OP
+ nonCriticalExtension LoggedMeasurementConfiguration-v1530-IEs OPTIONAL
+}
+
+LoggedMeasurementConfiguration-v1530-IEs ::= SEQUENCE {
+ bt-NameList-r15 BT-NameList-r15 OPTIONAL, --Need OR
+ wlan-NameList-r15 WLAN-NameList-r15 OPTIONAL, --Need OR
+ nonCriticalExtension LoggedMeasurementConfiguration-v1700-IEs OPTIONAL
+}
+
+LoggedMeasurementConfiguration-v1700-IEs ::= SEQUENCE {
+ loggedEventTriggerConfig-r17 LoggedEventTriggerConfig-r17 OPTIONAL, --Need OR
+ measUncomBarPre-r17 ENUMERATED {true} OPTIONAL, --Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+TargetMBSFN-AreaList-r12 ::= SEQUENCE (SIZE (0..maxMBSFN-Area)) OF TargetMBSFN-Area-r12
+
+TargetMBSFN-Area-r12 ::= SEQUENCE {
+ mbsfn-AreaId-r12 MBSFN-AreaId-r12 OPTIONAL, -- Need OR
+ carrierFreq-r12 ARFCN-ValueEUTRA-r9,
+ ...
+}
+
+LoggedEventTriggerConfig-r17 ::= SEQUENCE {
+ eventType-r17 EventType-r17
+}
+
+EventType-r17 ::= CHOICE {
+ outOfCoverage NULL,
+ eventL1 SEQUENCE {
+ l1-Threshold-r17 ThresholdEUTRA,
+ hysteresis-r17 Hysteresis,
+ timeToTrigger-r17 TimeToTrigger
+ },
+ ...
+}
+
+
+MasterInformationBlock ::= SEQUENCE {
+ dl-Bandwidth ENUMERATED {
+ n6, n15, n25, n50, n75, n100},
+ phich-Config PHICH-Config,
+ systemFrameNumber BIT STRING (SIZE (8)),
+ schedulingInfoSIB1-BR-r13 INTEGER (0..31),
+ systemInfoUnchanged-BR-r15 BOOLEAN,
+ partEARFCN-17 CHOICE {
+ spare BIT STRING (SIZE (2)),
+ earfcn-LSB BIT STRING (SIZE (2))
+ },
+ spare BIT STRING (SIZE (1))
+}
+
+
+
+MasterInformationBlock-MBMS-r14 ::= SEQUENCE {
+ dl-Bandwidth-MBMS-r14 ENUMERATED {
+ n6, n15, n25, n50, n75, n100},
+ systemFrameNumber-r14 BIT STRING (SIZE (6)),
+ additionalNonMBSFNSubframes-r14 INTEGER (0..3),
+ semiStaticCFI-MBMS-r16 INTEGER (0..3),
+ spare BIT STRING (SIZE (11))
+}
+
+
+MBMSCountingRequest-r10 ::= SEQUENCE {
+ countingRequestList-r10 CountingRequestList-r10,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+CountingRequestList-r10 ::= SEQUENCE (SIZE (1..maxServiceCount)) OF CountingRequestInfo-r10
+
+CountingRequestInfo-r10 ::= SEQUENCE {
+ tmgi-r10 TMGI-r9,
+ ...
+}
+
+
+MBMSCountingResponse-r10 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ countingResponse-r10 MBMSCountingResponse-r10-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MBMSCountingResponse-r10-IEs ::= SEQUENCE {
+ mbsfn-AreaIndex-r10 INTEGER (0..maxMBSFN-Area-1) OPTIONAL,
+ countingResponseList-r10 CountingResponseList-r10 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+CountingResponseList-r10 ::= SEQUENCE (SIZE (1..maxServiceCount)) OF CountingResponseInfo-r10
+
+CountingResponseInfo-r10 ::= SEQUENCE {
+ countingResponseService-r10 INTEGER (0..maxServiceCount-1),
+ ...
+}
+
+
+MBMSInterestIndication-r11 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ interestIndication-r11 MBMSInterestIndication-r11-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MBMSInterestIndication-r11-IEs ::= SEQUENCE {
+ mbms-FreqList-r11 CarrierFreqListMBMS-r11 OPTIONAL,
+ mbms-Priority-r11 ENUMERATED {true} OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension MBMSInterestIndication-v1310-IEs OPTIONAL
+}
+
+MBMSInterestIndication-v1310-IEs ::= SEQUENCE {
+ mbms-Services-r13 MBMS-ServiceList-r13 OPTIONAL,
+ nonCriticalExtension MBMSInterestIndication-v1540-IEs OPTIONAL
+}
+
+MBMSInterestIndication-v1540-IEs ::= SEQUENCE {
+ mbms-ROM-InfoList-r15 SEQUENCE (SIZE(1..maxMBMS-ServiceListPerUE-r13)) OF MBMS-ROM-Info-r15 OPTIONAL,
+ nonCriticalExtension MBMSInterestIndication-v1610-IEs OPTIONAL
+}
+
+MBMSInterestIndication-v1610-IEs ::= SEQUENCE {
+ mbms-ROM-InfoList-r16 SEQUENCE (SIZE(1..maxMBMS-ServiceListPerUE-r13)) OF MBMS-ROM-Info-r16 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+MBMS-ROM-Info-r15 ::= SEQUENCE {
+ mbms-ROM-Freq-r15 ARFCN-ValueEUTRA-r9,
+ mbms-ROM-SubcarrierSpacing-r15 ENUMERATED {kHz15, kHz7dot5, kHz1dot25},
+ mbms-Bandwidth-r15 ENUMERATED {n6, n15, n25, n50, n75, n100}
+}
+
+MBMS-ROM-Info-r16 ::= SEQUENCE {
+ mbms-ROM-Freq-r16 ARFCN-ValueEUTRA-r9,
+ mbms-ROM-SubcarrierSpacing-r16 ENUMERATED {kHz2dot5, kHz0dot37},
+ mbms-Bandwidth-r16 ENUMERATED {n6, n15, n25, n50, n75, n100}
+}
+
+
+MBSFNAreaConfiguration-r9 ::= SEQUENCE {
+ commonSF-Alloc-r9 CommonSF-AllocPatternList-r9,
+ commonSF-AllocPeriod-r9 ENUMERATED {
+ rf4, rf8, rf16, rf32, rf64, rf128, rf256},
+ pmch-InfoList-r9 PMCH-InfoList-r9,
+ nonCriticalExtension MBSFNAreaConfiguration-v930-IEs OPTIONAL
+}
+
+MBSFNAreaConfiguration-v930-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension MBSFNAreaConfiguration-v1250-IEs OPTIONAL
+}
+
+MBSFNAreaConfiguration-v1250-IEs ::= SEQUENCE {
+ pmch-InfoListExt-r12 PMCH-InfoListExt-r12 OPTIONAL, -- Need OR
+ nonCriticalExtension MBSFNAreaConfiguration-v1430-IEs OPTIONAL
+}
+
+MBSFNAreaConfiguration-v1430-IEs ::= SEQUENCE {
+ commonSF-Alloc-v1430 CommonSF-AllocPatternList-v1430,
+ nonCriticalExtension MBSFNAreaConfiguration-v1610-IEs OPTIONAL
+}
+
+MBSFNAreaConfiguration-v1610-IEs ::= SEQUENCE {
+ commonSF-Alloc-v1610 CommonSF-AllocPatternList-v1610 OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+CommonSF-AllocPatternList-r9 ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig
+
+CommonSF-AllocPatternList-v1430 ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig-v1430
+
+CommonSF-AllocPatternList-v1610 ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig-v1610
+
+
+MCGFailureInformation-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ mcgFailureInformation MCGFailureInformation-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MCGFailureInformation-r16-IEs ::= SEQUENCE {
+ failureReportMCG-r16 FailureReportMCG-r16 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+FailureReportMCG-r16 ::= SEQUENCE {
+ failureType-r16 ENUMERATED {
+ t310-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx, t312-Expiry, spare4,
+ spare3, spare2, spare1} OPTIONAL,
+ measResultFreqListEUTRA-r16 MeasResultList3EUTRA-r15 OPTIONAL,
+ measResultFreqListNR-r16 MeasResultFreqListFailNR-r15 OPTIONAL,
+ measResultFreqListGERAN-r16 MeasResultList2GERAN-r10 OPTIONAL,
+ measResultFreqListUTRA-r16 MeasResultList2UTRA-r9 OPTIONAL,
+ measResultSCG-r16 OCTET STRING OPTIONAL,
+ ...
+}
+
+MeasReportAppLayer-r15 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ measReportAppLayer-r15 MeasReportAppLayer-r15-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MeasReportAppLayer-r15-IEs ::= SEQUENCE {
+ measReportAppLayerContainer-r15 OCTET STRING (SIZE(1..8000)) OPTIONAL,
+ serviceType-r15 ENUMERATED {qoe, qoemtsi, spare6, spare5, spare4, spare3, spare2, spare1} OPTIONAL,
+ nonCriticalExtension MeasReportAppLayer-v1590-IEs OPTIONAL
+}
+
+MeasReportAppLayer-v1590-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+MeasurementReport ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ measurementReport-r8 MeasurementReport-r8-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MeasurementReport-r8-IEs ::= SEQUENCE {
+ measResults MeasResults,
+ nonCriticalExtension MeasurementReport-v8a0-IEs OPTIONAL
+}
+
+MeasurementReport-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+MobilityFromEUTRACommand ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ mobilityFromEUTRACommand-r8 MobilityFromEUTRACommand-r8-IEs,
+ mobilityFromEUTRACommand-r9 MobilityFromEUTRACommand-r9-IEs,
+ spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MobilityFromEUTRACommand-r8-IEs ::= SEQUENCE {
+ cs-FallbackIndicator BOOLEAN,
+ purpose CHOICE{
+ handover Handover,
+ cellChangeOrder CellChangeOrder
+ },
+ nonCriticalExtension MobilityFromEUTRACommand-v8a0-IEs OPTIONAL
+}
+
+MobilityFromEUTRACommand-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension MobilityFromEUTRACommand-v8d0-IEs OPTIONAL
+}
+
+MobilityFromEUTRACommand-v8d0-IEs ::= SEQUENCE {
+ bandIndicator BandIndicatorGERAN OPTIONAL, -- Cond GERAN
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+MobilityFromEUTRACommand-r9-IEs ::= SEQUENCE {
+ cs-FallbackIndicator BOOLEAN,
+ purpose CHOICE{
+ handover Handover,
+ cellChangeOrder CellChangeOrder,
+ e-CSFB-r9 E-CSFB-r9,
+ ...
+ },
+ nonCriticalExtension MobilityFromEUTRACommand-v930-IEs OPTIONAL
+}
+
+MobilityFromEUTRACommand-v930-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension MobilityFromEUTRACommand-v960-IEs OPTIONAL
+}
+
+MobilityFromEUTRACommand-v960-IEs ::= SEQUENCE {
+ bandIndicator BandIndicatorGERAN OPTIONAL, -- Cond GERAN
+ nonCriticalExtension MobilityFromEUTRACommand-v1530-IEs OPTIONAL
+}
+
+MobilityFromEUTRACommand-v1530-IEs ::= SEQUENCE {
+ smtc-r15 MTC-SSB-NR-r15 OPTIONAL, -- Need OP
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+Handover ::= SEQUENCE {
+ targetRAT-Type ENUMERATED {
+ utra, geran, cdma2000-1XRTT, cdma2000-HRPD,
+ nr, eutra, spare2, spare1, ...},
+ targetRAT-MessageContainer OCTET STRING,
+ nas-SecurityParamFromEUTRA OCTET STRING (SIZE (1)) OPTIONAL, -- Cond UTRAGERANEPC
+ systemInformation SI-OrPSI-GERAN OPTIONAL -- Cond PSHO
+}
+
+CellChangeOrder ::= SEQUENCE {
+ t304 ENUMERATED {
+ ms100, ms200, ms500, ms1000,
+ ms2000, ms4000, ms8000, ms10000-v1310},
+ targetRAT-Type CHOICE {
+ geran SEQUENCE {
+ physCellId PhysCellIdGERAN,
+ carrierFreq CarrierFreqGERAN,
+ networkControlOrder BIT STRING (SIZE (2)) OPTIONAL, -- Need OP
+ systemInformation SI-OrPSI-GERAN OPTIONAL -- Need OP
+ },
+ ...
+ }
+}
+
+SI-OrPSI-GERAN ::= CHOICE {
+ si SystemInfoListGERAN,
+ psi SystemInfoListGERAN
+}
+
+E-CSFB-r9 ::= SEQUENCE {
+ messageContCDMA2000-1XRTT-r9 OCTET STRING OPTIONAL, -- Need ON
+ mobilityCDMA2000-HRPD-r9 ENUMERATED {
+ handover, redirection
+ } OPTIONAL, -- Need OP
+ messageContCDMA2000-HRPD-r9 OCTET STRING OPTIONAL, -- Cond concHO
+ redirectCarrierCDMA2000-HRPD-r9 CarrierFreqCDMA2000 OPTIONAL -- Cond concRedir
+}
+
+
+Paging ::= SEQUENCE {
+ pagingRecordList PagingRecordList OPTIONAL, -- Need ON
+ systemInfoModification ENUMERATED {true} OPTIONAL, -- Need ON
+ etws-Indication ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension Paging-v890-IEs OPTIONAL
+}
+
+Paging-v890-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension Paging-v920-IEs OPTIONAL
+}
+
+Paging-v920-IEs ::= SEQUENCE {
+ cmas-Indication-r9 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension Paging-v1130-IEs OPTIONAL
+}
+
+Paging-v1130-IEs ::= SEQUENCE {
+ eab-ParamModification-r11 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension Paging-v1310-IEs OPTIONAL
+}
+
+Paging-v1310-IEs ::= SEQUENCE {
+ redistributionIndication-r13 ENUMERATED {true} OPTIONAL, -- Need ON
+ systemInfoModification-eDRX-r13 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension Paging-v1530-IEs OPTIONAL
+}
+
+Paging-v1530-IEs ::= SEQUENCE {
+ accessType ENUMERATED {non3GPP} OPTIONAL, -- Need ON
+ nonCriticalExtension Paging-v1610-IEs OPTIONAL
+}
+
+Paging-v1610-IEs ::= SEQUENCE {
+ pagingRecordList-v1610 PagingRecordList-v1610 OPTIONAL, -- Need ON
+ uac-ParamModification-r16 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension Paging-v1700-IEs OPTIONAL
+}
+
+Paging-v1700-IEs ::= SEQUENCE {
+ pagingRecordList-v1700 PagingRecordList-v1700 OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+PagingRecordList ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord
+
+PagingRecordList-v1610 ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord-v1610
+
+PagingRecordList-v1700 ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord-v1700
+
+PagingRecord ::= SEQUENCE {
+ ue-Identity PagingUE-Identity,
+ cn-Domain ENUMERATED {ps, cs},
+ ...
+}
+
+PagingRecord-v1610 ::= SEQUENCE {
+ accessType-r16 ENUMERATED {non3GPP} OPTIONAL, -- Need ON
+ mt-EDT-r16 ENUMERATED {true} OPTIONAL -- Need ON
+}
+
+PagingRecord-v1700 ::= SEQUENCE {
+ pagingCause-r17 ENUMERATED {voice} OPTIONAL -- Need ON
+}
+
+PagingUE-Identity ::= CHOICE {
+ s-TMSI S-TMSI,
+ imsi IMSI,
+ ...,
+ ng-5G-S-TMSI-r15 NG-5G-S-TMSI-r15,
+ fullI-RNTI-r15 I-RNTI-r15
+}
+
+IMSI ::= SEQUENCE (SIZE (6..21)) OF IMSI-Digit
+
+IMSI-Digit ::= INTEGER (0..9)
+
+
+ProximityIndication-r9 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ proximityIndication-r9 ProximityIndication-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ProximityIndication-r9-IEs ::= SEQUENCE {
+ type-r9 ENUMERATED {entering, leaving},
+ carrierFreq-r9 CHOICE {
+ eutra-r9 ARFCN-ValueEUTRA,
+ utra-r9 ARFCN-ValueUTRA,
+ ...,
+ eutra2-v9e0 ARFCN-ValueEUTRA-v9e0
+ },
+ nonCriticalExtension ProximityIndication-v930-IEs OPTIONAL
+}
+
+ProximityIndication-v930-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+PURConfigurationRequest-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ purConfigurationRequest PURConfigurationRequest-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+PURConfigurationRequest-r16-IEs ::= SEQUENCE {
+ pur-ConfigRequest-r16 CHOICE {
+ pur-ReleaseRequest NULL,
+ pur-SetupRequest SEQUENCE {
+ requestedNumOccasions-r16 ENUMERATED {one, infinite},
+ requestedPeriodicityAndOffset-r16 PUR-PeriodicityAndOffset-r16 OPTIONAL,
+ requestedTBS-r16 ENUMERATED {b328, b344, b376, b392, b408,
+ b424, b440, b456, b472, b488, b504, b536,
+ b568, b584, b616, b648, b680, b712, b744,
+ b776, b808, b840, b872, b904, b936, b968,
+ b1000, b1032, b1064, b1096, b1128, b1160,
+ b1192, b1224, b1256, b1288, b1320, b1352,
+ b1384, b1416, b1480, b1544, b1608, b1672,
+ b1736, b1800, b1864, b1928, b1992, b2024,
+ b2088, b2152, b2216, b2280, b2344, b2408,
+ b2472, b2536, b2600, b2664, b2728, b2792,
+ b2856, b2984},
+ rrc-ACK-r16 ENUMERATED {true} OPTIONAL
+ }
+ } OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RNReconfiguration-r10 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ rnReconfiguration-r10 RNReconfiguration-r10-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RNReconfiguration-r10-IEs ::= SEQUENCE {
+ rn-SystemInfo-r10 RN-SystemInfo-r10 OPTIONAL, -- Need ON
+ rn-SubframeConfig-r10 RN-SubframeConfig-r10 OPTIONAL, -- Need ON
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RN-SystemInfo-r10 ::= SEQUENCE {
+ systemInformationBlockType1-r10 OCTET STRING (CONTAINING SystemInformationBlockType1) OPTIONAL, -- Need ON
+ systemInformationBlockType2-r10 SystemInformationBlockType2 OPTIONAL, -- Need ON
+ ...
+}
+
+
+RNReconfigurationComplete-r10 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ rnReconfigurationComplete-r10 RNReconfigurationComplete-r10-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RNReconfigurationComplete-r10-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionReconfiguration ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ rrcConnectionReconfiguration-r8 RRCConnectionReconfiguration-r8-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReconfiguration-r8-IEs ::= SEQUENCE {
+ measConfig MeasConfig OPTIONAL, -- Need ON
+ mobilityControlInfo MobilityControlInfo OPTIONAL, -- Cond HO
+ dedicatedInfoNASList SEQUENCE (SIZE(1..maxDRB)) OF
+ DedicatedInfoNAS OPTIONAL, -- Cond nonHO
+ radioResourceConfigDedicated RadioResourceConfigDedicated OPTIONAL, -- Cond HO-toEUTRA
+ securityConfigHO SecurityConfigHO OPTIONAL, -- Cond HO-toEPC
+ nonCriticalExtension RRCConnectionReconfiguration-v890-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v890-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING (CONTAINING RRCConnectionReconfiguration-v8m0-IEs) OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfiguration-v920-IEs OPTIONAL
+}
+
+-- Late non-critical extensions:
+RRCConnectionReconfiguration-v8m0-IEs ::= SEQUENCE {
+ -- Following field is only for pre REL-10 late non-critical extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfiguration-v10i0-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v10i0-IEs ::= SEQUENCE {
+ antennaInfoDedicatedPCell-v10i0 AntennaInfoDedicated-v10i0 OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionReconfiguration-v10l0-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v10l0-IEs ::= SEQUENCE {
+ mobilityControlInfo-v10l0 MobilityControlInfo-v10l0 OPTIONAL,
+ sCellToAddModList-v10l0 SCellToAddModList-v10l0 OPTIONAL, -- Need ON
+ -- Following field is only for late non-critical extensions from REL-10 to REL-11
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfiguration-v12f0-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v12f0-IEs ::= SEQUENCE {
+ scg-Configuration-v12f0 SCG-Configuration-v12f0 OPTIONAL, -- Cond nonFullConfig
+ -- Following field is only for late non-critical extensions from REL-12
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfiguration-v1370-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1370-IEs ::= SEQUENCE {
+ radioResourceConfigDedicated-v1370 RadioResourceConfigDedicated-v1370 OPTIONAL, -- Need ON
+ sCellToAddModListExt-v1370 SCellToAddModListExt-v1370 OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionReconfiguration-v13c0-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v13c0-IEs ::= SEQUENCE {
+ radioResourceConfigDedicated-v13c0 RadioResourceConfigDedicated-v13c0 OPTIONAL, -- Need ON
+ sCellToAddModList-v13c0 SCellToAddModList-v13c0 OPTIONAL, -- Need ON
+ sCellToAddModListExt-v13c0 SCellToAddModListExt-v13c0 OPTIONAL, -- Need ON
+ scg-Configuration-v13c0 SCG-Configuration-v13c0 OPTIONAL, -- Need ON
+ -- Following field is only for late non-critical extensions from REL-13 onwards
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Regular non-critical extensions:
+RRCConnectionReconfiguration-v920-IEs ::= SEQUENCE {
+ otherConfig-r9 OtherConfig-r9 OPTIONAL, -- Need ON
+ fullConfig-r9 ENUMERATED {true} OPTIONAL, -- Cond HO-Reestab
+ nonCriticalExtension RRCConnectionReconfiguration-v1020-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1020-IEs ::= SEQUENCE {
+ sCellToReleaseList-r10 SCellToReleaseList-r10 OPTIONAL, -- Need ON
+ sCellToAddModList-r10 SCellToAddModList-r10 OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionReconfiguration-v1130-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1130-IEs ::= SEQUENCE {
+ systemInformationBlockType1Dedicated-r11 OCTET STRING (CONTAINING SystemInformationBlockType1) OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionReconfiguration-v1250-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1250-IEs ::= SEQUENCE {
+ wlan-OffloadInfo-r12 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ wlan-OffloadConfigDedicated-r12 WLAN-OffloadConfig-r12,
+ t350-r12 ENUMERATED {min5, min10, min20, min30, min60,
+ min120, min180, spare1} OPTIONAL -- Need OR
+ }
+ } OPTIONAL, -- Need ON
+ scg-Configuration-r12 SCG-Configuration-r12 OPTIONAL, -- Cond nonFullConfig
+ sl-SyncTxControl-r12 SL-SyncTxControl-r12 OPTIONAL, -- Need ON
+ sl-DiscConfig-r12 SL-DiscConfig-r12 OPTIONAL, -- Need ON
+ sl-CommConfig-r12 SL-CommConfig-r12 OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionReconfiguration-v1310-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1310-IEs ::= SEQUENCE {
+ sCellToReleaseListExt-r13 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON
+ sCellToAddModListExt-r13 SCellToAddModListExt-r13 OPTIONAL, -- Need ON
+ lwa-Configuration-r13 LWA-Configuration-r13 OPTIONAL, -- Need ON
+ lwip-Configuration-r13 LWIP-Configuration-r13 OPTIONAL, -- Need ON
+ rclwi-Configuration-r13 RCLWI-Configuration-r13 OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionReconfiguration-v1430-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1430-IEs ::= SEQUENCE {
+ sl-V2X-ConfigDedicated-r14 SL-V2X-ConfigDedicated-r14 OPTIONAL, -- Need ON
+ sCellToAddModListExt-v1430 SCellToAddModListExt-v1430 OPTIONAL, -- Need ON
+ perCC-GapIndicationRequest-r14 ENUMERATED{true} OPTIONAL, -- Need ON
+ systemInformationBlockType2Dedicated-r14 OCTET STRING (CONTAINING SystemInformationBlockType2) OPTIONAL, -- Cond nonHO
+ nonCriticalExtension RRCConnectionReconfiguration-v1510-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1510-IEs ::= SEQUENCE {
+ nr-Config-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ endc-ReleaseAndAdd-r15 BOOLEAN,
+ nr-SecondaryCellGroupConfig-r15 OCTET STRING OPTIONAL, -- Need ON
+ p-MaxEUTRA-r15 P-Max OPTIONAL -- Need ON
+ }
+ } OPTIONAL, -- Need ON
+ sk-Counter-r15 INTEGER (0.. 65535) OPTIONAL, -- Need ON
+ nr-RadioBearerConfig1-r15 OCTET STRING OPTIONAL, -- Need ON
+ nr-RadioBearerConfig2-r15 OCTET STRING OPTIONAL, -- Need ON
+ tdm-PatternConfig-r15 TDM-PatternConfig-r15 OPTIONAL, -- Cond FDD-PCell
+ nonCriticalExtension RRCConnectionReconfiguration-v1530-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1530-IEs ::= SEQUENCE {
+ securityConfigHO-v1530 SecurityConfigHO-v1530 OPTIONAL, -- Cond HO-5GC
+ sCellGroupToReleaseList-r15 SCellGroupToReleaseList-r15 OPTIONAL, -- Need ON
+ sCellGroupToAddModList-r15 SCellGroupToAddModList-r15 OPTIONAL, -- Need ON
+ dedicatedInfoNASList-r15 SEQUENCE (SIZE(1..maxDRB-r15)) OF
+ DedicatedInfoNAS OPTIONAL, -- Cond nonHO
+ p-MaxUE-FR1-r15 P-Max OPTIONAL, -- Need OR
+ smtc-r15 MTC-SSB-NR-r15 OPTIONAL, -- Need OP
+ nonCriticalExtension RRCConnectionReconfiguration-v1610-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1610-IEs ::= SEQUENCE {
+ conditionalReconfiguration-r16 ConditionalReconfiguration-r16 OPTIONAL, -- Need ON
+ daps-SourceRelease-r16 ENUMERATED{true} OPTIONAL, -- Need ON
+ tdm-PatternConfig2-r16 TDM-PatternConfig-r15 OPTIONAL, -- Need ON
+ sl-ConfigDedicatedForNR-r16 OCTET STRING OPTIONAL, -- Need OR
+ sl-SSB-PriorityEUTRA-r16 INTEGER (1..8) OPTIONAL, -- Need OR
+ nonCriticalExtension RRCConnectionReconfiguration-v1700-IEs OPTIONAL
+}
+
+RRCConnectionReconfiguration-v1700-IEs ::= SEQUENCE {
+ systemInformationBlockType31Dedicated-r17 OCTET STRING (CONTAINING SystemInformationBlockType31-r17) OPTIONAL, -- Cond NTN
+ scg-State-r17 ENUMERATED{deactivated} OPTIONAL, -- Need OP
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+SL-SyncTxControl-r12 ::= SEQUENCE {
+ networkControlledSyncTx-r12 ENUMERATED {on, off} OPTIONAL -- Need OP
+}
+
+PSCellToAddMod-r12 ::= SEQUENCE {
+ sCellIndex-r12 SCellIndex-r10,
+ cellIdentification-r12 SEQUENCE {
+ physCellId-r12 PhysCellId,
+ dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9
+ } OPTIONAL, -- Cond SCellAdd
+ radioResourceConfigCommonPSCell-r12 RadioResourceConfigCommonPSCell-r12 OPTIONAL, -- Cond SCellAdd
+ radioResourceConfigDedicatedPSCell-r12 RadioResourceConfigDedicatedPSCell-r12 OPTIONAL, -- Cond SCellAdd2
+ ...,
+ [[ antennaInfoDedicatedPSCell-v1280 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON
+ ]],
+ [[ sCellIndex-r13 SCellIndex-r13 OPTIONAL -- Need ON
+ ]],
+ [[ radioResourceConfigDedicatedPSCell-v1370 RadioResourceConfigDedicatedPSCell-v1370 OPTIONAL -- Need ON
+ ]],
+ [[ radioResourceConfigDedicatedPSCell-v13c0 RadioResourceConfigDedicatedPSCell-v13c0 OPTIONAL -- Need ON
+ ]]
+}
+
+PSCellToAddMod-v12f0 ::= SEQUENCE {
+ radioResourceConfigCommonPSCell-r12 RadioResourceConfigCommonPSCell-v12f0 OPTIONAL
+}
+
+PSCellToAddMod-v1440 ::= SEQUENCE {
+ radioResourceConfigCommonPSCell-r14 RadioResourceConfigCommonPSCell-v1440 OPTIONAL
+}
+
+PowerCoordinationInfo-r12 ::= SEQUENCE {
+ p-MeNB-r12 INTEGER (1..16),
+ p-SeNB-r12 INTEGER (1..16),
+ powerControlMode-r12 INTEGER (1..2)
+}
+
+SCellToAddModList-r10 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellToAddMod-r10
+
+SCellToAddModList-v10l0 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellToAddMod-v10l0
+
+SCellToAddModList-v13c0 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellToAddMod-v13c0
+
+SCellToAddModList-r16 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddMod-r16
+
+SCellToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddModExt-r13
+
+SCellToAddModListExt-v1370 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddModExt-v1370
+
+SCellToAddModListExt-v13c0 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddMod-v13c0
+
+SCellToAddModListExt-v1430 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddModExt-v1430
+
+SCellGroupToAddModList-r15 ::= SEQUENCE (SIZE (1..maxSCellGroups-r15)) OF SCellGroupToAddMod-r15
+
+SCellToAddMod-r10 ::= SEQUENCE {
+ sCellIndex-r10 SCellIndex-r10,
+ cellIdentification-r10 SEQUENCE {
+ physCellId-r10 PhysCellId,
+ dl-CarrierFreq-r10 ARFCN-ValueEUTRA
+ } OPTIONAL, -- Cond SCellAdd
+ radioResourceConfigCommonSCell-r10 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Cond SCellAdd
+ radioResourceConfigDedicatedSCell-r10 RadioResourceConfigDedicatedSCell-r10 OPTIONAL, -- Cond SCellAdd2
+ ...,
+ [[ dl-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Cond EARFCN-max
+ ]],
+ [[ antennaInfoDedicatedSCell-v10i0 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON
+ ]],
+ [[ srs-SwitchFromServCellIndex-r14 INTEGER (0.. 31) OPTIONAL -- Need ON
+ ]],
+ [[ sCellState-r15 ENUMERATED {activated, dormant} OPTIONAL -- Need ON
+ ]]
+}
+
+SCellToAddMod-v10l0 ::= SEQUENCE {
+ radioResourceConfigCommonSCell-v10l0 RadioResourceConfigCommonSCell-v10l0 OPTIONAL
+}
+
+SCellToAddMod-v13c0 ::= SEQUENCE {
+ radioResourceConfigDedicatedSCell-v13c0 RadioResourceConfigDedicatedSCell-v13c0 OPTIONAL
+}
+
+SCellToAddMod-r16 ::= SEQUENCE {
+ sCellIndex-r16 SCellIndex-r13,
+ cellIdentification-r16 SEQUENCE {
+ physCellId-r16 PhysCellId,
+ dl-CarrierFreq-r16 ARFCN-ValueEUTRA-r9
+ } OPTIONAL, -- Cond SCellAdd
+ radioResourceConfigCommonSCell-r16 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Cond SCellAdd
+ radioResourceConfigDedicatedSCell-r16 RadioResourceConfigDedicatedSCell-r10 OPTIONAL, -- Cond SCellAdd2
+ antennaInfoDedicatedSCell-r16 AntennaInfoDedicated-v10i0 OPTIONAL, -- Need ON
+ srs-SwitchFromServCellIndex-r16 INTEGER (0.. 31) OPTIONAL, -- Need ON
+ sCellState-r16 ENUMERATED {activated, dormant} OPTIONAL, -- Need ON
+ ...
+}
+
+SCellToAddModExt-r13 ::= SEQUENCE {
+ sCellIndex-r13 SCellIndex-r13,
+ cellIdentification-r13 SEQUENCE {
+ physCellId-r13 PhysCellId,
+ dl-CarrierFreq-r13 ARFCN-ValueEUTRA-r9
+ } OPTIONAL, -- Cond SCellAdd
+ radioResourceConfigCommonSCell-r13 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Cond SCellAdd
+ radioResourceConfigDedicatedSCell-r13 RadioResourceConfigDedicatedSCell-r10 OPTIONAL, -- Cond SCellAdd2
+ antennaInfoDedicatedSCell-r13 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON
+}
+
+SCellToAddModExt-v1370 ::= SEQUENCE {
+ radioResourceConfigCommonSCell-v1370 RadioResourceConfigCommonSCell-v10l0 OPTIONAL
+}
+
+SCellToAddModExt-v1430 ::= SEQUENCE {
+ srs-SwitchFromServCellIndex-r14 INTEGER (0.. 31) OPTIONAL, -- Need ON
+ ...,
+ [[ sCellState-r15 ENUMERATED {activated, dormant} OPTIONAL -- Need ON
+ ]]
+}
+
+SCellGroupToAddMod-r15 ::= SEQUENCE {
+ sCellGroupIndex-r15 SCellGroupIndex-r15,
+ sCellConfigCommon-r15 SCellConfigCommon-r15 OPTIONAL, -- Need ON
+ sCellToReleaseList-r15 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON
+ sCellToAddModList-r15 SCellToAddModListExt-r13 OPTIONAL -- Need ON
+}
+
+SCellToReleaseList-r10 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellIndex-r10
+
+SCellToReleaseListExt-r13 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellIndex-r13
+
+SCellGroupToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxSCellGroups-r15)) OF SCellGroupIndex-r15
+
+SCellGroupIndex-r15 ::= INTEGER (1..maxSCellGroups-r15)
+
+SCellConfigCommon-r15 ::= SEQUENCE {
+ radioResourceConfigCommonSCell-r15 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Need ON
+ radioResourceConfigDedicatedSCell-r15 RadioResourceConfigDedicatedSCell-r10 OPTIONAL,-- Need ON
+ antennaInfoDedicatedSCell-r15 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON
+}
+
+SCG-Configuration-r12 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ scg-ConfigPartMCG-r12 SEQUENCE {
+ scg-Counter-r12 INTEGER (0.. 65535) OPTIONAL, -- Need ON
+ powerCoordinationInfo-r12 PowerCoordinationInfo-r12 OPTIONAL, -- Need ON
+ ...
+ } OPTIONAL, -- Need ON
+ scg-ConfigPartSCG-r12 SCG-ConfigPartSCG-r12 OPTIONAL -- Need ON
+ }
+}
+
+SCG-Configuration-v12f0 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ scg-ConfigPartSCG-v12f0 SCG-ConfigPartSCG-v12f0 OPTIONAL -- Need ON
+ }
+}
+
+SCG-Configuration-v13c0 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ scg-ConfigPartSCG-v13c0 SCG-ConfigPartSCG-v13c0 OPTIONAL -- Need ON
+ }
+}
+
+SCG-ConfigPartSCG-r12 ::= SEQUENCE {
+ radioResourceConfigDedicatedSCG-r12 RadioResourceConfigDedicatedSCG-r12 OPTIONAL, -- Need ON
+ sCellToReleaseListSCG-r12 SCellToReleaseList-r10 OPTIONAL, -- Need ON
+ pSCellToAddMod-r12 PSCellToAddMod-r12 OPTIONAL, -- Need ON
+ sCellToAddModListSCG-r12 SCellToAddModList-r10 OPTIONAL, -- Need ON
+ mobilityControlInfoSCG-r12 MobilityControlInfoSCG-r12 OPTIONAL, -- Need ON
+ ...,
+ [[
+ sCellToReleaseListSCG-Ext-r13 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON
+ sCellToAddModListSCG-Ext-r13 SCellToAddModListExt-r13 OPTIONAL -- Need ON
+ ]],
+ [[
+ sCellToAddModListSCG-Ext-v1370 SCellToAddModListExt-v1370 OPTIONAL -- Need ON
+ ]],
+ [[
+ pSCellToAddMod-v1440 PSCellToAddMod-v1440 OPTIONAL -- Need ON
+ ]],
+ [[ sCellGroupToReleaseListSCG-r15 SCellGroupToReleaseList-r15 OPTIONAL, -- Need ON
+ sCellGroupToAddModListSCG-r15 SCellGroupToAddModList-r15 OPTIONAL -- Need ON
+ ]],
+ [[ -- NE-DC addition for setup/ modification and release SN configured measurements
+ measConfigSN-r15 MeasConfig OPTIONAL, -- Need ON
+ -- NE-DC additions concerning DRBs/ SRBs are within RadioResourceConfigDedicatedSCG
+ tdm-PatternConfigNE-DC-r15 TDM-PatternConfig-r15 OPTIONAL -- Cond FDD-PSCell
+ ]],
+ [[ p-MaxEUTRA-r15 P-Max OPTIONAL -- Need ON
+ ]]
+}
+
+SCG-ConfigPartSCG-v12f0 ::= SEQUENCE {
+ pSCellToAddMod-v12f0 PSCellToAddMod-v12f0 OPTIONAL, -- Need ON
+ sCellToAddModListSCG-v12f0 SCellToAddModList-v10l0 OPTIONAL -- Need ON
+}
+
+SCG-ConfigPartSCG-v13c0 ::= SEQUENCE {
+ sCellToAddModListSCG-v13c0 SCellToAddModList-v13c0 OPTIONAL, -- Need ON
+ sCellToAddModListSCG-Ext-v13c0 SCellToAddModListExt-v13c0 OPTIONAL -- Need ON
+}
+
+SecurityConfigHO ::= SEQUENCE {
+ handoverType CHOICE {
+ intraLTE SEQUENCE {
+ securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond fullConfig
+ keyChangeIndicator BOOLEAN,
+ nextHopChainingCount NextHopChainingCount
+ },
+ interRAT SEQUENCE {
+ securityAlgorithmConfig SecurityAlgorithmConfig,
+ nas-SecurityParamToEUTRA OCTET STRING (SIZE(6))
+ }
+ },
+ ...
+}
+
+SecurityConfigHO-v1530 ::= SEQUENCE {
+ handoverType-v1530 CHOICE {
+ intra5GC SEQUENCE {
+ securityAlgorithmConfig-r15 SecurityAlgorithmConfig OPTIONAL, -- Cond HO-toEUTRA
+ keyChangeIndicator-r15 BOOLEAN,
+ nextHopChainingCount-r15 NextHopChainingCount,
+ nas-Container-r15 OCTET STRING OPTIONAL -- Need ON
+ },
+ fivegc-ToEPC SEQUENCE {
+ securityAlgorithmConfig-r15 SecurityAlgorithmConfig,
+ nextHopChainingCount-r15 NextHopChainingCount
+ },
+ epc-To5GC SEQUENCE {
+ securityAlgorithmConfig-r15 SecurityAlgorithmConfig,
+ nas-Container-r15 OCTET STRING
+ }
+ },
+ ...
+}
+
+
+RRCConnectionReconfigurationComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcConnectionReconfigurationComplete-r8
+ RRCConnectionReconfigurationComplete-r8-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReconfigurationComplete-r8-IEs ::= SEQUENCE {
+ nonCriticalExtension RRCConnectionReconfigurationComplete-v8a0-IEs OPTIONAL
+}
+
+RRCConnectionReconfigurationComplete-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfigurationComplete-v1020-IEs OPTIONAL
+}
+
+RRCConnectionReconfigurationComplete-v1020-IEs ::= SEQUENCE {
+ rlf-InfoAvailable-r10 ENUMERATED {true} OPTIONAL,
+ logMeasAvailable-r10 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfigurationComplete-v1130-IEs OPTIONAL
+}
+
+RRCConnectionReconfigurationComplete-v1130-IEs ::= SEQUENCE {
+ connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfigurationComplete-v1250-IEs OPTIONAL
+}
+
+RRCConnectionReconfigurationComplete-v1250-IEs ::= SEQUENCE {
+ logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfigurationComplete-v1430-IEs OPTIONAL
+}
+
+RRCConnectionReconfigurationComplete-v1430-IEs ::= SEQUENCE {
+ perCC-GapIndicationList-r14 PerCC-GapIndicationList-r14 OPTIONAL,
+ numFreqEffective-r14 INTEGER (1..12) OPTIONAL,
+ numFreqEffectiveReduced-r14 INTEGER (1..12) OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfigurationComplete-v1510-IEs OPTIONAL
+}
+
+RRCConnectionReconfigurationComplete-v1510-IEs ::= SEQUENCE {
+ scg-ConfigResponseNR-r15 OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfigurationComplete-v1530-IEs OPTIONAL
+}
+
+RRCConnectionReconfigurationComplete-v1530-IEs ::= SEQUENCE {
+ logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL,
+ flightPathInfoAvailable-r15 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfigurationComplete-v1700-IEs
+ OPTIONAL
+}
+
+RRCConnectionReconfigurationComplete-v1700-IEs ::= SEQUENCE {
+ selectedCondReconfigurationToApply-r17 CondReconfigurationId-r16 OPTIONAL,
+ nonCriticalExtension RRCConnectionReconfigurationComplete-v1710-IEs
+ OPTIONAL
+}
+
+RRCConnectionReconfigurationComplete-v1710-IEs ::= SEQUENCE {
+ gnss-ValidityDuration-r17 GNSS-ValidityDuration-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionReestablishment ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ rrcConnectionReestablishment-r8 RRCConnectionReestablishment-r8-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReestablishment-r8-IEs ::= SEQUENCE {
+ radioResourceConfigDedicated RadioResourceConfigDedicated,
+ nextHopChainingCount NextHopChainingCount,
+ nonCriticalExtension RRCConnectionReestablishment-v8a0-IEs OPTIONAL
+}
+
+RRCConnectionReestablishment-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionReestablishmentComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcConnectionReestablishmentComplete-r8
+ RRCConnectionReestablishmentComplete-r8-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReestablishmentComplete-r8-IEs ::= SEQUENCE {
+ nonCriticalExtension RRCConnectionReestablishmentComplete-v920-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-v920-IEs ::= SEQUENCE {
+ rlf-InfoAvailable-r9 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishmentComplete-v8a0-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishmentComplete-v1020-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-v1020-IEs ::= SEQUENCE {
+ logMeasAvailable-r10 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishmentComplete-v1130-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-v1130-IEs ::= SEQUENCE {
+ connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishmentComplete-v1250-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-v1250-IEs ::= SEQUENCE {
+ logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishmentComplete-v1530-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-v1530-IEs ::= SEQUENCE {
+ logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL,
+ flightPathInfoAvailable-r15 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishmentComplete-v1710-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-v1710-IEs ::= SEQUENCE {
+ gnss-ValidityDuration-r17 GNSS-ValidityDuration-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionReestablishmentReject ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcConnectionReestablishmentReject-r8
+ RRCConnectionReestablishmentReject-r8-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReestablishmentReject-r8-IEs ::= SEQUENCE {
+ nonCriticalExtension RRCConnectionReestablishmentReject-v8a0-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentReject-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionReestablishmentRequest ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcConnectionReestablishmentRequest-r8
+ RRCConnectionReestablishmentRequest-r8-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReestablishmentRequest-r8-IEs ::= SEQUENCE {
+ ue-Identity ReestabUE-Identity,
+ reestablishmentCause ReestablishmentCause,
+ spare BIT STRING (SIZE (2))
+}
+
+ReestabUE-Identity ::= SEQUENCE {
+ c-RNTI C-RNTI,
+ physCellId PhysCellId,
+ shortMAC-I ShortMAC-I
+}
+
+ReestablishmentCause ::= ENUMERATED {
+ reconfigurationFailure, handoverFailure,
+ otherFailure, spare1
+}
+
+
+RRCConnectionReject ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ rrcConnectionReject-r8 RRCConnectionReject-r8-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReject-r8-IEs ::= SEQUENCE {
+ waitTime INTEGER (1..16),
+ nonCriticalExtension RRCConnectionReject-v8a0-IEs OPTIONAL
+}
+
+RRCConnectionReject-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionReject-v1020-IEs OPTIONAL
+}
+
+RRCConnectionReject-v1020-IEs ::= SEQUENCE {
+ extendedWaitTime-r10 INTEGER (1..1800) OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionReject-v1130-IEs OPTIONAL
+}
+
+RRCConnectionReject-v1130-IEs ::= SEQUENCE {
+ deprioritisationReq-r11 SEQUENCE {
+ deprioritisationType-r11 ENUMERATED {frequency, e-utra},
+ deprioritisationTimer-r11 ENUMERATED {min5, min10, min15, min30}
+ } OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionReject-v1320-IEs OPTIONAL
+}
+
+RRCConnectionReject-v1320-IEs ::= SEQUENCE {
+ rrc-SuspendIndication-r13 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionRelease ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ rrcConnectionRelease-r8 RRCConnectionRelease-r8-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionRelease-r8-IEs ::= SEQUENCE {
+ releaseCause ReleaseCause,
+ redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need ON
+ idleModeMobilityControlInfo IdleModeMobilityControlInfo OPTIONAL, -- Need OP
+ nonCriticalExtension RRCConnectionRelease-v890-IEs OPTIONAL
+}
+
+RRCConnectionRelease-v890-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING (CONTAINING RRCConnectionRelease-v9e0-IEs) OPTIONAL,
+ nonCriticalExtension RRCConnectionRelease-v920-IEs OPTIONAL
+}
+
+-- Late non critical extensions
+RRCConnectionRelease-v9e0-IEs ::= SEQUENCE {
+ redirectedCarrierInfo-v9e0 RedirectedCarrierInfo-v9e0 OPTIONAL, -- Cond NoRedirect-r8
+ idleModeMobilityControlInfo-v9e0 IdleModeMobilityControlInfo-v9e0 OPTIONAL, -- Cond IdleInfoEUTRA
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Regular non critical extensions
+RRCConnectionRelease-v920-IEs ::= SEQUENCE {
+ cellInfoList-r9 CHOICE {
+ geran-r9 CellInfoListGERAN-r9,
+ utra-FDD-r9 CellInfoListUTRA-FDD-r9,
+ utra-TDD-r9 CellInfoListUTRA-TDD-r9,
+ ...,
+ utra-TDD-r10 CellInfoListUTRA-TDD-r10
+ } OPTIONAL, -- Cond Redirection
+ nonCriticalExtension RRCConnectionRelease-v1020-IEs OPTIONAL
+}
+
+RRCConnectionRelease-v1020-IEs ::= SEQUENCE {
+ extendedWaitTime-r10 INTEGER (1..1800) OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionRelease-v1320-IEs OPTIONAL
+}
+
+RRCConnectionRelease-v1320-IEs::= SEQUENCE {
+ resumeIdentity-r13 ResumeIdentity-r13 OPTIONAL, -- Need OR
+ nonCriticalExtension RRCConnectionRelease-v1530-IEs OPTIONAL
+}
+
+RRCConnectionRelease-v1530-IEs ::= SEQUENCE {
+ drb-ContinueROHC-r15 ENUMERATED {true} OPTIONAL, -- Cond UP-EDTorPUR
+ nextHopChainingCount-r15 NextHopChainingCount OPTIONAL, -- Cond EarlySec
+ measIdleConfig-r15 MeasIdleConfigDedicated-r15 OPTIONAL, -- Need ON
+ rrc-InactiveConfig-r15 RRC-InactiveConfig-r15 OPTIONAL, -- Need OR
+ cn-Type-r15 ENUMERATED {epc,fivegc} OPTIONAL, -- Need OR
+ nonCriticalExtension RRCConnectionRelease-v1540-IEs OPTIONAL
+}
+
+RRCConnectionRelease-v1540-IEs ::= SEQUENCE {
+ waitTime INTEGER (1..16) OPTIONAL, -- Cond 5GC
+ nonCriticalExtension RRCConnectionRelease-v15b0-IEs OPTIONAL
+}
+
+RRCConnectionRelease-v15b0-IEs ::= SEQUENCE {
+ noLastCellUpdate-r15 ENUMERATED {true} OPTIONAL, -- Need OP
+ nonCriticalExtension RRCConnectionRelease-v1610-IEs OPTIONAL
+}
+
+RRCConnectionRelease-v1610-IEs ::= SEQUENCE {
+ fullI-RNTI-r16 I-RNTI-r15 OPTIONAL, -- Need OR
+ shortI-RNTI-r16 ShortI-RNTI-r15 OPTIONAL, -- Need OR
+ pur-Config-r16 CHOICE {release NULL, setup PUR-Config-r16} OPTIONAL, -- Need ON
+ rrc-InactiveConfig-v1610 RRC-InactiveConfig-v1610 OPTIONAL, -- Cond BLCE-IDLEeDRX
+ releaseIdleMeasConfig-r16 ENUMERATED {true} OPTIONAL, -- Need ON
+ altFreqPriorities-r16 ENUMERATED {true} OPTIONAL, -- Need ON
+ t323-r16 ENUMERATED {
+ min5, min10, min20, min30, min60, min120, min180,
+ min720} OPTIONAL, -- Need OR
+ nonCriticalExtension RRCConnectionRelease-v1650-IEs OPTIONAL
+}
+
+RRCConnectionRelease-v1650-IEs ::= SEQUENCE {
+ mpsPriorityIndication-r16 ENUMERATED {true} OPTIONAL, -- Cond Redirection2
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+ReleaseCause ::= ENUMERATED {loadBalancingTAUrequired,
+ other, cs-FallbackHighPriority-v1020, rrc-Suspend-v1320}
+
+RedirectedCarrierInfo ::= CHOICE {
+ eutra ARFCN-ValueEUTRA,
+ geran CarrierFreqsGERAN,
+ utra-FDD ARFCN-ValueUTRA,
+ utra-TDD ARFCN-ValueUTRA,
+ cdma2000-HRPD CarrierFreqCDMA2000,
+ cdma2000-1xRTT CarrierFreqCDMA2000,
+ ...,
+ utra-TDD-r10 CarrierFreqListUTRA-TDD-r10,
+ nr-r15 CarrierInfoNR-r15,
+ nr-r17 CarrierInfoNR-r17
+}
+
+RedirectedCarrierInfo-v9e0 ::= SEQUENCE {
+ eutra-v9e0 ARFCN-ValueEUTRA-v9e0
+}
+
+RRC-InactiveConfig-r15::= SEQUENCE {
+ fullI-RNTI-r15 I-RNTI-r15,
+ shortI-RNTI-r15 ShortI-RNTI-r15,
+ ran-PagingCycle-r15 ENUMERATED { rf32, rf64, rf128, rf256} OPTIONAL, --Need OR
+ ran-NotificationAreaInfo-r15 RAN-NotificationAreaInfo-r15 OPTIONAL, --Need ON
+ periodic-RNAU-timer-r15 ENUMERATED {min5, min10, min20, min30, min60,
+ min120, min360, min720} OPTIONAL, --Need OR
+ nextHopChainingCount-r15 NextHopChainingCount OPTIONAL, --Cond INACTIVE
+ dummy SEQUENCE{} OPTIONAL
+}
+
+RRC-InactiveConfig-v1610::= SEQUENCE {
+ ran-PagingCycle-v1610 ENUMERATED {rf512, rf1024}
+}
+
+RAN-NotificationAreaInfo-r15 ::= CHOICE {
+ cellList PLMN-RAN-AreaCellList-r15,
+ ran-AreaConfigList PLMN-RAN-AreaConfigList-r15
+}
+
+PLMN-RAN-AreaCellList-r15 ::= SEQUENCE (SIZE (1..maxPLMN-r15)) OF PLMN-RAN-AreaCell-r15
+
+PLMN-RAN-AreaCell-r15 ::= SEQUENCE {
+ plmn-Identity-r15 PLMN-Identity OPTIONAL,
+ ran-AreaCells-r15 SEQUENCE (SIZE (1..32)) OF CellIdentity
+}
+
+PLMN-RAN-AreaConfigList-r15 ::= SEQUENCE (SIZE (1..maxPLMN-r15)) OF PLMN-RAN-AreaConfig-r15
+
+PLMN-RAN-AreaConfig-r15 ::= SEQUENCE {
+ plmn-Identity-r15 PLMN-Identity OPTIONAL,
+ ran-Area-r15 SEQUENCE (SIZE (1..16)) OF RAN-AreaConfig-r15
+}
+
+RAN-AreaConfig-r15 ::= SEQUENCE {
+ trackingAreaCode-5GC-r15 TrackingAreaCode-5GC-r15,
+ ran-AreaCodeList-r15 SEQUENCE (SIZE (1..32)) OF RAN-AreaCode-r15 OPTIONAL --Need OR
+}
+
+CarrierFreqListUTRA-TDD-r10 ::= SEQUENCE (SIZE (1..maxFreqUTRA-TDD-r10)) OF ARFCN-ValueUTRA
+
+IdleModeMobilityControlInfo ::= SEQUENCE {
+ freqPriorityListEUTRA FreqPriorityListEUTRA OPTIONAL, -- Need ON
+ freqPriorityListGERAN FreqsPriorityListGERAN OPTIONAL, -- Need ON
+ freqPriorityListUTRA-FDD FreqPriorityListUTRA-FDD OPTIONAL, -- Need ON
+ freqPriorityListUTRA-TDD FreqPriorityListUTRA-TDD OPTIONAL, -- Need ON
+ bandClassPriorityListHRPD BandClassPriorityListHRPD OPTIONAL, -- Need ON
+ bandClassPriorityList1XRTT BandClassPriorityList1XRTT OPTIONAL, -- Need ON
+ t320 ENUMERATED {
+ min5, min10, min20, min30, min60, min120, min180,
+ spare1} OPTIONAL, -- Need OR
+ ...,
+ [[ freqPriorityListExtEUTRA-r12 FreqPriorityListExtEUTRA-r12 OPTIONAL -- Need ON
+ ]],
+ [[ freqPriorityListEUTRA-v1310 FreqPriorityListEUTRA-v1310 OPTIONAL, -- Need ON
+ freqPriorityListExtEUTRA-v1310 FreqPriorityListExtEUTRA-v1310 OPTIONAL -- Need ON
+ ]],
+ [[ freqPriorityListNR-r15 FreqPriorityListNR-r15 OPTIONAL -- Need ON
+ ]]
+}
+
+IdleModeMobilityControlInfo-v9e0 ::= SEQUENCE {
+ freqPriorityListEUTRA-v9e0 SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-v9e0
+}
+
+FreqPriorityListEUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA
+
+FreqPriorityListExtEUTRA-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-r12
+
+FreqPriorityListEUTRA-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-v1310
+
+FreqPriorityListExtEUTRA-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-v1310
+
+FreqPriorityEUTRA ::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ cellReselectionPriority CellReselectionPriority
+}
+
+FreqPriorityEUTRA-v9e0 ::= SEQUENCE {
+ carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Cond EARFCN-max
+}
+
+FreqPriorityEUTRA-r12 ::= SEQUENCE {
+ carrierFreq-r12 ARFCN-ValueEUTRA-r9,
+ cellReselectionPriority-r12 CellReselectionPriority
+}
+
+FreqPriorityEUTRA-v1310 ::= SEQUENCE {
+ cellReselectionSubPriority-r13 CellReselectionSubPriority-r13 OPTIONAL -- Need ON
+}
+
+FreqPriorityListNR-r15 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityNR-r15
+
+FreqPriorityNR-r15 ::= SEQUENCE {
+ carrierFreq-r15 ARFCN-ValueNR-r15,
+ cellReselectionPriority-r15 CellReselectionPriority,
+ cellReselectionSubPriority-r15 CellReselectionSubPriority-r13 OPTIONAL -- Need OR
+}
+
+FreqsPriorityListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF FreqsPriorityGERAN
+
+FreqsPriorityGERAN ::= SEQUENCE {
+ carrierFreqs CarrierFreqsGERAN,
+ cellReselectionPriority CellReselectionPriority
+}
+
+FreqPriorityListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF FreqPriorityUTRA-FDD
+
+FreqPriorityUTRA-FDD ::= SEQUENCE {
+ carrierFreq ARFCN-ValueUTRA,
+ cellReselectionPriority CellReselectionPriority
+}
+
+FreqPriorityListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF FreqPriorityUTRA-TDD
+
+FreqPriorityUTRA-TDD ::= SEQUENCE {
+ carrierFreq ARFCN-ValueUTRA,
+ cellReselectionPriority CellReselectionPriority
+}
+
+BandClassPriorityListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriorityHRPD
+
+BandClassPriorityHRPD ::= SEQUENCE {
+ bandClass BandclassCDMA2000,
+ cellReselectionPriority CellReselectionPriority
+}
+
+BandClassPriorityList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriority1XRTT
+
+BandClassPriority1XRTT ::= SEQUENCE {
+ bandClass BandclassCDMA2000,
+ cellReselectionPriority CellReselectionPriority
+}
+
+CellInfoListGERAN-r9 ::= SEQUENCE (SIZE (1..maxCellInfoGERAN-r9)) OF CellInfoGERAN-r9
+
+CellInfoGERAN-r9 ::= SEQUENCE {
+ physCellId-r9 PhysCellIdGERAN,
+ carrierFreq-r9 CarrierFreqGERAN,
+ systemInformation-r9 SystemInfoListGERAN
+}
+
+CarrierInfoNR-r15 ::= SEQUENCE {
+ carrierFreq-r15 ARFCN-ValueNR-r15,
+ subcarrierSpacingSSB-r15 ENUMERATED {kHz15, kHz30, kHz120, kHz240},
+ smtc-r15 MTC-SSB-NR-r15 OPTIONAL -- Need OP
+}
+
+CarrierInfoNR-r17 ::= SEQUENCE {
+ carrierFreq-r17 ARFCN-ValueNR-r15,
+ subcarrierSpacingSSB-r17 ENUMERATED {kHz15, kHz30, kHz120, kHz240, kHz480, spare1},
+ smtc-r17 MTC-SSB-NR-r15 OPTIONAL -- Need OP
+}
+
+CellInfoListUTRA-FDD-r9 ::= SEQUENCE (SIZE (1..maxCellInfoUTRA-r9)) OF CellInfoUTRA-FDD-r9
+
+CellInfoUTRA-FDD-r9 ::= SEQUENCE {
+ physCellId-r9 PhysCellIdUTRA-FDD,
+ utra-BCCH-Container-r9 OCTET STRING
+}
+
+CellInfoListUTRA-TDD-r9 ::= SEQUENCE (SIZE (1..maxCellInfoUTRA-r9)) OF CellInfoUTRA-TDD-r9
+
+CellInfoUTRA-TDD-r9 ::= SEQUENCE {
+ physCellId-r9 PhysCellIdUTRA-TDD,
+ utra-BCCH-Container-r9 OCTET STRING
+}
+
+CellInfoListUTRA-TDD-r10 ::= SEQUENCE (SIZE (1..maxCellInfoUTRA-r9)) OF CellInfoUTRA-TDD-r10
+
+CellInfoUTRA-TDD-r10 ::= SEQUENCE {
+ physCellId-r10 PhysCellIdUTRA-TDD,
+ carrierFreq-r10 ARFCN-ValueUTRA,
+ utra-BCCH-Container-r10 OCTET STRING
+}
+
+
+RRCConnectionRequest ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcConnectionRequest-r8 RRCConnectionRequest-r8-IEs,
+ rrcConnectionRequest-r15 RRCConnectionRequest-5GC-r15-IEs
+ }
+}
+
+RRCConnectionRequest-r8-IEs ::= SEQUENCE {
+ ue-Identity InitialUE-Identity,
+ establishmentCause EstablishmentCause,
+ spare BIT STRING (SIZE (1))
+}
+
+RRCConnectionRequest-5GC-r15-IEs ::= SEQUENCE {
+ ue-Identity-r15 InitialUE-Identity-5GC-r15,
+ establishmentCause-r15 EstablishmentCause-5GC-r15,
+ spare BIT STRING (SIZE (1))
+}
+
+InitialUE-Identity ::= CHOICE {
+ s-TMSI S-TMSI,
+ randomValue BIT STRING (SIZE (40))
+}
+
+InitialUE-Identity-5GC-r15 ::= CHOICE {
+ ng-5G-S-TMSI-Part1 BIT STRING (SIZE (40)),
+ randomValue BIT STRING (SIZE (40))
+}
+
+
+EstablishmentCause ::= ENUMERATED {
+ emergency, highPriorityAccess, mt-Access, mo-Signalling,
+ mo-Data, delayTolerantAccess-v1020, mo-VoiceCall-v1280, spare1}
+
+EstablishmentCause-5GC-r15 ::= ENUMERATED {
+ emergency, highPriorityAccess, mt-Access, mo-Signalling,
+ mo-Data, mo-VoiceCall, spare2, spare1}
+
+
+RRCConnectionResume-r13 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ rrcConnectionResume-r13 RRCConnectionResume-r13-IEs,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionResume-r13-IEs ::= SEQUENCE {
+ radioResourceConfigDedicated-r13 RadioResourceConfigDedicated OPTIONAL, -- Need ON
+ nextHopChainingCount-r13 NextHopChainingCount,
+ measConfig-r13 MeasConfig OPTIONAL, -- Need ON
+ antennaInfoDedicatedPCell-r13 AntennaInfoDedicated-v10i0 OPTIONAL, -- Need ON
+ drb-ContinueROHC-r13 ENUMERATED {true} OPTIONAL, -- Need OP
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ rrcConnectionResume-v1430-IEs RRCConnectionResume-v1430-IEs OPTIONAL
+}
+
+RRCConnectionResume-v1430-IEs ::= SEQUENCE {
+ otherConfig-r14 OtherConfig-r9 OPTIONAL, -- Need ON
+ rrcConnectionResume-v1510-IEs RRCConnectionResume-v1510-IEs OPTIONAL
+}
+
+RRCConnectionResume-v1510-IEs ::= SEQUENCE {
+ sk-Counter-r15 INTEGER (0.. 65535) OPTIONAL, -- Need ON
+ nr-RadioBearerConfig1-r15 OCTET STRING OPTIONAL, -- Need ON
+ nr-RadioBearerConfig2-r15 OCTET STRING OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionResume-v1530-IEs OPTIONAL
+}
+
+RRCConnectionResume-v1530-IEs ::= SEQUENCE {
+ fullConfig-r15 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionResume-v1610-IEs OPTIONAL
+}
+
+RRCConnectionResume-v1610-IEs ::= SEQUENCE {
+ idleModeMeasurementReq-r16 ENUMERATED {true} OPTIONAL, -- Need ON
+ restoreMCG-SCells-r16 ENUMERATED {true} OPTIONAL, -- Need ON
+ restoreSCG-r16 ENUMERATED {true} OPTIONAL, -- Cond EarlySec
+ sCellToAddModList-r16 SCellToAddModList-r16 OPTIONAL, -- Cond EarlySec
+ sCellToReleaseList-r16 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON
+ sCellGroupToReleaseList-r16 SCellGroupToReleaseList-r15 OPTIONAL, -- Need ON
+ sCellGroupToAddModList-r16 SCellGroupToAddModList-r15 OPTIONAL, -- Cond EarlySec
+ nr-SecondaryCellGroupConfig-r16 OCTET STRING OPTIONAL, -- Cond RestoreSCG
+ p-MaxEUTRA-r16 P-Max OPTIONAL, -- Cond SCG
+ p-MaxUE-FR1-r16 P-Max OPTIONAL, -- Cond SCG
+ tdm-PatternConfig-r16 TDM-PatternConfig-r15 OPTIONAL, -- Cond FDD-PCell
+ tdm-PatternConfig2-r16 TDM-PatternConfig-r15 OPTIONAL, -- Need OR
+ nonCriticalExtension RRCConnectionResume-v1700-IEs OPTIONAL
+}
+
+RRCConnectionResume-v1700-IEs ::= SEQUENCE {
+ scg-State-r17 ENUMERATED {deactivated} OPTIONAL, -- Need OP
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionResumeComplete-r13 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcConnectionResumeComplete-r13 RRCConnectionResumeComplete-r13-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionResumeComplete-r13-IEs ::= SEQUENCE {
+ selectedPLMN-Identity-r13 INTEGER (1..maxPLMN-r11) OPTIONAL,
+ dedicatedInfoNAS-r13 DedicatedInfoNAS OPTIONAL,
+ rlf-InfoAvailable-r13 ENUMERATED {true} OPTIONAL,
+ logMeasAvailable-r13 ENUMERATED {true} OPTIONAL,
+ connEstFailInfoAvailable-r13 ENUMERATED {true} OPTIONAL,
+ mobilityState-r13 ENUMERATED {normal, medium, high, spare} OPTIONAL,
+ mobilityHistoryAvail-r13 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableMBSFN-r13 ENUMERATED {true} OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionResumeComplete-v1530-IEs OPTIONAL
+}
+
+RRCConnectionResumeComplete-v1530-IEs ::= SEQUENCE {
+ logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL,
+ idleMeasAvailable-r15 ENUMERATED {true} OPTIONAL,
+ flightPathInfoAvailable-r15 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionResumeComplete-v1610-IEs OPTIONAL
+}
+
+RRCConnectionResumeComplete-v1610-IEs ::= SEQUENCE {
+ measResultListIdle-r16 MeasResultListIdle-r15 OPTIONAL,
+ measResultListExtIdle-r16 MeasResultListExtIdle-r16 OPTIONAL,
+ measResultListIdleNR-r16 MeasResultListIdleNR-r16 OPTIONAL,
+ scg-ConfigResponseNR-r16 OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionResumeComplete-v1710-IEs OPTIONAL
+}
+
+RRCConnectionResumeComplete-v1710-IEs ::= SEQUENCE {
+ gnss-ValidityDuration-r17 GNSS-ValidityDuration-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+
+RRCConnectionResumeRequest-r13 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcConnectionResumeRequest-r13 RRCConnectionResumeRequest-r13-IEs,
+ rrcConnectionResumeRequest-r15 RRCConnectionResumeRequest-5GC-r15-IEs
+ }
+}
+
+RRCConnectionResumeRequest-r13-IEs ::= SEQUENCE {
+ resumeIdentity-r13 CHOICE {
+ resumeID-r13 ResumeIdentity-r13,
+ truncatedResumeID-r13 BIT STRING (SIZE (24))
+ },
+ shortResumeMAC-I-r13 BIT STRING (SIZE (16)),
+ resumeCause-r13 ResumeCause,
+ spare BIT STRING (SIZE (1))
+}
+
+RRCConnectionResumeRequest-5GC-r15-IEs ::= SEQUENCE {
+ resumeIdentity-r15 CHOICE {
+ fullI-RNTI-r15 I-RNTI-r15,
+ shortI-RNTI-r15 ShortI-RNTI-r15
+ },
+ shortResumeMAC-I-r15 BIT STRING (SIZE (16)),
+ resumeCause-r15 ResumeCause-r15,
+ spare BIT STRING (SIZE (1))
+}
+
+ResumeCause ::= ENUMERATED {
+ emergency, highPriorityAccess, mt-Access, mo-Signalling,
+ mo-Data, delayTolerantAccess-v1020, mo-VoiceCall-v1280,
+ mt-EDT-v1610
+}
+
+ResumeCause-r15 ::= ENUMERATED {
+ emergency, highPriorityAccess, mt-Access, mo-Signalling,
+ mo-Data, rna-Update, mo-VoiceCall, spare1
+}
+
+
+RRCConnectionSetup ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ rrcConnectionSetup-r8 RRCConnectionSetup-r8-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionSetup-r8-IEs ::= SEQUENCE {
+ radioResourceConfigDedicated RadioResourceConfigDedicated,
+ nonCriticalExtension RRCConnectionSetup-v8a0-IEs OPTIONAL
+}
+
+RRCConnectionSetup-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionSetup-v1610-IEs OPTIONAL
+}
+
+RRCConnectionSetup-v1610-IEs ::= SEQUENCE {
+ dedicatedInfoNAS-r16 DedicatedInfoNAS OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionSetupComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ rrcConnectionSetupComplete-r8 RRCConnectionSetupComplete-r8-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionSetupComplete-r8-IEs ::= SEQUENCE {
+ selectedPLMN-Identity INTEGER (1..maxPLMN-r11),
+ registeredMME RegisteredMME OPTIONAL,
+ dedicatedInfoNAS DedicatedInfoNAS,
+ nonCriticalExtension RRCConnectionSetupComplete-v8a0-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1020-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1020-IEs ::= SEQUENCE {
+ gummei-Type-r10 ENUMERATED {native, mapped} OPTIONAL,
+ rlf-InfoAvailable-r10 ENUMERATED {true} OPTIONAL,
+ logMeasAvailable-r10 ENUMERATED {true} OPTIONAL,
+ rn-SubframeConfigReq-r10 ENUMERATED {required, notRequired} OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1130-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1130-IEs ::= SEQUENCE {
+ connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1250-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1250-IEs ::= SEQUENCE {
+ mobilityState-r12 ENUMERATED {normal, medium, high, spare} OPTIONAL,
+ mobilityHistoryAvail-r12 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1320-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1320-IEs ::= SEQUENCE {
+ ce-ModeB-r13 ENUMERATED {supported} OPTIONAL,
+ s-TMSI-r13 S-TMSI OPTIONAL,
+ attachWithoutPDN-Connectivity-r13 ENUMERATED {true} OPTIONAL,
+ up-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL,
+ cp-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1330-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1330-IEs ::= SEQUENCE {
+ ue-CE-NeedULGaps-r13 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1430-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1430-IEs ::= SEQUENCE {
+ dcn-ID-r14 INTEGER (0..65535) OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1530-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1530-IEs ::= SEQUENCE {
+ logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL,
+ idleMeasAvailable-r15 ENUMERATED {true} OPTIONAL,
+ flightPathInfoAvailable-r15 ENUMERATED {true} OPTIONAL,
+ connectTo5GC-r15 ENUMERATED {true} OPTIONAL,
+ registeredAMF-r15 RegisteredAMF-r15 OPTIONAL,
+ s-NSSAI-list-r15 SEQUENCE(SIZE (1..maxNrofS-NSSAI-r15)) OF S-NSSAI-r15 OPTIONAL,
+ ng-5G-S-TMSI-Bits-r15 CHOICE {
+ ng-5G-S-TMSI-r15 NG-5G-S-TMSI-r15,
+ ng-5G-S-TMSI-Part2-r15 BIT STRING (SIZE (8))
+ } OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1540-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1540-IEs ::= SEQUENCE {
+ gummei-Type-v1540 ENUMERATED {mappedFrom5G-v1540} OPTIONAL,
+ guami-Type-r15 ENUMERATED {native, mapped} OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1610-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1610-IEs ::= SEQUENCE {
+ rlos-Request-r16 ENUMERATED {true} OPTIONAL,
+ cp-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL,
+ up-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL,
+ pur-ConfigID-r16 PUR-ConfigID-r16 OPTIONAL,
+ lte-M-r16 ENUMERATED {true} OPTIONAL,
+ iab-NodeIndication-r16 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1690-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1690-IEs ::= SEQUENCE {
+ ul-RRC-Segmentation-r16 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-v1710-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-v1710-IEs ::= SEQUENCE {
+ gnss-ValidityDuration-r17 GNSS-ValidityDuration-r17 OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RegisteredMME ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL,
+ mmegi BIT STRING (SIZE (16)),
+ mmec MMEC
+}
+
+RegisteredAMF-r15 ::= SEQUENCE {
+ plmn-Identity-r15 PLMN-Identity OPTIONAL,
+ amf-Identifier-r15 AMF-Identifier-r15
+}
+
+
+RRCEarlyDataComplete-r15 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcEarlyDataComplete-r15 RRCEarlyDataComplete-r15-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCEarlyDataComplete-r15-IEs ::= SEQUENCE {
+ dedicatedInfoNAS-r15 DedicatedInfoNAS OPTIONAL, -- Need ON
+ extendedWaitTime-r15 INTEGER (1..1800) OPTIONAL, -- Need ON
+ idleModeMobilityControlInfo-r15 IdleModeMobilityControlInfo OPTIONAL, -- Need OP
+ idleModeMobilityControlInfoExt-r15 IdleModeMobilityControlInfo-v9e0 OPTIONAL, -- Cond IdleInfoEUTRA
+ redirectedCarrierInfo-r15 RedirectedCarrierInfo-r15-IEs OPTIONAL, -- Need ON
+ nonCriticalExtension RRCEarlyDataComplete-v1590-IEs OPTIONAL
+}
+
+RRCEarlyDataComplete-v1590-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RedirectedCarrierInfo-r15-IEs ::= CHOICE {
+ eutra ARFCN-ValueEUTRA-r9,
+ geran CarrierFreqsGERAN,
+ utra-FDD ARFCN-ValueUTRA,
+ cdma2000-HRPD CarrierFreqCDMA2000,
+ cdma2000-1xRTT CarrierFreqCDMA2000,
+ utra-TDD CarrierFreqListUTRA-TDD-r10
+}
+
+
+RRCEarlyDataRequest-r15 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcEarlyDataRequest-r15 RRCEarlyDataRequest-r15-IEs,
+ criticalExtensionsFuture CHOICE {
+ rrcEarlyDataRequest-5GC-r16 RRCEarlyDataRequest-5GC-r16-IEs,
+ criticalExtensionsFuture-r16 SEQUENCE {}
+ }
+ }
+}
+
+RRCEarlyDataRequest-r15-IEs ::= SEQUENCE {
+ s-TMSI-r15 S-TMSI,
+ establishmentCause-r15 ENUMERATED {mo-Data, delayTolerantAccess},
+ dedicatedInfoNAS-r15 DedicatedInfoNAS,
+ nonCriticalExtension RRCEarlyDataRequest-v1590-IEs OPTIONAL
+}
+
+RRCEarlyDataRequest-v1590-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCEarlyDataRequest-v1610-IEs OPTIONAL
+}
+
+RRCEarlyDataRequest-v1610-IEs ::= SEQUENCE {
+ establishmentCause-v1610 ENUMERATED {mt-Access, spare3, spare2, spare1},
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RRCEarlyDataRequest-5GC-r16-IEs ::= SEQUENCE {
+ ng-5G-S-TMSI-r16 NG-5G-S-TMSI-r15,
+ establishmentCause-r16 ENUMERATED {mo-Data, spare3, spare2, spare1},
+ dedicatedInfoNAS-r16 DedicatedInfoNAS,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SCGFailureInformation-r12 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ scgFailureInformation-r12 SCGFailureInformation-r12-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SCGFailureInformation-r12-IEs ::= SEQUENCE {
+ failureReportSCG-r12 FailureReportSCG-r12 OPTIONAL,
+ nonCriticalExtension SCGFailureInformation-v12d0a-IEs OPTIONAL
+}
+
+SCGFailureInformation-v12d0a-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING (CONTAINING SCGFailureInformation-v12d0b-IEs) OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Late non-critical extensions:
+SCGFailureInformation-v12d0b-IEs ::= SEQUENCE {
+ failureReportSCG-v12d0 FailureReportSCG-v12d0 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Regular non-critical extensions:
+FailureReportSCG-r12 ::= SEQUENCE {
+ failureType-r12 ENUMERATED {t313-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx, scg-ChangeFailure },
+ measResultServFreqList-r12 MeasResultServFreqList-r10 OPTIONAL,
+ measResultNeighCells-r12 MeasResultList2EUTRA-r9 OPTIONAL,
+ ...,
+ [[ failureType-v1290 ENUMERATED {maxUL-TimingDiff-v1290} OPTIONAL
+ ]],
+ [[ measResultServFreqListExt-r13 MeasResultServFreqListExt-r13 OPTIONAL
+ ]]
+}
+
+FailureReportSCG-v12d0 ::= SEQUENCE {
+ measResultNeighCells-v12d0 MeasResultList2EUTRA-v9e0 OPTIONAL
+}
+
+
+SCGFailureInformationNR-r15 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ scgFailureInformationNR-r15 SCGFailureInformationNR-r15-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SCGFailureInformationNR-r15-IEs ::= SEQUENCE {
+ failureReportSCG-NR-r15 FailureReportSCG-NR-r15 OPTIONAL,
+ nonCriticalExtension SCGFailureInformationNR-v1590-IEs OPTIONAL
+}
+
+SCGFailureInformationNR-v1590-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+FailureReportSCG-NR-r15 ::= SEQUENCE {
+ failureType-r15 ENUMERATED {
+ t310-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx,
+ synchReconfigFailureSCG, scg-reconfigFailure,
+ srb3-IntegrityFailure, dummy},
+ measResultFreqListNR-r15 MeasResultFreqListFailNR-r15 OPTIONAL,
+ measResultSCG-r15 OCTET STRING OPTIONAL,
+ ...,
+ [[ locationInfo-r16 LocationInfo-r10 OPTIONAL,
+ logMeasResultListBT-r16 LogMeasResultListBT-r15 OPTIONAL,
+ logMeasResultListWLAN-r16 LogMeasResultListWLAN-r15 OPTIONAL,
+ failureType-v1610 ENUMERATED {t312-Expiry, scg-lbtFailure,
+ beamFailureRecoveryFailure, bh-RLF-r16,
+ beamFailure-r17,
+ spare3, spare2, spare1} OPTIONAL
+ ]]
+}
+
+MeasResultFreqListFailNR-r15 ::= SEQUENCE (SIZE (1..maxFreqNR-r15)) OF MeasResultFreqFailNR-r15
+
+MeasResultFreqFailNR-r15 ::= SEQUENCE {
+ carrierFreq-r15 ARFCN-ValueNR-r15,
+ measResultCellList-r15 MeasResultCellListNR-r15 OPTIONAL,
+ ...
+}
+
+
+SCPTMConfiguration-r13 ::= SEQUENCE {
+ sc-mtch-InfoList-r13 SC-MTCH-InfoList-r13,
+ scptm-NeighbourCellList-r13 SCPTM-NeighbourCellList-r13 OPTIONAL, -- Need OP
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SCPTMConfiguration-v1340 OPTIONAL
+}
+
+SCPTMConfiguration-v1340 ::= SEQUENCE {
+ p-b-r13 INTEGER (0..3) OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SCPTMConfiguration-BR-r14 ::= SEQUENCE {
+ sc-mtch-InfoList-r14 SC-MTCH-InfoList-BR-r14,
+ scptm-NeighbourCellList-r14 SCPTM-NeighbourCellList-r13 OPTIONAL, -- Need OP
+ p-b-r14 INTEGER (0..3) OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SCPTMConfiguration-BR-v1610 OPTIONAL
+}
+
+SCPTMConfiguration-BR-v1610 ::= SEQUENCE {
+ sc-MTCH-InfoList-MultiTB-r16 SC-MTCH-InfoList-BR-r14,
+ multiTB-Gap-r16 ENUMERATED {sf2, sf4, sf8, sf16, sf32, sf64, sf128, spare}
+ OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SecurityModeCommand ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ securityModeCommand-r8 SecurityModeCommand-r8-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SecurityModeCommand-r8-IEs ::= SEQUENCE {
+ securityConfigSMC SecurityConfigSMC,
+ nonCriticalExtension SecurityModeCommand-v8a0-IEs OPTIONAL
+}
+
+SecurityModeCommand-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+SecurityConfigSMC ::= SEQUENCE {
+ securityAlgorithmConfig SecurityAlgorithmConfig,
+ ...
+}
+
+
+SecurityModeComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ securityModeComplete-r8 SecurityModeComplete-r8-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SecurityModeComplete-r8-IEs ::= SEQUENCE {
+ nonCriticalExtension SecurityModeComplete-v8a0-IEs OPTIONAL
+}
+
+SecurityModeComplete-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SecurityModeFailure ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ securityModeFailure-r8 SecurityModeFailure-r8-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SecurityModeFailure-r8-IEs ::= SEQUENCE {
+ nonCriticalExtension SecurityModeFailure-v8a0-IEs OPTIONAL
+}
+
+SecurityModeFailure-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SidelinkUEInformation-r12 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ sidelinkUEInformation-r12 SidelinkUEInformation-r12-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SidelinkUEInformation-r12-IEs ::= SEQUENCE {
+ commRxInterestedFreq-r12 ARFCN-ValueEUTRA-r9 OPTIONAL,
+ commTxResourceReq-r12 SL-CommTxResourceReq-r12 OPTIONAL,
+ discRxInterest-r12 ENUMERATED {true} OPTIONAL,
+ discTxResourceReq-r12 INTEGER (1..63) OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SidelinkUEInformation-v1310-IEs OPTIONAL
+}
+
+SidelinkUEInformation-v1310-IEs ::= SEQUENCE {
+ commTxResourceReqUC-r13 SL-CommTxResourceReq-r12 OPTIONAL,
+ commTxResourceInfoReqRelay-r13 SEQUENCE {
+ commTxResourceReqRelay-r13 SL-CommTxResourceReq-r12 OPTIONAL,
+ commTxResourceReqRelayUC-r13 SL-CommTxResourceReq-r12 OPTIONAL,
+ ue-Type-r13 ENUMERATED {relayUE, remoteUE}
+ } OPTIONAL,
+ discTxResourceReq-v1310 SEQUENCE {
+ carrierFreqDiscTx-r13 INTEGER (1..maxFreq) OPTIONAL,
+ discTxResourceReqAddFreq-r13 SL-DiscTxResourceReqPerFreqList-r13 OPTIONAL
+ } OPTIONAL,
+ discTxResourceReqPS-r13 SL-DiscTxResourceReq-r13 OPTIONAL,
+ discRxGapReq-r13 SL-GapRequest-r13 OPTIONAL,
+ discTxGapReq-r13 SL-GapRequest-r13 OPTIONAL,
+ discSysInfoReportFreqList-r13 SL-DiscSysInfoReportFreqList-r13 OPTIONAL,
+ nonCriticalExtension SidelinkUEInformation-v1430-IEs OPTIONAL
+}
+
+SidelinkUEInformation-v1430-IEs ::= SEQUENCE {
+ v2x-CommRxInterestedFreqList-r14 SL-V2X-CommFreqList-r14 OPTIONAL,
+ p2x-CommTxType-r14 ENUMERATED {true} OPTIONAL,
+ v2x-CommTxResourceReq-r14 SL-V2X-CommTxFreqList-r14 OPTIONAL,
+ nonCriticalExtension SidelinkUEInformation-v1530-IEs OPTIONAL
+}
+
+SidelinkUEInformation-v1530-IEs ::= SEQUENCE {
+ reliabilityInfoListSL-r15 SL-ReliabilityList-r15 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+SL-CommTxResourceReq-r12 ::= SEQUENCE {
+ carrierFreq-r12 ARFCN-ValueEUTRA-r9 OPTIONAL,
+ destinationInfoList-r12 SL-DestinationInfoList-r12
+}
+
+SL-DiscTxResourceReqPerFreqList-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-DiscTxResourceReq-r13
+
+SL-DiscTxResourceReq-r13 ::= SEQUENCE {
+ carrierFreqDiscTx-r13 INTEGER (1..maxFreq) OPTIONAL,
+ discTxResourceReq-r13 INTEGER (1..63)
+}
+
+SL-DestinationInfoList-r12 ::= SEQUENCE (SIZE (1..maxSL-Dest-r12)) OF SL-DestinationIdentity-r12
+
+SL-DestinationIdentity-r12 ::= BIT STRING (SIZE (24))
+
+SL-DiscSysInfoReportFreqList-r13 ::= SEQUENCE (SIZE (1.. maxSL-DiscSysInfoReportFreq-r13)) OF SL-DiscSysInfoReport-r13
+
+SL-V2X-CommFreqList-r14 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF INTEGER (0..maxFreqV2X-1-r14)
+
+SL-V2X-CommTxFreqList-r14 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF SL-V2X-CommTxResourceReq-r14
+
+SL-V2X-CommTxResourceReq-r14 ::= SEQUENCE {
+ carrierFreqCommTx-r14 INTEGER (0.. maxFreqV2X-1-r14) OPTIONAL,
+ v2x-TypeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL,
+ v2x-DestinationInfoList-r14 SL-DestinationInfoList-r12 OPTIONAL
+}
+
+
+SystemInformation-BR-r13 ::= SystemInformation
+
+SystemInformation-MBMS-r14 ::= SystemInformation
+
+SystemInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ systemInformation-r8 SystemInformation-r8-IEs,
+ criticalExtensionsFuture-r15 CHOICE {
+ posSystemInformation-r15 PosSystemInformation-r15-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+ }
+}
+SystemInformation-r8-IEs ::= SEQUENCE {
+ sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
+ sib2 SystemInformationBlockType2,
+ sib3 SystemInformationBlockType3,
+ sib4 SystemInformationBlockType4,
+ sib5 SystemInformationBlockType5,
+ sib6 SystemInformationBlockType6,
+ sib7 SystemInformationBlockType7,
+ sib8 SystemInformationBlockType8,
+ sib9 SystemInformationBlockType9,
+ sib10 SystemInformationBlockType10,
+ sib11 SystemInformationBlockType11,
+ ...,
+ sib12-v920 SystemInformationBlockType12-r9,
+ sib13-v920 SystemInformationBlockType13-r9,
+ sib14-v1130 SystemInformationBlockType14-r11,
+ sib15-v1130 SystemInformationBlockType15-r11,
+ sib16-v1130 SystemInformationBlockType16-r11,
+ sib17-v1250 SystemInformationBlockType17-r12,
+ sib18-v1250 SystemInformationBlockType18-r12,
+ sib19-v1250 SystemInformationBlockType19-r12,
+ sib20-v1310 SystemInformationBlockType20-r13,
+ sib21-v1430 SystemInformationBlockType21-r14,
+ sib24-v1530 SystemInformationBlockType24-r15,
+ sib25-v1530 SystemInformationBlockType25-r15,
+ sib26-v1530 SystemInformationBlockType26-r15,
+ sib26a-v1610 SystemInformationBlockType26a-r16,
+ sib27-v1610 SystemInformationBlockType27-r16,
+ sib28-v1610 SystemInformationBlockType28-r16,
+ sib29-v1610 SystemInformationBlockType29-r16,
+ sib30-v1700 SystemInformationBlockType30-r17,
+ sib31-v1700 SystemInformationBlockType31-r17,
+ sib32-v1700 SystemInformationBlockType32-r17
+ },
+ nonCriticalExtension SystemInformation-v8a0-IEs OPTIONAL
+}
+
+SystemInformation-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+PosSystemInformation-r15-IEs ::= SEQUENCE {
+ posSIB-TypeAndInfo-r15 SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
+ posSib1-1-r15 SystemInformationBlockPos-r15,
+ posSib1-2-r15 SystemInformationBlockPos-r15,
+ posSib1-3-r15 SystemInformationBlockPos-r15,
+ posSib1-4-r15 SystemInformationBlockPos-r15,
+ posSib1-5-r15 SystemInformationBlockPos-r15,
+ posSib1-6-r15 SystemInformationBlockPos-r15,
+ posSib1-7-r15 SystemInformationBlockPos-r15,
+ posSib2-1-r15 SystemInformationBlockPos-r15,
+ posSib2-2-r15 SystemInformationBlockPos-r15,
+ posSib2-3-r15 SystemInformationBlockPos-r15,
+ posSib2-4-r15 SystemInformationBlockPos-r15,
+ posSib2-5-r15 SystemInformationBlockPos-r15,
+ posSib2-6-r15 SystemInformationBlockPos-r15,
+ posSib2-7-r15 SystemInformationBlockPos-r15,
+ posSib2-8-r15 SystemInformationBlockPos-r15,
+ posSib2-9-r15 SystemInformationBlockPos-r15,
+ posSib2-10-r15 SystemInformationBlockPos-r15,
+ posSib2-11-r15 SystemInformationBlockPos-r15,
+ posSib2-12-r15 SystemInformationBlockPos-r15,
+ posSib2-13-r15 SystemInformationBlockPos-r15,
+ posSib2-14-r15 SystemInformationBlockPos-r15,
+ posSib2-15-r15 SystemInformationBlockPos-r15,
+ posSib2-16-r15 SystemInformationBlockPos-r15,
+ posSib2-17-r15 SystemInformationBlockPos-r15,
+ posSib2-18-r15 SystemInformationBlockPos-r15,
+ posSib2-19-r15 SystemInformationBlockPos-r15,
+ posSib3-1-r15 SystemInformationBlockPos-r15,
+ ...,
+ [[
+ posSib1-8-v1610 SystemInformationBlockPos-r15,
+ posSib2-20-v1610 SystemInformationBlockPos-r15,
+ posSib2-21-v1610 SystemInformationBlockPos-r15,
+ posSib2-22-v1610 SystemInformationBlockPos-r15,
+ posSib2-23-v1610 SystemInformationBlockPos-r15,
+ posSib2-24-v1610 SystemInformationBlockPos-r15,
+ posSib2-25-v1610 SystemInformationBlockPos-r15,
+ posSib4-1-v1610 SystemInformationBlockPos-r15,
+ posSib5-1-v1610 SystemInformationBlockPos-r15
+ ]],
+ [[
+ posSib1-9-v1700 SystemInformationBlockPos-r15,
+ posSib1-10-v1700 SystemInformationBlockPos-r15
+ ]]
+ },
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SystemInformationBlockType1-BR-r13 ::= SystemInformationBlockType1
+
+SystemInformationBlockType1 ::= SEQUENCE {
+ cellAccessRelatedInfo SEQUENCE {
+ plmn-IdentityList PLMN-IdentityList,
+ trackingAreaCode TrackingAreaCode,
+ cellIdentity CellIdentity,
+ cellBarred ENUMERATED {barred, notBarred},
+ intraFreqReselection ENUMERATED {allowed, notAllowed},
+ csg-Indication BOOLEAN,
+ csg-Identity CSG-Identity OPTIONAL -- Need OR
+ },
+ cellSelectionInfo SEQUENCE {
+ q-RxLevMin Q-RxLevMin,
+ q-RxLevMinOffset INTEGER (1..8) OPTIONAL -- Need OP
+ },
+ p-Max P-Max OPTIONAL, -- Need OP
+ freqBandIndicator FreqBandIndicator,
+ schedulingInfoList SchedulingInfoList,
+ tdd-Config TDD-Config OPTIONAL, -- Cond TDD
+ si-WindowLength ENUMERATED {
+ ms1, ms2, ms5, ms10, ms15, ms20,
+ ms40},
+ systemInfoValueTag INTEGER (0..31),
+ nonCriticalExtension SystemInformationBlockType1-v890-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v890-IEs::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType1-v8h0-IEs) OPTIONAL,
+ nonCriticalExtension SystemInformationBlockType1-v920-IEs OPTIONAL
+}
+
+-- Late non critical extensions
+SystemInformationBlockType1-v8h0-IEs ::= SEQUENCE {
+ multiBandInfoList MultiBandInfoList OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-v9e0-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v9e0-IEs ::= SEQUENCE {
+ freqBandIndicator-v9e0 FreqBandIndicator-v9e0 OPTIONAL, -- Cond FBI-max
+ multiBandInfoList-v9e0 MultiBandInfoList-v9e0 OPTIONAL, -- Cond mFBI-max
+ nonCriticalExtension SystemInformationBlockType1-v10j0-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v10j0-IEs ::= SEQUENCE {
+ freqBandInfo-r10 NS-PmaxList-r10 OPTIONAL, -- Need OR
+ multiBandInfoList-v10j0 MultiBandInfoList-v10j0 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-v10l0-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v10l0-IEs ::= SEQUENCE {
+ freqBandInfo-v10l0 NS-PmaxList-v10l0 OPTIONAL, -- Need OR
+ multiBandInfoList-v10l0 MultiBandInfoList-v10l0 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-v10x0-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v10x0-IEs ::= SEQUENCE {
+ -- This field is only for late non-critical extensions from Rel-10 or Rel-11 onwards
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SystemInformationBlockType1-v12j0-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v12j0-IEs ::= SEQUENCE {
+ schedulingInfoList-v12j0 SchedulingInfoList-v12j0 OPTIONAL, -- Need OR
+ schedulingInfoListExt-r12 SchedulingInfoListExt-r12 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-v15g0-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v15g0-IEs ::= SEQUENCE {
+ bandwidthReducedAccessRelatedInfo-v15g0 SEQUENCE {
+ posSchedulingInfoList-BR-r15 SchedulingInfoList-BR-r13
+ } OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Regular non critical extensions
+SystemInformationBlockType1-v920-IEs ::= SEQUENCE {
+ ims-EmergencySupport-r9 ENUMERATED {true} OPTIONAL, -- Need OR
+ cellSelectionInfo-v920 CellSelectionInfo-v920 OPTIONAL, -- Cond RSRQ
+ nonCriticalExtension SystemInformationBlockType1-v1130-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1130-IEs ::= SEQUENCE {
+ tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD-OR
+ cellSelectionInfo-v1130 CellSelectionInfo-v1130 OPTIONAL, -- Cond WB-RSRQ
+ nonCriticalExtension SystemInformationBlockType1-v1250-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1250-IEs ::= SEQUENCE {
+ cellAccessRelatedInfo-v1250 SEQUENCE {
+ category0Allowed-r12 ENUMERATED {true} OPTIONAL -- Need OP
+ },
+ cellSelectionInfo-v1250 CellSelectionInfo-v1250 OPTIONAL, -- Cond RSRQ2
+ freqBandIndicatorPriority-r12 ENUMERATED {true} OPTIONAL, -- Cond mFBI
+ nonCriticalExtension SystemInformationBlockType1-v1310-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1310-IEs ::= SEQUENCE {
+ hyperSFN-r13 BIT STRING (SIZE (10)) OPTIONAL, -- Need OR
+ eDRX-Allowed-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ cellSelectionInfoCE-r13 CellSelectionInfoCE-r13 OPTIONAL, -- Need OP
+ bandwidthReducedAccessRelatedInfo-r13 SEQUENCE {
+ si-WindowLength-BR-r13 ENUMERATED {
+ ms20, ms40, ms60, ms80, ms120,
+ ms160, ms200, spare},
+ si-RepetitionPattern-r13 ENUMERATED {everyRF, every2ndRF, every4thRF,
+ every8thRF},
+ schedulingInfoList-BR-r13 SchedulingInfoList-BR-r13 OPTIONAL, -- Cond SI-BR
+ fdd-DownlinkOrTddSubframeBitmapBR-r13 CHOICE {
+ subframePattern10-r13 BIT STRING (SIZE (10)),
+ subframePattern40-r13 BIT STRING (SIZE (40))
+ } OPTIONAL, -- Need OP
+ fdd-UplinkSubframeBitmapBR-r13 BIT STRING (SIZE (10)) OPTIONAL, -- Need OP
+ startSymbolBR-r13 INTEGER (1..4),
+ si-HoppingConfigCommon-r13 ENUMERATED {on,off},
+ si-ValidityTime-r13 ENUMERATED {true} OPTIONAL, -- Need OP
+ systemInfoValueTagList-r13 SystemInfoValueTagList-r13 OPTIONAL -- Need OR
+ } OPTIONAL, -- Cond BW-reduced
+ nonCriticalExtension SystemInformationBlockType1-v1320-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1320-IEs ::= SEQUENCE {
+ freqHoppingParametersDL-r13 SEQUENCE {
+ mpdcch-pdsch-HoppingNB-r13 ENUMERATED {nb2, nb4} OPTIONAL, -- Need OR
+ interval-DLHoppingConfigCommonModeA-r13 CHOICE {
+ interval-FDD-r13 ENUMERATED {int1, int2, int4, int8},
+ interval-TDD-r13 ENUMERATED {int1, int5, int10, int20}
+ } OPTIONAL, -- Need OR
+ interval-DLHoppingConfigCommonModeB-r13 CHOICE {
+ interval-FDD-r13 ENUMERATED {int2, int4, int8, int16},
+ interval-TDD-r13 ENUMERATED { int5, int10, int20, int40}
+ } OPTIONAL, -- Need OR
+ mpdcch-pdsch-HoppingOffset-r13 INTEGER (1..maxAvailNarrowBands-r13) OPTIONAL -- Need OR
+ } OPTIONAL, -- Cond Hopping
+ nonCriticalExtension SystemInformationBlockType1-v1350-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1350-IEs ::= SEQUENCE {
+ cellSelectionInfoCE1-r13 CellSelectionInfoCE1-r13 OPTIONAL, -- Need OP
+ nonCriticalExtension SystemInformationBlockType1-v1360-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1360-IEs ::= SEQUENCE {
+ cellSelectionInfoCE1-v1360 CellSelectionInfoCE1-v1360 OPTIONAL, -- Cond QrxlevminCE1
+ nonCriticalExtension SystemInformationBlockType1-v1430-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1430-IEs ::= SEQUENCE {
+ eCallOverIMS-Support-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ tdd-Config-v1430 TDD-Config-v1430 OPTIONAL, -- Cond TDD-OR
+ cellAccessRelatedInfoList-r14 SEQUENCE (SIZE (1..maxPLMN-1-r14)) OF
+ CellAccessRelatedInfo-r14 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-v1450-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1450-IEs ::= SEQUENCE {
+ tdd-Config-v1450 TDD-Config-v1450 OPTIONAL, -- Cond TDD-OR
+ nonCriticalExtension SystemInformationBlockType1-v1530-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1530-IEs ::= SEQUENCE {
+ hsdn-Cell-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ cellSelectionInfoCE-v1530 CellSelectionInfoCE-v1530 OPTIONAL, -- Need OP
+ crs-IntfMitigConfig-r15 CHOICE {
+ crs-IntfMitigEnabled NULL,
+ crs-IntfMitigNumPRBs ENUMERATED {n6, n24}
+ } OPTIONAL, -- Need OR
+ cellBarred-CRS-r15 ENUMERATED {barred, notBarred},
+ plmn-IdentityList-v1530 PLMN-IdentityList-v1530 OPTIONAL, -- Need OR
+ posSchedulingInfoList-r15 PosSchedulingInfoList-r15 OPTIONAL, -- Need OR
+ cellAccessRelatedInfo-5GC-r15 SEQUENCE {
+ cellBarred-5GC-r15 ENUMERATED {barred, notBarred},
+ cellBarred-5GC-CRS-r15 ENUMERATED {barred, notBarred},
+ cellAccessRelatedInfoList-5GC-r15 SEQUENCE (SIZE (1..maxPLMN-r11)) OF
+ CellAccessRelatedInfo-5GC-r15
+ } OPTIONAL, -- Need OP
+ ims-EmergencySupport5GC-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ eCallOverIMS-Support5GC-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-v1540-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1540-IEs ::= SEQUENCE {
+ si-posOffset-r15 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension SystemInformationBlockType1-v1610-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1610-IEs ::= SEQUENCE {
+ eDRX-Allowed-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ transmissionInControlChRegion-r16 ENUMERATED {true} OPTIONAL, -- Cond BW-reduced
+ campingAllowedInCE-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ plmn-IdentityList-v1610 PLMN-IdentityList-v1610 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-v1700-IEs OPTIONAL
+}
+
+SystemInformationBlockType1-v1700-IEs ::= SEQUENCE {
+ cellAccessRelatedInfo-NTN-r17 SEQUENCE {
+ cellBarred-NTN-r17 ENUMERATED {barred, notBarred},
+ plmn-IdentityList-v1700 PLMN-IdentityList-v1700 OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+PLMN-IdentityList ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo
+
+PLMN-IdentityInfo ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellReservedForOperatorUse ENUMERATED {reserved, notReserved}
+}
+
+PLMN-IdentityList-v1530 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-v1530
+
+PLMN-IdentityInfo-v1530 ::= SEQUENCE {
+ cellReservedForOperatorUse-CRS-r15 ENUMERATED {reserved, notReserved}
+}
+
+PLMN-IdentityList-r15::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-r15
+
+PLMN-IdentityList-v1610::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-v1610
+
+PLMN-IdentityList-v1700::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-v1700
+
+PLMN-IdentityInfo-r15 ::= SEQUENCE {
+ plmn-Identity-5GC-r15 CHOICE{
+ plmn-Identity-r15 PLMN-Identity,
+ plmn-Index-r15 INTEGER (1..maxPLMN-r11)
+ },
+ cellReservedForOperatorUse-r15 ENUMERATED {reserved, notReserved},
+ cellReservedForOperatorUse-CRS-r15 ENUMERATED {reserved, notReserved}
+}
+
+PLMN-IdentityInfo-v1610 ::= SEQUENCE {
+ cp-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ iab-Support-r16 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+PLMN-IdentityInfo-v1700 ::= SEQUENCE {
+ trackingAreaList-r17 TrackingAreaList-r17 OPTIONAL -- Need OP
+}
+
+SchedulingInfoList ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo
+
+SchedulingInfoList-v12j0 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo-v12j0
+
+SchedulingInfoListExt-r12 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfoExt-r12
+
+SchedulingInfo ::= SEQUENCE {
+ si-Periodicity SI-Periodicity-r12,
+ sib-MappingInfo SIB-MappingInfo
+}
+
+SchedulingInfo-v12j0 ::= SEQUENCE {
+ sib-MappingInfo-v12j0 SIB-MappingInfo-v12j0 OPTIONAL -- Need OR
+}
+
+SchedulingInfoExt-r12 ::= SEQUENCE {
+ si-Periodicity-r12 SI-Periodicity-r12,
+ sib-MappingInfo-r12 SIB-MappingInfo-v12j0
+}
+
+SchedulingInfoList-BR-r13 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo-BR-r13
+
+SchedulingInfo-BR-r13 ::= SEQUENCE {
+ si-Narrowband-r13 INTEGER (1..maxAvailNarrowBands-r13),
+ si-TBS-r13 ENUMERATED {b152, b208, b256, b328, b408, b504, b600, b712, b808, b936}
+}
+
+SIB-MappingInfo ::= SEQUENCE (SIZE (0..maxSIB-1)) OF SIB-Type
+
+SIB-MappingInfo-v12j0 ::= SEQUENCE (SIZE (1..maxSIB-1)) OF SIB-Type-v12j0
+
+-- Note: The IE SIB-Type (without suffix) will not be extended any further in this release of the specification. If needed, the IE SIB-Type-v12j0 will be used for new SIB(s).
+
+SIB-Type ::= ENUMERATED {
+ sibType3, sibType4, sibType5, sibType6,
+ sibType7, sibType8, sibType9, sibType10,
+ sibType11, sibType12-v920, sibType13-v920,
+ sibType14-v1130, sibType15-v1130,
+ sibType16-v1130, sibType17-v1250, sibType18-v1250,
+ ..., sibType19-v1250, sibType20-v1310, sibType21-v1430,
+ sibType24-v1530, sibType25-v1530, sibType26-v1530,
+ sibType26a-v1610, sibType27-v1610, sibType28-v1610,
+ sibType29-v1610
+}
+
+SIB-Type-v12j0 ::= ENUMERATED {
+ sibType19-v1250, sibType20-v1310, sibType21-v1430,
+ sibType24-v1530, sibType25-v1530, sibType26-v1530,
+ sibType26a-v1610, sibType27-v1610, sibType28-v1610,
+ sibType29-v1610, sibType30-v1700, sibType31-v1700, sibType32-v1700,
+ spare3, spare2, spare1, ...}
+
+SI-Periodicity-r12 ::= ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512}
+
+SystemInfoValueTagList-r13 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SystemInfoValueTagSI-r13
+
+SystemInfoValueTagSI-r13 ::= INTEGER (0..3)
+
+CellSelectionInfo-v920 ::= SEQUENCE {
+ q-QualMin-r9 Q-QualMin-r9,
+ q-QualMinOffset-r9 INTEGER (1..8) OPTIONAL -- Need OP
+}
+
+CellSelectionInfo-v1130 ::= SEQUENCE {
+ q-QualMinWB-r11 Q-QualMin-r9
+}
+
+CellSelectionInfo-v1250 ::= SEQUENCE {
+ q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9
+}
+
+CellAccessRelatedInfo-r14 ::= SEQUENCE {
+ plmn-IdentityList-r14 PLMN-IdentityList,
+ trackingAreaCode-r14 TrackingAreaCode,
+ cellIdentity-r14 CellIdentity
+}
+
+CellAccessRelatedInfo-5GC-r15 ::= SEQUENCE {
+ plmn-IdentityList-r15 PLMN-IdentityList-r15,
+ ran-AreaCode-r15 RAN-AreaCode-r15 OPTIONAL, -- Need OR
+ trackingAreaCode-5GC-r15 TrackingAreaCode-5GC-r15,
+ cellIdentity-5GC-r15 CellIdentity-5GC-r15
+}
+
+CellIdentity-5GC-r15 ::= CHOICE{
+ cellIdentity-r15 CellIdentity,
+ cellId-Index-r15 INTEGER (1..maxPLMN-r11)
+}
+
+TrackingAreaList-r17 ::= SEQUENCE (SIZE (1..maxTAC-r17)) OF TrackingAreaCode
+
+PosSchedulingInfoList-r15 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF PosSchedulingInfo-r15
+
+PosSchedulingInfo-r15 ::= SEQUENCE {
+ posSI-Periodicity-r15 ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},
+ posSIB-MappingInfo-r15 PosSIB-MappingInfo-r15
+}
+
+PosSIB-MappingInfo-r15 ::= SEQUENCE (SIZE (1..maxSIB)) OF PosSIB-Type-r15
+
+PosSIB-Type-r15 ::= SEQUENCE {
+ encrypted-r15 ENUMERATED { true } OPTIONAL, -- Need OP
+ gnss-id-r15 GNSS-ID-r15 OPTIONAL, -- Need OP
+ sbas-id-r15 SBAS-ID-r15 OPTIONAL, -- Need OP
+ posSibType-r15 ENUMERATED { posSibType1-1,
+ posSibType1-2,
+ posSibType1-3,
+ posSibType1-4,
+ posSibType1-5,
+ posSibType1-6,
+ posSibType1-7,
+ posSibType2-1,
+ posSibType2-2,
+ posSibType2-3,
+ posSibType2-4,
+ posSibType2-5,
+ posSibType2-6,
+ posSibType2-7,
+ posSibType2-8,
+ posSibType2-9,
+ posSibType2-10,
+ posSibType2-11,
+ posSibType2-12,
+ posSibType2-13,
+ posSibType2-14,
+ posSibType2-15,
+ posSibType2-16,
+ posSibType2-17,
+ posSibType2-18,
+ posSibType2-19,
+ posSibType3-1,
+ ...,
+ posSibType1-8-v1610,
+ posSibType2-20-v1610,
+ posSibType2-21-v1610,
+ posSibType2-22-v1610,
+ posSibType2-23-v1610,
+ posSibType2-24-v1610,
+ posSibType2-25-v1610,
+ posSibType4-1-v1610,
+ posSibType5-1-v1610,
+ posSibType1-9-v1700,
+ posSibType1-10-v1700
+ },
+ ...
+}
+
+
+SystemInformationBlockType1-MBMS-r14 ::= SEQUENCE {
+ cellAccessRelatedInfo-r14 SEQUENCE {
+ plmn-IdentityList-r14 PLMN-IdentityList-MBMS-r14,
+ trackingAreaCode-r14 TrackingAreaCode,
+ cellIdentity-r14 CellIdentity
+ },
+ freqBandIndicator-r14 FreqBandIndicator-r11,
+ multiBandInfoList-r14 MultiBandInfoList-r11 OPTIONAL, -- Need OR
+ schedulingInfoList-MBMS-r14 SchedulingInfoList-MBMS-r14,
+ si-WindowLength-r14 ENUMERATED {
+ ms1, ms2, ms5, ms10, ms15, ms20,ms40, ms80},
+ systemInfoValueTag-r14 INTEGER (0..31),
+ nonMBSFN-SubframeConfig-r14 NonMBSFN-SubframeConfig-r14 OPTIONAL, --Need OR
+ pdsch-ConfigCommon-r14 PDSCH-ConfigCommon,
+ systemInformationBlockType13-r14 SystemInformationBlockType13-r9 OPTIONAL, --Need OR
+ cellAccessRelatedInfoList-r14 SEQUENCE (SIZE (1..maxPLMN-1-r14)) OF
+ CellAccessRelatedInfo-r14 OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+PLMN-IdentityList-MBMS-r14 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-Identity
+
+SchedulingInfoList-MBMS-r14 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo-MBMS-r14
+
+SchedulingInfo-MBMS-r14 ::= SEQUENCE {
+ si-Periodicity-r14 ENUMERATED {
+ rf16, rf32, rf64, rf128, rf256, rf512},
+ sib-MappingInfo-r14 SIB-MappingInfo-MBMS-r14
+}
+
+SIB-MappingInfo-MBMS-r14 ::= SEQUENCE (SIZE (0..maxSIB-1)) OF SIB-Type-MBMS-r14
+
+SIB-Type-MBMS-r14 ::= ENUMERATED {
+ sibType10, sibType11, sibType12-v920, sibType13-v920,
+ sibType15-v1130, sibType16-v1130, ...}
+
+
+NonMBSFN-SubframeConfig-r14 ::= SEQUENCE {
+ radioFrameAllocationPeriod-r14 ENUMERATED {rf4, rf8, rf16, rf32, rf64, rf128, rf512},
+ radioFrameAllocationOffset-r14 INTEGER (0..7),
+ subframeAllocation-r14 BIT STRING (SIZE(9))
+}
+
+
+UEAssistanceInformation-r11 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ueAssistanceInformation-r11 UEAssistanceInformation-r11-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEAssistanceInformation-r11-IEs ::= SEQUENCE {
+ powerPrefIndication-r11 ENUMERATED {normal, lowPowerConsumption} OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UEAssistanceInformation-v1430-IEs OPTIONAL
+}
+
+UEAssistanceInformation-v1430-IEs ::= SEQUENCE {
+ bw-Preference-r14 BW-Preference-r14 OPTIONAL,
+ sps-AssistanceInformation-r14 SEQUENCE {
+ trafficPatternInfoListSL-r14 TrafficPatternInfoList-r14 OPTIONAL,
+ trafficPatternInfoListUL-r14 TrafficPatternInfoList-r14 OPTIONAL
+ } OPTIONAL,
+ rlm-Report-r14 SEQUENCE {
+ rlm-Event-r14 ENUMERATED {earlyOutOfSync, earlyInSync},
+ excessRep-MPDCCH-r14 ENUMERATED {excessRep1, excessRep2} OPTIONAL
+ } OPTIONAL,
+ delayBudgetReport-r14 DelayBudgetReport-r14 OPTIONAL,
+ nonCriticalExtension UEAssistanceInformation-v1450-IEs OPTIONAL
+}
+
+UEAssistanceInformation-v1450-IEs ::= SEQUENCE {
+ overheatingAssistance-r14 OverheatingAssistance-r14 OPTIONAL,
+ nonCriticalExtension UEAssistanceInformation-v1530-IEs OPTIONAL
+}
+
+UEAssistanceInformation-v1530-IEs ::= SEQUENCE {
+ sps-AssistanceInformation-v1530 SEQUENCE {
+ trafficPatternInfoListSL-v1530 TrafficPatternInfoList-v1530
+ } OPTIONAL,
+ nonCriticalExtension UEAssistanceInformation-v1610-IEs OPTIONAL
+}
+
+UEAssistanceInformation-v1610-IEs ::= SEQUENCE {
+ overheatingAssistance-v1610 OverheatingAssistance-v1610 OPTIONAL,
+ nonCriticalExtension UEAssistanceInformation-v1700-IEs OPTIONAL
+}
+
+UEAssistanceInformation-v1700-IEs ::= SEQUENCE {
+ uplinkData-r17 ENUMERATED { true } OPTIONAL,
+ scg-DeactivationPreference-r17 ENUMERATED { scgDeactivationPreferred,
+ noPreference } OPTIONAL,
+ nonCriticalExtension UEAssistanceInformation-v1710-IEs OPTIONAL
+}
+
+UEAssistanceInformation-v1710-IEs ::= SEQUENCE {
+ overheatingAssistance-v1710 OverheatingAssistance-v1710 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+BW-Preference-r14 ::= SEQUENCE {
+ dl-Preference-r14 ENUMERATED {mhz1dot4, mhz5, mhz20 } OPTIONAL,
+ ul-Preference-r14 ENUMERATED {mhz1dot4, mhz5} OPTIONAL
+}
+
+TrafficPatternInfoList-r14 ::= SEQUENCE (SIZE (1..maxTrafficPattern-r14)) OF TrafficPatternInfo-r14
+
+TrafficPatternInfo-r14 ::= SEQUENCE {
+ trafficPeriodicity-r14 ENUMERATED {
+ sf20, sf50, sf100, sf200, sf300, sf400, sf500,
+ sf600, sf700, sf800, sf900, sf1000},
+ timingOffset-r14 INTEGER (0..10239),
+ priorityInfoSL-r14 SL-Priority-r13 OPTIONAL,
+ logicalChannelIdentityUL-r14 INTEGER (3..10) OPTIONAL,
+ messageSize-r14 BIT STRING (SIZE (6))
+}
+
+TrafficPatternInfoList-v1530 ::= SEQUENCE (SIZE (1..maxTrafficPattern-r14)) OF TrafficPatternInfo-v1530
+
+TrafficPatternInfo-v1530 ::= SEQUENCE {
+ trafficDestination-r15 SL-DestinationIdentity-r12 OPTIONAL,
+ reliabilityInfoSL-r15 SL-Reliability-r15 OPTIONAL
+}
+
+DelayBudgetReport-r14::= CHOICE {
+ type1 ENUMERATED {
+ msMinus1280, msMinus640, msMinus320, msMinus160,
+ msMinus80, msMinus60, msMinus40, msMinus20, ms0, ms20,
+ ms40, ms60, ms80, ms160, ms320, ms640, ms1280},
+
+ type2 ENUMERATED {
+ msMinus192, msMinus168,msMinus144, msMinus120,
+ msMinus96, msMinus72, msMinus48, msMinus24, ms0, ms24,
+ ms48, ms72, ms96, ms120, ms144, ms168, ms192}
+}
+
+OverheatingAssistance-r14 ::= SEQUENCE {
+ reducedUE-Category SEQUENCE {
+ reducedUE-CategoryDL INTEGER (0..19),
+ reducedUE-CategoryUL INTEGER (0..21)
+ } OPTIONAL,
+ reducedMaxCCs SEQUENCE {
+ reducedCCsDL INTEGER (0..31),
+ reducedCCsUL INTEGER (0..31)
+ } OPTIONAL
+}
+
+OverheatingAssistance-v1610 ::= SEQUENCE {
+ overheatingAssistanceForSCG-r16 OCTET STRING
+}
+
+OverheatingAssistance-v1710 ::= SEQUENCE {
+ overheatingAssistanceForSCG-FR2-2-r17 OCTET STRING
+}
+
+
+UECapabilityEnquiry ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ueCapabilityEnquiry-r8 UECapabilityEnquiry-r8-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityEnquiry-r8-IEs ::= SEQUENCE {
+ ue-CapabilityRequest UE-CapabilityRequest,
+ nonCriticalExtension UECapabilityEnquiry-v8a0-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UECapabilityEnquiry-v1180-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1180-IEs ::= SEQUENCE {
+ requestedFrequencyBands-r11 SEQUENCE (SIZE (1..16)) OF FreqBandIndicator-r11 OPTIONAL,
+ nonCriticalExtension UECapabilityEnquiry-v1310-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1310-IEs ::= SEQUENCE {
+ requestReducedFormat-r13 ENUMERATED {true} OPTIONAL, -- Need ON
+ requestSkipFallbackComb-r13 ENUMERATED {true} OPTIONAL, -- Need ON
+ requestedMaxCCsDL-r13 INTEGER (2..32) OPTIONAL, -- Need ON
+ requestedMaxCCsUL-r13 INTEGER (2..32) OPTIONAL, -- Need ON
+ requestReducedIntNonContComb-r13 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension UECapabilityEnquiry-v1430-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1430-IEs ::= SEQUENCE {
+ requestDiffFallbackCombList-r14 BandCombinationList-r14 OPTIONAL, -- Need ON
+ nonCriticalExtension UECapabilityEnquiry-v1510-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1510-IEs ::= SEQUENCE {
+ requestedFreqBandsNR-MRDC-r15 OCTET STRING OPTIONAL,
+ nonCriticalExtension UECapabilityEnquiry-v1530-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1530-IEs ::= SEQUENCE {
+ requestSTTI-SPT-Capability-r15 ENUMERATED {true} OPTIONAL,
+ eutra-nr-only-r15 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension UECapabilityEnquiry-v1550-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1550-IEs ::= SEQUENCE {
+ requestedCapabilityNR-r15 OCTET STRING OPTIONAL,
+ nonCriticalExtension UECapabilityEnquiry-v1560-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1560-IEs ::= SEQUENCE {
+ requestedCapabilityCommon-r15 OCTET STRING OPTIONAL,
+ nonCriticalExtension UECapabilityEnquiry-v1610-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1610-IEs ::= SEQUENCE {
+ rrc-SegAllowed-r16 ENUMERATED {enabled} OPTIONAL, -- Need ON
+ nonCriticalExtension UECapabilityEnquiry-v1710-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1710-IEs ::= SEQUENCE {
+ sidelinkRequest-r17 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+UE-CapabilityRequest ::= SEQUENCE (SIZE (1..maxRAT-Capabilities)) OF RAT-Type
+
+
+UECapabilityInformation ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ ueCapabilityInformation-r8 UECapabilityInformation-r8-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityInformation-r8-IEs ::= SEQUENCE {
+ ue-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList,
+ nonCriticalExtension UECapabilityInformation-v8a0-IEs OPTIONAL
+}
+
+UECapabilityInformation-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UECapabilityInformation-v1250-IEs OPTIONAL
+}
+
+UECapabilityInformation-v1250-IEs ::= SEQUENCE {
+ ue-RadioPagingInfo-r12 UE-RadioPagingInfo-r12 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+ULDedicatedMessageSegment-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ ulDedicatedMessageSegment-r16 ULDedicatedMessageSegment-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULDedicatedMessageSegment-r16-IEs ::= SEQUENCE {
+ segmentNumber-r16 INTEGER (0..15),
+ rrc-MessageSegmentContainer-r16 OCTET STRING,
+ rrc-MessageSegmentType-r16 ENUMERATED {notLastSegment, lastSegment},
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UEInformationRequest-r9 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ueInformationRequest-r9 UEInformationRequest-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEInformationRequest-r9-IEs ::= SEQUENCE {
+ rach-ReportReq-r9 BOOLEAN,
+ rlf-ReportReq-r9 BOOLEAN,
+ nonCriticalExtension UEInformationRequest-v930-IEs OPTIONAL
+}
+
+UEInformationRequest-v930-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UEInformationRequest-v1020-IEs OPTIONAL
+}
+
+UEInformationRequest-v1020-IEs ::= SEQUENCE {
+ logMeasReportReq-r10 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension UEInformationRequest-v1130-IEs OPTIONAL
+}
+
+UEInformationRequest-v1130-IEs ::= SEQUENCE {
+ connEstFailReportReq-r11 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension UEInformationRequest-v1250-IEs OPTIONAL
+}
+
+UEInformationRequest-v1250-IEs ::= SEQUENCE {
+ mobilityHistoryReportReq-r12 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension UEInformationRequest-v1530-IEs OPTIONAL
+}
+
+UEInformationRequest-v1530-IEs ::= SEQUENCE {
+ idleModeMeasurementReq-r15 ENUMERATED {true} OPTIONAL, -- Need ON
+ flightPathInfoReq-r15 FlightPathInfoReportConfig-r15 OPTIONAL, -- Need ON
+ nonCriticalExtension UEInformationRequest-v1710-IEs OPTIONAL
+}
+
+UEInformationRequest-v1710-IEs ::= SEQUENCE {
+ coarseLocationReq-r17 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UEInformationResponse-r9 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ueInformationResponse-r9 UEInformationResponse-r9-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEInformationResponse-r9-IEs ::= SEQUENCE {
+ rach-Report-r9 RACH-Report-r16 OPTIONAL,
+ rlf-Report-r9 RLF-Report-r9 OPTIONAL,
+ nonCriticalExtension UEInformationResponse-v930-IEs OPTIONAL
+}
+
+-- Late non critical extensions
+UEInformationResponse-v9e0-IEs ::= SEQUENCE {
+ rlf-Report-v9e0 RLF-Report-v9e0 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Regular non critical extensions
+UEInformationResponse-v930-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING (CONTAINING UEInformationResponse-v9e0-IEs) OPTIONAL,
+ nonCriticalExtension UEInformationResponse-v1020-IEs OPTIONAL
+}
+
+UEInformationResponse-v1020-IEs ::= SEQUENCE {
+ logMeasReport-r10 LogMeasReport-r10 OPTIONAL,
+ nonCriticalExtension UEInformationResponse-v1130-IEs OPTIONAL
+}
+
+UEInformationResponse-v1130-IEs ::= SEQUENCE {
+ connEstFailReport-r11 ConnEstFailReport-r11 OPTIONAL,
+ nonCriticalExtension UEInformationResponse-v1250-IEs OPTIONAL
+}
+
+UEInformationResponse-v1250-IEs ::= SEQUENCE {
+ mobilityHistoryReport-r12 MobilityHistoryReport-r12 OPTIONAL,
+ nonCriticalExtension UEInformationResponse-v1530-IEs OPTIONAL
+}
+
+UEInformationResponse-v1530-IEs ::= SEQUENCE {
+ measResultListIdle-r15 MeasResultListIdle-r15 OPTIONAL,
+ flightPathInfoReport-r15 FlightPathInfoReport-r15 OPTIONAL,
+ nonCriticalExtension UEInformationResponse-v1610-IEs OPTIONAL
+}
+
+UEInformationResponse-v1610-IEs ::= SEQUENCE {
+ rach-Report-v1610 RACH-Report-v1610 OPTIONAL,
+ measResultListExtIdle-r16 MeasResultListExtIdle-r16 OPTIONAL,
+ measResultListIdleNR-r16 MeasResultListIdleNR-r16 OPTIONAL,
+ nonCriticalExtension UEInformationResponse-v1710-IEs OPTIONAL
+}
+
+UEInformationResponse-v1710-IEs ::= SEQUENCE {
+ coarseLocationInfo-r17 OCTET STRING OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RACH-Report-r16 ::= SEQUENCE {
+ numberOfPreamblesSent-r16 NumberOfPreamblesSent-r11,
+ contentionDetected-r16 BOOLEAN
+}
+
+RACH-Report-v1610 ::= SEQUENCE {
+ initialCEL-r16 INTEGER (0..3),
+ edt-Fallback-r16 BOOLEAN
+}
+
+RLF-Report-r9 ::= SEQUENCE {
+ measResultLastServCell-r9 SEQUENCE {
+ rsrpResult-r9 RSRP-Range,
+ rsrqResult-r9 RSRQ-Range OPTIONAL
+ },
+ measResultNeighCells-r9 SEQUENCE {
+ measResultListEUTRA-r9 MeasResultList2EUTRA-r9 OPTIONAL,
+ measResultListUTRA-r9 MeasResultList2UTRA-r9 OPTIONAL,
+ measResultListGERAN-r9 MeasResultListGERAN OPTIONAL,
+ measResultsCDMA2000-r9 MeasResultList2CDMA2000-r9 OPTIONAL
+ } OPTIONAL,
+ ...,
+ [[ locationInfo-r10 LocationInfo-r10 OPTIONAL,
+ failedPCellId-r10 CHOICE {
+ cellGlobalId-r10 CellGlobalIdEUTRA,
+ pci-arfcn-r10 SEQUENCE {
+ physCellId-r10 PhysCellId,
+ carrierFreq-r10 ARFCN-ValueEUTRA
+ }
+ } OPTIONAL,
+ reestablishmentCellId-r10 CellGlobalIdEUTRA OPTIONAL,
+ timeConnFailure-r10 INTEGER (0..1023) OPTIONAL,
+ connectionFailureType-r10 ENUMERATED {rlf, hof} OPTIONAL,
+ previousPCellId-r10 CellGlobalIdEUTRA OPTIONAL
+ ]],
+ [[ failedPCellId-v1090 SEQUENCE {
+ carrierFreq-v1090 ARFCN-ValueEUTRA-v9e0
+ } OPTIONAL
+ ]],
+ [[ basicFields-r11 SEQUENCE {
+ c-RNTI-r11 C-RNTI,
+ rlf-Cause-r11 ENUMERATED {
+ t310-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx, t312-Expiry-r12},
+ timeSinceFailure-r11 TimeSinceFailure-r11
+ } OPTIONAL,
+ previousUTRA-CellId-r11 SEQUENCE {
+ carrierFreq-r11 ARFCN-ValueUTRA,
+ physCellId-r11 CHOICE {
+ fdd-r11 PhysCellIdUTRA-FDD,
+ tdd-r11 PhysCellIdUTRA-TDD
+ },
+ cellGlobalId-r11 CellGlobalIdUTRA OPTIONAL
+ } OPTIONAL,
+ selectedUTRA-CellId-r11 SEQUENCE {
+ carrierFreq-r11 ARFCN-ValueUTRA,
+ physCellId-r11 CHOICE {
+ fdd-r11 PhysCellIdUTRA-FDD,
+ tdd-r11 PhysCellIdUTRA-TDD
+ }
+ } OPTIONAL
+ ]],
+ [[ failedPCellId-v1250 SEQUENCE {
+ tac-FailedPCell-r12 TrackingAreaCode
+ } OPTIONAL,
+ measResultLastServCell-v1250 RSRQ-Range-v1250 OPTIONAL,
+ lastServCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL,
+ measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL
+ ]],
+ [[ drb-EstablishedWithQCI-1-r13 ENUMERATED {qci1} OPTIONAL
+ ]],
+ [[ measResultLastServCell-v1360 RSRP-Range-v1360 OPTIONAL
+ ]],
+ [[ logMeasResultListBT-r15 LogMeasResultListBT-r15 OPTIONAL,
+ logMeasResultListWLAN-r15 LogMeasResultListWLAN-r15 OPTIONAL
+ ]],
+ [[ measResultListNR-r16 MeasResultCellListNR-r15 OPTIONAL,
+ previousNR-PCellId-r16 CellGlobalIdNR-r16 OPTIONAL,
+ failedNR-PCellId-r16 CHOICE {
+ cellGlobalId CellGlobalIdNR-r16,
+ pci-arfcn SEQUENCE {
+ physCellId-r16 PhysCellIdNR-r15,
+ carrierFreq-r16 ARFCN-ValueNR-r15
+ }
+ } OPTIONAL,
+ reconnectCellId-r16 CHOICE {
+ nrReconnectCellId CellGlobalIdNR-r16,
+ eutraReconnectCellId SEQUENCE {
+ cellGlobalId-r16 CellGlobalIdEUTRA,
+ trackingAreaCode-EPC-r16 TrackingAreaCode OPTIONAL,
+ trackingAreaCode-5GC-r16 TrackingAreaCode-5GC-r15 OPTIONAL
+ }
+ } OPTIONAL,
+ timeUntilReconnection-r16 TimeUntilReconnection-r16 OPTIONAL
+ ]],
+ [[ measResultListNR-v1640 SEQUENCE {
+ carrierFreqNR-r16 ARFCN-ValueNR-r15
+ } OPTIONAL,
+ measResultListExtNR-r16 MeasResultFreqListNR-r16 OPTIONAL
+ ]]
+}
+
+RLF-Report-v9e0 ::= SEQUENCE {
+ measResultListEUTRA-v9e0 MeasResultList2EUTRA-v9e0
+}
+
+MeasResultList2EUTRA-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-r9
+
+MeasResultList2EUTRA-v9e0 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-v9e0
+
+MeasResultList2EUTRA-v1250 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-v1250
+
+MeasResult2EUTRA-r9 ::= SEQUENCE {
+ carrierFreq-r9 ARFCN-ValueEUTRA,
+ measResultList-r9 MeasResultListEUTRA
+}
+
+MeasResult2EUTRA-v9e0 ::= SEQUENCE {
+ carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL
+}
+
+MeasResult2EUTRA-v1250 ::= SEQUENCE {
+ rsrq-Type-r12 RSRQ-Type-r12 OPTIONAL
+}
+
+MeasResultList2UTRA-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2UTRA-r9
+
+MeasResult2UTRA-r9 ::= SEQUENCE {
+ carrierFreq-r9 ARFCN-ValueUTRA,
+ measResultList-r9 MeasResultListUTRA
+}
+
+MeasResultList2CDMA2000-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2CDMA2000-r9
+
+MeasResult2CDMA2000-r9 ::= SEQUENCE {
+ carrierFreq-r9 CarrierFreqCDMA2000,
+ measResultList-r9 MeasResultsCDMA2000
+}
+
+LogMeasReport-r10 ::= SEQUENCE {
+ absoluteTimeStamp-r10 AbsoluteTimeInfo-r10,
+ traceReference-r10 TraceReference-r10,
+ traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)),
+ tce-Id-r10 OCTET STRING (SIZE (1)),
+ logMeasInfoList-r10 LogMeasInfoList-r10,
+ logMeasAvailable-r10 ENUMERATED {true} OPTIONAL,
+ ...,
+ [[ logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL
+ ]]
+}
+
+LogMeasInfoList-r10 ::= SEQUENCE (SIZE (1..maxLogMeasReport-r10)) OF LogMeasInfo-r10
+
+LogMeasInfo-r10 ::= SEQUENCE {
+ locationInfo-r10 LocationInfo-r10 OPTIONAL,
+ relativeTimeStamp-r10 INTEGER (0..7200),
+ servCellIdentity-r10 CellGlobalIdEUTRA,
+ measResultServCell-r10 SEQUENCE {
+ rsrpResult-r10 RSRP-Range,
+ rsrqResult-r10 RSRQ-Range
+ },
+ measResultNeighCells-r10 SEQUENCE {
+ measResultListEUTRA-r10 MeasResultList2EUTRA-r9 OPTIONAL,
+ measResultListUTRA-r10 MeasResultList2UTRA-r9 OPTIONAL,
+ measResultListGERAN-r10 MeasResultList2GERAN-r10 OPTIONAL,
+ measResultListCDMA2000-r10 MeasResultList2CDMA2000-r9 OPTIONAL
+ } OPTIONAL,
+ ...,
+ [[ measResultListEUTRA-v1090 MeasResultList2EUTRA-v9e0 OPTIONAL
+ ]],
+ [[ measResultListMBSFN-r12 MeasResultListMBSFN-r12 OPTIONAL,
+ measResultServCell-v1250 RSRQ-Range-v1250 OPTIONAL,
+ servCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL,
+ measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL
+ ]],
+ [[ inDeviceCoexDetected-r13 ENUMERATED {true} OPTIONAL
+ ]],
+ [[ measResultServCell-v1360 RSRP-Range-v1360 OPTIONAL
+ ]],
+ [[ logMeasResultListBT-r15 LogMeasResultListBT-r15 OPTIONAL,
+ logMeasResultListWLAN-r15 LogMeasResultListWLAN-r15 OPTIONAL
+ ]],
+ [[ anyCellSelectionDetected-r15 ENUMERATED {true} OPTIONAL
+ ]],
+ [[ measResultListNR-r16 MeasResultCellListNR-r15 OPTIONAL
+ ]],
+ [[ measResultListNR-v1640 SEQUENCE {
+ carrierFreqNR-r16 ARFCN-ValueNR-r15
+ } OPTIONAL,
+ measResultListExtNR-r16 MeasResultFreqListNR-r16 OPTIONAL
+ ]],
+ [[ uncomBarPreMeasResult-r17 OCTET STRING OPTIONAL
+ ]]
+}
+
+MeasResultListMBSFN-r12 ::= SEQUENCE (SIZE (1..maxMBSFN-Area)) OF MeasResultMBSFN-r12
+
+MeasResultMBSFN-r12 ::= SEQUENCE {
+ mbsfn-Area-r12 SEQUENCE {
+ mbsfn-AreaId-r12 MBSFN-AreaId-r12,
+ carrierFreq-r12 ARFCN-ValueEUTRA-r9
+ },
+ rsrpResultMBSFN-r12 RSRP-Range,
+ rsrqResultMBSFN-r12 MBSFN-RSRQ-Range-r12,
+ signallingBLER-Result-r12 BLER-Result-r12 OPTIONAL,
+ dataBLER-MCH-ResultList-r12 DataBLER-MCH-ResultList-r12 OPTIONAL,
+ ...
+}
+
+DataBLER-MCH-ResultList-r12 ::= SEQUENCE (SIZE (1.. maxPMCH-PerMBSFN)) OF DataBLER-MCH-Result-r12
+
+DataBLER-MCH-Result-r12 ::= SEQUENCE {
+ mch-Index-r12 INTEGER (1..maxPMCH-PerMBSFN),
+ dataBLER-Result-r12 BLER-Result-r12
+}
+
+BLER-Result-r12 ::= SEQUENCE {
+ bler-r12 BLER-Range-r12,
+ blocksReceived-r12 SEQUENCE {
+ n-r12 BIT STRING (SIZE (3)),
+ m-r12 BIT STRING (SIZE (8))
+ }
+}
+
+BLER-Range-r12 ::= INTEGER(0..31)
+
+MeasResultList2GERAN-r10 ::= SEQUENCE (SIZE (1..maxCellListGERAN)) OF MeasResultListGERAN
+
+MeasResultFreqListNR-r16::= SEQUENCE (SIZE (1..maxFreq-1-r16)) OF MeasResultFreqFailNR-r15
+
+ConnEstFailReport-r11 ::= SEQUENCE {
+ failedCellId-r11 CellGlobalIdEUTRA,
+ locationInfo-r11 LocationInfo-r10 OPTIONAL,
+ measResultFailedCell-r11 SEQUENCE {
+ rsrpResult-r11 RSRP-Range,
+ rsrqResult-r11 RSRQ-Range OPTIONAL
+ },
+ measResultNeighCells-r11 SEQUENCE {
+ measResultListEUTRA-r11 MeasResultList2EUTRA-r9 OPTIONAL,
+ measResultListUTRA-r11 MeasResultList2UTRA-r9 OPTIONAL,
+ measResultListGERAN-r11 MeasResultListGERAN OPTIONAL,
+ measResultsCDMA2000-r11 MeasResultList2CDMA2000-r9 OPTIONAL
+ } OPTIONAL,
+ numberOfPreamblesSent-r11 NumberOfPreamblesSent-r11,
+ contentionDetected-r11 BOOLEAN,
+ maxTxPowerReached-r11 BOOLEAN,
+ timeSinceFailure-r11 TimeSinceFailure-r11,
+ measResultListEUTRA-v1130 MeasResultList2EUTRA-v9e0 OPTIONAL,
+ ...,
+ [[ measResultFailedCell-v1250 RSRQ-Range-v1250 OPTIONAL,
+ failedCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL,
+ measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL
+ ]],
+ [[ measResultFailedCell-v1360 RSRP-Range-v1360 OPTIONAL
+ ]],
+ [[ logMeasResultListBT-r15 LogMeasResultListBT-r15 OPTIONAL,
+ logMeasResultListWLAN-r15 LogMeasResultListWLAN-r15 OPTIONAL
+ ]],
+ [[ measResultListNR-r16 MeasResultCellListNR-r15 OPTIONAL
+ ]],
+ [[ measResultListNR-v1640 SEQUENCE {
+ carrierFreqNR-r16 ARFCN-ValueNR-r15
+ } OPTIONAL,
+ measResultListExtNR-r16 MeasResultFreqListNR-r16 OPTIONAL
+ ]]
+}
+
+NumberOfPreamblesSent-r11::= INTEGER (1..200)
+
+TimeSinceFailure-r11 ::= INTEGER (0..172800)
+
+TimeUntilReconnection-r16 ::= INTEGER (0..172800)
+
+MobilityHistoryReport-r12 ::= VisitedCellInfoList-r12
+
+FlightPathInfoReport-r15 ::= SEQUENCE {
+ flightPath-r15 SEQUENCE (SIZE (1..maxWayPoint-r15)) OF WayPointLocation-r15 OPTIONAL,
+ dummy SEQUENCE {} OPTIONAL
+}
+
+WayPointLocation-r15 ::= SEQUENCE {
+ wayPointLocation-r15 LocationInfo-r10,
+ timeStamp-r15 AbsoluteTimeInfo-r10 OPTIONAL
+}
+
+
+ULHandoverPreparationTransfer ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ulHandoverPreparationTransfer-r8 ULHandoverPreparationTransfer-r8-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULHandoverPreparationTransfer-r8-IEs ::= SEQUENCE {
+ cdma2000-Type CDMA2000-Type,
+ meid BIT STRING (SIZE (56)) OPTIONAL,
+ dedicatedInfo DedicatedInfoCDMA2000,
+ nonCriticalExtension ULHandoverPreparationTransfer-v8a0-IEs OPTIONAL
+}
+
+ULHandoverPreparationTransfer-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+ULInformationTransfer ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ulInformationTransfer-r8 ULInformationTransfer-r8-IEs,
+ ulInformationTransfer-r16 ULInformationTransfer-r16-IEs,
+ spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULInformationTransfer-r8-IEs ::= SEQUENCE {
+ dedicatedInfoType CHOICE {
+ dedicatedInfoNAS DedicatedInfoNAS,
+ dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000,
+ dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000
+ },
+ nonCriticalExtension ULInformationTransfer-v8a0-IEs OPTIONAL
+}
+
+ULInformationTransfer-v8a0-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+ULInformationTransfer-r16-IEs ::= SEQUENCE {
+ dedicatedInfoType-r16 CHOICE {
+ dedicatedInfoNAS-r16 DedicatedInfoNAS,
+ dedicatedInfoCDMA2000-1XRTT-r16 DedicatedInfoCDMA2000,
+ dedicatedInfoCDMA2000-HRPD-r16 DedicatedInfoCDMA2000
+ } OPTIONAL,
+ dedicatedInfoF1c-r16 DedicatedInfoF1c-r16 OPTIONAL,
+ nonCriticalExtension ULInformationTransfer-v8a0-IEs OPTIONAL
+}
+
+
+ULInformationTransferIRAT-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ulInformationTransferIRAT-r16 ULInformationTransferIRAT-r16-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULInformationTransferIRAT-r16-IEs ::= SEQUENCE {
+ ul-DCCH-MessageNR-r16 OCTET STRING OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+ULInformationTransferMRDC-r15 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ulInformationTransferMRDC-r15 ULInformationTransferMRDC-r15-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULInformationTransferMRDC-r15-IEs ::= SEQUENCE {
+ ul-DCCH-MessageNR-r15 OCTET STRING OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+WLANConnectionStatusReport-r13 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ wlanConnectionStatusReport-r13 WLANConnectionStatusReport-r13-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+WLANConnectionStatusReport-r13-IEs ::= SEQUENCE {
+ wlan-Status-r13 WLAN-Status-r13,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension WLANConnectionStatusReport-v1430-IEs OPTIONAL
+}
+
+WLANConnectionStatusReport-v1430-IEs ::= SEQUENCE {
+ wlan-Status-v1430 WLAN-Status-v1430,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+-- WS modification: asn2wrs does not support this syntax; replace all occurrences
+-- SetupRelease { ElementTypeParam } ::= CHOICE {
+-- release NULL,
+-- setup ElementTypeParam
+-- }
+
+
+SystemInformationBlockPos-r15 ::= SEQUENCE {
+ assistanceDataSIB-Element-r15 OCTET STRING,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+
+SystemInformationBlockType2 ::= SEQUENCE {
+ ac-BarringInfo SEQUENCE {
+ ac-BarringForEmergency BOOLEAN,
+ ac-BarringForMO-Signalling AC-BarringConfig OPTIONAL, -- Need OP
+ ac-BarringForMO-Data AC-BarringConfig OPTIONAL -- Need OP
+ } OPTIONAL, -- Need OP
+ radioResourceConfigCommon RadioResourceConfigCommonSIB,
+ ue-TimersAndConstants UE-TimersAndConstants,
+ freqInfo SEQUENCE {
+ ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL, -- Need OP
+ ul-Bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100}
+ OPTIONAL, -- Need OP
+ additionalSpectrumEmission AdditionalSpectrumEmission
+ },
+ mbsfn-SubframeConfigList MBSFN-SubframeConfigList OPTIONAL, -- Need OR
+ timeAlignmentTimerCommon TimeAlignmentTimer,
+ ...,
+ lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType2-v8h0-IEs) OPTIONAL,
+ [[ ssac-BarringForMMTEL-Voice-r9 AC-BarringConfig OPTIONAL, -- Need OP
+ ssac-BarringForMMTEL-Video-r9 AC-BarringConfig OPTIONAL -- Need OP
+ ]],
+ [[ ac-BarringForCSFB-r10 AC-BarringConfig OPTIONAL -- Need OP
+ ]],
+ [[ ac-BarringSkipForMMTELVoice-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ ac-BarringSkipForMMTELVideo-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ ac-BarringSkipForSMS-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ ac-BarringPerPLMN-List-r12 AC-BarringPerPLMN-List-r12 OPTIONAL -- Need OP
+ ]],
+ [[ voiceServiceCauseIndication-r12 ENUMERATED {true} OPTIONAL -- Need OP
+ ]],
+ [[ acdc-BarringForCommon-r13 ACDC-BarringForCommon-r13 OPTIONAL, -- Need OP
+ acdc-BarringPerPLMN-List-r13 ACDC-BarringPerPLMN-List-r13 OPTIONAL -- Need OP
+ ]],
+ [[
+ udt-RestrictingForCommon-r13 UDT-Restricting-r13 OPTIONAL, -- Need OR
+ udt-RestrictingPerPLMN-List-r13 UDT-RestrictingPerPLMN-List-r13 OPTIONAL, -- Need OR
+ cIoT-EPS-OptimisationInfo-r13 CIOT-EPS-OptimisationInfo-r13 OPTIONAL, -- Need OP
+ useFullResumeID-r13 ENUMERATED {true} OPTIONAL -- Need OP
+ ]],
+ [[ unicastFreqHoppingInd-r13 ENUMERATED {true} OPTIONAL -- Need OP
+ ]],
+ [[ mbsfn-SubframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 OPTIONAL, -- Need OP
+ videoServiceCauseIndication-r14 ENUMERATED {true} OPTIONAL -- Need OP
+ ]],
+ [[ plmn-InfoList-r15 PLMN-InfoList-r15 OPTIONAL -- Need OP
+ ]],
+ [[ cp-EDT-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-EDT-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ idleModeMeasurements-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ reducedCP-LatencyEnabled-r15 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ mbms-ROM-ServiceIndication-r15 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ rlos-Enabled-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ earlySecurityReactivation-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ cp-EDT-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-EDT-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ cp-PUR-EPC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-PUR-EPC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ cp-PUR-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-PUR-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ mpdcch-CQI-Reporting-r16 ENUMERATED {fourBits, both} OPTIONAL, -- Need OR
+ rai-ActivationEnh-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ idleModeMeasurementsNR-r16 ENUMERATED {true} OPTIONAL -- Need OR
+ ]]
+}
+
+SystemInformationBlockType2-v8h0-IEs ::= SEQUENCE {
+ multiBandInfoList SEQUENCE (SIZE (1..maxMultiBands)) OF AdditionalSpectrumEmission OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType2-v9e0-IEs OPTIONAL
+}
+
+SystemInformationBlockType2-v9e0-IEs ::= SEQUENCE {
+ ul-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL, -- Cond ul-FreqMax
+ nonCriticalExtension SystemInformationBlockType2-v9i0-IEs OPTIONAL
+}
+
+SystemInformationBlockType2-v9i0-IEs ::= SEQUENCE {
+-- Following field is for any non-critical extensions from REL-9
+ nonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType2-v10m0-IEs) OPTIONAL,
+ dummy SEQUENCE {} OPTIONAL
+}
+
+SystemInformationBlockType2-v10m0-IEs ::= SEQUENCE {
+ freqInfo-v10l0 SEQUENCE {
+ additionalSpectrumEmission-v10l0 AdditionalSpectrumEmission-v10l0
+ } OPTIONAL,
+ multiBandInfoList-v10l0 SEQUENCE (SIZE (1..maxMultiBands)) OF
+ AdditionalSpectrumEmission-v10l0 OPTIONAL,
+ nonCriticalExtension SystemInformationBlockType2-v10n0-IEs OPTIONAL
+}
+
+SystemInformationBlockType2-v10n0-IEs ::= SEQUENCE {
+-- Following field is for non-critical extensions up-to REL-12
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SystemInformationBlockType2-v13c0-IEs OPTIONAL
+}
+
+SystemInformationBlockType2-v13c0-IEs ::= SEQUENCE {
+ uplinkPowerControlCommon-v13c0 UplinkPowerControlCommon-v1310 OPTIONAL, -- Need OR
+-- Following field is for non-critical extensions from REL-13
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+AC-BarringConfig ::= SEQUENCE {
+ ac-BarringFactor ENUMERATED {
+ p00, p05, p10, p15, p20, p25, p30, p40,
+ p50, p60, p70, p75, p80, p85, p90, p95},
+ ac-BarringTime ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512},
+ ac-BarringForSpecialAC BIT STRING (SIZE(5))
+}
+
+MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig
+
+MBSFN-SubframeConfigList-v1430 ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig-v1430
+
+AC-BarringPerPLMN-List-r12 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF AC-BarringPerPLMN-r12
+
+AC-BarringPerPLMN-r12 ::= SEQUENCE {
+ plmn-IdentityIndex-r12 INTEGER (1..maxPLMN-r11),
+ ac-BarringInfo-r12 SEQUENCE {
+ ac-BarringForEmergency-r12 BOOLEAN,
+ ac-BarringForMO-Signalling-r12 AC-BarringConfig OPTIONAL, -- Need OP
+ ac-BarringForMO-Data-r12 AC-BarringConfig OPTIONAL -- Need OP
+ } OPTIONAL, -- Need OP
+ ac-BarringSkipForMMTELVoice-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ ac-BarringSkipForMMTELVideo-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ ac-BarringSkipForSMS-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ ac-BarringForCSFB-r12 AC-BarringConfig OPTIONAL, -- Need OP
+ ssac-BarringForMMTEL-Voice-r12 AC-BarringConfig OPTIONAL, -- Need OP
+ ssac-BarringForMMTEL-Video-r12 AC-BarringConfig OPTIONAL -- Need OP
+}
+
+ACDC-BarringForCommon-r13 ::= SEQUENCE {
+ acdc-HPLMNonly-r13 BOOLEAN,
+ barringPerACDC-CategoryList-r13 BarringPerACDC-CategoryList-r13
+}
+
+ACDC-BarringPerPLMN-List-r13 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF ACDC-BarringPerPLMN-r13
+
+ACDC-BarringPerPLMN-r13 ::= SEQUENCE {
+ plmn-IdentityIndex-r13 INTEGER (1..maxPLMN-r11),
+ acdc-OnlyForHPLMN-r13 BOOLEAN,
+ barringPerACDC-CategoryList-r13 BarringPerACDC-CategoryList-r13
+}
+
+BarringPerACDC-CategoryList-r13 ::= SEQUENCE (SIZE (1..maxACDC-Cat-r13)) OF BarringPerACDC-Category-r13
+
+BarringPerACDC-Category-r13 ::= SEQUENCE {
+ acdc-Category-r13 INTEGER (1..maxACDC-Cat-r13),
+ acdc-BarringConfig-r13 SEQUENCE {
+ ac-BarringFactor-r13 ENUMERATED {
+ p00, p05, p10, p15, p20, p25, p30, p40,
+ p50, p60, p70, p75, p80, p85, p90, p95},
+ ac-BarringTime-r13 ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512}
+ } OPTIONAL -- Need OP
+}
+
+UDT-Restricting-r13 ::= SEQUENCE {
+ udt-Restricting-r13 ENUMERATED {true} OPTIONAL, --Need OR
+ udt-RestrictingTime-r13 ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512} OPTIONAL --Need OR
+}
+
+UDT-RestrictingPerPLMN-List-r13 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF UDT-RestrictingPerPLMN-r13
+
+UDT-RestrictingPerPLMN-r13 ::= SEQUENCE {
+ plmn-IdentityIndex-r13 INTEGER (1..maxPLMN-r11),
+ udt-Restricting-r13 UDT-Restricting-r13 OPTIONAL --Need OR
+}
+
+CIOT-EPS-OptimisationInfo-r13 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF CIOT-OptimisationPLMN-r13
+
+CIOT-OptimisationPLMN-r13::= SEQUENCE {
+ up-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL, -- Need OP
+ cp-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL, -- Need OP
+ attachWithoutPDN-Connectivity-r13 ENUMERATED {true} OPTIONAL -- Need OP
+}
+
+PLMN-InfoList-r15 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-Info-r15
+
+PLMN-Info-r15 ::= SEQUENCE {
+ upperLayerIndication-r15 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+
+SystemInformationBlockType3 ::= SEQUENCE {
+ cellReselectionInfoCommon SEQUENCE {
+ q-Hyst ENUMERATED {
+ dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
+ dB12, dB14, dB16, dB18, dB20, dB22, dB24},
+ speedStateReselectionPars SEQUENCE {
+ mobilityStateParameters MobilityStateParameters,
+ q-HystSF SEQUENCE {
+ sf-Medium ENUMERATED {
+ dB-6, dB-4, dB-2, dB0},
+ sf-High ENUMERATED {
+ dB-6, dB-4, dB-2, dB0}
+ }
+ } OPTIONAL -- Need OP
+ },
+ cellReselectionServingFreqInfo SEQUENCE {
+ s-NonIntraSearch ReselectionThreshold OPTIONAL, -- Need OP
+ threshServingLow ReselectionThreshold,
+ cellReselectionPriority CellReselectionPriority
+ },
+ intraFreqCellReselectionInfo SEQUENCE {
+ q-RxLevMin Q-RxLevMin,
+ p-Max P-Max OPTIONAL, -- Need OP
+ s-IntraSearch ReselectionThreshold OPTIONAL, -- Need OP
+ allowedMeasBandwidth AllowedMeasBandwidth OPTIONAL, -- Need OP
+ presenceAntennaPort1 PresenceAntennaPort1,
+ neighCellConfig NeighCellConfig,
+ t-ReselectionEUTRA T-Reselection,
+ t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL -- Need OP
+ },
+ ...,
+ lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType3-v10j0-IEs) OPTIONAL,
+ [[ s-IntraSearch-v920 SEQUENCE {
+ s-IntraSearchP-r9 ReselectionThreshold,
+ s-IntraSearchQ-r9 ReselectionThresholdQ-r9
+ } OPTIONAL, -- Need OP
+ s-NonIntraSearch-v920 SEQUENCE {
+ s-NonIntraSearchP-r9 ReselectionThreshold,
+ s-NonIntraSearchQ-r9 ReselectionThresholdQ-r9
+ } OPTIONAL, -- Need OP
+ q-QualMin-r9 Q-QualMin-r9 OPTIONAL, -- Need OP
+ threshServingLowQ-r9 ReselectionThresholdQ-r9 OPTIONAL -- Need OP
+ ]],
+ [[ q-QualMinWB-r11 Q-QualMin-r9 OPTIONAL -- Cond WB-RSRQ
+ ]],
+ [[ q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL -- Cond RSRQ
+ ]],
+ [[ cellReselectionServingFreqInfo-v1310 CellReselectionServingFreqInfo-v1310 OPTIONAL, -- Need OP
+ redistributionServingInfo-r13 RedistributionServingInfo-r13 OPTIONAL, --Need OR
+ cellSelectionInfoCE-r13 CellSelectionInfoCE-r13 OPTIONAL, -- Need OP
+ t-ReselectionEUTRA-CE-r13 T-ReselectionEUTRA-CE-r13 OPTIONAL -- Need OP
+ ]],
+ [[ cellSelectionInfoCE1-r13 CellSelectionInfoCE1-r13 OPTIONAL -- Need OP
+ ]],
+ [[ cellSelectionInfoCE1-v1360 CellSelectionInfoCE1-v1360 OPTIONAL -- Cond QrxlevminCE1
+ ]],
+ [[ cellReselectionInfoCommon-v1460 CellReselectionInfoCommon-v1460 OPTIONAL -- Need OR
+ ]],
+ [[ cellReselectionInfoHSDN-r15 CellReselectionInfoHSDN-r15 OPTIONAL, -- Need OR
+ cellSelectionInfoCE-v1530 CellSelectionInfoCE-v1530 OPTIONAL, -- Need OP
+ crs-IntfMitigNeighCellsCE-r15 ENUMERATED {enabled} OPTIONAL -- Need OP
+ ]],
+ [[ cellReselectionServingFreqInfo-v1610 CellReselectionServingFreqInfo-v1610 OPTIONAL -- Need OR
+ ]],
+ [[ t-Service-r17 TimeOffsetUTC-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+RedistributionServingInfo-r13 ::= SEQUENCE {
+ redistributionFactorServing-r13 INTEGER(0..10),
+ redistributionFactorCell-r13 ENUMERATED{true} OPTIONAL, --Need OP
+ t360-r13 ENUMERATED {min4, min8, min16, min32,infinity,
+ spare3,spare2,spare1},
+ redistrOnPagingOnly-r13 ENUMERATED {true} OPTIONAL --Need OP
+}
+
+CellReselectionServingFreqInfo-v1310 ::= SEQUENCE {
+ cellReselectionSubPriority-r13 CellReselectionSubPriority-r13
+}
+
+CellReselectionServingFreqInfo-v1610 ::= SEQUENCE {
+ altCellReselectionPriority-r16 CellReselectionPriority OPTIONAL, -- Need OR
+ altCellReselectionSubPriority-r16 CellReselectionSubPriority-r13 OPTIONAL -- Need OR
+}
+
+-- Late non critical extensions
+SystemInformationBlockType3-v10j0-IEs ::= SEQUENCE {
+ freqBandInfo-r10 NS-PmaxList-r10 OPTIONAL, -- Need OR
+ multiBandInfoList-v10j0 MultiBandInfoList-v10j0 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType3-v10l0-IEs OPTIONAL
+}
+
+SystemInformationBlockType3-v10l0-IEs ::= SEQUENCE {
+ freqBandInfo-v10l0 NS-PmaxList-v10l0 OPTIONAL, -- Need OR
+ multiBandInfoList-v10l0 MultiBandInfoList-v10l0 OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+CellReselectionInfoCommon-v1460 ::= SEQUENCE {
+ s-SearchDeltaP-r14 ENUMERATED {dB6, dB9, dB12, dB15}
+}
+
+CellReselectionInfoHSDN-r15 ::= SEQUENCE {
+ cellEquivalentSize-r15 INTEGER(2..16)
+}
+
+
+SystemInformationBlockType4 ::= SEQUENCE {
+ intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need OR
+ intraFreqExcludedCellList IntraFreqExcludedCellList OPTIONAL, -- Need OR
+ csg-PhysCellIdRange PhysCellIdRange OPTIONAL, -- Cond CSG
+ ...,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ [[ intraFreqNeighHSDN-CellList-r15 IntraFreqNeighHSDN-CellList-r15 OPTIONAL -- Need OR
+ ]],
+ [[ rss-ConfigCarrierInfo-r16 RSS-ConfigCarrierInfo-r16 OPTIONAL, -- Cond RSS
+ intraFreqNeighCellList-v1610 IntraFreqNeighCellList-v1610 OPTIONAL -- Cond RSS
+ ]]
+}
+
+IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo
+
+IntraFreqNeighCellList-v1610 ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo-v1610
+
+IntraFreqNeighHSDN-CellList-r15 ::= SEQUENCE (SIZE (1..maxCellIntra)) OF PhysCellIdRange
+
+IntraFreqNeighCellInfo ::= SEQUENCE {
+ physCellId PhysCellId,
+ q-OffsetCell Q-OffsetRange,
+ ...
+}
+
+IntraFreqNeighCellInfo-v1610 ::= SEQUENCE {
+ rss-MeasPowerBias-r16 RSS-MeasPowerBias-r16
+}
+
+IntraFreqExcludedCellList ::= SEQUENCE (SIZE (1..maxExcludedCell)) OF PhysCellIdRange
+
+
+SystemInformationBlockType5 ::= SEQUENCE {
+ interFreqCarrierFreqList InterFreqCarrierFreqList,
+ ...,
+ lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType5-v8h0-IEs) OPTIONAL,
+ [[ interFreqCarrierFreqList-v1250 InterFreqCarrierFreqList-v1250 OPTIONAL, -- Need OR
+ interFreqCarrierFreqListExt-r12 InterFreqCarrierFreqListExt-r12 OPTIONAL -- Need OR
+ ]],
+ [[ interFreqCarrierFreqListExt-v1280 InterFreqCarrierFreqListExt-v1280 OPTIONAL -- Need OR
+ ]],
+ [[ interFreqCarrierFreqList-v1310 InterFreqCarrierFreqList-v1310 OPTIONAL, -- Need OR
+ interFreqCarrierFreqListExt-v1310 InterFreqCarrierFreqListExt-v1310 OPTIONAL -- Need OR
+ ]],
+ [[ interFreqCarrierFreqList-v1350 InterFreqCarrierFreqList-v1350 OPTIONAL, -- Need OR
+ interFreqCarrierFreqListExt-v1350 InterFreqCarrierFreqListExt-v1350 OPTIONAL -- Need OR
+ ]],
+ [[ interFreqCarrierFreqListExt-v1360 InterFreqCarrierFreqListExt-v1360 OPTIONAL -- Need OR
+ ]],
+ [[ scptm-FreqOffset-r14 INTEGER (1..8) OPTIONAL -- Need OP
+ ]],
+ [[ interFreqCarrierFreqList-v1530 InterFreqCarrierFreqList-v1530 OPTIONAL, -- Need OR
+ interFreqCarrierFreqListExt-v1530 InterFreqCarrierFreqListExt-v1530 OPTIONAL, -- Need OR
+ measIdleConfigSIB-r15 MeasIdleConfigSIB-r15 OPTIONAL -- Need OR
+ ]],
+ [[ interFreqCarrierFreqList-v1610 InterFreqCarrierFreqList-v1610 OPTIONAL, -- Need OR
+ interFreqCarrierFreqListExt-v1610 InterFreqCarrierFreqListExt-v1610 OPTIONAL, -- Need OR
+ measIdleConfigSIB-NR-r16 MeasIdleConfigSIB-NR-r16 OPTIONAL -- Need OR
+ ]]
+}
+
+-- Late non critical extensions
+SystemInformationBlockType5-v8h0-IEs ::= SEQUENCE {
+ interFreqCarrierFreqList-v8h0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v8h0 OPTIONAL, -- Need OP
+ nonCriticalExtension SystemInformationBlockType5-v9e0-IEs OPTIONAL
+}
+
+SystemInformationBlockType5-v9e0-IEs ::= SEQUENCE {
+ interFreqCarrierFreqList-v9e0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v9e0 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType5-v10j0-IEs OPTIONAL
+}
+
+SystemInformationBlockType5-v10j0-IEs ::= SEQUENCE {
+ interFreqCarrierFreqList-v10j0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v10j0 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType5-v10l0-IEs OPTIONAL
+}
+
+SystemInformationBlockType5-v10l0-IEs ::= SEQUENCE {
+ interFreqCarrierFreqList-v10l0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v10l0 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType5-v13a0-IEs OPTIONAL
+}
+
+SystemInformationBlockType5-v13a0-IEs ::= SEQUENCE {
+ -- Late non critical extensions from REL-10 upto REL-12
+ lateNonCriticalExtension OCTET STRING OPTIONAL, -- Need OR
+ interFreqCarrierFreqList-v13a0 InterFreqCarrierFreqList-v13a0 OPTIONAL, -- Need OR
+ -- Late non critical extensions from REL-13
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo
+
+InterFreqCarrierFreqList-v1250 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1250
+
+InterFreqCarrierFreqList-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1310
+
+InterFreqCarrierFreqList-v1350 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1350
+
+InterFreqCarrierFreqList-v13a0 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1360
+
+InterFreqCarrierFreqList-v1530 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1530
+
+InterFreqCarrierFreqList-v1610 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1610
+
+InterFreqCarrierFreqListExt-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-r12
+
+InterFreqCarrierFreqListExt-v1280 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v10j0
+
+InterFreqCarrierFreqListExt-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1310
+
+InterFreqCarrierFreqListExt-v1350 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1350
+
+InterFreqCarrierFreqListExt-v1360 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1360
+
+InterFreqCarrierFreqListExt-v1530 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1530
+
+InterFreqCarrierFreqListExt-v1610 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1610
+
+InterFreqCarrierFreqInfo ::= SEQUENCE {
+ dl-CarrierFreq ARFCN-ValueEUTRA,
+ q-RxLevMin Q-RxLevMin,
+ p-Max P-Max OPTIONAL, -- Need OP
+ t-ReselectionEUTRA T-Reselection,
+ t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP
+ threshX-High ReselectionThreshold,
+ threshX-Low ReselectionThreshold,
+ allowedMeasBandwidth AllowedMeasBandwidth,
+ presenceAntennaPort1 PresenceAntennaPort1,
+ cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
+ neighCellConfig NeighCellConfig,
+ q-OffsetFreq Q-OffsetRange DEFAULT dB0,
+ interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need OR
+ interFreqExcludedCellList InterFreqExcludedCellList OPTIONAL, -- Need OR
+ ...,
+ [[ q-QualMin-r9 Q-QualMin-r9 OPTIONAL, -- Need OP
+ threshX-Q-r9 SEQUENCE {
+ threshX-HighQ-r9 ReselectionThresholdQ-r9,
+ threshX-LowQ-r9 ReselectionThresholdQ-r9
+ } OPTIONAL -- Cond RSRQ
+ ]],
+ [[ q-QualMinWB-r11 Q-QualMin-r9 OPTIONAL -- Cond WB-RSRQ
+ ]]
+}
+
+InterFreqCarrierFreqInfo-v8h0 ::= SEQUENCE {
+ multiBandInfoList MultiBandInfoList OPTIONAL -- Need OR
+}
+
+InterFreqCarrierFreqInfo-v9e0 ::= SEQUENCE {
+ dl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL, -- Cond dl-FreqMax
+ multiBandInfoList-v9e0 MultiBandInfoList-v9e0 OPTIONAL -- Need OR
+}
+
+InterFreqCarrierFreqInfo-v10j0 ::= SEQUENCE {
+ freqBandInfo-r10 NS-PmaxList-r10 OPTIONAL, -- Need OR
+ multiBandInfoList-v10j0 MultiBandInfoList-v10j0 OPTIONAL -- Need OR
+}
+
+InterFreqCarrierFreqInfo-v10l0 ::= SEQUENCE {
+ freqBandInfo-v10l0 NS-PmaxList-v10l0 OPTIONAL, -- Need OR
+ multiBandInfoList-v10l0 MultiBandInfoList-v10l0 OPTIONAL -- Need OR
+}
+
+InterFreqCarrierFreqInfo-v1250 ::= SEQUENCE {
+ reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL -- Cond RSRQ2
+}
+
+InterFreqCarrierFreqInfo-r12 ::= SEQUENCE {
+ dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9,
+ q-RxLevMin-r12 Q-RxLevMin,
+ p-Max-r12 P-Max OPTIONAL, -- Need OP
+ t-ReselectionEUTRA-r12 T-Reselection,
+ t-ReselectionEUTRA-SF-r12 SpeedStateScaleFactors OPTIONAL, -- Need OP
+ threshX-High-r12 ReselectionThreshold,
+ threshX-Low-r12 ReselectionThreshold,
+ allowedMeasBandwidth-r12 AllowedMeasBandwidth,
+ presenceAntennaPort1-r12 PresenceAntennaPort1,
+ cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP
+ neighCellConfig-r12 NeighCellConfig,
+ q-OffsetFreq-r12 Q-OffsetRange DEFAULT dB0,
+ interFreqNeighCellList-r12 InterFreqNeighCellList OPTIONAL, -- Need OR
+ interFreqExcludedCellList-r12 InterFreqExcludedCellList OPTIONAL, -- Need OR
+ q-QualMin-r12 Q-QualMin-r9 OPTIONAL, -- Need OP
+ threshX-Q-r12 SEQUENCE {
+ threshX-HighQ-r12 ReselectionThresholdQ-r9,
+ threshX-LowQ-r12 ReselectionThresholdQ-r9
+ } OPTIONAL, -- Cond RSRQ
+ q-QualMinWB-r12 Q-QualMin-r9 OPTIONAL, -- Cond WB-RSRQ
+ multiBandInfoList-r12 MultiBandInfoList-r11 OPTIONAL, -- Need OR
+ reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL, -- Cond RSRQ2
+...
+}
+
+InterFreqCarrierFreqInfo-v1310 ::= SEQUENCE {
+ cellReselectionSubPriority-r13 CellReselectionSubPriority-r13 OPTIONAL, -- Need OP
+ redistributionInterFreqInfo-r13 RedistributionInterFreqInfo-r13 OPTIONAL, --Need OP
+ cellSelectionInfoCE-r13 CellSelectionInfoCE-r13 OPTIONAL, -- Need OP
+ t-ReselectionEUTRA-CE-r13 T-ReselectionEUTRA-CE-r13 OPTIONAL -- Need OP
+}
+
+InterFreqCarrierFreqInfo-v1350 ::= SEQUENCE {
+ cellSelectionInfoCE1-r13 CellSelectionInfoCE1-r13 OPTIONAL -- Need OP
+}
+
+InterFreqCarrierFreqInfo-v1360 ::= SEQUENCE {
+ cellSelectionInfoCE1-v1360 CellSelectionInfoCE1-v1360 OPTIONAL -- Cond QrxlevminCE1
+}
+
+InterFreqCarrierFreqInfo-v1530 ::= SEQUENCE {
+ hsdn-Indication-r15 BOOLEAN,
+ interFreqNeighHSDN-CellList-r15 InterFreqNeighHSDN-CellList-r15 OPTIONAL, -- Need OR
+ cellSelectionInfoCE-v1530 CellSelectionInfoCE-v1530 OPTIONAL -- Need OP
+}
+
+InterFreqCarrierFreqInfo-v1610 ::= SEQUENCE {
+ altCellReselectionPriority-r16 CellReselectionPriority OPTIONAL, -- Need OR
+ altCellReselectionSubPriority-r16 CellReselectionSubPriority-r13 OPTIONAL, -- Need OR
+ rss-ConfigCarrierInfo-r16 RSS-ConfigCarrierInfo-r16 OPTIONAL, -- Cond RSS
+ interFreqNeighCellList-v1610 InterFreqNeighCellList-v1610 OPTIONAL -- Cond RSS
+}
+
+InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo
+
+InterFreqNeighCellList-v1610 ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo-v1610
+
+InterFreqNeighHSDN-CellList-r15 ::= SEQUENCE (SIZE (1..maxCellInter)) OF PhysCellIdRange
+
+InterFreqNeighCellInfo ::= SEQUENCE {
+ physCellId PhysCellId,
+ q-OffsetCell Q-OffsetRange
+}
+
+InterFreqNeighCellInfo-v1610 ::= SEQUENCE {
+ rss-MeasPowerBias-r16 RSS-MeasPowerBias-r16
+}
+
+InterFreqExcludedCellList ::= SEQUENCE (SIZE (1..maxExcludedCell)) OF PhysCellIdRange
+
+RedistributionInterFreqInfo-r13 ::= SEQUENCE {
+ redistributionFactorFreq-r13 RedistributionFactor-r13 OPTIONAL, --Need OP
+ redistributionNeighCellList-r13 RedistributionNeighCellList-r13 OPTIONAL --Need OP
+}
+
+RedistributionNeighCellList-r13 ::= SEQUENCE (SIZE (1..maxCellInter)) OF RedistributionNeighCell-r13
+
+RedistributionNeighCell-r13 ::= SEQUENCE {
+ physCellId-r13 PhysCellId,
+ redistributionFactorCell-r13 RedistributionFactor-r13
+}
+
+RedistributionFactor-r13 ::= INTEGER(1..10)
+
+
+SystemInformationBlockType6 ::= SEQUENCE {
+ carrierFreqListUTRA-FDD CarrierFreqListUTRA-FDD OPTIONAL, -- Need OR
+ carrierFreqListUTRA-TDD CarrierFreqListUTRA-TDD OPTIONAL, -- Need OR
+ t-ReselectionUTRA T-Reselection,
+ t-ReselectionUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP
+ ...,
+ lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType6-v8h0-IEs) OPTIONAL,
+ [[ carrierFreqListUTRA-FDD-v1250 SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF
+ CarrierFreqInfoUTRA-v1250 OPTIONAL, -- Cond UTRA-FDD
+ carrierFreqListUTRA-TDD-v1250 SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF
+ CarrierFreqInfoUTRA-v1250 OPTIONAL, -- Cond UTRA-TDD
+ carrierFreqListUTRA-FDD-Ext-r12 CarrierFreqListUTRA-FDD-Ext-r12 OPTIONAL, -- Cond UTRA-FDD
+ carrierFreqListUTRA-TDD-Ext-r12 CarrierFreqListUTRA-TDD-Ext-r12 OPTIONAL -- Cond UTRA-TDD
+ ]]
+}
+
+SystemInformationBlockType6-v8h0-IEs ::= SEQUENCE {
+ carrierFreqListUTRA-FDD-v8h0 SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF CarrierFreqInfoUTRA-FDD-v8h0 OPTIONAL, -- Cond UTRA-FDD
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+CarrierFreqInfoUTRA-v1250 ::= SEQUENCE {
+ reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL -- Need OP
+}
+
+CarrierFreqListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF CarrierFreqUTRA-FDD
+
+CarrierFreqUTRA-FDD ::= SEQUENCE {
+ carrierFreq ARFCN-ValueUTRA,
+ cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
+ threshX-High ReselectionThreshold,
+ threshX-Low ReselectionThreshold,
+ q-RxLevMin INTEGER (-60..-13),
+ p-MaxUTRA INTEGER (-50..33),
+ q-QualMin INTEGER (-24..0),
+ ...,
+ [[ threshX-Q-r9 SEQUENCE {
+ threshX-HighQ-r9 ReselectionThresholdQ-r9,
+ threshX-LowQ-r9 ReselectionThresholdQ-r9
+ } OPTIONAL -- Cond RSRQ
+ ]]
+}
+
+CarrierFreqInfoUTRA-FDD-v8h0 ::= SEQUENCE {
+ multiBandInfoList SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-UTRA-FDD OPTIONAL -- Need OR
+}
+
+CarrierFreqListUTRA-FDD-Ext-r12 ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF
+ CarrierFreqUTRA-FDD-Ext-r12
+
+CarrierFreqUTRA-FDD-Ext-r12 ::= SEQUENCE {
+ carrierFreq-r12 ARFCN-ValueUTRA,
+ cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP
+ threshX-High-r12 ReselectionThreshold,
+ threshX-Low-r12 ReselectionThreshold,
+ q-RxLevMin-r12 INTEGER (-60..-13),
+ p-MaxUTRA-r12 INTEGER (-50..33),
+ q-QualMin-r12 INTEGER (-24..0),
+ threshX-Q-r12 SEQUENCE {
+ threshX-HighQ-r12 ReselectionThresholdQ-r9,
+ threshX-LowQ-r12 ReselectionThresholdQ-r9
+ } OPTIONAL, -- Cond RSRQ
+ multiBandInfoList-r12 SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-UTRA-FDD OPTIONAL, -- Need OR
+ reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ ...
+}
+
+CarrierFreqListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF CarrierFreqUTRA-TDD
+
+CarrierFreqUTRA-TDD ::= SEQUENCE {
+ carrierFreq ARFCN-ValueUTRA,
+ cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
+ threshX-High ReselectionThreshold,
+ threshX-Low ReselectionThreshold,
+ q-RxLevMin INTEGER (-60..-13),
+ p-MaxUTRA INTEGER (-50..33),
+ ...
+}
+
+CarrierFreqListUTRA-TDD-Ext-r12 ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF
+ CarrierFreqUTRA-TDD-r12
+
+CarrierFreqUTRA-TDD-r12 ::= SEQUENCE {
+ carrierFreq-r12 ARFCN-ValueUTRA,
+ cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP
+ threshX-High-r12 ReselectionThreshold,
+ threshX-Low-r12 ReselectionThreshold,
+ q-RxLevMin-r12 INTEGER (-60..-13),
+ p-MaxUTRA-r12 INTEGER (-50..33),
+ reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP
+ ...
+}
+
+FreqBandIndicator-UTRA-FDD ::= INTEGER (1..86)
+
+
+SystemInformationBlockType7 ::= SEQUENCE {
+ t-ReselectionGERAN T-Reselection,
+ t-ReselectionGERAN-SF SpeedStateScaleFactors OPTIONAL, -- Need OR
+ carrierFreqsInfoList CarrierFreqsInfoListGERAN OPTIONAL, -- Need OR
+ ...,
+ lateNonCriticalExtension OCTET STRING OPTIONAL
+}
+
+CarrierFreqsInfoListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF CarrierFreqsInfoGERAN
+
+CarrierFreqsInfoGERAN ::= SEQUENCE {
+ carrierFreqs CarrierFreqsGERAN,
+ commonInfo SEQUENCE {
+ cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
+ ncc-Permitted BIT STRING (SIZE (8)),
+ q-RxLevMin INTEGER (0..45),
+ p-MaxGERAN INTEGER (0..39) OPTIONAL, -- Need OP
+ threshX-High ReselectionThreshold,
+ threshX-Low ReselectionThreshold
+ },
+ ...
+}
+
+
+SystemInformationBlockType8 ::= SEQUENCE {
+ systemTimeInfo SystemTimeInfoCDMA2000 OPTIONAL, -- Need OR
+ searchWindowSize INTEGER (0..15) OPTIONAL, -- Need OR
+ parametersHRPD SEQUENCE {
+ preRegistrationInfoHRPD PreRegistrationInfoHRPD,
+ cellReselectionParametersHRPD CellReselectionParametersCDMA2000 OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ parameters1XRTT SEQUENCE {
+ csfb-RegistrationParam1XRTT CSFB-RegistrationParam1XRTT OPTIONAL, -- Need OP
+ longCodeState1XRTT BIT STRING (SIZE (42)) OPTIONAL, -- Need OR
+ cellReselectionParameters1XRTT CellReselectionParametersCDMA2000 OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ ...,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ [[ csfb-SupportForDualRxUEs-r9 BOOLEAN OPTIONAL, -- Need OR
+ cellReselectionParametersHRPD-v920 CellReselectionParametersCDMA2000-v920 OPTIONAL, -- Cond NCL-HRPD
+ cellReselectionParameters1XRTT-v920 CellReselectionParametersCDMA2000-v920 OPTIONAL, -- Cond NCL-1XRTT
+ csfb-RegistrationParam1XRTT-v920 CSFB-RegistrationParam1XRTT-v920 OPTIONAL, -- Cond REG-1XRTT
+ ac-BarringConfig1XRTT-r9 AC-BarringConfig1XRTT-r9 OPTIONAL -- Cond REG-1XRTT
+ ]],
+ [[ csfb-DualRxTxSupport-r10 ENUMERATED {true} OPTIONAL -- Cond REG-1XRTT
+ ]],
+ [[ sib8-PerPLMN-List-r11 SIB8-PerPLMN-List-r11 OPTIONAL -- Need OR
+ ]]
+}
+
+CellReselectionParametersCDMA2000 ::= SEQUENCE {
+ bandClassList BandClassListCDMA2000,
+ neighCellList NeighCellListCDMA2000,
+ t-ReselectionCDMA2000 T-Reselection,
+ t-ReselectionCDMA2000-SF SpeedStateScaleFactors OPTIONAL -- Need OP
+}
+
+CellReselectionParametersCDMA2000-r11 ::= SEQUENCE {
+ bandClassList BandClassListCDMA2000,
+ neighCellList-r11 SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000-r11,
+ t-ReselectionCDMA2000 T-Reselection,
+ t-ReselectionCDMA2000-SF SpeedStateScaleFactors OPTIONAL -- Need OP
+}
+
+CellReselectionParametersCDMA2000-v920 ::= SEQUENCE {
+ neighCellList-v920 NeighCellListCDMA2000-v920
+}
+
+NeighCellListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000
+
+NeighCellCDMA2000 ::= SEQUENCE {
+ bandClass BandclassCDMA2000,
+ neighCellsPerFreqList NeighCellsPerBandclassListCDMA2000
+}
+
+NeighCellCDMA2000-r11 ::= SEQUENCE {
+ bandClass BandclassCDMA2000,
+ neighFreqInfoList-r11 SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000-r11
+}
+
+NeighCellsPerBandclassListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000
+
+NeighCellsPerBandclassCDMA2000 ::= SEQUENCE {
+ arfcn ARFCN-ValueCDMA2000,
+ physCellIdList PhysCellIdListCDMA2000
+}
+
+NeighCellsPerBandclassCDMA2000-r11 ::= SEQUENCE {
+ arfcn ARFCN-ValueCDMA2000,
+ physCellIdList-r11 SEQUENCE (SIZE (1..40)) OF PhysCellIdCDMA2000
+}
+
+NeighCellListCDMA2000-v920 ::= SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000-v920
+
+NeighCellCDMA2000-v920 ::= SEQUENCE {
+ neighCellsPerFreqList-v920 NeighCellsPerBandclassListCDMA2000-v920
+}
+
+NeighCellsPerBandclassListCDMA2000-v920 ::= SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000-v920
+
+NeighCellsPerBandclassCDMA2000-v920 ::= SEQUENCE {
+ physCellIdList-v920 PhysCellIdListCDMA2000-v920
+}
+
+PhysCellIdListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF PhysCellIdCDMA2000
+
+PhysCellIdListCDMA2000-v920 ::= SEQUENCE (SIZE (0..24)) OF PhysCellIdCDMA2000
+
+BandClassListCDMA2000 ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassInfoCDMA2000
+
+BandClassInfoCDMA2000 ::= SEQUENCE {
+ bandClass BandclassCDMA2000,
+ cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
+ threshX-High INTEGER (0..63),
+ threshX-Low INTEGER (0..63),
+ ...
+}
+
+AC-BarringConfig1XRTT-r9 ::= SEQUENCE {
+ ac-Barring0to9-r9 INTEGER (0..63),
+ ac-Barring10-r9 INTEGER (0..7),
+ ac-Barring11-r9 INTEGER (0..7),
+ ac-Barring12-r9 INTEGER (0..7),
+ ac-Barring13-r9 INTEGER (0..7),
+ ac-Barring14-r9 INTEGER (0..7),
+ ac-Barring15-r9 INTEGER (0..7),
+ ac-BarringMsg-r9 INTEGER (0..7),
+ ac-BarringReg-r9 INTEGER (0..7),
+ ac-BarringEmg-r9 INTEGER (0..7)
+}
+
+SIB8-PerPLMN-List-r11 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF SIB8-PerPLMN-r11
+
+SIB8-PerPLMN-r11 ::= SEQUENCE {
+ plmn-Identity-r11 INTEGER (1..maxPLMN-r11),
+ parametersCDMA2000-r11 CHOICE {
+ explicitValue ParametersCDMA2000-r11,
+ defaultValue NULL
+ }
+}
+
+ParametersCDMA2000-r11 ::= SEQUENCE {
+ systemTimeInfo-r11 CHOICE {
+ explicitValue SystemTimeInfoCDMA2000,
+ defaultValue NULL
+ } OPTIONAL, -- Need OR
+ searchWindowSize-r11 INTEGER (0..15),
+ parametersHRPD-r11 SEQUENCE {
+ preRegistrationInfoHRPD-r11 PreRegistrationInfoHRPD,
+ cellReselectionParametersHRPD-r11 CellReselectionParametersCDMA2000-r11 OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ parameters1XRTT-r11 SEQUENCE {
+ csfb-RegistrationParam1XRTT-r11 CSFB-RegistrationParam1XRTT OPTIONAL, -- Need OP
+ csfb-RegistrationParam1XRTT-Ext-r11 CSFB-RegistrationParam1XRTT-v920 OPTIONAL, -- Cond REG-1XRTT-PerPLMN
+ longCodeState1XRTT-r11 BIT STRING (SIZE (42)) OPTIONAL, -- Cond PerPLMN-LC
+ cellReselectionParameters1XRTT-r11 CellReselectionParametersCDMA2000-r11 OPTIONAL, -- Need OR
+ ac-BarringConfig1XRTT-r11 AC-BarringConfig1XRTT-r9 OPTIONAL, -- Cond REG-1XRTT-PerPLMN
+ csfb-SupportForDualRxUEs-r11 BOOLEAN OPTIONAL, -- Need OR
+ csfb-DualRxTxSupport-r11 ENUMERATED {true} OPTIONAL -- Cond REG-1XRTT-PerPLMN
+ } OPTIONAL, -- Need OR
+ ...
+}
+
+
+SystemInformationBlockType9 ::= SEQUENCE {
+ hnb-Name OCTET STRING (SIZE(1..48)) OPTIONAL, -- Need OR
+ ...,
+ lateNonCriticalExtension OCTET STRING OPTIONAL
+}
+
+
+SystemInformationBlockType10 ::= SEQUENCE {
+ messageIdentifier BIT STRING (SIZE (16)),
+ serialNumber BIT STRING (SIZE (16)),
+ warningType OCTET STRING (SIZE (2)),
+ dummy OCTET STRING (SIZE (50)) OPTIONAL, -- Need OP
+ ...,
+ lateNonCriticalExtension OCTET STRING OPTIONAL
+}
+
+
+SystemInformationBlockType11 ::= SEQUENCE {
+ messageIdentifier BIT STRING (SIZE (16)),
+ serialNumber BIT STRING (SIZE (16)),
+ warningMessageSegmentType ENUMERATED {notLastSegment, lastSegment},
+ warningMessageSegmentNumber INTEGER (0..63),
+ warningMessageSegment OCTET STRING,
+ dataCodingScheme OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1
+ ...,
+ lateNonCriticalExtension OCTET STRING OPTIONAL
+}
+
+
+SystemInformationBlockType12-r9 ::= SEQUENCE {
+ messageIdentifier-r9 BIT STRING (SIZE (16)),
+ serialNumber-r9 BIT STRING (SIZE (16)),
+ warningMessageSegmentType-r9 ENUMERATED {notLastSegment, lastSegment},
+ warningMessageSegmentNumber-r9 INTEGER (0..63),
+ warningMessageSegment-r9 OCTET STRING,
+ dataCodingScheme-r9 OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ warningAreaCoordinatesSegment-r15 OCTET STRING OPTIONAL -- Need OR
+ ]]
+}
+
+
+SystemInformationBlockType13-r9 ::= SEQUENCE {
+ mbsfn-AreaInfoList-r9 MBSFN-AreaInfoList-r9,
+ notificationConfig-r9 MBMS-NotificationConfig-r9,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[
+ notificationConfig-v1430 MBMS-NotificationConfig-v1430 OPTIONAL
+ ]],
+ [[
+ mbsfn-AreaInfoList-r16 MBSFN-AreaInfoList-r16 OPTIONAL -- Need OR
+ ]],
+ [[
+ mbsfn-AreaInfoList-r17 MBSFN-AreaInfoList-r17 OPTIONAL -- Cond Ded15or25PRB
+ ]]
+}
+
+
+SystemInformationBlockType14-r11 ::= SEQUENCE {
+ eab-Param-r11 CHOICE {
+ eab-Common-r11 EAB-Config-r11,
+ eab-PerPLMN-List-r11 SEQUENCE (SIZE (1..maxPLMN-r11)) OF EAB-ConfigPLMN-r11
+ } OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ eab-PerRSRP-r15 ENUMERATED {thresh0, thresh1, thresh2, thresh3} OPTIONAL -- Need OR
+ ]]
+}
+
+EAB-ConfigPLMN-r11 ::= SEQUENCE {
+ eab-Config-r11 EAB-Config-r11 OPTIONAL -- Need OR
+}
+
+EAB-Config-r11 ::= SEQUENCE {
+ eab-Category-r11 ENUMERATED {a, b, c},
+ eab-BarringBitmap-r11 BIT STRING (SIZE (10))
+}
+
+
+SystemInformationBlockType15-r11 ::= SEQUENCE {
+ mbms-SAI-IntraFreq-r11 MBMS-SAI-List-r11 OPTIONAL, -- Need OR
+ mbms-SAI-InterFreqList-r11 MBMS-SAI-InterFreqList-r11 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ mbms-SAI-InterFreqList-v1140 MBMS-SAI-InterFreqList-v1140 OPTIONAL -- Cond InterFreq
+ ]],
+ [[ mbms-IntraFreqCarrierType-r14 MBMS-CarrierType-r14 OPTIONAL, -- Need OR
+ mbms-InterFreqCarrierTypeList-r14
+ MBMS-InterFreqCarrierTypeList-r14 OPTIONAL -- Need OR
+ ]]
+}
+
+MBMS-SAI-List-r11 ::= SEQUENCE (SIZE (1..maxSAI-MBMS-r11)) OF MBMS-SAI-r11
+
+MBMS-SAI-r11 ::= INTEGER (0..65535)
+
+MBMS-SAI-InterFreqList-r11 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-SAI-InterFreq-r11
+
+MBMS-SAI-InterFreqList-v1140 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-SAI-InterFreq-v1140
+
+MBMS-SAI-InterFreq-r11 ::= SEQUENCE {
+ dl-CarrierFreq-r11 ARFCN-ValueEUTRA-r9,
+ mbms-SAI-List-r11 MBMS-SAI-List-r11
+}
+
+MBMS-SAI-InterFreq-v1140 ::= SEQUENCE {
+ multiBandInfoList-r11 MultiBandInfoList-r11 OPTIONAL -- Need OR
+}
+
+MBMS-InterFreqCarrierTypeList-r14 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-CarrierType-r14
+
+MBMS-CarrierType-r14 ::= SEQUENCE {
+ carrierType-r14 ENUMERATED {mbms, fembmsMixed, fembmsDedicated},
+ frameOffset-r14 INTEGER (0..3) OPTIONAL -- Need OR
+}
+
+
+SystemInformationBlockType16-r11 ::= SEQUENCE {
+ timeInfo-r11 SEQUENCE {
+ timeInfoUTC-r11 INTEGER (0..549755813887),
+ dayLightSavingTime-r11 BIT STRING (SIZE (2)) OPTIONAL, -- Need OR
+ leapSeconds-r11 INTEGER (-127..128) OPTIONAL, -- Need OR
+ localTimeOffset-r11 INTEGER (-63..64) OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ timeReferenceInfo-r15 TimeReferenceInfo-r15 OPTIONAL -- Need OR
+ ]]
+}
+
+
+SystemInformationBlockType17-r12 ::= SEQUENCE {
+ wlan-OffloadInfoPerPLMN-List-r12 SEQUENCE (SIZE (1..maxPLMN-r11)) OF
+ WLAN-OffloadInfoPerPLMN-r12 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+WLAN-OffloadInfoPerPLMN-r12 ::= SEQUENCE {
+ wlan-OffloadConfigCommon-r12 WLAN-OffloadConfig-r12 OPTIONAL, -- Need OR
+ wlan-Id-List-r12 WLAN-Id-List-r12 OPTIONAL, -- Need OR
+ ...
+}
+
+WLAN-Id-List-r12 ::= SEQUENCE (SIZE (1..maxWLAN-Id-r12)) OF WLAN-Identifiers-r12
+
+WLAN-Identifiers-r12 ::= SEQUENCE {
+ ssid-r12 OCTET STRING (SIZE (1..32)) OPTIONAL, -- Need OR
+ bssid-r12 OCTET STRING (SIZE (6)) OPTIONAL, -- Need OR
+ hessid-r12 OCTET STRING (SIZE (6)) OPTIONAL, -- Need OR
+ ...
+}
+
+
+SystemInformationBlockType18-r12 ::= SEQUENCE {
+ commConfig-r12 SEQUENCE {
+ commRxPool-r12 SL-CommRxPoolList-r12,
+ commTxPoolNormalCommon-r12 SL-CommTxPoolList-r12 OPTIONAL, -- Need OR
+ commTxPoolExceptional-r12 SL-CommTxPoolList-r12 OPTIONAL, -- Need OR
+ commSyncConfig-r12 SL-SyncConfigList-r12 OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ commTxPoolNormalCommonExt-r13 SL-CommTxPoolListExt-r13 OPTIONAL, -- Need OR
+ commTxResourceUC-ReqAllowed-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ commTxAllowRelayCommon-r13 ENUMERATED {true} OPTIONAL -- Need OR
+ ]]
+}
+
+
+SystemInformationBlockType19-r12 ::= SEQUENCE {
+ discConfig-r12 SEQUENCE {
+ discRxPool-r12 SL-DiscRxPoolList-r12,
+ discTxPoolCommon-r12 SL-DiscTxPoolList-r12 OPTIONAL, -- Need OR
+ discTxPowerInfo-r12 SL-DiscTxPowerInfoList-r12 OPTIONAL, -- Cond Tx
+ discSyncConfig-r12 SL-SyncConfigList-r12 OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ discInterFreqList-r12 SL-CarrierFreqInfoList-r12 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ discConfig-v1310 SEQUENCE {
+ discInterFreqList-v1310 SL-CarrierFreqInfoList-v1310 OPTIONAL, -- Need OR
+ gapRequestsAllowedCommon ENUMERATED {true} OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ discConfigRelay-r13 SEQUENCE {
+ relayUE-Config-r13 SL-DiscConfigRelayUE-r13,
+ remoteUE-Config-r13 SL-DiscConfigRemoteUE-r13
+ } OPTIONAL, -- Need OR
+ discConfigPS-13 SEQUENCE {
+ discRxPoolPS-r13 SL-DiscRxPoolList-r12,
+ discTxPoolPS-Common-r13 SL-DiscTxPoolList-r12 OPTIONAL -- Need OR
+ } OPTIONAL -- Need OR
+ ]]
+}
+
+SL-CarrierFreqInfoList-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-CarrierFreqInfo-r12
+
+SL-CarrierFreqInfoList-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-CarrierFreqInfo-v1310
+
+SL-CarrierFreqInfo-r12::= SEQUENCE {
+ carrierFreq-r12 ARFCN-ValueEUTRA-r9,
+ plmn-IdentityList-r12 PLMN-IdentityList4-r12 OPTIONAL -- Need OP
+}
+
+SL-DiscConfigRelayUE-r13 ::= SEQUENCE {
+ threshHigh-r13 RSRP-RangeSL4-r13 OPTIONAL, -- Need OR
+ threshLow-r13 RSRP-RangeSL4-r13 OPTIONAL, -- Need OR
+ hystMax-r13 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf} OPTIONAL, -- Cond ThreshHigh
+ hystMin-r13 ENUMERATED {dB0, dB3, dB6, dB9, dB12} OPTIONAL -- Cond ThreshLow
+}
+
+SL-DiscConfigRemoteUE-r13 ::= SEQUENCE {
+ threshHigh-r13 RSRP-RangeSL4-r13 OPTIONAL, -- Need OR
+ hystMax-r13 ENUMERATED {dB0, dB3, dB6, dB9, dB12} OPTIONAL, -- Cond ThreshHigh
+ reselectionInfoIC-r13 ReselectionInfoRelay-r13
+}
+
+ReselectionInfoRelay-r13 ::= SEQUENCE {
+ q-RxLevMin-r13 Q-RxLevMin,
+ -- Note that the mapping of invidual values may be different for PC5, but the granularity/
+ -- number of values is same as for Uu
+ filterCoefficient-r13 FilterCoefficient,
+ minHyst-r13 ENUMERATED {dB0, dB3,
+ dB6, dB9, dB12, dBinf} OPTIONAL -- Need OR
+}
+
+SL-CarrierFreqInfo-v1310::= SEQUENCE {
+ discResourcesNonPS-r13 SL-ResourcesInterFreq-r13 OPTIONAL, -- Need OR
+ discResourcesPS-r13 SL-ResourcesInterFreq-r13 OPTIONAL, -- Need OR
+ discConfigOther-r13 SL-DiscConfigOtherInterFreq-r13 OPTIONAL, -- Need OR
+ ...
+}
+
+PLMN-IdentityList4-r12 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo2-r12
+
+PLMN-IdentityInfo2-r12 ::= CHOICE {
+ plmn-Index-r12 INTEGER (1..maxPLMN-r11),
+ plmnIdentity-r12 PLMN-Identity
+}
+
+SL-DiscTxResourcesInterFreq-r13 ::= CHOICE {
+ acquireSI-FromCarrier-r13 NULL,
+ discTxPoolCommon-r13 SL-DiscTxPoolList-r12,
+ requestDedicated-r13 NULL,
+ noTxOnCarrier-r13 NULL
+}
+
+SL-DiscConfigOtherInterFreq-r13::= SEQUENCE {
+ txPowerInfo-r13 SL-DiscTxPowerInfoList-r12 OPTIONAL, -- Cond Tx
+ refCarrierCommon-r13 ENUMERATED {pCell} OPTIONAL, -- Need OR
+ discSyncConfig-r13 SL-SyncConfigListNFreq-r13 OPTIONAL, -- Need OR
+ discCellSelectionInfo-r13 CellSelectionInfoNFreq-r13 OPTIONAL -- Need OR
+}
+
+SL-ResourcesInterFreq-r13 ::= SEQUENCE {
+ discRxResourcesInterFreq-r13 SL-DiscRxPoolList-r12 OPTIONAL, -- Need OR
+ discTxResourcesInterFreq-r13 SL-DiscTxResourcesInterFreq-r13 OPTIONAL -- Need OR
+}
+
+
+SystemInformationBlockType20-r13 ::= SEQUENCE {
+ sc-mcch-RepetitionPeriod-r13 ENUMERATED {rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256},
+ sc-mcch-Offset-r13 INTEGER (0..10),
+ sc-mcch-FirstSubframe-r13 INTEGER (0..9),
+ sc-mcch-duration-r13 INTEGER (2..9) OPTIONAL,
+ sc-mcch-ModificationPeriod-r13 ENUMERATED {rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256,
+ rf512, rf1024, r2048, rf4096, rf8192, rf16384, rf32768,
+ rf65536},
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ br-BCCH-Config-r14 SEQUENCE {
+ dummy ENUMERATED {rf1},
+ dummy2 ENUMERATED {rf1},
+ mpdcch-Narrowband-SC-MCCH-r14 INTEGER (1..maxAvailNarrowBands-r13),
+ mpdcch-NumRepetition-SC-MCCH-r14 ENUMERATED {r1, r2, r4, r8, r16,
+ r32, r64, r128, r256},
+ mpdcch-StartSF-SC-MCCH-r14 CHOICE {
+ fdd-r14 ENUMERATED {v1, v1dot5, v2, v2dot5, v4,
+ v5, v8, v10},
+ tdd-r14 ENUMERATED {v1, v2, v4, v5, v8, v10, v20}
+ },
+ mpdcch-PDSCH-HoppingConfig-SC-MCCH-r14 ENUMERATED {off, ce-ModeA, ce-ModeB},
+ sc-mcch-CarrierFreq-r14 ARFCN-ValueEUTRA-r9,
+ sc-mcch-Offset-BR-r14 INTEGER (0..10),
+ sc-mcch-RepetitionPeriod-BR-r14 ENUMERATED {rf32, rf128, rf512, rf1024,
+ rf2048, rf4096, rf8192, rf16384},
+ sc-mcch-ModificationPeriod-BR-r14 ENUMERATED { rf32, rf128, rf256, rf512, rf1024,
+ rf2048, rf4096, rf8192, rf16384, rf32768,
+ rf65536, rf131072, rf262144, rf524288,
+ rf1048576}
+ } OPTIONAL, -- Need OR
+ sc-mcch-SchedulingInfo-r14 SC-MCCH-SchedulingInfo-r14 OPTIONAL, -- Need OP
+ pdsch-maxNumRepetitionCEmodeA-SC-MTCH-r14
+ ENUMERATED { r16, r32 } OPTIONAL, -- Need OR
+ pdsch-maxNumRepetitionCEmodeB-SC-MTCH-r14
+ ENUMERATED {
+ r192, r256, r384, r512, r768, r1024,
+ r1536, r2048} OPTIONAL -- Need OR
+ ]],
+ [[ sc-mcch-RepetitionPeriod-v1470 ENUMERATED {rf1} OPTIONAL, -- Need OR
+ sc-mcch-ModificationPeriod-v1470 ENUMERATED {rf1} OPTIONAL -- Need OR
+ ]]
+}
+
+SC-MCCH-SchedulingInfo-r14::= SEQUENCE {
+ onDurationTimerSCPTM-r14 ENUMERATED {psf10, psf20, psf100, psf300,
+ psf500, psf1000, psf1200, psf1600},
+ drx-InactivityTimerSCPTM-r14 ENUMERATED {psf0, psf1, psf2, psf4, psf8, psf16,
+ psf32, psf64, psf128, psf256, ps512,
+ psf1024, psf2048, psf4096, psf8192, psf16384},
+ schedulingPeriodStartOffsetSCPTM-r14 CHOICE {
+ sf10 INTEGER(0..9),
+ sf20 INTEGER(0..19),
+ sf32 INTEGER(0..31),
+ sf40 INTEGER(0..39),
+ sf64 INTEGER(0..63),
+ sf80 INTEGER(0..79),
+ sf128 INTEGER(0..127),
+ sf160 INTEGER(0..159),
+ sf256 INTEGER(0..255),
+ sf320 INTEGER(0..319),
+ sf512 INTEGER(0..511),
+ sf640 INTEGER(0..639),
+ sf1024 INTEGER(0..1023),
+ sf2048 INTEGER(0..2047),
+ sf4096 INTEGER(0..4095),
+ sf8192 INTEGER(0..8191)
+ },
+ ...
+}
+
+
+SystemInformationBlockType21-r14 ::= SEQUENCE {
+ sl-V2X-ConfigCommon-r14 SL-V2X-ConfigCommon-r14 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ anchorCarrierFreqListNR-r16 SL-NR-AnchorCarrierFreqList-r16 OPTIONAL -- Need OR
+ ]]
+}
+
+SL-V2X-ConfigCommon-r14 ::= SEQUENCE {
+ v2x-CommRxPool-r14 SL-CommRxPoolListV2X-r14 OPTIONAL, -- Need OR
+ v2x-CommTxPoolNormalCommon-r14 SL-CommTxPoolListV2X-r14 OPTIONAL, -- Need OR
+ p2x-CommTxPoolNormalCommon-r14 SL-CommTxPoolListV2X-r14 OPTIONAL, -- Need OR
+ v2x-CommTxPoolExceptional-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need OR
+ v2x-SyncConfig-r14 SL-SyncConfigListV2X-r14 OPTIONAL, -- Need OR
+ v2x-InterFreqInfoList-r14 SL-InterFreqInfoListV2X-r14 OPTIONAL, -- Need OR
+ v2x-ResourceSelectionConfig-r14 SL-CommTxPoolSensingConfig-r14 OPTIONAL, -- Need OR
+ zoneConfig-r14 SL-ZoneConfig-r14 OPTIONAL, -- Need OR
+ typeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL, -- Need OR
+ thresSL-TxPrioritization-r14 SL-Priority-r13 OPTIONAL, -- Need OR
+ anchorCarrierFreqList-r14 SL-AnchorCarrierFreqList-V2X-r14 OPTIONAL, -- Need OR
+ offsetDFN-r14 INTEGER (0..1000) OPTIONAL, -- Need OR
+ cbr-CommonTxConfigList-r14 SL-CBR-CommonTxConfigList-r14 OPTIONAL -- Need OR
+}
+
+
+
+SystemInformationBlockType24-r15 ::= SEQUENCE {
+ carrierFreqListNR-r15 CarrierFreqListNR-r15 OPTIONAL, -- Need OR
+ t-ReselectionNR-r15 T-Reselection,
+ t-ReselectionNR-SF-r15 SpeedStateScaleFactors OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ carrierFreqListNR-v1610 CarrierFreqListNR-v1610 OPTIONAL -- Need OR
+ ]],
+ [[ carrierFreqListNR-v1700 CarrierFreqListNR-v1700 OPTIONAL -- Need OR
+ ]],
+ [[ carrierFreqListNR-v1720 CarrierFreqListNR-v1720 OPTIONAL -- Need OR
+ ]]
+}
+
+CarrierFreqListNR-r15 ::= SEQUENCE (SIZE (1..maxFreq)) OF CarrierFreqNR-r15
+
+CarrierFreqListNR-v1610 ::= SEQUENCE (SIZE (1..maxFreq)) OF CarrierFreqNR-v1610
+
+CarrierFreqListNR-v1700 ::= SEQUENCE (SIZE (1..maxFreq)) OF CarrierFreqNR-v1700
+
+CarrierFreqListNR-v1720 ::= SEQUENCE (SIZE (1..maxFreq)) OF CarrierFreqNR-v1720
+
+CarrierFreqNR-r15 ::= SEQUENCE {
+ carrierFreq-r15 ARFCN-ValueNR-r15,
+ multiBandInfoList-r15 MultiFrequencyBandListNR-r15 OPTIONAL, -- Need OR
+ multiBandInfoListSUL-r15 MultiFrequencyBandListNR-r15 OPTIONAL, -- Need OR
+ measTimingConfig-r15 MTC-SSB-NR-r15 OPTIONAL, -- Need OR
+ subcarrierSpacingSSB-r15 ENUMERATED {kHz15, kHz30, kHz120, kHz240},
+ ss-RSSI-Measurement-r15 SS-RSSI-Measurement-r15 OPTIONAL, -- Cond RSRQ2
+ cellReselectionPriority-r15 CellReselectionPriority OPTIONAL, -- Need OP
+ cellReselectionSubPriority-r15 CellReselectionSubPriority-r13 OPTIONAL, -- Need OR
+ threshX-High-r15 ReselectionThreshold,
+ threshX-Low-r15 ReselectionThreshold,
+ threshX-Q-r15 SEQUENCE {
+ threshX-HighQ-r15 ReselectionThresholdQ-r9,
+ threshX-LowQ-r15 ReselectionThresholdQ-r9
+ } OPTIONAL, -- Cond RSRQ
+ q-RxLevMin-r15 INTEGER (-70..-22),
+ q-RxLevMinSUL-r15 INTEGER (-70..-22) OPTIONAL, -- Need OR
+ p-MaxNR-r15 P-MaxNR-r15,
+ ns-PmaxListNR-r15 NS-PmaxListNR-r15 OPTIONAL, -- Need OR
+ q-QualMin-r15 INTEGER (-43..-12) OPTIONAL, -- Need OP
+ deriveSSB-IndexFromCell-r15 BOOLEAN,
+ maxRS-IndexCellQual-r15 MaxRS-IndexCellQualNR-r15 OPTIONAL, -- Need OR
+ threshRS-Index-r15 ThresholdListNR-r15 OPTIONAL, -- Need OR
+ ...,
+ [[ multiBandNsPmaxListNR-v1550 MultiBandNsPmaxListNR-1-v1550 OPTIONAL, -- Need OR
+ multiBandNsPmaxListNR-SUL-v1550 MultiBandNsPmaxListNR-v1550 OPTIONAL, -- Need OR
+ ssb-ToMeasure-r15 SSB-ToMeasure-r15 OPTIONAL -- Need OR
+ ]]
+}
+
+CarrierFreqNR-v1610 ::= SEQUENCE {
+ smtc2-LP-r16 MTC-SSB2-LP-NR-r16 OPTIONAL, -- Need OR
+ ssb-PositionQCL-CommonNR-r16 SSB-PositionQCL-RelationNR-r16 OPTIONAL, -- Cond SharedSpectrum2
+ allowedCellListNR-r16 AllowedCellListNR-r16 OPTIONAL, -- Cond SharedSpectrum
+ highSpeedCarrierNR-r16 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+CarrierFreqNR-v1700 ::= SEQUENCE {
+ nr-FreqNeighHSDN-CellList-r17 NR-FreqNeighHSDN-CellList-r17 OPTIONAL -- Need OR
+}
+
+CarrierFreqNR-v1720 ::= SEQUENCE {
+ subcarrierSpacingSSB-r17 ENUMERATED {kHz480, spare1} OPTIONAL, -- Need OR
+ ssb-PositionQCL-CommonNR-r17 SSB-PositionQCL-RelationNR-r17 OPTIONAL -- Cond SharedSpectrum2
+}
+
+MultiBandNsPmaxListNR-1-v1550 ::= SEQUENCE (SIZE (1.. maxMultiBandsNR-1-r15)) OF NS-PmaxListNR-r15
+
+MultiBandNsPmaxListNR-v1550 ::= SEQUENCE (SIZE (1.. maxMultiBandsNR-r15)) OF NS-PmaxListNR-r15
+
+AllowedCellListNR-r16 ::= SEQUENCE (SIZE (1..maxCellAllowedNR-r16)) OF PhysCellIdNR-r15
+
+NR-FreqNeighHSDN-CellList-r17 ::= SEQUENCE (SIZE (1..maxCellNR-r17)) OF PhysCellIdRangeNR-r16
+
+
+SystemInformationBlockType25-r15 ::= SEQUENCE {
+ uac-BarringForCommon-r15 UAC-BarringPerCatList-r15 OPTIONAL, -- Need OP
+ uac-BarringPerPLMN-List-r15 UAC-BarringPerPLMN-List-r15 OPTIONAL, -- Need OP
+ uac-BarringInfoSetList-r15 UAC-BarringInfoSetList-r15,
+ uac-AC1-SelectAssistInfo-r15 CHOICE {
+ plmnCommon-r15 UAC-AC1-SelectAssistInfo-r15,
+ individualPLMNList-r15 SEQUENCE (SIZE (2..maxPLMN-r11)) OF UAC-AC1-SelectAssistInfo-r15
+ } OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ ab-PerRSRP-r16 ENUMERATED {thresh0, thresh1, thresh2, thresh3} OPTIONAL -- Need OR
+ ]],
+ [[
+ uac-AC1-SelectAssistInfo-r16 SEQUENCE (SIZE (2..maxPLMN-r11)) OF UAC-AC1-SelectAssistInfo-r16 OPTIONAL -- Need OR
+ ]],
+ [[
+ uac-BarringInfoSetList-v1700 UAC-BarringInfoSetList-v1700 OPTIONAL -- Cond MINT
+ ]]
+}
+
+UAC-BarringPerPLMN-List-r15::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF UAC-BarringPerPLMN-r15
+
+UAC-BarringPerPLMN-r15 ::= SEQUENCE {
+ plmn-IdentityIndex-r15 INTEGER (1.. maxPLMN-r11),
+ uac-AC-BarringListType-r15 CHOICE{
+ uac-ImplicitAC-BarringList-r15 SEQUENCE (SIZE(maxAccessCat-1-r15)) OF UAC-BarringInfoSetIndex-r15,
+ uac-ExplicitAC-BarringList-r15 UAC-BarringPerCatList-r15
+ } OPTIONAL -- Need OR
+}
+
+UAC-BarringPerCatList-r15 ::= SEQUENCE (SIZE (1..maxAccessCat-1-r15)) OF UAC-BarringPerCat-r15
+
+UAC-BarringPerCat-r15 ::= SEQUENCE {
+ accessCategory-r15 INTEGER (1..maxAccessCat-1-r15),
+ uac-barringInfoSetIndex-r15 UAC-BarringInfoSetIndex-r15
+}
+
+UAC-BarringInfoSetIndex-r15 ::= INTEGER (1..maxBarringInfoSet-r15)
+UAC-BarringInfoSetList-r15 ::= SEQUENCE (SIZE (1..maxBarringInfoSet-r15)) OF UAC-BarringInfoSet-r15
+
+UAC-BarringInfoSetList-v1700 ::= SEQUENCE (SIZE(1..maxBarringInfoSet-r15)) OF UAC-BarringInfoSet-v1700
+
+UAC-BarringInfoSet-r15 ::= SEQUENCE {
+ uac-BarringFactor-r15 ENUMERATED {
+ p00, p05, p10, p15, p20, p25, p30, p40,
+ p50, p60, p70, p75, p80, p85, p90, p95},
+ uac-BarringTime-r15 ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512},
+ uac-BarringForAccessIdentity-r15 BIT STRING (SIZE(7))
+}
+
+UAC-BarringInfoSet-v1700 ::= SEQUENCE {
+ uac-BarringFactorForAI3-r17 ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p40,
+ p50, p60, p70, p75, p80, p85, p90, p95} OPTIONAL -- Need OP
+}
+
+UAC-AC1-SelectAssistInfo-r15::= ENUMERATED {a, b, c}
+
+UAC-AC1-SelectAssistInfo-r16::= ENUMERATED {a, b, c, notConfigured}
+
+
+SystemInformationBlockType26-r15 ::= SEQUENCE {
+ v2x-InterFreqInfoList-r15 SL-InterFreqInfoListV2X-r14 OPTIONAL, -- Need OR
+ cbr-pssch-TxConfigList-r15 SL-CBR-PPPP-TxConfigList-r15 OPTIONAL, -- Need OR
+ v2x-PacketDuplicationConfig-r15 SL-V2X-PacketDuplicationConfig-r15 OPTIONAL, -- Need OR
+ syncFreqList-r15 SL-V2X-SyncFreqList-r15 OPTIONAL, -- Need OR
+ slss-TxMultiFreq-r15 ENUMERATED{true} OPTIONAL, -- Need OR
+ v2x-FreqSelectionConfigList-r15 SL-V2X-FreqSelectionConfigList-r15 OPTIONAL, -- Need OR
+ threshS-RSSI-CBR-r15 INTEGER (0..45) OPTIONAL, -- Need OR
+ ...,
+ lateNonCriticalExtension OCTET STRING OPTIONAL
+}
+
+
+SystemInformationBlockType26a-r16 ::= SEQUENCE {
+ plmn-InfoList-r16 PLMN-InfoList-r16,
+ bandListENDC-r16 BandListENDC-r16,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+BandListENDC-r16 ::= SEQUENCE (SIZE (1.. maxBandsENDC-r16)) OF FreqBandIndicatorNR-r15
+
+PLMN-InfoList-r16 ::= SEQUENCE (SIZE (0..maxPLMN-r11)) OF PLMN-Info-r16
+
+PLMN-Info-r16 ::= SEQUENCE {
+ nr-BandList-r16 BIT STRING (SIZE(maxBandsENDC-r16)) OPTIONAL -- Need OR
+}
+
+
+SystemInformationBlockType27-r16 ::= SEQUENCE {
+ carrierFreqListNBIOT-r16 CarrierFreqListNBIOT-r16 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+CarrierFreqListNBIOT-r16 ::= SEQUENCE (SIZE (1.. maxFreqNBIOT-r16)) OF CarrierFreqNBIOT-r16
+
+
+CarrierFreqNBIOT-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueEUTRA-r9,
+ carrierFreqOffset-r16 ENUMERATED {v-10, v-9, v-8dot5, v-8, v-7, v-6, v-5, v-4dot5,
+ v-4,v-3, v-2, v-1, v-0dot5, v0, v1, v2, v3, v3dot5,
+ v4, v5, v6, v7, v7dot5, v8, v9}
+}
+
+
+SystemInformationBlockType28-r16 ::= SEQUENCE {
+ segmentNumber-r16 INTEGER (0..63),
+ segmentType-r16 ENUMERATED {notLastSegment,lastSegment},
+ segmentContainer-r16 OCTET STRING,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+
+SystemInformationBlockType29-r16 ::= SEQUENCE {
+ resourceReservationConfigCommonDL-r16 ResourceReservationConfigDL-r16 OPTIONAL, -- Need OR
+ resourceReservationConfigCommonUL-r16 ResourceReservationConfigUL-r16 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+
+SystemInformationBlockType30-r17 ::= SEQUENCE {
+ commonPLMNsWithDisasterCondition-r17 SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-Identity OPTIONAL, -- Need OR
+ applicableDisasterInfoList-r17 SEQUENCE (SIZE (1..maxPLMN-r11)) OF ApplicableDisasterInfo-r17 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+ApplicableDisasterInfo-r17 ::= CHOICE {
+ noDisasterRoaming-r17 NULL,
+ disasterRelatedIndication-r17 NULL,
+ commonPLMNs-r17 NULL,
+ dedicatedPLMNs-r17 SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-Identity
+}
+
+
+SystemInformationBlockType31-r17 ::= SEQUENCE {
+ servingSatelliteInfo-r17 ServingSatelliteInfo-r17,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+ServingSatelliteInfo-r17 ::= SEQUENCE {
+ ephemerisInfo-r17 CHOICE {
+ stateVectors EphemerisStateVectors-r17,
+ orbitalParameters EphemerisOrbitalParameters-r17
+ },
+ nta-CommonParameters-17 SEQUENCE {
+ nta-Common-r17 INTEGER (0..8316827) OPTIONAL, -- Need OP
+ nta-CommonDrift-r17 INTEGER (-261935..261935) OPTIONAL, -- Need OP
+ nta-CommonDriftVariation-r17 INTEGER (0..29479) OPTIONAL -- Need OP
+ },
+ ul-SyncValidityDuration-r17 ENUMERATED {s5, s10, s15, s20, s25, s30, s35, s40,
+ s45, s50, s55, s60, s120, s180, s240, s900},
+ epochTime-r17 SEQUENCE {
+ startSFN-r17 INTEGER (0..1023),
+ startSubFrame-r17 INTEGER (0..9)
+ } OPTIONAL, -- Need OP
+ k-Offset-r17 INTEGER (0..1023),
+ k-Mac-r17 INTEGER (1..512) OPTIONAL, -- Need OP
+ ...
+}
+
+
+SystemInformationBlockType32-r17 ::= SEQUENCE {
+ satelliteInfoList-r17 SatelliteInfoList-r17 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+SatelliteInfoList-r17 ::= SEQUENCE (SIZE (1..maxSat-r17)) OF SatelliteInfo-r17
+
+SatelliteInfo-r17 ::= SEQUENCE {
+ satelliteId-r17 INTEGER (0..255),
+ serviceInfo-r17 SEQUENCE {
+ tle-EphemerisParameters-r17 TLE-EphemerisParameters-r17 OPTIONAL, -- Need OR
+ t-ServiceStart-r17 TimeOffsetUTC-r17 OPTIONAL -- Need OR
+ },
+ footprintInfo-r17 SEQUENCE {
+ referencePoint-r17 SEQUENCE {
+ longitude-r17 INTEGER (-131072..131071),
+ latitude-r17 INTEGER (-131072..131071)
+ } OPTIONAL, -- Need OR
+ elevationAngles-r17 SEQUENCE {
+ elevationAngleRight-r17 INTEGER (-14..14),
+ elevationAngleLeft-r17 INTEGER (-14..14) OPTIONAL -- Need OP
+ } OPTIONAL, -- Need OR
+ radius-r17 INTEGER (1..256) OPTIONAL -- Need OR
+ }
+}
+
+
+Alpha-r12 ::= ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1}
+
+
+AntennaInfoCommon ::= SEQUENCE {
+ antennaPortsCount ENUMERATED {an1, an2, an4, spare1}
+}
+
+AntennaInfoDedicated ::= SEQUENCE {
+ transmissionMode ENUMERATED {
+ tm1, tm2, tm3, tm4, tm5, tm6,
+ tm7, tm8-v920},
+ codebookSubsetRestriction CHOICE {
+ n2TxAntenna-tm3 BIT STRING (SIZE (2)),
+ n4TxAntenna-tm3 BIT STRING (SIZE (4)),
+ n2TxAntenna-tm4 BIT STRING (SIZE (6)),
+ n4TxAntenna-tm4 BIT STRING (SIZE (64)),
+ n2TxAntenna-tm5 BIT STRING (SIZE (4)),
+ n4TxAntenna-tm5 BIT STRING (SIZE (16)),
+ n2TxAntenna-tm6 BIT STRING (SIZE (4)),
+ n4TxAntenna-tm6 BIT STRING (SIZE (16))
+ } OPTIONAL, -- Cond TM
+ ue-TransmitAntennaSelection CHOICE{
+ release NULL,
+ setup ENUMERATED {closedLoop, openLoop}
+ }
+}
+
+AntennaInfoDedicated-v920 ::= SEQUENCE {
+ codebookSubsetRestriction-v920 CHOICE {
+ n2TxAntenna-tm8-r9 BIT STRING (SIZE (6)),
+ n4TxAntenna-tm8-r9 BIT STRING (SIZE (32))
+ } OPTIONAL -- Cond TM8
+}
+
+AntennaInfoDedicated-r10 ::= SEQUENCE {
+ transmissionMode-r10 ENUMERATED {
+ tm1, tm2, tm3, tm4, tm5, tm6, tm7, tm8-v920,
+ tm9-v1020, tm10-v1130, spare6, spare5, spare4,
+ spare3, spare2, spare1},
+ codebookSubsetRestriction-r10 BIT STRING OPTIONAL, -- Cond TMX
+ ue-TransmitAntennaSelection CHOICE{
+ release NULL,
+ setup ENUMERATED {closedLoop, openLoop}
+ }
+}
+
+AntennaInfoDedicated-v10i0::= SEQUENCE {
+ maxLayersMIMO-r10 ENUMERATED {twoLayers, fourLayers, eightLayers} OPTIONAL -- Need OR
+}
+
+AntennaInfoDedicated-v1250 ::= SEQUENCE {
+ alternativeCodebookEnabledFor4TX-r12 BOOLEAN
+}
+
+AntennaInfoDedicated-v1430 ::= SEQUENCE {
+ ce-UE-TxAntennaSelection-config-r14 ENUMERATED {on} OPTIONAL -- Need OR
+}
+
+AntennaInfoDedicatedSTTI-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ transmissionModeDL-MBSFN-r15 ENUMERATED {tm9, tm10} OPTIONAL, -- Need OR
+ transmissionModeDL-nonMBSFN-r15 ENUMERATED {tm1, tm2, tm3, tm4, tm6, tm8, tm9,
+ tm10} OPTIONAL, -- Need OR
+ codebookSubsetRestriction CHOICE {
+ n2TxAntenna-tm3-r15 BIT STRING (SIZE (2)),
+ n4TxAntenna-tm3-r15 BIT STRING (SIZE (4)),
+ n2TxAntenna-tm4-r15 BIT STRING (SIZE (6)),
+ n4TxAntenna-tm4-r15 BIT STRING (SIZE (64)),
+ n2TxAntenna-tm5-r15 BIT STRING (SIZE (4)),
+ n4TxAntenna-tm5-r15 BIT STRING (SIZE (16)),
+ n2TxAntenna-tm6-r15 BIT STRING (SIZE (4)),
+ n4TxAntenna-tm6-r15 BIT STRING (SIZE (16)),
+ n2TxAntenna-tm8-r15 BIT STRING (SIZE (6)),
+ n4TxAntenna-tm8-r15 BIT STRING (SIZE (64)),
+ n2TxAntenna-tm9and10-r15 BIT STRING (SIZE (6)),
+ n4TxAntenna-tm9and10-r15 BIT STRING (SIZE (96)),
+ n8TxAntenna-tm9and10-r15 BIT STRING (SIZE (109))
+ } OPTIONAL, -- Cond TM
+ maxLayersMIMO-STTI-r15 ENUMERATED {twoLayers, fourLayers} OPTIONAL, -- Need OR
+ slotSubslotPDSCH-TxDiv-2Layer-r15 BOOLEAN,
+ slotSubslotPDSCH-TxDiv-4Layer-r15 BOOLEAN
+ }
+}
+
+AntennaInfoDedicated-v1530 ::= CHOICE {
+ release NULL,
+ setup CHOICE {
+ ue-TxAntennaSelection-SRS-1T4R-Config-r15 NULL,
+ ue-TxAntennaSelection-SRS-2T4R-NrOfPairs-r15 ENUMERATED {two, three}
+ }
+}
+
+
+AntennaInfoUL-r10 ::= SEQUENCE {
+ transmissionModeUL-r10 ENUMERATED {tm1, tm2, spare6, spare5,
+ spare4, spare3, spare2, spare1} OPTIONAL, -- Need OR
+ fourAntennaPortActivated-r10 ENUMERATED {setup} OPTIONAL -- Need OR
+}
+
+AntennaInfoUL-STTI-r15 ::= SEQUENCE {
+ transmissionModeUL-STTI-r15 ENUMERATED {tm1, tm2} OPTIONAL -- Need OR
+}
+
+
+AUL-Config-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ aul-CRNTI-r15 C-RNTI,
+ aul-Subframes-r15 BIT STRING (SIZE (40)),
+ aul-HARQ-Processes-r15 INTEGER (1..16),
+ transmissionModeUL-AUL-r15 ENUMERATED {tm1,tm2},
+ aul-StartingFullBW-InsideMCOT-r15 BIT STRING (SIZE (5)),
+ aul-StartingFullBW-OutsideMCOT-r15 BIT STRING (SIZE (7)),
+ aul-StartingPartialBW-InsideMCOT-r15 ENUMERATED {o34, o43, o52, o61, oOS1},
+ aul-StartingPartialBW-OutsideMCOT-r15 ENUMERATED {o16, o25, o34, o43, o52, o61, oOS1},
+ aul-RetransmissionTimer-r15 ENUMERATED {psf4, psf5, psf6, psf8, psf10, psf12, psf20, psf28, psf37, psf44, psf68, psf84, psf100,
+ psf116, psf132, psf164, psf324},
+ endingSymbolAUL-r15 INTEGER(12..13),
+ subframeOffsetCOT-Sharing-r15 INTEGER(2..4),
+ contentionWindowSizeTimer-r15 ENUMERATED {n0, n5, n10}
+ }
+}
+
+
+CQI-ReportAperiodic-r10 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ cqi-ReportModeAperiodic-r10 CQI-ReportModeAperiodic,
+ aperiodicCSI-Trigger-r10 SEQUENCE {
+ trigger1-r10 BIT STRING (SIZE (8)),
+ trigger2-r10 BIT STRING (SIZE (8))
+ } OPTIONAL -- Need OR
+ }
+}
+
+CQI-ReportAperiodic-v1250 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ aperiodicCSI-Trigger-v1250 SEQUENCE {
+ trigger-SubframeSetIndicator-r12 ENUMERATED {s1, s2},
+ trigger1-SubframeSetIndicator-r12 BIT STRING (SIZE (8)),
+ trigger2-SubframeSetIndicator-r12 BIT STRING (SIZE (8))
+ }
+ }
+}
+
+CQI-ReportAperiodic-v1310 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ aperiodicCSI-Trigger-v1310 SEQUENCE {
+ trigger1-r13 BIT STRING (SIZE (32)),
+ trigger2-r13 BIT STRING (SIZE (32)),
+ trigger3-r13 BIT STRING (SIZE (32)),
+ trigger4-r13 BIT STRING (SIZE (32)),
+ trigger5-r13 BIT STRING (SIZE (32)),
+ trigger6-r13 BIT STRING (SIZE (32))
+ } OPTIONAL, -- Need ON
+ aperiodicCSI-Trigger2-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ trigger1-SubframeSetIndicator-r13 BIT STRING (SIZE (32)),
+ trigger2-SubframeSetIndicator-r13 BIT STRING (SIZE (32)),
+ trigger3-SubframeSetIndicator-r13 BIT STRING (SIZE (32)),
+ trigger4-SubframeSetIndicator-r13 BIT STRING (SIZE (32)),
+ trigger5-SubframeSetIndicator-r13 BIT STRING (SIZE (32)),
+ trigger6-SubframeSetIndicator-r13 BIT STRING (SIZE (32))
+ }
+ } OPTIONAL -- Need ON
+ }
+}
+
+CQI-ReportAperiodicProc-r11 ::= SEQUENCE {
+ cqi-ReportModeAperiodic-r11 CQI-ReportModeAperiodic,
+ trigger01-r11 BOOLEAN,
+ trigger10-r11 BOOLEAN,
+ trigger11-r11 BOOLEAN
+}
+
+CQI-ReportAperiodicProc-v1310 ::= SEQUENCE {
+ trigger001-r13 BOOLEAN,
+ trigger010-r13 BOOLEAN,
+ trigger011-r13 BOOLEAN,
+ trigger100-r13 BOOLEAN,
+ trigger101-r13 BOOLEAN,
+ trigger110-r13 BOOLEAN,
+ trigger111-r13 BOOLEAN
+}
+
+CQI-ReportAperiodicHybrid-r14 ::= SEQUENCE {
+ triggers-r14 CHOICE {
+ oneBit-r14 SEQUENCE {
+ trigger1-Indicator-r14 BIT STRING (SIZE (8))
+ },
+ twoBit-r14 SEQUENCE {
+ trigger01-Indicator-r14 BIT STRING (SIZE (8)),
+ trigger10-Indicator-r14 BIT STRING (SIZE (8)),
+ trigger11-Indicator-r14 BIT STRING (SIZE (8))
+ },
+ threeBit-r14 SEQUENCE {
+ trigger001-Indicator-r14 BIT STRING (SIZE (32)),
+ trigger010-Indicator-r14 BIT STRING (SIZE (32)),
+ trigger011-Indicator-r14 BIT STRING (SIZE (32)),
+ trigger100-Indicator-r14 BIT STRING (SIZE (32)) ,
+ trigger101-Indicator-r14 BIT STRING (SIZE (32)),
+ trigger110-Indicator-r14 BIT STRING (SIZE (32)),
+ trigger111-Indicator-r14 BIT STRING (SIZE (32))
+ }
+ } OPTIONAL -- Need OR
+}
+
+CQI-ReportModeAperiodic ::= ENUMERATED {
+ rm12, rm20, rm22, rm30, rm31,
+ rm32-v1250, rm10-v1310, rm11-v1310
+}
+
+
+CQI-ReportBoth-r11 ::= SEQUENCE {
+ csi-IM-ConfigToReleaseList-r11 CSI-IM-ConfigToReleaseList-r11 OPTIONAL, -- Need ON
+ csi-IM-ConfigToAddModList-r11 CSI-IM-ConfigToAddModList-r11 OPTIONAL, -- Need ON
+ csi-ProcessToReleaseList-r11 CSI-ProcessToReleaseList-r11 OPTIONAL, -- Need ON
+ csi-ProcessToAddModList-r11 CSI-ProcessToAddModList-r11 OPTIONAL -- Need ON
+}
+
+CQI-ReportBoth-v1250 ::= SEQUENCE {
+ csi-IM-ConfigToReleaseListExt-r12 CSI-IM-ConfigId-v1250 OPTIONAL, -- Need ON
+ csi-IM-ConfigToAddModListExt-r12 CSI-IM-ConfigExt-r12 OPTIONAL -- Need ON
+}
+
+CQI-ReportBoth-v1310 ::= SEQUENCE {
+ csi-IM-ConfigToReleaseListExt-r13 CSI-IM-ConfigToReleaseListExt-r13 OPTIONAL, -- Need ON
+ csi-IM-ConfigToAddModListExt-r13 CSI-IM-ConfigToAddModListExt-r13 OPTIONAL -- Need ON
+}
+
+CSI-IM-ConfigToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-IM-r11)) OF CSI-IM-Config-r11
+
+CSI-IM-ConfigToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxCSI-IM-v1310)) OF CSI-IM-ConfigExt-r12
+
+CSI-IM-ConfigToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-IM-r11)) OF CSI-IM-ConfigId-r11
+
+CSI-IM-ConfigToReleaseListExt-r13 ::= SEQUENCE (SIZE (1..maxCSI-IM-v1310)) OF CSI-IM-ConfigId-v1310
+
+CSI-ProcessToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-Proc-r11)) OF CSI-Process-r11
+
+CSI-ProcessToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-Proc-r11)) OF CSI-ProcessId-r11
+
+CQI-ReportBothProc-r11 ::= SEQUENCE {
+ ri-Ref-CSI-ProcessId-r11 CSI-ProcessId-r11 OPTIONAL, -- Need OR
+ pmi-RI-Report-r11 ENUMERATED {setup} OPTIONAL -- Need OR
+}
+
+
+CQI-ReportConfig ::= SEQUENCE {
+ cqi-ReportModeAperiodic CQI-ReportModeAperiodic OPTIONAL, -- Need OR
+ nomPDSCH-RS-EPRE-Offset INTEGER (-1..6),
+ cqi-ReportPeriodic CQI-ReportPeriodic OPTIONAL -- Need ON
+}
+
+CQI-ReportConfig-v920 ::= SEQUENCE {
+ cqi-Mask-r9 ENUMERATED {setup} OPTIONAL, -- Cond cqi-Setup
+ pmi-RI-Report-r9 ENUMERATED {setup} OPTIONAL -- Cond PMIRI
+}
+
+CQI-ReportConfig-r10 ::= SEQUENCE {
+ cqi-ReportAperiodic-r10 CQI-ReportAperiodic-r10 OPTIONAL, -- Need ON
+ nomPDSCH-RS-EPRE-Offset INTEGER (-1..6),
+ cqi-ReportPeriodic-r10 CQI-ReportPeriodic-r10 OPTIONAL, -- Need ON
+ pmi-RI-Report-r9 ENUMERATED {setup} OPTIONAL, -- Cond PMIRIPCell
+ csi-SubframePatternConfig-r10 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ csi-MeasSubframeSet1-r10 MeasSubframePattern-r10,
+ csi-MeasSubframeSet2-r10 MeasSubframePattern-r10
+ }
+ } OPTIONAL -- Need ON
+}
+
+CQI-ReportConfig-v1130 ::= SEQUENCE {
+ cqi-ReportPeriodic-v1130 CQI-ReportPeriodic-v1130,
+ cqi-ReportBoth-r11 CQI-ReportBoth-r11
+}
+
+CQI-ReportConfig-v1250 ::= SEQUENCE {
+ csi-SubframePatternConfig-r12 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ csi-MeasSubframeSets-r12 BIT STRING (SIZE (10))
+ }
+ } OPTIONAL, -- Need ON
+ cqi-ReportBoth-v1250 CQI-ReportBoth-v1250 OPTIONAL, -- Need ON
+ cqi-ReportAperiodic-v1250 CQI-ReportAperiodic-v1250 OPTIONAL, -- Need ON
+ altCQI-Table-r12 ENUMERATED {
+ allSubframes, csi-SubframeSet1,
+ csi-SubframeSet2, spare1} OPTIONAL -- Need OP
+}
+
+CQI-ReportConfig-v1310 ::= SEQUENCE {
+ cqi-ReportBoth-v1310 CQI-ReportBoth-v1310 OPTIONAL, -- Need ON
+ cqi-ReportAperiodic-v1310 CQI-ReportAperiodic-v1310 OPTIONAL, -- Need ON
+ cqi-ReportPeriodic-v1310 CQI-ReportPeriodic-v1310 OPTIONAL -- Need ON
+}
+
+CQI-ReportConfig-v1320 ::= SEQUENCE {
+ cqi-ReportPeriodic-v1320 CQI-ReportPeriodic-v1320 OPTIONAL -- Need ON
+}
+
+CQI-ReportConfig-v1430 ::= SEQUENCE {
+ cqi-ReportAperiodicHybrid-r14 CQI-ReportAperiodicHybrid-r14 OPTIONAL -- Need ON
+}
+
+CQI-ReportConfig-v1530 ::= SEQUENCE {
+ altCQI-Table-1024QAM-r15 ENUMERATED {
+ allSubframes, csi-SubframeSet1,
+ csi-SubframeSet2, spare1} OPTIONAL -- Need OP
+}
+
+CQI-ReportConfig-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ cqi-ReportConfig-r10 CQI-ReportConfig-r10 OPTIONAL, -- Need ON
+ cqi-ReportConfig-v1130 CQI-ReportConfig-v1130 OPTIONAL, -- Need ON
+ cqi-ReportConfigPCell-v1250 CQI-ReportConfig-v1250 OPTIONAL, -- Need ON
+ cqi-ReportConfig-v1310 CQI-ReportConfig-v1310 OPTIONAL, -- Need ON
+ cqi-ReportConfig-v1320 CQI-ReportConfig-v1320 OPTIONAL, -- Need ON
+ cqi-ReportConfig-v1430 CQI-ReportConfig-v1430 OPTIONAL, -- Need ON
+ altCQI-Table-1024QAM-r15 ENUMERATED {allSubframes, csi-SubframeSet1,
+ csi-SubframeSet2, spare1} OPTIONAL -- Need OP
+ }
+}
+
+CQI-ReportConfigSCell-r10 ::= SEQUENCE {
+ cqi-ReportModeAperiodic-r10 CQI-ReportModeAperiodic OPTIONAL, -- Need OR
+ nomPDSCH-RS-EPRE-Offset-r10 INTEGER (-1..6),
+ cqi-ReportPeriodicSCell-r10 CQI-ReportPeriodic-r10 OPTIONAL, -- Need ON
+ pmi-RI-Report-r10 ENUMERATED {setup} OPTIONAL -- Cond PMIRISCell
+}
+
+CQI-ReportConfigSCell-r15 ::= SEQUENCE {
+ cqi-ReportPeriodicSCell-r15 CQI-ReportPeriodicSCell-r15 OPTIONAL, -- Need ON
+ altCQI-Table-1024QAM-r15 ENUMERATED {allSubframes, csi-SubframeSet1,
+ csi-SubframeSet2, spare1} OPTIONAL -- Need OP
+}
+
+
+CQI-ReportPeriodic ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ cqi-PUCCH-ResourceIndex INTEGER (0..1185),
+ cqi-pmi-ConfigIndex INTEGER (0..1023),
+ cqi-FormatIndicatorPeriodic CHOICE {
+ widebandCQI NULL,
+ subbandCQI SEQUENCE {
+ k INTEGER (1..4)
+ }
+ },
+ ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR
+ simultaneousAckNackAndCQI BOOLEAN
+ }
+}
+
+CQI-ReportPeriodic-r10 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ cqi-PUCCH-ResourceIndex-r10 INTEGER (0..1184),
+ cqi-PUCCH-ResourceIndexP1-r10 INTEGER (0..1184) OPTIONAL, -- Need OR
+ cqi-pmi-ConfigIndex INTEGER (0..1023),
+ cqi-FormatIndicatorPeriodic-r10 CHOICE {
+ widebandCQI-r10 SEQUENCE {
+ csi-ReportMode-r10 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR
+ },
+ subbandCQI-r10 SEQUENCE {
+ k INTEGER (1..4),
+ periodicityFactor-r10 ENUMERATED {n2, n4}
+ }
+ },
+ ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR
+ simultaneousAckNackAndCQI BOOLEAN,
+ cqi-Mask-r9 ENUMERATED {setup} OPTIONAL, -- Need OR
+ csi-ConfigIndex-r10 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ cqi-pmi-ConfigIndex2-r10 INTEGER (0..1023),
+ ri-ConfigIndex2-r10 INTEGER (0..1023) OPTIONAL -- Need OR
+ }
+ } OPTIONAL -- Need ON
+ }
+}
+
+
+CQI-ReportPeriodic-v1130 ::= SEQUENCE {
+ simultaneousAckNackAndCQI-Format3-r11 ENUMERATED {setup} OPTIONAL, -- Need OR
+ cqi-ReportPeriodicProcExtToReleaseList-r11 CQI-ReportPeriodicProcExtToReleaseList-r11 OPTIONAL, -- Need ON
+ cqi-ReportPeriodicProcExtToAddModList-r11 CQI-ReportPeriodicProcExtToAddModList-r11 OPTIONAL -- Need ON
+}
+
+CQI-ReportPeriodic-v1310 ::= SEQUENCE {
+ cri-ReportConfig-r13 CRI-ReportConfig-r13 OPTIONAL, -- Need OR
+ simultaneousAckNackAndCQI-Format4-Format5-r13 ENUMERATED {setup} OPTIONAL-- Need OR
+}
+
+CQI-ReportPeriodic-v1320 ::= SEQUENCE {
+ periodicityFactorWB-r13 ENUMERATED {n2, n4} OPTIONAL -- Need OR
+}
+
+CQI-ReportPeriodicSCell-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ cqi-pmi-ConfigIndexDormant-r15 INTEGER (0..1023),
+ ri-ConfigIndexDormant-r15 INTEGER (0..1023) OPTIONAL, -- Need OR
+ csi-SubframePatternDormant-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ csi-MeasSubframeSet1-r15 MeasSubframePattern-r10,
+ csi-MeasSubframeSet2-r15 MeasSubframePattern-r10
+ }
+ } OPTIONAL, -- Need ON
+ cqi-FormatIndicatorDormant-r15 CHOICE {
+ widebandCQI-r15 SEQUENCE {
+ csi-ReportMode-r15 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR
+ },
+ subbandCQI-r15 SEQUENCE {
+ k-r15 INTEGER (1..4),
+ periodicityFactor-r15 ENUMERATED {n2, n4}
+ }
+ } OPTIONAL -- Need OR
+ }
+}
+
+CQI-ReportPeriodicProcExtToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCQI-ProcExt-r11)) OF CQI-ReportPeriodicProcExt-r11
+
+CQI-ReportPeriodicProcExtToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCQI-ProcExt-r11)) OF CQI-ReportPeriodicProcExtId-r11
+
+CQI-ReportPeriodicProcExt-r11 ::= SEQUENCE {
+ cqi-ReportPeriodicProcExtId-r11 CQI-ReportPeriodicProcExtId-r11,
+ cqi-pmi-ConfigIndex-r11 INTEGER (0..1023),
+ cqi-FormatIndicatorPeriodic-r11 CHOICE {
+ widebandCQI-r11 SEQUENCE {
+ csi-ReportMode-r11 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR
+ },
+ subbandCQI-r11 SEQUENCE {
+ k INTEGER (1..4),
+ periodicityFactor-r11 ENUMERATED {n2, n4}
+ }
+ },
+ ri-ConfigIndex-r11 INTEGER (0..1023) OPTIONAL, -- Need OR
+ csi-ConfigIndex-r11 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ cqi-pmi-ConfigIndex2-r11 INTEGER (0..1023),
+ ri-ConfigIndex2-r11 INTEGER (0..1023) OPTIONAL -- Need OR
+ }
+ } OPTIONAL, -- Need ON
+ ...,
+ [[ cri-ReportConfig-r13 CRI-ReportConfig-r13 OPTIONAL -- Need ON
+ ]],
+ [[ periodicityFactorWB-r13 ENUMERATED {n2, n4} OPTIONAL -- Need ON
+ ]]
+}
+
+CQI-ShortConfigSCell-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ cqi-pmi-ConfigIndexShort-r15 INTEGER (0..1023),
+ ri-ConfigIndexShort-r15 INTEGER (0..1023) OPTIONAL, -- Need OR
+ cqi-FormatIndicatorShort-r15 CHOICE {
+ widebandCQI-Short-r15 SEQUENCE {
+ csi-ReportModeShort-r15 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR
+ },
+ subbandCQI-Short-r15 SEQUENCE {
+ k-r15 INTEGER (1..4),
+ periodicityFactor-r15 ENUMERATED {n2, n4}
+ }
+ } OPTIONAL -- Need OR
+ }
+}
+
+CQI-ReportPeriodicSCell-v1730 ::= SEQUENCE {
+ cqi-pmi-ConfigIndex2Dormant-r17 INTEGER (0..1023),
+ ri-ConfigIndex2Dormant-r17 INTEGER (0..1023) OPTIONAL -- Need OR
+}
+
+CRI-ReportConfig-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ cri-ConfigIndex-r13 CRI-ConfigIndex-r13,
+ cri-ConfigIndex2-r13 CRI-ConfigIndex-r13 OPTIONAL -- Need OR
+ }
+}
+
+CRI-ConfigIndex-r13 ::= INTEGER (0..1023)
+
+
+CQI-ReportPeriodicProcExtId-r11 ::= INTEGER (1..maxCQI-ProcExt-r11)
+
+
+CrossCarrierSchedulingConfig-r10 ::= SEQUENCE {
+ schedulingCellInfo-r10 CHOICE {
+ own-r10 SEQUENCE { -- No cross carrier scheduling
+ cif-Presence-r10 BOOLEAN
+ },
+ other-r10 SEQUENCE { -- Cross carrier scheduling
+ schedulingCellId-r10 ServCellIndex-r10,
+ pdsch-Start-r10 INTEGER (1..4)
+ }
+ }
+}
+
+CrossCarrierSchedulingConfig-r13 ::= SEQUENCE {
+ schedulingCellInfo-r13 CHOICE {
+ own-r13 SEQUENCE { -- No cross carrier scheduling
+ cif-Presence-r13 BOOLEAN
+ },
+ other-r13 SEQUENCE { -- Cross carrier scheduling
+ schedulingCellId-r13 ServCellIndex-r13,
+ pdsch-Start-r13 INTEGER (1..4),
+ cif-InSchedulingCell-r13 INTEGER (1..7)
+ }
+ }
+}
+
+CrossCarrierSchedulingConfigLAA-UL-r14 ::= SEQUENCE {
+ schedulingCellId-r14 ServCellIndex-r13,
+ cif-InSchedulingCell-r14 INTEGER (1..7)
+}
+
+CRS-ChEstMPDCCH-ConfigCommon-r16 ::= SEQUENCE {
+ powerRatio-r16 ENUMERATED {dB-4dot77, dB-3, dB-1dot77, dB0, dB1, dB2, dB3, dB4dot77}
+}
+
+CRS-ChEstMPDCCH-ConfigDedicated-r16 ::= SEQUENCE {
+ powerRatio-r16 ENUMERATED {dB-4dot77, dB-3, dB-1dot77, dB0, dB1, dB2, dB3,
+ dB4dot77} OPTIONAL, -- Cond setup
+ localizedMappingType-r16 ENUMERATED {predefined, csi-Based, reciprocityBased}
+ DEFAULT predefined
+}
+
+
+CSI-IM-Config-r11 ::= SEQUENCE {
+ csi-IM-ConfigId-r11 CSI-IM-ConfigId-r11,
+ resourceConfig-r11 INTEGER (0..31),
+ subframeConfig-r11 INTEGER (0..154),
+ ...,
+ [[ interferenceMeasRestriction-r13 BOOLEAN OPTIONAL -- Need ON
+ ]]
+}
+
+CSI-IM-ConfigExt-r12 ::= SEQUENCE {
+ csi-IM-ConfigId-v1250 CSI-IM-ConfigId-v1250,
+ resourceConfig-r12 INTEGER (0..31),
+ subframeConfig-r12 INTEGER (0..154),
+ ...,
+ [[ interferenceMeasRestriction-r13 BOOLEAN OPTIONAL, -- Need ON
+ csi-IM-ConfigId-v1310 CSI-IM-ConfigId-v1310 OPTIONAL -- Need ON
+ ]]
+}
+
+
+CSI-IM-ConfigId-r11 ::= INTEGER (1..maxCSI-IM-r11)
+CSI-IM-ConfigId-r12 ::= INTEGER (1..maxCSI-IM-r12)
+CSI-IM-ConfigId-v1250 ::= INTEGER (maxCSI-IM-r12)
+CSI-IM-ConfigId-v1310 ::= INTEGER (minCSI-IM-r13..maxCSI-IM-r13)
+CSI-IM-ConfigId-r13 ::= INTEGER (1..maxCSI-IM-r13)
+
+
+CSI-Process-r11 ::= SEQUENCE {
+ csi-ProcessId-r11 CSI-ProcessId-r11,
+ csi-RS-ConfigNZPId-r11 CSI-RS-ConfigNZPId-r11,
+ csi-IM-ConfigId-r11 CSI-IM-ConfigId-r11,
+ p-C-AndCBSRList-r11 P-C-AndCBSR-Pair-r13a,
+ cqi-ReportBothProc-r11 CQI-ReportBothProc-r11 OPTIONAL, -- Need OR
+ cqi-ReportPeriodicProcId-r11 INTEGER (0..maxCQI-ProcExt-r11) OPTIONAL, -- Need OR
+ cqi-ReportAperiodicProc-r11 CQI-ReportAperiodicProc-r11 OPTIONAL, -- Need OR
+ ...,
+ [[ alternativeCodebookEnabledFor4TXProc-r12 ENUMERATED {true} OPTIONAL, -- Need ON
+ csi-IM-ConfigIdList-r12 CHOICE {
+ release NULL,
+ setup SEQUENCE (SIZE (1..2)) OF CSI-IM-ConfigId-r12
+ } OPTIONAL, -- Need ON
+ cqi-ReportAperiodicProc2-r12 CHOICE {
+ release NULL,
+ setup CQI-ReportAperiodicProc-r11
+ } OPTIONAL -- Need ON
+ ]],
+ [[ cqi-ReportAperiodicProc-v1310 CHOICE {
+ release NULL,
+ setup CQI-ReportAperiodicProc-v1310
+ } OPTIONAL, -- Need ON
+ cqi-ReportAperiodicProc2-v1310 CHOICE {
+ release NULL,
+ setup CQI-ReportAperiodicProc-v1310
+ } OPTIONAL, -- Need ON
+ eMIMO-Type-r13 CSI-RS-ConfigEMIMO-r13 OPTIONAL -- Need ON
+ ]],
+ [[ dummy CSI-RS-ConfigEMIMO-v1430 OPTIONAL, -- Need ON
+ eMIMO-Hybrid-r14 CSI-RS-ConfigEMIMO-Hybrid-r14 OPTIONAL, -- Need ON
+ advancedCodebookEnabled-r14 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ eMIMO-Type-v1480 CSI-RS-ConfigEMIMO-v1480 OPTIONAL -- Need ON
+ ]],
+ [[ feCOMP-CSI-Enabled-v1530 BOOLEAN OPTIONAL, -- Need ON
+ eMIMO-Type-v1530 CSI-RS-ConfigEMIMO-v1530 OPTIONAL -- Need ON
+ ]]
+}
+
+
+CSI-ProcessId-r11 ::= INTEGER (1..maxCSI-Proc-r11)
+
+
+CSI-RS-Config-r10 ::= SEQUENCE {
+ csi-RS-r10 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ antennaPortsCount-r10 ENUMERATED {an1, an2, an4, an8},
+ resourceConfig-r10 INTEGER (0..31),
+ subframeConfig-r10 INTEGER (0..154),
+ p-C-r10 INTEGER (-8..15)
+ }
+ } OPTIONAL, -- Need ON
+ zeroTxPowerCSI-RS-r10 ZeroTxPowerCSI-RS-Conf-r12 OPTIONAL -- Need ON
+}
+
+CSI-RS-Config-v1250 ::= SEQUENCE {
+ zeroTxPowerCSI-RS2-r12 ZeroTxPowerCSI-RS-Conf-r12 OPTIONAL, -- Need ON
+ ds-ZeroTxPowerCSI-RS-r12 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ zeroTxPowerCSI-RS-List-r12 SEQUENCE (SIZE (1..maxDS-ZTP-CSI-RS-r12)) OF ZeroTxPowerCSI-RS-r12
+ }
+ } OPTIONAL -- Need ON
+}
+
+CSI-RS-Config-v1310 ::= SEQUENCE {
+ eMIMO-Type-r13 CSI-RS-ConfigEMIMO-r13 OPTIONAL -- Need ON
+}
+
+CSI-RS-Config-v1430 ::= SEQUENCE {
+ dummy CSI-RS-ConfigEMIMO-v1430 OPTIONAL, -- Need ON
+ eMIMO-Hybrid-r14 CSI-RS-ConfigEMIMO-Hybrid-r14 OPTIONAL, -- Need ON
+ advancedCodebookEnabled-r14 BOOLEAN OPTIONAL -- Need ON
+}
+
+CSI-RS-Config-v1480 ::= SEQUENCE {
+ eMIMO-Type-v1480 CSI-RS-ConfigEMIMO-v1480 OPTIONAL -- Need ON
+}
+
+CSI-RS-Config-v1530 ::= SEQUENCE {
+ eMIMO-Type-v1530 CSI-RS-ConfigEMIMO-v1530 OPTIONAL -- Need ON
+}
+
+CSI-RS-Config-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ csi-RS-Config-r10 CSI-RS-Config-r10 OPTIONAL, -- Need ON
+ csi-RS-Config-v1250 CSI-RS-Config-v1250 OPTIONAL, -- Need ON
+ csi-RS-Config-v1310 CSI-RS-Config-v1310 OPTIONAL, -- Need ON
+ csi-RS-Config-v1430 CSI-RS-Config-v1430 OPTIONAL -- Need ON
+ }
+}
+
+ZeroTxPowerCSI-RS-Conf-r12 ::= CHOICE {
+ release NULL,
+ setup ZeroTxPowerCSI-RS-r12
+}
+
+ZeroTxPowerCSI-RS-r12 ::= SEQUENCE {
+ zeroTxPowerResourceConfigList-r12 BIT STRING (SIZE (16)),
+ zeroTxPowerSubframeConfig-r12 INTEGER (0..154)
+}
+
+
+CSI-RS-ConfigBeamformed-r13 ::= SEQUENCE {
+ csi-RS-ConfigNZPIdListExt-r13 SEQUENCE (SIZE (1..7)) OF CSI-RS-ConfigNZPId-r13 OPTIONAL, -- Need OR
+ csi-IM-ConfigIdList-r13 SEQUENCE (SIZE (1..8)) OF CSI-IM-ConfigId-r13 OPTIONAL, -- Need OR
+ p-C-AndCBSR-PerResourceConfigList-r13 SEQUENCE (SIZE (1..8)) OF P-C-AndCBSR-Pair-r13 OPTIONAL, -- Need OR
+ ace-For4Tx-PerResourceConfigList-r13 SEQUENCE (SIZE (1..7)) OF BOOLEAN OPTIONAL, -- Need OR
+ alternativeCodebookEnabledBeamformed-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ channelMeasRestriction-r13 ENUMERATED {on} OPTIONAL -- Need OR
+}
+
+CSI-RS-ConfigBeamformed-r14 ::= SEQUENCE {
+ csi-RS-ConfigNZPIdListExt-r14 SEQUENCE (SIZE (1..7)) OF CSI-RS-ConfigNZPId-r13 OPTIONAL, -- Need OR
+ csi-IM-ConfigIdList-r14 SEQUENCE (SIZE (1..8)) OF CSI-IM-ConfigId-r13 OPTIONAL, -- Need OR
+ p-C-AndCBSR-PerResourceConfigList-r14 SEQUENCE (SIZE (1..8)) OF P-C-AndCBSR-Pair-r13 OPTIONAL, -- Need OR
+ ace-For4Tx-PerResourceConfigList-r14 SEQUENCE (SIZE (1..7)) OF BOOLEAN OPTIONAL, -- Need OR
+ alternativeCodebookEnabledBeamformed-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ channelMeasRestriction-r14 ENUMERATED {on} OPTIONAL, -- Need OR
+ csi-RS-ConfigNZP-ApList-r14 SEQUENCE (SIZE (1..8)) OF CSI-RS-ConfigNZP-r11
+ OPTIONAL, -- Need OR
+ nzp-ResourceConfigOriginal-v1430 CSI-RS-Config-NZP-v1430 OPTIONAL, -- Need OR
+ csi-RS-NZP-Activation-r14 CSI-RS-ConfigNZP-Activation-r14 OPTIONAL -- Need OR
+}
+
+CSI-RS-ConfigBeamformed-v1430::= SEQUENCE {
+ csi-RS-ConfigNZP-ApList-r14 SEQUENCE (SIZE (1..8)) OF CSI-RS-ConfigNZP-r11
+ OPTIONAL, -- Need OR
+ nzp-ResourceConfigOriginal-v1430 CSI-RS-Config-NZP-v1430 OPTIONAL, -- Need OR
+ csi-RS-NZP-Activation-r14 CSI-RS-ConfigNZP-Activation-r14 OPTIONAL -- Need OR
+}
+
+CSI-RS-Config-NZP-v1430::= SEQUENCE {
+ transmissionComb-r14 NZP-TransmissionComb-r14 OPTIONAL, -- Need OR
+ frequencyDensity-r14 NZP-FrequencyDensity-r14 OPTIONAL -- Need OR
+}
+
+CSI-RS-ConfigNZP-Activation-r14::= SEQUENCE {
+ csi-RS-NZP-mode-r14 ENUMERATED {semiPersistent, aperiodic},
+ activatedResources-r14 INTEGER (0..4)
+}
+
+
+CSI-RS-ConfigEMIMO-r13 ::= CHOICE {
+ release NULL,
+ setup CHOICE {
+ nonPrecoded-r13 CSI-RS-ConfigNonPrecoded-r13,
+ beamformed-r13 CSI-RS-ConfigBeamformed-r13
+ }
+}
+
+CSI-RS-ConfigEMIMO-v1430 ::= CHOICE {
+ release NULL,
+ setup CHOICE {
+ nonPrecoded-v1430 CSI-RS-ConfigNonPrecoded-v1430,
+ beamformed-v1430 CSI-RS-ConfigBeamformed-v1430
+ }
+}
+
+CSI-RS-ConfigEMIMO-v1480 ::= CHOICE {
+ release NULL,
+ setup CHOICE {
+ nonPrecoded-v1480 CSI-RS-ConfigNonPrecoded-v1480,
+ beamformed-v1480 CSI-RS-ConfigBeamformed-v1430
+ }
+}
+
+CSI-RS-ConfigEMIMO-v1530 ::= CHOICE {
+ release NULL,
+ setup CHOICE {
+ nonPrecoded-v1530 CSI-RS-ConfigNonPrecoded-v1530
+ }
+}
+
+CSI-RS-ConfigEMIMO2-r14 ::= CHOICE {
+ release NULL,
+ setup CSI-RS-ConfigBeamformed-r14
+}
+
+CSI-RS-ConfigEMIMO-Hybrid-r14 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ periodicityOffsetIndex-r14 INTEGER (0..1023) OPTIONAL, -- Need OR
+ eMIMO-Type2-r14 CSI-RS-ConfigEMIMO2-r14 OPTIONAL -- Need ON
+ }
+}
+
+
+
+CSI-RS-ConfigNonPrecoded-r13 ::= SEQUENCE {
+ p-C-AndCBSRList-r13 P-C-AndCBSR-Pair-r13 OPTIONAL, -- Need OR
+ codebookConfigN1-r13 ENUMERATED {n1, n2, n3, n4, n8},
+ codebookConfigN2-r13 ENUMERATED {n1, n2, n3, n4, n8},
+ codebookOverSamplingRateConfig-O1-r13 ENUMERATED {n4, n8} OPTIONAL, -- Need OR
+ codebookOverSamplingRateConfig-O2-r13 ENUMERATED {n4, n8} OPTIONAL, -- Need OR
+ codebookConfig-r13 INTEGER (1..4),
+ csi-IM-ConfigIdList-r13 SEQUENCE (SIZE (1..2)) OF CSI-IM-ConfigId-r13 OPTIONAL, -- Need OR
+ csi-RS-ConfigNZP-EMIMO-r13 CSI-RS-ConfigNZP-EMIMO-r13 OPTIONAL -- Need ON
+}
+
+CSI-RS-ConfigNonPrecoded-v1430::= SEQUENCE {
+ csi-RS-ConfigNZP-EMIMO-v1430 CSI-RS-ConfigNZP-EMIMO-v1430 OPTIONAL, -- Need ON
+ codebookConfigN1-v1430 ENUMERATED {n5, n6, n7, n10, n12, n14, n16},
+ codebookConfigN2-v1430 ENUMERATED {n5, n6, n7},
+ nzp-ResourceConfigTM9-Original-v1430 CSI-RS-Config-NZP-v1430
+}
+
+CSI-RS-ConfigNonPrecoded-v1480::= SEQUENCE {
+ csi-RS-ConfigNZP-EMIMO-v1480 CSI-RS-ConfigNZP-EMIMO-v1430 OPTIONAL, -- Need ON
+ codebookConfigN1-v1480 ENUMERATED {n5, n6, n7, n10, n12, n14, n16} OPTIONAL, -- Need OR
+ codebookConfigN2-r1480 ENUMERATED {n5, n6, n7} OPTIONAL, -- Need OR
+ nzp-ResourceConfigTM9-Original-v1480 CSI-RS-Config-NZP-v1430
+}
+
+CSI-RS-ConfigNonPrecoded-v1530 ::= SEQUENCE {
+ p-C-AndCBSRList-r15 P-C-AndCBSR-Pair-r15 OPTIONAL -- Need OR
+}
+
+
+CSI-RS-ConfigNZP-r11 ::= SEQUENCE {
+ csi-RS-ConfigNZPId-r11 CSI-RS-ConfigNZPId-r11,
+ antennaPortsCount-r11 ENUMERATED {an1, an2, an4, an8},
+ resourceConfig-r11 INTEGER (0..31),
+ subframeConfig-r11 INTEGER (0..154),
+ scramblingIdentity-r11 INTEGER (0..503),
+ qcl-CRS-Info-r11 SEQUENCE {
+ qcl-ScramblingIdentity-r11 INTEGER (0..503),
+ crs-PortsCount-r11 ENUMERATED {n1, n2, n4, spare1},
+ mbsfn-SubframeConfigList-r11 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ subframeConfigList MBSFN-SubframeConfigList
+ }
+ } OPTIONAL -- Need ON
+ } OPTIONAL, -- Need OR
+ ...,
+ [[ csi-RS-ConfigNZPId-v1310 CSI-RS-ConfigNZPId-v1310 OPTIONAL -- Need ON
+ ]],
+ [[ transmissionComb-r14 NZP-TransmissionComb-r14 OPTIONAL, -- Need OR
+ frequencyDensity-r14 NZP-FrequencyDensity-r14 OPTIONAL -- Need OR
+ ]],
+ [[ mbsfn-SubframeConfigList-v1430 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ subframeConfigList-v1430 MBSFN-SubframeConfigList-v1430
+ }
+ } OPTIONAL -- Need OP
+ ]]
+}
+
+CSI-RS-ConfigNZP-EMIMO-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ nzp-resourceConfigList-r13 SEQUENCE (SIZE (1..2)) OF NZP-ResourceConfig-r13,
+ cdmType-r13 ENUMERATED {cdm2, cdm4} OPTIONAL -- Need OR
+ }
+}
+
+CSI-RS-ConfigNZP-EMIMO-v1430 ::= SEQUENCE {
+ -- All extensions are for Non-Precoded so could be grouped by setup/ release choice
+ nzp-resourceConfigListExt-r14 SEQUENCE (SIZE (0..4)) OF NZP-ResourceConfig-r13,
+ cdmType-v1430 ENUMERATED {cdm8 } OPTIONAL -- Need OR
+}
+
+NZP-ResourceConfig-r13 ::= SEQUENCE {
+ resourceConfig-r13 ResourceConfig-r13,
+ ...,
+ [[ transmissionComb-r14 NZP-TransmissionComb-r14 OPTIONAL, -- Need OR
+ frequencyDensity-r14 NZP-FrequencyDensity-r14 OPTIONAL -- Need OR
+ ]]
+}
+
+ResourceConfig-r13 ::= INTEGER (0..31)
+
+NZP-TransmissionComb-r14 ::= INTEGER (0..2)
+NZP-FrequencyDensity-r14 ::= ENUMERATED {d1, d2, d3}
+
+
+CSI-RS-ConfigNZPId-r11 ::= INTEGER (1..maxCSI-RS-NZP-r11)
+CSI-RS-ConfigNZPId-v1310 ::= INTEGER (minCSI-RS-NZP-r13..maxCSI-RS-NZP-r13)
+CSI-RS-ConfigNZPId-r13 ::= INTEGER (1..maxCSI-RS-NZP-r13)
+
+
+CSI-RS-ConfigZP-r11 ::= SEQUENCE {
+ csi-RS-ConfigZPId-r11 CSI-RS-ConfigZPId-r11,
+ resourceConfigList-r11 BIT STRING (SIZE (16)),
+ subframeConfig-r11 INTEGER (0..154),
+ ...
+}
+
+CSI-RS-ConfigZP-ApList-r14 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE (SIZE (1.. maxCSI-RS-ZP-r11)) OF CSI-RS-ConfigZP-r11
+}
+
+
+CSI-RS-ConfigZPId-r11 ::= INTEGER (1..maxCSI-RS-ZP-r11)
+
+
+DataInactivityTimer-r14 ::= ENUMERATED {
+ s1, s2, s3, s5, s7, s10, s15, s20, s40, s50, s60,
+ s80, s100, s120, s150, s180}
+
+
+DMRS-Config-r11 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ scramblingIdentity-r11 INTEGER (0..503),
+ scramblingIdentity2-r11 INTEGER (0..503)
+ }
+}
+DMRS-Config-v1310 ::= SEQUENCE {
+ dmrs-tableAlt-r13 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+
+DRB-Identity ::= INTEGER (1..32)
+
+
+EPDCCH-Config-r11 ::= SEQUENCE{
+ config-r11 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ subframePatternConfig-r11 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ subframePattern-r11 MeasSubframePattern-r10
+ }
+ } OPTIONAL, -- Need ON
+ startSymbol-r11 INTEGER (1..4) OPTIONAL, -- Need OP
+ setConfigToReleaseList-r11 EPDCCH-SetConfigToReleaseList-r11 OPTIONAL, -- Need ON
+ setConfigToAddModList-r11 EPDCCH-SetConfigToAddModList-r11 OPTIONAL -- Need ON
+ }
+ }
+}
+
+EPDCCH-SetConfigToAddModList-r11 ::= SEQUENCE (SIZE(1..maxEPDCCH-Set-r11)) OF EPDCCH-SetConfig-r11
+
+EPDCCH-SetConfigToReleaseList-r11 ::= SEQUENCE (SIZE(1..maxEPDCCH-Set-r11)) OF EPDCCH-SetConfigId-r11
+
+EPDCCH-SetConfig-r11 ::= SEQUENCE {
+ setConfigId-r11 EPDCCH-SetConfigId-r11,
+ transmissionType-r11 ENUMERATED {localised, distributed},
+ resourceBlockAssignment-r11 SEQUENCE{
+ numberPRB-Pairs-r11 ENUMERATED {n2, n4, n8},
+ resourceBlockAssignment-r11 BIT STRING (SIZE(4..38))
+ },
+ dmrs-ScramblingSequenceInt-r11 INTEGER (0..503),
+ pucch-ResourceStartOffset-r11 INTEGER (0..2047),
+ re-MappingQCL-ConfigId-r11 PDSCH-RE-MappingQCL-ConfigId-r11 OPTIONAL, -- Need OR
+ ...,
+ [[ csi-RS-ConfigZPId2-r12 CHOICE {
+ release NULL,
+ setup CSI-RS-ConfigZPId-r11
+ } OPTIONAL -- Need ON
+ ]],
+ [[ numberPRB-Pairs-v1310 CHOICE {
+ release NULL,
+ setup ENUMERATED {n6}
+ } OPTIONAL, -- Need ON
+ mpdcch-config-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ csi-NumRepetitionCE-r13 ENUMERATED {sf1, sf2, sf4, sf8, sf16, sf32},
+ mpdcch-pdsch-HoppingConfig-r13 ENUMERATED {on,off},
+ mpdcch-StartSF-UESS-r13 CHOICE {
+ fdd-r13 ENUMERATED {v1, v1dot5, v2, v2dot5, v4,
+ v5, v8, v10},
+ tdd-r13 ENUMERATED {v1, v2, v4, v5, v8, v10,
+ v20, spare1}
+ },
+ mpdcch-NumRepetition-r13 ENUMERATED {r1, r2, r4, r8, r16,
+ r32, r64, r128, r256},
+ mpdcch-Narrowband-r13 INTEGER (1.. maxAvailNarrowBands-r13)
+ }
+ } OPTIONAL -- Need ON
+ ]]
+}
+
+EPDCCH-SetConfigId-r11 ::= INTEGER (0..1)
+
+
+EIMTA-MainConfig-r12 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ eimta-RNTI-r12 C-RNTI,
+ eimta-CommandPeriodicity-r12 ENUMERATED {sf10, sf20, sf40, sf80},
+ eimta-CommandSubframeSet-r12 BIT STRING (SIZE(10))
+ }
+}
+
+EIMTA-MainConfigServCell-r12 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ eimta-UL-DL-ConfigIndex-r12 INTEGER (1..5),
+ eimta-HARQ-ReferenceConfig-r12 ENUMERATED {sa2, sa4, sa5},
+ mbsfn-SubframeConfigList-v1250 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ subframeConfigList-r12 MBSFN-SubframeConfigList
+ }
+ }
+ }
+}
+
+
+GWUS-Config-r16 ::= SEQUENCE {
+ groupAlternation-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ commonSequence-r16 ENUMERATED {g0, g126} OPTIONAL, -- Need OR
+ timeParameters-r16 GWUS-TimeParameters-r16 OPTIONAL, -- Cond NoWUSr15
+ resourceConfigDRX-r16 GWUS-ResourceConfig-r16,
+ resourceConfig-eDRX-Short-r16 GWUS-ResourceConfig-r16 OPTIONAL, -- Need OP
+ resourceConfig-eDRX-Long-r16 GWUS-ResourceConfig-r16 OPTIONAL, -- Cond TimeOffset
+ probThreshList-r16 GWUS-ProbThreshList-r16 OPTIONAL, -- Cond ProbabilityBased
+ groupNarrowBandList-r16 GWUS-GroupNarrowBandList-r16 OPTIONAL -- Need OR
+}
+
+GWUS-TimeParameters-r16 ::= SEQUENCE {
+ maxDurationFactor-r16 ENUMERATED {one32th, one16th, one8th, one4th},
+ numPOs-r16 ENUMERATED {n1, n2, n4, spare1} DEFAULT n1,
+ timeOffsetDRX-r16 ENUMERATED {ms40, ms80, ms160, ms240},
+ timeOffset-eDRX-Short-r16 ENUMERATED {ms40, ms80, ms160, ms240},
+ timeOffset-eDRX-Long-r16 ENUMERATED {ms1000, ms2000} OPTIONAL, -- Need OP
+ numDRX-CyclesRelaxed-r16 ENUMERATED {n1, n2, n4, n8} OPTIONAL, -- Need OR
+ powerBoost-r16 ENUMERATED {dB0, dB1dot8, dB3, dB4dot8} OPTIONAL, -- Need OR
+ ...
+}
+
+GWUS-ResourceConfig-r16 ::= SEQUENCE {
+ resourceMappingPattern-r16 CHOICE {
+ resourceLocationWithWUS ENUMERATED {primary, secondary, primary3FDM},
+ resourceLocationWithoutWUS ENUMERATED {n0, n2}
+ },
+ numGroupsList-r16 GWUS-NumGroupsList-r16 OPTIONAL, -- Need OP
+ groupsForServiceList-r16 GWUS-GroupsForServiceList-r16 OPTIONAL -- Cond ProbabilityBased
+}
+
+GWUS-GroupsForServiceList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-r16)) OF INTEGER (1..maxGWUS-Groups-1-r16)
+
+GWUS-GroupNarrowBandList-r16 ::= SEQUENCE (SIZE (1..maxAvailNarrowBands-r13)) OF BOOLEAN
+
+GWUS-NumGroupsList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-Resources-r16)) OF GWUS-NumGroups-r16
+
+GWUS-ProbThreshList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-r16)) OF GWUS-PagingProbThresh-r16
+
+GWUS-NumGroups-r16 ::= ENUMERATED {n1, n2, n4, n8}
+
+GWUS-PagingProbThresh-r16 ::= ENUMERATED {p20, p30, p40, p50, p60, p70, p80, p90}
+
+
+LogicalChannelConfig ::= SEQUENCE {
+ ul-SpecificParameters SEQUENCE {
+ priority INTEGER (1..16),
+ prioritisedBitRate ENUMERATED {
+ kBps0, kBps8, kBps16, kBps32, kBps64, kBps128,
+ kBps256, infinity, kBps512-v1020, kBps1024-v1020,
+ kBps2048-v1020, spare5, spare4, spare3, spare2,
+ spare1},
+ bucketSizeDuration ENUMERATED {
+ ms50, ms100, ms150, ms300, ms500, ms1000, spare2,
+ spare1},
+ logicalChannelGroup INTEGER (0..3) OPTIONAL -- Need OR
+ } OPTIONAL, -- Cond UL
+ ...,
+ [[ logicalChannelSR-Mask-r9 ENUMERATED {setup} OPTIONAL -- Cond SRmask
+ ]],
+ [[ logicalChannelSR-Prohibit-r12 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ laa-UL-Allowed-r14 BOOLEAN OPTIONAL, -- Need ON
+ bitRateQueryProhibitTimer-r14 ENUMERATED {
+ s0, s0dot4, s0dot8, s1dot6, s3, s6, s12,
+ s30} OPTIONAL --Need OR
+ ]],
+ [[ allowedTTI-Lengths-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ shortTTI-r15 BOOLEAN,
+ subframeTTI-r15 BOOLEAN
+ }
+ } OPTIONAL, -- Need ON
+ logicalChannelSR-Restriction-r15 CHOICE {
+ release NULL,
+ setup ENUMERATED {spucch, pucch}
+ } OPTIONAL, -- Need ON
+ channelAccessPriority-r15 CHOICE {
+ release NULL,
+ setup INTEGER (1..4)
+ } OPTIONAL, -- Need ON
+ lch-CellRestriction-r15 BIT STRING (SIZE (maxServCell-r13)) OPTIONAL -- Need ON
+ ]],
+ [[
+ bitRateMultiplier-r16 ENUMERATED {x40, x70, x100, x200} OPTIONAL -- Need OR
+ ]]
+}
+
+
+LWA-Configuration-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ lwa-Config-r13 LWA-Config-r13
+ }
+}
+
+LWA-Config-r13 ::= SEQUENCE {
+ lwa-MobilityConfig-r13 WLAN-MobilityConfig-r13 OPTIONAL, -- Need ON
+ lwa-WT-Counter-r13 INTEGER (0..65535) OPTIONAL, -- Need ON
+ ...,
+ [[ wt-MAC-Address-r14 OCTET STRING (SIZE (6)) OPTIONAL -- Need ON
+ ]]
+}
+
+
+LWIP-Configuration-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ lwip-Config-r13 LWIP-Config-r13
+ }
+}
+
+LWIP-Config-r13 ::= SEQUENCE {
+ lwip-MobilityConfig-r13 WLAN-MobilityConfig-r13 OPTIONAL, -- Need ON
+ tunnelConfigLWIP-r13 TunnelConfigLWIP-r13 OPTIONAL, -- Need ON
+ ...
+}
+
+
+MAC-MainConfig ::= SEQUENCE {
+ ul-SCH-Config SEQUENCE {
+ maxHARQ-Tx ENUMERATED {
+ n1, n2, n3, n4, n5, n6, n7, n8,
+ n10, n12, n16, n20, n24, n28,
+ spare2, spare1} OPTIONAL, -- Need ON
+ periodicBSR-Timer PeriodicBSR-Timer-r12 OPTIONAL, -- Need ON
+ retxBSR-Timer RetxBSR-Timer-r12,
+ ttiBundling BOOLEAN
+ } OPTIONAL, -- Need ON
+ drx-Config DRX-Config OPTIONAL, -- Need ON
+ timeAlignmentTimerDedicated TimeAlignmentTimer,
+ phr-Config CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ periodicPHR-Timer ENUMERATED {sf10, sf20, sf50, sf100, sf200,
+ sf500, sf1000, infinity},
+ prohibitPHR-Timer ENUMERATED {sf0, sf10, sf20, sf50, sf100,
+ sf200, sf500, sf1000},
+ dl-PathlossChange ENUMERATED {dB1, dB3, dB6, infinity}
+ }
+ } OPTIONAL, -- Need ON
+ ...,
+ [[ sr-ProhibitTimer-r9 INTEGER (0..7) OPTIONAL -- Need ON
+ ]],
+ [[ mac-MainConfig-v1020 SEQUENCE {
+ sCellDeactivationTimer-r10 ENUMERATED {
+ rf2, rf4, rf8, rf16, rf32, rf64, rf128,
+ spare} OPTIONAL, -- Need OP
+ extendedBSR-Sizes-r10 ENUMERATED {setup} OPTIONAL, -- Need OR
+ extendedPHR-r10 ENUMERATED {setup} OPTIONAL -- Need OR
+ } OPTIONAL -- Need ON
+ ]],
+ [[ stag-ToReleaseList-r11 STAG-ToReleaseList-r11 OPTIONAL, -- Need ON
+ stag-ToAddModList-r11 STAG-ToAddModList-r11 OPTIONAL, -- Need ON
+ drx-Config-v1130 DRX-Config-v1130 OPTIONAL -- Need ON
+ ]],
+ [[ e-HARQ-Pattern-r12 BOOLEAN OPTIONAL, -- Need ON
+ dualConnectivityPHR CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ phr-ModeOtherCG-r12 ENUMERATED {real, virtual}
+ }
+ } OPTIONAL, -- Need ON
+ logicalChannelSR-Config-r12 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ logicalChannelSR-ProhibitTimer-r12 ENUMERATED {sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1}
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ drx-Config-v1310 DRX-Config-v1310 OPTIONAL, -- Need ON
+ extendedPHR2-r13 BOOLEAN OPTIONAL, -- Need ON
+ eDRX-Config-CycleStartOffset-r13 CHOICE {
+ release NULL,
+ setup
+ CHOICE {
+ sf5120 INTEGER(0..1),
+ sf10240 INTEGER(0..3)
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ drx-Config-r13 CHOICE {
+ release NULL,
+ setup DRX-Config-r13
+ } OPTIONAL -- Need ON
+ ]],
+ [[ skipUplinkTx-r14 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ skipUplinkTxSPS-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ skipUplinkTxDynamic-r14 ENUMERATED {true} OPTIONAL -- Need OR
+ }
+ } OPTIONAL, -- Need ON
+ dataInactivityTimerConfig-r14 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ dataInactivityTimer-r14 DataInactivityTimer-r14
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ rai-Activation-r14 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ shortTTI-AndSPT-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ drx-Config-r15 DRX-Config-r15 OPTIONAL, -- Need ON
+ periodicBSR-Timer-r15 ENUMERATED {
+ sf1, sf5, sf10, sf16, sf20, sf32, sf40,
+ sf64, sf80, sf128, sf160, sf320, sf640,
+ sf1280, sf2560, infinity}
+ OPTIONAL, -- Need ON
+ proc-Timeline-r15 ENUMERATED {nplus4set1, nplus6set1,
+ nplus6set2, nplus8set2 } OPTIONAL, -- Need ON
+ ssr-ProhibitTimer-r15 INTEGER (0..7) OPTIONAL -- Need ON
+ }
+ } OPTIONAL, -- Need ON
+ mpdcch-UL-HARQ-ACK-FeedbackConfig-r15 BOOLEAN OPTIONAL, -- Need ON
+ dormantStateTimers-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ sCellHibernationTimer-r15 ENUMERATED {
+ rf2, rf4, rf8, rf16, rf32, rf64, rf128, spare} OPTIONAL, -- Need OR
+ dormantSCellDeactivationTimer-r15 ENUMERATED {
+ rf2, rf4, rf8, rf16, rf32, rf64,
+ rf128, rf320, rf640, rf1280, rf2560,
+ rf5120, rf10240, spare3, spare2, spare1} OPTIONAL -- Need OR
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ ce-ETWS-CMAS-RxInConn-r16 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ offsetThresholdTA-r17 CHOICE {release NULL, setup OffsetThresholdTA-r17}
+ OPTIONAL, -- Need ON
+ sr-ProhibitTimerOffset-r17 CHOICE {release NULL, setup SR-ProhibitTimerOffset-r17}
+ OPTIONAL -- Need ON
+ ]]
+}
+
+MAC-MainConfigSCell-r11 ::= SEQUENCE {
+ stag-Id-r11 STAG-Id-r11 OPTIONAL, -- Need OP
+ ...
+}
+
+DRX-Config ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ onDurationTimer ENUMERATED {
+ psf1, psf2, psf3, psf4, psf5, psf6,
+ psf8, psf10, psf20, psf30, psf40,
+ psf50, psf60, psf80, psf100,
+ psf200},
+ drx-InactivityTimer ENUMERATED {
+ psf1, psf2, psf3, psf4, psf5, psf6,
+ psf8, psf10, psf20, psf30, psf40,
+ psf50, psf60, psf80, psf100,
+ psf200, psf300, psf500, psf750,
+ psf1280, psf1920, psf2560, psf0-v1020,
+ spare9, spare8, spare7, spare6,
+ spare5, spare4, spare3, spare2,
+ spare1},
+ drx-RetransmissionTimer ENUMERATED {
+ psf1, psf2, psf4, psf6, psf8, psf16,
+ psf24, psf33},
+ longDRX-CycleStartOffset CHOICE {
+ sf10 INTEGER(0..9),
+ sf20 INTEGER(0..19),
+ sf32 INTEGER(0..31),
+ sf40 INTEGER(0..39),
+ sf64 INTEGER(0..63),
+ sf80 INTEGER(0..79),
+ sf128 INTEGER(0..127),
+ sf160 INTEGER(0..159),
+ sf256 INTEGER(0..255),
+ sf320 INTEGER(0..319),
+ sf512 INTEGER(0..511),
+ sf640 INTEGER(0..639),
+ sf1024 INTEGER(0..1023),
+ sf1280 INTEGER(0..1279),
+ sf2048 INTEGER(0..2047),
+ sf2560 INTEGER(0..2559)
+ },
+ shortDRX SEQUENCE {
+ shortDRX-Cycle ENUMERATED {
+ sf2, sf5, sf8, sf10, sf16, sf20,
+ sf32, sf40, sf64, sf80, sf128, sf160,
+ sf256, sf320, sf512, sf640},
+ drxShortCycleTimer INTEGER (1..16)
+ } OPTIONAL -- Need OR
+ }
+}
+
+DRX-Config-v1130 ::= SEQUENCE {
+ drx-RetransmissionTimer-v1130 ENUMERATED {psf0-v1130} OPTIONAL, --Need OR
+ longDRX-CycleStartOffset-v1130 CHOICE {
+ sf60-v1130 INTEGER(0..59),
+ sf70-v1130 INTEGER(0..69)
+ } OPTIONAL, --Need OR
+ shortDRX-Cycle-v1130 ENUMERATED {sf4-v1130} OPTIONAL --Need OR
+}
+DRX-Config-v1310 ::= SEQUENCE {
+ longDRX-CycleStartOffset-v1310 SEQUENCE {
+ sf60-v1310 INTEGER(0..59)
+ } OPTIONAL --Need OR
+}
+
+DRX-Config-r13 ::= SEQUENCE {
+ onDurationTimer-v1310 ENUMERATED {psf300, psf400, psf500, psf600,
+ psf800, psf1000, psf1200, psf1600}
+ OPTIONAL, --Need OR
+ drx-RetransmissionTimer-v1310 ENUMERATED {psf40, psf64, psf80, psf96, psf112,
+ psf128, psf160, psf320}
+ OPTIONAL, --Need OR
+ drx-ULRetransmissionTimer-r13 ENUMERATED {psf0, psf1, psf2, psf4, psf6, psf8, psf16,
+ psf24, psf33, psf40, psf64, psf80, psf96,
+ psf112, psf128, psf160, psf320}
+ OPTIONAL --Need OR
+}
+
+DRX-Config-r15 ::= SEQUENCE {
+ drx-RetransmissionTimerShortTTI-r15 ENUMERATED {
+ tti10, tti20, tti40, tti64, tti80, tti96,
+ tti112,tti128, tti160, tti320} OPTIONAL, --Need OR
+ drx-UL-RetransmissionTimerShortTTI-r15 ENUMERATED {
+ tti0, tti1, tti2, tti4, tti6, tti8, tti16,
+ tti24, tti33, tti40, tti64, tti80, tti96, tti112,
+ tti128, tti160, tti320} OPTIONAL --Need OR
+}
+
+PeriodicBSR-Timer-r12 ::= ENUMERATED {
+ sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80,
+ sf128, sf160, sf320, sf640, sf1280, sf2560,
+ infinity, spare1}
+
+RetxBSR-Timer-r12 ::= ENUMERATED {
+ sf320, sf640, sf1280, sf2560, sf5120,
+ sf10240, spare2, spare1}
+
+OffsetThresholdTA-r17 ::= ENUMERATED {
+ ms0dot5, ms1, ms2, ms3, ms4, ms5, ms6 ,ms7,
+ ms8, ms9, ms10, ms11, ms12, ms13, ms14, ms15
+}
+
+SR-ProhibitTimerOffset-r17 ::= ENUMERATED {
+ ms90, ms180, ms270, ms360,
+ ms450, ms540, ms1080, spare
+}
+
+STAG-ToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxSTAG-r11)) OF STAG-Id-r11
+
+STAG-ToAddModList-r11 ::= SEQUENCE (SIZE (1..maxSTAG-r11)) OF STAG-ToAddMod-r11
+
+STAG-ToAddMod-r11 ::= SEQUENCE {
+ stag-Id-r11 STAG-Id-r11,
+ timeAlignmentTimerSTAG-r11 TimeAlignmentTimer,
+ ...
+}
+
+STAG-Id-r11::= INTEGER (1..maxSTAG-r11)
+
+
+P-C-AndCBSR-r11 ::= SEQUENCE {
+ p-C-r11 INTEGER (-8..15),
+ codebookSubsetRestriction-r11 BIT STRING
+}
+
+P-C-AndCBSR-r13 ::= SEQUENCE {
+ p-C-r13 INTEGER (-8..15),
+ cbsr-Selection-r13 CHOICE{
+ nonPrecoded-r13 SEQUENCE {
+ codebookSubsetRestriction1-r13 BIT STRING,
+ codebookSubsetRestriction2-r13 BIT STRING
+ },
+ beamformedK1a-r13 SEQUENCE {
+ codebookSubsetRestriction3-r13 BIT STRING
+ },
+ beamformedKN-r13 SEQUENCE {
+ codebookSubsetRestriction-r13 BIT STRING
+ }
+ },
+ ...
+}
+
+P-C-AndCBSR-r15 ::= SEQUENCE {
+ p-C-r15 INTEGER (-8..15),
+ codebookSubsetRestriction4-r15 BIT STRING
+}
+
+P-C-AndCBSR-Pair-r13a ::= SEQUENCE (SIZE (1..2)) OF P-C-AndCBSR-r11
+
+P-C-AndCBSR-Pair-r13 ::= SEQUENCE (SIZE (1..2)) OF P-C-AndCBSR-r13
+
+P-C-AndCBSR-Pair-r15 ::= SEQUENCE (SIZE (1..2)) OF P-C-AndCBSR-r15
+
+
+PDCCH-ConfigSCell-r13 ::= SEQUENCE {
+ skipMonitoringDCI-format0-1A-r13 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+PDCCH-ConfigLAA-r14 ::= SEQUENCE {
+ maxNumberOfSchedSubframes-Format0B-r14 ENUMERATED {sf2, sf3, sf4} OPTIONAL, -- Need OR
+ maxNumberOfSchedSubframes-Format4B-r14 ENUMERATED {sf2, sf3, sf4} OPTIONAL, -- Need OR
+ skipMonitoringDCI-Format0A-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ skipMonitoringDCI-Format4A-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ pdcch-CandidateReductions-Format0A-r14
+ PDCCH-CandidateReductions-r13 OPTIONAL, -- Need ON
+ pdcch-CandidateReductions-Format4A-r14
+ PDCCH-CandidateReductionsLAA-UL-r14 OPTIONAL, -- Need ON
+ pdcch-CandidateReductions-Format0B-r14
+ PDCCH-CandidateReductionsLAA-UL-r14 OPTIONAL, -- Need ON
+ pdcch-CandidateReductions-Format4B-r14
+ PDCCH-CandidateReductionsLAA-UL-r14 OPTIONAL -- Need ON
+}
+
+PDCCH-CandidateReductionValue-r13 ::= ENUMERATED {n0, n33, n66, n100}
+
+PDCCH-CandidateReductionValue-r14 ::= ENUMERATED {n0, n50, n100, n150}
+
+PDCCH-CandidateReductions-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ pdcch-candidateReductionAL1-r13 PDCCH-CandidateReductionValue-r13,
+ pdcch-candidateReductionAL2-r13 PDCCH-CandidateReductionValue-r13,
+ pdcch-candidateReductionAL3-r13 PDCCH-CandidateReductionValue-r13,
+ pdcch-candidateReductionAL4-r13 PDCCH-CandidateReductionValue-r13,
+ pdcch-candidateReductionAL5-r13 PDCCH-CandidateReductionValue-r13
+ }
+}
+
+PDCCH-CandidateReductionsLAA-UL-r14 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ pdcch-candidateReductionAL1-r14 PDCCH-CandidateReductionValue-r13,
+ pdcch-candidateReductionAL2-r14 PDCCH-CandidateReductionValue-r13,
+ pdcch-candidateReductionAL3-r14 PDCCH-CandidateReductionValue-r14,
+ pdcch-candidateReductionAL4-r14 PDCCH-CandidateReductionValue-r14,
+ pdcch-candidateReductionAL5-r14 PDCCH-CandidateReductionValue-r14
+ }
+}
+
+
+PDCP-Config ::= SEQUENCE {
+ discardTimer ENUMERATED {
+ ms50, ms100, ms150, ms300, ms500,
+ ms750, ms1500, infinity
+ } OPTIONAL, -- Cond Setup
+ rlc-AM SEQUENCE {
+ statusReportRequired BOOLEAN
+ } OPTIONAL, -- Cond Rlc-AM-UM
+ rlc-UM SEQUENCE {
+ pdcp-SN-Size ENUMERATED {len7bits, len12bits}
+ } OPTIONAL, -- Cond Rlc-UM
+ headerCompression CHOICE {
+ notUsed NULL,
+ rohc SEQUENCE {
+ maxCID INTEGER (1..16383) DEFAULT 15,
+ profiles SEQUENCE {
+ profile0x0001 BOOLEAN,
+ profile0x0002 BOOLEAN,
+ profile0x0003 BOOLEAN,
+ profile0x0004 BOOLEAN,
+ profile0x0006 BOOLEAN,
+ profile0x0101 BOOLEAN,
+ profile0x0102 BOOLEAN,
+ profile0x0103 BOOLEAN,
+ profile0x0104 BOOLEAN
+ },
+ ...
+ }
+ },
+ ...,
+ [[ rn-IntegrityProtection-r10 ENUMERATED {enabled} OPTIONAL -- Cond RN
+ ]],
+ [[ pdcp-SN-Size-v1130 ENUMERATED {len15bits} OPTIONAL -- Cond Rlc-AM2
+ ]],
+ [[ ul-DataSplitDRB-ViaSCG-r12 BOOLEAN OPTIONAL, -- Need ON
+ t-Reordering-r12 ENUMERATED {
+ ms0, ms20, ms40, ms60, ms80, ms100, ms120, ms140,
+ ms160, ms180, ms200, ms220, ms240, ms260, ms280, ms300,
+ ms500, ms750, spare14, spare13, spare12, spare11, spare10,
+ spare9, spare8, spare7, spare6, spare5, spare4, spare3,
+ spare2, spare1} OPTIONAL -- Cond SetupS
+ ]],
+ [[ ul-DataSplitThreshold-r13 CHOICE {
+ release NULL,
+ setup ENUMERATED {
+ b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800,
+ b25600, b51200, b102400, b204800, b409600, b819200,
+ spare1}
+ } OPTIONAL, -- Need ON
+ pdcp-SN-Size-v1310 ENUMERATED {len18bits} OPTIONAL, -- Cond Rlc-AM3
+ statusFeedback-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ statusPDU-TypeForPolling-r13 ENUMERATED {type1, type2} OPTIONAL, -- Need ON
+ statusPDU-Periodicity-Type1-r13 ENUMERATED {
+ ms5, ms10, ms20, ms30, ms40, ms50, ms60, ms70, ms80, ms90,
+ ms100, ms150, ms200, ms300, ms500, ms1000, ms2000, ms5000,
+ ms10000, ms20000, ms50000} OPTIONAL, -- Need ON
+ statusPDU-Periodicity-Type2-r13 ENUMERATED {
+ ms5, ms10, ms20, ms30, ms40, ms50, ms60, ms70, ms80, ms90,
+ ms100, ms150, ms200, ms300, ms500, ms1000, ms2000, ms5000,
+ ms10000, ms20000, ms50000} OPTIONAL, -- Need ON
+ statusPDU-Periodicity-Offset-r13 ENUMERATED {
+ ms1, ms2, ms5, ms10, ms25, ms50, ms100, ms250, ms500,
+ ms2500, ms5000, ms25000} OPTIONAL -- Need ON
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ ul-LWA-Config-r14 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ ul-LWA-DRB-ViaWLAN-r14 BOOLEAN,
+ ul-LWA-DataSplitThreshold-r14 ENUMERATED {
+ b0, b100, b200, b400, b800, b1600, b3200, b6400,
+ b12800, b25600, b51200, b102400, b204800, b409600,
+ b819200 } OPTIONAL -- Need OR
+ }
+ } OPTIONAL, -- Need ON
+ uplinkOnlyHeaderCompression-r14 CHOICE {
+ notUsed-r14 NULL,
+ rohc-r14 SEQUENCE {
+ maxCID-r14 INTEGER (1..16383) DEFAULT 15,
+ profiles-r14 SEQUENCE {
+ profile0x0006-r14 BOOLEAN
+ },
+ ...
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ uplinkDataCompression-r15 SEQUENCE {
+ bufferSize-r15 ENUMERATED {kbyte2, kbyte4, kbyte8, spare1},
+ dictionary-r15 ENUMERATED {sip-SDP, operator} OPTIONAL, -- Need OR
+ ...
+ } OPTIONAL,-- Cond Rlc-AM4
+ pdcp-DuplicationConfig-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ pdcp-Duplication-r15 ENUMERATED {configured, activated}
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[
+ ethernetHeaderCompression-r16 CHOICE {release NULL, setup EthernetHeaderCompression-r16} OPTIONAL -- Need ON
+ ]],
+ [[ discardTimerExt-r17 CHOICE {release NULL, setup DiscardTimerExt-r17} OPTIONAL -- Need ON
+ ]]
+}
+
+EthernetHeaderCompression-r16 ::= SEQUENCE {
+ ehc-Common-r16 SEQUENCE {
+ ehc-CID-Length-r16 ENUMERATED {bits7, bits15}
+ },
+ ehc-Downlink-r16 SEQUENCE {
+ drb-ContinueEHC-DL-r16 ENUMERATED {true} OPTIONAL -- Need OR
+ } OPTIONAL,-- Need ON
+ ehc-Uplink-r16 SEQUENCE {
+ maxCID-EHC-UL-r16 INTEGER (1..32767),
+ drb-ContinueEHC-UL-r16 ENUMERATED {true} OPTIONAL -- Need OR
+ } OPTIONAL, -- Need ON
+ ...
+}
+
+DiscardTimerExt-r17 ::= ENUMERATED {ms2000, spare}
+
+
+PDSCH-ConfigCommon ::= SEQUENCE {
+ referenceSignalPower INTEGER (-60..50),
+ p-b INTEGER (0..3)
+}
+
+PDSCH-ConfigCommon-v1310 ::= SEQUENCE {
+ pdsch-maxNumRepetitionCEmodeA-r13 ENUMERATED {
+ r16, r32 } OPTIONAL, -- Need OR
+ pdsch-maxNumRepetitionCEmodeB-r13 ENUMERATED {
+ r192, r256, r384, r512, r768, r1024,
+ r1536, r2048} OPTIONAL -- Need OR
+}
+
+PDSCH-ConfigDedicated::= SEQUENCE {
+ p-a ENUMERATED {
+ dB-6, dB-4dot77, dB-3, dB-1dot77,
+ dB0, dB1, dB2, dB3}
+}
+
+PDSCH-ConfigDedicated-v1130 ::= SEQUENCE {
+ dmrs-ConfigPDSCH-r11 DMRS-Config-r11 OPTIONAL, -- Need ON
+ qcl-Operation ENUMERATED {typeA, typeB} OPTIONAL, -- Need OR
+ re-MappingQCLConfigToReleaseList-r11 RE-MappingQCLConfigToReleaseList-r11 OPTIONAL, -- Need ON
+ re-MappingQCLConfigToAddModList-r11 RE-MappingQCLConfigToAddModList-r11 OPTIONAL -- Need ON
+}
+
+PDSCH-ConfigDedicated-v1280 ::= SEQUENCE {
+ tbsIndexAlt-r12 ENUMERATED {a26, a33} OPTIONAL -- Need OR
+}
+
+PDSCH-ConfigDedicated-v1310 ::= SEQUENCE {
+ dmrs-ConfigPDSCH-v1310 DMRS-Config-v1310 OPTIONAL -- Need ON
+}
+
+PDSCH-ConfigDedicated-v1430 ::= SEQUENCE {
+ ce-PDSCH-MaxBandwidth-r14 ENUMERATED {bw5, bw20} OPTIONAL, -- Need OP
+ ce-PDSCH-TenProcesses-r14 ENUMERATED {on} OPTIONAL, -- Need OR
+ ce-HARQ-AckBundling-r14 ENUMERATED {on} OPTIONAL, -- Need OR
+ ce-SchedulingEnhancement-r14 ENUMERATED {range1, range2} OPTIONAL, -- Need OR
+ tbsIndexAlt2-r14 ENUMERATED {b33} OPTIONAL -- Need OR
+}
+
+PDSCH-ConfigDedicated-v1530 ::= SEQUENCE {
+ qcl-Operation-v1530 ENUMERATED {typeC} OPTIONAL, -- Need OR
+ tbs-IndexAlt3-r15 ENUMERATED {a37} OPTIONAL, -- Need OR
+ ce-CQI-AlternativeTableConfig-r15 ENUMERATED {on} OPTIONAL, -- Need OR
+ ce-PDSCH-64QAM-Config-r15 ENUMERATED {on} OPTIONAL, -- Need OR
+ ce-PDSCH-FlexibleStartPRB-AllocConfig-r15 ENUMERATED {on} OPTIONAL, -- Need OR
+ altMCS-TableScalingConfig-r15 ENUMERATED {oDot5, oDot625, oDot75, oDot875} OPTIONAL -- Need OR
+}
+
+PDSCH-ConfigDedicated-v1610 ::= SEQUENCE {
+ ce-PDSCH-MultiTB-Config-r16 CHOICE {release NULL, setup CE-PDSCH-MultiTB-Config-r16}
+}
+
+PDSCH-ConfigDedicated-v1700 ::= SEQUENCE {
+ ce-PDSCH-14HARQ-Config-r17 CHOICE {release NULL, setup CE-PDSCH-14HARQ-Config-r17} OPTIONAL, -- Need ON
+ ce-PDSCH-maxTBS-r17 ENUMERATED {enabled} OPTIONAL -- Need OR
+}
+
+PDSCH-ConfigDedicatedSCell-v1430 ::= SEQUENCE {
+ tbsIndexAlt2-r14 ENUMERATED {b33} OPTIONAL -- Need OR
+}
+
+CE-PDSCH-MultiTB-Config-r16 ::= SEQUENCE {
+ interleaving-r16 ENUMERATED {on} OPTIONAL, -- Need OR
+ harq-AckBundling-r16 ENUMERATED {on} OPTIONAL -- Need OR
+}
+
+CE-PDSCH-14HARQ-Config-r17 ::= SEQUENCE {
+ ce-HARQ-AckDelay-r17 ENUMERATED {alt-1, alt-2e}
+}
+
+RE-MappingQCLConfigToAddModList-r11 ::= SEQUENCE (SIZE (1..maxRE-MapQCL-r11)) OF PDSCH-RE-MappingQCL-Config-r11
+
+RE-MappingQCLConfigToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxRE-MapQCL-r11)) OF PDSCH-RE-MappingQCL-ConfigId-r11
+
+PDSCH-RE-MappingQCL-Config-r11 ::= SEQUENCE {
+ pdsch-RE-MappingQCL-ConfigId-r11 PDSCH-RE-MappingQCL-ConfigId-r11,
+ optionalSetOfFields-r11 SEQUENCE {
+ crs-PortsCount-r11 ENUMERATED {n1, n2, n4, spare1},
+ crs-FreqShift-r11 INTEGER (0..5),
+ mbsfn-SubframeConfigList-r11 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ subframeConfigList MBSFN-SubframeConfigList
+ }
+ } OPTIONAL, -- Need ON
+ pdsch-Start-r11 ENUMERATED {reserved, n1, n2, n3, n4, assigned}
+ } OPTIONAL, -- Need OP
+ csi-RS-ConfigZPId-r11 CSI-RS-ConfigZPId-r11,
+ qcl-CSI-RS-ConfigNZPId-r11 CSI-RS-ConfigNZPId-r11 OPTIONAL, -- Need OR
+ ...,
+ [[ mbsfn-SubframeConfigList-v1430 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ subframeConfigList-v1430 MBSFN-SubframeConfigList-v1430
+ }
+ } OPTIONAL -- Need OP
+ ]],
+ [[ codewordOneConfig-v1530 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ crs-PortsCount-v1530 ENUMERATED {n1, n2, n4, spare1},
+ crs-FreqShift-v1530 INTEGER (0..5),
+ mbsfn-SubframeConfigList-v1530 MBSFN-SubframeConfigList OPTIONAL,
+ mbsfn-SubframeConfigListExt-v1530 MBSFN-SubframeConfigList-v1430 OPTIONAL,
+ pdsch-Start-v1530 ENUMERATED {reserved, n1, n2, n3, n4, assigned},
+ csi-RS-ConfigZPId-v1530 CSI-RS-ConfigZPId-r11,
+ qcl-CSI-RS-ConfigNZPId-v1530 CSI-RS-ConfigNZPId-r11 OPTIONAL
+ }
+ } OPTIONAL -- Cond TypeC
+ ]]
+}
+
+
+PDSCH-RE-MappingQCL-ConfigId-r11 ::= INTEGER (1..maxRE-MapQCL-r11)
+
+PerCC-GapIndicationList-r14 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF PerCC-GapIndication-r14
+
+PerCC-GapIndication-r14 ::= SEQUENCE {
+ servCellId-r14 ServCellIndex-r13,
+ gapIndication-r14 ENUMERATED {gap, ncsg, nogap-noNcsg}
+}
+
+
+PHICH-Config ::= SEQUENCE {
+ phich-Duration ENUMERATED {normal, extended},
+ phich-Resource ENUMERATED {oneSixth, half, one, two}
+}
+
+
+PhysicalConfigDedicated ::= SEQUENCE {
+ pdsch-ConfigDedicated PDSCH-ConfigDedicated OPTIONAL, -- Need ON
+ pucch-ConfigDedicated PUCCH-ConfigDedicated OPTIONAL, -- Need ON
+ pusch-ConfigDedicated PUSCH-ConfigDedicated OPTIONAL, -- Need ON
+ uplinkPowerControlDedicated UplinkPowerControlDedicated OPTIONAL, -- Need ON
+ tpc-PDCCH-ConfigPUCCH TPC-PDCCH-Config OPTIONAL, -- Need ON
+ tpc-PDCCH-ConfigPUSCH TPC-PDCCH-Config OPTIONAL, -- Need ON
+ cqi-ReportConfig CQI-ReportConfig OPTIONAL, -- Cond CQI-r8
+ soundingRS-UL-ConfigDedicated SoundingRS-UL-ConfigDedicated OPTIONAL, -- Need ON
+ antennaInfo CHOICE {
+ explicitValue AntennaInfoDedicated,
+ defaultValue NULL
+ } OPTIONAL, -- Cond AI-r8
+ schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need ON
+ ...,
+ [[ cqi-ReportConfig-v920 CQI-ReportConfig-v920 OPTIONAL, -- Cond CQI-r8
+ antennaInfo-v920 AntennaInfoDedicated-v920 OPTIONAL -- Cond AI-r8
+ ]],
+ [[ antennaInfo-r10 CHOICE {
+ explicitValue-r10 AntennaInfoDedicated-r10,
+ defaultValue NULL
+ } OPTIONAL, -- Cond AI-r10
+ antennaInfoUL-r10 AntennaInfoUL-r10 OPTIONAL, -- Need ON
+ cif-Presence-r10 BOOLEAN OPTIONAL, -- Need ON
+ cqi-ReportConfig-r10 CQI-ReportConfig-r10 OPTIONAL, -- Cond CQI-r10
+ csi-RS-Config-r10 CSI-RS-Config-r10 OPTIONAL, -- Need ON
+ pucch-ConfigDedicated-v1020 PUCCH-ConfigDedicated-v1020 OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-v1020 PUSCH-ConfigDedicated-v1020 OPTIONAL, -- Need ON
+ schedulingRequestConfig-v1020 SchedulingRequestConfig-v1020 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicated-v1020
+ SoundingRS-UL-ConfigDedicated-v1020 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicatedAperiodic-r10
+ SoundingRS-UL-ConfigDedicatedAperiodic-r10 OPTIONAL, -- Need ON
+ uplinkPowerControlDedicated-v1020
+ UplinkPowerControlDedicated-v1020 OPTIONAL -- Need ON
+ ]],
+ [[ additionalSpectrumEmissionCA-r10 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ additionalSpectrumEmissionPCell-r10 AdditionalSpectrumEmission
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ -- DL configuration as well as configuration applicable for DL and UL
+ csi-RS-ConfigNZPToReleaseList-r11
+ CSI-RS-ConfigNZPToReleaseList-r11 OPTIONAL, -- Need ON
+ csi-RS-ConfigNZPToAddModList-r11
+ CSI-RS-ConfigNZPToAddModList-r11 OPTIONAL, -- Need ON
+ csi-RS-ConfigZPToReleaseList-r11
+ CSI-RS-ConfigZPToReleaseList-r11 OPTIONAL, -- Need ON
+ csi-RS-ConfigZPToAddModList-r11 CSI-RS-ConfigZPToAddModList-r11 OPTIONAL, -- Need ON
+ epdcch-Config-r11 EPDCCH-Config-r11 OPTIONAL, -- Need ON
+ pdsch-ConfigDedicated-v1130 PDSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON
+ -- UL configuration
+ cqi-ReportConfig-v1130 CQI-ReportConfig-v1130 OPTIONAL, -- Need ON
+ pucch-ConfigDedicated-v1130 PUCCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-v1130 PUSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON
+ uplinkPowerControlDedicated-v1130
+ UplinkPowerControlDedicated-v1130 OPTIONAL -- Need ON
+ ]],
+ [[ antennaInfo-v1250 AntennaInfoDedicated-v1250 OPTIONAL, -- Cond AI-r10
+ eimta-MainConfig-r12 EIMTA-MainConfig-r12 OPTIONAL, -- Need ON
+ eimta-MainConfigPCell-r12 EIMTA-MainConfigServCell-r12 OPTIONAL, -- Need ON
+ pucch-ConfigDedicated-v1250 PUCCH-ConfigDedicated-v1250 OPTIONAL, -- Need ON
+ cqi-ReportConfigPCell-v1250 CQI-ReportConfig-v1250 OPTIONAL, -- Need ON
+ uplinkPowerControlDedicated-v1250
+ UplinkPowerControlDedicated-v1250 OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-v1250 PUSCH-ConfigDedicated-v1250 OPTIONAL, -- Need ON
+ csi-RS-Config-v1250 CSI-RS-Config-v1250 OPTIONAL -- Need ON
+ ]],
+ [[ pdsch-ConfigDedicated-v1280 PDSCH-ConfigDedicated-v1280 OPTIONAL -- Need ON
+ ]],
+ [[ pdsch-ConfigDedicated-v1310 PDSCH-ConfigDedicated-v1310 OPTIONAL, -- Need ON
+ pucch-ConfigDedicated-r13 PUCCH-ConfigDedicated-r13 OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-r13 PUSCH-ConfigDedicated-r13 OPTIONAL, -- Need ON
+ pdcch-CandidateReductions-r13
+ PDCCH-CandidateReductions-r13 OPTIONAL, -- Need ON
+ cqi-ReportConfig-v1310 CQI-ReportConfig-v1310 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicated-v1310
+ SoundingRS-UL-ConfigDedicated-v1310 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicatedUpPTsExt-r13
+ SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicatedAperiodic-v1310
+ SoundingRS-UL-ConfigDedicatedAperiodic-v1310 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13
+ SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 OPTIONAL, -- Need ON
+ csi-RS-Config-v1310 CSI-RS-Config-v1310 OPTIONAL, -- Need ON
+ ce-Mode-r13 CHOICE {
+ release NULL,
+ setup ENUMERATED {ce-ModeA,ce-ModeB}
+ } OPTIONAL, -- Need ON
+ csi-RS-ConfigNZPToAddModListExt-r13 CSI-RS-ConfigNZPToAddModListExt-r13 OPTIONAL, -- Need ON
+ csi-RS-ConfigNZPToReleaseListExt-r13 CSI-RS-ConfigNZPToReleaseListExt-r13 OPTIONAL -- Need ON
+ ]],
+ [[ cqi-ReportConfig-v1320 CQI-ReportConfig-v1320 OPTIONAL -- Need ON
+ ]],
+ [[ typeA-SRS-TPC-PDCCH-Group-r14 CHOICE {
+ release NULL,
+ setup SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config-r14
+ } OPTIONAL, -- Need ON
+ must-Config-r14 CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ k-max-r14 ENUMERATED {l1, l3},
+ p-a-must-r14 ENUMERATED {
+ dB-6, dB-4dot77, dB-3, dB-1dot77,
+ dB0, dB1, dB2, dB3} OPTIONAL -- Need ON
+ }
+ } OPTIONAL, -- Need ON
+ pusch-EnhancementsConfig-r14 PUSCH-EnhancementsConfig-r14 OPTIONAL, -- Need ON
+ ce-pdsch-pusch-EnhancementConfig-r14 ENUMERATED {on} OPTIONAL, -- Need OR
+ antennaInfo-v1430 AntennaInfoDedicated-v1430 OPTIONAL, -- Need ON
+ pucch-ConfigDedicated-v1430 PUCCH-ConfigDedicated-v1430 OPTIONAL, -- Need ON
+ pdsch-ConfigDedicated-v1430 PDSCH-ConfigDedicated-v1430 OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-v1430 PUSCH-ConfigDedicated-v1430 OPTIONAL, -- Need ON
+ soundingRS-UL-PeriodicConfigDedicatedList-r14 SEQUENCE (SIZE (1..2)) OF SoundingRS-UL-ConfigDedicated OPTIONAL, -- Cond PeriodicSRSPCell
+ soundingRS-UL-PeriodicConfigDedicatedUpPTsExtList-r14 SEQUENCE (SIZE (1..4)) OF SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Cond PeriodicSRSExt
+ soundingRS-UL-AperiodicConfigDedicatedList-r14 SEQUENCE (SIZE (1..2)) OF SoundingRS-UL-ConfigDedicatedAperiodic-r10 OPTIONAL, -- Cond AperiodicSRS
+ soundingRS-UL-ConfigDedicatedApUpPTsExtList-r14 SEQUENCE (SIZE (1..4)) OF SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 OPTIONAL, -- Cond AperiodicSRSExt
+ csi-RS-Config-v1430 CSI-RS-Config-v1430 OPTIONAL, -- Need ON
+ csi-RS-ConfigZP-ApList-r14 CSI-RS-ConfigZP-ApList-r14 OPTIONAL, -- Need ON
+ cqi-ReportConfig-v1430 CQI-ReportConfig-v1430 OPTIONAL, -- Need ON
+ semiOpenLoop-r14 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ csi-RS-Config-v1480 CSI-RS-Config-v1480 OPTIONAL -- Need ON
+ ]],
+ [[ physicalConfigDedicatedSTTI-r15 PhysicalConfigDedicatedSTTI-r15 OPTIONAL,-- Need ON
+ pdsch-ConfigDedicated-v1530 PDSCH-ConfigDedicated-v1530 OPTIONAL,-- Need ON
+ pusch-ConfigDedicated-v1530 PUSCH-ConfigDedicated-v1530 OPTIONAL,-- Need ON
+ cqi-ReportConfig-v1530 CQI-ReportConfig-v1530 OPTIONAL,-- Need ON
+ antennaInfo-v1530 AntennaInfoDedicated-v1530 OPTIONAL,-- Need ON
+ csi-RS-Config-v1530 CSI-RS-Config-v1530 OPTIONAL,-- Need ON
+ uplinkPowerControlDedicated-v1530
+ UplinkPowerControlDedicated-v1530 OPTIONAL, -- Need ON
+ semiStaticCFI-Config-r15 CHOICE{
+ release NULL,
+ setup CHOICE{
+ cfi-Config-r15 CFI-Config-r15,
+ cfi-PatternConfig-r15 CFI-PatternConfig-r15
+ }
+ } OPTIONAL, -- Need ON
+ blindPDSCH-Repetition-Config-r15 CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ blindSubframePDSCH-Repetitions-r15 BOOLEAN,
+ blindSlotSubslotPDSCH-Repetitions-r15 BOOLEAN,
+ maxNumber-SubframePDSCH-Repetitions-r15 ENUMERATED {n4,n6} OPTIONAL, -- Need ON
+ maxNumber-SlotSubslotPDSCH-Repetitions-r15 ENUMERATED {n4,n6} OPTIONAL, -- Need ON
+ rv-SubframePDSCH-Repetitions-r15 ENUMERATED {dlrvseq1, dlrvseq2} OPTIONAL, -- Need ON
+ rv-SlotsublotPDSCH-Repetitions-r15 ENUMERATED {dlrvseq1, dlrvseq2} OPTIONAL, -- Need ON
+ numberOfProcesses-SubframePDSCH-Repetitions-r15 INTEGER(1..16) OPTIONAL, -- Need ON
+ numberOfProcesses-SlotSubslotPDSCH-Repetitions-r15 INTEGER(1..16) OPTIONAL, -- Need ON
+ mcs-restrictionSubframePDSCH-Repetitions-r15 ENUMERATED {n0, n1} OPTIONAL, -- Need ON
+ mcs-restrictionSlotSubslotPDSCH-Repetitions-r15 ENUMERATED {n0, n1} OPTIONAL -- Need ON
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ spucch-Config-v1550 SPUCCH-Config-v1550 OPTIONAL -- Need ON
+ ]],
+ [[ pdsch-ConfigDedicated-v1610 PDSCH-ConfigDedicated-v1610 OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-v1610 PUSCH-ConfigDedicated-v1610 OPTIONAL, -- Need ON
+ ce-CSI-RS-Feedback-r16 ENUMERATED {enabled} OPTIONAL, -- Need OR
+ resourceReservationConfigDedicatedDL-r16 CHOICE {release NULL, setup ResourceReservationConfigDedicatedDL-r16} OPTIONAL, -- Need ON
+ resourceReservationConfigDedicatedUL-r16 CHOICE {release NULL, setup ResourceReservationConfigDedicatedUL-r16} OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicatedAdd-r16 CHOICE {release NULL, setup SoundingRS-UL-ConfigDedicatedAdd-r16}
+ OPTIONAL, -- Need ON
+ uplinkPowerControlAddSRS-r16 CHOICE {release NULL, setup UplinkPowerControlAddSRS-r16} OPTIONAL, -- Need ON
+ soundingRS-VirtualCellID-r16 CHOICE {release NULL, setup SoundingRS-VirtualCellID-r16} OPTIONAL, -- Need ON
+ widebandPRG-r16 CHOICE {release NULL, setup WidebandPRG-r16} OPTIONAL -- Need ON
+ ]],
+ [[ pdsch-ConfigDedicated-v1700 PDSCH-ConfigDedicated-v1700 OPTIONAL, -- Need ON
+ ntn-ConfigDedicated-r17 SEQUENCE {
+ pucch-TxDuration-r17 CHOICE {release NULL, setup PUCCH-TxDuration-r17} OPTIONAL, -- Need ON
+ pusch-TxDuration-r17 CHOICE {release NULL, setup PUSCH-TxDuration-r17} OPTIONAL -- Need ON
+ } OPTIONAL --Cond NTN
+ ]],
+ [[
+ uplinkSegmentedPrecompensationGap-r17 ENUMERATED {sym1,sl1,sf1} OPTIONAL -- Need OR
+ ]]
+}
+
+PhysicalConfigDedicated-v1370 ::= SEQUENCE {
+ pucch-ConfigDedicated-v1370 PUCCH-ConfigDedicated-v1370 OPTIONAL -- Cond PUCCH-Format4or5
+}
+
+PhysicalConfigDedicated-v13c0 ::= SEQUENCE {
+ pucch-ConfigDedicated-v13c0 PUCCH-ConfigDedicated-v13c0
+}
+
+PhysicalConfigDedicatedSCell-r10 ::= SEQUENCE {
+ -- DL configuration as well as configuration applicable for DL and UL
+ nonUL-Configuration-r10 SEQUENCE {
+ antennaInfo-r10
+ AntennaInfoDedicated-r10 OPTIONAL, -- Need ON
+ crossCarrierSchedulingConfig-r10
+ CrossCarrierSchedulingConfig-r10 OPTIONAL, -- Need ON
+ csi-RS-Config-r10 CSI-RS-Config-r10 OPTIONAL, -- Need ON
+ pdsch-ConfigDedicated-r10 PDSCH-ConfigDedicated OPTIONAL -- Need ON
+ } OPTIONAL, -- Cond SCellAdd
+ -- UL configuration
+ ul-Configuration-r10 SEQUENCE {
+ antennaInfoUL-r10 AntennaInfoUL-r10 OPTIONAL, -- Need ON
+ pusch-ConfigDedicatedSCell-r10
+ PUSCH-ConfigDedicatedSCell-r10 OPTIONAL, -- Cond PUSCH-SCell1
+ uplinkPowerControlDedicatedSCell-r10
+ UplinkPowerControlDedicatedSCell-r10 OPTIONAL, -- Need ON
+ cqi-ReportConfigSCell-r10 CQI-ReportConfigSCell-r10 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicated-r10
+ SoundingRS-UL-ConfigDedicated OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicated-v1020
+ SoundingRS-UL-ConfigDedicated-v1020 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicatedAperiodic-r10
+ SoundingRS-UL-ConfigDedicatedAperiodic-r10 OPTIONAL -- Need ON
+ } OPTIONAL, -- Cond CommonUL
+ ...,
+ [[ -- DL configuration as well as configuration applicable for DL and UL
+ csi-RS-ConfigNZPToReleaseList-r11
+ CSI-RS-ConfigNZPToReleaseList-r11 OPTIONAL, -- Need ON
+ csi-RS-ConfigNZPToAddModList-r11
+ CSI-RS-ConfigNZPToAddModList-r11 OPTIONAL, -- Need ON
+ csi-RS-ConfigZPToReleaseList-r11
+ CSI-RS-ConfigZPToReleaseList-r11 OPTIONAL, -- Need ON
+ csi-RS-ConfigZPToAddModList-r11
+ CSI-RS-ConfigZPToAddModList-r11 OPTIONAL, -- Need ON
+ epdcch-Config-r11 EPDCCH-Config-r11 OPTIONAL, -- Need ON
+ pdsch-ConfigDedicated-v1130 PDSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON
+ -- UL configuration
+ cqi-ReportConfig-v1130 CQI-ReportConfig-v1130 OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-v1130
+ PUSCH-ConfigDedicated-v1130 OPTIONAL, -- Cond PUSCH-SCell1
+ uplinkPowerControlDedicatedSCell-v1130
+ UplinkPowerControlDedicated-v1130 OPTIONAL -- Need ON
+ ]],
+ [[ antennaInfo-v1250 AntennaInfoDedicated-v1250 OPTIONAL, -- Need ON
+ eimta-MainConfigSCell-r12
+ EIMTA-MainConfigServCell-r12 OPTIONAL, -- Need ON
+ cqi-ReportConfigSCell-v1250 CQI-ReportConfig-v1250 OPTIONAL, -- Need ON
+ uplinkPowerControlDedicatedSCell-v1250
+ UplinkPowerControlDedicated-v1250 OPTIONAL, -- Need ON
+ csi-RS-Config-v1250 CSI-RS-Config-v1250 OPTIONAL -- Need ON
+ ]],
+ [[ pdsch-ConfigDedicated-v1280 PDSCH-ConfigDedicated-v1280 OPTIONAL -- Need ON
+ ]],
+ [[ pucch-Cell-r13 ENUMERATED {true} OPTIONAL, -- Cond PUCCH-SCell1
+ pucch-SCell CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ pucch-ConfigDedicated-r13
+ PUCCH-ConfigDedicated-r13 OPTIONAL, -- Need ON
+ schedulingRequestConfig-r13
+ SchedulingRequestConfigSCell-r13 OPTIONAL, -- Need ON
+ tpc-PDCCH-ConfigPUCCH-SCell-r13
+ TPC-PDCCH-ConfigSCell-r13 OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-r13
+ PUSCH-ConfigDedicated-r13 OPTIONAL, -- Cond PUSCH-SCell
+ uplinkPowerControlDedicated-r13
+ UplinkPowerControlDedicatedSCell-v1310 OPTIONAL -- Need ON
+ }
+ } OPTIONAL, -- Need ON
+ crossCarrierSchedulingConfig-r13
+ CrossCarrierSchedulingConfig-r13 OPTIONAL, -- Cond Cross-Carrier-Config
+ pdcch-ConfigSCell-r13 PDCCH-ConfigSCell-r13 OPTIONAL, -- Need ON
+ cqi-ReportConfig-v1310 CQI-ReportConfig-v1310 OPTIONAL, -- Need ON
+ pdsch-ConfigDedicated-v1310 PDSCH-ConfigDedicated-v1310 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicated-v1310
+ SoundingRS-UL-ConfigDedicated-v1310 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicatedUpPTsExt-r13
+ SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicatedAperiodic-v1310
+ SoundingRS-UL-ConfigDedicatedAperiodic-v1310 OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13
+ SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 OPTIONAL, -- Need ON
+ csi-RS-Config-v1310 CSI-RS-Config-v1310 OPTIONAL, -- Need ON
+ laa-SCellConfiguration-r13 LAA-SCellConfiguration-r13 OPTIONAL, -- Need ON
+ csi-RS-ConfigNZPToAddModListExt-r13 CSI-RS-ConfigNZPToAddModListExt-r13 OPTIONAL, -- Need ON
+ csi-RS-ConfigNZPToReleaseListExt-r13 CSI-RS-ConfigNZPToReleaseListExt-r13 OPTIONAL -- Need ON
+ ]],
+ [[ cqi-ReportConfig-v1320 CQI-ReportConfig-v1320 OPTIONAL -- Need ON
+ ]],
+ [[ laa-SCellConfiguration-v1430 LAA-SCellConfiguration-v1430
+ OPTIONAL, -- Need ON
+ typeB-SRS-TPC-PDCCH-Config-r14 SRS-TPC-PDCCH-Config-r14 OPTIONAL, -- Need ON
+
+ uplinkPUSCH-LessPowerControlDedicated-v1430 UplinkPUSCH-LessPowerControlDedicated-v1430 OPTIONAL, -- Need ON
+ soundingRS-UL-PeriodicConfigDedicatedList-r14 SEQUENCE (SIZE (1..2)) OF SoundingRS-UL-ConfigDedicated OPTIONAL, -- Cond PeriodicSRS
+ soundingRS-UL-PeriodicConfigDedicatedUpPTsExtList-r14 SEQUENCE (SIZE (1..4)) OF SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Cond PeriodicSRSExt
+ soundingRS-UL-AperiodicConfigDedicatedList-r14 SEQUENCE (SIZE (1..2)) OF SoundingRS-AperiodicSet-r14 OPTIONAL, -- Cond AperiodicSRS
+ soundingRS-UL-ConfigDedicatedApUpPTsExtList-r14 SEQUENCE (SIZE (1..4)) OF SoundingRS-AperiodicSetUpPTsExt-r14 OPTIONAL, -- Cond AperiodicSRSExt
+ must-Config-r14 CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ k-max-r14 ENUMERATED {l1, l3},
+ p-a-must-r14 ENUMERATED {
+ dB-6, dB-4dot77, dB-3, dB-1dot77,
+ dB0, dB1, dB2, dB3} OPTIONAL -- Need ON
+ }
+ } OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-v1430 PUSCH-ConfigDedicatedSCell-v1430 OPTIONAL, -- Need ON
+ csi-RS-Config-v1430 CSI-RS-Config-v1430 OPTIONAL, -- Need ON
+ csi-RS-ConfigZP-ApList-r14 CSI-RS-ConfigZP-ApList-r14 OPTIONAL, -- Need ON
+ cqi-ReportConfig-v1430 CQI-ReportConfig-v1430 OPTIONAL, -- Need ON
+ semiOpenLoop-r14 BOOLEAN OPTIONAL, -- Need ON
+ pdsch-ConfigDedicatedSCell-v1430 PDSCH-ConfigDedicatedSCell-v1430 OPTIONAL -- Need ON
+ ]],
+ [[ csi-RS-Config-v1480 CSI-RS-Config-v1480 OPTIONAL -- Need ON
+ ]],
+ [[ physicalConfigDedicatedSTTI-r15 PhysicalConfigDedicatedSTTI-r15 OPTIONAL, -- Need ON
+ pdsch-ConfigDedicated-v1530 PDSCH-ConfigDedicated-v1530 OPTIONAL, -- Need ON
+ dummy CQI-ReportConfig-v1530 OPTIONAL, -- Need ON
+ cqi-ReportConfigSCell-r15 CQI-ReportConfigSCell-r15 OPTIONAL, -- Need ON
+ cqi-ShortConfigSCell-r15 CQI-ShortConfigSCell-r15 OPTIONAL, -- Need ON
+ csi-RS-Config-v1530 CSI-RS-Config-v1530 OPTIONAL, -- Need ON
+ uplinkPowerControlDedicatedSCell-v1530
+ UplinkPowerControlDedicated-v1530 OPTIONAL, -- Need ON
+ laa-SCellConfiguration-v1530 LAA-SCellConfiguration-v1530 OPTIONAL, -- Need ON
+ pusch-ConfigDedicated-v1530 PUSCH-ConfigDedicatedScell-v1530 OPTIONAL, -- Cond AUL
+ semiStaticCFI-Config-r15 CHOICE{
+ release NULL,
+ setup CHOICE{
+ cfi-Config-r15 CFI-Config-r15,
+ cfi-PatternConfig-r15 CFI-PatternConfig-r15
+ }
+ } OPTIONAL, -- Need ON
+ blindPDSCH-Repetition-Config-r15 CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ blindSubframePDSCH-Repetitions-r15 BOOLEAN,
+ blindSlotSubslotPDSCH-Repetitions-r15 BOOLEAN,
+ maxNumber-SubframePDSCH-Repetitions-r15 ENUMERATED {n4,n6} OPTIONAL, -- Need ON
+ maxNumber-SlotSubslotPDSCH-Repetitions-r15 ENUMERATED {n4,n6} OPTIONAL, -- Need ON
+ rv-SubframePDSCH-Repetitions-r15 ENUMERATED {dlrvseq1, dlrvseq2} OPTIONAL, -- Need ON
+ rv-SlotsublotPDSCH-Repetitions-r15 ENUMERATED {dlrvseq1, dlrvseq2} OPTIONAL, -- Need ON
+ numberOfProcesses-SubframePDSCH-Repetitions-r15 INTEGER(1..16) OPTIONAL, -- Need ON
+ numberOfProcesses-SlotSubslotPDSCH-Repetitions-r15 INTEGER(1..16) OPTIONAL, -- Need ON
+ mcs-restrictionSubframePDSCH-Repetitions-r15 ENUMERATED {n0, n1} OPTIONAL, -- Need ON
+ mcs-restrictionSlotSubslotPDSCH-Repetitions-r15 ENUMERATED {n0, n1} OPTIONAL -- Need ON
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ spucch-Config-v1550 SPUCCH-Config-v1550 OPTIONAL -- Need ON
+ ]],
+ [[ soundingRS-UL-ConfigDedicatedAdd-r16 CHOICE {release NULL, setup SoundingRS-UL-ConfigDedicatedAdd-r16}
+ OPTIONAL, -- Need ON
+ uplinkPowerControlAddSRS-r16 CHOICE {release NULL, setup UplinkPowerControlAddSRS-r16}
+ OPTIONAL, -- Need ON
+ soundingRS-VirtualCellID-r16 CHOICE {release NULL, setup SoundingRS-VirtualCellID-r16}
+ OPTIONAL, -- Need ON
+ widebandPRG-r16 CHOICE {release NULL, setup WidebandPRG-r16} OPTIONAL -- Need ON
+ ]]
+}
+
+PhysicalConfigDedicatedSCell-v1370 ::= SEQUENCE {
+ pucch-SCell-v1370 CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ pucch-ConfigDedicated-v1370 PUCCH-ConfigDedicated-v1370 OPTIONAL -- Cond PUCCH-Format4or5
+ }
+ }
+}
+
+PhysicalConfigDedicatedSCell-v13c0 ::= SEQUENCE {
+ pucch-SCell-v13c0 CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ pucch-ConfigDedicated-v13c0 PUCCH-ConfigDedicated-v13c0
+ }
+ }
+}
+
+PhysicalConfigDedicatedSCell-v1730 ::= SEQUENCE {
+ cqi-ReportPeriodicSCell-v1730 CHOICE {release NULL, setup CQI-ReportPeriodicSCell-v1730}
+}
+
+CFI-Config-r15 ::= SEQUENCE {
+ cfi-SubframeNonMBSFN-r15 INTEGER (1..4) OPTIONAL, -- Need ON
+ cfi-SlotSubslotNonMBSFN-r15 INTEGER (1..3) OPTIONAL, -- Need ON
+ cfi-SubframeMBSFN-r15 INTEGER (1..2) OPTIONAL, -- Need ON
+ cfi-SlotSubslotMBSFN-r15 INTEGER (1..2) OPTIONAL -- Need ON
+}
+
+CFI-PatternConfig-r15 ::= SEQUENCE {
+ cfi-PatternSubframe-r15 SEQUENCE (SIZE(10)) OF INTEGER (1..4) OPTIONAL, -- Need ON
+ cfi-PatternSlotSubslot-r15 SEQUENCE (SIZE(10)) OF INTEGER (1..3) OPTIONAL -- Need ON
+}
+
+LAA-SCellConfiguration-r13 ::= SEQUENCE {
+ subframeStartPosition-r13 ENUMERATED {s0, s07},
+ laa-SCellSubframeConfig-r13 BIT STRING (SIZE(8))
+}
+
+LAA-SCellConfiguration-v1430 ::= SEQUENCE {
+ crossCarrierSchedulingConfig-UL-r14 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ crossCarrierSchedulingConfigLAA-UL-r14 CrossCarrierSchedulingConfigLAA-UL-r14
+ }
+ } OPTIONAL, -- Cond Cross-Carrier-ConfigUL
+ lbt-Config-r14 LBT-Config-r14 OPTIONAL, -- Need ON
+ pdcch-ConfigLAA-r14 PDCCH-ConfigLAA-r14 OPTIONAL, -- Need ON
+ absenceOfAnyOtherTechnology-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ soundingRS-UL-ConfigDedicatedAperiodic-v1430
+ SoundingRS-UL-ConfigDedicatedAperiodic-v1430 OPTIONAL -- Need ON
+}
+
+LAA-SCellConfiguration-v1530 ::= SEQUENCE {
+ aul-Config-r15 AUL-Config-r15 OPTIONAL, -- Need ON
+ pusch-ModeConfigLAA-r15 PUSCH-ModeConfigLAA-r15 OPTIONAL -- Need OR
+}
+
+PUSCH-ModeConfigLAA-r15 ::= SEQUENCE {
+ laa-PUSCH-Mode1 BOOLEAN,
+ laa-PUSCH-Mode2 BOOLEAN,
+ laa-PUSCH-Mode3 BOOLEAN
+}
+
+LBT-Config-r14 ::= CHOICE{
+ maxEnergyDetectionThreshold-r14 INTEGER(-85..-52),
+ energyDetectionThresholdOffset-r14 INTEGER(-13..20)
+}
+
+
+CSI-RS-ConfigNZPToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r11)) OF CSI-RS-ConfigNZP-r11
+
+CSI-RS-ConfigNZPToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-v1310)) OF CSI-RS-ConfigNZP-r11
+
+CSI-RS-ConfigNZPToAddModList-r15 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r13)) OF CSI-RS-ConfigNZP-r11
+
+CSI-RS-ConfigNZPToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r11)) OF CSI-RS-ConfigNZPId-r11
+
+CSI-RS-ConfigNZPToReleaseListExt-r13 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-v1310)) OF CSI-RS-ConfigNZPId-v1310
+
+CSI-RS-ConfigNZPToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r13)) OF CSI-RS-ConfigNZPId-r13
+
+CSI-RS-ConfigZPToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-ZP-r11)) OF CSI-RS-ConfigZP-r11
+
+CSI-RS-ConfigZPToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-ZP-r11)) OF CSI-RS-ConfigZPId-r11
+
+PhysicalConfigDedicatedSTTI-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ antennaInfoDedicatedSTTI-r15 AntennaInfoDedicatedSTTI-r15 OPTIONAL, -- Need ON
+ antennaInfoUL-STTI-r15 AntennaInfoUL-STTI-r15 OPTIONAL, -- Need ON
+ pucch-ConfigDedicated-v1530 PUCCH-ConfigDedicated-v1530 OPTIONAL, -- Need ON
+ schedulingRequestConfig-v1530 SchedulingRequestConfig-v1530 OPTIONAL, -- Need ON
+ uplinkPowerControlDedicatedSTTI-r15 UplinkPowerControlDedicatedSTTI-r15 OPTIONAL, --Need ON
+ cqi-ReportConfig-r15 CQI-ReportConfig-r15 OPTIONAL, -- Need ON
+ csi-RS-Config-r15 CSI-RS-Config-r15 OPTIONAL, -- Need ON
+ csi-RS-ConfigNZPToReleaseList-r15 CSI-RS-ConfigNZPToReleaseList-r15 OPTIONAL, -- Need ON
+ csi-RS-ConfigNZPToAddModList-r15 CSI-RS-ConfigNZPToAddModList-r15 OPTIONAL, -- Need ON
+ csi-RS-ConfigZPToReleaseList-r15 CSI-RS-ConfigZPToReleaseList-r11 OPTIONAL, -- Need ON
+ csi-RS-ConfigZPToAddModList-r11 CSI-RS-ConfigZPToAddModList-r11 OPTIONAL, -- Need ON
+ csi-RS-ConfigZP-ApList-r15 CSI-RS-ConfigZP-ApList-r14 OPTIONAL, -- Need ON
+ eimta-MainConfig-r12 EIMTA-MainConfig-r12 OPTIONAL, -- Need ON
+ eimta-MainConfigServCell-r15 EIMTA-MainConfigServCell-r12 OPTIONAL, -- Need ON
+ semiOpenLoopSTTI-r15 BOOLEAN,
+ slotOrSubslotPDSCH-Config-r15 SlotOrSubslotPDSCH-Config-r15 OPTIONAL, -- Need ON
+ slotOrSubslotPUSCH-Config-r15 SlotOrSubslotPUSCH-Config-r15 OPTIONAL, -- Need ON
+ spdcch-Config-r15 SPDCCH-Config-r15 OPTIONAL, -- Need ON
+ spucch-Config-r15 SPUCCH-Config-r15 OPTIONAL, -- Need ON
+ srs-DCI7-TriggeringConfig-r15 BOOLEAN,
+ shortProcessingTime-r15 BOOLEAN,
+ shortTTI-r15 ShortTTI-r15 OPTIONAL -- Need ON
+ }
+}
+
+SoundingRS-AperiodicSet-r14 ::= SEQUENCE{
+ srs-CC-SetIndexList-r14
+ SEQUENCE (SIZE (1..4)) OF SRS-CC-SetIndex-r14
+ OPTIONAL, -- Cond SRS-Trigger-TypeA
+ soundingRS-UL-ConfigDedicatedAperiodic-r14
+ SoundingRS-UL-ConfigDedicatedAperiodic-r10
+}
+
+SoundingRS-AperiodicSetUpPTsExt-r14 ::= SEQUENCE{
+ srs-CC-SetIndexList-r14
+ SEQUENCE (SIZE (1..4)) OF SRS-CC-SetIndex-r14
+ OPTIONAL, -- Cond SRS-Trigger-TypeA
+ soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r14
+ SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13
+}
+
+ShortTTI-r15 ::= SEQUENCE {
+ dl-STTI-Length-r15 ShortTTI-Length-r15 OPTIONAL, -- Need OR
+ ul-STTI-Length-r15 ShortTTI-Length-r15 OPTIONAL -- Need OR
+}
+
+ShortTTI-Length-r15 ::= ENUMERATED {slot, subslot}
+
+SoundingRS-VirtualCellID-r16 ::= SEQUENCE {
+ srs-VirtualCellID-r16 INTEGER (0..503),
+ srs-VirtualCellID-AllSRS-r16 BOOLEAN
+}
+
+
+WidebandPRG-r16 ::= SEQUENCE {
+ widebandPRG-Subframe-r16 BOOLEAN,
+ widebandPRG-SlotSubslot-r16 BOOLEAN
+}
+
+ResourceReservationConfigDedicatedDL-r16 ::= SEQUENCE {
+ resourceReservationDedicatedDL-r16 ResourceReservationConfigDL-r16 OPTIONAL -- Need OP
+}
+
+ResourceReservationConfigDedicatedUL-r16 ::= SEQUENCE {
+ resourceReservationDedicatedUL-r16 ResourceReservationConfigUL-r16 OPTIONAL -- Need OP
+}
+
+
+P-Max ::= INTEGER (-30..33)
+
+
+PRACH-ConfigSIB ::= SEQUENCE {
+ rootSequenceIndex INTEGER (0..837),
+ prach-ConfigInfo PRACH-ConfigInfo
+}
+
+PRACH-ConfigSIB-v1310 ::= SEQUENCE {
+ rsrp-ThresholdsPrachInfoList-r13 RSRP-ThresholdsPrachInfoList-r13,
+ mpdcch-startSF-CSS-RA-r13 CHOICE {
+ fdd-r13 ENUMERATED {v1, v1dot5, v2, v2dot5, v4, v5, v8,
+ v10},
+ tdd-r13 ENUMERATED {v1, v2, v4, v5, v8, v10, v20, spare}
+ } OPTIONAL, -- Cond MP
+ prach-HoppingOffset-r13 INTEGER (0..94) OPTIONAL, -- Need OR
+ prach-ParametersListCE-r13 PRACH-ParametersListCE-r13
+}
+
+PRACH-ConfigSIB-v1530 ::= SEQUENCE {
+ edt-PRACH-ParametersListCE-r15 SEQUENCE (SIZE(1..maxCE-Level-r13)) OF EDT-PRACH-ParametersCE-r15
+}
+
+PRACH-Config ::= SEQUENCE {
+ rootSequenceIndex INTEGER (0..837),
+ prach-ConfigInfo PRACH-ConfigInfo OPTIONAL -- Need ON
+}
+
+PRACH-Config-v1310 ::= SEQUENCE {
+ rsrp-ThresholdsPrachInfoList-r13 RSRP-ThresholdsPrachInfoList-r13 OPTIONAL, -- Cond MP
+ mpdcch-startSF-CSS-RA-r13 CHOICE {
+ fdd-r13 ENUMERATED {v1, v1dot5, v2, v2dot5, v4, v5, v8,
+ v10},
+ tdd-r13 ENUMERATED {v1, v2, v4, v5, v8, v10, v20, spare}
+ } OPTIONAL, -- Cond MP
+ prach-HoppingOffset-r13 INTEGER (0..94) OPTIONAL, -- Need OR
+ prach-ParametersListCE-r13 PRACH-ParametersListCE-r13 OPTIONAL, -- Cond MP
+ initial-CE-level-r13 INTEGER (0..3) OPTIONAL -- Need OR
+}
+
+PRACH-Config-v1430 ::= SEQUENCE {
+ rootSequenceIndexHighSpeed-r14 INTEGER (0..837),
+ zeroCorrelationZoneConfigHighSpeed-r14 INTEGER (0..12),
+ prach-ConfigIndexHighSpeed-r14 INTEGER (0..63),
+ prach-FreqOffsetHighSpeed-r14 INTEGER (0..94)
+}
+
+PRACH-ConfigSCell-r10 ::= SEQUENCE {
+ prach-ConfigIndex-r10 INTEGER (0..63)
+}
+
+PRACH-ConfigInfo ::= SEQUENCE {
+ prach-ConfigIndex INTEGER (0..63),
+ highSpeedFlag BOOLEAN,
+ zeroCorrelationZoneConfig INTEGER (0..15),
+ prach-FreqOffset INTEGER (0..94)
+}
+
+PRACH-ParametersListCE-r13 ::= SEQUENCE (SIZE(1..maxCE-Level-r13)) OF PRACH-ParametersCE-r13
+
+PRACH-ParametersCE-r13 ::= SEQUENCE {
+ prach-ConfigIndex-r13 INTEGER (0..63),
+ prach-FreqOffset-r13 INTEGER (0..94),
+ prach-StartingSubframe-r13 ENUMERATED {sf2, sf4, sf8, sf16, sf32, sf64, sf128,
+ sf256} OPTIONAL, -- Need OP
+ maxNumPreambleAttemptCE-r13
+ ENUMERATED {n3, n4, n5, n6, n7, n8, n10} OPTIONAL, -- Need OP
+ numRepetitionPerPreambleAttempt-r13 ENUMERATED {n1,n2,n4,n8,n16,n32,n64,n128},
+ mpdcch-NarrowbandsToMonitor-r13 SEQUENCE (SIZE(1..2)) OF
+ INTEGER (1..maxAvailNarrowBands-r13),
+ mpdcch-NumRepetition-RA-r13 ENUMERATED {r1, r2, r4, r8, r16,
+ r32, r64, r128, r256},
+ prach-HoppingConfig-r13 ENUMERATED {on,off}
+}
+
+EDT-PRACH-ParametersCE-r15 ::= SEQUENCE {
+ edt-PRACH-ParametersCE-r15 SEQUENCE {
+ prach-ConfigIndex-r15 INTEGER (0..63),
+ prach-FreqOffset-r15 INTEGER (0..94),
+ prach-StartingSubframe-r15 ENUMERATED {sf2, sf4, sf8, sf16, sf32, sf64, sf128, sf256} OPTIONAL, -- Need OP
+ mpdcch-NarrowbandsToMonitor-r15 SEQUENCE (SIZE(1..2)) OF INTEGER (1..maxAvailNarrowBands-r13)
+ } OPTIONAL -- Need OR
+}
+
+RSRP-ThresholdsPrachInfoList-r13 ::= SEQUENCE (SIZE(1..3)) OF RSRP-Range
+
+PRACH-TxDuration-r17::= SEQUENCE {
+ prach-TxDuration-r17 ENUMERATED {n1, n2, n4, n8, n16, n32, n64, n128}
+}
+
+
+PresenceAntennaPort1 ::= BOOLEAN
+
+
+PUCCH-ConfigCommon ::= SEQUENCE {
+ deltaPUCCH-Shift ENUMERATED {ds1, ds2, ds3},
+ nRB-CQI INTEGER (0..98),
+ nCS-AN INTEGER (0..7),
+ n1PUCCH-AN INTEGER (0..2047)
+}
+
+PUCCH-ConfigCommon-v1310 ::= SEQUENCE {
+ n1PUCCH-AN-InfoList-r13 N1PUCCH-AN-InfoList-r13 OPTIONAL, -- Need OR
+ pucch-NumRepetitionCE-Msg4-Level0-r13 ENUMERATED {n1, n2, n4, n8} OPTIONAL, -- Need OR
+ pucch-NumRepetitionCE-Msg4-Level1-r13 ENUMERATED {n1, n2, n4, n8} OPTIONAL, -- Need OR
+ pucch-NumRepetitionCE-Msg4-Level2-r13 ENUMERATED {n4, n8, n16, n32} OPTIONAL, -- Need OR
+ pucch-NumRepetitionCE-Msg4-Level3-r13 ENUMERATED {n4, n8, n16, n32} OPTIONAL -- Need OR
+}
+
+PUCCH-ConfigCommon-v1430 ::= SEQUENCE {
+ pucch-NumRepetitionCE-Msg4-Level3-r14 ENUMERATED {n64, n128} OPTIONAL -- Need OR
+}
+
+PUCCH-ConfigDedicated ::= SEQUENCE {
+ ackNackRepetition CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ repetitionFactor ENUMERATED {n2, n4, n6, spare1},
+ n1PUCCH-AN-Rep INTEGER (0..2047)
+ }
+ },
+ tdd-AckNackFeedbackMode ENUMERATED {bundling, multiplexing} OPTIONAL -- Cond TDD
+}
+
+PUCCH-ConfigDedicated-v1020 ::= SEQUENCE {
+ pucch-Format-r10 CHOICE {
+ format3-r10 PUCCH-Format3-Conf-r13,
+ channelSelection-r10 SEQUENCE {
+ n1PUCCH-AN-CS-r10 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ n1PUCCH-AN-CS-List-r10 SEQUENCE (SIZE (1..2)) OF N1PUCCH-AN-CS-r10
+ }
+ } OPTIONAL -- Need ON
+ }
+ } OPTIONAL, -- Need OR
+ twoAntennaPortActivatedPUCCH-Format1a1b-r10 ENUMERATED {true} OPTIONAL, -- Need OR
+ simultaneousPUCCH-PUSCH-r10 ENUMERATED {true} OPTIONAL, -- Need OR
+ n1PUCCH-AN-RepP1-r10 INTEGER (0..2047) OPTIONAL -- Need OR
+}
+
+PUCCH-ConfigDedicated-v1130 ::= SEQUENCE {
+ n1PUCCH-AN-CS-v1130 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ n1PUCCH-AN-CS-ListP1-r11 SEQUENCE (SIZE (2..4)) OF INTEGER (0..2047)
+ }
+ } OPTIONAL, -- Need ON
+ nPUCCH-Param-r11 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ nPUCCH-Identity-r11 INTEGER (0..503),
+ n1PUCCH-AN-r11 INTEGER (0..2047)
+ }
+ } OPTIONAL -- Need ON
+}
+
+PUCCH-ConfigDedicated-v1250 ::= SEQUENCE {
+ nkaPUCCH-Param-r12 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ nkaPUCCH-AN-r12 INTEGER (0..2047)
+ }
+ }
+}
+
+PUCCH-ConfigDedicated-r13 ::= SEQUENCE {
+--Release 8
+ ackNackRepetition-r13 CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ repetitionFactor-r13 ENUMERATED {n2, n4, n6, spare1},
+ n1PUCCH-AN-Rep-r13 INTEGER (0..2047)
+ }
+ },
+ tdd-AckNackFeedbackMode-r13 ENUMERATED {bundling, multiplexing} OPTIONAL, -- Cond TDD
+--Release 10
+ pucch-Format-r13 CHOICE {
+ format3-r13 SEQUENCE {
+ n3PUCCH-AN-List-r13 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) OPTIONAL, -- Need ON
+ twoAntennaPortActivatedPUCCH-Format3-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ n3PUCCH-AN-ListP1-r13 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549)
+ }
+ } OPTIONAL -- Need ON
+ },
+ channelSelection-r13 SEQUENCE {
+ n1PUCCH-AN-CS-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ n1PUCCH-AN-CS-List-r13 SEQUENCE (SIZE (1..2)) OF N1PUCCH-AN-CS-r10,
+ dummy1 SEQUENCE (SIZE (2..4)) OF INTEGER (0..2047)
+ }
+ } OPTIONAL -- Need ON
+ },
+ format4-r13 SEQUENCE {
+ format4-resourceConfiguration-r13 SEQUENCE (SIZE (4)) OF Format4-resource-r13,
+ format4-MultiCSI-resourceConfiguration-r13 SEQUENCE (SIZE (1..2)) OF Format4-resource-r13 OPTIONAL -- Need OR
+ },
+ format5-r13 SEQUENCE {
+ format5-resourceConfiguration-r13 SEQUENCE (SIZE (4)) OF Format5-resource-r13,
+ format5-MultiCSI-resourceConfiguration-r13 Format5-resource-r13 OPTIONAL -- Need OR
+ }
+ } OPTIONAL, -- Need OR
+ twoAntennaPortActivatedPUCCH-Format1a1b-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ simultaneousPUCCH-PUSCH-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ n1PUCCH-AN-RepP1-r13 INTEGER (0..2047) OPTIONAL, -- Need OR
+--Release 11
+ nPUCCH-Param-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ nPUCCH-Identity-r13 INTEGER (0..503),
+ n1PUCCH-AN-r13 INTEGER (0..2047)
+ }
+ } OPTIONAL, -- Need ON
+--Release 12
+ nkaPUCCH-Param-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ nkaPUCCH-AN-r13 INTEGER (0..2047)
+ }
+ } OPTIONAL, -- Need ON
+--Release 13
+ spatialBundlingPUCCH-r13 BOOLEAN,
+ spatialBundlingPUSCH-r13 BOOLEAN,
+ harq-TimingTDD-r13 BOOLEAN,
+ codebooksizeDetermination-r13 ENUMERATED {dai,cc} OPTIONAL, -- Need OR
+ maximumPayloadCoderate-r13 INTEGER (0..7) OPTIONAL, -- Need OR
+ pucch-NumRepetitionCE-r13 CHOICE {
+ release NULL,
+ setup CHOICE {
+ modeA SEQUENCE {
+ pucch-NumRepetitionCE-format1-r13 ENUMERATED {r1, r2, r4, r8},
+ pucch-NumRepetitionCE-format2-r13 ENUMERATED {r1, r2, r4, r8}
+ },
+ modeB SEQUENCE {
+ pucch-NumRepetitionCE-format1-r13 ENUMERATED {r4, r8, r16, r32},
+ pucch-NumRepetitionCE-format2-r13 ENUMERATED {r4, r8, r16, r32}
+ }
+ }
+ } OPTIONAL --Need ON
+}
+
+PUCCH-ConfigDedicated-v1370 ::= SEQUENCE {
+ pucch-Format-v1370 CHOICE {
+ release NULL,
+ setup PUCCH-Format3-Conf-r13
+ }
+}
+
+PUCCH-ConfigDedicated-v13c0 ::= SEQUENCE {
+ channelSelection-v13c0 SEQUENCE {
+ n1PUCCH-AN-CS-v13c0 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ n1PUCCH-AN-CS-ListP1-v13c0 SEQUENCE (SIZE (2..4)) OF INTEGER (0..2047)
+ }
+ }
+ }
+}
+
+PUCCH-Format3-Conf-r13 ::= SEQUENCE {
+ n3PUCCH-AN-List-r13 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) OPTIONAL, -- Need ON
+ twoAntennaPortActivatedPUCCH-Format3-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ n3PUCCH-AN-ListP1-r13 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549)
+ }
+ } OPTIONAL -- Need ON
+}
+
+PUCCH-ConfigDedicated-v1430 ::= SEQUENCE {
+ pucch-NumRepetitionCE-format1-r14 ENUMERATED {r64,r128} OPTIONAL -- Need OR
+}
+
+PUCCH-ConfigDedicated-v1530 ::= SEQUENCE {
+ n1PUCCH-AN-SPT-r15 INTEGER (0..2047) OPTIONAL, -- Need OR
+ codebooksizeDeterminationSTTI-r15 ENUMERATED {dai,cc} OPTIONAL -- Need OR
+}
+
+Format4-resource-r13 ::= SEQUENCE {
+ startingPRB-format4-r13 INTEGER (0..109),
+ numberOfPRB-format4-r13 INTEGER (0..7)
+}
+
+Format5-resource-r13 ::= SEQUENCE {
+ startingPRB-format5-r13 INTEGER (0..109),
+ cdm-index-format5-r13 INTEGER (0..1)
+}
+
+N1PUCCH-AN-CS-r10 ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047)
+
+N1PUCCH-AN-InfoList-r13 ::= SEQUENCE (SIZE(1..maxCE-Level-r13)) OF INTEGER (0..2047)
+
+PUCCH-TxDuration-r17 ::= SEQUENCE {
+ pucch-TxDuration-r17 ENUMERATED {sf2, sf4, sf8, sf16, sf32, sf64, sf128}
+}
+
+
+PUR-Config-r16 ::= SEQUENCE {
+ pur-ConfigID-r16 PUR-ConfigID-r16 OPTIONAL, -- Need OR
+ pur-ImplicitReleaseAfter-r16 ENUMERATED {n2, n4, n8, spare} OPTIONAL, -- Need OR
+ pur-StartTimeParameters-r16 SEQUENCE {
+ periodicityAndOffset-r16 PUR-PeriodicityAndOffset-r16,
+ startSFN-r16 INTEGER (0..1023),
+ startSubFrame-r16 INTEGER (0..9),
+ hsfn-LSB-Info-r16 BIT STRING (SIZE(1))
+ } OPTIONAL, --Need ON
+ pur-NumOccasions-r16 ENUMERATED {one, infinite},
+ pur-RNTI-r16 C-RNTI OPTIONAL, -- Need ON
+ pur-TimeAlignmentTimer-r16 INTEGER (1..8) OPTIONAL, -- Need OR
+ pur-RSRP-ChangeThreshold-r16 CHOICE {release NULL, setup PUR-RSRP-ChangeThreshold-r16} OPTIONAL, -- Need ON
+ pur-ResponseWindowTimer-r16 ENUMERATED {sf240, sf480, sf960, sf1920, sf3840, sf5760, sf7680, sf10240} OPTIONAL, -- Need ON
+ pur-MPDCCH-Config-r16 PUR-MPDCCH-Config-r16 OPTIONAL, -- Need ON
+ pur-PDSCH-FreqHopping-r16 BOOLEAN,
+ pur-PUCCH-Config-r16 PUR-PUCCH-Config-r16 OPTIONAL, -- Need ON
+ pur-PUSCH-Config-r16 PUR-PUSCH-Config-r16 OPTIONAL, -- Need ON
+ ...,
+ [[ pur-PDSCH-maxTBS-r17 BOOLEAN OPTIONAL -- Need ON
+ ]]
+}
+
+PUR-MPDCCH-Config-r16 ::= SEQUENCE {
+ mpdcch-FreqHopping-r16 BOOLEAN,
+ mpdcch-Narrowband-r16 INTEGER (1..maxAvailNarrowBands-r13),
+ mpdcch-PRB-PairsConfig-r16 SEQUENCE{
+ numberPRB-Pairs-r16 ENUMERATED {n2, n4, n6, spare1},
+ resourceBlockAssignment-r16 BIT STRING (SIZE(4))
+ },
+ mpdcch-NumRepetition-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, r256},
+ mpdcch-StartSF-UESS-r16 CHOICE {
+ fdd ENUMERATED {v1, v1dot5, v2, v2dot5, v4, v5, v8, v10},
+ tdd ENUMERATED {v1, v2, v4, v5, v8, v10, v20, spare1}
+ },
+ mpdcch-Offset-PUR-SS-r16 ENUMERATED {zero, oneEighth, oneQuarter,
+ threeEighth, oneHalf, fiveEighth,
+ threeQuarter, sevenEighth}
+}
+
+PUR-PUCCH-Config-r16 ::= SEQUENCE {
+ n1PUCCH-AN-r16 INTEGER (0..2047) OPTIONAL, -- Need ON
+ pucch-NumRepetitionCE-Format1-r16 ENUMERATED {n1, n2, n4, n8} OPTIONAL -- Need ON
+}
+
+PUR-PUSCH-Config-r16 ::= SEQUENCE {
+ pur-GrantInfo-r16 CHOICE {
+ ce-ModeA SEQUENCE {
+ numRUs-r16 BIT STRING (SIZE(2)),
+ prb-AllocationInfo-r16 BIT STRING (SIZE(10)),
+ mcs-r16 BIT STRING (SIZE(4)),
+ numRepetitions-r16 BIT STRING (SIZE(3))
+ },
+ ce-ModeB SEQUENCE {
+ subPRB-Allocation-r16 BOOLEAN,
+ numRUs-r16 BOOLEAN,
+ prb-AllocationInfo-r16 BIT STRING (SIZE(8)),
+ mcs-r16 BIT STRING (SIZE(4)),
+ numRepetitions-r16 BIT STRING (SIZE(3))
+ }
+ } OPTIONAL, -- Need ON
+ pur-PUSCH-FreqHopping-r16 BOOLEAN,
+ p0-UE-PUSCH-r16 INTEGER (-8..7),
+ alpha-r16 Alpha-r12,
+ pusch-CyclicShift-r16 ENUMERATED {n0, n6},
+ pusch-NB-MaxTBS-r16 BOOLEAN,
+ locationCE-ModeB-r16 INTEGER (0..5) OPTIONAL -- Cond SubPRB
+}
+
+PUR-RSRP-ChangeThreshold-r16 ::= SEQUENCE {
+ increaseThresh-r16 RSRP-ChangeThresh-r16,
+ decreaseThresh-r16 RSRP-ChangeThresh-r16 OPTIONAL --Need OP
+}
+
+RSRP-ChangeThresh-r16 ::= ENUMERATED {dB4, dB6, dB8, dB10, dB14, dB18, dB22, dB26, dB30, dB34, spare6, spare5, spare4, spare3, spare2, spare1}
+
+
+PUR-ConfigID-r16 ::= BIT STRING (SIZE(20))
+
+
+PUR-PeriodicityAndOffset-r16 ::= CHOICE {
+ periodicity8 INTEGER (1..7),
+ periodicity16 INTEGER (1..15),
+ periodicity32 INTEGER (1..31),
+ periodicity64 INTEGER (1..63),
+ periodicity128 INTEGER (1..127),
+ periodicity256 INTEGER (1..255),
+ periodicity512 INTEGER (1..511),
+ periodicity1024 INTEGER (1..1023),
+ periodicity2048 INTEGER (1..2047),
+ periodicity4096 INTEGER (1..4095),
+ periodicity8192 INTEGER (1..8191)
+}
+
+
+PUSCH-ConfigCommon ::= SEQUENCE {
+ pusch-ConfigBasic SEQUENCE {
+ n-SB INTEGER (1..4),
+ hoppingMode ENUMERATED {interSubFrame, intraAndInterSubFrame},
+ pusch-HoppingOffset INTEGER (0..98),
+ enable64QAM BOOLEAN
+ },
+ ul-ReferenceSignalsPUSCH UL-ReferenceSignalsPUSCH
+}
+
+PUSCH-ConfigCommon-v1270 ::= SEQUENCE {
+ enable64QAM-v1270 ENUMERATED {true}
+}
+
+PUSCH-ConfigCommon-v1310 ::= SEQUENCE {
+ pusch-maxNumRepetitionCEmodeA-r13 ENUMERATED {
+ r8, r16, r32 } OPTIONAL, -- Need OR
+ pusch-maxNumRepetitionCEmodeB-r13 ENUMERATED {
+ r192, r256, r384, r512, r768, r1024,
+ r1536, r2048} OPTIONAL, -- Need OR
+ pusch-HoppingOffset-v1310
+ INTEGER (1..maxAvailNarrowBands-r13) OPTIONAL -- Need OR
+}
+
+PUSCH-ConfigDedicated ::= SEQUENCE {
+ betaOffset-ACK-Index INTEGER (0..15),
+ betaOffset-RI-Index INTEGER (0..15),
+ betaOffset-CQI-Index INTEGER (0..15)
+}
+
+PUSCH-ConfigDedicated-v1020 ::= SEQUENCE {
+ betaOffsetMC-r10 SEQUENCE {
+ betaOffset-ACK-Index-MC-r10 INTEGER (0..15),
+ betaOffset-RI-Index-MC-r10 INTEGER (0..15),
+ betaOffset-CQI-Index-MC-r10 INTEGER (0..15)
+ } OPTIONAL, -- Need OR
+ groupHoppingDisabled-r10 ENUMERATED {true} OPTIONAL, -- Need OR
+ dmrs-WithOCC-Activated-r10 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+PUSCH-ConfigDedicated-v1130 ::= SEQUENCE {
+ pusch-DMRS-r11 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ nPUSCH-Identity-r11 INTEGER (0..509),
+ nDMRS-CSH-Identity-r11 INTEGER (0..509)
+ }
+ }
+}
+
+PUSCH-ConfigDedicated-v1250::= SEQUENCE {
+ uciOnPUSCH CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ betaOffset-ACK-Index-SubframeSet2-r12 INTEGER (0..15),
+ betaOffset-RI-Index-SubframeSet2-r12 INTEGER (0..15),
+ betaOffset-CQI-Index-SubframeSet2-r12 INTEGER (0..15),
+ betaOffsetMC-r12 SEQUENCE {
+ betaOffset-ACK-Index-MC-SubframeSet2-r12 INTEGER (0..15),
+ betaOffset-RI-Index-MC-SubframeSet2-r12 INTEGER (0..15),
+ betaOffset-CQI-Index-MC-SubframeSet2-r12 INTEGER (0..15)
+ } OPTIONAL -- Need OR
+ }
+ }
+}
+PUSCH-ConfigDedicated-r13 ::= SEQUENCE {
+ betaOffset-ACK-Index-r13 INTEGER (0..15),
+ betaOffset2-ACK-Index-r13 INTEGER (0..15) OPTIONAL, -- Need OR
+ betaOffset-RI-Index-r13 INTEGER (0..15),
+ betaOffset-CQI-Index-r13 INTEGER (0..15),
+ betaOffsetMC-r13 SEQUENCE {
+ betaOffset-ACK-Index-MC-r13 INTEGER (0..15),
+ betaOffset2-ACK-Index-MC-r13 INTEGER (0..15) OPTIONAL, -- Need OR
+ betaOffset-RI-Index-MC-r13 INTEGER (0..15),
+ betaOffset-CQI-Index-MC-r13 INTEGER (0..15)
+ } OPTIONAL, -- Need OR
+ groupHoppingDisabled-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ dmrs-WithOCC-Activated-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ pusch-DMRS-r11 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ nPUSCH-Identity-r13 INTEGER (0..509),
+ nDMRS-CSH-Identity-r13 INTEGER (0..509)
+ }
+ } OPTIONAL, -- Need ON
+ uciOnPUSCH CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ betaOffset-ACK-Index-SubframeSet2-r13 INTEGER (0..15),
+ betaOffset2-ACK-Index-SubframeSet2-r13 INTEGER (0..15) OPTIONAL, -- Need OR
+ betaOffset-RI-Index-SubframeSet2-r13 INTEGER (0..15),
+ betaOffset-CQI-Index-SubframeSet2-r13 INTEGER (0..15),
+ betaOffsetMC-r12 SEQUENCE {
+ betaOffset-ACK-Index-MC-SubframeSet2-r13 INTEGER (0..15),
+ betaOffset2-ACK-Index-MC-SubframeSet2-r13 INTEGER (0..15) OPTIONAL, -- Need OR
+ betaOffset-RI-Index-MC-SubframeSet2-r13 INTEGER (0..15),
+ betaOffset-CQI-Index-MC-SubframeSet2-r13 INTEGER (0..15)
+ } OPTIONAL -- Need OR
+ }
+ } OPTIONAL, -- Need ON
+ pusch-HoppingConfig-r13 ENUMERATED {on} OPTIONAL -- Need OR
+}
+
+PUSCH-ConfigDedicated-v1430 ::= SEQUENCE {
+ ce-PUSCH-NB-MaxTBS-r14 ENUMERATED {on} OPTIONAL, -- Need OR
+ ce-PUSCH-MaxBandwidth-r14 ENUMERATED {bw5} OPTIONAL, -- Need OR
+ tdd-PUSCH-UpPTS-r14 TDD-PUSCH-UpPTS-r14 OPTIONAL, -- Need ON
+ ul-DMRS-IFDMA-r14 BOOLEAN,
+ enable256QAM-r14 Enable256QAM-r14 OPTIONAL -- Need ON
+}
+
+PUSCH-ConfigDedicated-v1530 ::= SEQUENCE {
+ ce-PUSCH-FlexibleStartPRB-AllocConfig-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ offsetCE-ModeB-r15 INTEGER (-1..3) OPTIONAL -- Cond CE-ModeB
+ }
+ },
+ ce-PUSCH-SubPRB-Config-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ locationCE-ModeB-r15 INTEGER (0..5) OPTIONAL, -- Cond CE-ModeB
+ sixToneCyclicShift-r15 INTEGER (0..3),
+ threeToneCyclicShift-r15 INTEGER (0..2)
+ }
+ } OPTIONAL -- Need ON
+}
+
+PUSCH-ConfigDedicated-v1610 ::= SEQUENCE {
+ ce-PUSCH-MultiTB-Config-r16 CHOICE {release NULL, setup CE-PUSCH-MultiTB-Config-r16}
+}
+
+PUSCH-ConfigDedicatedSCell-r10 ::= SEQUENCE {
+ groupHoppingDisabled-r10 ENUMERATED {true} OPTIONAL, -- Need OR
+ dmrs-WithOCC-Activated-r10 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+PUSCH-ConfigDedicatedSCell-v1430 ::= SEQUENCE {
+ enable256QAM-r14 Enable256QAM-r14 OPTIONAL -- Need OR
+}
+
+PUSCH-ConfigDedicatedScell-v1530 ::= SEQUENCE {
+ uci-OnPUSCH-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ betaOffsetAUL-r15 INTEGER (0..15)
+ }
+ }
+}
+
+TDD-PUSCH-UpPTS-r14 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ symPUSCH-UpPTS-r14 ENUMERATED {sym1, sym2, sym3, sym4, sym5, sym6} OPTIONAL, -- Need ON
+ dmrs-LessUpPTS-Config-r14 ENUMERATED {true} OPTIONAL -- Need OR
+ }
+}
+
+CE-PUSCH-MultiTB-Config-r16 ::= SEQUENCE {
+ interleaving-r16 ENUMERATED {on} OPTIONAL -- Need OR
+}
+
+PUSCH-TxDuration-r17 ::= SEQUENCE {
+ pusch-TxDuration-r17 ENUMERATED {n2, n4, n8, n16, n32, n64, n128, n256}
+}
+
+Enable256QAM-r14 ::= CHOICE {
+ release NULL,
+ setup CHOICE {
+ tpc-SubframeSet-Configured-r14 SEQUENCE {
+ subframeSet1-DCI-Format0-r14 BOOLEAN,
+ subframeSet1-DCI-Format4-r14 BOOLEAN,
+ subframeSet2-DCI-Format0-r14 BOOLEAN,
+ subframeSet2-DCI-Format4-r14 BOOLEAN
+ },
+ tpc-SubframeSet-NotConfigured-r14 SEQUENCE {
+ dci-Format0-r14 BOOLEAN,
+ dci-Format4-r14 BOOLEAN
+ }
+ }
+}
+
+PUSCH-EnhancementsConfig-r14 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ pusch-HoppingOffsetPUSCH-Enh-r14 INTEGER (1..100) OPTIONAL, -- Need ON
+ interval-ULHoppingPUSCH-Enh-r14 CHOICE {
+ interval-FDD-PUSCH-Enh-r14 ENUMERATED {int1, int2, int4, int8},
+ interval-TDD-PUSCH-Enh-r14 ENUMERATED {int1, int5, int10, int20}
+ } OPTIONAL -- Need ON
+ }
+}
+
+UL-ReferenceSignalsPUSCH ::= SEQUENCE {
+ groupHoppingEnabled BOOLEAN,
+ groupAssignmentPUSCH INTEGER (0..29),
+ sequenceHoppingEnabled BOOLEAN,
+ cyclicShift INTEGER (0..7)
+}
+
+
+RACH-ConfigCommon ::= SEQUENCE {
+ preambleInfo SEQUENCE {
+ numberOfRA-Preambles ENUMERATED {
+ n4, n8, n12, n16, n20, n24, n28,
+ n32, n36, n40, n44, n48, n52, n56,
+ n60, n64},
+ preamblesGroupAConfig SEQUENCE {
+ sizeOfRA-PreamblesGroupA ENUMERATED {
+ n4, n8, n12, n16, n20, n24, n28,
+ n32, n36, n40, n44, n48, n52, n56,
+ n60},
+ messageSizeGroupA ENUMERATED {b56, b144, b208, b256},
+ messagePowerOffsetGroupB ENUMERATED {
+ minusinfinity, dB0, dB5, dB8, dB10, dB12,
+ dB15, dB18},
+ ...
+ } OPTIONAL -- Need OP
+ },
+ powerRampingParameters PowerRampingParameters,
+ ra-SupervisionInfo SEQUENCE {
+ preambleTransMax PreambleTransMax,
+ ra-ResponseWindowSize ENUMERATED {
+ sf2, sf3, sf4, sf5, sf6, sf7,
+ sf8, sf10},
+ mac-ContentionResolutionTimer ENUMERATED {
+ sf8, sf16, sf24, sf32, sf40, sf48,
+ sf56, sf64}
+ },
+ maxHARQ-Msg3Tx INTEGER (1..8),
+ ...,
+ [[ preambleTransMax-CE-r13 PreambleTransMax OPTIONAL, -- Need OR
+ rach-CE-LevelInfoList-r13 RACH-CE-LevelInfoList-r13 OPTIONAL -- Need OR
+ ]],
+ [[ edt-SmallTBS-Subset-r15 ENUMERATED {true} OPTIONAL -- Cond EDT-OR
+ ]]
+}
+
+RACH-ConfigCommon-v1250 ::= SEQUENCE {
+ txFailParams-r12 SEQUENCE {
+ connEstFailCount-r12 ENUMERATED {n1, n2, n3, n4},
+ connEstFailOffsetValidity-r12 ENUMERATED {s30, s60, s120, s240,
+ s300, s420, s600, s900},
+ connEstFailOffset-r12 INTEGER (0..15) OPTIONAL -- Need OP
+ }
+}
+
+RACH-ConfigCommonSCell-r11 ::= SEQUENCE {
+ powerRampingParameters-r11 PowerRampingParameters,
+ ra-SupervisionInfo-r11 SEQUENCE {
+ preambleTransMax-r11 PreambleTransMax
+ },
+ ...
+}
+
+RACH-CE-LevelInfoList-r13 ::= SEQUENCE (SIZE (1..maxCE-Level-r13)) OF RACH-CE-LevelInfo-r13
+
+RACH-CE-LevelInfo-r13 ::= SEQUENCE {
+ preambleMappingInfo-r13 SEQUENCE {
+ firstPreamble-r13 INTEGER(0..63),
+ lastPreamble-r13 INTEGER(0..63)
+ },
+ ra-ResponseWindowSize-r13 ENUMERATED {sf20, sf50, sf80, sf120, sf180,
+ sf240, sf320, sf400},
+
+ mac-ContentionResolutionTimer-r13 ENUMERATED {sf80, sf100, sf120,
+ sf160, sf200, sf240, sf480, sf960},
+ rar-HoppingConfig-r13 ENUMERATED {on,off},
+ ...,
+ [[ edt-Parameters-r15 SEQUENCE {
+ edt-LastPreamble-r15 INTEGER(0..63),
+ edt-SmallTBS-Enabled-r15 BOOLEAN,
+ edt-TBS-r15 ENUMERATED {b328, b408, b504, b600, b712,
+ b808, b936, b1000or456},
+ mac-ContentionResolutionTimer-r15 ENUMERATED {sf240, sf480, sf960,
+ sf1920, sf3840, sf5760, sf7680, sf10240} OPTIONAL -- Need OP
+ } OPTIONAL -- Cond EDT
+ ]]
+}
+
+PowerRampingParameters ::= SEQUENCE {
+ powerRampingStep ENUMERATED {dB0, dB2,dB4, dB6},
+ preambleInitialReceivedTargetPower ENUMERATED {
+ dBm-120, dBm-118, dBm-116, dBm-114, dBm-112,
+ dBm-110, dBm-108, dBm-106, dBm-104, dBm-102,
+ dBm-100, dBm-98, dBm-96, dBm-94,
+ dBm-92, dBm-90}
+}
+
+PreambleTransMax ::= ENUMERATED {
+ n3, n4, n5, n6, n7, n8, n10, n20, n50,
+ n100, n200}
+
+
+RACH-ConfigDedicated ::= SEQUENCE {
+ ra-PreambleIndex INTEGER (0..63),
+ ra-PRACH-MaskIndex INTEGER (0..15)
+}
+
+
+RadioResourceConfigCommonSIB ::= SEQUENCE {
+ rach-ConfigCommon RACH-ConfigCommon,
+ bcch-Config BCCH-Config,
+ pcch-Config PCCH-Config,
+ prach-Config PRACH-ConfigSIB,
+ pdsch-ConfigCommon PDSCH-ConfigCommon,
+ pusch-ConfigCommon PUSCH-ConfigCommon,
+ pucch-ConfigCommon PUCCH-ConfigCommon,
+ soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon,
+ uplinkPowerControlCommon UplinkPowerControlCommon,
+ ul-CyclicPrefixLength UL-CyclicPrefixLength,
+ ...,
+ [[ uplinkPowerControlCommon-v1020 UplinkPowerControlCommon-v1020 OPTIONAL -- Need OR
+ ]],
+ [[ rach-ConfigCommon-v1250 RACH-ConfigCommon-v1250 OPTIONAL -- Need OR
+ ]],
+ [[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR
+ ]],
+ [[ bcch-Config-v1310 BCCH-Config-v1310 OPTIONAL, -- Need OR
+ pcch-Config-v1310 PCCH-Config-v1310 OPTIONAL, -- Need OR
+ freqHoppingParameters-r13 FreqHoppingParameters-r13 OPTIONAL, -- Need OR
+ pdsch-ConfigCommon-v1310 PDSCH-ConfigCommon-v1310 OPTIONAL, -- Need OR
+ pusch-ConfigCommon-v1310 PUSCH-ConfigCommon-v1310 OPTIONAL, -- Need OR
+ prach-ConfigCommon-v1310 PRACH-ConfigSIB-v1310 OPTIONAL, -- Need OR
+ pucch-ConfigCommon-v1310 PUCCH-ConfigCommon-v1310 OPTIONAL -- Need OR
+ ]],
+ [[ highSpeedConfig-r14 HighSpeedConfig-r14 OPTIONAL, -- Need OR
+ prach-Config-v1430 PRACH-Config-v1430 OPTIONAL, -- Need OR
+ pucch-ConfigCommon-v1430 PUCCH-ConfigCommon-v1430 OPTIONAL -- Need OR
+ ]],
+ [[ prach-Config-v1530 PRACH-ConfigSIB-v1530 OPTIONAL, -- Cond EDT
+ ce-RSS-Config-r15 RSS-Config-r15 OPTIONAL, -- Need OR
+ wus-Config-r15 WUS-Config-r15 OPTIONAL, -- Need OR
+ highSpeedConfig-v1530 HighSpeedConfig-v1530 OPTIONAL -- Need OR
+ ]],
+ [[ uplinkPowerControlCommon-v1540 UplinkPowerControlCommon-v1530 OPTIONAL -- Need OR
+ ]],
+ [[ wus-Config-v1560 WUS-Config-v1560 OPTIONAL -- Need OR
+ ]],
+ [[
+ wus-Config-v1610 WUS-Config-v1610 OPTIONAL, -- Need OR
+ highSpeedConfig-v1610 HighSpeedConfig-v1610 OPTIONAL, -- Need OR
+ crs-ChEstMPDCCH-ConfigCommon-r16 CRS-ChEstMPDCCH-ConfigCommon-r16 OPTIONAL, -- Need OR
+ gwus-Config-r16 GWUS-Config-r16 OPTIONAL, -- Need OR
+ uplinkPowerControlCommon-v1610 UplinkPowerControlCommon-v1610 OPTIONAL, -- Need OR
+ rss-MeasConfig-r16 ENUMERATED {enabled} OPTIONAL, -- Need OR
+ rss-MeasNonNCL-r16 ENUMERATED {enabled} OPTIONAL, -- Need OR
+ puncturedSubcarriersDL-r16 BIT STRING (SIZE (2)) OPTIONAL, -- Need OR
+ highSpeedInterRAT-NR-r16 BOOLEAN OPTIONAL -- Need OR
+ ]],
+ [[
+ pcch-Config-v1700 PCCH-Config-v1700 OPTIONAL, -- Need OR
+ ntn-ConfigCommon-r17 SEQUENCE {
+ ta-Report-r17 ENUMERATED {enabled} OPTIONAL, -- Need OR
+ t318-r17 ENUMERATED {
+ ms0, ms50, ms100, ms200,
+ ms500, ms1000, ms2000, ms4000},
+ prach-TxDuration-r17 PRACH-TxDuration-r17 OPTIONAL, -- Need OR
+ pucch-TxDuration-r17 PUCCH-TxDuration-r17 OPTIONAL, -- Need OR
+ pusch-TxDuration-r17 PUSCH-TxDuration-r17 OPTIONAL -- Need OR
+ } OPTIONAL -- Cond NTN
+ ]]
+}
+
+RadioResourceConfigCommon ::= SEQUENCE {
+ rach-ConfigCommon RACH-ConfigCommon OPTIONAL, -- Need ON
+ prach-Config PRACH-Config,
+ pdsch-ConfigCommon PDSCH-ConfigCommon OPTIONAL, -- Need ON
+ pusch-ConfigCommon PUSCH-ConfigCommon,
+ phich-Config PHICH-Config OPTIONAL, -- Need ON
+ pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL, -- Need ON
+ soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon OPTIONAL, -- Need ON
+ uplinkPowerControlCommon UplinkPowerControlCommon OPTIONAL, -- Need ON
+ antennaInfoCommon AntennaInfoCommon OPTIONAL, -- Need ON
+ p-Max P-Max OPTIONAL, -- Need OP
+ tdd-Config TDD-Config OPTIONAL, -- Cond TDD
+ ul-CyclicPrefixLength UL-CyclicPrefixLength,
+ ...,
+ [[ uplinkPowerControlCommon-v1020 UplinkPowerControlCommon-v1020 OPTIONAL -- Need ON
+ ]],
+ [[ tdd-Config-v1130 TDD-Config-v1130 OPTIONAL -- Cond TDD3
+ ]],
+ [[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR
+ ]],
+ [[
+ prach-Config-v1310 PRACH-Config-v1310 OPTIONAL, -- Need ON
+ freqHoppingParameters-r13 FreqHoppingParameters-r13 OPTIONAL, -- Need ON
+ pdsch-ConfigCommon-v1310 PDSCH-ConfigCommon-v1310 OPTIONAL, -- Need ON
+ pucch-ConfigCommon-v1310 PUCCH-ConfigCommon-v1310 OPTIONAL, -- Need ON
+ pusch-ConfigCommon-v1310 PUSCH-ConfigCommon-v1310 OPTIONAL, -- Need ON
+ uplinkPowerControlCommon-v1310 UplinkPowerControlCommon-v1310 OPTIONAL -- Need ON
+ ]],
+ [[ highSpeedConfig-r14 HighSpeedConfig-r14 OPTIONAL, -- Need OR
+ prach-Config-v1430 PRACH-Config-v1430 OPTIONAL, -- Need OR
+ pucch-ConfigCommon-v1430 PUCCH-ConfigCommon-v1430 OPTIONAL, -- Need OR
+ tdd-Config-v1430 TDD-Config-v1430 OPTIONAL -- Cond TDD3
+ ]],
+ [[
+ tdd-Config-v1450 TDD-Config-v1450 OPTIONAL -- Cond TDD3
+ ]],
+ [[ uplinkPowerControlCommon-v1530 UplinkPowerControlCommon-v1530 OPTIONAL, -- Need ON
+ highSpeedConfig-v1530 HighSpeedConfig-v1530 OPTIONAL -- Need OR
+ ]],
+ [[
+ highSpeedConfig-v1610 HighSpeedConfig-v1610 OPTIONAL, -- Need OR
+ uplinkPowerControlCommon-v1610 UplinkPowerControlCommon-v1610 OPTIONAL, -- Need OR
+ highSpeedInterRAT-NR-r16 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ ntn-ConfigCommon-r17 SEQUENCE {
+ ta-Report-r17 ENUMERATED {enabled} OPTIONAL, -- Need OR
+ t318-r17 ENUMERATED {
+ ms0, ms50, ms100, ms200, ms500,
+ ms1000, ms2000, ms4000, ms6000},
+ prach-TxDuration-r17 PRACH-TxDuration-r17 OPTIONAL, -- Need OR
+ pucch-TxDuration-r17 PUCCH-TxDuration-r17 OPTIONAL, -- Need OR
+ pusch-TxDuration-r17 PUSCH-TxDuration-r17 OPTIONAL -- Need OR
+ } OPTIONAL -- Cond NTN
+ ]]
+}
+
+RadioResourceConfigCommonPSCell-r12 ::= SEQUENCE {
+ basicFields-r12 RadioResourceConfigCommonSCell-r10,
+ pucch-ConfigCommon-r12 PUCCH-ConfigCommon,
+ rach-ConfigCommon-r12 RACH-ConfigCommon,
+ uplinkPowerControlCommonPSCell-r12 UplinkPowerControlCommonPSCell-r12,
+ ...,
+ [[ uplinkPowerControlCommonPSCell-v1310
+ UplinkPowerControlCommon-v1310 OPTIONAL -- Need ON
+ ]],
+ [[ uplinkPowerControlCommonPSCell-v1530
+ UplinkPowerControlCommon-v1530 OPTIONAL -- Need ON
+ ]]
+}
+
+RadioResourceConfigCommonPSCell-v12f0 ::= SEQUENCE {
+ basicFields-v12f0 RadioResourceConfigCommonSCell-v10l0
+}
+
+RadioResourceConfigCommonPSCell-v1440 ::= SEQUENCE {
+ basicFields-v1440 RadioResourceConfigCommonSCell-v1440
+}
+
+RadioResourceConfigCommonSCell-r10 ::= SEQUENCE {
+ -- DL configuration as well as configuration applicable for DL and UL
+ nonUL-Configuration-r10 SEQUENCE {
+ -- 1: Cell characteristics
+ dl-Bandwidth-r10 ENUMERATED {n6, n15, n25, n50, n75, n100},
+ -- 2: Physical configuration, general
+ antennaInfoCommon-r10 AntennaInfoCommon,
+ mbsfn-SubframeConfigList-r10 MBSFN-SubframeConfigList OPTIONAL, -- Need OR
+ -- 3: Physical configuration, control
+ phich-Config-r10 PHICH-Config,
+ -- 4: Physical configuration, physical channels
+ pdsch-ConfigCommon-r10 PDSCH-ConfigCommon,
+ tdd-Config-r10 TDD-Config OPTIONAL -- Cond TDDSCell
+ },
+ -- UL configuration
+ ul-Configuration-r10 SEQUENCE {
+ ul-FreqInfo-r10 SEQUENCE {
+ ul-CarrierFreq-r10 ARFCN-ValueEUTRA OPTIONAL, -- Need OP
+ ul-Bandwidth-r10 ENUMERATED {n6, n15,
+ n25, n50, n75, n100} OPTIONAL, -- Need OP
+ additionalSpectrumEmissionSCell-r10 AdditionalSpectrumEmission
+ },
+ p-Max-r10 P-Max OPTIONAL, -- Need OP
+ uplinkPowerControlCommonSCell-r10 UplinkPowerControlCommonSCell-r10,
+ -- A special version of IE UplinkPowerControlCommon may be introduced
+ -- 3: Physical configuration, control
+ soundingRS-UL-ConfigCommon-r10 SoundingRS-UL-ConfigCommon,
+ ul-CyclicPrefixLength-r10 UL-CyclicPrefixLength,
+ -- 4: Physical configuration, physical channels
+ prach-ConfigSCell-r10 PRACH-ConfigSCell-r10 OPTIONAL, -- Cond TDD-OR-NoR11
+ pusch-ConfigCommon-r10 PUSCH-ConfigCommon
+ } OPTIONAL, -- Need OR
+ ...,
+ [[ ul-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Need OP
+ ]],
+ [[ rach-ConfigCommonSCell-r11 RACH-ConfigCommonSCell-r11 OPTIONAL, -- Cond ULSCell
+ prach-ConfigSCell-r11 PRACH-Config OPTIONAL, -- Cond UL
+ tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD2
+ uplinkPowerControlCommonSCell-v1130
+ UplinkPowerControlCommonSCell-v1130 OPTIONAL -- Cond UL
+ ]],
+ [[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR
+ ]],
+ [[ pucch-ConfigCommon-r13 PUCCH-ConfigCommon OPTIONAL, -- Cond UL
+ uplinkPowerControlCommonSCell-v1310
+ UplinkPowerControlCommonSCell-v1310 OPTIONAL -- Cond UL
+ ]],
+ [[ highSpeedConfigSCell-r14 HighSpeedConfigSCell-r14 OPTIONAL, -- Need OR
+ prach-Config-v1430 PRACH-Config-v1430 OPTIONAL, -- Cond UL
+ ul-Configuration-r14 SEQUENCE {
+ ul-FreqInfo-r14 SEQUENCE {
+ ul-CarrierFreq-r14 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Need OP
+ ul-Bandwidth-r14 ENUMERATED {n6, n15,
+ n25, n50, n75, n100} OPTIONAL, -- Need OP
+ additionalSpectrumEmissionSCell-r14 AdditionalSpectrumEmission
+ },
+ p-Max-r14 P-Max OPTIONAL, -- Need OP
+ soundingRS-UL-ConfigCommon-r14 SoundingRS-UL-ConfigCommon,
+ ul-CyclicPrefixLength-r14 UL-CyclicPrefixLength,
+ prach-ConfigSCell-r14 PRACH-ConfigSCell-r10 OPTIONAL, -- Cond TDD-OR-NoR11
+ uplinkPowerControlCommonPUSCH-LessCell-v1430
+ UplinkPowerControlCommonPUSCH-LessCell-v1430 OPTIONAL -- Need OR
+} OPTIONAL, -- Cond ULSRS
+ harq-ReferenceConfig-r14 ENUMERATED {sa2,sa4,sa5} OPTIONAL, -- Need OR
+ soundingRS-FlexibleTiming-r14 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ mbsfn-SubframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 OPTIONAL -- Need ON
+ ]],
+ [[ uplinkPowerControlCommonSCell-v1530 UplinkPowerControlCommon-v1530 OPTIONAL -- Need ON
+ ]],
+ [[ highSpeedEnhMeasFlagSCell-r16 BOOLEAN OPTIONAL -- Need ON
+ ]]
+}
+
+RadioResourceConfigCommonSCell-v10l0 ::= SEQUENCE {
+ -- UL configuration
+ ul-Configuration-v10l0 SEQUENCE {
+ additionalSpectrumEmissionSCell-v10l0 AdditionalSpectrumEmission-v10l0
+ }
+}
+
+RadioResourceConfigCommonSCell-v1440 ::= SEQUENCE {
+ ul-Configuration-v1440 SEQUENCE {
+ ul-FreqInfo-v1440 SEQUENCE {
+ additionalSpectrumEmissionSCell-v1440 AdditionalSpectrumEmission-v10l0
+ }
+ }
+}
+
+BCCH-Config ::= SEQUENCE {
+ modificationPeriodCoeff ENUMERATED {n2, n4, n8, n16}
+}
+
+BCCH-Config-v1310 ::= SEQUENCE {
+ modificationPeriodCoeff-v1310 ENUMERATED {n64}
+}
+
+FreqHoppingParameters-r13 ::= SEQUENCE {
+ dummy ENUMERATED {nb2, nb4} OPTIONAL,
+ dummy2 CHOICE {
+ interval-FDD-r13 ENUMERATED {int1, int2, int4, int8},
+ interval-TDD-r13 ENUMERATED {int1, int5, int10, int20}
+ } OPTIONAL,
+ dummy3 CHOICE {
+ interval-FDD-r13 ENUMERATED {int2, int4, int8, int16},
+ interval-TDD-r13 ENUMERATED { int5, int10, int20, int40}
+ } OPTIONAL,
+ interval-ULHoppingConfigCommonModeA-r13 CHOICE {
+ interval-FDD-r13 ENUMERATED {int1, int2, int4, int8},
+ interval-TDD-r13 ENUMERATED {int1, int5, int10, int20}
+ } OPTIONAL, -- Cond MP-A
+ interval-ULHoppingConfigCommonModeB-r13 CHOICE {
+ interval-FDD-r13 ENUMERATED {int2, int4, int8, int16},
+ interval-TDD-r13 ENUMERATED { int5, int10, int20, int40}
+ } OPTIONAL, -- Cond MP-B
+ dummy4 INTEGER (1..maxAvailNarrowBands-r13) OPTIONAL
+}
+
+PCCH-Config ::= SEQUENCE {
+ defaultPagingCycle ENUMERATED {
+ rf32, rf64, rf128, rf256},
+ nB ENUMERATED {
+ fourT, twoT, oneT, halfT, quarterT, oneEighthT,
+ oneSixteenthT, oneThirtySecondT}
+}
+
+PCCH-Config-v1310 ::= SEQUENCE {
+ paging-narrowBands-r13 INTEGER (1..maxAvailNarrowBands-r13),
+ mpdcch-NumRepetition-Paging-r13 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, r256},
+ nB-v1310 ENUMERATED {one64thT, one128thT, one256thT}
+ OPTIONAL -- Need OR
+}
+
+PCCH-Config-v1700 ::= SEQUENCE {
+ ranPagingInIdlePO-r17 ENUMERATED {true}
+}
+
+UL-CyclicPrefixLength ::= ENUMERATED {len1, len2}
+
+HighSpeedConfig-r14 ::= SEQUENCE {
+ highSpeedEnhancedMeasFlag-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ highSpeedEnhancedDemodulationFlag-r14 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+HighSpeedConfig-v1530 ::= SEQUENCE {
+ highSpeedMeasGapCE-ModeA-r15 ENUMERATED {true}
+}
+
+HighSpeedConfigSCell-r14 ::= SEQUENCE {
+ highSpeedEnhancedDemodulationFlag-r14 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+HighSpeedConfig-v1610 ::= SEQUENCE {
+ highSpeedEnhMeasFlag2-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ highSpeedEnhDemodFlag2-r16 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+
+RadioResourceConfigDedicated ::= SEQUENCE {
+ srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn
+ drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toEUTRA
+ drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need ON
+ mac-MainConfig CHOICE {
+ explicitValue MAC-MainConfig,
+ defaultValue NULL
+ } OPTIONAL, -- Cond HO-toEUTRA2
+ sps-Config SPS-Config OPTIONAL, -- Need ON
+ physicalConfigDedicated PhysicalConfigDedicated OPTIONAL, -- Need ON
+ ...,
+ [[ rlf-TimersAndConstants-r9 RLF-TimersAndConstants-r9 OPTIONAL -- Need ON
+ ]],
+ [[ measSubframePatternPCell-r10 MeasSubframePatternPCell-r10 OPTIONAL -- Need ON
+ ]],
+ [[ neighCellsCRS-Info-r11 NeighCellsCRS-Info-r11 OPTIONAL -- Need ON
+ ]],
+ [[ naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON
+ ]],
+ [[ neighCellsCRS-Info-r13 NeighCellsCRS-Info-r13 OPTIONAL, -- Cond CRSIM
+ rlf-TimersAndConstants-r13 RLF-TimersAndConstants-r13 OPTIONAL -- Need ON
+ ]],
+ [[ sps-Config-v1430 SPS-Config-v1430 OPTIONAL -- Cond SPS
+ ]],
+ [[ srb-ToAddModListExt-r15 SRB-ToAddModListExt-r15 OPTIONAL, -- Need ON
+ srb-ToReleaseListExt-r15 INTEGER (4) OPTIONAL, -- Need ON
+
+ sps-Config-v1530 SPS-Config-v1530 OPTIONAL, -- Need ON
+
+ crs-IntfMitigConfig-r15 CHOICE {
+ release NULL,
+ setup CHOICE {
+ crs-IntfMitigEnabled NULL,
+ crs-IntfMitigNumPRBs ENUMERATED {n6, n24}
+ }
+ } OPTIONAL, -- Need ON
+ neighCellsCRS-Info-r15 NeighCellsCRS-Info-r15 OPTIONAL, -- Need ON
+ drb-ToAddModList-r15 DRB-ToAddModList-r15 OPTIONAL, -- Need ON
+ drb-ToReleaseList-r15 DRB-ToReleaseList-r15 OPTIONAL, -- Need ON
+ dummy SEQUENCE (SIZE (1..2)) OF INTEGER (1..2) OPTIONAL -- Need ON
+ ]],
+ [[ sps-Config-v1540 SPS-Config-v1540 OPTIONAL -- Need ON
+ ]],
+ [[
+ rlf-TimersAndConstantsMCG-Failure-r16 RLF-TimersAndConstantsMCG-Failure-r16
+ OPTIONAL, -- Cond Split-SRB1-SRB3
+ crs-ChEstMPDCCH-ConfigDedicated-r16 CHOICE {release NULL, setup CRS-ChEstMPDCCH-ConfigDedicated-r16} OPTIONAL, -- Need ON
+ newUE-Identity-r16 C-RNTI OPTIONAL -- Need OP
+ ]]
+}
+
+RadioResourceConfigDedicated-v1370 ::= SEQUENCE {
+ physicalConfigDedicated-v1370 PhysicalConfigDedicated-v1370 OPTIONAL -- Need ON
+}
+
+RadioResourceConfigDedicated-v13c0 ::= SEQUENCE {
+ physicalConfigDedicated-v13c0 PhysicalConfigDedicated-v13c0
+}
+
+RadioResourceConfigDedicatedPSCell-r12 ::= SEQUENCE {
+ -- UE specific configuration extensions applicable for an PSCell
+ physicalConfigDedicatedPSCell-r12 PhysicalConfigDedicated OPTIONAL, -- Need ON
+ sps-Config-r12 SPS-Config OPTIONAL, -- Need ON
+ naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL, -- Need ON
+ ...,
+ [[ neighCellsCRS-InfoPSCell-r13 NeighCellsCRS-Info-r13 OPTIONAL -- Need ON
+ ]],
+ [[ sps-Config-v1430 SPS-Config-v1430 OPTIONAL -- Cond SPS2
+ ]],
+ [[ sps-Config-v1530 SPS-Config-v1530 OPTIONAL, -- Need ON
+ crs-IntfMitigEnabled-r15 BOOLEAN OPTIONAL, -- Need ON
+ neighCellsCRS-Info-r15 NeighCellsCRS-Info-r15 OPTIONAL -- Need ON
+ ]],
+ [[ sps-Config-v1540 SPS-Config-v1540 OPTIONAL -- Need ON
+ ]]
+}
+
+RadioResourceConfigDedicatedPSCell-v1370 ::= SEQUENCE {
+ physicalConfigDedicatedPSCell-v1370 PhysicalConfigDedicated-v1370 OPTIONAL -- Need ON
+}
+
+RadioResourceConfigDedicatedPSCell-v13c0 ::= SEQUENCE {
+ physicalConfigDedicatedPSCell-v13c0 PhysicalConfigDedicated-v13c0
+}
+
+RadioResourceConfigDedicatedSCG-r12 ::= SEQUENCE {
+ drb-ToAddModListSCG-r12 DRB-ToAddModListSCG-r12 OPTIONAL, -- Need ON
+ mac-MainConfigSCG-r12 MAC-MainConfig OPTIONAL, -- Need ON
+ rlf-TimersAndConstantsSCG-r12 RLF-TimersAndConstantsSCG-r12 OPTIONAL, -- Need ON
+ ...,
+ [[ drb-ToAddModListSCG-r15 DRB-ToAddModListSCG-r15 OPTIONAL -- Need ON
+ ]],
+ [[ srb-ToAddModListSCG-r15 SRB-ToAddModList OPTIONAL, -- Need ON
+ srb-ToReleaseListSCG-r15 SRB-ToReleaseList-r15 OPTIONAL -- Need ON
+ ]],
+ [[ -- NE-DC additions for release of RLC bearer config for DRBs
+ drb-ToReleaseListSCG-r15 DRB-ToReleaseList-r15 OPTIONAL -- Need ON
+ ]]
+}
+
+RadioResourceConfigDedicatedSCell-r10 ::= SEQUENCE {
+ -- UE specific configuration extensions applicable for an SCell
+ physicalConfigDedicatedSCell-r10 PhysicalConfigDedicatedSCell-r10 OPTIONAL, -- Need ON
+ ...,
+ [[ mac-MainConfigSCell-r11 MAC-MainConfigSCell-r11 OPTIONAL -- Cond SCellAdd
+ ]],
+ [[ naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON
+ ]],
+ [[ neighCellsCRS-InfoSCell-r13 NeighCellsCRS-Info-r13 OPTIONAL -- Need ON
+ ]],
+ [[ physicalConfigDedicatedSCell-v1370 PhysicalConfigDedicatedSCell-v1370 OPTIONAL -- Need ON
+ ]],
+ [[ crs-IntfMitigEnabled-r15 BOOLEAN OPTIONAL, -- Need ON
+ neighCellsCRS-Info-r15 NeighCellsCRS-Info-r15 OPTIONAL, -- Need ON
+ sps-Config-v1530 SPS-Config-v1530 OPTIONAL -- Need ON
+ ]],
+ [[ physicalConfigDedicatedSCell-v1730 PhysicalConfigDedicatedSCell-v1730 OPTIONAL -- Cond CQI-ReportPeriodicSCell
+ ]]
+}
+
+RadioResourceConfigDedicatedSCell-v13c0 ::= SEQUENCE {
+ physicalConfigDedicatedSCell-v13c0 PhysicalConfigDedicatedSCell-v13c0
+}
+
+SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod
+
+SRB-ToAddModListExt-r15 ::= SEQUENCE (SIZE (1)) OF SRB-ToAddMod
+
+SRB-ToAddMod ::= SEQUENCE {
+ srb-Identity INTEGER (1..2),
+ rlc-Config CHOICE {
+ explicitValue RLC-Config,
+ defaultValue NULL
+ } OPTIONAL, -- Cond Setup
+ logicalChannelConfig CHOICE {
+ explicitValue LogicalChannelConfig,
+ defaultValue NULL
+ } OPTIONAL, -- Cond Setup
+ ...,
+ [[ pdcp-verChange-r15 ENUMERATED {true} OPTIONAL, -- Cond NR-PDCP
+ rlc-Config-v1530 RLC-Config-v1530 OPTIONAL, -- Need ON
+ rlc-BearerConfigSecondary-r15 RLC-BearerConfig-r15 OPTIONAL, -- Need ON
+ srb-Identity-v1530 INTEGER (4) OPTIONAL -- Need ON
+ ]],
+ [[ rlc-Config-v1560 RLC-Config-v1510 OPTIONAL -- Need ON
+ ]],
+ [[ rlc-Config-v1700 RLC-Config-v1700 OPTIONAL -- Need ON
+ ]]
+}
+
+DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod
+DRB-ToAddModList-r15 ::= SEQUENCE (SIZE (1..maxDRB-r15)) OF DRB-ToAddMod
+
+DRB-ToAddModListSCG-r12 ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddModSCG-r12
+DRB-ToAddModListSCG-r15 ::= SEQUENCE (SIZE (1..maxDRB-r15)) OF DRB-ToAddModSCG-r12
+
+DRB-ToAddMod ::= SEQUENCE {
+ eps-BearerIdentity INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup
+ drb-Identity DRB-Identity,
+ pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
+ rlc-Config RLC-Config OPTIONAL, -- Cond SetupM
+ logicalChannelIdentity INTEGER (3..10) OPTIONAL, -- Cond DRB-SetupM
+ logicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond SetupM
+ ...,
+ [[ drb-TypeChange-r12 ENUMERATED {toMCG} OPTIONAL, -- Need OP
+ rlc-Config-v1250 RLC-Config-v1250 OPTIONAL -- Need ON
+ ]],
+ [[ rlc-Config-v1310 RLC-Config-v1310 OPTIONAL, -- Need ON
+ drb-TypeLWA-r13 BOOLEAN OPTIONAL, -- Need ON
+ drb-TypeLWIP-r13 ENUMERATED {lwip, lwip-DL-only,
+ lwip-UL-only, eutran} OPTIONAL -- Need ON
+ ]],
+ [[ rlc-Config-v1430 RLC-Config-v1430 OPTIONAL, -- Need ON
+ lwip-UL-Aggregation-r14 BOOLEAN OPTIONAL, -- Cond LWIP
+ lwip-DL-Aggregation-r14 BOOLEAN OPTIONAL, -- Cond LWIP
+ lwa-WLAN-AC-r14 ENUMERATED {ac-bk, ac-be, ac-vi, ac-vo} OPTIONAL -- Cond UL-LWA
+ ]],
+ [[ rlc-Config-v1510 RLC-Config-v1510 OPTIONAL -- Need ON
+ ]],
+ [[ rlc-Config-v1530 RLC-Config-v1530 OPTIONAL, -- Need ON
+ rlc-BearerConfigSecondary-r15 RLC-BearerConfig-r15 OPTIONAL, -- Need ON
+ logicalChannelIdentity-r15 INTEGER (32..38) OPTIONAL -- Need ON
+ ]],
+ [[ daps-HO-r16 ENUMERATED {true} OPTIONAL -- Cond DAPS
+ ]],
+ [[ rlc-Config-v1700 RLC-Config-v1700 OPTIONAL -- Need ON
+ ]]
+}
+
+DRB-ToAddModSCG-r12 ::= SEQUENCE {
+ drb-Identity-r12 DRB-Identity,
+ drb-Type-r12 CHOICE {
+ split-r12 NULL,
+ scg-r12 SEQUENCE {
+ eps-BearerIdentity-r12 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup
+ pdcp-Config-r12 PDCP-Config OPTIONAL -- Cond PDCP-S
+ }
+ } OPTIONAL, -- Cond SetupS2
+ rlc-ConfigSCG-r12 RLC-Config OPTIONAL, -- Cond SetupS
+ rlc-Config-v1250 RLC-Config-v1250 OPTIONAL, -- Need ON
+ logicalChannelIdentitySCG-r12 INTEGER (3..10) OPTIONAL, -- Cond DRB-SetupS
+ logicalChannelConfigSCG-r12 LogicalChannelConfig OPTIONAL, -- Cond SetupS
+ ...,
+ [[ rlc-Config-v1430 RLC-Config-v1430 OPTIONAL -- Need ON
+ ]],
+ [[ logicalChannelIdentitySCG-r15 INTEGER (32..38) OPTIONAL, -- Need ON
+ rlc-Config-v1530 RLC-Config-v1530 OPTIONAL, -- Need ON
+ rlc-BearerConfigSecondary-r15 RLC-BearerConfig-r15 OPTIONAL -- Need ON
+ ]],
+ [[ rlc-Config-v1560 RLC-Config-v1510 OPTIONAL -- Need ON
+ ]]
+}
+
+DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity
+DRB-ToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxDRB-r15)) OF DRB-Identity
+
+SRB-ToReleaseList-r15 ::= SEQUENCE (SIZE (1..2)) OF INTEGER (1..2)
+
+MeasSubframePatternPCell-r10 ::= CHOICE {
+ release NULL,
+ setup MeasSubframePattern-r10
+}
+
+NeighCellsCRS-Info-r11 ::= CHOICE {
+ release NULL,
+ setup CRS-AssistanceInfoList-r11
+}
+
+CRS-AssistanceInfoList-r11 ::= SEQUENCE (SIZE (1..maxCellReport)) OF CRS-AssistanceInfo-r11
+
+CRS-AssistanceInfo-r11 ::= SEQUENCE {
+ physCellId-r11 PhysCellId,
+ antennaPortsCount-r11 ENUMERATED {an1, an2, an4, spare1},
+ mbsfn-SubframeConfigList-r11 MBSFN-SubframeConfigList,
+ ...,
+ [[ mbsfn-SubframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 OPTIONAL -- Need ON
+ ]]
+}
+
+NeighCellsCRS-Info-r13 ::= CHOICE {
+ release NULL,
+ setup CRS-AssistanceInfoList-r13
+}
+
+CRS-AssistanceInfoList-r13 ::= SEQUENCE (SIZE (1..maxCellReport)) OF CRS-AssistanceInfo-r13
+
+CRS-AssistanceInfo-r13 ::= SEQUENCE {
+ physCellId-r13 PhysCellId,
+ antennaPortsCount-r13 ENUMERATED {an1, an2, an4, spare1},
+ mbsfn-SubframeConfigList-r13 MBSFN-SubframeConfigList OPTIONAL, -- Need ON
+ ...,
+ [[ mbsfn-SubframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 OPTIONAL -- Need ON
+ ]]
+}
+
+NeighCellsCRS-Info-r15 ::= CHOICE {
+ release NULL,
+ setup CRS-AssistanceInfoList-r15
+}
+
+CRS-AssistanceInfoList-r15 ::= SEQUENCE (SIZE (1..maxCellReport)) OF CRS-AssistanceInfo-r15
+
+CRS-AssistanceInfo-r15 ::= SEQUENCE {
+ physCellId-r15 PhysCellId,
+ crs-IntfMitigEnabled-r15 ENUMERATED {enabled} OPTIONAL -- Need ON
+}
+
+NAICS-AssistanceInfo-r12 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ neighCellsToReleaseList-r12 NeighCellsToReleaseList-r12 OPTIONAL , -- Need ON
+ neighCellsToAddModList-r12 NeighCellsToAddModList-r12 OPTIONAL, -- Need ON
+ servCellp-a-r12 P-a OPTIONAL -- Need ON
+ }
+}
+
+NeighCellsToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxNeighCell-r12)) OF PhysCellId
+
+NeighCellsToAddModList-r12 ::= SEQUENCE (SIZE (1..maxNeighCell-r12)) OF NeighCellsInfo-r12
+
+NeighCellsInfo-r12 ::= SEQUENCE {
+ physCellId-r12 PhysCellId,
+ p-b-r12 INTEGER (0..3),
+ crs-PortsCount-r12 ENUMERATED {n1, n2, n4, spare},
+ mbsfn-SubframeConfig-r12 MBSFN-SubframeConfigList OPTIONAL, -- Need ON
+ p-aList-r12 SEQUENCE (SIZE (1..maxP-a-PerNeighCell-r12)) OF P-a,
+ transmissionModeList-r12 BIT STRING (SIZE(8)),
+ resAllocGranularity-r12 INTEGER (1..4),
+ ...
+}
+P-a ::= ENUMERATED { dB-6, dB-4dot77, dB-3, dB-1dot77,
+ dB0, dB1, dB2, dB3}
+
+RLC-BearerConfig-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ rlc-Config-r15 RLC-Config-r15 OPTIONAL, -- Need ON
+ logicalChannelIdentityConfig-r15 CHOICE {
+ logicalChannelIdentity-r15 INTEGER (1..10),
+ logicalChannelIdentityExt-r15 INTEGER (32..38)
+ },
+ logicalChannelConfig-r15 LogicalChannelConfig OPTIONAL -- Need ON
+ }
+}
+
+
+RCLWI-Configuration-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ rclwi-Config-r13 RCLWI-Config-r13
+ }
+}
+
+RCLWI-Config-r13 ::= SEQUENCE {
+ command CHOICE {
+ steerToWLAN-r13 SEQUENCE {
+ mobilityConfig-r13 WLAN-Id-List-r12
+ },
+ steerToLTE-r13 NULL
+ },
+ ...
+}
+
+
+ResourceReservationConfigDL-r16 ::= SEQUENCE {
+ periodicityStartPos-r16 PeriodicityStartPos-r16,
+ resourceReservationFreq-r16 CHOICE {
+ rbg-Bitmap1dot4 BIT STRING (SIZE (6)),
+ rbg-Bitmap3 BIT STRING (SIZE (8)),
+ rbg-Bitmap5 BIT STRING (SIZE (13)),
+ rbg-Bitmap10 BIT STRING (SIZE (17)),
+ rbg-Bitmap15 BIT STRING (SIZE (19)),
+ rbg-Bitmap20 BIT STRING (SIZE (25))
+ } OPTIONAL, -- Need OP
+ slotBitmap-r16 CHOICE {
+ slotPattern10ms BIT STRING (SIZE (20)),
+ slotPattern40ms BIT STRING (SIZE (80))
+ },
+ symbolBitmap1-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap1
+ symbolBitmap2-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap2
+ ...
+}
+
+ResourceReservationConfigUL-r16 ::= SEQUENCE {
+ periodicityStartPos-r16 PeriodicityStartPos-r16,
+ slotBitmap-r16 CHOICE {
+ slotPattern10ms BIT STRING (SIZE (20)),
+ slotPattern40ms BIT STRING (SIZE (80))
+ } OPTIONAL, -- Cond FDDandTDDnoDL
+ symbolBitmap1-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap1
+ symbolBitmap2-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap2
+ ...
+}
+
+PeriodicityStartPos-r16 ::= CHOICE {
+ periodicity10ms NULL,
+ periodicity20ms INTEGER(0..1),
+ periodicity40ms INTEGER(0..3),
+ periodicity80ms INTEGER(0..7),
+ periodicity160ms INTEGER(0..15),
+ spare3 NULL, spare2 NULL, spare1 NULL
+}
+
+
+RLC-Config ::= CHOICE {
+ am SEQUENCE {
+ ul-AM-RLC UL-AM-RLC,
+ dl-AM-RLC DL-AM-RLC
+ },
+ um-Bi-Directional SEQUENCE {
+ ul-UM-RLC UL-UM-RLC,
+ dl-UM-RLC DL-UM-RLC
+ },
+ um-Uni-Directional-UL SEQUENCE {
+ ul-UM-RLC UL-UM-RLC
+ },
+ um-Uni-Directional-DL SEQUENCE {
+ dl-UM-RLC DL-UM-RLC
+ },
+ ...
+}
+
+RLC-Config-v1250 ::= SEQUENCE {
+ ul-extended-RLC-LI-Field-r12 BOOLEAN,
+ dl-extended-RLC-LI-Field-r12 BOOLEAN
+}
+
+RLC-Config-v1310 ::= SEQUENCE {
+ ul-extended-RLC-AM-SN-r13 BOOLEAN,
+ dl-extended-RLC-AM-SN-r13 BOOLEAN,
+ pollPDU-v1310 PollPDU-v1310 OPTIONAL -- Need OR
+}
+
+RLC-Config-v1430 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ pollByte-r14 PollByte-r14
+ }
+}
+
+RLC-Config-v1510 ::= SEQUENCE {
+ reestablishRLC-r15 ENUMERATED {true}
+}
+
+RLC-Config-v1530 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ rlc-OutOfOrderDelivery-r15 ENUMERATED {true}
+ }
+}
+
+RLC-Config-v1700 ::= SEQUENCE {
+ t-ReorderingExt-r17 CHOICE {release NULL, setup T-ReorderingExt-r17}
+}
+
+RLC-Config-r15 ::= SEQUENCE {
+ mode-r15 CHOICE {
+ am-r15 SEQUENCE {
+ ul-AM-RLC-r15 UL-AM-RLC-r15,
+ dl-AM-RLC-r15 DL-AM-RLC-r15
+ },
+ um-Bi-Directional-r15 SEQUENCE {
+ ul-UM-RLC-r15 UL-UM-RLC,
+ dl-UM-RLC-r15 DL-UM-RLC-r15
+ },
+ um-Uni-Directional-UL-r15 SEQUENCE {
+ ul-UM-RLC-r15 UL-UM-RLC
+ },
+ um-Uni-Directional-DL-r15 SEQUENCE {
+ dl-UM-RLC-r15 DL-UM-RLC-r15
+ }
+ },
+ reestablishRLC-r15 ENUMERATED {true} OPTIONAL, -- Need ON
+ rlc-OutOfOrderDelivery-r15 ENUMERATED {true} OPTIONAL, -- Need ON
+ ...
+}
+
+UL-AM-RLC ::= SEQUENCE {
+ t-PollRetransmit T-PollRetransmit,
+ pollPDU PollPDU,
+ pollByte PollByte,
+ maxRetxThreshold ENUMERATED {
+ t1, t2, t3, t4, t6, t8, t16, t32}
+}
+
+UL-AM-RLC-r15 ::= SEQUENCE {
+ t-PollRetransmit-r15 T-PollRetransmit,
+ pollPDU-r15 PollPDU-r15,
+ pollByte-r15 PollByte-r14,
+ maxRetxThreshold-r15 ENUMERATED {
+ t1, t2, t3, t4, t6, t8, t16, t32},
+ extended-RLC-LI-Field-r15 BOOLEAN
+}
+
+DL-AM-RLC ::= SEQUENCE {
+ t-Reordering T-Reordering,
+ t-StatusProhibit T-StatusProhibit
+}
+
+DL-AM-RLC-r15 ::= SEQUENCE {
+ t-Reordering-r15 T-Reordering,
+ t-StatusProhibit-r15 T-StatusProhibit,
+ extended-RLC-LI-Field-r15 BOOLEAN
+}
+
+UL-UM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLength
+}
+
+DL-UM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLength,
+ t-Reordering T-Reordering
+}
+
+DL-UM-RLC-r15 ::= SEQUENCE {
+ sn-FieldLength-r15 SN-FieldLength-r15,
+ t-Reordering-r15 T-Reordering
+}
+
+SN-FieldLength ::= ENUMERATED {size5, size10}
+
+SN-FieldLength-r15 ::= ENUMERATED {size5, size10, size16-r15}
+
+T-PollRetransmit ::= ENUMERATED {
+ ms5, ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70,
+ ms75, ms80, ms85, ms90, ms95, ms100, ms105,
+ ms110, ms115, ms120, ms125, ms130, ms135,
+ ms140, ms145, ms150, ms155, ms160, ms165,
+ ms170, ms175, ms180, ms185, ms190, ms195,
+ ms200, ms205, ms210, ms215, ms220, ms225,
+ ms230, ms235, ms240, ms245, ms250, ms300,
+ ms350, ms400, ms450, ms500, ms800-v1310,
+ ms1000-v1310, ms2000-v1310, ms4000-v1310,
+ spare5, spare4, spare3, spare2, spare1}
+
+PollPDU ::= ENUMERATED {
+ p4, p8, p16, p32, p64, p128, p256, pInfinity}
+
+PollPDU-v1310 ::= ENUMERATED {
+ p512, p1024, p2048, p4096, p6144, p8192, p12288, p16384}
+
+PollPDU-r15 ::= ENUMERATED {
+ p4, p8, p16, p32, p64, p128, p256, p512, p1024,
+ p2048-r15, p4096-r15, p6144-r15, p8192-r15,
+ p12288-r15, p16384-r15, pInfinity}
+
+PollByte ::= ENUMERATED {
+ kB25, kB50, kB75, kB100, kB125, kB250, kB375,
+ kB500, kB750, kB1000, kB1250, kB1500, kB2000,
+ kB3000, kBinfinity, spare1}
+
+PollByte-r14 ::= ENUMERATED {
+ kB1, kB2, kB5, kB8, kB10, kB15, kB3500,
+ kB4000, kB4500, kB5000, kB5500, kB6000, kB6500,
+ kB7000, kB7500, kB8000, kB9000, kB10000, kB11000, kB12000,
+ kB13000, kB14000, kB15000, kB16000, kB17000, kB18000,
+ kB19000, kB20000, kB25000, kB30000, kB35000, kB40000}
+
+T-Reordering ::= ENUMERATED {
+ ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70,
+ ms75, ms80, ms85, ms90, ms95, ms100, ms110,
+ ms120, ms130, ms140, ms150, ms160, ms170,
+ ms180, ms190, ms200, ms1600-v1310}
+
+T-ReorderingExt-r17 ::= ENUMERATED {ms2200, ms3200}
+
+T-StatusProhibit ::= ENUMERATED {
+ ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70,
+ ms75, ms80, ms85, ms90, ms95, ms100, ms105,
+ ms110, ms115, ms120, ms125, ms130, ms135,
+ ms140, ms145, ms150, ms155, ms160, ms165,
+ ms170, ms175, ms180, ms185, ms190, ms195,
+ ms200, ms205, ms210, ms215, ms220, ms225,
+ ms230, ms235, ms240, ms245, ms250, ms300,
+ ms350, ms400, ms450, ms500, ms800-v1310,
+ ms1000-v1310, ms1200-v1310, ms1600-v1310, ms2000-v1310, ms2400-v1310, spare2,
+ spare1}
+
+
+RLF-TimersAndConstants-r9 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ t301-r9 ENUMERATED {
+ ms100, ms200, ms300, ms400, ms600, ms1000, ms1500,
+ ms2000},
+ t310-r9 ENUMERATED {
+ ms0, ms50, ms100, ms200, ms500, ms1000, ms2000},
+ n310-r9 ENUMERATED {
+ n1, n2, n3, n4, n6, n8, n10, n20},
+ t311-r9 ENUMERATED {
+ ms1000, ms3000, ms5000, ms10000, ms15000,
+ ms20000, ms30000},
+ n311-r9 ENUMERATED {
+ n1, n2, n3, n4, n5, n6, n8, n10},
+ ...
+ }
+}
+
+RLF-TimersAndConstants-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ t301-v1310 ENUMERATED {
+ ms2500, ms3000, ms3500, ms4000, ms5000,
+ ms6000, ms8000, ms10000},
+ ...,
+ [[ t310-v1330 ENUMERATED {ms4000, ms6000} OPTIONAL -- Need ON
+ ]]
+ }
+}
+
+RLF-TimersAndConstantsSCG-r12 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ t313-r12 ENUMERATED {
+ ms0, ms50, ms100, ms200, ms500, ms1000, ms2000},
+ n313-r12 ENUMERATED {
+ n1, n2, n3, n4, n6, n8, n10, n20},
+ n314-r12 ENUMERATED {
+ n1, n2, n3, n4, n5, n6, n8, n10},
+ ...
+ }
+}
+
+RLF-TimersAndConstantsMCG-Failure-r16 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ t316-r16 ENUMERATED {ms50, ms100, ms200, ms300, ms400,
+ ms500, ms600, ms1000, ms1500, ms2000},
+ ...
+ }
+}
+
+
+RN-SubframeConfig-r10 ::= SEQUENCE {
+ subframeConfigPattern-r10 CHOICE {
+ subframeConfigPatternFDD-r10 BIT STRING (SIZE(8)),
+ subframeConfigPatternTDD-r10 INTEGER (0..31)
+ } OPTIONAL, -- Need ON
+ rpdcch-Config-r10 SEQUENCE {
+ resourceAllocationType-r10 ENUMERATED {type0, type1, type2Localized, type2Distributed,
+ spare4, spare3, spare2, spare1},
+ resourceBlockAssignment-r10 CHOICE {
+ type01-r10 CHOICE {
+ nrb6-r10 BIT STRING (SIZE(6)),
+ nrb15-r10 BIT STRING (SIZE(8)),
+ nrb25-r10 BIT STRING (SIZE(13)),
+ nrb50-r10 BIT STRING (SIZE(17)),
+ nrb75-r10 BIT STRING (SIZE(19)),
+ nrb100-r10 BIT STRING (SIZE(25))
+ },
+ type2-r10 CHOICE {
+ nrb6-r10 BIT STRING (SIZE(5)),
+ nrb15-r10 BIT STRING (SIZE(7)),
+ nrb25-r10 BIT STRING (SIZE(9)),
+ nrb50-r10 BIT STRING (SIZE(11)),
+ nrb75-r10 BIT STRING (SIZE(12)),
+ nrb100-r10 BIT STRING (SIZE(13))
+ },
+ ...
+ },
+ demodulationRS-r10 CHOICE {
+ interleaving-r10 ENUMERATED {crs},
+ noInterleaving-r10 ENUMERATED {crs, dmrs}
+ },
+ pdsch-Start-r10 INTEGER (1..3),
+ pucch-Config-r10 CHOICE {
+ tdd CHOICE {
+ channelSelectionMultiplexingBundling SEQUENCE {
+ n1PUCCH-AN-List-r10 SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047)
+ },
+ fallbackForFormat3 SEQUENCE {
+ n1PUCCH-AN-P0-r10 INTEGER (0..2047),
+ n1PUCCH-AN-P1-r10 INTEGER (0..2047) OPTIONAL -- Need OR
+ }
+ },
+ fdd SEQUENCE {
+ n1PUCCH-AN-P0-r10 INTEGER (0..2047),
+ n1PUCCH-AN-P1-r10 INTEGER (0..2047) OPTIONAL -- Need OR
+ }
+ },
+ ...
+ } OPTIONAL, -- Need ON
+ ...
+}
+
+
+RSS-Config-r15 ::= SEQUENCE {
+ duration-r15 ENUMERATED {sf8, sf16, sf32, sf40},
+ freqLocation-r15 INTEGER (0..98),
+ periodicity-r15 ENUMERATED {ms160, ms320, ms640, ms1280},
+ powerBoost-r15 ENUMERATED {dB0, dB3, dB4dot8, dB6},
+ timeOffset-r15 INTEGER (0..31)
+}
+
+
+SchedulingRequestConfig ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ sr-PUCCH-ResourceIndex INTEGER (0..2047),
+ sr-ConfigIndex INTEGER (0..157),
+ dsr-TransMax ENUMERATED {
+ n4, n8, n16, n32, n64, spare3, spare2, spare1}
+ }
+}
+
+SchedulingRequestConfig-v1020 ::= SEQUENCE {
+ sr-PUCCH-ResourceIndexP1-r10 INTEGER (0..2047) OPTIONAL -- Need OR
+}
+
+SchedulingRequestConfigSCell-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ sr-PUCCH-ResourceIndex-r13 INTEGER (0..2047),
+ sr-PUCCH-ResourceIndexP1-r13 INTEGER (0..2047) OPTIONAL, -- Need OR
+ sr-ConfigIndex-r13 INTEGER (0..157),
+ dsr-TransMax-r13 ENUMERATED {
+ n4, n8, n16, n32, n64, spare3, spare2, spare1}
+ }
+
+}
+
+SchedulingRequestConfig-v1530 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ sr-SlotSPUCCH-IndexFH-r15 INTEGER (0..1319) OPTIONAL, -- Need OR
+ sr-SlotSPUCCH-IndexNoFH-r15 INTEGER (0..3959) OPTIONAL, -- Need OR
+ sr-SubslotSPUCCH-ResourceList-r15 SR-SubslotSPUCCH-ResourceList-r15 OPTIONAL, -- Need OR
+ sr-ConfigIndexSlot-r15 INTEGER (0..36) OPTIONAL, -- Need OR
+ sr-ConfigIndexSubslot-r15 INTEGER (0..122) OPTIONAL, -- Need OR
+ dssr-TransMax-r15 ENUMERATED {
+ n4, n8, n16, n32, n64, spare3, spare2, spare1}
+ }
+}
+
+SR-SubslotSPUCCH-ResourceList-r15 ::= SEQUENCE (SIZE(1..4)) OF INTEGER (0..1319)
+
+
+SlotOrSubslotPDSCH-Config-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ altCQI-TableSTTI-r15 ENUMERATED {
+ allSubframes, csi-SubframeSet1,
+ csi-SubframeSet2, spare1} OPTIONAL, -- Need OR
+ altCQI-Table1024QAM-STTI-r15 ENUMERATED {
+ allSubframes, csi-SubframeSet1,
+ csi-SubframeSet2, spare1} OPTIONAL, -- Need OR
+ resourceAllocation-r15 ENUMERATED {
+ resourceAllocationType0,resourceAllocationType2} OPTIONAL, -- Need OR
+ tbsIndexAlt-STTI-r15 ENUMERATED {a33} OPTIONAL, -- Need OR
+ tbsIndexAlt2-STTI-r15 ENUMERATED {b33} OPTIONAL, -- Need OR
+ tbsIndexAlt3-STTI-r15 ENUMERATED {a37} OPTIONAL, -- Need OR
+ ...
+ }
+}
+
+
+SlotOrSubslotPUSCH-Config-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ betaOffsetSlot-ACK-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR
+ betaOffset2Slot-ACK-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR
+ betaOffsetSubslot-ACK-Index-r15 SEQUENCE (SIZE(1..2)) OF INTEGER(0..15) OPTIONAL, -- Need OR
+ betaOffset2Subslot-ACK-Index-r15 SEQUENCE (SIZE(1..2)) OF INTEGER(0..15) OPTIONAL, -- Need OR
+ betaOffsetSlot-RI-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR
+ betaOffsetSubslot-RI-Index-r15 SEQUENCE (SIZE(1..2)) OF INTEGER(0..15) OPTIONAL, -- Need OR
+ betaOffsetSlot-CQI-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR
+ betaOffsetSubslot-CQI-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR
+ enable256QAM-SlotOrSubslot-r15 Enable256QAM-r14 OPTIONAL, -- Need ON
+ resourceAllocationOffset-r15 INTEGER (1..2) OPTIONAL, -- Need OR
+ ul-DMRS-IFDMA-SlotOrSubslot-r15 BOOLEAN,
+ ...
+ }
+}
+
+
+SoundingRS-UL-ConfigCommon ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ srs-BandwidthConfig ENUMERATED {bw0, bw1, bw2, bw3, bw4, bw5, bw6, bw7},
+ srs-SubframeConfig ENUMERATED {
+ sc0, sc1, sc2, sc3, sc4, sc5, sc6, sc7,
+ sc8, sc9, sc10, sc11, sc12, sc13, sc14, sc15},
+ ackNackSRS-SimultaneousTransmission BOOLEAN,
+ srs-MaxUpPts ENUMERATED {true} OPTIONAL -- Cond TDD
+ }
+}
+
+SoundingRS-UL-ConfigDedicated ::= CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ srs-Bandwidth ENUMERATED {bw0, bw1, bw2, bw3},
+ srs-HoppingBandwidth ENUMERATED {hbw0, hbw1, hbw2, hbw3},
+ freqDomainPosition INTEGER (0..23),
+ duration BOOLEAN,
+ srs-ConfigIndex INTEGER (0..1023),
+ transmissionComb INTEGER (0..1),
+ cyclicShift ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7}
+ }
+}
+
+SoundingRS-UL-ConfigDedicated-v1020 ::= SEQUENCE {
+ srs-AntennaPort-r10 SRS-AntennaPort
+}
+
+SoundingRS-UL-ConfigDedicated-v1310 ::= CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ transmissionComb-v1310 INTEGER (2..3) OPTIONAL, -- Need OR
+ cyclicShift-v1310 ENUMERATED {cs8, cs9, cs10, cs11} OPTIONAL, -- Need OR
+ transmissionCombNum-r13 ENUMERATED {n2, n4} OPTIONAL -- Need OR
+ }
+}
+
+SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 ::= CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ srs-UpPtsAdd-r13 ENUMERATED {sym2, sym4},
+ srs-Bandwidth-r13 ENUMERATED {bw0, bw1, bw2, bw3},
+ srs-HoppingBandwidth-r13 ENUMERATED {hbw0, hbw1, hbw2, hbw3},
+ freqDomainPosition-r13 INTEGER (0..23),
+ duration-r13 BOOLEAN,
+ srs-ConfigIndex-r13 INTEGER (0..1023),
+ transmissionComb-r13 INTEGER (0..3),
+ cyclicShift-r13 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7,
+ cs8, cs9, cs10, cs11},
+ srs-AntennaPort-r13 SRS-AntennaPort,
+ transmissionCombNum-r13 ENUMERATED {n2, n4}
+ }
+}
+
+SoundingRS-UL-ConfigDedicatedAperiodic-r10 ::= CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ srs-ConfigIndexAp-r10 INTEGER (0..31),
+ srs-ConfigApDCI-Format4-r10 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAp-r10 OPTIONAL,--Need ON
+ srs-ActivateAp-r10 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ srs-ConfigApDCI-Format0-r10 SRS-ConfigAp-r10,
+ srs-ConfigApDCI-Format1a2b2c-r10 SRS-ConfigAp-r10,
+ ...
+ }
+ } OPTIONAL -- Need ON
+ }
+}
+
+SoundingRS-UL-ConfigDedicatedAperiodic-v1310 ::= CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ srs-ConfigApDCI-Format4-v1310 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAp-v1310 OPTIONAL,--Need ON
+ srs-ActivateAp-v1310 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ srs-ConfigApDCI-Format0-v1310 SRS-ConfigAp-v1310 OPTIONAL, -- Need ON
+ srs-ConfigApDCI-Format1a2b2c-v1310 SRS-ConfigAp-v1310 OPTIONAL -- Need ON
+ }
+ } OPTIONAL -- Need ON
+ }
+}
+
+SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 ::= CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ srs-UpPtsAdd-r13 ENUMERATED {sym2, sym4},
+ srs-ConfigIndexAp-r13 INTEGER (0..31),
+ srs-ConfigApDCI-Format4-r13 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAp-r13 OPTIONAL,--Need ON
+ srs-ActivateAp-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ srs-ConfigApDCI-Format0-r13 SRS-ConfigAp-r13,
+ srs-ConfigApDCI-Format1a2b2c-r13 SRS-ConfigAp-r13
+ }
+ } OPTIONAL -- Need ON
+ }
+}
+
+SoundingRS-UL-ConfigDedicatedAperiodic-v1430 ::= CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ srs-SubframeIndication-r14 INTEGER (1..4) OPTIONAL -- Need ON
+ }
+}
+
+SoundingRS-UL-ConfigDedicatedAdd-r16 ::= SEQUENCE {
+ srs-ConfigIndexAp-r16 INTEGER (0..31),
+ srs-ConfigApDCI-Format4-r16 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAdd-r16
+ OPTIONAL, --Need ON
+ srs-ActivateAp-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ srs-ConfigApDCI-Format0-r16 SRS-ConfigAdd-r16,
+ srs-ConfigApDCI-Format1a2b2c-r16 SRS-ConfigAdd-r16
+ }
+ } OPTIONAL --Need ON
+}
+
+SRS-ConfigAp-r10 ::= SEQUENCE {
+ srs-AntennaPortAp-r10 SRS-AntennaPort,
+ srs-BandwidthAp-r10 ENUMERATED {bw0, bw1, bw2, bw3},
+ freqDomainPositionAp-r10 INTEGER (0..23),
+ transmissionCombAp-r10 INTEGER (0..1),
+ cyclicShiftAp-r10 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7}
+}
+
+SRS-ConfigAp-v1310 ::= SEQUENCE {
+ transmissionCombAp-v1310 INTEGER (2..3) OPTIONAL, -- Need OR
+ cyclicShiftAp-v1310 ENUMERATED {cs8, cs9, cs10, cs11} OPTIONAL, -- Need OR
+ transmissionCombNum-r13 ENUMERATED {n2, n4} OPTIONAL -- Need OR
+}
+
+SRS-ConfigAp-r13 ::= SEQUENCE {
+ srs-AntennaPortAp-r13 SRS-AntennaPort,
+ srs-BandwidthAp-r13 ENUMERATED {bw0, bw1, bw2, bw3},
+ freqDomainPositionAp-r13 INTEGER (0..23),
+ transmissionCombAp-r13 INTEGER (0..3),
+ cyclicShiftAp-r13 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7,
+ cs8, cs9, cs10, cs11},
+ transmissionCombNum-r13 ENUMERATED {n2, n4}
+}
+
+SRS-AntennaPort ::= ENUMERATED {an1, an2, an4, spare1}
+
+SRS-ConfigAdd-r16 ::= SEQUENCE {
+ srs-RepNumAdd-r16 ENUMERATED {n1, n2, n3, n4, n6, n7, n8, n9, n12, n13},
+ srs-BandwidthAdd-r16 ENUMERATED {bw0, bw1, bw2, bw3},
+ srs-HoppingBandwidthAdd-r16 ENUMERATED {hbw0, hbw1, hbw2, hbw3},
+ srs-FreqDomainPosAdd-r16 INTEGER (0..23),
+ srs-AntennaPortAdd-r16 SRS-AntennaPort,
+ srs-CyclicShiftAdd-r16 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7,
+ cs8, cs9, cs10, cs11},
+ srs-TransmissionCombNumAdd-r16 ENUMERATED {n2, n4},
+ srs-TransmissionCombAdd-r16 INTEGER (0..3),
+ srs-StartPosAdd-r16 INTEGER (1..13),
+ srs-DurationAdd-r16 INTEGER (1..13),
+ srs-GuardSymbolAS-Add-r16 ENUMERATED {enabled} OPTIONAL, -- Need ON
+ srs-GuardSymbolFH-Add-r16 ENUMERATED {enabled} OPTIONAL -- Need ON
+}
+
+
+SPDCCH-Config-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ spdcch-L1-ReuseIndication-r15 ENUMERATED {n0,n1,n2} OPTIONAL, -- Need OR
+ spdcch-SetConfig-r15 SPDCCH-Set-r15 OPTIONAL -- Need OR
+ }
+}
+
+SPDCCH-Set-r15 ::= SEQUENCE (SIZE (1..4)) OF SPDCCH-Elements-r15
+
+SPDCCH-Elements-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ spdcch-SetConfigId-r15 INTEGER (0..3) OPTIONAL, -- Need OR
+ spdcch-SetReferenceSig-r15 ENUMERATED {crs, dmrs} OPTIONAL, -- Need OR
+ transmissionType-r15 ENUMERATED {localised, distributed} OPTIONAL, -- Need OR
+ spdcch-NoOfSymbols-r15 INTEGER (1..2) OPTIONAL, -- Need OR
+ dmrs-ScramblingSequenceInt-r15 INTEGER (0..503) OPTIONAL, -- Need OR
+ dci7-CandidatesPerAL-PDCCH-r15 SEQUENCE (SIZE(1..4)) OF
+ DCI7-Candidates-r15 OPTIONAL, -- Need OR
+ dci7-CandidateSetsPerAL-SPDCCH-r15 SEQUENCE (SIZE(1..2)) OF
+ DCI7-CandidatesPerAL-SPDCCH-r15 OPTIONAL, -- Need OR
+ resourceBlockAssignment-r15 SEQUENCE{
+ numberRB-InFreq-domain-r15 INTEGER (2..100),
+ resourceBlockAssignment-r15 BIT STRING (SIZE(98))
+ } OPTIONAL, -- Need OR
+ subslotApplicability-r15 BIT STRING (SIZE(5)) OPTIONAL, -- Need OR
+ al-StartingPointSPDCCH-r15 SEQUENCE (SIZE(1..4)) OF
+ INTEGER(0..49) OPTIONAL, -- Need OR
+ subframeType-r15 ENUMERATED {mbsfn, nonmbsfn, all} OPTIONAL, -- Need OR
+ rateMatchingMode-r15 ENUMERATED {m1, m2, m3, m4} OPTIONAL, -- Need OR
+ ...
+ }
+}
+
+DCI7-Candidates-r15 ::= INTEGER (0..6)
+DCI7-CandidatesPerAL-SPDCCH-r15 ::= SEQUENCE (SIZE(1..4)) OF DCI7-Candidates-r15
+
+
+SPS-Config ::= SEQUENCE {
+ semiPersistSchedC-RNTI C-RNTI OPTIONAL, -- Need OR
+ sps-ConfigDL SPS-ConfigDL OPTIONAL, -- Need ON
+ sps-ConfigUL SPS-ConfigUL OPTIONAL -- Need ON
+}
+
+SPS-Config-v1430 ::= SEQUENCE {
+ ul-SPS-V-RNTI-r14 C-RNTI OPTIONAL, -- Need OR
+ sl-SPS-V-RNTI-r14 C-RNTI OPTIONAL, -- Need OR
+ sps-ConfigUL-ToAddModList-r14 SPS-ConfigUL-ToAddModList-r14 OPTIONAL, -- Need ON
+ sps-ConfigUL-ToReleaseList-r14 SPS-ConfigUL-ToReleaseList-r14 OPTIONAL, -- Need ON
+ sps-ConfigSL-ToAddModList-r14 SPS-ConfigSL-ToAddModList-r14 OPTIONAL, -- Need ON
+ sps-ConfigSL-ToReleaseList-r14 SPS-ConfigSL-ToReleaseList-r14 OPTIONAL -- Need ON
+}
+
+SPS-ConfigUL-ToAddModList-r14 ::= SEQUENCE (SIZE (1..maxConfigSPS-r14)) OF SPS-ConfigUL
+
+SPS-ConfigUL-ToReleaseList-r14 ::= SEQUENCE (SIZE (1..maxConfigSPS-r14)) OF SPS-ConfigIndex-r14
+
+SPS-ConfigSL-ToAddModList-r14 ::= SEQUENCE (SIZE (1..maxConfigSPS-r14)) OF SPS-ConfigSL-r14
+
+SPS-ConfigSL-ToReleaseList-r14 ::= SEQUENCE (SIZE (1..maxConfigSPS-r14)) OF SPS-ConfigIndex-r14
+
+SPS-Config-v1530 ::= SEQUENCE {
+ semiPersistSchedC-RNTI-r15 C-RNTI OPTIONAL, -- Need OR
+ sps-ConfigDL-r15 SPS-ConfigDL OPTIONAL, -- Need ON
+ sps-ConfigUL-STTI-ToAddModList-r15 SPS-ConfigUL-STTI-ToAddModList-r15 OPTIONAL, -- Need ON
+ sps-ConfigUL-STTI-ToReleaseList-r15 SPS-ConfigUL-STTI-ToReleaseList-r15 OPTIONAL, -- Need ON
+ sps-ConfigUL-ToAddModList-r15 SPS-ConfigUL-ToAddModList-r15 OPTIONAL, -- Need ON
+ sps-ConfigUL-ToReleaseList-r15 SPS-ConfigUL-ToReleaseList-r15 OPTIONAL -- Need ON
+}
+
+SPS-Config-v1540 ::= SEQUENCE {
+ sps-ConfigDL-STTI-r15 SPS-ConfigDL-STTI-r15 OPTIONAL -- Need OR
+}
+
+SPS-ConfigUL-STTI-ToAddModList-r15 ::= SEQUENCE (SIZE (1..maxConfigSPS-r15)) OF SPS-ConfigUL-STTI-r15
+
+SPS-ConfigUL-STTI-ToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxConfigSPS-r15)) OF SPS-ConfigIndex-r15
+
+SPS-ConfigUL-ToAddModList-r15 ::= SEQUENCE (SIZE (1..maxConfigSPS-r15)) OF SPS-ConfigUL
+
+SPS-ConfigUL-ToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxConfigSPS-r15)) OF SPS-ConfigIndex-r15
+
+SPS-ConfigDL ::= CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ semiPersistSchedIntervalDL ENUMERATED {
+ sf10, sf20, sf32, sf40, sf64, sf80,
+ sf128, sf160, sf320, sf640, spare6,
+ spare5, spare4, spare3, spare2,
+ spare1},
+ numberOfConfSPS-Processes INTEGER (1..8),
+ n1PUCCH-AN-PersistentList N1PUCCH-AN-PersistentList,
+ ...,
+ [[ twoAntennaPortActivated-r10 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ n1PUCCH-AN-PersistentListP1-r10 N1PUCCH-AN-PersistentList
+ }
+ } OPTIONAL -- Need ON
+ ]]
+ }
+}
+
+SPS-ConfigUL ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ semiPersistSchedIntervalUL ENUMERATED {
+ sf10, sf20, sf32, sf40, sf64, sf80,
+ sf128, sf160, sf320, sf640, sf1-v1430,
+ sf2-v1430, sf3-v1430, sf4-v1430, sf5-v1430,
+ spare1},
+ implicitReleaseAfter ENUMERATED {e2, e3, e4, e8},
+ p0-Persistent SEQUENCE {
+ p0-NominalPUSCH-Persistent INTEGER (-126..24),
+ p0-UE-PUSCH-Persistent INTEGER (-8..7)
+ } OPTIONAL, -- Need OP
+ twoIntervalsConfig ENUMERATED {true} OPTIONAL, -- Cond TDD
+ ...,
+ [[ p0-PersistentSubframeSet2-r12 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ p0-NominalPUSCH-PersistentSubframeSet2-r12 INTEGER (-126..24),
+ p0-UE-PUSCH-PersistentSubframeSet2-r12 INTEGER (-8..7)
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ numberOfConfUlSPS-Processes-r13 INTEGER (1..8) OPTIONAL -- Need OR
+ ]],
+ [[ fixedRV-NonAdaptive-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ sps-ConfigIndex-r14 SPS-ConfigIndex-r14 OPTIONAL, -- Need OR
+ semiPersistSchedIntervalUL-v1430 ENUMERATED {
+ sf50, sf100, sf200, sf300, sf400, sf500,
+ sf600, sf700, sf800, sf900, sf1000, spare5,
+ spare4, spare3, spare2, spare1} OPTIONAL -- Need OR
+
+ ]],
+ [[ cyclicShiftSPS-r15 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7}
+ OPTIONAL, -- Need ON
+ harq-ProcID-Offset-r15 INTEGER (0..7) OPTIONAL, -- Need ON
+ rv-SPS-UL-Repetitions-r15 ENUMERATED {ulrvseq1, ulrvseq2, ulrvseq3} OPTIONAL, -- Need ON
+ tpc-PDCCH-ConfigPUSCH-SPS-r15 TPC-PDCCH-Config OPTIONAL, -- Need ON
+ totalNumberPUSCH-SPS-UL-Repetitions-r15 ENUMERATED {n2,n3,n4,n6} OPTIONAL, -- Need ON
+ sps-ConfigIndex-r15 SPS-ConfigIndex-r15 OPTIONAL -- Cond SPS
+ ]]
+ }
+}
+
+SPS-ConfigSL-r14 ::= SEQUENCE {
+ sps-ConfigIndex-r14 SPS-ConfigIndex-r14,
+ semiPersistSchedIntervalSL-r14 ENUMERATED {
+ sf20, sf50, sf100, sf200, sf300, sf400,
+ sf500, sf600, sf700, sf800, sf900, sf1000,
+ spare4, spare3, spare2, spare1}
+}
+
+SPS-ConfigIndex-r14 ::= INTEGER (1..maxConfigSPS-r14)
+
+SPS-ConfigIndex-r15 ::= INTEGER (1..maxConfigSPS-r15)
+
+N1PUCCH-AN-PersistentList ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047)
+
+N1SPUCCH-AN-PersistentList-r15 ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047)
+
+SPS-ConfigDL-STTI-r15 ::= CHOICE{
+ release NULL,
+ setup SEQUENCE {
+ semiPersistSchedIntervalDL-STTI-r15 ENUMERATED {
+ sTTI1, sTTI2, sTTI3, sTTI4, sTTI6, sTTI8, sTTI12, sTTI16,
+ sTTI20, sTTI40, sTTI60, sTTI80, sTTI120, sTTI240,
+ spare2, spare1},
+ numberOfConfSPS-Processes-STTI-r15 INTEGER (1..12),
+ twoAntennaPortActivated-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ n1SPUCCH-AN-PersistentListP1-r15 N1SPUCCH-AN-PersistentList-r15
+ }
+ } OPTIONAL, -- Need ON
+ sTTI-StartTimeDL-r15 INTEGER (0..5),
+ tpc-PDCCH-ConfigPUCCH-SPS-r15 TPC-PDCCH-Config OPTIONAL, -- Need ON
+ ...
+ }
+}
+
+SPS-ConfigUL-STTI-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ semiPersistSchedIntervalUL-STTI-r15 ENUMERATED {
+ sTTI1, sTTI2, sTTI3, sTTI4, sTTI6, sTTI8, sTTI12, sTTI16,
+ sTTI20, sTTI40, sTTI60, sTTI80, sTTI120, sTTI240,
+ spare2, spare1},
+ implicitReleaseAfter ENUMERATED {e2, e3, e4, e8},
+ p0-Persistent-r15 SEQUENCE {
+ p0-NominalSPUSCH-Persistent-r15 INTEGER (-126..24),
+ p0-UE-SPUSCH-Persistent-r15 INTEGER (-8..7)
+ } OPTIONAL, -- Need OP
+ twoIntervalsConfig-r15 ENUMERATED {true} OPTIONAL, -- Cond TDD
+ p0-PersistentSubframeSet2-r15 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ p0-NominalSPUSCH-PersistentSubframeSet2-r15 INTEGER (-126..24),
+ p0-UE-SPUSCH-PersistentSubframeSet2-r15 INTEGER (-8..7)
+ }
+ } OPTIONAL, -- Need ON
+ numberOfConfUL-SPS-Processes-STTI-r15 INTEGER (1..12) OPTIONAL, -- Need OR
+ sTTI-StartTimeUL-r15 INTEGER (0..5),
+ tpc-PDCCH-ConfigPUSCH-SPS-r15 TPC-PDCCH-Config OPTIONAL, -- Need ON
+ cyclicShiftSPS-sTTI-r15 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7} OPTIONAL, -- Need ON
+ ifdma-Config-SPS-r15 BOOLEAN OPTIONAL, -- Need ON
+ harq-ProcID-offset-r15 INTEGER (0..15) OPTIONAL, -- Need ON
+ rv-SPS-STTI-UL-Repetitions-r15 ENUMERATED {ulrvseq1, ulrvseq2, ulrvseq3} OPTIONAL, -- Need ON
+ sps-ConfigIndex-r15 SPS-ConfigIndex-r15 OPTIONAL, -- Need OR
+ tbs-scalingFactorSubslotSPS-UL-Repetitions-r15 ENUMERATED {n6, n12} OPTIONAL, -- Need ON
+ totalNumberPUSCH-SPS-STTI-UL-Repetitions-r15 ENUMERATED {n2,n3,n4,n6} OPTIONAL, -- Need ON
+ ...
+ }
+}
+
+
+
+SPUCCH-Config-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ spucch-Set-r15 SPUCCH-Set-r15 OPTIONAL, -- Need ON
+ twoAntennaPortActivatedSPUCCH-Format1a1b-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ dummy SEQUENCE {
+ n3SPUCCH-AN-List-r15 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549)
+ }
+ }
+}
+
+SPUCCH-Config-v1550 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ twoAntennaPortActivatedSPUCCH-Format3-v1550 SEQUENCE {
+ n3SPUCCH-AN-List-v1550 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549)
+ }
+ }
+}
+
+SPUCCH-Set-r15 ::= SEQUENCE (SIZE (1..4)) OF SPUCCH-Elements-r15
+
+SPUCCH-Elements-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ n1SubslotSPUCCH-AN-List-r15 SEQUENCE (SIZE(1..4)) OF INTEGER (0..1319) OPTIONAL, -- Need OR
+ n1SlotSPUCCH-FH-AN-List-r15 INTEGER (0..1319) OPTIONAL, -- Need OR
+ n1SlotSPUCCH-NoFH-AN-List-r15 INTEGER (0..3959) OPTIONAL, -- Need OR
+ n3SPUCCH-AN-List-r15 INTEGER (0..549) OPTIONAL, -- Need OR
+ n4SPUCCHSlot-Resource-r15 SEQUENCE (SIZE(1..2)) OF N4SPUCCH-Resource-r15 OPTIONAL, -- Need OR
+ n4SPUCCHSubslot-Resource-r15 SEQUENCE (SIZE(1..2)) OF N4SPUCCH-Resource-r15 OPTIONAL, -- Need OR
+ n4maxCoderateSlotPUCCH-r15 INTEGER (0..7) OPTIONAL, -- Need OR
+ n4maxCoderateSubslotPUCCH-r15 INTEGER (0..7) OPTIONAL, -- Need OR
+ n4maxCoderateMultiResourceSlotPUCCH-r15 INTEGER (0..7) OPTIONAL, -- Need OR
+ n4maxCoderateMultiResourceSubslotPUCCH-r15 INTEGER (0..7) OPTIONAL -- Need OR
+ }
+}
+
+N4SPUCCH-Resource-r15 ::= SEQUENCE {
+ n4startingPRB-r15 INTEGER (0..109),
+ n4numberOfPRB-r15 INTEGER (0..7)
+}
+
+
+SRS-TPC-PDCCH-Config-r14 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ srs-TPC-RNTI-r14 BIT STRING (SIZE (16)),
+ startingBitOfFormat3B-r14 INTEGER (0..31),
+ fieldTypeFormat3B-r14 INTEGER (1..4),
+ srs-CC-SetIndexlist-r14 SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex-r14 OPTIONAL -- Cond SRS-Trigger-TypeA
+
+ }
+}
+
+SRS-CC-SetIndex-r14 ::= SEQUENCE {
+ cc-SetIndex-r14 INTEGER (0..3),
+ cc-IndexInOneCC-Set-r14 INTEGER (0..7)
+}
+
+
+TDD-Config ::= SEQUENCE {
+ subframeAssignment ENUMERATED {
+ sa0, sa1, sa2, sa3, sa4, sa5, sa6},
+ specialSubframePatterns ENUMERATED {
+ ssp0, ssp1, ssp2, ssp3, ssp4,ssp5, ssp6, ssp7,
+ ssp8}
+}
+
+TDD-Config-v1130 ::= SEQUENCE {
+ specialSubframePatterns-v1130 ENUMERATED {ssp7,ssp9}
+}
+
+TDD-Config-v1430 ::= SEQUENCE {
+ specialSubframePatterns-v1430 ENUMERATED {ssp10}
+}
+
+TDD-Config-v1450 ::= SEQUENCE {
+ specialSubframePatterns-v1450 ENUMERATED {ssp10-CRS-LessDwPTS}
+}
+
+TDD-ConfigSL-r12 ::= SEQUENCE {
+ subframeAssignmentSL-r12 ENUMERATED {
+ none, sa0, sa1, sa2, sa3, sa4, sa5, sa6}
+}
+
+
+TDM-PatternConfig-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ subframeAssignment-r15 SubframeAssignment-r15,
+ harq-Offset-r15 INTEGER (0..9)
+ }
+}
+
+SubframeAssignment-r15 ::= ENUMERATED {sa0, sa1, sa2, sa3, sa4, sa5, sa6}
+
+
+TimeAlignmentTimer ::= ENUMERATED {
+ sf500, sf750, sf1280, sf1920, sf2560, sf5120,
+ sf10240, infinity}
+
+
+TimeReferenceInfo-r15 ::= SEQUENCE {
+ time-r15 ReferenceTime-r15,
+ uncertainty-r15 INTEGER (0..12) OPTIONAL, -- Need OR
+ timeInfoType-r15 ENUMERATED {localClock} OPTIONAL, -- Need OR
+ referenceSFN-r15 INTEGER (0..1023) OPTIONAL -- Cond TimeRef
+}
+
+ReferenceTime-r15 ::= SEQUENCE {
+ refDays-r15 INTEGER (0..72999),
+ refSeconds-r15 INTEGER (0..86399),
+ refMilliSeconds-r15 INTEGER (0..999),
+ refQuarterMicroSeconds-r15 INTEGER (0..3999)
+}
+
+
+TPC-PDCCH-Config ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ tpc-RNTI BIT STRING (SIZE (16)),
+ tpc-Index TPC-Index
+ }
+}
+
+TPC-PDCCH-ConfigSCell-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ tpc-Index-PUCCH-SCell-r13 TPC-Index
+ }
+}
+
+TPC-Index ::= CHOICE {
+ indexOfFormat3 INTEGER (1..15),
+ indexOfFormat3A INTEGER (1..31)
+}
+
+
+TunnelConfigLWIP-r13 ::= SEQUENCE {
+ ip-Address-r13 IP-Address-r13,
+ ike-Identity-r13 IKE-Identity-r13,
+ ...,
+ [[ lwip-Counter-r13 INTEGER (0..65535) OPTIONAL -- Cond LWIP-Setup
+ ]]
+}
+
+IKE-Identity-r13 ::= SEQUENCE {
+ idI-r13 OCTET STRING
+}
+
+IP-Address-r13 ::= CHOICE {
+ ipv4-r13 BIT STRING (SIZE (32)),
+ ipv6-r13 BIT STRING (SIZE (128))
+}
+
+
+UplinkPowerControlCommon ::= SEQUENCE {
+ p0-NominalPUSCH INTEGER (-126..24),
+ alpha Alpha-r12,
+ p0-NominalPUCCH INTEGER (-127..-96),
+ deltaFList-PUCCH DeltaFList-PUCCH,
+ deltaPreambleMsg3 INTEGER (-1..6)
+}
+
+UplinkPowerControlCommon-v1020 ::= SEQUENCE {
+ deltaF-PUCCH-Format3-r10 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2,
+ deltaF3, deltaF4, deltaF5, deltaF6},
+ deltaF-PUCCH-Format1bCS-r10 ENUMERATED {deltaF1, deltaF2, spare2, spare1}
+}
+
+UplinkPowerControlCommon-v1310 ::= SEQUENCE {
+ deltaF-PUCCH-Format4-r13 ENUMERATED {deltaF16, deltaF15, deltaF14,deltaF13, deltaF12,
+ deltaF11, deltaF10, spare1} OPTIONAL, -- Need OR
+ deltaF-PUCCH-Format5-13 ENUMERATED { deltaF13, deltaF12, deltaF11, deltaF10, deltaF9,
+ deltaF8, deltaF7, spare1} OPTIONAL -- Need OR
+}
+
+UplinkPowerControlCommon-v1530 ::= SEQUENCE {
+ deltaFList-SPUCCH-r15 DeltaFList-SPUCCH-r15
+}
+
+UplinkPowerControlCommon-v1610 ::= SEQUENCE {
+ alphaSRS-Add-r16 Alpha-r12,
+ p0-NominalSRS-Add-r16 INTEGER (-126..24)
+}
+
+UplinkPowerControlCommonPSCell-r12 ::= SEQUENCE {
+-- For uplink power control the additional/ missing fields are signalled (compared to SCell)
+ deltaF-PUCCH-Format3-r12 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2,
+ deltaF3, deltaF4, deltaF5, deltaF6},
+ deltaF-PUCCH-Format1bCS-r12 ENUMERATED {deltaF1, deltaF2, spare2, spare1},
+ p0-NominalPUCCH-r12 INTEGER (-127..-96),
+ deltaFList-PUCCH-r12 DeltaFList-PUCCH
+}
+
+
+UplinkPowerControlCommonSCell-r10 ::= SEQUENCE {
+ p0-NominalPUSCH-r10 INTEGER (-126..24),
+ alpha-r10 Alpha-r12
+}
+
+UplinkPowerControlCommonSCell-v1130 ::= SEQUENCE {
+ deltaPreambleMsg3-r11 INTEGER (-1..6)
+}
+
+UplinkPowerControlCommonSCell-v1310 ::= SEQUENCE {
+-- For uplink power control the additional/ missing fields are signalled (compared to SCell)
+ p0-NominalPUCCH INTEGER (-127..-96),
+ deltaFList-PUCCH DeltaFList-PUCCH,
+ deltaF-PUCCH-Format3-r12 ENUMERATED {deltaF-1, deltaF0, deltaF1,
+ deltaF2, deltaF3, deltaF4, deltaF5,
+ deltaF6} OPTIONAL, -- Need OR
+ deltaF-PUCCH-Format1bCS-r12 ENUMERATED {deltaF1, deltaF2,
+ spare2, spare1} OPTIONAL, -- Need OR
+ deltaF-PUCCH-Format4-r13 ENUMERATED {deltaF16, deltaF15, deltaF14,
+ deltaF13, deltaF12, deltaF11, deltaF10,
+ spare1} OPTIONAL, -- Need OR
+ deltaF-PUCCH-Format5-13 ENUMERATED { deltaF13, deltaF12, deltaF11,
+ deltaF10, deltaF9, deltaF8, deltaF7,
+ spare1} OPTIONAL -- Need OR
+}
+
+UplinkPowerControlCommonPUSCH-LessCell-v1430 ::= SEQUENCE {
+ p0-Nominal-PeriodicSRS-r14 INTEGER (-126..24) OPTIONAL, -- Need OR
+ p0-Nominal-AperiodicSRS-r14 INTEGER (-126..24) OPTIONAL, -- Need OR
+ alpha-SRS-r14 Alpha-r12 OPTIONAL -- Need OR
+}
+
+UplinkPowerControlDedicated ::= SEQUENCE {
+ p0-UE-PUSCH INTEGER (-8..7),
+ deltaMCS-Enabled ENUMERATED {en0, en1},
+ accumulationEnabled BOOLEAN,
+ p0-UE-PUCCH INTEGER (-8..7),
+ pSRS-Offset INTEGER (0..15),
+ filterCoefficient FilterCoefficient DEFAULT fc4
+}
+
+UplinkPowerControlDedicated-v1020 ::= SEQUENCE {
+ deltaTxD-OffsetListPUCCH-r10 DeltaTxD-OffsetListPUCCH-r10 OPTIONAL, -- Need OR
+ pSRS-OffsetAp-r10 INTEGER (0..15) OPTIONAL -- Need OR
+}
+
+UplinkPowerControlDedicated-v1130 ::= SEQUENCE {
+ pSRS-Offset-v1130 INTEGER (16..31) OPTIONAL, -- Need OR
+ pSRS-OffsetAp-v1130 INTEGER (16..31) OPTIONAL, -- Need OR
+ deltaTxD-OffsetListPUCCH-v1130 DeltaTxD-OffsetListPUCCH-v1130 OPTIONAL -- Need OR
+}
+
+UplinkPowerControlDedicated-v1250 ::= SEQUENCE {
+ set2PowerControlParameter CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ tpc-SubframeSet-r12 BIT STRING (SIZE(10)),
+ p0-NominalPUSCH-SubframeSet2-r12 INTEGER (-126..24),
+ alpha-SubframeSet2-r12 Alpha-r12,
+ p0-UE-PUSCH-SubframeSet2-r12 INTEGER (-8..7)
+ }
+ }
+}
+
+UplinkPowerControlDedicated-v1530 ::= SEQUENCE {
+ alpha-UE-r15 Alpha-r12 OPTIONAL, -- Need OR
+ p0-UE-PUSCH-r15 INTEGER (-16..15) OPTIONAL -- Need OR
+}
+
+UplinkPowerControlDedicatedSTTI-r15 ::= SEQUENCE {
+ accumulationEnabledSTTI-r15 BOOLEAN,
+ deltaTxD-OffsetListSPUCCH-r15 DeltaTxD-OffsetListSPUCCH-r15 OPTIONAL, -- Need OR
+ uplinkPower-CSIPayload BOOLEAN
+}
+
+UplinkPUSCH-LessPowerControlDedicated-v1430 ::= SEQUENCE {
+ p0-UE-PeriodicSRS-r14 INTEGER (-8..7) OPTIONAL, -- Need OR
+ p0-UE-AperiodicSRS-r14 INTEGER (-8..7) OPTIONAL, -- Need OR
+ accumulationEnabled-r14 BOOLEAN
+}
+
+UplinkPowerControlAddSRS-r16 ::= SEQUENCE {
+ tpc-IndexSRS-Add-r16 TPC-Index OPTIONAL, -- Need ON
+ startingBitOfFormat3B-SRS-Add-r16 INTEGER (0..31) OPTIONAL, -- Need ON
+ fieldTypeFormat3B-SRS-Add-r16 INTEGER (1..2) OPTIONAL, -- Need ON
+ p0-UE-SRS-Add-r16 INTEGER (-16..15) OPTIONAL, -- Need ON
+ accumulationEnabledSRS-Add-r16 BOOLEAN
+}
+
+UplinkPowerControlDedicatedSCell-r10 ::= SEQUENCE {
+ p0-UE-PUSCH-r10 INTEGER (-8..7),
+ deltaMCS-Enabled-r10 ENUMERATED {en0, en1},
+ accumulationEnabled-r10 BOOLEAN,
+ pSRS-Offset-r10 INTEGER (0..15),
+ pSRS-OffsetAp-r10 INTEGER (0..15) OPTIONAL, -- Need OR
+ filterCoefficient-r10 FilterCoefficient DEFAULT fc4,
+ pathlossReferenceLinking-r10 ENUMERATED {pCell, sCell}
+}
+
+UplinkPowerControlDedicatedSCell-v1310 ::= SEQUENCE {
+--Release 8
+ p0-UE-PUCCH INTEGER (-8..7),
+--Release 10
+ deltaTxD-OffsetListPUCCH-r10 DeltaTxD-OffsetListPUCCH-r10 OPTIONAL -- Need OR
+}
+
+DeltaFList-PUCCH ::= SEQUENCE {
+ deltaF-PUCCH-Format1 ENUMERATED {deltaF-2, deltaF0, deltaF2},
+ deltaF-PUCCH-Format1b ENUMERATED {deltaF1, deltaF3, deltaF5},
+ deltaF-PUCCH-Format2 ENUMERATED {deltaF-2, deltaF0, deltaF1, deltaF2},
+ deltaF-PUCCH-Format2a ENUMERATED {deltaF-2, deltaF0, deltaF2},
+ deltaF-PUCCH-Format2b ENUMERATED {deltaF-2, deltaF0, deltaF2}
+}
+
+DeltaFList-SPUCCH-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ deltaF-slotSPUCCH-Format1-r15 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2,
+ deltaF3, deltaF4, deltaF5, deltaF6} OPTIONAL, --Need OR
+ deltaF-slotSPUCCH-Format1a-r15 ENUMERATED {deltaF1, deltaF2, deltaF3, deltaF4,
+ deltaF5, deltaF6, deltaF7, deltaF8} OPTIONAL, --Need OR
+ deltaF-slotSPUCCH-Format1b-r15 ENUMERATED {deltaF3, deltaF4, deltaF5, deltaF6,
+ deltaF7, deltaF8, deltaF9, deltaF10} OPTIONAL,--Need OR
+ deltaF-slotSPUCCH-Format3-r15 ENUMERATED {deltaF4, deltaF5, deltaF6, deltaF7,
+ deltaF8, deltaF9, deltaF10, deltaF11} OPTIONAL,--Need OR
+ deltaF-slotSPUCCH-RM-Format4-r15 ENUMERATED {deltaF13, deltaF14, deltaF15, deltaF16,
+ deltaF17, deltaF18, deltaF19, deltaF20} OPTIONAL,
+--Need OR
+ deltaF-slotSPUCCH-TBCC-Format4-r15 ENUMERATED {deltaF10, deltaF11, deltaF12, deltaF13,
+ deltaF14, deltaF15, deltaF16, deltaF17} OPTIONAL,
+--Need OR
+ deltaF-subslotSPUCCH-Format1and1a-r15 ENUMERATED {deltaF5, deltaF6, deltaF7, deltaF8,
+ deltaF9, deltaF10, deltaF11, deltaF12} OPTIONAL,
+--Need OR
+ deltaF-subslotSPUCCH-Format1b-r15 ENUMERATED {deltaF6, deltaF7, deltaF8, deltaF9,
+ deltaF10, deltaF11, deltaF12, deltaF13} OPTIONAL,
+--Need OR
+ deltaF-subslotSPUCCH-RM-Format4-r15 ENUMERATED {deltaF15, deltaF16, deltaF17, deltaF18,
+ deltaF19, deltaF20, deltaF21, deltaF22} OPTIONAL,
+--Need OR
+ deltaF-subslotSPUCCH-TBCC-Format4-r15 ENUMERATED {deltaF10, deltaF11, deltaF12, deltaF13,
+ deltaF14, deltaF15, deltaF16, deltaF17} OPTIONAL,
+--Need OR
+ ...
+ }
+}
+
+DeltaTxD-OffsetListPUCCH-r10 ::= SEQUENCE {
+ deltaTxD-OffsetPUCCH-Format1-r10 ENUMERATED {dB0, dB-2},
+ deltaTxD-OffsetPUCCH-Format1a1b-r10 ENUMERATED {dB0, dB-2},
+ deltaTxD-OffsetPUCCH-Format22a2b-r10 ENUMERATED {dB0, dB-2},
+ deltaTxD-OffsetPUCCH-Format3-r10 ENUMERATED {dB0, dB-2},
+ ...
+
+}
+
+DeltaTxD-OffsetListPUCCH-v1130 ::= SEQUENCE {
+ deltaTxD-OffsetPUCCH-Format1bCS-r11 ENUMERATED {dB0, dB-1}
+}
+
+DeltaTxD-OffsetListSPUCCH-r15 ::= SEQUENCE {
+ deltaTxD-OffsetSPUCCH-Format1-r15 ENUMERATED {dB0, dB-2},
+ deltaTxD-OffsetSPUCCH-Format1a-r15 ENUMERATED {dB0, dB-2},
+ deltaTxD-OffsetSPUCCH-Format1b-r15 ENUMERATED {dB0, dB-2},
+ deltaTxD-OffsetSPUCCH-Format3-r15 ENUMERATED {dB0, dB-2},
+ ...
+}
+
+
+WLAN-Id-List-r13 ::= SEQUENCE (SIZE (1..maxWLAN-Id-r13)) OF WLAN-Identifiers-r12
+
+
+WLAN-MobilityConfig-r13 ::= SEQUENCE {
+ wlan-ToReleaseList-r13 WLAN-Id-List-r13 OPTIONAL, -- Need ON
+ wlan-ToAddList-r13 WLAN-Id-List-r13 OPTIONAL, -- Need ON
+ associationTimer-r13 ENUMERATED {s10, s30,
+ s60, s120, s240} OPTIONAL, -- Need OR
+ successReportRequested-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ ...,
+ [[ wlan-SuspendConfig-r14 WLAN-SuspendConfig-r14 OPTIONAL -- Need ON
+ ]]
+}
+
+
+WUS-Config-r15 ::= SEQUENCE {
+ maxDurationFactor-r15 ENUMERATED {one32th, one16th, one8th, one4th},
+ numPOs-r15 ENUMERATED {n1, n2, n4, spare1} DEFAULT n1,
+ freqLocation-r15 ENUMERATED {n0, n2, n4, spare1},
+ timeOffsetDRX-r15 ENUMERATED {ms40, ms80, ms160, ms240},
+ timeOffset-eDRX-Short-r15 ENUMERATED {ms40, ms80, ms160, ms240},
+ timeOffset-eDRX-Long-r15 ENUMERATED {ms1000, ms2000} OPTIONAL -- Need OP
+}
+
+WUS-Config-v1560 ::= SEQUENCE {
+ powerBoost-r15 ENUMERATED {dB0, dB1dot8, dB3, dB4dot8}
+}
+
+WUS-Config-v1610 ::= SEQUENCE {
+ numDRX-CyclesRelaxed-r16 ENUMERATED {n1, n2, n4, n8}
+}
+
+
+NextHopChainingCount ::= INTEGER (0..7)
+
+
+SecurityAlgorithmConfig ::= SEQUENCE {
+ cipheringAlgorithm CipheringAlgorithm-r12,
+ integrityProtAlgorithm ENUMERATED {
+ eia0-v920, eia1, eia2, eia3-v1130, spare4, spare3,
+ spare2, spare1, ...}
+}
+
+CipheringAlgorithm-r12 ::= ENUMERATED {
+ eea0, eea1, eea2, eea3-v1130, spare4, spare3,
+ spare2, spare1, ...}
+
+
+ShortMAC-I ::= BIT STRING (SIZE (16))
+
+
+AdditionalSpectrumEmission ::= INTEGER (1..32)
+
+AdditionalSpectrumEmission-v10l0 ::= INTEGER (33..288)
+
+
+AdditionalSpectrumEmissionNR-r15 ::= INTEGER (0..7)
+
+
+ARFCN-ValueCDMA2000 ::= INTEGER (0..2047)
+
+
+ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN)
+
+ARFCN-ValueEUTRA-v9e0 ::= INTEGER (maxEARFCN-Plus1..maxEARFCN2)
+
+ARFCN-ValueEUTRA-r9 ::= INTEGER (0..maxEARFCN2)
+
+
+ARFCN-ValueGERAN ::= INTEGER (0..1023)
+
+
+ARFCN-ValueNR-r15 ::= INTEGER (0.. 3279165)
+
+
+ARFCN-ValueUTRA ::= INTEGER (0..16383)
+
+
+BandclassCDMA2000 ::= ENUMERATED {
+ bc0, bc1, bc2, bc3, bc4, bc5, bc6, bc7, bc8,
+ bc9, bc10, bc11, bc12, bc13, bc14, bc15, bc16,
+ bc17, bc18-v9a0, bc19-v9a0, bc20-v9a0, bc21-v9a0,
+ spare10, spare9, spare8, spare7, spare6, spare5, spare4,
+ spare3, spare2, spare1, ...}
+
+
+BandIndicatorGERAN ::= ENUMERATED {dcs1800, pcs1900}
+
+
+CarrierFreqCDMA2000 ::= SEQUENCE {
+ bandClass BandclassCDMA2000,
+ arfcn ARFCN-ValueCDMA2000
+}
+
+
+CarrierFreqGERAN ::= SEQUENCE {
+ arfcn ARFCN-ValueGERAN,
+ bandIndicator BandIndicatorGERAN
+}
+
+
+CarrierFreqsGERAN ::= SEQUENCE {
+ startingARFCN ARFCN-ValueGERAN,
+ bandIndicator BandIndicatorGERAN,
+ followingARFCNs CHOICE {
+ explicitListOfARFCNs ExplicitListOfARFCNs,
+ equallySpacedARFCNs SEQUENCE {
+ arfcn-Spacing INTEGER (1..8),
+ numberOfFollowingARFCNs INTEGER (0..31)
+ },
+ variableBitMapOfARFCNs OCTET STRING (SIZE (1..16))
+ }
+}
+
+ExplicitListOfARFCNs ::= SEQUENCE (SIZE (0..31)) OF ARFCN-ValueGERAN
+
+
+CarrierFreqListMBMS-r11 ::= SEQUENCE (SIZE (1..maxFreqMBMS-r11)) OF ARFCN-ValueEUTRA-r9
+
+
+CDMA2000-Type ::= ENUMERATED {type1XRTT, typeHRPD}
+
+
+CellGlobalIdNR-r16 ::= SEQUENCE {
+ plmn-Identity-r16 PLMN-Identity,
+ cellIdentity-r16 CellIdentityNR-r15,
+ trackingAreaCode-r16 TrackingAreaCodeNR-r15 OPTIONAL
+}
+
+
+CellIdentity ::= BIT STRING (SIZE (28))
+
+
+CellIndexList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellIndex
+
+CellIndex ::= INTEGER (1..maxCellMeas)
+
+
+CellReselectionPriority ::= INTEGER (0..7)
+
+
+CellSelectionInfoCE-r13 ::= SEQUENCE {
+ q-RxLevMinCE-r13 Q-RxLevMin,
+ q-QualMinRSRQ-CE-r13 Q-QualMin-r9 OPTIONAL -- Need OR
+}
+
+CellSelectionInfoCE-v1530 ::= SEQUENCE {
+ powerClass14dBm-Offset-r15 ENUMERATED {dB-6, dB-3, dB3, dB6, dB9, dB12}
+}
+
+
+CellSelectionInfoCE1-r13 ::= SEQUENCE {
+ q-RxLevMinCE1-r13 Q-RxLevMin,
+ q-QualMinRSRQ-CE1-r13 Q-QualMin-r9 OPTIONAL -- Need OR
+}
+
+CellSelectionInfoCE1-v1360 ::= SEQUENCE {
+ delta-RxLevMinCE1-v1360 INTEGER (-8..-1)
+}
+
+CellReselectionSubPriority-r13 ::= ENUMERATED {oDot2, oDot4, oDot6, oDot8}
+
+
+CSFB-RegistrationParam1XRTT ::= SEQUENCE {
+ sid BIT STRING (SIZE (15)),
+ nid BIT STRING (SIZE (16)),
+ multipleSID BOOLEAN,
+ multipleNID BOOLEAN,
+ homeReg BOOLEAN,
+ foreignSIDReg BOOLEAN,
+ foreignNIDReg BOOLEAN,
+ parameterReg BOOLEAN,
+ powerUpReg BOOLEAN,
+ registrationPeriod BIT STRING (SIZE (7)),
+ registrationZone BIT STRING (SIZE (12)),
+ totalZone BIT STRING (SIZE (3)),
+ zoneTimer BIT STRING (SIZE (3))
+}
+
+CSFB-RegistrationParam1XRTT-v920 ::= SEQUENCE {
+ powerDownReg-r9 ENUMERATED {true}
+}
+
+
+CellGlobalIdEUTRA ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellIdentity CellIdentity
+}
+
+
+CellGlobalIdUTRA ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellIdentity BIT STRING (SIZE (28))
+}
+
+
+CellGlobalIdGERAN ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ locationAreaCode BIT STRING (SIZE (16)),
+ cellIdentity BIT STRING (SIZE (16))
+}
+
+
+CellGlobalIdCDMA2000 ::= CHOICE {
+ cellGlobalId1XRTT BIT STRING (SIZE (47)),
+ cellGlobalIdHRPD BIT STRING (SIZE (128))
+}
+
+
+CellSelectionInfoNFreq-r13 ::= SEQUENCE {
+ -- Cell selection information as in SIB1
+ q-RxLevMin-r13 Q-RxLevMin,
+ q-RxLevMinOffset INTEGER (1..8) OPTIONAL, -- Need OP
+ -- Cell re-selection information as in SIB3
+ q-Hyst-r13 ENUMERATED {
+ dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
+ dB12, dB14, dB16, dB18, dB20, dB22, dB24},
+ q-RxLevMinReselection-r13 Q-RxLevMin,
+ t-ReselectionEUTRA-r13 T-Reselection
+}
+
+
+ConditionalReconfiguration-r16 ::= SEQUENCE {
+ condReconfigurationToAddModList-r16 CondReconfigurationToAddModList-r16 OPTIONAL, -- Need ON
+ condReconfigurationToRemoveList-r16 CondReconfigurationToRemoveList-r16 OPTIONAL, -- Need ON
+ attemptCondReconf-r16 ENUMERATED {true} OPTIONAL, -- Cond CHO
+ ...
+}
+
+CondReconfigurationToRemoveList-r16 ::= SEQUENCE (SIZE (1..maxCondConfig-r16)) OF CondReconfigurationId-r16
+
+
+CondReconfigurationId-r16 ::= INTEGER (1.. maxCondConfig-r16)
+
+
+CondReconfigurationToAddModList-r16 ::= SEQUENCE (SIZE (1.. maxCondConfig-r16)) OF CondReconfigurationAddMod-r16
+
+CondReconfigurationAddMod-r16 ::= SEQUENCE {
+ condReconfigurationId-r16 CondReconfigurationId-r16,
+ triggerCondition-r16 SEQUENCE (SIZE (1..2)) OF MeasId
+ OPTIONAL, -- Need ON
+ condReconfigurationToApply-r16 OCTET STRING (CONTAINING RRCConnectionReconfiguration)
+ OPTIONAL,-- Cond CondReconfigurationAdd
+ ...,
+ [[
+ triggerConditionSN-r17 OCTET STRING OPTIONAL -- Need ON
+ ]]
+}
+
+
+CSG-Identity ::= BIT STRING (SIZE (27))
+
+
+EphemerisOrbitalParameters-r17 ::= SEQUENCE {
+ semiMajorAxis-r17 INTEGER (0..8589934591),
+ eccentricity-r17 INTEGER (0..1048575),
+ periapsis-r17 INTEGER (0..268435455),
+ longitude-r17 INTEGER (0..268435455),
+ inclination-r17 INTEGER (-67108864..67108863),
+ anomaly-r17 INTEGER (0..268435455)
+}
+
+
+EphemerisStateVectors-r17 ::= SEQUENCE {
+ positionX-r17 PositionStateVector-r17,
+ positionY-r17 PositionStateVector-r17,
+ positionZ-r17 PositionStateVector-r17,
+ velocityVX-r17 VelocityStateVector-r17,
+ velocityVY-r17 VelocityStateVector-r17,
+ velocityVZ-r17 VelocityStateVector-r17
+}
+
+PositionStateVector-r17 ::= INTEGER (-33554432..33554431)
+
+VelocityStateVector-r17 ::= INTEGER (-131072..131071)
+
+
+FreqBandIndicator ::= INTEGER (1..maxFBI)
+
+FreqBandIndicator-v9e0 ::= INTEGER (maxFBI-Plus1..maxFBI2)
+
+FreqBandIndicator-r11 ::= INTEGER (1..maxFBI2)
+
+
+FreqBandIndicatorNR-r15 ::= INTEGER (1.. maxFBI-NR-r15)
+
+
+MobilityControlInfo ::= SEQUENCE {
+ targetPhysCellId PhysCellId,
+ carrierFreq CarrierFreqEUTRA OPTIONAL, -- Cond HO-toEUTRA2
+ carrierBandwidth CarrierBandwidthEUTRA OPTIONAL, -- Cond HO-toEUTRA
+ additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Cond HO-toEUTRA
+ t304 ENUMERATED {
+ ms50, ms100, ms150, ms200, ms500, ms1000,
+ ms2000, ms10000-v1310},
+ newUE-Identity C-RNTI,
+ radioResourceConfigCommon RadioResourceConfigCommon,
+ rach-ConfigDedicated RACH-ConfigDedicated OPTIONAL, -- Need OP
+ ...,
+ [[ carrierFreq-v9e0 CarrierFreqEUTRA-v9e0 OPTIONAL -- Need ON
+ ]],
+ [[ drb-ContinueROHC-r11 ENUMERATED {true} OPTIONAL -- Cond HO
+ ]],
+ [[ mobilityControlInfoV2X-r14 MobilityControlInfoV2X-r14 OPTIONAL, -- Need ON
+ handoverWithoutWT-Change-r14 ENUMERATED {keepLWA-Config, sendEndMarker} OPTIONAL, -- Cond HO
+ makeBeforeBreak-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ rach-Skip-r14 RACH-Skip-r14 OPTIONAL, -- Need OR
+ sameSFN-Indication-r14 ENUMERATED {true} OPTIONAL -- Cond HO-SFNsynced
+ ]],
+ [[
+ mib-RepetitionStatus-r14 BOOLEAN OPTIONAL, -- Need OR
+ schedulingInfoSIB1-BR-r14 INTEGER (0..31) OPTIONAL -- Cond HO-SFNsynced
+ ]],
+ [[ daps-Config-r16 DAPS-Config-r16 OPTIONAL -- Cond NotFullConfigHO
+ ]]
+}
+
+MobilityControlInfo-v10l0 ::= SEQUENCE {
+ additionalSpectrumEmission-v10l0 AdditionalSpectrumEmission-v10l0 OPTIONAL -- Need ON
+}
+
+MobilityControlInfoSCG-r12 ::= SEQUENCE {
+ t307-r12 ENUMERATED {
+ ms50, ms100, ms150, ms200, ms500, ms1000,
+ ms2000, spare1},
+ ue-IdentitySCG-r12 C-RNTI OPTIONAL, -- Cond SCGEst
+ rach-ConfigDedicated-r12 RACH-ConfigDedicated OPTIONAL, -- Need OP
+ cipheringAlgorithmSCG-r12 CipheringAlgorithm-r12 OPTIONAL, -- Need ON
+ ...,
+ [[ makeBeforeBreakSCG-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ rach-SkipSCG-r14 RACH-Skip-r14 OPTIONAL -- Need OR
+ ]]
+}
+
+MobilityControlInfoV2X-r14 ::= SEQUENCE {
+ v2x-CommTxPoolExceptional-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need OR
+ v2x-CommRxPool-r14 SL-CommRxPoolListV2X-r14 OPTIONAL, -- Need OR
+ v2x-CommSyncConfig-r14 SL-SyncConfigListV2X-r14 OPTIONAL, -- Need OR
+ cbr-MobilityTxConfigList-r14 SL-CBR-CommonTxConfigList-r14 OPTIONAL -- Need OR
+}
+
+CarrierBandwidthEUTRA ::= SEQUENCE {
+ dl-Bandwidth ENUMERATED {
+ n6, n15, n25, n50, n75, n100, spare10,
+ spare9, spare8, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1},
+ ul-Bandwidth ENUMERATED {
+ n6, n15, n25, n50, n75, n100, spare10,
+ spare9, spare8, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1} OPTIONAL -- Need OP
+}
+
+CarrierFreqEUTRA ::= SEQUENCE {
+ dl-CarrierFreq ARFCN-ValueEUTRA,
+ ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL -- Cond FDD
+}
+
+CarrierFreqEUTRA-v9e0 ::= SEQUENCE {
+ dl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-r9,
+ ul-CarrierFreq-v9e0 ARFCN-ValueEUTRA-r9 OPTIONAL -- Cond FDD
+}
+
+DAPS-Config-r16 ::= SEQUENCE {
+ daps-PowerCoordinationInfo-r16 DAPS-PowerCoordinationInfo-r16 OPTIONAL, -- Need ON
+ ...
+}
+
+DAPS-PowerCoordinationInfo-r16 ::= SEQUENCE {
+ p-DAPS-Source-r16 INTEGER (1..16),
+ p-DAPS-Target-r16 INTEGER (1..16),
+ powerControlMode-r16 INTEGER (1..2)
+}
+
+RACH-Skip-r14 ::= SEQUENCE {
+ targetTA-r14 CHOICE {
+ ta0-r14 NULL,
+ mcg-PTAG-r14 NULL,
+ scg-PTAG-r14 NULL,
+ mcg-STAG-r14 STAG-Id-r11,
+ scg-STAG-r14 STAG-Id-r11
+ },
+ ul-ConfigInfo-r14 SEQUENCE {
+ numberOfConfUL-Processes-r14 INTEGER (1..8),
+ ul-SchedInterval-r14 ENUMERATED {sf2, sf5, sf10},
+ ul-StartSubframe-r14 INTEGER (0..9),
+ ul-Grant-r14 BIT STRING (SIZE (16))
+ } OPTIONAL -- Need OR
+}
+
+
+MobilityParametersCDMA2000 ::= OCTET STRING
+
+
+MobilityStateParameters ::= SEQUENCE {
+ t-Evaluation ENUMERATED {
+ s30, s60, s120, s180, s240, spare3, spare2, spare1},
+ t-HystNormal ENUMERATED {
+ s30, s60, s120, s180, s240, spare3, spare2, spare1},
+ n-CellChangeMedium INTEGER (1..16),
+ n-CellChangeHigh INTEGER (1..16)
+}
+
+
+MultiBandInfoList ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator
+
+MultiBandInfoList-v9e0 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF MultiBandInfo-v9e0
+
+MultiBandInfoList-v10j0 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF NS-PmaxList-r10
+
+MultiBandInfoList-v10l0 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF NS-PmaxList-v10l0
+
+MultiBandInfoList-r11 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-r11
+
+MultiBandInfo-v9e0 ::= SEQUENCE {
+ freqBandIndicator-v9e0 FreqBandIndicator-v9e0 OPTIONAL -- Need OP
+}
+
+
+MultiFrequencyBandListNR-r15 ::= SEQUENCE (SIZE (1.. maxMultiBandsNR-r15)) OF FreqBandIndicatorNR-r15
+
+
+NS-PmaxList-r10 ::= SEQUENCE (SIZE (1..maxNS-Pmax-r10)) OF NS-PmaxValue-r10
+
+NS-PmaxList-v10l0 ::= SEQUENCE (SIZE (1..maxNS-Pmax-r10)) OF NS-PmaxValue-v10l0
+
+NS-PmaxValue-r10 ::= SEQUENCE {
+ additionalPmax-r10 P-Max OPTIONAL, -- Need OP
+ additionalSpectrumEmission AdditionalSpectrumEmission
+}
+
+NS-PmaxValue-v10l0 ::= SEQUENCE {
+ additionalSpectrumEmission-v10l0 AdditionalSpectrumEmission-v10l0 OPTIONAL -- Need OP
+}
+
+
+NS-PmaxListNR-r15 ::= SEQUENCE (SIZE (1..8)) OF NS-PmaxValueNR-r15
+
+NS-PmaxValueNR-r15 ::= SEQUENCE {
+ additionalPmaxNR-r15 P-MaxNR-r15 OPTIONAL, -- Need ON
+ additionalSpectrumEmissionNR-r15 AdditionalSpectrumEmissionNR-r15
+}
+
+
+PhysCellId ::= INTEGER (0..503)
+
+
+PhysCellIdCDMA2000 ::= INTEGER (0..maxPNOffset)
+
+
+PhysCellIdGERAN ::= SEQUENCE {
+ networkColourCode BIT STRING (SIZE (3)),
+ baseStationColourCode BIT STRING (SIZE (3))
+}
+
+
+PhysCellIdNR-r15 ::= INTEGER (0.. 1007)
+
+
+PhysCellIdRange ::= SEQUENCE {
+ start PhysCellId,
+ range ENUMERATED {
+ n4, n8, n12, n16, n24, n32, n48, n64, n84,
+ n96, n128, n168, n252, n504, spare2,
+ spare1} OPTIONAL -- Need OP
+}
+
+
+PhysCellIdRangeNR-r16 ::= SEQUENCE {
+ start PhysCellIdNR-r15,
+ range ENUMERATED {
+ n4, n8, n12, n16, n24, n32, n48, n64, n84,
+ n96, n128, n168, n252, n504, n1008,
+ spare1} OPTIONAL -- Need OP
+}
+
+
+PhysCellIdRangeUTRA-FDDList-r9::= SEQUENCE (SIZE (1..maxPhysCellIdRange-r9)) OF PhysCellIdRangeUTRA-FDD-r9
+
+PhysCellIdRangeUTRA-FDD-r9 ::= SEQUENCE {
+ start-r9 PhysCellIdUTRA-FDD,
+ range-r9 INTEGER (2..512) OPTIONAL -- Need OP
+}
+
+
+PhysCellIdUTRA-FDD ::= INTEGER (0..511)
+
+
+PhysCellIdUTRA-TDD ::= INTEGER (0..127)
+
+
+PLMN-Identity ::= SEQUENCE {
+ mcc MCC OPTIONAL, -- Cond MCC
+ mnc MNC
+}
+
+MCC ::= SEQUENCE (SIZE (3)) OF
+ MCC-MNC-Digit
+
+MNC ::= SEQUENCE (SIZE (2..3)) OF
+ MCC-MNC-Digit
+
+MCC-MNC-Digit ::= INTEGER (0..9)
+
+
+
+PLMN-IdentityList3-r11 ::= SEQUENCE (SIZE (1..16)) OF PLMN-Identity
+
+
+P-MaxNR-r15 ::= INTEGER (-30..33)
+
+
+PreRegistrationInfoHRPD ::= SEQUENCE {
+ preRegistrationAllowed BOOLEAN,
+ preRegistrationZoneId PreRegistrationZoneIdHRPD OPTIONAL, -- cond PreRegAllowed
+ secondaryPreRegistrationZoneIdList SecondaryPreRegistrationZoneIdListHRPD OPTIONAL -- Need OR
+}
+
+SecondaryPreRegistrationZoneIdListHRPD ::= SEQUENCE (SIZE (1..2)) OF PreRegistrationZoneIdHRPD
+
+PreRegistrationZoneIdHRPD ::= INTEGER (0..255)
+
+
+Q-QualMin-r9 ::= INTEGER (-34..-3)
+
+
+Q-RxLevMin ::= INTEGER (-70..-22)
+
+
+Q-OffsetRange ::= ENUMERATED {
+ dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
+ dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,
+ dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,
+ dB6, dB8, dB10, dB12, dB14, dB16, dB18,
+ dB20, dB22, dB24}
+
+
+Q-OffsetRangeInterRAT ::= INTEGER (-15..15)
+
+
+ReselectionThreshold ::= INTEGER (0..31)
+
+
+ReselectionThresholdQ-r9 ::= INTEGER (0..31)
+
+
+RSS-ConfigCarrierInfo-r16 ::= SEQUENCE {
+ narrowbandIndex-r16 BIT STRING (SIZE (1..maxAvailNarrowBands-1-r16)),
+ timeOffsetGranularity-r16 ENUMERATED {g1, g2, g4, g8, g16, g32, g64, g128}
+}
+
+
+RSS-MeasPowerBias-r16 ::= ENUMERATED {dB-6, dB-3, dB0, dB3, dB6, dB9, dB12, rssNotUsed}
+
+
+SCellIndex-r10 ::= INTEGER (1..7)
+SCellIndex-r13 ::= INTEGER (1..31)
+
+
+ServCellIndex-r10 ::= INTEGER (0..7)
+ServCellIndex-r13 ::= INTEGER (0..31)
+
+
+SpeedStateScaleFactors ::= SEQUENCE {
+ sf-Medium ENUMERATED {oDot25, oDot5, oDot75, lDot0},
+ sf-High ENUMERATED {oDot25, oDot5, oDot75, lDot0}
+}
+
+SystemInfoListGERAN ::= SEQUENCE (SIZE (1..maxGERAN-SI)) OF
+ OCTET STRING (SIZE (1..23))
+
+
+SystemTimeInfoCDMA2000 ::= SEQUENCE {
+ cdma-EUTRA-Synchronisation BOOLEAN,
+ cdma-SystemTime CHOICE {
+ synchronousSystemTime BIT STRING (SIZE (39)),
+ asynchronousSystemTime BIT STRING (SIZE (49))
+ }
+}
+
+
+ThresholdNR-r15 ::= CHOICE{
+ nr-RSRP-r15 RSRP-RangeNR-r15,
+ nr-RSRQ-r15 RSRQ-RangeNR-r15,
+ nr-SINR-r15 RS-SINR-RangeNR-r15
+}
+
+ThresholdListNR-r15 ::= SEQUENCE{
+ nr-RSRP-r15 RSRP-RangeNR-r15 OPTIONAL, -- Need OR
+ nr-RSRQ-r15 RSRQ-RangeNR-r15 OPTIONAL, -- Need OR
+ nr-SINR-r15 RS-SINR-RangeNR-r15 OPTIONAL -- Need OR
+}
+
+
+TLE-EphemerisParameters-r17 ::= SEQUENCE {
+ inclination-r17 INTEGER (0..2097151),
+ argumentPerigee-r17 INTEGER (0..4194303),
+ rightAscension-r17 INTEGER (0..4194303),
+ meanAnomaly-r17 INTEGER (0..4194303),
+ eccentricity-r17 INTEGER (0..16777215),
+ meanMotion-r17 INTEGER (0..17179869183),
+ bStarDecimal-r17 INTEGER (-99999..99999),
+ bStarExponent-r17 INTEGER (-9..9),
+ epochStar-r17 INTEGER (-1048575..1048575)
+}
+
+TrackingAreaCode ::= BIT STRING (SIZE (16))
+TrackingAreaCode-5GC-r15 ::= BIT STRING (SIZE (24))
+
+
+T-Reselection ::= INTEGER (0..7)
+
+
+T-ReselectionEUTRA-CE-r13 ::= INTEGER (0..15)
+
+
+AllowedMeasBandwidth ::= ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100}
+
+
+BT-NameListConfig-r15 ::= CHOICE{
+ release NULL,
+ setup BT-NameList-r15
+}
+
+BT-NameList-r15 ::= SEQUENCE (SIZE (1..maxBT-Name-r15)) OF BT-Name-r15
+
+BT-Name-r15 ::= OCTET STRING (SIZE (1..248))
+
+
+CSI-RSRP-Range-r12 ::= INTEGER(0..97)
+
+
+Hysteresis ::= INTEGER (0..30)
+
+
+LocationInfo-r10 ::= SEQUENCE {
+ locationCoordinates-r10 CHOICE {
+ ellipsoid-Point-r10 OCTET STRING,
+ ellipsoidPointWithAltitude-r10 OCTET STRING,
+ ...,
+ ellipsoidPointWithUncertaintyCircle-r11 OCTET STRING,
+ ellipsoidPointWithUncertaintyEllipse-r11 OCTET STRING,
+ ellipsoidPointWithAltitudeAndUncertaintyEllipsoid-r11 OCTET STRING,
+ ellipsoidArc-r11 OCTET STRING,
+ polygon-r11 OCTET STRING
+ },
+ horizontalVelocity-r10 OCTET STRING OPTIONAL,
+ gnss-TOD-msec-r10 OCTET STRING OPTIONAL,
+ ...,
+ [[ verticalVelocityInfo-r15 CHOICE {
+ verticalVelocity-r15 OCTET STRING,
+ verticalVelocityAndUncertainty-r15 OCTET STRING
+ } OPTIONAL
+ ]]
+}
+
+
+LogMeasResultListBT-r15 ::= SEQUENCE (SIZE (1..maxBT-IdReport-r15)) OF LogMeasResultBT-r15
+
+LogMeasResultBT-r15 ::= SEQUENCE {
+ bt-Addr-r15 BIT STRING (SIZE (48)),
+ rssi-BT-r15 INTEGER (-128..127) OPTIONAL,
+ ...
+}
+
+
+LogMeasResultListWLAN-r15 ::= SEQUENCE (SIZE (1..maxWLAN-Id-Report-r14)) OF LogMeasResultWLAN-r15
+
+LogMeasResultWLAN-r15 ::= SEQUENCE {
+ wlan-Identifiers-r15 WLAN-Identifiers-r12,
+ rssiWLAN-r15 WLAN-RSSI-Range-r13 OPTIONAL,
+ rtt-WLAN-r15 WLAN-RTT-r15 OPTIONAL,
+ ...
+}
+
+
+MaxRS-IndexCellQualNR-r15::= INTEGER (1..maxRS-IndexCellQual-r15)
+
+
+MBSFN-RSRQ-Range-r12 ::= INTEGER(0..31)
+
+MeasConfig ::= SEQUENCE {
+ -- Measurement objects
+ measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need ON
+ measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need ON
+ -- Reporting configurations
+ reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need ON
+ reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need ON
+ -- Measurement identities
+ measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need ON
+ measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need ON
+ -- Other parameters
+ quantityConfig QuantityConfig OPTIONAL, -- Need ON
+ measGapConfig MeasGapConfig OPTIONAL, -- Need ON
+ s-Measure RSRP-Range OPTIONAL, -- Need ON
+ preRegistrationInfoHRPD PreRegistrationInfoHRPD OPTIONAL, -- Need OP
+ speedStatePars CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ mobilityStateParameters MobilityStateParameters,
+ timeToTrigger-SF SpeedStateScaleFactors
+ }
+ } OPTIONAL, -- Need ON
+ ...,
+ [[ measObjectToAddModList-v9e0 MeasObjectToAddModList-v9e0 OPTIONAL -- Need ON
+ ]],
+ [[ allowInterruptions-r11 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ measScaleFactor-r12 CHOICE {
+ release NULL,
+ setup MeasScaleFactor-r12
+ } OPTIONAL, -- Need ON
+ measIdToRemoveListExt-r12 MeasIdToRemoveListExt-r12 OPTIONAL, -- Need ON
+ measIdToAddModListExt-r12 MeasIdToAddModListExt-r12 OPTIONAL, -- Need ON
+ measRSRQ-OnAllSymbols-r12 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[
+ measObjectToRemoveListExt-r13 MeasObjectToRemoveListExt-r13 OPTIONAL, -- Need ON
+ measObjectToAddModListExt-r13 MeasObjectToAddModListExt-r13 OPTIONAL, -- Need ON
+ measIdToAddModList-v1310 MeasIdToAddModList-v1310 OPTIONAL, -- Need ON
+ measIdToAddModListExt-v1310 MeasIdToAddModListExt-v1310 OPTIONAL -- Need ON
+ ]],
+ [[ measGapConfigPerCC-List-r14 MeasGapConfigPerCC-List-r14 OPTIONAL, -- Need ON
+ measGapSharingConfig-r14 MeasGapSharingConfig-r14 OPTIONAL -- Need ON
+ ]],
+ [[ fr1-Gap-r15 BOOLEAN OPTIONAL, -- Need ON
+ mgta-r15 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ measGapConfigDensePRS-r15 MeasGapConfigDensePRS-r15 OPTIONAL, -- Need ON
+ heightThreshRef-r15 CHOICE {
+ release NULL,
+ setup INTEGER (0..31)
+ } OPTIONAL --Need ON
+ ]]
+}
+
+MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId
+
+MeasIdToRemoveListExt-r12 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId-v1250
+
+MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectId
+
+MeasObjectToRemoveListExt-r13 ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectId-v1310
+
+ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId
+
+
+MeasDS-Config-r12 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ dmtc-PeriodOffset-r12 CHOICE {
+ ms40-r12 INTEGER(0..39),
+ ms80-r12 INTEGER(0..79),
+ ms160-r12 INTEGER(0..159),
+ ...
+ },
+ ds-OccasionDuration-r12 CHOICE {
+ durationFDD-r12 INTEGER(1..maxDS-Duration-r12),
+ durationTDD-r12 INTEGER(2..maxDS-Duration-r12)
+ },
+ measCSI-RS-ToRemoveList-r12 MeasCSI-RS-ToRemoveList-r12 OPTIONAL, -- Need ON
+ measCSI-RS-ToAddModList-r12 MeasCSI-RS-ToAddModList-r12 OPTIONAL, -- Need ON
+ ...
+ }
+}
+
+MeasCSI-RS-ToRemoveList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Id-r12
+
+MeasCSI-RS-ToAddModList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Config-r12
+
+MeasCSI-RS-Id-r12 ::= INTEGER (1..maxCSI-RS-Meas-r12)
+
+MeasCSI-RS-Config-r12 ::= SEQUENCE {
+ measCSI-RS-Id-r12 MeasCSI-RS-Id-r12,
+ physCellId-r12 INTEGER (0..503),
+ scramblingIdentity-r12 INTEGER (0..503),
+ resourceConfig-r12 INTEGER (0..31),
+ subframeOffset-r12 INTEGER (0..4),
+ csi-RS-IndividualOffset-r12 Q-OffsetRange,
+ ...
+}
+
+
+MeasGapConfig ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ gapOffset CHOICE {
+ gp0 INTEGER (0..39),
+ gp1 INTEGER (0..79),
+
+ ...,
+ gp2-r14 INTEGER (0..39),
+ gp3-r14 INTEGER (0..79),
+ gp-ncsg0-r14 INTEGER (0..39),
+ gp-ncsg1-r14 INTEGER (0..79),
+ gp-ncsg2-r14 INTEGER (0..39),
+ gp-ncsg3-r14 INTEGER (0..79),
+ gp-nonUniform1-r14 INTEGER (0..1279),
+ gp-nonUniform2-r14 INTEGER (0..2559),
+ gp-nonUniform3-r14 INTEGER (0..5119),
+ gp-nonUniform4-r14 INTEGER (0..10239),
+ gp4-r15 INTEGER (0..19),
+ gp5-r15 INTEGER (0..159),
+ gp6-r15 INTEGER (0..19),
+ gp7-r15 INTEGER (0..39),
+ gp8-r15 INTEGER (0..79),
+ gp9-r15 INTEGER (0..159),
+ gp10-r15 INTEGER (0..19),
+ gp11-r15 INTEGER (0..159)
+ }
+ }
+}
+
+
+
+MeasGapConfigDensePRS-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ gapOffsetDensePRS-r15 CHOICE {
+ rstd0-r15 INTEGER (0..79),
+ rstd1-r15 INTEGER (0..159),
+ rstd2-r15 INTEGER (0..319),
+ rstd3-r15 INTEGER (0..639),
+ rstd4-r15 INTEGER (0..1279),
+ rstd5-r15 INTEGER (0..159),
+ rstd6-r15 INTEGER (0..319),
+ rstd7-r15 INTEGER (0..639),
+ rstd8-r15 INTEGER (0..1279),
+ rstd9-r15 INTEGER (0..319),
+ rstd10-r15 INTEGER (0..639),
+ rstd11-r15 INTEGER (0..1279),
+ rstd12-r15 INTEGER (0..319),
+ rstd13-r15 INTEGER (0..639),
+ rstd14-r15 INTEGER (0..1279),
+ rstd15-r15 INTEGER (0..639),
+ rstd16-r15 INTEGER (0..1279),
+ rstd17-r15 INTEGER (0..639),
+ rstd18-r15 INTEGER (0..1279),
+ rstd19-r15 INTEGER (0..639),
+ rstd20-r15 INTEGER (0..1279),
+ ...
+ }
+ }
+}
+
+
+MeasGapConfigPerCC-List-r14 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ measGapConfigToRemoveList-r14 MeasGapConfigToRemoveList-r14 OPTIONAL, -- Need ON
+ measGapConfigToAddModList-r14 MeasGapConfigToAddModList-r14 OPTIONAL -- Need ON
+ }
+}
+
+MeasGapConfigToRemoveList-r14 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF ServCellIndex-r13
+
+MeasGapConfigToAddModList-r14 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasGapConfigPerCC-r14
+
+MeasGapConfigPerCC-r14 ::= SEQUENCE {
+ servCellId-r14 ServCellIndex-r13,
+ measGapConfigCC-r14 MeasGapConfig
+}
+
+
+MeasGapSharingConfig-r14 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ measGapSharingScheme-r14 ENUMERATED {scheme00, scheme01, scheme10, scheme11}
+ }
+}
+
+
+MeasId ::= INTEGER (1..maxMeasId)
+
+MeasId-v1250 ::= INTEGER (maxMeasId-Plus1..maxMeasId-r12)
+
+
+MeasIdleConfigSIB-r15 ::= SEQUENCE {
+ measIdleCarrierListEUTRA-r15 EUTRA-CarrierList-r15,
+ ...
+}
+
+MeasIdleConfigSIB-NR-r16 ::= SEQUENCE {
+ measIdleCarrierListNR-r16 NR-CarrierList-r16,
+ ...
+}
+
+MeasIdleConfigDedicated-r15 ::= SEQUENCE {
+ measIdleCarrierListEUTRA-r15 EUTRA-CarrierList-r15 OPTIONAL, -- Need OR
+ measIdleDuration-r15 ENUMERATED {sec10, sec30, sec60, sec120,
+ sec180, sec240, sec300, spare},
+ ...,
+ [[
+ measIdleCarrierListNR-r16 NR-CarrierList-r16 OPTIONAL, -- Need OR
+ validityAreaList-r16 ValidityAreaList-r16 OPTIONAL -- Need OR
+ ]]
+}
+
+EUTRA-CarrierList-r15 ::= SEQUENCE (SIZE (1..maxFreqIdle-r15)) OF MeasIdleCarrierEUTRA-r15
+NR-CarrierList-r16 ::= SEQUENCE (SIZE (1..maxFreqIdle-r15)) OF MeasIdleCarrierNR-r16
+
+MeasIdleCarrierEUTRA-r15::= SEQUENCE {
+ carrierFreq-r15 ARFCN-ValueEUTRA-r9,
+ allowedMeasBandwidth-r15 AllowedMeasBandwidth,
+ validityArea-r15 CellList-r15 OPTIONAL, -- Need OR
+ measCellList-r15 CellList-r15 OPTIONAL, -- Need OR
+ reportQuantities ENUMERATED {rsrp, rsrq, both},
+ qualityThreshold-r15 SEQUENCE {
+ idleRSRP-Threshold-r15 RSRP-Range OPTIONAL, -- Need OR
+ idleRSRQ-Threshold-r15 RSRQ-Range-r13 OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OP
+ ...
+}
+
+ValidityAreaList-r16 ::= SEQUENCE (SIZE (1..maxFreqIdle-r15)) OF ValidityArea-r16
+
+ValidityArea-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueEUTRA-r9,
+ validityCellList-r16 ValidityCellList-r16 OPTIONAL -- Need ON
+}
+
+ValidityCellList-r16 ::= SEQUENCE (SIZE (1.. maxCellMeasIdle-r15)) OF PhysCellIdRange
+
+MeasIdleCarrierNR-r16 ::= SEQUENCE {
+ carrierFreqNR-r16 ARFCN-ValueNR-r15,
+ subcarrierSpacingSSB-r16 ENUMERATED {kHz15, kHz30, kHz120, kHz240},
+ frequencyBandList MultiFrequencyBandListNR-r15 OPTIONAL, -- Need OR
+ measCellListNR-r16 CellListNR-r16 OPTIONAL, -- Need OR
+ reportQuantitiesNR-r16 ENUMERATED {rsrp, rsrq, both},
+ qualityThresholdNR-r16 SEQUENCE {
+ idleRSRP-ThresholdNR-r16 RSRP-RangeNR-r15 OPTIONAL, -- Need OR
+ idleRSRQ-ThresholdNR-r16 RSRQ-RangeNR-r15 OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ ssb-MeasConfig-r16 SEQUENCE {
+ maxRS-IndexCellQual-r16 MaxRS-IndexCellQualNR-r15 OPTIONAL, -- Need OR
+ threshRS-Index-r16 ThresholdListNR-r15 OPTIONAL, -- Need OR
+ measTimingConfig-r16 MTC-SSB-NR-r15 OPTIONAL, -- Need OR
+ ssb-ToMeasure-r16 SSB-ToMeasure-r15 OPTIONAL, -- Need OR
+ deriveSSB-IndexFromCell-r16 BOOLEAN,
+ ss-RSSI-Measurement-r16 SS-RSSI-Measurement-r15 OPTIONAL -- Need OP
+ } OPTIONAL, -- Need OP
+ beamMeasConfigIdle-r16 BeamMeasConfigIdleNR-r16 OPTIONAL, -- Need OR
+ ...,
+ [[
+ subcarrierSpacingSSB-r17 ENUMERATED {kHz480, spare1} OPTIONAL -- Need OR
+ ]]
+}
+
+CellList-r15 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r15)) OF PhysCellIdRange
+CellListNR-r16 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r15)) OF PhysCellIdRangeNR-r16
+
+BeamMeasConfigIdleNR-r16 ::= SEQUENCE {
+ reportQuantityRS-IndexNR-r16 ENUMERATED {rsrp, rsrq, both},
+ maxReportRS-Index-r16 INTEGER (0..maxRS-IndexReport-r15),
+ reportRS-IndexResultsNR-r16 BOOLEAN
+}
+
+
+MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod
+
+MeasIdToAddModList-v1310 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod-v1310
+
+MeasIdToAddModListExt-r12 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddModExt-r12
+
+MeasIdToAddModListExt-v1310 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod-v1310
+
+MeasIdToAddMod ::= SEQUENCE {
+ measId MeasId,
+ measObjectId MeasObjectId,
+ reportConfigId ReportConfigId
+}
+
+MeasIdToAddModExt-r12 ::= SEQUENCE {
+ measId-v1250 MeasId-v1250,
+ measObjectId-r12 MeasObjectId,
+ reportConfigId-r12 ReportConfigId
+}
+
+MeasIdToAddMod-v1310 ::= SEQUENCE {
+ measObjectId-v1310 MeasObjectId-v1310 OPTIONAL
+}
+
+
+MeasObjectCDMA2000 ::= SEQUENCE {
+ cdma2000-Type CDMA2000-Type,
+ carrierFreq CarrierFreqCDMA2000,
+ searchWindowSize INTEGER (0..15) OPTIONAL, -- Need ON
+ offsetFreq Q-OffsetRangeInterRAT DEFAULT 0,
+ cellsToRemoveList CellIndexList OPTIONAL, -- Need ON
+ cellsToAddModList CellsToAddModListCDMA2000 OPTIONAL, -- Need ON
+ cellForWhichToReportCGI PhysCellIdCDMA2000 OPTIONAL, -- Need ON
+ ...
+}
+
+CellsToAddModListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModCDMA2000
+
+CellsToAddModCDMA2000 ::= SEQUENCE {
+ cellIndex INTEGER (1..maxCellMeas),
+ physCellId PhysCellIdCDMA2000
+}
+
+
+MeasObjectEUTRA ::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ allowedMeasBandwidth AllowedMeasBandwidth,
+ presenceAntennaPort1 PresenceAntennaPort1,
+ neighCellConfig NeighCellConfig,
+ offsetFreq Q-OffsetRange DEFAULT dB0,
+ -- Cell list
+ cellsToRemoveList CellIndexList OPTIONAL, -- Need ON
+ cellsToAddModList CellsToAddModList OPTIONAL, -- Need ON
+ -- Excluded list
+ excludedCellsToRemoveList CellIndexList OPTIONAL, -- Need ON
+ excludedCellsToAddModList ExcludedCellsToAddModList OPTIONAL, -- Need ON
+ cellForWhichToReportCGI PhysCellId OPTIONAL, -- Need ON
+ ...,
+ [[measCycleSCell-r10 MeasCycleSCell-r10 OPTIONAL, -- Need ON
+ measSubframePatternConfigNeigh-r10 MeasSubframePatternConfigNeigh-r10 OPTIONAL -- Need ON
+ ]],
+ [[widebandRSRQ-Meas-r11 BOOLEAN OPTIONAL -- Cond WB-RSRQ
+ ]],
+ [[ altTTT-CellsToRemoveList-r12 CellIndexList OPTIONAL, -- Need ON
+ altTTT-CellsToAddModList-r12 AltTTT-CellsToAddModList-r12 OPTIONAL, -- Need ON
+ t312-r12 CHOICE {
+ release NULL,
+ setup ENUMERATED {ms0, ms50, ms100, ms200,
+ ms300, ms400, ms500, ms1000}
+ } OPTIONAL, -- Need ON
+ reducedMeasPerformance-r12 BOOLEAN OPTIONAL, -- Need ON
+ measDS-Config-r12 MeasDS-Config-r12 OPTIONAL -- Need ON
+ ]],
+ [[
+ allowedCellsToRemoveList-r13 CellIndexList OPTIONAL, -- Need ON
+ allowedCellsToAddModList-r13 AllowedCellsToAddModList-r13 OPTIONAL, -- Need ON
+ rmtc-Config-r13 RMTC-Config-r13 OPTIONAL, -- Need ON
+ carrierFreq-r13 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Need ON
+ ]],
+ [[
+ tx-ResourcePoolToRemoveList-r14 Tx-ResourcePoolMeasList-r14 OPTIONAL, -- Need ON
+ tx-ResourcePoolToAddList-r14 Tx-ResourcePoolMeasList-r14 OPTIONAL, -- Need ON
+ fembms-MixedCarrier-r14 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[
+ measSensing-Config-r15 MeasSensing-Config-r15 OPTIONAL -- Need ON
+ ]],
+ [[
+ measRSS-DedicatedConfig-r16 CHOICE {release NULL, setup MeasRSS-DedicatedConfig-r16} OPTIONAL -- Need ON
+ ]]
+}
+
+MeasObjectEUTRA-v9e0 ::= SEQUENCE {
+ carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0
+}
+
+MeasRSS-DedicatedConfig-r16 ::= SEQUENCE {
+ rss-ConfigCarrierInfo-r16 RSS-ConfigCarrierInfo-r16 OPTIONAL, -- Need OP
+ cellsToAddModList-v1610 CellsToAddModList-v1610 OPTIONAL -- Need ON
+}
+
+CellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddMod
+
+CellsToAddModList-v1610 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddMod-v1610
+
+CellsToAddMod ::= SEQUENCE {
+ cellIndex INTEGER (1..maxCellMeas),
+ physCellId PhysCellId,
+ cellIndividualOffset Q-OffsetRange
+}
+
+CellsToAddMod-v1610 ::= SEQUENCE {
+ rss-MeasPowerBias-r16 RSS-MeasPowerBias-r16
+}
+
+
+ExcludedCellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF ExcludedCellsToAddMod
+
+ExcludedCellsToAddMod ::= SEQUENCE {
+ cellIndex INTEGER (1..maxCellMeas),
+ physCellIdRange PhysCellIdRange
+}
+
+MeasCycleSCell-r10 ::= ENUMERATED {sf160, sf256, sf320, sf512,
+ sf640, sf1024, sf1280, spare1}
+
+MeasSubframePatternConfigNeigh-r10 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ measSubframePatternNeigh-r10 MeasSubframePattern-r10,
+ measSubframeCellList-r10 MeasSubframeCellList-r10 OPTIONAL -- Cond always
+ }
+}
+
+MeasSubframeCellList-r10 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF PhysCellIdRange
+
+AltTTT-CellsToAddModList-r12 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF AltTTT-CellsToAddMod-r12
+
+AltTTT-CellsToAddMod-r12 ::= SEQUENCE {
+ cellIndex-r12 INTEGER (1..maxCellMeas),
+ physCellIdRange-r12 PhysCellIdRange
+}
+
+AllowedCellsToAddModList-r13 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF AllowedCellsToAddMod-r13
+
+AllowedCellsToAddMod-r13 ::= SEQUENCE {
+ cellIndex-r13 INTEGER (1..maxCellMeas),
+ physCellIdRange-r13 PhysCellIdRange
+}
+
+RMTC-Config-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ rmtc-Period-r13 ENUMERATED {ms40, ms80, ms160, ms320, ms640},
+ rmtc-SubframeOffset-r13 INTEGER(0..639) OPTIONAL, -- Need ON
+ measDuration-r13 ENUMERATED {sym1, sym14, sym28, sym42, sym70},
+ ...
+ }
+}
+
+Tx-ResourcePoolMeasList-r14 ::= SEQUENCE (SIZE (1..maxSL-PoolToMeasure-r14)) OF SL-V2X-TxPoolReportIdentity-r14
+
+
+MeasObjectGERAN ::= SEQUENCE {
+ carrierFreqs CarrierFreqsGERAN,
+ offsetFreq Q-OffsetRangeInterRAT DEFAULT 0,
+ ncc-Permitted BIT STRING(SIZE (8)) DEFAULT '11111111'B,
+ cellForWhichToReportCGI PhysCellIdGERAN OPTIONAL, -- Need ON
+ ...
+}
+
+
+MeasObjectId ::= INTEGER (1..maxObjectId)
+
+MeasObjectId-v1310 ::= INTEGER (maxObjectId-Plus1-r13..maxObjectId-r13)
+
+MeasObjectId-r13 ::= INTEGER (1..maxObjectId-r13)
+
+
+MeasObjectNR-r15 ::= SEQUENCE {
+ carrierFreq-r15 ARFCN-ValueNR-r15,
+ rs-ConfigSSB-r15 RS-ConfigSSB-NR-r15,
+ threshRS-Index-r15 ThresholdListNR-r15 OPTIONAL, -- Need OR
+ maxRS-IndexCellQual-r15 MaxRS-IndexCellQualNR-r15 OPTIONAL, -- Need OR
+ offsetFreq-r15 Q-OffsetRangeInterRAT DEFAULT 0,
+ excludedCellsToRemoveList-r15 CellIndexList OPTIONAL, -- Need ON
+ excludedCellsToAddModList-r15 CellsToAddModListNR-r15 OPTIONAL, -- Need ON
+ quantityConfigSet-r15 INTEGER (1.. maxQuantSetsNR-r15),
+ cellsForWhichToReportSFTD-r15 SEQUENCE (SIZE (1..maxCellSFTD)) OF PhysCellIdNR-r15 OPTIONAL, -- Need OR
+ ...,
+ [[ cellForWhichToReportCGI-r15 PhysCellIdNR-r15 OPTIONAL, -- Need ON
+ deriveSSB-IndexFromCell-r15 BOOLEAN OPTIONAL, -- Need ON
+ ss-RSSI-Measurement-r15 SS-RSSI-Measurement-r15 OPTIONAL, -- Need ON
+ bandNR-r15 CHOICE {
+ release NULL,
+ setup FreqBandIndicatorNR-r15
+ } OPTIONAL -- Need ON
+ ]],
+ [[
+ rmtc-ConfigNR-r16 CHOICE {release NULL, setup RMTC-ConfigNR-r16} OPTIONAL -- Cond SharedSpectrum
+ ]],
+ [[
+ cellsToRemoveList-r16 CellIndexList OPTIONAL, -- Need ON
+ cellsToAddModList-r16 CellsToAddModListNR-r16 OPTIONAL -- Need ON
+ ]]
+}
+
+RS-ConfigSSB-NR-r15 ::= SEQUENCE {
+ measTimingConfig-r15 MTC-SSB-NR-r15,
+ subcarrierSpacingSSB-r15 ENUMERATED {kHz15, kHz30, kHz120, kHz240},
+ ...,
+ [[ ssb-ToMeasure-r15 CHOICE {
+ release NULL,
+ setup SSB-ToMeasure-r15
+ } OPTIONAL -- Need ON
+ ]],
+ [[
+ ssb-PositionQCL-CommonNR-r16 SSB-PositionQCL-RelationNR-r16 OPTIONAL, -- Cond SharedSpectrum2
+ ssb-PositionQCL-CellsToAddModListNR-r16 SSB-PositionQCL-CellsToAddModListNR-r16 OPTIONAL, -- Cond SharedSpectrum
+ ssb-PositionQCL-CellsToRemoveListNR-r16 SEQUENCE (SIZE (1..maxCellMeas)) OF PhysCellIdNR-r15 OPTIONAL -- Cond SharedSpectrum
+ ]],
+ [[
+ subcarrierSpacingSSB-r17 ENUMERATED {kHz480, kHz960} OPTIONAL, -- Need OR
+ ssb-PositionQCL-CommonNR-r17 SSB-PositionQCL-RelationNR-r17 OPTIONAL, -- Cond SharedSpectrum2
+ ssb-PositionQCL-CellsToAddModListNR-r17 SSB-PositionQCL-CellsToAddModListNR-r17 OPTIONAL, -- Cond SharedSpectrum
+ ssb-PositionQCL-CellsToRemoveListNR-r17 SEQUENCE (SIZE (1..maxCellMeas)) OF PhysCellIdNR-r15 OPTIONAL -- Cond SharedSpectrum
+ ]]
+}
+
+CellsToAddModListNR-r15 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModNR-r15
+
+CellsToAddModListNR-r16 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModNR-r16
+
+CellsToAddModNR-r15 ::= SEQUENCE {
+ cellIndex-r15 INTEGER (1..maxCellMeas),
+ physCellId-r15 PhysCellIdNR-r15
+}
+
+CellsToAddModNR-r16 ::= SEQUENCE {
+ cellIndex-r16 INTEGER (1..maxCellMeas),
+ physCellId-r16 PhysCellIdNR-r15,
+ cellIndividualOffset-r16 Q-OffsetRange
+}
+
+SSB-PositionQCL-CellsToAddModListNR-r16 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF SSB-PositionQCL-CellsToAddNR-r16
+
+
+SSB-PositionQCL-CellsToAddNR-r16 ::= SEQUENCE {
+ physCellId-r16 PhysCellIdNR-r15,
+ ssb-PositionQCL-NR-r16 SSB-PositionQCL-RelationNR-r16
+}
+
+RMTC-ConfigNR-r16 ::= SEQUENCE {
+ rmtc-PeriodicityNR-r16 ENUMERATED {ms40, ms80, ms160, ms320, ms640},
+ rmtc-SubframeOffsetNR-r16 INTEGER(0..639) OPTIONAL, -- Need ON
+ measDurationNR-r16 ENUMERATED {sym1, sym14or12, sym28or24, sym42or36, sym70or60},
+ rmtc-FrequencyNR-r16 ARFCN-ValueNR-r15,
+ refSCS-CP-NR-r16 ENUMERATED {kHz15, kHz30, kHz60-NCP, kHz60-ECP},
+ ...,
+ [[
+ rmtc-BandwidthNR-r17 ENUMERATED {mhz100, mhz400, mhz800, mhz1600, mhz2000} OPTIONAL, -- Need OR
+ measDurationNR-r17 ENUMERATED {sym140, sym560, sym1120} OPTIONAL, -- Need OR
+ refSCS-CP-NR-r17 ENUMERATED {kHz120, kHz480, kHz960} OPTIONAL -- Need OR
+ ]]
+}
+
+SSB-PositionQCL-CellsToAddModListNR-r17 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF SSB-PositionQCL-CellsToAddNR-r17
+
+SSB-PositionQCL-CellsToAddNR-r17 ::= SEQUENCE {
+ physCellIdNR-r17 PhysCellIdNR-r15,
+ ssb-PositionQCL-NR-r17 SSB-PositionQCL-RelationNR-r17
+}
+
+
+MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddMod
+
+MeasObjectToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddModExt-r13
+
+MeasObjectToAddModList-v9e0 ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddMod-v9e0
+
+MeasObjectToAddMod ::= SEQUENCE {
+ measObjectId MeasObjectId,
+ measObject CHOICE {
+ measObjectEUTRA MeasObjectEUTRA,
+ measObjectUTRA MeasObjectUTRA,
+ measObjectGERAN MeasObjectGERAN,
+ measObjectCDMA2000 MeasObjectCDMA2000,
+ ...,
+ measObjectWLAN-r13 MeasObjectWLAN-r13,
+ measObjectNR-r15 MeasObjectNR-r15
+ }
+}
+
+MeasObjectToAddModExt-r13 ::= SEQUENCE {
+ measObjectId-r13 MeasObjectId-v1310,
+ measObject-r13 CHOICE {
+ measObjectEUTRA-r13 MeasObjectEUTRA,
+ measObjectUTRA-r13 MeasObjectUTRA,
+ measObjectGERAN-r13 MeasObjectGERAN,
+ measObjectCDMA2000-r13 MeasObjectCDMA2000,
+ ...,
+ measObjectWLAN-v1320 MeasObjectWLAN-r13,
+ measObjectNR-r15 MeasObjectNR-r15
+ }
+}
+
+MeasObjectToAddMod-v9e0 ::= SEQUENCE {
+ measObjectEUTRA-v9e0 MeasObjectEUTRA-v9e0 OPTIONAL -- Cond eutra
+}
+
+
+MeasObjectUTRA ::= SEQUENCE {
+ carrierFreq ARFCN-ValueUTRA,
+ offsetFreq Q-OffsetRangeInterRAT DEFAULT 0,
+ cellsToRemoveList CellIndexList OPTIONAL, -- Need ON
+ cellsToAddModList CHOICE {
+ cellsToAddModListUTRA-FDD CellsToAddModListUTRA-FDD,
+ cellsToAddModListUTRA-TDD CellsToAddModListUTRA-TDD
+ } OPTIONAL, -- Need ON
+ cellForWhichToReportCGI CHOICE {
+ utra-FDD PhysCellIdUTRA-FDD,
+ utra-TDD PhysCellIdUTRA-TDD
+ } OPTIONAL, -- Need ON
+ ...,
+ [[ csg-allowedReportingCells-v930 CSG-AllowedReportingCells-r9 OPTIONAL -- Need ON
+ ]],
+ [[ reducedMeasPerformance-r12 BOOLEAN OPTIONAL -- Need ON
+ ]]
+}
+
+CellsToAddModListUTRA-FDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-FDD
+
+CellsToAddModUTRA-FDD ::= SEQUENCE {
+ cellIndex INTEGER (1..maxCellMeas),
+ physCellId PhysCellIdUTRA-FDD
+}
+
+CellsToAddModListUTRA-TDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-TDD
+
+CellsToAddModUTRA-TDD ::= SEQUENCE {
+ cellIndex INTEGER (1..maxCellMeas),
+ physCellId PhysCellIdUTRA-TDD
+}
+
+CSG-AllowedReportingCells-r9 ::= SEQUENCE {
+ physCellIdRangeUTRA-FDDList-r9 PhysCellIdRangeUTRA-FDDList-r9 OPTIONAL -- Need OR
+}
+
+MeasObjectWLAN-r13 ::= SEQUENCE {
+ carrierFreq-r13 CHOICE {
+ bandIndicatorListWLAN-r13 SEQUENCE (SIZE (1..maxWLAN-Bands-r13)) OF WLAN-BandIndicator-r13,
+ carrierInfoListWLAN-r13 SEQUENCE (SIZE (1..maxWLAN-CarrierInfo-r13)) OF WLAN-CarrierInfo-r13
+ } OPTIONAL, -- Need ON
+ wlan-ToAddModList-r13 WLAN-Id-List-r13 OPTIONAL, -- Need ON
+ wlan-ToRemoveList-r13 WLAN-Id-List-r13 OPTIONAL, -- Need ON
+ ...
+}
+
+WLAN-BandIndicator-r13 ::= ENUMERATED {band2dot4, band5, band60-v1430, spare5, spare4, spare3, spare2, spare1, ...}
+
+
+MeasResults ::= SEQUENCE {
+ measId MeasId,
+ measResultPCell SEQUENCE {
+ rsrpResult RSRP-Range,
+ rsrqResult RSRQ-Range
+ },
+ measResultNeighCells CHOICE {
+ measResultListEUTRA MeasResultListEUTRA,
+ measResultListUTRA MeasResultListUTRA,
+ measResultListGERAN MeasResultListGERAN,
+ measResultsCDMA2000 MeasResultsCDMA2000,
+ ...,
+ measResultNeighCellListNR-r15 MeasResultCellListNR-r15
+ } OPTIONAL,
+ ...,
+ [[ measResultForECID-r9 MeasResultForECID-r9 OPTIONAL
+ ]],
+ [[ locationInfo-r10 LocationInfo-r10 OPTIONAL,
+ measResultServFreqList-r10 MeasResultServFreqList-r10 OPTIONAL
+ ]],
+ [[ measId-v1250 MeasId-v1250 OPTIONAL,
+ measResultPCell-v1250 RSRQ-Range-v1250 OPTIONAL,
+ measResultCSI-RS-List-r12 MeasResultCSI-RS-List-r12 OPTIONAL
+ ]],
+ [[ measResultForRSSI-r13 MeasResultForRSSI-r13 OPTIONAL,
+ measResultServFreqListExt-r13 MeasResultServFreqListExt-r13 OPTIONAL,
+ measResultSSTD-r13 MeasResultSSTD-r13 OPTIONAL,
+ measResultPCell-v1310 SEQUENCE {
+ rs-sinr-Result-r13 RS-SINR-Range-r13
+ } OPTIONAL,
+ ul-PDCP-DelayResultList-r13 UL-PDCP-DelayResultList-r13 OPTIONAL,
+ measResultListWLAN-r13 MeasResultListWLAN-r13 OPTIONAL
+ ]],
+ [[ measResultPCell-v1360 RSRP-Range-v1360 OPTIONAL
+ ]],
+ [[ measResultListCBR-r14 MeasResultListCBR-r14 OPTIONAL,
+ measResultListWLAN-r14 MeasResultListWLAN-r14 OPTIONAL
+ ]],
+ [[ measResultServFreqListNR-r15 MeasResultServFreqListNR-r15 OPTIONAL,
+ measResultCellListSFTD-r15 MeasResultCellListSFTD-r15 OPTIONAL
+ ]],
+ [[ logMeasResultListBT-r15 LogMeasResultListBT-r15 OPTIONAL,
+ logMeasResultListWLAN-r15 LogMeasResultListWLAN-r15 OPTIONAL,
+ measResultSensing-r15 MeasResultSensing-r15 OPTIONAL,
+ heightUE-r15 INTEGER (-400..8880) OPTIONAL
+ ]],
+ [[ ul-PDCP-DelayValueResultList-r16 UL-PDCP-DelayValueResultList-r16 OPTIONAL,
+ measResultForRSSI-NR-r16 MeasResultForRSSI-NR-r16 OPTIONAL
+ ]],
+ [[ uncomBarPreMeasResult-r17 OCTET STRING OPTIONAL,
+ coarseLocationInfo-r17 OCTET STRING OPTIONAL
+ ]]
+}
+
+MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA
+
+MeasResultEUTRA ::= SEQUENCE {
+ physCellId PhysCellId,
+ cgi-Info SEQUENCE {
+ cellGlobalId CellGlobalIdEUTRA,
+ trackingAreaCode TrackingAreaCode,
+ plmn-IdentityList PLMN-IdentityList2 OPTIONAL
+ } OPTIONAL,
+ measResult SEQUENCE {
+ rsrpResult RSRP-Range OPTIONAL,
+ rsrqResult RSRQ-Range OPTIONAL,
+ ...,
+ [[ additionalSI-Info-r9 AdditionalSI-Info-r9 OPTIONAL
+ ]],
+ [[ primaryPLMN-Suitable-r12 ENUMERATED {true} OPTIONAL,
+ measResult-v1250 RSRQ-Range-v1250 OPTIONAL
+ ]],
+ [[ rs-sinr-Result-r13 RS-SINR-Range-r13 OPTIONAL,
+ cgi-Info-v1310 SEQUENCE {
+ freqBandIndicator-r13 FreqBandIndicator-r11 OPTIONAL,
+ multiBandInfoList-r13 MultiBandInfoList-r11 OPTIONAL,
+ freqBandIndicatorPriority-r13 ENUMERATED {true} OPTIONAL
+ } OPTIONAL
+ ]],
+ [[
+ measResult-v1360 RSRP-Range-v1360 OPTIONAL
+ ]],
+ [[
+ cgi-Info-5GC-r15 SEQUENCE (SIZE (1..maxPLMN-r11)) OF CellAccessRelatedInfo-5GC-r15 OPTIONAL
+ ]]
+ }
+}
+
+MeasResultListIdle-r15 ::= SEQUENCE (SIZE (1..maxIdleMeasCarriers-r15)) OF MeasResultIdle-r15
+
+MeasResultIdle-r15 ::= SEQUENCE {
+ measResultServingCell-r15 SEQUENCE {
+ rsrpResult-r15 RSRP-Range,
+ rsrqResult-r15 RSRQ-Range-r13
+ },
+ measResultNeighCells-r15 CHOICE {
+ measResultIdleListEUTRA-r15 MeasResultIdleListEUTRA-r15,
+ ...
+ } OPTIONAL,
+ ...
+}
+
+MeasResultIdleListEUTRA-r15 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r15)) OF MeasResultIdleEUTRA-r15
+
+MeasResultIdleEUTRA-r15 ::= SEQUENCE {
+ carrierFreq-r15 ARFCN-ValueEUTRA-r9,
+ physCellId-r15 PhysCellId,
+ measResult-r15 SEQUENCE {
+ rsrpResult-r15 RSRP-Range,
+ rsrqResult-r15 RSRQ-Range-r13
+ },
+ ...
+}
+
+MeasResultListExtIdle-r16 ::= SEQUENCE(SIZE (1..maxIdleMeasCarriersExt-r16)) OF MeasResultIdleListEUTRA-r15
+
+MeasResultListIdleNR-r16 ::= SEQUENCE(SIZE (1..maxIdleMeasCarriers-r16)) OF MeasResultIdleNR-r16
+
+MeasResultIdleNR-r16 ::= SEQUENCE {
+ carrierFreqNR-r16 ARFCN-ValueNR-r15,
+ measResultsPerCellListIdleNR-r16 SEQUENCE (SIZE (1..maxCellMeasIdle-r15)) OF MeasResultsPerCellIdleNR-r16,
+ ...
+}
+
+MeasResultsPerCellIdleNR-r16 ::= SEQUENCE {
+ physCellIdNR-r16 PhysCellIdNR-r15,
+ measIdleResultNR-r16 SEQUENCE {
+ rsrpResultNR-r16 RSRP-RangeNR-r15 OPTIONAL,
+ rsrqResultNR-r16 RSRQ-RangeNR-r15 OPTIONAL,
+ resultRS-IndexList-r16 ResultsPerSSB-IndexList-r16 OPTIONAL
+ },
+ ...
+}
+
+ResultsPerSSB-IndexList-r16 ::= SEQUENCE (SIZE (1..maxRS-IndexReport-r15)) OF ResultsPerSSB-IndexIdle-r16
+
+ResultsPerSSB-IndexIdle-r16 ::= SEQUENCE {
+ ssb-Index-r16 RS-IndexNR-r15,
+ ssb-Results-r16 SEQUENCE {
+ ssb-RSRP-Result-r16 RSRP-RangeNR-r15 OPTIONAL,
+ ssb-RSRQ-Result-r16 RSRQ-RangeNR-r15 OPTIONAL
+ } OPTIONAL
+}
+
+MeasResultServFreqListNR-r15 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasResultServFreqNR-r15
+
+MeasResultServFreqNR-r15 ::= SEQUENCE {
+ carrierFreq-r15 ARFCN-ValueNR-r15,
+ measResultSCell-r15 MeasResultCellNR-r15 OPTIONAL,
+ measResultBestNeighCell-r15 MeasResultCellNR-r15 OPTIONAL,
+ ...
+}
+
+MeasResultCellListNR-r15::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCellNR-r15
+
+MeasResultCellNR-r15 ::= SEQUENCE {
+ pci-r15 PhysCellIdNR-r15,
+ measResultCell-r15 MeasResultNR-r15,
+ measResultRS-IndexList-r15 MeasResultSSB-IndexList-r15 OPTIONAL,
+ ...,
+ [[ cgi-Info-r15 CGI-InfoNR-r15 OPTIONAL
+ ]]
+}
+
+MeasResultNR-r15 ::= SEQUENCE {
+ rsrpResult-r15 RSRP-RangeNR-r15 OPTIONAL,
+ rsrqResult-r15 RSRQ-RangeNR-r15 OPTIONAL,
+ rs-sinr-Result-r15 RS-SINR-RangeNR-r15 OPTIONAL,
+ ...
+}
+
+MeasResultSSB-IndexList-r15::= SEQUENCE (SIZE (1..maxRS-IndexReport-r15)) OF MeasResultSSB-Index-r15
+
+MeasResultSSB-Index-r15 ::= SEQUENCE {
+ ssb-Index-r15 RS-IndexNR-r15,
+ measResultSSB-Index-r15 MeasResultNR-r15 OPTIONAL,
+ ...
+}
+
+MeasResultServFreqList-r10 ::= SEQUENCE (SIZE (1..maxServCell-r10)) OF MeasResultServFreq-r10
+
+MeasResultServFreqListExt-r13 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasResultServFreq-r13
+
+MeasResultServFreq-r10 ::= SEQUENCE {
+ servFreqId-r10 ServCellIndex-r10,
+ measResultSCell-r10 SEQUENCE {
+ rsrpResultSCell-r10 RSRP-Range,
+ rsrqResultSCell-r10 RSRQ-Range
+ } OPTIONAL,
+ measResultBestNeighCell-r10 SEQUENCE {
+ physCellId-r10 PhysCellId,
+ rsrpResultNCell-r10 RSRP-Range,
+ rsrqResultNCell-r10 RSRQ-Range
+ } OPTIONAL,
+ ...,
+ [[ measResultSCell-v1250 RSRQ-Range-v1250 OPTIONAL,
+ measResultBestNeighCell-v1250 RSRQ-Range-v1250 OPTIONAL
+ ]],
+ [[ measResultSCell-v1310 SEQUENCE {
+ rs-sinr-Result-r13 RS-SINR-Range-r13
+ } OPTIONAL,
+ measResultBestNeighCell-v1310 SEQUENCE {
+ rs-sinr-Result-r13 RS-SINR-Range-r13
+ } OPTIONAL
+ ]]
+}
+
+MeasResultServFreq-r13 ::= SEQUENCE {
+ servFreqId-r13 ServCellIndex-r13,
+ measResultSCell-r13 SEQUENCE {
+ rsrpResultSCell-r13 RSRP-Range,
+ rsrqResultSCell-r13 RSRQ-Range-r13,
+ rs-sinr-Result-r13 RS-SINR-Range-r13 OPTIONAL
+ } OPTIONAL,
+ measResultBestNeighCell-r13 SEQUENCE {
+ physCellId-r13 PhysCellId,
+ rsrpResultNCell-r13 RSRP-Range,
+ rsrqResultNCell-r13 RSRQ-Range-r13,
+ rs-sinr-Result-r13 RS-SINR-Range-r13 OPTIONAL
+ } OPTIONAL,
+ ...,
+ [[ measResultBestNeighCell-v1360 SEQUENCE {
+ rsrpResultNCell-v1360 RSRP-Range-v1360
+ } OPTIONAL
+ ]]
+}
+
+MeasResultCSI-RS-List-r12 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCSI-RS-r12
+
+MeasResultCSI-RS-r12 ::= SEQUENCE {
+ measCSI-RS-Id-r12 MeasCSI-RS-Id-r12,
+ csi-RSRP-Result-r12 CSI-RSRP-Range-r12,
+ ...
+}
+
+MeasResultListUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultUTRA
+
+MeasResultUTRA ::= SEQUENCE {
+ physCellId CHOICE {
+ fdd PhysCellIdUTRA-FDD,
+ tdd PhysCellIdUTRA-TDD
+ },
+ cgi-Info SEQUENCE {
+ cellGlobalId CellGlobalIdUTRA,
+ locationAreaCode BIT STRING (SIZE (16)) OPTIONAL,
+ routingAreaCode BIT STRING (SIZE (8)) OPTIONAL,
+ plmn-IdentityList PLMN-IdentityList2 OPTIONAL
+ } OPTIONAL,
+ measResult SEQUENCE {
+ utra-RSCP INTEGER (-5..91) OPTIONAL,
+ utra-EcN0 INTEGER (0..49) OPTIONAL,
+ ...,
+ [[ additionalSI-Info-r9 AdditionalSI-Info-r9 OPTIONAL
+ ]],
+ [[ primaryPLMN-Suitable-r12 ENUMERATED {true} OPTIONAL
+ ]]
+ }
+}
+
+MeasResultListGERAN ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultGERAN
+
+MeasResultGERAN ::= SEQUENCE {
+ carrierFreq CarrierFreqGERAN,
+ physCellId PhysCellIdGERAN,
+ cgi-Info SEQUENCE {
+ cellGlobalId CellGlobalIdGERAN,
+ routingAreaCode BIT STRING (SIZE (8)) OPTIONAL
+ } OPTIONAL,
+ measResult SEQUENCE {
+ rssi INTEGER (0..63),
+ ...
+ }
+}
+
+MeasResultsCDMA2000 ::= SEQUENCE {
+ preRegistrationStatusHRPD BOOLEAN,
+ measResultListCDMA2000 MeasResultListCDMA2000
+}
+
+MeasResultListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCDMA2000
+
+MeasResultCDMA2000 ::= SEQUENCE {
+ physCellId PhysCellIdCDMA2000,
+ cgi-Info CellGlobalIdCDMA2000 OPTIONAL,
+ measResult SEQUENCE {
+ pilotPnPhase INTEGER (0..32767) OPTIONAL,
+ pilotStrength INTEGER (0..63),
+ ...
+ }
+}
+
+MeasResultListWLAN-r13 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultWLAN-r13
+
+MeasResultListWLAN-r14 ::= SEQUENCE (SIZE (1..maxWLAN-Id-Report-r14)) OF MeasResultWLAN-r13
+
+MeasResultWLAN-r13 ::= SEQUENCE {
+ wlan-Identifiers-r13 WLAN-Identifiers-r12,
+ carrierInfoWLAN-r13 WLAN-CarrierInfo-r13 OPTIONAL,
+ bandWLAN-r13 WLAN-BandIndicator-r13 OPTIONAL,
+ rssiWLAN-r13 WLAN-RSSI-Range-r13,
+ availableAdmissionCapacityWLAN-r13 INTEGER (0..31250) OPTIONAL,
+ backhaulDL-BandwidthWLAN-r13 WLAN-backhaulRate-r12 OPTIONAL,
+ backhaulUL-BandwidthWLAN-r13 WLAN-backhaulRate-r12 OPTIONAL,
+ channelUtilizationWLAN-r13 INTEGER (0..255) OPTIONAL,
+ stationCountWLAN-r13 INTEGER (0..65535) OPTIONAL,
+ connectedWLAN-r13 ENUMERATED {true} OPTIONAL,
+ ...
+}
+
+MeasResultListCBR-r14 ::= SEQUENCE (SIZE (1..maxCBR-Report-r14)) OF MeasResultCBR-r14
+
+MeasResultCBR-r14 ::= SEQUENCE {
+ poolIdentity-r14 SL-V2X-TxPoolReportIdentity-r14,
+ cbr-PSSCH-r14 SL-CBR-r14,
+ cbr-PSCCH-r14 SL-CBR-r14 OPTIONAL
+}
+
+MeasResultSensing-r15 ::= SEQUENCE {
+ sl-SubframeRef-r15 INTEGER (0..10239),
+ sensingResult-r15 SEQUENCE (SIZE (0..400)) OF SensingResult-r15
+}
+
+SensingResult-r15 ::= SEQUENCE {
+ resourceIndex-r15 INTEGER (1..2000)
+}
+
+MeasResultForECID-r9 ::= SEQUENCE {
+ ue-RxTxTimeDiffResult-r9 INTEGER (0..4095),
+ currentSFN-r9 BIT STRING (SIZE (10))
+}
+
+PLMN-IdentityList2 ::= SEQUENCE (SIZE (1..5)) OF PLMN-Identity
+
+AdditionalSI-Info-r9 ::= SEQUENCE {
+ csg-MemberStatus-r9 ENUMERATED {member} OPTIONAL,
+ csg-Identity-r9 CSG-Identity OPTIONAL
+}
+MeasResultForRSSI-r13 ::= SEQUENCE {
+ rssi-Result-r13 RSSI-Range-r13,
+ channelOccupancy-r13 INTEGER (0..100),
+ ...
+}
+
+MeasResultForRSSI-NR-r16 ::= SEQUENCE {
+ rssi-ResultNR-r16 RSSI-Range-r13,
+ channelOccupancyNR-r16 INTEGER (0..100),
+ ...
+}
+
+UL-PDCP-DelayResultList-r13 ::= SEQUENCE (SIZE (1..maxQCI-r13)) OF UL-PDCP-DelayResult-r13
+
+
+UL-PDCP-DelayResult-r13 ::= SEQUENCE {
+ qci-Id-r13 ENUMERATED {qci1, qci2, qci3, qci4, spare4, spare3, spare2, spare1},
+ excessDelay-r13 INTEGER (0..31),
+ ...
+}
+
+UL-PDCP-DelayValueResultList-r16 ::= SEQUENCE (SIZE (1..maxDRB)) OF UL-PDCP-DelayValueResult-r16
+
+UL-PDCP-DelayValueResult-r16 ::= SEQUENCE {
+ drb-Id-r16 DRB-Identity,
+ averageDelay-r16 INTEGER (0..10000),
+ ...
+}
+
+CGI-InfoNR-r15 ::= SEQUENCE {
+ plmn-IdentityInfoList-r15 PLMN-IdentityInfoListNR-r15 OPTIONAL,
+ frequencyBandList-r15 MultiFrequencyBandListNR-r15 OPTIONAL,
+ noSIB1-r15 SEQUENCE {
+ ssb-SubcarrierOffset-r15 INTEGER (0..15),
+ pdcch-ConfigSIB1-r15 INTEGER (0..255)
+ } OPTIONAL,
+ ...,
+ [[
+ plmn-IdentityInfoList-v1710 PLMN-IdentityInfoListNR-v1710 OPTIONAL
+ ]]
+}
+
+CellIdentityNR-r15 ::= BIT STRING (SIZE (36))
+
+PLMN-IdentityListNR-r15 ::= SEQUENCE (SIZE (1.. maxPLMN-NR-r15)) OF PLMN-Identity
+
+PLMN-IdentityInfoListNR-r15 ::= SEQUENCE (SIZE (1..maxPLMN-NR-r15)) OF PLMN-IdentityInfoNR-r15
+
+PLMN-IdentityInfoListNR-v1710 ::= SEQUENCE (SIZE (1..maxPLMN-NR-r15)) OF PLMN-IdentityInfoNR-v1710
+
+PLMN-IdentityInfoNR-r15 ::= SEQUENCE {
+ plmn-IdentityList-r15 PLMN-IdentityListNR-r15,
+ trackingAreaCode-r15 TrackingAreaCodeNR-r15 OPTIONAL,
+ ran-AreaCode-r15 RAN-AreaCode-r15 OPTIONAL,
+ cellIdentity-r15 CellIdentityNR-r15
+}
+
+PLMN-IdentityInfoNR-v1710 ::= SEQUENCE {
+ gNB-ID-Length-r17 INTEGER (22..32) OPTIONAL
+}
+
+TrackingAreaCodeNR-r15 ::= BIT STRING (SIZE (24))
+
+
+MeasResultCellListSFTD-r15 ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD-r15
+
+MeasResultCellSFTD-r15 ::= SEQUENCE {
+ physCellId-r15 PhysCellIdNR-r15,
+ sfn-OffsetResult-r15 INTEGER (0..1023),
+ frameBoundaryOffsetResult-r15 INTEGER (-30720..30719),
+ rsrpResult-r15 RSRP-RangeNR-r15 OPTIONAL
+}
+
+
+MeasResultSCG-FailureMRDC-r15 ::= SEQUENCE {
+ measResultFreqListEUTRA-r15 MeasResultList3EUTRA-r15,
+ ...,
+ [[ locationInfo-r16 LocationInfo-r10 OPTIONAL,
+ logMeasResultListBT-r16 LogMeasResultListBT-r15 OPTIONAL,
+ logMeasResultListWLAN-r16 LogMeasResultListWLAN-r15 OPTIONAL
+ ]]
+}
+
+MeasResultList3EUTRA-r15 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult3EUTRA-r15
+
+MeasResult3EUTRA-r15 ::= SEQUENCE {
+ carrierFreq-r15 ARFCN-ValueEUTRA-r9,
+ measResultServingCell-r15 MeasResultEUTRA OPTIONAL,
+ measResultNeighCellList-r15 MeasResultListEUTRA OPTIONAL,
+ ...
+}
+
+
+MeasResultSSTD-r13 ::= SEQUENCE {
+ sfn-OffsetResult-r13 INTEGER (0..1023),
+ frameBoundaryOffsetResult-r13 INTEGER (-5..4),
+ subframeBoundaryOffsetResult-r13 INTEGER (0..127)
+}
+
+
+MeasScaleFactor-r12 ::= ENUMERATED {sf-EUTRA-cf1, sf-EUTRA-cf2}
+
+
+MeasSensing-Config-r15 ::= SEQUENCE {
+ sensingSubchannelNumber-r15 INTEGER (1..20),
+ sensingPeriodicity-r15 ENUMERATED {ms20, ms50, ms100, ms200,
+ ms300, ms400, ms500, ms600,
+ ms700, ms800, ms900, ms1000},
+ sensingReselectionCounter-r15 INTEGER (5..75),
+ sensingPriority-r15 INTEGER (1..8)
+}
+
+
+MTC-SSB-NR-r15 ::= SEQUENCE {
+ periodicityAndOffset-r15 CHOICE {
+ sf5-r15 INTEGER (0..4),
+ sf10-r15 INTEGER (0..9),
+ sf20-r15 INTEGER (0..19),
+ sf40-r15 INTEGER (0..39),
+ sf80-r15 INTEGER (0..79),
+ sf160-r15 INTEGER (0..159)
+ },
+ ssb-Duration-r15 ENUMERATED {sf1, sf2, sf3, sf4, sf5 }
+}
+
+MTC-SSB2-LP-NR-r16::= SEQUENCE {
+ pci-List-r16 SEQUENCE (SIZE (1..maxNrofPCI-PerSMTC-r16)) OF PhysCellIdNR-r15
+ OPTIONAL, -- Need OR
+ periodicity-r16 ENUMERATED {sf10, sf20, sf40, sf80, sf160, spare3, spare2, spare1}
+}
+
+
+QuantityConfig ::= SEQUENCE {
+ quantityConfigEUTRA QuantityConfigEUTRA OPTIONAL, -- Need ON
+ quantityConfigUTRA QuantityConfigUTRA OPTIONAL, -- Need ON
+ quantityConfigGERAN QuantityConfigGERAN OPTIONAL, -- Need ON
+ quantityConfigCDMA2000 QuantityConfigCDMA2000 OPTIONAL, -- Need ON
+ ...,
+ [[ quantityConfigUTRA-v1020 QuantityConfigUTRA-v1020 OPTIONAL -- Need ON
+ ]],
+ [[ quantityConfigEUTRA-v1250 QuantityConfigEUTRA-v1250 OPTIONAL -- Need ON
+ ]],
+ [[ quantityConfigEUTRA-v1310 QuantityConfigEUTRA-v1310 OPTIONAL, -- Need ON
+ quantityConfigWLAN-r13 QuantityConfigWLAN-r13 OPTIONAL -- Need ON
+ ]],
+ [[ quantityConfigNRList-r15 QuantityConfigNRList-r15 OPTIONAL -- Need ON
+ ]]
+}
+
+QuantityConfigEUTRA ::= SEQUENCE {
+ filterCoefficientRSRP FilterCoefficient DEFAULT fc4,
+ filterCoefficientRSRQ FilterCoefficient DEFAULT fc4
+}
+
+QuantityConfigEUTRA-v1250 ::= SEQUENCE {
+ filterCoefficientCSI-RSRP-r12 FilterCoefficient OPTIONAL -- Need OR
+}
+
+QuantityConfigEUTRA-v1310 ::= SEQUENCE {
+ filterCoefficientRS-SINR-r13 FilterCoefficient DEFAULT fc4
+}
+
+QuantityConfigUTRA ::= SEQUENCE {
+ measQuantityUTRA-FDD ENUMERATED {cpich-RSCP, cpich-EcN0},
+ measQuantityUTRA-TDD ENUMERATED {pccpch-RSCP},
+ filterCoefficient FilterCoefficient DEFAULT fc4
+}
+
+QuantityConfigUTRA-v1020 ::= SEQUENCE {
+ filterCoefficient2-FDD-r10 FilterCoefficient DEFAULT fc4
+}
+
+QuantityConfigGERAN ::= SEQUENCE {
+ measQuantityGERAN ENUMERATED {rssi},
+ filterCoefficient FilterCoefficient DEFAULT fc2
+}
+
+QuantityConfigCDMA2000 ::= SEQUENCE {
+ measQuantityCDMA2000 ENUMERATED {pilotStrength, pilotPnPhaseAndPilotStrength}
+}
+
+QuantityConfigNRList-r15 ::= SEQUENCE (SIZE (1..maxQuantSetsNR-r15)) OF QuantityConfigNR-r15
+
+QuantityConfigNR-r15 ::= SEQUENCE {
+ measQuantityCellNR-r15 QuantityConfigRS-NR-r15,
+ measQuantityRS-IndexNR-r15 QuantityConfigRS-NR-r15 OPTIONAL
+}
+
+QuantityConfigRS-NR-r15 ::= SEQUENCE {
+ filterCoeff-RSRP-r15 FilterCoefficient DEFAULT fc4,
+ filterCoeff-RSRQ-r15 FilterCoefficient DEFAULT fc4,
+ filterCoefficient-SINR-r13 FilterCoefficient DEFAULT fc4
+}
+
+QuantityConfigWLAN-r13 ::= SEQUENCE {
+ measQuantityWLAN-r13 ENUMERATED {rssiWLAN},
+ filterCoefficient-r13 FilterCoefficient DEFAULT fc4
+}
+
+
+ReportConfigEUTRA ::= SEQUENCE {
+ triggerType CHOICE {
+ event SEQUENCE {
+ eventId CHOICE {
+ eventA1 SEQUENCE {
+ a1-Threshold ThresholdEUTRA
+ },
+ eventA2 SEQUENCE {
+ a2-Threshold ThresholdEUTRA
+ },
+ eventA3 SEQUENCE {
+ a3-Offset INTEGER (-30..30),
+ reportOnLeave BOOLEAN
+ },
+ eventA4 SEQUENCE {
+ a4-Threshold ThresholdEUTRA
+ },
+ eventA5 SEQUENCE {
+ a5-Threshold1 ThresholdEUTRA,
+ a5-Threshold2 ThresholdEUTRA
+ },
+ ...,
+ eventA6-r10 SEQUENCE {
+ a6-Offset-r10 INTEGER (-30..30),
+ a6-ReportOnLeave-r10 BOOLEAN
+ },
+ eventC1-r12 SEQUENCE {
+ c1-Threshold-r12 ThresholdEUTRA-v1250,
+ c1-ReportOnLeave-r12 BOOLEAN
+ },
+ eventC2-r12 SEQUENCE {
+ c2-RefCSI-RS-r12 MeasCSI-RS-Id-r12,
+ c2-Offset-r12 INTEGER (-30..30),
+ c2-ReportOnLeave-r12 BOOLEAN
+ },
+ eventV1-r14 SEQUENCE {
+ v1-Threshold-r14 SL-CBR-r14
+ },
+ eventV2-r14 SEQUENCE {
+ v2-Threshold-r14 SL-CBR-r14
+ },
+ eventH1-r15 SEQUENCE {
+ h1-ThresholdOffset-r15 INTEGER (0..300),
+ h1-Hysteresis-r15 INTEGER (1..16)
+ },
+ eventH2-r15 SEQUENCE {
+ h2-ThresholdOffset-r15 INTEGER (0..300),
+ h2-Hysteresis-r15 INTEGER (1..16)
+ }
+ },
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger
+ },
+ periodical SEQUENCE {
+ purpose ENUMERATED {
+ reportStrongestCells, reportCGI}
+ }
+ },
+ triggerQuantity ENUMERATED {rsrp, rsrq},
+ reportQuantity ENUMERATED {sameAsTriggerQuantity, both},
+ maxReportCells INTEGER (1..maxCellReport),
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ ...,
+ [[ si-RequestForHO-r9 ENUMERATED {setup} OPTIONAL, -- Cond reportCGI
+ ue-RxTxTimeDiffPeriodical-r9 ENUMERATED {setup} OPTIONAL -- Need OR
+ ]],
+ [[ includeLocationInfo-r10 ENUMERATED {true} OPTIONAL, -- Need OR
+ reportAddNeighMeas-r10 ENUMERATED {setup} OPTIONAL -- Need OR
+ ]],
+ [[ alternativeTimeToTrigger-r12 CHOICE {
+ release NULL,
+ setup TimeToTrigger
+ } OPTIONAL, -- Need ON
+ useT312-r12 BOOLEAN OPTIONAL, -- Need ON
+ usePSCell-r12 BOOLEAN OPTIONAL, -- Need ON
+ aN-Threshold1-v1250 RSRQ-RangeConfig-r12 OPTIONAL, -- Need ON
+ a5-Threshold2-v1250 RSRQ-RangeConfig-r12 OPTIONAL, -- Need ON
+ reportStrongestCSI-RSs-r12 BOOLEAN OPTIONAL, -- Need ON
+ reportCRS-Meas-r12 BOOLEAN OPTIONAL, -- Need ON
+ triggerQuantityCSI-RS-r12 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ reportSSTD-Meas-r13 BOOLEAN OPTIONAL, -- Need ON
+ rs-sinr-Config-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ triggerQuantity-v1310 ENUMERATED {sinr} OPTIONAL, -- Need ON
+ aN-Threshold1-r13 RS-SINR-Range-r13 OPTIONAL, -- Need ON
+ a5-Threshold2-r13 RS-SINR-Range-r13 OPTIONAL, -- Need ON
+ reportQuantity-v1310 ENUMERATED {rsrpANDsinr, rsrqANDsinr, all}
+ }
+ } OPTIONAL, -- Need ON
+ useAllowedCellList-r13 BOOLEAN OPTIONAL, -- Need ON
+ measRSSI-ReportConfig-r13 MeasRSSI-ReportConfig-r13 OPTIONAL, -- Need ON
+ includeMultiBandInfo-r13 ENUMERATED {true} OPTIONAL, -- Cond reportCGI
+ ul-DelayConfig-r13 UL-DelayConfig-r13 OPTIONAL -- Need ON
+ ]],
+ [[ ue-RxTxTimeDiffPeriodicalTDD-r13 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[
+ purpose-v1430 ENUMERATED {reportLocation, sidelink, spare2, spare1}
+ OPTIONAL -- Need ON
+ ]],
+ [[
+ maxReportRS-Index-r15 INTEGER (0..maxRS-IndexReport-r15) OPTIONAL -- Need ON
+ ]],
+ [[ includeBT-Meas-r15 BT-NameListConfig-r15 OPTIONAL, -- Need ON
+ includeWLAN-Meas-r15 WLAN-NameListConfig-r15 OPTIONAL, -- Need ON
+ purpose-r15 ENUMERATED {sensing} OPTIONAL, -- Need ON
+ numberOfTriggeringCells-r15 INTEGER (2..maxCellReport) OPTIONAL, -- Cond a3a4a5
+ a4-a5-ReportOnLeave-r15 BOOLEAN OPTIONAL -- Cond a4a5
+ ]],
+ [[ condReconfigurationTriggerEUTRA-r16 CondReconfigurationTriggerEUTRA-r16 OPTIONAL,
+-- Need ON
+ ul-DelayValueConfig-r16 UL-DelayValueConfig-r16 OPTIONAL -- Need ON
+ ]],
+ [[ includeUncomBarPreMeas-r17 BOOLEAN OPTIONAL, -- Need ON
+ coarseLocationReq-r17 ENUMERATED {true} OPTIONAL -- Need OR
+ ]]
+}
+
+CondReconfigurationTriggerEUTRA-r16 ::= SEQUENCE {
+ condEventId-r16 CHOICE {
+ condEventA3-r16 SEQUENCE {
+ a3-Offset-r16 INTEGER (-30..30),
+ hysteresis-r16 Hysteresis,
+ timeToTrigger-r16 TimeToTrigger
+ },
+ condEventA5-r16 SEQUENCE {
+ a5-Threshold1-r16 ThresholdEUTRA,
+ a5-Threshold2-r16 ThresholdEUTRA,
+ hysteresis-r16 Hysteresis,
+ timeToTrigger-r16 TimeToTrigger
+ },
+ ...
+ }
+}
+
+RSRQ-RangeConfig-r12 ::= CHOICE {
+ release NULL,
+ setup RSRQ-Range-v1250
+}
+
+ThresholdEUTRA ::= CHOICE{
+ threshold-RSRP RSRP-Range,
+ threshold-RSRQ RSRQ-Range
+}
+
+ThresholdEUTRA-v1250 ::= CSI-RSRP-Range-r12
+
+MeasRSSI-ReportConfig-r13 ::= SEQUENCE {
+ channelOccupancyThreshold-r13 RSSI-Range-r13 OPTIONAL -- Need OR
+}
+
+
+ReportConfigId ::= INTEGER (1..maxReportConfigId)
+
+
+ReportConfigInterRAT ::= SEQUENCE {
+ triggerType CHOICE {
+ event SEQUENCE {
+ eventId CHOICE {
+ eventB1 SEQUENCE {
+ b1-Threshold CHOICE {
+ b1-ThresholdUTRA ThresholdUTRA,
+ b1-ThresholdGERAN ThresholdGERAN,
+ b1-ThresholdCDMA2000 ThresholdCDMA2000
+ }
+ },
+ eventB2 SEQUENCE {
+ b2-Threshold1 ThresholdEUTRA,
+ b2-Threshold2 CHOICE {
+ b2-Threshold2UTRA ThresholdUTRA,
+ b2-Threshold2GERAN ThresholdGERAN,
+ b2-Threshold2CDMA2000 ThresholdCDMA2000
+ }
+ },
+ ...,
+ eventW1-r13 SEQUENCE {
+ w1-Threshold-r13 WLAN-RSSI-Range-r13
+ },
+ eventW2-r13 SEQUENCE {
+ w2-Threshold1-r13 WLAN-RSSI-Range-r13,
+ w2-Threshold2-r13 WLAN-RSSI-Range-r13
+ },
+ eventW3-r13 SEQUENCE {
+ w3-Threshold-r13 WLAN-RSSI-Range-r13
+ },
+ eventB1-NR-r15 SEQUENCE {
+ b1-ThresholdNR-r15 ThresholdNR-r15,
+ reportOnLeave-r15 BOOLEAN
+ },
+ eventB2-NR-r15 SEQUENCE {
+ b2-Threshold1-r15 ThresholdEUTRA,
+ b2-Threshold2NR-r15 ThresholdNR-r15,
+ reportOnLeave-r15 BOOLEAN
+ }
+ },
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger
+ },
+ periodical SEQUENCE {
+ purpose ENUMERATED {
+ reportStrongestCells,
+ reportStrongestCellsForSON,
+ reportCGI}
+ }
+ },
+ maxReportCells INTEGER (1..maxCellReport),
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ ...,
+ [[ si-RequestForHO-r9 ENUMERATED {setup} OPTIONAL -- Cond reportCGI
+ ]],
+ [[ reportQuantityUTRA-FDD-r10 ENUMERATED {both} OPTIONAL -- Need OR
+ ]],
+ [[ includeLocationInfo-r11 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ b2-Threshold1-v1250 CHOICE {
+ release NULL,
+ setup RSRQ-Range-v1250
+ } OPTIONAL -- Need ON
+ ]],
+ [[ reportQuantityWLAN-r13 ReportQuantityWLAN-r13 OPTIONAL -- Need ON
+ ]],
+ [[ reportAnyWLAN-r14 BOOLEAN OPTIONAL -- Need ON
+ ]],
+ [[ reportQuantityCellNR-r15 ReportQuantityNR-r15 OPTIONAL, -- Need ON
+ maxReportRS-Index-r15 INTEGER (0..maxRS-IndexReport-r15) OPTIONAL, -- Need ON
+ reportQuantityRS-IndexNR-r15 ReportQuantityNR-r15 OPTIONAL, -- Need ON
+ reportRS-IndexResultsNR BOOLEAN OPTIONAL, -- Need ON
+ reportSFTD-Meas-r15 ENUMERATED {pSCell, neighborCells } OPTIONAL -- Need ON
+ ]],
+ [[
+ useAutonomousGapsNR-r16 ENUMERATED {setup} OPTIONAL, -- Cond reportCGI-NR
+ measRSSI-ReportConfigNR-r16 MeasRSSI-ReportConfig-r13 OPTIONAL -- Need ON
+ ]],
+ [[condReconfigurationTriggerNR-r17 CondReconfigurationTriggerNR-r17 OPTIONAL-- Need ON
+ ]]
+}
+
+CondReconfigurationTriggerNR-r17 ::= SEQUENCE {
+ condEventId-r17 CHOICE {
+ condEventB1-NR-r17 SEQUENCE {
+ b1-ThresholdNR-r17 ThresholdNR-r15,
+ hysteresis-r17 Hysteresis,
+ timeToTrigger-r17 TimeToTrigger
+ },
+ ...
+ }
+}
+
+ThresholdUTRA ::= CHOICE{
+ utra-RSCP INTEGER (-5..91),
+ utra-EcN0 INTEGER (0..49)
+}
+
+ThresholdGERAN ::= INTEGER (0..63)
+
+ThresholdCDMA2000 ::= INTEGER (0..63)
+
+ReportQuantityNR-r15::= SEQUENCE {
+ ss-rsrp BOOLEAN,
+ ss-rsrq BOOLEAN,
+ ss-sinr BOOLEAN
+}
+
+ReportQuantityWLAN-r13 ::= SEQUENCE {
+ bandRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ carrierInfoRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ availableAdmissionCapacityRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ backhaulDL-BandwidthRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ backhaulUL-BandwidthRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ channelUtilizationRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ stationCountRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR
+ ...
+}
+
+
+ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod
+
+ReportConfigToAddMod ::= SEQUENCE {
+ reportConfigId ReportConfigId,
+ reportConfig CHOICE {
+ reportConfigEUTRA ReportConfigEUTRA,
+ reportConfigInterRAT ReportConfigInterRAT
+ }
+}
+
+
+
+ReportInterval ::= ENUMERATED {
+ ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240,
+ min1, min6, min12, min30, min60, spare3, spare2, spare1}
+
+
+RS-IndexNR-r15 ::= INTEGER (0.. maxRS-Index-1-r15)
+
+
+RSRP-Range ::= INTEGER(0..97)
+
+RSRP-Range-v1360 ::= INTEGER(-17..-1)
+
+RSRP-RangeSL-r12 ::= INTEGER(0..13)
+
+RSRP-RangeSL2-r12 ::= INTEGER(0..7)
+
+RSRP-RangeSL3-r12 ::= INTEGER(0..11)
+
+RSRP-RangeSL4-r13 ::= INTEGER(0..49)
+
+
+RSRP-RangeNR-r15 ::= INTEGER (0..127)
+
+
+RSRQ-Range ::= INTEGER(0..34)
+
+RSRQ-Range-v1250 ::= INTEGER(-30..46)
+
+RSRQ-Range-r13 ::= INTEGER(-30..46)
+
+
+RSRQ-RangeNR-r15 ::= INTEGER (0..127)
+
+
+RSRQ-Type-r12 ::= SEQUENCE {
+ allSymbols-r12 BOOLEAN,
+ wideBand-r12 BOOLEAN
+}
+
+
+RS-SINR-Range-r13 ::= INTEGER(0..127)
+
+
+RS-SINR-RangeNR-r15 ::= INTEGER (0..127)
+
+
+RSSI-Range-r13 ::= INTEGER(0..76)
+
+
+SS-RSSI-Measurement-r15 ::= SEQUENCE {
+ measurementSlots-r15 BIT STRING (SIZE(1..80)),
+ endSymbol-r15 INTEGER(0..3)
+}
+
+
+SSB-PositionQCL-RelationNR-r16 ::= ENUMERATED {n1, n2, n4, n8}
+
+SSB-PositionQCL-RelationNR-r17 ::= ENUMERATED {n32, n64}
+
+
+SSB-ToMeasure-r15 ::= CHOICE {
+ shortBitmap-r15 BIT STRING (SIZE (4)),
+ mediumBitmap-r15 BIT STRING (SIZE (8)),
+ longBitmap-r15 BIT STRING (SIZE (64))
+}
+
+
+TimeToTrigger ::= ENUMERATED {
+ ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256,
+ ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560,
+ ms5120}
+
+
+UL-DelayConfig-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ delayThreshold-r13 ENUMERATED {
+ ms30, ms40, ms50, ms60, ms70, ms80,
+ ms90,ms100, ms150, ms300, ms500, ms750, spare4,
+ spare3, spare2, spare1}
+ }
+}
+
+
+UL-DelayValueConfig-r16 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ delay-DRBlist-r16 SEQUENCE (SIZE(1..maxDRB)) OF DRB-Identity
+ }
+}
+
+
+WLAN-CarrierInfo-r13 ::= SEQUENCE {
+ operatingClass-r13 INTEGER (0..255) OPTIONAL, -- Need ON
+ countryCode-r13 ENUMERATED {unitedStates, europe, japan, global, ...}
+ OPTIONAL, -- Need ON
+ channelNumbers-r13 WLAN-ChannelList-r13 OPTIONAL, -- Need ON
+ ...
+}
+
+WLAN-ChannelList-r13 ::= SEQUENCE (SIZE (1..maxWLAN-Channels-r13)) OF WLAN-Channel-r13
+
+WLAN-Channel-r13 ::= INTEGER(0..255)
+
+
+WLAN-NameListConfig-r15 ::= CHOICE{
+ release NULL,
+ setup WLAN-NameList-r15
+}
+
+WLAN-NameList-r15 ::= SEQUENCE (SIZE (1..maxWLAN-Name-r15)) OF WLAN-Name-r15
+
+WLAN-Name-r15 ::= OCTET STRING (SIZE (1..32))
+
+
+WLAN-RSSI-Range-r13 ::= INTEGER(0..141)
+
+
+WLAN-RTT-r15 ::= SEQUENCE {
+ rttValue-r15 INTEGER (0..16777215),
+ rttUnits-r15 ENUMERATED { microseconds,
+ hundredsofnanoseconds,
+ tensofnanoseconds,
+ nanoseconds,
+ tenthsofnanoseconds,
+ ... },
+ rttAccuracy-r15 INTEGER (0..255) OPTIONAL,
+ ...
+}
+
+
+WLAN-Status-r13 ::= ENUMERATED {successfulAssociation, failureWlanRadioLink, failureWlanUnavailable, failureTimeout}
+
+WLAN-Status-v1430 ::= ENUMERATED {suspended, resumed}
+
+
+WLAN-SuspendConfig-r14 ::= SEQUENCE {
+ wlan-SuspendResumeAllowed-r14 BOOLEAN OPTIONAL, -- Need ON
+ wlan-SuspendTriggersStatusReport-r14 BOOLEAN OPTIONAL -- Need ON
+}
+
+
+AbsoluteTimeInfo-r10 ::= BIT STRING (SIZE (48))
+
+
+AMF-Identifier-r15 ::= BIT STRING (SIZE (24))
+
+
+AreaConfiguration-r10 ::= CHOICE {
+ cellGlobalIdList-r10 CellGlobalIdList-r10,
+ trackingAreaCodeList-r10 TrackingAreaCodeList-r10
+}
+
+AreaConfiguration-v1130 ::= SEQUENCE {
+ trackingAreaCodeList-v1130 TrackingAreaCodeList-v1130
+}
+
+CellGlobalIdList-r10 ::= SEQUENCE (SIZE (1..32)) OF CellGlobalIdEUTRA
+
+TrackingAreaCodeList-r10 ::= SEQUENCE (SIZE (1..8)) OF TrackingAreaCode
+
+TrackingAreaCodeList-v1130 ::= SEQUENCE {
+ plmn-Identity-perTAC-List-r11 SEQUENCE (SIZE (1..8)) OF PLMN-Identity
+}
+
+
+BandCombinationList-r14 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombination-r14
+
+BandCombination-r14 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandIndication-r14
+
+BandIndication-r14 ::= SEQUENCE {
+ bandEUTRA-r14 FreqBandIndicator-r11,
+ ca-BandwidthClassDL-r14 CA-BandwidthClass-r10,
+ ca-BandwidthClassUL-r14 CA-BandwidthClass-r10 OPTIONAL
+}
+
+
+C-RNTI ::= BIT STRING (SIZE (16))
+
+
+DedicatedInfoCDMA2000 ::= OCTET STRING
+
+
+DedicatedInfoF1c-r16 ::= OCTET STRING
+
+
+DedicatedInfoNAS ::= OCTET STRING
+
+
+FilterCoefficient ::= ENUMERATED {
+ fc0, fc1, fc2, fc3, fc4, fc5,
+ fc6, fc7, fc8, fc9, fc11, fc13,
+ fc15, fc17, fc19, spare1, ...}
+
+
+FlightPathInfoReportConfig-r15 ::= SEQUENCE {
+ maxWayPointNumber-r15 INTEGER (1..maxWayPoint-r15),
+ includeTimeStamp-r15 ENUMERATED {true} OPTIONAL
+}
+
+
+GNSS-ID-r15 ::= SEQUENCE {
+ gnss-id-r15 ENUMERATED{gps, sbas, qzss, galileo, glonass, bds, ..., navic-v1610},
+ ...
+}
+
+
+GNSS-ValidityDuration-r17 ::= ENUMERATED{
+ s10, s20, s30, s40, s50, s60, min5, min10,
+ min15, min20, min25, min30, min50, min90, min120, infinity}
+
+
+I-RNTI-r15 ::= BIT STRING (SIZE(40))
+
+
+LoggingDuration-r10 ::= ENUMERATED {
+ min10, min20, min40, min60, min90, min120, spare2, spare1}
+
+
+LoggingInterval-r10 ::= ENUMERATED {
+ ms1280, ms2560, ms5120, ms10240, ms20480,
+ ms30720, ms40960, ms61440}
+
+
+MeasSubframePattern-r10 ::= CHOICE {
+ subframePatternFDD-r10 BIT STRING (SIZE (40)),
+ subframePatternTDD-r10 CHOICE {
+ subframeConfig1-5-r10 BIT STRING (SIZE (20)),
+ subframeConfig0-r10 BIT STRING (SIZE (70)),
+ subframeConfig6-r10 BIT STRING (SIZE (60)),
+ ...
+ },
+ ...
+}
+
+
+MMEC ::= BIT STRING (SIZE (8))
+
+
+NeighCellConfig ::= BIT STRING (SIZE (2))
+
+
+NG-5G-S-TMSI-r15::= BIT STRING (SIZE (48))
+
+
+OtherConfig-r9 ::= SEQUENCE {
+ reportProximityConfig-r9 ReportProximityConfig-r9 OPTIONAL, -- Need ON
+ ...,
+ [[ idc-Config-r11 IDC-Config-r11 OPTIONAL, -- Need ON
+ powerPrefIndicationConfig-r11 PowerPrefIndicationConfig-r11 OPTIONAL, -- Need ON
+ obtainLocationConfig-r11 ObtainLocationConfig-r11 OPTIONAL -- Need ON
+ ]],
+ [[ bw-PreferenceIndicationTimer-r14 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20,
+ s30, s60, s90, s120, s300, s600, spare3,
+ spare2, spare1} OPTIONAL, -- Need OR
+ sps-AssistanceInfoReport-r14 BOOLEAN OPTIONAL, -- Need ON
+ delayBudgetReportingConfig-r14 CHOICE{
+ release NULL,
+ setup SEQUENCE{
+ delayBudgetReportingProhibitTimer-r14 ENUMERATED {
+ s0, s0dot4, s0dot8,
+ s1dot6, s3, s6, s12, s30}
+ }
+ } OPTIONAL, -- Need ON
+ rlm-ReportConfig-r14 CHOICE {
+ release NULL,
+ setup SEQUENCE{
+ rlmReportTimer-r14 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30,
+ s60, s90, s120, s300, s600, spare3, spare2, spare1},
+ rlmReportRep-MPDCCH-r14 ENUMERATED {setup} OPTIONAL -- Need OR
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ overheatingAssistanceConfig-r14 CHOICE{
+ release NULL,
+ setup SEQUENCE{
+ overheatingIndicationProhibitTimer-r14 ENUMERATED {s0, s0dot5, s1, s2, s5, s10,
+ s20, s30, s60, s90, s120, s300, s600,
+ spare3, spare2, spare1}
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ measConfigAppLayer-r15 CHOICE{
+ release NULL,
+ setup SEQUENCE{
+ measConfigAppLayerContainer-r15 OCTET STRING (SIZE(1..1000)),
+ serviceType-r15 ENUMERATED {qoe, qoemtsi, spare6, spare5, spare4, spare3, spare2, spare1}
+ }
+ } OPTIONAL, -- Need ON
+ ailc-BitConfig-r15 BOOLEAN OPTIONAL, -- Need ON
+ bt-NameListConfig-r15 BT-NameListConfig-r15 OPTIONAL, --Need ON
+ wlan-NameListConfig-r15 WLAN-NameListConfig-r15 OPTIONAL --Need ON
+ ]],
+ [[ overheatingAssistanceConfigForSCG-r16 BOOLEAN OPTIONAL -- Cond overheating
+ ]],
+ [[ measUncomBarPre-r17 BOOLEAN OPTIONAL, --Need ON
+ scg-DeactivationPreferenceConfig-r17 CHOICE {release NULL, setup SCG-DeactivationPreferenceConfig-r17} OPTIONAL -- Need ON
+ ]]
+}
+
+IDC-Config-r11 ::= SEQUENCE {
+ idc-Indication-r11 ENUMERATED {setup} OPTIONAL, -- Need OR
+ autonomousDenialParameters-r11 SEQUENCE {
+ autonomousDenialSubframes-r11 ENUMERATED {n2, n5, n10, n15,
+ n20, n30, spare2, spare1},
+ autonomousDenialValidity-r11 ENUMERATED {
+ sf200, sf500, sf1000, sf2000,
+ spare4, spare3, spare2, spare1}
+ } OPTIONAL, -- Need OR
+ ...,
+ [[ idc-Indication-UL-CA-r11 ENUMERATED {setup} OPTIONAL -- Cond idc-Ind
+ ]],
+ [[ idc-HardwareSharingIndication-r13 ENUMERATED {setup} OPTIONAL -- Need OR
+ ]],
+ [[ idc-Indication-MRDC-r15 CHOICE{
+ release NULL,
+ setup CandidateServingFreqListNR-r15
+ } OPTIONAL -- Cond idc-Ind
+ ]]
+}
+
+ObtainLocationConfig-r11 ::= SEQUENCE {
+ obtainLocation-r11 ENUMERATED {setup} OPTIONAL -- Need OR
+}
+
+PowerPrefIndicationConfig-r11 ::= CHOICE{
+ release NULL,
+ setup SEQUENCE{
+ powerPrefIndicationTimer-r11 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20,
+ s30, s60, s90, s120, s300, s600, spare3,
+ spare2, spare1}
+ }
+}
+
+ReportProximityConfig-r9 ::= SEQUENCE {
+ proximityIndicationEUTRA-r9 ENUMERATED {enabled} OPTIONAL, -- Need OR
+ proximityIndicationUTRA-r9 ENUMERATED {enabled} OPTIONAL -- Need OR
+}
+
+CandidateServingFreqListNR-r15 ::= SEQUENCE (SIZE (1..maxFreqIDC-r11)) OF ARFCN-ValueNR-r15
+
+SCG-DeactivationPreferenceConfig-r17 ::= SEQUENCE {
+ scg-DeactivationPreferenceProhibitTimer-r17
+ ENUMERATED {s0, s1, s2, s4, s8, s10, s20, s30,
+ s60, s120, s180, s240, s300, s600, s900, s1800}
+}
+
+
+RAN-AreaCode-r15 ::= INTEGER (0..255)
+
+
+RAND-CDMA2000 ::= BIT STRING (SIZE (32))
+
+
+RAT-Type ::= ENUMERATED {
+ eutra, utra, geran-cs, geran-ps, cdma2000-1XRTT,
+ nr, eutra-nr, spare1, ...}
+
+
+ResumeIdentity-r13 ::= BIT STRING (SIZE(40))
+
+
+RRC-TransactionIdentifier ::= INTEGER (0..3)
+
+
+SBAS-ID-r15 ::= SEQUENCE {
+ sbas-id-r15 ENUMERATED {waas, egnos, msas, gagan, ...},
+ ...
+}
+
+
+ShortI-RNTI-r15 ::= BIT STRING (SIZE(24))
+
+
+S-NSSAI-r15 ::= CHOICE{
+ sst BIT STRING (SIZE (8)),
+ sst-SD BIT STRING (SIZE (32))
+}
+
+
+S-TMSI ::= SEQUENCE {
+ mmec MMEC,
+ m-TMSI BIT STRING (SIZE (32))
+}
+
+
+TimeOffsetUTC-r17 ::= INTEGER (0..1048575)
+
+
+TraceReference-r10 ::= SEQUENCE {
+ plmn-Identity-r10 PLMN-Identity,
+ traceId-r10 OCTET STRING (SIZE (3))
+}
+
+
+UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0..maxRAT-Capabilities)) OF UE-CapabilityRAT-Container
+
+UE-CapabilityRAT-Container ::= SEQUENCE {
+ rat-Type RAT-Type,
+ ueCapabilityRAT-Container OCTET STRING
+}
+
+
+UE-EUTRA-Capability ::= SEQUENCE {
+ accessStratumRelease AccessStratumRelease,
+ ue-Category INTEGER (1..5),
+ pdcp-Parameters PDCP-Parameters,
+ phyLayerParameters PhyLayerParameters,
+ rf-Parameters RF-Parameters,
+ measParameters MeasParameters,
+ featureGroupIndicators BIT STRING (SIZE (32)) OPTIONAL,
+ interRAT-Parameters SEQUENCE {
+ utraFDD IRAT-ParametersUTRA-FDD OPTIONAL,
+ utraTDD128 IRAT-ParametersUTRA-TDD128 OPTIONAL,
+ utraTDD384 IRAT-ParametersUTRA-TDD384 OPTIONAL,
+ utraTDD768 IRAT-ParametersUTRA-TDD768 OPTIONAL,
+ geran IRAT-ParametersGERAN OPTIONAL,
+ cdma2000-HRPD IRAT-ParametersCDMA2000-HRPD OPTIONAL,
+ cdma2000-1xRTT IRAT-ParametersCDMA2000-1XRTT OPTIONAL
+ },
+ nonCriticalExtension UE-EUTRA-Capability-v920-IEs OPTIONAL
+}
+
+-- Late non critical extensions
+UE-EUTRA-Capability-v9a0-IEs ::= SEQUENCE {
+ featureGroupIndRel9Add-r9 BIT STRING (SIZE (32)) OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-r9 UE-EUTRA-CapabilityAddXDD-Mode-r9 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-r9 UE-EUTRA-CapabilityAddXDD-Mode-r9 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v9c0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v9c0-IEs ::= SEQUENCE {
+ interRAT-ParametersUTRA-v9c0 IRAT-ParametersUTRA-v9c0 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v9d0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v9d0-IEs ::= SEQUENCE {
+ phyLayerParameters-v9d0 PhyLayerParameters-v9d0 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v9e0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v9e0-IEs ::= SEQUENCE {
+ rf-Parameters-v9e0 RF-Parameters-v9e0 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v9h0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v9h0-IEs ::= SEQUENCE {
+ interRAT-ParametersUTRA-v9h0 IRAT-ParametersUTRA-v9h0 OPTIONAL,
+ -- Following field is only to be used for late REL-9 extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v10c0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v10c0-IEs ::= SEQUENCE {
+ otdoa-PositioningCapabilities-r10 OTDOA-PositioningCapabilities-r10 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v10f0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v10f0-IEs ::= SEQUENCE {
+ rf-Parameters-v10f0 RF-Parameters-v10f0 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v10i0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v10i0-IEs ::= SEQUENCE {
+ rf-Parameters-v10i0 RF-Parameters-v10i0 OPTIONAL,
+ -- Following field is only to be used for late REL-10 extensions
+ lateNonCriticalExtension OCTET STRING (CONTAINING UE-EUTRA-Capability-v10j0-IEs) OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v11d0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v10j0-IEs ::= SEQUENCE {
+ rf-Parameters-v10j0 RF-Parameters-v10j0 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+UE-EUTRA-Capability-v11d0-IEs ::= SEQUENCE {
+ rf-Parameters-v11d0 RF-Parameters-v11d0 OPTIONAL,
+ otherParameters-v11d0 Other-Parameters-v11d0 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v11x0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v11x0-IEs ::= SEQUENCE {
+ -- Following field is only to be used for late REL-11 extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v12b0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v12b0-IEs ::= SEQUENCE {
+ rf-Parameters-v12b0 RF-Parameters-v12b0 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v12x0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v12x0-IEs ::= SEQUENCE {
+ -- Following field is only to be used for late REL-12 extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1370-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1370-IEs ::= SEQUENCE {
+ ce-Parameters-v1370 CE-Parameters-v1370 OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v1370 UE-EUTRA-CapabilityAddXDD-Mode-v1370 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1370 UE-EUTRA-CapabilityAddXDD-Mode-v1370 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1380-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1380-IEs ::= SEQUENCE {
+ rf-Parameters-v1380 RF-Parameters-v1380 OPTIONAL,
+ ce-Parameters-v1380 CE-Parameters-v1380,
+ fdd-Add-UE-EUTRA-Capabilities-v1380 UE-EUTRA-CapabilityAddXDD-Mode-v1380,
+ tdd-Add-UE-EUTRA-Capabilities-v1380 UE-EUTRA-CapabilityAddXDD-Mode-v1380,
+ nonCriticalExtension UE-EUTRA-Capability-v1390-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1390-IEs ::= SEQUENCE {
+ rf-Parameters-v1390 RF-Parameters-v1390 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v13e0a-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v13e0a-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING (CONTAINING UE-EUTRA-Capability-v13e0b-IEs) OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1470-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v13e0b-IEs ::= SEQUENCE {
+ phyLayerParameters-v13e0 PhyLayerParameters-v13e0,
+ -- Following field is only to be used for late REL-13 extensions
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+UE-EUTRA-Capability-v1470-IEs ::= SEQUENCE {
+ mbms-Parameters-v1470 MBMS-Parameters-v1470 OPTIONAL,
+ phyLayerParameters-v1470 PhyLayerParameters-v1470 OPTIONAL,
+ rf-Parameters-v1470 RF-Parameters-v1470 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v14a0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v14a0-IEs ::= SEQUENCE {
+ phyLayerParameters-v14a0 PhyLayerParameters-v14a0,
+ nonCriticalExtension UE-EUTRA-Capability-v14b0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v14b0-IEs ::= SEQUENCE {
+ rf-Parameters-v14b0 RF-Parameters-v14b0 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v14x0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v14x0-IEs ::= SEQUENCE {
+ -- Following field is only to be used for late REL-14 extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v15x0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v15x0-IEs ::= SEQUENCE {
+ -- Following field is only to be used for late REL-15 extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v16c0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v16c0-IEs ::= SEQUENCE {
+ measParameters-v16c0 MeasParameters-v16c0,
+ -- Following field is only to be used for late REL-16 extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Regular non critical extensions
+UE-EUTRA-Capability-v920-IEs ::= SEQUENCE {
+ phyLayerParameters-v920 PhyLayerParameters-v920,
+ interRAT-ParametersGERAN-v920 IRAT-ParametersGERAN-v920,
+ interRAT-ParametersUTRA-v920 IRAT-ParametersUTRA-v920 OPTIONAL,
+ interRAT-ParametersCDMA2000-v920 IRAT-ParametersCDMA2000-1XRTT-v920 OPTIONAL,
+ deviceType-r9 ENUMERATED {noBenFromBatConsumpOpt} OPTIONAL,
+ csg-ProximityIndicationParameters-r9 CSG-ProximityIndicationParameters-r9,
+ neighCellSI-AcquisitionParameters-r9 NeighCellSI-AcquisitionParameters-r9,
+ son-Parameters-r9 SON-Parameters-r9,
+ nonCriticalExtension UE-EUTRA-Capability-v940-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v940-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING (CONTAINING UE-EUTRA-Capability-v9a0-IEs) OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1020-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1020-IEs ::= SEQUENCE {
+ ue-Category-v1020 INTEGER (6..8) OPTIONAL,
+ phyLayerParameters-v1020 PhyLayerParameters-v1020 OPTIONAL,
+ rf-Parameters-v1020 RF-Parameters-v1020 OPTIONAL,
+ measParameters-v1020 MeasParameters-v1020 OPTIONAL,
+ featureGroupIndRel10-r10 BIT STRING (SIZE (32)) OPTIONAL,
+ interRAT-ParametersCDMA2000-v1020 IRAT-ParametersCDMA2000-1XRTT-v1020 OPTIONAL,
+ ue-BasedNetwPerfMeasParameters-r10 UE-BasedNetwPerfMeasParameters-r10 OPTIONAL,
+ interRAT-ParametersUTRA-TDD-v1020 IRAT-ParametersUTRA-TDD-v1020 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1060-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1060-IEs ::= SEQUENCE {
+ fdd-Add-UE-EUTRA-Capabilities-v1060 UE-EUTRA-CapabilityAddXDD-Mode-v1060 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1060 UE-EUTRA-CapabilityAddXDD-Mode-v1060 OPTIONAL,
+ rf-Parameters-v1060 RF-Parameters-v1060 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1090-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1090-IEs ::= SEQUENCE {
+ rf-Parameters-v1090 RF-Parameters-v1090 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1130-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1130-IEs ::= SEQUENCE {
+ pdcp-Parameters-v1130 PDCP-Parameters-v1130,
+ phyLayerParameters-v1130 PhyLayerParameters-v1130 OPTIONAL,
+ rf-Parameters-v1130 RF-Parameters-v1130,
+ measParameters-v1130 MeasParameters-v1130,
+ interRAT-ParametersCDMA2000-v1130 IRAT-ParametersCDMA2000-v1130,
+ otherParameters-r11 Other-Parameters-r11,
+ fdd-Add-UE-EUTRA-Capabilities-v1130 UE-EUTRA-CapabilityAddXDD-Mode-v1130 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1130 UE-EUTRA-CapabilityAddXDD-Mode-v1130 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1170-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1170-IEs ::= SEQUENCE {
+ phyLayerParameters-v1170 PhyLayerParameters-v1170 OPTIONAL,
+ ue-Category-v1170 INTEGER (9..10) OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1180-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1180-IEs ::= SEQUENCE {
+ rf-Parameters-v1180 RF-Parameters-v1180 OPTIONAL,
+ mbms-Parameters-r11 MBMS-Parameters-r11 OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v1180 UE-EUTRA-CapabilityAddXDD-Mode-v1180 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1180 UE-EUTRA-CapabilityAddXDD-Mode-v1180 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v11a0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v11a0-IEs ::= SEQUENCE {
+ ue-Category-v11a0 INTEGER (11..12) OPTIONAL,
+ measParameters-v11a0 MeasParameters-v11a0 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1250-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1250-IEs ::= SEQUENCE {
+ phyLayerParameters-v1250 PhyLayerParameters-v1250 OPTIONAL,
+ rf-Parameters-v1250 RF-Parameters-v1250 OPTIONAL,
+ rlc-Parameters-r12 RLC-Parameters-r12 OPTIONAL,
+ ue-BasedNetwPerfMeasParameters-v1250 UE-BasedNetwPerfMeasParameters-v1250 OPTIONAL,
+ ue-CategoryDL-r12 INTEGER (0..14) OPTIONAL,
+ ue-CategoryUL-r12 INTEGER (0..13) OPTIONAL,
+ wlan-IW-Parameters-r12 WLAN-IW-Parameters-r12 OPTIONAL,
+ measParameters-v1250 MeasParameters-v1250 OPTIONAL,
+ dc-Parameters-r12 DC-Parameters-r12 OPTIONAL,
+ mbms-Parameters-v1250 MBMS-Parameters-v1250 OPTIONAL,
+ mac-Parameters-r12 MAC-Parameters-r12 OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v1250 UE-EUTRA-CapabilityAddXDD-Mode-v1250 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1250 UE-EUTRA-CapabilityAddXDD-Mode-v1250 OPTIONAL,
+ sl-Parameters-r12 SL-Parameters-r12 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1260-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1260-IEs ::= SEQUENCE {
+ ue-CategoryDL-v1260 INTEGER (15..16) OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1270-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1270-IEs ::= SEQUENCE {
+ rf-Parameters-v1270 RF-Parameters-v1270 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1280-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1280-IEs ::= SEQUENCE {
+ phyLayerParameters-v1280 PhyLayerParameters-v1280 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1310-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1310-IEs ::= SEQUENCE {
+ ue-CategoryDL-v1310 ENUMERATED {n17, m1} OPTIONAL,
+ ue-CategoryUL-v1310 ENUMERATED {n14, m1} OPTIONAL,
+ pdcp-Parameters-v1310 PDCP-Parameters-v1310,
+ rlc-Parameters-v1310 RLC-Parameters-v1310,
+ mac-Parameters-v1310 MAC-Parameters-v1310 OPTIONAL,
+ phyLayerParameters-v1310 PhyLayerParameters-v1310 OPTIONAL,
+ rf-Parameters-v1310 RF-Parameters-v1310 OPTIONAL,
+ measParameters-v1310 MeasParameters-v1310 OPTIONAL,
+ dc-Parameters-v1310 DC-Parameters-v1310 OPTIONAL,
+ sl-Parameters-v1310 SL-Parameters-v1310 OPTIONAL,
+ scptm-Parameters-r13 SCPTM-Parameters-r13 OPTIONAL,
+ ce-Parameters-r13 CE-Parameters-r13 OPTIONAL,
+ interRAT-ParametersWLAN-r13 IRAT-ParametersWLAN-r13,
+ laa-Parameters-r13 LAA-Parameters-r13 OPTIONAL,
+ lwa-Parameters-r13 LWA-Parameters-r13 OPTIONAL,
+ wlan-IW-Parameters-v1310 WLAN-IW-Parameters-v1310,
+ lwip-Parameters-r13 LWIP-Parameters-r13,
+ fdd-Add-UE-EUTRA-Capabilities-v1310 UE-EUTRA-CapabilityAddXDD-Mode-v1310 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1310 UE-EUTRA-CapabilityAddXDD-Mode-v1310 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1320-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1320-IEs ::= SEQUENCE {
+ ce-Parameters-v1320 CE-Parameters-v1320 OPTIONAL,
+ phyLayerParameters-v1320 PhyLayerParameters-v1320 OPTIONAL,
+ rf-Parameters-v1320 RF-Parameters-v1320 OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v1320 UE-EUTRA-CapabilityAddXDD-Mode-v1320 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1320 UE-EUTRA-CapabilityAddXDD-Mode-v1320 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1330-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1330-IEs ::= SEQUENCE {
+ ue-CategoryDL-v1330 INTEGER (18..19) OPTIONAL,
+ phyLayerParameters-v1330 PhyLayerParameters-v1330 OPTIONAL,
+ ue-CE-NeedULGaps-r13 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1340-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1340-IEs ::= SEQUENCE {
+ ue-CategoryUL-v1340 INTEGER (15) OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1350-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1350-IEs ::= SEQUENCE {
+ ue-CategoryDL-v1350 ENUMERATED {oneBis} OPTIONAL,
+ ue-CategoryUL-v1350 ENUMERATED {oneBis} OPTIONAL,
+ ce-Parameters-v1350 CE-Parameters-v1350,
+ nonCriticalExtension UE-EUTRA-Capability-v1360-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1360-IEs ::= SEQUENCE {
+ other-Parameters-v1360 Other-Parameters-v1360 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1430-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1430-IEs ::= SEQUENCE {
+ phyLayerParameters-v1430 PhyLayerParameters-v1430,
+ ue-CategoryDL-v1430 ENUMERATED {m2} OPTIONAL,
+ ue-CategoryUL-v1430 ENUMERATED {n16, n17, n18, n19, n20, m2} OPTIONAL,
+ ue-CategoryUL-v1430b ENUMERATED {n21} OPTIONAL,
+ mac-Parameters-v1430 MAC-Parameters-v1430 OPTIONAL,
+ measParameters-v1430 MeasParameters-v1430 OPTIONAL,
+ pdcp-Parameters-v1430 PDCP-Parameters-v1430 OPTIONAL,
+ rlc-Parameters-v1430 RLC-Parameters-v1430,
+ rf-Parameters-v1430 RF-Parameters-v1430 OPTIONAL,
+ laa-Parameters-v1430 LAA-Parameters-v1430 OPTIONAL,
+ lwa-Parameters-v1430 LWA-Parameters-v1430 OPTIONAL,
+ lwip-Parameters-v1430 LWIP-Parameters-v1430 OPTIONAL,
+ otherParameters-v1430 Other-Parameters-v1430,
+ mmtel-Parameters-r14 MMTEL-Parameters-r14 OPTIONAL,
+ mobilityParameters-r14 MobilityParameters-r14 OPTIONAL,
+ ce-Parameters-v1430 CE-Parameters-v1430,
+ fdd-Add-UE-EUTRA-Capabilities-v1430 UE-EUTRA-CapabilityAddXDD-Mode-v1430 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1430 UE-EUTRA-CapabilityAddXDD-Mode-v1430 OPTIONAL,
+ mbms-Parameters-v1430 MBMS-Parameters-v1430 OPTIONAL,
+ sl-Parameters-v1430 SL-Parameters-v1430 OPTIONAL,
+ ue-BasedNetwPerfMeasParameters-v1430 UE-BasedNetwPerfMeasParameters-v1430 OPTIONAL,
+ highSpeedEnhParameters-r14 HighSpeedEnhParameters-r14 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1440-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1440-IEs ::= SEQUENCE {
+ lwa-Parameters-v1440 LWA-Parameters-v1440,
+ mac-Parameters-v1440 MAC-Parameters-v1440,
+ nonCriticalExtension UE-EUTRA-Capability-v1450-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1450-IEs ::= SEQUENCE {
+ phyLayerParameters-v1450 PhyLayerParameters-v1450 OPTIONAL,
+ rf-Parameters-v1450 RF-Parameters-v1450 OPTIONAL,
+ otherParameters-v1450 OtherParameters-v1450,
+ ue-CategoryDL-v1450 INTEGER (20) OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1460-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1460-IEs ::= SEQUENCE {
+ ue-CategoryDL-v1460 INTEGER (21) OPTIONAL,
+ otherParameters-v1460 Other-Parameters-v1460,
+ nonCriticalExtension UE-EUTRA-Capability-v1510-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1510-IEs ::= SEQUENCE {
+ irat-ParametersNR-r15 IRAT-ParametersNR-r15 OPTIONAL,
+ featureSetsEUTRA-r15 FeatureSetsEUTRA-r15 OPTIONAL,
+ pdcp-ParametersNR-r15 PDCP-ParametersNR-r15 OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v1510 UE-EUTRA-CapabilityAddXDD-Mode-v1510 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1510 UE-EUTRA-CapabilityAddXDD-Mode-v1510 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1520-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1520-IEs ::= SEQUENCE {
+ measParameters-v1520 MeasParameters-v1520,
+ nonCriticalExtension UE-EUTRA-Capability-v1530-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1530-IEs ::= SEQUENCE {
+ measParameters-v1530 MeasParameters-v1530 OPTIONAL,
+ otherParameters-v1530 Other-Parameters-v1530 OPTIONAL,
+ neighCellSI-AcquisitionParameters-v1530 NeighCellSI-AcquisitionParameters-v1530 OPTIONAL,
+ mac-Parameters-v1530 MAC-Parameters-v1530 OPTIONAL,
+ phyLayerParameters-v1530 PhyLayerParameters-v1530 OPTIONAL,
+ rf-Parameters-v1530 RF-Parameters-v1530 OPTIONAL,
+ pdcp-Parameters-v1530 PDCP-Parameters-v1530 OPTIONAL,
+ ue-CategoryDL-v1530 INTEGER (22..26) OPTIONAL,
+ ue-BasedNetwPerfMeasParameters-v1530 UE-BasedNetwPerfMeasParameters-v1530 OPTIONAL,
+ rlc-Parameters-v1530 RLC-Parameters-v1530 OPTIONAL,
+ sl-Parameters-v1530 SL-Parameters-v1530 OPTIONAL,
+ extendedNumberOfDRBs-r15 ENUMERATED {supported} OPTIONAL,
+ reducedCP-Latency-r15 ENUMERATED {supported} OPTIONAL,
+ laa-Parameters-v1530 LAA-Parameters-v1530 OPTIONAL,
+ ue-CategoryUL-v1530 INTEGER (22..26) OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v1530 UE-EUTRA-CapabilityAddXDD-Mode-v1530 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1530 UE-EUTRA-CapabilityAddXDD-Mode-v1530 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1540-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1540-IEs ::= SEQUENCE {
+ phyLayerParameters-v1540 PhyLayerParameters-v1540 OPTIONAL,
+ otherParameters-v1540 Other-Parameters-v1540,
+ fdd-Add-UE-EUTRA-Capabilities-v1540 UE-EUTRA-CapabilityAddXDD-Mode-v1540 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1540 UE-EUTRA-CapabilityAddXDD-Mode-v1540 OPTIONAL,
+ sl-Parameters-v1540 SL-Parameters-v1540 OPTIONAL,
+ irat-ParametersNR-v1540 IRAT-ParametersNR-v1540 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1550-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1550-IEs ::= SEQUENCE {
+ neighCellSI-AcquisitionParameters-v1550 NeighCellSI-AcquisitionParameters-v1550 OPTIONAL,
+ phyLayerParameters-v1550 PhyLayerParameters-v1550,
+ mac-Parameters-v1550 MAC-Parameters-v1550,
+ fdd-Add-UE-EUTRA-Capabilities-v1550 UE-EUTRA-CapabilityAddXDD-Mode-v1550,
+ tdd-Add-UE-EUTRA-Capabilities-v1550 UE-EUTRA-CapabilityAddXDD-Mode-v1550,
+ nonCriticalExtension UE-EUTRA-Capability-v1560-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1560-IEs ::= SEQUENCE {
+ pdcp-ParametersNR-v1560 PDCP-ParametersNR-v1560,
+ irat-ParametersNR-v1560 IRAT-ParametersNR-v1560,
+ appliedCapabilityFilterCommon-r15 OCTET STRING OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v1560 UE-EUTRA-CapabilityAddXDD-Mode-v1560,
+ tdd-Add-UE-EUTRA-Capabilities-v1560 UE-EUTRA-CapabilityAddXDD-Mode-v1560,
+ nonCriticalExtension UE-EUTRA-Capability-v1570-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1570-IEs ::= SEQUENCE {
+ rf-Parameters-v1570 RF-Parameters-v1570 OPTIONAL,
+ irat-ParametersNR-v1570 IRAT-ParametersNR-v1570 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v15a0-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v15a0-IEs ::= SEQUENCE {
+ neighCellSI-AcquisitionParameters-v15a0 NeighCellSI-AcquisitionParameters-v15a0,
+ eutra-5GC-Parameters-r15 EUTRA-5GC-Parameters-r15 OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v15a0 UE-EUTRA-CapabilityAddXDD-Mode-v15a0 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v15a0 UE-EUTRA-CapabilityAddXDD-Mode-v15a0 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1610-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1610-IEs ::= SEQUENCE {
+ highSpeedEnhParameters-v1610 HighSpeedEnhParameters-v1610 OPTIONAL,
+ neighCellSI-AcquisitionParameters-v1610 NeighCellSI-AcquisitionParameters-v1610 OPTIONAL,
+ mbms-Parameters-v1610 MBMS-Parameters-v1610 OPTIONAL,
+ pdcp-Parameters-v1610 PDCP-Parameters-v1610 OPTIONAL,
+ mac-Parameters-v1610 MAC-Parameters-v1610 OPTIONAL,
+ phyLayerParameters-v1610 PhyLayerParameters-v1610 OPTIONAL,
+ measParameters-v1610 MeasParameters-v1610 OPTIONAL,
+ pur-Parameters-r16 PUR-Parameters-r16 OPTIONAL,
+ eutra-5GC-Parameters-v1610 EUTRA-5GC-Parameters-v1610 OPTIONAL,
+ otherParameters-v1610 Other-Parameters-v1610 OPTIONAL,
+ dl-DedicatedMessageSegmentation-r16 ENUMERATED {supported} OPTIONAL,
+ mmtel-Parameters-v1610 MMTEL-Parameters-v1610,
+ irat-ParametersNR-v1610 IRAT-ParametersNR-v1610 OPTIONAL,
+ rf-Parameters-v1610 RF-Parameters-v1610 OPTIONAL,
+ mobilityParameters-v1610 MobilityParameters-v1610 OPTIONAL,
+ ue-BasedNetwPerfMeasParameters-v1610 UE-BasedNetwPerfMeasParameters-v1610,
+ sl-Parameters-v1610 SL-Parameters-v1610 OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v1610 UE-EUTRA-CapabilityAddXDD-Mode-v1610 OPTIONAL,
+ tdd-Add-UE-EUTRA-Capabilities-v1610 UE-EUTRA-CapabilityAddXDD-Mode-v1610 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1630-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1630-IEs ::= SEQUENCE {
+ rf-Parameters-v1630 RF-Parameters-v1630 OPTIONAL,
+ sl-Parameters-v1630 SL-Parameters-v1630 OPTIONAL,
+ earlySecurityReactivation-r16 ENUMERATED {supported} OPTIONAL,
+ mac-Parameters-v1630 MAC-Parameters-v1630,
+ measParameters-v1630 MeasParameters-v1630 OPTIONAL,
+ fdd-Add-UE-EUTRA-Capabilities-v1630 UE-EUTRA-CapabilityAddXDD-Mode-v1630,
+ tdd-Add-UE-EUTRA-Capabilities-v1630 UE-EUTRA-CapabilityAddXDD-Mode-v1630,
+ nonCriticalExtension UE-EUTRA-Capability-v1650-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1650-IEs ::= SEQUENCE {
+ otherParameters-v1650 Other-Parameters-v1650 OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1660-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1660-IEs ::= SEQUENCE {
+ irat-ParametersNR-v1660 IRAT-ParametersNR-v1660,
+ nonCriticalExtension UE-EUTRA-Capability-v1690-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1690-IEs ::= SEQUENCE {
+ other-Parameters-v1690 Other-Parameters-v1690,
+ nonCriticalExtension UE-EUTRA-Capability-v1700-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1700-IEs ::= SEQUENCE {
+ measParameters-v1700 MeasParameters-v1700 OPTIONAL,
+ ue-BasedNetwPerfMeasParameters-v1700 UE-BasedNetwPerfMeasParameters-v1700 OPTIONAL,
+ phyLayerParameters-v1700 PhyLayerParameters-v1700,
+ ntn-Parameters-r17 NTN-Parameters-r17 OPTIONAL,
+ irat-ParametersNR-v1700 IRAT-ParametersNR-v1700 OPTIONAL,
+ mbms-Parameters-v1700 MBMS-Parameters-v1700,
+ nonCriticalExtension UE-EUTRA-Capability-v1710-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1710-IEs ::= SEQUENCE {
+ irat-ParametersNR-v1710 IRAT-ParametersNR-v1710,
+ neighCellSI-AcquisitionParameters-v1710 NeighCellSI-AcquisitionParameters-v1710 OPTIONAL,
+ sl-Parameters-v1710 SL-Parameters-v1710 OPTIONAL,
+ sidelinkRequested-r17 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension UE-EUTRA-Capability-v1720-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1720-IEs ::= SEQUENCE {
+ ntn-Parameters-v1720 NTN-Parameters-v1720,
+ nonCriticalExtension UE-EUTRA-Capability-v1730-IEs OPTIONAL
+}
+
+UE-EUTRA-Capability-v1730-IEs ::= SEQUENCE {
+ phyLayerParameters-v1730 PhyLayerParameters-v1730,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-r9 ::= SEQUENCE {
+ phyLayerParameters-r9 PhyLayerParameters OPTIONAL,
+ featureGroupIndicators-r9 BIT STRING (SIZE (32)) OPTIONAL,
+ featureGroupIndRel9Add-r9 BIT STRING (SIZE (32)) OPTIONAL,
+ interRAT-ParametersGERAN-r9 IRAT-ParametersGERAN OPTIONAL,
+ interRAT-ParametersUTRA-r9 IRAT-ParametersUTRA-v920 OPTIONAL,
+ interRAT-ParametersCDMA2000-r9 IRAT-ParametersCDMA2000-1XRTT-v920 OPTIONAL,
+ neighCellSI-AcquisitionParameters-r9 NeighCellSI-AcquisitionParameters-r9 OPTIONAL,
+ ...
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1060 ::= SEQUENCE {
+ phyLayerParameters-v1060 PhyLayerParameters-v1020 OPTIONAL,
+ featureGroupIndRel10-v1060 BIT STRING (SIZE (32)) OPTIONAL,
+ interRAT-ParametersCDMA2000-v1060 IRAT-ParametersCDMA2000-1XRTT-v1020 OPTIONAL,
+ interRAT-ParametersUTRA-TDD-v1060 IRAT-ParametersUTRA-TDD-v1020 OPTIONAL,
+ ...,
+ [[ otdoa-PositioningCapabilities-r10 OTDOA-PositioningCapabilities-r10 OPTIONAL
+ ]]
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1130 ::= SEQUENCE {
+ phyLayerParameters-v1130 PhyLayerParameters-v1130 OPTIONAL,
+ measParameters-v1130 MeasParameters-v1130 OPTIONAL,
+ otherParameters-r11 Other-Parameters-r11 OPTIONAL,
+ ...
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1180 ::= SEQUENCE {
+ mbms-Parameters-r11 MBMS-Parameters-r11
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1250 ::= SEQUENCE {
+ phyLayerParameters-v1250 PhyLayerParameters-v1250 OPTIONAL,
+ measParameters-v1250 MeasParameters-v1250 OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1310 ::= SEQUENCE {
+ phyLayerParameters-v1310 PhyLayerParameters-v1310 OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1320 ::= SEQUENCE {
+ phyLayerParameters-v1320 PhyLayerParameters-v1320 OPTIONAL,
+ scptm-Parameters-r13 SCPTM-Parameters-r13 OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1370 ::= SEQUENCE {
+ ce-Parameters-v1370 CE-Parameters-v1370 OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1380 ::= SEQUENCE {
+ ce-Parameters-v1380 CE-Parameters-v1380
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1430 ::= SEQUENCE {
+ phyLayerParameters-v1430 PhyLayerParameters-v1430 OPTIONAL,
+ mmtel-Parameters-r14 MMTEL-Parameters-r14 OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1510 ::= SEQUENCE {
+ pdcp-ParametersNR-r15 PDCP-ParametersNR-r15 OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1530 ::= SEQUENCE {
+ neighCellSI-AcquisitionParameters-v1530 NeighCellSI-AcquisitionParameters-v1530 OPTIONAL,
+ reducedCP-Latency-r15 ENUMERATED {supported} OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1540 ::= SEQUENCE {
+ eutra-5GC-Parameters-r15 EUTRA-5GC-Parameters-r15 OPTIONAL,
+ irat-ParametersNR-v1540 IRAT-ParametersNR-v1540 OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1550 ::= SEQUENCE {
+ neighCellSI-AcquisitionParameters-v1550 NeighCellSI-AcquisitionParameters-v1550 OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1560 ::= SEQUENCE {
+ pdcp-ParametersNR-v1560 PDCP-ParametersNR-v1560
+}
+
+
+UE-EUTRA-CapabilityAddXDD-Mode-v15a0 ::= SEQUENCE {
+ phyLayerParameters-v1530 PhyLayerParameters-v1530 OPTIONAL,
+ phyLayerParameters-v1540 PhyLayerParameters-v1540 OPTIONAL,
+ phyLayerParameters-v1550 PhyLayerParameters-v1550 OPTIONAL,
+ neighCellSI-AcquisitionParameters-v15a0 NeighCellSI-AcquisitionParameters-v15a0
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1610 ::= SEQUENCE {
+ phyLayerParameters-v1610 PhyLayerParameters-v1610 OPTIONAL,
+ pur-Parameters-r16 PUR-Parameters-r16 OPTIONAL,
+ measParameters-v1610 MeasParameters-v1610 OPTIONAL,
+ eutra-5GC-Parameters-v1610 EUTRA-5GC-Parameters-v1610 OPTIONAL,
+ irat-ParametersNR-v1610 IRAT-ParametersNR-v1610 OPTIONAL,
+ neighCellSI-AcquisitionParameters-v1610 NeighCellSI-AcquisitionParameters-v1610 OPTIONAL,
+ mobilityParameters-v1610 MobilityParameters-v1610 OPTIONAL
+}
+
+UE-EUTRA-CapabilityAddXDD-Mode-v1630 ::= SEQUENCE {
+ measParameters-v1630 MeasParameters-v1630
+}
+
+AccessStratumRelease ::= ENUMERATED {
+ rel8, rel9, rel10, rel11, rel12, rel13,
+ rel14, rel15, ..., rel16, rel17}
+
+FeatureSetsEUTRA-r15 ::= SEQUENCE {
+ featureSetsDL-r15 SEQUENCE (SIZE (1..maxFeatureSets-r15)) OF FeatureSetDL-r15 OPTIONAL,
+ featureSetsDL-PerCC-r15 SEQUENCE (SIZE (1..maxPerCC-FeatureSets-r15)) OF FeatureSetDL-PerCC-r15 OPTIONAL,
+ featureSetsUL-r15 SEQUENCE (SIZE (1..maxFeatureSets-r15)) OF FeatureSetUL-r15 OPTIONAL,
+ featureSetsUL-PerCC-r15 SEQUENCE (SIZE (1..maxPerCC-FeatureSets-r15)) OF FeatureSetUL-PerCC-r15 OPTIONAL,
+ ...,
+ [[ featureSetsDL-v1550 SEQUENCE (SIZE (1..maxFeatureSets-r15)) OF FeatureSetDL-v1550 OPTIONAL
+ ]]
+
+}
+
+MobilityParameters-r14 ::= SEQUENCE {
+ makeBeforeBreak-r14 ENUMERATED {supported} OPTIONAL,
+ rach-Less-r14 ENUMERATED {supported} OPTIONAL
+}
+
+MobilityParameters-v1610 ::= SEQUENCE {
+ cho-r16 ENUMERATED {supported} OPTIONAL,
+ cho-FDD-TDD-r16 ENUMERATED {supported} OPTIONAL,
+ cho-Failure-r16 ENUMERATED {supported} OPTIONAL,
+ cho-TwoTriggerEvents-r16 ENUMERATED {supported} OPTIONAL
+}
+
+DC-Parameters-r12 ::= SEQUENCE {
+ drb-TypeSplit-r12 ENUMERATED {supported} OPTIONAL,
+ drb-TypeSCG-r12 ENUMERATED {supported} OPTIONAL
+}
+
+DC-Parameters-v1310 ::= SEQUENCE {
+ pdcp-TransferSplitUL-r13 ENUMERATED {supported} OPTIONAL,
+ ue-SSTD-Meas-r13 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-r12 ::= SEQUENCE {
+ logicalChannelSR-ProhibitTimer-r12 ENUMERATED {supported} OPTIONAL,
+ longDRX-Command-r12 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-v1310 ::= SEQUENCE {
+ extendedMAC-LengthField-r13 ENUMERATED {supported} OPTIONAL,
+ extendedLongDRX-r13 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-v1430 ::= SEQUENCE {
+ shortSPS-IntervalFDD-r14 ENUMERATED {supported} OPTIONAL,
+ shortSPS-IntervalTDD-r14 ENUMERATED {supported} OPTIONAL,
+ skipUplinkDynamic-r14 ENUMERATED {supported} OPTIONAL,
+ skipUplinkSPS-r14 ENUMERATED {supported} OPTIONAL,
+ multipleUplinkSPS-r14 ENUMERATED {supported} OPTIONAL,
+ dataInactMon-r14 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-v1440 ::= SEQUENCE {
+ rai-Support-r14 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-v1530 ::= SEQUENCE {
+ min-Proc-TimelineSubslot-r15 SEQUENCE (SIZE(1..3)) OF ProcessingTimelineSet-r15 OPTIONAL,
+ skipSubframeProcessing-r15 SkipSubframeProcessing-r15 OPTIONAL,
+ earlyData-UP-r15 ENUMERATED {supported} OPTIONAL,
+ dormantSCellState-r15 ENUMERATED {supported} OPTIONAL,
+ directSCellActivation-r15 ENUMERATED {supported} OPTIONAL,
+ directSCellHibernation-r15 ENUMERATED {supported} OPTIONAL,
+ extendedLCID-Duplication-r15 ENUMERATED {supported} OPTIONAL,
+ sps-ServingCell-r15 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-v1550 ::= SEQUENCE {
+ eLCID-Support-r15 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-v1610 ::= SEQUENCE {
+ directMCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL,
+ directSCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL,
+ earlyData-UP-5GC-r16 ENUMERATED {supported} OPTIONAL,
+ rai-SupportEnh-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-v1630 ::= SEQUENCE {
+ directSCG-SCellActivationNEDC-r16 ENUMERATED {supported} OPTIONAL
+}
+
+NTN-Parameters-r17 ::= SEQUENCE {
+ ntn-Connectivity-EPC-r17 ENUMERATED {supported} OPTIONAL,
+ ntn-TA-Report-r17 ENUMERATED {supported} OPTIONAL,
+ ntn-PUR-TimerDelay-r17 ENUMERATED {supported} OPTIONAL,
+ ntn-OffsetTimingEnh-r17 ENUMERATED {supported} OPTIONAL,
+ ntn-ScenarioSupport-r17 ENUMERATED {ngso,gso} OPTIONAL
+}
+
+NTN-Parameters-v1720 ::= SEQUENCE {
+ ntn-SegmentedPrecompensationGaps-r17 ENUMERATED {sym1,sl1,sf1} OPTIONAL
+}
+
+ProcessingTimelineSet-r15 ::= ENUMERATED {set1, set2}
+
+RLC-Parameters-r12 ::= SEQUENCE {
+ extended-RLC-LI-Field-r12 ENUMERATED {supported}
+}
+
+RLC-Parameters-v1310 ::= SEQUENCE {
+ extendedRLC-SN-SO-Field-r13 ENUMERATED {supported} OPTIONAL
+}
+
+RLC-Parameters-v1430 ::= SEQUENCE {
+ extendedPollByte-r14 ENUMERATED {supported} OPTIONAL
+}
+
+RLC-Parameters-v1530 ::= SEQUENCE {
+ flexibleUM-AM-Combinations-r15 ENUMERATED {supported} OPTIONAL,
+ rlc-AM-Ooo-Delivery-r15 ENUMERATED {supported} OPTIONAL,
+ rlc-UM-Ooo-Delivery-r15 ENUMERATED {supported} OPTIONAL
+}
+
+PDCP-Parameters ::= SEQUENCE {
+ supportedROHC-Profiles ROHC-ProfileSupportList-r15,
+ maxNumberROHC-ContextSessions ENUMERATED {
+ cs2, cs4, cs8, cs12, cs16, cs24, cs32,
+ cs48, cs64, cs128, cs256, cs512, cs1024,
+ cs16384, spare2, spare1} DEFAULT cs16,
+ ...
+}
+
+PDCP-Parameters-v1130 ::= SEQUENCE {
+ pdcp-SN-Extension-r11 ENUMERATED {supported} OPTIONAL,
+ supportRohcContextContinue-r11 ENUMERATED {supported} OPTIONAL
+}
+
+PDCP-Parameters-v1310 ::= SEQUENCE {
+ pdcp-SN-Extension-18bits-r13 ENUMERATED {supported} OPTIONAL
+}
+
+PDCP-Parameters-v1430 ::= SEQUENCE {
+ supportedUplinkOnlyROHC-Profiles-r14 SEQUENCE {
+ profile0x0006-r14 BOOLEAN
+ },
+ maxNumberROHC-ContextSessions-r14 ENUMERATED {
+ cs2, cs4, cs8, cs12, cs16, cs24, cs32,
+ cs48, cs64, cs128, cs256, cs512, cs1024,
+ cs16384, spare2, spare1} DEFAULT cs16
+}
+
+PDCP-Parameters-v1530 ::= SEQUENCE {
+ supportedUDC-r15 SupportedUDC-r15 OPTIONAL,
+ pdcp-Duplication-r15 ENUMERATED {supported} OPTIONAL
+}
+
+PDCP-Parameters-v1610 ::= SEQUENCE {
+ pdcp-VersionChangeWithoutHO-r16 ENUMERATED {supported} OPTIONAL,
+ ehc-r16 ENUMERATED {supported} OPTIONAL,
+ continueEHC-Context-r16 ENUMERATED {supported} OPTIONAL,
+ maxNumberEHC-Contexts-r16 ENUMERATED {cs2, cs4, cs8, cs16, cs32, cs64, cs128, cs256,
+ cs512, cs1024, cs2048, cs4096, cs8192, cs16384,
+ cs32768, cs65536} OPTIONAL,
+ jointEHC-ROHC-Config-r16 ENUMERATED {supported} OPTIONAL
+}
+
+SupportedUDC-r15 ::= SEQUENCE {
+ supportedStandardDic-r15 ENUMERATED {supported} OPTIONAL,
+ supportedOperatorDic-r15 SupportedOperatorDic-r15 OPTIONAL
+}
+
+SupportedOperatorDic-r15 ::= SEQUENCE {
+ versionOfDictionary-r15 INTEGER (0..15),
+ associatedPLMN-ID-r15 PLMN-Identity
+}
+
+PhyLayerParameters ::= SEQUENCE {
+ ue-TxAntennaSelectionSupported BOOLEAN,
+ ue-SpecificRefSigsSupported BOOLEAN
+}
+
+PhyLayerParameters-v920 ::= SEQUENCE {
+ enhancedDualLayerFDD-r9 ENUMERATED {supported} OPTIONAL,
+ enhancedDualLayerTDD-r9 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v9d0 ::= SEQUENCE {
+ tm5-FDD-r9 ENUMERATED {supported} OPTIONAL,
+ tm5-TDD-r9 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v1020 ::= SEQUENCE {
+ twoAntennaPortsForPUCCH-r10 ENUMERATED {supported} OPTIONAL,
+ tm9-With-8Tx-FDD-r10 ENUMERATED {supported} OPTIONAL,
+ pmi-Disabling-r10 ENUMERATED {supported} OPTIONAL,
+ crossCarrierScheduling-r10 ENUMERATED {supported} OPTIONAL,
+ simultaneousPUCCH-PUSCH-r10 ENUMERATED {supported} OPTIONAL,
+ multiClusterPUSCH-WithinCC-r10 ENUMERATED {supported} OPTIONAL,
+ nonContiguousUL-RA-WithinCC-List-r10 NonContiguousUL-RA-WithinCC-List-r10 OPTIONAL
+}
+
+PhyLayerParameters-v1130 ::= SEQUENCE {
+ crs-InterfHandl-r11 ENUMERATED {supported} OPTIONAL,
+ ePDCCH-r11 ENUMERATED {supported} OPTIONAL,
+ multiACK-CSI-Reporting-r11 ENUMERATED {supported} OPTIONAL,
+ ss-CCH-InterfHandl-r11 ENUMERATED {supported} OPTIONAL,
+ tdd-SpecialSubframe-r11 ENUMERATED {supported} OPTIONAL,
+ txDiv-PUCCH1b-ChSelect-r11 ENUMERATED {supported} OPTIONAL,
+ ul-CoMP-r11 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v1170 ::= SEQUENCE {
+ interBandTDD-CA-WithDifferentConfig-r11 BIT STRING (SIZE (2)) OPTIONAL
+}
+
+PhyLayerParameters-v1250 ::= SEQUENCE {
+ e-HARQ-Pattern-FDD-r12 ENUMERATED {supported} OPTIONAL,
+ enhanced-4TxCodebook-r12 ENUMERATED {supported} OPTIONAL,
+ tdd-FDD-CA-PCellDuplex-r12 BIT STRING (SIZE (2)) OPTIONAL,
+ phy-TDD-ReConfig-TDD-PCell-r12 ENUMERATED {supported} OPTIONAL,
+ phy-TDD-ReConfig-FDD-PCell-r12 ENUMERATED {supported} OPTIONAL,
+ pusch-FeedbackMode-r12 ENUMERATED {supported} OPTIONAL,
+ pusch-SRS-PowerControl-SubframeSet-r12 ENUMERATED {supported} OPTIONAL,
+ csi-SubframeSet-r12 ENUMERATED {supported} OPTIONAL,
+ noResourceRestrictionForTTIBundling-r12 ENUMERATED {supported} OPTIONAL,
+ discoverySignalsInDeactSCell-r12 ENUMERATED {supported} OPTIONAL,
+ naics-Capability-List-r12 NAICS-Capability-List-r12 OPTIONAL
+}
+
+PhyLayerParameters-v1280 ::= SEQUENCE {
+ alternativeTBS-Indices-r12 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v1310 ::= SEQUENCE {
+ aperiodicCSI-Reporting-r13 BIT STRING (SIZE (2)) OPTIONAL,
+ codebook-HARQ-ACK-r13 BIT STRING (SIZE (2)) OPTIONAL,
+ crossCarrierScheduling-B5C-r13 ENUMERATED {supported} OPTIONAL,
+ fdd-HARQ-TimingTDD-r13 ENUMERATED {supported} OPTIONAL,
+ maxNumberUpdatedCSI-Proc-r13 INTEGER(5..32) OPTIONAL,
+ pucch-Format4-r13 ENUMERATED {supported} OPTIONAL,
+ pucch-Format5-r13 ENUMERATED {supported} OPTIONAL,
+ pucch-SCell-r13 ENUMERATED {supported} OPTIONAL,
+ spatialBundling-HARQ-ACK-r13 ENUMERATED {supported} OPTIONAL,
+ supportedBlindDecoding-r13 SEQUENCE {
+ maxNumberDecoding-r13 INTEGER(1..32) OPTIONAL,
+ pdcch-CandidateReductions-r13 ENUMERATED {supported} OPTIONAL,
+ skipMonitoringDCI-Format0-1A-r13 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ uci-PUSCH-Ext-r13 ENUMERATED {supported} OPTIONAL,
+ crs-InterfMitigationTM10-r13 ENUMERATED {supported} OPTIONAL,
+ pdsch-CollisionHandling-r13 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v1320 ::= SEQUENCE {
+ mimo-UE-Parameters-r13 MIMO-UE-Parameters-r13 OPTIONAL
+}
+
+PhyLayerParameters-v1330 ::= SEQUENCE {
+ cch-InterfMitigation-RefRecTypeA-r13 ENUMERATED {supported} OPTIONAL,
+ cch-InterfMitigation-RefRecTypeB-r13 ENUMERATED {supported} OPTIONAL,
+ cch-InterfMitigation-MaxNumCCs-r13 INTEGER (1.. maxServCell-r13) OPTIONAL,
+ crs-InterfMitigationTM1toTM9-r13 INTEGER (1.. maxServCell-r13) OPTIONAL
+}
+
+PhyLayerParameters-v13e0 ::= SEQUENCE {
+ mimo-UE-Parameters-v13e0 MIMO-UE-Parameters-v13e0
+}
+
+PhyLayerParameters-v1430 ::= SEQUENCE {
+ ce-PUSCH-NB-MaxTBS-r14 ENUMERATED {supported} OPTIONAL,
+ ce-PDSCH-PUSCH-MaxBandwidth-r14 ENUMERATED {bw5, bw20} OPTIONAL,
+ ce-HARQ-AckBundling-r14 ENUMERATED {supported} OPTIONAL,
+ ce-PDSCH-TenProcesses-r14 ENUMERATED {supported} OPTIONAL,
+ ce-RetuningSymbols-r14 ENUMERATED {n0, n1} OPTIONAL,
+ ce-PDSCH-PUSCH-Enhancement-r14 ENUMERATED {supported} OPTIONAL,
+ ce-SchedulingEnhancement-r14 ENUMERATED {supported} OPTIONAL,
+ ce-SRS-Enhancement-r14 ENUMERATED {supported} OPTIONAL,
+ ce-PUCCH-Enhancement-r14 ENUMERATED {supported} OPTIONAL,
+ ce-ClosedLoopTxAntennaSelection-r14 ENUMERATED {supported} OPTIONAL,
+ tdd-SpecialSubframe-r14 ENUMERATED {supported} OPTIONAL,
+ tdd-TTI-Bundling-r14 ENUMERATED {supported} OPTIONAL,
+ dmrs-LessUpPTS-r14 ENUMERATED {supported} OPTIONAL,
+ mimo-UE-Parameters-v1430 MIMO-UE-Parameters-v1430 OPTIONAL,
+ alternativeTBS-Index-r14 ENUMERATED {supported} OPTIONAL,
+ feMBMS-Unicast-Parameters-r14 FeMBMS-Unicast-Parameters-r14 OPTIONAL
+}
+
+PhyLayerParameters-v1450 ::= SEQUENCE {
+ ce-SRS-EnhancementWithoutComb4-r14 ENUMERATED {supported} OPTIONAL,
+ crs-LessDwPTS-r14 ENUMERATED {supported} OPTIONAL}
+
+PhyLayerParameters-v1470 ::= SEQUENCE {
+ mimo-UE-Parameters-v1470 MIMO-UE-Parameters-v1470 OPTIONAL,
+ srs-UpPTS-6sym-r14 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v14a0 ::= SEQUENCE {
+ ssp10-TDD-Only-r14 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v1530 ::= SEQUENCE {
+ stti-SPT-Capabilities-r15 SEQUENCE {
+ aperiodicCsi-ReportingSTTI-r15 ENUMERATED {supported} OPTIONAL,
+ dmrs-BasedSPDCCH-MBSFN-r15 ENUMERATED {supported} OPTIONAL,
+ dmrs-BasedSPDCCH-nonMBSFN-r15 ENUMERATED {supported} OPTIONAL,
+ dmrs-PositionPattern-r15 ENUMERATED {supported} OPTIONAL,
+ dmrs-SharingSubslotPDSCH-r15 ENUMERATED {supported} OPTIONAL,
+ dmrs-RepetitionSubslotPDSCH-r15 ENUMERATED {supported} OPTIONAL,
+ epdcch-SPT-differentCells-r15 ENUMERATED {supported} OPTIONAL,
+ epdcch-STTI-differentCells-r15 ENUMERATED {supported} OPTIONAL,
+ maxLayersSlotOrSubslotPUSCH-r15 ENUMERATED {oneLayer,twoLayers,fourLayers}
+ OPTIONAL,
+ maxNumberUpdatedCSI-Proc-SPT-r15 INTEGER(5..32) OPTIONAL,
+ maxNumberUpdatedCSI-Proc-STTI-Comb77-r15 INTEGER(1..32) OPTIONAL,
+ maxNumberUpdatedCSI-Proc-STTI-Comb27-r15 INTEGER(1..32) OPTIONAL,
+ maxNumberUpdatedCSI-Proc-STTI-Comb22-Set1-r15 INTEGER(1..32) OPTIONAL,
+ maxNumberUpdatedCSI-Proc-STTI-Comb22-Set2-r15 INTEGER(1..32) OPTIONAL,
+ mimo-UE-ParametersSTTI-r15 MIMO-UE-Parameters-r13 OPTIONAL,
+ mimo-UE-ParametersSTTI-v1530 MIMO-UE-Parameters-v1430 OPTIONAL,
+ numberOfBlindDecodesUSS-r15 INTEGER(4..32) OPTIONAL,
+ pdsch-SlotSubslotPDSCH-Decoding-r15 ENUMERATED {supported} OPTIONAL,
+ powerUCI-SlotPUSCH ENUMERATED {supported} OPTIONAL,
+ powerUCI-SubslotPUSCH ENUMERATED {supported} OPTIONAL,
+ slotPDSCH-TxDiv-TM9and10 ENUMERATED {supported} OPTIONAL,
+ subslotPDSCH-TxDiv-TM9and10 ENUMERATED {supported} OPTIONAL,
+ spdcch-differentRS-types-r15 ENUMERATED {supported} OPTIONAL,
+ srs-DCI7-TriggeringFS2-r15 ENUMERATED {supported} OPTIONAL,
+ sps-cyclicShift-r15 ENUMERATED {supported} OPTIONAL,
+ spdcch-Reuse-r15 ENUMERATED {supported} OPTIONAL,
+ sps-STTI-r15 ENUMERATED {slot, subslot, slotAndSubslot}
+ OPTIONAL,
+ tm8-slotPDSCH-r15 ENUMERATED {supported} OPTIONAL,
+ tm9-slotSubslot-r15 ENUMERATED {supported} OPTIONAL,
+ tm9-slotSubslotMBSFN-r15 ENUMERATED {supported} OPTIONAL,
+ tm10-slotSubslot-r15 ENUMERATED {supported} OPTIONAL,
+ tm10-slotSubslotMBSFN-r15 ENUMERATED {supported} OPTIONAL,
+ txDiv-SPUCCH-r15 ENUMERATED {supported} OPTIONAL,
+ ul-AsyncHarqSharingDiff-TTI-Lengths-r15 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ ce-Capabilities-r15 SEQUENCE {
+ ce-CRS-IntfMitig-r15 ENUMERATED {supported} OPTIONAL,
+ ce-CQI-AlternativeTable-r15 ENUMERATED {supported} OPTIONAL,
+ ce-PDSCH-FlexibleStartPRB-CE-ModeA-r15 ENUMERATED {supported} OPTIONAL,
+ ce-PDSCH-FlexibleStartPRB-CE-ModeB-r15 ENUMERATED {supported} OPTIONAL,
+ ce-PDSCH-64QAM-r15 ENUMERATED {supported} OPTIONAL,
+ ce-PUSCH-FlexibleStartPRB-CE-ModeA-r15 ENUMERATED {supported} OPTIONAL,
+ ce-PUSCH-FlexibleStartPRB-CE-ModeB-r15 ENUMERATED {supported} OPTIONAL,
+ ce-PUSCH-SubPRB-Allocation-r15 ENUMERATED {supported} OPTIONAL,
+ ce-UL-HARQ-ACK-Feedback-r15 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ shortCQI-ForSCellActivation-r15 ENUMERATED {supported} OPTIONAL,
+ mimo-CBSR-AdvancedCSI-r15 ENUMERATED {supported} OPTIONAL,
+ crs-IntfMitig-r15 ENUMERATED {supported} OPTIONAL,
+ ul-PowerControlEnhancements-r15 ENUMERATED {supported} OPTIONAL,
+ urllc-Capabilities-r15 SEQUENCE {
+ pdsch-RepSubframe-r15 ENUMERATED {supported} OPTIONAL,
+ pdsch-RepSlot-r15 ENUMERATED {supported} OPTIONAL,
+ pdsch-RepSubslot-r15 ENUMERATED {supported} OPTIONAL,
+ pusch-SPS-MultiConfigSubframe-r15 INTEGER (0..6) OPTIONAL,
+ pusch-SPS-MaxConfigSubframe-r15 INTEGER (0..31) OPTIONAL,
+ pusch-SPS-MultiConfigSlot-r15 INTEGER (0..6) OPTIONAL,
+ pusch-SPS-MaxConfigSlot-r15 INTEGER (0..31) OPTIONAL,
+ pusch-SPS-MultiConfigSubslot-r15 INTEGER (0..6) OPTIONAL,
+ pusch-SPS-MaxConfigSubslot-r15 INTEGER (0..31) OPTIONAL,
+ pusch-SPS-SlotRepPCell-r15 ENUMERATED {supported} OPTIONAL,
+ pusch-SPS-SlotRepPSCell-r15 ENUMERATED {supported} OPTIONAL,
+ pusch-SPS-SlotRepSCell-r15 ENUMERATED {supported} OPTIONAL,
+ pusch-SPS-SubframeRepPCell-r15 ENUMERATED {supported} OPTIONAL,
+ pusch-SPS-SubframeRepPSCell-r15 ENUMERATED {supported} OPTIONAL,
+ pusch-SPS-SubframeRepSCell-r15 ENUMERATED {supported} OPTIONAL,
+ pusch-SPS-SubslotRepPCell-r15 ENUMERATED {supported} OPTIONAL,
+ pusch-SPS-SubslotRepPSCell-r15 ENUMERATED {supported} OPTIONAL,
+ pusch-SPS-SubslotRepSCell-r15 ENUMERATED {supported} OPTIONAL,
+ semiStaticCFI-r15 ENUMERATED {supported} OPTIONAL,
+ semiStaticCFI-Pattern-r15 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ altMCS-Table-r15 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v1540 ::= SEQUENCE {
+ stti-SPT-Capabilities-v1540 SEQUENCE {
+ slotPDSCH-TxDiv-TM8-r15 ENUMERATED {supported}
+ } OPTIONAL,
+ crs-IM-TM1-toTM9-OneRX-Port-v1540 ENUMERATED {supported} OPTIONAL,
+ cch-IM-RefRecTypeA-OneRX-Port-v1540 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v1550 ::= SEQUENCE {
+ dmrs-OverheadReduction-r15 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v1610 ::= SEQUENCE {
+ ce-Capabilities-v1610 SEQUENCE {
+ ce-CSI-RS-Feedback-r16 ENUMERATED {supported} OPTIONAL,
+ ce-CSI-RS-FeedbackCodebookRestriction-r16 ENUMERATED {supported} OPTIONAL,
+ crs-ChEstMPDCCH-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ crs-ChEstMPDCCH-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ crs-ChEstMPDCCH-CSI-r16 ENUMERATED {supported} OPTIONAL,
+ crs-ChEstMPDCCH-ReciprocityTDD-r16 ENUMERATED {supported} OPTIONAL,
+ etws-CMAS-RxInConnCE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ etws-CMAS-RxInConnCE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ mpdcch-InLteControlRegionCE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ mpdcch-InLteControlRegionCE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ pdsch-InLteControlRegionCE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ pdsch-InLteControlRegionCE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ multiTB-Parameters-r16 CE-MultiTB-Parameters-r16 OPTIONAL,
+ resourceResvParameters-r16 CE-ResourceResvParameters-r16 OPTIONAL
+ } OPTIONAL,
+ widebandPRG-Slot-r16 ENUMERATED {supported} OPTIONAL,
+ widebandPRG-Subslot-r16 ENUMERATED {supported} OPTIONAL,
+ widebandPRG-Subframe-r16 ENUMERATED {supported} OPTIONAL,
+ addSRS-r16 SEQUENCE {
+ addSRS-FrequencyHopping-r16 ENUMERATED {supported} OPTIONAL,
+ addSRS-AntennaSwitching-r16 ENUMERATED {useBasic} OPTIONAL,
+ addSRS-CarrierSwitching-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ virtualCellID-BasicSRS-r16 ENUMERATED {supported} OPTIONAL,
+ virtualCellID-AddSRS-r16 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-v1700 ::= SEQUENCE {
+ ce-Capabilities-v1700 SEQUENCE {
+ ce-PDSCH-14HARQProcesses-r17 ENUMERATED {supported} OPTIONAL,
+ ce-PDSCH-14HARQProcesses-Alt2-r17 ENUMERATED {supported} OPTIONAL,
+ ce-PDSCH-MaxTBS-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL
+}
+
+PhyLayerParameters-v1730 ::= SEQUENCE {
+ csi-SubframeSet2ForDormantSCell-r17 ENUMERATED {supported} OPTIONAL
+}
+
+MIMO-UE-Parameters-r13 ::= SEQUENCE {
+ parametersTM9-r13 MIMO-UE-ParametersPerTM-r13 OPTIONAL,
+ parametersTM10-r13 MIMO-UE-ParametersPerTM-r13 OPTIONAL,
+ srs-EnhancementsTDD-r13 ENUMERATED {supported} OPTIONAL,
+ srs-Enhancements-r13 ENUMERATED {supported} OPTIONAL,
+ interferenceMeasRestriction-r13 ENUMERATED {supported} OPTIONAL
+}
+
+MIMO-UE-Parameters-v13e0 ::= SEQUENCE {
+ mimo-WeightedLayersCapabilities-r13 MIMO-WeightedLayersCapabilities-r13 OPTIONAL
+}
+
+MIMO-UE-Parameters-v1430 ::= SEQUENCE {
+ parametersTM9-v1430 MIMO-UE-ParametersPerTM-v1430 OPTIONAL,
+ parametersTM10-v1430 MIMO-UE-ParametersPerTM-v1430 OPTIONAL
+}
+
+MIMO-UE-Parameters-v1470 ::= SEQUENCE {
+ parametersTM9-v1470 MIMO-UE-ParametersPerTM-v1470,
+ parametersTM10-v1470 MIMO-UE-ParametersPerTM-v1470
+}
+
+MIMO-UE-ParametersPerTM-r13 ::= SEQUENCE {
+ nonPrecoded-r13 MIMO-NonPrecodedCapabilities-r13 OPTIONAL,
+ beamformed-r13 MIMO-UE-BeamformedCapabilities-r13 OPTIONAL,
+ channelMeasRestriction-r13 ENUMERATED {supported} OPTIONAL,
+ dmrs-Enhancements-r13 ENUMERATED {supported} OPTIONAL,
+ csi-RS-EnhancementsTDD-r13 ENUMERATED {supported} OPTIONAL
+}
+
+MIMO-UE-ParametersPerTM-v1430 ::= SEQUENCE {
+ nzp-CSI-RS-AperiodicInfo-r14 SEQUENCE {
+ nMaxProc-r14 INTEGER(5..32),
+ nMaxResource-r14 ENUMERATED {n1, n2, n4, n8}
+ } OPTIONAL,
+ nzp-CSI-RS-PeriodicInfo-r14 SEQUENCE {
+ nMaxResource-r14 ENUMERATED {n1, n2, n4, n8}
+ } OPTIONAL,
+ zp-CSI-RS-AperiodicInfo-r14 ENUMERATED {supported} OPTIONAL,
+ ul-dmrs-Enhancements-r14 ENUMERATED {supported} OPTIONAL,
+ densityReductionNP-r14 ENUMERATED {supported} OPTIONAL,
+ densityReductionBF-r14 ENUMERATED {supported} OPTIONAL,
+ hybridCSI-r14 ENUMERATED {supported} OPTIONAL,
+ semiOL-r14 ENUMERATED {supported} OPTIONAL,
+ csi-ReportingNP-r14 ENUMERATED {supported} OPTIONAL,
+ csi-ReportingAdvanced-r14 ENUMERATED {supported} OPTIONAL
+}
+
+MIMO-UE-ParametersPerTM-v1470 ::= SEQUENCE {
+ csi-ReportingAdvancedMaxPorts-r14 ENUMERATED {n8, n12, n16, n20, n24, n28} OPTIONAL
+}
+
+MIMO-CA-ParametersPerBoBC-r13 ::= SEQUENCE {
+ parametersTM9-r13 MIMO-CA-ParametersPerBoBCPerTM-r13 OPTIONAL,
+ parametersTM10-r13 MIMO-CA-ParametersPerBoBCPerTM-r13 OPTIONAL
+}
+
+MIMO-CA-ParametersPerBoBC-r15 ::= SEQUENCE {
+ parametersTM9-r15 MIMO-CA-ParametersPerBoBCPerTM-r15 OPTIONAL,
+ parametersTM10-r15 MIMO-CA-ParametersPerBoBCPerTM-r15 OPTIONAL
+}
+
+MIMO-CA-ParametersPerBoBC-v1430 ::= SEQUENCE {
+ parametersTM9-v1430 MIMO-CA-ParametersPerBoBCPerTM-v1430 OPTIONAL,
+ parametersTM10-v1430 MIMO-CA-ParametersPerBoBCPerTM-v1430 OPTIONAL
+}
+
+MIMO-CA-ParametersPerBoBC-v1470 ::= SEQUENCE {
+ parametersTM9-v1470 MIMO-CA-ParametersPerBoBCPerTM-v1470,
+ parametersTM10-v1470 MIMO-CA-ParametersPerBoBCPerTM-v1470
+}
+
+MIMO-CA-ParametersPerBoBCPerTM-r13 ::= SEQUENCE {
+ nonPrecoded-r13 MIMO-NonPrecodedCapabilities-r13 OPTIONAL,
+ beamformed-r13 MIMO-BeamformedCapabilityList-r13 OPTIONAL,
+ dmrs-Enhancements-r13 ENUMERATED {different} OPTIONAL
+}
+
+MIMO-CA-ParametersPerBoBCPerTM-v1430 ::= SEQUENCE {
+ csi-ReportingNP-r14 ENUMERATED {different} OPTIONAL,
+ csi-ReportingAdvanced-r14 ENUMERATED {different} OPTIONAL
+}
+
+MIMO-CA-ParametersPerBoBCPerTM-v1470 ::= SEQUENCE {
+ csi-ReportingAdvancedMaxPorts-r14 ENUMERATED {n8, n12, n16, n20, n24, n28} OPTIONAL
+}
+
+MIMO-CA-ParametersPerBoBCPerTM-r15 ::= SEQUENCE {
+ nonPrecoded-r13 MIMO-NonPrecodedCapabilities-r13 OPTIONAL,
+ beamformed-r13 MIMO-BeamformedCapabilityList-r13 OPTIONAL,
+ dmrs-Enhancements-r13 ENUMERATED {different} OPTIONAL,
+ csi-ReportingNP-r14 ENUMERATED {different} OPTIONAL,
+ csi-ReportingAdvanced-r14 ENUMERATED {different} OPTIONAL
+}
+
+MIMO-NonPrecodedCapabilities-r13 ::= SEQUENCE {
+ config1-r13 ENUMERATED {supported} OPTIONAL,
+ config2-r13 ENUMERATED {supported} OPTIONAL,
+ config3-r13 ENUMERATED {supported} OPTIONAL,
+ config4-r13 ENUMERATED {supported} OPTIONAL
+}
+
+MIMO-UE-BeamformedCapabilities-r13 ::= SEQUENCE {
+ altCodebook-r13 ENUMERATED {supported} OPTIONAL,
+ mimo-BeamformedCapabilities-r13 MIMO-BeamformedCapabilityList-r13
+}
+
+MIMO-BeamformedCapabilityList-r13 ::= SEQUENCE (SIZE (1..maxCSI-Proc-r11)) OF MIMO-BeamformedCapabilities-r13
+
+MIMO-BeamformedCapabilities-r13 ::= SEQUENCE {
+ k-Max-r13 INTEGER (1..8),
+ n-MaxList-r13 BIT STRING (SIZE (1..7)) OPTIONAL
+}
+
+MIMO-WeightedLayersCapabilities-r13 ::= SEQUENCE {
+ relWeightTwoLayers-r13 ENUMERATED {v1, v1dot25, v1dot5, v1dot75, v2, v2dot5, v3, v4},
+ relWeightFourLayers-r13 ENUMERATED {v1, v1dot25, v1dot5, v1dot75, v2, v2dot5, v3, v4} OPTIONAL,
+ relWeightEightLayers-r13 ENUMERATED {v1, v1dot25, v1dot5, v1dot75, v2, v2dot5, v3, v4} OPTIONAL,
+ totalWeightedLayers-r13 INTEGER (2..128)
+}
+
+NonContiguousUL-RA-WithinCC-List-r10 ::= SEQUENCE (SIZE (1..maxBands)) OF NonContiguousUL-RA-WithinCC-r10
+
+NonContiguousUL-RA-WithinCC-r10 ::= SEQUENCE {
+ nonContiguousUL-RA-WithinCC-Info-r10 ENUMERATED {supported} OPTIONAL
+}
+
+RF-Parameters ::= SEQUENCE {
+ supportedBandListEUTRA SupportedBandListEUTRA
+}
+
+RF-Parameters-v9e0 ::= SEQUENCE {
+ supportedBandListEUTRA-v9e0 SupportedBandListEUTRA-v9e0 OPTIONAL
+}
+
+RF-Parameters-v1020 ::= SEQUENCE {
+ supportedBandCombination-r10 SupportedBandCombination-r10
+}
+
+RF-Parameters-v1060 ::= SEQUENCE {
+ supportedBandCombinationExt-r10 SupportedBandCombinationExt-r10
+}
+
+RF-Parameters-v1090 ::= SEQUENCE {
+ supportedBandCombination-v1090 SupportedBandCombination-v1090 OPTIONAL
+}
+
+RF-Parameters-v10f0 ::= SEQUENCE {
+ modifiedMPR-Behavior-r10 BIT STRING (SIZE (32)) OPTIONAL
+}
+
+RF-Parameters-v10i0 ::= SEQUENCE {
+ supportedBandCombination-v10i0 SupportedBandCombination-v10i0 OPTIONAL
+}
+
+RF-Parameters-v10j0 ::= SEQUENCE {
+ multiNS-Pmax-r10 ENUMERATED {supported} OPTIONAL
+}
+
+RF-Parameters-v1130 ::= SEQUENCE {
+ supportedBandCombination-v1130 SupportedBandCombination-v1130 OPTIONAL
+}
+
+RF-Parameters-v1180 ::= SEQUENCE {
+ freqBandRetrieval-r11 ENUMERATED {supported} OPTIONAL,
+ requestedBands-r11 SEQUENCE (SIZE (1.. maxBands)) OF FreqBandIndicator-r11 OPTIONAL,
+ supportedBandCombinationAdd-r11 SupportedBandCombinationAdd-r11 OPTIONAL
+}
+
+RF-Parameters-v11d0 ::= SEQUENCE {
+ supportedBandCombinationAdd-v11d0 SupportedBandCombinationAdd-v11d0 OPTIONAL
+}
+
+RF-Parameters-v1250 ::= SEQUENCE {
+ supportedBandListEUTRA-v1250 SupportedBandListEUTRA-v1250 OPTIONAL,
+ supportedBandCombination-v1250 SupportedBandCombination-v1250 OPTIONAL,
+ supportedBandCombinationAdd-v1250 SupportedBandCombinationAdd-v1250 OPTIONAL,
+ freqBandPriorityAdjustment-r12 ENUMERATED {supported} OPTIONAL
+}
+
+RF-Parameters-v1270 ::= SEQUENCE {
+ supportedBandCombination-v1270 SupportedBandCombination-v1270 OPTIONAL,
+ supportedBandCombinationAdd-v1270 SupportedBandCombinationAdd-v1270 OPTIONAL
+}
+
+RF-Parameters-v1310 ::= SEQUENCE {
+ eNB-RequestedParameters-r13 SEQUENCE {
+ reducedIntNonContCombRequested-r13 ENUMERATED {true} OPTIONAL,
+ requestedCCsDL-r13 INTEGER (2..32) OPTIONAL,
+ requestedCCsUL-r13 INTEGER (2..32) OPTIONAL,
+ skipFallbackCombRequested-r13 ENUMERATED {true} OPTIONAL
+ } OPTIONAL,
+ maximumCCsRetrieval-r13 ENUMERATED {supported} OPTIONAL,
+ skipFallbackCombinations-r13 ENUMERATED {supported} OPTIONAL,
+ reducedIntNonContComb-r13 ENUMERATED {supported} OPTIONAL,
+ supportedBandListEUTRA-v1310 SupportedBandListEUTRA-v1310 OPTIONAL,
+ supportedBandCombinationReduced-r13 SupportedBandCombinationReduced-r13 OPTIONAL
+}
+
+RF-Parameters-v1320 ::= SEQUENCE {
+ supportedBandListEUTRA-v1320 SupportedBandListEUTRA-v1320 OPTIONAL,
+ supportedBandCombination-v1320 SupportedBandCombination-v1320 OPTIONAL,
+ supportedBandCombinationAdd-v1320 SupportedBandCombinationAdd-v1320 OPTIONAL,
+ supportedBandCombinationReduced-v1320 SupportedBandCombinationReduced-v1320 OPTIONAL
+}
+
+RF-Parameters-v1380 ::= SEQUENCE {
+ supportedBandCombination-v1380 SupportedBandCombination-v1380 OPTIONAL,
+ supportedBandCombinationAdd-v1380 SupportedBandCombinationAdd-v1380 OPTIONAL,
+ supportedBandCombinationReduced-v1380 SupportedBandCombinationReduced-v1380 OPTIONAL
+}
+
+RF-Parameters-v1390 ::= SEQUENCE {
+ supportedBandCombination-v1390 SupportedBandCombination-v1390 OPTIONAL,
+ supportedBandCombinationAdd-v1390 SupportedBandCombinationAdd-v1390 OPTIONAL,
+ supportedBandCombinationReduced-v1390 SupportedBandCombinationReduced-v1390 OPTIONAL
+}
+
+RF-Parameters-v12b0 ::= SEQUENCE {
+ maxLayersMIMO-Indication-r12 ENUMERATED {supported} OPTIONAL
+}
+
+RF-Parameters-v1430 ::= SEQUENCE {
+ supportedBandCombination-v1430 SupportedBandCombination-v1430 OPTIONAL,
+ supportedBandCombinationAdd-v1430 SupportedBandCombinationAdd-v1430 OPTIONAL,
+ supportedBandCombinationReduced-v1430 SupportedBandCombinationReduced-v1430 OPTIONAL,
+ eNB-RequestedParameters-v1430 SEQUENCE {
+ requestedDiffFallbackCombList-r14 BandCombinationList-r14
+ } OPTIONAL,
+ diffFallbackCombReport-r14 ENUMERATED {supported} OPTIONAL
+}
+
+RF-Parameters-v1450 ::= SEQUENCE {
+ supportedBandCombination-v1450 SupportedBandCombination-v1450 OPTIONAL,
+ supportedBandCombinationAdd-v1450 SupportedBandCombinationAdd-v1450 OPTIONAL,
+ supportedBandCombinationReduced-v1450 SupportedBandCombinationReduced-v1450 OPTIONAL
+}
+
+RF-Parameters-v1470 ::= SEQUENCE {
+ supportedBandCombination-v1470 SupportedBandCombination-v1470 OPTIONAL,
+ supportedBandCombinationAdd-v1470 SupportedBandCombinationAdd-v1470 OPTIONAL,
+ supportedBandCombinationReduced-v1470 SupportedBandCombinationReduced-v1470 OPTIONAL
+}
+
+RF-Parameters-v14b0 ::= SEQUENCE {
+ supportedBandCombination-v14b0 SupportedBandCombination-v14b0 OPTIONAL,
+ supportedBandCombinationAdd-v14b0 SupportedBandCombinationAdd-v14b0 OPTIONAL,
+ supportedBandCombinationReduced-v14b0 SupportedBandCombinationReduced-v14b0 OPTIONAL
+}
+
+RF-Parameters-v1530 ::= SEQUENCE {
+ sTTI-SPT-Supported-r15 ENUMERATED {supported} OPTIONAL,
+ supportedBandCombination-v1530 SupportedBandCombination-v1530 OPTIONAL,
+ supportedBandCombinationAdd-v1530 SupportedBandCombinationAdd-v1530 OPTIONAL,
+ supportedBandCombinationReduced-v1530 SupportedBandCombinationReduced-v1530 OPTIONAL,
+ powerClass-14dBm-r15 ENUMERATED {supported} OPTIONAL
+}
+
+RF-Parameters-v1570 ::= SEQUENCE {
+ dl-1024QAM-ScalingFactor-r15 ENUMERATED {v1, v1dot2, v1dot25},
+ dl-1024QAM-TotalWeightedLayers-r15 INTEGER (0..10)
+}
+
+RF-Parameters-v1610 ::= SEQUENCE {
+ supportedBandCombination-v1610 SupportedBandCombination-v1610 OPTIONAL,
+ supportedBandCombinationAdd-v1610 SupportedBandCombinationAdd-v1610 OPTIONAL,
+ supportedBandCombinationReduced-v1610 SupportedBandCombinationReduced-v1610 OPTIONAL
+}
+
+RF-Parameters-v1630 ::= SEQUENCE {
+ supportedBandCombination-v1630 SupportedBandCombination-v1630 OPTIONAL,
+ supportedBandCombinationAdd-v1630 SupportedBandCombinationAdd-v1630 OPTIONAL,
+ supportedBandCombinationReduced-v1630 SupportedBandCombinationReduced-v1630 OPTIONAL
+}
+
+SkipSubframeProcessing-r15 ::= SEQUENCE {
+ skipProcessingDL-Slot-r15 INTEGER (0..3) OPTIONAL,
+ skipProcessingDL-SubSlot-r15 INTEGER (0..3) OPTIONAL,
+ skipProcessingUL-Slot-r15 INTEGER (0..3) OPTIONAL,
+ skipProcessingUL-SubSlot-r15 INTEGER (0..3) OPTIONAL
+}
+
+SPT-Parameters-r15 ::= SEQUENCE {
+ frameStructureType-SPT-r15 BIT STRING (SIZE (3)) OPTIONAL,
+ maxNumberCCs-SPT-r15 INTEGER (1..32) OPTIONAL
+}
+
+STTI-SPT-BandParameters-r15 ::= SEQUENCE {
+ dl-1024QAM-Slot-r15 ENUMERATED {supported} OPTIONAL,
+ dl-1024QAM-SubslotTA-1-r15 ENUMERATED {supported} OPTIONAL,
+ dl-1024QAM-SubslotTA-2-r15 ENUMERATED {supported} OPTIONAL,
+ simultaneousTx-differentTx-duration-r15 ENUMERATED {supported} OPTIONAL,
+ sTTI-CA-MIMO-ParametersDL-r15 CA-MIMO-ParametersDL-r15 OPTIONAL,
+ sTTI-CA-MIMO-ParametersUL-r15 CA-MIMO-ParametersUL-r15,
+ sTTI-FD-MIMO-Coexistence ENUMERATED {supported} OPTIONAL,
+ sTTI-MIMO-CA-ParametersPerBoBCs-r15 MIMO-CA-ParametersPerBoBC-r13 OPTIONAL,
+ sTTI-MIMO-CA-ParametersPerBoBCs-v1530 MIMO-CA-ParametersPerBoBC-v1430 OPTIONAL,
+ sTTI-SupportedCombinations-r15 STTI-SupportedCombinations-r15 OPTIONAL,
+ sTTI-SupportedCSI-Proc-r15 ENUMERATED {n1, n3, n4} OPTIONAL,
+ ul-256QAM-Slot-r15 ENUMERATED {supported} OPTIONAL,
+ ul-256QAM-Subslot-r15 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+STTI-SupportedCombinations-r15 ::= SEQUENCE {
+ combination-22-r15 DL-UL-CCs-r15 OPTIONAL,
+ combination-77-r15 DL-UL-CCs-r15 OPTIONAL,
+ combination-27-r15 DL-UL-CCs-r15 OPTIONAL,
+ combination-22-27-r15 SEQUENCE (SIZE (1..2)) OF DL-UL-CCs-r15 OPTIONAL,
+ combination-77-22-r15 SEQUENCE (SIZE (1..2)) OF DL-UL-CCs-r15 OPTIONAL,
+ combination-77-27-r15 SEQUENCE (SIZE (1..2)) OF DL-UL-CCs-r15 OPTIONAL
+}
+
+DL-UL-CCs-r15 ::= SEQUENCE {
+ maxNumberDL-CCs-r15 INTEGER (1..32) OPTIONAL,
+ maxNumberUL-CCs-r15 INTEGER (1..32) OPTIONAL
+}
+
+SupportedBandCombination-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-r10
+
+SupportedBandCombinationExt-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParametersExt-r10
+
+SupportedBandCombination-v1090 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1090
+
+SupportedBandCombination-v10i0 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v10i0
+
+SupportedBandCombination-v1130 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1130
+
+SupportedBandCombination-v1250 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1250
+
+SupportedBandCombination-v1270 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1270
+
+SupportedBandCombination-v1320 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1320
+
+SupportedBandCombination-v1380 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1380
+
+SupportedBandCombination-v1390 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1390
+
+SupportedBandCombination-v1430 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1430
+
+SupportedBandCombination-v1450 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1450
+
+SupportedBandCombination-v1470 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1470
+
+SupportedBandCombination-v14b0 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v14b0
+
+SupportedBandCombination-v1530 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1530
+
+SupportedBandCombination-v1610 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1610
+
+SupportedBandCombination-v1630 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1630
+
+SupportedBandCombinationAdd-r11 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-r11
+
+SupportedBandCombinationAdd-v11d0 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v10i0
+
+SupportedBandCombinationAdd-v1250 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1250
+
+SupportedBandCombinationAdd-v1270 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1270
+
+SupportedBandCombinationAdd-v1320 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1320
+
+SupportedBandCombinationAdd-v1380 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1380
+
+SupportedBandCombinationAdd-v1390 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1390
+
+SupportedBandCombinationAdd-v1430 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1430
+
+SupportedBandCombinationAdd-v1450 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1450
+
+SupportedBandCombinationAdd-v1470 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1470
+
+SupportedBandCombinationAdd-v14b0 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v14b0
+
+SupportedBandCombinationAdd-v1530 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1530
+
+SupportedBandCombinationAdd-v1610 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1610
+
+SupportedBandCombinationAdd-v1630 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1630
+
+SupportedBandCombinationReduced-r13 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-r13
+
+SupportedBandCombinationReduced-v1320 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1320
+
+SupportedBandCombinationReduced-v1380 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1380
+
+SupportedBandCombinationReduced-v1390 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1390
+
+SupportedBandCombinationReduced-v1430 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1430
+
+SupportedBandCombinationReduced-v1450 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1450
+
+SupportedBandCombinationReduced-v1470 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1470
+
+SupportedBandCombinationReduced-v14b0 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v14b0
+
+SupportedBandCombinationReduced-v1530 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1530
+
+SupportedBandCombinationReduced-v1610 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1610
+
+SupportedBandCombinationReduced-v1630 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1630
+
+BandCombinationParameters-r10 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-r10
+
+BandCombinationParametersExt-r10 ::= SEQUENCE {
+ supportedBandwidthCombinationSet-r10 SupportedBandwidthCombinationSet-r10 OPTIONAL
+}
+
+BandCombinationParameters-v1090 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1090
+
+BandCombinationParameters-v10i0::= SEQUENCE {
+ bandParameterList-v10i0 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ BandParameters-v10i0 OPTIONAL
+}
+
+BandCombinationParameters-v1130 ::= SEQUENCE {
+ multipleTimingAdvance-r11 ENUMERATED {supported} OPTIONAL,
+ simultaneousRx-Tx-r11 ENUMERATED {supported} OPTIONAL,
+ bandParameterList-r11 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1130 OPTIONAL,
+ ...
+}
+
+BandCombinationParameters-r11 ::= SEQUENCE {
+ bandParameterList-r11 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ BandParameters-r11,
+ supportedBandwidthCombinationSet-r11 SupportedBandwidthCombinationSet-r10 OPTIONAL,
+ multipleTimingAdvance-r11 ENUMERATED {supported} OPTIONAL,
+ simultaneousRx-Tx-r11 ENUMERATED {supported} OPTIONAL,
+ bandInfoEUTRA-r11 BandInfoEUTRA,
+ ...
+}
+
+BandCombinationParameters-v1250::= SEQUENCE {
+ dc-Support-r12 SEQUENCE {
+ asynchronous-r12 ENUMERATED {supported} OPTIONAL,
+ supportedCellGrouping-r12 CHOICE {
+ threeEntries-r12 BIT STRING (SIZE(3)),
+ fourEntries-r12 BIT STRING (SIZE(7)),
+ fiveEntries-r12 BIT STRING (SIZE(15))
+ } OPTIONAL
+ } OPTIONAL,
+ supportedNAICS-2CRS-AP-r12 BIT STRING (SIZE (1..maxNAICS-Entries-r12)) OPTIONAL,
+ commSupportedBandsPerBC-r12 BIT STRING (SIZE (1.. maxBands)) OPTIONAL,
+ ...
+}
+
+BandCombinationParameters-v1270 ::= SEQUENCE {
+ bandParameterList-v1270 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ BandParameters-v1270 OPTIONAL
+}
+
+BandCombinationParameters-r13 ::= SEQUENCE {
+ differentFallbackSupported-r13 ENUMERATED {true} OPTIONAL,
+ bandParameterList-r13 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-r13,
+ supportedBandwidthCombinationSet-r13 SupportedBandwidthCombinationSet-r10 OPTIONAL,
+ multipleTimingAdvance-r13 ENUMERATED {supported} OPTIONAL,
+ simultaneousRx-Tx-r13 ENUMERATED {supported} OPTIONAL,
+ bandInfoEUTRA-r13 BandInfoEUTRA,
+ dc-Support-r13 SEQUENCE {
+ asynchronous-r13 ENUMERATED {supported} OPTIONAL,
+ supportedCellGrouping-r13 CHOICE {
+ threeEntries-r13 BIT STRING (SIZE(3)),
+ fourEntries-r13 BIT STRING (SIZE(7)),
+ fiveEntries-r13 BIT STRING (SIZE(15))
+ } OPTIONAL
+ } OPTIONAL,
+ supportedNAICS-2CRS-AP-r13 BIT STRING (SIZE (1..maxNAICS-Entries-r12)) OPTIONAL,
+ commSupportedBandsPerBC-r13 BIT STRING (SIZE (1.. maxBands)) OPTIONAL
+}
+
+BandCombinationParameters-v1320 ::= SEQUENCE {
+ bandParameterList-v1320 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ BandParameters-v1320 OPTIONAL,
+ additionalRx-Tx-PerformanceReq-r13 ENUMERATED {supported} OPTIONAL
+}
+
+BandCombinationParameters-v1380 ::= SEQUENCE {
+ bandParameterList-v1380 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ BandParameters-v1380 OPTIONAL
+}
+
+BandCombinationParameters-v1390 ::= SEQUENCE {
+ ue-CA-PowerClass-N-r13 ENUMERATED {class2} OPTIONAL
+}
+
+BandCombinationParameters-v1430 ::= SEQUENCE {
+ bandParameterList-v1430 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ BandParameters-v1430 OPTIONAL,
+ v2x-SupportedTxBandCombListPerBC-r14 BIT STRING (SIZE (1.. maxBandComb-r13)) OPTIONAL,
+ v2x-SupportedRxBandCombListPerBC-r14 BIT STRING (SIZE (1.. maxBandComb-r13)) OPTIONAL
+}
+
+BandCombinationParameters-v1450 ::= SEQUENCE {
+ bandParameterList-v1450 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ BandParameters-v1450 OPTIONAL
+}
+
+BandCombinationParameters-v1470 ::= SEQUENCE {
+ bandParameterList-v1470 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ BandParameters-v1470 OPTIONAL,
+ srs-MaxSimultaneousCCs-r14 INTEGER (1..31) OPTIONAL
+}
+
+BandCombinationParameters-v14b0 ::= SEQUENCE {
+ bandParameterList-v14b0 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ BandParameters-v14b0 OPTIONAL
+}
+
+BandCombinationParameters-v1530 ::= SEQUENCE {
+ bandParameterList-v1530 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1530 OPTIONAL,
+ spt-Parameters-r15 SPT-Parameters-r15 OPTIONAL
+}
+
+-- If an additional band combination parameter is defined, which is supported for MR-DC,
+-- it shall be defined in the IE CA-ParametersEUTRA in TS 38.331 [82].
+
+BandCombinationParameters-v1610 ::= SEQUENCE {
+ measGapInfoNR-r16 MeasGapInfoNR-r16 OPTIONAL,
+ bandParameterList-v1610 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1610 OPTIONAL,
+ interFreqDAPS-r16 SEQUENCE {
+ interFreqAsyncDAPS-r16 ENUMERATED {supported} OPTIONAL,
+ interFreqMultiUL-TransmissionDAPS-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL
+}
+
+BandCombinationParameters-v1630 ::= SEQUENCE {
+ v2x-SupportedTxBandCombListPerBC-v1630 BIT STRING (SIZE (1..maxBandCombSidelinkNR-r16)) OPTIONAL,
+ v2x-SupportedRxBandCombListPerBC-v1630 BIT STRING (SIZE (1..maxBandCombSidelinkNR-r16)) OPTIONAL,
+ scalingFactorTxSidelink-r16 SEQUENCE (SIZE (1..maxBandCombSidelinkNR-r16)) OF ScalingFactorSidelink-r16 OPTIONAL,
+ scalingFactorRxSidelink-r16 SEQUENCE (SIZE (1..maxBandCombSidelinkNR-r16)) OF ScalingFactorSidelink-r16 OPTIONAL,
+ interBandPowerSharingSyncDAPS-r16 ENUMERATED {supported} OPTIONAL,
+ interBandPowerSharingAsyncDAPS-r16 ENUMERATED {supported} OPTIONAL
+}
+
+ScalingFactorSidelink-r16 ::= ENUMERATED {f0p4, f0p75, f0p8, f1}
+
+SupportedBandwidthCombinationSet-r10 ::= BIT STRING (SIZE (1..maxBandwidthCombSet-r10))
+
+BandParameters-r10 ::= SEQUENCE {
+ bandEUTRA-r10 FreqBandIndicator,
+ bandParametersUL-r10 BandParametersUL-r10 OPTIONAL,
+ bandParametersDL-r10 BandParametersDL-r10 OPTIONAL
+}
+
+BandParameters-v1090 ::= SEQUENCE {
+ bandEUTRA-v1090 FreqBandIndicator-v9e0 OPTIONAL,
+ ...
+}
+
+BandParameters-v10i0::= SEQUENCE {
+ bandParametersDL-v10i0 SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersDL-v10i0
+}
+
+BandParameters-v1130 ::= SEQUENCE {
+ supportedCSI-Proc-r11 ENUMERATED {n1, n3, n4}
+}
+
+BandParameters-r11 ::= SEQUENCE {
+ bandEUTRA-r11 FreqBandIndicator-r11,
+ bandParametersUL-r11 BandParametersUL-r10 OPTIONAL,
+ bandParametersDL-r11 BandParametersDL-r10 OPTIONAL,
+ supportedCSI-Proc-r11 ENUMERATED {n1, n3, n4} OPTIONAL
+}
+
+BandParameters-v1270 ::= SEQUENCE {
+ bandParametersDL-v1270 SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersDL-v1270
+}
+
+BandParameters-r13 ::= SEQUENCE {
+ bandEUTRA-r13 FreqBandIndicator-r11,
+ bandParametersUL-r13 BandParametersUL-r13 OPTIONAL,
+ bandParametersDL-r13 BandParametersDL-r13 OPTIONAL,
+ supportedCSI-Proc-r13 ENUMERATED {n1, n3, n4} OPTIONAL
+}
+
+BandParameters-v1320 ::= SEQUENCE {
+ bandParametersDL-v1320 MIMO-CA-ParametersPerBoBC-r13
+}
+
+BandParameters-v1380 ::= SEQUENCE {
+ txAntennaSwitchDL-r13 INTEGER (1..32) OPTIONAL,
+ txAntennaSwitchUL-r13 INTEGER (1..32) OPTIONAL
+}
+
+BandParameters-v1430 ::= SEQUENCE {
+ bandParametersDL-v1430 MIMO-CA-ParametersPerBoBC-v1430 OPTIONAL,
+ ul-256QAM-r14 ENUMERATED {supported} OPTIONAL,
+ ul-256QAM-perCC-InfoList-r14 SEQUENCE (SIZE (2..maxServCell-r13)) OF UL-256QAM-perCC-Info-r14 OPTIONAL,
+ srs-CapabilityPerBandPairList-r14 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ SRS-CapabilityPerBandPair-r14 OPTIONAL
+}
+
+BandParameters-v1450 ::= SEQUENCE {
+ must-CapabilityPerBand-r14 MUST-Parameters-r14 OPTIONAL
+}
+
+BandParameters-v1470 ::= SEQUENCE {
+ bandParametersDL-v1470 MIMO-CA-ParametersPerBoBC-v1470 OPTIONAL
+}
+
+BandParameters-v14b0 ::= SEQUENCE {
+ srs-CapabilityPerBandPairList-v14b0 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF SRS-CapabilityPerBandPair-v14b0 OPTIONAL
+}
+
+BandParameters-v1530 ::= SEQUENCE {
+ ue-TxAntennaSelection-SRS-1T4R-r15 ENUMERATED {supported} OPTIONAL,
+ ue-TxAntennaSelection-SRS-2T4R-2Pairs-r15 ENUMERATED {supported} OPTIONAL,
+ ue-TxAntennaSelection-SRS-2T4R-3Pairs-r15 ENUMERATED {supported} OPTIONAL,
+ dl-1024QAM-r15 ENUMERATED {supported} OPTIONAL,
+ qcl-TypeC-Operation-r15 ENUMERATED {supported} OPTIONAL,
+ qcl-CRI-BasedCSI-Reporting-r15 ENUMERATED {supported} OPTIONAL,
+ stti-SPT-BandParameters-r15 STTI-SPT-BandParameters-r15 OPTIONAL
+}
+
+BandParameters-v1610 ::= SEQUENCE {
+ intraFreqDAPS-r16 SEQUENCE {
+ intraFreqAsyncDAPS-r16 ENUMERATED {supported} OPTIONAL,
+ dummy ENUMERATED {supported} OPTIONAL,
+ intraFreqTwoTAGs-DAPS-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ addSRS-FrequencyHopping-r16 ENUMERATED {supported} OPTIONAL,
+ addSRS-AntennaSwitching-r16 SEQUENCE {
+ addSRS-1T2R-r16 ENUMERATED {supported} OPTIONAL,
+ addSRS-1T4R-r16 ENUMERATED {supported} OPTIONAL,
+ addSRS-2T4R-2pairs-r16 ENUMERATED {supported} OPTIONAL,
+ addSRS-2T4R-3pairs-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ srs-CapabilityPerBandPairList-v1610 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF
+ SRS-CapabilityPerBandPair-v1610 OPTIONAL
+}
+
+V2X-BandParameters-r14 ::= SEQUENCE {
+ v2x-FreqBandEUTRA-r14 FreqBandIndicator-r11,
+ bandParametersTxSL-r14 BandParametersTxSL-r14 OPTIONAL,
+ bandParametersRxSL-r14 BandParametersRxSL-r14 OPTIONAL
+}
+
+V2X-BandParameters-v1530 ::= SEQUENCE {
+ v2x-EnhancedHighReception-r15 ENUMERATED {supported} OPTIONAL
+}
+
+BandParametersTxSL-r14 ::= SEQUENCE {
+ v2x-BandwidthClassTxSL-r14 V2X-BandwidthClassSL-r14,
+ v2x-eNB-Scheduled-r14 ENUMERATED {supported} OPTIONAL,
+ v2x-HighPower-r14 ENUMERATED {supported} OPTIONAL
+}
+
+BandParametersRxSL-r14 ::= SEQUENCE {
+ v2x-BandwidthClassRxSL-r14 V2X-BandwidthClassSL-r14,
+ v2x-HighReception-r14 ENUMERATED {supported} OPTIONAL
+}
+
+V2X-BandwidthClassSL-r14 ::= SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF V2X-BandwidthClass-r14
+
+UL-256QAM-perCC-Info-r14 ::= SEQUENCE {
+ ul-256QAM-perCC-r14 ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetDL-r15 ::= SEQUENCE {
+ mimo-CA-ParametersPerBoBC-r15 MIMO-CA-ParametersPerBoBC-r15 OPTIONAL,
+ featureSetPerCC-ListDL-r15 SEQUENCE (SIZE (1..maxServCell-r13)) OF FeatureSetDL-PerCC-Id-r15
+}
+
+FeatureSetDL-v1550 ::= SEQUENCE {
+ dl-1024QAM-r15 ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetDL-PerCC-r15 ::= SEQUENCE {
+ fourLayerTM3-TM4-r15 ENUMERATED {supported} OPTIONAL,
+ supportedMIMO-CapabilityDL-MRDC-r15 MIMO-CapabilityDL-r10 OPTIONAL,
+ supportedCSI-Proc-r15 ENUMERATED {n1, n3, n4} OPTIONAL
+}
+
+FeatureSetUL-r15 ::= SEQUENCE {
+ featureSetPerCC-ListUL-r15 SEQUENCE (SIZE(1..maxServCell-r13)) OF FeatureSetUL-PerCC-Id-r15
+}
+
+FeatureSetUL-PerCC-r15 ::= SEQUENCE {
+ supportedMIMO-CapabilityUL-r15 MIMO-CapabilityUL-r10 OPTIONAL,
+ ul-256QAM-r15 ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetDL-PerCC-Id-r15 ::= INTEGER (0..maxPerCC-FeatureSets-r15)
+
+FeatureSetUL-PerCC-Id-r15 ::= INTEGER (0..maxPerCC-FeatureSets-r15)
+
+BandParametersUL-r10 ::= SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersUL-r10
+
+BandParametersUL-r13 ::= CA-MIMO-ParametersUL-r10
+
+CA-MIMO-ParametersUL-r10 ::= SEQUENCE {
+ ca-BandwidthClassUL-r10 CA-BandwidthClass-r10,
+ supportedMIMO-CapabilityUL-r10 MIMO-CapabilityUL-r10 OPTIONAL
+}
+
+CA-MIMO-ParametersUL-r15 ::= SEQUENCE {
+ supportedMIMO-CapabilityUL-r15 MIMO-CapabilityUL-r10 OPTIONAL
+}
+
+BandParametersDL-r10 ::= SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersDL-r10
+
+BandParametersDL-r13 ::= CA-MIMO-ParametersDL-r13
+
+CA-MIMO-ParametersDL-r10 ::= SEQUENCE {
+ ca-BandwidthClassDL-r10 CA-BandwidthClass-r10,
+ supportedMIMO-CapabilityDL-r10 MIMO-CapabilityDL-r10 OPTIONAL
+}
+
+CA-MIMO-ParametersDL-v10i0 ::= SEQUENCE {
+ fourLayerTM3-TM4-r10 ENUMERATED {supported} OPTIONAL
+}
+
+CA-MIMO-ParametersDL-v1270 ::= SEQUENCE {
+ intraBandContiguousCC-InfoList-r12 SEQUENCE (SIZE (1..maxServCell-r10)) OF IntraBandContiguousCC-Info-r12
+}
+
+CA-MIMO-ParametersDL-r13 ::= SEQUENCE {
+ ca-BandwidthClassDL-r13 CA-BandwidthClass-r10,
+ supportedMIMO-CapabilityDL-r13 MIMO-CapabilityDL-r10 OPTIONAL,
+ fourLayerTM3-TM4-r13 ENUMERATED {supported} OPTIONAL,
+ intraBandContiguousCC-InfoList-r13 SEQUENCE (SIZE (1..maxServCell-r13)) OF IntraBandContiguousCC-Info-r12
+}
+
+CA-MIMO-ParametersDL-r15 ::= SEQUENCE {
+ supportedMIMO-CapabilityDL-r15 MIMO-CapabilityDL-r10 OPTIONAL,
+ fourLayerTM3-TM4-r15 ENUMERATED {supported} OPTIONAL,
+ intraBandContiguousCC-InfoList-r15 SEQUENCE (SIZE (1..maxServCell-r13)) OF
+ IntraBandContiguousCC-Info-r12 OPTIONAL
+}
+
+IntraBandContiguousCC-Info-r12 ::= SEQUENCE {
+ fourLayerTM3-TM4-perCC-r12 ENUMERATED {supported} OPTIONAL,
+ supportedMIMO-CapabilityDL-r12 MIMO-CapabilityDL-r10 OPTIONAL,
+ supportedCSI-Proc-r12 ENUMERATED {n1, n3, n4} OPTIONAL
+}
+
+CA-BandwidthClass-r10 ::= ENUMERATED {a, b, c, d, e, f, ...}
+
+V2X-BandwidthClass-r14 ::= ENUMERATED {a, b, c, d, e, f, ..., c1-v1530}
+
+MIMO-CapabilityUL-r10 ::= ENUMERATED {twoLayers, fourLayers}
+
+MIMO-CapabilityDL-r10 ::= ENUMERATED {twoLayers, fourLayers, eightLayers}
+
+MUST-Parameters-r14 ::= SEQUENCE {
+ must-TM234-UpTo2Tx-r14 ENUMERATED {supported} OPTIONAL,
+ must-TM89-UpToOneInterferingLayer-r14 ENUMERATED {supported} OPTIONAL,
+ must-TM10-UpToOneInterferingLayer-r14 ENUMERATED {supported} OPTIONAL,
+ must-TM89-UpToThreeInterferingLayers-r14 ENUMERATED {supported} OPTIONAL,
+ must-TM10-UpToThreeInterferingLayers-r14 ENUMERATED {supported} OPTIONAL
+}
+
+SupportedBandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA
+
+SupportedBandListEUTRA-v9e0::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v9e0
+
+SupportedBandListEUTRA-v1250 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v1250
+
+SupportedBandListEUTRA-v1310 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v1310
+
+SupportedBandListEUTRA-v1320 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v1320
+
+SupportedBandEUTRA ::= SEQUENCE {
+ bandEUTRA FreqBandIndicator,
+ halfDuplex BOOLEAN
+}
+
+SupportedBandEUTRA-v9e0 ::= SEQUENCE {
+ bandEUTRA-v9e0 FreqBandIndicator-v9e0 OPTIONAL
+}
+
+SupportedBandEUTRA-v1250 ::= SEQUENCE {
+ dl-256QAM-r12 ENUMERATED {supported} OPTIONAL,
+ ul-64QAM-r12 ENUMERATED {supported} OPTIONAL
+}
+
+SupportedBandEUTRA-v1310 ::= SEQUENCE {
+ ue-PowerClass-5-r13 ENUMERATED {supported} OPTIONAL
+}
+SupportedBandEUTRA-v1320 ::= SEQUENCE {
+ intraFreq-CE-NeedForGaps-r13 ENUMERATED {supported} OPTIONAL,
+ ue-PowerClass-N-r13 ENUMERATED {class1, class2, class4} OPTIONAL
+}
+
+MeasParameters ::= SEQUENCE {
+ bandListEUTRA BandListEUTRA
+}
+
+MeasParameters-v1020 ::= SEQUENCE {
+ bandCombinationListEUTRA-r10 BandCombinationListEUTRA-r10
+}
+
+MeasParameters-v1130 ::= SEQUENCE {
+ rsrqMeasWideband-r11 ENUMERATED {supported} OPTIONAL
+}
+
+MeasParameters-v11a0 ::= SEQUENCE {
+ benefitsFromInterruption-r11 ENUMERATED {true} OPTIONAL
+}
+
+MeasParameters-v1250 ::= SEQUENCE {
+ timerT312-r12 ENUMERATED {supported} OPTIONAL,
+ alternativeTimeToTrigger-r12 ENUMERATED {supported} OPTIONAL,
+ incMonEUTRA-r12 ENUMERATED {supported} OPTIONAL,
+ incMonUTRA-r12 ENUMERATED {supported} OPTIONAL,
+ extendedMaxMeasId-r12 ENUMERATED {supported} OPTIONAL,
+ extendedRSRQ-LowerRange-r12 ENUMERATED {supported} OPTIONAL,
+ rsrq-OnAllSymbols-r12 ENUMERATED {supported} OPTIONAL,
+ crs-DiscoverySignalsMeas-r12 ENUMERATED {supported} OPTIONAL,
+ csi-RS-DiscoverySignalsMeas-r12 ENUMERATED {supported} OPTIONAL
+}
+
+MeasParameters-v1310 ::= SEQUENCE {
+ rs-SINR-Meas-r13 ENUMERATED {supported} OPTIONAL,
+ allowedCellList-r13 ENUMERATED {supported} OPTIONAL,
+ extendedMaxObjectId-r13 ENUMERATED {supported} OPTIONAL,
+ ul-PDCP-Delay-r13 ENUMERATED {supported} OPTIONAL,
+ extendedFreqPriorities-r13 ENUMERATED {supported} OPTIONAL,
+ multiBandInfoReport-r13 ENUMERATED {supported} OPTIONAL,
+ rssi-AndChannelOccupancyReporting-r13 ENUMERATED {supported} OPTIONAL
+}
+
+MeasParameters-v1430 ::= SEQUENCE {
+ ceMeasurements-r14 ENUMERATED {supported} OPTIONAL,
+ ncsg-r14 ENUMERATED {supported} OPTIONAL,
+ shortMeasurementGap-r14 ENUMERATED {supported} OPTIONAL,
+ perServingCellMeasurementGap-r14 ENUMERATED {supported} OPTIONAL,
+ nonUniformGap-r14 ENUMERATED {supported} OPTIONAL
+}
+
+MeasParameters-v1520 ::= SEQUENCE {
+ measGapPatterns-r15 BIT STRING (SIZE (8)) OPTIONAL
+}
+
+MeasParameters-v1530 ::= SEQUENCE {
+ qoe-MeasReport-r15 ENUMERATED {supported} OPTIONAL,
+ qoe-MTSI-MeasReport-r15 ENUMERATED {supported} OPTIONAL,
+ ca-IdleModeMeasurements-r15 ENUMERATED {supported} OPTIONAL,
+ ca-IdleModeValidityArea-r15 ENUMERATED {supported} OPTIONAL,
+ heightMeas-r15 ENUMERATED {supported} OPTIONAL,
+ multipleCellsMeasExtension-r15 ENUMERATED {supported} OPTIONAL
+}
+
+MeasParameters-v1610 ::= SEQUENCE {
+ bandInfoNR-v1610 SEQUENCE (SIZE (1..maxBands)) OF MeasGapInfoNR-r16 OPTIONAL,
+ altFreqPriority-r16 ENUMERATED {supported} OPTIONAL,
+ ce-DL-ChannelQualityReporting-r16 ENUMERATED {supported} OPTIONAL,
+ ce-MeasRSS-Dedicated-r16 ENUMERATED {supported} OPTIONAL,
+ eutra-IdleInactiveMeasurements-r16 ENUMERATED {supported} OPTIONAL,
+ nr-IdleInactiveMeasFR1-r16 ENUMERATED {supported} OPTIONAL,
+ nr-IdleInactiveMeasFR2-r16 ENUMERATED {supported} OPTIONAL,
+ idleInactiveValidityAreaList-r16 ENUMERATED {supported} OPTIONAL,
+ measGapPatterns-NRonly-r16 ENUMERATED {supported} OPTIONAL,
+ measGapPatterns-NRonly-ENDC-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MeasParameters-v1630 ::= SEQUENCE {
+ nr-IdleInactiveBeamMeasFR1-r16 ENUMERATED {supported} OPTIONAL,
+ nr-IdleInactiveBeamMeasFR2-r16 ENUMERATED {supported} OPTIONAL,
+ ce-MeasRSS-DedicatedSameRBs-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MeasParameters-v16c0 ::= SEQUENCE {
+ nr-CellIndividualOffset-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MeasParameters-v1700 ::= SEQUENCE {
+ sharedSpectrumMeasNR-EN-DC-r17 SEQUENCE (SIZE (1..maxBandsNR-r15)) OF SharedSpectrumMeasNR-r17 OPTIONAL,
+ sharedSpectrumMeasNR-SA-r17 SEQUENCE (SIZE (1..maxBandsNR-r15)) OF SharedSpectrumMeasNR-r17 OPTIONAL
+}
+
+SharedSpectrumMeasNR-r17 ::= SEQUENCE {
+ nr-RSSI-ChannelOccupancyReporting-r17 BOOLEAN
+}
+
+MeasGapInfoNR-r16 ::= SEQUENCE {
+ interRAT-BandListNR-EN-DC-r16 InterRAT-BandListNR-r16 OPTIONAL,
+ interRAT-BandListNR-SA-r16 InterRAT-BandListNR-r16 OPTIONAL
+}
+
+BandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF BandInfoEUTRA
+
+BandCombinationListEUTRA-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandInfoEUTRA
+
+BandInfoEUTRA ::= SEQUENCE {
+ interFreqBandList InterFreqBandList,
+ interRAT-BandList InterRAT-BandList OPTIONAL
+}
+
+InterFreqBandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterFreqBandInfo
+
+InterFreqBandInfo ::= SEQUENCE {
+ interFreqNeedForGaps BOOLEAN
+}
+
+InterRAT-BandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterRAT-BandInfo
+
+InterRAT-BandListNR-r16 ::= SEQUENCE (SIZE (1..maxBandsNR-r15)) OF InterRAT-BandInfoNR-r16
+
+InterRAT-BandInfo ::= SEQUENCE {
+ interRAT-NeedForGaps BOOLEAN
+}
+
+InterRAT-BandInfoNR-r16 ::= SEQUENCE {
+ interRAT-NeedForGapsNR-r16 BOOLEAN
+}
+
+IRAT-ParametersNR-r15 ::= SEQUENCE {
+ en-DC-r15 ENUMERATED {supported} OPTIONAL,
+ eventB2-r15 ENUMERATED {supported} OPTIONAL,
+ supportedBandListEN-DC-r15 SupportedBandListNR-r15 OPTIONAL
+}
+
+IRAT-ParametersNR-v1540 ::= SEQUENCE {
+ eutra-5GC-HO-ToNR-FDD-FR1-r15 ENUMERATED {supported} OPTIONAL,
+ eutra-5GC-HO-ToNR-TDD-FR1-r15 ENUMERATED {supported} OPTIONAL,
+ eutra-5GC-HO-ToNR-FDD-FR2-r15 ENUMERATED {supported} OPTIONAL,
+ eutra-5GC-HO-ToNR-TDD-FR2-r15 ENUMERATED {supported} OPTIONAL,
+ eutra-EPC-HO-ToNR-FDD-FR1-r15 ENUMERATED {supported} OPTIONAL,
+ eutra-EPC-HO-ToNR-TDD-FR1-r15 ENUMERATED {supported} OPTIONAL,
+ eutra-EPC-HO-ToNR-FDD-FR2-r15 ENUMERATED {supported} OPTIONAL,
+ eutra-EPC-HO-ToNR-TDD-FR2-r15 ENUMERATED {supported} OPTIONAL,
+ ims-VoiceOverNR-FR1-r15 ENUMERATED {supported} OPTIONAL,
+ ims-VoiceOverNR-FR2-r15 ENUMERATED {supported} OPTIONAL,
+ sa-NR-r15 ENUMERATED {supported} OPTIONAL,
+ supportedBandListNR-SA-r15 SupportedBandListNR-r15 OPTIONAL
+}
+
+IRAT-ParametersNR-v1560 ::= SEQUENCE {
+ ng-EN-DC-r15 ENUMERATED {supported} OPTIONAL
+}
+
+IRAT-ParametersNR-v1570 ::= SEQUENCE {
+ ss-SINR-Meas-NR-FR1-r15 ENUMERATED {supported} OPTIONAL,
+ ss-SINR-Meas-NR-FR2-r15 ENUMERATED {supported} OPTIONAL
+}
+
+IRAT-ParametersNR-v1610 ::= SEQUENCE {
+ nr-HO-ToEN-DC-r16 ENUMERATED {supported} OPTIONAL,
+ ce-EUTRA-5GC-HO-ToNR-FDD-FR1-r16 ENUMERATED {supported} OPTIONAL,
+ ce-EUTRA-5GC-HO-ToNR-TDD-FR1-r16 ENUMERATED {supported} OPTIONAL,
+ ce-EUTRA-5GC-HO-ToNR-FDD-FR2-r16 ENUMERATED {supported} OPTIONAL,
+ ce-EUTRA-5GC-HO-ToNR-TDD-FR2-r16 ENUMERATED {supported} OPTIONAL
+}
+
+IRAT-ParametersNR-v1660 ::= SEQUENCE {
+ extendedBand-n77-r16 ENUMERATED {supported} OPTIONAL
+}
+
+IRAT-ParametersNR-v1700 ::= SEQUENCE {
+ eutra-5GC-HO-ToNR-TDD-FR2-2-r17 ENUMERATED {supported} OPTIONAL,
+ eutra-EPC-HO-ToNR-TDD-FR2-2-r17 ENUMERATED {supported} OPTIONAL,
+ ce-EUTRA-5GC-HO-ToNR-TDD-FR2-2-r17 ENUMERATED {supported} OPTIONAL,
+ ims-VoiceOverNR-FR2-2-r17 ENUMERATED {supported} OPTIONAL
+}
+
+IRAT-ParametersNR-v1710 ::= SEQUENCE {
+ extendedBand-n77-2-r17 ENUMERATED {supported} OPTIONAL
+}
+
+EUTRA-5GC-Parameters-r15 ::= SEQUENCE {
+ eutra-5GC-r15 ENUMERATED {supported} OPTIONAL,
+ eutra-EPC-HO-EUTRA-5GC-r15 ENUMERATED {supported} OPTIONAL,
+ ho-EUTRA-5GC-FDD-TDD-r15 ENUMERATED {supported} OPTIONAL,
+ ho-InterfreqEUTRA-5GC-r15 ENUMERATED {supported} OPTIONAL,
+ ims-VoiceOverMCG-BearerEUTRA-5GC-r15 ENUMERATED {supported} OPTIONAL,
+ inactiveState-r15 ENUMERATED {supported} OPTIONAL,
+ reflectiveQoS-r15 ENUMERATED {supported} OPTIONAL
+}
+
+EUTRA-5GC-Parameters-v1610 ::= SEQUENCE {
+ ce-InactiveState-r16 ENUMERATED {supported} OPTIONAL,
+ ce-EUTRA-5GC-r16 ENUMERATED {supported} OPTIONAL
+}
+
+PDCP-ParametersNR-r15 ::= SEQUENCE {
+ rohc-Profiles-r15 ROHC-ProfileSupportList-r15,
+ rohc-ContextMaxSessions-r15 ENUMERATED {
+ cs2, cs4, cs8, cs12, cs16, cs24, cs32,
+ cs48, cs64, cs128, cs256, cs512, cs1024,
+ cs16384, spare2, spare1} DEFAULT cs16,
+ rohc-ProfilesUL-Only-r15 SEQUENCE {
+ profile0x0006-r15 BOOLEAN
+ },
+ rohc-ContextContinue-r15 ENUMERATED {supported} OPTIONAL,
+ outOfOrderDelivery-r15 ENUMERATED {supported} OPTIONAL,
+ sn-SizeLo-r15 ENUMERATED {supported} OPTIONAL,
+ ims-VoiceOverNR-PDCP-MCG-Bearer-r15 ENUMERATED {supported} OPTIONAL,
+ ims-VoiceOverNR-PDCP-SCG-Bearer-r15 ENUMERATED {supported} OPTIONAL
+}
+
+PDCP-ParametersNR-v1560 ::= SEQUENCE {
+ ims-VoNR-PDCP-SCG-NGENDC-r15 ENUMERATED {supported} OPTIONAL
+}
+
+ROHC-ProfileSupportList-r15 ::= SEQUENCE {
+ profile0x0001-r15 BOOLEAN,
+ profile0x0002-r15 BOOLEAN,
+ profile0x0003-r15 BOOLEAN,
+ profile0x0004-r15 BOOLEAN,
+ profile0x0006-r15 BOOLEAN,
+ profile0x0101-r15 BOOLEAN,
+ profile0x0102-r15 BOOLEAN,
+ profile0x0103-r15 BOOLEAN,
+ profile0x0104-r15 BOOLEAN
+}
+
+SupportedBandListNR-r15 ::= SEQUENCE (SIZE (1..maxBandsNR-r15)) OF SupportedBandNR-r15
+
+SupportedBandNR-r15 ::= SEQUENCE {
+ bandNR-r15 FreqBandIndicatorNR-r15
+}
+
+IRAT-ParametersUTRA-FDD ::= SEQUENCE {
+ supportedBandListUTRA-FDD SupportedBandListUTRA-FDD
+}
+
+IRAT-ParametersUTRA-v920 ::= SEQUENCE {
+ e-RedirectionUTRA-r9 ENUMERATED {supported}
+}
+
+IRAT-ParametersUTRA-v9c0 ::= SEQUENCE {
+ voiceOverPS-HS-UTRA-FDD-r9 ENUMERATED {supported} OPTIONAL,
+ voiceOverPS-HS-UTRA-TDD128-r9 ENUMERATED {supported} OPTIONAL,
+ srvcc-FromUTRA-FDD-ToUTRA-FDD-r9 ENUMERATED {supported} OPTIONAL,
+ srvcc-FromUTRA-FDD-ToGERAN-r9 ENUMERATED {supported} OPTIONAL,
+ srvcc-FromUTRA-TDD128-ToUTRA-TDD128-r9 ENUMERATED {supported} OPTIONAL,
+ srvcc-FromUTRA-TDD128-ToGERAN-r9 ENUMERATED {supported} OPTIONAL
+}
+
+IRAT-ParametersUTRA-v9h0 ::= SEQUENCE {
+ mfbi-UTRA-r9 ENUMERATED {supported}
+}
+
+SupportedBandListUTRA-FDD ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-FDD
+
+SupportedBandUTRA-FDD ::= ENUMERATED {
+ bandI, bandII, bandIII, bandIV, bandV, bandVI,
+ bandVII, bandVIII, bandIX, bandX, bandXI,
+ bandXII, bandXIII, bandXIV, bandXV, bandXVI, ...,
+ bandXVII-8a0, bandXVIII-8a0, bandXIX-8a0, bandXX-8a0,
+ bandXXI-8a0, bandXXII-8a0, bandXXIII-8a0, bandXXIV-8a0,
+ bandXXV-8a0, bandXXVI-8a0, bandXXVII-8a0, bandXXVIII-8a0,
+ bandXXIX-8a0, bandXXX-8a0, bandXXXI-8a0, bandXXXII-8a0}
+
+IRAT-ParametersUTRA-TDD128 ::= SEQUENCE {
+ supportedBandListUTRA-TDD128 SupportedBandListUTRA-TDD128
+}
+
+SupportedBandListUTRA-TDD128 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD128
+
+SupportedBandUTRA-TDD128 ::= ENUMERATED {
+ a, b, c, d, e, f, g, h, i, j, k, l, m, n,
+ o, p, ...}
+
+IRAT-ParametersUTRA-TDD384 ::= SEQUENCE {
+ supportedBandListUTRA-TDD384 SupportedBandListUTRA-TDD384
+}
+
+SupportedBandListUTRA-TDD384 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD384
+
+SupportedBandUTRA-TDD384 ::= ENUMERATED {
+ a, b, c, d, e, f, g, h, i, j, k, l, m, n,
+ o, p, ...}
+
+IRAT-ParametersUTRA-TDD768 ::= SEQUENCE {
+ supportedBandListUTRA-TDD768 SupportedBandListUTRA-TDD768
+}
+
+SupportedBandListUTRA-TDD768 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD768
+
+SupportedBandUTRA-TDD768 ::= ENUMERATED {
+ a, b, c, d, e, f, g, h, i, j, k, l, m, n,
+ o, p, ...}
+
+IRAT-ParametersUTRA-TDD-v1020 ::= SEQUENCE {
+ e-RedirectionUTRA-TDD-r10 ENUMERATED {supported}
+}
+
+IRAT-ParametersGERAN ::= SEQUENCE {
+ supportedBandListGERAN SupportedBandListGERAN,
+ interRAT-PS-HO-ToGERAN BOOLEAN
+}
+
+IRAT-ParametersGERAN-v920 ::= SEQUENCE {
+ dtm-r9 ENUMERATED {supported} OPTIONAL,
+ e-RedirectionGERAN-r9 ENUMERATED {supported} OPTIONAL
+}
+
+SupportedBandListGERAN ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandGERAN
+
+SupportedBandGERAN ::= ENUMERATED {
+ gsm450, gsm480, gsm710, gsm750, gsm810, gsm850,
+ gsm900P, gsm900E, gsm900R, gsm1800, gsm1900,
+ spare5, spare4, spare3, spare2, spare1, ...}
+
+IRAT-ParametersCDMA2000-HRPD ::= SEQUENCE {
+ supportedBandListHRPD SupportedBandListHRPD,
+ tx-ConfigHRPD ENUMERATED {single, dual},
+ rx-ConfigHRPD ENUMERATED {single, dual}
+}
+
+SupportedBandListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000
+
+IRAT-ParametersCDMA2000-1XRTT ::= SEQUENCE {
+ supportedBandList1XRTT SupportedBandList1XRTT,
+ tx-Config1XRTT ENUMERATED {single, dual},
+ rx-Config1XRTT ENUMERATED {single, dual}
+}
+
+IRAT-ParametersCDMA2000-1XRTT-v920 ::= SEQUENCE {
+ e-CSFB-1XRTT-r9 ENUMERATED {supported},
+ e-CSFB-ConcPS-Mob1XRTT-r9 ENUMERATED {supported} OPTIONAL
+}
+
+IRAT-ParametersCDMA2000-1XRTT-v1020 ::= SEQUENCE {
+ e-CSFB-dual-1XRTT-r10 ENUMERATED {supported}
+}
+
+IRAT-ParametersCDMA2000-v1130 ::= SEQUENCE {
+ cdma2000-NW-Sharing-r11 ENUMERATED {supported} OPTIONAL
+}
+
+SupportedBandList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000
+
+IRAT-ParametersWLAN-r13 ::= SEQUENCE {
+ supportedBandListWLAN-r13 SEQUENCE (SIZE (1..maxWLAN-Bands-r13)) OF WLAN-BandIndicator-r13 OPTIONAL
+}
+
+CSG-ProximityIndicationParameters-r9 ::= SEQUENCE {
+ intraFreqProximityIndication-r9 ENUMERATED {supported} OPTIONAL,
+ interFreqProximityIndication-r9 ENUMERATED {supported} OPTIONAL,
+ utran-ProximityIndication-r9 ENUMERATED {supported} OPTIONAL
+}
+
+NeighCellSI-AcquisitionParameters-r9 ::= SEQUENCE {
+ intraFreqSI-AcquisitionForHO-r9 ENUMERATED {supported} OPTIONAL,
+ interFreqSI-AcquisitionForHO-r9 ENUMERATED {supported} OPTIONAL,
+ utran-SI-AcquisitionForHO-r9 ENUMERATED {supported} OPTIONAL
+}
+
+NeighCellSI-AcquisitionParameters-v1530 ::= SEQUENCE {
+ reportCGI-NR-EN-DC-r15 ENUMERATED {supported} OPTIONAL,
+ reportCGI-NR-NoEN-DC-r15 ENUMERATED {supported} OPTIONAL
+}
+
+NeighCellSI-AcquisitionParameters-v1550 ::= SEQUENCE {
+ eutra-CGI-Reporting-ENDC-r15 ENUMERATED {supported} OPTIONAL,
+ utra-GERAN-CGI-Reporting-ENDC-r15 ENUMERATED {supported} OPTIONAL
+}
+
+NeighCellSI-AcquisitionParameters-v15a0 ::= SEQUENCE {
+ eutra-CGI-Reporting-NEDC-r15 ENUMERATED {supported} OPTIONAL
+}
+
+NeighCellSI-AcquisitionParameters-v1610 ::= SEQUENCE {
+ eutra-SI-AcquisitionForHO-ENDC-r16 ENUMERATED {supported} OPTIONAL,
+ nr-AutonomousGaps-ENDC-FR1-r16 ENUMERATED {supported} OPTIONAL,
+ nr-AutonomousGaps-ENDC-FR2-r16 ENUMERATED {supported} OPTIONAL,
+ nr-AutonomousGaps-FR1-r16 ENUMERATED {supported} OPTIONAL,
+ nr-AutonomousGaps-FR2-r16 ENUMERATED {supported} OPTIONAL
+}
+
+NeighCellSI-AcquisitionParameters-v1710 ::= SEQUENCE {
+ gNB-ID-Length-Reporting-NR-EN-DC-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-ID-Length-Reporting-NR-NoEN-DC-r17 ENUMERATED {supported} OPTIONAL
+}
+
+SON-Parameters-r9 ::= SEQUENCE {
+ rach-Report-r9 ENUMERATED {supported} OPTIONAL
+}
+
+PUR-Parameters-r16 ::= SEQUENCE {
+ pur-CP-5GC-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ pur-CP-5GC-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ pur-UP-5GC-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ pur-UP-5GC-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ pur-CP-EPC-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ pur-CP-EPC-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ pur-UP-EPC-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ pur-UP-EPC-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ pur-CP-L1Ack-r16 ENUMERATED {supported} OPTIONAL,
+ pur-FrequencyHopping-r16 ENUMERATED {supported} OPTIONAL,
+ pur-PUSCH-NB-MaxTBS-r16 ENUMERATED {supported} OPTIONAL,
+ pur-RSRP-Validation-r16 ENUMERATED {supported} OPTIONAL,
+ pur-SubPRB-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ pur-SubPRB-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL
+}
+
+UE-BasedNetwPerfMeasParameters-r10 ::= SEQUENCE {
+ loggedMeasurementsIdle-r10 ENUMERATED {supported} OPTIONAL,
+ standaloneGNSS-Location-r10 ENUMERATED {supported} OPTIONAL
+}
+
+UE-BasedNetwPerfMeasParameters-v1250 ::= SEQUENCE {
+ loggedMBSFNMeasurements-r12 ENUMERATED {supported}
+}
+
+UE-BasedNetwPerfMeasParameters-v1430 ::= SEQUENCE {
+ locationReport-r14 ENUMERATED {supported} OPTIONAL
+}
+
+UE-BasedNetwPerfMeasParameters-v1530 ::= SEQUENCE {
+ loggedMeasBT-r15 ENUMERATED {supported} OPTIONAL,
+ loggedMeasWLAN-r15 ENUMERATED {supported} OPTIONAL,
+ immMeasBT-r15 ENUMERATED {supported} OPTIONAL,
+ immMeasWLAN-r15 ENUMERATED {supported} OPTIONAL
+}
+
+UE-BasedNetwPerfMeasParameters-v1610 ::= SEQUENCE {
+ ul-PDCP-AvgDelay-r16 ENUMERATED {supported} OPTIONAL
+}
+
+UE-BasedNetwPerfMeasParameters-v1700 ::= SEQUENCE {
+ loggedMeasIdleEventL1-r17 ENUMERATED {supported} OPTIONAL,
+ loggedMeasIdleEventOutOfCoverage-r17 ENUMERATED {supported} OPTIONAL,
+ loggedMeasUncomBarPre-r17 ENUMERATED {supported} OPTIONAL,
+ immMeasUncomBarPre-r17 ENUMERATED {supported} OPTIONAL
+}
+
+OTDOA-PositioningCapabilities-r10 ::= SEQUENCE {
+ otdoa-UE-Assisted-r10 ENUMERATED {supported},
+ interFreqRSTD-Measurement-r10 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-r11 ::= SEQUENCE {
+ inDeviceCoexInd-r11 ENUMERATED {supported} OPTIONAL,
+ powerPrefInd-r11 ENUMERATED {supported} OPTIONAL,
+ ue-Rx-TxTimeDiffMeasurements-r11 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-v11d0 ::= SEQUENCE {
+ inDeviceCoexInd-UL-CA-r11 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-v1360 ::= SEQUENCE {
+ inDeviceCoexInd-HardwareSharingInd-r13 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-v1430 ::= SEQUENCE {
+ bwPrefInd-r14 ENUMERATED {supported} OPTIONAL,
+ rlm-ReportSupport-r14 ENUMERATED {supported} OPTIONAL
+}
+
+OtherParameters-v1450 ::= SEQUENCE {
+ overheatingInd-r14 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-v1460 ::= SEQUENCE {
+ nonCSG-SI-Reporting-r14 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-v1530 ::= SEQUENCE {
+ assistInfoBitForLC-r15 ENUMERATED {supported} OPTIONAL,
+ timeReferenceProvision-r15 ENUMERATED {supported} OPTIONAL,
+ flightPathPlan-r15 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-v1540 ::= SEQUENCE {
+ inDeviceCoexInd-ENDC-r15 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-v1610 ::= SEQUENCE {
+ resumeWithStoredMCG-SCells-r16 ENUMERATED {supported} OPTIONAL,
+ resumeWithMCG-SCellConfig-r16 ENUMERATED {supported} OPTIONAL,
+ resumeWithStoredSCG-r16 ENUMERATED {supported} OPTIONAL,
+ resumeWithSCG-Config-r16 ENUMERATED {supported} OPTIONAL,
+ mcgRLF-RecoveryViaSCG-r16 ENUMERATED {supported} OPTIONAL,
+ overheatingIndForSCG-r16 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-v1650 ::= SEQUENCE {
+ mpsPriorityIndication-r16 ENUMERATED {supported} OPTIONAL
+}
+
+Other-Parameters-v1690 ::= SEQUENCE {
+ ul-RRC-Segmentation-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MBMS-Parameters-r11 ::= SEQUENCE {
+ mbms-SCell-r11 ENUMERATED {supported} OPTIONAL,
+ mbms-NonServingCell-r11 ENUMERATED {supported} OPTIONAL
+}
+
+MBMS-Parameters-v1250 ::= SEQUENCE {
+ mbms-AsyncDC-r12 ENUMERATED {supported} OPTIONAL
+}
+
+MBMS-Parameters-v1430 ::= SEQUENCE {
+ fembmsDedicatedCell-r14 ENUMERATED {supported} OPTIONAL,
+ fembmsMixedCell-r14 ENUMERATED {supported} OPTIONAL,
+ subcarrierSpacingMBMS-khz7dot5-r14 ENUMERATED {supported} OPTIONAL,
+ subcarrierSpacingMBMS-khz1dot25-r14 ENUMERATED {supported} OPTIONAL
+}
+
+MBMS-Parameters-v1470 ::= SEQUENCE {
+ mbms-MaxBW-r14 CHOICE {
+ implicitValue NULL,
+ explicitValue INTEGER(2..20)
+ },
+ mbms-ScalingFactor1dot25-r14 ENUMERATED {n3, n6, n9, n12} OPTIONAL,
+ mbms-ScalingFactor7dot5-r14 ENUMERATED {n1, n2, n3, n4} OPTIONAL
+}
+
+MBMS-Parameters-v1610 ::= SEQUENCE {
+ mbms-ScalingFactor2dot5-r16 ENUMERATED {n2, n4, n6, n8} OPTIONAL,
+ mbms-ScalingFactor0dot37-r16 ENUMERATED {n12, n16, n20, n24} OPTIONAL,
+ mbms-SupportedBandInfoList-r16 SEQUENCE (SIZE (1..maxBands)) OF MBMS-SupportedBandInfo-r16
+}
+
+MBMS-Parameters-v1700 ::= SEQUENCE {
+ mbms-SupportedBandInfoList-v1700 SEQUENCE (SIZE (1..maxBands)) OF MBMS-SupportedBandInfo-v1700 OPTIONAL
+}
+
+MBMS-SupportedBandInfo-r16 ::= SEQUENCE {
+ subcarrierSpacingMBMS-khz2dot5-r16 ENUMERATED {supported} OPTIONAL,
+ subcarrierSpacingMBMS-khz0dot37-r16 SEQUENCE {
+ timeSeparationSlot2-r16 ENUMERATED {supported} OPTIONAL,
+ timeSeparationSlot4-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL
+}
+
+MBMS-SupportedBandInfo-v1700 ::= SEQUENCE {
+ pmch-Bandwidth-n40-r17 ENUMERATED {supported} OPTIONAL,
+ pmch-Bandwidth-n35-r17 ENUMERATED {supported} OPTIONAL,
+ pmch-Bandwidth-n30-r17 ENUMERATED {supported} OPTIONAL
+}
+
+FeMBMS-Unicast-Parameters-r14 ::= SEQUENCE {
+ unicast-fembmsMixedSCell-r14 ENUMERATED {supported} OPTIONAL,
+ emptyUnicastRegion-r14 ENUMERATED {supported} OPTIONAL
+}
+
+SCPTM-Parameters-r13 ::= SEQUENCE {
+ scptm-ParallelReception-r13 ENUMERATED {supported} OPTIONAL,
+ scptm-SCell-r13 ENUMERATED {supported} OPTIONAL,
+ scptm-NonServingCell-r13 ENUMERATED {supported} OPTIONAL,
+ scptm-AsyncDC-r13 ENUMERATED {supported} OPTIONAL
+}
+
+CE-Parameters-r13 ::= SEQUENCE {
+ ce-ModeA-r13 ENUMERATED {supported} OPTIONAL,
+ ce-ModeB-r13 ENUMERATED {supported} OPTIONAL
+}
+
+CE-Parameters-v1320 ::= SEQUENCE {
+ intraFreqA3-CE-ModeA-r13 ENUMERATED {supported} OPTIONAL,
+ intraFreqA3-CE-ModeB-r13 ENUMERATED {supported} OPTIONAL,
+ intraFreqHO-CE-ModeA-r13 ENUMERATED {supported} OPTIONAL,
+ intraFreqHO-CE-ModeB-r13 ENUMERATED {supported} OPTIONAL
+}
+
+CE-Parameters-v1350 ::= SEQUENCE {
+ unicastFrequencyHopping-r13 ENUMERATED {supported} OPTIONAL
+}
+
+CE-Parameters-v1370 ::= SEQUENCE {
+ tm9-CE-ModeA-r13 ENUMERATED {supported} OPTIONAL,
+ tm9-CE-ModeB-r13 ENUMERATED {supported} OPTIONAL
+}
+
+CE-Parameters-v1380 ::= SEQUENCE {
+ tm6-CE-ModeA-r13 ENUMERATED {supported} OPTIONAL
+}
+
+CE-Parameters-v1430 ::= SEQUENCE {
+ ce-SwitchWithoutHO-r14 ENUMERATED {supported} OPTIONAL
+}
+
+CE-MultiTB-Parameters-r16 ::= SEQUENCE {
+ pdsch-MultiTB-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ pdsch-MultiTB-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ pusch-MultiTB-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ pusch-MultiTB-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ ce-MultiTB-64QAM-r16 ENUMERATED {supported} OPTIONAL,
+ ce-MultiTB-EarlyTermination-r16 ENUMERATED {supported} OPTIONAL,
+ ce-MultiTB-FrequencyHopping-r16 ENUMERATED {supported} OPTIONAL,
+ ce-MultiTB-HARQ-AckBundling-r16 ENUMERATED {supported} OPTIONAL,
+ ce-MultiTB-Interleaving-r16 ENUMERATED {supported} OPTIONAL,
+ ce-MultiTB-SubPRB-r16 ENUMERATED {supported} OPTIONAL
+}
+
+CE-ResourceResvParameters-r16 ::= SEQUENCE {
+ subframeResourceResvDL-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ subframeResourceResvDL-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ subframeResourceResvUL-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ subframeResourceResvUL-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ slotSymbolResourceResvDL-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ slotSymbolResourceResvDL-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ slotSymbolResourceResvUL-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ slotSymbolResourceResvUL-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL,
+ subcarrierPuncturingCE-ModeA-r16 ENUMERATED {supported} OPTIONAL,
+ subcarrierPuncturingCE-ModeB-r16 ENUMERATED {supported} OPTIONAL
+}
+
+LAA-Parameters-r13 ::= SEQUENCE {
+ crossCarrierSchedulingLAA-DL-r13 ENUMERATED {supported} OPTIONAL,
+ csi-RS-DRS-RRM-MeasurementsLAA-r13 ENUMERATED {supported} OPTIONAL,
+ downlinkLAA-r13 ENUMERATED {supported} OPTIONAL,
+ endingDwPTS-r13 ENUMERATED {supported} OPTIONAL,
+ secondSlotStartingPosition-r13 ENUMERATED {supported} OPTIONAL,
+ tm9-LAA-r13 ENUMERATED {supported} OPTIONAL,
+ tm10-LAA-r13 ENUMERATED {supported} OPTIONAL
+}
+
+LAA-Parameters-v1430 ::= SEQUENCE {
+ crossCarrierSchedulingLAA-UL-r14 ENUMERATED {supported} OPTIONAL,
+ uplinkLAA-r14 ENUMERATED {supported} OPTIONAL,
+ twoStepSchedulingTimingInfo-r14 ENUMERATED {nPlus1, nPlus2, nPlus3} OPTIONAL,
+ uss-BlindDecodingAdjustment-r14 ENUMERATED {supported} OPTIONAL,
+ uss-BlindDecodingReduction-r14 ENUMERATED {supported} OPTIONAL,
+ outOfSequenceGrantHandling-r14 ENUMERATED {supported} OPTIONAL
+}
+
+LAA-Parameters-v1530 ::= SEQUENCE {
+ aul-r15 ENUMERATED {supported} OPTIONAL,
+ laa-PUSCH-Mode1-r15 ENUMERATED {supported} OPTIONAL,
+ laa-PUSCH-Mode2-r15 ENUMERATED {supported} OPTIONAL,
+ laa-PUSCH-Mode3-r15 ENUMERATED {supported} OPTIONAL
+}
+
+WLAN-IW-Parameters-r12 ::= SEQUENCE {
+ wlan-IW-RAN-Rules-r12 ENUMERATED {supported} OPTIONAL,
+ wlan-IW-ANDSF-Policies-r12 ENUMERATED {supported} OPTIONAL
+}
+
+LWA-Parameters-r13 ::= SEQUENCE {
+ lwa-r13 ENUMERATED {supported} OPTIONAL,
+ lwa-SplitBearer-r13 ENUMERATED {supported} OPTIONAL,
+ wlan-MAC-Address-r13 OCTET STRING (SIZE (6)) OPTIONAL,
+ lwa-BufferSize-r13 ENUMERATED {supported} OPTIONAL
+}
+
+LWA-Parameters-v1430 ::= SEQUENCE {
+ lwa-HO-WithoutWT-Change-r14 ENUMERATED {supported} OPTIONAL,
+ lwa-UL-r14 ENUMERATED {supported} OPTIONAL,
+ wlan-PeriodicMeas-r14 ENUMERATED {supported} OPTIONAL,
+ wlan-ReportAnyWLAN-r14 ENUMERATED {supported} OPTIONAL,
+ wlan-SupportedDataRate-r14 INTEGER (1..2048) OPTIONAL
+}
+
+LWA-Parameters-v1440 ::= SEQUENCE {
+ lwa-RLC-UM-r14 ENUMERATED {supported} OPTIONAL
+}
+
+WLAN-IW-Parameters-v1310 ::= SEQUENCE {
+ rclwi-r13 ENUMERATED {supported} OPTIONAL
+}
+
+LWIP-Parameters-r13 ::= SEQUENCE {
+ lwip-r13 ENUMERATED {supported} OPTIONAL
+}
+
+LWIP-Parameters-v1430 ::= SEQUENCE {
+ lwip-Aggregation-DL-r14 ENUMERATED {supported} OPTIONAL,
+ lwip-Aggregation-UL-r14 ENUMERATED {supported} OPTIONAL
+}
+
+NAICS-Capability-List-r12 ::= SEQUENCE (SIZE (1..maxNAICS-Entries-r12)) OF NAICS-Capability-Entry-r12
+
+
+NAICS-Capability-Entry-r12 ::= SEQUENCE {
+ numberOfNAICS-CapableCC-r12 INTEGER(1..5),
+ numberOfAggregatedPRB-r12 ENUMERATED {
+ n50, n75, n100, n125, n150, n175,
+ n200, n225, n250, n275, n300, n350,
+ n400, n450, n500, spare},
+ ...
+}
+
+SL-Parameters-r12 ::= SEQUENCE {
+ commSimultaneousTx-r12 ENUMERATED {supported} OPTIONAL,
+ commSupportedBands-r12 FreqBandIndicatorListEUTRA-r12 OPTIONAL,
+ discSupportedBands-r12 SupportedBandInfoList-r12 OPTIONAL,
+ discScheduledResourceAlloc-r12 ENUMERATED {supported} OPTIONAL,
+ disc-UE-SelectedResourceAlloc-r12 ENUMERATED {supported} OPTIONAL,
+ disc-SLSS-r12 ENUMERATED {supported} OPTIONAL,
+ discSupportedProc-r12 ENUMERATED {n50, n400} OPTIONAL
+}
+
+SL-Parameters-v1310 ::= SEQUENCE {
+ discSysInfoReporting-r13 ENUMERATED {supported} OPTIONAL,
+ commMultipleTx-r13 ENUMERATED {supported} OPTIONAL,
+ discInterFreqTx-r13 ENUMERATED {supported} OPTIONAL,
+ discPeriodicSLSS-r13 ENUMERATED {supported} OPTIONAL
+}
+
+SL-Parameters-v1430 ::= SEQUENCE {
+ zoneBasedPoolSelection-r14 ENUMERATED {supported} OPTIONAL,
+ ue-AutonomousWithFullSensing-r14 ENUMERATED {supported} OPTIONAL,
+ ue-AutonomousWithPartialSensing-r14 ENUMERATED {supported} OPTIONAL,
+ sl-CongestionControl-r14 ENUMERATED {supported} OPTIONAL,
+ v2x-TxWithShortResvInterval-r14 ENUMERATED {supported} OPTIONAL,
+ v2x-numberTxRxTiming-r14 INTEGER(1..16) OPTIONAL,
+ v2x-nonAdjacentPSCCH-PSSCH-r14 ENUMERATED {supported} OPTIONAL,
+ slss-TxRx-r14 ENUMERATED {supported} OPTIONAL,
+ v2x-SupportedBandCombinationList-r14 V2X-SupportedBandCombination-r14 OPTIONAL
+}
+
+SL-Parameters-v1530 ::= SEQUENCE {
+ slss-SupportedTxFreq-r15 ENUMERATED {single, multiple} OPTIONAL,
+ sl-64QAM-Tx-r15 ENUMERATED {supported} OPTIONAL,
+ sl-TxDiversity-r15 ENUMERATED {supported} OPTIONAL,
+ ue-CategorySL-r15 UE-CategorySL-r15 OPTIONAL,
+ v2x-SupportedBandCombinationList-v1530 V2X-SupportedBandCombination-v1530 OPTIONAL
+}
+
+SL-Parameters-v1540 ::= SEQUENCE {
+ sl-64QAM-Rx-r15 ENUMERATED {supported} OPTIONAL,
+ sl-RateMatchingTBSScaling-r15 ENUMERATED {supported} OPTIONAL,
+ sl-LowT2min-r15 ENUMERATED {supported} OPTIONAL,
+ v2x-SensingReportingMode3-r15 ENUMERATED {supported} OPTIONAL
+}
+
+SL-Parameters-v1610 ::= SEQUENCE {
+ sl-ParameterNR-r16 OCTET STRING OPTIONAL,
+ dummy V2X-SupportedBandCombinationEUTRA-NR-r16 OPTIONAL
+}
+
+SL-Parameters-v1630 ::= SEQUENCE {
+ v2x-SupportedBandCombinationListEUTRA-NR-r16 V2X-SupportedBandCombinationEUTRA-NR-v1630 OPTIONAL
+}
+
+SL-Parameters-v1710 ::= SEQUENCE {
+ v2x-SupportedBandCombinationListEUTRA-NR-v1710 V2X-SupportedBandCombinationEUTRA-NR-v1710 OPTIONAL
+}
+
+UE-CategorySL-r15 ::= SEQUENCE {
+ ue-CategorySL-C-TX-r15 INTEGER(1..5),
+ ue-CategorySL-C-RX-r15 INTEGER(1..4)
+}
+
+V2X-SupportedBandCombination-r14 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF V2X-BandCombinationParameters-r14
+
+V2X-SupportedBandCombination-v1530 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF V2X-BandCombinationParameters-v1530
+
+V2X-BandCombinationParameters-r14 ::= SEQUENCE (SIZE (1.. maxSimultaneousBands-r10)) OF V2X-BandParameters-r14
+
+V2X-BandCombinationParameters-v1530 ::= SEQUENCE (SIZE (1.. maxSimultaneousBands-r10)) OF V2X-BandParameters-v1530
+
+V2X-SupportedBandCombinationEUTRA-NR-r16 ::= SEQUENCE (SIZE (1..maxBandCombSidelinkNR-r16)) OF V2X-BandParametersEUTRA-NR-r16
+
+V2X-SupportedBandCombinationEUTRA-NR-v1630 ::= SEQUENCE (SIZE (1..maxBandCombSidelinkNR-r16)) OF V2X-BandCombinationParametersEUTRA-NR-v1630
+
+V2X-SupportedBandCombinationEUTRA-NR-v1710 ::= SEQUENCE (SIZE (1..maxBandCombSidelinkNR-r16)) OF V2X-BandCombinationParametersEUTRA-NR-v1710
+
+V2X-BandCombinationParametersEUTRA-NR-v1630 ::= SEQUENCE {
+ bandListSidelinkEUTRA-NR-r16 SEQUENCE (SIZE (1.. maxSimultaneousBands-r10)) OF V2X-BandParametersEUTRA-NR-r16,
+ bandListSidelinkEUTRA-NR-v1630 SEQUENCE (SIZE (1.. maxSimultaneousBands-r10)) OF V2X-BandParametersEUTRA-NR-v1630
+}
+
+V2X-BandCombinationParametersEUTRA-NR-v1710 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF V2X-BandParametersEUTRA-NR-v1710
+
+V2X-BandParametersEUTRA-NR-r16 ::= CHOICE {
+ eutra SEQUENCE {
+ v2x-BandParameters1-r16 V2X-BandParameters-r14 OPTIONAL,
+ v2x-BandParameters2-r16 V2X-BandParameters-v1530 OPTIONAL
+ },
+ nr SEQUENCE {
+ v2x-BandParametersNR-r16 OCTET STRING OPTIONAL
+ }
+}
+
+V2X-BandParametersEUTRA-NR-v1630 ::= CHOICE {
+ eutra NULL,
+ nr SEQUENCE {
+ tx-Sidelink-r16 ENUMERATED {supported} OPTIONAL,
+ rx-Sidelink-r16 ENUMERATED {supported} OPTIONAL
+ }
+}
+
+V2X-BandParametersEUTRA-NR-v1710 ::= SEQUENCE {
+ v2x-BandParametersEUTRA-NR-v1710 OCTET STRING OPTIONAL
+}
+
+SupportedBandInfoList-r12 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandInfo-r12
+
+SupportedBandInfo-r12 ::= SEQUENCE {
+ support-r12 ENUMERATED {supported} OPTIONAL
+}
+
+FreqBandIndicatorListEUTRA-r12 ::= SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicator-r11
+
+MMTEL-Parameters-r14 ::= SEQUENCE {
+ delayBudgetReporting-r14 ENUMERATED {supported} OPTIONAL,
+ pusch-Enhancements-r14 ENUMERATED {supported} OPTIONAL,
+ recommendedBitRate-r14 ENUMERATED {supported} OPTIONAL,
+ recommendedBitRateQuery-r14 ENUMERATED {supported} OPTIONAL
+}
+
+MMTEL-Parameters-v1610 ::= SEQUENCE {
+ recommendedBitRateMultiplier-r16 ENUMERATED {supported} OPTIONAL
+}
+
+SRS-CapabilityPerBandPair-r14 ::= SEQUENCE {
+ retuningInfo SEQUENCE {
+ rf-RetuningTimeDL-r14 ENUMERATED {n0, n0dot5, n1, n1dot5, n2, n2dot5, n3,
+ n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5,
+ n7, spare1} OPTIONAL,
+ rf-RetuningTimeUL-r14 ENUMERATED {n0, n0dot5, n1, n1dot5, n2, n2dot5, n3,
+ n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5,
+ n7, spare1} OPTIONAL
+ }
+}
+
+SRS-CapabilityPerBandPair-v14b0 ::= SEQUENCE {
+ srs-FlexibleTiming-r14 ENUMERATED {supported} OPTIONAL,
+ srs-HARQ-ReferenceConfig-r14 ENUMERATED {supported} OPTIONAL
+}
+
+SRS-CapabilityPerBandPair-v1610::= SEQUENCE {
+ addSRS-CarrierSwitching-r16 ENUMERATED {supported} OPTIONAL
+}
+
+HighSpeedEnhParameters-r14 ::= SEQUENCE {
+ measurementEnhancements-r14 ENUMERATED {supported} OPTIONAL,
+ demodulationEnhancements-r14 ENUMERATED {supported} OPTIONAL,
+ prach-Enhancements-r14 ENUMERATED {supported} OPTIONAL
+}
+
+HighSpeedEnhParameters-v1610 ::= SEQUENCE {
+ measurementEnhancementsSCell-r16 ENUMERATED {supported} OPTIONAL,
+ measurementEnhancements2-r16 ENUMERATED {supported} OPTIONAL,
+ demodulationEnhancements2-r16 ENUMERATED {supported} OPTIONAL,
+ interRAT-enhancementNR-r16 ENUMERATED {supported} OPTIONAL
+}
+
+
+UE-RadioPagingInfo-r12 ::= SEQUENCE {
+ ue-Category-v1250 INTEGER (0) OPTIONAL,
+ ...,
+ [[ ue-CategoryDL-v1310 ENUMERATED {m1} OPTIONAL,
+ ce-ModeA-r13 ENUMERATED {true} OPTIONAL,
+ ce-ModeB-r13 ENUMERATED {true} OPTIONAL
+ ]],
+ [[ wakeUpSignal-r15 ENUMERATED {true} OPTIONAL,
+ wakeUpSignal-TDD-r15 ENUMERATED {true} OPTIONAL,
+ wakeUpSignalMinGap-eDRX-r15 ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL,
+ wakeUpSignalMinGap-eDRX-TDD-r15 ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL
+ ]],
+ [[ ue-CategoryDL-v1610 ENUMERATED {m2} OPTIONAL,
+ groupWakeUpSignal-r16 ENUMERATED {true} OPTIONAL,
+ groupWakeUpSignalTDD-r16 ENUMERATED {true} OPTIONAL,
+ groupWakeUpSignalAlternation-r16 ENUMERATED {true} OPTIONAL,
+ groupWakeUpSignalAlternationTDD-r16 ENUMERATED {true} OPTIONAL
+ ]],
+ [[
+ inactiveStatePO-Determination-r17 ENUMERATED {true} OPTIONAL
+ ]]
+}
+
+
+UE-TimersAndConstants ::= SEQUENCE {
+ t300 ENUMERATED {
+ ms100, ms200, ms300, ms400, ms600, ms1000, ms1500,
+ ms2000},
+ t301 ENUMERATED {
+ ms100, ms200, ms300, ms400, ms600, ms1000, ms1500,
+ ms2000},
+ t310 ENUMERATED {
+ ms0, ms50, ms100, ms200, ms500, ms1000, ms2000},
+ n310 ENUMERATED {
+ n1, n2, n3, n4, n6, n8, n10, n20},
+ t311 ENUMERATED {
+ ms1000, ms3000, ms5000, ms10000, ms15000,
+ ms20000, ms30000},
+ n311 ENUMERATED {
+ n1, n2, n3, n4, n5, n6, n8, n10},
+ ...,
+ [[ t300-v1310 ENUMERATED {
+ ms2500, ms3000, ms3500, ms4000, ms5000, ms6000, ms8000,
+ ms10000} OPTIONAL, -- Need OR
+ t301-v1310 ENUMERATED {
+ ms2500, ms3000, ms3500, ms4000, ms5000, ms6000, ms8000,
+ ms10000} OPTIONAL -- Need OR
+ ]],
+ [[ t310-v1330 ENUMERATED {ms4000, ms6000}
+ OPTIONAL -- Need OR
+ ]],
+ [[ t300-r15 ENUMERATED {ms4000, ms6000, ms8000, ms10000, ms15000,
+ ms25000, ms40000, ms60000} OPTIONAL -- Cond EDTorPUR
+ ]]
+}
+
+
+VisitedCellInfoList-r12 ::= SEQUENCE (SIZE (1..maxCellHistory-r12)) OF VisitedCellInfo-r12
+
+VisitedCellInfo-r12 ::= SEQUENCE {
+ visitedCellId-r12 CHOICE {
+ cellGlobalId-r12 CellGlobalIdEUTRA,
+ pci-arfcn-r12 SEQUENCE {
+ physCellId-r12 PhysCellId,
+ carrierFreq-r12 ARFCN-ValueEUTRA-r9
+ }
+ } OPTIONAL,
+ timeSpent-r12 INTEGER (0..4095),
+ ...
+}
+
+
+WLAN-OffloadConfig-r12 ::= SEQUENCE {
+ thresholdRSRP-r12 SEQUENCE {
+ thresholdRSRP-Low-r12 RSRP-Range,
+ thresholdRSRP-High-r12 RSRP-Range
+ } OPTIONAL, -- Need OR
+ thresholdRSRQ-r12 SEQUENCE {
+ thresholdRSRQ-Low-r12 RSRQ-Range,
+ thresholdRSRQ-High-r12 RSRQ-Range
+ } OPTIONAL, -- Need OR
+ thresholdRSRQ-OnAllSymbolsWithWB-r12 SEQUENCE {
+ thresholdRSRQ-OnAllSymbolsWithWB-Low-r12 RSRQ-Range,
+ thresholdRSRQ-OnAllSymbolsWithWB-High-r12 RSRQ-Range
+ } OPTIONAL, -- Need OP
+ thresholdRSRQ-OnAllSymbols-r12 SEQUENCE {
+ thresholdRSRQ-OnAllSymbolsLow-r12 RSRQ-Range,
+ thresholdRSRQ-OnAllSymbolsHigh-r12 RSRQ-Range
+ } OPTIONAL, -- Need OP
+ thresholdRSRQ-WB-r12 SEQUENCE {
+ thresholdRSRQ-WB-Low-r12 RSRQ-Range,
+ thresholdRSRQ-WB-High-r12 RSRQ-Range
+ } OPTIONAL, -- Need OP
+
+ thresholdChannelUtilization-r12 SEQUENCE {
+ thresholdChannelUtilizationLow-r12 INTEGER (0..255),
+ thresholdChannelUtilizationHigh-r12 INTEGER (0..255)
+ } OPTIONAL, -- Need OR
+ thresholdBackhaul-Bandwidth-r12 SEQUENCE {
+ thresholdBackhaulDL-BandwidthLow-r12 WLAN-backhaulRate-r12,
+ thresholdBackhaulDL-BandwidthHigh-r12 WLAN-backhaulRate-r12,
+ thresholdBackhaulUL-BandwidthLow-r12 WLAN-backhaulRate-r12,
+ thresholdBackhaulUL-BandwidthHigh-r12 WLAN-backhaulRate-r12
+ } OPTIONAL, -- Need OR
+ thresholdWLAN-RSSI-r12 SEQUENCE {
+ thresholdWLAN-RSSI-Low-r12 INTEGER (0..255),
+ thresholdWLAN-RSSI-High-r12 INTEGER (0..255)
+ } OPTIONAL, -- Need OR
+ offloadPreferenceIndicator-r12 BIT STRING (SIZE (16)) OPTIONAL, -- Need OR
+ t-SteeringWLAN-r12 T-Reselection OPTIONAL, -- Need OR
+ ...
+}
+
+WLAN-backhaulRate-r12 ::= ENUMERATED
+ {r0, r4, r8, r16, r32, r64, r128, r256, r512,
+ r1024, r2048, r4096, r8192, r16384, r32768, r65536, r131072,
+ r262144, r524288, r1048576, r2097152, r4194304, r8388608,
+ r16777216, r33554432, r67108864, r134217728, r268435456,
+ r536870912, r1073741824, r2147483648, r4294967296}
+
+
+MBMS-NotificationConfig-r9 ::= SEQUENCE {
+ notificationRepetitionCoeff-r9 ENUMERATED {n2, n4},
+ notificationOffset-r9 INTEGER (0..10),
+ notificationSF-Index-r9 INTEGER (1..6)
+}
+
+MBMS-NotificationConfig-v1430 ::= SEQUENCE {
+ notificationSF-Index-v1430 INTEGER (7..10)
+}
+
+
+MBMS-ServiceList-r13 ::= SEQUENCE (SIZE (0..maxMBMS-ServiceListPerUE-r13)) OF MBMS-ServiceInfo-r13
+
+MBMS-ServiceInfo-r13 ::= SEQUENCE {
+ tmgi-r13 TMGI-r9
+}
+
+
+MBSFN-AreaId-r12 ::= INTEGER (0..255)
+
+
+MBSFN-AreaInfoList-r9 ::= SEQUENCE (SIZE(1..maxMBSFN-Area)) OF MBSFN-AreaInfo-r9
+
+MBSFN-AreaInfo-r9 ::= SEQUENCE {
+ mbsfn-AreaId-r9 MBSFN-AreaId-r12,
+ non-MBSFNregionLength ENUMERATED {s1, s2},
+ notificationIndicator-r9 INTEGER (0..7),
+ mcch-Config-r9 SEQUENCE {
+ mcch-RepetitionPeriod-r9 ENUMERATED {rf32, rf64, rf128, rf256},
+ mcch-Offset-r9 INTEGER (0..10),
+ mcch-ModificationPeriod-r9 ENUMERATED {rf512, rf1024},
+ sf-AllocInfo-r9 BIT STRING (SIZE(6)),
+ signallingMCS-r9 ENUMERATED {n2, n7, n13, n19}
+ },
+ ...,
+ [[ mcch-Config-r14 SEQUENCE {
+ mcch-RepetitionPeriod-v1430 ENUMERATED {rf1, rf2, rf4, rf8,
+ rf16 } OPTIONAL, -- Need OR
+ mcch-ModificationPeriod-v1430 ENUMERATED {rf1, rf2, rf4, rf8, rf16, rf32, rf64, rf128,
+ rf256, spare7} OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ subcarrierSpacingMBMS-r14 ENUMERATED {kHz7dot5, kHz1dot25} OPTIONAL -- Need OR
+ ]]
+}
+
+MBSFN-AreaInfoList-r16 ::= SEQUENCE (SIZE(1..maxMBSFN-Area)) OF MBSFN-AreaInfo-r16
+
+MBSFN-AreaInfo-r16 ::= SEQUENCE {
+ mbsfn-AreaId-r16 MBSFN-AreaId-r12,
+ notificationIndicator-r16 INTEGER (0..7),
+ mcch-Config-r16 SEQUENCE {
+ mcch-RepetitionPeriod-r16 ENUMERATED {rf1, rf2, rf4, rf8, rf16, rf32, rf64,
+ rf128, rf256, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1},
+ mcch-ModificationPeriod-r16 ENUMERATED {rf1, rf2, rf4, rf8, rf16, rf32, rf64, rf128,
+ rf256, rf512, rf1024, spare5, spare4,
+ spare3,spare2, spare1},
+ mcch-Offset-r16 INTEGER (0..10),
+ sf-AllocInfo-r16 BIT STRING (SIZE(10)),
+ signallingMCS-r16 ENUMERATED {n2, n7, n13, n19}
+ },
+ subcarrierSpacingMBMS-r16 ENUMERATED {kHz7dot5, kHz2dot5, kHz1dot25, kHz0dot37,
+ kHz15-v1710, spare3, spare2, spare1},
+ timeSeparation-r16 ENUMERATED {sl2, sl4} OPTIONAL, -- Need OR
+ ...
+}
+
+MBSFN-AreaInfoList-r17 ::= SEQUENCE (SIZE(1..maxMBSFN-Area)) OF MBSFN-AreaInfo-r17
+
+MBSFN-AreaInfo-r17 ::= SEQUENCE {
+ mbsfn-AreaInfo-r17 MBSFN-AreaInfo-r16,
+ pmch-Bandwidth-r17 ENUMERATED {n40, n35, n30, spare1},
+ ...
+}
+
+
+MBSFN-SubframeConfig ::= SEQUENCE {
+ radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},
+ radioframeAllocationOffset INTEGER (0..7),
+ subframeAllocation CHOICE {
+ oneFrame BIT STRING (SIZE(6)),
+ fourFrames BIT STRING (SIZE(24))
+ }
+}
+
+MBSFN-SubframeConfig-v1430 ::= SEQUENCE {
+ subframeAllocation-v1430 CHOICE {
+ oneFrame-v1430 BIT STRING (SIZE(2)),
+ fourFrames-v1430 BIT STRING (SIZE(8))
+ }
+}
+
+MBSFN-SubframeConfig-v1610 ::= SEQUENCE {
+ subframeAllocation-v1610 CHOICE {
+ oneFrame-v1610 BIT STRING (SIZE(2)),
+ fourFrames-v1610 BIT STRING (SIZE(8))
+ }
+}
+
+
+PMCH-InfoList-r9 ::= SEQUENCE (SIZE (0..maxPMCH-PerMBSFN)) OF PMCH-Info-r9
+
+PMCH-InfoListExt-r12 ::= SEQUENCE (SIZE (0..maxPMCH-PerMBSFN)) OF PMCH-InfoExt-r12
+
+PMCH-Info-r9 ::= SEQUENCE {
+ pmch-Config-r9 PMCH-Config-r9,
+ mbms-SessionInfoList-r9 MBMS-SessionInfoList-r9,
+ ...
+}
+
+PMCH-InfoExt-r12 ::= SEQUENCE {
+ pmch-Config-r12 PMCH-Config-r12,
+ mbms-SessionInfoList-r12 MBMS-SessionInfoList-r9,
+ ...
+}
+
+MBMS-SessionInfoList-r9 ::= SEQUENCE (SIZE (0..maxSessionPerPMCH)) OF MBMS-SessionInfo-r9
+
+MBMS-SessionInfo-r9 ::= SEQUENCE {
+ tmgi-r9 TMGI-r9,
+ sessionId-r9 OCTET STRING (SIZE (1)) OPTIONAL, -- Need OR
+ logicalChannelIdentity-r9 INTEGER (0..maxSessionPerPMCH-1),
+ ...
+}
+
+PMCH-Config-r9 ::= SEQUENCE {
+ sf-AllocEnd-r9 INTEGER (0..1535),
+ dataMCS-r9 INTEGER (0..28),
+ mch-SchedulingPeriod-r9 ENUMERATED {
+ rf8, rf16, rf32, rf64, rf128, rf256, rf512, rf1024},
+ ...
+}
+
+PMCH-Config-r12 ::= SEQUENCE {
+ sf-AllocEnd-r12 INTEGER (0..1535),
+ dataMCS-r12 CHOICE {
+ normal-r12 INTEGER (0..28),
+ higerOrder-r12 INTEGER (0..27)
+ },
+ mch-SchedulingPeriod-r12 ENUMERATED {
+ rf4, rf8, rf16, rf32, rf64, rf128, rf256, rf512, rf1024},
+ ...,
+ [[ mch-SchedulingPeriod-v1430 ENUMERATED {rf1, rf2} OPTIONAL -- Need OR
+ ]]
+}
+
+TMGI-r9 ::= SEQUENCE {
+ plmn-Id-r9 CHOICE {
+ plmn-Index-r9 INTEGER (1..maxPLMN-r11),
+ explicitValue-r9 PLMN-Identity
+ },
+ serviceId-r9 OCTET STRING (SIZE (3))
+}
+
+
+SC-MTCH-InfoList-r13 ::= SEQUENCE (SIZE (0..maxSC-MTCH-r13)) OF SC-MTCH-Info-r13
+
+SC-MTCH-Info-r13 ::= SEQUENCE {
+ mbmsSessionInfo-r13 MBMSSessionInfo-r13,
+ g-RNTI-r13 BIT STRING(SIZE(16)),
+ sc-mtch-schedulingInfo-r13 SC-MTCH-SchedulingInfo-r13 OPTIONAL, -- Need OP
+ sc-mtch-neighbourCell-r13 BIT STRING (SIZE(maxNeighCell-SCPTM-r13)) OPTIONAL, -- Need OP
+ ...,
+ [[ p-a-r13 ENUMERATED {
+ dB-6, dB-4dot77, dB-3, dB-1dot77,
+ dB0, dB1, dB2, dB3} OPTIONAL -- Need ON
+ ]]
+}
+
+MBMSSessionInfo-r13 ::= SEQUENCE {
+ tmgi-r13 TMGI-r9,
+ sessionId-r13 OCTET STRING (SIZE (1)) OPTIONAL -- Need OR
+}
+
+SC-MTCH-SchedulingInfo-r13::= SEQUENCE {
+ onDurationTimerSCPTM-r13 ENUMERATED {
+ psf1, psf2, psf3, psf4, psf5, psf6,
+ psf8, psf10, psf20, psf30, psf40,
+ psf50, psf60, psf80, psf100,
+ psf200},
+ drx-InactivityTimerSCPTM-r13 ENUMERATED {
+ psf0, psf1, psf2, psf4, psf8,
+ psf10, psf20, psf40,
+ psf80, psf160, ps320,
+ psf640, psf960,
+ psf1280, psf1920, psf2560},
+ schedulingPeriodStartOffsetSCPTM-r13 CHOICE {
+ sf10 INTEGER(0..9),
+ sf20 INTEGER(0..19),
+ sf32 INTEGER(0..31),
+ sf40 INTEGER(0..39),
+ sf64 INTEGER(0..63),
+ sf80 INTEGER(0..79),
+ sf128 INTEGER(0..127),
+ sf160 INTEGER(0..159),
+ sf256 INTEGER(0..255),
+ sf320 INTEGER(0..319),
+ sf512 INTEGER(0..511),
+ sf640 INTEGER(0..639),
+ sf1024 INTEGER(0..1023),
+ sf2048 INTEGER(0..2048),
+ sf4096 INTEGER(0..4096),
+ sf8192 INTEGER(0..8192)
+ },
+ ...
+}
+
+
+SC-MTCH-InfoList-BR-r14 ::= SEQUENCE (SIZE (0..maxSC-MTCH-BR-r14)) OF SC-MTCH-Info-BR-r14
+
+SC-MTCH-Info-BR-r14 ::= SEQUENCE {
+ sc-mtch-CarrierFreq-r14 ARFCN-ValueEUTRA-r9,
+ mbmsSessionInfo-r14 MBMSSessionInfo-r13,
+ g-RNTI-r14 BIT STRING(SIZE(16)),
+ sc-mtch-schedulingInfo-r14 SC-MTCH-SchedulingInfo-BR-r14 OPTIONAL, -- Need OP
+ sc-mtch-neighbourCell-r14 BIT STRING (SIZE(maxNeighCell-SCPTM-r13)) OPTIONAL, -- Need OP
+ mpdcch-Narrowband-SC-MTCH-r14 INTEGER (1.. maxAvailNarrowBands-r13),
+ mpdcch-NumRepetition-SC-MTCH-r14 ENUMERATED {r1, r2, r4, r8, r16,
+ r32, r64, r128, r256},
+ mpdcch-StartSF-SC-MTCH-r14 CHOICE {
+ fdd-r14 ENUMERATED {v1, v1dot5, v2, v2dot5, v4,
+ v5, v8, v10},
+ tdd-r14 ENUMERATED {v1, v2, v4, v5, v8, v10,
+ v20}
+ },
+ mpdcch-PDSCH-HoppingConfig-SC-MTCH-r14 ENUMERATED {on, off},
+ mpdcch-PDSCH-CEmodeConfig-SC-MTCH-r14 ENUMERATED {ce-ModeA, ce-ModeB},
+ mpdcch-PDSCH-MaxBandwidth-SC-MTCH-r14 ENUMERATED {bw1dot4, bw5},
+ mpdcch-Offset-SC-MTCH-r14 ENUMERATED {zero, oneEighth, oneQuarter,
+ threeEighth, oneHalf, fiveEighth,
+ threeQuarter, sevenEighth},
+
+ p-a-r14 ENUMERATED { dB-6, dB-4dot77, dB-3,
+ dB-1dot77, dB0, dB1, dB2,
+ dB3} OPTIONAL,-- Need OR
+ ...
+}
+
+SC-MTCH-SchedulingInfo-BR-r14::= SEQUENCE {
+ onDurationTimerSCPTM-r14 ENUMERATED {
+ psf300, psf400, psf500, psf600,
+ psf800, psf1000, psf1200, psf1600},
+ drx-InactivityTimerSCPTM-r14 ENUMERATED {
+ psf0, psf1, psf2, psf4, psf8, psf16,
+ psf32, psf64, psf128, psf256, ps512,
+ psf1024, psf2048, psf4096, psf8192, psf16384},
+ schedulingPeriodStartOffsetSCPTM-r14 CHOICE {
+ sf10 INTEGER(0..9),
+ sf20 INTEGER(0..19),
+ sf32 INTEGER(0..31),
+ sf40 INTEGER(0..39),
+ sf64 INTEGER(0..63),
+ sf80 INTEGER(0..79),
+ sf128 INTEGER(0..127),
+ sf160 INTEGER(0..159),
+ sf256 INTEGER(0..255),
+ sf320 INTEGER(0..319),
+ sf512 INTEGER(0..511),
+ sf640 INTEGER(0..639),
+ sf1024 INTEGER(0..1023),
+ sf2048 INTEGER(0..2047),
+ sf4096 INTEGER(0..4095),
+ sf8192 INTEGER(0..8191)
+ },
+ ...
+}
+
+
+SCPTM-NeighbourCellList-r13 ::= SEQUENCE (SIZE (1..maxNeighCell-SCPTM-r13)) OF PCI-ARFCN-r13
+
+PCI-ARFCN-r13 ::= SEQUENCE {
+ physCellId-r13 PhysCellId,
+ carrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL
+}
+
+
+SL-AnchorCarrierFreqList-V2X-r14 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF ARFCN-ValueEUTRA-r9
+
+
+SL-CBR-CommonTxConfigList-r14 ::= SEQUENCE {
+ cbr-RangeCommonConfigList-r14 SEQUENCE (SIZE (1..maxSL-V2X-CBRConfig-r14)) OF SL-CBR-Levels-Config-r14,
+ sl-CBR-PSSCH-TxConfigList-r14 SEQUENCE (SIZE (1..maxSL-V2X-TxConfig-r14)) OF SL-CBR-PSSCH-TxConfig-r14
+}
+
+SL-CBR-Levels-Config-r14 ::= SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF SL-CBR-r14
+
+
+SL-CBR-PSSCH-TxConfig-r14 ::= SEQUENCE {
+ cr-Limit-r14 INTEGER(0..10000),
+ tx-Parameters-r14 SL-PSSCH-TxParameters-r14
+}
+
+SL-CBR-r14 ::= INTEGER(0..100)
+
+
+SL-CBR-PPPP-TxConfigList-r14 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxConfigIndex-r14
+
+SL-PPPP-TxConfigIndex-r14 ::= SEQUENCE {
+ priorityThreshold-r14 SL-Priority-r13,
+ defaultTxConfigIndex-r14 INTEGER(0..maxCBR-Level-1-r14),
+ cbr-ConfigIndex-r14 INTEGER(0..maxSL-V2X-CBRConfig-1-r14),
+ tx-ConfigIndexList-r14 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF Tx-ConfigIndex-r14
+}
+
+Tx-ConfigIndex-r14 ::= INTEGER(0..maxSL-V2X-TxConfig-1-r14)
+
+SL-CBR-PPPP-TxConfigList-v1530 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxConfigIndex-v1530
+
+SL-PPPP-TxConfigIndex-v1530 ::= SEQUENCE {
+ mcs-PSSCH-RangeList-r15 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF MCS-PSSCH-Range-r15 OPTIONAL --Need OR
+}
+
+MCS-PSSCH-Range-r15 ::= SEQUENCE{
+ minMCS-PSSCH-r15 INTEGER (0..31),
+ maxMCS-PSSCH-r15 INTEGER (0..31)
+}
+
+SL-CBR-PPPP-TxConfigList-r15 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxConfigIndex-r15
+
+SL-PPPP-TxConfigIndex-r15 ::= SEQUENCE {
+ priorityThreshold-r15 SL-Priority-r13,
+ defaultTxConfigIndex-r15 INTEGER(0..maxCBR-Level-1-r14),
+ cbr-ConfigIndex-r15 INTEGER(0..maxSL-V2X-CBRConfig-1-r14),
+ tx-ConfigIndexList-r15 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF Tx-ConfigIndex-r14,
+ mcs-PSSCH-RangeList-r15 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF MCS-PSSCH-Range-r15
+}
+
+
+SL-CommConfig-r12 ::= SEQUENCE {
+ commTxResources-r12 CHOICE {
+ release NULL,
+ setup CHOICE {
+ scheduled-r12 SEQUENCE {
+ sl-RNTI-r12 C-RNTI,
+ mac-MainConfig-r12 MAC-MainConfigSL-r12,
+ sc-CommTxConfig-r12 SL-CommResourcePool-r12,
+ mcs-r12 INTEGER (0..28) OPTIONAL -- Need OP
+ },
+ ue-Selected-r12 SEQUENCE {
+ -- Pool for normal usage
+ commTxPoolNormalDedicated-r12 SEQUENCE {
+ poolToReleaseList-r12 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON
+ poolToAddModList-r12 SL-CommTxPoolToAddModList-r12 OPTIONAL -- Need ON
+ }
+ }
+ }
+ } OPTIONAL, -- Need ON
+ ...,
+ [[ commTxResources-v1310 CHOICE {
+ release NULL,
+ setup CHOICE {
+ scheduled-v1310 SEQUENCE {
+ logicalChGroupInfoList-r13 LogicalChGroupInfoList-r13,
+ multipleTx-r13 BOOLEAN
+ },
+ ue-Selected-v1310 SEQUENCE {
+ commTxPoolNormalDedicatedExt-r13 SEQUENCE {
+ poolToReleaseListExt-r13 SL-TxPoolToReleaseListExt-r13 OPTIONAL, -- Need ON
+ poolToAddModListExt-r13 SL-CommTxPoolToAddModListExt-r13 OPTIONAL -- Need ON
+ }
+ }
+ }
+ } OPTIONAL, -- Need ON
+ commTxAllowRelayDedicated-r13 BOOLEAN OPTIONAL -- Need ON
+ ]]
+}
+
+LogicalChGroupInfoList-r13 ::= SEQUENCE (SIZE (1..maxLCG-r13)) OF SL-PriorityList-r13
+
+SL-CommTxPoolToAddModList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-CommTxPoolToAddMod-r12
+
+SL-CommTxPoolToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-TxPool-v1310)) OF SL-CommTxPoolToAddModExt-r13
+
+SL-CommTxPoolToAddMod-r12 ::= SEQUENCE {
+ poolIdentity-r12 SL-TxPoolIdentity-r12,
+ pool-r12 SL-CommResourcePool-r12
+}
+
+SL-CommTxPoolToAddModExt-r13 ::= SEQUENCE {
+ poolIdentity-v1310 SL-TxPoolIdentity-v1310,
+ pool-r13 SL-CommResourcePool-r12
+}
+
+MAC-MainConfigSL-r12 ::= SEQUENCE {
+ periodic-BSR-TimerSL PeriodicBSR-Timer-r12 OPTIONAL, -- Need ON
+ retx-BSR-TimerSL RetxBSR-Timer-r12
+}
+
+
+SL-CommTxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-CommResourcePool-r12
+
+SL-CommTxPoolListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-TxPool-v1310)) OF SL-CommResourcePool-r12
+
+SL-CommTxPoolListV2X-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-TxPool-r14)) OF SL-CommResourcePoolV2X-r14
+
+SL-CommRxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-RxPool-r12)) OF SL-CommResourcePool-r12
+
+SL-CommRxPoolListV2X-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-RxPool-r14)) OF SL-CommResourcePoolV2X-r14
+
+SL-CommResourcePool-r12 ::= SEQUENCE {
+ sc-CP-Len-r12 SL-CP-Len-r12,
+ sc-Period-r12 SL-PeriodComm-r12,
+ sc-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12,
+ data-CP-Len-r12 SL-CP-Len-r12,
+ dataHoppingConfig-r12 SL-HoppingConfigComm-r12,
+ ue-SelectedResourceConfig-r12 SEQUENCE {
+ data-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12,
+ trpt-Subset-r12 SL-TRPT-Subset-r12 OPTIONAL -- Need OP
+ } OPTIONAL, -- Need OR
+ rxParametersNCell-r12 SEQUENCE {
+ tdd-Config-r12 TDD-Config OPTIONAL, -- Need OP
+ syncConfigIndex-r12 INTEGER (0..15)
+ } OPTIONAL, -- Need OR
+ txParameters-r12 SEQUENCE {
+ sc-TxParameters-r12 SL-TxParameters-r12,
+ dataTxParameters-r12 SL-TxParameters-r12
+ } OPTIONAL, -- Cond Tx
+ ...,
+ [[ priorityList-r13 SL-PriorityList-r13 OPTIONAL -- Cond Tx
+ ]]
+
+}
+
+SL-CommResourcePoolV2X-r14 ::= SEQUENCE {
+ sl-OffsetIndicator-r14 SL-OffsetIndicator-r12 OPTIONAL, -- Need OR
+ sl-Subframe-r14 SubframeBitmapSL-r14,
+ adjacencyPSCCH-PSSCH-r14 BOOLEAN,
+ sizeSubchannel-r14 ENUMERATED {
+ n4, n5, n6, n8, n9, n10, n12, n15, n16, n18, n20, n25, n30,
+ n48, n50, n72, n75, n96, n100, spare13, spare12, spare11,
+ spare10, spare9, spare8, spare7, spare6, spare5, spare4,
+ spare3, spare2, spare1},
+ numSubchannel-r14 ENUMERATED {n1, n3, n5, n8, n10, n15, n20, spare1},
+ startRB-Subchannel-r14 INTEGER (0..99),
+ startRB-PSCCH-Pool-r14 INTEGER (0..99) OPTIONAL, -- Need OR
+ rxParametersNCell-r14 SEQUENCE {
+ tdd-Config-r14 TDD-Config OPTIONAL, -- Need OP
+ syncConfigIndex-r14 INTEGER (0..15)
+ } OPTIONAL, -- Need OR
+ dataTxParameters-r14 SL-TxParameters-r12 OPTIONAL, -- Cond Tx
+ zoneID-r14 INTEGER (0..7) OPTIONAL, -- Need OR
+ threshS-RSSI-CBR-r14 INTEGER (0..45) OPTIONAL, -- Need OR
+ poolReportId-r14 SL-V2X-TxPoolReportIdentity-r14 OPTIONAL, -- Need OR
+ cbr-pssch-TxConfigList-r14 SL-CBR-PPPP-TxConfigList-r14 OPTIONAL, -- Need OR
+ resourceSelectionConfigP2X-r14 SL-P2X-ResourceSelectionConfig-r14 OPTIONAL, -- Cond P2X
+ syncAllowed-r14 SL-SyncAllowed-r14 OPTIONAL, -- Need OR
+ restrictResourceReservationPeriod-r14 SL-RestrictResourceReservationPeriodList-r14 OPTIONAL, -- Need OR
+ ...,
+ [[ sl-MinT2ValueList-r15 SL-MinT2ValueList-r15 OPTIONAL, -- Need OR
+ cbr-pssch-TxConfigList-v1530 SL-CBR-PPPP-TxConfigList-v1530 OPTIONAL -- Need OR
+ ]]
+}
+
+SL-TRPT-Subset-r12 ::= BIT STRING (SIZE (3..5))
+
+SL-V2X-TxPoolReportIdentity-r14::= INTEGER (1..maxSL-PoolToMeasure-r14)
+
+SL-MinT2ValueList-r15 ::= SEQUENCE (SIZE (1..maxSL-Prio-r13)) OF SL-MinT2Value-r15
+
+SL-MinT2Value-r15 ::= SEQUENCE {
+ priorityList-r15 SL-PriorityList-r13,
+ minT2Value-r15 INTEGER (10..20)
+}
+
+
+SL-CommTxPoolSensingConfig-r14 ::= SEQUENCE {
+ pssch-TxConfigList-r14 SL-PSSCH-TxConfigList-r14,
+ thresPSSCH-RSRP-List-r14 SL-ThresPSSCH-RSRP-List-r14,
+ restrictResourceReservationPeriod-r14 SL-RestrictResourceReservationPeriodList-r14 OPTIONAL, -- Need OR
+ probResourceKeep-r14 ENUMERATED {v0, v0dot2, v0dot4, v0dot6, v0dot8,
+ spare3,spare2, spare1},
+ p2x-SensingConfig-r14 SEQUENCE {
+ minNumCandidateSF-r14 INTEGER (1..13),
+ gapCandidateSensing-r14 BIT STRING (SIZE (10))
+ } OPTIONAL, -- Need OR
+ sl-ReselectAfter-r14 ENUMERATED {n1, n2, n3, n4, n5, n6, n7, n8, n9,
+ spare7, spare6, spare5, spare4, spare3, spare2,
+ spare1} OPTIONAL -- Need OR
+}
+
+
+SL-CP-Len-r12 ::= ENUMERATED {normal, extended}
+
+
+SL-DiscConfig-r12 ::= SEQUENCE {
+ discTxResources-r12 CHOICE {
+ release NULL,
+ setup CHOICE {
+ scheduled-r12 SEQUENCE {
+ discTxConfig-r12 SL-DiscResourcePool-r12 OPTIONAL, -- Need ON
+ discTF-IndexList-r12 SL-TF-IndexPairList-r12 OPTIONAL, -- Need ON
+ discHoppingConfig-r12 SL-HoppingConfigDisc-r12
+ OPTIONAL -- Need ON
+ },
+ ue-Selected-r12 SEQUENCE {
+ discTxPoolDedicated-r12 SEQUENCE {
+ poolToReleaseList-r12 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON
+ poolToAddModList-r12 SL-DiscTxPoolToAddModList-r12 OPTIONAL -- Need ON
+ } OPTIONAL -- Need ON
+ }
+ }
+ } OPTIONAL, -- Need ON
+ ...,
+ [[ discTF-IndexList-v1260 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ discTF-IndexList-r12b SL-TF-IndexPairList-r12b
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ discTxResourcesPS-r13 CHOICE {
+ release NULL,
+ setup CHOICE {
+ scheduled-r13 SL-DiscTxConfigScheduled-r13,
+ ue-Selected-r13 SEQUENCE {
+ discTxPoolPS-Dedicated-r13 SL-DiscTxPoolDedicated-r13
+ }
+ }
+ } OPTIONAL, -- Need ON
+ discTxInterFreqInfo-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ discTxCarrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Need OR
+ discTxRefCarrierDedicated-r13 SL-DiscTxRefCarrierDedicated-r13 OPTIONAL, -- Need OR
+ discTxInfoInterFreqListAdd-r13 SL-DiscTxInfoInterFreqListAdd-r13 OPTIONAL -- Need ON
+ }
+ } OPTIONAL, -- Need ON
+ gapRequestsAllowedDedicated-r13 BOOLEAN OPTIONAL, -- Need ON
+ discRxGapConfig-r13 CHOICE {
+ release NULL,
+ setup SL-GapConfig-r13
+ } OPTIONAL, -- Need ON
+ discTxGapConfig-r13 CHOICE {
+ release NULL,
+ setup SL-GapConfig-r13
+ } OPTIONAL, -- Need ON
+ discSysInfoToReportConfig-r13 CHOICE {
+ release NULL,
+ setup SL-DiscSysInfoToReportFreqList-r13
+ } OPTIONAL -- Need ON
+ ]]
+}
+
+SL-DiscSysInfoToReportFreqList-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF ARFCN-ValueEUTRA-r9
+
+SL-DiscTxInfoInterFreqListAdd-r13 ::= SEQUENCE {
+ discTxFreqToAddModList-r13 SEQUENCE (SIZE (1..maxFreq)) OF SL-DiscTxResourceInfoPerFreq-r13 OPTIONAL, -- Need ON
+ discTxFreqToReleaseList-r13 SEQUENCE (SIZE (1..maxFreq)) OF ARFCN-ValueEUTRA-r9 OPTIONAL, -- Need ON
+ ...
+}
+
+SL-DiscTxResourceInfoPerFreq-r13 ::= SEQUENCE {
+ discTxCarrierFreq-r13 ARFCN-ValueEUTRA-r9,
+ discTxResources-r13 SL-DiscTxResource-r13 OPTIONAL, -- Need OR
+ discTxResourcesPS-r13 SL-DiscTxResource-r13 OPTIONAL, -- Need OR
+ discTxRefCarrierDedicated-r13 SL-DiscTxRefCarrierDedicated-r13 OPTIONAL, -- Need OR
+ discCellSelectionInfo-r13 CellSelectionInfoNFreq-r13 OPTIONAL, -- Need OR
+ ...
+}
+
+SL-DiscTxResource-r13 ::= CHOICE {
+ release NULL,
+ setup CHOICE {
+ scheduled-r13 SL-DiscTxConfigScheduled-r13,
+ ue-Selected-r13 SL-DiscTxPoolDedicated-r13
+ }
+}
+
+SL-DiscTxPoolToAddModList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-DiscTxPoolToAddMod-r12
+
+SL-DiscTxPoolToAddMod-r12 ::= SEQUENCE {
+ poolIdentity-r12 SL-TxPoolIdentity-r12,
+ pool-r12 SL-DiscResourcePool-r12
+}
+
+SL-DiscTxConfigScheduled-r13 ::= SEQUENCE {
+ discTxConfig-r13 SL-DiscResourcePool-r12 OPTIONAL, -- Need ON
+ discTF-IndexList-r13 SL-TF-IndexPairList-r12b OPTIONAL, -- Need ON
+ discHoppingConfig-r13 SL-HoppingConfigDisc-r12 OPTIONAL,-- Need ON
+ ...
+}
+
+SL-DiscTxPoolDedicated-r13 ::= SEQUENCE {
+ poolToReleaseList-r13 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON
+ poolToAddModList-r13 SL-DiscTxPoolToAddModList-r12 OPTIONAL -- Need ON
+}
+
+SL-TF-IndexPairList-r12 ::= SEQUENCE (SIZE (1..maxSL-TF-IndexPair-r12)) OF SL-TF-IndexPair-r12
+
+SL-TF-IndexPair-r12 ::= SEQUENCE {
+ discSF-Index-r12 INTEGER (1.. 200) OPTIONAL, -- Need ON
+ discPRB-Index-r12 INTEGER (1.. 50) OPTIONAL -- Need ON
+}
+
+SL-TF-IndexPairList-r12b ::= SEQUENCE (SIZE (1..maxSL-TF-IndexPair-r12)) OF SL-TF-IndexPair-r12b
+
+SL-TF-IndexPair-r12b ::= SEQUENCE {
+ discSF-Index-r12b INTEGER (0..209) OPTIONAL, -- Need ON
+ discPRB-Index-r12b INTEGER (0..49) OPTIONAL -- Need ON
+}
+
+SL-DiscTxRefCarrierDedicated-r13 ::= CHOICE {
+ pCell NULL,
+ sCell SCellIndex-r10
+}
+
+
+SL-DiscTxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-DiscResourcePool-r12
+
+SL-DiscRxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-RxPool-r12)) OF SL-DiscResourcePool-r12
+
+SL-DiscResourcePool-r12 ::= SEQUENCE {
+ cp-Len-r12 SL-CP-Len-r12,
+ discPeriod-r12 ENUMERATED {rf32, rf64, rf128,
+ rf256, rf512, rf1024, rf16-v1310, spare},
+ numRetx-r12 INTEGER (0..3),
+ numRepetition-r12 INTEGER (1..50),
+ tf-ResourceConfig-r12 SL-TF-ResourceConfig-r12,
+ txParameters-r12 SEQUENCE {
+ txParametersGeneral-r12 SL-TxParameters-r12,
+ ue-SelectedResourceConfig-r12 SEQUENCE {
+ poolSelection-r12 CHOICE {
+ rsrpBased-r12 SL-PoolSelectionConfig-r12,
+ random-r12 NULL
+ },
+ txProbability-r12 ENUMERATED {p25, p50, p75, p100}
+ } OPTIONAL -- Need OR
+ } OPTIONAL, -- Cond Tx
+ rxParameters-r12 SEQUENCE {
+ tdd-Config-r12 TDD-Config OPTIONAL, -- Need OR
+ syncConfigIndex-r12 INTEGER (0..15)
+ } OPTIONAL, -- Need OR
+ ...,
+ [[ discPeriod-v1310 CHOICE {
+ release NULL,
+ setup ENUMERATED {rf4, rf6, rf7, rf8,
+ rf12, rf14, rf24, rf28}
+ } OPTIONAL, -- Need ON
+ rxParamsAddNeighFreq-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ physCellId-r13 PhysCellIdList-r13
+ }
+ } OPTIONAL, -- Need ON
+ txParamsAddNeighFreq-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ physCellId-r13 PhysCellIdList-r13,
+ p-Max P-Max OPTIONAL, -- Need OP
+ tdd-Config-r13 TDD-Config OPTIONAL, -- Cond TDD-OR
+ tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD-OR
+ freqInfo SEQUENCE {
+ ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL, -- Need OP
+ ul-Bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100}
+ OPTIONAL, -- Need OP
+ additionalSpectrumEmission AdditionalSpectrumEmission
+ },
+ referenceSignalPower INTEGER (-60..50),
+ syncConfigIndex-r13 INTEGER (0..15) OPTIONAL -- Need OR
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ txParamsAddNeighFreq-v1370 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ freqInfo-v1370 SEQUENCE {
+ additionalSpectrumEmission-v1370 AdditionalSpectrumEmission-v10l0
+ }
+ }
+ } OPTIONAL -- Need ON
+ ]]
+}
+
+PhysCellIdList-r13 ::= SEQUENCE (SIZE (1.. maxSL-DiscCells-r13)) OF PhysCellId
+
+SL-PoolSelectionConfig-r12 ::= SEQUENCE {
+ threshLow-r12 RSRP-RangeSL2-r12,
+ threshHigh-r12 RSRP-RangeSL2-r12
+}
+
+
+SL-DiscSysInfoReport-r13 ::= SEQUENCE {
+ plmn-IdentityList-r13 PLMN-IdentityList OPTIONAL,
+ cellIdentity-13 CellIdentity OPTIONAL,
+ carrierFreqInfo-13 ARFCN-ValueEUTRA-r9 OPTIONAL,
+ discRxResources-r13 SL-DiscRxPoolList-r12 OPTIONAL,
+ discTxPoolCommon-r13 SL-DiscTxPoolList-r12 OPTIONAL,
+ discTxPowerInfo-r13 SL-DiscTxPowerInfoList-r12 OPTIONAL,
+ discSyncConfig-r13 SL-SyncConfigNFreq-r13 OPTIONAL,
+ discCellSelectionInfo-r13 SEQUENCE {
+ q-RxLevMin-r13 Q-RxLevMin,
+ q-RxLevMinOffset-r13 INTEGER (1..8) OPTIONAL
+ } OPTIONAL,
+ cellReselectionInfo-r13 SEQUENCE {
+ q-Hyst-r13 ENUMERATED {
+ dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
+ dB12, dB14, dB16, dB18, dB20, dB22, dB24},
+ q-RxLevMin-r13 Q-RxLevMin,
+ t-ReselectionEUTRA-r13 T-Reselection
+ } OPTIONAL,
+ tdd-Config-r13 TDD-Config OPTIONAL,
+ freqInfo-r13 SEQUENCE {
+ ul-CarrierFreq-r13 ARFCN-ValueEUTRA OPTIONAL,
+ ul-Bandwidth-r13 ENUMERATED {n6, n15, n25, n50, n75, n100}
+ OPTIONAL,
+ additionalSpectrumEmission-r13 AdditionalSpectrumEmission OPTIONAL
+ } OPTIONAL,
+ p-Max-r13 P-Max OPTIONAL,
+ referenceSignalPower-r13 INTEGER (-60..50) OPTIONAL,
+ ...,
+ [[
+ freqInfo-v1370 SEQUENCE {
+ additionalSpectrumEmission-v1370 AdditionalSpectrumEmission-v10l0
+ } OPTIONAL
+ ]]
+}
+
+
+SL-DiscTxPowerInfoList-r12 ::= SEQUENCE (SIZE (maxSL-DiscPowerClass-r12)) OF SL-DiscTxPowerInfo-r12
+
+SL-DiscTxPowerInfo-r12 ::= SEQUENCE {
+ discMaxTxPower-r12 P-Max,
+ ...
+}
+
+
+SL-GapConfig-r13 ::= SEQUENCE {
+ gapPatternList-r13 SL-GapPatternList-r13
+}
+
+SL-GapPatternList-r13 ::= SEQUENCE (SIZE (1..maxSL-GP-r13)) OF SL-GapPattern-r13
+
+SL-GapPattern-r13 ::= SEQUENCE {
+ gapPeriod-r13 ENUMERATED {sf40, sf60, sf70, sf80, sf120, sf140, sf160,
+ sf240, sf280, sf320, sf640, sf1280, sf2560, sf5120,
+ sf10240},
+ gapOffset-r12 SL-OffsetIndicator-r12,
+ gapSubframeBitmap-r13 BIT STRING (SIZE (1..10240)),
+ ...
+}
+
+
+SL-GapRequest-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-GapFreqInfo-r13
+
+SL-GapFreqInfo-r13 ::= SEQUENCE {
+ carrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL,
+ gapPatternList-r13 SL-GapPatternList-r13
+}
+
+
+SL-HoppingConfigComm-r12 ::= SEQUENCE {
+ hoppingParameter-r12 INTEGER (0..504),
+ numSubbands-r12 ENUMERATED {ns1, ns2, ns4},
+ rb-Offset-r12 INTEGER (0..110)
+}
+
+SL-HoppingConfigDisc-r12 ::= SEQUENCE {
+ a-r12 INTEGER (1..200),
+ b-r12 INTEGER (1..10),
+ c-r12 ENUMERATED {n1, n5}
+}
+
+
+SL-InterFreqInfoListV2X-r14 ::= SEQUENCE (SIZE (0..maxFreqV2X-1-r14)) OF SL-InterFreqInfoV2X-r14
+
+SL-InterFreqInfoV2X-r14 ::= SEQUENCE {
+ plmn-IdentityList-r14 PLMN-IdentityList OPTIONAL, -- Need OP
+ v2x-CommCarrierFreq-r14 ARFCN-ValueEUTRA-r9,
+ sl-MaxTxPower-r14 P-Max OPTIONAL, -- Need OR
+ sl-Bandwidth-r14 ENUMERATED {n6, n15, n25, n50, n75, n100} OPTIONAL, -- Need OR
+ v2x-SchedulingPool-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need OR
+ v2x-UE-ConfigList-r14 SL-V2X-UE-ConfigList-r14 OPTIONAL, -- Need OR
+ ...,
+ [[ additionalSpectrumEmissionV2X-r14 CHOICE {
+ additionalSpectrumEmission-r14 AdditionalSpectrumEmission,
+ additionalSpectrumEmission-v1440 AdditionalSpectrumEmission-v10l0
+ } OPTIONAL -- Need ON
+ ]],
+ [[ v2x-FreqSelectionConfigList-r15 SL-V2X-FreqSelectionConfigList-r15 OPTIONAL --Need OR
+ ]]
+}
+
+
+SL-NR-AnchorCarrierFreqList-r16 ::= SEQUENCE (SIZE (1..maxFreqSL-NR-r16)) OF ARFCN-ValueNR-r15
+
+
+SL-V2X-UE-ConfigList-r14 ::= SEQUENCE (SIZE (1.. maxCellIntra)) OF SL-V2X-InterFreqUE-Config-r14
+
+SL-V2X-InterFreqUE-Config-r14 ::= SEQUENCE {
+ physCellIdList-r14 PhysCellIdList-r13 OPTIONAL, -- Need OR
+ typeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL, -- Need OR
+ v2x-SyncConfig-r14 SL-SyncConfigListNFreqV2X-r14 OPTIONAL, -- Need OR
+ v2x-CommRxPool-r14 SL-CommRxPoolListV2X-r14 OPTIONAL, -- Need OR
+ v2x-CommTxPoolNormal-r14 SL-CommTxPoolListV2X-r14 OPTIONAL, -- Need OR
+ p2x-CommTxPoolNormal-r14 SL-CommTxPoolListV2X-r14 OPTIONAL, -- Need OR
+ v2x-CommTxPoolExceptional-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need OR
+ v2x-ResourceSelectionConfig-r14 SL-CommTxPoolSensingConfig-r14 OPTIONAL, -- Need OR
+ zoneConfig-r14 SL-ZoneConfig-r14 OPTIONAL, -- Need OR
+ offsetDFN-r14 INTEGER (0..1000) OPTIONAL, -- Need OR
+ ...
+}
+
+
+SL-OffsetIndicator-r12 ::= CHOICE {
+ small-r12 INTEGER (0..319),
+ large-r12 INTEGER (0..10239)
+}
+
+SL-OffsetIndicatorSync-r12 ::= INTEGER (0..39)
+
+SL-OffsetIndicatorSync-v1430 ::= INTEGER (40..159)
+
+SL-OffsetIndicatorSync-r14 ::= INTEGER (0..159)
+
+
+SL-P2X-ResourceSelectionConfig-r14 ::= SEQUENCE {
+ partialSensing-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ randomSelection-r14 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+
+SL-PeriodComm-r12 ::= ENUMERATED {sf40, sf60, sf70, sf80, sf120, sf140,
+ sf160, sf240, sf280, sf320, spare6, spare5,
+ spare4, spare3, spare2, spare}
+
+
+SL-PriorityList-r13 ::= SEQUENCE (SIZE (1..maxSL-Prio-r13)) OF SL-Priority-r13
+
+SL-Priority-r13 ::= INTEGER (1..8)
+
+
+SL-PSSCH-TxConfigList-r14 ::= SEQUENCE (SIZE (1..maxPSSCH-TxConfig-r14)) OF SL-PSSCH-TxConfig-r14
+
+SL-PSSCH-TxConfig-r14 ::= SEQUENCE {
+ typeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL, -- Need OR
+ thresUE-Speed-r14 ENUMERATED {kmph60, kmph80, kmph100, kmph120,
+ kmph140, kmph160, kmph180, kmph200},
+ parametersAboveThres-r14 SL-PSSCH-TxParameters-r14,
+ parametersBelowThres-r14 SL-PSSCH-TxParameters-r14,
+ ...,
+ [[ parametersAboveThres-v1530 SL-PSSCH-TxParameters-v1530 OPTIONAL, -- Need OR
+ parametersBelowThres-v1530 SL-PSSCH-TxParameters-v1530 OPTIONAL -- Need OR
+ ]]
+}
+
+SL-PSSCH-TxParameters-r14 ::= SEQUENCE {
+ minMCS-PSSCH-r14 INTEGER (0..31),
+ maxMCS-PSSCH-r14 INTEGER (0..31),
+ minSubChannel-NumberPSSCH-r14 INTEGER (1..20),
+ maxSubchannel-NumberPSSCH-r14 INTEGER (1..20),
+ allowedRetxNumberPSSCH-r14 ENUMERATED {n0, n1, both, spare1},
+ maxTxPower-r14 SL-TxPower-r14 OPTIONAL -- Cond CBR
+}
+
+SL-PSSCH-TxParameters-v1530 ::= SEQUENCE {
+ minMCS-PSSCH-r15 INTEGER (0..31),
+ maxMCS-PSSCH-r15 INTEGER (0..31)
+}
+
+
+SL-ReliabilityList-r15 ::= SEQUENCE (SIZE (1..maxSL-Reliability-r15)) OF SL-Reliability-r15
+
+SL-Reliability-r15 ::= INTEGER (1..8)
+
+
+SL-RestrictResourceReservationPeriodList-r14 ::= SEQUENCE (SIZE (1..maxReservationPeriod-r14)) OF SL-RestrictResourceReservationPeriod-r14
+
+SL-RestrictResourceReservationPeriod-r14 ::= ENUMERATED {v0dot2, v0dot5, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, spare4,spare3, spare2, spare1}
+
+
+SLSSID-r12 ::= INTEGER (0..167)
+
+
+SL-SyncAllowed-r14 ::= SEQUENCE {
+ gnss-Sync-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ enb-Sync-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ ue-Sync-r14 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+
+SL-SyncConfigList-r12 ::= SEQUENCE (SIZE (1..maxSL-SyncConfig-r12)) OF SL-SyncConfig-r12
+
+SL-SyncConfigListV2X-r14 ::= SEQUENCE (SIZE (1.. maxSL-V2X-SyncConfig-r14)) OF SL-SyncConfig-r12
+
+SL-SyncConfig-r12 ::= SEQUENCE {
+ syncCP-Len-r12 SL-CP-Len-r12,
+ syncOffsetIndicator-r12 SL-OffsetIndicatorSync-r12,
+ slssid-r12 SLSSID-r12,
+ txParameters-r12 SEQUENCE {
+ syncTxParameters-r12 SL-TxParameters-r12,
+ syncTxThreshIC-r12 RSRP-RangeSL-r12,
+ syncInfoReserved-r12 BIT STRING (SIZE (19)) OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ rxParamsNCell-r12 SEQUENCE {
+ physCellId-r12 PhysCellId,
+ discSyncWindow-r12 ENUMERATED {w1, w2}
+ } OPTIONAL, -- Need OR
+ ...,
+ [[ syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ syncOffsetIndicator-v1430 SL-OffsetIndicatorSync-v1430 OPTIONAL, -- Need OR
+ gnss-Sync-r14 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ syncOffsetIndicator2-r14 SL-OffsetIndicatorSync-r14 OPTIONAL, -- Need OR
+ syncOffsetIndicator3-r14 SL-OffsetIndicatorSync-r14 OPTIONAL -- Need OR
+ ]],
+ [[ slss-TxDisabled-r15 ENUMERATED {true} OPTIONAL -- Need OR
+ ]]
+}
+
+SL-SyncConfigListNFreq-r13 ::= SEQUENCE (SIZE (1..maxSL-SyncConfig-r12)) OF SL-SyncConfigNFreq-r13
+
+SL-SyncConfigListNFreqV2X-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-SyncConfig-r14)) OF SL-SyncConfigNFreq-r13
+
+SL-SyncConfigNFreq-r13 ::= SEQUENCE {
+ asyncParameters-r13 SEQUENCE {
+ syncCP-Len-r13 SL-CP-Len-r12,
+ syncOffsetIndicator-r13 SL-OffsetIndicatorSync-r12,
+ slssid-r13 SLSSID-r12
+ } OPTIONAL, -- Need OR
+ txParameters-r13 SEQUENCE {
+ syncTxParameters-r13 SL-TxParameters-r12,
+ syncTxThreshIC-r13 RSRP-RangeSL-r12,
+ syncInfoReserved-r13 BIT STRING (SIZE (19)) OPTIONAL, -- Need OR
+ syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ rxParameters-r13 SEQUENCE {
+ discSyncWindow-r13 ENUMERATED {w1, w2}
+ } OPTIONAL, -- Need OR
+ ...,
+ [[ syncOffsetIndicator-v1430 SL-OffsetIndicatorSync-v1430 OPTIONAL, -- Need OR
+ gnss-Sync-r14 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ syncOffsetIndicator2-r14 SL-OffsetIndicatorSync-r14 OPTIONAL, -- Need OR
+ syncOffsetIndicator3-r14 SL-OffsetIndicatorSync-r14 OPTIONAL -- Need OR
+ ]],
+ [[ slss-TxDisabled-r15 ENUMERATED {true} OPTIONAL -- Need OR
+ ]]
+}
+
+
+SL-TF-ResourceConfig-r12 ::= SEQUENCE {
+ prb-Num-r12 INTEGER (1..100),
+ prb-Start-r12 INTEGER (0..99),
+ prb-End-r12 INTEGER (0..99),
+ offsetIndicator-r12 SL-OffsetIndicator-r12,
+ subframeBitmap-r12 SubframeBitmapSL-r12
+}
+
+SubframeBitmapSL-r12 ::= CHOICE {
+ bs4-r12 BIT STRING (SIZE (4)),
+ bs8-r12 BIT STRING (SIZE (8)),
+ bs12-r12 BIT STRING (SIZE (12)),
+ bs16-r12 BIT STRING (SIZE (16)),
+ bs30-r12 BIT STRING (SIZE (30)),
+ bs40-r12 BIT STRING (SIZE (40)),
+ bs42-r12 BIT STRING (SIZE (42))
+}
+
+SubframeBitmapSL-r14 ::= CHOICE {
+ bs10-r14 BIT STRING (SIZE (10)),
+ bs16-r14 BIT STRING (SIZE (16)),
+ bs20-r14 BIT STRING (SIZE (20)),
+ bs30-r14 BIT STRING (SIZE (30)),
+ bs40-r14 BIT STRING (SIZE (40)),
+ bs50-r14 BIT STRING (SIZE (50)),
+ bs60-r14 BIT STRING (SIZE (60)),
+ bs100-r14 BIT STRING (SIZE (100))
+}
+
+
+SL-TxPower-r14 ::= CHOICE {
+ minusinfinity-r14 NULL,
+ txPower-r14 INTEGER (-41..31)
+}
+
+
+SL-TypeTxSync-r14 ::= ENUMERATED {gnss, enb, ue}
+
+
+SL-ThresPSSCH-RSRP-List-r14 ::= SEQUENCE (SIZE (64)) OF SL-ThresPSSCH-RSRP-r14
+
+SL-ThresPSSCH-RSRP-r14 ::= INTEGER (0..66)
+
+
+SL-TxParameters-r12 ::= SEQUENCE {
+ alpha-r12 Alpha-r12,
+ p0-r12 P0-SL-r12
+}
+
+P0-SL-r12 ::= INTEGER (-126..31)
+
+
+SL-TxPoolIdentity-r12 ::= INTEGER (1.. maxSL-TxPool-r12)
+
+SL-TxPoolIdentity-v1310 ::= INTEGER (maxSL-TxPool-r12Plus1-r13.. maxSL-TxPool-r13)
+
+SL-V2X-TxPoolIdentity-r14 ::= INTEGER (1.. maxSL-V2X-TxPool-r14)
+
+
+SL-TxPoolToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-TxPoolIdentity-r12
+
+SL-TxPoolToReleaseListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-TxPool-v1310)) OF SL-TxPoolIdentity-v1310
+
+
+SL-V2X-ConfigDedicated-r14 ::= SEQUENCE {
+ commTxResources-r14 CHOICE {
+ release NULL,
+ setup CHOICE {
+ scheduled-r14 SEQUENCE {
+ sl-V-RNTI-r14 C-RNTI,
+ mac-MainConfig-r14 MAC-MainConfigSL-r12,
+ v2x-SchedulingPool-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need ON
+ mcs-r14 INTEGER (0..31) OPTIONAL, -- Need OR
+ logicalChGroupInfoList-r14 LogicalChGroupInfoList-r13
+ },
+ ue-Selected-r14 SEQUENCE {
+ -- Pool for normal usage
+ v2x-CommTxPoolNormalDedicated-r14 SEQUENCE {
+ poolToReleaseList-r14 SL-TxPoolToReleaseListV2X-r14 OPTIONAL, -- Need ON
+ poolToAddModList-r14 SL-TxPoolToAddModListV2X-r14 OPTIONAL, -- Need ON
+ v2x-CommTxPoolSensingConfig-r14 SL-CommTxPoolSensingConfig-r14
+ OPTIONAL -- Need ON
+ }
+ }
+ }
+ } OPTIONAL, -- Need ON
+ v2x-InterFreqInfoList-r14 SL-InterFreqInfoListV2X-r14 OPTIONAL, -- Need ON
+ thresSL-TxPrioritization-r14 SL-Priority-r13 OPTIONAL, -- Need OR
+ typeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL, -- Need OR
+ cbr-DedicatedTxConfigList-r14 SL-CBR-CommonTxConfigList-r14 OPTIONAL, -- Need OR
+ ...,
+ [[ commTxResources-v1530 CHOICE {
+ release NULL,
+ setup CHOICE {
+ scheduled-v1530 SEQUENCE {
+ logicalChGroupInfoList-v1530 LogicalChGroupInfoList-v1530 OPTIONAL, -- Need OR
+ mcs-r15 INTEGER (0..31) OPTIONAL -- Need OR
+ },
+ ue-Selected-v1530 SEQUENCE {
+ v2x-FreqSelectionConfigList-r15 SL-V2X-FreqSelectionConfigList-r15 OPTIONAL --Need OR
+ }
+ }
+ } OPTIONAL, -- Need ON
+ v2x-PacketDuplicationConfig-r15 SL-V2X-PacketDuplicationConfig-r15 OPTIONAL, -- Need OR
+ syncFreqList-r15 SL-V2X-SyncFreqList-r15 OPTIONAL, -- Need OR
+ slss-TxMultiFreq-r15 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[
+ slss-TxDisabled-r15 ENUMERATED {true} OPTIONAL -- Need OR
+ ]]
+}
+
+LogicalChGroupInfoList-v1530 ::= SEQUENCE (SIZE (1..maxLCG-r13)) OF SL-ReliabilityList-r15
+
+SL-TxPoolToAddModListV2X-r14 ::= SEQUENCE (SIZE (1.. maxSL-V2X-TxPool-r14)) OF SL-TxPoolToAddMod-r14
+
+SL-TxPoolToAddMod-r14 ::= SEQUENCE {
+ poolIdentity-r14 SL-V2X-TxPoolIdentity-r14,
+ pool-r14 SL-CommResourcePoolV2X-r14
+}
+
+SL-TxPoolToReleaseListV2X-r14 ::= SEQUENCE (SIZE (1.. maxSL-V2X-TxPool-r14)) OF SL-V2X-TxPoolIdentity-r14
+
+
+SL-V2X-FreqSelectionConfigList-r15 ::= SEQUENCE (SIZE (1..8)) OF SL-V2X-FreqSelectionConfig-r15
+
+SL-V2X-FreqSelectionConfig-r15 ::= SEQUENCE {
+ priorityList-r15 SL-PriorityList-r13,
+ threshCBR-FreqReselection-r15 SL-CBR-r14 OPTIONAL, -- Need OR
+ threshCBR-FreqKeeping-r15 SL-CBR-r14 OPTIONAL -- Need OR
+}
+
+
+SL-V2X-PacketDuplicationConfig-r15 ::= SEQUENCE {
+ threshSL-Reliability-r15 SL-Reliability-r15,
+ allowedCarrierFreqConfig-r15 SL-PPPR-Dest-CarrierFreqList-r15 OPTIONAL, -- Need OR
+ ...
+}
+
+SL-PPPR-Dest-CarrierFreqList-r15 ::= SEQUENCE (SIZE (1..maxSL-Dest-r12)) OF SL-PPPR-Dest-CarrierFreq
+
+SL-PPPR-Dest-CarrierFreq ::= SEQUENCE {
+ destinationInfoList-r15 SL-DestinationInfoList-r12 OPTIONAL, -- Need OR
+ allowedCarrierFreqList-r15 SL-AllowedCarrierFreqList-r15 OPTIONAL -- Need OR
+}
+
+SL-AllowedCarrierFreqList-r15 ::= SEQUENCE {
+ allowedCarrierFreqSet1 SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF ARFCN-ValueEUTRA-r9,
+ allowedCarrierFreqSet2 SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF ARFCN-ValueEUTRA-r9
+}
+
+
+SL-V2X-SyncFreqList-r15 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF ARFCN-ValueEUTRA-r9
+
+
+SL-ZoneConfig-r14 ::= SEQUENCE {
+ zoneLength-r14 ENUMERATED { m5, m10, m20, m50, m100, m200, m500, spare1},
+ zoneWidth-r14 ENUMERATED { m5, m10, m20, m50, m100, m200, m500, spare1},
+ zoneIdLongiMod-r14 INTEGER (1..4),
+ zoneIdLatiMod-r14 INTEGER (1..4)
+}
+
+
+maxAccessCat-1-r15 INTEGER ::= 63 -- Maximum number of Access Categories - 1
+maxACDC-Cat-r13 INTEGER ::= 16 -- Maximum number of ACDC categories (per PLMN)
+maxAvailNarrowBands-r13 INTEGER ::= 16 -- Maximum number of narrowbands
+maxAvailNarrowBands-1-r16 INTEGER ::= 15 -- Maximum number of narrowbands minus one
+maxBandComb-r10 INTEGER ::= 128 -- Maximum number of band combinations.
+maxBandComb-r11 INTEGER ::= 256 -- Maximum number of additional band combinations.
+maxBandComb-r13 INTEGER ::= 384 -- Maximum number of band combinations in Rel-13
+maxBandCombSidelinkNR-r16 INTEGER ::= 512 -- Maximum number of NR sidelink band combinations
+maxBands INTEGER ::= 64 -- Maximum number of bands listed in EUTRA UE caps
+maxBandsNR-r15 INTEGER ::= 1024 -- Maximum number of NR bands listed in EUTRA UE caps
+maxBandsENDC-r16 INTEGER ::= 10 -- Maximum number of NR bands from across all the PLMNs
+ -- sharing the serving cell in EN-DC for the forwarding
+ -- of upperLayerIndication.
+maxBandwidthClass-r10 INTEGER ::= 16 -- Maximum number of supported CA BW classes per band
+maxBandwidthCombSet-r10 INTEGER ::= 32 -- Maximum number of bandwidth combination sets per
+ -- supported band combination
+maxBarringInfoSet-r15 INTEGER ::= 8 -- Maximum number of UAC barring information sets
+maxBT-IdReport-r15 INTEGER ::= 32 -- Maximum number of Bluetooth IDs to report
+maxBT-Name-r15 INTEGER ::= 4 -- Maximum number of Bluetooth name
+maxCBR-Level-r14 INTEGER ::= 16 -- Maximum number of CBR levels
+maxCBR-Level-1-r14 INTEGER ::= 15
+maxCBR-Report-r14 INTEGER ::= 72 -- Maximum number of CBR results in a report
+maxCDMA-BandClass INTEGER ::= 32 -- Maximum value of the CDMA band classes
+maxCE-Level-r13 INTEGER ::= 4 -- Maximum number of CE levels
+maxExcludedCell INTEGER ::= 16 -- Maximum number of exclude-listed physical cell identity
+ -- ranges listed in SIB type 4 and 5
+maxCellHistory-r12 INTEGER ::= 16 -- Maximum number of visited EUTRA cells reported
+maxCellInfoGERAN-r9 INTEGER ::= 32 -- Maximum number of GERAN cells for which system in-
+ -- formation can be provided as redirection assistance
+maxCellInfoUTRA-r9 INTEGER ::= 16 -- Maximum number of UTRA cells for which system
+ -- information can be provided as redirection
+ -- assistance
+maxCellMeasIdle-r15 INTEGER ::= 8 -- Maximum number of neighbouring inter-frequency
+ -- cells per carrier measured in RRC_IDLE and RRC_INACTIVE
+maxCellNR-r17 INTEGER ::= 8 -- Maximum number of NR cells
+maxCombIDC-r11 INTEGER ::= 128 -- Maximum number of reported UL CA or
+ -- MR-DC combinations
+maxCSI-IM-r11 INTEGER ::= 3 -- Maximum number of CSI-IM configurations
+ -- (per carrier frequency)
+maxCSI-IM-r12 INTEGER ::= 4 -- Maximum number of CSI-IM configurations
+ -- (per carrier frequency)
+minCSI-IM-r13 INTEGER ::= 5 -- Minimum number of CSI IM configurations from which
+ -- REL-13 extension is used
+maxCSI-IM-r13 INTEGER ::= 24 -- Maximum number of CSI-IM configurations
+ -- (per carrier frequency)
+maxCSI-IM-v1310 INTEGER ::= 20 -- Maximum number of additional CSI-IM configurations
+ -- (per carrier frequency)
+maxCSI-Proc-r11 INTEGER ::= 4 -- Maximum number of CSI processes (per carrier
+ -- frequency)
+maxCSI-RS-NZP-r11 INTEGER ::= 3 -- Maximum number of CSI RS resource
+ -- configurations using non-zero Tx power
+ -- (per carrier frequency)
+minCSI-RS-NZP-r13 INTEGER ::= 4 -- Minimum number of CSI RS resource from which
+ -- REL-13 extension is used
+maxCSI-RS-NZP-r13 INTEGER ::= 24 -- Maximum number of CSI RS resource
+ -- configurations using non-zero Tx power
+ -- (per carrier frequency)
+maxCSI-RS-NZP-v1310 INTEGER ::= 21 -- Maximum number of additional CSI RS resource
+ -- configurations using non-zero Tx power
+ -- (per carrier frequency)
+maxCSI-RS-ZP-r11 INTEGER ::= 4 -- Maximum number of CSI RS resource
+ -- configurations using zero Tx power(per carrier
+ -- frequency)
+maxCQI-ProcExt-r11 INTEGER ::= 3 -- Maximum number of additional periodic CQI
+ -- configurations (per carrier frequency)
+maxFreqUTRA-TDD-r10 INTEGER ::= 6 -- Maximum number of UTRA TDD carrier frequencies for
+ -- which system information can be provided as
+ -- redirection assistance
+maxCellInter INTEGER ::= 16 -- Maximum number of neighbouring inter-frequency
+ -- cells listed in SIB type 5
+maxCellIntra INTEGER ::= 16 -- Maximum number of neighbouring intra-frequency
+ -- cells listed in SIB type 4
+maxCellListGERAN INTEGER ::= 3 -- Maximum number of lists of GERAN cells
+maxCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the
+ -- cell lists in a measurement object
+maxCellReport INTEGER ::= 8 -- Maximum number of reported cells/CSI-RS resources
+maxCellSFTD INTEGER ::= 3 -- Maximum number of cells for SFTD reporting
+maxCellAllowedNR-r16 INTEGER ::= 16 -- Maximum number of allowlisted NR cells in SIB24
+maxCondConfig-r16 INTEGER ::= 8 -- Maximum number of conditional configurations
+maxConfigSPS-r14 INTEGER ::= 8 -- Maximum number of simultaneous SPS configurations
+maxConfigSPS-r15 INTEGER ::= 6 -- Maximum number of simultaneous SPS configurations
+ -- configured with SPS C-RNTI
+maxCSI-RS-Meas-r12 INTEGER ::= 96 -- Maximum number of entries in the CSI-RS list
+ -- in a measurement object
+maxDRB INTEGER ::= 11 -- Maximum number of Data Radio Bearers
+maxDRBExt-r15 INTEGER ::= 4 -- Maximum number of additional DRBs
+maxDRB-r15 INTEGER ::= 15 -- Highest value of extended maximum number of DRBs
+maxDS-Duration-r12 INTEGER ::= 5 -- Maximum number of subframes in a discovery signals
+ -- occasion
+maxDS-ZTP-CSI-RS-r12 INTEGER ::= 5 -- Maximum number of zero transmission power CSI-RS for
+ -- a serving cell concerning discovery signals
+maxEARFCN INTEGER ::= 65535 -- Maximum value of EUTRA carrier frequency
+maxEARFCN-Plus1 INTEGER ::= 65536 -- Lowest value extended EARFCN range
+maxEARFCN2 INTEGER ::= 262143 -- Highest value extended EARFCN range
+maxEPDCCH-Set-r11 INTEGER ::= 2 -- Maximum number of EPDCCH sets
+maxFBI INTEGER ::= 64 -- Maximum value of fequency band indicator
+maxFBI-NR-r15 INTEGER ::= 1024 -- Highest value FBI range for NR.
+maxFBI-Plus1 INTEGER ::= 65 -- Lowest value extended FBI range
+maxFBI2 INTEGER ::= 256 -- Highest value extended FBI range
+maxFeatureSets-r15 INTEGER ::= 256 -- Total number of feature sets (size of pool)
+maxPerCC-FeatureSets-r15 INTEGER ::= 32 -- Total number of CC-specific feature sets
+ -- (size of the pool)
+maxFreq INTEGER ::= 8 -- Maximum number of carrier frequencies
+maxFreq-1-r16 INTEGER ::= 7 -- Maximum number of carrier frequencies
+maxFreqIDC-r11 INTEGER ::= 32 -- Maximum number of carrier frequencies that are
+ -- affected by the IDC problems
+maxFreqIdle-r15 INTEGER ::= 8 -- Maximum number of carrier frequencies for
+ -- IDLE mode measurements configured by eNB
+maxFreqMBMS-r11 INTEGER ::= 5 -- Maximum number of carrier frequencies for which an
+ -- MBMS capable UE may indicate an interest
+maxFreqNBIOT-r16 INTEGER ::= 8 -- Maximum number of NB-IoT carrier frequencies that can
+ -- be provided as assistance information for inter-RAT
+ -- cell selection
+maxFreqNR-r15 INTEGER ::= 5 -- Maximum number of NR carrier frequencies for
+ -- which a UE may provide measurement results upon
+ -- NR SCG failure
+maxFreqSL-NR-r16 INTEGER ::= 8 -- Maximum number of NR anchor carrier frequencies on
+ -- which configurations for V2X sidelink communication
+ -- are provided
+maxFreqV2X-r14 INTEGER ::= 8 -- Maximum number of carrier frequencies for which V2X
+ -- sidelink communication can be configured
+maxFreqV2X-1-r14 INTEGER ::= 7 -- Highest index of frequencies
+maxGERAN-SI INTEGER ::= 10 -- Maximum number of GERAN SI blocks that can be
+ -- provided as part of NACC information
+maxGNFG INTEGER ::= 16 -- Maximum number of GERAN neighbour freq groups
+maxGWUS-Groups-1-r16 INTEGER ::= 31 -- Maximum number of groups minus one for each
+ -- probability group
+maxGWUS-Resources-r16 INTEGER ::= 4 -- Maximum number of GWUS resources for each group
+maxGWUS-ProbThresholds-r16 INTEGER ::= 3 -- Maximum number of paging probability thresholds
+maxIdleMeasCarriers-r15 INTEGER ::= 3 -- Maximum number of neighbouring inter-
+ -- frequency carriers measured in RRC_IDLE and RRC_INACTIVE
+maxIdleMeasCarriersExt-r16 INTEGER ::= 5 --Additional number of neighbouring inter-
+ -- frequency carriers measured in RRC_IDLE and RRC_INACTIVE
+maxIdleMeasCarriers-r16 INTEGER ::= 8 -- Maximum number of neighbouring inter-
+ -- frequency/inter-RAT carriers measured in RRC_IDLE and RRC_INACTIVE
+maxLCG-r13 INTEGER ::= 4 -- Maximum number of logical channel groups
+maxLogMeasReport-r10 INTEGER ::= 520 -- Maximum number of logged measurement entries
+ -- that can be reported by the UE in one message
+maxMBSFN-Allocations INTEGER ::= 8 -- Maximum number of MBSFN frame allocations with
+ -- different offset
+maxMBSFN-Area INTEGER ::= 8
+maxMBSFN-Area-1 INTEGER ::= 7
+maxMBMS-ServiceListPerUE-r13 INTEGER ::= 15 -- Maximum number of services which the UE can
+ -- include in the MBMS interest indication
+maxMeasId INTEGER ::= 32
+maxMeasId-Plus1 INTEGER ::= 33
+maxMeasId-r12 INTEGER ::= 64
+maxMultiBands INTEGER ::= 8 -- Maximum number of additional frequency bands
+ -- that a cell belongs to
+maxMultiBandsNR-r15 INTEGER ::= 32 -- Maximum number of additional NR frequency bands
+ -- that a cell belongs to
+maxMultiBandsNR-1-r15 INTEGER ::= 31
+maxNS-Pmax-r10 INTEGER ::= 8 -- Maximum number of NS and P-Max values per band
+maxNAICS-Entries-r12 INTEGER ::= 8 -- Maximum number of supported NAICS combination(s)
+maxNeighCell-r12 INTEGER ::= 8 -- Maximum number of neighbouring cells in NAICS
+ -- configuration (per carrier frequency)
+maxNeighCell-SCPTM-r13 INTEGER ::= 8 -- Maximum number of SCPTM neighbour cells
+maxNrofPCI-PerSMTC-r16 INTEGER ::= 64 -- Maximum number of PCIs per SMTC
+maxNrofS-NSSAI-r15 INTEGER ::= 8 -- Maximum number of S-NSSAI
+maxObjectId INTEGER ::= 32
+maxObjectId-Plus1-r13 INTEGER ::= 33
+maxObjectId-r13 INTEGER ::= 64
+maxP-a-PerNeighCell-r12 INTEGER ::= 3 -- Maximum number of power offsets for a neighbour cell
+ -- in NAICS configuration
+maxPageRec INTEGER ::= 16 --
+maxPhysCellIdRange-r9 INTEGER ::= 4 -- Maximum number of physical cell identity ranges
+maxPLMN-r11 INTEGER ::= 6 -- Maximum number of PLMNs
+maxPLMN-1-r14 INTEGER ::= 5 -- Maximum number of PLMNs minus one
+maxPLMN-r15 INTEGER ::= 8 -- Maximum number of PLMNs for RNA configuration
+maxPLMN-NR-r15 INTEGER ::= 12 -- Maximum number of NR PLMNs
+maxPNOffset INTEGER ::= 511 -- Maximum number of CDMA2000 PNOffsets
+maxPMCH-PerMBSFN INTEGER ::= 15
+maxPSSCH-TxConfig-r14 INTEGER ::= 16 -- Maximum number of PSSCH TX configurations
+maxQuantSetsNR-r15 INTEGER ::= 2 -- Maximum number of NR quantity configuration sets
+maxQCI-r13 INTEGER ::= 6 -- Maximum number of QCIs
+maxRAT-Capabilities INTEGER ::= 8 -- Maximum number of interworking RATs (incl EUTRA)
+maxRE-MapQCL-r11 INTEGER ::= 4 -- Maximum number of PDSCH RE Mapping configurations
+ -- (per carrier frequency)
+maxReportConfigId INTEGER ::= 32
+maxReservationPeriod-r14 INTEGER ::= 16 -- Maximum number of resource reservation periodicities
+ -- for sidelink V2X communication
+maxRS-Index-r15 INTEGER ::= 64 -- Maximum number of RS indices
+maxRS-Index-1-r15 INTEGER ::= 63 -- Highest value of RS index as used to identify
+ -- RS index in RRM reports.
+maxRS-IndexCellQual-r15 INTEGER ::= 16 -- Maximum number of RS indices averaged to derive
+ -- cell quality for RRM.
+maxRS-IndexReport-r15 INTEGER ::= 32 -- Maximum number of RS indices for RRM.
+maxRSTD-Freq-r10 INTEGER ::= 3 -- Maximum number of frequency layers for RSTD
+ -- measurement
+maxSAI-MBMS-r11 INTEGER ::= 64 -- Maximum number of MBMS service area identities
+ -- broadcast per carrier frequency
+maxSat-r17 INTEGER ::= 4 -- Maximum number of satellites
+maxSCell-r10 INTEGER ::= 4 -- Maximum number of SCells
+maxSCell-r13 INTEGER ::= 31 -- Highest value of extended number range of SCells
+maxSCellGroups-r15 INTEGER ::= 4 -- Maximum number of SCell common parameter groups
+maxSC-MTCH-r13 INTEGER ::= 1023 -- Maximum number of SC-MTCHs in one cell
+maxSC-MTCH-BR-r14 INTEGER ::= 128 -- Maximum number of SC-MTCHs in one cell for feMTC
+maxSL-CommRxPoolNFreq-r13 INTEGER ::= 32 -- Maximum number of individual sidelink communication
+ -- Rx resource pools on neighbouring freq
+maxSL-CommRxPoolPreconf-v1310 INTEGER ::= 12 -- Maximum number of additional preconfigured
+ -- sidelink communication Rx resource pool entries
+maxSL-TxPool-r12Plus1-r13 INTEGER ::= 5 -- First additional individual sidelink
+ -- Tx resource pool
+maxSL-TxPool-v1310 INTEGER ::= 4 -- Maximum number of additional sidelink
+ -- Tx resource pool entries
+maxSL-TxPool-r13 INTEGER ::= 8 -- Maximum number of individual sidelink
+ -- Tx resource pools
+maxSL-CommTxPoolPreconf-v1310 INTEGER ::= 7 -- Maximum number of additional preconfigured
+ -- sidelink Tx resource pool entries
+maxSL-Dest-r12 INTEGER ::= 16 -- Maximum number of sidelink destinations
+maxSL-DiscCells-r13 INTEGER ::= 16 -- Maximum number of cells with similar sidelink
+ -- configurations
+maxSL-DiscPowerClass-r12 INTEGER ::= 3 -- Maximum number of sidelink power classes
+maxSL-DiscRxPoolPreconf-r13 INTEGER ::= 16 -- Maximum number of preconfigured sidelink
+ -- discovery Rx resource pool entries
+maxSL-DiscSysInfoReportFreq-r13 INTEGER ::= 8 -- Maximum number of frequencies to include in a
+ -- SidelinkUEInformation for SI reporting
+maxSL-DiscTxPoolPreconf-r13 INTEGER ::= 4 -- Maximum number of preconfigured sidelink
+ -- discovery Tx resource pool entries
+maxSL-GP-r13 INTEGER ::= 8 -- Maximum number of gap patterns that can be requested
+ -- for a frequency or assigned
+maxSL-PoolToMeasure-r14 INTEGER ::= 72 -- Maximum number of TX resource pools for CBR
+ -- measurement and report
+
+maxSL-Prio-r13 INTEGER ::= 8 -- Maximum number of entries in sidelink priority list
+maxSL-RxPool-r12 INTEGER ::= 16 -- Maximum number of individual sidelink Rx resource pools
+maxSL-Reliability-r15 INTEGER ::= 8 -- Maximum number of entries in sidelink reliability list
+maxSL-SyncConfig-r12 INTEGER ::= 16 -- Maximum number of sidelink Sync configurations
+maxSL-TF-IndexPair-r12 INTEGER ::= 64 -- Maximum number of sidelink Time Freq resource index
+ -- pairs
+maxSL-TxPool-r12 INTEGER ::= 4 -- Maximum number of individual sidelink Tx resource pools
+maxSL-V2X-RxPool-r14 INTEGER ::= 16 -- Maximum number of RX resource pools for
+ -- V2X sidelink communication
+maxSL-V2X-RxPoolPreconf-r14 INTEGER ::= 16 -- Maximum number of RX resource pools for
+ -- V2X sidelink communication
+maxSL-V2X-TxPool-r14 INTEGER ::= 8 -- Maximum number of TX resource pools for
+ -- V2X sidelink communication
+maxSL-V2X-TxPoolPreconf-r14 INTEGER ::= 8 -- Maximum number of TX resource pools for
+ -- V2X sidelink communication
+maxSL-V2X-SyncConfig-r14 INTEGER ::= 16 -- Maximum number of sidelink Sync configurations
+ -- for V2X sidelink communication
+maxSL-V2X-CBRConfig-r14 INTEGER ::= 4 -- Maximum number of CBR range configurations
+ -- for V2X sidelink communication congestion
+ -- control
+maxSL-V2X-CBRConfig-1-r14 INTEGER ::= 3
+maxSL-V2X-TxConfig-r14 INTEGER ::= 64 -- Maximum number of TX parameter configurations
+ -- for V2X sidelink communication congestion
+ -- control
+maxSL-V2X-TxConfig-1-r14 INTEGER ::= 63
+maxSL-V2X-CBRConfig2-r14 INTEGER ::= 8 -- Maximum number of CBR range configurations in
+ -- pre-configuration for V2X sidelink
+ -- communication congestion control
+maxSL-V2X-CBRConfig2-1-r14 INTEGER ::= 7
+maxSL-V2X-TxConfig2-r14 INTEGER ::= 128 -- Maximum number of TX parameter
+ -- configurations in pre-configuration for V2X
+ -- sidelink communication congestion control
+maxSL-V2X-TxConfig2-1-r14 INTEGER ::= 127
+maxSTAG-r11 INTEGER ::= 3 -- Maximum number of STAGs
+maxServCell-r10 INTEGER ::= 5 -- Maximum number of Serving cells
+maxServCell-r13 INTEGER ::= 32 -- Highest value of extended number range of Serving cells
+maxServCellNR-r15 INTEGER ::= 16 -- Maximum number of NR serving cells
+maxServiceCount INTEGER ::= 16 -- Maximum number of MBMS services that can be included
+ -- in an MBMS counting request and response
+maxServiceCount-1 INTEGER ::= 15
+maxSessionPerPMCH INTEGER ::= 29
+maxSessionPerPMCH-1 INTEGER ::= 28
+maxSIB INTEGER ::= 32 -- Maximum number of SIBs
+maxSIB-1 INTEGER ::= 31
+maxSI-Message INTEGER ::= 32 -- Maximum number of SI messages
+maxSimultaneousBands-r10 INTEGER ::= 64 -- Maximum number of simultaneously aggregated bands
+maxSubframePatternIDC-r11 INTEGER ::= 8 -- Maximum number of subframe reservation patterns
+ -- that the UE can simultaneously recommend to the
+ -- E-UTRAN for use.
+maxTAC-r17 INTEGER ::= 12 -- Maximum number of Tracking Area Codes
+ -- broadcast in a cell
+maxTrafficPattern-r14 INTEGER ::= 8 -- Maximum number of periodical traffic patterns
+ -- that the UE can simultaneously report to the
+ -- E-UTRAN.
+maxUTRA-FDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA FDD carrier frequencies
+maxUTRA-TDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA TDD carrier frequencies
+maxWayPoint-r15 INTEGER ::= 20 -- Maximum number of flight path information waypoints
+maxWLAN-Id-r12 INTEGER ::= 16 -- Maximum number of WLAN identifiers
+maxWLAN-Bands-r13 INTEGER ::= 8 -- Maximum number of WLAN bands
+maxWLAN-Id-r13 INTEGER ::= 32 -- Maximum number of WLAN identifiers
+maxWLAN-Channels-r13 INTEGER ::= 16 -- maximum number of WLAN channels used in
+ -- WLAN-CarrierInfo
+maxWLAN-CarrierInfo-r13 INTEGER ::= 8 -- Maximum number of WLAN Carrier Information
+maxWLAN-Id-Report-r14 INTEGER ::= 32 -- Maximum number of WLAN IDs to report
+maxWLAN-Name-r15 INTEGER ::= 4 -- Maximum number of WLAN name
+
+
+END
diff --git a/epan/dissectors/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn b/epan/dissectors/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn
new file mode 100644
index 00000000..e8f39de8
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn
@@ -0,0 +1,271 @@
+-- 3GPP TS 36.331 V17.5.0 (2023-06)
+
+EUTRA-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ AdditionalSpectrumEmission,
+ AdditionalSpectrumEmission-v10l0,
+ ARFCN-ValueEUTRA-r9,
+ FilterCoefficient,
+ maxCBR-Level-r14,
+ maxCBR-Level-1-r14,
+ maxFreq,
+ maxFreqV2X-r14,
+ maxSL-TxPool-r12,
+ maxSL-CommRxPoolPreconf-v1310,
+ maxSL-CommTxPoolPreconf-v1310,
+ maxSL-DiscRxPoolPreconf-r13,
+ maxSL-DiscTxPoolPreconf-r13,
+ maxSL-V2X-CBRConfig2-r14,
+ maxSL-V2X-CBRConfig2-1-r14,
+ maxSL-V2X-RxPoolPreconf-r14,
+ maxSL-V2X-TxConfig2-r14,
+ maxSL-V2X-TxConfig2-1-r14,
+ maxSL-V2X-TxPoolPreconf-r14,
+ MCS-PSSCH-Range-r15,
+ P-Max,
+ ReselectionInfoRelay-r13,
+ SL-AnchorCarrierFreqList-V2X-r14,
+ SL-CBR-Levels-Config-r14,
+ SL-CBR-PSSCH-TxConfig-r14,
+ SL-CommTxPoolSensingConfig-r14,
+ SL-CP-Len-r12,
+ SL-HoppingConfigComm-r12,
+ SL-NR-AnchorCarrierFreqList-r16,
+ SL-OffsetIndicator-r12,
+ SL-OffsetIndicatorSync-r12,
+ SL-OffsetIndicatorSync-v1430,
+ SL-PeriodComm-r12,
+ RSRP-RangeSL3-r12,
+ SL-MinT2ValueList-r15,
+ SL-PriorityList-r13,
+ SL-TF-ResourceConfig-r12,
+ SL-TRPT-Subset-r12,
+ SL-TxParameters-r12,
+ SL-ZoneConfig-r14,
+ P0-SL-r12,
+ TDD-ConfigSL-r12,
+ SubframeBitmapSL-r14,
+ SL-P2X-ResourceSelectionConfig-r14,
+ SL-RestrictResourceReservationPeriodList-r14,
+ SL-SyncAllowed-r14,
+ SL-OffsetIndicatorSync-r14,
+ SL-Priority-r13,
+ SL-V2X-FreqSelectionConfigList-r15,
+ SL-V2X-PacketDuplicationConfig-r15,
+ SL-V2X-SyncFreqList-r15
+FROM EUTRA-RRC-Definitions;
+
+
+SL-Preconfiguration-r12 ::= SEQUENCE {
+ preconfigGeneral-r12 SL-PreconfigGeneral-r12,
+ preconfigSync-r12 SL-PreconfigSync-r12,
+ preconfigComm-r12 SL-PreconfigCommPoolList4-r12,
+ ...,
+ [[ preconfigComm-v1310 SEQUENCE {
+ commRxPoolList-r13 SL-PreconfigCommRxPoolList-r13,
+ commTxPoolList-r13 SL-PreconfigCommTxPoolList-r13 OPTIONAL
+ } OPTIONAL,
+ preconfigDisc-r13 SEQUENCE {
+ discRxPoolList-r13 SL-PreconfigDiscRxPoolList-r13,
+ discTxPoolList-r13 SL-PreconfigDiscTxPoolList-r13 OPTIONAL
+ } OPTIONAL,
+ preconfigRelay-r13 SL-PreconfigRelay-r13 OPTIONAL
+ ]]
+
+}
+
+SL-PreconfigGeneral-r12 ::= SEQUENCE {
+ -- PDCP configuration
+ rohc-Profiles-r12 SEQUENCE {
+ profile0x0001-r12 BOOLEAN,
+ profile0x0002-r12 BOOLEAN,
+ profile0x0004-r12 BOOLEAN,
+ profile0x0006-r12 BOOLEAN,
+ profile0x0101-r12 BOOLEAN,
+ profile0x0102-r12 BOOLEAN,
+ profile0x0104-r12 BOOLEAN
+ },
+ -- Physical configuration
+ carrierFreq-r12 ARFCN-ValueEUTRA-r9,
+ maxTxPower-r12 P-Max,
+ additionalSpectrumEmission-r12 AdditionalSpectrumEmission,
+ sl-bandwidth-r12 ENUMERATED {n6, n15, n25, n50, n75, n100},
+ tdd-ConfigSL-r12 TDD-ConfigSL-r12,
+ reserved-r12 BIT STRING (SIZE (19)),
+ ...,
+ [[ additionalSpectrumEmission-v1440 AdditionalSpectrumEmission-v10l0 OPTIONAL
+ ]]
+}
+
+SL-PreconfigSync-r12 ::= SEQUENCE {
+ syncCP-Len-r12 SL-CP-Len-r12,
+ syncOffsetIndicator1-r12 SL-OffsetIndicatorSync-r12,
+ syncOffsetIndicator2-r12 SL-OffsetIndicatorSync-r12,
+ syncTxParameters-r12 P0-SL-r12,
+ syncTxThreshOoC-r12 RSRP-RangeSL3-r12,
+ filterCoefficient-r12 FilterCoefficient,
+ syncRefMinHyst-r12 ENUMERATED {dB0, dB3, dB6, dB9, dB12},
+ syncRefDiffHyst-r12 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf},
+ ...,
+ [[ syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL
+ ]]
+}
+
+SL-PreconfigCommPoolList4-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-PreconfigCommPool-r12
+
+SL-PreconfigCommRxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-CommRxPoolPreconf-v1310)) OF SL-PreconfigCommPool-r12
+
+SL-PreconfigCommTxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-CommTxPoolPreconf-v1310)) OF SL-PreconfigCommPool-r12
+
+SL-PreconfigCommPool-r12 ::= SEQUENCE {
+-- This IE is same as SL-CommResourcePool with rxParametersNCell absent
+ sc-CP-Len-r12 SL-CP-Len-r12,
+ sc-Period-r12 SL-PeriodComm-r12,
+ sc-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12,
+ sc-TxParameters-r12 P0-SL-r12,
+ data-CP-Len-r12 SL-CP-Len-r12,
+ data-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12,
+ dataHoppingConfig-r12 SL-HoppingConfigComm-r12,
+ dataTxParameters-r12 P0-SL-r12,
+ trpt-Subset-r12 SL-TRPT-Subset-r12,
+ ...,
+ [[ priorityList-r13 SL-PriorityList-r13 OPTIONAL -- For Tx
+ ]]
+}
+
+SL-PreconfigDiscRxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-DiscRxPoolPreconf-r13)) OF SL-PreconfigDiscPool-r13
+
+SL-PreconfigDiscTxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-DiscTxPoolPreconf-r13)) OF SL-PreconfigDiscPool-r13
+
+SL-PreconfigDiscPool-r13 ::= SEQUENCE {
+-- This IE is same as SL-DiscResourcePool with rxParameters absent
+ cp-Len-r13 SL-CP-Len-r12,
+ discPeriod-r13 ENUMERATED {rf4, rf6, rf7, rf8, rf12, rf14, rf16, rf24, rf28,
+ rf32, rf64, rf128, rf256, rf512, rf1024, spare},
+ numRetx-r13 INTEGER (0..3),
+ numRepetition-r13 INTEGER (1..50),
+ tf-ResourceConfig-r13 SL-TF-ResourceConfig-r12,
+ txParameters-r13 SEQUENCE {
+ txParametersGeneral-r13 P0-SL-r12,
+ txProbability-r13 ENUMERATED {p25, p50, p75, p100}
+ } OPTIONAL,
+ ...
+}
+
+SL-PreconfigRelay-r13 ::= SEQUENCE {
+ reselectionInfoOoC-r13 ReselectionInfoRelay-r13
+}
+
+
+SL-V2X-Preconfiguration-r14 ::= SEQUENCE {
+ v2x-PreconfigFreqList-r14 SL-V2X-PreconfigFreqList-r14,
+ anchorCarrierFreqList-r14 SL-AnchorCarrierFreqList-V2X-r14 OPTIONAL,
+ cbr-PreconfigList-r14 SL-CBR-PreconfigTxConfigList-r14 OPTIONAL,
+ ...,
+ [[ v2x-PacketDuplicationConfig-r15 SL-V2X-PacketDuplicationConfig-r15 OPTIONAL,
+ syncFreqList-r15 SL-V2X-SyncFreqList-r15 OPTIONAL,
+ slss-TxMultiFreq-r15 ENUMERATED {true} OPTIONAL,
+ v2x-TxProfileList-r15 SL-V2X-TxProfileList-r15 OPTIONAL
+ ]],
+ [[ anchorCarrierFreqListNR-r16 SL-NR-AnchorCarrierFreqList-r16 OPTIONAL
+ ]]
+}
+
+SL-CBR-PreconfigTxConfigList-r14 ::= SEQUENCE {
+ cbr-RangeCommonConfigList-r14 SEQUENCE (SIZE (1..maxSL-V2X-CBRConfig2-r14)) OF SL-CBR-Levels-Config-r14,
+ sl-CBR-PSSCH-TxConfigList-r14 SEQUENCE (SIZE (1..maxSL-V2X-TxConfig2-r14)) OF SL-CBR-PSSCH-TxConfig-r14
+}
+
+SL-V2X-PreconfigFreqList-r14 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF SL-V2X-PreconfigFreqInfo-r14
+
+SL-V2X-PreconfigFreqInfo-r14 ::= SEQUENCE {
+ v2x-CommPreconfigGeneral-r14 SL-PreconfigGeneral-r12,
+ v2x-CommPreconfigSync-r14 SL-PreconfigV2X-Sync-r14 OPTIONAL,
+ v2x-CommRxPoolList-r14 SL-PreconfigV2X-RxPoolList-r14,
+ v2x-CommTxPoolList-r14 SL-PreconfigV2X-TxPoolList-r14,
+ p2x-CommTxPoolList-r14 SL-PreconfigV2X-TxPoolList-r14,
+ v2x-ResourceSelectionConfig-r14 SL-CommTxPoolSensingConfig-r14 OPTIONAL,
+ zoneConfig-r14 SL-ZoneConfig-r14 OPTIONAL,
+ syncPriority-r14 ENUMERATED {gnss, enb},
+ thresSL-TxPrioritization-r14 SL-Priority-r13 OPTIONAL,
+ offsetDFN-r14 INTEGER (0..1000) OPTIONAL,
+ ...,
+ [[ v2x-FreqSelectionConfigList-r15 SL-V2X-FreqSelectionConfigList-r15 OPTIONAL
+ ]]
+}
+
+SL-PreconfigV2X-RxPoolList-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-RxPoolPreconf-r14)) OF SL-V2X-PreconfigCommPool-r14
+
+SL-PreconfigV2X-TxPoolList-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-TxPoolPreconf-r14)) OF SL-V2X-PreconfigCommPool-r14
+
+SL-V2X-PreconfigCommPool-r14 ::= SEQUENCE {
+-- This IE is same as SL-CommResourcePoolV2X with rxParametersNCell absent
+ sl-OffsetIndicator-r14 SL-OffsetIndicator-r12 OPTIONAL,
+ sl-Subframe-r14 SubframeBitmapSL-r14,
+ adjacencyPSCCH-PSSCH-r14 BOOLEAN,
+ sizeSubchannel-r14 ENUMERATED {
+ n4, n5, n6, n8, n9, n10, n12, n15, n16, n18, n20, n25, n30,
+ n48, n50, n72, n75, n96, n100, spare13, spare12, spare11,
+ spare10, spare9, spare8, spare7, spare6, spare5, spare4,
+ spare3, spare2, spare1},
+ numSubchannel-r14 ENUMERATED {n1, n3, n5, n8, n10, n15, n20, spare1},
+ startRB-Subchannel-r14 INTEGER (0..99),
+ startRB-PSCCH-Pool-r14 INTEGER (0..99) OPTIONAL,
+ dataTxParameters-r14 P0-SL-r12,
+ zoneID-r14 INTEGER (0..7) OPTIONAL,
+ threshS-RSSI-CBR-r14 INTEGER (0..45) OPTIONAL,
+ cbr-pssch-TxConfigList-r14 SL-CBR-PPPP-TxPreconfigList-r14 OPTIONAL,
+ resourceSelectionConfigP2X-r14 SL-P2X-ResourceSelectionConfig-r14 OPTIONAL,
+ syncAllowed-r14 SL-SyncAllowed-r14 OPTIONAL,
+ restrictResourceReservationPeriod-r14 SL-RestrictResourceReservationPeriodList-r14 OPTIONAL,
+ ...,
+ [[ sl-MinT2ValueList-r15 SL-MinT2ValueList-r15 OPTIONAL,
+ cbr-pssch-TxConfigList-v1530 SL-CBR-PPPP-TxPreconfigList-v1530 OPTIONAL
+ ]]
+}
+
+SL-PreconfigV2X-Sync-r14 ::= SEQUENCE {
+ syncOffsetIndicators-r14 SL-V2X-SyncOffsetIndicators-r14,
+ syncTxParameters-r14 P0-SL-r12,
+ syncTxThreshOoC-r14 RSRP-RangeSL3-r12,
+ filterCoefficient-r14 FilterCoefficient,
+ syncRefMinHyst-r14 ENUMERATED {dB0, dB3, dB6, dB9, dB12},
+ syncRefDiffHyst-r14 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf},
+ ...,
+ [[ slss-TxDisabled-r15 ENUMERATED {true} OPTIONAL
+ ]]
+}
+
+SL-V2X-SyncOffsetIndicators-r14 ::= SEQUENCE {
+ syncOffsetIndicator1-r14 SL-OffsetIndicatorSync-r14,
+ syncOffsetIndicator2-r14 SL-OffsetIndicatorSync-r14,
+ syncOffsetIndicator3-r14 SL-OffsetIndicatorSync-r14 OPTIONAL
+}
+
+SL-CBR-PPPP-TxPreconfigList-r14 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxPreconfigIndex-r14
+
+SL-PPPP-TxPreconfigIndex-r14 ::= SEQUENCE {
+ priorityThreshold-r14 SL-Priority-r13,
+ defaultTxConfigIndex-r14 INTEGER(0..maxCBR-Level-1-r14),
+ cbr-ConfigIndex-r14 INTEGER(0..maxSL-V2X-CBRConfig2-1-r14),
+ tx-ConfigIndexList-r14 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF Tx-PreconfigIndex-r14
+}
+
+Tx-PreconfigIndex-r14 ::= INTEGER(0..maxSL-V2X-TxConfig2-1-r14)
+
+SL-CBR-PPPP-TxPreconfigList-v1530 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxPreconfigIndex-v1530
+
+SL-PPPP-TxPreconfigIndex-v1530 ::= SEQUENCE {
+ mcs-PSSCH-Range-r15 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF MCS-PSSCH-Range-r15 OPTIONAL
+}
+
+SL-V2X-TxProfileList-r15 ::= SEQUENCE (SIZE (1..256)) OF SL-V2X-TxProfile-r15
+
+SL-V2X-TxProfile-r15 ::= ENUMERATED {
+ rel14, rel15, spare6, spare5, spare4,
+ spare3, spare2, spare1, ...}
+
+END
diff --git a/epan/dissectors/asn1/lte-rrc/EUTRA-UE-Variables.asn b/epan/dissectors/asn1/lte-rrc/EUTRA-UE-Variables.asn
new file mode 100644
index 00000000..98b92e6b
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/EUTRA-UE-Variables.asn
@@ -0,0 +1,297 @@
+-- 3GPP TS 36.331 V17.5.0 (2023-06)
+
+EUTRA-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ AbsoluteTimeInfo-r10,
+ AreaConfiguration-r10,
+ AreaConfiguration-v1130,
+ ARFCN-ValueNR-r15,
+ BT-NameList-r15,
+ CarrierFreqGERAN,
+ CellIdentity,
+ CellList-r15,
+ CondReconfigurationToAddModList-r16,
+ ConnEstFailReport-r11,
+ EUTRA-CarrierList-r15,
+ SpeedStateScaleFactors,
+ C-RNTI,
+ LoggedEventTriggerConfig-r17,
+ LoggingDuration-r10,
+ LoggingInterval-r10,
+ LogMeasInfo-r10,
+ MeasCSI-RS-Id-r12,
+ MeasId,
+ MeasId-v1250,
+ MeasIdToAddModList,
+ MeasIdToAddModListExt-r12,
+ MeasIdToAddModList-v1310,
+ MeasIdToAddModListExt-v1310,
+ MeasObjectToAddModList,
+ MeasObjectToAddModList-v9e0,
+ MeasObjectToAddModListExt-r13,
+ MeasResultListExtIdle-r16,
+ MeasResultListIdle-r15,
+ MeasResultListIdleNR-r16,
+ MeasScaleFactor-r12,
+ MobilityStateParameters,
+ NeighCellConfig,
+ NR-CarrierList-r16,
+ PhysCellId,
+ PhysCellIdCDMA2000,
+ PhysCellIdGERAN,
+ PhysCellIdUTRA-FDD,
+ PhysCellIdUTRA-TDD,
+ PLMN-Identity,
+ PLMN-IdentityList3-r11,
+ QuantityConfig,
+ ReportConfigToAddModList,
+ RLF-Report-r9,
+ TargetMBSFN-AreaList-r12,
+ TraceReference-r10,
+ Tx-ResourcePoolMeasList-r14,
+ VisitedCellInfoList-r12,
+ maxCellMeas,
+ maxCSI-RS-Meas-r12,
+ maxMeasId,
+ maxMeasId-r12,
+ maxRS-Index-r15,
+ PhysCellIdNR-r15,
+ RS-IndexNR-r15,
+ UL-DelayConfig-r13,
+ ValidityAreaList-r16,
+ WLAN-CarrierInfo-r13,
+ WLAN-Identifiers-r12,
+ WLAN-Id-List-r13,
+ WLAN-NameList-r15,
+ WLAN-Status-r13,
+ WLAN-Status-v1430,
+ WLAN-SuspendConfig-r14
+
+FROM EUTRA-RRC-Definitions;
+
+
+VarConditionalReconfiguration ::= SEQUENCE {
+ -- Conditional reconfigurations list
+ condReconfigurationList-r16 CondReconfigurationToAddModList-r16
+ OPTIONAL
+}
+
+
+VarConnEstFailReport-r11 ::= SEQUENCE {
+ connEstFailReport-r11 ConnEstFailReport-r11,
+ plmn-Identity-r11 PLMN-Identity
+}
+
+
+VarLogMeasConfig-r10 ::= SEQUENCE {
+ areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL,
+ loggingDuration-r10 LoggingDuration-r10,
+ loggingInterval-r10 LoggingInterval-r10
+}
+
+VarLogMeasConfig-r11 ::= SEQUENCE {
+ areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL,
+ areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL,
+ loggingDuration-r10 LoggingDuration-r10,
+ loggingInterval-r10 LoggingInterval-r10
+}
+
+VarLogMeasConfig-r12 ::= SEQUENCE {
+ areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL,
+ areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL,
+ loggingDuration-r10 LoggingDuration-r10,
+ loggingInterval-r10 LoggingInterval-r10,
+ targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL
+}
+
+VarLogMeasConfig-r15 ::= SEQUENCE {
+ areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL,
+ areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL,
+ loggingDuration-r10 LoggingDuration-r10,
+ loggingInterval-r10 LoggingInterval-r10,
+ targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL,
+ bt-NameList-r15 BT-NameList-r15 OPTIONAL,
+ wlan-NameList-r15 WLAN-NameList-r15 OPTIONAL
+}
+
+VarLogMeasConfig-r17 ::= SEQUENCE {
+ areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL,
+ areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL,
+ loggingDuration-r10 LoggingDuration-r10,
+ loggingInterval-r10 LoggingInterval-r10,
+ targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL,
+ bt-NameList-r15 BT-NameList-r15 OPTIONAL,
+ wlan-NameList-r15 WLAN-NameList-r15 OPTIONAL,
+ loggedEventTriggerConfig-r17 LoggedEventTriggerConfig-r17 OPTIONAL,
+ measUncomBarPre-r17 ENUMERATED {true} OPTIONAL
+}
+
+
+VarLogMeasReport-r10 ::= SEQUENCE {
+ traceReference-r10 TraceReference-r10,
+ traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)),
+ tce-Id-r10 OCTET STRING (SIZE (1)),
+ plmn-Identity-r10 PLMN-Identity,
+ absoluteTimeInfo-r10 AbsoluteTimeInfo-r10,
+ logMeasInfoList-r10 LogMeasInfoList2-r10
+}
+
+VarLogMeasReport-r11 ::= SEQUENCE {
+ traceReference-r10 TraceReference-r10,
+ traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)),
+ tce-Id-r10 OCTET STRING (SIZE (1)),
+ plmn-IdentityList-r11 PLMN-IdentityList3-r11,
+ absoluteTimeInfo-r10 AbsoluteTimeInfo-r10,
+ logMeasInfoList-r10 LogMeasInfoList2-r10
+}
+
+LogMeasInfoList2-r10 ::= SEQUENCE (SIZE (1..maxLogMeas-r10)) OF LogMeasInfo-r10
+
+
+VarMeasConfig ::= SEQUENCE {
+ -- Measurement identities
+ measIdList MeasIdToAddModList OPTIONAL,
+ measIdListExt-r12 MeasIdToAddModListExt-r12 OPTIONAL,
+ measIdList-v1310 MeasIdToAddModList-v1310 OPTIONAL,
+ measIdListExt-v1310 MeasIdToAddModListExt-v1310 OPTIONAL,
+ -- Measurement objects
+ measObjectList MeasObjectToAddModList OPTIONAL,
+ measObjectListExt-r13 MeasObjectToAddModListExt-r13 OPTIONAL,
+ measObjectList-v9i0 MeasObjectToAddModList-v9e0 OPTIONAL,
+ -- Reporting configurations
+ reportConfigList ReportConfigToAddModList OPTIONAL,
+ -- Other parameters
+ quantityConfig QuantityConfig OPTIONAL,
+ measScaleFactor-r12 MeasScaleFactor-r12 OPTIONAL,
+ s-Measure INTEGER (-140..-44) OPTIONAL,
+ speedStatePars CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ mobilityStateParameters MobilityStateParameters,
+ timeToTrigger-SF SpeedStateScaleFactors
+ }
+ } OPTIONAL,
+ allowInterruptions-r11 BOOLEAN OPTIONAL
+}
+
+
+VarMeasIdleConfig-r15 ::= SEQUENCE {
+ measIdleCarrierListEUTRA-r15 EUTRA-CarrierList-r15 OPTIONAL,
+ measIdleDuration-r15 ENUMERATED {sec10, sec30, sec60, sec120,
+ sec180, sec240, sec300}
+}
+
+VarMeasIdleConfig-r16 ::= SEQUENCE {
+ measIdleCarrierListNR-r16 NR-CarrierList-r16 OPTIONAL,
+ validityAreaList-r16 ValidityAreaList-r16 OPTIONAL
+}
+
+
+VarMeasIdleReport-r15 ::= SEQUENCE {
+ measReportIdle-r15 MeasResultListIdle-r15
+}
+
+VarMeasIdleReport-r16 ::= SEQUENCE {
+ measReportIdle-r16 MeasResultListExtIdle-r16 OPTIONAL,
+ measReportIdleNR-r16 MeasResultListIdleNR-r16 OPTIONAL
+}
+
+
+VarMeasReportList ::= SEQUENCE (SIZE (1..maxMeasId)) OF VarMeasReport
+VarMeasReportList-r12 ::= SEQUENCE (SIZE (1..maxMeasId-r12)) OF VarMeasReport
+
+VarMeasReport ::= SEQUENCE {
+ -- List of measurement that have been triggered
+ measId MeasId,
+ measId-v1250 MeasId-v1250 OPTIONAL,
+ cellsTriggeredList CellsTriggeredList OPTIONAL,
+ csi-RS-TriggeredList-r12 CSI-RS-TriggeredList-r12 OPTIONAL,
+ poolsTriggeredList-r14 Tx-ResourcePoolMeasList-r14 OPTIONAL,
+ numberOfReportsSent INTEGER
+}
+
+CellsTriggeredList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CHOICE {
+ physCellIdEUTRA PhysCellId,
+ physCellIdUTRA CHOICE {
+ fdd PhysCellIdUTRA-FDD,
+ tdd PhysCellIdUTRA-TDD
+ },
+ physCellIdGERAN SEQUENCE {
+ carrierFreq CarrierFreqGERAN,
+ physCellId PhysCellIdGERAN
+ },
+ physCellIdCDMA2000 PhysCellIdCDMA2000,
+ wlan-Identifiers-r13 WLAN-Identifiers-r12,
+ physCellIdNR-r15 SEQUENCE {
+ carrierFreq ARFCN-ValueNR-r15,
+ physCellId PhysCellIdNR-r15,
+ rs-IndexList-r15 SSB-IndexList-r15 OPTIONAL
+ }
+}
+
+CSI-RS-TriggeredList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Id-r12
+
+SSB-IndexList-r15::= SEQUENCE (SIZE (1..maxRS-Index-r15)) OF RS-IndexNR-r15
+
+VarMobilityHistoryReport-r12 ::= VisitedCellInfoList-r12
+
+
+VarPendingRnaUpdate-r15 ::= SEQUENCE {
+ pendingRnaUpdate BOOLEAN OPTIONAL
+}
+
+
+VarRLF-Report-r10 ::= SEQUENCE {
+ rlf-Report-r10 RLF-Report-r9,
+ plmn-Identity-r10 PLMN-Identity
+}
+
+VarRLF-Report-r11 ::= SEQUENCE {
+ rlf-Report-r10 RLF-Report-r9,
+ plmn-IdentityList-r11 PLMN-IdentityList3-r11
+}
+
+
+VarShortINACTIVE-MAC-Input-r15 ::= SEQUENCE {
+ cellIdentity-r15 CellIdentity,
+ physCellId-r15 PhysCellId,
+ c-RNTI-r15 C-RNTI
+}
+
+
+VarShortMAC-Input ::= SEQUENCE {
+ cellIdentity CellIdentity,
+ physCellId PhysCellId,
+ c-RNTI C-RNTI
+}
+
+
+VarShortResumeMAC-Input-r13 ::= SEQUENCE {
+ cellIdentity-r13 CellIdentity,
+ physCellId-r13 PhysCellId,
+ c-RNTI-r13 C-RNTI,
+ resumeDiscriminator-r13 BIT STRING(SIZE(1))
+}
+
+
+VarWLAN-MobilityConfig ::= SEQUENCE {
+ wlan-MobilitySet-r13 WLAN-Id-List-r13 OPTIONAL,
+ successReportRequested ENUMERATED {true} OPTIONAL,
+ wlan-SuspendConfig-r14 WLAN-SuspendConfig-r14 OPTIONAL
+}
+
+
+VarWLAN-Status-r13 ::= SEQUENCE {
+ status-r13 WLAN-Status-r13,
+ status-r14 WLAN-Status-v1430 OPTIONAL
+}
+
+
+maxLogMeas-r10 INTEGER ::= 4060-- Maximum number of logged measurement entries
+ -- that can be stored by the UE
+
+
+END
diff --git a/epan/dissectors/asn1/lte-rrc/NBIOT-InterNodeDefinitions.asn b/epan/dissectors/asn1/lte-rrc/NBIOT-InterNodeDefinitions.asn
new file mode 100644
index 00000000..85af838c
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/NBIOT-InterNodeDefinitions.asn
@@ -0,0 +1,163 @@
+-- 3GPP TS 36.331 V17.5.0 (2023-06)
+
+NBIOT-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ C-RNTI,
+ PhysCellId,
+ SecurityAlgorithmConfig,
+ ShortMAC-I
+FROM EUTRA-RRC-Definitions
+
+ AdditionalReestabInfoList
+FROM EUTRA-InterNodeDefinitions
+
+ CarrierFreq-NB-r13,
+ CarrierFreq-NB-v1550,
+ RadioResourceConfigDedicated-NB-r13,
+ UECapabilityInformation-NB,
+ UE-Capability-NB-r13,
+ UE-Capability-NB-Ext-r14-IEs,
+ UE-RadioPagingInfo-NB-r13
+FROM NBIOT-RRC-Definitions;
+
+
+HandoverPreparationInformation-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ handoverPreparationInformation-r13 HandoverPreparationInformation-NB-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+HandoverPreparationInformation-NB-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo-r13 UE-Capability-NB-r13,
+ as-Config-r13 AS-Config-NB,
+ rrm-Config-r13 RRM-Config-NB OPTIONAL,
+ as-Context-r13 AS-Context-NB OPTIONAL,
+ nonCriticalExtension HandoverPreparationInformation-NB-v1380-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-NB-v1380-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension HandoverPreparationInformation-NB-Ext-r14-IEs OPTIONAL
+}
+
+HandoverPreparationInformation-NB-Ext-r14-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfoExt-r14 OCTET STRING (CONTAINING UE-Capability-NB-Ext-r14-IEs) OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UEPagingCoverageInformation-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ uePagingCoverageInformation-r13 UEPagingCoverageInformation-NB-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEPagingCoverageInformation-NB-IEs ::= SEQUENCE {
+-- the possible value(s) can differ from those sent on Uu
+ npdcch-NumRepetitionPaging-r13 INTEGER (1..2048) OPTIONAL,
+ nonCriticalExtension UEPagingCoverageInformation-NB-v1700-IEs OPTIONAL
+}
+
+UEPagingCoverageInformation-NB-v1700-IEs ::= SEQUENCE {
+ cbp-Index-r17 INTEGER (1..2) OPTIONAL, -- Cond CBP
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UERadioAccessCapabilityInformation-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ ueRadioAccessCapabilityInformation-r13
+ UERadioAccessCapabilityInformation-NB-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UERadioAccessCapabilityInformation-NB-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo-r13 OCTET STRING (CONTAINING UE-Capability-NB-r13),
+ nonCriticalExtension UERadioAccessCapabilityInformation-NB-v1380-IEs OPTIONAL
+}
+
+UERadioAccessCapabilityInformation-NB-v1380-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UERadioAccessCapabilityInformation-NB-r14-IEs OPTIONAL
+}
+
+UERadioAccessCapabilityInformation-NB-r14-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo-r14 OCTET STRING (CONTAINING UECapabilityInformation-NB) OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UERadioPagingInformation-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ ueRadioPagingInformation-r13 UERadioPagingInformation-NB-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UERadioPagingInformation-NB-IEs ::= SEQUENCE {
+ ue-RadioPagingInfo-r13 OCTET STRING (CONTAINING UE-RadioPagingInfo-NB-r13),
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+AS-Config-NB ::= SEQUENCE {
+ sourceRadioResourceConfig-r13 RadioResourceConfigDedicated-NB-r13,
+ sourceSecurityAlgorithmConfig-r13 SecurityAlgorithmConfig,
+ sourceUE-Identity-r13 C-RNTI,
+ sourceDl-CarrierFreq-r13 CarrierFreq-NB-r13,
+ ...,
+ [[ sourceDL-CarrierFreq-v1550 CarrierFreq-NB-v1550 OPTIONAL -- Cond TDD
+ ]]
+}
+
+
+AS-Context-NB ::= SEQUENCE {
+ reestablishmentInfo-r13 ReestablishmentInfo-NB OPTIONAL,
+ ...
+}
+
+
+ReestablishmentInfo-NB ::= SEQUENCE {
+ sourcePhysCellId-r13 PhysCellId,
+ targetCellShortMAC-I-r13 ShortMAC-I,
+ additionalReestabInfoList-r13 AdditionalReestabInfoList OPTIONAL,
+ ...
+}
+
+
+
+
+RRM-Config-NB ::= SEQUENCE {
+ ue-InactiveTime ENUMERATED {
+ s1, s2, s3, s5, s7, s10, s15, s20,
+ s25, s30, s40, s50, min1, min1s20, min1s40,
+ min2, min2s30, min3, min3s30, min4, min5, min6,
+ min7, min8, min9, min10, min12, min14, min17, min20,
+ min24, min28, min33, min38, min44, min50, hr1,
+ hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
+ hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
+ day2hr12, day3, day4, day5, day7, day10, day14, day19,
+ day24, day30, dayMoreThan30} OPTIONAL,
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/lte-rrc/NBIOT-RRC-Definitions.asn b/epan/dissectors/asn1/lte-rrc/NBIOT-RRC-Definitions.asn
new file mode 100644
index 00000000..b68e6a8a
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/NBIOT-RRC-Definitions.asn
@@ -0,0 +1,3073 @@
+-- 3GPP TS 36.331 V17.5.0 (2023-06)
+
+NBIOT-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ RRCConnectionReestablishmentReject,
+ SecurityModeCommand,
+ SecurityModeComplete,
+ SecurityModeFailure,
+ AdditionalSpectrumEmission,
+ ARFCN-ValueEUTRA-r9,
+ CarrierFreqsGERAN,
+ CellGlobalIdEUTRA,
+ CellIdentity,
+ C-RNTI,
+ DedicatedInfoNAS,
+ DRB-Identity,
+ GNSS-ValidityDuration-r17,
+ InitialUE-Identity,
+ IntraFreqExcludedCellList,
+ IntraFreqNeighCellList,
+ I-RNTI-r15,
+ LocationInfo-r10,
+ maxAccessCat-1-r15,
+ maxBands,
+ maxExcludedCell,
+ maxCellInter,
+ maxCellIntra,
+ maxFBI2,
+ maxFreq,
+ maxMultiBands,
+ maxNrofS-NSSAI-r15,
+ maxPageRec,
+ maxPLMN-r11,
+ maxSAI-MBMS-r11,
+ maxSIB,
+ maxSIB-1,
+ MBMS-SAI-r11,
+ MBMS-SAI-List-r11,
+ MBMSSessionInfo-r13,
+ NextHopChainingCount,
+ NG-5G-S-TMSI-r15,
+ PagingUE-Identity,
+ PLMN-Identity,
+ PLMN-IdentityList2,
+ P-Max,
+ PowerRampingParameters,
+ PreambleTransMax,
+ PhysCellId,
+ Q-OffsetRange,
+ Q-QualMin-r9,
+ Q-RxLevMin,
+ ReestabUE-Identity,
+ RegisteredAMF-r15,
+ RegisteredMME,
+ ReselectionThreshold,
+ ResumeIdentity-r13,
+ RRC-TransactionIdentifier,
+ RSRP-Range,
+ S-NSSAI-r15,
+ S-TMSI,
+ SatelliteInfoList-r17,
+ ServingSatelliteInfo-r17,
+ SetupRelease,
+ ShortMAC-I,
+ SystemInformationBlockType16-r11,
+ SystemInfoValueTagSI-r13,
+ T-Reordering,
+ T-ReorderingExt-r17,
+ TimeAlignmentTimer,
+ TimeSinceFailure-r11,
+ TimeOffsetUTC-r17,
+ TMGI-r9,
+ TrackingAreaCode,
+ TrackingAreaCode-5GC-r15,
+ UAC-AC1-SelectAssistInfo-r15,
+ DataInactivityTimer-r14
+
+FROM EUTRA-RRC-Definitions;
+
+
+BCCH-BCH-Message-NB ::= SEQUENCE {
+ message BCCH-BCH-MessageType-NB
+}
+
+
+BCCH-BCH-MessageType-NB::= MasterInformationBlock-NB
+
+
+
+BCCH-BCH-Message-TDD-NB ::= SEQUENCE {
+ message BCCH-BCH-MessageType-TDD-NB-r15
+}
+
+
+BCCH-BCH-MessageType-TDD-NB-r15 ::= MasterInformationBlock-TDD-NB-r15
+
+
+BCCH-DL-SCH-Message-NB ::= SEQUENCE {
+ message BCCH-DL-SCH-MessageType-NB
+}
+
+BCCH-DL-SCH-MessageType-NB ::= CHOICE {
+ c1 CHOICE {
+ systemInformation-r13 SystemInformation-NB,
+ systemInformationBlockType1-r13 SystemInformationBlockType1-NB
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+PCCH-Message-NB ::= SEQUENCE {
+ message PCCH-MessageType-NB
+}
+
+PCCH-MessageType-NB ::= CHOICE {
+ c1 CHOICE {
+ paging-r13 Paging-NB
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+DL-CCCH-Message-NB ::= SEQUENCE {
+ message DL-CCCH-MessageType-NB
+}
+
+DL-CCCH-MessageType-NB ::= CHOICE {
+ c1 CHOICE {
+ rrcConnectionReestablishment-r13 RRCConnectionReestablishment-NB,
+ rrcConnectionReestablishmentReject-r13 RRCConnectionReestablishmentReject,
+ rrcConnectionReject-r13 RRCConnectionReject-NB,
+ rrcConnectionSetup-r13 RRCConnectionSetup-NB,
+ rrcEarlyDataComplete-r15 RRCEarlyDataComplete-NB-r15,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+DL-DCCH-Message-NB ::= SEQUENCE {
+ message DL-DCCH-MessageType-NB
+}
+
+DL-DCCH-MessageType-NB ::= CHOICE {
+ c1 CHOICE {
+ dlInformationTransfer-r13 DLInformationTransfer-NB,
+ rrcConnectionReconfiguration-r13 RRCConnectionReconfiguration-NB,
+ rrcConnectionRelease-r13 RRCConnectionRelease-NB,
+ securityModeCommand-r13 SecurityModeCommand,
+ ueCapabilityEnquiry-r13 UECapabilityEnquiry-NB,
+ rrcConnectionResume-r13 RRCConnectionResume-NB,
+ ueInformationRequest-r16 UEInformationRequest-NB-r16,
+ spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+
+UL-CCCH-Message-NB ::= SEQUENCE {
+ message UL-CCCH-MessageType-NB
+}
+
+UL-CCCH-MessageType-NB ::= CHOICE {
+ c1 CHOICE {
+ rrcConnectionReestablishmentRequest-r13 RRCConnectionReestablishmentRequest-NB,
+ rrcConnectionRequest-r13 RRCConnectionRequest-NB,
+ rrcConnectionResumeRequest-r13 RRCConnectionResumeRequest-NB,
+ rrcEarlyDataRequest-r15 RRCEarlyDataRequest-NB-r15
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+SC-MCCH-Message-NB ::= SEQUENCE {
+ message SC-MCCH-MessageType-NB
+}
+
+
+SC-MCCH-MessageType-NB ::= CHOICE {
+ c1 CHOICE {
+ scptmConfiguration-r14 SCPTMConfiguration-NB-r14
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+UL-DCCH-Message-NB ::= SEQUENCE {
+ message UL-DCCH-MessageType-NB
+}
+
+UL-DCCH-MessageType-NB ::= CHOICE {
+ c1 CHOICE {
+ rrcConnectionReconfigurationComplete-r13 RRCConnectionReconfigurationComplete-NB,
+ rrcConnectionReestablishmentComplete-r13 RRCConnectionReestablishmentComplete-NB,
+ rrcConnectionSetupComplete-r13 RRCConnectionSetupComplete-NB,
+ securityModeComplete-r13 SecurityModeComplete,
+ securityModeFailure-r13 SecurityModeFailure,
+ ueCapabilityInformation-r13 UECapabilityInformation-NB,
+ ulInformationTransfer-r13 ULInformationTransfer-NB,
+ rrcConnectionResumeComplete-r13 RRCConnectionResumeComplete-NB,
+ ueInformationResponse-r16 UEInformationResponse-NB-r16,
+ purConfigurationRequest-r16 PURConfigurationRequest-NB-r16,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+
+DLInformationTransfer-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ dlInformationTransfer-r13 DLInformationTransfer-NB-r13-IEs,
+ spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+DLInformationTransfer-NB-r13-IEs ::= SEQUENCE {
+ dedicatedInfoNAS-r13 DedicatedInfoNAS,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+MasterInformationBlock-NB ::= SEQUENCE {
+ systemFrameNumber-MSB-r13 BIT STRING (SIZE (4)),
+ hyperSFN-LSB-r13 BIT STRING (SIZE (2)),
+ schedulingInfoSIB1-r13 INTEGER (0..15),
+ systemInfoValueTag-r13 INTEGER (0..31),
+ ab-Enabled-r13 BOOLEAN,
+ operationModeInfo-r13 CHOICE {
+ inband-SamePCI-r13 Inband-SamePCI-NB-r13,
+ inband-DifferentPCI-r13 Inband-DifferentPCI-NB-r13,
+ guardband-r13 Guardband-NB-r13,
+ standalone-r13 Standalone-NB-r13
+ },
+ additionalTransmissionSIB1-r15 BOOLEAN,
+ ab-Enabled-5GC-r16 BOOLEAN,
+ partEARFCN-17 CHOICE {
+ spare BIT STRING (SIZE (2)),
+ earfcn-LSB BIT STRING (SIZE (2))
+ },
+ spare BIT STRING (SIZE (6))
+}
+
+Guardband-NB-r13 ::= SEQUENCE {
+ rasterOffset-r13 ChannelRasterOffset-NB-r13,
+ spare BIT STRING (SIZE (3))
+}
+
+Inband-SamePCI-NB-r13 ::= SEQUENCE {
+ eutra-CRS-SequenceInfo-r13 INTEGER (0..31)
+}
+
+Inband-DifferentPCI-NB-r13 ::= SEQUENCE {
+ eutra-NumCRS-Ports-r13 ENUMERATED {same, four},
+ rasterOffset-r13 ChannelRasterOffset-NB-r13,
+ spare BIT STRING (SIZE (2))
+}
+
+Standalone-NB-r13 ::= SEQUENCE {
+ spare BIT STRING (SIZE (5))
+}
+
+
+MasterInformationBlock-TDD-NB-r15 ::= SEQUENCE {
+ systemFrameNumber-MSB-r15 BIT STRING (SIZE (4)),
+ hyperSFN-LSB-r15 BIT STRING (SIZE (2)),
+ schedulingInfoSIB1-r15 INTEGER (0..15),
+ systemInfoValueTag-r15 INTEGER (0..31),
+ ab-Enabled-r15 BOOLEAN,
+ operationModeInfo-r15 CHOICE {
+ inband-SamePCI-r15 Inband-SamePCI-TDD-NB-r15,
+ inband-DifferentPCI-r15 Inband-DifferentPCI-TDD-NB-r15,
+ guardband-r15 GuardbandTDD-NB-r15,
+ standalone-r15 StandaloneTDD-NB-r15
+ },
+ sib1-CarrierInfo-r15 ENUMERATED {anchor, non-anchor},
+ ab-Enabled-5GC-r16 BOOLEAN,
+ spare BIT STRING (SIZE (8))
+}
+
+GuardbandTDD-NB-r15 ::= SEQUENCE {
+ rasterOffset-r15 ChannelRasterOffset-NB-r13,
+ sib-GuardbandInfo-r15 CHOICE {
+ sib-GuardbandAnchor-r15 SIB-GuardbandAnchorTDD-NB-r15,
+ sib-GuardbandGuardband-r15 SIB-GuardbandGuardbandTDD-NB-r15,
+ sib-GuardbandInbandSamePCI-r15 SIB-GuardbandInbandSamePCI-TDD-NB-r15,
+ sib-GuardbandinbandDiffPCI-r15 SIB-GuardbandInbandDiffPCI-TDD-NB-r15
+ },
+ eutra-Bandwitdh-r15 ENUMERATED {bw5or10, bw15or20}
+}
+
+Inband-SamePCI-TDD-NB-r15 ::= SEQUENCE {
+ eutra-CRS-SequenceInfo-r15 INTEGER (0..31),
+ sib-InbandLocation-r15 ENUMERATED {lower, higher}
+}
+
+Inband-DifferentPCI-TDD-NB-r15 ::= SEQUENCE {
+ eutra-NumCRS-Ports-r15 ENUMERATED {same, four},
+ rasterOffset-r15 ChannelRasterOffset-NB-r13,
+ sib-InbandLocation-r15 ENUMERATED {lower, higher},
+ spare BIT STRING (SIZE (2))
+}
+
+StandaloneTDD-NB-r15 ::= SEQUENCE {
+ sib-StandaloneLocation-r15 ENUMERATED {lower, higher},
+ spare BIT STRING (SIZE (5))
+}
+
+SIB-GuardbandAnchorTDD-NB-r15 ::= SEQUENCE {
+ spare BIT STRING (SIZE (1))
+}
+
+SIB-GuardbandGuardbandTDD-NB-r15 ::= SEQUENCE {
+ sib-GuardbandGuardbandLocation-r15 ENUMERATED {same, opposite}
+}
+
+SIB-GuardbandInbandSamePCI-TDD-NB-r15 ::= SEQUENCE {
+ spare BIT STRING (SIZE (1))
+}
+
+SIB-GuardbandInbandDiffPCI-TDD-NB-r15 ::= SEQUENCE {
+ sib-EUTRA-NumCRS-Ports-r15 ENUMERATED {same, four}
+}
+
+
+Paging-NB ::= SEQUENCE {
+ pagingRecordList-r13 PagingRecordList-NB-r13 OPTIONAL, -- Need ON
+ systemInfoModification-r13 ENUMERATED {true} OPTIONAL, -- Need ON
+ systemInfoModification-eDRX-r13 ENUMERATED {true} OPTIONAL, -- Need ON
+ nonCriticalExtension Paging-NB-v1610-IEs OPTIONAL
+}
+
+Paging-NB-v1610-IEs ::= SEQUENCE {
+ pagingRecordList-v1610 PagingRecordList-NB-v1610 OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+PagingRecordList-NB-r13 ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord-NB-r13
+
+PagingRecordList-NB-v1610 ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord-NB-v1610
+
+PagingRecord-NB-r13 ::= SEQUENCE {
+ ue-Identity-r13 PagingUE-Identity,
+ ...
+}
+
+PagingRecord-NB-v1610 ::= SEQUENCE {
+ mt-EDT-r16 ENUMERATED {true} OPTIONAL -- Need ON
+}
+
+
+PURConfigurationRequest-NB-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ purConfigurationRequest-r16 PURConfigurationRequest-NB-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+PURConfigurationRequest-NB-r16-IEs ::= SEQUENCE {
+ pur-ConfigRequest-r16 PUR-ConfigRequest-NB-r16 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+PUR-ConfigRequest-NB-r16 ::= CHOICE{
+ pur-ReleaseRequest NULL,
+ pur-SetupRequest SEQUENCE {
+ requestedNumOccasions-r16 ENUMERATED {one, infinite},
+ requestedPeriodicityAndOffset-r16 PUR-PeriodicityAndOffset-NB-r16,
+ requestedTBS-r16 ENUMERATED {b328, b376, b424, b472, b504, b552, b584,
+ b616, b680, b744, b776, b808, b872, b904,
+ b936, b968, b1000, b1032, b1096, b1128,
+ b1192, b1224, b1256, b1352, b1384, b1544,
+ b1608, b1736, b1800, b2024, b2280, b2536},
+ rrc-ACK-r16 ENUMERATED {true} OPTIONAL
+ }
+}
+
+
+RRCConnectionReconfiguration-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ rrcConnectionReconfiguration-r13 RRCConnectionReconfiguration-NB-r13-IEs,
+ spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReconfiguration-NB-r13-IEs ::= SEQUENCE {
+ dedicatedInfoNASList-r13 SEQUENCE (SIZE(1..maxDRB-NB-r13)) OF
+ DedicatedInfoNAS OPTIONAL, -- Need ON
+ radioResourceConfigDedicated-r13 RadioResourceConfigDedicated-NB-r13 OPTIONAL, -- Need ON
+ fullConfig-r13 ENUMERATED {true} OPTIONAL, -- Cond Reestab
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionReconfigurationComplete-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcConnectionReconfigurationComplete-r13 RRCConnectionReconfigurationComplete-NB-r13-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReconfigurationComplete-NB-r13-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+
+RRCConnectionReestablishment-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ rrcConnectionReestablishment-r13 RRCConnectionReestablishment-NB-r13-IEs,
+ spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReestablishment-NB-r13-IEs ::= SEQUENCE {
+ radioResourceConfigDedicated-r13 RadioResourceConfigDedicated-NB-r13,
+ nextHopChainingCount-r13 NextHopChainingCount,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishment-NB-v1430-IEs OPTIONAL
+}
+
+RRCConnectionReestablishment-NB-v1430-IEs ::= SEQUENCE {
+ dl-NAS-MAC BIT STRING (SIZE (16)) OPTIONAL, -- Cond Reestablish-CP
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionReestablishmentComplete-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcConnectionReestablishmentComplete-r13 RRCConnectionReestablishmentComplete-NB-r13-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReestablishmentComplete-NB-r13-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishmentComplete-NB-v1470-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-NB-v1470-IEs ::= SEQUENCE {
+ measResultServCell-r14 MeasResultServCell-NB-r14 OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishmentComplete-NB-v1610-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-NB-v1610-IEs ::= SEQUENCE {
+ rlf-InfoAvailable-r16 ENUMERATED {true} OPTIONAL,
+ anr-InfoAvailable-r16 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionReestablishmentComplete-NB-v1710-IEs OPTIONAL
+}
+
+RRCConnectionReestablishmentComplete-NB-v1710-IEs ::= SEQUENCE {
+ gnss-ValidityDuration-r17 GNSS-ValidityDuration-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RRCConnectionReestablishmentRequest-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcConnectionReestablishmentRequest-r13
+ RRCConnectionReestablishmentRequest-NB-r13-IEs,
+ later CHOICE {
+ rrcConnectionReestablishmentRequest-r14
+ RRCConnectionReestablishmentRequest-NB-r14-IEs,
+ later CHOICE {
+ rrcConnectionReestablishmentRequest-r16
+ RRCConnectionReestablishmentRequest-5GC-NB-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+ }
+ }
+}
+
+RRCConnectionReestablishmentRequest-NB-r13-IEs ::= SEQUENCE {
+ ue-Identity-r13 ReestabUE-Identity,
+ reestablishmentCause-r13 ReestablishmentCause-NB-r13,
+ cqi-NPDCCH-r14 CQI-NPDCCH-NB-r14,
+ earlyContentionResolution-r14 BOOLEAN,
+ spare BIT STRING (SIZE (20))
+}
+
+RRCConnectionReestablishmentRequest-NB-r14-IEs ::= SEQUENCE {
+ ue-Identity-r14 ReestabUE-Identity-CP-NB-r14,
+ reestablishmentCause-r14 ReestablishmentCause-NB-r13,
+ cqi-NPDCCH-r14 CQI-NPDCCH-Short-NB-r14,
+ earlyContentionResolution-r14 BOOLEAN,
+ spare BIT STRING (SIZE (1))
+}
+
+RRCConnectionReestablishmentRequest-5GC-NB-r16-IEs ::= SEQUENCE {
+ ue-Identity-r16 ReestabUE-Identity-CP-5GC-NB-r16,
+ reestablishmentCause-r16 ReestablishmentCause-NB-r13,
+ cqi-NPDCCH-r16 CQI-NPDCCH-Short-NB-r14,
+ spare BIT STRING (SIZE (1))
+}
+
+ReestablishmentCause-NB-r13 ::= ENUMERATED {
+ reconfigurationFailure, otherFailure,
+ spare2, spare1}
+
+ReestabUE-Identity-CP-NB-r14 ::= SEQUENCE {
+ s-TMSI-r14 S-TMSI,
+ ul-NAS-MAC-r14 BIT STRING (SIZE (16)),
+ ul-NAS-Count-r14 BIT STRING (SIZE (5))
+}
+
+ReestabUE-Identity-CP-5GC-NB-r16 ::= SEQUENCE {
+ truncated5G-S-TMSI-r16 BIT STRING (SIZE (40)),
+ ul-NAS-MAC-r16 BIT STRING (SIZE (16)),
+ ul-NAS-Count-r16 BIT STRING (SIZE (5))
+}
+
+
+RRCConnectionReject-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ rrcConnectionReject-r13 RRCConnectionReject-NB-r13-IEs,
+ spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionReject-NB-r13-IEs ::= SEQUENCE {
+ extendedWaitTime-r13 INTEGER (1..1800),
+ rrc-SuspendIndication-r13 ENUMERATED {true} OPTIONAL, -- Need ON
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionRelease-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ rrcConnectionRelease-r13 RRCConnectionRelease-NB-r13-IEs,
+ spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionRelease-NB-r13-IEs ::= SEQUENCE {
+ releaseCause-r13 ReleaseCause-NB-r13,
+ resumeIdentity-r13 ResumeIdentity-r13 OPTIONAL, -- Need OR
+ extendedWaitTime-r13 INTEGER (1..1800) OPTIONAL, -- Need ON
+ redirectedCarrierInfo-r13 RedirectedCarrierInfo-NB-r13 OPTIONAL, -- Need ON
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionRelease-NB-v1430-IEs OPTIONAL
+}
+
+RRCConnectionRelease-NB-v1430-IEs ::= SEQUENCE {
+ redirectedCarrierInfo-v1430 RedirectedCarrierInfo-NB-v1430 OPTIONAL, -- Cond Redirection
+ extendedWaitTime-CPdata-r14 INTEGER (1..1800) OPTIONAL, -- Cond NoExtendedWaitTime
+ nonCriticalExtension RRCConnectionRelease-NB-v1530-IEs OPTIONAL
+}
+
+RRCConnectionRelease-NB-v1530-IEs ::= SEQUENCE {
+ drb-ContinueROHC-r15 ENUMERATED {true} OPTIONAL, -- Cond UP-EDT
+ nextHopChainingCount-r15 NextHopChainingCount OPTIONAL, -- Cond EarlySec
+ nonCriticalExtension RRCConnectionRelease-NB-v1550-IEs OPTIONAL
+}
+
+RRCConnectionRelease-NB-v1550-IEs ::= SEQUENCE {
+ redirectedCarrierInfo-v1550 RedirectedCarrierInfo-NB-v1550 OPTIONAL, -- Cond Redirection-TDD
+ nonCriticalExtension RRCConnectionRelease-NB-v15b0-IEs OPTIONAL
+}
+
+RRCConnectionRelease-NB-v15b0-IEs ::= SEQUENCE {
+ noLastCellUpdate-r15 ENUMERATED {true} OPTIONAL, -- Need OP
+ nonCriticalExtension RRCConnectionRelease-NB-v1610-IEs OPTIONAL
+}
+
+RRCConnectionRelease-NB-v1610-IEs ::= SEQUENCE {
+ resumeIdentity-r16 I-RNTI-r15 OPTIONAL, -- Need OR
+ anr-MeasConfig-r16 ANR-MeasConfig-NB-r16 OPTIONAL, -- Need OP
+ pur-Config-r16 CHOICE {release NULL, setup PUR-Config-NB-r16}
+ OPTIONAL, -- Need ON
+ nonCriticalExtension RRCConnectionRelease-NB-v1700-IEs OPTIONAL
+}
+
+RRCConnectionRelease-NB-v1700-IEs ::= SEQUENCE {
+ cbp-Index-r17 INTEGER (1..2) OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+ReleaseCause-NB-r13 ::= ENUMERATED {loadBalancingTAUrequired, other,
+ rrc-Suspend, spare1}
+RedirectedCarrierInfo-NB-r13::= CarrierFreq-NB-r13
+
+RedirectedCarrierInfo-NB-v1430 ::= SEQUENCE {
+ redirectedCarrierOffsetDedicated-r14 ENUMERATED{
+ dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
+ dB12, dB14, dB16, dB18, dB20, dB22, dB24, dB26},
+ t322-r14 ENUMERATED{
+ min5, min10, min20, min30, min60, min120, min180,
+ spare1}
+}
+
+RedirectedCarrierInfo-NB-v1550::= CarrierFreq-NB-v1550
+
+
+RRCConnectionRequest-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcConnectionRequest-r13 RRCConnectionRequest-NB-r13-IEs,
+ later CHOICE {
+ rrcConnectionRequest-r16 RRCConnectionRequest-5GC-NB-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+ }
+}
+
+RRCConnectionRequest-NB-r13-IEs ::= SEQUENCE {
+ ue-Identity-r13 InitialUE-Identity,
+ establishmentCause-r13 EstablishmentCause-NB-r13,
+ multiToneSupport-r13 ENUMERATED {true} OPTIONAL,
+ multiCarrierSupport-r13 ENUMERATED {true} OPTIONAL,
+ earlyContentionResolution-r14 BOOLEAN,
+ cqi-NPDCCH-r14 CQI-NPDCCH-NB-r14,
+ spare BIT STRING (SIZE (17))
+}
+
+RRCConnectionRequest-5GC-NB-r16-IEs ::= SEQUENCE {
+ ue-Identity-r16 InitialUE-Identity-5GC-NB-r16,
+ establishmentCause-r16 ENUMERATED {
+ mt-Access, mo-Signalling, mo-Data, mo-ExceptionData,
+ spare4, spare3, spare2, spare1},
+ cqi-NPDCCH-r16 CQI-NPDCCH-NB-r14,
+ spare BIT STRING (SIZE (11))
+}
+
+InitialUE-Identity-5GC-NB-r16 ::= CHOICE {
+ ng-5G-S-TMSI-r16 NG-5G-S-TMSI-r15,
+ randomValue BIT STRING (SIZE (48))
+}
+
+
+RRCConnectionResume-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ rrcConnectionResume-r13 RRCConnectionResume-NB-r13-IEs,
+ spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionResume-NB-r13-IEs ::= SEQUENCE {
+ radioResourceConfigDedicated-r13 RadioResourceConfigDedicated-NB-r13 OPTIONAL, -- Need ON
+ nextHopChainingCount-r13 NextHopChainingCount,
+ drb-ContinueROHC-r13 ENUMERATED {true} OPTIONAL, -- Need OP
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionResume-NB-v1610-IEs OPTIONAL
+}
+
+RRCConnectionResume-NB-v1610-IEs ::= SEQUENCE {
+ fullConfig-r16 ENUMERATED {true} OPTIONAL, -- Cond 5GC
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionResumeComplete-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcConnectionResumeComplete-r13 RRCConnectionResumeComplete-NB-r13-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionResumeComplete-NB-r13-IEs ::= SEQUENCE {
+ selectedPLMN-Identity-r13 INTEGER (1..maxPLMN-r11) OPTIONAL,
+ dedicatedInfoNAS-r13 DedicatedInfoNAS OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionResumeComplete-NB-v1470-IEs OPTIONAL
+}
+
+RRCConnectionResumeComplete-NB-v1470-IEs ::= SEQUENCE {
+ measResultServCell-r14 MeasResultServCell-NB-r14 OPTIONAL,
+ nonCriticalExtension RRCConnectionResumeComplete-NB-v1610-IEs OPTIONAL
+}
+
+RRCConnectionResumeComplete-NB-v1610-IEs ::= SEQUENCE {
+ rlf-InfoAvailable-r16 ENUMERATED {true} OPTIONAL,
+ anr-InfoAvailable-r16 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCConnectionResumeComplete-NB-v1710-IEs OPTIONAL
+}
+
+RRCConnectionResumeComplete-NB-v1710-IEs ::= SEQUENCE {
+ gnss-ValidityDuration-r17 GNSS-ValidityDuration-r17 OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionResumeRequest-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcConnectionResumeRequest-r13 RRCConnectionResumeRequest-NB-r13-IEs,
+ later CHOICE {
+ rrcConnectionResumeRequest-r16 RRCConnectionResumeRequest-5GC-NB-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+ }
+}
+
+RRCConnectionResumeRequest-NB-r13-IEs ::= SEQUENCE {
+ resumeID-r13 ResumeIdentity-r13,
+ shortResumeMAC-I-r13 ShortMAC-I,
+ resumeCause-r13 EstablishmentCause-NB-r13,
+ earlyContentionResolution-r14 BOOLEAN,
+ cqi-NPDCCH-r14 CQI-NPDCCH-NB-r14,
+ anr-InfoAvailable-r16 BOOLEAN,
+ spare BIT STRING (SIZE (3))
+}
+
+RRCConnectionResumeRequest-5GC-NB-r16-IEs ::= SEQUENCE {
+ resumeID-r16 I-RNTI-r15,
+ shortResumeMAC-I-r16 ShortMAC-I,
+ resumeCause-r16 EstablishmentCause-NB-r13,
+ cqi-NPDCCH-r16 CQI-NPDCCH-NB-r14,
+ spare BIT STRING (SIZE (4))
+}
+
+
+RRCConnectionSetup-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ rrcConnectionSetup-r13 RRCConnectionSetup-NB-r13-IEs,
+ spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionSetup-NB-r13-IEs ::= SEQUENCE {
+ radioResourceConfigDedicated-r13 RadioResourceConfigDedicated-NB-r13,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionSetup-NB-v1610-IEs OPTIONAL
+}
+
+RRCConnectionSetup-NB-v1610-IEs ::= SEQUENCE {
+ dedicatedInfoNAS-r16 DedicatedInfoNAS OPTIONAL, -- Need ON
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCConnectionSetupComplete-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE{
+ rrcConnectionSetupComplete-r13 RRCConnectionSetupComplete-NB-r13-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCConnectionSetupComplete-NB-r13-IEs ::= SEQUENCE {
+ selectedPLMN-Identity-r13 INTEGER (1..maxPLMN-r11),
+ s-TMSI-r13 S-TMSI OPTIONAL,
+ registeredMME-r13 RegisteredMME OPTIONAL,
+ dedicatedInfoNAS-r13 DedicatedInfoNAS,
+ attachWithoutPDN-Connectivity-r13 ENUMERATED {true} OPTIONAL,
+ up-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-NB-v1430-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-NB-v1430-IEs ::= SEQUENCE {
+ gummei-Type-r14 ENUMERATED { mapped} OPTIONAL,
+ dcn-ID-r14 INTEGER (0..65535) OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-NB-v1470-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-NB-v1470-IEs ::= SEQUENCE {
+ measResultServCell-r14 MeasResultServCell-NB-r14 OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-NB-v1610-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-NB-v1610-IEs ::= SEQUENCE {
+ ng-5G-S-TMSI-r16 NG-5G-S-TMSI-r15 OPTIONAL,
+ registeredAMF-r16 RegisteredAMF-r15 OPTIONAL,
+ gummei-Type-v1610 ENUMERATED {mappedFrom5G} OPTIONAL,
+ guami-Type-r16 ENUMERATED {native, mapped} OPTIONAL,
+ s-NSSAI-list-r16 SEQUENCE(SIZE (1..maxNrofS-NSSAI-r15)) OF
+ S-NSSAI-r15 OPTIONAL,
+ ng-U-DataTransfer-r16 ENUMERATED {true} OPTIONAL,
+ up-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL,
+ rlf-InfoAvailable-r16 ENUMERATED {true} OPTIONAL,
+ anr-InfoAvailable-r16 ENUMERATED {true} OPTIONAL,
+ pur-ConfigID-r16 PUR-ConfigID-NB-r16 OPTIONAL,
+ nonCriticalExtension RRCConnectionSetupComplete-NB-v1710-IEs OPTIONAL
+}
+
+RRCConnectionSetupComplete-NB-v1710-IEs ::= SEQUENCE {
+ gnss-ValidityDuration-r17 GNSS-ValidityDuration-r17 OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCEarlyDataComplete-NB-r15 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcEarlyDataComplete-r15 RRCEarlyDataComplete-NB-r15-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCEarlyDataComplete-NB-r15-IEs ::= SEQUENCE {
+ dedicatedInfoNAS-r15 DedicatedInfoNAS OPTIONAL, -- Need ON
+ extendedWaitTime-r15 INTEGER (1..1800) OPTIONAL, -- Need ON
+ redirectedCarrierInfo-r15 RedirectedCarrierInfo-NB-r13 OPTIONAL, -- Need ON
+ redirectedCarrierInfoExt-r15 RedirectedCarrierInfo-NB-v1430 OPTIONAL, -- Cond Redirection
+ nonCriticalExtension RRCEarlyDataComplete-NB-v1590-IEs OPTIONAL
+}
+
+RRCEarlyDataComplete-NB-v1590-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCEarlyDataComplete-NB-v1700-IEs OPTIONAL
+}
+
+RRCEarlyDataComplete-NB-v1700-IEs ::= SEQUENCE {
+ cbp-Index-r17 INTEGER (1..2) OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+RRCEarlyDataRequest-NB-r15 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcEarlyDataRequest-r15 RRCEarlyDataRequest-NB-r15-IEs,
+ later CHOICE {
+ rrcEarlyDataRequest-r16 RRCEarlyDataRequest-5GC-NB-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+ }
+}
+
+RRCEarlyDataRequest-NB-r15-IEs ::= SEQUENCE {
+ s-TMSI-r15 S-TMSI,
+ establishmentCause-r15 ENUMERATED {mo-Data, mo-ExceptionData, delayTolerantAccess, mt-Access-v1610},
+ cqi-NPDCCH-r15 CQI-NPDCCH-NB-r14 OPTIONAL,
+ dedicatedInfoNAS-r15 DedicatedInfoNAS,
+ nonCriticalExtension RRCEarlyDataRequest-NB-v1590-IEs OPTIONAL
+}
+
+RRCEarlyDataRequest-NB-v1590-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RRCEarlyDataRequest-5GC-NB-r16-IEs ::= SEQUENCE {
+ ng-5G-S-TMSI-r16 NG-5G-S-TMSI-r15,
+ establishmentCause-r16 ENUMERATED {mo-Data, mo-ExceptionData, mt-Access, spare1},
+ cqi-NPDCCH-r16 CQI-NPDCCH-NB-r14 OPTIONAL,
+ dedicatedInfoNAS-r16 DedicatedInfoNAS,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SCPTMConfiguration-NB-r14 ::= SEQUENCE {
+ sc-mtch-InfoList-r14 SC-MTCH-InfoList-NB-r14,
+ scptm-NeighbourCellList-r14 SCPTM-NeighbourCellList-NB-r14 OPTIONAL, -- Need OP
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SCPTMConfiguration-NB-v1610 OPTIONAL
+}
+
+SCPTMConfiguration-NB-v1610 ::= SEQUENCE {
+ sc-mtch-InfoListMultiTB-r16 SC-MTCH-InfoList-NB-r14,
+ multiTB-Gap-r16 ENUMERATED {sf16, sf32, sf64, sf128} OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SystemInformation-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ systemInformation-r13 SystemInformation-NB-r13-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+SystemInformation-NB-r13-IEs ::= SEQUENCE {
+ sib-TypeAndInfo-r13 SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
+ sib2-r13 SystemInformationBlockType2-NB-r13,
+ sib3-r13 SystemInformationBlockType3-NB-r13,
+ sib4-r13 SystemInformationBlockType4-NB-r13,
+ sib5-r13 SystemInformationBlockType5-NB-r13,
+ sib14-r13 SystemInformationBlockType14-NB-r13,
+ sib16-r13 SystemInformationBlockType16-NB-r13,
+ ...,
+ sib15-v1430 SystemInformationBlockType15-NB-r14,
+ sib20-v1430 SystemInformationBlockType20-NB-r14,
+ sib22-v1430 SystemInformationBlockType22-NB-r14,
+ sib23-v1530 SystemInformationBlockType23-NB-r15,
+ sib27-v1610 SystemInformationBlockType27-NB-r16,
+ sib31-v1700 SystemInformationBlockType31-NB-r17,
+ sib32-v1700 SystemInformationBlockType32-NB-r17
+ },
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SystemInformationBlockType1-NB ::= SEQUENCE {
+ hyperSFN-MSB-r13 BIT STRING (SIZE (8)),
+ cellAccessRelatedInfo-r13 SEQUENCE {
+ plmn-IdentityList-r13 PLMN-IdentityList-NB-r13,
+ trackingAreaCode-r13 TrackingAreaCode,
+ cellIdentity-r13 CellIdentity,
+ cellBarred-r13 ENUMERATED {barred, notBarred},
+ intraFreqReselection-r13 ENUMERATED {allowed, notAllowed}
+ },
+ cellSelectionInfo-r13 SEQUENCE {
+ q-RxLevMin-r13 Q-RxLevMin,
+ q-QualMin-r13 Q-QualMin-r9
+ },
+ p-Max-r13 P-Max OPTIONAL, -- Need OP
+ freqBandIndicator-r13 FreqBandIndicator-NB-r13,
+ freqBandInfo-r13 NS-PmaxList-NB-r13 OPTIONAL, -- Need OR
+ multiBandInfoList-r13 MultiBandInfoList-NB-r13 OPTIONAL, -- Need OR
+ downlinkBitmap-r13 DL-Bitmap-NB-r13 OPTIONAL, -- Cond SIB1
+ eutraControlRegionSize-r13 ENUMERATED {n1, n2, n3} OPTIONAL, -- Cond inband
+ nrs-CRS-PowerOffset-r13 ENUMERATED {dB-6, dB-4dot77, dB-3,
+ dB-1dot77, dB0, dB1,
+ dB1dot23, dB2, dB3,
+ dB4, dB4dot23, dB5,
+ dB6, dB7, dB8,
+ dB9} OPTIONAL, -- Cond inband-SamePCI
+ schedulingInfoList-r13 SchedulingInfoList-NB-r13,
+ si-WindowLength-r13 ENUMERATED {ms160, ms320, ms480, ms640,
+ ms960, ms1280, ms1600, spare1},
+ si-RadioFrameOffset-r13 INTEGER (1..15) OPTIONAL, -- Need OP
+ systemInfoValueTagList-r13 SystemInfoValueTagList-NB-r13 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SystemInformationBlockType1-NB-v1350 OPTIONAL
+}
+
+SystemInformationBlockType1-NB-v1350 ::= SEQUENCE {
+ cellSelectionInfo-v1350 CellSelectionInfo-NB-v1350 OPTIONAL, -- Cond Qrxlevmin
+ nonCriticalExtension SystemInformationBlockType1-NB-v1430 OPTIONAL
+}
+
+SystemInformationBlockType1-NB-v1430 ::= SEQUENCE {
+ cellSelectionInfo-v1430 CellSelectionInfo-NB-v1430 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-NB-v1450 OPTIONAL
+}
+
+SystemInformationBlockType1-NB-v1450 ::= SEQUENCE {
+ nrs-CRS-PowerOffset-v1450 ENUMERATED {dB-6, dB-4dot77, dB-3,
+ dB-1dot77, dB0, dB1,
+ dB1dot23, dB2, dB3,
+ dB4, dB4dot23, dB5,
+ dB6, dB7, dB8,
+ dB9} OPTIONAL, -- Cond inband-SamePCI-ExceptAnchor
+ nonCriticalExtension SystemInformationBlockType1-NB-v1530 OPTIONAL
+}
+
+SystemInformationBlockType1-NB-v1530 ::= SEQUENCE {
+ tdd-Parameters-r15 SEQUENCE {
+ tdd-Config-r15 TDD-Config-NB-r15,
+ tdd-SI-CarrierInfo-r15 ENUMERATED {anchor, non-anchor},
+ tdd-SI-SubframesBitmap-r15 DL-Bitmap-NB-r13 OPTIONAL -- Cond TDD-SI-NonAnchor
+ } OPTIONAL, -- Cond TDD
+ schedulingInfoList-v1530 SchedulingInfoList-NB-v1530 OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-NB-v1610 OPTIONAL
+}
+
+SystemInformationBlockType1-NB-v1610 ::= SEQUENCE {
+ cellAccessRelatedInfo-5GC-r16 SEQUENCE {
+ plmn-IdentityList-r16 PLMN-IdentityList-5GC-NB-r16,
+ trackingAreaCode-5GC-r16 TrackingAreaCode-5GC-r15,
+ cellIdentity-r16 CellIdentity OPTIONAL, -- Need OP
+ cellBarred-5GC-r16 ENUMERATED {barred, notBarred}
+ } OPTIONAL, -- Need OR
+ nonCriticalExtension SystemInformationBlockType1-NB-v1700 OPTIONAL
+}
+
+SystemInformationBlockType1-NB-v1700 ::= SEQUENCE {
+ cellAccessRelatedInfo-NTN-r17 SEQUENCE {
+ cellBarred-NTN-r17 ENUMERATED {barred, notBarred},
+ plmn-IdentityList-v1700 PLMN-IdentityList-NB-v1700 OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+PLMN-IdentityList-NB-r13 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-NB-r13
+
+PLMN-IdentityList-5GC-NB-r16 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-5GC-NB-r16
+
+PLMN-IdentityList-NB-v1700::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-NB-v1700
+
+PLMN-IdentityInfo-NB-r13 ::= SEQUENCE {
+ plmn-Identity-r13 PLMN-Identity,
+ cellReservedForOperatorUse-r13 ENUMERATED {reserved, notReserved},
+ attachWithoutPDN-Connectivity-r13 ENUMERATED {true} OPTIONAL -- Need OP
+}
+
+PLMN-IdentityInfo-5GC-NB-r16 ::= SEQUENCE {
+ plmn-Identity-5GC-r16 CHOICE {
+ plmn-Identity-r16 PLMN-Identity,
+ plmn-Index-r16 INTEGER (1..maxPLMN-r11)
+ },
+ cellReservedForOperatorUse-r16 ENUMERATED {reserved, notReserved},
+ ng-U-DataTransfer-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+PLMN-IdentityInfo-NB-v1700 ::= SEQUENCE {
+ trackingAreaList-r17 TrackingAreaList-NB-r17 OPTIONAL -- Need OP
+}
+
+TrackingAreaList-NB-r17 ::= SEQUENCE (SIZE (1..maxTAC-NB-r17)) OF TrackingAreaCode
+
+SchedulingInfoList-NB-r13 ::= SEQUENCE (SIZE (1..maxSI-Message-NB-r13)) OF SchedulingInfo-NB-r13
+
+SchedulingInfoList-NB-v1530 ::= SEQUENCE (SIZE (1..maxSI-Message-NB-r13)) OF SchedulingInfo-NB-v1530
+
+SchedulingInfo-NB-r13::= SEQUENCE {
+ si-Periodicity-r13 ENUMERATED {rf64, rf128, rf256, rf512,
+ rf1024, rf2048, rf4096, spare},
+ si-RepetitionPattern-r13 ENUMERATED {every2ndRF, every4thRF, every8thRF, every16thRF},
+ sib-MappingInfo-r13 SIB-MappingInfo-NB-r13,
+ si-TB-r13 ENUMERATED {b56, b120, b208, b256, b328, b440, b552, b680}
+}
+
+SchedulingInfo-NB-v1530::= SEQUENCE {
+ sib-MappingInfo-v1530 SIB-MappingInfo-NB-v1530 OPTIONAL -- Need OR
+}
+
+SystemInfoValueTagList-NB-r13 ::= SEQUENCE (SIZE (1.. maxSI-Message-NB-r13)) OF
+ SystemInfoValueTagSI-r13
+
+SIB-MappingInfo-NB-r13 ::= SEQUENCE (SIZE (0..maxSIB-1)) OF SIB-Type-NB-r13
+
+SIB-MappingInfo-NB-v1530 ::= SEQUENCE (SIZE (1..8)) OF SIB-Type-NB-v1530
+
+SIB-Type-NB-r13 ::= ENUMERATED {
+ sibType3-NB-r13, sibType4-NB-r13, sibType5-NB-r13,
+ sibType14-NB-r13, sibType16-NB-r13, sibType15-NB-r14,
+ sibType20-NB-r14, sibType22-NB-r14}
+
+SIB-Type-NB-v1530 ::= ENUMERATED {
+ sibType23-NB-r15, sibType27-NB-r16, sibType31-NB-r17,
+ sibType32-NB-r17, spare4, spare3, spare2, spare1}
+
+CellSelectionInfo-NB-v1350 ::= SEQUENCE {
+ delta-RxLevMin-v1350 INTEGER (-8..-1)
+}
+
+CellSelectionInfo-NB-v1430 ::= SEQUENCE {
+ powerClass14dBm-Offset-r14 ENUMERATED {dB-6, dB-3, dB3, dB6, dB9, dB12} OPTIONAL, -- Need OP
+ ce-authorisationOffset-r14 ENUMERATED {dB5, dB10, dB15, dB20, dB25, dB30, dB35} OPTIONAL -- Need OP
+}
+
+
+UECapabilityEnquiry-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ueCapabilityEnquiry-r13 UECapabilityEnquiry-NB-r13-IEs,
+ spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityEnquiry-NB-r13-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UECapabilityInformation-NB ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE{
+ ueCapabilityInformation-r13 UECapabilityInformation-NB-r13-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityInformation-NB-r13-IEs ::= SEQUENCE {
+ ue-Capability-r13 UE-Capability-NB-r13,
+ ue-RadioPagingInfo-r13 UE-RadioPagingInfo-NB-r13,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UECapabilityInformation-NB-Ext-r14-IEs OPTIONAL
+}
+
+UECapabilityInformation-NB-Ext-r14-IEs ::= SEQUENCE {
+ ue-Capability-ContainerExt-r14 OCTET STRING (CONTAINING UE-Capability-NB-Ext-r14-IEs),
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UEInformationRequest-NB-r16 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueInformationRequest-r16 UEInformationRequest-NB-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEInformationRequest-NB-r16-IEs ::= SEQUENCE {
+ rach-ReportReq-r16 BOOLEAN,
+ rlf-ReportReq-r16 BOOLEAN,
+ anr-ReportReq-r16 BOOLEAN,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+UEInformationResponse-NB-r16 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueInformationResponse-r16 UEInformationResponse-NB-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEInformationResponse-NB-r16-IEs ::= SEQUENCE {
+ rach-Report-r16 RACH-Report-NB-r16 OPTIONAL,
+ rlf-Report-r16 RLF-Report-NB-r16 OPTIONAL,
+ anr-MeasReport-r16 ANR-MeasReport-NB-r16 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RACH-Report-NB-r16 ::= SEQUENCE {
+ numberOfPreamblesSent-r16 INTEGER (1..64),
+ contentionDetected-r16 BOOLEAN,
+ initialNRSRP-Level-r16 INTEGER (0..2),
+ edt-Fallback-r16 BOOLEAN
+}
+
+RLF-Report-NB-r16 ::= SEQUENCE {
+ failedPCellId-r16 CellGlobalIdEUTRA,
+ reestablishmentCellId-r16 CellGlobalIdEUTRA OPTIONAL,
+ locationInfo-r16 LocationInfo-r10 OPTIONAL,
+ measResultLastServCell-r16 SEQUENCE {
+ nrsrpResult-r16 NRSRP-Range-NB-r14,
+ nrsrqResult-r16 NRSRQ-Range-NB-r14 OPTIONAL
+ },
+ timeSinceFailure-r16 TimeSinceFailure-r11 OPTIONAL
+}
+
+
+ULInformationTransfer-NB ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ ulInformationTransfer-r13 ULInformationTransfer-NB-r13-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULInformationTransfer-NB-r13-IEs ::= SEQUENCE {
+ dedicatedInfoNAS-r13 DedicatedInfoNAS,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+
+SystemInformationBlockType2-NB-r13 ::= SEQUENCE {
+ radioResourceConfigCommon-r13 RadioResourceConfigCommonSIB-NB-r13,
+ ue-TimersAndConstants-r13 UE-TimersAndConstants-NB-r13,
+ freqInfo-r13 SEQUENCE {
+ ul-CarrierFreq-r13 CarrierFreq-NB-r13 OPTIONAL, -- Need OP
+ additionalSpectrumEmission-r13 AdditionalSpectrumEmission
+ },
+ timeAlignmentTimerCommon-r13 TimeAlignmentTimer,
+ multiBandInfoList-r13 SEQUENCE (SIZE (1..maxMultiBands)) OF AdditionalSpectrumEmission OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ cp-Reestablishment-r14 ENUMERATED {true} OPTIONAL -- Need OP
+ ]],
+ [[ servingCellMeasInfo-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ cqi-Reporting-r14 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ enhancedPHR-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ freqInfo-v1530 SEQUENCE {
+ tdd-UL-DL-AlignmentOffset-r15 TDD-UL-DL-AlignmentOffset-NB-r15
+ } OPTIONAL, -- Cond TDD
+ cp-EDT-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-EDT-r15 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ earlySecurityReactivation-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ cp-EDT-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-EDT-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ cp-PUR-EPC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-PUR-EPC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ cp-PUR-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ up-PUR-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ rai-ActivationEnh-r16 ENUMERATED {true} OPTIONAL -- Need OR
+ ]]
+}
+
+
+SystemInformationBlockType3-NB-r13 ::= SEQUENCE {
+ cellReselectionInfoCommon-r13 SEQUENCE {
+ q-Hyst-r13 ENUMERATED {
+ dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
+ dB12, dB14, dB16, dB18, dB20, dB22, dB24
+ }
+ },
+ cellReselectionServingFreqInfo-r13 SEQUENCE {
+ s-NonIntraSearch-r13 ReselectionThreshold
+ },
+ intraFreqCellReselectionInfo-r13 SEQUENCE {
+ q-RxLevMin-r13 Q-RxLevMin,
+ q-QualMin-r13 Q-QualMin-r9 OPTIONAL, -- Need OP
+ p-Max-r13 P-Max OPTIONAL, -- Need OP
+ s-IntraSearchP-r13 ReselectionThreshold,
+ t-Reselection-r13 T-Reselection-NB-r13
+ },
+ freqBandInfo-r13 NS-PmaxList-NB-r13 OPTIONAL, -- Need OR
+ multiBandInfoList-r13 SEQUENCE (SIZE (1..maxMultiBands)) OF
+ NS-PmaxList-NB-r13 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ intraFreqCellReselectionInfo-v1350 IntraFreqCellReselectionInfo-NB-v1350 OPTIONAL -- Cond Qrxlevmin
+ ]],
+ [[ intraFreqCellReselectionInfo-v1360 IntraFreqCellReselectionInfo-NB-v1360 OPTIONAL -- Need OR
+ ]],
+ [[ intraFreqCellReselectionInfo-v1430 IntraFreqCellReselectionInfo-NB-v1430 OPTIONAL -- Need OR
+ ]],
+ [[ cellReselectionInfoCommon-v1450 CellReselectionInfoCommon-NB-v1450 OPTIONAL -- Need OR
+ ]],
+ [[ nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL, -- Need OR
+ npbch-RRM-Config-r15 ENUMERATED {enabled} OPTIONAL -- Need OR
+ ]],
+ [[ connMeasConfig-r17 ConnMeasConfig-NB-r17 OPTIONAL, -- Need OR
+ t-Service-r17 TimeOffsetUTC-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+IntraFreqCellReselectionInfo-NB-v1350 ::= SEQUENCE {
+ delta-RxLevMin-v1350 INTEGER (-8..-1)
+}
+
+IntraFreqCellReselectionInfo-NB-v1360 ::= SEQUENCE {
+ s-IntraSearchP-v1360 ReselectionThreshold-NB-v1360
+}
+
+IntraFreqCellReselectionInfo-NB-v1430 ::= SEQUENCE {
+ powerClass14dBm-Offset-r14 ENUMERATED {dB-6, dB-3, dB3, dB6, dB9, dB12} OPTIONAL, -- Need OP
+ ce-AuthorisationOffset-r14 ENUMERATED {dB5, dB10, dB15, dB20, dB25, dB30, dB35} OPTIONAL -- Need OP
+}
+
+CellReselectionInfoCommon-NB-v1450 ::= SEQUENCE {
+ s-SearchDeltaP-r14 ENUMERATED {dB6, dB9, dB12, dB15}
+}
+
+ConnMeasConfig-NB-r17 ::= SEQUENCE {
+ s-MeasureIntra-r17 NRSRP-Range-NB-r14,
+ s-MeasureInter-r17 NRSRP-Range-NB-r14 OPTIONAL, -- Need OP
+ neighCellMeasCriteria-r17 SEQUENCE {
+ s-MeasureDeltaP-r17 ENUMERATED {dB6, dB9, dB12, dB15},
+ t-MeasureDeltaP-r17 ENUMERATED {s15, s30, s45, s60}
+ } OPTIONAL -- Need OR
+}
+
+
+SystemInformationBlockType4-NB-r13 ::= SEQUENCE {
+ intraFreqNeighCellList-r13 IntraFreqNeighCellList OPTIONAL, -- Need OR
+ intraFreqExcludedCellList-r13 IntraFreqExcludedCellList OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL, -- Need OR
+ intraFreqNeighCellList-v1530 IntraFreqNeighCellList-NB-v1530 OPTIONAL -- Need OR
+ ]]
+}
+
+IntraFreqNeighCellList-NB-v1530 ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo-NB-v1530
+
+IntraFreqNeighCellInfo-NB-v1530 ::= SEQUENCE {
+ nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL -- Cond NSSS-RRM
+}
+
+
+SystemInformationBlockType5-NB-r13 ::= SEQUENCE {
+ interFreqCarrierFreqList-r13 InterFreqCarrierFreqList-NB-r13,
+ t-Reselection-r13 T-Reselection-NB-r13,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ scptm-FreqOffset-r14 INTEGER (1..8) OPTIONAL -- Need OP
+ ]]
+}
+
+
+InterFreqCarrierFreqList-NB-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-NB-r13
+
+
+InterFreqCarrierFreqInfo-NB-r13 ::= SEQUENCE {
+ dl-CarrierFreq-r13 CarrierFreq-NB-r13,
+ q-RxLevMin-r13 Q-RxLevMin,
+ q-QualMin-r13 Q-QualMin-r9 OPTIONAL, -- Need OP
+ p-Max-r13 P-Max OPTIONAL, -- Need OP
+ q-OffsetFreq-r13 Q-OffsetRange DEFAULT dB0,
+ interFreqNeighCellList-r13 InterFreqNeighCellList-NB-r13 OPTIONAL, -- Need OR
+ interFreqExcludedCellList-r13 InterFreqExcludedCellList-NB-r13 OPTIONAL, -- Need OR
+ multiBandInfoList-r13 MultiBandInfoList-NB-r13 OPTIONAL, -- Need OR
+ ...,
+ [[ delta-RxLevMin-v1350 INTEGER (-8..-1) OPTIONAL -- Cond Qrxlevmin
+ ]],
+ [[ powerClass14dBm-Offset-r14 ENUMERATED {dB-6, dB-3, dB3, dB6, dB9, dB12}
+OPTIONAL, -- Need OP
+ ce-AuthorisationOffset-r14 ENUMERATED {dB5, dB10, dB15, dB20, dB25, dB30, dB35} OPTIONAL -- Need OP
+ ]],
+ [[ nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL, -- Need OR
+ interFreqNeighCellList-v1530 InterFreqNeighCellList-NB-v1530 OPTIONAL -- Need OR
+ ]],
+ [[ dl-CarrierFreq-v1550 CarrierFreq-NB-v1550 OPTIONAL -- Cond TDD
+ ]]
+}
+
+InterFreqNeighCellList-NB-r13 ::= SEQUENCE (SIZE (1..maxCellInter)) OF PhysCellId
+
+InterFreqNeighCellList-NB-v1530 ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo-NB-v1530
+
+InterFreqNeighCellInfo-NB-v1530 ::= SEQUENCE {
+ nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL -- Cond NSSS-RRM
+}
+
+InterFreqExcludedCellList-NB-r13 ::= SEQUENCE (SIZE (1..maxExcludedCell)) OF PhysCellId
+
+
+SystemInformationBlockType14-NB-r13 ::= SEQUENCE {
+ ab-Param-r13 CHOICE {
+ ab-Common-r13 AB-Config-NB-r13,
+ ab-PerPLMN-List-r13 SEQUENCE (SIZE (1..maxPLMN-r11)) OF AB-ConfigPLMN-NB-r13
+ } OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ ab-PerNRSRP-r15 ENUMERATED {thresh1, thresh2} OPTIONAL -- Need OR
+ ]],
+ [[ uac-Param-r16 UAC-Param-NB-r16 OPTIONAL -- Need OR
+ ]]
+}
+
+AB-ConfigPLMN-NB-r13 ::= SEQUENCE {
+ ab-Config-r13 AB-Config-NB-r13 OPTIONAL -- Need OR
+}
+
+AB-Config-NB-r13 ::= SEQUENCE {
+ ab-Category-r13 ENUMERATED {a, b, c},
+ ab-BarringBitmap-r13 BIT STRING (SIZE(10)),
+ ab-BarringForExceptionData-r13 ENUMERATED {true} OPTIONAL, -- Need OP
+ ab-BarringForSpecialAC-r13 BIT STRING (SIZE(5))
+}
+
+UAC-Param-NB-r16 ::= CHOICE {
+ uac-BarringCommon UAC-Barring-NB-r16,
+ uac-BarringPerPLMN-List SEQUENCE (SIZE (1..maxPLMN-r11)) OF UAC-Barring-NB-r16
+}
+
+UAC-Barring-NB-r16 ::= SEQUENCE {
+ uac-BarringPerCatList-r16 UAC-BarringPerCatList-NB-r16 OPTIONAL, -- Need OR
+ uac-AC1-SelectAssistInfo-r16 UAC-AC1-SelectAssistInfo-r15 OPTIONAL, -- Need OR
+ uac-BarringForAccessIdentity-r16 BIT STRING (SIZE(7))
+}
+
+UAC-BarringPerCatList-NB-r16 ::= SEQUENCE (SIZE (1..maxAccessCat-1-r15)) OF UAC-BarringPerCat-NB-r16
+
+UAC-BarringPerCat-NB-r16 ::= SEQUENCE {
+ uac-accessCategory-r16 INTEGER (1..maxAccessCat-1-r15),
+ uac-BarringFactor-r16 ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p40,
+ p50, p60, p70, p75, p80, p85, p90, p95},
+ uac-BarringTime-r16 ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512}
+}
+
+
+SystemInformationBlockType15-NB-r14 ::= SEQUENCE {
+ mbms-SAI-IntraFreq-r14 MBMS-SAI-List-r11 OPTIONAL, -- Need OR
+ mbms-SAI-InterFreqList-r14 MBMS-SAI-InterFreqList-NB-r14 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+MBMS-SAI-InterFreqList-NB-r14 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-SAI-InterFreq-NB-r14
+
+MBMS-SAI-InterFreq-NB-r14 ::= SEQUENCE {
+ dl-CarrierFreq-r14 CarrierFreq-NB-r13,
+ mbms-SAI-List-r14 MBMS-SAI-List-r11,
+ multiBandInfoList-r14 AdditionalBandInfoList-NB-r14 OPTIONAL -- Need OR
+}
+
+
+SystemInformationBlockType16-NB-r13 ::= SystemInformationBlockType16-r11
+
+
+SystemInformationBlockType20-NB-r14 ::= SEQUENCE {
+ npdcch-SC-MCCH-Config-r14 NPDCCH-SC-MCCH-Config-NB-r14,
+ sc-mcch-CarrierConfig-r14 CHOICE {
+ dl-CarrierConfig-r14 DL-CarrierConfigCommon-NB-r14,
+ dl-CarrierIndex-r14 INTEGER (0.. maxNonAnchorCarriers-NB-r14)
+ },
+ sc-mcch-RepetitionPeriod-r14 ENUMERATED {rf32, rf128, rf512, rf1024,
+ rf2048, rf4096, rf8192, rf16384},
+ sc-mcch-Offset-r14 INTEGER (0..10),
+ sc-mcch-ModificationPeriod-r14 ENUMERATED { rf32, rf128, rf256, rf512, rf1024,
+ rf2048, rf4096, rf8192, rf16384, rf32768,
+ rf65536, rf131072, rf262144, rf524288,
+ rf1048576, spare1},
+ sc-mcch-SchedulingInfo-r14 SC-MCCH-SchedulingInfo-NB-r14 OPTIONAL, -- Need OP
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+NPDCCH-SC-MCCH-Config-NB-r14 ::= SEQUENCE {
+ npdcch-NumRepetitions-SC-MCCH-r14 ENUMERATED {r1, r2, r4, r8, r16,
+ r32, r64, r128, r256,
+ r512, r1024, r2048},
+ npdcch-StartSF-SC-MCCH-r14 ENUMERATED {v1dot5, v2, v4, v8,
+ v16, v32, v48, v64},
+ npdcch-Offset-SC-MCCH-r14 ENUMERATED {zero, oneEighth, oneQuarter,
+ threeEighth, oneHalf, fiveEighth,
+ threeQuarter, sevenEighth}
+}
+
+SC-MCCH-SchedulingInfo-NB-r14::= SEQUENCE {
+ onDurationTimerSCPTM-r14 ENUMERATED {
+ pp1, pp2, pp3, pp4,
+ pp8, pp16, pp32, spare},
+ drx-InactivityTimerSCPTM-r14 ENUMERATED {
+ pp0, pp1, pp2, pp3,
+ pp4, pp8, pp16, pp32},
+ schedulingPeriodStartOffsetSCPTM-r14 CHOICE {
+ sf10 INTEGER(0..9),
+ sf20 INTEGER(0..19),
+ sf32 INTEGER(0..31),
+ sf40 INTEGER(0..39),
+ sf64 INTEGER(0..63),
+ sf80 INTEGER(0..79),
+ sf128 INTEGER(0..127),
+ sf160 INTEGER(0..159),
+ sf256 INTEGER(0..255),
+ sf320 INTEGER(0..319),
+ sf512 INTEGER(0..511),
+ sf640 INTEGER(0..639),
+ sf1024 INTEGER(0..1023),
+ sf2048 INTEGER(0..2047),
+ sf4096 INTEGER(0..4095),
+ sf8192 INTEGER(0..8191)
+ },
+ ...
+}
+
+
+SystemInformationBlockType22-NB-r14 ::= SEQUENCE {
+ dl-ConfigList-r14 DL-ConfigCommonList-NB-r14 OPTIONAL, -- Need OR
+ ul-ConfigList-r14 UL-ConfigCommonList-NB-r14 OPTIONAL, -- Need OR
+ pagingWeightAnchor-r14 PagingWeight-NB-r14 OPTIONAL, -- Cond pcch-config
+ nprach-ProbabilityAnchorList-r14 NPRACH-ProbabilityAnchorList-NB-r14 OPTIONAL, -- Cond nprach-config
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[ mixedOperationModeConfig-r15 SEQUENCE {
+ dl-ConfigListMixed-r15 DL-ConfigCommonList-NB-r14 OPTIONAL, -- Cond dl-ConfigList
+ ul-ConfigListMixed-r15 UL-ConfigCommonList-NB-r14 OPTIONAL, -- Cond ul-ConfigList
+ pagingDistribution-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ nprach-Distribution-r15 ENUMERATED {true} OPTIONAL -- Need OR
+ } OPTIONAL, -- Need OR
+ ul-ConfigList-r15 UL-ConfigCommonListTDD-NB-r15 OPTIONAL -- Cond TDD
+ ]],
+ [[ coverageBasedPagingConfig-r17 CoverageBasedPagingConfig-NB-r17 OPTIONAL -- Need OR
+ ]]
+}
+
+DL-ConfigCommonList-NB-r14 ::= SEQUENCE (SIZE (1.. maxNonAnchorCarriers-NB-r14)) OF
+ DL-ConfigCommon-NB-r14
+
+UL-ConfigCommonList-NB-r14 ::= SEQUENCE (SIZE (1.. maxNonAnchorCarriers-NB-r14)) OF
+ UL-ConfigCommon-NB-r14
+
+UL-ConfigCommonListTDD-NB-r15 ::= SEQUENCE (SIZE (1.. maxNonAnchorCarriers-NB-r14)) OF
+ UL-ConfigCommonTDD-NB-r15
+
+CoverageBasedPagingConfig-NB-r17 ::= SEQUENCE {
+ cbp-HystTimer-r17 ENUMERATED {ms2560, ms7680, ms12800, ms17920, ms23040, ms28160, ms33280, ms40960},
+ cbp-ConfigList-r17 SEQUENCE (SIZE (1.. 2)) OF CBP-Config-NB-r17
+}
+
+CBP-Config-NB-r17 ::= SEQUENCE {
+ nrsrpMin-r17 RSRP-Range,
+ nB-r17 ENUMERATED {fourT, twoT, oneT, halfT, quarterT, one8thT, one16thT, one32ndT,
+ one64thT, one128thT, one256thT, one512thT, one1024thT, spare3,
+ spare2, spare1} OPTIONAL, -- Need OP
+ ue-SpecificDRX-CycleMin-r17 ENUMERATED {rf32, rf64, rf128, rf256} OPTIONAL -- Need OR
+}
+
+DL-ConfigCommon-NB-r14 ::= SEQUENCE {
+ dl-CarrierConfig-r14 DL-CarrierConfigCommon-NB-r14,
+ pcch-Config-r14 PCCH-Config-NB-r14 OPTIONAL, -- Need OR
+ ...,
+ [[ wus-Config-r15 WUS-ConfigPerCarrier-NB-r15 OPTIONAL -- Cond WUS
+ ]],
+ [[ gwus-Config-r16 WUS-ConfigPerCarrier-NB-r15 OPTIONAL -- Cond GWUS
+ ]],
+ [[ pcch-Config-r17 PCCH-Config-NB-r17 OPTIONAL -- Cond pcch-config2
+ ]]
+}
+
+PCCH-Config-NB-r14 ::= SEQUENCE {
+ npdcch-NumRepetitionPaging-r14 ENUMERATED {
+ r1, r2, r4, r8, r16, r32, r64, r128,
+ r256, r512, r1024, r2048,
+ spare4, spare3, spare2, spare1} OPTIONAL, -- Need OP
+ pagingWeight-r14 PagingWeight-NB-r14 DEFAULT w1,
+ ...
+}
+
+PCCH-Config-NB-r17 ::= SEQUENCE {
+ cbp-Index-r17 INTEGER (1..2),
+ npdcch-NumRepetitionPaging-r17 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128},
+ pagingWeight-r17 PagingWeight-NB-r14 DEFAULT w1,
+ ...
+}
+
+PagingWeight-NB-r14 ::= ENUMERATED {w1, w2, w3, w4, w5, w6, w7, w8,
+ w9, w10, w11, w12, w13, w14, w15, w16}
+
+UL-ConfigCommon-NB-r14 ::= SEQUENCE {
+ ul-CarrierFreq-r14 CarrierFreq-NB-r13,
+ nprach-ParametersList-r14 NPRACH-ParametersList-NB-r14 OPTIONAL, -- Need OR
+ ...,
+ [[ nprach-ParametersListEDT-r15 NPRACH-ParametersList-NB-r14 OPTIONAL -- Cond EDT
+ ]],
+ [[ rsrp-ThresholdsPrachInfoList-r16 RSRP-ThresholdsNPRACH-InfoList-NB-r13 OPTIONAL -- Need OR
+ ]]
+}
+
+UL-ConfigCommonTDD-NB-r15 ::= SEQUENCE {
+ tdd-UL-DL-AlignmentOffset-r15 TDD-UL-DL-AlignmentOffset-NB-r15,
+ nprach-ParametersListTDD-r15 NPRACH-ParametersListTDD-NB-r15 OPTIONAL, -- Need OR
+ ...
+}
+
+NPRACH-ProbabilityAnchorList-NB-r14 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF
+ NPRACH-ProbabilityAnchor-NB-r14
+
+NPRACH-ProbabilityAnchor-NB-r14 ::= SEQUENCE {
+ nprach-ProbabilityAnchor-r14 ENUMERATED {
+ zero, oneSixteenth, oneFifteenth, oneFourteenth,
+ oneThirteenth, oneTwelfth, oneEleventh, oneTenth,
+ oneNinth, oneEighth, oneSeventh, oneSixth,
+ oneFifth, oneFourth, oneThird, oneHalf}
+ OPTIONAL -- Need OP
+}
+
+
+SystemInformationBlockType23-NB-r15 ::= SEQUENCE {
+ ul-ConfigList-v1530 UL-ConfigCommonList-NB-v1530 OPTIONAL, -- Need OR
+ ul-ConfigListMixed-v1530 UL-ConfigCommonList-NB-v1530 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+UL-ConfigCommonList-NB-v1530 ::= SEQUENCE (SIZE (1.. maxNonAnchorCarriers-NB-r14)) OF
+ UL-ConfigCommon-NB-v1530
+
+UL-ConfigCommon-NB-v1530 ::= SEQUENCE {
+ nprach-ParametersListFmt2-r15 NPRACH-ParametersListFmt2-NB-r15 OPTIONAL, -- Need OR
+ nprach-ParametersListFmt2EDT-r15 NPRACH-ParametersListFmt2-NB-r15 OPTIONAL, -- Cond EDT
+ ...
+}
+
+
+SystemInformationBlockType27-NB-r16 ::= SEQUENCE {
+ carrierFreqListEUTRA-r16 CarrierFreqListEUTRA-NB-r16 OPTIONAL, -- Need OR
+ carrierFreqsListGERAN-r16 CarrierFreqsListGERAN-NB-r16 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+CarrierFreqListEUTRA-NB-r16 ::= SEQUENCE (SIZE (1..maxFreqEUTRA-NB-r16)) OF
+ CarrierFreqEUTRA-NB-r16
+
+CarrierFreqsListGERAN-NB-r16 ::= SEQUENCE (SIZE (1..maxFreqsGERAN-NB-r16)) OF
+ CarrierFreqsGERAN-NB-r16
+
+
+CarrierFreqEUTRA-NB-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueEUTRA-r9,
+ sib1-r16 ENUMERATED {supported} OPTIONAL, -- Need OR
+ sib1-BR-r16 ENUMERATED {supported} OPTIONAL, -- Need OR
+ ...
+}
+
+CarrierFreqsGERAN-NB-r16 ::= SEQUENCE {
+ carrierFreqs-r16 CarrierFreqsGERAN,
+ ec-GSM-IOT-r16 ENUMERATED {supported} OPTIONAL, -- Need OR
+ peo-r16 ENUMERATED {supported} OPTIONAL, -- Need OR
+ ...
+}
+
+
+
+SystemInformationBlockType31-NB-r17 ::= SEQUENCE {
+ servingSatelliteInfo-r17 ServingSatelliteInfo-r17,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+
+SystemInformationBlockType32-NB-r17 ::= SEQUENCE {
+ satelliteInfoList-r17 SatelliteInfoList-r17 OPTIONAL, -- Need OR
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+
+CarrierConfigDedicated-NB-r13 ::= SEQUENCE {
+ dl-CarrierConfig-r13 DL-CarrierConfigDedicated-NB-r13,
+ ul-CarrierConfig-r13 UL-CarrierConfigDedicated-NB-r13
+}
+
+DL-CarrierConfigDedicated-NB-r13 ::= SEQUENCE {
+ dl-CarrierFreq-r13 CarrierFreq-NB-r13,
+ downlinkBitmapNonAnchor-r13 CHOICE {
+ useNoBitmap-r13 NULL,
+ useAnchorBitmap-r13 NULL,
+ explicitBitmapConfiguration-r13 DL-Bitmap-NB-r13,
+ spare NULL
+ } OPTIONAL, -- Need ON
+ dl-GapNonAnchor-r13 CHOICE {
+ useNoGap-r13 NULL,
+ useAnchorGapConfig-r13 NULL,
+ explicitGapConfiguration-r13 DL-GapConfig-NB-r13,
+ spare NULL
+ } OPTIONAL, -- Need ON
+ inbandCarrierInfo-r13 SEQUENCE {
+ samePCI-Indicator-r13 CHOICE {
+ samePCI-r13 SEQUENCE {
+ indexToMidPRB-r13 INTEGER (-55..54)
+ },
+ differentPCI-r13 SEQUENCE {
+ eutra-NumCRS-Ports-r13 ENUMERATED {same, four}
+ }
+ } OPTIONAL, -- Cond anchor-guardband-or-standalone
+ eutraControlRegionSize-r13 ENUMERATED {n1, n2, n3}
+ } OPTIONAL, -- Cond non-anchor-inband
+ ...,
+ [[ nrs-PowerOffsetNonAnchor-v1330 ENUMERATED {dB-12, dB-10, dB-8, dB-6,
+ dB-4, dB-2, dB0, dB3}
+ OPTIONAL -- Need ON
+ ]],
+ [[ dl-GapNonAnchor-v1530 DL-GapConfig-NB-v1530 OPTIONAL -- Cond TDD1
+ ]],
+ [[ dl-CarrierFreq-v1550 CarrierFreq-NB-v1550 OPTIONAL -- Cond TDD1
+ ]]
+}
+
+UL-CarrierConfigDedicated-NB-r13 ::= SEQUENCE {
+ ul-CarrierFreq-r13 CarrierFreq-NB-r13 OPTIONAL, -- Need OP
+ ...,
+ [[ tdd-UL-DL-AlignmentOffset-r15 TDD-UL-DL-AlignmentOffset-NB-r15 OPTIONAL -- Cond TDD
+ ]]
+}
+
+
+CarrierFreq-NB-r13 ::= SEQUENCE {
+ carrierFreq-r13 ARFCN-ValueEUTRA-r9,
+ carrierFreqOffset-r13 ENUMERATED {
+ v-10, v-9, v-8, v-7, v-6, v-5, v-4, v-3, v-2, v-1, v-0dot5,
+ v0, v1, v2, v3, v4, v5, v6, v7, v8, v9
+ } OPTIONAL -- Need ON
+}
+
+CarrierFreq-NB-v1550 ::= SEQUENCE {
+ carrierFreqOffset-v1550 ENUMERATED {v-8dot5, v-4dot5, v3dot5, v7dot5}
+}
+
+
+ChannelRasterOffset-NB-r13 ::= ENUMERATED {khz-7dot5, khz-2dot5, khz2dot5, khz7dot5}
+
+
+DL-Bitmap-NB-r13 ::= CHOICE {
+ subframePattern10-r13 BIT STRING (SIZE (10)),
+ subframePattern40-r13 BIT STRING (SIZE (40))
+}
+
+
+DL-CarrierConfigCommon-NB-r14 ::= SEQUENCE {
+ dl-CarrierFreq-r14 CarrierFreq-NB-r13,
+ downlinkBitmapNonAnchor-r14 CHOICE {
+ useNoBitmap-r14 NULL,
+ useAnchorBitmap-r14 NULL,
+ explicitBitmapConfiguration-r14 DL-Bitmap-NB-r13
+ },
+ dl-GapNonAnchor-r14 CHOICE {
+ useNoGap-r14 NULL,
+ useAnchorGapConfig-r14 NULL,
+ explicitGapConfiguration-r14 DL-GapConfig-NB-r13
+ },
+ inbandCarrierInfo-r14 SEQUENCE {
+ samePCI-Indicator-r14 CHOICE {
+ samePCI-r14 SEQUENCE {
+ indexToMidPRB-r14 INTEGER (-55..54)
+ },
+ differentPCI-r14 SEQUENCE {
+ eutra-NumCRS-Ports-r14 ENUMERATED {same, four}
+ }
+ } OPTIONAL, -- Cond anchor-guardband-or-standalone
+ eutraControlRegionSize-r14 ENUMERATED {n1, n2, n3}
+ } OPTIONAL, -- Cond non-anchor-inband
+ nrs-PowerOffsetNonAnchor-r14 ENUMERATED {dB-12, dB-10, dB-8, dB-6,
+ dB-4, dB-2, dB0, dB3} DEFAULT dB0,
+ ...,
+ [[ dl-GapNonAnchor-v1530 DL-GapConfig-NB-v1530 OPTIONAL -- Cond TDD
+ ]],
+ [[ dl-CarrierFreq-v1550 CarrierFreq-NB-v1550 OPTIONAL -- Cond TDD
+ ]]
+}
+
+
+
+DL-GapConfig-NB-r13 ::= SEQUENCE {
+ dl-GapThreshold-r13 ENUMERATED {n32, n64, n128, n256},
+ dl-GapPeriodicity-r13 ENUMERATED {sf64, sf128, sf256, sf512},
+ dl-GapDurationCoeff-r13 ENUMERATED {oneEighth, oneFourth, threeEighth, oneHalf}
+}
+
+DL-GapConfig-NB-v1530 ::= SEQUENCE {
+ dl-GapPeriodicity-v1530 ENUMERATED {sf1024}
+}
+
+
+GWUS-Config-NB-r16 ::= SEQUENCE {
+ groupAlternation-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ commonSequence-r16 ENUMERATED {g0, g126} OPTIONAL, -- Need OR
+ timeParameters-r16 WUS-Config-NB-r15 OPTIONAL, -- Cond noWUSr15
+ resourceConfigDRX-r16 GWUS-ResourceConfig-NB-r16,
+ resourceConfig-eDRX-Short-r16 GWUS-ResourceConfig-NB-r16 OPTIONAL, -- Need OP
+ resourceConfig-eDRX-Long-r16 GWUS-ResourceConfig-NB-r16 OPTIONAL, -- Cond timeOffset
+ probThreshList-r16 GWUS-ProbThreshList-NB-r16 OPTIONAL, -- Cond probabilityBased
+ ...
+}
+
+GWUS-ResourceConfig-NB-r16 ::= SEQUENCE {
+ resourcePosition-r16 ENUMERATED {primary, secondary},
+ numGroupsList-r16 GWUS-NumGroupsList-NB-r16 OPTIONAL, -- Need OP
+ groupsForServiceList-r16 GWUS-GroupsForServiceList-NB-r16
+ OPTIONAL -- Cond probabilityBased
+}
+
+GWUS-ProbThreshList-NB-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-NB-r16)) OF
+ GWUS-Paging-ProbThresh-NB-r16
+
+GWUS-Paging-ProbThresh-NB-r16 ::= ENUMERATED {p20, p30, p40, p50, p60, p70, p80, p90}
+
+GWUS-NumGroupsList-NB-r16 ::= SEQUENCE (SIZE (1..maxGWUS-Resources-NB-r16)) OF
+ GWUS-NumGroups-NB-r16
+
+GWUS-NumGroups-NB-r16 ::= ENUMERATED {n1, n2, n4, n8}
+
+GWUS-GroupsForServiceList-NB-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-NB-r16)) OF
+ INTEGER (1..maxGWUS-Groups-1-NB-r16)
+
+
+LogicalChannelConfig-NB-r13 ::= SEQUENCE {
+ priority-r13 INTEGER (1..16) OPTIONAL, -- Cond UL
+ logicalChannelSR-Prohibit-r13 BOOLEAN OPTIONAL, -- Need ON
+ ...
+}
+
+
+MAC-MainConfig-NB-r13 ::= SEQUENCE {
+ ul-SCH-Config-r13 SEQUENCE {
+ periodicBSR-Timer-r13 PeriodicBSR-Timer-NB-r13 OPTIONAL, -- Need ON
+ retxBSR-Timer-r13 RetxBSR-Timer-NB-r13
+ } OPTIONAL, -- Need ON
+ drx-Config-r13 DRX-Config-NB-r13 OPTIONAL, -- Need ON
+ timeAlignmentTimerDedicated-r13 TimeAlignmentTimer,
+ logicalChannelSR-Config-r13 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ logicalChannelSR-ProhibitTimer-r13 ENUMERATED {
+ pp2, pp8, pp32, pp128, pp512,
+ pp1024, pp2048, spare}
+ }
+ } OPTIONAL, -- Need ON
+ ...,
+ [[ rai-Activation-r14 ENUMERATED {true} OPTIONAL, -- Need OR
+ dataInactivityTimerConfig-r14 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ dataInactivityTimer-r14 DataInactivityTimer-r14
+ }
+ } OPTIONAL -- Need ON
+ ]],
+ [[ drx-Cycle-v1430 ENUMERATED {
+ sf1280, sf2560, sf5120, sf10240} OPTIONAL -- Need ON
+ ]],
+ [[ ra-CFRA-Config-r14 ENUMERATED {true} OPTIONAL -- Need ON
+ ]],
+ [[ offsetThresholdTA-r17 CHOICE {release NULL, setup OffsetThresholdTA-NB-r17}
+ OPTIONAL -- Need ON
+ ]]
+}
+
+PeriodicBSR-Timer-NB-r13 ::= ENUMERATED {
+ pp2, pp4, pp8, pp16, pp64, pp128, infinity, spare}
+
+RetxBSR-Timer-NB-r13 ::= ENUMERATED {
+ pp4, pp16, pp64, pp128, pp256, pp512, infinity, spare}
+
+DRX-Config-NB-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ onDurationTimer-r13 ENUMERATED {
+ pp1, pp2, pp3, pp4, pp8, pp16, pp32, spare},
+ drx-InactivityTimer-r13 ENUMERATED {
+ pp0, pp1, pp2, pp3, pp4, pp8, pp16, pp32},
+ drx-RetransmissionTimer-r13 ENUMERATED {
+ pp0, pp1, pp2, pp4, pp6, pp8, pp16, pp24,
+ pp33, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1},
+ drx-Cycle-r13 ENUMERATED {
+ sf256, sf512, sf1024, sf1536, sf2048, sf3072,
+ sf4096, sf4608, sf6144, sf7680, sf8192, sf9216,
+ spare4, spare3, spare2, spare1},
+ drx-StartOffset-r13 INTEGER (0..255),
+ drx-ULRetransmissionTimer-r13 ENUMERATED {
+ pp0, pp1, pp2, pp4, pp6, pp8, pp16, pp24,
+ pp33, pp40, pp64, pp80, pp96,
+ pp112, pp128, pp160, pp320}
+ }
+}
+
+OffsetThresholdTA-NB-r17 ::= ENUMERATED {
+ ms0dot5, ms1, ms2, ms3, ms4, ms5, ms6 ,ms7,
+ ms8, ms9, ms10, ms11, ms12, ms13, ms14, ms15}
+
+
+NPDCCH-ConfigDedicated-NB-r13 ::= SEQUENCE {
+ npdcch-NumRepetitions-r13 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128,
+ r256, r512, r1024, r2048,
+ spare4, spare3, spare2, spare1},
+ npdcch-StartSF-USS-r13 ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64},
+ npdcch-Offset-USS-r13 ENUMERATED {zero, oneEighth, oneFourth, threeEighth}
+}
+
+NPDCCH-ConfigDedicated-NB-v1530 ::= SEQUENCE {
+ npdcch-StartSF-USS-v1530 ENUMERATED {v96, v128}
+}
+
+
+
+NPDSCH-ConfigCommon-NB-r13 ::= SEQUENCE {
+ nrs-Power-r13 INTEGER (-60..50)
+}
+
+NPDSCH-ConfigDedicated-NB-r16 ::= SEQUENCE {
+ npdsch-MultiTB-Config-r16 NPDSCH-MultiTB-Config-NB-r16 OPTIONAL -- Cond twoHARQ
+}
+
+NPDSCH-MultiTB-Config-NB-r16 ::= SEQUENCE {
+ multiTB-Config-r16 ENUMERATED {interleaved, nonInterleaved},
+ harq-AckBundling-r16 ENUMERATED {true} OPTIONAL -- Cond interleaved
+}
+
+NPDSCH-ConfigDedicated-NB-v1710 ::= SEQUENCE {
+ npdsch-16QAM-Config-r17 CHOICE {release NULL, setup NPDSCH-16QAM-Config-NB-r17}
+}
+
+NPDSCH-16QAM-Config-NB-r17 ::=SEQUENCE{
+ nrs-PowerRatio-r17 ENUMERATED {dB-6, dB-4dot77, dB-3, dB-1dot77, dB0, dB1, dB2, dB3} OPTIONAL, -- Need OR
+ nrs-PowerRatioWithCRS-r17 ENUMERATED {dB-6, dB-4dot77, dB-3, dB-1dot77, dB0, dB1, dB2, dB3} OPTIONAL -- Cond InBand
+}
+
+
+NPRACH-ConfigSIB-NB-r13 ::= SEQUENCE {
+ nprach-CP-Length-r13 ENUMERATED {us66dot7, us266dot7},
+ rsrp-ThresholdsPrachInfoList-r13 RSRP-ThresholdsNPRACH-InfoList-NB-r13 OPTIONAL, -- Need OR
+ nprach-ParametersList-r13 NPRACH-ParametersList-NB-r13
+}
+
+NPRACH-ConfigSIB-NB-v1330 ::= SEQUENCE {
+ nprach-ParametersList-v1330 NPRACH-ParametersList-NB-v1330
+}
+
+NPRACH-ConfigSIB-NB-v1450 ::= SEQUENCE {
+ maxNumPreambleAttemptCE-r14 ENUMERATED {n3, n4, n5, n6, n7, n8, n10, spare1}
+}
+
+NPRACH-ConfigSIB-NB-v1530 ::= SEQUENCE {
+ tdd-Parameters-r15 SEQUENCE {
+ nprach-PreambleFormat-r15 ENUMERATED {
+ fmt0, fmt1, fmt2, fmt0-a, fmt1-a},
+ dummy ENUMERATED {
+ n1, n2, n4, n8, n16, n32, n64, n128,
+ n256, n512, n1024},
+ nprach-ParametersListTDD-r15 NPRACH-ParametersListTDD-NB-r15
+ } OPTIONAL, -- Cond TDD
+ fmt2-Parameters-r15 SEQUENCE {
+ nprach-ParametersListFmt2-r15 NPRACH-ParametersListFmt2-NB-r15 OPTIONAL, -- Need OR
+ nprach-ParametersListFmt2EDT-r15 NPRACH-ParametersListFmt2-NB-r15 OPTIONAL -- Cond EDT2
+ } OPTIONAL, -- Need OR
+ edt-Parameters-r15 SEQUENCE {
+ edt-SmallTBS-Subset-r15 ENUMERATED {true} OPTIONAL, -- Need OR
+ edt-TBS-InfoList-r15 EDT-TBS-InfoList-NB-r15,
+ nprach-ParametersListEDT-r15 NPRACH-ParametersList-NB-r14 OPTIONAL -- Need OR
+ } OPTIONAL -- Cond EDT1
+}
+
+NPRACH-ConfigSIB-NB-v1550 ::= SEQUENCE {
+ tdd-Parameters-v1550 SEQUENCE {
+ nprach-ParametersListTDD-v1550 NPRACH-ParametersListTDD-NB-v1550
+ }
+}
+
+NPRACH-ParametersList-NB-r13 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF NPRACH-Parameters-NB-r13
+
+NPRACH-ParametersList-NB-v1330 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF NPRACH-Parameters-NB-v1330
+
+NPRACH-Parameters-NB-r13::= SEQUENCE {
+ nprach-Periodicity-r13 ENUMERATED {ms40, ms80, ms160, ms240,
+ ms320, ms640, ms1280, ms2560},
+ nprach-StartTime-r13 ENUMERATED {ms8, ms16, ms32, ms64,
+ ms128, ms256, ms512, ms1024},
+ nprach-SubcarrierOffset-r13 ENUMERATED {n0, n12, n24, n36, n2, n18, n34, spare1},
+ nprach-NumSubcarriers-r13 ENUMERATED {n12, n24, n36, n48},
+ nprach-SubcarrierMSG3-RangeStart-r13 ENUMERATED {zero, oneThird, twoThird, one},
+ maxNumPreambleAttemptCE-r13 ENUMERATED {n3, n4, n5, n6, n7, n8, n10, spare1},
+ numRepetitionsPerPreambleAttempt-r13 ENUMERATED {n1, n2, n4, n8, n16, n32, n64, n128},
+ npdcch-NumRepetitions-RA-r13 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128,
+ r256, r512, r1024, r2048,
+ spare4, spare3, spare2, spare1},
+ npdcch-StartSF-CSS-RA-r13 ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64},
+ npdcch-Offset-RA-r13 ENUMERATED {zero, oneEighth, oneFourth, threeEighth}
+}
+
+NPRACH-Parameters-NB-v1330 ::= SEQUENCE {
+ nprach-NumCBRA-StartSubcarriers-r13 ENUMERATED {n8, n10, n11, n12, n20, n22, n23, n24,
+ n32, n34, n35, n36, n40, n44, n46, n48}
+}
+
+NPRACH-ParametersList-NB-r14 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF
+ NPRACH-Parameters-NB-r14
+
+NPRACH-Parameters-NB-r14 ::= SEQUENCE {
+ nprach-Parameters-r14 SEQUENCE {
+ nprach-Periodicity-r14 ENUMERATED {ms40, ms80, ms160, ms240,
+ ms320, ms640, ms1280, ms2560}
+ OPTIONAL, -- NEED OP
+ nprach-StartTime-r14 ENUMERATED {ms8, ms16, ms32, ms64,
+ ms128, ms256, ms512, ms1024}
+ OPTIONAL, -- NEED OP
+ nprach-SubcarrierOffset-r14 ENUMERATED {n0, n12, n24, n36, n2, n18, n34, spare1}
+ OPTIONAL, -- NEED OP
+ nprach-NumSubcarriers-r14 ENUMERATED {n12, n24, n36, n48}
+ OPTIONAL, -- NEED OP
+ nprach-SubcarrierMSG3-RangeStart-r14 ENUMERATED {zero, oneThird, twoThird, one}
+ OPTIONAL, -- NEED OP
+ npdcch-NumRepetitions-RA-r14 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128,
+ r256, r512, r1024, r2048,
+ spare4, spare3, spare2, spare1}
+ OPTIONAL, -- NEED OP
+ npdcch-StartSF-CSS-RA-r14 ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64}
+ OPTIONAL, -- NEED OP
+ npdcch-Offset-RA-r14 ENUMERATED {zero, oneEighth, oneFourth, threeEighth}
+ OPTIONAL, -- NEED OP
+ nprach-NumCBRA-StartSubcarriers-r14 ENUMERATED {n8, n10, n11, n12, n20, n22, n23, n24,
+ n32, n34, n35, n36, n40, n44, n46, n48}
+ OPTIONAL, -- NEED OP
+ npdcch-CarrierIndex-r14 INTEGER (1..maxNonAnchorCarriers-NB-r14)
+ OPTIONAL, -- Need OP
+ ...
+ } OPTIONAL -- Need OR
+}
+
+NPRACH-ParametersListTDD-NB-r15 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF
+ NPRACH-ParametersTDD-NB-r15
+
+NPRACH-ParametersTDD-NB-r15 ::= SEQUENCE {
+ nprach-Parameters-r15 SEQUENCE {
+ nprach-Periodicity-r15 ENUMERATED {ms80, ms160, ms320, ms640,
+ ms1280, ms2560, ms5120, ms10240}
+ OPTIONAL, -- NEED OP
+ nprach-StartTime-r15 ENUMERATED {ms10, ms20, ms40, ms80,
+ ms160, ms320, ms640, ms1280,
+ ms2560, ms5120, spare6, spare5,
+ spare4, spare3, spare2, spare1}
+ OPTIONAL, -- NEED OP
+ nprach-SubcarrierOffset-r15 ENUMERATED {n0, n12, n24, n36, n2, n18, n34, spare1}
+ OPTIONAL, -- NEED OP
+ nprach-NumSubcarriers-r15 ENUMERATED {n12, n24, n36, n48}
+ OPTIONAL, -- NEED OP
+ nprach-SubcarrierMSG3-RangeStart-r15 ENUMERATED {zero, oneThird, twoThird, one}
+ OPTIONAL, -- NEED OP
+ npdcch-NumRepetitions-RA-r15 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128,
+ r256, r512, r1024, r2048,
+ spare4, spare3, spare2, spare1}
+ OPTIONAL, -- NEED OP
+ npdcch-StartSF-CSS-RA-r15 ENUMERATED {v4, v8, v16, v32, v48, v64, v96, v128}
+ OPTIONAL, -- NEED OP
+ npdcch-Offset-RA-r15 ENUMERATED {zero, oneEighth, oneFourth, threeEighth}
+ OPTIONAL, -- NEED OP
+ nprach-NumCBRA-StartSubcarriers-r15 ENUMERATED {n8, n10, n11, n12, n20, n22, n23, n24,
+ n32, n34, n35, n36, n40, n44, n46, n48}
+ OPTIONAL, -- NEED OP
+ ...
+ } OPTIONAL -- Need OR
+}
+
+NPRACH-ParametersListTDD-NB-v1550 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF
+ NPRACH-ParametersTDD-NB-v1550
+
+NPRACH-ParametersTDD-NB-v1550 ::= SEQUENCE {
+ maxNumPreambleAttemptCE-v1550 ENUMERATED {n3, n4, n5, n6, n7, n8, n10, spare1},
+ numRepetitionsPerPreambleAttempt-v1550 ENUMERATED {n1, n2, n4, n8, n16, n32, n64, n128,
+ n256, n512, n1024}
+}
+
+NPRACH-ParametersListFmt2-NB-r15 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF NPRACH-ParametersFmt2-NB-r15
+
+NPRACH-ParametersFmt2-NB-r15 ::= SEQUENCE {
+ nprach-Parameters-r15 SEQUENCE {
+ nprach-Periodicity-r15 ENUMERATED {ms40, ms80, ms160, ms320,
+ ms640, ms1280, ms2560, ms5120}
+ OPTIONAL, -- NEED OP
+ nprach-StartTime-r15 ENUMERATED {ms8, ms16, ms32, ms64,
+ ms128, ms256, ms512, ms1024}
+ OPTIONAL, -- NEED OP
+ nprach-SubcarrierOffset-r15 ENUMERATED {n0, n36, n72, n108, n6, n54, n102, n42,
+ n78, n90, n12, n24, n48, n84, n60, n18}
+ OPTIONAL, -- NEED OP
+ nprach-NumSubcarriers-r15 ENUMERATED {n36, n72, n108, n144}
+ OPTIONAL, -- NEED OP
+ nprach-SubcarrierMSG3-RangeStart-r15 ENUMERATED {zero, oneThird, twoThird, one}
+ OPTIONAL, -- NEED OP
+ npdcch-NumRepetitions-RA-r15 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128,
+ r256, r512, r1024, r2048,
+ spare4, spare3, spare2, spare1}
+ OPTIONAL, -- NEED OP
+ npdcch-StartSF-CSS-RA-r15 ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64}
+ OPTIONAL, -- NEED OP
+ npdcch-Offset-RA-r15 ENUMERATED {zero, oneEighth, oneFourth, threeEighth}
+ OPTIONAL, -- NEED OP
+ nprach-NumCBRA-StartSubcarriers-r15 ENUMERATED {
+ n24, n30, n33, n36, n60, n66, n69, n72,
+ n96, n102, n105, n108, n120, n132, n138, n144}
+ OPTIONAL, -- NEED OP
+ npdcch-CarrierIndex-r15 INTEGER (1..maxNonAnchorCarriers-NB-r14)
+ OPTIONAL, -- Need OP
+ ...
+ } OPTIONAL -- Need OR
+}
+
+NPRACH-TxDurationFmt01-NB-r17 ::= SEQUENCE {
+ nprach-TxDurationFmt01-r17 ENUMERATED {n2, n4, n8, n16, n32, n64}
+}
+
+NPRACH-TxDurationFmt2-NB-r17 ::= SEQUENCE {
+ nprach-TxDurationFmt2-r17 ENUMERATED {n1, n2, n4, n8, n16}
+}
+
+RSRP-ThresholdsNPRACH-InfoList-NB-r13 ::= SEQUENCE (SIZE(1..2)) OF RSRP-Range
+
+EDT-TBS-InfoList-NB-r15 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF EDT-TBS-NB-r15
+
+EDT-TBS-NB-r15 ::= SEQUENCE {
+ edt-SmallTBS-Enabled-r15 BOOLEAN,
+ edt-TBS-r15 ENUMERATED {b328, b408, b504, b584, b680, b808, b936, b1000}
+}
+
+
+NPUSCH-ConfigCommon-NB-r13 ::= SEQUENCE {
+ ack-NACK-NumRepetitions-Msg4-r13 SEQUENCE (SIZE(1.. maxNPRACH-Resources-NB-r13)) OF
+ ACK-NACK-NumRepetitions-NB-r13,
+ srs-SubframeConfig-r13 ENUMERATED {
+ sc0, sc1, sc2, sc3, sc4, sc5, sc6, sc7,
+ sc8, sc9, sc10, sc11, sc12, sc13, sc14, sc15
+ } OPTIONAL, -- Need OR
+ dmrs-Config-r13 SEQUENCE {
+ threeTone-BaseSequence-r13 INTEGER (0..12) OPTIONAL, -- Need OP
+ threeTone-CyclicShift-r13 INTEGER (0..2),
+ sixTone-BaseSequence-r13 INTEGER (0..14) OPTIONAL, -- Need OP
+ sixTone-CyclicShift-r13 INTEGER (0..3),
+ twelveTone-BaseSequence-r13 INTEGER (0..30) OPTIONAL -- Need OP
+ } OPTIONAL, -- Need OR
+ ul-ReferenceSignalsNPUSCH-r13 UL-ReferenceSignalsNPUSCH-NB-r13
+}
+
+UL-ReferenceSignalsNPUSCH-NB-r13 ::= SEQUENCE {
+ groupHoppingEnabled-r13 BOOLEAN,
+ groupAssignmentNPUSCH-r13 INTEGER (0..29)
+}
+
+NPUSCH-ConfigDedicated-NB-r13 ::= SEQUENCE {
+ ack-NACK-NumRepetitions-r13 ACK-NACK-NumRepetitions-NB-r13 OPTIONAL, -- Need ON
+ npusch-AllSymbols-r13 BOOLEAN OPTIONAL, -- Cond SRS
+ groupHoppingDisabled-r13 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+NPUSCH-ConfigDedicated-NB-v1610 ::= SEQUENCE {
+ npusch-MultiTB-Config-r16 ENUMERATED {interleaved, nonInterleaved}
+}
+
+NPUSCH-ConfigDedicated-NB-v1700 ::= SEQUENCE {
+ npusch-16QAM-Config-r17 ENUMERATED {true} OPTIONAL -- Need OR
+}
+
+NPUSCH-TxDuration-NB-r17 ::= SEQUENCE {
+ npusch-TxDuration-r17 ENUMERATED {ms2, ms4, ms8, ms16, ms32, ms64, ms128, ms256}
+}
+
+ACK-NACK-NumRepetitions-NB-r13 ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128}
+
+
+
+PDCP-Config-NB-r13 ::= SEQUENCE {
+ discardTimer-r13 ENUMERATED {
+ ms5120, ms10240, ms20480, ms40960,
+ ms81920, infinity, spare2, spare1
+ } OPTIONAL, -- Cond Setup
+ headerCompression-r13 CHOICE {
+ notUsed NULL,
+ rohc SEQUENCE {
+ maxCID-r13 INTEGER (1..16383) DEFAULT 15,
+ profiles-r13 SEQUENCE {
+ profile0x0002 BOOLEAN,
+ profile0x0003 BOOLEAN,
+ profile0x0004 BOOLEAN,
+ profile0x0006 BOOLEAN,
+ profile0x0102 BOOLEAN,
+ profile0x0103 BOOLEAN,
+ profile0x0104 BOOLEAN
+ },
+ ...
+ }
+ },
+ ...,
+ [[ cipheringDisabled-r16 ENUMERATED {true} OPTIONAL -- Cond ConnectedTo5GC
+ ]]
+}
+
+
+PhysicalConfigDedicated-NB-r13 ::= SEQUENCE {
+ carrierConfigDedicated-r13 CarrierConfigDedicated-NB-r13 OPTIONAL, -- Need ON
+ npdcch-ConfigDedicated-r13 NPDCCH-ConfigDedicated-NB-r13 OPTIONAL, -- Need ON
+ npusch-ConfigDedicated-r13 NPUSCH-ConfigDedicated-NB-r13 OPTIONAL, -- Need ON
+ uplinkPowerControlDedicated-r13 UplinkPowerControlDedicated-NB-r13 OPTIONAL, -- Need ON
+ ...,
+ [[ twoHARQ-ProcessesConfig-r14 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ interferenceRandomisationConfig-r14 ENUMERATED {true} OPTIONAL -- Need OR
+ ]],
+ [[ npdcch-ConfigDedicated-v1530 NPDCCH-ConfigDedicated-NB-v1530 OPTIONAL -- Cond TDD
+ ]],
+ [[ additionalTxSIB1-Config-v1540 ENUMERATED {true} OPTIONAL -- Cond additionalSIB1
+ ]],
+ [[ npusch-ConfigDedicated-v1610 NPUSCH-ConfigDedicated-NB-v1610
+ OPTIONAL, -- Cond twoHARQ
+ npdsch-ConfigDedicated-r16 NPDSCH-ConfigDedicated-NB-r16
+ OPTIONAL, -- Need ON
+ resourceReservationConfigDL-r16 CHOICE {release NULL, setup ResourceReservationConfig-NB-r16}
+ OPTIONAL, -- Cond dl-NonAnchor
+ resourceReservationConfigUL-r16 CHOICE {release NULL, setup ResourceReservationConfig-NB-r16}
+ OPTIONAL -- Cond ul-NonAnchor
+ ]],
+ [[ ntn-ConfigDedicated-r17 SEQUENCE {
+ npusch-TxDuration-r17 CHOICE {release NULL, setup NPUSCH-TxDuration-NB-r17}
+ } OPTIONAL, -- Cond NTN
+ npdsch-ConfigDedicated-v1700 NPDSCH-ConfigDedicated-NB-v1710 OPTIONAL, -- Need ON
+ uplinkPowerControlDedicated-v1700 UplinkPowerControlDedicated-NB-v1700 OPTIONAL -- Cond npusch-16QAM
+ ]],
+ [[
+ uplinkSegmentedPrecompensationGap-r17 ENUMERATED {sym1,sl1,sl2} OPTIONAL -- Need OR
+ ]],
+ [[ npusch-ConfigDedicated-v1740 NPUSCH-ConfigDedicated-NB-v1700 OPTIONAL -- Need ON
+ ]]
+}
+
+
+PUR-Config-NB-r16 ::= SEQUENCE {
+ pur-ConfigID-r16 PUR-ConfigID-NB-r16 OPTIONAL, --Need OR
+ pur-TimeAlignmentTimer-r16 INTEGER (1..8) OPTIONAL, --Need OR
+ pur-NRSRP-ChangeThreshold-r16 CHOICE {release NULL, setup PUR-NRSRP-ChangeThreshold-NB-r16}
+ OPTIONAL, --Need ON
+ pur-ImplicitReleaseAfter-r16 ENUMERATED {n2, n4, n8, spare} OPTIONAL, --Need OR
+ pur-RNTI-r16 C-RNTI OPTIONAL, --Need ON
+ pur-ResponseWindowTimer-r16 ENUMERATED {pp1, pp2, pp3, pp4, pp8, pp16, pp32, pp64}
+ OPTIONAL, --Need ON
+ pur-StartTimeParameters-r16 SEQUENCE {
+ periodicityAndOffset-r16 PUR-PeriodicityAndOffset-NB-r16,
+ startSFN-r16 INTEGER (0..1023),
+ startSubframe-r16 INTEGER (0..9),
+ hsfn-LSB-Info-r16 BIT STRING (SIZE(1))
+ } OPTIONAL, --Need ON
+ pur-NumOccasions-r16 ENUMERATED {one, infinite},
+ pur-PhysicalConfig-r16 SEQUENCE {
+ carrierConfig-r16 CarrierConfigDedicated-NB-r13,
+ npusch-NumRUsIndex-r16 INTEGER (0..7),
+ npusch-NumRepetitionsIndex-r16 INTEGER (0..7),
+ npusch-SubCarrierSetIndex-r16 CHOICE {
+ khz15 INTEGER (0..18),
+ khz3dot75 INTEGER (0..47)
+ },
+ npusch-MCS-r16 CHOICE {
+ singleTone INTEGER (0..10),
+ multiTone INTEGER (0..13)
+ },
+ p0-UE-NPUSCH-r16 INTEGER (-8..7),
+ alpha-r16 ENUMERATED {al0, al04, al05, al06,
+ al07, al08, al09, al1},
+ npusch-CyclicShift-r16 ENUMERATED {n0, n6},
+ npdcch-Config-r16 NPDCCH-ConfigDedicated-NB-r13
+ } OPTIONAL, -- Need ON
+ ...,
+ [[
+ pur-PhysicalConfig-v1650 SEQUENCE {
+ ack-NACK-NumRepetitions-r16 ACK-NACK-NumRepetitions-NB-r13
+ } OPTIONAL --Need ON
+ ]],
+ [[
+ pur-PhysicalConfig-v1700 SEQUENCE {
+ pur-UL-16QAM-Config-r17 CHOICE {release NULL, setup PUR-UL-16QAM-Config-NB-r17} OPTIONAL, -- Need ON
+ pur-DL-16QAM-Config-r17 CHOICE {release NULL, setup NPDSCH-16QAM-Config-NB-r17} OPTIONAL -- Need ON
+ } OPTIONAL -- Need ON
+ ]]
+}
+
+PUR-NRSRP-ChangeThreshold-NB-r16 ::= SEQUENCE {
+ increaseThresh-r16 NRSRP-ChangeThresh-NB-r16,
+ decreaseThresh-r16 NRSRP-ChangeThresh-NB-r16 OPTIONAL --Need OP
+}
+
+PUR-UL-16QAM-Config-NB-r17 ::= SEQUENCE {
+ uplinkPowerControlDedicated-r17 UplinkPowerControlDedicated-NB-v1700
+}
+
+NRSRP-ChangeThresh-NB-r16 ::= ENUMERATED {dB4, dB6, dB8, dB10, dB14, dB18, dB22, dB26, dB30, dB34, spare6, spare5, spare4, spare3, spare2, spare1}
+
+
+PUR-ConfigID-NB-r16 ::= BIT STRING (SIZE(20))
+
+
+PUR-PeriodicityAndOffset-NB-r16 ::= CHOICE {
+ periodicity8 INTEGER (1..7),
+ periodicity16 INTEGER (1..15),
+ periodicity32 INTEGER (1..31),
+ periodicity64 INTEGER (1..63),
+ periodicity128 INTEGER (1..127),
+ periodicity256 INTEGER (1..257),
+ periodicity512 INTEGER (1..511),
+ periodicity1024 INTEGER (1..1023),
+ periodicity2048 INTEGER (1..2047),
+ periodicity4096 INTEGER (1..4095),
+ periodicity8192 INTEGER (1..8191)
+}
+
+
+RACH-ConfigCommon-NB-r13 ::= SEQUENCE {
+ preambleTransMax-CE-r13 PreambleTransMax,
+ powerRampingParameters-r13 PowerRampingParameters,
+ rach-InfoList-r13 RACH-InfoList-NB-r13,
+ connEstFailOffset-r13 INTEGER (0..15) OPTIONAL, -- Need OP
+ ...,
+ [[ powerRampingParameters-v1450 PowerRampingParameters-NB-v1450 OPTIONAL -- Need OR
+ ]],
+ [[ rach-InfoList-v1530 RACH-InfoList-NB-v1530 OPTIONAL -- Cond EDT
+ ]]
+}
+
+RACH-InfoList-NB-r13 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF RACH-Info-NB-r13
+
+RACH-InfoList-NB-v1530 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF RACH-Info-NB-v1530
+
+RACH-Info-NB-r13 ::= SEQUENCE {
+ ra-ResponseWindowSize-r13 ENUMERATED {
+ pp2, pp3, pp4, pp5, pp6, pp7, pp8, pp10},
+ mac-ContentionResolutionTimer-r13 ENUMERATED {
+ pp1, pp2, pp3, pp4, pp8, pp16, pp32, pp64}
+}
+
+RACH-Info-NB-v1530 ::= SEQUENCE {
+ mac-ContentionResolutionTimer-r15 ENUMERATED {
+ pp1, pp2, pp3, pp4, pp8, pp16, pp32, pp64}
+}
+
+PowerRampingParameters-NB-v1450 ::= SEQUENCE {
+ preambleInitialReceivedTargetPower-v1450 ENUMERATED {
+ dBm-130, dBm-128, dBm-126, dBm-124, dBm-122,
+ dBm-88, dBm-86, dBm-84,dBm-82, dBm-80}
+ OPTIONAL, -- Need OR
+ powerRampingParametersCE1-r14 SEQUENCE {
+ powerRampingStepCE1-r14 ENUMERATED {dB0, dB2, dB4, dB6},
+ preambleInitialReceivedTargetPowerCE1-r14 ENUMERATED {
+ dBm-130, dBm-128, dBm-126, dBm-124, dBm-122,
+ dBm-120, dBm-118, dBm-116, dBm-114, dBm-112,
+ dBm-110, dBm-108, dBm-106, dBm-104, dBm-102,
+ dBm-100, dBm-98, dBm-96, dBm-94, dBm-92,
+ dBm-90, dBm-88, dBm-86, dBm-84, dBm-82, dBm-80}
+ } OPTIONAL -- Need OR
+}
+
+
+RadioResourceConfigCommonSIB-NB-r13 ::= SEQUENCE {
+ rach-ConfigCommon-r13 RACH-ConfigCommon-NB-r13,
+ bcch-Config-r13 BCCH-Config-NB-r13,
+ pcch-Config-r13 PCCH-Config-NB-r13,
+ nprach-Config-r13 NPRACH-ConfigSIB-NB-r13,
+ npdsch-ConfigCommon-r13 NPDSCH-ConfigCommon-NB-r13,
+ npusch-ConfigCommon-r13 NPUSCH-ConfigCommon-NB-r13,
+ dl-Gap-r13 DL-GapConfig-NB-r13 OPTIONAL, -- Need OP
+ uplinkPowerControlCommon-r13 UplinkPowerControlCommon-NB-r13,
+ ...,
+ [[ nprach-Config-v1330 NPRACH-ConfigSIB-NB-v1330 OPTIONAL -- Need OR
+ ]],
+ [[ nprach-Config-v1450 NPRACH-ConfigSIB-NB-v1450 OPTIONAL -- Cond EnhPowerControl
+ ]],
+ [[ nprach-Config-v1530 NPRACH-ConfigSIB-NB-v1530 OPTIONAL, -- Need OR
+ dl-Gap-v1530 DL-GapConfig-NB-v1530 OPTIONAL, -- Cond TDD
+ wus-Config-r15 WUS-Config-NB-r15 OPTIONAL -- Need OR
+ ]],
+ [[ nprach-Config-v1550 NPRACH-ConfigSIB-NB-v1550 OPTIONAL -- Cond TDD1
+ ]],
+ [[
+ gwus-Config-r16 GWUS-Config-NB-r16 OPTIONAL, -- Need OR
+ nrs-NonAnchorConfig-r16 ENUMERATED {true} OPTIONAL, -- Need OR
+ ue-SpecificDRX-CycleMin-r16 ENUMERATED {rf32, rf64, rf128, rf256, rf512,
+ rf1024} OPTIONAL -- Need OR
+ ]],
+ [[ ntn-ConfigCommon-r17 SEQUENCE {
+ ta-Report-r17 ENUMERATED {enabled} OPTIONAL, -- Need OR
+ t318-r17 ENUMERATED {
+ ms0, ms200, ms500, ms1000, ms2000, ms4000, ms8000},
+ nprach-TxDurationFmt01-r17 NPRACH-TxDurationFmt01-NB-r17 OPTIONAL, -- Need OR
+ nprach-TxDurationFmt2-r17 NPRACH-TxDurationFmt2-NB-r17 OPTIONAL, -- Need OR
+ npusch-TxDuration-r17 NPUSCH-TxDuration-NB-r17 OPTIONAL -- Need OR
+ } OPTIONAL -- Cond NTN
+ ]]
+}
+
+BCCH-Config-NB-r13 ::= SEQUENCE {
+ modificationPeriodCoeff-r13 ENUMERATED {n16, n32, n64, n128}
+}
+
+PCCH-Config-NB-r13 ::= SEQUENCE {
+ defaultPagingCycle-r13 ENUMERATED {rf128, rf256, rf512, rf1024},
+ nB-r13 ENUMERATED {
+ fourT, twoT, oneT, halfT, quarterT, one8thT,
+ one16thT, one32ndT, one64thT,
+ one128thT, one256thT, one512thT, one1024thT,
+ spare3, spare2, spare1},
+ npdcch-NumRepetitionPaging-r13 ENUMERATED {
+ r1, r2, r4, r8, r16, r32, r64, r128,
+ r256, r512, r1024, r2048,
+ spare4, spare3, spare2, spare1}
+}
+
+
+RadioResourceConfigDedicated-NB-r13 ::= SEQUENCE {
+ srb-ToAddModList-r13 SRB-ToAddModList-NB-r13 OPTIONAL, -- Need ON
+ drb-ToAddModList-r13 DRB-ToAddModList-NB-r13 OPTIONAL, -- Need ON
+ drb-ToReleaseList-r13 DRB-ToReleaseList-NB-r13 OPTIONAL, -- Need ON
+ mac-MainConfig-r13 CHOICE {
+ explicitValue-r13 MAC-MainConfig-NB-r13,
+ defaultValue-r13 NULL
+ } OPTIONAL, -- Need ON
+ physicalConfigDedicated-r13 PhysicalConfigDedicated-NB-r13 OPTIONAL, -- Need ON
+ rlf-TimersAndConstants-r13 RLF-TimersAndConstants-NB-r13 OPTIONAL, -- Need ON
+ ...,
+ [[ schedulingRequestConfig-r15 SchedulingRequestConfig-NB-r15 OPTIONAL -- Need ON
+ ]],
+ [[ newUE-Identity-r16 C-RNTI OPTIONAL -- Need OP
+ ]]
+}
+
+SRB-ToAddModList-NB-r13 ::= SEQUENCE (SIZE (1)) OF SRB-ToAddMod-NB-r13
+
+SRB-ToAddMod-NB-r13 ::= SEQUENCE {
+ rlc-Config-r13 CHOICE {
+ explicitValue RLC-Config-NB-r13,
+ defaultValue NULL
+ } OPTIONAL, -- Cond Setup
+ logicalChannelConfig-r13 CHOICE {
+ explicitValue LogicalChannelConfig-NB-r13,
+ defaultValue NULL
+ } OPTIONAL, -- Cond Setup
+ ...,
+ [[ rlc-Config-v1430 RLC-Config-NB-v1430 OPTIONAL -- Need ON
+ ]],
+ [[ rlc-Config-v1700 RLC-Config-NB-v1700 OPTIONAL -- Need ON
+ ]]
+}
+
+DRB-ToAddModList-NB-r13 ::= SEQUENCE (SIZE (1..maxDRB-NB-r13)) OF DRB-ToAddMod-NB-r13
+
+DRB-ToAddMod-NB-r13 ::= SEQUENCE {
+ eps-BearerIdentity-r13 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup-EPC
+ drb-Identity-r13 DRB-Identity,
+ pdcp-Config-r13 PDCP-Config-NB-r13 OPTIONAL, -- Cond Setup
+ rlc-Config-r13 RLC-Config-NB-r13 OPTIONAL, -- Cond Setup
+ logicalChannelIdentity-r13 INTEGER (3..10) OPTIONAL, -- Cond DRB-Setup
+ logicalChannelConfig-r13 LogicalChannelConfig-NB-r13 OPTIONAL, -- Cond Setup
+ ...,
+ [[ rlc-Config-v1430 RLC-Config-NB-v1430 OPTIONAL -- Need ON
+ ]],
+ [[ pdu-Session-r16 PDU-SessionID-NB-r16 OPTIONAL -- Cond DRB-Setup-5GC
+ ]],
+ [[ rlc-Config-v1700 RLC-Config-NB-v1700 OPTIONAL -- Need ON
+ ]]
+}
+
+PDU-SessionID-NB-r16 ::= INTEGER (0..255)
+
+DRB-ToReleaseList-NB-r13 ::= SEQUENCE (SIZE (1..maxDRB-NB-r13)) OF DRB-Identity
+
+
+ResourceReservationConfig-NB-r16::= SEQUENCE {
+ periodicity-r16 ENUMERATED {ms10, ms20, ms40, ms80, ms160, spare3, spare2, spare1},
+ startPosition-r16 INTEGER (0..15),
+ resourceReservation-r16 CHOICE {
+ subframeBitmap-r16 CHOICE {
+ subframePattern10ms BIT STRING (SIZE (10)),
+ subframePattern40ms BIT STRING (SIZE (40))
+ },
+ slotConfig-r16 SEQUENCE {
+ slotBitmap-r16 CHOICE {
+ slotPattern10ms BIT STRING (SIZE (20)),
+ slotPattern40ms BIT STRING (SIZE (80))
+ },
+ symbolBitmap-r16 CHOICE {
+ symbolBitmapFddDl SEQUENCE {
+ symbolBitmap1-r16 BIT STRING (SIZE (5)) OPTIONAL, -- Cond Bitmap1
+ symbolBitmap2-r16 BIT STRING (SIZE (5)) OPTIONAL -- Cond Bitmap2
+ },
+ symbolBitmapFddUlOrTdd SEQUENCE {
+ symbolBitmap1-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap1
+ symbolBitmap2-r16 BIT STRING (SIZE (7)) OPTIONAL -- Cond Bitmap2
+ }
+ }
+ }
+ },
+ ...
+}
+
+
+RLC-Config-NB-r13 ::= CHOICE {
+ am SEQUENCE {
+ ul-AM-RLC-r13 UL-AM-RLC-NB-r13,
+ dl-AM-RLC-r13 DL-AM-RLC-NB-r13
+ },
+ ...,
+ um-Bi-Directional-r15 NULL,
+ um-Uni-Directional-UL-r15 NULL,
+ um-Uni-Directional-DL-r15 NULL
+}
+
+RLC-Config-NB-v1430 ::= SEQUENCE {
+ t-Reordering-r14 T-Reordering OPTIONAL -- Cond twoHARQ
+}
+
+RLC-Config-NB-v1700 ::= SEQUENCE {
+ t-ReorderingExt-r17 CHOICE {release NULL, setup T-ReorderingExt-r17}
+}
+
+UL-AM-RLC-NB-r13 ::= SEQUENCE {
+ t-PollRetransmit-r13 T-PollRetransmit-NB-r13,
+ maxRetxThreshold-r13 ENUMERATED {t1, t2, t3, t4, t6, t8, t16, t32}
+}
+
+DL-AM-RLC-NB-r13 ::= SEQUENCE {
+ enableStatusReportSN-Gap-r13 ENUMERATED {true} OPTIONAL
+}
+
+T-PollRetransmit-NB-r13 ::= ENUMERATED {
+ ms250, ms500, ms1000, ms2000, ms3000, ms4000,
+ ms6000, ms10000, ms15000, ms25000, ms40000, ms60000,
+ ms90000, ms120000, ms180000, ms300000-v1530}
+
+
+
+
+RLF-TimersAndConstants-NB-r13 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ t301-r13 ENUMERATED {
+ ms2500, ms4000, ms6000, ms10000,
+ ms15000, ms25000, ms40000, ms60000},
+ t310-r13 ENUMERATED {
+ ms0, ms200, ms500, ms1000, ms2000, ms4000, ms8000},
+ n310-r13 ENUMERATED {
+ n1, n2, n3, n4, n6, n8, n10, n20},
+ t311-r13 ENUMERATED {
+ ms1000, ms3000, ms5000, ms10000, ms15000,
+ ms20000, ms30000},
+ n311-r13 ENUMERATED {
+ n1, n2, n3, n4, n5, n6, n8, n10},
+ ...,
+ [[ t311-v1350 ENUMERATED {
+ ms40000, ms60000, ms90000, ms120000}
+ OPTIONAL -- Need OR
+ ]],
+ [[ t301-v1530 ENUMERATED {
+ ms80000, ms100000, ms120000}
+ OPTIONAL, -- Cond TDD
+ t311-v1530 ENUMERATED {
+ ms160000, ms200000}
+ OPTIONAL -- Cond TDD
+ ]]
+ }
+}
+
+
+SchedulingRequestConfig-NB-r15 ::= SEQUENCE {
+ sr-WithHARQ-ACK-Config-r15 ENUMERATED {true} OPTIONAL,
+ sr-WithoutHARQ-ACK-Config-r15 SR-WithoutHARQ-ACK-Config-NB-r15 OPTIONAL, -- Need ON
+ sr-SPS-BSR-Config-r15 SR-SPS-BSR-Config-NB-r15 OPTIONAL, -- Need ON
+ ...,
+ [[ sr-WithoutHARQ-ACK-Config-v1700 SR-WithoutHARQ-ACK-Config-NB-v1700 OPTIONAL -- Need ON
+ ]]
+}
+
+SR-WithoutHARQ-ACK-Config-NB-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ sr-ProhibitTimer-r15 INTEGER (0..7) OPTIONAL, -- Need ON
+ sr-NPRACH-Resource-r15 SR-NPRACH-Resource-NB-r15 OPTIONAL -- Need ON
+ }
+}
+
+SR-WithoutHARQ-ACK-Config-NB-v1700 ::= SEQUENCE {
+ sr-ProhibitTimerOffset-r17 CHOICE {release NULL, setup SR-ProhibitTimerOffset-NB-r17} OPTIONAL -- Need ON
+}
+
+SR-NPRACH-Resource-NB-r15 ::= SEQUENCE {
+ nprach-CarrierIndex-r15 INTEGER (0..maxNonAnchorCarriers-NB-r14),
+ nprach-ResourceIndex-r15 INTEGER (1..maxNPRACH-Resources-NB-r13),
+ nprach-SubCarrierIndex-r15 CHOICE {
+ nprach-Fmt0Fmt1-r15 INTEGER (0..47),
+ nprach-Fmt2-r15 INTEGER (0..143)
+ },
+ p0-SR-r15 INTEGER (-126..24),
+ alpha-r15 ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1}}
+
+SR-SPS-BSR-Config-NB-r15 ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ semiPersistSchedC-RNTI-r15 C-RNTI,
+ semiPersistSchedIntervalUL-r15 ENUMERATED {sf128, sf256, sf512, sf1024,
+ sf1280, sf2048, sf2560, sf5120}
+ }
+}
+
+SR-ProhibitTimerOffset-NB-r17 ::= ENUMERATED {
+ ms90, ms180, ms270, ms360, ms450, ms540, ms1080, spare}
+
+
+TDD-Config-NB-r15 ::= SEQUENCE {
+ subframeAssignment-r15 ENUMERATED {
+ sa1, sa2, sa3, sa4, sa5},
+ specialSubframePatterns-r15 ENUMERATED {
+ ssp0, ssp1, ssp2, ssp3, ssp4, ssp5, ssp6, ssp7,
+ ssp8, ssp9, ssp10, ssp10-CRS-LessDwPTS}
+}
+
+
+TDD-UL-DL-AlignmentOffset-NB-r15 ::= ENUMERATED { khz-7dot5, khz0, khz7dot5}
+
+
+
+UplinkPowerControlCommon-NB-r13 ::= SEQUENCE {
+ p0-NominalNPUSCH-r13 INTEGER (-126..24),
+ alpha-r13 ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1},
+ deltaPreambleMsg3-r13 INTEGER (-1..6)
+}
+
+UplinkPowerControlDedicated-NB-r13 ::= SEQUENCE {
+ p0-UE-NPUSCH-r13 INTEGER (-8..7)
+}
+
+UplinkPowerControlDedicated-NB-v1700 ::= SEQUENCE {
+ deltaMCS-Enabled-r17 ENUMERATED {en0, en1}
+}
+
+
+WUS-Config-NB-r15 ::= SEQUENCE {
+ maxDurationFactor-r15 WUS-MaxDurationFactor-NB-r15,
+ numPOs-r15 ENUMERATED {n1, n2, n4} DEFAULT n1,
+ numDRX-CyclesRelaxed-r15 ENUMERATED {n1, n2, n4, n8},
+ timeOffsetDRX-r15 ENUMERATED {ms40, ms80, ms160, ms240},
+ timeOffset-eDRX-Short-r15 ENUMERATED {ms40, ms80, ms160, ms240},
+ timeOffset-eDRX-Long-r15 ENUMERATED {ms1000, ms2000} OPTIONAL, -- Need OP
+ ...
+}
+
+WUS-ConfigPerCarrier-NB-r15 ::= SEQUENCE {
+ maxDurationFactor-r15 WUS-MaxDurationFactor-NB-r15
+}
+
+WUS-MaxDurationFactor-NB-r15 ::= ENUMERATED {one128th, one64th, one32th, one16th,
+ oneEighth, oneQuarter, oneHalf}
+
+AdditionalBandInfoList-NB-r14 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-NB-r13
+
+
+FreqBandIndicator-NB-r13 ::= INTEGER (1.. maxFBI2)
+
+
+MultiBandInfoList-NB-r13 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF MultiBandInfo-NB-r13
+
+MultiBandInfo-NB-r13 ::= SEQUENCE {
+ freqBandIndicator-r13 FreqBandIndicator-NB-r13 OPTIONAL, -- Need OR
+ freqBandInfo-r13 NS-PmaxList-NB-r13 OPTIONAL -- Need OR
+}
+
+
+NS-PmaxList-NB-r13 ::= SEQUENCE (SIZE (1..maxNS-Pmax-NB-r13)) OF NS-PmaxValue-NB-r13
+
+NS-PmaxValue-NB-r13 ::= SEQUENCE {
+ additionalPmax-r13 P-Max OPTIONAL, -- Need OR
+ additionalSpectrumEmission-r13 AdditionalSpectrumEmission
+}
+
+
+ReselectionThreshold-NB-v1360 ::= INTEGER (32..63)
+
+
+T-Reselection-NB-r13 ::= ENUMERATED {s0, s3, s6, s9, s12, s15, s18, s21}
+
+
+ANR-MeasConfig-NB-r16 ::= SEQUENCE {
+ anr-QualityThreshold-r16 NRSRP-Range-NB-r14,
+ anr-CarrierList-r16 ANR-CarrierList-NB-r16,
+ ...
+}
+
+ANR-CarrierList-NB-r16 ::= SEQUENCE (SIZE (1..maxFreqANR-NB-r16)) OF ANR-Carrier-NB-r16
+
+ANR-Carrier-NB-r16::= SEQUENCE {
+ carrierFreqIndex-r16 INTEGER (1..maxFreq),
+ excludedCellList-r16 ANR-ExcludedCellList-NB-r16 OPTIONAL, -- Need OP
+ ...
+}
+
+ANR-ExcludedCellList-NB-r16 ::= SEQUENCE (SIZE (1..maxExcludedCell)) OF PhysCellId
+
+
+ANR-MeasReport-NB-r16 ::= SEQUENCE {
+ servCellIdentity-r16 CellGlobalIdEUTRA OPTIONAL,
+ measResultServCell-r16 MeasResultServCell-NB-r14,
+ relativeTimeStamp-r16 INTEGER (0..95),
+ measResultList-r16 SEQUENCE (SIZE (1..maxFreqANR-NB-r16)) OF ANR-MeasResult-NB-r16,
+ ...
+}
+
+ANR-MeasResult-NB-r16 ::= SEQUENCE {
+ carrierFreq-r16 CarrierFreq-NB-r13,
+ physCellId-r16 PhysCellId OPTIONAL,
+ measResultLastServCell-r16 MeasResultServCell-NB-r14,
+ measResult-r16 NRSRP-Range-NB-r14 OPTIONAL,
+ cgi-Info-r16 SEQUENCE {
+ cellGlobalId-r16 CellGlobalIdEUTRA,
+ trackingAreaCode-r16 TrackingAreaCode,
+ plmn-IdentityList-r16 PLMN-IdentityList2 OPTIONAL
+ } OPTIONAL
+}
+
+CQI-NPDCCH-NB-r14 ::= ENUMERATED {
+ noMeasurements, candidateRep-A, candidateRep-B, candidateRep-C,
+ candidateRep-D, candidateRep-E, candidateRep-F, candidateRep-G,
+ candidateRep-H, candidateRep-I, candidateRep-J, candidateRep-K,
+ candidateRep-L}
+
+
+CQI-NPDCCH-Short-NB-r14 ::= ENUMERATED {
+ noMeasurements, candidateRep-1, candidateRep-2, candidateRep-3}
+
+
+MeasResultServCell-NB-r14 ::= SEQUENCE {
+ nrsrpResult-r14 NRSRP-Range-NB-r14,
+ nrsrqResult-r14 NRSRQ-Range-NB-r14
+}
+
+
+NRSRP-Range-NB-r14 ::= INTEGER(0..113)
+
+
+NRSRQ-Range-NB-r14 ::= INTEGER(-30..46)
+
+
+NSSS-RRM-Config-NB-r15 ::= SEQUENCE {
+ nsss-RRM-PowerOffset-r15 ENUMERATED {dB-3, db0, dB3},
+ nsss-NumOccDiffPrecoders-r15 ENUMERATED {n1, n2, n4, n8} OPTIONAL -- Need OP
+}
+
+EstablishmentCause-NB-r13 ::= ENUMERATED {
+ mt-Access, mo-Signalling, mo-Data, mo-ExceptionData,
+ delayTolerantAccess-v1330, mt-EDT-v1610, spare2, spare1}
+
+
+UE-Capability-NB-r13 ::= SEQUENCE {
+ accessStratumRelease-r13 AccessStratumRelease-NB-r13,
+ ue-Category-NB-r13 ENUMERATED {nb1} OPTIONAL,
+ multipleDRB-r13 ENUMERATED {supported} OPTIONAL,
+ pdcp-Parameters-r13 PDCP-Parameters-NB-r13 OPTIONAL,
+ phyLayerParameters-r13 PhyLayerParameters-NB-r13,
+ rf-Parameters-r13 RF-Parameters-NB-r13,
+ dummy SEQUENCE {} OPTIONAL
+}
+
+UE-Capability-NB-Ext-r14-IEs ::= SEQUENCE {
+ ue-Category-NB-r14 ENUMERATED {nb2} OPTIONAL,
+ mac-Parameters-r14 MAC-Parameters-NB-r14 OPTIONAL,
+ phyLayerParameters-v1430 PhyLayerParameters-NB-v1430 OPTIONAL,
+ rf-Parameters-v1430 RF-Parameters-NB-v1430,
+ nonCriticalExtension UE-Capability-NB-v1440-IEs OPTIONAL
+}
+
+UE-Capability-NB-v1440-IEs ::= SEQUENCE {
+ phyLayerParameters-v1440 PhyLayerParameters-NB-v1440 OPTIONAL,
+ nonCriticalExtension UE-Capability-NB-v14x0-IEs OPTIONAL
+}
+
+UE-Capability-NB-v14x0-IEs ::= SEQUENCE {
+-- Following field is only to be used for late REL-14 extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UE-Capability-NB-v1530-IEs OPTIONAL
+}
+
+UE-Capability-NB-v1530-IEs ::= SEQUENCE {
+ earlyData-UP-r15 ENUMERATED {supported} OPTIONAL,
+ rlc-Parameters-r15 RLC-Parameters-NB-r15,
+ mac-Parameters-v1530 MAC-Parameters-NB-v1530,
+ phyLayerParameters-v1530 PhyLayerParameters-NB-v1530 OPTIONAL,
+ tdd-UE-Capability-r15 TDD-UE-Capability-NB-r15 OPTIONAL,
+ nonCriticalExtension UE-Capability-NB-v15x0-IEs OPTIONAL
+}
+
+UE-Capability-NB-v15x0-IEs ::= SEQUENCE {
+-- Following field is only to be used for late REL-15 extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UE-Capability-NB-v1610-IEs OPTIONAL
+}
+
+UE-Capability-NB-v1610-IEs ::= SEQUENCE {
+ earlySecurityReactivation-r16 ENUMERATED {supported} OPTIONAL,
+ earlyData-UP-5GC-r16 ENUMERATED {supported} OPTIONAL,
+ pur-Parameters-r16 PUR-Parameters-NB-r16 OPTIONAL,
+ mac-Parameters-v1610 MAC-Parameters-NB-v1610,
+ phyLayerParameters-v1610 PhyLayerParameters-NB-v1610 OPTIONAL,
+ son-Parameters-r16 SON-Parameters-NB-r16 OPTIONAL,
+ measParameters-r16 MeasParameters-NB-r16,
+ tdd-UE-Capability-v1610 TDD-UE-Capability-NB-v1610 OPTIONAL,
+ nonCriticalExtension UE-Capability-NB-v16x0-IEs OPTIONAL
+}
+
+UE-Capability-NB-v16x0-IEs ::= SEQUENCE {
+-- Following field is only to be used for late REL-16 extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UE-Capability-NB-v1700-IEs OPTIONAL
+}
+
+UE-Capability-NB-v1700-IEs ::= SEQUENCE {
+ coverageBasedPaging-r17 ENUMERATED {supported} OPTIONAL,
+ phyLayerParameters-v1700 PhyLayerParameters-NB-v1700,
+ ntn-Parameters-r17 NTN-Parameters-NB-r17 OPTIONAL,
+ nonCriticalExtension UE-Capability-NB-v1710-IEs OPTIONAL
+}
+
+UE-Capability-NB-v1710-IEs ::= SEQUENCE {
+ measParameters-v1710 MeasParameters-NB-v1710 OPTIONAL,
+ rf-Parameters-v1710 RF-Parameters-NB-v1710,
+ tdd-UE-Capability-v1710 TDD-UE-Capability-NB-v1710,
+ nonCriticalExtension UE-Capability-NB-v1720-IEs OPTIONAL
+}
+
+UE-Capability-NB-v1720-IEs ::= SEQUENCE {
+ ntn-Parameters-v1720 NTN-Parameters-NB-v1720,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+TDD-UE-Capability-NB-r15 ::= SEQUENCE {
+ ue-Category-NB-r15 ENUMERATED {nb2} OPTIONAL,
+ phyLayerParametersRel13-r15 PhyLayerParameters-NB-r13 OPTIONAL,
+ phyLayerParametersRel14-r15 PhyLayerParameters-NB-v1430 OPTIONAL,
+ phyLayerParameters-v1530 PhyLayerParameters-NB-v1530 OPTIONAL,
+ ...
+}
+
+TDD-UE-Capability-NB-v1610 ::= SEQUENCE {
+ slotSymbolResourceResvDL-r16 ENUMERATED {supported} OPTIONAL,
+ slotSymbolResourceResvUL-r16 ENUMERATED {supported} OPTIONAL,
+ subframeResourceResvDL-r16 ENUMERATED {supported} OPTIONAL,
+ subframeResourceResvUL-r16 ENUMERATED {supported} OPTIONAL
+}
+
+TDD-UE-Capability-NB-v1710 ::= SEQUENCE {
+ phyLayerParameters-v1710 PhyLayerParameters-NB-v1700 OPTIONAL
+}
+
+AccessStratumRelease-NB-r13 ::= ENUMERATED {rel13, rel14, rel15, rel16, rel17, spare3, spare2, spare1, ...}
+
+PDCP-Parameters-NB-r13 ::= SEQUENCE {
+ supportedROHC-Profiles-r13 SEQUENCE {
+ profile0x0002 BOOLEAN,
+ profile0x0003 BOOLEAN,
+ profile0x0004 BOOLEAN,
+ profile0x0006 BOOLEAN,
+ profile0x0102 BOOLEAN,
+ profile0x0103 BOOLEAN,
+ profile0x0104 BOOLEAN
+ },
+ maxNumberROHC-ContextSessions-r13 ENUMERATED {cs2, cs4, cs8, cs12} DEFAULT cs2,
+ ...
+}
+
+RLC-Parameters-NB-r15 ::= SEQUENCE {
+ rlc-UM-r15 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-NB-r14 ::= SEQUENCE {
+ dataInactMon-r14 ENUMERATED {supported} OPTIONAL,
+ rai-Support-r14 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-NB-v1530 ::= SEQUENCE {
+ sr-SPS-BSR-r15 ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters-NB-v1610 ::= SEQUENCE {
+ rai-SupportEnh-r16 ENUMERATED {supported} OPTIONAL
+}
+
+NTN-Parameters-NB-r17 ::= SEQUENCE {
+ ntn-Connectivity-EPC-r17 ENUMERATED {supported} OPTIONAL,
+ ntn-TA-Report-r17 ENUMERATED {supported} OPTIONAL,
+ ntn-PUR-TimerDelay-r17 ENUMERATED {supported} OPTIONAL,
+ ntn-OffsetTimingEnh-r17 ENUMERATED {supported} OPTIONAL,
+ ntn-ScenarioSupport-r17 ENUMERATED {ngso,gso} OPTIONAL
+}
+
+NTN-Parameters-NB-v1720 ::= SEQUENCE {
+ ntn-SegmentedPrecompensationGaps-r17 ENUMERATED {sym1,sl1,sl2} OPTIONAL
+}
+
+MeasParameters-NB-r16 ::= SEQUENCE {
+ dl-ChannelQualityReporting-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MeasParameters-NB-v1710 ::= SEQUENCE {
+ connModeMeasIntraFreq-r17 ENUMERATED {supported} OPTIONAL,
+ connModeMeasInterFreq-r17 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-NB-r13 ::= SEQUENCE {
+ multiTone-r13 ENUMERATED {supported} OPTIONAL,
+ multiCarrier-r13 ENUMERATED {supported} OPTIONAL
+ }
+
+PhyLayerParameters-NB-v1430 ::= SEQUENCE {
+ multiCarrier-NPRACH-r14 ENUMERATED {supported} OPTIONAL,
+ twoHARQ-Processes-r14 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-NB-v1440 ::= SEQUENCE {
+ interferenceRandomisation-r14 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-NB-v1530 ::= SEQUENCE {
+ mixedOperationMode-r15 ENUMERATED {supported} OPTIONAL,
+ sr-WithHARQ-ACK-r15 ENUMERATED {supported} OPTIONAL,
+ sr-WithoutHARQ-ACK-r15 ENUMERATED {supported} OPTIONAL,
+ nprach-Format2-r15 ENUMERATED {supported} OPTIONAL,
+ additionalTransmissionSIB1-r15 ENUMERATED {supported} OPTIONAL,
+ npusch-3dot75kHz-SCS-TDD-r15 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-NB-v1610 ::= SEQUENCE {
+ npdsch-MultiTB-r16 ENUMERATED {supported} OPTIONAL,
+ npdsch-MultiTB-Interleaving-r16 ENUMERATED {supported} OPTIONAL,
+ npusch-MultiTB-r16 ENUMERATED {supported} OPTIONAL,
+ npusch-MultiTB-Interleaving-r16 ENUMERATED {supported} OPTIONAL,
+ multiTB-HARQ-AckBundling-r16 ENUMERATED {supported} OPTIONAL,
+ slotSymbolResourceResvDL-r16 ENUMERATED {supported} OPTIONAL,
+ slotSymbolResourceResvUL-r16 ENUMERATED {supported} OPTIONAL,
+ subframeResourceResvDL-r16 ENUMERATED {supported} OPTIONAL,
+ subframeResourceResvUL-r16 ENUMERATED {supported} OPTIONAL
+}
+
+PUR-Parameters-NB-r16 ::= SEQUENCE {
+ pur-CP-EPC-r16 ENUMERATED {supported} OPTIONAL,
+ pur-CP-5GC-r16 ENUMERATED {supported} OPTIONAL,
+ pur-UP-EPC-r16 ENUMERATED {supported} OPTIONAL,
+ pur-UP-5GC-r16 ENUMERATED {supported} OPTIONAL,
+ pur-NRSRP-Validation-r16 ENUMERATED {supported} OPTIONAL,
+ pur-CP-L1Ack-r16 ENUMERATED {supported} OPTIONAL
+}
+
+PhyLayerParameters-NB-v1700 ::= SEQUENCE {
+ npdsch-16QAM-r17 ENUMERATED {supported} OPTIONAL
+}
+
+RF-Parameters-NB-r13 ::= SEQUENCE {
+ supportedBandList-r13 SupportedBandList-NB-r13,
+ multiNS-Pmax-r13 ENUMERATED {supported} OPTIONAL
+}
+
+RF-Parameters-NB-v1430 ::= SEQUENCE {
+ powerClassNB-14dBm-r14 ENUMERATED {supported} OPTIONAL
+}
+
+RF-Parameters-NB-v1710 ::= SEQUENCE {
+ supportedBandList-v1710 SupportedBandList-NB-v1710 OPTIONAL
+}
+
+SupportedBandList-NB-r13 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBand-NB-r13
+
+SupportedBandList-NB-v1710 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBand-NB-v1710
+
+SupportedBand-NB-r13 ::= SEQUENCE {
+ band-r13 FreqBandIndicator-NB-r13,
+ powerClassNB-20dBm-r13 ENUMERATED {supported} OPTIONAL
+}
+
+SupportedBand-NB-v1710 ::= SEQUENCE {
+ npusch-16QAM-r17 ENUMERATED {supported} OPTIONAL
+}
+
+SON-Parameters-NB-r16 ::= SEQUENCE {
+ anr-Report-r16 ENUMERATED {supported} OPTIONAL,
+ rach-Report-r16 ENUMERATED {supported} OPTIONAL
+}
+
+
+UE-RadioPagingInfo-NB-r13 ::= SEQUENCE {
+ ue-Category-NB-r13 ENUMERATED {nb1} OPTIONAL,
+ ...,
+ [[ multiCarrierPaging-r14 ENUMERATED {true} OPTIONAL
+ ]],
+ [[ mixedOperationMode-r15 ENUMERATED {supported} OPTIONAL,
+ wakeUpSignal-r15 ENUMERATED {true} OPTIONAL,
+ wakeUpSignalMinGap-eDRX-r15 ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL,
+ multiCarrierPagingTDD-r15 ENUMERATED {true} OPTIONAL
+ ]],
+ [[ ue-Category-NB-r16 ENUMERATED {nb2} OPTIONAL,
+ groupWakeUpSignal-r16 ENUMERATED {true} OPTIONAL,
+ groupWakeUpSignalAlternation-r16 ENUMERATED {true} OPTIONAL
+ ]]
+
+}
+
+
+UE-TimersAndConstants-NB-r13 ::= SEQUENCE {
+ t300-r13 ENUMERATED {
+ ms2500, ms4000, ms6000, ms10000,
+ ms15000, ms25000, ms40000, ms60000},
+ t301-r13 ENUMERATED {
+ ms2500, ms4000, ms6000, ms10000,
+ ms15000, ms25000, ms40000, ms60000},
+ t310-r13 ENUMERATED {
+ ms0, ms200, ms500, ms1000, ms2000, ms4000, ms8000},
+ n310-r13 ENUMERATED {
+ n1, n2, n3, n4, n6, n8, n10, n20},
+ t311-r13 ENUMERATED {
+ ms1000, ms3000, ms5000, ms10000, ms15000,
+ ms20000, ms30000},
+ n311-r13 ENUMERATED {
+ n1, n2, n3, n4, n5, n6, n8, n10},
+ ...,
+ [[ t311-v1350 ENUMERATED {
+ ms40000, ms60000, ms90000, ms120000}
+ OPTIONAL -- Need OR
+ ]],
+ [[ t300-v1530 ENUMERATED {
+ ms80000, ms100000, ms120000} OPTIONAL, -- Cond TDD
+ t301-v1530 ENUMERATED {
+ ms80000, ms100000, ms120000} OPTIONAL, -- Cond TDD
+ t311-v1530 ENUMERATED {
+ ms160000, ms200000} OPTIONAL, -- Cond TDD
+ t300-r15 ENUMERATED {ms6000, ms10000, ms15000, ms25000, ms40000,
+ ms60000, ms80000, ms120000} OPTIONAL -- Cond EDTorPUR
+ ]]
+}
+
+
+SC-MTCH-InfoList-NB-r14 ::= SEQUENCE (SIZE (0.. maxSC-MTCH-NB-r14)) OF SC-MTCH-Info-NB-r14
+
+SC-MTCH-Info-NB-r14 ::= SEQUENCE {
+ sc-mtch-CarrierConfig-r14 CHOICE {
+ dl-CarrierConfig-r14 DL-CarrierConfigCommon-NB-r14,
+ dl-CarrierIndex-r14 INTEGER (0.. maxNonAnchorCarriers-NB-r14)
+ },
+ mbmsSessionInfo-r14 MBMSSessionInfo-r13,
+ g-RNTI-r14 BIT STRING(SIZE(16)),
+ sc-mtch-SchedulingInfo-r14 SC-MTCH-SchedulingInfo-NB-r14 OPTIONAL, -- Need OP
+ sc-mtch-NeighbourCell-r14 BIT STRING (SIZE(maxNeighCell-SCPTM-NB-r14)) OPTIONAL, -- Need OP
+ npdcch-NPDSCH-MaxTBS-SC-MTCH-r14 ENUMERATED {n680, n2536},
+ npdcch-NumRepetitions-SC-MTCH-r14 ENUMERATED {r1, r2, r4, r8, r16,
+ r32, r64, r128, r256,
+ r512, r1024, r2048, spare4,
+ spare3, spare2, spare1},
+ npdcch-StartSF-SC-MTCH-r14 ENUMERATED {v1dot5, v2, v4, v8,
+ v16, v32, v48, v64},
+ npdcch-Offset-SC-MTCH-r14 ENUMERATED {zero, oneEighth, oneQuarter,
+ threeEighth, oneHalf, fiveEighth,
+ threeQuarter, sevenEighth},
+ ...
+}
+
+SC-MTCH-SchedulingInfo-NB-r14 ::= SEQUENCE {
+ onDurationTimerSCPTM-r14 ENUMERATED {
+ pp1, pp2, pp3, pp4,
+ pp8, pp16, pp32, spare},
+ drx-InactivityTimerSCPTM-r14 ENUMERATED {
+ pp0, pp1, pp2, pp3,
+ pp4, pp8, pp16, pp32},
+ schedulingPeriodStartOffsetSCPTM-r14 CHOICE {
+ sf10 INTEGER(0..9),
+ sf20 INTEGER(0..19),
+ sf32 INTEGER(0..31),
+ sf40 INTEGER(0..39),
+ sf64 INTEGER(0..63),
+ sf80 INTEGER(0..79),
+ sf128 INTEGER(0..127),
+ sf160 INTEGER(0..159),
+ sf256 INTEGER(0..255),
+ sf320 INTEGER(0..319),
+ sf512 INTEGER(0..511),
+ sf640 INTEGER(0..639),
+ sf1024 INTEGER(0..1023),
+ sf2048 INTEGER(0..2047),
+ sf4096 INTEGER(0..4095),
+ sf8192 INTEGER(0..8191)
+ },
+ ...
+}
+
+
+SCPTM-NeighbourCellList-NB-r14 ::= SEQUENCE (SIZE (1..maxNeighCell-SCPTM-NB-r14)) OF PCI-ARFCN-NB-r14
+
+PCI-ARFCN-NB-r14 ::= SEQUENCE {
+ physCellId-r14 PhysCellId,
+ carrierFreq-r14 CarrierFreq-NB-r13 OPTIONAL -- Need OP
+}
+
+
+maxFreqANR-NB-r16 INTEGER ::= 2 -- Maximum number of NB-IOT carrier frequencies that can
+ -- be configured or reported for ANR measurement
+maxFreqEUTRA-NB-r16 INTEGER ::= 8 -- Maximum number of EUTRAN carrier frequencies that can
+ -- be provided as assistance information for inter-RAT
+ -- cell selection
+maxFreqsGERAN-NB-r16 INTEGER ::= 8 -- Maximum number of groups of GERAN carrier frequencies
+ -- that can be provided as assistance information for
+ -- inter-RAT cell selection
+maxGWUS-Groups-1-NB-r16 INTEGER ::= 15 -- Maximum number of groups for each paging probability
+ -- group
+maxGWUS-Resources-NB-r16 INTEGER ::= 2 -- Maximum number of GWUS resources for each gap
+maxGWUS-ProbThresholds-NB-r16 INTEGER ::= 3 -- Maximum number of paging probability thresholds
+maxNPRACH-Resources-NB-r13 INTEGER ::= 3 -- Maximum number of NPRACH resources for NB-IoT
+maxNonAnchorCarriers-NB-r14 INTEGER ::= 15 -- Maximum number of non-anchor carriers for NB-IoT
+maxDRB-NB-r13 INTEGER ::= 2 -- Maximum number of Data Radio Bearers for NB-IoT
+maxNeighCell-SCPTM-NB-r14 INTEGER ::= 8 -- Maximum number of SCPTM neighbour cells
+maxNS-Pmax-NB-r13 INTEGER ::= 4 -- Maximum number of NS and P-Max values per band
+maxSC-MTCH-NB-r14 INTEGER ::= 64 -- Maximum number of SC-MTCHs in one cell for NB-IoT
+maxSI-Message-NB-r13 INTEGER ::= 8 -- Maximum number of SI messages for NB-IoT
+maxTAC-NB-r17 INTEGER ::= 12 -- Maximum number of Tracking Area Codes
+ -- broadcast in a cell
+
+
+END
diff --git a/epan/dissectors/asn1/lte-rrc/NBIOT-UE-Variables.asn b/epan/dissectors/asn1/lte-rrc/NBIOT-UE-Variables.asn
new file mode 100644
index 00000000..3c081585
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/NBIOT-UE-Variables.asn
@@ -0,0 +1,57 @@
+-- 3GPP TS 36.331 V17.5.0 (2023-06)
+
+NBIOT-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ CellGlobalIdEUTRA,
+ maxFreq,
+ PLMN-IdentityList3-r11
+
+FROM EUTRA-RRC-Definitions
+ VarShortMAC-Input,
+ VarShortResumeMAC-Input-r13
+
+FROM EUTRA-UE-Variables
+
+ ANR-CarrierList-NB-r16,
+ ANR-MeasResult-NB-r16,
+ maxFreqANR-NB-r16,
+ MeasResultServCell-NB-r14,
+ NRSRP-Range-NB-r14,
+ RLF-Report-NB-r16
+
+FROM NBIOT-RRC-Definitions;
+
+
+
+VarANR-MeasConfig-NB-r16::= SEQUENCE {
+ anr-QualityThreshold-r16 NRSRP-Range-NB-r14,
+ anr-CarrierList-r16 ANR-CarrierList-NB-r16
+}
+
+
+VarANR-MeasReport-NB-r16::= SEQUENCE {
+ plmn-IdentityList-r16 PLMN-IdentityList3-r11,
+ servCellIdentity-r16 CellGlobalIdEUTRA,
+ measResultServCell-r16 MeasResultServCell-NB-r14,
+ relativeTimeStamp-r16 INTEGER (0..95),
+ measResultList-r16 SEQUENCE (SIZE (1..maxFreqANR-NB-r16)) OF ANR-MeasResult-NB-r16
+}
+
+
+VarRLF-Report-NB-r16 ::= SEQUENCE {
+ rlf-Report-r16 RLF-Report-NB-r16,
+ plmn-IdentityList-r16 PLMN-IdentityList3-r11
+
+}
+
+
+VarShortMAC-Input-NB-r13 ::= VarShortMAC-Input
+
+
+VarShortResumeMAC-Input-NB-r13 ::= VarShortResumeMAC-Input-r13
+
+
+END
diff --git a/epan/dissectors/asn1/lte-rrc/PC5-RRC-Definitions.asn b/epan/dissectors/asn1/lte-rrc/PC5-RRC-Definitions.asn
new file mode 100644
index 00000000..d7ea3c18
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/PC5-RRC-Definitions.asn
@@ -0,0 +1,50 @@
+-- 3GPP TS 36.331 V17.5.0 (2023-06)
+
+PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ TDD-ConfigSL-r12
+FROM EUTRA-RRC-Definitions;
+
+
+SBCCH-SL-BCH-Message ::= SEQUENCE {
+ message SBCCH-SL-BCH-MessageType
+}
+
+SBCCH-SL-BCH-MessageType ::= MasterInformationBlock-SL
+
+
+SBCCH-SL-BCH-Message-V2X-r14 ::= SEQUENCE {
+ message SBCCH-SL-BCH-MessageType-V2X-r14
+}
+
+SBCCH-SL-BCH-MessageType-V2X-r14 ::= MasterInformationBlock-SL-V2X-r14
+
+
+MasterInformationBlock-SL ::= SEQUENCE {
+ sl-Bandwidth-r12 ENUMERATED {
+ n6, n15, n25, n50, n75, n100},
+ tdd-ConfigSL-r12 TDD-ConfigSL-r12,
+ directFrameNumber-r12 BIT STRING (SIZE (10)),
+ directSubframeNumber-r12 INTEGER (0..9),
+ inCoverage-r12 BOOLEAN,
+ reserved-r12 BIT STRING (SIZE (19))
+}
+
+
+
+MasterInformationBlock-SL-V2X-r14 ::= SEQUENCE {
+ sl-Bandwidth-r14 ENUMERATED {
+ n6, n15, n25, n50, n75, n100},
+ tdd-ConfigSL-r14 TDD-ConfigSL-r12,
+ directFrameNumber-r14 BIT STRING (SIZE (10)),
+ directSubframeNumber-r14 INTEGER (0..9),
+ inCoverage-r14 BOOLEAN,
+ reserved-r14 BIT STRING (SIZE (27))
+}
+
+
+
+END
diff --git a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf
new file mode 100644
index 00000000..ba557c45
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf
@@ -0,0 +1,4038 @@
+# lte-rrc.cnf
+# lte-rrc conformation file
+# Copyright 2008 Vincent Helfre, 2009-2023 Pascal Quantin
+
+#.OPT
+PER
+UNALIGNED
+PROTO_ROOT_NAME proto_lte_rrc
+#.END
+
+#.FIELD_RENAME
+UERadioAccessCapabilityInformation-r8-IEs/ue-RadioAccessCapabilityInfo uERadioAccessCapabilityInformation-r8-IEs_ue-RadioAccessCapabilityInfo
+RRCConnectionResumeRequest-r13-IEs/resumeIdentity-r13 rRCConnectionResumeRequest-r13-IEs_resumeIdentity-r13
+UEAssistanceInformation-r11-IEs/powerPrefIndication-r11 uEAssistanceInformation-r11-IEs_powerPrefIndication-r11
+RRC-InactiveConfig-r15/dummy rRC-InactiveConfig-r15_dummy
+SystemInformationBlockType2-v9i0-IEs/dummy systemInformationBlockType2-v9i0-IEs_dummy
+SystemInformationBlockType10/dummy systemInformationBlockType10_dummy
+SystemInformationBlockType20-r13/eag_1/br-BCCH-Config-r14/dummy systemInformationBlockType20-r13_eag_1_br-BCCH-Config-r14_dummy
+CSI-Process-r11/eag_3/dummy cSI-Process-r11_eag_3_dummy
+CSI-RS-Config-v1430/dummy cSI-RS-Config-v1430_dummy
+FreqHoppingParameters-r13/dummy freqHoppingParameters-r13_dummy
+RadioResourceConfigDedicated/eag_7/dummy radioResourceConfigDedicated_eag_7_dummy
+SPUCCH-Config-r15/setup/dummy sPUCCH-Config-r15_setup_dummy
+NPRACH-ConfigSIB-NB-v1530/tdd-Parameters-r15/dummy nPRACH-ConfigSIB-NB-v1530_tdd-Parameters-r15_dummy
+UE-Capability-NB-r13/dummy uE-Capability-NB-r13_dummy
+PUR-PUSCH-Config-r16/pur-GrantInfo-r16/ce-ModeA/numRUs-r16 pUR-PUSCH-Config-r16_pur-GrantInfo-r16_ce-ModeA_numRUs-r16
+RadioResourceConfigDedicatedPSCell-r12/eag_3/crs-IntfMitigEnabled-r15 eag_3_crs-IntfMitigEnabled-r15
+RadioResourceConfigDedicatedSCell-r10/eag_5/crs-IntfMitigEnabled-r15 eag_5_crs-IntfMitigEnabled-r15
+CRS-AssistanceInfo-r15/crs-IntfMitigEnabled-r15 cRS-AssistanceInfo-r15_crs-IntfMitigEnabled-r15
+MeasObjectEUTRA/offsetFreq measObjectEUTRA_offsetFreq
+CarrierFreqInfoUTRA-v1250/reducedMeasPerformance-r12 carrierFreqInfoUTRA-v1250_reducedMeasPerformance-r12
+CarrierFreqUTRA-FDD-Ext-r12/reducedMeasPerformance-r12 carrierFreqUTRA-FDD-Ext-r12_reducedMeasPerformance-r12
+CarrierFreqUTRA-TDD-r12/reducedMeasPerformance-r12 carrierFreqUTRA-TDD-r12_reducedMeasPerformance-r12
+MeasObjectEUTRA/eag_3/reducedMeasPerformance-r12 measObjectEUTRA_eag_3_reducedMeasPerformance-r12
+MeasObjectUTRA/eag_2/reducedMeasPerformance-r12 measObjectUTRA_eag_2_reducedMeasPerformance-r12
+MeasResultNR-r15/rsrqResult-r15 measResultNR-r15_rsrqResult-r15
+
+RRCConnectionReconfiguration-v1250-IEs/wlan-OffloadInfo-r12/setup rRCConnectionReconfiguration-v1250-IEs_wlan-OffloadInfo-r12_setup
+RRCConnectionReconfiguration-v1510-IEs/nr-Config-r15/setup rRCConnectionReconfiguration-v1510-IEs_nr-Config-r15_setup
+SCG-Configuration-r12/setup sCG-Configuration-r12_setup
+SCG-Configuration-v12f0/setup sCG-Configuration-v12f0_setup
+SCG-Configuration-v13c0/setup sCG-Configuration-v13c0_setup
+RRCConnectionRelease-v1610-IEs/pur-Config-r16/setup rRCConnectionRelease-v1610-IEs_pur-Config-r16_setup
+AntennaInfoDedicated/ue-TransmitAntennaSelection/setup antennaInfoDedicated_ue-TransmitAntennaSelection_setup
+AntennaInfoDedicated-r10/ue-TransmitAntennaSelection/setup antennaInfoDedicated-r10_ue-TransmitAntennaSelection_setup
+AntennaInfoDedicatedSTTI-r15/setup antennaInfoDedicatedSTTI-r15_setup
+AntennaInfoDedicated-v1530/setup antennaInfoDedicated-v1530_setup
+AUL-Config-r15/setup aUL-Config-r15_setup
+CQI-ReportAperiodic-r10/setup cQI-ReportAperiodic-r10_setup
+CQI-ReportAperiodic-v1250/setup cQI-ReportAperiodic-v1250_setup
+CQI-ReportAperiodic-v1310/setup cQI-ReportAperiodic-v1310_setup
+CQI-ReportAperiodic-v1310/setup/aperiodicCSI-Trigger2-r13/setup cQI-ReportAperiodic-v1310_setup_aperiodicCSI-Trigger2-r13_setup
+CQI-ReportConfig-r10/csi-SubframePatternConfig-r10/setup cQI-ReportConfig-r10_csi-SubframePatternConfig-r10_setup
+CQI-ReportConfig-v1250/csi-SubframePatternConfig-r12/setup cQI-ReportConfig-v1250_csi-SubframePatternConfig-r12_setup
+CQI-ReportConfig-r15/setup cQI-ReportConfig-r15_setup
+CQI-ReportPeriodic/setup cQI-ReportPeriodic_setup
+CQI-ReportPeriodic-r10/setup cQI-ReportPeriodic-r10_setup
+CQI-ReportPeriodic-r10/setup/csi-ConfigIndex-r10/setup cQI-ReportPeriodic-r10_setup_csi-ConfigIndex-r10_setup
+CQI-ReportPeriodicSCell-r15/setup cQI-ReportPeriodicSCell-r15_setup
+CQI-ReportPeriodicSCell-r15/setup/csi-SubframePatternDormant-r15/setup cQI-ReportPeriodicSCell-r15_setup_csi-SubframePatternDormant-r15_setup
+CQI-ReportPeriodicProcExt-r11/csi-ConfigIndex-r11/setup cQI-ReportPeriodicProcExt-r11_csi-ConfigIndex-r11_setup
+CQI-ShortConfigSCell-r15/setup cQI-ShortConfigSCell-r15_setup
+CRI-ReportConfig-r13/setup cRI-ReportConfig-r13_setup
+CSI-Process-r11/eag_1/csi-IM-ConfigIdList-r12/setup cSI-Process-r11_eag_1_csi-IM-ConfigIdList-r12_setup
+CSI-Process-r11/eag_1/cqi-ReportAperiodicProc2-r12/setup cSI-Process-r11_eag_1_cqi-ReportAperiodicProc2-r12_setup
+CSI-Process-r11/eag_2/cqi-ReportAperiodicProc2-v1310/setup cSI-Process-r11_eag_2_cqi-ReportAperiodicProc2-v1310_setup
+CSI-RS-Config-r10/csi-RS-r10/setup cSI-RS-Config-r10_csi-RS-r10_setup
+CSI-RS-Config-v1250/ds-ZeroTxPowerCSI-RS-r12/setup cSI-RS-Config-v1250_ds-ZeroTxPowerCSI-RS-r12_setup
+CSI-RS-Config-r15/setup cSI-RS-Config-r15_setup
+ZeroTxPowerCSI-RS-Conf-r12/setup zeroTxPowerCSI-RS-Conf-r12_setup
+CSI-RS-ConfigEMIMO-r13/setup cSI-RS-ConfigEMIMO-r13_setup
+CSI-RS-ConfigEMIMO-v1430/setup cSI-RS-ConfigEMIMO-v1430_setup
+CSI-RS-ConfigEMIMO-v1480/setup cSI-RS-ConfigEMIMO-v1480_setup
+CSI-RS-ConfigEMIMO-v1530/setup cSI-RS-ConfigEMIMO-v1530_setup
+CSI-RS-ConfigEMIMO2-r14/setup cSI-RS-ConfigEMIMO2-r14_setup
+CSI-RS-ConfigEMIMO-Hybrid-r14/setup cSI-RS-ConfigEMIMO-Hybrid-r14_setup
+CSI-RS-ConfigNZP-r11/qcl-CRS-Info-r11/mbsfn-SubframeConfigList-r11/setup cSI-RS-ConfigNZP-r11_qcl-CRS-Info-r11_mbsfn-SubframeConfigList-r11_setup
+CSI-RS-ConfigNZP-r11/eag_3/mbsfn-SubframeConfigList-v1430/setup cSI-RS-ConfigNZP-r11_eag_3_mbsfn-SubframeConfigList-v1430_setup
+CSI-RS-ConfigNZP-EMIMO-r13/setup cSI-RS-ConfigNZP-EMIMO-r13_setup
+CSI-RS-ConfigZP-ApList-r14/setup cSI-RS-ConfigZP-ApList-r14_setup
+DMRS-Config-r11/setup dMRS-Config-r11_setup
+EPDCCH-Config-r11/config-r11/setup ePDCCH-Config-r11_config-r11_setup
+EPDCCH-Config-r11/config-r11/setup/subframePatternConfig-r11/setup ePDCCH-Config-r11_config-r11_setup_subframePatternConfig-r11_setup
+EPDCCH-SetConfig-r11/eag_1/csi-RS-ConfigZPId2-r12/setup ePDCCH-SetConfig-r11_eag_1_csi-RS-ConfigZPId2-r12_setup
+EPDCCH-SetConfig-r11/eag_2/numberPRB-Pairs-v1310/setup ePDCCH-SetConfig-r11_eag_2_numberPRB-Pairs-v1310_setup
+EPDCCH-SetConfig-r11/eag_2/mpdcch-config-r13/setup ePDCCH-SetConfig-r11_eag_2_mpdcch-config-r13_setup
+EIMTA-MainConfig-r12/setup eIMTA-MainConfig-r12_setup
+EIMTA-MainConfigServCell-r12/setup eIMTA-MainConfigServCell-r12_setup
+EIMTA-MainConfigServCell-r12/setup/mbsfn-SubframeConfigList-v1250/setup eIMTA-MainConfigServCell-r12_setup_mbsfn-SubframeConfigList-v1250_setup
+LogicalChannelConfig/eag_4/allowedTTI-Lengths-r15/setup logicalChannelConfig_eag_4_allowedTTI-Lengths-r15_setup
+LogicalChannelConfig/eag_4/logicalChannelSR-Restriction-r15/setup logicalChannelConfig_eag_4_logicalChannelSR-Restriction-r15_setup
+LogicalChannelConfig/eag_4/channelAccessPriority-r15/setup logicalChannelConfig_eag_4_channelAccessPriority-r15_setup
+LWA-Configuration-r13/setup lWA-Configuration-r13_setup
+LWIP-Configuration-r13/setup lWIP-Configuration-r13_setup
+MAC-MainConfig/phr-Config/setup mAC-MainConfig_phr-Config_setup
+MAC-MainConfig/eag_4/dualConnectivityPHR/setup mAC-MainConfig_eag_4_dualConnectivityPHR_setup
+MAC-MainConfig/eag_4/logicalChannelSR-Config-r12/setup mAC-MainConfig_eag_4_logicalChannelSR-Config-r12_setup
+MAC-MainConfig/eag_5/eDRX-Config-CycleStartOffset-r13/setup mAC-MainConfig_eag_5_eDRX-Config-CycleStartOffset-r13_setup
+MAC-MainConfig/eag_6/drx-Config-r13/setup mainConfig_eag_6_drx-Config-r13_setup
+MAC-MainConfig/eag_7/skipUplinkTx-r14/setup mAC-MainConfig_eag_7_skipUplinkTx-r14_setup
+MAC-MainConfig/eag_7/dataInactivityTimerConfig-r14/setup mAC-MainConfig_eag_7_dataInactivityTimerConfig-r14_setup
+MAC-MainConfig/eag_9/shortTTI-AndSPT-r15/setup mAC-MainConfig_eag_9_shortTTI-AndSPT-r15_setup
+MAC-MainConfig/eag_9/dormantStateTimers-r15/setup mAC-MainConfig_eag_9_dormantStateTimers-r15_setup
+DRX-Config/setup dRX-Config_setup
+PDCCH-CandidateReductions-r13/setup pDCCH-CandidateReductions-r13_setup
+PDCCH-CandidateReductionsLAA-UL-r14/setup pDCCH-CandidateReductionsLAA-UL-r14_setup
+PDCP-Config/eag_4/ul-DataSplitThreshold-r13/setup pDCP-Config_eag_4_ul-DataSplitThreshold-r13_setup
+PDCP-Config/eag_4/statusFeedback-r13/setup pDCP-Config_eag_4_statusFeedback-r13_setup
+PDCP-Config/eag_5/ul-LWA-Config-r14/setup pDCP-Config_eag_5_ul-LWA-Config-r14_setup
+PDCP-Config/eag_6/pdcp-DuplicationConfig-r15/setup pDCP-Config_eag_6_pdcp-DuplicationConfig-r15_setup
+PDCP-Config/eag_7/ethernetHeaderCompression-r16/setup pDCP-Config_eag_7_ethernetHeaderCompression-r16_setup
+PDSCH-ConfigDedicated-v1610/ce-PDSCH-MultiTB-Config-r16/setup pDSCH-ConfigDedicated-v1610_ce-PDSCH-MultiTB-Config-r16_setup
+PDSCH-RE-MappingQCL-Config-r11/optionalSetOfFields-r11/mbsfn-SubframeConfigList-r11/setup pDSCH-RE-MappingQCL-Config-r11_optionalSetOfFields-r11_mbsfn-SubframeConfigList-r11_setup
+PDSCH-RE-MappingQCL-Config-r11/eag_1/mbsfn-SubframeConfigList-v1430/setup pDSCH-RE-MappingQCL-Config-r11_eag_1_mbsfn-SubframeConfigList-v1430_setup
+PDSCH-RE-MappingQCL-Config-r11/eag_2/codewordOneConfig-v1530/setup pDSCH-RE-MappingQCL-Config-r11_eag_2_codewordOneConfig-v1530_setup
+PhysicalConfigDedicated/eag_3/additionalSpectrumEmissionCA-r10/setup physicalConfigDedicated_eag_3_additionalSpectrumEmissionCA-r10_setup
+PhysicalConfigDedicated/eag_7/ce-Mode-r13/setup physicalConfigDedicated_eag_7_ce-Mode-r13_setup
+PhysicalConfigDedicated/eag_9/typeA-SRS-TPC-PDCCH-Group-r14/setup physicalConfigDedicated_eag_7_ce-Mode-r13_setup
+PhysicalConfigDedicated/eag_9/must-Config-r14/setup physicalConfigDedicated_eag_9_must-Config-r14_setup
+PhysicalConfigDedicated/eag_11/semiStaticCFI-Config-r15/setup physicalConfigDedicated_eag_11_semiStaticCFI-Config-r15_setup
+PhysicalConfigDedicated/eag_11/blindPDSCH-Repetition-Config-r15/setup physicalConfigDedicated_eag_11_blindPDSCH-Repetition-Config-r15_setup
+PhysicalConfigDedicated/eag_13/resourceReservationConfigDedicatedDL-r16/setup physicalConfigDedicated_eag_13_resourceReservationConfigDedicatedDL-r16_setup
+PhysicalConfigDedicated/eag_13/resourceReservationConfigDedicatedUL-r16/setup physicalConfigDedicated_eag_13_resourceReservationConfigDedicatedUL-r16_setup
+PhysicalConfigDedicated/eag_13/soundingRS-UL-ConfigDedicatedAdd-r16/setup physicalConfigDedicated_eag_13_soundingRS-UL-ConfigDedicatedAdd-r16_setup
+PhysicalConfigDedicatedSCell-r10/eag_10/soundingRS-UL-ConfigDedicatedAdd-r16/setup physicalConfigDedicatedSCell-r10_eag_10_soundingRS-UL-ConfigDedicatedAdd-r16_setup
+PhysicalConfigDedicated/eag_13/uplinkPowerControlAddSRS-r16/setup physicalConfigDedicated_eag_13_uplinkPowerControlAddSRS-r16_setup
+PhysicalConfigDedicatedSCell-r10/eag_10/uplinkPowerControlAddSRS-r16/setup physicalConfigDedicatedSCell-r10_eag_10_uplinkPowerControlAddSRS-r16_setup
+PhysicalConfigDedicated/eag_13/soundingRS-VirtualCellID-r16/setup physicalConfigDedicated_eag_13_soundingRS-VirtualCellID-r16_setup
+PhysicalConfigDedicatedSCell-r10/eag_10/soundingRS-VirtualCellID-r16/setup physicalConfigDedicatedSCell-r10_eag_10_soundingRS-VirtualCellID-r16_setup
+PhysicalConfigDedicated/eag_13/widebandPRG-r16/setup physicalConfigDedicated_eag_13_widebandPRG-r16_setup
+PhysicalConfigDedicatedSCell-r10/eag_10/widebandPRG-r16/setup physicalConfigDedicatedSCell-r10_eag_10_widebandPRG-r16_setup
+PhysicalConfigDedicatedSCell-r10/eag_4/pucch-SCell/setup physicalConfigDedicatedSCell-r10_eag_4_pucch-SCell_setup
+PhysicalConfigDedicatedSCell-r10/eag_6/must-Config-r14/setup physicalConfigDedicatedSCell-r10_eag_6_must-Config-r14_setup
+PhysicalConfigDedicatedSCell-r10/eag_8/semiStaticCFI-Config-r15/setup physicalConfigDedicatedSCell-r10_eag_8_semiStaticCFI-Config-r15_setup
+PhysicalConfigDedicatedSCell-r10/eag_8/blindPDSCH-Repetition-Config-r15/setup physicalConfigDedicatedSCell-r10_eag_8_blindPDSCH-Repetition-Config-r15_setup
+PhysicalConfigDedicatedSCell-v1370/pucch-SCell-v1370/setup physicalConfigDedicatedSCell-v1370_pucch-SCell-v1370_setup
+PhysicalConfigDedicatedSCell-v13c0/pucch-SCell-v13c0/setup physicalConfigDedicatedSCell-v13c0_pucch-SCell-v13c0_setup
+LAA-SCellConfiguration-v1430/crossCarrierSchedulingConfig-UL-r14/setup lAA-SCellConfiguration-v1430_crossCarrierSchedulingConfig-UL-r14_setup
+PhysicalConfigDedicatedSTTI-r15/setup physicalConfigDedicatedSTTI-r15_setup
+PUCCH-ConfigDedicated/ackNackRepetition/setup pUCCH-ConfigDedicated_ackNackRepetition_setup
+PUCCH-ConfigDedicated-v1020/pucch-Format-r10/channelSelection-r10/n1PUCCH-AN-CS-r10/setup pUCCH-ConfigDedicated-v1020_pucch-Format-r10_channelSelection-r10_n1PUCCH-AN-CS-r10_setup
+PUCCH-ConfigDedicated-v1130/n1PUCCH-AN-CS-v1130/setup pUCCH-ConfigDedicated-v1130_n1PUCCH-AN-CS-v1130_setup
+PUCCH-ConfigDedicated-v1130/nPUCCH-Param-r11/setup pUCCH-ConfigDedicated-v1130_nPUCCH-Param-r11_setup
+PUCCH-ConfigDedicated-v1250/nkaPUCCH-Param-r12/setup pUCCH-ConfigDedicated-v1250_nkaPUCCH-Param-r12_setup
+PUCCH-ConfigDedicated-r13/ackNackRepetition-r13/setup pUCCH-ConfigDedicated-r13_ackNackRepetition-r13_setup
+PUCCH-ConfigDedicated-r13/pucch-Format-r13/format3-r13/twoAntennaPortActivatedPUCCH-Format3-r13/setup pUCCH-ConfigDedicated-r13_pucch-Format-r13_format3-r13_twoAntennaPortActivatedPUCCH-Format3-r13_setup
+PUCCH-ConfigDedicated-r13/pucch-Format-r13/channelSelection-r13/n1PUCCH-AN-CS-r13/setup pUCCH-ConfigDedicated-r13_pucch-Format-r13_channelSelection-r13_n1PUCCH-AN-CS-r13_setup
+PUCCH-ConfigDedicated-r13/nPUCCH-Param-r13/setup pUCCH-ConfigDedicated-r13_nPUCCH-Param-r13_setup
+PUCCH-ConfigDedicated-r13/nkaPUCCH-Param-r13/setup pUCCH-ConfigDedicated-r13_nkaPUCCH-Param-r13_setup
+PUCCH-ConfigDedicated-r13/pucch-NumRepetitionCE-r13/setup pUCCH-ConfigDedicated-r13_pucch-NumRepetitionCE-r13_setup
+PUCCH-ConfigDedicated-v1370/pucch-Format-v1370/setup pUCCH-ConfigDedicated-v1370_pucch-Format-v1370_setup
+PUCCH-ConfigDedicated-v13c0/channelSelection-v13c0/n1PUCCH-AN-CS-v13c0/setup pUCCH-ConfigDedicated-v13c0_channelSelection-v13c0_n1PUCCH-AN-CS-v13c0_setup
+PUCCH-Format3-Conf-r13/twoAntennaPortActivatedPUCCH-Format3-r13/setup pUCCH-Format3-Conf-r13_twoAntennaPortActivatedPUCCH-Format3-r13_setup
+PUR-Config-r16/pur-RSRP-ChangeThreshold-r16/setup pUR-Config-r16_pur-RSRP-ChangeThreshold-r16_setup
+PUSCH-ConfigDedicated-v1130/pusch-DMRS-r11/setup pUSCH-ConfigDedicated-v1130_pusch-DMRS-r11_setup
+PUSCH-ConfigDedicated-v1250/uciOnPUSCH/setup pUSCH-ConfigDedicated-v1250_uciOnPUSCH_setup
+PUSCH-ConfigDedicated-r13/pusch-DMRS-r11/setup pUSCH-ConfigDedicated-r13_pusch-DMRS-r11_setup
+PUSCH-ConfigDedicated-r13/uciOnPUSCH/setup pUSCH-ConfigDedicated-r13_uciOnPUSCH_setup
+PUSCH-ConfigDedicated-v1530/ce-PUSCH-FlexibleStartPRB-AllocConfig-r15/setup pUSCH-ConfigDedicated-v1530_ce-PUSCH-FlexibleStartPRB-AllocConfig-r15_setup
+PUSCH-ConfigDedicated-v1530/ce-PUSCH-SubPRB-Config-r15/setup pUSCH-ConfigDedicated-v1530_ce-PUSCH-SubPRB-Config-r15_setup
+PUSCH-ConfigDedicated-v1610/ce-PUSCH-MultiTB-Config-r16/setup pUSCH-ConfigDedicated-v1610_ce-PUSCH-MultiTB-Config-r16_setup
+PUSCH-ConfigDedicatedScell-v1530/uci-OnPUSCH-r15/setup pUSCH-ConfigDedicatedScell-v1530_uci-OnPUSCH-r15_setup
+TDD-PUSCH-UpPTS-r14/setup tDD-PUSCH-UpPTS-r14_setup
+Enable256QAM-r14/setup enable256QAM-r14_setup
+PUSCH-EnhancementsConfig-r14/setup pUSCH-EnhancementsConfig-r14_setup
+RadioResourceConfigDedicated/eag_7/crs-IntfMitigConfig-r15/setup radioResourceConfigDedicated_eag_7_crs-IntfMitigConfig-r15_setup
+RadioResourceConfigDedicated/eag_9/crs-ChEstMPDCCH-ConfigDedicated-r16/setup radioResourceConfigDedicated_eag_9_crs-ChEstMPDCCH-ConfigDedicated-r16_setup
+MeasSubframePatternPCell-r10/setup measSubframePatternPCell-r10_setup
+NeighCellsCRS-Info-r11/setup neighCellsCRS-Info-r11_setup
+NeighCellsCRS-Info-r13/setup neighCellsCRS-Info-r13_setup
+NeighCellsCRS-Info-r15/setup neighCellsCRS-Info-r15_setup
+NAICS-AssistanceInfo-r12/setup nAICS-AssistanceInfo-r12_setup
+RLC-BearerConfig-r15/setup rLC-BearerConfig-r15_setup
+RCLWI-Configuration-r13/setup rCLWI-Configuration-r13_setup
+RLC-Config-v1430/setup rLC-Config-v1430_setup
+RLC-Config-v1530/setup rLC-Config-v1530_setup
+RLF-TimersAndConstants-r9/setup rLF-TimersAndConstants-r9_setup
+RLF-TimersAndConstants-r13/setup rLF-TimersAndConstants-r13_setup
+RLF-TimersAndConstantsSCG-r12/setup rLF-TimersAndConstantsSCG-r12_setup
+RLF-TimersAndConstantsMCG-Failure-r16/setup rLF-TimersAndConstantsMCG-Failure-r16_setup
+SchedulingRequestConfig/setup schedulingRequestConfig_setup
+SchedulingRequestConfigSCell-r13/setup schedulingRequestConfigSCell-r13_setup
+SchedulingRequestConfig-v1530/setup schedulingRequestConfig-v1530_setup
+SlotOrSubslotPDSCH-Config-r15/setup slotOrSubslotPDSCH-Config-r15_setup
+SlotOrSubslotPUSCH-Config-r15/setup slotOrSubslotPUSCH-Config-r15_setup
+SoundingRS-UL-ConfigCommon/setup soundingRS-UL-ConfigCommon_setup
+SoundingRS-UL-ConfigDedicated/setup soundingRS-UL-ConfigDedicated_setup
+SoundingRS-UL-ConfigDedicated-v1310/setup soundingRS-UL-ConfigDedicated-v1310_setup
+SoundingRS-UL-ConfigDedicatedUpPTsExt-r13/setup soundingRS-UL-ConfigDedicatedUpPTsExt-r13_setup
+SoundingRS-UL-ConfigDedicatedAperiodic-r10/setup soundingRS-UL-ConfigDedicatedAperiodic-r10_setup
+SoundingRS-UL-ConfigDedicatedAperiodic-v1310/setup soundingRS-UL-ConfigDedicatedAperiodic-v1310_setup
+SoundingRS-UL-ConfigDedicatedAperiodic-v1310/setup/srs-ActivateAp-v1310/setup soundingRS-UL-ConfigDedicatedAperiodic-v1310_setup_srs-ActivateAp-v1310_setup
+SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13/setup soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13_setup
+SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13/setup/srs-ActivateAp-r13/setup soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13_setup_srs-ActivateAp-r13_setup
+SoundingRS-UL-ConfigDedicatedAperiodic-v1430/setup soundingRS-UL-ConfigDedicatedAperiodic-v1430_setup
+SoundingRS-UL-ConfigDedicatedAdd-r16/srs-ActivateAp-r13/setup soundingRS-UL-ConfigDedicatedAdd-r16_srs-ActivateAp-r13_setup
+SPDCCH-Config-r15/setup sPDCCH-Config-r15_setup
+SPDCCH-Elements-r15/setup sPDCCH-Elements-r15_setup
+SPS-ConfigDL/setup sPS-ConfigDL_setup
+SPS-ConfigDL/setup/eag_1/twoAntennaPortActivated-r10/setup sPS-ConfigDL_setup_eag_1_twoAntennaPortActivated-r10_setup
+SPS-ConfigUL/setup sPS-ConfigUL_setup
+SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/setup sPS-ConfigUL_setup_eag_1_p0-PersistentSubframeSet2-r12_setup
+SPS-ConfigDL-STTI-r15/setup sPS-ConfigDL-STTI-r15_setup
+SPS-ConfigDL-STTI-r15/setup/twoAntennaPortActivated-r15/setup sPS-ConfigDL-STTI-r15_setup_twoAntennaPortActivated-r15_setup
+SPS-ConfigUL-STTI-r15/setup sPS-ConfigUL-STTI-r15_setup
+SPS-ConfigUL-STTI-r15/setup/p0-PersistentSubframeSet2-r15/setup sPS-ConfigUL-STTI-r15_setup_p0-PersistentSubframeSet2-r15_setup
+SPUCCH-Config-r15/setup sPUCCH-Config-r15_setup
+SPUCCH-Config-v1550/setup sPUCCH-Config-v1550_setup
+SPUCCH-Elements-r15/setup sPUCCH-Elements-r15_setup
+SRS-TPC-PDCCH-Config-r14/setup sRS-TPC-PDCCH-Config-r14_setup
+TDM-PatternConfig-r15/setup tDM-PatternConfig-r15_setup
+TPC-PDCCH-Config/setup tPC-PDCCH-Config_setup
+TPC-PDCCH-ConfigSCell-r13/setup tPC-PDCCH-ConfigSCell-r13_setup
+UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup uplinkPowerControlDedicated-v1250_set2PowerControlParameter_setup
+DeltaFList-SPUCCH-r15/setup deltaFList-SPUCCH-r15_setup
+BT-NameListConfig-r15/setup bT-NameListConfig-r15_setup
+MeasConfig/speedStatePars/setup measConfig_speedStatePars_setup
+MeasConfig/eag_3/measScaleFactor-r12/setup measConfig_eag_3_measScaleFactor-r12_setup
+MeasConfig/eag_7/heightThreshRef-r15/setup measConfig_eag_7_heightThreshRef-r15_setup
+MeasDS-Config-r12/setup measDS-Config-r12_setup
+MeasGapConfig/setup measGapConfig_setup
+MeasGapConfigDensePRS-r15/setup measGapConfigDensePRS-r15_setup
+MeasGapConfigPerCC-List-r14/setup measGapConfigPerCC-List-r14_setup
+MeasGapSharingConfig-r14/setup measGapSharingConfig-r14_setup
+MeasObjectEUTRA/eag_3/t312-r12/setup measObjectEUTRA_eag_3_t312-r12_setup
+MeasObjectEUTRA/eag_7/measRSS-DedicatedConfig-r16/setup measObjectEUTRA_eag_7_measRSS-DedicatedConfig-r16_setup
+MeasSubframePatternConfigNeigh-r10/setup measSubframePatternConfigNeigh-r10_setup
+RMTC-Config-r13/setup rMTC-Config-r13_setup
+MeasObjectNR-r15/eag_1/bandNR-r15/setup measObjectNR-r15_eag_1_bandNR-r15_setup
+MeasObjectNR-r15/eag_2/rmtc-ConfigNR-r16/setup measObjectNR-r15_eag_2_rmtc-ConfigNR-r16_setup
+RS-ConfigSSB-NR-r15/eag_1/ssb-ToMeasure-r15/setup rS-ConfigSSB-NR-r15_eag_1_ssb-ToMeasure-r15_setup
+ReportConfigEUTRA/eag_3/alternativeTimeToTrigger-r12/setup reportConfigEUTRA_eag_3_alternativeTimeToTrigger-r12_setup
+ReportConfigEUTRA/eag_4/rs-sinr-Config-r13/setup reportConfigEUTRA_eag_4_rs-sinr-Config-r13_setup
+ReportConfigInterRAT/eag_4/b2-Threshold1-v1250/setup reportConfigInterRAT_eag_4_b2-Threshold1-v1250_setup
+UL-DelayConfig-r13/setup uL-DelayConfig-r13_setup
+UL-DelayValueConfig-r16/setup uL-DelayValueConfig-r16_setup
+WLAN-NameListConfig-r15/setup wLAN-NameListConfig-r15_setup
+OtherConfig-r9/eag_2/delayBudgetReportingConfig-r14/setup otherConfig-r9_eag_2_delayBudgetReportingConfig-r14_setup
+OtherConfig-r9/eag_2/rlm-ReportConfig-r14/setup otherConfig-r9_eag_2_rlm-ReportConfig-r14_setup
+OtherConfig-r9/eag_3/overheatingAssistanceConfig-r14/setup otherConfig-r9_eag_3_overheatingAssistanceConfig-r14_setup
+OtherConfig-r9/eag_4/measConfigAppLayer-r15/setup otherConfig-r9_eag_4_measConfigAppLayer-r15_setup
+IDC-Config-r11/eag_3/idc-Indication-MRDC-r15/setup iDC-Config-r11_eag_3_idc-Indication-MRDC-r15_setup
+PowerPrefIndicationConfig-r11/setup powerPrefIndicationConfig-r11_setup
+SL-CommConfig-r12/commTxResources-r12/setup sL-CommConfig-r12_commTxResources-r12_setup
+SL-CommConfig-r12/eag_1/commTxResources-v1310/setup sL-CommConfig-r12_eag_1_commTxResources-v1310_setup
+SL-DiscConfig-r12/discTxResources-r12/setup sL-DiscConfig-r12_discTxResources-r12_setup
+SL-DiscConfig-r12/eag_1/discTF-IndexList-v1260/setup sL-DiscConfig-r12_eag_1_discTF-IndexList-v1260_setup
+SL-DiscConfig-r12/eag_2/discTxResourcesPS-r13/setup sL-DiscConfig-r12_eag_2_discTxResourcesPS-r13_setup
+SL-DiscConfig-r12/eag_2/discTxInterFreqInfo-r13/setup sL-DiscConfig-r12_eag_2_discTxInterFreqInfo-r13_setup
+SL-DiscConfig-r12/eag_2/discRxGapConfig-r13/setup sL-DiscConfig-r12_eag_2_discRxGapConfig-r13_setup
+SL-DiscConfig-r12/eag_2/discTxGapConfig-r13/setup sL-DiscConfig-r12_eag_2_discTxGapConfig-r13_setup
+SL-DiscConfig-r12/eag_2/discSysInfoToReportConfig-r13/setup sL-DiscConfig-r12_eag_2_discSysInfoToReportConfig-r13_setup
+SL-DiscTxResource-r13/setup sL-DiscTxResource-r13_setup
+SL-DiscResourcePool-r12/eag_1/discPeriod-v1310/setup sL-DiscResourcePool-r12_eag_1_discPeriod-v1310_setup
+SL-DiscResourcePool-r12/eag_1/rxParamsAddNeighFreq-r13/setup sL-DiscResourcePool-r12_eag_1_rxParamsAddNeighFreq-r13_setup
+SL-DiscResourcePool-r12/eag_1/txParamsAddNeighFreq-r13/setup sL-DiscResourcePool-r12_eag_1_txParamsAddNeighFreq-r13_setup
+SL-DiscResourcePool-r12/eag_2/txParamsAddNeighFreq-v1370/setup sL-DiscResourcePool-r12_eag_2_txParamsAddNeighFreq-v1370_setup
+SL-V2X-ConfigDedicated-r14/commTxResources-r14/setup sL-V2X-ConfigDedicated-r14_commTxResources-r14_setup
+SL-V2X-ConfigDedicated-r14/eag_1/commTxResources-v1530/setup sL-V2X-ConfigDedicated-r14_eag_1_commTxResources-v1530_setup
+RRCConnectionRelease-NB-v1610-IEs/pur-Config-r16/setup rRCConnectionRelease-NB-v1610-IEs_pur-Config-r16_setup
+MAC-MainConfig-NB-r13/logicalChannelSR-Config-r13/setup mAC-MainConfig-NB-r13_logicalChannelSR-Config-r13_setup
+MAC-MainConfig-NB-r13/eag_1/dataInactivityTimerConfig-r14/setup mAC-MainConfig-NB-r13_eag_1_dataInactivityTimerConfig-r14_setup
+DRX-Config-NB-r13/setup dRX-Config-NB-r13_setup
+PhysicalConfigDedicated-NB-r13/eag_5/resourceReservationConfigDL-r16/setup physicalConfigDedicated-NB-r13_eag_5_resourceReservationConfigDL-r16_setup
+PhysicalConfigDedicated-NB-r13/eag_5/resourceReservationConfigUL-r16/setup physicalConfigDedicated-NB-r13_eag_5_resourceReservationConfigUL-r16_setup
+PUR-Config-NB-r16/pur-NRSRP-ChangeThreshold-r16/setup pUR-Config-NB-r16_pur-NRSRP-ChangeThreshold-r16_setup
+RLF-TimersAndConstants-NB-r13/setup rLF-TimersAndConstants-NB-r13_setup
+SR-WithoutHARQ-ACK-Config-NB-r15/setup sR-WithoutHARQ-ACK-Config-NB-r15_setup
+SR-SPS-BSR-Config-NB-r15/setup sR-SPS-BSR-Config-NB-r15_setup
+RSRQ-RangeConfig-r12/setup rSRQ-RangeConfig-r12_setup
+
+CSI-Process-r11/eag_1/csi-IM-ConfigIdList-r12/setup/_item csi-IM-ConfigIdList-r12_setup_item
+CSI-RS-ConfigZP-ApList-r14/setup/_item cSI-RS-ConfigZP-ApList-r14_setup_item
+PhysicalConfigDedicated/eag_9/typeA-SRS-TPC-PDCCH-Group-r14/setup/_item typeA-SRS-TPC-PDCCH-Group-r14_setup_item
+
+IDC-Config-r11/idc-Indication-r11 iDC-Config-r11_idc-Indication-r11
+WidebandPRG-r16/widebandPRG-Subframe-r16 widebandPRG-r16_widebandPRG-Subframe-r16
+PhyLayerParameters-v1610/widebandPRG-Subframe-r16 phyLayerParameters-v1610_widebandPRG-Subframe-r16
+
+CSI-IM-Config-r11/eag_1/interferenceMeasRestriction-r13 cSI-IM-Config-r11_eag_1_interferenceMeasRestriction-r13
+CSI-IM-ConfigExt-r12/eag_1/interferenceMeasRestriction-r13 cSI-IM-ConfigExt-r12_eag_1_interferenceMeasRestriction-r13
+MIMO-UE-Parameters-r13/interferenceMeasRestriction-r13 mIMO-UE-Parameters-r13_interferenceMeasRestriction-r13
+
+RRCConnectionReestablishmentComplete-NB-v1610-IEs/anr-InfoAvailable-r16 rRCConnectionReestablishmentComplete-NB-v1610-IEs_anr-InfoAvailable-r16
+RRCConnectionResumeComplete-NB-v1610-IEs/anr-InfoAvailable-r16 rRCConnectionResumeComplete-NB-v1610-IEs_anr-InfoAvailable-r16
+RRCConnectionResumeRequest-NB-r13-IEs/anr-InfoAvailable-r16 rRCConnectionResumeRequest-NB-r13-IEs_anr-InfoAvailable-r16
+
+MasterInformationBlock-NB/additionalTransmissionSIB1-r15 masterInformationBlock-NB_additionalTransmissionSIB1-r15
+PhyLayerParameters-NB-v1530/additionalTransmissionSIB1-r15 phyLayerParameters-NB-v1530_additionalTransmissionSIB1-r15
+
+BCCH-BCH-Message/message bCCH-BCH-Message_message
+BCCH-BCH-Message-MBMS/message bCCH-BCH-Message-MBMS_message
+BCCH-DL-SCH-Message/message bCCH-DL-SCH-Message_message
+BCCH-DL-SCH-Message-BR/message bCCH-DL-SCH-Message-BR_message
+BCCH-DL-SCH-Message-MBMS/message bCCH-DL-SCH-Message-MBMS_message
+MCCH-Message/message mCCH-Message_message
+PCCH-Message/message pCCH-Message_message
+DL-CCCH-Message/message dL-CCCH-Message_message
+DL-DCCH-Message/message dL-DCCH-Message_message
+UL-CCCH-Message/message uL-CCCH-Message_message
+UL-DCCH-Message/message uL-DCCH-Message_message
+SC-MCCH-Message-r13/message sC-MCCH-Message-r13_message
+SBCCH-SL-BCH-Message/message sBCCH-SL-BCH-Message_message
+SBCCH-SL-BCH-Message-V2X-r14/message sBCCH-SL-BCH-Message-V2X-r14_message
+BCCH-BCH-Message-NB/message bCCH-BCH-Message-NB_message
+BCCH-BCH-Message-TDD-NB/message bCCH-BCH-Message-TDD-NB_message
+BCCH-DL-SCH-Message-NB/message bCCH-DL-SCH-Message-NB_message
+PCCH-Message-NB/message pCCH-Message-NB_message
+DL-CCCH-Message-NB/message dL-CCCH-Message-NB_message
+DL-DCCH-Message-NB/message dL-DCCH-Message-NB_message
+UL-CCCH-Message-NB/message uL-CCCH-Message-NB_message
+SC-MCCH-Message-NB/message sC-MCCH-Message-NB_message
+UL-DCCH-Message-NB/message uL-DCCH-Message-NB_message
+DRX-Config/release dRX-Config_release
+
+#.FIELD_ATTR
+UERadioAccessCapabilityInformation-r8-IEs/ue-RadioAccessCapabilityInfo ABBREV=uERadioAccessCapabilityInformation_r8_IEs.ue_RadioAccessCapabilityInfo
+RRCConnectionResumeRequest-r13-IEs/resumeIdentity-r13 ABBREV=rRCConnectionResumeRequest_r13_IEs.resumeIdentity_r13
+UEAssistanceInformation-r11-IEs/powerPrefIndication-r11 ABBREV=uEAssistanceInformation_r11_IEs.powerPrefIndication_r11
+RRC-InactiveConfig-r15/dummy ABBREV=rRC_InactiveConfig_r15.dummy
+SystemInformationBlockType2-v9i0-IEs/dummy ABBREV=systemInformationBlockType2_v9i0_IEs.dummy
+SystemInformationBlockType10/dummy ABBREV=systemInformationBlockType10.dummy
+SystemInformationBlockType20-r13/eag_1/br-BCCH-Config-r14/dummy ABBREV=systemInformationBlockType20_r13.eag_1.br_BCCH_Config_r14.dummy
+CSI-Process-r11/eag_3/dummy ABBREV=cSI_Process_r11.eag_3.dummy
+CSI-RS-Config-v1430/dummy ABBREV=cSI_RS_Config_v1430.dummy
+FreqHoppingParameters-r13/dummy ABBREV=freqHoppingParameters_r13.dummy
+RadioResourceConfigDedicated/eag_7/dummy ABBREV=radioResourceConfigDedicated.eag_7.dummy
+SPUCCH-Config-r15/setup/dummy ABBREV=sPUCCH_Config_r15.setup.dummy
+NPRACH-ConfigSIB-NB-v1530/tdd-Parameters-r15/dummy ABBREV=nPRACH_ConfigSIB_NB_v1530.tdd_Parameters_r15.dummy
+UE-Capability-NB-r13/dummy ABBREV=uE_Capability_NB_r13.dummy
+PUR-PUSCH-Config-r16/pur-GrantInfo-r16/ce-ModeA/numRUs-r16 ABBREV=pUR_PUSCH_Config_r16.pur_GrantInfo_r16.ce_ModeA.numRUs_r16
+RadioResourceConfigDedicatedPSCell-r12/eag_3/crs-IntfMitigEnabled-r15 ABBREV=eag_3.crs_IntfMitigEnabled_r15
+RadioResourceConfigDedicatedSCell-r10/eag_5/crs-IntfMitigEnabled-r15 ABBREV=eag_5.crs_IntfMitigEnabled_r15
+CRS-AssistanceInfo-r15/crs-IntfMitigEnabled-r15 ABBREV=cRS_AssistanceInfo_r15.crs_IntfMitigEnabled_r15
+MeasObjectEUTRA/offsetFreq ABBREV=measObjectEUTRA_offsetFreq
+InterFreqCarrierFreqInfo-r12/reducedMeasPerformance-r12 ABBREV=interFreqCarrierFreqInfo_r12.reducedMeasPerformance_r12
+CarrierFreqInfoUTRA-v1250/reducedMeasPerformance-r12 ABBREV=carrierFreqInfoUTRA_v1250.reducedMeasPerformance_r12
+CarrierFreqUTRA-FDD-Ext-r12/reducedMeasPerformance-r12 ABBREV=carrierFreqUTRA_FDD_Ext_r12.reducedMeasPerformance_r12
+CarrierFreqUTRA-TDD-r12/reducedMeasPerformance-r12 ABBREV=carrierFreqUTRA_TDD_r12.reducedMeasPerformance_r12
+MeasObjectEUTRA/eag_3/reducedMeasPerformance-r12 ABBREV=measObjectEUTRA.eag_3.reducedMeasPerformance_r12
+MeasObjectUTRA/eag_2/reducedMeasPerformance-r12 ABBREV=measObjectUTRA.eag_2.reducedMeasPerformance_r12
+MeasResultNR-r15/rsrqResult-r15 ABBREV=measResultNR_r15.rsrqResult_r15
+
+RRCConnectionReconfiguration-v1250-IEs/wlan-OffloadInfo-r12/setup ABBREV=rRCConnectionReconfiguration_v1250_IEs_wlan_OffloadInfo_r12.setup
+RRCConnectionReconfiguration-v1510-IEs/nr-Config-r15/setup ABBREV=rRCConnectionReconfiguration_v1510_IEs_nr_Config_r15.setup
+SCG-Configuration-r12/setup ABBREV=sCG_Configuration_r12.setup
+SCG-Configuration-v12f0/setup ABBREV=sCG_Configuration_v12f0.setup
+SCG-Configuration-v13c0/setup ABBREV=sCG_Configuration_v13c0.setup
+RRCConnectionRelease-v1610-IEs/pur-Config-r16/setup ABBREV=rRCConnectionRelease_v1610_IEs_pur_Config_r16.setup
+AntennaInfoDedicated/ue-TransmitAntennaSelection/setup ABBREV=antennaInfoDedicated_ue_TransmitAntennaSelection_setup
+AntennaInfoDedicated-r10/ue-TransmitAntennaSelection/setup ABBREV=antennaInfoDedicated_r10_ue_TransmitAntennaSelection.setup
+AntennaInfoDedicatedSTTI-r15/setup ABBREV=antennaInfoDedicatedSTTI_r15.setup
+AntennaInfoDedicated-v1530/setup ABBREV=antennaInfoDedicated_v1530.setup
+AUL-Config-r15/setup ABBREV=aUL_Config_r15.setup
+CQI-ReportAperiodic-r10/setup ABBREV=cQI_ReportAperiodic_r10.setup
+CQI-ReportAperiodic-v1250/setup ABBREV=cQI_ReportAperiodic_v1250.setup
+CQI-ReportAperiodic-v1310/setup ABBREV=cQI_ReportAperiodic_v1310.setup
+CQI-ReportAperiodic-v1310/setup/aperiodicCSI-Trigger2-r13/setup ABBREV=cQI_ReportAperiodic_v1310_setup.aperiodicCSI_Trigger2_r13.setup
+CQI-ReportConfig-r10/csi-SubframePatternConfig-r10/setup ABBREV=cQI_ReportConfig_r10_csi_SubframePatternConfig_r10.setup
+CQI-ReportConfig-v1250/csi-SubframePatternConfig-r12/setup ABBREV=cQI_ReportConfig_v1250.csi_SubframePatternConfig_r12.setup
+CQI-ReportConfig-r15/setup ABBREV=cQI_ReportConfig_r15.setup
+CQI-ReportPeriodic/setup ABBREV=cQI_ReportPeriodic.setup
+CQI-ReportPeriodic-r10/setup ABBREV=cQI_ReportPeriodic_r10.setup
+CQI-ReportPeriodic-r10/setup/csi-ConfigIndex-r10/setup ABBREV=cQI_ReportPeriodic_r10.setup.csi_ConfigIndex_r10.setup
+CQI-ReportPeriodicSCell-r15/setup ABBREV=cQI_ReportPeriodicSCell_r15.setup
+CQI-ReportPeriodicSCell-r15/setup/csi-SubframePatternDormant-r15/setup ABBREV=cQI_ReportPeriodicSCell_r15.setup.csi_SubframePatternDormant_r15.setup
+CQI-ReportPeriodicProcExt-r11/csi-ConfigIndex-r11/setup ABBREV=cQI_ReportPeriodicProcExt_r11.csi_ConfigIndex_r11.setup
+CQI-ShortConfigSCell-r15/setup ABBREV=cQI_ShortConfigSCell_r15.setup
+CRI-ReportConfig-r13/setup ABBREV=cRI_ReportConfig_r13.setup
+CSI-Process-r11/eag_1/csi-IM-ConfigIdList-r12/setup ABBREV=cSI_Process_r11.eag_1.csi_IM_ConfigIdList_r12.setup
+CSI-Process-r11/eag_1/cqi-ReportAperiodicProc2-r12/setup ABBREV=cSI_Process_r11.eag_1.cqi_ReportAperiodicProc2_r12.setup
+CSI-Process-r11/eag_2/cqi-ReportAperiodicProc2-v1310/setup ABBREV=cSI_Process_r11.eag_2.cqi_ReportAperiodicProc2_v1310.setup
+CSI-RS-Config-r10/csi-RS-r10/setup ABBREV=cSI_RS_Config_r10.csi_RS_r10.setup
+CSI-RS-Config-v1250/ds-ZeroTxPowerCSI-RS-r12/setup ABBREV=cSI_RS_Config_v1250.ds_ZeroTxPowerCSI_RS_r12.setup
+CSI-RS-Config-r15/setup ABBREV=cSI_RS_Config_r15.setup
+ZeroTxPowerCSI-RS-Conf-r12/setup ABBREV=zeroTxPowerCSI_RS_Conf_r12.setup
+CSI-RS-ConfigEMIMO-r13/setup ABBREV=cSI_RS_ConfigEMIMO_r13.setup
+CSI-RS-ConfigEMIMO-v1430/setup ABBREV=cSI_RS_ConfigEMIMO_v1430.setup
+CSI-RS-ConfigEMIMO-v1480/setup ABBREV=cSI_RS_ConfigEMIMO_v1480.setup
+CSI-RS-ConfigEMIMO-v1530/setup ABBREV=cSI_RS_ConfigEMIMO_v1530.setup
+CSI-RS-ConfigEMIMO2-r14/setup ABBREV=cSI_RS_ConfigEMIMO2_r14.setup
+CSI-RS-ConfigEMIMO-Hybrid-r14/setup ABBREV=cSI_RS_ConfigEMIMO_Hybrid_r14.setup
+CSI-RS-ConfigNZP-r11/qcl-CRS-Info-r11/mbsfn-SubframeConfigList-r11/setup ABBREV=cSI_RS_ConfigNZP_r11.qcl_CRS_Info_r11.mbsfn_SubframeConfigList_r11.setup
+CSI-RS-ConfigNZP-r11/eag_3/mbsfn-SubframeConfigList-v1430/setup ABBREV=cSI_RS_ConfigNZP_r11.eag_3.mbsfn_SubframeConfigList_v1430.setup
+CSI-RS-ConfigNZP-EMIMO-r13/setup ABBREV=cSI_RS_ConfigNZP_EMIMO_r13.setup
+CSI-RS-ConfigZP-ApList-r14/setup ABBREV=cSI_RS_ConfigZP_ApList_r14.setup
+DMRS-Config-r11/setup ABBREV=dMRS_Config_r11.setup
+EPDCCH-Config-r11/config-r11/setup ABBREV=ePDCCH_Config_r11.config_r11.setup
+EPDCCH-Config-r11/config-r11/setup/subframePatternConfig-r11/setup ABBREV=ePDCCH_Config_r11.config_r11.setup.subframePatternConfig_r11.setup
+EPDCCH-SetConfig-r11/eag_1/csi-RS-ConfigZPId2-r12/setup ABBREV=ePDCCH_SetConfig_r11.eag_1.csi_RS_ConfigZPId2_r12.setup
+EPDCCH-SetConfig-r11/eag_2/numberPRB-Pairs-v1310/setup ABBREV=ePDCCH_SetConfig_r11.eag_2.numberPRB_Pairs_v1310.setup
+EPDCCH-SetConfig-r11/eag_2/mpdcch-config-r13/setup ABBREV=ePDCCH_SetConfig_r11.eag_2.mpdcch_config_r13.setup
+EIMTA-MainConfig-r12/setup ABBREV=eIMTA_MainConfig_r12.setup
+EIMTA-MainConfigServCell-r12/setup ABBREV=eIMTA_MainConfigServCell_r12.setup
+EIMTA-MainConfigServCell-r12/setup/mbsfn-SubframeConfigList-v1250/setup ABBREV=eIMTA_MainConfigServCell_r12.setup.mbsfn_SubframeConfigList_v1250.setup
+LogicalChannelConfig/eag_4/allowedTTI-Lengths-r15/setup ABBREV=logicalChannelConfig.eag_4.allowedTTI_Lengths_r15.setup
+LogicalChannelConfig/eag_4/logicalChannelSR-Restriction-r15/setup ABBREV=logicalChannelConfig.eag_4.logicalChannelSR_Restriction_r15.setup
+LogicalChannelConfig/eag_4/channelAccessPriority-r15/setup ABBREV=logicalChannelConfig.eag_4.channelAccessPriority_r15.setup
+LWA-Configuration-r13/setup ABBREV=lWA_Configuration_r13.setup
+LWIP-Configuration-r13/setup ABBREV=lWIP_Configuration_r13.setup
+MAC-MainConfig/phr-Config/setup ABBREV=mAC_MainConfig.phr_Config.setup
+MAC-MainConfig/eag_4/dualConnectivityPHR/setup ABBREV=mAC_MainConfig.eag_4.dualConnectivityPHR.setup
+MAC-MainConfig/eag_4/logicalChannelSR-Config-r12/setup ABBREV=mAC_MainConfig.eag_4.logicalChannelSR_Config_r12.setup
+MAC-MainConfig/eag_5/eDRX-Config-CycleStartOffset-r13/setup ABBREV=mAC_MainConfig.eag_5.eDRX_Config_CycleStartOffset_r13.setup
+MAC-MainConfig/eag_6/drx-Config-r13/setup ABBREV=mainConfig.eag_6.drx_Config_r13.setup
+MAC-MainConfig/eag_7/skipUplinkTx-r14/setup ABBREV=mAC_MainConfig.eag_7.skipUplinkTx_r14.setup
+MAC-MainConfig/eag_7/dataInactivityTimerConfig-r14/setup ABBREV=mAC_MainConfig.eag_7.dataInactivityTimerConfig_r14.setup
+MAC-MainConfig/eag_9/shortTTI-AndSPT-r15/setup ABBREV=mAC_MainConfig.eag_9.shortTTI_AndSPT_r15.setup
+MAC-MainConfig/eag_9/dormantStateTimers-r15/setup ABBREV=mAC_MainConfig.eag_9.dormantStateTimers_r15.setup
+DRX-Config/setup ABBREV=dRX_Config.setup
+PDCCH-CandidateReductions-r13/setup ABBREV=pDCCH_CandidateReductions_r13.setup
+PDCCH-CandidateReductionsLAA-UL-r14/setup ABBREV=pDCCH_CandidateReductionsLAA_UL_r14.setup
+PDCP-Config/eag_4/ul-DataSplitThreshold-r13/setup ABBREV=pDCP_Config.eag_4.ul_DataSplitThreshold_r13.setup
+PDCP-Config/eag_4/statusFeedback-r13/setup ABBREV=pDCP_Config.eag_4.statusFeedback_r13.setup
+PDCP-Config/eag_5/ul-LWA-Config-r14/setup ABBREV=pDCP_Config.eag_5.ul_LWA_Config_r14.setup
+PDCP-Config/eag_6/pdcp-DuplicationConfig-r15/setup ABBREV=pDCP_Config.eag_6.pdcp_DuplicationConfig_r15.setup
+PDCP-Config/eag_7/ethernetHeaderCompression-r16/setup ABBREV=pDCP_Config.eag_7.ethernetHeaderCompression_r16.setup
+PDSCH-ConfigDedicated-v1610/ce-PDSCH-MultiTB-Config-r16/setup ABBREV=pDSCH_ConfigDedicated_v1610.ce_PDSCH_MultiTB_Config_r16.setup
+PDSCH-RE-MappingQCL-Config-r11/optionalSetOfFields-r11/mbsfn-SubframeConfigList-r11/setup ABBREV=pDSCH_RE_MappingQCL_Config_r11.optionalSetOfFields_r11.mbsfn_SubframeConfigList_r11.setup
+PDSCH-RE-MappingQCL-Config-r11/eag_1/mbsfn-SubframeConfigList-v1430/setup ABBREV=pDSCH_RE_MappingQCL_Config_r11.eag_1.mbsfn_SubframeConfigList_v1430.setup
+PDSCH-RE-MappingQCL-Config-r11/eag_2/codewordOneConfig-v1530/setup ABBREV=pDSCH_RE_MappingQCL_Config_r11.eag_2.codewordOneConfig_v1530.setup
+PhysicalConfigDedicated/eag_3/additionalSpectrumEmissionCA-r10/setup ABBREV=physicalConfigDedicated.eag_3.additionalSpectrumEmissionCA_r10.setup
+PhysicalConfigDedicated/eag_7/ce-Mode-r13/setup ABBREV=physicalConfigDedicated.eag_7.ce_Mode_r13.setup
+PhysicalConfigDedicated/eag_9/typeA-SRS-TPC-PDCCH-Group-r14/setup ABBREV=physicalConfigDedicated.eag_7.ce_Mode_r13.setup
+PhysicalConfigDedicated/eag_9/must-Config-r14/setup ABBREV=physicalConfigDedicated.eag_9.must_Config_r14.setup
+PhysicalConfigDedicated/eag_11/semiStaticCFI-Config-r15/setup ABBREV=physicalConfigDedicated.eag_11.semiStaticCFI_Config_r15.setup
+PhysicalConfigDedicated/eag_11/blindPDSCH-Repetition-Config-r15/setup ABBREV=physicalConfigDedicated.eag_11.blindPDSCH_Repetition_Config_r15.setup
+PhysicalConfigDedicated/eag_13/resourceReservationConfigDedicatedDL-r16/setup ABBREV=physicalConfigDedicated.eag_13.resourceReservationConfigDedicatedDL_r16.setup
+PhysicalConfigDedicated/eag_13/resourceReservationConfigDedicatedUL-r16/setup ABBREV=physicalConfigDedicated.eag_13.resourceReservationConfigDedicatedUL_r16.setup
+PhysicalConfigDedicated/eag_13/soundingRS-UL-ConfigDedicatedAdd-r16/setup ABBREV=physicalConfigDedicated.eag_13.soundingRS_UL_ConfigDedicatedAdd_r16.setup
+PhysicalConfigDedicatedSCell-r10/eag_10/soundingRS-UL-ConfigDedicatedAdd-r16/setup ABBREV=physicalConfigDedicatedSCell_r10.eag_10.soundingRS_UL_ConfigDedicatedAdd_r16.setup
+PhysicalConfigDedicated/eag_13/uplinkPowerControlAddSRS-r16/setup ABBREV=physicalConfigDedicated.eag_13.uplinkPowerControlAddSRS_r16.setup
+PhysicalConfigDedicatedSCell-r10/eag_10/uplinkPowerControlAddSRS-r16/setup ABBREV=physicalConfigDedicatedSCell_r10.eag_10.uplinkPowerControlAddSRS_r16.setup
+PhysicalConfigDedicated/eag_13/soundingRS-VirtualCellID-r16/setup ABBREV=physicalConfigDedicated.eag_13.soundingRS_VirtualCellID_r16.setup
+PhysicalConfigDedicatedSCell-r10/eag_10/soundingRS-VirtualCellID-r16/setup ABBREV=physicalConfigDedicatedSCell_r10.eag_10.soundingRS_VirtualCellID_r16.setup
+PhysicalConfigDedicated/eag_13/widebandPRG-r16/setup ABBREV=physicalConfigDedicated.eag_13.widebandPRG_r16.setup
+PhysicalConfigDedicatedSCell-r10/eag_10/widebandPRG-r16/setup ABBREV=physicalConfigDedicatedSCell_r10.eag_10.widebandPRG_r16.setup
+PhysicalConfigDedicatedSCell-r10/eag_4/pucch-SCell/setup ABBREV=physicalConfigDedicatedSCell_r10.eag_4.pucch_SCell.setup
+PhysicalConfigDedicatedSCell-r10/eag_6/must-Config-r14/setup ABBREV=physicalConfigDedicatedSCell_r10.eag_6.must_Config_r14.setup
+PhysicalConfigDedicatedSCell-r10/eag_8/semiStaticCFI-Config-r15/setup ABBREV=physicalConfigDedicatedSCell_r10.eag_8.semiStaticCFI_Config_r15.setup
+PhysicalConfigDedicatedSCell-r10/eag_8/blindPDSCH-Repetition-Config-r15/setup ABBREV=physicalConfigDedicatedSCell_r10.eag_8.blindPDSCH_Repetition_Config_r15.setup
+PhysicalConfigDedicatedSCell-v1370/pucch-SCell-v1370/setup ABBREV=physicalConfigDedicatedSCell_v1370.pucch_SCell_v1370.setup
+PhysicalConfigDedicatedSCell-v13c0/pucch-SCell-v13c0/setup ABBREV=physicalConfigDedicatedSCell_v13c0.pucch_SCell_v13c0.setup
+LAA-SCellConfiguration-v1430/crossCarrierSchedulingConfig-UL-r14/setup ABBREV=lAA_SCellConfiguration_v1430.crossCarrierSchedulingConfig_UL_r14.setup
+PhysicalConfigDedicatedSTTI-r15/setup ABBREV=physicalConfigDedicatedSTTI_r15.setup
+PUCCH-ConfigDedicated/ackNackRepetition/setup ABBREV=pUCCH_ConfigDedicated.ackNackRepetition.setup
+PUCCH-ConfigDedicated-v1020/pucch-Format-r10/channelSelection-r10/n1PUCCH-AN-CS-r10/setup ABBREV=pUCCH_ConfigDedicated_v1020.pucch_Format_r10.channelSelection_r10.n1PUCCH_AN_CS_r10.setup
+PUCCH-ConfigDedicated-v1130/n1PUCCH-AN-CS-v1130/setup ABBREV=pUCCH_ConfigDedicated_v1130.n1PUCCH_AN_CS_v1130.setup
+PUCCH-ConfigDedicated-v1130/nPUCCH-Param-r11/setup ABBREV=pUCCH_ConfigDedicated_v1130.nPUCCH_Param_r11.setup
+PUCCH-ConfigDedicated-v1250/nkaPUCCH-Param-r12/setup ABBREV=pUCCH_ConfigDedicated_v1250.nkaPUCCH_Param_r12.setup
+PUCCH-ConfigDedicated-r13/ackNackRepetition-r13/setup ABBREV=pUCCH_ConfigDedicated_r13.ackNackRepetition_r13.setup
+PUCCH-ConfigDedicated-r13/pucch-Format-r13/format3-r13/twoAntennaPortActivatedPUCCH-Format3-r13/setup ABBREV=pUCCH_ConfigDedicated_r13.pucch_Format_r13.format3_r13.twoAntennaPortActivatedPUCCH_Format3_r13.setup
+PUCCH-ConfigDedicated-r13/pucch-Format-r13/channelSelection-r13/n1PUCCH-AN-CS-r13/setup ABBREV=pUCCH_ConfigDedicated_r13.pucch_Format_r13.channelSelection_r13.n1PUCCH_AN_CS_r13.setup
+PUCCH-ConfigDedicated-r13/nPUCCH-Param-r13/setup ABBREV=pUCCH_ConfigDedicated_r13.nPUCCH_Param_r13.setup
+PUCCH-ConfigDedicated-r13/nkaPUCCH-Param-r13/setup ABBREV=pUCCH_ConfigDedicated_r13.nkaPUCCH_Param_r13.setup
+PUCCH-ConfigDedicated-r13/pucch-NumRepetitionCE-r13/setup ABBREV=pUCCH_ConfigDedicated_r13.pucch_NumRepetitionCE_r13.setup
+PUCCH-ConfigDedicated-v1370/pucch-Format-v1370/setup ABBREV=pUCCH_ConfigDedicated_v1370.pucch_Format_v1370.setup
+PUCCH-ConfigDedicated-v13c0/channelSelection-v13c0/n1PUCCH-AN-CS-v13c0/setup ABBREV=pUCCH_ConfigDedicated_v13c0.channelSelection_v13c0.n1PUCCH_AN_CS_v13c0.setup
+PUCCH-Format3-Conf-r13/twoAntennaPortActivatedPUCCH-Format3-r13/setup ABBREV=pUCCH_Format3_Conf_r13.twoAntennaPortActivatedPUCCH_Format3_r13.setup
+PUR-Config-r16/pur-RSRP-ChangeThreshold-r16/setup ABBREV=pUR_Config_r16.pur_RSRP_ChangeThreshold_r16.setup
+PUSCH-ConfigDedicated-v1130/pusch-DMRS-r11/setup ABBREV=pUSCH_ConfigDedicated_v1130.pusch_DMRS_r11.setup
+PUSCH-ConfigDedicated-v1250/uciOnPUSCH/setup ABBREV=pUSCH_ConfigDedicated_v1250.uciOnPUSCH.setup
+PUSCH-ConfigDedicated-r13/pusch-DMRS-r11/setup ABBREV=pUSCH_ConfigDedicated_r13.pusch_DMRS_r11.setup
+PUSCH-ConfigDedicated-r13/uciOnPUSCH/setup ABBREV=pUSCH_ConfigDedicated_r13.uciOnPUSCH.setup
+PUSCH-ConfigDedicated-v1530/ce-PUSCH-FlexibleStartPRB-AllocConfig-r15/setup ABBREV=pUSCH_ConfigDedicated_v1530.ce_PUSCH_FlexibleStartPRB_AllocConfig_r15.setup
+PUSCH-ConfigDedicated-v1530/ce-PUSCH-SubPRB-Config-r15/setup ABBREV=pUSCH_ConfigDedicated_v1530.ce_PUSCH_SubPRB_Config_r15.setup
+PUSCH-ConfigDedicated-v1610/ce-PUSCH-MultiTB-Config-r16/setup ABBREV=pUSCH_ConfigDedicated_v1610.ce_PUSCH_MultiTB_Config_r16.setup
+PUSCH-ConfigDedicatedScell-v1530/uci-OnPUSCH-r15/setup ABBREV=pUSCH_ConfigDedicatedScell_v1530.uci_OnPUSCH_r15.setup
+TDD-PUSCH-UpPTS-r14/setup ABBREV=tDD_PUSCH_UpPTS_r14.setup
+Enable256QAM-r14/setup ABBREV=enable256QAM_r14.setup
+PUSCH-EnhancementsConfig-r14/setup ABBREV=pUSCH_EnhancementsConfig_r14.setup
+RadioResourceConfigDedicated/eag_7/crs-IntfMitigConfig-r15/setup ABBREV=radioResourceConfigDedicated.eag_7.crs_IntfMitigConfig_r15.setup
+RadioResourceConfigDedicated/eag_9/crs-ChEstMPDCCH-ConfigDedicated-r16/setup ABBREV=radioResourceConfigDedicated.eag_9.crs_ChEstMPDCCH_ConfigDedicated_r16.setup
+MeasSubframePatternPCell-r10/setup ABBREV=measSubframePatternPCell_r10.setup
+NeighCellsCRS-Info-r11/setup ABBREV=neighCellsCRS_Info_r11.setup
+NeighCellsCRS-Info-r13/setup ABBREV=neighCellsCRS_Info_r13.setup
+NeighCellsCRS-Info-r15/setup ABBREV=neighCellsCRS_Info_r15.setup
+NAICS-AssistanceInfo-r12/setup ABBREV=nAICS_AssistanceInfo_r12.setup
+RLC-BearerConfig-r15/setup ABBREV=rLC_BearerConfig_r15.setup
+RCLWI-Configuration-r13/setup ABBREV=rCLWI_Configuration_r13.setup
+RLC-Config-v1430/setup ABBREV=rLC_Config_v1430.setup
+RLC-Config-v1530/setup ABBREV=rLC_Config_v1530.setup
+RLF-TimersAndConstants-r9/setup ABBREV=rLF_TimersAndConstants_r9.setup
+RLF-TimersAndConstants-r13/setup ABBREV=rLF_TimersAndConstants_r13.setup
+RLF-TimersAndConstantsSCG-r12/setup ABBREV=rLF_TimersAndConstantsSCG_r12.setup
+RLF-TimersAndConstantsMCG-Failure-r16/setup ABBREV=rLF_TimersAndConstantsMCG_Failure_r16.setup
+SchedulingRequestConfig/setup ABBREV=schedulingRequestConfig.setup
+SchedulingRequestConfigSCell-r13/setup ABBREV=schedulingRequestConfigSCell_r13.setup
+SchedulingRequestConfig-v1530/setup ABBREV=schedulingRequestConfig_v1530.setup
+SlotOrSubslotPDSCH-Config-r15/setup ABBREV=slotOrSubslotPDSCH_Config_r15.setup
+SlotOrSubslotPUSCH-Config-r15/setup ABBREV=slotOrSubslotPUSCH_Config_r15.setup
+SoundingRS-UL-ConfigCommon/setup ABBREV=soundingRS_UL_ConfigCommon.setup
+SoundingRS-UL-ConfigDedicated/setup ABBREV=soundingRS_UL_ConfigDedicated.setup
+SoundingRS-UL-ConfigDedicated-v1310/setup ABBREV=soundingRS_UL_ConfigDedicated_v1310.setup
+SoundingRS-UL-ConfigDedicatedUpPTsExt-r13/setup ABBREV=soundingRS_UL_ConfigDedicatedUpPTsExt_r13.setup
+SoundingRS-UL-ConfigDedicatedAperiodic-r10/setup ABBREV=soundingRS_UL_ConfigDedicatedAperiodic_r10.setup
+SoundingRS-UL-ConfigDedicatedAperiodic-r10/setup/srs-ActivateAp-r10/setup ABBREV=soundingRS_UL_ConfigDedicatedAperiodic_r10.setup.srs_ActivateAp_r10.setup
+SoundingRS-UL-ConfigDedicatedAperiodic-v1310/setup ABBREV=soundingRS_UL_ConfigDedicatedAperiodic_v1310.setup
+SoundingRS-UL-ConfigDedicatedAperiodic-v1310/setup/srs-ActivateAp-v1310/setup ABBREV=soundingRS_UL_ConfigDedicatedAperiodic_v1310.setup.srs_ActivateAp_v1310.setup
+SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13/setup ABBREV=soundingRS_UL_ConfigDedicatedAperiodicUpPTsExt_r13.setup
+SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13/setup/srs-ActivateAp-r13/setup ABBREV=soundingRS_UL_ConfigDedicatedAperiodicUpPTsExt_r13.setup.srs_ActivateAp_r13.setup
+SoundingRS-UL-ConfigDedicatedAperiodic-v1430/setup ABBREV=soundingRS_UL_ConfigDedicatedAperiodic_v1430.setup
+SoundingRS-UL-ConfigDedicatedAdd-r16/srs-ActivateAp-r13/setup ABBREV=soundingRS_UL_ConfigDedicatedAdd_r16.srs_ActivateAp_r13.setup
+SPDCCH-Config-r15/setup ABBREV=sPDCCH_Config_r15.setup
+SPDCCH-Elements-r15/setup ABBREV=sPDCCH_Elements_r15.setup
+SPS-ConfigDL/setup ABBREV=sPS_ConfigDL.setup
+SPS-ConfigDL/setup/eag_1/twoAntennaPortActivated-r10/setup ABBREV=sPS_ConfigDL.setup.eag_1.twoAntennaPortActivated_r10.setup
+SPS-ConfigUL/setup ABBREV=sPS_ConfigUL.setup
+SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/setup ABBREV=sPS_ConfigUL.setup.eag_1.p0_PersistentSubframeSet2_r12.setup
+SPS-ConfigDL-STTI-r15/setup ABBREV=sPS_ConfigDL_STTI_r15.setup
+SPS-ConfigDL-STTI-r15/setup/twoAntennaPortActivated-r15/setup ABBREV=sPS_ConfigDL_STTI_r15.setup.twoAntennaPortActivated_r15.setup
+SPS-ConfigUL-STTI-r15/setup ABBREV=sPS_ConfigUL_STTI_r15.setup
+SPS-ConfigUL-STTI-r15/setup/p0-PersistentSubframeSet2-r15/setup ABBREV=sPS_ConfigUL_STTI_r15_setup.p0_PersistentSubframeSet2_r15.setup
+SPUCCH-Config-r15/setup ABBREV=sPUCCH_Config_r15.setup
+SPUCCH-Config-v1550/setup ABBREV=sPUCCH_Config_v1550.setup
+SPUCCH-Elements-r15/setup ABBREV=sPUCCH_Elements_r15.setup
+SRS-TPC-PDCCH-Config-r14/setup ABBREV=sRS_TPC_PDCCH_Config_r14.setup
+TDM-PatternConfig-r15/setup ABBREV=tDM_PatternConfig_r15.setup
+TPC-PDCCH-Config/setup ABBREV=tPC_PDCCH_Config.setup
+TPC-PDCCH-ConfigSCell-r13/setup ABBREV=tPC_PDCCH_ConfigSCell_r13.setup
+UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup ABBREV=uplinkPowerControlDedicated_v1250.set2PowerControlParameter.setup
+DeltaFList-SPUCCH-r15/setup ABBREV=deltaFList_SPUCCH_r15.setup
+BT-NameListConfig-r15/setup ABBREV=bT_NameListConfig_r15.setup
+MeasConfig/speedStatePars/setup ABBREV=measConfig.speedStatePars.setup
+MeasConfig/eag_3/measScaleFactor-r12/setup ABBREV=measConfig.eag_3.measScaleFactor_r12.setup
+MeasConfig/eag_7/heightThreshRef-r15/setup ABBREV=measConfig.eag_7.heightThreshRef_r15.setup
+MeasDS-Config-r12/setup ABBREV=measDS_Config_r12.setup
+MeasGapConfig/setup ABBREV=measGapConfig.setup
+MeasGapConfigDensePRS-r15/setup ABBREV=measGapConfigDensePRS_r15.setup
+MeasGapConfigPerCC-List-r14/setup ABBREV=measGapConfigPerCC_List_r14.setup
+MeasGapSharingConfig-r14/setup ABBREV=measGapSharingConfig_r14.setup
+MeasObjectEUTRA/eag_3/t312-r12/setup ABBREV=measObjectEUTRA.eag_3.t312_r12.setup
+MeasObjectEUTRA/eag_7/measRSS-DedicatedConfig-r16/setup ABBREV=measObjectEUTRA.eag_7.measRSS_DedicatedConfig_r16.setup
+MeasSubframePatternConfigNeigh-r10/setup ABBREV=measSubframePatternConfigNeigh_r10.setup
+RMTC-Config-r13/setup ABBREV=rMTC_Config_r13.setup
+MeasObjectNR-r15/eag_1/bandNR-r15/setup ABBREV=measObjectNR_r15.eag_1.bandNR_r15.setup
+MeasObjectNR-r15/eag_2/rmtc-ConfigNR-r16/setup ABBREV=measObjectNR_r15.eag_2.rmtc_ConfigNR_r16.setup
+RS-ConfigSSB-NR-r15/eag_1/ssb-ToMeasure-r15/setup ABBREV=rS_ConfigSSB_NR_r15.eag_1.ssb_ToMeasure_r15.setup
+ReportConfigEUTRA/eag_3/alternativeTimeToTrigger-r12/setup ABBREV=reportConfigEUTRA.eag_3.alternativeTimeToTrigger_r12.setup
+ReportConfigEUTRA/eag_4/rs-sinr-Config-r13/setup ABBREV=reportConfigEUTRA.eag_4.rs_sinr_Config_r13.setup
+ReportConfigInterRAT/eag_4/b2-Threshold1-v1250/setup ABBREV=reportConfigInterRAT.eag_4.b2_Threshold1_v1250.setup
+UL-DelayConfig-r13/setup ABBREV=uL_DelayConfig_r13.setup
+UL-DelayValueConfig-r16/setup ABBREV=uL_DelayValueConfig_r16.setup
+WLAN-NameListConfig-r15/setup ABBREV=wLAN_NameListConfig_r15.setup
+OtherConfig-r9/eag_2/delayBudgetReportingConfig-r14/setup ABBREV=otherConfig_r9.eag_2.delayBudgetReportingConfig_r14.setup
+OtherConfig-r9/eag_2/rlm-ReportConfig-r14/setup ABBREV=otherConfig_r9.eag_2.rlm_ReportConfig_r14.setup
+OtherConfig-r9/eag_3/overheatingAssistanceConfig-r14/setup ABBREV=otherConfig_r9.eag_3.overheatingAssistanceConfig_r14.setup
+OtherConfig-r9/eag_4/measConfigAppLayer-r15/setup ABBREV=otherConfig_r9.eag_4.measConfigAppLayer_r15.setup
+IDC-Config-r11/eag_3/idc-Indication-MRDC-r15/setup ABBREV=iDC_Config_r11.eag_3.idc_Indication_MRDC_r15.setup
+PowerPrefIndicationConfig-r11/setup ABBREV=powerPrefIndicationConfig_r11.setup
+SL-CommConfig-r12/commTxResources-r12/setup ABBREV=sL_CommConfig_r12.commTxResources_r12.setup
+SL-CommConfig-r12/eag_1/commTxResources-v1310/setup ABBREV=sL_CommConfig_r12.eag_1.commTxResources_v1310.setup
+SL-DiscConfig-r12/discTxResources-r12/setup ABBREV=sL_DiscConfig_r12.discTxResources_r12.setup
+SL-DiscConfig-r12/eag_1/discTF-IndexList-v1260/setup ABBREV=sL_DiscConfig_r12.eag_1.discTF_IndexList_v1260.setup
+SL-DiscConfig-r12/eag_2/discTxResourcesPS-r13/setup ABBREV=sL_DiscConfig_r12.eag_2.discTxResourcesPS_r13.setup
+SL-DiscConfig-r12/eag_2/discTxInterFreqInfo-r13/setup ABBREV=sL_DiscConfig_r12.eag_2.discTxInterFreqInfo_r13.setup
+SL-DiscConfig-r12/eag_2/discRxGapConfig-r13/setup ABBREV=sL_DiscConfig_r12.eag_2.discRxGapConfig_r13.setup
+SL-DiscConfig-r12/eag_2/discTxGapConfig-r13/setup ABBREV=sL_DiscConfig_r12.eag_2.discTxGapConfig_r13.setup
+SL-DiscConfig-r12/eag_2/discSysInfoToReportConfig-r13/setup ABBREV=sL_DiscConfig_r12.eag_2.discSysInfoToReportConfig_r13.setup
+SL-DiscTxResource-r13/setup ABBREV=sL_DiscTxResource_r13.setup
+SL-DiscResourcePool-r12/eag_1/discPeriod-v1310/setup ABBREV=sL_DiscResourcePool_r12.eag_1.discPeriod_v1310.setup
+SL-DiscResourcePool-r12/eag_1/rxParamsAddNeighFreq-r13/setup ABBREV=sL_DiscResourcePool_r12.eag_1.rxParamsAddNeighFreq_r13.setup
+SL-DiscResourcePool-r12/eag_1/txParamsAddNeighFreq-r13/setup ABBREV=sL_DiscResourcePool_r12.eag_1.txParamsAddNeighFreq_r13.setup
+SL-DiscResourcePool-r12/eag_2/txParamsAddNeighFreq-v1370/setup ABBREV=sL_DiscResourcePool_r12.eag_2.txParamsAddNeighFreq_v1370.setup
+SL-V2X-ConfigDedicated-r14/commTxResources-r14/setup ABBREV=sL_V2X_ConfigDedicated_r14.commTxResources_r14.setup
+SL-V2X-ConfigDedicated-r14/eag_1/commTxResources-v1530/setup ABBREV=sL_V2X_ConfigDedicated_r14.eag_1.commTxResources_v1530.setup
+RRCConnectionRelease-NB-v1610-IEs/pur-Config-r16/setup ABBREV=rRCConnectionRelease_NB_v1610_IEs.pur_Config_r16.setup
+MAC-MainConfig-NB-r13/logicalChannelSR-Config-r13/setup ABBREV=mAC_MainConfig_NB_r13.logicalChannelSR_Config_r13.setup
+MAC-MainConfig-NB-r13/eag_1/dataInactivityTimerConfig-r14/setup ABBREV=mAC_MainConfig_NB_r13.eag_1.dataInactivityTimerConfig_r14.setup
+DRX-Config-NB-r13/setup ABBREV=dRX_Config_NB_r13.setup
+PhysicalConfigDedicated-NB-r13/eag_5/resourceReservationConfigDL-r16/setup ABBREV=physicalConfigDedicated_NB_r13.eag_5.resourceReservationConfigDL_r16.setup
+PhysicalConfigDedicated-NB-r13/eag_5/resourceReservationConfigUL-r16/setup ABBREV=physicalConfigDedicated_NB_r13.eag_5.resourceReservationConfigUL_r16.setup
+PUR-Config-NB-r16/pur-NRSRP-ChangeThreshold-r16/setup ABBREV=pUR_Config_NB_r16.pur_NRSRP_ChangeThreshold_r16.setup
+RLF-TimersAndConstants-NB-r13/setup ABBREV=rLF_TimersAndConstants_NB_r13.setup
+SR-WithoutHARQ-ACK-Config-NB-r15/setup ABBREV=sR_WithoutHARQ_ACK_Config_NB_r15.setup
+SR-SPS-BSR-Config-NB-r15/setup ABBREV=sR_SPS_BSR_Config_NB_r15.setup
+RSRQ-RangeConfig-r12/setup ABBREV=rSRQ_RangeConfig_r12.setup
+
+CSI-Process-r11/eag_1/csi-IM-ConfigIdList-r12/setup/_item ABBREV=csi_IM_ConfigIdList_r12.setup_item
+CSI-RS-ConfigZP-ApList-r14/setup/_item ABBREV=cSI_RS_ConfigZP_ApList_r14.setup_item
+PhysicalConfigDedicated/eag_9/typeA-SRS-TPC-PDCCH-Group-r14/setup/_item ABBREV=typeA_SRS_TPC_PDCCH_Group_r14.setup_item
+
+IDC-Config-r11/idc-Indication-r11 ABBREV=iDC_Config_r11.idc_Indication_r11
+WidebandPRG-r16/widebandPRG-Subframe-r16 ABBREV=widebandPRG_r16.widebandPRG_Subframe_r16
+PhyLayerParameters-v1610/widebandPRG-Subframe-r16 ABBREV=phyLayerParameters_v1610.widebandPRG_Subframe_r16
+
+CSI-IM-Config-r11/eag_1/interferenceMeasRestriction-r13 ABBREV=cSI_IM_Config_r11.eag_1.interferenceMeasRestriction_r13
+CSI-IM-ConfigExt-r12/eag_1/interferenceMeasRestriction-r13 ABBREV=cSI_IM_ConfigExt_r12.eag_1.interferenceMeasRestriction_r13
+MIMO-UE-Parameters-r13/interferenceMeasRestriction-r13 ABBREV=mIMO_UE_Parameters_r13.interferenceMeasRestriction_r13
+
+RRCConnectionReestablishmentComplete-NB-v1610-IEs/anr-InfoAvailable-r16 ABBREV=rRCConnectionReestablishmentComplete_NB_v1610_IEs.anr_InfoAvailable_r16
+RRCConnectionResumeComplete-NB-v1610-IEs/anr-InfoAvailable-r16 ABBREV=rRCConnectionResumeComplete_NB_v1610_IEs.anr_InfoAvailable_r16
+RRCConnectionResumeRequest-NB-r13-IEs/anr-InfoAvailable-r16 ABBREV=rRCConnectionResumeRequest_NB_r13_IEs.anr_InfoAvailable_r16
+MasterInformationBlock-NB/additionalTransmissionSIB1-r15 ABBREV=masterInformationBlock_NB.additionalTransmissionSIB1_r15
+PhyLayerParameters-NB-v1530/additionalTransmissionSIB1-r15 ABBREV=phyLayerParameters_NB_v1530.additionalTransmissionSIB1_r15
+BCCH-BCH-Message/message ABBREV=bCCH_BCH_Message.message
+BCCH-BCH-Message-MBMS/message ABBREV=bCCH_BCH_Message_MBMS.message
+BCCH-DL-SCH-Message/message ABBREV=bCCH_DL_SCH_Message.message
+BCCH-DL-SCH-Message-BR/message ABBREV=bCCH_DL_SCH_Message_BR.message
+BCCH-DL-SCH-Message-MBMS/message ABBREV=bCCH_DL_SCH_Message_MBMS.message
+MCCH-Message/message ABBREV=mCCH_Message.message
+PCCH-Message/message ABBREV=pCCH_Message.message
+DL-CCCH-Message/message ABBREV=dL_CCCH_Message.message
+DL-DCCH-Message/message ABBREV=dL_DCCH_Message.message
+UL-CCCH-Message/message ABBREV=uL_CCCH_Message.message
+UL-DCCH-Message/message ABBREV=uL_DCCH_Message.message
+SC-MCCH-Message-r13/message ABBREV=sC_MCCH_Message_r13.message
+SBCCH-SL-BCH-Message/message ABBREV=sBCCH_SL_BCH_Message.message
+SBCCH-SL-BCH-Message-V2X-r14/message ABBREV=sBCCH_SL_BCH_Message_V2X_r14.message
+BCCH-BCH-Message-NB/message ABBREV=bCCH_BCH_Message_NB.message
+BCCH-BCH-Message-TDD-NB/message ABBREV=bCCH_BCH_Message_TDD_NB.message
+BCCH-DL-SCH-Message-NB/message ABBREV=bCCH_DL_SCH_Message_NB.message
+PCCH-Message-NB/message ABBREV=pCCH_Message_NB.message
+DL-CCCH-Message-NB/message ABBREV=dL_CCCH_Message_NB.message
+DL-DCCH-Message-NB/message ABBREV=dL_DCCH_Message_NB.message
+UL-CCCH-Message-NB/message ABBREV=uL_CCCH_Message_NB.message
+SC-MCCH-Message-NB/message ABBREV=sC_MCCH_Message_NB.message
+UL-DCCH-Message-NB/message ABBREV=uL_DCCH_Message_NB.message
+DRX-Config/release ABBREV=dRX_Config.release
+
+#.USE_VALS_EXT
+AUL-Config-r15/setup/aul-RetransmissionTimer-r15
+BandclassCDMA2000
+CarrierFreq-NB-r13/carrierFreqOffset-r13
+CarrierFreqNBIOT-r16/carrierFreqOffset-r16
+DelayBudgetReport-r14/type1
+DelayBudgetReport-r14/type2
+DRX-Config/setup/drx-InactivityTimer
+DRX-Config-r13/drx-ULRetransmissionTimer-r13
+DRX-Config-r15/drx-UL-RetransmissionTimerShortTTI-r15
+DRX-Config-NB-r13/setup/drx-ULRetransmissionTimer-r13
+MeasGapConfig/setup/gapOffset
+MeasGapConfigDensePRS-r15/setup/gapOffsetDensePRS-r15
+PDCP-Config/eag_3/t-Reordering-r12
+PDCP-Config/eag_4/statusFeedback-r13/setup/statusPDU-Periodicity-Type1-r13
+PDCP-Config/eag_4/statusFeedback-r13/setup/statusPDU-Periodicity-Type2-r13
+PollByte-r14
+PosSIB-Type-r15/posSibType-r15
+#PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15
+PowerRampingParameters-NB-v1450/powerRampingParametersCE1-r14/preambleInitialReceivedTargetPowerCE1-r14
+PUR-ConfigRequest-NB-r16/pur-SetupRequest/requestedTBS-r16
+PURConfigurationRequest-r16-IEs/pur-ConfigRequest-r16/pur-SetupRequest/requestedTBS-r16
+Q-OffsetRange
+RRM-Config/ue-InactiveTime
+RRM-Config-NB/ue-InactiveTime
+RSTD-InterFreqInfo-r10/eag_2/measPRS-Offset-r15
+SIB-Type
+SL-CommResourcePoolV2X-r14/sizeSubchannel-r14
+SL-PeriodComm-r12
+SupportedBandUTRA-FDD
+#SystemInformation-r8-IEs/sib-TypeAndInfo
+T-PollRetransmit
+T-Reordering
+T-StatusProhibit
+WLAN-backhaulRate-r12
+
+#.EXPORTS
+CellsToAddModListNR-r15_PDU
+DL-CarrierConfigCommon-NB-r14_PDU
+DL-DCCH-Message_PDU
+HandoverCommand_PDU
+HandoverPreparationInformation_PDU
+HandoverPreparationInformation-NB_PDU
+MeasResultSCG-FailureMRDC-r15_PDU
+MeasResultList3EUTRA-r15_PDU
+MeasurementReport_PDU
+MTC-SSB-NR-r15_PDU
+NPRACH-ParametersList-NB-r13_PDU
+NPRACH-ParametersList-NB-r14_PDU
+NPRACH-ParametersListFmt2-NB-r15_PDU
+NPRACH-ParametersListTDD-NB-r15_PDU
+QuantityConfigNR-r15_PDU
+RLF-Report-NB-r16_PDU
+RLF-Report-r9_PDU
+RLF-Report-v9e0_PDU
+RRCConnectionReconfigurationComplete_PDU
+SCG-Config-r12_PDU
+SCG-ConfigInfo-r12_PDU
+SidelinkUEInformation-r12_PDU
+SL-Parameters-v1430_PDU
+SL-Parameters-v1530_PDU
+SL-Parameters-v1540_PDU
+SS-RSSI-Measurement-r15_PDU
+SSB-ToMeasure-r15_PDU
+SystemInformationBlockType21-r14_PDU
+TDD-Config_PDU
+ThresholdListNR-r15_PDU
+UEAssistanceInformation-r11_PDU
+UECapabilityEnquiry_PDU
+UEPagingCoverageInformation_PDU
+UEPagingCoverageInformation-NB_PDU
+UERadioAccessCapabilityInformation_PDU
+UERadioPagingInformation_PDU
+UE-EUTRA-Capability_PDU
+UL-ConfigCommonList-NB-r14_PDU
+UL-ConfigCommonList-NB-v1530_PDU
+UL-ConfigCommonListTDD-NB-r15_PDU
+UL-DCCH-Message_PDU
+V2X-BandParameters-r14_PDU
+V2X-BandParameters-v1530_PDU
+VisitedCellInfo-r12_PDU
+VisitedCellInfoList-r12_PDU
+#.END
+
+#.PDU
+CellsToAddModListNR-r15
+DL-CarrierConfigCommon-NB-r14
+HandoverCommand
+HandoverPreparationInformation
+HandoverPreparationInformation-NB
+MTC-SSB-NR-r15
+MeasResultSCG-FailureMRDC-r15
+MeasResultList3EUTRA-r15
+MeasurementReport
+NPRACH-ParametersList-NB-r13
+NPRACH-ParametersList-NB-r14
+NPRACH-ParametersListFmt2-NB-r15
+NPRACH-ParametersListTDD-NB-r15
+QuantityConfigNR-r15
+RLF-Report-NB-r16
+RLF-Report-r9
+RLF-Report-v9e0
+RRCConnectionReconfiguration @rrc_conn_reconf
+RRCConnectionReconfigurationComplete @rrc_conn_reconf_compl
+SCG-Config-r12
+SCG-ConfigInfo-r12
+SidelinkUEInformation-r12
+SL-Parameters-v1430
+SL-Parameters-v1530
+SL-Parameters-v1540
+SS-RSSI-Measurement-r15
+SSB-ToMeasure-r15
+SystemInformationBlockType21-r14
+TDD-Config
+ThresholdListNR-r15
+UEAssistanceInformation-r11
+UECapabilityEnquiry
+UEPagingCoverageInformation @ue_paging_coverage_info
+UEPagingCoverageInformation-NB @ue_paging_coverage_info.nb
+UERadioAccessCapabilityInformation @ue_radio_access_cap_info
+UERadioAccessCapabilityInformation-NB @ue_radio_access_cap_info.nb
+UERadioPagingInformation @ue_radio_paging_info
+UERadioPagingInformation-NB @ue_radio_paging_info.nb
+UL-ConfigCommonList-NB-r14
+UL-ConfigCommonList-NB-v1530
+UL-ConfigCommonListTDD-NB-r15
+V2X-BandParameters-r14
+V2X-BandParameters-v1530
+VisitedCellInfo-r12
+VisitedCellInfoList-r12
+BCCH-BCH-Message @bcch.bch
+BCCH-DL-SCH-Message @bcch.dl.sch
+BCCH-DL-SCH-Message-BR @bcch.dl.sch.br
+MCCH-Message @mcch
+PCCH-Message @pcch
+DL-CCCH-Message @dl.ccch
+DL-DCCH-Message @dl.dcch
+UL-CCCH-Message @ul.ccch
+UL-DCCH-Message @ul.dcch
+SC-MCCH-Message-r13 @sc.mcch
+UECapabilityInformation @ue_cap_info
+UE-EUTRA-Capability @ue_eutra_cap
+SBCCH-SL-BCH-Message @sbcch.sl.bch
+SBCCH-SL-BCH-Message-V2X-r14 @sbcch.sl.bch.v2x
+BCCH-BCH-Message-NB @bcch.bch.nb
+BCCH-BCH-Message-TDD-NB @bcch.bch.nb.tdd
+BCCH-DL-SCH-Message-NB @bcch.dl.sch.nb
+PCCH-Message-NB @pcch.nb
+DL-CCCH-Message-NB @dl.ccch.nb
+DL-DCCH-Message-NB @dl.dcch.nb
+UL-CCCH-Message-NB @ul.ccch.nb
+UL-DCCH-Message-NB @ul.dcch.nb
+SC-MCCH-Message-NB @sc.mcch.nb
+BCCH-BCH-Message-MBMS @bcch.bch.mbms
+BCCH-DL-SCH-Message-MBMS @bcch.dl.sch.mbms
+#.END
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+RSRP-RangeSL3-r12
+
+#.NO_EMIT ONLY_VALS
+EAB-Config-r11/eab-Category-r11
+AB-Config-NB-r13/ab-Category-r13
+
+#.MAKE_ENUM
+RAT-Type TYPE_PREFIX
+Handover/targetRAT-Type TYPE_PREFIX
+SI-OrPSI-GERAN TYPE_PREFIX
+
+#
+# EUTRA-RRC-Definitions.asn
+#
+
+#.FN_HDR UL-CCCH-Message
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+#.FN_HDR UL-DCCH-Message
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+#.FN_HDR DL-CCCH-Message
+ actx->pinfo->link_dir = P2P_DIR_DL;
+
+#.FN_HDR DL-DCCH-Message
+ actx->pinfo->link_dir = P2P_DIR_DL;
+
+#.FN_BODY DedicatedInfoNAS VAL_PTR = &nas_eps_tvb
+ tvbuff_t *nas_eps_tvb=NULL;
+%(DEFAULT_BODY)s
+ if (nas_eps_tvb) {
+ proto_tree *nas_tree;
+ dissector_handle_t handle;
+ if (lte_rrc_nas_in_root_tree) {
+ nas_tree = proto_tree_get_root(tree);
+ } else {
+ nas_tree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_dedicatedInfoNAS);
+ }
+ handle = (tvb_get_bits8(nas_eps_tvb, 4, 4) == 0x0e) ? nas_5gs_handle : nas_eps_handle;
+ if (handle) {
+ lte_rrc_call_dissector(handle, nas_eps_tvb, actx->pinfo, nas_tree);
+ }
+ }
+
+#.FN_BODY UECapabilityEnquiry-v1510-IEs/requestedFreqBandsNR-MRDC-r15 VAL_PTR = &freq_band_list_tvb
+ tvbuff_t *freq_band_list_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (freq_band_list_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedFreqBandsNR_MRDC_r15);
+ dissect_nr_rrc_FreqBandList_PDU(freq_band_list_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UECapabilityEnquiry-v1550-IEs/requestedCapabilityNR-r15 VAL_PTR = &ue_cap_req_filter_nr_tvb
+ tvbuff_t *ue_cap_req_filter_nr_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ue_cap_req_filter_nr_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedFreqBandsNR_MRDC_r15);
+ dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(ue_cap_req_filter_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UECapabilityEnquiry-v1560-IEs/requestedCapabilityCommon-r15 VAL_PTR = &ue_cap_req_filter_common_tvb
+ tvbuff_t *ue_cap_req_filter_common_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ue_cap_req_filter_common_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedCapabilityCommon_r15);
+ dissect_nr_rrc_UE_CapabilityRequestFilterCommon_PDU(ue_cap_req_filter_common_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UE-CapabilityRAT-Container
+ /* Initialise to invalid value */
+ private_data_set_rat_type(actx, 0xFF);
+%(DEFAULT_BODY)s
+
+#.FN_BODY RAT-Type VAL_PTR = &rat_type
+ guint32 rat_type;
+%(DEFAULT_BODY)s
+ private_data_set_rat_type(actx, (guint8)rat_type);
+
+#RAT-Type ::= ENUMERATED {
+# eutra, utra, geran-cs, geran-ps, cdma2000-1XRTT,
+# nr, eutra-nr, spare1, ...}
+# ueCapabilityRAT-Container
+# Container for the UE capabilities of the indicated RAT. The encoding is defined in the specification of each RAT:
+# For E-UTRA: the encoding of UE capabilities is defined in IE UE-EUTRA-Capability.
+# For UTRA: the octet string contains the INTER RAT HANDOVER INFO message defined in TS 25.331 [19].
+# For GERAN CS: the octet string contains the concatenated string of the Mobile Station Classmark 2 and Mobile
+# Station Classmark 3. The first 5 octets correspond to Mobile Station Classmark 2 and the following octets correspond
+# to Mobile Station Classmark 3. The Mobile Station Classmark 2 is formatted as 'TLV' and is coded in the same way as
+# the Mobile Station Classmark 2 information element in TS 24.008 [49]. The first octet is the Mobile station classmark 2
+# IEI and its value shall be set to 33H. The second octet is the Length of mobile station classmark 2 and its value shall
+# be set to 3. The octet 3 contains the first octet of the value part of the Mobile Station Classmark 2 information element,
+# the octet 4 contains the second octet of the value part of the Mobile Station Classmark 2 information element and so
+# on. For each of these octets, the first/ leftmost/ most significant bit of the octet contains b8 of the corresponding octet
+# of the Mobile Station Classmark 2. The Mobile Station Classmark 3 is formatted as 'V' and is coded in the same way
+# as the value part in the Mobile station classmark 3 information element in TS 24.008 [49]. The sixth octet of this octet
+# string contains octet 1 of the value part of Mobile station classmark 3, the seventh of octet of this octet string contains
+# octet 2 of the value part of Mobile station classmark 3 and so on. Note.
+# For GERAN PS: the encoding of UE capabilities is formatted as 'V' and is coded in the same way as the value part in
+# the MS Radio Access Capability information element in TS 24.008 [49].
+# For CDMA2000-1XRTT: the octet string contains the A21 Mobile Subscription Information and the encoding of this is
+# defined in A.S0008 [33]. The A21 Mobile Subscription Information contains the supported CDMA2000 1xRTT band
+# class and band sub-class information.
+# For NR: The octet string contains the IE UE-NR-Capability as defined in TS 38.331 [82].
+# For EUTRA-NR: The octet string contains the IE UE-MRDC-Capability as defined in TS 38.331 [82]
+
+#.FN_BODY UE-CapabilityRAT-Container/ueCapabilityRAT-Container VAL_PTR = &ue_cap_tvb
+ tvbuff_t *ue_cap_tvb=NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR UE-CapabilityRAT-Container/ueCapabilityRAT-Container
+if(ue_cap_tvb){
+ guint32 length;
+ proto_item *item;
+ proto_tree *subtree, *subtree2;
+ guint8 byte;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_UE_CapabilityRAT_Container);
+ switch(private_data_get_rat_type(actx)){
+ case RAT_Type_eutra:
+ /* eutra */
+ dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RAT_Type_utra:
+ /* utra */
+ dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RAT_Type_geran_cs:
+ /* geran-cs */
+ /* Mobile Station Classmark 2 is formatted as TLV with the two first bytes set to 0x33 0x03 */
+ subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, 5,
+ ett_lte_rrc_UE_CapabilityRAT_Container, &item, "Mobile Station Classmark 2");
+ byte = tvb_get_guint8(ue_cap_tvb, 0);
+ if (byte != 0x33) {
+ expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_type_value,
+ "Unexpected type value (found 0x%02X)", byte);
+ }
+ byte = tvb_get_guint8(ue_cap_tvb, 1);
+ if (byte != 0x03) {
+ expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_length_value,
+ "Unexpected length value (found %d)", byte);
+ }
+ de_ms_cm_2(ue_cap_tvb, subtree2, actx->pinfo, 2, 3, NULL, 0);
+ /* Mobile Station Classmark 3 is formatted as V */
+ length = tvb_reported_length_remaining(ue_cap_tvb, 5);
+ subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 5, length,
+ ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "Mobile Station Classmark 3");
+ de_ms_cm_3(ue_cap_tvb, subtree2, actx->pinfo, 5, length, NULL, 0);
+ break;
+ case RAT_Type_geran_ps:
+ /* geran-ps */
+ /* MS Radio Access Capability is formatted as V */
+ length = tvb_reported_length(ue_cap_tvb);
+ subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, length,
+ ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "MS Radio Access Capability");
+ de_gmm_ms_radio_acc_cap(ue_cap_tvb, subtree2, actx->pinfo, 0, length, NULL, 0);
+ break;
+ case RAT_Type_cdma2000_1XRTT:
+ /* cdma2000-1XRTT */
+ /* dissection of "A21 Mobile Subscription Information" could be added to packet-ansi_a.c */
+ break;
+ case RAT_Type_nr:
+ /* nr */
+ dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RAT_Type_eutra_nr:
+ /* eutra-nr */
+ dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+}
+
+#.FN_BODY UE-EUTRA-Capability/featureGroupIndicators VAL_PTR = &featureGroupIndicators_tvb
+ tvbuff_t *featureGroupIndicators_tvb=NULL;
+%(DEFAULT_BODY)s
+ if(featureGroupIndicators_tvb){
+ /* Dissect featureGroupIndicators */
+ dissect_lte_rrc_featureGroupIndicators(featureGroupIndicators_tvb, actx);
+ }
+
+#.FN_BODY UE-EUTRA-Capability-v1020-IEs/featureGroupIndRel10-r10 VAL_PTR = &featureGroupIndRel10_tvb
+ tvbuff_t *featureGroupIndRel10_tvb=NULL;
+%(DEFAULT_BODY)s
+ if(featureGroupIndRel10_tvb){
+ /* Dissect featureGroupIndRel10-r10 */
+ dissect_lte_rrc_featureGroupIndRel10(featureGroupIndRel10_tvb, actx);
+ }
+
+#.FN_BODY UE-EUTRA-Capability-v9a0-IEs/featureGroupIndRel9Add-r9 VAL_PTR = &featureGroupIndRel9Add_tvb
+ tvbuff_t *featureGroupIndRel9Add_tvb=NULL;
+%(DEFAULT_BODY)s
+ if(featureGroupIndRel9Add_tvb){
+ /* Dissect featureGroupIndRel9Add-r9 */
+ dissect_lte_rrc_featureGroupIndRel9Add(featureGroupIndRel9Add_tvb, actx);
+ }
+
+#.FN_BODY UE-EUTRA-Capability-v1560-IEs/appliedCapabilityFilterCommon-r15 VAL_PTR = &ue_cap_req_filter_common_tvb
+ tvbuff_t *ue_cap_req_filter_common_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ue_cap_req_filter_common_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedCapabilityCommon_r15);
+ dissect_nr_rrc_UE_CapabilityRequestFilterCommon_PDU(ue_cap_req_filter_common_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UE-EUTRA-CapabilityAddXDD-Mode-r9/featureGroupIndicators-r9 VAL_PTR = &featureGroupIndicators_tvb
+ tvbuff_t *featureGroupIndicators_tvb=NULL;
+%(DEFAULT_BODY)s
+ if(featureGroupIndicators_tvb){
+ /* Dissect featureGroupIndicators-r9 */
+ dissect_lte_rrc_featureGroupIndicators(featureGroupIndicators_tvb, actx);
+ }
+
+#.FN_BODY UE-EUTRA-CapabilityAddXDD-Mode-r9/featureGroupIndRel9Add-r9 VAL_PTR = &featureGroupIndRel9Add_tvb
+ tvbuff_t *featureGroupIndRel9Add_tvb=NULL;
+%(DEFAULT_BODY)s
+ if(featureGroupIndRel9Add_tvb){
+ /* Dissect featureGroupIndRel9Add-r9 */
+ dissect_lte_rrc_featureGroupIndRel9Add(featureGroupIndRel9Add_tvb, actx);
+ }
+
+#.FN_BODY UE-EUTRA-CapabilityAddXDD-Mode-v1060/featureGroupIndRel10-v1060 VAL_PTR = &featureGroupIndRel10_tvb
+ tvbuff_t *featureGroupIndRel10_tvb=NULL;
+%(DEFAULT_BODY)s
+ if(featureGroupIndRel10_tvb){
+ /* Dissect featureGroupIndRel10-v1060 */
+ dissect_lte_rrc_featureGroupIndRel10(featureGroupIndRel10_tvb, actx);
+ }
+
+#.FN_BODY PhyLayerParameters-v1170/interBandTDD-CA-WithDifferentConfig-r11 VAL_PTR = &inter_band_tdd_ca_tvb
+ tvbuff_t *inter_band_tdd_ca_tvb=NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (inter_band_tdd_ca_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_interBandTDD_CA_WithDifferentConfig);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1, inter_band_tdd_ca_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2, inter_band_tdd_ca_tvb, 1, 1, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY PhyLayerParameters-v1250/tdd-FDD-CA-PCellDuplex-r12 VAL_PTR = &pcellduplex_tvb
+ tvbuff_t *pcellduplex_tvb=NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (pcellduplex_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_tdd_FDD_CA_PCellDuplex_r12);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1, pcellduplex_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2, pcellduplex_tvb, 1, 1, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY PhyLayerParameters-v1310/aperiodicCSI-Reporting-r13 VAL_PTR = &aperiodicCSI_tvb
+ tvbuff_t *aperiodicCSI_tvb=NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (aperiodicCSI_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_aperiodicCSI_Reporting_r13);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_aperiodicCSI_Reporting_r13_bit1, aperiodicCSI_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_aperiodicCSI_Reporting_r13_bit2, aperiodicCSI_tvb, 1, 1, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY PhyLayerParameters-v1310/codebook-HARQ-ACK-r13 VAL_PTR = &codebook_tvb
+ tvbuff_t *codebook_tvb=NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (codebook_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_codebook_HARQ_ACK_r13);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_codebook_HARQ_ACK_r13_bit1, codebook_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_codebook_HARQ_ACK_r13_bit2, codebook_tvb, 1, 1, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY RF-Parameters-v10f0/modifiedMPR-Behavior-r10 VAL_PTR = &modifiedMPR_Behavior_r10_tvb
+ tvbuff_t *modifiedMPR_Behavior_r10_tvb=NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (modifiedMPR_Behavior_r10_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_modifiedMPR_Behavior_r10);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_0, modifiedMPR_Behavior_r10_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_1, modifiedMPR_Behavior_r10_tvb, 1, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_2, modifiedMPR_Behavior_r10_tvb, 2, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_3, modifiedMPR_Behavior_r10_tvb, 3, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_4, modifiedMPR_Behavior_r10_tvb, 4, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_5, modifiedMPR_Behavior_r10_tvb, 5, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_6, modifiedMPR_Behavior_r10_tvb, 6, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_7, modifiedMPR_Behavior_r10_tvb, 7, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_8, modifiedMPR_Behavior_r10_tvb, 8, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_9, modifiedMPR_Behavior_r10_tvb, 9, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_10, modifiedMPR_Behavior_r10_tvb, 10, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_11, modifiedMPR_Behavior_r10_tvb, 11, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_12, modifiedMPR_Behavior_r10_tvb, 12, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_13, modifiedMPR_Behavior_r10_tvb, 13, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_14, modifiedMPR_Behavior_r10_tvb, 14, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_15, modifiedMPR_Behavior_r10_tvb, 15, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_16, modifiedMPR_Behavior_r10_tvb, 16, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_17, modifiedMPR_Behavior_r10_tvb, 17, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_18, modifiedMPR_Behavior_r10_tvb, 18, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_19, modifiedMPR_Behavior_r10_tvb, 19, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_20, modifiedMPR_Behavior_r10_tvb, 20, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_21, modifiedMPR_Behavior_r10_tvb, 21, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_22, modifiedMPR_Behavior_r10_tvb, 22, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_23, modifiedMPR_Behavior_r10_tvb, 23, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_24, modifiedMPR_Behavior_r10_tvb, 24, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_25, modifiedMPR_Behavior_r10_tvb, 25, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_26, modifiedMPR_Behavior_r10_tvb, 26, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_27, modifiedMPR_Behavior_r10_tvb, 27, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_28, modifiedMPR_Behavior_r10_tvb, 28, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_29, modifiedMPR_Behavior_r10_tvb, 29, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_30, modifiedMPR_Behavior_r10_tvb, 30, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_31, modifiedMPR_Behavior_r10_tvb, 31, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+RF-Parameters-v1570/dl-1024QAM-TotalWeightedLayers-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_dl_1024QAM_TotalWeightedLayers_r15_fmt)
+
+#.TYPE_RENAME
+IRAT-ParametersWLAN-r13/supportedBandListWLAN-r13 SupportedBandListWLAN_r13
+
+#.TYPE_ATTR
+MasterInformationBlock/schedulingInfoSIB1-BR-r13 TYPE=FT_UINT32 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_schedulingInfoSIB1_BR_r13_vals_ext
+
+#.FN_BODY Handover
+ /* Initialise to invalid value */
+ private_data_set_rat_target_type(actx, 0xFF);
+%(DEFAULT_BODY)s
+
+#.FN_BODY Handover/targetRAT-Type VAL_PTR = &target_rat_type
+ guint32 target_rat_type;
+%(DEFAULT_BODY)s
+ private_data_set_rat_target_type(actx, (guint8)target_rat_type);
+
+#.FN_BODY Handover/targetRAT-MessageContainer VAL_PTR = &target_rat_msg_cont_tvb
+ tvbuff_t *target_rat_msg_cont_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(target_rat_msg_cont_tvb){
+ guint8 byte;
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_targetRAT_MessageContainer);
+ switch (private_data_get_rat_target_type(actx)){
+ case T_targetRAT_Type_utra:
+ /* utra */
+ if (rrc_irat_ho_to_utran_cmd_handle)
+ lte_rrc_call_dissector(rrc_irat_ho_to_utran_cmd_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
+ break;
+ case T_targetRAT_Type_geran:
+ /* geran */
+ byte = tvb_get_guint8(target_rat_msg_cont_tvb, 0);
+ if (byte == 0x06) {
+ if (gsm_a_dtap_handle) {
+ lte_rrc_call_dissector(gsm_a_dtap_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
+ }
+ } else {
+ if (gsm_rlcmac_dl_handle) {
+ tvbuff_t *gsm_rlcmac_dl_tvb = tvb_new_composite();
+ guint8 *pd = (guint8 *) wmem_alloc(actx->pinfo->pool, 1);
+ pd[0] = 0x40;
+ tvb_composite_append(gsm_rlcmac_dl_tvb, tvb_new_child_real_data(tvb, pd, 1, 1));
+ tvb_composite_append(gsm_rlcmac_dl_tvb, target_rat_msg_cont_tvb);
+ tvb_composite_finalize(gsm_rlcmac_dl_tvb);
+ add_new_data_source(actx->pinfo, gsm_rlcmac_dl_tvb, "GPRS DL control block");
+ lte_rrc_call_dissector(gsm_rlcmac_dl_handle, gsm_rlcmac_dl_tvb, actx->pinfo, subtree);
+ }
+ }
+ break;
+ case T_targetRAT_Type_cdma2000_1XRTT:
+ /* cdma2000-1XRTT */
+ break;
+ case T_targetRAT_Type_cdma2000_HRPD:
+ /* cdma2000-HRPD */
+ break;
+ case T_targetRAT_Type_nr:
+ /* nr */
+ if (nr_rrc_reconf_handle)
+ lte_rrc_call_dissector(nr_rrc_reconf_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
+ break;
+ case T_targetRAT_Type_eutra:
+ /* eutra */
+ if (lte_rrc_conn_reconf_handle)
+ lte_rrc_call_dissector(lte_rrc_conn_reconf_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY Handover/nas-SecurityParamFromEUTRA VAL_PTR = &nas_sec_param_from_eutra_tvb
+ tvbuff_t *nas_sec_param_from_eutra_tvb = NULL;
+ guint32 length;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (nas_sec_param_from_eutra_tvb) {
+ length = tvb_reported_length(nas_sec_param_from_eutra_tvb);
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_SecurityParam);
+ if (private_data_get_rat_target_type(actx) == T_targetRAT_Type_eutra)
+ de_nas_5gs_n1_mode_to_s1_mode_nas_transparent_cont(nas_sec_param_from_eutra_tvb, subtree, actx->pinfo);
+ else
+ de_emm_sec_par_from_eutra(nas_sec_param_from_eutra_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
+ }
+
+#.FN_BODY SecurityConfigHO/handoverType/interRAT/nas-SecurityParamToEUTRA VAL_PTR = &nas_sec_param_to_eutra_tvb
+ tvbuff_t *nas_sec_param_to_eutra_tvb = NULL;
+ guint32 length;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (nas_sec_param_to_eutra_tvb) {
+ length = tvb_reported_length(nas_sec_param_to_eutra_tvb);
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_SecurityParam);
+ de_emm_sec_par_to_eutra(nas_sec_param_to_eutra_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
+ }
+
+#.FN_BODY SecurityConfigHO-v1530/handoverType-v1530/intra5GC/nas-Container-r15 VAL_PTR = &nas_cont_tvb
+ tvbuff_t *nas_cont_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (nas_cont_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_Container_r15);
+ de_nas_5gs_intra_n1_mode_nas_transparent_cont(nas_cont_tvb, subtree, actx->pinfo);
+ }
+
+#.FN_BODY SecurityConfigHO-v1530/handoverType-v1530/epc-To5GC/nas-Container-r15 VAL_PTR = &nas_cont_tvb
+ tvbuff_t *nas_cont_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (nas_cont_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_Container_r15);
+ de_nas_5gs_s1_mode_to_n1_mode_nas_transparent_cont(nas_cont_tvb, subtree, actx->pinfo);
+ }
+
+#.FN_BODY SI-OrPSI-GERAN/si
+ private_data_set_si_or_psi_geran(actx, (guint8)SI_OrPSI_GERAN_si); /* SI message */
+%(DEFAULT_BODY)s
+
+#.FN_BODY SI-OrPSI-GERAN/psi
+ private_data_set_si_or_psi_geran(actx, (guint8)SI_OrPSI_GERAN_psi); /* PSI message */
+%(DEFAULT_BODY)s
+
+#.FN_BODY CellInfoGERAN-r9/systemInformation-r9
+ private_data_set_si_or_psi_geran(actx, (guint8)SI_OrPSI_GERAN_si); /* SI message */
+%(DEFAULT_BODY)s
+
+#.FN_BODY SystemInfoListGERAN/_item VAL_PTR = &sys_info_list_tvb
+ tvbuff_t *sys_info_list_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (sys_info_list_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer);
+ switch (private_data_get_si_or_psi_geran(actx)) {
+ case SI_OrPSI_GERAN_si:
+ /* SI message */
+ if (gsm_a_dtap_handle) {
+ tvbuff_t *si_tvb = tvb_new_composite();
+ guint8 *pd = (guint8 *) wmem_alloc(actx->pinfo->pool, 1);
+ pd[0] = 0x06;
+ tvb_composite_append(si_tvb, tvb_new_child_real_data(tvb, pd, 1, 1));
+ tvb_composite_append(si_tvb, sys_info_list_tvb);
+ tvb_composite_finalize(si_tvb);
+ add_new_data_source(actx->pinfo, si_tvb, "System Information");
+ lte_rrc_call_dissector(gsm_a_dtap_handle, si_tvb, actx->pinfo, subtree);
+ }
+ break;
+ case SI_OrPSI_GERAN_psi:
+ /* PSI message */
+ if (gsm_rlcmac_dl_handle) {
+ tvbuff_t *gsm_rlcmac_dl_tvb = tvb_new_composite();
+ guint8 *pd = (guint8 *) wmem_alloc(actx->pinfo->pool, 1);
+ pd[0] = 0x40;
+ tvb_composite_append(gsm_rlcmac_dl_tvb, tvb_new_child_real_data(tvb, pd, 1, 1));
+ tvb_composite_append(gsm_rlcmac_dl_tvb, sys_info_list_tvb);
+ tvb_composite_finalize(gsm_rlcmac_dl_tvb);
+ add_new_data_source(actx->pinfo, gsm_rlcmac_dl_tvb, "GPRS DL control block");
+ lte_rrc_call_dissector(gsm_rlcmac_dl_handle, sys_info_list_tvb, actx->pinfo, subtree);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY SystemTimeInfoCDMA2000/cdma-SystemTime/asynchronousSystemTime VAL_PTR=&async_system_time_tvb
+ tvbuff_t *async_system_time_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemTimeInfoCDMA2000/cdma-SystemTime/asynchronousSystemTime
+ if (async_system_time_tvb) {
+ guint64 bits;
+ nstime_t ts;
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_timeInfo);
+ bits = tvb_get_bits64(async_system_time_tvb, 0, 49, ENC_BIG_ENDIAN);
+ ts.secs = (time_t)((bits*8)/1228800) + 315964800; /* CDMA2000 epoch is 00:00:00 (midnight) UTC on 1980-01-06 */
+ ts.nsecs = (int)(((bits%153600)*8*1000000000)/1228800);
+ proto_tree_add_time(subtree, hf_lte_rrc_cdma_time, async_system_time_tvb, 0, 7, &ts);
+ proto_tree_add_time(subtree, hf_lte_rrc_local_time, async_system_time_tvb, 0, 7,&ts);
+ }
+
+#.FN_BODY SystemTimeInfoCDMA2000/cdma-SystemTime/synchronousSystemTime VAL_PTR=&sync_system_time_tvb
+ tvbuff_t *sync_system_time_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemTimeInfoCDMA2000/cdma-SystemTime/synchronousSystemTime
+ if (sync_system_time_tvb) {
+ guint64 bits;
+ nstime_t ts;
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_timeInfo);
+ bits = tvb_get_bits64(sync_system_time_tvb, 0, 39, ENC_BIG_ENDIAN);
+ ts.secs = (time_t)(bits/100) + 315964800; /* CDMA2000 epoch is 00:00:00 (midnight) UTC on 1980-01-06 */
+ ts.nsecs = (int)(bits%100)*10000000;
+ proto_tree_add_time(subtree, hf_lte_rrc_cdma_time, sync_system_time_tvb, 0, 5, &ts);
+ proto_tree_add_time(subtree, hf_lte_rrc_local_time, sync_system_time_tvb, 0, 5, &ts);
+ }
+
+#.FN_BODY CellInfoUTRA-FDD-r9/utra-BCCH-Container-r9 VAL_PTR = &utra_bcch_cont_tvb
+ tvbuff_t *utra_bcch_cont_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer);
+ lte_rrc_call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY CellInfoUTRA-TDD-r9/utra-BCCH-Container-r9 VAL_PTR = &utra_bcch_cont_tvb
+ tvbuff_t *utra_bcch_cont_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer);
+ lte_rrc_call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY CellInfoUTRA-TDD-r10/utra-BCCH-Container-r10 VAL_PTR = &utra_bcch_cont_tvb
+ tvbuff_t *utra_bcch_cont_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer);
+ lte_rrc_call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, subtree);
+ }
+
+#.TYPE_ATTR
+NeighCellConfig TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_neighCellConfig_vals)
+
+#.FN_BODY NeighCellConfig VAL_PTR = &neigh_cell_config_tvb HF_INDEX=-1
+ tvbuff_t *neigh_cell_config_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR NeighCellConfig
+ if (neigh_cell_config_tvb) {
+ guint bitvalue = tvb_get_bits8(neigh_cell_config_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, neigh_cell_config_tvb, 0, 1, bitvalue);
+ }
+
+#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoid-Point-r10 VAL_PTR = &ellipsoid_point_tvb
+ tvbuff_t *ellipsoid_point_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_tvb) {
+ dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithAltitude-r10 VAL_PTR = &ellipsoid_point_with_alt_tvb
+ tvbuff_t *ellipsoid_point_with_alt_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_with_alt_tvb) {
+ dissect_lpp_EllipsoidPointWithAltitude_PDU(ellipsoid_point_with_alt_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithUncertaintyCircle-r11 VAL_PTR = &ellipsoid_point_with_uncert_circ_tvb
+ tvbuff_t *ellipsoid_point_with_uncert_circ_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_with_uncert_circ_tvb) {
+ dissect_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU(ellipsoid_point_with_uncert_circ_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithUncertaintyEllipse-r11 VAL_PTR = &ellipsoid_point_with_uncert_ellipse_tvb
+ tvbuff_t *ellipsoid_point_with_uncert_ellipse_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_with_uncert_ellipse_tvb) {
+ dissect_lpp_EllipsoidPointWithUncertaintyEllipse_PDU(ellipsoid_point_with_uncert_ellipse_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithAltitudeAndUncertaintyEllipsoid-r11 VAL_PTR = &ellipsoid_point_with_alt_uncert_ellipsoid_tvb
+ tvbuff_t *ellipsoid_point_with_alt_uncert_ellipsoid_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_with_alt_uncert_ellipsoid_tvb) {
+ dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU(ellipsoid_point_with_alt_uncert_ellipsoid_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidArc-r11 VAL_PTR = &ellipsoid_arc_tvb
+ tvbuff_t *ellipsoid_arc_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_arc_tvb) {
+ dissect_lpp_EllipsoidArc_PDU(ellipsoid_arc_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY LocationInfo-r10/locationCoordinates-r10/polygon-r11 VAL_PTR = &polygon_tvb
+ tvbuff_t *polygon_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (polygon_tvb) {
+ dissect_lpp_Polygon_PDU(polygon_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY LocationInfo-r10/horizontalVelocity-r10 VAL_PTR = &horizontal_velocity_tvb
+ tvbuff_t *horizontal_velocity_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (horizontal_velocity_tvb) {
+ dissect_lpp_HorizontalVelocity_PDU(horizontal_velocity_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY LocationInfo-r10/gnss-TOD-msec-r10 VAL_PTR = &gnss_tod_msec_tvb
+ tvbuff_t *gnss_tod_msec_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (gnss_tod_msec_tvb) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, actx->pinfo);
+ dissect_per_constrained_integer(gnss_tod_msec_tvb, 0, &asn1_ctx, tree, hf_index, 0U, 3599999U, NULL, FALSE);
+ }
+
+#.TYPE_ATTR
+LocationInfo-r10/gnss-TOD-msec-r10 TYPE=FT_UINT24 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.FN_BODY LocationInfo-r10/eag_1/verticalVelocityInfo-r15/verticalVelocity-r15 VAL_PTR = &vertical_velocity_tvb
+ tvbuff_t *vertical_velocity_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (vertical_velocity_tvb) {
+ dissect_lpp_HorizontalWithVerticalVelocity_PDU(vertical_velocity_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY LocationInfo-r10/eag_1/verticalVelocityInfo-r15/verticalVelocityAndUncertainty-r15 VAL_PTR = &vertical_velocity_tvb
+ tvbuff_t *vertical_velocity_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (vertical_velocity_tvb) {
+ dissect_lpp_HorizontalVelocityWithUncertainty_PDU(vertical_velocity_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.TYPE_ATTR
+LogMeasResultBT-r15/bt-Addr-r15 TYPE=FT_ETHER DISPLAY=BASE_NONE
+
+#.FN_BODY LogMeasResultBT-r15/bt-Addr-r15 VAL_PTR=&bt_Addr_tvb HF_INDEX=-1
+ tvbuff_t *bt_Addr_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, bt_Addr_tvb, 0, 6, ENC_NA);
+
+#.TYPE_ATTR
+LogMeasResultBT-r15/rssi-BT-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.FN_BODY AbsoluteTimeInfo-r10 VAL_PTR = &abs_time_info_tvb
+ tvbuff_t *abs_time_info_tvb = NULL;
+%(DEFAULT_BODY)s
+#.FN_FTR AbsoluteTimeInfo-r10
+ if (abs_time_info_tvb) {
+ const gchar *str, *hf_str;
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_absTimeInfo);
+ str = tvb_bcd_dig_to_str(actx->pinfo->pool, abs_time_info_tvb, 0, 6, NULL, FALSE);
+ hf_str = wmem_strdup_printf(actx->pinfo->pool, "%c%c-%c%c-%c%c %c%c:%c%c:%c%c", str[0], str[1],
+ str[2], str[3], str[4], str[5], str[6], str[7], str[8], str[9], str[10], str[11]);
+ proto_tree_add_string(subtree, hf_lte_rrc_absolute_time, abs_time_info_tvb, 0, 6, hf_str);
+ }
+
+#.TYPE_RENAME
+CarrierFreqUTRA-FDD-Ext-r12/multiBandInfoList-r12 FreqBandIndicator_UTRA_FDD_r12
+
+#.TYPE_ATTR
+SystemInformationBlockType9/hnb-Name TYPE=FT_STRING DISPLAY=BASE_NONE
+
+#.FN_BODY SystemInformationBlockType9/hnb-Name VAL_PTR=&hnb_name_tvb HF_INDEX=-1
+ tvbuff_t *hnb_name_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, hnb_name_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+
+#.TYPE_ATTR
+SystemInformationBlockType10/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY SystemInformationBlockType10/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
+ tvbuff_t *msg_id_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType10/messageIdentifier
+ if (msg_id_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SystemInformationBlockType10/serialNumber VAL_PTR=&serial_nb_tvb
+ tvbuff_t *serial_nb_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType10/serialNumber
+ if (serial_nb_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SystemInformationBlockType10/warningType VAL_PTR=&warning_type_tvb
+ tvbuff_t *warning_type_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType10/warningType
+ if (warning_type_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_warningType);
+ proto_tree_add_item(subtree, hf_lte_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_lte_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_lte_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+SystemInformationBlockType11/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY SystemInformationBlockType11/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
+ tvbuff_t *msg_id_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType11/messageIdentifier
+ if (msg_id_tvb) {
+ private_data_set_message_identifier(actx, tvb_get_ntohs(msg_id_tvb, 0) << 16);
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SystemInformationBlockType11/serialNumber VAL_PTR=&serial_nb_tvb
+ tvbuff_t *serial_nb_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType11/serialNumber
+ if (serial_nb_tvb) {
+ proto_tree *subtree;
+ private_data_set_message_identifier(actx,
+ private_data_get_message_identifier(actx) | tvb_get_ntohs(serial_nb_tvb, 0));
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SystemInformationBlockType11/warningMessageSegmentType VAL_PTR=&segment_type
+ guint32 segment_type;
+%(DEFAULT_BODY)s
+ private_data_set_warning_message_segment_type(actx, (guint8)segment_type);
+
+#.FN_BODY SystemInformationBlockType11/warningMessageSegmentNumber VAL_PTR=&segment_number
+ guint32 segment_number;
+%(DEFAULT_BODY)s
+ private_data_set_warning_message_segment_number(actx, (guint8)segment_number);
+
+#.FN_BODY SystemInformationBlockType11/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb
+ tvbuff_t *data_coding_scheme_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType11/dataCodingScheme
+ if (data_coding_scheme_tvb) {
+ proto_tree *subtree;
+ guint32 dataCodingScheme;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_dataCodingScheme);
+ dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
+ wmem_map_insert(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)),
+ GUINT_TO_POINTER(dataCodingScheme));
+ }
+
+#.FN_BODY SystemInformationBlockType11/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb
+ tvbuff_t *warning_msg_seg_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType11/warningMessageSegment
+ if (warning_msg_seg_tvb) {
+ proto_tree *subtree;
+ tvbuff_t *frag_tvb;
+ gpointer p_dcs;
+ fragment_head *frag_data = fragment_add_seq_check(&lte_rrc_sib11_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
+ private_data_get_message_identifier(actx), NULL,
+ private_data_get_warning_message_segment_number(actx),
+ tvb_reported_length(warning_msg_seg_tvb),
+ private_data_get_warning_message_segment_type(actx) ? FALSE : TRUE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_warningMessageSegment);
+ frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB11 warning message",
+ frag_data, &lte_rrc_sib11_frag_items, NULL, subtree);
+ p_dcs = wmem_map_lookup(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)));
+ if (frag_tvb && p_dcs) {
+ dissect_lte_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
+ }
+ }
+
+#.TYPE_ATTR
+SystemInformationBlockType12-r9/messageIdentifier-r9 TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY SystemInformationBlockType12-r9/messageIdentifier-r9 VAL_PTR=&msg_id_tvb HF_INDEX=-1
+ tvbuff_t *msg_id_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType12-r9/messageIdentifier-r9
+ if (msg_id_tvb) {
+ private_data_set_message_identifier(actx, tvb_get_ntohs(msg_id_tvb, 0) << 16);
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SystemInformationBlockType12-r9/serialNumber-r9 VAL_PTR=&serial_nb_tvb
+ tvbuff_t *serial_nb_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType12-r9/serialNumber-r9
+ if (serial_nb_tvb) {
+ proto_tree *subtree;
+ private_data_set_message_identifier(actx,
+ private_data_get_message_identifier(actx) | tvb_get_ntohs(serial_nb_tvb, 0));
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SystemInformationBlockType12-r9/warningMessageSegmentType-r9 VAL_PTR=&segment_type
+ guint32 segment_type;
+%(DEFAULT_BODY)s
+ private_data_set_warning_message_segment_type(actx, (guint8)segment_type);
+
+#.FN_BODY SystemInformationBlockType12-r9/warningMessageSegmentNumber-r9 VAL_PTR=&segment_number
+ guint32 segment_number;
+%(DEFAULT_BODY)s
+ private_data_set_warning_message_segment_number(actx, (guint8)segment_number);
+
+#.FN_BODY SystemInformationBlockType12-r9/dataCodingScheme-r9 VAL_PTR=&data_coding_scheme_tvb
+ tvbuff_t *data_coding_scheme_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType12-r9/dataCodingScheme-r9
+ if (data_coding_scheme_tvb) {
+ proto_tree *subtree;
+ guint32 dataCodingScheme;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_dataCodingScheme);
+ dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
+ wmem_map_insert(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)),
+ GUINT_TO_POINTER(dataCodingScheme));
+ }
+
+#.FN_BODY SystemInformationBlockType12-r9/warningMessageSegment-r9 VAL_PTR=&warning_msg_seg_tvb
+ tvbuff_t *warning_msg_seg_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType12-r9/warningMessageSegment-r9
+ if (warning_msg_seg_tvb) {
+ proto_tree *subtree;
+ tvbuff_t *frag_tvb;
+ gpointer p_dcs;
+ fragment_head *frag_data = fragment_add_seq_check(&lte_rrc_sib12_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
+ private_data_get_message_identifier(actx), NULL,
+ private_data_get_warning_message_segment_number(actx),
+ tvb_reported_length(warning_msg_seg_tvb),
+ private_data_get_warning_message_segment_type(actx) ? FALSE : TRUE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_warningMessageSegment);
+ frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB12 warning message",
+ frag_data, &lte_rrc_sib12_frag_items, NULL, subtree);
+ p_dcs = wmem_map_lookup(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)));
+ if (frag_tvb && p_dcs) {
+ dissect_lte_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
+ }
+ }
+
+#.TYPE_ATTR
+EAB-Config-r11/eab-Category-r11 STRINGS=VALS(lte_rrc_eab_category_vals)
+
+#.TYPE_ATTR
+SystemInformationBlockType16-r11/timeInfo-r11/dayLightSavingTime-r11 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_daylightSavingTime_vals)
+
+#.FN_BODY SystemInformationBlockType16-r11/timeInfo-r11/dayLightSavingTime-r11 VAL_PTR=&daylight_saving_time_tvb HF_INDEX=-1
+ tvbuff_t *daylight_saving_time_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType16-r11/timeInfo-r11/dayLightSavingTime-r11
+ if (daylight_saving_time_tvb) {
+ guint bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+SystemInformationBlockType16-r11/timeInfo-r11/leapSeconds-r11 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+SystemInformationBlockType16-r11/timeInfo-r11/localTimeOffset-r11 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_localTimeOffset_fmt)
+
+#.FN_BODY SystemInformationBlockType16-r11/timeInfo-r11/timeInfoUTC-r11 VAL_PTR=&timeInfo
+ guint64 timeInfo;
+ proto_tree *subtree;
+ nstime_t ts;
+ guint32 old_offset = offset;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SystemInformationBlockType16-r11/timeInfo-r11/timeInfoUTC-r11
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_timeInfo);
+ ts.secs = (time_t)(timeInfo/100)-EPOCH_DELTA_1900_01_01_00_00_00_UTC; /* epoch is 00:00:00 (midnight) UTC on 1900-01-01 */
+ ts.nsecs = (int)(timeInfo%100)*10000000;
+ proto_tree_add_time(subtree, hf_lte_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
+ proto_tree_add_time(subtree, hf_lte_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
+
+#.TYPE_ATTR
+SystemInformationBlockType26-r15/threshS-RSSI-CBR-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_threshS_RSSI_CBR_r14_fmt)
+
+#.TYPE_ATTR
+WLAN-Identifiers-r12/ssid-r12 TYPE=FT_STRING DISPLAY=BASE_NONE
+
+#.FN_BODY WLAN-Identifiers-r12/ssid-r12 VAL_PTR=&ssid_tvb HF_INDEX=-1
+ tvbuff_t *ssid_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
+
+#.TYPE_ATTR
+WLAN-Identifiers-r12/bssid-r12 TYPE=FT_ETHER
+
+#.TYPE_ATTR
+WLAN-Identifiers-r12/hessid-r12 TYPE=FT_ETHER
+
+#.TYPE_ATTR
+RRCConnectionReject-r8-IEs/waitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RRCConnectionReject-v1020-IEs/extendedWaitTime-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RRCConnectionRelease-v1020-IEs/extendedWaitTime-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RRCConnectionRelease-v1540-IEs/waitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RRCEarlyDataComplete-r15-IEs/extendedWaitTime-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+SystemInformationBlockType1/cellSelectionInfo/q-RxLevMinOffset STRINGS=VALS(lte_rrc_q_RxLevMinOffset_vals)
+
+#.TYPE_ATTR
+CellSelectionInfoCE1-v1360/delta-RxLevMinCE1-v1360 STRINGS=VALS(lte_rrc_delta_RxLevMin_vals)
+
+#.TYPE_ATTR
+CellSelectionInfo-v920/q-QualMinOffset-r9 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+MobilityControlInfo/eag_4/schedulingInfoSIB1-BR-r14 TYPE=FT_UINT32 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_schedulingInfoSIB1_BR_r13_vals_ext
+
+#.TYPE_ATTR
+TrafficPatternInfo-r14/timingOffset-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.FN_BODY TrafficPatternInfo-r14/messageSize-r14 VAL_PTR = &messageSize_r14_tvb HF_INDEX = -1
+ tvbuff_t *messageSize_r14_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (messageSize_r14_tvb) {
+ guint bitvalue = tvb_get_bits8(messageSize_r14_tvb, 0, 6);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, messageSize_r14_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+TrafficPatternInfo-r14/messageSize-r14 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageSize_r14_vals_ext
+
+#.TYPE_ATTR
+RLF-Report-r9/eag_1/timeConnFailure-r10 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_timeConnFailure_r10_fmt)
+
+#.TYPE_ATTR
+LogMeasInfo-r10/relativeTimeStamp-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY LogMeasInfo-r10/eag_9/uncomBarPreMeasResult-r17 VAL_PTR = &sensor_meas_info_tvb
+ tvbuff_t *sensor_meas_info_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sensor_meas_info_tvb) {
+ dissect_lpp_Sensor_MeasurementInformation_r13_PDU(sensor_meas_info_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY MeasResults/eag_10/uncomBarPreMeasResult-r17 VAL_PTR = &sensor_meas_info_tvb
+ tvbuff_t *sensor_meas_info_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sensor_meas_info_tvb) {
+ dissect_lpp_Sensor_MeasurementInformation_r13_PDU(sensor_meas_info_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY BLER-Result-r12/blocksReceived-r12/n-r12 VAL_PTR = &n_r12_tvb HF_INDEX = -1
+ tvbuff_t *n_r12_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (n_r12_tvb) {
+ guint bitvalue = tvb_get_bits8(n_r12_tvb, 0, 3);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, n_r12_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+BLER-Result-r12/blocksReceived-r12/n-r12 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_n_r12_vals)
+
+#.FN_BODY BLER-Result-r12/blocksReceived-r12/m-r12 VAL_PTR = &m_r12_tvb HF_INDEX = -1
+ tvbuff_t *m_r12_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (m_r12_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, m_r12_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+BLER-Result-r12/blocksReceived-r12/m-r12 TYPE=FT_UINT8 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_m_r12_fmt)
+
+#.TYPE_ATTR
+BLER-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_BLER_Range_r12_vals_ext
+
+#.TYPE_ATTR
+TimeSinceFailure-r11 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+TimeUntilReconnection-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FIELD_ATTR
+CarrierFreqUTRA-FDD/q-RxLevMin ABBREV=utra_q_RxLevMin
+
+#.TYPE_ATTR
+CarrierFreqUTRA-FDD/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
+
+#.FIELD_ATTR
+CarrierFreqUTRA-FDD-Ext-r12/q-RxLevMin-r12 ABBREV=utra_q_RxLevMin_r12
+
+#.TYPE_ATTR
+CarrierFreqUTRA-FDD-Ext-r12/q-RxLevMin-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
+
+#.FIELD_ATTR
+CarrierFreqUTRA-TDD/q-RxLevMin ABBREV=utra_q_RxLevMin
+
+#.TYPE_ATTR
+CarrierFreqUTRA-TDD/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
+
+#.FIELD_ATTR
+CarrierFreqUTRA-TDD-r12/q-RxLevMin-r12 ABBREV=utra_q_RxLevMin_r12
+
+#.TYPE_ATTR
+CarrierFreqUTRA-TDD-r12/q-RxLevMin-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
+
+#.TYPE_ATTR
+CarrierFreqUTRA-FDD/p-MaxUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+CarrierFreqUTRA-FDD-Ext-r12/p-MaxUTRA-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+CarrierFreqUTRA-TDD/p-MaxUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+CarrierFreqUTRA-TDD-r12/p-MaxUTRA-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+CarrierFreqUTRA-FDD/q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+CarrierFreqUTRA-FDD-Ext-r12/q-QualMin-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.FIELD_ATTR
+CarrierFreqsInfoGERAN/commonInfo/q-RxLevMin ABBREV=geran_q_RxLevMin
+
+#.TYPE_ATTR
+CarrierFreqsInfoGERAN/commonInfo/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_geran_q_RxLevMin_vals_ext
+
+#.TYPE_ATTR
+CarrierFreqsInfoGERAN/commonInfo/p-MaxGERAN DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+CQI-ReportConfig/nomPDSCH-RS-EPRE-Offset STRINGS=VALS(lte_rrc_nomPDSCH_RS_EPRE_Offset_vals)
+
+#.TYPE_ATTR
+CQI-ReportConfig-r10/nomPDSCH-RS-EPRE-Offset STRINGS=VALS(lte_rrc_nomPDSCH_RS_EPRE_Offset_vals)
+
+#.TYPE_ATTR
+CQI-ReportConfigSCell-r10/nomPDSCH-RS-EPRE-Offset-r10 STRINGS=VALS(lte_rrc_nomPDSCH_RS_EPRE_Offset_vals)
+
+#.TYPE_ATTR
+P-C-AndCBSR-r11/p-C-r11 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+P-C-AndCBSR-r13/p-C-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+P-C-AndCBSR-r15 /p-C-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+CSI-RS-Config-r10/csi-RS-r10/setup/p-C-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.FN_BODY IP-Address-r13/ipv4-r13 VAL_PTR=&ipv4_tvb HF_INDEX=-1
+ tvbuff_t *ipv4_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ipv4_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, ipv4_tvb, 0, 4, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+IP-Address-r13/ipv4-r13 TYPE=FT_IPv4 DISPLAY=BASE_NONE
+
+#.FN_BODY IP-Address-r13/ipv6-r13 VAL_PTR=&ipv6_tvb HF_INDEX=-1
+ tvbuff_t *ipv6_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ipv6_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, ipv6_tvb, 0, 16, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+IP-Address-r13/ipv6-r13 TYPE=FT_IPv6 DISPLAY=BASE_NONE
+
+#.FN_BODY MAC-MainConfig
+ /* Accumulate values in drx_config while dissecting DRX config.
+ Do this here rather than down in DRX-Config so that we will see
+ fields overwritten in the R11 extension */
+ drx_config_t *drx_config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ if (drx_config->configured) {
+ mac_lte_info* p_mac_lte_info;
+
+ /* Verify that config is valid */
+ drx_check_config_sane(drx_config, actx);
+
+ /* Look for UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
+ if (p_mac_lte_info != NULL) {
+ /* If found, configure MAC with DRX config */
+ set_mac_lte_drx_config(p_mac_lte_info->ueid, drx_config, actx->pinfo);
+ }
+
+ /* Clear out state */
+ drx_config->configured = FALSE;
+ }
+
+
+#.FN_BODY MAC-MainConfig/eag_1/sr-ProhibitTimer-r9 VAL_PTR=&timer
+ guint32 timer;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+MAC-MainConfig/eag_1/sr-ProhibitTimer-r9 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_sr_periods
+
+#.TYPE_ATTR
+MAC-MainConfig/eag_9/shortTTI-AndSPT-r15/setup/ssr-ProhibitTimer-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_sr_periods
+
+#.FN_BODY MAC-MainConfig/eag_2/mac-MainConfig-v1020/extendedBSR-Sizes-r10
+ mac_lte_info* p_mac_lte_info;
+
+%(DEFAULT_BODY)s
+ /* Look for UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
+ if (p_mac_lte_info != NULL) {
+ /* Tell MAC to use extended BSR sizes configuration */
+ set_mac_lte_extended_bsr_sizes(p_mac_lte_info->ueid, TRUE, actx->pinfo);
+ }
+
+#.TYPE_ATTR
+PDSCH-ConfigCommon/referenceSignalPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+P-Max DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+P-MaxNR-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+SPS-ConfigUL/setup/p0-Persistent/p0-NominalPUSCH-Persistent DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+SPS-ConfigUL/setup/p0-Persistent/p0-UE-PUSCH-Persistent DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/setup/p0-NominalPUSCH-PersistentSubframeSet2-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/setup/p0-UE-PUSCH-PersistentSubframeSet2-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UplinkPowerControlCommon/deltaPreambleMsg3 STRINGS=VALS(lte_rrc_deltaPreambleMsg3_vals)
+
+#.TYPE_ATTR
+UplinkPowerControlCommon/p0-NominalPUSCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlCommonSCell-v1130/deltaPreambleMsg3-r11 STRINGS=VALS(lte_rrc_deltaPreambleMsg3_vals)
+
+#.TYPE_ATTR
+UplinkPowerControlCommon/p0-NominalPUCCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlCommon-v1610/p0-NominalSRS-Add-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlCommonPSCell-r12/p0-NominalPUCCH-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlCommonSCell-v1310/p0-NominalPUCCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlCommonSCell-r10/p0-NominalPUSCH-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlCommonPUSCH-LessCell-v1430/p0-Nominal-PeriodicSRS-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlCommonPUSCH-LessCell-v1430/p0-Nominal-AperiodicSRS-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlDedicated/p0-UE-PUSCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UplinkPowerControlDedicated/p0-UE-PUCCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup/p0-NominalPUSCH-SubframeSet2-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup/p0-UE-PUSCH-SubframeSet2-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UplinkPowerControlDedicated-v1530/p0-UE-PUSCH-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UplinkPUSCH-LessPowerControlDedicated-v1430/p0-UE-PeriodicSRS-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UplinkPUSCH-LessPowerControlDedicated-v1430/p0-UE-AperiodicSRS-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UplinkPowerControlAddSRS-r16/p0-UE-SRS-Add-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UplinkPowerControlDedicatedSCell-r10/p0-UE-PUSCH-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UplinkPowerControlDedicatedSCell-v1310/p0-UE-PUCCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+CellSelectionInfoNFreq-r13/q-RxLevMinOffset STRINGS=VALS(lte_rrc_q_RxLevMinOffset_vals)
+
+#.TYPE_ATTR
+Q-QualMin-r9 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+Q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_q_RxLevMin_vals_ext
+
+#.TYPE_ATTR
+CarrierFreqNR-r15/q-RxLevMin-r15 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_q_RxLevMin_vals_ext
+
+#.TYPE_ATTR
+CarrierFreqNR-r15/q-RxLevMinSUL-r15 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_q_RxLevMin_vals_ext
+
+#.TYPE_ATTR
+CarrierFreqNR-r15/q-QualMin-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+Q-OffsetRangeInterRAT DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+ReselectionThreshold DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_ReselectionThreshold_vals_ext
+
+#.TYPE_ATTR
+ReselectionThresholdQ-r9 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+T-ReselectionEUTRA-CE-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+Hysteresis DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_Hysteresis_vals_ext
+
+#.TYPE_ATTR
+CSI-RSRP-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRP_Range_vals_ext
+
+#.TYPE_ATTR
+MBSFN-RSRQ-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_MBSFN_RSRQ_Range_vals_ext
+
+#.TYPE_RENAME
+MeasConfig/s-Measure S_Measure
+
+#.TYPE_ATTR
+MeasConfig/s-Measure DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_s_Measure_vals_ext
+
+#.TYPE_ATTR
+MeasResultGERAN/measResult/rssi DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&gsm_a_rr_rxlev_vals_ext
+
+#.TYPE_ATTR
+MeasResultUTRA/measResult/utra-EcN0 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_EcN0_vals_ext
+
+#.TYPE_ATTR
+MeasResultUTRA/measResult/utra-RSCP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_RSCP_vals_ext
+
+#.TYPE_ATTR
+ReportConfigEUTRA/triggerType/event/eventId/eventA3/a3-Offset DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_a3_a6_c2_Offset_vals_ext
+
+#.TYPE_ATTR
+ReportConfigEUTRA/triggerType/event/eventId/eventA6-r10/a6-Offset-r10 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_a3_a6_c2_Offset_vals_ext
+
+#.TYPE_ATTR
+ReportConfigEUTRA/triggerType/event/eventId/eventC2-r12/c2-Offset-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_a3_a6_c2_Offset_vals_ext
+
+#.TYPE_ATTR
+CondReconfigurationTriggerEUTRA-r16/condEventId-r16/a3-Offset-r16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_a3_a6_c2_Offset_vals_ext
+
+#.TYPE_RENAME
+ThresholdEUTRA/threshold-RSRP Threshold_RSRP_Range
+
+#.TYPE_ATTR
+ThresholdEUTRA/threshold-RSRP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_threshold_RSRP_vals_ext
+
+#.TYPE_RENAME
+ThresholdEUTRA/threshold-RSRQ Threshold_RSRQ_Range
+
+#.TYPE_ATTR
+ThresholdEUTRA/threshold-RSRQ DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_threshold_RSRQ_vals_ext
+
+#.TYPE_ATTR
+ThresholdGERAN DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_thresholdGERAN_vals_ext
+
+#.TYPE_RENAME
+ThresholdUTRA/utra-RSCP Threshold_utra_RSRP
+
+#.TYPE_ATTR
+ThresholdUTRA/utra-RSCP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_thresholdUTRA_RSCP_vals_ext
+
+#.TYPE_RENAME
+ThresholdUTRA/utra-EcN0 Threshold_utra_EcN0
+
+#.TYPE_ATTR
+ThresholdUTRA/utra-EcN0 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_thresholdUTRA_EcN0_vals_ext
+
+#.TYPE_ATTR
+RSRP-Range DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRP_Range_vals_ext
+
+#.TYPE_ATTR
+RSRP-Range-v1360 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRP_Range_v1360_vals_ext
+
+#.TYPE_ATTR
+RSRP-RangeSL-r12 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_RSRP_RangeSL_vals)
+
+#.TYPE_ATTR
+RSRP-RangeSL2-r12 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_RSRP_RangeSL2_vals)
+
+#.TYPE_ATTR
+RSRP-RangeSL3-r12 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_RSRP_RangeSL3_vals)
+
+#.TYPE_ATTR
+RSRP-RangeSL4-r13 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRP_RangeSL4_vals_ext
+
+#.TYPE_ATTR
+RSRP-RangeNR-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RSRP_RangeNR_r15_fmt)
+
+#.TYPE_ATTR
+RSRQ-Range DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRQ_Range_vals_ext
+
+#.TYPE_ATTR
+RSRQ-Range-v1250 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRQ_Range_vals_ext
+
+#.TYPE_ATTR
+RSRQ-Range-r13 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRQ_Range_vals_ext
+
+#.TYPE_ATTR
+RSRQ-RangeNR-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RSRQ_RangeNR_r15_fmt)
+
+#.TYPE_ATTR
+RS-SINR-Range-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RS_SINR_Range_r13_fmt)
+
+#.TYPE_ATTR
+RS-SINR-RangeNR-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RS_SINR_RangeNR_r15_fmt)
+
+#.TYPE_ATTR
+RSSI-Range-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RSSI_Range_r13_fmt)
+
+#.TYPE_ATTR
+MeasResultWLAN-r13/availableAdmissionCapacityWLAN-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_availableAdmissionCapacityWLAN_fmt)
+
+#.TYPE_ATTR
+MeasResultForECID-r9/ue-RxTxTimeDiffResult-r9 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_ue_RxTxTimeDiffResult_fmt)
+
+#.TYPE_ATTR
+MeasResultForRSSI-r13/channelOccupancy-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+MeasResultForRSSI-NR-r16/channelOccupancyNR-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+UL-PDCP-DelayResult-r13/excessDelay-r13 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_excessDelay_r13_vals_ext
+
+#.TYPE_ATTR
+UL-PDCP-DelayValueResult-r16/averageDelay-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_averageDelay_r16_fmt)
+
+#.TYPE_ATTR
+MeasResultSSTD-r13/subframeBoundaryOffsetResult-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_subframeBoundaryOffsetResult_r13_fmt)
+
+#.FN_BODY SoundingRS-UL-ConfigDedicated/setup/duration
+ actx->created_item = proto_tree_add_bits_item(tree, hf_index, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+#.TYPE_ATTR
+SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(&lte_rrc_duration_val)
+
+#.FN_HDR MasterInformationBlock
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MasterInformationBlock");
+
+#.FN_HDR SystemInformation
+
+ if (private_data_get_bcch_dl_sch_msg(actx) == FALSE) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation [");
+ }
+
+#.FN_BODY SystemInformation
+
+%(DEFAULT_BODY)s
+ if (private_data_get_bcch_dl_sch_msg(actx) == FALSE) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
+ }
+
+#.FN_HDR SystemInformationBlockType1
+
+ if (private_data_get_bcch_dl_sch_msg(actx) == FALSE) {
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationBlockType1");
+ }
+
+#.FN_HDR SystemInformation-BR-r13
+
+ private_data_set_bcch_dl_sch_msg(actx, TRUE);
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation-BR-r13 [");
+
+#.FN_BODY SystemInformation-BR-r13
+
+%(DEFAULT_BODY)s
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
+
+#.FN_HDR SystemInformationBlockType1-BR-r13
+
+ private_data_set_bcch_dl_sch_msg(actx, TRUE);
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationBlockType1-BR-r13");
+
+#.FN_HDR SystemInformation-MBMS-r14
+
+ private_data_set_bcch_dl_sch_msg(actx, TRUE);
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation-MBMS-r14 [");
+
+#.FN_BODY SystemInformation-MBMS-r14
+
+%(DEFAULT_BODY)s
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
+
+#.FN_HDR SystemInformationBlockType1-MBMS-r14
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationBlockType1-MBMS-r14");
+
+#.FN_HDR SystemInformationBlockType2
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
+
+#.FN_HDR SystemInformationBlockType3
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
+
+#.FN_HDR SystemInformationBlockType4
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
+
+#.FN_HDR SystemInformationBlockType5
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
+
+#.FN_HDR SystemInformationBlockType6
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6");
+
+#.FN_HDR SystemInformationBlockType7
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7");
+
+#.FN_HDR SystemInformationBlockType8
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8");
+
+#.FN_HDR SystemInformationBlockType9
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9");
+
+#.FN_HDR SystemInformationBlockType10
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB10");
+
+#.FN_HDR SystemInformationBlockType11
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB11");
+
+#.FN_HDR SystemInformationBlockType12-r9
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB12");
+
+#.FN_HDR SystemInformationBlockType13-r9
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB13");
+
+#.FN_HDR SystemInformationBlockType14-r11
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB14");
+
+#.FN_HDR SystemInformationBlockType15-r11
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB15");
+
+#.FN_HDR SystemInformationBlockType16-r11
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB16");
+
+#.FN_HDR SystemInformationBlockType17-r12
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB17");
+
+#.FN_HDR SystemInformationBlockType18-r12
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB18");
+
+#.FN_HDR SystemInformationBlockType19-r12
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB19");
+
+#.FN_HDR SystemInformationBlockType20-r13
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB20");
+
+#.FN_HDR SystemInformationBlockType21-r14
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB21");
+
+#.FN_HDR SystemInformationBlockType24-r15
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB24");
+
+#.FN_HDR SystemInformationBlockType25-r15
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB25");
+
+#.FN_HDR SystemInformationBlockType26-r15
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB26");
+
+#.FN_HDR SystemInformationBlockType26a-r16
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB26a");
+
+#.FN_HDR SystemInformationBlockType27-r16
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB27");
+
+#.FN_HDR SystemInformationBlockType28-r16
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB28");
+
+#.FN_HDR SystemInformationBlockType29-r16
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB29");
+
+#.FN_HDR SystemInformationBlockType30-r17
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB30");
+
+#.FN_HDR SystemInformationBlockType31-r17
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB31");
+
+#.FN_HDR SystemInformationBlockType32-r17
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB32");
+
+#.FN_HDR SystemInformationBlockPos-r15
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIBPos");
+
+#.FN_HDR MBSFNAreaConfiguration-r9
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBSFNAreaConfiguration-r9");
+
+#.FN_HDR MBMSCountingRequest-r10
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBMSCountingRequest-r10");
+
+#.FN_HDR Paging
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
+
+#.FN_HDR RRCConnectionReestablishment
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishment");
+
+#.FN_HDR RRCConnectionReestablishmentReject
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentReject");
+
+#.FN_HDR RRCConnectionReject
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReject");
+
+#.FN_HDR RRCConnectionSetup
+ mac_lte_info* p_mac_lte_info;
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionSetup");
+
+#.FN_HDR RRCEarlyDataComplete-r15
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCEarlyDataComplete-r15");
+
+#.FN_HDR CSFBParametersResponseCDMA2000
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CSFBParametersResponseCDMA2000");
+
+#.FN_HDR DLInformationTransfer
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLInformationTransfer");
+
+#.FN_HDR HandoverFromEUTRAPreparationRequest
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFromEUTRAPreparationRequest");
+
+#.FN_HDR MobilityFromEUTRACommand
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityFromEUTRACommand");
+
+#.FN_HDR RRCConnectionReconfiguration
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReconfiguration");
+
+#.FN_HDR RRCConnectionRelease
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionRelease");
+
+#.FN_HDR SecurityModeCommand
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecurityModeCommand");
+
+#.FN_HDR UECapabilityEnquiry
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityEnquiry");
+
+#.FN_HDR CounterCheck
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CounterCheck");
+
+#.FN_HDR UEInformationRequest-r9
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationRequest-r9");
+
+#.FN_HDR LoggedMeasurementConfiguration-r10
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LoggedMeasurementConfiguration-r10");
+
+#.FN_HDR RNReconfiguration-r10
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RNReconfiguration-r10");
+
+#.FN_HDR RRCConnectionResume-r13
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResume-r13");
+
+#.FN_HDR DLDedicatedMessageSegment-r16
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLDedicatedMessageSegment-r16");
+
+#.FN_HDR RRCConnectionReestablishmentRequest
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentRequest");
+
+#.FN_HDR RRCConnectionRequest
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionRequest");
+
+#.FN_HDR RRCConnectionResumeRequest-r13
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResumeRequest-r13");
+
+#.FN_HDR RRCEarlyDataRequest-r15
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCEarlyDataRequest-r15");
+
+#.FN_HDR CSFBParametersRequestCDMA2000
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CSFBParametersRequestCDMA2000");
+
+#.FN_HDR MeasurementReport
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MeasurementReport");
+
+#.FN_HDR RRCConnectionReconfigurationComplete
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReconfigurationComplete");
+
+#.FN_HDR RRCConnectionReestablishmentComplete
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentComplete");
+
+#.FN_HDR RRCConnectionSetupComplete
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionSetupComplete");
+
+#.FN_HDR SecurityModeComplete
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecurityModeComplete");
+
+#.FN_BODY SecurityModeFailure
+ mac_lte_info *p_mac_lte_info;
+%(DEFAULT_BODY)s
+ /* Look for UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
+
+ if (p_mac_lte_info != NULL) {
+ /* Inform PDCP that the UE failed to execute the securityModeCommand */
+ set_pdcp_lte_security_algorithms_failed(p_mac_lte_info->ueid);
+ }
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecurityModeFailure");
+
+
+#.FN_HDR UECapabilityInformation
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInformation");
+
+#.FN_HDR ULHandoverPreparationTransfer
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULHandoverPreparationTransfer");
+
+#.FN_HDR ULInformationTransfer
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULInformationTransfer");
+
+#.FN_HDR CounterCheckResponse
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CounterCheckResponse");
+
+#.FN_HDR UEInformationResponse-r9
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationResponse-r9");
+
+#.FN_HDR ProximityIndication-r9
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ProximityIndication-r9");
+
+#.FN_HDR RNReconfigurationComplete-r10
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RNReconfigurationComplete-r10");
+
+#.FN_HDR MBMSCountingResponse-r10
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBMSCountingResponse-r10");
+
+#.FN_HDR InterFreqRSTDMeasurementIndication-r10
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InterFreqRSTDMeasurementIndication-r10");
+
+#.FN_HDR UEAssistanceInformation-r11
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEAssistanceInformation-r11");
+
+#.FN_HDR InDeviceCoexIndication-r11
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InDeviceCoexIndication-r11");
+
+#.FN_HDR MBMSInterestIndication-r11
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBMSInterestIndication-r11");
+
+#.FN_HDR SCGFailureInformation-r12
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCGFailureInformation-r12");
+
+#.FN_HDR SidelinkUEInformation-r12
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SidelinkUEInformation-r12");
+
+#.FN_HDR WLANConnectionStatusReport-r13
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WLANConnectionStatusReport-r13");
+
+#.FN_HDR RRCConnectionResumeComplete-r13
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResumeComplete-r13");
+
+#.FN_HDR ULInformationTransferMRDC-r15
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULInformationTransferMRDC-r15");
+
+#.FN_HDR SCGFailureInformationNR-r15
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCGFailureInformationNR-r15");
+
+#.FN_HDR MeasReportAppLayer-r15
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MeasReportAppLayer-r15");
+
+#.FN_HDR FailureInformation-r15
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "FailureInformation-r15");
+
+#.FN_HDR ULDedicatedMessageSegment-r16
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULDedicatedMessageSegment-r16");
+
+#.FN_HDR PURConfigurationRequest-r16
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PURConfigurationRequest-r16");
+
+#.FN_HDR FailureInformation-r16
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "FailureInformation-r16");
+
+#.FN_HDR MCGFailureInformation-r16
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCGFailureInformation-r16");
+
+#.FN_HDR ULInformationTransferIRAT-r16
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULInformationTransferIRAT-r16");
+
+#.FN_HDR SCPTMConfiguration-r13
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCPTMConfiguration-r13");
+
+#.FN_HDR SCPTMConfiguration-BR-r14
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCPTMConfiguration-BR-r14");
+
+#.FN_BODY Paging/systemInfoModification
+%(DEFAULT_BODY)s
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " (systemInfoModification)");
+ expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_sibs_changing);
+
+#.FN_BODY Paging/pagingRecordList
+ /* Number of items is (last 3 bits of first byte and first bit of second) + 1 */
+ guint16 number_of_records = ((tvb_get_ntohs(tvb, 0) >> 7) & 0x0f) + 1;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%u PagingRecord%%s)", number_of_records, plurality(number_of_records, "", "s"));
+
+#.FN_BODY Paging-v1310-IEs/systemInfoModification-eDRX-r13
+%(DEFAULT_BODY)s
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " (systemInfoModification-eDRX-r13)");
+ expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_sibs_changing_edrx);
+
+#.FN_BODY MasterInformationBlock/systemFrameNumber VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb = NULL;
+ guint32 sfn;
+%(DEFAULT_BODY)s
+ /* Show SFN in info column */
+ sfn = tvb_get_guint8(value_tvb, 0);
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (SFN=%%u)", sfn);
+
+#.FN_BODY SystemInformationBlockType1/systemInfoValueTag VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ /* Track whether systemInfoValue has changed since last seen, indicating new SI config
+ TODO: add link back to previous config and (if known) time since previous config
+ was first seen */
+ if (!actx->pinfo->fd->visited) {
+ if (system_info_value_current_set && (value != system_info_value_current)) {
+ /* Add entry to the hash table. Offset by one to distinguish 0 from lookup failure */
+ wmem_map_insert(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->num),
+ GUINT_TO_POINTER(system_info_value_current+1));
+ }
+ system_info_value_current_set = TRUE;
+ system_info_value_current = value;
+ }
+ else {
+ /* Look up indication of changed info value from hash table */
+ gpointer p_previous = wmem_map_lookup(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->num));
+ if (p_previous != NULL) {
+ /* Subtract one from stored result to get previous value */
+ guint32 previous = GPOINTER_TO_UINT(p_previous) - 1;
+ expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_si_info_value_changed,
+ "SI Info Value changed (now %%u, was %%u)", value, previous);
+ }
+ }
+
+#.TYPE_ATTR
+SystemInformationBlockType5/eag_6/scptm-FreqOffset-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_scptm_FreqOffset_r14_fmt)
+
+#.TYPE_ATTR
+SL-V2X-ConfigCommon-r14/offsetDFN-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_offsetDFN_r14_fmt)
+
+#.FN_BODY Paging/etws-Indication
+%(DEFAULT_BODY)s
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " (ETWS)");
+ expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_earthquake_warning_sys);
+
+#.FN_BODY Paging-v920-IEs/cmas-Indication-r9
+%(DEFAULT_BODY)s
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " (CMAS)");
+ expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_commercial_mobile_alert_sys);
+
+#.FN_BODY RadioResourceConfigDedicated
+ private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PCELL);
+%(DEFAULT_BODY)s
+
+#.FN_BODY RadioResourceConfigDedicatedPSCell-r12
+ private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PSCELL);
+%(DEFAULT_BODY)s
+
+#.FN_BODY DRB-ToAddMod
+ struct mac_lte_info *p_mac_lte_info;
+ struct rlc_lte_info *p_rlc_lte_info;
+ /* Get the struct and clear it out */
+ drb_mapping_t *drb_mapping = private_data_get_drb_mapping(actx);
+ memset(drb_mapping, 0, sizeof(*drb_mapping));
+%(DEFAULT_BODY)s
+ /* Need UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
+ if (p_mac_lte_info) {
+ drb_mapping->ueid = p_mac_lte_info->ueid;
+ /* Tell MAC about this mapping */
+ set_mac_lte_channel_mapping(drb_mapping);
+ }
+
+ /* Also tell RLC how many PDCP sequence number bits and whether it should use extended LI */
+ p_rlc_lte_info = (rlc_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rlc_lte, 0);
+ if (p_rlc_lte_info) {
+ if (drb_mapping->pdcp_sn_size_present) {
+ set_rlc_lte_drb_pdcp_seqnum_length(actx->pinfo,
+ p_rlc_lte_info->ueid,
+ drb_mapping->drbid,
+ drb_mapping->pdcp_sn_size);
+ }
+ if (drb_mapping->rlcMode_present) {
+ set_rlc_lte_drb_li_field(actx->pinfo,
+ p_rlc_lte_info->ueid,
+ drb_mapping->drbid,
+ drb_mapping->rlc_ul_ext_li_field,
+ drb_mapping->rlc_dl_ext_li_field);
+ }
+ }
+
+ /* Clear out the struct again */
+ memset(&drb_mapping, 0, sizeof(drb_mapping));
+
+
+#.FN_BODY DRB-Identity VAL_PTR=&value
+ guint32 value;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->drbid = (guint8)value;
+ }
+
+#.FN_BODY RLC-Config VAL_PTR=&value
+ guint32 value;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE;
+ mapping->rlcMode_present = TRUE;
+
+ if (mapping->rlcMode == RLC_AM_MODE) {
+ mapping->pdcp_sn_size = 12;
+ mapping->pdcp_sn_size_present = TRUE;
+ }
+ }
+
+#.FN_BODY RLC-Config-v1250/ul-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field
+ gboolean ext_li_field;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->rlc_ul_ext_li_field = ext_li_field;
+ }
+
+#.FN_BODY RLC-Config-v1250/dl-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field
+ gboolean ext_li_field;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->rlc_dl_ext_li_field = ext_li_field;
+ }
+
+#.FN_BODY RLC-Config-v1310/ul-extended-RLC-AM-SN-r13 VAL_PTR=&ext_am_sn
+ gboolean ext_am_sn;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->rlc_ul_ext_am_sn = ext_am_sn;
+ }
+
+#.FN_BODY RLC-Config-v1310/dl-extended-RLC-AM-SN-r13 VAL_PTR=&ext_am_sn
+ gboolean ext_am_sn;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->rlc_dl_ext_am_sn = ext_am_sn;
+ }
+
+#.FN_BODY DRB-ToAddMod/logicalChannelIdentity VAL_PTR=&value
+ guint32 value;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->lcid = (guint8)value;
+ mapping->lcid_present = TRUE;
+ }
+
+#.FN_BODY DRB-ToAddMod/eag_5/logicalChannelIdentity-r15 VAL_PTR=&value
+ guint32 value;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->lcid = (guint8)value;
+ mapping->lcid_present = TRUE;
+ }
+
+#.FN_BODY SN-FieldLength VAL_PTR=&value
+ guint32 value;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->um_sn_length = (value==0) ? 5 : 10;
+ mapping->um_sn_length_present = TRUE;
+ }
+
+#.FN_BODY LogicalChannelConfig/ul-SpecificParameters/priority VAL_PTR=&value
+ guint32 value;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->ul_priority = value;
+ mapping->ul_priority_present = TRUE;
+ }
+
+#.TYPE_ATTR
+LWA-Config-r13/eag_1/wt-MAC-Address-r14 TYPE=FT_ETHER
+
+#.FN_BODY PDCP-Config/rlc-UM/pdcp-SN-Size VAL_PTR=&value
+ guint32 value;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->pdcp_sn_size = (value==0) ? 7 : 12;
+ mapping->pdcp_sn_size_present = TRUE;
+ }
+
+#.FN_BODY PDCP-Config/eag_2/pdcp-SN-Size-v1130
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->pdcp_sn_size = 15;
+ mapping->pdcp_sn_size_present = TRUE;
+ }
+
+#.FN_BODY PDCP-Config/eag_4/pdcp-SN-Size-v1310
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->pdcp_sn_size = 18;
+ mapping->pdcp_sn_size_present = TRUE;
+ }
+
+#.TYPE_ATTR
+LBT-Config-r14/maxEnergyDetectionThreshold-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+LBT-Config-r14/energyDetectionThresholdOffset-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.FN_BODY NeighCellsInfo-r12/transmissionModeList-r12 VAL_PTR=&tm_list_tvb
+ tvbuff_t *tm_list_tvb=NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (tm_list_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_transmissionModeList_r12);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm1, tm_list_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm2, tm_list_tvb, 1, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm3, tm_list_tvb, 2, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm4, tm_list_tvb, 3, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm6, tm_list_tvb, 4, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm8, tm_list_tvb, 5, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm9, tm_list_tvb, 6, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm10, tm_list_tvb, 7, 1, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY PUCCH-ConfigDedicated-v1020/simultaneousPUCCH-PUSCH-r10
+ mac_lte_info* p_mac_lte_info;
+
+%(DEFAULT_BODY)s
+ /* Look for UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
+ if (p_mac_lte_info != NULL) {
+ /* Tell MAC to use simultaneous PUCCH/PUSCH configuration */
+ set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, private_data_get_simult_pucch_pusch_cell_type(actx), TRUE, actx->pinfo);
+ }
+
+#.TYPE_RENAME
+PUCCH-ConfigDedicated-r13/pucch-Format-r13/channelSelection-r13/n1PUCCH-AN-CS-r13/setup/n1PUCCH-AN-CS-List-r13 N1PUCCH_AN_CS_List_r13
+
+#.FN_BODY RACH-ConfigCommon/preambleInfo
+%(DEFAULT_BODY)s
+ /* Initialise to invalid value */
+ private_data_set_ra_preambles(actx, 0);
+
+#.FN_BODY RACH-ConfigCommon/preambleInfo/numberOfRA-Preambles VAL_PTR=&value
+ guint value;
+%(DEFAULT_BODY)s
+ /* This is mandatory, store value */
+ private_data_set_ra_preambles(actx, value);
+
+#.FN_BODY RACH-ConfigCommon/preambleInfo/preamblesGroupAConfig/sizeOfRA-PreamblesGroupA VAL_PTR=&value
+ guint ra_value, value;
+%(DEFAULT_BODY)s
+ /* Retrived stored value for RA (both Group A & Group B) */
+ ra_value = private_data_get_ra_preambles(actx);
+ if (value > ra_value) {
+ /* Something is wrong if A has more RAPIDs than A & B combined! */
+ expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_too_many_group_a_rapids,
+ "Group A size (%%s) > Total RA size (%%s)!",
+ val_to_str_const(value, lte_rrc_T_sizeOfRA_PreamblesGroupA_vals, "Unknown"),
+ val_to_str_const(ra_value, lte_rrc_T_numberOfRA_Preambles_vals, "Unknown"));
+
+ }
+ /* Tell MAC dissector so that it can say for RAPIDs whether A, B, non-RA */
+ set_mac_lte_rapid_ranges((value+1)*4, (ra_value+1)*4);
+ /* Reset again */
+ private_data_set_ra_preambles(actx, 0);
+
+#.TYPE_ATTR
+RACH-ConfigCommon-v1250/txFailParams-r12/connEstFailOffset-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.FN_BODY DRX-Config/setup/onDurationTimer VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ /* Set 'configured' state so that config can be examine once complete! */
+ config->configured = TRUE;
+ config->onDurationTimer = drx_lookup_onDurationTimer(value);
+
+#.FN_BODY DRX-Config/setup/drx-InactivityTimer VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->inactivityTimer = drx_lookup_inactivityTimer(value);
+
+#.FN_BODY DRX-Config/setup/drx-RetransmissionTimer VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->retransmissionTimer = drx_lookup_retransmissionTimer(value);
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->longCycle = drx_lookup_longCycle(value);
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf10 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf20 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf32 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf40 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf64 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf80 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf128 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf160 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf256 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf320 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf512 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf640 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf1024 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf1280 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf2048 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf2560 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/shortDRX/shortDRX-Cycle VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->shortCycleConfigured = TRUE;
+ config->shortCycle = drx_lookup_shortCycle(value);
+
+#.FN_BODY DRX-Config/setup/shortDRX/drxShortCycleTimer VAL_PTR=&timer
+ guint32 timer;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->shortCycleTimer = timer;
+
+#.TYPE_ATTR
+DRX-Config/setup/shortDRX/drxShortCycleTimer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_short_drx_cycles
+
+#.FN_BODY DRX-Config-v1130/drx-RetransmissionTimer-v1130 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->retransmissionTimer = 0;
+
+#.FN_BODY DRX-Config-v1130/longDRX-CycleStartOffset-v1130 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->longCycle = drx_lookup_longCycle_v1130(value);
+
+#.FN_BODY DRX-Config-v1130/longDRX-CycleStartOffset-v1130/sf60-v1130 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config-v1130/longDRX-CycleStartOffset-v1130/sf70-v1130 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config-v1130/shortDRX-Cycle-v1130 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ /* Presumably config->shortCycleConfigured will be set... */
+ config->shortCycle = 4;
+
+#.FN_BODY DRX-Config-v1310/longDRX-CycleStartOffset-v1310
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->longCycle = 60;
+
+#.FN_BODY DRX-Config-v1310/longDRX-CycleStartOffset-v1310/sf60-v1310 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = private_data_get_drx_config(actx);
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/release
+ mac_lte_info* p_mac_lte_info;
+%(DEFAULT_BODY)s
+ /* Look for UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
+ if (p_mac_lte_info != NULL) {
+ /* If found, tell MAC to release DRX config */
+ set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo);
+ }
+
+#.FN_BODY RRCConnectionSetup
+ /* Look for UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
+ if (p_mac_lte_info != NULL) {
+ /* If found, tell MAC to release DRX config coming from a previous RRC connection */
+ /* We do release the configuration here instead of RRC Connection Release message */
+ /* as the UE could have locally dropped the previous RRC Connection */
+ set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo);
+ /* Also tell MAC to release extended BSR sizes configuration */
+ set_mac_lte_extended_bsr_sizes(p_mac_lte_info->ueid, FALSE, actx->pinfo);
+ /* Also tell MAC to release simutaneous PUCCH/PUSCH configuration */
+ set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, SIMULT_PUCCH_PUSCH_PCELL, FALSE, actx->pinfo);
+ set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, SIMULT_PUCCH_PUSCH_PSCELL, FALSE, actx->pinfo);
+ /* TODO: also release PDCP security config here */
+ }
+%(DEFAULT_BODY)s
+
+
+#.FN_BODY SecurityAlgorithmConfig
+ pdcp_lte_info *p_pdcp_lte_info;
+ pdcp_lte_security_info_t *p_security_algorithms;
+%(DEFAULT_BODY)s
+ p_security_algorithms = private_data_pdcp_security_algorithms(actx);
+ p_security_algorithms->configuration_frame = actx->pinfo->num;
+ p_security_algorithms->previous_configuration_frame = 0;
+ p_security_algorithms->previous_integrity = eia0;
+ p_security_algorithms->previous_ciphering = eea0;
+
+ /* Look for UE identifier */
+ p_pdcp_lte_info = (pdcp_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_pdcp_lte, 0);
+ if (p_pdcp_lte_info != NULL) {
+ /* Configure algorithms */
+ set_pdcp_lte_security_algorithms(p_pdcp_lte_info->ueid, p_security_algorithms);
+ }
+
+#.FN_BODY CipheringAlgorithm-r12 VAL_PTR=&value
+ guint32 value;
+ pdcp_lte_security_info_t *p_security_algorithms;
+%(DEFAULT_BODY)s
+ p_security_algorithms = private_data_pdcp_security_algorithms(actx);
+ p_security_algorithms->ciphering = (enum lte_security_ciphering_algorithm_e)value;
+
+#.FN_BODY SecurityAlgorithmConfig/integrityProtAlgorithm VAL_PTR=&value
+ guint32 value;
+ pdcp_lte_security_info_t *p_security_algorithms;
+%(DEFAULT_BODY)s
+ p_security_algorithms = private_data_pdcp_security_algorithms(actx);
+ p_security_algorithms->integrity = (enum lte_security_integrity_algorithm_e)value;
+
+#.FN_BODY SchedulingRequestConfig/setup/sr-ConfigIndex VAL_PTR=&value
+ guint32 value;
+ guint16 periodicity, subframe_offset;
+ proto_item *ti;
+ proto_tree *subtree;
+ gint index_offset = offset;
+%(DEFAULT_BODY)s
+ /* Break config index into its parts */
+ sr_lookup_configindex(value, &periodicity, &subframe_offset);
+ /* Show parts as generated fields */
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sr_ConfigIndex);
+ ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_periodicity, tvb, index_offset>>3, 1, periodicity);
+ proto_item_set_generated(ti);
+ ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_subframe_offset, tvb, index_offset>>3, 1, subframe_offset);
+ proto_item_set_generated(ti);
+
+#.FN_BODY SchedulingRequestConfigSCell-r13/setup/sr-ConfigIndex-r13 VAL_PTR=&value
+ guint32 value;
+ guint16 periodicity, subframe_offset;
+ proto_item *ti;
+ proto_tree *subtree;
+ gint index_offset = offset;
+%(DEFAULT_BODY)s
+ /* Break config index into its parts */
+ sr_lookup_configindex(value, &periodicity, &subframe_offset);
+ /* Show parts as generated fields */
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sr_ConfigIndex);
+ ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_periodicity, tvb, index_offset>>3, 1, periodicity);
+ proto_item_set_generated(ti);
+ ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_subframe_offset, tvb, index_offset>>3, 1, subframe_offset);
+ proto_item_set_generated(ti);
+
+#.FN_BODY FreqBandIndicator VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ set_freq_band_indicator(value, actx);
+
+#.FN_FTR BandParameters-r10/bandEUTRA-r10
+ remove_last_freq_band_indicator(actx);
+
+#.FN_BODY InterFreqBandInfo
+ meas_capabilities_item_band_mappings_t *mappings;
+ proto_item *it;
+%(DEFAULT_BODY)s
+ mappings = private_data_meas_capabilities_item_band_mappings(actx);
+ if (mappings->number_of_interfreq_serving_read < mappings->number_of_bands_set) {
+ guint16 serving_band = mappings->band_by_item[mappings->number_of_interfreq_serving_read];
+ guint16 target_band = mappings->band_by_item[mappings->number_of_interfreq_target_read++];
+ if (mappings->number_of_interfreq_target_read == mappings->number_of_bands_set) {
+ mappings->number_of_interfreq_target_read = 0;
+ mappings->number_of_interfreq_serving_read++;
+ }
+
+ /* Add a generated item showing serving & target band for this entry */
+ it = proto_tree_add_uint(tree, hf_lte_rrc_bandEUTRA, tvb, 0, 0, serving_band);
+ proto_item_append_text(it, " -> band %%u", target_band);
+ proto_item_set_generated(it);
+ }
+
+#.FN_BODY UE-EUTRA-Capability/measParameters
+ meas_capabilities_item_band_mappings_t *mappings;
+%(DEFAULT_BODY)s
+ /* Clear band mapping once measParameters IE has been decoded */
+ mappings = private_data_meas_capabilities_item_band_mappings(actx);
+ mappings->number_of_bands_set = 0;
+
+#.FN_BODY ReleaseCause VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [cause=%%s]",
+ val_to_str(value, lte_rrc_ReleaseCause_vals, "Unknown"));
+
+#.TYPE_ATTR
+LWA-Parameters-r13/wlan-MAC-Address-r13 TYPE=FT_ETHER
+
+#.TYPE_ATTR
+VisitedCellInfo-r12/timeSpent-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY WLAN-OffloadConfig-r12/thresholdChannelUtilization-r12/thresholdChannelUtilizationLow-r12
+%(DEFAULT_BODY)s
+ proto_item_append_text(actx->created_item, " (BSS load)");
+
+#.FN_BODY WLAN-OffloadConfig-r12/thresholdChannelUtilization-r12/thresholdChannelUtilizationHigh-r12
+%(DEFAULT_BODY)s
+ proto_item_append_text(actx->created_item, " (BSS load)");
+
+#.TYPE_ATTR
+WLAN-OffloadConfig-r12/thresholdWLAN-RSSI-r12/thresholdWLAN-RSSI-Low-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_thresholdWLAN_RSSI_fmt)
+
+#.TYPE_ATTR
+WLAN-OffloadConfig-r12/thresholdWLAN-RSSI-r12/thresholdWLAN-RSSI-High-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_thresholdWLAN_RSSI_fmt)
+
+#.FN_BODY MeasParameters-v1520/measGapPatterns-r15 VAL_PTR = &meas_gap_pattern_tvb
+ tvbuff_t *meas_gap_pattern_tvb = NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+#.FN_BODY MeasParameters-v1520/measGapPatterns-r15
+ if (meas_gap_pattern_tvb) {
+ static int * const lte_rrc_meas_gap_pattern_flags[] = {
+ &hf_lte_rrc_measGapPatterns_r15_bit1,
+ &hf_lte_rrc_measGapPatterns_r15_bit2,
+ &hf_lte_rrc_measGapPatterns_r15_bit3,
+ &hf_lte_rrc_measGapPatterns_r15_bit4,
+ &hf_lte_rrc_measGapPatterns_r15_bit5,
+ &hf_lte_rrc_measGapPatterns_r15_bit6,
+ &hf_lte_rrc_measGapPatterns_r15_bit7,
+ &hf_lte_rrc_measGapPatterns_r15_bit8,
+ NULL
+ };
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_measGapPatterns_r15);
+ proto_tree_add_bitmask_list(subtree, meas_gap_pattern_tvb, 0, 1, lte_rrc_meas_gap_pattern_flags, ENC_NA);
+ }
+
+#.TYPE_ATTR
+MBMS-Parameters-v1470/mbms-MaxBW-r14/explicitValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_mbms_MaxBW_r14_fmt)
+
+#.FN_BODY WLAN-backhaulRate-r12
+%(DEFAULT_BODY)s
+ proto_item_append_text(actx->created_item, "Kbps");
+
+#.TYPE_ATTR
+SL-CBR-PSSCH-TxConfig-r14/cr-Limit-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_cr_Limit_r14_fmt)
+
+#.TYPE_ATTR
+SL-CBR-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_SL_CBR_r14_fmt)
+
+#.TYPE_ATTR
+SL-CommResourcePoolV2X-r14/threshS-RSSI-CBR-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_threshS_RSSI_CBR_r14_fmt)
+
+#.TYPE_ATTR
+SL-DiscResourcePool-r12/eag_1/txParamsAddNeighFreq-r13/setup/referenceSignalPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+SL-DiscSysInfoReport-r13/cellSelectionInfo-r13/q-RxLevMinOffset-r13 STRINGS=VALS(lte_rrc_q_RxLevMinOffset_vals)
+
+#.TYPE_ATTR
+SL-DiscSysInfoReport-r13/referenceSignalPower-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+SL-V2X-InterFreqUE-Config-r14/offsetDFN-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_offsetDFN_r14_fmt)
+
+#.TYPE_ATTR
+P0-SL-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.FN_BODY RRCConnectionReconfiguration-v1510-IEs/nr-Config-r15/setup/nr-SecondaryCellGroupConfig-r15 VAL_PTR = &rrc_reconfiguration_tvb
+ tvbuff_t *rrc_reconfiguration_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (rrc_reconfiguration_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_SecondaryCellGroupConfig_r15);
+ dissect_nr_rrc_RRCReconfiguration_PDU(rrc_reconfiguration_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RRCConnectionReconfiguration-v1510-IEs/nr-RadioBearerConfig1-r15 VAL_PTR = &radio_bearer_config_tvb
+ tvbuff_t *radio_bearer_config_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (radio_bearer_config_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_RadioBearerConfig_r15);
+ dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RRCConnectionReconfiguration-v1510-IEs/nr-RadioBearerConfig2-r15 VAL_PTR = &radio_bearer_config_tvb
+ tvbuff_t *radio_bearer_config_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (radio_bearer_config_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_RadioBearerConfigS_r15);
+ dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RRCConnectionReconfiguration-v1610-IEs/sl-ConfigDedicatedForNR-r16 VAL_PTR = &rrc_reconfiguration_tvb
+ tvbuff_t *rrc_reconfiguration_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (rrc_reconfiguration_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sl_ConfigDedicatedForNR_r16);
+ dissect_nr_rrc_RRCReconfiguration_PDU(rrc_reconfiguration_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RRCConnectionReconfigurationComplete-v1510-IEs/scg-ConfigResponseNR-r15 VAL_PTR = &rrc_reconfiguration_complete_tvb
+ tvbuff_t *rrc_reconfiguration_complete_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (rrc_reconfiguration_complete_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_scg_ConfigResponseNR_r15);
+ dissect_nr_rrc_RRCReconfigurationComplete_PDU(rrc_reconfiguration_complete_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RRCConnectionResume-v1510-IEs/nr-RadioBearerConfig1-r15 VAL_PTR = &radio_bearer_config_tvb
+ tvbuff_t *radio_bearer_config_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (radio_bearer_config_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_RadioBearerConfig_r15);
+ dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RRCConnectionResume-v1510-IEs/nr-RadioBearerConfig2-r15 VAL_PTR = &radio_bearer_config_tvb
+ tvbuff_t *radio_bearer_config_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (radio_bearer_config_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_RadioBearerConfigS_r15);
+ dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RRCConnectionResume-v1610-IEs/nr-SecondaryCellGroupConfig-r16 VAL_PTR = &rrc_reconfiguration_tvb
+ tvbuff_t *rrc_reconfiguration_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (rrc_reconfiguration_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_SecondaryCellGroupConfig);
+ dissect_nr_rrc_RRCReconfiguration_PDU(rrc_reconfiguration_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RRCConnectionResumeComplete-v1610-IEs/scg-ConfigResponseNR-r16 VAL_PTR = &rrc_reconfiguration_complete_tvb
+ tvbuff_t *rrc_reconfiguration_complete_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (rrc_reconfiguration_complete_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_scg_ConfigResponseNR_r16);
+ dissect_nr_rrc_RRCReconfigurationComplete_PDU(rrc_reconfiguration_complete_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY FailureReportSCG-NR-r15/measResultSCG-r15 VAL_PTR = &meas_results_tvb
+ tvbuff_t *meas_results_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (meas_results_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_measResultSCG_r15);
+ dissect_nr_rrc_MeasResultSCG_Failure_PDU(meas_results_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY FailureReportMCG-r16/measResultSCG-r16 VAL_PTR = &meas_results_tvb
+ tvbuff_t *meas_results_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (meas_results_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_measResultSCG_r16);
+ dissect_nr_rrc_MeasResultSCG_Failure_PDU(meas_results_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ULInformationTransferMRDC-r15-IEs/ul-DCCH-MessageNR-r15 VAL_PTR = &nr_ul_dcch_tvb
+ tvbuff_t *nr_ul_dcch_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (nr_ul_dcch_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ul_DCCH_MessageNR_r15);
+ dissect_nr_rrc_UL_DCCH_Message_PDU(nr_ul_dcch_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ULInformationTransferIRAT-r16-IEs/ul-DCCH-MessageNR-r16 VAL_PTR = &nr_ul_dcch_tvb
+ tvbuff_t *nr_ul_dcch_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (nr_ul_dcch_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ul_DCCH_MessageNR_r16);
+ dissect_nr_rrc_UL_DCCH_Message_PDU(nr_ul_dcch_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SL-Parameters-v1610/sl-ParameterNR-r16 VAL_PTR = &sl_params_nr_tvb
+ tvbuff_t *sl_params_nr_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (sl_params_nr_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sl_ParameterNR_r16);
+ dissect_nr_rrc_SidelinkParametersNR_r16_PDU(sl_params_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY V2X-BandParametersEUTRA-NR-r16/nr/v2x-BandParametersNR-r16 VAL_PTR = &v2x_band_params_nr_tvb
+ tvbuff_t *v2x_band_params_nr_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (v2x_band_params_nr_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_v2x_BandParametersNR_r16);
+ dissect_nr_rrc_BandParametersSidelink_r16_PDU(v2x_band_params_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#
+# EUTRA-InterNodeDefinitions
+#
+
+#.FN_BODY HandoverPreparationInformation-v1540-IEs/sourceRB-ConfigIntra5GC-r15 VAL_PTR = &radio_bearer_config_tvb
+ tvbuff_t *radio_bearer_config_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (radio_bearer_config_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceRB_ConfigIntra5GC_r15);
+ dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-ConfigNR-r15/sourceRB-ConfigNR-r15 VAL_PTR = &radio_bearer_config_tvb
+ tvbuff_t *radio_bearer_config_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (radio_bearer_config_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceRB_ConfigNR_r15);
+ dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-ConfigNR-r15/sourceRB-ConfigSN-NR-r15 VAL_PTR = &radio_bearer_config_tvb
+ tvbuff_t *radio_bearer_config_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (radio_bearer_config_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceRB_ConfigSN_NR_r15);
+ dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-ConfigNR-r15/sourceOtherConfigSN-NR-r15 VAL_PTR = &rrc_reconfiguration_tvb
+ tvbuff_t *rrc_reconfiguration_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (rrc_reconfiguration_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceOtherConfigSN_NR_r15);
+ dissect_nr_rrc_RRCReconfiguration_PDU(rrc_reconfiguration_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-Context-v1130/eag_2/sourceContextEN-DC-r15 VAL_PTR = &scg_config_info_tvb
+ tvbuff_t *scg_config_info_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (scg_config_info_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceContextEN_DC_r15);
+ dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(scg_config_info_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-Context-v1130/eag_3/selectedbandCombinationInfoEN-DC-v1540 VAL_PTR = &band_comb_info_sn_tvb
+ tvbuff_t *band_comb_info_sn_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (band_comb_info_sn_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540);
+ dissect_nr_rrc_BandCombinationInfoSN_PDU(band_comb_info_sn_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-Context-v1610/sidelinkUEInformationNR-r16 VAL_PTR = &sidelink_ue_info_nr_tvb
+ tvbuff_t *sidelink_ue_info_nr_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (sidelink_ue_info_nr_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sidelinkUEInformationNR_r16);
+ dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(sidelink_ue_info_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-Context-v1610/ueAssistanceInformationNR-r16 VAL_PTR = &ue_assist_info_nr_tvb
+ tvbuff_t *ue_assist_info_nr_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (ue_assist_info_nr_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ueAssistanceInformationNR_r16);
+ dissect_nr_rrc_UEAssistanceInformation_PDU(ue_assist_info_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-Context-v1620/ueAssistanceInformationNR-SCG-r16 VAL_PTR = &ue_assist_info_nr_tvb
+ tvbuff_t *ue_assist_info_nr_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (ue_assist_info_nr_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ueAssistanceInformationNR_SCG_r16);
+ dissect_nr_rrc_UEAssistanceInformation_PDU(ue_assist_info_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_UNKNOWN);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-1-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_1);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-2-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_2);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-3-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_3);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-4-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_4);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-5-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_5);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-6-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_6);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-7-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_7);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-1-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_1);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-2-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_2);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-3-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_3);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-4-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_4);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-5-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_5);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-6-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_6);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-7-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_7);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-8-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_8);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-9-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_9);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-10-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_10);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-11-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_11);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-12-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_12);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-13-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_13);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-14-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_14);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-15-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_15);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-16-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_16);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-17-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_17);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-18-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_18);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-19-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_19);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib3-1-r15
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_3_1);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-8-v1610
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_8);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-20-v1610
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_20);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-21-v1610
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_21);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-22-v1610
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_22);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-23-v1610
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_23);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-24-v1610
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_24);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib2-25-v1610
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_2_25);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib4-1-v1610
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_4_1);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib5-1-v1610
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_5_1);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-9-v1700
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_9);
+
+#.FN_HDR PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15/_item/posSib1-10-v1700
+ private_data_set_pos_sib_type(actx, LPP_POS_SIB_TYPE_1_10);
+
+#.FN_BODY SystemInformationBlockPos-r15/assistanceDataSIB-Element-r15 VAL_PTR = &assist_data_sib_elem_tvb
+ tvbuff_t *assist_data_sib_elem_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (assist_data_sib_elem_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_assistanceDataSIB_Element_r15);
+
+ dissect_lpp_AssistanceDataSIBelement_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo,
+ subtree, private_data_get_pos_sib_type(actx));
+ }
+
+#.FN_BODY UEInformationResponse-v1710-IEs/coarseLocationInfo-r17 VAL_PTR = &ellipsoid_point_tvb
+ tvbuff_t *ellipsoid_point_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_tvb) {
+ dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY MeasResults/eag_10/coarseLocationInfo-r17 VAL_PTR = &ellipsoid_point_tvb
+ tvbuff_t *ellipsoid_point_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_tvb) {
+ dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.TYPE_ATTR
+TimeOffsetUTC-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY OverheatingAssistance-v1610/overheatingAssistanceForSCG-r16 VAL_PTR = &overheating_assist_for_scg_tvb
+ tvbuff_t *overheating_assist_for_scg_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (overheating_assist_for_scg_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_overheatingAssistanceForSCG_r16);
+ dissect_nr_rrc_OverheatingAssistance_PDU(overheating_assist_for_scg_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY OverheatingAssistance-v1710/overheatingAssistanceForSCG-FR2-2-r17 VAL_PTR = &overheating_assist_for_scg_tvb
+ tvbuff_t *overheating_assist_for_scg_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (overheating_assist_for_scg_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_overheatingAssistanceForSCG_FR2_2_r17);
+ dissect_nr_rrc_OverheatingAssistance_r17_PDU(overheating_assist_for_scg_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CondReconfigurationAddMod-r16/eag_1/triggerConditionSN-r17 VAL_PTR = &cond_reconfig_exec_cond_scg_tvb
+ tvbuff_t *cond_reconfig_exec_cond_scg_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cond_reconfig_exec_cond_scg_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_triggerConditionSN_r17);
+ dissect_nr_rrc_CondReconfigExecCondSCG_r17_PDU(cond_reconfig_exec_cond_scg_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#
+# EUTRA-Sidelink-Preconf
+#
+
+#.TYPE_ATTR
+SL-V2X-PreconfigFreqInfo-r14/offsetDFN-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_offsetDFN_r14_fmt)
+
+#.TYPE_ATTR
+SL-V2X-PreconfigCommPool-r14/threshS-RSSI-CBR-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_threshS_RSSI_CBR_r14_fmt)
+
+#
+# PC5-RRC-Definitions
+#
+
+#.FN_HDR MasterInformationBlock-SL
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MasterInformationBlock-SL");
+
+#.FN_HDR MasterInformationBlock-SL-V2X-r14
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MasterInformationBlock-SL-V2X-r14");
+
+#
+# NBIOT-RRC-Definitions
+#
+
+#.FN_HDR UL-CCCH-Message-NB
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+#.FN_HDR UL-DCCH-Message-NB
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+#.FN_HDR DL-CCCH-Message-NB
+ actx->pinfo->link_dir = P2P_DIR_DL;
+
+#.FN_HDR DL-DCCH-Message-NB
+ actx->pinfo->link_dir = P2P_DIR_DL;
+
+#.FN_HDR MasterInformationBlock-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MasterInformationBlock-NB");
+
+#.FN_HDR SystemInformation-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation-NB [");
+
+#.FN_BODY SystemInformation-NB
+%(DEFAULT_BODY)s
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
+
+#.FN_HDR SystemInformationBlockType1-NB
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1-NB");
+
+#.FN_HDR SystemInformationBlockType2-NB-r13
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
+
+#.FN_HDR SystemInformationBlockType3-NB-r13
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
+
+#.FN_HDR SystemInformationBlockType4-NB-r13
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
+
+#.FN_HDR SystemInformationBlockType5-NB-r13
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
+
+#.FN_HDR SystemInformationBlockType14-NB-r13
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB14");
+
+#.FN_HDR Paging-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging-NB");
+
+#.FN_HDR RRCConnectionReestablishment-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishment-NB");
+
+#.FN_HDR RRCConnectionReject-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReject-NB");
+
+#.FN_HDR RRCConnectionSetup-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionSetup-NB");
+
+#.FN_HDR RRCEarlyDataComplete-NB-r15
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCEarlyDataComplete-NB-r15");
+
+#.FN_HDR DLInformationTransfer-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLInformationTransfer-NB");
+
+#.FN_HDR RRCConnectionReconfiguration-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReconfiguration-NB");
+
+#.FN_HDR RRCConnectionRelease-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionRelease-NB");
+
+#.FN_HDR UECapabilityEnquiry-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityEnquiry-NB");
+
+#.FN_HDR RRCConnectionResume-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResume-NB");
+
+#.FN_HDR UEInformationRequest-NB-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationRequest-NB-r16");
+
+#.FN_HDR RRCConnectionReestablishmentRequest-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentRequest-NB");
+
+#.FN_HDR RRCConnectionRequest-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionRequest-NB");
+
+#.FN_HDR RRCConnectionResumeRequest-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResumeRequest-NB");
+
+#.FN_HDR RRCEarlyDataRequest-NB-r15
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCEarlyDataRequest-NB-r15");
+
+#.FN_HDR SCPTMConfiguration-NB-r14
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCPTMConfiguration-NB-r14");
+
+#.FN_HDR RRCConnectionReconfigurationComplete-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReconfigurationComplete-NB");
+
+#.FN_HDR RRCConnectionReestablishmentComplete-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentComplete-NB");
+
+#.FN_HDR RRCConnectionSetupComplete-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionSetupComplete-NB");
+
+#.FN_HDR UECapabilityInformation-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInformation-NB");
+
+#.FN_HDR ULInformationTransfer-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULInformationTransfer-NB");
+
+#.FN_HDR RRCConnectionResumeComplete-NB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResumeComplete-NB");
+
+#.FN_HDR UEInformationResponse-NB-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationResponse-NB-r16");
+
+#.FN_HDR PURConfigurationRequest-NB-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PURConfigurationRequest-NB-r16");
+
+#.FN_HDR SystemInformationBlockType15-NB-r14
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB15");
+
+#.FN_HDR SystemInformationBlockType20-NB-r14
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB20");
+
+#.FN_HDR SystemInformationBlockType22-NB-r14
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB22");
+
+#.FN_HDR SystemInformationBlockType23-NB-r15
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB23");
+
+#.FN_HDR SystemInformationBlockType27-NB-r16
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB27");
+
+#.FN_HDR SystemInformationBlockType31-NB-r17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB31");
+
+#.FN_HDR SystemInformationBlockType32-NB-r17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB32");
+
+#.TYPE_ATTR
+MasterInformationBlock-NB/schedulingInfoSIB1-r13 TYPE=FT_UINT32 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_schedulingInfoSIB1_NB_r13_vals_ext
+
+#.TYPE_ATTR
+MasterInformationBlock-TDD-NB-r15/schedulingInfoSIB1-r15 TYPE=FT_UINT32 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_schedulingInfoSIB1_NB_r13_vals_ext
+
+#.TYPE_ATTR
+RRCConnectionReject-NB-r13-IEs/extendedWaitTime-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RRCConnectionRelease-NB-r13-IEs/extendedWaitTime-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RRCConnectionRelease-NB-v1430-IEs/extendedWaitTime-CPdata-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RRCEarlyDataComplete-NB-r15-IEs/extendedWaitTime-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+CellSelectionInfo-NB-v1350/delta-RxLevMin-v1350 STRINGS=VALS(lte_rrc_delta_RxLevMin_vals)
+
+#.TYPE_RENAME
+SystemInformationBlockType2-NB-r13/multiBandInfoList-r13 AdditionalSpectrumEmission_r13
+
+#.TYPE_ATTR
+IntraFreqCellReselectionInfo-NB-v1350/delta-RxLevMin-v1350 STRINGS=VALS(lte_rrc_delta_RxLevMin_vals)
+
+#.TYPE_ATTR
+SystemInformationBlockType5/eag_1/scptm-FreqOffset-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_scptm_FreqOffset_r14_fmt)
+
+#.TYPE_ATTR
+InterFreqCarrierFreqInfo-NB-r13/eag_1/delta-RxLevMin-v1350 STRINGS=VALS(lte_rrc_delta_RxLevMin_vals)
+
+#.TYPE_ATTR
+AB-Config-NB-r13/ab-Category-r13 STRINGS=VALS(lte_rrc_eab_category_vals)
+
+#.TYPE_ATTR
+NPDSCH-ConfigCommon-NB-r13/nrs-Power-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+RACH-ConfigCommon-NB-r13/connEstFailOffset-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+SR-WithoutHARQ-ACK-Config-NB-r15/setup/sr-ProhibitTimer-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_sr_periods
+
+#.TYPE_ATTR
+SR-NPRACH-Resource-NB-r15/p0-SR-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.FN_BODY DRB-ToAddMod-NB-r13
+ struct mac_lte_info *p_mac_lte_info;
+ struct rlc_lte_info *p_rlc_lte_info;
+ /* Get the struct and clear it out */
+ drb_mapping_t *drb_mapping = private_data_get_drb_mapping(actx);
+ memset(drb_mapping, 0, sizeof(*drb_mapping));
+%(DEFAULT_BODY)s
+ /* Need UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
+ if (p_mac_lte_info) {
+ drb_mapping->ueid = p_mac_lte_info->ueid;
+ /* Tell MAC about this mapping */
+ set_mac_lte_channel_mapping(drb_mapping);
+ }
+
+ /* Also tell RLC how many PDCP sequence number bits and whether it should use extended LI */
+ p_rlc_lte_info = (rlc_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rlc_lte, 0);
+ if (p_rlc_lte_info) {
+ if (drb_mapping->pdcp_sn_size_present) {
+ set_rlc_lte_drb_pdcp_seqnum_length(actx->pinfo,
+ p_rlc_lte_info->ueid,
+ drb_mapping->drbid,
+ drb_mapping->pdcp_sn_size);
+ }
+ if (drb_mapping->rlcMode_present) {
+ set_rlc_lte_drb_li_field(actx->pinfo,
+ p_rlc_lte_info->ueid,
+ drb_mapping->drbid,
+ drb_mapping->rlc_ul_ext_li_field,
+ drb_mapping->rlc_dl_ext_li_field);
+ }
+ }
+
+ /* Clear out the struct again */
+ memset(&drb_mapping, 0, sizeof(drb_mapping));
+
+#.FN_BODY RLC-Config-NB-r13/am
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->rlcMode = RLC_AM_MODE;
+ mapping->rlcMode_present = TRUE;
+ mapping->pdcp_sn_size = 7;
+ mapping->pdcp_sn_size_present = TRUE;
+ }
+
+#.FN_BODY RLC-Config-NB-r13/um-Bi-Directional-r15
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->rlcMode = RLC_UM_MODE;
+ mapping->rlcMode_present = TRUE;
+ mapping->um_sn_length = 5;
+ mapping->um_sn_length_present = TRUE;
+ mapping->pdcp_sn_size = 7;
+ mapping->pdcp_sn_size_present = TRUE;
+ }
+
+#.FN_BODY RLC-Config-NB-r13/um-Uni-Directional-UL-r15
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->rlcMode = RLC_UM_MODE;
+ mapping->rlcMode_present = TRUE;
+ mapping->um_sn_length = 5;
+ mapping->um_sn_length_present = TRUE;
+ mapping->pdcp_sn_size = 7;
+ mapping->pdcp_sn_size_present = TRUE;
+ }
+
+#.FN_BODY RLC-Config-NB-r13/um-Uni-Directional-DL-r15
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->rlcMode = RLC_UM_MODE;
+ mapping->rlcMode_present = TRUE;
+ mapping->um_sn_length = 5;
+ mapping->um_sn_length_present = TRUE;
+ mapping->pdcp_sn_size = 7;
+ mapping->pdcp_sn_size_present = TRUE;
+ }
+
+#.FN_BODY DRB-ToAddMod-NB-r13/logicalChannelIdentity-r13 VAL_PTR=&value
+ guint32 value;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->lcid = (guint8)value;
+ mapping->lcid_present = TRUE;
+ }
+
+#.FN_BODY LogicalChannelConfig-NB-r13/priority-r13 VAL_PTR=&value
+ guint32 value;
+ drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
+%(DEFAULT_BODY)s
+ if (mapping != NULL) {
+ mapping->ul_priority = value;
+ mapping->ul_priority_present = TRUE;
+ }
+
+#.TYPE_ATTR
+UplinkPowerControlCommon-NB-r13/p0-NominalNPUSCH-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+UplinkPowerControlCommon-NB-r13/deltaPreambleMsg3-r13 STRINGS=VALS(lte_rrc_deltaPreambleMsg3_vals)
+
+#.TYPE_ATTR
+UplinkPowerControlDedicated-NB-r13/p0-UE-NPUSCH-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+ReselectionThreshold-NB-v1360 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_ReselectionThreshold_NB_vals_ext
+
+#.TYPE_ATTR
+NRSRP-Range-NB-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_NRSRP_Range_NB_r14_fmt)
+
+#.TYPE_ATTR
+NRSRQ-Range-NB-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_NRSRQ_Range_NB_r14_fmt)
+
+#.TYPE_ATTR
+PUR-Config-NB-r16/pur-PhysicalConfig-r16/p0-UE-NPUSCH-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
diff --git a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
new file mode 100644
index 00000000..72d8992e
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
@@ -0,0 +1,4578 @@
+/* packet-lte-rrc-template.c
+ * Routines for Evolved Universal Terrestrial Radio Access (E-UTRA);
+ * Radio Resource Control (RRC) protocol specification
+ * (3GPP TS 36.331 V17.5.0 Release 17) packet dissection
+ * Copyright 2008, Vincent Helfre
+ * Copyright 2009-2023, Pascal Quantin
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/to_str.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <epan/reassemble.h>
+#include <epan/exceptions.h>
+#include <epan/show_exception.h>
+#include <epan/proto_data.h>
+
+#include <wsutil/str_util.h>
+#include <wsutil/epochs.h>
+
+#include "packet-per.h"
+#include "packet-rrc.h"
+#include "packet-gsm_a_common.h"
+#include "packet-lpp.h"
+#include "packet-gsm_map.h"
+#include "packet-cell_broadcast.h"
+#include "packet-mac-lte.h"
+#include "packet-rlc-lte.h"
+#include "packet-pdcp-lte.h"
+#include "packet-nr-rrc.h"
+#include "packet-lte-rrc.h"
+
+#define PNAME "LTE Radio Resource Control (RRC) protocol"
+#define PSNAME "LTE RRC"
+#define PFNAME "lte_rrc"
+
+void proto_register_lte_rrc(void);
+void proto_reg_handoff_lte_rrc(void);
+
+static dissector_handle_t nas_eps_handle = NULL;
+static dissector_handle_t nas_5gs_handle = NULL;
+static dissector_handle_t rrc_irat_ho_to_utran_cmd_handle = NULL;
+static dissector_handle_t rrc_sys_info_cont_handle = NULL;
+static dissector_handle_t gsm_a_dtap_handle = NULL;
+static dissector_handle_t gsm_rlcmac_dl_handle = NULL;
+static dissector_handle_t nr_rrc_reconf_handle = NULL;
+static dissector_handle_t lte_rrc_conn_reconf_handle;
+static dissector_handle_t lte_rrc_dl_ccch_handle;
+
+static wmem_map_t *lte_rrc_etws_cmas_dcs_hash = NULL;
+
+/* Keep track of where/how the System Info value has changed */
+static wmem_map_t *lte_rrc_system_info_value_changed_hash = NULL;
+static guint8 system_info_value_current;
+static gboolean system_info_value_current_set;
+
+static gboolean lte_rrc_nas_in_root_tree;
+
+extern int proto_mac_lte;
+extern int proto_rlc_lte;
+extern int proto_pdcp_lte;
+
+
+/* Include constants */
+#include "packet-lte-rrc-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_lte_rrc = -1;
+
+#include "packet-lte-rrc-hf.c"
+
+static int hf_lte_rrc_eutra_cap_feat_group_ind_1 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_2 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_3 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_4 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_5 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_6 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_7 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_8 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_9 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_10 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_11 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_12 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_13 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_14 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_15 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_16 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_17 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_18 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_19 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_20 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_21 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_22 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_23 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_24 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_25 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_26 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_27 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_28 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_29 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_30 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_31 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_32 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_33 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_34 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_35 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_36 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_37 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_38 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_39 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_40 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_41 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_42 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_43 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_44 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_45 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_46 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_47 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_48 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_49 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_50 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_51 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_52 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_53 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_54 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_55 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_56 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_57 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_58 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_59 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_60 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_61 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_62 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_63 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_64 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_101 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_102 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_103 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_104 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_105 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_106 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_107 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_108 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_109 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_110 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_111 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_112 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_113 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_114 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_115 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_116 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_117 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_118 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_119 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_120 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_121 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_122 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_123 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_124 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_125 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_126 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_127 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_128 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_129 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_130 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_131 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_132 = -1;
+static int hf_lte_rrc_serialNumber_gs = -1;
+static int hf_lte_rrc_serialNumber_msg_code = -1;
+static int hf_lte_rrc_serialNumber_upd_nb = -1;
+static int hf_lte_rrc_warningType_value = -1;
+static int hf_lte_rrc_warningType_emergency_user_alert = -1;
+static int hf_lte_rrc_warningType_popup = -1;
+static int hf_lte_rrc_warningMessageSegment_nb_pages = -1;
+static int hf_lte_rrc_warningMessageSegment_decoded_page = -1;
+static int hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1 = -1;
+static int hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2 = -1;
+static int hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1 = -1;
+static int hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2 = -1;
+static int hf_lte_rrc_aperiodicCSI_Reporting_r13_bit1 = -1;
+static int hf_lte_rrc_aperiodicCSI_Reporting_r13_bit2 = -1;
+static int hf_lte_rrc_codebook_HARQ_ACK_r13_bit1 = -1;
+static int hf_lte_rrc_codebook_HARQ_ACK_r13_bit2 = -1;
+static int hf_lte_rrc_sr_config_periodicity = -1;
+static int hf_lte_rrc_sr_config_subframe_offset = -1;
+static int hf_lte_rrc_cdma_time = -1;
+static int hf_lte_rrc_utc_time = -1;
+static int hf_lte_rrc_local_time = -1;
+static int hf_lte_rrc_absolute_time = -1;
+static int hf_lte_rrc_transmissionModeList_r12_tm1 = -1;
+static int hf_lte_rrc_transmissionModeList_r12_tm2 = -1;
+static int hf_lte_rrc_transmissionModeList_r12_tm3 = -1;
+static int hf_lte_rrc_transmissionModeList_r12_tm4 = -1;
+static int hf_lte_rrc_transmissionModeList_r12_tm6 = -1;
+static int hf_lte_rrc_transmissionModeList_r12_tm8 = -1;
+static int hf_lte_rrc_transmissionModeList_r12_tm9 = -1;
+static int hf_lte_rrc_transmissionModeList_r12_tm10 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_0 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_1 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_2 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_3 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_4 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_5 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_6 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_7 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_8 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_9 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_10 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_11 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_12 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_13 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_14 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_15 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_16 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_17 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_18 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_19 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_20 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_21 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_22 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_23 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_24 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_25 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_26 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_27 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_28 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_29 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_30 = -1;
+static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_31 = -1;
+static int hf_lte_rrc_sib11_fragments = -1;
+static int hf_lte_rrc_sib11_fragment = -1;
+static int hf_lte_rrc_sib11_fragment_overlap = -1;
+static int hf_lte_rrc_sib11_fragment_overlap_conflict = -1;
+static int hf_lte_rrc_sib11_fragment_multiple_tails = -1;
+static int hf_lte_rrc_sib11_fragment_too_long_fragment = -1;
+static int hf_lte_rrc_sib11_fragment_error = -1;
+static int hf_lte_rrc_sib11_fragment_count = -1;
+static int hf_lte_rrc_sib11_reassembled_in = -1;
+static int hf_lte_rrc_sib11_reassembled_length = -1;
+static int hf_lte_rrc_sib11_reassembled_data = -1;
+static int hf_lte_rrc_sib12_fragments = -1;
+static int hf_lte_rrc_sib12_fragment = -1;
+static int hf_lte_rrc_sib12_fragment_overlap = -1;
+static int hf_lte_rrc_sib12_fragment_overlap_conflict = -1;
+static int hf_lte_rrc_sib12_fragment_multiple_tails = -1;
+static int hf_lte_rrc_sib12_fragment_too_long_fragment = -1;
+static int hf_lte_rrc_sib12_fragment_error = -1;
+static int hf_lte_rrc_sib12_fragment_count = -1;
+static int hf_lte_rrc_sib12_reassembled_in = -1;
+static int hf_lte_rrc_sib12_reassembled_length = -1;
+static int hf_lte_rrc_sib12_reassembled_data = -1;
+static int hf_lte_rrc_measGapPatterns_r15_bit1 = -1;
+static int hf_lte_rrc_measGapPatterns_r15_bit2 = -1;
+static int hf_lte_rrc_measGapPatterns_r15_bit3 = -1;
+static int hf_lte_rrc_measGapPatterns_r15_bit4 = -1;
+static int hf_lte_rrc_measGapPatterns_r15_bit5 = -1;
+static int hf_lte_rrc_measGapPatterns_r15_bit6 = -1;
+static int hf_lte_rrc_measGapPatterns_r15_bit7 = -1;
+static int hf_lte_rrc_measGapPatterns_r15_bit8 = -1;
+
+/* Initialize the subtree pointers */
+static int ett_lte_rrc = -1;
+
+#include "packet-lte-rrc-ett.c"
+
+static gint ett_lte_rrc_featureGroupIndicators = -1;
+static gint ett_lte_rrc_featureGroupIndRel9Add = -1;
+static gint ett_lte_rrc_featureGroupIndRel10 = -1;
+static gint ett_lte_rrc_absTimeInfo = -1;
+static gint ett_lte_rrc_nas_SecurityParam = -1;
+static gint ett_lte_rrc_targetRAT_MessageContainer = -1;
+static gint ett_lte_rrc_siPsiSibContainer = -1;
+static gint ett_lte_rrc_dedicatedInfoNAS = -1;
+static gint ett_lte_rrc_timeInfo = -1;
+static gint ett_lte_rrc_serialNumber = -1;
+static gint ett_lte_rrc_warningType = -1;
+static gint ett_lte_rrc_dataCodingScheme = -1;
+static gint ett_lte_rrc_warningMessageSegment = -1;
+static gint ett_lte_rrc_interBandTDD_CA_WithDifferentConfig = -1;
+static gint ett_lte_rrc_tdd_FDD_CA_PCellDuplex_r12 = -1;
+static gint ett_lte_rrc_aperiodicCSI_Reporting_r13 = -1;
+static gint ett_lte_rrc_codebook_HARQ_ACK_r13 = -1;
+static gint ett_lte_rrc_sr_ConfigIndex = -1;
+static gint ett_lte_rrc_transmissionModeList_r12 = -1;
+static gint ett_lte_rrc_modifiedMPR_Behavior_r10 = -1;
+static gint ett_lte_rrc_sib11_fragment = -1;
+static gint ett_lte_rrc_sib11_fragments = -1;
+static gint ett_lte_rrc_sib12_fragment = -1;
+static gint ett_lte_rrc_sib12_fragments = -1;
+static gint ett_lte_rrc_nr_SecondaryCellGroupConfig_r15 = -1;
+static gint ett_lte_rrc_nr_RadioBearerConfig_r15 = -1;
+static gint ett_lte_rrc_nr_RadioBearerConfigS_r15 = -1;
+static gint ett_lte_rrc_sl_ConfigDedicatedForNR_r16 = -1;
+static gint ett_lte_rrc_nr_SecondaryCellGroupConfig = -1;
+static gint ett_lte_rrc_scg_ConfigResponseNR_r15 = -1;
+static gint ett_lte_rrc_scg_ConfigResponseNR_r16 = -1;
+static gint ett_lte_rrc_measResultSCG_r15 = -1;
+static gint ett_lte_rrc_measResultSCG_r16 = -1;
+static gint ett_lte_rrc_ul_DCCH_MessageNR_r15 = -1;
+static gint ett_lte_rrc_ul_DCCH_MessageNR_r16 = -1;
+static gint ett_lte_rrc_sourceRB_ConfigNR_r15 = -1;
+static gint ett_lte_rrc_sourceRB_ConfigSN_NR_r15 = -1;
+static gint ett_lte_rrc_sourceOtherConfigSN_NR_r15 = -1;
+static gint ett_lte_rrc_sourceContextEN_DC_r15 = -1;
+static gint ett_lte_rrc_requestedFreqBandsNR_MRDC_r15 = -1;
+static gint ett_lte_rrc_measGapPatterns_r15 = -1;
+static gint ett_lte_rrc_nas_Container_r15 = -1;
+static gint ett_lte_rrc_sourceRB_ConfigIntra5GC_r15 = -1;
+static gint ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540 = -1;
+static gint ett_lte_rrc_requestedCapabilityCommon_r15 = -1;
+static gint ett_lte_rrc_sidelinkUEInformationNR_r16 = -1;
+static gint ett_lte_rrc_ueAssistanceInformationNR_r16 = -1;
+static gint ett_lte_rrc_sl_ParameterNR_r16 = -1;
+static gint ett_lte_rrc_v2x_BandParametersNR_r16 = -1;
+static gint ett_lte_rrc_ueAssistanceInformationNR_SCG_r16 = -1;
+static gint ett_lte_rrc_assistanceDataSIB_Element_r15 = -1;
+static gint ett_lte_rrc_overheatingAssistanceForSCG_r16 = -1;
+static gint ett_lte_rrc_overheatingAssistanceForSCG_FR2_2_r17 = -1;
+static gint ett_lte_rrc_triggerConditionSN_r17 = -1;
+
+static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT;
+static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT;
+static expert_field ei_lte_rrc_sibs_changing = EI_INIT;
+static expert_field ei_lte_rrc_sibs_changing_edrx = EI_INIT;
+static expert_field ei_lte_rrc_earthquake_warning_sys = EI_INIT;
+static expert_field ei_lte_rrc_commercial_mobile_alert_sys = EI_INIT;
+static expert_field ei_lte_rrc_unexpected_type_value = EI_INIT;
+static expert_field ei_lte_rrc_unexpected_length_value = EI_INIT;
+static expert_field ei_lte_rrc_too_many_group_a_rapids = EI_INIT;
+static expert_field ei_lte_rrc_invalid_drx_config = EI_INIT;
+
+static const unit_name_string units_sr_periods = { " SR period", " SR periods" };
+static const unit_name_string units_short_drx_cycles = { " shortDRX-Cycle", " shortDRX-Cycles" };
+
+static reassembly_table lte_rrc_sib11_reassembly_table;
+static reassembly_table lte_rrc_sib12_reassembly_table;
+
+static const fragment_items lte_rrc_sib11_frag_items = {
+ &ett_lte_rrc_sib11_fragment,
+ &ett_lte_rrc_sib11_fragments,
+ &hf_lte_rrc_sib11_fragments,
+ &hf_lte_rrc_sib11_fragment,
+ &hf_lte_rrc_sib11_fragment_overlap,
+ &hf_lte_rrc_sib11_fragment_overlap_conflict,
+ &hf_lte_rrc_sib11_fragment_multiple_tails,
+ &hf_lte_rrc_sib11_fragment_too_long_fragment,
+ &hf_lte_rrc_sib11_fragment_error,
+ &hf_lte_rrc_sib11_fragment_count,
+ &hf_lte_rrc_sib11_reassembled_in,
+ &hf_lte_rrc_sib11_reassembled_length,
+ &hf_lte_rrc_sib11_reassembled_data,
+ "SIB11 warning message segments"
+};
+
+static const fragment_items lte_rrc_sib12_frag_items = {
+ &ett_lte_rrc_sib12_fragment,
+ &ett_lte_rrc_sib12_fragments,
+ &hf_lte_rrc_sib12_fragments,
+ &hf_lte_rrc_sib12_fragment,
+ &hf_lte_rrc_sib12_fragment_overlap,
+ &hf_lte_rrc_sib12_fragment_overlap_conflict,
+ &hf_lte_rrc_sib12_fragment_multiple_tails,
+ &hf_lte_rrc_sib12_fragment_too_long_fragment,
+ &hf_lte_rrc_sib12_fragment_error,
+ &hf_lte_rrc_sib12_fragment_count,
+ &hf_lte_rrc_sib12_reassembled_in,
+ &hf_lte_rrc_sib12_reassembled_length,
+ &hf_lte_rrc_sib12_reassembled_data,
+ "SIB12 warning message segments"
+};
+
+/* Forward declarations */
+static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_RRCConnectionReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_1_val = {
+ "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 & 2-2 - Supported",
+ "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 & 2-2 - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_2_val = {
+ "Simultaneous CQI & ACK/NACK on PUCCH (format 2a/2b); Absolute TPC command for PUSCH; Resource alloc type 1 for PDSCH; Periodic CQI/PMI/RI report on PUCCH: Mode 2-0 & 2-1 - Supported",
+ "Simultaneous CQI & ACK/NACK on PUCCH (format 2a/2b); Absolute TPC command for PUSCH; Resource alloc type 1 for PDSCH; Periodic CQI/PMI/RI report on PUCCH: Mode 2-0 & 2-1 - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_3_val = {
+ "5bit RLC UM SN; 7bit PDCP SN - Supported",
+ "5bit RLC UM SN; 7bit PDCP SN - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_4_val = {
+ "Short DRX cycle - Supported",
+ "Short DRX cycle - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_5_val = {
+ "Long DRX cycle; DRX command MAC control element - Supported",
+ "Long DRX cycle; DRX command MAC control element - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_6_val = {
+ "Prioritised bit rate - Supported",
+ "Prioritised bit rate - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_7_val = {
+ "RLC UM - Supported",
+ "RLC UM - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_8_val = {
+ "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Supported",
+ "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_9_val = {
+ "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Supported",
+ "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Not Supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_10_val = {
+ "EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order; EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order with NACC - Supported",
+ "EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order; EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order with NACC - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_11_val = {
+ "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Supported",
+ "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_12_val = {
+ "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Supported",
+ "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_13_val = {
+ "Inter-frequency handover (within FDD or TDD) - Supported",
+ "Inter-frequency handover (within FDD or TDD) - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_14_val = {
+ "Measurement reporting event: Event A4 - Neighbour > threshold; Measurement reporting event: Event A5 - Serving < threshold1 & Neighbour > threshold2 - Supported",
+ "Measurement reporting event: Event A4 - Neighbour > threshold; Measurement reporting event: Event A5 - Serving < threshold1 & Neighbour > threshold2 - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_15_val = {
+ "Measurement reporting event: Event B1 - Neighbour > threshold - Supported",
+ "Measurement reporting event: Event B1 - Neighbour > threshold - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_16_val = {
+ "non-ANR related periodical measurement reporting - Supported",
+ "non-ANR related periodical measurement reporting - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_17_val = {
+ "ANR related intra-frequency measurement reporting events - Supported",
+ "ANR related intra-frequency measurement reporting events - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_18_val = {
+ "ANR related inter-frequency measurement reporting events - Supported",
+ "ANR related inter-frequency measurement reporting events - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_19_val = {
+ "ANR related inter-RAT measurement reporting events - Supported",
+ "ANR related inter-RAT measurement reporting events - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_20_val = {
+ "SRB1 and SRB2 for DCCH + 8x AM DRB; SRB1 and SRB2 for DCCH + 5x AM DRB + 3x UM DRB (if indicator 7 is supported) - Supported",
+ "SRB1 and SRB2 for DCCH + 8x AM DRB; SRB1 and SRB2 for DCCH + 5x AM DRB + 3x UM DRB (if indicator 7 is supported) - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_21_val = {
+ "Predefined intra- and inter-subframe frequency hopping for PUSCH with N_sb > 1; Predefined inter-subframe frequency hopping for PUSCH with N_sb > 1 - Supported",
+ "Predefined intra- and inter-subframe frequency hopping for PUSCH with N_sb > 1; Predefined inter-subframe frequency hopping for PUSCH with N_sb > 1 - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_22_val = {
+ "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
+ "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_23_val = {
+ "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
+ "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_24_val = {
+ "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
+ "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_25_val = {
+ "Inter-frequency measurements and reporting in E-UTRA connected mode - Supported",
+ "Inter-frequency measurements and reporting in E-UTRA connected mode - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_26_val = {
+ "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
+ "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_27_val = {
+ "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Supported",
+ "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_28_val = {
+ "TTI bundling - Supported",
+ "TTI bundling - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_29_val = {
+ "Semi-Persistent Scheduling - Supported",
+ "Semi-Persistent Scheduling - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_30_val = {
+ "Handover between FDD and TDD - Supported",
+ "Handover between FDD and TDD - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_31_val = {
+ "Mechanisms defined for cells broadcasting multi band information - Supported",
+ "Mechanisms defined for cells broadcasting multi band information - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_32_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_33_val = {
+ "Inter-RAT ANR features for UTRAN FDD - Supported",
+ "Inter-RAT ANR features for UTRAN FDD - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_34_val = {
+ "Inter-RAT ANR features for GERAN - Supported",
+ "Inter-RAT ANR features for GERAN - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_35_val = {
+ "Inter-RAT ANR features for 1xRTT - Supported",
+ "Inter-RAT ANR features for 1xRTT - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_36_val = {
+ "Inter-RAT ANR features for HRPD - Supported",
+ "Inter-RAT ANR features for HRPD - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_37_val = {
+ "Inter-RAT ANR features for UTRAN TDD - Supported",
+ "Inter-RAT ANR features for UTRAN TDD - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_38_val = {
+ "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH PS handover - Supported",
+ "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH PS handover - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_39_val = {
+ "UTRAN TDD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
+ "UTRAN TDD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_40_val = {
+ "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH CS handover - Supported",
+ "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH CS handover - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_41_val = {
+ "Measurement reporting event: Event B1 - Neighbour > threshold for UTRAN FDD - Supported",
+ "Measurement reporting event: Event B1 - Neighbour > threshold for UTRAN FDD - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_42_val = {
+ "DCI format 3a - Supported",
+ "DCI format 3a - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_43_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_44_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_45_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_46_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_47_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_48_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_49_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_50_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_51_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_52_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_53_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_54_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_55_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_56_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_57_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_58_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_59_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_60_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_61_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_62_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_63_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_64_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_101_val = {
+ "DMRS with OCC (orthogonal cover code) and SGH (sequence group hopping) disabling - Supported",
+ "DMRS with OCC (orthogonal cover code) and SGH (sequence group hopping) disabling - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_102_val = {
+ "Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Supported",
+ "Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_103_val = {
+ "PDSCH TM9 when up to 4 CSI reference signal ports are configured - Supported",
+ "PDSCH TM9 when up to 4 CSI reference signal ports are configured - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_104_val = {
+ "PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Supported",
+ "PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_105_val = {
+ "PUCCH RM2-0 when PDSCH TM9 is configured and RM2-1 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Supported",
+ "PUCCH RM2-0 when PDSCH TM9 is configured and RM2-1 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_106_val = {
+ "PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured - Supported",
+ "PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_107_val = {
+ "PUSCH RM2-0 when PDSCH TM9 is configured and RM2-2 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Supported",
+ "PUSCH RM2-0 when PDSCH TM9 is configured and RM2-2 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_108_val = {
+ "PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured - Supported",
+ "PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_109_val = {
+ "PUCCH RM1-1 submode 1 - Supported",
+ "PUCCH RM1-1 submode 1 - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_110_val = {
+ "PUCCH RM1-1 submode 2 - Supported",
+ "PUCCH RM1-1 submode 2 - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_111_val = {
+ "Measurement reporting trigger Event A6 - Supported",
+ "Measurement reporting trigger Event A6 - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_112_val = {
+ "SCell addition within the Handover to EUTRA procedure - Supported",
+ "SCell addition within the Handover to EUTRA procedure - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_113_val = {
+ "Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Supported",
+ "Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_114_val = {
+ "Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Supported",
+ "Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_115_val = {
+ "Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction for the serving cell / neighbour cells - Supported",
+ "Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction for the serving cell / neighbour cells - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_116_val = {
+ "Relative transmit phase continuity for spatial multiplexing in UL - Supported",
+ "Relative transmit phase continuity for spatial multiplexing in UL - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_117_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_118_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_119_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_120_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_121_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_122_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_123_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_124_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_125_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_126_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_127_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_128_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_129_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_130_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_131_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_132_val = {
+ "Undefined - Supported",
+ "Undefined - Not supported"
+};
+
+static const value_string lte_rrc_schedulingInfoSIB1_BR_r13_vals[] = {
+ { 0, "SystemInformationBlockType1-BR is not scheduled"},
+ { 1, "4 PDSCH repetitions - TBS 208 bits"},
+ { 2, "8 PDSCH repetitions - TBS 208 bits"},
+ { 3, "16 PDSCH repetitions - TBS 208 bits"},
+ { 4, "4 PDSCH repetitions - TBS 256 bits"},
+ { 5, "8 PDSCH repetitions - TBS 256 bits"},
+ { 6, "16 PDSCH repetitions - TBS 256 bits"},
+ { 7, "4 PDSCH repetitions - TBS 328 bits"},
+ { 8, "8 PDSCH repetitions - TBS 328 bits"},
+ { 9, "16 PDSCH repetitions - TBS 328 bits"},
+ { 10, "4 PDSCH repetitions - TBS 504 bits"},
+ { 11, "8 PDSCH repetitions - TBS 504 bits"},
+ { 12, "16 PDSCH repetitions - TBS 504 bits"},
+ { 13, "4 PDSCH repetitions - TBS 712 bits"},
+ { 14, "8 PDSCH repetitions - TBS 712 bits"},
+ { 15, "16 PDSCH repetitions - TBS 712 bits"},
+ { 16, "4 PDSCH repetitions - TBS 936 bits"},
+ { 17, "8 PDSCH repetitions - TBS 936 bits"},
+ { 18, "16 PDSCH repetitions - TBS 936 bits"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_schedulingInfoSIB1_BR_r13_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_schedulingInfoSIB1_BR_r13_vals);
+
+static const value_string lte_rrc_q_RxLevMin_vals[] = {
+ { -70, "-140dBm"},
+ { -69, "-138dBm"},
+ { -68, "-136dBm"},
+ { -67, "-134dBm"},
+ { -66, "-132dBm"},
+ { -65, "-130dBm"},
+ { -64, "-128dBm"},
+ { -63, "-126dBm"},
+ { -62, "-124dBm"},
+ { -61, "-122dBm"},
+ { -60, "-120dBm"},
+ { -59, "-118dBm"},
+ { -58, "-116dBm"},
+ { -57, "-114dBm"},
+ { -56, "-112dBm"},
+ { -55, "-110dBm"},
+ { -54, "-108dBm"},
+ { -53, "-106dBm"},
+ { -52, "-104dBm"},
+ { -51, "-102dBm"},
+ { -50, "-100dBm"},
+ { -49, "-98dBm"},
+ { -48, "-96dBm"},
+ { -47, "-94dBm"},
+ { -46, "-92dBm"},
+ { -45, "-90dBm"},
+ { -44, "-88dBm"},
+ { -43, "-86dBm"},
+ { -42, "-84dBm"},
+ { -41, "-82dBm"},
+ { -40, "-80dBm"},
+ { -39, "-78dBm"},
+ { -38, "-76dBm"},
+ { -37, "-74dBm"},
+ { -36, "-72dBm"},
+ { -35, "-70dBm"},
+ { -34, "-68dBm"},
+ { -33, "-66dBm"},
+ { -32, "-64dBm"},
+ { -31, "-62dBm"},
+ { -30, "-60dBm"},
+ { -29, "-58dBm"},
+ { -28, "-56dBm"},
+ { -27, "-54dBm"},
+ { -26, "-52dBm"},
+ { -25, "-50dBm"},
+ { -24, "-48dBm"},
+ { -23, "-46dBm"},
+ { -22, "-44dBm"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_q_RxLevMin_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_q_RxLevMin_vals);
+
+static const value_string lte_rrc_q_RxLevMinOffset_vals[] = {
+ { 1, "2dB"},
+ { 2, "4dB"},
+ { 3, "6dB"},
+ { 4, "8dB"},
+ { 5, "10dB"},
+ { 6, "12dB"},
+ { 7, "14dB"},
+ { 8, "16dB"},
+ { 0, NULL}
+};
+
+static const value_string lte_rrc_delta_RxLevMin_vals[] = {
+ { -8, "-16dBm"},
+ { -7, "-14dBm"},
+ { -6, "-12dBm"},
+ { -5, "-10dBm"},
+ { -4, "-8dBm"},
+ { -3, "-6dBm"},
+ { -2, "-4dBm"},
+ { -1, "-2dBm"},
+ { 0, NULL}
+};
+
+static const value_string lte_rrc_messageSize_r14_vals[] =
+{
+ { 0, "size = 0"},
+ { 1, "0 < size <= 10"},
+ { 2, "10 < size <= 12"},
+ { 3, "12 < size <= 14"},
+ { 4, "14 < size <= 17"},
+ { 5, "17 < size <= 19"},
+ { 6, "19 < size <= 22"},
+ { 7, "22 < size <= 26"},
+ { 8, "26 < size <= 31"},
+ { 9, "31 < size <= 36"},
+ { 10, "36 < size <= 42"},
+ { 11, "42 < size <= 49"},
+ { 12, "49 < size <= 57"},
+ { 13, "57 < size <= 67"},
+ { 14, "67 < size <= 78"},
+ { 15, "78 < size <= 91"},
+ { 16, "91 < size <= 107"},
+ { 17, "107 < size <= 125"},
+ { 18, "125 < size <= 146"},
+ { 19, "146 < size <= 171"},
+ { 20, "171 < size <= 200"},
+ { 21, "200 < size <= 234"},
+ { 22, "234 < size <= 274"},
+ { 23, "274 < size <= 321"},
+ { 24, "321 < size <= 376"},
+ { 25, "376 < size <= 440"},
+ { 26, "440 < size <= 515"},
+ { 27, "515 < size <= 603"},
+ { 28, "603 < size <= 706"},
+ { 29, "706 < size <= 826"},
+ { 30, "826 < size <= 967"},
+ { 31, "967 < size <= 1132"},
+ { 32, "1132 < size <= 1326"},
+ { 33, "1326 < size <= 1552"},
+ { 34, "1552 < size <= 1817"},
+ { 35, "1817 < size <= 2127"},
+ { 36, "2127 < size <= 2490"},
+ { 37, "2490 < size <= 2915"},
+ { 38, "2915 < size <= 3413"},
+ { 39, "3413 < size <= 3995"},
+ { 40, "3995 < size <= 4677"},
+ { 41, "4677 < size <= 5476"},
+ { 42, "5476 < size <= 6411"},
+ { 43, "6411 < size <= 7505"},
+ { 44, "7505 < size <= 8787"},
+ { 45, "8787 < size <= 10276"},
+ { 46, "10287 < size <= 12043"},
+ { 47, "12043 < size <= 14099"},
+ { 48, "14099 < size <= 16507"},
+ { 49, "16507 < size <= 19325"},
+ { 50, "19325 < size <= 22624"},
+ { 51, "22624 < size <= 26487"},
+ { 52, "26487 < size <= 31009"},
+ { 53, "31009 < size <= 36304"},
+ { 54, "36304 < size <= 42502"},
+ { 55, "42502 < size <= 49759"},
+ { 56, "49759 < size <= 58255"},
+ { 57, "58255 < size <= 68201"},
+ { 58, "68201 < size <= 79846"},
+ { 59, "79846 < size <= 93479"},
+ { 60, "93479 < size <= 109439"},
+ { 61, "109439 < size <= 128125"},
+ { 62, "128125 < size <= 150000"},
+ { 63, "size > 150000"},
+ { 0, NULL }
+};
+static value_string_ext lte_rrc_messageSize_r14_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_messageSize_r14_vals);
+
+static void
+lte_rrc_timeConnFailure_r10_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%ums (%u)", 100*v, v);
+}
+
+static const value_string lte_rrc_n_r12_vals[] = {
+ { 0, "0 <= Nr < 256"},
+ { 1, "256 <= Nr < 768"},
+ { 2, "768 <= Nr < 1792"},
+ { 3, "1792 <= Nr < 3840"},
+ { 4, "3840 <= Nr < 7936"},
+ { 5, "7936 <= Nr < 16128"},
+ { 6, "16128 <= Nr < 32512"},
+ { 7, "32512 <= Nr"},
+ { 0, NULL},
+};
+
+static void
+lte_rrc_m_r12_fmt(gchar *s, guint32 v)
+{
+ if (v == 255) {
+ snprintf(s, ITEM_LABEL_LENGTH, "255 <= f(Nr) (255)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%u <= f(Nr) < %u (%u)", v, v+1, v);
+ }
+}
+
+static const value_string lte_rrc_BLER_Range_r12_vals[] = {
+ { 0, "BLER < 0.1%"},
+ { 1, "0.1% <= BLER < 0.123%"},
+ { 2, "0.123% <= BLER < 0.151%"},
+ { 3, "0.151% <= BLER < 0.186%"},
+ { 4, "0.186% <= BLER < 0.229%"},
+ { 5, "0.229% <= BLER < 0.282%"},
+ { 6, "0.282% <= BLER < 0.347%"},
+ { 7, "0.347% <= BLER < 0.426%"},
+ { 8, "0.426% <= BLER < 0.525%"},
+ { 9, "0.525% <= BLER < 0.645%"},
+ { 10, "0.645% <= BLER < 0.794%"},
+ { 11, "0.794% <= BLER < 0.976%"},
+ { 12, "0.976% <= BLER < 1.201%"},
+ { 13, "1.201% <= BLER < 1.478%"},
+ { 14, "1.478% <= BLER < 1.818%"},
+ { 15, "1.818% <= BLER < 2.236%"},
+ { 16, "2.236% <= BLER < 2.751%"},
+ { 17, "2.751% <= BLER < 3.384%"},
+ { 18, "3.384% <= BLER < 4.163%"},
+ { 19, "4.163% <= BLER < 5.121%"},
+ { 20, "5.121% <= BLER < 6.300%"},
+ { 21, "6.300% <= BLER < 7.750%"},
+ { 22, "7.750% <= BLER < 9.533%"},
+ { 23, "9.533% <= BLER < 11.728%"},
+ { 24, "11.728% <= BLER < 14.427%"},
+ { 25, "14.427% <= BLER < 17.478%"},
+ { 26, "17.478% <= BLER < 21.833%"},
+ { 27, "21.833% <= BLER < 26.858%"},
+ { 28, "26.858% <= BLER < 33.040%"},
+ { 29, "33.040% <= BLER < 40.645%"},
+ { 30, "40.645% <= BLER < 50%"},
+ { 31, "50% <= BLER"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_BLER_Range_r12_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_BLER_Range_r12_vals);
+
+static const value_string lte_rrc_utra_q_RxLevMin_vals[] = {
+ { -60, "-119dBm"},
+ { -59, "-117dBm"},
+ { -58, "-115dBm"},
+ { -57, "-113dBm"},
+ { -56, "-111dBm"},
+ { -55, "-109dBm"},
+ { -54, "-107dBm"},
+ { -53, "-105dBm"},
+ { -52, "-103dBm"},
+ { -51, "-101dBm"},
+ { -50, "-99dBm"},
+ { -49, "-97dBm"},
+ { -48, "-95dBm"},
+ { -47, "-93dBm"},
+ { -46, "-91dBm"},
+ { -45, "-89dBm"},
+ { -44, "-87dBm"},
+ { -43, "-85dBm"},
+ { -42, "-83dBm"},
+ { -41, "-81dBm"},
+ { -40, "-79dBm"},
+ { -39, "-77dBm"},
+ { -38, "-75dBm"},
+ { -37, "-73dBm"},
+ { -36, "-71dBm"},
+ { -35, "-69dBm"},
+ { -34, "-67dBm"},
+ { -33, "-65dBm"},
+ { -32, "-63dBm"},
+ { -31, "-61dBm"},
+ { -30, "-59dBm"},
+ { -29, "-57dBm"},
+ { -28, "-55dBm"},
+ { -27, "-53dBm"},
+ { -26, "-51dBm"},
+ { -25, "-49dBm"},
+ { -24, "-47dBm"},
+ { -23, "-45dBm"},
+ { -22, "-43dBm"},
+ { -21, "-41dBm"},
+ { -20, "-39dBm"},
+ { -19, "-37dBm"},
+ { -18, "-35dBm"},
+ { -17, "-33dBm"},
+ { -16, "-31dBm"},
+ { -15, "-29dBm"},
+ { -14, "-27dBm"},
+ { -13, "-25dBm"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_utra_q_RxLevMin_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_q_RxLevMin_vals);
+
+static const value_string lte_rrc_geran_q_RxLevMin_vals[] = {
+ { 0 , "-115dBm"},
+ { 1 , "-113dBm"},
+ { 2 , "-111dBm"},
+ { 3 , "-109dBm"},
+ { 4 , "-107dBm"},
+ { 5 , "-105dBm"},
+ { 6 , "-103dBm"},
+ { 7 , "-101dBm"},
+ { 8 , "-99dBm"},
+ { 9 , "-97dBm"},
+ { 10, "-95dBm"},
+ { 11, "-93dBm"},
+ { 12, "-91dBm"},
+ { 13, "-89dBm"},
+ { 14, "-87dBm"},
+ { 15, "-85dBm"},
+ { 16, "-83dBm"},
+ { 17, "-81dBm"},
+ { 18, "-79dBm"},
+ { 19, "-77dBm"},
+ { 20, "-75dBm"},
+ { 21, "-73dBm"},
+ { 22, "-71dBm"},
+ { 23, "-69dBm"},
+ { 24, "-67dBm"},
+ { 25, "-65dBm"},
+ { 26, "-63dBm"},
+ { 27, "-61dBm"},
+ { 28, "-59dBm"},
+ { 29, "-57dBm"},
+ { 30, "-55dBm"},
+ { 31, "-53dBm"},
+ { 32, "-51dBm"},
+ { 33, "-49dBm"},
+ { 34, "-47dBm"},
+ { 35, "-45dBm"},
+ { 36, "-43dBm"},
+ { 37, "-41dBm"},
+ { 38, "-39dBm"},
+ { 39, "-37dBm"},
+ { 40, "-35dBm"},
+ { 41, "-33dBm"},
+ { 42, "-31dBm"},
+ { 43, "-29dBm"},
+ { 44, "-27dBm"},
+ { 45, "-25dBm"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_geran_q_RxLevMin_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_geran_q_RxLevMin_vals);
+
+static const value_string lte_rrc_nomPDSCH_RS_EPRE_Offset_vals[] = {
+ { -1, "-2dB"},
+ { 0, "0dB"},
+ { 1, "2dB"},
+ { 2, "4dB"},
+ { 3, "6dB"},
+ { 4, "8dB"},
+ { 5, "10dB"},
+ { 6, "12dB"},
+ { 0, NULL}
+};
+
+static const value_string lte_rrc_deltaPreambleMsg3_vals[] = {
+ { -1, "-2dB"},
+ { 0, "0dB"},
+ { 1, "2dB"},
+ { 2, "4dB"},
+ { 3, "6dB"},
+ { 4, "8dB"},
+ { 5, "10dB"},
+ { 6, "12dB"},
+ { 0, NULL}
+};
+
+static const value_string lte_rrc_ReselectionThreshold_vals[] = {
+ { 0 , "0dB"},
+ { 1 , "2dB"},
+ { 2 , "4dB"},
+ { 3 , "6dB"},
+ { 4 , "8dB"},
+ { 5 , "10dB"},
+ { 6 , "12dB"},
+ { 7 , "14dB"},
+ { 8 , "16dB"},
+ { 9 , "18dB"},
+ { 10, "20dB"},
+ { 11, "22dB"},
+ { 12, "24dB"},
+ { 13, "26dB"},
+ { 14, "28dB"},
+ { 15, "30dB"},
+ { 16, "32dB"},
+ { 17, "34dB"},
+ { 18, "36dB"},
+ { 19, "38dB"},
+ { 20, "40dB"},
+ { 21, "42dB"},
+ { 22, "44dB"},
+ { 23, "46dB"},
+ { 24, "48dB"},
+ { 25, "50dB"},
+ { 26, "52dB"},
+ { 27, "54dB"},
+ { 28, "56dB"},
+ { 29, "58dB"},
+ { 30, "60dB"},
+ { 31, "62dB"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_ReselectionThreshold_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_ReselectionThreshold_vals);
+
+static const value_string lte_rrc_ReselectionThreshold_NB_vals[] = {
+ { 32, "64dB"},
+ { 33, "66dB"},
+ { 34, "68dB"},
+ { 35, "70dB"},
+ { 36, "72dB"},
+ { 37, "74dB"},
+ { 38, "76dB"},
+ { 39, "78dB"},
+ { 40, "80dB"},
+ { 41, "82dB"},
+ { 42, "84dB"},
+ { 43, "86dB"},
+ { 44, "88dB"},
+ { 45, "90dB"},
+ { 46, "92dB"},
+ { 47, "94dB"},
+ { 48, "96dB"},
+ { 49, "98dB"},
+ { 50, "100dB"},
+ { 51, "102dB"},
+ { 52, "104dB"},
+ { 53, "106dB"},
+ { 54, "108dB"},
+ { 55, "110dB"},
+ { 56, "112dB"},
+ { 57, "114dB"},
+ { 58, "116dB"},
+ { 59, "118dB"},
+ { 60, "120dB"},
+ { 61, "122dB"},
+ { 62, "124dB"},
+ { 63, "126dB"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_ReselectionThreshold_NB_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_ReselectionThreshold_NB_vals);
+
+static const value_string lte_rrc_Hysteresis_vals[] = {
+ { 0 , "0dB"},
+ { 1 , "0.5dB"},
+ { 2 , "1dB"},
+ { 3 , "1.5dB"},
+ { 4 , "2dB"},
+ { 5 , "2.5dB"},
+ { 6 , "3dB"},
+ { 7 , "3.5dB"},
+ { 8 , "4dB"},
+ { 9 , "4.5dB"},
+ { 10, "5dB"},
+ { 11, "5.5dB"},
+ { 12, "6dB"},
+ { 13, "6.5dB"},
+ { 14, "7dB"},
+ { 15, "7.5dB"},
+ { 16, "8dB"},
+ { 17, "8.5dB"},
+ { 18, "9dB"},
+ { 19, "9.5dB"},
+ { 20, "10dB"},
+ { 21, "10.5dB"},
+ { 22, "11dB"},
+ { 23, "11.5dB"},
+ { 24, "12dB"},
+ { 25, "12.5dB"},
+ { 26, "13dB"},
+ { 27, "13.5dB"},
+ { 28, "14dB"},
+ { 29, "14.5dB"},
+ { 30, "15dB"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_Hysteresis_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_Hysteresis_vals);
+
+static const value_string lte_rrc_s_Measure_vals[] = {
+ { 0, "disabled"},
+ { 1, "-139dBm"},
+ { 2, "-138dBm"},
+ { 3, "-137dBm"},
+ { 4, "-136dBm"},
+ { 5, "-135dBm"},
+ { 6, "-134dBm"},
+ { 7, "-133dBm"},
+ { 8, "-132dBm"},
+ { 9, "-131dBm"},
+ { 10, "-130dBm"},
+ { 11, "-129dBm"},
+ { 12, "-128dBm"},
+ { 13, "-127dBm"},
+ { 14, "-126dBm"},
+ { 15, "-125dBm"},
+ { 16, "-124dBm"},
+ { 17, "-123dBm"},
+ { 18, "-122dBm"},
+ { 19, "-121dBm"},
+ { 20, "-120dBm"},
+ { 21, "-119dBm"},
+ { 22, "-118dBm"},
+ { 23, "-117dBm"},
+ { 24, "-116dBm"},
+ { 25, "-115dBm"},
+ { 26, "-114dBm"},
+ { 27, "-113dBm"},
+ { 28, "-112dBm"},
+ { 29, "-111dBm"},
+ { 30, "-110dBm"},
+ { 31, "-109dBm"},
+ { 32, "-108dBm"},
+ { 33, "-107dBm"},
+ { 34, "-106dBm"},
+ { 35, "-105dBm"},
+ { 36, "-104dBm"},
+ { 37, "-103dBm"},
+ { 38, "-102dBm"},
+ { 39, "-101dBm"},
+ { 40, "-100dBm"},
+ { 41, "-99dBm"},
+ { 42, "-98dBm"},
+ { 43, "-97dBm"},
+ { 44, "-96dBm"},
+ { 45, "-95dBm"},
+ { 46, "-94dBm"},
+ { 47, "-93dBm"},
+ { 48, "-92dBm"},
+ { 49, "-91dBm"},
+ { 50, "-90dBm"},
+ { 51, "-89dBm"},
+ { 52, "-88dBm"},
+ { 53, "-87dBm"},
+ { 54, "-86dBm"},
+ { 55, "-85dBm"},
+ { 56, "-84dBm"},
+ { 57, "-83dBm"},
+ { 58, "-82dBm"},
+ { 59, "-81dBm"},
+ { 60, "-80dBm"},
+ { 61, "-79dBm"},
+ { 62, "-78dBm"},
+ { 63, "-77dBm"},
+ { 64, "-76dBm"},
+ { 65, "-75dBm"},
+ { 66, "-74dBm"},
+ { 67, "-73dBm"},
+ { 68, "-72dBm"},
+ { 69, "-71dBm"},
+ { 70, "-70dBm"},
+ { 71, "-69dBm"},
+ { 72, "-68dBm"},
+ { 73, "-67dBm"},
+ { 74, "-66dBm"},
+ { 75, "-65dBm"},
+ { 76, "-64dBm"},
+ { 77, "-63dBm"},
+ { 78, "-62dBm"},
+ { 79, "-61dBm"},
+ { 80, "-60dBm"},
+ { 81, "-59dBm"},
+ { 82, "-58dBm"},
+ { 83, "-57dBm"},
+ { 84, "-56dBm"},
+ { 85, "-55dBm"},
+ { 86, "-54dBm"},
+ { 87, "-53dBm"},
+ { 88, "-52dBm"},
+ { 89, "-51dBm"},
+ { 90, "-50dBm"},
+ { 91, "-49dBm"},
+ { 92, "-48dBm"},
+ { 93, "-47dBm"},
+ { 94, "-46dBm"},
+ { 95, "-45dBm"},
+ { 96, "-44dBm"},
+ { 97, "-43dBm"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_s_Measure_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_s_Measure_vals);
+
+static const value_string lte_rrc_utra_EcN0_vals[] = {
+ { 0 , "CPICH Ec/Io < -24dB"},
+ { 1 , "-24dB <= CPICH Ec/Io < -23.5dB"},
+ { 2 , "-23.5dB <= CPICH Ec/Io < -23dB"},
+ { 3 , "-23dB <= CPICH Ec/Io < -22.5dB"},
+ { 4 , "-22.5dB <= CPICH Ec/Io < -22dB"},
+ { 5 , "-22dB <= CPICH Ec/Io < -21.5dB"},
+ { 6 , "-21.5dB <= CPICH Ec/Io < -21dB"},
+ { 7 , "-21dB <= CPICH Ec/Io < -20.5dB"},
+ { 8 , "-20.5dB <= CPICH Ec/Io < -20dB"},
+ { 9 , "-20dB <= CPICH Ec/Io < -19.5dB"},
+ { 10, "-19.5dB <= CPICH Ec/Io < -19dB"},
+ { 11, "-19dB <= CPICH Ec/Io < -18.5dB"},
+ { 12, "-18.5dB <= CPICH Ec/Io < -18dB"},
+ { 13, "-18dB <= CPICH Ec/Io < -17.5dB"},
+ { 14, "-17.5dB <= CPICH Ec/Io < -17dB"},
+ { 15, "-17dB <= CPICH Ec/Io < -16.5dB"},
+ { 16, "-16.5dB <= CPICH Ec/Io < -16dB"},
+ { 17, "-16dB <= CPICH Ec/Io < -15.5dB"},
+ { 18, "-15.5dB <= CPICH Ec/Io < -15dB"},
+ { 19, "-15dB <= CPICH Ec/Io < -14.5dB"},
+ { 20, "-14.5dB <= CPICH Ec/Io < -14dB"},
+ { 21, "-14dB <= CPICH Ec/Io < -13.5dB"},
+ { 22, "-13.5dB <= CPICH Ec/Io < -13dB"},
+ { 23, "-13dB <= CPICH Ec/Io < -12.5dB"},
+ { 24, "-12.5dB <= CPICH Ec/Io < -12dB"},
+ { 25, "-12dB <= CPICH Ec/Io < -11.5dB"},
+ { 26, "-11.5dB <= CPICH Ec/Io < -11dB"},
+ { 27, "-11dB <= CPICH Ec/Io < -10.5dB"},
+ { 28, "-10.5dB <= CPICH Ec/Io < -10dB"},
+ { 29, "-10dB <= CPICH Ec/Io < -9.5dB"},
+ { 30, "-9.5dB <= CPICH Ec/Io < -9dB"},
+ { 31, "-9dB <= CPICH Ec/Io < -8.5dB"},
+ { 32, "-8.5dB <= CPICH Ec/Io < -8dB"},
+ { 33, "-8dB <= CPICH Ec/Io < -7.5dB"},
+ { 34, "-7.5dB <= CPICH Ec/Io < -7dB"},
+ { 35, "-7dB <= CPICH Ec/Io < -6.5dB"},
+ { 36, "-6.5dB <= CPICH Ec/Io < -6dB"},
+ { 37, "-6dB <= CPICH Ec/Io < -5.5dB"},
+ { 38, "-5.5dB <= CPICH Ec/Io < -5dB"},
+ { 39, "-5dB <= CPICH Ec/Io < -4.5dB"},
+ { 40, "-4.5dB <= CPICH Ec/Io < -4dB"},
+ { 41, "-4dB <= CPICH Ec/Io < -3.5dB"},
+ { 42, "-3.5dB <= CPICH Ec/Io < -3dB"},
+ { 43, "-3dB <= CPICH Ec/Io < -2.5dB"},
+ { 44, "-2.5dB <= CPICH Ec/Io < -2dB"},
+ { 45, "-2dB <= CPICH Ec/Io < -1.5dB"},
+ { 46, "-1.5dB <= CPICH Ec/Io < -1dB"},
+ { 47, "-1dB <= CPICH Ec/Io < -0.5dB"},
+ { 48, "-0.5dB <= CPICH Ec/Io < 0dB"},
+ { 49, "0dB <= CPICH Ec/Io"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_utra_EcN0_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_EcN0_vals);
+
+static const value_string lte_rrc_utra_RSCP_vals[] = {
+ { -5, "RSCP < -120dBm"},
+ { -4, "-120dBm <= RSCP < -119dBm"},
+ { -3, "-119dBm <= RSCP < -118dBm"},
+ { -2, "-118dBm <= RSCP < -117dBm"},
+ { -1, "-117dBm <= RSCP < -116dBm"},
+ { 0, "-116dBm <= RSCP < -115dBm"},
+ { 1, "-115dBm <= RSCP < -114dBm"},
+ { 2, "-114dBm <= RSCP < -113dBm"},
+ { 3, "-113dBm <= RSCP < -112dBm"},
+ { 4, "-112dBm <= RSCP < -111dBm"},
+ { 5, "-111dBm <= RSCP < -110dBm"},
+ { 6, "-110dBm <= RSCP < -109dBm"},
+ { 7, "-109dBm <= RSCP < -108dBm"},
+ { 8, "-108dBm <= RSCP < -107dBm"},
+ { 9, "-107dBm <= RSCP < -106dBm"},
+ { 10, "-106dBm <= RSCP < -105dBm"},
+ { 11, "-105dBm <= RSCP < -104dBm"},
+ { 12, "-104dBm <= RSCP < -103dBm"},
+ { 13, "-103dBm <= RSCP < -102dBm"},
+ { 14, "-102dBm <= RSCP < -101dBm"},
+ { 15, "-101dBm <= RSCP < -100dBm"},
+ { 16, "-100dBm <= RSCP < -99dBm"},
+ { 17, "-99dBm <= RSCP < -98dBm"},
+ { 18, "-98dBm <= RSCP < -97dBm"},
+ { 19, "-97dBm <= RSCP < -96dBm"},
+ { 20, "-96dBm <= RSCP < -95dBm"},
+ { 21, "-95dBm <= RSCP < -94dBm"},
+ { 22, "-94dBm <= RSCP < -93dBm"},
+ { 23, "-93dBm <= RSCP < -92dBm"},
+ { 24, "-92dBm <= RSCP < -91dBm"},
+ { 25, "-91dBm <= RSCP < -90dBm"},
+ { 26, "-90dBm <= RSCP < -89dBm"},
+ { 27, "-89dBm <= RSCP < -88dBm"},
+ { 28, "-88dBm <= RSCP < -87dBm"},
+ { 29, "-87dBm <= RSCP < -86dBm"},
+ { 30, "-86dBm <= RSCP < -85dBm"},
+ { 31, "-85dBm <= RSCP < -84dBm"},
+ { 32, "-84dBm <= RSCP < -83dBm"},
+ { 33, "-83dBm <= RSCP < -82dBm"},
+ { 34, "-82dBm <= RSCP < -81dBm"},
+ { 35, "-81dBm <= RSCP < -80dBm"},
+ { 36, "-80dBm <= RSCP < -79dBm"},
+ { 37, "-79dBm <= RSCP < -78dBm"},
+ { 38, "-78dBm <= RSCP < -77dBm"},
+ { 39, "-77dBm <= RSCP < -76dBm"},
+ { 40, "-76dBm <= RSCP < -75dBm"},
+ { 41, "-75dBm <= RSCP < -74dBm"},
+ { 42, "-74dBm <= RSCP < -73dBm"},
+ { 43, "-73dBm <= RSCP < -72dBm"},
+ { 44, "-72dBm <= RSCP < -71dBm"},
+ { 45, "-71dBm <= RSCP < -70dBm"},
+ { 46, "-70dBm <= RSCP < -69dBm"},
+ { 47, "-69dBm <= RSCP < -68dBm"},
+ { 48, "-68dBm <= RSCP < -67dBm"},
+ { 49, "-67dBm <= RSCP < -66dBm"},
+ { 50, "-66dBm <= RSCP < -65dBm"},
+ { 51, "-65dBm <= RSCP < -64dBm"},
+ { 52, "-64dBm <= RSCP < -63dBm"},
+ { 53, "-63dBm <= RSCP < -62dBm"},
+ { 54, "-62dBm <= RSCP < -61dBm"},
+ { 55, "-61dBm <= RSCP < -60dBm"},
+ { 56, "-60dBm <= RSCP < -59dBm"},
+ { 57, "-59dBm <= RSCP < -58dBm"},
+ { 58, "-58dBm <= RSCP < -57dBm"},
+ { 59, "-57dBm <= RSCP < -56dBm"},
+ { 60, "-56dBm <= RSCP < -55dBm"},
+ { 61, "-55dBm <= RSCP < -54dBm"},
+ { 62, "-54dBm <= RSCP < -53dBm"},
+ { 63, "-53dBm <= RSCP < -52dBm"},
+ { 64, "-52dBm <= RSCP < -51dBm"},
+ { 65, "-51dBm <= RSCP < -50dBm"},
+ { 66, "-50dBm <= RSCP < -49dBm"},
+ { 67, "-49dBm <= RSCP < -48dBm"},
+ { 68, "-48dBm <= RSCP < -47dBm"},
+ { 69, "-47dBm <= RSCP < -46dBm"},
+ { 70, "-46dBm <= RSCP < -45dBm"},
+ { 71, "-45dBm <= RSCP < -44dBm"},
+ { 72, "-44dBm <= RSCP < -43dBm"},
+ { 73, "-43dBm <= RSCP < -42dBm"},
+ { 74, "-42dBm <= RSCP < -41dBm"},
+ { 75, "-41dBm <= RSCP < -40dBm"},
+ { 76, "-40dBm <= RSCP < -39dBm"},
+ { 77, "-39dBm <= RSCP < -38dBm"},
+ { 78, "-38dBm <= RSCP < -37dBm"},
+ { 79, "-37dBm <= RSCP < -36dBm"},
+ { 80, "-36dBm <= RSCP < -35dBm"},
+ { 81, "-35dBm <= RSCP < -34dBm"},
+ { 82, "-34dBm <= RSCP < -33dBm"},
+ { 83, "-33dBm <= RSCP < -32dBm"},
+ { 84, "-32dBm <= RSCP < -31dBm"},
+ { 85, "-31dBm <= RSCP < -30dBm"},
+ { 86, "-30dBm <= RSCP < -29dBm"},
+ { 87, "-29dBm <= RSCP < -28dBm"},
+ { 88, "-28dBm <= RSCP < -27dBm"},
+ { 89, "-27dBm <= RSCP < -26dBm"},
+ { 90, "-26dBm <= RSCP < -25dBm"},
+ { 91, "-25dBm <= RSCP"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_utra_RSCP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_RSCP_vals);
+
+static const value_string lte_rrc_a3_a6_c2_Offset_vals[] = {
+ { -30, "-15dB"},
+ { -29, "-14.5dB"},
+ { -28, "-14dB"},
+ { -27, "-13.5dB"},
+ { -26, "-13dB"},
+ { -25, "-12.5dB"},
+ { -24, "-12dB"},
+ { -23, "-11.5dB"},
+ { -22, "-11dB"},
+ { -21, "-10.5dB"},
+ { -20, "-10dB"},
+ { -19, "-9.5dB"},
+ { -18, "-9dB"},
+ { -17, "-8.5dB"},
+ { -16, "-8dB"},
+ { -15, "-7.5dB"},
+ { -14, "-7dB"},
+ { -13, "-6.5dB"},
+ { -12, "-6dB"},
+ { -11, "-5.5dB"},
+ { -10, "-5dB"},
+ { -9, "-4.5dB"},
+ { -8, "-4dB"},
+ { -7, "-3.5dB"},
+ { -6, "-3dB"},
+ { -5, "-2.5dB"},
+ { -4, "-2dB"},
+ { -3, "-1.5dB"},
+ { -2, "-1dB"},
+ { -1, "-0.5dB"},
+ { 0, "0dB"},
+ { 1, "0.5dB"},
+ { 2, "1dB"},
+ { 3, "1.5dB"},
+ { 4, "2dB"},
+ { 5, "2.5dB"},
+ { 6, "3dB"},
+ { 7, "3.5dB"},
+ { 8, "4dB"},
+ { 9, "4.5dB"},
+ { 10, "5dB"},
+ { 11, "5.5dB"},
+ { 12, "6dB"},
+ { 13, "6.5dB"},
+ { 14, "7dB"},
+ { 15, "7.5dB"},
+ { 16, "8dB"},
+ { 17, "8.5dB"},
+ { 18, "9dB"},
+ { 19, "9.5dB"},
+ { 20, "10dB"},
+ { 21, "10.5dB"},
+ { 22, "11dB"},
+ { 23, "11.5dB"},
+ { 24, "12dB"},
+ { 25, "12.5dB"},
+ { 26, "13dB"},
+ { 27, "13.5dB"},
+ { 28, "14dB"},
+ { 29, "14.5dB"},
+ { 30, "15dB"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_a3_a6_c2_Offset_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_a3_a6_c2_Offset_vals);
+
+static const value_string lte_rrc_threshold_RSRP_vals[] = {
+ { 0, "-140dBm"},
+ { 1, "-139dBm"},
+ { 2, "-138dBm"},
+ { 3, "-137dBm"},
+ { 4, "-136dBm"},
+ { 5, "-135dBm"},
+ { 6, "-134dBm"},
+ { 7, "-133dBm"},
+ { 8, "-132dBm"},
+ { 9, "-131dBm"},
+ { 10, "-130dBm"},
+ { 11, "-129dBm"},
+ { 12, "-128dBm"},
+ { 13, "-127dBm"},
+ { 14, "-126dBm"},
+ { 15, "-125dBm"},
+ { 16, "-124dBm"},
+ { 17, "-123dBm"},
+ { 18, "-122dBm"},
+ { 19, "-121dBm"},
+ { 20, "-120dBm"},
+ { 21, "-119dBm"},
+ { 22, "-118dBm"},
+ { 23, "-117dBm"},
+ { 24, "-116dBm"},
+ { 25, "-115dBm"},
+ { 26, "-114dBm"},
+ { 27, "-113dBm"},
+ { 28, "-112dBm"},
+ { 29, "-111dBm"},
+ { 30, "-110dBm"},
+ { 31, "-109dBm"},
+ { 32, "-108dBm"},
+ { 33, "-107dBm"},
+ { 34, "-106dBm"},
+ { 35, "-105dBm"},
+ { 36, "-104dBm"},
+ { 37, "-103dBm"},
+ { 38, "-102dBm"},
+ { 39, "-101dBm"},
+ { 40, "-100dBm"},
+ { 41, "-99dBm"},
+ { 42, "-98dBm"},
+ { 43, "-97dBm"},
+ { 44, "-96dBm"},
+ { 45, "-95dBm"},
+ { 46, "-94dBm"},
+ { 47, "-93dBm"},
+ { 48, "-92dBm"},
+ { 49, "-91dBm"},
+ { 50, "-90dBm"},
+ { 51, "-89dBm"},
+ { 52, "-88dBm"},
+ { 53, "-87dBm"},
+ { 54, "-86dBm"},
+ { 55, "-85dBm"},
+ { 56, "-84dBm"},
+ { 57, "-83dBm"},
+ { 58, "-82dBm"},
+ { 59, "-81dBm"},
+ { 60, "-80dBm"},
+ { 61, "-79dBm"},
+ { 62, "-78dBm"},
+ { 63, "-77dBm"},
+ { 64, "-76dBm"},
+ { 65, "-75dBm"},
+ { 66, "-74dBm"},
+ { 67, "-73dBm"},
+ { 68, "-72dBm"},
+ { 69, "-71dBm"},
+ { 70, "-70dBm"},
+ { 71, "-69dBm"},
+ { 72, "-68dBm"},
+ { 73, "-67dBm"},
+ { 74, "-66dBm"},
+ { 75, "-65dBm"},
+ { 76, "-64dBm"},
+ { 77, "-63dBm"},
+ { 78, "-62dBm"},
+ { 79, "-61dBm"},
+ { 80, "-60dBm"},
+ { 81, "-59dBm"},
+ { 82, "-58dBm"},
+ { 83, "-57dBm"},
+ { 84, "-56dBm"},
+ { 85, "-55dBm"},
+ { 86, "-54dBm"},
+ { 87, "-53dBm"},
+ { 88, "-52dBm"},
+ { 89, "-51dBm"},
+ { 90, "-50dBm"},
+ { 91, "-49dBm"},
+ { 92, "-48dBm"},
+ { 93, "-47dBm"},
+ { 94, "-46dBm"},
+ { 95, "-45dBm"},
+ { 96, "-44dBm"},
+ { 97, "-43dBm"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_threshold_RSRP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_threshold_RSRP_vals);
+
+static const value_string lte_rrc_threshold_RSRQ_vals[] = {
+ { 0, "-20dB"},
+ { 1, "-19.5dB"},
+ { 2, "-19dB"},
+ { 3, "-18.5dB"},
+ { 4, "-18dB"},
+ { 5, "-17.5dB"},
+ { 6, "-17dB"},
+ { 7, "-16.5dB"},
+ { 8, "-16dB"},
+ { 9, "-15.5dB"},
+ { 10, "-15dB"},
+ { 11, "-14.5dB"},
+ { 12, "-14dB"},
+ { 13, "-13.5dB"},
+ { 14, "-13dB"},
+ { 15, "-12.5dB"},
+ { 16, "-12dB"},
+ { 17, "-11.5dB"},
+ { 18, "-11dB"},
+ { 19, "-10.5dB"},
+ { 20, "-10dB"},
+ { 21, "-9.5dB"},
+ { 22, "-9dB"},
+ { 23, "-8.5dB"},
+ { 24, "-8dB"},
+ { 25, "-7.5dB"},
+ { 26, "-7dB"},
+ { 27, "-6.5dB"},
+ { 28, "-6dB"},
+ { 29, "-5.5dB"},
+ { 30, "-5dB"},
+ { 31, "-4.5dB"},
+ { 32, "-4dB"},
+ { 33, "-3.5dB"},
+ { 34, "-3dB"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_threshold_RSRQ_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_threshold_RSRQ_vals);
+
+static const value_string lte_rrc_thresholdGERAN_vals[] = {
+ { 0 , "-110dBm"},
+ { 1 , "-109dBm"},
+ { 2 , "-108dBm"},
+ { 3 , "-107dBm"},
+ { 4 , "-106dBm"},
+ { 5 , "-105dBm"},
+ { 6 , "-104dBm"},
+ { 7 , "-103dBm"},
+ { 8 , "-102dBm"},
+ { 9 , "-101dBm"},
+ { 10, "-100dBm"},
+ { 11, "-99dBm"},
+ { 12, "-98dBm"},
+ { 13, "-97dBm"},
+ { 14, "-96dBm"},
+ { 15, "-95dBm"},
+ { 16, "-94dBm"},
+ { 17, "-93dBm"},
+ { 18, "-92dBm"},
+ { 19, "-91dBm"},
+ { 20, "-90dBm"},
+ { 21, "-89dBm"},
+ { 22, "-88dBm"},
+ { 23, "-87dBm"},
+ { 24, "-86dBm"},
+ { 25, "-85dBm"},
+ { 26, "-84dBm"},
+ { 27, "-83dBm"},
+ { 28, "-82dBm"},
+ { 29, "-81dBm"},
+ { 30, "-80dBm"},
+ { 31, "-79dBm"},
+ { 32, "-78dBm"},
+ { 33, "-77dBm"},
+ { 34, "-76dBm"},
+ { 35, "-75dBm"},
+ { 36, "-74dBm"},
+ { 37, "-73dBm"},
+ { 38, "-72dBm"},
+ { 39, "-71dBm"},
+ { 40, "-70dBm"},
+ { 41, "-69dBm"},
+ { 42, "-68dBm"},
+ { 43, "-67dBm"},
+ { 44, "-66dBm"},
+ { 45, "-65dBm"},
+ { 46, "-64dBm"},
+ { 47, "-63dBm"},
+ { 48, "-62dBm"},
+ { 49, "-61dBm"},
+ { 50, "-60dBm"},
+ { 51, "-59dBm"},
+ { 52, "-58dBm"},
+ { 53, "-57dBm"},
+ { 54, "-56dBm"},
+ { 55, "-55dBm"},
+ { 56, "-54dBm"},
+ { 57, "-53dBm"},
+ { 58, "-52dBm"},
+ { 59, "-51dBm"},
+ { 60, "-50dBm"},
+ { 61, "-49dBm"},
+ { 62, "-48dBm"},
+ { 63, "-47dBm"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_thresholdGERAN_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_thresholdGERAN_vals);
+
+static const value_string lte_rrc_thresholdUTRA_EcN0_vals[] = {
+ { 0 , "-24.5dB"},
+ { 1 , "-24dB"},
+ { 2 , "-23.5dB"},
+ { 3 , "-23dB"},
+ { 4 , "-22.5dB"},
+ { 5 , "-22dB"},
+ { 6 , "-21.5dB"},
+ { 7 , "-21dB"},
+ { 8 , "-20.5dB"},
+ { 9 , "-20dB"},
+ { 10, "-19.5dB"},
+ { 11, "-19dB"},
+ { 12, "-18.5dB"},
+ { 13, "-18dB"},
+ { 14, "-17.5dB"},
+ { 15, "-17dB"},
+ { 16, "-16.5dB"},
+ { 17, "-16dB"},
+ { 18, "-15.5dB"},
+ { 19, "-15dB"},
+ { 20, "-14.5dB"},
+ { 21, "-14dB"},
+ { 22, "-13.5dB"},
+ { 23, "-13dB"},
+ { 24, "-12.5dB"},
+ { 25, "-12dB"},
+ { 26, "-11.5dB"},
+ { 27, "-11dB"},
+ { 28, "-10.5dB"},
+ { 29, "-10dB"},
+ { 30, "-9.5dB"},
+ { 31, "-9dB"},
+ { 32, "-8.5dB"},
+ { 33, "-8dB"},
+ { 34, "-7.5dB"},
+ { 35, "-7dB"},
+ { 36, "-6.5dB"},
+ { 37, "-6dB"},
+ { 38, "-5.5dB"},
+ { 39, "-5dB"},
+ { 40, "-4.5dB"},
+ { 41, "-4dB"},
+ { 42, "-3.5dB"},
+ { 43, "-3dB"},
+ { 44, "-2.5dB"},
+ { 45, "-2dB"},
+ { 46, "-1.5dB"},
+ { 47, "-1dB"},
+ { 48, "-0.5dB"},
+ { 49, "0dB"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_thresholdUTRA_EcN0_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_thresholdUTRA_EcN0_vals);
+
+static const value_string lte_rrc_thresholdUTRA_RSCP_vals[] = {
+ { -5, "-120dBm"},
+ { -4, "-119dBm"},
+ { -3, "-118dBm"},
+ { -2, "-117dBm"},
+ { -1, "-116dBm"},
+ { 0, "-115dBm"},
+ { 1, "-114dBm"},
+ { 2, "-113dBm"},
+ { 3, "-112dBm"},
+ { 4, "-111dBm"},
+ { 5, "-110dBm"},
+ { 6, "-109dBm"},
+ { 7, "-108dBm"},
+ { 8, "-107dBm"},
+ { 9, "-106dBm"},
+ { 10, "-105dBm"},
+ { 11, "-104dBm"},
+ { 12, "-103dBm"},
+ { 13, "-102dBm"},
+ { 14, "-101dBm"},
+ { 15, "-100dBm"},
+ { 16, "-99dBm"},
+ { 17, "-98dBm"},
+ { 18, "-97dBm"},
+ { 19, "-96dBm"},
+ { 20, "-95dBm"},
+ { 21, "-94dBm"},
+ { 22, "-93dBm"},
+ { 23, "-92dBm"},
+ { 24, "-91dBm"},
+ { 25, "-90dBm"},
+ { 26, "-89dBm"},
+ { 27, "-88dBm"},
+ { 28, "-87dBm"},
+ { 29, "-86dBm"},
+ { 30, "-85dBm"},
+ { 31, "-84dBm"},
+ { 32, "-83dBm"},
+ { 33, "-82dBm"},
+ { 34, "-81dBm"},
+ { 35, "-80dBm"},
+ { 36, "-79dBm"},
+ { 37, "-78dBm"},
+ { 38, "-77dBm"},
+ { 39, "-76dBm"},
+ { 40, "-75dBm"},
+ { 41, "-74dBm"},
+ { 42, "-73dBm"},
+ { 43, "-72dBm"},
+ { 44, "-71dBm"},
+ { 45, "-70dBm"},
+ { 46, "-69dBm"},
+ { 47, "-68dBm"},
+ { 48, "-67dBm"},
+ { 49, "-66dBm"},
+ { 50, "-65dBm"},
+ { 51, "-64dBm"},
+ { 52, "-63dBm"},
+ { 53, "-62dBm"},
+ { 54, "-61dBm"},
+ { 55, "-60dBm"},
+ { 56, "-59dBm"},
+ { 57, "-58dBm"},
+ { 58, "-57dBm"},
+ { 59, "-56dBm"},
+ { 60, "-55dBm"},
+ { 61, "-54dBm"},
+ { 62, "-53dBm"},
+ { 63, "-52dBm"},
+ { 64, "-51dBm"},
+ { 65, "-50dBm"},
+ { 66, "-49dBm"},
+ { 67, "-48dBm"},
+ { 68, "-47dBm"},
+ { 69, "-46dBm"},
+ { 70, "-45dBm"},
+ { 71, "-44dBm"},
+ { 72, "-43dBm"},
+ { 73, "-42dBm"},
+ { 74, "-41dBm"},
+ { 75, "-40dBm"},
+ { 76, "-39dBm"},
+ { 77, "-38dBm"},
+ { 78, "-37dBm"},
+ { 79, "-36dBm"},
+ { 80, "-35dBm"},
+ { 81, "-34dBm"},
+ { 82, "-33dBm"},
+ { 83, "-32dBm"},
+ { 84, "-31dBm"},
+ { 85, "-30dBm"},
+ { 86, "-29dBm"},
+ { 87, "-28dBm"},
+ { 88, "-27dBm"},
+ { 89, "-26dBm"},
+ { 90, "-25dBm"},
+ { 91, "-24dBm"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_thresholdUTRA_RSCP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_thresholdUTRA_RSCP_vals);
+
+static const value_string lte_rrc_RSRP_Range_vals[] = {
+ { 0, "RSRP < -140dBm"},
+ { 1, "-140dBm <= RSRP < -139dBm"},
+ { 2, "-139dBm <= RSRP < -138dBm"},
+ { 3, "-138dBm <= RSRP < -137dBm"},
+ { 4, "-137dBm <= RSRP < -136dBm"},
+ { 5, "-136dBm <= RSRP < -135dBm"},
+ { 6, "-135dBm <= RSRP < -134dBm"},
+ { 7, "-134dBm <= RSRP < -133dBm"},
+ { 8, "-133dBm <= RSRP < -132dBm"},
+ { 9, "-132dBm <= RSRP < -131dBm"},
+ { 10, "-131dBm <= RSRP < -130dBm"},
+ { 11, "-130dBm <= RSRP < -129dBm"},
+ { 12, "-129dBm <= RSRP < -128dBm"},
+ { 13, "-128dBm <= RSRP < -127dBm"},
+ { 14, "-127dBm <= RSRP < -126dBm"},
+ { 15, "-126dBm <= RSRP < -125dBm"},
+ { 16, "-125dBm <= RSRP < -124dBm"},
+ { 17, "-124dBm <= RSRP < -123dBm"},
+ { 18, "-123dBm <= RSRP < -122dBm"},
+ { 19, "-122dBm <= RSRP < -121dBm"},
+ { 20, "-121dBm <= RSRP < -120dBm"},
+ { 21, "-120dBm <= RSRP < -119dBm"},
+ { 22, "-119dBm <= RSRP < -118dBm"},
+ { 23, "-118dBm <= RSRP < -117dBm"},
+ { 24, "-117dBm <= RSRP < -116dBm"},
+ { 25, "-116dBm <= RSRP < -115dBm"},
+ { 26, "-115dBm <= RSRP < -114dBm"},
+ { 27, "-114dBm <= RSRP < -113dBm"},
+ { 28, "-113dBm <= RSRP < -112dBm"},
+ { 29, "-112dBm <= RSRP < -111dBm"},
+ { 30, "-111dBm <= RSRP < -110dBm"},
+ { 31, "-110dBm <= RSRP < -109dBm"},
+ { 32, "-109dBm <= RSRP < -108dBm"},
+ { 33, "-108dBm <= RSRP < -107dBm"},
+ { 34, "-107dBm <= RSRP < -106dBm"},
+ { 35, "-106dBm <= RSRP < -105dBm"},
+ { 36, "-105dBm <= RSRP < -104dBm"},
+ { 37, "-104dBm <= RSRP < -103dBm"},
+ { 38, "-103dBm <= RSRP < -102dBm"},
+ { 39, "-102dBm <= RSRP < -101dBm"},
+ { 40, "-101dBm <= RSRP < -100dBm"},
+ { 41, "-100dBm <= RSRP < -99dBm"},
+ { 42, "-99dBm <= RSRP < -98dBm"},
+ { 43, "-98dBm <= RSRP < -97dBm"},
+ { 44, "-97dBm <= RSRP < -96dBm"},
+ { 45, "-96dBm <= RSRP < -95dBm"},
+ { 46, "-95dBm <= RSRP < -94dBm"},
+ { 47, "-94dBm <= RSRP < -93dBm"},
+ { 48, "-93dBm <= RSRP < -92dBm"},
+ { 49, "-92dBm <= RSRP < -91dBm"},
+ { 50, "-91dBm <= RSRP < -90dBm"},
+ { 51, "-90dBm <= RSRP < -89dBm"},
+ { 52, "-89dBm <= RSRP < -88dBm"},
+ { 53, "-88dBm <= RSRP < -87dBm"},
+ { 54, "-87dBm <= RSRP < -86dBm"},
+ { 55, "-86dBm <= RSRP < -85dBm"},
+ { 56, "-85dBm <= RSRP < -84dBm"},
+ { 57, "-84dBm <= RSRP < -83dBm"},
+ { 58, "-83dBm <= RSRP < -82dBm"},
+ { 59, "-82dBm <= RSRP < -81dBm"},
+ { 60, "-81dBm <= RSRP < -80dBm"},
+ { 61, "-80dBm <= RSRP < -79dBm"},
+ { 62, "-79dBm <= RSRP < -78dBm"},
+ { 63, "-78dBm <= RSRP < -77dBm"},
+ { 64, "-77dBm <= RSRP < -76dBm"},
+ { 65, "-76dBm <= RSRP < -75dBm"},
+ { 66, "-75dBm <= RSRP < -74dBm"},
+ { 67, "-74dBm <= RSRP < -73dBm"},
+ { 68, "-73dBm <= RSRP < -72dBm"},
+ { 69, "-72dBm <= RSRP < -71dBm"},
+ { 70, "-71dBm <= RSRP < -70dBm"},
+ { 71, "-70dBm <= RSRP < -69dBm"},
+ { 72, "-69dBm <= RSRP < -68dBm"},
+ { 73, "-68dBm <= RSRP < -67dBm"},
+ { 74, "-67dBm <= RSRP < -66dBm"},
+ { 75, "-66dBm <= RSRP < -65dBm"},
+ { 76, "-65dBm <= RSRP < -64dBm"},
+ { 77, "-64dBm <= RSRP < -63dBm"},
+ { 78, "-63dBm <= RSRP < -62dBm"},
+ { 79, "-62dBm <= RSRP < -61dBm"},
+ { 80, "-61dBm <= RSRP < -60dBm"},
+ { 81, "-60dBm <= RSRP < -59dBm"},
+ { 82, "-59dBm <= RSRP < -58dBm"},
+ { 83, "-58dBm <= RSRP < -57dBm"},
+ { 84, "-57dBm <= RSRP < -56dBm"},
+ { 85, "-56dBm <= RSRP < -55dBm"},
+ { 86, "-55dBm <= RSRP < -54dBm"},
+ { 87, "-54dBm <= RSRP < -53dBm"},
+ { 88, "-53dBm <= RSRP < -52dBm"},
+ { 89, "-52dBm <= RSRP < -51dBm"},
+ { 90, "-51dBm <= RSRP < -50dBm"},
+ { 91, "-50dBm <= RSRP < -49dBm"},
+ { 92, "-49dBm <= RSRP < -48dBm"},
+ { 93, "-48dBm <= RSRP < -47dBm"},
+ { 94, "-47dBm <= RSRP < -46dBm"},
+ { 95, "-46dBm <= RSRP < -45dBm"},
+ { 96, "-45dBm <= RSRP < -44dBm"},
+ { 97, "-44dBm <= RSRP"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_RSRP_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_RSRP_Range_vals);
+
+static const value_string lte_rrc_RSRP_Range_v1360_vals[] = {
+ { -17, "RSRP < -156dBm"},
+ { -16, "-156dBm <= RSRP < -155dBm"},
+ { -15, "-155dBm <= RSRP < -154dBm"},
+ { -14, "-154dBm <= RSRP < -153dBm"},
+ { -13, "-153dBm <= RSRP < -152dBm"},
+ { -12, "-152dBm <= RSRP < -151dBm"},
+ { -11, "-151dBm <= RSRP < -150dBm"},
+ { -10, "-150dBm <= RSRP < -149dBm"},
+ { -9, "-149dBm <= RSRP < -148dBm"},
+ { -8, "-148dBm <= RSRP < -147dBm"},
+ { -7, "-147dBm <= RSRP < -146dBm"},
+ { -6, "-146dBm <= RSRP < -145dBm"},
+ { -5, "-145dBm <= RSRP < -144dBm"},
+ { -4, "-144dBm <= RSRP < -143dBm"},
+ { -3, "-143dBm <= RSRP < -142dBm"},
+ { -2, "-142dBm <= RSRP < -141dBm"},
+ { -1, "-141dBm <= RSRP < -140dBm"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_RSRP_Range_v1360_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_RSRP_Range_v1360_vals);
+
+static const value_string lte_rrc_RSRP_RangeSL_vals[] = {
+ { 0, "-infinity"},
+ { 1, "-115dBm"},
+ { 2, "-110dBm"},
+ { 3, "-105dBm"},
+ { 4, "-100dBm"},
+ { 5, "-95dBm"},
+ { 6, "-90dBm"},
+ { 7, "-85dBm"},
+ { 8, "-80dBm"},
+ { 9, "-75dBm"},
+ { 10, "-70dBm"},
+ { 11, "-65dBm"},
+ { 12, "-60dBm"},
+ { 13, "+infinity"},
+ { 0, NULL}
+};
+
+static const value_string lte_rrc_RSRP_RangeSL2_vals[] = {
+ { 0, "-infinity"},
+ { 1, "-110dBm"},
+ { 2, "-100dBm"},
+ { 3, "-90dBm"},
+ { 4, "-80dBm"},
+ { 5, "-70dBm"},
+ { 6, "-60dBm"},
+ { 7, "+infinity"},
+ { 0, NULL}
+};
+
+#if 0
+static const value_string lte_rrc_RSRP_RangeSL3_vals[] = {
+ { 0, "-110dBm"},
+ { 1, "-105dBm"},
+ { 2, "-100dBm"},
+ { 3, "-95dBm"},
+ { 4, "-90dBm"},
+ { 5, "-85dBm"},
+ { 6, "-80dBm"},
+ { 7, "-75dBm"},
+ { 8, "-70dBm"},
+ { 9, "-65dBm"},
+ { 10, "-60dBm"},
+ { 11, "+infinity"},
+ { 0, NULL}
+};
+#endif
+
+static const value_string lte_rrc_RSRP_RangeSL4_vals[] = {
+ { 0, "-130dBm"},
+ { 1, "-128dBm"},
+ { 2, "-126dBm"},
+ { 3, "-124dBm"},
+ { 4, "-122dBm"},
+ { 5, "-120dBm"},
+ { 6, "-118dBm"},
+ { 7, "-116dBm"},
+ { 8, "-114dBm"},
+ { 9, "-112dBm"},
+ { 10, "-110dBm"},
+ { 11, "-108dBm"},
+ { 12, "-106dBm"},
+ { 13, "-104dBm"},
+ { 14, "-102dBm"},
+ { 15, "-100dBm"},
+ { 16, "-98dBm"},
+ { 17, "-96dBm"},
+ { 18, "-94dBm"},
+ { 19, "-92dBm"},
+ { 20, "-90dBm"},
+ { 21, "-88dBm"},
+ { 22, "-86dBm"},
+ { 23, "-84dBm"},
+ { 24, "-82dBm"},
+ { 25, "-80dBm"},
+ { 26, "-78dBm"},
+ { 27, "-76dBm"},
+ { 28, "-74dBm"},
+ { 29, "-72dBm"},
+ { 30, "-70dBm"},
+ { 31, "-68dBm"},
+ { 32, "-66dBm"},
+ { 33, "-64dBm"},
+ { 34, "-62dBm"},
+ { 35, "-60dBm"},
+ { 36, "-58dBm"},
+ { 37, "-56dBm"},
+ { 38, "-54dBm"},
+ { 39, "-52dBm"},
+ { 40, "-50dBm"},
+ { 41, "-48dBm"},
+ { 42, "-46dBm"},
+ { 43, "-44dBm"},
+ { 44, "-42dBm"},
+ { 45, "-40dBm"},
+ { 46, "-38dBm"},
+ { 47, "-36dBm"},
+ { 48, "-34dBm"},
+ { 49, "+infinity"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_RSRP_RangeSL4_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_RSRP_RangeSL4_vals);
+
+static void
+lte_rrc_RSRP_RangeNR_r15_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRP < -156dBm (0)");
+ } else if (v == 126) {
+ snprintf(s, ITEM_LABEL_LENGTH, "-31dBm <= SS-RSRP (126)");
+ } else if (v == 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Infinity (127)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SS-RSRP < %ddBm (%u)", -157+v, -156+v, v);
+ }
+}
+
+static const value_string lte_rrc_RSRQ_Range_vals[] = {
+ {-34, "RSRQ < -36dB"},
+ {-33, "-36dB <= RSRQ < -35.5dB"},
+ {-32, "-35.5dB <= RSRQ < -35dB"},
+ {-31, "-35dB <= RSRQ < -34.5dB"},
+ {-30, "-34.5dB <= RSRQ < -34dB"},
+ {-29, "-34dB <= RSRQ < -33.5dB"},
+ {-28, "-33.5dB <= RSRQ < -33dB"},
+ {-27, "-33dB <= RSRQ < -32.5dB"},
+ {-26, "-32.5dB <= RSRQ < -32dB"},
+ {-25, "-32dB <= RSRQ < -31.5dB"},
+ {-24, "-31.5dB <= RSRQ < -31dB"},
+ {-23, "-31dB <= RSRQ < -30.5dB"},
+ {-22, "-30.5dB <= RSRQ < -30dB"},
+ {-21, "-30dB <= RSRQ < -29.5dB"},
+ {-20, "-29.5dB <= RSRQ < -29dB"},
+ {-19, "-29dB <= RSRQ < -28.5dB"},
+ {-18, "-28.5dB <= RSRQ < -28dB"},
+ {-17, "-28dB <= RSRQ < -27.5dB"},
+ {-16, "-27.5dB <= RSRQ < -27dB"},
+ {-15, "-27dB <= RSRQ < -26.5dB"},
+ {-14, "-26.5dB <= RSRQ < -26dB"},
+ {-13, "-26dB <= RSRQ < -25.5dB"},
+ {-12, "-25.5dB <= RSRQ < -25dB"},
+ {-11, "-25dB <= RSRQ < -24.5dB"},
+ {-10, "-24.5dB <= RSRQ < -24dB"},
+ { -9, "-24dB <= RSRQ < -23.5dB"},
+ { -8, "-23.5dB <= RSRQ < -23dB"},
+ { -7, "-23dB <= RSRQ < -22.5dB"},
+ { -6, "-22.5dB <= RSRQ < -22dB"},
+ { -5, "-22dB <= RSRQ < -21.5dB"},
+ { -4, "-21.5dB <= RSRQ < -21dB"},
+ { -3, "-21dB <= RSRQ < -20.5dB"},
+ { -2, "-20.5dB <= RSRQ < -20dB"},
+ { -1, "-20dB <= RSRQ < -19.5dB"},
+ { 0, "RSRQ < -19.5dB"},
+ { 1, "-19.5dB <= RSRQ < -19dB"},
+ { 2, "-19dB <= RSRQ < -18.5dB"},
+ { 3, "-18.5dB <= RSRQ < -18dB"},
+ { 4, "-18dB <= RSRQ < -17.5dB"},
+ { 5, "-17.5dB <= RSRQ < -17dB"},
+ { 6, "-17dB <= RSRQ < -16.5dB"},
+ { 7, "-16.5dB <= RSRQ < -16dB"},
+ { 8, "-16dB <= RSRQ < -15.5dB"},
+ { 9, "-15.5dB <= RSRQ < -15dB"},
+ { 10, "-15dB <= RSRQ < -14.5dB"},
+ { 11, "-14.5dB <= RSRQ < -14dB"},
+ { 12, "-14dB <= RSRQ < -13.5dB"},
+ { 13, "-13.5dB <= RSRQ < -13dB"},
+ { 14, "-13dB <= RSRQ < -12.5dB"},
+ { 15, "-12.5dB <= RSRQ < -12dB"},
+ { 16, "-12dB <= RSRQ < -11.5dB"},
+ { 17, "-11.5dB <= RSRQ < -11dB"},
+ { 18, "-11dB <= RSRQ < -10.5dB"},
+ { 19, "-10.5dB <= RSRQ < -10dB"},
+ { 20, "-10dB <= RSRQ < -9.5dB"},
+ { 21, "-9.5dB <= RSRQ < -9dB"},
+ { 22, "-9dB <= RSRQ < -8.5dB"},
+ { 23, "-8.5dB <= RSRQ < -8dB"},
+ { 24, "-8dB <= RSRQ < -7.5dB"},
+ { 25, "-7.5dB <= RSRQ < -7dB"},
+ { 26, "-7dB <= RSRQ < -6.5dB"},
+ { 27, "-6.5dB <= RSRQ < -6dB"},
+ { 28, "-6dB <= RSRQ < -5.5dB"},
+ { 29, "-5.5dB <= RSRQ < -5dB"},
+ { 30, "-5dB <= RSRQ < -4.5dB"},
+ { 31, "-4.5dB <= RSRQ < -4dB"},
+ { 32, "-4dB <= RSRQ < -3.5dB"},
+ { 33, "-3.5dB <= RSRQ < -3dB"},
+ { 34, "-3dB <= RSRQ"},
+ { 35, "-3dB <= RSRQ < -2.5dB"},
+ { 36, "-2.5dB <= RSRQ < -2dB"},
+ { 37, "-2dB <= RSRQ < -1.5dB"},
+ { 38, "-1.5dB <= RSRQ < -1dB"},
+ { 39, "-1dB <= RSRQ < -0.5dB"},
+ { 40, "-0.5dB <= RSRQ < 0dB"},
+ { 41, "0dB <= RSRQ < 0.5dB"},
+ { 42, "0.5dB <= RSRQ < 1dB"},
+ { 43, "1dB <= RSRQ < 1.5dB"},
+ { 44, "1.5dB <= RSRQ < 2dB"},
+ { 45, "2dB <= RSRQ < 2.5dB"},
+ { 46, "2.5dB <= RSRQ"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_RSRQ_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_RSRQ_Range_vals);
+
+static void
+lte_rrc_RSRQ_RangeNR_r15_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRQ < -43dB (0)");
+ } else if (v == 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "20dB < SS-RSRQ (127)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-RSRQ < %.1fdB (%u)", (((float)v-1)/2)-43, ((float)v/2)-43, v);
+ }
+}
+
+static const value_string lte_rrc_MBSFN_RSRQ_Range_vals[] = {
+ { 0, "RSRQ < -23dB"},
+ { 1, "-23dB <= RSRQ < -22.5dB"},
+ { 2, "-22.5dB <= RSRQ < -22dB"},
+ { 3, "-22dB <= RSRQ < -21.5dB"},
+ { 4, "-21.5dB <= RSRQ < -21dB"},
+ { 5, "-21dB <= RSRQ < -20.5dB"},
+ { 6, "-20.5dB <= RSRQ < -20dB"},
+ { 7, "-20dB <= RSRQ < -19.5dB"},
+ { 8, "-19.5dB <= RSRQ < -19dB"},
+ { 9, "-19dB <= RSRQ < -18.5dB"},
+ { 10, "-18.5dB <= RSRQ < -18dB"},
+ { 11, "-18dB <= RSRQ < -17.5dB"},
+ { 12, "-17.5dB <= RSRQ < -17dB"},
+ { 13, "-17dB <= RSRQ < -16.5dB"},
+ { 14, "-16.5dB <= RSRQ < -16dB"},
+ { 15, "-16dB <= RSRQ < -15.5dB"},
+ { 16, "-15.5dB <= RSRQ < -15dB"},
+ { 17, "-15dB <= RSRQ < -14.5dB"},
+ { 18, "-14.5dB <= RSRQ < -14dB"},
+ { 19, "-14dB <= RSRQ < -13.5dB"},
+ { 20, "-13.5dB <= RSRQ < -13dB"},
+ { 21, "-13dB <= RSRQ < -12.5dB"},
+ { 22, "-12.5dB <= RSRQ < -12dB"},
+ { 23, "-12dB <= RSRQ < -11.5dB"},
+ { 24, "-11.5dB <= RSRQ < -11dB"},
+ { 25, "-11dB <= RSRQ < -10.5dB"},
+ { 26, "-10.5dB <= RSRQ < -10dB"},
+ { 27, "-10dB <= RSRQ < -9.5dB"},
+ { 28, "-9.5dB <= RSRQ < -9dB"},
+ { 29, "-9dB <= RSRQ < -8.5dB"},
+ { 30, "-8.5dB <= RSRQ < -8dB"},
+ { 31, "-8dB <= RSRQ"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_MBSFN_RSRQ_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_MBSFN_RSRQ_Range_vals);
+
+static void
+lte_rrc_availableAdmissionCapacityWLAN_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%uus/s (%u)", 32*v, v);
+}
+
+static void
+lte_rrc_ue_RxTxTimeDiffResult_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "T < 2Ts (0)");
+ } else if (v < 2048) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", v*2, (v+1)*2, v);
+ } else if (v < 4095) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", (v*8)-12288, ((v+1)*8)-12288, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "20472Ts <= T (4095)");
+ }
+}
+
+static const true_false_string lte_rrc_duration_val = {
+ "indefinite",
+ "single"
+};
+
+static const value_string lte_rrc_eab_category_vals[] = {
+ { 0, "a - all UEs" },
+ { 1, "b - UEs not in their HPLMN/EHPLMN" },
+ { 2, "c - UEs not in the most preferred PLMN of the country where they are roaming in EF OPLMNwACT list, nor in their HPLMN/EHPLMN" },
+ { 0, NULL }
+};
+
+static const value_string lte_rrc_daylightSavingTime_vals[] = {
+ { 0, "No adjustment for Daylight Saving Time"},
+ { 1, "+1 hour adjustment for Daylight Saving Time"},
+ { 2, "+2 hours adjustment for Daylight Saving Time"},
+ { 3, "Reserved"},
+ { 0, NULL},
+};
+
+static const value_string lte_rrc_neighCellConfig_vals[] = {
+ { 0, "Not all neighbour cells have the same MBSFN subframe allocation as serving cell"},
+ { 1, "No MBSFN subframes are present in all neighbour cells"},
+ { 2, "The MBSFN subframe allocations of all neighbour cells are identical to or subsets of that in the serving cell"},
+ { 3, "Different UL/DL allocation in neighbouring cells for TDD compared to the serving cell"},
+ { 0, NULL},
+};
+
+static const value_string lte_rrc_messageIdentifier_vals[] = {
+ { 0x03e8, "LCS CBS Message Identifier for E-OTD Assistance Data message"},
+ { 0x03e9, "LCS CBS Message Identifier for DGPS Correction Data message"},
+ { 0x03ea, "LCS CBS Message Identifier for GPS Ephemeris and Clock Correction Data message"},
+ { 0x03eb, "LCS CBS Message Identifier for GPS Almanac and Other Data message"},
+ { 0x1100, "ETWS Identifier for earthquake warning message"},
+ { 0x1101, "ETWS Identifier for tsunami warning message"},
+ { 0x1102, "ETWS Identifier for earthquake and tsunami combined warning message"},
+ { 0x1103, "ETWS Identifier for test message"},
+ { 0x1104, "ETWS Identifier for messages related to other emergency types"},
+ { 0x1105, "ETWS Identifier for future extension"},
+ { 0x1106, "ETWS Identifier for future extension"},
+ { 0x1107, "ETWS Identifier for future extension"},
+ { 0x1112, "CMAS Identifier for CMAS Presidential Level Alerts"},
+ { 0x1113, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Observed"},
+ { 0x1114, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Likely"},
+ { 0x1115, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Observed"},
+ { 0x1116, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Likely"},
+ { 0x1117, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Observed"},
+ { 0x1118, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Likely"},
+ { 0x1119, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Observed"},
+ { 0x111a, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Likely"},
+ { 0x111b, "CMAS Identifier for Child Abduction Emergency (or Amber Alert)"},
+ { 0x111c, "CMAS Identifier for the Required Monthly Test"},
+ { 0x111d, "CMAS Identifier for CMAS Exercise"},
+ { 0x111e, "CMAS Identifier for operator defined use"},
+ { 0x111f, "CMAS Identifier for CMAS Presidential Level Alerts for additional languages"},
+ { 0x1120, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Observed for additional languages"},
+ { 0x1121, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Likely for additional languages"},
+ { 0x1122, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Observed for additional languages"},
+ { 0x1123, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Likely for additional languages"},
+ { 0x1124, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Observed for additional languages"},
+ { 0x1125, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Likely for additional languages"},
+ { 0x1126, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Observed for additional languages"},
+ { 0x1127, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Likely for additional languages"},
+ { 0x1128, "CMAS Identifier for Child Abduction Emergency (or Amber Alert) for additional languages"},
+ { 0x1129, "CMAS Identifier for the Required Monthly Test for additional languages"},
+ { 0x112a, "CMAS Identifier for CMAS Exercise for additional languages"},
+ { 0x112b, "CMAS Identifier for operator defined use for additional languages"},
+ { 0x112c, "CMAS CBS Message Identifier for CMAS Public Safety Alerts"},
+ { 0x112d, "CMAS CBS Message Identifier for CMAS Public Safety Alerts for additional languages"},
+ { 0x112e, "CMAS CBS Message Identifier for CMAS State/Local WEA Test"},
+ { 0x112f, "CMAS CBS Message Identifier for CMAS State/Local WEA Test for additional languages"},
+ { 0x1130, "CMAS CBS Message Identifier for geo-fencing trigger messages"},
+ { 0x1131, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality"},
+ { 0x1132, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when an earthquake occurs"},
+ { 0x1133, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a volcanic eruption occurs"},
+ { 0x1134, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is water (e.g. flood, typhoon, hurricane or tsunami) occurs"},
+ { 0x1135, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is fire (e.g. forest fire or building fire) occurs"},
+ { 0x1136, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is pressure (e.g. landslide or avalanche) occurs"},
+ { 0x1137, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is wind (e.g. tornado or gale) occurs"},
+ { 0x1138, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is dust (e.g. yellow dust or sandstorm) occurs"},
+ { 0x1139, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is chemical hazard (e.g. radiation leak or toxic substance leak) occurs"},
+ { 0x113a, "Non-ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when an epidemic occurs"},
+ { 0x113b, "Non-ETWS CBS Message Identifier for test message dedicated to UEs with no user interface and with ePWS functionality"},
+ { 0x113c, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality"},
+ { 0x113d, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when an earthquake occurs"},
+ { 0x113e, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a volcanic eruption occurs"},
+ { 0x113f, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is water (e.g. flood, typhoon, hurricane or tsunami) occurs"},
+ { 0x1140, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is fire (e.g. forest fire or building fire) occurs"},
+ { 0x1141, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is pressure (e.g. landslide or avalanche) occurs"},
+ { 0x1142, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is wind (e.g. tornado or gale) occurs"},
+ { 0x1143, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is dust (e.g. yellow dust or sandstorm) occurs"},
+ { 0x1144, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when a disaster whose characteristic is chemical hazard (e.g. radiation leak or toxic substance leak) occurs"},
+ { 0x1145, "ETWS CBS Message Identifier for warning message dedicated to UEs with no user interface and with ePWS functionality when an epidemic occurs"},
+ { 0x1146, "ETWS CBS Message Identifier for test message dedicated to UEs with no user interface and with ePWS functionality"},
+ { 0x1900, "EU-Info Message Identifier for the local language"},
+ { 0, NULL},
+};
+value_string_ext lte_rrc_messageIdentifier_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_messageIdentifier_vals);
+
+static const value_string lte_rrc_serialNumber_gs_vals[] = {
+ { 0, "Display mode immediate, cell wide"},
+ { 1, "Display mode normal, PLMN wide"},
+ { 2, "Display mode normal, tracking area wide"},
+ { 3, "Display mode normal, cell wide"},
+ { 0, NULL},
+};
+
+static const value_string lte_rrc_warningType_vals[] = {
+ { 0, "Earthquake"},
+ { 1, "Tsunami"},
+ { 2, "Earthquake and Tsunami"},
+ { 3, "Test"},
+ { 4, "Other"},
+ { 0, NULL},
+};
+
+static const true_false_string lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1_val = {
+ "SCell DL subframes are a subset or superset of PCell by SIB1 configuration - Supported",
+ "SCell DL subframes are a subset or superset of PCell by SIB1 configuration - Not supported",
+};
+
+static const true_false_string lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2_val = {
+ "SCell DL subframes are neither superset nor subset of PCell by SIB1 configuration - Supported",
+ "SCell DL subframes are neither superset nor subset of PCell by SIB1 configuration - Not supported",
+};
+
+static const true_false_string lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1_val = {
+ "TDD PCell - Supported",
+ "TDD PCell - Not supported"
+};
+
+static const true_false_string lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2_val = {
+ "FDD PCell - Supported",
+ "FDD PCell - Not supported"
+};
+
+static const true_false_string hf_lte_rrc_aperiodicCSI_Reporting_r13_bit1_val = {
+ "Aperiodic CSI reporting with 3 bits of the CSI request field size - Supported",
+ "Aperiodic CSI reporting with 3 bits of the CSI request field size - Not supported"
+};
+
+static const true_false_string hf_lte_rrc_aperiodicCSI_Reporting_r13_bit2_val = {
+ "Aperiodic CSI reporting mode 1-0 and mode 1-1 - Supported",
+ "Aperiodic CSI reporting mode 1-0 and mode 1-1 - Not supported"
+};
+
+static const true_false_string hf_lte_rrc_codebook_HARQ_ACK_r13_bit1_val = {
+ "DAI-based codebook size determination - Supported",
+ "DAI-based codebook size determination - Not supported"
+};
+
+static const true_false_string hf_lte_rrc_codebook_HARQ_ACK_r13_bit2_val = {
+ "Number of configured CCs based codebook size determination - Supported",
+ "Number of configured CCs based codebook size determination - Not supported"
+};
+
+static const true_false_string lte_rrc_transmissionModeList_r12_val = {
+ "NeighCellsInfo applies",
+ "NeighCellsInfo does not apply"
+};
+
+static const value_string lte_rrc_excessDelay_r13_vals[] = {
+ { 0, "ratio < 0.079%"},
+ { 1, "0.079% < ratio < 0.100%"},
+ { 2, "0.100% < ratio < 0.126%"},
+ { 3, "0.126% < ratio < 0.158%"},
+ { 4, "0.158% < ratio < 0.199%"},
+ { 5, "0.199% < ratio < 0.251%"},
+ { 6, "0.251% < ratio < 0.316%"},
+ { 7, "0.316% < ratio < 0.398%"},
+ { 8, "0.398% < ratio < 0.501%"},
+ { 9, "0.501% < ratio < 0.631%"},
+ { 10, "0.631% < ratio < 0.794%"},
+ { 11, "0.794% < ratio < 1.000%"},
+ { 12, "1.000% < ratio < 1.259%"},
+ { 13, "1.259% < ratio < 1.585%"},
+ { 14, "1.585% < ratio < 1.995%"},
+ { 15, "1.995% < ratio < 2.511%"},
+ { 16, "2.511% < ratio < 3.161%"},
+ { 17, "3.161% < ratio < 3.980%"},
+ { 18, "3.980% < ratio < 5.011%"},
+ { 19, "5.011% < ratio < 6.309%"},
+ { 20, "6.309% < ratio < 7.943%"},
+ { 21, "7.943% < ratio < 10.00%"},
+ { 22, "10.00% < ratio < 12.589%"},
+ { 23, "12.589% < ratio < 15.849%"},
+ { 24, "15.849% < ratio < 19.953%"},
+ { 25, "19.953% < ratio < 25.119%"},
+ { 26, "25.119% < ratio < 31.623%"},
+ { 27, "31.623% < ratio < 39.811%"},
+ { 28, "39.811% < ratio < 50.119%"},
+ { 29, "50.119% < ratio < 63.096%"},
+ { 30, "63.096% < ratio < 79.433%"},
+ { 31, "79.433% < ratio < 100%"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_excessDelay_r13_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_excessDelay_r13_vals);
+
+static void
+lte_rrc_averageDelay_r16_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/10, v);
+}
+
+static void
+lte_rrc_subframeBoundaryOffsetResult_r13_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "abs(deltaZ) < 700Ts (0)");
+ } else if (v == 63) {
+ snprintf(s, ITEM_LABEL_LENGTH, "1320Ts < abs(deltaZ) (63)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%uTs < abs(deltaZ) <= %uTs (%u)", 700+(v-1)*10, 700+v*10, v);
+ }
+}
+
+static void
+lte_rrc_RS_SINR_Range_r13_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RS-SINR < -23dB (0)");
+ } else if (v == 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "40dB <= RS-SINR (127)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RS-SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
+ }
+}
+
+static void
+lte_rrc_RS_SINR_RangeNR_r15_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "SS-SINR < -23dB (0)");
+ } else if (v == 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "40dB < SS-SINR (127)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
+ }
+}
+
+static void
+lte_rrc_RSSI_Range_r13_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSSI < -100dBm (0)");
+ } else if (v == 76) {
+ snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= RSSI (76)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSSI < %ddBm (%u)", -100+(v-1), -100+v, v);
+ }
+}
+
+static void
+lte_rrc_scptm_FreqOffset_r14_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%udB (%u)", 2*v, v);
+}
+
+static void
+lte_rrc_offsetDFN_r14_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "0ms (0)");
+ } else if (v < 1000) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.3fms (%u)", ((float)v)/1000, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "1ms (1000)");
+ }
+}
+
+static void
+lte_rrc_thresholdWLAN_RSSI_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", -128+v, v);
+}
+
+static void
+lte_rrc_cr_Limit_r14_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "0 (0)");
+ } else if (v < 10000) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.4f (%u)", ((float)v)/10000, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "1 (10000)");
+ }
+}
+
+static void
+lte_rrc_SL_CBR_r14_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "0 (0)");
+ } else if (v < 100) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2f (%u)", ((float)v)/100, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "1 (100)");
+ }
+}
+
+static void
+lte_rrc_threshS_RSSI_CBR_r14_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", -112+(2*v), v);
+}
+
+static const value_string lte_rrc_schedulingInfoSIB1_NB_r13_vals[] = {
+ { 0, "4 NPDSCH repetitions - TBS 208 bits"},
+ { 1, "8 NPDSCH repetitions - TBS 208 bits"},
+ { 2, "16 NPDSCH repetitions - TBS 208 bits"},
+ { 3, "4 NPDSCH repetitions - TBS 328 bits"},
+ { 4, "8 NPDSCH repetitions - TBS 328 bits"},
+ { 5, "16 NPDSCH repetitions - TBS 328 bits"},
+ { 6, "4 NPDSCH repetitions - TBS 440 bits"},
+ { 7, "8 NPDSCH repetitions - TBS 440 bits"},
+ { 8, "16 NPDSCH repetitions - TBS 440 bits"},
+ { 9, "4 NPDSCH repetitions - TBS 680 bits"},
+ { 10, "8 NPDSCH repetitions - TBS 680 bits"},
+ { 11, "16 NPDSCH repetitions - TBS 680 bits"},
+ { 0, NULL}
+};
+static value_string_ext lte_rrc_schedulingInfoSIB1_NB_r13_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_schedulingInfoSIB1_NB_r13_vals);
+
+static void
+lte_rrc_NRSRP_Range_NB_r14_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "NRSRP < -156dBm (0)");
+ } else if (v < 113) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= NRSRP < %ddBm (%u)", v-157, v-156, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= NRSRP (97)");
+ }
+}
+
+static void
+lte_rrc_NRSRQ_Range_NB_r14_fmt(gchar *s, guint32 v)
+{
+ gint32 rsrq = (guint32)v;
+ if (rsrq == -30) {
+ snprintf(s, ITEM_LABEL_LENGTH, "NRSRQ < -34dB (-30)");
+ } else if (rsrq < 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= NRSRQ < %.1fdB (%d)", (((float)rsrq-1)/2)-19, ((float)rsrq/2)-19, rsrq);
+ } else if (rsrq == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "NRSRQ < -19.5dB (0)");
+ } else if (rsrq < 34) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= NRSRQ < %.1fdB (%d)", (((float)rsrq-1)/2)-19.5, ((float)rsrq/2)-19.5, rsrq);
+ } else if (rsrq == 34) {
+ snprintf(s, ITEM_LABEL_LENGTH, "-3 <= NRSRQ (34)");
+ } else if (rsrq < 46) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= NRSRQ < %.1fdB (%d)", (((float)rsrq-1)/2)-20, ((float)rsrq/2)-20, rsrq);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "2.5dB <= NRSRQ (46)");
+ }
+}
+
+static void
+lte_rrc_mbms_MaxBW_r14_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%u MHz (%u)", 40*v, v);
+}
+
+static void
+lte_rrc_dl_1024QAM_TotalWeightedLayers_r15_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%u (%u)", 10+(2*v), v);
+}
+
+static void
+lte_rrc_call_dissector(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ TRY {
+ call_dissector(handle, tvb, pinfo, tree);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(tvb, pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+}
+
+/*****************************************************************************/
+/* Packet private data */
+/* For this dissector, all access to actx->private_data should be made */
+/* through this API, which ensures that they will not overwrite each other!! */
+/*****************************************************************************/
+
+typedef struct meas_capabilities_item_band_mappings_t {
+ guint16 number_of_bands_set;
+ guint16 number_of_interfreq_serving_read;
+ guint16 number_of_interfreq_target_read;
+ guint16 band_by_item[256];
+} meas_capabilities_item_band_mappings_t;
+
+
+/**********************************************************/
+/* Struct to store all current uses of packet private data */
+typedef struct lte_rrc_private_data_t
+{
+ guint8 rat_type;
+ guint8 target_rat_type;
+ guint8 si_or_psi_geran;
+ guint8 ra_preambles;
+ guint16 message_identifier;
+ guint8 warning_message_segment_type;
+ guint8 warning_message_segment_number;
+ drb_mapping_t drb_mapping;
+ drx_config_t drx_config;
+ pdcp_lte_security_info_t pdcp_security;
+ meas_capabilities_item_band_mappings_t meas_capabilities_item_band_mappings;
+ simult_pucch_pusch_cell_type cell_type;
+ gboolean bcch_dl_sch_msg;
+ lpp_pos_sib_type_t pos_sib_type;
+} lte_rrc_private_data_t;
+
+/* Helper function to get or create a struct that will be actx->private_data */
+static lte_rrc_private_data_t* lte_rrc_get_private_data(asn1_ctx_t *actx)
+{
+ if (actx->private_data != NULL) {
+ return (lte_rrc_private_data_t*)actx->private_data;
+ }
+ else {
+ lte_rrc_private_data_t* new_struct =
+ wmem_new0(actx->pinfo->pool, lte_rrc_private_data_t);
+ actx->private_data = new_struct;
+ return new_struct;
+ }
+}
+
+
+/* DRX config data */
+static drx_config_t* private_data_get_drx_config(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return &private_data->drx_config;
+}
+
+/* DRB mapping info */
+static drb_mapping_t* private_data_get_drb_mapping(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return &private_data->drb_mapping;
+}
+
+
+/* RAT type */
+static guint8 private_data_get_rat_type(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->rat_type;
+}
+
+static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->rat_type = rat_type;
+}
+
+
+/* Target RAT type */
+static guint8 private_data_get_rat_target_type(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->target_rat_type;
+}
+
+static void private_data_set_rat_target_type(asn1_ctx_t *actx, guint8 target_rat_type)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->target_rat_type = target_rat_type;
+}
+
+
+/* si_or_psi_geran */
+static guint8 private_data_get_si_or_psi_geran(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->si_or_psi_geran;
+}
+
+static void private_data_set_si_or_psi_geran(asn1_ctx_t *actx, guint8 si_or_psi_geran)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->si_or_psi_geran = si_or_psi_geran;
+}
+
+
+/* Message identifier */
+static guint16 private_data_get_message_identifier(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->message_identifier;
+}
+
+static void private_data_set_message_identifier(asn1_ctx_t *actx, guint16 message_identifier)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->message_identifier = message_identifier;
+}
+
+
+/* Warning message segment type */
+static guint16 private_data_get_warning_message_segment_type(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->warning_message_segment_type;
+}
+
+static void private_data_set_warning_message_segment_type(asn1_ctx_t *actx, guint8 segment_type)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->warning_message_segment_type = segment_type;
+}
+
+
+/* Warning message segment number */
+static guint16 private_data_get_warning_message_segment_number(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->warning_message_segment_number;
+}
+
+static void private_data_set_warning_message_segment_number(asn1_ctx_t *actx, guint8 segment_number)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->warning_message_segment_number = segment_number;
+}
+
+
+/* Number of RA-preambles */
+static guint8 private_data_get_ra_preambles(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->ra_preambles;
+}
+
+static void private_data_set_ra_preambles(asn1_ctx_t *actx, guint8 ra_preambles)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->ra_preambles = ra_preambles;
+}
+
+
+/* PDCP Security info */
+static pdcp_lte_security_info_t* private_data_pdcp_security_algorithms(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return &private_data->pdcp_security;
+}
+
+
+/* Measurement UE capabilities item -> band mappings */
+static meas_capabilities_item_band_mappings_t* private_data_meas_capabilities_item_band_mappings(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return &private_data->meas_capabilities_item_band_mappings;
+}
+
+static void set_freq_band_indicator(guint32 value, asn1_ctx_t *actx)
+{
+ /* Store band mapping for this item in the next position */
+ meas_capabilities_item_band_mappings_t *mappings = private_data_meas_capabilities_item_band_mappings(actx);
+ if (mappings->number_of_bands_set < 256) {
+ mappings->band_by_item[mappings->number_of_bands_set++] = (guint16)value;
+ }
+}
+
+static void remove_last_freq_band_indicator(asn1_ctx_t *actx)
+{
+ meas_capabilities_item_band_mappings_t *mappings = private_data_meas_capabilities_item_band_mappings(actx);
+ if ((mappings->number_of_bands_set > 0) && (mappings->number_of_bands_set < 256)) {
+ mappings->number_of_bands_set--;
+ }
+}
+
+/* Cell type for simultaneousPUCCH-PUSCH-r10 */
+static simult_pucch_pusch_cell_type private_data_get_simult_pucch_pusch_cell_type(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->cell_type;
+}
+
+static void private_data_set_simult_pucch_pusch_cell_type(asn1_ctx_t *actx, simult_pucch_pusch_cell_type cell_type)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->cell_type = cell_type;
+}
+
+/* Is top message a BCCH DL-SCH BR/MBMS */
+static gboolean private_data_get_bcch_dl_sch_msg(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->bcch_dl_sch_msg;
+}
+
+static void private_data_set_bcch_dl_sch_msg(asn1_ctx_t *actx, gboolean is_bcch_dl_sch)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->bcch_dl_sch_msg = is_bcch_dl_sch;
+}
+
+static lpp_pos_sib_type_t private_data_get_pos_sib_type(asn1_ctx_t *actx)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ return private_data->pos_sib_type;
+}
+
+static void private_data_set_pos_sib_type(asn1_ctx_t *actx, lpp_pos_sib_type_t pos_sib_type)
+{
+ lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
+ private_data->pos_sib_type = pos_sib_type;
+}
+
+/*****************************************************************************/
+
+
+static void
+lte_rrc_localTimeOffset_fmt(gchar *s, guint32 v)
+{
+ gint32 time_offset = (gint32) v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "UTC time %c %dhr %dmin (%d)",
+ (time_offset < 0) ? '-':'+', abs(time_offset) >> 2,
+ (abs(time_offset) & 0x03) * 15, time_offset);
+}
+
+static void
+dissect_lte_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dataCodingScheme)
+{
+ guint32 offset;
+ guint8 nb_of_pages, length, *str;
+ proto_item *ti;
+ tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
+ int i;
+
+ nb_of_pages = tvb_get_guint8(warning_msg_seg_tvb, 0);
+ ti = proto_tree_add_uint(tree, hf_lte_rrc_warningMessageSegment_nb_pages, warning_msg_seg_tvb, 0, 1, nb_of_pages);
+ if (nb_of_pages > 15) {
+ expert_add_info_format(pinfo, ti, &ei_lte_rrc_number_pages_le15,
+ "Number of pages should be <=15 (found %u)", nb_of_pages);
+ nb_of_pages = 15;
+ }
+ for (i = 0, offset = 1; i < nb_of_pages; i++) {
+ length = tvb_get_guint8(warning_msg_seg_tvb, offset+82);
+ cb_data_page_tvb = tvb_new_subset_length(warning_msg_seg_tvb, offset, length);
+ cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0);
+ if (cb_data_tvb) {
+ str = tvb_get_string_enc(pinfo->pool, cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
+ proto_tree_add_string_format(tree, hf_lte_rrc_warningMessageSegment_decoded_page, warning_msg_seg_tvb, offset, 83,
+ str, "Decoded Page %u: %s", i+1, str);
+ }
+ offset += 83;
+ }
+}
+
+static void
+dissect_lte_rrc_featureGroupIndicators(tvbuff_t *featureGroupIndicators_tvb, asn1_ctx_t *actx)
+{
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndicators);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_1, featureGroupIndicators_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_2, featureGroupIndicators_tvb, 1, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_3, featureGroupIndicators_tvb, 2, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_4, featureGroupIndicators_tvb, 3, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_5, featureGroupIndicators_tvb, 4, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_6, featureGroupIndicators_tvb, 5, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_7, featureGroupIndicators_tvb, 6, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_8, featureGroupIndicators_tvb, 7, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_9, featureGroupIndicators_tvb, 8, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_10, featureGroupIndicators_tvb, 9, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_11, featureGroupIndicators_tvb, 10, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_12, featureGroupIndicators_tvb, 11, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_13, featureGroupIndicators_tvb, 12, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_14, featureGroupIndicators_tvb, 13, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_15, featureGroupIndicators_tvb, 14, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_16, featureGroupIndicators_tvb, 15, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_17, featureGroupIndicators_tvb, 16, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_18, featureGroupIndicators_tvb, 17, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_19, featureGroupIndicators_tvb, 18, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_20, featureGroupIndicators_tvb, 19, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_21, featureGroupIndicators_tvb, 20, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_22, featureGroupIndicators_tvb, 21, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_23, featureGroupIndicators_tvb, 22, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_24, featureGroupIndicators_tvb, 23, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_25, featureGroupIndicators_tvb, 24, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_26, featureGroupIndicators_tvb, 25, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_27, featureGroupIndicators_tvb, 26, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_28, featureGroupIndicators_tvb, 27, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_29, featureGroupIndicators_tvb, 28, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_30, featureGroupIndicators_tvb, 29, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_31, featureGroupIndicators_tvb, 30, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_32, featureGroupIndicators_tvb, 31, 1, ENC_BIG_ENDIAN);
+}
+
+static void
+dissect_lte_rrc_featureGroupIndRel10(tvbuff_t *featureGroupIndRel10_tvb, asn1_ctx_t *actx)
+{
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndRel10);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_101, featureGroupIndRel10_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_102, featureGroupIndRel10_tvb, 1, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_103, featureGroupIndRel10_tvb, 2, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_104, featureGroupIndRel10_tvb, 3, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_105, featureGroupIndRel10_tvb, 4, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_106, featureGroupIndRel10_tvb, 5, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_107, featureGroupIndRel10_tvb, 6, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_108, featureGroupIndRel10_tvb, 7, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_109, featureGroupIndRel10_tvb, 8, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_110, featureGroupIndRel10_tvb, 9, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_111, featureGroupIndRel10_tvb, 10, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_112, featureGroupIndRel10_tvb, 11, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_113, featureGroupIndRel10_tvb, 12, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_114, featureGroupIndRel10_tvb, 13, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_115, featureGroupIndRel10_tvb, 14, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_116, featureGroupIndRel10_tvb, 15, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_117, featureGroupIndRel10_tvb, 16, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_118, featureGroupIndRel10_tvb, 17, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_119, featureGroupIndRel10_tvb, 18, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_120, featureGroupIndRel10_tvb, 19, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_121, featureGroupIndRel10_tvb, 20, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_122, featureGroupIndRel10_tvb, 21, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_123, featureGroupIndRel10_tvb, 22, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_124, featureGroupIndRel10_tvb, 23, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_125, featureGroupIndRel10_tvb, 24, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_126, featureGroupIndRel10_tvb, 25, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_127, featureGroupIndRel10_tvb, 26, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_128, featureGroupIndRel10_tvb, 27, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_129, featureGroupIndRel10_tvb, 28, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_130, featureGroupIndRel10_tvb, 29, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_131, featureGroupIndRel10_tvb, 30, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_132, featureGroupIndRel10_tvb, 31, 1, ENC_BIG_ENDIAN);
+}
+
+static void
+dissect_lte_rrc_featureGroupIndRel9Add(tvbuff_t *featureGroupIndRel9Add_tvb, asn1_ctx_t *actx)
+{
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndRel9Add);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_33, featureGroupIndRel9Add_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_34, featureGroupIndRel9Add_tvb, 1, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_35, featureGroupIndRel9Add_tvb, 2, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_36, featureGroupIndRel9Add_tvb, 3, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_37, featureGroupIndRel9Add_tvb, 4, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_38, featureGroupIndRel9Add_tvb, 5, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_39, featureGroupIndRel9Add_tvb, 6, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_40, featureGroupIndRel9Add_tvb, 7, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_41, featureGroupIndRel9Add_tvb, 8, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_42, featureGroupIndRel9Add_tvb, 9, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_43, featureGroupIndRel9Add_tvb, 10, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_44, featureGroupIndRel9Add_tvb, 11, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_45, featureGroupIndRel9Add_tvb, 12, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_46, featureGroupIndRel9Add_tvb, 13, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_47, featureGroupIndRel9Add_tvb, 14, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_48, featureGroupIndRel9Add_tvb, 15, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_49, featureGroupIndRel9Add_tvb, 16, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_50, featureGroupIndRel9Add_tvb, 17, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_51, featureGroupIndRel9Add_tvb, 18, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_52, featureGroupIndRel9Add_tvb, 19, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_53, featureGroupIndRel9Add_tvb, 20, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_54, featureGroupIndRel9Add_tvb, 21, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_55, featureGroupIndRel9Add_tvb, 22, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_56, featureGroupIndRel9Add_tvb, 23, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_57, featureGroupIndRel9Add_tvb, 24, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_58, featureGroupIndRel9Add_tvb, 25, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_59, featureGroupIndRel9Add_tvb, 26, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_60, featureGroupIndRel9Add_tvb, 27, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_61, featureGroupIndRel9Add_tvb, 28, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_62, featureGroupIndRel9Add_tvb, 29, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_63, featureGroupIndRel9Add_tvb, 30, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_64, featureGroupIndRel9Add_tvb, 31, 1, ENC_BIG_ENDIAN);
+}
+
+/* Functions to get enum values out of indices parsed */
+/* If entry not found, return last element of array */
+static guint32 drx_lookup_onDurationTimer(guint32 idx)
+{
+ static const guint32 vals[] = {1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200};
+
+ if (idx < (sizeof(vals)/sizeof(guint32))) {
+ return vals[idx];
+ }
+ return (sizeof(vals)/(sizeof(guint32)) - 1);
+}
+
+static guint32 drx_lookup_inactivityTimer(guint32 idx)
+{
+ static const guint32 vals[] = {
+ 1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200,300, 500,750,1280,1920,2560,0
+ };
+
+ if (idx < (sizeof(vals)/sizeof(guint32))) {
+ return vals[idx];
+ }
+ return (sizeof(vals)/(sizeof(guint32)) - 1);
+}
+
+static guint32 drx_lookup_retransmissionTimer(guint32 idx)
+{
+ static const guint32 vals[] = {1,2,4,6,8,16,24,33};
+
+ if (idx < (sizeof(vals)/sizeof(guint32))) {
+ return vals[idx];
+ }
+ return (sizeof(vals)/(sizeof(guint32)) - 1);
+}
+
+static guint32 drx_lookup_longCycle(guint32 idx)
+{
+ static const guint32 vals[] = {
+ 10,20,32,40,64,80,128,160,256,320,512,640,1024,1280,2048,2560
+ };
+
+ if (idx < (sizeof(vals)/sizeof(guint32))) {
+ return vals[idx];
+ }
+ return (sizeof(vals)/(sizeof(guint32)) - 1);
+}
+
+static guint32 drx_lookup_longCycle_v1130(guint32 idx)
+{
+ static const guint32 vals[] = {
+ 60,70
+ };
+
+ if (idx < (sizeof(vals)/sizeof(guint32))) {
+ return vals[idx];
+ }
+ return (sizeof(vals)/(sizeof(guint32)) - 1);
+}
+
+
+static guint32 drx_lookup_shortCycle(guint32 idx)
+{
+ static const guint32 vals[] = {
+ 2,5,8,10,16,20,32,40,64,80,128,160,256,320,512,640
+ };
+
+ if (idx < (sizeof(vals)/sizeof(guint32))) {
+ return vals[idx];
+ }
+ return (sizeof(vals)/(sizeof(guint32)) - 1);
+}
+
+static void drx_check_config_sane(drx_config_t *config, asn1_ctx_t *actx)
+{
+ /* OnDuration must be shorter than long cycle */
+ if (config->onDurationTimer >= config->longCycle) {
+ expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_invalid_drx_config,
+ "OnDurationTimer (%u) should be less than long cycle (%u)",
+ config->onDurationTimer, config->longCycle);
+ }
+
+ if (config->shortCycleConfigured) {
+ /* Short cycle must be < long, and be a multiple of it */
+ if (config->shortCycle >= config->longCycle) {
+ expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_invalid_drx_config,
+ "Short DRX cycle (%u) must be shorter than long cycle (%u)",
+ config->shortCycle, config->longCycle);
+ }
+ /* Long cycle needs to be an exact multiple of the short cycle */
+ else if (config->shortCycle && ((config->longCycle % config->shortCycle) != 0)) {
+ expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_invalid_drx_config,
+ "Short DRX cycle (%u) must divide the long cycle (%u) exactly",
+ config->shortCycle, config->longCycle);
+
+ }
+ /* OnDuration shouldn't be longer than the short cycle */
+ if (config->onDurationTimer >= config->shortCycle) {
+ expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_invalid_drx_config,
+ "OnDurationTimer (%u) should not be longer than the short cycle (%u)",
+ config->onDurationTimer, config->shortCycle);
+ }
+ /* TODO: check that (onDuration+(shortCycle*shortCycleTimer)) < longCycle ? */
+ /* TODO: check that (shortCycle*shortCycleTimer) < longCycle ? */
+ }
+}
+
+/* Break sr-configIndex down into periodicity and offset. From 36.231, 10.1 */
+static void sr_lookup_configindex(guint32 config_index, guint16 *periodicity, guint16 *offset)
+{
+ if (config_index < 5) {
+ *periodicity = 5;
+ *offset = config_index;
+ } else if (config_index < 15) {
+ *periodicity = 10;
+ *offset = config_index - 5;
+ }
+ else if (config_index < 35) {
+ *periodicity = 20;
+ *offset = config_index - 15;
+ }
+ else if (config_index < 75) {
+ *periodicity = 40;
+ *offset = config_index - 35;
+ }
+ else if (config_index < 155) {
+ *periodicity = 80;
+ *offset = config_index - 75;
+ }
+ else if (config_index < 157) {
+ *periodicity = 2;
+ *offset = config_index - 155;
+ }
+ else {
+ *periodicity = 1;
+ *offset = 0;
+ }
+}
+
+#include "packet-lte-rrc-fn.c"
+
+static int
+dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_CCCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_DL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_DL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_DCCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_lte_rrc_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_UL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_CCCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_UL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_UL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_DCCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_lte_rrc_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_BCCH_BCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC BCCH_BCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_BCCH_BCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_BCCH_DL_SCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_SCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_BCCH_DL_SCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_BCCH_DL_SCH_BR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_SCH_BR");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_BCCH_DL_SCH_Message_BR_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_PCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC PCCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_PCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_MCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC MCCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_MCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_Handover_Preparation_Info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE_HO_Prep_Info");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ /* Don't want elements inside message updating Info column, so set now and
+ freeze during dissection of PDU */
+ col_set_str(pinfo->cinfo, COL_INFO, "HandoverPreparationInformation");
+ col_set_writable(pinfo->cinfo, COL_INFO, FALSE);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+
+ col_set_writable(pinfo->cinfo, COL_INFO, TRUE);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_SBCCH_SL_BCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC SBCCH_SL_BCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_SBCCH_SL_BCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_SBCCH_SL_BCH_V2X(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC SBCCH_SL_BCH_V2X");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_SBCCH_SL_BCH_Message_V2X_r14_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_SC_MCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC SC MCCH");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_SC_MCCH_Message_r13_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_DL_CCCH_NB(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_CCCH_NB");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_DL_CCCH_Message_NB_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_DL_DCCH_NB(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_DCCH_NB");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_DL_DCCH_Message_NB_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_UL_CCCH_NB(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_CCCH_NB");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_UL_CCCH_Message_NB_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_UL_DCCH_NB(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_DCCH_NB");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_UL_DCCH_Message_NB_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_BCCH_BCH_NB(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC BCCH_BCH_NB");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_BCCH_BCH_Message_NB_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_BCCH_BCH_TDD_NB(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC BCCH_BCH_TDD_NB");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_BCCH_BCH_Message_TDD_NB_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_BCCH_DL_SCH_NB(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_SCH_NB");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_BCCH_DL_SCH_Message_NB_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_PCCH_NB(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC PCCH_NB");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_PCCH_Message_NB_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_SC_MCCH_NB(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC SC MCCH_NB");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_SC_MCCH_Message_NB_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_BCCH_BCH_MBMS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC BCCH_BCH_MBMS");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_BCCH_BCH_Message_MBMS_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_BCCH_DL_SCH_MBMS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ti;
+ proto_tree *lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_SCH_MBMS");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_BCCH_DL_SCH_Message_MBMS_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_ue_eutra_capability_msg(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UE EUTRA Capability");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_lte_rrc_UE_EUTRA_Capability_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_ueradioaccesscapabilityinformation_msg(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UERadioAccessCapabilityInformation");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_lte_rrc_UERadioAccessCapabilityInformation_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_lte_rrc_dissect_SystemInformationBlockType1_v890_IEs(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* lte_rrc_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC SystemInformationBlockType1-v890-IEs");
+ col_set_str(pinfo->cinfo, COL_INFO, "LTE RRC SystemInformationBlockType1-v890-IEs");
+
+ ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
+ lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+ dissect_SystemInformationBlockType1_v890_IEs_PDU(tvb, pinfo, lte_rrc_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+
+
+/*--- proto_register_rrc -------------------------------------------*/
+void proto_register_lte_rrc(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-lte-rrc-hfarr.c"
+
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_1,
+ { "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_1_val), 0,
+ "EUTRA Feature Group Indicator 1", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_2,
+ { "Indicator 2", "lte-rrc.eutra_cap_feat_group_ind_2",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_2_val), 0,
+ "EUTRA Feature Group Indicator 2", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_3,
+ { "Indicator 3", "lte-rrc.eutra_cap_feat_group_ind_3",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_3_val), 0,
+ "EUTRA Feature Group Indicator 3", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_4,
+ { "Indicator 4", "lte-rrc.eutra_cap_feat_group_ind_4",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_4_val), 0,
+ "EUTRA Feature Group Indicator 4", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_5,
+ { "Indicator 5", "lte-rrc.eutra_cap_feat_group_ind_5",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_5_val), 0,
+ "EUTRA Feature Group Indicator 5", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_6,
+ { "Indicator 6", "lte-rrc.eutra_cap_feat_group_ind_6",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_6_val), 0,
+ "EUTRA Feature Group Indicator 6", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_7,
+ { "Indicator 7", "lte-rrc.eutra_cap_feat_group_ind_7",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_7_val), 0,
+ "EUTRA Feature Group Indicator 7", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_8,
+ { "Indicator 8", "lte-rrc.eutra_cap_feat_group_ind_8",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_8_val), 0,
+ "EUTRA Feature Group Indicator 8", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_9,
+ { "Indicator 9", "lte-rrc.eutra_cap_feat_group_ind_9",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_9_val), 0,
+ "EUTRA Feature Group Indicator 9", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_10,
+ { "Indicator 10", "lte-rrc.eutra_cap_feat_group_ind_10",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_10_val), 0,
+ "EUTRA Feature Group Indicator 10", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_11,
+ { "Indicator 11", "lte-rrc.eutra_cap_feat_group_ind_11",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_11_val), 0,
+ "EUTRA Feature Group Indicator 11", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_12,
+ { "Indicator 12", "lte-rrc.eutra_cap_feat_group_ind_12",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_12_val), 0,
+ "EUTRA Feature Group Indicator 12", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_13,
+ { "Indicator 13", "lte-rrc.eutra_cap_feat_group_ind_13",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_13_val), 0,
+ "EUTRA Feature Group Indicator", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_14,
+ { "Indicator 14", "lte-rrc.eutra_cap_feat_group_ind_14",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_14_val), 0,
+ "EUTRA Feature Group Indicator 14", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_15,
+ { "Indicator 15", "lte-rrc.eutra_cap_feat_group_ind_15",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_15_val), 0,
+ "EUTRA Feature Group Indicator 15", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_16,
+ { "Indicator 16", "lte-rrc.eutra_cap_feat_group_ind_16",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_16_val), 0,
+ "EUTRA Feature Group Indicator 16", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_17,
+ { "Indicator 17", "lte-rrc.eutra_cap_feat_group_ind_17",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_17_val), 0,
+ "EUTRA Feature Group Indicator 17", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_18,
+ { "Indicator 18", "lte-rrc.eutra_cap_feat_group_ind_18",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_18_val), 0,
+ "EUTRA Feature Group Indicator 18", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_19,
+ { "Indicator 19", "lte-rrc.eutra_cap_feat_group_ind_19",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_19_val), 0,
+ "EUTRA Feature Group Indicator 19", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_20,
+ { "Indicator 20", "lte-rrc.eutra_cap_feat_group_ind_20",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_20_val), 0,
+ "EUTRA Feature Group Indicator 20", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_21,
+ { "Indicator 21", "lte-rrc.eutra_cap_feat_group_ind_21",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_21_val), 0,
+ "EUTRA Feature Group Indicator 21", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_22,
+ { "Indicator 22", "lte-rrc.eutra_cap_feat_group_ind_22",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_22_val), 0,
+ "EUTRA Feature Group Indicator 22", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_23,
+ { "Indicator 23", "lte-rrc.eutra_cap_feat_group_ind_23",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_23_val), 0,
+ "EUTRA Feature Group Indicator 23", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_24,
+ { "Indicator 24", "lte-rrc.eutra_cap_feat_group_ind_24",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_24_val), 0,
+ "EUTRA Feature Group Indicator 24", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_25,
+ { "Indicator 25", "lte-rrc.eutra_cap_feat_group_ind_25",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_25_val), 0,
+ "EUTRA Feature Group Indicator 25", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_26,
+ { "Indicator 26", "lte-rrc.eutra_cap_feat_group_ind_26",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_26_val), 0,
+ "EUTRA Feature Group Indicator 26", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_27,
+ { "Indicator 27", "lte-rrc.eutra_cap_feat_group_ind_27",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_27_val), 0,
+ "EUTRA Feature Group Indicator 27", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_28,
+ { "Indicator 28", "lte-rrc.eutra_cap_feat_group_ind_28",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_28_val), 0,
+ "EUTRA Feature Group Indicator 28", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_29,
+ { "Indicator 29", "lte-rrc.eutra_cap_feat_group_ind_29",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_29_val), 0,
+ "EUTRA Feature Group Indicator 29", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_30,
+ { "Indicator 30", "lte-rrc.eutra_cap_feat_group_ind_30",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_30_val), 0,
+ "EUTRA Feature Group Indicator 30", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_31,
+ { "Indicator 31", "lte-rrc.eutra_cap_feat_group_ind_31",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_31_val), 0,
+ "EUTRA Feature Group Indicator 31", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_32,
+ { "Indicator 32", "lte-rrc.eutra_cap_feat_group_ind_32",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_32_val), 0,
+ "EUTRA Feature Group Indicator 32", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_33,
+ { "Indicator 33", "lte-rrc.eutra_cap_feat_group_ind_33",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_33_val), 0,
+ "EUTRA Feature Group Indicator 33", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_34,
+ { "Indicator 34", "lte-rrc.eutra_cap_feat_group_ind_34",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_34_val), 0,
+ "EUTRA Feature Group Indicator 34", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_35,
+ { "Indicator 35", "lte-rrc.eutra_cap_feat_group_ind_35",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_35_val), 0,
+ "EUTRA Feature Group Indicator 35", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_36,
+ { "Indicator 36", "lte-rrc.eutra_cap_feat_group_ind_36",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_36_val), 0,
+ "EUTRA Feature Group Indicator 36", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_37,
+ { "Indicator 37", "lte-rrc.eutra_cap_feat_group_ind_37",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_37_val), 0,
+ "EUTRA Feature Group Indicator 37", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_38,
+ { "Indicator 38", "lte-rrc.eutra_cap_feat_group_ind_38",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_38_val), 0,
+ "EUTRA Feature Group Indicator 38", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_39,
+ { "Indicator 39", "lte-rrc.eutra_cap_feat_group_ind_39",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_39_val), 0,
+ "EUTRA Feature Group Indicator 39", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_40,
+ { "Indicator 40", "lte-rrc.eutra_cap_feat_group_ind_40",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_40_val), 0,
+ "EUTRA Feature Group Indicator 40", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_41,
+ { "Indicator 41", "lte-rrc.eutra_cap_feat_group_ind_41",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_41_val), 0,
+ "EUTRA Feature Group Indicator 41", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_42,
+ { "Indicator 42", "lte-rrc.eutra_cap_feat_group_ind_42",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_42_val), 0,
+ "EUTRA Feature Group Indicator 42", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_43,
+ { "Indicator 43", "lte-rrc.eutra_cap_feat_group_ind_43",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_43_val), 0,
+ "EUTRA Feature Group Indicator 43", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_44,
+ { "Indicator 44", "lte-rrc.eutra_cap_feat_group_ind_44",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_44_val), 0,
+ "EUTRA Feature Group Indicator 44", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_45,
+ { "Indicator 45", "lte-rrc.eutra_cap_feat_group_ind_45",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_45_val), 0,
+ "EUTRA Feature Group Indicator 45", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_46,
+ { "Indicator 46", "lte-rrc.eutra_cap_feat_group_ind_46",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_46_val), 0,
+ "EUTRA Feature Group Indicator 46", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_47,
+ { "Indicator 47", "lte-rrc.eutra_cap_feat_group_ind_47",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_47_val), 0,
+ "EUTRA Feature Group Indicator 47", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_48,
+ { "Indicator 48", "lte-rrc.eutra_cap_feat_group_ind_48",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_48_val), 0,
+ "EUTRA Feature Group Indicator 48", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_49,
+ { "Indicator 49", "lte-rrc.eutra_cap_feat_group_ind_49",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_49_val), 0,
+ "EUTRA Feature Group Indicator 49", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_50,
+ { "Indicator 50", "lte-rrc.eutra_cap_feat_group_ind_50",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_50_val), 0,
+ "EUTRA Feature Group Indicator 50", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_51,
+ { "Indicator 51", "lte-rrc.eutra_cap_feat_group_ind_51",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_51_val), 0,
+ "EUTRA Feature Group Indicator 51", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_52,
+ { "Indicator 52", "lte-rrc.eutra_cap_feat_group_ind_52",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_52_val), 0,
+ "EUTRA Feature Group Indicator 52", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_53,
+ { "Indicator 53", "lte-rrc.eutra_cap_feat_group_ind_53",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_53_val), 0,
+ "EUTRA Feature Group Indicator 53", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_54,
+ { "Indicator 54", "lte-rrc.eutra_cap_feat_group_ind_54",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_54_val), 0,
+ "EUTRA Feature Group Indicator 54", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_55,
+ { "Indicator 55", "lte-rrc.eutra_cap_feat_group_ind_55",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_55_val), 0,
+ "EUTRA Feature Group Indicator 55", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_56,
+ { "Indicator 56", "lte-rrc.eutra_cap_feat_group_ind_56",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_56_val), 0,
+ "EUTRA Feature Group Indicator 56", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_57,
+ { "Indicator 57", "lte-rrc.eutra_cap_feat_group_ind_57",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_57_val), 0,
+ "EUTRA Feature Group Indicator 57", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_58,
+ { "Indicator 58", "lte-rrc.eutra_cap_feat_group_ind_58",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_58_val), 0,
+ "EUTRA Feature Group Indicator 58", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_59,
+ { "Indicator 59", "lte-rrc.eutra_cap_feat_group_ind_59",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_59_val), 0,
+ "EUTRA Feature Group Indicator 59", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_60,
+ { "Indicator 60", "lte-rrc.eutra_cap_feat_group_ind_60",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_60_val), 0,
+ "EUTRA Feature Group Indicator 60", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_61,
+ { "Indicator 61", "lte-rrc.eutra_cap_feat_group_ind_61",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_61_val), 0,
+ "EUTRA Feature Group Indicator 61", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_62,
+ { "Indicator 62", "lte-rrc.eutra_cap_feat_group_ind_62",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_62_val), 0,
+ "EUTRA Feature Group Indicator 62", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_63,
+ { "Indicator 63", "lte-rrc.eutra_cap_feat_group_ind_63",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_63_val), 0,
+ "EUTRA Feature Group Indicator 63", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_64,
+ { "Indicator 64", "lte-rrc.eutra_cap_feat_group_ind_64",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_64_val), 0,
+ "EUTRA Feature Group Indicator 64", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_101,
+ { "Indicator 101", "lte-rrc.eutra_cap_feat_group_ind_101",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_101_val), 0,
+ "EUTRA Feature Group Indicator 101", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_102,
+ { "Indicator 102", "lte-rrc.eutra_cap_feat_group_ind_102",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_102_val), 0,
+ "EUTRA Feature Group Indicator 102", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_103,
+ { "Indicator 103", "lte-rrc.eutra_cap_feat_group_ind_103",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_103_val), 0,
+ "EUTRA Feature Group Indicator 103", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_104,
+ { "Indicator 104", "lte-rrc.eutra_cap_feat_group_ind_104",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_104_val), 0,
+ "EUTRA Feature Group Indicator 104", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_105,
+ { "Indicator 105", "lte-rrc.eutra_cap_feat_group_ind_105",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_105_val), 0,
+ "EUTRA Feature Group Indicator 105", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_106,
+ { "Indicator 106", "lte-rrc.eutra_cap_feat_group_ind_106",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_106_val), 0,
+ "EUTRA Feature Group Indicator 106", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_107,
+ { "Indicator 107", "lte-rrc.eutra_cap_feat_group_ind_107",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_107_val), 0,
+ "EUTRA Feature Group Indicator 107", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_108,
+ { "Indicator 108", "lte-rrc.eutra_cap_feat_group_ind_108",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_108_val), 0,
+ "EUTRA Feature Group Indicator 108", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_109,
+ { "Indicator 109", "lte-rrc.eutra_cap_feat_group_ind_109",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_109_val), 0,
+ "EUTRA Feature Group Indicator 109", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_110,
+ { "Indicator 110", "lte-rrc.eutra_cap_feat_group_ind_110",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_110_val), 0,
+ "EUTRA Feature Group Indicator 110", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_111,
+ { "Indicator 111", "lte-rrc.eutra_cap_feat_group_ind_111",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_111_val), 0,
+ "EUTRA Feature Group Indicator 111", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_112,
+ { "Indicator 112", "lte-rrc.eutra_cap_feat_group_ind_112",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_112_val), 0,
+ "EUTRA Feature Group Indicator 112", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_113,
+ { "Indicator 113", "lte-rrc.eutra_cap_feat_group_ind_113",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_113_val), 0,
+ "EUTRA Feature Group Indicator 113", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_114,
+ { "Indicator 114", "lte-rrc.eutra_cap_feat_group_ind_114",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_114_val), 0,
+ "EUTRA Feature Group Indicator 114", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_115,
+ { "Indicator 115", "lte-rrc.eutra_cap_feat_group_ind_115",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_115_val), 0,
+ "EUTRA Feature Group Indicator 115", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_116,
+ { "Indicator 116", "lte-rrc.eutra_cap_feat_group_ind_116",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_116_val), 0,
+ "EUTRA Feature Group Indicator 116", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_117,
+ { "Indicator 117", "lte-rrc.eutra_cap_feat_group_ind_117",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_117_val), 0,
+ "EUTRA Feature Group Indicator 117", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_118,
+ { "Indicator 118", "lte-rrc.eutra_cap_feat_group_ind_118",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_118_val), 0,
+ "EUTRA Feature Group Indicator 118", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_119,
+ { "Indicator 119", "lte-rrc.eutra_cap_feat_group_ind_119",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_119_val), 0,
+ "EUTRA Feature Group Indicator 119", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_120,
+ { "Indicator 120", "lte-rrc.eutra_cap_feat_group_ind_120",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_120_val), 0,
+ "EUTRA Feature Group Indicator 120", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_121,
+ { "Indicator 121", "lte-rrc.eutra_cap_feat_group_ind_121",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_121_val), 0,
+ "EUTRA Feature Group Indicator 121", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_122,
+ { "Indicator 122", "lte-rrc.eutra_cap_feat_group_ind_122",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_122_val), 0,
+ "EUTRA Feature Group Indicator 122", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_123,
+ { "Indicator 123", "lte-rrc.eutra_cap_feat_group_ind_123",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_123_val), 0,
+ "EUTRA Feature Group Indicator 123", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_124,
+ { "Indicator 124", "lte-rrc.eutra_cap_feat_group_ind_124",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_124_val), 0,
+ "EUTRA Feature Group Indicator 124", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_125,
+ { "Indicator 125", "lte-rrc.eutra_cap_feat_group_ind_125",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_125_val), 0,
+ "EUTRA Feature Group Indicator 125", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_126,
+ { "Indicator 126", "lte-rrc.eutra_cap_feat_group_ind_126",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_126_val), 0,
+ "EUTRA Feature Group Indicator 126", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_127,
+ { "Indicator 127", "lte-rrc.eutra_cap_feat_group_ind_127",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_127_val), 0,
+ "EUTRA Feature Group Indicator 127", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_128,
+ { "Indicator 128", "lte-rrc.eutra_cap_feat_group_ind_128",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_128_val), 0,
+ "EUTRA Feature Group Indicator 128", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_129,
+ { "Indicator 129", "lte-rrc.eutra_cap_feat_group_ind_129",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_129_val), 0,
+ "EUTRA Feature Group Indicator 129", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_130,
+ { "Indicator 130", "lte-rrc.eutra_cap_feat_group_ind_130",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_130_val), 0,
+ "EUTRA Feature Group Indicator 130", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_131,
+ { "Indicator 131", "lte-rrc.eutra_cap_feat_group_ind_131",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_131_val), 0,
+ "EUTRA Feature Group Indicator 131", HFILL }},
+ { &hf_lte_rrc_eutra_cap_feat_group_ind_132,
+ { "Indicator 132", "lte-rrc.eutra_cap_feat_group_ind_132",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_132_val), 0,
+ "EUTRA Feature Group Indicator 132", HFILL }},
+ { &hf_lte_rrc_serialNumber_gs,
+ { "Geographical Scope", "lte-rrc.serialNumber.gs",
+ FT_UINT16, BASE_DEC, VALS(lte_rrc_serialNumber_gs_vals), 0xc000,
+ NULL, HFILL }},
+ { &hf_lte_rrc_serialNumber_msg_code,
+ { "Message Code", "lte-rrc.serialNumber.msg_code",
+ FT_UINT16, BASE_DEC, NULL, 0x3ff0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_serialNumber_upd_nb,
+ { "Update Number", "lte-rrc.serialNumber.upd_nb",
+ FT_UINT16, BASE_DEC, NULL, 0x000f,
+ NULL, HFILL }},
+ { &hf_lte_rrc_warningType_value,
+ { "Warning Type Value", "lte-rrc.warningType.value",
+ FT_UINT16, BASE_DEC, VALS(lte_rrc_warningType_vals), 0xfe00,
+ NULL, HFILL }},
+ { &hf_lte_rrc_warningType_emergency_user_alert,
+ { "Emergency User Alert", "lte-rrc.warningType.emergency_user_alert",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
+ NULL, HFILL }},
+ { &hf_lte_rrc_warningType_popup,
+ { "Popup", "lte-rrc.warningType.popup",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
+ NULL, HFILL }},
+ { &hf_lte_rrc_warningMessageSegment_nb_pages,
+ { "Number of Pages", "lte-rrc.warningMessageSegment.nb_pages",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_warningMessageSegment_decoded_page,
+ { "Decoded Page", "lte-rrc.warningMessageSegment.decoded_page",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1,
+ { "Bit 1", "lte-rrc.interBandTDD_CA_WithDifferentConfig.bit1",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2,
+ { "Bit 2", "lte-rrc.interBandTDD_CA_WithDifferentConfig.bit2",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1,
+ { "Bit 1", "lte-rrc.tdd_FDD_CA_PCellDuplex_r12.bit1",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2,
+ { "Bit 2", "lte-rrc.tdd_FDD_CA_PCellDuplex_r12.bit2",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_aperiodicCSI_Reporting_r13_bit1,
+ { "Bit 1", "lte-rrc.aperiodicCSI_Reporting_r13.bit1",
+ FT_BOOLEAN, BASE_NONE, TFS(&hf_lte_rrc_aperiodicCSI_Reporting_r13_bit1_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_aperiodicCSI_Reporting_r13_bit2,
+ { "Bit 2", "lte-rrc.aperiodicCSI_Reporting_r13.bit2",
+ FT_BOOLEAN, BASE_NONE, TFS(&hf_lte_rrc_aperiodicCSI_Reporting_r13_bit2_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_codebook_HARQ_ACK_r13_bit1,
+ { "Bit 1", "lte-rrc.codebook_HARQ_ACK_r13.bit1",
+ FT_BOOLEAN, BASE_NONE, TFS(&hf_lte_rrc_codebook_HARQ_ACK_r13_bit1_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_codebook_HARQ_ACK_r13_bit2,
+ { "Bit 2", "lte-rrc.codebook_HARQ_ACK_r13.bit2",
+ FT_BOOLEAN, BASE_NONE, TFS(&hf_lte_rrc_codebook_HARQ_ACK_r13_bit2_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sr_config_periodicity,
+ { "Periodicity", "lte-rrc.sr_Periodicity",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sr_config_subframe_offset,
+ { "Subframe Offset", "lte-rrc.sr_SubframeOffset",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_cdma_time,
+ { "CDMA time", "lte-rrc.cdma_time",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_utc_time,
+ { "UTC time", "lte-rrc.utc_time",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_local_time,
+ { "Local time", "lte-rrc.local_time",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_absolute_time,
+ { "Absolute time", "lte-rrc.absolute_time",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_transmissionModeList_r12_tm1,
+ { "TM1", "lte-rrc.transmissionModeList_r12.tm1",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_transmissionModeList_r12_tm2,
+ { "TM2", "lte-rrc.transmissionModeList_r12.tm2",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_transmissionModeList_r12_tm3,
+ { "TM3", "lte-rrc.transmissionModeList_r12.tm3",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_transmissionModeList_r12_tm4,
+ { "TM4", "lte-rrc.transmissionModeList_r12.tm4",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_transmissionModeList_r12_tm6,
+ { "TM6", "lte-rrc.transmissionModeList_r12.tm6",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_transmissionModeList_r12_tm8,
+ { "TM8", "lte-rrc.transmissionModeList_r12.tm8",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_transmissionModeList_r12_tm9,
+ { "TM9", "lte-rrc.transmissionModeList_r12.tm9",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_transmissionModeList_r12_tm10,
+ { "TM10", "lte-rrc.transmissionModeList_r12.tm10",
+ FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_0,
+ { "MPR/A-MPR behavior 0", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_0",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_1,
+ { "MPR/A-MPR behavior 1", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_1",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_2,
+ { "MPR/A-MPR behavior 2", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_2",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_3,
+ { "MPR/A-MPR behavior 3", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_3",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_4,
+ { "MPR/A-MPR behavior 4", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_4",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_5,
+ { "MPR/A-MPR behavior 5", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_5",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_6,
+ { "MPR/A-MPR behavior 6", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_6",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_7,
+ { "MPR/A-MPR behavior 7", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_7",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_8,
+ { "MPR/A-MPR behavior 8", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_8",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_9,
+ { "MPR/A-MPR behavior 9", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_9",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_10,
+ { "MPR/A-MPR behavior 10", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_10",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_11,
+ { "MPR/A-MPR behavior 11", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_11",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_12,
+ { "MPR/A-MPR behavior 12", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_12",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_13,
+ { "MPR/A-MPR behavior 13", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_13",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_14,
+ { "MPR/A-MPR behavior 14", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_14",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_15,
+ { "MPR/A-MPR behavior 15", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_15",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_16,
+ { "MPR/A-MPR behavior 16", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_16",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_17,
+ { "MPR/A-MPR behavior 17", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_17",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_18,
+ { "MPR/A-MPR behavior 18", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_18",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_19,
+ { "MPR/A-MPR behavior 19", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_19",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_20,
+ { "MPR/A-MPR behavior 20", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_20",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_21,
+ { "MPR/A-MPR behavior 21", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_21",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_22,
+ { "MPR/A-MPR behavior 22", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_22",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_23,
+ { "MPR/A-MPR behavior 23", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_23",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_24,
+ { "MPR/A-MPR behavior 24", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_24",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_25,
+ { "MPR/A-MPR behavior 25", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_25",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_26,
+ { "MPR/A-MPR behavior 26", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_26",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_27,
+ { "MPR/A-MPR behavior 27", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_27",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_28,
+ { "MPR/A-MPR behavior 28", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_28",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_29,
+ { "MPR/A-MPR behavior 29", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_29",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_30,
+ { "MPR/A-MPR behavior 30", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_30",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_31,
+ { "MPR/A-MPR behavior 31", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_31",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_fragments,
+ { "Fragments", "lte-rrc.warningMessageSegment.fragments",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_fragment,
+ { "Fragment", "lte-rrc.warningMessageSegment.fragment",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_fragment_overlap,
+ { "Fragment Overlap", "lte-rrc.warningMessageSegment.fragment_overlap",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_fragment_overlap_conflict,
+ { "Fragment Overlap Conflict", "lte-rrc.warningMessageSegment.fragment_overlap_conflict",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_fragment_multiple_tails,
+ { "Fragment Multiple Tails", "lte-rrc.warningMessageSegment.fragment_multiple_tails",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_fragment_too_long_fragment,
+ { "Too Long Fragment", "lte-rrc.warningMessageSegment.fragment_too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_fragment_error,
+ { "Fragment Error", "lte-rrc.warningMessageSegment.fragment_error",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_fragment_count,
+ { "Fragment Count", "lte-rrc.warningMessageSegment.fragment_count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_reassembled_in,
+ { "Reassembled In", "lte-rrc.warningMessageSegment.reassembled_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_reassembled_length,
+ { "Reassembled Length", "lte-rrc.warningMessageSegment.reassembled_length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib11_reassembled_data,
+ { "Reassembled Data", "lte-rrc.warningMessageSegment.reassembled_data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_fragments,
+ { "Fragments", "lte-rrc.warningMessageSegment_r9.fragments",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_fragment,
+ { "Fragment", "lte-rrc.warningMessageSegment_r9.fragment",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_fragment_overlap,
+ { "Fragment Overlap", "lte-rrc.warningMessageSegment_r9.fragment_overlap",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_fragment_overlap_conflict,
+ { "Fragment Overlap Conflict", "lte-rrc.warningMessageSegment_r9.fragment_overlap_conflict",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_fragment_multiple_tails,
+ { "Fragment Multiple Tails", "lte-rrc.warningMessageSegment_r9.fragment_multiple_tails",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_fragment_too_long_fragment,
+ { "Too Long Fragment", "lte-rrc.warningMessageSegment_r9.fragment_too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_fragment_error,
+ { "Fragment Error", "lte-rrc.warningMessageSegment_r9.fragment_error",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_fragment_count,
+ { "Fragment Count", "lte-rrc.warningMessageSegment_r9.fragment_count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_reassembled_in,
+ { "Reassembled In", "lte-rrc.warningMessageSegment_r9.reassembled_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_reassembled_length,
+ { "Reassembled Length", "lte-rrc.warningMessageSegment_r9.reassembled_length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_sib12_reassembled_data,
+ { "Reassembled Data", "lte-rrc.warningMessageSegment_r9.reassembled_data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lte_rrc_measGapPatterns_r15_bit1,
+ { "Gap Pattern 4", "lte-rrc.measGapPatterns_r15.bit1",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x80,
+ NULL, HFILL }},
+ { &hf_lte_rrc_measGapPatterns_r15_bit2,
+ { "Gap Pattern 5", "lte-rrc.measGapPatterns_r15.bit2",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x40,
+ NULL, HFILL }},
+ { &hf_lte_rrc_measGapPatterns_r15_bit3,
+ { "Gap Pattern 6", "lte-rrc.measGapPatterns_r15.bit3",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x20,
+ NULL, HFILL }},
+ { &hf_lte_rrc_measGapPatterns_r15_bit4,
+ { "Gap Pattern 7", "lte-rrc.measGapPatterns_r15.bit4",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x10,
+ NULL, HFILL }},
+ { &hf_lte_rrc_measGapPatterns_r15_bit5,
+ { "Gap Pattern 8", "lte-rrc.measGapPatterns_r15.bit5",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x08,
+ NULL, HFILL }},
+ { &hf_lte_rrc_measGapPatterns_r15_bit6,
+ { "Gap Pattern 9", "lte-rrc.measGapPatterns_r15.bit6",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x04,
+ NULL, HFILL }},
+ { &hf_lte_rrc_measGapPatterns_r15_bit7,
+ { "Gap Pattern 10", "lte-rrc.measGapPatterns_r15.bit7",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x02,
+ NULL, HFILL }},
+ { &hf_lte_rrc_measGapPatterns_r15_bit8,
+ { "Gap Pattern 11", "lte-rrc.measGapPatterns_r15.bit8",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x01,
+ NULL, HFILL }}
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_lte_rrc,
+#include "packet-lte-rrc-ettarr.c"
+
+ &ett_lte_rrc_featureGroupIndicators,
+ &ett_lte_rrc_featureGroupIndRel9Add,
+ &ett_lte_rrc_featureGroupIndRel10,
+ &ett_lte_rrc_absTimeInfo,
+ &ett_lte_rrc_nas_SecurityParam,
+ &ett_lte_rrc_targetRAT_MessageContainer,
+ &ett_lte_rrc_siPsiSibContainer,
+ &ett_lte_rrc_dedicatedInfoNAS,
+ &ett_lte_rrc_timeInfo,
+ &ett_lte_rrc_serialNumber,
+ &ett_lte_rrc_warningType,
+ &ett_lte_rrc_dataCodingScheme,
+ &ett_lte_rrc_warningMessageSegment,
+ &ett_lte_rrc_interBandTDD_CA_WithDifferentConfig,
+ &ett_lte_rrc_tdd_FDD_CA_PCellDuplex_r12,
+ &ett_lte_rrc_aperiodicCSI_Reporting_r13,
+ &ett_lte_rrc_codebook_HARQ_ACK_r13,
+ &ett_lte_rrc_sr_ConfigIndex,
+ &ett_lte_rrc_transmissionModeList_r12,
+ &ett_lte_rrc_modifiedMPR_Behavior_r10,
+ &ett_lte_rrc_sib11_fragment,
+ &ett_lte_rrc_sib11_fragments,
+ &ett_lte_rrc_sib12_fragment,
+ &ett_lte_rrc_sib12_fragments,
+ &ett_lte_rrc_nr_SecondaryCellGroupConfig_r15,
+ &ett_lte_rrc_nr_RadioBearerConfig_r15,
+ &ett_lte_rrc_nr_RadioBearerConfigS_r15,
+ &ett_lte_rrc_sl_ConfigDedicatedForNR_r16,
+ &ett_lte_rrc_nr_SecondaryCellGroupConfig,
+ &ett_lte_rrc_scg_ConfigResponseNR_r15,
+ &ett_lte_rrc_scg_ConfigResponseNR_r16,
+ &ett_lte_rrc_measResultSCG_r15,
+ &ett_lte_rrc_measResultSCG_r16,
+ &ett_lte_rrc_ul_DCCH_MessageNR_r15,
+ &ett_lte_rrc_ul_DCCH_MessageNR_r16,
+ &ett_lte_rrc_sourceRB_ConfigNR_r15,
+ &ett_lte_rrc_sourceRB_ConfigSN_NR_r15,
+ &ett_lte_rrc_sourceOtherConfigSN_NR_r15,
+ &ett_lte_rrc_sourceContextEN_DC_r15,
+ &ett_lte_rrc_requestedFreqBandsNR_MRDC_r15,
+ &ett_lte_rrc_measGapPatterns_r15,
+ &ett_lte_rrc_nas_Container_r15,
+ &ett_lte_rrc_sourceRB_ConfigIntra5GC_r15,
+ &ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540,
+ &ett_lte_rrc_requestedCapabilityCommon_r15,
+ &ett_lte_rrc_sidelinkUEInformationNR_r16,
+ &ett_lte_rrc_ueAssistanceInformationNR_r16,
+ &ett_lte_rrc_sl_ParameterNR_r16,
+ &ett_lte_rrc_v2x_BandParametersNR_r16,
+ &ett_lte_rrc_ueAssistanceInformationNR_SCG_r16,
+ &ett_lte_rrc_assistanceDataSIB_Element_r15,
+ &ett_lte_rrc_overheatingAssistanceForSCG_r16,
+ &ett_lte_rrc_overheatingAssistanceForSCG_FR2_2_r17,
+ &ett_lte_rrc_triggerConditionSN_r17
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_lte_rrc_number_pages_le15, { "lte_rrc.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }},
+ { &ei_lte_rrc_si_info_value_changed, { "lte_rrc.si_info_value_changed", PI_SEQUENCE, PI_WARN, "SI Info Value changed", EXPFILL }},
+ { &ei_lte_rrc_sibs_changing, { "lte_rrc.sibs_changing", PI_SEQUENCE, PI_WARN, "SIBs changing in next BCCH modification period - signalled in Paging message", EXPFILL }},
+ { &ei_lte_rrc_sibs_changing_edrx, { "lte_rrc.sibs_changing_edrx", PI_SEQUENCE, PI_WARN, "SIBs changing in next BCCH modification period for UEs in eDRX mode - signalled in Paging message", EXPFILL }},
+ { &ei_lte_rrc_earthquake_warning_sys, { "lte_rrc.earthquake_warning_sys", PI_SEQUENCE, PI_WARN, "Earthquake and Tsunami Warning System Indication!", EXPFILL }},
+ { &ei_lte_rrc_commercial_mobile_alert_sys, { "lte_rrc.commercial_mobile_alert_sys", PI_SEQUENCE, PI_WARN, "Commercial Mobile Alert System Indication!", EXPFILL }},
+ { &ei_lte_rrc_unexpected_type_value, { "lte_rrc.unexpected_type_value", PI_MALFORMED, PI_ERROR, "Unexpected type value", EXPFILL }},
+ { &ei_lte_rrc_unexpected_length_value, { "lte_rrc.unexpected_length_value", PI_MALFORMED, PI_ERROR, "Unexpected type length", EXPFILL }},
+ { &ei_lte_rrc_too_many_group_a_rapids, { "lte_rrc.too_many_groupa_rapids", PI_MALFORMED, PI_ERROR, "Too many group A RAPIDs", EXPFILL }},
+ { &ei_lte_rrc_invalid_drx_config, { "lte_rrc.invalid_drx_config", PI_MALFORMED, PI_ERROR, "Invalid dedicated DRX config detected", EXPFILL }},
+ };
+
+ expert_module_t* expert_lte_rrc;
+ module_t *lte_rrc_module;
+
+ /* Register protocol */
+ proto_lte_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* These entry points will first create an lte_rrc root node */
+ lte_rrc_dl_ccch_handle = register_dissector("lte_rrc.dl_ccch", dissect_lte_rrc_DL_CCCH, proto_lte_rrc);
+ register_dissector("lte_rrc.dl_dcch", dissect_lte_rrc_DL_DCCH, proto_lte_rrc);
+ register_dissector("lte_rrc.ul_ccch", dissect_lte_rrc_UL_CCCH, proto_lte_rrc);
+ register_dissector("lte_rrc.ul_dcch", dissect_lte_rrc_UL_DCCH, proto_lte_rrc);
+ register_dissector("lte_rrc.bcch_bch", dissect_lte_rrc_BCCH_BCH, proto_lte_rrc);
+ register_dissector("lte_rrc.bcch_dl_sch", dissect_lte_rrc_BCCH_DL_SCH, proto_lte_rrc);
+ register_dissector("lte_rrc.bcch_dl_sch_br", dissect_lte_rrc_BCCH_DL_SCH_BR, proto_lte_rrc);
+ register_dissector("lte_rrc.pcch", dissect_lte_rrc_PCCH, proto_lte_rrc);
+ register_dissector("lte_rrc.mcch", dissect_lte_rrc_MCCH, proto_lte_rrc);
+ register_dissector("lte_rrc.handover_prep_info", dissect_lte_rrc_Handover_Preparation_Info, proto_lte_rrc);
+ register_dissector("lte_rrc.sbcch_sl_bch", dissect_lte_rrc_SBCCH_SL_BCH, proto_lte_rrc);
+ register_dissector("lte_rrc.sbcch_sl_bch.v2x", dissect_lte_rrc_SBCCH_SL_BCH_V2X, proto_lte_rrc);
+ register_dissector("lte_rrc.sc_mcch", dissect_lte_rrc_SC_MCCH, proto_lte_rrc);
+ register_dissector("lte_rrc.dl_ccch.nb", dissect_lte_rrc_DL_CCCH_NB, proto_lte_rrc);
+ register_dissector("lte_rrc.dl_dcch.nb", dissect_lte_rrc_DL_DCCH_NB, proto_lte_rrc);
+ register_dissector("lte_rrc.ul_ccch.nb", dissect_lte_rrc_UL_CCCH_NB, proto_lte_rrc);
+ register_dissector("lte_rrc.ul_dcch.nb", dissect_lte_rrc_UL_DCCH_NB, proto_lte_rrc);
+ register_dissector("lte_rrc.bcch_bch.nb", dissect_lte_rrc_BCCH_BCH_NB, proto_lte_rrc);
+ register_dissector("lte_rrc.bcch_bch.nb.tdd", dissect_lte_rrc_BCCH_BCH_TDD_NB, proto_lte_rrc);
+ register_dissector("lte_rrc.bcch_dl_sch.nb", dissect_lte_rrc_BCCH_DL_SCH_NB, proto_lte_rrc);
+ register_dissector("lte_rrc.pcch.nb", dissect_lte_rrc_PCCH_NB, proto_lte_rrc);
+ register_dissector("lte_rrc.sc_mcch.nb", dissect_lte_rrc_SC_MCCH_NB, proto_lte_rrc);
+ register_dissector("lte_rrc.bcch_bch.mbms", dissect_lte_rrc_BCCH_BCH_MBMS, proto_lte_rrc);
+ register_dissector("lte_rrc.bcch_dl_sch.mbms", dissect_lte_rrc_BCCH_DL_SCH_MBMS, proto_lte_rrc);
+ register_dissector("lte-rrc.ue_eutra_cap.msg", dissect_lte_rrc_ue_eutra_capability_msg, proto_lte_rrc);
+ register_dissector("lte-rrc.ue_radio_access_cap_info.msg", dissect_lte_rrc_ueradioaccesscapabilityinformation_msg, proto_lte_rrc);
+ register_dissector("lte-rrc.systeminformationblocktype1_v890_ies", dissect_lte_rrc_dissect_SystemInformationBlockType1_v890_IEs, proto_lte_rrc);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_lte_rrc, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_lte_rrc = expert_register_protocol(proto_lte_rrc);
+ expert_register_field_array(expert_lte_rrc, ei, array_length(ei));
+
+ /* Register the dissectors defined in lte-rrc.conf */
+#include "packet-lte-rrc-dis-reg.c"
+
+ lte_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal);
+ lte_rrc_system_info_value_changed_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal);
+
+ reassembly_table_register(&lte_rrc_sib11_reassembly_table,
+ &addresses_reassembly_table_functions);
+ reassembly_table_register(&lte_rrc_sib12_reassembly_table,
+ &addresses_reassembly_table_functions);
+
+ /* Register configuration preferences */
+ lte_rrc_module = prefs_register_protocol(proto_lte_rrc, NULL);
+ prefs_register_bool_preference(lte_rrc_module, "nas_in_root_tree",
+ "Show NAS PDU in root packet details",
+ "Whether the NAS PDU should be shown in the root packet details tree",
+ &lte_rrc_nas_in_root_tree);
+}
+
+
+/*--- proto_reg_handoff_rrc ---------------------------------------*/
+void
+proto_reg_handoff_lte_rrc(void)
+{
+ dissector_add_for_decode_as_with_preference("udp.port", lte_rrc_dl_ccch_handle);
+ nas_eps_handle = find_dissector("nas-eps");
+ nas_5gs_handle = find_dissector("nas-5gs");
+ rrc_irat_ho_to_utran_cmd_handle = find_dissector("rrc.irat.ho_to_utran_cmd");
+ rrc_sys_info_cont_handle = find_dissector("rrc.sysinfo.cont");
+ gsm_a_dtap_handle = find_dissector("gsm_a_dtap");
+ gsm_rlcmac_dl_handle = find_dissector("gsm_rlcmac_dl");
+ nr_rrc_reconf_handle = find_dissector("nr-rrc.rrc_reconf");
+ lte_rrc_conn_reconf_handle = find_dissector("lte-rrc.rrc_conn_reconf");
+}
+
+
diff --git a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.h b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.h
new file mode 100644
index 00000000..3495be91
--- /dev/null
+++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.h
@@ -0,0 +1,18 @@
+/* packet-lte-rrc-template.h
+ * Copyright 2009, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_LTE_RRC_H
+#define PACKET_LTE_RRC_H
+
+extern value_string_ext lte_rrc_messageIdentifier_vals_ext;
+
+#include "packet-lte-rrc-exp.h"
+
+#endif /* PACKET_LTE_RRC_H */
diff --git a/epan/dissectors/asn1/m2ap/CMakeLists.txt b/epan/dissectors/asn1/m2ap/CMakeLists.txt
new file mode 100644
index 00000000..55f8823f
--- /dev/null
+++ b/epan/dissectors/asn1/m2ap/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME m2ap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ M2AP-CommonDataTypes.asn
+ M2AP-Constants.asn
+ M2AP-Containers.asn
+ M2AP-IEs.asn
+ M2AP-PDU-Contents.asn
+ M2AP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/m2ap/M2AP-CommonDataTypes.asn b/epan/dissectors/asn1/m2ap/M2AP-CommonDataTypes.asn
new file mode 100644
index 00000000..25f239bc
--- /dev/null
+++ b/epan/dissectors/asn1/m2ap/M2AP-CommonDataTypes.asn
@@ -0,0 +1,49 @@
+-- 3GPP TS 36.443 V17.0.1 (2022-04)
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+M2AP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m2ap (4) version1 (1) m2ap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0.. maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
+
+END
diff --git a/epan/dissectors/asn1/m2ap/M2AP-Constants.asn b/epan/dissectors/asn1/m2ap/M2AP-Constants.asn
new file mode 100644
index 00000000..a13990cc
--- /dev/null
+++ b/epan/dissectors/asn1/m2ap/M2AP-Constants.asn
@@ -0,0 +1,118 @@
+-- 3GPP TS 36.443 V17.0.1 (2022-04)
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+M2AP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m2ap (4) version1 (1) m2ap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM M2AP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-sessionStart ProcedureCode ::= 0
+id-sessionStop ProcedureCode ::= 1
+id-mbmsSchedulingInformation ProcedureCode ::= 2
+id-errorIndication ProcedureCode ::= 3
+id-reset ProcedureCode ::= 4
+id-m2Setup ProcedureCode ::= 5
+id-eNBConfigurationUpdate ProcedureCode ::= 6
+id-mCEConfigurationUpdate ProcedureCode ::= 7
+id-privateMessage ProcedureCode ::= 8
+id-sessionUpdate ProcedureCode ::= 9
+id-mbmsServiceCounting ProcedureCode ::= 10
+id-mbmsServiceCountingResultsReport ProcedureCode ::= 11
+id-mbmsOverloadNotification ProcedureCode ::= 12
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxnoofMBSFNareas INTEGER ::= 256
+maxnoofMBSFN-Allocations INTEGER ::= 8
+maxnoofPMCHsperMBSFNarea INTEGER ::= 15
+maxnoofCells INTEGER ::= 256
+maxnoofMBMSServiceAreasPerCell INTEGER ::= 256
+maxnoofSessionsPerPMCH INTEGER ::= 29
+maxnooferrors INTEGER ::= 256
+maxNrOfIndividualM2ConnectionsToReset INTEGER ::= 256
+maxnoofCountingService INTEGER ::= 16
+maxnoofCellsforMBMS INTEGER ::= 4096
+
+
+-- **************************************************************
+--
+-- Ies
+--
+-- **************************************************************
+
+id-MCE-MBMS-M2AP-ID ProtocolIE-ID ::= 0
+id-ENB-MBMS-M2AP-ID ProtocolIE-ID ::= 1
+id-TMGI ProtocolIE-ID ::= 2
+id-MBMS-Session-ID ProtocolIE-ID ::= 3
+id-MBMS-Service-Area ProtocolIE-ID ::= 6
+id-TNL-Information ProtocolIE-ID ::= 7
+id-CriticalityDiagnostics ProtocolIE-ID ::= 8
+id-Cause ProtocolIE-ID ::= 9
+id-MBSFN-Area-Configuration-List ProtocolIE-ID ::= 10
+id-PMCH-Configuration-List ProtocolIE-ID ::= 11
+id-PMCH-Configuration-Item ProtocolIE-ID ::= 12
+id-GlobalENB-ID ProtocolIE-ID ::= 13
+id-ENBname ProtocolIE-ID ::= 14
+id-ENB-MBMS-Configuration-data-List ProtocolIE-ID ::= 15
+id-ENB-MBMS-Configuration-data-Item ProtocolIE-ID ::= 16
+id-GlobalMCE-ID ProtocolIE-ID ::= 17
+id-MCEname ProtocolIE-ID ::= 18
+id-MCCHrelatedBCCH-ConfigPerMBSFNArea ProtocolIE-ID ::= 19
+id-MCCHrelatedBCCH-ConfigPerMBSFNArea-Item ProtocolIE-ID ::= 20
+id-TimeToWait ProtocolIE-ID ::= 21
+id-MBSFN-Subframe-Configuration-List ProtocolIE-ID ::= 22
+id-MBSFN-Subframe-Configuration-Item ProtocolIE-ID ::= 23
+id-Common-Subframe-Allocation-Period ProtocolIE-ID ::= 24
+id-MCCH-Update-Time ProtocolIE-ID ::= 25
+id-ENB-MBMS-Configuration-data-List-ConfigUpdate ProtocolIE-ID ::= 26
+id-ENB-MBMS-Configuration-data-ConfigUpdate-Item ProtocolIE-ID ::= 27
+id-MBMS-Service-associatedLogicalM2-ConnectionItem ProtocolIE-ID ::= 28
+id-MBSFN-Area-ID ProtocolIE-ID ::= 29
+id-ResetType ProtocolIE-ID ::= 30
+id-MBMS-Service-associatedLogicalM2-ConnectionListResAck ProtocolIE-ID ::= 31
+id-MBMS-Counting-Request-Session ProtocolIE-ID ::= 32
+id-MBMS-Counting-Request-Session-Item ProtocolIE-ID ::= 33
+id-MBMS-Counting-Result-List ProtocolIE-ID ::= 34
+id-MBMS-Counting-Result-Item ProtocolIE-ID ::= 35
+id-Modulation-Coding-Scheme2 ProtocolIE-ID ::= 36
+id-MCH-Scheduling-PeriodExtended ProtocolIE-ID ::= 37
+id-Alternative-TNL-Information ProtocolIE-ID ::= 38
+id-Overload-Status-Per-PMCH-List ProtocolIE-ID ::= 39
+id-PMCH-Overload-Status ProtocolIE-ID ::= 41
+id-Active-MBMS-Session-List ProtocolIE-ID ::= 42
+id-MBMS-Suspension-Notification-List ProtocolIE-ID ::= 43
+id-MBMS-Suspension-Notification-Item ProtocolIE-ID ::= 44
+id-SC-PTM-Information ProtocolIE-ID ::= 45
+id-Modification-PeriodExtended ProtocolIE-ID ::= 46
+id-Repetition-PeriodExtended ProtocolIE-ID ::= 47
+id-MCH-Scheduling-PeriodExtended2 ProtocolIE-ID ::= 48
+id-Subcarrier-SpacingMBMS ProtocolIE-ID ::= 49
+id-SubframeAllocationExtended ProtocolIE-ID ::= 50
+id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item ProtocolIE-ID ::= 51
+id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea ProtocolIE-ID ::= 52
+id-SubframeAllocationFurtherExtension ProtocolIE-ID ::= 53
+id-AdditionalConfigParameters ProtocolIE-ID ::= 54
+
+END
diff --git a/epan/dissectors/asn1/m2ap/M2AP-Containers.asn b/epan/dissectors/asn1/m2ap/M2AP-Containers.asn
new file mode 100644
index 00000000..1be56583
--- /dev/null
+++ b/epan/dissectors/asn1/m2ap/M2AP-Containers.asn
@@ -0,0 +1,195 @@
+-- 3GPP TS 36.443 V17.0.1 (2022-04)
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+M2AP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m2ap (4) version1 (1) m2ap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+FROM M2AP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Ies
+--
+-- **************************************************************
+
+M2AP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Ies
+--
+-- **************************************************************
+
+M2AP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+M2AP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private Ies
+--
+-- **************************************************************
+
+M2AP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol Ies
+--
+-- **************************************************************
+
+ProtocolIE-Container {M2AP-PROTOCOL-IES : IesSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IesSetParam}}
+
+ProtocolIE-Single-Container {M2AP-PROTOCOL-IES : IesSetParam} ::=
+ ProtocolIE-Field {{IesSetParam}}
+
+ProtocolIE-Field {M2AP-PROTOCOL-IES : IesSetParam} ::= SEQUENCE {
+ id M2AP-PROTOCOL-IES.&id ({IesSetParam}),
+ criticality M2AP-PROTOCOL-IES.&criticality ({IesSetParam}{@id}),
+ value M2AP-PROTOCOL-IES.&Value ({IesSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {M2AP-PROTOCOL-IES-PAIR : IesSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IesSetParam}}
+
+ProtocolIE-FieldPair {M2AP-PROTOCOL-IES-PAIR : IesSetParam} ::= SEQUENCE {
+ id M2AP-PROTOCOL-IES-PAIR.&id ({IesSetParam}),
+ firstCriticality M2AP-PROTOCOL-IES-PAIR.&firstCriticality ({IesSetParam}{@id}),
+ firstValue M2AP-PROTOCOL-IES-PAIR.&FirstValue ({IesSetParam}{@id}),
+ secondCriticality M2AP-PROTOCOL-IES-PAIR.&secondCriticality ({IesSetParam}{@id}),
+ secondValue M2AP-PROTOCOL-IES-PAIR.&SecondValue ({IesSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, M2AP-PROTOCOL-IES : IesSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IesSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, M2AP-PROTOCOL-IES-PAIR : IesSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IesSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {M2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {M2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id M2AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality M2AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue M2AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private Ies
+--
+-- **************************************************************
+
+PrivateIE-Container {M2AP-PRIVATE-IES : IesSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IesSetParam}}
+
+PrivateIE-Field {M2AP-PRIVATE-IES : IesSetParam} ::= SEQUENCE {
+ id M2AP-PRIVATE-IES.&id ({IesSetParam}),
+ criticality M2AP-PRIVATE-IES.&criticality ({IesSetParam}{@id}),
+ value M2AP-PRIVATE-IES.&Value ({IesSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/m2ap/M2AP-IEs.asn b/epan/dissectors/asn1/m2ap/M2AP-IEs.asn
new file mode 100644
index 00000000..0996c14f
--- /dev/null
+++ b/epan/dissectors/asn1/m2ap/M2AP-IEs.asn
@@ -0,0 +1,537 @@
+-- 3GPP TS 36.443 V17.0.1 (2022-04)
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+M2AP-Ies {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m2ap (4) version1 (1) m2ap-Ies (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ id-MCH-Scheduling-PeriodExtended,
+ id-MCH-Scheduling-PeriodExtended2,
+ id-Modification-PeriodExtended,
+ id-Modulation-Coding-Scheme2,
+ id-Repetition-PeriodExtended,
+ id-Subcarrier-SpacingMBMS,
+ id-SubframeAllocationExtended,
+ id-SubframeAllocationFurtherExtension,
+ id-AdditionalConfigParameters,
+ maxnoofMBSFNareas,
+ maxnoofPMCHsperMBSFNarea,
+ maxnoofCells,
+ maxnoofMBMSServiceAreasPerCell,
+ maxnoofSessionsPerPMCH,
+ maxnooferrors,
+ maxnoofCellsforMBMS
+
+FROM M2AP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM M2AP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Single-Container{},
+ M2AP-PROTOCOL-EXTENSION,
+ M2AP-PROTOCOL-IES
+FROM M2AP-Containers;
+
+-- A
+
+AdditionalConfigParameters ::= SEQUENCE {
+ pmch-Bandwidth PMCH-Bandwidth,
+ iE-Extensions ProtocolExtensionContainer { {AdditionalConfigParameters-ExtIEs} } OPTIONAL
+}
+
+AdditionalConfigParameters-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AllocatedSubframesEnd ::= INTEGER (0..1535)
+
+AllocationAndRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL
+}
+
+AllocationAndRetentionPriority-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- B
+
+BitRate ::= INTEGER (0..10000000000)
+
+-- C
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ nAS CauseNAS,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ hardware-failure,
+ om-intervention,
+ unspecified,
+ ...
+}
+
+CauseNAS ::= ENUMERATED {
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ abstract-syntax-error-falsely-constructed-message,
+ unspecified,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unknown-or-already-allocated-MCE-MBMS-M2AP-ID,
+ unknown-or-already-allocated-eNB-MBMS-M2AP-ID,
+ unknown-or-inconsistent-pair-of-MBMS-M2AP-IDs,
+ radio-resources-not-available,
+ interaction-with-other-procedure,
+ unspecified,
+ ...,
+ invalid-QoS-combination,
+ not-supported-QCI-value
+
+}
+
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+Cell-Information ::= SEQUENCE {
+ eCGI ECGI,
+ cellReservationInfo ENUMERATED {reservedCell, nonReservedCell, ...},
+ iE-Extensions ProtocolExtensionContainer { { Cell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cell-Information-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cell-Information-List ::= SEQUENCE (SIZE(1..maxnoofCells)) OF Cell-Information
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CriticalityDiagnostics-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxnooferrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- D
+-- E
+
+ECGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ eUTRANcellIdentifier EUTRANCellIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {ECGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ECGI-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ENB-ID ::= CHOICE {
+ macro-eNB-ID BIT STRING (SIZE (20)),
+ ... ,
+ short-Macro-eNB-ID BIT STRING (SIZE(18)),
+ long-Macro-eNB-ID BIT STRING (SIZE(21))
+}
+
+ENB-MBMS-Configuration-data-Item ::= SEQUENCE {
+ eCGI ECGI,
+ mbsfnSynchronisationArea MBSFN-SynchronisationArea-ID,
+ mbmsServiceAreaList MBMS-Service-Area-ID-List,
+ iE-Extensions ProtocolExtensionContainer { { ENB-MBMS-Configuration-data-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ENB-MBMS-Configuration-data-Item-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ENB-MBMS-Configuration-data-ConfigUpdate-Item ::= CHOICE {
+ mBMSConfigData ENB-MBMS-Configuration-data-Item,
+ eCGI ECGI,
+ ...
+}
+
+ENB-MBMS-M2AP-ID ::= INTEGER (0..65535)
+
+ENBname ::= PrintableString (SIZE (1..150,...))
+
+EUTRANCellIdentifier ::= BIT STRING (SIZE (28))
+
+
+-- F
+-- G
+
+GBR-QosInformation ::= SEQUENCE {
+ mBMS-E-RAB-MaximumBitrateDL BitRate,
+ mBMS-E-RAB-GuaranteedBitrateDL BitRate,
+ iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBR-QosInformation-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GlobalENB-ID ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ eNB-ID ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalENB-ID-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GlobalMCE-ID ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ mCE-ID MCE-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalMCE-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalMCE-ID-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GTP-TEID ::= OCTET STRING (SIZE (4))
+
+-- H
+-- I
+
+IPAddress ::= OCTET STRING (SIZE(4..16))
+
+-- J
+-- K
+-- L
+
+LCID ::= INTEGER (0..28)
+
+-- M
+
+MBMS-Cell-List ::= SEQUENCE (SIZE(1.. maxnoofCellsforMBMS)) OF ECGI
+
+MBMS-E-RAB-QoS-Parameters ::= SEQUENCE {
+ qCI QCI,
+ gbrQosInformation GBR-QosInformation OPTIONAL,
+ allocationAndRetentionPriority AllocationAndRetentionPriority,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-E-RAB-QoS-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-E-RAB-QoS-Parameters-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Service-associatedLogicalM2-ConnectionItem ::= SEQUENCE {
+ eNB-MBMS-M2AP-ID ENB-MBMS-M2AP-ID OPTIONAL,
+ mCE-MBMS-M2AP-ID MCE-MBMS-M2AP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Service-associatedLogicalM2-ConnectionItemExtIEs} } OPTIONAL,
+ ...
+}
+
+
+MBMS-Service-associatedLogicalM2-ConnectionItemExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Service-Area ::= OCTET STRING
+
+MBMS-Service-Area-ID-List ::= SEQUENCE (SIZE(1..maxnoofMBMSServiceAreasPerCell)) OF MBMS-Service-Area
+
+MBMS-Session-ID ::= OCTET STRING (SIZE (1))
+
+MBMSsessionListPerPMCH-Item ::= SEQUENCE (SIZE(1..maxnoofSessionsPerPMCH)) OF SEQUENCE {
+ tmgi TMGI,
+ lcid LCID,
+ iE-Extensions ProtocolExtensionContainer { { MBMSsessionListPerPMCH-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMSsessionListPerPMCH-Item-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMSsessionsToBeSuspendedListPerPMCH-Item ::= SEQUENCE (SIZE(1..maxnoofSessionsPerPMCH)) OF SEQUENCE {
+ tmgi TMGI,
+ iE-Extensions ProtocolExtensionContainer { { MBMSsessionsToBeSuspendedListPerPMCH-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMSsessionsToBeSuspendedListPerPMCH-Item-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSFN-Area-ID ::= INTEGER (0..255)
+
+MBSFN-SynchronisationArea-ID ::= INTEGER (0..65535)
+
+MBSFN-Subframe-Configuration ::= SEQUENCE {
+ radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},
+ radioframeAllocationOffset INTEGER (0..7),
+ subframeAllocation CHOICE {
+ oneFrame BIT STRING (SIZE (6) ),
+ fourFrames BIT STRING (SIZE (24) ) },
+ iE-Extensions ProtocolExtensionContainer { { MBSFN-Subframe-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSFN-Subframe-Configuration-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ {ID id-SubframeAllocationExtended CRITICALITY reject EXTENSION SubframeAllocationExtended PRESENCE optional}|
+ {ID id-SubframeAllocationFurtherExtension CRITICALITY reject EXTENSION SubframeAllocationFurtherExtension PRESENCE optional},
+ ...
+}
+
+MCCH-Update-Time ::= INTEGER (0..255)
+
+MCCHrelatedBCCH-ConfigPerMBSFNArea-Item ::= SEQUENCE {
+ mbsfnArea MBSFN-Area-ID,
+ pdcchLength ENUMERATED {s1, s2, ...},
+ repetitionPeriod ENUMERATED {rf32, rf64, rf128, rf256},
+ offset INTEGER (0..10),
+ modificationPeriod ENUMERATED {rf512, rf1024},
+ subframeAllocationInfo BIT STRING (SIZE(6)),
+ modulationAndCodingScheme ENUMERATED {n2, n7, n13, n19},
+ cellInformationList Cell-Information-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MCCHrelatedBCCH-ConfigPerMBSFNArea-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCCHrelatedBCCH-ConfigPerMBSFNArea-Item-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Rel-14 to support MCCH repetition period values –-
+ {ID id-Repetition-PeriodExtended CRITICALITY reject EXTENSION Repetition-PeriodExtended PRESENCE optional}|
+-- Extension for Rel-14 to support MCCH modification period values –-
+ {ID id-Modification-PeriodExtended CRITICALITY reject EXTENSION Modification-PeriodExtended PRESENCE optional}|
+ {ID id-Subcarrier-SpacingMBMS CRITICALITY reject EXTENSION Subcarrier-SpacingMBMS PRESENCE optional},
+ ...
+}
+
+MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item ::= SEQUENCE {
+ mbsfnArea MBSFN-Area-ID,
+ repetitionPeriodExpanded ENUMERATED {rf1, rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256, ...},
+ offset INTEGER (0..10),
+ modificationPeriodExpanded ENUMERATED {rf1, rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256, rf512, rf1024, ...},
+ subframeAllocationInfoExpanded BIT STRING (SIZE(10)),
+ modulationAndCodingScheme ENUMERATED {n2, n7, n13, n19},
+ subcarrier-SpacingMBMSExpanded ENUMERATED {khz-7dot5, khz-2dot5, khz-1dot25, khz-0dot37, ..., kHz-15},
+ timeSeparation ENUMERATED {sl2, sl4, ...} OPTIONAL,
+ cellInformationList Cell-Information-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ -- Extension for Rel-17 to support PMCH Bandwidth values –-
+ {ID id-AdditionalConfigParameters CRITICALITY reject EXTENSION AdditionalConfigParameters PRESENCE optional},
+ ...
+}
+
+MCE-ID ::= OCTET STRING (SIZE(2))
+
+MCE-MBMS-M2AP-ID ::= INTEGER (0.. 16777215)
+
+MCEname ::= PrintableString (SIZE (1..150,...))
+
+
+MCH-Scheduling-Period ::= ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512, rf1024}
+
+MCH-Scheduling-PeriodExtended ::= ENUMERATED {rf4, ...}
+
+MCH-Scheduling-PeriodExtended2 ::= ENUMERATED {rf1, rf2, ...}
+
+
+Modulation-Coding-Scheme2 ::= INTEGER (0..27)
+
+Modification-PeriodExtended ::= ENUMERATED {rf1, rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256, ...}
+
+-- N
+-- O
+-- P
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+PMCH-Bandwidth ::= ENUMERATED {n40, n35, n30, ...}
+
+PMCH-Configuration ::= SEQUENCE {
+ allocatedSubframesEnd AllocatedSubframesEnd,
+ dataMCS INTEGER (0..28),
+ mchSchedulingPeriod MCH-Scheduling-Period,
+ iE-Extensions ProtocolExtensionContainer { {PMCH-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PMCH-Configuration-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Rel-12 to support 256QAM for MTCH –
+ {ID id-Modulation-Coding-Scheme2 CRITICALITY reject EXTENSION Modulation-Coding-Scheme2 PRESENCE optional}|
+-- Extension for Rel-12 to support shorter MCH scheduling period –
+ {ID id-MCH-Scheduling-PeriodExtended CRITICALITY reject EXTENSION MCH-Scheduling-PeriodExtended PRESENCE optional}|
+-- Extension for Rel-14 to support shorter MCH scheduling period values –
+ {ID id-MCH-Scheduling-PeriodExtended2 CRITICALITY reject EXTENSION MCH-Scheduling-PeriodExtended2 PRESENCE optional},
+ ...
+}
+
+Common-Subframe-Allocation-Period ::= ENUMERATED {rf4, rf8, rf16, rf32, rf64, rf128, rf256}
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable
+}
+
+PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
+
+-- Q
+
+QCI ::= INTEGER (0..255)
+
+-- R
+
+Repetition-PeriodExtended ::= ENUMERATED {rf1, rf2, rf4, rf8, rf16, ...}
+
+-- S
+
+SC-PTM-Information ::= SEQUENCE {
+ mbmsCellList MBMS-Cell-List,
+ mbms-E-RAB-QoS-Parameters MBMS-E-RAB-QoS-Parameters,
+ iE-Extensions ProtocolExtensionContainer { {SC-PTM-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SC-PTM-Information-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFN ::= INTEGER (0..1023)
+
+Subcarrier-SpacingMBMS ::= ENUMERATED {khz-7dot5, khz-1dot25, ...}
+
+SubframeAllocationExtended ::= CHOICE {
+ oneFrameExtension BIT STRING (SIZE(2)),
+ fourFrameExtension BIT STRING (SIZE(8)),
+ choice-extension ProtocolIE-Single-Container { { SubframeAllocationExtended-ExtIEs} },
+
+ ...
+}
+
+
+SubframeAllocationExtended-ExtIEs M2AP-PROTOCOL-IES ::= { ...
+}
+
+SubframeAllocationFurtherExtension ::= CHOICE {
+ oneFrameFurtherExtension BIT STRING (SIZE(2)),
+ fourFrameFurtherExtension BIT STRING (SIZE(8)),
+ choice-extension ProtocolIE-Single-Container { { SubframeAllocationFurtherExtension-ExtIEs} },
+
+ ...
+}
+
+
+SubframeAllocationFurtherExtension-ExtIEs M2AP-PROTOCOL-IES ::= { ...
+}
+
+
+-- T
+
+TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
+
+TMGI ::= SEQUENCE {
+ pLMNidentity PLMN-Identity,
+ serviceID OCTET STRING (SIZE (3)),
+ iE-Extensions ProtocolExtensionContainer { {TMGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TMGI-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TNL-Information ::= SEQUENCE {
+ iPMCAddress IPAddress,
+ iPSourceAddress IPAddress,
+ gTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { {TNL-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNL-Information-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+
+-- U
+-- V
+-- W
+-- X
+-- Y
+-- Z
+
+END
diff --git a/epan/dissectors/asn1/m2ap/M2AP-PDU-Contents.asn b/epan/dissectors/asn1/m2ap/M2AP-PDU-Contents.asn
new file mode 100644
index 00000000..05b55987
--- /dev/null
+++ b/epan/dissectors/asn1/m2ap/M2AP-PDU-Contents.asn
@@ -0,0 +1,799 @@
+-- 3GPP TS 36.443 V17.0.1 (2022-04)
+-- **************************************************************
+--
+-- PDU definitions for M2AP.
+--
+-- **************************************************************
+
+M2AP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m2ap (4) version1 (1) m2ap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ Cause,
+ CriticalityDiagnostics,
+ ENB-MBMS-Configuration-data-Item,
+ ENB-MBMS-Configuration-data-ConfigUpdate-Item,
+ ENB-MBMS-M2AP-ID,
+ ENBname,
+ GlobalENB-ID,
+ GlobalMCE-ID,
+ MBSFN-Area-ID,
+ MBMS-Service-Area,
+ MBMS-Session-ID,
+ MBMSsessionListPerPMCH-Item,
+ MBMS-Service-associatedLogicalM2-ConnectionItem,
+ MBSFN-Subframe-Configuration,
+ MCCH-Update-Time,
+ MCCHrelatedBCCH-ConfigPerMBSFNArea-Item,
+ MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item,
+ MCE-MBMS-M2AP-ID,
+ MCEname,
+ PMCH-Configuration,
+ Common-Subframe-Allocation-Period,
+ TimeToWait,
+ TMGI,
+ TNL-Information,
+ SFN,
+ MBMSsessionsToBeSuspendedListPerPMCH-Item,
+ SC-PTM-Information
+
+FROM M2AP-Ies
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-ContainerPairList{},
+ ProtocolIE-Single-Container{},
+ M2AP-PRIVATE-IES,
+ M2AP-PROTOCOL-EXTENSION,
+ M2AP-PROTOCOL-IES,
+ M2AP-PROTOCOL-IES-PAIR
+FROM M2AP-Containers
+
+ id-MCE-MBMS-M2AP-ID,
+ id-ENB-MBMS-M2AP-ID,
+ id-TMGI,
+ id-MBMS-Session-ID,
+ id-MBMS-Service-Area,
+ id-TNL-Information,
+ id-Alternative-TNL-Information,
+ id-CriticalityDiagnostics,
+ id-Cause,
+ id-MBSFN-Area-Configuration-List,
+ id-MBSFN-Subframe-Configuration-Item,
+ id-MBSFN-Subframe-Configuration-List,
+ id-MCCH-Update-Time,
+ id-PMCH-Configuration-List,
+ id-PMCH-Configuration-Item,
+ id-Common-Subframe-Allocation-Period,
+ id-GlobalENB-ID,
+ id-ENBname,
+ id-ENB-MBMS-Configuration-data-List,
+ id-ENB-MBMS-Configuration-data-Item,
+ id-GlobalMCE-ID,
+ id-MCEname,
+ id-MCCHrelatedBCCH-ConfigPerMBSFNArea,
+ id-MCCHrelatedBCCH-ConfigPerMBSFNArea-Item,
+ id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea,
+ id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item,
+ id-TimeToWait,
+ id-ENB-MBMS-Configuration-data-List-ConfigUpdate,
+ id-ENB-MBMS-Configuration-data-ConfigUpdate-Item,
+ id-MBSFN-Area-ID,
+ id-ResetType,
+ id-MBMS-Service-associatedLogicalM2-ConnectionItem,
+ id-MBMS-Service-associatedLogicalM2-ConnectionListResAck,
+ id-MBMS-Counting-Request-Session,
+ id-MBMS-Counting-Request-Session-Item,
+ id-MBMS-Counting-Result-List,
+ id-MBMS-Counting-Result-Item,
+ id-MBMS-Suspension-Notification-List,
+ id-MBMS-Suspension-Notification-Item,
+ id-PMCH-Overload-Status,
+ id-Overload-Status-Per-PMCH-List,
+ id-Active-MBMS-Session-List,
+ id-SC-PTM-Information,
+ maxnoofMBSFN-Allocations,
+ maxnoofMBSFNareas,
+ maxnoofPMCHsperMBSFNarea,
+ maxnoofCells,
+ maxnoofMBMSServiceAreasPerCell,
+ maxnoofSessionsPerPMCH,
+ maxnooferrors,
+ maxNrOfIndividualM2ConnectionsToReset,
+ maxnoofCountingService
+
+FROM M2AP-Constants;
+
+-- **************************************************************
+--
+-- SESSION START REQUEST
+--
+-- **************************************************************
+
+SessionStartRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SessionStartRequest-Ies}},
+ ...
+}
+
+SessionStartRequest-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCE-MBMS-M2AP-ID CRITICALITY reject TYPE MCE-MBMS-M2AP-ID PRESENCE mandatory}|
+ { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory}|
+ { ID id-MBMS-Session-ID CRITICALITY ignore TYPE MBMS-Session-ID PRESENCE optional}|
+ { ID id-MBMS-Service-Area CRITICALITY reject TYPE MBMS-Service-Area PRESENCE mandatory}|
+ { ID id-TNL-Information CRITICALITY reject TYPE TNL-Information PRESENCE mandatory}|
+ { ID id-Alternative-TNL-Information CRITICALITY ignore TYPE TNL-Information PRESENCE optional}|
+ { ID id-SC-PTM-Information CRITICALITY reject TYPE SC-PTM-Information PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SESSION START RESPONSE
+--
+-- **************************************************************
+
+SessionStartResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SessionStartResponse-Ies}},
+ ...
+}
+
+SessionStartResponse-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCE-MBMS-M2AP-ID CRITICALITY ignore TYPE MCE-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-ENB-MBMS-M2AP-ID CRITICALITY ignore TYPE ENB-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- SESSION START FAILURE
+--
+-- **************************************************************
+
+SessionStartFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SessionStartFailure-Ies}},
+ ...
+}
+
+SessionStartFailure-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCE-MBMS-M2AP-ID CRITICALITY ignore TYPE MCE-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- SESSION STOP REQUEST
+--
+-- **************************************************************
+
+SessionStopRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SessionStopRequest-Ies}},
+ ...
+}
+
+SessionStopRequest-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCE-MBMS-M2AP-ID CRITICALITY reject TYPE MCE-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-ENB-MBMS-M2AP-ID CRITICALITY reject TYPE ENB-MBMS-M2AP-ID PRESENCE mandatory } ,
+ ...
+}
+
+-- **************************************************************
+--
+-- SESSION STOP RESPONSE
+--
+-- **************************************************************
+
+SessionStopResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SessionStopResponse-Ies}},
+ ...
+}
+
+SessionStopResponse-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCE-MBMS-M2AP-ID CRITICALITY ignore TYPE MCE-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-ENB-MBMS-M2AP-ID CRITICALITY ignore TYPE ENB-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+-- **************************************************************
+--
+-- SESSION UPDATE REQUEST
+--
+-- **************************************************************
+
+SessionUpdateRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SessionUpdateRequest-Ies}},
+ ...
+}
+
+SessionUpdateRequest-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCE-MBMS-M2AP-ID CRITICALITY reject TYPE MCE-MBMS-M2AP-ID PRESENCE mandatory}|
+ { ID id-ENB-MBMS-M2AP-ID CRITICALITY reject TYPE ENB-MBMS-M2AP-ID PRESENCE mandatory}|
+ { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory}|
+ { ID id-MBMS-Session-ID CRITICALITY ignore TYPE MBMS-Session-ID PRESENCE optional}|
+ { ID id-MBMS-Service-Area CRITICALITY ignore TYPE MBMS-Service-Area PRESENCE optional}|
+ { ID id-TNL-Information CRITICALITY reject TYPE TNL-Information PRESENCE optional}|
+ { ID id-SC-PTM-Information CRITICALITY reject TYPE SC-PTM-Information PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SESSION UPDATE RESPONSE
+--
+-- **************************************************************
+
+SessionUpdateResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SessionUpdateResponse-Ies}},
+ ...
+}
+
+SessionUpdateResponse-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCE-MBMS-M2AP-ID CRITICALITY ignore TYPE MCE-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-ENB-MBMS-M2AP-ID CRITICALITY ignore TYPE ENB-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- SESSION UPDATE FAILURE
+--
+-- **************************************************************
+
+SessionUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SessionUpdateFailure-Ies}},
+ ...
+}
+
+SessionUpdateFailure-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCE-MBMS-M2AP-ID CRITICALITY ignore TYPE MCE-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-ENB-MBMS-M2AP-ID CRITICALITY ignore TYPE ENB-MBMS-M2AP-ID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SCHEDULING INFORMATION
+--
+-- **************************************************************
+
+MbmsSchedulingInformation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MbmsSchedulingInformation-Ies}},
+ ...
+}
+
+MbmsSchedulingInformation-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCCH-Update-Time CRITICALITY reject TYPE MCCH-Update-Time PRESENCE mandatory }|
+ { ID id-MBSFN-Area-Configuration-List CRITICALITY reject TYPE MBSFN-Area-Configuration-List PRESENCE mandatory },
+ ...
+}
+
+MBSFN-Area-Configuration-List ::= SEQUENCE (SIZE(1.. maxnoofMBSFNareas)) OF ProtocolIE-Container { { MBSFN-Area-Configuration-Item } }
+
+MBSFN-Area-Configuration-Item M2AP-PROTOCOL-IES ::= {
+ { ID id-PMCH-Configuration-List CRITICALITY reject TYPE PMCH-Configuration-List PRESENCE mandatory }|
+ { ID id-MBSFN-Subframe-Configuration-List CRITICALITY reject TYPE MBSFN-Subframe-ConfigurationList PRESENCE mandatory }|
+ { ID id-Common-Subframe-Allocation-Period CRITICALITY reject TYPE Common-Subframe-Allocation-Period PRESENCE mandatory }|
+ { ID id-MBSFN-Area-ID CRITICALITY reject TYPE MBSFN-Area-ID PRESENCE mandatory }|
+ { ID id-MBMS-Suspension-Notification-List CRITICALITY ignore TYPE MBMS-Suspension-Notification-List PRESENCE optional },
+ ...
+}
+
+PMCH-Configuration-List ::= SEQUENCE (SIZE(0.. maxnoofPMCHsperMBSFNarea)) OF ProtocolIE-Single-Container { { PMCH-Configuration-ItemIEs } }
+
+PMCH-Configuration-ItemIEs M2AP-PROTOCOL-IES ::= {
+ { ID id-PMCH-Configuration-Item CRITICALITY reject TYPE PMCH-Configuration-Item PRESENCE mandatory },
+ ...
+}
+
+PMCH-Configuration-Item ::= SEQUENCE {
+ pmch-Configuration PMCH-Configuration,
+ mbms-Session-List MBMSsessionListPerPMCH-Item,
+ iE-Extensions ProtocolExtensionContainer { { PMCH-Configuration-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+PMCH-Configuration-ItemExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSFN-Subframe-ConfigurationList ::= SEQUENCE (SIZE(1.. maxnoofMBSFN-Allocations)) OF ProtocolIE-Single-Container { { MBSFN-Subframe-ConfigurationItem } }
+
+MBSFN-Subframe-ConfigurationItem M2AP-PROTOCOL-IES ::= {
+ { ID id-MBSFN-Subframe-Configuration-Item CRITICALITY reject TYPE MBSFN-Subframe-Configuration PRESENCE mandatory },
+ ...
+}
+
+MBMS-Suspension-Notification-List ::= SEQUENCE (SIZE(1.. maxnoofPMCHsperMBSFNarea)) OF ProtocolIE-Single-Container { { MBMS-Suspension-Notification-ItemIEs } }
+
+MBMS-Suspension-Notification-ItemIEs M2AP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Suspension-Notification-Item CRITICALITY ignore TYPE MBMS-Suspension-Notification-Item PRESENCE optional},
+ ...
+}
+
+MBMS-Suspension-Notification-Item ::= SEQUENCE {
+ sfn SFN,
+ mbms-Sessions-To-Be-Suspended-List MBMSsessionsToBeSuspendedListPerPMCH-Item,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Suspension-Notification-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Suspension-Notification-ItemExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SCHEDULING INFORMATION RESPONSE
+--
+-- **************************************************************
+
+MbmsSchedulingInformationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MbmsSchedulingInformationResponse-Ies}},
+ ...
+}
+
+MbmsSchedulingInformationResponse-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- M2 SETUP REQUEST
+--
+-- **************************************************************
+
+M2SetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{M2SetupRequest-Ies}},
+ ...
+}
+
+M2SetupRequest-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}|
+ { ID id-ENBname CRITICALITY ignore TYPE ENBname PRESENCE optional}|
+ { ID id-ENB-MBMS-Configuration-data-List CRITICALITY reject TYPE ENB-MBMS-Configuration-data-List PRESENCE mandatory},
+ ...
+}
+
+ENB-MBMS-Configuration-data-List ::= SEQUENCE (SIZE(1.. maxnoofCells)) OF ProtocolIE-Single-Container { { ENB-MBMS-Configuration-data-ItemIEs } }
+
+ENB-MBMS-Configuration-data-ItemIEs M2AP-PROTOCOL-IES ::= {
+ { ID id-ENB-MBMS-Configuration-data-Item CRITICALITY reject TYPE ENB-MBMS-Configuration-data-Item PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- M2 SETUP RESPONSE
+--
+-- **************************************************************
+
+M2SetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ M2SetupResponse-Ies}},
+ ...
+}
+
+M2SetupResponse-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalMCE-ID CRITICALITY reject TYPE GlobalMCE-ID PRESENCE mandatory }|
+ { ID id-MCEname CRITICALITY ignore TYPE MCEname PRESENCE optional }|
+ { ID id-MCCHrelatedBCCH-ConfigPerMBSFNArea CRITICALITY reject TYPE MCCHrelatedBCCH-ConfigPerMBSFNArea PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea CRITICALITY reject TYPE MCCHrelatedBCCH-ExtConfigPerMBSFNArea PRESENCE optional },
+ ...
+}
+
+MCCHrelatedBCCH-ConfigPerMBSFNArea ::= SEQUENCE (SIZE(1.. maxnoofMBSFNareas)) OF ProtocolIE-Single-Container { { MCCHrelatedBCCH-ConfigPerMBSFNArea-ItemIEs } }
+
+MCCHrelatedBCCH-ConfigPerMBSFNArea-ItemIEs M2AP-PROTOCOL-IES ::= {
+ { ID id-MCCHrelatedBCCH-ConfigPerMBSFNArea-Item CRITICALITY reject TYPE MCCHrelatedBCCH-ConfigPerMBSFNArea-Item PRESENCE mandatory },
+ ...
+}
+
+MCCHrelatedBCCH-ExtConfigPerMBSFNArea ::= SEQUENCE (SIZE(1.. maxnoofMBSFNareas)) OF ProtocolIE-Single-Container { { MCCHrelatedBCCH-ExtConfigPerMBSFNArea-ItemIEs } }
+
+MCCHrelatedBCCH-ExtConfigPerMBSFNArea-ItemIEs M2AP-PROTOCOL-IES ::= {
+ { ID id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item CRITICALITY reject TYPE MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- M2 SETUP FAILURE
+--
+-- **************************************************************
+
+M2SetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ M2SetupFailure-Ies}},
+ ...
+}
+
+M2SetupFailure-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+
+ ...
+}
+
+-- **************************************************************
+--
+-- ENB CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+ENBConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENBConfigurationUpdate-Ies}},
+ ...
+}
+
+ENBConfigurationUpdate-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE optional }|
+ { ID id-ENBname CRITICALITY ignore TYPE ENBname PRESENCE optional }|
+ { ID id-ENB-MBMS-Configuration-data-List-ConfigUpdate CRITICALITY reject TYPE ENB-MBMS-Configuration-data-List-ConfigUpdate PRESENCE optional },
+ ...
+}
+ENB-MBMS-Configuration-data-List-ConfigUpdate ::= SEQUENCE (SIZE(1.. maxnoofCells)) OF ProtocolIE-Single-Container { { ENB-MBMS-Configuration-data-ConfigUpdate-ItemIEs } }
+
+ENB-MBMS-Configuration-data-ConfigUpdate-ItemIEs M2AP-PROTOCOL-IES ::= {
+ { ID id-ENB-MBMS-Configuration-data-ConfigUpdate-Item CRITICALITY reject TYPE ENB-MBMS-Configuration-data-ConfigUpdate-Item PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- ENB CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ ENBConfigurationUpdateAcknowledge-Ies}},
+ ...
+}
+
+ENBConfigurationUpdateAcknowledge-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCCHrelatedBCCH-ConfigPerMBSFNArea CRITICALITY reject TYPE MCCHrelatedBCCH-ConfigPerMBSFNArea PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea CRITICALITY reject TYPE MCCHrelatedBCCH-ExtConfigPerMBSFNArea PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- ENB CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+
+ENBConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ ENBConfigurationUpdateFailure-Ies}},
+ ...
+}
+
+ENBConfigurationUpdateFailure-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MCE CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+MCEConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MCEConfigurationUpdate-Ies}},
+ ...
+}
+
+MCEConfigurationUpdate-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalMCE-ID CRITICALITY reject TYPE GlobalMCE-ID PRESENCE optional }|
+ { ID id-MCEname CRITICALITY ignore TYPE MCEname PRESENCE optional }|
+ { ID id-MCCHrelatedBCCH-ConfigPerMBSFNArea CRITICALITY reject TYPE MCCHrelatedBCCH-ConfigPerMBSFNArea PRESENCE optional }|
+ { ID id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea CRITICALITY reject TYPE MCCHrelatedBCCH-ExtConfigPerMBSFNArea PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MCE CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+MCEConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MCEConfigurationUpdateAcknowledge-Ies}},
+ ...
+}
+
+MCEConfigurationUpdateAcknowledge-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MCE CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+
+MCEConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MCEConfigurationUpdateFailure-Ies}},
+ ...
+}
+
+MCEConfigurationUpdateFailure-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+
+ ...
+}
+
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-Ies}},
+ ...
+}
+
+ErrorIndication-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCE-MBMS-M2AP-ID CRITICALITY ignore TYPE MCE-MBMS-M2AP-ID PRESENCE optional}|
+ { ID id-ENB-MBMS-M2AP-ID CRITICALITY ignore TYPE ENB-MBMS-M2AP-ID PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET
+--
+-- **************************************************************
+
+Reset ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Reset-Ies}},
+ ...
+}
+
+Reset-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory},
+ ...
+}
+
+ResetType ::= CHOICE {
+ m2-Interface ResetAll,
+ partOfM2-Interface MBMS-Service-associatedLogicalM2-ConnectionListRes,
+ ...
+}
+
+ResetAll ::= ENUMERATED {
+ reset-all,
+ ...
+}
+
+MBMS-Service-associatedLogicalM2-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualM2ConnectionsToReset)) OF ProtocolIE-Single-Container { { MBMS-Service-associatedLogicalM2-ConnectionItemRes } }
+
+MBMS-Service-associatedLogicalM2-ConnectionItemRes M2AP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Service-associatedLogicalM2-ConnectionItem CRITICALITY reject TYPE MBMS-Service-associatedLogicalM2-ConnectionItem PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET ACKNOWLEDGE
+--
+-- **************************************************************
+
+ResetAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetAcknowledge-Ies}},
+ ...
+}
+
+ResetAcknowledge-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Service-associatedLogicalM2-ConnectionListResAck CRITICALITY ignore TYPE MBMS-Service-associatedLogicalM2-ConnectionListResAck PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+MBMS-Service-associatedLogicalM2-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualM2ConnectionsToReset)) OF ProtocolIE-Single-Container { { MBMS-Service-associatedLogicalM2-ConnectionItemResAck } }
+
+MBMS-Service-associatedLogicalM2-ConnectionItemResAck M2AP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Service-associatedLogicalM2-ConnectionItem CRITICALITY ignore TYPE MBMS-Service-associatedLogicalM2-ConnectionItem PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-Ies}},
+ ...
+}
+
+PrivateMessage-Ies M2AP-PRIVATE-IES ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MBMS SERVICE COUNTING REQUEST
+--
+-- **************************************************************
+
+MbmsServiceCountingRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MbmsServiceCountingRequest-Ies}},
+ ...
+}
+
+MbmsServiceCountingRequest-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MCCH-Update-Time CRITICALITY reject TYPE MCCH-Update-Time PRESENCE mandatory }|
+ { ID id-MBSFN-Area-ID CRITICALITY reject TYPE MBSFN-Area-ID PRESENCE mandatory }|
+ { ID id-MBMS-Counting-Request-Session CRITICALITY reject TYPE MBMS-Counting-Request-Session PRESENCE mandatory },
+ ...
+}
+
+MBMS-Counting-Request-Session ::= SEQUENCE (SIZE(1.. maxnoofCountingService)) OF ProtocolIE-Container { { MBMS-Counting-Request-Session-Item } }
+
+MBMS-Counting-Request-Session-Item M2AP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Counting-Request-Session-Item CRITICALITY reject TYPE MBMS-Counting-Request-SessionIE PRESENCE mandatory },
+ ...
+}
+
+MBMS-Counting-Request-SessionIE ::= SEQUENCE{
+ tmgi TMGI,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Counting-Request-SessionIE-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Counting-Request-SessionIE-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SERVICE COUNTING RESPONSE
+--
+-- **************************************************************
+
+MbmsServiceCountingResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MbmsServiceCountingResponse-Ies}},
+ ...
+}
+
+MbmsServiceCountingResponse-Ies M2AP-PROTOCOL-IES ::= {
+
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MBMS SERVICE COUNTING FAILURE
+--
+-- **************************************************************
+
+MbmsServiceCountingFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MbmsServiceCountingFailure-Ies}},
+ ...
+}
+
+MbmsServiceCountingFailure-Ies M2AP-PROTOCOL-IES ::= {
+
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MBMS SERVICE COUNTING RESULTS REPORT
+--
+-- **************************************************************
+
+MbmsServiceCountingResultsReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MbmsServiceCountingResultsReport-Ies}},
+ ...
+}
+
+MbmsServiceCountingResultsReport-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MBSFN-Area-ID CRITICALITY reject TYPE MBSFN-Area-ID PRESENCE mandatory}|
+ { ID id-MBMS-Counting-Result-List CRITICALITY reject TYPE MBMS-Counting-Result-List PRESENCE mandatory},
+ ...
+}
+
+MBMS-Counting-Result-List ::= SEQUENCE (SIZE(1.. maxnoofCountingService)) OF ProtocolIE-Container { { MBMS-Counting-Result-Item } }
+
+MBMS-Counting-Result-Item M2AP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Counting-Result-Item CRITICALITY reject TYPE MBMS-Counting-Result PRESENCE mandatory },
+ ...
+}
+
+MBMS-Counting-Result ::= SEQUENCE{
+ tmgi TMGI,
+ countingResult CountingResult,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Counting-Result-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Counting-Result-ExtIEs M2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CountingResult ::= INTEGER (0..1023)
+
+-- **************************************************************
+--
+-- MBMS OVERLOAD NOTIFICATION
+--
+-- **************************************************************
+
+MbmsOverloadNotification ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MbmsOverloadNotification-Ies}},
+ ...
+}
+
+MbmsOverloadNotification-Ies M2AP-PROTOCOL-IES ::= {
+ { ID id-MBSFN-Area-ID CRITICALITY reject TYPE MBSFN-Area-ID PRESENCE mandatory}|
+ { ID id-Overload-Status-Per-PMCH-List CRITICALITY reject TYPE Overload-Status-Per-PMCH-List PRESENCE mandatory},
+ ...
+}
+
+Overload-Status-Per-PMCH-List ::= SEQUENCE (SIZE(1..maxnoofPMCHsperMBSFNarea)) OF ProtocolIE-Container { { Overload-Status-Per-PMCH-Item } }
+
+Overload-Status-Per-PMCH-Item M2AP-PROTOCOL-IES ::= {
+ { ID id-PMCH-Overload-Status CRITICALITY reject TYPE PMCH-Overload-Status PRESENCE mandatory }|
+ { ID id-Active-MBMS-Session-List CRITICALITY reject TYPE Active-MBMS-Session-List PRESENCE optional },
+ ...
+}
+
+PMCH-Overload-Status ::= ENUMERATED {normal, overload, ...}
+
+Active-MBMS-Session-List ::= SEQUENCE (SIZE(1..maxnoofSessionsPerPMCH)) OF ProtocolIE-Container { { Active-MBMS-Session-Item } }
+
+Active-MBMS-Session-Item M2AP-PROTOCOL-IES ::= {
+ { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory },
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/m2ap/M2AP-PDU-Descriptions.asn b/epan/dissectors/asn1/m2ap/M2AP-PDU-Descriptions.asn
new file mode 100644
index 00000000..4cc9a508
--- /dev/null
+++ b/epan/dissectors/asn1/m2ap/M2AP-PDU-Descriptions.asn
@@ -0,0 +1,261 @@
+-- 3GPP TS 36.443 V17.0.1 (2022-04)
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+M2AP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m2ap (4) version1 (1) m2ap-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM M2AP-CommonDataTypes
+
+
+ SessionStartRequest,
+ SessionStartResponse,
+ SessionStartFailure,
+ SessionStopRequest,
+ SessionStopResponse,
+ SessionUpdateRequest,
+ SessionUpdateResponse,
+ SessionUpdateFailure,
+ MbmsSchedulingInformation,
+ MbmsSchedulingInformationResponse,
+ ErrorIndication,
+ Reset,
+ ResetAcknowledge,
+ M2SetupRequest,
+ M2SetupResponse,
+ M2SetupFailure,
+ ENBConfigurationUpdate,
+ ENBConfigurationUpdateAcknowledge,
+ ENBConfigurationUpdateFailure,
+ MCEConfigurationUpdate,
+ MCEConfigurationUpdateAcknowledge,
+ MCEConfigurationUpdateFailure,
+ MbmsServiceCountingRequest,
+ MbmsServiceCountingResponse,
+ MbmsServiceCountingFailure,
+ MbmsServiceCountingResultsReport,
+ PrivateMessage,
+ MbmsOverloadNotification
+FROM M2AP-PDU-Contents
+
+ id-sessionStart,
+ id-sessionStop,
+ id-sessionUpdate,
+ id-mbmsServiceCounting,
+ id-mbmsServiceCountingResultsReport,
+ id-mbmsSchedulingInformation,
+ id-errorIndication,
+ id-reset,
+ id-m2Setup,
+ id-eNBConfigurationUpdate,
+ id-mCEConfigurationUpdate,
+ id-privateMessage,
+ id-mbmsOverloadNotification
+FROM M2AP-Constants;
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+M2AP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+M2AP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode M2AP-ELEMENTARY-PROCEDURE.&procedureCode ({M2AP-ELEMENTARY-PROCEDURES}),
+ criticality M2AP-ELEMENTARY-PROCEDURE.&criticality ({M2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value M2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({M2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode M2AP-ELEMENTARY-PROCEDURE.&procedureCode ({M2AP-ELEMENTARY-PROCEDURES}),
+ criticality M2AP-ELEMENTARY-PROCEDURE.&criticality ({M2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value M2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({M2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode M2AP-ELEMENTARY-PROCEDURE.&procedureCode ({M2AP-ELEMENTARY-PROCEDURES}),
+ criticality M2AP-ELEMENTARY-PROCEDURE.&criticality ({M2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value M2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({M2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+M2AP-ELEMENTARY-PROCEDURES M2AP-ELEMENTARY-PROCEDURE ::= {
+ M2AP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ M2AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+M2AP-ELEMENTARY-PROCEDURES-CLASS-1 M2AP-ELEMENTARY-PROCEDURE ::= {
+ sessionStart |
+ sessionStop |
+ sessionUpdate |
+ mbmsSchedulingInformation |
+ reset |
+ m2Setup |
+ eNBConfigurationUpdate |
+ mCEConfigurationUpdate |
+ mbmsServiceCounting ,
+ ...
+}
+
+M2AP-ELEMENTARY-PROCEDURES-CLASS-2 M2AP-ELEMENTARY-PROCEDURE ::= {
+ errorIndication |
+ privateMessage |
+ mbmsServiceCountingResultsReport |
+ mbmsOverloadNotification ,
+ ...
+
+}
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+sessionStart M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SessionStartRequest
+ SUCCESSFUL OUTCOME SessionStartResponse
+ UNSUCCESSFUL OUTCOME SessionStartFailure
+ PROCEDURE CODE id-sessionStart
+ CRITICALITY reject
+}
+
+sessionStop M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SessionStopRequest
+ SUCCESSFUL OUTCOME SessionStopResponse
+ PROCEDURE CODE id-sessionStop
+ CRITICALITY reject
+}
+
+sessionUpdate M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SessionUpdateRequest
+ SUCCESSFUL OUTCOME SessionUpdateResponse
+ UNSUCCESSFUL OUTCOME SessionUpdateFailure
+ PROCEDURE CODE id-sessionUpdate
+ CRITICALITY reject
+}
+
+mbmsSchedulingInformation M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MbmsSchedulingInformation
+ SUCCESSFUL OUTCOME MbmsSchedulingInformationResponse
+ PROCEDURE CODE id-mbmsSchedulingInformation
+ CRITICALITY reject
+}
+
+errorIndication M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-errorIndication
+ CRITICALITY ignore
+}
+
+reset M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Reset
+ SUCCESSFUL OUTCOME ResetAcknowledge
+ PROCEDURE CODE id-reset
+ CRITICALITY reject
+}
+
+m2Setup M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE M2SetupRequest
+ SUCCESSFUL OUTCOME M2SetupResponse
+ UNSUCCESSFUL OUTCOME M2SetupFailure
+ PROCEDURE CODE id-m2Setup
+ CRITICALITY reject
+}
+
+eNBConfigurationUpdate M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENBConfigurationUpdate
+ SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
+ PROCEDURE CODE id-eNBConfigurationUpdate
+ CRITICALITY reject
+}
+
+mCEConfigurationUpdate M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MCEConfigurationUpdate
+ SUCCESSFUL OUTCOME MCEConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME MCEConfigurationUpdateFailure
+ PROCEDURE CODE id-mCEConfigurationUpdate
+ CRITICALITY reject
+}
+
+mbmsServiceCounting M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MbmsServiceCountingRequest
+ SUCCESSFUL OUTCOME MbmsServiceCountingResponse
+ UNSUCCESSFUL OUTCOME MbmsServiceCountingFailure
+ PROCEDURE CODE id-mbmsServiceCounting
+ CRITICALITY reject
+}
+
+mbmsServiceCountingResultsReport M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MbmsServiceCountingResultsReport
+ PROCEDURE CODE id-mbmsServiceCountingResultsReport
+ CRITICALITY reject
+}
+
+privateMessage M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+mbmsOverloadNotification M2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MbmsOverloadNotification
+ PROCEDURE CODE id-mbmsOverloadNotification
+ CRITICALITY reject
+}
+
+END
diff --git a/epan/dissectors/asn1/m2ap/m2ap.cnf b/epan/dissectors/asn1/m2ap/m2ap.cnf
new file mode 100644
index 00000000..f95a1357
--- /dev/null
+++ b/epan/dissectors/asn1/m2ap/m2ap.cnf
@@ -0,0 +1,325 @@
+# m2ap.cnf
+# m2ap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.USE_VALS_EXT
+ProcedureCode
+ProtocolIE-ID
+
+#.EXPORTS
+
+#.PDU
+M2AP-PDU
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.OMIT_ASSIGNMENT
+ProtocolIE-FieldPair
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+ProtocolIE-ContainerList
+Presence
+
+#.TYPE_RENAME
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+InitiatingMessage/value initiatingMessage_value
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+
+PrivateIE-Field/id private_id
+ProtocolExtensionField/id ext_id
+
+PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+
+#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &m2ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS ProcedureCode VAL_PTR=&ProcedureCode
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ message_type = INITIATING_MESSAGE;
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ message_type = SUCCESSFUL_OUTCOME;
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ message_type = UNSUCCESSFUL_OUTCOME;
+
+#.FN_BODY PLMN-Identity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ struct m2ap_private_data *m2ap_data = m2ap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = m2ap_data->number_type;
+ m2ap_data->number_type = E212_NONE;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_m2ap_PLMN_Identity);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, number_type, FALSE);
+ }
+#.END
+
+#.FN_BODY ECGI
+ struct m2ap_private_data *m2ap_data = m2ap_get_private_data(actx->pinfo);
+ m2ap_data->number_type = E212_ECGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY IPAddress VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ gint tvb_len = tvb_reported_length(parameter_tvb);
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_m2ap_IPAddress);
+
+ switch (tvb_len) {
+ case 4:
+ proto_tree_add_item(subtree, hf_m2ap_IPAddress_v4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ break;
+ case 16:
+ proto_tree_add_item(subtree, hf_m2ap_IPAddress_v6, parameter_tvb, 0, 16, ENC_NA);
+ break;
+ default:
+ proto_tree_add_expert(subtree, actx->pinfo, &ei_m2ap_invalid_ip_address_len, parameter_tvb, 0, tvb_len);
+ break;
+ }
+ }
+#.END
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.FN_HDR SessionStartRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Start Request");
+#.FN_HDR SessionStartResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Start Response");
+#.FN_HDR SessionStartFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Start Failure");
+#.FN_HDR SessionStopRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Stop Request");
+#.FN_HDR SessionStopResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Stop Response");
+#.FN_HDR SessionUpdateRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Update Request");
+#.FN_HDR SessionUpdateResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Update Response");
+#.FN_HDR SessionUpdateFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Update Failure");
+#.FN_HDR MbmsSchedulingInformation
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Scheduling Information");
+#.FN_HDR MbmsSchedulingInformationResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Scheduling Information Response");
+#.FN_HDR M2SetupRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "M2 Setup Request");
+#.FN_HDR M2SetupResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "M2 Setup Response");
+#.FN_HDR M2SetupFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "M2 Setup Failure");
+#.FN_HDR ENBConfigurationUpdate
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "eNB Configuration Update");
+#.FN_HDR ENBConfigurationUpdateAcknowledge
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "eNB Configuration Update Acknowledge");
+#.FN_HDR ENBConfigurationUpdateFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "eNB Configuration Update Failure");
+#.FN_HDR MCEConfigurationUpdate
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MCE Configuration Update");
+#.FN_HDR MCEConfigurationUpdateAcknowledge
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MCE Configuration Update Acknowledge");
+#.FN_HDR MCEConfigurationUpdateFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MCE Configuration Update Failure");
+#.FN_HDR ErrorIndication
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "Error Indication");
+#.FN_HDR Reset
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "Reset");
+#.FN_HDR ResetAcknowledge
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "Reset Acknowledge");
+#.FN_HDR PrivateMessage
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "Private Message");
+#.FN_HDR MbmsServiceCountingRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Service Counting Request");
+#.FN_HDR MbmsServiceCountingResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Service Counting Response");
+#.FN_HDR MbmsServiceCountingFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Service Counting Failure");
+#.FN_HDR MbmsServiceCountingResultsReport
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Service Counting Results Report");
+#.FN_HDR MbmsOverloadNotification
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Overload Notification");
+
+#.ASSIGN_VALUE_TO_TYPE
+# ProcedureCode
+id-sessionStart ProcedureCode
+id-sessionStop ProcedureCode
+id-mbmsSchedulingInformation ProcedureCode
+id-errorIndication ProcedureCode
+id-reset ProcedureCode
+id-m2Setup ProcedureCode
+id-eNBConfigurationUpdate ProcedureCode
+id-mCEConfigurationUpdate ProcedureCode
+id-privateMessage ProcedureCode
+id-sessionUpdate ProcedureCode
+id-mbmsServiceCounting ProcedureCode
+id-mbmsServiceCountingResultsReport ProcedureCode
+id-mbmsOverloadNotification ProcedureCode
+
+# ProtocolIE
+id-MCE-MBMS-M2AP-ID ProtocolIE-ID
+id-ENB-MBMS-M2AP-ID ProtocolIE-ID
+id-TMGI ProtocolIE-ID
+id-MBMS-Session-ID ProtocolIE-ID
+id-MBMS-Service-Area ProtocolIE-ID
+id-TNL-Information ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-MBSFN-Area-Configuration-List ProtocolIE-ID
+id-PMCH-Configuration-List ProtocolIE-ID
+id-PMCH-Configuration-Item ProtocolIE-ID
+id-GlobalENB-ID ProtocolIE-ID
+id-ENBname ProtocolIE-ID
+id-ENB-MBMS-Configuration-data-List ProtocolIE-ID
+id-ENB-MBMS-Configuration-data-Item ProtocolIE-ID
+id-GlobalMCE-ID ProtocolIE-ID
+id-MCEname ProtocolIE-ID
+id-MCCHrelatedBCCH-ConfigPerMBSFNArea ProtocolIE-ID
+id-MCCHrelatedBCCH-ConfigPerMBSFNArea-Item ProtocolIE-ID
+id-TimeToWait ProtocolIE-ID
+id-MBSFN-Subframe-Configuration-List ProtocolIE-ID
+id-MBSFN-Subframe-Configuration-Item ProtocolIE-ID
+id-Common-Subframe-Allocation-Period ProtocolIE-ID
+id-MCCH-Update-Time ProtocolIE-ID
+id-ENB-MBMS-Configuration-data-List-ConfigUpdate ProtocolIE-ID
+id-ENB-MBMS-Configuration-data-ConfigUpdate-Item ProtocolIE-ID
+id-MBMS-Service-associatedLogicalM2-ConnectionItem ProtocolIE-ID
+id-MBSFN-Area-ID ProtocolIE-ID
+id-ResetType ProtocolIE-ID
+id-MBMS-Service-associatedLogicalM2-ConnectionListResAck ProtocolIE-ID
+id-MBMS-Counting-Request-Session ProtocolIE-ID
+id-MBMS-Counting-Request-Session-Item ProtocolIE-ID
+id-MBMS-Counting-Result-List ProtocolIE-ID
+id-MBMS-Counting-Result-Item ProtocolIE-ID
+id-Modulation-Coding-Scheme2 ProtocolIE-ID
+id-MCH-Scheduling-PeriodExtended ProtocolIE-ID
+id-Alternative-TNL-Information ProtocolIE-ID
+id-Overload-Status-Per-PMCH-List ProtocolIE-ID
+id-PMCH-Overload-Status ProtocolIE-ID
+id-Active-MBMS-Session-List ProtocolIE-ID
+id-MBMS-Suspension-Notification-List ProtocolIE-ID
+id-MBMS-Suspension-Notification-Item ProtocolIE-ID
+id-SC-PTM-Information ProtocolIE-ID
+id-Modification-PeriodExtended ProtocolIE-ID
+id-Repetition-PeriodExtended ProtocolIE-ID
+id-MCH-Scheduling-PeriodExtended2 ProtocolIE-ID
+id-Subcarrier-SpacingMBMS ProtocolIE-ID
+id-SubframeAllocationExtended ProtocolIE-ID
+id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item ProtocolIE-ID
+id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea ProtocolIE-ID
+id-SubframeAllocationFurtherExtension ProtocolIE-ID
+id-AdditionalConfigParameters ProtocolIE-ID
+
+#.REGISTER
+
+#M2AP-PROTOCOL-IES
+MCE-MBMS-M2AP-ID N m2ap.ies id-MCE-MBMS-M2AP-ID
+ENB-MBMS-M2AP-ID N m2ap.ies id-ENB-MBMS-M2AP-ID
+TMGI N m2ap.ies id-TMGI
+MBMS-Session-ID N m2ap.ies id-MBMS-Session-ID
+MBMS-Service-Area N m2ap.ies id-MBMS-Service-Area
+TNL-Information N m2ap.ies id-TNL-Information
+CriticalityDiagnostics N m2ap.ies id-CriticalityDiagnostics
+Cause N m2ap.ies id-Cause
+MBSFN-Area-Configuration-List N m2ap.ies id-MBSFN-Area-Configuration-List
+PMCH-Configuration-List N m2ap.ies id-PMCH-Configuration-List
+PMCH-Configuration-Item N m2ap.ies id-PMCH-Configuration-Item
+GlobalENB-ID N m2ap.ies id-GlobalENB-ID
+ENBname N m2ap.ies id-ENBname
+ENB-MBMS-Configuration-data-List N m2ap.ies id-ENB-MBMS-Configuration-data-List
+ENB-MBMS-Configuration-data-Item N m2ap.ies id-ENB-MBMS-Configuration-data-Item
+GlobalMCE-ID N m2ap.ies id-GlobalMCE-ID
+MCEname N m2ap.ies id-MCEname
+MCCHrelatedBCCH-ConfigPerMBSFNArea N m2ap.ies id-MCCHrelatedBCCH-ConfigPerMBSFNArea
+MCCHrelatedBCCH-ConfigPerMBSFNArea-Item N m2ap.ies id-MCCHrelatedBCCH-ConfigPerMBSFNArea-Item
+TimeToWait N m2ap.ies id-TimeToWait
+MBSFN-Subframe-ConfigurationList N m2ap.ies id-MBSFN-Subframe-Configuration-List
+MBSFN-Subframe-Configuration N m2ap.ies id-MBSFN-Subframe-Configuration-Item
+Common-Subframe-Allocation-Period N m2ap.ies id-Common-Subframe-Allocation-Period
+MCCH-Update-Time N m2ap.ies id-MCCH-Update-Time
+ENB-MBMS-Configuration-data-List-ConfigUpdate N m2ap.ies id-ENB-MBMS-Configuration-data-List-ConfigUpdate
+ENB-MBMS-Configuration-data-ConfigUpdate-Item N m2ap.ies id-ENB-MBMS-Configuration-data-ConfigUpdate-Item
+MBMS-Service-associatedLogicalM2-ConnectionItem N m2ap.ies id-MBMS-Service-associatedLogicalM2-ConnectionItem
+MBSFN-Area-ID N m2ap.ies id-MBSFN-Area-ID
+ResetType N m2ap.ies id-ResetType
+MBMS-Service-associatedLogicalM2-ConnectionListResAck N m2ap.ies id-MBMS-Service-associatedLogicalM2-ConnectionListResAck
+MBMS-Counting-Request-Session N m2ap.ies id-MBMS-Counting-Request-Session
+MBMS-Counting-Request-SessionIE N m2ap.ies id-MBMS-Counting-Request-Session-Item
+MBMS-Counting-Result-List N m2ap.ies id-MBMS-Counting-Result-List
+MBMS-Counting-Result N m2ap.ies id-MBMS-Counting-Result-Item
+TNL-Information N m2ap.ies id-Alternative-TNL-Information
+Overload-Status-Per-PMCH-List N m2ap.ies id-Overload-Status-Per-PMCH-List
+PMCH-Overload-Status N m2ap.ies id-PMCH-Overload-Status
+Active-MBMS-Session-List N m2ap.ies id-Active-MBMS-Session-List
+MBMS-Suspension-Notification-List N m2ap.ies id-MBMS-Suspension-Notification-List
+MBMS-Suspension-Notification-Item N m2ap.ies id-MBMS-Suspension-Notification-Item
+SC-PTM-Information N m2ap.ies id-SC-PTM-Information
+MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item N m2ap.ies id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea-Item
+MCCHrelatedBCCH-ExtConfigPerMBSFNArea N m2ap.ies id-MCCHrelatedBCCH-ExtConfigPerMBSFNArea
+
+#M2AP-PROTOCOL-EXTENSION
+Modulation-Coding-Scheme2 N m2ap.extension id-Modulation-Coding-Scheme2
+MCH-Scheduling-PeriodExtended N m2ap.extension id-MCH-Scheduling-PeriodExtended
+Repetition-PeriodExtended N m2ap.extension id-Repetition-PeriodExtended
+Modification-PeriodExtended N m2ap.extension id-Modification-PeriodExtended
+MCH-Scheduling-PeriodExtended2 N m2ap.extension id-MCH-Scheduling-PeriodExtended2
+SubframeAllocationExtended N m2ap.extension id-SubframeAllocationExtended
+Subcarrier-SpacingMBMS N m2ap.extension id-Subcarrier-SpacingMBMS
+SubframeAllocationFurtherExtension N m2ap.extension id-SubframeAllocationFurtherExtension
+AdditionalConfigParameters N m2ap.extension id-AdditionalConfigParameters
+
+#M2AP-ELEMENTARY-PROCEDURE
+SessionStartRequest N m2ap.proc.imsg id-sessionStart
+SessionStartResponse N m2ap.proc.sout id-sessionStart
+SessionStartFailure N m2ap.proc.uout id-sessionStart
+SessionStopRequest N m2ap.proc.imsg id-sessionStop
+SessionStopResponse N m2ap.proc.sout id-sessionStop
+SessionUpdateRequest N m2ap.proc.imsg id-sessionUpdate
+SessionUpdateResponse N m2ap.proc.sout id-sessionUpdate
+SessionUpdateFailure N m2ap.proc.uout id-sessionUpdate
+MbmsSchedulingInformation N m2ap.proc.imsg id-mbmsSchedulingInformation
+MbmsSchedulingInformationResponse N m2ap.proc.sout id-mbmsSchedulingInformation
+M2SetupRequest N m2ap.proc.imsg id-m2Setup
+M2SetupResponse N m2ap.proc.sout id-m2Setup
+M2SetupFailure N m2ap.proc.uout id-m2Setup
+ENBConfigurationUpdate N m2ap.proc.imsg id-eNBConfigurationUpdate
+ENBConfigurationUpdateAcknowledge N m2ap.proc.sout id-eNBConfigurationUpdate
+ENBConfigurationUpdateFailure N m2ap.proc.uout id-eNBConfigurationUpdate
+MCEConfigurationUpdate N m2ap.proc.imsg id-mCEConfigurationUpdate
+MCEConfigurationUpdateAcknowledge N m2ap.proc.sout id-mCEConfigurationUpdate
+MCEConfigurationUpdateFailure N m2ap.proc.uout id-mCEConfigurationUpdate
+ErrorIndication N m2ap.proc.imsg id-errorIndication
+Reset N m2ap.proc.imsg id-reset
+ResetAcknowledge N m2ap.proc.sout id-reset
+PrivateMessage N m2ap.proc.imsg id-privateMessage
+MbmsServiceCountingRequest N m2ap.proc.imsg id-mbmsServiceCounting
+MbmsServiceCountingResponse N m2ap.proc.sout id-mbmsServiceCounting
+MbmsServiceCountingFailure N m2ap.proc.uout id-mbmsServiceCounting
+MbmsServiceCountingResultsReport N m2ap.proc.imsg id-mbmsServiceCountingResultsReport
+MbmsOverloadNotification N m2ap.proc.imsg id-mbmsOverloadNotification
+
+#.END
diff --git a/epan/dissectors/asn1/m2ap/packet-m2ap-template.c b/epan/dissectors/asn1/m2ap/packet-m2ap-template.c
new file mode 100644
index 00000000..b7d9c229
--- /dev/null
+++ b/epan/dissectors/asn1/m2ap/packet-m2ap-template.c
@@ -0,0 +1,200 @@
+/* packet-m2ap.c
+ * Routines for M2 Application Protocol packet dissection
+ * Copyright 2016-2023, Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Reference: 3GPP TS 36.443 v17.0.1
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/sctpppids.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <epan/proto_data.h>
+
+#include "packet-per.h"
+#include "packet-e212.h"
+
+#define PNAME "M2 Application Protocol"
+#define PSNAME "M2AP"
+#define PFNAME "m2ap"
+
+void proto_register_m2ap(void);
+void proto_reg_handoff_m2ap(void);
+
+/* M2AP uses port 36443 as recommended by IANA. */
+#define M2AP_PORT 36443
+
+#include "packet-m2ap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_m2ap = -1;
+
+static int hf_m2ap_IPAddress_v4 = -1;
+static int hf_m2ap_IPAddress_v6 = -1;
+#include "packet-m2ap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_m2ap = -1;
+static int ett_m2ap_PLMN_Identity = -1;
+static int ett_m2ap_IPAddress = -1;
+#include "packet-m2ap-ett.c"
+
+static expert_field ei_m2ap_invalid_ip_address_len = EI_INIT;
+
+struct m2ap_private_data {
+ e212_number_type_t number_type;
+};
+
+enum{
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+static guint32 message_type;
+static dissector_handle_t m2ap_handle;
+
+/* Dissector tables */
+static dissector_table_t m2ap_ies_dissector_table;
+static dissector_table_t m2ap_extension_dissector_table;
+static dissector_table_t m2ap_proc_imsg_dissector_table;
+static dissector_table_t m2ap_proc_sout_dissector_table;
+static dissector_table_t m2ap_proc_uout_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static struct m2ap_private_data*
+m2ap_get_private_data(packet_info *pinfo)
+{
+ struct m2ap_private_data *m2ap_data = (struct m2ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_m2ap, 0);
+ if (!m2ap_data) {
+ m2ap_data = wmem_new0(pinfo->pool, struct m2ap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_m2ap, 0, m2ap_data);
+ }
+ return m2ap_data;
+}
+
+#include "packet-m2ap-fn.c"
+
+static int
+dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m2ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m2ap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m2ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m2ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m2ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static int
+dissect_m2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *m2ap_item = NULL;
+ proto_tree *m2ap_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+ col_clear_fence(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ m2ap_item = proto_tree_add_item(tree, proto_m2ap, tvb, 0, -1, ENC_NA);
+ m2ap_tree = proto_item_add_subtree(m2ap_item, ett_m2ap);
+
+ dissect_M2AP_PDU_PDU(tvb, pinfo, m2ap_tree, NULL);
+
+ return tvb_captured_length(tvb);
+}
+
+void
+proto_register_m2ap(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_m2ap_IPAddress_v4,
+ { "IPAddress", "m2ap.IPAddress_v4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_m2ap_IPAddress_v6,
+ { "IPAddress", "m2ap.IPAddress_v6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }
+ },
+#include "packet-m2ap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_m2ap,
+ &ett_m2ap_PLMN_Identity,
+ &ett_m2ap_IPAddress,
+#include "packet-m2ap-ettarr.c"
+ };
+
+ expert_module_t* expert_m2ap;
+
+ static ei_register_info ei[] = {
+ { &ei_m2ap_invalid_ip_address_len, { "m2ap.invalid_ip_address_len", PI_MALFORMED, PI_ERROR, "Invalid IP address length", EXPFILL }}
+ };
+
+ /* Register protocol */
+ proto_m2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_m2ap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_m2ap = expert_register_protocol(proto_m2ap);
+ expert_register_field_array(expert_m2ap, ei, array_length(ei));
+ /* Register dissector */
+ m2ap_handle = register_dissector(PFNAME, dissect_m2ap, proto_m2ap);
+
+ /* Register dissector tables */
+ m2ap_ies_dissector_table = register_dissector_table("m2ap.ies", "M2AP-PROTOCOL-IES", proto_m2ap, FT_UINT32, BASE_DEC);
+ m2ap_extension_dissector_table = register_dissector_table("m2ap.extension", "M2AP-PROTOCOL-EXTENSION", proto_m2ap, FT_UINT32, BASE_DEC);
+ m2ap_proc_imsg_dissector_table = register_dissector_table("m2ap.proc.imsg", "M2AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_m2ap, FT_UINT32, BASE_DEC);
+ m2ap_proc_sout_dissector_table = register_dissector_table("m2ap.proc.sout", "M2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_m2ap, FT_UINT32, BASE_DEC);
+ m2ap_proc_uout_dissector_table = register_dissector_table("m2ap.proc.uout", "M2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_m2ap, FT_UINT32, BASE_DEC);
+}
+
+void
+proto_reg_handoff_m2ap(void)
+{
+ dissector_add_uint("sctp.ppi", PROTO_3GPP_M2AP_PROTOCOL_ID, m2ap_handle);
+ dissector_add_uint("sctp.port", M2AP_PORT, m2ap_handle);
+#include "packet-m2ap-dis-tab.c"
+}
diff --git a/epan/dissectors/asn1/m3ap/CMakeLists.txt b/epan/dissectors/asn1/m3ap/CMakeLists.txt
new file mode 100644
index 00000000..36df0abc
--- /dev/null
+++ b/epan/dissectors/asn1/m3ap/CMakeLists.txt
@@ -0,0 +1,38 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+set( PROTOCOL_NAME m3ap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ M3AP-CommonDataTypes.asn
+ M3AP-Constants.asn
+ M3AP-Containers.asn
+ M3AP-IEs.asn
+ M3AP-PDU-Contents.asn
+ M3AP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/m3ap/M3AP-CommonDataTypes.asn b/epan/dissectors/asn1/m3ap/M3AP-CommonDataTypes.asn
new file mode 100644
index 00000000..14d7717d
--- /dev/null
+++ b/epan/dissectors/asn1/m3ap/M3AP-CommonDataTypes.asn
@@ -0,0 +1,56 @@
+-- M3AP-CommonDataTypes.asn
+--
+-- 3GPP TS 36.444 V16.0.0 (2020-07)
+-- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-d20.zip
+--
+-- 9.3.6 Common Definitions
+--
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+M3AP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0.. maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
+
+END
diff --git a/epan/dissectors/asn1/m3ap/M3AP-Constants.asn b/epan/dissectors/asn1/m3ap/M3AP-Constants.asn
new file mode 100644
index 00000000..28e23a0e
--- /dev/null
+++ b/epan/dissectors/asn1/m3ap/M3AP-Constants.asn
@@ -0,0 +1,88 @@
+-- M3AP-Constants.asn
+--
+-- 3GPP TS 36.444 V16.0.0 (2020-07)
+-- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-d20.zip
+--
+-- 9.3.7 Constant Definitions
+--
+
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+M3AP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM M3AP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-mBMSsessionStart ProcedureCode ::= 0
+id-mBMSsessionStop ProcedureCode ::= 1
+id-errorIndication ProcedureCode ::= 2
+id-privateMessage ProcedureCode ::= 3
+id-Reset ProcedureCode ::= 4
+id-mBMSsessionUpdate ProcedureCode ::= 5
+id-mCEConfigurationUpdate ProcedureCode ::= 6
+id-m3Setup ProcedureCode ::= 7
+
+
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxnoofMBMSServiceAreaIdentitiesPerMCE INTEGER ::= 65536
+maxnooferrors INTEGER ::= 256
+maxNrOfIndividualM3ConnectionsToReset INTEGER ::= 256
+maxnoofCellsforMBMS INTEGER ::= 4096
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-MME-MBMS-M3AP-ID ProtocolIE-ID ::= 0
+id-MCE-MBMS-M3AP-ID ProtocolIE-ID ::= 1
+id-TMGI ProtocolIE-ID ::= 2
+id-MBMS-Session-ID ProtocolIE-ID ::= 3
+id-MBMS-E-RAB-QoS-Parameters ProtocolIE-ID ::= 4
+id-MBMS-Session-Duration ProtocolIE-ID ::= 5
+id-MBMS-Service-Area ProtocolIE-ID ::= 6
+id-TNL-Information ProtocolIE-ID ::= 7
+id-CriticalityDiagnostics ProtocolIE-ID ::= 8
+id-Cause ProtocolIE-ID ::= 9
+id-MBMS-Service-Area-List ProtocolIE-ID ::= 10
+id-MBMS-Service-Area-List-Item ProtocolIE-ID ::= 11
+id-TimeToWait ProtocolIE-ID ::= 12
+id-ResetType ProtocolIE-ID ::= 13
+id-MBMS-Service-associatedLogicalM3-ConnectionItem ProtocolIE-ID ::= 14
+id-MBMS-Service-associatedLogicalM3-ConnectionListResAck ProtocolIE-ID ::= 15
+id-MinimumTimeToMBMSDataTransfer ProtocolIE-ID ::= 16
+id-AllocationAndRetentionPriority ProtocolIE-ID ::= 17
+id-Global-MCE-ID ProtocolIE-ID ::= 18
+id-MCEname ProtocolIE-ID ::= 19
+id-MBMSServiceAreaList ProtocolIE-ID ::= 20
+id-Time-ofMBMS-DataTransfer ProtocolIE-ID ::= 21
+id-Time-ofMBMS-DataStop ProtocolIE-ID ::= 22
+id-Reestablishment ProtocolIE-ID ::= 23
+id-Alternative-TNL-Information ProtocolIE-ID ::= 24
+id-MBMS-Cell-List ProtocolIE-ID ::= 25
+END
diff --git a/epan/dissectors/asn1/m3ap/M3AP-Containers.asn b/epan/dissectors/asn1/m3ap/M3AP-Containers.asn
new file mode 100644
index 00000000..3b0a6105
--- /dev/null
+++ b/epan/dissectors/asn1/m3ap/M3AP-Containers.asn
@@ -0,0 +1,202 @@
+-- M3AP-Containers.asn
+--
+-- 3GPP TS 36.444 V16.0.0 (2020-07)
+-- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-d20.zip
+--
+-- 9.3.8 Container Definitions
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+M3AP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+FROM M3AP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+M3AP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+M3AP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+M3AP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+M3AP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {M3AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {M3AP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {M3AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id M3AP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality M3AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value M3AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id M3AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality M3AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue M3AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality M3AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue M3AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {M3AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {M3AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id M3AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality M3AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue M3AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {M3AP-PRIVATE-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {M3AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id M3AP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality M3AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value M3AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/m3ap/M3AP-IEs.asn b/epan/dissectors/asn1/m3ap/M3AP-IEs.asn
new file mode 100644
index 00000000..10ab161e
--- /dev/null
+++ b/epan/dissectors/asn1/m3ap/M3AP-IEs.asn
@@ -0,0 +1,315 @@
+-- M3AP-IEs.asn
+--
+-- 3GPP TS 36.444 V16.0.0 (2020-07)
+-- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-d20.zip
+--
+-- 9.3.5 Information Element Definitions
+--
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+M3AP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ id-AllocationAndRetentionPriority,
+ maxnooferrors,
+ maxnoofCellsforMBMS
+
+FROM M3AP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM M3AP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Single-Container{},
+ M3AP-PROTOCOL-EXTENSION,
+ M3AP-PROTOCOL-IES
+FROM M3AP-Containers;
+
+-- A
+
+Absolute-Time-ofMBMS-Data ::= BIT STRING (SIZE (64))
+
+AllocationAndRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL
+}
+
+AllocationAndRetentionPriority-ExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- B
+
+BitRate ::= INTEGER (0..10000000000)
+
+-- C
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ nAS CauseNAS,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ not-enough-user-plane-processing-resources,
+ hardware-failure,
+ om-intervention,
+ unspecified,
+ ...
+}
+
+CauseNAS ::= ENUMERATED {
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ abstract-syntax-error-falsely-constructed-message,
+ unspecified,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unknown-or-already-allocated-MME-MBMS-M3AP-ID,
+ unknown-or-already-allocated-MCE-MBMS-M3AP-ID,
+ unknown-or-inconsistent-pair-of-MBMS-M3AP-IDs,
+ radio-resources-not-available,
+ invalid-QoS-combination,
+ interaction-with-other-procedure,
+ not-supported-QCI-value,
+ unspecified,
+ ...,
+ uninvolved-MCE
+
+}
+
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CriticalityDiagnostics-ExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxnooferrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List-ExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- D
+-- E
+
+ECGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ eUTRANcellIdentifier EUTRANCellIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {ECGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ECGI-ExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRANCellIdentifier ::= BIT STRING (SIZE (28))
+
+ExtendedMCE-ID ::= OCTET STRING (SIZE(1))
+
+-- F
+-- G
+
+Global-MCE-ID ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ mCE-ID MCE-ID,
+ extendedMCE-ID ExtendedMCE-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {GlobalMCE-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalMCE-ID-ExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GBR-QosInformation ::= SEQUENCE {
+ mBMS-E-RAB-MaximumBitrateDL BitRate,
+ mBMS-E-RAB-GuaranteedBitrateDL BitRate,
+ iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBR-QosInformation-ExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GTP-TEID ::= OCTET STRING (SIZE (4))
+
+-- H
+-- I
+
+IPAddress ::= OCTET STRING (SIZE(4..16, ...))
+
+-- J
+-- K
+-- L
+-- M
+
+MBMS-Cell-List ::= SEQUENCE (SIZE(1.. maxnoofCellsforMBMS)) OF ECGI
+
+MBMS-E-RAB-QoS-Parameters ::= SEQUENCE {
+ qCI QCI,
+ gbrQosInformation GBR-QosInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-E-RAB-QoS-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-E-RAB-QoS-Parameters-ExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 10 ARP support --
+ {ID id-AllocationAndRetentionPriority CRITICALITY ignore EXTENSION AllocationAndRetentionPriority PRESENCE mandatory},
+ ...
+}
+
+MBMS-Service-associatedLogicalM3-ConnectionItem ::= SEQUENCE {
+ mME-MBMS-M3AP-ID MME-MBMS-M3AP-ID OPTIONAL,
+ mCE-MBMS-M3AP-ID MCE-MBMS-M3AP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Service-associatedLogicalM3-ConnectionItemExtIEs} } OPTIONAL,
+ ...
+}
+
+
+MBMS-Service-associatedLogicalM3-ConnectionItemExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMSServiceArea1 ::= OCTET STRING (SIZE (2))
+
+MBMS-Service-Area ::= OCTET STRING
+
+
+MBMS-Session-Duration ::= OCTET STRING (SIZE (3))
+
+MBMS-Session-ID ::= OCTET STRING (SIZE (1))
+
+
+MCE-MBMS-M3AP-ID ::= INTEGER (0..65535)
+
+MCE-ID ::= OCTET STRING (SIZE(2))
+
+MCEname ::= PrintableString (SIZE (1..150,...))
+
+MinimumTimeToMBMSDataTransfer ::= OCTET STRING (SIZE (1))
+
+MME-MBMS-M3AP-ID ::= INTEGER (0..65535)
+
+-- N
+-- O
+-- P
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable
+}
+
+PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+-- Q
+
+QCI ::= INTEGER (0..255)
+
+-- R
+
+Reestablishment ::= ENUMERATED {true, ...}
+
+-- S
+-- T
+
+TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
+
+TMGI ::= SEQUENCE {
+ pLMNidentity PLMN-Identity,
+ serviceID OCTET STRING (SIZE (3)),
+ iE-Extensions ProtocolExtensionContainer { {TMGI-ExtIEs} } OPTIONAL
+}
+
+TMGI-ExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TNL-Information ::= SEQUENCE {
+ iPMCAddress IPAddress,
+ iPSourceAddress IPAddress,
+ gTP-DLTEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { {TNL-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNL-Information-ExtIEs M3AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+
+-- U
+-- V
+-- W
+-- X
+-- Y
+-- Z
+
+END
diff --git a/epan/dissectors/asn1/m3ap/M3AP-PDU-Contents.asn b/epan/dissectors/asn1/m3ap/M3AP-PDU-Contents.asn
new file mode 100644
index 00000000..3dff45b4
--- /dev/null
+++ b/epan/dissectors/asn1/m3ap/M3AP-PDU-Contents.asn
@@ -0,0 +1,481 @@
+-- M3AP-PDU-Contents.asn
+--
+-- 3GPP TS 36.444 V16.0.0 (2020-07)
+-- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-d20.zip
+--
+-- 9.3.4 PDU Definitions
+--
+
+-- **************************************************************
+--
+-- PDU definitions for M3AP.
+--
+-- **************************************************************
+
+M3AP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-PDU-Contents (1) }
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ Absolute-Time-ofMBMS-Data,
+ Cause,
+ CriticalityDiagnostics,
+ Global-MCE-ID,
+ MBMS-E-RAB-QoS-Parameters,
+ MBMS-Service-associatedLogicalM3-ConnectionItem,
+ MBMS-Service-Area,
+ MBMSServiceArea1,
+ MBMS-Session-Duration,
+ MBMS-Session-ID,
+ MCE-MBMS-M3AP-ID,
+ MCEname,
+ MinimumTimeToMBMSDataTransfer,
+ MME-MBMS-M3AP-ID,
+ TimeToWait,
+ TMGI,
+ TNL-Information,
+ Reestablishment,
+ MBMS-Cell-List
+
+FROM M3AP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-ContainerPairList{},
+ ProtocolIE-Single-Container{},
+ M3AP-PRIVATE-IES,
+ M3AP-PROTOCOL-EXTENSION,
+ M3AP-PROTOCOL-IES,
+ M3AP-PROTOCOL-IES-PAIR
+FROM M3AP-Containers
+
+ id-AllocationAndRetentionPriority,
+ id-MCE-MBMS-M3AP-ID,
+ id-MME-MBMS-M3AP-ID,
+ id-TMGI,
+ id-MBMS-Session-ID,
+ id-MBMS-E-RAB-QoS-Parameters,
+ id-MBMS-Session-Duration,
+ id-MBMS-Service-Area,
+ id-TNL-Information,
+ id-Alternative-TNL-Information,
+ id-CriticalityDiagnostics,
+ id-Cause,
+ id-MBMS-Service-Area-List,
+ id-MBMS-Service-Area-List-Item,
+ id-TimeToWait,
+ id-ResetType,
+ id-MBMS-Service-associatedLogicalM3-ConnectionItem,
+ id-MBMS-Service-associatedLogicalM3-ConnectionListResAck,
+ id-MBMSServiceAreaList,
+ id-MinimumTimeToMBMSDataTransfer,
+ id-Time-ofMBMS-DataStop,
+ id-Time-ofMBMS-DataTransfer,
+ id-Global-MCE-ID,
+ id-MCEname,
+ id-Reestablishment,
+ id-MBMS-Cell-List,
+ maxnoofMBMSServiceAreaIdentitiesPerMCE,
+ maxnooferrors,
+ maxNrOfIndividualM3ConnectionsToReset
+
+FROM M3AP-Constants;
+
+-- **************************************************************
+--
+-- MBMS SESSION START REQUEST
+--
+-- **************************************************************
+
+MBMSSessionStartRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MBMSSessionStartRequest-IEs}},
+ ...
+}
+
+MBMSSessionStartRequest-IEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MME-MBMS-M3AP-ID CRITICALITY reject TYPE MME-MBMS-M3AP-ID PRESENCE mandatory}|
+ { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory}|
+ { ID id-MBMS-Session-ID CRITICALITY ignore TYPE MBMS-Session-ID PRESENCE optional}|
+ { ID id-MBMS-E-RAB-QoS-Parameters CRITICALITY reject TYPE MBMS-E-RAB-QoS-Parameters PRESENCE mandatory}|
+ { ID id-MBMS-Session-Duration CRITICALITY reject TYPE MBMS-Session-Duration PRESENCE mandatory}|
+ { ID id-MBMS-Service-Area CRITICALITY reject TYPE MBMS-Service-Area PRESENCE mandatory}|
+ { ID id-MinimumTimeToMBMSDataTransfer CRITICALITY reject TYPE MinimumTimeToMBMSDataTransfer PRESENCE mandatory}|
+ { ID id-TNL-Information CRITICALITY reject TYPE TNL-Information PRESENCE mandatory}|
+ { ID id-Time-ofMBMS-DataTransfer CRITICALITY ignore TYPE Absolute-Time-ofMBMS-Data PRESENCE optional}|
+ { ID id-Reestablishment CRITICALITY ignore TYPE Reestablishment PRESENCE optional}|
+ { ID id-Alternative-TNL-Information CRITICALITY ignore TYPE TNL-Information PRESENCE optional}|
+ { ID id-MBMS-Cell-List CRITICALITY reject TYPE MBMS-Cell-List PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION START RESPONSE
+--
+-- **************************************************************
+
+MBMSSessionStartResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MBMSSessionStartResponse-IEs}},
+ ...
+}
+
+MBMSSessionStartResponse-IEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } |
+ { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MBMS SESSION START FAILURE
+--
+-- **************************************************************
+
+MBMSSessionStartFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MBMSSessionStartFailure-IEs}},
+ ...
+}
+
+MBMSSessionStartFailure-IEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MBMS SESSION STOP REQUEST
+--
+-- **************************************************************
+
+MBMSSessionStopRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MBMSSessionStopRequest-IEs}},
+ ...
+}
+
+MBMSSessionStopRequest-IEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MME-MBMS-M3AP-ID CRITICALITY reject TYPE MME-MBMS-M3AP-ID PRESENCE mandatory}|
+ { ID id-MCE-MBMS-M3AP-ID CRITICALITY reject TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory}|
+ { ID id-Time-ofMBMS-DataStop CRITICALITY ignore TYPE Absolute-Time-ofMBMS-Data PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION STOP RESPONSE
+--
+-- **************************************************************
+
+MBMSSessionStopResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MBMSSessionStopResponse-IEs}},
+ ...
+}
+
+MBMSSessionStopResponse-IEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } |
+ { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION UPDATE REQUEST
+--
+-- **************************************************************
+
+MBMSSessionUpdateRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MBMSSessionUpdateRequest-IEs}},
+ ...
+}
+
+MBMSSessionUpdateRequest-IEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MME-MBMS-M3AP-ID CRITICALITY reject TYPE MME-MBMS-M3AP-ID PRESENCE mandatory}|
+ { ID id-MCE-MBMS-M3AP-ID CRITICALITY reject TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory}|
+ { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory}|
+ { ID id-MBMS-Session-ID CRITICALITY ignore TYPE MBMS-Session-ID PRESENCE optional}|
+ { ID id-MBMS-E-RAB-QoS-Parameters CRITICALITY reject TYPE MBMS-E-RAB-QoS-Parameters PRESENCE mandatory}|
+ { ID id-MBMS-Session-Duration CRITICALITY reject TYPE MBMS-Session-Duration PRESENCE mandatory}|
+ { ID id-MBMS-Service-Area CRITICALITY ignore TYPE MBMS-Service-Area PRESENCE optional}|
+ { ID id-MinimumTimeToMBMSDataTransfer CRITICALITY reject TYPE MinimumTimeToMBMSDataTransfer PRESENCE mandatory}|
+ { ID id-TNL-Information CRITICALITY ignore TYPE TNL-Information PRESENCE optional}|
+ { ID id-Time-ofMBMS-DataTransfer CRITICALITY ignore TYPE Absolute-Time-ofMBMS-Data PRESENCE optional}|
+ { ID id-MBMS-Cell-List CRITICALITY reject TYPE MBMS-Cell-List PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION UPDATE RESPONSE
+--
+-- **************************************************************
+
+MBMSSessionUpdateResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MBMSSessionUpdateResponse-IEs}},
+ ...
+}
+
+MBMSSessionUpdateResponse-IEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } |
+ { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION UPDATE FAILURE
+--
+-- **************************************************************
+
+MBMSSessionUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MBMSSessionUpdateFailure-IEs}},
+ ...
+}
+
+MBMSSessionUpdateFailure-IEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE mandatory } |
+ { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ ...
+}
+
+ErrorIndication-IEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MME-MBMS-M3AP-ID CRITICALITY ignore TYPE MME-MBMS-M3AP-ID PRESENCE optional } |
+ { ID id-MCE-MBMS-M3AP-ID CRITICALITY ignore TYPE MCE-MBMS-M3AP-ID PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Reset
+--
+-- **************************************************************
+
+Reset ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetIEs} },
+ ...
+}
+
+ResetIEs M3AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
+ ...
+}
+
+ResetType ::= CHOICE {
+ m3-Interface ResetAll,
+ partOfM3-Interface MBMS-Service-associatedLogicalM3-ConnectionListRes,
+ ...
+}
+
+
+
+ResetAll ::= ENUMERATED {
+ reset-all,
+ ...
+}
+
+MBMS-Service-associatedLogicalM3-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualM3ConnectionsToReset)) OF ProtocolIE-Single-Container { { MBMS-Service-associatedLogicalM3-ConnectionItemRes } }
+
+MBMS-Service-associatedLogicalM3-ConnectionItemRes M3AP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Service-associatedLogicalM3-ConnectionItem CRITICALITY reject TYPE MBMS-Service-associatedLogicalM3-ConnectionItem PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Reset Acknowledge
+--
+-- **************************************************************
+
+ResetAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
+ ...
+}
+
+ResetAcknowledgeIEs M3AP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Service-associatedLogicalM3-ConnectionListResAck CRITICALITY ignore TYPE MBMS-Service-associatedLogicalM3-ConnectionListResAck PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+MBMS-Service-associatedLogicalM3-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualM3ConnectionsToReset)) OF ProtocolIE-Single-Container { { MBMS-Service-associatedLogicalM3-ConnectionItemResAck } }
+
+MBMS-Service-associatedLogicalM3-ConnectionItemResAck M3AP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Service-associatedLogicalM3-ConnectionItem CRITICALITY ignore TYPE MBMS-Service-associatedLogicalM3-ConnectionItem PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs M3AP-PRIVATE-IES ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- M3 SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- M3 Setup Request
+--
+-- **************************************************************
+
+M3SetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {M3SetupRequestIEs} },
+ ...
+}
+
+M3SetupRequestIEs M3AP-PROTOCOL-IES ::= {
+ { ID id-Global-MCE-ID CRITICALITY reject TYPE Global-MCE-ID PRESENCE mandatory}|
+ { ID id-MCEname CRITICALITY ignore TYPE MCEname PRESENCE optional}|
+ { ID id-MBMSServiceAreaList CRITICALITY reject TYPE MBMSServiceAreaListItem PRESENCE mandatory},
+ ...
+}
+
+
+MBMSServiceAreaListItem ::= SEQUENCE (SIZE(1..maxnoofMBMSServiceAreaIdentitiesPerMCE)) OF MBMSServiceArea1
+
+
+-- **************************************************************
+--
+-- M3 Setup Response
+--
+-- **************************************************************
+
+M3SetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {M3SetupResponseIEs} },
+ ...
+}
+
+
+M3SetupResponseIEs M3AP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- M3 Setup Failure
+--
+-- **************************************************************
+
+M3SetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {M3SetupFailureIEs} },
+ ...
+}
+
+M3SetupFailureIEs M3AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MCE CONFIGURATION UPDATE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MCE Configuration Update
+--
+-- **************************************************************
+
+MCEConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MCEConfigurationUpdateIEs} },
+ ...
+}
+
+MCEConfigurationUpdateIEs M3AP-PROTOCOL-IES ::= {
+ { ID id-Global-MCE-ID CRITICALITY reject TYPE Global-MCE-ID PRESENCE optional}|
+ { ID id-MCEname CRITICALITY ignore TYPE MCEname PRESENCE optional}|
+ { ID id-MBMSServiceAreaList CRITICALITY reject TYPE MBMSServiceAreaListItem PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MCE Configuration Update Acknowledge
+--
+-- **************************************************************
+
+MCEConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MCEConfigurationUpdateAcknowledgeIEs} },
+ ...
+}
+
+
+MCEConfigurationUpdateAcknowledgeIEs M3AP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MCE Configuration Update Failure
+--
+-- **************************************************************
+
+MCEConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MCEConfigurationUpdateFailureIEs} },
+ ...
+}
+
+MCEConfigurationUpdateFailureIEs M3AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/m3ap/M3AP-PDU-Descriptions.asn b/epan/dissectors/asn1/m3ap/M3AP-PDU-Descriptions.asn
new file mode 100644
index 00000000..1d4e1800
--- /dev/null
+++ b/epan/dissectors/asn1/m3ap/M3AP-PDU-Descriptions.asn
@@ -0,0 +1,213 @@
+-- M3AP-PDU-Descriptions.asn
+--
+-- 3GPP TS 36.444 V16.0.0 (2020-07)
+-- http://www.3gpp.org/ftp/Specs/archive/36_series/36.444/36444-d20.zip
+--
+-- 9.3.3 Elementary Procedure Definitions
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+M3AP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) m3ap (5) version1 (1) m3ap-PDU-Descriptions (0) }
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM M3AP-CommonDataTypes
+
+ MBMSSessionStartRequest,
+ MBMSSessionStartResponse,
+ MBMSSessionStartFailure,
+ MBMSSessionStopRequest,
+ MBMSSessionStopResponse,
+ MBMSSessionUpdateRequest,
+ MBMSSessionUpdateResponse,
+ MBMSSessionUpdateFailure,
+ MCEConfigurationUpdate,
+ MCEConfigurationUpdateAcknowledge,
+ MCEConfigurationUpdateFailure,
+ M3SetupRequest,
+ M3SetupResponse,
+ M3SetupFailure,
+ ErrorIndication,
+ Reset,
+ ResetAcknowledge,
+ PrivateMessage
+
+FROM M3AP-PDU-Contents
+
+ id-mBMSsessionStart,
+ id-mBMSsessionStop,
+ id-mBMSsessionUpdate,
+ id-mCEConfigurationUpdate,
+ id-m3Setup,
+ id-errorIndication,
+ id-Reset,
+ id-privateMessage
+FROM M3AP-Constants;
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+M3AP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+M3AP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode M3AP-ELEMENTARY-PROCEDURE.&procedureCode ({M3AP-ELEMENTARY-PROCEDURES}),
+ criticality M3AP-ELEMENTARY-PROCEDURE.&criticality ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value M3AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode M3AP-ELEMENTARY-PROCEDURE.&procedureCode ({M3AP-ELEMENTARY-PROCEDURES}),
+ criticality M3AP-ELEMENTARY-PROCEDURE.&criticality ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value M3AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode M3AP-ELEMENTARY-PROCEDURE.&procedureCode ({M3AP-ELEMENTARY-PROCEDURES}),
+ criticality M3AP-ELEMENTARY-PROCEDURE.&criticality ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value M3AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({M3AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+M3AP-ELEMENTARY-PROCEDURES M3AP-ELEMENTARY-PROCEDURE ::= {
+ M3AP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ M3AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+M3AP-ELEMENTARY-PROCEDURES-CLASS-1 M3AP-ELEMENTARY-PROCEDURE ::= {
+ mBMSsessionStart |
+ mBMSsessionStop |
+ mBMSsessionUpdate |
+ reset |
+ m3Setup |
+ mCEConfigurationUpdate ,
+ ...
+}
+
+M3AP-ELEMENTARY-PROCEDURES-CLASS-2 M3AP-ELEMENTARY-PROCEDURE ::= {
+ errorIndication |
+ privateMessage ,
+ ...
+
+}
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+mBMSsessionStart M3AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSSessionStartRequest
+ SUCCESSFUL OUTCOME MBMSSessionStartResponse
+ UNSUCCESSFUL OUTCOME MBMSSessionStartFailure
+ PROCEDURE CODE id-mBMSsessionStart
+ CRITICALITY reject
+}
+
+mBMSsessionStop M3AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSSessionStopRequest
+ SUCCESSFUL OUTCOME MBMSSessionStopResponse
+ PROCEDURE CODE id-mBMSsessionStop
+ CRITICALITY reject
+}
+
+mBMSsessionUpdate M3AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSSessionUpdateRequest
+ SUCCESSFUL OUTCOME MBMSSessionUpdateResponse
+ UNSUCCESSFUL OUTCOME MBMSSessionUpdateFailure
+ PROCEDURE CODE id-mBMSsessionUpdate
+ CRITICALITY reject
+}
+
+errorIndication M3AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-errorIndication
+ CRITICALITY ignore
+}
+
+reset M3AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Reset
+ SUCCESSFUL OUTCOME ResetAcknowledge
+ PROCEDURE CODE id-Reset
+ CRITICALITY reject
+}
+
+privateMessage M3AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+mCEConfigurationUpdate M3AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MCEConfigurationUpdate
+ SUCCESSFUL OUTCOME MCEConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME MCEConfigurationUpdateFailure
+ PROCEDURE CODE id-mCEConfigurationUpdate
+ CRITICALITY reject
+}
+
+
+m3Setup M3AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE M3SetupRequest
+ SUCCESSFUL OUTCOME M3SetupResponse
+ UNSUCCESSFUL OUTCOME M3SetupFailure
+ PROCEDURE CODE id-m3Setup
+ CRITICALITY reject
+}
+
+END
diff --git a/epan/dissectors/asn1/m3ap/m3ap.cnf b/epan/dissectors/asn1/m3ap/m3ap.cnf
new file mode 100644
index 00000000..420a6a5e
--- /dev/null
+++ b/epan/dissectors/asn1/m3ap/m3ap.cnf
@@ -0,0 +1,348 @@
+# m3ap.cnf
+# m3ap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.USE_VALS_EXT
+ProcedureCode
+ProtocolIE-ID
+
+#.EXPORTS
+
+#.PDU
+M3AP-PDU
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.NO_EMIT
+# TBCD-STRING
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+ProtocolIE-FieldPair
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+ProtocolIE-ContainerList
+Presence
+
+#.TYPE_RENAME
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+
+PrivateIE-Field/id private_id
+ProtocolExtensionField/id ext_id
+
+PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+
+#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &m3ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+# Currently not used
+# FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue
+# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
+
+# FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ message_type = INITIATING_MESSAGE;
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ message_type = SUCCESSFUL_OUTCOME;
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ message_type = UNSUCCESSFUL_OUTCOME;
+
+#--- Parameterization is not supported in asn2wrs ---
+
+#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-Container {{IEsSetParam}}
+
+# FN_PARS ProtocolIE-ContainerList
+#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# FN_HDR ProtocolIE-ContainerList
+# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, (asn1_par_type)0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
+# END
+
+#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-ContainerPair {{IEsSetParam}}
+
+# FN_PARS ProtocolIE-ContainerPairList
+#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# FN_HDR ProtocolIE-ContainerPairList
+# static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, 0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
+# END
+
+# following construction is not supported by asn2wrs
+# PLMNidentity ::= TBCD-STRING (SIZE (3))
+
+#.FN_BODY PLMN-Identity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ struct m3ap_private_data *m3ap_data = m3ap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = m3ap_data->number_type;
+ m3ap_data->number_type = E212_NONE;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, &parameter_tvb);
+
+ if (!parameter_tvb)
+ return offset;
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, number_type, FALSE);
+#.END
+
+#.FN_BODY ECGI
+ struct m3ap_private_data *m3ap_data = m3ap_get_private_data(actx->pinfo);
+ m3ap_data->number_type = E212_ECGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY IPAddress VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ gint tvb_len;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ tvb_len = tvb_reported_length(parameter_tvb);
+ subtree = proto_item_add_subtree(actx->created_item, ett_m3ap_IPAddress);
+ switch (tvb_len) {
+ case 4:
+ proto_tree_add_item(subtree, hf_m3ap_IPAddress_v4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ break;
+ case 16:
+ proto_tree_add_item(subtree, hf_m3ap_IPAddress_v6, parameter_tvb, 0, 16, ENC_NA);
+ break;
+ default:
+ proto_tree_add_expert(subtree, actx->pinfo, &ei_m3ap_invalid_ip_address_len, parameter_tvb, 0, tvb_len);
+ break;
+ }
+#.END
+
+#.FN_BODY Absolute-Time-ofMBMS-Data VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ proto_tree_add_item(tree, hf_m3ap_Absolute_Time_ofMBMS_Data_value, parameter_tvb, 0, 8, ENC_TIME_NTP|ENC_BIG_ENDIAN);
+#.END
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.FN_BODY MBMS-Service-Area VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ guint16 tvb_len;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ tvb_len = tvb_reported_length(parameter_tvb);
+
+ dissect_gtpv2_mbms_service_area(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL);
+#.END
+
+#.FN_BODY MBMS-Session-Duration VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ guint16 tvb_len;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, &parameter_tvb);
+
+ if (!parameter_tvb)
+ return offset;
+
+ tvb_len = tvb_reported_length(parameter_tvb);
+
+ proto_item_append_text(actx->created_item, " ");
+ dissect_gtpv2_mbms_session_duration(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL);
+#.END
+
+#.FN_BODY MinimumTimeToMBMSDataTransfer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ guint16 tvb_len;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ tvb_len = tvb_reported_length(parameter_tvb);
+ dissect_gtpv2_mbms_time_to_data_xfer(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL);
+#.END
+
+#------ Pretify info column -----
+#.FN_HDR MBMSSessionStartRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Request ");
+#.FN_HDR MBMSSessionStartResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Response ");
+#.FN_HDR MBMSSessionStartFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Failure ");
+#.FN_HDR MBMSSessionStopRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Stop Request ");
+#.FN_HDR MBMSSessionStopResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Stop Response ");
+#.FN_HDR MBMSSessionUpdateRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Request ");
+#.FN_HDR MBMSSessionUpdateResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Response ");
+#.FN_HDR MBMSSessionUpdateFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Failure ");
+#.FN_HDR ErrorIndication
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"Error Indication ");
+#.FN_HDR Reset
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset ");
+#.FN_HDR ResetAcknowledge
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset Acknowledge ");
+#.FN_HDR PrivateMessage
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"Private Message ");
+#.FN_HDR MCEConfigurationUpdate
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update ");
+#.FN_HDR MCEConfigurationUpdateAcknowledge
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update Acknowledge ");
+#.FN_HDR MCEConfigurationUpdateFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update Failure ");
+#.FN_HDR M3SetupRequest
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Request ");
+#.FN_HDR M3SetupResponse
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Response ");
+#.FN_HDR M3SetupFailure
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Failure ");
+
+
+#.ASSIGN_VALUE_TO_TYPE # M3AP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+id-mBMSsessionStart ProcedureCode
+id-mBMSsessionStop ProcedureCode
+id-errorIndication ProcedureCode
+id-privateMessage ProcedureCode
+id-Reset ProcedureCode
+id-mBMSsessionUpdate ProcedureCode
+id-mCEConfigurationUpdate ProcedureCode
+id-m3Setup ProcedureCode
+
+# ProtocolIE
+id-MME-MBMS-M3AP-ID ProtocolIE-ID
+id-MCE-MBMS-M3AP-ID ProtocolIE-ID
+id-TMGI ProtocolIE-ID
+id-MBMS-Session-ID ProtocolIE-ID
+id-MBMS-E-RAB-QoS-Parameters ProtocolIE-ID
+id-MBMS-Session-Duration ProtocolIE-ID
+id-MBMS-Service-Area ProtocolIE-ID
+id-TNL-Information ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-MBMS-Service-Area-List ProtocolIE-ID
+id-MBMS-Service-Area-List-Item ProtocolIE-ID
+id-TimeToWait ProtocolIE-ID
+id-ResetType ProtocolIE-ID
+id-MBMS-Service-associatedLogicalM3-ConnectionItem ProtocolIE-ID
+id-MBMS-Service-associatedLogicalM3-ConnectionListResAck ProtocolIE-ID
+id-MinimumTimeToMBMSDataTransfer ProtocolIE-ID
+id-AllocationAndRetentionPriority ProtocolIE-ID
+id-Global-MCE-ID ProtocolIE-ID
+id-MCEname ProtocolIE-ID
+id-MBMSServiceAreaList ProtocolIE-ID
+id-Time-ofMBMS-DataTransfer ProtocolIE-ID
+id-Time-ofMBMS-DataStop ProtocolIE-ID
+id-Reestablishment ProtocolIE-ID
+id-Alternative-TNL-Information ProtocolIE-ID
+id-MBMS-Cell-List ProtocolIE-ID
+
+#.REGISTER
+
+#M3AP-PROTOCOL-IES
+MME-MBMS-M3AP-ID N m3ap.ies id-MME-MBMS-M3AP-ID
+MCE-MBMS-M3AP-ID N m3ap.ies id-MCE-MBMS-M3AP-ID
+TMGI N m3ap.ies id-TMGI
+MBMS-Session-ID N m3ap.ies id-MBMS-Session-ID
+MBMS-E-RAB-QoS-Parameters N m3ap.ies id-MBMS-E-RAB-QoS-Parameters
+MBMS-Session-Duration N m3ap.ies id-MBMS-Session-Duration
+MBMS-Service-Area N m3ap.ies id-MBMS-Service-Area
+TNL-Information N m3ap.ies id-TNL-Information
+CriticalityDiagnostics N m3ap.ies id-CriticalityDiagnostics
+Cause N m3ap.ies id-Cause
+#MBMS-Service-Area-List N m3ap.ies id-MBMS-Service-Area-List
+#MBMS-Service-Area-List-Item N m3ap.ies id-MBMS-Service-Area-List-Item
+TimeToWait N m3ap.ies id-TimeToWait
+ResetType N m3ap.ies id-ResetType
+MBMS-Service-associatedLogicalM3-ConnectionItem N m3ap.ies id-MBMS-Service-associatedLogicalM3-ConnectionItem
+MBMS-Service-associatedLogicalM3-ConnectionListResAck N m3ap.ies id-MBMS-Service-associatedLogicalM3-ConnectionListResAck
+MinimumTimeToMBMSDataTransfer N m3ap.ies id-MinimumTimeToMBMSDataTransfer
+AllocationAndRetentionPriority N m3ap.ies id-AllocationAndRetentionPriority
+Global-MCE-ID N m3ap.ies id-Global-MCE-ID
+MCEname N m3ap.ies id-MCEname
+MBMSServiceAreaListItem N m3ap.ies id-MBMSServiceAreaList
+Absolute-Time-ofMBMS-Data N m3ap.ies id-Time-ofMBMS-DataTransfer
+Absolute-Time-ofMBMS-Data N m3ap.ies id-Time-ofMBMS-DataStop
+Reestablishment N m3ap.ies id-Reestablishment
+TNL-Information N m3ap.ies id-Alternative-TNL-Information
+MBMS-Cell-List N m3ap.ies id-MBMS-Cell-List
+
+#M3AP-ELEMENTARY-PROCEDURE
+MBMSSessionStartRequest N m3ap.proc.imsg id-mBMSsessionStart
+MBMSSessionStartResponse N m3ap.proc.sout id-mBMSsessionStart
+MBMSSessionStartFailure N m3ap.proc.uout id-mBMSsessionStart
+
+MBMSSessionStopRequest N m3ap.proc.imsg id-mBMSsessionStop
+MBMSSessionStopResponse N m3ap.proc.sout id-mBMSsessionStop
+
+MBMSSessionUpdateRequest N m3ap.proc.imsg id-mBMSsessionUpdate
+MBMSSessionUpdateResponse N m3ap.proc.sout id-mBMSsessionUpdate
+MBMSSessionUpdateFailure N m3ap.proc.uout id-mBMSsessionUpdate
+
+ErrorIndication N m3ap.proc.imsg id-errorIndication
+
+Reset N m3ap.proc.imsg id-Reset
+ResetAcknowledge N m3ap.proc.sout id-Reset
+
+PrivateMessage N m3ap.proc.imsg id-privateMessage
+
+MCEConfigurationUpdate N m3ap.proc.imsg id-mCEConfigurationUpdate
+MCEConfigurationUpdateAcknowledge N m3ap.proc.sout id-mCEConfigurationUpdate
+MCEConfigurationUpdateFailure N m3ap.proc.uout id-mCEConfigurationUpdate
+
+M3SetupRequest N m3ap.proc.imsg id-m3Setup
+M3SetupResponse N m3ap.proc.sout id-m3Setup
+M3SetupFailure N m3ap.proc.uout id-m3Setup
+
+#.END
diff --git a/epan/dissectors/asn1/m3ap/packet-m3ap-template.c b/epan/dissectors/asn1/m3ap/packet-m3ap-template.c
new file mode 100644
index 00000000..d2c2c389
--- /dev/null
+++ b/epan/dissectors/asn1/m3ap/packet-m3ap-template.c
@@ -0,0 +1,223 @@
+/* packet-m3ap.c
+ * Routines for M3 Application Protocol packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Reference: 3GPP TS 36.444 v16.0.0
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/sctpppids.h>
+#include <epan/expert.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-e212.h"
+#include "packet-gtpv2.h"
+
+#define PNAME "M3 Application Protocol"
+#define PSNAME "M3AP"
+#define PFNAME "m3ap"
+
+void proto_register_m3ap(void);
+void proto_reg_handoff_m3ap(void);
+
+/* M3AP uses port 36444 as recommended by IANA. */
+#define M3AP_PORT 36444
+static dissector_handle_t m3ap_handle=NULL;
+
+#include "packet-m3ap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_m3ap = -1;
+
+static int hf_m3ap_Absolute_Time_ofMBMS_Data_value = -1;
+static int hf_m3ap_IPAddress_v4 = -1;
+static int hf_m3ap_IPAddress_v6 = -1;
+
+#include "packet-m3ap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_m3ap = -1;
+static int ett_m3ap_IPAddress = -1;
+#include "packet-m3ap-ett.c"
+
+static expert_field ei_m3ap_invalid_ip_address_len = EI_INIT;
+
+struct m3ap_private_data {
+ e212_number_type_t number_type;
+};
+
+enum{
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+/*static guint32 ProtocolExtensionID; */
+static int global_m3ap_port = M3AP_PORT;
+static guint32 message_type;
+
+/* Dissector tables */
+static dissector_table_t m3ap_ies_dissector_table;
+static dissector_table_t m3ap_extension_dissector_table;
+static dissector_table_t m3ap_proc_imsg_dissector_table;
+static dissector_table_t m3ap_proc_sout_dissector_table;
+static dissector_table_t m3ap_proc_uout_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static struct m3ap_private_data*
+m3ap_get_private_data(packet_info *pinfo)
+{
+ struct m3ap_private_data *m3ap_data = (struct m3ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_m3ap, 0);
+ if (!m3ap_data) {
+ m3ap_data = wmem_new0(pinfo->pool, struct m3ap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_m3ap, 0, m3ap_data);
+ }
+ return m3ap_data;
+}
+
+#include "packet-m3ap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m3ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m3ap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m3ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m3ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(m3ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static int
+dissect_m3ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *m3ap_item = NULL;
+ proto_tree *m3ap_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+ col_clear_fence(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ /* create the m3ap protocol tree */
+ m3ap_item = proto_tree_add_item(tree, proto_m3ap, tvb, 0, -1, ENC_NA);
+ m3ap_tree = proto_item_add_subtree(m3ap_item, ett_m3ap);
+
+ dissect_M3AP_PDU_PDU(tvb, pinfo, m3ap_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+/*--- proto_register_m3ap -------------------------------------------*/
+void proto_register_m3ap(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_m3ap_Absolute_Time_ofMBMS_Data_value,
+ { "Absolute-Time-ofMBMS-Data-value", "m3ap.Absolute_Time_ofMBMS_Data_value",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_NTP_UTC, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_m3ap_IPAddress_v4,
+ { "IPAddress", "m3ap.IPAddress_v4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_m3ap_IPAddress_v6,
+ { "IPAddress", "m3ap.IPAddress_v6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }
+ },
+
+#include "packet-m3ap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_m3ap,
+ &ett_m3ap_IPAddress,
+#include "packet-m3ap-ettarr.c"
+ };
+
+ expert_module_t* expert_m3ap;
+
+ static ei_register_info ei[] = {
+ { &ei_m3ap_invalid_ip_address_len, { "m3ap.invalid_ip_address_len", PI_MALFORMED, PI_ERROR, "Invalid IP address length", EXPFILL }}
+ };
+
+ /* Register protocol */
+ proto_m3ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_m3ap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_m3ap = expert_register_protocol(proto_m3ap);
+ expert_register_field_array(expert_m3ap, ei, array_length(ei));
+ /* Register dissector */
+ m3ap_handle = register_dissector(PFNAME, dissect_m3ap, proto_m3ap);
+
+ /* Register dissector tables */
+ m3ap_ies_dissector_table = register_dissector_table("m3ap.ies", "M3AP-PROTOCOL-IES", proto_m3ap, FT_UINT32, BASE_DEC);
+ m3ap_extension_dissector_table = register_dissector_table("m3ap.extension", "M3AP-PROTOCOL-EXTENSION", proto_m3ap, FT_UINT32, BASE_DEC);
+ m3ap_proc_imsg_dissector_table = register_dissector_table("m3ap.proc.imsg", "M3AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_m3ap, FT_UINT32, BASE_DEC);
+ m3ap_proc_sout_dissector_table = register_dissector_table("m3ap.proc.sout", "M3AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_m3ap, FT_UINT32, BASE_DEC);
+ m3ap_proc_uout_dissector_table = register_dissector_table("m3ap.proc.uout", "M3AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_m3ap, FT_UINT32, BASE_DEC);
+}
+
+
+/*--- proto_reg_handoff_m3ap ---------------------------------------*/
+void
+proto_reg_handoff_m3ap(void)
+{
+ static gboolean inited = FALSE;
+ static guint SctpPort;
+
+ if( !inited ) {
+ dissector_add_uint("sctp.ppi", PROTO_3GPP_M3AP_PROTOCOL_ID, m3ap_handle);
+ inited = TRUE;
+#include "packet-m3ap-dis-tab.c"
+ dissector_add_uint("m3ap.extension", 17, create_dissector_handle(dissect_AllocationAndRetentionPriority_PDU, proto_m3ap));
+ }
+ else {
+ if (SctpPort != 0) {
+ dissector_delete_uint("sctp.port", SctpPort, m3ap_handle);
+ }
+ }
+
+ SctpPort = global_m3ap_port;
+ if (SctpPort != 0) {
+ dissector_add_uint("sctp.port", SctpPort, m3ap_handle);
+ }
+}
diff --git a/epan/dissectors/asn1/mms/CMakeLists.txt b/epan/dissectors/asn1/mms/CMakeLists.txt
new file mode 100644
index 00000000..54a77b81
--- /dev/null
+++ b/epan/dissectors/asn1/mms/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME mms )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../acse/acse-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/mms/mms.asn b/epan/dissectors/asn1/mms/mms.asn
new file mode 100644
index 00000000..3f72c10f
--- /dev/null
+++ b/epan/dissectors/asn1/mms/mms.asn
@@ -0,0 +1,2301 @@
+-- ASN definition from
+-- http://www.sisconet.com/techinfo.htm
+-- slightly modified
+--
+--
+--Corrections made July 2, 1994
+--
+--
+-- Modified to pass asn2wrs
+
+MMS { iso standard 9506 part(2) mms-general-module-version(2) }
+
+DEFINITIONS ::=
+
+BEGIN
+
+EXPORTS MMSpdu;
+
+IMPORTS
+ EXTERNALt,
+ AP-title,
+ AP-invocation-identifier,
+ AE-qualifier,
+ AE-invocation-identifier
+FROM ISO-8650-ACSE-1;
+
+
+MMSpdu ::= CHOICE
+ {
+ confirmed-RequestPDU [0] IMPLICIT Confirmed-RequestPDU,
+ confirmed-ResponsePDU [1] IMPLICIT Confirmed-ResponsePDU,
+ confirmed-ErrorPDU [2] IMPLICIT Confirmed-ErrorPDU,
+ unconfirmed-PDU [3] IMPLICIT Unconfirmed-PDU,
+ rejectPDU [4] IMPLICIT RejectPDU,
+ cancel-RequestPDU [5] IMPLICIT Cancel-RequestPDU,
+ cancel-ResponsePDU [6] IMPLICIT Cancel-ResponsePDU,
+ cancel-ErrorPDU [7] IMPLICIT Cancel-ErrorPDU,
+ initiate-RequestPDU [8] IMPLICIT Initiate-RequestPDU,
+ initiate-ResponsePDU [9] IMPLICIT Initiate-ResponsePDU,
+ initiate-ErrorPDU [10] IMPLICIT Initiate-ErrorPDU,
+ conclude-RequestPDU [11] IMPLICIT Conclude-RequestPDU,
+ conclude-ResponsePDU [12] IMPLICIT Conclude-ResponsePDU,
+ conclude-ErrorPDU [13] IMPLICIT Conclude-ErrorPDU
+ }
+
+
+Confirmed-RequestPDU ::= SEQUENCE
+ {
+ invokeID Unsigned32,
+ listOfModifier SEQUENCE OF Modifier OPTIONAL,
+ confirmedServiceRequest ConfirmedServiceRequest,
+ cs-request-detail [79] CS-Request-Detail OPTIONAL
+ }
+
+
+Unconfirmed-PDU ::= SEQUENCE
+ {
+ unconfirmedService UnconfirmedService,
+ cs-request-detail [79] CS-Request-Detail OPTIONAL
+ }
+
+
+Confirmed-ResponsePDU ::= SEQUENCE
+ {
+ invokeID Unsigned32,
+ confirmedServiceResponse ConfirmedServiceResponse,
+ cs-request-detail [79] CS-Request-Detail OPTIONAL
+ }
+
+
+Confirmed-ErrorPDU ::= SEQUENCE
+ {
+ invokeID [0] IMPLICIT Unsigned32,
+ modifierPosition [1] IMPLICIT Unsigned32 OPTIONAL,
+ serviceError [2] IMPLICIT ServiceError
+ }
+
+
+UnconfirmedService ::= CHOICE
+ {
+ informationReport [0] IMPLICIT InformationReport,
+ unsolicitedStatus [1] IMPLICIT UnsolicitedStatus,
+ eventNotification [2] IMPLICIT EventNotification
+-- XXX this one is neither in this ASN nor in the IMPORTS
+-- additionalService [3] AdditionalUnconfirmedService
+ }
+
+
+Modifier ::= CHOICE
+ {
+ attach-To-Event-Condition [0] IMPLICIT AttachToEventCondition,
+ attach-To-Semaphore [1] IMPLICIT AttachToSemaphore
+ }
+
+
+ConfirmedServiceRequest ::= CHOICE
+ {
+ status [0] IMPLICIT Status-Request,
+ getNameList [1] IMPLICIT GetNameList-Request,
+ identify [2] IMPLICIT Identify-Request,
+ rename [3] IMPLICIT Rename-Request,
+ read [4] IMPLICIT Read-Request,
+ write [5] IMPLICIT Write-Request,
+ getVariableAccessAttributes [6] GetVariableAccessAttributes-Request,
+ defineNamedVariable [7] IMPLICIT DefineNamedVariable-Request,
+ defineScatteredAccess [8] IMPLICIT DefineScatteredAccess-Request,
+ getScatteredAccessAttributes [9] IMPLICIT GetScatteredAccessAttributes-Request,
+ deleteVariableAccess [10] IMPLICIT DeleteVariableAccess-Request,
+ defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Request,
+ getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes-Request,
+ deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Request,
+ defineNamedType [14] IMPLICIT DefineNamedType-Request,
+ getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes-Request,
+ deleteNamedType [16] IMPLICIT DeleteNamedType-Request,
+ input [17] IMPLICIT Input-Request,
+ output [18] IMPLICIT Output-Request,
+ takeControl [19] IMPLICIT TakeControl-Request,
+ relinquishControl [20] IMPLICIT RelinquishControl-Request,
+ defineSemaphore [21] IMPLICIT DefineSemaphore-Request,
+ deleteSemaphore [22] IMPLICIT DeleteSemaphore-Request,
+ reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus-Request,
+ reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus-Request,
+ reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus-Request,
+ initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence-Request,
+ downloadSegment [27] IMPLICIT DownloadSegment-Request,
+ terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence-Request,
+ initiateUploadSequence [29] IMPLICIT InitiateUploadSequence-Request,
+ uploadSegment [30] IMPLICIT UploadSegment-Request,
+ terminateUploadSequence [31] IMPLICIT TerminateUploadSequence-Request,
+ requestDomainDownload [32] IMPLICIT RequestDomainDownload-Request,
+ requestDomainUpload [33] IMPLICIT RequestDomainUpload-Request,
+ loadDomainContent [34] IMPLICIT LoadDomainContent-Request,
+ storeDomainContent [35] IMPLICIT StoreDomainContent-Request,
+ deleteDomain [36] IMPLICIT DeleteDomain-Request,
+ getDomainAttributes [37] IMPLICIT GetDomainAttributes-Request,
+ createProgramInvocation [38] IMPLICIT CreateProgramInvocation-Request,
+ deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation-Request,
+ start [40] IMPLICIT Start-Request,
+ stop [41] IMPLICIT Stop-Request,
+ resume [42] IMPLICIT Resume-Request,
+ reset [43] IMPLICIT Reset-Request,
+ kill [44] IMPLICIT Kill-Request,
+ getProgramInvocationAttributes [45] IMPLICIT GetProgramInvocationAttributes-Request,
+ obtainFile [46] IMPLICIT ObtainFile-Request,
+ defineEventCondition [47] IMPLICIT DefineEventCondition-Request,
+ deleteEventCondition [48] DeleteEventCondition-Request,
+ getEventConditionAttributes [49] GetEventConditionAttributes-Request,
+ reportEventConditionStatus [50] ReportEventConditionStatus-Request,
+ alterEventConditionMonitoring [51] IMPLICIT AlterEventConditionMonitoring-Request,
+ triggerEvent [52] IMPLICIT TriggerEvent-Request,
+ defineEventAction [53] IMPLICIT DefineEventAction-Request,
+ deleteEventAction [54] DeleteEventAction-Request,
+ getEventActionAttributes [55] GetEventActionAttributes-Request,
+ reportEventActionStatus [56] ReportEventActionStatus-Request,
+ defineEventEnrollment [57] IMPLICIT DefineEventEnrollment-Request,
+ deleteEventEnrollment [58] DeleteEventEnrollment-Request,
+ alterEventEnrollment [59] IMPLICIT AlterEventEnrollment-Request,
+ reportEventEnrollmentStatus [60] ReportEventEnrollmentStatus-Request,
+ getEventEnrollmentAttributes [61] IMPLICIT GetEventEnrollmentAttributes-Request,
+ acknowledgeEventNotification [62] IMPLICIT AcknowledgeEventNotification-Request,
+ getAlarmSummary [63] IMPLICIT GetAlarmSummary-Request,
+ getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary-Request,
+ readJournal [65] IMPLICIT ReadJournal-Request,
+ writeJournal [66] IMPLICIT WriteJournal-Request,
+ initializeJournal [67] IMPLICIT InitializeJournal-Request,
+ reportJournalStatus [68] IMPLICIT ReportJournalStatus-Request,
+ createJournal [69] IMPLICIT CreateJournal-Request,
+ deleteJournal [70] IMPLICIT DeleteJournal-Request,
+ getCapabilityList [71] IMPLICIT GetCapabilityList-Request,
+ fileOpen [72] IMPLICIT FileOpen-Request,
+ fileRead [73] IMPLICIT FileRead-Request,
+ fileClose [74] IMPLICIT FileClose-Request,
+ fileRename [75] IMPLICIT FileRename-Request,
+ fileDelete [76] IMPLICIT FileDelete-Request,
+ fileDirectory [77] IMPLICIT FileDirectory-Request
+-- XXX this one is neither in this ASN nor in the IMPORTS
+-- additionalService [78] AdditionalService-Request
+ }
+
+CS-Request-Detail ::= CHOICE {
+-- see ISO 9506-2
+-- XXX can not handle empty choice
+-- XXX fix me later
+ foo INTEGER
+ }
+
+ConfirmedServiceResponse ::= CHOICE
+ {
+ status [0] IMPLICIT Status-Response,
+ getNameList [1] IMPLICIT GetNameList-Response,
+ identify [2] IMPLICIT Identify-Response,
+ rename [3] IMPLICIT Rename-Response,
+ read [4] IMPLICIT Read-Response,
+ write [5] IMPLICIT Write-Response,
+ getVariableAccessAttributes [6] IMPLICIT GetVariableAccessAttributes-Response,
+ defineNamedVariable [7] IMPLICIT DefineNamedVariable-Response,
+ defineScatteredAccess [8] IMPLICIT DefineScatteredAccess-Response,
+ getScatteredAccessAttributes [9] IMPLICIT GetScatteredAccessAttributes-Response,
+ deleteVariableAccess [10] IMPLICIT DeleteVariableAccess-Response,
+ defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Response,
+ getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes-Response,
+ deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Response,
+ defineNamedType [14] IMPLICIT DefineNamedType-Response,
+ getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes-Response,
+ deleteNamedType [16] IMPLICIT DeleteNamedType-Response,
+ input [17] IMPLICIT Input-Response,
+ output [18] IMPLICIT Output-Response,
+ takeControl [19] TakeControl-Response,
+ relinquishControl [20] IMPLICIT RelinquishControl-Response,
+ defineSemaphore [21] IMPLICIT DefineSemaphore-Response,
+ deleteSemaphore [22] IMPLICIT DeleteSemaphore-Response,
+ reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus-Response,
+ reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus-Response,
+ reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus-Response,
+ initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence-Response,
+ downloadSegment [27] IMPLICIT DownloadSegment-Response,
+ terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence-Response,
+ initiateUploadSequence [29] IMPLICIT InitiateUploadSequence-Response,
+ uploadSegment [30] IMPLICIT UploadSegment-Response,
+ terminateUploadSequence [31] IMPLICIT TerminateUploadSequence-Response,
+ requestDomainDownLoad [32] IMPLICIT RequestDomainDownload-Response,
+ requestDomainUpload [33] IMPLICIT RequestDomainUpload-Response,
+ loadDomainContent [34] IMPLICIT LoadDomainContent-Response,
+ storeDomainContent [35] IMPLICIT StoreDomainContent-Response,
+ deleteDomain [36] IMPLICIT DeleteDomain-Response,
+ getDomainAttributes [37] IMPLICIT GetDomainAttributes-Response,
+ createProgramInvocation [38] IMPLICIT CreateProgramInvocation-Response,
+ deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation-Response,
+ start [40] IMPLICIT Start-Response,
+ stop [41] IMPLICIT Stop-Response,
+ resume [42] IMPLICIT Resume-Response,
+ reset [43] IMPLICIT Reset-Response,
+ kill [44] IMPLICIT Kill-Response,
+ getProgramInvocationAttributes [45] IMPLICIT GetProgramInvocationAttributes-Response,
+ obtainFile [46] IMPLICIT ObtainFile-Response,
+ fileOpen [72] IMPLICIT FileOpen-Response,
+ defineEventCondition [47] IMPLICIT DefineEventCondition-Response,
+ deleteEventCondition [48] IMPLICIT DeleteEventCondition-Response,
+ getEventConditionAttributes [49] IMPLICIT GetEventConditionAttributes-Response,
+ reportEventConditionStatus [50] IMPLICIT ReportEventConditionStatus-Response,
+ alterEventConditionMonitoring [51] IMPLICIT AlterEventConditionMonitoring-Response,
+ triggerEvent [52] IMPLICIT TriggerEvent-Response,
+ defineEventAction [53] IMPLICIT DefineEventAction-Response,
+ deleteEventAction [54] IMPLICIT DeleteEventAction-Response,
+ getEventActionAttributes [55] IMPLICIT GetEventActionAttributes-Response,
+ reportActionStatus [56] IMPLICIT ReportEventActionStatus-Response,
+ defineEventEnrollment [57] IMPLICIT DefineEventEnrollment-Response,
+ deleteEventEnrollment [58] IMPLICIT DeleteEventEnrollment-Response,
+ alterEventEnrollment [59] IMPLICIT AlterEventEnrollment-Response,
+ reportEventEnrollmentStatus [60] IMPLICIT ReportEventEnrollmentStatus-Response,
+ getEventEnrollmentAttributes [61] IMPLICIT GetEventEnrollmentAttributes-Response,
+ acknowledgeEventNotification [62] IMPLICIT AcknowledgeEventNotification-Response,
+ getAlarmSummary [63] IMPLICIT GetAlarmSummary-Response,
+ getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary-Response,
+ readJournal [65] IMPLICIT ReadJournal-Response,
+ writeJournal [66] IMPLICIT WriteJournal-Response,
+ initializeJournal [67] IMPLICIT InitializeJournal-Response,
+ reportJournalStatus [68] IMPLICIT ReportJournalStatus-Response,
+ createJournal [69] IMPLICIT CreateJournal-Response,
+ deleteJournal [70] IMPLICIT DeleteJournal-Response,
+ getCapabilityList [71] IMPLICIT GetCapabilityList-Response,
+ fileRead [73] IMPLICIT FileRead-Response,
+ fileClose [74] IMPLICIT FileClose-Response,
+ fileRename [75] IMPLICIT FileRename-Response,
+ fileDelete [76] IMPLICIT FileDelete-Response,
+ fileDirectory [77] IMPLICIT FileDirectory-Response
+-- XXX this one is neither in this ASN nor in the IMPORTS
+-- additionalService [78] AdditionalService-Response
+ }
+
+--********************************** COMMON MMS TYPES ***********************************
+
+FileName ::= SEQUENCE OF GraphicString
+
+TimeOfDay ::= OCTET STRING -- (SIZE (4 | 6))
+
+Identifier ::= VisibleString
+
+MMSString ::= UTF8String
+
+Integer8 ::= INTEGER
+Integer16 ::= INTEGER
+Integer32 ::= INTEGER
+
+
+Unsigned8 ::= INTEGER
+Unsigned16 ::= INTEGER
+Unsigned32 ::= INTEGER
+
+
+ObjectName ::= CHOICE
+ {
+ vmd-specific [0] IMPLICIT Identifier,
+ domain-specific [1] IMPLICIT SEQUENCE
+ {
+ domainId Identifier,
+ itemId Identifier
+ },
+ aa-specific [2] IMPLICIT Identifier
+ }
+
+
+ApplicationReference ::= SEQUENCE
+ {
+ ap-title [0] AP-title OPTIONAL,
+ ap-invocation-id [1] AP-invocation-identifier OPTIONAL,
+ ae-qualifier [2] AE-qualifier OPTIONAL,
+ ae-invocation-id [3] AE-invocation-identifier OPTIONAL
+ }
+
+
+Priority ::= Unsigned8
+
+normalPriority Priority ::= 64
+
+
+
+
+
+-- ************************************ GENERAL *************************************
+
+Initiate-ErrorPDU ::= ServiceError
+
+Initiate-RequestPDU ::= SEQUENCE
+ {
+ localDetailCalling [0] IMPLICIT Integer32 OPTIONAL,
+ proposedMaxServOutstandingCalling [1] IMPLICIT Integer16,
+ proposedMaxServOutstandingCalled [2] IMPLICIT Integer16,
+ proposedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL,
+ mmsInitRequestDetail [4] IMPLICIT InitRequestDetail
+ }
+
+InitRequestDetail ::= SEQUENCE
+ {
+ proposedVersionNumber [0] IMPLICIT Integer16,
+ proposedParameterCBB [1] IMPLICIT ParameterSupportOptions,
+ servicesSupportedCalling [2] IMPLICIT ServiceSupportOptions
+ }
+
+Initiate-ResponsePDU ::= SEQUENCE
+ {
+ localDetailCalled [0] IMPLICIT Integer32 OPTIONAL,
+ negociatedMaxServOutstandingCalling [1] IMPLICIT Integer16,
+ negociatedMaxServOutstandingCalled [2] IMPLICIT Integer16,
+ negociatedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL,
+ mmsInitResponseDetail [4] IMPLICIT InitResponseDetail
+ }
+
+InitResponseDetail ::= SEQUENCE
+ {
+ negociatedVersionNumber [0] IMPLICIT Integer16,
+ negociatedParameterCBB [1] IMPLICIT ParameterSupportOptions,
+ servicesSupportedCalled [2] IMPLICIT ServiceSupportOptions
+ }
+
+
+ParameterSupportOptions ::= BIT STRING {
+ str1 (0),
+ str2 (1),
+ vnam (2),
+ valt (3),
+ vadr (4),
+ vsca (5),
+ tpy (6),
+ vlis (7),
+ real (8),
+ cei (10)
+ }
+
+
+ServiceSupportOptions ::= BIT STRING
+ {
+ status (0),
+ getNameList (1),
+ identify (2),
+ rename (3),
+ read (4),
+ write (5),
+ getVariableAccessAttributes (6),
+ defineNamedVariable (7),
+ defineScatteredAccess (8),
+ getScatteredAccessAttributes (9),
+ deleteVariableAccess (10),
+ defineNamedVariableList (11),
+ getNamedVariableListAttributes (12),
+ deleteNamedVariableList (13),
+ defineNamedType (14),
+ getNamedTypeAttributes (15),
+ deleteNamedType (16),
+ input (17),
+ output (18),
+ takeControl (19),
+ relinquishControl (20),
+ defineSemaphore (21),
+ deleteSemaphore (22),
+ reportSemaphoreStatus (23),
+ reportPoolSemaphoreStatus (24),
+ reportSemaphoreEntryStatus (25),
+ initiateDownloadSequence (26),
+ downloadSegment (27),
+ terminateDownloadSequence (28),
+ initiateUploadSequence (29),
+ uploadSegment (30),
+ terminateUploadSequence (31),
+ requestDomainDownload (32),
+ requestDomainUpload (33),
+ loadDomainContent (34),
+ storeDomainContent (35),
+ deleteDomain (36),
+ getDomainAttributes (37),
+ createProgramInvocation (38),
+ deleteProgramInvocation (39),
+ start (40),
+ stop (41),
+ resume (42),
+ reset (43),
+ kill (44),
+ getProgramInvocationAttributes (45),
+ obtainFile (46),
+ defineEventCondition (47),
+ deleteEventCondition (48),
+ getEventConditionAttributes (49),
+ reportEventConditionStatus (50),
+ alterEventConditionMonitoring (51),
+ triggerEvent (52),
+ defineEventAction (53),
+ deleteEventAction (54),
+ getEventActionAttributes (55),
+ reportActionStatus (56),
+ defineEventEnrollment (57),
+ deleteEventEnrollment (58),
+ alterEventEnrollment (59),
+ reportEventEnrollmentStatus (60),
+ getEventEnrollmentAttributes (61),
+ acknowledgeEventNotification (62),
+ getAlarmSummary (63),
+ getAlarmEnrollmentSummary (64),
+ readJournal (65),
+ writeJournal (66),
+ initializeJournal (67),
+ reportJournalStatus (68),
+ createJournal (69),
+ deleteJournal (70),
+ getCapabilityList (71),
+ fileOpen (72),
+ fileRead (73),
+ fileClose (74),
+ fileRename (75),
+ fileDelete (76),
+ fileDirectory (77),
+ unsolicitedStatus (78),
+ informationReport (79),
+ eventNotification (80),
+ attachToEventCondition (81),
+ attachToSemaphore (82),
+ conclude (83),
+ cancel (84)
+ }
+
+---------------------------------- CONCLUDE --------------------------------
+
+Conclude-RequestPDU ::= NULL
+
+Conclude-ResponsePDU ::= NULL
+
+Conclude-ErrorPDU ::= ServiceError
+
+---------------------------------- CANCEL --------------------------------
+
+Cancel-RequestPDU ::= Unsigned32 -- originalInvokeID
+
+Cancel-ResponsePDU ::= Unsigned32 -- originalInvokeID
+
+Cancel-ErrorPDU ::= SEQUENCE
+ {
+ originalInvokeID [0] IMPLICIT Unsigned32,
+ serviceError [1] IMPLICIT ServiceError
+ }
+
+------------------------------ Service-Error --------------------------------
+
+ServiceError ::= SEQUENCE
+ {
+ errorClass [0] CHOICE
+ {
+ vmd-state [0] IMPLICIT INTEGER
+ {
+ other (0),
+ vmd-state-conflict (1),
+ vmd-operational-problem (2),
+ domain-transfer-problem (3),
+ state-machine-id-invalid (4)
+ },
+ application-reference [1] IMPLICIT INTEGER
+ {
+ other (0),
+ aplication-unreachable (1),
+ connection-lost (2),
+ application-reference-invalid (3),
+ context-unsupported (4)
+ },
+ definition [2] IMPLICIT INTEGER
+ {
+ other (0),
+ object-undefined (1),
+ invalid-address (2),
+ type-unsupported (3),
+ type-inconsistent (4),
+ object-exists (5),
+ object-attribute-inconsistent (6)
+ },
+ resource [3] IMPLICIT INTEGER
+ {
+ other (0),
+ memory-unavailable (1),
+ processor-resource-unavailable (2),
+ mass-storage-unavailable (3),
+ capability-unavailable (4),
+ capability-unknown (5)
+ },
+ service [4] IMPLICIT INTEGER
+ {
+ other (0),
+ primitives-out-of-sequence (1),
+ object-sate-conflict (2),
+ pdu-size (3),
+ continuation-invalid (4),
+ object-constraint-conflict (5)
+ },
+ service-preempt [5] IMPLICIT INTEGER
+ {
+ other (0),
+ timeout (1),
+ deadlock (2),
+ cancel (3)
+ },
+ time-resolution [6] IMPLICIT INTEGER
+ {
+ other (0),
+ unsupportable-time-resolution (1)
+ },
+ access [7] IMPLICIT INTEGER
+ {
+ other (0),
+ object-access-unsupported (1),
+ object-non-existent (2),
+ object-access-denied (3),
+ object-invalidated (4)
+ },
+ initiate [8] IMPLICIT INTEGER
+ {
+ other (0),
+ version-incompatible (1),
+ max-segment-insufficient (2),
+ max-services-outstanding-calling-insufficient (3),
+ max-services-outstanding-called-insufficient (4),
+ service-CBB-insufficient (5),
+ parameter-CBB-insufficient (6),
+ nesting-level-insufficient (7)
+ },
+ conclude [9] IMPLICIT INTEGER
+ {
+ other (0),
+ further-communication-required (1)
+ },
+ cancel [10] IMPLICIT INTEGER
+ {
+ other (0),
+ invoke-id-unknown (1),
+ cancel-not-possible (2)
+ },
+ file [11] IMPLICIT INTEGER
+ {
+ other (0),
+ filename-ambiguous (1),
+ file-busy (2),
+ filename-syntax-error (3),
+ content-type-invalid (4),
+ position-invalid (5),
+ file-acces-denied (6),
+ file-non-existent (7),
+ duplicate-filename (8),
+ insufficient-space-in-filestore (9)
+ },
+ others [12] IMPLICIT INTEGER
+ },
+ additionalCode [1] IMPLICIT INTEGER OPTIONAL,
+ additionalDescription [2] IMPLICIT VisibleString OPTIONAL,
+ serviceSpecificInformation [3] CHOICE
+ {
+ obtainFile [0] IMPLICIT ObtainFile-Error,
+ start [1] IMPLICIT Start-Error,
+ stop [2] IMPLICIT Stop-Error,
+ resume [3] IMPLICIT Resume-Error,
+ reset [4] IMPLICIT Reset-Error,
+ deleteVariableAccess [5] IMPLICIT DeleteVariableAccess-Error,
+ deleteNamedVariableList [6] IMPLICIT DeleteNamedVariableList-Error,
+ deleteNamedType [7] IMPLICIT DeleteNamedType-Error,
+ defineEventEnrollment-Error [8] DefineEventEnrollment-Error,
+ fileRename [9] IMPLICIT FileRename-Error,
+ additionalService [10] AdditionalService-Error,
+ changeAccessControl [11] IMPLICIT ChangeAccessControl-Error
+ } OPTIONAL
+ }
+
+ AdditionalService-Error ::= CHOICE
+ {
+ defineEcl [0] DefineEventConditionList-Error,
+ addECLReference [1] AddEventConditionListReference-Error,
+ removeECLReference [2] RemoveEventConditionListReference-Error,
+ initiateUC [3] InitiateUnitControl-Error,
+ startUC [4] IMPLICIT StartUnitControl-Error,
+ stopUC [5] IMPLICIT StopUnitControl-Error,
+ deleteUC [6] DeleteUnitControl-Error,
+ loadUCFromFile [7] LoadUnitControlFromFile-Error
+ }
+
+ DefineEventConditionList-Error ::= ObjectName
+
+ AddEventConditionListReference-Error ::= ObjectName
+
+ RemoveEventConditionListReference-Error ::= CHOICE
+ {
+ eventCondition [0] ObjectName,
+ eventConditionList [1] ObjectName
+ }
+
+ InitiateUnitControl-Error ::= CHOICE
+ {
+ domain [0] IMPLICIT Identifier,
+ programInvocation [1] IMPLICIT Identifier
+ }
+
+ StartUnitControl-Error ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier,
+ programInvocationState [1] IMPLICIT ProgramInvocationState
+ }
+
+ StopUnitControl-Error ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier,
+ programInvocationState [1] IMPLICIT ProgramInvocationState
+ }
+
+ DeleteUnitControl-Error ::= CHOICE
+ {
+ domain [0] IMPLICIT Identifier,
+ programInvocation [1] IMPLICIT Identifier
+ }
+
+ LoadUnitControlFromFile-Error ::= CHOICE
+ {
+ none [0] IMPLICIT NULL,
+ domain [1] IMPLICIT Identifier,
+ programInvocation [2] IMPLICIT Identifier
+ }
+
+ ChangeAccessControl-Error ::= Unsigned32
+
+---------------------------------- REJECT --------------------------------
+
+RejectPDU ::= SEQUENCE
+ {
+ originalInvokeID [0] IMPLICIT Unsigned32 OPTIONAL,
+ rejectReason CHOICE
+ {
+ confirmed-requestPDU [1] IMPLICIT INTEGER
+ {
+ other (0),
+ unrecognized-service (1),
+ unrecognized-modifier (2),
+ invalid-invokeID (3),
+ invalid-argument (4),
+ invalid-modifier (5),
+ max-serv-outstanding-exceeded (6),
+ max-recursion-exceeded (8),
+ value-out-of-range (9)
+ },
+
+ confirmed-responsePDU [2] IMPLICIT INTEGER
+ {
+ other (0),
+ unrecognized-service (1),
+ invalid-invokeID (2),
+ invalid-result (3),
+ max-recursion-exceeded (5),
+ value-out-of-range (6)
+ },
+
+ confirmed-errorPDU [3] IMPLICIT INTEGER
+ {
+ other (0),
+ unrecognized-service (1),
+ invalid-invokeID (2),
+ invalid-serviceError (3),
+ value-out-of-range (4)
+ } ,
+
+ unconfirmedPDU [4] IMPLICIT INTEGER
+ {
+ other (0),
+ unrecognized-service (1),
+ invalid-argument (2),
+ max-recursion-exceeded (3),
+ value-out-of-range (4)
+ },
+
+ pdu-error [5] IMPLICIT INTEGER
+ {
+ unknown-pdu-type (0),
+ invalid-pdu (1),
+ illegal-acse-mapping (2)
+ },
+
+ cancel-requestPDU [6] IMPLICIT INTEGER
+ {
+ other (0),
+ invalid-invokeID (1)
+ },
+
+ cancel-responsePDU [7] IMPLICIT INTEGER
+ {
+ other (0),
+ invalid-invokeID (1)
+ },
+
+ cancel-errorPDU [8] IMPLICIT INTEGER
+ {
+ other (0),
+ invalid-invokeID (1),
+ invalid-serviceError (2),
+ value-out-of-range (3)
+ },
+
+ conclude-requestPDU [9] IMPLICIT INTEGER
+ {
+ other (0),
+ invalid-argument (1)
+ },
+
+ conclude-responsePDU [10] IMPLICIT INTEGER
+ {
+ other (0),
+ invalid-result (1)
+ },
+
+ conclude-errorPDU [11] IMPLICIT INTEGER
+ {
+ other (0),
+ invalid-serviceError (1),
+ value-out-of-range (2)
+ }
+ }
+ }
+
+
+-- *************************************** VMD ********************************************
+
+
+Status-Request ::= BOOLEAN
+
+Status-Response ::= SEQUENCE {
+ vmdLogicalStatus [0] IMPLICIT INTEGER {
+ state-changes-allowed (0),
+ no-state-changes-allowed (1),
+ limited-services-allowed (2),
+ support-services-allowed (3)
+ },
+ vmdPhysicalStatus [1] IMPLICIT INTEGER {
+ operational (0),
+ partially-operational (1),
+ inoperable (2),
+ needs-commissioning (3)
+ },
+ localDetail [2] IMPLICIT BIT STRING(SIZE(0..128)) OPTIONAL
+
+ }
+
+-- UNSOLICITEDSTATUS
+
+UnsolicitedStatus ::= Status-Response
+
+-- GETNAMELIST
+
+GetNameList-Request ::= SEQUENCE
+ {
+ extendedObjectClass [0] CHOICE
+ {
+ objectClass [0] IMPLICIT INTEGER
+ {
+ nammedVariable (0),
+ scatteredAccess (1),
+ namedVariableList (2),
+ namedType (3),
+ semaphore (4),
+ eventCondition (5),
+ eventAction (6),
+ eventEnrollment (7),
+ journal (8),
+ domain (9),
+ programInvocation (10),
+ operatorStation (11)
+ }
+ },
+ objectScope [1] CHOICE
+ {
+ vmdSpecific [0] IMPLICIT NULL,
+ domainSpecific [1] IMPLICIT Identifier,
+ aaSpecific [2] IMPLICIT NULL
+ },
+ continueAfter [2] IMPLICIT Identifier OPTIONAL
+ }
+
+GetNameList-Response ::= SEQUENCE
+ {
+ listOfIdentifier [0] IMPLICIT SEQUENCE OF Identifier,
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+
+---------------------------------- IDENTIFY --------------------------------
+
+Identify-Request ::= NULL
+
+Identify-Response ::= SEQUENCE {
+ vendorName [0] IMPLICIT VisibleString,
+ modelName [1] IMPLICIT VisibleString,
+ revision [2] IMPLICIT VisibleString,
+ listOfAbstractSyntaxes [3] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL
+ }
+
+---------------------------------- RENAME --------------------------------
+
+Rename-Request ::= SEQUENCE
+ {
+ extendedObjectClass [0] CHOICE {
+ objectClass [0] IMPLICIT INTEGER
+ {
+ namedVariable (0),
+ scatteredAccess (1),
+ namedVariableList (2),
+ namedType (3),
+ semaphore (4),
+ eventCondition (5),
+ eventAction (6),
+ eventEnrollment (7),
+ journal (8),
+ domain (9),
+ programInvocation (10),
+ operatorStation (11)
+ }
+
+ },
+ currentName [1] ObjectName,
+ newIdentifier [2] IMPLICIT Identifier
+ }
+
+Rename-Response ::= NULL
+
+---------------------------------- GET CAPABILITY LIST --------------------------------
+
+GetCapabilityList-Request ::= SEQUENCE {
+ continueAfter VisibleString OPTIONAL
+ }
+
+GetCapabilityList-Response ::= SEQUENCE {
+ listOfCapabilities [0] IMPLICIT SEQUENCE OF VisibleString,
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+
+
+
+
+-- ************************************* DOMAIN ****************************************
+
+InitiateDownloadSequence-Request ::= SEQUENCE
+ {
+ domainName [0] IMPLICIT Identifier,
+ listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString,
+ sharable [2] IMPLICIT BOOLEAN
+ }
+
+InitiateDownloadSequence-Response ::= NULL
+
+-- DOWNLOAD SEGMENT
+
+DownloadSegment-Request ::= Identifier
+
+DownloadSegment-Response ::= SEQUENCE
+ {
+ loadData CHOICE {
+ non-coded [0] IMPLICIT OCTET STRING,
+ coded EXTERNALt
+ },
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+-- TERMINATE DOWNLOAD
+
+TerminateDownloadSequence-Request ::= SEQUENCE
+ {
+ domainName [0] IMPLICIT Identifier,
+ discard [1] IMPLICIT ServiceError OPTIONAL
+ }
+
+TerminateDownloadSequence-Response ::= NULL
+
+-- INITIATE UPLOAD
+
+InitiateUploadSequence-Request ::= Identifier -- Domain Name
+
+InitiateUploadSequence-Response ::= SEQUENCE
+ {
+ ulsmID [0] IMPLICIT Integer32,
+ listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString
+ }
+
+-- UPLOAD SEGMENT
+
+UploadSegment-Request ::= Integer32 -- ULSM Identifier
+
+UploadSegment-Response ::= SEQUENCE
+ {
+ loadData CHOICE {
+ non-coded [0] IMPLICIT OCTET STRING,
+ coded EXTERNALt
+ },
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+-- TERMINATE UPLOAD
+
+TerminateUploadSequence-Request ::= Integer32 -- ULSM Identifer
+
+TerminateUploadSequence-Response ::= NULL
+
+-- REQUEST DOMAIN DOWNLOAD
+
+RequestDomainDownload-Request ::= SEQUENCE
+ {
+ domainName [0] IMPLICIT Identifier,
+ listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString OPTIONAL,
+ sharable [2] IMPLICIT BOOLEAN,
+ fileName [4] IMPLICIT FileName
+ }
+RequestDomainDownload-Response ::= NULL
+
+-- REQUEST DOMAIN UPLOAD
+
+RequestDomainUpload-Request ::= SEQUENCE
+ {
+ domainName [0] IMPLICIT Identifier,
+ fileName [1] IMPLICIT FileName
+ }
+
+RequestDomainUpload-Response ::= NULL
+
+-- LOAD DOMAIN CONTENT
+
+LoadDomainContent-Request ::= SEQUENCE
+ {
+ domainName [0] IMPLICIT Identifier,
+ listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString OPTIONAL,
+ sharable [2] IMPLICIT BOOLEAN,
+ fileName [4] IMPLICIT FileName,
+ thirdParty [5] IMPLICIT ApplicationReference OPTIONAL
+ }
+
+LoadDomainContent-Response ::= NULL
+
+-- STORE DOMAIN CONTENT
+
+StoreDomainContent-Request ::= SEQUENCE
+ {
+ domainName [0] IMPLICIT Identifier,
+ filenName [1] IMPLICIT FileName,
+ thirdParty [2] IMPLICIT ApplicationReference OPTIONAL
+ }
+
+StoreDomainContent-Response ::= NULL
+
+-- DELETE DOMAIN
+
+DeleteDomain-Request ::= Identifier -- Domain Name
+
+DeleteDomain-Response ::= NULL
+
+-- GET DOMAIN ATTRIBUTES
+
+GetDomainAttributes-Request ::= Identifier -- Domain Name
+
+GetDomainAttributes-Response ::= SEQUENCE
+ {
+ listOfCapabilities [0] IMPLICIT SEQUENCE OF VisibleString,
+ state [1] IMPLICIT DomainState,
+ mmsDeletable [2] IMPLICIT BOOLEAN,
+ sharable [3] IMPLICIT BOOLEAN,
+ listOfProgramInvocations [4] IMPLICIT SEQUENCE OF Identifier, -- PI Names
+ uploadInProgress [5] IMPLICIT Integer8
+ }
+
+
+DomainState ::= INTEGER
+ {
+ non-existent (0),
+ loading (1),
+ ready (2),
+ in-use (3),
+ complete (4),
+ incomplete (5),
+ d1 (7),
+ d2 (8),
+ d3 (9),
+ d4 (10),
+ d5 (11),
+ d6 (12),
+ d7 (13),
+ d8 (14),
+ d9 (15)
+ }
+
+-- ********************************* PROGRAM INVOCATION *********************************
+
+
+-- CREATE PROGRAM INVOCATION
+
+CreateProgramInvocation-Request ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier,
+ listOfDomainName [1] IMPLICIT SEQUENCE OF Identifier,
+ reusable [2] IMPLICIT BOOLEAN DEFAULT TRUE,
+ monitorType [3] IMPLICIT BOOLEAN OPTIONAL
+ -- TRUE indicates PERMANENT monitoring
+ -- FALSE indicates CURRENT monitoring
+ }
+
+CreateProgramInvocation-Response ::= NULL
+
+-- DELETE PROGRAM INVOCATION
+
+DeleteProgramInvocation-Request ::= Identifier -- Program Invocation Name
+
+DeleteProgramInvocation-Response ::= NULL
+
+-- START
+
+Start-Request ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier,
+ executionArgument CHOICE {
+ simpleString [1] IMPLICIT VisibleString,
+ encodedString EXTERNALt
+ } OPTIONAL
+ }
+
+Start-Response ::= NULL
+
+Start-Error ::= ProgramInvocationState
+
+-- STOP
+
+Stop-Request ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier
+ }
+
+Stop-Response ::= NULL
+
+Stop-Error ::= ProgramInvocationState
+
+-- RESUME
+
+Resume-Request ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier,
+ executionArgument CHOICE {
+ simpleString [1] IMPLICIT VisibleString,
+ encodedString EXTERNALt
+ } OPTIONAL
+ }
+
+Resume-Response ::= NULL
+
+Resume-Error ::= ProgramInvocationState
+
+-- RESET
+
+Reset-Request ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier
+ }
+
+Reset-Response ::= NULL
+
+Reset-Error ::= ProgramInvocationState
+
+-- KILL
+
+Kill-Request ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier
+ }
+
+Kill-Response ::= NULL
+
+-- GET PI ATTRIBUTES
+
+GetProgramInvocationAttributes-Request ::= Identifier -- Program Invocation Name
+
+GetProgramInvocationAttributes-Response ::= SEQUENCE
+ {
+ state [0] IMPLICIT ProgramInvocationState,
+ listOfDomainNames [1] IMPLICIT SEQUENCE OF Identifier,
+ mmsDeletable [2] IMPLICIT BOOLEAN,
+ reusable [3] IMPLICIT BOOLEAN,
+ monitor [4] IMPLICIT BOOLEAN,
+ startArgument [5] IMPLICIT VisibleString,
+ executionArgument CHOICE {
+ simpleString [1] IMPLICIT VisibleString,
+ encodedString EXTERNALt
+ } OPTIONAL
+ }
+
+
+ProgramInvocationState ::= INTEGER
+ {
+ non-existent (0),
+ unrunable (1),
+ idle (2),
+ running (3),
+ stopped (4),
+ starting (5),
+ stopping (6),
+ resuming (7),
+ resetting (8)
+ }
+ -- Companion Standard may add additional values
+
+
+-- *********************************** VARIABLES ****************************************
+
+
+TypeSpecification ::= CHOICE
+ {
+ typeName [0] ObjectName,
+ array [1] IMPLICIT SEQUENCE
+ {
+ packed [0] IMPLICIT BOOLEAN DEFAULT FALSE,
+ numberOfElements [1] IMPLICIT Unsigned32,
+ elementType [2] TypeSpecification
+ },
+ structure [2] IMPLICIT SEQUENCE
+ {
+ packed [0] IMPLICIT BOOLEAN DEFAULT FALSE,
+ components [1] IMPLICIT SEQUENCE OF SEQUENCE
+ {
+ componentName [0] IMPLICIT Identifier OPTIONAL,
+ componentType [1] TypeSpecification
+ }
+ },
+
+ -- Simple Type
+ boolean [3] IMPLICIT NULL,
+ bit-string [4] IMPLICIT Integer32,
+ integer [5] IMPLICIT Unsigned8,
+ unsigned [6] IMPLICIT Unsigned8,
+ octet-string [9] IMPLICIT Integer32,
+ visible-string [10] IMPLICIT Integer32,
+ generalized-time [11] IMPLICIT NULL,
+ binary-time [12] IMPLICIT BOOLEAN,
+ bcd [13] IMPLICIT Unsigned8,
+ objId [15] IMPLICIT NULL
+ }
+
+AlternateAccess ::= SEQUENCE OF CHOICE
+ {
+ unnamed AlternateAccessSelection,
+ named [5] IMPLICIT SEQUENCE
+ {
+ componentName [0] IMPLICIT Identifier,
+ accesst AlternateAccessSelection
+ }
+ }
+
+AlternateAccessSelection ::= CHOICE
+ {
+ selectAlternateAccess [0] IMPLICIT SEQUENCE
+ {
+ accessSelection CHOICE
+ {
+ component [0] IMPLICIT Identifier,
+ index [1] IMPLICIT Unsigned32,
+ indexRange [2] IMPLICIT SEQUENCE
+ {
+ lowIndex [0] IMPLICIT Unsigned32,
+ numberOfElements [1] IMPLICIT Unsigned32},
+ allElements [3] IMPLICIT NULL
+ },
+ alternateAccess AlternateAccess
+ },
+ selectAccess CHOICE
+ {
+ component [1] IMPLICIT Identifier,
+ index [2] IMPLICIT Unsigned32,
+ indexRange [3] IMPLICIT SEQUENCE
+ {
+ lowIndex [0] IMPLICIT Unsigned32,
+ nmberOfElements [1] IMPLICIT Unsigned32
+ },
+ allElements [4] IMPLICIT NULL
+ }
+ }
+
+
+
+
+
+
+
+
+
+
+
+-- READ
+
+Read-Request ::= SEQUENCE
+ {
+ specificationWithResult [0] IMPLICIT BOOLEAN DEFAULT FALSE,
+ variableAccessSpecificatn [1] VariableAccessSpecification
+ }
+
+
+Read-Response ::= SEQUENCE
+ {
+ variableAccessSpecificatn [0] VariableAccessSpecification OPTIONAL,
+ listOfAccessResult [1] IMPLICIT SEQUENCE OF AccessResult
+ }
+
+-- WRITE
+
+
+
+Write-Request ::= SEQUENCE
+ {
+ variableAccessSpecificatn VariableAccessSpecification,
+ listOfData [0] IMPLICIT SEQUENCE OF Data
+ }
+
+Write-Response ::= SEQUENCE OF CHOICE
+ {
+ failure [0] IMPLICIT DataAccessError,
+ success [1] IMPLICIT NULL
+ }
+
+-- INFORMATION REPORT
+
+InformationReport ::= SEQUENCE
+ {
+ variableAccessSpecification VariableAccessSpecification,
+ listOfAccessResult [0] IMPLICIT SEQUENCE OF AccessResult
+ }
+
+-- GET VARIABLE ACCESS ATTRIBUTES
+
+GetVariableAccessAttributes-Request ::= CHOICE
+ {
+ name [0] ObjectName,
+ address [1] Address
+ }
+
+
+GetVariableAccessAttributes-Response ::= SEQUENCE
+ {
+ mmsDeletable [0] IMPLICIT BOOLEAN,
+ address [1] Address OPTIONAL,
+ typeSpecification [2] TypeSpecification
+ }
+-- DEFINE NAMED VARIABLE
+
+DefineNamedVariable-Request ::= SEQUENCE
+ {
+ variableName [0] ObjectName,
+ address [1] Address,
+ typeSpecification [2] TypeSpecification OPTIONAL
+ }
+
+DefineNamedVariable-Response ::= NULL
+
+-- DEFINE SCATTERED ACCESS
+
+DefineScatteredAccess-Request ::= SEQUENCE
+ {
+ scatteredAccessName [0] ObjectName,
+ scatteredAccessDescription [1] IMPLICIT ScatteredAccessDescription
+ }
+
+
+DefineScatteredAccess-Response ::= NULL
+
+-- GET SCATTERED ACCESS ATTRIBUTES
+
+GetScatteredAccessAttributes-Request ::= ObjectName -- ScatteredAccessName
+
+
+GetScatteredAccessAttributes-Response ::= SEQUENCE
+ {
+ mmsDeletable [0] IMPLICIT BOOLEAN,
+ scatteredAccessDescription [1] IMPLICIT ScatteredAccessDescription
+ }
+
+-- DELETE VARIABLE ACCESS
+
+DeleteVariableAccess-Request ::= SEQUENCE
+ {
+ scopeOfDelete [0] IMPLICIT INTEGER
+ {
+ specific (0),
+ aa-specific (1),
+ domain (2),
+ vmd (3)
+ } DEFAULT specific,
+ listOfName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL,
+ domainName [2] IMPLICIT Identifier OPTIONAL
+ }
+
+DeleteVariableAccess-Response ::= SEQUENCE
+ {
+ numberMatched [0] IMPLICIT Unsigned32,
+ numberDeleted [1] IMPLICIT Unsigned32
+ }
+
+
+DeleteVariableAccess-Error ::= Unsigned32 -- numberDeleted
+
+-- DEFINE NAMED VAR. LIST
+
+DefineNamedVariableList-Request ::= SEQUENCE
+ {
+ variableListName ObjectName,
+ listOfVariable [0] IMPLICIT SEQUENCE OF SEQUENCE
+ {
+ variableSpecification VariableSpecification,
+ alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL
+ }
+ }
+
+
+DefineNamedVariableList-Response ::= NULL
+
+-- GET NAMED VAR. LIST ATTRIBUTES
+
+GetNamedVariableListAttributes-Request ::= ObjectName -- VariableListName
+
+
+GetNamedVariableListAttributes-Response ::= SEQUENCE
+ {
+ mmsDeletable [0] IMPLICIT BOOLEAN,
+ listOfVariable [1] IMPLICIT SEQUENCE OF SEQUENCE
+ {
+ variableSpecification VariableSpecification,
+ alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL
+ }
+ }
+
+-- DELETE NAMED VAR. LIST
+
+DeleteNamedVariableList-Request ::= SEQUENCE
+ {
+ scopeOfDelete [0] IMPLICIT INTEGER
+ {
+ specific (0),
+ aa-specific (1),
+ domain (2),
+ vmd (3)
+ } DEFAULT specific,
+ listOfVariableListName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL,
+ domainName [2] IMPLICIT Identifier OPTIONAL
+ }
+
+
+DeleteNamedVariableList-Response ::= SEQUENCE
+ {
+ numberMatched [0] IMPLICIT Unsigned32,
+ numberDeleted [1] IMPLICIT Unsigned32
+ }
+
+
+DeleteNamedVariableList-Error ::= Unsigned32 -- number Deleted
+
+-- DEFINE NAMED TYPE
+
+DefineNamedType-Request ::= SEQUENCE
+ {
+ typeName ObjectName,
+ typeSpecification TypeSpecification
+ }
+
+
+DefineNamedType-Response ::= NULL
+
+
+-- GET NAMED TYPE ATTRIB.
+
+GetNamedTypeAttributes-Request ::= ObjectName -- TypeName
+
+GetNamedTypeAttributes-Response ::= SEQUENCE
+ {
+ mmsDeletable [0] IMPLICIT BOOLEAN,
+ typeSpecification TypeSpecification
+ }
+
+-- DELETE NAMED TYPE
+
+DeleteNamedType-Request ::= SEQUENCE
+ {
+ scopeOfDelete [0] IMPLICIT INTEGER
+ {
+ specific (0),
+ aa-specific (1),
+ domain (2),
+ vmd (3)
+ } DEFAULT specific,
+ listOfTypeName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL,
+ domainName [2] IMPLICIT Identifier OPTIONAL
+ }
+
+DeleteNamedType-Response ::= SEQUENCE
+ {
+ numberMatched [0] IMPLICIT Unsigned32,
+ numberDeleted [1] IMPLICIT Unsigned32
+ }
+
+DeleteNamedType-Error ::= Unsigned32 -- number Deleted
+
+-- SUPPORT DEFINITIONS
+
+AccessResult ::= CHOICE
+ {
+ failure [0] IMPLICIT DataAccessError,
+ success Data
+ }
+
+DataAccessError ::= INTEGER
+ {
+ object-invalidated (0),
+ hardware-fault (1),
+ temporarily-unavailable (2),
+ object-access-denied (3),
+ object-undefined (4),
+ invalid-address (5),
+ type-unsupported (6),
+ type-inconsistent (7),
+ object-attribute-inconsistent (8),
+ object-access-unsupported (9),
+ object-non-existent (10),
+ object-value-invalid (11)
+ }
+
+
+
+Data ::= CHOICE
+ {
+ -- context tag 0 is reserved for AccessResult
+ array [1] IMPLICIT SEQUENCE OF Data,
+ structure [2] IMPLICIT SEQUENCE OF Data,
+ boolean [3] IMPLICIT BOOLEAN,
+ bit-string [4] IMPLICIT BIT STRING,
+ integer [5] IMPLICIT INTEGER,
+ unsigned [6] IMPLICIT INTEGER,
+ floating-point [7] IMPLICIT FloatingPoint,
+-- XXX asn2wrs and packet-ber can not handle REAL yet
+-- real [8] IMPLICIT REAL,
+ octet-string [9] IMPLICIT OCTET STRING,
+ visible-string [10] IMPLICIT VisibleString,
+ binary-time [12] IMPLICIT TimeOfDay,
+ bcd [13] IMPLICIT INTEGER,
+ booleanArray [14] IMPLICIT BIT STRING,
+ objId [15] IMPLICIT OBJECT IDENTIFIER,
+ ...,
+ mMSString [16] IMPLICIT MMSString,
+ utc-time [17] IMPLICIT UtcTime -- added by IEC61850 8.1 G3
+ }
+
+UtcTime ::= OCTET STRING -- added by IEC61850 8.1 G3
+
+FloatingPoint ::= OCTET STRING
+
+
+VariableAccessSpecification ::= CHOICE
+ {
+ listOfVariable [0] IMPLICIT SEQUENCE OF SEQUENCE
+ {
+ variableSpecification VariableSpecification,
+ alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL
+ },
+ variableListName [1] ObjectName
+ }
+
+
+ScatteredAccessDescription ::= SEQUENCE OF SEQUENCE
+ {
+ componentName [0] IMPLICIT Identifier OPTIONAL,
+ variableSpecification [1] VariableSpecification,
+ alternateAccess [2] IMPLICIT AlternateAccess OPTIONAL
+ }
+
+
+VariableSpecification ::= CHOICE
+ {
+ name [0] ObjectName,
+ address [1] Address,
+ variableDescription [2] IMPLICIT SEQUENCE
+ {
+ address Address,
+ typeSpecification TypeSpecification
+ },
+ scatteredAccessDescription [3] IMPLICIT ScatteredAccessDescription,
+ invalidated [4] IMPLICIT NULL
+ }
+
+Address ::= CHOICE
+ {
+ numericAddress [0] IMPLICIT Unsigned32,
+ symbolicAddress [1] IMPLICIT VisibleString,
+ unconstrainedAddress [2] IMPLICIT OCTET STRING
+ }
+
+
+-- ********************************* SEMAPHORES *****************************************
+
+TakeControl-Request ::= SEQUENCE
+ {
+ semaphoreName [0] ObjectName,
+ namedToken [1] IMPLICIT Identifier OPTIONAL,
+ priority [2] IMPLICIT Priority DEFAULT 64,
+ acceptableDelay [3] IMPLICIT Unsigned32 OPTIONAL,
+ controlTimeOut [4] IMPLICIT Unsigned32 OPTIONAL,
+ abortOnTimeOut [5] IMPLICIT BOOLEAN OPTIONAL,
+ relinquishIfConnectionLost [6] IMPLICIT BOOLEAN DEFAULT TRUE,
+ applicationToPreempt [7] IMPLICIT ApplicationReference OPTIONAL
+ }
+
+TakeControl-Response ::= CHOICE
+ {
+ noResult [0] IMPLICIT NULL,
+ namedToken [1] IMPLICIT Identifier
+ }
+
+-- RELINQUISH CONTROL
+
+RelinquishControl-Request ::= SEQUENCE
+ {
+ semaphoreName [0] ObjectName,
+ namedToken [1] IMPLICIT Identifier OPTIONAL
+ }
+
+RelinquishControl-Response ::= NULL
+
+-- DEFINE SEMAPHORE
+
+DefineSemaphore-Request ::= SEQUENCE
+ {
+ semaphoreName [0] ObjectName,
+ numbersOfTokens [1] IMPLICIT Unsigned16
+ }
+
+DefineSemaphore-Response ::= NULL
+
+-- DELETE SEMAPHORE
+
+DeleteSemaphore-Request ::= ObjectName -- Semaphore Name
+
+DeleteSemaphore-Response ::= NULL
+
+-- REPORT SEMAPHORE STATUS
+
+ReportSemaphoreStatus-Request ::= ObjectName -- SemaphoreName
+
+ReportSemaphoreStatus-Response ::= SEQUENCE
+ {
+ mmsDeletable [0] IMPLICIT BOOLEAN,
+ class [1] IMPLICIT INTEGER
+ {
+ token (0),
+ pool (1)
+ },
+ numberOfTokens [2] IMPLICIT Unsigned16,
+ numberOfOwnedTokens [3] IMPLICIT Unsigned16,
+ numberOfHungTokens [4] IMPLICIT Unsigned16
+ }
+
+-- REPORT POOL SEMAPHORE STATUS
+
+ReportPoolSemaphoreStatus-Request ::= SEQUENCE
+ {
+ semaphoreName [0] ObjectName,
+ nameToStartAfter [1] IMPLICIT Identifier OPTIONAL
+ }
+
+ReportPoolSemaphoreStatus-Response ::= SEQUENCE
+ {
+ listOfNamedTokens [0] IMPLICIT SEQUENCE OF CHOICE
+ {
+ freeNamedToken [0] IMPLICIT Identifier,
+ ownedNamedToken [1] IMPLICIT Identifier,
+ hungNamedToken [2] IMPLICIT Identifier
+ },
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+-- REPORT SEMAPHORE ENTRY STATUS
+
+ReportSemaphoreEntryStatus-Request ::=SEQUENCE
+ {
+ semaphoreName [0] ObjectName,
+ state [1] IMPLICIT INTEGER
+ {
+ queued (0),
+ owner (1),
+ hung (2)
+ } ,
+ entryIdToStartAfter [2] IMPLICIT OCTET STRING OPTIONAL
+ }
+
+ReportSemaphoreEntryStatus-Response ::= SEQUENCE
+ {
+ listOfSemaphoreEntry [0] IMPLICIT SEQUENCE OF SemaphoreEntry,
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+
+AttachToSemaphore ::= SEQUENCE
+ {
+ semaphoreName [0] ObjectName,
+ namedToken [1] IMPLICIT Identifier OPTIONAL,
+ priority [2] IMPLICIT Priority DEFAULT 64,
+ acceptableDelay [3] IMPLICIT Unsigned32 OPTIONAL,
+ controlTimeOut [4] IMPLICIT Unsigned32 OPTIONAL,
+ abortOnTimeOut [5] IMPLICIT BOOLEAN OPTIONAL,
+ relinquishIfConnectionLost [6] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+
+SemaphoreEntry ::= SEQUENCE
+ {
+ entryId [0] IMPLICIT OCTET STRING,
+ entryClass [1] IMPLICIT INTEGER
+ {
+ simple (0),
+ modifier (1)
+ },
+ applicationReference [2] ApplicationReference,
+ namedToken [3] IMPLICIT Identifier OPTIONAL,
+ priority [4] IMPLICIT Priority DEFAULT 64,
+ remainingTimeOut [5] IMPLICIT Unsigned32 OPTIONAL,
+ abortOnTimeOut [6] IMPLICIT BOOLEAN OPTIONAL,
+ relinquishIfConnectionLost [7] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+--******************************** OPERATOR COMMUNICATION *****************************
+
+
+-- INPUT
+
+Input-Request ::= SEQUENCE
+ {
+ operatorStationName [0] IMPLICIT Identifier,
+ echo [1] IMPLICIT BOOLEAN DEFAULT TRUE,
+ listOfPromptData [2] IMPLICIT SEQUENCE OF VisibleString OPTIONAL,
+ inputTimeOut [3] IMPLICIT Unsigned32 OPTIONAL
+ }
+
+
+Input-Response ::= VisibleString -- Input String
+
+-- OUTPUT
+
+Output-Request ::= SEQUENCE
+ {
+ operatorStationName [0] IMPLICIT Identifier,
+ listOfOutputData [1] IMPLICIT SEQUENCE OF VisibleString
+ }
+
+
+Output-Response ::= NULL
+
+
+-- ************************************ EVENTS *********************************************
+
+DefineEventCondition-Request ::= SEQUENCE
+ {
+ eventConditionName [0] ObjectName,
+ class [1] IMPLICIT EC-Class,
+ prio-rity [2] IMPLICIT Priority DEFAULT 64,
+ severity [3] IMPLICIT Unsigned8 DEFAULT 64,
+ alarmSummaryReports [4] IMPLICIT BOOLEAN OPTIONAL,
+ monitoredVariable [6] VariableSpecification OPTIONAL,
+ evaluationInterval [7] IMPLICIT Unsigned32 OPTIONAL
+ }
+
+DefineEventCondition-Response ::= NULL
+
+
+DeleteEventCondition-Request ::= CHOICE
+ {
+ specific [0] IMPLICIT SEQUENCE OF ObjectName,
+ aa-specific [1] IMPLICIT NULL,
+ domain [2] IMPLICIT Identifier,
+ vmd [3] IMPLICIT NULL
+ }
+
+DeleteEventCondition-Response ::= Unsigned32 -- Candidates Not Deleted
+
+
+GetEventConditionAttributes-Request ::= ObjectName -- Event Condition Name
+
+GetEventConditionAttributes-Response ::= SEQUENCE
+ {
+ mmsDeletable [0] IMPLICIT BOOLEAN DEFAULT FALSE,
+ class [1] IMPLICIT EC-Class,
+ prio-rity [2] IMPLICIT Priority DEFAULT 64,
+ severity [3] IMPLICIT Unsigned8 DEFAULT 64,
+ alarmSummaryReports [4] IMPLICIT BOOLEAN DEFAULT FALSE,
+ monitoredVariable [6] CHOICE
+ {
+ variableReference [0] VariableSpecification,
+ undefined [1] IMPLICIT NULL
+ } OPTIONAL,
+ evaluationInterval [7] IMPLICIT Unsigned32 OPTIONAL
+ }
+
+
+ReportEventConditionStatus-Request ::= ObjectName -- EventConditionName
+
+ReportEventConditionStatus-Response ::= SEQUENCE
+ {
+ currentState [0] IMPLICIT EC-State,
+ numberOfEventEnrollments [1] IMPLICIT Unsigned32,
+ enabled [2] IMPLICIT BOOLEAN OPTIONAL,
+ timeOfLastTransitionToActive [3] EventTime OPTIONAL,
+ timeOfLastTransitionToIdle [4] EventTime OPTIONAL
+ }
+
+
+AlterEventConditionMonitoring-Request ::= SEQUENCE
+ {
+ eventConditionName [0] ObjectName,
+ enabled [1] IMPLICIT BOOLEAN OPTIONAL,
+ priority [2] IMPLICIT Priority OPTIONAL,
+ alarmSummaryReports [3] IMPLICIT BOOLEAN OPTIONAL,
+ evaluationInterval [4] IMPLICIT Unsigned32 OPTIONAL
+ }
+
+AlterEventConditionMonitoring-Response ::= NULL
+
+
+TriggerEvent-Request ::= SEQUENCE
+ {
+ eventConditionName [0] ObjectName,
+ priority [1] IMPLICIT Priority OPTIONAL
+ }
+
+TriggerEvent-Response ::= NULL
+
+
+DefineEventAction-Request ::= SEQUENCE
+ {
+ eventActionName [0] ObjectName,
+ listOfModifier [1] IMPLICIT SEQUENCE OF Modifier OPTIONAL
+-- XXX this one is neither in this ASN nor in the IMPORTS
+-- confirmed-Service-Request [2] DefineEventAction-ConfirmedServiceRequest
+
+ }
+
+
+DefineEventAction-Response ::= NULL
+
+DeleteEventAction-Request ::= CHOICE
+ {
+ specific [0] IMPLICIT SEQUENCE OF ObjectName,
+ aa-specific [1] IMPLICIT NULL,
+ domain [3] IMPLICIT Identifier,
+ vmd [4] IMPLICIT NULL
+ }
+
+DeleteEventAction-Response ::= Unsigned32 -- candidates not deleted
+
+GetEventActionAttributes-Request ::= ObjectName -- Event Action Name
+
+
+GetEventActionAttributes-Response ::= SEQUENCE
+ {
+ mmsDeletable [0] IMPLICIT BOOLEAN DEFAULT FALSE,
+ listOfModifier [1] IMPLICIT SEQUENCE OF Modifier
+-- XXX this one is neither in this ASN nor in the IMPORTS
+-- confirmed-Service-Request [2] DefineEventAction-ConfirmedServiceRequest
+ }
+
+ReportEventActionStatus-Request ::= ObjectName -- EventActionName
+
+ReportEventActionStatus-Response ::= Unsigned32 -- Number of Event Enrollments
+
+
+DefineEventEnrollment-Request ::= SEQUENCE
+ {
+ eventEnrollmentName [0] ObjectName,
+ eventConditionName [1] ObjectName,
+ eventConditionTransition [2] IMPLICIT Transitions,
+ alarmAcknowledgementRule [3] IMPLICIT AlarmAckRule,
+ eventActionName [4] ObjectName OPTIONAL,
+ clientApplication [5] ApplicationReference OPTIONAL
+ }
+
+DefineEventEnrollment-Response ::= NULL
+
+DefineEventEnrollment-Error ::= ObjectName
+
+
+DeleteEventEnrollment-Request ::= CHOICE
+ {
+ specific [0] IMPLICIT SEQUENCE OF ObjectName,
+ ec [1] ObjectName,
+ ea [2] ObjectName
+ }
+
+DeleteEventEnrollment-Response ::= Unsigned32 -- candidates not deleted
+
+
+GetEventEnrollmentAttributes-Request ::= SEQUENCE
+ {
+ scopeOfRequest [0] IMPLICIT INTEGER
+ {
+ specific (0),
+ client (1),
+ ec (2),
+ ea (3)
+ } DEFAULT client,
+ eventEnrollmentNames [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL,
+ clientApplication [2] ApplicationReference OPTIONAL,
+ eventConditionName [3] ObjectName OPTIONAL,
+ eventActionName [4] ObjectName OPTIONAL,
+ continueAfter [5] ObjectName OPTIONAL
+ }
+
+
+EventEnrollment ::= SEQUENCE
+ {
+ eventEnrollmentName [0] ObjectName,
+ eventConditionName [1] CHOICE
+ {
+ eventCondition [0] ObjectName,
+ undefined [1] IMPLICIT NULL
+ },
+ eventActionName [2] CHOICE
+ {
+ eventAction [0] ObjectName,
+ undefined [1] IMPLICIT NULL
+ } OPTIONAL,
+ clientApplication [3] ApplicationReference OPTIONAL,
+ mmsDeletable [4] IMPLICIT BOOLEAN DEFAULT FALSE,
+ enrollmentClass [5] IMPLICIT EE-Class,
+ duration [6] IMPLICIT EE-Duration DEFAULT current,
+ invokeID [7] IMPLICIT Unsigned32,
+ remainingAcceptableDelay [8] IMPLICIT Unsigned32 OPTIONAL
+ }
+
+
+GetEventEnrollmentAttributes-Response ::= SEQUENCE
+ {
+ listOfEventEnrollment [0] IMPLICIT SEQUENCE OF EventEnrollment,
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
+ }
+
+
+ReportEventEnrollmentStatus-Request ::= ObjectName -- Event Enrollment Name
+
+ReportEventEnrollmentStatus-Response ::= SEQUENCE
+ {
+ eventConditionTransitions [0] IMPLICIT Transitions,
+ notificationLost [1] IMPLICIT BOOLEAN DEFAULT FALSE,
+ duration [2] IMPLICIT EE-Duration,
+ alarmAcknowledgmentRule [3] IMPLICIT AlarmAckRule OPTIONAL,
+ currentState [4] IMPLICIT EE-State
+ }
+
+AlterEventEnrollment-Request ::= SEQUENCE
+ {
+ eventEnrollmentName [0] ObjectName,
+ eventConditionTransitions [1] IMPLICIT Transitions OPTIONAL,
+ alarmAcknowledgmentRule [2] IMPLICIT AlarmAckRule OPTIONAL
+ }
+
+AlterEventEnrollment-Response ::= SEQUENCE
+ {
+ currentState [0] CHOICE
+ {
+ state [0] IMPLICIT EE-State,
+ undefined [1] IMPLICIT NULL
+ },
+ transitionTime [1] EventTime
+ }
+
+
+AcknowledgeEventNotification-Request ::= SEQUENCE
+ {
+ eventEnrollmentName [0] ObjectName,
+ acknowledgedState [2] IMPLICIT EC-State,
+ timeOfAcknowledgedTransition [3] EventTime
+ }
+
+AcknowledgeEventNotification-Response ::= NULL
+
+
+GetAlarmSummary-Request ::= SEQUENCE
+ {
+ enrollmentsOnly [0] IMPLICIT BOOLEAN DEFAULT TRUE,
+ activeAlarmsOnly [1] IMPLICIT BOOLEAN DEFAULT TRUE,
+ acknowledgmentFilter [2] IMPLICIT INTEGER
+ {
+ not-acked (0),
+ acked (1),
+ all (2)
+ } DEFAULT not-acked,
+ severityFilter [3] IMPLICIT SEQUENCE
+ {
+ mostSevere [0] IMPLICIT Unsigned8,
+ leastSevere [1] IMPLICIT Unsigned8
+ } OPTIONAL,
+ continueAfter [5] ObjectName OPTIONAL
+ }
+
+GetAlarmSummary-Response ::= SEQUENCE
+ {
+ listOfAlarmSummary [0] IMPLICIT SEQUENCE OF AlarmSummary,
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
+ }
+
+
+AlarmSummary ::= SEQUENCE
+ {
+ eventConditionName [0] ObjectName,
+ severity [1] IMPLICIT Unsigned8,
+ currentState [2] IMPLICIT EC-State,
+ unacknowledgedState [3] IMPLICIT INTEGER
+ {
+ none (0),
+ active (1),
+ idle (2),
+ both (3)
+ },
+ timeOfLastTransitionToActive [5] EventTime OPTIONAL,
+ timeOfLastTransitionToIdle [6] EventTime OPTIONAL
+ }
+
+
+GetAlarmEnrollmentSummary-Request ::= SEQUENCE
+ {
+ enrollmentsOnly [0] IMPLICIT BOOLEAN DEFAULT TRUE,
+ activeAlarmsOnly [1] IMPLICIT BOOLEAN DEFAULT TRUE,
+ acknowledgmentFilter [2] IMPLICIT INTEGER
+ {
+ not-acked (0),
+ acked (1),
+ all (2)
+ } DEFAULT not-acked,
+ severityFilter [3] IMPLICIT SEQUENCE
+ {
+ mostSevere [0] IMPLICIT Unsigned8,
+ leastSevere [1] IMPLICIT Unsigned8
+ } OPTIONAL,
+ continueAfter [5] ObjectName OPTIONAL
+ }
+
+GetAlarmEnrollmentSummary-Response ::= SEQUENCE
+ {
+ listOfAlarmEnrollmentSummary [0] IMPLICIT SEQUENCE OF AlarmEnrollmentSummary,
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
+ }
+
+
+AlarmEnrollmentSummary ::= SEQUENCE
+ {
+ eventEnrollmentName [0] ObjectName,
+ clientApplication [2] ApplicationReference OPTIONAL,
+ severity [3] IMPLICIT Unsigned8,
+ currentState [4] IMPLICIT EC-State,
+ notificationLost [6] IMPLICIT BOOLEAN DEFAULT FALSE,
+ alarmAcknowledgmentRule [7] IMPLICIT AlarmAckRule OPTIONAL,
+ enrollementState [8] IMPLICIT EE-State OPTIONAL,
+ timeOfLastTransitionToActive [9] EventTime OPTIONAL,
+ timeActiveAcknowledged [10] EventTime OPTIONAL,
+ timeOfLastTransitionToIdle [11] EventTime OPTIONAL,
+ timeIdleAcknowledged [12] EventTime OPTIONAL
+ }
+
+
+EventNotification ::= SEQUENCE
+ {
+ eventEnrollmentName [0] ObjectName,
+ eventConditionName [1] CHOICE
+ {
+ eventCondition [0] ObjectName,
+ undefined [1] IMPLICIT NULL
+ },
+ severity [2] IMPLICIT Unsigned8,
+ currentState [3] IMPLICIT EC-State OPTIONAL,
+ transitionTime [4] EventTime,
+ notificationLost [6] IMPLICIT BOOLEAN DEFAULT FALSE,
+ alarmAcknowledgmentRule [7] IMPLICIT AlarmAckRule OPTIONAL,
+ actionResult [8] IMPLICIT SEQUENCE
+ {
+ eventActioName ObjectName,
+ eventActionResult CHOICE
+ {
+ success [0] ConfirmedServiceResponse,
+ failure [1] IMPLICIT ServiceError
+ }
+ } OPTIONAL
+ }
+
+
+AttachToEventCondition ::= SEQUENCE
+ {
+ eventEnrollmentName [0] ObjectName,
+ eventConditionName [1] ObjectName,
+ causingTransitions [2] IMPLICIT Transitions,
+ acceptableDelay [3] IMPLICIT Unsigned32 OPTIONAL
+ }
+
+
+EventTime ::= CHOICE
+ {
+ timeOfDayT [0] IMPLICIT TimeOfDay,
+ timeSequenceIdentifier [1] IMPLICIT Unsigned32
+ }
+
+
+EC-Class ::= INTEGER
+ {
+ network-triggered (0),
+ monitored (1)
+ }
+
+EC-State ::= INTEGER
+ {
+ disabled (0),
+ idle (1),
+ active (2)
+ }
+
+EE-State ::= INTEGER
+ {
+ disabled (0),
+ idle (1),
+ active (2),
+ activeNoAckA (3),
+ idleNoAckI (4),
+ idleNoAckA (5),
+ idleAcked (6),
+ activeAcked (7)
+ }
+
+Transitions ::= BIT STRING
+ {
+ idle-to-disabled (0),
+ active-to-disabled (1),
+ disabled-to-idle (2),
+ active-to-idle (3),
+ disabled-to-active (4),
+ idle-to-active (5),
+ any-to-deleted (6)
+ }
+
+AlarmAckRule ::= INTEGER
+ {
+ none (0),
+ simple (1),
+ ack-active (2),
+ ack-all (3)
+ }
+
+EE-Class ::= INTEGER
+ {
+ modifier (0),
+ notification (1)
+ }
+
+EE-Duration ::= INTEGER
+ {
+ current (0),
+ permanent (1)
+ }
+
+
+-- ********************************** JOURNAL *******************************************
+
+
+-- READ JOURNAL
+
+ReadJournal-Request ::= SEQUENCE
+ {
+ journalName [0] ObjectName,
+ rangeStartSpecification [1] CHOICE
+ {
+ startingTime [0] IMPLICIT TimeOfDay,
+ startingEntry [1] IMPLICIT OCTET STRING
+ } OPTIONAL,
+ rangeStopSpecification [2] CHOICE
+ {
+ endingTime [0] IMPLICIT TimeOfDay,
+ numberOfEntries [1] IMPLICIT Integer32
+ } OPTIONAL,
+ listOfVariables [4] IMPLICIT SEQUENCE OF VisibleString OPTIONAL,
+ entryToStartAfter [5] IMPLICIT SEQUENCE
+ {
+ timeSpecification [0] IMPLICIT TimeOfDay,
+ entrySpecification [1] IMPLICIT OCTET STRING
+ }
+ }
+
+ReadJournal-Response ::= SEQUENCE
+ {
+ listOfJournalEntry [0] IMPLICIT SEQUENCE OF JournalEntry,
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
+ }
+
+
+JournalEntry ::= SEQUENCE
+ {
+ entryIdentifier [0] IMPLICIT OCTET STRING,
+ originatingApplication [1] ApplicationReference,
+ entryContent [2] IMPLICIT EntryContent
+ }
+
+-- WRITE JOURNAL
+
+WriteJournal-Request ::= SEQUENCE
+ {
+ journalName [0] ObjectName,
+ listOfJournalEntry [1] IMPLICIT SEQUENCE OF EntryContent
+ }
+
+WriteJournal-Response ::= NULL
+
+-- INITIALIZE JOURNAL
+
+InitializeJournal-Request ::= SEQUENCE
+ {
+ journalName [0] ObjectName,
+ limitSpecification [1] IMPLICIT SEQUENCE
+ {
+ limitingTime [0] IMPLICIT TimeOfDay,
+ limitingEntry [1] IMPLICIT OCTET STRING OPTIONAL
+ } OPTIONAL
+ }
+
+InitializeJournal-Response ::= Unsigned32 -- entries deleted
+
+-- REPORT JOURNAL STATUS
+
+ReportJournalStatus-Request ::= ObjectName -- Journal Name
+
+ReportJournalStatus-Response ::= SEQUENCE
+ {
+ currentEntries [0] IMPLICIT Unsigned32,
+ mmsDeletable [1] IMPLICIT BOOLEAN
+ }
+
+-- CREATE JOURNAL
+
+CreateJournal-Request ::= SEQUENCE
+ {
+ journalName [0] ObjectName
+ }
+
+CreateJournal-Response ::= NULL
+
+-- DELETE JOURNAL
+
+DeleteJournal-Request ::= SEQUENCE
+ {
+ journalName [0] ObjectName
+ }
+
+DeleteJournal-Response ::= NULL
+
+
+-- SUPPORTING PRODUCTIONS
+
+EntryContent ::= SEQUENCE
+ {
+ occurenceTime [0] IMPLICIT TimeOfDay,
+ additionalDetail [1] JOU-Additional-Detail OPTIONAL,
+ -- additionalDetail shall be omitted
+ -- from abstract syntax defined in this standard
+ entryForm CHOICE
+ {
+ data [2] IMPLICIT SEQUENCE
+ {
+ event [0] IMPLICIT SEQUENCE
+ {
+ eventConditionName [0] ObjectName,
+ currentState [1] IMPLICIT EC-State
+ } OPTIONAL,
+ listOfVariables [1] IMPLICIT SEQUENCE OF SEQUENCE
+ {
+ variableTag [0] IMPLICIT VisibleString,
+ valueSpecification [1] Data
+ } OPTIONAL
+ },
+ annotation [3] IMPLICIT VisibleString
+ }
+ }
+
+
+JOU-Additional-Detail ::= NULL -- Defined by Companion Standard
+
+
+
+-- **************************************** FILES *********************************************
+
+ObtainFile-Request ::= SEQUENCE {
+ sourceFileServer [0] IMPLICIT ApplicationReference OPTIONAL,
+ sourceFile [1] IMPLICIT FileName,
+ destinationFile [2] IMPLICIT FileName
+ }
+
+ObtainFile-Response ::= NULL
+
+ObtainFile-Error ::= INTEGER {
+ source-file (0),
+ destination-file (1)
+ }
+
+
+FileOpen-Request ::= SEQUENCE {
+ fileName [0] IMPLICIT FileName,
+ initialPosition [1] IMPLICIT Unsigned32
+ }
+
+FileOpen-Response ::= SEQUENCE {
+ frsmID [0] IMPLICIT Integer32,
+ fileAttributes [1] IMPLICIT FileAttributes
+ }
+
+FileRead-Request ::= Integer32
+
+FileRead-Response ::= SEQUENCE {
+ fileData [0] IMPLICIT OCTET STRING,
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+FileClose-Request ::= Integer32
+
+FileClose-Response ::= NULL
+
+
+FileRename-Request ::= SEQUENCE {
+ currentFileName [0] IMPLICIT FileName,
+ newFileName [1] IMPLICIT FileName
+ }
+
+FileRename-Response ::= NULL
+
+FileRename-Error ::= INTEGER {
+ source-file (0),
+ destination-file (1)
+ }
+
+FileDelete-Request ::= FileName
+
+FileDelete-Response ::= NULL
+
+
+FileDirectory-Request ::= SEQUENCE {
+ fileSpecification [0] IMPLICIT FileName OPTIONAL,
+ continueAfter [1] IMPLICIT FileName OPTIONAL
+ }
+
+FileDirectory-Response ::= SEQUENCE {
+ listOfDirectoryEntry [0] SEQUENCE OF DirectoryEntry,
+ moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
+ }
+
+DirectoryEntry ::= SEQUENCE {
+ filename [0] IMPLICIT FileName,
+ fileAttributes [1] IMPLICIT FileAttributes
+ }
+
+
+FileAttributes ::= SEQUENCE {
+ sizeOfFile [0] IMPLICIT Unsigned32,
+ lastModified [1] IMPLICIT GeneralizedTime OPTIONAL
+ }
+
+
+
+END
+
diff --git a/epan/dissectors/asn1/mms/mms.cnf b/epan/dissectors/asn1/mms/mms.cnf
new file mode 100644
index 00000000..68190ade
--- /dev/null
+++ b/epan/dissectors/asn1/mms/mms.cnf
@@ -0,0 +1,201 @@
+# mms.cnf
+# mms conformation file
+
+#.MODULE_IMPORT
+ISO-8650-ACSE-1 acse
+
+#.IMPORT ../acse/acse-exp.cnf
+
+#.EXPORTS
+MMSpdu
+
+#.PDU
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.TYPE_ATTR
+TimeOfDay TYPE = FT_STRING DISPLAY = BASE_NONE
+UtcTime TYPE = FT_STRING DISPLAY = BASE_NONE
+
+#.FIELD_RENAME
+ConfirmedServiceRequest/deleteEventCondition confirmedServiceRequest_deleteEventCondition
+ConfirmedServiceResponse/deleteEventCondition confirmedServiceResponse_deleteEventCondition
+ConfirmedServiceRequest/deleteEventAction confirmedServiceRequest_deleteEventAction
+ConfirmedServiceRequest/deleteEventAction confirmedServiceRequest_deleteEventAction
+ConfirmedServiceRequest/deleteEventEnrollment confirmedServiceRequest_deleteEventEnrollment
+ConfirmedServiceResponse/deleteEventEnrollment confirmedServiceResponse_deleteEventEnrollment
+TypeSpecification/bit-string typeSpecification_bit-string
+Data/bit-string data_bit-string
+TypeSpecification/octet-string typeSpecification_octet-string
+Data/octet-string data_octet-string
+TypeSpecification/visible-string typeSpecification_visible-string
+Data/visible-string data_visible-string
+TypeSpecification/binary-time typeSpecification_binary-time
+Data/binary-time data_binary-time
+GetNameList-Request/continueAfter getNameList-Request_continueAfter
+GetCapabilityList-Request/continueAfter getCapabilityList-Request_continueAfter
+GetEventEnrollmentAttributes-Request/continueAfter getEventEnrollmentAttributes-Request_continueAfter
+GetAlarmEnrollmentSummary-Request/continueAfter getAlarmEnrollmentSummary-Request_continueAfter
+FileDirectory-Request/continueAfter fileDirectory-Request_continueAfter
+GetDomainAttributes-Response/state getDomainAttributes-Response_state
+GetProgramInvocationAttributes-Response/state getProgramInvocationAttributes-Response_state
+ReportSemaphoreEntryStatus-Request/state reportSemaphoreEntryStatus-Request_state
+AlterEventEnrollment-Response/currentState/state alterEventEnrollment-Response_currentState_state
+
+#.FIELD_ATTR
+ConfirmedServiceRequest/deleteEventCondition ABBREV=confirmedServiceRequest.deleteEventCondition
+ConfirmedServiceResponse/deleteEventCondition ABBREV=confirmedServiceResponse.deleteEventCondition
+ConfirmedServiceRequest/deleteEventAction ABBREV=confirmedServiceRequest.deleteEventAction
+ConfirmedServiceRequest/deleteEventAction ABBREV=confirmedServiceRequest.deleteEventAction
+ConfirmedServiceRequest/deleteEventEnrollment ABBREV=confirmedServiceRequest.deleteEventEnrollment
+ConfirmedServiceResponse/deleteEventEnrollment ABBREV=confirmedServiceResponse.deleteEventEnrollment
+TypeSpecification/bit-string ABBREV=typeSpecification_bit-string
+Data/bit-string ABBREV=data_bit-string
+TypeSpecification/octet-string ABBREV=typeSpecification.octet-string
+Data/octet-string ABBREV=data.octet-string
+TypeSpecification/visible-string ABBREV=typeSpecification.visible-string
+Data/visible-string ABBREV=data.visible-string
+TypeSpecification/binary-time ABBREV=typeSpecification.binary-time
+Data/binary-time ABBREV=data.binary-time
+GetNameList-Request/continueAfter ABBREV=getNameList-Request_continueAfter
+GetCapabilityList-Request/continueAfter ABBREV=getCapabilityList-Request_continueAfter
+GetEventEnrollmentAttributes-Request/continueAfter ABBREV=getEventEnrollmentAttributes-Request_continueAfter
+GetAlarmEnrollmentSummary-Request/continueAfter ABBREV=getAlarmEnrollmentSummary-Request_continueAfter
+FileDirectory-Request/continueAfter ABBREV=fileDirectory-Request_continueAfter
+GetDomainAttributes-Response/state ABBREV=getDomainAttributes-Response_state
+GetProgramInvocationAttributes-Response/state ABBREV=getProgramInvocationAttributes-Response_state
+ReportSemaphoreEntryStatus-Request/state ABBREV=reportSemaphoreEntryStatus-Request_state
+AlterEventEnrollment-Response/currentState/state ABBREV=alterEventEnrollment-Response_currentState_state
+
+
+#.FN_BODY ApplicationReference/ap-title
+ offset=dissect_acse_AP_title(FALSE, tvb, offset, actx, tree, hf_mms_ap_title);
+
+#.FN_BODY ApplicationReference/ap-invocation-id
+ offset=dissect_acse_AP_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_mms_ap_invocation_id);
+
+#.FN_BODY ApplicationReference/ae-qualifier
+ offset=dissect_acse_AE_qualifier(FALSE, tvb, offset, actx, tree, hf_mms_ae_qualifier);
+
+#.FN_BODY ApplicationReference/ae-invocation-id
+ offset=dissect_acse_AE_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_mms_ae_invocation_id);
+
+#.FN_BODY MMSpdu VAL_PTR=&branch_taken
+ gint branch_taken;
+
+%(DEFAULT_BODY)s
+
+ if( (branch_taken!=-1) && mms_MMSpdu_vals[branch_taken].strptr ){
+ if (mms_has_private_data(actx))
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%s%%s%%s",
+ private_data_get_preCinfo(actx), mms_MMSpdu_vals[branch_taken].strptr, private_data_get_moreCinfo(actx));
+ else
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%s",
+ mms_MMSpdu_vals[branch_taken].strptr);
+ }
+
+#.FN_BODY TimeOfDay
+
+ guint32 len;
+ guint32 milliseconds;
+ guint16 days;
+ gchar * ptime;
+ nstime_t ts;
+
+ len = tvb_reported_length_remaining(tvb, offset);
+
+ if(len == 4)
+ {
+ milliseconds = tvb_get_ntohl(tvb, offset);
+ ptime = signed_time_msecs_to_str(actx->pinfo->pool, milliseconds);
+
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
+ }
+ return offset;
+ }
+
+ if(len == 6)
+ {
+ milliseconds = tvb_get_ntohl(tvb, offset);
+ days = tvb_get_ntohs(tvb, offset+4);
+
+ /* 5113 days between 01-01-1970 and 01-01-1984 */
+ /* 86400 seconds in one day */
+
+ ts.secs = (days + 5113) * 86400 + milliseconds / 1000;
+ ts.nsecs = (milliseconds %% 1000) * 1000000U;
+
+ ptime = abs_time_to_str(actx->pinfo->pool, &ts, ABSOLUTE_TIME_UTC, TRUE);
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
+ }
+
+ return offset;
+ }
+
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_mms_mal_timeofday_encoding,
+ tvb, offset, len, "BER Error: malformed TimeOfDay encoding, length must be 4 or 6 bytes");
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, "????");
+ }
+
+#.FN_BODY UtcTime
+
+ guint32 len;
+ guint32 seconds;
+ guint32 fraction;
+ guint32 nanoseconds;
+ nstime_t ts;
+ gchar * ptime;
+
+ len = tvb_reported_length_remaining(tvb, offset);
+
+ if(len != 8)
+ {
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_mms_mal_utctime_encoding,
+ tvb, offset, len, "BER Error: malformed IEC61850 UTCTime encoding, length must be 8 bytes");
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, "????");
+ }
+ return offset;
+ }
+
+ seconds = tvb_get_ntohl(tvb, offset);
+ fraction = tvb_get_ntoh24(tvb, offset+4) * 0x100; /* Only 3 bytes are recommended */
+ nanoseconds = (guint32)( ((guint64)fraction * G_GUINT64_CONSTANT(1000000000)) / G_GUINT64_CONSTANT(0x100000000) ) ;
+
+ ts.secs = seconds;
+ ts.nsecs = nanoseconds;
+
+ ptime = abs_time_to_str(actx->pinfo->pool, &ts, ABSOLUTE_TIME_UTC, TRUE);
+
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
+ }
+
+
+#.FN_BODY Unsigned32 VAL_PTR=&val
+ guint32 val;
+%(DEFAULT_BODY)s
+ if (hf_index == hf_mms_invokeID)
+ private_data_add_preCinfo(actx, val);
+
+#.FN_BODY FloatingPoint
+%(DEFAULT_BODY)s
+ private_data_add_moreCinfo_float(actx, tvb);
+
+#.FN_BODY Identifier
+ int offset_id = offset;
+%(DEFAULT_BODY)s
+ if ((hf_index == hf_mms_domainId) || (hf_index == hf_mms_itemId)) {
+ if (tvb_get_guint8(tvb, offset_id) == 0x1a)
+ private_data_add_moreCinfo_id(actx,tvb);
+ }
diff --git a/epan/dissectors/asn1/mms/packet-mms-template.c b/epan/dissectors/asn1/mms/packet-mms-template.c
new file mode 100644
index 00000000..2706003d
--- /dev/null
+++ b/epan/dissectors/asn1/mms/packet-mms-template.c
@@ -0,0 +1,248 @@
+/* packet-mms_asn1.c
+ *
+ * Ronnie Sahlberg 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-mms.h"
+
+#define PNAME "MMS"
+#define PSNAME "MMS"
+#define PFNAME "mms"
+
+void proto_register_mms(void);
+void proto_reg_handoff_mms(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_mms = -1;
+
+#include "packet-mms-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_mms = -1;
+#include "packet-mms-ett.c"
+
+static expert_field ei_mms_mal_timeofday_encoding = EI_INIT;
+static expert_field ei_mms_mal_utctime_encoding = EI_INIT;
+static expert_field ei_mms_zero_pdu = EI_INIT;
+
+/*****************************************************************************/
+/* Packet private data */
+/* For this dissector, all access to actx->private_data should be made */
+/* through this API, which ensures that they will not overwrite each other!! */
+/*****************************************************************************/
+
+#define BUFFER_SIZE_PRE 10
+#define BUFFER_SIZE_MORE 1024
+
+typedef struct mms_private_data_t
+{
+ char preCinfo[BUFFER_SIZE_PRE];
+ char moreCinfo[BUFFER_SIZE_MORE];
+} mms_private_data_t;
+
+
+/* Helper function to get or create the private data struct */
+static
+mms_private_data_t* mms_get_private_data(asn1_ctx_t *actx)
+{
+ packet_info *pinfo = actx->pinfo;
+ mms_private_data_t *private_data = (mms_private_data_t *)p_get_proto_data(pinfo->pool, pinfo, proto_mms, pinfo->curr_layer_num);
+ if(private_data != NULL )
+ return private_data;
+ else {
+ private_data = wmem_new0(pinfo->pool, mms_private_data_t);
+ p_add_proto_data(pinfo->pool, pinfo, proto_mms, pinfo->curr_layer_num, private_data);
+ return private_data;
+ }
+}
+
+/* Helper function to test presence of private data struct */
+static gboolean
+mms_has_private_data(asn1_ctx_t *actx)
+{
+ packet_info *pinfo = actx->pinfo;
+ return (p_get_proto_data(pinfo->pool, pinfo, proto_mms, pinfo->curr_layer_num) != NULL);
+}
+
+static void
+private_data_add_preCinfo(asn1_ctx_t *actx, guint32 val)
+{
+ mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
+ snprintf(private_data->preCinfo, BUFFER_SIZE_PRE, "%02d ", val);
+}
+
+static char*
+private_data_get_preCinfo(asn1_ctx_t *actx)
+{
+ mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
+ return private_data->preCinfo;
+}
+
+static void
+private_data_add_moreCinfo_id(asn1_ctx_t *actx, tvbuff_t *tvb)
+{
+ mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
+ (void) g_strlcat(private_data->moreCinfo, " ", BUFFER_SIZE_MORE);
+ (void) g_strlcat(private_data->moreCinfo, tvb_get_string_enc(actx->pinfo->pool,
+ tvb, 2, tvb_get_guint8(tvb, 1), ENC_STRING), BUFFER_SIZE_MORE);
+}
+
+static void
+private_data_add_moreCinfo_float(asn1_ctx_t *actx, tvbuff_t *tvb)
+{
+ mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
+ snprintf(private_data->moreCinfo, BUFFER_SIZE_MORE,
+ " %f", tvb_get_ieee_float(tvb, 1, ENC_BIG_ENDIAN));
+}
+
+static char*
+private_data_get_moreCinfo(asn1_ctx_t *actx)
+{
+ mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
+ return private_data->moreCinfo;
+}
+
+/*****************************************************************************/
+
+
+#include "packet-mms-fn.c"
+
+/*
+* Dissect MMS PDUs inside a PPDU.
+*/
+static int
+dissect_mms(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ int offset = 0;
+ int old_offset;
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_mms, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_mms);
+ }
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "MMS");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0){
+ old_offset=offset;
+ offset=dissect_mms_MMSpdu(FALSE, tvb, offset, &asn1_ctx , tree, -1);
+ if(offset == old_offset){
+ proto_tree_add_expert(tree, pinfo, &ei_mms_zero_pdu, tvb, offset, -1);
+ break;
+ }
+ }
+ return tvb_captured_length(tvb);
+}
+
+
+/*--- proto_register_mms -------------------------------------------*/
+void proto_register_mms(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+#include "packet-mms-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_mms,
+#include "packet-mms-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_mms_mal_timeofday_encoding, { "mms.malformed.timeofday_encoding", PI_MALFORMED, PI_WARN, "BER Error: malformed TimeOfDay encoding", EXPFILL }},
+ { &ei_mms_mal_utctime_encoding, { "mms.malformed.utctime", PI_MALFORMED, PI_WARN, "BER Error: malformed IEC61850 UTCTime encoding", EXPFILL }},
+ { &ei_mms_zero_pdu, { "mms.zero_pdu", PI_PROTOCOL, PI_ERROR, "Internal error, zero-byte MMS PDU", EXPFILL }},
+ };
+
+ expert_module_t* expert_mms;
+
+ /* Register protocol */
+ proto_mms = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("mms", dissect_mms, proto_mms);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_mms, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_mms = expert_register_protocol(proto_mms);
+ expert_register_field_array(expert_mms, ei, array_length(ei));
+
+}
+
+
+static gboolean
+dissect_mms_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ /* must check that this really is an mms packet */
+ int offset = 0;
+ guint32 length = 0 ;
+ guint32 oct;
+ gint idx = 0 ;
+
+ gint8 tmp_class;
+ bool tmp_pc;
+ gint32 tmp_tag;
+
+ /* first, check do we have at least 2 bytes (pdu) */
+ if (!tvb_bytes_exist(tvb, 0, 2))
+ return FALSE; /* no */
+
+ /* can we recognize MMS PDU ? Return FALSE if not */
+ /* get MMS PDU type */
+ offset = get_ber_identifier(tvb, offset, &tmp_class, &tmp_pc, &tmp_tag);
+
+ /* check MMS type */
+
+ /* Class should be constructed */
+ if (tmp_class!=BER_CLASS_CON)
+ return FALSE;
+
+ /* see if the tag is a valid MMS PDU */
+ try_val_to_str_idx(tmp_tag, mms_MMSpdu_vals, &idx);
+ if (idx == -1) {
+ return FALSE; /* no, it isn't an MMS PDU */
+ }
+
+ /* check MMS length */
+ oct = tvb_get_guint8(tvb, offset)& 0x7F;
+ if (oct==0)
+ /* MMS requires length after tag so not MMS if indefinite length*/
+ return FALSE;
+
+ offset = get_ber_length(tvb, offset, &length, NULL);
+ /* do we have enough bytes? */
+ if (!tvb_bytes_exist(tvb, offset, length))
+ return FALSE;
+
+ dissect_mms(tvb, pinfo, parent_tree, data);
+ return TRUE;
+}
+
+/*--- proto_reg_handoff_mms --- */
+void proto_reg_handoff_mms(void) {
+ register_ber_oid_dissector("1.0.9506.2.3", dissect_mms, proto_mms,"MMS");
+ register_ber_oid_dissector("1.0.9506.2.1", dissect_mms, proto_mms,"mms-abstract-syntax-version1(1)");
+ heur_dissector_add("cotp", dissect_mms_heur, "MMS over COTP", "mms_cotp", proto_mms, HEURISTIC_ENABLE);
+ heur_dissector_add("cotp_is", dissect_mms_heur, "MMS over COTP (inactive subset)", "mms_cotp_is", proto_mms, HEURISTIC_ENABLE);
+}
+
diff --git a/epan/dissectors/asn1/mms/packet-mms-template.h b/epan/dissectors/asn1/mms/packet-mms-template.h
new file mode 100644
index 00000000..c64a7a39
--- /dev/null
+++ b/epan/dissectors/asn1/mms/packet-mms-template.h
@@ -0,0 +1,18 @@
+/* packet-mms.h
+ * Routines for MMS packet dissection
+ * Ronnie Sahlberg 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_MMS_H
+#define PACKET_MMS_H
+
+#include "packet-mms-exp.h"
+
+#endif /* PACKET_MMS_H */
+
diff --git a/epan/dissectors/asn1/mpeg-audio/CMakeLists.txt b/epan/dissectors/asn1/mpeg-audio/CMakeLists.txt
new file mode 100644
index 00000000..da68fc2e
--- /dev/null
+++ b/epan/dissectors/asn1/mpeg-audio/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME mpeg-audio )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/mpeg-audio/mpeg-audio.asn b/epan/dissectors/asn1/mpeg-audio/mpeg-audio.asn
new file mode 100644
index 00000000..0934d08b
--- /dev/null
+++ b/epan/dissectors/asn1/mpeg-audio/mpeg-audio.asn
@@ -0,0 +1,75 @@
+-- ASN description of MPEG Audio
+-- Written by Shaun Jackman <sjackman@gmail.com>
+-- Copyright 2007 Shaun Jackman
+--
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License.
+
+MPEG DEFINITIONS ::= BEGIN
+
+Audio ::= SEQUENCE {
+ sync BIT STRING (SIZE (11)),
+ version ENUMERATED
+ { mpeg-2-5(0), reserved(1), mpeg-2(2), mpeg-1(3) },
+ layer ENUMERATED
+ { reserved(0), layer-3(1), layer-2(2), layer-1(3) },
+ protection ENUMERATED { crc(0), none(1) },
+ bitrate INTEGER (0..15),
+ frequency INTEGER (0..3),
+ padding BOOLEAN,
+ private BOOLEAN,
+ channel-mode ENUMERATED
+ { stereo(0), joint-stereo(1), dual-channel(2), single-channel(3) },
+ mode-extension INTEGER (0..3),
+ copyright BOOLEAN,
+ original BOOLEAN,
+ emphasis ENUMERATED
+ { none(0), em-50-15-ms(1), reserved(2), ccit-j-17(3) }
+}
+
+ID3v1 ::= SEQUENCE {
+ tag OCTET STRING (SIZE (3)),
+ title OCTET STRING (SIZE (30)),
+ artist OCTET STRING (SIZE (30)),
+ album OCTET STRING (SIZE (30)),
+ year OCTET STRING (SIZE (4)),
+ comment OCTET STRING (SIZE (28)),
+ must-be-zero INTEGER (0..255),
+ track INTEGER (0..255),
+ genre INTEGER {
+ blues(0), classic-rock(1), country(2), dance(3), disco(4),
+ funk(5), grunge(6), hip-hop(7), jazz(8), metal(9),
+ new-age(10), oldies(11), other(12), pop(13), r-and-b(14),
+ rap(15), reggae(16), rock(17), techno(18), industrial(19),
+ alternative(20), ska(21), death-metal(22), pranks(23),
+ soundtrack(24), euro-techno(25), ambient(26), trip-hop(27),
+ vocal(28), jazz-and-funk(29), fusion(30), trance(31),
+ classical(32), instrumental(33), acid(34), house(35),
+ game(36), sound-clip(37), gospel(38), noise(39),
+ alternative-rock(40), bass(41), soul(42), punk(43), space(44),
+ meditative(45), instrumental-pop(46), instrumental-rock(47),
+ ethnic(48), gothic(49), darkwave(50), techno-industrial(51),
+ electronic(52), pop-folk(53), eurodance(54), dream(55),
+ southern-rock(56), comedy(57), cult(58), gangsta(59),
+ top-40(60), christian-rap(61), pop-funk(62), jungle(63),
+ native-american(64), cabaret(65), new-wave(66),
+ psychedelic(67), rave(68), showtunes(69), trailer(70),
+ lo-fi(71), tribal(72), acid-punk(73), acid-jazz(74),
+ polka(75), retro(76), musical(77), rock-and-roll(78),
+ hard-rock(79), folk(80), folk-rock(81), national-folk(82),
+ swing(83), fast-fusion(84), bebob(85), latin(86), revival(87),
+ celtic(88), bluegrass(89), avantgarde(90), gothic-rock(91),
+ progressive-rock(92), psychedelic-rock(93),
+ symphonic-rock(94), slow-rock(95), big-band(96), chorus(97),
+ easy-listening(98), acoustic(99), humour(100), speech(101),
+ chanson(102), opera(103), chamber-music(104), sonata(105),
+ symphony(106), booty-bass(107), primus(108), porn-groove(109),
+ satire(110), slow-jam(111), club(112), tango(113), samba(114),
+ folklore(115), ballad(116), power-ballad(117),
+ rhythmic-soul(118), freestyle(119), duet(120), punk-rock(121),
+ drum-solo(122), a-cappella(123), euro-house(124),
+ dance-hall(125)
+ } (0..255)
+}
+
+END
diff --git a/epan/dissectors/asn1/mpeg-audio/mpeg-audio.cnf b/epan/dissectors/asn1/mpeg-audio/mpeg-audio.cnf
new file mode 100644
index 00000000..f445a2fa
--- /dev/null
+++ b/epan/dissectors/asn1/mpeg-audio/mpeg-audio.cnf
@@ -0,0 +1,11 @@
+# mpeg-audio.cnf
+# mpeg-audio conformation file
+
+#.TYPE_ATTR
+ID3v1/tag TYPE=FT_STRING
+ID3v1/title TYPE=FT_STRING
+ID3v1/artist TYPE=FT_STRING
+ID3v1/album TYPE=FT_STRING
+ID3v1/year TYPE=FT_STRING
+ID3v1/comment TYPE=FT_STRING
+#.END
diff --git a/epan/dissectors/asn1/mpeg-audio/packet-mpeg-audio-template.c b/epan/dissectors/asn1/mpeg-audio/packet-mpeg-audio-template.c
new file mode 100644
index 00000000..29e42ae2
--- /dev/null
+++ b/epan/dissectors/asn1/mpeg-audio/packet-mpeg-audio-template.c
@@ -0,0 +1,226 @@
+/* MPEG audio packet decoder.
+ * Written by Shaun Jackman <sjackman@gmail.com>.
+ * Copyright 2007 Shaun Jackman
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include <wsutil/mpeg-audio.h>
+
+#include "packet-per.h"
+
+#include "packet-mpeg-audio-hf.c"
+#include "packet-mpeg-audio-ett.c"
+#include "packet-mpeg-audio-fn.c"
+
+void proto_register_mpeg_audio(void);
+void proto_reg_handoff_mpeg_audio(void);
+
+dissector_handle_t mpeg_audio_handle;
+
+static int proto_mpeg_audio = -1;
+static dissector_handle_t id3v2_handle;
+
+static int hf_mpeg_audio_header = -1;
+static int hf_mpeg_audio_data = -1;
+static int hf_mpeg_audio_padbytes = -1;
+static int hf_id3v1 = -1;
+
+static int ett_mpeg_audio = -1;
+
+static gboolean
+test_mpeg_audio(tvbuff_t *tvb, int offset)
+{
+ guint32 hdr;
+ struct mpa mpa;
+
+ if (!tvb_bytes_exist(tvb, offset, 4))
+ return FALSE;
+ if (tvb_strneql(tvb, offset, "TAG", 3) == 0)
+ return TRUE;
+ if (tvb_strneql(tvb, offset, "ID3", 3) == 0)
+ return TRUE;
+
+ hdr = tvb_get_guint32(tvb, offset, ENC_BIG_ENDIAN);
+ MPA_UNMARSHAL(&mpa, hdr);
+ return MPA_VALID(&mpa);
+}
+
+static int
+mpeg_resync(tvbuff_t *tvb, int offset)
+{
+ guint32 hdr;
+ struct mpa mpa;
+
+ /* This only looks to resync on another frame; it doesn't
+ * look for an ID3 tag.
+ */
+ offset = tvb_find_guint8(tvb, offset, -1, '\xff');
+ while (offset != -1 && tvb_bytes_exist(tvb, offset, 4)) {
+ hdr = tvb_get_guint32(tvb, offset, ENC_BIG_ENDIAN);
+ MPA_UNMARSHAL(&mpa, hdr);
+ if (MPA_VALID(&mpa)) {
+ return offset;
+ }
+ offset = tvb_find_guint8(tvb, offset + 1, -1, '\xff');
+ }
+ return tvb_reported_length(tvb);
+}
+
+static int
+dissect_mpeg_audio_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ guint32 h;
+ struct mpa mpa;
+ int data_size = 0;
+ asn1_ctx_t asn1_ctx;
+ int offset = 0;
+ static const char *version_names[] = { "1", "2", "2.5" };
+
+ if (!tvb_bytes_exist(tvb, 0, 4))
+ return 0;
+
+ h = tvb_get_ntohl(tvb, 0);
+ MPA_UNMARSHAL(&mpa, h);
+ if (!MPA_SYNC_VALID(&mpa) || !MPA_VERSION_VALID(&mpa) || !MPA_LAYER_VALID(&mpa)) {
+ return 0;
+ }
+
+ col_add_fstr(pinfo->cinfo, COL_PROTOCOL,
+ "MPEG-%s", version_names[mpa_version(&mpa)]);
+ col_add_fstr(pinfo->cinfo, COL_INFO,
+ "Audio Layer %d", mpa_layer(&mpa) + 1);
+ if (MPA_BITRATE_VALID(&mpa) && MPA_FREQUENCY_VALID(&mpa)) {
+ data_size = (int)(MPA_DATA_BYTES(&mpa) - sizeof mpa);
+ col_append_fstr(pinfo->cinfo, COL_INFO,
+ ", %d kb/s, %g kHz",
+ mpa_bitrate(&mpa) / 1000,
+ mpa_frequency(&mpa) / (float)1000);
+ }
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_mpeg_audio_Audio(tvb, offset, &asn1_ctx,
+ tree, hf_mpeg_audio_header);
+ if (data_size > 0) {
+ unsigned int padding;
+
+ proto_tree_add_item(tree, hf_mpeg_audio_data, tvb,
+ offset / 8, data_size, ENC_NA);
+ offset += data_size * 8;
+ padding = mpa_padding(&mpa);
+ if (padding > 0) {
+ proto_tree_add_item(tree, hf_mpeg_audio_padbytes, tvb,
+ offset / 8, padding, ENC_NA);
+ offset += padding * 8;
+ }
+ }
+ return offset / 8;
+}
+
+static int
+dissect_id3v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ asn1_ctx_t asn1_ctx;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ID3v1");
+ col_clear(pinfo->cinfo, COL_INFO);
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ return dissect_mpeg_audio_ID3v1(tvb, 0, &asn1_ctx,
+ tree, hf_id3v1);
+}
+
+static int
+dissect_mpeg_audio(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ proto_item *ti;
+ proto_tree *mpeg_audio_tree;
+
+ int magic, offset = 0;
+ guint32 frame_len;
+ tvbuff_t *next_tvb;
+
+ ti = proto_tree_add_item(tree, proto_mpeg_audio, tvb, offset, -1, ENC_NA);
+ mpeg_audio_tree = proto_item_add_subtree(ti, ett_mpeg_audio);
+ while (tvb_reported_length_remaining(tvb, offset) >= 4) {
+ next_tvb = tvb_new_subset_remaining(tvb, offset);
+ magic = tvb_get_ntoh24(next_tvb, 0);
+ switch (magic) {
+ case 0x544147: /* TAG */
+ offset += dissect_id3v1(next_tvb, pinfo, mpeg_audio_tree);
+ break;
+ case 0x494433: /* ID3 */
+ offset += call_dissector(id3v2_handle, tvb, pinfo, mpeg_audio_tree);
+ break;
+ default:
+ frame_len = dissect_mpeg_audio_frame(next_tvb, pinfo, mpeg_audio_tree);
+ if (frame_len == 0) {
+ frame_len = mpeg_resync(next_tvb, 0);
+ }
+ offset += frame_len;
+ }
+ }
+ return tvb_reported_length(tvb);
+}
+
+static gboolean
+dissect_mpeg_audio_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ if (!test_mpeg_audio(tvb, 0)) {
+ return FALSE;
+ }
+ dissect_mpeg_audio(tvb, pinfo, tree, data);
+ return TRUE;
+}
+
+void
+proto_register_mpeg_audio(void)
+{
+ static hf_register_info hf[] = {
+#include "packet-mpeg-audio-hfarr.c"
+ { &hf_mpeg_audio_header,
+ { "Frame Header", "mpeg-audio.header",
+ FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_audio_data,
+ { "Data", "mpeg-audio.data",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_audio_padbytes,
+ { "Padding", "mpeg-audio.padbytes",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+
+ { &hf_id3v1,
+ { "ID3v1", "mpeg-audio.id3v1",
+ FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ };
+
+ static gint *ett[] = {
+ &ett_mpeg_audio,
+#include "packet-mpeg-audio-ettarr.c"
+ };
+
+ proto_mpeg_audio = proto_register_protocol("Moving Picture Experts Group Audio", "MPEG Audio", "mpeg-audio");
+ proto_register_field_array(proto_mpeg_audio, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ mpeg_audio_handle = register_dissector("mpeg-audio", dissect_mpeg_audio, proto_mpeg_audio);
+}
+
+void
+proto_reg_handoff_mpeg_audio(void)
+{
+ dissector_add_string("media_type", "audio/mpeg", mpeg_audio_handle);
+ /* "audio/mp3" used by Chrome before 2020 */
+ /* https://chromium.googlesource.com/chromium/src/+/842f46a95f49e24534ad35c7a71e5c425d426550 */
+ dissector_add_string("media_type", "audio/mp3", mpeg_audio_handle);
+
+ heur_dissector_add("mpeg", dissect_mpeg_audio_heur, "MPEG Audio", "mpeg_audio", proto_mpeg_audio, HEURISTIC_ENABLE);
+
+ id3v2_handle = find_dissector("id3v2");
+}
diff --git a/epan/dissectors/asn1/mpeg-pes/CMakeLists.txt b/epan/dissectors/asn1/mpeg-pes/CMakeLists.txt
new file mode 100644
index 00000000..b87ca641
--- /dev/null
+++ b/epan/dissectors/asn1/mpeg-pes/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME mpeg-pes )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/mpeg-pes/mpeg-pes.asn b/epan/dissectors/asn1/mpeg-pes/mpeg-pes.asn
new file mode 100644
index 00000000..caec6f2d
--- /dev/null
+++ b/epan/dissectors/asn1/mpeg-pes/mpeg-pes.asn
@@ -0,0 +1,117 @@
+-- ASN description of MPEG Packetized Elementary Stream (PES)
+-- Written by Shaun Jackman <sjackman@gmail.com>
+-- Copyright 2007 Shaun Jackman
+--
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License.
+
+MPEG DEFINITIONS ::= BEGIN
+
+PES ::= SEQUENCE {
+ prefix OCTET STRING (SIZE (3)),
+ stream INTEGER {
+ picture (0),
+ sequence-header (179),
+ sequence-header-extension (181),
+ group-of-pictures (184),
+ program-end (185),
+ pack-header (186),
+ system-header (187),
+ program-stream-map (188),
+ private-stream-1 (189),
+ padding-stream (190),
+ private-stream-2 (191),
+ audio-stream (192),
+ video-stream (224)
+ } (0..255)
+}
+
+Stream ::= SEQUENCE {
+ length INTEGER (0..65535),
+ must-be-one BOOLEAN,
+ must-be-zero BOOLEAN,
+ scrambling-control INTEGER {
+ not-scrambled (0)
+ } (0..3),
+ priority BOOLEAN,
+ data-alignment BOOLEAN,
+ copyright BOOLEAN,
+ original BOOLEAN,
+ pts-flag BOOLEAN,
+ dts-flag BOOLEAN,
+ escr-flag BOOLEAN,
+ es-rate-flag BOOLEAN,
+ dsm-trick-mode-flag BOOLEAN,
+ additional-copy-info-flag BOOLEAN,
+ crc-flag BOOLEAN,
+ extension-flag BOOLEAN,
+ header-data-length INTEGER (0..255)
+}
+
+Sequence-header ::= SEQUENCE {
+ horizontal-size BIT STRING (SIZE (12)),
+ vertical-size BIT STRING (SIZE (12)),
+ aspect-ratio INTEGER {
+ aspect-1to1 (1),
+ aspect-4to3 (2),
+ aspect-16to9 (3),
+ aspect-2-21to1 (4)
+ } (0..15),
+ frame-rate ENUMERATED {
+ reserved (0),
+ fr (23976),
+ fr (24000),
+ fr (25000),
+ fr (29970),
+ fr (30000),
+ fr (50000),
+ fr (59940),
+ fr (60000)
+ },
+ bit-rate BIT STRING (SIZE (18)),
+ must-be-one BOOLEAN,
+ vbv-buffer-size BIT STRING (SIZE (10)),
+ constrained-parameters-flag BOOLEAN,
+ load-intra-quantiser-matrix BOOLEAN,
+ load-non-intra-quantiser-matrix BOOLEAN
+}
+
+Sequence-extension ::= SEQUENCE {
+ must-be-0001 BIT STRING (SIZE (4)),
+ profile-and-level INTEGER (0..255),
+ progressive-sequence BOOLEAN,
+ chroma-format INTEGER (0..3),
+ horizontal-size-extension INTEGER (0..3),
+ vertical-size-extension INTEGER (0..3),
+ bit-rate-extension BIT STRING (SIZE (12)),
+ must-be-one BOOLEAN,
+ vbv-buffer-size-extension INTEGER (0..255),
+ low-delay BOOLEAN,
+ frame-rate-extension-n INTEGER (0..3),
+ frame-rate-extension-d INTEGER (0..3)
+}
+
+Group-of-pictures ::= SEQUENCE {
+ drop-frame-flag BOOLEAN,
+ hour INTEGER (0..32),
+ minute INTEGER (0..64),
+ must-be-one BOOLEAN,
+ second INTEGER (0..64),
+ frame INTEGER (0..64),
+ closed-gop BOOLEAN,
+ broken-gop BOOLEAN,
+ must-be-zero BIT STRING (SIZE (5))
+}
+
+Picture ::= SEQUENCE {
+ temporal-sequence-number BIT STRING (SIZE (10)),
+ frame-type INTEGER {
+ i-frame (1),
+ p-frame (2),
+ b-frame (3),
+ d-frame (4)
+ } (0..7),
+ vbv-delay BIT STRING (SIZE (16))
+}
+
+END
diff --git a/epan/dissectors/asn1/mpeg-pes/mpeg-pes.cnf b/epan/dissectors/asn1/mpeg-pes/mpeg-pes.cnf
new file mode 100644
index 00000000..9b8eec85
--- /dev/null
+++ b/epan/dissectors/asn1/mpeg-pes/mpeg-pes.cnf
@@ -0,0 +1,15 @@
+# mpeg-pes.cnf
+# mpeg-pes conformation file
+
+#.FIELD_RENAME
+Stream/must-be-zero stream_must-be-zero
+
+#.FIELD_ATTR
+Stream/must-be-zero ABBREV=stream.must-be-zero
+
+#.TYPE_ATTR
+PES/stream TYPE=FT_UINT8 DISPLAY=BASE_HEX
+Pack/program-mux-rate TYPE=FT_UINT32 DISPLAY=BASE_DEC
+Stream/length TYPE=FT_UINT16 DISPLAY=BASE_DEC
+Stream/scrambling-control TYPE=FT_UINT8 BITMASK=0x30
+#.END
diff --git a/epan/dissectors/asn1/mpeg-pes/packet-mpeg-pes-template.c b/epan/dissectors/asn1/mpeg-pes/packet-mpeg-pes-template.c
new file mode 100644
index 00000000..c4e8990d
--- /dev/null
+++ b/epan/dissectors/asn1/mpeg-pes/packet-mpeg-pes-template.c
@@ -0,0 +1,757 @@
+/* MPEG Packetized Elementary Stream (PES) packet decoder.
+ * Written by Shaun Jackman <sjackman@gmail.com>.
+ * Copyright 2007 Shaun Jackman
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include <wiretap/wtap.h>
+
+#include "packet-per.h"
+
+#include "packet-mpeg-pes-hf.c"
+#include "packet-mpeg-pes-ett.c"
+#include "packet-mpeg-pes-fn.c"
+
+void proto_register_mpeg_pes(void);
+void proto_reg_handoff_mpeg_pes(void);
+
+static int proto_mpeg = -1;
+static int proto_mpeg_pes = -1;
+
+static int ett_mpeg_pes_pack_header = -1;
+static int ett_mpeg_pes_header_data = -1;
+static int ett_mpeg_pes_trick_mode = -1;
+
+static int hf_mpeg_pes_pack_header = -1;
+static int hf_mpeg_pes_scr = -1;
+static int hf_mpeg_pes_program_mux_rate = -1;
+static int hf_mpeg_pes_stuffing_length = -1;
+static int hf_mpeg_pes_stuffing = -1;
+static int hf_mpeg_pes_extension = -1;
+static int hf_mpeg_pes_header_data = -1;
+static int hf_mpeg_pes_pts = -1;
+static int hf_mpeg_pes_dts = -1;
+static int hf_mpeg_pes_escr = -1;
+static int hf_mpeg_pes_es_rate = -1;
+static int hf_mpeg_pes_dsm_trick_mode = -1;
+static int hf_mpeg_pes_dsm_trick_mode_control = -1;
+static int hf_mpeg_pes_dsm_trick_mode_field_id = -1;
+static int hf_mpeg_pes_dsm_trick_mode_intra_slice_refresh = -1;
+static int hf_mpeg_pes_dsm_trick_mode_frequency_truncation = -1;
+static int hf_mpeg_pes_dsm_trick_mode_rep_cntrl = -1;
+static int hf_mpeg_pes_copy_info = -1;
+static int hf_mpeg_pes_crc = -1;
+static int hf_mpeg_pes_extension_flags = -1;
+static int hf_mpeg_pes_private_data = -1;
+static int hf_mpeg_pes_pack_length = -1;
+static int hf_mpeg_pes_sequence = -1;
+static int hf_mpeg_pes_pstd_buffer = -1;
+static int hf_mpeg_pes_extension2 = -1;
+static int hf_mpeg_pes_padding = -1;
+static int hf_mpeg_pes_data = -1;
+
+static int hf_mpeg_video_sequence_header = -1;
+static int hf_mpeg_video_sequence_extension = -1;
+static int hf_mpeg_video_group_of_pictures = -1;
+static int hf_mpeg_video_picture = -1;
+static int hf_mpeg_video_quantization_matrix = -1;
+static int hf_mpeg_video_data = -1;
+
+static dissector_handle_t mpeg_handle;
+
+static dissector_table_t stream_type_table;
+
+enum { PES_PREFIX = 1 };
+
+/*
+ * MPEG uses 32-bit start codes that all begin with the three byte sequence
+ * 00 00 01 (the start code prefix) for bit and byte alignment, among other
+ * purposes.
+ *
+ * The values from 0xb9 through 0xff are "system start codes" and described in
+ * ISO/IEC 13818-1:2019 / ITU-T H.222.0. The bulk of them, 0xbc through 0xff,
+ * are stream_id values and documented in Table 2-22 "Stream_id assignments".
+ * The remaining three are used by Program Streams and found as follows:
+ * 0xb9, the MPEG_program_end_code, in 2.5.3.2 "Semantic definition of fields
+ * in program stream"
+ * 0xba, the pack_start_code, in 2.5.3.4 "Semantic definition of fields in
+ * program stream pack"
+ * 0xbb, the system_header_start_code, in 2.5.3.6 "Semantic definition of fields
+ * in system header"
+ *
+ * The remaining 185 values from 0x00 to 0xb8 are used by MPEG-2 video
+ * (backwards compatible with MPEG-1 video) and documented in ISO/IEC 13818-2 /
+ * ITU-T H.262 (2000), in Table 6-1 "Start code values". These are not stream
+ * id values and do not mark PES packets, but rather demarcate elements in the
+ * coded MPEG-1/2 video bitstream, at a different hierarchical level than the
+ * PES packets. The sets of values used for video start codes and for stream
+ * ids are disjoint to avoid any ambiguity when resynchronizing. Note the
+ * dissector currently conflates MPEG video with MPEG PES.
+ *
+ * Care is taken to ensure that the start code prefix 0x000001 does not occur
+ * elsewhere in the structure (avoiding "emulation of start codes").
+ *
+ * The video can have other formats, given by the stream type, carried on
+ * TS in the PMT and in PS from the similar Program Stream Map. AVC/H.264 and
+ * HEVC/H.265 carried in PES also use the start code prefix, before each NAL,
+ * and escape the raw byte sequence with bytes that prevent internal start code
+ * prefixes. The byte following the prefix (the first byte of the NAL header)
+ * has high bit zero, so the values of the NAL header are in the range used by
+ * the MPEG-2 video bitstream, not the range used by stream ids, allowing for
+ * synchronization in the same way. See Annex B "Byte Stream Format" of H.264
+ * and H.265.
+ */
+enum {
+ STREAM_PICTURE = 0x00,
+ STREAM_SEQUENCE = 0xb3,
+ STREAM_SEQUENCE_EXTENSION = 0xb5,
+ STREAM_GOP = 0xb8,
+ STREAM_END = 0xb9,
+ STREAM_PACK = 0xba,
+ STREAM_SYSTEM = 0xbb,
+ STREAM_PROGRAM = 0xbc,
+ STREAM_PRIVATE1 = 0xbd,
+ STREAM_PADDING = 0xbe,
+ STREAM_PRIVATE2 = 0xbf,
+ STREAM_AUDIO = 0xc0,
+ STREAM_VIDEO = 0xe0
+};
+
+enum {
+ PTS_FLAG = 0x80,
+ DTS_FLAG = 0x40,
+ ESCR_FLAG = 0x20,
+ ES_RATE_FLAG = 0x10,
+ DSM_TRICK_MODE_FLAG = 0x08,
+ COPY_INFO_FLAG = 0x04,
+ CRC_FLAG = 0x02,
+ EXTENSION_FLAG = 0x01
+};
+
+enum {
+ PRIVATE_DATA_FLAG = 0x80,
+ PACK_LENGTH_FLAG = 0x40,
+ SEQUENCE_FLAG = 0x20,
+ PSTD_BUFFER_FLAG = 0x10,
+ MUST_BE_ONES = 0x07,
+ EXTENSION_FLAG2 = 0x01
+};
+
+enum {
+ FAST_FORWARD_CONTROL = 0x00,
+ SLOW_MOTION_CONTROL = 0x01,
+ FREEZE_FRAME_CONTROL = 0x02,
+ FAST_REVERSE_CONTROL = 0x03,
+ SLOW_REVERSE_CONTROL = 0x04
+};
+
+static const value_string mpeg_pes_TrickModeControl_vals[] = {
+ { FAST_FORWARD_CONTROL, "fast-forward" },
+ { SLOW_MOTION_CONTROL, "slow-motion" },
+ { FREEZE_FRAME_CONTROL, "freeze-frame" },
+ { FAST_REVERSE_CONTROL, "fast-reverse" },
+ { SLOW_REVERSE_CONTROL, "slow-reverse" },
+ { 5, "reserved" },
+ { 6, "reserved" },
+ { 7, "reserved" },
+ { 0, NULL }
+};
+
+static const value_string mpeg_pes_TrickModeFieldId_vals[] = {
+ { 0, "display-from-top-field-only" },
+ { 1, "display-from-bottom-field-only" },
+ { 2, "display-complete-frame" },
+ { 3, "reserved" },
+ { 0, NULL }
+};
+
+static const value_string mpeg_pes_TrickModeIntraSliceRefresh_vals[] = {
+ { 0, "macroblocks-may-not-be-missing" },
+ { 1, "macroblocks-may-be-missing" },
+ { 0, NULL }
+};
+
+static const value_string mpeg_pes_TrickModeFrequencyTruncation_vals[] = {
+ { 0, "only-DC-coefficients-are-non-zero" },
+ { 1, "only-the-first-three-coefficients-are-non-zero" },
+ { 2, "only-the-first-six-coefficients-are-non-zero" },
+ { 3, "all-coefficients-may-be-non-zero" },
+ { 0, NULL }
+};
+
+#define TSHZ 90000
+
+static guint64 decode_time_stamp(tvbuff_t *tvb, gint offset, nstime_t *nst)
+{
+ guint64 bytes = tvb_get_ntoh40(tvb, offset);
+ guint64 ts =
+ (bytes >> 33 & 0x0007) << 30 |
+ (bytes >> 17 & 0x7fff) << 15 |
+ (bytes >> 1 & 0x7fff) << 0;
+ unsigned int rem = (unsigned int)(ts % TSHZ);
+ nst->secs = (time_t)(ts / TSHZ);
+ nst->nsecs = (int)(G_GINT64_CONSTANT(1000000000) * rem / TSHZ);
+ return ts;
+}
+
+#define SCRHZ 27000000
+
+static guint64 decode_clock_reference(tvbuff_t *tvb, gint offset,
+ nstime_t *nst)
+{
+ guint64 bytes = tvb_get_ntoh48(tvb, offset);
+ guint64 ts =
+ (bytes >> 43 & 0x0007) << 30 |
+ (bytes >> 27 & 0x7fff) << 15 |
+ (bytes >> 11 & 0x7fff) << 0;
+ unsigned int ext = (unsigned int)((bytes >> 1) & 0x1ff);
+ guint64 cr = 300 * ts + ext;
+ unsigned int rem = (unsigned int)(cr % SCRHZ);
+ nst->secs = (time_t)(cr / SCRHZ);
+ nst->nsecs = (int)(G_GINT64_CONSTANT(1000000000) * rem / SCRHZ);
+ return cr;
+}
+
+static int
+dissect_mpeg_pes_header_data(tvbuff_t *tvb, packet_info *pinfo _U_,
+ proto_tree *root, unsigned int flags)
+{
+ proto_item *item = proto_tree_add_item(root, hf_mpeg_pes_header_data, tvb,
+ 0, -1, ENC_NA);
+ proto_tree *tree = proto_item_add_subtree(item, ett_mpeg_pes_header_data);
+
+ gint offset = 0;
+ if (flags & PTS_FLAG) {
+ nstime_t nst;
+ decode_time_stamp(tvb, offset, &nst);
+ proto_tree_add_time(tree, hf_mpeg_pes_pts, tvb,
+ offset, 5, &nst);
+ offset += 5;
+ }
+ if (flags & DTS_FLAG) {
+ nstime_t nst;
+ decode_time_stamp(tvb, offset, &nst);
+ proto_tree_add_time(tree, hf_mpeg_pes_dts, tvb,
+ offset, 5, &nst);
+ offset += 5;
+ }
+ if (flags & ESCR_FLAG) {
+ nstime_t nst;
+ decode_clock_reference(tvb, offset, &nst);
+ proto_tree_add_time(tree, hf_mpeg_pes_escr, tvb,
+ offset, 6, &nst);
+ offset += 6;
+ }
+ if (flags & ES_RATE_FLAG) {
+ unsigned int es_rate = (tvb_get_ntohs(tvb, offset) >> 1 & 0x3fff) * 50;
+ proto_tree_add_uint(tree, hf_mpeg_pes_es_rate, tvb,
+ offset, 3, es_rate);
+ offset += 3;
+ }
+ if (flags & DSM_TRICK_MODE_FLAG)
+ {
+ guint8 value = tvb_get_guint8(tvb, offset);
+ guint8 control;
+ proto_tree *trick_tree;
+ proto_item *trick_item;
+
+ trick_item = proto_tree_add_item(item,
+ hf_mpeg_pes_dsm_trick_mode, tvb,
+ offset, 1, ENC_NA);
+
+ trick_tree = proto_item_add_subtree(trick_item,
+ ett_mpeg_pes_trick_mode);
+
+ control = (value >> 5);
+ proto_tree_add_uint(trick_tree,
+ hf_mpeg_pes_dsm_trick_mode_control, tvb,
+ offset, 1,
+ control);
+
+ if (control == FAST_FORWARD_CONTROL
+ || control == FAST_REVERSE_CONTROL)
+ {
+ proto_tree_add_uint(trick_tree,
+ hf_mpeg_pes_dsm_trick_mode_field_id, tvb,
+ offset, 1,
+ (value & 0x18) >> 3);
+
+ proto_tree_add_uint(trick_tree,
+ hf_mpeg_pes_dsm_trick_mode_intra_slice_refresh, tvb,
+ offset, 1,
+ (value & 0x04) >> 2);
+
+ proto_tree_add_uint(trick_tree,
+ hf_mpeg_pes_dsm_trick_mode_frequency_truncation, tvb,
+ offset, 1,
+ (value & 0x03));
+ }
+ else if (control == SLOW_MOTION_CONTROL
+ || control == SLOW_REVERSE_CONTROL)
+ {
+ proto_tree_add_uint(trick_tree,
+ hf_mpeg_pes_dsm_trick_mode_rep_cntrl, tvb,
+ offset, 1,
+ (value & 0x1F));
+ }
+ else if (control == FREEZE_FRAME_CONTROL)
+ {
+ proto_tree_add_uint(trick_tree,
+ hf_mpeg_pes_dsm_trick_mode_field_id, tvb,
+ offset, 1,
+ (value & 0x18) >> 3);
+ }
+
+ offset += 1;
+ }
+ if (flags & COPY_INFO_FLAG) {
+ proto_tree_add_item(tree, hf_mpeg_pes_copy_info, tvb,
+ offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ }
+ if (flags & CRC_FLAG) {
+ proto_tree_add_item(tree, hf_mpeg_pes_crc, tvb,
+ offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
+ }
+
+ if (flags & EXTENSION_FLAG) {
+ int flags2 = tvb_get_guint8(tvb, offset);
+ proto_tree_add_item(tree, hf_mpeg_pes_extension_flags, tvb,
+ offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+
+ if (flags2 & PRIVATE_DATA_FLAG) {
+ proto_tree_add_item(tree, hf_mpeg_pes_private_data, tvb,
+ offset, 16, ENC_NA);
+ offset += 16;
+ }
+ if (flags2 & PACK_LENGTH_FLAG) {
+ proto_tree_add_item(tree, hf_mpeg_pes_pack_length, tvb,
+ offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ }
+ if (flags2 & SEQUENCE_FLAG) {
+ proto_tree_add_item(tree, hf_mpeg_pes_sequence, tvb,
+ offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
+ }
+ if (flags2 & PSTD_BUFFER_FLAG) {
+ unsigned int pstd = tvb_get_ntohs(tvb, offset);
+ proto_tree_add_uint(tree, hf_mpeg_pes_pstd_buffer, tvb,
+ offset, 2, (pstd & 0x2000 ? 1024 : 128) * (pstd & 0x1ff));
+ offset += 2;
+ }
+ if (flags2 & EXTENSION_FLAG2) {
+ proto_tree_add_item(tree, hf_mpeg_pes_extension2, tvb,
+ offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
+ }
+ }
+ return offset;
+}
+
+static gint
+dissect_mpeg_pes_pack_header(tvbuff_t *tvb, gint offset,
+ packet_info *pinfo _U_, proto_tree *root)
+{
+ unsigned int program_mux_rate, stuffing_length;
+
+ proto_item *item = proto_tree_add_item(root, hf_mpeg_pes_pack_header, tvb,
+ offset / 8, 10, ENC_NA);
+ proto_tree *tree = proto_item_add_subtree(item, ett_mpeg_pes_pack_header);
+
+ nstime_t nst;
+ decode_clock_reference(tvb, offset / 8, &nst);
+ proto_tree_add_time(tree, hf_mpeg_pes_scr, tvb, offset / 8, 6, &nst);
+ offset += 6 * 8;
+
+ program_mux_rate = (tvb_get_ntoh24(tvb, offset / 8) >> 2) * 50;
+ proto_tree_add_uint(tree, hf_mpeg_pes_program_mux_rate, tvb, offset / 8, 3,
+ program_mux_rate);
+ offset += 3 * 8;
+
+ stuffing_length = tvb_get_guint8(tvb, offset / 8) & 0x07;
+ proto_tree_add_item(tree, hf_mpeg_pes_stuffing_length, tvb,
+ offset / 8, 1, ENC_BIG_ENDIAN);
+ offset += 1 * 8;
+
+ if (stuffing_length > 0) {
+ proto_tree_add_item(tree, hf_mpeg_pes_stuffing, tvb,
+ offset / 8, stuffing_length, ENC_NA);
+ offset += stuffing_length * 8;
+ }
+
+ return offset;
+}
+
+static int
+dissect_mpeg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data);
+
+static gboolean
+dissect_mpeg_pes(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ int prefix;
+ int stream;
+ asn1_ctx_t asn1_ctx;
+ gint offset = 0;
+ guint8 stream_type;
+
+ if (!tvb_bytes_exist(tvb, 0, 3))
+ return FALSE; /* not enough bytes for a PES prefix */
+
+ prefix = tvb_get_ntoh24(tvb, 0);
+ if (prefix != PES_PREFIX)
+ return FALSE;
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "MPEG PES");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ stream = tvb_get_guint8(tvb, 3);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(stream, mpeg_pes_T_stream_vals, "Unknown stream: %d"));
+
+ /* Were we called from MP2T providing a stream type from a PMT? */
+ stream_type = GPOINTER_TO_UINT(data);
+ /* Luckily, stream_type 0 is reserved, so a null value is fine.
+ * XXX: Implement Program Stream Map for Program Stream (similar
+ * to PMT but maps stream_ids to stream_types instead of PIDs.)
+ */
+
+#if 0
+ if (tree == NULL)
+ return TRUE;
+#endif
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_mpeg_pes_PES(tvb, offset, &asn1_ctx,
+ tree, proto_mpeg_pes);
+
+ if (stream == STREAM_PICTURE) {
+ int frame_type;
+
+ frame_type = tvb_get_guint8(tvb, 5) >> 3 & 0x07;
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(frame_type, mpeg_pes_T_frame_type_vals, "Unknown frame type: %d"));
+
+ offset = dissect_mpeg_pes_Picture(tvb, offset, &asn1_ctx,
+ tree, hf_mpeg_video_picture);
+ proto_tree_add_item(tree, hf_mpeg_video_data, tvb,
+ offset / 8, -1, ENC_NA);
+ } else if (stream == STREAM_SEQUENCE) {
+ tvbuff_t *es;
+
+ offset = dissect_mpeg_pes_Sequence_header(tvb, offset, &asn1_ctx,
+ tree, hf_mpeg_video_sequence_header);
+
+ proto_tree_add_item(tree, hf_mpeg_video_quantization_matrix, tvb,
+ offset / 8, 64, ENC_NA);
+ offset += 64 * 8;
+
+ es = tvb_new_subset_remaining(tvb, offset / 8);
+ dissect_mpeg_pes(es, pinfo, tree, NULL);
+ } else if (stream == STREAM_SEQUENCE_EXTENSION) {
+ tvbuff_t *es;
+
+ offset = dissect_mpeg_pes_Sequence_extension(tvb, offset, &asn1_ctx,
+ tree, hf_mpeg_video_sequence_extension);
+
+ es = tvb_new_subset_remaining(tvb, offset / 8);
+ dissect_mpeg_pes(es, pinfo, tree, NULL);
+ } else if (stream == STREAM_GOP) {
+ tvbuff_t *es;
+
+ offset = dissect_mpeg_pes_Group_of_pictures(tvb, offset, &asn1_ctx,
+ tree, hf_mpeg_video_group_of_pictures);
+
+ es = tvb_new_subset_remaining(tvb, offset / 8);
+ dissect_mpeg_pes(es, pinfo, tree, NULL);
+ } else if (stream == STREAM_PACK) {
+ if (tvb_get_guint8(tvb, offset / 8) >> 6 == 1) {
+ dissect_mpeg_pes_pack_header(tvb, offset, pinfo, tree);
+ } else {
+ proto_tree_add_item(tree, hf_mpeg_pes_data, tvb,
+ offset / 8, 8, ENC_NA);
+ }
+ } else if (stream == STREAM_SYSTEM || stream == STREAM_PRIVATE2) {
+ unsigned int data_length = tvb_get_ntohs(tvb, offset / 8);
+ proto_tree_add_item(tree, hf_mpeg_pes_length, tvb,
+ offset / 8, 2, ENC_BIG_ENDIAN);
+ offset += 2 * 8;
+
+ proto_tree_add_item(tree, hf_mpeg_pes_data, tvb,
+ offset / 8, data_length, ENC_NA);
+ } else if (stream == STREAM_PADDING) {
+ unsigned int padding_length = tvb_get_ntohs(tvb, offset / 8);
+ proto_tree_add_item(tree, hf_mpeg_pes_length, tvb,
+ offset / 8, 2, ENC_BIG_ENDIAN);
+ offset += 2 * 8;
+
+ proto_tree_add_item(tree, hf_mpeg_pes_padding, tvb,
+ offset / 8, padding_length, ENC_NA);
+ } else if (stream == STREAM_PRIVATE1
+ || stream >= STREAM_AUDIO) {
+ int length = tvb_get_ntohs(tvb, 4);
+
+ if ((tvb_get_guint8(tvb, 6) & 0xc0) == 0x80) {
+ int header_length;
+ tvbuff_t *es;
+ int save_offset = offset;
+
+ offset = dissect_mpeg_pes_Stream(tvb, offset, &asn1_ctx,
+ tree, hf_mpeg_pes_extension);
+ /* https://gitlab.com/wireshark/wireshark/-/issues/2229
+ * A value of 0 indicates that the PES packet length
+ * is neither specified nor bounded and is allowed
+ * only in PES packets whose payload is a video
+ * elementary stream contained in Transport Stream
+ * packets.
+ *
+ * See ISO/IEC 13818-1:2007, section 2.4.3.7
+ * "Semantic definition of fields in PES packet",
+ * which says of the PES_packet_length that "A value
+ * of 0 indicates that the PES packet length is
+ * neither specified nor bounded and is allowed only
+ * in PES packets whose payload consists of bytes
+ * from a video elementary stream contained in
+ * Transport Stream packets."
+ */
+ if(length !=0 && stream != STREAM_VIDEO){
+ /*
+ * XXX - note that ISO/IEC 13818-1:2007
+ * says that the length field is *not*
+ * part of the above extension.
+ *
+ * This means that the length of the length
+ * field itself should *not* be subtracted
+ * from the length field; ISO/IEC 13818-1:2007
+ * says that the PES_packet_length field is
+ * "A 16-bit field specifying the number of
+ * bytes in the PES packet following the
+ * last byte of the field."
+ *
+ * So we calculate the size of the extension,
+ * in bytes, by subtracting the saved bit
+ * offset value from the current bit offset
+ * value, divide by 8 to convert to a size
+ * in bytes, and then subtract 2 to remove
+ * the length field's length from the total
+ * length.
+ *
+ * (In addition, ISO/IEC 13818-1:2007
+ * suggests that the length field is
+ * always present, but this code, when
+ * processing some stream ID types, doesn't
+ * treat it as being present. Where are
+ * the formats of those payloads specified?)
+ */
+ length -= ((offset - save_offset) / 8) - 2;
+ }
+
+ header_length = tvb_get_guint8(tvb, 8);
+ if (header_length > 0) {
+ int flags = tvb_get_guint8(tvb, 7);
+ tvbuff_t *header_data = tvb_new_subset_length(tvb, offset / 8,
+ header_length);
+ dissect_mpeg_pes_header_data(header_data, pinfo, tree, flags);
+ offset += header_length * 8;
+ /* length may be zero for Video stream */
+ if(length !=0 && stream != STREAM_VIDEO){
+ length -= header_length;
+ }
+ }
+
+ /* length may be zero for Video stream */
+ if(length==0){
+ es = tvb_new_subset_remaining(tvb, offset / 8);
+ } else {
+ es = tvb_new_subset_length_caplen(tvb, offset / 8, -1, length);
+ }
+ if (!dissector_try_uint_new(stream_type_table, stream_type, es, pinfo, tree, TRUE, NULL)) {
+ /* If we didn't get a stream type, then assume
+ * MPEG-1/2 Audio or Video.
+ */
+ if (tvb_get_ntoh24(es, 0) == PES_PREFIX)
+ dissect_mpeg_pes(es, pinfo, tree, NULL);
+ else if (tvb_get_guint8(es, 0) == 0xff)
+ dissect_mpeg(es, pinfo, tree, NULL);
+ else
+ proto_tree_add_item(tree, hf_mpeg_pes_data, es,
+ 0, -1, ENC_NA);
+ }
+ } else {
+ unsigned int data_length = tvb_get_ntohs(tvb, offset / 8);
+ proto_tree_add_item(tree, hf_mpeg_pes_length, tvb,
+ offset / 8, 2, ENC_BIG_ENDIAN);
+ offset += 2 * 8;
+
+ proto_tree_add_item(tree, hf_mpeg_pes_data, tvb,
+ offset / 8, data_length, ENC_NA);
+ }
+ } else if (stream != STREAM_END) {
+ proto_tree_add_item(tree, hf_mpeg_pes_data, tvb,
+ offset / 8, -1, ENC_NA);
+ }
+ return TRUE;
+}
+
+static heur_dissector_list_t heur_subdissector_list;
+
+static int
+dissect_mpeg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ heur_dtbl_entry_t *hdtbl_entry;
+
+ if (!dissector_try_heuristic(heur_subdissector_list, tvb, pinfo, tree, &hdtbl_entry, NULL)) {
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "MPEG");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ proto_tree_add_item(tree, proto_mpeg, tvb, 0, -1, ENC_NA);
+ }
+ return tvb_captured_length(tvb);
+}
+
+void
+proto_register_mpeg_pes(void)
+{
+ static hf_register_info hf[] = {
+#include "packet-mpeg-pes-hfarr.c"
+ { &hf_mpeg_pes_pack_header,
+ { "Pack header", "mpeg-pes.pack",
+ FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_scr,
+ { "system clock reference (SCR)", "mpeg-pes.scr",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_program_mux_rate,
+ { "PES program mux rate", "mpeg-pes.program-mux-rate",
+ FT_UINT24, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_stuffing_length,
+ { "PES stuffing length", "mpeg-pes.stuffing-length",
+ FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL }},
+ { &hf_mpeg_pes_stuffing,
+ { "PES stuffing bytes", "mpeg-pes.stuffing",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_extension,
+ { "PES extension", "mpeg-pes.extension",
+ FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_header_data,
+ { "PES header data", "mpeg-pes.header-data",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_pts,
+ { "presentation time stamp (PTS)", "mpeg-pes.pts",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_dts,
+ { "decode time stamp (DTS)", "mpeg-pes.dts",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_escr,
+ { "elementary stream clock reference (ESCR)", "mpeg-pes.escr",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_es_rate,
+ { "elementary stream rate", "mpeg-pes.es-rate",
+ FT_UINT24, BASE_DEC, NULL, 0x7ffe, NULL, HFILL }},
+ { &hf_mpeg_pes_dsm_trick_mode,
+ { "Trick mode", "mpeg-pes.trick-mode",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_dsm_trick_mode_control,
+ { "control", "mpeg-pes.trick-mode-control",
+ FT_UINT8, BASE_HEX, VALS(mpeg_pes_TrickModeControl_vals), 0,
+ "mpeg_pes trick mode control", HFILL }},
+ { &hf_mpeg_pes_dsm_trick_mode_field_id,
+ { "field id", "mpeg-pes.trick-mode-field-id",
+ FT_UINT8, BASE_HEX, VALS(mpeg_pes_TrickModeFieldId_vals), 0,
+ "mpeg_pes trick mode field id", HFILL }},
+ { &hf_mpeg_pes_dsm_trick_mode_intra_slice_refresh,
+ { "intra slice refresh", "mpeg-pes.trick-mode-intra-slice-refresh",
+ FT_UINT8, BASE_HEX, VALS(mpeg_pes_TrickModeIntraSliceRefresh_vals), 0,
+ "mpeg_pes trick mode intra slice refresh", HFILL }},
+ { &hf_mpeg_pes_dsm_trick_mode_frequency_truncation,
+ { "frequency truncation", "mpeg-pes.trick-mode-frequency-truncation",
+ FT_UINT8, BASE_HEX, VALS(mpeg_pes_TrickModeFrequencyTruncation_vals), 0,
+ "mpeg_pes trick mode frequency truncation", HFILL }},
+ { &hf_mpeg_pes_dsm_trick_mode_rep_cntrl,
+ { "rep cntrl", "mpeg-pes.trick-mode-rep-cntrl",
+ FT_UINT8, BASE_HEX, NULL, 0, "mpeg_pes trick mode rep cntrl", HFILL }},
+ { &hf_mpeg_pes_copy_info,
+ { "copy info", "mpeg-pes.copy-info",
+ FT_UINT8, BASE_DEC, NULL, 0x7f, NULL, HFILL }},
+ { &hf_mpeg_pes_crc,
+ { "CRC", "mpeg-pes.crc",
+ FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_extension_flags,
+ { "extension flags", "mpeg-pes.extension-flags",
+ FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_private_data,
+ { "private data", "mpeg-pes.private-data",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_pack_length,
+ { "pack length", "mpeg-pes.pack-length",
+ FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_sequence,
+ { "sequence", "mpeg-pes.sequence",
+ FT_UINT16, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_pstd_buffer,
+ { "P-STD buffer size", "mpeg-pes.pstd-buffer",
+ FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_extension2,
+ { "extension2", "mpeg-pes.extension2",
+ FT_UINT16, BASE_HEX, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_padding,
+ { "PES padding", "mpeg-pes.padding",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_pes_data,
+ { "PES data", "mpeg-pes.data",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_video_sequence_header,
+ { "MPEG sequence header", "mpeg-video.sequence",
+ FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_video_sequence_extension,
+ { "MPEG sequence extension", "mpeg-video.sequence-ext",
+ FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_video_group_of_pictures,
+ { "MPEG group of pictures", "mpeg-video.gop",
+ FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_video_picture,
+ { "MPEG picture", "mpeg-video.picture",
+ FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_video_quantization_matrix,
+ { "MPEG quantization matrix", "mpeg-video.quant",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_mpeg_video_data,
+ { "MPEG picture data", "mpeg-video.data",
+ FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
+ };
+
+ static gint *ett[] = {
+#include "packet-mpeg-pes-ettarr.c"
+ &ett_mpeg_pes_pack_header,
+ &ett_mpeg_pes_header_data,
+ &ett_mpeg_pes_trick_mode
+ };
+
+ proto_mpeg = proto_register_protocol("Moving Picture Experts Group", "MPEG", "mpeg");
+ mpeg_handle = register_dissector("mpeg", dissect_mpeg, proto_mpeg);
+ heur_subdissector_list = register_heur_dissector_list("mpeg", proto_mpeg);
+
+ proto_mpeg_pes = proto_register_protocol("Packetized Elementary Stream", "MPEG PES", "mpeg-pes");
+ proto_register_field_array(proto_mpeg_pes, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ register_dissector("mpeg-pes", dissect_mpeg_pes, proto_mpeg_pes);
+
+ stream_type_table = register_dissector_table("mpeg-pes.stream", "MPEG PES stream type", proto_mpeg_pes, FT_UINT8, BASE_HEX);
+}
+
+void
+proto_reg_handoff_mpeg_pes(void)
+{
+ dissector_add_uint("wtap_encap", WTAP_ENCAP_MPEG, mpeg_handle);
+ heur_dissector_add("mpeg", dissect_mpeg_pes, "MPEG PES", "mpeg_pes", proto_mpeg_pes, HEURISTIC_ENABLE);
+
+ dissector_add_uint("mpeg-pes.stream", 0x1B, find_dissector_add_dependency("h264_bytestream", proto_mpeg_pes));
+ dissector_add_uint("mpeg-pes.stream", 0x24, find_dissector_add_dependency("h265_bytestream", proto_mpeg_pes));
+}
diff --git a/epan/dissectors/asn1/mudurl/CMakeLists.txt b/epan/dissectors/asn1/mudurl/CMakeLists.txt
new file mode 100644
index 00000000..7032ae31
--- /dev/null
+++ b/epan/dissectors/asn1/mudurl/CMakeLists.txt
@@ -0,0 +1,38 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME mudurl )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ MUDURL.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/mudurl/MUDURL.asn b/epan/dissectors/asn1/mudurl/MUDURL.asn
new file mode 100644
index 00000000..34a06b60
--- /dev/null
+++ b/epan/dissectors/asn1/mudurl/MUDURL.asn
@@ -0,0 +1,64 @@
+-- Taken originally from draft-ietf-opsawg-mud.
+--
+-- Copyright (c) 2016 IETF Trust and Eliot Lear
+-- All Rights Reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions
+-- are met:
+--
+-- o Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+-- o Redistributions in binary form must reproduce the above
+-- copyright notice, this list of conditions and the following
+-- disclaimer in the documentation and/or other materials provided
+-- with the distribution.
+-- o Neither the name of Internet Society, IETF or IETF Trust, nor
+-- the names of specific contributors, may be used to endorse or
+-- promote products derived from this software without specific prior
+-- written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+-- “AS IS†AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+-- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+-- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+-- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+-- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+-- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+-- OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+MUDURLExtnModule-2016 { iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-mudURLExtn2016(88) }
+
+DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- EXPORTS ALL --
+
+-- EXTENSION is modified. It would normally be taken from PKIX1Explicit-2009.
+-- For reasons passing my understanding, id-pe is already understood.
+
+IMPORTS
+ EXTENSION
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3}
+ id-pe
+ FROM PKIX1Explicit-2009
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-pkix1-explicit-02(51) };
+
+ MUDCertExtensions EXTENSION ::= { ext-MUDURL, ... }
+ ext-MUDURL EXTENSION ::= { SYNTAX MUDURLSyntax
+ IDENTIFIED BY id-pe-mud-url }
+
+ id-pe-mud-url OBJECT IDENTIFIER ::= { id-pe 25 }
+
+ MUDURLSyntax ::= IA5String
+
+ END
diff --git a/epan/dissectors/asn1/mudurl/mudurl.cnf b/epan/dissectors/asn1/mudurl/mudurl.cnf
new file mode 100644
index 00000000..fe492922
--- /dev/null
+++ b/epan/dissectors/asn1/mudurl/mudurl.cnf
@@ -0,0 +1,18 @@
+# mudurl.cnf
+# mudurl conformation file
+
+#.INCLUDE ../x509af/x509af-exp.cnf
+
+#.MODULE_IMPORT
+EXTENSION x509af
+
+#.EXPORTS
+
+#.REGISTER
+MUDURLSyntax B "1.3.6.1.5.5.7.1.25" "id-pe-mud-url"
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
diff --git a/epan/dissectors/asn1/mudurl/packet-mudurl-template.c b/epan/dissectors/asn1/mudurl/packet-mudurl-template.c
new file mode 100644
index 00000000..1861a39c
--- /dev/null
+++ b/epan/dissectors/asn1/mudurl/packet-mudurl-template.c
@@ -0,0 +1,67 @@
+/* packet-mudurl-template.c
+ * Routines for mudurl found in draft-ietf-opsawg-mud
+ * by Eliot Lear
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+/* #include "packet-mudurl.h" */ // At the moment we are not exporting.
+#include "packet-x509af.h"
+
+#define PNAME "MUDURL"
+#define PSNAME "MUDURL"
+#define PFNAME "mudurl"
+
+void proto_register_mudurl(void);
+void proto_reg_handoff_mudurl(void);
+
+
+/* Initialize the protocol and registered fields */
+static int proto_mudurl = -1;
+#include "packet-mudurl-hf.c"
+
+/* Initialize the subtree pointers */
+/* #include "packet-mudurl-ett.c" */
+
+// static const char *object_identifier_id;
+
+#include "packet-mudurl-fn.c"
+
+
+/*--- proto_register_mudurl ----------------------------------------------*/
+void proto_register_mudurl(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-mudurl-hfarr.c"
+ };
+
+ /* List of subtrees */
+ /* static gint *ett[] = {
+#include "packet-mudurl-ettarr.c"
+ }; */
+
+ /* Register protocol */
+ proto_mudurl = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_mudurl, hf, array_length(hf));
+ // proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_mudurl -------------------------------------------*/
+void proto_reg_handoff_mudurl(void) {
+#include "packet-mudurl-dis-tab.c"
+}
diff --git a/epan/dissectors/asn1/nbap/CMakeLists.txt b/epan/dissectors/asn1/nbap/CMakeLists.txt
new file mode 100644
index 00000000..3b6e39c3
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME nbap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ NBAP-CommonDataTypes.asn
+ NBAP-Constants.asn
+ NBAP-Containers.asn
+ NBAP-IEs.asn
+ NBAP-PDU-Contents.asn
+ NBAP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/nbap/NBAP-CommonDataTypes.asn b/epan/dissectors/asn1/nbap/NBAP-CommonDataTypes.asn
new file mode 100644
index 00000000..35a439bc
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/NBAP-CommonDataTypes.asn
@@ -0,0 +1,64 @@
+-- Taken from 3GPP TS 25.433 V9.4.0 (2010-09)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.433/
+
+-- 9.3.5 Common Definitions
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+NBAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) nbap (2) version1 (1) nbap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+MessageDiscriminator ::= ENUMERATED { common, dedicated }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0..maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProcedureID ::= SEQUENCE {
+ procedureCode ProcedureCode,
+ ddMode ENUMERATED { tdd, fdd, common, ... }
+}
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+TransactionID ::= CHOICE {
+ shortTransActionId INTEGER (0..127),
+ longTransActionId INTEGER (0..32767)
+}
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
+
+END
+
diff --git a/epan/dissectors/asn1/nbap/NBAP-Constants.asn b/epan/dissectors/asn1/nbap/NBAP-Constants.asn
new file mode 100644
index 00000000..2133bbc5
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/NBAP-Constants.asn
@@ -0,0 +1,1575 @@
+-- NBAP-Constants.asn
+--
+-- Taken from 3GPP TS 25.433 V9.4.0 (2010-09)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.433/
+---
+-- 9.3.6 Constant Definitions
+--
+
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+NBAP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) nbap (2) version1 (1) nbap-Constants (4)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM NBAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-audit ProcedureCode ::= 0
+id-auditRequired ProcedureCode ::= 1
+id-blockResource ProcedureCode ::= 2
+id-cellDeletion ProcedureCode ::= 3
+id-cellReconfiguration ProcedureCode ::= 4
+id-cellSetup ProcedureCode ::= 5
+id-cellSynchronisationInitiation ProcedureCode ::= 45
+id-cellSynchronisationReconfiguration ProcedureCode ::= 46
+id-cellSynchronisationReporting ProcedureCode ::= 47
+id-cellSynchronisationTermination ProcedureCode ::= 48
+id-cellSynchronisationFailure ProcedureCode ::= 49
+id-commonMeasurementFailure ProcedureCode ::= 6
+id-commonMeasurementInitiation ProcedureCode ::= 7
+id-commonMeasurementReport ProcedureCode ::= 8
+id-commonMeasurementTermination ProcedureCode ::= 9
+id-commonTransportChannelDelete ProcedureCode ::= 10
+id-commonTransportChannelReconfigure ProcedureCode ::= 11
+id-commonTransportChannelSetup ProcedureCode ::= 12
+id-compressedModeCommand ProcedureCode ::= 14
+id-dedicatedMeasurementFailure ProcedureCode ::= 16
+id-dedicatedMeasurementInitiation ProcedureCode ::= 17
+id-dedicatedMeasurementReport ProcedureCode ::= 18
+id-dedicatedMeasurementTermination ProcedureCode ::= 19
+id-downlinkPowerControl ProcedureCode ::= 20
+id-downlinkPowerTimeslotControl ProcedureCode ::= 38
+id-errorIndicationForCommon ProcedureCode ::= 35
+id-errorIndicationForDedicated ProcedureCode ::= 21
+id-informationExchangeFailure ProcedureCode ::= 40
+id-informationExchangeInitiation ProcedureCode ::= 41
+id-informationExchangeTermination ProcedureCode ::= 42
+id-informationReporting ProcedureCode ::= 43
+id-BearerRearrangement ProcedureCode ::= 50
+id-mBMSNotificationUpdate ProcedureCode ::= 53
+id-physicalSharedChannelReconfiguration ProcedureCode ::= 37
+id-privateMessageForCommon ProcedureCode ::= 36
+id-privateMessageForDedicated ProcedureCode ::= 22
+id-radioLinkAddition ProcedureCode ::= 23
+id-radioLinkDeletion ProcedureCode ::= 24
+id-radioLinkFailure ProcedureCode ::= 25
+id-radioLinkPreemption ProcedureCode ::= 39
+id-radioLinkRestoration ProcedureCode ::= 26
+id-radioLinkSetup ProcedureCode ::= 27
+id-reset ProcedureCode ::= 13
+id-resourceStatusIndication ProcedureCode ::= 28
+id-cellSynchronisationAdjustment ProcedureCode ::= 44
+id-synchronisedRadioLinkReconfigurationCancellation ProcedureCode ::= 29
+id-synchronisedRadioLinkReconfigurationCommit ProcedureCode ::= 30
+id-synchronisedRadioLinkReconfigurationPreparation ProcedureCode ::= 31
+id-systemInformationUpdate ProcedureCode ::= 32
+id-unblockResource ProcedureCode ::= 33
+id-unSynchronisedRadioLinkReconfiguration ProcedureCode ::= 34
+id-radioLinkActivation ProcedureCode ::= 51
+id-radioLinkParameterUpdate ProcedureCode ::= 52
+id-uEStatusUpdate ProcedureCode ::= 54
+id-secondaryULFrequencyReporting ProcedureCode ::= 55
+id-secondaryULFrequencyUpdate ProcedureCode ::= 56
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxNrOfCodes INTEGER ::= 10
+maxNrOfDLTSs INTEGER ::= 15
+maxNrOfDLTSLCRs INTEGER ::= 6
+maxNrOfErrors INTEGER ::= 256
+maxNrOfTFs INTEGER ::= 32
+maxNrOfTFCs INTEGER ::= 1024
+maxNrOfRLs INTEGER ::= 16
+maxNrOfRLs-1 INTEGER ::= 15 -- maxNrOfRLs - 1
+maxNrOfRLs-2 INTEGER ::= 14 -- maxNrOfRLs - 2
+maxNrOfRLSets INTEGER ::= maxNrOfRLs
+maxNrOfDPCHs INTEGER ::= 240
+maxNrOfDPCHsPerRL-1 INTEGER ::= 239 -- maxNrofCCTrCH*maxNrOfULTSs-1
+maxNrOfDPCHLCRs INTEGER ::= 240
+maxNrOfDPCHsLCRPerRL-1 INTEGER ::= 95 -- maxNrofCCTrCH*maxNrOfULTSLCRs-1
+maxNrOfDPCHs768 INTEGER ::= 480
+maxNrOfDPCHs768PerRL-1 INTEGER ::= 479
+maxNrOfSCCPCHs INTEGER ::= 8
+maxNrOfSCCPCHsinExt INTEGER ::= 232
+maxNrOfSCCPCHs768 INTEGER ::= 480
+maxNrOfDCHs INTEGER ::= 128
+maxNrOfDSCHs INTEGER ::= 32
+maxNrOfFACHs INTEGER ::= 8
+maxNrOfCCTrCHs INTEGER ::= 16
+maxNrOfPDSCHs INTEGER ::= 256
+maxNrOfHSPDSCHs INTEGER ::= 16
+maxNrOfHSPDSCHs768 INTEGER ::= 32
+maxNrOfPUSCHs INTEGER ::= 256
+maxNrOfPUSCHs-1 INTEGER ::= 255
+maxNrOfPDSCHSets INTEGER ::= 256
+maxNrOfPRACHLCRs INTEGER ::= 8
+maxNrOfPUSCHSets INTEGER ::= 256
+maxNrOfSCCPCHLCRs INTEGER ::= 8
+maxNrOfSCCPCHsLCRinExt INTEGER ::= 88
+maxNrOfULTSs INTEGER ::= 15
+maxNrOfULTSLCRs INTEGER ::= 6
+maxNrOfUSCHs INTEGER ::= 32
+maxNrOfSlotFormatsPRACH INTEGER ::= 8
+maxCellinNodeB INTEGER ::= 256
+maxCCPinNodeB INTEGER ::= 256
+maxCTFC INTEGER ::= 16777215
+maxLocalCellinNodeB INTEGER ::= maxCellinNodeB
+maxFPACHCell INTEGER ::= 8
+maxRACHCell INTEGER ::= maxPRACHCell
+maxPLCCHCell INTEGER ::= 16
+maxPRACHCell INTEGER ::= 16
+maxSCCPCHCell INTEGER ::= 32
+maxSCCPCHCellinExt INTEGER ::= 208 -- maxNrOfSCCPCHs + maxNrOfSCCPCHsinExt - maxSCCPCHCell
+maxSCCPCHCellinExtLCR INTEGER ::= 64 -- maxNrOfSCCPCHLCRs + maxNrOfSCCPCHsLCRinExt - maxSCCPCHCell
+maxSCCPCHCell768 INTEGER ::= 480
+maxSCPICHCell INTEGER ::= 32
+maxTTI-count INTEGER ::= 4
+maxIBSEG INTEGER ::= 16
+maxIB INTEGER ::= 64
+maxFACHCell INTEGER ::= 256 -- maxNrOfFACHs * maxSCCPCHCell
+maxRateMatching INTEGER ::= 256
+maxHS-PDSCHCodeNrComp-1 INTEGER ::= 15
+maxHS-SCCHCodeNrComp-1 INTEGER ::= 127
+maxNrOfCellSyncBursts INTEGER ::= 10
+maxNrOfReceptsPerSyncFrame INTEGER ::= 16
+maxNrOfMeasNCell INTEGER ::= 96
+maxNrOfMeasNCell-1 INTEGER ::= 95 -- maxNrOfMeasNCell - 1
+maxNrOfSF INTEGER ::= 8
+maxTGPS INTEGER ::= 6
+maxCommunicationContext INTEGER ::= 1048575
+maxNrOfLevels INTEGER ::= 256
+maxNoSat INTEGER ::= 16
+maxNoGPSItems INTEGER ::= 8
+maxNrOfHSSCCHs INTEGER ::= 32
+maxNrOfHSSICHs INTEGER ::= 4
+maxNrOfHSSICHs-1 INTEGER ::= 3
+maxNrOfSyncFramesLCR INTEGER ::= 512
+maxNrOfReceptionsperSyncFrameLCR INTEGER ::= 8
+maxNrOfSyncDLCodesLCR INTEGER ::= 32
+maxNrOfHSSCCHCodes INTEGER ::= 4
+maxNrOfMACdFlows INTEGER ::= 8
+maxNrOfMACdFlows-1 INTEGER ::= 7 -- maxNrOfMACdFlows - 1
+maxNrOfMACdPDUIndexes INTEGER ::= 8
+maxNrOfMACdPDUIndexes-1 INTEGER ::= 7 -- maxNoOfMACdPDUIndexes - 1
+maxNrOfMACdPDUSize INTEGER ::= 32
+maxNrOfNIs INTEGER ::= 256
+maxNrOfPriorityQueues INTEGER ::= 8
+maxNrOfPriorityQueues-1 INTEGER ::= 7 -- maxNoOfPriorityQueues - 1
+maxNrOfHARQProcesses INTEGER ::= 8
+maxNrOfContextsOnUeList INTEGER ::= 16
+maxNrOfCellPortionsPerCell INTEGER ::= 64
+maxNrOfCellPortionsPerCell-1 INTEGER ::= 63
+maxNrOfPriorityClasses INTEGER ::= 16
+maxNrOfSatAlmanac-maxNoSat INTEGER ::= 16 -- maxNrofSatAlmanac - maxNoSat
+maxNrOfE-AGCHs INTEGER ::= 32
+maxNrOfEDCHMACdFlows INTEGER ::= 8
+maxNrOfEDCHMACdFlows-1 INTEGER ::= 7
+maxNrOfE-RGCHs-E-HICHs INTEGER ::= 32
+maxNrOfEDCH-HARQ-PO-QUANTSTEPs INTEGER ::= 6
+maxNrOfEDCHHARQProcesses2msEDCH INTEGER ::= 8
+maxNrOfEDPCCH-PO-QUANTSTEPs INTEGER ::= 8
+maxNrOfBits-MACe-PDU-non-scheduled INTEGER ::= 19982
+maxNrOfRefETFCIs INTEGER ::= 8
+maxNrOfRefETFCI-PO-QUANTSTEPs INTEGER ::= 29
+maxNrofSigSeqRGHI-1 INTEGER ::= 39
+maxNoOfLogicalChannels INTEGER ::= 16 -- only maximum 15 can be used
+maxNrOfCombEDPDCH INTEGER ::= 12
+maxE-RUCCHCell INTEGER ::= 16
+maxNrOfEAGCHCodes INTEGER ::= 4
+maxNrOfRefBetas INTEGER ::= 8
+maxNrOfE-PUCHSlots INTEGER ::= 13
+maxNrOfEAGCHs INTEGER ::= 32
+maxNrOfHS-DSCH-TBSs-HS-SCCHless INTEGER ::= 4
+maxNrOfHS-DSCH-TBSs INTEGER ::= 90
+maxNrOfEHICHCodes INTEGER ::= 4
+maxNrOfE-PUCHSlotsLCR INTEGER ::= 5
+maxNrOfEPUCHcodes INTEGER ::= 16
+maxNrOfEHICHs INTEGER ::= 32
+maxNrOfCommonMACFlows INTEGER ::= 8
+maxNrOfCommonMACFlows-1 INTEGER ::= 7
+maxNrOfPagingMACFlow INTEGER ::= 4
+maxNrOfPagingMACFlow-1 INTEGER ::= 3
+maxNrOfcommonMACQueues INTEGER ::= 8
+maxNrOfpagingMACQueues INTEGER ::= 8
+maxNrOfHS-DSCHTBSsE-PCH INTEGER ::= 2
+maxGANSSSat INTEGER ::= 64
+maxNoGANSS INTEGER ::= 8
+maxSgnType INTEGER ::= 8
+maxFrequencyinCell INTEGER ::= 12
+maxFrequencyinCell-1 INTEGER ::= 11
+maxHSDPAFrequency INTEGER ::= 8
+maxHSDPAFrequency-1 INTEGER ::= 7
+maxNrOfHSSCCHsinExt INTEGER ::= 224
+maxGANSSSatAlmanac INTEGER ::= 36
+maxGANSSClockMod INTEGER ::= 4
+maxNrOfEDCHRLs INTEGER ::= 4
+maxERNTItoRelease INTEGER ::= 256
+maxNrOfCommonEDCH INTEGER ::= 32
+maxNrOfCommonMACFlowsLCR INTEGER ::= 256
+maxNrOfCommonMACFlowsLCR-1 INTEGER ::= 255
+maxNrOfHSSCCHsLCR INTEGER ::= 256
+maxNrOfEDCHMACdFlowsLCR INTEGER ::= 256
+maxNrOfEDCHMACdFlowsLCR-1 INTEGER ::= 255
+maxNrOfEAGCHsLCR INTEGER ::= 256
+maxNrOfEHICHsLCR INTEGER ::= 256
+maxnrofERUCCHsLCR INTEGER ::= 32
+maxNrOfHSDSCH-1 INTEGER ::= 32
+maxNrOfHSDSCH INTEGER ::= 33
+maxGANSS-1 INTEGER ::= 7
+maxNoOfTBSs-Mapping-HS-DSCH-SPS INTEGER ::= 4
+maxNoOfTBSs-Mapping-HS-DSCH-SPS-1 INTEGER ::= 3
+maxNoOfHS-DSCH-TBSsLCR INTEGER ::= 64
+maxNoOfRepetition-Period-LCR INTEGER ::= 4
+maxNoOfRepetitionPeriod-SPS-LCR-1 INTEGER ::= 3
+maxNoOf-HS-SICH-SPS INTEGER ::= 4
+maxNoOf-HS-SICH-SPS-1 INTEGER ::= 3
+maxNoOfNon-HS-SCCH-Assosiated-HS-SICH INTEGER ::= 4
+maxNoOfNon-HS-SCCH-Assosiated-HS-SICH-Ext INTEGER ::= 44
+maxMBMSServiceSelect INTEGER ::= 256
+maxNrOfCellPortionsPerCellLCR INTEGER ::= 256
+maxNrOfCellPortionsPerCellLCR-1 INTEGER ::= 255
+maxNrOfEDCH-1 INTEGER ::= 32
+maxNoOfCommonH-RNTI INTEGER ::= 256
+maxNrOfCommonMACFlowsLCRExt INTEGER ::= 248
+-- maxNrOfCommonMACFlowsLCR-maxNrOfCommonMACFlows
+maxofERNTI INTEGER ::= 256
+maxNrOfDCHMeasurementOccasionPatternSequence INTEGER ::= 6
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-AICH-Information ProtocolIE-ID ::= 0
+id-AICH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 1
+id-BCH-Information ProtocolIE-ID ::= 7
+id-BCH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 8
+id-BCCH-ModificationTime ProtocolIE-ID ::= 9
+id-BlockingPriorityIndicator ProtocolIE-ID ::= 10
+id-Cause ProtocolIE-ID ::= 13
+id-CCP-InformationItem-AuditRsp ProtocolIE-ID ::= 14
+id-CCP-InformationList-AuditRsp ProtocolIE-ID ::= 15
+id-CCP-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 16
+id-Cell-InformationItem-AuditRsp ProtocolIE-ID ::= 17
+id-Cell-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 18
+id-Cell-InformationList-AuditRsp ProtocolIE-ID ::= 19
+id-CellParameterID ProtocolIE-ID ::= 23
+id-CFN ProtocolIE-ID ::= 24
+id-C-ID ProtocolIE-ID ::= 25
+-- WS extension to fill the range
+id-Unknown-38 ProtocolIE-ID ::= 38
+id-CommonMeasurementAccuracy ProtocolIE-ID ::= 39
+id-CommonMeasurementObjectType-CM-Rprt ProtocolIE-ID ::= 31
+id-CommonMeasurementObjectType-CM-Rqst ProtocolIE-ID ::= 32
+id-CommonMeasurementObjectType-CM-Rsp ProtocolIE-ID ::= 33
+id-CommonMeasurementType ProtocolIE-ID ::= 34
+id-CommonPhysicalChannelID ProtocolIE-ID ::= 35
+id-CommonPhysicalChannelType-CTCH-SetupRqstFDD ProtocolIE-ID ::= 36
+id-CommonPhysicalChannelType-CTCH-SetupRqstTDD ProtocolIE-ID ::= 37
+id-CommunicationControlPortID ProtocolIE-ID ::= 40
+id-ConfigurationGenerationID ProtocolIE-ID ::= 43
+id-CRNC-CommunicationContextID ProtocolIE-ID ::= 44
+id-CriticalityDiagnostics ProtocolIE-ID ::= 45
+id-DCHs-to-Add-FDD ProtocolIE-ID ::= 48
+id-DCH-AddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 49
+id-DCHs-to-Add-TDD ProtocolIE-ID ::= 50
+id-DCH-DeleteList-RL-ReconfPrepFDD ProtocolIE-ID ::= 52
+id-DCH-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 53
+id-DCH-DeleteList-RL-ReconfRqstFDD ProtocolIE-ID ::= 54
+id-DCH-DeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 55
+id-DCH-FDD-Information ProtocolIE-ID ::= 56
+id-DCH-TDD-Information ProtocolIE-ID ::= 57
+id-DCH-InformationResponse ProtocolIE-ID ::= 59
+-- WS extension to fill the range
+id-Unknown-60 ProtocolIE-ID ::= 60
+id-Unknown-61 ProtocolIE-ID ::= 61
+id-FDD-DCHs-to-Modify ProtocolIE-ID ::= 62
+id-TDD-DCHs-to-Modify ProtocolIE-ID ::= 63
+id-DCH-ModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 65
+id-DCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 135
+id-DedicatedMeasurementObjectType-DM-Rprt ProtocolIE-ID ::= 67
+id-DedicatedMeasurementObjectType-DM-Rqst ProtocolIE-ID ::= 68
+id-DedicatedMeasurementObjectType-DM-Rsp ProtocolIE-ID ::= 69
+id-DedicatedMeasurementType ProtocolIE-ID ::= 70
+-- WS extension to fill the range
+id-Unknown-71 ProtocolIE-ID ::= 71
+id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD ProtocolIE-ID ::= 72
+id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD ProtocolIE-ID ::= 73
+id-DL-CCTrCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 76
+-- WS extension to fill the range
+id-Unknown-75 ProtocolIE-ID ::= 75
+id-DL-DPCH-InformationItem-RL-AdditionRqstTDD ProtocolIE-ID ::= 77
+id-DL-DPCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 79
+-- WS extension to fill the range
+id-Unknown-80 ProtocolIE-ID ::= 80
+id-DL-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 81
+id-DL-DPCH-Information-RL-ReconfRqstFDD ProtocolIE-ID ::= 82
+id-DL-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 83
+id-DL-DPCH-TimingAdjustment ProtocolIE-ID ::= 21
+id-DL-ReferencePowerInformationItem-DL-PC-Rqst ProtocolIE-ID ::= 84
+id-DLReferencePower ProtocolIE-ID ::= 85
+id-DLReferencePowerList-DL-PC-Rqst ProtocolIE-ID ::= 86
+id-Unused-ProtocolIE-ID-87 ProtocolIE-ID ::= 87
+-- WS extension to fill the range
+id-Unknown-88 ProtocolIE-ID ::= 88
+id-Unused-ProtocolIE-ID-89 ProtocolIE-ID ::= 89
+id-Unused-ProtocolIE-ID-91 ProtocolIE-ID ::= 91
+-- WS extension to fill the range
+id-Unknown-92 ProtocolIE-ID ::= 92
+id-Unused-ProtocolIE-ID-93 ProtocolIE-ID ::= 93
+-- WS extension to fill the range
+id-Unknown-95 ProtocolIE-ID ::= 95
+id-DSCHs-to-Add-TDD ProtocolIE-ID ::= 96
+id-DSCH-Information-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 98
+id-DSCH-Information-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 100
+id-DSCH-InformationResponse ProtocolIE-ID ::= 105
+id-Unused-ProtocolIE-ID-106 ProtocolIE-ID ::= 106
+id-DSCH-TDD-Information ProtocolIE-ID ::= 107
+id-Unused-ProtocolIE-ID-108 ProtocolIE-ID ::= 108
+-- WS extension to fill the range
+id-Unknown-109 ProtocolIE-ID ::= 109
+id-Unused-ProtocolIE-ID-112 ProtocolIE-ID ::= 112
+id-DSCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 136
+id-End-Of-Audit-Sequence-Indicator ProtocolIE-ID ::= 113
+id-FACH-Information ProtocolIE-ID ::= 116
+id-FACH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 117
+-- WS extension to fill the range
+id-Unknown-118 ProtocolIE-ID ::= 118
+id-FACH-ParametersList-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 120
+id-FACH-ParametersListIE-CTCH-SetupRqstFDD ProtocolIE-ID ::= 121
+id-FACH-ParametersListIE-CTCH-SetupRqstTDD ProtocolIE-ID ::= 122
+id-IndicationType-ResourceStatusInd ProtocolIE-ID ::= 123
+id-Local-Cell-ID ProtocolIE-ID ::= 124
+id-Local-Cell-Group-InformationItem-AuditRsp ProtocolIE-ID ::= 2
+id-Local-Cell-Group-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 3
+id-Local-Cell-Group-InformationItem2-ResourceStatusInd ProtocolIE-ID ::= 4
+id-Local-Cell-Group-InformationList-AuditRsp ProtocolIE-ID ::= 5
+id-Local-Cell-InformationItem-AuditRsp ProtocolIE-ID ::= 125
+id-Local-Cell-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 126
+id-Local-Cell-InformationItem2-ResourceStatusInd ProtocolIE-ID ::= 127
+id-Local-Cell-InformationList-AuditRsp ProtocolIE-ID ::= 128
+id-AdjustmentPeriod ProtocolIE-ID ::= 129
+id-MaxAdjustmentStep ProtocolIE-ID ::= 130
+id-MaximumTransmissionPower ProtocolIE-ID ::= 131
+id-MeasurementFilterCoefficient ProtocolIE-ID ::= 132
+id-MeasurementID ProtocolIE-ID ::= 133
+id-MessageStructure ProtocolIE-ID ::= 115
+id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst ProtocolIE-ID ::= 134
+-- WS extension to fill the range
+id-Unknown-137 ProtocolIE-ID ::= 137
+id-Unknown-140 ProtocolIE-ID ::= 140
+id-NodeB-CommunicationContextID ProtocolIE-ID ::= 143
+id-NeighbouringCellMeasurementInformation ProtocolIE-ID ::= 455
+id-P-CCPCH-Information ProtocolIE-ID ::= 144
+id-P-CCPCH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 145
+id-P-CPICH-Information ProtocolIE-ID ::= 146
+id-P-CPICH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 147
+id-P-SCH-Information ProtocolIE-ID ::= 148
+-- WS extension to fill the range
+id-Unknown-149 ProtocolIE-ID ::= 149
+id-PCCPCH-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 150
+id-PCCPCH-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 151
+-- WS extension to fill the range
+id-Unknown-152 ProtocolIE-ID ::= 152
+id-Unknown-153 ProtocolIE-ID ::= 153
+id-PCH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 155
+id-PCH-ParametersItem-CTCH-SetupRqstFDD ProtocolIE-ID ::= 156
+id-PCH-ParametersItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 157
+id-PCH-Information ProtocolIE-ID ::= 158
+-- WS extension to fill the range
+id-Unknown-159 ProtocolIE-ID ::= 159
+id-Unknown-160 ProtocolIE-ID ::= 160
+id-PDSCH-Information-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 161
+id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 162
+id-PDSCHSets-AddList-PSCH-ReconfRqst ProtocolIE-ID ::= 163
+id-PDSCHSets-DeleteList-PSCH-ReconfRqst ProtocolIE-ID ::= 164
+id-PDSCHSets-ModifyList-PSCH-ReconfRqst ProtocolIE-ID ::= 165
+id-PICH-Information ProtocolIE-ID ::= 166
+id-PICH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 168
+id-PowerAdjustmentType ProtocolIE-ID ::= 169
+id-PRACH-Information ProtocolIE-ID ::= 170
+-- WS extension to fill the range
+id-Unknown-171 ProtocolIE-ID ::= 171
+id-Unknown-172 ProtocolIE-ID ::= 172
+id-Unknown-173 ProtocolIE-ID ::= 173
+id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 175
+id-PrimaryCCPCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 176
+id-PrimaryCPICH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 177
+id-PrimaryCPICH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 178
+id-PrimarySCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 179
+id-PrimarySCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 180
+id-PrimaryScramblingCode ProtocolIE-ID ::= 181
+-- WS extension to fill the range
+id-Unknown-182 ProtocolIE-ID ::= 182
+id-SCH-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 183
+id-SCH-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 184
+id-PUSCH-Information-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 185
+id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 186
+id-PUSCHSets-AddList-PSCH-ReconfRqst ProtocolIE-ID ::= 187
+id-PUSCHSets-DeleteList-PSCH-ReconfRqst ProtocolIE-ID ::= 188
+id-PUSCHSets-ModifyList-PSCH-ReconfRqst ProtocolIE-ID ::= 189
+id-RACH-Information ProtocolIE-ID ::= 190
+-- WS extension to fill the range
+id-Unknown-191 ProtocolIE-ID ::= 191
+id-Unknown-192 ProtocolIE-ID ::= 192
+id-Unknown-193 ProtocolIE-ID ::= 193
+id-Unknown-194 ProtocolIE-ID ::= 194
+id-Unknown-195 ProtocolIE-ID ::= 195
+id-RACH-ParametersItem-CTCH-SetupRqstFDD ProtocolIE-ID ::= 196
+id-RACH-ParameterItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 197
+id-ReportCharacteristics ProtocolIE-ID ::= 198
+id-Reporting-Object-RL-FailureInd ProtocolIE-ID ::= 199
+id-Reporting-Object-RL-RestoreInd ProtocolIE-ID ::= 200
+-- WS extension to fill the range
+id-Unknown-201 ProtocolIE-ID ::= 201
+id-RL-InformationItem-DM-Rprt ProtocolIE-ID ::= 202
+id-RL-InformationItem-DM-Rqst ProtocolIE-ID ::= 203
+id-RL-InformationItem-DM-Rsp ProtocolIE-ID ::= 204
+id-RL-InformationItem-RL-AdditionRqstFDD ProtocolIE-ID ::= 205
+id-RL-informationItem-RL-DeletionRqst ProtocolIE-ID ::= 206
+id-RL-InformationItem-RL-FailureInd ProtocolIE-ID ::= 207
+id-RL-InformationItem-RL-PreemptRequiredInd ProtocolIE-ID ::= 286
+id-RL-InformationItem-RL-ReconfPrepFDD ProtocolIE-ID ::= 208
+id-RL-InformationItem-RL-ReconfRqstFDD ProtocolIE-ID ::= 209
+id-RL-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 210
+id-RL-InformationItem-RL-SetupRqstFDD ProtocolIE-ID ::= 211
+id-RL-InformationList-RL-AdditionRqstFDD ProtocolIE-ID ::= 212
+id-RL-informationList-RL-DeletionRqst ProtocolIE-ID ::= 213
+id-RL-InformationList-RL-PreemptRequiredInd ProtocolIE-ID ::= 237
+id-RL-InformationList-RL-ReconfPrepFDD ProtocolIE-ID ::= 214
+id-RL-InformationList-RL-ReconfRqstFDD ProtocolIE-ID ::= 215
+id-RL-InformationList-RL-SetupRqstFDD ProtocolIE-ID ::= 216
+id-RL-InformationResponseItem-RL-AdditionRspFDD ProtocolIE-ID ::= 217
+id-RL-InformationResponseItem-RL-ReconfReady ProtocolIE-ID ::= 218
+id-RL-InformationResponseItem-RL-ReconfRsp ProtocolIE-ID ::= 219
+id-RL-InformationResponseItem-RL-SetupRspFDD ProtocolIE-ID ::= 220
+id-RL-InformationResponseList-RL-AdditionRspFDD ProtocolIE-ID ::= 221
+id-RL-InformationResponseList-RL-ReconfReady ProtocolIE-ID ::= 222
+id-RL-InformationResponseList-RL-ReconfRsp ProtocolIE-ID ::= 223
+id-RL-InformationResponseList-RL-SetupRspFDD ProtocolIE-ID ::= 224
+id-RL-InformationResponse-RL-AdditionRspTDD ProtocolIE-ID ::= 225
+id-RL-InformationResponse-RL-SetupRspTDD ProtocolIE-ID ::= 226
+id-RL-Information-RL-AdditionRqstTDD ProtocolIE-ID ::= 227
+id-RL-Information-RL-ReconfRqstTDD ProtocolIE-ID ::= 228
+id-RL-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 229
+id-RL-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 230
+id-RL-ReconfigurationFailureItem-RL-ReconfFailure ProtocolIE-ID ::= 236
+id-RL-Set-InformationItem-DM-Rprt ProtocolIE-ID ::= 238
+-- WS extension to fill the range
+id-Unknown-239 ProtocolIE-ID ::= 239
+id-RL-Set-InformationItem-DM-Rsp ProtocolIE-ID ::= 240
+id-RL-Set-InformationItem-RL-FailureInd ProtocolIE-ID ::= 241
+id-RL-Set-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 242
+-- WS extension to fill the range
+id-Unknown-243 ProtocolIE-ID ::= 243
+id-Unknown-244 ProtocolIE-ID ::= 244
+id-Unknown-245 ProtocolIE-ID ::= 245
+id-Unknown-246 ProtocolIE-ID ::= 246
+id-S-CCPCH-Information ProtocolIE-ID ::= 247
+-- WS extension to fill the range
+id-Unknown-248 ProtocolIE-ID ::= 248
+id-S-CPICH-Information ProtocolIE-ID ::= 249
+-- WS extension to fill the range
+id-Unknown-250 ProtocolIE-ID ::= 250
+id-SCH-Information ProtocolIE-ID ::= 251
+-- WS extension to fill the range
+id-Unknown-252 ProtocolIE-ID ::= 252
+id-S-SCH-Information ProtocolIE-ID ::= 253
+-- WS extension to fill the range
+id-Unknown-254 ProtocolIE-ID ::= 254
+id-Unknown-255 ProtocolIE-ID ::= 255
+id-Unknown-256 ProtocolIE-ID ::= 256
+id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 257
+id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD ProtocolIE-ID ::= 258
+id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 259
+id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD ProtocolIE-ID ::= 260
+id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD ProtocolIE-ID ::= 261
+id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD ProtocolIE-ID ::= 262
+id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD ProtocolIE-ID ::= 263
+id-SecondarySCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 264
+id-SecondarySCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 265
+id-SegmentInformationListIE-SystemInfoUpdate ProtocolIE-ID ::= 266
+-- WS extension to fill the range
+id-Unknown-267 ProtocolIE-ID ::= 267
+id-SFN ProtocolIE-ID ::= 268
+id-SignallingBearerRequestIndicator ProtocolIE-ID ::= 138
+id-ShutdownTimer ProtocolIE-ID ::= 269
+id-Start-Of-Audit-Sequence-Indicator ProtocolIE-ID ::= 114
+id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD ProtocolIE-ID ::= 270
+id-Successful-RL-InformationRespItem-RL-SetupFailureFDD ProtocolIE-ID ::= 271
+-- WS extension to fill the range
+id-Unknown-272 ProtocolIE-ID ::= 272
+id-Unknown-273 ProtocolIE-ID ::= 273
+id-SyncCase ProtocolIE-ID ::= 274
+id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH ProtocolIE-ID ::= 275
+id-T-Cell ProtocolIE-ID ::= 276
+id-TargetCommunicationControlPortID ProtocolIE-ID ::= 139
+id-TimeSlotConfigurationList-Cell-ReconfRqstTDD ProtocolIE-ID ::= 277
+id-TimeSlotConfigurationList-Cell-SetupRqstTDD ProtocolIE-ID ::= 278
+id-TransmissionDiversityApplied ProtocolIE-ID ::= 279
+id-TypeOfError ProtocolIE-ID ::= 508
+id-UARFCNforNt ProtocolIE-ID ::= 280
+id-UARFCNforNd ProtocolIE-ID ::= 281
+id-UARFCNforNu ProtocolIE-ID ::= 282
+id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD ProtocolIE-ID ::= 284
+id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD ProtocolIE-ID ::= 285
+id-UL-CCTrCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 288
+id-UL-DPCH-InformationItem-RL-AdditionRqstTDD ProtocolIE-ID ::= 289
+id-UL-DPCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 291
+id-UL-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 293
+id-UL-DPCH-Information-RL-ReconfRqstFDD ProtocolIE-ID ::= 294
+id-UL-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 295
+id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD ProtocolIE-ID ::= 296
+id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD ProtocolIE-ID ::= 297
+-- WS extension to fill the range
+id-Unknown-298 ProtocolIE-ID ::= 298
+id-Unknown-299 ProtocolIE-ID ::= 299
+id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD ProtocolIE-ID ::= 300
+id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD ProtocolIE-ID ::= 301
+id-USCH-Information-Add ProtocolIE-ID ::= 302
+-- WS extension to fill the range
+id-Unknown-303 ProtocolIE-ID ::= 303
+id-USCH-Information-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 304
+-- WS extension to fill the range
+id-Unknown-305 ProtocolIE-ID ::= 305
+id-USCH-Information-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 306
+-- WS extension to fill the range
+id-Unknown-307 ProtocolIE-ID ::= 307
+id-Unknown-308 ProtocolIE-ID ::= 308
+id-USCH-InformationResponse ProtocolIE-ID ::= 309
+id-USCH-Information ProtocolIE-ID ::= 310
+id-USCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 141
+-- WS extension to fill the range
+id-Unknown-313 ProtocolIE-ID ::= 313
+id-Active-Pattern-Sequence-Information ProtocolIE-ID ::= 315
+id-AICH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 316
+id-AdjustmentRatio ProtocolIE-ID ::= 317
+-- WS extension to fill the range
+id-Unknown-318 ProtocolIE-ID ::= 318
+id-Unknown-319 ProtocolIE-ID ::= 319
+id-Not-Used-320 ProtocolIE-ID ::= 320
+-- WS extension to fill the range
+id-Unknown-321 ProtocolIE-ID ::= 321
+id-Not-Used-322 ProtocolIE-ID ::= 322
+id-FACH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 323
+id-CauseLevel-PSCH-ReconfFailure ProtocolIE-ID ::= 324
+id-CauseLevel-RL-AdditionFailureFDD ProtocolIE-ID ::= 325
+id-CauseLevel-RL-AdditionFailureTDD ProtocolIE-ID ::= 326
+id-CauseLevel-RL-ReconfFailure ProtocolIE-ID ::= 327
+id-CauseLevel-RL-SetupFailureFDD ProtocolIE-ID ::= 328
+id-CauseLevel-RL-SetupFailureTDD ProtocolIE-ID ::= 329
+id-Not-Used-330 ProtocolIE-ID ::= 330
+-- WS extension to fill the range
+id-Unknown-331 ProtocolIE-ID ::= 331
+id-Not-Used-332 ProtocolIE-ID ::= 332
+id-Closed-Loop-Timing-Adjustment-Mode ProtocolIE-ID ::= 333
+id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 334
+id-Compressed-Mode-Deactivation-Flag ProtocolIE-ID ::= 335
+id-Not-Used-336 ProtocolIE-ID ::= 336
+-- WS extension to fill the range
+id-Unknown-337 ProtocolIE-ID ::= 337
+id-Unknown-338 ProtocolIE-ID ::= 338
+id-Unknown-339 ProtocolIE-ID ::= 339
+id-Unknown-340 ProtocolIE-ID ::= 340
+id-Unknown-341 ProtocolIE-ID ::= 341
+id-Not-Used-342 ProtocolIE-ID ::= 342
+id-Not-Used-343 ProtocolIE-ID ::= 343
+-- WS extension to fill the range
+id-Unknown-344 ProtocolIE-ID ::= 344
+id-Unknown-345 ProtocolIE-ID ::= 345
+id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 346
+id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 347
+id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 348
+id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 349
+id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 350
+id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 351
+id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 352
+id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 353
+-- WS extension to fill the range
+id-Unknown-354 ProtocolIE-ID ::= 354
+id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 355
+id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 356
+id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 357
+id-DL-TPC-Pattern01Count ProtocolIE-ID ::= 358
+id-DPC-Mode ProtocolIE-ID ::= 450
+id-DPCHConstant ProtocolIE-ID ::= 359
+id-Unused-ProtocolIE-ID-94 ProtocolIE-ID ::= 94
+id-Unused-ProtocolIE-ID-110 ProtocolIE-ID ::= 110
+id-Unused-ProtocolIE-ID-111 ProtocolIE-ID ::= 111
+-- WS extension to fill the range
+id-Unknown-360 ProtocolIE-ID ::= 360
+id-Unknown-361 ProtocolIE-ID ::= 361
+id-FACH-ParametersList-CTCH-SetupRsp ProtocolIE-ID ::= 362
+-- WS extension to fill the range
+id-Unknown-363 ProtocolIE-ID ::= 363
+id-Unknown-364 ProtocolIE-ID ::= 364
+id-Unknown-365 ProtocolIE-ID ::= 365
+id-Unknown-366 ProtocolIE-ID ::= 366
+id-Unknown-367 ProtocolIE-ID ::= 367
+id-Unknown-368 ProtocolIE-ID ::= 368
+id-Limited-power-increase-information-Cell-SetupRqstFDD ProtocolIE-ID ::= 369
+-- WS extension to fill the range
+id-Unknown-370 ProtocolIE-ID ::= 370
+id-Unknown-371 ProtocolIE-ID ::= 371
+id-Unknown-372 ProtocolIE-ID ::= 372
+id-Unknown-373 ProtocolIE-ID ::= 373
+id-PCH-Parameters-CTCH-SetupRsp ProtocolIE-ID ::= 374
+id-PCH-ParametersItem-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 375
+id-Not-Used-376 ProtocolIE-ID ::= 376
+-- WS extension to fill the range
+id-Unknown-377 ProtocolIE-ID ::= 377
+id-Unknown-378 ProtocolIE-ID ::= 378
+id-Unknown-379 ProtocolIE-ID ::= 379
+id-PICH-ParametersItem-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 380
+id-PRACHConstant ProtocolIE-ID ::= 381
+-- WS extension to fill the range
+id-Unknown-382 ProtocolIE-ID ::= 382
+id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 383
+id-PUSCHConstant ProtocolIE-ID ::= 384
+id-RACH-Parameters-CTCH-SetupRsp ProtocolIE-ID ::= 385
+-- WS extension to fill the range
+id-Unknown-386 ProtocolIE-ID ::= 386
+id-Unknown-387 ProtocolIE-ID ::= 387
+id-Unknown-388 ProtocolIE-ID ::= 388
+id-Unknown-389 ProtocolIE-ID ::= 389
+id-Unknown-390 ProtocolIE-ID ::= 390
+id-Unknown-391 ProtocolIE-ID ::= 391
+id-Unknown-392 ProtocolIE-ID ::= 392
+id-Unused-ProtocolIE-ID-443 ProtocolIE-ID ::= 443
+id-Synchronisation-Configuration-Cell-ReconfRqst ProtocolIE-ID ::= 393
+id-Synchronisation-Configuration-Cell-SetupRqst ProtocolIE-ID ::= 394
+id-Transmission-Gap-Pattern-Sequence-Information ProtocolIE-ID ::= 395
+id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 396
+id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 397
+id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 398
+id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 399
+id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 400
+id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 401
+id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 402
+id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 403
+-- WS extension to fill the range
+id-Unknown-404 ProtocolIE-ID ::= 404
+id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 405
+id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 406
+id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 407
+id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD ProtocolIE-ID ::= 408
+id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD ProtocolIE-ID ::= 409
+-- WS extension to fill the range
+id-Unknown-410 ProtocolIE-ID ::= 410
+id-Unknown-411 ProtocolIE-ID ::= 411
+id-CommunicationContextInfoItem-Reset ProtocolIE-ID ::= 412
+-- WS extension to fill the range
+id-Unknown-413 ProtocolIE-ID ::= 413
+id-CommunicationControlPortInfoItem-Reset ProtocolIE-ID ::= 414
+-- WS extension to fill the range
+id-Unknown-415 ProtocolIE-ID ::= 415
+id-ResetIndicator ProtocolIE-ID ::= 416
+id-Unused-ProtocolIE-ID-417 ProtocolIE-ID ::= 417
+id-Unused-ProtocolIE-ID-418 ProtocolIE-ID ::= 418
+id-Unused-ProtocolIE-ID-419 ProtocolIE-ID ::= 419
+id-Unused-ProtocolIE-ID-142 ProtocolIE-ID ::= 142
+id-TimingAdvanceApplied ProtocolIE-ID ::= 287
+id-CFNReportingIndicator ProtocolIE-ID ::= 6
+id-SFNReportingIndicator ProtocolIE-ID ::= 11
+id-InnerLoopDLPCStatus ProtocolIE-ID ::= 12
+id-TimeslotISCPInfo ProtocolIE-ID ::= 283
+id-PICH-ParametersItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 167
+id-PRACH-ParametersItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 20
+id-CCTrCH-InformationItem-RL-FailureInd ProtocolIE-ID ::= 46
+id-CCTrCH-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 47
+id-CauseLevel-SyncAdjustmntFailureTDD ProtocolIE-ID ::= 420
+id-CellAdjustmentInfo-SyncAdjustmntRqstTDD ProtocolIE-ID ::= 421
+id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD ProtocolIE-ID ::= 494
+id-CellSyncBurstInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 482
+id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 422
+id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 423
+id-CellSyncBurstTransReconfiguration-CellSyncReconfRqstTDD ProtocolIE-ID ::= 424
+id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD ProtocolIE-ID ::= 425
+id-CellSyncBurstTransInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 426
+id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 427
+id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD ProtocolIE-ID ::= 428
+id-CellSyncInfo-CellSyncReprtTDD ProtocolIE-ID ::= 429
+id-CSBTransmissionID ProtocolIE-ID ::= 430
+id-CSBMeasurementID ProtocolIE-ID ::= 431
+id-IntStdPhCellSyncInfoItem-CellSyncReprtTDD ProtocolIE-ID ::= 432
+id-NCyclesPerSFNperiod ProtocolIE-ID ::= 433
+id-NRepetitionsPerCyclePeriod ProtocolIE-ID ::= 434
+id-SyncFrameNumber ProtocolIE-ID ::= 437
+id-SynchronisationReportType ProtocolIE-ID ::= 438
+id-SynchronisationReportCharacteristics ProtocolIE-ID ::= 439
+id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD ProtocolIE-ID ::= 440
+-- WS extension to fill the range
+id-Unknown-441 ProtocolIE-ID ::= 441
+id-Unknown-442 ProtocolIE-ID ::= 442
+id-LateEntranceCellSyncInfoItem-CellSyncReprtTDD ProtocolIE-ID ::= 119
+id-ReferenceClockAvailability ProtocolIE-ID ::= 435
+id-ReferenceSFNoffset ProtocolIE-ID ::= 436
+id-InformationExchangeID ProtocolIE-ID ::= 444
+id-InformationExchangeObjectType-InfEx-Rqst ProtocolIE-ID ::= 445
+id-InformationType ProtocolIE-ID ::= 446
+id-InformationReportCharacteristics ProtocolIE-ID ::= 447
+id-InformationExchangeObjectType-InfEx-Rsp ProtocolIE-ID ::= 448
+id-InformationExchangeObjectType-InfEx-Rprt ProtocolIE-ID ::= 449
+id-IPDLParameter-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 451
+id-IPDLParameter-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 452
+id-IPDLParameter-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 453
+id-IPDLParameter-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 454
+id-DL-DPCH-LCR-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 74
+id-DwPCH-LCR-Information ProtocolIE-ID ::= 78
+id-DwPCH-LCR-InformationList-AuditRsp ProtocolIE-ID ::= 90
+id-DwPCH-LCR-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 97
+id-DwPCH-LCR-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 99
+id-DwPCH-LCR-Information-ResourceStatusInd ProtocolIE-ID ::= 101
+id-maxFACH-Power-LCR-CTCH-SetupRqstTDD ProtocolIE-ID ::= 154
+id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 174
+id-FPACH-LCR-Information ProtocolIE-ID ::= 290
+id-FPACH-LCR-Information-AuditRsp ProtocolIE-ID ::= 292
+id-FPACH-LCR-InformationList-AuditRsp ProtocolIE-ID ::= 22
+id-FPACH-LCR-InformationList-ResourceStatusInd ProtocolIE-ID ::= 311
+id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 312
+id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 314
+id-PCCPCH-LCR-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 456
+id-PCH-Power-LCR-CTCH-SetupRqstTDD ProtocolIE-ID ::= 457
+id-PCH-Power-LCR-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 458
+id-PICH-LCR-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 459
+-- WS extension to fill the range
+id-Unknown-460 ProtocolIE-ID ::= 460
+id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD ProtocolIE-ID ::= 461
+-- WS extension to fill the range
+id-Unknown-462 ProtocolIE-ID ::= 462
+id-RL-InformationResponse-LCR-RL-SetupRspTDD ProtocolIE-ID ::= 463
+-- WS extension to fill the range
+id-Unknown-464 ProtocolIE-ID ::= 464
+id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD ProtocolIE-ID ::= 465
+id-TimeSlot ProtocolIE-ID ::= 495
+id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD ProtocolIE-ID ::= 466
+id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD ProtocolIE-ID ::= 467
+id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD ProtocolIE-ID ::= 468
+id-TimeSlotLCR-CM-Rqst ProtocolIE-ID ::= 469
+id-UL-DPCH-LCR-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 470
+-- WS extension to fill the range
+id-Unknown-471 ProtocolIE-ID ::= 471
+id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 472
+id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 473
+id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 474
+id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 475
+-- WS extension to fill the range
+id-Unknown-476 ProtocolIE-ID ::= 476
+id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 477
+-- WS extension to fill the range
+id-Unknown-478 ProtocolIE-ID ::= 478
+id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 479
+id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD ProtocolIE-ID ::= 480
+id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 481
+id-UL-DPCH-LCR-InformationModify-AddList ProtocolIE-ID ::= 483
+-- WS extension to fill the range
+id-Unknown-484 ProtocolIE-ID ::= 484
+id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 485
+id-UL-SIRTarget ProtocolIE-ID ::= 510
+id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 486
+id-PDSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 487
+id-Unused-ProtocolIE-ID-26 ProtocolIE-ID ::= 26
+id-Unused-ProtocolIE-ID-27 ProtocolIE-ID ::= 27
+id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 488
+id-PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 489
+id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 490
+id-PUSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 491
+id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 492
+id-PUSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 493
+id-timeslotInfo-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 496
+id-SyncReportType-CellSyncReprtTDD ProtocolIE-ID ::= 497
+id-Power-Local-Cell-Group-InformationItem-AuditRsp ProtocolIE-ID ::= 498
+id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 499
+id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd ProtocolIE-ID ::= 500
+id-Power-Local-Cell-Group-InformationList-AuditRsp ProtocolIE-ID ::= 501
+id-Power-Local-Cell-Group-InformationList-ResourceStatusInd ProtocolIE-ID ::= 502
+id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd ProtocolIE-ID ::= 503
+id-Power-Local-Cell-Group-ID ProtocolIE-ID ::= 504
+id-PUSCH-Info-DM-Rqst ProtocolIE-ID ::= 505
+id-PUSCH-Info-DM-Rsp ProtocolIE-ID ::= 506
+id-PUSCH-Info-DM-Rprt ProtocolIE-ID ::= 507
+id-InitDL-Power ProtocolIE-ID ::= 509
+id-cellSyncBurstRepetitionPeriod ProtocolIE-ID ::= 511
+id-ReportCharacteristicsType-OnModification ProtocolIE-ID ::= 512
+id-SFNSFNMeasurementValueInformation ProtocolIE-ID ::= 513
+id-SFNSFNMeasurementThresholdInformation ProtocolIE-ID ::= 514
+id-TUTRANGPSMeasurementValueInformation ProtocolIE-ID ::= 515
+id-TUTRANGPSMeasurementThresholdInformation ProtocolIE-ID ::= 516
+id-Rx-Timing-Deviation-Value-LCR ProtocolIE-ID ::= 520
+id-RL-InformationResponse-LCR-RL-AdditionRspTDD ProtocolIE-ID ::= 51
+id-DL-PowerBalancing-Information ProtocolIE-ID ::= 28
+id-DL-PowerBalancing-ActivationIndicator ProtocolIE-ID ::= 29
+id-DL-PowerBalancing-UpdatedIndicator ProtocolIE-ID ::= 30
+id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD ProtocolIE-ID ::= 517
+id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD ProtocolIE-ID ::= 518
+id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD ProtocolIE-ID ::= 519
+id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD ProtocolIE-ID ::= 41
+id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD ProtocolIE-ID ::= 42
+id-HS-PDSCH-HS-SCCH-E-AGCH-E-RGCH-E-HICH-MaxPower-PSCH-ReconfRqst ProtocolIE-ID ::= 522
+id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst ProtocolIE-ID ::= 523
+id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 524
+id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 525
+id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 526
+id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 527
+id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 528
+id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 529
+id-bindingID ProtocolIE-ID ::= 102
+id-RL-Specific-DCH-Info ProtocolIE-ID ::= 103
+id-transportlayeraddress ProtocolIE-ID ::= 104
+id-DelayedActivation ProtocolIE-ID ::= 231
+id-DelayedActivationList-RL-ActivationCmdFDD ProtocolIE-ID ::= 232
+id-DelayedActivationInformation-RL-ActivationCmdFDD ProtocolIE-ID ::= 233
+id-DelayedActivationList-RL-ActivationCmdTDD ProtocolIE-ID ::= 234
+id-DelayedActivationInformation-RL-ActivationCmdTDD ProtocolIE-ID ::= 235
+id-neighbouringTDDCellMeasurementInformationLCR ProtocolIE-ID ::= 58
+id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 543
+id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 544
+id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD ProtocolIE-ID ::= 545
+id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD ProtocolIE-ID ::= 546
+id-SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 547
+id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD ProtocolIE-ID ::= 548
+id-SyncDLCodeIdThreInfoLCR ProtocolIE-ID ::= 549
+id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD ProtocolIE-ID ::= 550
+id-DwPCH-Power ProtocolIE-ID ::= 551
+id-AccumulatedClockupdate-CellSyncReprtTDD ProtocolIE-ID ::= 552
+id-Angle-Of-Arrival-Value-LCR ProtocolIE-ID ::= 521
+id-HSDSCH-FDD-Information ProtocolIE-ID ::= 530
+id-HSDSCH-FDD-Information-Response ProtocolIE-ID ::= 531
+-- WS extension to fill the range
+id-Unknown-532 ProtocolIE-ID ::= 532
+id-Unknown-533 ProtocolIE-ID ::= 533
+id-HSDSCH-Information-to-Modify ProtocolIE-ID ::= 534
+id-HSDSCH-RNTI ProtocolIE-ID ::= 535
+id-HSDSCH-TDD-Information ProtocolIE-ID ::= 536
+id-HSDSCH-TDD-Information-Response ProtocolIE-ID ::= 537
+-- WS extension to fill the range
+id-Unknown-538 ProtocolIE-ID ::= 538
+id-Unknown-539 ProtocolIE-ID ::= 539
+id-Unknown-540 ProtocolIE-ID ::= 540
+id-HSPDSCH-RL-ID ProtocolIE-ID ::= 541
+id-PrimCCPCH-RSCP-DL-PC-RqstTDD ProtocolIE-ID ::= 542
+id-Unused-ProtocolIE-ID-64 ProtocolIE-ID ::= 64
+id-PDSCH-RL-ID ProtocolIE-ID ::= 66
+id-HSDSCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 553
+id-UL-Synchronisation-Parameters-LCR ProtocolIE-ID ::= 554
+id-HSDSCH-FDD-Update-Information ProtocolIE-ID ::= 555
+id-HSDSCH-TDD-Update-Information ProtocolIE-ID ::= 556
+-- WS extension to fill the range
+id-Unknown-557 ProtocolIE-ID ::= 557
+id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 558
+id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 559
+id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD ProtocolIE-ID ::= 560
+id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 561
+id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD ProtocolIE-ID ::= 562
+id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD ProtocolIE-ID ::= 563
+id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD ProtocolIE-ID ::= 564
+id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 565
+id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 566
+id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD ProtocolIE-ID ::= 567
+id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD ProtocolIE-ID ::= 568
+id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD ProtocolIE-ID ::= 569
+id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD ProtocolIE-ID ::= 570
+id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 571
+id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 572
+id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 573
+id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 574
+id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 575
+id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 576
+id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 577
+id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD ProtocolIE-ID ::= 578
+id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD ProtocolIE-ID ::= 579
+id-Initial-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 580
+id-Maximum-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 581
+id-Minimum-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 582
+id-HS-DSCHProvidedBitRateValueInformation ProtocolIE-ID ::= 583
+-- WS extension to fill the range
+id-Unknown-584 ProtocolIE-ID ::= 584
+id-HS-DSCHRequiredPowerValueInformation ProtocolIE-ID ::= 585
+id-HS-DSCHRequiredPowerValue ProtocolIE-ID ::= 586
+id-TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmission ProtocolIE-ID ::= 587
+id-HS-SICH-Reception-Quality ProtocolIE-ID ::= 588
+id-HS-SICH-Reception-Quality-Measurement-Value ProtocolIE-ID ::= 589
+id-HSSICH-Info-DM-Rprt ProtocolIE-ID ::= 590
+id-HSSICH-Info-DM-Rqst ProtocolIE-ID ::= 591
+id-HSSICH-Info-DM-Rsp ProtocolIE-ID ::= 592
+id-Best-Cell-Portions-Value ProtocolIE-ID ::= 593
+id-Primary-CPICH-Usage-for-Channel-Estimation ProtocolIE-ID ::= 594
+id-Secondary-CPICH-Information-Change ProtocolIE-ID ::= 595
+id-NumberOfReportedCellPortions ProtocolIE-ID ::= 596
+id-CellPortion-InformationItem-Cell-SetupRqstFDD ProtocolIE-ID ::= 597
+id-CellPortion-InformationList-Cell-SetupRqstFDD ProtocolIE-ID ::= 598
+id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD ProtocolIE-ID ::= 599
+id-Secondary-CPICH-Information ProtocolIE-ID ::= 600
+id-Received-total-wide-band-power-For-CellPortion ProtocolIE-ID ::= 601
+id-Unidirectional-DCH-Indicator ProtocolIE-ID ::= 602
+id-TimingAdjustmentValueLCR ProtocolIE-ID ::= 603
+id-multipleRL-dl-DPCH-InformationList ProtocolIE-ID ::= 604
+id-multipleRL-dl-DPCH-InformationModifyList ProtocolIE-ID ::= 605
+id-multipleRL-ul-DPCH-InformationList ProtocolIE-ID ::= 606
+id-multipleRL-ul-DPCH-InformationModifyList ProtocolIE-ID ::= 607
+id-RL-ID ProtocolIE-ID ::= 608
+id-SAT-Info-Almanac-ExtItem ProtocolIE-ID ::= 609
+id-HSDPA-Capability ProtocolIE-ID ::= 610
+id-HSDSCH-Resources-Information-AuditRsp ProtocolIE-ID ::= 611
+id-HSDSCH-Resources-Information-ResourceStatusInd ProtocolIE-ID ::= 612
+id-HSDSCH-MACdFlows-to-Add ProtocolIE-ID ::= 613
+id-HSDSCH-MACdFlows-to-Delete ProtocolIE-ID ::= 614
+id-HSDSCH-Information-to-Modify-Unsynchronised ProtocolIE-ID ::= 615
+id-TnlQos ProtocolIE-ID ::= 616
+id-Received-total-wide-band-power-For-CellPortion-Value ProtocolIE-ID ::= 617
+id-Transmitted-Carrier-Power-For-CellPortion ProtocolIE-ID ::= 618
+id-Transmitted-Carrier-Power-For-CellPortion-Value ProtocolIE-ID ::= 619
+id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortion ProtocolIE-ID ::= 620
+id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue ProtocolIE-ID ::= 621
+id-UpPTSInterferenceValue ProtocolIE-ID ::= 622
+id-PrimaryCCPCH-RSCP-Delta ProtocolIE-ID ::= 623
+id-MeasurementRecoveryBehavior ProtocolIE-ID ::= 624
+id-MeasurementRecoveryReportingIndicator ProtocolIE-ID ::= 625
+id-MeasurementRecoverySupportIndicator ProtocolIE-ID ::= 626
+id-Tstd-indicator ProtocolIE-ID ::= 627
+id-multiple-RL-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 628
+id-multiple-RL-Information-RL-ReconfRqstTDD ProtocolIE-ID ::= 629
+id-DL-DPCH-Power-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 630
+id-F-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 631
+id-F-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 632
+id-Additional-S-CCPCH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 633
+id-Additional-S-CCPCH-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 634
+id-Additional-S-CCPCH-LCR-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 635
+id-Additional-S-CCPCH-LCR-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 636
+id-MICH-CFN ProtocolIE-ID ::= 637
+id-MICH-Information-AuditRsp ProtocolIE-ID ::= 638
+id-MICH-Information-ResourceStatusInd ProtocolIE-ID ::= 639
+id-MICH-Parameters-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 640
+id-MICH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 641
+id-MICH-Parameters-CTCH-SetupRqstFDD ProtocolIE-ID ::= 642
+id-MICH-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 643
+id-Modification-Period ProtocolIE-ID ::= 644
+id-NI-Information-NotifUpdateCmd ProtocolIE-ID ::= 645
+id-S-CCPCH-InformationListExt-AuditRsp ProtocolIE-ID ::= 646
+id-S-CCPCH-InformationListExt-ResourceStatusInd ProtocolIE-ID ::= 647
+id-S-CCPCH-LCR-InformationListExt-AuditRsp ProtocolIE-ID ::= 648
+id-S-CCPCH-LCR-InformationListExt-ResourceStatusInd ProtocolIE-ID ::= 649
+id-HARQ-Preamble-Mode ProtocolIE-ID ::= 650
+id-Initial-DL-DPCH-TimingAdjustment ProtocolIE-ID ::= 651
+id-Initial-DL-DPCH-TimingAdjustment-Allowed ProtocolIE-ID ::= 652
+id-DLTransmissionBranchLoadValue ProtocolIE-ID ::= 653
+id-Power-Local-Cell-Group-choice-CM-Rqst ProtocolIE-ID ::= 654
+id-Power-Local-Cell-Group-choice-CM-Rsp ProtocolIE-ID ::= 655
+id-Power-Local-Cell-Group-choice-CM-Rprt ProtocolIE-ID ::= 656
+id-SynchronisationIndicator ProtocolIE-ID ::= 657
+id-HSDPA-And-EDCH-CellPortion-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 658
+id-Unused-ProtocolIE-ID-659 ProtocolIE-ID ::= 659
+id-HS-DSCHRequiredPowerValue-For-Cell-Portion ProtocolIE-ID ::= 660
+id-HS-DSCHRequiredPowerValueInformation-For-CellPortion ProtocolIE-ID ::= 661
+id-HS-DSCHProvidedBitRateValueInformation-For-CellPortion ProtocolIE-ID ::= 662
+id-E-AGCH-And-E-RGCH-E-HICH-FDD-Scrambling-Code ProtocolIE-ID ::= 663
+id-E-AGCH-FDD-Code-Information ProtocolIE-ID ::= 664
+id-E-DCH-Capability ProtocolIE-ID ::= 665
+id-E-DCH-FDD-DL-Control-Channel-Information ProtocolIE-ID ::= 666
+id-E-DCH-FDD-Information ProtocolIE-ID ::= 667
+id-E-DCH-FDD-Information-Response ProtocolIE-ID ::= 668
+id-E-DCH-FDD-Information-to-Modify ProtocolIE-ID ::= 669
+id-E-DCH-MACdFlows-to-Add ProtocolIE-ID ::= 670
+id-E-DCH-MACdFlows-to-Delete ProtocolIE-ID ::= 671
+id-E-DCH-Resources-Information-AuditRsp ProtocolIE-ID ::= 672
+id-E-DCH-Resources-Information-ResourceStatusInd ProtocolIE-ID ::= 673
+id-E-DCH-RL-Indication ProtocolIE-ID ::= 674
+id-E-DCH-RL-Set-ID ProtocolIE-ID ::= 675
+id-E-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 676
+id-E-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 677
+id-E-RGCH-E-HICH-FDD-Code-Information ProtocolIE-ID ::= 678
+id-Serving-E-DCH-RL-ID ProtocolIE-ID ::= 679
+id-UL-DPDCH-Indicator-For-E-DCH-Operation ProtocolIE-ID ::= 680
+id-FDD-S-CCPCH-FrameOffset-CTCH-SetupRqstFDD ProtocolIE-ID ::= 681
+id-E-DPCH-Information-RL-ReconfRqstFDD ProtocolIE-ID ::= 682
+id-Maximum-Target-ReceivedTotalWideBandPower ProtocolIE-ID ::= 683
+id-E-DCHProvidedBitRateValueInformation ProtocolIE-ID ::= 684
+id-HARQ-Preamble-Mode-Activation-Indicator ProtocolIE-ID ::= 685
+id-RL-Specific-E-DCH-Info ProtocolIE-ID ::= 686
+id-E-DCH-CapacityConsumptionLaw ProtocolIE-ID ::= 687
+id-multiple-DedicatedMeasurementValueList-TDD-DM-Rsp ProtocolIE-ID ::= 688
+id-multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp ProtocolIE-ID ::= 689
+id-E-DCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 690
+id-Unused-ProtocolIE-ID-691 ProtocolIE-ID ::= 691
+id-multipleRL-dl-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 692
+id-Target-NonServing-EDCH-To-Total-EDCH-Power-Ratio ProtocolIE-ID ::= 693
+id-CellPortion-InformationItem-Cell-ReconfRqstFDD ProtocolIE-ID ::= 694
+id-CellPortion-InformationList-Cell-ReconfRqstFDD ProtocolIE-ID ::= 695
+id-multiple-PUSCH-InfoList-DM-Rsp ProtocolIE-ID ::= 696
+id-multiple-PUSCH-InfoList-DM-Rprt ProtocolIE-ID ::= 697
+id-Reference-ReceivedTotalWideBandPower ProtocolIE-ID ::= 698
+id-E-DCH-Serving-Cell-Change-Info-Response ProtocolIE-ID ::= 699
+id-HS-DSCH-Serving-Cell-Change-Info ProtocolIE-ID ::= 700
+id-HS-DSCH-Serving-Cell-Change-Info-Response ProtocolIE-ID ::= 701
+id-Serving-Cell-Change-CFN ProtocolIE-ID ::= 702
+id-E-DCH-HARQ-Combining-Capability ProtocolIE-ID ::= 703
+id-E-DCH-TTI2ms-Capability ProtocolIE-ID ::= 704
+id-E-DCH-SF-Capability ProtocolIE-ID ::= 705
+id-E-DCH-FDD-Update-Information ProtocolIE-ID ::= 706
+id-F-DPCH-Capability ProtocolIE-ID ::= 707
+id-E-DCH-Non-serving-Relative-Grant-Down-CommandsValue ProtocolIE-ID ::= 708
+id-HSSICH-SIRTarget ProtocolIE-ID ::= 709
+id-multiple-HSSICHMeasurementValueList-TDD-DM-Rsp ProtocolIE-ID ::= 710
+id-PLCCH-Information-AuditRsp ProtocolIE-ID ::= 711
+id-PLCCH-Information-ResourceStatusInd ProtocolIE-ID ::= 712
+id-PLCCH-Information-RL-ReconfPrepTDDLCR ProtocolIE-ID ::= 713
+id-PLCCH-Information-UL-TimeslotLCR-Info ProtocolIE-ID ::= 714
+id-PLCCH-InformationList-AuditRsp ProtocolIE-ID ::= 715
+id-PLCCH-InformationList-ResourceStatusInd ProtocolIE-ID ::= 716
+id-PLCCH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 717
+id-S-CCPCH-768-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 718
+id-PICH-768-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 719
+id-PRACH-768-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 720
+id-S-CCPCH-768-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 721
+id-PICH-768-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 722
+id-MICH-768-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 723
+id-CommonPhysicalChannelID768-CommonTrChDeletionReq ProtocolIE-ID ::= 724
+id-S-CCPCH-768-InformationList-AuditRsp ProtocolIE-ID ::= 725
+id-S-CCPCH-768-Information-AuditRsp ProtocolIE-ID ::= 726
+id-neighbouringTDDCellMeasurementInformation768 ProtocolIE-ID ::= 727
+id-PCCPCH-768-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 728
+id-SCH-768-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 729
+id-SCH-768-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 730
+id-PCCPCH-768-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 731
+id-P-CCPCH-768-Information-AuditRsp ProtocolIE-ID ::= 732
+id-PICH-768-Information-AuditRsp ProtocolIE-ID ::= 733
+id-PRACH-768-InformationList-AuditRsp ProtocolIE-ID ::= 734
+id-SCH-768-Information-AuditRsp ProtocolIE-ID ::= 735
+id-MICH-768-Information-AuditRsp ProtocolIE-ID ::= 736
+id-PRACH-768-Information ProtocolIE-ID ::= 737
+id-S-CCPCH-768-Information-ResourceStatusInd ProtocolIE-ID ::= 738
+id-P-CCPCH-768-Information-ResourceStatusInd ProtocolIE-ID ::= 739
+id-PICH-768-Information-ResourceStatusInd ProtocolIE-ID ::= 740
+id-PRACH-768-InformationList-ResourceStatusInd ProtocolIE-ID ::= 741
+id-SCH-768-Information-ResourceStatusInd ProtocolIE-ID ::= 742
+id-MICH-768-Information-ResourceStatusInd ProtocolIE-ID ::= 743
+id-S-CCPCH-768-InformationList-ResourceStatusInd ProtocolIE-ID ::= 744
+id-UL-DPCH-768-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 745
+id-DL-DPCH-768-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 746
+id-DL-DPCH-InformationItem-768-RL-AdditionRqstTDD ProtocolIE-ID ::= 747
+id-UL-DPCH-InformationItem-768-RL-AdditionRqstTDD ProtocolIE-ID ::= 748
+id-UL-DPCH-768-InformationAddItemIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 749
+id-UL-DPCH-768-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 750
+id-UL-DPCH-768-InformationModify-AddItem ProtocolIE-ID ::= 751
+id-UL-DPCH-768-InformationModify-AddList ProtocolIE-ID ::= 752
+id-UL-Timeslot768-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 753
+id-DL-DPCH-768-InformationAddItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 754
+id-DL-DPCH-768-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 755
+id-DL-DPCH-768-InformationModify-AddItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 756
+id-DL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 757
+id-DL-Timeslot-768-InformationModify-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 758
+id-DPCH-ID768-DM-Rqst ProtocolIE-ID ::= 759
+id-multiple-DedicatedMeasurementValueList-768-TDD-DM-Rsp ProtocolIE-ID ::= 760
+id-DPCH-ID768-DM-Rsp ProtocolIE-ID ::= 761
+id-Rx-Timing-Deviation-Value-768 ProtocolIE-ID ::= 762
+id-DPCH-ID768-DM-Rprt ProtocolIE-ID ::= 763
+id-PDSCH-AddInformation-768-PSCH-ReconfRqst ProtocolIE-ID ::= 764
+id-PDSCH-ModifyInformation-768-PSCH-ReconfRqst ProtocolIE-ID ::= 765
+id-PUSCH-AddInformation-768-PSCH-ReconfRqst ProtocolIE-ID ::= 766
+id-PUSCH-ModifyInformation-768-PSCH-ReconfRqst ProtocolIE-ID ::= 767
+id-dL-HS-PDSCH-Timeslot-Information-768-PSCH-ReconfRqst ProtocolIE-ID ::= 768
+id-hS-SCCH-Information-768-PSCH-ReconfRqst ProtocolIE-ID ::= 769
+id-hS-SCCH-InformationModify-768-PSCH-ReconfRqst ProtocolIE-ID ::= 770
+id-hsSCCH-Specific-Information-ResponseTDD768 ProtocolIE-ID ::= 771
+id-E-DPCH-Information-RL-AdditionReqFDD ProtocolIE-ID ::= 772
+-- WS extension to fill the range
+id-Unknown-773 ProtocolIE-ID ::= 773
+id-Unknown-774 ProtocolIE-ID ::= 774
+id-PDSCH-Timeslot-Format-PSCH-ReconfRqst-LCR ProtocolIE-ID ::= 775
+-- WS extension to fill the range
+id-Unknown-776 ProtocolIE-ID ::= 776
+id-Unknown-777 ProtocolIE-ID ::= 777
+id-Unknown-778 ProtocolIE-ID ::= 778
+id-Unknown-779 ProtocolIE-ID ::= 779
+id-PUSCH-Timeslot-Format-PSCH-ReconfRqst-LCR ProtocolIE-ID ::= 780
+-- WS extension to fill the range
+id-Unknown-781 ProtocolIE-ID ::= 781
+id-E-DCH-PowerOffset-for-SchedulingInfo ProtocolIE-ID ::= 782
+id-HSDSCH-Configured-Indicator ProtocolIE-ID ::= 783
+-- WS extension to fill the range
+id-Unknown-784 ProtocolIE-ID ::= 784
+id-Unknown-785 ProtocolIE-ID ::= 785
+id-Rx-Timing-Deviation-Value-384-ext ProtocolIE-ID ::= 786
+id-RTWP-ReportingIndicator ProtocolIE-ID ::= 787
+id-RTWP-CellPortion-ReportingIndicator ProtocolIE-ID ::= 788
+id-Received-Scheduled-EDCH-Power-Share-Value ProtocolIE-ID ::= 789
+id-Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value ProtocolIE-ID ::= 790
+id-Received-Scheduled-EDCH-Power-Share ProtocolIE-ID ::= 791
+id-Received-Scheduled-EDCH-Power-Share-For-CellPortion ProtocolIE-ID ::= 792
+id-tFCI-Presence ProtocolIE-ID ::= 793
+id-HSSICH-TPC-StepSize ProtocolIE-ID ::= 794
+id-E-RUCCH-InformationList-AuditRsp ProtocolIE-ID ::= 795
+id-E-RUCCH-InformationList-ResourceStatusInd ProtocolIE-ID ::= 796
+id-E-DCH-TDD-CapacityConsumptionLaw ProtocolIE-ID ::= 797
+id-E-RUCCH-Information ProtocolIE-ID ::= 798
+id-E-DCH-Information ProtocolIE-ID ::= 799
+id-E-DCH-Information-Response ProtocolIE-ID ::= 800
+id-E-DCH-Information-Reconfig ProtocolIE-ID ::= 801
+id-E-PUCH-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 802
+id-Add-To-E-AGCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 803
+id-Modify-E-AGCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 804
+id-Delete-From-E-AGCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 805
+id-E-HICH-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 806
+id-E-HICH-TimeOffset ProtocolIE-ID ::= 807
+id-Maximum-Generated-ReceivedTotalWideBandPowerInOtherCells ProtocolIE-ID ::= 808
+id-E-DCH-Serving-RL-ID ProtocolIE-ID ::= 809
+id-E-RUCCH-768-InformationList-AuditRsp ProtocolIE-ID ::= 810
+id-E-RUCCH-768-InformationList-ResourceStatusInd ProtocolIE-ID ::= 811
+id-E-RUCCH-768-Information ProtocolIE-ID ::= 812
+id-E-DCH-768-Information ProtocolIE-ID ::= 813
+id-E-DCH-768-Information-Reconfig ProtocolIE-ID ::= 814
+id-E-PUCH-Information-768-PSCH-ReconfRqst ProtocolIE-ID ::= 815
+id-Add-To-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst ProtocolIE-ID ::= 816
+id-Modify-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst ProtocolIE-ID ::= 817
+id-E-HICH-Information-768-PSCH-ReconfRqst ProtocolIE-ID ::= 818
+id-ExtendedPropagationDelay ProtocolIE-ID ::= 819
+id-Extended-Round-Trip-Time-Value ProtocolIE-ID ::= 820
+id-AlternativeFormatReportingIndicator ProtocolIE-ID ::= 821
+id-DCH-Indicator-For-E-DCH-HSDPA-Operation ProtocolIE-ID ::= 822
+id-Reference-ReceivedTotalWideBandPowerReporting ProtocolIE-ID ::= 823
+id-Reference-ReceivedTotalWideBandPowerSupportIndicator ProtocolIE-ID ::= 824
+id-ueCapability-Info ProtocolIE-ID ::= 825
+id-MAChs-ResetIndicator ProtocolIE-ID ::= 826
+id-Fast-Reconfiguration-Mode ProtocolIE-ID ::= 827
+id-Fast-Reconfiguration-Permission ProtocolIE-ID ::= 828
+id-BroadcastReference ProtocolIE-ID ::= 829
+id-BroadcastCommonTransportBearerIndication ProtocolIE-ID ::= 830
+id-ContinuousPacketConnectivityDTX-DRX-Capability ProtocolIE-ID ::= 831
+id-ContinuousPacketConnectivityDTX-DRX-Information ProtocolIE-ID ::= 832
+id-ContinuousPacketConnectivityHS-SCCH-less-Capability ProtocolIE-ID ::= 833
+id-ContinuousPacketConnectivityHS-SCCH-less-Information ProtocolIE-ID ::= 834
+id-ContinuousPacketConnectivityHS-SCCH-less-Information-Response ProtocolIE-ID ::= 835
+id-CPC-Information ProtocolIE-ID ::= 836
+id-MIMO-Capability ProtocolIE-ID ::= 837
+id-MIMO-PilotConfiguration ProtocolIE-ID ::= 838
+-- WS extension to fill the range
+id-Unknown-839 ProtocolIE-ID ::= 839
+id-Unknown-840 ProtocolIE-ID ::= 840
+id-MBSFN-Cell-ParameterID-Cell-SetupRqstTDD ProtocolIE-ID ::= 841
+id-MBSFN-Cell-ParameterID-Cell-ReconfRqstTDD ProtocolIE-ID ::= 842
+id-S-CCPCH-Modulation ProtocolIE-ID ::= 843
+id-HS-PDSCH-Code-Change-Grant ProtocolIE-ID ::= 844
+id-HS-PDSCH-Code-Change-Indicator ProtocolIE-ID ::= 845
+id-SYNC-UL-Partition-LCR ProtocolIE-ID ::= 846
+id-E-DCH-LCR-Information ProtocolIE-ID ::= 847
+id-E-DCH-LCR-Information-Reconfig ProtocolIE-ID ::= 848
+-- WS extension to fill the range
+id-Unknown-849 ProtocolIE-ID ::= 849
+id-Unknown-850 ProtocolIE-ID ::= 850
+id-Unknown-851 ProtocolIE-ID ::= 851
+id-E-PUCH-Information-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 852
+id-Add-To-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 853
+id-Modify-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 854
+id-Add-To-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 855
+id-Modify-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 856
+id-Delete-From-E-HICH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 857
+id-E-HICH-TimeOffsetLCR ProtocolIE-ID ::= 858
+-- WS extension to fill the range
+id-Unknown-859 ProtocolIE-ID ::= 859
+id-SixtyfourQAM-DL-Capability ProtocolIE-ID ::= 860
+id-SixteenQAM-UL-Capability ProtocolIE-ID ::= 861
+-- WS extension to fill the range
+id-Unknown-862 ProtocolIE-ID ::= 862
+id-Unknown-863 ProtocolIE-ID ::= 863
+id-HSDSCH-MACdPDU-SizeCapability ProtocolIE-ID ::= 864
+id-HSDSCH-MACdPDUSizeFormat ProtocolIE-ID ::= 865
+id-MaximumMACdPDU-SizeExtended ProtocolIE-ID ::= 866
+-- WS extension to fill the range
+id-Unknown-867 ProtocolIE-ID ::= 867
+id-Unknown-868 ProtocolIE-ID ::= 868
+id-Unknown-869 ProtocolIE-ID ::= 869
+id-F-DPCH-SlotFormat ProtocolIE-ID ::= 870
+id-F-DPCH-SlotFormatCapability ProtocolIE-ID ::= 871
+id-LCRTDD-uplink-Physical-Channel-Capability ProtocolIE-ID ::= 872
+id-Extended-RNC-ID ProtocolIE-ID ::= 873
+id-Max-UE-DTX-Cycle ProtocolIE-ID ::= 874
+-- WS extension to fill the range
+id-Unknown-875 ProtocolIE-ID ::= 875
+id-Secondary-CCPCH-SlotFormat-Extended ProtocolIE-ID ::= 876
+-- WS extension to fill the range
+id-Unknown-877 ProtocolIE-ID ::= 877
+id-MBSFN-Only-Mode-Indicator-Cell-SetupRqstTDD-LCR ProtocolIE-ID ::= 878
+id-MBSFN-Only-Mode-Capability ProtocolIE-ID ::= 879
+id-Time-Slot-Parameter-ID ProtocolIE-ID ::= 880
+id-Additional-failed-HS-SICH ProtocolIE-ID ::= 881
+id-Additional-missed-HS-SICH ProtocolIE-ID ::= 882
+id-Additional-total-HS-SICH ProtocolIE-ID ::= 883
+id-Additional-HS-SICH-Reception-Quality-Measurement-Value ProtocolIE-ID ::= 884
+-- WS extension to fill the range
+id-Unknown-885 ProtocolIE-ID ::= 885
+id-Unknown-886 ProtocolIE-ID ::= 886
+id-GANSS-Common-Data ProtocolIE-ID ::= 887
+id-GANSS-Information ProtocolIE-ID ::= 888
+id-GANSS-Generic-Data ProtocolIE-ID ::= 889
+id-TUTRANGANSSMeasurementThresholdInformation ProtocolIE-ID ::= 890
+id-TUTRANGANSSMeasurementValueInformation ProtocolIE-ID ::= 891
+id-ModulationPO-MBSFN ProtocolIE-ID ::= 892
+-- WS extension to fill the range
+id-Unknown-893 ProtocolIE-ID ::= 893
+id-Unknown-894 ProtocolIE-ID ::= 894
+id-Enhanced-FACH-Capability ProtocolIE-ID ::= 895
+id-Enhanced-PCH-Capability ProtocolIE-ID ::= 896
+id-HSDSCH-Common-System-InformationFDD ProtocolIE-ID ::= 897
+id-HSDSCH-Common-System-Information-ResponseFDD ProtocolIE-ID ::= 898
+id-HSDSCH-Paging-System-InformationFDD ProtocolIE-ID ::= 899
+id-HSDSCH-Paging-System-Information-ResponseFDD ProtocolIE-ID ::= 900
+id-MBMS-Capability ProtocolIE-ID ::= 901
+id-Ext-Reference-E-TFCI-PO ProtocolIE-ID ::= 902
+id-Ext-Max-Bits-MACe-PDU-non-scheduled ProtocolIE-ID ::= 903
+id-HARQ-MemoryPartitioningInfoExtForMIMO ProtocolIE-ID ::= 904
+id-MIMO-ActivationIndicator ProtocolIE-ID ::= 905
+id-MIMO-Mode-Indicator ProtocolIE-ID ::= 906
+id-MIMO-N-M-Ratio ProtocolIE-ID ::= 907
+id-IPMulticastIndication ProtocolIE-ID ::= 908
+id-IPMulticastDataBearerIndication ProtocolIE-ID ::= 909
+id-TransportBearerNotSetupIndicator ProtocolIE-ID ::= 910
+id-TransportBearerNotRequestedIndicator ProtocolIE-ID ::= 911
+id-TimeSlotConfigurationList-LCR-CTCH-SetupRqstTDD ProtocolIE-ID ::= 912
+id-Cell-Frequency-List-Information-LCR-MulFreq-AuditRsp ProtocolIE-ID ::= 913
+id-Cell-Frequency-List-InformationItem-LCR-MulFreq-AuditRsp ProtocolIE-ID ::= 914
+id-Cell-Frequency-List-LCR-MulFreq-Cell-SetupRqstTDD ProtocolIE-ID ::= 915
+id-UARFCN-Adjustment ProtocolIE-ID ::= 916
+id-Cell-Frequency-List-Information-LCR-MulFreq-ResourceStatusInd ProtocolIE-ID ::= 917
+id-Cell-Frequency-List-InformationItem-LCR-MulFreq-ResourceStatusInd ProtocolIE-ID ::= 918
+id-UPPCHPositionLCR ProtocolIE-ID ::= 919
+id-UPPCH-LCR-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 920
+id-UPPCH-LCR-InformationList-AuditRsp ProtocolIE-ID ::= 921
+id-UPPCH-LCR-InformationItem-AuditRsp ProtocolIE-ID ::= 922
+id-UPPCH-LCR-InformationList-ResourceStatusInd ProtocolIE-ID ::= 923
+id-UPPCH-LCR-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 924
+id-multipleFreq-dL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 925
+id-number-Of-Supported-Carriers ProtocolIE-ID ::= 926
+id-multipleFreq-HSPDSCH-InformationList-ResponseTDDLCR ProtocolIE-ID ::= 927
+id-Unsuccessful-UARFCNItem-PSCH-ReconfFailureTDD ProtocolIE-ID ::= 928
+id-multipleFreq-HS-DSCH-Resources-InformationList-AuditRsp ProtocolIE-ID ::= 929
+id-multipleFreq-HS-DSCH-Resources-InformationList-ResourceStatusInd ProtocolIE-ID ::= 930
+id-UARFCNSpecificCauseList ProtocolIE-ID ::= 931
+id-tSN-Length ProtocolIE-ID ::= 932
+id-MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst ProtocolIE-ID ::= 933
+id-multicarrier-number ProtocolIE-ID ::= 934
+id-Extended-HS-SCCH-ID ProtocolIE-ID ::= 935
+id-Extended-HS-SICH-ID ProtocolIE-ID ::= 936
+id-HSSICH-InfoExt-DM-Rqst ProtocolIE-ID ::= 937
+id-Delete-From-HS-SCCH-Resource-PoolExt-PSCH-ReconfRqst ProtocolIE-ID ::= 938
+id-HS-SCCH-InformationExt-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 939
+id-HS-SCCH-InformationModifyExt-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 940
+id-PowerControlGAP ProtocolIE-ID ::= 941
+id-MBSFN-SpecialTimeSlot-LCR ProtocolIE-ID ::= 942
+id-Common-MACFlows-to-DeleteFDD ProtocolIE-ID ::= 943
+id-Paging-MACFlows-to-DeleteFDD ProtocolIE-ID ::= 944
+id-E-TFCI-Boost-Information ProtocolIE-ID ::= 945
+id-SixteenQAM-UL-Operation-Indicator ProtocolIE-ID ::= 946
+id-SixtyfourQAM-UsageAllowedIndicator ProtocolIE-ID ::= 947
+id-SixtyfourQAM-DL-UsageIndicator ProtocolIE-ID ::= 948
+id-Default-Serving-Grant-in-DTX-Cycle2 ProtocolIE-ID ::= 949
+id-Maximum-Target-ReceivedTotalWideBandPower-LCR ProtocolIE-ID ::= 950
+id-E-DPDCH-PowerInterpolation ProtocolIE-ID ::= 951
+id-Extended-E-DCH-LCRTDD-PhysicalLayerCategory ProtocolIE-ID ::= 952
+id-MultipleFreq-E-DCH-Resources-InformationList-AuditRsp ProtocolIE-ID ::= 953
+id-MultipleFreq-E-DCH-Resources-InformationList-ResourceStatusInd ProtocolIE-ID ::= 954
+id-MultipleFreq-E-PUCH-Timeslot-InformationList-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 955
+id-MultipleFreq-E-PUCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst ProtocolIE-ID ::= 956
+id-Extended-E-HICH-ID-TDD ProtocolIE-ID ::= 957
+id-ContinuousPacketConnectivityHS-SCCH-less-Deactivate-Indicator ProtocolIE-ID ::= 958
+id-E-DCH-MACdPDU-SizeCapability ProtocolIE-ID ::= 959
+id-E-DCH-MACdPDUSizeFormat ProtocolIE-ID ::= 960
+id-MaximumNumber-Of-Retransmission-for-Scheduling-Info-LCRTDD ProtocolIE-ID ::= 961
+id-E-DCH-RetransmissionTimer-for-SchedulingInfo-LCRTDD ProtocolIE-ID ::= 962
+id-E-HICH-TimeOffset-Extension ProtocolIE-ID ::= 963
+id-MultipleFreq-E-HICH-TimeOffsetLCR ProtocolIE-ID ::= 964
+id-E-PUCH-PowerControlGAP ProtocolIE-ID ::= 965
+id-HSDSCH-TBSizeTableIndicator ProtocolIE-ID ::= 966
+id-E-DCH-DL-Control-Channel-Change-Information ProtocolIE-ID ::= 967
+id-E-DCH-DL-Control-Channel-Grant-Information ProtocolIE-ID ::= 968
+id-DGANSS-Corrections-Req ProtocolIE-ID ::= 969
+id-UE-with-enhanced-HS-SCCH-support-indicator ProtocolIE-ID ::= 970
+id-AdditionalTimeSlotListLCR ProtocolIE-ID ::= 971
+id-AdditionalMeasurementValueList ProtocolIE-ID ::= 972
+-- WS extension to fill the range
+id-Unknown-973 ProtocolIE-ID ::= 973
+id-Unknown-974 ProtocolIE-ID ::= 974
+id-Unknown-975 ProtocolIE-ID ::= 975
+id-Unknown-976 ProtocolIE-ID ::= 976
+id-Unknown-977 ProtocolIE-ID ::= 977
+id-E-AGCH-Table-Choice ProtocolIE-ID ::= 978
+-- WS extension to fill the range
+id-Unknown-979 ProtocolIE-ID ::= 979
+id-Unknown-980 ProtocolIE-ID ::= 980
+id-PLCCH-parameters ProtocolIE-ID ::= 981
+id-E-RUCCH-parameters ProtocolIE-ID ::= 982
+id-E-RUCCH-768-parameters ProtocolIE-ID ::= 983
+id-HS-Cause ProtocolIE-ID ::= 984
+id-E-Cause ProtocolIE-ID ::= 985
+-- WS extension to fill the range
+id-Unknown-986 ProtocolIE-ID ::= 986
+id-Common-EDCH-Capability ProtocolIE-ID ::= 987
+id-E-AI-Capability ProtocolIE-ID ::= 988
+id-Common-EDCH-System-InformationFDD ProtocolIE-ID ::= 989
+id-Common-UL-MACFlows-to-DeleteFDD ProtocolIE-ID ::= 990
+id-Common-EDCH-MACdFlows-to-DeleteFDD ProtocolIE-ID ::= 991
+id-Common-EDCH-System-Information-ResponseFDD ProtocolIE-ID ::= 992
+id-Cell-ERNTI-Status-Information ProtocolIE-ID ::= 993
+id-Enhanced-UE-DRX-Capability ProtocolIE-ID ::= 994
+id-Enhanced-UE-DRX-InformationFDD ProtocolIE-ID ::= 995
+id-TransportBearerRequestIndicator ProtocolIE-ID ::= 996
+id-SixtyfourQAM-DL-MIMO-Combined-Capability ProtocolIE-ID ::= 997
+id-E-RNTI ProtocolIE-ID ::= 998
+id-MinimumReducedE-DPDCH-GainFactor ProtocolIE-ID ::= 999
+id-GANSS-Time-ID ProtocolIE-ID ::= 1000
+id-GANSS-AddIonoModelReq ProtocolIE-ID ::= 1001
+id-GANSS-EarthOrientParaReq ProtocolIE-ID ::= 1002
+id-GANSS-AddNavigationModelsReq ProtocolIE-ID ::= 1003
+id-GANSS-AddUTCModelsReq ProtocolIE-ID ::= 1004
+id-GANSS-AuxInfoReq ProtocolIE-ID ::= 1005
+id-GANSS-SBAS-ID ProtocolIE-ID ::= 1006
+id-GANSS-ID ProtocolIE-ID ::= 1007
+id-GANSS-Additional-Ionospheric-Model ProtocolIE-ID ::= 1008
+id-GANSS-Earth-Orientation-Parameters ProtocolIE-ID ::= 1009
+id-GANSS-Additional-Time-Models ProtocolIE-ID ::= 1010
+id-GANSS-Additional-Navigation-Models ProtocolIE-ID ::= 1011
+id-GANSS-Additional-UTC-Models ProtocolIE-ID ::= 1012
+id-GANSS-Auxiliary-Information ProtocolIE-ID ::= 1013
+id-ERACH-CM-Rqst ProtocolIE-ID ::= 1014
+id-ERACH-CM-Rsp ProtocolIE-ID ::= 1015
+id-ERACH-CM-Rprt ProtocolIE-ID ::= 1016
+id-EDCH-RACH-Report-Value ProtocolIE-ID ::= 1017
+id-EDCH-RACH-Report-IncrDecrThres ProtocolIE-ID ::= 1018
+id-EDCH-RACH-Report-ThresholdInformation ProtocolIE-ID ::= 1019
+id-E-DPCCH-Power-Boosting-Capability ProtocolIE-ID ::= 1020
+id-HSDSCH-Common-System-InformationLCR ProtocolIE-ID ::= 1021
+-- WS extension to fill the range
+id-Unknown-1022 ProtocolIE-ID ::= 1022
+id-HSDSCH-Common-System-Information-ResponseLCR ProtocolIE-ID ::= 1222
+id-HSDSCH-Paging-System-InformationLCR ProtocolIE-ID ::= 1023
+id-HSDSCH-Paging-System-Information-ResponseLCR ProtocolIE-ID ::= 1024
+id-Common-MACFlows-to-DeleteLCR ProtocolIE-ID ::= 1025
+id-Paging-MACFlows-to-DeleteLCR ProtocolIE-ID ::= 1026
+id-Common-EDCH-System-InformationLCR ProtocolIE-ID ::= 1027
+id-Common-UL-MACFlows-to-DeleteLCR ProtocolIE-ID ::= 1028
+id-Common-EDCH-MACdFlows-to-DeleteLCR ProtocolIE-ID ::= 1029
+id-Common-EDCH-System-Information-ResponseLCR ProtocolIE-ID ::= 1030
+id-Enhanced-UE-DRX-CapabilityLCR ProtocolIE-ID ::= 1031
+id-Enhanced-UE-DRX-InformationLCR ProtocolIE-ID ::= 1032
+id-HSDSCH-PreconfigurationSetup ProtocolIE-ID ::= 1033
+id-HSDSCH-PreconfigurationInfo ProtocolIE-ID ::= 1034
+id-NoOfTargetCellHS-SCCH-Order ProtocolIE-ID ::= 1035
+id-EnhancedHSServingCC-Abort ProtocolIE-ID ::= 1036
+id-Additional-HS-Cell-Information-RL-Setup ProtocolIE-ID ::= 1037
+id-Additional-HS-Cell-Information-Response ProtocolIE-ID ::= 1038
+id-Additional-HS-Cell-Information-RL-Addition ProtocolIE-ID ::= 1039
+id-Additional-HS-Cell-Change-Information-Response ProtocolIE-ID ::= 1040
+id-Additional-HS-Cell-Information-RL-Reconf-Prep ProtocolIE-ID ::= 1041
+id-Additional-HS-Cell-Information-RL-Reconf-Req ProtocolIE-ID ::= 1042
+id-Additional-HS-Cell-Information-RL-Param-Upd ProtocolIE-ID ::= 1043
+id-Multi-Cell-Capability-Info ProtocolIE-ID ::= 1044
+id-IMB-Parameters ProtocolIE-ID ::= 1045
+id-MACes-Maximum-Bitrate-LCR ProtocolIE-ID ::= 1046
+id-Semi-PersistentScheduling-CapabilityLCR ProtocolIE-ID ::= 1047
+id-E-DCH-Semi-PersistentScheduling-Information-LCR ProtocolIE-ID ::= 1048
+id-HS-DSCH-Semi-PersistentScheduling-Information-LCR ProtocolIE-ID ::= 1049
+id-Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 1050
+id-Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 1051
+id-Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 1052
+id-ContinuousPacketConnectivity-DRX-CapabilityLCR ProtocolIE-ID ::= 1053
+id-ContinuousPacketConnectivity-DRX-InformationLCR ProtocolIE-ID ::= 1054
+id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR ProtocolIE-ID ::= 1055
+id-CPC-InformationLCR ProtocolIE-ID ::= 1056
+id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR ProtocolIE-ID ::= 1057
+id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR ProtocolIE-ID ::= 1058
+id-E-AGCH-UE-Inactivity-Monitor-Threshold ProtocolIE-ID ::= 1059
+-- WS extension to fill the range
+id-Unknown-1060 ProtocolIE-ID ::= 1060
+id-Unknown-1061 ProtocolIE-ID ::= 1061
+id-Unknown-1062 ProtocolIE-ID ::= 1062
+id-IdleIntervalInformation ProtocolIE-ID ::= 1063
+id-GANSS-alm-keplerianNAVAlmanac ProtocolIE-ID ::= 1064
+id-GANSS-alm-keplerianReducedAlmanac ProtocolIE-ID ::= 1065
+id-GANSS-alm-keplerianMidiAlmanac ProtocolIE-ID ::= 1066
+id-GANSS-alm-keplerianGLONASS ProtocolIE-ID ::= 1067
+id-GANSS-alm-ecefSBASAlmanac ProtocolIE-ID ::= 1068
+-- WS extension to fill the range
+id-Unknown-1069 ProtocolIE-ID ::= 1069
+id-HSSICH-ReferenceSignal-InformationLCR ProtocolIE-ID ::= 1070
+id-MIMO-ReferenceSignal-InformationListLCR ProtocolIE-ID ::= 1071
+id-MIMO-SFMode-For-HSPDSCHDualStream ProtocolIE-ID ::= 1072
+id-MIMO-SFMode-Supported-For-HSPDSCHDualStream ProtocolIE-ID ::= 1073
+id-UE-Selected-MBMS-Service-Information ProtocolIE-ID ::= 1074
+-- WS extension to fill the range
+id-Unknown-1075 ProtocolIE-ID ::= 1075
+id-Unknown-1076 ProtocolIE-ID ::= 1076
+id-MultiCarrier-HSDSCH-Physical-Layer-Category ProtocolIE-ID ::= 1077
+id-Common-E-DCH-HSDPCCH-Capability ProtocolIE-ID ::= 1078
+id-DL-RLC-PDU-Size-Format ProtocolIE-ID ::= 1079
+id-HSSICH-ReferenceSignal-InformationModifyLCR ProtocolIE-ID ::= 1080
+id-schedulingPriorityIndicator ProtocolIE-ID ::= 1081
+id-TimeSlotMeasurementValueListLCR ProtocolIE-ID ::= 1082
+-- WS extension to fill the range
+id-Unknown-1083 ProtocolIE-ID ::= 1083
+id-Unknown-1084 ProtocolIE-ID ::= 1084
+id-UE-SupportIndicatorExtension ProtocolIE-ID ::= 1085
+-- WS extension to fill the range
+id-Unknown-1086 ProtocolIE-ID ::= 1086
+id-Unknown-1087 ProtocolIE-ID ::= 1087
+id-Single-Stream-MIMO-ActivationIndicator ProtocolIE-ID ::= 1088
+id-Single-Stream-MIMO-Capability ProtocolIE-ID ::= 1089
+id-Single-Stream-MIMO-Mode-Indicator ProtocolIE-ID ::= 1090
+id-Dual-Band-Capability-Info ProtocolIE-ID ::= 1091
+id-UE-AggregateMaximumBitRate ProtocolIE-ID ::= 1092
+id-UE-AggregateMaximumBitRate-Enforcement-Indicator ProtocolIE-ID ::= 1093
+-- WS extension to fill the range
+id-Unknown-1094 ProtocolIE-ID ::= 1094
+id-Unknown-1095 ProtocolIE-ID ::= 1095
+id-Unknown-1096 ProtocolIE-ID ::= 1096
+id-Unknown-1097 ProtocolIE-ID ::= 1097
+id-Unknown-1098 ProtocolIE-ID ::= 1098
+id-Unknown-1099 ProtocolIE-ID ::= 1099
+id-Unknown-1100 ProtocolIE-ID ::= 1100
+id-MIMO-Power-Offset-For-S-CPICH-Capability ProtocolIE-ID ::= 1101
+id-MIMO-PilotConfigurationExtension ProtocolIE-ID ::= 1102
+id-TxDiversityOnDLControlChannelsByMIMOUECapability ProtocolIE-ID ::= 1103
+id-ULTimeslotISCPValue-For-CellPortion ProtocolIE-ID ::= 1104
+id-UpPTSInterferenceValue-For-CellPortion ProtocolIE-ID ::= 1105
+id-Best-Cell-Portions-ValueLCR ProtocolIE-ID ::= 1106
+id-Transmitted-Carrier-Power-For-CellPortion-ValueLCR ProtocolIE-ID ::= 1107
+id-Received-total-wide-band-power-For-CellPortion-ValueLCR ProtocolIE-ID ::= 1108
+id-UL-TimeslotISCP-For-CellPortion-Value ProtocolIE-ID ::= 1109
+id-HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR ProtocolIE-ID ::= 1110
+id-HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR ProtocolIE-ID ::= 1111
+id-E-DCHProvidedBitRateValueInformation-For-CellPortion ProtocolIE-ID ::= 1112
+id-UpPTSInterference-For-CellPortion-Value ProtocolIE-ID ::= 1113
+id-NumberOfReportedCellPortionsLCR ProtocolIE-ID ::= 1114
+id-CellPortion-CapabilityLCR ProtocolIE-ID ::= 1115
+id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue ProtocolIE-ID ::= 1116
+id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortion ProtocolIE-ID ::= 1117
+-- WS extension to fill the range
+id-Unknown-1118 ProtocolIE-ID ::= 1118
+id-ActivationInformation ProtocolIE-ID ::= 1119
+id-Additional-EDCH-Cell-Information-RL-Setup-Req ProtocolIE-ID ::= 1120
+id-Additional-EDCH-Cell-Information-Response ProtocolIE-ID ::= 1121
+id-Additional-EDCH-Cell-Information-RL-Add-Req ProtocolIE-ID ::= 1122
+id-Additional-EDCH-Cell-Information-Response-RL-Add ProtocolIE-ID ::= 1123
+id-Additional-EDCH-Cell-Information-RL-Reconf-Prep ProtocolIE-ID ::= 1124
+id-Additional-EDCH-Cell-Information-RL-Reconf-Req ProtocolIE-ID ::= 1125
+id-Additional-EDCH-Cell-Information-Bearer-Rearrangement ProtocolIE-ID ::= 1126
+id-Additional-EDCH-Cell-Information-RL-Param-Upd ProtocolIE-ID ::= 1127
+id-Additional-EDCH-Preconfiguration-Information ProtocolIE-ID ::= 1128
+id-EDCH-Indicator ProtocolIE-ID ::= 1129
+-- WS extension to fill the range
+id-Unknown-1130 ProtocolIE-ID ::= 1130
+id-HS-DSCH-SPS-Reservation-Indicator ProtocolIE-ID ::= 1131
+id-E-DCH-SPS-Reservation-Indicator ProtocolIE-ID ::= 1132
+id-MultipleFreq-HARQ-MemoryPartitioning-InformationList ProtocolIE-ID ::= 1133
+id-Ul-common-E-DCH-MACflow-Specific-InfoResponseListLCR-Ext ProtocolIE-ID ::= 1134
+id-RepetitionPeriodIndex ProtocolIE-ID ::= 1135
+id-MidambleShiftLCR ProtocolIE-ID ::= 1136
+id-MaxHSDSCH-HSSCCH-Power-per-CELLPORTION ProtocolIE-ID ::= 1137
+id-DormantModeIndicator ProtocolIE-ID ::= 1138
+id-DiversityMode ProtocolIE-ID ::= 1139
+id-TransmitDiversityIndicator ProtocolIE-ID ::= 1140
+id-NonCellSpecificTxDiversity ProtocolIE-ID ::= 1141
+id-Cell-Capability-Container ProtocolIE-ID ::= 1142
+id-E-RNTI-List-Request ProtocolIE-ID ::= 1143
+id-E-RNTI-List ProtocolIE-ID ::= 1144
+id-PowerControlGAP-For-CellFACHLCR ProtocolIE-ID ::= 1145
+-- WS extension to fill the range
+id-Unknown-1146 ProtocolIE-ID ::= 1146
+id-UL-Synchronisation-Parameters-For-FACHLCR ProtocolIE-ID ::= 1147
+id-HS-DSCH-SPS-Operation-Indicator ProtocolIE-ID ::= 1148
+id-HSDSCH-RNTI-For-FACH ProtocolIE-ID ::= 1149
+id-E-RNTI-For-FACH ProtocolIE-ID ::= 1150
+id-Out-of-Sychronization-Window ProtocolIE-ID ::= 1151
+id-Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 1152
+id-E-HICH-TimeOffset-ReconfFailureTDD ProtocolIE-ID ::= 1153
+id-HSSCCH-TPC-StepSize ProtocolIE-ID ::= 1154
+id-TS0-CapabilityLCR ProtocolIE-ID ::= 1155
+id-UE-TS0-CapabilityLCR ProtocolIE-ID ::= 1156
+id-Common-System-Information-ResponseLCR ProtocolIE-ID ::= 1157
+id-Additional-EDCH-Cell-Information-ResponseRLReconf ProtocolIE-ID ::= 1158
+id-Multicell-EDCH-InformationItemIEs ProtocolIE-ID ::= 1159
+id-Multicell-EDCH-RL-Specific-InformationItemIEs ProtocolIE-ID ::= 1160
+id-Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext ProtocolIE-ID ::= 1161
+id-Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext ProtocolIE-ID ::= 1162
+id-Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext ProtocolIE-ID ::= 1163
+id-Initial-DL-Transmission-Power ProtocolIE-ID ::= 1164
+id-Maximum-DL-Power ProtocolIE-ID ::= 1165
+id-Minimum-DL-Power ProtocolIE-ID ::= 1166
+id-DCH-MeasurementOccasion-Information ProtocolIE-ID ::= 1167
+id-AssociatedPhsicalChannelID ProtocolIE-ID ::= 1168
+id-DGNSS-ValidityPeriod ProtocolIE-ID ::= 1169
+id-PhysicalChannelID-for-CommonERNTI-RequestedIndicator ProtocolIE-ID ::= 1170
+id-PrecodingWeightSetRestriction ProtocolIE-ID ::= 1171
+id-Treset-Usage-Indicator ProtocolIE-ID ::= 1172
+id-Non-Serving-RL-Preconfig-Info ProtocolIE-ID ::= 1173
+id-Non-Serving-RL-Preconfig-Setup ProtocolIE-ID ::= 1174
+id-Non-Serving-RL-Preconfig-Removal ProtocolIE-ID ::= 1175
+id-Additional-E-DCH-Non-Serving-RL-Preconfiguration-Setup ProtocolIE-ID ::= 1176
+id-Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList ProtocolIE-ID ::= 1177
+id-Ul-common-E-DCH-MACflow-Specific-InfoListLCR-Ext ProtocolIE-ID ::= 1178
+id-CommonMACFlow-Specific-InfoList-ResponseLCR-Ext ProtocolIE-ID ::= 1179
+id-Enabling-Delay-Ext-LCR ProtocolIE-ID ::= 1180
+-- WS extension to fill the range
+id-Unallocated-1181 ProtocolIE-ID ::= 1181
+id-Unallocated-1182 ProtocolIE-ID ::= 1182
+id-Unallocated-1183 ProtocolIE-ID ::= 1183
+id-Unallocated-1184 ProtocolIE-ID ::= 1184
+id-Unallocated-1185 ProtocolIE-ID ::= 1185
+id-Unallocated-1186 ProtocolIE-ID ::= 1186
+id-Unallocated-1187 ProtocolIE-ID ::= 1187
+id-Unallocated-1188 ProtocolIE-ID ::= 1188
+id-Unallocated-1189 ProtocolIE-ID ::= 1189
+id-Unallocated-1190 ProtocolIE-ID ::= 1190
+id-Unallocated-1191 ProtocolIE-ID ::= 1191
+id-Unallocated-1192 ProtocolIE-ID ::= 1192
+id-Unallocated-1193 ProtocolIE-ID ::= 1193
+id-Unallocated-1194 ProtocolIE-ID ::= 1194
+id-Unallocated-1195 ProtocolIE-ID ::= 1195
+id-Unallocated-1196 ProtocolIE-ID ::= 1196
+id-Unallocated-1197 ProtocolIE-ID ::= 1197
+id-Unallocated-1198 ProtocolIE-ID ::= 1198
+id-Unallocated-1199 ProtocolIE-ID ::= 1199
+id-Unallocated-1200 ProtocolIE-ID ::= 1200
+id-Unallocated-1201 ProtocolIE-ID ::= 1201
+id-Unallocated-1202 ProtocolIE-ID ::= 1202
+id-Unallocated-1203 ProtocolIE-ID ::= 1203
+id-Unallocated-1204 ProtocolIE-ID ::= 1204
+id-Unallocated-1205 ProtocolIE-ID ::= 1205
+id-Unallocated-1206 ProtocolIE-ID ::= 1206
+id-Unallocated-1207 ProtocolIE-ID ::= 1207
+id-Unallocated-1208 ProtocolIE-ID ::= 1208
+id-Unallocated-1209 ProtocolIE-ID ::= 1209
+id-Unallocated-1210 ProtocolIE-ID ::= 1210
+id-Unallocated-1211 ProtocolIE-ID ::= 1211
+id-Unallocated-1212 ProtocolIE-ID ::= 1212
+id-Unallocated-1213 ProtocolIE-ID ::= 1213
+id-Unallocated-1214 ProtocolIE-ID ::= 1214
+id-Unallocated-1215 ProtocolIE-ID ::= 1215
+id-Unallocated-1216 ProtocolIE-ID ::= 1216
+id-Unallocated-1217 ProtocolIE-ID ::= 1217
+id-Unallocated-1218 ProtocolIE-ID ::= 1218
+id-Unallocated-1219 ProtocolIE-ID ::= 1219
+id-Unallocated-1220 ProtocolIE-ID ::= 1220
+id-Unallocated-1221 ProtocolIE-ID ::= 1221
+--id-HSDSCH-Common-System-Information-ResponseLCR ProtocolIE-ID ::= 1222
+END
diff --git a/epan/dissectors/asn1/nbap/NBAP-Containers.asn b/epan/dissectors/asn1/nbap/NBAP-Containers.asn
new file mode 100644
index 00000000..5710f45e
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/NBAP-Containers.asn
@@ -0,0 +1,205 @@
+-- NBAP-Containers.asn
+--
+-- Taken from 3GPP TS 25.433 V9.4.0 (2010-09)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.433/
+--
+-- 9.3.7 Container Definitions
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+NBAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) nbap (2) version1 (1) nbap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxProtocolExtensions,
+ maxPrivateIEs,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+FROM NBAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+NBAP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+NBAP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+NBAP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+NBAP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {NBAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {NBAP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {NBAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id NBAP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality NBAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value NBAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {NBAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {NBAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id NBAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality NBAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue NBAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality NBAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue NBAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, NBAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, NBAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {NBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {NBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id NBAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality NBAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue NBAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {NBAP-PRIVATE-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {NBAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id NBAP-PRIVATE-IES.&id
+ ({IEsSetParam}),
+ criticality NBAP-PRIVATE-IES.&criticality
+ ({IEsSetParam}{@id}),
+ value NBAP-PRIVATE-IES.&Value
+ ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/nbap/NBAP-IEs.asn b/epan/dissectors/asn1/nbap/NBAP-IEs.asn
new file mode 100644
index 00000000..d3ee5c2a
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/NBAP-IEs.asn
@@ -0,0 +1,10050 @@
+-- NBAP-IEs.asn
+--
+-- Taken from 3GPP TS 25.433 V9.2.0 (2010-03)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.433/
+--
+-- 9.3.4 Information Elements Definitions
+--
+
+--******************************************************************************
+--
+-- Information Element Definitions
+--
+--******************************************************************************
+
+NBAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) nbap (2) version1 (1) nbap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ maxNrOfRLs,
+ maxNrOfTFCs,
+ maxNrOfErrors,
+ maxCTFC,
+ maxNrOfTFs,
+ maxTTI-count,
+ maxRateMatching,
+ maxHS-PDSCHCodeNrComp-1,
+ maxHS-SCCHCodeNrComp-1,
+ maxNrOfCellSyncBursts,
+ maxNrOfCombEDPDCH,
+ maxNrOfEDCH-HARQ-PO-QUANTSTEPs,
+ maxNrOfEDCHHARQProcesses2msEDCH,
+ maxNrOfBits-MACe-PDU-non-scheduled,
+ maxNrOfEDPCCH-PO-QUANTSTEPs,
+ maxNrOfRefETFCI-PO-QUANTSTEPs,
+ maxNrOfRefETFCIs,
+ maxNrOfMeasNCell,
+ maxNrOfMeasNCell-1,
+ maxNrOfReceptsPerSyncFrame,
+ maxNrOfSF,
+ maxTGPS,
+ maxNrOfUSCHs,
+ maxNrOfULTSs,
+ maxNrOfULTSLCRs,
+ maxNrOfDPCHs,
+ maxNrOfDPCHLCRs,
+ maxNrOfDPCHs768,
+ maxNrOfCodes,
+ maxNrOfDSCHs,
+ maxNrOfDLTSs,
+ maxNrOfDLTSLCRs,
+ maxNrOfDCHs,
+ maxNrOfLevels,
+ maxNoGPSItems,
+ maxNoSat,
+ maxNrOfCellPortionsPerCell,
+ maxNrOfCellPortionsPerCell-1,
+ maxNrOfHSSCCHs,
+ maxNrOfHSSCCHCodes,
+ maxNrOfMACdFlows,
+ maxNrOfMACdFlows-1,
+ maxNrOfMACdPDUIndexes,
+ maxNrOfMACdPDUIndexes-1,
+ maxNrOfMACdPDUSize,
+ maxNrOfNIs,
+ maxNrOfPriorityQueues,
+ maxNrOfPriorityQueues-1,
+ maxNrOfHARQProcesses,
+ maxNrOfSyncDLCodesLCR,
+ maxNrOfSyncFramesLCR,
+ maxNrOfContextsOnUeList,
+ maxNrOfPriorityClasses,
+ maxNrOfSatAlmanac-maxNoSat,
+ maxNrOfE-AGCHs,
+ maxNrOfEDCHMACdFlows,
+ maxNrOfEDCHMACdFlows-1,
+ maxNrOfE-RGCHs-E-HICHs,
+ maxNrofSigSeqRGHI-1,
+ maxNoOfLogicalChannels,
+ maxNrOfEAGCHs,
+ maxNrOfRefBetas,
+ maxNrOfEAGCHCodes,
+ maxNrOfHS-DSCH-TBSs,
+ maxNrOfHS-DSCH-TBSs-HS-SCCHless,
+ maxNrOfEHICHCodes,
+ maxNrOfCommonMACFlows,
+ maxNrOfCommonMACFlows-1,
+ maxNrOfPagingMACFlow,
+ maxNrOfPagingMACFlow-1,
+ maxNrOfcommonMACQueues,
+ maxNrOfpagingMACQueues,
+ maxNrOfHS-DSCHTBSsE-PCH,
+ maxGANSSSat,
+ maxNoGANSS,
+ maxSgnType,
+ maxHSDPAFrequency,
+ maxHSDPAFrequency-1,
+ maxGANSSSatAlmanac,
+ maxGANSSClockMod,
+ maxNrOfEDCHRLs,
+ maxCellinNodeB,
+ maxERNTItoRelease,
+ maxNrOfCommonEDCH,
+ maxFrequencyinCell-1,
+ maxNrOfCommonMACFlowsLCR,
+ maxNrOfCommonMACFlowsLCR-1,
+ maxNrOfHSSCCHsLCR,
+ maxNrOfEDCHMACdFlowsLCR,
+ maxNrOfEDCHMACdFlowsLCR-1,
+ maxNrOfEAGCHsLCR,
+ maxNrOfEHICHsLCR,
+ maxnrofERUCCHsLCR,
+ maxNrOfHSPDSCHs,
+ maxFrequencyinCell,
+ maxNrOfHSDSCH-1,
+ maxNrOfHSDSCH,
+ maxGANSS-1,
+ maxNoOfTBSs-Mapping-HS-DSCH-SPS,
+ maxNoOfTBSs-Mapping-HS-DSCH-SPS-1,
+ maxNoOfHS-DSCH-TBSsLCR,
+ maxNoOfRepetition-Period-LCR,
+ maxNoOfRepetitionPeriod-SPS-LCR-1,
+ maxNoOf-HS-SICH-SPS,
+ maxNoOf-HS-SICH-SPS-1,
+ maxNoOfNon-HS-SCCH-Assosiated-HS-SICH,
+ maxNoOfNon-HS-SCCH-Assosiated-HS-SICH-Ext,
+ maxMBMSServiceSelect,
+ maxNrOfCellPortionsPerCellLCR,
+ maxNrOfCellPortionsPerCellLCR-1,
+ maxNrOfEDCH-1,
+ maxNoOfCommonH-RNTI,
+ maxNrOfCommonMACFlowsLCRExt,
+ maxofERNTI,
+ maxNrOfDCHMeasurementOccasionPatternSequence,
+
+ id-BroadcastCommonTransportBearerIndication,
+ id-MessageStructure,
+ id-ReportCharacteristicsType-OnModification,
+ id-Rx-Timing-Deviation-Value-LCR,
+ id-SFNSFNMeasurementValueInformation,
+ id-SFNSFNMeasurementThresholdInformation,
+ id-TUTRANGPSMeasurementValueInformation,
+ id-TUTRANGPSMeasurementThresholdInformation,
+ id-TypeOfError,
+ id-transportlayeraddress,
+ id-bindingID,
+ id-Angle-Of-Arrival-Value-LCR,
+ id-SyncDLCodeIdThreInfoLCR,
+ id-neighbouringTDDCellMeasurementInformationLCR,
+ id-HS-SICH-Reception-Quality,
+ id-HS-SICH-Reception-Quality-Measurement-Value,
+ id-Initial-DL-Power-TimeslotLCR-InformationItem,
+ id-Maximum-DL-Power-TimeslotLCR-InformationItem,
+ id-Minimum-DL-Power-TimeslotLCR-InformationItem,
+ id-Received-total-wide-band-power-For-CellPortion,
+ id-Received-total-wide-band-power-For-CellPortion-Value,
+ id-Transmitted-Carrier-Power-For-CellPortion,
+ id-Transmitted-Carrier-Power-For-CellPortion-Value,
+ id-TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmission,
+ id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortion,
+ id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue,
+ id-HS-DSCHRequiredPowerValueInformation,
+ id-HS-DSCHProvidedBitRateValueInformation,
+ id-HS-DSCHRequiredPowerValue,
+ id-HS-DSCHRequiredPowerValue-For-Cell-Portion,
+ id-HS-DSCHRequiredPowerValueInformation-For-CellPortion,
+ id-HS-DSCHProvidedBitRateValueInformation-For-CellPortion,
+ id-HSDSCH-MACdPDUSizeFormat,
+ id-HS-PDSCH-Code-Change-Grant,
+ id-HS-PDSCH-Code-Change-Indicator,
+ id-HS-DSCH-SPS-Operation-Indicator,
+ id-Best-Cell-Portions-Value,
+ id-Unidirectional-DCH-Indicator,
+ id-SAT-Info-Almanac-ExtItem,
+ id-TnlQos,
+ id-UpPTSInterferenceValue,
+ id-HARQ-Preamble-Mode,
+ id-HARQ-Preamble-Mode-Activation-Indicator,
+ id-DLTransmissionBranchLoadValue,
+ id-E-DCHProvidedBitRateValueInformation,
+ id-E-DCH-Non-serving-Relative-Grant-Down-CommandsValue,
+ id-HSSICH-SIRTarget,
+ id-PLCCH-Information-UL-TimeslotLCR-Info,
+ id-neighbouringTDDCellMeasurementInformation768,
+ id-Rx-Timing-Deviation-Value-768,
+ id-hsSCCH-Specific-Information-ResponseTDD768,
+ id-Rx-Timing-Deviation-Value-384-ext,
+ id-E-DCH-PowerOffset-for-SchedulingInfo,
+ id-Extended-Round-Trip-Time-Value,
+ id-ExtendedPropagationDelay,
+ id-HSSICH-TPC-StepSize,
+ id-RTWP-CellPortion-ReportingIndicator,
+ id-Received-Scheduled-EDCH-Power-Share-Value,
+ id-Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value,
+ id-Received-Scheduled-EDCH-Power-Share,
+ id-Received-Scheduled-EDCH-Power-Share-For-CellPortion,
+ id-ueCapability-Info,
+ id-ContinuousPacketConnectivityHS-SCCH-less-Information,
+ id-ContinuousPacketConnectivityHS-SCCH-less-Information-Response,
+ id-MIMO-ActivationIndicator,
+ id-MIMO-Mode-Indicator,
+ id-MIMO-N-M-Ratio,
+ id-Additional-failed-HS-SICH,
+ id-Additional-missed-HS-SICH,
+ id-Additional-total-HS-SICH,
+ id-Additional-HS-SICH-Reception-Quality-Measurement-Value,
+ id-LCRTDD-uplink-Physical-Channel-Capability,
+ id-SixteenQAM-UL-Operation-Indicator,
+ id-E-AGCH-Table-Choice,
+ id-E-TFCI-Boost-Information,
+ id-E-DPDCH-PowerInterpolation,
+ id-MaximumMACdPDU-SizeExtended,
+ id-GANSS-Common-Data,
+ id-GANSS-Information,
+ id-GANSS-Generic-Data,
+ id-TUTRANGANSSMeasurementThresholdInformation,
+ id-TUTRANGANSSMeasurementValueInformation,
+ id-Extended-RNC-ID,
+ id-HARQ-MemoryPartitioningInfoExtForMIMO,
+ id-Ext-Reference-E-TFCI-PO,
+ id-Ext-Max-Bits-MACe-PDU-non-scheduled,
+ id-TransportBearerNotSetupIndicator,
+ id-TransportBearerNotRequestedIndicator,
+ id-UARFCNforNt,
+ id-number-Of-Supported-Carriers,
+ id-multipleFreq-HSPDSCH-InformationList-ResponseTDDLCR,
+ id-tSN-Length,
+ id-multicarrier-number,
+ id-Extended-HS-SICH-ID,
+ id-Default-Serving-Grant-in-DTX-Cycle2,
+ id-SixtyfourQAM-UsageAllowedIndicator,
+ id-SixtyfourQAM-DL-UsageIndicator,
+ id-IPMulticastDataBearerIndication,
+ id-Extended-E-DCH-LCRTDD-PhysicalLayerCategory,
+ id-ContinuousPacketConnectivityHS-SCCH-less-Deactivate-Indicator,
+ id-Extended-E-HICH-ID-TDD,
+ id-E-DCH-MACdPDUSizeFormat,
+ id-MaximumNumber-Of-Retransmission-for-Scheduling-Info-LCRTDD,
+ id-E-DCH-RetransmissionTimer-for-SchedulingInfo-LCRTDD,
+ id-E-PUCH-PowerControlGAP,
+ id-HSDSCH-TBSizeTableIndicator,
+ id-E-DCH-DL-Control-Channel-Change-Information,
+ id-E-DCH-DL-Control-Channel-Grant-Information,
+ id-DGANSS-Corrections-Req,
+ id-UE-with-enhanced-HS-SCCH-support-indicator,
+ id-TransportBearerRequestIndicator,
+ id-EnhancedHSServingCC-Abort,
+ id-GANSS-Time-ID,
+ id-GANSS-AddIonoModelReq,
+ id-GANSS-EarthOrientParaReq,
+ id-GANSS-AddNavigationModelsReq,
+ id-GANSS-AddUTCModelsReq,
+ id-GANSS-AuxInfoReq,
+ id-GANSS-SBAS-ID,
+ id-GANSS-ID,
+ id-GANSS-Additional-Ionospheric-Model,
+ id-GANSS-Earth-Orientation-Parameters,
+ id-GANSS-Additional-Time-Models,
+ id-GANSS-Additional-Navigation-Models,
+ id-GANSS-Additional-UTC-Models,
+ id-GANSS-Auxiliary-Information,
+ id-GANSS-alm-keplerianNAVAlmanac,
+ id-GANSS-alm-keplerianReducedAlmanac,
+ id-GANSS-alm-keplerianMidiAlmanac,
+ id-GANSS-alm-keplerianGLONASS,
+ id-GANSS-alm-ecefSBASAlmanac,
+ id-EDCH-RACH-Report-Value,
+ id-EDCH-RACH-Report-IncrDecrThres,
+ id-EDCH-RACH-Report-ThresholdInformation,
+ id-MACes-Maximum-Bitrate-LCR,
+ id-E-AGCH-UE-Inactivity-Monitor-Threshold,
+ id-MultiCarrier-HSDSCH-Physical-Layer-Category,
+ id-MIMO-ReferenceSignal-InformationListLCR,
+ id-MIMO-SFMode-For-HSPDSCHDualStream,
+ id-MIMO-SFMode-Supported-For-HSPDSCHDualStream,
+ id-DL-RLC-PDU-Size-Format,
+ id-schedulingPriorityIndicator,
+ id-UE-SupportIndicatorExtension,
+ id-UE-AggregateMaximumBitRate-Enforcement-Indicator,
+ id-Single-Stream-MIMO-ActivationIndicator,
+ id-Single-Stream-MIMO-Mode-Indicator,
+ id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortion,
+ id-ULTimeslotISCPValue-For-CellPortion,
+ id-UpPTSInterferenceValue-For-CellPortion,
+ id-Best-Cell-Portions-ValueLCR,
+ id-Transmitted-Carrier-Power-For-CellPortion-ValueLCR,
+ id-Received-total-wide-band-power-For-CellPortion-ValueLCR,
+ id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue,
+ id-UL-TimeslotISCP-For-CellPortion-Value,
+ id-HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR,
+ id-HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR,
+ id-E-DCHProvidedBitRateValueInformation-For-CellPortion,
+ id-UpPTSInterference-For-CellPortion-Value,
+ id-HS-DSCH-SPS-Reservation-Indicator,
+ id-E-DCH-SPS-Reservation-Indicator,
+ id-MultipleFreq-HARQ-MemoryPartitioning-InformationList,
+ id-DiversityMode,
+ id-TransmitDiversityIndicator,
+ id-NonCellSpecificTxDiversity,
+ id-RepetitionPeriodIndex,
+ id-MidambleShiftLCR,
+ id-MaxHSDSCH-HSSCCH-Power-per-CELLPORTION,
+ id-Additional-EDCH-Preconfiguration-Information,
+ id-EDCH-Indicator,
+ id-Ul-common-E-DCH-MACflow-Specific-InfoResponseListLCR-Ext,
+ id-E-RNTI-List-Request,
+ id-E-RNTI-List,
+ id-UL-Synchronisation-Parameters-For-FACHLCR,
+ id-UE-TS0-CapabilityLCR,
+ id-Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext,
+ id-Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext,
+ id-DGNSS-ValidityPeriod,
+ id-AssociatedPhsicalChannelID,
+ id-PhysicalChannelID-for-CommonERNTI-RequestedIndicator,
+ id-Initial-DL-Transmission-Power,
+ id-Maximum-DL-Power,
+ id-Minimum-DL-Power,
+ id-Multicell-EDCH-InformationItemIEs,
+ id-Multicell-EDCH-RL-Specific-InformationItemIEs
+
+
+
+FROM NBAP-Constants
+
+ Criticality,
+ ProcedureID,
+ ProtocolIE-ID,
+ TransactionID,
+ TriggeringMessage
+FROM NBAP-CommonDataTypes
+
+ NBAP-PROTOCOL-IES,
+ ProtocolExtensionContainer{},
+ ProtocolIE-Single-Container{},
+ NBAP-PROTOCOL-EXTENSION
+FROM NBAP-Containers;
+
+-- ==========================================
+-- A
+-- ==========================================
+
+AckNack-RepetitionFactor ::= INTEGER (1..4,...)
+-- Step: 1
+
+Ack-Power-Offset ::= INTEGER (0..8,...)
+-- According to mapping in ref. [9] subclause 4.2.1
+
+Acknowledged-PRACH-preambles-Value ::= INTEGER(0..240,...)
+-- According to mapping in [22].
+
+ActivationInformation ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF ActivationInformationItem
+
+ActivationInformationItem ::= SEQUENCE {
+ uU-ActivationState Uu-ActivationState,
+ iE-Extensions ProtocolExtensionContainer { { ActivationInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ActivationInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Setup-Info ::=SEQUENCE{
+ multicell-EDCH-Transport-Bearer-Mode Multicell-EDCH-Transport-Bearer-Mode,
+ additional-EDCH-Cell-Information-Setup Additional-EDCH-Cell-Information-Setup,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Setup-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Setup-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multicell-EDCH-Transport-Bearer-Mode ::= ENUMERATED {
+ separate-Iub-Transport-Bearer-Mode,
+ uL-Flow-Multiplexing-Mode
+}
+
+
+Additional-EDCH-Cell-Information-Setup ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-FDD-Setup-Cell-Information
+
+Additional-EDCH-FDD-Setup-Cell-Information ::=SEQUENCE{
+ additional-EDCH-UL-DPCH-Information-Setup Additional-EDCH-UL-DPCH-Information-Setup,
+ additional-EDCH-RL-Specific-Information-To-Setup Additional-EDCH-RL-Specific-Information-To-Setup-List,
+ additional-EDCH-FDD-Information Additional-EDCH-FDD-Information OPTIONAL,
+ additional-EDCH-F-DPCH-Information-Setup Additional-EDCH-F-DPCH-Information,
+ multicell-EDCH-Information Multicell-EDCH-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Setup-Cell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Setup-Cell-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Setup ::=SEQUENCE{
+ ul-ScramblingCode UL-ScramblingCode,
+ ul-SIR-Target UL-SIR,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-UL-DPCH-Information-Setup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Setup-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-F-DPCH-Information ::=SEQUENCE{
+ fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ limitedPowerIncrease LimitedPowerIncrease,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-F-DPCH-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-F-DPCH-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Setup-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF Additional-EDCH-RL-Specific-Information-To-Setup-ItemIEs
+
+
+Additional-EDCH-RL-Specific-Information-To-Setup-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ c-ID C-ID OPTIONAL,
+ firstRLS-indicator FirstRLS-Indicator,
+ propagationDelay PropagationDelay OPTIONAL,
+ dl-CodeInformation FDD-DL-CodeInformation,
+ initialDL-transmissionPower DL-Power,
+ maximumDL-power DL-Power,
+ minimumDL-power DL-Power,
+ f-DPCH-SlotFormat F-DPCH-SlotFormat OPTIONAL,
+ e-RNTI E-RNTI OPTIONAL,
+ multicell-EDCH-RL-Specific-Information Multicell-EDCH-RL-Specific-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-RL-Specific-Information-To-Setup-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Setup-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-To-Add-List ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Cell-Information-To-Add-ItemIEs
+
+Additional-EDCH-Cell-Information-To-Add-ItemIEs ::=SEQUENCE{
+ additional-EDCH-RL-Specific-Information-To-Add-ItemIEs Additional-EDCH-RL-Specific-Information-To-Add-ItemIEs,
+ additional-EDCH-FDD-Information Additional-EDCH-FDD-Information OPTIONAL,
+ multicell-EDCH-Information Multicell-EDCH-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-To-Add-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-To-Add-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Add-ItemIEs ::= SEQUENCE (SIZE (1.. maxNrOfEDCHRLs)) OF EDCH-Additional-RL-Specific-Information-To-Add-List
+
+EDCH-Additional-RL-Specific-Information-To-Add-List ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ c-ID C-ID,
+ dl-CodeInformation FDD-DL-CodeInformation,
+ initialDL-transmissionPower DL-Power OPTIONAL,
+ maximumDL-power DL-Power OPTIONAL,
+ minimumDL-power DL-Power OPTIONAL,
+ f-DPCH-SlotFormat F-DPCH-SlotFormat OPTIONAL,
+ multicell-EDCH-RL-Specific-Information Multicell-EDCH-RL-Specific-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-Additional-RL-Specific-Information-To-Add-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDCH-Additional-RL-Specific-Information-To-Add-List-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Modify-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF Additional-EDCH-RL-Specific-Information-To-Modify-ItemIEs
+
+Additional-EDCH-RL-Specific-Information-To-Modify-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ dl-CodeInformation FDD-DL-CodeInformation OPTIONAL,
+ maximumDL-power DL-Power OPTIONAL,
+ minimumDL-power DL-Power OPTIONAL,
+ f-DPCH-SlotFormat F-DPCH-SlotFormat OPTIONAL,
+
+ multicell-EDCH-RL-Specific-Information Multicell-EDCH-RL-Specific-Information OPTIONAL, iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-RL-Specific-Information-To-Modify-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Modify-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-FDD-Information ::=SEQUENCE{
+ additional-EDCH-MAC-d-Flows-Specific-Information Additional-EDCH-MAC-d-Flows-Specific-Info-List OPTIONAL,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ e-DCH-Maximum-Bitrate E-DCH-Maximum-Bitrate OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-Min-Set-E-TFCI E-TFCI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-MAC-d-Flows-Specific-Info-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF Additional-EDCH-MAC-d-Flows-Specific-Info
+
+Additional-EDCH-MAC-d-Flows-Specific-Info ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-MAC-d-Flows-Specific-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-MAC-d-Flows-Specific-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-Response-List ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-FDD-Information-Response-ItemIEs
+
+Additional-EDCH-FDD-Information-Response-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-Specific-Information-Response EDCH-Additional-RL-Specific-Information-Response-List OPTIONAL,
+ additional-EDCH-MAC-d-Flow-Specific-Information-Response Additional-EDCH-MAC-d-Flow-Specific-Information-Response-List OPTIONAL,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Information-Response-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-Additional-RL-Specific-Information-Response-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF EDCH-Additional-RL-Specific-Information-Response-ItemIEs
+
+EDCH-Additional-RL-Specific-Information-Response-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ received-total-wide-band-power Received-total-wide-band-power-Value,
+ dL-PowerBalancing-ActivationIndicator DL-PowerBalancing-ActivationIndicator OPTIONAL,
+ rL-Set-ID RL-Set-ID,
+ e-DCH-RL-Set-ID RL-Set-ID,
+ e-DCH-FDD-DL-Control-Channel-Information E-DCH-FDD-DL-Control-Channel-Information,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-Additional-RL-Specific-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDCH-Additional-RL-Specific-Information-Response-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-Response-RLReconf-List::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-FDD-Information-Response-RLReconf-Items
+
+Additional-EDCH-FDD-Information-Response-RLReconf-Items::=SEQUENCE{
+ additional-EDCH-FDD-Information-Response-ItemIEs Additional-EDCH-FDD-Information-Response-ItemIEs OPTIONAL,
+ additional-Modififed-EDCH-FDD-Information-Response-ItemIEs Additional-Modififed-EDCH-FDD-Information-Response-ItemIEs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Information-Response-RLReconf-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Information-Response-RLReconf-Items-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-Modififed-EDCH-FDD-Information-Response-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-Modified-RL-Specific-Information-Response EDCH-Additional-Modified-RL-Specific-Information-Response-List OPTIONAL,
+ additional-EDCH-MAC-d-Flow-Specific-Information-Response Additional-EDCH-MAC-d-Flow-Specific-Information-Response-List OPTIONAL,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-Modififed-EDCH-FDD-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-Modififed-EDCH-FDD-Information-Response-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-Additional-Modified-RL-Specific-Information-Response-List ::= SEQUENCE (SIZE (1.. maxNrOfEDCHRLs)) OF EDCH-Additional-Modified-RL-Specific-Information-Response-List-Items
+
+EDCH-Additional-Modified-RL-Specific-Information-Response-List-Items ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ dL-PowerBalancing-UpdatedIndicator DL-PowerBalancing-UpdatedIndicator OPTIONAL,
+ e-DCH-FDD-DL-Control-Channel-Information E-DCH-FDD-DL-Control-Channel-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-Additional-Modified-RL-Specific-Information-Response-List-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDCH-Additional-Modified-RL-Specific-Information-Response-List-Items-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-MAC-d-Flow-Specific-Information-Response-List::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF Additional-EDCH-MAC-d-Flows-Specific-Info-Response
+
+Additional-EDCH-MAC-d-Flows-Specific-Info-Response ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-MAC-d-Flows-Specific-Info-Response-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-MAC-d-Flows-Specific-Info-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-Response-RL-Add-List ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Cell-Information-Response-RL-Add-ItemIEs
+
+Additional-EDCH-Cell-Information-Response-RL-Add-ItemIEs ::=SEQUENCE{
+ additional-EDCH-FDD-Information-Response Additional-EDCH-FDD-Information-Response-ItemIEs OPTIONAL,
+ additional-EDCH-Serving-Cell-Change-Information-Response E-DCH-Serving-Cell-Change-Info-Response OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-Response-RL-Add-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-Response-RL-Add-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-ConfigurationChange-List ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-ConfigurationChange-Info-ItemIEs
+
+Additional-EDCH-ConfigurationChange-Info-ItemIEs ::=SEQUENCE{
+ additional-EDCH-UL-DPCH-Information-Modify Additional-EDCH-UL-DPCH-Information-Modify OPTIONAL,
+ additional-EDCH-RL-Specific-Information-To-Add Additional-EDCH-RL-Specific-Information-To-Add-ItemIEs OPTIONAL,
+ additional-EDCH-RL-Specific-Information-To-Modify Additional-EDCH-RL-Specific-Information-To-Modify-List OPTIONAL,
+ additional-EDCH-FDD-Information-To-Modify Additional-EDCH-FDD-Information OPTIONAL,
+ additional-EDCH-F-DPCH-Information-Modify Additional-EDCH-F-DPCH-Information OPTIONAL,
+ multicell-EDCH-Information Multicell-EDCH-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-ConfigurationChange-Info-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-ConfigurationChange-Info-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Modify ::=SEQUENCE{
+ ul-ScramblingCode UL-ScramblingCode OPTIONAL,
+ ul-SIR-Target UL-SIR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-UL-DPCH-Information-Modify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-Removal-List ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Cell-Information-Removal-Info-ItemIEs
+
+Additional-EDCH-Cell-Information-Removal-Info-ItemIEs ::=SEQUENCE{
+ rL-on-Secondary-UL-Frequency RL-on-Secondary-UL-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-Removal-Info-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-Removal-Info-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-on-Secondary-UL-Frequency ::= ENUMERATED {
+ remove,
+ ...
+}
+
+Additional-EDCH-FDD-Update-Information ::=SEQUENCE{
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ additional-EDCH-DL-Control-Channel-Change-Information Additional-EDCH-DL-Control-Channel-Change-Information-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Update-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Update-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Additional-EDCH-DL-Control-Channel-Change-Information-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF Additional-EDCH-DL-Control-Channel-Change-Info-ItemIEs
+
+Additional-EDCH-DL-Control-Channel-Change-Info-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-DL-Control-Channel-Change-Info-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-DL-Control-Channel-Change-Info-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalMeasurementValueList::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF AdditionalMeasurementValue
+
+AdditionalMeasurementValue ::= SEQUENCE {
+ uARFCN UARFCN,
+ timeSlotMeasurementValueListLCR TimeSlotMeasurementValueListLCR,
+ iE-Extensions ProtocolExtensionContainer { {AdditionalMeasurementValueList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AdditionalMeasurementValueList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalTimeSlotListLCR::= SEQUENCE (SIZE (0..maxFrequencyinCell-1)) OF AdditionalTimeSlotLCR
+
+AdditionalTimeSlotLCR ::= SEQUENCE {
+ uARFCN UARFCN,
+ timeslot-InitiatedListLCR TimeSlot-InitiatedListLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AdditionalTimeSlotLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AdditionalTimeSlotLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AddorDeleteIndicator ::= ENUMERATED {
+ add,
+ delete
+}
+
+Active-Pattern-Sequence-Information ::= SEQUENCE {
+ cMConfigurationChangeCFN CFN,
+ transmission-Gap-Pattern-Sequence-Status Transmission-Gap-Pattern-Sequence-Status-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Active-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Active-Pattern-Sequence-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transmission-Gap-Pattern-Sequence-Status-List ::= SEQUENCE (SIZE (0..maxTGPS)) OF
+ SEQUENCE {
+ tGPSID TGPSID,
+ tGPRC TGPRC,
+ tGCFN CFN,
+ iE-Extensions ProtocolExtensionContainer { { Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AICH-Power ::= INTEGER (-22..5)
+-- Offset in dB.
+
+AICH-TransmissionTiming ::= ENUMERATED {
+ v0,
+ v1
+}
+
+AllocationRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {AllocationRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllocationRetentionPriority-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AlternativeFormatReportingIndicator ::= ENUMERATED {
+alternativeFormatAllowed,...
+}
+
+Angle-Of-Arrival-Value-LCR ::= SEQUENCE {
+ aOA-LCR AOA-LCR,
+ aOA-LCR-Accuracy-Class AOA-LCR-Accuracy-Class,
+ iE-Extensions ProtocolExtensionContainer { {Angle-Of-Arrival-Value-LCR-ExtIEs} } OPTIONAL,
+...
+}
+
+Angle-Of-Arrival-Value-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AOA-LCR ::= INTEGER (0..719)
+-- Angle Of Arrival for 1.28Mcps TDD
+
+AOA-LCR-Accuracy-Class ::= ENUMERATED {a,b,c,d,e,f,g,h,...}
+
+AvailabilityStatus ::= ENUMERATED {
+ empty,
+ in-test,
+ failed,
+ power-off,
+ off-line,
+ off-duty,
+ dependency,
+ degraded,
+ not-installed,
+ log-full,
+ ...
+}
+
+-- ==========================================
+-- B
+-- ==========================================
+
+BCCH-Specific-HSDSCH-RNTI-Information::= SEQUENCE {
+ bCCH-Specific-HSDSCH-RNTI HSDSCH-RNTI,
+ hSSCCH-Power DL-Power,
+ hSPDSCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { BCCH-Specific-HSDSCH-RNTI-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BCCH-Specific-HSDSCH-RNTI-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BCCH-Specific-HSDSCH-RNTI-InformationLCR::= SEQUENCE {
+ bCCH-Specific-HSDSCH-RNTI HSDSCH-RNTI,
+ hSSCCH-Power DL-Power,
+ hSPDSCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { BCCH-Specific-HSDSCH-RNTI-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BCCH-Specific-HSDSCH-RNTI-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BCCH-ModificationTime ::= INTEGER (0..511)
+-- Time = BCCH-ModificationTime * 8
+-- Range 0 to 4088, step 8
+-- All SFN values in which MIB may be mapped are allowed
+
+Best-Cell-Portions-Value::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF Best-Cell-Portions-Item
+
+Best-Cell-Portions-Item ::= SEQUENCE {
+ cellPortionID CellPortionID,
+ sIRValue SIR-Value,
+ iE-Extensions ProtocolExtensionContainer { { Best-Cell-Portions-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Best-Cell-Portions-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Best-Cell-Portions-ValueLCR::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF Best-Cell-Portions-ItemLCR
+
+Best-Cell-Portions-ItemLCR ::= SEQUENCE {
+ cellPortionLCRID CellPortionLCRID,
+ rSCPValue RSCP-Value,
+ iE-Extensions ProtocolExtensionContainer { { Best-Cell-Portions-ItemLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Best-Cell-Portions-ItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BindingID ::= OCTET STRING (SIZE (1..4, ...))
+-- If the Binding ID includes a UDP port, the UDP port is included in octet 1 and 2.The first octet of
+-- the UDP port field is included in the first octet of the Binding ID.
+
+BetaCD ::= INTEGER (0..15)
+
+BlockingPriorityIndicator ::= ENUMERATED {
+ high,
+ normal,
+ low,
+ ...
+}
+-- High priority: Block resource immediately.
+-- Normal priority: Block resource when idle or upon timer expiry.
+-- Low priority: Block resource when idle.
+
+SCTD-Indicator ::= ENUMERATED {
+ active,
+ inactive
+}
+
+BundlingModeIndicator ::= ENUMERATED {
+ bundling,
+ no-bundling
+}
+
+BroadcastCommonTransportBearerIndication ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ cid C-ID,
+ iE-Extensions ProtocolExtensionContainer { { BroadcastCommonTransportBearerIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastCommonTransportBearerIndication-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastReference ::= BIT STRING (SIZE (24))
+
+-- ==========================================
+-- C
+-- ==========================================
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ hardware-failure,
+ oam-intervention,
+ not-enough-user-plane-processing-resources,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ unspecified,
+ abstract-syntax-error-falsely-constructed-message,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unknown-C-ID,
+ cell-not-available,
+ power-level-not-supported,
+ dl-radio-resources-not-available,
+ ul-radio-resources-not-available,
+ rl-already-ActivatedOrAllocated,
+ nodeB-Resources-unavailable,
+ measurement-not-supported-for-the-object,
+ combining-resources-not-available,
+ requested-configuration-not-supported,
+ synchronisation-failure,
+ priority-transport-channel-established,
+ sIB-Origination-in-Node-B-not-Supported,
+ requested-tx-diversity-mode-not-supported,
+ unspecified,
+ bCCH-scheduling-error,
+ measurement-temporarily-not-available,
+ invalid-CM-settings,
+ reconfiguration-CFN-not-elapsed,
+ number-of-DL-codes-not-supported,
+ s-cpich-not-supported,
+ combining-not-supported,
+ ul-sf-not-supported,
+ dl-SF-not-supported,
+ common-transport-channel-type-not-supported,
+ dedicated-transport-channel-type-not-supported,
+ downlink-shared-channel-type-not-supported,
+ uplink-shared-channel-type-not-supported,
+ cm-not-supported,
+ tx-diversity-no-longer-supported,
+ unknown-Local-Cell-ID,
+ ...,
+ number-of-UL-codes-not-supported,
+ information-temporarily-not-available,
+ information-provision-not-supported-for-the-object,
+ cell-synchronisation-not-supported,
+ cell-synchronisation-adjustment-not-supported,
+ dpc-mode-change-not-supported,
+ iPDL-already-activated,
+ iPDL-not-supported,
+ iPDL-parameters-not-available,
+ frequency-acquisition-not-supported,
+ power-balancing-status-not-compatible,
+ requested-typeofbearer-re-arrangement-not-supported,
+ signalling-Bearer-Re-arrangement-not-supported,
+ bearer-Re-arrangement-needed,
+ delayed-activation-not-supported,
+ rl-timing-adjustment-not-supported,
+ mich-not-supported,
+ f-DPCH-not-supported,
+ modification-period-not-available,
+ pLCCH-not-supported,
+ continuous-packet-connectivity-DTX-DRX-operation-not-available,
+ continuous-packet-connectivity-UE-DTX-Cycle-not-available,
+ mIMO-not-available,
+ e-DCH-MACdPDU-SizeFormat-not-available,
+ multi-Cell-operation-not-available,
+ semi-Persistent-scheduling-not-supported,
+ continuous-Packet-Connectivity-DRX-not-supported,
+ continuous-Packet-Connectivity-DRX-not-available,
+ sixtyfourQAM-DL-and-MIMO-Combined-not-available,
+ s-cpich-power-offset-not-available,
+ tx-diversity-for-mimo-on-DL-control-channels-not-available,
+ single-Stream-MIMO-not-available,
+ multi-Cell-operation-with-MIMO-not-available,
+ multi-Cell-operation-with-Single-Stream-MIMO-not-available,
+ cellSpecificTxDiversityHandlingForMultiCellOperationNotAvailable,
+ multi-Cell-EDCH-operation-not-available
+
+
+}
+
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+
+CCTrCH-ID ::= INTEGER (0..15)
+
+Cell-Capability-Container ::= BIT STRING (SIZE (128))
+-- First bit: Cell Specific Tx Diversity Handling For Multi Cell Operation Capability
+-- Second bit: Multi Cell and MIMO Capability
+-- Third bit: Multi Cell and Single Stream MIMO Capability
+-- Fourth bit: Multi Cell E-DCH Capability
+-- Fifth bit: Separate Iub Transport Bearer Capability
+-- Sixth bit: E-DCH UL Flow Multiplexing Capability
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+Cell-ERNTI-Status-Information ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF Cell-ERNTI-Status-Information-Item
+
+Cell-ERNTI-Status-Information-Item ::= SEQUENCE {
+ c-ID C-ID,
+ vacant-ERNTI Vacant-ERNTI,
+ ...
+}
+
+Vacant-ERNTI ::= SEQUENCE (SIZE (1..maxERNTItoRelease)) OF E-RNTI
+
+
+CellParameterID ::= INTEGER (0..127,...)
+
+CellPortionID ::= INTEGER (0..maxNrOfCellPortionsPerCell-1,...)
+
+CellPortionLCRID ::= INTEGER (0..maxNrOfCellPortionsPerCellLCR-1,...)
+
+CellPortion-CapabilityLCR ::= ENUMERATED {
+ cell-portion-capable,
+ cell-portion-non-capable
+}
+
+CellSyncBurstCode ::= INTEGER(0..7, ...)
+
+CellSyncBurstCodeShift ::= INTEGER(0..7)
+
+CellSyncBurstRepetitionPeriod ::= INTEGER (0..4095)
+
+CellSyncBurstSIR ::= INTEGER (0..31)
+
+CellSyncBurstTiming ::= CHOICE {
+ initialPhase INTEGER (0..1048575,...),
+ steadyStatePhase INTEGER (0..255,...)
+}
+
+CellSyncBurstTimingLCR ::= CHOICE {
+ initialPhase INTEGER (0..524287,...),
+ steadyStatePhase INTEGER (0..127,...)
+}
+
+CellSyncBurstTimingThreshold ::= INTEGER(0..254)
+
+CFN ::= INTEGER (0..255)
+
+ChipOffset ::= INTEGER (0..38399)
+-- Unit Chip
+
+C-ID ::= INTEGER (0..65535)
+
+Closedlooptimingadjustmentmode ::= ENUMERATED {
+ adj-1-slot,
+ adj-2-slot,
+ ...
+}
+
+CodeRate ::= INTEGER (0..63)
+
+CodeRate-short ::= INTEGER (0..10)
+
+
+CommonChannelsCapacityConsumptionLaw ::= SEQUENCE (SIZE(1..maxNrOfSF)) OF
+ SEQUENCE {
+ dl-Cost INTEGER (0..65535),
+ ul-Cost INTEGER (0..65535),
+ iE-Extensions ProtocolExtensionContainer { { CommonChannelsCapacityConsumptionLaw-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CommonChannelsCapacityConsumptionLaw-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Common-EDCH-Capability ::= ENUMERATED {
+ common-EDCH-capable,
+ common-EDCH-non-capable
+}
+
+Common-E-DCH-HSDPCCH-Capability ::= ENUMERATED {
+ hSDPCCH-non-capable,
+ aCK-NACK-capable,
+ aCK-NACK-CQI-capable
+}
+
+Common-EDCH-System-InformationFDD ::= SEQUENCE {
+ common-E-DCH-UL-DPCH-Information Common-E-DCH-UL-DPCH-InfoItem OPTIONAL,
+ common-E-DCH-EDPCH-Information Common-E-DCH-EDPCH-InfoItem OPTIONAL,
+ common-E-DCH-Information Common-E-DCH-InfoItem OPTIONAL,
+ common-E-DCH-HSDPCCH-Information Common-E-DCH-HSDPCCH-InfoItem OPTIONAL,
+ common-E-DCH-Preamble-Control-Information Common-E-DCH-Preamble-Control-InfoItem OPTIONAL,
+ common-E-DCH-FDPCH-Information Common-E-DCH-FDPCH-InfoItem OPTIONAL,
+ common-E-DCH-E-AGCH-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber OPTIONAL,
+ common-E-DCH-Resource-Combination-Information Common-E-DCH-Resource-Combination-InfoList OPTIONAL,
+ ul-common-E-DCH-MACflow-Specific-Information Ul-common-E-DCH-MACflow-Specific-InfoList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Common-EDCH-System-InformationFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Common-EDCH-System-InformationFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-RNTI-List-Request CRITICALITY ignore EXTENSION NULL PRESENCE optional},
+ ...
+}
+
+
+Common-E-DCH-UL-DPCH-InfoItem ::= SEQUENCE {
+
+ uL-SIR-Target UL-SIR,
+ dPC-Mode DPC-Mode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-UL-DPCH-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-UL-DPCH-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-DCH-EDPCH-InfoItem ::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs,
+ ul-PunctureLimit PunctureLimit,
+ e-TFCS-Information E-TFCS-Information,
+ e-TTI E-TTI,
+ e-DPCCH-PO E-DPCCH-PO,
+ e-RGCH-2-IndexStepThreshold E-RGCH-2-IndexStepThreshold OPTIONAL,
+ e-RGCH-3-IndexStepThreshold E-RGCH-3-IndexStepThreshold OPTIONAL,
+ hARQ-Info-for-E-DCH HARQ-Info-for-E-DCH,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-EDPCH-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-EDPCH-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-DCH-InfoItem ::= SEQUENCE {
+ e-DCH-Reference-Power-Offset E-DCH-Reference-Power-Offset OPTIONAL,
+ e-DCH-PowerOffset-for-SchedulingInfo E-DCH-PowerOffset-for-SchedulingInfo OPTIONAL,
+ max-EDCH-Resource-Allocation-for-CCCH Max-EDCH-Resource-Allocation-for-CCCH,
+ max-Period-for-Collistion-Resolution Max-Period-for-Collistion-Resolution,
+ max-TB-Sizes Max-TB-Sizes OPTIONAL,
+ common-E-DCH-ImplicitRelease-Indicator BOOLEAN,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-DCH-HSDPCCH-InfoItem ::= SEQUENCE {
+ ackNackRepetitionFactor AckNack-RepetitionFactor,
+
+ ackPowerOffset Ack-Power-Offset,
+ nackPowerOffset Nack-Power-Offset,
+
+ common-E-DCH-CQI-Info Common-E-DCH-CQI-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-HSDPCCH-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-HSDPCCH-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Common-E-DCH-CQI-Info ::= SEQUENCE {
+ cqiFeedback-CycleK CQI-Feedback-Cycle,
+ cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL,
+ -- This IE shall be present if the CQI Feedback Cycle k is greater than 0
+ cqiPowerOffset CQI-Power-Offset,
+ measurement-Power-Offset Measurement-Power-Offset,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-CQI-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-CQI-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-DCH-Preamble-Control-InfoItem ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ common-E-DCH-PreambleSignatures PreambleSignatures,
+ scramblingCodeNumber ScramblingCodeNumber,
+ preambleThreshold PreambleThreshold,
+ e-AI-Indicator E-AI-Indicator OPTIONAL,
+ common-E-DCH-AICH-Information Common-E-DCH-AICH-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-Preamble-Control-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-Preamble-Control-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-DCH-AICH-Information ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ aICH-TransmissionTiming AICH-TransmissionTiming,
+ fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+ aICH-Power AICH-Power,
+ sTTD-Indicator STTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-AICH-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-AICH-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+
+Common-E-DCH-FDPCH-InfoItem ::= SEQUENCE {
+ f-DPCH-SlotFormat F-DPCH-SlotFormat,
+ fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-FDPCH-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-FDPCH-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Initial-DL-Transmission-Power CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-Maximum-DL-Power CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-Minimum-DL-Power CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
+ ...
+}
+
+Common-E-DCH-Resource-Combination-InfoList::= SEQUENCE (SIZE (1.. maxNrOfCommonEDCH)) OF Common-E-DCH-Resource-Combination-InfoList-Item
+
+Common-E-DCH-Resource-Combination-InfoList-Item ::= SEQUENCE {
+ soffset Soffset,
+ f-DPCH-DL-Code-Number FDD-DL-ChannelisationCodeNumber,
+ ul-DPCH-ScramblingCode UL-ScramblingCode,
+ e-RGCH-E-HICH-Channelisation-Code FDD-DL-ChannelisationCodeNumber,
+ e-RGCH-Signature-Sequence E-RGCH-Signature-Sequence OPTIONAL,
+ e-HICH-Signature-Sequence E-HICH-Signature-Sequence,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-Resource-Combination-InfoList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-Resource-Combination-InfoList-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Ul-common-E-DCH-MACflow-Specific-InfoList ::= SEQUENCE (SIZE (1..maxNrOfCommonMACFlows)) OF Ul-common-E-DCH-MACflow-Specific-InfoList-Item
+
+Ul-common-E-DCH-MACflow-Specific-InfoList-Item ::= SEQUENCE {
+ ul-Common-MACFlowID Common-MACFlow-ID,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ tnlQos TnlQos OPTIONAL,
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
+ bundlingModeIndicator BundlingModeIndicator OPTIONAL,
+ common-E-DCH-MACdFlow-Specific-Information Common-E-DCH-MACdFlow-Specific-InfoList,
+ iE-Extensions ProtocolExtensionContainer { { Ul-common-E-DCH-MACflow-Specific-InfoList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ul-common-E-DCH-MACflow-Specific-InfoList-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-DCH-MACdFlow-Specific-InfoList::= SEQUENCE (SIZE (1.. maxNrOfEDCHMACdFlows)) OF Common-E-DCH-MACdFlow-Specific-InfoList-Item
+
+Common-E-DCH-MACdFlow-Specific-InfoList-Item ::= SEQUENCE {
+ common-e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ maximum-Number-of-Retransmissions-For-E-DCH Maximum-Number-of-Retransmissions-For-E-DCH,
+ eDCH-HARQ-PO-FDD E-DCH-HARQ-PO-FDD,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ common-E-DCHLogicalChannelInformation Common-E-DCH-LogicalChannel-InfoList,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-MACdFlow-Specific-InfoList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-MACdFlow-Specific-InfoList-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-DCH-LogicalChannel-InfoList::= SEQUENCE (SIZE (1.. maxNoOfLogicalChannels)) OF Common-E-DCH-LogicalChannel-InfoList-Item
+
+Common-E-DCH-LogicalChannel-InfoList-Item ::= SEQUENCE {
+ logicalChannelId LogicalChannelID,
+ maximumMACcPDU-SizeExtended MAC-PDU-SizeExtended,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-LogicalChannel-InfoList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-LogicalChannel-InfoList-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-schedulingPriorityIndicator CRITICALITY ignore EXTENSION SchedulingPriorityIndicator PRESENCE optional},
+ ...
+}
+
+
+Common-EDCH-System-Information-ResponseFDD ::= SEQUENCE {
+ ul-common-E-DCH-MACflow-Specific-InfoResponse Ul-common-E-DCH-MACflow-Specific-InfoResponseList,
+ serving-Grant-Value E-Serving-Grant-Value,
+ iE-Extensions ProtocolExtensionContainer { { Common-EDCH-System-Information-ResponseFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-EDCH-System-Information-ResponseFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-E-RNTI-List CRITICALITY ignore EXTENSION E-RNTI-List PRESENCE optional},
+ ...
+}
+
+E-RNTI-List ::= SEQUENCE (SIZE (1..maxofERNTI)) OF E-RNTI
+
+Ul-common-E-DCH-MACflow-Specific-InfoResponseList ::= SEQUENCE (SIZE (1..maxNrOfCommonMACFlows)) OF Ul-common-E-DCH-MACflow-Specific-InfoResponseList-Item
+
+Ul-common-E-DCH-MACflow-Specific-InfoResponseList-Item ::= SEQUENCE {
+ ul-Common-MACFlowID Common-MACFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Ul-common-E-DCH-MACflow-Specific-InfoResponseList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ul-common-E-DCH-MACflow-Specific-InfoResponseList-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-MACFlows-to-DeleteFDD ::= SEQUENCE (SIZE (1.. maxNrOfCommonMACFlows)) OF Common-MACFlows-to-DeleteFDD-Item
+
+Common-MACFlows-to-DeleteFDD-Item ::= SEQUENCE {
+ common-MACFlow-ID Common-MACFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { Common-MACFlows-to-DeleteFDD-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-MACFlows-to-DeleteFDD-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-MACFlow-ID ::= INTEGER (0..maxNrOfCommonMACFlows-1)
+
+CommonMACFlow-Specific-InfoList ::= SEQUENCE (SIZE (1.. maxNrOfCommonMACFlows)) OF CommonMACFlow-Specific-InfoItem
+
+CommonMACFlow-Specific-InfoItem ::= SEQUENCE {
+ common-MACFlow-Id Common-MACFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ tnl-qos TnlQos OPTIONAL,
+ common-MACFlow-PriorityQueue-Information Common-MACFlow-PriorityQueue-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CommonMACFlow-Specific-InfoItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CommonMACFlow-Specific-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportBearerRequestIndicator CRITICALITY ignore EXTENSION TransportBearerRequestIndicator PRESENCE optional},
+ -- This IE should not be contained if the MAC flow is setup in procedure, and it should be contained if the MAC flow is modified in procedure.
+ ...
+}
+
+
+CommonMACFlow-Specific-InfoList-Response ::= SEQUENCE (SIZE (1..maxNrOfCommonMACFlows)) OF CommonMACFlow-Specific-InfoItem-Response
+
+CommonMACFlow-Specific-InfoItem-Response ::= SEQUENCE {
+ commonMACFlow-ID Common-MACFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ hSDSCH-Initial-Capacity-Allocation HSDSCH-Initial-Capacity-Allocation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CommonMACFlow-Specific-InfoItem-Response-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CommonMACFlow-Specific-InfoItem-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-MACFlow-PriorityQueue-Information ::= SEQUENCE (SIZE (1..maxNrOfcommonMACQueues)) OF Common-MACFlow-PriorityQueue-Item
+
+Common-MACFlow-PriorityQueue-Item ::= SEQUENCE {
+ priority-Queue-Information-for-Enhanced-FACH Priority-Queue-Information-for-Enhanced-FACH-PCH,
+ iE-Extensions ProtocolExtensionContainer { { Common-MACFlow-PriorityQueue-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Common-MACFlow-PriorityQueue-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+
+CommonMeasurementAccuracy ::= CHOICE {
+ tUTRANGPSMeasurementAccuracyClass TUTRANGPSAccuracyClass,
+ ...,
+ tUTRANGANSSMeasurementAccuracyClass TUTRANGANSSAccuracyClass
+}
+
+CommonMeasurementType ::= ENUMERATED {
+ received-total-wide-band-power,
+ transmitted-carrier-power,
+ acknowledged-prach-preambles,
+ ul-timeslot-iscp,
+ notUsed-1-acknowledged-PCPCH-access-preambles,
+ notUsed-2-detected-PCPCH-access-preambles,
+ ...,
+ uTRAN-GPS-Timing-of-Cell-Frames-for-UE-Positioning,
+ sFN-SFN-Observed-Time-Difference,
+ transmittedCarrierPowerOfAllCodesNotUsedForHSTransmission,
+ hS-DSCH-Required-Power,
+ hS-DSCH-Provided-Bit-Rate,
+ received-total-wide-band-power-for-cellPortion,
+ transmitted-carrier-power-for-cellPortion,
+ transmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmission-for-cellPortion,
+ upPTS-Interference,
+ dLTransmissionBranchLoad,
+ hS-DSCH-Required-Power-for-cell-portion,
+ hS-DSCH-Provided-Bit-Rate-for-cell-portion,
+ e-DCH-Provided-Bit-Rate,
+ e-DCH-Non-serving-Relative-Grant-Down-Commands,
+ received-Scheduled-EDCH-Power-Share,
+ received-Scheduled-EDCH-Power-Share-for-cellPortion,
+ uTRAN-GANSS-timing-of-cell-frames-for-UE-Positioning,
+ eDCH-RACH-report,
+ transmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmission-for-cellPortion,
+ ul-timeslot-iscp-for-cellPortion,
+ upPTS-Interference-for-cellPortion,
+ e-DCH-Provided-Bit-Rate-for-cellPortion
+
+}
+
+CommonMeasurementValue ::= CHOICE {
+ transmitted-carrier-power Transmitted-Carrier-Power-Value,
+ received-total-wide-band-power Received-total-wide-band-power-Value,
+ acknowledged-prach-preambles Acknowledged-PRACH-preambles-Value,
+ uL-TimeslotISCP UL-TimeslotISCP-Value,
+ notUsed-1-acknowledged-PCPCH-access-preambles NULL,
+ notUsed-2-detected-PCPCH-access-preambles NULL,
+ ...,
+ extension-CommonMeasurementValue Extension-CommonMeasurementValue
+}
+
+Extension-CommonMeasurementValue ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementValueIE }}
+
+Extension-CommonMeasurementValueIE NBAP-PROTOCOL-IES ::= {
+ { ID id-TUTRANGPSMeasurementValueInformation CRITICALITY ignore TYPE TUTRANGPSMeasurementValueInformation PRESENCE mandatory }|
+ { ID id-SFNSFNMeasurementValueInformation CRITICALITY ignore TYPE SFNSFNMeasurementValueInformation PRESENCE mandatory }|
+ { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmission CRITICALITY ignore TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue PRESENCE mandatory }|
+ { ID id-HS-DSCHRequiredPowerValueInformation CRITICALITY ignore TYPE HS-DSCHRequiredPower PRESENCE mandatory }|
+ { ID id-HS-DSCHProvidedBitRateValueInformation CRITICALITY ignore TYPE HS-DSCHProvidedBitRate PRESENCE mandatory }|
+ { ID id-Transmitted-Carrier-Power-For-CellPortion-Value CRITICALITY ignore TYPE Transmitted-Carrier-Power-For-CellPortion-Value PRESENCE mandatory }|
+ { ID id-Received-total-wide-band-power-For-CellPortion-Value CRITICALITY ignore TYPE Received-total-wide-band-power-For-CellPortion-Value PRESENCE mandatory }|
+ { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue CRITICALITY ignore TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue PRESENCE mandatory }|
+ { ID id-UpPTSInterferenceValue CRITICALITY ignore TYPE UpPTSInterferenceValue PRESENCE mandatory }|
+ { ID id-DLTransmissionBranchLoadValue CRITICALITY ignore TYPE DLTransmissionBranchLoadValue PRESENCE mandatory }|
+ { ID id-HS-DSCHRequiredPowerValueInformation-For-CellPortion CRITICALITY ignore TYPE HS-DSCHRequiredPowerValueInformation-For-CellPortion PRESENCE mandatory }|
+ { ID id-HS-DSCHProvidedBitRateValueInformation-For-CellPortion CRITICALITY ignore TYPE HS-DSCHProvidedBitRateValueInformation-For-CellPortion PRESENCE mandatory }|
+ { ID id-E-DCHProvidedBitRateValueInformation CRITICALITY ignore TYPE E-DCHProvidedBitRate PRESENCE mandatory }|
+ { ID id-E-DCH-Non-serving-Relative-Grant-Down-CommandsValue CRITICALITY ignore TYPE E-DCH-Non-serving-Relative-Grant-Down-Commands PRESENCE mandatory }|
+ { ID id-Received-Scheduled-EDCH-Power-Share-Value CRITICALITY ignore TYPE Received-Scheduled-EDCH-Power-Share-Value PRESENCE mandatory }|
+ { ID id-Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value CRITICALITY ignore TYPE Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value PRESENCE mandatory }|
+ { ID id-TUTRANGANSSMeasurementValueInformation CRITICALITY ignore TYPE TUTRANGANSSMeasurementValueInformation PRESENCE mandatory }|
+ { ID id-EDCH-RACH-Report-Value CRITICALITY ignore TYPE EDCH-RACH-Report-Value PRESENCE mandatory }|
+ -- FDD only
+ { ID id-Transmitted-Carrier-Power-For-CellPortion-ValueLCR CRITICALITY ignore TYPE Transmitted-Carrier-Power-For-CellPortion-ValueLCR PRESENCE mandatory }|
+ { ID id-Received-total-wide-band-power-For-CellPortion-ValueLCR CRITICALITY ignore TYPE Received-total-wide-band-power-For-CellPortion-ValueLCR PRESENCE mandatory }|
+ { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue CRITICALITY ignore TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue PRESENCE mandatory }|
+ { ID id-UL-TimeslotISCP-For-CellPortion-Value CRITICALITY ignore TYPE UL-TimeslotISCP-For-CellPortion-Value PRESENCE mandatory }|
+ { ID id-HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR CRITICALITY ignore TYPE HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR PRESENCE mandatory }|
+ { ID id-HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR CRITICALITY ignore TYPE HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR PRESENCE mandatory }|
+ { ID id-E-DCHProvidedBitRateValueInformation-For-CellPortion CRITICALITY ignore TYPE E-DCHProvidedBitRateValueInformation-For-CellPortion PRESENCE mandatory }|
+ { ID id-UpPTSInterference-For-CellPortion-Value CRITICALITY ignore TYPE UpPTSInterference-For-CellPortion-Value PRESENCE mandatory }
+}
+
+CommonMeasurementValueInformation ::= CHOICE {
+ measurementAvailable CommonMeasurementAvailable,
+ measurementnotAvailable CommonMeasurementnotAvailable
+}
+
+CommonMeasurementAvailable::= SEQUENCE {
+ commonmeasurementValue CommonMeasurementValue,
+ ie-Extensions ProtocolExtensionContainer { { CommonMeasurementAvailableItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CommonMeasurementAvailableItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+CommonMeasurementnotAvailable ::= NULL
+
+CommonPhysicalChannelID ::= INTEGER (0..255)
+
+CommonPhysicalChannelID768 ::= INTEGER (0..511)
+
+Common-PhysicalChannel-Status-Information ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer { { Common-PhysicalChannel-Status-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-PhysicalChannel-Status-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-PhysicalChannel-Status-Information768 ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer { { Common-PhysicalChannel-Status-Information768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-PhysicalChannel-Status-Information768-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CommonTransportChannelID ::= INTEGER (0..255)
+
+CommonTransportChannel-InformationResponse ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CommonTransportChannel-InformationResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CommonTransportChannel-InformationResponse-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-BroadcastCommonTransportBearerIndication CRITICALITY ignore EXTENSION BroadcastCommonTransportBearerIndication PRESENCE optional }|
+ { ID id-IPMulticastDataBearerIndication CRITICALITY ignore EXTENSION IPMulticastDataBearerIndication PRESENCE optional },
+ ...
+}
+
+Common-TransportChannel-Status-Information ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer { { Common-TransportChannel-Status-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-TransportChannel-Status-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CommunicationControlPortID ::= INTEGER (0..65535)
+
+Compressed-Mode-Deactivation-Flag::= ENUMERATED {
+ deactivate,
+ maintain-Active
+}
+
+ConfigurationGenerationID ::= INTEGER (0..255)
+-- Value '0' means "No configuration"
+
+ConstantValue ::= INTEGER (-10..10,...)
+-- -10 dB - +10 dB
+-- unit dB
+-- step 1 dB
+
+ContinuousPacketConnectivityDTX-DRX-Capability ::= ENUMERATED {
+ continuous-Packet-Connectivity-DTX-DRX-capable,
+ continuous-Packet-Connectivity-DTX-DRX-non-capable
+}
+
+ContinuousPacketConnectivityDTX-DRX-Information ::= SEQUENCE {
+ uE-DTX-DRX-Offset UE-DTX-DRX-Offset,
+ enabling-Delay Enabling-Delay,
+ dTX-Information DTX-Information ,
+ dRX-Information DRX-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivityDTX-DRX-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivityDTX-DRX-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ContinuousPacketConnectivityDTX-DRX-Information-to-Modify ::= SEQUENCE {
+ uE-DTX-DRX-Offset UE-DTX-DRX-Offset OPTIONAL,
+ enabling-Delay Enabling-Delay OPTIONAL,
+ dTX-Information-to-Modify DTX-Information-to-Modify OPTIONAL,
+ dRX-Information-to-Modify DRX-Information-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivityDTX-DRX-Information-to-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivityDTX-DRX-Information-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ContinuousPacketConnectivityHS-SCCH-less-Capability ::= ENUMERATED {
+ continuous-Packet-Connectivity-HS-SCCH-less-capable,
+ continuous-Packet-Connectivity-HS-SCCH-less-capable-non-capable
+}
+
+
+ContinuousPacketConnectivityHS-SCCH-less-Information ::= SEQUENCE (SIZE (1..maxNrOfHS-DSCH-TBSs-HS-SCCHless)) OF ContinuousPacketConnectivityHS-SCCH-less-InformationItem
+
+ContinuousPacketConnectivityHS-SCCH-less-InformationItem ::= SEQUENCE {
+ transport-Block-Size-Index Transport-Block-Size-Index,
+ hSPDSCH-Second-Code-Support HSPDSCH-Second-Code-Support,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivityHS-SCCH-less-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivityHS-SCCH-less-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ContinuousPacketConnectivityHS-SCCH-less-Information-Response ::= SEQUENCE {
+ hSPDSCH-First-Code-Index HSPDSCH-First-Code-Index,
+ hSPDSCH-Second-Code-Index HSPDSCH-Second-Code-Index OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivityHS-SCCH-less-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivityHS-SCCH-less-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ControlGAP ::= INTEGER (1..255)
+
+CPC-Information ::= SEQUENCE {
+ continuousPacketConnectivityDTX-DRX-Information ContinuousPacketConnectivityDTX-DRX-Information OPTIONAL,
+ continuousPacketConnectivityDTX-DRX-Information-to-Modify ContinuousPacketConnectivityDTX-DRX-Information-to-Modify OPTIONAL,
+ continuousPacketConnectivityHS-SCCH-less-Information ContinuousPacketConnectivityHS-SCCH-less-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CPC-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Deactivate-Indicator CRITICALITY reject EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Deactivate-Indicator PRESENCE optional},
+ ...
+}
+
+ContinuousPacketConnectivityHS-SCCH-less-Deactivate-Indicator ::= NULL
+
+CQI-DTX-Timer ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128, v256, v512, infinity}
+ -- Unit subframe
+
+
+CQI-Feedback-Cycle ::= ENUMERATED {v0, v2, v4, v8, v10, v20, v40, v80, v160,..., v16, v32, v64}
+
+CQI-Power-Offset ::= INTEGER (0..8,...)
+-- According to mapping in ref. [9] subclause 4.2.1
+
+CQI-RepetitionFactor ::= INTEGER (1..4,...)
+-- Step: 1
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureID ProcedureID OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ transactionID TransactionID OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber0 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CriticalityDiagnostics-IE-List-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }|
+ { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
+ ...
+}
+
+CRNC-CommunicationContextID ::= INTEGER (0..1048575)
+
+CSBMeasurementID ::= INTEGER (0..65535)
+
+CSBTransmissionID ::= INTEGER (0..65535)
+
+
+Common-EDCH-System-InformationLCR ::= SEQUENCE {
+ ul-common-E-DCH-MACflow-Specific-InformationLCR Ul-common-E-DCH-MACflow-Specific-InfoListLCR OPTIONAL,
+ common-E-PUCH-InformationLCR Common-E-PUCH-InformationLCR OPTIONAL,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD OPTIONAL,
+ maximum-Number-of-Retransmissions-For-SchedulingInfo Maximum-Number-of-Retransmissions-For-E-DCH OPTIONAL,
+ eDCH-Retransmission-Timer-SchedulingInfo E-DCH-MACdFlow-Retransmission-Timer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Common-EDCH-System-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Common-EDCH-System-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-UL-Synchronisation-Parameters-For-FACHLCR CRITICALITY reject EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }|
+{ ID id-PhysicalChannelID-for-CommonERNTI-RequestedIndicator CRITICALITY ignore EXTENSION PhysicalChannelID-for-CommonERNTI-RequestedIndicator PRESENCE optional},
+ ...
+}
+
+Common-E-PUCH-InformationLCR ::= SEQUENCE {
+ minCR CodeRate,
+ maxCR CodeRate,
+ harqInfo HARQ-Info-for-E-DCH,
+ pRXdes-base-perURAFCN PRXdes-base-perURAFCN OPTIONAL,
+ e-PUCH-TPC-StepSize TDD-TPC-UplinkStepSize-LCR OPTIONAL,
+ e-AGCH-TPC-StepSize TDD-TPC-DownlinkStepSize OPTIONAL,
+ e-PUCH-PowerControlGAP ControlGAP OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-PUCH-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Common-E-PUCH-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRXdes-base-perURAFCN ::= SEQUENCE (SIZE (1.. maxFrequencyinCell)) OF PRXdes-base-Item
+
+PRXdes-base-Item ::= SEQUENCE {
+ pRXdes-base PRXdes-base,
+ uARFCN UARFCN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRXdes-base-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRXdes-base-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Ul-common-E-DCH-MACflow-Specific-InfoListLCR ::= SEQUENCE (SIZE (1..maxNrOfCommonMACFlows)) OF Ul-common-E-DCH-MACflow-Specific-InfoList-ItemLCR
+
+Ul-common-E-DCH-MACflow-Specific-InfoList-ItemLCR ::= SEQUENCE {
+ ul-Common-MACFlowIDLCR Common-MACFlow-ID-LCR,
+ transportBearerRequestIndicator TransportBearerRequestIndicator OPTIONAL,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ tnlQos TnlQos OPTIONAL,
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator OPTIONAL,
+ common-E-DCH-MACdFlow-Specific-InformationLCR Common-E-DCH-MACdFlow-Specific-InfoListLCR OPTIONAL,
+ uARFCN UARFCN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Ul-common-E-DCH-MACflow-Specific-InfoList-ItemLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ul-common-E-DCH-MACflow-Specific-InfoList-ItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-DCH-MACdFlow-Specific-InfoListLCR ::= SEQUENCE (SIZE (1.. maxNrOfEDCHMACdFlowsLCR)) OF Common-E-DCH-MACdFlow-Specific-InfoList-ItemLCR
+
+Common-E-DCH-MACdFlow-Specific-InfoList-ItemLCR ::= SEQUENCE {
+ common-e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID-LCR,
+ maximum-Number-of-Retransmissions-For-E-DCH Maximum-Number-of-Retransmissions-For-E-DCH OPTIONAL,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ common-E-DCHLogicalChannelInformation Common-E-DCH-LogicalChannel-InfoList OPTIONAL,
+ eDCH-HARQ-PO-TDD E-DCH-HARQ-PO-TDD OPTIONAL,
+ eDCH-MACdFlow-Retransmission-Timer E-DCH-MACdFlow-Retransmission-Timer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-MACdFlow-Specific-InfoList-ItemLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-MACdFlow-Specific-InfoList-ItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+Common-EDCH-System-Information-ResponseLCR ::= SEQUENCE {
+ ul-common-E-DCH-MACflow-Specific-InfoResponseLCR Ul-common-E-DCH-MACflow-Specific-InfoResponseListLCR OPTIONAL,
+ common-E-AGCH-ListLCR Common-E-AGCH-ListLCR OPTIONAL,
+ common-E-HICH-ListLCR Common-E-HICH-ListLCR OPTIONAL,
+ common-E-RNTI-Info-LCR Common-E-RNTI-Info-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Common-EDCH-System-Information-ResponseLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-EDCH-System-Information-ResponseLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Ul-common-E-DCH-MACflow-Specific-InfoResponseListLCR-Ext CRITICALITY ignore EXTENSION Ul-common-E-DCH-MACflow-Specific-InfoResponseListLCR-Ext PRESENCE optional},
+ ...
+}
+
+Ul-common-E-DCH-MACflow-Specific-InfoResponseListLCR ::= SEQUENCE (SIZE (1..maxNrOfCommonMACFlows)) OF Ul-common-E-DCH-MACflow-Specific-InfoResponseList-ItemLCR
+
+Ul-common-E-DCH-MACflow-Specific-InfoResponseListLCR-Ext ::= SEQUENCE (SIZE (1..maxNrOfCommonMACFlowsLCRExt)) OF Ul-common-E-DCH-MACflow-Specific-InfoResponseList-ItemLCR
+
+Ul-common-E-DCH-MACflow-Specific-InfoResponseList-ItemLCR ::= SEQUENCE {
+ ul-Common-MACFlowID-LCR Common-MACFlow-ID-LCR,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ uARFCN UARFCN OPTIONAL,
+ -- the IE is not used.
+ iE-Extensions ProtocolExtensionContainer { { Ul-common-E-DCH-MACflow-Specific-InfoResponseList-ItemLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ul-common-E-DCH-MACflow-Specific-InfoResponseList-ItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-AGCH-ListLCR ::= SEQUENCE (SIZE (1.. maxNrOfEAGCHsLCR)) OF Common-E-AGCH-ItemLCR
+
+Common-E-AGCH-ItemLCR ::= SEQUENCE {
+ e-AGCH-ID E-AGCH-Id,
+ uARFCN UARFCN OPTIONAL,
+ -- the IE is not used.
+ iE-Extensions ProtocolExtensionContainer { { Common-E-AGCH-ItemLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-AGCH-ItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-HICH-ListLCR ::= SEQUENCE (SIZE (1.. maxNrOfEHICHsLCR)) OF Common-E-HICH-ItemLCR
+
+Common-E-HICH-ItemLCR ::= SEQUENCE {
+ eI EI,
+ e-HICH-ID E-HICH-ID-LCR,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-HICH-ItemLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-HICH-ItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-RNTI-Info-LCR ::= SEQUENCE (SIZE (1.. maxnrofERUCCHsLCR)) OF Common-E-RNTI-Info-ItemLCR
+
+Common-E-RNTI-Info-ItemLCR ::= SEQUENCE {
+ starting-E-RNTI E-RNTI,
+ number-of-Group INTEGER(1..32),
+ number-of-e-E-RNTI-perGroup INTEGER(1..7),
+ iE-Extensions ProtocolExtensionContainer { { Common-E-RNTI-Info-ItemLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-RNTI-Info-ItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-AssociatedPhsicalChannelID CRITICALITY reject EXTENSION CommonPhysicalChannelID PRESENCE optional},
+ ...
+}
+
+Common-MACFlows-to-DeleteLCR ::= SEQUENCE (SIZE (1.. maxNrOfCommonMACFlowsLCR)) OF Common-MACFlows-to-DeleteLCR-Item
+
+Common-MACFlows-to-DeleteLCR-Item ::= SEQUENCE {
+ common-MACFlow-ID-LCR Common-MACFlow-ID-LCR,
+ iE-Extensions ProtocolExtensionContainer { { Common-MACFlows-to-DeleteLCR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-MACFlows-to-DeleteLCR-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+Common-MACFlow-ID-LCR ::= INTEGER (0..maxNrOfCommonMACFlowsLCR-1)
+
+CommonMACFlow-Specific-InfoListLCR ::= SEQUENCE (SIZE (1.. maxNrOfCommonMACFlowsLCR)) OF CommonMACFlow-Specific-InfoItemLCR
+
+CommonMACFlow-Specific-InfoItemLCR ::= SEQUENCE {
+ common-MACFlow-ID-LCR Common-MACFlow-ID-LCR,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ tnl-qos TnlQos OPTIONAL,
+ common-MACFlow-PriorityQueue-InformationLCR Common-MACFlow-PriorityQueue-Information OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator OPTIONAL,
+ uARFCN UARFCN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CommonMACFlow-Specific-InfoItemLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CommonMACFlow-Specific-InfoItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+Common-H-RNTI-InformationLCR ::= SEQUENCE (SIZE (1.. maxNoOfCommonH-RNTI)) OF Common-H-RNTI-InfoItemLCR
+
+Common-H-RNTI-InfoItemLCR ::= SEQUENCE {
+ common-H-RNTI HSDSCH-RNTI,
+ iE-Extensions ProtocolExtensionContainer { { Common-H-RNTI-InfoItemLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Common-H-RNTI-InfoItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Sync-InformationLCR ::= SEQUENCE {
+ t-SYNC T-SYNC,
+ t-PROTECT T-PROTECT,
+ n-PROTECT N-PROTECT,
+ iE-Extensions ProtocolExtensionContainer { { Sync-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Sync-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CommonMACFlow-Specific-InfoList-ResponseLCR ::= SEQUENCE (SIZE (1..maxNrOfCommonMACFlows)) OF CommonMACFlow-Specific-InfoItem-ResponseLCR
+
+CommonMACFlow-Specific-InfoItem-ResponseLCR ::= SEQUENCE {
+ common-MACFlow-ID-LCR Common-MACFlow-ID-LCR,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ hSDSCH-Initial-Capacity-Allocation HSDSCH-Initial-Capacity-Allocation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CommonMACFlow-Specific-InfoItem-ResponseLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CommonMACFlow-Specific-InfoItem-ResponseLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+CPC-InformationLCR ::= SEQUENCE {
+ continuousPacketConnectivity-DRX-InformationLCR ContinuousPacketConnectivity-DRX-InformationLCR OPTIONAL,
+ continuousPacketConnectivity-DRX-Information-to-Modify-LCR ContinuousPacketConnectivity-DRX-Information-to-Modify-LCR OPTIONAL,
+ hS-DSCH-Semi-PersistentScheduling-Information-LCR HS-DSCH-Semi-PersistentScheduling-Information-LCR OPTIONAL,
+ hS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR HS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR OPTIONAL,
+ hS-DSCH-SPS-Deactivate-Indicator-LCR NULL OPTIONAL,
+ e-DCH-Semi-PersistentScheduling-Information-LCR E-DCH-Semi-PersistentScheduling-Information-LCR OPTIONAL,
+ e-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR E-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR OPTIONAL,
+ e-DCH-SPS-Deactivate-Indicator-LCR NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CPC-InformationLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-CapabilityLCR ::= ENUMERATED {
+ continuous-Packet-Connectivity-DRX-Capable,
+ continuous-Packet-Connectivity-DRX-Non-Capable
+}
+
+
+ContinuousPacketConnectivity-DRX-InformationLCR ::= SEQUENCE {
+ enabling-Delay Enabling-Delay,
+ hS-SCCH-DRX-Information-LCR HS-SCCH-DRX-Information-LCR,
+ e-AGCH-DRX-Information-LCR E-AGCH-DRX-Information-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivity-DRX-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-DRX-Information-LCR ::= SEQUENCE {
+ hS-SCCH-UE-DRX-Cycle-LCR UE-DRX-Cycle-LCR,
+ hS-SCCH-Inactivity-Threshold-for-UE-DRX-Cycle-LCR Inactivity-Threshold-for-UE-DRX-Cycle-LCR OPTIONAL,
+ hS-SCCH-UE-DRX-Offset-LCR UE-DRX-Offset-LCR,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-DRX-Information-LCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-DRX-Information-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-DRX-Information-LCR ::= CHOICE {
+ sameAsHS-SCCH NULL,
+ e-AGCH-DRX-Parameters E-AGCH-DRX-Parameters,
+ ...
+}
+
+E-AGCH-DRX-Parameters ::= SEQUENCE {
+ e-AGCH-UE-DRX-Cycle-LCR UE-DRX-Cycle-LCR,
+ e-AGCH-UE-Inactivity-Monitor-Threshold E-AGCH-UE-Inactivity-Monitor-Threshold OPTIONAL,
+ e-AGCH-UE-DRX-Offset-LCR UE-DRX-Offset-LCR,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-DRX-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-DRX-Parameters-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-DRX-Cycle-LCR ::= ENUMERATED {v1, v2, v4, v8, v16, v32, v64,...}
+ -- Unit subframe
+
+UE-DRX-Offset-LCR ::= INTEGER (0..63)
+ -- Unit subframe
+
+Inactivity-Threshold-for-UE-DRX-Cycle-LCR ::= ENUMERATED {v1, v2, v4, v8, v16, v32, v64,...}
+ -- Unit subframe
+
+E-AGCH-UE-Inactivity-Monitor-Threshold ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128, v256, v512, infinity,...}
+ -- Unit subframe
+
+ContinuousPacketConnectivity-DRX-Information-to-Modify-LCR ::= SEQUENCE {
+ enabling-Delay Enabling-Delay OPTIONAL,
+ dRX-Information-to-Modify-LCR DRX-Information-to-Modify-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivity-DRX-Information-to-Modify-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-Information-to-Modify-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRX-Information-to-Modify-LCR ::= CHOICE {
+ modify DRX-Information-to-Modify-Items-LCR,
+ deactivate NULL,
+ ...
+}
+
+DRX-Information-to-Modify-Items-LCR ::= SEQUENCE {
+ hS-SCCH-DRX-Information-LCR HS-SCCH-DRX-Information-LCR OPTIONAL,
+ e-AGCH-DRX-Information-LCR E-AGCH-DRX-Information-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRX-Information-to-Modify-Items-LCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRX-Information-to-Modify-Items-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-Information-ResponseLCR ::= SEQUENCE {
+ enabling-Delay Enabling-Delay OPTIONAL,
+ hS-SCCH-DRX-Information-ResponseLCR HS-SCCH-DRX-Information-ResponseLCR OPTIONAL,
+ e-AGCH-DRX-Information-ResponseLCR E-AGCH-DRX-Information-ResponseLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivity-DRX-Information-ResponseLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-Information-ResponseLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-DRX-Information-ResponseLCR ::= SEQUENCE {
+ hS-SCCH-UE-DRX-Cycle-LCR UE-DRX-Cycle-LCR OPTIONAL,
+ hS-SCCH-Inactivity-Threshold-for-UE-DRX-Cycle-LCR Inactivity-Threshold-for-UE-DRX-Cycle-LCR OPTIONAL,
+ hS-SCCH-UE-DRX-Offset-LCR UE-DRX-Offset-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-DRX-Information-ResponseLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-DRX-Information-ResponseLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-DRX-Information-ResponseLCR ::= CHOICE {
+ sameAsHS-SCCH NULL,
+ e-AGCH-DRX-Parameters-Response E-AGCH-DRX-Parameters-Response,
+ ...
+}
+
+E-AGCH-DRX-Parameters-Response ::= SEQUENCE {
+ e-AGCH-UE-DRX-Cycle-LCR UE-DRX-Cycle-LCR OPTIONAL,
+ e-AGCH-UE-Inactivity-Monitor-Threshold E-AGCH-UE-Inactivity-Monitor-Threshold OPTIONAL,
+ e-AGCH-UE-DRX-Offset-LCR UE-DRX-Offset-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-DRX-Parameters-Response-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-DRX-Parameters-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- ==========================================
+-- D
+-- ==========================================
+
+
+
+DATA-ID ::= INTEGER (0..3)
+
+DCH-ID ::= INTEGER (0..255)
+
+DCH-FDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-FDD-InformationItem
+
+DCH-FDD-InformationItem ::= SEQUENCE {
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
+ ul-FP-Mode UL-FP-Mode,
+ toAWS ToAWS,
+ toAWE ToAWE,
+ dCH-SpecificInformationList DCH-Specific-FDD-InformationList,
+ iE-Extensions ProtocolExtensionContainer { { DCH-FDD-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-FDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+DCH-Specific-FDD-InformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-Specific-FDD-Item
+
+DCH-Specific-FDD-Item ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ ul-TransportFormatSet TransportFormatSet,
+ dl-TransportFormatSet TransportFormatSet,
+ allocationRetentionPriority AllocationRetentionPriority,
+ frameHandlingPriority FrameHandlingPriority,
+ qE-Selector QE-Selector,
+ iE-Extensions ProtocolExtensionContainer { { DCH-Specific-FDD-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-Specific-FDD-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional },
+ ...
+}
+
+DCH-Indicator-For-E-DCH-HSDPA-Operation ::= ENUMERATED {
+ dch-not-present
+}
+
+DCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-InformationResponseItem
+
+DCH-InformationResponseItem ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DCH-InformationResponseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-InformationResponseItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportBearerNotSetupIndicator CRITICALITY ignore EXTENSION TransportBearerNotSetupIndicator PRESENCE optional }, -- FDD only
+ ...
+}
+
+DCH-MeasurementOccasion-Information ::= SEQUENCE (SIZE (1.. maxNrOfDCHMeasurementOccasionPatternSequence)) OF DchMeasurementOccasionInformation-Item
+
+DchMeasurementOccasionInformation-Item ::= SEQUENCE {
+ pattern-Sequence-Identifier Pattern-Sequence-Identifier,
+ status-Flag Status-Flag,
+ measurement-Occasion-Pattern-Sequence-parameters Measurement-Occasion-Pattern-Sequence-parameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DCH-MeasurementOccasion-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DCH-MeasurementOccasion-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Measurement-Occasion-Pattern-Sequence-parameters ::= SEQUENCE {
+ measurement-Occasion-Pattern-Sequence-parameters-k INTEGER(1..9),
+ measurement-Occasion-Pattern-Sequence-parameters-offset INTEGER(0..511),
+ measurement-Occasion-Pattern-Sequence-parameters-M-Length INTEGER(1..512),
+ measurement-Occasion-Pattern-Sequence-parameters-Timeslot-Bitmap BIT STRING (SIZE (7)),
+ iE-Extensions ProtocolExtensionContainer { { Measurement-Occasion-Pattern-Sequence-parameters-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Measurement-Occasion-Pattern-Sequence-parameters-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-TDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-TDD-InformationItem
+
+DCH-TDD-InformationItem ::= SEQUENCE {
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
+ ul-FP-Mode UL-FP-Mode,
+ toAWS ToAWS,
+ toAWE ToAWE,
+ dCH-SpecificInformationList DCH-Specific-TDD-InformationList,
+ iE-Extensions ProtocolExtensionContainer { { DCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-TDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
+ ...
+}
+
+DCH-Specific-TDD-InformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-Specific-TDD-Item
+
+DCH-Specific-TDD-Item ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ ul-CCTrCH-ID CCTrCH-ID,
+ dl-CCTrCH-ID CCTrCH-ID,
+ ul-TransportFormatSet TransportFormatSet,
+ dl-TransportFormatSet TransportFormatSet,
+ allocationRetentionPriority AllocationRetentionPriority,
+ frameHandlingPriority FrameHandlingPriority,
+ qE-Selector QE-Selector OPTIONAL,
+ -- This IE shall be present if DCH is part of set of Coordinated DCHs
+ iE-Extensions ProtocolExtensionContainer { { DCH-Specific-TDD-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-Specific-TDD-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional },
+ ...
+}
+
+FDD-DCHs-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF FDD-DCHs-to-ModifyItem
+
+FDD-DCHs-to-ModifyItem ::= SEQUENCE {
+ ul-FP-Mode UL-FP-Mode OPTIONAL,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ dCH-SpecificInformationList DCH-ModifySpecificInformation-FDD,
+ iE-Extensions ProtocolExtensionContainer { { FDD-DCHs-to-ModifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-DCHs-to-ModifyItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
+ ...
+}
+
+DCH-ModifySpecificInformation-FDD::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-ModifySpecificItem-FDD
+
+DCH-ModifySpecificItem-FDD::= SEQUENCE {
+ dCH-ID DCH-ID,
+ ul-TransportFormatSet TransportFormatSet OPTIONAL,
+ dl-TransportFormatSet TransportFormatSet OPTIONAL,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ frameHandlingPriority FrameHandlingPriority OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DCH-ModifySpecificItem-FDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-ModifySpecificItem-FDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional},
+ ...
+}
+
+
+TDD-DCHs-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-ModifyItem-TDD
+
+DCH-ModifyItem-TDD ::= SEQUENCE {
+ ul-FP-Mode UL-FP-Mode OPTIONAL,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ dCH-SpecificInformationList DCH-ModifySpecificInformation-TDD,
+ iE-Extensions ProtocolExtensionContainer { { TDD-DCHs-to-ModifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DCHs-to-ModifyItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
+ ...
+}
+
+DCH-ModifySpecificInformation-TDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-ModifySpecificItem-TDD
+
+DCH-ModifySpecificItem-TDD ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ ul-CCTrCH-ID CCTrCH-ID OPTIONAL,
+ dl-CCTrCH-ID CCTrCH-ID OPTIONAL,
+ ul-TransportFormatSet TransportFormatSet OPTIONAL,
+ dl-TransportFormatSet TransportFormatSet OPTIONAL,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ frameHandlingPriority FrameHandlingPriority OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DCH-ModifySpecificItem-TDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-ModifySpecificItem-TDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DedicatedChannelsCapacityConsumptionLaw ::= SEQUENCE ( SIZE(1..maxNrOfSF) ) OF
+ SEQUENCE {
+ dl-Cost-1 INTEGER (0..65535),
+ dl-Cost-2 INTEGER (0..65535),
+ ul-Cost-1 INTEGER (0..65535),
+ ul-Cost-2 INTEGER (0..65535),
+ iE-Extensions ProtocolExtensionContainer { { DedicatedChannelsCapacityConsumptionLaw-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DedicatedChannelsCapacityConsumptionLaw-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DedicatedMeasurementType ::= ENUMERATED {
+ sir,
+ sir-error,
+ transmitted-code-power,
+ rscp,
+ rx-timing-deviation,
+ round-trip-time,
+ ...,
+ rx-timing-deviation-LCR,
+ angle-Of-Arrival-LCR,
+ hs-sich-quality,
+ best-Cell-Portions,
+ rx-timing-deviation-768,
+ rx-timing-deviation-384-extended,
+ best-Cell-PortionsLCR
+
+}
+
+DedicatedMeasurementValue ::= CHOICE {
+ sIR-Value SIR-Value,
+ sIR-ErrorValue SIR-Error-Value,
+ transmittedCodePowerValue Transmitted-Code-Power-Value,
+ rSCP RSCP-Value,
+ rxTimingDeviationValue Rx-Timing-Deviation-Value,
+ roundTripTime Round-Trip-Time-Value,
+ ...,
+ extension-DedicatedMeasurementValue Extension-DedicatedMeasurementValue
+}
+
+Extension-DedicatedMeasurementValue ::= ProtocolIE-Single-Container {{ Extension-DedicatedMeasurementValueIE }}
+
+Extension-DedicatedMeasurementValueIE NBAP-PROTOCOL-IES ::= {
+ { ID id-Rx-Timing-Deviation-Value-LCR CRITICALITY reject TYPE Rx-Timing-Deviation-Value-LCR PRESENCE mandatory }|
+ { ID id-Angle-Of-Arrival-Value-LCR CRITICALITY reject TYPE Angle-Of-Arrival-Value-LCR PRESENCE mandatory }|
+ { ID id-HS-SICH-Reception-Quality CRITICALITY reject TYPE HS-SICH-Reception-Quality-Value PRESENCE mandatory }|
+ { ID id-Best-Cell-Portions-Value CRITICALITY reject TYPE Best-Cell-Portions-Value PRESENCE mandatory }|
+ { ID id-Rx-Timing-Deviation-Value-768 CRITICALITY reject TYPE Rx-Timing-Deviation-Value-768 PRESENCE mandatory }|
+ { ID id-Rx-Timing-Deviation-Value-384-ext CRITICALITY reject TYPE Rx-Timing-Deviation-Value-384-ext PRESENCE mandatory }|
+ { ID id-Extended-Round-Trip-Time-Value CRITICALITY reject TYPE Extended-Round-Trip-Time-Value PRESENCE mandatory }|
+ { ID id-Best-Cell-Portions-ValueLCR CRITICALITY reject TYPE Best-Cell-Portions-ValueLCR PRESENCE mandatory },
+ ...
+}
+
+DedicatedMeasurementValueInformation ::= CHOICE {
+ measurementAvailable DedicatedMeasurementAvailable,
+ measurementnotAvailable DedicatedMeasurementnotAvailable
+}
+
+DedicatedMeasurementAvailable::= SEQUENCE {
+ dedicatedmeasurementValue DedicatedMeasurementValue,
+ cFN CFN OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { DedicatedMeasurementAvailableItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementAvailableItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DedicatedMeasurementnotAvailable ::= NULL
+
+DelayedActivation ::= CHOICE {
+ cfn CFN,
+ separate-indication NULL
+}
+
+DelayedActivationUpdate ::= CHOICE {
+ activate Activate-Info,
+ deactivate Deactivate-Info
+}
+
+Activate-Info ::= SEQUENCE {
+ activation-type Execution-Type,
+ initial-dl-tx-power DL-Power,
+ firstRLS-Indicator FirstRLS-Indicator OPTIONAL, --FDD Only
+ propagation-delay PropagationDelay OPTIONAL, --FDD Only
+ iE-Extensions ProtocolExtensionContainer { { Activate-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Activate-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedPropagationDelay CRITICALITY reject EXTENSION ExtendedPropagationDelay PRESENCE mandatory }, --FDD Only
+ ...
+}
+
+Deactivate-Info ::= SEQUENCE {
+ deactivation-type Execution-Type,
+ iE-Extensions ProtocolExtensionContainer { { Deactivate-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Deactivate-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Execution-Type ::= CHOICE {
+ synchronised CFN,
+ unsynchronised NULL
+}
+
+DeltaSIR ::= INTEGER (0..30)
+-- Unit dB, Step 0.1 dB, Range 0..3 dB.
+
+DGANSSCorrections ::= SEQUENCE {
+ dGANSS-ReferenceTime INTEGER(0..119),
+ dGANSS-Information DGANSS-Information,
+ ie-Extensions ProtocolExtensionContainer { { DGANSSCorrections-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSSCorrections-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGANSS-Corrections-Req ::= SEQUENCE {
+ dGANSS-Signal-ID BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-Corrections-Req-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSS-Corrections-Req-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-ID CRITICALITY ignore EXTENSION GANSS-ID PRESENCE optional},
+ ...
+}
+
+DGANSS-Information ::= SEQUENCE (SIZE (1..maxSgnType)) OF DGANSS-InformationItem
+
+DGANSS-InformationItem ::= SEQUENCE {
+ gANSS-SignalId GANSS-Signal-ID OPTIONAL,
+ gANSS-StatusHealth GANSS-StatusHealth,
+-- The following IE shall be present if the Status Health IE value is not equal to "no data" or "invalid data"
+ dGANSS-SignalInformation DGANSS-SignalInformation OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-InformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSS-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGANSS-SignalInformation ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF DGANSS-SignalInformationItem
+
+DGANSS-SignalInformationItem ::= SEQUENCE {
+ satId INTEGER(0..63),
+ gANSS-iod BIT STRING (SIZE (10)),
+ udre UDRE,
+ ganss-prc INTEGER(-2047..2047),
+ ganss-rrc INTEGER(-127..127),
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-SignalInformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSS-SignalInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-DGNSS-ValidityPeriod CRITICALITY ignore EXTENSION DGNSS-ValidityPeriod PRESENCE optional},
+ ...
+}
+
+DGANSSThreshold ::= SEQUENCE {
+ pRCDeviation PRCDeviation,
+ ie-Extensions ProtocolExtensionContainer { { DGANSSThreshold-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSSThreshold-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGNSS-ValidityPeriod ::= SEQUENCE {
+ udreGrowthRate UDREGrowthRate,
+ udreValidityTime UDREValidityTime,
+ iE-Extensions ProtocolExtensionContainer { { DGNSS-ValidityPeriod-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGNSS-ValidityPeriod-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGPSCorrections ::= SEQUENCE {
+ gpstow GPSTOW,
+ status-health GPS-Status-Health,
+ satelliteinfo SAT-Info-DGPSCorrections,
+ ie-Extensions ProtocolExtensionContainer { { DGPSCorrections-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DGPSCorrections-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGPSThresholds ::= SEQUENCE {
+ prcdeviation PRCDeviation,
+ ie-Extensions ProtocolExtensionContainer { { DGPSThresholds-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DGPSThresholds-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DiscardTimer ::= ENUMERATED {v20,v40,v60,v80,v100,v120,v140,v160,v180,v200,v250,v300,v400,v500,v750,v1000,v1250,v1500,v1750,v2000,v2500,v3000,v3500,v4000,v4500,v5000,v7500,
+ ...
+}
+
+DiversityControlField ::= ENUMERATED {
+ may,
+ must,
+ must-not,
+ ...
+}
+
+DiversityMode ::= ENUMERATED {
+ none,
+ sTTD,
+ closed-loop-mode1,
+ not-used-closed-loop-mode2,
+ ...
+}
+
+DL-DPCH-SlotFormat ::= INTEGER (0..16,...)
+
+DL-DPCH-TimingAdjustment ::= ENUMERATED {
+ timing-advance,
+ timing-delay
+}
+
+DL-Timeslot-Information ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationItem
+
+DL-Timeslot-InformationItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tFCI-Presence TFCI-Presence,
+ dL-Code-Information TDD-DL-Code-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-TimeslotLCR-Information ::= SEQUENCE (SIZE (1.. maxNrOfDLTSLCRs)) OF DL-TimeslotLCR-InformationItem
+
+DL-TimeslotLCR-InformationItem ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tFCI-Presence TFCI-Presence,
+ dL-Code-LCR-Information TDD-DL-Code-LCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-TimeslotLCR-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-TimeslotLCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Initial-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-Maximum-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-Minimum-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+DL-Timeslot768-Information ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot768-InformationItem
+
+DL-Timeslot768-InformationItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tFCI-Presence TFCI-Presence,
+ dL-Code-768-Information TDD-DL-Code-768-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot768-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot768-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-FrameType ::= ENUMERATED {
+ typeA,
+ typeB,
+ ...
+}
+
+DL-or-Global-CapacityCredit ::= INTEGER (0..65535)
+
+DL-Power ::= INTEGER (-350..150)
+-- Value = DL-Power/10
+-- Unit dB, Range -35dB .. +15dB, Step +0.1dB
+
+DLPowerAveragingWindowSize ::= INTEGER (1..60)
+
+DL-PowerBalancing-Information ::= SEQUENCE {
+ powerAdjustmentType PowerAdjustmentType,
+ dLReferencePower DL-Power OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to 'Common'
+ dLReferencePowerList-DL-PC-Rqst DL-ReferencePowerInformationList OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to 'Individual'
+ maxAdjustmentStep MaxAdjustmentStep OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to 'Common' or 'Individual'
+ adjustmentPeriod AdjustmentPeriod OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to 'Common' or 'Individual'
+ adjustmentRatio ScaledAdjustmentRatio OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to 'Common' or 'Individual'
+ iE-Extensions ProtocolExtensionContainer { { DL-PowerBalancing-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DL-PowerBalancing-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-ReferencePowerInformationList ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF DL-ReferencePowerInformationItem
+
+DL-ReferencePowerInformationItem ::= SEQUENCE {
+ rL-ID RL-ID,
+ dl-Reference-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { {DL-ReferencePowerInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-ReferencePowerInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-PowerBalancing-ActivationIndicator ::= ENUMERATED {
+ dL-PowerBalancing-Activated
+}
+
+DL-PowerBalancing-UpdatedIndicator ::= ENUMERATED {
+ dL-PowerBalancing-Updated
+}
+
+DL-ScramblingCode ::= INTEGER (0..15)
+-- 0= Primary scrambling code of the cell, 1..15= Secondary scrambling code --
+
+DL-TimeslotISCP ::= INTEGER (0..91)
+
+DL-TimeslotISCPInfo ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-TimeslotISCPInfoItem
+
+DL-TimeslotISCPInfoItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ dL-TimeslotISCP DL-TimeslotISCP,
+ iE-Extensions ProtocolExtensionContainer { {DL-TimeslotISCPInfoItem-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+DL-TimeslotISCPInfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-TimeslotISCPInfoLCR ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-TimeslotISCPInfoItemLCR
+
+DL-TimeslotISCPInfoItemLCR ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ dL-TimeslotISCP DL-TimeslotISCP,
+ iE-Extensions ProtocolExtensionContainer { {DL-TimeslotISCPInfoItemLCR-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+DL-TimeslotISCPInfoItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-TPC-Pattern01Count ::= INTEGER (0..30,...)
+
+DLTransmissionBranchLoadValue ::= INTEGER (0..101,...)
+
+Downlink-Compressed-Mode-Method ::= ENUMERATED {
+ not-Used-puncturing,
+ sFdiv2,
+ higher-layer-scheduling,
+ ...
+}
+
+DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst
+
+DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst::= SEQUENCE {
+ timeSlot TimeSlotLCR,
+ midambleShiftAndBurstType MidambleShiftLCR,
+ dl-HS-PDSCH-Codelist-LCR-PSCH-ReconfRqst DL-HS-PDSCH-Codelist-LCR-PSCH-ReconfRqst,
+ maxHSDSCH-HSSCCH-Power MaximumTransmissionPower OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaxHSDSCH-HSSCCH-Power-per-CELLPORTION CRITICALITY ignore EXTENSION MaxHSDSCH-HSSCCH-Power-per-CELLPORTION PRESENCE optional},
+ ...
+}
+
+MaxHSDSCH-HSSCCH-Power-per-CELLPORTION ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF MaxHSDSCH-HSSCCH-Power-per-CELLPORTION-Item
+
+MaxHSDSCH-HSSCCH-Power-per-CELLPORTION-Item::= SEQUENCE {
+ cellPortionLCRID CellPortionLCRID,
+ maxHSDSCH-HSSCCH-Power MaximumTransmissionPower,
+ iE-Extensions ProtocolExtensionContainer { { MaxHSDSCH-HSSCCH-Power-per-CELLPORTION-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MaxHSDSCH-HSSCCH-Power-per-CELLPORTION-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-HS-PDSCH-Codelist-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSPDSCHs)) OF TDD-ChannelisationCode
+
+DPC-Mode ::= ENUMERATED {
+ mode0,
+ mode1,
+ ...
+}
+
+DPCH-ID ::= INTEGER (0..239)
+
+DPCH-ID768 ::= INTEGER (0..479)
+
+DRX-Information ::= SEQUENCE {
+ uE-DRX-Cycle UE-DRX-Cycle,
+ inactivity-Threshold-for-UE-DRX-Cycle Inactivity-Threshold-for-UE-DRX-Cycle,
+ inactivity-Threshold-for-UE-Grant-Monitoring Inactivity-Threshold-for-UE-Grant-Monitoring,
+ uE-DRX-Grant-Monitoring UE-DRX-Grant-Monitoring,
+ iE-Extensions ProtocolExtensionContainer { {DRX-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRX-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRX-Information-to-Modify ::= CHOICE {
+ modify DRX-Information-to-Modify-Items,
+ deactivate NULL,
+ ...
+}
+
+DRX-Information-to-Modify-Items ::= SEQUENCE {
+ uE-DRX-Cycle UE-DRX-Cycle OPTIONAL,
+ inactivity-Threshold-for-UE-DRX-Cycle Inactivity-Threshold-for-UE-DRX-Cycle OPTIONAL,
+ inactivity-Threshold-for-UE-Grant-Monitoring Inactivity-Threshold-for-UE-Grant-Monitoring OPTIONAL,
+ uE-DRX-Grant-Monitoring UE-DRX-Grant-Monitoring OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRX-Information-to-Modify-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRX-Information-to-Modify-Items-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRX-Interruption-by-HS-DSCH ::= ENUMERATED {
+ drx-Interruption-Configured,
+ drx-Interruption-Not-Configured,
+ ...
+}
+
+DSCH-ID ::= INTEGER (0..255)
+
+DSCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-InformationResponseItem
+
+DSCH-InformationResponseItem ::= SEQUENCE {
+ dSCH-ID DSCH-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DSCH-InformationResponseItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DSCH-InformationResponseItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DSCH-TDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-TDD-InformationItem
+
+DSCH-TDD-InformationItem ::= SEQUENCE {
+ dSCH-ID DSCH-ID,
+ cCTrCH-ID CCTrCH-ID,
+ transportFormatSet TransportFormatSet,
+ allocationRetentionPriority AllocationRetentionPriority,
+ frameHandlingPriority FrameHandlingPriority,
+ toAWS ToAWS,
+ toAWE ToAWE,
+ iE-Extensions ProtocolExtensionContainer { { DSCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCH-TDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
+ ...
+}
+
+DsField ::= BIT STRING (SIZE (8))
+
+DTX-Cycle-2ms-Items ::= SEQUENCE {
+ uE-DTX-Cycle1-2ms UE-DTX-Cycle1-2ms,
+ uE-DTX-Cycle2-2ms UE-DTX-Cycle2-2ms,
+ mAC-DTX-Cycle-2ms MAC-DTX-Cycle-2ms,
+ iE-Extensions ProtocolExtensionContainer { { DTX-Cycle-2ms-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Cycle-2ms-Items-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DTX-Cycle-2ms-to-Modify-Items ::= SEQUENCE {
+ uE-DTX-Cycle1-2ms UE-DTX-Cycle1-2ms,
+ uE-DTX-Cycle2-2ms UE-DTX-Cycle2-2ms,
+ mAC-DTX-Cycle-2ms MAC-DTX-Cycle-2ms,
+ iE-Extensions ProtocolExtensionContainer { { DTX-Cycle-2ms-to-Modify-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Cycle-2ms-to-Modify-Items-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DTX-Cycle-10ms-Items ::= SEQUENCE {
+ uE-DTX-Cycle1-10ms UE-DTX-Cycle1-10ms,
+ uE-DTX-Cycle2-10ms UE-DTX-Cycle2-10ms,
+ mAC-DTX-Cycle-10ms MAC-DTX-Cycle-10ms,
+ iE-Extensions ProtocolExtensionContainer { { DTX-Cycle-10ms-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Cycle-10ms-Items-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DTX-Cycle-10ms-to-Modify-Items ::= SEQUENCE {
+ uE-DTX-Cycle1-10ms UE-DTX-Cycle1-10ms,
+ uE-DTX-Cycle2-10ms UE-DTX-Cycle2-10ms,
+ mAC-DTX-Cycle-10ms MAC-DTX-Cycle-10ms,
+ iE-Extensions ProtocolExtensionContainer { { DTX-Cycle-10ms-to-Modify-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Cycle-10ms-to-Modify-Items-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DTX-Information ::= SEQUENCE {
+ e-DCH-TTI-Length E-DCH-TTI-Length,
+ inactivity-Threshold-for-UE-DTX-Cycle2 Inactivity-Threshold-for-UE-DTX-Cycle2,
+ uE-DTX-Long-Preamble UE-DTX-Long-Preamble,
+ mAC-Inactivity-Threshold MAC-Inactivity-Threshold ,
+ cQI-DTX-Timer CQI-DTX-Timer,
+ uE-DPCCH-burst1 UE-DPCCH-burst1,
+ uE-DPCCH-burst2 UE-DPCCH-burst2,
+ iE-Extensions ProtocolExtensionContainer { {DTX-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DTX-Information-to-Modify ::= CHOICE {
+ modify DTX-Information-to-Modify-Items,
+ deactivate NULL,
+ ...
+}
+
+DTX-Information-to-Modify-Items ::= SEQUENCE {
+ e-DCH-TTI-Length-to-Modify E-DCH-TTI-Length-to-Modify OPTIONAL,
+ inactivity-Threshold-for-UE-DTX-Cycle2 Inactivity-Threshold-for-UE-DTX-Cycle2 OPTIONAL,
+ uE-DTX-Long-Preamble UE-DTX-Long-Preamble OPTIONAL,
+ mAC-Inactivity-Threshold MAC-Inactivity-Threshold OPTIONAL,
+ cQI-DTX-Timer CQI-DTX-Timer OPTIONAL,
+ uE-DPCCH-burst1 UE-DPCCH-burst1 OPTIONAL,
+ uE-DPCCH-burst2 UE-DPCCH-burst2 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DTX-Information-to-Modify-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Information-to-Modify-Items-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Dual-Band-Capability ::= ENUMERATED {
+ dual-Band-Capable,
+ dual-Band-non-Capable
+}
+
+Dual-Band-Capability-Info::= SEQUENCE {
+ dual-Band-Capability Dual-Band-Capability,
+ possible-Secondary-Serving-Cell-List Possible-Secondary-Serving-Cell-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Dual-Band-Capability-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Dual-Band-Capability-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DwPCH-Power ::= INTEGER (-150..400,...)
+-- DwPCH-power = power * 10
+-- If power <= -15 DwPCH shall be set to -150
+-- If power >= 40 DwPCH shall be set to 400
+-- Unit dBm, Range -15dBm .. +40 dBm, Step +0.1dB
+
+
+-- ==========================================
+-- E
+-- ==========================================
+
+E-AGCH-Table-Choice ::= ENUMERATED{table16B, table16B-1, ...}
+
+E-AGCH-FDD-Code-Information ::= CHOICE {
+ replace E-AGCH-FDD-Code-List,
+ remove NULL,
+ ...
+}
+
+E-AGCH-FDD-Code-List ::= SEQUENCE (SIZE (1..maxNrOfE-AGCHs)) OF FDD-DL-ChannelisationCodeNumber
+
+E-AI-Capability ::= ENUMERATED {
+ e-AI-capable,
+ e-AI-non-capable
+}
+
+E-AI-Indicator ::= BOOLEAN
+
+
+E-DCH-Capability ::= ENUMERATED {
+ e-DCH-capable,
+ e-DCH-non-capable
+}
+
+E-DCHCapacityConsumptionLaw ::= SEQUENCE {
+ e-DCH-SF-allocation E-DCH-SF-allocation,
+ dl-Cost-1 INTEGER (0..65535) OPTIONAL,
+ dl-Cost-2 INTEGER (0..65535) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCHCapacityConsumptionLaw-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCHCapacityConsumptionLaw-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TDD-CapacityConsumptionLaw ::= SEQUENCE {
+ ul-Cost INTEGER (0..65535),
+ dl-Cost INTEGER (0..65535) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-TDD-CapacityConsumptionLaw-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-TDD-CapacityConsumptionLaw-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-SF-allocation ::= SEQUENCE ( SIZE(1..maxNrOfCombEDPDCH) ) OF
+ SEQUENCE {
+ ul-Cost-1 INTEGER (0..65535),
+ ul-Cost-2 INTEGER (0..65535),
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-SF-allocation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-SF-allocation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TTI2ms-Capability ::= BOOLEAN
+-- True = TTI 10ms and 2ms supported for E-DCH False = only TTI 10ms supported for E-DCH
+
+E-DCH-SF-Capability ::= ENUMERATED {
+ sf64,
+ sf32,
+ sf16,
+ sf8,
+ sf4,
+ sf4x2,
+ sf2x2,
+ sf4x2-and-sf2x2,
+ ...
+}
+
+E-DCH-HARQ-Combining-Capability ::= ENUMERATED {
+ iR-Combining-capable,
+ chase-Combining-capable,
+ iR-and-Chase-Combining-capable
+}
+
+E-DCH-DDI-Value ::= INTEGER (0..62)
+
+E-DCH-FDD-DL-Control-Channel-Information ::= SEQUENCE {
+ e-AGCH-And-E-RGCH-E-HICH-FDD-Scrambling-Code DL-ScramblingCode OPTIONAL,
+ e-AGCH-Channelisation-Code FDD-DL-ChannelisationCodeNumber OPTIONAL,
+ primary-e-RNTI E-RNTI OPTIONAL,
+ secondary-e-RNTI E-RNTI OPTIONAL,
+ e-RGCH-E-HICH-Channelisation-Code FDD-DL-ChannelisationCodeNumber OPTIONAL,
+ e-RGCH-Signature-Sequence E-RGCH-Signature-Sequence OPTIONAL,
+ e-HICH-Signature-Sequence E-HICH-Signature-Sequence OPTIONAL,
+ serving-Grant-Value E-Serving-Grant-Value OPTIONAL,
+ primary-Secondary-Grant-Selector E-Primary-Secondary-Grant-Selector OPTIONAL,
+ e-RGCH-Release-Indicator E-RGCH-Release-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-FDD-DL-Control-Channel-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-FDD-DL-Control-Channel-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Default-Serving-Grant-in-DTX-Cycle2 CRITICALITY ignore EXTENSION E-Serving-Grant-Value PRESENCE optional },
+ ...
+}
+
+E-DCH-FDD-Information ::= SEQUENCE {
+ e-DCH-MACdFlows-Information E-DCH-MACdFlows-Information,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ e-DCH-Maximum-Bitrate E-DCH-Maximum-Bitrate OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-Reference-Power-Offset E-DCH-Reference-Power-Offset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-FDD-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-FDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-PowerOffset-for-SchedulingInfo CRITICALITY ignore EXTENSION E-DCH-PowerOffset-for-SchedulingInfo PRESENCE optional}|
+ { ID id-SixteenQAM-UL-Operation-Indicator CRITICALITY reject EXTENSION SixteenQAM-UL-Operation-Indicator PRESENCE optional}|
+ { ID id-E-AGCH-Table-Choice CRITICALITY ignore EXTENSION E-AGCH-Table-Choice PRESENCE conditional},
+ -- The IE shall be present if the SixteenQAM UL Operation Indicator IE is set to "Activate"--
+ ...
+}
+
+E-DCH-FDD-Information-Response ::= SEQUENCE {
+ e-DCH-MACdFlow-Specific-InformationResp E-DCH-MACdFlow-Specific-InformationResp OPTIONAL,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-FDD-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-FDD-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-FDD-Information-to-Modify ::= SEQUENCE {
+ e-DCH-MACdFlow-Specific-Info-to-Modify E-DCH-MACdFlow-Specific-InfoList-to-Modify OPTIONAL,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ e-DCH-Maximum-Bitrate E-DCH-Maximum-Bitrate OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-Reference-Power-Offset E-DCH-Reference-Power-Offset OPTIONAL,
+ mACeReset-Indicator MACeReset-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-FDD-Information-to-Modify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-FDD-Information-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-PowerOffset-for-SchedulingInfo CRITICALITY ignore EXTENSION E-DCH-PowerOffset-for-SchedulingInfo PRESENCE optional}|
+ { ID id-SixteenQAM-UL-Operation-Indicator CRITICALITY reject EXTENSION SixteenQAM-UL-Operation-Indicator PRESENCE optional}|
+ { ID id-E-DCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION E-DCH-MACdPDUSizeFormat PRESENCE optional}|
+ { ID id-E-DCH-DL-Control-Channel-Grant-Information CRITICALITY ignore EXTENSION E-DCH-DL-Control-Channel-Grant-Information PRESENCE optional}|
+ { ID id-E-AGCH-Table-Choice CRITICALITY ignore EXTENSION E-AGCH-Table-Choice PRESENCE conditional},
+ -- The IE shall be present if the SixteenQAM UL Operation Indicator IE is set to "Activate"--
+ ...
+}
+
+E-DCH-FDD-Update-Information ::= SEQUENCE {
+ e-DCH-MACdFlow-Specific-UpdateInformation E-DCH-MACdFlow-Specific-UpdateInformation OPTIONAL,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-FDD-Update-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-FDD-Update-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-DL-Control-Channel-Change-Information CRITICALITY ignore EXTENSION E-DCH-DL-Control-Channel-Change-Information PRESENCE optional},
+ ...
+}
+
+
+E-DCH-MACdFlow-Specific-UpdateInformation ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-Specific-UpdateInformation-Item
+
+E-DCH-MACdFlow-Specific-UpdateInformation-Item ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ hARQ-Process-Allocation-NonSched-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlow-Specific-UpdateInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-Specific-UpdateInformation-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-DL-Control-Channel-Change-Information ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF E-DCH-DL-Control-Channel-Change-Information-Item
+
+E-DCH-DL-Control-Channel-Change-Information-Item ::= SEQUENCE {
+ e-DCH-RL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-DL-Control-Channel-Change-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-DL-Control-Channel-Change-Information-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-DL-Control-Channel-Grant-Information ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF E-DCH-DL-Control-Channel-Grant-Information-Item
+
+E-DCH-DL-Control-Channel-Grant-Information-Item ::= SEQUENCE {
+ e-DCH-RL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-DL-Control-Channel-Grant-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-DL-Control-Channel-Grant-Information-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-Grant-Type-Information ::= CHOICE {
+ e-DCH-Non-Scheduled-Transmission-Grant E-DCH-Non-Scheduled-Transmission-Grant-Items,
+ e-DCH-Scheduled-Transmission-Grant NULL,
+ ...
+}
+
+E-DCH-LogicalChannelInformation ::= SEQUENCE (SIZE (1..maxNoOfLogicalChannels)) OF E-DCH-LogicalChannelInformationItem
+
+E-DCH-LogicalChannelInformationItem ::= SEQUENCE {
+ logicalChannelId LogicalChannelID,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ schedulingInformation SchedulingInformation,
+ mACesGuaranteedBitRate MACesGuaranteedBitRate OPTIONAL,
+ e-DCH-DDI-Value E-DCH-DDI-Value,
+ mACd-PDU-Size-List E-DCH-MACdPDU-SizeList,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LogicalChannelInformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-LogicalChannelInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional}|
+ { ID id-MACes-Maximum-Bitrate-LCR CRITICALITY ignore EXTENSION MACes-Maximum-Bitrate-LCR PRESENCE optional}| --1.28Mcps TDD only
+ { ID id-UE-AggregateMaximumBitRate-Enforcement-Indicator CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate-Enforcement-Indicator PRESENCE optional},
+ ...
+}
+
+E-DCH-Maximum-Bitrate ::= INTEGER (0..5742,...,5743..11498)
+
+E-DCH-PowerOffset-for-SchedulingInfo ::= INTEGER (0.. maxNrOfEDCH-HARQ-PO-QUANTSTEPs)
+
+E-DCH-Processing-Overload-Level ::= INTEGER (0..10,...)
+
+E-DCH-Reference-Power-Offset ::= INTEGER (0.. maxNrOfEDCH-HARQ-PO-QUANTSTEPs)
+
+E-DCH-MACdPDU-SizeList ::= SEQUENCE (SIZE (1.. maxNrOfMACdPDUSize)) OF E-DCH-MACdPDU-SizeListItem
+
+E-DCH-MACdPDU-SizeListItem ::= SEQUENCE {
+ mACdPDU-Size MACdPDU-Size,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdPDU-SizeListItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdPDU-SizeListItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-MACdPDU-SizeCapability ::= ENUMERATED {
+ fixedSizeCapable,
+ flexibleSizeCapable
+}
+
+E-DCH-MACdPDUSizeFormat ::= ENUMERATED {
+ fixedMACdPDU-Size,
+ flexibleMACdPDU-Size
+}
+
+
+E-DCH-LogicalChannelToModify ::= SEQUENCE (SIZE (1..maxNoOfLogicalChannels)) OF E-DCH-LogicalChannelToModifyItem
+
+E-DCH-LogicalChannelToModifyItem ::= SEQUENCE {
+ logicalChannelId LogicalChannelID,
+ schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
+ schedulingInformation SchedulingInformation OPTIONAL,
+ mACesGuaranteedBitRate MACesGuaranteedBitRate OPTIONAL,
+ e-DCH-DDI-Value E-DCH-DDI-Value OPTIONAL,
+ mACd-PDU-Size-List E-DCH-MACdPDU-SizeToModifyList,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LogicalChannelToModifyItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-LogicalChannelToModifyItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional}|
+ { ID id-MACes-Maximum-Bitrate-LCR CRITICALITY ignore EXTENSION MACes-Maximum-Bitrate-LCR PRESENCE optional}, --1.28Mcps TDD only
+ ...
+}
+
+E-DCH-MACdPDU-SizeToModifyList ::= SEQUENCE (SIZE (0.. maxNrOfMACdPDUSize)) OF E-DCH-MACdPDU-SizeListItem
+
+
+
+E-DCH-LogicalChannelToDelete ::= SEQUENCE (SIZE (1..maxNoOfLogicalChannels)) OF E-DCH-LogicalChannelToDeleteItem
+
+E-DCH-LogicalChannelToDeleteItem ::= SEQUENCE {
+ logicalChannelId LogicalChannelID,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LogicalChannelToDeleteItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-LogicalChannelToDeleteItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LogicalChannelID ::= INTEGER (1..15)
+
+
+E-DCH-HARQ-PO-FDD ::= INTEGER (0.. maxNrOfEDCH-HARQ-PO-QUANTSTEPs)
+
+E-DCH-MACdFlow-ID ::= INTEGER (0..maxNrOfEDCHMACdFlows-1)
+
+E-DCH-MACdFlows-Information ::= SEQUENCE {
+ e-DCH-MACdFlow-Specific-Info E-DCH-MACdFlow-Specific-InfoList,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlows-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlows-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-MACdFlow-Multiplexing-List ::= BIT STRING ( SIZE(maxNrOfEDCHMACdFlows) )
+
+E-DCH-MACdFlow-Specific-InfoList ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-Specific-InfoItem
+
+E-DCH-MACdFlow-Specific-InfoItem ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority,
+ tnlQos TnlQos OPTIONAL,
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
+ maximum-Number-of-Retransmissions-For-E-DCH Maximum-Number-of-Retransmissions-For-E-DCH,
+ eDCH-HARQ-PO-FDD E-DCH-HARQ-PO-FDD,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ eDCH-Grant-Type-Information E-DCH-Grant-Type-Information,
+ bundlingModeIndicator BundlingModeIndicator OPTIONAL,
+ eDCHLogicalChannelInformation E-DCH-LogicalChannelInformation,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlow-Specific-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-Specific-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportBearerNotRequestedIndicator CRITICALITY ignore EXTENSION TransportBearerNotRequestedIndicator PRESENCE optional },
+ ...
+}
+
+E-DCH-MACdFlow-Specific-InformationResp ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-Specific-InformationResp-Item
+
+E-DCH-MACdFlow-Specific-InformationResp-Item ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ hARQ-Process-Allocation-NonSched-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlow-Specific-InformationResp-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-Specific-InformationResp-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportBearerNotSetupIndicator CRITICALITY ignore EXTENSION TransportBearerNotSetupIndicator PRESENCE optional }, -- FDD only
+ ...
+}
+
+E-DCH-MACdFlow-Specific-InfoList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-Specific-InfoItem-to-Modify
+
+E-DCH-MACdFlow-Specific-InfoItem-to-Modify ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ tnlQos TnlQos OPTIONAL,
+ maximum-Number-of-Retransmissions-For-E-DCH Maximum-Number-of-Retransmissions-For-E-DCH OPTIONAL,
+ eDCH-HARQ-PO-FDD E-DCH-HARQ-PO-FDD OPTIONAL,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ eDCH-Grant-Type-Information E-DCH-Grant-Type-Information OPTIONAL,
+ bundlingModeIndicator BundlingModeIndicator OPTIONAL,
+ eDCH-LogicalChannelToAdd E-DCH-LogicalChannelInformation OPTIONAL,
+ eDCH-LogicalChannelToModify E-DCH-LogicalChannelToModify OPTIONAL,
+ eDCH-LogicalChannelToDelete E-DCH-LogicalChannelToDelete OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-MACdFlows-to-Delete ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-to-Delete-Item
+
+E-DCH-MACdFlow-to-Delete-Item ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlow-to-Delete-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-to-Delete-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-Non-Scheduled-Transmission-Grant-Items ::= SEQUENCE {
+ -- The following IE shall be ignored if id-Ext-Max-Bits-MACe-PDU-non-scheduled is present in E-DCH-Non-Scheduled-Transmission-Grant-Items-ExtIEs
+ maxBits-MACe-PDU-non-scheduled Max-Bits-MACe-PDU-non-scheduled,
+ hARQ-Process-Allocation-NonSched-2ms HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Non-Scheduled-Transmission-Grant-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-Non-Scheduled-Transmission-Grant-Items-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ -- The following IE shall be present if the maximum number of bits to be signalled exceeds maxNrOfBits-MACe-PDU-non-scheduled
+ { ID id-Ext-Max-Bits-MACe-PDU-non-scheduled CRITICALITY reject EXTENSION Ext-Max-Bits-MACe-PDU-non-scheduled PRESENCE optional},
+ ...
+}
+
+E-DCH-Non-serving-Relative-Grant-Down-Commands ::= INTEGER (0..100,...)
+
+E-DCHProvidedBitRateValue ::= INTEGER(0..16777215,...,16777216..256000000)
+-- Unit bit/s, Range 0..2^24-1..2^24..256,000,000, Step 1 bit
+
+Maximum-Target-ReceivedTotalWideBandPower ::= INTEGER (0..621)
+-- mapping as for RTWP measurement value, as specified in [22]
+
+Target-NonServing-EDCH-To-Total-EDCH-Power-Ratio ::= INTEGER (0..100)
+-- Unit %, Range 0..100%, Step 1%
+
+E-DCH-RL-Indication ::= ENUMERATED {
+ e-DCH,
+ non-e-DCH
+}
+
+
+E-DCH-Serving-Cell-Change-Info-Response ::= SEQUENCE {
+ e-DCH-serving-cell-choice E-DCH-serving-cell-choice,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-serving-cell-informationResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-serving-cell-informationResponse-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-serving-cell-choice ::= CHOICE {
+ e-DCH-serving-cell-change-successful E-DCH-serving-cell-change-successful,
+ e-DCH-serving-cell-change-unsuccessful E-DCH-serving-cell-change-unsuccessful,
+ ...
+}
+
+E-DCH-serving-cell-change-successful ::= SEQUENCE {
+ e-DCH-RL-InformationList-Rsp E-DCH-RL-InformationList-Rsp,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-serving-cell-change-successful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-RL-InformationList-Rsp ::= SEQUENCE (SIZE (0..maxNrOfRLs)) OF E-DCH-RL-InformationList-Rsp-Item
+
+E-DCH-RL-InformationList-Rsp-Item ::= SEQUENCE {
+ rl-ID RL-ID,
+ e-DCH-FDD-DL-Control-Channel-Info E-DCH-FDD-DL-Control-Channel-Information,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-RL-InformationList-Rsp-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-serving-cell-change-successful-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-RL-InformationList-Rsp-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-serving-cell-change-unsuccessful ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-serving-cell-change-unsuccessful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-serving-cell-change-unsuccessful-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- The maximum repetitions should be limited to 1 so that this information is reported only once for a cell.
+EDCH-RACH-Report-Value ::= SEQUENCE (SIZE(1.. maxNrOfCommonEDCH)) OF
+ SEQUENCE {
+ granted-EDCH-RACH-resources Granted-EDCH-RACH-Resources-Value,
+ denied-EDCH-RACH-resources Denied-EDCH-RACH-Resources-Value,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-RACH-Report-Value-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-RACH-Report-Value-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TFCI-Table-Index ::= INTEGER (0..1,...,2..7)
+
+E-DCH-TTI-Length ::= CHOICE {
+ two-ms DTX-Cycle-2ms-Items,
+ ten-ms DTX-Cycle-10ms-Items,
+ ...
+}
+
+E-DCH-TTI-Length-to-Modify ::= CHOICE {
+ two-ms DTX-Cycle-2ms-to-Modify-Items,
+ ten-ms DTX-Cycle-10ms-to-Modify-Items,
+ ...
+}
+
+
+E-DPCCH-PO ::= INTEGER (0..maxNrOfEDPCCH-PO-QUANTSTEPs)
+
+E-DPDCH-PowerInterpolation ::= BOOLEAN
+
+E-Primary-Secondary-Grant-Selector ::= ENUMERATED {
+ primary,
+ secondary
+}
+
+E-DCH-MACdFlow-ID-LCR ::= INTEGER (0..maxNrOfEDCHMACdFlowsLCR-1)
+
+E-DCH-MACdFlows-to-DeleteLCR ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlowsLCR)) OF E-DCH-MACdFlow-to-Delete-ItemLCR
+
+E-DCH-MACdFlow-to-Delete-ItemLCR ::= SEQUENCE {
+ e-DCH-MACdFlow-ID-LCR E-DCH-MACdFlow-ID-LCR,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlow-to-Delete-ItemLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-to-Delete-ItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Enhanced-UE-DRX-InformationLCR ::= SEQUENCE {
+ t321 T321,
+ hS-DSCH-DRX-Cycle-FACH HS-DSCH-DRX-Cycle-FACH,
+ hS-DSCH-RX-Burst-FACH HS-DSCH-RX-Burst-FACH,
+ iE-Extensions ProtocolExtensionContainer { { Enhanced-UE-DRX-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Enhanced-UE-DRX-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-ID-LCR ::= INTEGER(0..255)
+E-HICH-Signature-Sequence ::= INTEGER (0..maxNrofSigSeqRGHI-1)
+
+End-Of-Audit-Sequence-Indicator ::= ENUMERATED {
+ end-of-audit-sequence,
+ not-end-of-audit-sequence
+}
+
+E-Serving-Grant-Value ::= INTEGER (0..38)
+
+E-RGCH-2-IndexStepThreshold ::= INTEGER (0..37)
+
+E-RGCH-3-IndexStepThreshold ::= INTEGER (0..37)
+
+E-RGCH-E-HICH-FDD-Code-Information ::= CHOICE {
+ replace E-RGCH-E-HICH-FDD-Code-List,
+ remove NULL,
+ ...
+}
+
+E-RGCH-E-HICH-FDD-Code-List ::= SEQUENCE (SIZE (1..maxNrOfE-RGCHs-E-HICHs)) OF FDD-DL-ChannelisationCodeNumber
+
+E-RGCH-Release-Indicator ::= ENUMERATED {e-RGCHreleased}
+
+E-RGCH-Signature-Sequence ::= INTEGER (0..maxNrofSigSeqRGHI-1)
+
+E-RNTI ::= INTEGER (0..65535)
+
+E-TFCI ::= INTEGER (0..127)
+
+E-TFCI-BetaEC-Boost ::= INTEGER (0..127,...)
+
+
+E-TFCI-Boost-Information ::= SEQUENCE {
+ e-TFCI-BetaEC-Boost E-TFCI-BetaEC-Boost,
+ uL-Delta-T2TP UL-Delta-T2TP OPTIONAL,
+ -- This IE shall be present if the E-TFCI BetaEC Boost IE value is not set to 127.
+ iE-Extensions ProtocolExtensionContainer { { E-TFCI-Boost-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-TFCI-Boost-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-TFCS-Information ::= SEQUENCE {
+ e-DCH-TFCI-Table-Index E-DCH-TFCI-Table-Index,
+ e-DCH-Min-Set-E-TFCI E-TFCI OPTIONAL,
+ reference-E-TFCI-Information Reference-E-TFCI-Information,
+ iE-Extensions ProtocolExtensionContainer { {E-TFCS-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-TFCS-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-TFCI-Boost-Information CRITICALITY reject EXTENSION E-TFCI-Boost-Information PRESENCE optional}|
+ { ID id-E-DPDCH-PowerInterpolation CRITICALITY reject EXTENSION E-DPDCH-PowerInterpolation PRESENCE optional},
+ ...
+}
+
+E-TTI ::= ENUMERATED {
+ e-TTI-2ms,
+ e-TTI-10ms
+}
+
+E-DCHProvidedBitRate ::= SEQUENCE (SIZE (1..maxNrOfPriorityClasses)) OF E-DCHProvidedBitRate-Item
+
+E-DCHProvidedBitRate-Item ::= SEQUENCE {
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ e-DCHProvidedBitRateValue E-DCHProvidedBitRateValue,
+ iE-Extensions ProtocolExtensionContainer { { E-DCHProvidedBitRate-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCHProvidedBitRate-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCHProvidedBitRateValueInformation-For-CellPortion ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF E-DCHProvidedBitRateValueInformation-For-CellPortion-Item
+
+E-DCHProvidedBitRateValueInformation-For-CellPortion-Item ::= SEQUENCE{
+ cellPortionLCRID CellPortionLCRID,
+ e-DCHProvidedBitRateValue E-DCHProvidedBitRate,
+ iE-Extensions ProtocolExtensionContainer { {E-DCHProvidedBitRateValueInformation-For-CellPortion-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCHProvidedBitRateValueInformation-For-CellPortion-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-PowerOffset ::= INTEGER (0..255,...)
+-- PowerOffset = -32 + offset * 0.25
+-- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
+
+E-RGCH-PowerOffset ::= INTEGER (0..255,...)
+-- PowerOffset = -32 + offset * 0.25
+-- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
+
+
+
+E-HICH-PowerOffset ::= INTEGER (0..255,...)
+-- PowerOffset = -32 + offset * 0.25
+-- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
+
+E-HICH-TimeOffset ::= INTEGER (4..44)
+
+E-HICH-TimeOffsetLCR ::= INTEGER (4..15)
+
+
+E-DCH-Information ::= SEQUENCE {
+ e-PUCH-Information E-PUCH-Information,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD,
+ e-DCH-MACdFlows-Information-TDD E-DCH-MACdFlows-Information-TDD,
+ e-DCH-Non-Scheduled-Grant-Info E-DCH-Non-Scheduled-Grant-Info OPTIONAL,
+ e-DCH-TDD-Information E-DCH-TDD-Information,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-PUCH-Information ::= SEQUENCE {
+ minCR CodeRate,
+ maxCR CodeRate,
+ harqInfo HARQ-Info-for-E-DCH,
+ n-E-UCCH N-E-UCCH,
+ iE-Extensions ProtocolExtensionContainer { { E-PUCH-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-PUCH-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-TFCS-Information-TDD ::= SEQUENCE {
+ e-DCH-QPSK-RefBetaInfo E-DCH-QPSK-RefBetaInfo,
+ e-DCH-sixteenQAM-RefBetaInfo E-DCH-sixteenQAM-RefBetaInfo,
+ iE-Extensions ProtocolExtensionContainer { { E-TFCS-Information-TDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-TFCS-Information-TDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-QPSK-RefBetaInfo ::= SEQUENCE (SIZE (1..maxNrOfRefBetas)) OF E-DCH-RefBeta-Item
+
+E-DCH-sixteenQAM-RefBetaInfo ::= SEQUENCE (SIZE (1..maxNrOfRefBetas)) OF E-DCH-RefBeta-Item
+
+E-DCH-RefBeta-Item ::= SEQUENCE {
+ refCodeRate CodeRate-short,
+ refBeta RefBeta
+}
+
+E-DCH-MACdFlows-Information-TDD ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-InfoTDDItem
+
+E-DCH-MACdFlow-InfoTDDItem ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority,
+ tnlQos TnlQos OPTIONAL,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
+ maximum-Number-of-Retransmissions-For-E-DCH Maximum-Number-of-Retransmissions-For-E-DCH,
+ eDCH-HARQ-PO-TDD E-DCH-HARQ-PO-TDD,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ eDCH-Grant-TypeTDD E-DCH-Grant-TypeTDD,
+ eDCHLogicalChannelInformation E-DCH-LogicalChannelInformation,
+ eDCH-MACdFlow-Retransmission-Timer E-DCH-MACdFlow-Retransmission-Timer OPTIONAL,
+ -- Mandatory for LCR TDD,Not applicable for 3.84Mcps TDD and 7.68Mcps TDD
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlow-InfoTDDItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-InfoTDDItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+E-DCH-MACdFlow-Retransmission-Timer ::= ENUMERATED {
+ ms10, ms15, ms20, ms25, ms30, ms35, ms40, ms45, ms50, ms55, ms60, ms65,
+ ms70, ms75, ms80, ms85, ms90, ms95, ms100, ms110, ms120, ms140, ms160,
+ ms200, ms240, ms280, ms320, ms400, ms480, ms560,...
+}
+
+
+E-DCH-HARQ-PO-TDD ::= INTEGER (0..6)
+
+E-DCH-Grant-TypeTDD ::= ENUMERATED {
+ scheduled,
+ non-scheduled
+}
+E-DCH-Non-Scheduled-Grant-Info ::= SEQUENCE {
+ timeslotResource E-DCH-TimeslotResource,
+ powerResource E-DCH-PowerResource,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tddE-PUCH-Offset TddE-PUCH-Offset,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Non-Scheduled-Grant-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Non-Scheduled-Grant-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TimeslotResource ::= BIT STRING (SIZE (13))
+
+E-DCH-TimeslotResourceLCR ::= BIT STRING (SIZE (5))
+
+
+E-DCH-PowerResource ::= INTEGER(1..32)
+
+TddE-PUCH-Offset ::= INTEGER(0..255)
+
+E-DCH-TDD-Information ::= SEQUENCE {
+ e-DCH-TDD-Maximum-Bitrate E-DCH-TDD-Maximum-Bitrate OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-PowerOffset-for-SchedulingInfo E-DCH-PowerOffset-for-SchedulingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-TDD-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-TDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TDD-Maximum-Bitrate ::= INTEGER (0..9201,...)
+
+E-DCH-Information-Response ::= SEQUENCE {
+ e-DCH-TDD-MACdFlow-Specific-InformationResp E-DCH-TDD-MACdFlow-Specific-InformationResp OPTIONAL,
+ e-AGCH-Specific-Information-ResponseTDD E-AGCH-Specific-InformationRespListTDD OPTIONAL,
+ e-RNTI E-RNTI,
+ scheduled-E-HICH-Specific-InformationResp Scheduled-E-HICH-Specific-Information-ResponseLCRTDD OPTIONAL, -- 1.28Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Scheduled-E-HICH-Specific-Information-ResponseLCRTDD ::= SEQUENCE (SIZE (1.. maxNrOfEHICHCodes)) OF Scheduled-E-HICH-Specific-InformationItem-ResponseLCRTDD
+
+Scheduled-E-HICH-Specific-InformationItem-ResponseLCRTDD ::= SEQUENCE {
+ eI EI,
+ e-HICH-ID-TDD E-HICH-ID-TDD,
+ iE-Extensions ProtocolExtensionContainer {{ Scheduled-E-HICH-Specific-InformationItem-ResponseLCRTDD-ExtIEs}} OPTIONAL,
+ ...
+}
+
+Scheduled-E-HICH-Specific-InformationItem-ResponseLCRTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-E-HICH-ID-TDD CRITICALITY ignore EXTENSION Extended-E-HICH-ID-TDD PRESENCE optional},
+ -- Applicable to 1.28Mcps TDD only when the E-HICH identity has a value larger than 31.
+ ...
+}
+
+EI ::= INTEGER (0..3)
+
+E-HICH-ID-TDD ::= INTEGER (0..31)
+
+E-HICH-Type ::= ENUMERATED {scheduled,non-scheduled}
+
+E-DCH-TDD-MACdFlow-Specific-InformationResp ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-TDD-MACdFlow-Specific-InformationResp-Item
+
+E-DCH-TDD-MACdFlow-Specific-InformationResp-Item ::= SEQUENCE {
+ e-DCH-MacdFlow-Id E-DCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-TDD-MACdFlow-Specific-InformationRespItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-TDD-MACdFlow-Specific-InformationRespItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-Specific-InformationRespListTDD ::= SEQUENCE (SIZE (1..maxNrOfEAGCHCodes)) OF E-AGCH-Specific-InformationResp-ItemTDD
+
+E-AGCH-Specific-InformationResp-ItemTDD ::= SEQUENCE {
+ e-AGCH-Id E-AGCH-Id,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-Specific-InformationResp-ItemTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-AGCH-Specific-InformationResp-ItemTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-Id ::= INTEGER (0..31,...,32..255)
+
+E-DCH-Information-Reconfig ::= SEQUENCE {
+ e-PUCH-Information E-PUCH-Information OPTIONAL,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Add E-DCH-MACdFlows-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Delete E-DCH-MACdFlows-to-Delete OPTIONAL,
+ e-DCH-Non-Scheduled-Grant-Info E-DCH-Non-Scheduled-Grant-Info OPTIONAL,
+ e-DCH-TDD-Information E-DCH-TDD-Information OPTIONAL,
+ e-DCH-TDD-Information-to-Modify E-DCH-TDD-Information-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Information-Reconfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-Information-Reconfig-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TDD-Information-to-Modify ::= SEQUENCE {
+ e-DCH-TDD-Information-to-Modify-List E-DCH-TDD-Information-to-Modify-List OPTIONAL,
+ mACeReset-Indicator MACeReset-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-TDD-Information-to-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-TDD-Information-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION E-DCH-MACdPDUSizeFormat PRESENCE optional},
+ ...
+}
+
+E-DCH-TDD-Information-to-Modify-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-ModifyTDDItem
+
+E-DCH-MACdFlow-ModifyTDDItem ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ tnlQos TnlQos OPTIONAL,
+ maximum-Number-of-Retransmissions-For-E-DCH Maximum-Number-of-Retransmissions-For-E-DCH OPTIONAL,
+ eDCH-HARQ-PO-TDD E-DCH-HARQ-PO-TDD OPTIONAL,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ eDCH-Grant-TypeTDD E-DCH-Grant-TypeTDD OPTIONAL,
+ e-DCH-LogicalChannelToAdd E-DCH-LogicalChannelInformation OPTIONAL,
+ e-DCH-LogicalChannelToModify E-DCH-LogicalChannelToModify OPTIONAL,
+ e-DCH-LogicalChannelToDelete E-DCH-LogicalChannelToDelete OPTIONAL,
+ eDCH-MACdFlow-Retransmission-Timer E-DCH-MACdFlow-Retransmission-Timer OPTIONAL,
+ -- LCR TDD only
+ iE-Extensions ProtocolExtensionContainer { {E-DCH-MACdFlow-ModifyTDDItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-ModifyTDDItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Maximum-Generated-ReceivedTotalWideBandPowerInOtherCells ::= INTEGER (0..621)
+-- mapping as for RTWP measurement value, as specified in [23]
+
+E-DCH-768-Information ::= SEQUENCE {
+ e-PUCH-Information E-PUCH-Information,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD,
+ e-DCH-MACdFlows-Information-TDD E-DCH-MACdFlows-Information-TDD,
+ e-DCH-Non-Scheduled-Grant-Info768 E-DCH-Non-Scheduled-Grant-Info768 OPTIONAL,
+ e-DCH-TDD-Information768 E-DCH-TDD-Information768,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-768-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-768-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-Non-Scheduled-Grant-Info768 ::= SEQUENCE {
+ timeslotResource E-DCH-TimeslotResource,
+ powerResource E-DCH-PowerResource,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tddE-PUCH-Offset TddE-PUCH-Offset,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Non-Scheduled-Grant-Info768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Non-Scheduled-Grant-Info768-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TDD-Information768 ::= SEQUENCE {
+ e-DCH-TDD-Maximum-Bitrate768 E-DCH-TDD-Maximum-Bitrate768 OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-PowerOffset-for-SchedulingInfo E-DCH-PowerOffset-for-SchedulingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-TDD-Information768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-TDD-Information768-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TDD-Maximum-Bitrate768 ::= INTEGER (0..17713,...)
+
+E-DCH-768-Information-Reconfig ::= SEQUENCE {
+ e-PUCH-Information E-PUCH-Information OPTIONAL,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Add E-DCH-MACdFlows-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Delete E-DCH-MACdFlows-to-Delete OPTIONAL,
+ e-DCH-Non-Scheduled-Grant-Info768 E-DCH-Non-Scheduled-Grant-Info768 OPTIONAL,
+ e-DCH-TDD-Information768 E-DCH-TDD-Information768 OPTIONAL,
+ e-DCH-TDD-Information-to-Modify E-DCH-TDD-Information-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-768-Information-Reconfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-768-Information-Reconfig-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-LCR-Information ::= SEQUENCE {
+ e-PUCH-LCR-Information E-PUCH-LCR-Information,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD,
+ e-DCH-MACdFlows-Information-TDD E-DCH-MACdFlows-Information-TDD,
+ e-DCH-Non-Scheduled-Grant-LCR-Info E-DCH-Non-Scheduled-Grant-LCR-Info OPTIONAL,
+ e-DCH-LCRTDD-Information E-DCH-LCRTDD-Information,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LCR-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-LCR-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-PUCH-LCR-Information ::= SEQUENCE {
+ minCR CodeRate,
+ maxCR CodeRate,
+ harqInfo HARQ-Info-for-E-DCH,
+ pRXdes-base PRXdes-base,
+ e-PUCH-TPC-StepSize TDD-TPC-UplinkStepSize-LCR,
+ e-AGCH-TPC-StepSize TDD-TPC-DownlinkStepSize,
+ iE-Extensions ProtocolExtensionContainer { { E-PUCH-LCR-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-PUCH-LCR-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-PUCH-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional },
+ ...
+}
+
+E-DCH-Non-Scheduled-Grant-LCR-Info ::= SEQUENCE {
+ timeslotResourceLCR E-DCH-TimeslotResourceLCR,
+ powerResource E-DCH-PowerResource,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ subframeNumber ENUMERATED {v0, v1},
+ tddE-PUCH-Offset TddE-PUCH-Offset,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ n-E-UCCHLCR N-E-UCCHLCR,
+ e-HICH-LCR-Information E-HICH-LCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Non-Scheduled-Grant-LCR-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Non-Scheduled-Grant-LCR-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-LCR-Information ::= SEQUENCE {
+ e-HICH-ID-TDD E-HICH-ID-TDD,
+ signatureSequenceGroupIndex SignatureSequenceGroupIndex,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-LCR-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-HICH-LCR-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-E-HICH-ID-TDD CRITICALITY ignore EXTENSION Extended-E-HICH-ID-TDD PRESENCE optional},
+ -- Applicable to 1.28Mcps TDD only when the E-HICH identity has a value larger than 31.
+ ...
+}
+
+E-DCH-LCRTDD-Information ::= SEQUENCE {
+ e-DCH-LCRTDD-PhysicalLayerCategory E-DCH-LCRTDD-PhysicalLayerCategory OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-PowerOffset-for-SchedulingInfo E-DCH-PowerOffset-for-SchedulingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LCRTDD-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-LCRTDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-E-DCH-LCRTDD-PhysicalLayerCategory CRITICALITY reject EXTENSION Extended-E-DCH-LCRTDD-PhysicalLayerCategory PRESENCE optional }|
+ -- This IE shall be used if the E-DCH Physical Layer Category has a value larger than 5.
+ { ID id-MaximumNumber-Of-Retransmission-for-Scheduling-Info-LCRTDD CRITICALITY ignore EXTENSION Maximum-Number-of-Retransmissions-For-E-DCH PRESENCE optional }|
+ { ID id-E-DCH-RetransmissionTimer-for-SchedulingInfo-LCRTDD CRITICALITY ignore EXTENSION E-DCH-MACdFlow-Retransmission-Timer PRESENCE optional }|
+ { ID id-E-AGCH-UE-Inactivity-Monitor-Threshold CRITICALITY ignore EXTENSION E-AGCH-UE-Inactivity-Monitor-Threshold PRESENCE optional },
+ ...
+}
+
+E-DCH-LCRTDD-PhysicalLayerCategory ::= INTEGER(1..5)
+
+E-DCH-LCR-Information-Reconfig ::= SEQUENCE {
+ e-PUCH-LCR-Information E-PUCH-LCR-Information OPTIONAL,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Add E-DCH-MACdFlows-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Delete E-DCH-MACdFlows-to-Delete OPTIONAL,
+ e-DCH-Non-Scheduled-Grant-LCR-Info E-DCH-Non-Scheduled-Grant-LCR-Info OPTIONAL,
+ e-DCH-LCRTDD-Information E-DCH-LCRTDD-Information OPTIONAL,
+ e-DCH-TDD-Information-to-Modify E-DCH-TDD-Information-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LCR-Information-Reconfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-LCR-Information-Reconfig-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Enabling-Delay ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128}
+ -- Unit of radio frames
+
+DormantModeIndicator::= ENUMERATED {
+ enterDormantMode,
+ leaveDormantMode,
+...
+}
+
+Enhanced-FACH-Capability ::= ENUMERATED {
+ enhanced-FACH-capable,
+ enhanced-FACH-non-capable
+}
+
+EnhancedHSServingCC-Abort ::= ENUMERATED {abortEnhancedHSServingCC,...}
+
+Enhanced-PCH-Capability ::= ENUMERATED {
+ enhanced-PCH-capable,
+ enhanced-PCH-non-capable
+}
+
+
+Enhanced-UE-DRX-Capability ::= ENUMERATED {
+ enhanced-UE-DRX-capable,
+ enhanced-UE-DRX-non-capable
+}
+
+Enhanced-UE-DRX-InformationFDD ::= SEQUENCE {
+ t321 T321,
+ hS-DSCH-DRX-Cycle-FACH HS-DSCH-DRX-Cycle-FACH,
+ hS-DSCH-RX-Burst-FACH HS-DSCH-RX-Burst-FACH,
+ dRX-Interruption-by-HS-DSCH DRX-Interruption-by-HS-DSCH,
+ iE-Extensions ProtocolExtensionContainer { { Enhanced-UE-DRX-InformationFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Enhanced-UE-DRX-InformationFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extended-E-DCH-LCRTDD-PhysicalLayerCategory ::= INTEGER(6,...)
+
+Ext-Max-Bits-MACe-PDU-non-scheduled ::= INTEGER(19983..22978,...)
+
+Ext-Reference-E-TFCI-PO ::= INTEGER(30..31,...)
+
+ExtendedPropagationDelay ::= INTEGER(255..1023)
+
+Extended-RNC-ID ::= INTEGER (4096..65535)
+
+Extended-Round-Trip-Time-Value ::= INTEGER(32767..103041)
+-- See also mapping in [22]
+
+Extended-HS-SCCH-ID ::= INTEGER (32..255)
+
+Extended-HS-SICH-ID ::= INTEGER (32..255)
+
+Extended-E-HICH-ID-TDD ::= INTEGER (32..255)
+
+E-DCH-Semi-PersistentScheduling-Information-LCR ::= SEQUENCE {
+ repetition-Period-List-LCR Repetition-Period-List-LCR,
+ e-DCH-SPS-Indicator E-DCH-SPS-Indicator,
+ sPS-E-DCH-releted-E-HICH-Information E-HICH-LCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Semi-PersistentScheduling-Information-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Semi-PersistentScheduling-Information-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-E-DCH-SPS-Reservation-Indicator CRITICALITY ignore EXTENSION SPS-Reservation-Indicator PRESENCE optional },
+ ...
+}
+
+E-DCH-SPS-Indicator ::= BIT STRING (SIZE (16))
+
+E-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR ::= SEQUENCE {
+ repetition-Period-List-LCR Repetition-Period-List-LCR OPTIONAL,
+ e-DCH-SPS-Indicator E-DCH-SPS-Indicator OPTIONAL,
+ sPS-E-DCH-releted-E-HICH-Information E-HICH-LCR-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-E-DCH-SPS-Reservation-Indicator CRITICALITY ignore EXTENSION SPS-Reservation-Indicator PRESENCE optional },
+ ...
+}
+
+E-DCH-Semi-PersistentScheduling-Information-ResponseLCR ::= SEQUENCE {
+ timeslot-Resource-Related-Information E-DCH-TimeslotResourceLCR,
+ powerResource E-DCH-PowerResource,
+ repetition-Period-List-LCR Repetition-Period-List-LCR,
+ -- the IE shall be ignored
+ repetitionLength RepetitionLength,
+ -- the IE shall be ignored
+ subframeNumber ENUMERATED {v0, v1},
+ tddE-PUCH-Offset TddE-PUCH-Offset,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ n-E-UCCHLCR N-E-UCCHLCR,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Semi-PersistentScheduling-Information-ResponseLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Semi-PersistentScheduling-Information-ResponseLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RepetitionPeriodIndex CRITICALITY reject EXTENSION RepetitionPeriodIndex PRESENCE optional },
+ -- mandaroty for 1.28Mcps TDD.
+ ...
+}
+
+-- ==========================================
+-- F
+-- ==========================================
+
+FACH-Measurement-Occasion-Cycle-Length-Coefficient ::= INTEGER(1..12)
+
+Fast-Reconfiguration-Mode ::= ENUMERATED {fast,...}
+Fast-Reconfiguration-Permission ::= ENUMERATED {allowed,...}
+
+FDD-DL-ChannelisationCodeNumber ::= INTEGER(0.. 511)
+-- According to the mapping in [9]. The maximum value is equal to the DL spreading factor -1--
+
+FDD-DL-CodeInformation ::= SEQUENCE (SIZE (1..maxNrOfCodes)) OF FDD-DL-CodeInformationItem
+
+FDD-DL-CodeInformationItem ::= SEQUENCE {
+ dl-ScramblingCode DL-ScramblingCode,
+ fdd-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+ transmissionGapPatternSequenceCodeInformation TransmissionGapPatternSequenceCodeInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FDD-DL-CodeInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-DL-CodeInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FDD-S-CCPCH-FrameOffset ::= ENUMERATED {
+ v1, v2, v4, ...
+}
+
+FDD-S-CCPCH-Offset ::= INTEGER (0..149)
+-- 0: 0 chip, 1: 256 chip, 2: 512 chip, .. ,149: 38144 chip [7] --
+
+FDD-TPC-DownlinkStepSize ::= ENUMERATED {
+ step-size0-5,
+ step-size1,
+ step-size1-5,
+ step-size2,
+ ...
+}
+
+F-DPCH-Capability ::= ENUMERATED {
+ f-DPCH-capable,
+ f-DPCH-non-capable
+}
+
+F-DPCH-SlotFormat ::= INTEGER (0..9)
+
+
+F-DPCH-SlotFormatCapability ::= ENUMERATED {
+ f-DPCH-slot-format-capable,
+ f-DPCH-slot-format-non-capable
+}
+
+FirstRLS-Indicator ::= ENUMERATED {
+ first-RLS,
+ not-first-RLS,
+ ...
+}
+
+FNReportingIndicator ::= ENUMERATED {
+ fN-reporting-required,
+ fN-reporting-not-required
+}
+
+FrameHandlingPriority ::= INTEGER (0..15)
+-- 0=lowest priority, 15=highest priority --
+
+FrameAdjustmentValue ::= INTEGER(0..4095)
+
+FrameOffset ::= INTEGER (0..255)
+
+FPACH-Power ::= INTEGER (-150..400,...) -- FPACH-power = power * 10
+-- If power <= -15 FPACH shall be set to -150
+-- If power >= 40 FPACH shall be set to 400
+-- Unit dBm, Range -15dBm .. +40 dBm, Step +0.1dB
+
+-- ==========================================
+-- G
+-- ==========================================
+
+
+GANSS-AddClockModels ::= CHOICE {
+ navClockModel GANSS-NAVclockModel,
+ cnavClockModel GANSS-CNAVclockModel,
+ glonassClockModel GANSS-GLONASSclockModel,
+ sbasClockModel GANSS-SBASclockModel,
+ ...
+}
+
+GANSS-AddIonoModelReq ::= BIT STRING (SIZE(2))
+
+GANSS-AddNavigationModelsReq ::= BOOLEAN
+
+GANSS-AddOrbitModels ::= CHOICE {
+ navKeplerianSet GANSS-NavModel-NAVKeplerianSet,
+ cnavKeplerianSet GANSS-NavModel-CNAVKeplerianSet,
+ glonassECEF GANSS-NavModel-GLONASSecef,
+ sbasECEF GANSS-NavModel-SBASecef,
+ ...
+ }
+
+GANSS-AddUTCModelsReq ::= BOOLEAN
+
+GANSS-Additional-Ionospheric-Model ::= SEQUENCE {
+ dataID BIT STRING (SIZE(2)),
+ alpha-beta-parameters GPS-Ionospheric-Model,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Additional-Ionospheric-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Additional-Ionospheric-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Additional-Navigation-Models ::= SEQUENCE {
+ ganss-Transmission-Time GANSS-Transmission-Time,
+ non-broadcastIndication ENUMERATED { true } OPTIONAL,
+ ganssSatInfoNavList Ganss-Sat-Info-AddNavList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Additional-Navigation-Models-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Additional-Navigation-Models-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Additional-Time-Models ::= SEQUENCE (SIZE (1..maxGANSS-1)) OF GANSS-Time-Model
+
+GANSS-Additional-UTC-Models ::= CHOICE {
+ utcModel1 GANSS-UTCmodelSet1,
+ utcModel2 GANSS-UTCmodelSet2,
+ utcModel3 GANSS-UTCmodelSet3,
+ ...
+}
+
+GANSS-Almanac ::= SEQUENCE{
+ ganss-wk-number INTEGER(0..255),
+ gANSS-AlmanacModel GANSS-AlmanacModel,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Almanac-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Almanac-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AlmanacModel ::= CHOICE {
+ gANSS-keplerianParameters GANSS-KeplerianParametersAlm,
+ ...,
+ extension-GANSS-AlmanacModel Extension-GANSS-AlmanacModel
+}
+
+Extension-GANSS-AlmanacModel ::= ProtocolIE-Single-Container {{ Extension-GANSS-AlmanacModel-IE }}
+
+Extension-GANSS-AlmanacModel-IE NBAP-PROTOCOL-IES ::= {
+ { ID id-GANSS-alm-keplerianNAVAlmanac CRITICALITY ignore TYPE GANSS-ALM-NAVKeplerianSet PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianReducedAlmanac CRITICALITY ignore TYPE GANSS-ALM-ReducedKeplerianSet PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianMidiAlmanac CRITICALITY ignore TYPE GANSS-ALM-MidiAlmanacSet PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianGLONASS CRITICALITY ignore TYPE GANSS-ALM-GlonassAlmanacSet PRESENCE mandatory}|
+ { ID id-GANSS-alm-ecefSBASAlmanac CRITICALITY ignore TYPE GANSS-ALM-ECEFsbasAlmanacSet PRESENCE mandatory}
+}
+
+GANSS-ALM-ECEFsbasAlmanacSet ::= SEQUENCE {
+ sat-info-SBASecefList GANSS-SAT-Info-Almanac-SBASecefList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-ECEFsbasAlmanacSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-ECEFsbasAlmanacSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-ALM-GlonassAlmanacSet ::= SEQUENCE {
+ sat-info-GLOkpList GANSS-SAT-Info-Almanac-GLOkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-GlonassAlmanacSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-GlonassAlmanacSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-ALM-MidiAlmanacSet ::= SEQUENCE {
+ t-oa INTEGER (0..255),
+ sat-info-MIDIkpList GANSS-SAT-Info-Almanac-MIDIkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-MidiAlmanacSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-MidiAlmanacSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-ALM-NAVKeplerianSet ::= SEQUENCE {
+ t-oa INTEGER (0..255),
+ sat-info-NAVkpList GANSS-SAT-Info-Almanac-NAVkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-NAVKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-NAVKeplerianSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-ALM-ReducedKeplerianSet ::= SEQUENCE {
+ t-oa INTEGER (0..255),
+ sat-info-REDkpList GANSS-SAT-Info-Almanac-REDkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-ReducedKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-ReducedKeplerianSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Auxiliary-Information ::= CHOICE {
+ ganssID1 GANSS-AuxInfoGANSS-ID1, -- This choice may only be present if GANSS ID indicates Modernized GPS
+ ganssID3 GANSS-AuxInfoGANSS-ID3, -- This choice may only be present if GANSS ID indicates GLONASS
+ ...
+}
+
+GANSS-AuxInfoGANSS-ID1 ::= SEQUENCE (SIZE(1.. maxGANSSSat)) OF GANSS-AuxInfoGANSS-ID1-element
+
+GANSS-AuxInfoGANSS-ID1-element ::= SEQUENCE {
+ svID INTEGER(0..63),
+ signalsAvailable BIT STRING (SIZE(8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-AuxInfoGANSS-ID1-element-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-AuxInfoGANSS-ID1-element-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AuxInfoGANSS-ID3 ::= SEQUENCE (SIZE(1.. maxGANSSSat)) OF GANSS-AuxInfoGANSS-ID3-element
+
+GANSS-AuxInfoGANSS-ID3-element ::= SEQUENCE {
+ svID INTEGER(0..63),
+ signalsAvailable BIT STRING (SIZE(8)),
+ channelNumber INTEGER (-7..13),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-AuxInfoGANSS-ID3-element-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-AuxInfoGANSS-ID3-element-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AuxInfoReq ::= BOOLEAN
+
+GANSS-Clock-Model ::= SEQUENCE (SIZE (1..maxGANSSClockMod)) OF GANSS-SatelliteClockModelItem
+
+GANSS-CNAVclockModel ::= SEQUENCE {
+ cnavToc BIT STRING (SIZE (11)),
+ cnavTop BIT STRING (SIZE (11)),
+ cnavURA0 BIT STRING (SIZE (5)),
+ cnavURA1 BIT STRING (SIZE (3)),
+ cnavURA2 BIT STRING (SIZE (3)),
+ cnavAf2 BIT STRING (SIZE (10)),
+ cnavAf1 BIT STRING (SIZE (20)),
+ cnavAf0 BIT STRING (SIZE (26)),
+ cnavTgd BIT STRING (SIZE (13)),
+ cnavISCl1cp BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl1cd BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl1ca BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl2c BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl5i5 BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl5q5 BIT STRING (SIZE (13)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-CNAVclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-CNAVclockModel-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Common-Data ::= SEQUENCE {
+ ganss-Ionospheric-Model GANSS-Ionospheric-Model OPTIONAL,
+ ganss-Rx-Pos GANSS-RX-Pos OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Common-Data-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Common-Data-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-Additional-Ionospheric-Model CRITICALITY ignore EXTENSION GANSS-Additional-Ionospheric-Model PRESENCE optional }|
+ { ID id-GANSS-Earth-Orientation-Parameters CRITICALITY ignore EXTENSION GANSS-Earth-Orientation-Parameters PRESENCE optional },
+ ...
+}
+
+GANSS-CommonDataInfoReq ::= SEQUENCE {
+ ionospheric-Model BOOLEAN OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-CommonDataInfoReq-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-CommonDataInfoReq-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-AddIonoModelReq CRITICALITY ignore EXTENSION GANSS-AddIonoModelReq PRESENCE optional} |
+ {ID id-GANSS-EarthOrientParaReq CRITICALITY ignore EXTENSION GANSS-EarthOrientParaReq PRESENCE optional} ,
+ ...
+}
+
+GANSS-Data-Bit-Assistance ::= SEQUENCE {
+ ganssTod INTEGER (0..59,...),
+ dataBitAssistancelist GANSS-DataBitAssistanceList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Data-Bit-Assistance-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-DataBitAssistanceList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF GANSS-DataBitAssistanceItem
+
+GANSS-DataBitAssistanceItem ::= SEQUENCE {
+ satId INTEGER(0..63),
+ dataBitAssistanceSgnList GANSS-DataBitAssistanceSgnList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-DataBitAssistanceItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-DataBitAssistanceItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-DataBitAssistanceSgnList ::= SEQUENCE (SIZE (1..maxSgnType)) OF GANSS-DataBitAssistanceSgnItem
+
+
+
+GANSS-DataBitAssistanceSgnItem ::= SEQUENCE {
+ ganss-SignalId GANSS-Signal-ID,
+ ganssDataBits BIT STRING (SIZE (1..1024)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-DataBitAssistanceSgnItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-DataBitAssistanceSgnItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ReqItem ::= SEQUENCE {
+ ganssTod INTEGER (0..86399),
+ ganss-Data-Bit-Assistance-ReqList GANSS-Data-Bit-Assistance-ReqList,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-Data-Bit-Assistance-ReqItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ReqItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ReqList ::= SEQUENCE {
+ dGANSS-Signal-ID BIT STRING (SIZE (8)),
+ ganss-DataBitInterval INTEGER(0..15),
+ ganss-SatelliteInfo SEQUENCE (SIZE (1..maxGANSSSat)) OF INTEGER(0..63) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-Data-Bit-Assistance-ReqList-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ReqList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-DeltaUT1 ::= SEQUENCE {
+ b1 BIT STRING (SIZE(11)),
+ b2 BIT STRING (SIZE(10)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-DeltaUT1-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-DeltaUT1-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Earth-Orientation-Parameters ::= SEQUENCE {
+ teop BIT STRING (SIZE (16)),
+ pmX BIT STRING (SIZE (21)),
+ pmXdot BIT STRING (SIZE (15)),
+ pmY BIT STRING (SIZE (21)),
+ pmYdot BIT STRING (SIZE (15)),
+ deltaUT1 BIT STRING (SIZE (31)),
+ deltaUT1dot BIT STRING (SIZE (19)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Earth-Orientation-Parameters-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Earth-Orientation-Parameters-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-EarthOrientParaReq ::= BOOLEAN
+
+GANSS-GenericDataInfoReqList ::= SEQUENCE (SIZE(1..maxNoGANSS)) OF GANSS-GenericDataInfoReqItem
+
+GANSS-GenericDataInfoReqItem ::= SEQUENCE {
+ ganss-Id GANSS-ID OPTIONAL,
+ ganss-Navigation-Model-And-Time-Recovery BOOLEAN OPTIONAL,
+ ganss-Time-Model-GNSS-GNSS BIT STRING (SIZE (9)) OPTIONAL,
+ ganss-UTC-Model BOOLEAN OPTIONAL,
+ ganss-Almanac BOOLEAN OPTIONAL,
+ ganss-Real-Time-Integrity BOOLEAN OPTIONAL,
+ ganss-Data-Bit-Assistance-Req GANSS-Data-Bit-Assistance-ReqItem OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-GenericDataInfoReqItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-GenericDataInfoReqItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-AddNavigationModelsReq CRITICALITY ignore EXTENSION GANSS-AddNavigationModelsReq PRESENCE optional} |
+ {ID id-GANSS-AddUTCModelsReq CRITICALITY ignore EXTENSION GANSS-AddUTCModelsReq PRESENCE optional} |
+ {ID id-GANSS-AuxInfoReq CRITICALITY ignore EXTENSION GANSS-AuxInfoReq PRESENCE optional} |
+-- The following IE shall be present if 'GANSS-ID' in 'GANSS-GenericDataInfoReqItem' is '0' (SBAS)
+ {ID id-GANSS-SBAS-ID CRITICALITY ignore EXTENSION GANSS-SBAS-ID PRESENCE optional} ,
+ ...
+}
+
+GANSS-Generic-Data ::= SEQUENCE (SIZE(1..maxNoGANSS)) OF GANSS-Generic-DataItem
+
+GANSS-Generic-DataItem ::= SEQUENCE {
+ ganss-Id GANSS-ID OPTIONAL,
+ dganss-Correction DGANSSCorrections OPTIONAL,
+ ganss-Navigation-Model-And-Time-Recovery GANSS-Navigation-Model-And-Time-Recovery OPTIONAL,
+ ganss-Time-Model GANSS-Time-Model OPTIONAL,
+ ganss-UTC-TIME GANSS-UTC-Model OPTIONAL,
+ ganss-Almanac GANSS-Almanac OPTIONAL,
+ ganss-Real-Time-Integrity GANSS-Real-Time-Integrity OPTIONAL,
+ ganss-Data-Bit-Assistance GANSS-Data-Bit-Assistance OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Generic-DataItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Generic-DataItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-Additional-Time-Models CRITICALITY ignore EXTENSION GANSS-Additional-Time-Models PRESENCE optional }|
+ { ID id-GANSS-Additional-Navigation-Models CRITICALITY ignore EXTENSION GANSS-Additional-Navigation-Models PRESENCE optional }|
+ { ID id-GANSS-Additional-UTC-Models CRITICALITY ignore EXTENSION GANSS-Additional-UTC-Models PRESENCE optional }|
+ { ID id-GANSS-Auxiliary-Information CRITICALITY ignore EXTENSION GANSS-Auxiliary-Information PRESENCE optional }|
+ -- The following element shall be present if 'GANSS-ID' in 'GANSS-Generic-DataItem' is '0' ('SBAS')
+ { ID id-GANSS-SBAS-ID CRITICALITY ignore EXTENSION GANSS-SBAS-ID PRESENCE optional },
+ ...
+}
+
+
+GANSS-GLONASSclockModel ::= SEQUENCE {
+ gloTau BIT STRING (SIZE (22)),
+ gloGamma BIT STRING (SIZE (11)),
+ gloDeltaTau BIT STRING (SIZE (5)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-GLONASSclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-GLONASSclockModel-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-ID ::= INTEGER(0..7,...)
+
+
+GANSS-Information ::= SEQUENCE {
+ gANSS-CommonDataInfoReq GANSS-CommonDataInfoReq OPTIONAL,
+ gANSS-GenericDataInfoReqList GANSS-GenericDataInfoReqList OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Ionospheric-Model ::= SEQUENCE {
+ alpha-zero-ionos BIT STRING (SIZE (12)),
+ alpha-one-ionos BIT STRING (SIZE (12)),
+ alpha-two-ionos BIT STRING (SIZE (12)),
+ gANSS-IonosphereRegionalStormFlags GANSS-IonosphereRegionalStormFlags OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Ionospheric-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Ionospheric-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-IonosphereRegionalStormFlags ::= SEQUENCE {
+ storm-flag-one BOOLEAN,
+ storm-flag-two BOOLEAN,
+ storm-flag-three BOOLEAN,
+ storm-flag-four BOOLEAN,
+ storm-flag-five BOOLEAN,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-IonosphereRegionalStormFlags-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-IonosphereRegionalStormFlags-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-KeplerianParametersAlm ::= SEQUENCE {
+ t-oa INTEGER(0..255),
+ iod-a INTEGER(0..3),
+ gANSS-SatelliteInformationKP GANSS-SatelliteInformationKP,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-KeplerianParametersAlm-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-KeplerianParametersAlm-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-KeplerianParametersOrb ::= SEQUENCE {
+ toe-nav BIT STRING (SIZE (14)),
+ ganss-omega-nav BIT STRING (SIZE (32)),
+ delta-n-nav BIT STRING (SIZE (16)),
+ m-zero-nav BIT STRING (SIZE (32)),
+ omegadot-nav BIT STRING (SIZE (24)),
+ ganss-e-nav BIT STRING (SIZE (32)),
+ idot-nav BIT STRING (SIZE (14)),
+ a-sqrt-nav BIT STRING (SIZE (32)),
+ i-zero-nav BIT STRING (SIZE (32)),
+ omega-zero-nav BIT STRING (SIZE (32)),
+ c-rs-nav BIT STRING (SIZE (16)),
+ c-is-nav BIT STRING (SIZE (16)),
+ c-us-nav BIT STRING (SIZE (16)),
+ c-rc-nav BIT STRING (SIZE (16)),
+ c-ic-nav BIT STRING (SIZE (16)),
+ c-uc-nav BIT STRING (SIZE (16)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-KeplerianParametersOrb-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-KeplerianParametersOrb-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-NAVclockModel ::= SEQUENCE {
+ navToc BIT STRING (SIZE (16)),
+ navaf2 BIT STRING (SIZE (8)),
+ navaf1 BIT STRING (SIZE (16)),
+ navaf0 BIT STRING (SIZE (22)),
+ navTgd BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NAVclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NAVclockModel-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Navigation-Model-And-Time-Recovery ::= SEQUENCE {
+ ganss-Transmission-Time GANSS-Transmission-Time,
+ non-broadcastIndication ENUMERATED{true} OPTIONAL,
+ ganssSatInfoNav GANSS-Sat-Info-Nav,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Navigation-Model-And-Time-Recovery-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Navigation-Model-And-Time-Recovery-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-NavModel-CNAVKeplerianSet ::= SEQUENCE {
+ cnavTop BIT STRING (SIZE (11)),
+ cnavURAindex BIT STRING (SIZE (5)),
+ cnavDeltaA BIT STRING (SIZE (26)),
+ cnavAdot BIT STRING (SIZE (25)),
+ cnavDeltaNo BIT STRING (SIZE (17)),
+ cnavDeltaNoDot BIT STRING (SIZE (23)),
+ cnavMo BIT STRING (SIZE (33)),
+ cnavE BIT STRING (SIZE (33)),
+ cnavOmega BIT STRING (SIZE (33)),
+ cnavOMEGA0 BIT STRING (SIZE (33)),
+ cnavDeltaOmegaDot BIT STRING (SIZE (17)),
+ cnavIo BIT STRING (SIZE (33)),
+ cnavIoDot BIT STRING (SIZE (15)),
+ cnavCis BIT STRING (SIZE (16)),
+ cnavCic BIT STRING (SIZE (16)),
+ cnavCrs BIT STRING (SIZE (24)),
+ cnavCrc BIT STRING (SIZE (24)),
+ cnavCus BIT STRING (SIZE (21)),
+ cnavCuc BIT STRING (SIZE (21)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NavModel-CNAVKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NavModel-CNAVKeplerianSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-NavModel-GLONASSecef ::= SEQUENCE {
+ gloEn BIT STRING (SIZE (5)),
+ gloP1 BIT STRING (SIZE(2)),
+ gloP2 BIT STRING (SIZE (1)),
+ gloM BIT STRING (SIZE (2)) OPTIONAL,
+ gloX BIT STRING (SIZE (27)),
+ gloXdot BIT STRING (SIZE (24)),
+ gloXdotdot BIT STRING (SIZE (5)),
+ gloY BIT STRING (SIZE (27)),
+ gloYdot BIT STRING (SIZE (24)),
+ gloYdotdot BIT STRING (SIZE (5)),
+ gloZ BIT STRING (SIZE (27)),
+ gloZdot BIT STRING (SIZE (24)),
+ gloZdotdot BIT STRING (SIZE (5)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NavModel-GLONASSecef-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NavModel-GLONASSecef-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-NavModel-NAVKeplerianSet ::= SEQUENCE {
+ navURA BIT STRING (SIZE (4)),
+ navFitFlag BIT STRING (SIZE (1)),
+ navToe BIT STRING (SIZE (16)),
+ navOmega BIT STRING (SIZE (32)),
+ navDeltaN BIT STRING (SIZE (16)),
+ navM0 BIT STRING (SIZE (32)),
+ navOmegaADot BIT STRING (SIZE (24)),
+ navE BIT STRING (SIZE (32)),
+ navIDot BIT STRING (SIZE (14)),
+ navAPowerHalf BIT STRING (SIZE (32)),
+ navI0 BIT STRING (SIZE (32)),
+ navOmegaA0 BIT STRING (SIZE (32)),
+ navCrs BIT STRING (SIZE (16)),
+ navCis BIT STRING (SIZE (16)),
+ navCus BIT STRING (SIZE (16)),
+ navCrc BIT STRING (SIZE (16)),
+ navCic BIT STRING (SIZE (16)),
+ navCuc BIT STRING (SIZE (16)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NavModel-NAVKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NavModel-NAVKeplerianSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-NavModel-SBASecef ::= SEQUENCE {
+ -- The following IE shall be present if 'GANSS-SBASclockModel' in 'GANSS-AddClockModels' is not included in 'Ganss-Sat-Info-AddNavList'
+ sbasTo BIT STRING (SIZE (13)) OPTIONAL,
+ sbasAccuracy BIT STRING (SIZE (4)),
+ sbasXg BIT STRING (SIZE (30)),
+ sbasYg BIT STRING (SIZE (30)),
+ sbasZg BIT STRING (SIZE (25)),
+ sbasXgDot BIT STRING (SIZE (17)),
+ sbasYgDot BIT STRING (SIZE (17)),
+ sbasZgDot BIT STRING (SIZE (18)),
+ sbasXgDotDot BIT STRING (SIZE (10)),
+ sbagYgDotDot BIT STRING (SIZE (10)),
+ sbasZgDotDot BIT STRING (SIZE (10)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NavModel-SBASecef-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NavModel-SBASecef-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Orbit-Model ::= CHOICE {
+ gANSS-keplerianParameters GANSS-KeplerianParametersOrb,
+ ...
+}
+
+GANSS-Real-Time-Integrity ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF GANSS-RealTimeInformationItem
+
+GANSS-RealTimeInformationItem ::= SEQUENCE {
+ bad-ganss-satId INTEGER(0..63),
+ bad-ganss-signalId BIT STRING(SIZE(8)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-RealTimeInformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-RealTimeInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-RX-Pos ::= SEQUENCE {
+ latitudeSign ENUMERATED{north,south},
+ degreesOfLatitude INTEGER(0..2147483647),
+ degreesOfLongitude INTEGER(-2147483648..2147483647),
+ directionOfAltitude ENUMERATED{height,depth},
+ altitude INTEGER(0..32767),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-RX-Pos-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-RX-Pos-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SatelliteClockModelItem ::= SEQUENCE {
+ t-oc BIT STRING (SIZE (14)),
+ a-i2 BIT STRING (SIZE (12)),
+ a-i1 BIT STRING (SIZE (18)),
+ a-i0 BIT STRING (SIZE (28)),
+ t-gd BIT STRING (SIZE (10)) OPTIONAL,
+ model-id INTEGER(0..1,...) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SatelliteClockModelItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SatelliteClockModelItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SatelliteInformationKP ::= SEQUENCE (SIZE (1..maxGANSSSatAlmanac)) OF GANSS-SatelliteInformationKPItem
+
+GANSS-SatelliteInformationKPItem ::= SEQUENCE {
+ satId INTEGER(0..63),
+ ganss-e-alm BIT STRING (SIZE (11)),
+ ganss-delta-I-alm BIT STRING (SIZE (11)),
+ ganss-omegadot-alm BIT STRING (SIZE (11)),
+ ganss-svhealth-alm BIT STRING (SIZE (4)),
+ ganss-delta-a-sqrt-alm BIT STRING (SIZE (17)),
+ ganss-omegazero-alm BIT STRING (SIZE (16)),
+ ganss-m-zero-alm BIT STRING (SIZE (16)),
+ ganss-omega-alm BIT STRING (SIZE (16)),
+ ganss-af-zero-alm BIT STRING (SIZE (14)),
+ ganss-af-one-alm BIT STRING (SIZE (11)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SatelliteInformationKPItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SatelliteInformationKPItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Ganss-Sat-Info-AddNavList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF SEQUENCE {
+ satId INTEGER (0..63),
+ svHealth BIT STRING (SIZE (6)),
+ iod BIT STRING (SIZE (11)),
+ ganssAddClockModels GANSS-AddClockModels,
+ ganssAddOrbitModels GANSS-AddOrbitModels,
+ ie-Extensions ProtocolExtensionContainer { { Ganss-Sat-Info-AddNavList-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Ganss-Sat-Info-AddNavList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-GLOkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-GLOkp
+
+GANSS-SAT-Info-Almanac-GLOkp ::= SEQUENCE {
+ gloAlmNA BIT STRING (SIZE(11)),
+ gloAlmnA BIT STRING (SIZE(5)),
+ gloAlmHA BIT STRING (SIZE(5)),
+ gloAlmLambdaA BIT STRING (SIZE(21)),
+ gloAlmTlambdaA BIT STRING (SIZE(21)),
+ gloAlmDeltaIA BIT STRING (SIZE(18)),
+ gloAkmDeltaTA BIT STRING (SIZE(22)),
+ gloAlmDeltaTdotA BIT STRING (SIZE(7)),
+ gloAlmEpsilonA BIT STRING (SIZE(15)),
+ gloAlmOmegaA BIT STRING (SIZE(16)),
+ gloAlmTauA BIT STRING (SIZE(10)),
+ gloAlmCA BIT STRING (SIZE(1)),
+ gloAlmMA BIT STRING (SIZE(2)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-GLOkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-GLOkp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-MIDIkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-MIDIkp
+
+GANSS-SAT-Info-Almanac-MIDIkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ midiAlmE BIT STRING (SIZE (11)),
+ midiAlmDeltaI BIT STRING (SIZE (11)),
+ midiAlmOmegaDot BIT STRING (SIZE (11)),
+ midiAlmSqrtA BIT STRING (SIZE (17)),
+ midiAlmOmega0 BIT STRING (SIZE (16)),
+ midiAlmOmega BIT STRING (SIZE (16)),
+ midiAlmMo BIT STRING (SIZE (16)),
+ midiAlmaf0 BIT STRING (SIZE (11)),
+ midiAlmaf1 BIT STRING (SIZE (10)),
+ midiAlmL1Health BIT STRING (SIZE (1)),
+ midiAlmL2Health BIT STRING (SIZE (1)),
+ midiAlmL5Health BIT STRING (SIZE (1)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-MIDIkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-MIDIkp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-NAVkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-NAVkp
+
+GANSS-SAT-Info-Almanac-NAVkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ navAlmE BIT STRING (SIZE (16)),
+ navAlmDeltaI BIT STRING (SIZE (16)),
+ navAlmOMEGADOT BIT STRING (SIZE (16)),
+ navAlmSVHealth BIT STRING (SIZE (8)),
+ navAlmSqrtA BIT STRING (SIZE (24)),
+ navAlmOMEGAo BIT STRING (SIZE (24)),
+ navAlmOmega BIT STRING (SIZE (24)),
+ navAlmMo BIT STRING (SIZE (24)),
+ navAlmaf0 BIT STRING (SIZE (11)),
+ navAlmaf1 BIT STRING (SIZE (11)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-NAVkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-NAVkp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-REDkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-REDkp
+
+GANSS-SAT-Info-Almanac-REDkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ redAlmDeltaA BIT STRING (SIZE (8)),
+ redAlmOmega0 BIT STRING (SIZE (7)),
+ redAlmPhi0 BIT STRING (SIZE (7)),
+ redAlmL1Health BIT STRING (SIZE (1)),
+ redAlmL2Health BIT STRING (SIZE (1)),
+ redAlmL5Health BIT STRING (SIZE (1)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-REDkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-REDkp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-SBASecefList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-SBASecef
+
+GANSS-SAT-Info-Almanac-SBASecef ::= SEQUENCE {
+ sbasAlmDataID BIT STRING (SIZE(2)),
+ svID INTEGER(0..63),
+ sbasAlmHealth BIT STRING (SIZE(8)),
+ sbasAlmXg BIT STRING (SIZE(15)),
+ sbasAlmYg BIT STRING (SIZE(15)),
+ sbasAlmZg BIT STRING (SIZE(9)),
+ sbasAlmXgdot BIT STRING (SIZE(3)),
+ sbasAlmYgDot BIT STRING (SIZE(3)),
+ sbasAlmZgDot BIT STRING (SIZE(4)),
+ sbasAlmTo BIT STRING (SIZE(11)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-SBASecef-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-SBASecef-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-Sat-Info-Nav ::= SEQUENCE (SIZE(1..maxGANSSSat)) OF SEQUENCE {
+ satId INTEGER(0..63),
+ svHealth BIT STRING (SIZE(5)),
+ iod BIT STRING (SIZE(10)),
+ ganssClockModel GANSS-Clock-Model,
+ ganssOrbitModel GANSS-Orbit-Model,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Sat-Info-Nav-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Sat-Info-Nav-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-SBAS-ID ::= ENUMERATED {
+ waas,
+ egnos,
+ msas,
+ gagan,
+ ...
+ }
+
+GANSS-SBASclockModel ::= SEQUENCE {
+ sbasTo BIT STRING (SIZE (13)),
+ sbasAgfo BIT STRING (SIZE (12)),
+ sbasAgf1 BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SBASclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SBASclockModel-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Signal-ID ::= INTEGER(0..7,...)
+
+GANSS-StatusHealth ::= ENUMERATED {
+ udre-scale-1dot0,
+ udre-scale-0dot75,
+ udre-scale-0dot5,
+ udre-scale-0dot3,
+ udre-scale-0dot2,
+ udre-scale-0dot1,
+ no-data,
+ invalid-data
+}
+
+GANSS-Time-ID ::= INTEGER(0..7,...)
+
+GANSS-Time-Model ::= SEQUENCE {
+ ganss-time-model-Ref-Time INTEGER(0..37799),
+ ganss-t-a0 INTEGER(-2147483648.. 2147483647),
+ ganss-t-a1 INTEGER(-8388608.. 8388607) OPTIONAL,
+ ganss-t-a2 INTEGER(-64..63) OPTIONAL,
+ gnss-to-id ENUMERATED{gps,...,galileo,qzss,glonass},
+ ganss-wk-number INTEGER(0..8191) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Time-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Time-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Transmission-Time ::= SEQUENCE {
+ ganssDay INTEGER(0..8191) OPTIONAL,
+ ganssTod INTEGER(0..86399),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Transmission-Time-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Transmission-Time-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTC-Model ::= SEQUENCE {
+ a-one-utc BIT STRING (SIZE (24)),
+ a-zero-utc BIT STRING (SIZE (32)),
+ t-ot-utc BIT STRING (SIZE (8)),
+ w-n-t-utc BIT STRING (SIZE (8)),
+ delta-t-ls-utc BIT STRING (SIZE (8)),
+ w-n-lsf-utc BIT STRING (SIZE (8)),
+ dn-utc BIT STRING (SIZE (8)),
+ delta-t-lsf-utc BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTC-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTC-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTCmodelSet1 ::= SEQUENCE {
+ utcA0 BIT STRING (SIZE(16)),
+ utcA1 BIT STRING (SIZE(13)),
+ utcA2 BIT STRING (SIZE(7)),
+ utcDeltaTls BIT STRING (SIZE(8)),
+ utcTot BIT STRING (SIZE(16)),
+ utcWNot BIT STRING (SIZE(13)),
+ utcWNlsf BIT STRING (SIZE(8)),
+ utcDN BIT STRING (SIZE(4)),
+ utcDeltaTlsf BIT STRING (SIZE(8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTCmodelSet1-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTCmodelSet1-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTCmodelSet2 ::= SEQUENCE {
+ nA BIT STRING (SIZE(11)),
+ tauC BIT STRING (SIZE(32)),
+ deltaUT1 GANSS-DeltaUT1 OPTIONAL,
+ kp BIT STRING (SIZE(2)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTCmodelSet2-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTCmodelSet2-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTCmodelSet3 ::= SEQUENCE {
+ utcA1wnt BIT STRING (SIZE(24)),
+ utcA0wnt BIT STRING (SIZE(32)),
+ utcTot BIT STRING (SIZE(8)),
+ utcWNt BIT STRING (SIZE(8)),
+ utcDeltaTls BIT STRING (SIZE(8)),
+ utcWNlsf BIT STRING (SIZE(8)),
+ utcDN BIT STRING (SIZE(8)),
+ utcDeltaTlsf BIT STRING (SIZE(8)),
+ utcStandardID BIT STRING (SIZE(3)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTCmodelSet3-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTCmodelSet3-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GapLength ::= INTEGER (1..14)
+-- Unit slot
+
+GapDuration ::= INTEGER (1..144,...)
+-- Unit frame
+
+GenericTrafficCategory ::= BIT STRING (SIZE (8))
+
+GPS-Almanac ::= SEQUENCE {
+ wna-alm BIT STRING (SIZE (8)),
+ sat-info-almanac SAT-Info-Almanac,
+ sVGlobalHealth-alm BIT STRING (SIZE (364)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GPS-Almanac-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GPS-Almanac-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SAT-Info-Almanac-ExtItem CRITICALITY ignore EXTENSION SAT-Info-Almanac-ExtList PRESENCE optional},
+ ...
+}
+
+GPS-Ionospheric-Model ::= SEQUENCE {
+ alpha-zero-ionos BIT STRING (SIZE (8)),
+ alpha-one-ionos BIT STRING (SIZE (8)),
+ alpha-two-ionos BIT STRING (SIZE (8)),
+ alpha-three-ionos BIT STRING (SIZE (8)),
+ beta-zero-ionos BIT STRING (SIZE (8)),
+ beta-one-ionos BIT STRING (SIZE (8)),
+ beta-two-ionos BIT STRING (SIZE (8)),
+ beta-three-ionos BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { GPS-Ionospheric-Model-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GPS-Ionospheric-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPS-Information ::= SEQUENCE (SIZE (0..maxNoGPSItems)) OF GPS-Information-Item
+-- This IE shall be present if the Information Type Item IE indicates 'GPS Information'
+
+GPS-Information-Item ::= ENUMERATED {
+ gps-navigation-model-and-time-recovery,
+ gps-ionospheric-model,
+ gps-utc-model,
+ gps-almanac,
+ gps-rt-integrity,
+ ...
+}
+
+GPS-RealTime-Integrity ::= CHOICE {
+ bad-satellites GPSBadSat-Info-RealTime-Integrity,
+ no-bad-satellites NULL
+}
+
+GPSBadSat-Info-RealTime-Integrity ::= SEQUENCE {
+ sat-info SATInfo-RealTime-Integrity,
+ ie-Extensions ProtocolExtensionContainer { { GPSBadSat-Info-RealTime-Integrity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GPSBadSat-Info-RealTime-Integrity-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPS-NavigationModel-and-TimeRecovery ::= SEQUENCE (SIZE (1..maxNoSat)) OF GPS-NavandRecovery-Item
+
+GPS-NavandRecovery-Item ::= SEQUENCE {
+ tx-tow-nav INTEGER (0..1048575),
+ sat-id-nav SAT-ID,
+ tlm-message-nav BIT STRING (SIZE (14)),
+ tlm-revd-c-nav BIT STRING (SIZE (2)),
+ ho-word-nav BIT STRING (SIZE (22)),
+ w-n-nav BIT STRING (SIZE (10)),
+ ca-or-p-on-l2-nav BIT STRING (SIZE (2)),
+ user-range-accuracy-index-nav BIT STRING (SIZE (4)),
+ sv-health-nav BIT STRING (SIZE (6)),
+ iodc-nav BIT STRING (SIZE (10)),
+ l2-p-dataflag-nav BIT STRING (SIZE (1)),
+ sf1-reserved-nav BIT STRING (SIZE (87)),
+ t-gd-nav BIT STRING (SIZE (8)),
+ t-oc-nav BIT STRING (SIZE (16)),
+ a-f-2-nav BIT STRING (SIZE (8)),
+ a-f-1-nav BIT STRING (SIZE (16)),
+ a-f-zero-nav BIT STRING (SIZE (22)),
+ c-rs-nav BIT STRING (SIZE (16)),
+ delta-n-nav BIT STRING (SIZE (16)),
+ m-zero-nav BIT STRING (SIZE (32)),
+ c-uc-nav BIT STRING (SIZE (16)),
+ gps-e-nav BIT STRING (SIZE (32)),
+ c-us-nav BIT STRING (SIZE (16)),
+ a-sqrt-nav BIT STRING (SIZE (32)),
+ t-oe-nav BIT STRING (SIZE (16)),
+ fit-interval-flag-nav BIT STRING (SIZE (1)),
+ aodo-nav BIT STRING (SIZE (5)),
+ c-ic-nav BIT STRING (SIZE (16)),
+ omega-zero-nav BIT STRING (SIZE (32)),
+ c-is-nav BIT STRING (SIZE (16)),
+ i-zero-nav BIT STRING (SIZE (32)),
+ c-rc-nav BIT STRING (SIZE (16)),
+ gps-omega-nav BIT STRING (SIZE (32)),
+ omegadot-nav BIT STRING (SIZE (24)),
+ idot-nav BIT STRING (SIZE (14)),
+ spare-zero-fill BIT STRING (SIZE (20)),
+ ie-Extensions ProtocolExtensionContainer { { GPS-NavandRecovery-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GPS-NavandRecovery-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GPS-RX-POS ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ directionOfAltitude ENUMERATED {height, depth},
+ altitude INTEGER (0..32767),
+ iE-Extensions ProtocolExtensionContainer { { GPS-RX-POS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GPS-RX-POS-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPS-Status-Health ::= ENUMERATED {
+ udre-scale-1dot0,
+ udre-scale-0dot75,
+ udre-scale-0dot5,
+ udre-scale-0dot3,
+ udre-scale-0dot1,
+ no-data,
+ invalid-data
+}
+
+GPSTOW ::= INTEGER (0..604799)
+
+GPS-UTC-Model ::= SEQUENCE {
+ a-one-utc BIT STRING (SIZE (24)),
+ a-zero-utc BIT STRING (SIZE (32)),
+ t-ot-utc BIT STRING (SIZE (8)),
+ delta-t-ls-utc BIT STRING (SIZE (8)),
+ w-n-t-utc BIT STRING (SIZE (8)),
+ w-n-lsf-utc BIT STRING (SIZE (8)),
+ dn-utc BIT STRING (SIZE (8)),
+ delta-t-lsf-utc BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { GPS-UTC-Model-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GPS-UTC-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- ==========================================
+-- H
+-- ==========================================
+
+HARQ-Info-for-E-DCH ::= ENUMERATED {
+ rv0,
+ rvtable
+}
+
+HARQ-MemoryPartitioning ::= CHOICE {
+ implicit HARQ-MemoryPartitioning-Implicit,
+ explicit HARQ-MemoryPartitioning-Explicit,
+ ...
+ }
+
+HARQ-MemoryPartitioning-Implicit ::= SEQUENCE {
+ number-of-Processes INTEGER (1..8,...,12|14|16),
+ iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioning-Implicit-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HARQ-MemoryPartitioning-Implicit-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HARQ-MemoryPartitioning-Explicit ::= SEQUENCE {
+ hARQ-MemoryPartitioningList HARQ-MemoryPartitioningList,
+ iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioning-Explicit-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HARQ-MemoryPartitioning-Explicit-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+-- The following IE may only be used in FDD, in MIMO dual stream transmission mode
+ {ID id-HARQ-MemoryPartitioningInfoExtForMIMO CRITICALITY ignore EXTENSION HARQ-MemoryPartitioningInfoExtForMIMO PRESENCE optional},
+ ...
+}
+
+HARQ-MemoryPartitioningList ::= SEQUENCE (SIZE (1..maxNrOfHARQProcesses)) OF HARQ-MemoryPartitioningItem
+
+HARQ-MemoryPartitioningInfoExtForMIMO ::= SEQUENCE (SIZE (4|6|8)) OF HARQ-MemoryPartitioningItem
+
+HARQ-MemoryPartitioningItem ::= SEQUENCE {
+ process-Memory-Size ENUMERATED {
+ hms800, hms1600, hms2400, hms3200, hms4000,
+ hms4800, hms5600, hms6400, hms7200, hms8000,
+ hms8800, hms9600, hms10400, hms11200, hms12000,
+ hms12800, hms13600, hms14400, hms15200, hms16000,
+ hms17600, hms19200, hms20800, hms22400, hms24000,
+ hms25600, hms27200, hms28800, hms30400, hms32000,
+ hms36000, hms40000, hms44000, hms48000, hms52000,
+ hms56000, hms60000, hms64000, hms68000, hms72000,
+ hms76000, hms80000, hms88000, hms96000, hms104000,
+ hms112000, hms120000, hms128000, hms136000, hms144000,
+ hms152000, hms160000, hms176000, hms192000, hms208000,
+ hms224000, hms240000, hms256000, hms272000, hms288000,
+ hms304000,...},
+ iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioningItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HARQ-MemoryPartitioningItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HARQ-Preamble-Mode ::= ENUMERATED {
+mode0,
+mode1
+}
+
+
+HARQ-Process-Allocation-2ms-EDCH ::= BIT STRING ( SIZE(maxNrOfEDCHHARQProcesses2msEDCH) )
+
+HARQ-Preamble-Mode-Activation-Indicator ::=ENUMERATED {
+ harqPreambleModeActivated
+}
+
+HSDPA-Capability ::= ENUMERATED {hsdpa-capable, hsdpa-non-capable}
+
+HS-DSCHProvidedBitRate ::= SEQUENCE (SIZE (1..maxNrOfPriorityClasses)) OF HS-DSCHProvidedBitRate-Item
+
+HS-DSCHProvidedBitRate-Item ::= SEQUENCE {
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ hS-DSCHProvidedBitRateValue HS-DSCHProvidedBitRateValue,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCHProvidedBitRate-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCHProvidedBitRate-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCHProvidedBitRateValue ::= INTEGER(0..16777215,...,16777216..256000000)
+-- except for 7.68Mcps TDD Unit bit/s, Range 0..2^24-1..2^24..256,000,000, Step 1 bit
+-- 7.68Mcps TDD Unit 2bit/s, Range 0..2^24-1..2^24..256,000,000, Step 1
+
+
+HS-DSCHProvidedBitRateValueInformation-For-CellPortion ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF HS-DSCHProvidedBitRateValueInformation-For-CellPortion-Item
+
+HS-DSCHProvidedBitRateValueInformation-For-CellPortion-Item ::= SEQUENCE{
+ cellPortionID CellPortionID,
+ hS-DSCHProvidedBitRateValue HS-DSCHProvidedBitRate,
+ iE-Extensions ProtocolExtensionContainer { {HS-DSCHProvidedBitRateValueInformation-For-CellPortion-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCHProvidedBitRateValueInformation-For-CellPortion-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR-Item
+
+HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR-Item ::= SEQUENCE{
+ cellPortionLCRID CellPortionLCRID,
+ hS-DSCHProvidedBitRateValue HS-DSCHProvidedBitRate,
+ iE-Extensions ProtocolExtensionContainer { {HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCHRequiredPower ::= SEQUENCE (SIZE (1..maxNrOfPriorityClasses)) OF HS-DSCHRequiredPower-Item
+
+HS-DSCHRequiredPower-Item ::= SEQUENCE {
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ hS-DSCHRequiredPowerValue HS-DSCHRequiredPowerValue,
+ hS-DSCHRequiredPowerPerUEInformation HS-DSCHRequiredPowerPerUEInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCHRequiredPower-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCHRequiredPower-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCHRequiredPowerValue ::= INTEGER(0..1000)
+-- Unit %, Range 0 ..1000, Step 0.1%
+
+HS-DSCHRequiredPowerPerUEInformation ::= SEQUENCE (SIZE (1.. maxNrOfContextsOnUeList)) OF HS-DSCHRequiredPowerPerUEInformation-Item
+
+
+HS-DSCHRequiredPowerPerUEInformation-Item ::= SEQUENCE {
+ cRNC-CommunicationContextID CRNC-CommunicationContextID,
+ hS-DSCHRequiredPowerPerUEWeight HS-DSCHRequiredPowerPerUEWeight OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCHRequiredPowerPerUEInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCHRequiredPowerPerUEInformation-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCHRequiredPowerPerUEWeight ::= INTEGER(0..100)
+-- Unit %, Range 0 ..100, Step 1%
+
+HS-DSCHRequiredPowerValueInformation-For-CellPortion ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF HS-DSCHRequiredPowerValueInformation-For-CellPortion-Item
+
+HS-DSCHRequiredPowerValueInformation-For-CellPortion-Item ::= SEQUENCE{
+ cellPortionID CellPortionID,
+ hS-DSCHRequiredPowerValue HS-DSCHRequiredPower,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCHRequiredPowerValueInformation-For-CellPortion-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCHRequiredPowerValueInformation-For-CellPortion-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR-Item
+
+HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR-Item ::= SEQUENCE{
+ cellPortionLCRID CellPortionLCRID,
+ hS-DSCHRequiredPowerValue HS-DSCHRequiredPower,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDPA-Associated-PICH-Information ::= CHOICE {
+ hsdpa-PICH-Shared-with-PCH HSDPA-PICH-Shared-with-PCH,
+ hsdpa-PICH-notShared-with-PCH HSDPA-PICH-notShared-with-PCH,
+ ...
+}
+
+HSDPA-PICH-Shared-with-PCH ::= SEQUENCE {
+ hsdpa-PICH-SharedPCH-ID CommonPhysicalChannelID,
+ ...
+}
+
+HSDPA-PICH-notShared-with-PCH ::= SEQUENCE {
+ hSDPA-PICH-notShared-ID CommonPhysicalChannelID,
+ fdd-DL-Channelisation-CodeNumber FDD-DL-ChannelisationCodeNumber,
+ pich-Power PICH-Power,
+ pich-Mode PICH-Mode,
+ sttd-Indicator STTD-Indicator,
+ ...
+}
+
+HSDSCH-Common-System-InformationFDD ::= SEQUENCE {
+ hsdsch-Common-Information HSDSCH-Common-Information OPTIONAL,
+ commonMACFlow-Specific-Information CommonMACFlow-Specific-InfoList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Common-System-InformationFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Common-System-InformationFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-Common-System-Information-ResponseFDD ::= SEQUENCE {
+ hsSCCH-Specific-Information-ResponseFDD HSSCCH-Specific-InformationRespListFDD OPTIONAL,
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
+ commonMACFlow-Specific-Info-Response CommonMACFlow-Specific-InfoList-Response OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Common-System-Information-ResponseFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Common-System-Information-ResponseFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-Common-Information ::= SEQUENCE {
+ cCCH-PriorityQueue-Id PriorityQueue-Id,
+ sRB1-PriorityQueue-Id PriorityQueue-Id,
+ associatedCommon-MACFlow Common-MACFlow-ID,
+ fACH-Measurement-Occasion-Cycle-Length-Coefficient FACH-Measurement-Occasion-Cycle-Length-Coefficient OPTIONAL,
+ rACH-Measurement-Result RACH-Measurement-Result,
+ bCCH-Specific-HSDSCH-RNTI-Information BCCH-Specific-HSDSCH-RNTI-Information,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Common-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-Common-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-FDD-Information ::= SEQUENCE {
+ hSDSCH-MACdFlows-Information HSDSCH-MACdFlows-Information,
+ ueCapability-Info UE-Capability-Information,
+ mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
+ cqiFeedback-CycleK CQI-Feedback-Cycle,
+ cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL,
+ -- This IE shall be present if the CQI Feedback Cycle k is greater than 0
+ ackNackRepetitionFactor AckNack-RepetitionFactor,
+ cqiPowerOffset CQI-Power-Offset,
+ ackPowerOffset Ack-Power-Offset,
+ nackPowerOffset Nack-Power-Offset,
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
+ measurement-Power-Offset Measurement-Power-Offset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-FDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HARQ-Preamble-Mode CRITICALITY ignore EXTENSION HARQ-Preamble-Mode PRESENCE optional}|
+ { ID id-MIMO-ActivationIndicator CRITICALITY reject EXTENSION MIMO-ActivationIndicator PRESENCE optional}|
+ { ID id-HSDSCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION HSDSCH-MACdPDUSizeFormat PRESENCE optional}|
+ { ID id-SixtyfourQAM-UsageAllowedIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-UsageAllowedIndicator PRESENCE optional}|
+ { ID id-UE-with-enhanced-HS-SCCH-support-indicator CRITICALITY ignore EXTENSION NULL PRESENCE optional}|
+ { ID id-EnhancedHSServingCC-Abort CRITICALITY reject EXTENSION EnhancedHSServingCC-Abort PRESENCE optional}|
+ { ID id-UE-SupportIndicatorExtension CRITICALITY ignore EXTENSION UE-SupportIndicatorExtension PRESENCE optional}|
+ { ID id-Single-Stream-MIMO-ActivationIndicator CRITICALITY reject EXTENSION Single-Stream-MIMO-ActivationIndicator PRESENCE optional},
+ ...
+}
+
+HSDSCH-TDD-Information ::= SEQUENCE {
+ hSDSCH-MACdFlows-Information HSDSCH-MACdFlows-Information,
+ ueCapability-Info UE-Capability-Information,
+ mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
+ tDD-AckNack-Power-Offset TDD-AckNack-Power-Offset,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-TDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSSICH-SIRTarget CRITICALITY ignore EXTENSION UL-SIR PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-HSSICH-TPC-StepSize CRITICALITY ignore EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-HSDSCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION HSDSCH-MACdPDUSizeFormat PRESENCE optional}|
+ { ID id-tSN-Length CRITICALITY reject EXTENSION TSN-Length PRESENCE optional }|
+ -- Applicable for 1.28Mcps TDD when using multiple frequencies
+ { ID id-MIMO-ActivationIndicator CRITICALITY reject EXTENSION MIMO-ActivationIndicator PRESENCE optional},
+...
+}
+
+
+HSDSCH-Information-to-Modify ::= SEQUENCE {
+ hsDSCH-MACdFlow-Specific-Info-to-Modify HSDSCH-MACdFlow-Specific-InfoList-to-Modify OPTIONAL,
+ priorityQueueInfotoModify PriorityQueue-InfoList-to-Modify OPTIONAL,
+ mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM OPTIONAL,
+ cqiFeedback-CycleK CQI-Feedback-Cycle OPTIONAL, -- For FDD only
+ cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL, -- For FDD only
+ ackNackRepetitionFactor AckNack-RepetitionFactor OPTIONAL, -- For FDD only
+ cqiPowerOffset CQI-Power-Offset OPTIONAL, -- For FDD only
+ ackPowerOffset Ack-Power-Offset OPTIONAL, -- For FDD only
+ nackPowerOffset Nack-Power-Offset OPTIONAL, -- For FDD only
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL, -- For FDD only
+ measurement-Power-Offset Measurement-Power-Offset OPTIONAL, -- For FDD only
+ hSSCCHCodeChangeGrant HSSCCH-Code-Change-Grant OPTIONAL,
+ tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL, -- For TDD only
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Information-to-Modify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-Information-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HARQ-Preamble-Mode CRITICALITY ignore EXTENSION HARQ-Preamble-Mode PRESENCE optional}|
+ { ID id-HSSICH-SIRTarget CRITICALITY ignore EXTENSION UL-SIR PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-ueCapability-Info CRITICALITY ignore EXTENSION UE-Capability-Information PRESENCE optional}|
+ { ID id-HSSICH-TPC-StepSize CRITICALITY ignore EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-HS-PDSCH-Code-Change-Grant CRITICALITY ignore EXTENSION HS-PDSCH-Code-Change-Grant PRESENCE optional}|
+ -- Applicable to FDD only
+ { ID id-MIMO-Mode-Indicator CRITICALITY reject EXTENSION MIMO-Mode-Indicator PRESENCE optional }|
+ { ID id-HSDSCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION HSDSCH-MACdPDUSizeFormat PRESENCE optional}|
+ { ID id-SixtyfourQAM-UsageAllowedIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-UsageAllowedIndicator PRESENCE optional}|
+ { ID id-EnhancedHSServingCC-Abort CRITICALITY reject EXTENSION EnhancedHSServingCC-Abort PRESENCE optional}|
+ { ID id-UE-SupportIndicatorExtension CRITICALITY ignore EXTENSION UE-SupportIndicatorExtension PRESENCE optional}|
+ { ID id-Single-Stream-MIMO-Mode-Indicator CRITICALITY reject EXTENSION Single-Stream-MIMO-Mode-Indicator PRESENCE optional },
+ -- Applicable to FDD only
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InfoList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InfoItem-to-Modify
+
+HSDSCH-MACdFlow-Specific-InfoItem-to-Modify ::= SEQUENCE {
+ hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
+ ...
+}
+
+HSDSCH-MACdPDUSizeFormat ::= ENUMERATED {
+ indexedMACdPDU-Size,
+ flexibleMACdPDU-Size
+}
+
+HSDSCH-MACdPDU-SizeCapability ::= ENUMERATED {
+ indexedSizeCapable,
+ flexibleSizeCapable
+}
+
+HSDSCH-Information-to-Modify-Unsynchronised ::= SEQUENCE {
+ hsDSCH-MACdFlow-Specific-Info-to-Modify HSDSCH-MACdFlow-Specific-InfoList-to-Modify OPTIONAL,
+ priorityQueueInfotoModifyUnsynchronised PriorityQueue-InfoList-to-Modify-Unsynchronised OPTIONAL,
+ cqiPowerOffset CQI-Power-Offset OPTIONAL, -- For FDD only
+ ackPowerOffset Ack-Power-Offset OPTIONAL, -- For FDD only
+ nackPowerOffset Nack-Power-Offset OPTIONAL, -- For FDD only
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL, -- For FDD only
+ tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL, -- For TDD only
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Information-to-Modify-Unsynchronised-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-Information-to-Modify-Unsynchronised-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HARQ-Preamble-Mode CRITICALITY ignore EXTENSION HARQ-Preamble-Mode PRESENCE optional}|
+ { ID id-HSSICH-SIRTarget CRITICALITY ignore EXTENSION UL-SIR PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-ueCapability-Info CRITICALITY ignore EXTENSION UE-Capability-Information PRESENCE optional}|
+ { ID id-HSSICH-TPC-StepSize CRITICALITY ignore EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-MIMO-Mode-Indicator CRITICALITY reject EXTENSION MIMO-Mode-Indicator PRESENCE optional }|
+ { ID id-SixtyfourQAM-UsageAllowedIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-UsageAllowedIndicator PRESENCE optional}|
+ { ID id-EnhancedHSServingCC-Abort CRITICALITY reject EXTENSION EnhancedHSServingCC-Abort PRESENCE optional}|
+ { ID id-UE-SupportIndicatorExtension CRITICALITY ignore EXTENSION UE-SupportIndicatorExtension PRESENCE optional}|
+ { ID id-Single-Stream-MIMO-Mode-Indicator CRITICALITY reject EXTENSION Single-Stream-MIMO-Mode-Indicator PRESENCE optional },
+ -- Applicable to FDD only
+ ...
+}
+
+HSDSCH-FDD-Information-Response ::= SEQUENCE {
+ hsDSCH-MACdFlow-Specific-InformationResp HSDSCH-MACdFlow-Specific-InformationResp OPTIONAL,
+ hsSCCH-Specific-Information-ResponseFDD HSSCCH-Specific-InformationRespListFDD OPTIONAL,
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-FDD-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-HARQ-Preamble-Mode-Activation-Indicator CRITICALITY ignore EXTENSION HARQ-Preamble-Mode-Activation-Indicator PRESENCE optional}|
+ { ID id-MIMO-N-M-Ratio CRITICALITY ignore EXTENSION MIMO-N-M-Ratio PRESENCE optional}|
+ { ID id-SixtyfourQAM-DL-UsageIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-DL-UsageIndicator PRESENCE optional }|
+ { ID id-HSDSCH-TBSizeTableIndicator CRITICALITY ignore EXTENSION HSDSCH-TBSizeTableIndicator PRESENCE optional },
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information ::= SEQUENCE {
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
+ measurement-Power-Offset Measurement-Power-Offset,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ hSDSCH-RNTI HSDSCH-RNTI,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-FDD-Secondary-Serving-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-MIMO-ActivationIndicator CRITICALITY reject EXTENSION MIMO-ActivationIndicator PRESENCE optional}|
+ {ID id-Single-Stream-MIMO-ActivationIndicator CRITICALITY reject EXTENSION Single-Stream-MIMO-ActivationIndicator PRESENCE optional}|
+ {ID id-DiversityMode CRITICALITY reject EXTENSION DiversityMode PRESENCE optional}|
+ {ID id-TransmitDiversityIndicator CRITICALITY reject EXTENSION TransmitDiversityIndicator PRESENCE optional},
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-Response ::= SEQUENCE {
+ hsSCCH-Specific-Information-ResponseFDD HSSCCH-Specific-InformationRespListFDD OPTIONAL,
+ sixtyfourQAM-DL-UsageIndicator SixtyfourQAM-DL-UsageIndicator OPTIONAL,
+ hSDSCH-TBSizeTableIndicator HSDSCH-TBSizeTableIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-FDD-Secondary-Serving-Information-Respons-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-Respons-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-MIMO-N-M-Ratio CRITICALITY ignore EXTENSION MIMO-N-M-Ratio PRESENCE optional},
+ ...
+}
+
+HS-DSCH-Secondary-Serving-Information-To-Modify ::= SEQUENCE {
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
+ measurement-Power-Offset Measurement-Power-Offset OPTIONAL,
+ hSSCCH-CodeChangeGrant HSSCCH-Code-Change-Grant OPTIONAL,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Secondary-Serving-Information-To-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Secondary-Serving-Information-To-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-MIMO-Mode-Indicator CRITICALITY reject EXTENSION MIMO-Mode-Indicator PRESENCE optional }|
+ {ID id-Single-Stream-MIMO-Mode-Indicator CRITICALITY reject EXTENSION Single-Stream-MIMO-Mode-Indicator PRESENCE optional }|
+ {ID id-DiversityMode CRITICALITY reject EXTENSION DiversityMode PRESENCE optional}|
+ {ID id-TransmitDiversityIndicator CRITICALITY reject EXTENSION TransmitDiversityIndicator PRESENCE optional}|
+-- This IE shall be present if Diversity Mode IE is present and is not set to "none"
+ {ID id-NonCellSpecificTxDiversity CRITICALITY reject EXTENSION NonCellSpecificTxDiversity PRESENCE optional},
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised ::= SEQUENCE {
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-MIMO-Mode-Indicator CRITICALITY reject EXTENSION MIMO-Mode-Indicator PRESENCE optional }|
+ {ID id-Single-Stream-MIMO-Mode-Indicator CRITICALITY reject EXTENSION Single-Stream-MIMO-Mode-Indicator PRESENCE optional },
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Update-Information ::= SEQUENCE {
+ hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
+ hS-PDSCH-Code-Change-Indicator HS-PDSCH-Code-Change-Indicator OPTIONAL,
+ -- This IE shall never be included. If received it shall be ignored.
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-FDD-Secondary-Serving-Update-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Update-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCH-Secondary-Serving-Cell-Change-Information-Response ::= SEQUENCE {
+ hS-DSCH-Secondary-Serving-cell-choice HS-DSCH-Secondary-Serving-cell-change-choice,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Secondary-Serving-Cell-Change-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Secondary-Serving-Cell-Change-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCH-Secondary-Serving-cell-change-choice ::= CHOICE {
+ hS-Secondary-Serving-cell-change-successful HS-Secondary-Serving-cell-change-successful,
+ hS-Secondary-Serving-cell-change-unsuccessful HS-Secondary-Serving-cell-change-unsuccessful,
+ ...
+}
+
+HS-Secondary-Serving-cell-change-successful ::= SEQUENCE {
+ hS-DSCH-FDD-Secondary-Serving-Information-Response HS-DSCH-FDD-Secondary-Serving-Information-Response,
+ iE-Extensions ProtocolExtensionContainer { { HS-Secondary-Serving-cell-change-successful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-Secondary-Serving-cell-change-successful-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-Secondary-Serving-cell-change-unsuccessful ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { HS-Secondary-Serving-cell-change-unsuccessful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-Secondary-Serving-cell-change-unsuccessful-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+HS-DSCH-Secondary-Serving-Remove ::= NULL
+
+
+HSDSCH-Paging-System-InformationFDD ::= SEQUENCE {
+ paging-MACFlow-Specific-Information Paging-MACFlow-Specific-Information,
+ hSSCCH-Power DL-Power,
+ hSPDSCH-Power DL-Power,
+ number-of-PCCH-transmission Number-of-PCCH-transmission,
+ transport-Block-Size-List Transport-Block-Size-List,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Paging-System-InformationFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Paging-System-InformationFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-Paging-System-Information-ResponseFDD ::= SEQUENCE (SIZE (1..maxNrOfPagingMACFlow)) OF HSDSCH-Paging-System-Information-ResponseList
+
+HSDSCH-Paging-System-Information-ResponseList ::= SEQUENCE {
+ pagingMACFlow-ID Paging-MACFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ hSPDSCH-Code-Index HSPDSCH-Code-Index,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Paging-System-Information-ResponseList-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Paging-System-Information-ResponseList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-TDD-Information-Response ::= SEQUENCE {
+ hsDSCH-MACdFlow-Specific-InformationResp HSDSCH-MACdFlow-Specific-InformationResp OPTIONAL,
+ hsSCCH-Specific-Information-ResponseTDD HSSCCH-Specific-InformationRespListTDD OPTIONAL, -- Not Applicable to 1.28Mcps TDD or 7.68Mcps TDD
+ hsSCCH-Specific-Information-ResponseTDDLCR HSSCCH-Specific-InformationRespListTDDLCR OPTIONAL, -- Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD,This HSSCCH Specific Information is for the first Frequency repetition, HSSCCH Specific Information for Frequency repetitions 2 and on, should be defined in MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL, -- This HARQ Memory Partitioning Information is for the first Frequency repetition, HARQ Memory Partitioning Information for Frequency repetitions 2 and on, should be defined in MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-TDD-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-hsSCCH-Specific-Information-ResponseTDD768 CRITICALITY ignore EXTENSION HSSCCH-Specific-InformationRespListTDD768 PRESENCE optional}|
+{ ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies ,This is the UARFCN for the first Frequency repetition
+{ ID id-multipleFreq-HSPDSCH-InformationList-ResponseTDDLCR CRITICALITY ignore EXTENSION MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies ,This MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR is the HS-SCCH and HARQ Memory Partitioning information for the 2nd and beyond HS-PDSCH frequencies.
+{ ID id-multicarrier-number CRITICALITY ignore EXTENSION Multicarrier-Number PRESENCE optional }|
+ -- Applicable for 1.28Mcps TDD when using multiple frequencies
+ {ID id-MIMO-SFMode-For-HSPDSCHDualStream CRITICALITY reject EXTENSION MIMO-SFMode-For-HSPDSCHDualStream PRESENCE optional}|
+ {ID id-MIMO-ReferenceSignal-InformationListLCR CRITICALITY reject EXTENSION MIMO-ReferenceSignal-InformationListLCR PRESENCE optional},
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InformationResp ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InformationResp-Item
+
+HSDSCH-MACdFlow-Specific-InformationResp-Item ::= SEQUENCE {
+ hsDSCHMacdFlow-Id HSDSCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ hSDSCH-Initial-Capacity-Allocation HSDSCH-Initial-Capacity-Allocation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InformationRespItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InformationRespItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-MACdFlows-Information ::= SEQUENCE {
+ hSDSCH-MACdFlow-Specific-Info HSDSCH-MACdFlow-Specific-InfoList,
+ priorityQueue-Info PriorityQueue-InfoList,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlows-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-MACdFlows-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InfoList ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InfoItem
+
+HSDSCH-MACdFlow-Specific-InfoItem ::= SEQUENCE {
+ hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+HSDSCH-MACdFlows-to-Delete ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlows-to-Delete-Item
+
+HSDSCH-MACdFlows-to-Delete-Item ::= SEQUENCE {
+ hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlows-to-Delete-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-MACdFlows-to-Delete-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-TBSizeTableIndicator ::= ENUMERATED {
+ octet-aligned
+}
+
+HSSCCH-PowerOffset ::= INTEGER (0..255)
+-- PowerOffset = -32 + offset * 0.25
+-- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
+
+HSDSCH-Initial-Capacity-Allocation::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF HSDSCH-Initial-Capacity-AllocationItem
+
+HSDSCH-Initial-Capacity-AllocationItem ::= SEQUENCE {
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ maximum-MACdPDU-Size MACdPDU-Size,
+ hSDSCH-InitialWindowSize HSDSCH-InitialWindowSize,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Initial-Capacity-AllocationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Initial-Capacity-AllocationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaximumMACdPDU-SizeExtended CRITICALITY ignore EXTENSION MAC-PDU-SizeExtended PRESENCE optional},
+ ...
+}
+
+HSDSCH-InitialWindowSize ::= INTEGER (1..255)
+-- Number of MAC-d PDUs.
+
+
+HSDSCH-PreconfigurationInfo ::= SEQUENCE {
+ setsOfHS-SCCH-Codes SetsOfHS-SCCH-Codes,
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning,
+ e-DCH-FDD-DL-Control-Channel-Information E-DCH-FDD-DL-Control-Channel-Information OPTIONAL,
+ hARQ-Preamble-Mode-Activation-Indicator HARQ-Preamble-Mode-Activation-Indicator OPTIONAL,
+ mIMO-N-M-Ratio MIMO-N-M-Ratio OPTIONAL,
+ continuousPacketConnectivityHS-SCCH-less-Information-Response ContinuousPacketConnectivityHS-SCCH-less-Information-Response OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-PreconfigurationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-PreconfigurationInfo-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-EDCH-Preconfiguration-Information CRITICALITY ignore EXTENSION Additional-EDCH-Preconfiguration-Information PRESENCE optional },
+ ...
+}
+
+Additional-EDCH-Preconfiguration-Information ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Preconfiguration-Information-ItemIEs
+
+Additional-EDCH-Preconfiguration-Information-ItemIEs ::= SEQUENCE {
+ e-DCH-FDD-DL-Control-Channel-Information E-DCH-FDD-DL-Control-Channel-Information,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Preconfiguration-Information-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Preconfiguration-Information-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-PreconfigurationSetup ::= SEQUENCE {
+ mAChsResetScheme MAChsResetScheme,
+ hSDSCH-Physical-Layer-Category INTEGER (1..64,...),
+ mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
+ secondaryServingCells SecondaryServingCells OPTIONAL,
+ numPrimaryHS-SCCH-Codes NumHS-SCCH-Codes OPTIONAL,
+ hARQ-Preamble-Mode HARQ-Preamble-Mode OPTIONAL,
+ mIMO-ActivationIndicator MIMO-ActivationIndicator OPTIONAL,
+ hSDSCH-MACdPDUSizeFormat HSDSCH-MACdPDUSizeFormat OPTIONAL,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ uE-with-enhanced-HS-SCCH-support-indicator NULL OPTIONAL,
+ continuousPacketConnectivityHS-SCCH-less-Information ContinuousPacketConnectivityHS-SCCH-less-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCHPreconfigurationSetup-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCHPreconfigurationSetup-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-UE-SupportIndicatorExtension CRITICALITY ignore EXTENSION UE-SupportIndicatorExtension PRESENCE optional},
+ ...
+}
+
+
+HS-SCCH-PreconfiguredCodes ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HS-SCCH-PreconfiguredCodesItem
+
+HS-SCCH-PreconfiguredCodesItem ::= SEQUENCE {
+ hS-SCCH-CodeNumber HS-SCCH-CodeNumber,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-PreconfiguredCodesItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-PreconfiguredCodesItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-CodeNumber ::= INTEGER (0..127)
+
+
+HSSCCH-Specific-InformationRespListFDD ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Codes
+
+HSSCCH-Codes ::= SEQUENCE {
+ codeNumber INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSCCH-Specific-InformationRespItemFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSCCH-Specific-InformationRespListTDD ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Specific-InformationRespItemTDD
+
+HSSCCH-Specific-InformationRespItemTDD ::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ hSSICH-Info HSSICH-Info,
+ iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSCCH-Specific-InformationRespItemTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSCCH-Specific-InformationRespListTDDLCR ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Specific-InformationRespItemTDDLCR
+
+HSSCCH-Specific-InformationRespItemTDDLCR ::= SEQUENCE {
+ timeslotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ first-TDD-ChannelisationCode TDD-ChannelisationCode,
+ second-TDD-ChannelisationCode TDD-ChannelisationCode,
+ hSSICH-InfoLCR HSSICH-InfoLCR,
+ iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemTDDLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSCCH-Specific-InformationRespItemTDDLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-UARFCNforNt CRITICALITY reject EXTENSION UARFCN PRESENCE optional},
+ -- Applicable for 1.28Mcps TDD when using multiple frequencies. this IE indicates the frequency which is actually used by the HS-SCCH
+ ...
+}
+HSSCCH-Specific-InformationRespListTDD768 ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Specific-InformationRespItemTDD768
+
+HSSCCH-Specific-InformationRespItemTDD768 ::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768,
+ hSSICH-Info768 HSSICH-Info768,
+ iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemTDD768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSCCH-Specific-InformationRespItemTDD768-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+HSSICH-Info ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeslot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSICH-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSICH-InfoLCR ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeslotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSICH-Info-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-HS-SICH-ID CRITICALITY ignore EXTENSION Extended-HS-SICH-ID PRESENCE optional},
+ -- used if the HS-SICH identity has a value larger than 31
+ ...
+}
+
+HSSICH-Info768 ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeslot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSICH-Info-768-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+HS-SICH-Reception-Quality-Value ::= SEQUENCE {
+ failed-HS-SICH HS-SICH-failed,
+ missed-HS-SICH HS-SICH-missed,
+ total-HS-SICH HS-SICH-total,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-Reception-Quality-Value-ExtIEs} } OPTIONAL,
+...
+}
+
+HS-SICH-Reception-Quality-Value-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-failed-HS-SICH CRITICALITY reject EXTENSION HS-SICH-failed PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD only, used when there are more than 20 failed HS-SICH
+ {ID id-Additional-missed-HS-SICH CRITICALITY reject EXTENSION HS-SICH-missed PRESENCE optional}|
+ -- Mandatory for 1.28Mcps TDD only, used when there are more than 20 missed HS-SICH
+ {ID id-Additional-total-HS-SICH CRITICALITY reject EXTENSION HS-SICH-total PRESENCE optional},
+ -- Mandatory for 1.28Mcps TDD only, used when there are more than 20 total HS-SICH
+ ...
+}
+
+HS-SICH-failed ::= INTEGER (0..20)
+
+HS-SICH-missed ::= INTEGER (0..20)
+
+HS-SICH-total ::= INTEGER (0..20)
+
+HS-SICH-Reception-Quality-Measurement-Value ::= INTEGER (0..20)
+-- According to mapping in [23]
+
+HSDSCH-MACdFlow-ID ::= INTEGER (0..maxNrOfMACdFlows-1)
+
+HSDSCH-RNTI ::= INTEGER (0..65535)
+
+HS-PDSCH-FDD-Code-Information ::= SEQUENCE {
+ number-of-HS-PDSCH-codes INTEGER (0..maxHS-PDSCHCodeNrComp-1),
+ hS-PDSCH-Start-code-number HS-PDSCH-Start-code-number OPTIONAL,
+-- Only included when number of HS-DSCH codes > 0
+ iE-Extensions ProtocolExtensionContainer { { HS-PDSCH-FDD-Code-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-PDSCH-FDD-Code-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-PDSCH-Start-code-number ::= INTEGER (1..maxHS-PDSCHCodeNrComp-1)
+
+HS-SCCH-ID ::= INTEGER (0..31)
+HS-SICH-ID ::= INTEGER (0..31)
+
+HS-SCCH-FDD-Code-Information::= CHOICE {
+ replace HS-SCCH-FDD-Code-List,
+ remove NULL,
+ ...
+}
+
+HS-SCCH-FDD-Code-List ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-FDD-Code-Information-Item
+
+HS-SCCH-FDD-Code-Information-Item ::= INTEGER (0..maxHS-SCCHCodeNrComp-1)
+
+HSSCCH-CodeChangeIndicator ::= ENUMERATED {
+ hsSCCHCodeChangeNeeded
+}
+
+HSSCCH-Code-Change-Grant ::= ENUMERATED {
+ changeGranted
+}
+
+HS-PDSCH-Code-Change-Indicator ::= ENUMERATED {
+ hsPDSCHCodeChangeNeeded
+}
+
+HS-PDSCH-Code-Change-Grant ::= ENUMERATED {
+ changeGranted
+}
+
+HSDSCH-Configured-Indicator::= ENUMERATED {
+ configured-HS-DSCH,
+ no-configured-HS-DSCH
+}
+
+HS-DSCH-Serving-Cell-Change-Info ::= SEQUENCE {
+ hspdsch-RL-ID RL-ID,
+ hSDSCH-FDD-Information HSDSCH-FDD-Information OPTIONAL,
+ hsdsch-RNTI HSDSCH-RNTI,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Serving-Cell-Change-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Serving-Cell-Change-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Information CRITICALITY reject EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Information PRESENCE optional },
+ ...
+}
+
+HS-DSCH-Serving-Cell-Change-Info-Response::= SEQUENCE {
+ hS-DSCH-serving-cell-choice HS-DSCH-serving-cell-choice,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-serving-cell-informationResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCH-serving-cell-informationResponse-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCH-serving-cell-choice ::= CHOICE {
+ hS-serving-cell-change-successful HS-serving-cell-change-successful,
+ hS-serving-cell-change-unsuccessful HS-serving-cell-change-unsuccessful,
+ ...
+}
+
+HS-serving-cell-change-successful ::= SEQUENCE {
+ hSDSCH-FDD-Information-Response HSDSCH-FDD-Information-Response,
+ iE-Extensions ProtocolExtensionContainer { { HS-serving-cell-change-successful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-serving-cell-change-successful-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Information-Response CRITICALITY ignore EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Information-Response PRESENCE optional },
+ ...
+}
+
+HS-serving-cell-change-unsuccessful ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { HS-serving-cell-change-unsuccessful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-serving-cell-change-unsuccessful-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+HS-DSCH-DRX-Cycle-FACH ::= ENUMERATED {v4,v8,v16,v32,...}
+
+HS-DSCH-RX-Burst-FACH::= ENUMERATED {v1,v2,v4,v8,v16,...}
+
+
+HSDSCH-FDD-Update-Information ::= SEQUENCE {
+ hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
+ cqiFeedback-CycleK CQI-Feedback-Cycle OPTIONAL,
+ cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL,
+ ackNackRepetitionFactor AckNack-RepetitionFactor OPTIONAL,
+ cqiPowerOffset CQI-Power-Offset OPTIONAL,
+ ackPowerOffset Ack-Power-Offset OPTIONAL,
+ nackPowerOffset Nack-Power-Offset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Update-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-FDD-Update-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-HS-PDSCH-Code-Change-Indicator CRITICALITY ignore EXTENSION HS-PDSCH-Code-Change-Indicator PRESENCE optional },
+ ...
+}
+
+HSDSCH-TDD-Update-Information ::= SEQUENCE {
+ hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
+ tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Update-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-TDD-Update-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+HSPDSCH-Code-Index ::= INTEGER (1..maxHS-PDSCHCodeNrComp-1)
+-- index of first HS-PDSCH code
+
+HSPDSCH-First-Code-Index ::= INTEGER (1..maxHS-PDSCHCodeNrComp-1)
+ -- index of first HS-PDSCH code
+
+HSPDSCH-Second-Code-Index ::= INTEGER (1..maxHS-PDSCHCodeNrComp-1)
+ -- index of second HS-PDSCH code
+
+HSPDSCH-Second-Code-Support ::= BOOLEAN
+ -- true: applied, false: not applied
+
+HSDPA-Associated-PICH-InformationLCR ::= CHOICE {
+ hsdpa-PICH-Shared-with-PCH HSDPA-PICH-Shared-with-PCH,
+ hsdpa-PICH-notShared-with-PCHLCR HSDPA-PICH-notShared-with-PCHLCR,
+ ...
+}
+
+
+HSDPA-PICH-notShared-with-PCHLCR ::= SEQUENCE {
+ hSDPA-PICH-notShared-ID CommonPhysicalChannelID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ pagingIndicatorLength PagingIndicatorLength,
+ pICH-Power PICH-Power,
+ second-TDD-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ sttd-Indicator STTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { HSDPA-PICH-notShared-with-PCHLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDPA-PICH-notShared-with-PCHLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+HSDSCH-Common-System-InformationLCR ::= SEQUENCE {
+ hsdsch-Common-InformationLCR HSDSCH-Common-InformationLCR OPTIONAL,
+ commonMACFlow-Specific-InformationLCR CommonMACFlow-Specific-InfoListLCR OPTIONAL,
+ common-H-RNTI-InformationLCR Common-H-RNTI-InformationLCR OPTIONAL,
+ sync-InformationLCR Sync-InformationLCR OPTIONAL,
+ tDD-AckNack-Power-Offset TDD-AckNack-Power-Offset OPTIONAL,
+ hSSICH-SIRTarget UL-SIR OPTIONAL,
+ hSSICH-TPC-StepSize TDD-TPC-UplinkStepSize-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Common-System-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Common-System-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-Common-System-Information-ResponseLCR ::= SEQUENCE {
+ hsSCCH-Specific-Information-ResponseLCR HSSCCH-Specific-InformationRespListLCR OPTIONAL,
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
+-- This HARQ Memory Partitioning Information is for the first Frequency repetition, HARQ Memory Partitioning Information for Frequency repetitions 2 and on, should be defined in MultipleFreq-HARQ-MemoryPartitioning-InformationList.
+ commonMACFlow-Specific-Info-ResponseLCR CommonMACFlow-Specific-InfoList-ResponseLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Common-System-Information-ResponseLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Common-System-Information-ResponseLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional}|
+-- Applicable to 1.28Mcps TDD when using multiple frequencies. This is the UARFCN for the first Frequency repetition
+{ ID id-MultipleFreq-HARQ-MemoryPartitioning-InformationList CRITICALITY ignore EXTENSION MultipleFreq-HARQ-MemoryPartitioning-InformationList PRESENCE optional },
+-- Applicable to 1.28Mcps TDD when using multiple frequencies.This HARQ MemoryPartitioning Information is for the 2nd and beyond frequencies.
+ ...
+}
+
+HSDSCH-Common-InformationLCR ::= SEQUENCE {
+ cCCH-PriorityQueue-Id PriorityQueue-Id,
+ sRB1-PriorityQueue-Id PriorityQueue-Id,
+ associatedCommon-MACFlowLCR Common-MACFlow-ID-LCR,
+ fACH-Measurement-Occasion-Cycle-Length-Coefficient FACH-Measurement-Occasion-Cycle-Length-Coefficient OPTIONAL,
+ bCCH-Specific-HSDSCH-RNTI-InformationLCR BCCH-Specific-HSDSCH-RNTI-InformationLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Common-InformationLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-Common-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-Paging-System-InformationLCR ::= SEQUENCE {
+ paging-MACFlow-Specific-InformationLCR Paging-MACFlow-Specific-InformationLCR,
+ hSSCCH-Power DL-Power OPTIONAL,
+ hSPDSCH-Power DL-Power OPTIONAL,
+ reception-Window-Size INTEGER(1..16) OPTIONAL,
+ n-PCH INTEGER(1..8) OPTIONAL,
+ paging-Subchannel-Size INTEGER(1..3) OPTIONAL,
+ transport-Block-Size-List Transport-Block-Size-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Paging-System-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Paging-System-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-Paging-System-Information-ResponseLCR ::= SEQUENCE (SIZE (1..maxNrOfPagingMACFlow)) OF HSDSCH-Paging-System-Information-ResponseListLCR
+
+HSDSCH-Paging-System-Information-ResponseListLCR ::= SEQUENCE {
+ pagingMACFlow-ID Paging-MACFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ dL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Paging-System-Information-ResponseListLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Paging-System-Information-ResponseListLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-ID-LCR ::= INTEGER (0..255)
+
+HSSCCH-Specific-InformationRespListLCR ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHsLCR)) OF HSSCCH-Specific-InformationRespItemLCR
+
+HSSCCH-Specific-InformationRespItemLCR ::= SEQUENCE {
+ hS-SCCH-ID-LCR HS-SCCH-ID-LCR,
+ iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSCCH-Specific-InformationRespItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+HS-DSCH-Semi-PersistentScheduling-Information-LCR ::= SEQUENCE {
+ transport-Block-Size-List Transport-Block-Size-List-LCR,
+ repetition-Period-List-LCR Repetition-Period-List-LCR,
+ hS-DSCH-SPS-Reservation-Indicator SPS-Reservation-Indicator OPTIONAL,
+ hS-DSCH-SPS-Operation-Indicator HS-DSCH-SPS-Operation-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Semi-PersistentScheduling-Information-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Semi-PersistentScheduling-Information-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transport-Block-Size-List-LCR ::= SEQUENCE (SIZE (1..maxNoOfTBSs-Mapping-HS-DSCH-SPS)) OF Transport-Block-Size-Item-LCR
+
+Transport-Block-Size-Item-LCR ::= SEQUENCE {
+ transport-Block-Size-maping-Index-LCR Transport-Block-Size-maping-Index-LCR,
+ transport-Block-Size-Index-LCR Transport-Block-Size-Index-LCR,
+ iE-Extensions ProtocolExtensionContainer { { Transport-Block-Size-Item-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Transport-Block-Size-Item-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transport-Block-Size-maping-Index-LCR ::= INTEGER (0..maxNoOfTBSs-Mapping-HS-DSCH-SPS-1)
+
+Transport-Block-Size-Index-LCR ::= INTEGER (1..maxNoOfHS-DSCH-TBSsLCR)
+
+Repetition-Period-List-LCR ::= SEQUENCE (SIZE (1..maxNoOfRepetition-Period-LCR)) OF Repetition-Period-Item-LCR
+
+Repetition-Period-Item-LCR ::= SEQUENCE {
+ repetitionPeriodIndex RepetitionPeriodIndex,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Repetition-Period-Item-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Repetition-Period-Item-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RepetitionPeriodIndex ::= INTEGER (0..maxNoOfRepetitionPeriod-SPS-LCR-1)
+
+SPS-Reservation-Indicator ::= ENUMERATED {
+ reserve
+}
+
+HS-DSCH-SPS-Operation-Indicator ::= CHOICE {
+ logicalChannellevel LogicalChannellevel,
+ priorityQueuelevel PriorityQueuelevel,
+ ...
+}
+
+LogicalChannellevel ::= BIT STRING (SIZE (16))
+
+PriorityQueuelevel ::= BIT STRING (SIZE (8))
+
+HS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR ::= SEQUENCE {
+ transport-Block-Size-List Transport-Block-Size-List-LCR OPTIONAL,
+ repetition-Period-List-LCR Repetition-Period-List-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-HS-DSCH-SPS-Reservation-Indicator CRITICALITY ignore EXTENSION SPS-Reservation-Indicator PRESENCE optional }|
+{ ID id-HS-DSCH-SPS-Operation-Indicator CRITICALITY reject EXTENSION HS-DSCH-SPS-Operation-Indicator PRESENCE optional },
+ ...
+}
+
+HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR ::= SEQUENCE {
+ hS-SICH-InformationList-for-HS-DSCH-SPS HS-SICH-InformationList-for-HS-DSCH-SPS,
+ initial-HS-PDSCH-SPS-Resource Initial-HS-PDSCH-SPS-Resource OPTIONAL,
+ buffer-Size-for-HS-DSCH-SPS Process-Memory-Size OPTIONAL,
+ number-of-Processes-for-HS-DSCH-SPS Number-of-Processes-for-HS-DSCH-SPS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SICH-InformationList-for-HS-DSCH-SPS ::= SEQUENCE (SIZE (1..maxNoOf-HS-SICH-SPS)) OF HS-SICH-InformationItem-for-HS-DSCH-SPS
+
+HS-SICH-InformationItem-for-HS-DSCH-SPS ::= SEQUENCE {
+ hS-SICH-Mapping-Index HS-SICH-Mapping-Index OPTIONAL,
+ -- the IE is madatory for 1.28Mcps TDD.
+ hS-SICH-Type HS-SICH-Type,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-InformationItem-for-HS-DSCH-SPS-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-SICH-InformationItem-for-HS-DSCH-SPS-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SICH-Mapping-Index ::= INTEGER (0..maxNoOf-HS-SICH-SPS-1)
+
+HS-SICH-Type ::= CHOICE {
+ hS-SCCH-Associated-HS-SICH HS-SCCH-Associated-HS-SICH,
+ non-HS-SCCH-Associated-HS-SICH Non-HS-SCCH-Associated-HS-SICH,
+ ...
+}
+
+
+HS-SCCH-Associated-HS-SICH ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ extended-HS-SICH-ID Extended-HS-SICH-ID OPTIONAL,
+...
+}
+
+
+Non-HS-SCCH-Associated-HS-SICH::= SEQUENCE {
+ non-HS-SCCH-Aassociated-HS-SICH-ID Non-HS-SCCH-Aassociated-HS-SICH-ID,
+...
+}
+
+Non-HS-SCCH-Aassociated-HS-SICH-ID ::= INTEGER (0..255)
+
+Initial-HS-PDSCH-SPS-Resource::= SEQUENCE {
+ repetitionPeriodIndex RepetitionPeriodIndex,
+ repetitionLength RepetitionLength OPTIONAL,
+ -- the IE is not used.
+ hS-PDSCH-Offset TDD-PhysicalChannelOffset,
+ timeslot-Resource-Related-Information HS-DSCH-TimeslotResourceLCR,
+ startCode TDD-ChannelisationCode,
+ endCode TDD-ChannelisationCode,
+ transport-Block-Size-Index Transport-Block-Size-Index-LCR,
+ modulationType ModulationSPS-LCR,
+ hS-SICH-Mapping-Index HS-SICH-Mapping-Index,
+ iE-Extensions ProtocolExtensionContainer { { Initial-HS-PDSCH-SPS-Resource-ExtIEs } } OPTIONAL,
+...
+}
+
+Initial-HS-PDSCH-SPS-Resource-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MidambleShiftLCR CRITICALITY reject EXTENSION MidambleShiftLCR PRESENCE optional },
+ -- mandaroty for 1.28Mcps TDD.
+ ...
+}
+
+HS-DSCH-TimeslotResourceLCR ::= BIT STRING (SIZE (5))
+
+ModulationSPS-LCR ::= ENUMERATED {
+ qPSK,
+ sixteenQAM,
+ ...
+}
+
+Number-of-Processes-for-HS-DSCH-SPS ::= INTEGER (1..16)
+
+Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst::= SEQUENCE {
+ non-HS-SCCH-Associated-HS-SICH-InformationList Non-HS-SCCH-Associated-HS-SICH-InformationList,
+ iE-Extensions ProtocolExtensionContainer { { Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs } } OPTIONAL,
+...
+}
+
+Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext CRITICALITY reject EXTENSION Non-HS-SCCH-Associated-HS-SICH-InformationList-Ext PRESENCE optional },
+ ...
+}
+
+Non-HS-SCCH-Associated-HS-SICH-InformationList ::= SEQUENCE (SIZE (0..maxNoOfNon-HS-SCCH-Assosiated-HS-SICH)) OF Non-HS-SCCH-Associated-HS-SICH-InformationItem
+
+Non-HS-SCCH-Associated-HS-SICH-InformationList-Ext ::= SEQUENCE (SIZE (0..maxNoOfNon-HS-SCCH-Assosiated-HS-SICH-Ext)) OF Non-HS-SCCH-Associated-HS-SICH-InformationItem
+
+Non-HS-SCCH-Associated-HS-SICH-InformationItem ::= SEQUENCE {
+ non-HS-SCCH-Aassociated-HS-SICH-ID Non-HS-SCCH-Aassociated-HS-SICH-ID,
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ uARFCN UARFCN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Non-HS-SCCH-Associated-HS-SICH-InformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Non-HS-SCCH-Associated-HS-SICH-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst::= SEQUENCE {
+ modify-non-HS-SCCH-Associated-HS-SICH-InformationList Modify-Non-HS-SCCH-Associated-HS-SICH-InformationList,
+ iE-Extensions ProtocolExtensionContainer { { Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs } } OPTIONAL,
+...
+}
+
+Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext CRITICALITY reject EXTENSION Modify-Non-HS-SCCH-Associated-HS-SICH-InformationList-Ext PRESENCE optional },
+ ...
+}
+
+Modify-Non-HS-SCCH-Associated-HS-SICH-InformationList ::= SEQUENCE (SIZE (0..maxNoOfNon-HS-SCCH-Assosiated-HS-SICH)) OF Modify-Non-HS-SCCH-Associated-HS-SICH-InformationItem
+
+Modify-Non-HS-SCCH-Associated-HS-SICH-InformationList-Ext ::= SEQUENCE (SIZE (0.. maxNoOfNon-HS-SCCH-Assosiated-HS-SICH-Ext)) OF Modify-Non-HS-SCCH-Associated-HS-SICH-InformationItem
+
+Modify-Non-HS-SCCH-Associated-HS-SICH-InformationItem ::= SEQUENCE {
+ non-HS-SCCH-Aassociated-HS-SICH-ID Non-HS-SCCH-Aassociated-HS-SICH-ID,
+ timeSlotLCR TimeSlotLCR OPTIONAL,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ uARFCN UARFCN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Modify-Non-HS-SCCH-Associated-HS-SICH-InformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Modify-Non-HS-SCCH-Associated-HS-SICH-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (0..maxNoOfNon-HS-SCCH-Assosiated-HS-SICH)) OF Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqstItem
+
+Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext ::= SEQUENCE (SIZE (0..maxNoOfNon-HS-SCCH-Assosiated-HS-SICH-Ext)) OF Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqstItem
+
+Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqstItem ::= SEQUENCE {
+non-HS-SCCH-Aassociated-HS-SICH-ID Non-HS-SCCH-Aassociated-HS-SICH-ID,
+...
+}
+
+MIMO-ReferenceSignal-InformationListLCR ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSICH-ReferenceSignal-InformationLCR
+
+HSSICH-ReferenceSignal-InformationLCR ::= SEQUENCE {
+ midambleConfigurationLCR MidambleConfigurationLCR,
+ midambleShift INTEGER (0..15),
+ timeSlotLCR TimeSlotLCR,
+ iE-Extensions ProtocolExtensionContainer { { HSSICH-ReferenceSignal-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSICH-ReferenceSignal-InformationLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSICH-ReferenceSignal-InformationModifyLCR ::= SEQUENCE {
+ hSSICH-ReferenceSignal-InformationLCR HSSICH-ReferenceSignal-InformationLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSSICH-ReferenceSignal-InformationModifyLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSICH-ReferenceSignal-InformationModifyLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- ==========================================
+-- I
+-- ==========================================
+
+IB-OC-ID ::= INTEGER (1..16)
+
+IB-SG-DATA ::= BIT STRING
+-- Contains SIB data fixed" or "SIB data variable" in segment as encoded in ref.[18].
+
+IB-SG-POS ::= INTEGER (0..4094)
+-- Only even positions allowed
+
+IB-SG-REP ::= ENUMERATED {rep4, rep8, rep16, rep32, rep64, rep128, rep256, rep512, rep1024, rep2048, rep4096}
+
+IB-Type ::= ENUMERATED {
+ mIB,
+ sB1,
+ sB2,
+ sIB1,
+ sIB2,
+ sIB3,
+ sIB4,
+ sIB5,
+ sIB6,
+ sIB7,
+ not-Used-sIB8,
+ not-Used-sIB9,
+ not-Used-sIB10,
+ sIB11,
+ sIB12,
+ sIB13,
+ sIB13dot1,
+ sIB13dot2,
+ sIB13dot3,
+ sIB13dot4,
+ sIB14,
+ sIB15,
+ sIB15dot1,
+ sIB15dot2,
+ sIB15dot3,
+ sIB16,
+ ...,
+ sIB17,
+ sIB15dot4,
+ sIB18,
+ sIB15dot5,
+ sIB5bis,
+ sIB11bis,
+ sIB15bis,
+ sIB15dot1bis,
+ sIB15dot2bis,
+ sIB15dot3bis,
+ sIB15dot6,
+ sIB15dot7,
+ sIB15dot8,
+ sIB15dot2ter,
+ sIB19
+}
+
+IMB-Parameters ::= SEQUENCE {
+ sub-Frame-Number Sub-Frame-Number,
+ fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { IMB-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IMB-Parameters-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Inactivity-Threshold-for-UE-DRX-Cycle ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128, v256, v512}
+-- Unit subframe
+
+Inactivity-Threshold-for-UE-DTX-Cycle2 ::= ENUMERATED {v1, v4, v8, v16, v32, v64, v128, v256}
+-- Unit E-DCH TTI
+
+Inactivity-Threshold-for-UE-Grant-Monitoring ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128, v256}
+-- Unit E-DCH TTI
+
+
+InformationReportCharacteristics ::= CHOICE {
+ onDemand NULL,
+ periodic InformationReportCharacteristicsType-ReportPeriodicity,
+ onModification InformationReportCharacteristicsType-OnModification,
+ ...
+}
+
+InformationReportCharacteristicsType-ReportPeriodicity ::= CHOICE {
+ min ReportPeriodicity-Scaledmin,
+ hours ReportPeriodicity-Scaledhour,
+ ...
+}
+
+InformationReportCharacteristicsType-OnModification ::= SEQUENCE {
+ information-thresholds InformationThresholds OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { InformationReportCharacteristicsType-OnModification-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InformationReportCharacteristicsType-OnModification-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationThresholds ::= CHOICE {
+ dgps DGPSThresholds,
+ ...,
+ dGANSSThreshold DGANSSThreshold
+}
+
+InformationExchangeID ::= INTEGER (0..1048575)
+
+InformationType ::= SEQUENCE {
+ information-Type-Item Information-Type-Item,
+ gPSInformation GPS-Information OPTIONAL,
+ -- The IE shall be present if the Information Type Item IE indicates "GPS Information".
+ iE-Extensions ProtocolExtensionContainer { { Information-Type-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Information-Type-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+-- The following IE shall be present if the Information Type Item IE indicates 'GANSS Information'
+ { ID id-GANSS-Information CRITICALITY ignore EXTENSION GANSS-Information PRESENCE conditional }|
+-- The following IE shall be present if the Information Type Item IE indicates 'DGANSS Corrections'
+ { ID id-DGANSS-Corrections-Req CRITICALITY ignore EXTENSION DGANSS-Corrections-Req PRESENCE conditional },
+ ...
+}
+
+Information-Type-Item ::= ENUMERATED {
+ gpsinformation,
+ dgpscorrections,
+ gpsrxpos,
+ ...,
+ gANSSInformation,
+ dGANSSCorrections,
+ gANSS-RX-Pos
+}
+
+Initial-DL-DPCH-TimingAdjustment-Allowed ::= ENUMERATED {
+ initial-DL-DPCH-TimingAdjustment-Allowed
+}
+
+InnerLoopDLPCStatus ::= ENUMERATED {
+ active,
+ inactive
+}
+
+IPDL-Indicator ::= ENUMERATED {
+ active,
+ inactive
+}
+
+
+IPDL-FDD-Parameters ::= SEQUENCE {
+ iP-SpacingFDD ENUMERATED{sp5,sp7,sp10,sp15,sp20,sp30,sp40,sp50,...},
+ iP-Length ENUMERATED{len5, len10},
+ seed INTEGER(0..63),
+ burstModeParams BurstModeParams OPTIONAL,
+ iP-Offset INTEGER(0..9),
+ iE-Extensions ProtocolExtensionContainer { { IPDLFDDParameter-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPDLFDDParameter-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDL-TDD-Parameters ::= SEQUENCE {
+ iP-SpacingTDD ENUMERATED{sp30,sp40,sp50,sp70,sp100,...},
+ iP-Start INTEGER(0..4095),
+ iP-Slot INTEGER(0..14),
+ iP-PCCPCH ENUMERATED{switchOff-1-Frame,switchOff-2-Frames},
+ burstModeParams BurstModeParams OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IPDLTDDParameter-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPDL-TDD-Parameters-LCR ::= SEQUENCE {
+ iP-SpacingTDD ENUMERATED{sp30,sp40,sp50,sp70,sp100,...},
+ iP-Start INTEGER(0..4095),
+ iP-Sub ENUMERATED{first,second,both},
+ burstModeParams BurstModeParams OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IPDLTDDParameterLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPMulticastIndication ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ bindingID BindingID,
+ cFNOffset INTEGER(0..255),
+ iE-Extensions ProtocolExtensionContainer { { IPMulticastIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPMulticastIndication-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPMulticastDataBearerIndication ::= BOOLEAN
+-- true: IP Multicast used, false: IP Multicast not used
+
+BurstModeParams ::= SEQUENCE {
+ burstStart INTEGER(0..15),
+ burstLength INTEGER(10..25),
+ burstFreq INTEGER(1..16),
+ ...
+}
+
+IPDLTDDParameter-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDLTDDParameterLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IdleIntervalInformation ::= SEQUENCE {
+ idleIntervalInfo-k INTEGER{none(0),two(2),three(3)} (0..3),
+ idleIntervalInfo-offset INTEGER(0..7),
+ ...
+}
+
+
+-- ==========================================
+-- J
+-- ==========================================
+
+-- ==========================================
+-- K
+-- ==========================================
+
+-- ==========================================
+-- L
+-- ==========================================
+
+LimitedPowerIncrease ::= ENUMERATED {
+ used,
+ not-used
+}
+
+Local-Cell-ID ::= INTEGER (0..268435455)
+
+LTGI-Presence ::= BOOLEAN
+-- True = the Long Term Grant Indicator shall be used within E-DCH grants
+
+LCRTDD-Uplink-Physical-Channel-Capability ::= SEQUENCE {
+ maxTimeslotsPerSubFrame INTEGER(1..6),
+ maxPhysChPerTimeslot ENUMERATED {one,two,...,three,four},
+ iE-Extensions ProtocolExtensionContainer { { LCRTDD-Uplink-Physical-Channel-Capability-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LCRTDD-Uplink-Physical-Channel-Capability-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- ==========================================
+-- M
+-- ==========================================
+
+MAC-DTX-Cycle-2ms ::= ENUMERATED {v1, v4, v5, v8, v10, v16, v20}
+
+MAC-DTX-Cycle-10ms ::= ENUMERATED {v5, v10, v20}
+
+MAC-ehs-Reset-Timer ::= ENUMERATED {v1, v2, v3, v4,...}
+
+MACdPDU-Size ::= INTEGER (1..5000,...)
+ -- In case of E-DCH value 8 and values not multiple of 8 shall not be used
+
+MAC-PDU-SizeExtended ::= INTEGER (1..1504,...,1505)
+ -- In case of E-DCH value 1 shall not be used
+
+MAC-Inactivity-Threshold ::= ENUMERATED {v1, v2, v4, v8, v16, v32, v64, v128, v256, v512, infinity}
+ -- Unit subframe
+
+MACdPDU-Size-Indexlist ::= SEQUENCE (SIZE (1..maxNrOfMACdPDUIndexes)) OF MACdPDU-Size-IndexItem
+
+MACdPDU-Size-IndexItem ::= SEQUENCE {
+ sID SID,
+ macdPDU-Size MACdPDU-Size,
+ iE-Extensions ProtocolExtensionContainer { { MACdPDU-Size-IndexItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MACdPDU-Size-IndexItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MACdPDU-Size-Indexlist-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfMACdPDUIndexes)) OF MACdPDU-Size-IndexItem-to-Modify
+
+MACdPDU-Size-IndexItem-to-Modify ::= SEQUENCE {
+ sID SID,
+ macdPDU-Size MACdPDU-Size,
+ iE-Extensions ProtocolExtensionContainer { { MACdPDU-Size-IndexItem-to-Modify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MACdPDU-Size-IndexItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MACesGuaranteedBitRate ::= INTEGER (0..16777215,...,16777216..256000000)
+
+MACes-Maximum-Bitrate-LCR ::= INTEGER (0..256000000,...)
+
+MACeReset-Indicator ::= ENUMERATED {mACeReset}
+
+MAChsGuaranteedBitRate ::= INTEGER (0..16777215,...,16777216..256000000)
+
+MAChsReorderingBufferSize-for-RLC-UM ::= INTEGER (0..300,...)
+-- Unit kBytes
+
+MAC-hsWindowSize ::= ENUMERATED {v4, v6, v8, v12, v16, v24, v32,..., v64, v128}
+-- For 1.28Mcps TDD when TSN length is configured to 9bits, ENUMERATED (32, 64, 96, 128, 160, 192, 256,...)
+
+
+MAChsResetScheme ::= ENUMERATED {
+ always,
+ interNodeB-change
+}
+
+
+MaximumDL-PowerCapability ::= INTEGER(0..500)
+-- Unit dBm, Range 0dBm .. 50dBm, Step +0.1dB
+
+Max-Bits-MACe-PDU-non-scheduled ::= INTEGER(1..maxNrOfBits-MACe-PDU-non-scheduled)
+
+Max-EDCH-Resource-Allocation-for-CCCH ::= ENUMERATED {v8, v12, v16, v24, v32, v40, v80, v120,...}
+
+Max-Period-for-Collistion-Resolution ::= INTEGER(8..24,...)
+
+Max-TB-Sizes ::= SEQUENCE {
+ maximum-TB-Size-cell-edge-users INTEGER (0..5000,...),
+ maximum-TB-Size-other-users INTEGER (0..5000,...),
+ iE-Extensions ProtocolExtensionContainer { {Max-TB-Sizes-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+
+Max-TB-Sizes-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Maximum-Number-of-Retransmissions-For-E-DCH ::= INTEGER (0..15)
+
+Maximum-Target-ReceivedTotalWideBandPower-LCR ::= INTEGER (0..621)
+-- mapping as for RTWP measurement value, as specified in [23]
+
+MaximumTransmissionPower ::= INTEGER(0..500)
+-- Unit dBm, Range 0dBm .. 50dBm, Step +0.1dB
+
+
+MaxNrOfUL-DPDCHs ::= INTEGER (1..6)
+
+MaxPRACH-MidambleShifts ::= ENUMERATED {
+ shift4,
+ shift8,
+ ...,
+ shift16
+}
+
+Max-Set-E-DPDCHs ::= ENUMERATED {
+ vN256, vN128, vN64, vN32, vN16, vN8, vN4, v2xN4, v2xN2, v2xN2plus2xN4,
+ ...,
+ v2xM2plus2xM4
+ }
+-- Values related to [8]
+
+Max-UE-DTX-Cycle ::= ENUMERATED {
+ v5, v10, v20, v40, v64, v80, v128, v160,
+ ...
+ }
+
+
+MBMS-Capability ::= ENUMERATED{
+mbms-capable,
+mbms-non-capable
+}
+
+
+MeasurementFilterCoefficient ::= ENUMERATED {k0, k1, k2, k3, k4, k5, k6, k7, k8, k9, k11, k13, k15, k17, k19,...}
+-- Measurement Filter Coefficient to be used for measurement
+
+MeasurementID ::= INTEGER (0..1048575)
+
+Measurement-Power-Offset ::= INTEGER(-12 .. 26)
+-- Actual value = IE value * 0.5
+
+MeasurementRecoveryBehavior ::= NULL
+
+MeasurementRecoveryReportingIndicator ::= NULL
+
+MeasurementRecoverySupportIndicator ::= NULL
+
+MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
+ SEQUENCE {
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber1 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+MessageStructure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MICH-CFN ::= INTEGER (0..4095)
+
+MICH-Mode ::= ENUMERATED {
+ v18,
+ v36,
+ v72,
+ v144,
+ ...,
+ v16,
+ v32,
+ v64,
+ v128
+}
+
+MidambleConfigurationLCR ::= ENUMERATED {v2, v4, v6, v8, v10, v12, v14, v16, ...}
+
+MidambleConfigurationBurstType1And3 ::= ENUMERATED {v4, v8, v16}
+
+MidambleConfigurationBurstType2 ::= ENUMERATED {v3, v6}
+
+MidambleShiftAndBurstType ::= CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2 MidambleConfigurationBurstType2,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftShort,
+ ...
+ },
+ ...
+ },
+ type3 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ ...
+}
+
+MidambleShiftLong ::= INTEGER (0..15)
+
+MidambleShiftShort ::= INTEGER (0..5)
+
+MidambleShiftLCR ::= SEQUENCE {
+ midambleAllocationMode MidambleAllocationMode,
+ midambleShift MidambleShiftLong OPTIONAL,
+ -- The IE shall be present if the Midamble Allocation Mode IE is set to "UE specific midamble".
+midambleConfigurationLCR MidambleConfigurationLCR,
+ iE-Extensions ProtocolExtensionContainer { {MidambleShiftLCR-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+MidambleAllocationMode ::= ENUMERATED {
+ defaultMidamble,
+ commonMidamble,
+ uESpecificMidamble,
+ ...
+ }
+
+MidambleShiftLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MidambleShiftAndBurstType768 ::= CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2-768 MidambleConfigurationBurstType2-768,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftShort768,
+ ...
+ },
+ ...
+ },
+ type3 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ ...
+}
+
+MidambleConfigurationBurstType2-768 ::= ENUMERATED {v4, v8}
+
+MidambleShiftShort768 ::= INTEGER (0..7)
+
+MIMO-ActivationIndicator ::= NULL
+
+MIMO-Capability ::= ENUMERATED {
+ mimo-capable,
+ mimo-non-capable
+}
+
+
+MIMO-Mode-Indicator ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+MIMO-N-M-Ratio ::= ENUMERATED {v1-2, v2-3, v3-4, v4-5, v5-6, v6-7, v7-8, v8-9, v9-10, v1-1,...}
+
+MIMO-PilotConfiguration ::= CHOICE {
+ primary-and-secondary-CPICH CommonPhysicalChannelID,
+ normal-and-diversity-primary-CPICH NULL,
+ ...
+}
+
+MIMO-PilotConfigurationExtension ::= CHOICE {
+ primary-and-secondary-CPICH PrimaryAndSecondaryCPICHContainer,
+ normal-and-diversity-primary-CPICH NormalAndDiversityPrimaryCPICHContainer,
+ ...
+}
+
+
+MIMO-PowerOffsetForS-CPICHCapability ::= ENUMERATED {
+ s-CPICH-Power-Offset-Capable,
+ s-CPICH-Power-Offset-Not-Capable
+}
+
+MinimumDL-PowerCapability ::= INTEGER(0..800)
+-- Unit dBm, Range -30dBm .. 50dBm, Step +0.1dB
+
+MinimumReducedE-DPDCH-GainFactor ::= ENUMERATED {m8-15, m11-15, m15-15, m21-15, m30-15, m42-15, m60-15, m84-15,...}
+
+MinSpreadingFactor ::= ENUMERATED {
+ v4,
+ v8,
+ v16,
+ v32,
+ v64,
+ v128,
+ v256,
+ v512
+}
+-- TDD Mapping scheme for the minimum spreading factor 1 and 2: "256" means 1, "512" means 2
+
+Modification-Period ::= ENUMERATED { v1280, v2560, v5120, v10240,...}
+
+ModifyPriorityQueue ::= CHOICE {
+ addPriorityQueue PriorityQueue-InfoItem-to-Add,
+ modifyPriorityQueue PriorityQueue-InfoItem-to-Modify,
+ deletePriorityQueue PriorityQueue-Id,
+ ...
+}
+
+Modulation ::= ENUMERATED {
+ qPSK,
+ eightPSK,
+ -- 8PSK denotes 16QAM for S-CCPCH
+ ...
+}
+
+MinUL-ChannelisationCodeLength ::= ENUMERATED {
+ v4,
+ v8,
+ v16,
+ v32,
+ v64,
+ v128,
+ v256,
+ ...
+}
+
+MultiplexingPosition ::= ENUMERATED {
+ fixed,
+ flexible
+}
+
+MAChs-ResetIndicator ::= ENUMERATED{
+ mAChs-NotReset
+}
+
+ModulationMBSFN ::= ENUMERATED {
+ qPSK,
+ sixteenQAM,
+ ...
+}
+
+MBSFN-CPICH-secondary-CCPCH-power-offset ::= INTEGER(-11..4,...)
+-- Unit dB, Step 1 dB, Range -11..4 dB.
+
+ModulationPO-MBSFN ::= CHOICE {
+ qPSK NULL,
+ sixteenQAM MBSFN-CPICH-secondary-CCPCH-power-offset,
+ ...
+}
+MBSFN-Only-Mode-Indicator ::= ENUMERATED {
+ mBSFN-Only-Mode
+}
+
+MBSFN-Only-Mode-Capability ::= ENUMERATED {
+ mBSFN-Only-Mode-capable,
+ mBSFN-Only-Mode-non-capable
+}
+
+Multicarrier-Number ::= INTEGER (1..maxHSDPAFrequency)
+
+MultipleFreq-HARQ-MemoryPartitioning-InformationList ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF MultipleFreq-HARQ-MemoryPartitioning-InformationItem
+--Includes the 2nd through the max number of frequencies information repetitions.
+
+MultipleFreq-HARQ-MemoryPartitioning-InformationItem ::= SEQUENCE {
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning,
+ uARFCN UARFCN,
+ iE-Extensions ProtocolExtensionContainer { { MultipleFreq-HARQ-MemoryPartitioning-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MultipleFreq-HARQ-MemoryPartitioning-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR ::= SEQUENCE (SIZE (1.. maxHSDPAFrequency-1)) OF MultipleFreq-HSPDSCH-InformationItem-ResponseTDDLCR
+--Includes the 2nd through the max number of frequency repetitions.
+
+MultipleFreq-HSPDSCH-InformationItem-ResponseTDDLCR ::= SEQUENCE{
+ hsSCCH-Specific-Information-ResponseTDDLCR HSSCCH-Specific-InformationRespListTDDLCR OPTIONAL,
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
+ uARFCN UARFCN, -- This is the UARFCN for the second and beyond Frequency repetition.
+ iE-Extensions ProtocolExtensionContainer { { MultipleFreq-HSPDSCH-InformationItem-ResponseTDDLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MultipleFreq-HSPDSCH-InformationItem-ResponseTDDLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+Multi-Cell-Capability ::= ENUMERATED {
+ multi-Cell-Capable,
+ multi-Cell-non-Capable
+}
+
+Multi-Cell-Capability-Info::= SEQUENCE {
+ multi-Cell-Capability Multi-Cell-Capability,
+ possible-Secondary-Serving-Cell-List Possible-Secondary-Serving-Cell-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multi-Cell-Capability-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Multi-Cell-Capability-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multicell-EDCH-Information ::= ProtocolIE-Single-Container { {Multicell-EDCH-InformationItem} }
+
+Multicell-EDCH-InformationItem NBAP-PROTOCOL-IES ::= {
+ { ID id-Multicell-EDCH-InformationItemIEs CRITICALITY ignore TYPE Multicell-EDCH-InformationItemIEs PRESENCE mandatory }
+}
+
+Multicell-EDCH-InformationItemIEs ::= SEQUENCE {
+ dL-PowerBalancing-Information DL-PowerBalancing-Information OPTIONAL,
+ minimumReducedE-DPDCH-GainFactor MinimumReducedE-DPDCH-GainFactor OPTIONAL,
+ secondary-UL-Frequency-Activation-State Secondary-UL-Frequency-Activation-State OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multicell-EDCH-InformationItemIEs-ExtIEs } } OPTIONAL,
+ ...
+
+}
+
+Multicell-EDCH-InformationItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multicell-EDCH-RL-Specific-Information ::= ProtocolIE-Single-Container { { Multicell-EDCH-RL-Specific-InformationItem} }
+
+Multicell-EDCH-RL-Specific-InformationItem NBAP-PROTOCOL-IES ::= {
+ { ID id-Multicell-EDCH-RL-Specific-InformationItemIEs CRITICALITY ignore TYPE Multicell-EDCH-RL-Specific-InformationItemIEs PRESENCE mandatory }
+}
+
+Multicell-EDCH-RL-Specific-InformationItemIEs::= SEQUENCE {
+ extendedPropagationDelay ExtendedPropagationDelay OPTIONAL,
+ primary-CPICH-Usage-for-Channel-Estimation Primary-CPICH-Usage-for-Channel-Estimation OPTIONAL,
+ secondary-CPICH-Information CommonPhysicalChannelID OPTIONAL,
+ secondary-CPICH-Information-Change Secondary-CPICH-Information-Change OPTIONAL,
+ e-AGCH-PowerOffset E-AGCH-PowerOffset OPTIONAL,
+ e-RGCH-PowerOffset E-RGCH-PowerOffset OPTIONAL,
+ e-HICH-PowerOffset E-HICH-PowerOffset OPTIONAL,
+ dLReferencePower DL-Power OPTIONAL,
+ e-DCH-DL-Control-Channel-Grant NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multicell-EDCH-RL-Specific-InformationItemIEs-ExtIEs } } OPTIONAL,
+ ...
+
+}
+
+Multicell-EDCH-RL-Specific-InformationItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MIMO-SFMode-For-HSPDSCHDualStream ::= ENUMERATED {
+ sF1,
+ sF1SF16
+}
+
+-- ==========================================
+-- N
+-- ==========================================
+
+Nack-Power-Offset ::= INTEGER (0..8,...)
+-- According to mapping in ref. [9] subclause 4.2.1
+
+NCyclesPerSFNperiod ::= ENUMERATED {
+ v1,
+ v2,
+ v4,
+ v8,
+ ...,
+ v16,
+ v32,
+ v64
+}
+
+NRepetitionsPerCyclePeriod ::= INTEGER (2..10)
+
+N-INSYNC-IND ::= INTEGER (1..256)
+
+N-OUTSYNC-IND ::= INTEGER (1..256)
+
+N-PROTECT ::= INTEGER(0..7)
+
+NeighbouringCellMeasurementInformation ::= SEQUENCE (SIZE (1..maxNrOfMeasNCell)) OF
+ CHOICE {
+ neighbouringFDDCellMeasurementInformation NeighbouringFDDCellMeasurementInformation, -- FDD only
+ neighbouringTDDCellMeasurementInformation NeighbouringTDDCellMeasurementInformation,
+ -- Applicable to 3.84Mcps TDD only
+ ...,
+ extension-neighbouringCellMeasurementInformation Extension-neighbouringCellMeasurementInformation
+ }
+
+Extension-neighbouringCellMeasurementInformation ::= ProtocolIE-Single-Container {{ Extension-neighbouringCellMeasurementInformationIE }}
+
+Extension-neighbouringCellMeasurementInformationIE NBAP-PROTOCOL-IES ::= {
+ { ID id-neighbouringTDDCellMeasurementInformationLCR CRITICALITY reject TYPE NeighbouringTDDCellMeasurementInformationLCR PRESENCE mandatory }| -- Applicable to 1.28Mcps TDD only
+ { ID id-neighbouringTDDCellMeasurementInformation768 CRITICALITY reject TYPE NeighbouringTDDCellMeasurementInformation768 PRESENCE mandatory }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+NeighbouringFDDCellMeasurementInformation ::= SEQUENCE {
+ uC-Id UC-Id,
+ uARFCN UARFCN,
+ primaryScramblingCode PrimaryScramblingCode,
+ iE-Extensions ProtocolExtensionContainer { { NeighbouringFDDCellMeasurementInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbouringFDDCellMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformation ::= SEQUENCE {
+ uC-Id UC-Id,
+ uARFCN UARFCN,
+ cellParameterID CellParameterID,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformationLCR ::= SEQUENCE {
+ uC-Id UC-Id,
+ uARFCN UARFCN,
+ cellParameterID CellParameterID,
+ timeSlotLCR TimeSlotLCR OPTIONAL,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformationLCRItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformationLCRItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformation768 ::= SEQUENCE {
+ uC-Id UC-Id,
+ uARFCN UARFCN,
+ cellParameterID CellParameterID,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformation768Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformation768Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NonCellSpecificTxDiversity ::= ENUMERATED {
+ txDiversity,
+ ...
+}
+
+NI-Information ::= SEQUENCE (SIZE (1..maxNrOfNIs)) OF Notification-Indicator
+
+Notification-Indicator ::= INTEGER (0..65535)
+
+
+NodeB-CommunicationContextID ::= INTEGER (0..1048575)
+
+NormalAndDiversityPrimaryCPICHContainer ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { { NormalAndDiversityPrimaryCPICHContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NormalAndDiversityPrimaryCPICHContainer-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NotificationIndicatorLength ::= ENUMERATED {
+ v2,
+ v4,
+ v8,
+ ...
+}
+
+
+NumberOfReportedCellPortions ::= INTEGER (1..maxNrOfCellPortionsPerCell,...)
+
+NumberOfReportedCellPortionsLCR ::= INTEGER (1..maxNrOfCellPortionsPerCellLCR,...)
+
+Number-of-PCCH-transmission ::= INTEGER (1..5)
+
+NSubCyclesPerCyclePeriod ::= INTEGER (1..16,...)
+
+N-E-UCCH ::= INTEGER (1..12)
+
+N-E-UCCHLCR ::= INTEGER (1..8)
+
+Number-Of-Supported-Carriers ::= ENUMERATED {
+ one-one-carrier,
+ one-three-carrier,
+ three-three-carrier,
+ one-six-carrier,
+ three-six-carrier,
+ six-six-carrier,
+ ...
+}
+
+NumHS-SCCH-Codes ::= INTEGER (1..maxNrOfHSSCCHCodes)
+
+NoOfTargetCellHS-SCCH-Order::= INTEGER (1..30)
+
+-- ==========================================
+-- O
+-- ==========================================
+
+Out-of-Sychronization-Window ::= ENUMERATED {
+ ms40,
+ ms80,
+ ms160,
+ ms320,
+ ms640,
+ ...
+}
+
+-- ==========================================
+-- P
+-- ==========================================
+
+PagingIndicatorLength ::= ENUMERATED {
+ v2,
+ v4,
+ v8,
+ ...
+}
+
+Paging-MACFlow-ID ::= INTEGER (0..maxNrOfPagingMACFlow-1)
+
+
+PayloadCRC-PresenceIndicator ::= ENUMERATED {
+ cRC-Included,
+ cRC-NotIncluded,
+ ...
+}
+
+PCCPCH-Power ::= INTEGER (-150..400,...)
+-- PCCPCH-power = power * 10
+-- If power <= -15 PCCPCH shall be set to -150
+-- If power >= 40 PCCPCH shall be set to 400
+-- Unit dBm, Range -15dBm .. +40 dBm, Step +0.1dB
+
+PDSCH-ID ::= INTEGER (0..255)
+
+PDSCH-ID768 ::= INTEGER (0..511)
+
+PDSCHSet-ID ::= INTEGER (0..255)
+
+PICH-Mode ::= ENUMERATED {
+ v18,
+ v36,
+ v72,
+ v144,
+ ...
+}
+
+PICH-Power ::= INTEGER (-10..5)
+-- Unit dB, Range -10dB .. +5dB, Step +1dB
+
+Paging-MACFlows-to-DeleteFDD ::= SEQUENCE (SIZE (1.. maxNrOfPagingMACFlow)) OF Paging-MACFlows-to-DeleteFDD-Item
+
+Paging-MACFlows-to-DeleteFDD-Item ::= SEQUENCE {
+ paging-MACFlow-ID Paging-MACFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { Paging-MACFlows-to-DeleteFDD-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Paging-MACFlows-to-DeleteFDD-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Paging-MACFlow-Specific-Information ::= SEQUENCE (SIZE (1.. maxNrOfPagingMACFlow)) OF Paging-MAC-Flow-Specific-Information-Item
+
+Paging-MAC-Flow-Specific-Information-Item ::= SEQUENCE {
+ paging-MACFlow-Id Paging-MACFlow-ID,
+ hSDPA-associated-PICH-Info HSDPA-Associated-PICH-Information,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ tnl-qos TnlQos OPTIONAL,
+ toAWS ToAWS,
+ toAWE ToAWE,
+ paging-MACFlow-PriorityQueue-Information Paging-MACFlow-PriorityQueue-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Paging-MAC-Flow-Specific-Information-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Paging-MAC-Flow-Specific-Information-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportBearerRequestIndicator CRITICALITY ignore EXTENSION TransportBearerRequestIndicator PRESENCE optional},
+-- This IE should not be contained if the MAC flow is setup in procedure, and it should be contained if the MAC flow is modified in procedure.
+ ...
+}
+
+Paging-MACFlow-PriorityQueue-Information ::= SEQUENCE (SIZE (1..maxNrOfpagingMACQueues)) OF Paging-MACFlow-PriorityQueue-Item
+
+Paging-MACFlow-PriorityQueue-Item ::= SEQUENCE {
+ priority-Queue-Information-for-Enhanced-PCH Priority-Queue-Information-for-Enhanced-FACH-PCH,
+ iE-Extensions ProtocolExtensionContainer { { Paging-MACFlow-PriorityQueue-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Paging-MACFlow-PriorityQueue-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Pattern-Sequence-Identifier ::= INTEGER (1.. maxNrOfDCHMeasurementOccasionPatternSequence)
+
+PhysicalChannelID-for-CommonERNTI-RequestedIndicator ::= ENUMERATED {
+ requested
+}
+
+PLCCHsequenceNumber ::= INTEGER (0..14)
+
+PLCCHinformation ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ sequenceNumber PLCCHsequenceNumber,
+ iE-Extensions ProtocolExtensionContainer { { PLCCHinformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLCCHinformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Possible-Secondary-Serving-Cell-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Possible-Secondary-Serving-Cell
+
+Possible-Secondary-Serving-Cell ::= SEQUENCE {
+ local-Cell-ID Local-Cell-ID,
+ iE-Extensions ProtocolExtensionContainer { { Possible-Secondary-Serving-Cell-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Possible-Secondary-Serving-Cell-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PowerAdjustmentType ::= ENUMERATED {
+ none,
+ common,
+ individual
+}
+
+PowerOffset ::= INTEGER (0..24)
+-- PowerOffset = offset * 0.25
+-- Unit dB, Range 0dB .. +6dB, Step +0.25dB
+
+PowerOffsetForSecondaryCPICHforMIMO ::= INTEGER (-6..0)
+-- Unit dB, Range -6dB .. 0dB, Step +1dB
+
+PowerRaiseLimit ::= INTEGER (0..10)
+
+PRACH-Midamble ::= ENUMERATED {
+ inverted,
+ direct,
+ ...
+}
+
+PRC ::= INTEGER (-2047..2047)
+--pseudo range correction; scaling factor 0.32 meters
+
+PRCDeviation ::= ENUMERATED {
+ one,
+ two,
+ five,
+ ten,
+ ...
+}
+
+PrecodingWeightSetRestriction ::= ENUMERATED {
+ preferred,
+ not-preferred
+}
+
+PreambleSignatures ::= BIT STRING {
+ signature15(0),
+ signature14(1),
+ signature13(2),
+ signature12(3),
+ signature11(4),
+ signature10(5),
+ signature9(6),
+ signature8(7),
+ signature7(8),
+ signature6(9),
+ signature5(10),
+ signature4(11),
+ signature3(12),
+ signature2(13),
+ signature1(14),
+ signature0(15)
+ } (SIZE (16))
+
+PreambleThreshold ::= INTEGER (0..72)
+-- 0= -36.0dB, 1= -35.5dB, ... , 72= 0.0dB
+
+PredictedSFNSFNDeviationLimit ::=INTEGER (1..256)
+-- Unit chip, Step 1/16 chip, Range 1/16..16 chip
+
+PredictedTUTRANGPSDeviationLimit ::= INTEGER (1..256)
+-- Unit chip, Step 1/16 chip, Range 1/16..16 chip
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable
+}
+
+PrimaryAndSecondaryCPICHContainer ::= SEQUENCE {
+ power-Offset-For-Secondary-CPICH-for-MIMO PowerOffsetForSecondaryCPICHforMIMO,
+ iE-Extensions ProtocolExtensionContainer { { PrimaryAndSecondaryCPICHContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+PrimaryAndSecondaryCPICHContainer-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PrimaryCPICH-Power ::= INTEGER(-100..500)
+-- step 0.1 (Range -10.0..50.0) Unit is dBm
+
+Primary-CPICH-Usage-for-Channel-Estimation ::= ENUMERATED {
+primary-CPICH-may-be-used,
+primary-CPICH-shall-not-be-used
+}
+
+PrimaryScramblingCode ::= INTEGER (0..511)
+
+PriorityLevel ::= INTEGER (0..15)
+-- 0 = spare, 1 = highest priority, ...14 = lowest priority and 15 = no priority
+
+Priority-Queue-Information-for-Enhanced-FACH-PCH ::= SEQUENCE {
+ priorityQueue-Id PriorityQueue-Id,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ t1 T1,
+ mAC-ehs-Reset-Timer MAC-ehs-Reset-Timer,
+ -- shall be ignored in case of Enhanced PCH
+ discardTimer DiscardTimer OPTIONAL,
+ mAC-hsWindowSize MAC-hsWindowSize,
+ maximum-MACcPDU-Size MAC-PDU-SizeExtended,
+ iE-Extensions ProtocolExtensionContainer { { Priority-Queue-Information-for-Enhanced-FACH-PCH-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Priority-Queue-Information-for-Enhanced-FACH-PCH-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PriorityQueue-Id ::= INTEGER (0..maxNrOfPriorityQueues-1)
+
+PriorityQueue-InfoList ::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF PriorityQueue-InfoItem
+
+PriorityQueue-InfoItem ::= SEQUENCE {
+ priorityQueueId PriorityQueue-Id,
+ associatedHSDSCH-MACdFlow HSDSCH-MACdFlow-ID,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ t1 T1,
+ discardTimer DiscardTimer OPTIONAL,
+ mAC-hsWindowSize MAC-hsWindowSize,
+ mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
+ macdPDU-Size-Index MACdPDU-Size-Indexlist,
+ rLC-Mode RLC-Mode,
+ iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PriorityQueue-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional}|
+ { ID id-DL-RLC-PDU-Size-Format CRITICALITY ignore EXTENSION DL-RLC-PDU-Size-Format PRESENCE optional}|
+ { ID id-UE-AggregateMaximumBitRate-Enforcement-Indicator CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate-Enforcement-Indicator PRESENCE optional},
+ ...
+}
+
+PriorityQueue-InfoList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF ModifyPriorityQueue
+
+PriorityQueue-InfoItem-to-Add ::= SEQUENCE {
+ priorityQueueId PriorityQueue-Id,
+ associatedHSDSCH-MACdFlow HSDSCH-MACdFlow-ID,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ t1 T1,
+ discardTimer DiscardTimer OPTIONAL,
+ mAC-hsWindowSize MAC-hsWindowSize,
+ mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
+ macdPDU-Size-Index MACdPDU-Size-Indexlist,
+ rLC-Mode RLC-Mode,
+ iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Add-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PriorityQueue-InfoItem-to-Add-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional} |
+ { ID id-DL-RLC-PDU-Size-Format CRITICALITY ignore EXTENSION DL-RLC-PDU-Size-Format PRESENCE optional},
+ ...
+}
+
+PriorityQueue-InfoItem-to-Modify ::= SEQUENCE {
+ priorityQueueId PriorityQueue-Id,
+ schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
+ t1 T1 OPTIONAL,
+ discardTimer DiscardTimer OPTIONAL,
+ mAC-hsWindowSize MAC-hsWindowSize OPTIONAL,
+ mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
+ macdPDU-Size-Index-to-Modify MACdPDU-Size-Indexlist-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Modify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PriorityQueue-InfoItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional}|
+ { ID id-DL-RLC-PDU-Size-Format CRITICALITY ignore EXTENSION DL-RLC-PDU-Size-Format PRESENCE optional},
+ ...
+}
+
+PriorityQueue-InfoList-to-Modify-Unsynchronised ::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF PriorityQueue-InfoItem-to-Modify-Unsynchronised
+
+PriorityQueue-InfoItem-to-Modify-Unsynchronised ::= SEQUENCE {
+ priorityQueueId PriorityQueue-Id,
+ schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
+ discardTimer DiscardTimer OPTIONAL,
+ mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Modify-Unsynchronised-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PriorityQueue-InfoItem-to-Modify-Unsynchronised-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PrimaryCCPCH-RSCP ::= INTEGER (0..91)
+-- Mapping of non-negative values according to [23]
+
+PrimaryCCPCH-RSCP-Delta ::= INTEGER (-5..-1,...)
+-- Mapping of negative values according to [23]
+
+PropagationDelay ::= INTEGER (0..255)
+-- Unit: chips, step size 3 chips
+-- example: 0 = 0chip, 1 = 3chips
+
+PRXdes-base ::= INTEGER (-112..-50)
+-- Unit: dBm, step size 1
+
+
+SCH-TimeSlot ::= INTEGER (0..6)
+
+PunctureLimit ::= INTEGER (0..15)
+-- 0: 40%; 1: 44%; ... 14: 96%; 15: 100%
+-- 0 is not applicable for E-DPCH
+
+PUSCH-ID ::= INTEGER (0..255)
+
+UE-Selected-MBMS-Service-Information ::= CHOICE {
+ none NULL,
+ selected-MBMS-Service Selected-MBMS-Service,
+ ...
+}
+Selected-MBMS-Service ::= SEQUENCE {
+ selected-MBMS-Service-List Selected-MBMS-Service-List,
+ iE-Extensions ProtocolExtensionContainer { { Selected-MBMS-Service-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Selected-MBMS-Service-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Selected-MBMS-Service-List ::= SEQUENCE (SIZE (1.. maxMBMSServiceSelect)) OF Selected-MBMS-Service-Item
+
+
+Selected-MBMS-Service-Item ::= SEQUENCE {
+ selected-MBMS-Service-TimeSlot-Information-LCR Selected-MBMS-Service-TimeSlot-Information-LCR OPTIONAL,
+ mBMS-Service-TDM-Information MBMS-Service-TDM-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Selected-MBMS-Service-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Selected-MBMS-Service-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Selected-MBMS-Service-TimeSlot-Information-LCR ::= SEQUENCE (SIZE (1..7)) OF TimeSlotLCR
+
+MBMS-Service-TDM-Information ::= SEQUENCE {
+ transmission-Time-Interval ENUMERATED {v10, v20, v40, v80,...},
+ tDM-Rep INTEGER (2..9),
+ tDM-Offset INTEGER (0..8),
+ tDM-Length INTEGER (1..8),
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Service-TDM-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Service-TDM-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PUSCHSet-ID ::= INTEGER (0..255)
+
+Paging-MACFlow-Specific-InformationLCR ::= SEQUENCE (SIZE (1.. maxNrOfPagingMACFlow)) OF Paging-MAC-Flow-Specific-Information-ItemLCR
+
+Paging-MAC-Flow-Specific-Information-ItemLCR ::= SEQUENCE {
+ paging-MACFlow-Id Paging-MACFlow-ID,
+ hSDPA-associated-PICH-InfoLCR HSDPA-Associated-PICH-InformationLCR OPTIONAL,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ tnl-qos TnlQos OPTIONAL,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ paging-MACFlow-PriorityQueue-InformationLCR Paging-MACFlow-PriorityQueue-Information OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Paging-MAC-Flow-Specific-Information-ItemLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Paging-MAC-Flow-Specific-Information-ItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Paging-MACFlows-to-DeleteLCR ::= SEQUENCE (SIZE (1.. maxNrOfPagingMACFlow)) OF Paging-MACFlows-to-DeleteLCR-Item
+
+Paging-MACFlows-to-DeleteLCR-Item ::= SEQUENCE {
+ paging-MACFlow-ID Paging-MACFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { Paging-MACFlows-to-DeleteLCR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Paging-MACFlows-to-DeleteLCR-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+Process-Memory-Size ::= ENUMERATED {
+ hms800, hms1600, hms2400, hms3200, hms4000,
+ hms4800, hms5600, hms6400, hms7200, hms8000,
+ hms8800, hms9600, hms10400, hms11200, hms12000,
+ hms12800, hms13600, hms14400, hms15200, hms16000,
+ hms17600, hms19200, hms20800, hms22400, hms24000,
+ hms25600, hms27200, hms28800, hms30400, hms32000,
+ hms36000, hms40000, hms44000, hms48000, hms52000,
+ hms56000, hms60000, hms64000, hms68000, hms72000,
+ hms76000, hms80000, hms88000, hms96000, hms104000,
+ hms112000, hms120000, hms128000, hms136000, hms144000,
+ hms152000, hms160000, hms176000, hms192000, hms208000,
+ hms224000, hms240000, hms256000, hms272000, hms288000,
+ hms304000,...}
+
+
+
+-- ==========================================
+-- Q
+-- ==========================================
+
+QE-Selector ::= ENUMERATED {
+ selected,
+ non-selected
+}
+
+-- ==========================================
+-- R
+-- ==========================================
+
+RACH-Measurement-Result ::= ENUMERATED {
+ cpich-EcNo,
+ cpich-RSCP,
+ pathloss,
+ ...
+}
+
+RACH-SlotFormat ::= ENUMERATED {
+ v0,
+ v1,
+ v2,
+ v3,
+ ...
+}
+
+RACH-SubChannelNumbers ::= BIT STRING {
+ subCh11(0),
+ subCh10(1),
+ subCh9(2),
+ subCh8(3),
+ subCh7(4),
+ subCh6(5),
+ subCh5(6),
+ subCh4(7),
+ subCh3(8),
+ subCh2(9),
+ subCh1(10),
+ subCh0(11)
+ } (SIZE (12))
+
+RL-Specific-DCH-Info ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF RL-Specific-DCH-Info-Item
+
+RL-Specific-DCH-Info-Item ::= SEQUENCE {
+ dCH-id DCH-ID,
+ bindingID BindingID OPTIONAL,
+ transportlayeraddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-Specific-DCH-Info-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Specific-DCH-Info-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportBearerNotRequestedIndicator CRITICALITY ignore EXTENSION TransportBearerNotRequestedIndicator PRESENCE optional }, -- FDD only
+ ...
+}
+
+RL-Specific-E-DCH-Info ::= SEQUENCE {
+ rL-Specific-E-DCH-Information RL-Specific-E-DCH-Information,
+ e-AGCH-PowerOffset E-AGCH-PowerOffset OPTIONAL,
+ e-RGCH-PowerOffset E-RGCH-PowerOffset OPTIONAL,
+ e-HICH-PowerOffset E-HICH-PowerOffset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-Specific-E-DCH-Info-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Specific-E-DCH-Info-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RL-Specific-E-DCH-Information ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF RL-Specific-E-DCH-Information-Item
+
+RL-Specific-E-DCH-Information-Item ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportlayeraddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-Specific-E-DCH-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Specific-E-DCH-Information-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Range-Correction-Rate ::= INTEGER (-127..127)
+-- scaling factor 0.032 m/s
+
+Reference-ReceivedTotalWideBandPower ::= INTEGER (0..621)
+-- mapping as for RTWP measurement value, as specified in [22]
+
+
+Reference-ReceivedTotalWideBandPowerReporting::= ENUMERATED {
+ reference-ReceivedTotalWideBandPower-Requested
+}
+
+Reference-ReceivedTotalWideBandPowerSupportIndicator::= ENUMERATED {
+ indication-of-Reference-ReceivedTotalWideBandPower-supported
+}
+
+ReferenceClockAvailability ::= ENUMERATED {
+ available,
+ notAvailable
+}
+
+ReferenceSFNoffset ::= INTEGER (0..255)
+
+Reference-E-TFCI-Information ::= SEQUENCE (SIZE (1..maxNrOfRefETFCIs)) OF Reference-E-TFCI-Information-Item
+
+Reference-E-TFCI-Information-Item ::= SEQUENCE {
+ reference-E-TFCI E-TFCI,
+ -- The following IE shall be ignored if id-Ext-Reference-E-TFCI-PO is present in Reference-E-TFCI-Information-Item-ExtIEs
+ reference-E-TFCI-PO Reference-E-TFCI-PO,
+ iE-Extensions ProtocolExtensionContainer { { Reference-E-TFCI-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Reference-E-TFCI-Information-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ -- The following IE shall be present if the ref E-TFCI power offset to be signalled exceeds maxNrOfRefETFCI-PO-QUANTSTEPs
+ { ID id-Ext-Reference-E-TFCI-PO CRITICALITY reject EXTENSION Ext-Reference-E-TFCI-PO PRESENCE optional},
+ ...
+}
+
+Reference-E-TFCI-PO ::= INTEGER (0.. maxNrOfRefETFCI-PO-QUANTSTEPs)
+
+RepetitionLength ::= INTEGER (1..63)
+
+RepetitionPeriod ::= ENUMERATED {
+ v1,
+ v2,
+ v4,
+ v8,
+ v16,
+ v32,
+ v64,
+ ...
+}
+
+RepetitionNumber0 ::= INTEGER (0..255)
+
+RepetitionNumber1 ::= INTEGER (1..256)
+
+RefTFCNumber ::= INTEGER (0..3)
+
+ReportCharacteristics ::= CHOICE {
+ onDemand NULL,
+ periodic ReportCharacteristicsType-ReportPeriodicity,
+ event-a ReportCharacteristicsType-EventA,
+ event-b ReportCharacteristicsType-EventB,
+ event-c ReportCharacteristicsType-EventC,
+ event-d ReportCharacteristicsType-EventD,
+ event-e ReportCharacteristicsType-EventE,
+ event-f ReportCharacteristicsType-EventF,
+ ...,
+ extension-ReportCharacteristics Extension-ReportCharacteristics
+}
+
+Extension-ReportCharacteristics ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsIE }}
+
+Extension-ReportCharacteristicsIE NBAP-PROTOCOL-IES ::= {
+ { ID id-ReportCharacteristicsType-OnModification CRITICALITY reject TYPE ReportCharacteristicsType-OnModification PRESENCE mandatory }
+}
+
+ReportCharacteristicsType-EventA ::= SEQUENCE {
+ measurementThreshold ReportCharacteristicsType-MeasurementThreshold,
+ measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventA-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+ReportCharacteristicsType-EventA-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportCharacteristicsType-EventB ::= SEQUENCE {
+ measurementThreshold ReportCharacteristicsType-MeasurementThreshold,
+ measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventB-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+ReportCharacteristicsType-EventB-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportCharacteristicsType-EventC ::= SEQUENCE {
+ measurementIncreaseThreshold ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold,
+ measurementChangeTime ReportCharacteristicsType-ScaledMeasurementChangeTime,
+ iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventC-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+ReportCharacteristicsType-EventC-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportCharacteristicsType-EventD ::= SEQUENCE {
+ measurementDecreaseThreshold ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold,
+ measurementChangeTime ReportCharacteristicsType-ScaledMeasurementChangeTime,
+ iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+ReportCharacteristicsType-EventD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportCharacteristicsType-EventE ::= SEQUENCE {
+ measurementThreshold1 ReportCharacteristicsType-MeasurementThreshold,
+ measurementThreshold2 ReportCharacteristicsType-MeasurementThreshold OPTIONAL,
+ measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
+ reportPeriodicity ReportCharacteristicsType-ReportPeriodicity OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventE-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+ReportCharacteristicsType-EventE-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportCharacteristicsType-EventF ::= SEQUENCE {
+ measurementThreshold1 ReportCharacteristicsType-MeasurementThreshold,
+ measurementThreshold2 ReportCharacteristicsType-MeasurementThreshold OPTIONAL,
+ measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
+ reportPeriodicity ReportCharacteristicsType-ReportPeriodicity OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventF-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+ReportCharacteristicsType-EventF-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportCharacteristicsType-OnModification ::= SEQUENCE {
+ measurementThreshold ReportCharacteristicsType-MeasurementThreshold,
+ iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-OnModification-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+ReportCharacteristicsType-OnModification-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold ::= CHOICE {
+ received-total-wide-band-power Received-total-wide-band-power-Value-IncrDecrThres,
+ transmitted-carrier-power Transmitted-Carrier-Power-Value,
+ acknowledged-prach-preambles Acknowledged-PRACH-preambles-Value,
+ uL-TimeslotISCP UL-TimeslotISCP-Value-IncrDecrThres,
+ sir SIR-Value-IncrDecrThres,
+ sir-error SIR-Error-Value-IncrDecrThres,
+ transmitted-code-power Transmitted-Code-Power-Value-IncrDecrThres,
+ rscp RSCP-Value-IncrDecrThres,
+ round-trip-time Round-Trip-Time-IncrDecrThres,
+ notUsed-1-acknowledged-PCPCH-access-preambles NULL,
+ notUsed-2-detected-PCPCH-access-preambles NULL,
+ ...,
+ extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold
+}
+
+Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThresholdIE }}
+
+Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThresholdIE NBAP-PROTOCOL-IES ::= {
+{ ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmission CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue PRESENCE mandatory}|
+{ ID id-Transmitted-Carrier-Power-For-CellPortion CRITICALITY reject TYPE Transmitted-Carrier-Power-Value PRESENCE mandatory }|
+{ ID id-Received-total-wide-band-power-For-CellPortion CRITICALITY reject TYPE Received-total-wide-band-power-Value-IncrDecrThres PRESENCE mandatory }|
+{ ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortion CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue PRESENCE mandatory }|
+{ ID id-UpPTSInterferenceValue CRITICALITY reject TYPE UpPTSInterferenceValue PRESENCE mandatory }|
+{ ID id-Received-Scheduled-EDCH-Power-Share CRITICALITY reject TYPE RSEPS-Value-IncrDecrThres PRESENCE mandatory }|
+{ ID id-Received-Scheduled-EDCH-Power-Share-For-CellPortion CRITICALITY reject TYPE RSEPS-Value-IncrDecrThres PRESENCE mandatory }|
+{ ID id-EDCH-RACH-Report-IncrDecrThres CRITICALITY reject TYPE EDCH-RACH-Report-IncrDecrThres PRESENCE mandatory }|
+ -- FDD only
+{ ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortion CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue PRESENCE mandatory }|
+{ ID id-ULTimeslotISCPValue-For-CellPortion CRITICALITY reject TYPE UL-TimeslotISCP-Value-IncrDecrThres PRESENCE mandatory }|
+{ ID id-UpPTSInterferenceValue-For-CellPortion CRITICALITY reject TYPE UpPTSInterferenceValue PRESENCE mandatory }
+}
+
+EDCH-RACH-Report-IncrDecrThres ::= SEQUENCE {
+ denied-EDCH-RACH-resources Denied-EDCH-RACH-Resources-Value,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-RACH-Report-IncrDecrThres-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-RACH-Report-IncrDecrThres-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Granted-EDCH-RACH-Resources-Value ::= INTEGER(0..240,...)
+-- According to mapping in [25].
+
+Denied-EDCH-RACH-Resources-Value ::= INTEGER(0..240,...)
+-- According to mapping in [25].
+
+ReportCharacteristicsType-MeasurementThreshold ::= CHOICE {
+ received-total-wide-band-power Received-total-wide-band-power-Value,
+ transmitted-carrier-power Transmitted-Carrier-Power-Value,
+ acknowledged-prach-preambles Acknowledged-PRACH-preambles-Value,
+ uL-TimeslotISCP UL-TimeslotISCP-Value,
+ sir SIR-Value,
+ sir-error SIR-Error-Value,
+ transmitted-code-power Transmitted-Code-Power-Value,
+ rscp RSCP-Value,
+ rx-timing-deviation Rx-Timing-Deviation-Value,
+ round-trip-time Round-Trip-Time-Value,
+ notUsed-1-acknowledged-PCPCH-access-preambles NULL,
+ notUsed-2-detected-PCPCH-access-preambles NULL,
+ ...,
+ extension-ReportCharacteristicsType-MeasurementThreshold Extension-ReportCharacteristicsType-MeasurementThreshold
+}
+
+Extension-ReportCharacteristicsType-MeasurementThreshold ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsType-MeasurementThresholdIE }}
+
+Extension-ReportCharacteristicsType-MeasurementThresholdIE NBAP-PROTOCOL-IES ::= {
+ { ID id-TUTRANGPSMeasurementThresholdInformation CRITICALITY reject TYPE TUTRANGPSMeasurementThresholdInformation PRESENCE mandatory }|
+ { ID id-SFNSFNMeasurementThresholdInformation CRITICALITY reject TYPE SFNSFNMeasurementThresholdInformation PRESENCE mandatory }|
+ { ID id-Rx-Timing-Deviation-Value-LCR CRITICALITY reject TYPE Rx-Timing-Deviation-Value-LCR PRESENCE mandatory}|
+ { ID id-HS-SICH-Reception-Quality-Measurement-Value CRITICALITY reject TYPE HS-SICH-Reception-Quality-Measurement-Value PRESENCE mandatory}|
+ -- For 1.28Mcps TDD, used when the Measurement Threshold Value for HS-SICH Reception Quality are less than or equal to 20
+ { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmission CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue PRESENCE mandatory}|
+ { ID id-HS-DSCHRequiredPowerValue CRITICALITY reject TYPE HS-DSCHRequiredPowerValue PRESENCE mandatory}|
+ { ID id-Transmitted-Carrier-Power-For-CellPortion CRITICALITY reject TYPE Transmitted-Carrier-Power-Value PRESENCE mandatory }|
+ { ID id-Received-total-wide-band-power-For-CellPortion CRITICALITY reject TYPE Received-total-wide-band-power-Value PRESENCE mandatory }|
+ { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortion CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue PRESENCE mandatory }|
+ { ID id-UpPTSInterferenceValue CRITICALITY reject TYPE UpPTSInterferenceValue PRESENCE mandatory }|
+ { ID id-DLTransmissionBranchLoadValue CRITICALITY reject TYPE DLTransmissionBranchLoadValue PRESENCE mandatory }|
+ { ID id-HS-DSCHRequiredPowerValue-For-Cell-Portion CRITICALITY reject TYPE HS-DSCHRequiredPowerValue PRESENCE mandatory }|
+ { ID id-E-DCH-Non-serving-Relative-Grant-Down-CommandsValue CRITICALITY reject TYPE E-DCH-Non-serving-Relative-Grant-Down-Commands PRESENCE mandatory }|
+ { ID id-Rx-Timing-Deviation-Value-768 CRITICALITY reject TYPE Rx-Timing-Deviation-Value-768 PRESENCE mandatory }|
+ { ID id-Rx-Timing-Deviation-Value-384-ext CRITICALITY reject TYPE Rx-Timing-Deviation-Value-384-ext PRESENCE mandatory }|
+ { ID id-Extended-Round-Trip-Time-Value CRITICALITY reject TYPE Extended-Round-Trip-Time-Value PRESENCE mandatory }|
+ { ID id-Received-Scheduled-EDCH-Power-Share CRITICALITY reject TYPE RSEPS-Value-IncrDecrThres PRESENCE mandatory }|
+ { ID id-Received-Scheduled-EDCH-Power-Share-For-CellPortion CRITICALITY reject TYPE RSEPS-Value-IncrDecrThres PRESENCE mandatory }|
+ { ID id-Additional-HS-SICH-Reception-Quality-Measurement-Value CRITICALITY reject TYPE HS-SICH-Reception-Quality-Measurement-Value PRESENCE mandatory}|
+ -- Applicable to 1.28Mcps TDD only, used when the Measurement Threshold Value for HS-SICH Reception Quality are more than 20, Measurement Threshold Value = 20 + IE Value
+ { ID id-TUTRANGANSSMeasurementThresholdInformation CRITICALITY reject TYPE TUTRANGANSSMeasurementThresholdInformation PRESENCE mandatory }|
+ { ID id-EDCH-RACH-Report-ThresholdInformation CRITICALITY reject TYPE EDCH-RACH-Report-ThresholdInformation PRESENCE mandatory }|
+ -- FDD only
+ { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortion CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue PRESENCE mandatory }|
+ { ID id-ULTimeslotISCPValue-For-CellPortion CRITICALITY reject TYPE UL-TimeslotISCP-Value PRESENCE mandatory }|
+ { ID id-UpPTSInterferenceValue-For-CellPortion CRITICALITY reject TYPE UpPTSInterferenceValue PRESENCE mandatory }
+}
+
+EDCH-RACH-Report-ThresholdInformation ::= SEQUENCE {
+ denied-EDCH-RACH-resources Denied-EDCH-RACH-Resources-Value,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-RACH-Report-ThresholdInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-RACH-Report-ThresholdInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportCharacteristicsType-ScaledMeasurementChangeTime ::= CHOICE {
+ msec MeasurementChangeTime-Scaledmsec,
+ ...
+}
+
+MeasurementChangeTime-Scaledmsec ::= INTEGER (1..6000,...)
+-- MeasurementChangeTime-Scaledmsec = Time * 10
+-- Unit ms, Range 10ms .. 60000ms(1min), Step 10ms
+
+ReportCharacteristicsType-ScaledMeasurementHysteresisTime ::= CHOICE {
+ msec MeasurementHysteresisTime-Scaledmsec,
+ ...
+}
+
+MeasurementHysteresisTime-Scaledmsec ::= INTEGER (1..6000,...)
+-- MeasurementHysteresisTime-Scaledmsec = Time * 10
+-- Unit ms, Range 10ms .. 60000ms(1min), Step 10ms
+
+ReportCharacteristicsType-ReportPeriodicity ::= CHOICE {
+ msec ReportPeriodicity-Scaledmsec,
+ min ReportPeriodicity-Scaledmin,
+ ...
+}
+
+ReportPeriodicity-Scaledmsec ::= INTEGER (1..6000,...)
+-- ReportPeriodicity-msec = ReportPeriodicity * 10
+-- Unit ms, Range 10ms .. 60000ms(1min), Step 10ms
+
+ReportPeriodicity-Scaledmin ::= INTEGER (1..60,...)
+-- Unit min, Range 1min .. 60min(hour), Step 1min
+
+ReportPeriodicity-Scaledhour ::= INTEGER (1..24,...)
+-- Unit hour, Range 1hour .. 24hours(day), Step 1hour
+
+ResourceOperationalState ::= ENUMERATED {
+ enabled,
+ disabled
+}
+
+RL-ID ::= INTEGER (0..31)
+
+RL-Set-ID ::= INTEGER (0..31)
+
+RLC-Mode ::= ENUMERATED {
+ rLC-AM,
+ rLC-UM,
+ ...
+}
+
+DL-RLC-PDU-Size-Format ::= ENUMERATED {
+ fixed-RLC-PDU-Size,
+ flexible-RLC-PDU-Size,
+ ...
+}
+
+Round-Trip-Time-IncrDecrThres ::= INTEGER(0..32766)
+
+RNC-ID ::= INTEGER (0..4095)
+
+Round-Trip-Time-Value ::= INTEGER(0..32767)
+-- According to mapping in [22]
+
+RSCP-Value ::= INTEGER (0..127)
+-- According to mapping in [23]
+
+RSCP-Value-IncrDecrThres ::= INTEGER (0..126)
+
+Received-total-wide-band-power-For-CellPortion-Value ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF Received-total-wide-band-power-For-CellPortion-Value-Item
+
+Received-total-wide-band-power-For-CellPortion-Value-Item ::= SEQUENCE{
+ cellPortionID CellPortionID,
+ received-total-wide-band-power-value Received-total-wide-band-power-Value,
+ iE-Extensions ProtocolExtensionContainer { { Received-total-wide-band-power-For-CellPortion-Value-Item-ExtIEs} } OPTIONAL,
+...
+}
+
+Received-total-wide-band-power-For-CellPortion-Value-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Received-total-wide-band-power-For-CellPortion-ValueLCR ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF Received-total-wide-band-power-For-CellPortion-ValueLCR-Item
+
+Received-total-wide-band-power-For-CellPortion-ValueLCR-Item ::= SEQUENCE{
+ cellPortionLCRID CellPortionLCRID,
+ received-total-wide-band-power-value Received-total-wide-band-power-Value,
+ iE-Extensions ProtocolExtensionContainer { { Received-total-wide-band-power-For-CellPortion-ValueLCR-Item-ExtIEs} } OPTIONAL,
+...
+}
+
+Received-total-wide-band-power-For-CellPortion-ValueLCR-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Received-total-wide-band-power-Value ::= INTEGER(0..621)
+-- According to mapping in [22]/[23]
+
+Received-total-wide-band-power-Value-IncrDecrThres ::= INTEGER (0..620)
+
+Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value-Item
+
+Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value-Item ::= SEQUENCE{
+ cellPortionID CellPortionID,
+ received-Scheduled-power-share-value RSEPS-Value,
+ received-total-wide-band-power-value Received-total-wide-band-power-Value OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value-Item-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Received-Scheduled-EDCH-Power-Share-Value ::= SEQUENCE{
+ received-Scheduled-power-share-value RSEPS-Value,
+ received-total-wide-band-power-value Received-total-wide-band-power-Value OPTIONAL,
+ ...
+ }
+
+RSEPS-Value-IncrDecrThres ::= INTEGER (0..151)
+
+
+RSEPS-Value ::= INTEGER (0..151)
+-- According to mapping in [22]
+
+
+RequestedDataValueInformation ::= CHOICE {
+ informationAvailable InformationAvailable,
+ informationnotAvailable InformationnotAvailable
+}
+
+InformationAvailable::= SEQUENCE {
+ requesteddataValue RequestedDataValue,
+ ie-Extensions ProtocolExtensionContainer { { InformationAvailableItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InformationAvailableItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationnotAvailable ::= NULL
+
+RequestedDataValue ::= SEQUENCE {
+ dgps-corrections DGPSCorrections OPTIONAL,
+ gps-navandrecovery GPS-NavigationModel-and-TimeRecovery OPTIONAL,
+ gps-ionos-model GPS-Ionospheric-Model OPTIONAL,
+ gps-utc-model GPS-UTC-Model OPTIONAL,
+ gps-almanac GPS-Almanac OPTIONAL,
+ gps-rt-integrity GPS-RealTime-Integrity OPTIONAL,
+ gpsrxpos GPS-RX-POS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedDataValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestedDataValue-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-Common-Data CRITICALITY ignore EXTENSION GANSS-Common-Data PRESENCE optional }|
+ { ID id-GANSS-Generic-Data CRITICALITY ignore EXTENSION GANSS-Generic-Data PRESENCE optional },
+ ...
+}
+
+Rx-Timing-Deviation-Value ::= INTEGER (0..8191)
+-- According to mapping in [23]
+
+Rx-Timing-Deviation-Value-LCR ::= INTEGER (0..511)
+-- According to mapping in [23]
+
+Rx-Timing-Deviation-Value-768 ::= INTEGER (0..65535)
+-- According to mapping in [23]
+
+Rx-Timing-Deviation-Value-384-ext ::= INTEGER (0..32767)
+-- According to mapping in [23]
+
+RefBeta ::= INTEGER (-15..16)
+
+RTWP-ReportingIndicator ::= ENUMERATED {
+ rTWP-reporting-required}
+
+RTWP-CellPortion-ReportingIndicator ::= ENUMERATED {
+ rTWP-CellPortion-reporting-required}
+
+
+-- ==========================================
+-- S
+-- ==========================================
+
+AdjustmentPeriod ::= INTEGER(1..256)
+-- Unit Frame
+
+E-DPCCH-Power-Boosting-Capability ::= ENUMERATED {
+ e-DPCCH-Power-Boosting-capable,
+ e-DPCCH-Power-Boosting-non-capable
+}
+
+SAT-ID ::= INTEGER (0..63)
+
+SAT-Info-Almanac ::= SEQUENCE (SIZE (1..maxNoSat)) OF SAT-Info-Almanac-Item
+
+SAT-Info-Almanac-Item ::= SEQUENCE {
+ data-id DATA-ID,
+ sat-id SAT-ID,
+ gps-e-alm BIT STRING (SIZE (16)),
+ gps-toa-alm BIT STRING (SIZE (8)),
+ gps-delta-I-alm BIT STRING (SIZE (16)),
+ omegadot-alm BIT STRING (SIZE (16)),
+ svhealth-alm BIT STRING (SIZE (8)),
+ gps-a-sqrt-alm BIT STRING (SIZE (24)),
+ omegazero-alm BIT STRING (SIZE (24)),
+ m-zero-alm BIT STRING (SIZE (24)),
+ gps-omega-alm BIT STRING (SIZE (24)),
+ gps-af-zero-alm BIT STRING (SIZE (11)),
+ gps-af-one-alm BIT STRING (SIZE (11)),
+ ie-Extensions ProtocolExtensionContainer { { SAT-Info-Almanac-Item-ExtIEs} } OPTIONAL,
+ ...
+} -- This GPS-Almanac-Information is for the 1st 16 satellites
+
+SAT-Info-Almanac-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SAT-Info-Almanac-ExtList ::= SEQUENCE (SIZE (1..maxNrOfSatAlmanac-maxNoSat)) OF SAT-Info-Almanac-ExtItem
+
+SAT-Info-Almanac-ExtItem ::= SEQUENCE {
+ data-id DATA-ID,
+ sat-id SAT-ID,
+ gps-e-alm BIT STRING (SIZE (16)),
+ gps-toa-alm BIT STRING (SIZE (8)),
+ gps-delta-I-alm BIT STRING (SIZE (16)),
+ omegadot-alm BIT STRING (SIZE (16)),
+ svhealth-alm BIT STRING (SIZE (8)),
+ gps-a-sqrt-alm BIT STRING (SIZE (24)),
+ omegazero-alm BIT STRING (SIZE (24)),
+ m-zero-alm BIT STRING (SIZE (24)),
+ gps-omega-alm BIT STRING (SIZE (24)),
+ gps-af-zero-alm BIT STRING (SIZE (11)),
+ gps-af-one-alm BIT STRING (SIZE (11)),
+ ie-Extensions ProtocolExtensionContainer { { SAT-Info-Almanac-ExtItemIEs } } OPTIONAL,
+ ...
+} -- Includes the GPS-Almanac-Information for 17th through 32nd satellites.
+
+SAT-Info-Almanac-ExtItemIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SAT-Info-DGPSCorrections ::= SEQUENCE (SIZE (1..maxNoSat)) OF SAT-Info-DGPSCorrections-Item
+
+SAT-Info-DGPSCorrections-Item ::= SEQUENCE {
+ sat-id SAT-ID,
+ iode-dgps BIT STRING (SIZE (8)),
+ udre UDRE,
+ prc PRC,
+ range-correction-rate Range-Correction-Rate,
+ ie-Extensions ProtocolExtensionContainer { { SAT-Info-DGPSCorrections-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SAT-Info-DGPSCorrections-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-DGNSS-ValidityPeriod CRITICALITY ignore EXTENSION DGNSS-ValidityPeriod PRESENCE optional},
+ ...
+}
+
+SATInfo-RealTime-Integrity ::= SEQUENCE (SIZE (1..maxNoSat)) OF SAT-Info-RealTime-Integrity-Item
+
+SAT-Info-RealTime-Integrity-Item ::= SEQUENCE {
+ bad-sat-id SAT-ID,
+ ie-Extensions ProtocolExtensionContainer { { SAT-Info-RealTime-Integrity-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SAT-Info-RealTime-Integrity-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ScaledAdjustmentRatio ::= INTEGER(0..100)
+-- AdjustmentRatio = ScaledAdjustmentRatio / 100
+
+MaxAdjustmentStep ::= INTEGER(1..10)
+-- Unit Slot
+
+SchedulingInformation ::= ENUMERATED {
+ included,
+ not-included
+}
+
+SecondaryServingCells ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF SecondaryServingCellsItem
+
+SecondaryServingCellsItem ::= SEQUENCE {
+ secondaryC-ID C-ID,
+ numSecondaryHS-SCCH-Codes NumHS-SCCH-Codes OPTIONAL,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SecondaryServingCellsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecondaryServingCellsItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-MIMO-ActivationIndicator CRITICALITY ignore EXTENSION MIMO-ActivationIndicator PRESENCE optional}|
+{ID id-EDCH-Indicator CRITICALITY ignore EXTENSION NULL PRESENCE optional},
+ ...
+}
+
+Secondary-UL-Frequency-Activation-State ::= ENUMERATED {
+ activated,
+ deactivated,
+ ...
+}
+
+SchedulingPriorityIndicator ::= INTEGER (0..15) -- lowest (0), highest (15)
+
+SID ::= INTEGER (0..maxNrOfMACdPDUIndexes-1)
+
+ScramblingCodeNumber ::= INTEGER (0..15)
+
+Secondary-CPICH-Information-Change ::= CHOICE {
+ new-secondary-CPICH CommonPhysicalChannelID,
+ secondary-CPICH-shall-not-be-used NULL,
+...
+}
+
+SecondaryCCPCH-SlotFormat ::= INTEGER(0..17,...)
+
+Secondary-CCPCH-SlotFormat-Extended ::= INTEGER(18..23,...)
+
+Segment-Type ::= ENUMERATED {
+ first-segment,
+ first-segment-short,
+ subsequent-segment,
+ last-segment,
+ last-segment-short,
+ complete-SIB,
+ complete-SIB-short,
+ ...
+}
+
+Serving-E-DCH-RL-ID ::= CHOICE {
+ serving-E-DCH-RL-in-this-NodeB Serving-E-DCH-RL-in-this-NodeB,
+ serving-E-DCH-RL-not-in-this-NodeB NULL,
+ ...
+}
+
+Serving-E-DCH-RL-in-this-NodeB ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { Serving-E-DCH-RL-in-this-NodeB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Serving-E-DCH-RL-in-this-NodeB-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SetsOfHS-SCCH-Codes ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH)) OF SetsOfHS-SCCH-CodesItem
+
+SetsOfHS-SCCH-CodesItem ::= SEQUENCE {
+ hS-SCCH-PreconfiguredCodes HS-SCCH-PreconfiguredCodes,
+ sixtyfourQAM-DL-UsageIndicator SixtyfourQAM-DL-UsageIndicator OPTIONAL,
+ hSDSCH-TBSizeTableIndicator HSDSCH-TBSizeTableIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SetsOfHS-SCCH-CodesItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SetsOfHS-SCCH-CodesItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-MIMO-N-M-Ratio CRITICALITY ignore EXTENSION MIMO-N-M-Ratio PRESENCE optional},
+ ...
+}
+
+Setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency::= CHOICE {
+ setup Additional-EDCH-Setup-Info,
+ configurationChange Additional-EDCH-Cell-Information-ConfigurationChange-List,
+ removal Additional-EDCH-Cell-Information-Removal-List,
+ ...
+}
+
+SFN ::= INTEGER (0..4095)
+
+SFNSFN-FDD ::= INTEGER (0..614399)
+
+SFNSFN-TDD ::= INTEGER (0..40961)
+
+SFNSFN-TDD768 ::= INTEGER (0..81923)
+
+SFNSFNChangeLimit ::= INTEGER (1..256)
+-- Unit chip, Step 1/16 chip, Range 1/16..16 chip
+
+SFNSFNDriftRate ::= INTEGER (-100..100)
+-- Unit chip/s, Step 1/256 chip/s, Range -100/256..+100/256 chip/s
+
+SFNSFNDriftRateQuality ::= INTEGER (0..100)
+-- Unit chip/s, Step 1/256 chip/s, Range 0..100/256 chip/s
+
+SFNSFNMeasurementThresholdInformation::= SEQUENCE {
+ sFNSFNChangeLimit SFNSFNChangeLimit OPTIONAL,
+ predictedSFNSFNDeviationLimit PredictedSFNSFNDeviationLimit OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SFNSFNMeasurementThresholdInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SFNSFNMeasurementThresholdInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFNSFNMeasurementValueInformation ::= SEQUENCE {
+ successfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformation SEQUENCE (SIZE(1..maxNrOfMeasNCell)) OF
+ SEQUENCE {
+ uC-Id UC-Id,
+ sFNSFNValue SFNSFNValue,
+ sFNSFNQuality SFNSFNQuality OPTIONAL,
+ sFNSFNDriftRate SFNSFNDriftRate,
+ sFNSFNDriftRateQuality SFNSFNDriftRateQuality OPTIONAL,
+ sFNSFNTimeStampInformation SFNSFNTimeStampInformation,
+ iE-Extensions ProtocolExtensionContainer { { SuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs} } OPTIONAL,
+ ...
+ },
+ unsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformation SEQUENCE (SIZE(0..maxNrOfMeasNCell-1)) OF
+ SEQUENCE {
+ uC-Id UC-Id,
+ iE-Extensions ProtocolExtensionContainer { { UnsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs} } OPTIONAL,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { SFNSFNMeasurementValueInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SFNSFNMeasurementValueInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UnsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFNSFNQuality ::= INTEGER (0..255)
+-- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
+
+ShutdownTimer ::= INTEGER (1..3600)
+-- Unit sec
+
+SIB-Originator ::= ENUMERATED {
+ nodeB,
+ cRNC,
+ ...
+}
+
+SIR-Error-Value ::= INTEGER (0..125)
+-- According to mapping in [22]
+
+SFNSFNTimeStampInformation ::= CHOICE {
+ sFNSFNTimeStamp-FDD SFN,
+ sFNSFNTimeStamp-TDD SFNSFNTimeStamp-TDD,
+ ...}
+
+SFNSFNTimeStamp-TDD::= SEQUENCE {
+ sFN SFN,
+ timeSlot TimeSlot,
+ iE-Extensions ProtocolExtensionContainer { { SFNSFNTimeStamp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SFNSFNTimeStamp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFNSFNValue ::= CHOICE {
+ sFNSFN-FDD SFNSFN-FDD,
+ sFNSFN-TDD SFNSFN-TDD, --- 1.28Mcps and 3.84Mcps TDD only
+ ...,
+ sFNSFN-TDD768 SFNSFN-TDD768
+}
+
+Single-Stream-MIMO-ActivationIndicator ::= NULL
+
+Single-Stream-MIMO-Capability ::= ENUMERATED {
+ single-stream-mimo-capable,
+ single-stream-mimo-non-capable
+}
+
+
+Single-Stream-MIMO-Mode-Indicator ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+SIR-Error-Value-IncrDecrThres ::= INTEGER (0..124)
+
+SIR-Value ::= INTEGER (0..63)
+-- According to mapping in [22]/[23]
+
+SIR-Value-IncrDecrThres ::= INTEGER (0..62)
+
+SignallingBearerRequestIndicator::= ENUMERATED {bearerRequested}
+
+
+SixtyfourQAM-UsageAllowedIndicator ::= ENUMERATED {
+ allowed,
+ not-allowed
+}
+
+SixtyfourQAM-DL-UsageIndicator ::= ENUMERATED {
+ sixtyfourQAM-DL-used,
+ sixtyfourQAM-DL-not-used
+}
+
+SixtyfourQAM-DL-Capability ::= ENUMERATED {
+ sixtyfourQAM-DL-supported,
+ sixtyfourQAM-DL-not-supported
+}
+
+SixtyfourQAM-DL-MIMO-Combined-Capability ::= ENUMERATED {
+ sixtyfourQAM-DL-MIMO-Combined-capable,
+ sixtyfourQAM-DL-MIMO-Combined-non-capable
+}
+
+SignatureSequenceGroupIndex ::= INTEGER (0..19)
+
+
+SixteenQAM-UL-Capability ::= ENUMERATED {
+ sixteenQAM-UL-capable,
+ sixteenQAM-UL-non-capable
+}
+
+SixteenQAM-UL-Operation-Indicator ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+
+SNPL-Reporting-Type ::= ENUMERATED {
+ type1,
+ type2
+}
+
+Soffset ::= INTEGER (0..9,...)
+
+SpecialBurstScheduling ::= INTEGER (1..256) -- Number of frames between special burst transmission during DTX
+
+Start-Of-Audit-Sequence-Indicator ::= ENUMERATED {
+ start-of-audit-sequence,
+ not-start-of-audit-sequence
+}
+
+Status-Flag ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+STTD-Indicator ::= ENUMERATED {
+ active,
+ inactive,
+ ...
+}
+
+SSDT-SupportIndicator ::= ENUMERATED {
+ not-Used-sSDT-Supported,
+ sSDT-not-supported
+}
+
+Sub-Frame-Number ::= INTEGER (0..4,...)
+
+SyncCase ::= INTEGER (1..2,...)
+
+SYNCDlCodeId ::= INTEGER (1..32,...)
+
+SyncFrameNumber ::= INTEGER (1..10)
+
+SynchronisationReportCharacteristics ::= SEQUENCE {
+ synchronisationReportCharacteristicsType SynchronisationReportCharacteristicsType,
+ synchronisationReportCharactThreExc SynchronisationReportCharactThreExc OPTIONAL,
+ -- This IE shall be included if the synchronisationReportCharacteristicsType IE is set to "thresholdExceeding".
+ iE-Extensions ProtocolExtensionContainer { { SynchronisationReportCharacteristics-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SynchronisationReportCharacteristics-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SyncDLCodeIdThreInfoLCR CRITICALITY ignore EXTENSION SyncDLCodeIdThreInfoLCR PRESENCE optional },
+ ...
+}
+
+SynchronisationReportCharactThreExc ::= SEQUENCE (SIZE (1..maxNrOfCellSyncBursts)) OF SynchronisationReportCharactThreInfoItem -- Mandatory for 3.84Mcps TDD only. Not Applicable to 1.28Mcps TDD.
+
+SynchronisationReportCharactThreInfoItem ::= SEQUENCE {
+ syncFrameNumber SyncFrameNumber,
+ cellSyncBurstInformation SEQUENCE (SIZE (1.. maxNrOfReceptsPerSyncFrame)) OF SynchronisationReportCharactCellSyncBurstInfoItem,
+ iE-Extensions ProtocolExtensionContainer { { SynchronisationReportCharactThreInfoItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SynchronisationReportCharactThreInfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SynchronisationReportCharactCellSyncBurstInfoItem ::= SEQUENCE {
+ cellSyncBurstCode CellSyncBurstCode,
+ cellSyncBurstCodeShift CellSyncBurstCodeShift,
+ cellSyncBurstTiming CellSyncBurstTiming OPTIONAL,
+ cellSyncBurstTimingThreshold CellSyncBurstTimingThreshold OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SynchronisationReportCharactCellSyncBurstInfoItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SynchronisationReportCharactCellSyncBurstInfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SyncDLCodeIdThreInfoLCR ::= SEQUENCE (SIZE (0..maxNrOfSyncFramesLCR)) OF SyncDLCodeIdThreInfoList --Mandatory for 1.28Mcps TDD only. Not Applicable to 3.84Mcps TDD.
+
+SyncDLCodeIdThreInfoList ::= SEQUENCE {
+ syncFrameNoToReceive SyncFrameNumber,
+ syncDLCodeIdInfoLCR SyncDLCodeInfoListLCR,
+ iE-Extensions ProtocolExtensionContainer { { SyncDLCodeIdThreInfoList-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SyncDLCodeIdThreInfoList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SyncDLCodeInfoListLCR ::= SEQUENCE (SIZE (1..maxNrOfSyncDLCodesLCR)) OF SyncDLCodeInfoItemLCR
+
+SyncDLCodeInfoItemLCR ::= SEQUENCE {
+ syncDLCodeId SYNCDlCodeId,
+ syncDLCodeIdArrivTime CellSyncBurstTimingLCR OPTIONAL,
+ syncDLCodeIdTimingThre CellSyncBurstTimingThreshold OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SyncDLCodeInfoItem-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SyncDLCodeInfoItem-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SynchronisationReportCharacteristicsType ::= ENUMERATED {
+ frameRelated,
+ sFNperiodRelated,
+ cycleLengthRelated,
+ thresholdExceeding,
+ frequencyAcquisitionCompleted,
+ ...
+}
+
+SynchronisationReportType ::= ENUMERATED {
+ initialPhase,
+ steadyStatePhase,
+ lateEntrantCell,
+ frequencyAcquisition,
+ ...
+}
+Semi-PersistentScheduling-CapabilityLCR ::= ENUMERATED {
+ semi-Persistent-scheduling-Capable,
+ semi-Persistent-scheduling-Non-Capable
+}
+
+-- ==========================================
+-- T
+-- ==========================================
+
+T1 ::= ENUMERATED {v10,v20,v30,v40,v50,v60,v70,v80,v90,v100,v120,v140,v160,v200,v300,v400,...}
+
+T321 ::= ENUMERATED {v100,v200,v400,v800,...}
+
+T-Cell ::= ENUMERATED {
+ v0,
+ v1,
+ v2,
+ v3,
+ v4,
+ v5,
+ v6,
+ v7,
+ v8,
+ v9
+}
+
+T-RLFAILURE ::= INTEGER (0..255)
+-- Unit seconds, Range 0s .. 25.5s, Step 0.1s
+
+T-PROTECT ::= ENUMERATED {v40,v60,v80,v100,v120,v200,v400,...}
+T-SYNC ::= ENUMERATED {v40,v80,v120,v160,v200,v300,v400,v500,...}
+
+TDD-AckNack-Power-Offset ::= INTEGER (-7..8,...)
+-- Unit dB, Range -7dB .. +8dB, Step 1dB
+
+TDD-ChannelisationCode ::= ENUMERATED {
+ chCode1div1,
+ chCode2div1,
+ chCode2div2,
+ chCode4div1,
+ chCode4div2,
+ chCode4div3,
+ chCode4div4,
+ chCode8div1,
+ chCode8div2,
+ chCode8div3,
+ chCode8div4,
+ chCode8div5,
+ chCode8div6,
+ chCode8div7,
+ chCode8div8,
+ chCode16div1,
+ chCode16div2,
+ chCode16div3,
+ chCode16div4,
+ chCode16div5,
+ chCode16div6,
+ chCode16div7,
+ chCode16div8,
+ chCode16div9,
+ chCode16div10,
+ chCode16div11,
+ chCode16div12,
+ chCode16div13,
+ chCode16div14,
+ chCode16div15,
+ chCode16div16,
+ ...
+}
+
+TDD-ChannelisationCodeLCR ::= SEQUENCE {
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ modulation Modulation, -- Modulation options for 1.28Mcps TDD in contrast to 3.84Mcps TDD or 7.68Mcps TDD
+ iE-Extensions ProtocolExtensionContainer { { TDD-ChannelisationCodeLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-ChannelisationCodeLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TDD-ChannelisationCode768 ::= ENUMERATED {
+ chCode1div1,
+ chCode2div1,
+ chCode2div2,
+ chCode4div1,
+ chCode4div2,
+ chCode4div3,
+ chCode4div4,
+ chCode8div1,
+ chCode8div2,
+ chCode8div3,
+ chCode8div4,
+ chCode8div5,
+ chCode8div6,
+ chCode8div7,
+ chCode8div8,
+ chCode16div1,
+ chCode16div2,
+ chCode16div3,
+ chCode16div4,
+ chCode16div5,
+ chCode16div6,
+ chCode16div7,
+ chCode16div8,
+ chCode16div9,
+ chCode16div10,
+ chCode16div11,
+ chCode16div12,
+ chCode16div13,
+ chCode16div14,
+ chCode16div15,
+ chCode16div16,
+ chCode32div1,
+ chCode32div2,
+ chCode32div3,
+ chCode32div4,
+ chCode32div5,
+ chCode32div6,
+ chCode32div7,
+ chCode32div8,
+ chCode32div9,
+ chCode32div10,
+ chCode32div11,
+ chCode32div12,
+ chCode32div13,
+ chCode32div14,
+ chCode32div15,
+ chCode32div16,
+ chCode32div17,
+ chCode32div18,
+ chCode32div19,
+ chCode32div20,
+ chCode32div21,
+ chCode32div22,
+ chCode32div23,
+ chCode32div24,
+ chCode32div25,
+ chCode32div26,
+ chCode32div27,
+ chCode32div28,
+ chCode32div29,
+ chCode32div30,
+ chCode32div31,
+ chCode32div32,
+ ...
+}
+
+TDD-DL-Code-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF TDD-DL-Code-InformationItem
+
+TDD-DL-Code-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { TDD-DL-Code-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-DL-Code-LCR-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF TDD-DL-Code-LCR-InformationItem
+
+TDD-DL-Code-LCR-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ tdd-DL-DPCH-TimeSlotFormat-LCR TDD-DL-DPCH-TimeSlotFormat-LCR,
+ iE-Extensions ProtocolExtensionContainer { { TDD-DL-Code-LCR-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-LCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-DL-Code-768-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHs768)) OF TDD-DL-Code-768-InformationItem
+
+TDD-DL-Code-768-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { TDD-DL-Code-768-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-768-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-DL-DPCH-TimeSlotFormat-LCR ::= CHOICE {
+ qPSK QPSK-DL-DPCH-TimeSlotFormatTDD-LCR,
+ eightPSK EightPSK-DL-DPCH-TimeSlotFormatTDD-LCR,
+ -- For 1.28 Mcps TDD, if the cell is operating in MBSFN only mode, this IE denotes MBSFN S-CCPCH time slot format
+ ...
+}
+
+QPSK-DL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
+
+EightPSK-DL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
+-- For 1.28 Mcps TDD, if the cell is operating in MBSFN only mode, this IE denotes MBSFN S-CCPCH time slot format?INTEGER(0..11,...)
+
+TDD-DPCHOffset ::= CHOICE {
+ initialOffset INTEGER (0..255),
+ noinitialOffset INTEGER (0..63)
+}
+
+TDD-PhysicalChannelOffset ::= INTEGER (0..63)
+
+TDD-TPC-DownlinkStepSize ::= ENUMERATED {
+ step-size1,
+ step-size2,
+ step-size3,
+ ...
+}
+
+TDD-TPC-UplinkStepSize-LCR ::= ENUMERATED {
+ step-size1,
+ step-size2,
+ step-size3,
+ ...
+}
+
+TransportFormatCombination-Beta ::= CHOICE {
+ signalledGainFactors SEQUENCE {
+ gainFactor CHOICE {
+ fdd SEQUENCE {
+ betaC BetaCD,
+ betaD BetaCD,
+ iE-Extensions ProtocolExtensionContainer { { GainFactorFDD-ExtIEs } } OPTIONAL,
+ ...
+ },
+ tdd BetaCD,
+ ...
+ },
+ refTFCNumber RefTFCNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SignalledGainFactors-ExtIEs } } OPTIONAL,
+ ...
+ },
+ computedGainFactors RefTFCNumber,
+ ...
+}
+
+GainFactorFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SignalledGainFactors-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-UL-Code-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF TDD-UL-Code-InformationItem
+
+TDD-UL-Code-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { TDD-UL-Code-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-UL-Code-LCR-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF TDD-UL-Code-LCR-InformationItem
+
+TDD-UL-Code-LCR-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ tdd-UL-DPCH-TimeSlotFormat-LCR TDD-UL-DPCH-TimeSlotFormat-LCR,
+ iE-Extensions ProtocolExtensionContainer { { TDD-UL-Code-LCR-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-LCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+TDD-UL-Code-768-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF TDD-UL-Code-768-InformationItem
+
+TDD-UL-Code-768-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { TDD-UL-Code-768-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-768-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-UL-DPCH-TimeSlotFormat-LCR ::= CHOICE {
+ qPSK QPSK-UL-DPCH-TimeSlotFormatTDD-LCR,
+ eightPSK EightPSK-UL-DPCH-TimeSlotFormatTDD-LCR,
+ ...
+}
+
+QPSK-UL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..69,...)
+
+EightPSK-UL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
+
+TFCI-Coding ::= ENUMERATED {
+ v4,
+ v8,
+ v16,
+ v32,
+ ...
+}
+
+TFCI-Presence ::= ENUMERATED {
+ present,
+ not-present
+}
+
+TFCI-SignallingMode ::= SEQUENCE {
+ tFCI-SignallingOption TFCI-SignallingMode-TFCI-SignallingOption,
+ not-Used-splitType NULL OPTIONAL,
+ not-Used-lengthOfTFCI2 NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TFCI-SignallingMode-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TFCI-SignallingMode-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TFCI-SignallingMode-TFCI-SignallingOption ::= ENUMERATED {
+ normal,
+ not-Used-split
+}
+
+TGD ::= INTEGER (0|15..269)
+-- 0 = Undefined, only one transmission gap in the transmission gap pattern sequence
+
+TGPRC ::= INTEGER (0..511)
+-- 0 = infinity
+
+TGPSID ::= INTEGER (1.. maxTGPS)
+
+TGSN ::= INTEGER (0..14)
+
+TimeSlot ::= INTEGER (0..14)
+
+TimeSlotDirection ::= ENUMERATED {
+ ul,
+ dl,
+ ...
+}
+
+TimeSlot-InitiatedListLCR ::= SEQUENCE (SIZE (0..6)) OF TimeSlotLCR
+
+TimeSlotLCR ::= INTEGER (0..6)
+
+TimeslotLCR-Extension ::= ENUMERATED {
+ ts7,
+ ...
+}
+-- ts7 indicates the MBSFN Special Timeslot for 1.28Mcps TDD MBSFN Dedicated Carrier.
+
+TimeSlotMeasurementValueListLCR::= SEQUENCE (SIZE (1..6)) OF TimeSlotMeasurementValueLCR
+
+TimeSlotMeasurementValueLCR ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ commonMeasurementValue CommonMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { {TimeSlotMeasurementValueListLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TimeSlotMeasurementValueListLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeSlotStatus ::= ENUMERATED {
+ active,
+ not-active,
+ ...
+}
+
+TimingAdjustmentValue ::= CHOICE {
+ initialPhase INTEGER (0..1048575,...),
+ steadyStatePhase INTEGER (0..255,...)
+}
+
+TimingAdjustmentValueLCR ::= CHOICE {
+ initialPhase INTEGER (0..524287,...),
+ steadyStatePhase INTEGER (0..127,...)
+}
+
+TimingAdvanceApplied ::= ENUMERATED {
+ yes,
+ no
+}
+
+SynchronisationIndicator ::= ENUMERATED {
+ timingMaintainedSynchronisation,
+ ...
+}
+
+TnlQos ::= CHOICE {
+ dsField DsField,
+ genericTrafficCategory GenericTrafficCategory,
+ ...
+}
+
+ToAWE ::= INTEGER (0..2559)
+-- Unit ms
+
+ToAWS ::= INTEGER (0..1279)
+-- Unit ms
+
+Transmission-Gap-Pattern-Sequence-Information ::= SEQUENCE (SIZE (1..maxTGPS)) OF
+ SEQUENCE {
+ tGPSID TGPSID,
+ tGSN TGSN,
+ tGL1 GapLength,
+ tGL2 GapLength OPTIONAL,
+ tGD TGD,
+ tGPL1 GapDuration,
+ not-to-be-used-1 GapDuration OPTIONAL,
+ -- This IE shall never be included in the SEQUENCE. If received it shall be ignored
+ uL-DL-mode UL-DL-mode,
+ downlink-Compressed-Mode-Method Downlink-Compressed-Mode-Method OPTIONAL,
+ -- This IE shall be present if the UL/DL mode IE is set to "DL only" or "UL/DL"
+ uplink-Compressed-Mode-Method Uplink-Compressed-Mode-Method OPTIONAL,
+ -- This IE shall be present if the UL/DL mode IE is set to "UL only" or "UL/DL"
+ dL-FrameType DL-FrameType,
+ delta-SIR1 DeltaSIR,
+ delta-SIR-after1 DeltaSIR,
+ delta-SIR2 DeltaSIR OPTIONAL,
+ delta-SIR-after2 DeltaSIR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Transmission-Gap-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Transmission-Gap-Pattern-Sequence-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmissionGapPatternSequenceCodeInformation ::= ENUMERATED{
+code-change,
+nocode-change
+}
+
+TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue-Item
+
+TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue-Item ::= SEQUENCE{
+ cellPortionID CellPortionID,
+ transmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue,
+ iE-Extensions ProtocolExtensionContainer { { TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue-Item
+
+TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue-Item ::= SEQUENCE{
+ cellPortionLCRID CellPortionLCRID,
+ transmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue,
+ iE-Extensions ProtocolExtensionContainer { { TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue ::= INTEGER(0..100)
+-- According to mapping in [22] and [23]
+
+Transmitted-Carrier-Power-For-CellPortion-Value ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF Transmitted-Carrier-Power-For-CellPortion-Value-Item
+
+Transmitted-Carrier-Power-For-CellPortion-Value-Item ::= SEQUENCE{
+ cellPortionID CellPortionID,
+ transmitted-Carrier-Power-Value Transmitted-Carrier-Power-Value,
+ iE-Extensions ProtocolExtensionContainer { { Transmitted-Carrier-Power-For-CellPortion-Value-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Transmitted-Carrier-Power-For-CellPortion-Value-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transmitted-Carrier-Power-For-CellPortion-ValueLCR ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF Transmitted-Carrier-Power-For-CellPortion-ValueLCR-Item
+
+Transmitted-Carrier-Power-For-CellPortion-ValueLCR-Item ::= SEQUENCE{
+ cellPortionLCRID CellPortionLCRID,
+ transmitted-Carrier-Power-Value Transmitted-Carrier-Power-Value,
+ iE-Extensions ProtocolExtensionContainer { { Transmitted-Carrier-Power-For-CellPortion-ValueLCR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Transmitted-Carrier-Power-For-CellPortion-ValueLCR-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transmitted-Carrier-Power-Value ::= INTEGER(0..100)
+-- According to mapping in [22]/[23]
+
+Transmitted-Code-Power-Value ::= INTEGER (0..127)
+-- According to mapping in [22]/[23]. Values 0 to 9 and 123 to 127 shall not be used.
+
+Transmitted-Code-Power-Value-IncrDecrThres ::= INTEGER (0..112,...)
+
+TransmissionDiversityApplied ::= BOOLEAN
+-- true: applied, false: not applied
+
+TransmitDiversityIndicator ::= ENUMERATED {
+ active,
+ inactive
+}
+
+TFCS ::= SEQUENCE {
+ tFCSvalues CHOICE {
+ no-Split-in-TFCI TFCS-TFCSList,
+ not-Used-split-in-TFCI NULL,
+ -- This choice shall never be made by the CRNC and the Node B shall consider the procedure as failed if it is received.
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { TFCS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TFCS-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TFCS-TFCSList ::= SEQUENCE (SIZE (1..maxNrOfTFCs)) OF
+ SEQUENCE {
+ cTFC TFCS-CTFC,
+ tFC-Beta TransportFormatCombination-Beta OPTIONAL,
+ -- The IE shall be present if the TFCS concerns a UL DPCH or PRACH channel [FDD - or PCPCH channel].
+ iE-Extensions ProtocolExtensionContainer { { TFCS-TFCSList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TFCS-TFCSList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TFCS-CTFC ::= CHOICE {
+ ctfc2bit INTEGER (0..3),
+ ctfc4bit INTEGER (0..15),
+ ctfc6bit INTEGER (0..63),
+ ctfc8bit INTEGER (0..255),
+ ctfc12bit INTEGER (0..4095),
+ ctfc16bit INTEGER (0..65535),
+ ctfcmaxbit INTEGER (0..maxCTFC)
+}
+
+Transport-Block-Size-Index ::= INTEGER(1..maxNrOfHS-DSCH-TBSs)
+
+Transport-Block-Size-Index-for-Enhanced-PCH ::= INTEGER(1..32)
+-- Index of the value range 1 to 32 of the MAC-ehs transport block size as specified in appendix A of [32]
+
+Transport-Block-Size-List ::= SEQUENCE (SIZE (1..maxNrOfHS-DSCHTBSsE-PCH)) OF
+ SEQUENCE {
+ transport-Block-Size-Index-for-Enhanced-PCH Transport-Block-Size-Index-for-Enhanced-PCH,
+ iE-Extensions ProtocolExtensionContainer { { Transport-Block-Size-List-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Transport-Block-Size-List-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportBearerRequestIndicator ::= ENUMERATED {
+ bearerRequested,
+ bearerNotRequested,
+ ...
+}
+
+TransportBearerNotRequestedIndicator ::= ENUMERATED {
+ transport-bearer-shall-not-be-established,
+ transport-bearer-may-not-be-established
+}
+
+TransportBearerNotSetupIndicator ::= ENUMERATED {
+ transport-bearer-not-setup
+}
+
+TransportFormatSet ::= SEQUENCE {
+ dynamicParts TransportFormatSet-DynamicPartList,
+ semi-staticPart TransportFormatSet-Semi-staticPart,
+ iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransportFormatSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportFormatSet-DynamicPartList ::= SEQUENCE (SIZE (1..maxNrOfTFs)) OF
+ SEQUENCE {
+ nrOfTransportBlocks TransportFormatSet-NrOfTransportBlocks,
+ transportBlockSize TransportFormatSet-TransportBlockSize OPTIONAL,
+ -- This IE shall be present if the Number of Transport Blocks IE is set to a value greater than 0
+ mode TransportFormatSet-ModeDP,
+ iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-DynamicPartList-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+TransportFormatSet-DynamicPartList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-TransportFormatSet-ModeDP ::= SEQUENCE {
+ transmissionTimeIntervalInformation TransmissionTimeIntervalInformation OPTIONAL,
+ -- This IE shall be present if the Transmission Time Interval IE in the Semi-static Transport Format Information IE is set to "dynamic"
+ iE-Extensions ProtocolExtensionContainer { {TDD-TransportFormatSet-ModeDP-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+TDD-TransportFormatSet-ModeDP-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmissionTimeIntervalInformation ::= SEQUENCE (SIZE (1..maxTTI-count)) OF
+ SEQUENCE {
+ transmissionTimeInterval TransportFormatSet-TransmissionTimeIntervalDynamic,
+ iE-Extensions ProtocolExtensionContainer { { TransmissionTimeIntervalInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransmissionTimeIntervalInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportFormatSet-Semi-staticPart ::= SEQUENCE {
+ transmissionTimeInterval TransportFormatSet-TransmissionTimeIntervalSemiStatic,
+ channelCoding TransportFormatSet-ChannelCodingType,
+ codingRate TransportFormatSet-CodingRate OPTIONAL,
+ -- This IE shall be present if the Type of channel coding IE is set to 'convolutional' or 'turbo'
+ rateMatchingAttribute TransportFormatSet-RateMatchingAttribute,
+ cRC-Size TransportFormatSet-CRC-Size,
+ mode TransportFormatSet-ModeSSP ,
+ iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-Semi-staticPart-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransportFormatSet-Semi-staticPart-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportFormatSet-ChannelCodingType ::= ENUMERATED {
+ no-codingTDD,
+ convolutional-coding,
+ turbo-coding,
+ ...
+}
+
+TransportFormatSet-CodingRate ::= ENUMERATED {
+ half,
+ third,
+ ...
+}
+
+TransportFormatSet-CRC-Size ::= ENUMERATED {
+ v0,
+ v8,
+ v12,
+ v16,
+ v24,
+ ...
+}
+
+TransportFormatSet-ModeDP ::= CHOICE {
+ tdd TDD-TransportFormatSet-ModeDP,
+ notApplicable NULL,
+ ...
+}
+
+TransportFormatSet-ModeSSP ::= CHOICE {
+ tdd TransportFormatSet-SecondInterleavingMode,
+ notApplicable NULL,
+ ...
+}
+
+TransportFormatSet-NrOfTransportBlocks ::= INTEGER (0..512)
+
+TransportFormatSet-RateMatchingAttribute ::= INTEGER (1..maxRateMatching)
+
+TransportFormatSet-SecondInterleavingMode ::= ENUMERATED {
+ frame-related,
+ timeSlot-related,
+ ...
+}
+
+TransportFormatSet-TransmissionTimeIntervalDynamic ::= ENUMERATED {
+ msec-10,
+ msec-20,
+ msec-40,
+ msec-80,
+ ...
+}
+
+TransportFormatSet-TransmissionTimeIntervalSemiStatic ::= ENUMERATED {
+ msec-10,
+ msec-20,
+ msec-40,
+ msec-80,
+ dynamic,
+ ...,
+ msec-5
+}
+
+TransportFormatSet-TransportBlockSize ::= INTEGER (0..5000)
+
+TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
+
+TS0-CapabilityLCR ::= ENUMERATED {
+ tS0-Capable,
+ tS0-Not-Capable
+}
+
+TSTD-Indicator ::= ENUMERATED {
+ active,
+ inactive
+}
+
+
+TSN-Length ::= ENUMERATED {
+ tsn-6bits,
+ tsn-9bits
+}
+
+TUTRANGANSS ::= SEQUENCE {
+ mS INTEGER(0..16383),
+ lS INTEGER(0..4294967295)
+}
+
+TUTRANGANSSAccuracyClass ::= ENUMERATED {
+ ganssAccuracy-class-A,
+ ganssAccuracy-class-B,
+ ganssAccuracy-class-C,
+ ...
+}
+
+TUTRANGANSSMeasurementThresholdInformation ::= SEQUENCE {
+ tUTRANGANSSChangeLimit INTEGER(1..256) OPTIONAL,
+ predictedTUTRANGANSSDeviationLimit INTEGER(1..256) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { TUTRANGANSSMeasurementThresholdInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TUTRANGANSSMeasurementThresholdInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TUTRANGANSSMeasurementValueInformation ::= SEQUENCE {
+ tUTRANGANSS TUTRANGANSS,
+ tUTRANGANSSQuality INTEGER(0..255) OPTIONAL,
+ tUTRANGANSSDriftRate INTEGER(-50..50),
+ tUTRANGANSSDriftRateQuality INTEGER(0..50) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { TUTRANGANSSMeasurementValueInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TUTRANGANSSMeasurementValueInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-Time-ID CRITICALITY ignore EXTENSION GANSS-Time-ID PRESENCE optional},
+ ...
+}
+
+TUTRANGPS ::= SEQUENCE {
+ ms-part INTEGER (0..16383),
+ ls-part INTEGER (0..4294967295)
+}
+
+TUTRANGPSChangeLimit ::= INTEGER (1..256)
+-- Unit chip, Step 1/16 chip, Range 1/16..16 chip
+
+TUTRANGPSDriftRate ::= INTEGER (-50..50)
+-- Unit chip/s, Step 1/256 chip/s, Range -50/256..+50/256 chip/s
+
+TUTRANGPSDriftRateQuality ::= INTEGER (0..50)
+-- Unit chip/s, Step 1/256 chip/s, Range 0..50/256 chip/s
+
+TUTRANGPSAccuracyClass ::= ENUMERATED {
+ accuracy-class-A,
+ accuracy-class-B,
+ accuracy-class-C,
+ ...
+}
+
+TUTRANGPSMeasurementThresholdInformation ::= SEQUENCE {
+ tUTRANGPSChangeLimit TUTRANGPSChangeLimit OPTIONAL,
+ predictedTUTRANGPSDeviationLimit PredictedTUTRANGPSDeviationLimit OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TUTRANGPSMeasurementThresholdInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TUTRANGPSMeasurementThresholdInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TUTRANGPSMeasurementValueInformation ::= SEQUENCE {
+ tUTRANGPS TUTRANGPS,
+ tUTRANGPSQuality TUTRANGPSQuality OPTIONAL,
+ tUTRANGPSDriftRate TUTRANGPSDriftRate,
+ tUTRANGPSDriftRateQuality TUTRANGPSDriftRateQuality OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TUTRANGPSMeasurementValueInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TUTRANGPSMeasurementValueInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TUTRANGPSQuality ::= INTEGER (0..255)
+-- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
+
+TxDiversityOnDLControlChannelsByMIMOUECapability ::= ENUMERATED {
+ dL-Control-Channel-Tx-Diversity-for-MIMO-UE-with-non-diverse-P-CPICH-Capable,
+ dL-Control-Channel-Tx-Diversity-for-MIMO-UE-with-non-diverse-P-CPICH-Not-Capable
+}
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+-- ==========================================
+-- U
+-- ==========================================
+
+UARFCN ::= INTEGER (0..16383, ...)
+-- corresponds to 0MHz .. 3276.6MHz
+
+UC-Id ::= SEQUENCE {
+ rNC-ID RNC-ID,
+ c-ID C-ID,
+ iE-Extensions ProtocolExtensionContainer { {UC-Id-ExtIEs} } OPTIONAL,
+ ...
+}
+UC-Id-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-RNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional},
+ ...
+}
+
+UDRE ::= ENUMERATED {
+ udre-minusequal-one-m,
+ udre-betweenoneandfour-m,
+ udre-betweenfourandeight-m,
+ udre-greaterequaleight-m
+}
+
+UDREGrowthRate ::= ENUMERATED {
+ growth-1-point-5,
+ growth-2,
+ growth-4,
+ growth-6,
+ growth-8,
+ growth-10,
+ growth-12,
+ growth-16 }
+
+UDREValidityTime ::= ENUMERATED {
+ val-20sec,
+ val-40sec,
+ val-80sec,
+ val-160sec,
+ val-320sec,
+ val-640sec,
+ val-1280sec,
+ val-2560sec }
+
+UE-AggregateMaximumBitRate ::= SEQUENCE {
+ uE-AggregateMaximumBitRateDownlink UE-AggregateMaximumBitRateDownlink OPTIONAL,
+ uE-AggregateMaximumBitRateUplink UE-AggregateMaximumBitRateUplink OPTIONAL,
+ ...
+}
+
+UE-AggregateMaximumBitRateDownlink ::= INTEGER (1..1000000000)
+-- Unit is bits per sec
+
+UE-AggregateMaximumBitRateUplink ::= INTEGER (1..1000000000)
+-- Unit is bits per sec
+
+UE-AggregateMaximumBitRate-Enforcement-Indicator ::= NULL
+
+UE-Capability-Information ::= SEQUENCE {
+ hSDSCH-Physical-Layer-Category INTEGER (1..64,...),
+ iE-Extensions ProtocolExtensionContainer { { UE-Capability-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-Capability-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-LCRTDD-uplink-Physical-Channel-Capability CRITICALITY ignore EXTENSION LCRTDD-Uplink-Physical-Channel-Capability PRESENCE optional}|
+ {ID id-number-Of-Supported-Carriers CRITICALITY reject EXTENSION Number-Of-Supported-Carriers PRESENCE optional}|
+ {ID id-MultiCarrier-HSDSCH-Physical-Layer-Category CRITICALITY ignore EXTENSION LCRTDD-HSDSCH-Physical-Layer-Category PRESENCE optional}|
+ {ID id-MIMO-SFMode-Supported-For-HSPDSCHDualStream CRITICALITY reject EXTENSION MIMO-SFMode-For-HSPDSCHDualStream PRESENCE optional}|
+ {ID id-UE-TS0-CapabilityLCR CRITICALITY ignore EXTENSION UE-TS0-CapabilityLCR PRESENCE optional},
+ ...
+}
+
+UE-TS0-CapabilityLCR ::= ENUMERATED {
+ uE-TS0-Capable,
+ uE-TS0-Not-Capable
+}
+
+UE-SupportIndicatorExtension ::= BIT STRING (SIZE (32))
+-- First bit: Different HS-SCCH In Consecutive TTIs Support Indicator
+-- Second bit: HS-SCCH orders in HS-SCCH-less Operation Support Indicator
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+LCRTDD-HSDSCH-Physical-Layer-Category ::= INTEGER (1..64)
+
+UE-DPCCH-burst1 ::= ENUMERATED {v1, v2, v5}
+ -- Unit subframe
+
+UE-DPCCH-burst2 ::= ENUMERATED {v1, v2, v5}
+ -- Unit subframe
+
+UE-DRX-Cycle ::= ENUMERATED {v4, v5, v8, v10, v16, v20}
+ -- Unit subframe
+
+UE-DRX-Grant-Monitoring ::= BOOLEAN
+ -- true: applied, false: not applied
+
+UE-DTX-Cycle1-2ms ::= ENUMERATED {v1, v4, v5, v8, v10, v16, v20}
+ -- Unit subframe
+
+UE-DTX-Cycle1-10ms ::= ENUMERATED {v1, v5, v10, v20}
+ -- Unit subframe
+
+UE-DTX-Cycle2-2ms ::= ENUMERATED {v4, v5, v8, v10, v16, v20, v32, v40, v64, v80, v128, v160}
+ -- Unit subframe
+
+UE-DTX-Cycle2-10ms ::= ENUMERATED {v5, v10, v20, v40, v80, v160}
+ -- Unit subframe
+
+UE-DTX-DRX-Offset ::= INTEGER (0..159)
+ -- Unit subframe
+
+UE-DTX-Long-Preamble ::= ENUMERATED {v2, v4, v15}
+ -- Units of slots
+
+
+UL-CapacityCredit ::= INTEGER (0..65535)
+
+UL-Delta-T2TP ::= INTEGER (0..6,...)
+
+UL-DL-mode ::= ENUMERATED {
+ ul-only,
+ dl-only,
+ both-ul-and-dl
+}
+
+UL-DPDCH-Indicator-For-E-DCH-Operation ::= ENUMERATED {
+ ul-DPDCH-present,
+ ul-DPDCH-not-present
+}
+
+Uplink-Compressed-Mode-Method ::= ENUMERATED {
+ sFdiv2,
+ higher-layer-scheduling,
+ ...
+}
+
+UL-Timeslot-Information ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationItem
+
+UL-Timeslot-InformationItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tFCI-Presence TFCI-Presence,
+ uL-Code-InformationList TDD-UL-Code-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-TimeslotLCR-Information ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-TimeslotLCR-InformationItem
+
+UL-TimeslotLCR-InformationItem ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tFCI-Presence TFCI-Presence,
+ uL-Code-InformationList TDD-UL-Code-LCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-TimeslotLCR-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-TimeslotLCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-PLCCH-Information-UL-TimeslotLCR-Info CRITICALITY reject EXTENSION PLCCHinformation PRESENCE optional },
+ ...
+}
+
+UL-Timeslot768-Information ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot768-InformationItem
+
+UL-Timeslot768-InformationItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tFCI-Presence TFCI-Presence,
+ uL-Code-InformationList TDD-UL-Code-768-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot768-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot768-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCCH-SlotFormat ::= INTEGER (0..5,...)
+
+UL-SIR ::= INTEGER (-82..173)
+-- According to mapping in [16]
+
+UL-FP-Mode ::= ENUMERATED {
+ normal,
+ silent,
+ ...
+}
+
+UL-PhysCH-SF-Variation ::= ENUMERATED {
+ sf-variation-supported,
+ sf-variation-not-supported
+}
+
+UL-ScramblingCode ::= SEQUENCE {
+ uL-ScramblingCodeNumber UL-ScramblingCodeNumber,
+ uL-ScramblingCodeLength UL-ScramblingCodeLength,
+ iE-Extensions ProtocolExtensionContainer { { UL-ScramblingCode-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-ScramblingCode-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-ScramblingCodeNumber ::= INTEGER (0..16777215)
+
+UL-ScramblingCodeLength ::= ENUMERATED {
+ short,
+ long
+}
+
+UL-Synchronisation-Parameters-LCR ::= SEQUENCE {
+ uL-Synchronisation-StepSize UL-Synchronisation-StepSize,
+ uL-Synchronisation-Frequency UL-Synchronisation-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { UL-Synchronisation-Parameters-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-Synchronisation-Parameters-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Synchronisation-StepSize ::= INTEGER (1..8)
+
+UL-Synchronisation-Frequency ::= INTEGER (1..8)
+
+UPPCHPositionLCR ::= INTEGER (0..127)
+
+UL-TimeSlot-ISCP-Info ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-TimeSlot-ISCP-InfoItem
+
+UL-TimeSlot-ISCP-InfoItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ iSCP UL-TimeslotISCP-Value,
+ iE-Extensions ProtocolExtensionContainer { { UL-TimeSlot-ISCP-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+UL-TimeSlot-ISCP-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-TimeSlot-ISCP-LCR-Info ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-TimeSlot-ISCP-LCR-InfoItem
+
+UL-TimeSlot-ISCP-LCR-InfoItem ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ iSCP UL-TimeslotISCP-Value,
+ iE-Extensions ProtocolExtensionContainer { { UL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+UL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UpPTSInterference-For-CellPortion-Value ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF UpPTSInterference-For-CellPortion-Value-Item
+
+UpPTSInterference-For-CellPortion-Value-Item ::= SEQUENCE{
+ cellPortionLCRID CellPortionLCRID,
+ upPTSInterferenceValue UpPTSInterferenceValue,
+ iE-Extensions ProtocolExtensionContainer { { UpPTSInterference-For-CellPortion-Value-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UpPTSInterference-For-CellPortion-Value-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UpPTSInterferenceValue ::= INTEGER (0..127,...)
+
+Unidirectional-DCH-Indicator ::= ENUMERATED {
+ downlink-DCH-only,
+ uplink-DCH-only
+}
+
+USCH-Information ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-InformationItem
+
+USCH-InformationItem ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ cCTrCH-ID CCTrCH-ID, -- UL CCTrCH in which the USCH is mapped
+ transportFormatSet TransportFormatSet, -- For USCH
+ allocationRetentionPriority AllocationRetentionPriority,
+ iE-Extensions ProtocolExtensionContainer { { USCH-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCH-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+{ ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+USCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-InformationResponseItem
+
+USCH-InformationResponseItem ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { USCH-InformationResponseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCH-InformationResponseItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-TimeslotISCP-For-CellPortion-Value ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCellLCR)) OF UL-TimeslotISCP-For-CellPortion-Value-Item
+
+UL-TimeslotISCP-For-CellPortion-Value-Item ::= SEQUENCE{
+ cellPortionLCRID CellPortionLCRID,
+ uL-TimeslotISCP-Value UL-TimeslotISCP-Value,
+ iE-Extensions ProtocolExtensionContainer { { UL-TimeslotISCP-For-CellPortion-Value-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-TimeslotISCP-For-CellPortion-Value-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-TimeslotISCP-Value ::= INTEGER (0..127)
+-- According to mapping in [23]
+
+UL-TimeslotISCP-Value-IncrDecrThres ::= INTEGER (0..126)
+
+USCH-ID ::= INTEGER (0..255)
+
+Uu-ActivationState ::= ENUMERATED {
+ activated,
+ de-activated,
+ ...
+}
+
+-- ==========================================
+-- V
+-- ==========================================
+
+-- ==========================================
+-- W
+-- ==========================================
+
+-- ==========================================
+-- X
+-- ==========================================
+
+-- ==========================================
+-- Y
+-- ==========================================
+
+-- ==========================================
+-- Z
+-- ==========================================
+
+END
diff --git a/epan/dissectors/asn1/nbap/NBAP-PDU-Contents.asn b/epan/dissectors/asn1/nbap/NBAP-PDU-Contents.asn
new file mode 100644
index 00000000..b9786630
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/NBAP-PDU-Contents.asn
@@ -0,0 +1,12119 @@
+-- NBAP-PDU-Contents.asn
+--
+-- Taken from 3GPP TS 25.433 V9.2.0 (2010-03)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.433
+--
+-- 9.3.3 PDU Definitions
+--
+
+-- **************************************************************
+--
+-- PDU definitions for NBAP.
+--
+-- **************************************************************
+
+NBAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) nbap (2) version1 (1) nbap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Active-Pattern-Sequence-Information,
+ AddorDeleteIndicator,
+ AICH-Power,
+ AICH-TransmissionTiming,
+ AllocationRetentionPriority,
+ AlternativeFormatReportingIndicator,
+ AvailabilityStatus,
+ BCCH-ModificationTime,
+ BindingID,
+ BlockingPriorityIndicator,
+ BroadcastReference,
+ SCTD-Indicator,
+ Cause,
+ CCTrCH-ID,
+ Cell-ERNTI-Status-Information,
+ CellParameterID,
+ CellPortionID,
+ CellSyncBurstCode,
+ CellSyncBurstCodeShift,
+ CellSyncBurstRepetitionPeriod,
+ CellSyncBurstSIR,
+ CellSyncBurstTiming,
+ CellSyncBurstTimingThreshold,
+ CellPortion-CapabilityLCR,
+ CFN,
+ ChipOffset,
+ C-ID,
+ Closedlooptimingadjustmentmode,
+ CommonChannelsCapacityConsumptionLaw,
+ Compressed-Mode-Deactivation-Flag,
+ Common-MACFlows-to-DeleteFDD,
+ CommonMeasurementAccuracy,
+ CommonMeasurementType,
+ CommonMeasurementValue,
+ CommonMeasurementValueInformation,
+ CommonPhysicalChannelID,
+ CommonPhysicalChannelID768,
+ Common-EDCH-Capability,
+ Common-E-DCH-HSDPCCH-Capability,
+ Common-EDCH-System-InformationFDD,
+ Common-EDCH-System-Information-ResponseFDD,
+ Common-PhysicalChannel-Status-Information,
+ Common-PhysicalChannel-Status-Information768,
+ Common-TransportChannel-Status-Information,
+ CommonTransportChannelID,
+ CommonTransportChannel-InformationResponse,
+ CommunicationControlPortID,
+ ConfigurationGenerationID,
+ ConstantValue,
+ ContinuousPacketConnectivityDTX-DRX-Capability,
+ ContinuousPacketConnectivityDTX-DRX-Information,
+ ContinuousPacketConnectivityHS-SCCH-less-Capability,
+ ContinuousPacketConnectivityHS-SCCH-less-Information,
+ ContinuousPacketConnectivityHS-SCCH-less-Information-Response,
+ ContinuousPacketConnectivity-DRX-CapabilityLCR,
+ ContinuousPacketConnectivity-DRX-InformationLCR,
+ ContinuousPacketConnectivity-DRX-Information-ResponseLCR,
+ CPC-InformationLCR,
+ CPC-Information,
+ CriticalityDiagnostics,
+ CRNC-CommunicationContextID,
+ CSBMeasurementID,
+ CSBTransmissionID,
+ DCH-FDD-Information,
+ DCH-Indicator-For-E-DCH-HSDPA-Operation,
+ DCH-InformationResponse,
+ DCH-ID,
+ FDD-DCHs-to-Modify,
+ TDD-DCHs-to-Modify,
+ DCH-TDD-Information,
+ DedicatedChannelsCapacityConsumptionLaw,
+ DedicatedMeasurementType,
+ DedicatedMeasurementValue,
+ DedicatedMeasurementValueInformation,
+ DelayedActivation,
+ DelayedActivationUpdate,
+ DiversityControlField,
+ DiversityMode,
+ DL-DPCH-SlotFormat,
+ DL-DPCH-TimingAdjustment,
+ DL-or-Global-CapacityCredit,
+ DL-Power,
+ DL-PowerBalancing-Information,
+ DL-PowerBalancing-ActivationIndicator,
+ DLPowerAveragingWindowSize,
+ DL-PowerBalancing-UpdatedIndicator,
+ DL-ScramblingCode,
+ DL-TimeslotISCP,
+ DL-Timeslot-Information,
+ DL-TimeslotLCR-Information,
+ DL-TimeslotISCPInfo,
+ DL-TimeslotISCPInfoLCR,
+ DL-TPC-Pattern01Count,
+ DPC-Mode,
+ DPCH-ID,
+ DPCH-ID768,
+ DSCH-ID,
+ DSCH-InformationResponse,
+ DSCH-TDD-Information,
+ Dual-Band-Capability-Info,
+ DwPCH-Power,
+ E-AGCH-FDD-Code-Information,
+ E-AI-Capability,
+ E-DCH-Capability,
+ E-DCHCapacityConsumptionLaw,
+ E-DCH-TTI2ms-Capability,
+ E-DCH-SF-Capability,
+ E-DCH-HARQ-Combining-Capability,
+ E-DCH-FDD-DL-Control-Channel-Information,
+ E-DCH-FDD-Information,
+ E-DCH-FDD-Information-Response,
+ E-DCH-FDD-Information-to-Modify,
+ E-DCH-FDD-Update-Information,
+ E-DCH-MACdFlow-ID,
+ E-DCH-MACdFlows-Information,
+ E-DCH-MACdFlows-to-Delete,
+ E-DCH-MACdPDU-SizeCapability,
+ E-DCH-RL-Indication,
+ E-DCH-Serving-Cell-Change-Info-Response,
+ E-DPCCH-PO,
+ E-RGCH-E-HICH-FDD-Code-Information,
+ E-RGCH-2-IndexStepThreshold,
+ E-RGCH-3-IndexStepThreshold,
+ End-Of-Audit-Sequence-Indicator,
+ Enhanced-FACH-Capability,
+ Enhanced-PCH-Capability,
+ Enhanced-UE-DRX-Capability,
+ Enhanced-UE-DRX-InformationFDD,
+ E-TFCS-Information,
+ E-TTI,
+ ExtendedPropagationDelay,
+ Fast-Reconfiguration-Mode,
+ Fast-Reconfiguration-Permission,
+ FDD-DL-ChannelisationCodeNumber,
+ FDD-DL-CodeInformation,
+ FDD-S-CCPCH-FrameOffset,
+ FDD-S-CCPCH-Offset,
+ FDD-TPC-DownlinkStepSize,
+ F-DPCH-Capability,
+ F-DPCH-SlotFormat,
+ F-DPCH-SlotFormatCapability,
+ FirstRLS-Indicator,
+ FNReportingIndicator,
+ FPACH-Power,
+ FrameAdjustmentValue,
+ FrameHandlingPriority,
+ FrameOffset,
+ HARQ-Info-for-E-DCH,
+ HSDPA-Capability,
+ HSDSCH-Common-System-InformationFDD,
+ HSDSCH-Common-System-Information-ResponseFDD,
+ HSDSCH-Configured-Indicator,
+ HSDSCH-Paging-System-InformationFDD,
+ HSDSCH-Paging-System-Information-ResponseFDD,
+ HS-DSCH-Serving-Cell-Change-Info,
+ HS-DSCH-Serving-Cell-Change-Info-Response,
+ HSDSCH-MACdPDU-SizeCapability,
+ HS-PDSCH-FDD-Code-Information,
+ HS-SCCH-ID,
+ HS-SCCH-FDD-Code-Information,
+ HS-SICH-ID,
+ IB-OC-ID,
+ IB-SG-DATA,
+ IB-SG-POS,
+ IB-SG-REP,
+ IB-Type,
+ InformationExchangeID,
+ InformationReportCharacteristics,
+ InformationType,
+ Initial-DL-DPCH-TimingAdjustment-Allowed,
+ InnerLoopDLPCStatus,
+ IPDL-FDD-Parameters,
+ IPDL-TDD-Parameters,
+ IPDL-Indicator,
+ IPDL-TDD-Parameters-LCR,
+ IPMulticastIndication,
+ LimitedPowerIncrease,
+ Local-Cell-ID,
+ MaximumDL-PowerCapability,
+ Maximum-Target-ReceivedTotalWideBandPower,
+ MaximumTransmissionPower,
+ MaxNrOfUL-DPDCHs,
+ Max-Set-E-DPDCHs,
+ MaxPRACH-MidambleShifts,
+ Max-UE-DTX-Cycle,
+ MBMS-Capability,
+ MeasurementFilterCoefficient,
+ MeasurementID,
+ MeasurementRecoveryBehavior,
+ MeasurementRecoveryReportingIndicator,
+ MeasurementRecoverySupportIndicator,
+ MICH-CFN,
+ MICH-Mode,
+ MidambleAllocationMode,
+ MidambleShiftAndBurstType,
+ MidambleShiftAndBurstType768,
+ MidambleShiftLCR,
+ MinimumDL-PowerCapability,
+ MinSpreadingFactor,
+ MIMO-Capability,
+ MIMO-PilotConfiguration,
+ MinUL-ChannelisationCodeLength,
+ Modification-Period,
+ MultiplexingPosition,
+ NCyclesPerSFNperiod,
+ NRepetitionsPerCyclePeriod,
+ N-INSYNC-IND,
+ N-OUTSYNC-IND,
+ NeighbouringCellMeasurementInformation,
+ NeighbouringFDDCellMeasurementInformation,
+ NeighbouringTDDCellMeasurementInformation,
+ NI-Information,
+ NodeB-CommunicationContextID,
+ NotificationIndicatorLength,
+ NumberOfReportedCellPortions,
+ NumberOfReportedCellPortionsLCR,
+ NSubCyclesPerCyclePeriod,
+ PagingIndicatorLength,
+ Paging-MACFlows-to-DeleteFDD,
+ PayloadCRC-PresenceIndicator,
+ PCCPCH-Power,
+ PDSCHSet-ID,
+ PDSCH-ID,
+ PDSCH-ID768,
+ PICH-Mode,
+ PICH-Power,
+ PLCCHinformation,
+ PowerAdjustmentType,
+ PowerOffset,
+ PowerRaiseLimit,
+ PRACH-Midamble,
+ PreambleSignatures,
+ PreambleThreshold,
+ PredictedSFNSFNDeviationLimit,
+ PredictedTUTRANGPSDeviationLimit,
+ PrimaryCPICH-Power,
+ Primary-CPICH-Usage-for-Channel-Estimation,
+ PrimaryScramblingCode,
+ PropagationDelay,
+ SCH-TimeSlot,
+ PunctureLimit,
+ PUSCHSet-ID,
+ PUSCH-ID,
+ QE-Selector,
+ RACH-SlotFormat,
+ RACH-SubChannelNumbers,
+ Reference-ReceivedTotalWideBandPower,
+ Reference-ReceivedTotalWideBandPowerReporting,
+ Reference-ReceivedTotalWideBandPowerSupportIndicator,
+ Maximum-Target-ReceivedTotalWideBandPower-LCR,
+ ReferenceClockAvailability,
+ ReferenceSFNoffset,
+ RepetitionLength,
+ RepetitionPeriod,
+ ReportCharacteristics,
+ RequestedDataValue,
+ RequestedDataValueInformation,
+ ResourceOperationalState,
+ RL-Set-ID,
+ RL-ID,
+ RL-Specific-DCH-Info,
+ RL-Specific-E-DCH-Info,
+ Received-total-wide-band-power-Value,
+ AdjustmentPeriod,
+ ScaledAdjustmentRatio,
+ MaxAdjustmentStep,
+ RNC-ID,
+ ScramblingCodeNumber,
+ Secondary-CPICH-Information-Change,
+ SecondaryCCPCH-SlotFormat,
+ Segment-Type,
+ Semi-PersistentScheduling-CapabilityLCR,
+ Serving-E-DCH-RL-ID,
+ SixteenQAM-UL-Capability,
+ SixtyfourQAM-DL-Capability,
+ SixtyfourQAM-DL-MIMO-Combined-Capability,
+ SFN,
+ SFNSFNChangeLimit,
+ SFNSFNDriftRate,
+ SFNSFNDriftRateQuality,
+ SFNSFNQuality,
+ ShutdownTimer,
+ SIB-Originator,
+ SpecialBurstScheduling,
+ SignallingBearerRequestIndicator,
+ Start-Of-Audit-Sequence-Indicator,
+ STTD-Indicator,
+ SSDT-SupportIndicator,
+ E-DPCCH-Power-Boosting-Capability,
+ SyncCase,
+ SYNCDlCodeId,
+ SyncFrameNumber,
+ SynchronisationReportCharacteristics,
+ SynchronisationReportType,
+ Target-NonServing-EDCH-To-Total-EDCH-Power-Ratio,
+ T-Cell,
+ T-RLFAILURE,
+ TDD-ChannelisationCode,
+ TDD-ChannelisationCodeLCR,
+ TDD-ChannelisationCode768,
+ TDD-DL-Code-LCR-Information,
+ TDD-DPCHOffset,
+ TDD-TPC-DownlinkStepSize,
+ TDD-PhysicalChannelOffset,
+ TDD-UL-Code-LCR-Information,
+ TFCI-Coding,
+ TFCI-Presence,
+ TFCI-SignallingMode,
+ TFCS,
+ TimeSlot,
+ TimeSlotLCR,
+ TimeSlotDirection,
+ TimeSlotStatus,
+ TimingAdjustmentValue,
+ TimingAdvanceApplied,
+ TnlQos,
+ ToAWE,
+ ToAWS,
+ TransmissionDiversityApplied,
+ TransmitDiversityIndicator,
+ TransmissionGapPatternSequenceCodeInformation,
+ Transmission-Gap-Pattern-Sequence-Information,
+ TransportBearerRequestIndicator,
+ TransportFormatSet,
+ TransportLayerAddress,
+ TSTD-Indicator,
+ TUTRANGPS,
+ TUTRANGPSChangeLimit,
+ TUTRANGPSDriftRate,
+ TUTRANGPSDriftRateQuality,
+ TUTRANGPSQuality,
+ UARFCN,
+ UC-Id,
+ USCH-Information,
+ USCH-InformationResponse,
+ UL-CapacityCredit,
+ UL-DPCCH-SlotFormat,
+ UL-DPDCH-Indicator-For-E-DCH-Operation,
+ UL-SIR,
+ UL-FP-Mode,
+ UL-PhysCH-SF-Variation,
+ UL-ScramblingCode,
+ UL-Timeslot-Information,
+ UL-TimeslotLCR-Information,
+ UL-TimeSlot-ISCP-Info,
+ UL-TimeSlot-ISCP-LCR-Info,
+ UL-TimeslotISCP-Value,
+ UL-TimeslotISCP-Value-IncrDecrThres,
+ USCH-ID,
+ HSDSCH-FDD-Information,
+ HSDSCH-FDD-Information-Response,
+ HSDSCH-Information-to-Modify,
+ HSDSCH-Information-to-Modify-Unsynchronised,
+ HSDSCH-MACdFlow-ID,
+ HSDSCH-MACdFlows-Information,
+ HSDSCH-MACdFlows-to-Delete,
+ HSDSCH-RNTI,
+ HSDSCH-TDD-Information,
+ HSDSCH-TDD-Information-Response,
+ PrimaryCCPCH-RSCP,
+ HSDSCH-FDD-Update-Information,
+ HSDSCH-TDD-Update-Information,
+ UL-Synchronisation-Parameters-LCR,
+ TDD-DL-DPCH-TimeSlotFormat-LCR,
+ TDD-UL-DPCH-TimeSlotFormat-LCR,
+ TDD-TPC-UplinkStepSize-LCR,
+ CellSyncBurstTimingLCR,
+ TimingAdjustmentValueLCR,
+ PrimaryCCPCH-RSCP-Delta,
+ SynchronisationIndicator,
+ TDD-UL-Code-768-Information,
+ UL-Timeslot768-Information,
+ TDD-DL-Code-768-Information,
+ DL-Timeslot768-Information,
+ E-DCH-TDD-CapacityConsumptionLaw,
+ E-DCH-Information,
+ E-DCH-Information-Response,
+ E-DCH-Information-Reconfig,
+ LTGI-Presence,
+ SNPL-Reporting-Type,
+ E-AGCH-Id,
+ E-HICH-TimeOffset,
+ Maximum-Generated-ReceivedTotalWideBandPowerInOtherCells,
+ E-DCH-768-Information,
+ E-DCH-768-Information-Reconfig,
+ RTWP-ReportingIndicator,
+ RTWP-CellPortion-ReportingIndicator,
+ MAChs-ResetIndicator,
+ E-DCH-LCR-Information,
+ E-DCH-LCR-Information-Reconfig,
+ E-HICH-ID-TDD,
+ E-HICH-TimeOffsetLCR,
+ E-HICH-Type,
+ ModulationPO-MBSFN,
+ Secondary-CCPCH-SlotFormat-Extended,
+ ModulationMBSFN,
+ MBSFN-Only-Mode-Indicator,
+ MBSFN-Only-Mode-Capability,
+ UPPCHPositionLCR,
+ ControlGAP,
+ IdleIntervalInformation,
+ Extended-HS-SICH-ID,
+ Extended-HS-SCCH-ID,
+ TimeslotLCR-Extension,
+ Extended-E-HICH-ID-TDD,
+ AdditionalTimeSlotListLCR,
+ AdditionalMeasurementValueList,
+ HS-SCCH-ID-LCR,
+ Paging-MACFlows-to-DeleteLCR,
+ HSDSCH-Paging-System-InformationLCR,
+ HSDSCH-Paging-System-Information-ResponseLCR,
+ HSDSCH-Common-System-InformationLCR,
+ HSDSCH-Common-System-Information-ResponseLCR,
+ Enhanced-UE-DRX-InformationLCR,
+ E-DCH-MACdFlow-ID-LCR,
+ Common-EDCH-System-InformationLCR,
+ Common-EDCH-System-Information-ResponseLCR,
+ Common-MACFlows-to-DeleteLCR,
+ DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst,
+ E-DCH-MACdFlows-to-DeleteLCR,
+ HSDSCH-PreconfigurationSetup,
+ HSDSCH-PreconfigurationInfo,
+ NoOfTargetCellHS-SCCH-Order,
+ EnhancedHSServingCC-Abort,
+ GANSS-Time-ID,
+ HS-DSCH-FDD-Secondary-Serving-Update-Information,
+ HS-DSCH-Secondary-Serving-Remove,
+ HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised,
+ HS-DSCH-Secondary-Serving-Information-To-Modify,
+ HS-DSCH-Secondary-Serving-Cell-Change-Information-Response,
+ HS-DSCH-FDD-Secondary-Serving-Information-Response,
+ HS-DSCH-FDD-Secondary-Serving-Information,
+ Multi-Cell-Capability-Info,
+ MinimumReducedE-DPDCH-GainFactor,
+ IMB-Parameters,
+ E-RNTI,
+ E-DCH-Semi-PersistentScheduling-Information-LCR,
+ HS-DSCH-Semi-PersistentScheduling-Information-LCR,
+ Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext,
+ HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR,
+ E-DCH-Semi-PersistentScheduling-Information-ResponseLCR,
+ HSSICH-ReferenceSignal-InformationLCR,
+ UE-Selected-MBMS-Service-Information,
+ UE-AggregateMaximumBitRate,
+ HSSICH-ReferenceSignal-InformationModifyLCR,
+ TimeSlotMeasurementValueListLCR,
+ MIMO-PowerOffsetForS-CPICHCapability,
+ MIMO-PilotConfigurationExtension,
+ TxDiversityOnDLControlChannelsByMIMOUECapability,
+ Single-Stream-MIMO-Capability,
+ ActivationInformation,
+ Cell-Capability-Container,
+ DormantModeIndicator,
+ Additional-EDCH-Setup-Info,
+ Additional-EDCH-Cell-Information-Response-List,
+ Additional-EDCH-Cell-Information-To-Add-List,
+ Additional-EDCH-FDD-Update-Information,
+ TS0-CapabilityLCR,
+ Out-of-Sychronization-Window,
+ DCH-MeasurementOccasion-Information,
+ Additional-EDCH-Cell-Information-Response-RLReconf-List,
+ Setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency,
+ Additional-EDCH-Cell-Information-Response-RL-Add-List,
+ PrecodingWeightSetRestriction
+
+
+FROM NBAP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-Single-Container{},
+ ProtocolIE-ContainerList{},
+ NBAP-PRIVATE-IES,
+ NBAP-PROTOCOL-IES,
+ NBAP-PROTOCOL-EXTENSION
+FROM NBAP-Containers
+
+ id-Active-Pattern-Sequence-Information,
+ id-Additional-S-CCPCH-Parameters-CTCH-ReconfRqstTDD,
+ id-Additional-S-CCPCH-Parameters-CTCH-SetupRqstTDD,
+ id-Additional-S-CCPCH-LCR-Parameters-CTCH-ReconfRqstTDD,
+ id-Additional-S-CCPCH-LCR-Parameters-CTCH-SetupRqstTDD,
+ id-AdjustmentRatio,
+ id-AICH-Information,
+ id-AICH-ParametersListIE-CTCH-ReconfRqstFDD,
+ id-AlternativeFormatReportingIndicator,
+ id-BCH-Information,
+ id-BCCH-ModificationTime,
+ id-bindingID,
+ id-BlockingPriorityIndicator,
+ id-BroadcastReference,
+ id-Cause,
+ id-CauseLevel-PSCH-ReconfFailure,
+ id-CauseLevel-RL-AdditionFailureFDD,
+ id-CauseLevel-RL-AdditionFailureTDD,
+ id-CauseLevel-RL-ReconfFailure,
+ id-CauseLevel-RL-SetupFailureFDD,
+ id-CauseLevel-RL-SetupFailureTDD,
+ id-CauseLevel-SyncAdjustmntFailureTDD,
+ id-CCP-InformationItem-AuditRsp,
+ id-CCP-InformationList-AuditRsp,
+ id-CCP-InformationItem-ResourceStatusInd,
+ id-CCTrCH-InformationItem-RL-FailureInd,
+ id-CCTrCH-InformationItem-RL-RestoreInd,
+ id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD,
+ id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD,
+ id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD,
+ id-CellAdjustmentInfo-SyncAdjustmntRqstTDD,
+ id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD,
+ id-Cell-ERNTI-Status-Information,
+ id-Cell-InformationItem-AuditRsp,
+ id-Cell-InformationItem-ResourceStatusInd,
+ id-Cell-InformationList-AuditRsp,
+ id-CellParameterID,
+ id-CellPortion-InformationItem-Cell-SetupRqstFDD,
+ id-CellPortion-InformationList-Cell-SetupRqstFDD,
+ id-CellPortion-InformationItem-Cell-ReconfRqstFDD,
+ id-CellPortion-InformationList-Cell-ReconfRqstFDD,
+ id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD,
+ id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD,
+ id-cellSyncBurstRepetitionPeriod,
+ id-CellSyncBurstTransReconfiguration-CellSyncReconfRqstTDD,
+ id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD,
+ id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD,
+ id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD,
+ id-CellSyncBurstInfoList-CellSyncReconfRqstTDD,
+ id-CellSyncInfo-CellSyncReprtTDD,
+ id-CellPortion-CapabilityLCR,
+ id-CFN,
+ id-CFNReportingIndicator,
+ id-C-ID,
+ id-Closed-Loop-Timing-Adjustment-Mode,
+ id-Common-EDCH-Capability,
+ id-Common-E-DCH-HSDPCCH-Capability,
+ id-Common-EDCH-MACdFlows-to-DeleteFDD,
+ id-Common-EDCH-System-InformationFDD,
+ id-Common-EDCH-System-Information-ResponseFDD,
+ id-Common-MACFlows-to-DeleteFDD,
+ id-CommonMeasurementAccuracy,
+ id-CommonMeasurementObjectType-CM-Rprt,
+ id-CommonMeasurementObjectType-CM-Rqst,
+ id-CommonMeasurementObjectType-CM-Rsp,
+ id-CommonMeasurementType,
+ id-CommonPhysicalChannelID,
+ id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD,
+ id-CommonPhysicalChannelType-CTCH-SetupRqstFDD,
+ id-CommonPhysicalChannelType-CTCH-SetupRqstTDD,
+ id-Common-UL-MACFlows-to-DeleteFDD,
+ id-CommunicationContextInfoItem-Reset,
+ id-CommunicationControlPortID,
+ id-CommunicationControlPortInfoItem-Reset,
+ id-Compressed-Mode-Deactivation-Flag,
+ id-ConfigurationGenerationID,
+ id-ContinuousPacketConnectivityDTX-DRX-Capability,
+ id-ContinuousPacketConnectivityDTX-DRX-Information,
+ id-ContinuousPacketConnectivityHS-SCCH-less-Capability,
+ id-ContinuousPacketConnectivityHS-SCCH-less-Information,
+ id-ContinuousPacketConnectivityHS-SCCH-less-Information-Response,
+ id-ContinuousPacketConnectivity-DRX-CapabilityLCR,
+ id-ContinuousPacketConnectivity-DRX-InformationLCR,
+ id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR,
+ id-CPC-InformationLCR,
+ id-CPC-Information,
+ id-CRNC-CommunicationContextID,
+ id-CriticalityDiagnostics,
+ id-CSBTransmissionID,
+ id-CSBMeasurementID,
+ id-DCHs-to-Add-FDD,
+ id-DCHs-to-Add-TDD,
+ id-DCH-AddList-RL-ReconfPrepTDD,
+ id-DCH-DeleteList-RL-ReconfPrepFDD,
+ id-DCH-DeleteList-RL-ReconfPrepTDD,
+ id-DCH-DeleteList-RL-ReconfRqstFDD,
+ id-DCH-DeleteList-RL-ReconfRqstTDD,
+ id-DCH-FDD-Information,
+ id-DCH-TDD-Information,
+ id-DCH-Indicator-For-E-DCH-HSDPA-Operation,
+ id-DCH-InformationResponse,
+ id-DCH-RearrangeList-Bearer-RearrangeInd,
+ id-DSCH-RearrangeList-Bearer-RearrangeInd,
+ id-FDD-DCHs-to-Modify,
+ id-FDD-S-CCPCH-FrameOffset-CTCH-SetupRqstFDD,
+ id-TDD-DCHs-to-Modify,
+ id-DedicatedMeasurementObjectType-DM-Rprt,
+ id-DedicatedMeasurementObjectType-DM-Rqst,
+ id-DedicatedMeasurementObjectType-DM-Rsp,
+ id-DedicatedMeasurementType,
+ id-DelayedActivation,
+ id-DelayedActivationList-RL-ActivationCmdFDD,
+ id-DelayedActivationList-RL-ActivationCmdTDD,
+ id-DelayedActivationInformation-RL-ActivationCmdFDD,
+ id-DelayedActivationInformation-RL-ActivationCmdTDD,
+ id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD,
+ id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD,
+ id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD,
+ id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD,
+ id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD,
+ id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD,
+ id-DL-CCTrCH-InformationList-RL-SetupRqstTDD,
+ id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD,
+ id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD,
+ id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD,
+ id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD,
+ id-DL-DPCH-InformationItem-RL-AdditionRqstTDD,
+ id-DL-DPCH-InformationList-RL-SetupRqstTDD,
+ id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD,
+ id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD,
+ id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD,
+ id-DL-DPCH-Information-RL-ReconfPrepFDD,
+ id-DL-DPCH-Information-RL-ReconfRqstFDD,
+ id-DL-DPCH-Information-RL-SetupRqstFDD,
+ id-DL-DPCH-TimingAdjustment,
+ id-DL-DPCH-Power-Information-RL-ReconfPrepFDD,
+ id-DL-PowerBalancing-Information,
+ id-DL-PowerBalancing-ActivationIndicator,
+ id-DL-ReferencePowerInformationItem-DL-PC-Rqst,
+ id-DL-PowerBalancing-UpdatedIndicator,
+ id-DLReferencePower,
+ id-DLReferencePowerList-DL-PC-Rqst,
+ id-DL-TPC-Pattern01Count,
+ id-DPC-Mode,
+ id-DPCHConstant,
+ id-DSCHs-to-Add-TDD,
+ id-DSCH-Information-DeleteList-RL-ReconfPrepTDD,
+ id-DSCH-Information-ModifyList-RL-ReconfPrepTDD,
+ id-DSCH-InformationResponse,
+ id-DSCH-TDD-Information,
+ id-Dual-Band-Capability-Info,
+ id-E-AGCH-And-E-RGCH-E-HICH-FDD-Scrambling-Code,
+ id-E-AI-Capability,
+ id-E-AGCH-FDD-Code-Information,
+ id-E-DCH-Capability,
+ id-E-DCH-TTI2ms-Capability,
+ id-E-DCH-SF-Capability,
+ id-E-DCH-HARQ-Combining-Capability,
+ id-E-DCH-FDD-DL-Control-Channel-Information,
+ id-E-DCH-FDD-Information,
+ id-E-DCH-FDD-Information-Response,
+ id-E-DCH-FDD-Information-to-Modify,
+ id-E-DCH-FDD-Update-Information,
+ id-E-DCH-MACdFlows-to-Add,
+ id-E-DCH-MACdFlows-to-Delete,
+ id-E-DCH-RearrangeList-Bearer-RearrangeInd,
+ id-E-DCH-Resources-Information-AuditRsp,
+ id-E-DCH-Resources-Information-ResourceStatusInd,
+ id-E-DCH-RL-Indication,
+ id-E-DCH-RL-Set-ID,
+ id-E-DCH-Serving-Cell-Change-Info-Response,
+ id-E-DCH-CapacityConsumptionLaw,
+ id-E-DPCH-Information-RL-ReconfPrepFDD,
+ id-E-DPCH-Information-RL-ReconfRqstFDD,
+ id-E-DPCH-Information-RL-SetupRqstFDD,
+ id-E-DPCH-Information-RL-AdditionReqFDD,
+ id-E-RGCH-E-HICH-FDD-Code-Information,
+ id-ERACH-CM-Rqst,
+ id-ERACH-CM-Rsp,
+ id-ERACH-CM-Rprt,
+ id-End-Of-Audit-Sequence-Indicator,
+ id-Enhanced-FACH-Capability,
+ id-Enhanced-PCH-Capability,
+ id-Enhanced-UE-DRX-Capability,
+ id-Enhanced-UE-DRX-InformationFDD,
+ id-ExtendedPropagationDelay,
+ id-FACH-Information,
+ id-FACH-ParametersList-CTCH-ReconfRqstTDD,
+ id-FACH-ParametersList-CTCH-SetupRsp,
+ id-FACH-ParametersListIE-CTCH-ReconfRqstFDD,
+ id-FACH-ParametersListIE-CTCH-SetupRqstFDD,
+ id-FACH-ParametersListIE-CTCH-SetupRqstTDD,
+ id-Fast-Reconfiguration-Mode,
+ id-Fast-Reconfiguration-Permission,
+ id-F-DPCH-Capability,
+ id-F-DPCH-Information-RL-ReconfPrepFDD,
+ id-F-DPCH-Information-RL-SetupRqstFDD,
+ id-F-DPCH-SlotFormat,
+ id-F-DPCH-SlotFormatCapability,
+ id-HSDPA-And-EDCH-CellPortion-Information-PSCH-ReconfRqst,
+ id-HSDSCH-Configured-Indicator,
+ id-HS-DSCH-Serving-Cell-Change-Info,
+ id-HS-DSCH-Serving-Cell-Change-Info-Response,
+ id-IndicationType-ResourceStatusInd,
+ id-InformationExchangeID,
+ id-InformationExchangeObjectType-InfEx-Rqst,
+ id-InformationExchangeObjectType-InfEx-Rsp,
+ id-InformationExchangeObjectType-InfEx-Rprt,
+ id-InformationReportCharacteristics,
+ id-InformationType,
+ id-InitDL-Power,
+ id-Initial-DL-DPCH-TimingAdjustment,
+ id-Initial-DL-DPCH-TimingAdjustment-Allowed,
+ id-InnerLoopDLPCStatus,
+ id-IntStdPhCellSyncInfoItem-CellSyncReprtTDD,
+ id-IPDLParameter-Information-Cell-ReconfRqstFDD,
+ id-IPDLParameter-Information-Cell-SetupRqstFDD,
+ id-IPDLParameter-Information-Cell-ReconfRqstTDD,
+ id-IPDLParameter-Information-Cell-SetupRqstTDD,
+ id-IPMulticastIndication,
+ id-LateEntranceCellSyncInfoItem-CellSyncReprtTDD,
+ id-Limited-power-increase-information-Cell-SetupRqstFDD,
+ id-Local-Cell-ID,
+ id-Local-Cell-Group-InformationItem-AuditRsp,
+ id-Local-Cell-Group-InformationItem-ResourceStatusInd,
+ id-Local-Cell-Group-InformationItem2-ResourceStatusInd,
+ id-Local-Cell-Group-InformationList-AuditRsp,
+ id-Local-Cell-InformationItem-AuditRsp,
+ id-Local-Cell-InformationItem-ResourceStatusInd,
+ id-Local-Cell-InformationItem2-ResourceStatusInd,
+ id-Local-Cell-InformationList-AuditRsp,
+ id-AdjustmentPeriod,
+ id-MaxAdjustmentStep,
+ id-MaximumTransmissionPower,
+ id-Max-UE-DTX-Cycle,
+ id-MeasurementFilterCoefficient,
+ id-MeasurementID,
+ id-MeasurementRecoveryBehavior,
+ id-MeasurementRecoveryReportingIndicator,
+ id-MeasurementRecoverySupportIndicator,
+ id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst,
+ id-MBMS-Capability,
+ id-MICH-CFN,
+ id-MICH-Information-AuditRsp,
+ id-MICH-Information-ResourceStatusInd,
+ id-MICH-Parameters-CTCH-ReconfRqstFDD,
+ id-MICH-Parameters-CTCH-ReconfRqstTDD,
+ id-MICH-Parameters-CTCH-SetupRqstFDD,
+ id-MICH-Parameters-CTCH-SetupRqstTDD,
+ id-MIMO-Capability,
+ id-MIMO-PilotConfiguration,
+ id-Modification-Period,
+ id-multipleRL-dl-DPCH-InformationList,
+ id-multipleRL-dl-DPCH-InformationModifyList,
+ id-multipleRL-dl-CCTrCH-InformationModifyList-RL-ReconfRqstTDD,
+ id-multiple-RL-Information-RL-ReconfPrepTDD,
+ id-multiple-RL-Information-RL-ReconfRqstTDD,
+ id-multipleRL-ul-DPCH-InformationList,
+ id-multipleRL-ul-DPCH-InformationModifyList,
+ id-NCyclesPerSFNperiod,
+ id-NeighbouringCellMeasurementInformation,
+ id-NI-Information-NotifUpdateCmd,
+ id-NodeB-CommunicationContextID,
+ id-NRepetitionsPerCyclePeriod,
+ id-NumberOfReportedCellPortions,
+ id-NumberOfReportedCellPortionsLCR,
+ id-Paging-MACFlows-to-DeleteFDD,
+ id-P-CCPCH-Information,
+ id-P-CPICH-Information,
+ id-P-SCH-Information,
+ id-PCCPCH-Information-Cell-ReconfRqstTDD,
+ id-PCCPCH-Information-Cell-SetupRqstTDD,
+ id-PCH-Parameters-CTCH-ReconfRqstTDD,
+ id-PCH-Parameters-CTCH-SetupRsp,
+ id-PCH-ParametersItem-CTCH-ReconfRqstFDD,
+ id-PCH-ParametersItem-CTCH-SetupRqstFDD,
+ id-PCH-ParametersItem-CTCH-SetupRqstTDD,
+ id-PCH-Information,
+ id-PICH-ParametersItem-CTCH-ReconfRqstFDD,
+ id-PDSCH-Information-AddListIE-PSCH-ReconfRqst,
+ id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst,
+ id-PDSCH-RL-ID,
+ id-PDSCH-Timeslot-Format-PSCH-ReconfRqst-LCR,
+ id-PDSCHSets-AddList-PSCH-ReconfRqst,
+ id-PDSCHSets-DeleteList-PSCH-ReconfRqst,
+ id-PDSCHSets-ModifyList-PSCH-ReconfRqst,
+ id-PICH-Information,
+ id-PICH-Parameters-CTCH-ReconfRqstTDD,
+ id-PICH-ParametersItem-CTCH-SetupRqstTDD,
+ id-PLCCH-Information-AuditRsp,
+ id-PLCCH-Information-ResourceStatusInd,
+ id-PLCCH-Information-RL-ReconfPrepTDDLCR,
+ id-PLCCH-InformationList-AuditRsp,
+ id-PLCCH-InformationList-ResourceStatusInd,
+ id-PLCCH-Parameters-CTCH-ReconfRqstTDD,
+ id-PowerAdjustmentType,
+ id-Power-Local-Cell-Group-choice-CM-Rqst,
+ id-Power-Local-Cell-Group-choice-CM-Rsp,
+ id-Power-Local-Cell-Group-choice-CM-Rprt,
+ id-Power-Local-Cell-Group-InformationItem-AuditRsp,
+ id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd,
+ id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd,
+ id-Power-Local-Cell-Group-InformationList-AuditRsp,
+ id-Power-Local-Cell-Group-InformationList-ResourceStatusInd,
+ id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd,
+ id-Power-Local-Cell-Group-ID,
+ id-PRACH-Information,
+ id-PRACHConstant,
+ id-PRACH-ParametersItem-CTCH-SetupRqstTDD,
+ id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD,
+ id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD,
+ id-PrimaryCCPCH-Information-Cell-SetupRqstFDD,
+ id-PrimaryCPICH-Information-Cell-ReconfRqstFDD,
+ id-PrimaryCPICH-Information-Cell-SetupRqstFDD,
+ id-Primary-CPICH-Usage-for-Channel-Estimation,
+ id-PrimarySCH-Information-Cell-ReconfRqstFDD,
+ id-PrimarySCH-Information-Cell-SetupRqstFDD,
+ id-PrimaryScramblingCode,
+ id-SCH-Information-Cell-ReconfRqstTDD,
+ id-SCH-Information-Cell-SetupRqstTDD,
+ id-PUSCH-Information-AddListIE-PSCH-ReconfRqst,
+ id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst,
+ id-PUSCH-Timeslot-Format-PSCH-ReconfRqst-LCR,
+ id-PUSCHConstant,
+ id-PUSCHSets-AddList-PSCH-ReconfRqst,
+ id-PUSCHSets-DeleteList-PSCH-ReconfRqst,
+ id-PUSCHSets-ModifyList-PSCH-ReconfRqst,
+ id-RACH-Information,
+ id-RACH-Parameters-CTCH-SetupRsp,
+ id-RACH-ParametersItem-CTCH-SetupRqstFDD,
+ id-RACH-ParameterItem-CTCH-SetupRqstTDD,
+ id-ReferenceClockAvailability,
+ id-ReferenceSFNoffset,
+ id-ReportCharacteristics,
+ id-Reporting-Object-RL-FailureInd,
+ id-Reporting-Object-RL-RestoreInd,
+ id-ResetIndicator,
+ id-RL-ID,
+ id-RL-InformationItem-DM-Rprt,
+ id-RL-InformationItem-DM-Rqst,
+ id-RL-InformationItem-DM-Rsp,
+ id-RL-InformationItem-RL-AdditionRqstFDD,
+ id-RL-informationItem-RL-DeletionRqst,
+ id-RL-InformationItem-RL-FailureInd,
+ id-RL-InformationItem-RL-PreemptRequiredInd,
+ id-RL-InformationItem-RL-ReconfPrepFDD,
+ id-RL-InformationItem-RL-ReconfRqstFDD,
+ id-RL-InformationItem-RL-RestoreInd,
+ id-RL-InformationItem-RL-SetupRqstFDD,
+ id-RL-InformationList-RL-AdditionRqstFDD,
+ id-RL-informationList-RL-DeletionRqst,
+ id-RL-InformationList-RL-PreemptRequiredInd,
+ id-RL-InformationList-RL-ReconfPrepFDD,
+ id-RL-InformationList-RL-ReconfRqstFDD,
+ id-RL-InformationList-RL-SetupRqstFDD,
+ id-RL-InformationResponseItem-RL-AdditionRspFDD,
+ id-RL-InformationResponseItem-RL-ReconfReady,
+ id-RL-InformationResponseItem-RL-ReconfRsp,
+ id-RL-InformationResponseItem-RL-SetupRspFDD,
+ id-RL-InformationResponseList-RL-AdditionRspFDD,
+ id-RL-InformationResponseList-RL-ReconfReady,
+ id-RL-InformationResponseList-RL-ReconfRsp,
+ id-RL-InformationResponseList-RL-SetupRspFDD,
+ id-RL-InformationResponse-RL-AdditionRspTDD,
+ id-RL-InformationResponse-RL-SetupRspTDD,
+ id-RL-Information-RL-AdditionRqstTDD,
+ id-RL-Information-RL-ReconfRqstTDD,
+ id-RL-Information-RL-ReconfPrepTDD,
+ id-RL-Information-RL-SetupRqstTDD,
+ id-RL-ReconfigurationFailureItem-RL-ReconfFailure,
+ id-RL-Set-InformationItem-DM-Rprt,
+ id-RL-Set-InformationItem-DM-Rsp,
+ id-RL-Set-InformationItem-RL-FailureInd,
+ id-RL-Set-InformationItem-RL-RestoreInd,
+ id-RL-Specific-DCH-Info,
+ id-RL-Specific-E-DCH-Info,
+ id-S-CCPCH-Information,
+ id-S-CCPCH-InformationListExt-AuditRsp,
+ id-S-CCPCH-InformationListExt-ResourceStatusInd,
+ id-S-CCPCH-LCR-InformationListExt-AuditRsp,
+ id-S-CCPCH-LCR-InformationListExt-ResourceStatusInd,
+ id-S-CPICH-Information,
+ id-SCH-Information,
+ id-S-SCH-Information,
+ id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD,
+ id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD,
+ id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD,
+ id-Secondary-CPICH-Information,
+ id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD,
+ id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD,
+ id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD,
+ id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD,
+ id-Secondary-CPICH-Information-Change,
+ id-SecondarySCH-Information-Cell-ReconfRqstFDD,
+ id-SecondarySCH-Information-Cell-SetupRqstFDD,
+ id-Semi-PersistentScheduling-CapabilityLCR,
+ id-SegmentInformationListIE-SystemInfoUpdate,
+ id-Serving-Cell-Change-CFN,
+ id-Serving-E-DCH-RL-ID,
+ id-SixteenQAM-UL-Capability,
+ id-SixtyfourQAM-DL-Capability,
+ id-SixtyfourQAM-DL-MIMO-Combined-Capability,
+ id-SFN,
+ id-SFNReportingIndicator,
+ id-ShutdownTimer,
+ id-SignallingBearerRequestIndicator,
+ id-Start-Of-Audit-Sequence-Indicator,
+ id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD,
+ id-Successful-RL-InformationRespItem-RL-SetupFailureFDD,
+ id-E-DPCCH-Power-Boosting-Capability,
+ id-Synchronisation-Configuration-Cell-ReconfRqst,
+ id-Synchronisation-Configuration-Cell-SetupRqst,
+ id-SyncCase,
+ id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH,
+ id-SyncFrameNumber,
+ id-SynchronisationReportType,
+ id-SynchronisationReportCharacteristics,
+ id-SyncReportType-CellSyncReprtTDD,
+ id-T-Cell,
+ id-TargetCommunicationControlPortID,
+ id-Transmission-Gap-Pattern-Sequence-Information,
+ id-TimeSlotConfigurationList-Cell-ReconfRqstTDD,
+ id-TimeSlotConfigurationList-Cell-SetupRqstTDD,
+ id-timeslotInfo-CellSyncInitiationRqstTDD,
+ id-TimeslotISCPInfo,
+ id-TimingAdvanceApplied,
+ id-TnlQos,
+ id-TransmissionDiversityApplied,
+ id-transportlayeraddress,
+ id-Tstd-indicator,
+ id-UARFCNforNt,
+ id-UARFCNforNd,
+ id-UARFCNforNu,
+ id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD,
+ id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD,
+ id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD,
+ id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD,
+ id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD,
+ id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD,
+ id-UL-CCTrCH-InformationList-RL-SetupRqstTDD,
+ id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD,
+ id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD,
+ id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD,
+ id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD,
+ id-UL-DPCH-InformationItem-RL-AdditionRqstTDD,
+ id-UL-DPCH-InformationList-RL-SetupRqstTDD,
+ id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD,
+ id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD,
+ id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD,
+ id-UL-DPCH-Information-RL-ReconfPrepFDD,
+ id-UL-DPCH-Information-RL-ReconfRqstFDD,
+ id-UL-DPCH-Information-RL-SetupRqstFDD,
+ id-UL-DPDCH-Indicator-For-E-DCH-Operation,
+ id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD,
+ id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD,
+ id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD,
+ id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD,
+ id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD,
+ id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD,
+ id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD,
+ id-USCH-Information-Add,
+ id-USCH-Information-DeleteList-RL-ReconfPrepTDD,
+ id-USCH-Information-ModifyList-RL-ReconfPrepTDD,
+ id-USCH-InformationResponse,
+ id-USCH-Information,
+ id-USCH-RearrangeList-Bearer-RearrangeInd,
+ id-DL-DPCH-LCR-Information-RL-SetupRqstTDD,
+ id-DwPCH-LCR-Information ,
+ id-DwPCH-LCR-InformationList-AuditRsp,
+ id-DwPCH-LCR-Information-Cell-SetupRqstTDD,
+ id-DwPCH-LCR-Information-Cell-ReconfRqstTDD,
+ id-DwPCH-LCR-Information-ResourceStatusInd,
+ id-maxFACH-Power-LCR-CTCH-SetupRqstTDD,
+ id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD,
+ id-FPACH-LCR-Information,
+ id-FPACH-LCR-Information-AuditRsp,
+ id-FPACH-LCR-InformationList-AuditRsp,
+ id-FPACH-LCR-InformationList-ResourceStatusInd,
+ id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD,
+ id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD,
+ id-PCCPCH-LCR-Information-Cell-SetupRqstTDD,
+ id-PCH-Power-LCR-CTCH-SetupRqstTDD,
+ id-PCH-Power-LCR-CTCH-ReconfRqstTDD,
+ id-PICH-LCR-Parameters-CTCH-SetupRqstTDD,
+ id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD,
+ id-RL-InformationResponse-LCR-RL-SetupRspTDD ,
+ id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD,
+ id-TimeSlot,
+ id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD,
+ id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD,
+ id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD,
+ id-TimeSlotLCR-CM-Rqst,
+ id-UL-DPCH-LCR-Information-RL-SetupRqstTDD,
+ id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD,
+ id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD,
+ id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD,
+ id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD,
+ id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD,
+ id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD,
+ id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD,
+ id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD,
+ id-UL-DPCH-LCR-InformationModify-AddList,
+ id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD,
+ id-UL-SIRTarget,
+ id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst,
+ id-PDSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst,
+ id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst,
+ id-PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst,
+ id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst,
+ id-PUSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst,
+ id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst,
+ id-PUSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst,
+ id-PUSCH-Info-DM-Rqst,
+ id-PUSCH-Info-DM-Rsp,
+ id-PUSCH-Info-DM-Rprt,
+ id-RL-InformationResponse-LCR-RL-AdditionRspTDD,
+ id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD,
+ id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD,
+ id-HS-PDSCH-HS-SCCH-E-AGCH-E-RGCH-E-HICH-MaxPower-PSCH-ReconfRqst,
+ id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst,
+ id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst,
+ id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst,
+ id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst,
+ id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst,
+ id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst,
+ id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst,
+ id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD,
+ id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD,
+ id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD,
+ id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD,
+ id-SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD,
+ id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD,
+ id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD,
+ id-DwPCH-Power,
+ id-AccumulatedClockupdate-CellSyncReprtTDD,
+ id-HSDPA-Capability,
+ id-HSDSCH-FDD-Information,
+ id-HSDSCH-Common-System-InformationFDD,
+ id-HSDSCH-Common-System-Information-ResponseFDD,
+ id-HSDSCH-FDD-Information-Response,
+ id-HSDSCH-Information-to-Modify,
+ id-HSDSCH-Information-to-Modify-Unsynchronised,
+ id-HSDSCH-MACdFlows-to-Add,
+ id-HSDSCH-MACdFlows-to-Delete,
+ id-HSDSCH-Paging-System-InformationFDD,
+ id-HSDSCH-Paging-System-Information-ResponseFDD,
+ id-HSDSCH-RearrangeList-Bearer-RearrangeInd,
+ id-HSDSCH-Resources-Information-AuditRsp,
+ id-HSDSCH-Resources-Information-ResourceStatusInd,
+ id-HSDSCH-RNTI,
+ id-HSDSCH-TDD-Information,
+ id-HSDSCH-TDD-Information-Response,
+ id-HSPDSCH-RL-ID,
+ id-HSSICH-Info-DM-Rprt,
+ id-HSSICH-Info-DM-Rqst,
+ id-HSSICH-Info-DM-Rsp,
+ id-PrimCCPCH-RSCP-DL-PC-RqstTDD,
+ id-HSDSCH-FDD-Update-Information,
+ id-HSDSCH-TDD-Update-Information,
+ id-UL-Synchronisation-Parameters-LCR,
+ id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD,
+ id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD,
+ id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD,
+ id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD,
+ id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD,
+ id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD,
+ id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD,
+ id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD,
+ id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD,
+ id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD,
+ id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD,
+ id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD,
+ id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD,
+ id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD,
+ id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD,
+ id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD,
+ id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD,
+ id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD,
+ id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD,
+ id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD,
+ id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD,
+ id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD,
+ id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD,
+ id-TimingAdjustmentValueLCR,
+ id-PrimaryCCPCH-RSCP-Delta,
+ id-Maximum-Target-ReceivedTotalWideBandPower,
+ id-multiple-DedicatedMeasurementValueList-TDD-DM-Rsp,
+ id-multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp,
+ id-SynchronisationIndicator,
+ id-Reference-ReceivedTotalWideBandPower,
+ id-Reference-ReceivedTotalWideBandPowerReporting,
+ id-Reference-ReceivedTotalWideBandPowerSupportIndicator,
+ id-Maximum-Target-ReceivedTotalWideBandPower-LCR,
+ id-multiple-PUSCH-InfoList-DM-Rsp,
+ id-multiple-PUSCH-InfoList-DM-Rprt,
+ id-Target-NonServing-EDCH-To-Total-EDCH-Power-Ratio,
+ id-multiple-HSSICHMeasurementValueList-TDD-DM-Rsp,
+ id-PCCPCH-768-Information-Cell-SetupRqstTDD,
+ id-SCH-768-Information-Cell-SetupRqstTDD,
+ id-SCH-768-Information-Cell-ReconfRqstTDD,
+ id-PCCPCH-768-Information-Cell-ReconfRqstTDD,
+ id-P-CCPCH-768-Information-AuditRsp,
+ id-PICH-768-Information-AuditRsp,
+ id-PRACH-768-InformationList-AuditRsp,
+ id-SCH-768-Information-AuditRsp,
+ id-MICH-768-Information-AuditRsp,
+ id-CommonPhysicalChannelID768-CommonTrChDeletionReq,
+ id-MICH-768-Parameters-CTCH-ReconfRqstTDD,
+ id-PICH-768-Parameters-CTCH-SetupRqstTDD,
+ id-PICH-768-Parameters-CTCH-ReconfRqstTDD,
+ id-PRACH-768-Parameters-CTCH-SetupRqstTDD,
+ id-S-CCPCH-768-InformationList-AuditRsp,
+ id-S-CCPCH-768-Information-AuditRsp,
+ id-S-CCPCH-768-Parameters-CTCH-SetupRqstTDD,
+ id-S-CCPCH-768-Parameters-CTCH-ReconfRqstTDD,
+ id-S-CCPCH-768-Information-ResourceStatusInd,
+ id-P-CCPCH-768-Information-ResourceStatusInd,
+ id-PICH-768-Information-ResourceStatusInd,
+ id-PRACH-768-InformationList-ResourceStatusInd,
+ id-SCH-768-Information-ResourceStatusInd,
+ id-MICH-768-Information-ResourceStatusInd,
+ id-S-CCPCH-768-InformationList-ResourceStatusInd,
+ id-PRACH-768-Information,
+ id-UL-DPCH-768-Information-RL-SetupRqstTDD,
+ id-DL-DPCH-768-Information-RL-SetupRqstTDD,
+ id-DL-DPCH-InformationItem-768-RL-AdditionRqstTDD,
+ id-UL-DPCH-InformationItem-768-RL-AdditionRqstTDD,
+ id-UL-DPCH-768-InformationAddItemIE-RL-ReconfPrepTDD,
+ id-UL-DPCH-768-InformationAddListIE-RL-ReconfPrepTDD,
+ id-UL-DPCH-768-InformationModify-AddItem,
+ id-UL-DPCH-768-InformationModify-AddList,
+ id-UL-Timeslot768-Information-RL-ReconfPrepTDD,
+ id-DL-DPCH-768-InformationAddItem-RL-ReconfPrepTDD,
+ id-DL-DPCH-768-InformationAddList-RL-ReconfPrepTDD,
+ id-DL-DPCH-768-InformationModify-AddItem-RL-ReconfPrepTDD,
+ id-DL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD,
+ id-DL-Timeslot-768-InformationModify-ModifyList-RL-ReconfPrepTDD,
+ id-DPCH-ID768-DM-Rqst,
+ id-multiple-DedicatedMeasurementValueList-768-TDD-DM-Rsp,
+ id-DPCH-ID768-DM-Rsp,
+ id-DPCH-ID768-DM-Rprt,
+ id-PDSCH-AddInformation-768-PSCH-ReconfRqst,
+ id-PDSCH-ModifyInformation-768-PSCH-ReconfRqst,
+ id-PUSCH-AddInformation-768-PSCH-ReconfRqst,
+ id-PUSCH-ModifyInformation-768-PSCH-ReconfRqst,
+ id-dL-HS-PDSCH-Timeslot-Information-768-PSCH-ReconfRqst,
+ id-hS-SCCH-Information-768-PSCH-ReconfRqst,
+ id-hS-SCCH-InformationModify-768-PSCH-ReconfRqst,
+ id-tFCI-Presence,
+ id-E-RUCCH-InformationList-AuditRsp,
+ id-E-RUCCH-InformationList-ResourceStatusInd,
+ id-E-RUCCH-Information,
+ id-E-DCH-Information,
+ id-E-DCH-Information-Response,
+ id-E-DCH-Information-Reconfig,
+ id-E-PUCH-Information-PSCH-ReconfRqst,
+ id-Add-To-E-AGCH-Resource-Pool-PSCH-ReconfRqst,
+ id-Modify-E-AGCH-Resource-Pool-PSCH-ReconfRqst,
+ id-Delete-From-E-AGCH-Resource-Pool-PSCH-ReconfRqst,
+ id-E-HICH-Information-PSCH-ReconfRqst,
+ id-E-DCH-TDD-CapacityConsumptionLaw,
+ id-E-HICH-TimeOffset,
+ id-Maximum-Generated-ReceivedTotalWideBandPowerInOtherCells,
+ id-E-DCH-Serving-RL-ID,
+ id-E-RUCCH-768-InformationList-AuditRsp,
+ id-E-RUCCH-768-InformationList-ResourceStatusInd,
+ id-E-RUCCH-768-Information,
+ id-E-DCH-768-Information,
+ id-E-DCH-768-Information-Reconfig,
+ id-E-PUCH-Information-768-PSCH-ReconfRqst,
+ id-Add-To-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst,
+ id-Modify-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst,
+ id-E-HICH-Information-768-PSCH-ReconfRqst,
+ id-RTWP-ReportingIndicator,
+ id-RTWP-CellPortion-ReportingIndicator,
+ id-Received-Scheduled-EDCH-Power-Share-Value,
+ id-Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value,
+ id-Received-Scheduled-EDCH-Power-Share,
+ id-Received-Scheduled-EDCH-Power-Share-For-CellPortion,
+ id-ueCapability-Info,
+ id-MAChs-ResetIndicator,
+ id-SYNC-UL-Partition-LCR,
+ id-E-DCH-LCR-Information,
+ id-E-DCH-LCR-Information-Reconfig,
+ id-E-PUCH-Information-LCR-PSCH-ReconfRqst,
+ id-Add-To-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ id-Modify-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ id-Add-To-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ id-Modify-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ id-Delete-From-E-HICH-Resource-Pool-PSCH-ReconfRqst,
+ id-E-HICH-TimeOffsetLCR,
+ id-HSDSCH-MACdPDU-SizeCapability,
+ id-ModulationPO-MBSFN,
+ id-Secondary-CCPCH-SlotFormat-Extended,
+ id-MBSFN-Only-Mode-Indicator-Cell-SetupRqstTDD-LCR,
+ id-Time-Slot-Parameter-ID,
+ id-MBSFN-Only-Mode-Capability,
+ id-MBSFN-Cell-ParameterID-Cell-SetupRqstTDD,
+ id-MBSFN-Cell-ParameterID-Cell-ReconfRqstTDD,
+ id-S-CCPCH-Modulation,
+ id-TimeSlotConfigurationList-LCR-CTCH-SetupRqstTDD,
+ id-Cell-Frequency-List-Information-LCR-MulFreq-AuditRsp,
+ id-Cell-Frequency-List-InformationItem-LCR-MulFreq-AuditRsp,
+ id-Cell-Frequency-List-LCR-MulFreq-Cell-SetupRqstTDD,
+ id-UARFCN-Adjustment,
+ id-Cell-Frequency-List-Information-LCR-MulFreq-ResourceStatusInd,
+ id-Cell-Frequency-List-InformationItem-LCR-MulFreq-ResourceStatusInd,
+ id-UPPCHPositionLCR,
+ id-UPPCH-LCR-Parameters-CTCH-ReconfRqstTDD,
+ id-UPPCH-LCR-InformationList-AuditRsp,
+ id-UPPCH-LCR-InformationItem-AuditRsp,
+ id-UPPCH-LCR-InformationList-ResourceStatusInd,
+ id-UPPCH-LCR-InformationItem-ResourceStatusInd,
+ id-multipleFreq-dL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst,
+ id-multipleFreq-HS-DSCH-Resources-InformationList-AuditRsp,
+ id-multipleFreq-HS-DSCH-Resources-InformationList-ResourceStatusInd,
+ id-UARFCNSpecificCauseList,id-Unsuccessful-UARFCNItem-PSCH-ReconfFailureTDD,
+ id-MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst,
+ id-Extended-HS-SCCH-ID,
+ id-Extended-HS-SICH-ID,
+ id-HSSICH-InfoExt-DM-Rqst,
+ id-Delete-From-HS-SCCH-Resource-PoolExt-PSCH-ReconfRqst,
+ id-HS-SCCH-InformationExt-LCR-PSCH-ReconfRqst,
+ id-HS-SCCH-InformationModifyExt-LCR-PSCH-ReconfRqst,
+ id-PowerControlGAP,
+ id-PowerControlGAP-For-CellFACHLCR,
+ id-IdleIntervalInformation,
+ id-MBSFN-SpecialTimeSlot-LCR,
+ id-MultipleFreq-E-DCH-Resources-InformationList-AuditRsp,
+ id-MultipleFreq-E-DCH-Resources-InformationList-ResourceStatusInd,
+ id-MultipleFreq-E-PUCH-Timeslot-InformationList-LCR-PSCH-ReconfRqst,
+ id-MultipleFreq-E-PUCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst,
+ id-Extended-E-HICH-ID-TDD,
+ id-E-DCH-MACdPDU-SizeCapability,
+ id-E-HICH-TimeOffset-Extension,
+ id-MultipleFreq-E-HICH-TimeOffsetLCR,
+ id-PLCCH-parameters,
+ id-E-RUCCH-parameters,
+ id-E-RUCCH-768-parameters,
+ id-HS-Cause,
+ id-E-Cause,
+ id-AdditionalTimeSlotListLCR,
+ id-AdditionalMeasurementValueList,
+ id-HSDSCH-Paging-System-InformationLCR,
+ id-HSDSCH-Paging-System-Information-ResponseLCR,
+ id-HSDSCH-Common-System-InformationLCR,
+ id-HSDSCH-Common-System-Information-ResponseLCR,
+ id-Paging-MACFlows-to-DeleteLCR,
+ id-Enhanced-UE-DRX-CapabilityLCR,
+ id-Enhanced-UE-DRX-InformationLCR,
+ id-Common-EDCH-MACdFlows-to-DeleteLCR,
+ id-Common-EDCH-System-InformationLCR,
+ id-Common-EDCH-System-Information-ResponseLCR,
+ id-Common-MACFlows-to-DeleteLCR,
+ id-Common-UL-MACFlows-to-DeleteLCR,
+ id-HSDSCH-PreconfigurationSetup,
+ id-HSDSCH-PreconfigurationInfo,
+ id-NoOfTargetCellHS-SCCH-Order,
+ id-EnhancedHSServingCC-Abort,
+ id-GANSS-Time-ID,
+ id-Additional-HS-Cell-Information-RL-Setup,
+ id-Additional-HS-Cell-Information-Response,
+ id-Additional-HS-Cell-Information-RL-Addition,
+ id-Additional-HS-Cell-Change-Information-Response,
+ id-Additional-HS-Cell-Information-RL-Reconf-Prep,
+ id-Additional-HS-Cell-Information-RL-Reconf-Req,
+ id-Additional-HS-Cell-Information-RL-Param-Upd,
+ id-Multi-Cell-Capability-Info,
+ id-MinimumReducedE-DPDCH-GainFactor,
+ id-IMB-Parameters,
+ id-E-RNTI,
+ id-E-DCH-Semi-PersistentScheduling-Information-LCR,
+ id-HS-DSCH-Semi-PersistentScheduling-Information-LCR,
+ id-Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ id-Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ id-Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst,
+ id-Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext,
+ id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR,
+ id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR,
+ id-HSSICH-ReferenceSignal-InformationLCR,
+ id-UE-Selected-MBMS-Service-Information,
+ id-HSSICH-ReferenceSignal-InformationModifyLCR,
+ id-TimeSlotMeasurementValueListLCR,
+ id-MIMO-Power-Offset-For-S-CPICH-Capability,
+ id-MIMO-PilotConfigurationExtension,
+ id-TxDiversityOnDLControlChannelsByMIMOUECapability,
+ id-UE-AggregateMaximumBitRate,
+ id-Single-Stream-MIMO-Capability,
+ id-ActivationInformation,
+ id-Cell-Capability-Container,
+ id-DormantModeIndicator,
+ id-Additional-EDCH-Cell-Information-RL-Setup-Req,
+ id-Additional-EDCH-Cell-Information-Response,
+ id-Additional-EDCH-Cell-Information-RL-Add-Req,
+ id-Additional-EDCH-Cell-Information-Response-RL-Add,
+ id-Additional-EDCH-Cell-Information-RL-Reconf-Prep,
+ id-Additional-EDCH-Cell-Information-RL-Reconf-Req,
+ id-Additional-EDCH-Cell-Information-Bearer-Rearrangement,
+ id-Additional-EDCH-Cell-Information-RL-Param-Upd,
+ id-Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst,
+ id-E-HICH-TimeOffset-ReconfFailureTDD,
+ id-Common-System-Information-ResponseLCR,
+ id-TS0-CapabilityLCR,
+ id-HSSCCH-TPC-StepSize,
+ id-Out-of-Sychronization-Window,
+ id-DCH-MeasurementOccasion-Information,
+ id-Additional-EDCH-Cell-Information-ResponseRLReconf,
+ id-PrecodingWeightSetRestriction,
+
+ maxNrOfCCTrCHs,
+ maxNrOfCellSyncBursts,
+ maxNrOfCodes,
+ maxNrOfDCHs,
+ maxNrOfDLTSs,
+ maxNrOfDLTSLCRs,
+ maxNrOfDPCHs,
+ maxNrOfDPCHsPerRL-1,
+ maxNrOfDPCHLCRs,
+ maxNrOfDPCHsLCRPerRL-1,
+ maxNrOfDPCHs768,
+ maxNrOfDPCHs768PerRL-1,
+ maxNrOfDSCHs,
+ maxNrOfFACHs,
+ maxNrOfRLs,
+ maxNrOfRLs-1,
+ maxNrOfRLs-2,
+ maxNrOfRLSets,
+ maxNrOfPDSCHs,
+ maxNrOfPUSCHs,
+ maxNrOfPUSCHs-1,
+ maxNrOfPRACHLCRs,
+ maxNrOfPDSCHSets,
+ maxNrOfPUSCHSets,
+ maxNrOfReceptsPerSyncFrame,
+ maxNrOfSCCPCHs,
+ maxNrOfSCCPCHsinExt,
+ maxNrOfSCCPCHLCRs,
+ maxNrOfSCCPCHsLCRinExt,
+ maxNrOfSCCPCHs768,
+ maxNrOfULTSs,
+ maxNrOfULTSLCRs,
+ maxNrOfUSCHs,
+ maxFACHCell,
+ maxFPACHCell,
+ maxRACHCell,
+ maxPLCCHCell,
+ maxPRACHCell,
+ maxSCCPCHCell,
+ maxSCCPCHCell768,
+ maxSCCPCHCellinExt,
+ maxSCCPCHCellinExtLCR,
+ maxSCPICHCell,
+ maxCellinNodeB,
+ maxCCPinNodeB,
+ maxCommunicationContext,
+ maxLocalCellinNodeB,
+ maxNrOfSlotFormatsPRACH,
+ maxIB,
+ maxIBSEG,
+ maxNrOfCellPortionsPerCell,
+ maxNrOfHSSCCHs,
+ maxNrOfHSSICHs,
+ maxNrOfHSSICHs-1,
+ maxNrOfHSPDSCHs,
+ maxNrOfHSPDSCHs768,
+ maxNrOfSyncFramesLCR,
+ maxNrOfReceptionsperSyncFrameLCR,
+ maxNrOfSyncDLCodesLCR,
+ maxNrOfMACdFlows,
+ maxNrOfEDCHMACdFlows,
+ maxE-RUCCHCell,
+ maxNrOfE-PUCHSlots,
+ maxNrOfEAGCHs,
+ maxNrOfEAGCHCodes,
+ maxNrOfE-PUCHSlotsLCR,
+ maxNrOfEPUCHcodes,
+ maxNrOfEHICHs,
+ maxFrequencyinCell,
+ maxFrequencyinCell-1,
+ maxNrOfHSSCCHsinExt,
+ maxNrOfHSSCCHsLCR,
+ maxNrOfEAGCHsLCR,
+ maxNrOfEHICHsLCR,
+ maxNrOfHSDSCH-1,
+ maxNrOfEDCH-1
+
+FROM NBAP-Constants;
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL SETUP REQUEST FDD
+--
+-- **************************************************************
+
+CommonTransportChannelSetupRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelSetupRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CommonTransportChannelSetupRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
+ { ID id-CommonPhysicalChannelType-CTCH-SetupRqstFDD CRITICALITY ignore TYPE CommonPhysicalChannelType-CTCH-SetupRqstFDD PRESENCE mandatory },
+ ...
+}
+
+CommonPhysicalChannelType-CTCH-SetupRqstFDD ::= CHOICE {
+ secondary-CCPCH-parameters Secondary-CCPCH-CTCH-SetupRqstFDD,
+ pRACH-parameters PRACH-CTCH-SetupRqstFDD,
+ notUsed-pCPCHes-parameters NULL,
+ ...
+}
+
+Secondary-CCPCH-CTCH-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ fdd-S-CCPCH-Offset FDD-S-CCPCH-Offset,
+ dl-ScramblingCode DL-ScramblingCode OPTIONAL,
+ -- This IE shall be present if the PCH Parameters IE is not present
+ fdd-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+ tFCS TFCS,
+ secondary-CCPCH-SlotFormat SecondaryCCPCH-SlotFormat,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ -- This IE shall be present if the Secondary CCPCH Slot Format is set to any of the values from 8 to 17 or if 3.84Mcps TDD IMB is used
+ multiplexingPosition MultiplexingPosition,
+ powerOffsetInformation PowerOffsetInformation-CTCH-SetupRqstFDD,
+ sTTD-Indicator STTD-Indicator,
+ fACH-Parameters FACH-ParametersList-CTCH-SetupRqstFDD OPTIONAL,
+ pCH-Parameters PCH-Parameters-CTCH-SetupRqstFDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCHItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCHItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MICH-Parameters-CTCH-SetupRqstFDD CRITICALITY reject EXTENSION MICH-Parameters-CTCH-SetupRqstFDD PRESENCE optional }|
+ { ID id-FDD-S-CCPCH-FrameOffset-CTCH-SetupRqstFDD CRITICALITY reject EXTENSION FDD-S-CCPCH-FrameOffset PRESENCE optional }|
+ { ID id-ModulationPO-MBSFN CRITICALITY reject EXTENSION ModulationPO-MBSFN PRESENCE optional }|
+ { ID id-Secondary-CCPCH-SlotFormat-Extended CRITICALITY reject EXTENSION Secondary-CCPCH-SlotFormat-Extended PRESENCE optional }|
+ { ID id-IMB-Parameters CRITICALITY reject EXTENSION IMB-Parameters PRESENCE optional },
+ ...
+}
+
+PowerOffsetInformation-CTCH-SetupRqstFDD ::= SEQUENCE {
+ pO1-ForTFCI-Bits PowerOffset,
+ pO3-ForPilotBits PowerOffset,
+ iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PowerOffsetInformation-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FACH-ParametersList-CTCH-SetupRqstFDD ::= ProtocolIE-Single-Container {{ FACH-ParametersListIEs-CTCH-SetupRqstFDD }}
+
+FACH-ParametersListIEs-CTCH-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-FACH-ParametersListIE-CTCH-SetupRqstFDD CRITICALITY reject TYPE FACH-ParametersListIE-CTCH-SetupRqstFDD PRESENCE mandatory }
+}
+
+FACH-ParametersListIE-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfFACHs)) OF FACH-ParametersItem-CTCH-SetupRqstFDD
+
+FACH-ParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ transportFormatSet TransportFormatSet,
+ toAWS ToAWS,
+ toAWE ToAWE,
+ maxFACH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional }|
+ { ID id-BroadcastReference CRITICALITY ignore EXTENSION BroadcastReference PRESENCE optional }|
+ { ID id-IPMulticastIndication CRITICALITY ignore EXTENSION IPMulticastIndication PRESENCE optional },
+ ...
+}
+
+PCH-Parameters-CTCH-SetupRqstFDD ::= ProtocolIE-Single-Container {{ PCH-ParametersIE-CTCH-SetupRqstFDD }}
+
+PCH-ParametersIE-CTCH-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-PCH-ParametersItem-CTCH-SetupRqstFDD CRITICALITY reject TYPE PCH-ParametersItem-CTCH-SetupRqstFDD PRESENCE mandatory }
+}
+
+PCH-ParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ transportFormatSet TransportFormatSet,
+ toAWS ToAWS,
+ toAWE ToAWE,
+ pCH-Power DL-Power,
+ pICH-Parameters PICH-Parameters-CTCH-SetupRqstFDD,
+ iE-Extensions ProtocolExtensionContainer { { PCH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+PICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+ pICH-Power PICH-Power,
+ pICH-Mode PICH-Mode,
+ sTTD-Indicator STTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { PICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+ mICH-Power PICH-Power,
+ mICH-Mode MICH-Mode,
+ sTTD-Indicator STTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { MICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRACH-CTCH-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ scramblingCodeNumber ScramblingCodeNumber,
+ tFCS TFCS,
+ preambleSignatures PreambleSignatures,
+ allowedSlotFormatInformation AllowedSlotFormatInformationList-CTCH-SetupRqstFDD,
+ rACH-SubChannelNumbers RACH-SubChannelNumbers,
+ ul-punctureLimit PunctureLimit,
+ preambleThreshold PreambleThreshold,
+ rACH-Parameters RACH-Parameters-CTCH-SetupRqstFDD,
+ aICH-Parameters AICH-Parameters-CTCH-SetupRqstFDD,
+ iE-Extensions ProtocolExtensionContainer { { PRACHItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRACHItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AllowedSlotFormatInformationList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1.. maxNrOfSlotFormatsPRACH)) OF AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD
+
+AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD ::= SEQUENCE {
+ rACHSlotFormat RACH-SlotFormat,
+ iE-Extensions ProtocolExtensionContainer { { AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RACH-Parameters-CTCH-SetupRqstFDD ::= ProtocolIE-Single-Container {{ RACH-ParametersIE-CTCH-SetupRqstFDD }}
+
+RACH-ParametersIE-CTCH-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-RACH-ParametersItem-CTCH-SetupRqstFDD CRITICALITY reject TYPE RACH-ParametersItem-CTCH-SetupRqstFDD PRESENCE mandatory }
+}
+
+RACH-ParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ transportFormatSet TransportFormatSet,
+ iE-Extensions ProtocolExtensionContainer { { RACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+RACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+AICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ aICH-TransmissionTiming AICH-TransmissionTiming,
+ fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+ aICH-Power AICH-Power,
+ sTTD-Indicator STTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL SETUP REQUEST TDD
+--
+-- **************************************************************
+
+CommonTransportChannelSetupRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelSetupRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
+ { ID id-CommonPhysicalChannelType-CTCH-SetupRqstTDD CRITICALITY ignore TYPE CommonPhysicalChannelType-CTCH-SetupRqstTDD PRESENCE mandatory },
+ ...
+}
+
+CommonTransportChannelSetupRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CommonPhysicalChannelType-CTCH-SetupRqstTDD ::= CHOICE {
+ secondary-CCPCH-parameters Secondary-CCPCH-CTCH-SetupRqstTDD,
+ pRACH-parameters PRACH-CTCH-SetupRqstTDD,
+ ...,
+ extension-CommonPhysicalChannelType-CTCH-SetupRqstTDD Extension-CommonPhysicalChannelType-CTCH-SetupRqstTDD
+}
+
+Extension-CommonPhysicalChannelType-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ Extension-CommonPhysicalChannelType-CTCH-SetupRqstTDDIE }}
+
+Extension-CommonPhysicalChannelType-CTCH-SetupRqstTDDIE NBAP-PROTOCOL-IES ::= {
+ { ID id-PLCCH-parameters CRITICALITY ignore TYPE PLCCH-parameters PRESENCE mandatory }|
+ { ID id-E-RUCCH-parameters CRITICALITY ignore TYPE E-RUCCH-parameters PRESENCE mandatory }|
+ { ID id-E-RUCCH-768-parameters CRITICALITY ignore TYPE E-RUCCH-768-parameters PRESENCE mandatory },
+ ...
+}
+
+Secondary-CCPCH-CTCH-SetupRqstTDD ::= SEQUENCE {
+ sCCPCH-CCTrCH-ID CCTrCH-ID, -- For DL CCTrCH supporting one or several Secondary CCPCHs
+ tFCS TFCS, -- For DL CCTrCH supporting one or several Secondary CCPCHs
+ tFCI-Coding TFCI-Coding,
+ punctureLimit PunctureLimit,
+ secondaryCCPCH-parameterList Secondary-CCPCH-parameterList-CTCH-SetupRqstTDD,
+ fACH-ParametersList FACH-ParametersList-CTCH-SetupRqstTDD OPTIONAL,
+ pCH-Parameters PCH-Parameters-CTCH-SetupRqstTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{Secondary-CCPCHItem-CTCH-SetupRqstTDD-ExtIEs}} OPTIONAL,
+ ...
+}
+
+Secondary-CCPCHItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Tstd-indicator CRITICALITY reject EXTENSION TSTD-Indicator PRESENCE optional }|
+ { ID id-MICH-Parameters-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION MICH-Parameters-CTCH-SetupRqstTDD PRESENCE optional }|
+ { ID id-Additional-S-CCPCH-Parameters-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION Secondary-CCPCH-parameterExtendedList-CTCH-SetupRqstTDD PRESENCE optional }|
+ -- Applicable to 3.84Mcps TDD only, used when more than maxNrOfSCCPCHs SCCPCHs are to be established.
+ { ID id-Additional-S-CCPCH-LCR-Parameters-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION Secondary-CCPCH-LCR-parameterExtendedList-CTCH-SetupRqstTDD PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only, used when more than maxNrOfSCCPCHLCRs SCCPCHs are to be established.
+ { ID id-S-CCPCH-768-Parameters-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION Secondary-CCPCH-768-parameterList-CTCH-SetupRqstTDD PRESENCE optional }|
+ { ID id-S-CCPCH-Modulation CRITICALITY reject EXTENSION ModulationMBSFN PRESENCE optional }| -- Applicable to 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-TimeSlotConfigurationList-LCR-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION TimeSlotConfigurationList-LCR-CTCH-SetupRqstTDD PRESENCE optional }|
+ { ID id-UARFCNforNt CRITICALITY reject EXTENSION UARFCN PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies. This IE indicates the frequency of Secondary Frequency on which SCCPCH to be set up
+ ...
+}
+
+Secondary-CCPCH-parameterList-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ Secondary-CCPCH-parameterListIEs-CTCH-SetupRqstTDD }}
+
+Secondary-CCPCH-parameterListIEs-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD CRITICALITY reject TYPE Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD PRESENCE optional }|
+ { ID id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD CRITICALITY reject TYPE Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD PRESENCE optional }
+}
+
+Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHs)) OF Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD
+
+Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ timeslot TimeSlot,
+ midambleShiftandBurstType MidambleShiftAndBurstType,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ s-CCPCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-tFCI-Presence CRITICALITY notify EXTENSION TFCI-Presence PRESENCE optional},
+ ...
+}
+
+Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHLCRs)) OF Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD
+
+Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ timeslotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ -- For 1.28 Mcps TDD, if the cell is operating in MBSFN only mode, NodeB shall ignore the contents of this IE.
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ s-CCPCH-Power DL-Power,
+ s-CCPCH-TimeSlotFormat-LCR TDD-DL-DPCH-TimeSlotFormat-LCR,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MBSFN-SpecialTimeSlot-LCR CRITICALITY ignore EXTENSION TimeslotLCR-Extension PRESENCE optional },
+ -- Only for 1.28 Mcps TDD MBSFN only mode, this IE indicates the MBSFN Special Time Slot [19]. The IE "Time Slot LCR" shall be ignored if this IE appears
+ ...
+}
+
+Secondary-CCPCH-768-parameterList-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHs768)) OF Secondary-CCPCH-768-parameterItem-CTCH-SetupRqstTDD
+
+Secondary-CCPCH-768-parameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ timeslot TimeSlot,
+ tFCI-Presence768 TFCI-Presence OPTIONAL,
+ midambleShiftandBurstType768 MidambleShiftAndBurstType768,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ s-CCPCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-parameterItem-768-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-parameterItem-768-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FACH-ParametersList-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ FACH-ParametersListIEs-CTCH-SetupRqstTDD }}
+
+FACH-ParametersListIEs-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-FACH-ParametersListIE-CTCH-SetupRqstTDD CRITICALITY reject TYPE FACH-ParametersListIE-CTCH-SetupRqstTDD PRESENCE mandatory }
+}
+
+FACH-ParametersListIE-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfFACHs)) OF FACH-ParametersItem-CTCH-SetupRqstTDD
+
+FACH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ fACH-CCTrCH-ID CCTrCH-ID,
+ dl-TransportFormatSet TransportFormatSet,
+ toAWS ToAWS,
+ toAWE ToAWE,
+ iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-maxFACH-Power-LCR-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-BroadcastReference CRITICALITY ignore EXTENSION BroadcastReference PRESENCE optional }|
+ { ID id-IPMulticastIndication CRITICALITY ignore EXTENSION IPMulticastIndication PRESENCE optional },
+ ...
+}
+
+PCH-Parameters-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ PCH-ParametersIE-CTCH-SetupRqstTDD }}
+
+PCH-ParametersIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-PCH-ParametersItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE PCH-ParametersItem-CTCH-SetupRqstTDD PRESENCE mandatory }
+}
+
+PCH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ pCH-CCTrCH-ID CCTrCH-ID,
+ dl-TransportFormatSet TransportFormatSet, -- For the DL.
+ toAWS ToAWS,
+ toAWE ToAWE,
+ pICH-Parameters PICH-Parameters-CTCH-SetupRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { { PCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PCH-Power-LCR-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional }|
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-PICH-768-Parameters-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION PICH-768-ParametersItem-CTCH-SetupRqstTDD PRESENCE optional }|
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ -- Shall be ignored if bearer establishment with ALCAP.
+ ...
+}
+
+PICH-Parameters-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ PICH-ParametersIE-CTCH-SetupRqstTDD }}
+
+PICH-ParametersIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-PICH-ParametersItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE PICH-ParametersItem-CTCH-SetupRqstTDD PRESENCE optional }|
+ { ID id-PICH-LCR-Parameters-CTCH-SetupRqstTDD CRITICALITY reject TYPE PICH-LCR-Parameters-CTCH-SetupRqstTDD PRESENCE optional }
+}
+
+PICH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ timeSlot TimeSlot,
+ midambleshiftAndBurstType MidambleShiftAndBurstType,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ pagingIndicatorLength PagingIndicatorLength,
+ pICH-Power PICH-Power,
+ iE-Extensions ProtocolExtensionContainer { { PICH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PICH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PICH-LCR-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ pagingIndicatorLength PagingIndicatorLength,
+ pICH-Power PICH-Power,
+ second-TDD-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ iE-Extensions ProtocolExtensionContainer { { PICH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PICH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Tstd-indicator CRITICALITY reject EXTENSION TSTD-Indicator PRESENCE optional },
+ -- Applicable to 1.28 Mcps TDD only
+ ...
+}
+
+PICH-768-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ timeSlot TimeSlot,
+ midambleshiftAndBurstType78 MidambleShiftAndBurstType768,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ pagingIndicatorLength PagingIndicatorLength,
+ pICH-Power PICH-Power,
+ iE-Extensions ProtocolExtensionContainer { { PICH-768-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PICH-768-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MICH-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ notificationIndicatorLength NotificationIndicatorLength,
+ mICH-Power PICH-Power,
+ mICH-TDDOption-Specific-Parameters MICH-TDDOption-Specific-Parameters-CTCH-SetupRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { { MICH-Parameters-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MICH-Parameters-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MICH-TDDOption-Specific-Parameters-CTCH-SetupRqstTDD ::= CHOICE {
+ hCR-TDD MICH-HCR-Parameters-CTCH-SetupRqstTDD,
+ lCR-TDD MICH-LCR-Parameters-CTCH-SetupRqstTDD,
+ ...,
+ cHipRate768-TDD MICH-768-Parameters-CTCH-SetupRqstTDD
+}
+
+MICH-HCR-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ timeSlot TimeSlot,
+ midambleshiftAndBurstType MidambleShiftAndBurstType,
+ iE-Extensions ProtocolExtensionContainer { { MICH-HCR-Parameters-CTCH-SetupRqstTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MICH-HCR-Parameters-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MICH-LCR-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ -- For 1.28 Mcps TDD, if the cell is operating in MBSFN only mode, NodeB shall ignore the contents of this IE.
+ second-TDD-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ tSTD-Indicator TSTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { MICH-LCR-Parameters-CTCH-SetupRqstTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MICH-LCR-Parameters-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MBSFN-SpecialTimeSlot-LCR CRITICALITY ignore EXTENSION TimeslotLCR-Extension PRESENCE optional },
+ -- Only for 1.28 Mcps TDD MBSFN only mode, this IE indicates the MBSFN Special Time Slot [19]. The IE "Time Slot LCR" shall be ignored if this IE appears
+ ...
+}
+
+MICH-768-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ timeSlot TimeSlot,
+ midambleshiftAndBurstType768 MidambleShiftAndBurstType768,
+ iE-Extensions ProtocolExtensionContainer { { MICH-768-Parameters-CTCH-SetupRqstTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MICH-768-Parameters-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeSlotConfigurationList-LCR-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..7)) OF TimeSlotConfigurationItem-LCR-CTCH-SetupRqstTDD
+
+TimeSlotConfigurationItem-LCR-CTCH-SetupRqstTDD ::= SEQUENCE {
+ timeslotLCR TimeSlotLCR,
+ timeslotLCR-Parameter-ID CellParameterID,
+ iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-LCR-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TimeSlotConfigurationItem-LCR-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-parameterExtendedList-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHsinExt)) OF Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD
+ -- Applicable to 3.84Mcps TDD only, used when more than maxNrOfSCCPCHs SCCPCHs are to be established.
+
+Secondary-CCPCH-LCR-parameterExtendedList-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHsLCRinExt)) OF Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD
+ -- Applicable to 1.28Mcps TDD only, used when more than maxNrOfSCCPCHLCRs SCCPCHs are to be established.
+
+PRACH-CTCH-SetupRqstTDD ::= SEQUENCE {
+ pRACH-Parameters-CTCH-SetupRqstTDD PRACH-Parameters-CTCH-SetupRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { { PRACH-CTCH-SetupRqstTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PRACH-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION FPACH-LCR-Parameters-CTCH-SetupRqstTDD PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-PRACH-768-Parameters-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION PRACH-768-ParametersItem-CTCH-SetupRqstTDD PRESENCE optional },
+ ...
+}
+
+PRACH-Parameters-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ PRACH-ParametersIE-CTCH-SetupRqstTDD }}
+
+PRACH-ParametersIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-PRACH-ParametersItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE PRACH-ParametersItem-CTCH-SetupRqstTDD PRESENCE optional }|
+ { ID id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD CRITICALITY reject TYPE PRACH-LCR-ParametersList-CTCH-SetupRqstTDD PRESENCE optional }
+}
+
+
+PRACH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tFCS TFCS,
+ timeslot TimeSlot,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ maxPRACH-MidambleShifts MaxPRACH-MidambleShifts,
+ pRACH-Midamble PRACH-Midamble,
+ rACH RACH-Parameter-CTCH-SetupRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { { PRACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RACH-Parameter-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ RACH-ParameterIE-CTCH-SetupRqstTDD }}
+
+RACH-ParameterIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-RACH-ParameterItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE RACH-ParameterItem-CTCH-SetupRqstTDD PRESENCE mandatory }
+}
+
+RACH-ParameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ uL-TransportFormatSet TransportFormatSet, -- For the UL
+ iE-Extensions ProtocolExtensionContainer { { RACH-ParameterItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RACH-ParameterItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ -- Shall be ignored if bearer establishment with ALCAP.
+ ...
+}
+
+PRACH-LCR-ParametersList-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfPRACHLCRs)) OF PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD
+
+PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tFCS TFCS,
+ timeslotLCR TimeSlotLCR,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ rACH RACH-Parameter-CTCH-SetupRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { { PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UARFCNforNt CRITICALITY reject EXTENSION UARFCN PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies. This IE indicates the frequency of secondary on which PRACH to be set up.
+ ...
+}
+
+PRACH-768-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ tFCS TFCS,
+ timeslot TimeSlot,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ maxPRACH-MidambleShifts MaxPRACH-MidambleShifts,
+ pRACH-Midamble PRACH-Midamble,
+ rACH RACH-Parameter-CTCH-SetupRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { { PRACH-768-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRACH-768-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FPACH-LCR-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ timeslotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ fPACH-Power FPACH-Power,
+ iE-Extensions ProtocolExtensionContainer { { FPACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FPACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UARFCNforNt CRITICALITY reject EXTENSION UARFCN PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies. This IE indicates the frequency of Secondary Frequency on which FPACH to be set up.
+ ...
+}
+
+PLCCH-parameters ::= SEQUENCE {
+ maxPowerPLCCH DL-Power,
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ timeslotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ iE-Extensions ProtocolExtensionContainer { { PLCCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLCCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RUCCH-parameters ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ timeslot TimeSlot,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ maxE-RUCCH-MidambleShifts MaxPRACH-MidambleShifts,
+ e-RUCCH-Midamble PRACH-Midamble,
+ iE-Extensions ProtocolExtensionContainer { { E-RUCCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RUCCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RUCCH-768-parameters ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ timeslot TimeSlot,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ maxE-RUCCH-MidambleShifts MaxPRACH-MidambleShifts,
+ e-RUCCH-Midamble PRACH-Midamble,
+ iE-Extensions ProtocolExtensionContainer { { E-RUCCH-768-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RUCCH-768-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL SETUP RESPONSE
+--
+-- **************************************************************
+
+CommonTransportChannelSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelSetupResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-FACH-ParametersList-CTCH-SetupRsp CRITICALITY ignore TYPE FACH-CommonTransportChannel-InformationResponse PRESENCE optional }|
+ { ID id-PCH-Parameters-CTCH-SetupRsp CRITICALITY ignore TYPE CommonTransportChannel-InformationResponse PRESENCE optional }|
+ { ID id-RACH-Parameters-CTCH-SetupRsp CRITICALITY ignore TYPE CommonTransportChannel-InformationResponse PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CommonTransportChannelSetupResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FACH-CommonTransportChannel-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfFACHs)) OF CommonTransportChannel-InformationResponse
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL SETUP FAILURE
+--
+-- **************************************************************
+
+CommonTransportChannelSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelSetupFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CommonTransportChannelSetupFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL RECONFIGURATION REQUEST FDD
+--
+-- **************************************************************
+
+CommonTransportChannelReconfigurationRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
+ { ID id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD CRITICALITY reject TYPE CommonPhysicalChannelType-CTCH-ReconfRqstFDD PRESENCE mandatory },
+ ...
+}
+
+CommonTransportChannelReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CommonPhysicalChannelType-CTCH-ReconfRqstFDD ::= CHOICE {
+ secondary-CCPCH-parameters Secondary-CCPCHList-CTCH-ReconfRqstFDD,
+ pRACH-parameters PRACHList-CTCH-ReconfRqstFDD,
+ notUsed-cPCH-parameters NULL,
+ ...
+}
+
+Secondary-CCPCHList-CTCH-ReconfRqstFDD ::= SEQUENCE {
+ fACH-ParametersList-CTCH-ReconfRqstFDD FACH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
+ pCH-Parameters-CTCH-ReconfRqstFDD PCH-Parameters-CTCH-ReconfRqstFDD OPTIONAL,
+ pICH-Parameters-CTCH-ReconfRqstFDD PICH-Parameters-CTCH-ReconfRqstFDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MICH-Parameters-CTCH-ReconfRqstFDD CRITICALITY reject EXTENSION MICH-Parameters-CTCH-ReconfRqstFDD PRESENCE optional },
+ ...
+}
+
+FACH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ FACH-ParametersListIEs-CTCH-ReconfRqstFDD }}
+
+FACH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-FACH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE FACH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
+}
+
+FACH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxFACHCell)) OF FACH-ParametersItem-CTCH-ReconfRqstFDD
+
+FACH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ maxFACH-Power DL-Power OPTIONAL,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+PCH-Parameters-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ PCH-ParametersIE-CTCH-ReconfRqstFDD }}
+
+PCH-ParametersIE-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-PCH-ParametersItem-CTCH-ReconfRqstFDD CRITICALITY reject TYPE PCH-ParametersItem-CTCH-ReconfRqstFDD PRESENCE mandatory }
+}
+
+PCH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ pCH-Power DL-Power OPTIONAL,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+PICH-Parameters-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ PICH-ParametersIE-CTCH-ReconfRqstFDD }}
+
+PICH-ParametersIE-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-PICH-ParametersItem-CTCH-ReconfRqstFDD CRITICALITY reject TYPE PICH-ParametersItem-CTCH-ReconfRqstFDD PRESENCE mandatory }
+}
+
+PICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ pICH-Power PICH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PICH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PICH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MICH-Parameters-CTCH-ReconfRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ mICH-Power PICH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MICH-Parameters-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MICH-Parameters-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRACHList-CTCH-ReconfRqstFDD ::= SEQUENCE {
+ pRACH-ParametersList-CTCH-ReconfRqstFDD PRACH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
+ aICH-ParametersList-CTCH-ReconfRqstFDD AICH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRACH-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRACH-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRACH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ PRACH-ParametersListIEs-CTCH-ReconfRqstFDD }}
+
+PRACH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE PRACH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
+}
+
+PRACH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF PRACH-ParametersItem-CTCH-ReconfRqstFDD
+
+PRACH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ preambleSignatures PreambleSignatures OPTIONAL,
+ allowedSlotFormatInformation AllowedSlotFormatInformationList-CTCH-ReconfRqstFDD OPTIONAL,
+ rACH-SubChannelNumbers RACH-SubChannelNumbers OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+AllowedSlotFormatInformationList-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1.. maxNrOfSlotFormatsPRACH)) OF AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD
+
+AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
+ rACH-SlotFormat RACH-SlotFormat,
+ iE-Extensions ProtocolExtensionContainer { { AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AICH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ AICH-ParametersListIEs-CTCH-ReconfRqstFDD }}
+
+AICH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-AICH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE AICH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
+}
+
+AICH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF AICH-ParametersItem-CTCH-ReconfRqstFDD
+
+AICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ aICH-Power AICH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL RECONFIGURATION REQUEST TDD
+--
+-- **************************************************************
+
+CommonTransportChannelReconfigurationRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
+ { ID id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject TYPE Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
+ { ID id-PICH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject TYPE PICH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
+ { ID id-FACH-ParametersList-CTCH-ReconfRqstTDD CRITICALITY reject TYPE FACH-ParametersList-CTCH-ReconfRqstTDD PRESENCE optional }|
+ { ID id-PCH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject TYPE PCH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional },
+ ...
+}
+
+CommonTransportChannelReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION FPACH-LCR-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-MICH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION MICH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
+ { ID id-PLCCH-Parameters-CTCH-ReconfRqstTDD CRITICALITY ignore EXTENSION PLCCH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
+ { ID id-S-CCPCH-768-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION Secondary-CCPCH-768-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
+ { ID id-PICH-768-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION PICH-768-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
+ { ID id-MICH-768-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION MICH-768-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
+ { ID id-UPPCH-LCR-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION UPPCH-LCR-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ secondaryCCPCHList Secondary-CCPCHList-CTCH-ReconfRqstTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-S-CCPCH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION Secondary-CCPCH-parameterExtendedList-CTCH-ReconfRqstTDD PRESENCE optional }|
+ -- Applicable to 3.84Mcps TDD only, used when more than maxNrOfSCCPCHs SCCPCHs are to be reconfigured.
+ { ID id-Additional-S-CCPCH-LCR-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION Secondary-CCPCH-LCR-parameterExtendedList-CTCH-ReconfRqstTDD PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only, used when more than maxNrOfSCCPCHs SCCPCHs are to be reconfigured.
+ ...
+}
+
+Secondary-CCPCHList-CTCH-ReconfRqstTDD ::= ProtocolIE-Single-Container {{ Secondary-CCPCHListIEs-CTCH-ReconfRqstTDD }}
+
+Secondary-CCPCHListIEs-CTCH-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD CRITICALITY reject TYPE Secondary-CCPCHListIE-CTCH-ReconfRqstTDD PRESENCE mandatory }
+}
+
+Secondary-CCPCHListIE-CTCH-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHs)) OF Secondary-CCPCHItem-CTCH-ReconfRqstTDD
+
+Secondary-CCPCHItem-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ sCCPCH-Power DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCHItem-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCHItem-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-parameterExtendedList-CTCH-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHsinExt)) OF Secondary-CCPCHItem-CTCH-ReconfRqstTDD
+ -- Applicable to 3.84Mcps TDD only, used when more than maxNrOfSCCPCHs SCCPCHs are to be reconfigured.
+
+Secondary-CCPCH-LCR-parameterExtendedList-CTCH-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHsLCRinExt)) OF Secondary-CCPCHItem-CTCH-ReconfRqstTDD
+ -- Applicable to 1.28Mcps TDD only, used when more than maxNrOfSCCPCHs SCCPCHs are to be reconfigured.
+
+PICH-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ pICH-Power PICH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PICH-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PICH-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FACH-ParametersList-CTCH-ReconfRqstTDD ::= SEQUENCE (SIZE (0..maxNrOfFACHs)) OF FACH-ParametersItem-CTCH-ReconfRqstTDD
+
+FACH-ParametersItem-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FACH-ParametersItem-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+PCH-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PCH-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCH-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PCH-Power-LCR-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+FPACH-LCR-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelId CommonPhysicalChannelID,
+ fPACHPower FPACH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FPACH-LCR-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FPACH-LCR-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MICH-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ mICH-Power PICH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MICH-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MICH-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PLCCH-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ maxPowerPLCCH DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { PLCCH-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLCCH-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-768-Parameters-CTCH-ReconfRqstTDD::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ secondaryCCPCH768List Secondary-CCPCH-768-List-CTCH-ReconfRqstTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-768-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-768-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-768-List-CTCH-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHs768)) OF Secondary-CCPCH-768-Item-CTCH-ReconfRqstTDD
+
+Secondary-CCPCH-768-Item-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ sCCPCH-Power DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-768-Item-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-768-Item-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PICH-768-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ pICH-Power PICH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PICH-768-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PICH-768-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MICH-768-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ mICH-Power PICH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MICH-768-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MICH-768-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UPPCH-LCR-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
+ uPPCHPositionLCR UPPCHPositionLCR OPTIONAL,
+ uARFCN UARFCN OPTIONAL,
+ -- Mandatory for 1.28Mcps TDD when using multiple frequencies Corresponds to Nt [15]
+ iE-Extensions ProtocolExtensionContainer { { UPPCH-LCR-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UPPCH-LCR-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL RECONFIGURATION RESPONSE
+--
+-- **************************************************************
+
+CommonTransportChannelReconfigurationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+CommonTransportChannelReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL RECONFIGURATION FAILURE
+--
+-- **************************************************************
+
+CommonTransportChannelReconfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CommonTransportChannelReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL DELETION REQUEST
+--
+-- **************************************************************
+
+CommonTransportChannelDeletionRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelDeletionRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelDeletionRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelDeletionRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-CommonPhysicalChannelID CRITICALITY reject TYPE CommonPhysicalChannelID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory },
+ ...
+}
+
+CommonTransportChannelDeletionRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CommonPhysicalChannelID768-CommonTrChDeletionReq CRITICALITY reject EXTENSION CommonPhysicalChannelID768 PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL DELETION RESPONSE
+--
+-- **************************************************************
+
+CommonTransportChannelDeletionResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelDeletionResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelDeletionResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelDeletionResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+CommonTransportChannelDeletionResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- BLOCK RESOURCE REQUEST
+--
+-- **************************************************************
+
+BlockResourceRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{BlockResourceRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{BlockResourceRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+BlockResourceRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-BlockingPriorityIndicator CRITICALITY reject TYPE BlockingPriorityIndicator PRESENCE mandatory }|
+ { ID id-ShutdownTimer CRITICALITY reject TYPE ShutdownTimer PRESENCE conditional },
+ -- The IE shall be present if the Blocking Priority Indicator IE indicates "Normal Priority"--
+ ...
+}
+
+BlockResourceRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- BLOCK RESOURCE RESPONSE
+--
+-- **************************************************************
+
+BlockResourceResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{BlockResourceResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{BlockResourceResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+BlockResourceResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+BlockResourceResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- BLOCK RESOURCE FAILURE
+--
+-- **************************************************************
+
+BlockResourceFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{BlockResourceFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{BlockResourceFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+BlockResourceFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+BlockResourceFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UNBLOCK RESOURCE INDICATION
+--
+-- **************************************************************
+
+UnblockResourceIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UnblockResourceIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UnblockResourceIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+UnblockResourceIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory },
+ ...
+}
+
+UnblockResourceIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- AUDIT REQUIRED INDICATION
+--
+-- **************************************************************
+
+AuditRequiredIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{AuditRequiredIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{AuditRequiredIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+AuditRequiredIndication-IEs NBAP-PROTOCOL-IES ::= {
+ ...
+}
+
+AuditRequiredIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- AUDIT REQUEST
+--
+-- **************************************************************
+
+AuditRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{AuditRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{AuditRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+AuditRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Start-Of-Audit-Sequence-Indicator CRITICALITY reject TYPE Start-Of-Audit-Sequence-Indicator PRESENCE mandatory },
+ ...
+}
+
+AuditRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- AUDIT RESPONSE
+--
+-- **************************************************************
+
+AuditResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{AuditResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{AuditResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+AuditResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-End-Of-Audit-Sequence-Indicator CRITICALITY ignore TYPE End-Of-Audit-Sequence-Indicator PRESENCE mandatory }|
+ { ID id-Cell-InformationList-AuditRsp CRITICALITY ignore TYPE Cell-InformationList-AuditRsp PRESENCE optional }|
+ { ID id-CCP-InformationList-AuditRsp CRITICALITY ignore TYPE CCP-InformationList-AuditRsp PRESENCE optional }|
+ -- CCP (Communication Control Port) --
+ { ID id-Local-Cell-InformationList-AuditRsp CRITICALITY ignore TYPE Local-Cell-InformationList-AuditRsp PRESENCE optional }|
+ { ID id-Local-Cell-Group-InformationList-AuditRsp CRITICALITY ignore TYPE Local-Cell-Group-InformationList-AuditRsp PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+AuditResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Power-Local-Cell-Group-InformationList-AuditRsp CRITICALITY ignore EXTENSION Power-Local-Cell-Group-InformationList-AuditRsp PRESENCE optional },
+ ...
+}
+
+Cell-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ Cell-InformationItemIE-AuditRsp}}
+
+Cell-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-Cell-InformationItem-AuditRsp CRITICALITY ignore TYPE Cell-InformationItem-AuditRsp PRESENCE optional }
+}
+
+Cell-InformationItem-AuditRsp ::= SEQUENCE {
+ c-ID C-ID,
+ configurationGenerationID ConfigurationGenerationID,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ local-Cell-ID Local-Cell-ID,
+ primary-SCH-Information P-SCH-Information-AuditRsp OPTIONAL,
+ secondary-SCH-Information S-SCH-Information-AuditRsp OPTIONAL,
+ primary-CPICH-Information P-CPICH-Information-AuditRsp OPTIONAL,
+ secondary-CPICH-InformationList S-CPICH-InformationList-AuditRsp OPTIONAL,
+ primary-CCPCH-Information P-CCPCH-Information-AuditRsp OPTIONAL,
+ bCH-Information BCH-Information-AuditRsp OPTIONAL,
+ secondary-CCPCH-InformationList S-CCPCH-InformationList-AuditRsp OPTIONAL,
+ pCH-Information PCH-Information-AuditRsp OPTIONAL,
+ pICH-Information PICH-Information-AuditRsp OPTIONAL,
+ fACH-InformationList FACH-InformationList-AuditRsp OPTIONAL,
+ pRACH-InformationList PRACH-InformationList-AuditRsp OPTIONAL,
+ rACH-InformationList RACH-InformationList-AuditRsp OPTIONAL,
+ aICH-InformationList AICH-InformationList-AuditRsp OPTIONAL,
+ notUsed-1-pCPCH-InformationList NULL OPTIONAL,
+ notUsed-2-cPCH-InformationList NULL OPTIONAL,
+ notUsed-3-aP-AICH-InformationList NULL OPTIONAL,
+ notUsed-4-cDCA-ICH-InformationList NULL OPTIONAL,
+ sCH-Information SCH-Information-AuditRsp OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Cell-InformationItem-AuditRsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cell-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-FPACH-LCR-InformationList-AuditRsp CRITICALITY ignore EXTENSION FPACH-LCR-InformationList-AuditRsp PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-DwPCH-LCR-InformationList-AuditRsp CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-HSDSCH-Resources-Information-AuditRsp CRITICALITY ignore EXTENSION HS-DSCH-Resources-Information-AuditRsp PRESENCE optional }|
+ -- For 1.28Mcps TDD, this HS-DSCH Resource Information is for the first Frequency repetition, HS-DSCH Resource Information for Frequency repetitions 2 and on, should be defined in MultipleFreq-HS-DSCH-Resources-InformationList-AuditRsp.
+ { ID id-MICH-Information-AuditRsp CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information PRESENCE optional }|
+ { ID id-S-CCPCH-InformationListExt-AuditRsp CRITICALITY ignore EXTENSION S-CCPCH-InformationListExt-AuditRsp PRESENCE optional }|
+ -- Applicable to 3.84Mcps TDD only, used when there are more than maxSCCPCHCell SCCPCHs in the cell.
+ { ID id-S-CCPCH-LCR-InformationListExt-AuditRsp CRITICALITY ignore EXTENSION S-CCPCH-LCR-InformationListExt-AuditRsp PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only, used when there are more than maxSCCPCHCell SCCPCHs in the cell.
+ { ID id-E-DCH-Resources-Information-AuditRsp CRITICALITY ignore EXTENSION E-DCH-Resources-Information-AuditRsp PRESENCE optional }|
+ -- For 1.28Mcps TDD, this E-DCH Resource Information is for the first Frequency repetition, E-DCH Resource Information for Frequency repetitions 2 and on, should be defined in MultipleFreq-E-DCH-Resources-InformationList-AuditRsp.
+ { ID id-PLCCH-InformationList-AuditRsp CRITICALITY ignore EXTENSION PLCCH-InformationList-AuditRsp PRESENCE optional }|
+ { ID id-P-CCPCH-768-Information-AuditRsp CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information768 PRESENCE optional }|
+ { ID id-S-CCPCH-768-InformationList-AuditRsp CRITICALITY ignore EXTENSION S-CCPCH-768-InformationList-AuditRsp PRESENCE optional }|
+ { ID id-PICH-768-Information-AuditRsp CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information768 PRESENCE optional }|
+ { ID id-PRACH-768-InformationList-AuditRsp CRITICALITY ignore EXTENSION PRACH-768-InformationList-AuditRsp PRESENCE optional }|
+ { ID id-SCH-768-Information-AuditRsp CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information768 PRESENCE optional }|
+ { ID id-MICH-768-Information-AuditRsp CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information768 PRESENCE optional }|
+ { ID id-E-RUCCH-InformationList-AuditRsp CRITICALITY ignore EXTENSION E-RUCCH-InformationList-AuditRsp PRESENCE optional }|
+ { ID id-E-RUCCH-768-InformationList-AuditRsp CRITICALITY ignore EXTENSION E-RUCCH-768-InformationList-AuditRsp PRESENCE optional }|
+ { ID id-Cell-Frequency-List-Information-LCR-MulFreq-AuditRsp CRITICALITY ignore EXTENSION Cell-Frequency-List-Information-LCR-MulFreq-AuditRsp PRESENCE optional }| -- Applicable to 1.28Mcps TDD when using multiple frequencies
+ { ID id-UPPCH-LCR-InformationList-AuditRsp CRITICALITY ignore EXTENSION UPPCH-LCR-InformationList-AuditRsp PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-multipleFreq-HS-DSCH-Resources-InformationList-AuditRsp CRITICALITY ignore EXTENSION MultipleFreq-HS-DSCH-Resources-InformationList-AuditRsp PRESENCE optional }|
+-- Applicable to 1.28Mcps TDD when using multiple frequencies.This HS-DSCH Resource Information is for the 2nd and beyond frequencies.
+ { ID id-MultipleFreq-E-DCH-Resources-InformationList-AuditRsp CRITICALITY ignore EXTENSION MultipleFreq-E-DCH-Resources-InformationList-AuditRsp PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies. This E-DCH Resource Information is for the 2nd and beyond frequencies.
+ ...
+}
+
+P-SCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ P-SCH-InformationIE-AuditRsp }}
+
+P-SCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-P-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+S-SCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ S-SCH-InformationIE-AuditRsp }}
+
+S-SCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-S-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+P-CPICH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ P-CPICH-InformationIE-AuditRsp }}
+
+P-CPICH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-P-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+S-CPICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container {{ S-CPICH-InformationItemIE-AuditRsp }}
+
+S-CPICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-S-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+P-CCPCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ P-CCPCH-InformationIE-AuditRsp }}
+
+P-CCPCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-P-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+BCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ BCH-InformationIE-AuditRsp }}
+
+BCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-BCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
+}
+
+S-CCPCH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxSCCPCHCell)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-AuditRsp }}
+
+S-CCPCH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-S-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+PCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ PCH-InformationIE-AuditRsp }}
+
+PCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-PCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
+}
+
+PICH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ PICH-InformationIE-AuditRsp }}
+
+PICH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-PICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+FACH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxFACHCell)) OF ProtocolIE-Single-Container {{ FACH-InformationItemIE-AuditRsp }}
+
+FACH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-FACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
+}
+
+PRACH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ PRACH-InformationItemIE-AuditRsp }}
+
+PRACH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-PRACH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+RACH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxRACHCell)) OF ProtocolIE-Single-Container {{ RACH-InformationItemIE-AuditRsp }}
+
+RACH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-RACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
+}
+
+AICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ AICH-InformationItemIE-AuditRsp }}
+
+AICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+SCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ SCH-InformationIE-AuditRsp }}
+
+SCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+FPACH-LCR-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxFPACHCell)) OF ProtocolIE-Single-Container {{ FPACH-LCR-InformationItemIE-AuditRsp }}
+
+FPACH-LCR-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-FPACH-LCR-Information-AuditRsp CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+HS-DSCH-Resources-Information-AuditRsp ::= SEQUENCE {
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer {{ HS-DSCH-Resources-Information-AuditRsp-ExtIEs }} OPTIONAL,
+ ...
+}
+
+HS-DSCH-Resources-Information-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies.
+ ...
+}
+
+S-CCPCH-InformationListExt-AuditRsp ::= SEQUENCE (SIZE (1..maxSCCPCHCellinExt)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-AuditRsp }}
+
+S-CCPCH-LCR-InformationListExt-AuditRsp ::= SEQUENCE (SIZE (1..maxSCCPCHCellinExtLCR)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-AuditRsp }}
+
+E-DCH-Resources-Information-AuditRsp ::= SEQUENCE {
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer {{ E-DCH-Resources-Information-AuditRsp-ExtIEs }} OPTIONAL,
+ ...
+}
+
+E-DCH-Resources-Information-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies.
+ ...
+}
+
+PLCCH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPLCCHCell)) OF ProtocolIE-Single-Container {{ PLCCH-InformationItemIE-AuditRsp }}
+
+PLCCH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-PLCCH-Information-AuditRsp CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+S-CCPCH-768-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxSCCPCHCell768)) OF ProtocolIE-Single-Container {{ S-CCPCH-768-InformationItemIE-AuditRsp }}
+
+S-CCPCH-768-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-S-CCPCH-768-Information-AuditRsp CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information768 PRESENCE mandatory }
+}
+
+PRACH-768-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ PRACH-768-InformationItemIE-AuditRsp }}
+
+PRACH-768-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-PRACH-768-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information768 PRESENCE mandatory }
+}
+
+E-RUCCH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxE-RUCCHCell)) OF ProtocolIE-Single-Container {{ E-RUCCH-InformationItemIE-AuditRsp }}
+
+E-RUCCH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-E-RUCCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+E-RUCCH-768-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxE-RUCCHCell)) OF ProtocolIE-Single-Container {{ E-RUCCH-768-InformationItemIE-AuditRsp }}
+
+E-RUCCH-768-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-E-RUCCH-768-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information768 PRESENCE mandatory }
+}
+
+Cell-Frequency-List-Information-LCR-MulFreq-AuditRsp ::= SEQUENCE (SIZE (1..maxFrequencyinCell)) OF ProtocolIE-Single-Container {{ Cell-Frequency-List-InformationIE-LCR-MulFreq-AuditRsp }}
+
+Cell-Frequency-List-InformationIE-LCR-MulFreq-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-Cell-Frequency-List-InformationItem-LCR-MulFreq-AuditRsp CRITICALITY ignore TYPE Cell-Frequency-List-InformationItem-LCR-MulFreq-AuditRsp PRESENCE mandatory }
+}
+
+Cell-Frequency-List-InformationItem-LCR-MulFreq-AuditRsp ::= SEQUENCE {
+ uARFCN UARFCN,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer {{ Cell-Frequency-List-InformationItem-LCR-MulFreq-AuditRsp-ExtIEs }} OPTIONAL,
+ ...
+}
+
+Cell-Frequency-List-InformationItem-LCR-MulFreq-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UPPCH-LCR-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxFrequencyinCell)) OF ProtocolIE-Single-Container {{ UPPCH-LCR-InformationIE-AuditRsp }}
+
+UPPCH-LCR-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-UPPCH-LCR-InformationItem-AuditRsp CRITICALITY ignore TYPE UPPCH-LCR-InformationItem-AuditRsp PRESENCE mandatory }
+}
+
+UPPCH-LCR-InformationItem-AuditRsp ::= SEQUENCE {
+ uARFCN UARFCN OPTIONAL,
+ uPPCHPositionLCR UPPCHPositionLCR,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer {{ UPPCH-LCR-InformationItem-AuditRsp-ExtIEs }} OPTIONAL,
+ ...
+}
+
+UPPCH-LCR-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleFreq-HS-DSCH-Resources-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF ProtocolIE-Single-Container {{ MultipleFreq-HS-DSCH-Resources-InformationItem-AuditRsp}}
+--Includes the 2nd through the max number of frequencies information repetitions.
+
+MultipleFreq-HS-DSCH-Resources-InformationItem-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-HSDSCH-Resources-Information-AuditRsp CRITICALITY ignore TYPE HS-DSCH-Resources-Information-AuditRsp PRESENCE mandatory }
+}
+
+MultipleFreq-E-DCH-Resources-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF ProtocolIE-Single-Container {{ MultipleFreq-E-DCH-Resources-InformationItem-AuditRsp}}
+ -- Includes the 2nd through the max number of frequencies information repetitions.
+
+MultipleFreq-E-DCH-Resources-InformationItem-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-E-DCH-Resources-Information-AuditRsp CRITICALITY ignore TYPE E-DCH-Resources-Information-AuditRsp PRESENCE mandatory }
+}
+
+CCP-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCCPinNodeB)) OF ProtocolIE-Single-Container {{ CCP-InformationItemIE-AuditRsp }}
+
+CCP-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-CCP-InformationItem-AuditRsp CRITICALITY ignore TYPE CCP-InformationItem-AuditRsp PRESENCE mandatory }
+}
+
+CCP-InformationItem-AuditRsp ::= SEQUENCE {
+ communicationControlPortID CommunicationControlPortID,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer {{ CCP-InformationItem-AuditRsp-ExtIEs }} OPTIONAL,
+ ...
+}
+CCP-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Local-Cell-InformationList-AuditRsp ::=SEQUENCE (SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-InformationItemIE-AuditRsp }}
+
+Local-Cell-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-Local-Cell-InformationItem-AuditRsp CRITICALITY ignore TYPE Local-Cell-InformationItem-AuditRsp PRESENCE mandatory}
+}
+
+Local-Cell-InformationItem-AuditRsp ::= SEQUENCE {
+ local-Cell-ID Local-Cell-ID,
+ dl-or-global-capacityCredit DL-or-Global-CapacityCredit,
+ ul-capacityCredit UL-CapacityCredit OPTIONAL,
+ commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw,
+ dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw,
+ maximumDL-PowerCapability MaximumDL-PowerCapability OPTIONAL,
+ minSpreadingFactor MinSpreadingFactor OPTIONAL,
+ minimumDL-PowerCapability MinimumDL-PowerCapability OPTIONAL,
+ local-Cell-Group-ID Local-Cell-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{ Local-Cell-InformationItem-AuditRsp-ExtIEs}} OPTIONAL,
+ ...
+}
+
+Local-Cell-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ReferenceClockAvailability CRITICALITY ignore EXTENSION ReferenceClockAvailability PRESENCE optional }|
+ { ID id-Power-Local-Cell-Group-ID CRITICALITY ignore EXTENSION Local-Cell-ID PRESENCE optional }|
+ { ID id-HSDPA-Capability CRITICALITY ignore EXTENSION HSDPA-Capability PRESENCE optional }|
+ { ID id-E-DCH-Capability CRITICALITY ignore EXTENSION E-DCH-Capability PRESENCE optional }|
+ { ID id-E-DCH-TTI2ms-Capability CRITICALITY ignore EXTENSION E-DCH-TTI2ms-Capability PRESENCE conditional }|
+ -- The IE shall be present if E-DCH Capability IE is set to "E-DCH Capable".
+ { ID id-E-DCH-SF-Capability CRITICALITY ignore EXTENSION E-DCH-SF-Capability PRESENCE conditional }|
+ -- The IE shall be present if E-DCH Capability IE is set to "E-DCH Capable".
+ { ID id-E-DCH-HARQ-Combining-Capability CRITICALITY ignore EXTENSION E-DCH-HARQ-Combining-Capability PRESENCE conditional }|
+ -- The IE shall be present if E-DCH Capability IE is set to "E-DCH Capable".
+ { ID id-E-DCH-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCHCapacityConsumptionLaw PRESENCE optional }|
+ { ID id-F-DPCH-Capability CRITICALITY ignore EXTENSION F-DPCH-Capability PRESENCE optional }|
+ { ID id-E-DCH-TDD-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCH-TDD-CapacityConsumptionLaw PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivityDTX-DRX-Capability CRITICALITY ignore EXTENSION ContinuousPacketConnectivityDTX-DRX-Capability PRESENCE optional }|
+ { ID id-Max-UE-DTX-Cycle CRITICALITY ignore EXTENSION Max-UE-DTX-Cycle PRESENCE conditional }|
+ -- The IE shall be present if Continuous Packet Connectivity DTX-DRX Capability IE is present and set to "Continuous Packet Connectivity DTX-DRX Capable".
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Capability CRITICALITY ignore EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Capability PRESENCE optional }|
+ { ID id-MIMO-Capability CRITICALITY ignore EXTENSION MIMO-Capability PRESENCE optional }|
+ { ID id-SixtyfourQAM-DL-Capability CRITICALITY ignore EXTENSION SixtyfourQAM-DL-Capability PRESENCE optional }|
+ { ID id-MBMS-Capability CRITICALITY ignore EXTENSION MBMS-Capability PRESENCE optional }|
+ { ID id-Enhanced-FACH-Capability CRITICALITY ignore EXTENSION Enhanced-FACH-Capability PRESENCE optional }|
+ { ID id-Enhanced-PCH-Capability CRITICALITY ignore EXTENSION Enhanced-PCH-Capability PRESENCE conditional }|
+ -- The IE shall be present if Enhanced FACH Capability IE is set to "Enhanced FACH Capable".
+ { ID id-SixteenQAM-UL-Capability CRITICALITY ignore EXTENSION SixteenQAM-UL-Capability PRESENCE optional }|
+ { ID id-HSDSCH-MACdPDU-SizeCapability CRITICALITY ignore EXTENSION HSDSCH-MACdPDU-SizeCapability PRESENCE optional }|
+ { ID id-MBSFN-Only-Mode-Capability CRITICALITY ignore EXTENSION MBSFN-Only-Mode-Capability PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormatCapability CRITICALITY ignore EXTENSION F-DPCH-SlotFormatCapability PRESENCE optional }|
+ { ID id-E-DCH-MACdPDU-SizeCapability CRITICALITY ignore EXTENSION E-DCH-MACdPDU-SizeCapability PRESENCE optional }|
+ { ID id-Common-EDCH-Capability CRITICALITY ignore EXTENSION Common-EDCH-Capability PRESENCE optional }|
+ { ID id-E-AI-Capability CRITICALITY ignore EXTENSION E-AI-Capability PRESENCE optional }|
+ -- The IE shall be present if Common E-DCH Capability IE is present and set to "Common E-DCH Capable".
+ { ID id-Enhanced-UE-DRX-Capability CRITICALITY ignore EXTENSION Enhanced-UE-DRX-Capability PRESENCE optional }|
+ { ID id-Enhanced-UE-DRX-CapabilityLCR CRITICALITY ignore EXTENSION Enhanced-UE-DRX-Capability PRESENCE optional }|
+ { ID id-E-DPCCH-Power-Boosting-Capability CRITICALITY ignore EXTENSION E-DPCCH-Power-Boosting-Capability PRESENCE optional }|
+ { ID id-SixtyfourQAM-DL-MIMO-Combined-Capability CRITICALITY ignore EXTENSION SixtyfourQAM-DL-MIMO-Combined-Capability PRESENCE optional}|
+ { ID id-Multi-Cell-Capability-Info CRITICALITY ignore EXTENSION Multi-Cell-Capability-Info PRESENCE optional }|
+ { ID id-Semi-PersistentScheduling-CapabilityLCR CRITICALITY ignore EXTENSION Semi-PersistentScheduling-CapabilityLCR PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivity-DRX-CapabilityLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-CapabilityLCR PRESENCE optional }|
+ { ID id-Common-E-DCH-HSDPCCH-Capability CRITICALITY ignore EXTENSION Common-E-DCH-HSDPCCH-Capability PRESENCE optional }|
+ -- The IE shall be present if Common E-DCH Capability IE is present and set to "Common E-DCH Capable".
+ { ID id-MIMO-Power-Offset-For-S-CPICH-Capability CRITICALITY ignore EXTENSION MIMO-PowerOffsetForS-CPICHCapability PRESENCE optional } |
+ { ID id-TxDiversityOnDLControlChannelsByMIMOUECapability CRITICALITY ignore EXTENSION TxDiversityOnDLControlChannelsByMIMOUECapability PRESENCE optional }|
+ { ID id-Single-Stream-MIMO-Capability CRITICALITY ignore EXTENSION Single-Stream-MIMO-Capability PRESENCE optional }|
+ { ID id-Dual-Band-Capability-Info CRITICALITY ignore EXTENSION Dual-Band-Capability-Info PRESENCE optional }|
+ { ID id-CellPortion-CapabilityLCR CRITICALITY ignore EXTENSION CellPortion-CapabilityLCR PRESENCE optional }|
+ { ID id-Cell-Capability-Container CRITICALITY ignore EXTENSION Cell-Capability-Container PRESENCE optional }|
+ { ID id-TS0-CapabilityLCR CRITICALITY ignore EXTENSION TS0-CapabilityLCR PRESENCE optional }|
+ { ID id-PrecodingWeightSetRestriction CRITICALITY ignore EXTENSION PrecodingWeightSetRestriction PRESENCE optional },
+ ...
+}
+
+Local-Cell-Group-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-Group-InformationItemIE-AuditRsp }}
+
+Local-Cell-Group-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-Local-Cell-Group-InformationItem-AuditRsp CRITICALITY ignore TYPE Local-Cell-Group-InformationItem-AuditRsp PRESENCE mandatory}
+}
+
+Local-Cell-Group-InformationItem-AuditRsp ::= SEQUENCE {
+ local-Cell-Group-ID Local-Cell-ID,
+ dl-or-global-capacityCredit DL-or-Global-CapacityCredit,
+ ul-capacityCredit UL-CapacityCredit OPTIONAL,
+ commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw,
+ dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw,
+ iE-Extensions ProtocolExtensionContainer {{ Local-Cell-Group-InformationItem-AuditRsp-ExtIEs}} OPTIONAL,
+ ...
+}
+
+Local-Cell-Group-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCHCapacityConsumptionLaw PRESENCE optional }|
+ { ID id-E-DCH-TDD-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCH-TDD-CapacityConsumptionLaw PRESENCE optional },
+ ...
+}
+
+Power-Local-Cell-Group-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Power-Local-Cell-Group-InformationItemIE-AuditRsp }}
+
+Power-Local-Cell-Group-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-Power-Local-Cell-Group-InformationItem-AuditRsp CRITICALITY ignore TYPE Power-Local-Cell-Group-InformationItem-AuditRsp PRESENCE mandatory}
+}
+
+Power-Local-Cell-Group-InformationItem-AuditRsp ::= SEQUENCE {
+ power-Local-Cell-Group-ID Local-Cell-ID,
+ maximumDL-PowerCapability MaximumDL-PowerCapability,
+ iE-Extensions ProtocolExtensionContainer {{ Power-Local-Cell-Group-InformationItem-AuditRsp-ExtIEs}} OPTIONAL,
+ ...
+}
+
+Power-Local-Cell-Group-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- AUDIT FAILURE
+--
+-- **************************************************************
+
+AuditFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{AuditFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{AuditFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+AuditFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+AuditFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT INITIATION REQUEST
+--
+-- **************************************************************
+
+CommonMeasurementInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementInitiationRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY reject TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-CommonMeasurementObjectType-CM-Rqst CRITICALITY reject TYPE CommonMeasurementObjectType-CM-Rqst PRESENCE mandatory }|
+ { ID id-CommonMeasurementType CRITICALITY reject TYPE CommonMeasurementType PRESENCE mandatory }|
+ { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional }|
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory }|
+ { ID id-SFNReportingIndicator CRITICALITY reject TYPE FNReportingIndicator PRESENCE mandatory }|
+ { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional },
+ ...
+}
+
+CommonMeasurementInitiationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CommonMeasurementAccuracy CRITICALITY reject EXTENSION CommonMeasurementAccuracy PRESENCE optional}|
+ { ID id-MeasurementRecoveryBehavior CRITICALITY ignore EXTENSION MeasurementRecoveryBehavior PRESENCE optional }|
+ { ID id-RTWP-ReportingIndicator CRITICALITY reject EXTENSION RTWP-ReportingIndicator PRESENCE optional}|
+ { ID id-RTWP-CellPortion-ReportingIndicator CRITICALITY reject EXTENSION RTWP-CellPortion-ReportingIndicator PRESENCE optional}|
+ { ID id-Reference-ReceivedTotalWideBandPowerReporting CRITICALITY ignore EXTENSION Reference-ReceivedTotalWideBandPowerReporting PRESENCE optional}|
+ { ID id-GANSS-Time-ID CRITICALITY ignore EXTENSION GANSS-Time-ID PRESENCE optional},
+ ...
+}
+
+CommonMeasurementObjectType-CM-Rqst ::= CHOICE {
+ cell Cell-CM-Rqst,
+ rACH RACH-CM-Rqst,
+ notUsed-cPCH NULL,
+ ...,
+ extension-CommonMeasurementObjectType-CM-Rqst Extension-CommonMeasurementObjectType-CM-Rqst
+}
+
+Extension-CommonMeasurementObjectType-CM-Rqst ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementObjectType-CM-RqstIE }}
+
+Extension-CommonMeasurementObjectType-CM-RqstIE NBAP-PROTOCOL-IES ::= {
+ { ID id-Power-Local-Cell-Group-choice-CM-Rqst CRITICALITY reject TYPE PowerLocalCellGroup-CM-Rqst PRESENCE mandatory }|
+ { ID id-ERACH-CM-Rqst CRITICALITY reject TYPE ERACH-CM-Rqst PRESENCE mandatory}
+ -- FDD only
+}
+
+ERACH-CM-Rqst ::= SEQUENCE {
+ c-ID C-ID,
+ iE-Extensions ProtocolExtensionContainer { { ERACHItem-CM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+ERACHItem-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cell-CM-Rqst ::= SEQUENCE {
+ c-ID C-ID,
+ timeSlot TimeSlot OPTIONAL, -- Applicable to 3.84Mcps TDD and 7.68Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { { CellItem-CM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellItem-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TimeSlotLCR-CM-Rqst CRITICALITY reject EXTENSION TimeSlotLCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ {ID id-NeighbouringCellMeasurementInformation CRITICALITY ignore EXTENSION NeighbouringCellMeasurementInformation PRESENCE optional }|
+ {ID id-UARFCNforNt CRITICALITY reject EXTENSION UARFCN PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD when using multiple frequencies and the requested common measurementype is the one except for "HS-DSCH Required Power" or "HS-DSCH Provided Bit Rate"
+ {ID id-UPPCHPositionLCR CRITICALITY reject EXTENSION UPPCHPositionLCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ {ID id-AdditionalTimeSlotListLCR CRITICALITY ignore EXTENSION AdditionalTimeSlotListLCR PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+RACH-CM-Rqst ::= SEQUENCE {
+ c-ID C-ID,
+ commonTransportChannelID CommonTransportChannelID,
+ iE-Extensions ProtocolExtensionContainer { { RACHItem-CM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RACHItem-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PowerLocalCellGroup-CM-Rqst ::= SEQUENCE {
+ powerLocalCellGroupID Local-Cell-ID,
+ iE-Extensions ProtocolExtensionContainer {{ PowerLocalCellGroup-CM-Rqst-ExtIEs }} OPTIONAL,
+ ...
+}
+
+PowerLocalCellGroup-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT INITIATION RESPONSE
+--
+-- **************************************************************
+
+CommonMeasurementInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementInitiationResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-CommonMeasurementObjectType-CM-Rsp CRITICALITY ignore TYPE CommonMeasurementObjectType-CM-Rsp PRESENCE optional }|
+ { ID id-SFN CRITICALITY ignore TYPE SFN PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CommonMeasurementInitiationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CommonMeasurementAccuracy CRITICALITY ignore EXTENSION CommonMeasurementAccuracy PRESENCE optional }|
+ { ID id-MeasurementRecoverySupportIndicator CRITICALITY ignore EXTENSION MeasurementRecoverySupportIndicator PRESENCE optional }|
+ { ID id-Reference-ReceivedTotalWideBandPowerSupportIndicator CRITICALITY ignore EXTENSION Reference-ReceivedTotalWideBandPowerSupportIndicator PRESENCE optional }|
+ { ID id-Reference-ReceivedTotalWideBandPower CRITICALITY ignore EXTENSION Reference-ReceivedTotalWideBandPower PRESENCE optional },
+ ...
+}
+
+CommonMeasurementObjectType-CM-Rsp ::= CHOICE {
+ cell Cell-CM-Rsp,
+ rACH RACH-CM-Rsp,
+ notUsed-cPCH NULL,
+ ...,
+ extension-CommonMeasurementObjectType-CM-Rsp Extension-CommonMeasurementObjectType-CM-Rsp
+}
+
+Extension-CommonMeasurementObjectType-CM-Rsp ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementObjectType-CM-RspIE }}
+
+Extension-CommonMeasurementObjectType-CM-RspIE NBAP-PROTOCOL-IES ::= {
+ { ID id-Power-Local-Cell-Group-choice-CM-Rsp CRITICALITY ignore TYPE PowerLocalCellGroup-CM-Rsp PRESENCE mandatory }|
+ { ID id-ERACH-CM-Rsp CRITICALITY ignore TYPE ERACH-CM-Rsp PRESENCE mandatory }
+ -- FDD only
+}
+
+ERACH-CM-Rsp ::= SEQUENCE {
+ commonMeasurementValue CommonMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { ERACHItem-CM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+ERACHItem-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cell-CM-Rsp ::= SEQUENCE {
+ commonMeasurementValue CommonMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { CellItem-CM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellItem-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-AdditionalMeasurementValueList CRITICALITY ignore EXTENSION AdditionalMeasurementValueList PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ {ID id-TimeSlotMeasurementValueListLCR CRITICALITY ignore EXTENSION TimeSlotMeasurementValueListLCR PRESENCE optional },
+-- Applicable to 1.28Mcps TDD, this IE is for the measurement value from the Primary frequency
+ ...
+}
+
+RACH-CM-Rsp ::= SEQUENCE {
+ commonMeasurementValue CommonMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { RACHItem-CM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RACHItem-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PowerLocalCellGroup-CM-Rsp ::= SEQUENCE {
+ commonMeasurementValue CommonMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer {{ PowerLocalCellGroup-CM-Rsp-ExtIEs}} OPTIONAL,
+ ...
+}
+
+PowerLocalCellGroup-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT INITIATION FAILURE
+--
+-- **************************************************************
+
+CommonMeasurementInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementInitiationFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CommonMeasurementInitiationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT REPORT
+--
+-- **************************************************************
+
+CommonMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementReport-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementReport-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-CommonMeasurementObjectType-CM-Rprt CRITICALITY ignore TYPE CommonMeasurementObjectType-CM-Rprt PRESENCE mandatory }|
+ { ID id-SFN CRITICALITY ignore TYPE SFN PRESENCE optional },
+ ...
+}
+
+CommonMeasurementReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MeasurementRecoveryReportingIndicator CRITICALITY ignore EXTENSION MeasurementRecoveryReportingIndicator PRESENCE optional }|
+ { ID id-Reference-ReceivedTotalWideBandPower CRITICALITY ignore EXTENSION Reference-ReceivedTotalWideBandPower PRESENCE optional },
+ ...
+}
+
+CommonMeasurementObjectType-CM-Rprt ::= CHOICE {
+ cell Cell-CM-Rprt,
+ rACH RACH-CM-Rprt,
+ notUsed-cPCH NULL,
+ ...,
+ extension-CommonMeasurementObjectType-CM-Rprt Extension-CommonMeasurementObjectType-CM-Rprt
+}
+
+Extension-CommonMeasurementObjectType-CM-Rprt ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementObjectType-CM-RprtIE }}
+
+Extension-CommonMeasurementObjectType-CM-RprtIE NBAP-PROTOCOL-IES ::= {
+ { ID id-Power-Local-Cell-Group-choice-CM-Rprt CRITICALITY ignore TYPE PowerLocalCellGroup-CM-Rprt PRESENCE mandatory }|
+ { ID id-ERACH-CM-Rprt CRITICALITY ignore TYPE ERACH-CM-Rprt PRESENCE mandatory },
+ ...
+}
+
+ERACH-CM-Rprt ::= SEQUENCE {
+ commonMeasurementValueInformation CommonMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer {{ ERACHItem-CM-Rprt-ExtIEs }} OPTIONAL,
+ ...
+}
+
+ERACHItem-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cell-CM-Rprt ::= SEQUENCE {
+ commonMeasurementValueInformation CommonMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer {{ CellItem-CM-Rprt-ExtIEs }} OPTIONAL,
+ ...
+}
+
+CellItem-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-C-ID CRITICALITY ignore EXTENSION C-ID PRESENCE optional}|
+ {ID id-AdditionalMeasurementValueList CRITICALITY ignore EXTENSION AdditionalMeasurementValueList PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ {ID id-TimeSlotMeasurementValueListLCR CRITICALITY ignore EXTENSION TimeSlotMeasurementValueListLCR PRESENCE optional },
+-- Applicable to 1.28Mcps TDD, this IE is for the measurement value from the Primary frequency
+ ...
+}
+
+
+RACH-CM-Rprt ::= SEQUENCE {
+ commonMeasurementValueInformation CommonMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer {{ RACHItem-CM-Rprt-ExtIEs }} OPTIONAL,
+ ...
+}
+
+RACHItem-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-C-ID CRITICALITY ignore EXTENSION C-ID PRESENCE optional},
+ ...
+}
+
+PowerLocalCellGroup-CM-Rprt ::= SEQUENCE {
+ commonMeasurementValueInformation CommonMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer {{ PowerLocalCellGroup-CM-Rprt-ExtIEs}} OPTIONAL,
+ ...
+}
+
+PowerLocalCellGroup-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT TERMINATION REQUEST
+--
+-- **************************************************************
+
+CommonMeasurementTerminationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementTerminationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementTerminationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementTerminationRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory },
+ ...
+}
+
+CommonMeasurementTerminationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT FAILURE INDICATION
+--
+-- **************************************************************
+
+CommonMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+CommonMeasurementFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SETUP REQUEST FDD
+--
+-- **************************************************************
+
+CellSetupRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSetupRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSetupRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSetupRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Local-Cell-ID CRITICALITY reject TYPE Local-Cell-ID PRESENCE mandatory }|
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
+ { ID id-T-Cell CRITICALITY reject TYPE T-Cell PRESENCE mandatory }|
+ { ID id-UARFCNforNu CRITICALITY reject TYPE UARFCN PRESENCE mandatory }|
+ { ID id-UARFCNforNd CRITICALITY reject TYPE UARFCN PRESENCE mandatory }|
+ { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE mandatory }|
+ { ID id-Closed-Loop-Timing-Adjustment-Mode CRITICALITY reject TYPE Closedlooptimingadjustmentmode PRESENCE optional }|
+ { ID id-PrimaryScramblingCode CRITICALITY reject TYPE PrimaryScramblingCode PRESENCE mandatory }|
+ { ID id-Synchronisation-Configuration-Cell-SetupRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-SetupRqst PRESENCE mandatory }|
+ { ID id-DL-TPC-Pattern01Count CRITICALITY reject TYPE DL-TPC-Pattern01Count PRESENCE mandatory }|
+ { ID id-PrimarySCH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE PrimarySCH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
+ { ID id-SecondarySCH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE SecondarySCH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
+ { ID id-PrimaryCPICH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE PrimaryCPICH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
+ { ID id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationList-Cell-SetupRqstFDD PRESENCE optional }|
+ { ID id-PrimaryCCPCH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE PrimaryCCPCH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
+ { ID id-Limited-power-increase-information-Cell-SetupRqstFDD CRITICALITY reject TYPE Limited-power-increase-information-Cell-SetupRqstFDD PRESENCE mandatory },
+ ...
+}
+
+CellSetupRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IPDLParameter-Information-Cell-SetupRqstFDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-SetupRqstFDD PRESENCE optional }|
+ { ID id-CellPortion-InformationList-Cell-SetupRqstFDD CRITICALITY reject EXTENSION CellPortion-InformationList-Cell-SetupRqstFDD PRESENCE optional }|
+ { ID id-MIMO-PilotConfiguration CRITICALITY reject EXTENSION MIMO-PilotConfiguration PRESENCE optional }|
+ { ID id-MIMO-PilotConfigurationExtension CRITICALITY reject EXTENSION MIMO-PilotConfigurationExtension PRESENCE optional },
+...
+}
+
+Synchronisation-Configuration-Cell-SetupRqst ::= SEQUENCE {
+ n-INSYNC-IND N-INSYNC-IND,
+ n-OUTSYNC-IND N-OUTSYNC-IND,
+ t-RLFAILURE T-RLFAILURE,
+ iE-Extensions ProtocolExtensionContainer { { Synchronisation-Configuration-Cell-SetupRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Synchronisation-Configuration-Cell-SetupRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PrimarySCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ primarySCH-Power DL-Power,
+ tSTD-Indicator TSTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { PrimarySCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PrimarySCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecondarySCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ secondarySCH-Power DL-Power,
+ tSTD-Indicator TSTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { SecondarySCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecondarySCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PrimaryCPICH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ primaryCPICH-Power PrimaryCPICH-Power,
+ transmitDiversityIndicator TransmitDiversityIndicator,
+ iE-Extensions ProtocolExtensionContainer { { PrimaryCPICH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PrimaryCPICH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecondaryCPICH-InformationList-Cell-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container{{ SecondaryCPICH-InformationItemIE-Cell-SetupRqstFDD }}
+
+SecondaryCPICH-InformationItemIE-Cell-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationItem-Cell-SetupRqstFDD PRESENCE mandatory}
+}
+
+SecondaryCPICH-InformationItem-Cell-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ dl-ScramblingCode DL-ScramblingCode,
+ fDD-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+ secondaryCPICH-Power DL-Power,
+ transmitDiversityIndicator TransmitDiversityIndicator,
+ iE-Extensions ProtocolExtensionContainer { { SecondaryCPICH-InformationItem-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecondaryCPICH-InformationItem-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PrimaryCCPCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ bCH-information BCH-Information-Cell-SetupRqstFDD,
+ sTTD-Indicator STTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { PrimaryCCPCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PrimaryCCPCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ bCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { BCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+BCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Limited-power-increase-information-Cell-SetupRqstFDD ::= SEQUENCE {
+ powerRaiseLimit PowerRaiseLimit,
+ dLPowerAveragingWindowSize DLPowerAveragingWindowSize,
+ iE-Extensions ProtocolExtensionContainer { { Limited-power-increase-information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Limited-power-increase-information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDLParameter-Information-Cell-SetupRqstFDD::= SEQUENCE {
+ iPDL-FDD-Parameters IPDL-FDD-Parameters,
+ iPDL-Indicator IPDL-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPDLParameter-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellPortion-InformationList-Cell-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF ProtocolIE-Single-Container{{ CellPortion-InformationItemIE-Cell-SetupRqstFDD }}
+
+CellPortion-InformationItemIE-Cell-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-CellPortion-InformationItem-Cell-SetupRqstFDD CRITICALITY reject TYPE CellPortion-InformationItem-Cell-SetupRqstFDD PRESENCE mandatory }
+}
+
+CellPortion-InformationItem-Cell-SetupRqstFDD::= SEQUENCE {
+ cellPortionID CellPortionID,
+ associatedSecondaryCPICH CommonPhysicalChannelID,
+ maximumTransmissionPowerforCellPortion MaximumTransmissionPower,
+ iE-Extensions ProtocolExtensionContainer { { CellPortion-InformationItem-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellPortion-InformationItem-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+-- **************************************************************
+--
+-- CELL SETUP REQUEST TDD
+--
+-- **************************************************************
+
+CellSetupRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSetupRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSetupRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSetupRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Local-Cell-ID CRITICALITY reject TYPE Local-Cell-ID PRESENCE mandatory }|
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
+ { ID id-UARFCNforNt CRITICALITY reject TYPE UARFCN PRESENCE mandatory }| -- For 1.28Mcps TDD, if multiple frequencies exist within the cell indicated by C-ID, this IE indicates the frequency of Primary frequency
+ { ID id-CellParameterID CRITICALITY reject TYPE CellParameterID PRESENCE mandatory }|
+ -- For 1.28 Mcps TDD, if the cell is operating in MBSFN only mode, this IE indicate the Preamble code used in the Speial Time Slot [19]
+ { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE mandatory }|
+ { ID id-TransmissionDiversityApplied CRITICALITY reject TYPE TransmissionDiversityApplied PRESENCE mandatory }|
+ { ID id-SyncCase CRITICALITY reject TYPE SyncCase PRESENCE mandatory }|
+ { ID id-Synchronisation-Configuration-Cell-SetupRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-SetupRqst PRESENCE mandatory }|
+ { ID id-DPCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE mandatory }| -- This IE shall be ignored by the Node B.
+ { ID id-PUSCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE mandatory }| -- This IE shall be ignored by the Node B.
+ { ID id-PRACHConstant CRITICALITY reject TYPE ConstantValue PRESENCE mandatory }| -- This IE shall be ignored by the Node B.
+ { ID id-TimingAdvanceApplied CRITICALITY reject TYPE TimingAdvanceApplied PRESENCE mandatory }|
+ { ID id-SCH-Information-Cell-SetupRqstTDD CRITICALITY reject TYPE SCH-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD and 7.68Mcps TDD, Not Applicable to 1.28Mcps TDD
+ { ID id-PCCPCH-Information-Cell-SetupRqstTDD CRITICALITY reject TYPE PCCPCH-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD or 7.68Mcps TDD
+ { ID id-TimeSlotConfigurationList-Cell-SetupRqstTDD CRITICALITY reject TYPE TimeSlotConfigurationList-Cell-SetupRqstTDD PRESENCE optional }, -- Mandatory for 3.84Mcps TDD and 7.68Mcps TDD, Not Applicable to 1.28Mcps TDD
+ ...
+}
+
+CellSetupRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD CRITICALITY reject EXTENSION TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD. If multiple frequencies exist within the cell indicated by C-ID, this IE indicates the Time Slot configuration of Primary frequency.
+ { ID id-PCCPCH-LCR-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION PCCPCH-LCR-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD, For 1.28 Mcps TDD, if the cell is operating in MBSFN only mode, PCCPCH is deployed on the MBSFN Special Time Slot [19].
+ { ID id-DwPCH-LCR-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION DwPCH-LCR-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-ReferenceSFNoffset CRITICALITY ignore EXTENSION ReferenceSFNoffset PRESENCE optional }|
+ { ID id-IPDLParameter-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD and 7.68Mcps TDD only
+ { ID id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-LCR-Cell-SetupRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-PCCPCH-768-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION PCCPCH-768-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 7.68Mcps TDD, Not Applicable to 3.84Mcps TDD or 1.28Mcps TDD
+ { ID id-SCH-768-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION SCH-768-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 7.68Mcps TDD, Not Applicable to 3.84Mcps TDD or 1.28Mcps TDD
+ { ID id-MBSFN-Only-Mode-Indicator-Cell-SetupRqstTDD-LCR CRITICALITY reject EXTENSION MBSFN-Only-Mode-Indicator PRESENCE optional }|
+ { ID id-Cell-Frequency-List-LCR-MulFreq-Cell-SetupRqstTDD CRITICALITY reject EXTENSION Cell-Frequency-List-LCR-MulFreq-Cell-SetupRqstTDD PRESENCE optional }, -- Mandatory for 1.28Mcps TDD when using multiple frequencies
+ ...
+}
+
+SCH-Information-Cell-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ syncCaseIndicator SyncCaseIndicator-Cell-SetupRqstTDD-PSCH,
+ sCH-Power DL-Power,
+ tSTD-Indicator TSTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { SCH-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SCH-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SyncCaseIndicator-Cell-SetupRqstTDD-PSCH ::= ProtocolIE-Single-Container {{ SyncCaseIndicatorIE-Cell-SetupRqstTDD-PSCH }}
+
+SyncCaseIndicatorIE-Cell-SetupRqstTDD-PSCH NBAP-PROTOCOL-IES ::= {
+ { ID id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH CRITICALITY reject TYPE SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH PRESENCE mandatory }
+}
+
+SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH ::= CHOICE {
+ case1 Case1-Cell-SetupRqstTDD,
+ case2 Case2-Cell-SetupRqstTDD,
+ ...
+}
+
+Case1-Cell-SetupRqstTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ iE-Extensions ProtocolExtensionContainer { { Case1Item-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Case1Item-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Case2-Cell-SetupRqstTDD ::= SEQUENCE {
+ sCH-TimeSlot SCH-TimeSlot,
+ iE-Extensions ProtocolExtensionContainer { { Case2Item-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Case2Item-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PCCPCH-Information-Cell-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ pCCPCH-Power PCCPCH-Power,
+ sCTD-Indicator SCTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { PCCPCH-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCCPCH-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeSlotConfigurationList-Cell-SetupRqstTDD ::= SEQUENCE (SIZE (1..15)) OF TimeSlotConfigurationItem-Cell-SetupRqstTDD
+
+TimeSlotConfigurationItem-Cell-SetupRqstTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ timeSlotStatus TimeSlotStatus,
+ timeSlotDirection TimeSlotDirection,
+ iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TimeSlotConfigurationItem-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MBSFN-Cell-ParameterID-Cell-SetupRqstTDD CRITICALITY reject EXTENSION CellParameterID PRESENCE optional },-- Applicable only to for MBSFN only mode
+ ...
+}
+
+TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD ::= SEQUENCE (SIZE (1..7)) OF TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD
+
+TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ timeSlotStatus TimeSlotStatus,
+ timeSlotDirection TimeSlotDirection,
+ iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Time-Slot-Parameter-ID CRITICALITY reject EXTENSION CellParameterID PRESENCE optional },
+ ...
+}
+
+PCCPCH-LCR-Information-Cell-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ pCCPCH-Power PCCPCH-Power,
+ sCTD-Indicator SCTD-Indicator,
+ tSTD-Indicator TSTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { PCCPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCCPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DwPCH-LCR-Information-Cell-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelId CommonPhysicalChannelID,
+ tSTD-Indicator TSTD-Indicator,
+ dwPCH-Power DwPCH-Power,
+ iE-Extensions ProtocolExtensionContainer { { DwPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DwPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDLParameter-Information-Cell-SetupRqstTDD ::= SEQUENCE {
+ iPDL-TDD-Parameters IPDL-TDD-Parameters,
+ iPDL-Indicator IPDL-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPDLParameter-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDLParameter-Information-LCR-Cell-SetupRqstTDD ::= SEQUENCE {
+ iPDL-TDD-Parameters-LCR IPDL-TDD-Parameters-LCR,
+ iPDL-Indicator IPDL-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-LCR-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPDLParameter-Information-LCR-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PCCPCH-768-Information-Cell-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ pCCPCH-Power PCCPCH-Power,
+ sCTD-Indicator SCTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { PCCPCH-768-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCCPCH-768-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SCH-768-Information-Cell-SetupRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ syncCaseIndicator SyncCaseIndicator-Cell-SetupRqstTDD-PSCH,
+ sCH-Power DL-Power,
+ tSTD-Indicator TSTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { SCH-768-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SCH-768-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cell-Frequency-List-LCR-MulFreq-Cell-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF Cell-Frequency-Item-LCR-MulFreq-Cell-SetupRqstTDD
+
+Cell-Frequency-Item-LCR-MulFreq-Cell-SetupRqstTDD ::= SEQUENCE {
+ uARFCN UARFCN,
+ -- This IE indicates the frequency of Secondary frequency
+ timeSlotConfigurationList-LCR-Cell-SetupRqstTDD TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD,
+ -- This IE indicates the Time Slot configuration of Secondary frequency
+ iE-Extensions ProtocolExtensionContainer { { Cell-Frequency-Item-LCR-MulFreq-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cell-Frequency-Item-LCR-MulFreq-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SETUP RESPONSE
+--
+-- **************************************************************
+
+CellSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSetupResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSetupResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSetupResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CellSetupResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SETUP FAILURE
+--
+-- **************************************************************
+
+CellSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSetupFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSetupFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSetupFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CellSetupFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL RECONFIGURATION REQUEST FDD
+--
+-- **************************************************************
+
+CellReconfigurationRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellReconfigurationRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellReconfigurationRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
+ { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE optional }|
+ { ID id-Synchronisation-Configuration-Cell-ReconfRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-ReconfRqst PRESENCE optional }|
+ { ID id-PrimarySCH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE PrimarySCH-Information-Cell-ReconfRqstFDD PRESENCE optional }|
+ { ID id-SecondarySCH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE SecondarySCH-Information-Cell-ReconfRqstFDD PRESENCE optional }|
+ { ID id-PrimaryCPICH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE PrimaryCPICH-Information-Cell-ReconfRqstFDD PRESENCE optional }|
+ { ID id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationList-Cell-ReconfRqstFDD PRESENCE optional }|
+ { ID id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE PrimaryCCPCH-Information-Cell-ReconfRqstFDD PRESENCE optional },
+ ...
+}
+
+CellReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IPDLParameter-Information-Cell-ReconfRqstFDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-ReconfRqstFDD PRESENCE optional }|
+ { ID id-CellPortion-InformationList-Cell-ReconfRqstFDD CRITICALITY reject EXTENSION CellPortion-InformationList-Cell-ReconfRqstFDD PRESENCE optional }|
+ { ID id-MIMO-PilotConfiguration CRITICALITY reject EXTENSION MIMO-PilotConfiguration PRESENCE optional }|
+ { ID id-MIMO-PilotConfigurationExtension CRITICALITY reject EXTENSION MIMO-PilotConfigurationExtension PRESENCE optional }|
+ { ID id-DormantModeIndicator CRITICALITY reject EXTENSION DormantModeIndicator PRESENCE optional },
+ ...
+}
+
+Synchronisation-Configuration-Cell-ReconfRqst ::= SEQUENCE {
+ n-INSYNC-IND N-INSYNC-IND,
+ n-OUTSYNC-IND N-OUTSYNC-IND,
+ t-RLFAILURE T-RLFAILURE,
+ iE-Extensions ProtocolExtensionContainer { { Synchronisation-Configuration-Cell-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Synchronisation-Configuration-Cell-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PrimarySCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ primarySCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { PrimarySCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+PrimarySCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecondarySCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ secondarySCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { SecondarySCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+SecondarySCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PrimaryCPICH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ primaryCPICH-Power PrimaryCPICH-Power,
+ iE-Extensions ProtocolExtensionContainer { { PrimaryCPICH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+PrimaryCPICH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecondaryCPICH-InformationList-Cell-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container{{ SecondaryCPICH-InformationItemIE-Cell-ReconfRqstFDD }}
+
+SecondaryCPICH-InformationItemIE-Cell-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD PRESENCE mandatory }
+}
+
+SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ secondaryCPICH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PrimaryCCPCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
+ bCH-information BCH-information-Cell-ReconfRqstFDD,
+ iE-Extensions ProtocolExtensionContainer { { PrimaryCCPCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+PrimaryCCPCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BCH-information-Cell-ReconfRqstFDD ::= SEQUENCE {
+ commonTransportChannelID CommonTransportChannelID,
+ bCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { BCH-information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+BCH-information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDLParameter-Information-Cell-ReconfRqstFDD::= SEQUENCE {
+ iPDL-FDD-Parameters IPDL-FDD-Parameters OPTIONAL,
+ iPDL-Indicator IPDL-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPDLParameter-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellPortion-InformationList-Cell-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF ProtocolIE-Single-Container{{ CellPortion-InformationItemIE-Cell-ReconfRqstFDD }}
+
+CellPortion-InformationItemIE-Cell-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-CellPortion-InformationItem-Cell-ReconfRqstFDD CRITICALITY reject TYPE CellPortion-InformationItem-Cell-ReconfRqstFDD PRESENCE mandatory}
+}
+
+CellPortion-InformationItem-Cell-ReconfRqstFDD::= SEQUENCE {
+ cellPortionID CellPortionID,
+ maximumTransmissionPowerforCellPortion MaximumTransmissionPower,
+ iE-Extensions ProtocolExtensionContainer { { CellPortion-InformationItem-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellPortion-InformationItem-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+-- **************************************************************
+--
+-- CELL RECONFIGURATION REQUEST TDD
+--
+-- **************************************************************
+
+CellReconfigurationRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellReconfigurationRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellReconfigurationRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
+ { ID id-Synchronisation-Configuration-Cell-ReconfRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-ReconfRqst PRESENCE optional }|
+ { ID id-TimingAdvanceApplied CRITICALITY reject TYPE TimingAdvanceApplied PRESENCE optional }|
+ { ID id-SCH-Information-Cell-ReconfRqstTDD CRITICALITY reject TYPE SCH-Information-Cell-ReconfRqstTDD PRESENCE optional }|
+ -- Applicable to 3.84Mcps TDD only
+ { ID id-PCCPCH-Information-Cell-ReconfRqstTDD CRITICALITY reject TYPE PCCPCH-Information-Cell-ReconfRqstTDD PRESENCE optional }|
+ -- Not applicable to 7.68Mcps TDD only. For 1.28 Mcps TDD, if the cell is operating in MBSFN only mode, PCCPCH is deployed on the MBSFN Special Time Slot [19].
+ { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE optional }|
+ { ID id-DPCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE optional }|
+ -- This IE shall be ignored by the Node B.
+ { ID id-PUSCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE optional }|
+ -- This IE shall be ignored by the Node B.
+ { ID id-PRACHConstant CRITICALITY reject TYPE ConstantValue PRESENCE optional }|
+ -- This IE shall be ignored by the Node B.
+ { ID id-TimeSlotConfigurationList-Cell-ReconfRqstTDD CRITICALITY reject TYPE TimeSlotConfigurationList-Cell-ReconfRqstTDD PRESENCE optional },
+ -- Mandatory for 3.84Mcps TDD and 7.68Mcps TDD only. Not Applicable to 1.28Mcps TDD.
+ ...
+}
+
+CellReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only, If multiple frequencies exist within the cell indicated by C-ID, this IE indicates the Time Slot reconfiguration of Primary frequency
+ { ID id-DwPCH-LCR-Information-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION DwPCH-LCR-Information-Cell-ReconfRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-IPDLParameter-Information-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-ReconfRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD and 7.68Mcps TDD only
+ { ID id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-LCR-Cell-ReconfRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-SCH-768-Information-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION SCH-768-Information-Cell-ReconfRqstTDD PRESENCE optional }| -- Applicable to 7.68Mcps TDD only
+ { ID id-PCCPCH-768-Information-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION PCCPCH-768-Information-Cell-ReconfRqstTDD PRESENCE optional }| -- Applicable to 7.68Mcps TDD only
+ { ID id-UARFCN-Adjustment CRITICALITY reject EXTENSION UARFCN-Adjustment PRESENCE optional }| -- Applicable to 1.28Mcps TDD when using multiple frequencies
+ { ID id-DormantModeIndicator CRITICALITY reject EXTENSION DormantModeIndicator PRESENCE optional },
+...
+}
+
+SCH-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ sCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { PSCH-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PSCH-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PCCPCH-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID CommonPhysicalChannelID,
+ pCCPCH-Power PCCPCH-Power,
+ iE-Extensions ProtocolExtensionContainer { { PCCPCH-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCCPCH-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeSlotConfigurationList-Cell-ReconfRqstTDD ::= SEQUENCE (SIZE (1..15)) OF TimeSlotConfigurationItem-Cell-ReconfRqstTDD
+
+TimeSlotConfigurationItem-Cell-ReconfRqstTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ timeSlotStatus TimeSlotStatus,
+ timeSlotDirection TimeSlotDirection,
+ iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+TimeSlotConfigurationItem-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MBSFN-Cell-ParameterID-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION CellParameterID PRESENCE optional },
+ ...
+}
+
+TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD ::= SEQUENCE (SIZE (1..7)) OF TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD
+
+TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ timeSlotStatus TimeSlotStatus,
+ timeSlotDirection TimeSlotDirection,
+ iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DwPCH-LCR-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelId CommonPhysicalChannelID,
+ dwPCH-Power DwPCH-Power,
+ iE-Extensions ProtocolExtensionContainer { { DwPCH-LCR-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+DwPCH-LCR-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDLParameter-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
+ iPDL-TDD-Parameters IPDL-TDD-Parameters OPTIONAL,
+ iPDL-Indicator IPDL-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPDLParameter-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDLParameter-Information-LCR-Cell-ReconfRqstTDD ::= SEQUENCE {
+ iPDL-TDD-Parameters-LCR IPDL-TDD-Parameters-LCR OPTIONAL,
+ iPDL-Indicator IPDL-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-LCR-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPDLParameter-Information-LCR-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SCH-768-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ sCH-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { PSCH-768-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PSCH-768-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PCCPCH-768-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
+ commonPhysicalChannelID768 CommonPhysicalChannelID768,
+ pCCPCH-Power PCCPCH-Power,
+ iE-Extensions ProtocolExtensionContainer { { PCCPCH-768-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCCPCH-768-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UARFCN-Adjustment::= CHOICE {
+ cell-Frequency-Add-LCR-MulFreq-Cell-ReconfRqstTDD Cell-Frequency-Add-LCR-MulFreq-Cell-ReconfRqstTDD,
+ cell-Frequency-ModifyList-LCR-MulFreq-Cell-ReconfRqstTDD Cell-Frequency-ModifyList-LCR-MulFreq-Cell-ReconfRqstTDD,
+ cell-Frequency-Delete-LCR-MulFreq-Cell-ReconfRqstTDD Cell-Frequency-Delete-LCR-MulFreq-Cell-ReconfRqstTDD,
+ ...
+}
+
+Cell-Frequency-Add-LCR-MulFreq-Cell-ReconfRqstTDD ::= SEQUENCE {
+ uARFCN UARFCN,
+ -- This IE indicates the frequency of Secondary frequency to add
+ timeSlotConfigurationList-LCR-Cell-ReconfRqstTDD TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD,
+ -- This IE indicates the Time Slot configuration of Secondary frequency to add
+ iE-Extensions ProtocolExtensionContainer { { Cell-Frequency-Add-LCR-MulFreq-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cell-Frequency-Add-LCR-MulFreq-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cell-Frequency-ModifyList-LCR-MulFreq-Cell-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF Cell-Frequency-ModifyItem-LCR-MulFreq-Cell-ReconfRqstTDD
+
+Cell-Frequency-ModifyItem-LCR-MulFreq-Cell-ReconfRqstTDD ::= SEQUENCE {
+ uARFCN UARFCN,
+ -- This IE indicates the frequency of Secondary frequency to modify
+ timeSlotConfigurationList-LCR-Cell-ReconfRqstTDD TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD,
+ -- This IE indicates the Time Slot reconfiguration of Secondary frequency
+ iE-Extensions ProtocolExtensionContainer { { Cell-Frequency-ModifyItem-LCR-MulFreq-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cell-Frequency-ModifyItem-LCR-MulFreq-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cell-Frequency-Delete-LCR-MulFreq-Cell-ReconfRqstTDD ::= SEQUENCE {
+ uARFCN UARFCN,
+ -- This IE indicates the frequency of Secondary Frequency to delete
+ iE-Extensions ProtocolExtensionContainer { { Cell-Frequency-Delete-LCR-MulFreq-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cell-Frequency-Delete-LCR-MulFreq-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL RECONFIGURATION RESPONSE
+--
+-- **************************************************************
+
+CellReconfigurationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellReconfigurationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellReconfigurationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+CellReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CellReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL RECONFIGURATION FAILURE
+--
+-- **************************************************************
+
+CellReconfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellReconfigurationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellReconfigurationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+CellReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CellReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL DELETION REQUEST
+--
+-- **************************************************************
+
+CellDeletionRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellDeletionRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellDeletionRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+CellDeletionRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory },
+ ...
+}
+
+CellDeletionRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL DELETION RESPONSE
+--
+-- **************************************************************
+
+CellDeletionResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellDeletionResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellDeletionResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+CellDeletionResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CellDeletionResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RESOURCE STATUS INDICATION
+--
+-- **************************************************************
+
+ResourceStatusIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResourceStatusIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ResourceStatusIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+ResourceStatusIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-IndicationType-ResourceStatusInd CRITICALITY ignore TYPE IndicationType-ResourceStatusInd PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional },
+ ...
+}
+
+ResourceStatusIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IndicationType-ResourceStatusInd ::= CHOICE {
+ no-Failure No-Failure-ResourceStatusInd,
+ serviceImpacting ServiceImpacting-ResourceStatusInd,
+ ...
+}
+
+No-Failure-ResourceStatusInd ::= SEQUENCE {
+ local-Cell-InformationList Local-Cell-InformationList-ResourceStatusInd,
+ local-Cell-Group-InformationList Local-Cell-Group-InformationList-ResourceStatusInd OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { No-FailureItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+No-FailureItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Power-Local-Cell-Group-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION Power-Local-Cell-Group-InformationList-ResourceStatusInd PRESENCE optional },
+ ...
+}
+
+Local-Cell-InformationList-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-InformationItemIE-ResourceStatusInd }}
+
+Local-Cell-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-Local-Cell-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-InformationItem-ResourceStatusInd PRESENCE mandatory }
+}
+
+Local-Cell-InformationItem-ResourceStatusInd ::= SEQUENCE {
+ local-CellID Local-Cell-ID,
+ addorDeleteIndicator AddorDeleteIndicator,
+ dl-or-global-capacityCredit DL-or-Global-CapacityCredit OPTIONAL,
+ -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
+ ul-capacityCredit UL-CapacityCredit OPTIONAL,
+ commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw OPTIONAL,
+ -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
+ dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw OPTIONAL,
+ -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
+ maximumDL-PowerCapability MaximumDL-PowerCapability OPTIONAL,
+ -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
+ minSpreadingFactor MinSpreadingFactor OPTIONAL,
+ -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
+ minimumDL-PowerCapability MinimumDL-PowerCapability OPTIONAL,
+ -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
+ local-Cell-Group-ID Local-Cell-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Local-Cell-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Local-Cell-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ReferenceClockAvailability CRITICALITY ignore EXTENSION ReferenceClockAvailability PRESENCE optional }|
+ -- This IE shall be present if AddorDeleteIndicator IE is set to "add" and the Local Cell is related to a TDD cell
+ { ID id-Power-Local-Cell-Group-ID CRITICALITY ignore EXTENSION Local-Cell-ID PRESENCE optional }|
+ { ID id-HSDPA-Capability CRITICALITY ignore EXTENSION HSDPA-Capability PRESENCE optional }|
+ { ID id-E-DCH-Capability CRITICALITY ignore EXTENSION E-DCH-Capability PRESENCE optional }|
+ { ID id-E-DCH-TTI2ms-Capability CRITICALITY ignore EXTENSION E-DCH-TTI2ms-Capability PRESENCE conditional }|
+ -- The IE shall be present if E-DCH Capability IE is set to "E-DCH Capable".
+ { ID id-E-DCH-SF-Capability CRITICALITY ignore EXTENSION E-DCH-SF-Capability PRESENCE conditional }|
+ -- The IE shall be present if E-DCH Capability IE is set to "E-DCH Capable".
+ { ID id-E-DCH-HARQ-Combining-Capability CRITICALITY ignore EXTENSION E-DCH-HARQ-Combining-Capability PRESENCE conditional }|
+ -- The IE shall be present if E-DCH Capability IE is set to "E-DCH Capable".
+ { ID id-E-DCH-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCHCapacityConsumptionLaw PRESENCE optional }|
+ { ID id-F-DPCH-Capability CRITICALITY ignore EXTENSION F-DPCH-Capability PRESENCE optional }|
+ { ID id-E-DCH-TDD-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCH-TDD-CapacityConsumptionLaw PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivityDTX-DRX-Capability CRITICALITY ignore EXTENSION ContinuousPacketConnectivityDTX-DRX-Capability PRESENCE optional }|
+ { ID id-Max-UE-DTX-Cycle CRITICALITY ignore EXTENSION Max-UE-DTX-Cycle PRESENCE conditional }|
+ -- The IE shall be present if Continuous Packet Connectivity DTX-DRX Capability IE is present and set to "Continuous Packet Connectivity DTX-DRX Capable".
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Capability CRITICALITY ignore EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Capability PRESENCE optional }|
+ { ID id-MIMO-Capability CRITICALITY ignore EXTENSION MIMO-Capability PRESENCE optional }|
+ { ID id-SixtyfourQAM-DL-Capability CRITICALITY ignore EXTENSION SixtyfourQAM-DL-Capability PRESENCE optional }|
+ { ID id-MBMS-Capability CRITICALITY ignore EXTENSION MBMS-Capability PRESENCE optional }|
+ { ID id-Enhanced-FACH-Capability CRITICALITY ignore EXTENSION Enhanced-FACH-Capability PRESENCE optional }|
+ { ID id-Enhanced-PCH-Capability CRITICALITY ignore EXTENSION Enhanced-PCH-Capability PRESENCE conditional }|
+ -- The IE shall be present if Enhanced FACH Capability IE is set to "Enhanced FACH Capable".
+ { ID id-SixteenQAM-UL-Capability CRITICALITY ignore EXTENSION SixteenQAM-UL-Capability PRESENCE optional }|
+ { ID id-HSDSCH-MACdPDU-SizeCapability CRITICALITY ignore EXTENSION HSDSCH-MACdPDU-SizeCapability PRESENCE optional }|
+ { ID id-MBSFN-Only-Mode-Capability CRITICALITY ignore EXTENSION MBSFN-Only-Mode-Capability PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormatCapability CRITICALITY ignore EXTENSION F-DPCH-SlotFormatCapability PRESENCE optional }|
+ { ID id-E-DCH-MACdPDU-SizeCapability CRITICALITY ignore EXTENSION E-DCH-MACdPDU-SizeCapability PRESENCE optional }|
+ { ID id-Common-EDCH-Capability CRITICALITY ignore EXTENSION Common-EDCH-Capability PRESENCE optional }|
+ { ID id-E-AI-Capability CRITICALITY ignore EXTENSION E-AI-Capability PRESENCE optional }|
+ -- The IE shall be present if Common E-DCH Capability IE is present and set to "Common E-DCH Capable".
+ { ID id-Enhanced-UE-DRX-Capability CRITICALITY ignore EXTENSION Enhanced-UE-DRX-Capability PRESENCE optional }|
+ { ID id-Enhanced-UE-DRX-CapabilityLCR CRITICALITY ignore EXTENSION Enhanced-UE-DRX-Capability PRESENCE optional }|
+ { ID id-E-DPCCH-Power-Boosting-Capability CRITICALITY ignore EXTENSION E-DPCCH-Power-Boosting-Capability PRESENCE optional }|
+ { ID id-SixtyfourQAM-DL-MIMO-Combined-Capability CRITICALITY ignore EXTENSION SixtyfourQAM-DL-MIMO-Combined-Capability PRESENCE optional}|
+ { ID id-Multi-Cell-Capability-Info CRITICALITY ignore EXTENSION Multi-Cell-Capability-Info PRESENCE optional }|
+ { ID id-Semi-PersistentScheduling-CapabilityLCR CRITICALITY ignore EXTENSION Semi-PersistentScheduling-CapabilityLCR PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivity-DRX-CapabilityLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-CapabilityLCR PRESENCE optional }|
+ { ID id-Common-E-DCH-HSDPCCH-Capability CRITICALITY ignore EXTENSION Common-E-DCH-HSDPCCH-Capability PRESENCE optional }|
+ -- The IE shall be present if Common E-DCH Capability IE is present and set to "Common E-DCH Capable".
+ { ID id-MIMO-Power-Offset-For-S-CPICH-Capability CRITICALITY ignore EXTENSION MIMO-PowerOffsetForS-CPICHCapability PRESENCE optional } |
+ { ID id-TxDiversityOnDLControlChannelsByMIMOUECapability CRITICALITY ignore EXTENSION TxDiversityOnDLControlChannelsByMIMOUECapability PRESENCE optional }|
+ { ID id-Single-Stream-MIMO-Capability CRITICALITY ignore EXTENSION Single-Stream-MIMO-Capability PRESENCE optional }|
+ { ID id-Dual-Band-Capability-Info CRITICALITY ignore EXTENSION Dual-Band-Capability-Info PRESENCE optional }|
+ { ID id-CellPortion-CapabilityLCR CRITICALITY ignore EXTENSION CellPortion-CapabilityLCR PRESENCE optional }|
+ { ID id-Cell-Capability-Container CRITICALITY ignore EXTENSION Cell-Capability-Container PRESENCE optional }|
+ { ID id-TS0-CapabilityLCR CRITICALITY ignore EXTENSION TS0-CapabilityLCR PRESENCE optional }|
+ { ID id-PrecodingWeightSetRestriction CRITICALITY ignore EXTENSION PrecodingWeightSetRestriction PRESENCE optional },
+ ...
+
+}
+
+Local-Cell-Group-InformationList-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-Group-InformationItemIE-ResourceStatusInd }}
+
+Local-Cell-Group-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-Local-Cell-Group-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-Group-InformationItem-ResourceStatusInd PRESENCE mandatory }
+}
+
+Local-Cell-Group-InformationItem-ResourceStatusInd::= SEQUENCE {
+ local-Cell-Group-ID Local-Cell-ID,
+ dl-or-global-capacityCredit DL-or-Global-CapacityCredit,
+ ul-capacityCredit UL-CapacityCredit OPTIONAL,
+ commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw,
+ dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw,
+ iE-Extensions ProtocolExtensionContainer { { Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCHCapacityConsumptionLaw PRESENCE optional }|
+ { ID id-E-DCH-TDD-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCH-TDD-CapacityConsumptionLaw PRESENCE optional },
+ ...
+}
+
+Power-Local-Cell-Group-InformationList-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Power-Local-Cell-Group-InformationItemIE-ResourceStatusInd }}
+
+Power-Local-Cell-Group-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Power-Local-Cell-Group-InformationItem-ResourceStatusInd PRESENCE mandatory }
+}
+
+Power-Local-Cell-Group-InformationItem-ResourceStatusInd::= SEQUENCE {
+ power-Local-Cell-Group-ID Local-Cell-ID,
+ maximumDL-PowerCapability MaximumDL-PowerCapability,
+ iE-Extensions ProtocolExtensionContainer { { Power-Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Power-Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ServiceImpacting-ResourceStatusInd ::= SEQUENCE {
+ local-Cell-InformationList Local-Cell-InformationList2-ResourceStatusInd OPTIONAL,
+ local-Cell-Group-InformationList Local-Cell-Group-InformationList2-ResourceStatusInd OPTIONAL,
+ cCP-InformationList CCP-InformationList-ResourceStatusInd OPTIONAL,
+ cell-InformationList Cell-InformationList-ResourceStatusInd OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ServiceImpactingItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServiceImpactingItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd CRITICALITY ignore EXTENSION Power-Local-Cell-Group-InformationList2-ResourceStatusInd PRESENCE optional },
+ ...
+}
+
+Local-Cell-InformationList2-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-InformationItemIE2-ResourceStatusInd }}
+
+Local-Cell-InformationItemIE2-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-Local-Cell-InformationItem2-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-InformationItem2-ResourceStatusInd PRESENCE mandatory }
+}
+
+Local-Cell-InformationItem2-ResourceStatusInd ::= SEQUENCE {
+ local-Cell-ID Local-Cell-ID,
+ dl-or-global-capacityCredit DL-or-Global-CapacityCredit OPTIONAL,
+ ul-capacityCredit UL-CapacityCredit OPTIONAL,
+ commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw OPTIONAL,
+ dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw OPTIONAL,
+ maximum-DL-PowerCapability MaximumDL-PowerCapability OPTIONAL,
+ minSpreadingFactor MinSpreadingFactor OPTIONAL,
+ minimumDL-PowerCapability MinimumDL-PowerCapability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Local-Cell-InformationItem2-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Local-Cell-InformationItem2-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ReferenceClockAvailability CRITICALITY ignore EXTENSION ReferenceClockAvailability PRESENCE optional }|
+ { ID id-HSDPA-Capability CRITICALITY ignore EXTENSION HSDPA-Capability PRESENCE optional }|
+ { ID id-E-DCH-Capability CRITICALITY ignore EXTENSION E-DCH-Capability PRESENCE optional }|
+ { ID id-E-DCH-TTI2ms-Capability CRITICALITY ignore EXTENSION E-DCH-TTI2ms-Capability PRESENCE conditional }|
+ -- The IE shall be present if E-DCH Capability IE is set to "E-DCH Capable".
+ { ID id-E-DCH-SF-Capability CRITICALITY ignore EXTENSION E-DCH-SF-Capability PRESENCE conditional }|
+ -- The IE shall be present if E-DCH Capability IE is set to "E-DCH Capable".
+ { ID id-E-DCH-HARQ-Combining-Capability CRITICALITY ignore EXTENSION E-DCH-HARQ-Combining-Capability PRESENCE conditional }|
+ -- The IE shall be present if E-DCH Capability IE is set to "E-DCH Capable".
+ { ID id-E-DCH-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCHCapacityConsumptionLaw PRESENCE optional }|
+ { ID id-F-DPCH-Capability CRITICALITY ignore EXTENSION F-DPCH-Capability PRESENCE optional }|
+ { ID id-E-DCH-TDD-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCH-TDD-CapacityConsumptionLaw PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivityDTX-DRX-Capability CRITICALITY ignore EXTENSION ContinuousPacketConnectivityDTX-DRX-Capability PRESENCE optional }|
+ { ID id-Max-UE-DTX-Cycle CRITICALITY ignore EXTENSION Max-UE-DTX-Cycle PRESENCE conditional }|
+ -- The IE shall be present if Continuous Packet Connectivity DTX-DRX Capability IE is present and set to "Continuous Packet Connectivity DTX-DRX Capable".
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Capability CRITICALITY ignore EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Capability PRESENCE optional }|
+ { ID id-MIMO-Capability CRITICALITY ignore EXTENSION MIMO-Capability PRESENCE optional }|
+ { ID id-SixtyfourQAM-DL-Capability CRITICALITY ignore EXTENSION SixtyfourQAM-DL-Capability PRESENCE optional }|
+ { ID id-MBMS-Capability CRITICALITY ignore EXTENSION MBMS-Capability PRESENCE optional }|
+ { ID id-Enhanced-FACH-Capability CRITICALITY ignore EXTENSION Enhanced-FACH-Capability PRESENCE optional }|
+ { ID id-Enhanced-PCH-Capability CRITICALITY ignore EXTENSION Enhanced-PCH-Capability PRESENCE conditional }|
+ -- The IE shall be present if Enhanced FACH Capability IE is set to "Enhanced FACH Capable".
+ { ID id-SixteenQAM-UL-Capability CRITICALITY ignore EXTENSION SixteenQAM-UL-Capability PRESENCE optional }|
+ { ID id-HSDSCH-MACdPDU-SizeCapability CRITICALITY ignore EXTENSION HSDSCH-MACdPDU-SizeCapability PRESENCE optional }|
+ { ID id-MBSFN-Only-Mode-Capability CRITICALITY ignore EXTENSION MBSFN-Only-Mode-Capability PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormatCapability CRITICALITY ignore EXTENSION F-DPCH-SlotFormatCapability PRESENCE optional }|
+ { ID id-E-DCH-MACdPDU-SizeCapability CRITICALITY ignore EXTENSION E-DCH-MACdPDU-SizeCapability PRESENCE optional }|
+ { ID id-Common-EDCH-Capability CRITICALITY ignore EXTENSION Common-EDCH-Capability PRESENCE optional }|
+ { ID id-E-AI-Capability CRITICALITY ignore EXTENSION E-AI-Capability PRESENCE optional }|
+ -- The IE shall be present if Common E-DCH Capability IE is present and set to "Common E-DCH Capable".
+ { ID id-Enhanced-UE-DRX-Capability CRITICALITY ignore EXTENSION Enhanced-UE-DRX-Capability PRESENCE optional }|
+ { ID id-Enhanced-UE-DRX-CapabilityLCR CRITICALITY ignore EXTENSION Enhanced-UE-DRX-Capability PRESENCE optional }|
+ { ID id-E-DPCCH-Power-Boosting-Capability CRITICALITY ignore EXTENSION E-DPCCH-Power-Boosting-Capability PRESENCE optional }|
+ { ID id-SixtyfourQAM-DL-MIMO-Combined-Capability CRITICALITY ignore EXTENSION SixtyfourQAM-DL-MIMO-Combined-Capability PRESENCE optional}|
+ { ID id-Multi-Cell-Capability-Info CRITICALITY ignore EXTENSION Multi-Cell-Capability-Info PRESENCE optional }|
+ { ID id-Semi-PersistentScheduling-CapabilityLCR CRITICALITY ignore EXTENSION Semi-PersistentScheduling-CapabilityLCR PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivity-DRX-CapabilityLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-CapabilityLCR PRESENCE optional }|
+ { ID id-Common-E-DCH-HSDPCCH-Capability CRITICALITY ignore EXTENSION Common-E-DCH-HSDPCCH-Capability PRESENCE optional }|
+ -- The IE shall be present if Common E-DCH Capability IE is present and set to "Common E-DCH Capable".
+ { ID id-MIMO-Power-Offset-For-S-CPICH-Capability CRITICALITY ignore EXTENSION MIMO-PowerOffsetForS-CPICHCapability PRESENCE optional } |
+ { ID id-TxDiversityOnDLControlChannelsByMIMOUECapability CRITICALITY ignore EXTENSION TxDiversityOnDLControlChannelsByMIMOUECapability PRESENCE optional }|
+ { ID id-Single-Stream-MIMO-Capability CRITICALITY ignore EXTENSION Single-Stream-MIMO-Capability PRESENCE optional }|
+ { ID id-Dual-Band-Capability-Info CRITICALITY ignore EXTENSION Dual-Band-Capability-Info PRESENCE optional }|
+ { ID id-CellPortion-CapabilityLCR CRITICALITY ignore EXTENSION CellPortion-CapabilityLCR PRESENCE optional }|
+ { ID id-Cell-Capability-Container CRITICALITY ignore EXTENSION Cell-Capability-Container PRESENCE optional }|
+ { ID id-TS0-CapabilityLCR CRITICALITY ignore EXTENSION TS0-CapabilityLCR PRESENCE optional }|
+ { ID id-PrecodingWeightSetRestriction CRITICALITY ignore EXTENSION PrecodingWeightSetRestriction PRESENCE optional },
+ ...
+}
+
+Local-Cell-Group-InformationList2-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-Group-InformationItemIE2-ResourceStatusInd }}
+
+Local-Cell-Group-InformationItemIE2-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-Local-Cell-Group-InformationItem2-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-Group-InformationItem2-ResourceStatusInd PRESENCE mandatory }
+}
+
+Local-Cell-Group-InformationItem2-ResourceStatusInd ::= SEQUENCE {
+ local-Cell-Group-ID Local-Cell-ID,
+ dl-or-global-capacityCredit DL-or-Global-CapacityCredit OPTIONAL,
+ ul-capacityCredit UL-CapacityCredit OPTIONAL,
+ commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw OPTIONAL,
+ dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCHCapacityConsumptionLaw PRESENCE optional }|
+ { ID id-E-DCH-TDD-CapacityConsumptionLaw CRITICALITY ignore EXTENSION E-DCH-TDD-CapacityConsumptionLaw PRESENCE optional },
+ ...
+}
+
+CCP-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCCPinNodeB)) OF ProtocolIE-Single-Container {{ CCP-InformationItemIE-ResourceStatusInd }}
+
+CCP-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-CCP-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE CCP-InformationItem-ResourceStatusInd PRESENCE mandatory }
+}
+
+CCP-InformationItem-ResourceStatusInd ::= SEQUENCE {
+ communicationControlPortID CommunicationControlPortID,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer { { CCP-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CCP-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cell-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ Cell-InformationItemIE-ResourceStatusInd }}
+
+Cell-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-Cell-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Cell-InformationItem-ResourceStatusInd PRESENCE mandatory }
+}
+
+Cell-InformationItem-ResourceStatusInd ::= SEQUENCE {
+ c-ID C-ID,
+ resourceOperationalState ResourceOperationalState OPTIONAL,
+ availabilityStatus AvailabilityStatus OPTIONAL,
+ primary-SCH-Information P-SCH-Information-ResourceStatusInd OPTIONAL, -- FDD only
+ secondary-SCH-Information S-SCH-Information-ResourceStatusInd OPTIONAL, -- FDD only
+ primary-CPICH-Information P-CPICH-Information-ResourceStatusInd OPTIONAL, -- FDD only
+ secondary-CPICH-Information S-CPICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
+ primary-CCPCH-Information P-CCPCH-Information-ResourceStatusInd OPTIONAL,
+ bCH-Information BCH-Information-ResourceStatusInd OPTIONAL,
+ secondary-CCPCH-InformationList S-CCPCH-InformationList-ResourceStatusInd OPTIONAL,
+ pCH-Information PCH-Information-ResourceStatusInd OPTIONAL,
+ pICH-Information PICH-Information-ResourceStatusInd OPTIONAL,
+ fACH-InformationList FACH-InformationList-ResourceStatusInd OPTIONAL,
+ pRACH-InformationList PRACH-InformationList-ResourceStatusInd OPTIONAL,
+ rACH-InformationList RACH-InformationList-ResourceStatusInd OPTIONAL,
+ aICH-InformationList AICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
+ notUsed-1-pCPCH-InformationList NULL OPTIONAL,
+ notUsed-2-cPCH-InformationList NULL OPTIONAL,
+ notUsed-3-aP-AICH-InformationList NULL OPTIONAL,
+ notUsed-4-cDCA-ICH-InformationList NULL OPTIONAL,
+ sCH-Information SCH-Information-ResourceStatusInd OPTIONAL, -- Applicable to 3.84Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { { Cell-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cell-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-FPACH-LCR-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION FPACH-LCR-InformationList-ResourceStatusInd PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-DwPCH-LCR-Information-ResourceStatusInd CRITICALITY ignore EXTENSION DwPCH-LCR-Information-ResourceStatusInd PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-HSDSCH-Resources-Information-ResourceStatusInd CRITICALITY ignore EXTENSION HS-DSCH-Resources-Information-ResourceStatusInd PRESENCE optional }| -- For 1.28Mcps TDD, this HS-DSCH Resource Information is for the first Frequency repetition, HS-DSCH Resource Information for Frequency repetitions 2 and on, should be defined in MultipleFreq-HS-DSCH-Resources-InformationList-ResourceStatusInd.
+ { ID id-MICH-Information-ResourceStatusInd CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information PRESENCE optional }|
+ { ID id-S-CCPCH-InformationListExt-ResourceStatusInd CRITICALITY ignore EXTENSION S-CCPCH-InformationListExt-ResourceStatusInd PRESENCE optional }|
+ -- Applicable to 3.84Mcps TDD only, used when there are more than maxSCCPCHCell SCCPCHs in the message.
+ { ID id-S-CCPCH-LCR-InformationListExt-ResourceStatusInd CRITICALITY ignore EXTENSION S-CCPCH-LCR-InformationListExt-ResourceStatusInd PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only, used when there are more than maxSCCPCHCell SCCPCHs in the message.
+ { ID id-E-DCH-Resources-Information-ResourceStatusInd CRITICALITY ignore EXTENSION E-DCH-Resources-Information-ResourceStatusInd PRESENCE optional }|
+ -- For 1.28Mcps TDD, this E-DCH Resource Information is for the first Frequency repetition, E-DCH Resource Information for Frequency repetitions 2 and on, should be defined in MultipleFreq-E-DCH-Resources-InformationList-ResourceStatusInd.
+ { ID id-PLCCH-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION PLCCH-InformationList-ResourceStatusInd
+ PRESENCE optional }|
+ { ID id-P-CCPCH-768-Information-ResourceStatusInd CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information768 PRESENCE optional }|
+ { ID id-S-CCPCH-768-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION S-CCPCH-768-InformationList-ResourceStatusInd PRESENCE optional }|
+ { ID id-PICH-768-Information-ResourceStatusInd CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information768 PRESENCE optional }|
+ { ID id-PRACH-768-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION PRACH-768-InformationList-ResourceStatusInd PRESENCE optional }|
+ { ID id-SCH-768-Information-ResourceStatusInd CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information768 PRESENCE optional }|
+ { ID id-MICH-768-Information-ResourceStatusInd CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information768 PRESENCE optional }|
+ { ID id-E-RUCCH-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION E-RUCCH-InformationList-ResourceStatusInd PRESENCE optional }|
+ { ID id-E-RUCCH-768-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION E-RUCCH-768-InformationList-ResourceStatusInd PRESENCE optional }|
+ { ID id-Cell-Frequency-List-Information-LCR-MulFreq-ResourceStatusInd CRITICALITY ignore EXTENSION Cell-Frequency-List-Information-LCR-MulFreq-ResourceStatusInd PRESENCE optional }| -- Applicable to 1.28Mcps TDD when using multiple frequencies
+ { ID id-UPPCH-LCR-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION UPPCH-LCR-InformationList-ResourceStatusInd PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-multipleFreq-HS-DSCH-Resources-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION MultipleFreq-HS-DSCH-Resources-InformationList-ResourceStatusInd PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies, This HS-DSCH Resource Information is for the 2nd and beyond frequencies.
+ { ID id-MultipleFreq-E-DCH-Resources-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION MultipleFreq-E-DCH-Resources-InformationList-ResourceStatusInd PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies. This E-DCH Resource Information is for the 2nd and beyond frequencies.
+ ...
+}
+
+P-SCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ P-SCH-InformationIE-ResourceStatusInd }}
+
+P-SCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-P-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+S-SCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ S-SCH-InformationIE-ResourceStatusInd }}
+
+S-SCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-S-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+P-CPICH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ P-CPICH-InformationIE-ResourceStatusInd }}
+
+P-CPICH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-P-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+S-CPICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container {{ S-CPICH-InformationItemIE-ResourceStatusInd }}
+
+S-CPICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-S-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+P-CCPCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ P-CCPCH-InformationIE-ResourceStatusInd }}
+
+P-CCPCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-P-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+BCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ BCH-InformationIE-ResourceStatusInd }}
+
+BCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-BCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
+}
+
+S-CCPCH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxSCCPCHCell)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-ResourceStatusInd }}
+
+S-CCPCH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-S-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+PCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ PCH-InformationIE-ResourceStatusInd }}
+
+PCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-PCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
+}
+
+PICH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ PICH-InformationIE-ResourceStatusInd }}
+
+PICH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-PICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+FACH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFACHCell)) OF ProtocolIE-Single-Container {{ FACH-InformationItemIE-ResourceStatusInd }}
+
+FACH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-FACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
+}
+
+PRACH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ PRACH-InformationItemIE-ResourceStatusInd }}
+
+PRACH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-PRACH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+RACH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ RACH-InformationItemIE-ResourceStatusInd }}
+
+RACH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-RACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
+}
+
+AICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ AICH-InformationItemIE-ResourceStatusInd }}
+
+AICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+SCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ SCH-InformationIE-ResourceStatusInd }}
+
+SCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+FPACH-LCR-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFPACHCell)) OF ProtocolIE-Single-Container {{ FPACH-LCR-InformationItemIE-ResourceStatusInd }}
+
+FPACH-LCR-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-FPACH-LCR-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+DwPCH-LCR-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ DwPCH-LCR-InformationIE-ResourceStatusInd }}
+
+DwPCH-LCR-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-DwPCH-LCR-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+HS-DSCH-Resources-Information-ResourceStatusInd ::= SEQUENCE {
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer {{ HS-DSCH-Resources-Information-ResourceStatusInd-ExtIEs }} OPTIONAL,
+ ...
+}
+
+HS-DSCH-Resources-Information-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional},
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies.
+ ...
+}
+
+S-CCPCH-InformationListExt-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxSCCPCHCellinExt)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-ResourceStatusInd }}
+
+S-CCPCH-LCR-InformationListExt-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxSCCPCHCellinExtLCR)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-ResourceStatusInd }}
+
+E-DCH-Resources-Information-ResourceStatusInd ::= SEQUENCE {
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer {{ E-DCH-Resources-Information-ResourceStatusInd-ExtIEs }} OPTIONAL,
+ ...
+}
+
+E-DCH-Resources-Information-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional},
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies.
+ ...
+}
+
+PLCCH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPLCCHCell)) OF ProtocolIE-Single-Container {{ PLCCH-InformationItemIE-ResourceStatusInd }}
+
+PLCCH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-PLCCH-Information-ResourceStatusInd CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+S-CCPCH-768-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxSCCPCHCell768)) OF ProtocolIE-Single-Container {{ S-CCPCH-768-InformationItemIE-ResourceStatusInd }}
+
+S-CCPCH-768-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-S-CCPCH-768-Information-ResourceStatusInd CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information768 PRESENCE mandatory }
+}
+
+PRACH-768-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ PRACH-768-InformationItemIE-ResourceStatusInd }}
+
+PRACH-768-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-PRACH-768-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information768 PRESENCE mandatory }
+}
+
+E-RUCCH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxE-RUCCHCell)) OF ProtocolIE-Single-Container {{ E-RUCCH-InformationItemIE-ResourceStatusInd }}
+
+E-RUCCH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-E-RUCCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
+}
+
+E-RUCCH-768-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxE-RUCCHCell)) OF ProtocolIE-Single-Container {{ E-RUCCH-768-InformationItemIE-ResourceStatusInd }}
+
+E-RUCCH-768-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-E-RUCCH-768-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information768 PRESENCE mandatory }
+}
+
+Cell-Frequency-List-Information-LCR-MulFreq-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFrequencyinCell)) OF ProtocolIE-Single-Container {{ Cell-Frequency-List-InformationIE-LCR-MulFreq-ResourceStatusInd }}
+
+Cell-Frequency-List-InformationIE-LCR-MulFreq-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-Cell-Frequency-List-InformationItem-LCR-MulFreq-ResourceStatusInd CRITICALITY ignore TYPE Cell-Frequency-List-InformationItem-LCR-MulFreq-ResourceStatusInd PRESENCE mandatory }
+}
+
+Cell-Frequency-List-InformationItem-LCR-MulFreq-ResourceStatusInd ::= SEQUENCE {
+ uARFCN UARFCN,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{ Cell-Frequency-List-InformationItem-LCR-MulFreq-ResourceStatusInd-ExtIEs }} OPTIONAL,
+ ...
+}
+
+Cell-Frequency-List-InformationItem-LCR-MulFreq-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UPPCH-LCR-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFrequencyinCell)) OF ProtocolIE-Single-Container {{ UPPCH-LCR-InformationIE-ResourceStatusInd }}
+
+UPPCH-LCR-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-UPPCH-LCR-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE UPPCH-LCR-InformationItem-ResourceStatusInd PRESENCE mandatory }
+}
+
+UPPCH-LCR-InformationItem-ResourceStatusInd ::= SEQUENCE {
+ uARFCN UARFCN OPTIONAL,
+ uPPCHPositionLCR UPPCHPositionLCR,
+ resourceOperationalState ResourceOperationalState,
+ availabilityStatus AvailabilityStatus,
+ iE-Extensions ProtocolExtensionContainer {{ UPPCH-LCR-InformationItem-ResourceStatusInd-ExtIEs }} OPTIONAL,
+ ...
+}
+
+UPPCH-LCR-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleFreq-HS-DSCH-Resources-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF ProtocolIE-Single-Container{{ MultipleFreq-HS-DSCH-Resources-InformationItem-ResourceStatusInd }}
+--Includes the 2nd through the max number of frequencies information repetitions.
+
+MultipleFreq-HS-DSCH-Resources-InformationItem-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-HSDSCH-Resources-Information-ResourceStatusInd CRITICALITY ignore TYPE HS-DSCH-Resources-Information-ResourceStatusInd PRESENCE mandatory }
+}
+
+Power-Local-Cell-Group-InformationList2-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Power-Local-Cell-Group-InformationItemIE2-ResourceStatusInd }}
+
+Power-Local-Cell-Group-InformationItemIE2-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd CRITICALITY ignore TYPE Power-Local-Cell-Group-InformationItem2-ResourceStatusInd PRESENCE mandatory }
+}
+
+Power-Local-Cell-Group-InformationItem2-ResourceStatusInd::= SEQUENCE {
+ power-Local-Cell-Group-ID Local-Cell-ID,
+ maximumDL-PowerCapability MaximumDL-PowerCapability,
+ iE-Extensions ProtocolExtensionContainer { { Power-Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Power-Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleFreq-E-DCH-Resources-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF ProtocolIE-Single-Container{{ MultipleFreq-E-DCH-Resources-InformationItem-ResourceStatusInd }}
+ --Includes the 2nd through the max number of frequencies information repetitions.
+
+MultipleFreq-E-DCH-Resources-InformationItem-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
+ { ID id-E-DCH-Resources-Information-ResourceStatusInd CRITICALITY ignore TYPE E-DCH-Resources-Information-ResourceStatusInd PRESENCE mandatory }
+}
+
+-- **************************************************************
+--
+-- SYSTEM INFORMATION UPDATE REQUEST
+--
+-- **************************************************************
+
+SystemInformationUpdateRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SystemInformationUpdateRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{SystemInformationUpdateRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+SystemInformationUpdateRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-BCCH-ModificationTime CRITICALITY reject TYPE BCCH-ModificationTime PRESENCE optional }|
+ { ID id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst CRITICALITY reject TYPE MIB-SB-SIB-InformationList-SystemInfoUpdateRqst PRESENCE mandatory },
+ ...
+}
+
+SystemInformationUpdateRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MIB-SB-SIB-InformationList-SystemInfoUpdateRqst ::= SEQUENCE (SIZE (1..maxIB)) OF MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst
+
+MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst ::= SEQUENCE {
+ iB-Type IB-Type,
+ iB-OC-ID IB-OC-ID,
+ deletionIndicator DeletionIndicator-SystemInfoUpdate,
+ iE-Extensions ProtocolExtensionContainer { { MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DeletionIndicator-SystemInfoUpdate ::= CHOICE {
+ no-Deletion No-Deletion-SystemInfoUpdate,
+ yes-Deletion NULL
+
+}
+
+No-Deletion-SystemInfoUpdate ::= SEQUENCE {
+ sIB-Originator SIB-Originator OPTIONAL,
+ -- This IE shall be present if the IB-Type IE is set to "SIB"
+ iB-SG-REP IB-SG-REP OPTIONAL,
+ segmentInformationList SegmentInformationList-SystemInfoUpdate,
+ iE-Extensions ProtocolExtensionContainer { { No-DeletionItem-SystemInfoUpdate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+No-DeletionItem-SystemInfoUpdate-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SegmentInformationList-SystemInfoUpdate ::= ProtocolIE-Single-Container {{ SegmentInformationListIEs-SystemInfoUpdate }}
+
+SegmentInformationListIEs-SystemInfoUpdate NBAP-PROTOCOL-IES ::= {
+ { ID id-SegmentInformationListIE-SystemInfoUpdate CRITICALITY reject TYPE SegmentInformationListIE-SystemInfoUpdate PRESENCE mandatory }
+}
+
+SegmentInformationListIE-SystemInfoUpdate ::= SEQUENCE (SIZE (1..maxIBSEG)) OF SegmentInformationItem-SystemInfoUpdate
+
+SegmentInformationItem-SystemInfoUpdate ::= SEQUENCE {
+ iB-SG-POS IB-SG-POS OPTIONAL,
+ segment-Type Segment-Type OPTIONAL,
+ -- This IE shall be present if the SIB Originator IE is set to "CRNC" or the IB-Type IE is set to "MIB", "SB1" or "SB2"
+ iB-SG-DATA IB-SG-DATA OPTIONAL,
+ -- This IE shall be present if the SIB Originator IE is set to "CRNC" or the IB-Type IE is set to "MIB", "SB1" or "SB2"
+ iE-Extensions ProtocolExtensionContainer { { SegmentInformationItem-SystemInfoUpdate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SegmentInformationItem-SystemInfoUpdate-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SYSTEM INFORMATION UPDATE RESPONSE
+--
+-- **************************************************************
+
+SystemInformationUpdateResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SystemInformationUpdateResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{SystemInformationUpdateResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+SystemInformationUpdateResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+SystemInformationUpdateResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SYSTEM INFORMATION UPDATE FAILURE
+--
+-- **************************************************************
+
+SystemInformationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SystemInformationUpdateFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{SystemInformationUpdateFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+SystemInformationUpdateFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+SystemInformationUpdateFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP REQUEST FDD
+--
+-- **************************************************************
+
+RadioLinkSetupRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY reject TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-UL-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-SetupRqstFDD PRESENCE mandatory }|
+ { ID id-DL-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-SetupRqstFDD PRESENCE optional }|
+ { ID id-DCH-FDD-Information CRITICALITY reject TYPE DCH-FDD-Information PRESENCE mandatory }|
+ { ID id-RL-InformationList-RL-SetupRqstFDD CRITICALITY notify TYPE RL-InformationList-RL-SetupRqstFDD PRESENCE mandatory }|
+ { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional } |
+ { ID id-Active-Pattern-Sequence-Information CRITICALITY reject TYPE Active-Pattern-Sequence-Information PRESENCE optional },
+ ...
+}
+
+RadioLinkSetupRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-PowerBalancing-Information CRITICALITY ignore EXTENSION DL-PowerBalancing-Information PRESENCE optional }|
+ { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
+ { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
+ -- The IE shall be present if HS-DSCH Information IE is present
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE conditional }|
+ -- The IE shall be present if HS-DSCH Information IE is present
+ { ID id-E-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject EXTENSION E-DPCH-Information-RL-SetupRqstFDD PRESENCE optional }|
+ { ID id-E-DCH-FDD-Information CRITICALITY reject EXTENSION E-DCH-FDD-Information PRESENCE conditional }|
+ -- The IE shall be present if E-DPCH Information IE is present
+ { ID id-Serving-E-DCH-RL-ID CRITICALITY reject EXTENSION Serving-E-DCH-RL-ID PRESENCE optional }|
+ { ID id-F-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject EXTENSION F-DPCH-Information-RL-SetupRqstFDD PRESENCE optional }|
+ { ID id-Initial-DL-DPCH-TimingAdjustment-Allowed CRITICALITY ignore EXTENSION Initial-DL-DPCH-TimingAdjustment-Allowed PRESENCE optional }|
+ { ID id-DCH-Indicator-For-E-DCH-HSDPA-Operation CRITICALITY reject EXTENSION DCH-Indicator-For-E-DCH-HSDPA-Operation PRESENCE optional }|
+ { ID id-Serving-Cell-Change-CFN CRITICALITY reject EXTENSION CFN PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivityDTX-DRX-Information CRITICALITY reject EXTENSION ContinuousPacketConnectivityDTX-DRX-Information PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Information CRITICALITY reject EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Information PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-RL-Setup CRITICALITY reject EXTENSION Additional-HS-Cell-Information-RL-Setup-List PRESENCE optional }|
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional }|
+ { ID id-Additional-EDCH-Cell-Information-RL-Setup-Req CRITICALITY reject EXTENSION Additional-EDCH-Setup-Info PRESENCE optional },
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Setup-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Setup-ItemIEs
+
+Additional-HS-Cell-Information-RL-Setup-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ c-ID C-ID,
+ hS-DSCH-FDD-Secondary-Serving-Information HS-DSCH-FDD-Secondary-Serving-Information,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Setup-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Setup-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
+ ul-ScramblingCode UL-ScramblingCode,
+ minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength,
+ maxNrOfUL-DPDCHs MaxNrOfUL-DPDCHs OPTIONAL,
+ -- This IE shall be present if Min UL Channelisation Code length IE is set to 4 --
+ ul-PunctureLimit PunctureLimit,
+ tFCS TFCS,
+ ul-DPCCH-SlotFormat UL-DPCCH-SlotFormat,
+ ul-SIR-Target UL-SIR,
+ diversityMode DiversityMode,
+ not-Used-sSDT-CellID-Length NULL OPTIONAL,
+ not-Used-s-FieldLength NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DPC-Mode CRITICALITY reject EXTENSION DPC-Mode PRESENCE optional }|
+ { ID id-UL-DPDCH-Indicator-For-E-DCH-Operation CRITICALITY reject EXTENSION UL-DPDCH-Indicator-For-E-DCH-Operation PRESENCE optional },
+ ...
+}
+
+DL-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
+ tFCS TFCS,
+ dl-DPCH-SlotFormat DL-DPCH-SlotFormat,
+ tFCI-SignallingMode TFCI-SignallingMode,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ -- this IE shall be present if the DL DPCH slot format IE is set to any of the values from 12 to 16 --
+ multiplexingPosition MultiplexingPosition,
+ not-Used-pDSCH-RL-ID NULL OPTIONAL,
+ not-Used-pDSCH-CodeMapping NULL OPTIONAL,
+ powerOffsetInformation PowerOffsetInformation-RL-SetupRqstFDD,
+ fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ limitedPowerIncrease LimitedPowerIncrease,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PowerOffsetInformation-RL-SetupRqstFDD ::= SEQUENCE {
+ pO1-ForTFCI-Bits PowerOffset,
+ pO2-ForTPC-Bits PowerOffset,
+ pO3-ForPilotBits PowerOffset,
+ iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PowerOffsetInformation-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF
+ ProtocolIE-Single-Container{{ RL-InformationItemIE-RL-SetupRqstFDD }}
+
+RL-InformationItemIE-RL-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-SetupRqstFDD CRITICALITY notify TYPE RL-InformationItem-RL-SetupRqstFDD PRESENCE mandatory }
+}
+
+RL-InformationItem-RL-SetupRqstFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ c-ID C-ID,
+ firstRLS-indicator FirstRLS-Indicator,
+ frameOffset FrameOffset,
+ chipOffset ChipOffset,
+ propagationDelay PropagationDelay OPTIONAL,
+ diversityControlField DiversityControlField OPTIONAL,
+ -- This IE shall be present if the RL is not the first one in the RL Information IE
+ dl-CodeInformation FDD-DL-CodeInformation,
+ initialDL-transmissionPower DL-Power,
+ maximumDL-power DL-Power,
+ minimumDL-power DL-Power,
+ not-Used-sSDT-Cell-Identity NULL OPTIONAL,
+ transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
+ -- This IE shall be present if Diversity Mode IE in UL DPCH Information group is not set to "none"
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
+ { ID id-Primary-CPICH-Usage-for-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-for-Channel-Estimation PRESENCE optional }|
+ { ID id-Secondary-CPICH-Information CRITICALITY ignore EXTENSION CommonPhysicalChannelID PRESENCE optional }|
+ { ID id-E-DCH-RL-Indication CRITICALITY reject EXTENSION E-DCH-RL-Indication PRESENCE optional }|
+ { ID id-RL-Specific-E-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-E-DCH-Info PRESENCE optional }|
+ { ID id-SynchronisationIndicator CRITICALITY ignore EXTENSION SynchronisationIndicator PRESENCE optional }|
+ { ID id-ExtendedPropagationDelay CRITICALITY ignore EXTENSION ExtendedPropagationDelay PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY reject EXTENSION F-DPCH-SlotFormat PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationSetup CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationSetup PRESENCE optional}|
+ { ID id-E-RNTI CRITICALITY ignore EXTENSION E-RNTI PRESENCE optional},
+ ...
+}
+E-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs,
+ ul-PunctureLimit PunctureLimit,
+ e-TFCS-Information E-TFCS-Information,
+ e-TTI E-TTI,
+ e-DPCCH-PO E-DPCCH-PO,
+ e-RGCH-2-IndexStepThreshold E-RGCH-2-IndexStepThreshold,
+ e-RGCH-3-IndexStepThreshold E-RGCH-3-IndexStepThreshold,
+ hARQ-Info-for-E-DCH HARQ-Info-for-E-DCH,
+ hSDSCH-Configured-Indicator HSDSCH-Configured-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { E-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DPCH-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-RNTI CRITICALITY reject EXTENSION E-RNTI PRESENCE optional }|
+ { ID id-MinimumReducedE-DPDCH-GainFactor CRITICALITY ignore EXTENSION MinimumReducedE-DPDCH-GainFactor PRESENCE optional },
+ ...
+}
+
+F-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
+ powerOffsetInformation PowerOffsetInformation-F-DPCH-RL-SetupRqstFDD,
+ fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ limitedPowerIncrease LimitedPowerIncrease,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ iE-Extensions ProtocolExtensionContainer { { F-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+F-DPCH-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PowerOffsetInformation-F-DPCH-RL-SetupRqstFDD ::= SEQUENCE {
+ pO2-ForTPC-Bits PowerOffset,
+ --This IE shall be ignored by Node B
+ iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-F-DPCH-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PowerOffsetInformation-F-DPCH-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP REQUEST TDD
+--
+-- **************************************************************
+
+RadioLinkSetupRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY reject TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-UL-CCTrCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationList-RL-SetupRqstTDD PRESENCE optional }|
+ { ID id-DL-CCTrCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationList-RL-SetupRqstTDD PRESENCE optional }|
+ { ID id-DCH-TDD-Information CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional }|
+ { ID id-DSCH-TDD-Information CRITICALITY reject TYPE DSCH-TDD-Information PRESENCE optional }|
+ { ID id-USCH-Information CRITICALITY reject TYPE USCH-Information PRESENCE optional }|
+ { ID id-RL-Information-RL-SetupRqstTDD CRITICALITY reject TYPE RL-Information-RL-SetupRqstTDD PRESENCE mandatory },
+ ...
+}
+
+RadioLinkSetupRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
+ { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
+ -- The IE shall be present if HS-DSCH Information IE is present
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE conditional }|
+ -- The IE shall be present if HS-DSCH Information IE is present
+ { ID id-PDSCH-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
+ { ID id-E-DCH-Information CRITICALITY reject EXTENSION E-DCH-Information PRESENCE optional }|
+ { ID id-E-DCH-Serving-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
+ { ID id-E-DCH-768-Information CRITICALITY reject EXTENSION E-DCH-768-Information PRESENCE optional }|
+ { ID id-E-DCH-LCR-Information CRITICALITY reject EXTENSION E-DCH-LCR-Information PRESENCE optional }|
+ { ID id-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-ContinuousPacketConnectivity-DRX-InformationLCR CRITICALITY reject EXTENSION ContinuousPacketConnectivity-DRX-InformationLCR PRESENCE optional }|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-LCR CRITICALITY reject EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-LCR PRESENCE optional }|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-LCR CRITICALITY reject EXTENSION E-DCH-Semi-PersistentScheduling-Information-LCR PRESENCE optional }|
+ { ID id-IdleIntervalInformation CRITICALITY ignore EXTENSION IdleIntervalInformation PRESENCE optional }|
+ { ID id-UE-Selected-MBMS-Service-Information CRITICALITY ignore EXTENSION UE-Selected-MBMS-Service-Information PRESENCE optional }|
+ { ID id-HSSCCH-TPC-StepSize CRITICALITY ignore EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional }|
+ { ID id-DCH-MeasurementOccasion-Information CRITICALITY reject EXTENSION DCH-MeasurementOccasion-Information PRESENCE optional },
+ ...
+}
+
+UL-CCTrCH-InformationList-RL-SetupRqstTDD ::= SEQUENCE (SIZE(1..maxNrOfCCTrCHs)) OF
+ ProtocolIE-Single-Container{{ UL-CCTrCH-InformationItemIE-RL-SetupRqstTDD }}
+
+UL-CCTrCH-InformationItemIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory }
+}
+
+UL-CCTrCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ punctureLimit PunctureLimit,
+ uL-DPCH-Information UL-DPCH-Information-RL-SetupRqstTDD OPTIONAL, -- Applicable to 3.84Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPCH-LCR-Information-RL-SetupRqstTDD CRITICALITY notify EXTENSION UL-DPCH-LCR-Information-RL-SetupRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD.
+ { ID id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD.
+ { ID id-UL-DPCH-768-Information-RL-SetupRqstTDD CRITICALITY notify EXTENSION UL-DPCH-768-Information-RL-SetupRqstTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+UL-DPCH-Information-RL-SetupRqstTDD ::= ProtocolIE-Single-Container{{ UL-DPCH-InformationIE-RL-SetupRqstTDD }}
+
+UL-DPCH-InformationIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE UL-DPCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory }
+}
+
+UL-DPCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information UL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-LCR-Information-RL-SetupRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-TimeslotLCR-Information UL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-768-Information-RL-SetupRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot768-Information UL-Timeslot768-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-768-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-768-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationList-RL-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container{{ DL-CCTrCH-InformationItemIE-RL-SetupRqstTDD }}
+
+DL-CCTrCH-InformationItemIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory}
+}
+
+DL-CCTrCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ punctureLimit PunctureLimit,
+ tdd-TPC-DownlinkStepSize TDD-TPC-DownlinkStepSize,
+ cCTrCH-TPCList CCTrCH-TPCList-RL-SetupRqstTDD OPTIONAL,
+ dL-DPCH-Information DL-DPCH-Information-RL-SetupRqstTDD OPTIONAL, -- Applicable to 3.84Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-LCR-Information-RL-SetupRqstTDD CRITICALITY notify EXTENSION DL-DPCH-LCR-Information-RL-SetupRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-DL-DPCH-768-Information-RL-SetupRqstTDD CRITICALITY notify EXTENSION DL-DPCH-768-Information-RL-SetupRqstTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+CCTrCH-TPCList-RL-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCItem-RL-SetupRqstTDD
+
+CCTrCH-TPCItem-RL-SetupRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CCTrCH-TPCItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-Information-RL-SetupRqstTDD ::= ProtocolIE-Single-Container{{ DL-DPCH-InformationIE-RL-SetupRqstTDD }}
+
+DL-DPCH-InformationIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE DL-DPCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory }
+}
+
+DL-DPCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information DL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-LCR-Information-RL-SetupRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-TimeslotLCR-Information DL-TimeslotLCR-Information,
+ tstdIndicator TSTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-768-Information-RL-SetupRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot768-Information DL-Timeslot768-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-768-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-768-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Information-RL-SetupRqstTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ c-ID C-ID,
+ frameOffset FrameOffset,
+ specialBurstScheduling SpecialBurstScheduling,
+ initialDL-transmissionPower DL-Power,
+ maximumDL-power DL-Power,
+ minimumDL-power DL-Power,
+ dL-TimeSlotISCPInfo DL-TimeslotISCPInfo OPTIONAL, -- Applicable to 3.84Mcps TDD and 7.68Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { { RL-Information-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD CRITICALITY reject EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
+ { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY reject EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-UARFCNforNt CRITICALITY reject EXTENSION UARFCN PRESENCE optional },
+ -- Mandatory for 1.28Mcps TDD when using multiple frequencies
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP RESPONSE FDD
+--
+-- **************************************************************
+
+RadioLinkSetupResponseFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupResponseFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupResponseFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupResponseFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-CommunicationControlPortID CRITICALITY ignore TYPE CommunicationControlPortID PRESENCE mandatory }|
+ { ID id-RL-InformationResponseList-RL-SetupRspFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-SetupRspFDD PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkSetupResponseFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Information-Response CRITICALITY ignore EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Information-Response PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Information-Response-List PRESENCE optional }|
+ { ID id-Additional-EDCH-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-List PRESENCE optional },
+ ...
+}
+Additional-HS-Cell-Information-Response-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-Response-ItemIEs
+
+Additional-HS-Cell-Information-Response-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ hS-DSCH-FDD-Secondary-Serving-Information-Response HS-DSCH-FDD-Secondary-Serving-Information-Response,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-Response-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationResponseList-RL-SetupRspFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container{{ RL-InformationResponseItemIE-RL-SetupRspFDD }}
+
+RL-InformationResponseItemIE-RL-SetupRspFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseItem-RL-SetupRspFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-SetupRspFDD PRESENCE mandatory }
+}
+
+RL-InformationResponseItem-RL-SetupRspFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Set-ID RL-Set-ID,
+ received-total-wide-band-power Received-total-wide-band-power-Value,
+ diversityIndication DiversityIndication-RL-SetupRspFDD,
+ not-Used-dSCH-InformationResponseList NULL OPTIONAL,
+ sSDT-SupportIndicator SSDT-SupportIndicator,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseItem-RL-SetupRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional }|
+ { ID id-E-DCH-RL-Set-ID CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-E-DCH-FDD-DL-Control-Channel-Information CRITICALITY ignore EXTENSION E-DCH-FDD-DL-Control-Channel-Information PRESENCE optional }|
+ { ID id-Initial-DL-DPCH-TimingAdjustment CRITICALITY ignore EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional},
+ ...
+}
+
+DiversityIndication-RL-SetupRspFDD ::= CHOICE {
+ combining Combining-RL-SetupRspFDD,
+ nonCombiningOrFirstRL NonCombiningOrFirstRL-RL-SetupRspFDD
+}
+
+Combining-RL-SetupRspFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { Combining-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Combining-RL-SetupRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NonCombiningOrFirstRL-RL-SetupRspFDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { NonCombiningOrFirstRLItem-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NonCombiningOrFirstRLItem-RL-SetupRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-FDD-Information-Response CRITICALITY ignore EXTENSION E-DCH-FDD-Information-Response PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP RESPONSE TDD
+--
+-- **************************************************************
+
+RadioLinkSetupResponseTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupResponseTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupResponseTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-CommunicationControlPortID CRITICALITY ignore TYPE CommunicationControlPortID PRESENCE mandatory }|
+ { ID id-RL-InformationResponse-RL-SetupRspTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-SetupRspTDD PRESENCE optional }|
+ -- Mandatory for 3.84Mcps TDD and 7.68Mcps TDD, Not Applicable to 1.28Mcps TDD
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkSetupResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RL-InformationResponse-LCR-RL-SetupRspTDD CRITICALITY ignore EXTENSION RL-InformationResponse-LCR-RL-SetupRspTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional }|
+ { ID id-E-DCH-Information-Response CRITICALITY ignore EXTENSION E-DCH-Information-Response PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-Information-ResponseLCR PRESENCE optional }|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional }|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION E-DCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional},
+ ...
+}
+
+RL-InformationResponse-RL-SetupRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ uL-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ dCH-InformationResponseList DCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
+ dSCH-InformationResponseList DSCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
+ uSCH-InformationResponseList USCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseList-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseList-RL-SetupRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container{{ DCH-InformationResponseListIEs-RL-SetupRspTDD }}
+
+DCH-InformationResponseListIEs-RL-SetupRspTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory}
+ }
+
+DSCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-SetupRspTDD }}
+
+DSCH-InformationResponseListIEs-RL-SetupRspTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
+}
+
+USCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{ USCH-InformationResponseListIEs-RL-SetupRspTDD }}
+
+USCH-InformationResponseListIEs-RL-SetupRspTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-USCH-InformationResponse CRITICALITY ignore TYPE USCH-InformationResponse PRESENCE mandatory }
+}
+
+RL-InformationResponse-LCR-RL-SetupRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ uL-TimeSlot-ISCP-LCR-Info UL-TimeSlot-ISCP-LCR-Info,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ dCH-InformationResponseList DCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
+ dSCH-InformationResponseList DSCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
+ uSCH-InformationResponseList USCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseList-LCR-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseList-LCR-RL-SetupRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP FAILURE FDD
+--
+-- **************************************************************
+
+RadioLinkSetupFailureFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupFailureFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupFailureFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupFailureFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE conditional }|
+ -- This IE shall be present if at least one of the radio links has been successfully set up
+ { ID id-CommunicationControlPortID CRITICALITY ignore TYPE CommunicationControlPortID PRESENCE optional }|
+ { ID id-CauseLevel-RL-SetupFailureFDD CRITICALITY ignore TYPE CauseLevel-RL-SetupFailureFDD PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkSetupFailureFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CauseLevel-RL-SetupFailureFDD ::= CHOICE {
+ generalCause GeneralCauseList-RL-SetupFailureFDD,
+ rLSpecificCause RLSpecificCauseList-RL-SetupFailureFDD,
+ ...
+}
+
+GeneralCauseList-RL-SetupFailureFDD ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-SetupFailureFDD ::= SEQUENCE {
+ unsuccessful-RL-InformationRespList-RL-SetupFailureFDD Unsuccessful-RL-InformationRespList-RL-SetupFailureFDD,
+ successful-RL-InformationRespList-RL-SetupFailureFDD Successful-RL-InformationRespList-RL-SetupFailureFDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLSpecificCauseItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Information-Response CRITICALITY ignore EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Information-Response PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Information-Response-List PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-List PRESENCE optional},
+ ...
+}
+
+Unsuccessful-RL-InformationRespList-RL-SetupFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureFDD }}
+
+Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD PRESENCE mandatory }
+}
+
+Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Successful-RL-InformationRespList-RL-SetupFailureFDD ::= SEQUENCE (SIZE (1.. maxNrOfRLs)) OF ProtocolIE-Single-Container {{ Successful-RL-InformationRespItemIE-RL-SetupFailureFDD }}
+
+Successful-RL-InformationRespItemIE-RL-SetupFailureFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Successful-RL-InformationRespItem-RL-SetupFailureFDD CRITICALITY ignore TYPE Successful-RL-InformationRespItem-RL-SetupFailureFDD PRESENCE mandatory }
+}
+
+Successful-RL-InformationRespItem-RL-SetupFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Set-ID RL-Set-ID,
+ received-total-wide-band-power Received-total-wide-band-power-Value,
+ diversityIndication DiversityIndication-RL-SetupFailureFDD,
+ not-Used-dSCH-InformationResponseList NULL OPTIONAL,
+ not-Used-tFCI2-BearerInformationResponse NULL OPTIONAL,
+ sSDT-SupportIndicator SSDT-SupportIndicator,
+ iE-Extensions ProtocolExtensionContainer { { Successful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Successful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional }|
+ { ID id-E-DCH-RL-Set-ID CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-E-DCH-FDD-DL-Control-Channel-Information CRITICALITY ignore EXTENSION E-DCH-FDD-DL-Control-Channel-Information PRESENCE optional }|
+ { ID id-Initial-DL-DPCH-TimingAdjustment CRITICALITY ignore EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional },
+ ...
+}
+
+DiversityIndication-RL-SetupFailureFDD ::= CHOICE {
+ combining Combining-RL-SetupFailureFDD,
+ nonCombiningOrFirstRL NonCombiningOrFirstRL-RL-SetupFailureFDD
+}
+
+Combining-RL-SetupFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CombiningItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NonCombiningOrFirstRL-RL-SetupFailureFDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { NonCombiningOrFirstRLItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NonCombiningOrFirstRLItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-FDD-Information-Response CRITICALITY ignore EXTENSION E-DCH-FDD-Information-Response PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP FAILURE TDD
+--
+-- **************************************************************
+
+RadioLinkSetupFailureTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupFailureTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupFailureTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-CauseLevel-RL-SetupFailureTDD CRITICALITY ignore TYPE CauseLevel-RL-SetupFailureTDD PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkSetupFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CauseLevel-RL-SetupFailureTDD ::= CHOICE {
+ generalCause GeneralCauseList-RL-SetupFailureTDD,
+ rLSpecificCause RLSpecificCauseList-RL-SetupFailureTDD,
+ ...
+}
+
+GeneralCauseList-RL-SetupFailureTDD ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-RL-SetupFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-SetupFailureTDD ::= SEQUENCE {
+ unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD Unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLSpecificCauseItem-RL-SetupFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD ::= ProtocolIE-Single-Container { {Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureTDD} }
+
+Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationResp-RL-SetupFailureTDD PRESENCE mandatory }
+}
+
+Unsuccessful-RL-InformationResp-RL-SetupFailureTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationResp-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Unsuccessful-RL-InformationResp-RL-SetupFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION REQUEST FDD
+--
+-- **************************************************************
+
+RadioLinkAdditionRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
+ { ID id-Compressed-Mode-Deactivation-Flag CRITICALITY reject TYPE Compressed-Mode-Deactivation-Flag PRESENCE optional }|
+ { ID id-RL-InformationList-RL-AdditionRqstFDD CRITICALITY notify TYPE RL-InformationList-RL-AdditionRqstFDD PRESENCE mandatory },
+ ...
+}
+
+RadioLinkAdditionRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Initial-DL-DPCH-TimingAdjustment-Allowed CRITICALITY ignore EXTENSION Initial-DL-DPCH-TimingAdjustment-Allowed PRESENCE optional }|
+ { ID id-Serving-E-DCH-RL-ID CRITICALITY reject EXTENSION Serving-E-DCH-RL-ID PRESENCE optional }|
+ { ID id-Serving-Cell-Change-CFN CRITICALITY reject EXTENSION CFN PRESENCE optional }|
+ { ID id-HS-DSCH-Serving-Cell-Change-Info CRITICALITY reject EXTENSION HS-DSCH-Serving-Cell-Change-Info PRESENCE optional }|
+ { ID id-E-DPCH-Information-RL-AdditionReqFDD CRITICALITY reject EXTENSION E-DPCH-Information-RL-AdditionReqFDD PRESENCE optional }|
+ { ID id-E-DCH-FDD-Information CRITICALITY reject EXTENSION E-DCH-FDD-Information PRESENCE conditional }|
+ -- This IE shall be present if E-DPCH Information is present
+ { ID id-Additional-HS-Cell-Information-RL-Addition CRITICALITY reject EXTENSION Additional-HS-Cell-Information-RL-Addition-List PRESENCE optional }|
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional }|
+ { ID id-Additional-EDCH-Cell-Information-RL-Add-Req CRITICALITY reject EXTENSION Additional-EDCH-Cell-Information-RL-Add-Req PRESENCE optional },
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Addition-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Addition-ItemIEs
+
+Additional-EDCH-Cell-Information-RL-Add-Req ::=SEQUENCE{
+ setup-Or-Addition-Of-EDCH-On-secondary-UL-Frequency Setup-Or-Addition-Of-EDCH-On-secondary-UL-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-RL-Add-Req-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Add-Req-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Setup-Or-Addition-Of-EDCH-On-secondary-UL-Frequency::= CHOICE {
+ setup Additional-EDCH-Setup-Info,
+ addition Additional-EDCH-Cell-Information-To-Add-List,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Addition-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ c-ID C-ID,
+ hS-DSCH-FDD-Secondary-Serving-Information HS-DSCH-FDD-Secondary-Serving-Information,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Addition-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Addition-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-AdditionRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-AdditionRqstFDD}}
+
+RL-InformationItemIE-RL-AdditionRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-AdditionRqstFDD CRITICALITY notify TYPE RL-InformationItem-RL-AdditionRqstFDD PRESENCE mandatory}
+}
+
+RL-InformationItem-RL-AdditionRqstFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ c-ID C-ID,
+ frameOffset FrameOffset,
+ chipOffset ChipOffset,
+ diversityControlField DiversityControlField,
+ dl-CodeInformation FDD-DL-CodeInformation,
+ initialDL-TransmissionPower DL-Power OPTIONAL,
+ maximumDL-Power DL-Power OPTIONAL,
+ minimumDL-Power DL-Power OPTIONAL,
+ not-Used-sSDT-CellIdentity NULL OPTIONAL,
+ transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-AdditionRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-RL-AdditionRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
+ { ID id-E-DCH-RL-Indication CRITICALITY reject EXTENSION E-DCH-RL-Indication PRESENCE optional }|
+ { ID id-RL-Specific-E-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-E-DCH-Info PRESENCE optional }|
+ { ID id-SynchronisationIndicator CRITICALITY ignore EXTENSION SynchronisationIndicator PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY reject EXTENSION F-DPCH-SlotFormat PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationSetup CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationSetup PRESENCE optional },
+ ...
+}
+
+E-DPCH-Information-RL-AdditionReqFDD ::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs,
+ ul-PunctureLimit PunctureLimit,
+ e-TFCS-Information E-TFCS-Information,
+ e-TTI E-TTI,
+ e-DPCCH-PO E-DPCCH-PO,
+ e-RGCH-2-IndexStepThreshold E-RGCH-2-IndexStepThreshold,
+ e-RGCH-3-IndexStepThreshold E-RGCH-3-IndexStepThreshold,
+ hARQ-Info-for-E-DCH HARQ-Info-for-E-DCH,
+ iE-Extensions ProtocolExtensionContainer { { E-DPCH-Information-RL-AdditionReqFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DPCH-Information-RL-AdditionReqFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-Configured-Indicator CRITICALITY reject EXTENSION HSDSCH-Configured-Indicator PRESENCE mandatory }|
+ -- This shall be present for EDPCH configuration with HSDCH
+ { ID id-MinimumReducedE-DPDCH-GainFactor CRITICALITY ignore EXTENSION MinimumReducedE-DPDCH-GainFactor PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION REQUEST TDD
+--
+-- **************************************************************
+
+RadioLinkAdditionRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD CRITICALITY reject TYPE UL-CCTrCH-InformationList-RL-AdditionRqstTDD PRESENCE optional }|
+ { ID id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD CRITICALITY reject TYPE DL-CCTrCH-InformationList-RL-AdditionRqstTDD PRESENCE optional }|
+ { ID id-RL-Information-RL-AdditionRqstTDD CRITICALITY reject TYPE RL-Information-RL-AdditionRqstTDD PRESENCE mandatory },
+ ...
+}
+
+RadioLinkAdditionRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
+ { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
+ -- The IE shall be present if HS-PDSCH RL ID IE is present.
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
+ { ID id-E-DCH-Information CRITICALITY reject EXTENSION E-DCH-Information PRESENCE optional }|
+ { ID id-E-DCH-Serving-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
+ { ID id-E-DCH-768-Information CRITICALITY reject EXTENSION E-DCH-768-Information PRESENCE optional }|
+ { ID id-E-DCH-LCR-Information CRITICALITY reject EXTENSION E-DCH-LCR-Information PRESENCE optional }|
+ { ID id-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-ContinuousPacketConnectivity-DRX-InformationLCR CRITICALITY reject EXTENSION ContinuousPacketConnectivity-DRX-InformationLCR PRESENCE optional }|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-LCR CRITICALITY reject EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-LCR PRESENCE optional }|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-LCR CRITICALITY reject EXTENSION E-DCH-Semi-PersistentScheduling-Information-LCR PRESENCE optional }|
+ { ID id-IdleIntervalInformation CRITICALITY ignore EXTENSION IdleIntervalInformation PRESENCE optional }|
+ { ID id-UE-Selected-MBMS-Service-Information CRITICALITY ignore EXTENSION UE-Selected-MBMS-Service-Information PRESENCE optional }|
+ { ID id-HSSCCH-TPC-StepSize CRITICALITY ignore EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional }|
+ { ID id-DCH-MeasurementOccasion-Information CRITICALITY reject EXTENSION DCH-MeasurementOccasion-Information PRESENCE optional },
+ ...
+}
+
+UL-CCTrCH-InformationList-RL-AdditionRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationItem-RL-AdditionRqstTDD
+
+UL-CCTrCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ uL-DPCH-Information UL-DPCH-InformationList-RL-AdditionRqstTDD OPTIONAL, -- Applicable to 3.84cps TDD only
+ iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD CRITICALITY notify EXTENSION UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD PRESENCE optional }| -- Applicable to 1.28cps TDD only
+ { ID id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional }|-- Applicable to 1.28cps TDD only
+ { ID id-UL-DPCH-InformationItem-768-RL-AdditionRqstTDD CRITICALITY notify EXTENSION UL-DPCH-InformationItem-768-RL-AdditionRqstTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+UL-DPCH-InformationList-RL-AdditionRqstTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationItemIE-RL-AdditionRqstTDD }}
+
+UL-DPCH-InformationItemIE-RL-AdditionRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationItem-RL-AdditionRqstTDD CRITICALITY notify TYPE UL-DPCH-InformationItem-RL-AdditionRqstTDD PRESENCE optional }
+ -- For 3.84Mcps TDD only
+}
+
+UL-DPCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information UL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-TimeslotLCR-Information UL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationItem-768-RL-AdditionRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot768-Information UL-Timeslot768-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-768-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationItem-768-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationList-RL-AdditionRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationItem-RL-AdditionRqstTDD
+
+DL-CCTrCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dL-DPCH-Information DL-DPCH-InformationList-RL-AdditionRqstTDD OPTIONAL, -- Applicable to 3.84Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD CRITICALITY notify EXTENSION DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional }|
+ { ID id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-DL-DPCH-InformationItem-768-RL-AdditionRqstTDD CRITICALITY notify EXTENSION DL-DPCH-InformationItem-768-RL-AdditionRqstTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+DL-DPCH-InformationList-RL-AdditionRqstTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationItemIE-RL-AdditionRqstTDD }}
+
+DL-DPCH-InformationItemIE-RL-AdditionRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationItem-RL-AdditionRqstTDD CRITICALITY notify TYPE DL-DPCH-InformationItem-RL-AdditionRqstTDD PRESENCE mandatory }
+}
+
+DL-DPCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information DL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-TimeslotLCR-Information DL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationItem-768-RL-AdditionRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot768-Information DL-Timeslot768-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-768-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationItem-768-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Information-RL-AdditionRqstTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ c-ID C-ID,
+ frameOffset FrameOffset,
+ diversityControlField DiversityControlField,
+ initial-DL-Transmission-Power DL-Power OPTIONAL,
+ maximumDL-Power DL-Power OPTIONAL,
+ minimumDL-Power DL-Power OPTIONAL,
+ dL-TimeSlotISCPInfo DL-TimeslotISCPInfo OPTIONAL, -- Applicable to 3.84Mcps TDD and 7.68Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { { RL-information-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+RL-information-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD CRITICALITY reject EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
+ { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY reject EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-UARFCNforNt CRITICALITY reject EXTENSION UARFCN PRESENCE optional },
+ -- Mandatory for 1.28Mcps TDD when using multiple frequencies
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION RESPONSE FDD
+--
+-- **************************************************************
+
+RadioLinkAdditionResponseFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionResponseFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionResponseFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionResponseFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-RL-InformationResponseList-RL-AdditionRspFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-AdditionRspFDD PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkAdditionResponseFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-HS-DSCH-Serving-Cell-Change-Info-Response CRITICALITY ignore EXTENSION HS-DSCH-Serving-Cell-Change-Info-Response PRESENCE optional }|
+{ ID id-E-DCH-Serving-Cell-Change-Info-Response CRITICALITY ignore EXTENSION E-DCH-Serving-Cell-Change-Info-Response PRESENCE optional }|
+{ ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional }|
+{ ID id-Additional-HS-Cell-Change-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Change-Information-Response-List PRESENCE optional }|
+{ ID id-Additional-EDCH-Cell-Information-Response-RL-Add CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-RL-Add-List PRESENCE optional },
+ ...
+}
+
+Additional-HS-Cell-Change-Information-Response-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Change-Information-Response-ItemIEs
+
+Additional-HS-Cell-Change-Information-Response-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ hS-DSCH-Secondary-Serving-Cell-Change-Information-Response HS-DSCH-Secondary-Serving-Cell-Change-Information-Response,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Change-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Change-Information-Response-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationResponseList-RL-AdditionRspFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container {{ RL-InformationResponseItemIE-RL-AdditionRspFDD }}
+
+RL-InformationResponseItemIE-RL-AdditionRspFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseItem-RL-AdditionRspFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-AdditionRspFDD PRESENCE mandatory }
+}
+
+RL-InformationResponseItem-RL-AdditionRspFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Set-ID RL-Set-ID,
+ received-total-wide-band-power Received-total-wide-band-power-Value,
+ diversityIndication DiversityIndication-RL-AdditionRspFDD,
+ sSDT-SupportIndicator SSDT-SupportIndicator,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseItem-RL-AdditionRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional }|
+ { ID id-E-DCH-RL-Set-ID CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-E-DCH-FDD-DL-Control-Channel-Information CRITICALITY ignore EXTENSION E-DCH-FDD-DL-Control-Channel-Information PRESENCE optional }|
+ { ID id-Initial-DL-DPCH-TimingAdjustment CRITICALITY ignore EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional},
+ ...
+}
+
+DiversityIndication-RL-AdditionRspFDD ::= CHOICE {
+ combining Combining-RL-AdditionRspFDD,
+ non-combining Non-Combining-RL-AdditionRspFDD
+}
+
+Combining-RL-AdditionRspFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CombiningItem-RL-AdditionRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-FDD-Information-Response CRITICALITY ignore EXTENSION E-DCH-FDD-Information-Response PRESENCE optional },
+ ...
+}
+
+Non-Combining-RL-AdditionRspFDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { Non-CombiningItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Non-CombiningItem-RL-AdditionRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-FDD-Information-Response CRITICALITY ignore EXTENSION E-DCH-FDD-Information-Response PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION RESPONSE TDD
+--
+-- **************************************************************
+
+RadioLinkAdditionResponseTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionResponseTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionResponseTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-RL-InformationResponse-RL-AdditionRspTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-AdditionRspTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD and 7.68Mcps TDD, Not Applicable to 1.28Mcps TDD
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkAdditionResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RL-InformationResponse-LCR-RL-AdditionRspTDD CRITICALITY ignore EXTENSION RL-InformationResponse-LCR-RL-AdditionRspTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional}|
+ { ID id-E-DCH-Information-Response CRITICALITY ignore EXTENSION E-DCH-Information-Response PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-Information-ResponseLCR PRESENCE optional }|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional }|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION E-DCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional},
+ ...
+}
+
+RL-InformationResponse-RL-AdditionRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ uL-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ dCH-Information DCH-Information-RL-AdditionRspTDD OPTIONAL,
+ dSCH-InformationResponseList DSCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
+ uSCH-InformationResponseList USCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationResponse-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponse-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-Information-RL-AdditionRspTDD ::= SEQUENCE {
+ diversityIndication DiversityIndication-RL-AdditionRspTDD,
+ iE-Extensions ProtocolExtensionContainer { { DCH-Information-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-Information-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DiversityIndication-RL-AdditionRspTDD ::= CHOICE {
+ combining Combining-RL-AdditionRspTDD, -- Indicates whether the old Transport Bearer shall be reused or not
+ non-Combining Non-Combining-RL-AdditionRspTDD
+}
+
+Combining-RL-AdditionRspTDD ::= SEQUENCE {
+ rL-ID RL-ID, -- Reference RL
+ iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CombiningItem-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Non-Combining-RL-AdditionRspTDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { Non-CombiningItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Non-CombiningItem-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DSCH-InformationResponseList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-AdditionRspTDD }}
+
+DSCH-InformationResponseListIEs-RL-AdditionRspTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
+}
+
+USCH-InformationResponseList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{ USCH-InformationResponseListIEs-RL-AdditionRspTDD }}
+
+USCH-InformationResponseListIEs-RL-AdditionRspTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-USCH-InformationResponse CRITICALITY ignore TYPE USCH-InformationResponse PRESENCE mandatory }
+}
+
+RL-InformationResponse-LCR-RL-AdditionRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ uL-TimeSlot-ISCP-InfoLCR UL-TimeSlot-ISCP-LCR-Info,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ dCH-Information DCH-Information-RL-AdditionRspTDD OPTIONAL,
+ dSCH-InformationResponseList DSCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
+ uSCH-InformationResponseList USCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationResponse-LCR-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponse-LCR-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION FAILURE FDD
+--
+-- **************************************************************
+
+RadioLinkAdditionFailureFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionFailureFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionFailureFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionFailureFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-CauseLevel-RL-AdditionFailureFDD CRITICALITY ignore TYPE CauseLevel-RL-AdditionFailureFDD PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkAdditionFailureFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-HS-DSCH-Serving-Cell-Change-Info-Response CRITICALITY ignore EXTENSION HS-DSCH-Serving-Cell-Change-Info-Response PRESENCE optional }|
+{ ID id-E-DCH-Serving-Cell-Change-Info-Response CRITICALITY ignore EXTENSION E-DCH-Serving-Cell-Change-Info-Response PRESENCE optional }|
+{ ID id-Additional-HS-Cell-Change-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Change-Information-Response-List PRESENCE optional }|
+{ ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional }|
+{ ID id-Additional-EDCH-Cell-Information-Response-RL-Add CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-RL-Add-List PRESENCE optional },
+ ...
+}
+
+CauseLevel-RL-AdditionFailureFDD ::= CHOICE {
+ generalCause GeneralCauseList-RL-AdditionFailureFDD,
+ rLSpecificCause RLSpecificCauseList-RL-AdditionFailureFDD,
+ ...
+}
+
+GeneralCauseList-RL-AdditionFailureFDD ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-AdditionFailureFDD ::= SEQUENCE {
+ unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD Unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD,
+ successful-RL-InformationRespList-RL-AdditionFailureFDD Successful-RL-InformationRespList-RL-AdditionFailureFDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLSpecificCauseItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container {{ Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureFDD }}
+
+Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD PRESENCE mandatory }
+}
+
+Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Successful-RL-InformationRespList-RL-AdditionFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-2)) OF ProtocolIE-Single-Container {{ Successful-RL-InformationRespItemIE-RL-AdditionFailureFDD }}
+
+Successful-RL-InformationRespItemIE-RL-AdditionFailureFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD CRITICALITY ignore TYPE Successful-RL-InformationRespItem-RL-AdditionFailureFDD PRESENCE mandatory }
+}
+
+Successful-RL-InformationRespItem-RL-AdditionFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Set-ID RL-Set-ID,
+ received-total-wide-band-power Received-total-wide-band-power-Value,
+ diversityIndication DiversityIndication-RL-AdditionFailureFDD,
+ sSDT-SupportIndicator SSDT-SupportIndicator,
+ iE-Extensions ProtocolExtensionContainer { { Successful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Successful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional }|
+ { ID id-E-DCH-RL-Set-ID CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-E-DCH-FDD-DL-Control-Channel-Information CRITICALITY ignore EXTENSION E-DCH-FDD-DL-Control-Channel-Information PRESENCE optional }|
+ { ID id-Initial-DL-DPCH-TimingAdjustment CRITICALITY ignore EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional },
+ ...
+}
+
+DiversityIndication-RL-AdditionFailureFDD ::= CHOICE {
+ combining Combining-RL-AdditionFailureFDD,
+ non-Combining Non-Combining-RL-AdditionFailureFDD
+}
+
+Combining-RL-AdditionFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CombiningItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-FDD-Information-Response CRITICALITY ignore EXTENSION E-DCH-FDD-Information-Response PRESENCE optional },
+ ...
+}
+
+Non-Combining-RL-AdditionFailureFDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { Non-CombiningItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Non-CombiningItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-FDD-Information-Response CRITICALITY ignore EXTENSION E-DCH-FDD-Information-Response PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION FAILURE TDD
+--
+-- **************************************************************
+
+RadioLinkAdditionFailureTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionFailureTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionFailureTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-CauseLevel-RL-AdditionFailureTDD CRITICALITY ignore TYPE CauseLevel-RL-AdditionFailureTDD PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkAdditionFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CauseLevel-RL-AdditionFailureTDD ::= CHOICE {
+ generalCause GeneralCauseList-RL-AdditionFailureTDD,
+ rLSpecificCause RLSpecificCauseList-RL-AdditionFailureTDD,
+ ...
+}
+
+GeneralCauseList-RL-AdditionFailureTDD ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-RL-AdditionFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-AdditionFailureTDD ::= SEQUENCE {
+ unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD Unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLSpecificCauseItem-RL-AdditionFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD ::= ProtocolIE-Single-Container { {Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureTDD} }
+
+Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD PRESENCE mandatory }
+}
+
+Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION PREPARE FDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationPrepareFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationPrepareFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationPrepareFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationPrepareFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-UL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional }|
+ { ID id-DL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional }|
+ { ID id-FDD-DCHs-to-Modify CRITICALITY reject TYPE FDD-DCHs-to-Modify PRESENCE optional }|
+ { ID id-DCHs-to-Add-FDD CRITICALITY reject TYPE DCH-FDD-Information PRESENCE optional }|
+ { ID id-DCH-DeleteList-RL-ReconfPrepFDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfPrepFDD PRESENCE optional }|
+ { ID id-RL-InformationList-RL-ReconfPrepFDD CRITICALITY reject TYPE RL-InformationList-RL-ReconfPrepFDD PRESENCE optional }|
+ { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional },
+ ...
+}
+
+RadioLinkReconfigurationPrepareFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
+ { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
+ { ID id-HSDSCH-Information-to-Modify CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify PRESENCE optional }|
+ { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
+ { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
+ { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
+ -- The IE shall be present if HS-PDSCH RL ID IE is present.
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
+ { ID id-E-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject EXTENSION E-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional }|
+ { ID id-E-DCH-FDD-Information CRITICALITY reject EXTENSION E-DCH-FDD-Information PRESENCE optional }|
+ { ID id-E-DCH-FDD-Information-to-Modify CRITICALITY reject EXTENSION E-DCH-FDD-Information-to-Modify PRESENCE optional }|
+ { ID id-E-DCH-MACdFlows-to-Add CRITICALITY reject EXTENSION E-DCH-MACdFlows-Information PRESENCE optional }|
+ { ID id-E-DCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION E-DCH-MACdFlows-to-Delete PRESENCE optional }|
+ { ID id-Serving-E-DCH-RL-ID CRITICALITY reject EXTENSION Serving-E-DCH-RL-ID PRESENCE optional }|
+ { ID id-F-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject EXTENSION F-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional }|
+ { ID id-Fast-Reconfiguration-Mode CRITICALITY ignore EXTENSION Fast-Reconfiguration-Mode PRESENCE optional }|
+ { ID id-CPC-Information CRITICALITY reject EXTENSION CPC-Information PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-RL-Reconf-Prep CRITICALITY reject EXTENSION Additional-HS-Cell-Information-RL-Reconf-Prep PRESENCE optional }|
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional }|
+ { ID id-Additional-EDCH-Cell-Information-RL-Reconf-Prep CRITICALITY reject EXTENSION Additional-EDCH-Cell-Information-RL-Reconf-Prep PRESENCE optional },
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Reconf-Prep ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Reconf-Prep-ItemIEs
+
+Additional-HS-Cell-Information-RL-Reconf-Prep-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ c-ID C-ID OPTIONAL,
+ hS-DSCH-FDD-Secondary-Serving-Information HS-DSCH-FDD-Secondary-Serving-Information OPTIONAL,
+ hS-DSCH-Secondary-Serving-Information-To-Modify HS-DSCH-Secondary-Serving-Information-To-Modify OPTIONAL,
+ hS-HS-DSCH-Secondary-Serving-Remove HS-DSCH-Secondary-Serving-Remove OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Reconf-Prep-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Reconf-Prep-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Reconf-Prep ::=SEQUENCE{
+ setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency Setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-RL-Reconf-Prep-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Reconf-Prep-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UL-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ ul-ScramblingCode UL-ScramblingCode OPTIONAL,
+ ul-SIR-Target UL-SIR OPTIONAL,
+ minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength OPTIONAL,
+ maxNrOfUL-DPDCHs MaxNrOfUL-DPDCHs OPTIONAL,
+ -- This IE shall be present if minUL-ChannelisationCodeLength Ie is set to 4
+ ul-PunctureLimit PunctureLimit OPTIONAL,
+ tFCS TFCS OPTIONAL,
+ ul-DPCCH-SlotFormat UL-DPCCH-SlotFormat OPTIONAL,
+ diversityMode DiversityMode OPTIONAL,
+ not-Used-sSDT-CellIDLength NULL OPTIONAL,
+ not-Used-s-FieldLength NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPDCH-Indicator-For-E-DCH-Operation CRITICALITY reject EXTENSION UL-DPDCH-Indicator-For-E-DCH-Operation PRESENCE optional },
+ ...
+}
+
+DL-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ tFCS TFCS OPTIONAL,
+ dl-DPCH-SlotFormat DL-DPCH-SlotFormat OPTIONAL,
+ tFCI-SignallingMode TFCI-SignallingMode OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ -- This IE shall be present if the DL DPCH Slot Format IE is set to any of the values from 12 to 16
+ multiplexingPosition MultiplexingPosition OPTIONAL,
+ not-Used-pDSCH-CodeMapping NULL OPTIONAL,
+ not-Used-pDSCH-RL-ID NULL OPTIONAL,
+ limitedPowerIncrease LimitedPowerIncrease OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-Power-Information-RL-ReconfPrepFDD CRITICALITY reject EXTENSION DL-DPCH-Power-Information-RL-ReconfPrepFDD PRESENCE optional },
+ ...
+}
+
+DL-DPCH-Power-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ powerOffsetInformation PowerOffsetInformation-RL-ReconfPrepFDD,
+ fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Power-Information-RL-ReconfPrepFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DL-DPCH-Power-Information-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PowerOffsetInformation-RL-ReconfPrepFDD ::= SEQUENCE {
+ pO1-ForTFCI-Bits PowerOffset,
+ pO2-ForTPC-Bits PowerOffset,
+ pO3-ForPilotBits PowerOffset,
+ iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PowerOffsetInformation-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-DeleteList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfPrepFDD
+
+DCH-DeleteItem-RL-ReconfPrepFDD ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-ReconfPrepFDD }}
+
+RL-InformationItemIE-RL-ReconfPrepFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-ReconfPrepFDD CRITICALITY reject TYPE RL-InformationItem-RL-ReconfPrepFDD PRESENCE mandatory}
+}
+
+RL-InformationItem-RL-ReconfPrepFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ dl-CodeInformation FDD-DL-CodeInformation OPTIONAL,
+ maxDL-Power DL-Power OPTIONAL,
+ minDL-Power DL-Power OPTIONAL,
+ not-Used-sSDT-Indication NULL OPTIONAL,
+ not-Used-sSDT-Cell-Identity NULL OPTIONAL,
+ transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
+ -- This IE shall be present if Diversity Mode IE is present in UL DPCH Information IE and it is not set to "none"
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-DL-DPCH-TimingAdjustment CRITICALITY reject EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
+ { ID id-Primary-CPICH-Usage-for-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-for-Channel-Estimation PRESENCE optional}|
+ { ID id-Secondary-CPICH-Information-Change CRITICALITY ignore EXTENSION Secondary-CPICH-Information-Change PRESENCE optional }|
+ { ID id-E-DCH-RL-Indication CRITICALITY reject EXTENSION E-DCH-RL-Indication PRESENCE optional }|
+ { ID id-RL-Specific-E-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-E-DCH-Info PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY reject EXTENSION F-DPCH-SlotFormat PRESENCE optional },
+ ...
+}
+
+E-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs OPTIONAL,
+ ul-PunctureLimit PunctureLimit OPTIONAL,
+ e-TFCS-Information E-TFCS-Information OPTIONAL,
+ e-TTI E-TTI OPTIONAL,
+ e-DPCCH-PO E-DPCCH-PO OPTIONAL,
+ e-RGCH-2-IndexStepThreshold E-RGCH-2-IndexStepThreshold OPTIONAL,
+ e-RGCH-3-IndexStepThreshold E-RGCH-3-IndexStepThreshold OPTIONAL,
+ hARQ-Info-for-E-DCH HARQ-Info-for-E-DCH OPTIONAL,
+ hSDSCH-Configured-Indicator HSDSCH-Configured-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DPCH-Information-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MinimumReducedE-DPDCH-GainFactor CRITICALITY ignore EXTENSION MinimumReducedE-DPDCH-GainFactor PRESENCE optional },
+ ...
+}
+
+F-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ powerOffsetInformation PowerOffsetInformation-F-DPCH-RL-ReconfPrepFDD,
+ fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ limitedPowerIncrease LimitedPowerIncrease,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ iE-Extensions ProtocolExtensionContainer { { F-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+F-DPCH-Information-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PowerOffsetInformation-F-DPCH-RL-ReconfPrepFDD ::= SEQUENCE {
+ pO2-ForTPC-Bits PowerOffset,
+ -- This IE shall be ignored by Node B
+ iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-F-DPCH-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PowerOffsetInformation-F-DPCH-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION PREPARE TDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationPrepareTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationPrepareTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationPrepareTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationPrepareTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-TDD-DCHs-to-Modify CRITICALITY reject TYPE TDD-DCHs-to-Modify PRESENCE optional }|
+ { ID id-DCHs-to-Add-TDD CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional }|
+ { ID id-DCH-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-DSCH-Information-ModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE DSCH-Information-ModifyList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-DSCHs-to-Add-TDD CRITICALITY reject TYPE DSCH-TDD-Information PRESENCE optional }|
+ { ID id-DSCH-Information-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DSCH-Information-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-USCH-Information-ModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE USCH-Information-ModifyList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-USCH-Information-Add CRITICALITY reject TYPE USCH-Information PRESENCE optional }|
+ { ID id-USCH-Information-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE USCH-Information-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-RL-Information-RL-ReconfPrepTDD CRITICALITY reject TYPE RL-Information-RL-ReconfPrepTDD PRESENCE optional },
+-- This RL Information is the for the 1st RL IE repetition
+ ...
+}
+
+RadioLinkReconfigurationPrepareTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
+ { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
+ { ID id-HSDSCH-Information-to-Modify CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify PRESENCE optional }|
+ { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
+ { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
+ { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
+ -- The IE shall be present if HS-PDSCH RL ID IE is present.
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
+ { ID id-PDSCH-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
+ { ID id-multiple-RL-Information-RL-ReconfPrepTDD CRITICALITY reject EXTENSION MultipleRL-Information-RL-ReconfPrepTDD PRESENCE optional }|
+-- This RL Information is the for the 2nd and beyond repetition of RL information,
+ { ID id-E-DCH-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-Information-Reconfig PRESENCE optional }|
+ { ID id-E-DCH-Serving-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
+ { ID id-E-DCH-768-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-768-Information-Reconfig PRESENCE optional }|
+ { ID id-E-DCH-LCR-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-LCR-Information-Reconfig PRESENCE optional }|
+ { ID id-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-CPC-InformationLCR CRITICALITY reject EXTENSION CPC-InformationLCR PRESENCE optional }|
+ { ID id-IdleIntervalInformation CRITICALITY ignore EXTENSION IdleIntervalInformation PRESENCE optional }|
+ { ID id-UE-Selected-MBMS-Service-Information CRITICALITY ignore EXTENSION UE-Selected-MBMS-Service-Information PRESENCE optional }|
+ { ID id-HSSCCH-TPC-StepSize CRITICALITY ignore EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional }|
+ { ID id-DCH-MeasurementOccasion-Information CRITICALITY reject EXTENSION DCH-MeasurementOccasion-Information PRESENCE optional},
+ ...
+}
+
+UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD
+
+UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ punctureLimit PunctureLimit,
+ ul-DPCH-InformationList UL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject EXTENSION UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD.
+-- This Information is the for the first RL repetition, SIR Target information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ { ID id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional }|
+-- This Information is the for the first RL repetition, TPCinformation for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD.
+ { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
+-- This is the RL ID for the first RL repetition
+ { ID id-multipleRL-ul-DPCH-InformationList CRITICALITY reject EXTENSION MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }|
+-- This Information is the for the 2nd and beyond RL repetition,
+ { ID id-UL-DPCH-768-InformationAddItemIE-RL-ReconfPrepTDD CRITICALITY reject EXTENSION UL-DPCH-768-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only, first radio link
+ ...
+}
+
+UL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD }}
+
+UL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationAddItem-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+UL-DPCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information UL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-InformationLCR UL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD
+--Includes the 2nd through the max number of radio link repetitions.
+
+MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ::= SEQUENCE {
+ ul-DPCH-InformationList UL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
+ ul-DPCH-InformationListLCR UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
+ ul-sir-target UL-SIR OPTIONAL,
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD.
+ tDD-TPC-UplinkStepSize-LCR TDD-TPC-UplinkStepSize-LCR OPTIONAL,
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD.
+ rL-ID RL-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPCH-768-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject EXTENSION UL-DPCH-768-InformationAddList-RL-ReconfPrepTDD PRESENCE optional },
+ ...
+}
+
+UL-DPCH-768-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information768 UL-Timeslot768-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-768-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-768-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD
+
+UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS OPTIONAL,
+ tFCI-Coding TFCI-Coding OPTIONAL,
+ punctureLimit PunctureLimit OPTIONAL,
+ ul-DPCH-InformationAddList UL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ ul-DPCH-InformationModifyList UL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ ul-DPCH-InformationDeleteList UL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPCH-LCR-InformationModify-AddList CRITICALITY reject EXTENSION UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only.
+-- This Information is the for the first RL repetition, SIR Target information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ { ID id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+-- This Information is the for the first RL repetition, Step Size information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
+-- This is the RL ID for the first RL repetition
+ { ID id-multipleRL-ul-DPCH-InformationModifyList CRITICALITY reject EXTENSION MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional }|
+-- This DPCH Information is the for the 2nd and beyond RL repetition,
+ { ID id-UL-DPCH-768-InformationModify-AddItem CRITICALITY reject EXTENSION UL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ ...
+}
+
+UL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD }}
+
+UL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information UL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD }}
+
+UL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tdd-DPCHOffset TDD-DPCHOffset OPTIONAL,
+ uL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD UL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD CRITICALITY reject EXTENSION UL-TimeslotLCR-InformationModify-ModifyList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-UL-Timeslot768-Information-RL-ReconfPrepTDD CRITICALITY reject EXTENSION UL-Timeslot768-InformationModify-ModifyList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+UL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD -- Applicable to 3.84Mcps TDD only
+
+UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD
+
+UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-TimeslotLCR-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD -- Applicable to 1.28Mcps TDD only
+
+UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-InformationModify-ModifyList-RL-ReconfPrepTDDLCR UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDDLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PLCCH-Information-RL-ReconfPrepTDDLCR CRITICALITY reject EXTENSION PLCCHinformation PRESENCE optional },
+ ...
+}
+
+UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDDLCR ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR
+
+UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-UL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
+
+ ...
+}
+
+UL-Timeslot768-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-768-InformationModify-ModifyItem-RL-ReconfPrepTDD -- Applicable to 7.68Mcps TDD only
+
+UL-Timeslot-768-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD768 UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-768-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-768-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD768 ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD768
+
+UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD768 ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD768-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD }}
+
+UL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD
+
+UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-InformationLCR UL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD
+--Includes the 2nd through the max number of radio link information repetitions.
+
+MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD ::= SEQUENCE {
+ ul-DPCH-InformationAddList UL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
+ ul-DPCH-InformationModifyList UL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+ ul-DPCH-InformationDeleteList UL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
+ ul-DPCH-InformationAddListLCR UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
+ ul-sir-target UL-SIR OPTIONAL,
+ tDD-TPC-UplinkStepSize-LCR TDD-TPC-UplinkStepSize-LCR OPTIONAL,
+ rL-ID RL-ID OPTIONAL,
+ -- This DPCH Information is the for the 2nd and beyond RL repetitions,
+ iE-Extensions ProtocolExtensionContainer { { MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+...
+}
+
+MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPCH-768-InformationModify-AddList CRITICALITY reject EXTENSION UL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+UL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information768 UL-Timeslot768-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-768-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-768-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD
+
+UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD
+
+DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ punctureLimit PunctureLimit,
+ cCTrCH-TPCList CCTrCH-TPCAddList-RL-ReconfPrepTDD OPTIONAL,
+ dl-DPCH-InformationList DL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ { ID id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+-- This DL Power information is the for the first RL repetition, DL power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ { ID id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional}|
+-- This DL step size is the for the first RL repetition, DL step size information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ { ID id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+-- This DL Power information is the for the first RL repetition, DL power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ { ID id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+-- This DL Power information is the for the first RL repetition, DL power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
+ { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
+-- This is the RL ID for the first RL repetition
+ { ID id-multipleRL-dl-DPCH-InformationList CRITICALITY reject EXTENSION MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }|
+-- This DPCH Information is the for the 2nd and beyond RL repetition,
+ { ID id-DL-DPCH-768-InformationAddItem-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-768-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+CCTrCH-TPCAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCAddItem-RL-ReconfPrepTDD -- Applicable to 3.84Mcps TDD and 7.68Mcps TDD only
+
+CCTrCH-TPCAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CCTrCH-TPCAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD }}
+
+DL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationAddItem-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+DL-DPCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information DL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-InformationLCR DL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD
+ --Includes the 2nd through the max number of radio link information repetitions.
+
+MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ::= SEQUENCE {
+ dl-DPCH-InformationList DL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
+ dl-DPCH-InformationListLCR DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
+ cCTrCH-Initial-DL-Power DL-Power OPTIONAL,
+ tDD-TPC-DownlinkStepSize TDD-TPC-DownlinkStepSize OPTIONAL,
+ cCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD DL-Power OPTIONAL,
+ cCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD DL-Power OPTIONAL,
+ rL-ID RL-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-768-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-768-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+DL-DPCH-768-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information768 DL-Timeslot768-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-768-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-768-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD
+
+DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS OPTIONAL,
+ tFCI-Coding TFCI-Coding OPTIONAL,
+ punctureLimit PunctureLimit OPTIONAL,
+ cCTrCH-TPCList CCTrCH-TPCModifyList-RL-ReconfPrepTDD OPTIONAL,
+ dl-DPCH-InformationAddList DL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ dl-DPCH-InformationModifyList DL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ dl-DPCH-InformationDeleteList DL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+-- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ { ID id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional}|
+-- This Step Size Information is the for the first RL repetition, step size information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ { ID id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+-- This power Information is the for the first RL repetition, power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ { ID id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+-- This power Information is the for the first RL repetition, power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
+ { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
+-- This is the RL ID for the first RL repetition
+ { ID id-multipleRL-dl-DPCH-InformationModifyList CRITICALITY reject EXTENSION MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional }|
+-- This DPCH Information is the for the 2nd and beyond RL repetitions,
+ { ID id-DL-DPCH-768-InformationModify-AddItem-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only first radio link
+ ...
+}
+
+CCTrCH-TPCModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCModifyItem-RL-ReconfPrepTDD
+
+CCTrCH-TPCModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CCTrCH-TPCModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD }}
+-- Applicable to 3.84Mcps TDD only
+
+DL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information DL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD }}
+
+DL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tdd-DPCHOffset TDD-DPCHOffset OPTIONAL,
+ dL-Timeslot-InformationAddModify-ModifyList-RL-ReconfPrepTDD DL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-DL-Timeslot-768-InformationModify-ModifyList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-Timeslot-768-InformationModify-ModifyList-RL-ReconfPrepTDD PRESENCE optional },
+ ...
+}
+
+DL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD
+
+DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD DL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfDPCHs)) OF DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD
+
+DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD
+
+DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD DL-Code-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+DL-Code-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD
+
+DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-DL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
+ ...
+}
+
+DL-Timeslot-768-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-Timeslot-768-InformationModify-ModifyItem-RL-ReconfPrepTDD
+
+DL-Timeslot-768-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-768-InformationModify-ModifyList-RL-ReconfPrepTDD DL-Code-768-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-768-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-768-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Code-768-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs768)) OF DL-Code-768-InformationModify-ModifyItem-RL-ReconfPrepTDD
+
+DL-Code-768-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dPCH-ID768 DPCH-ID768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Code-768-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Code-768-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD }}
+
+DL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD
+
+DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-InformationLCR DL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD
+ --Includes the 2nd through the max number of radio link information repetitions.
+
+MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD ::= SEQUENCE {
+ dl-DPCH-InformationAddList DL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
+ dl-DPCH-InformationModifyList DL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
+ dl-DPCH-InformationDeleteList DL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
+ dl-DPCH-InformationAddListLCR DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
+ tDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD TDD-TPC-DownlinkStepSize OPTIONAL,
+ cCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD DL-Power OPTIONAL,
+ cCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD DL-Power OPTIONAL,
+ rL-ID RL-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 7.68Mcps TDD only
+ ...
+}
+
+DL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information768 DL-Timeslot768-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-768-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-768-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD
+
+DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfPrepTDD
+
+DCH-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DSCH-Information-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-Information-ModifyItem-RL-ReconfPrepTDD
+
+DSCH-Information-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dSCH-ID DSCH-ID,
+ cCTrCH-ID CCTrCH-ID OPTIONAL,
+ -- DL CCTrCH in which the DSCH is mapped
+ transportFormatSet TransportFormatSet OPTIONAL,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ frameHandlingPriority FrameHandlingPriority OPTIONAL,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ iE-Extensions ProtocolExtensionContainer { { DSCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+DSCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+DSCH-Information-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-Information-DeleteItem-RL-ReconfPrepTDD
+
+DSCH-Information-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dSCH-ID DSCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DSCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+USCH-Information-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-Information-ModifyItem-RL-ReconfPrepTDD
+
+USCH-Information-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ transportFormatSet TransportFormatSet OPTIONAL,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ cCTrCH-ID CCTrCH-ID OPTIONAL, -- UL CCTrCH in which the USCH is mapped
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ iE-Extensions ProtocolExtensionContainer { { USCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+USCH-Information-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-Information-DeleteItem-RL-ReconfPrepTDD
+
+USCH-Information-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { USCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+USCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleRL-Information-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF RL-Information-RL-ReconfPrepTDD
+--Includes the 2nd through the max number of radio link information repetitions.
+
+RL-Information-RL-ReconfPrepTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ maxDL-Power DL-Power OPTIONAL,
+ minDL-Power DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-Information-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-InitDL-Power CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-UARFCNforNt CRITICALITY reject EXTENSION UARFCN PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION READY
+--
+-- **************************************************************
+
+RadioLinkReconfigurationReady ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationReady-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationReady-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationReady-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-RL-InformationResponseList-RL-ReconfReady CRITICALITY ignore TYPE RL-InformationResponseList-RL-ReconfReady PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkReconfigurationReady-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TargetCommunicationControlPortID CRITICALITY ignore EXTENSION CommunicationControlPortID PRESENCE optional }|
+ { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
+ -- FDD only
+ { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional }|
+ -- TDD only
+ { ID id-E-DCH-Information-Response CRITICALITY ignore EXTENSION E-DCH-Information-Response PRESENCE optional }|
+ { ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional }|
+ { ID id-Fast-Reconfiguration-Permission CRITICALITY ignore EXTENSION Fast-Reconfiguration-Permission PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Information-Response CRITICALITY ignore EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Information-Response PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Information-Response-List PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-Information-ResponseLCR PRESENCE optional }|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional }|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION E-DCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-ResponseRLReconf CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-RLReconf-List PRESENCE optional },
+ ...
+}
+
+RL-InformationResponseList-RL-ReconfReady ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationResponseItemIE-RL-ReconfReady}}
+
+RL-InformationResponseItemIE-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseItem-RL-ReconfReady CRITICALITY ignore TYPE RL-InformationResponseItem-RL-ReconfReady PRESENCE mandatory }
+}
+
+RL-InformationResponseItem-RL-ReconfReady ::= SEQUENCE {
+ rL-ID RL-ID,
+ dCH-InformationResponseList-RL-ReconfReady DCH-InformationResponseList-RL-ReconfReady OPTIONAL,
+ dSCH-InformationResponseList-RL-ReconfReady DSCH-InformationResponseList-RL-ReconfReady OPTIONAL, -- TDD only
+ uSCH-InformationResponseList-RL-ReconfReady USCH-InformationResponseList-RL-ReconfReady OPTIONAL, -- TDD only
+ not-Used-tFCI2-BearerInformationResponse NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-ReconfReady-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseItem-RL-ReconfReady-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-PowerBalancing-UpdatedIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-UpdatedIndicator PRESENCE optional }|
+ { ID id-E-DCH-RL-Set-ID CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-E-DCH-FDD-DL-Control-Channel-Information CRITICALITY ignore EXTENSION E-DCH-FDD-DL-Control-Channel-Information PRESENCE optional }|
+ { ID id-E-DCH-FDD-Information-Response CRITICALITY ignore EXTENSION E-DCH-FDD-Information-Response PRESENCE optional },
+ ...
+}
+
+DCH-InformationResponseList-RL-ReconfReady ::= ProtocolIE-Single-Container {{ DCH-InformationResponseListIEs-RL-ReconfReady }}
+
+DCH-InformationResponseListIEs-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory }
+}
+
+DSCH-InformationResponseList-RL-ReconfReady ::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-ReconfReady }}
+
+DSCH-InformationResponseListIEs-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
+ { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
+}
+
+USCH-InformationResponseList-RL-ReconfReady ::= ProtocolIE-Single-Container {{ USCH-InformationResponseListIEs-RL-ReconfReady }}
+
+USCH-InformationResponseListIEs-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
+ { ID id-USCH-InformationResponse CRITICALITY ignore TYPE USCH-InformationResponse PRESENCE mandatory }
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION FAILURE
+--
+-- **************************************************************
+
+RadioLinkReconfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-CauseLevel-RL-ReconfFailure CRITICALITY ignore TYPE CauseLevel-RL-ReconfFailure PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CauseLevel-RL-ReconfFailure ::= CHOICE {
+ generalCause GeneralCauseList-RL-ReconfFailure,
+ rLSpecificCause RLSpecificCauseList-RL-ReconfFailure,
+ ...
+}
+
+GeneralCauseList-RL-ReconfFailure ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-RL-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-ReconfFailure ::= SEQUENCE {
+ rL-ReconfigurationFailureList-RL-ReconfFailure RL-ReconfigurationFailureList-RL-ReconfFailure OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLSpecificCauseItem-RL-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-ReconfigurationFailureList-RL-ReconfFailure ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-ReconfigurationFailureItemIE-RL-ReconfFailure}}
+
+RL-ReconfigurationFailureItemIE-RL-ReconfFailure NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-ReconfigurationFailureItem-RL-ReconfFailure CRITICALITY ignore TYPE RL-ReconfigurationFailureItem-RL-ReconfFailure PRESENCE mandatory}
+}
+
+RL-ReconfigurationFailureItem-RL-ReconfFailure ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { RL-ReconfigurationFailureItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-ReconfigurationFailureItem-RL-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION COMMIT
+--
+-- **************************************************************
+
+RadioLinkReconfigurationCommit ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationCommit-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationCommit-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationCommit-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
+ { ID id-CFN CRITICALITY ignore TYPE CFN PRESENCE mandatory }|
+ { ID id-Active-Pattern-Sequence-Information CRITICALITY ignore TYPE Active-Pattern-Sequence-Information PRESENCE optional },
+ -- FDD only
+ ...
+}
+
+RadioLinkReconfigurationCommit-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Fast-Reconfiguration-Mode CRITICALITY reject EXTENSION Fast-Reconfiguration-Mode PRESENCE optional },--FDD only
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION CANCEL
+--
+-- **************************************************************
+
+RadioLinkReconfigurationCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationCancel-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationCancel-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationCancel-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory },
+ ...
+}
+
+RadioLinkReconfigurationCancel-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION REQUEST FDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-UL-DPCH-Information-RL-ReconfRqstFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-ReconfRqstFDD PRESENCE optional }|
+ { ID id-DL-DPCH-Information-RL-ReconfRqstFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-ReconfRqstFDD PRESENCE optional }|
+ { ID id-FDD-DCHs-to-Modify CRITICALITY reject TYPE FDD-DCHs-to-Modify PRESENCE optional }|
+ { ID id-DCHs-to-Add-FDD CRITICALITY reject TYPE DCH-FDD-Information PRESENCE optional }|
+ { ID id-DCH-DeleteList-RL-ReconfRqstFDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfRqstFDD PRESENCE optional }|
+ { ID id-RL-InformationList-RL-ReconfRqstFDD CRITICALITY reject TYPE RL-InformationList-RL-ReconfRqstFDD PRESENCE optional }|
+ { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional },
+ ...
+}
+
+RadioLinkReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
+ { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
+ { ID id-HSDSCH-Information-to-Modify-Unsynchronised CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify-Unsynchronised PRESENCE optional }|
+ { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
+ { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
+ { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
+ -- The IE shall be present if HS-PDSCH RL ID IE is present.
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
+ { ID id-E-DPCH-Information-RL-ReconfRqstFDD CRITICALITY reject EXTENSION E-DPCH-Information-RL-ReconfRqstFDD PRESENCE optional }|
+ { ID id-E-DCH-FDD-Information CRITICALITY reject EXTENSION E-DCH-FDD-Information PRESENCE optional }|
+ { ID id-E-DCH-FDD-Information-to-Modify CRITICALITY reject EXTENSION E-DCH-FDD-Information-to-Modify PRESENCE optional }|
+ { ID id-E-DCH-MACdFlows-to-Add CRITICALITY reject EXTENSION E-DCH-MACdFlows-Information PRESENCE optional }|
+ { ID id-E-DCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION E-DCH-MACdFlows-to-Delete PRESENCE optional }|
+ { ID id-Serving-E-DCH-RL-ID CRITICALITY reject EXTENSION Serving-E-DCH-RL-ID PRESENCE optional }|
+ { ID id-CPC-Information CRITICALITY reject EXTENSION CPC-Information PRESENCE optional }|
+ { ID id-NoOfTargetCellHS-SCCH-Order CRITICALITY ignore EXTENSION NoOfTargetCellHS-SCCH-Order PRESENCE optional}|
+ { ID id-Additional-HS-Cell-Information-RL-Reconf-Req CRITICALITY reject EXTENSION Additional-HS-Cell-Information-RL-Reconf-Req PRESENCE optional }|
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional }|
+ { ID id-Additional-EDCH-Cell-Information-RL-Reconf-Req CRITICALITY reject EXTENSION Additional-EDCH-Cell-Information-RL-Reconf-Req PRESENCE optional },
+...
+}
+
+Additional-HS-Cell-Information-RL-Reconf-Req ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Reconf-Req-ItemIEs
+
+Additional-HS-Cell-Information-RL-Reconf-Req-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ c-ID C-ID OPTIONAL,
+ hS-DSCH-FDD-Secondary-Serving-Information HS-DSCH-FDD-Secondary-Serving-Information OPTIONAL,
+ hS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised OPTIONAL,
+ hS-DSCH-Secondary-Serving-Remove HS-DSCH-Secondary-Serving-Remove OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Reconf-Req-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Reconf-Req-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Reconf-Req ::=SEQUENCE{
+ setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency Setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-RL-Reconf-Req-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Reconf-Req-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UL-DPCH-Information-RL-ReconfRqstFDD ::= SEQUENCE {
+ ul-TFCS TFCS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPDCH-Indicator-For-E-DCH-Operation CRITICALITY reject EXTENSION UL-DPDCH-Indicator-For-E-DCH-Operation PRESENCE optional },
+ ...
+}
+
+DL-DPCH-Information-RL-ReconfRqstFDD ::= SEQUENCE {
+ dl-TFCS TFCS OPTIONAL,
+ tFCI-SignallingMode TFCI-SignallingMode OPTIONAL,
+ limitedPowerIncrease LimitedPowerIncrease OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+DL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-DeleteList-RL-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfRqstFDD
+
+DCH-DeleteItem-RL-ReconfRqstFDD ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+DCH-DeleteItem-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-ReconfRqstFDD}}
+
+RL-InformationItemIE-RL-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-ReconfRqstFDD CRITICALITY reject TYPE RL-InformationItem-RL-ReconfRqstFDD PRESENCE mandatory }
+}
+
+RL-InformationItem-RL-ReconfRqstFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ maxDL-Power DL-Power OPTIONAL,
+ minDL-Power DL-Power OPTIONAL,
+ dl-CodeInformation FDD-DL-CodeInformation OPTIONAL,
+ -- The IE shall be present if the Transmission Gap Pattern Sequence Information IE is included and the indicated Downlink Compressed Mode method for at least one of the included Transmission Gap Pattern Sequence is set to "SF/2".
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-E-DCH-RL-Indication CRITICALITY reject EXTENSION E-DCH-RL-Indication PRESENCE optional }|
+ { ID id-RL-Specific-E-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-E-DCH-Info PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY reject EXTENSION F-DPCH-SlotFormat PRESENCE optional },
+ ...
+}
+
+E-DPCH-Information-RL-ReconfRqstFDD ::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs OPTIONAL,
+ ul-PunctureLimit PunctureLimit OPTIONAL,
+ e-TFCS-Information E-TFCS-Information OPTIONAL,
+ e-TTI E-TTI OPTIONAL,
+ e-DPCCH-PO E-DPCCH-PO OPTIONAL,
+ e-RGCH-2-IndexStepThreshold E-RGCH-2-IndexStepThreshold OPTIONAL,
+ e-RGCH-3-IndexStepThreshold E-RGCH-3-IndexStepThreshold OPTIONAL,
+ hARQ-Info-for-E-DCH HARQ-Info-for-E-DCH OPTIONAL,
+ hSDSCH-Configured-Indicator HSDSCH-Configured-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DPCH-Information-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DPCH-Information-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MinimumReducedE-DPDCH-GainFactor CRITICALITY ignore EXTENSION MinimumReducedE-DPDCH-GainFactor PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION REQUEST TDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD PRESENCE optional } |
+ { ID id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD PRESENCE optional } |
+ { ID id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD PRESENCE optional } |
+ { ID id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD PRESENCE optional } |
+ { ID id-TDD-DCHs-to-Modify CRITICALITY reject TYPE TDD-DCHs-to-Modify PRESENCE optional }|
+ { ID id-DCHs-to-Add-TDD CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional }|
+ { ID id-DCH-DeleteList-RL-ReconfRqstTDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfRqstTDD PRESENCE optional }|
+ { ID id-RL-Information-RL-ReconfRqstTDD CRITICALITY reject TYPE RL-Information-RL-ReconfRqstTDD PRESENCE optional },
+-- This RL-Information-RL-ReconfRqstTDD is the first RL information repetition in the RL-Information List. Repetition 2 and on, should be defined in Multiple-RL-Information-RL-ReconfRqstTDD,
+ ...
+}
+
+RadioLinkReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
+ { ID id-multiple-RL-Information-RL-ReconfRqstTDD CRITICALITY reject EXTENSION Multiple-RL-Information-RL-ReconfRqstTDD PRESENCE optional }|
+--Includes the 2nd through the max number of radio link information repetitions.
+ { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
+ { ID id-HSDSCH-Information-to-Modify-Unsynchronised CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify-Unsynchronised PRESENCE optional }|
+ { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
+ { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
+ { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
+ -- The IE shall be present if HS-PDSCH RL ID IE is present.
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
+ { ID id-E-DCH-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-Information-Reconfig PRESENCE optional }|
+ { ID id-E-DCH-Serving-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
+ { ID id-E-DCH-768-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-768-Information-Reconfig PRESENCE optional }|
+ { ID id-E-DCH-LCR-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-LCR-Information-Reconfig PRESENCE optional }|
+ { ID id-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-CPC-InformationLCR CRITICALITY reject EXTENSION CPC-InformationLCR PRESENCE optional }|
+ { ID id-IdleIntervalInformation CRITICALITY ignore EXTENSION IdleIntervalInformation PRESENCE optional }|
+{ ID id-UE-Selected-MBMS-Service-Information CRITICALITY ignore EXTENSION UE-Selected-MBMS-Service-Information PRESENCE optional }|
+ { ID id-HSSCCH-TPC-StepSize CRITICALITY ignore EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional }|
+{ ID id-DCH-MeasurementOccasion-Information CRITICALITY reject EXTENSION DCH-MeasurementOccasion-Information PRESENCE optional},
+ ...
+}
+
+UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ UL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD}}
+
+UL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD PRESENCE mandatory}
+}
+
+UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS OPTIONAL,
+ punctureLimit PunctureLimit OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ UL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD}}
+
+UL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD PRESENCE mandatory }
+}
+
+UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ DL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD}}
+
+DL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD PRESENCE mandatory }
+}
+
+DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS OPTIONAL,
+ punctureLimit PunctureLimit OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD CRITICALITY ignore EXTENSION DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+-- This DPCH LCR Information is the for the first RL repetition, DPCH LCR information for RL repetitions 2 and on, should be defined in MultipleRL-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD.
+ { ID id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+-- This power Information is the for the first RL repetition, power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD.
+ { ID id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+-- This power Information is the for the first RL repetition, power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD.
+ { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
+-- This is the RL ID for the first RL repetition.
+ { ID id-multipleRL-dl-CCTrCH-InformationModifyList-RL-ReconfRqstTDD CRITICALITY reject EXTENSION MultipleRL-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD PRESENCE optional },
+-- This CCTrCH Information is the for the 2nd and beyond RL repetitions.
+ ...
+}
+
+MultipleRL-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-DL-CCTrCH-InformationModifyListIE-RL-ReconfRqstTDD
+--Includes the 2nd through the max number of radio link information repetitions.
+
+MultipleRL-DL-CCTrCH-InformationModifyListIE-RL-ReconfRqstTDD ::= SEQUENCE {
+ dl-DPCH-LCR-InformationModifyList DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD OPTIONAL,
+ cCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD DL-Power OPTIONAL,
+ cCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD DL-Power OPTIONAL,
+ rL-ID RL-ID OPTIONAL,
+ ...
+}
+
+DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD ::= SEQUENCE {
+ dL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD
+
+DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ maxPowerLCR DL-Power OPTIONAL,
+ minPowerLCR DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ DL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD}}
+
+DL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD PRESENCE mandatory }
+}
+
+DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-DeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfRqstTDD
+
+DCH-DeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-DeleteItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multiple-RL-Information-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF RL-Information-RL-ReconfRqstTDD
+--Includes the 2nd through the max number of radio link information repetitions.
+
+RL-Information-RL-ReconfRqstTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ maxDL-Power DL-Power OPTIONAL,
+ minDL-Power DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional },
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION RESPONSE
+--
+-- **************************************************************
+
+RadioLinkReconfigurationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-RL-InformationResponseList-RL-ReconfRsp CRITICALITY ignore TYPE RL-InformationResponseList-RL-ReconfRsp PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TargetCommunicationControlPortID CRITICALITY ignore EXTENSION CommunicationControlPortID PRESENCE optional }|
+ { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
+ -- FDD only
+ { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional }|
+ -- TDD only
+ { ID id-E-DCH-Information-Response CRITICALITY ignore EXTENSION E-DCH-Information-Response PRESENCE optional }|
+ { ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivityHS-SCCH-less-Information-Response CRITICALITY ignore EXTENSION ContinuousPacketConnectivityHS-SCCH-less-Information-Response PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Information-Response-List PRESENCE optional }|
+ { ID id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-Information-ResponseLCR PRESENCE optional }|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional }|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION E-DCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-ResponseRLReconf CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-RLReconf-List PRESENCE optional },
+ ...
+}
+
+RL-InformationResponseList-RL-ReconfRsp ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{RL-InformationResponseItemIE-RL-ReconfRsp}}
+
+RL-InformationResponseItemIE-RL-ReconfRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseItem-RL-ReconfRsp CRITICALITY ignore TYPE RL-InformationResponseItem-RL-ReconfRsp PRESENCE mandatory }
+}
+
+RL-InformationResponseItem-RL-ReconfRsp ::= SEQUENCE {
+ rL-ID RL-ID,
+ dCH-InformationResponseList-RL-ReconfRsp DCH-InformationResponseList-RL-ReconfRsp OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-ReconfRsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseItem-RL-ReconfRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-PowerBalancing-UpdatedIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-UpdatedIndicator PRESENCE optional }|
+ -- FDD only
+ { ID id-E-DCH-RL-Set-ID CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-E-DCH-FDD-DL-Control-Channel-Information CRITICALITY ignore EXTENSION E-DCH-FDD-DL-Control-Channel-Information PRESENCE optional }|
+ { ID id-E-DCH-FDD-Information-Response CRITICALITY ignore EXTENSION E-DCH-FDD-Information-Response PRESENCE optional },
+ ...
+}
+
+DCH-InformationResponseList-RL-ReconfRsp::= ProtocolIE-Single-Container {{ DCH-InformationResponseListIEs-RL-ReconfRsp }}
+
+DCH-InformationResponseListIEs-RL-ReconfRsp NBAP-PROTOCOL-IES ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory }
+}
+
+-- **************************************************************
+--
+-- RADIO LINK DELETION REQUEST
+--
+-- **************************************************************
+
+RadioLinkDeletionRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkDeletionRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkDeletionRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkDeletionRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-CRNC-CommunicationContextID CRITICALITY reject TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-RL-informationList-RL-DeletionRqst CRITICALITY notify TYPE RL-informationList-RL-DeletionRqst PRESENCE mandatory },
+ ...
+}
+
+RadioLinkDeletionRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-informationList-RL-DeletionRqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{RL-informationItemIE-RL-DeletionRqst}}
+
+RL-informationItemIE-RL-DeletionRqst NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-informationItem-RL-DeletionRqst CRITICALITY notify TYPE RL-informationItem-RL-DeletionRqst PRESENCE mandatory }
+}
+
+RL-informationItem-RL-DeletionRqst ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { RL-informationItem-RL-DeletionRqst-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+RL-informationItem-RL-DeletionRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK DELETION RESPONSE
+--
+-- **************************************************************
+
+RadioLinkDeletionResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkDeletionResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkDeletionResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkDeletionResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkDeletionResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DL POWER CONTROL REQUEST FDD
+--
+-- **************************************************************
+
+DL-PowerControlRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DL-PowerControlRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DL-PowerControlRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+DL-PowerControlRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-PowerAdjustmentType CRITICALITY ignore TYPE PowerAdjustmentType PRESENCE mandatory }|
+ { ID id-DLReferencePower CRITICALITY ignore TYPE DL-Power PRESENCE conditional }|
+ -- This IE shall be present if the Adjustment Type IE is set to 'Common'
+ { ID id-InnerLoopDLPCStatus CRITICALITY ignore TYPE InnerLoopDLPCStatus PRESENCE optional }|
+ { ID id-DLReferencePowerList-DL-PC-Rqst CRITICALITY ignore TYPE DL-ReferencePowerInformationList-DL-PC-Rqst PRESENCE conditional }|
+ -- This IE shall be present if the Adjustment Type IE is set to 'Individual'
+ { ID id-MaxAdjustmentStep CRITICALITY ignore TYPE MaxAdjustmentStep PRESENCE conditional }|
+ -- This IE shall be present if the Adjustment Type IE is set to 'Common' or 'Individual'
+ { ID id-AdjustmentPeriod CRITICALITY ignore TYPE AdjustmentPeriod PRESENCE conditional }|
+ -- This IE shall be present if the Adjustment Type IE is set to 'Common' or 'Individual'
+ { ID id-AdjustmentRatio CRITICALITY ignore TYPE ScaledAdjustmentRatio PRESENCE conditional },
+ -- This IE shall be present if the Adjustment Type IE is set to 'Common' or 'Individual'
+ ...
+}
+
+DL-PowerControlRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-ReferencePowerInformationList-DL-PC-Rqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{DL-ReferencePowerInformationItemIE-DL-PC-Rqst }}
+
+DL-ReferencePowerInformationItemIE-DL-PC-Rqst NBAP-PROTOCOL-IES ::= {
+ { ID id-DL-ReferencePowerInformationItem-DL-PC-Rqst CRITICALITY ignore TYPE DL-ReferencePowerInformationItem-DL-PC-Rqst PRESENCE mandatory }
+}
+
+DL-ReferencePowerInformationItem-DL-PC-Rqst ::= SEQUENCE {
+ rL-ID RL-ID,
+ dl-ReferencePower DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { DL-ReferencePowerInformationItem-DL-PC-Rqst-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DL-ReferencePowerInformationItem-DL-PC-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DL POWER TIMESLOT CONTROL REQUEST TDD
+--
+-- **************************************************************
+
+DL-PowerTimeslotControlRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DL-PowerTimeslotControlRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DL-PowerTimeslotControlRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+DL-PowerTimeslotControlRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
+ { ID id-TimeslotISCPInfo CRITICALITY ignore TYPE DL-TimeslotISCPInfo PRESENCE optional },
+ -- Mandatory for 3.84Mcps TDD and 7.68Mcps TDD, Not Applicable to 1.28Mcps TDD
+ ...
+}
+
+DL-PowerTimeslotControlRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD CRITICALITY ignore EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-PrimCCPCH-RSCP-DL-PC-RqstTDD CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP PRESENCE optional }|
+ { ID id-PrimaryCCPCH-RSCP-Delta CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP-Delta PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT INITIATION REQUEST
+--
+-- **************************************************************
+
+DedicatedMeasurementInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementInitiationRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
+ { ID id-MeasurementID CRITICALITY reject TYPE MeasurementID PRESENCE mandatory } |
+ { ID id-DedicatedMeasurementObjectType-DM-Rqst CRITICALITY reject TYPE DedicatedMeasurementObjectType-DM-Rqst PRESENCE mandatory } |
+ { ID id-DedicatedMeasurementType CRITICALITY reject TYPE DedicatedMeasurementType PRESENCE mandatory } |
+ { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional } |
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory } |
+ { ID id-CFNReportingIndicator CRITICALITY reject TYPE FNReportingIndicator PRESENCE mandatory } |
+ { ID id-CFN CRITICALITY reject TYPE CFN PRESENCE optional } ,
+ ...
+}
+
+DedicatedMeasurementInitiationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-NumberOfReportedCellPortions CRITICALITY reject EXTENSION NumberOfReportedCellPortions PRESENCE conditional }|
+ -- The IE shall be present if the Dedicated Measurement Type IE is set to "Best Cell Portions", FDD only.
+ { ID id-MeasurementRecoveryBehavior CRITICALITY ignore EXTENSION MeasurementRecoveryBehavior PRESENCE optional }|
+ { ID id-AlternativeFormatReportingIndicator CRITICALITY ignore EXTENSION AlternativeFormatReportingIndicator PRESENCE optional }|
+ { ID id-NumberOfReportedCellPortionsLCR CRITICALITY reject EXTENSION NumberOfReportedCellPortionsLCR PRESENCE conditional },
+ -- The IE shall be present if the Dedicated Measurement Type IE is set to "Best Cell Portions LCR", 1.28Mcps only.
+ ...
+}
+
+DedicatedMeasurementObjectType-DM-Rqst ::= CHOICE {
+ rL RL-DM-Rqst,
+ rLS RL-Set-DM-Rqst, -- for FDD only
+ all-RL AllRL-DM-Rqst,
+ all-RLS AllRL-Set-DM-Rqst, -- for FDD only
+ ...
+}
+
+RL-DM-Rqst ::= SEQUENCE {
+ rL-InformationList RL-InformationList-DM-Rqst,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rqst-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RLItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-DM-Rqst }}
+
+RL-InformationItemIE-DM-Rqst NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-DM-Rqst CRITICALITY reject TYPE RL-InformationItem-DM-Rqst PRESENCE mandatory }
+}
+
+RL-InformationItem-DM-Rqst ::= SEQUENCE {
+ rL-ID RL-ID,
+ dPCH-ID DPCH-ID OPTIONAL, -- for TDD only
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-DM-Rqst-ExtIEs } } OPTIONAL,
+ ...
+ }
+
+RL-InformationItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PUSCH-Info-DM-Rqst CRITICALITY reject EXTENSION PUSCH-Info-DM-Rqst PRESENCE optional}|
+ -- TDD only
+ { ID id-HSSICH-Info-DM-Rqst CRITICALITY reject EXTENSION HSSICH-Info-DM-Rqst PRESENCE optional}|
+ -- TDD only
+ { ID id-DPCH-ID768-DM-Rqst CRITICALITY reject EXTENSION DPCH-ID768 PRESENCE optional}|
+ -- 7.68Mcps TDD only
+ { ID id-HSSICH-InfoExt-DM-Rqst CRITICALITY reject EXTENSION HSSICH-InfoExt-DM-Rqst PRESENCE optional},
+ -- 1.28Mcps TDD only, used if the HS-SICH identity has a value larger than 31
+ ...
+}
+
+PUSCH-Info-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF PUSCH-ID
+
+HSSICH-Info-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfHSSICHs)) OF HS-SICH-ID
+
+HSSICH-InfoExt-DM-Rqst::= SEQUENCE (SIZE (1..maxNrOfHSSICHs)) OF Extended-HS-SICH-ID
+-- 1.28Mcps TDD only, used if the HS-SICH identity has a value larger than 31
+
+RL-Set-DM-Rqst ::= SEQUENCE {
+ rL-Set-InformationList-DM-Rqst RL-Set-InformationList-DM-Rqst,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rqst-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RL-SetItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-InformationList-DM-Rqst ::= SEQUENCE (SIZE(1..maxNrOfRLSets)) OF RL-Set-InformationItem-DM-Rqst
+
+RL-Set-InformationItem-DM-Rqst ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-DM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-InformationItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AllRL-DM-Rqst ::= NULL
+
+AllRL-Set-DM-Rqst ::= NULL
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT INITIATION RESPONSE
+--
+-- **************************************************************
+
+DedicatedMeasurementInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementInitiationResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
+ { ID id-DedicatedMeasurementObjectType-DM-Rsp CRITICALITY ignore TYPE DedicatedMeasurementObjectType-DM-Rsp PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+DedicatedMeasurementInitiationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MeasurementRecoverySupportIndicator CRITICALITY ignore EXTENSION MeasurementRecoverySupportIndicator PRESENCE optional},
+ ...
+}
+
+DedicatedMeasurementObjectType-DM-Rsp ::= CHOICE {
+ rL RL-DM-Rsp,
+ rLS RL-Set-DM-Rsp, -- for FDD only
+ all-RL RL-DM-Rsp,
+ all-RLS RL-Set-DM-Rsp, -- for FDD only
+ ...
+}
+
+RL-DM-Rsp ::= SEQUENCE {
+ rL-InformationList-DM-Rsp RL-InformationList-DM-Rsp,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rsp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RLItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-DM-Rsp }}
+
+RL-InformationItemIE-DM-Rsp NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-DM-Rsp CRITICALITY ignore TYPE RL-InformationItem-DM-Rsp PRESENCE mandatory }
+}
+
+RL-InformationItem-DM-Rsp ::= SEQUENCE {
+ rL-ID RL-ID,
+ dPCH-ID DPCH-ID OPTIONAL, -- for TDD only
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ cFN CFN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-DM-Rsp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PUSCH-Info-DM-Rsp CRITICALITY reject EXTENSION PUSCH-Info-DM-Rsp PRESENCE optional}|
+ -- TDD only
+ -- This PUSCH Information is the for the first PUSCH repetition, PUSCH information for PUSCH repetitions 2 and on, should be defined in Multiple-PUSCH-InfoList-DM-Rsp.
+ { ID id-HSSICH-Info-DM-Rsp CRITICALITY reject EXTENSION HS-SICH-ID PRESENCE optional}|
+ -- TDD only
+ { ID id-multiple-DedicatedMeasurementValueList-TDD-DM-Rsp CRITICALITY ignore EXTENSION Multiple-DedicatedMeasurementValueList-TDD-DM-Rsp PRESENCE optional }|
+ -- Applicable to 3.84Mcps TDD only. This list of dedicated measurement values is used for the 2nd and beyond measurements of a RL when multiple dedicated measurement values need to be reported.
+ { ID id-multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp CRITICALITY ignore EXTENSION Multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only. This list of dedicated measurement values is used for the 2nd and beyond measurements of a RL when multiple dedicated measurement values need to be reported.
+ { ID id-multiple-PUSCH-InfoList-DM-Rsp CRITICALITY ignore EXTENSION Multiple-PUSCH-InfoList-DM-Rsp PRESENCE optional }|
+ -- TDD only, This PUSCH information is the for the 2nd and beyond PUSCH repetitions.
+ { ID id-multiple-HSSICHMeasurementValueList-TDD-DM-Rsp CRITICALITY ignore EXTENSION Multiple-HSSICHMeasurementValueList-TDD-DM-Rsp PRESENCE optional }|
+ -- TDD only. This list of HS-SICH measurement values is used for the 2nd and beyond measurements of a RL when multiple HS-SICH measurement values need to be reported.
+ { ID id-DPCH-ID768-DM-Rsp CRITICALITY reject EXTENSION DPCH-ID768 PRESENCE optional}| -- 7.68Mcps TDD only
+ { ID id-multiple-DedicatedMeasurementValueList-768-TDD-DM-Rsp CRITICALITY ignore EXTENSION Multiple-DedicatedMeasurementValueList-768-TDD-DM-Rsp PRESENCE optional }|
+ -- Applicable to 7.68Mcps TDD only. This list of dedicated measurement values is used for the 2nd and beyond measurements of a RL when multiple dedicated measurement values need to be reported.
+ {ID id-Extended-HS-SICH-ID CRITICALITY reject EXTENSION Extended-HS-SICH-ID PRESENCE optional},
+ -- 1.28Mcps TDD only, used if the HS-SICH identity has a value larger than 31
+ ...
+}
+
+PUSCH-Info-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF PUSCH-ID
+
+Multiple-PUSCH-InfoList-DM-Rsp ::= SEQUENCE (SIZE (1.. maxNrOfPUSCHs-1)) OF Multiple-PUSCH-InfoListIE-DM-Rsp
+-- Includes the 2nd through the max number of PUSCH information repetitions.
+
+Multiple-PUSCH-InfoListIE-DM-Rsp ::= SEQUENCE {
+ pUSCH-ID PUSCH-ID OPTIONAL,
+ dedicatedMeasurementValue DedicatedMeasurementValue OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-PUSCH-InfoListIE-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multiple-PUSCH-InfoListIE-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multiple-DedicatedMeasurementValueList-TDD-DM-Rsp ::= SEQUENCE (SIZE (1.. maxNrOfDPCHsPerRL-1)) OF Multiple-DedicatedMeasurementValueItem-TDD-DM-Rsp
+
+Multiple-DedicatedMeasurementValueItem-TDD-DM-Rsp ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-DedicatedMeasurementValueItem-TDD-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multiple-DedicatedMeasurementValueItem-TDD-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp ::= SEQUENCE (SIZE (1.. maxNrOfDPCHsLCRPerRL-1)) OF Multiple-DedicatedMeasurementValueItem-LCR-TDD-DM-Rsp
+
+Multiple-DedicatedMeasurementValueItem-LCR-TDD-DM-Rsp ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-DedicatedMeasurementValueItem-LCR-TDD-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multiple-DedicatedMeasurementValueItem-LCR-TDD-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multiple-HSSICHMeasurementValueList-TDD-DM-Rsp ::= SEQUENCE (SIZE (1.. maxNrOfHSSICHs-1)) OF Multiple-HSSICHMeasurementValueItem-TDD-DM-Rsp
+
+Multiple-HSSICHMeasurementValueItem-TDD-DM-Rsp ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-HSSICHMeasurementValueItem-TDD-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multiple-HSSICHMeasurementValueItem-TDD-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-HS-SICH-ID CRITICALITY ignore EXTENSION Extended-HS-SICH-ID PRESENCE optional},
+ -- 1.28Mcps TDD only, used if the HS-SICH identity has a value larger than 31
+ ...
+}
+
+Multiple-DedicatedMeasurementValueList-768-TDD-DM-Rsp ::= SEQUENCE (SIZE (1.. maxNrOfDPCHs768PerRL-1)) OF Multiple-DedicatedMeasurementValueItem-768-TDD-DM-Rsp
+
+Multiple-DedicatedMeasurementValueItem-768-TDD-DM-Rsp ::= SEQUENCE {
+ dPCH-ID768 DPCH-ID768,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-DedicatedMeasurementValueItem-768-TDD-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multiple-DedicatedMeasurementValueItem-768-TDD-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-DM-Rsp ::= SEQUENCE {
+ rL-Set-InformationList-DM-Rsp RL-Set-InformationList-DM-Rsp,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rsp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RL-SetItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-InformationList-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-DM-Rsp }}
+
+RL-Set-InformationItemIE-DM-Rsp NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-InformationItem-DM-Rsp CRITICALITY ignore TYPE RL-Set-InformationItem-DM-Rsp PRESENCE mandatory}
+}
+
+RL-Set-InformationItem-DM-Rsp ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ cFN CFN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-InformationItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT INITIATION FAILURE
+--
+-- **************************************************************
+
+DedicatedMeasurementInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementInitiationFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+DedicatedMeasurementInitiationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT REPORT
+--
+-- **************************************************************
+
+DedicatedMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementReport-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementReport-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
+ { ID id-DedicatedMeasurementObjectType-DM-Rprt CRITICALITY ignore TYPE DedicatedMeasurementObjectType-DM-Rprt PRESENCE mandatory } ,
+ ...
+}
+
+DedicatedMeasurementReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MeasurementRecoveryReportingIndicator CRITICALITY ignore EXTENSION MeasurementRecoveryReportingIndicator PRESENCE optional },
+ ...
+}
+
+DedicatedMeasurementObjectType-DM-Rprt ::= CHOICE {
+ rL RL-DM-Rprt,
+ rLS RL-Set-DM-Rprt, -- for FDD only
+ all-RL RL-DM-Rprt,
+ all-RLS RL-Set-DM-Rprt, -- for FDD only
+ ...
+}
+
+RL-DM-Rprt ::= SEQUENCE {
+ rL-InformationList-DM-Rprt RL-InformationList-DM-Rprt,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rprt-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RLItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-DM-Rprt ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-DM-Rprt }}
+
+RL-InformationItemIE-DM-Rprt NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-DM-Rprt CRITICALITY ignore TYPE RL-InformationItem-DM-Rprt PRESENCE mandatory }
+}
+
+RL-InformationItem-DM-Rprt ::= SEQUENCE {
+ rL-ID RL-ID,
+ dPCH-ID DPCH-ID OPTIONAL, -- for TDD only
+ dedicatedMeasurementValueInformation DedicatedMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-DM-Rprt-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-PUSCH-Info-DM-Rprt CRITICALITY reject EXTENSION PUSCH-Info-DM-Rprt PRESENCE optional}|
+ -- TDD only
+ -- This PUSCH Information is the for the first PUSCH repetition, PUSCH information for PUSCH repetitions 2 and on, should be defined in Multiple-PUSCH-InfoList-DM-Rprt.
+ {ID id-HSSICH-Info-DM-Rprt CRITICALITY reject EXTENSION HS-SICH-ID PRESENCE optional}|
+ -- TDD only
+ { ID id-multiple-PUSCH-InfoList-DM-Rprt CRITICALITY ignore EXTENSION Multiple-PUSCH-InfoList-DM-Rprt PRESENCE optional }|
+ -- TDD only, This PUSCH information is the for the 2nd and beyond PUSCH repetitions.
+ { ID id-DPCH-ID768-DM-Rprt CRITICALITY reject EXTENSION DPCH-ID768 PRESENCE optional}|
+ -- 7.68Mcps TDD only
+ { ID id-Extended-HS-SICH-ID CRITICALITY ignore EXTENSION Extended-HS-SICH-ID PRESENCE optional},
+ -- 1.28Mcps TDD only, used if the HS-SICH identity has a value larger than 31
+ ...
+}
+
+PUSCH-Info-DM-Rprt ::= SEQUENCE (SIZE (0..maxNrOfPUSCHs)) OF PUSCH-ID
+
+Multiple-PUSCH-InfoList-DM-Rprt ::= SEQUENCE (SIZE (1.. maxNrOfPUSCHs-1)) OF Multiple-PUSCH-InfoListIE-DM-Rprt
+-- Includes the 2nd through the max number of PUSCH information repetitions.
+
+Multiple-PUSCH-InfoListIE-DM-Rprt ::= SEQUENCE {
+ pUSCH-ID PUSCH-ID OPTIONAL,
+ dedicatedMeasurementValue DedicatedMeasurementValue OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-PUSCH-InfoListIE-DM-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multiple-PUSCH-InfoListIE-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-DM-Rprt ::= SEQUENCE {
+ rL-Set-InformationList-DM-Rprt RL-Set-InformationList-DM-Rprt,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rprt-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RL-SetItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-InformationList-DM-Rprt ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-DM-Rprt }}
+
+RL-Set-InformationItemIE-DM-Rprt NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-InformationItem-DM-Rprt CRITICALITY ignore TYPE RL-Set-InformationItem-DM-Rprt PRESENCE mandatory }
+}
+
+RL-Set-InformationItem-DM-Rprt ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ dedicatedMeasurementValueInformation DedicatedMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-DM-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-InformationItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT TERMINATION REQUEST
+--
+-- **************************************************************
+
+DedicatedMeasurementTerminationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementTerminationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementTerminationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementTerminationRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory },
+ ...
+}
+
+DedicatedMeasurementTerminationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT FAILURE INDICATION
+--
+-- **************************************************************
+
+DedicatedMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+DedicatedMeasurementFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK FAILURE INDICATION
+--
+-- **************************************************************
+
+RadioLinkFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-Reporting-Object-RL-FailureInd CRITICALITY ignore TYPE Reporting-Object-RL-FailureInd PRESENCE mandatory } ,
+ ...
+}
+
+RadioLinkFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Reporting-Object-RL-FailureInd ::= CHOICE {
+ rL RL-RL-FailureInd,
+ rL-Set RL-Set-RL-FailureInd, --FDD only
+ ...,
+ cCTrCH CCTrCH-RL-FailureInd --TDD only
+}
+
+RL-RL-FailureInd ::= SEQUENCE {
+ rL-InformationList-RL-FailureInd RL-InformationList-RL-FailureInd,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-RL-FailureInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RLItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-FailureInd}}
+
+RL-InformationItemIE-RL-FailureInd NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-FailureInd CRITICALITY ignore TYPE RL-InformationItem-RL-FailureInd PRESENCE mandatory }
+}
+
+RL-InformationItem-RL-FailureInd ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-FailureInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-RL-FailureInd ::= SEQUENCE {
+ rL-Set-InformationList-RL-FailureInd RL-Set-InformationList-RL-FailureInd,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-RL-FailureInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RL-SetItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-RL-FailureInd }}
+
+RL-Set-InformationItemIE-RL-FailureInd NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-InformationItem-RL-FailureInd CRITICALITY ignore TYPE RL-Set-InformationItem-RL-FailureInd PRESENCE mandatory }
+}
+
+RL-Set-InformationItem-RL-FailureInd ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-RL-FailureInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-InformationItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CCTrCH-RL-FailureInd ::= SEQUENCE {
+ rL-ID RL-ID,
+ cCTrCH-InformationList-RL-FailureInd CCTrCH-InformationList-RL-FailureInd,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCHItem-RL-FailureInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CCTrCHItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CCTrCH-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ CCTrCH-InformationItemIE-RL-FailureInd}}
+
+CCTrCH-InformationItemIE-RL-FailureInd NBAP-PROTOCOL-IES ::= {
+ { ID id-CCTrCH-InformationItem-RL-FailureInd CRITICALITY ignore TYPE CCTrCH-InformationItem-RL-FailureInd PRESENCE mandatory }
+}
+
+CCTrCH-InformationItem-RL-FailureInd ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-InformationItem-RL-FailureInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CCTrCH-InformationItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK PREEMPTION REQUIRED INDICATION
+--
+-- **************************************************************
+
+RadioLinkPreemptionRequiredIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkPreemptionRequiredIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkPreemptionRequiredIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkPreemptionRequiredIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-RL-InformationList-RL-PreemptRequiredInd CRITICALITY ignore TYPE RL-InformationList-RL-PreemptRequiredInd PRESENCE optional },
+ ...
+}
+
+RadioLinkPreemptionRequiredIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-PreemptRequiredInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-InformationItemIE-RL-PreemptRequiredInd}}
+
+RL-InformationItemIE-RL-PreemptRequiredInd NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-PreemptRequiredInd CRITICALITY ignore TYPE RL-InformationItem-RL-PreemptRequiredInd PRESENCE mandatory },
+ ...
+}
+
+RL-InformationItem-RL-PreemptRequiredInd::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationItem-RL-PreemptRequiredInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-RL-PreemptRequiredInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RESTORE INDICATION
+--
+-- **************************************************************
+
+RadioLinkRestoreIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkRestoreIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkRestoreIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkRestoreIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-Reporting-Object-RL-RestoreInd CRITICALITY ignore TYPE Reporting-Object-RL-RestoreInd PRESENCE mandatory },
+ ...
+}
+
+RadioLinkRestoreIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Reporting-Object-RL-RestoreInd ::= CHOICE {
+ rL RL-RL-RestoreInd, --TDD only
+ rL-Set RL-Set-RL-RestoreInd, --FDD only
+ ...,
+ cCTrCH CCTrCH-RL-RestoreInd --TDD only
+}
+
+RL-RL-RestoreInd ::= SEQUENCE {
+ rL-InformationList-RL-RestoreInd RL-InformationList-RL-RestoreInd,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RLItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{RL-InformationItemIE-RL-RestoreInd}}
+
+RL-InformationItemIE-RL-RestoreInd NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE RL-InformationItem-RL-RestoreInd PRESENCE mandatory}
+}
+
+RL-InformationItem-RL-RestoreInd ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-RL-RestoreInd ::= SEQUENCE {
+ rL-Set-InformationList-RL-RestoreInd RL-Set-InformationList-RL-RestoreInd,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RL-SetItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-RL-RestoreInd }}
+
+RL-Set-InformationItemIE-RL-RestoreInd NBAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE RL-Set-InformationItem-RL-RestoreInd PRESENCE mandatory }
+}
+
+RL-Set-InformationItem-RL-RestoreInd ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-RL-RestoreInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-InformationItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CCTrCH-RL-RestoreInd ::= SEQUENCE {
+ rL-ID RL-ID,
+ cCTrCH-InformationList-RL-RestoreInd CCTrCH-InformationList-RL-RestoreInd,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCHItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CCTrCHItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CCTrCH-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ CCTrCH-InformationItemIE-RL-RestoreInd}}
+
+CCTrCH-InformationItemIE-RL-RestoreInd NBAP-PROTOCOL-IES ::= {
+ { ID id-CCTrCH-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE CCTrCH-InformationItem-RL-RestoreInd PRESENCE mandatory }
+}
+
+CCTrCH-InformationItem-RL-RestoreInd ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-InformationItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CCTrCH-InformationItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMPRESSED MODE COMMAND FDD
+--
+-- **************************************************************
+
+CompressedModeCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CompressedModeCommand-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CompressedModeCommand-Extensions}} OPTIONAL,
+ ...
+}
+
+CompressedModeCommand-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
+ { ID id-Active-Pattern-Sequence-Information CRITICALITY ignore TYPE Active-Pattern-Sequence-Information PRESENCE mandatory },
+ ...
+}
+
+CompressedModeCommand-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ErrorIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+ErrorIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE optional } |
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+ErrorIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs NBAP-PRIVATE-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PHYSICAL SHARED CHANNEL RECONFIGURATION REQUEST FDD
+--
+-- **************************************************************
+
+PhysicalSharedChannelReconfigurationRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+PhysicalSharedChannelReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
+ { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional }|
+ { ID id-HS-PDSCH-HS-SCCH-E-AGCH-E-RGCH-E-HICH-MaxPower-PSCH-ReconfRqst CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE optional }|
+ { ID id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst CRITICALITY reject TYPE DL-ScramblingCode PRESENCE optional }|
+ { ID id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst CRITICALITY reject TYPE HS-PDSCH-FDD-Code-Information PRESENCE optional }|
+ { ID id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst CRITICALITY reject TYPE HS-SCCH-FDD-Code-Information PRESENCE optional },
+ ...
+}
+
+PhysicalSharedChannelReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-AGCH-And-E-RGCH-E-HICH-FDD-Scrambling-Code CRITICALITY reject EXTENSION DL-ScramblingCode PRESENCE optional }|
+ { ID id-E-AGCH-FDD-Code-Information CRITICALITY reject EXTENSION E-AGCH-FDD-Code-Information PRESENCE optional }|
+ { ID id-E-RGCH-E-HICH-FDD-Code-Information CRITICALITY reject EXTENSION E-RGCH-E-HICH-FDD-Code-Information PRESENCE optional }|
+ {ID id-HSDPA-And-EDCH-CellPortion-Information-PSCH-ReconfRqst CRITICALITY reject EXTENSION HSDPA-And-EDCH-CellPortion-InformationList-PSCH-ReconfRqst PRESENCE optional }|
+ {ID id-Maximum-Target-ReceivedTotalWideBandPower CRITICALITY reject EXTENSION Maximum-Target-ReceivedTotalWideBandPower PRESENCE optional }|
+ {ID id-Reference-ReceivedTotalWideBandPower CRITICALITY ignore EXTENSION Reference-ReceivedTotalWideBandPower PRESENCE optional }|
+ {ID id-Target-NonServing-EDCH-To-Total-EDCH-Power-Ratio CRITICALITY reject EXTENSION Target-NonServing-EDCH-To-Total-EDCH-Power-Ratio PRESENCE optional }|
+ { ID id-HSDSCH-Common-System-InformationFDD CRITICALITY reject EXTENSION HSDSCH-Common-System-InformationFDD PRESENCE optional }|
+ { ID id-Common-MACFlows-to-DeleteFDD CRITICALITY reject EXTENSION Common-MACFlows-to-DeleteFDD PRESENCE optional }|
+ { ID id-HSDSCH-Paging-System-InformationFDD CRITICALITY reject EXTENSION HSDSCH-Paging-System-InformationFDD PRESENCE optional }|
+ { ID id-Paging-MACFlows-to-DeleteFDD CRITICALITY reject EXTENSION Paging-MACFlows-to-DeleteFDD PRESENCE optional }|
+ { ID id-Common-EDCH-System-InformationFDD CRITICALITY reject EXTENSION Common-EDCH-System-InformationFDD PRESENCE optional }|
+ { ID id-Common-UL-MACFlows-to-DeleteFDD CRITICALITY reject EXTENSION Common-MACFlows-to-DeleteFDD PRESENCE optional }|
+ { ID id-Common-EDCH-MACdFlows-to-DeleteFDD CRITICALITY reject EXTENSION E-DCH-MACdFlows-to-Delete PRESENCE optional }|
+ { ID id-Enhanced-UE-DRX-InformationFDD CRITICALITY reject EXTENSION Enhanced-UE-DRX-InformationFDD PRESENCE optional },
+ ...
+}
+
+HSDPA-And-EDCH-CellPortion-InformationList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF HSDPA-And-EDCH-CellPortion-InformationItem-PSCH-ReconfRqst
+
+HSDPA-And-EDCH-CellPortion-InformationItem-PSCH-ReconfRqst::= SEQUENCE {
+ cellPortionID CellPortionID,
+ hS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst DL-ScramblingCode OPTIONAL,
+ hS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst HS-PDSCH-FDD-Code-Information OPTIONAL,
+ hS-SCCH-FDD-Code-Information-PSCH-ReconfRqst HS-SCCH-FDD-Code-Information OPTIONAL,
+ hS-PDSCH-HS-SCCH-E-AGCH-E-RGCH-E-HICH-MaxPower-PSCH-ReconfRqst MaximumTransmissionPower OPTIONAL,
+ e-AGCH-And-E-RGCH-E-HICH-FDD-Scrambling-Code DL-ScramblingCode OPTIONAL,
+ e-AGCH-FDD-Code-Information E-AGCH-FDD-Code-Information OPTIONAL,
+ e-RGCH-E-HICH-FDD-Code-Information E-RGCH-E-HICH-FDD-Code-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDPA-And-EDCH-CellPortion-InformationItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDPA-And-EDCH-CellPortion-InformationItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+-- **************************************************************
+--
+-- PHYSICAL SHARED CHANNEL RECONFIGURATION REQUEST TDD
+--
+-- **************************************************************
+
+PhysicalSharedChannelReconfigurationRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+PhysicalSharedChannelReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional }|
+ { ID id-PDSCHSets-AddList-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCHSets-AddList-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-PDSCHSets-ModifyList-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCHSets-ModifyList-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-PDSCHSets-DeleteList-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCHSets-DeleteList-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-PUSCHSets-AddList-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCHSets-AddList-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-PUSCHSets-ModifyList-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCHSets-ModifyList-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-PUSCHSets-DeleteList-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCHSets-DeleteList-PSCH-ReconfRqst PRESENCE optional },
+ ...
+}
+
+PhysicalSharedChannelReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst CRITICALITY reject EXTENSION HS-PDSCH-TDD-Information-PSCH-ReconfRqst PRESENCE optional } |
+ { ID id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
+ { ID id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
+ { ID id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
+ { ID id-ConfigurationGenerationID CRITICALITY reject EXTENSION ConfigurationGenerationID PRESENCE optional }|
+ { ID id-E-PUCH-Information-PSCH-ReconfRqst CRITICALITY reject EXTENSION E-PUCH-Information-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Add-To-E-AGCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Add-To-E-AGCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
+ { ID id-Modify-E-AGCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Modify-E-AGCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
+ { ID id-Delete-From-E-AGCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Delete-From-E-AGCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
+ { ID id-E-HICH-Information-PSCH-ReconfRqst CRITICALITY reject EXTENSION E-HICH-Information-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Maximum-Generated-ReceivedTotalWideBandPowerInOtherCells CRITICALITY reject EXTENSION Maximum-Generated-ReceivedTotalWideBandPowerInOtherCells PRESENCE optional }|-- Applicable to 3.84Mcps TDD or 7.68Mcps TDD.
+ { ID id-E-PUCH-Information-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION E-PUCH-Information-768-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Add-To-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION Add-To-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst PRESENCE optional } |
+ { ID id-Modify-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION Modify-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst PRESENCE optional } |
+ { ID id-E-HICH-Information-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION E-HICH-Information-768-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-E-PUCH-Information-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION E-PUCH-Information-LCR-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Add-To-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION Add-To-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Modify-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION Modify-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Add-To-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION Add-To-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Modify-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION Modify-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Delete-From-E-HICH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Delete-From-E-HICH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-SYNC-UL-Partition-LCR CRITICALITY reject EXTENSION SYNC-UL-Partition-LCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD.
+ { ID id-Maximum-Target-ReceivedTotalWideBandPower-LCR CRITICALITY reject EXTENSION Maximum-Target-ReceivedTotalWideBandPower-LCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only.
+ { ID id-Delete-From-HS-SCCH-Resource-PoolExt-PSCH-ReconfRqst CRITICALITY reject EXTENSION Delete-From-HS-SCCH-Resource-PoolExt-PSCH-ReconfRqst PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only, used when there are more than maxNrOfHSSCCHs HS-SCCHs in the message.
+ { ID id-HSDSCH-Common-System-InformationLCR CRITICALITY reject EXTENSION HSDSCH-Common-System-InformationLCR PRESENCE optional }|
+ { ID id-Common-MACFlows-to-DeleteLCR CRITICALITY reject EXTENSION Common-MACFlows-to-DeleteLCR PRESENCE optional }|
+ { ID id-HSDSCH-Paging-System-InformationLCR CRITICALITY reject EXTENSION HSDSCH-Paging-System-InformationLCR PRESENCE optional }|
+ { ID id-Paging-MACFlows-to-DeleteLCR CRITICALITY reject EXTENSION Paging-MACFlows-to-DeleteLCR PRESENCE optional }|
+ { ID id-Common-EDCH-System-InformationLCR CRITICALITY reject EXTENSION Common-EDCH-System-InformationLCR PRESENCE optional }|
+ { ID id-Common-UL-MACFlows-to-DeleteLCR CRITICALITY reject EXTENSION Common-MACFlows-to-DeleteLCR PRESENCE optional }|
+ { ID id-Common-EDCH-MACdFlows-to-DeleteLCR CRITICALITY reject EXTENSION E-DCH-MACdFlows-to-DeleteLCR PRESENCE optional }|
+ { ID id-Enhanced-UE-DRX-InformationLCR CRITICALITY reject EXTENSION Enhanced-UE-DRX-InformationLCR PRESENCE optional }|
+ { ID id-Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-PowerControlGAP-For-CellFACHLCR CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only { ID id-Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst CRITICALITY ignore EXTENSION Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst PRESENCE optional }|
+ { ID id-Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext CRITICALITY reject EXTENSION Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext PRESENCE optional }|
+ { ID id-Out-of-Sychronization-Window CRITICALITY reject EXTENSION Out-of-Sychronization-Window PRESENCE optional },
+ ...
+}
+
+PDSCHSets-AddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHSets)) OF PDSCHSets-AddItem-PSCH-ReconfRqst
+
+PDSCHSets-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pDSCHSet-ID PDSCHSet-ID,
+ pDSCH-InformationList PDSCH-Information-AddList-PSCH-ReconfRqst OPTIONAL, -- Mandatory for 3.84Mcps TDD. Not Applicable to 1.28Mcps TDD or 7.68Mcps TDD
+ iE-Extensions ProtocolExtensionContainer { {PDSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst PRESENCE optional}| -- Mandatory for 1.28Mcps TDD. Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD.
+ {ID id-PDSCH-AddInformation-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION PDSCH-AddInformation-768-AddItem-PSCH-ReconfRqst PRESENCE optional}, -- Mandatory for 7.68 Mcps TDD. Not Applicable to 3.84Mcps TDD or 1.28 Mcps TDD.
+ ...
+}
+
+PDSCH-Information-AddList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PDSCH-Information-AddListIEs-PSCH-ReconfRqst }}
+-- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD or 7.68Mcps TDD
+
+PDSCH-Information-AddListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
+ {ID id-PDSCH-Information-AddListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCH-Information-AddItem-PSCH-ReconfRqst PRESENCE mandatory}
+}
+
+PDSCH-Information-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ dL-Timeslot-InformationAddList-PSCH-ReconfRqst DL-Timeslot-InformationAddList-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { {PDSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+PDSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationAddItem-PSCH-ReconfRqst
+
+DL-Timeslot-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tFCI-Presence TFCI-Presence,
+ dL-Code-InformationAddList-PSCH-ReconfRqst DL-Code-InformationAddList-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Code-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationAddItem-PSCH-ReconfRqst
+
+DL-Code-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pDSCH-ID PDSCH-ID,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ dL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst DL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { {PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+{ID id-Tstd-indicator CRITICALITY reject EXTENSION TSTD-Indicator PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+DL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSLCRs)) OF DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst
+
+DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tFCI-Presence TFCI-Presence,
+ dL-Code-InformationAddList-LCR-PSCH-ReconfRqst DL-Code-InformationAddList-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Code-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst
+
+DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ pDSCH-ID PDSCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-PDSCH-Timeslot-Format-PSCH-ReconfRqst-LCR CRITICALITY reject EXTENSION TDD-DL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
+ ...
+}
+
+PDSCH-AddInformation-768-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ dL-Timeslot-InformationAddList-768-PSCH-ReconfRqst DL-Timeslot-InformationAddList-768-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { {PDSCH-AddInformation-768-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+PDSCH-AddInformation-768-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-InformationAddList-768-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationAddItem-768-PSCH-ReconfRqst
+
+DL-Timeslot-InformationAddItem-768-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tFCI-Presence TFCI-Presence,
+ dL-Code-InformationAddList-768-PSCH-ReconfRqst DL-Code-InformationAddList-768-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationAddItem-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationAddItem-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Code-InformationAddList-768-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationAddItem-768-PSCH-ReconfRqst
+
+DL-Code-InformationAddItem-768-PSCH-ReconfRqst ::= SEQUENCE {
+ pDSCH-ID768 PDSCH-ID768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationAddItem-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Code-InformationAddItem-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDSCHSets-ModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHSets)) OF PDSCHSets-ModifyItem-PSCH-ReconfRqst
+
+PDSCHSets-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pDSCHSet-ID PDSCHSet-ID,
+ pDSCH-InformationList PDSCH-Information-ModifyList-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { {PDSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-PDSCH-ModifyInformation-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION PDSCH-ModifyInformation-768-ModifyItem-PSCH-ReconfRqst PRESENCE optional}, -- For 7.68 Mcps TDD. Not Applicable to 3.84Mcps TDD or 1.28 Mcps TDD.
+ ...
+}
+
+PDSCH-Information-ModifyList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PDSCH-Information-ModifyListIEs-PSCH-ReconfRqst }}
+
+PDSCH-Information-ModifyListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
+ {ID id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCH-Information-ModifyItem-PSCH-ReconfRqst PRESENCE optional}|
+ {ID id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst PRESENCE optional}
+}
+
+PDSCH-Information-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
+ dL-Timeslot-InformationModifyList-PSCH-ReconfRqst DL-Timeslot-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst
+
+DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-InformationModifyList-PSCH-ReconfRqst DL-Code-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Code-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationModifyItem-PSCH-ReconfRqst
+
+DL-Code-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pDSCH-ID PDSCH-ID,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
+ dL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst DL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSLCRs)) OF DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst
+
+DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-LCR-InformationModifyList-PSCH-ReconfRqst DL-Code-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Code-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst
+
+DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pDSCH-ID PDSCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ iE-Extensions ProtocolExtensionContainer { { DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-PDSCH-Timeslot-Format-PSCH-ReconfRqst-LCR CRITICALITY reject EXTENSION TDD-DL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
+ ...
+}
+
+
+PDSCH-ModifyInformation-768-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
+ dL-Timeslot-768-InformationModifyList-PSCH-ReconfRqst DL-Timeslot-768-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDSCH-ModifyInformation-768-ModifyListIE-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+PDSCH-ModifyInformation-768-ModifyListIE-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-768-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-768-InformationModifyItem-PSCH-ReconfRqst
+
+DL-Timeslot-768-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-768-InformationModifyList-PSCH-ReconfRqst DL-Code-768-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-768-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-768-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Code-768-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-768-InformationModifyItem-PSCH-ReconfRqst
+
+DL-Code-768-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pDSCH-ID768 PDSCH-ID768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { DL-Code-768-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Code-768-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDSCHSets-DeleteList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHSets)) OF PDSCHSets-DeleteItem-PSCH-ReconfRqst
+
+PDSCHSets-DeleteItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pDSCHSet-ID PDSCHSet-ID,
+ iE-Extensions ProtocolExtensionContainer { {PDSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PUSCHSets-AddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHSets)) OF PUSCHSets-AddItem-PSCH-ReconfRqst
+
+PUSCHSets-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pUSCHSet-ID PUSCHSet-ID,
+ pUSCH-InformationList PUSCH-Information-AddList-PSCH-ReconfRqst OPTIONAL,
+ -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD or 7.68Mcps TDD
+ iE-Extensions ProtocolExtensionContainer { {PUSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PUSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst PRESENCE optional}| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-PUSCH-AddInformation-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION PUSCH-AddInformation-768-AddItem-PSCH-ReconfRqst PRESENCE optional}, -- Mandatory for 7.68 Mcps TDD. Not Applicable to 3.84Mcps TDD or 1.28 Mcps TDD.
+ ...
+}
+
+PUSCH-Information-AddList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PUSCH-Information-AddListIEs-PSCH-ReconfRqst }}
+
+PUSCH-Information-AddListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
+ { ID id-PUSCH-Information-AddListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCH-Information-AddItem-PSCH-ReconfRqst PRESENCE mandatory }
+}
+
+PUSCH-Information-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ uL-Timeslot-InformationAddList-PSCH-ReconfRqst UL-Timeslot-InformationAddList-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { {PUSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PUSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationAddItem-PSCH-ReconfRqst
+
+UL-Timeslot-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tFCI-Presence TFCI-Presence,
+ uL-Code-InformationAddList-PSCH-ReconfRqst UL-Code-InformationAddList-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Code-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationAddItem-PSCH-ReconfRqst
+
+UL-Code-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pUSCH-ID PUSCH-ID,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ uL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst UL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { {PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfULTSLCRs)) OF UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst
+
+UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tFCI-Presence TFCI-Presence,
+ uL-Code-InformationAddList-LCR-PSCH-ReconfRqst UL-Code-InformationAddList-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Code-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst
+
+UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ pUSCH-ID PUSCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-PUSCH-Timeslot-Format-PSCH-ReconfRqst-LCR CRITICALITY reject EXTENSION TDD-UL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
+ ...
+}
+
+PUSCH-AddInformation-768-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ uL-Timeslot-InformationAddList-768-PSCH-ReconfRqst UL-Timeslot-InformationAddList-768-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { {PUSCH-AddInformation-768-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PUSCH-AddInformation-768-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-InformationAddList-768-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfULTSs)) OF UL-Timeslot-InformationAddItem-768-PSCH-ReconfRqst
+
+UL-Timeslot-InformationAddItem-768-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tFCI-Presence TFCI-Presence,
+ uL-Code-InformationAddList-768-PSCH-ReconfRqst UL-Code-InformationAddList-768-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationAddItem-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationAddItem-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Code-InformationAddList-768-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationAddItem-768-PSCH-ReconfRqst
+
+UL-Code-InformationAddItem-768-PSCH-ReconfRqst ::= SEQUENCE {
+ pUSCH-ID PUSCH-ID,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationAddItem-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Code-InformationAddItem-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PUSCHSets-ModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHSets)) OF PUSCHSets-ModifyItem-PSCH-ReconfRqst
+
+PUSCHSets-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pUSCHSet-ID PUSCHSet-ID,
+ pUSCH-InformationList PUSCH-Information-ModifyList-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { {PUSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PUSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ {ID id-PUSCH-ModifyInformation-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION PUSCH-ModifyInformation-768-ModifyItem-PSCH-ReconfRqst PRESENCE optional}, -- For 7.68 Mcps TDD. Not Applicable to 3.84Mcps TDD or 1.28 Mcps TDD.
+ ...
+}
+
+PUSCH-Information-ModifyList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PUSCH-Information-ModifyListIEs-PSCH-ReconfRqst }}
+
+PUSCH-Information-ModifyListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
+ {ID id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCH-Information-ModifyItem-PSCH-ReconfRqst PRESENCE optional}|
+ {ID id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst PRESENCE optional}
+}
+
+PUSCH-Information-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
+ uL-Timeslot-InformationModifyList-PSCH-ReconfRqst UL-Timeslot-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PUSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PUSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst
+
+UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-InformationModifyList-PSCH-ReconfRqst UL-Code-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Code-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationModifyItem-PSCH-ReconfRqst
+
+UL-Code-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pUSCH-ID PUSCH-ID,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
+ uL-Timeslot-InformationModifyList-LCR-PSCH-ReconfRqst UL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst
+
+UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-LCR-InformationModifyList-PSCH-ReconfRqst UL-Code-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Code-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst
+
+UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pUSCH-ID PUSCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ iE-Extensions ProtocolExtensionContainer { { UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PUSCH-Timeslot-Format-PSCH-ReconfRqst-LCR CRITICALITY reject EXTENSION TDD-UL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
+ ...
+}
+
+PUSCH-ModifyInformation-768-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
+ uL-Timeslot-InformationModifyList-768-PSCH-ReconfRqst UL-Timeslot-768-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PUSCH-ModifyInformation-768-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PUSCH-ModifyInformation-768-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-768-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-768-InformationModifyItem-PSCH-ReconfRqst
+
+UL-Timeslot-768-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-768-InformationModifyList-PSCH-ReconfRqst UL-Code-768-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-768-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-768-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Code-768-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-768-InformationModifyItem-PSCH-ReconfRqst
+
+UL-Code-768-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pUSCH-ID PUSCH-ID,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { UL-Code-768-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Code-768-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PUSCHSets-DeleteList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHSets)) OF PUSCHSets-DeleteItem-PSCH-ReconfRqst
+
+PUSCHSets-DeleteItem-PSCH-ReconfRqst ::= SEQUENCE {
+ pUSCHSet-ID PUSCHSet-ID,
+ iE-Extensions ProtocolExtensionContainer { {PUSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PUSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-PDSCH-TDD-Information-PSCH-ReconfRqst ::= SEQUENCE {
+ dL-HS-PDSCH-Timeslot-Information-PSCH-ReconfRqst DL-HS-PDSCH-Timeslot-Information-PSCH-ReconfRqst OPTIONAL,
+ dL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst OPTIONAL,
+ -- This HS-PDSCH Timeslot Information is for the first Frequency repetition, HS-PDSCH Timeslot information for Frequency repetitions 2 and on, should be defined in MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst
+ iE-Extensions ProtocolExtensionContainer { { HS-PDSCH-TDD-Information-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-PDSCH-TDD-Information-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-dL-HS-PDSCH-Timeslot-Information-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION DL-HS-PDSCH-Timeslot-Information-768-PSCH-ReconfRqst PRESENCE optional }| -- For 7.68 Mcps TDD. Not Applicable to 3.84Mcps TDD or 1.28 Mcps TDD.
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional }|
+ -- This is the UARFCN for the first Frequency repetition. Mandatory for 1.28Mcps TDD when using multiple frequencies.
+ { ID id-multipleFreq-dL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies, This Information is for the 2nd and beyond Frequency repetition
+ ...
+}
+
+
+DL-HS-PDSCH-Timeslot-Information-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst
+
+DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ dl-HS-PDSCH-Codelist-PSCH-ReconfRqst DL-HS-PDSCH-Codelist-PSCH-ReconfRqst,
+ maxHSDSCH-HSSCCH-Power MaximumTransmissionPower OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-HS-PDSCH-Codelist-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSPDSCHs)) OF TDD-ChannelisationCode
+
+
+DL-HS-PDSCH-Timeslot-Information-768-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-HS-PDSCH-Timeslot-InformationItem-768-PSCH-ReconfRqst
+
+DL-HS-PDSCH-Timeslot-InformationItem-768-PSCH-ReconfRqst::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ dl-HS-PDSCH-Codelist-768-PSCH-ReconfRqst DL-HS-PDSCH-Codelist-768-PSCH-ReconfRqst,
+ maxHSDSCH-HSSCCH-Power MaximumTransmissionPower OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-HS-PDSCH-Timeslot-InformationItem-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-HS-PDSCH-Timeslot-InformationItem-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-HS-PDSCH-Codelist-768-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSPDSCHs768)) OF TDD-ChannelisationCode768
+
+MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF ProtocolIE-Single-Container{{ MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItemIE-PSCH-ReconfRqst}}
+ -- Includes the 2nd through the max number of frequency repetitions.
+
+MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItemIE-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
+ { ID id-MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst CRITICALITY reject TYPE MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst PRESENCE optional }
+}
+
+MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst ::= SEQUENCE {
+ dL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst OPTIONAL,
+ uARFCN UARFCN,
+ iE-Extensions ProtocolExtensionContainer { { MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst::= SEQUENCE {
+ hS-SCCH-Information-PSCH-ReconfRqst HS-SCCH-Information-PSCH-ReconfRqst OPTIONAL,
+ hS-SCCH-Information-LCR-PSCH-ReconfRqst HS-SCCH-Information-LCR-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-hS-SCCH-Information-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION HS-SCCH-Information-768-PSCH-ReconfRqst PRESENCE optional }|
+ -- 7.68 Mcps TDD. Not Applicable to 3.84Mcps TDD or 1.28 Mcps TDD.
+ { ID id-HS-SCCH-InformationExt-LCR-PSCH-ReconfRqst CRITICALITY ignore EXTENSION HS-SCCH-InformationExt-LCR-PSCH-ReconfRqst PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only, used when there are more than maxNrOfHSSCCHs HS-SCCHs in the message.
+ ...
+}
+
+HS-SCCH-Information-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationItem-PSCH-ReconfRqst
+
+HS-SCCH-InformationItem-PSCH-ReconfRqst ::= SEQUENCE {
+ hS-SCCH-ID HS-SCCH-ID,
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ hS-SCCH-MaxPower DL-Power,
+ hS-SICH-Information HS-SICH-Information-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-InformationItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SICH-Information-PSCH-ReconfRqst ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-Information-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SICH-Information-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-Information-LCR-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst
+
+HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ hS-SCCH-ID HS-SCCH-ID,
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ first-TDD-ChannelisationCode TDD-ChannelisationCode,
+ second-TDD-ChannelisationCode TDD-ChannelisationCode,
+ hS-SCCH-MaxPower DL-Power,
+ hS-SICH-Information-LCR HS-SICH-Information-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-HS-SCCH-ID CRITICALITY ignore EXTENSION Extended-HS-SCCH-ID PRESENCE optional}|
+ -- used if the HS-SCCH identity has a value larger than 31
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional}|
+ -- Mandatory for 1.28Mcps TDD when using multiple frequencies
+ { ID id-HSSICH-ReferenceSignal-InformationLCR CRITICALITY ignore EXTENSION HSSICH-ReferenceSignal-InformationLCR PRESENCE optional},
+ ...
+}
+
+HS-SICH-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-Information-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SICH-Information-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-HS-SICH-ID CRITICALITY ignore EXTENSION Extended-HS-SICH-ID PRESENCE optional},
+ -- used if the HS-SICH identity has a value larger than 31
+ ...
+}
+
+HS-SCCH-Information-768-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationItem-768-PSCH-ReconfRqst
+
+HS-SCCH-InformationItem-768-PSCH-ReconfRqst ::= SEQUENCE {
+ hS-SCCH-ID HS-SCCH-ID,
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ hS-SCCH-MaxPower DL-Power,
+ hS-SICH-Information-768 HS-SICH-Information-768-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationItem-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-InformationItem-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SICH-Information-768-PSCH-ReconfRqst ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-Information-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SICH-Information-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-InformationExt-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfHSSCCHsinExt)) OF HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst
+
+Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst::= SEQUENCE {
+ hS-SCCH-InformationModify-PSCH-ReconfRqst HS-SCCH-InformationModify-PSCH-ReconfRqst OPTIONAL,
+ hS-SCCH-InformationModify-LCR-PSCH-ReconfRqst HS-SCCH-InformationModify-LCR-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-hS-SCCH-InformationModify-768-PSCH-ReconfRqst CRITICALITY reject EXTENSION HS-SCCH-InformationModify-768-PSCH-ReconfRqst PRESENCE optional }|
+ -- 7.68 Mcps TDD. Not Applicable to 3.84Mcps TDD or 1.28 Mcps TDD.
+ { ID id-HS-SCCH-InformationModifyExt-LCR-PSCH-ReconfRqst CRITICALITY ignore EXTENSION HS-SCCH-InformationModifyExt-LCR-PSCH-ReconfRqst PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only, used when there are more than maxNrOfHSSCCHs HS-SCCHs in the message.
+ ...
+}
+
+HS-SCCH-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ hS-SCCH-ID HS-SCCH-ID,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ hS-SCCH-MaxPower DL-Power OPTIONAL,
+ hS-SICH-Information HS-SICH-InformationModify-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SICH-InformationModify-PSCH-ReconfRqst ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-InformationModify-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SICH-InformationModify-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-InformationModify-LCR-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst
+
+HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ hS-SCCH-ID HS-SCCH-ID,
+ timeSlotLCR TimeSlotLCR OPTIONAL,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ first-TDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ second-TDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ hS-SCCH-MaxPower DL-Power OPTIONAL,
+ hS-SICH-Information-LCR HS-SICH-InformationModify-LCR-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-HS-SCCH-ID CRITICALITY ignore EXTENSION Extended-HS-SCCH-ID PRESENCE optional}|
+ -- used if the HS-SCCH identity has a value larger than 31
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies
+ { ID id-HSSICH-ReferenceSignal-InformationModifyLCR CRITICALITY reject EXTENSION HSSICH-ReferenceSignal-InformationModifyLCR PRESENCE optional},
+ ...
+}
+
+HS-SCCH-InformationModifyExt-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfHSSCCHsinExt)) OF HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst
+
+HS-SICH-InformationModify-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeSlotLCR TimeSlotLCR OPTIONAL,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-InformationModify-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SICH-InformationModify-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-HS-SICH-ID CRITICALITY ignore EXTENSION Extended-HS-SICH-ID PRESENCE optional },
+ -- used if the HS-SICH identity has a value larger than 31
+ ...
+}
+
+HS-SCCH-InformationModify-768-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationModifyItem-768-PSCH-ReconfRqst
+
+HS-SCCH-InformationModifyItem-768-PSCH-ReconfRqst ::= SEQUENCE {
+ hS-SCCH-ID HS-SCCH-ID,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ hS-SCCH-MaxPower DL-Power OPTIONAL,
+ hS-SICH-Information-768 HS-SICH-InformationModify-768-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationModifyItem-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-InformationModifyItem-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SICH-InformationModify-768-PSCH-ReconfRqst ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-InformationModify-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SICH-InformationModify-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-InformationModify-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationModifyItem-PSCH-ReconfRqst
+
+Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst
+
+Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst ::= SEQUENCE {
+ hS-SCCH-ID HS-SCCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-HS-SCCH-ID CRITICALITY ignore EXTENSION Extended-HS-SCCH-ID PRESENCE optional },
+ -- used if the HS-SCCH identity has a value larger than 31
+ ...
+}
+
+E-PUCH-Information-PSCH-ReconfRqst ::= SEQUENCE {
+ lTGI-Presence LTGI-Presence,
+ sNPL-Reporting-Type SNPL-Reporting-Type,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ e-PUCH-Timeslot-Info E-PUCH-Timeslot-Info,
+ iE-Extensions ProtocolExtensionContainer { { E-PUCH-Information-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-PUCH-Information-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-PUCH-Timeslot-Info ::= SEQUENCE (SIZE (1..maxNrOfE-PUCHSlots)) OF TimeSlot
+
+Add-To-E-AGCH-Resource-Pool-PSCH-ReconfRqst::= SEQUENCE {
+ e-AGCH-Information-PSCH-ReconfRqst E-AGCH-Information-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Add-To-E-AGCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Add-To-E-AGCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-Information-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfEAGCHs)) OF E-AGCH-InformationItem-PSCH-ReconfRqst
+
+E-AGCH-InformationItem-PSCH-ReconfRqst ::= SEQUENCE {
+ e-AGCH-ID E-AGCH-Id,
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ e-AGCH-MaxPower DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-InformationItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-InformationItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Modify-E-AGCH-Resource-Pool-PSCH-ReconfRqst::= SEQUENCE {
+ e-AGCH-InformationModify-PSCH-ReconfRqst E-AGCH-InformationModify-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Modify-E-AGCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Modify-E-AGCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-InformationModify-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfEAGCHs)) OF E-AGCH-InformationModifyItem-PSCH-ReconfRqst
+
+E-AGCH-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
+ e-AGCH-ID E-AGCH-Id,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ e-AGCH-MaxPower DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Delete-From-E-AGCH-Resource-Pool-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfEAGCHs)) OF Delete-From-E-AGCH-Resource-PoolItem-PSCH-ReconfRqst
+
+Delete-From-E-AGCH-Resource-PoolItem-PSCH-ReconfRqst ::= SEQUENCE {
+ e-AGCH-ID E-AGCH-Id,
+ iE-Extensions ProtocolExtensionContainer { { Delete-From-E-AGCH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Delete-From-E-AGCH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-Information-PSCH-ReconfRqst ::= SEQUENCE {
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ e-HICH-MaxPower DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-Information-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+E-HICH-Information-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-PUCH-Information-768-PSCH-ReconfRqst ::= SEQUENCE {
+ lTGI-Presence LTGI-Presence,
+ sNPL-Reporting-Type SNPL-Reporting-Type,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ e-PUCH-Timeslot-Info E-PUCH-Timeslot-Info,
+ iE-Extensions ProtocolExtensionContainer { { E-PUCH-Information-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-PUCH-Information-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Add-To-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst::= SEQUENCE {
+ e-AGCH-Information-768-PSCH-ReconfRqst E-AGCH-Information-768-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Add-To-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Add-To-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-Information-768-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfEAGCHs)) OF E-AGCH-InformationItem-768-PSCH-ReconfRqst
+
+E-AGCH-InformationItem-768-PSCH-ReconfRqst ::= SEQUENCE {
+ e-AGCH-ID E-AGCH-Id,
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ e-AGCH-MaxPower DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-InformationItem-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-InformationItem-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Modify-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst::= SEQUENCE {
+ e-AGCH-InformationModify-768-PSCH-ReconfRqst E-AGCH-InformationModify-768-PSCH-ReconfRqst OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Modify-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Modify-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-InformationModify-768-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfEAGCHs)) OF E-AGCH-InformationModifyItem-768-PSCH-ReconfRqst
+
+E-AGCH-InformationModifyItem-768-PSCH-ReconfRqst ::= SEQUENCE {
+ e-AGCH-ID E-AGCH-Id,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768 OPTIONAL,
+ e-AGCH-MaxPower DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-InformationModifyItem-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-InformationModifyItem-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-Information-768-PSCH-ReconfRqst ::= SEQUENCE {
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ e-HICH-MaxPower DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-Information-768-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+E-HICH-Information-768-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-PUCH-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ lTGI-Presence LTGI-Presence,
+ sNPL-Reporting-Type SNPL-Reporting-Type,
+ e-PUCH-Timeslot-InfoLCR E-PUCH-Timeslot-InfoLCR OPTIONAL,
+ -- This E-PUCH Timeslot Information is for the first Frequency repetition, E-PUCH timeslot information for Frequency repetitions 2 and on, should be defined in MultipleFreq-E-PUCH-Timeslot-InformationList-LCR-PSCH-ReconfRqst.
+ iE-Extensions ProtocolExtensionContainer { { E-PUCH-Information-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-PUCH-Information-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional}|
+ -- This is the UARFCN for the first Frequency repetition. Mandatory for 1.28Mcps TDD when using multiple frequencies.
+ { ID id-MultipleFreq-E-PUCH-Timeslot-InformationList-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION MultipleFreq-E-PUCH-Timeslot-InformationList-LCR-PSCH-ReconfRqst PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies.This E-PUCH Information is for the 2nd and beyond frequencies.
+ ...
+}
+
+E-PUCH-Timeslot-InfoLCR ::= SEQUENCE (SIZE (1..maxNrOfE-PUCHSlotsLCR)) OF E-PUCH-Timeslot-Item-InfoLCR
+
+E-PUCH-Timeslot-Item-InfoLCR ::= SEQUENCE {
+ timeSlot TimeSlotLCR,
+ midambleShiftAndBurstType MidambleShiftLCR,
+ e-PUCH-Codelist-LCR E-PUCH-Codelist-LCR,
+ iE-Extensions ProtocolExtensionContainer { { E-PUCH-Timeslot-Item-InfoLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-PUCH-Timeslot-Item-InfoLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-PUCH-Codelist-LCR ::= SEQUENCE (SIZE (1..maxNrOfEPUCHcodes)) OF TDD-ChannelisationCode
+
+Add-To-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ e-AGCH-Information-LCR-PSCH-ReconfRqst E-AGCH-Information-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { Add-To-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Add-To-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-Information-LCR-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfEAGCHs)) OF E-AGCH-InformationItem-LCR-PSCH-ReconfRqst
+
+E-AGCH-InformationItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ e-AGCH-ID E-AGCH-Id,
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ first-TDD-ChannelisationCode TDD-ChannelisationCode,
+ second-TDD-ChannelisationCode TDD-ChannelisationCode,
+ e-AGCH-MaxPower DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional},
+ -- Mandatory for 1.28Mcps TDD when using multiple frequencies
+ ...
+}
+
+Modify-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst::= SEQUENCE {
+ e-AGCH-InformationModify-LCR-PSCH-ReconfRqst E-AGCH-InformationModify-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { Modify-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Modify-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-InformationModify-LCR-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfEAGCHs)) OF E-AGCH-InformationModifyItem-LCR-PSCH-ReconfRqst
+
+E-AGCH-InformationModifyItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ e-AGCH-ID E-AGCH-Id,
+ timeSlotLCR TimeSlotLCR OPTIONAL,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ first-TDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ second-TDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ e-AGCH-MaxPower DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional},
+ -- Mandatory for 1.28Mcps TDD when using multiple frequencies
+ ...
+}
+
+Add-To-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ e-HICH-Information-LCR-PSCH-ReconfRqst E-HICH-Information-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { Add-To-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Add-To-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfEHICHs)) OF E-HICH-InformationItem-LCR-PSCH-ReconfRqst
+
+E-HICH-InformationItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ e-HICH-ID-TDD E-HICH-ID-TDD,
+ e-HICH-Type E-HICH-Type,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ e-HICH-MaxPower DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-HICH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-E-HICH-ID-TDD CRITICALITY ignore EXTENSION Extended-E-HICH-ID-TDD PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only when the E-HICH identity has a value larger than 31.
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional},
+ -- Mandatory for 1.28Mcps TDD when using multiple frequencies
+ ...
+}
+
+Modify-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ e-HICH-InformationModify-LCR-PSCH-ReconfRqst E-HICH-InformationModify-LCR-PSCH-ReconfRqst,
+ iE-Extensions ProtocolExtensionContainer { { Modify-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Modify-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-InformationModify-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfEHICHs)) OF E-HICH-InformationModifyItem-LCR-PSCH-ReconfRqst
+
+E-HICH-InformationModifyItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
+ e-HICH-ID-TDD E-HICH-ID-TDD,
+ e-HICH-Type E-HICH-Type OPTIONAL,
+ tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ timeSlotLCR TimeSlotLCR OPTIONAL,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ e-HICH-MaxPower DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-HICH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-E-HICH-ID-TDD CRITICALITY ignore EXTENSION Extended-E-HICH-ID-TDD PRESENCE optional}|
+ --Applicable to 1.28Mcps TDD only when the E-HICH identity has a value larger than 31.
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional},
+ -- Mandatory for 1.28Mcps TDD when using multiple frequencies
+ ...
+}
+
+Delete-From-E-HICH-Resource-Pool-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfEHICHs)) OF Delete-From-E-HICH-Resource-PoolItem-PSCH-ReconfRqst
+
+Delete-From-E-HICH-Resource-PoolItem-PSCH-ReconfRqst ::= SEQUENCE {
+ e-HICH-ID-TDD E-HICH-ID-TDD,
+ iE-Extensions ProtocolExtensionContainer { { Delete-From-E-HICH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Delete-From-E-HICH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-E-HICH-ID-TDD CRITICALITY ignore EXTENSION Extended-E-HICH-ID-TDD PRESENCE optional},
+ -- Applicable to 1.28Mcps TDD only when the E-HICH identity has a value larger than 31.
+ ...
+}
+
+SYNC-UL-Partition-LCR ::= SEQUENCE {
+ eRUCCH-SYNC-UL-codes-bitmap BIT STRING (SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { { SYNC-UL-Partition-LCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SYNC-UL-Partition-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Delete-From-HS-SCCH-Resource-PoolExt-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfHSSCCHsinExt)) OF Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst
+
+MultipleFreq-E-PUCH-Timeslot-InformationList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF ProtocolIE-Single-Container {{ MultipleFreq-E-PUCH-Timeslot-InformationItemIE-LCR-PSCH-ReconfRqst}}
+--Includes the 2nd through the max number of frequencies information repetitions.
+
+MultipleFreq-E-PUCH-Timeslot-InformationItemIE-LCR-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
+ { ID id-MultipleFreq-E-PUCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst CRITICALITY ignore TYPE MultipleFreq-E-PUCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst PRESENCE optional }
+}
+
+MultipleFreq-E-PUCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst ::= SEQUENCE {
+ e-PUCH-Timeslot-InfoLCR E-PUCH-Timeslot-InfoLCR OPTIONAL,
+ uARFCN UARFCN,
+ iE-Extensions ProtocolExtensionContainer { { MultipleFreq-E-PUCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MultipleFreq-E-PUCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxFrequencyinCell)) OF Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst-Item
+
+Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst-Item ::= SEQUENCE {
+ uARFCN UARFCN,
+ maximum-Target-ReceivedTotalWideBandPower-LCR Maximum-Target-ReceivedTotalWideBandPower-LCR,
+ iE-Extensions ProtocolExtensionContainer { { Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PHYSICAL SHARED CHANNEL RECONFIGURATION RESPONSE
+--
+-- **************************************************************
+
+PhysicalSharedChannelReconfigurationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+PhysicalSharedChannelReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+PhysicalSharedChannelReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-HICH-TimeOffset CRITICALITY reject EXTENSION E-HICH-TimeOffset PRESENCE optional }|
+ { ID id-E-HICH-TimeOffsetLCR CRITICALITY reject EXTENSION E-HICH-TimeOffsetLCR PRESENCE optional }|
+ { ID id-HSDSCH-Common-System-Information-ResponseFDD CRITICALITY ignore EXTENSION HSDSCH-Common-System-Information-ResponseFDD PRESENCE optional }|
+ { ID id-HSDSCH-Paging-System-Information-ResponseFDD CRITICALITY ignore EXTENSION HSDSCH-Paging-System-Information-ResponseFDD PRESENCE optional }|
+ { ID id-UARFCNforNt CRITICALITY reject EXTENSION UARFCN PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies. This is the UARFCN for the first Frequency repetition.
+ { ID id-E-HICH-TimeOffset-Extension CRITICALITY reject EXTENSION E-HICH-TimeOffset-ExtensionLCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD when using multiple frequencies. This E-HICH-TimeOffset-ExtensionLCR is the E-HICH Time Offset LCR for the 2nd and beyond frequencies.
+ { ID id-Common-EDCH-System-Information-ResponseFDD CRITICALITY ignore EXTENSION Common-EDCH-System-Information-ResponseFDD PRESENCE optional }|
+ -- FDD only
+ { ID id-HSDSCH-Common-System-Information-ResponseLCR CRITICALITY ignore EXTENSION HSDSCH-Common-System-Information-ResponseLCR PRESENCE optional }|
+ { ID id-HSDSCH-Paging-System-Information-ResponseLCR CRITICALITY ignore EXTENSION HSDSCH-Paging-System-Information-ResponseLCR PRESENCE optional }|
+ { ID id-Common-EDCH-System-Information-ResponseLCR CRITICALITY ignore EXTENSION Common-EDCH-System-Information-ResponseLCR PRESENCE optional },
+ ...
+}
+
+E-HICH-TimeOffset-ExtensionLCR ::= SEQUENCE (SIZE (1..maxFrequencyinCell-1)) OF ProtocolIE-Single-Container{{ Multiple-E-HICH-TimeOffsetLCR }}
+
+Multiple-E-HICH-TimeOffsetLCR NBAP-PROTOCOL-IES ::= {
+ { ID id-MultipleFreq-E-HICH-TimeOffsetLCR CRITICALITY reject TYPE MultipleFreq-E-HICH-TimeOffsetLCR PRESENCE optional }
+}
+MultipleFreq-E-HICH-TimeOffsetLCR ::= SEQUENCE {
+ e-HICH-TimeOffsetLCR E-HICH-TimeOffsetLCR,
+ uARFCN UARFCN,
+ iE-Extensions ProtocolExtensionContainer { { MultipleFreq-E-HICH-TimeOffsetLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+MultipleFreq-E-HICH-TimeOffsetLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PHYSICAL SHARED CHANNEL RECONFIGURATION FAILURE
+--
+-- **************************************************************
+
+PhysicalSharedChannelReconfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+PhysicalSharedChannelReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CauseLevel-PSCH-ReconfFailure CRITICALITY ignore TYPE CauseLevel-PSCH-ReconfFailure PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+PhysicalSharedChannelReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-HICH-TimeOffset-ReconfFailureTDD CRITICALITY ignore EXTENSION E-HICH-TimeOffset-ReconfFailureTDD PRESENCE optional }|
+ { ID id-Common-System-Information-ResponseLCR CRITICALITY ignore EXTENSION Common-System-Information-ResponseLCR PRESENCE optional },
+ ...
+}
+
+CauseLevel-PSCH-ReconfFailure ::= CHOICE {
+ generalCause GeneralCauseList-PSCH-ReconfFailure,
+ setSpecificCause SetSpecificCauseList-PSCH-ReconfFailureTDD,
+ ...,
+ extension-CauseLevel-PSCH-ReconfFailure Extension-CauseLevel-PSCH-ReconfFailure
+}
+
+
+GeneralCauseList-PSCH-ReconfFailure ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-PSCH-ReconfFailure-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-PSCH-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SetSpecificCauseList-PSCH-ReconfFailureTDD ::= SEQUENCE {
+ unsuccessful-PDSCHSetList-PSCH-ReconfFailureTDD Unsuccessful-PDSCHSetList-PSCH-ReconfFailureTDD OPTIONAL,
+ unsuccessful-PUSCHSetList-PSCH-ReconfFailureTDD Unsuccessful-PUSCHSetList-PSCH-ReconfFailureTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SetSpecificCauseItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SetSpecificCauseItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Unsuccessful-PDSCHSetList-PSCH-ReconfFailureTDD ::= SEQUENCE (SIZE (0.. maxNrOfPDSCHSets)) OF ProtocolIE-Single-Container {{ Unsuccessful-PDSCHSetItemIE-PSCH-ReconfFailureTDD }}
+
+Unsuccessful-PDSCHSetItemIE-PSCH-ReconfFailureTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD CRITICALITY ignore TYPE Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD PRESENCE mandatory}
+}
+
+Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD ::= SEQUENCE {
+ pDSCHSet-ID PDSCHSet-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Unsuccessful-PUSCHSetList-PSCH-ReconfFailureTDD ::= SEQUENCE (SIZE (0.. maxNrOfPUSCHSets)) OF ProtocolIE-Single-Container {{ Unsuccessful-PUSCHSetItemIE-PSCH-ReconfFailureTDD }}
+
+Unsuccessful-PUSCHSetItemIE-PSCH-ReconfFailureTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD CRITICALITY ignore TYPE Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD PRESENCE mandatory}
+}
+
+Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD ::= SEQUENCE {
+ pUSCHSet-ID PUSCHSet-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extension-CauseLevel-PSCH-ReconfFailure ::= ProtocolIE-Single-Container {{ Extension-CauseLevel-PSCH-ReconfFailureIE }}
+
+Extension-CauseLevel-PSCH-ReconfFailureIE NBAP-PROTOCOL-IES ::= {
+ { ID id-UARFCNSpecificCauseList CRITICALITY ignore TYPE UARFCNSpecificCauseList-PSCH-ReconfFailureTDD PRESENCE mandatory }
+}
+
+UARFCNSpecificCauseList-PSCH-ReconfFailureTDD ::= SEQUENCE (SIZE (0.. maxFrequencyinCell)) OF ProtocolIE-Single-Container {{ Unsuccessful-UARFCNItemIE-PSCH-ReconfFailureTDD }}
+
+Unsuccessful-UARFCNItemIE-PSCH-ReconfFailureTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Unsuccessful-UARFCNItem-PSCH-ReconfFailureTDD CRITICALITY ignore TYPE Unsuccessful-UARFCNItem-PSCH-ReconfFailureTDD PRESENCE mandatory }
+}
+
+Unsuccessful-UARFCNItem-PSCH-ReconfFailureTDD ::= SEQUENCE {
+ uARFCN UARFCN,
+ -- Used for 1.28 Mcps TDD to indicate the carrier on which HSDPA or HSUPA resources configuration failure occurs.
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {Unsuccessful-UARFCNItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Unsuccessful-UARFCNItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HS-Cause CRITICALITY ignore EXTENSION Cause PRESENCE optional}|
+ -- Used to indicate the cause of HSDPA related configuration failure.
+ { ID id-E-Cause CRITICALITY ignore EXTENSION Cause PRESENCE optional},
+ -- Used to indicate the cause of E-DCH related configuration failure.
+ ...
+}
+
+E-HICH-TimeOffset-ReconfFailureTDD ::= SEQUENCE (SIZE (1..maxFrequencyinCell)) OF ProtocolIE-Single-Container{{ Multiple-E-HICH-TimeOffsetLCR }}
+
+Common-System-Information-ResponseLCR::= SEQUENCE {
+ hSDSCH-Common-System-Information-ResponseLCR HSDSCH-Common-System-Information-ResponseLCR,
+ hSDSCH-Paging-System-Information-ResponseLCR HSDSCH-Paging-System-Information-ResponseLCR OPTIONAL,
+ common-EDCH-System-Information-ResponseLCR Common-EDCH-System-Information-ResponseLCR,
+ iE-Extensions ProtocolExtensionContainer { { Common-System-Information-ResponseLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Common-System-Information-ResponseLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET REQUEST
+--
+-- **************************************************************
+
+ResetRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ResetRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+ResetRequest-IEs NBAP-PROTOCOL-IES ::= {
+ {ID id-ResetIndicator CRITICALITY ignore TYPE ResetIndicator PRESENCE mandatory},
+ ...
+}
+
+ResetRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetIndicator ::= CHOICE {
+ communicationContext CommunicationContextList-Reset,
+ communicationControlPort CommunicationControlPortList-Reset,
+ nodeB NULL,
+ ...
+}
+
+CommunicationContextList-Reset ::= SEQUENCE {
+ communicationContextInfoList-Reset CommunicationContextInfoList-Reset,
+ iE-Extensions ProtocolExtensionContainer { {CommunicationContextItem-Reset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CommunicationContextItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CommunicationContextInfoList-Reset ::= SEQUENCE (SIZE (1.. maxCommunicationContext)) OF ProtocolIE-Single-Container {{ CommunicationContextInfoItemIE-Reset }}
+
+CommunicationContextInfoItemIE-Reset NBAP-PROTOCOL-IES ::= {
+ {ID id-CommunicationContextInfoItem-Reset CRITICALITY reject TYPE CommunicationContextInfoItem-Reset PRESENCE mandatory}
+}
+
+CommunicationContextInfoItem-Reset ::= SEQUENCE {
+ communicationContextType-Reset CommunicationContextType-Reset,
+ iE-Extensions ProtocolExtensionContainer { { CommunicationContextInfoItem-Reset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CommunicationContextInfoItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CommunicationContextType-Reset ::= CHOICE {
+ cRNC-CommunicationContextID CRNC-CommunicationContextID,
+ nodeB-CommunicationContextID NodeB-CommunicationContextID,
+ ...
+}
+
+CommunicationControlPortList-Reset ::= SEQUENCE {
+ communicationControlPortInfoList-Reset CommunicationControlPortInfoList-Reset,
+ iE-Extensions ProtocolExtensionContainer { {CommunicationControlPortItem-Reset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CommunicationControlPortItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CommunicationControlPortInfoList-Reset ::= SEQUENCE (SIZE (1.. maxCCPinNodeB)) OF ProtocolIE-Single-Container {{CommunicationControlPortInfoItemIE-Reset }}
+
+CommunicationControlPortInfoItemIE-Reset NBAP-PROTOCOL-IES ::= {
+ {ID id-CommunicationControlPortInfoItem-Reset CRITICALITY reject TYPE CommunicationControlPortInfoItem-Reset PRESENCE mandatory}
+}
+
+CommunicationControlPortInfoItem-Reset ::= SEQUENCE {
+ communicationControlPortID CommunicationControlPortID,
+ iE-Extensions ProtocolExtensionContainer { {CommunicationControlPortInfoItem-Reset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CommunicationControlPortInfoItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET RESPONSE
+--
+-- **************************************************************
+
+ResetResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ResetResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+ResetResponse-IEs NBAP-PROTOCOL-IES ::= {
+ {ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+ResetResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE INITIATION REQUEST
+--
+-- **************************************************************
+
+InformationExchangeInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeInitiationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeInitiationRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-InformationExchangeObjectType-InfEx-Rqst CRITICALITY reject TYPE InformationExchangeObjectType-InfEx-Rqst PRESENCE mandatory }|
+ { ID id-InformationType CRITICALITY reject TYPE InformationType PRESENCE mandatory }|
+ { ID id-InformationReportCharacteristics CRITICALITY reject TYPE InformationReportCharacteristics PRESENCE mandatory },
+ ...
+}
+
+InformationExchangeInitiationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationExchangeObjectType-InfEx-Rqst ::= CHOICE {
+ cell Cell-InfEx-Rqst,
+ ...
+}
+
+Cell-InfEx-Rqst ::= SEQUENCE {
+ c-ID C-ID,
+ iE-Extensions ProtocolExtensionContainer { { CellItem-InfEx-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellItem-InfEx-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE INITIATION RESPONSE
+--
+-- **************************************************************
+
+InformationExchangeInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeInitiationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeInitiationResponse-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-InformationExchangeObjectType-InfEx-Rsp CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rsp PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+InformationExchangeInitiationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationExchangeObjectType-InfEx-Rsp ::= CHOICE {
+ cell Cell-InfEx-Rsp,
+ ...
+ }
+
+Cell-InfEx-Rsp ::= SEQUENCE {
+ requestedDataValue RequestedDataValue,
+ iE-Extensions ProtocolExtensionContainer { { CellItem-InfEx-Rsp-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CellItem-InfEx-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE INITIATION FAILURE
+--
+-- **************************************************************
+
+InformationExchangeInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeInitiationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeInitiationFailure-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+InformationExchangeInitiationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION REPORT
+--
+-- **************************************************************
+
+InformationReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationReport-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationReport-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-InformationExchangeObjectType-InfEx-Rprt CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rprt PRESENCE mandatory },
+ ...
+}
+
+InformationReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationExchangeObjectType-InfEx-Rprt ::= CHOICE {
+ cell Cell-Inf-Rprt,
+ ...
+ }
+
+Cell-Inf-Rprt ::= SEQUENCE {
+ requestedDataValueInformation RequestedDataValueInformation,
+ iE-Extensions ProtocolExtensionContainer {{ CellItem-Inf-Rprt-ExtIEs }} OPTIONAL,
+ ...
+
+ }
+
+CellItem-Inf-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE TERMINATION REQUEST
+--
+-- **************************************************************
+
+InformationExchangeTerminationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeTerminationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeTerminationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeTerminationRequest-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory},
+ ...
+}
+
+InformationExchangeTerminationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE FAILURE INDICATION
+--
+-- **************************************************************
+
+InformationExchangeFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+InformationExchangeFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION INITIATION REQUEST TDD
+--
+-- **************************************************************
+
+CellSynchronisationInitiationRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationInitiationRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationInitiationRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationInitiationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-cellSyncBurstRepetitionPeriod CRITICALITY reject TYPE CellSyncBurstRepetitionPeriod PRESENCE mandatory }|
+ { ID id-timeslotInfo-CellSyncInitiationRqstTDD CRITICALITY reject TYPE TimeslotInfo-CellSyncInitiationRqstTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD. Not Applicable to 1.28Mcps TDD.
+ { ID id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD CRITICALITY reject TYPE CellSyncBurstTransInit-CellSyncInitiationRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
+ { ID id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD CRITICALITY reject TYPE CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD PRESENCE optional }, -- Applicable to 3.84Mcps TDD only
+ ...
+}
+
+CellSynchronisationInitiationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+TimeslotInfo-CellSyncInitiationRqstTDD::= SEQUENCE (SIZE (1..15)) OF TimeSlot
+
+CellSyncBurstTransInit-CellSyncInitiationRqstTDD::= SEQUENCE {
+ cSBTransmissionID CSBTransmissionID,
+ sfn SFN,
+ cellSyncBurstCode CellSyncBurstCode,
+ cellSyncBurstCodeShift CellSyncBurstCodeShift,
+ initialDLTransPower DL-Power,
+ iE-Extensions ProtocolExtensionContainer { { CellSyncBurstTransInit-CellSyncInitiationRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellSyncBurstTransInit-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD::= SEQUENCE {
+ cSBMeasurementID CSBMeasurementID,
+ cellSyncBurstCode CellSyncBurstCode,
+ cellSyncBurstCodeShift CellSyncBurstCodeShift,
+ synchronisationReportType SynchronisationReportType,
+ sfn SFN OPTIONAL,
+ synchronisationReportCharacteristics SynchronisationReportCharacteristics,
+ iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD::= SEQUENCE {
+ cSBTransmissionID CSBTransmissionID,
+ sfn SFN,
+ uARFCN UARFCN,
+ sYNCDlCodeId SYNCDlCodeId,
+ dwPCH-Power DwPCH-Power,
+ iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD::= SEQUENCE {
+ cSBMeasurementID CSBMeasurementID,
+ sfn SFN OPTIONAL,
+ uARFCN UARFCN,
+ sYNCDlCodeId SYNCDlCodeId,
+ synchronisationReportType SynchronisationReportType,
+ synchronisationReportCharacteristics SynchronisationReportCharacteristics,
+ iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION INITIATION RESPONSE TDD
+--
+-- **************************************************************
+
+CellSynchronisationInitiationResponseTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationInitiationResponseTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationInitiationResponseTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationInitiationResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationInitiationResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION INITIATION FAILURE TDD
+--
+-- **************************************************************
+
+CellSynchronisationInitiationFailureTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationInitiationFailureTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationInitiationFailureTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationInitiationFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationInitiationFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION RECONFIGURATION REQUEST TDD
+--
+-- **************************************************************
+
+CellSynchronisationReconfigurationRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationReconfigurationRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReconfigurationRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
+ { ID id-TimeSlot CRITICALITY reject TYPE TimeSlot PRESENCE mandatory }|
+ -- Applicable to 3.84Mcps TDD only. For 1.28Mcps TDD, the CRNC should set this to 0 and the Node B shall ignore it.
+ { ID id-NCyclesPerSFNperiod CRITICALITY reject TYPE NCyclesPerSFNperiod PRESENCE mandatory }|
+ { ID id-NRepetitionsPerCyclePeriod CRITICALITY reject TYPE NRepetitionsPerCyclePeriod PRESENCE mandatory }|
+ { ID id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD CRITICALITY reject TYPE CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
+ { ID id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD CRITICALITY reject TYPE CellSyncBurstMeasInfo-CellSyncReconfRqstTDD PRESENCE optional }, -- Applicable to 3.84Mcps TDD only
+ ...
+}
+
+CellSynchronisationReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD CRITICALITY reject EXTENSION NSubCyclesPerCyclePeriod PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
+ { ID id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1.. maxNrOfCellSyncBursts)) OF CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD
+
+CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
+ cSBTransmissionID CSBTransmissionID,
+ syncFrameNumberToTransmit SyncFrameNumber,
+ cellSyncBurstCode CellSyncBurstCode OPTIONAL,
+ cellSyncBurstCodeShift CellSyncBurstCodeShift OPTIONAL,
+ dlTransPower DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CellSyncBurstMeasInfo-CellSyncReconfRqstTDD ::= SEQUENCE {
+ cellSyncBurstMeasInfoList-CellSyncReconfRqstTDD CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD,
+ synchronisationReportType SynchronisationReportTypeIE OPTIONAL,
+ synchronisationReportCharacteristics SynchronisationReportCharacteristicsIE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasInfo-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellSyncBurstMeasInfo-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD ::= ProtocolIE-Single-Container {{ CellSyncBurstMeasInfoListIEs-CellSyncReconfRqstTDD }}
+
+CellSyncBurstMeasInfoListIEs-CellSyncReconfRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD CRITICALITY reject TYPE CellSyncBurstMeasInfoListIE-CellSyncReconfRqstTDD PRESENCE mandatory }
+}
+
+SynchronisationReportTypeIE ::= ProtocolIE-Single-Container {{ SynchronisationReportTypeIEs }}
+
+SynchronisationReportTypeIEs NBAP-PROTOCOL-IES ::= {
+ { ID id-SynchronisationReportType CRITICALITY reject TYPE SynchronisationReportType PRESENCE mandatory }
+}
+
+SynchronisationReportCharacteristicsIE ::= ProtocolIE-Single-Container {{ SynchronisationReportCharacteristicsIEs }}
+
+SynchronisationReportCharacteristicsIEs NBAP-PROTOCOL-IES ::= {
+ { ID id-SynchronisationReportCharacteristics CRITICALITY reject TYPE SynchronisationReportCharacteristics PRESENCE mandatory }
+}
+
+
+CellSyncBurstMeasInfoListIE-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1.. maxNrOfCellSyncBursts)) OF CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD
+
+CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
+ syncFrameNrToReceive SyncFrameNumber,
+ syncBurstInfo CellSyncBurstInfoList-CellSyncReconfRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSyncBurstInfoList-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfReceptsPerSyncFrame)) OF CellSyncBurstInfoItem-CellSyncReconfRqstTDD
+
+CellSyncBurstInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
+ cSBMeasurementID CSBMeasurementID,
+ cellSyncBurstCode CellSyncBurstCode,
+ cellSyncBurstCodeShift CellSyncBurstCodeShift,
+ iE-Extensions ProtocolExtensionContainer { { CellSyncBurstInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellSyncBurstInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSyncFramesLCR)) OF SYNCDlCodeIdTransReconfItemLCR-CellSyncReconfRqstTDD
+
+SYNCDlCodeIdTransReconfItemLCR-CellSyncReconfRqstTDD ::= SEQUENCE {
+ cSBTransmissionID CSBTransmissionID,
+ syncFrameNumberforTransmit SyncFrameNumber,
+ uARFCN UARFCN,
+ sYNCDlCodeId SYNCDlCodeId OPTIONAL,
+ dwPCH-Power DwPCH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD::= SEQUENCE {
+
+ sYNCDlCodeIdMeasInfoList SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD,
+ synchronisationReportType SynchronisationReportType OPTIONAL,
+ synchronisationReportCharacteristics SynchronisationReportCharacteristics OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD::= SEQUENCE (SIZE (1.. maxNrOfSyncDLCodesLCR)) OF SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD
+
+SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
+ syncFrameNrToReceive SyncFrameNumber,
+ sYNCDlCodeIdInfoLCR SYNCDlCodeIdInfoListLCR-CellSyncReconfRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SYNCDlCodeIdInfoListLCR-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1.. maxNrOfReceptionsperSyncFrameLCR)) OF SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD
+
+SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD ::= SEQUENCE {
+ cSBMeasurementID CSBMeasurementID,
+ sYNCDlCodeId SYNCDlCodeId,
+ uARFCN UARFCN,
+ propagationDelayCompensation TimingAdjustmentValueLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION RECONFIGURATION RESPONSE TDD
+--
+-- **************************************************************
+
+CellSynchronisationReconfigurationResponseTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationReconfigurationResponseTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReconfigurationResponseTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationReconfigurationResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationReconfigurationResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION RECONFIGURATION FAILURE TDD
+--
+-- **************************************************************
+
+CellSynchronisationReconfigurationFailureTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationReconfigurationFailureTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReconfigurationFailureTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationReconfigurationFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationReconfigurationFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION ADJUSTMENT REQUEST TDD
+--
+-- **************************************************************
+
+CellSynchronisationAdjustmentRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationAdjustmentRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationAdjustmentRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationAdjustmentRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationAdjustmentRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CellAdjustmentInfo-SyncAdjustmntRqstTDD CRITICALITY ignore TYPE CellAdjustmentInfo-SyncAdjustmentRqstTDD PRESENCE mandatory },
+ ...
+}
+
+CellAdjustmentInfo-SyncAdjustmentRqstTDD::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ CellAdjustmentInfoItemIE-SyncAdjustmntRqstTDD }}
+
+CellAdjustmentInfoItemIE-SyncAdjustmntRqstTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD CRITICALITY ignore TYPE CellAdjustmentInfoItem-SyncAdjustmentRqstTDD PRESENCE mandatory }
+}
+
+CellAdjustmentInfoItem-SyncAdjustmentRqstTDD ::= SEQUENCE {
+ c-ID C-ID,
+ frameAdjustmentValue FrameAdjustmentValue OPTIONAL,
+ timingAdjustmentValue TimingAdjustmentValue OPTIONAL,
+ dLTransPower DL-Power OPTIONAL, -- Applicable to 3.84Mcps TDD only
+ sfn SFN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellAdjustmentInfoItem-SyncAdjustmntRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CellAdjustmentInfoItem-SyncAdjustmntRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DwPCH-Power CRITICALITY ignore EXTENSION DwPCH-Power PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-TimingAdjustmentValueLCR CRITICALITY ignore EXTENSION TimingAdjustmentValueLCR PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION ADJUSTMENT RESPONSE TDD
+--
+-- **************************************************************
+
+CellSynchronisationAdjustmentResponseTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationAdjustmentResponseTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationAdjustmentResponseTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationAdjustmentResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationAdjustmentResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION ADJUSTMENT FAILURE TDD
+--
+-- **************************************************************
+
+CellSynchronisationAdjustmentFailureTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationAdjustmentFailureTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationAdjustmentFailureTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationAdjustmentFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationAdjustmentFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CauseLevel-SyncAdjustmntFailureTDD CRITICALITY ignore TYPE CauseLevel-SyncAdjustmntFailureTDD PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CauseLevel-SyncAdjustmntFailureTDD ::= CHOICE {
+ generalCause GeneralCauseList-SyncAdjustmntFailureTDD,
+ cellSpecificCause CellSpecificCauseList-SyncAdjustmntFailureTDD,
+ ...
+}
+
+GeneralCauseList-SyncAdjustmntFailureTDD::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseList-SyncAdjustmntFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseList-SyncAdjustmntFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSpecificCauseList-SyncAdjustmntFailureTDD ::= SEQUENCE {
+ unsuccessful-cell-InformationRespList-SyncAdjustmntFailureTDD Unsuccessful-cell-InformationRespList-SyncAdjustmntFailureTDD,
+ iE-Extensions ProtocolExtensionContainer { { CellSpecificCauseList-SyncAdjustmntFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellSpecificCauseList-SyncAdjustmntFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Unsuccessful-cell-InformationRespList-SyncAdjustmntFailureTDD ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ Unsuccessful-cell-InformationRespItemIE-SyncAdjustmntFailureTDD }}
+
+Unsuccessful-cell-InformationRespItemIE-SyncAdjustmntFailureTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD CRITICALITY ignore TYPE Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD PRESENCE mandatory},
+ ...
+}
+
+Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD::= SEQUENCE {
+ c-ID C-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION TERMINATION REQUEST TDD
+--
+-- **************************************************************
+
+CellSynchronisationTerminationRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationTerminationRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationTerminationRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationTerminationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationTerminationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory }|
+ { ID id-CSBTransmissionID CRITICALITY ignore TYPE CSBTransmissionID PRESENCE optional }|
+ { ID id-CSBMeasurementID CRITICALITY ignore TYPE CSBMeasurementID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION FAILURE INDICATION TDD
+--
+-- **************************************************************
+
+CellSynchronisationFailureIndicationTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationFailureIndicationTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationFailureIndicationTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationFailureIndicationTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationFailureIndicationTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory }|
+ { ID id-CSBTransmissionID CRITICALITY ignore TYPE CSBTransmissionID PRESENCE optional }|
+ { ID id-CSBMeasurementID CRITICALITY ignore TYPE CSBMeasurementID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL SYNCHRONISATION REPORT TDD
+--
+-- **************************************************************
+
+CellSynchronisationReportTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellSynchronisationReportTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReportTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CellSynchronisationReportTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSynchronisationReportTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CellSyncInfo-CellSyncReprtTDD CRITICALITY ignore TYPE CellSyncInfo-CellSyncReprtTDD PRESENCE mandatory },
+ ...
+}
+
+CellSyncInfo-CellSyncReprtTDD ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF CellSyncInfoItemIE-CellSyncReprtTDD
+
+CellSyncInfoItemIE-CellSyncReprtTDD ::= SEQUENCE {
+ c-ID-CellSyncReprtTDD C-ID-IE-CellSyncReprtTDD,
+ syncReportType-CellSyncReprtTDD SyncReportTypeIE-CellSyncReprtTDD OPTIONAL,
+ ...
+}
+
+C-ID-IE-CellSyncReprtTDD ::= ProtocolIE-Single-Container {{ C-ID-IEs-CellSyncReprtTDD }}
+
+C-ID-IEs-CellSyncReprtTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory }
+}
+
+SyncReportTypeIE-CellSyncReprtTDD::= ProtocolIE-Single-Container {{ SyncReportTypeIEs-CellSyncReprtTDD }}
+
+SyncReportTypeIEs-CellSyncReprtTDD NBAP-PROTOCOL-IES ::= {
+ { ID id-SyncReportType-CellSyncReprtTDD CRITICALITY ignore TYPE SyncReportType-CellSyncReprtTDD PRESENCE mandatory}
+}
+
+
+SyncReportType-CellSyncReprtTDD ::= CHOICE {
+ intStdPhSyncInfo-CellSyncReprtTDD IntStdPhCellSyncInfo-CellSyncReprtTDD,
+ lateEntrantCell NULL,
+ frequencyAcquisition NULL,
+ ...
+}
+
+IntStdPhCellSyncInfo-CellSyncReprtTDD ::= SEQUENCE {
+ cellSyncBurstMeasuredInfo CellSyncBurstMeasInfoList-CellSyncReprtTDD,
+ iE-Extensions ProtocolExtensionContainer { { IntStdPhCellSyncInfoList-CellSyncReprtTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntStdPhCellSyncInfoList-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AccumulatedClockupdate-CellSyncReprtTDD CRITICALITY ignore EXTENSION TimingAdjustmentValue PRESENCE optional }|
+ { ID id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD CRITICALITY ignore EXTENSION SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD PRESENCE optional }, -- Mandatory for 1.28Mcps TDD. Not Applicable to 3.84Mcps TDD.
+ ...
+}
+
+CellSyncBurstMeasInfoList-CellSyncReprtTDD ::= SEQUENCE (SIZE (0.. maxNrOfCellSyncBursts)) OF CellSyncBurstMeasInfoItem-CellSyncReprtTDD -- Mandatory for 3.84Mcps TDD. Not Applicable to 1.28Mcps TDD.
+
+CellSyncBurstMeasInfoItem-CellSyncReprtTDD ::= SEQUENCE {
+ sFN SFN,
+ cellSyncBurstInfo-CellSyncReprtTDD SEQUENCE (SIZE (1..maxNrOfReceptsPerSyncFrame)) OF CellSyncBurstInfo-CellSyncReprtTDD,
+ iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasInfoItem-CellSyncReprtTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellSyncBurstMeasInfoItem-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellSyncBurstInfo-CellSyncReprtTDD ::= CHOICE {
+ cellSyncBurstAvailable CellSyncBurstAvailable-CellSyncReprtTDD,
+ cellSyncBurstNotAvailable NULL,
+ ...
+}
+
+CellSyncBurstAvailable-CellSyncReprtTDD ::= SEQUENCE {
+ cellSyncBurstTiming CellSyncBurstTiming,
+ cellSyncBurstSIR CellSyncBurstSIR,
+ iE-Extensions ProtocolExtensionContainer { { CellSyncBurstAvailable-CellSyncReprtTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellSyncBurstAvailable-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD ::= SEQUENCE (SIZE (0..maxNrOfSyncFramesLCR)) OF SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD
+-- Mandatory for 1.28Mcps TDD. Not Applicable to 3.84Mcps TDD.
+
+SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD ::= SEQUENCE {
+ sFN SFN,
+ syncDLCodeIdInfo-CellSyncReprtTDD SyncDLCodeIdInfo-CellSyncReprtTDD,
+ iE-Extensions ProtocolExtensionContainer { { SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SyncDLCodeIdInfo-CellSyncReprtTDD ::= SEQUENCE (SIZE (1..maxNrOfReceptionsperSyncFrameLCR)) OF SyncDLCodeIdItem-CellSyncReprtTDD
+
+SyncDLCodeIdItem-CellSyncReprtTDD ::= CHOICE {
+ syncDLCodeIdAvailable SyncDLCodeIdAvailable-CellSyncReprtTDD,
+ syncDLCodeIDNotAvailable NULL,
+ ...
+}
+
+SyncDLCodeIdAvailable-CellSyncReprtTDD ::= SEQUENCE {
+ syncDLCodeIdTiming CellSyncBurstTimingLCR,
+ syncDLCodeIdSIR CellSyncBurstSIR,
+ iE-Extensions ProtocolExtensionContainer { { SyncDLCodeIdAvailable-CellSyncReprtTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SyncDLCodeIdAvailable-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- BEARER REARRANGEMENT INDICATION
+--
+-- **************************************************************
+
+BearerRearrangementIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{BearerRearrangementIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{BearerRearrangementIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+BearerRearrangementIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-SignallingBearerRequestIndicator CRITICALITY ignore TYPE SignallingBearerRequestIndicator PRESENCE optional } |
+ { ID id-DCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE DCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional } |
+ { ID id-DSCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE DSCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional } |
+ -- TDD only.
+ { ID id-USCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE USCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional } |
+ -- TDD only.
+ { ID id-HSDSCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE HSDSCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional },
+ ...
+}
+
+BearerRearrangementIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore EXTENSION E-DCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional },
+ ...
+}
+
+DCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-RearrangeItem-Bearer-RearrangeInd
+
+DCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DSCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-RearrangeItem-Bearer-RearrangeInd
+
+DSCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
+ dSCH-ID DSCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { DSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+USCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-RearrangeItem-Bearer-RearrangeInd
+
+USCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { USCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-RearrangeItem-Bearer-RearrangeInd
+
+HSDSCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
+ hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1.. maxNrOfEDCHMACdFlows)) OF E-DCH-RearrangeItem-Bearer-RearrangeInd
+
+E-DCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
+ e-DCH-MACdFlow-ID E-DCH-MACdFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-EDCH-Cell-Information-Bearer-Rearrangement CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Bearer-Rearrangement-List PRESENCE optional },
+ ...
+}
+
+Additional-EDCH-Cell-Information-Bearer-Rearrangement-List ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Cell-Information-Bearer-Rearrangement-ItemIEs
+
+Additional-EDCH-Cell-Information-Bearer-Rearrangement-ItemIEs ::= SEQUENCE {
+ transport-Bearer-Rearrangement-Indicator-for-Additional-EDCH-Separate-Mode Transport-Bearer-Rearrangement-Indicator-for-Additional-EDCH-Separate-Mode,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-Bearer-Rearrangement-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-Bearer-Rearrangement-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transport-Bearer-Rearrangement-Indicator-for-Additional-EDCH-Separate-Mode
+ ::= ENUMERATED {
+ bearer-for-primary-carrier,
+ bearer-for-secondary-carrier,
+ bearers-for-both-primary-and-secondary-carriers,
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ACTIVATION COMMAND FDD
+--
+-- **************************************************************
+
+RadioLinkActivationCommandFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkActivationCommandFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkActivationCommandFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkActivationCommandFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-DelayedActivationList-RL-ActivationCmdFDD CRITICALITY ignore TYPE DelayedActivationInformationList-RL-ActivationCmdFDD PRESENCE mandatory },
+ ...
+}
+
+RadioLinkActivationCommandFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DelayedActivationInformationList-RL-ActivationCmdFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {
+ { DelayedActivationInformation-RL-ActivationCmdFDD-IEs} }
+
+DelayedActivationInformation-RL-ActivationCmdFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-DelayedActivationInformation-RL-ActivationCmdFDD CRITICALITY ignore TYPE DelayedActivationInformation-RL-ActivationCmdFDD PRESENCE optional }
+}
+
+DelayedActivationInformation-RL-ActivationCmdFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ delayed-activation-update DelayedActivationUpdate,
+ iE-Extensions ProtocolExtensionContainer { { DelayedActivationInformation-RL-ActivationCmdFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DelayedActivationInformation-RL-ActivationCmdFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ACTIVATION COMMAND TDD
+--
+-- **************************************************************
+
+RadioLinkActivationCommandTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkActivationCommandTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkActivationCommandTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkActivationCommandTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-DelayedActivationList-RL-ActivationCmdTDD CRITICALITY ignore TYPE DelayedActivationInformationList-RL-ActivationCmdTDD PRESENCE mandatory },
+ ...
+}
+
+RadioLinkActivationCommandTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DelayedActivationInformationList-RL-ActivationCmdTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {
+ { DelayedActivationInformation-RL-ActivationCmdTDD-IEs} }
+
+DelayedActivationInformation-RL-ActivationCmdTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-DelayedActivationInformation-RL-ActivationCmdTDD CRITICALITY ignore TYPE DelayedActivationInformation-RL-ActivationCmdTDD PRESENCE optional }
+}
+
+DelayedActivationInformation-RL-ActivationCmdTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ delayed-activation-update DelayedActivationUpdate,
+ iE-Extensions ProtocolExtensionContainer { { DelayedActivationInformation-RL-ActivationCmdTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DelayedActivationInformation-RL-ActivationCmdTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK PARAMETER UPDATE INDICATION FDD
+--
+-- **************************************************************
+
+RadioLinkParameterUpdateIndicationFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkParameterUpdateIndicationFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkParameterUpdateIndicationFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkParameterUpdateIndicationFDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-HSDSCH-FDD-Update-Information CRITICALITY ignore TYPE HSDSCH-FDD-Update-Information PRESENCE optional },
+ ...
+}
+
+RadioLinkParameterUpdateIndicationFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-FDD-Update-Information CRITICALITY ignore EXTENSION E-DCH-FDD-Update-Information PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-RL-Param-Upd CRITICALITY ignore EXTENSION Additional-HS-Cell-Information-RL-Param-Upd PRESENCE optional }|
+ { ID id-Additional-EDCH-Cell-Information-RL-Param-Upd CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-RL-Param-Upd PRESENCE optional },
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Param-Upd ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Param-Upd-ItemIEs
+
+Additional-HS-Cell-Information-RL-Param-Upd-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ hS-DSCH-FDD-Secondary-Serving-Update-Information HS-DSCH-FDD-Secondary-Serving-Update-Information,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Setup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Setup-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+Additional-EDCH-Cell-Information-RL-Param-Upd ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Cell-Information-RL-Param-Upd-ItemIEs
+
+Additional-EDCH-Cell-Information-RL-Param-Upd-ItemIEs ::=SEQUENCE{
+ additional-EDCH-FDD-Update-Information Additional-EDCH-FDD-Update-Information,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-RL-Param-Upd-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Param-Upd-ItemIEs-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK PARAMETER UPDATE INDICATION TDD
+--
+-- **************************************************************
+
+RadioLinkParameterUpdateIndicationTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkParameterUpdateIndicationTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkParameterUpdateIndicationTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkParameterUpdateIndicationTDD-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
+ { ID id-HSDSCH-TDD-Update-Information CRITICALITY ignore TYPE HSDSCH-TDD-Update-Information PRESENCE optional },
+ ...
+}
+
+RadioLinkParameterUpdateIndicationTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS NOTIFICATION UPDATE COMMAND
+--
+-- **************************************************************
+
+MBMSNotificationUpdateCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MBMSNotificationUpdateCommand-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ MBMSNotificationUpdateCommand-Extensions}} OPTIONAL,
+ ...
+}
+
+MBMSNotificationUpdateCommand-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory }|
+ { ID id-CommonPhysicalChannelID CRITICALITY ignore TYPE CommonPhysicalChannelID PRESENCE mandatory }|
+ { ID id-Modification-Period CRITICALITY ignore TYPE Modification-Period PRESENCE optional }|
+ { ID id-MICH-CFN CRITICALITY ignore TYPE MICH-CFN PRESENCE mandatory }|
+ { ID id-NI-Information-NotifUpdateCmd CRITICALITY ignore TYPE NI-Information PRESENCE mandatory },
+ ...
+}
+
+MBMSNotificationUpdateCommand-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE STATUS UPDATE COMMAND
+--
+-- **************************************************************
+
+UEStatusUpdateCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEStatusUpdateCommand-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UEStatusUpdateCommand-Extensions}} OPTIONAL,
+ ...
+}
+
+UEStatusUpdateCommand-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-Cell-ERNTI-Status-Information CRITICALITY ignore TYPE Cell-ERNTI-Status-Information PRESENCE mandatory },
+ ...
+}
+
+UEStatusUpdateCommand-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SECONDARY UL FREQUENCY REPORT
+--
+-- **************************************************************
+
+SecondaryULFrequencyReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SecondaryULFrequencyReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{SecondaryULFrequencyReport-Extensions}} OPTIONAL,
+ ...
+}
+
+SecondaryULFrequencyReport-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
+ { ID id-ActivationInformation CRITICALITY ignore TYPE ActivationInformation PRESENCE mandatory },
+ ...
+}
+
+SecondaryULFrequencyReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SECONDARY UL FREQUENCY UPDATE INDICATION
+--
+-- **************************************************************
+
+SecondaryULFrequencyUpdateIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SecondaryULFrequencyUpdateIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{SecondaryULFrequencyUpdateIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+
+SecondaryULFrequencyUpdateIndication-IEs NBAP-PROTOCOL-IES ::= {
+ { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
+ { ID id-ActivationInformation CRITICALITY ignore TYPE ActivationInformation PRESENCE mandatory },
+ ...
+}
+
+SecondaryULFrequencyUpdateIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/nbap/NBAP-PDU-Descriptions.asn b/epan/dissectors/asn1/nbap/NBAP-PDU-Descriptions.asn
new file mode 100644
index 00000000..53d3c578
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/NBAP-PDU-Descriptions.asn
@@ -0,0 +1,970 @@
+-- NBAP-PDU-Descriptions.asn
+--
+-- Taken from 3GPP TS 25.433 V9.2.0 (2010-03)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.433/
+--
+-- 9.3.2 Elementary Procedure Definitions
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+NBAP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) nbap (2) version1 (1) nbap-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureID,
+ MessageDiscriminator,
+ TransactionID
+FROM NBAP-CommonDataTypes
+
+ CommonTransportChannelSetupRequestFDD,
+ CommonTransportChannelSetupRequestTDD,
+ CommonTransportChannelSetupResponse,
+ CommonTransportChannelSetupFailure,
+ CommonTransportChannelReconfigurationRequestFDD,
+ CommonTransportChannelReconfigurationRequestTDD,
+ CommonTransportChannelReconfigurationResponse,
+ CommonTransportChannelReconfigurationFailure,
+ CommonTransportChannelDeletionRequest,
+ CommonTransportChannelDeletionResponse,
+ BlockResourceRequest,
+ BlockResourceResponse,
+ BlockResourceFailure,
+ UnblockResourceIndication,
+ AuditFailure,
+ AuditRequiredIndication,
+ AuditRequest,
+ AuditResponse,
+ CommonMeasurementInitiationRequest,
+ CommonMeasurementInitiationResponse,
+ CommonMeasurementInitiationFailure,
+ CommonMeasurementReport,
+ CommonMeasurementTerminationRequest,
+ CommonMeasurementFailureIndication,
+ CellSetupRequestFDD,
+ CellSetupRequestTDD,
+ CellSetupResponse,
+ CellSetupFailure,
+ CellReconfigurationRequestFDD,
+ CellReconfigurationRequestTDD,
+ CellReconfigurationResponse,
+ CellReconfigurationFailure,
+ CellDeletionRequest,
+ CellDeletionResponse,
+ InformationExchangeInitiationRequest,
+ InformationExchangeInitiationResponse,
+ InformationExchangeInitiationFailure,
+ InformationReport,
+ InformationExchangeTerminationRequest,
+ InformationExchangeFailureIndication,
+ BearerRearrangementIndication,
+ ResourceStatusIndication,
+ SystemInformationUpdateRequest,
+ SystemInformationUpdateResponse,
+ SystemInformationUpdateFailure,
+ ResetRequest,
+ ResetResponse,
+ RadioLinkActivationCommandFDD,
+ RadioLinkActivationCommandTDD,
+ RadioLinkPreemptionRequiredIndication,
+ RadioLinkSetupRequestFDD,
+ RadioLinkSetupRequestTDD,
+ RadioLinkSetupResponseFDD,
+ RadioLinkSetupResponseTDD,
+ RadioLinkSetupFailureFDD,
+ RadioLinkSetupFailureTDD,
+ RadioLinkAdditionRequestFDD,
+ RadioLinkAdditionRequestTDD,
+ RadioLinkAdditionResponseFDD,
+ RadioLinkAdditionResponseTDD,
+ RadioLinkAdditionFailureFDD,
+ RadioLinkAdditionFailureTDD,
+ RadioLinkParameterUpdateIndicationFDD,
+ RadioLinkParameterUpdateIndicationTDD,
+ RadioLinkReconfigurationPrepareFDD,
+ RadioLinkReconfigurationPrepareTDD,
+ RadioLinkReconfigurationReady,
+ RadioLinkReconfigurationFailure,
+ RadioLinkReconfigurationCommit,
+ RadioLinkReconfigurationCancel,
+ RadioLinkReconfigurationRequestFDD,
+ RadioLinkReconfigurationRequestTDD,
+ RadioLinkReconfigurationResponse,
+ RadioLinkDeletionRequest,
+ RadioLinkDeletionResponse,
+ DL-PowerControlRequest,
+ DL-PowerTimeslotControlRequest,
+ DedicatedMeasurementInitiationRequest,
+ DedicatedMeasurementInitiationResponse,
+ DedicatedMeasurementInitiationFailure,
+ DedicatedMeasurementReport,
+ DedicatedMeasurementTerminationRequest,
+ DedicatedMeasurementFailureIndication,
+ RadioLinkFailureIndication,
+ RadioLinkRestoreIndication,
+ CompressedModeCommand,
+ ErrorIndication,
+ PrivateMessage,
+ PhysicalSharedChannelReconfigurationRequestTDD,
+ PhysicalSharedChannelReconfigurationRequestFDD,
+ PhysicalSharedChannelReconfigurationResponse,
+ PhysicalSharedChannelReconfigurationFailure,
+ CellSynchronisationInitiationRequestTDD,
+ CellSynchronisationInitiationResponseTDD,
+ CellSynchronisationInitiationFailureTDD,
+ CellSynchronisationReconfigurationRequestTDD,
+ CellSynchronisationReconfigurationResponseTDD,
+ CellSynchronisationReconfigurationFailureTDD,
+ CellSynchronisationAdjustmentRequestTDD,
+ CellSynchronisationAdjustmentResponseTDD,
+ CellSynchronisationAdjustmentFailureTDD,
+ CellSynchronisationReportTDD,
+ CellSynchronisationTerminationRequestTDD,
+ CellSynchronisationFailureIndicationTDD,
+ MBMSNotificationUpdateCommand,
+ UEStatusUpdateCommand,
+ SecondaryULFrequencyReport,
+ SecondaryULFrequencyUpdateIndication
+
+FROM NBAP-PDU-Contents
+
+ id-audit,
+ id-auditRequired,
+ id-blockResource,
+ id-cellDeletion,
+ id-cellReconfiguration,
+ id-cellSetup,
+ id-cellSynchronisationInitiation,
+ id-cellSynchronisationReconfiguration,
+ id-cellSynchronisationReporting,
+ id-cellSynchronisationTermination,
+ id-cellSynchronisationFailure,
+ id-commonMeasurementFailure,
+ id-commonMeasurementInitiation,
+ id-commonMeasurementReport,
+ id-commonMeasurementTermination,
+ id-commonTransportChannelDelete,
+ id-commonTransportChannelReconfigure,
+ id-commonTransportChannelSetup,
+ id-compressedModeCommand,
+ id-dedicatedMeasurementFailure,
+ id-dedicatedMeasurementInitiation,
+ id-dedicatedMeasurementReport,
+ id-dedicatedMeasurementTermination,
+ id-downlinkPowerControl,
+ id-downlinkPowerTimeslotControl,
+ id-errorIndicationForDedicated,
+ id-errorIndicationForCommon,
+ id-informationExchangeFailure,
+ id-informationExchangeInitiation,
+ id-informationReporting,
+ id-informationExchangeTermination,
+ id-BearerRearrangement,
+ id-mBMSNotificationUpdate,
+ id-physicalSharedChannelReconfiguration,
+ id-privateMessageForDedicated,
+ id-privateMessageForCommon,
+ id-radioLinkActivation,
+ id-radioLinkAddition,
+ id-radioLinkDeletion,
+ id-radioLinkFailure,
+ id-radioLinkParameterUpdate,
+ id-radioLinkPreemption,
+ id-radioLinkRestoration,
+ id-radioLinkSetup,
+ id-reset,
+ id-resourceStatusIndication,
+ id-cellSynchronisationAdjustment,
+ id-synchronisedRadioLinkReconfigurationCancellation,
+ id-synchronisedRadioLinkReconfigurationCommit,
+ id-synchronisedRadioLinkReconfigurationPreparation,
+ id-systemInformationUpdate,
+ id-unblockResource,
+ id-unSynchronisedRadioLinkReconfiguration,
+ id-uEStatusUpdate,
+ id-secondaryULFrequencyReporting,
+ id-secondaryULFrequencyUpdate
+
+FROM NBAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+NBAP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &Outcome OPTIONAL,
+ &messageDiscriminator MessageDiscriminator,
+ &procedureID ProcedureID UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ [OUTCOME &Outcome]
+ MESSAGE DISCRIMINATOR &messageDiscriminator
+ PROCEDURE ID &procedureID
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+NBAP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ succesfulOutcome SuccessfulOutcome,
+ unsuccesfulOutcome UnsuccessfulOutcome,
+ outcome Outcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
+ criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ transactionID TransactionID,
+ value NBAP-ELEMENTARY-PROCEDURE.&InitiatingMessage({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
+ criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ transactionID TransactionID,
+ value NBAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
+ criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ transactionID TransactionID,
+ value NBAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
+}
+
+Outcome ::= SEQUENCE {
+ procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
+ criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ transactionID TransactionID,
+ value NBAP-ELEMENTARY-PROCEDURE.&Outcome ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+NBAP-ELEMENTARY-PROCEDURES NBAP-ELEMENTARY-PROCEDURE ::= {
+ NBAP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ NBAP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+NBAP-ELEMENTARY-PROCEDURES-CLASS-1 NBAP-ELEMENTARY-PROCEDURE ::= {
+ cellSetupFDD |
+ cellSetupTDD |
+ cellReconfigurationFDD |
+ cellReconfigurationTDD |
+ cellDeletion |
+ commonTransportChannelSetupFDD |
+ commonTransportChannelSetupTDD |
+ commonTransportChannelReconfigureFDD |
+ commonTransportChannelReconfigureTDD |
+ commonTransportChannelDelete |
+ audit |
+ blockResource |
+ radioLinkSetupFDD |
+ radioLinkSetupTDD |
+ systemInformationUpdate |
+ commonMeasurementInitiation |
+ radioLinkAdditionFDD |
+ radioLinkAdditionTDD |
+ radioLinkDeletion |
+ reset |
+ synchronisedRadioLinkReconfigurationPreparationFDD |
+ synchronisedRadioLinkReconfigurationPreparationTDD |
+ unSynchronisedRadioLinkReconfigurationFDD |
+ unSynchronisedRadioLinkReconfigurationTDD |
+ dedicatedMeasurementInitiation |
+ physicalSharedChannelReconfigurationTDD ,
+ ...,
+ informationExchangeInitiation |
+ cellSynchronisationInitiationTDD |
+ cellSynchronisationReconfigurationTDD |
+ cellSynchronisationAdjustmentTDD |
+ physicalSharedChannelReconfigurationFDD
+}
+
+NBAP-ELEMENTARY-PROCEDURES-CLASS-2 NBAP-ELEMENTARY-PROCEDURE ::= {
+ resourceStatusIndication |
+ auditRequired |
+ commonMeasurementReport |
+ commonMeasurementTermination |
+ commonMeasurementFailure |
+ synchronisedRadioLinkReconfigurationCommit |
+ synchronisedRadioLinkReconfigurationCancellation |
+ radioLinkFailure |
+ radioLinkPreemption |
+ radioLinkRestoration |
+ dedicatedMeasurementReport |
+ dedicatedMeasurementTermination |
+ dedicatedMeasurementFailure |
+ downlinkPowerControlFDD |
+ downlinkPowerTimeslotControl |
+ compressedModeCommand |
+ unblockResource |
+ errorIndicationForDedicated |
+ errorIndicationForCommon |
+ privateMessageForDedicated |
+ privateMessageForCommon ,
+ ...,
+ informationReporting |
+ informationExchangeTermination |
+ informationExchangeFailure |
+ cellSynchronisationReportingTDD |
+ cellSynchronisationTerminationTDD |
+ cellSynchronisationFailureTDD |
+ bearerRearrangement |
+ radioLinkActivationFDD |
+ radioLinkActivationTDD |
+ radioLinkParameterUpdateFDD |
+ radioLinkParameterUpdateTDD |
+ mBMSNotificationUpdate |
+ uEStatusUpdate |
+ secondaryULFrequencyReportingFDD |
+ secondaryULFrequencyUpdateFDD
+
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+-- Class 1
+
+-- *** CellSetup (FDD) ***
+cellSetupFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellSetupRequestFDD
+ SUCCESSFUL OUTCOME CellSetupResponse
+ UNSUCCESSFUL OUTCOME CellSetupFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellSetup, ddMode fdd }
+ CRITICALITY reject
+}
+
+-- *** CellSetup (TDD) ***
+cellSetupTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellSetupRequestTDD
+ SUCCESSFUL OUTCOME CellSetupResponse
+ UNSUCCESSFUL OUTCOME CellSetupFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellSetup, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** CellReconfiguration(FDD) ***
+cellReconfigurationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellReconfigurationRequestFDD
+ SUCCESSFUL OUTCOME CellReconfigurationResponse
+ UNSUCCESSFUL OUTCOME CellReconfigurationFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellReconfiguration, ddMode fdd }
+ CRITICALITY reject
+}
+
+-- *** CellReconfiguration(TDD) ***
+cellReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellReconfigurationRequestTDD
+ SUCCESSFUL OUTCOME CellReconfigurationResponse
+ UNSUCCESSFUL OUTCOME CellReconfigurationFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellReconfiguration, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** CellDeletion ***
+cellDeletion NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellDeletionRequest
+ SUCCESSFUL OUTCOME CellDeletionResponse
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellDeletion, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** CommonTransportChannelSetup (FDD) ***
+commonTransportChannelSetupFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonTransportChannelSetupRequestFDD
+ SUCCESSFUL OUTCOME CommonTransportChannelSetupResponse
+ UNSUCCESSFUL OUTCOME CommonTransportChannelSetupFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-commonTransportChannelSetup, ddMode fdd }
+ CRITICALITY reject
+}
+
+-- *** CommonTransportChannelSetup (TDD) ***
+commonTransportChannelSetupTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonTransportChannelSetupRequestTDD
+ SUCCESSFUL OUTCOME CommonTransportChannelSetupResponse
+ UNSUCCESSFUL OUTCOME CommonTransportChannelSetupFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-commonTransportChannelSetup, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** CommonTransportChannelReconfigure (FDD) ***
+commonTransportChannelReconfigureFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonTransportChannelReconfigurationRequestFDD
+ SUCCESSFUL OUTCOME CommonTransportChannelReconfigurationResponse
+ UNSUCCESSFUL OUTCOME CommonTransportChannelReconfigurationFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-commonTransportChannelReconfigure, ddMode fdd }
+ CRITICALITY reject
+}
+
+-- *** CommonTransportChannelReconfigure (TDD) ***
+commonTransportChannelReconfigureTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonTransportChannelReconfigurationRequestTDD
+ SUCCESSFUL OUTCOME CommonTransportChannelReconfigurationResponse
+ UNSUCCESSFUL OUTCOME CommonTransportChannelReconfigurationFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-commonTransportChannelReconfigure, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** CommonTransportChannelDelete ***
+commonTransportChannelDelete NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonTransportChannelDeletionRequest
+ SUCCESSFUL OUTCOME CommonTransportChannelDeletionResponse
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-commonTransportChannelDelete, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** Audit ***
+audit NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AuditRequest
+ SUCCESSFUL OUTCOME AuditResponse
+ UNSUCCESSFUL OUTCOME AuditFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-audit, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** BlockResourceRequest ***
+blockResource NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BlockResourceRequest
+ SUCCESSFUL OUTCOME BlockResourceResponse
+ UNSUCCESSFUL OUTCOME BlockResourceFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-blockResource, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** RadioLinkSetup (FDD) ***
+radioLinkSetupFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkSetupRequestFDD
+ SUCCESSFUL OUTCOME RadioLinkSetupResponseFDD
+ UNSUCCESSFUL OUTCOME RadioLinkSetupFailureFDD
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-radioLinkSetup, ddMode fdd }
+ CRITICALITY reject
+}
+
+-- *** RadioLinkSetup (TDD) ***
+radioLinkSetupTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkSetupRequestTDD
+ SUCCESSFUL OUTCOME RadioLinkSetupResponseTDD
+ UNSUCCESSFUL OUTCOME RadioLinkSetupFailureTDD
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-radioLinkSetup, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** SystemInformationUpdate ***
+systemInformationUpdate NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SystemInformationUpdateRequest
+ SUCCESSFUL OUTCOME SystemInformationUpdateResponse
+ UNSUCCESSFUL OUTCOME SystemInformationUpdateFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-systemInformationUpdate, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** Reset ***
+reset NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResetRequest
+ SUCCESSFUL OUTCOME ResetResponse
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-reset, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** CommonMeasurementInitiation ***
+commonMeasurementInitiation NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonMeasurementInitiationRequest
+ SUCCESSFUL OUTCOME CommonMeasurementInitiationResponse
+ UNSUCCESSFUL OUTCOME CommonMeasurementInitiationFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-commonMeasurementInitiation, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** RadioLinkAddition (FDD) ***
+radioLinkAdditionFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkAdditionRequestFDD
+ SUCCESSFUL OUTCOME RadioLinkAdditionResponseFDD
+ UNSUCCESSFUL OUTCOME RadioLinkAdditionFailureFDD
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkAddition, ddMode fdd }
+ CRITICALITY reject
+}
+
+-- *** RadioLinkAddition (TDD) ***
+radioLinkAdditionTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkAdditionRequestTDD
+ SUCCESSFUL OUTCOME RadioLinkAdditionResponseTDD
+ UNSUCCESSFUL OUTCOME RadioLinkAdditionFailureTDD
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkAddition, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** RadioLinkDeletion ***
+radioLinkDeletion NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkDeletionRequest
+ SUCCESSFUL OUTCOME RadioLinkDeletionResponse
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkDeletion, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** SynchronisedRadioLinkReconfigurationPreparation (FDD) ***
+synchronisedRadioLinkReconfigurationPreparationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationPrepareFDD
+ SUCCESSFUL OUTCOME RadioLinkReconfigurationReady
+ UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationPreparation, ddMode fdd }
+ CRITICALITY reject
+}
+
+-- *** SynchronisedRadioLinkReconfigurationPreparation (TDD) ***
+synchronisedRadioLinkReconfigurationPreparationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationPrepareTDD
+ SUCCESSFUL OUTCOME RadioLinkReconfigurationReady
+ UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationPreparation, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** UnSynchronisedRadioLinkReconfiguration (FDD) ***
+unSynchronisedRadioLinkReconfigurationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationRequestFDD
+ SUCCESSFUL OUTCOME RadioLinkReconfigurationResponse
+ UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-unSynchronisedRadioLinkReconfiguration, ddMode fdd }
+ CRITICALITY reject
+}
+
+-- *** UnSynchronisedRadioLinkReconfiguration (TDD) ***
+unSynchronisedRadioLinkReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationRequestTDD
+ SUCCESSFUL OUTCOME RadioLinkReconfigurationResponse
+ UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-unSynchronisedRadioLinkReconfiguration, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** DedicatedMeasurementInitiation ***
+dedicatedMeasurementInitiation NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DedicatedMeasurementInitiationRequest
+ SUCCESSFUL OUTCOME DedicatedMeasurementInitiationResponse
+ UNSUCCESSFUL OUTCOME DedicatedMeasurementInitiationFailure
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-dedicatedMeasurementInitiation, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** PhysicalSharedChannelReconfiguration (FDD) ***
+physicalSharedChannelReconfigurationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PhysicalSharedChannelReconfigurationRequestFDD
+ SUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationResponse
+ UNSUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-physicalSharedChannelReconfiguration, ddMode fdd }
+ CRITICALITY reject
+}
+
+-- *** PhysicalSharedChannelReconfiguration (TDD) ***
+physicalSharedChannelReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PhysicalSharedChannelReconfigurationRequestTDD
+ SUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationResponse
+ UNSUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-physicalSharedChannelReconfiguration, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** InformationExchangeInitiation ***
+informationExchangeInitiation NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationExchangeInitiationRequest
+ SUCCESSFUL OUTCOME InformationExchangeInitiationResponse
+ UNSUCCESSFUL OUTCOME InformationExchangeInitiationFailure
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-informationExchangeInitiation, ddMode common }
+ CRITICALITY reject
+}
+
+-- *** CellSynchronisationInitiation (TDD only) ***
+cellSynchronisationInitiationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellSynchronisationInitiationRequestTDD
+ SUCCESSFUL OUTCOME CellSynchronisationInitiationResponseTDD
+ UNSUCCESSFUL OUTCOME CellSynchronisationInitiationFailureTDD
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellSynchronisationInitiation, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** CellSynchronisationReconfiguration (TDD only) ***
+cellSynchronisationReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellSynchronisationReconfigurationRequestTDD
+ SUCCESSFUL OUTCOME CellSynchronisationReconfigurationResponseTDD
+ UNSUCCESSFUL OUTCOME CellSynchronisationReconfigurationFailureTDD
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellSynchronisationReconfiguration, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- *** CellSynchronisationAdjustment (TDD only) ***
+cellSynchronisationAdjustmentTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellSynchronisationAdjustmentRequestTDD
+ SUCCESSFUL OUTCOME CellSynchronisationAdjustmentResponseTDD
+ UNSUCCESSFUL OUTCOME CellSynchronisationAdjustmentFailureTDD
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellSynchronisationAdjustment, ddMode tdd }
+ CRITICALITY reject
+}
+
+-- Class 2
+
+-- *** ResourceStatusIndication ***
+resourceStatusIndication NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResourceStatusIndication
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-resourceStatusIndication, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** AuditRequired ***
+auditRequired NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AuditRequiredIndication
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-auditRequired, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** CommonMeasurementReport ***
+commonMeasurementReport NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonMeasurementReport
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-commonMeasurementReport, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** CommonMeasurementTermination ***
+commonMeasurementTermination NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonMeasurementTerminationRequest
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-commonMeasurementTermination, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** CommonMeasurementFailure ***
+commonMeasurementFailure NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonMeasurementFailureIndication
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-commonMeasurementFailure, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** SynchronisedRadioLinkReconfigurationCommit ***
+synchronisedRadioLinkReconfigurationCommit NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationCommit
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationCommit, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** SynchronisedRadioReconfigurationCancellation ***
+synchronisedRadioLinkReconfigurationCancellation NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationCancel
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationCancellation, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** RadioLinkFailure ***
+radioLinkFailure NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkFailureIndication
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkFailure, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** RadioLinkPreemption ***
+radioLinkPreemption NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkPreemptionRequiredIndication
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkPreemption, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** RadioLinkRestoration ***
+radioLinkRestoration NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkRestoreIndication
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkRestoration, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** DedicatedMeasurementReport ***
+dedicatedMeasurementReport NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DedicatedMeasurementReport
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-dedicatedMeasurementReport, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** DedicatedMeasurementTermination ***
+dedicatedMeasurementTermination NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DedicatedMeasurementTerminationRequest
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-dedicatedMeasurementTermination, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** DedicatedMeasurementFailure ***
+dedicatedMeasurementFailure NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DedicatedMeasurementFailureIndication
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-dedicatedMeasurementFailure, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** DLPowerControl (FDD only) ***
+downlinkPowerControlFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DL-PowerControlRequest
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-downlinkPowerControl, ddMode fdd }
+ CRITICALITY ignore
+}
+
+-- *** DLPowerTimeslotControl (TDD only) ***
+downlinkPowerTimeslotControl NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DL-PowerTimeslotControlRequest
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-downlinkPowerTimeslotControl, ddMode tdd }
+ CRITICALITY ignore
+}
+
+-- *** CompressedModeCommand (FDD only) ***
+compressedModeCommand NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CompressedModeCommand
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-compressedModeCommand, ddMode fdd }
+ CRITICALITY ignore
+}
+
+-- *** UnblockResourceIndication ***
+unblockResource NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UnblockResourceIndication
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-unblockResource, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** ErrorIndication for Dedicated procedures ***
+errorIndicationForDedicated NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-errorIndicationForDedicated, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** ErrorIndication for Common procedures ***
+errorIndicationForCommon NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-errorIndicationForCommon, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** CellSynchronisationReporting (TDD only) ***
+cellSynchronisationReportingTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellSynchronisationReportTDD
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellSynchronisationReporting, ddMode tdd }
+ CRITICALITY ignore
+}
+
+-- *** CellSynchronisationTermination (TDD only) ***
+cellSynchronisationTerminationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellSynchronisationTerminationRequestTDD
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellSynchronisationTermination, ddMode tdd }
+ CRITICALITY ignore
+}
+
+-- *** CellSynchronisationFailure (TDD only) ***
+cellSynchronisationFailureTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellSynchronisationFailureIndicationTDD
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-cellSynchronisationFailure, ddMode tdd }
+ CRITICALITY ignore
+}
+
+-- *** PrivateMessage for Dedicated procedures ***
+privateMessageForDedicated NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-privateMessageForDedicated, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** PrivateMessage for Common procedures ***
+privateMessageForCommon NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-privateMessageForCommon, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** InformationReporting ***
+informationReporting NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationReport
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-informationReporting, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** InformationExchangeTermination ***
+informationExchangeTermination NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationExchangeTerminationRequest
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-informationExchangeTermination, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** InformationExchangeFailure ***
+informationExchangeFailure NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationExchangeFailureIndication
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-informationExchangeFailure, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** BearerRearrangement ***
+bearerRearrangement NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BearerRearrangementIndication
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-BearerRearrangement, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** RadioLinkActivation (FDD) ***
+radioLinkActivationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkActivationCommandFDD
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkActivation, ddMode fdd }
+ CRITICALITY ignore
+}
+
+-- *** RadioLinkActivation (TDD) ***
+radioLinkActivationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkActivationCommandTDD
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkActivation, ddMode tdd }
+ CRITICALITY ignore
+}
+
+-- *** RadioLinkParameterUpdate (FDD) ***
+radioLinkParameterUpdateFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkParameterUpdateIndicationFDD
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkParameterUpdate, ddMode fdd }
+ CRITICALITY ignore
+}
+
+-- *** RadioLinkParameterUpdate (TDD) ***
+radioLinkParameterUpdateTDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkParameterUpdateIndicationTDD
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-radioLinkParameterUpdate, ddMode tdd }
+ CRITICALITY ignore
+}
+
+-- *** MBMSNotificationUpdate ***
+mBMSNotificationUpdate NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSNotificationUpdateCommand
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-mBMSNotificationUpdate, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** UEStatusUpdate ***
+uEStatusUpdate NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEStatusUpdateCommand
+ MESSAGE DISCRIMINATOR common
+ PROCEDURE ID { procedureCode id-uEStatusUpdate, ddMode common }
+ CRITICALITY ignore
+}
+
+-- *** SecondaryULFrequencyReporting (FDD) ***
+secondaryULFrequencyReportingFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SecondaryULFrequencyReport
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-secondaryULFrequencyReporting, ddMode fdd }
+ CRITICALITY ignore
+}
+
+-- ***secondaryULFrequencyUpdate (FDD)
+secondaryULFrequencyUpdateFDD NBAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SecondaryULFrequencyUpdateIndication
+ MESSAGE DISCRIMINATOR dedicated
+ PROCEDURE ID { procedureCode id-secondaryULFrequencyUpdate, ddMode fdd }
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/nbap/nbap.cnf b/epan/dissectors/asn1/nbap/nbap.cnf
new file mode 100644
index 00000000..c4f4dcbc
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/nbap.cnf
@@ -0,0 +1,3621 @@
+# nbap.cnf
+# nbap conformation file
+# Copyright 2005 - 2012 Anders Broman
+# Modified 2012 by Jacob Nordgren <jacob.nordgren@ericsson.com> and
+# Rishie Sharma <rishie.sharma@ericsson.com>
+# Modified 2017 by S. Shapira <sswsdev@gmail.com>
+#.OPT
+
+PER
+ALIGNED
+#.END
+
+#.PDU
+NBAP-PDU
+
+#.MAKE_DEFINES
+ProcedureCode
+
+#.MAKE_ENUM
+ProtocolIE-ID
+ProcedureID/ddMode
+
+#.USE_VALS_EXT
+ProtocolIE-ID
+CommonMeasurementType
+E-AGCH-UE-Inactivity-Monitor-Threshold
+DedicatedMeasurementType
+E-DCH-MACdFlow-Retransmission-Timer
+MeasurementFilterCoefficient
+TDD-ChannelisationCode
+TDD-ChannelisationCode768
+Process-Memory-Size
+DiscardTimer
+
+#.TYPE_RENAME
+ProcedureID/ddMode DdMode
+
+ProtocolIE-Field/value ProtocolIE_Field_value
+PrivateIE-Field/value PrivateIE_Field_value
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+Outcome/value Outcome_value
+
+MidambleShiftAndBurstType/type1 Type1
+MidambleShiftAndBurstType768/type1 Type7681
+MidambleShiftAndBurstType/type2 Type2
+MidambleShiftAndBurstType768/type2 Type7682
+MidambleShiftAndBurstType/type3 Type3
+MidambleShiftAndBurstType768/type3 Type7683
+
+MidambleShiftAndBurstType/type1/midambleAllocationMode MidambleAllocationMode1
+MidambleShiftAndBurstType/type2/midambleAllocationMode MidambleAllocationMode2
+MidambleShiftAndBurstType/type3/midambleAllocationMode MidambleAllocationMode3
+MidambleShiftAndBurstType768/type1/midambleAllocationMode MidambleAllocationMode7681
+MidambleShiftAndBurstType768/type2/midambleAllocationMode MidambleAllocationMode7682
+MidambleShiftAndBurstType768/type3/midambleAllocationMode MidambleAllocationMode7683
+
+#.FIELD_RENAME
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+Outcome/value outcome_value
+PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst/timeSlot timeSlotLCR
+E-PUCH-Timeslot-Item-InfoLCR/timeSlot timeSlotLCR
+
+CellSyncBurstTiming/initialPhase initialPhase_0_1048575
+GANSS-GenericDataInfoReqItem/ganss-Real-Time-Integrity gANSS-GenericDataInfoReqItem_ganss-Real-Time-Integrity
+
+#.FIELD_ATTR
+GANSS-GenericDataInfoReqItem/ganss-Real-Time-Integrity ABBREV=gANSS-GenericDataInfoReqItem.ganss-Real-Time-Integrity
+
+#.OMIT_ASSIGNMENT
+Presence
+ProtocolIE-FieldPair
+ProtocolIE-ContainerList
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+#.END
+
+#.FN_BODY ProtocolIE-ID VAL_PTR = &protocol_ie_id
+ guint32 protocol_ie_id;
+%(DEFAULT_BODY)s
+ nbap_get_private_data(actx->pinfo)->protocol_ie_id = protocol_ie_id; /* To carry around the packet */
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %%s", val_to_str_ext(protocol_ie_id, &nbap_ProtocolIE_ID_vals_ext, "unknown (%%d)"));
+ }
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_BODY ProcedureCode VAL_PTR = &procedure_code
+ guint32 procedure_code;
+%(DEFAULT_BODY)s
+ nbap_get_private_data(actx->pinfo)->procedure_code = procedure_code;
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%%s ",
+ val_to_str(procedure_code, nbap_ProcedureCode_vals,
+ "unknown message"));
+
+#.FN_PARS ProcedureID/ddMode VAL_PTR = &nbap_get_private_data(actx->pinfo)->dd_mode
+
+#.FN_BODY ProcedureID
+ ProcedureID = NULL;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ ProcedureID = wmem_strdup_printf(actx->pinfo->pool, "%%s/%%s",
+ val_to_str(nbap_private_data->procedure_code, VALS(nbap_ProcedureCode_vals), "unknown(%%u)"),
+ val_to_str(nbap_private_data->dd_mode, VALS(nbap_DdMode_vals), "unknown(%%u)"));
+ nbap_private_data->crnc_context_present = FALSE; /*Reset CRNC Com context present flag.*/
+
+#.FN_PARS TransactionID/shortTransActionId VAL_PTR = &nbap_get_private_data(actx->pinfo)->transaction_id
+
+#.FN_PARS TransactionID/longTransActionId VAL_PTR = &nbap_get_private_data(actx->pinfo)->transaction_id
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+#------ Pretify info column -----
+# CellSetupRequestFDD
+#.FN_HDR CellSetupRequestFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CellSetupRequest(FDD) ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# CellSetupResponse
+#.FN_HDR CellSetupResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CellSetupResponse ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# CellSetupFailure
+#.FN_HDR CellSetupFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CellSetupFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# CellSetupRequestTDD
+
+# CellReconfigurationRequestFDD
+# CellReconfigurationResponse
+# CellReconfigurationFailure
+# CellReconfigurationRequestTDD
+# CellReconfigurationResponse
+# CellReconfigurationFailure
+# CellDeletionRequest
+# CellDeletionResponse
+# CommonTransportChannelSetupRequestFDD
+#.FN_HDR CommonTransportChannelSetupRequestFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonTransportChannelSetupRequest(FDD) ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# CommonTransportChannelSetupResponse
+#.FN_HDR CommonTransportChannelSetupResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonTransportChannelSetupResponse ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# CommonTransportChannelSetupFailure
+#.FN_HDR CommonTransportChannelSetupFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonTransportChannelSetupFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# CommonTransportChannelSetupRequestTDD
+# CommonTransportChannelSetupResponse
+# CommonTransportChannelSetupFailure
+# CommonTransportChannel-InformationResponse
+# CommonTransportChannel-InformationResponse
+#.FN_BODY CommonTransportChannel-InformationResponse
+address dst_addr;
+nbap_setup_conv_t *request_conv;
+conversation_t *conv;
+guint32 transportLayerAddress_ipv4;
+guint16 bindingID;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+
+nbap_debug("Frame %%u CommonTransportChannel-InformationResponse Start", actx->pinfo->num);
+
+nbap_private_data->transportLayerAddress_ipv4 = 0;
+nbap_private_data->binding_id_port = 0;
+
+%(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ request_conv = find_setup_conv(actx->pinfo, nbap_private_data->transaction_id,nbap_private_data->dd_mode,nbap_private_data->common_transport_channel_id);
+
+ if(request_conv == NULL){
+ return offset;
+ }
+
+ conv = request_conv->conv;
+ conversation_set_addr2(conv, &dst_addr);
+ conversation_set_port2(conv, bindingID);
+
+ delete_setup_conv(request_conv);
+ nbap_debug(" Frame %%u conversation setup frame: %%u %%s:%%u -> %%s:%%u", actx->pinfo->num, conv->setup_frame,
+ address_to_str(actx->pinfo->pool, &conv->key_ptr->addr1), conv->key_ptr->port1,
+ address_to_str(actx->pinfo->pool, &conv->key_ptr->addr2), conv->key_ptr->port2);
+
+ nbap_debug("Frame %%u CommonTransportChannel-InformationResponse End", actx->pinfo->num);
+
+# CommonTransportChannelReconfigurationRequestFDD
+# CommonTransportChannelReconfigurationResponse
+# CommonTransportChannelReconfigurationFailure
+# CommonTransportChannelReconfigurationRequestTDD
+# CommonTransportChannelReconfigurationResponse
+# CommonTransportChannelReconfigurationFailure
+# CommonTransportChannelDeletionRequest
+# CommonTransportChannelDeletionResponse
+
+# AuditRequest
+#.FN_HDR AuditRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"AuditRequest ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# AuditResponse
+#.FN_HDR AuditResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"AuditResponse ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# AuditFailure
+#.FN_HDR AuditFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"AuditFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# BlockResourceRequest
+# BlockResourceResponse
+# BlockResourceFailure
+
+# RadioLinkSetupRequestFDD
+#.FN_HDR RadioLinkSetupRequestFDD
+
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupRequest(FDD) ");
+ /* CRNC -> Node B */
+ actx->pinfo->link_dir=P2P_DIR_DL;
+
+# RadioLinkSetupResponseFDD
+#.FN_HDR RadioLinkSetupResponseFDD
+
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupResponse(FDD) ");
+ /* Node B -> CRNC */
+ actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkSetupFailureFDD
+#.FN_HDR RadioLinkSetupFailureFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupFailure(FDD) ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkSetupRequestTDD
+# RadioLinkSetupResponseTDD
+# RadioLinkSetupFailureTDD
+
+# SystemInformationUpdateRequest
+#.FN_HDR SystemInformationUpdateRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SystemInformationUpdateRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# SystemInformationUpdateResponse
+#.FN_HDR SystemInformationUpdateResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SystemInformationUpdateResponse ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# SystemInformationUpdateFailure
+#.FN_HDR SystemInformationUpdateFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SystemInformationUpdateFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# ResetRequest
+# ResetResponse
+
+# CommonMeasurementInitiationRequest
+#.FN_HDR CommonMeasurementInitiationRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementInitiationRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# CommonMeasurementInitiationResponse
+#.FN_HDR CommonMeasurementInitiationResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementInitiationResponse ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# CommonMeasurementInitiationFailure
+#.FN_HDR CommonMeasurementInitiationFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementInitiationFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkAdditionRequestFDD
+#.FN_HDR RadioLinkAdditionRequestFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionRequest(FDD) ");
+
+# RadioLinkAdditionResponseFDD
+
+#.FN_HDR RadioLinkAdditionResponseFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionResponse(FDD) ");
+
+# RadioLinkAdditionFailureFDD
+
+#.FN_HDR RadioLinkAdditionFailureFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionRequest(FDD) ");
+
+# RadioLinkAdditionRequestTDD
+# RadioLinkAdditionResponseTDD
+# RadioLinkAdditionFailureTDD
+
+# RadioLinkDeletionRequest
+#.FN_HDR RadioLinkDeletionRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# RadioLinkDeletionResponse
+#.FN_HDR RadioLinkDeletionResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionResponse ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkReconfigurationPrepareFDD
+#.FN_HDR RadioLinkReconfigurationPrepareFDD
+ col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationPrepare(FDD) ");
+ /* CRNC -> Node B */
+ actx->pinfo->link_dir=P2P_DIR_DL;
+
+# RadioLinkReconfigurationReady
+#.FN_HDR RadioLinkReconfigurationReady
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationReady ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkReconfigurationFailure
+#.FN_HDR RadioLinkReconfigurationFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkReconfigurationPrepareTDD
+# RadioLinkReconfigurationReady
+# RadioLinkReconfigurationFailure
+
+# RadioLinkReconfigurationRequestFDD
+#.FN_HDR RadioLinkReconfigurationRequestFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationRequestFDD(FDD) ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# RadioLinkReconfigurationResponse
+#.FN_HDR RadioLinkReconfigurationResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationResponse ");
+
+# RadioLinkReconfigurationFailure
+# RadioLinkReconfigurationRequestTDD
+# RadioLinkReconfigurationResponse
+# RadioLinkReconfigurationFailure
+
+#.FN_HDR RadioLinkReconfigurationFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# DedicatedMeasurementInitiationRequest
+#.FN_HDR DedicatedMeasurementInitiationRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# DedicatedMeasurementInitiationResponse
+#.FN_HDR DedicatedMeasurementInitiationResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationResponse ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# DedicatedMeasurementInitiationFailure
+#.FN_HDR DedicatedMeasurementInitiationFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# PhysicalSharedChannelReconfigurationRequestFDD
+#.FN_HDR PhysicalSharedChannelReconfigurationRequestFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"PhysicalSharedChannelReconfigurationRequest(FDD) ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# PhysicalSharedChannelReconfigurationResponse
+#.FN_HDR PhysicalSharedChannelReconfigurationResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"PhysicalSharedChannelReconfigurationResponse ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# PhysicalSharedChannelReconfigurationFailure
+#.FN_HDR PhysicalSharedChannelReconfigurationFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"PhysicalSharedChannelReconfigurationFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# PhysicalSharedChannelReconfigurationRequestTDD
+# PhysicalSharedChannelReconfigurationResponse
+# PhysicalSharedChannelReconfigurationFailure
+# InformationExchangeInitiationRequest
+# InformationExchangeInitiationResponse
+# InformationExchangeInitiationFailure
+# CellSynchronisationInitiationRequestTDD
+# CellSynchronisationInitiationResponseTDD
+# CellSynchronisationInitiationFailureTDD
+# CellSynchronisationReconfigurationRequestTDD
+# CellSynchronisationReconfigurationResponseTDD
+# CellSynchronisationReconfigurationFailureTDD
+# CellSynchronisationAdjustmentRequestTDD
+# CellSynchronisationAdjustmentResponseTDD
+# CellSynchronisationAdjustmentFailureTDD
+
+# ResourceStatusIndication
+#.FN_HDR ResourceStatusIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"ResourceStatusIndication ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# AuditRequiredIndication
+#.FN_HDR AuditRequiredIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"AuditRequiredIndication ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# CommonMeasurementReport
+#.FN_HDR CommonMeasurementReport
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementReport ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# CommonMeasurementTerminationRequest
+#.FN_HDR CommonMeasurementTerminationRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementTerminationRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# CommonMeasurementFailureIndication
+#.FN_HDR CommonMeasurementFailureIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementFailureIndication ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkReconfigurationCommit
+#.FN_HDR RadioLinkReconfigurationCommit
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationCommit ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# RadioLinkReconfigurationCancel
+#.FN_HDR RadioLinkReconfigurationCancel
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationCancel ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# RadioLinkFailureIndication
+#.FN_HDR RadioLinkFailureIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkFailureIndication ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkPreemptionRequiredIndication
+#.FN_HDR RadioLinkPreemptionRequiredIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkPreemptionRequiredIndication ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkRestoreIndication
+#.FN_HDR RadioLinkRestoreIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkRestoreIndication ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# DedicatedMeasurementReport
+#.FN_HDR DedicatedMeasurementReport
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementReport ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# DedicatedMeasurementTerminationRequest
+#.FN_HDR DedicatedMeasurementTerminationRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementTerminationRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# DedicatedMeasurementFailureIndication
+#.FN_HDR DedicatedMeasurementFailureIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementFailureIndication ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# DL-PowerControlRequest
+#.FN_HDR DL-PowerControlRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DL-PowerControlRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# DL-PowerTimeslotControlRequest
+#.FN_HDR DL-PowerTimeslotControlRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DL-PowerTimeslotControlRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# CompressedModeCommand
+#.FN_HDR CompressedModeCommand
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CompressedModeCommand ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
+# UnblockResourceIndication
+#.FN_HDR UnblockResourceIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"UnblockResourceIndication ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# ErrorIndication
+#.FN_HDR ErrorIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"ErrorIndication ");
+
+# CellSynchronisationReportTDD
+# CellSynchronisationTerminationRequestTDD
+# CellSynchronisationFailureIndicationTDD
+
+# PrivateMessage
+#.FN_HDR PrivateMessage
+col_set_str(actx->pinfo->cinfo, COL_INFO,"PrivateMessage ");
+
+# InformationReport
+# InformationExchangeTerminationRequest
+# InformationExchangeFailureIndication
+# BearerRearrangementIndication
+#.FN_HDR BearerRearrangementIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"BearerRearrangementIndication ");
+
+# RadioLinkActivationCommandFDD
+# RadioLinkActivationCommandTDD
+
+# RadioLinkParameterUpdateIndicationFDD
+#.FN_HDR RadioLinkParameterUpdateIndicationFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkParameterUpdateIndication(FDD) ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# RadioLinkParameterUpdateIndicationTDD
+# MBMSNotificationUpdateCommand
+# UEStatusUpdateCommand
+# SecondaryULFrequencyReport
+# SecondaryULFrequencyUpdateIndication
+
+#.FN_PARS IB-Type VAL_PTR = &nbap_get_private_data(actx->pinfo)->ib_type
+
+#.FN_PARS Segment-Type VAL_PTR = &nbap_get_private_data(actx->pinfo)->segment_type
+
+#.FN_HDR MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst
+ nbap_get_private_data(actx->pinfo)->ib_type = 10; /* not-Used-sIB8 */
+ nbap_get_private_data(actx->pinfo)->segment_type = 0;
+
+#.FN_BODY IB-SG-DATA VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ tvbuff_t *final_tvb=NULL;
+ proto_item *ti;
+ proto_tree *subtree;
+ guint32 segment_type;
+ /* reassembly variables */
+ gboolean is_short = FALSE;
+ guint32 total_bit_size = 0;
+ guint32 total_byte_size = 0;
+ nbap_ib_segment_t* nbap_ib_segment;
+ wmem_list_t *list = NULL;
+ wmem_list_frame_t *curr_frame;
+ guint8 *final_arr;
+ guint8 final_byte_off = 0;
+ guint8 final_bit_off = 0x80;
+ guint8 *source;
+ guint32 bit_length;
+ guint32 byte_off = 0;
+ guint32 bit_off = 0x80;
+ guint32 sources_count;
+ guint8* data;
+ guint32 per_length;
+ guint32 first_off;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+
+ /* compute aligned PER length*/
+ first_off = offset; /* Saving initial offset for the default body */
+ offset = ((offset+7)/8)*8; /* Round to nearest byte */
+ per_length = tvb_get_bits8(tvb, offset, 8);
+ offset += 8;
+ if ((per_length & 0x80) == 0x80) {
+ if ((per_length & 0xc0) == 0x80) {
+ per_length &= 0x3f;
+ per_length <<= 8;
+ per_length += tvb_get_bits8(tvb, offset, 8);
+ offset += 8;
+ } else {
+ per_length = 0;
+ }
+ }
+ offset = first_off;
+
+%(DEFAULT_BODY)s
+
+ if(!parameter_tvb)
+ return offset;
+ segment_type = nbap_private_data->segment_type;
+ switch(segment_type) {
+ case 5: /*complete-SIB */
+ final_tvb = tvb_new_subset_length(parameter_tvb,0,tvb_captured_length(parameter_tvb));
+ break;
+ case 6: /*complete-SIB-short */
+ if(preferences_ib_sg_data_encoding == IB_SG_DATA_ENC_VAR_1) {
+ /* Simply skipping the first byte (containing the length) */
+ final_tvb = tvb_new_subset_length(parameter_tvb, 1, tvb_captured_length(parameter_tvb)-1);
+ }
+ else { /* This is IB_SG_DATA_ENC_VAR_2 */
+ /* No length in tvb, just take everything as is*/
+ final_tvb = tvb_new_subset_length(parameter_tvb, 0, tvb_captured_length(parameter_tvb));
+ }
+ break;
+ default: /* First, subsequent or last */
+ if(preferences_ib_sg_data_encoding == IB_SG_DATA_ENC_VAR_1) {
+ is_short = ( segment_type == 1 || segment_type == 4 ); /* first-short or last-short */
+ nbap_ib_segment = nbap_parse_ib_sg_data_var1(actx->pinfo, parameter_tvb, is_short);
+ if (nbap_ib_segment == NULL ) { /* failed to parse */
+ return offset;
+ }
+ }
+ else { /* This is IB_SG_DATA_ENC_VAR_2 */
+ /* Using the per encoded length */
+ data = (guint8*)tvb_memdup(actx->pinfo->pool, parameter_tvb, 0, (per_length + 7)/8);
+ nbap_ib_segment = wmem_new(actx->pinfo->pool, nbap_ib_segment_t);
+ nbap_ib_segment->bit_length = per_length;
+ nbap_ib_segment->data = data;
+ }
+
+ list = nbap_private_data->ib_segments;
+ if (!list) {
+ if ( segment_type == 0 || segment_type == 1 ) { /* first or first-short */
+ list = wmem_list_new(actx->pinfo->pool);
+ nbap_private_data->ib_segments = list;
+ }
+ else {
+ return offset;
+ }
+ }
+ wmem_list_append(list,(void*)nbap_ib_segment);
+ if ( segment_type <= 2 ) { /* first, first-short or subsequent */
+ return offset;
+ }
+ break;
+ }
+
+ if ( segment_type == 3 || segment_type == 4 ) { /* last or last-short */
+ /* Sum all length of all segments */
+ sources_count = wmem_list_count(list);
+ curr_frame = wmem_list_head(list);
+ for (guint32 src_indx = 0; src_indx < sources_count; src_indx++) {
+ nbap_ib_segment = (nbap_ib_segment_t*)(wmem_list_frame_data(curr_frame));
+ total_bit_size += nbap_ib_segment->bit_length;
+ curr_frame = wmem_list_frame_next(curr_frame);
+ }
+
+ /* Create an array large enough for all segments */
+ total_byte_size = (total_bit_size+7)/8;
+ final_arr = wmem_alloc0_array(actx->pinfo->pool,guint8,total_byte_size);
+
+ /* Reassemble all segment into the final array */
+ curr_frame = wmem_list_head(list);
+ for (guint32 src_indx = 0; src_indx < sources_count; src_indx++) {
+ nbap_ib_segment = (nbap_ib_segment_t*)(wmem_list_frame_data(curr_frame));
+ source = nbap_ib_segment->data;
+ bit_length = nbap_ib_segment->bit_length;
+ byte_off = 0;
+ bit_off = 0x80;
+ for (guint32 i=0;i<bit_length;i++) {
+ if (((*(source+byte_off)) & bit_off) == bit_off) {
+ final_arr[final_byte_off] |= final_bit_off;
+ }
+ bit_off >>= 1;
+ if ( bit_off == 0x00 ) {
+ byte_off += 1;
+ bit_off = 0x80;
+ }
+ final_bit_off >>= 1;
+ if ( final_bit_off == 0x00 ) {
+ final_byte_off += 1;
+ final_bit_off = 0x80;
+ }
+ }
+ curr_frame = wmem_list_frame_next(curr_frame);
+ }
+
+ /* Creating TVB from the reassembled data */
+ final_tvb = tvb_new_child_real_data(tvb,final_arr,total_byte_size,total_byte_size);
+ add_new_data_source(actx->pinfo, final_tvb, "Reassembled Information Block");
+
+ /* Reset segments list */
+ nbap_private_data->ib_segments = NULL;
+
+ /* Add 'reassembled' item to tree */
+ ti = proto_tree_add_item(tree, hf_nbap_reassembled_information_block, final_tvb, 0, total_byte_size, ENC_NA);
+ }
+ else { /* Complete SIB */
+ ti = actx->created_item;
+ }
+
+ subtree = proto_item_add_subtree(ti, ett_nbap_ib_sg_data);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ col_append_str(actx->pinfo->cinfo, COL_INFO," (");
+ switch(nbap_private_data->ib_type){
+ case 0:
+ /* mIB */
+ dissect_rrc_MasterInformationBlock_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 1:
+ /* iB-Type: sB1 (1) */
+ dissect_rrc_SysInfoTypeSB1_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 2:
+ /* iB-Type: sB2 (2) */
+ dissect_rrc_SysInfoTypeSB2_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 3:
+ /* iB-Type: sIB1 (3) */
+ dissect_rrc_SysInfoType1_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 4:
+ /* iB-Type: sIB2 (4) */
+ dissect_rrc_SysInfoType2_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 5:
+ /* iB-Type: sIB3 (5) */
+ dissect_rrc_SysInfoType3_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 6:
+ /* iB-Type: sIB4 (6) */
+ dissect_rrc_SysInfoType4_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 7:
+ /* iB-Type: sIB5 (7) */
+ dissect_rrc_SysInfoType5_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 8:
+ /* iB-Type: sIB6 (8) */
+ dissect_rrc_SysInfoType6_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 9:
+ /* iB-Type: sIB7 (9) */
+ dissect_rrc_SysInfoType7_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 13:
+ /* iB-Type: sIB11 (13) */
+ dissect_rrc_SysInfoType11_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 14:
+ /* iB-Type: sIB12 (14) */
+ dissect_rrc_SysInfoType12_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 15:
+ /* iB-Type: sIB13 (15) */
+ dissect_rrc_SysInfoType13_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 16:
+ /* iB-Type: sIB13.1 (16) */
+ dissect_rrc_SysInfoType13_1_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 17:
+ /* iB-Type: sIB13.2 (17) */
+ dissect_rrc_SysInfoType13_2_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 18:
+ /* iB-Type: sIB13.3 (18) */
+ dissect_rrc_SysInfoType13_3_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 19:
+ /* iB-Type: sIB13.4 (19) */
+ dissect_rrc_SysInfoType13_4_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 20:
+ /* iB-Type: sIB14 (20) */
+ dissect_rrc_SysInfoType14_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 21:
+ /* iB-Type: sIB15 (21) */
+ dissect_rrc_SysInfoType15_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 22:
+ /* iB-Type: sIB15.1 (22) */
+ dissect_rrc_SysInfoType15_1_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 23:
+ /* iB-Type: sIB15.2 (23) */
+ dissect_rrc_SysInfoType15_2_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 24:
+ /* iB-Type: sIB15.3 (24) */
+ dissect_rrc_SysInfoType15_3_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 25:
+ /* iB-Type: sIB16 (25) */
+ dissect_rrc_SysInfoType16_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 26:
+ /* iB-Type: sIB17 (26) */
+ dissect_rrc_SysInfoType17_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 27:
+ /* iB-Type: sIB15.4 (27) */
+ dissect_rrc_SysInfoType15_4_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 28:
+ /* iB-Type: sIB18 (28) */
+ dissect_rrc_SysInfoType18_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 40:
+ /* iB-Type: sIB19 (40) */
+ dissect_rrc_SysInfoType19_PDU(final_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ col_append_str(actx->pinfo->cinfo, COL_INFO,")");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+
+#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_item *item;
+ proto_tree *subtree, *nsap_tree;
+ guint8 *padded_nsap_bytes;
+ tvbuff_t *nsap_tvb;
+ gint tvb_len;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+# TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
+# Assume 4 bytes used in case of IPv4
+ /* Get the length */
+ tvb_len = tvb_reported_length(parameter_tvb);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nbap_TransportLayerAddress);
+ if (tvb_len==4){
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_nbap_transportLayerAddress_ipv4, parameter_tvb, 0, tvb_len, ENC_BIG_ENDIAN);
+ nbap_private_data->transportLayerAddress_ipv4 = tvb_get_ipv4(parameter_tvb, 0);
+ }
+ if (tvb_len==16){
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_nbap_transportLayerAddress_ipv6, parameter_tvb, 0, tvb_len, ENC_NA);
+ }
+ if (tvb_len == 20 || tvb_len == 7){
+ /* NSAP */
+ if (tvb_len == 7){
+ /* Unpadded IPv4 NSAP */
+ /* Creating a new TVB with padding */
+ padded_nsap_bytes = (guint8*) wmem_alloc0(actx->pinfo->pool, 20);
+ tvb_memcpy(parameter_tvb, padded_nsap_bytes, 0, tvb_len);
+ nsap_tvb = tvb_new_child_real_data(tvb, padded_nsap_bytes, 20, 20);
+ add_new_data_source(actx->pinfo, nsap_tvb, "Padded NSAP Data");
+ }else{
+ /* Padded NSAP*/
+ nsap_tvb = parameter_tvb;
+ }
+ item = proto_tree_add_item(subtree, hf_nbap_transportLayerAddress_nsap, parameter_tvb, 0, tvb_len, ENC_NA);
+ nsap_tree = proto_item_add_subtree(item, ett_nbap_TransportLayerAddress_nsap);
+ if(tvb_get_ntoh24(parameter_tvb,0) == 0x350001){
+ /* IPv4 */
+ nbap_private_data->transportLayerAddress_ipv4 = tvb_get_ipv4(parameter_tvb, 3);
+ }
+ dissect_nsap(nsap_tvb, 0, 20, nsap_tree);
+ }
+
+#.FN_BODY PayloadCRC-PresenceIndicator VAL_PTR = &payload_crc_value
+guint32 payload_crc_value;
+
+%(DEFAULT_BODY)s
+
+ if(payload_crc_value == 0){
+ nbap_get_private_data(actx->pinfo)->dch_crc_present = TRUE;
+ }else{
+ nbap_get_private_data(actx->pinfo)->dch_crc_present = FALSE;
+ }
+
+#.FN_PARS DCH-ID VAL_PTR = &nbap_get_private_data(actx->pinfo)->t_dch_id
+
+#.FN_BODY DCH-Specific-FDD-Item/dCH-ID
+ guint32 dch_id;
+ gint num_dch_in_flow;
+ nbap_dch_channel_info_t* nbap_dch_chnl_info;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 255U, &dch_id, FALSE);
+
+ num_dch_in_flow = nbap_private_data->num_dch_in_flow;
+ nbap_private_data->dch_id = dch_id;
+ if(num_dch_in_flow>0){
+ guint32 prev_dch_id = nbap_private_data->prev_dch_id;
+ nbap_dch_chnl_info[dch_id].next_dch = 0;
+ if(prev_dch_id != 0 && prev_dch_id != 0xffffffff && prev_dch_id != dch_id){
+ nbap_dch_chnl_info[prev_dch_id].next_dch = dch_id;
+ }
+ }
+
+#.FN_FTR DCH-ModifySpecificItem-FDD/dCH-ID
+ nbap_get_private_data(actx->pinfo)->dch_id = nbap_get_private_data(actx->pinfo)->t_dch_id;
+
+#.FN_BODY CommonPhysicalChannelID VAL_PTR = &commonphysicalchannelid
+ guint32 commonphysicalchannelid;
+ nbap_dch_channel_info_t* nbap_dch_chnl_info;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+%(DEFAULT_BODY)s
+ nbap_private_data->common_physical_channel_id = commonphysicalchannelid;
+ if(commonphysicalchannelid<maxNrOfDCHs)
+ nbap_dch_chnl_info[commonphysicalchannelid].next_dch = 0;
+
+#.FN_BODY CommonTransportChannelID VAL_PTR = &commontransportchannelid
+ guint32 commontransportchannelid;
+ nbap_dch_channel_info_t* nbap_dch_chnl_info;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+%(DEFAULT_BODY)s
+ nbap_private_data->common_transport_channel_id = commontransportchannelid;
+ if(commontransportchannelid<maxNrOfDCHs)
+ nbap_dch_chnl_info[commontransportchannelid].next_dch = 0;
+
+#.FN_PARS E-DCH-MACdFlow-ID VAL_PTR = &nbap_get_private_data(actx->pinfo)->e_dch_macdflow_id
+
+#.FN_BODY HSDSCH-MACdFlow-ID VAL_PTR = &hsdsch_macdflow_id
+ guint32 hsdsch_macdflow_id;
+ guint num_items;
+ gint* hsdsch_macdflow_ids;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ nbap_private_data->hsdsch_macdflow_id = hsdsch_macdflow_id;
+
+ num_items = nbap_private_data->num_items;
+DISSECTOR_ASSERT(num_items < maxNrOfMACdFlows+1);
+DISSECTOR_ASSERT(num_items > 0);
+
+hsdsch_macdflow_ids = nbap_private_data->hsdsch_macdflow_ids;
+hsdsch_macdflow_ids[num_items-1] = hsdsch_macdflow_id;
+
+#.FN_BODY BindingID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ guint16 binding_id_port;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+# BindingID ::= OCTET STRING (SIZE (1..4, ...))
+# -- If the Binding ID includes a UDP port, the UDP port is included in octet 1 and 2.The first octet of
+# -- the UDP port field is included in the first octet of the Binding ID.
+ if(tvb_reported_length(parameter_tvb)>=2){
+ binding_id_port = tvb_get_ntohs(parameter_tvb,0);
+ nbap_get_private_data(actx->pinfo)->binding_id_port = binding_id_port;
+ proto_item_append_text(actx->created_item, " (%%u)",binding_id_port);
+ }
+
+#.FN_BODY UL-ScramblingCodeNumber VAL_PTR = &ul_scrambling_code
+ guint32 ul_scrambling_code;
+ guint32 com_context_id;
+%(DEFAULT_BODY)s
+ nbap_get_private_data(actx->pinfo)->ul_scrambling_code = ul_scrambling_code;
+ com_context_id = nbap_get_private_data(actx->pinfo)->com_context_id;
+ if(ul_scrambling_code != 0 && com_context_id != 0) {
+ wmem_tree_insert32(nbap_scrambling_code_crncc_map,ul_scrambling_code,GUINT_TO_POINTER(com_context_id));
+ }
+
+#.FN_BODY RACH-ParametersItem-CTCH-SetupRqstFDD
+address dst_addr, null_addr;
+conversation_t *conversation;
+fp_rach_channel_info_t* fp_rach_channel_info;
+umts_fp_conversation_info_t *umts_fp_conversation_info;
+int j, num_tf;
+guint32 transportLayerAddress_ipv4;
+guint16 bindingID;
+guint32 common_physical_channel_id;
+nbap_dch_channel_info_t* nbap_dch_chnl_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+
+nbap_private_data->transportLayerAddress_ipv4 = 0;
+nbap_private_data->binding_id_port = 0;
+nbap_private_data->transport_format_set_type = NBAP_CPCH;
+
+%(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+ clear_address(&null_addr);
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ conversation = conversation_new(actx->pinfo->num, &dst_addr, &null_addr, CONVERSATION_UDP, bindingID, 0, NO_ADDR2|NO_PORT2);
+
+ conversation_set_dissector(conversation, fp_handle);
+
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+ /* Fill in the data */
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_RACH_FDD;
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = actx->pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &dst_addr);
+ umts_fp_conversation_info->crnc_port = bindingID;
+ umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN;
+
+ /* Adding the 'channel specific info' for RACH */
+ fp_rach_channel_info = wmem_new0(wmem_file_scope(), fp_rach_channel_info_t);
+ fp_rach_channel_info->crnti_to_urnti_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+ umts_fp_conversation_info->channel_specific_info = (void*)fp_rach_channel_info;
+
+ /*Save unique UE-identifier */
+ umts_fp_conversation_info->com_context_id = nbap_private_data->crnc_context_present ? nbap_private_data->com_context_id : 1;
+
+ /* DCH's in this flow */
+ umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present;
+ /* Set data for First or single channel */
+ common_physical_channel_id = nbap_private_data->common_physical_channel_id;
+ umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[common_physical_channel_id].num_ul_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_tf_size[j] = nbap_dch_chnl_info[common_physical_channel_id].ul_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_num_tbs[j] = nbap_dch_chnl_info[common_physical_channel_id].ul_chan_num_tbs[j];
+ }
+
+ /* Traffic flows per DCH(DL) */
+ umts_fp_conversation_info->fp_dch_channel_info[0].num_dl_chans = num_tf = nbap_dch_chnl_info[common_physical_channel_id].num_dl_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_tf_size[j] = nbap_dch_chnl_info[common_physical_channel_id].dl_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_num_tbs[j] = nbap_dch_chnl_info[common_physical_channel_id].dl_chan_num_tbs[j];
+ }
+
+ umts_fp_conversation_info->dch_ids_in_flow_list[0] = common_physical_channel_id;
+ umts_fp_conversation_info->num_dch_in_flow=1;
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+
+ /* Add Setup Conversation to list, we need it in response msg */
+ add_setup_conv(actx->pinfo, nbap_private_data->transaction_id,nbap_private_data->dd_mode,nbap_private_data->common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation);
+ }
+
+#.FN_BODY PICH-Mode VAL_PTR = &PICH_Mode
+guint32 PICH_Mode = 0;
+%(DEFAULT_BODY)s
+
+ switch(PICH_Mode){
+ case 0: /* v18 */
+ nbap_get_private_data(actx->pinfo)->paging_indications = 18;
+ break;
+ case 1: /* v36 */
+ nbap_get_private_data(actx->pinfo)->paging_indications = 36;
+ break;
+ case 2: /* v72 */
+ nbap_get_private_data(actx->pinfo)->paging_indications = 72;
+ break;
+ case 3: /* v144 */
+ nbap_get_private_data(actx->pinfo)->paging_indications = 144;
+ break;
+ }
+
+#.FN_BODY PCH-ParametersItem-CTCH-SetupRqstFDD
+
+address dst_addr, null_addr;
+conversation_t *conversation;
+
+fp_pch_channel_info_t *fp_pch_channel_info;
+umts_fp_conversation_info_t *umts_fp_conversation_info;
+int i, j, num_tf;
+guint32 transportLayerAddress_ipv4;
+guint16 bindingID;
+guint32 common_transport_channel_id;
+nbap_dch_channel_info_t* nbap_dch_chnl_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+
+nbap_private_data->transportLayerAddress_ipv4 = 0;
+nbap_private_data->binding_id_port = 0;
+
+/* There can only be one item, set num_items here to collect the TransportFormatSet data */
+nbap_private_data->num_items = 1;
+
+%(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+ clear_address(&null_addr);
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ conversation = conversation_new(actx->pinfo->num, &dst_addr, &null_addr, CONVERSATION_UDP, bindingID, 0, NO_ADDR2|NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(conversation, fp_handle);
+
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+ /* Fill in the data */
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_PCH;
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = actx->pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &dst_addr);
+ umts_fp_conversation_info->crnc_port = bindingID;
+ umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN;
+
+ fp_pch_channel_info = wmem_new0(wmem_file_scope(), fp_pch_channel_info_t);
+ fp_pch_channel_info->paging_indications = nbap_private_data->paging_indications;
+ umts_fp_conversation_info->channel_specific_info = (void*)fp_pch_channel_info;
+
+ /* DCH's in this flow */
+ umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present;
+ /* Set data for First or single channel */
+ common_transport_channel_id = nbap_private_data->common_transport_channel_id;
+ umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[common_transport_channel_id].num_ul_chans;
+
+ nbap_debug("Frame %%u PCH-ParametersItem-CTCH-SetupRqstFDD Start: num_tf %%u", actx->pinfo->num, num_tf);
+
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_tf_size[j] = nbap_dch_chnl_info[common_transport_channel_id].ul_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_num_tbs[j] = nbap_dch_chnl_info[common_transport_channel_id].ul_chan_num_tbs[j];
+ nbap_debug(" UL tf %%u ul_chan_tf_size %%u",j, nbap_dch_chnl_info[common_transport_channel_id].ul_chan_tf_size[j]);
+ }
+
+ /* Traffic flows per DCH(DL) */
+ umts_fp_conversation_info->fp_dch_channel_info[0].num_dl_chans = num_tf = nbap_dch_chnl_info[common_transport_channel_id].num_dl_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_tf_size[j] = nbap_dch_chnl_info[common_transport_channel_id].dl_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_num_tbs[j] = nbap_dch_chnl_info[common_transport_channel_id].dl_chan_num_tbs[j];
+ nbap_debug(" DL tf %%u ul_chan_tf_size %%u",j, nbap_dch_chnl_info[common_transport_channel_id].dl_chan_tf_size[j]);
+ }
+
+ /* Set data for associated DCH's if we have any */
+ i = common_transport_channel_id;
+
+ nbap_debug(" commontransportchannelid %%u next ch %%u",common_transport_channel_id, nbap_dch_chnl_info[i].next_dch);
+
+ umts_fp_conversation_info->dch_ids_in_flow_list[0] = common_transport_channel_id;
+ while(nbap_dch_chnl_info[i].next_dch != 0 && umts_fp_conversation_info->num_dch_in_flow < FP_maxNrOfDCHs){
+ i = nbap_dch_chnl_info[i].next_dch;
+ umts_fp_conversation_info->num_dch_in_flow++;
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow] = i;
+ /* Traffic flows per DCH(UL) */
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].num_ul_chans = num_tf = nbap_dch_chnl_info[i].num_ul_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].ul_chan_tf_size[j] = nbap_dch_chnl_info[i].ul_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].ul_chan_num_tbs[j] = nbap_dch_chnl_info[i].ul_chan_num_tbs[j];
+ }
+
+ /* Traffic flows per DCH(DL) */
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].num_dl_chans = num_tf = nbap_dch_chnl_info[i].num_dl_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].dl_chan_tf_size[j] = nbap_dch_chnl_info[i].dl_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].dl_chan_num_tbs[j] = nbap_dch_chnl_info[i].dl_chan_num_tbs[j];
+ }
+ }
+ umts_fp_conversation_info->num_dch_in_flow++;
+
+ nbap_debug(" num_dch_in_flow %%u", umts_fp_conversation_info->num_dch_in_flow);
+
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow] = i;
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+
+ /* Add Setup Conversation to list, we need it in response msg */
+ add_setup_conv(actx->pinfo, nbap_private_data->transaction_id, nbap_private_data->dd_mode, common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation);
+
+ nbap_debug("Frame %%u PCH-ParametersItem-CTCH-SetupRqstFDD End", actx->pinfo->num);
+ }
+
+#.FN_BODY FACH-ParametersItem-CTCH-SetupRqstFDD
+address dst_addr, null_addr;
+conversation_t *conversation;
+
+fp_fach_channel_info_t* fp_fach_channel_info;
+umts_fp_conversation_info_t *umts_fp_conversation_info;
+int i, j, num_tf;
+guint32 transportLayerAddress_ipv4;
+guint16 bindingID;
+guint32 common_physical_channel_id;
+nbap_dch_channel_info_t* nbap_dch_chnl_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+
+nbap_private_data->transportLayerAddress_ipv4 = 0;
+nbap_private_data->binding_id_port = 0;
+
+nbap_private_data->transport_format_set_type = NBAP_CPCH;
+
+%(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+ clear_address(&null_addr);
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ conversation = conversation_new(actx->pinfo->num, &dst_addr, &null_addr, CONVERSATION_UDP, bindingID, 0, NO_ADDR2|NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(conversation, fp_handle);
+
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+ /* Fill in the data */
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_FACH_FDD;
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = actx->pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &dst_addr);
+ umts_fp_conversation_info->crnc_port = bindingID;
+ umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN;
+ /*Save unique UE-identifier */
+ umts_fp_conversation_info->com_context_id = nbap_private_data->crnc_context_present ? nbap_private_data->com_context_id : 1;
+
+ /* Adding the 'channel specific info' for FACH */
+ fp_fach_channel_info = wmem_new0(wmem_file_scope(), fp_fach_channel_info_t);
+ fp_fach_channel_info->crnti_to_urnti_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+ umts_fp_conversation_info->channel_specific_info = (void*)fp_fach_channel_info;
+
+ /* DCH's in this flow */
+ umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present;
+ /* Set data for First or single channel */
+ common_physical_channel_id = nbap_private_data->common_physical_channel_id;
+ umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[common_physical_channel_id].num_ul_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_tf_size[j] = nbap_dch_chnl_info[common_physical_channel_id].ul_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_num_tbs[j] = nbap_dch_chnl_info[common_physical_channel_id].ul_chan_num_tbs[j];
+ }
+
+ /* Traffic flows per DCH(DL) */
+ umts_fp_conversation_info->fp_dch_channel_info[0].num_dl_chans = num_tf = nbap_dch_chnl_info[common_physical_channel_id].num_dl_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_tf_size[j] = nbap_dch_chnl_info[common_physical_channel_id].dl_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_num_tbs[j] = nbap_dch_chnl_info[common_physical_channel_id].dl_chan_num_tbs[j];
+ }
+
+ /* Set data for associated DCH's if we have any */
+ i = common_physical_channel_id;
+ umts_fp_conversation_info->dch_ids_in_flow_list[0] = common_physical_channel_id;
+ while(nbap_dch_chnl_info[i].next_dch != 0 && umts_fp_conversation_info->num_dch_in_flow < FP_maxNrOfDCHs){
+ i = nbap_dch_chnl_info[i].next_dch;
+ umts_fp_conversation_info->num_dch_in_flow++;
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow] = i;
+ /* Traffic flows per DCH(UL) */
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].num_ul_chans = num_tf = nbap_dch_chnl_info[i].num_ul_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].ul_chan_tf_size[j] = nbap_dch_chnl_info[i].ul_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].ul_chan_num_tbs[j] = nbap_dch_chnl_info[i].ul_chan_num_tbs[j];
+ }
+
+ /* Traffic flows per DCH(DL) */
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].num_dl_chans = num_tf = nbap_dch_chnl_info[i].num_dl_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].dl_chan_tf_size[j] = nbap_dch_chnl_info[i].dl_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].dl_chan_num_tbs[j] = nbap_dch_chnl_info[i].dl_chan_num_tbs[j];
+ }
+ }
+ umts_fp_conversation_info->num_dch_in_flow++;
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow] = i;
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+
+ /* Add Setup Conversation to list, we need it in response msg */
+ add_setup_conv(actx->pinfo, nbap_private_data->transaction_id,nbap_private_data->dd_mode,nbap_private_data->common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation);
+ }
+
+#.FN_HDR DCH-Specific-FDD-InformationList
+ nbap_get_private_data(actx->pinfo)->num_dch_in_flow = 0;
+ nbap_get_private_data(actx->pinfo)->prev_dch_id = 0;
+
+#.FN_HDR DCH-Specific-FDD-Item
+ nbap_get_private_data(actx->pinfo)->num_dch_in_flow++;
+
+#.FN_FTR DCH-Specific-FDD-Item
+ nbap_get_private_data(actx->pinfo)->prev_dch_id = nbap_get_private_data(actx->pinfo)->dch_id;
+
+#.FN_HDR DCH-Specific-FDD-Item/ul-TransportFormatSet
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ guint32 dch_id = nbap_private_data->dch_id;
+ nbap_dch_channel_info_t* nbap_dch_chnl_info;
+ nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+ nbap_private_data->transport_format_set_type = NBAP_DCH_UL;
+ if (dch_id != 0xffffffff) {
+ nbap_dch_chnl_info[dch_id].num_ul_chans = 0;
+ }
+
+#.FN_HDR DCH-Specific-FDD-Item/dl-TransportFormatSet
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ guint32 dch_id = nbap_private_data->dch_id;
+ nbap_dch_channel_info_t* nbap_dch_chnl_info;
+ nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+ nbap_private_data->transport_format_set_type = NBAP_DCH_DL;
+ if (dch_id != 0xffffffff) {
+ nbap_dch_chnl_info[dch_id].num_dl_chans = 0;
+ }
+
+#.FN_HDR DCH-ModifySpecificItem-FDD/ul-TransportFormatSet
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ guint32 dch_id = nbap_private_data->dch_id;
+ nbap_dch_channel_info_t* nbap_dch_chnl_info;
+ nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+ nbap_private_data->transport_format_set_type = NBAP_DCH_UL;
+ if (dch_id != 0xffffffff) {
+ nbap_dch_chnl_info[dch_id].num_ul_chans = 0;
+ }
+
+#.FN_HDR DCH-ModifySpecificItem-FDD/dl-TransportFormatSet
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ guint32 dch_id = nbap_private_data->dch_id;
+ nbap_dch_channel_info_t* nbap_dch_chnl_info;
+ nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+ nbap_private_data->transport_format_set_type = NBAP_DCH_DL;
+ if (dch_id != 0xffffffff) {
+ nbap_dch_chnl_info[dch_id].num_dl_chans = 0;
+ }
+
+#.FN_HDR PCH-ParametersItem-CTCH-SetupRqstFDD/transportFormatSet
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_dch_channel_info_t* nbap_dch_chnl_info;
+ nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+ nbap_private_data->transport_format_set_type = NBAP_PCH;
+ nbap_dch_chnl_info[nbap_private_data->common_transport_channel_id].num_dl_chans = 0;
+ nbap_dch_chnl_info[nbap_private_data->common_transport_channel_id].num_ul_chans = 0;
+
+#.FN_HDR TransportFormatSet-DynamicPartList
+ nbap_get_private_data(actx->pinfo)->num_items = 0;
+
+#.FN_HDR TransportFormatSet-DynamicPartList/_item
+ nbap_get_private_data(actx->pinfo)->num_items++;
+
+#.FN_BODY TransportFormatSet-NrOfTransportBlocks VAL_PTR = &NrOfTransportBlocks
+guint32 NrOfTransportBlocks;
+guint num_items;
+guint32 dch_id;
+guint32 common_physical_channel_id;
+guint32 common_transport_channel_id;
+nbap_dch_channel_info_t* nbap_dch_chnl_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+
+%(DEFAULT_BODY)s
+
+ if(nbap_private_data->num_items>0){
+ num_items = nbap_private_data->num_items;
+ dch_id = nbap_private_data->dch_id;
+ if (num_items > 0 && num_items < MAX_FP_CHANS + 1 && dch_id != 0xffffffff) {
+ common_physical_channel_id = nbap_private_data->common_physical_channel_id;
+ common_transport_channel_id = nbap_private_data->common_transport_channel_id;
+ switch(nbap_private_data->transport_format_set_type){
+ case NBAP_DCH_UL:
+ nbap_dch_chnl_info[dch_id].num_ul_chans++;
+ nbap_dch_chnl_info[dch_id].ul_chan_num_tbs[num_items-1] = NrOfTransportBlocks;
+ break;
+ case NBAP_DCH_DL:
+ nbap_dch_chnl_info[dch_id].num_dl_chans++;
+ nbap_dch_chnl_info[dch_id].dl_chan_num_tbs[num_items-1] = NrOfTransportBlocks;
+ break;
+ case NBAP_CPCH:
+ nbap_dch_chnl_info[common_physical_channel_id].num_ul_chans++;
+ nbap_dch_chnl_info[common_physical_channel_id].ul_chan_num_tbs[num_items-1] = NrOfTransportBlocks;
+ nbap_dch_chnl_info[common_physical_channel_id].num_dl_chans++;
+ nbap_dch_chnl_info[common_physical_channel_id].dl_chan_num_tbs[num_items-1] = NrOfTransportBlocks;
+ break;
+ case NBAP_PCH:
+ nbap_dch_chnl_info[common_transport_channel_id].num_ul_chans++;
+ nbap_dch_chnl_info[common_transport_channel_id].ul_chan_num_tbs[num_items-1] = NrOfTransportBlocks;
+ nbap_dch_chnl_info[common_transport_channel_id].num_dl_chans++;
+ nbap_dch_chnl_info[common_transport_channel_id].dl_chan_num_tbs[num_items-1] = NrOfTransportBlocks;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+#.FN_BODY TransportFormatSet-TransportBlockSize VAL_PTR = &TransportBlockSize
+guint32 TransportBlockSize;
+guint num_items;
+guint32 dch_id;
+guint32 common_physical_channel_id;
+guint32 common_transport_channel_id;
+nbap_dch_channel_info_t* nbap_dch_chnl_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+
+%(DEFAULT_BODY)s
+
+ if(nbap_private_data->num_items>0){
+ num_items = nbap_private_data->num_items;
+ dch_id = nbap_private_data->dch_id;
+ if (num_items > 0 && num_items < MAX_FP_CHANS + 1 && dch_id != 0xffffffff) {
+ common_physical_channel_id = nbap_private_data->common_physical_channel_id;
+ common_transport_channel_id = nbap_private_data->common_transport_channel_id;
+ switch(nbap_private_data->transport_format_set_type){
+ case NBAP_DCH_UL:
+ nbap_dch_chnl_info[dch_id].ul_chan_tf_size[num_items-1] = TransportBlockSize;
+ break;
+ case NBAP_DCH_DL:
+ nbap_dch_chnl_info[dch_id].dl_chan_tf_size[num_items-1] = TransportBlockSize;
+ break;
+ case NBAP_CPCH:
+ nbap_dch_chnl_info[common_physical_channel_id].ul_chan_tf_size[num_items-1] = TransportBlockSize;
+ nbap_dch_chnl_info[common_physical_channel_id].dl_chan_tf_size[num_items-1] = TransportBlockSize;
+ break;
+ case NBAP_PCH:
+ nbap_dch_chnl_info[common_transport_channel_id].ul_chan_tf_size[num_items-1] = TransportBlockSize;
+ nbap_dch_chnl_info[common_transport_channel_id].dl_chan_tf_size[num_items-1] = TransportBlockSize;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+#.FN_FTR RL-Specific-DCH-Info-Item/dCH-id
+ nbap_get_private_data(actx->pinfo)->dch_id = nbap_get_private_data(actx->pinfo)->t_dch_id;
+
+#.FN_BODY RL-Specific-DCH-Info-Item
+address dst_addr, null_addr;
+conversation_t *conversation = NULL;
+umts_fp_conversation_info_t *umts_fp_conversation_info;
+int i, j, num_tf;
+guint32 transportLayerAddress_ipv4;
+guint16 bindingID;
+guint32 dch_id;
+nbap_dch_channel_info_t* nbap_dch_chnl_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info;
+
+nbap_private_data->transportLayerAddress_ipv4 = 0;
+nbap_private_data->binding_id_port = 0;
+nbap_private_data->dch_id = 0xFFFFFFFF;
+
+%(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+
+ /*RBS might sometimes send a nonsens bind, to indicate that no DCH is present*/
+ if(bindingID == NBAP_IGNORE_PORT){
+ return offset;
+ }
+
+ clear_address(&null_addr);
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ conversation = find_conversation(actx->pinfo->num, &dst_addr,
+ &null_addr, CONVERSATION_UDP, nbap_private_data->binding_id_port,
+ 0, NO_ADDR_B|NO_PORT_B);
+
+ if (conversation == NULL) {
+ /* It's not part of any conversation - create a new one. */
+ conversation = conversation_new(actx->pinfo->num, &dst_addr,
+ &null_addr, CONVERSATION_UDP, nbap_private_data->binding_id_port,
+ 0, NO_ADDR2|NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(conversation, fp_handle);
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+
+ /* Fill in the data */
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_DCH;
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = actx->pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &dst_addr);
+ umts_fp_conversation_info->crnc_port = bindingID;
+ umts_fp_conversation_info->scrambling_code = nbap_private_data->ul_scrambling_code;
+ umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN;
+
+ /* DCH's in this flow */
+ umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present;
+
+ /*Save unique UE-identifier */
+ umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id;
+
+ /*UPLINK*/
+ /* Set data for First or single channel */
+ dch_id = nbap_private_data->dch_id;
+ if (dch_id != 0xffffffff) {
+ umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[dch_id].num_ul_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_tf_size[j] = nbap_dch_chnl_info[dch_id].ul_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_num_tbs[j] = nbap_dch_chnl_info[dch_id].ul_chan_num_tbs[j];
+ }
+
+ /* Traffic flows per DCH(DL) */
+ umts_fp_conversation_info->fp_dch_channel_info[0].num_dl_chans = num_tf = nbap_dch_chnl_info[dch_id].num_dl_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_tf_size[j] = nbap_dch_chnl_info[dch_id].dl_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_num_tbs[j] = nbap_dch_chnl_info[dch_id].dl_chan_num_tbs[j];
+ }
+
+ /* Set data for associated DCH's if we have any */
+ i = dch_id;
+ umts_fp_conversation_info->dch_ids_in_flow_list[0] = dch_id;
+ while(nbap_dch_chnl_info[i].next_dch != 0 && umts_fp_conversation_info->num_dch_in_flow < FP_maxNrOfDCHs){
+ i = nbap_dch_chnl_info[i].next_dch;
+ umts_fp_conversation_info->num_dch_in_flow++;
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow] = i; /*Set transport channel id*/
+
+ /*Setting Logical Channel's for this DCH*/
+ /* Traffic flows per DCH(UL) */
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].num_ul_chans = num_tf = nbap_dch_chnl_info[i].num_ul_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].ul_chan_tf_size[j] = nbap_dch_chnl_info[i].ul_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].ul_chan_num_tbs[j] = nbap_dch_chnl_info[i].ul_chan_num_tbs[j];
+ }
+
+ /* Traffic flows per DCH(DL) */
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].num_dl_chans = num_tf = nbap_dch_chnl_info[i].num_dl_chans;
+ for (j = 0; j < num_tf; j++) {
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].dl_chan_tf_size[j] = nbap_dch_chnl_info[i].dl_chan_tf_size[j];
+ umts_fp_conversation_info->fp_dch_channel_info[umts_fp_conversation_info->num_dch_in_flow].dl_chan_num_tbs[j] = nbap_dch_chnl_info[i].dl_chan_num_tbs[j];
+ }
+ }
+ umts_fp_conversation_info->num_dch_in_flow++;
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow] = i;
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+ }
+ }
+ nbap_debug("Frame %%u RL-Specific-DCH-Info-Item Start", actx->pinfo->num);
+ nbap_debug(" Total no of ch in flow will be: %%d", umts_fp_conversation_info->num_dch_in_flow);
+ nbap_debug("Frame %%u RL-Specific-DCH-Info-Item End", actx->pinfo->num);
+ }
+
+#.FN_BODY RL-Specific-E-DCH-Information-Item
+address dst_addr, null_addr;
+conversation_t *conversation;
+umts_fp_conversation_info_t *umts_fp_conversation_info = NULL;
+fp_edch_channel_info_t* fp_edch_channel_info;
+nbap_edch_port_info_t *old_info = NULL;
+guint32 transportLayerAddress_ipv4;
+guint16 bindingID;
+guint32 e_dch_macdflow_id;
+nbap_edch_channel_info_t* nbap_edch_channel_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info;
+
+nbap_private_data->transportLayerAddress_ipv4 = 0;
+nbap_private_data->binding_id_port = 0;
+
+%(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+ clear_address(&null_addr);
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ conversation = find_conversation(actx->pinfo->num, &dst_addr,
+ &null_addr, CONVERSATION_UDP, bindingID,
+ 0, NO_ADDR_B|NO_PORT_B);
+ if (conversation) {
+ umts_fp_conversation_info = (umts_fp_conversation_info_t*)conversation_get_proto_data(conversation, proto_fp);
+ }
+
+ /* We must also check if this port is about to be overriden, if that's the case we
+ * might already have a DCH entry on this port which should be overwritten
+ */
+ if ((conversation == NULL) || (umts_fp_conversation_info && umts_fp_conversation_info->channel == CHANNEL_DCH)) {
+
+ /* It's not part of any conversation - create a new one. */
+ conversation = conversation_new(actx->pinfo->num, &dst_addr,
+ &null_addr, CONVERSATION_UDP, bindingID,
+ 0, NO_ADDR2|NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(conversation, fp_handle);
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+ /* Fill in the data */
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_EDCH;
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = actx->pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &dst_addr);
+ umts_fp_conversation_info->crnc_port = bindingID;
+ umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN;
+
+ fp_edch_channel_info = wmem_new0(wmem_file_scope(), fp_edch_channel_info_t);
+ umts_fp_conversation_info->channel_specific_info = (void*)fp_edch_channel_info;
+
+ if(nbap_private_data->crnc_context_present){
+ umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id;
+ }else{
+ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_set_comm_context_id);
+ }
+
+ /* Check if we allready have this context */
+ e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id;
+ if( (old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,nbap_private_data->com_context_id)) == NULL ){
+ nbap_edch_port_info_t * nbap_edch_port_info;
+
+ nbap_edch_port_info = wmem_new0(wmem_file_scope(), nbap_edch_port_info_t);
+
+ /*Saving port/flow map based on context id for future reconfigurations*/
+ nbap_edch_port_info->crnc_port[e_dch_macdflow_id] = bindingID;
+ /*Ip address might be useful as well*/
+ nbap_edch_port_info->crnc_address = nbap_private_data->transportLayerAddress_ipv4;
+
+ nbap_debug("Frame %%u RL-Specific-E-DCH-Information-Item Start",
+ actx->pinfo->num);
+
+ nbap_debug(" wmem_tree_insert32(edch_flow_port_map) com_context_id %%u e_dch_macdflow_id %%u IP %%s Port %%u",
+ umts_fp_conversation_info->com_context_id,e_dch_macdflow_id,
+ address_to_str(actx->pinfo->pool, &dst_addr),bindingID);
+
+ wmem_tree_insert32(edch_flow_port_map, umts_fp_conversation_info->com_context_id, nbap_edch_port_info);
+ }else{
+ nbap_debug(" Insert in existing edch_flow_port_map com_context_id %%u e_dch_macdflow_id %%u IP %%s Port %%u",
+ umts_fp_conversation_info->com_context_id,e_dch_macdflow_id,
+ address_to_str(actx->pinfo->pool, &dst_addr), bindingID);
+
+ /* Must be same ADDRESS */
+ old_info->crnc_port[e_dch_macdflow_id] = bindingID;
+ }
+
+ /* Set address for collection of DDI entries */
+ copy_address_wmem(actx->pinfo->pool,&(nbap_edch_channel_info[e_dch_macdflow_id].crnc_address),&dst_addr);
+ nbap_edch_channel_info[e_dch_macdflow_id].crnc_port = bindingID;
+
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+
+ nbap_debug("Frame %%u RL-Specific-E-DCH-Information-Item End", actx->pinfo->num);
+ }
+ }
+
+#.FN_BODY E-DCH-MACdFlow-Specific-InfoItem
+umts_fp_conversation_info_t *p_conv_data = NULL;
+fp_edch_channel_info_t* fp_edch_channel_info = NULL;
+address null_addr;
+conversation_t *p_conv;
+guint32 no_ddi_entries, i;
+guint32 e_dch_macdflow_id;
+nbap_edch_channel_info_t* nbap_edch_channel_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info;
+
+ /* Resetting entity recognition flag to check if it's set in this InfoItem */
+ nbap_private_data->max_mac_d_pdu_size_ext_ie_present = FALSE;
+%(DEFAULT_BODY)s
+ if (PINFO_FD_VISITED(actx->pinfo)) {
+ return offset;
+ }
+
+ /* Check if we have conversation info */
+ e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id;
+ clear_address(&null_addr);
+ p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
+ CONVERSATION_UDP, nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
+ if(!p_conv)
+ return offset;
+
+ p_conv_data = (umts_fp_conversation_info_t *)conversation_get_proto_data(p_conv, proto_fp);
+
+ if(!p_conv_data)
+ return offset;
+
+ fp_edch_channel_info = (fp_edch_channel_info_t*)p_conv_data->channel_specific_info;
+ if(p_conv_data->channel != CHANNEL_EDCH || !fp_edch_channel_info)
+ return offset;
+
+ no_ddi_entries = fp_edch_channel_info->no_ddi_entries = nbap_edch_channel_info[e_dch_macdflow_id].no_ddi_entries;
+ for (i = 0; i < no_ddi_entries; i++) {
+ fp_edch_channel_info->edch_ddi[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_ddi[i];
+ fp_edch_channel_info->edch_macd_pdu_size[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_macd_pdu_size[i];
+
+ fp_edch_channel_info->edch_lchId[i] = nbap_edch_channel_info[e_dch_macdflow_id].lchId[i];
+ }
+
+ p_conv_data->dch_crc_present = nbap_private_data->dch_crc_present;
+
+ /* Figure out MAC entity: MAC-e/es or MAC-i/is
+ * Then derive the type of E-DCH frame:
+ * MAC-e/es => Type 1
+ * MAC-i/is => Type 2
+ * The specifications isn't very clear about the indicator for what entity
+ * should be used. For now, it seems like the presence of the "Maximum MAC-d PDU Size Extended IE"
+ * indicates MAC-i/is and it's absense means MAC-e/es
+ */
+ if(nbap_private_data->max_mac_d_pdu_size_ext_ie_present){
+ fp_edch_channel_info->edch_type = 1; /* 1 means Type 2 */
+ }else{
+ fp_edch_channel_info->edch_type = 0; /* 0 means Type 1 */
+ }
+ /* use to display e_dch_macdflow_id */
+ p_conv_data->num_dch_in_flow = 1;
+ p_conv_data->dch_ids_in_flow_list[0] = nbap_private_data->e_dch_macdflow_id;
+
+#Handle Modified E-DCH Flows
+#.FN_BODY E-DCH-FDD-Information-to-Modify
+
+address dst_addr, null_addr;
+conversation_t *conversation,*old_conversation = NULL;
+umts_fp_conversation_info_t *umts_fp_conversation_info _U_;
+fp_edch_channel_info_t* fp_edch_channel_info;
+void *conv_proto_data = NULL;
+guint32 transportLayerAddress_ipv4;
+guint16 bindingID;
+guint32 e_dch_macdflow_id;
+nbap_edch_channel_info_t* nbap_edch_channel_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info;
+
+nbap_private_data->transportLayerAddress_ipv4 = 0;
+nbap_private_data->binding_id_port = 0;
+
+ %(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+ /*
+ * Basically the idea here is that we create a new converation (Which is ok? maybe?)
+ * And then hijack the old conversation and let lower tree items configure that hijacked data.
+ * */
+ clear_address(&null_addr);
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ old_conversation = find_conversation(actx->pinfo->num, &dst_addr,
+ &null_addr, CONVERSATION_UDP, bindingID,
+ 0, NO_ADDR_B|NO_PORT_B);
+
+ if(old_conversation){
+ nbap_debug("Frame %%u E-DCH-FDD-Information-to-Modify: found old conv on IP %%s Port %%u",
+ actx->pinfo->num,
+ address_to_str(actx->pinfo->pool, &dst_addr), bindingID);
+ }else{
+ nbap_debug("Frame %%u E-DCH-FDD-Information-to-Modify: Did not find old conv on IP %%s Port %%u",
+ actx->pinfo->num,
+ address_to_str(actx->pinfo->pool, &dst_addr), bindingID);
+ }
+
+ /* It's not part of any conversation - create a new one. */
+ conversation = conversation_new(actx->pinfo->num, &dst_addr,
+ &null_addr, CONVERSATION_UDP, bindingID,
+ 0, NO_ADDR2|NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(conversation, fp_handle);
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+ /* Steal the old information */
+ if (old_conversation) {
+ conv_proto_data = conversation_get_proto_data(old_conversation, proto_fp);
+ if (conv_proto_data)
+ memcpy(umts_fp_conversation_info,conv_proto_data,sizeof(umts_fp_conversation_info_t));
+ }
+ /* Overwrite the data */
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_EDCH;
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = actx->pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &dst_addr);
+ umts_fp_conversation_info->crnc_port = bindingID;
+ umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN;
+
+ fp_edch_channel_info = wmem_new0(wmem_file_scope(), fp_edch_channel_info_t);
+ umts_fp_conversation_info->channel_specific_info = (void*)fp_edch_channel_info;
+
+ if(nbap_private_data->crnc_context_present){
+ umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id;
+ }else{
+ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_set_comm_context_id);
+ }
+
+ /* Set address for collection of DDI entries */
+ e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id;
+ copy_address_wmem(actx->pinfo->pool,&(nbap_edch_channel_info[e_dch_macdflow_id].crnc_address),&dst_addr);
+ nbap_edch_channel_info[e_dch_macdflow_id].crnc_port = bindingID;
+
+ /*Indicate that the frag table has to be reset*/
+ umts_fp_conversation_info->reset_frag = TRUE;
+
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+ }
+
+#.FN_BODY E-DCH-MACdFlow-Specific-InfoItem-to-Modify
+guint32 no_ddi_entries, i;
+address null_addr;
+nbap_edch_port_info_t *old_info;
+umts_fp_conversation_info_t *p_conv_data = NULL;
+fp_edch_channel_info_t* fp_edch_channel_info;
+conversation_t *p_conv;
+guint32 e_dch_macdflow_id;
+nbap_edch_channel_info_t* nbap_edch_channel_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info;
+
+nbap_private_data->num_items = 1;
+ %(DEFAULT_BODY)s
+
+ if (PINFO_FD_VISITED(actx->pinfo))
+ {
+ return offset;
+ }
+
+ nbap_debug("Frame %%u E-DCH-MACdFlow-Specific-InfoItem-to-Modify",
+ actx->pinfo->num);
+
+ /****** Look up old port and ip information since this is not included in this message ******/
+ /*Find proper communication context ID*/
+ if(nbap_private_data->crnc_context_present){
+ /*umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id;*/
+ }else{
+ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_set_comm_context_id);
+ }
+
+ /*This should not happen*/
+ if(( old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,nbap_private_data->com_context_id)) == NULL ){
+ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_find_port_info);
+ return offset;
+ }
+ nbap_debug(" Found com_context_id %%u",nbap_private_data->com_context_id);
+
+ /*Set the appropriate port, cheat and use same variable.*/
+ e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id;
+ nbap_private_data->binding_id_port = old_info->crnc_port[e_dch_macdflow_id];
+
+ nbap_debug(" Port %%u loaded from old_info->crnc_port[e_dch_macdflow_id %%u]",nbap_private_data->binding_id_port, e_dch_macdflow_id);
+
+ /*TODO: Fix this for ipv6 as well!*/
+ nbap_private_data->transportLayerAddress_ipv4 = old_info->crnc_address;
+
+ /*Do the configurations*/
+ /* Check if we have conversation info */
+ clear_address(&null_addr);
+ p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
+ CONVERSATION_UDP, nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
+ if(!p_conv)
+ return offset;
+
+ p_conv_data = (umts_fp_conversation_info_t *)conversation_get_proto_data(p_conv, proto_fp);
+
+ if(!p_conv_data)
+ return offset;
+
+ fp_edch_channel_info = (fp_edch_channel_info_t*)p_conv_data->channel_specific_info;
+ if(p_conv_data->channel != CHANNEL_EDCH || !fp_edch_channel_info)
+ return offset;
+
+ no_ddi_entries = fp_edch_channel_info->no_ddi_entries = nbap_edch_channel_info[e_dch_macdflow_id].no_ddi_entries;
+ for (i = 0; i < no_ddi_entries; i++) {
+ fp_edch_channel_info->edch_ddi[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_ddi[i];
+ fp_edch_channel_info->edch_macd_pdu_size[i] = nbap_edch_channel_info[e_dch_macdflow_id].edch_macd_pdu_size[i];
+
+ fp_edch_channel_info->edch_lchId[i] = nbap_edch_channel_info[e_dch_macdflow_id].lchId[i];
+ }
+
+ p_conv_data->dch_crc_present = nbap_private_data->dch_crc_present;
+
+ /* Figure out MAC entity: MAC-e/es or MAC-i/is
+ * Then derive the type of E-DCH frame:
+ * MAC-e/es => Type 1
+ * MAC-i/is => Type 2
+ * The specifications isn't very clear about the indicator for what entity
+ * should be used. For now, it seems like the presence of the "Maximum MAC-d PDU Size Extended IE"
+ * indicates MAC-i/is and it's absense means MAC-e/es
+ */
+ if(nbap_private_data->max_mac_d_pdu_size_ext_ie_present){
+ fp_edch_channel_info->edch_type = 1; /* 1 means Type 2 */
+ }else{
+ fp_edch_channel_info->edch_type = 0; /* 0 means Type 1 */
+ }
+ /* use to display e_dch_macdflow_id */
+ p_conv_data->num_dch_in_flow = 1;
+ p_conv_data->dch_ids_in_flow_list[0] = e_dch_macdflow_id;
+
+#.FN_FTR E-DCH-LogicalChannelToModifyItem
+ nbap_get_private_data(actx->pinfo)->num_items++;
+
+#.FN_BODY E-DCH-LogicalChannelInformation
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_private_data->num_items = 0;
+ nbap_edch_channel_info_t* nbap_edch_channel_info;
+ nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info;
+
+%(DEFAULT_BODY)s
+
+nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].no_ddi_entries = nbap_private_data->num_items;
+
+#.FN_HDR E-DCH-LogicalChannelInformationItem
+ nbap_get_private_data(actx->pinfo)->num_items++;
+
+#.FN_BODY E-DCH-DDI-Value VAL_PTR = &e_dch_ddi_value
+ guint32 e_dch_ddi_value;
+ guint num_items;
+ nbap_edch_channel_info_t* nbap_edch_channel_info;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info;
+%(DEFAULT_BODY)s
+
+ nbap_private_data->e_dch_ddi_value = e_dch_ddi_value;
+ if (PINFO_FD_VISITED(actx->pinfo))
+ {
+ return offset;
+ }
+ num_items = nbap_private_data->num_items;
+ if(num_items > 0 && num_items < MAX_EDCH_DDIS + 1)
+ nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].edch_ddi[num_items-1] = nbap_private_data->e_dch_ddi_value;
+
+#.FN_BODY MACdPDU-Size VAL_PTR = &mac_d_pdu_size
+guint32 mac_d_pdu_size;
+guint num_items;
+nbap_edch_channel_info_t* nbap_edch_channel_info;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info;
+%(DEFAULT_BODY)s
+
+ nbap_private_data->mac_d_pdu_size = mac_d_pdu_size;
+ if (PINFO_FD_VISITED(actx->pinfo))
+ {
+ return offset;
+ }
+ num_items = nbap_private_data->num_items;
+ if(num_items > 0 && num_items < MAX_EDCH_DDIS + 1)
+ nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].edch_macd_pdu_size[num_items-1] = nbap_private_data->mac_d_pdu_size;
+
+#.FN_BODY LogicalChannelID VAL_PTR = &logical_channel_id
+ guint32 logical_channel_id;
+ guint num_items;
+ nbap_edch_channel_info_t* nbap_edch_channel_info;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info;
+ /* Set logical channel id for this entry*/
+%(DEFAULT_BODY)s
+
+ nbap_private_data->logical_channel_id = logical_channel_id;
+ num_items = nbap_private_data->num_items;
+ if(num_items > 0 && num_items < MAX_EDCH_DDIS + 1)
+ nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].lchId[num_items-1] = nbap_private_data->logical_channel_id;
+
+#.FN_BODY RLC-Mode VAL_PTR = &rlc_mode
+ guint32 rlc_mode;
+ nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info;
+%(DEFAULT_BODY)s
+ switch(rlc_mode){
+ case 0:
+ /* rLC-AM */
+ nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].rlc_mode = FP_RLC_AM;
+ break;
+ case 1:
+ /* rLC-UM */
+ nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].rlc_mode = FP_RLC_UM;
+ break;
+ default:
+ break;
+ }
+
+#.FN_BODY UE-Capability-Information/hSDSCH-Physical-Layer-Category VAL_PTR = &hsdsch_physical_layer_category
+ guint32 hsdsch_physical_layer_category;
+ nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info;
+
+%(DEFAULT_BODY)s
+
+ nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].hsdsch_physical_layer_category = hsdsch_physical_layer_category;
+
+#.FN_BODY HSDSCH-MACdFlows-Information
+ int protocol_ie_id;
+ guint32 i;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_private_data->num_items = 0;
+ protocol_ie_id = nbap_private_data->protocol_ie_id;
+ nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+ nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info;
+
+ /*Handle special cases, when the tree is weird, ie. no useful message appears in the tree, like HSDHSCH-Information-FDD */
+ switch(protocol_ie_id){
+ /*This flow must also be added*/
+ case id_HSDSCH_MACdFlows_to_Add:
+ if (!PINFO_FD_VISITED(actx->pinfo)){
+ /* Set port to zero use that as an indication of whether we have data or not */
+ for (i = 0; i < maxNrOfMACdFlows; i++) {
+ nbap_hsdsch_channel_info[i].crnc_port = 0;
+ nbap_hsdsch_channel_info[i].rlc_mode = FP_RLC_MODE_UNKNOWN;
+ /*XXX: Added 29 jun*/
+ nbap_hsdsch_channel_info[i].entity = entity_not_specified; /* Maybe this should default to entity = hs*/
+ }
+ }
+%(DEFAULT_BODY)s
+ add_hsdsch_bind(actx->pinfo);
+
+ break;
+ default:
+%(DEFAULT_BODY)s
+ break;
+ }
+
+# Reset num_items before calling the sequence
+#.FN_HDR HSDSCH-MACdFlows-to-Delete
+ nbap_get_private_data(actx->pinfo)->num_items = 0;
+
+# Make sure num_items isn't 0 when accessing HSDSCH-MACdFlow-ID
+#
+#.FN_HDR HSDSCH-MACdFlows-to-Delete-Item
+ nbap_get_private_data(actx->pinfo)->num_items++;
+
+#.FN_HDR PriorityQueue-InfoItem
+ nbap_get_private_data(actx->pinfo)->num_items++;
+
+#.FN_HDR PriorityQueue-InfoItem-to-Add
+ nbap_get_private_data(actx->pinfo)->num_items = 1;
+
+#.FN_HDR HSDSCH-MACdFlow-Specific-InformationResp-Item
+ nbap_get_private_data(actx->pinfo)->num_items++;
+
+#.FN_BODY HSDSCH-MACdFlow-Specific-InfoItem
+ address dst_addr;
+ guint32 transportLayerAddress_ipv4;
+ guint16 bindingID;
+ guint32 hsdsch_macdflow_id;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+ nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info;
+
+ nbap_private_data->transportLayerAddress_ipv4 = 0;
+ nbap_private_data->binding_id_port = 0;
+ nbap_private_data->num_items++;
+%(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ /* Set address for collection of HSDSCH entries */
+ hsdsch_macdflow_id = nbap_private_data->hsdsch_macdflow_id;
+ copy_address_wmem(actx->pinfo->pool,&(nbap_hsdsch_channel_info[hsdsch_macdflow_id].crnc_address),&dst_addr);
+ nbap_hsdsch_channel_info[hsdsch_macdflow_id].crnc_port = bindingID;
+
+#.FN_BODY MAC-PDU-SizeExtended
+guint32 hsdsch_macdflow_id;
+nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+nbap_hsdsch_channel_info = nbap_get_private_data(actx->pinfo)->nbap_hsdsch_channel_info;
+%(DEFAULT_BODY)s
+ nbap_get_private_data(actx->pinfo)->max_mac_d_pdu_size_ext_ie_present = TRUE;
+ hsdsch_macdflow_id = nbap_get_private_data(actx->pinfo)->hsdsch_macdflow_id;
+ if(nbap_hsdsch_channel_info[hsdsch_macdflow_id].crnc_port != 0){
+ nbap_hsdsch_channel_info[hsdsch_macdflow_id].entity = ehs;
+ }
+
+#.FN_BODY HSDSCH-FDD-Information
+/*
+ * Collect the information about the HSDSCH MACdFlows set up conversation(s) and set the conversation data.
+ */
+ address null_addr;
+ conversation_t *conversation = NULL;
+ umts_fp_conversation_info_t *umts_fp_conversation_info;
+ fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL;
+ guint32 i;
+ nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+ nbap_hsdsch_channel_info = nbap_get_private_data(actx->pinfo)->nbap_hsdsch_channel_info;
+
+ if (!PINFO_FD_VISITED(actx->pinfo)){
+ /* Set port to zero use that as an indication of whether we have data or not */
+ for (i = 0; i < maxNrOfMACdFlows; i++) {
+ nbap_hsdsch_channel_info[i].crnc_port = 0;
+ nbap_hsdsch_channel_info[i].rlc_mode = FP_RLC_MODE_UNKNOWN;
+ /*XXX: Added 29 jun*/
+ nbap_hsdsch_channel_info[i].entity = entity_not_specified; /* Maybe this should default to entity = hs*/
+ }
+ }
+
+%(DEFAULT_BODY)s
+
+ if (PINFO_FD_VISITED(actx->pinfo)){
+ return offset;
+ }
+
+ /* Set port to zero use that as an indication of whether we have data or not */
+ clear_address(&null_addr);
+ for (i = 0; i < maxNrOfMACdFlows; i++) {
+ if (nbap_hsdsch_channel_info[i].crnc_port != 0){
+ nbap_debug("Frame %%u HSDSCH-MACdFlows-Information:hsdsch_macdflow_id %%u Look for conv on IP %%s Port %%u",
+ actx->pinfo->num,
+ i,
+ address_to_str (actx->pinfo->pool, &(nbap_hsdsch_channel_info[i].crnc_address)),
+ nbap_hsdsch_channel_info[i].crnc_port);
+ conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
+ CONVERSATION_UDP, nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
+
+ if (conversation == NULL) {
+ /* It's not part of any conversation - create a new one. */
+ nbap_debug("Frame %%u HSDSCH-MACdFlows-Information: Set up conv on Port %%u", actx->pinfo->num, nbap_hsdsch_channel_info[i].crnc_port);
+ conversation = conversation_new(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address),
+ &null_addr, CONVERSATION_UDP, nbap_hsdsch_channel_info[i].crnc_port,
+ 0, NO_ADDR2|NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(conversation, fp_handle);
+
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+ /* Fill in the HSDSCH relevant data */
+
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_HSDSCH;
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = actx->pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &nbap_hsdsch_channel_info[i].crnc_address);
+ umts_fp_conversation_info->crnc_port = nbap_hsdsch_channel_info[i].crnc_port;
+
+ fp_hsdsch_channel_info = wmem_new0(wmem_file_scope(), fp_hsdsch_channel_info_t);
+ umts_fp_conversation_info->channel_specific_info = (void*)fp_hsdsch_channel_info;
+ /*Added june 3, normally just the iterator variable*/
+ fp_hsdsch_channel_info->hsdsch_macdflow_id = i ; /*hsdsch_macdflow_ids[i];*/ /* hsdsch_macdflow_id;*/
+
+ /*Added july 2012*/
+ umts_fp_conversation_info->com_context_id = nbap_get_private_data(actx->pinfo)->com_context_id;
+
+ /* Cheat and use the DCH entries */
+ umts_fp_conversation_info->num_dch_in_flow++;
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow -1] = i;
+
+ /* The information collected from the 'hsdsch_physical_layer_category' field
+ * is used here to tell if the UE supports MAC-ehs or MAC-hs.
+ * This logic is based on this line in TS 25.306 / Section 5.1 :
+ * "... A UE that supports categories greater or equal to category 13, also supports MAC-ehs."
+ */
+ if(nbap_hsdsch_channel_info[i].entity == entity_not_specified ){
+
+ if(nbap_hsdsch_channel_info[i].hsdsch_physical_layer_category > 12){
+ fp_hsdsch_channel_info->hsdsch_entity = ehs;
+ }else{
+ fp_hsdsch_channel_info->hsdsch_entity = hs;
+ }
+ }else{
+ fp_hsdsch_channel_info->hsdsch_entity = (enum fp_hsdsch_entity)nbap_hsdsch_channel_info[i].entity;
+ }
+ umts_fp_conversation_info->rlc_mode = nbap_hsdsch_channel_info[i].rlc_mode;
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+ }
+ }
+ }
+ }
+
+#.FN_BODY HSDSCH-MACdFlow-Specific-InfoItem-to-Modify
+ address dst_addr;
+ guint32 transportLayerAddress_ipv4;
+ guint16 bindingID;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_private_data->transportLayerAddress_ipv4 = 0;
+ nbap_private_data->binding_id_port = 0;
+ nbap_private_data->num_items++;
+ nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+ nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info;
+
+%(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ /* Set address for collection of HSDSCH entries */
+ copy_address_wmem(actx->pinfo->pool,&(nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].crnc_address),&dst_addr);
+ nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].crnc_port = bindingID;
+
+#.FN_BODY HSDSCH-Information-to-Modify
+/*
+ * This is pretty much the same like if we setup a previous flow
+ * Collect the information about the HSDSCH MACdFlows set up conversation(s) and set the conversation data.
+ */
+ address null_addr;
+ conversation_t *conversation = NULL;
+ umts_fp_conversation_info_t *umts_fp_conversation_info;
+ fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL;
+ guint32 i;
+ nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+ nbap_hsdsch_channel_info = nbap_get_private_data(actx->pinfo)->nbap_hsdsch_channel_info;
+
+ if (!PINFO_FD_VISITED(actx->pinfo)){
+ /* Set port to zero use that as an indication of whether we have data or not */
+ for (i = 0; i < maxNrOfMACdFlows; i++) {
+ nbap_hsdsch_channel_info[i].crnc_port = 0;
+ nbap_hsdsch_channel_info[i].rlc_mode = FP_RLC_MODE_UNKNOWN;
+ /*XXX: Added 29 jun*/
+ nbap_hsdsch_channel_info[i].entity = entity_not_specified; /* Maybe this should default to entity = hs*/
+ }
+ }
+
+%(DEFAULT_BODY)s
+
+ if (PINFO_FD_VISITED(actx->pinfo)){
+ return offset;
+ }
+
+ /* Set port to zero use that as an indication of whether we have data or not */
+ clear_address(&null_addr);
+
+ nbap_debug("Frame %%u HSDSCH-MACdFlows-Information Start",
+ actx->pinfo->num);
+
+ for (i = 0; i < maxNrOfMACdFlows; i++) {
+ if (nbap_hsdsch_channel_info[i].crnc_port != 0){
+ nbap_debug(" hsdsch_macdflow_id %%u Look for conv on IP %%s Port %%u",
+ i,
+ address_to_str (actx->pinfo->pool, &(nbap_hsdsch_channel_info[i].crnc_address)),
+ nbap_hsdsch_channel_info[i].crnc_port);
+ conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
+ CONVERSATION_UDP, nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
+
+ if (conversation == NULL) {
+ /* It's not part of any conversation - create a new one. */
+ nbap_debug(" Set up conv on Port %%u", nbap_hsdsch_channel_info[i].crnc_port);
+
+ conversation = conversation_new(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address),
+ &null_addr, CONVERSATION_UDP, nbap_hsdsch_channel_info[i].crnc_port,
+ 0, NO_ADDR2|NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(conversation, fp_handle);
+
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+ /* Fill in the HSDSCH relevant data */
+
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_HSDSCH;
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = actx->pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &nbap_hsdsch_channel_info[i].crnc_address);
+ umts_fp_conversation_info->crnc_port = nbap_hsdsch_channel_info[i].crnc_port;
+
+ fp_hsdsch_channel_info = wmem_new0(wmem_file_scope(), fp_hsdsch_channel_info_t);
+ umts_fp_conversation_info->channel_specific_info = (void*)fp_hsdsch_channel_info;
+ /*Added june 3, normally just the iterator variable*/
+ fp_hsdsch_channel_info->hsdsch_macdflow_id = i ; /*hsdsch_macdflow_ids[i];*/ /* hsdsch_macdflow_id;*/
+
+ /*Added july 2012*/
+ umts_fp_conversation_info->com_context_id = nbap_get_private_data(actx->pinfo)->com_context_id;
+
+ /* Cheat and use the DCH entries */
+ umts_fp_conversation_info->num_dch_in_flow++;
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow -1] = i;
+
+ /* The information collected from the 'hsdsch_physical_layer_category' field
+ * is used here to tell if the UE supports MAC-ehs or MAC-hs.
+ * This logic is based on this line in TS 25.306 / Section 5.1 :
+ * "... A UE that supports categories greater or equal to category 13, also supports MAC-ehs."
+ */
+ if(nbap_hsdsch_channel_info[i].entity == entity_not_specified ){
+
+ if(nbap_hsdsch_channel_info[i].hsdsch_physical_layer_category > 12){
+ fp_hsdsch_channel_info->hsdsch_entity = ehs;
+ }else{
+ fp_hsdsch_channel_info->hsdsch_entity = hs;
+ }
+ }else{
+ fp_hsdsch_channel_info->hsdsch_entity = (enum fp_hsdsch_entity)nbap_hsdsch_channel_info[i].entity;
+ }
+
+ umts_fp_conversation_info->rlc_mode = nbap_hsdsch_channel_info[i].rlc_mode;
+
+ /*Indicate that the frag table has to be reset*/
+ umts_fp_conversation_info->reset_frag = TRUE;
+
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+ }
+ }
+ }
+ nbap_debug("Frame %%u HSDSCH-MACdFlows-Information End",
+ actx->pinfo->num);
+
+ }
+
+#.FN_PARS Common-MACFlow-ID VAL_PTR = &nbap_get_private_data(actx->pinfo)->common_macdflow_id
+
+/*hsdsch_macdflow_ids[nbap_get_private_data(actx->pinfo)->num_items-1] = nbap_get_private_data(actx->pinfo)->hsdsch_macdflow_id;*/
+/*THIS STUFF IST NOT DONE YET!*/
+#.FN_BODY CommonMACFlow-Specific-InfoItem
+ address dst_addr;
+ guint32 transportLayerAddress_ipv4;
+ guint16 bindingID;
+ guint32 common_macdflow_id;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+ nbap_private_data->transportLayerAddress_ipv4 = 0;
+ nbap_private_data->binding_id_port = 0;
+ nbap_private_data->num_items++;
+ nbap_common_channel_info_t* nbap_common_channel_info;
+ nbap_common_channel_info = nbap_private_data->nbap_common_channel_info;
+
+%(DEFAULT_BODY)s
+
+ transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4;
+ bindingID = nbap_private_data->binding_id_port;
+ if (PINFO_FD_VISITED(actx->pinfo) || transportLayerAddress_ipv4 == 0 || bindingID == 0){
+ return offset;
+ }
+
+ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+
+ /* Set address for collection of common entries */
+ common_macdflow_id = nbap_private_data->common_macdflow_id;
+ copy_address_wmem(actx->pinfo->pool,&(nbap_common_channel_info[common_macdflow_id].crnc_address),&dst_addr);
+ nbap_common_channel_info[common_macdflow_id].crnc_port = nbap_private_data->binding_id_port;
+
+#.FN_BODY HSDSCH-Common-System-InformationFDD
+/*
+ * 5.1.6 High Speed Downlink Shared Channels
+ * The Data Transfer procedure is used to transfer a HS-DSCH DATA FRAME (TYPE 1, TYPE 2 [FDD and 1.28Mcps
+ * TDD - or TYPE3]) from the CRNC to a Node B. HS-DSCH DATA FRAME TYPE 2 is selected if the IE HS-DSCH
+ * MAC-d PDU Size Format in NBAP (TS 25.433 [6]) is present and set to "Flexible MAC-d PDU Size" [FDD and
+ * 1.28Mcps TDD - or if the IE HS-DSCH Common System Information is present and the UE is in Cell_FACH state. HS-
+ * DSCH DATA FRAME TYPE 3 is selected if the IE HS-DSCH Paging System Information in NBAP (TS 25.433 [6]) is
+ * present and the UE is in Cell_PCH state or URA_PCH state]. HS-DSCH DATA FRAME TYPE 1 is selected in any
+ * other case.
+ */
+umts_fp_conversation_info_t *umts_fp_conversation_info = NULL;
+fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL;
+address null_addr;
+conversation_t *conversation = NULL;
+nbap_common_channel_info_t* nbap_common_channel_info;
+nbap_common_channel_info = nbap_get_private_data(actx->pinfo)->nbap_common_channel_info;
+
+int i;
+
+ if (!PINFO_FD_VISITED(actx->pinfo)){
+ /* Set port to zero use that as an indication of whether we have data or not */
+ for (i = 0; i < maxNrOfCommonMACFlows; i++) {
+ nbap_common_channel_info[i].crnc_port = 0;
+ nbap_common_channel_info[i].rlc_mode = FP_RLC_MODE_UNKNOWN;
+
+ }
+
+ }
+%(DEFAULT_BODY)s
+
+ if (PINFO_FD_VISITED(actx->pinfo)){
+ return offset;
+ }
+ /* Set port to zero use that as an indication of whether we have data or not */
+ clear_address(&null_addr);
+ for (i = 0; i < maxNrOfCommonMACFlows; i++) {
+ if (nbap_common_channel_info[i].crnc_port != 0){
+
+ conversation = find_conversation(actx->pinfo->num, &(nbap_common_channel_info[i].crnc_address), &null_addr,
+ CONVERSATION_UDP, nbap_common_channel_info[i].crnc_port, 0, NO_ADDR_B);
+
+ if (conversation == NULL) {
+ conversation = conversation_new(actx->pinfo->num, &(nbap_common_channel_info[i].crnc_address),
+ &null_addr, CONVERSATION_UDP, nbap_common_channel_info[i].crnc_port,
+ 0, NO_ADDR2|NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(conversation, fp_handle);
+ /*Set NBAP configuration to lower layers*/
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+ /*Select frame type = 3 according to paragraph 5.1.6 in 3GPP TS 25.435*/
+ umts_fp_conversation_info->channel = CHANNEL_HSDSCH_COMMON;
+ umts_fp_conversation_info->division = Division_FDD;
+
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = actx->pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &nbap_common_channel_info[i].crnc_address);
+ umts_fp_conversation_info->crnc_port = nbap_common_channel_info[i].crnc_port;
+
+ fp_hsdsch_channel_info = wmem_new0(wmem_file_scope(), fp_hsdsch_channel_info_t);
+ umts_fp_conversation_info->channel_specific_info = (void*)fp_hsdsch_channel_info;
+ fp_hsdsch_channel_info->common_macdflow_id = nbap_get_private_data(actx->pinfo)->common_macdflow_id;
+ fp_hsdsch_channel_info->hsdsch_entity = ehs;
+
+ umts_fp_conversation_info->num_dch_in_flow++;
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow -1] = i;
+
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+ }
+ }
+ }
+ }
+#This guy should perhaps also be impletemented, hsdsch frame type 3
+#.FN_BODY HSDSCH-Paging-System-InformationFDD
+ /*
+ ws_warning("HS-DSCH Type 3 NOT Implemented!");
+ */
+%(DEFAULT_BODY)s
+
+#
+#Routines for figuring out a unique UE identification number (to track flows over changing channels)
+#
+
+#.FN_BODY CRNC-CommunicationContextID VAL_PTR = &com_context_id
+guint32 com_context_id;
+%(DEFAULT_BODY)s
+nbap_get_private_data(actx->pinfo)->com_context_id = com_context_id;
+nbap_get_private_data(actx->pinfo)->crnc_context_present = TRUE;
+
+#.FN_BODY NodeB-CommunicationContextID VAL_PTR = &node_b_com_context_id
+ gboolean crnc_context_present;
+ guint node_b_com_context_id;
+ nbap_com_context_id_t *cur_val;
+ nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+
+%(DEFAULT_BODY)s
+
+ /* Checking if CRNC context is present in this frame */
+ crnc_context_present = nbap_private_data->crnc_context_present;
+ if(crnc_context_present) {
+ /* This message contains both context fields. Updaaing the contexts map if needed. */
+ if (PINFO_FD_VISITED(actx->pinfo)){
+ return offset;
+ }
+
+ /* Making sure this Node B context isn't already mapped to a CRNC context */
+ if(wmem_tree_lookup32(com_context_map, node_b_com_context_id) == NULL) {
+ /* Creating new mapping and adding to map */
+ cur_val = wmem_new(wmem_file_scope(), nbap_com_context_id_t);
+ cur_val->crnc_context = nbap_private_data->com_context_id;
+ cur_val->frame_num = actx->pinfo->num;
+ wmem_tree_insert32(com_context_map, node_b_com_context_id, cur_val);
+ }
+ }
+ else {
+ /* No CRNC context field in this message, check if Node B context is already mapped to CRNC context. */
+ cur_val = (nbap_com_context_id_t *)wmem_tree_lookup32(com_context_map,node_b_com_context_id);
+ if(cur_val != NULL){
+ /* A mapping was found. Adding to prvivate data. */
+ nbap_private_data->com_context_id = cur_val->crnc_context;
+ nbap_private_data->crnc_context_present = TRUE;
+ }
+ }
+
+#.FN_BODY HSDSCH-RNTI VAL_PTR = &hrnti
+ gint hrnti;
+umts_fp_conversation_info_t *umts_fp_conversation_info = NULL;
+fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL;
+address null_addr;
+conversation_t *conversation = NULL;
+int i;
+nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo);
+nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info;
+
+%(DEFAULT_BODY)s
+ nbap_private_data->hrnti = hrnti;
+
+ if (PINFO_FD_VISITED(actx->pinfo)){
+ return offset;
+ }
+
+ /*Find the conversations assoicated with the HS-DSCH flows in this packet and set proper H-RNTI*/
+ clear_address(&null_addr);
+ for (i = 0; i < maxNrOfMACdFlows; i++) {
+ if (nbap_hsdsch_channel_info[i].crnc_port != 0){
+ conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
+ CONVERSATION_UDP, nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
+ if(conversation != NULL){
+ umts_fp_conversation_info = (umts_fp_conversation_info_t *)conversation_get_proto_data(conversation, proto_fp);
+ DISSECTOR_ASSERT(umts_fp_conversation_info != NULL);
+ fp_hsdsch_channel_info = (fp_hsdsch_channel_info_t*)umts_fp_conversation_info->channel_specific_info;
+ DISSECTOR_ASSERT(fp_hsdsch_channel_info != NULL);
+ fp_hsdsch_channel_info->hrnti = nbap_private_data->hrnti;
+ }
+ }
+ }
+
+#.REGISTER
+
+#NBAP-PROTOCOL-IES
+TUTRANGPSMeasurementValueInformation N nbap.ies id-TUTRANGPSMeasurementValueInformation
+SFNSFNMeasurementValueInformation N nbap.ies id-SFNSFNMeasurementValueInformation
+TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue N nbap.ies id-TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmission
+HS-DSCHRequiredPower N nbap.ies id-HS-DSCHRequiredPowerValueInformation
+HS-DSCHProvidedBitRate N nbap.ies id-HS-DSCHProvidedBitRateValueInformation
+Transmitted-Carrier-Power-For-CellPortion-Value N nbap.ies id-Transmitted-Carrier-Power-For-CellPortion-Value
+Received-total-wide-band-power-For-CellPortion-Value N nbap.ies id-Received-total-wide-band-power-For-CellPortion-Value
+TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue N nbap.ies id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortionValue
+UpPTSInterferenceValue N nbap.ies id-UpPTSInterferenceValue
+DLTransmissionBranchLoadValue N nbap.ies id-DLTransmissionBranchLoadValue
+HS-DSCHRequiredPowerValueInformation-For-CellPortion N nbap.ies id-HS-DSCHRequiredPowerValueInformation-For-CellPortion
+HS-DSCHProvidedBitRateValueInformation-For-CellPortion N nbap.ies id-HS-DSCHProvidedBitRateValueInformation-For-CellPortion
+E-DCHProvidedBitRate N nbap.ies id-E-DCHProvidedBitRateValueInformation
+E-DCH-Non-serving-Relative-Grant-Down-Commands N nbap.ies id-E-DCH-Non-serving-Relative-Grant-Down-CommandsValue
+Received-Scheduled-EDCH-Power-Share-Value N nbap.ies id-Received-Scheduled-EDCH-Power-Share-Value
+Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value N nbap.ies id-Received-Scheduled-EDCH-Power-Share-For-CellPortion-Value
+TUTRANGANSSMeasurementValueInformation N nbap.ies id-TUTRANGANSSMeasurementValueInformation
+Rx-Timing-Deviation-Value-LCR N nbap.ies id-Rx-Timing-Deviation-Value-LCR
+Angle-Of-Arrival-Value-LCR N nbap.ies id-Angle-Of-Arrival-Value-LCR
+HS-SICH-Reception-Quality-Value N nbap.ies id-HS-SICH-Reception-Quality
+Best-Cell-Portions-Value N nbap.ies id-Best-Cell-Portions-Value
+Rx-Timing-Deviation-Value-768 N nbap.ies id-Rx-Timing-Deviation-Value-768
+Rx-Timing-Deviation-Value-384-ext N nbap.ies id-Rx-Timing-Deviation-Value-384-ext
+Extended-Round-Trip-Time-Value N nbap.ies id-Extended-Round-Trip-Time-Value
+NeighbouringTDDCellMeasurementInformationLCR N nbap.ies id-neighbouringTDDCellMeasurementInformationLCR
+NeighbouringTDDCellMeasurementInformation768 N nbap.ies id-neighbouringTDDCellMeasurementInformation768
+ReportCharacteristicsType-OnModification N nbap.ies id-ReportCharacteristicsType-OnModification
+Transmitted-Carrier-Power-Value N nbap.ies id-Transmitted-Carrier-Power-For-CellPortion
+Received-total-wide-band-power-Value-IncrDecrThres N nbap.ies id-Received-total-wide-band-power-For-CellPortion
+TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue N nbap.ies id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCH-E-RGCHOrE-HICHTransmissionCellPortion
+RSEPS-Value-IncrDecrThres N nbap.ies id-Received-Scheduled-EDCH-Power-Share
+TUTRANGPSMeasurementThresholdInformation N nbap.ies id-TUTRANGPSMeasurementThresholdInformation
+SFNSFNMeasurementThresholdInformation N nbap.ies id-SFNSFNMeasurementThresholdInformation
+HS-SICH-Reception-Quality-Measurement-Value N nbap.ies id-HS-SICH-Reception-Quality-Measurement-Value
+HS-DSCHRequiredPowerValue N nbap.ies id-HS-DSCHRequiredPowerValue
+HS-DSCHRequiredPowerValue N nbap.ies id-HS-DSCHRequiredPowerValue-For-Cell-Portion
+RSEPS-Value-IncrDecrThres N nbap.ies id-Received-Scheduled-EDCH-Power-Share-For-CellPortion
+HS-SICH-Reception-Quality-Measurement-Value N nbap.ies id-Additional-HS-SICH-Reception-Quality-Measurement-Value
+TUTRANGANSSMeasurementThresholdInformation N nbap.ies id-TUTRANGANSSMeasurementThresholdInformation
+C-ID N nbap.ies id-C-ID
+ConfigurationGenerationID N nbap.ies id-ConfigurationGenerationID
+CommonPhysicalChannelType-CTCH-SetupRqstFDD N nbap.ies id-CommonPhysicalChannelType-CTCH-SetupRqstFDD
+FACH-ParametersListIE-CTCH-SetupRqstFDD N nbap.ies id-FACH-ParametersListIE-CTCH-SetupRqstFDD
+PCH-ParametersItem-CTCH-SetupRqstFDD N nbap.ies id-PCH-ParametersItem-CTCH-SetupRqstFDD
+RACH-ParametersItem-CTCH-SetupRqstFDD N nbap.ies id-RACH-ParametersItem-CTCH-SetupRqstFDD
+CommonPhysicalChannelType-CTCH-SetupRqstTDD N nbap.ies id-CommonPhysicalChannelType-CTCH-SetupRqstTDD
+Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD N nbap.ies id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD
+Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD N nbap.ies id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD
+FACH-ParametersListIE-CTCH-SetupRqstTDD N nbap.ies id-FACH-ParametersListIE-CTCH-SetupRqstTDD
+PCH-ParametersItem-CTCH-SetupRqstTDD N nbap.ies id-PCH-ParametersItem-CTCH-SetupRqstTDD
+PICH-ParametersItem-CTCH-SetupRqstTDD N nbap.ies id-PICH-ParametersItem-CTCH-SetupRqstTDD
+PICH-LCR-Parameters-CTCH-SetupRqstTDD N nbap.ies id-PICH-LCR-Parameters-CTCH-SetupRqstTDD
+PRACH-ParametersItem-CTCH-SetupRqstTDD N nbap.ies id-PRACH-ParametersItem-CTCH-SetupRqstTDD
+PRACH-LCR-ParametersList-CTCH-SetupRqstTDD N nbap.ies id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD
+RACH-ParameterItem-CTCH-SetupRqstTDD N nbap.ies id-RACH-ParameterItem-CTCH-SetupRqstTDD
+FACH-CommonTransportChannel-InformationResponse N nbap.ies id-FACH-ParametersList-CTCH-SetupRsp
+CommonTransportChannel-InformationResponse N nbap.ies id-PCH-Parameters-CTCH-SetupRsp
+CommonTransportChannel-InformationResponse N nbap.ies id-RACH-Parameters-CTCH-SetupRsp
+CriticalityDiagnostics N nbap.ies id-CriticalityDiagnostics
+Cause N nbap.ies id-Cause
+CommonPhysicalChannelType-CTCH-ReconfRqstFDD N nbap.ies id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD
+FACH-ParametersListIE-CTCH-ReconfRqstFDD N nbap.ies id-FACH-ParametersListIE-CTCH-ReconfRqstFDD
+PCH-ParametersItem-CTCH-ReconfRqstFDD N nbap.ies id-PCH-ParametersItem-CTCH-ReconfRqstFDD
+PICH-ParametersItem-CTCH-ReconfRqstFDD N nbap.ies id-PICH-ParametersItem-CTCH-ReconfRqstFDD
+PRACH-ParametersListIE-CTCH-ReconfRqstFDD N nbap.ies id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD
+AICH-ParametersListIE-CTCH-ReconfRqstFDD N nbap.ies id-AICH-ParametersListIE-CTCH-ReconfRqstFDD
+Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD N nbap.ies id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD
+PICH-Parameters-CTCH-ReconfRqstTDD N nbap.ies id-PICH-Parameters-CTCH-ReconfRqstTDD
+FACH-ParametersList-CTCH-ReconfRqstTDD N nbap.ies id-FACH-ParametersList-CTCH-ReconfRqstTDD
+PCH-Parameters-CTCH-ReconfRqstTDD N nbap.ies id-PCH-Parameters-CTCH-ReconfRqstTDD
+Secondary-CCPCHListIE-CTCH-ReconfRqstTDD N nbap.ies id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD
+CommonPhysicalChannelID N nbap.ies id-CommonPhysicalChannelID
+BlockingPriorityIndicator N nbap.ies id-BlockingPriorityIndicator
+ShutdownTimer N nbap.ies id-ShutdownTimer
+Start-Of-Audit-Sequence-Indicator N nbap.ies id-Start-Of-Audit-Sequence-Indicator
+End-Of-Audit-Sequence-Indicator N nbap.ies id-End-Of-Audit-Sequence-Indicator
+Cell-InformationList-AuditRsp N nbap.ies id-Cell-InformationList-AuditRsp
+CCP-InformationList-AuditRsp N nbap.ies id-CCP-InformationList-AuditRsp
+Local-Cell-InformationList-AuditRsp N nbap.ies id-Local-Cell-InformationList-AuditRsp
+Local-Cell-Group-InformationList-AuditRsp N nbap.ies id-Local-Cell-Group-InformationList-AuditRsp
+Cell-InformationItem-AuditRsp N nbap.ies id-Cell-InformationItem-AuditRsp
+Common-PhysicalChannel-Status-Information N nbap.ies id-P-SCH-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-S-SCH-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-P-CPICH-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-S-CPICH-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-P-CCPCH-Information
+Common-TransportChannel-Status-Information N nbap.ies id-BCH-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-S-CCPCH-Information
+Common-TransportChannel-Status-Information N nbap.ies id-PCH-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-PICH-Information
+Common-TransportChannel-Status-Information N nbap.ies id-FACH-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-PRACH-Information
+Common-TransportChannel-Status-Information N nbap.ies id-RACH-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-AICH-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-SCH-Information
+CCP-InformationItem-AuditRsp N nbap.ies id-CCP-InformationItem-AuditRsp
+Common-PhysicalChannel-Status-Information N nbap.ies id-FPACH-LCR-Information-AuditRsp
+Common-PhysicalChannel-Status-Information768 N nbap.ies id-S-CCPCH-768-Information-AuditRsp
+Common-PhysicalChannel-Status-Information768 N nbap.ies id-PRACH-768-Information
+Local-Cell-InformationItem-AuditRsp N nbap.ies id-Local-Cell-InformationItem-AuditRsp
+Local-Cell-Group-InformationItem-AuditRsp N nbap.ies id-Local-Cell-Group-InformationItem-AuditRsp
+Power-Local-Cell-Group-InformationItem-AuditRsp N nbap.ies id-Power-Local-Cell-Group-InformationItem-AuditRsp
+Common-PhysicalChannel-Status-Information N nbap.ies id-PLCCH-Information-AuditRsp
+Common-PhysicalChannel-Status-Information N nbap.ies id-E-RUCCH-Information
+Common-PhysicalChannel-Status-Information768 N nbap.ies id-E-RUCCH-768-Information
+MeasurementID N nbap.ies id-MeasurementID
+CommonMeasurementObjectType-CM-Rqst N nbap.ies id-CommonMeasurementObjectType-CM-Rqst
+CommonMeasurementType N nbap.ies id-CommonMeasurementType
+MeasurementFilterCoefficient N nbap.ies id-MeasurementFilterCoefficient
+ReportCharacteristics N nbap.ies id-ReportCharacteristics
+FNReportingIndicator N nbap.ies id-SFNReportingIndicator
+SFN N nbap.ies id-SFN
+PowerLocalCellGroup-CM-Rqst N nbap.ies id-Power-Local-Cell-Group-choice-CM-Rqst
+CommonMeasurementObjectType-CM-Rsp N nbap.ies id-CommonMeasurementObjectType-CM-Rsp
+PowerLocalCellGroup-CM-Rsp N nbap.ies id-Power-Local-Cell-Group-choice-CM-Rsp
+CommonMeasurementObjectType-CM-Rprt N nbap.ies id-CommonMeasurementObjectType-CM-Rprt
+PowerLocalCellGroup-CM-Rprt N nbap.ies id-Power-Local-Cell-Group-choice-CM-Rprt
+Local-Cell-ID N nbap.ies id-Local-Cell-ID
+T-Cell N nbap.ies id-T-Cell
+UARFCN N nbap.ies id-UARFCNforNu
+UARFCN N nbap.ies id-UARFCNforNd
+MaximumTransmissionPower N nbap.ies id-MaximumTransmissionPower
+Closedlooptimingadjustmentmode N nbap.ies id-Closed-Loop-Timing-Adjustment-Mode
+PrimaryScramblingCode N nbap.ies id-PrimaryScramblingCode
+Synchronisation-Configuration-Cell-SetupRqst N nbap.ies id-Synchronisation-Configuration-Cell-SetupRqst
+DL-TPC-Pattern01Count N nbap.ies id-DL-TPC-Pattern01Count
+PrimarySCH-Information-Cell-SetupRqstFDD N nbap.ies id-PrimarySCH-Information-Cell-SetupRqstFDD
+SecondarySCH-Information-Cell-SetupRqstFDD N nbap.ies id-SecondarySCH-Information-Cell-SetupRqstFDD
+PrimaryCPICH-Information-Cell-SetupRqstFDD N nbap.ies id-PrimaryCPICH-Information-Cell-SetupRqstFDD
+SecondaryCPICH-InformationList-Cell-SetupRqstFDD N nbap.ies id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD
+PrimaryCCPCH-Information-Cell-SetupRqstFDD N nbap.ies id-PrimaryCCPCH-Information-Cell-SetupRqstFDD
+Limited-power-increase-information-Cell-SetupRqstFDD N nbap.ies id-Limited-power-increase-information-Cell-SetupRqstFDD
+SecondaryCPICH-InformationItem-Cell-SetupRqstFDD N nbap.ies id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD
+CellPortion-InformationItem-Cell-SetupRqstFDD N nbap.ies id-CellPortion-InformationItem-Cell-SetupRqstFDD
+UARFCN N nbap.ies id-UARFCNforNt
+CellParameterID N nbap.ies id-CellParameterID
+TransmissionDiversityApplied N nbap.ies id-TransmissionDiversityApplied
+SyncCase N nbap.ies id-SyncCase
+ConstantValue N nbap.ies id-DPCHConstant
+ConstantValue N nbap.ies id-PUSCHConstant
+ConstantValue N nbap.ies id-PRACHConstant
+TimingAdvanceApplied N nbap.ies id-TimingAdvanceApplied
+SCH-Information-Cell-SetupRqstTDD N nbap.ies id-SCH-Information-Cell-SetupRqstTDD
+PCCPCH-Information-Cell-SetupRqstTDD N nbap.ies id-PCCPCH-Information-Cell-SetupRqstTDD
+TimeSlotConfigurationList-Cell-SetupRqstTDD N nbap.ies id-TimeSlotConfigurationList-Cell-SetupRqstTDD
+SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH N nbap.ies id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH
+Synchronisation-Configuration-Cell-ReconfRqst N nbap.ies id-Synchronisation-Configuration-Cell-ReconfRqst
+PrimarySCH-Information-Cell-ReconfRqstFDD N nbap.ies id-PrimarySCH-Information-Cell-ReconfRqstFDD
+SecondarySCH-Information-Cell-ReconfRqstFDD N nbap.ies id-SecondarySCH-Information-Cell-ReconfRqstFDD
+PrimaryCPICH-Information-Cell-ReconfRqstFDD N nbap.ies id-PrimaryCPICH-Information-Cell-ReconfRqstFDD
+SecondaryCPICH-InformationList-Cell-ReconfRqstFDD N nbap.ies id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD
+PrimaryCCPCH-Information-Cell-ReconfRqstFDD N nbap.ies id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD
+SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD N nbap.ies id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD
+CellPortion-InformationItem-Cell-ReconfRqstFDD N nbap.ies id-CellPortion-InformationItem-Cell-ReconfRqstFDD
+SCH-Information-Cell-ReconfRqstTDD N nbap.ies id-SCH-Information-Cell-ReconfRqstTDD
+PCCPCH-Information-Cell-ReconfRqstTDD N nbap.ies id-PCCPCH-Information-Cell-ReconfRqstTDD
+TimeSlotConfigurationList-Cell-ReconfRqstTDD N nbap.ies id-TimeSlotConfigurationList-Cell-ReconfRqstTDD
+IndicationType-ResourceStatusInd N nbap.ies id-IndicationType-ResourceStatusInd
+Local-Cell-InformationItem-ResourceStatusInd N nbap.ies id-Local-Cell-InformationItem-ResourceStatusInd
+Local-Cell-Group-InformationItem-ResourceStatusInd N nbap.ies id-Local-Cell-Group-InformationItem-ResourceStatusInd
+Power-Local-Cell-Group-InformationItem-ResourceStatusInd N nbap.ies id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd
+Local-Cell-InformationItem2-ResourceStatusInd N nbap.ies id-Local-Cell-InformationItem2-ResourceStatusInd
+Local-Cell-Group-InformationItem2-ResourceStatusInd N nbap.ies id-Local-Cell-Group-InformationItem2-ResourceStatusInd
+Power-Local-Cell-Group-InformationItem2-ResourceStatusInd N nbap.ies id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd
+CCP-InformationItem-ResourceStatusInd N nbap.ies id-CCP-InformationItem-ResourceStatusInd
+Cell-InformationItem-ResourceStatusInd N nbap.ies id-Cell-InformationItem-ResourceStatusInd
+Common-PhysicalChannel-Status-Information N nbap.ies id-FPACH-LCR-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-DwPCH-LCR-Information
+Common-PhysicalChannel-Status-Information N nbap.ies id-PLCCH-Information-ResourceStatusInd
+Common-PhysicalChannel-Status-Information768 N nbap.ies id-S-CCPCH-768-Information-ResourceStatusInd
+BCCH-ModificationTime N nbap.ies id-BCCH-ModificationTime
+MIB-SB-SIB-InformationList-SystemInfoUpdateRqst N nbap.ies id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst
+SegmentInformationListIE-SystemInfoUpdate N nbap.ies id-SegmentInformationListIE-SystemInfoUpdate
+CRNC-CommunicationContextID N nbap.ies id-CRNC-CommunicationContextID
+UL-DPCH-Information-RL-SetupRqstFDD N nbap.ies id-UL-DPCH-Information-RL-SetupRqstFDD
+DL-DPCH-Information-RL-SetupRqstFDD N nbap.ies id-DL-DPCH-Information-RL-SetupRqstFDD
+DCH-FDD-Information N nbap.ies id-DCH-FDD-Information
+RL-InformationList-RL-SetupRqstFDD N nbap.ies id-RL-InformationList-RL-SetupRqstFDD
+Transmission-Gap-Pattern-Sequence-Information N nbap.ies id-Transmission-Gap-Pattern-Sequence-Information
+Active-Pattern-Sequence-Information N nbap.ies id-Active-Pattern-Sequence-Information
+RL-InformationItem-RL-SetupRqstFDD N nbap.ies id-RL-InformationItem-RL-SetupRqstFDD
+UL-CCTrCH-InformationList-RL-SetupRqstTDD N nbap.ies id-UL-CCTrCH-InformationList-RL-SetupRqstTDD
+DL-CCTrCH-InformationList-RL-SetupRqstTDD N nbap.ies id-DL-CCTrCH-InformationList-RL-SetupRqstTDD
+DCH-TDD-Information N nbap.ies id-DCH-TDD-Information
+DSCH-TDD-Information N nbap.ies id-DSCH-TDD-Information
+USCH-Information N nbap.ies id-USCH-Information
+RL-Information-RL-SetupRqstTDD N nbap.ies id-RL-Information-RL-SetupRqstTDD
+UL-CCTrCH-InformationItem-RL-SetupRqstTDD N nbap.ies id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD
+UL-DPCH-InformationItem-RL-SetupRqstTDD N nbap.ies id-UL-DPCH-InformationList-RL-SetupRqstTDD
+DL-CCTrCH-InformationItem-RL-SetupRqstTDD N nbap.ies id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD
+DL-DPCH-InformationItem-RL-SetupRqstTDD N nbap.ies id-DL-DPCH-InformationList-RL-SetupRqstTDD
+NodeB-CommunicationContextID N nbap.ies id-NodeB-CommunicationContextID
+CommunicationControlPortID N nbap.ies id-CommunicationControlPortID
+RL-InformationResponseList-RL-SetupRspFDD N nbap.ies id-RL-InformationResponseList-RL-SetupRspFDD
+RL-InformationResponseItem-RL-SetupRspFDD N nbap.ies id-RL-InformationResponseItem-RL-SetupRspFDD
+RL-InformationResponse-RL-SetupRspTDD N nbap.ies id-RL-InformationResponse-RL-SetupRspTDD
+DCH-InformationResponse N nbap.ies id-DCH-InformationResponse
+DSCH-InformationResponse N nbap.ies id-DSCH-InformationResponse
+USCH-InformationResponse N nbap.ies id-USCH-InformationResponse
+CauseLevel-RL-SetupFailureFDD N nbap.ies id-CauseLevel-RL-SetupFailureFDD
+Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD N nbap.ies id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD
+Successful-RL-InformationRespItem-RL-SetupFailureFDD N nbap.ies id-Successful-RL-InformationRespItem-RL-SetupFailureFDD
+CauseLevel-RL-SetupFailureTDD N nbap.ies id-CauseLevel-RL-SetupFailureTDD
+Unsuccessful-RL-InformationResp-RL-SetupFailureTDD N nbap.ies id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD
+Compressed-Mode-Deactivation-Flag N nbap.ies id-Compressed-Mode-Deactivation-Flag
+RL-InformationList-RL-AdditionRqstFDD N nbap.ies id-RL-InformationList-RL-AdditionRqstFDD
+RL-InformationItem-RL-AdditionRqstFDD N nbap.ies id-RL-InformationItem-RL-AdditionRqstFDD
+UL-CCTrCH-InformationList-RL-AdditionRqstTDD N nbap.ies id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD
+DL-CCTrCH-InformationList-RL-AdditionRqstTDD N nbap.ies id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD
+RL-Information-RL-AdditionRqstTDD N nbap.ies id-RL-Information-RL-AdditionRqstTDD
+UL-DPCH-InformationItem-RL-AdditionRqstTDD N nbap.ies id-UL-DPCH-InformationItem-RL-AdditionRqstTDD
+DL-DPCH-InformationItem-RL-AdditionRqstTDD N nbap.ies id-DL-DPCH-InformationItem-RL-AdditionRqstTDD
+RL-InformationResponseList-RL-AdditionRspFDD N nbap.ies id-RL-InformationResponseList-RL-AdditionRspFDD
+RL-InformationResponseItem-RL-AdditionRspFDD N nbap.ies id-RL-InformationResponseItem-RL-AdditionRspFDD
+RL-InformationResponse-RL-AdditionRspTDD N nbap.ies id-RL-InformationResponse-RL-AdditionRspTDD
+CauseLevel-RL-AdditionFailureFDD N nbap.ies id-CauseLevel-RL-AdditionFailureFDD
+Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD N nbap.ies id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD
+Successful-RL-InformationRespItem-RL-AdditionFailureFDD N nbap.ies id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD
+CauseLevel-RL-AdditionFailureTDD N nbap.ies id-CauseLevel-RL-AdditionFailureTDD
+Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD N nbap.ies id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD
+UL-DPCH-Information-RL-ReconfPrepFDD N nbap.ies id-UL-DPCH-Information-RL-ReconfPrepFDD
+DL-DPCH-Information-RL-ReconfPrepFDD N nbap.ies id-DL-DPCH-Information-RL-ReconfPrepFDD
+FDD-DCHs-to-Modify N nbap.ies id-FDD-DCHs-to-Modify
+DCH-FDD-Information N nbap.ies id-DCHs-to-Add-FDD
+DCH-DeleteList-RL-ReconfPrepFDD N nbap.ies id-DCH-DeleteList-RL-ReconfPrepFDD
+RL-InformationList-RL-ReconfPrepFDD N nbap.ies id-RL-InformationList-RL-ReconfPrepFDD
+RL-InformationItem-RL-ReconfPrepFDD N nbap.ies id-RL-InformationItem-RL-ReconfPrepFDD
+UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD N nbap.ies id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD
+UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD N nbap.ies id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD
+UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD N nbap.ies id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD
+DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD N nbap.ies id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD
+DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD N nbap.ies id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD
+DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD N nbap.ies id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD
+TDD-DCHs-to-Modify N nbap.ies id-TDD-DCHs-to-Modify
+DCH-TDD-Information N nbap.ies id-DCHs-to-Add-TDD
+DCH-DeleteList-RL-ReconfPrepTDD N nbap.ies id-DCH-DeleteList-RL-ReconfPrepTDD
+DSCH-Information-ModifyList-RL-ReconfPrepTDD N nbap.ies id-DSCH-Information-ModifyList-RL-ReconfPrepTDD
+DSCH-TDD-Information N nbap.ies id-DSCHs-to-Add-TDD
+DSCH-Information-DeleteList-RL-ReconfPrepTDD N nbap.ies id-DSCH-Information-DeleteList-RL-ReconfPrepTDD
+USCH-Information-ModifyList-RL-ReconfPrepTDD N nbap.ies id-USCH-Information-ModifyList-RL-ReconfPrepTDD
+USCH-Information N nbap.ies id-USCH-Information-Add
+USCH-Information-DeleteList-RL-ReconfPrepTDD N nbap.ies id-USCH-Information-DeleteList-RL-ReconfPrepTDD
+RL-Information-RL-ReconfPrepTDD N nbap.ies id-RL-Information-RL-ReconfPrepTDD
+UL-DPCH-InformationAddItem-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD
+UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD
+UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD
+UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD
+DL-DPCH-InformationAddItem-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD
+DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD
+DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD
+DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD
+RL-InformationResponseList-RL-ReconfReady N nbap.ies id-RL-InformationResponseList-RL-ReconfReady
+RL-InformationResponseItem-RL-ReconfReady N nbap.ies id-RL-InformationResponseItem-RL-ReconfReady
+CauseLevel-RL-ReconfFailure N nbap.ies id-CauseLevel-RL-ReconfFailure
+RL-ReconfigurationFailureItem-RL-ReconfFailure N nbap.ies id-RL-ReconfigurationFailureItem-RL-ReconfFailure
+CFN N nbap.ies id-CFN
+UL-DPCH-Information-RL-ReconfRqstFDD N nbap.ies id-UL-DPCH-Information-RL-ReconfRqstFDD
+DL-DPCH-Information-RL-ReconfRqstFDD N nbap.ies id-DL-DPCH-Information-RL-ReconfRqstFDD
+DCH-DeleteList-RL-ReconfRqstFDD N nbap.ies id-DCH-DeleteList-RL-ReconfRqstFDD
+RL-InformationList-RL-ReconfRqstFDD N nbap.ies id-RL-InformationList-RL-ReconfRqstFDD
+RL-InformationItem-RL-ReconfRqstFDD N nbap.ies id-RL-InformationItem-RL-ReconfRqstFDD
+UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD N nbap.ies id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD
+UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD N nbap.ies id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD
+DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD N nbap.ies id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD
+DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD N nbap.ies id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD
+DCH-DeleteList-RL-ReconfRqstTDD N nbap.ies id-DCH-DeleteList-RL-ReconfRqstTDD
+RL-Information-RL-ReconfRqstTDD N nbap.ies id-RL-Information-RL-ReconfRqstTDD
+UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD N nbap.ies id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD
+UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD N nbap.ies id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD
+DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD N nbap.ies id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD
+DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD N nbap.ies id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD
+RL-InformationResponseList-RL-ReconfRsp N nbap.ies id-RL-InformationResponseList-RL-ReconfRsp
+RL-InformationResponseItem-RL-ReconfRsp N nbap.ies id-RL-InformationResponseItem-RL-ReconfRsp
+RL-informationList-RL-DeletionRqst N nbap.ies id-RL-informationList-RL-DeletionRqst
+RL-informationItem-RL-DeletionRqst N nbap.ies id-RL-informationItem-RL-DeletionRqst
+PowerAdjustmentType N nbap.ies id-PowerAdjustmentType
+DL-Power N nbap.ies id-DLReferencePower
+InnerLoopDLPCStatus N nbap.ies id-InnerLoopDLPCStatus
+DL-ReferencePowerInformationList-DL-PC-Rqst N nbap.ies id-DLReferencePowerList-DL-PC-Rqst
+MaxAdjustmentStep N nbap.ies id-MaxAdjustmentStep
+AdjustmentPeriod N nbap.ies id-AdjustmentPeriod
+ScaledAdjustmentRatio N nbap.ies id-AdjustmentRatio
+DL-ReferencePowerInformationItem-DL-PC-Rqst N nbap.ies id-DL-ReferencePowerInformationItem-DL-PC-Rqst
+DL-TimeslotISCPInfo N nbap.ies id-TimeslotISCPInfo
+DedicatedMeasurementObjectType-DM-Rqst N nbap.ies id-DedicatedMeasurementObjectType-DM-Rqst
+DedicatedMeasurementType N nbap.ies id-DedicatedMeasurementType
+FNReportingIndicator N nbap.ies id-CFNReportingIndicator
+RL-InformationItem-DM-Rqst N nbap.ies id-RL-InformationItem-DM-Rqst
+DedicatedMeasurementObjectType-DM-Rsp N nbap.ies id-DedicatedMeasurementObjectType-DM-Rsp
+RL-InformationItem-DM-Rsp N nbap.ies id-RL-InformationItem-DM-Rsp
+RL-Set-InformationItem-DM-Rsp N nbap.ies id-RL-Set-InformationItem-DM-Rsp
+DedicatedMeasurementObjectType-DM-Rprt N nbap.ies id-DedicatedMeasurementObjectType-DM-Rprt
+RL-InformationItem-DM-Rprt N nbap.ies id-RL-InformationItem-DM-Rprt
+RL-Set-InformationItem-DM-Rprt N nbap.ies id-RL-Set-InformationItem-DM-Rprt
+Reporting-Object-RL-FailureInd N nbap.ies id-Reporting-Object-RL-FailureInd
+RL-InformationItem-RL-FailureInd N nbap.ies id-RL-InformationItem-RL-FailureInd
+RL-Set-InformationItem-RL-FailureInd N nbap.ies id-RL-Set-InformationItem-RL-FailureInd
+CCTrCH-InformationItem-RL-FailureInd N nbap.ies id-CCTrCH-InformationItem-RL-FailureInd
+RL-InformationList-RL-PreemptRequiredInd N nbap.ies id-RL-InformationList-RL-PreemptRequiredInd
+RL-InformationItem-RL-PreemptRequiredInd N nbap.ies id-RL-InformationItem-RL-PreemptRequiredInd
+Reporting-Object-RL-RestoreInd N nbap.ies id-Reporting-Object-RL-RestoreInd
+RL-InformationItem-RL-RestoreInd N nbap.ies id-RL-InformationItem-RL-RestoreInd
+RL-Set-InformationItem-RL-RestoreInd N nbap.ies id-RL-Set-InformationItem-RL-RestoreInd
+CCTrCH-InformationItem-RL-RestoreInd N nbap.ies id-CCTrCH-InformationItem-RL-RestoreInd
+MaximumTransmissionPower N nbap.ies id-HS-PDSCH-HS-SCCH-E-AGCH-E-RGCH-E-HICH-MaxPower-PSCH-ReconfRqst
+DL-ScramblingCode N nbap.ies id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst
+HS-PDSCH-FDD-Code-Information N nbap.ies id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst
+HS-SCCH-FDD-Code-Information N nbap.ies id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst
+PDSCHSets-AddList-PSCH-ReconfRqst N nbap.ies id-PDSCHSets-AddList-PSCH-ReconfRqst
+PDSCHSets-ModifyList-PSCH-ReconfRqst N nbap.ies id-PDSCHSets-ModifyList-PSCH-ReconfRqst
+PDSCHSets-DeleteList-PSCH-ReconfRqst N nbap.ies id-PDSCHSets-DeleteList-PSCH-ReconfRqst
+PUSCHSets-AddList-PSCH-ReconfRqst N nbap.ies id-PUSCHSets-AddList-PSCH-ReconfRqst
+PUSCHSets-ModifyList-PSCH-ReconfRqst N nbap.ies id-PUSCHSets-ModifyList-PSCH-ReconfRqst
+PUSCHSets-DeleteList-PSCH-ReconfRqst N nbap.ies id-PUSCHSets-DeleteList-PSCH-ReconfRqst
+PDSCH-Information-AddItem-PSCH-ReconfRqst N nbap.ies id-PDSCH-Information-AddListIE-PSCH-ReconfRqst
+PDSCH-Information-ModifyItem-PSCH-ReconfRqst N nbap.ies id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst
+PDSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst N nbap.ies id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst
+PUSCH-Information-AddItem-PSCH-ReconfRqst N nbap.ies id-PUSCH-Information-AddListIE-PSCH-ReconfRqst
+PUSCH-Information-ModifyItem-PSCH-ReconfRqst N nbap.ies id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst
+PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst N nbap.ies id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst
+CauseLevel-PSCH-ReconfFailure N nbap.ies id-CauseLevel-PSCH-ReconfFailure
+Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD N nbap.ies id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD
+Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD N nbap.ies id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD
+ResetIndicator N nbap.ies id-ResetIndicator
+CommunicationContextInfoItem-Reset N nbap.ies id-CommunicationContextInfoItem-Reset
+CommunicationControlPortInfoItem-Reset N nbap.ies id-CommunicationControlPortInfoItem-Reset
+InformationExchangeID N nbap.ies id-InformationExchangeID
+InformationExchangeObjectType-InfEx-Rqst N nbap.ies id-InformationExchangeObjectType-InfEx-Rqst
+InformationType N nbap.ies id-InformationType
+InformationReportCharacteristics N nbap.ies id-InformationReportCharacteristics
+InformationExchangeObjectType-InfEx-Rsp N nbap.ies id-InformationExchangeObjectType-InfEx-Rsp
+InformationExchangeObjectType-InfEx-Rprt N nbap.ies id-InformationExchangeObjectType-InfEx-Rprt
+CellSyncBurstRepetitionPeriod N nbap.ies id-cellSyncBurstRepetitionPeriod
+TimeslotInfo-CellSyncInitiationRqstTDD N nbap.ies id-timeslotInfo-CellSyncInitiationRqstTDD
+CellSyncBurstTransInit-CellSyncInitiationRqstTDD N nbap.ies id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD
+CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD N nbap.ies id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD
+TimeSlot N nbap.ies id-TimeSlot
+NCyclesPerSFNperiod N nbap.ies id-NCyclesPerSFNperiod
+NRepetitionsPerCyclePeriod N nbap.ies id-NRepetitionsPerCyclePeriod
+CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD N nbap.ies id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD
+CellSyncBurstMeasInfo-CellSyncReconfRqstTDD N nbap.ies id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD
+CellSyncBurstMeasInfoListIE-CellSyncReconfRqstTDD N nbap.ies id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD
+SynchronisationReportType N nbap.ies id-SynchronisationReportType
+SynchronisationReportCharacteristics N nbap.ies id-SynchronisationReportCharacteristics
+CellAdjustmentInfo-SyncAdjustmentRqstTDD N nbap.ies id-CellAdjustmentInfo-SyncAdjustmntRqstTDD
+CellAdjustmentInfoItem-SyncAdjustmentRqstTDD N nbap.ies id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD
+CauseLevel-SyncAdjustmntFailureTDD N nbap.ies id-CauseLevel-SyncAdjustmntFailureTDD
+Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD N nbap.ies id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD
+CSBTransmissionID N nbap.ies id-CSBTransmissionID
+CSBMeasurementID N nbap.ies id-CSBMeasurementID
+CellSyncInfo-CellSyncReprtTDD N nbap.ies id-CellSyncInfo-CellSyncReprtTDD
+SyncReportType-CellSyncReprtTDD N nbap.ies id-SyncReportType-CellSyncReprtTDD
+SignallingBearerRequestIndicator N nbap.ies id-SignallingBearerRequestIndicator
+DCH-RearrangeList-Bearer-RearrangeInd N nbap.ies id-DCH-RearrangeList-Bearer-RearrangeInd
+DSCH-RearrangeList-Bearer-RearrangeInd N nbap.ies id-DSCH-RearrangeList-Bearer-RearrangeInd
+USCH-RearrangeList-Bearer-RearrangeInd N nbap.ies id-USCH-RearrangeList-Bearer-RearrangeInd
+HSDSCH-RearrangeList-Bearer-RearrangeInd N nbap.ies id-HSDSCH-RearrangeList-Bearer-RearrangeInd
+DelayedActivationInformationList-RL-ActivationCmdFDD N nbap.ies id-DelayedActivationList-RL-ActivationCmdFDD
+DelayedActivationInformation-RL-ActivationCmdFDD N nbap.ies id-DelayedActivationInformation-RL-ActivationCmdFDD
+DelayedActivationInformationList-RL-ActivationCmdTDD N nbap.ies id-DelayedActivationList-RL-ActivationCmdTDD
+DelayedActivationInformation-RL-ActivationCmdTDD N nbap.ies id-DelayedActivationInformation-RL-ActivationCmdTDD
+HSDSCH-FDD-Update-Information N nbap.ies id-HSDSCH-FDD-Update-Information
+HSDSCH-TDD-Update-Information N nbap.ies id-HSDSCH-TDD-Update-Information
+Modification-Period N nbap.ies id-Modification-Period
+MICH-CFN N nbap.ies id-MICH-CFN
+NI-Information N nbap.ies id-NI-Information-NotifUpdateCmd
+Cell-Frequency-List-InformationItem-LCR-MulFreq-AuditRsp N nbap.ies id-Cell-Frequency-List-InformationItem-LCR-MulFreq-AuditRsp
+Cell-Frequency-List-InformationItem-LCR-MulFreq-ResourceStatusInd N nbap.ies id-Cell-Frequency-List-InformationItem-LCR-MulFreq-ResourceStatusInd
+UPPCH-LCR-InformationItem-AuditRsp N nbap.ies id-UPPCH-LCR-InformationItem-AuditRsp
+UPPCH-LCR-InformationItem-ResourceStatusInd N nbap.ies id-UPPCH-LCR-InformationItem-ResourceStatusInd
+Unsuccessful-UARFCNItem-PSCH-ReconfFailureTDD N nbap.ies id-Unsuccessful-UARFCNItem-PSCH-ReconfFailureTDD
+UARFCNSpecificCauseList-PSCH-ReconfFailureTDD N nbap.ies id-UARFCNSpecificCauseList
+MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst N nbap.ies id-MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst
+MultipleFreq-E-PUCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst N nbap.ies id-MultipleFreq-E-PUCH-Timeslot-Information-LCRItem-PSCH-ReconfRqst
+MultipleFreq-E-HICH-TimeOffsetLCR N nbap.ies id-MultipleFreq-E-HICH-TimeOffsetLCR
+PLCCH-parameters N nbap.ies id-PLCCH-parameters
+E-RUCCH-parameters N nbap.ies id-E-RUCCH-parameters
+E-RUCCH-768-parameters N nbap.ies id-E-RUCCH-768-parameters
+Cell-ERNTI-Status-Information N nbap.ies id-Cell-ERNTI-Status-Information
+ERACH-CM-Rqst N nbap.ies id-ERACH-CM-Rqst
+ERACH-CM-Rsp N nbap.ies id-ERACH-CM-Rsp
+ERACH-CM-Rprt N nbap.ies id-ERACH-CM-Rprt
+EDCH-RACH-Report-Value N nbap.ies id-EDCH-RACH-Report-Value
+EDCH-RACH-Report-IncrDecrThres N nbap.ies id-EDCH-RACH-Report-IncrDecrThres
+EDCH-RACH-Report-ThresholdInformation N nbap.ies id-EDCH-RACH-Report-ThresholdInformation
+GANSS-ALM-NAVKeplerianSet N nbap.ies id-GANSS-alm-keplerianNAVAlmanac
+GANSS-ALM-ReducedKeplerianSet N nbap.ies id-GANSS-alm-keplerianReducedAlmanac
+GANSS-ALM-MidiAlmanacSet N nbap.ies id-GANSS-alm-keplerianMidiAlmanac
+GANSS-ALM-GlonassAlmanacSet N nbap.ies id-GANSS-alm-keplerianGLONASS
+GANSS-ALM-ECEFsbasAlmanacSet N nbap.ies id-GANSS-alm-ecefSBASAlmanac
+UL-TimeslotISCP-Value-IncrDecrThres N nbap.ies id-ULTimeslotISCPValue-For-CellPortion
+UpPTSInterferenceValue N nbap.ies id-UpPTSInterferenceValue-For-CellPortion
+Best-Cell-Portions-ValueLCR N nbap.ies id-Best-Cell-Portions-ValueLCR
+Transmitted-Carrier-Power-For-CellPortion-ValueLCR N nbap.ies id-Transmitted-Carrier-Power-For-CellPortion-ValueLCR
+Received-total-wide-band-power-For-CellPortion-ValueLCR N nbap.ies id-Received-total-wide-band-power-For-CellPortion-ValueLCR
+UL-TimeslotISCP-For-CellPortion-Value N nbap.ies id-UL-TimeslotISCP-For-CellPortion-Value
+HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR N nbap.ies id-HS-DSCHRequiredPowerValueInformation-For-CellPortionLCR
+HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR N nbap.ies id-HS-DSCHProvidedBitRateValueInformation-For-CellPortionLCR
+E-DCHProvidedBitRateValueInformation-For-CellPortion N nbap.ies id-E-DCHProvidedBitRateValueInformation-For-CellPortion
+UpPTSInterference-For-CellPortion-Value N nbap.ies id-UpPTSInterference-For-CellPortion-Value
+TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue N nbap.ies id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortionValue
+TransmittedCarrierPowerOfAllCodesNotUsedForHSTransmissionValue N nbap.ies id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCH-HS-SCCH-E-AGCHOrE-HICHTransmissionCellPortion
+ActivationInformation N nbap.ies id-ActivationInformation
+
+#NBAP-PROTOCOL-EXTENSION
+BroadcastCommonTransportBearerIndication N nbap.extension id-BroadcastCommonTransportBearerIndication
+MessageStructure N nbap.extension id-MessageStructure
+TypeOfError N nbap.extension id-TypeOfError
+TnlQos N nbap.extension id-TnlQos
+Unidirectional-DCH-Indicator N nbap.extension id-Unidirectional-DCH-Indicator
+ExtendedPropagationDelay N nbap.extension id-ExtendedPropagationDelay
+DL-Power N nbap.extension id-Initial-DL-Power-TimeslotLCR-InformationItem
+DL-Power N nbap.extension id-Maximum-DL-Power-TimeslotLCR-InformationItem
+DL-Power N nbap.extension id-Minimum-DL-Power-TimeslotLCR-InformationItem
+BindingID N nbap.extension id-bindingID
+TransportLayerAddress N nbap.extension id-transportlayeraddress
+E-DCH-PowerOffset-for-SchedulingInfo N nbap.extension id-E-DCH-PowerOffset-for-SchedulingInfo
+SAT-Info-Almanac-ExtList N nbap.extension id-SAT-Info-Almanac-ExtItem
+HARQ-Preamble-Mode N nbap.extension id-HARQ-Preamble-Mode
+HSDSCH-MACdPDUSizeFormat N nbap.extension id-HSDSCH-MACdPDUSizeFormat
+UL-SIR N nbap.extension id-HSSICH-SIRTarget
+TDD-TPC-UplinkStepSize-LCR N nbap.extension id-HSSICH-TPC-StepSize
+UE-Capability-Information N nbap.extension id-ueCapability-Info
+HS-PDSCH-Code-Change-Grant N nbap.extension id-HS-PDSCH-Code-Change-Grant
+HARQ-Preamble-Mode-Activation-Indicator N nbap.extension id-HARQ-Preamble-Mode-Activation-Indicator
+HSSCCH-Specific-InformationRespListTDD768 N nbap.extension id-hsSCCH-Specific-Information-ResponseTDD768
+MAC-PDU-SizeExtended N nbap.extension id-MaximumMACdPDU-SizeExtended
+HS-SICH-failed N nbap.extension id-Additional-failed-HS-SICH
+HS-SICH-missed N nbap.extension id-Additional-missed-HS-SICH
+HS-SICH-total N nbap.extension id-Additional-total-HS-SICH
+ContinuousPacketConnectivityHS-SCCH-less-Information N nbap.extension id-ContinuousPacketConnectivityHS-SCCH-less-Information
+ContinuousPacketConnectivityHS-SCCH-less-Information-Response N nbap.extension id-ContinuousPacketConnectivityHS-SCCH-less-Information-Response
+HS-PDSCH-Code-Change-Indicator N nbap.extension id-HS-PDSCH-Code-Change-Indicator
+GANSS-Information N nbap.extension id-GANSS-Information
+GANSS-Common-Data N nbap.extension id-GANSS-Common-Data
+GANSS-Generic-Data N nbap.extension id-GANSS-Generic-Data
+SyncDLCodeIdThreInfoLCR N nbap.extension id-SyncDLCodeIdThreInfoLCR
+Extended-RNC-ID N nbap.extension id-Extended-RNC-ID
+LCRTDD-Uplink-Physical-Channel-Capability N nbap.extension id-LCRTDD-uplink-Physical-Channel-Capability
+PLCCHinformation N nbap.extension id-PLCCH-Information-UL-TimeslotLCR-Info
+MICH-Parameters-CTCH-SetupRqstFDD N nbap.extension id-MICH-Parameters-CTCH-SetupRqstFDD
+FDD-S-CCPCH-FrameOffset N nbap.extension id-FDD-S-CCPCH-FrameOffset-CTCH-SetupRqstFDD
+ModulationPO-MBSFN N nbap.extension id-ModulationPO-MBSFN
+Secondary-CCPCH-SlotFormat-Extended N nbap.extension id-Secondary-CCPCH-SlotFormat-Extended
+BroadcastReference N nbap.extension id-BroadcastReference
+TSTD-Indicator N nbap.extension id-Tstd-indicator
+MICH-Parameters-CTCH-SetupRqstTDD N nbap.extension id-MICH-Parameters-CTCH-SetupRqstTDD
+Secondary-CCPCH-parameterExtendedList-CTCH-SetupRqstTDD N nbap.extension id-Additional-S-CCPCH-Parameters-CTCH-SetupRqstTDD
+Secondary-CCPCH-LCR-parameterExtendedList-CTCH-SetupRqstTDD N nbap.extension id-Additional-S-CCPCH-LCR-Parameters-CTCH-SetupRqstTDD
+Secondary-CCPCH-768-parameterList-CTCH-SetupRqstTDD N nbap.extension id-S-CCPCH-768-Parameters-CTCH-SetupRqstTDD
+ModulationMBSFN N nbap.extension id-S-CCPCH-Modulation
+TFCI-Presence N nbap.extension id-tFCI-Presence
+DL-Power N nbap.extension id-maxFACH-Power-LCR-CTCH-SetupRqstTDD
+DL-Power N nbap.extension id-PCH-Power-LCR-CTCH-SetupRqstTDD
+PICH-768-ParametersItem-CTCH-SetupRqstTDD N nbap.extension id-PICH-768-Parameters-CTCH-SetupRqstTDD
+FPACH-LCR-Parameters-CTCH-SetupRqstTDD N nbap.extension id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD
+PRACH-768-ParametersItem-CTCH-SetupRqstTDD N nbap.extension id-PRACH-768-Parameters-CTCH-SetupRqstTDD
+MICH-Parameters-CTCH-ReconfRqstFDD N nbap.extension id-MICH-Parameters-CTCH-ReconfRqstFDD
+FPACH-LCR-Parameters-CTCH-ReconfRqstTDD N nbap.extension id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD
+MICH-Parameters-CTCH-ReconfRqstTDD N nbap.extension id-MICH-Parameters-CTCH-ReconfRqstTDD
+PLCCH-Parameters-CTCH-ReconfRqstTDD N nbap.extension id-PLCCH-Parameters-CTCH-ReconfRqstTDD
+Secondary-CCPCH-768-Parameters-CTCH-ReconfRqstTDD N nbap.extension id-S-CCPCH-768-Parameters-CTCH-ReconfRqstTDD
+PICH-768-Parameters-CTCH-ReconfRqstTDD N nbap.extension id-PICH-768-Parameters-CTCH-ReconfRqstTDD
+MICH-768-Parameters-CTCH-ReconfRqstTDD N nbap.extension id-MICH-768-Parameters-CTCH-ReconfRqstTDD
+Secondary-CCPCH-parameterExtendedList-CTCH-ReconfRqstTDD N nbap.extension id-Additional-S-CCPCH-Parameters-CTCH-ReconfRqstTDD
+Secondary-CCPCH-LCR-parameterExtendedList-CTCH-ReconfRqstTDD N nbap.extension id-Additional-S-CCPCH-LCR-Parameters-CTCH-ReconfRqstTDD
+DL-Power N nbap.extension id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD
+DL-Power N nbap.extension id-PCH-Power-LCR-CTCH-ReconfRqstTDD
+CommonPhysicalChannelID768 N nbap.extension id-CommonPhysicalChannelID768-CommonTrChDeletionReq
+Power-Local-Cell-Group-InformationList-AuditRsp N nbap.extension id-Power-Local-Cell-Group-InformationList-AuditRsp
+FPACH-LCR-InformationList-AuditRsp N nbap.extension id-FPACH-LCR-InformationList-AuditRsp
+Common-PhysicalChannel-Status-Information N nbap.extension id-DwPCH-LCR-InformationList-AuditRsp
+HS-DSCH-Resources-Information-AuditRsp N nbap.extension id-HSDSCH-Resources-Information-AuditRsp
+Common-PhysicalChannel-Status-Information N nbap.extension id-MICH-Information-AuditRsp
+S-CCPCH-InformationListExt-AuditRsp N nbap.extension id-S-CCPCH-InformationListExt-AuditRsp
+S-CCPCH-LCR-InformationListExt-AuditRsp N nbap.extension id-S-CCPCH-LCR-InformationListExt-AuditRsp
+E-DCH-Resources-Information-AuditRsp N nbap.extension id-E-DCH-Resources-Information-AuditRsp
+PLCCH-InformationList-AuditRsp N nbap.extension id-PLCCH-InformationList-AuditRsp
+Common-PhysicalChannel-Status-Information768 N nbap.extension id-P-CCPCH-768-Information-AuditRsp
+S-CCPCH-768-InformationList-AuditRsp N nbap.extension id-S-CCPCH-768-InformationList-AuditRsp
+Common-PhysicalChannel-Status-Information768 N nbap.extension id-PICH-768-Information-AuditRsp
+PRACH-768-InformationList-AuditRsp N nbap.extension id-PRACH-768-InformationList-AuditRsp
+Common-PhysicalChannel-Status-Information768 N nbap.extension id-SCH-768-Information-AuditRsp
+Common-PhysicalChannel-Status-Information768 N nbap.extension id-MICH-768-Information-AuditRsp
+E-RUCCH-InformationList-AuditRsp N nbap.extension id-E-RUCCH-InformationList-AuditRsp
+E-RUCCH-768-InformationList-AuditRsp N nbap.extension id-E-RUCCH-768-InformationList-AuditRsp
+ReferenceClockAvailability N nbap.extension id-ReferenceClockAvailability
+Local-Cell-ID N nbap.extension id-Power-Local-Cell-Group-ID
+HSDPA-Capability N nbap.extension id-HSDPA-Capability
+E-DCH-Capability N nbap.extension id-E-DCH-Capability
+E-DCH-TTI2ms-Capability N nbap.extension id-E-DCH-TTI2ms-Capability
+E-DCH-SF-Capability N nbap.extension id-E-DCH-SF-Capability
+E-DCH-HARQ-Combining-Capability N nbap.extension id-E-DCH-HARQ-Combining-Capability
+E-DCHCapacityConsumptionLaw N nbap.extension id-E-DCH-CapacityConsumptionLaw
+F-DPCH-Capability N nbap.extension id-F-DPCH-Capability
+E-DCH-TDD-CapacityConsumptionLaw N nbap.extension id-E-DCH-TDD-CapacityConsumptionLaw
+ContinuousPacketConnectivityDTX-DRX-Capability N nbap.extension id-ContinuousPacketConnectivityDTX-DRX-Capability
+Max-UE-DTX-Cycle N nbap.extension id-Max-UE-DTX-Cycle
+ContinuousPacketConnectivityHS-SCCH-less-Capability N nbap.extension id-ContinuousPacketConnectivityHS-SCCH-less-Capability
+MIMO-Capability N nbap.extension id-MIMO-Capability
+SixtyfourQAM-DL-Capability N nbap.extension id-SixtyfourQAM-DL-Capability
+MBMS-Capability N nbap.extension id-MBMS-Capability
+Enhanced-FACH-Capability N nbap.extension id-Enhanced-FACH-Capability
+Enhanced-PCH-Capability N nbap.extension id-Enhanced-PCH-Capability
+SixteenQAM-UL-Capability N nbap.extension id-SixteenQAM-UL-Capability
+HSDSCH-MACdPDU-SizeCapability N nbap.extension id-HSDSCH-MACdPDU-SizeCapability
+F-DPCH-SlotFormatCapability N nbap.extension id-F-DPCH-SlotFormatCapability
+CommonMeasurementAccuracy N nbap.extension id-CommonMeasurementAccuracy
+MeasurementRecoveryBehavior N nbap.extension id-MeasurementRecoveryBehavior
+RTWP-ReportingIndicator N nbap.extension id-RTWP-ReportingIndicator
+RTWP-CellPortion-ReportingIndicator N nbap.extension id-RTWP-CellPortion-ReportingIndicator
+Reference-ReceivedTotalWideBandPowerReporting N nbap.extension id-Reference-ReceivedTotalWideBandPowerReporting
+TimeSlotLCR N nbap.extension id-TimeSlotLCR-CM-Rqst
+NeighbouringCellMeasurementInformation N nbap.extension id-NeighbouringCellMeasurementInformation
+MeasurementRecoverySupportIndicator N nbap.extension id-MeasurementRecoverySupportIndicator
+Reference-ReceivedTotalWideBandPowerSupportIndicator N nbap.extension id-Reference-ReceivedTotalWideBandPowerSupportIndicator
+Reference-ReceivedTotalWideBandPower N nbap.extension id-Reference-ReceivedTotalWideBandPower
+MeasurementRecoveryReportingIndicator N nbap.extension id-MeasurementRecoveryReportingIndicator
+IPDLParameter-Information-Cell-SetupRqstFDD N nbap.extension id-IPDLParameter-Information-Cell-SetupRqstFDD
+CellPortion-InformationList-Cell-SetupRqstFDD N nbap.extension id-CellPortion-InformationList-Cell-SetupRqstFDD
+MIMO-PilotConfiguration N nbap.extension id-MIMO-PilotConfiguration
+TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD N nbap.extension id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD
+PCCPCH-LCR-Information-Cell-SetupRqstTDD N nbap.extension id-PCCPCH-LCR-Information-Cell-SetupRqstTDD
+DwPCH-LCR-Information-Cell-SetupRqstTDD N nbap.extension id-DwPCH-LCR-Information-Cell-SetupRqstTDD
+ReferenceSFNoffset N nbap.extension id-ReferenceSFNoffset
+IPDLParameter-Information-Cell-SetupRqstTDD N nbap.extension id-IPDLParameter-Information-Cell-SetupRqstTDD
+IPDLParameter-Information-LCR-Cell-SetupRqstTDD N nbap.extension id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD
+PCCPCH-768-Information-Cell-SetupRqstTDD N nbap.extension id-PCCPCH-768-Information-Cell-SetupRqstTDD
+SCH-768-Information-Cell-SetupRqstTDD N nbap.extension id-SCH-768-Information-Cell-SetupRqstTDD
+MBSFN-Only-Mode-Indicator N nbap.extension id-MBSFN-Only-Mode-Indicator-Cell-SetupRqstTDD-LCR
+CellParameterID N nbap.extension id-MBSFN-Cell-ParameterID-Cell-SetupRqstTDD
+CellParameterID N nbap.extension id-Time-Slot-Parameter-ID
+IPDLParameter-Information-Cell-ReconfRqstFDD N nbap.extension id-IPDLParameter-Information-Cell-ReconfRqstFDD
+CellPortion-InformationList-Cell-ReconfRqstFDD N nbap.extension id-CellPortion-InformationList-Cell-ReconfRqstFDD
+TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD N nbap.extension id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD
+DwPCH-LCR-Information-Cell-ReconfRqstTDD N nbap.extension id-DwPCH-LCR-Information-Cell-ReconfRqstTDD
+IPDLParameter-Information-Cell-ReconfRqstTDD N nbap.extension id-IPDLParameter-Information-Cell-ReconfRqstTDD
+IPDLParameter-Information-LCR-Cell-ReconfRqstTDD N nbap.extension id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD
+SCH-768-Information-Cell-ReconfRqstTDD N nbap.extension id-SCH-768-Information-Cell-ReconfRqstTDD
+PCCPCH-768-Information-Cell-ReconfRqstTDD N nbap.extension id-PCCPCH-768-Information-Cell-ReconfRqstTDD
+CellParameterID N nbap.extension id-MBSFN-Cell-ParameterID-Cell-ReconfRqstTDD
+Power-Local-Cell-Group-InformationList-ResourceStatusInd N nbap.extension id-Power-Local-Cell-Group-InformationList-ResourceStatusInd
+MBSFN-Only-Mode-Capability N nbap.extension id-MBSFN-Only-Mode-Capability
+Power-Local-Cell-Group-InformationList2-ResourceStatusInd N nbap.extension id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd
+FPACH-LCR-InformationList-ResourceStatusInd N nbap.extension id-FPACH-LCR-InformationList-ResourceStatusInd
+DwPCH-LCR-Information-ResourceStatusInd N nbap.extension id-DwPCH-LCR-Information-ResourceStatusInd
+HS-DSCH-Resources-Information-ResourceStatusInd N nbap.extension id-HSDSCH-Resources-Information-ResourceStatusInd
+Common-PhysicalChannel-Status-Information N nbap.extension id-MICH-Information-ResourceStatusInd
+S-CCPCH-InformationListExt-ResourceStatusInd N nbap.extension id-S-CCPCH-InformationListExt-ResourceStatusInd
+S-CCPCH-LCR-InformationListExt-ResourceStatusInd N nbap.extension id-S-CCPCH-LCR-InformationListExt-ResourceStatusInd
+E-DCH-Resources-Information-ResourceStatusInd N nbap.extension id-E-DCH-Resources-Information-ResourceStatusInd
+PLCCH-InformationList-ResourceStatusInd N nbap.extension id-PLCCH-InformationList-ResourceStatusInd
+Common-PhysicalChannel-Status-Information768 N nbap.extension id-P-CCPCH-768-Information-ResourceStatusInd
+S-CCPCH-768-InformationList-ResourceStatusInd N nbap.extension id-S-CCPCH-768-InformationList-ResourceStatusInd
+Common-PhysicalChannel-Status-Information768 N nbap.extension id-PICH-768-Information-ResourceStatusInd
+PRACH-768-InformationList-ResourceStatusInd N nbap.extension id-PRACH-768-InformationList-ResourceStatusInd
+Common-PhysicalChannel-Status-Information768 N nbap.extension id-SCH-768-Information-ResourceStatusInd
+Common-PhysicalChannel-Status-Information768 N nbap.extension id-MICH-768-Information-ResourceStatusInd
+E-RUCCH-InformationList-ResourceStatusInd N nbap.extension id-E-RUCCH-InformationList-ResourceStatusInd
+E-RUCCH-768-InformationList-ResourceStatusInd N nbap.extension id-E-RUCCH-768-InformationList-ResourceStatusInd
+DL-PowerBalancing-Information N nbap.extension id-DL-PowerBalancing-Information
+HSDSCH-FDD-Information N nbap.extension id-HSDSCH-FDD-Information
+HSDSCH-RNTI N nbap.extension id-HSDSCH-RNTI
+RL-ID N nbap.extension id-HSPDSCH-RL-ID
+E-DPCH-Information-RL-SetupRqstFDD N nbap.extension id-E-DPCH-Information-RL-SetupRqstFDD
+E-DCH-FDD-Information N nbap.extension id-E-DCH-FDD-Information
+Serving-E-DCH-RL-ID N nbap.extension id-Serving-E-DCH-RL-ID
+F-DPCH-Information-RL-SetupRqstFDD N nbap.extension id-F-DPCH-Information-RL-SetupRqstFDD
+Initial-DL-DPCH-TimingAdjustment-Allowed N nbap.extension id-Initial-DL-DPCH-TimingAdjustment-Allowed
+DCH-Indicator-For-E-DCH-HSDPA-Operation N nbap.extension id-DCH-Indicator-For-E-DCH-HSDPA-Operation
+CFN N nbap.extension id-Serving-Cell-Change-CFN
+ContinuousPacketConnectivityDTX-DRX-Information N nbap.extension id-ContinuousPacketConnectivityDTX-DRX-Information
+DPC-Mode N nbap.extension id-DPC-Mode
+UL-DPDCH-Indicator-For-E-DCH-Operation N nbap.extension id-UL-DPDCH-Indicator-For-E-DCH-Operation
+RL-Specific-DCH-Info N nbap.extension id-RL-Specific-DCH-Info
+DelayedActivation N nbap.extension id-DelayedActivation
+Primary-CPICH-Usage-for-Channel-Estimation N nbap.extension id-Primary-CPICH-Usage-for-Channel-Estimation
+CommonPhysicalChannelID N nbap.extension id-Secondary-CPICH-Information
+E-DCH-RL-Indication N nbap.extension id-E-DCH-RL-Indication
+RL-Specific-E-DCH-Info N nbap.extension id-RL-Specific-E-DCH-Info
+SynchronisationIndicator N nbap.extension id-SynchronisationIndicator
+F-DPCH-SlotFormat N nbap.extension id-F-DPCH-SlotFormat
+HSDSCH-TDD-Information N nbap.extension id-HSDSCH-TDD-Information
+RL-ID N nbap.extension id-PDSCH-RL-ID
+E-DCH-Information N nbap.extension id-E-DCH-Information
+RL-ID N nbap.extension id-E-DCH-Serving-RL-ID
+E-DCH-768-Information N nbap.extension id-E-DCH-768-Information
+E-DCH-LCR-Information N nbap.extension id-E-DCH-LCR-Information
+UL-DPCH-LCR-Information-RL-SetupRqstTDD N nbap.extension id-UL-DPCH-LCR-Information-RL-SetupRqstTDD
+UL-SIR N nbap.extension id-UL-SIRTarget
+TDD-TPC-UplinkStepSize-LCR N nbap.extension id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD
+UL-DPCH-768-Information-RL-SetupRqstTDD N nbap.extension id-UL-DPCH-768-Information-RL-SetupRqstTDD
+DL-DPCH-LCR-Information-RL-SetupRqstTDD N nbap.extension id-DL-DPCH-LCR-Information-RL-SetupRqstTDD
+DL-Power N nbap.extension id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD
+DL-Power N nbap.extension id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD
+DL-Power N nbap.extension id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD
+DL-DPCH-768-Information-RL-SetupRqstTDD N nbap.extension id-DL-DPCH-768-Information-RL-SetupRqstTDD
+DL-TimeslotISCPInfoLCR N nbap.extension id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD
+UL-Synchronisation-Parameters-LCR N nbap.extension id-UL-Synchronisation-Parameters-LCR
+HSDSCH-FDD-Information-Response N nbap.extension id-HSDSCH-FDD-Information-Response
+DL-PowerBalancing-ActivationIndicator N nbap.extension id-DL-PowerBalancing-ActivationIndicator
+RL-Set-ID N nbap.extension id-E-DCH-RL-Set-ID
+E-DCH-FDD-DL-Control-Channel-Information N nbap.extension id-E-DCH-FDD-DL-Control-Channel-Information
+DL-DPCH-TimingAdjustment N nbap.extension id-Initial-DL-DPCH-TimingAdjustment
+E-DCH-FDD-Information-Response N nbap.extension id-E-DCH-FDD-Information-Response
+RL-InformationResponse-LCR-RL-SetupRspTDD N nbap.extension id-RL-InformationResponse-LCR-RL-SetupRspTDD
+HSDSCH-TDD-Information-Response N nbap.extension id-HSDSCH-TDD-Information-Response
+E-DCH-Information-Response N nbap.extension id-E-DCH-Information-Response
+HS-DSCH-Serving-Cell-Change-Info N nbap.extension id-HS-DSCH-Serving-Cell-Change-Info
+E-DPCH-Information-RL-AdditionReqFDD N nbap.extension id-E-DPCH-Information-RL-AdditionReqFDD
+DL-Power N nbap.extension id-DLReferencePower
+HSDSCH-Configured-Indicator N nbap.extension id-HSDSCH-Configured-Indicator
+UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD N nbap.extension id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD
+TDD-TPC-UplinkStepSize-LCR N nbap.extension id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD
+UL-DPCH-InformationItem-768-RL-AdditionRqstTDD N nbap.extension id-UL-DPCH-InformationItem-768-RL-AdditionRqstTDD
+DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD N nbap.extension id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD
+DL-Power N nbap.extension id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD
+TDD-TPC-DownlinkStepSize N nbap.extension id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD
+DL-Power N nbap.extension id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD
+DL-Power N nbap.extension id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD
+DL-DPCH-InformationItem-768-RL-AdditionRqstTDD N nbap.extension id-DL-DPCH-InformationItem-768-RL-AdditionRqstTDD
+DL-TimeslotISCPInfoLCR N nbap.extension id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD
+HS-DSCH-Serving-Cell-Change-Info-Response N nbap.extension id-HS-DSCH-Serving-Cell-Change-Info-Response
+E-DCH-Serving-Cell-Change-Info-Response N nbap.extension id-E-DCH-Serving-Cell-Change-Info-Response
+MAChs-ResetIndicator N nbap.extension id-MAChs-ResetIndicator
+RL-InformationResponse-LCR-RL-AdditionRspTDD N nbap.extension id-RL-InformationResponse-LCR-RL-AdditionRspTDD
+SignallingBearerRequestIndicator N nbap.extension id-SignallingBearerRequestIndicator
+HSDSCH-Information-to-Modify N nbap.extension id-HSDSCH-Information-to-Modify
+HSDSCH-MACdFlows-Information N nbap.extension id-HSDSCH-MACdFlows-to-Add
+HSDSCH-MACdFlows-to-Delete N nbap.extension id-HSDSCH-MACdFlows-to-Delete
+E-DPCH-Information-RL-ReconfPrepFDD N nbap.extension id-E-DPCH-Information-RL-ReconfPrepFDD
+E-DCH-FDD-Information-to-Modify N nbap.extension id-E-DCH-FDD-Information-to-Modify
+E-DCH-MACdFlows-Information N nbap.extension id-E-DCH-MACdFlows-to-Add
+E-DCH-MACdFlows-to-Delete N nbap.extension id-E-DCH-MACdFlows-to-Delete
+F-DPCH-Information-RL-ReconfPrepFDD N nbap.extension id-F-DPCH-Information-RL-ReconfPrepFDD
+Fast-Reconfiguration-Mode N nbap.extension id-Fast-Reconfiguration-Mode
+CPC-Information N nbap.extension id-CPC-Information
+DL-DPCH-Power-Information-RL-ReconfPrepFDD N nbap.extension id-DL-DPCH-Power-Information-RL-ReconfPrepFDD
+DL-DPCH-TimingAdjustment N nbap.extension id-DL-DPCH-TimingAdjustment
+Secondary-CPICH-Information-Change N nbap.extension id-Secondary-CPICH-Information-Change
+MultipleRL-Information-RL-ReconfPrepTDD N nbap.extension id-multiple-RL-Information-RL-ReconfPrepTDD
+E-DCH-Information-Reconfig N nbap.extension id-E-DCH-Information-Reconfig
+E-DCH-768-Information-Reconfig N nbap.extension id-E-DCH-768-Information-Reconfig
+E-DCH-LCR-Information-Reconfig N nbap.extension id-E-DCH-LCR-Information-Reconfig
+UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD N nbap.extension id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD
+TDD-TPC-UplinkStepSize-LCR N nbap.extension id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD
+RL-ID N nbap.extension id-RL-ID
+MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD N nbap.extension id-multipleRL-ul-DPCH-InformationList
+UL-DPCH-768-InformationAddList-RL-ReconfPrepTDD N nbap.extension id-UL-DPCH-768-InformationAddItemIE-RL-ReconfPrepTDD
+UL-DPCH-768-InformationAddList-RL-ReconfPrepTDD N nbap.extension id-UL-DPCH-768-InformationAddListIE-RL-ReconfPrepTDD
+UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD N nbap.extension id-UL-DPCH-LCR-InformationModify-AddList
+TDD-TPC-UplinkStepSize-LCR N nbap.extension id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD
+MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD N nbap.extension id-multipleRL-ul-DPCH-InformationModifyList
+UL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD N nbap.extension id-UL-DPCH-768-InformationModify-AddItem
+UL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD N nbap.extension id-UL-DPCH-768-InformationModify-AddList
+UL-TimeslotLCR-InformationModify-ModifyList-RL-ReconfPrepTDD N nbap.extension id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD
+UL-Timeslot768-InformationModify-ModifyList-RL-ReconfPrepTDD N nbap.extension id-UL-Timeslot768-Information-RL-ReconfPrepTDD
+PLCCHinformation N nbap.extension id-PLCCH-Information-RL-ReconfPrepTDDLCR
+TDD-UL-DPCH-TimeSlotFormat-LCR N nbap.extension id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD
+DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD N nbap.extension id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD
+DL-Power N nbap.extension id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD
+TDD-TPC-DownlinkStepSize N nbap.extension id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD
+DL-Power N nbap.extension id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD
+DL-Power N nbap.extension id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD
+MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD N nbap.extension id-multipleRL-dl-DPCH-InformationList
+DL-DPCH-768-InformationAddList-RL-ReconfPrepTDD N nbap.extension id-DL-DPCH-768-InformationAddItem-RL-ReconfPrepTDD
+DL-DPCH-768-InformationAddList-RL-ReconfPrepTDD N nbap.extension id-DL-DPCH-768-InformationAddList-RL-ReconfPrepTDD
+DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD N nbap.extension id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD
+TDD-TPC-DownlinkStepSize N nbap.extension id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD
+DL-Power N nbap.extension id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD
+DL-Power N nbap.extension id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD
+MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD N nbap.extension id-multipleRL-dl-DPCH-InformationModifyList
+DL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD N nbap.extension id-DL-DPCH-768-InformationModify-AddItem-RL-ReconfPrepTDD
+DL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD N nbap.extension id-DL-DPCH-768-InformationModify-AddList-RL-ReconfPrepTDD
+DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD N nbap.extension id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD
+DL-Timeslot-768-InformationModify-ModifyList-RL-ReconfPrepTDD N nbap.extension id-DL-Timeslot-768-InformationModify-ModifyList-RL-ReconfPrepTDD
+DL-Power N nbap.extension id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD
+DL-Power N nbap.extension id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD
+TDD-DL-DPCH-TimeSlotFormat-LCR N nbap.extension id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD
+DL-Power N nbap.extension id-InitDL-Power
+DL-TimeslotISCPInfoLCR N nbap.extension id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD
+CommunicationControlPortID N nbap.extension id-TargetCommunicationControlPortID
+Fast-Reconfiguration-Permission N nbap.extension id-Fast-Reconfiguration-Permission
+DL-PowerBalancing-UpdatedIndicator N nbap.extension id-DL-PowerBalancing-UpdatedIndicator
+HSDSCH-Information-to-Modify-Unsynchronised N nbap.extension id-HSDSCH-Information-to-Modify-Unsynchronised
+E-DPCH-Information-RL-ReconfRqstFDD N nbap.extension id-E-DPCH-Information-RL-ReconfRqstFDD
+Multiple-RL-Information-RL-ReconfRqstTDD N nbap.extension id-multiple-RL-Information-RL-ReconfRqstTDD
+DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD N nbap.extension id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD
+DL-Power N nbap.extension id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD
+DL-Power N nbap.extension id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD
+MultipleRL-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD N nbap.extension id-multipleRL-dl-CCTrCH-InformationModifyList-RL-ReconfRqstTDD
+DL-TimeslotISCPInfoLCR N nbap.extension id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD
+PrimaryCCPCH-RSCP N nbap.extension id-PrimCCPCH-RSCP-DL-PC-RqstTDD
+PrimaryCCPCH-RSCP-Delta N nbap.extension id-PrimaryCCPCH-RSCP-Delta
+NumberOfReportedCellPortions N nbap.extension id-NumberOfReportedCellPortions
+AlternativeFormatReportingIndicator N nbap.extension id-AlternativeFormatReportingIndicator
+PUSCH-Info-DM-Rqst N nbap.extension id-PUSCH-Info-DM-Rqst
+HSSICH-Info-DM-Rqst N nbap.extension id-HSSICH-Info-DM-Rqst
+DPCH-ID768 N nbap.extension id-DPCH-ID768-DM-Rqst
+PUSCH-Info-DM-Rsp N nbap.extension id-PUSCH-Info-DM-Rsp
+HS-SICH-ID N nbap.extension id-HSSICH-Info-DM-Rsp
+Multiple-DedicatedMeasurementValueList-TDD-DM-Rsp N nbap.extension id-multiple-DedicatedMeasurementValueList-TDD-DM-Rsp
+Multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp N nbap.extension id-multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp
+Multiple-PUSCH-InfoList-DM-Rsp N nbap.extension id-multiple-PUSCH-InfoList-DM-Rsp
+Multiple-HSSICHMeasurementValueList-TDD-DM-Rsp N nbap.extension id-multiple-HSSICHMeasurementValueList-TDD-DM-Rsp
+DPCH-ID768 N nbap.extension id-DPCH-ID768-DM-Rsp
+Multiple-DedicatedMeasurementValueList-768-TDD-DM-Rsp N nbap.extension id-multiple-DedicatedMeasurementValueList-768-TDD-DM-Rsp
+PUSCH-Info-DM-Rprt N nbap.extension id-PUSCH-Info-DM-Rprt
+HS-SICH-ID N nbap.extension id-HSSICH-Info-DM-Rprt
+Multiple-PUSCH-InfoList-DM-Rprt N nbap.extension id-multiple-PUSCH-InfoList-DM-Rprt
+DPCH-ID768 N nbap.extension id-DPCH-ID768-DM-Rprt
+DL-ScramblingCode N nbap.extension id-E-AGCH-And-E-RGCH-E-HICH-FDD-Scrambling-Code
+E-AGCH-FDD-Code-Information N nbap.extension id-E-AGCH-FDD-Code-Information
+E-RGCH-E-HICH-FDD-Code-Information N nbap.extension id-E-RGCH-E-HICH-FDD-Code-Information
+HSDPA-And-EDCH-CellPortion-InformationList-PSCH-ReconfRqst N nbap.extension id-HSDPA-And-EDCH-CellPortion-Information-PSCH-ReconfRqst
+Maximum-Target-ReceivedTotalWideBandPower N nbap.extension id-Maximum-Target-ReceivedTotalWideBandPower
+Target-NonServing-EDCH-To-Total-EDCH-Power-Ratio N nbap.extension id-Target-NonServing-EDCH-To-Total-EDCH-Power-Ratio
+HSDSCH-Common-System-InformationFDD N nbap.extension id-HSDSCH-Common-System-InformationFDD
+HSDSCH-Paging-System-InformationFDD N nbap.extension id-HSDSCH-Paging-System-InformationFDD
+HS-PDSCH-TDD-Information-PSCH-ReconfRqst N nbap.extension id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst
+Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst N nbap.extension id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst
+Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst N nbap.extension id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst
+Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst N nbap.extension id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst
+ConfigurationGenerationID N nbap.extension id-ConfigurationGenerationID
+E-PUCH-Information-PSCH-ReconfRqst N nbap.extension id-E-PUCH-Information-PSCH-ReconfRqst
+Add-To-E-AGCH-Resource-Pool-PSCH-ReconfRqst N nbap.extension id-Add-To-E-AGCH-Resource-Pool-PSCH-ReconfRqst
+Modify-E-AGCH-Resource-Pool-PSCH-ReconfRqst N nbap.extension id-Modify-E-AGCH-Resource-Pool-PSCH-ReconfRqst
+Delete-From-E-AGCH-Resource-Pool-PSCH-ReconfRqst N nbap.extension id-Delete-From-E-AGCH-Resource-Pool-PSCH-ReconfRqst
+E-HICH-Information-PSCH-ReconfRqst N nbap.extension id-E-HICH-Information-PSCH-ReconfRqst
+Maximum-Generated-ReceivedTotalWideBandPowerInOtherCells N nbap.extension id-Maximum-Generated-ReceivedTotalWideBandPowerInOtherCells
+E-PUCH-Information-768-PSCH-ReconfRqst N nbap.extension id-E-PUCH-Information-768-PSCH-ReconfRqst
+Add-To-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst N nbap.extension id-Add-To-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst
+Modify-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst N nbap.extension id-Modify-E-AGCH-Resource-Pool-768-PSCH-ReconfRqst
+E-HICH-Information-768-PSCH-ReconfRqst N nbap.extension id-E-HICH-Information-768-PSCH-ReconfRqst
+E-PUCH-Information-LCR-PSCH-ReconfRqst N nbap.extension id-E-PUCH-Information-LCR-PSCH-ReconfRqst
+Add-To-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst N nbap.extension id-Add-To-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst
+Modify-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst N nbap.extension id-Modify-E-AGCH-Resource-Pool-LCR-PSCH-ReconfRqst
+Add-To-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst N nbap.extension id-Add-To-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst
+Modify-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst N nbap.extension id-Modify-E-HICH-Resource-Pool-LCR-PSCH-ReconfRqst
+Delete-From-E-HICH-Resource-Pool-PSCH-ReconfRqst N nbap.extension id-Delete-From-E-HICH-Resource-Pool-PSCH-ReconfRqst
+SYNC-UL-Partition-LCR N nbap.extension id-SYNC-UL-Partition-LCR
+PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst N nbap.extension id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst
+PDSCH-AddInformation-768-AddItem-PSCH-ReconfRqst N nbap.extension id-PDSCH-AddInformation-768-PSCH-ReconfRqst
+TDD-DL-DPCH-TimeSlotFormat-LCR N nbap.extension id-PDSCH-Timeslot-Format-PSCH-ReconfRqst-LCR
+PDSCH-ModifyInformation-768-ModifyItem-PSCH-ReconfRqst N nbap.extension id-PDSCH-ModifyInformation-768-PSCH-ReconfRqst
+PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst N nbap.extension id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst
+PUSCH-AddInformation-768-AddItem-PSCH-ReconfRqst N nbap.extension id-PUSCH-AddInformation-768-PSCH-ReconfRqst
+TDD-UL-DPCH-TimeSlotFormat-LCR N nbap.extension id-PUSCH-Timeslot-Format-PSCH-ReconfRqst-LCR
+PUSCH-ModifyInformation-768-ModifyItem-PSCH-ReconfRqst N nbap.extension id-PUSCH-ModifyInformation-768-PSCH-ReconfRqst
+DL-HS-PDSCH-Timeslot-Information-768-PSCH-ReconfRqst N nbap.extension id-dL-HS-PDSCH-Timeslot-Information-768-PSCH-ReconfRqst
+HS-SCCH-Information-768-PSCH-ReconfRqst N nbap.extension id-hS-SCCH-Information-768-PSCH-ReconfRqst
+HS-SCCH-InformationModify-768-PSCH-ReconfRqst N nbap.extension id-hS-SCCH-InformationModify-768-PSCH-ReconfRqst
+E-HICH-TimeOffset N nbap.extension id-E-HICH-TimeOffset
+E-HICH-TimeOffsetLCR N nbap.extension id-E-HICH-TimeOffsetLCR
+HSDSCH-Common-System-Information-ResponseFDD N nbap.extension id-HSDSCH-Common-System-Information-ResponseFDD
+HSDSCH-Paging-System-Information-ResponseFDD N nbap.extension id-HSDSCH-Paging-System-Information-ResponseFDD
+SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD N nbap.extension id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD
+SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD N nbap.extension id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD
+NSubCyclesPerCyclePeriod N nbap.extension id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD
+SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD N nbap.extension id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD
+SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD N nbap.extension id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD
+DwPCH-Power N nbap.extension id-DwPCH-Power
+TimingAdjustmentValueLCR N nbap.extension id-TimingAdjustmentValueLCR
+TimingAdjustmentValue N nbap.extension id-AccumulatedClockupdate-CellSyncReprtTDD
+SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD N nbap.extension id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD
+E-DCH-RearrangeList-Bearer-RearrangeInd N nbap.extension id-E-DCH-RearrangeList-Bearer-RearrangeInd
+E-DCH-FDD-Update-Information N nbap.extension id-E-DCH-FDD-Update-Information
+
+IPMulticastIndication N nbap.extension id-IPMulticastIndication
+TimeSlotConfigurationList-LCR-CTCH-SetupRqstTDD N nbap.extension id-TimeSlotConfigurationList-LCR-CTCH-SetupRqstTDD
+Cell-Frequency-List-Information-LCR-MulFreq-AuditRsp N nbap.extension id-Cell-Frequency-List-Information-LCR-MulFreq-AuditRsp
+Cell-Frequency-List-LCR-MulFreq-Cell-SetupRqstTDD N nbap.extension id-Cell-Frequency-List-LCR-MulFreq-Cell-SetupRqstTDD
+UARFCN-Adjustment N nbap.extension id-UARFCN-Adjustment
+Cell-Frequency-List-Information-LCR-MulFreq-ResourceStatusInd N nbap.extension id-Cell-Frequency-List-Information-LCR-MulFreq-ResourceStatusInd
+UPPCHPositionLCR N nbap.extension id-UPPCHPositionLCR
+UPPCH-LCR-Parameters-CTCH-ReconfRqstTDD N nbap.extension id-UPPCH-LCR-Parameters-CTCH-ReconfRqstTDD
+UPPCH-LCR-InformationList-AuditRsp N nbap.extension id-UPPCH-LCR-InformationList-AuditRsp
+UPPCH-LCR-InformationList-ResourceStatusInd N nbap.extension id-UPPCH-LCR-InformationList-ResourceStatusInd
+MultipleFreq-DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst N nbap.extension id-multipleFreq-dL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst
+MultipleFreq-HS-DSCH-Resources-InformationList-AuditRsp N nbap.extension id-multipleFreq-HS-DSCH-Resources-InformationList-AuditRsp
+MultipleFreq-HS-DSCH-Resources-InformationList-ResourceStatusInd N nbap.extension id-multipleFreq-HS-DSCH-Resources-InformationList-ResourceStatusInd
+Extended-HS-SCCH-ID N nbap.extension id-Extended-HS-SCCH-ID
+Extended-HS-SICH-ID N nbap.extension id-Extended-HS-SICH-ID
+HSSICH-InfoExt-DM-Rqst N nbap.extension id-HSSICH-InfoExt-DM-Rqst
+Delete-From-HS-SCCH-Resource-PoolExt-PSCH-ReconfRqst N nbap.extension id-Delete-From-HS-SCCH-Resource-PoolExt-PSCH-ReconfRqst
+HS-SCCH-InformationExt-LCR-PSCH-ReconfRqst N nbap.extension id-HS-SCCH-InformationExt-LCR-PSCH-ReconfRqst
+HS-SCCH-InformationModifyExt-LCR-PSCH-ReconfRqst N nbap.extension id-HS-SCCH-InformationModifyExt-LCR-PSCH-ReconfRqst
+ControlGAP N nbap.extension id-PowerControlGAP
+TimeslotLCR-Extension N nbap.extension id-MBSFN-SpecialTimeSlot-LCR
+Common-MACFlows-to-DeleteFDD N nbap.extension id-Common-MACFlows-to-DeleteFDD
+Paging-MACFlows-to-DeleteFDD N nbap.extension id-Paging-MACFlows-to-DeleteFDD
+Maximum-Target-ReceivedTotalWideBandPower-LCR N nbap.extension id-Maximum-Target-ReceivedTotalWideBandPower-LCR
+E-DPDCH-PowerInterpolation N nbap.extension id-E-DPDCH-PowerInterpolation
+E-TFCI-Boost-Information N nbap.extension id-E-TFCI-Boost-Information
+Ext-Max-Bits-MACe-PDU-non-scheduled N nbap.extension id-Ext-Max-Bits-MACe-PDU-non-scheduled
+Ext-Reference-E-TFCI-PO N nbap.extension id-Ext-Reference-E-TFCI-PO
+HARQ-MemoryPartitioningInfoExtForMIMO N nbap.extension id-HARQ-MemoryPartitioningInfoExtForMIMO
+IPMulticastDataBearerIndication N nbap.extension id-IPMulticastDataBearerIndication
+MIMO-ActivationIndicator N nbap.extension id-MIMO-ActivationIndicator
+MIMO-Mode-Indicator N nbap.extension id-MIMO-Mode-Indicator
+MIMO-N-M-Ratio N nbap.extension id-MIMO-N-M-Ratio
+Multicarrier-Number N nbap.extension id-multicarrier-number
+Number-Of-Supported-Carriers N nbap.extension id-number-Of-Supported-Carriers
+MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR N nbap.extension id-multipleFreq-HSPDSCH-InformationList-ResponseTDDLCR
+SixtyfourQAM-UsageAllowedIndicator N nbap.extension id-SixtyfourQAM-UsageAllowedIndicator
+SixtyfourQAM-DL-UsageIndicator N nbap.extension id-SixtyfourQAM-DL-UsageIndicator
+SixteenQAM-UL-Operation-Indicator N nbap.extension id-SixteenQAM-UL-Operation-Indicator
+TransportBearerNotRequestedIndicator N nbap.extension id-TransportBearerNotRequestedIndicator
+TransportBearerNotSetupIndicator N nbap.extension id-TransportBearerNotSetupIndicator
+TSN-Length N nbap.extension id-tSN-Length
+Extended-E-DCH-LCRTDD-PhysicalLayerCategory N nbap.extension id-Extended-E-DCH-LCRTDD-PhysicalLayerCategory
+MultipleFreq-E-DCH-Resources-InformationList-AuditRsp N nbap.extension id-MultipleFreq-E-DCH-Resources-InformationList-AuditRsp
+MultipleFreq-E-DCH-Resources-InformationList-ResourceStatusInd N nbap.extension id-MultipleFreq-E-DCH-Resources-InformationList-ResourceStatusInd
+MultipleFreq-E-PUCH-Timeslot-InformationList-LCR-PSCH-ReconfRqst N nbap.extension id-MultipleFreq-E-PUCH-Timeslot-InformationList-LCR-PSCH-ReconfRqst
+Extended-E-HICH-ID-TDD N nbap.extension id-Extended-E-HICH-ID-TDD
+ContinuousPacketConnectivityHS-SCCH-less-Deactivate-Indicator N nbap.extension id-ContinuousPacketConnectivityHS-SCCH-less-Deactivate-Indicator
+E-DCH-MACdPDU-SizeCapability N nbap.extension id-E-DCH-MACdPDU-SizeCapability
+E-DCH-MACdPDUSizeFormat N nbap.extension id-E-DCH-MACdPDUSizeFormat
+Maximum-Number-of-Retransmissions-For-E-DCH N nbap.extension id-MaximumNumber-Of-Retransmission-for-Scheduling-Info-LCRTDD
+E-DCH-MACdFlow-Retransmission-Timer N nbap.extension id-E-DCH-RetransmissionTimer-for-SchedulingInfo-LCRTDD
+E-HICH-TimeOffset-ExtensionLCR N nbap.extension id-E-HICH-TimeOffset-Extension
+ControlGAP N nbap.extension id-E-PUCH-PowerControlGAP
+HSDSCH-TBSizeTableIndicator N nbap.extension id-HSDSCH-TBSizeTableIndicator
+E-DCH-DL-Control-Channel-Change-Information N nbap.extension id-E-DCH-DL-Control-Channel-Change-Information
+E-DCH-DL-Control-Channel-Grant-Information N nbap.extension id-E-DCH-DL-Control-Channel-Grant-Information
+DGANSS-Corrections-Req N nbap.extension id-DGANSS-Corrections-Req
+#NULL N nbap.extension id-UE-with-enhanced-HS-SCCH-support-indicator
+AdditionalTimeSlotListLCR N nbap.extension id-AdditionalTimeSlotListLCR
+AdditionalMeasurementValueList N nbap.extension id-AdditionalMeasurementValueList
+E-AGCH-Table-Choice N nbap.extension id-E-AGCH-Table-Choice
+Cause N nbap.extension id-HS-Cause
+Cause N nbap.extension id-E-Cause
+Common-EDCH-Capability N nbap.extension id-Common-EDCH-Capability
+E-AI-Capability N nbap.extension id-E-AI-Capability
+Common-EDCH-System-InformationFDD N nbap.extension id-Common-EDCH-System-InformationFDD
+Common-MACFlows-to-DeleteFDD N nbap.extension id-Common-UL-MACFlows-to-DeleteFDD
+E-DCH-MACdFlows-to-Delete N nbap.extension id-Common-EDCH-MACdFlows-to-DeleteFDD
+Common-EDCH-System-Information-ResponseFDD N nbap.extension id-Common-EDCH-System-Information-ResponseFDD
+Enhanced-UE-DRX-Capability N nbap.extension id-Enhanced-UE-DRX-Capability
+Enhanced-UE-DRX-InformationFDD N nbap.extension id-Enhanced-UE-DRX-InformationFDD
+TransportBearerRequestIndicator N nbap.extension id-TransportBearerRequestIndicator
+SixtyfourQAM-DL-MIMO-Combined-Capability N nbap.extension id-SixtyfourQAM-DL-MIMO-Combined-Capability
+E-RNTI N nbap.extension id-E-RNTI
+MinimumReducedE-DPDCH-GainFactor N nbap.extension id-MinimumReducedE-DPDCH-GainFactor
+GANSS-Time-ID N nbap.extension id-GANSS-Time-ID
+GANSS-AddIonoModelReq N nbap.extension id-GANSS-AddIonoModelReq
+GANSS-EarthOrientParaReq N nbap.extension id-GANSS-EarthOrientParaReq
+GANSS-AddNavigationModelsReq N nbap.extension id-GANSS-AddNavigationModelsReq
+GANSS-AddUTCModelsReq N nbap.extension id-GANSS-AddUTCModelsReq
+GANSS-AuxInfoReq N nbap.extension id-GANSS-AuxInfoReq
+GANSS-SBAS-ID N nbap.extension id-GANSS-SBAS-ID
+GANSS-ID N nbap.extension id-GANSS-ID
+GANSS-Additional-Ionospheric-Model N nbap.extension id-GANSS-Additional-Ionospheric-Model
+GANSS-Earth-Orientation-Parameters N nbap.extension id-GANSS-Earth-Orientation-Parameters
+GANSS-Additional-Time-Models N nbap.extension id-GANSS-Additional-Time-Models
+GANSS-Additional-Navigation-Models N nbap.extension id-GANSS-Additional-Navigation-Models
+GANSS-Additional-UTC-Models N nbap.extension id-GANSS-Additional-UTC-Models
+GANSS-Auxiliary-Information N nbap.extension id-GANSS-Auxiliary-Information
+E-DPCCH-Power-Boosting-Capability N nbap.extension id-E-DPCCH-Power-Boosting-Capability
+HSDSCH-Common-System-InformationLCR N nbap.extension id-HSDSCH-Common-System-InformationLCR
+HSDSCH-Common-System-Information-ResponseLCR N nbap.extension id-HSDSCH-Common-System-Information-ResponseLCR
+HSDSCH-Paging-System-InformationLCR N nbap.extension id-HSDSCH-Paging-System-InformationLCR
+HSDSCH-Paging-System-Information-ResponseLCR N nbap.extension id-HSDSCH-Paging-System-Information-ResponseLCR
+Common-MACFlows-to-DeleteLCR N nbap.extension id-Common-MACFlows-to-DeleteLCR
+Paging-MACFlows-to-DeleteLCR N nbap.extension id-Paging-MACFlows-to-DeleteLCR
+Common-EDCH-System-InformationLCR N nbap.extension id-Common-EDCH-System-InformationLCR
+Common-MACFlows-to-DeleteLCR N nbap.extension id-Common-UL-MACFlows-to-DeleteLCR
+E-DCH-MACdFlows-to-DeleteLCR N nbap.extension id-Common-EDCH-MACdFlows-to-DeleteLCR
+Common-EDCH-System-Information-ResponseLCR N nbap.extension id-Common-EDCH-System-Information-ResponseLCR
+Enhanced-UE-DRX-Capability N nbap.extension id-Enhanced-UE-DRX-CapabilityLCR
+Enhanced-UE-DRX-InformationLCR N nbap.extension id-Enhanced-UE-DRX-InformationLCR
+HSDSCH-PreconfigurationSetup N nbap.extension id-HSDSCH-PreconfigurationSetup
+HSDSCH-PreconfigurationInfo N nbap.extension id-HSDSCH-PreconfigurationInfo
+NoOfTargetCellHS-SCCH-Order N nbap.extension id-NoOfTargetCellHS-SCCH-Order
+EnhancedHSServingCC-Abort N nbap.extension id-EnhancedHSServingCC-Abort
+Additional-HS-Cell-Information-RL-Setup-List N nbap.extension id-Additional-HS-Cell-Information-RL-Setup
+Additional-HS-Cell-Information-Response-List N nbap.extension id-Additional-HS-Cell-Information-Response
+Additional-HS-Cell-Information-RL-Addition-List N nbap.extension id-Additional-HS-Cell-Information-RL-Addition
+Additional-HS-Cell-Change-Information-Response-List N nbap.extension id-Additional-HS-Cell-Change-Information-Response
+Additional-HS-Cell-Information-RL-Reconf-Prep N nbap.extension id-Additional-HS-Cell-Information-RL-Reconf-Prep
+Additional-HS-Cell-Information-RL-Reconf-Req N nbap.extension id-Additional-HS-Cell-Information-RL-Reconf-Req
+Additional-HS-Cell-Information-RL-Param-Upd N nbap.extension id-Additional-HS-Cell-Information-RL-Param-Upd
+Multi-Cell-Capability-Info N nbap.extension id-Multi-Cell-Capability-Info
+IMB-Parameters N nbap.extension id-IMB-Parameters
+MACes-Maximum-Bitrate-LCR N nbap.extension id-MACes-Maximum-Bitrate-LCR
+Semi-PersistentScheduling-CapabilityLCR N nbap.extension id-Semi-PersistentScheduling-CapabilityLCR
+E-DCH-Semi-PersistentScheduling-Information-LCR N nbap.extension id-E-DCH-Semi-PersistentScheduling-Information-LCR
+HS-DSCH-Semi-PersistentScheduling-Information-LCR N nbap.extension id-HS-DSCH-Semi-PersistentScheduling-Information-LCR
+Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst N nbap.extension id-Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst
+Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst N nbap.extension id-Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst
+Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst N nbap.extension id-Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst
+ContinuousPacketConnectivity-DRX-CapabilityLCR N nbap.extension id-ContinuousPacketConnectivity-DRX-CapabilityLCR
+ContinuousPacketConnectivity-DRX-InformationLCR N nbap.extension id-ContinuousPacketConnectivity-DRX-InformationLCR
+ContinuousPacketConnectivity-DRX-Information-ResponseLCR N nbap.extension id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR
+CPC-InformationLCR N nbap.extension id-CPC-InformationLCR
+HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR N nbap.extension id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR
+E-DCH-Semi-PersistentScheduling-Information-ResponseLCR N nbap.extension id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR
+E-AGCH-UE-Inactivity-Monitor-Threshold N nbap.extension id-E-AGCH-UE-Inactivity-Monitor-Threshold
+IdleIntervalInformation N nbap.extension id-IdleIntervalInformation
+HSSICH-ReferenceSignal-InformationLCR N nbap.extension id-HSSICH-ReferenceSignal-InformationLCR
+MIMO-ReferenceSignal-InformationListLCR N nbap.extension id-MIMO-ReferenceSignal-InformationListLCR
+MIMO-SFMode-For-HSPDSCHDualStream N nbap.extension id-MIMO-SFMode-For-HSPDSCHDualStream
+MIMO-SFMode-For-HSPDSCHDualStream N nbap.extension id-MIMO-SFMode-Supported-For-HSPDSCHDualStream
+UE-Selected-MBMS-Service-Information N nbap.extension id-UE-Selected-MBMS-Service-Information
+LCRTDD-HSDSCH-Physical-Layer-Category N nbap.extension id-MultiCarrier-HSDSCH-Physical-Layer-Category
+Common-E-DCH-HSDPCCH-Capability N nbap.extension id-Common-E-DCH-HSDPCCH-Capability
+DL-RLC-PDU-Size-Format N nbap.extension id-DL-RLC-PDU-Size-Format
+HSSICH-ReferenceSignal-InformationModifyLCR N nbap.extension id-HSSICH-ReferenceSignal-InformationModifyLCR
+SchedulingPriorityIndicator N nbap.extension id-schedulingPriorityIndicator
+TimeSlotMeasurementValueListLCR N nbap.extension id-TimeSlotMeasurementValueListLCR
+UE-SupportIndicatorExtension N nbap.extension id-UE-SupportIndicatorExtension
+Single-Stream-MIMO-ActivationIndicator N nbap.extension id-Single-Stream-MIMO-ActivationIndicator
+Single-Stream-MIMO-Capability N nbap.extension id-Single-Stream-MIMO-Capability
+Single-Stream-MIMO-Mode-Indicator N nbap.extension id-Single-Stream-MIMO-Mode-Indicator
+Dual-Band-Capability-Info N nbap.extension id-Dual-Band-Capability-Info
+UE-AggregateMaximumBitRate N nbap.extension id-UE-AggregateMaximumBitRate
+UE-AggregateMaximumBitRate-Enforcement-Indicator N nbap.extension id-UE-AggregateMaximumBitRate-Enforcement-Indicator
+MIMO-PowerOffsetForS-CPICHCapability N nbap.extension id-MIMO-Power-Offset-For-S-CPICH-Capability
+MIMO-PilotConfigurationExtension N nbap.extension id-MIMO-PilotConfigurationExtension
+TxDiversityOnDLControlChannelsByMIMOUECapability N nbap.extension id-TxDiversityOnDLControlChannelsByMIMOUECapability
+NumberOfReportedCellPortionsLCR N nbap.extension id-NumberOfReportedCellPortionsLCR
+CellPortion-CapabilityLCR N nbap.extension id-CellPortion-CapabilityLCR
+Additional-EDCH-Setup-Info N nbap.extension id-Additional-EDCH-Cell-Information-RL-Setup-Req
+Additional-EDCH-Cell-Information-Response-List N nbap.extension id-Additional-EDCH-Cell-Information-Response
+Additional-EDCH-Cell-Information-RL-Add-Req N nbap.extension id-Additional-EDCH-Cell-Information-RL-Add-Req
+Additional-EDCH-Cell-Information-Response-RL-Add-List N nbap.extension id-Additional-EDCH-Cell-Information-Response-RL-Add
+Additional-EDCH-Cell-Information-RL-Reconf-Prep N nbap.extension id-Additional-EDCH-Cell-Information-RL-Reconf-Prep
+Additional-EDCH-Cell-Information-RL-Reconf-Req N nbap.extension id-Additional-EDCH-Cell-Information-RL-Reconf-Req
+Additional-EDCH-Cell-Information-Bearer-Rearrangement-List N nbap.extension id-Additional-EDCH-Cell-Information-Bearer-Rearrangement
+Additional-EDCH-Cell-Information-RL-Param-Upd N nbap.extension id-Additional-EDCH-Cell-Information-RL-Param-Upd
+Additional-EDCH-Preconfiguration-Information N nbap.extension id-Additional-EDCH-Preconfiguration-Information
+NULL N nbap.extension id-EDCH-Indicator
+SPS-Reservation-Indicator N nbap.extension id-HS-DSCH-SPS-Reservation-Indicator
+SPS-Reservation-Indicator N nbap.extension id-E-DCH-SPS-Reservation-Indicator
+MultipleFreq-HARQ-MemoryPartitioning-InformationList N nbap.extension id-MultipleFreq-HARQ-MemoryPartitioning-InformationList
+Ul-common-E-DCH-MACflow-Specific-InfoResponseListLCR-Ext N nbap.extension id-Ul-common-E-DCH-MACflow-Specific-InfoResponseListLCR-Ext
+RepetitionPeriodIndex N nbap.extension id-RepetitionPeriodIndex
+MidambleShiftLCR N nbap.extension id-MidambleShiftLCR
+MaxHSDSCH-HSSCCH-Power-per-CELLPORTION N nbap.extension id-MaxHSDSCH-HSSCCH-Power-per-CELLPORTION
+DormantModeIndicator N nbap.extension id-DormantModeIndicator
+DiversityMode N nbap.extension id-DiversityMode
+TransmitDiversityIndicator N nbap.extension id-TransmitDiversityIndicator
+NonCellSpecificTxDiversity N nbap.extension id-NonCellSpecificTxDiversity
+Cell-Capability-Container N nbap.extension id-Cell-Capability-Container
+NULL N nbap.extension id-E-RNTI-List-Request
+E-RNTI-List N nbap.extension id-E-RNTI-List
+ControlGAP N nbap.extension id-PowerControlGAP-For-CellFACHLCR
+UL-Synchronisation-Parameters-LCR N nbap.extension id-UL-Synchronisation-Parameters-For-FACHLCR
+HS-DSCH-SPS-Operation-Indicator N nbap.extension id-HS-DSCH-SPS-Operation-Indicator
+Out-of-Sychronization-Window N nbap.extension id-Out-of-Sychronization-Window
+Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst N nbap.extension id-Max-RTWP-perUARFCN-Information-LCR-PSCH-ReconfRqst
+E-HICH-TimeOffset-ReconfFailureTDD N nbap.extension id-E-HICH-TimeOffset-ReconfFailureTDD
+TDD-TPC-DownlinkStepSize N nbap.extension id-HSSCCH-TPC-StepSize
+TS0-CapabilityLCR N nbap.extension id-TS0-CapabilityLCR
+UE-TS0-CapabilityLCR N nbap.extension id-UE-TS0-CapabilityLCR
+Common-System-Information-ResponseLCR N nbap.extension id-Common-System-Information-ResponseLCR
+Additional-EDCH-Cell-Information-Response-RLReconf-List N nbap.extension id-Additional-EDCH-Cell-Information-ResponseRLReconf
+Multicell-EDCH-InformationItemIEs N nbap.ies id-Multicell-EDCH-InformationItemIEs
+Multicell-EDCH-RL-Specific-InformationItemIEs N nbap.ies id-Multicell-EDCH-RL-Specific-InformationItemIEs
+Non-HS-SCCH-Associated-HS-SICH-InformationList-Ext N nbap.extension id-Add-To-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext
+Modify-Non-HS-SCCH-Associated-HS-SICH-InformationList-Ext N nbap.extension id-Modify-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext
+Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext N nbap.extension id-Delete-From-Non-HS-SCCH-Associated-HS-SICH-Resource-Pool-LCR-PSCH-ReconfRqst-Ext
+DL-Power N nbap.extension id-Initial-DL-Transmission-Power
+DL-Power N nbap.extension id-Maximum-DL-Power
+DL-Power N nbap.extension id-Minimum-DL-Power
+DCH-MeasurementOccasion-Information N nbap.extension id-DCH-MeasurementOccasion-Information
+CommonPhysicalChannelID N nbap.extension id-AssociatedPhsicalChannelID
+DGNSS-ValidityPeriod N nbap.extension id-DGNSS-ValidityPeriod
+PhysicalChannelID-for-CommonERNTI-RequestedIndicator N nbap.extension id-PhysicalChannelID-for-CommonERNTI-RequestedIndicator
+PrecodingWeightSetRestriction N nbap.extension id-PrecodingWeightSetRestriction
+
+#NBAP-ELEMENTARY-PROCEDURE
+CellSetupRequestFDD S nbap.proc.imsg "id-cellSetup/fdd"
+CellSetupResponse S nbap.proc.sout "id-cellSetup/fdd"
+CellSetupFailure S nbap.proc.uout "id-cellSetup/fdd"
+CellSetupRequestTDD S nbap.proc.imsg "id-cellSetup/tdd"
+CellSetupResponse S nbap.proc.sout "id-cellSetup/tdd"
+CellSetupFailure S nbap.proc.uout "id-cellSetup/tdd"
+CellReconfigurationRequestFDD S nbap.proc.imsg "id-cellReconfiguration/fdd"
+CellReconfigurationResponse S nbap.proc.sout "id-cellReconfiguration/fdd"
+CellReconfigurationFailure S nbap.proc.uout "id-cellReconfiguration/fdd"
+CellReconfigurationRequestTDD S nbap.proc.imsg "id-cellReconfiguration/tdd"
+CellReconfigurationResponse S nbap.proc.sout "id-cellReconfiguration/tdd"
+CellReconfigurationFailure S nbap.proc.uout "id-cellReconfiguration/tdd"
+CellDeletionRequest S nbap.proc.imsg "id-cellDeletion/common"
+CellDeletionResponse S nbap.proc.sout "id-cellDeletion/common"
+CommonTransportChannelSetupRequestFDD S nbap.proc.imsg "id-commonTransportChannelSetup/fdd"
+CommonTransportChannelSetupResponse S nbap.proc.sout "id-commonTransportChannelSetup/fdd"
+CommonTransportChannelSetupFailure S nbap.proc.uout "id-commonTransportChannelSetup/fdd"
+CommonTransportChannelSetupRequestTDD S nbap.proc.imsg "id-commonTransportChannelSetup/tdd"
+CommonTransportChannelSetupResponse S nbap.proc.sout "id-commonTransportChannelSetup/tdd"
+CommonTransportChannelSetupFailure S nbap.proc.uout "id-commonTransportChannelSetup/tdd"
+CommonTransportChannelReconfigurationRequestFDD S nbap.proc.imsg "id-commonTransportChannelReconfigure/fdd"
+CommonTransportChannelReconfigurationResponse S nbap.proc.sout "id-commonTransportChannelReconfigure/fdd"
+CommonTransportChannelReconfigurationFailure S nbap.proc.uout "id-commonTransportChannelReconfigure/fdd"
+CommonTransportChannelReconfigurationRequestTDD S nbap.proc.imsg "id-commonTransportChannelReconfigure/tdd"
+CommonTransportChannelReconfigurationResponse S nbap.proc.sout "id-commonTransportChannelReconfigure/tdd"
+CommonTransportChannelReconfigurationFailure S nbap.proc.uout "id-commonTransportChannelReconfigure/tdd"
+CommonTransportChannelDeletionRequest S nbap.proc.imsg "id-commonTransportChannelDelete/common"
+CommonTransportChannelDeletionResponse S nbap.proc.sout "id-commonTransportChannelDelete/common"
+AuditRequest S nbap.proc.imsg "id-audit/common"
+AuditResponse S nbap.proc.sout "id-audit/common"
+AuditFailure S nbap.proc.uout "id-audit/common"
+BlockResourceRequest S nbap.proc.imsg "id-blockResource/common"
+BlockResourceResponse S nbap.proc.sout "id-blockResource/common"
+BlockResourceFailure S nbap.proc.uout "id-blockResource/common"
+RadioLinkSetupRequestFDD S nbap.proc.imsg "id-radioLinkSetup/fdd"
+RadioLinkSetupResponseFDD S nbap.proc.sout "id-radioLinkSetup/fdd"
+RadioLinkSetupFailureFDD S nbap.proc.uout "id-radioLinkSetup/fdd"
+RadioLinkSetupRequestTDD S nbap.proc.imsg "id-radioLinkSetup/tdd"
+RadioLinkSetupResponseTDD S nbap.proc.sout "id-radioLinkSetup/tdd"
+RadioLinkSetupFailureTDD S nbap.proc.uout "id-radioLinkSetup/tdd"
+SystemInformationUpdateRequest S nbap.proc.imsg "id-systemInformationUpdate/common"
+SystemInformationUpdateResponse S nbap.proc.sout "id-systemInformationUpdate/common"
+SystemInformationUpdateFailure S nbap.proc.uout "id-systemInformationUpdate/common"
+ResetRequest S nbap.proc.imsg "id-reset/common"
+ResetResponse S nbap.proc.sout "id-reset/common"
+CommonMeasurementInitiationRequest S nbap.proc.imsg "id-commonMeasurementInitiation/common"
+CommonMeasurementInitiationResponse S nbap.proc.sout "id-commonMeasurementInitiation/common"
+CommonMeasurementInitiationFailure S nbap.proc.uout "id-commonMeasurementInitiation/common"
+RadioLinkAdditionRequestFDD S nbap.proc.imsg "id-radioLinkAddition/fdd"
+RadioLinkAdditionResponseFDD S nbap.proc.sout "id-radioLinkAddition/fdd"
+RadioLinkAdditionFailureFDD S nbap.proc.uout "id-radioLinkAddition/fdd"
+RadioLinkAdditionRequestTDD S nbap.proc.imsg "id-radioLinkAddition/tdd"
+RadioLinkAdditionResponseTDD S nbap.proc.sout "id-radioLinkAddition/tdd"
+RadioLinkAdditionFailureTDD S nbap.proc.uout "id-radioLinkAddition/tdd"
+RadioLinkDeletionRequest S nbap.proc.imsg "id-radioLinkDeletion/common"
+RadioLinkDeletionResponse S nbap.proc.sout "id-radioLinkDeletion/common"
+RadioLinkReconfigurationPrepareFDD S nbap.proc.imsg "id-synchronisedRadioLinkReconfigurationPreparation/fdd"
+RadioLinkReconfigurationReady S nbap.proc.sout "id-synchronisedRadioLinkReconfigurationPreparation/fdd"
+RadioLinkReconfigurationFailure S nbap.proc.uout "id-synchronisedRadioLinkReconfigurationPreparation/fdd"
+RadioLinkReconfigurationPrepareTDD S nbap.proc.imsg "id-synchronisedRadioLinkReconfigurationPreparation/tdd"
+RadioLinkReconfigurationReady S nbap.proc.sout "id-synchronisedRadioLinkReconfigurationPreparation/tdd"
+RadioLinkReconfigurationFailure S nbap.proc.uout "id-synchronisedRadioLinkReconfigurationPreparation/tdd"
+RadioLinkReconfigurationRequestFDD S nbap.proc.imsg "id-unSynchronisedRadioLinkReconfiguration/fdd"
+RadioLinkReconfigurationResponse S nbap.proc.sout "id-unSynchronisedRadioLinkReconfiguration/fdd"
+RadioLinkReconfigurationFailure S nbap.proc.uout "id-unSynchronisedRadioLinkReconfiguration/fdd"
+RadioLinkReconfigurationRequestTDD S nbap.proc.imsg "id-unSynchronisedRadioLinkReconfiguration/tdd"
+RadioLinkReconfigurationResponse S nbap.proc.sout "id-unSynchronisedRadioLinkReconfiguration/tdd"
+RadioLinkReconfigurationFailure S nbap.proc.uout "id-unSynchronisedRadioLinkReconfiguration/tdd"
+DedicatedMeasurementInitiationRequest S nbap.proc.imsg "id-dedicatedMeasurementInitiation/common"
+DedicatedMeasurementInitiationResponse S nbap.proc.sout "id-dedicatedMeasurementInitiation/common"
+DedicatedMeasurementInitiationFailure S nbap.proc.uout "id-dedicatedMeasurementInitiation/common"
+PhysicalSharedChannelReconfigurationRequestFDD S nbap.proc.imsg "id-physicalSharedChannelReconfiguration/fdd"
+PhysicalSharedChannelReconfigurationResponse S nbap.proc.sout "id-physicalSharedChannelReconfiguration/fdd"
+PhysicalSharedChannelReconfigurationFailure S nbap.proc.uout "id-physicalSharedChannelReconfiguration/fdd"
+PhysicalSharedChannelReconfigurationRequestTDD S nbap.proc.imsg "id-physicalSharedChannelReconfiguration/tdd"
+PhysicalSharedChannelReconfigurationResponse S nbap.proc.sout "id-physicalSharedChannelReconfiguration/tdd"
+PhysicalSharedChannelReconfigurationFailure S nbap.proc.uout "id-physicalSharedChannelReconfiguration/tdd"
+InformationExchangeInitiationRequest S nbap.proc.imsg "id-informationExchangeInitiation/common"
+InformationExchangeInitiationResponse S nbap.proc.sout "id-informationExchangeInitiation/common"
+InformationExchangeInitiationFailure S nbap.proc.uout "id-informationExchangeInitiation/common"
+CellSynchronisationInitiationRequestTDD S nbap.proc.imsg "id-cellSynchronisationInitiation/tdd"
+CellSynchronisationInitiationResponseTDD S nbap.proc.sout "id-cellSynchronisationInitiation/tdd"
+CellSynchronisationInitiationFailureTDD S nbap.proc.uout "id-cellSynchronisationInitiation/tdd"
+CellSynchronisationReconfigurationRequestTDD S nbap.proc.imsg "id-cellSynchronisationReconfiguration/tdd"
+CellSynchronisationReconfigurationResponseTDD S nbap.proc.sout "id-cellSynchronisationReconfiguration/tdd"
+CellSynchronisationReconfigurationFailureTDD S nbap.proc.uout "id-cellSynchronisationReconfiguration/tdd"
+CellSynchronisationAdjustmentRequestTDD S nbap.proc.imsg "id-cellSynchronisationAdjustment/tdd"
+CellSynchronisationAdjustmentResponseTDD S nbap.proc.sout "id-cellSynchronisationAdjustment/tdd"
+CellSynchronisationAdjustmentFailureTDD S nbap.proc.uout "id-cellSynchronisationAdjustment/tdd"
+ResourceStatusIndication S nbap.proc.imsg "id-resourceStatusIndication/common"
+AuditRequiredIndication S nbap.proc.imsg "id-auditRequired/common"
+CommonMeasurementReport S nbap.proc.imsg "id-commonMeasurementReport/common"
+CommonMeasurementTerminationRequest S nbap.proc.imsg "id-commonMeasurementTermination/common"
+CommonMeasurementFailureIndication S nbap.proc.imsg "id-commonMeasurementFailure/common"
+RadioLinkReconfigurationCommit S nbap.proc.imsg "id-synchronisedRadioLinkReconfigurationCommit/common"
+RadioLinkReconfigurationCancel S nbap.proc.imsg "id-synchronisedRadioLinkReconfigurationCancellation/common"
+RadioLinkFailureIndication S nbap.proc.imsg "id-radioLinkFailure/common"
+RadioLinkPreemptionRequiredIndication S nbap.proc.imsg "id-radioLinkPreemption/common"
+RadioLinkRestoreIndication S nbap.proc.imsg "id-radioLinkRestoration/common"
+DedicatedMeasurementReport S nbap.proc.imsg "id-dedicatedMeasurementReport/common"
+DedicatedMeasurementTerminationRequest S nbap.proc.imsg "id-dedicatedMeasurementTermination/common"
+DedicatedMeasurementFailureIndication S nbap.proc.imsg "id-dedicatedMeasurementFailure/common"
+DL-PowerControlRequest S nbap.proc.imsg "id-downlinkPowerControl/fdd"
+DL-PowerTimeslotControlRequest S nbap.proc.imsg "id-downlinkPowerTimeslotControl/tdd"
+CompressedModeCommand S nbap.proc.imsg "id-compressedModeCommand/fdd"
+UnblockResourceIndication S nbap.proc.imsg "id-unblockResource/common"
+ErrorIndication S nbap.proc.imsg "id-errorIndicationForDedicated/common"
+ErrorIndication S nbap.proc.imsg "id-errorIndicationForCommon/common"
+CellSynchronisationReportTDD S nbap.proc.imsg "id-cellSynchronisationReporting/tdd"
+CellSynchronisationTerminationRequestTDD S nbap.proc.imsg "id-cellSynchronisationTermination/tdd"
+CellSynchronisationFailureIndicationTDD S nbap.proc.imsg "id-cellSynchronisationFailure/tdd"
+PrivateMessage S nbap.proc.imsg "id-privateMessageForDedicated/common"
+PrivateMessage S nbap.proc.imsg "id-privateMessageForCommon/common"
+InformationReport S nbap.proc.imsg "id-informationReporting/common"
+InformationExchangeTerminationRequest S nbap.proc.imsg "id-informationExchangeTermination/common"
+InformationExchangeFailureIndication S nbap.proc.imsg "id-informationExchangeFailure/common"
+BearerRearrangementIndication S nbap.proc.imsg "id-BearerRearrangement/common"
+RadioLinkActivationCommandFDD S nbap.proc.imsg "id-radioLinkActivation/fdd"
+RadioLinkActivationCommandTDD S nbap.proc.imsg "id-radioLinkActivation/tdd"
+RadioLinkParameterUpdateIndicationFDD S nbap.proc.imsg "id-radioLinkParameterUpdate/fdd"
+RadioLinkParameterUpdateIndicationTDD S nbap.proc.imsg "id-radioLinkParameterUpdate/tdd"
+MBMSNotificationUpdateCommand S nbap.proc.imsg "id-mBMSNotificationUpdate/common"
+UEStatusUpdateCommand S nbap.proc.imsg "id-uEStatusUpdate/common"
+SecondaryULFrequencyReport S nbap.proc.imsg "id-secondaryULFrequencyReporting/fdd"
+SecondaryULFrequencyUpdateIndication S nbap.proc.imsg "id-secondaryULFrequencyUpdate/fdd"
+#.END
diff --git a/epan/dissectors/asn1/nbap/packet-nbap-template.c b/epan/dissectors/asn1/nbap/packet-nbap-template.c
new file mode 100644
index 00000000..4e62365f
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/packet-nbap-template.c
@@ -0,0 +1,825 @@
+/* packet-nbap-template.c
+ * Routines for UMTS Node B Application Part(NBAP) packet dissection
+ * Copyright 2005, 2009 Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref: 3GPP TS 25.433 version 6.6.0 Release 6
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/sctpppids.h>
+#include <epan/asn1.h>
+#include <epan/conversation.h>
+#include <epan/expert.h>
+#include <epan/prefs.h>
+#include <epan/proto_data.h>
+#include <epan/uat.h>
+
+#include "packet-per.h"
+#include "packet-isup.h"
+#include "packet-umts_fp.h"
+#include "packet-umts_mac.h"
+#include "packet-rrc.h"
+#include "packet-umts_rlc.h"
+#include "packet-nbap.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "UTRAN Iub interface NBAP signalling"
+#define PSNAME "NBAP"
+#define PFNAME "nbap"
+
+
+#define NBAP_IGNORE_PORT 255
+
+/* Debug */
+#define DEBUG_NBAP 0
+#if DEBUG_NBAP
+#include <epan/to_str.h>
+#define nbap_debug(...) ws_warning(__VA_ARGS__)
+#else
+#define nbap_debug(...)
+#endif
+
+void proto_register_nbap(void);
+void proto_reg_handoff_nbap(void);
+
+/* Protocol Handles */
+static dissector_handle_t fp_handle;
+
+#include "packet-nbap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_nbap = -1;
+static int hf_nbap_transportLayerAddress_ipv4 = -1;
+static int hf_nbap_transportLayerAddress_ipv6 = -1;
+static int hf_nbap_transportLayerAddress_nsap = -1;
+static int hf_nbap_reassembled_information_block = -1;
+
+#include "packet-nbap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_nbap = -1;
+static int ett_nbap_TransportLayerAddress = -1;
+static int ett_nbap_TransportLayerAddress_nsap = -1;
+static int ett_nbap_ib_sg_data = -1;
+
+#include "packet-nbap-ett.c"
+
+static expert_field ei_nbap_no_find_port_info = EI_INIT;
+static expert_field ei_nbap_no_set_comm_context_id = EI_INIT;
+static expert_field ei_nbap_hsdsch_entity_not_specified = EI_INIT;
+
+extern int proto_fp;
+
+static dissector_handle_t nbap_handle;
+
+/*
+ * Structure to hold Setup Request/Response message conversation
+ * we add all src add/port declared in SetupRequest msg
+ * to match it with dst add/port declared in SetupResponse msg
+ * so we gonna have conversation with exact match (src and dst addr and port)
+ */
+typedef struct nbap_setup_conv
+{
+ guint32 transaction_id;
+ guint32 dd_mode;
+ guint32 channel_id;
+ guint32 request_frame_number;
+ address addr;
+ guint32 port;
+ umts_fp_conversation_info_t *umts_fp_conversation_info;
+ conversation_t *conv;
+}nbap_setup_conv_t;
+
+/*
+ * Hash table to manage Setup Request/Response message conversation
+ * we can look in table for proper conversation
+ */
+static wmem_map_t *nbap_setup_conv_table;
+
+typedef struct
+{
+ gint num_dch_in_flow;
+ gint next_dch;
+ gint num_ul_chans;
+ gint ul_chan_tf_size[MAX_FP_CHANS];
+ gint ul_chan_num_tbs[MAX_FP_CHANS];
+ gint num_dl_chans;
+ gint dl_chan_tf_size[MAX_FP_CHANS];
+ gint dl_chan_num_tbs[MAX_FP_CHANS];
+}nbap_dch_channel_info_t;
+
+/* Struct to collect E-DCH data in a packet
+ * As the address data comes before the ddi entries
+ * we save the address to be able to find the conversation and update the
+ * conversation data.
+ */
+typedef struct
+{
+ address crnc_address;
+ guint16 crnc_port;
+ gint no_ddi_entries;
+ guint8 edch_ddi[MAX_EDCH_DDIS];
+ guint edch_macd_pdu_size[MAX_EDCH_DDIS];
+ guint8 edch_type; /* 1 means T2 */
+ guint8 lchId[MAX_EDCH_DDIS]; /*Logical channel ids.*/
+} nbap_edch_channel_info_t;
+
+
+typedef struct
+{
+ guint32 crnc_address;
+ guint16 crnc_port[maxNrOfEDCHMACdFlows];
+} nbap_edch_port_info_t;
+
+typedef struct
+{
+ address crnc_address;
+ guint16 crnc_port;
+ enum fp_rlc_mode rlc_mode;
+ guint32 hsdsch_physical_layer_category;
+ guint8 entity; /* "ns" means type 1 and "ehs" means type 2, type 3 == ?*/
+} nbap_hsdsch_channel_info_t;
+
+typedef struct
+{
+ address crnc_address;
+ guint16 crnc_port;
+ enum fp_rlc_mode rlc_mode;
+} nbap_common_channel_info_t;
+
+/*Stuff for mapping NodeB-Comuncation Context ID to CRNC Communication Context ID*/
+typedef struct com_ctxt_{
+ /*guint nodeb_context;*/
+ guint crnc_context;
+ guint frame_num;
+}nbap_com_context_id_t;
+
+enum TransportFormatSet_type_enum
+{
+ NBAP_DCH_UL,
+ NBAP_DCH_DL,
+ NBAP_CPCH,
+ NBAP_FACH,
+ NBAP_PCH
+};
+
+#define NBAP_MAX_IB_SEGMENT_LENGTH 222
+
+typedef struct nbap_ib_segment_t {
+ guint32 bit_length;
+ guint8* data;
+} nbap_ib_segment_t;
+
+static nbap_ib_segment_t* nbap_parse_ib_sg_data_var1(packet_info *pinfo, tvbuff_t *tvb,gboolean is_short)
+{
+ guint8 bit_length;
+ guint8* data;
+ nbap_ib_segment_t* output;
+ if ( tvb_captured_length(tvb) < 2 ) {
+ return NULL;
+ }
+ if (is_short) {
+ bit_length = tvb_get_guint8(tvb,0) + 1;
+ data = (guint8*)tvb_memdup(pinfo->pool,tvb,1,(bit_length+7)/8);
+ }
+ else {
+ bit_length = NBAP_MAX_IB_SEGMENT_LENGTH;
+ data = (guint8*)tvb_memdup(pinfo->pool,tvb,0,(bit_length+7)/8);
+ }
+ output = wmem_new(pinfo->pool, nbap_ib_segment_t);
+ output->bit_length = bit_length;
+ output->data = data;
+ return output;
+}
+
+/*****************************************************************************/
+/* Packet private data */
+/* For this dissector, all information passed between different ASN.1 nodes */
+/* should be done only through this API! */
+/*****************************************************************************/
+
+
+typedef struct nbap_private_data_t
+{
+ guint32 transportLayerAddress_ipv4;
+ guint16 binding_id_port;
+ enum TransportFormatSet_type_enum transport_format_set_type;
+ guint32 procedure_code;
+ guint num_items;
+ guint32 ul_scrambling_code;
+ guint32 com_context_id;
+ gint num_dch_in_flow;
+ gint hrnti;
+ guint32 protocol_ie_id;
+ guint32 dd_mode;
+ guint32 transaction_id;
+ guint32 t_dch_id;
+ guint32 dch_id;
+ guint32 prev_dch_id;
+ guint32 common_physical_channel_id;
+ guint32 e_dch_macdflow_id;
+ guint32 hsdsch_macdflow_id;
+ gboolean max_mac_d_pdu_size_ext_ie_present;
+ guint32 e_dch_ddi_value;
+ guint32 logical_channel_id;
+ guint32 common_macdflow_id;
+ guint32 mac_d_pdu_size;
+ guint32 common_transport_channel_id;
+ gint paging_indications;
+ guint32 ib_type;
+ guint32 segment_type;
+ gboolean crnc_context_present; /* Whether 'com_context_id' is set */
+ guint8 dch_crc_present;
+ /* Arrays */
+ nbap_dch_channel_info_t nbap_dch_chnl_info[256];
+ nbap_edch_channel_info_t nbap_edch_channel_info[maxNrOfEDCHMACdFlows];
+ gint hsdsch_macdflow_ids[maxNrOfMACdFlows];
+ nbap_hsdsch_channel_info_t nbap_hsdsch_channel_info[maxNrOfMACdFlows];
+ nbap_common_channel_info_t nbap_common_channel_info[maxNrOfMACdFlows]; /*TODO: Fix this!*/
+ wmem_list_t* ib_segments; /* Information block segments */
+} nbap_private_data_t;
+
+
+/* Helper function to get or create a private_data struct */
+static nbap_private_data_t* nbap_get_private_data(packet_info *pinfo)
+{
+ guint8 i;
+ /* NOTE: Unlike other ASN.1 dissectors which store information in
+ * actx->private_data the NBAP dissector can't do so because some fields
+ * are defined as their own 'PDU' (Like BindingID and TransportLayerAddress)
+ * in those cases, the generic ASN.1 dissector creates a NEW 'ASN.1 context'
+ * (asn1_ctx_t) and hence a new 'private data' field for them so information
+ * can't be passes to/from them.
+ */
+ nbap_private_data_t *private_data = (nbap_private_data_t *)p_get_proto_data(pinfo->pool, pinfo, proto_nbap, 0);
+ if(private_data == NULL ) {
+ private_data = wmem_new0(pinfo->pool, nbap_private_data_t);
+ p_add_proto_data(pinfo->pool, pinfo, proto_nbap, 0, private_data);
+ /* Setting default values */
+ private_data->hsdsch_macdflow_id = 3;
+ private_data->crnc_context_present = FALSE;
+ private_data->procedure_code = 0xFFFF;
+ private_data->dd_mode = 0xFFFF;
+ private_data->dch_crc_present = 2; /* Unknown */
+ for (i = 0; i < maxNrOfMACdFlows; i++) {
+ private_data->nbap_hsdsch_channel_info[i].entity = hs;
+ }
+ }
+ return private_data;
+}
+
+/* Helper function to reset the private data struct*/
+static void nbap_reset_private_data(packet_info *pinfo)
+{
+ p_remove_proto_data(pinfo->pool, pinfo, proto_nbap, 0);
+}
+
+/*****************************************************************************/
+
+
+/* Global Variables */
+
+/* Variables for sub elements dissection */
+static const gchar *ProcedureID;
+/* Trees */
+static wmem_tree_t* edch_flow_port_map = NULL;
+wmem_tree_t *nbap_scrambling_code_crncc_map = NULL;
+wmem_tree_t *nbap_crncc_urnti_map = NULL;
+static wmem_tree_t* com_context_map;
+
+/* This table is used externally from FP, MAC and such, TODO: merge this with
+ * lch_contents[] */
+guint8 lchId_type_table[]= {
+ MAC_CONTENT_UNKNOWN, /* Shouldn't happen*/
+ MAC_CONTENT_DCCH, /* 1 to 4 SRB => DCCH*/
+ MAC_CONTENT_DCCH,
+ MAC_CONTENT_DCCH,
+ MAC_CONTENT_DCCH,
+ MAC_CONTENT_CS_DTCH, /* 5 to 7 Conv CS speech => ?*/
+ MAC_CONTENT_CS_DTCH,
+ MAC_CONTENT_CS_DTCH,
+ MAC_CONTENT_DCCH, /* 8 SRB => DCCH*/
+ MAC_CONTENT_PS_DTCH, /* 9 maps to DTCH*/
+ MAC_CONTENT_UNKNOWN, /* 10 Conv CS unknown*/
+ MAC_CONTENT_PS_DTCH, /* 11 Interactive PS => DTCH*/
+ MAC_CONTENT_PS_DTCH, /* 12 Streaming PS => DTCH*/
+ MAC_CONTENT_CS_DTCH, /* 13 Streaming CS*/
+ MAC_CONTENT_PS_DTCH, /* 14 Interactive PS => DTCH*/
+ MAC_CONTENT_CCCH /* This is CCCH? */
+};
+
+/* Mapping logicalchannel id to RLC_MODE */
+guint8 lchId_rlc_map[] = {
+ 0,
+ RLC_UM, /* Logical channel id = 1 is SRB1 which uses RLC_UM*/
+ RLC_AM,
+ RLC_AM,
+ RLC_AM,
+ RLC_TM, /*5 to 7 Conv CS Speech*/
+ RLC_TM,
+ RLC_TM, /*...*/
+ RLC_AM,
+ RLC_AM,
+ RLC_AM,
+ RLC_AM,
+ RLC_AM,
+ RLC_AM,
+ RLC_AM,
+ RLC_AM, /* This is CCCH which is UM?, probably not */
+};
+
+/* Preference variables */
+/* Array with preference variables for easy looping, TODO: merge this with
+ * lchId_type_table[] */
+static int lch_contents[16] = {
+ MAC_CONTENT_DCCH,
+ MAC_CONTENT_DCCH,
+ MAC_CONTENT_DCCH,
+ MAC_CONTENT_DCCH,
+ MAC_CONTENT_CS_DTCH,
+ MAC_CONTENT_CS_DTCH,
+ MAC_CONTENT_CS_DTCH,
+ MAC_CONTENT_DCCH,
+ MAC_CONTENT_PS_DTCH,
+ MAC_CONTENT_UNKNOWN,
+ MAC_CONTENT_PS_DTCH,
+ MAC_CONTENT_PS_DTCH,
+ MAC_CONTENT_CS_DTCH,
+ MAC_CONTENT_PS_DTCH,
+ MAC_CONTENT_CCCH,
+ MAC_CONTENT_DCCH
+};
+
+static const enum_val_t content_types[] = {
+ {"MAC_CONTENT_UNKNOWN", "MAC_CONTENT_UNKNOWN", MAC_CONTENT_UNKNOWN},
+ {"MAC_CONTENT_DCCH", "MAC_CONTENT_DCCH", MAC_CONTENT_DCCH},
+ {"MAC_CONTENT_PS_DTCH", "MAC_CONTENT_PS_DTCH", MAC_CONTENT_PS_DTCH},
+ {"MAC_CONTENT_CS_DTCH", "MAC_CONTENT_CS_DTCH", MAC_CONTENT_CS_DTCH},
+ {"MAC_CONTENT_CCCH", "MAC_CONTENT_CCCH", MAC_CONTENT_CCCH},
+ {NULL, NULL, -1}};
+
+typedef struct {
+ const char *name;
+ const char *title;
+ const char *description;
+} preference_strings;
+
+/* This is used when registering preferences, name, title, description */
+static const preference_strings ch_strings[] = {
+ {"lch1_content", "Logical Channel 1 Content", "foo"},
+ {"lch2_content", "Logical Channel 2 Content", "foo"},
+ {"lch3_content", "Logical Channel 3 Content", "foo"},
+ {"lch4_content", "Logical Channel 4 Content", "foo"},
+ {"lch5_content", "Logical Channel 5 Content", "foo"},
+ {"lch6_content", "Logical Channel 6 Content", "foo"},
+ {"lch7_content", "Logical Channel 7 Content", "foo"},
+ {"lch8_content", "Logical Channel 8 Content", "foo"},
+ {"lch9_content", "Logical Channel 9 Content", "foo"},
+ {"lch10_content", "Logical Channel 10 Content", "foo"},
+ {"lch11_content", "Logical Channel 11 Content", "foo"},
+ {"lch12_content", "Logical Channel 12 Content", "foo"},
+ {"lch13_content", "Logical Channel 13 Content", "foo"},
+ {"lch14_content", "Logical Channel 14 Content", "foo"},
+ {"lch15_content", "Logical Channel 15 Content", "foo"},
+ {"lch16_content", "Logical Channel 16 Content", "foo"}};
+
+enum ib_sg_enc_type {
+ IB_SG_DATA_ENC_VAR_1,
+ IB_SG_DATA_ENC_VAR_2
+};
+
+static const enum_val_t ib_sg_enc_vals[] = {
+ {"Encoding Variant 1 (TS 25.433 Annex D.2)",
+ "Encoding Variant 1 (TS 25.433 Annex D.2)", IB_SG_DATA_ENC_VAR_1},
+ {"Encoding Variant 2 (TS 25.433 Annex D.3)",
+ "Encoding Variant 2 (TS 25.433 Annex D.3)", IB_SG_DATA_ENC_VAR_2},
+ {NULL, NULL, -1}
+};
+
+static gint preferences_ib_sg_data_encoding = IB_SG_DATA_ENC_VAR_1;
+
+/* Dissector tables */
+static dissector_table_t nbap_ies_dissector_table;
+static dissector_table_t nbap_extension_dissector_table;
+static dissector_table_t nbap_proc_imsg_dissector_table;
+static dissector_table_t nbap_proc_sout_dissector_table;
+static dissector_table_t nbap_proc_uout_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static guint32 calculate_setup_conv_key(const guint32 transaction_id, const guint32 dd_mode, const guint32 channel_id);
+static void add_setup_conv(const packet_info *pinfo _U_, const guint32 transaction_id, const guint32 dd_mode, const guint32 channel_id, const guint32 req_frame_number,
+ const address *addr, const guint32 port, umts_fp_conversation_info_t * umts_fp_conversation_info, conversation_t *conv);
+static nbap_setup_conv_t* find_setup_conv(const packet_info *pinfo _U_, const guint32 transaction_id, const guint32 dd_mode, const guint32 channel_id);
+static void delete_setup_conv(nbap_setup_conv_t *conv);
+
+/*Easy way to add hsdhsch binds for corner cases*/
+static void add_hsdsch_bind(packet_info * pinfo);
+
+#include "packet-nbap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ guint32 protocol_ie_id;
+ protocol_ie_id = nbap_get_private_data(pinfo)->protocol_ie_id;
+ return (dissector_try_uint_new(nbap_ies_dissector_table, protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ guint32 protocol_ie_id;
+ protocol_ie_id = nbap_get_private_data(pinfo)->protocol_ie_id;
+ return (dissector_try_uint_new(nbap_extension_dissector_table, protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ if (!ProcedureID) return 0;
+ return (dissector_try_string(nbap_proc_imsg_dissector_table, ProcedureID, tvb, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ if (!ProcedureID) return 0;
+ return (dissector_try_string(nbap_proc_sout_dissector_table, ProcedureID, tvb, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ if (!ProcedureID) return 0;
+ return (dissector_try_string(nbap_proc_uout_dissector_table, ProcedureID, tvb, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+static void add_hsdsch_bind(packet_info *pinfo){
+ address null_addr;
+ conversation_t *conversation = NULL;
+ umts_fp_conversation_info_t *umts_fp_conversation_info;
+ fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL;
+ guint32 i;
+ nbap_private_data_t* nbap_private_data;
+ nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info;
+
+ if (PINFO_FD_VISITED(pinfo)){
+ return;
+ }
+
+ nbap_private_data = nbap_get_private_data(pinfo);
+ nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info;
+ /* Set port to zero use that as an indication of whether we have data or not */
+ clear_address(&null_addr);
+ for (i = 0; i < maxNrOfMACdFlows; i++) {
+ if (nbap_hsdsch_channel_info[i].crnc_port != 0){
+ conversation = find_conversation(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr, CONVERSATION_UDP,
+ nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
+
+ if (conversation == NULL) {
+ /* It's not part of any conversation - create a new one. */
+ conversation = conversation_new(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr, CONVERSATION_UDP,
+ nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR2|NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(conversation, fp_handle);
+
+ if(pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = wmem_new0(wmem_file_scope(), umts_fp_conversation_info_t);
+ /* Fill in the HSDSCH relevant data */
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_HSDSCH;
+ umts_fp_conversation_info->dl_frame_number = 0;
+ umts_fp_conversation_info->ul_frame_number = pinfo->num;
+ copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &nbap_hsdsch_channel_info[i].crnc_address);
+ umts_fp_conversation_info->crnc_port = nbap_hsdsch_channel_info[i].crnc_port;
+
+ fp_hsdsch_channel_info = wmem_new0(wmem_file_scope(), fp_hsdsch_channel_info_t);
+ umts_fp_conversation_info->channel_specific_info = (void*)fp_hsdsch_channel_info;
+ /*Added june 3, normally just the iterator variable*/
+ fp_hsdsch_channel_info->hsdsch_macdflow_id = i ; /*hsdsch_macdflow_ids[i];*/ /* hsdsch_macdflow_id;*/
+
+ if (nbap_private_data->crnc_context_present) {
+ umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id;
+ } else {
+ /* XXX: This expert info doesn't get added in subsequent passes,
+ * but probably should.
+ */
+ expert_add_info(pinfo, NULL, &ei_nbap_no_set_comm_context_id);
+ }
+
+ /* Cheat and use the DCH entries */
+ umts_fp_conversation_info->num_dch_in_flow++;
+ umts_fp_conversation_info->dch_ids_in_flow_list[umts_fp_conversation_info->num_dch_in_flow -1] = i;
+
+ if(nbap_hsdsch_channel_info[i].entity == entity_not_specified ){
+ /*Error*/
+ expert_add_info(pinfo, NULL, &ei_nbap_hsdsch_entity_not_specified);
+ }else{
+ fp_hsdsch_channel_info->hsdsch_entity = (enum fp_hsdsch_entity)nbap_hsdsch_channel_info[i].entity;
+ }
+ umts_fp_conversation_info->rlc_mode = nbap_hsdsch_channel_info[i].rlc_mode;
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+ }
+ }
+ }
+ }
+}
+
+/*
+ * Function used to manage conversation declared in Setup Request/Response message
+ */
+static guint32 calculate_setup_conv_key(const guint32 transaction_id, const guint32 dd_mode, const guint32 channel_id)
+{
+ /* We need to pack 3 values on 32 bits:
+ * 31-16 transaction_id
+ * 15-14 dd_mode
+ * 13-0 channel_id
+ */
+ guint32 key;
+ key = transaction_id << 16;
+ key |= (dd_mode & 0x03) << 14;
+ key |= (channel_id & 0x3fff);
+ nbap_debug("\tCalculating key 0x%04x", key);
+ return key;
+}
+
+static void add_setup_conv(const packet_info *pinfo _U_, const guint32 transaction_id, const guint32 dd_mode, const guint32 channel_id, const guint32 req_frame_number,
+ const address *addr, const guint32 port, umts_fp_conversation_info_t * umts_fp_conversation_info, conversation_t *conv)
+{
+ nbap_setup_conv_t *new_conv = NULL;
+ guint32 key;
+
+ nbap_debug("Creating new setup conv\t TransactionID: %u\tddMode: %u\tChannelID: %u\t %s:%u",
+ transaction_id, dd_mode, channel_id, address_to_str(pinfo->pool, addr), port);
+
+ new_conv = wmem_new0(wmem_file_scope(), nbap_setup_conv_t);
+
+ /* fill with data */
+ new_conv->transaction_id = transaction_id;
+ new_conv->dd_mode = dd_mode;
+ new_conv->channel_id = channel_id;
+ new_conv->request_frame_number = req_frame_number;
+ copy_address_wmem(wmem_file_scope(), &new_conv->addr, addr);
+ new_conv->port = port;
+ new_conv->umts_fp_conversation_info = umts_fp_conversation_info;
+ new_conv->conv = conv;
+
+ key = calculate_setup_conv_key(new_conv->transaction_id, new_conv->dd_mode, new_conv->channel_id);
+
+ wmem_map_insert(nbap_setup_conv_table, GUINT_TO_POINTER(key), new_conv);
+}
+
+static nbap_setup_conv_t* find_setup_conv(const packet_info *pinfo _U_, const guint32 transaction_id, const guint32 dd_mode, const guint32 channel_id)
+{
+ nbap_setup_conv_t *conv;
+ guint32 key;
+ nbap_debug("Looking for Setup Conversation match\t TransactionID: %u\t ddMode: %u\t ChannelID: %u", transaction_id, dd_mode, channel_id);
+
+ key = calculate_setup_conv_key(transaction_id, dd_mode, channel_id);
+
+ conv = (nbap_setup_conv_t*) wmem_map_lookup(nbap_setup_conv_table, GUINT_TO_POINTER(key));
+
+ if(conv == NULL){
+ nbap_debug("\tDidn't find Setup Conversation match");
+ }else{
+ nbap_debug("\tFOUND Setup Conversation match\t TransactionID: %u\t ddMode: %u\t ChannelID: %u\t %s:%u",
+ conv->transaction_id, conv->dd_mode, conv->channel_id, address_to_str(pinfo->pool, &(conv->addr)), conv->port);
+ }
+
+ return conv;
+}
+
+static void delete_setup_conv(nbap_setup_conv_t *conv)
+{
+ guint32 key;
+
+ /* check if conversation exist */
+ if(conv == NULL){
+ nbap_debug("Trying delete Setup Conversation that does not exist (ptr == NULL)\t");
+ return;
+ }
+ key = calculate_setup_conv_key(conv->transaction_id, conv->dd_mode, conv->channel_id);
+ wmem_map_remove(nbap_setup_conv_table, GUINT_TO_POINTER(key));
+}
+
+static void nbap_init(void){
+ guint8 i;
+ /*Initialize*/
+ com_context_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+
+ /*Initialize structure for muxed flow indication*/
+ edch_flow_port_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+
+ /*Initialize Setup Conversation hash table*/
+ nbap_setup_conv_table = wmem_map_new(wmem_file_scope(), g_direct_hash, g_direct_equal);
+ /*Initializing Scrambling Code to C-RNC Context & C-RNC Context to U-RNTI maps*/
+ nbap_scrambling_code_crncc_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+ nbap_crncc_urnti_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+
+ for (i = 0; i < 15; i++) {
+ lchId_type_table[i+1] = lch_contents[i];
+ }
+}
+
+static int
+dissect_nbap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_item *nbap_item = NULL;
+ proto_tree *nbap_tree = NULL;
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NBAP");
+
+ /* create the nbap protocol tree */
+ nbap_item = proto_tree_add_item(tree, proto_nbap, tvb, 0, -1, ENC_NA);
+ nbap_tree = proto_item_add_subtree(nbap_item, ett_nbap);
+
+ /* Clearing any old 'private data' stored */
+ nbap_reset_private_data(pinfo);
+
+ return dissect_NBAP_PDU_PDU(tvb, pinfo, nbap_tree, data);
+}
+
+/* Highest ProcedureCode value, used in heuristics */
+#define NBAP_MAX_PC 56 /* id-secondaryULFrequencyUpdate = 56*/
+#define NBAP_MSG_MIN_LENGTH 7
+static gboolean
+dissect_nbap_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ guint8 pdu_type;
+ guint8 procedure_id;
+ guint8 dd_mode;
+ guint8 criticality;
+ guint8 transaction_id_type;
+ guint length;
+ int length_field_offset;
+
+ #define PDU_TYPE_OFFSET 0
+ #define PROC_CODE_OFFSET 1
+ #define DD_CRIT_OFFSET 2
+ if (tvb_captured_length(tvb) < NBAP_MSG_MIN_LENGTH) {
+ return FALSE;
+ }
+
+ pdu_type = tvb_get_guint8(tvb, PDU_TYPE_OFFSET);
+ if (pdu_type & 0x1f) {
+ /* pdu_type is not 0x00 (initiatingMessage), 0x20 (succesfulOutcome),
+ 0x40 (unsuccesfulOutcome) or 0x60 (outcome), ignore extension bit (0x80) */
+ return FALSE;
+ }
+
+ procedure_id = tvb_get_guint8(tvb, PROC_CODE_OFFSET);
+ if (procedure_id > NBAP_MAX_PC) {
+ return FALSE;
+ }
+
+ dd_mode = tvb_get_guint8(tvb, DD_CRIT_OFFSET) >> 5;
+ if (dd_mode >= 0x03) {
+ /* dd_mode is not 0x00 (tdd), 0x01 (fdd) or 0x02 (common) */
+ return FALSE;
+ }
+
+ criticality = (tvb_get_guint8(tvb, DD_CRIT_OFFSET) & 0x18) >> 3;
+ if (criticality == 0x03) {
+ /* criticality is not 0x00 (reject), 0x01 (ignore) or 0x02 (notify) */
+ return FALSE;
+ }
+
+ /* Finding the offset for the length field - depends on wether the transaction id is long or short */
+ transaction_id_type = (tvb_get_guint8(tvb, DD_CRIT_OFFSET) & 0x02) >> 1;
+ if(transaction_id_type == 0x00) { /* Short transaction id - 1 byte*/
+ length_field_offset = 4;
+ }
+ else { /* Long transaction id - 2 bytes*/
+ length_field_offset = 5;
+ }
+
+ /* compute aligned PER length determinant without calling dissect_per_length_determinant()
+ to avoid exceptions and info added to tree, info column and expert info */
+ length = tvb_get_guint8(tvb, length_field_offset);
+ length_field_offset += 1;
+ if (length & 0x80) {
+ if ((length & 0xc0) == 0x80) {
+ length &= 0x3f;
+ length <<= 8;
+ length += tvb_get_guint8(tvb, length_field_offset);
+ length_field_offset += 1;
+ } else {
+ length = 0;
+ }
+ }
+ if (length!= (tvb_reported_length(tvb) - length_field_offset)){
+ return FALSE;
+ }
+
+ dissect_nbap(tvb, pinfo, tree, data);
+
+ return TRUE;
+}
+
+/*--- proto_register_nbap -------------------------------------------*/
+void proto_register_nbap(void)
+{
+ module_t *nbap_module;
+ guint8 i;
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_nbap_transportLayerAddress_ipv4,
+ { "transportLayerAddress IPv4", "nbap.transportLayerAddress_ipv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nbap_transportLayerAddress_ipv6,
+ { "transportLayerAddress IPv6", "nbap.transportLayerAddress_ipv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nbap_transportLayerAddress_nsap,
+ { "transportLayerAddress NSAP", "nbap.transportLayerAddress_NSAP",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nbap_reassembled_information_block,
+ { "Reassembled Information Block", "nbap.reassembled_information_block",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ #include "packet-nbap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_nbap,
+ &ett_nbap_TransportLayerAddress,
+ &ett_nbap_TransportLayerAddress_nsap,
+ &ett_nbap_ib_sg_data,
+ #include "packet-nbap-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_nbap_no_set_comm_context_id, { "nbap.no_set_comm_context_id", PI_MALFORMED, PI_WARN, "Couldn't not set Communication Context-ID, fragments over reconfigured channels might fail", EXPFILL }},
+ { &ei_nbap_no_find_port_info, { "nbap.no_find_port_info", PI_MALFORMED, PI_WARN, "Couldn't not find port information for reconfigured E-DCH flow, unable to reconfigure", EXPFILL }},
+ { &ei_nbap_hsdsch_entity_not_specified, { "nbap.hsdsch_entity_not_specified", PI_MALFORMED,PI_ERROR, "HSDSCH Entity not specified!", EXPFILL }},
+ };
+
+ expert_module_t* expert_nbap;
+
+ /* Register protocol */
+ proto_nbap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_nbap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_nbap = expert_register_protocol(proto_nbap);
+ expert_register_field_array(expert_nbap, ei, array_length(ei));
+
+ /* Register dissector */
+ nbap_handle = register_dissector("nbap", dissect_nbap, proto_nbap);
+
+ nbap_module = prefs_register_protocol(proto_nbap, NULL);
+
+ /* Register preferences for mapping logical channel IDs to MAC content types. */
+ for (i = 0; i < 16; i++) {
+ prefs_register_enum_preference(nbap_module, ch_strings[i].name, ch_strings[i].title, ch_strings[i].description, &lch_contents[i], content_types, FALSE);
+ }
+ prefs_register_enum_preference(nbap_module, "ib_sg_data_encoding",
+ "IB_SG_DATA encoding",
+ "Encoding used for the IB-SG-DATA element carrying segments of information blocks",
+ &preferences_ib_sg_data_encoding, ib_sg_enc_vals, FALSE);
+
+ /* Register dissector tables */
+ nbap_ies_dissector_table = register_dissector_table("nbap.ies", "NBAP-PROTOCOL-IES", proto_nbap, FT_UINT32, BASE_DEC);
+ nbap_extension_dissector_table = register_dissector_table("nbap.extension", "NBAP-PROTOCOL-EXTENSION", proto_nbap, FT_UINT32, BASE_DEC);
+ nbap_proc_imsg_dissector_table = register_dissector_table("nbap.proc.imsg", "NBAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_nbap, FT_STRING, STRING_CASE_SENSITIVE);
+ nbap_proc_sout_dissector_table = register_dissector_table("nbap.proc.sout", "NBAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_nbap, FT_STRING, STRING_CASE_SENSITIVE);
+ nbap_proc_uout_dissector_table = register_dissector_table("nbap.proc.uout", "NBAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_nbap, FT_STRING, STRING_CASE_SENSITIVE);
+
+ register_init_routine(nbap_init);
+}
+
+/*
+ * #define EXTRA_PPI 1
+ */
+/*--- proto_reg_handoff_nbap ---------------------------------------*/
+void
+proto_reg_handoff_nbap(void)
+{
+ fp_handle = find_dissector("fp");
+ dissector_add_uint("sctp.ppi", NBAP_PAYLOAD_PROTOCOL_ID, nbap_handle);
+#ifdef EXTRA_PPI
+ dissector_add_uint("sctp.ppi", 17, nbap_handle);
+#endif
+ dissector_add_for_decode_as("sctp.port", nbap_handle);
+ heur_dissector_add("sctp", dissect_nbap_heur, "NBAP over SCTP", "nbap_sctp", proto_nbap, HEURISTIC_ENABLE);
+
+#include "packet-nbap-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/nbap/packet-nbap-template.h b/epan/dissectors/asn1/nbap/packet-nbap-template.h
new file mode 100644
index 00000000..a19d11af
--- /dev/null
+++ b/epan/dissectors/asn1/nbap/packet-nbap-template.h
@@ -0,0 +1,33 @@
+/* packet-nbap-template.h
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_NBAP_H
+#define PACKET_NBAP_H
+
+#include "packet-umts_rlc.h"
+#include "packet-umts_mac.h"
+
+/*
+ * Ericsson specific mapping for various dissector settings.
+ * Must be altered for other equipment.
+ */
+
+/*Array are indexed on logical channel id, meaning they need to be defined for 1-15*/
+/* Mapping from logical channel id to MAC content type ie. DCCH or DTCH*/
+extern guint8 lchId_type_table[];
+
+/* Mapping logicalchannel id to RLC_MODE */
+extern guint8 lchId_rlc_map[];
+
+/* Mapping Scrambling Codes to C-RNC Contexts */
+extern wmem_tree_t *nbap_scrambling_code_crncc_map;
+/* Mapping C-RNC Contexts to U-RNTIs */
+extern wmem_tree_t *nbap_crncc_urnti_map;
+
+#endif
diff --git a/epan/dissectors/asn1/ngap/CMakeLists.txt b/epan/dissectors/asn1/ngap/CMakeLists.txt
new file mode 100644
index 00000000..be5619bc
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/CMakeLists.txt
@@ -0,0 +1,43 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+set( PROTOCOL_NAME ngap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ NGAP-CommonDataTypes.asn
+ NGAP-Constants.asn
+ NGAP-Containers.asn
+ NGAP-IEs.asn
+ NGAP-PDU-Contents.asn
+ NGAP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ngap/NGAP-CommonDataTypes.asn b/epan/dissectors/asn1/ngap/NGAP-CommonDataTypes.asn
new file mode 100644
index 00000000..e739dd03
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/NGAP-CommonDataTypes.asn
@@ -0,0 +1,34 @@
+-- 3GPP TS 38.413 V17.5.0 (2023-06)
+-- 9.4.6 Common Definitions
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+NGAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0..65535),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolExtensionID ::= INTEGER (0..65535)
+
+ProtocolIE-ID ::= INTEGER (0..65535)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome }
+
+END
diff --git a/epan/dissectors/asn1/ngap/NGAP-Constants.asn b/epan/dissectors/asn1/ngap/NGAP-Constants.asn
new file mode 100644
index 00000000..70f31a86
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/NGAP-Constants.asn
@@ -0,0 +1,591 @@
+-- 3GPP TS 38.413 V17.5.0 (2023-06)
+-- 9.4.7 Constant Definitions
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+NGAP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ ProcedureCode,
+ ProtocolIE-ID
+FROM NGAP-CommonDataTypes;
+
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-AMFConfigurationUpdate ProcedureCode ::= 0
+id-AMFStatusIndication ProcedureCode ::= 1
+id-CellTrafficTrace ProcedureCode ::= 2
+id-DeactivateTrace ProcedureCode ::= 3
+id-DownlinkNASTransport ProcedureCode ::= 4
+id-DownlinkNonUEAssociatedNRPPaTransport ProcedureCode ::= 5
+id-DownlinkRANConfigurationTransfer ProcedureCode ::= 6
+id-DownlinkRANStatusTransfer ProcedureCode ::= 7
+id-DownlinkUEAssociatedNRPPaTransport ProcedureCode ::= 8
+id-ErrorIndication ProcedureCode ::= 9
+id-HandoverCancel ProcedureCode ::= 10
+id-HandoverNotification ProcedureCode ::= 11
+id-HandoverPreparation ProcedureCode ::= 12
+id-HandoverResourceAllocation ProcedureCode ::= 13
+id-InitialContextSetup ProcedureCode ::= 14
+id-InitialUEMessage ProcedureCode ::= 15
+id-LocationReportingControl ProcedureCode ::= 16
+id-LocationReportingFailureIndication ProcedureCode ::= 17
+id-LocationReport ProcedureCode ::= 18
+id-NASNonDeliveryIndication ProcedureCode ::= 19
+id-NGReset ProcedureCode ::= 20
+id-NGSetup ProcedureCode ::= 21
+id-OverloadStart ProcedureCode ::= 22
+id-OverloadStop ProcedureCode ::= 23
+id-Paging ProcedureCode ::= 24
+id-PathSwitchRequest ProcedureCode ::= 25
+id-PDUSessionResourceModify ProcedureCode ::= 26
+id-PDUSessionResourceModifyIndication ProcedureCode ::= 27
+id-PDUSessionResourceRelease ProcedureCode ::= 28
+id-PDUSessionResourceSetup ProcedureCode ::= 29
+id-PDUSessionResourceNotify ProcedureCode ::= 30
+id-PrivateMessage ProcedureCode ::= 31
+id-PWSCancel ProcedureCode ::= 32
+id-PWSFailureIndication ProcedureCode ::= 33
+id-PWSRestartIndication ProcedureCode ::= 34
+id-RANConfigurationUpdate ProcedureCode ::= 35
+id-RerouteNASRequest ProcedureCode ::= 36
+id-RRCInactiveTransitionReport ProcedureCode ::= 37
+id-TraceFailureIndication ProcedureCode ::= 38
+id-TraceStart ProcedureCode ::= 39
+id-UEContextModification ProcedureCode ::= 40
+id-UEContextRelease ProcedureCode ::= 41
+id-UEContextReleaseRequest ProcedureCode ::= 42
+id-UERadioCapabilityCheck ProcedureCode ::= 43
+id-UERadioCapabilityInfoIndication ProcedureCode ::= 44
+id-UETNLABindingRelease ProcedureCode ::= 45
+id-UplinkNASTransport ProcedureCode ::= 46
+id-UplinkNonUEAssociatedNRPPaTransport ProcedureCode ::= 47
+id-UplinkRANConfigurationTransfer ProcedureCode ::= 48
+id-UplinkRANStatusTransfer ProcedureCode ::= 49
+id-UplinkUEAssociatedNRPPaTransport ProcedureCode ::= 50
+id-WriteReplaceWarning ProcedureCode ::= 51
+id-SecondaryRATDataUsageReport ProcedureCode ::= 52
+id-UplinkRIMInformationTransfer ProcedureCode ::= 53
+id-DownlinkRIMInformationTransfer ProcedureCode ::= 54
+id-RetrieveUEInformation ProcedureCode ::= 55
+id-UEInformationTransfer ProcedureCode ::= 56
+id-RANCPRelocationIndication ProcedureCode ::= 57
+id-UEContextResume ProcedureCode ::= 58
+id-UEContextSuspend ProcedureCode ::= 59
+id-UERadioCapabilityIDMapping ProcedureCode ::= 60
+id-HandoverSuccess ProcedureCode ::= 61
+id-UplinkRANEarlyStatusTransfer ProcedureCode ::= 62
+id-DownlinkRANEarlyStatusTransfer ProcedureCode ::= 63
+id-AMFCPRelocationIndication ProcedureCode ::= 64
+id-ConnectionEstablishmentIndication ProcedureCode ::= 65
+id-BroadcastSessionModification ProcedureCode ::= 66
+id-BroadcastSessionRelease ProcedureCode ::= 67
+id-BroadcastSessionSetup ProcedureCode ::= 68
+id-DistributionSetup ProcedureCode ::= 69
+id-DistributionRelease ProcedureCode ::= 70
+id-MulticastSessionActivation ProcedureCode ::= 71
+id-MulticastSessionDeactivation ProcedureCode ::= 72
+id-MulticastSessionUpdate ProcedureCode ::= 73
+id-MulticastGroupPaging ProcedureCode ::= 74
+id-BroadcastSessionReleaseRequired ProcedureCode ::= 75
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+ maxnoofAllowedAreas INTEGER ::= 16
+ maxnoofAllowedCAGsperPLMN INTEGER ::= 256
+ maxnoofAllowedS-NSSAIs INTEGER ::= 8
+ maxnoofBluetoothName INTEGER ::= 4
+ maxnoofBPLMNs INTEGER ::= 12
+ maxnoofCAGSperCell INTEGER ::= 64
+ maxnoofCellIDforMDT INTEGER ::= 32
+ maxnoofCellIDforWarning INTEGER ::= 65535
+ maxnoofCellinAoI INTEGER ::= 256
+ maxnoofCellinEAI INTEGER ::= 65535
+ maxnoofCellinTAI INTEGER ::= 65535
+ maxnoofCellsforMBS INTEGER ::= 8192
+ maxnoofCellsingNB INTEGER ::= 16384
+ maxnoofCellsinngeNB INTEGER ::= 256
+ maxnoofCellsinNGRANNode INTEGER ::= 16384
+ maxnoofCellsinUEHistoryInfo INTEGER ::= 16
+ maxnoofCellsUEMovingTrajectory INTEGER ::= 16
+ maxnoofDRBs INTEGER ::= 32
+ maxnoofEmergencyAreaID INTEGER ::= 65535
+ maxnoofEAIforRestart INTEGER ::= 256
+ maxnoofEPLMNs INTEGER ::= 15
+ maxnoofEPLMNsPlusOne INTEGER ::= 16
+ maxnoofE-RABs INTEGER ::= 256
+ maxnoofErrors INTEGER ::= 256
+ maxnoofExtSliceItems INTEGER ::= 65535
+ maxnoofForbTACs INTEGER ::= 4096
+ maxnoofFreqforMDT INTEGER ::= 8
+ maxnoofMBSAreaSessionIDs INTEGER ::= 256
+ maxnoofMBSFSAs INTEGER ::= 64
+ maxnoofMBSQoSFlows INTEGER ::= 64
+ maxnoofMBSSessions INTEGER ::= 32
+ maxnoofMBSSessionsofUE INTEGER ::= 256
+ maxnoofMBSServiceAreaInformation INTEGER ::= 256
+ maxnoofMDTPLMNs INTEGER ::= 16
+ maxnoofMRBs INTEGER ::= 32
+ maxnoofMultiConnectivity INTEGER ::= 4
+ maxnoofMultiConnectivityMinusOne INTEGER ::= 3
+ maxnoofNeighPCIforMDT INTEGER ::= 32
+ maxnoofNGAPIESupportInfo INTEGER ::= 32
+ maxnoofNGConnectionsToReset INTEGER ::= 65536
+ maxnoofNRCellBands INTEGER ::= 32
+ maxnoofNSAGs INTEGER ::= 256
+ maxnoofPagingAreas INTEGER ::= 64
+ maxnoofPC5QoSFlows INTEGER ::= 2048
+ maxnoofPDUSessions INTEGER ::= 256
+ maxnoofPLMNs INTEGER ::= 12
+ maxnoofPSCellsPerPrimaryCellinUEHistoryInfo INTEGER ::= 8
+ maxnoofQosFlows INTEGER ::= 64
+ maxnoofQosParaSets INTEGER ::= 8
+ maxnoofRANNodeinAoI INTEGER ::= 64
+ maxnoofRecommendedCells INTEGER ::= 16
+ maxnoofRecommendedRANNodes INTEGER ::= 16
+ maxnoofAoI INTEGER ::= 64
+ maxnoofReportedCells INTEGER ::= 256
+ maxnoofSensorName INTEGER ::= 3
+ maxnoofServedGUAMIs INTEGER ::= 256
+ maxnoofSliceItems INTEGER ::= 1024
+ maxnoofSuccessfulHOReports INTEGER ::= 64
+ maxnoofTACs INTEGER ::= 256
+ maxnoofTACsinNTN INTEGER ::= 12
+ maxnoofTAforMDT INTEGER ::= 8
+ maxnoofTAIforInactive INTEGER ::= 16
+ maxnoofTAIforMBS INTEGER ::= 1024
+ maxnoofTAIforPaging INTEGER ::= 16
+ maxnoofTAIforRestart INTEGER ::= 2048
+ maxnoofTAIforWarning INTEGER ::= 65535
+ maxnoofTAIinAoI INTEGER ::= 16
+ maxnoofTimePeriods INTEGER ::= 2
+ maxnoofTNLAssociations INTEGER ::= 32
+ maxnoofUEsforPaging INTEGER ::= 4096
+ maxnoofWLANName INTEGER ::= 4
+ maxnoofXnExtTLAs INTEGER ::= 16
+ maxnoofXnGTP-TLAs INTEGER ::= 16
+ maxnoofXnTLAs INTEGER ::= 2
+ maxnoofCandidateCells INTEGER ::= 32
+ maxnoofTargetS-NSSAIs INTEGER ::= 8
+ maxNRARFCN INTEGER ::= 3279165
+ maxnoofCellIDforQMC INTEGER ::= 32
+ maxnoofPLMNforQMC INTEGER ::= 16
+ maxnoofUEAppLayerMeas INTEGER ::= 16
+ maxnoofSNSSAIforQMC INTEGER ::= 16
+ maxnoofTAforQMC INTEGER ::= 8
+ maxnoofThresholdsForExcessPacketDelay INTEGER ::= 255
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+ id-AllowedNSSAI ProtocolIE-ID ::= 0
+ id-AMFName ProtocolIE-ID ::= 1
+ id-AMFOverloadResponse ProtocolIE-ID ::= 2
+ id-AMFSetID ProtocolIE-ID ::= 3
+ id-AMF-TNLAssociationFailedToSetupList ProtocolIE-ID ::= 4
+ id-AMF-TNLAssociationSetupList ProtocolIE-ID ::= 5
+ id-AMF-TNLAssociationToAddList ProtocolIE-ID ::= 6
+ id-AMF-TNLAssociationToRemoveList ProtocolIE-ID ::= 7
+ id-AMF-TNLAssociationToUpdateList ProtocolIE-ID ::= 8
+ id-AMFTrafficLoadReductionIndication ProtocolIE-ID ::= 9
+ id-AMF-UE-NGAP-ID ProtocolIE-ID ::= 10
+ id-AssistanceDataForPaging ProtocolIE-ID ::= 11
+ id-BroadcastCancelledAreaList ProtocolIE-ID ::= 12
+ id-BroadcastCompletedAreaList ProtocolIE-ID ::= 13
+ id-CancelAllWarningMessages ProtocolIE-ID ::= 14
+ id-Cause ProtocolIE-ID ::= 15
+ id-CellIDListForRestart ProtocolIE-ID ::= 16
+ id-ConcurrentWarningMessageInd ProtocolIE-ID ::= 17
+ id-CoreNetworkAssistanceInformationForInactive ProtocolIE-ID ::= 18
+ id-CriticalityDiagnostics ProtocolIE-ID ::= 19
+ id-DataCodingScheme ProtocolIE-ID ::= 20
+ id-DefaultPagingDRX ProtocolIE-ID ::= 21
+ id-DirectForwardingPathAvailability ProtocolIE-ID ::= 22
+ id-EmergencyAreaIDListForRestart ProtocolIE-ID ::= 23
+ id-EmergencyFallbackIndicator ProtocolIE-ID ::= 24
+ id-EUTRA-CGI ProtocolIE-ID ::= 25
+ id-FiveG-S-TMSI ProtocolIE-ID ::= 26
+ id-GlobalRANNodeID ProtocolIE-ID ::= 27
+ id-GUAMI ProtocolIE-ID ::= 28
+ id-HandoverType ProtocolIE-ID ::= 29
+ id-IMSVoiceSupportIndicator ProtocolIE-ID ::= 30
+ id-IndexToRFSP ProtocolIE-ID ::= 31
+ id-InfoOnRecommendedCellsAndRANNodesForPaging ProtocolIE-ID ::= 32
+ id-LocationReportingRequestType ProtocolIE-ID ::= 33
+ id-MaskedIMEISV ProtocolIE-ID ::= 34
+ id-MessageIdentifier ProtocolIE-ID ::= 35
+ id-MobilityRestrictionList ProtocolIE-ID ::= 36
+ id-NASC ProtocolIE-ID ::= 37
+ id-NAS-PDU ProtocolIE-ID ::= 38
+ id-NASSecurityParametersFromNGRAN ProtocolIE-ID ::= 39
+ id-NewAMF-UE-NGAP-ID ProtocolIE-ID ::= 40
+ id-NewSecurityContextInd ProtocolIE-ID ::= 41
+ id-NGAP-Message ProtocolIE-ID ::= 42
+ id-NGRAN-CGI ProtocolIE-ID ::= 43
+ id-NGRANTraceID ProtocolIE-ID ::= 44
+ id-NR-CGI ProtocolIE-ID ::= 45
+ id-NRPPa-PDU ProtocolIE-ID ::= 46
+ id-NumberOfBroadcastsRequested ProtocolIE-ID ::= 47
+ id-OldAMF ProtocolIE-ID ::= 48
+ id-OverloadStartNSSAIList ProtocolIE-ID ::= 49
+ id-PagingDRX ProtocolIE-ID ::= 50
+ id-PagingOrigin ProtocolIE-ID ::= 51
+ id-PagingPriority ProtocolIE-ID ::= 52
+ id-PDUSessionResourceAdmittedList ProtocolIE-ID ::= 53
+ id-PDUSessionResourceFailedToModifyListModRes ProtocolIE-ID ::= 54
+ id-PDUSessionResourceFailedToSetupListCxtRes ProtocolIE-ID ::= 55
+ id-PDUSessionResourceFailedToSetupListHOAck ProtocolIE-ID ::= 56
+ id-PDUSessionResourceFailedToSetupListPSReq ProtocolIE-ID ::= 57
+ id-PDUSessionResourceFailedToSetupListSURes ProtocolIE-ID ::= 58
+ id-PDUSessionResourceHandoverList ProtocolIE-ID ::= 59
+ id-PDUSessionResourceListCxtRelCpl ProtocolIE-ID ::= 60
+ id-PDUSessionResourceListHORqd ProtocolIE-ID ::= 61
+ id-PDUSessionResourceModifyListModCfm ProtocolIE-ID ::= 62
+ id-PDUSessionResourceModifyListModInd ProtocolIE-ID ::= 63
+ id-PDUSessionResourceModifyListModReq ProtocolIE-ID ::= 64
+ id-PDUSessionResourceModifyListModRes ProtocolIE-ID ::= 65
+ id-PDUSessionResourceNotifyList ProtocolIE-ID ::= 66
+ id-PDUSessionResourceReleasedListNot ProtocolIE-ID ::= 67
+ id-PDUSessionResourceReleasedListPSAck ProtocolIE-ID ::= 68
+ id-PDUSessionResourceReleasedListPSFail ProtocolIE-ID ::= 69
+ id-PDUSessionResourceReleasedListRelRes ProtocolIE-ID ::= 70
+ id-PDUSessionResourceSetupListCxtReq ProtocolIE-ID ::= 71
+ id-PDUSessionResourceSetupListCxtRes ProtocolIE-ID ::= 72
+ id-PDUSessionResourceSetupListHOReq ProtocolIE-ID ::= 73
+ id-PDUSessionResourceSetupListSUReq ProtocolIE-ID ::= 74
+ id-PDUSessionResourceSetupListSURes ProtocolIE-ID ::= 75
+ id-PDUSessionResourceToBeSwitchedDLList ProtocolIE-ID ::= 76
+ id-PDUSessionResourceSwitchedList ProtocolIE-ID ::= 77
+ id-PDUSessionResourceToReleaseListHOCmd ProtocolIE-ID ::= 78
+ id-PDUSessionResourceToReleaseListRelCmd ProtocolIE-ID ::= 79
+ id-PLMNSupportList ProtocolIE-ID ::= 80
+ id-PWSFailedCellIDList ProtocolIE-ID ::= 81
+ id-RANNodeName ProtocolIE-ID ::= 82
+ id-RANPagingPriority ProtocolIE-ID ::= 83
+ id-RANStatusTransfer-TransparentContainer ProtocolIE-ID ::= 84
+ id-RAN-UE-NGAP-ID ProtocolIE-ID ::= 85
+ id-RelativeAMFCapacity ProtocolIE-ID ::= 86
+ id-RepetitionPeriod ProtocolIE-ID ::= 87
+ id-ResetType ProtocolIE-ID ::= 88
+ id-RoutingID ProtocolIE-ID ::= 89
+ id-RRCEstablishmentCause ProtocolIE-ID ::= 90
+ id-RRCInactiveTransitionReportRequest ProtocolIE-ID ::= 91
+ id-RRCState ProtocolIE-ID ::= 92
+ id-SecurityContext ProtocolIE-ID ::= 93
+ id-SecurityKey ProtocolIE-ID ::= 94
+ id-SerialNumber ProtocolIE-ID ::= 95
+ id-ServedGUAMIList ProtocolIE-ID ::= 96
+ id-SliceSupportList ProtocolIE-ID ::= 97
+ id-SONConfigurationTransferDL ProtocolIE-ID ::= 98
+ id-SONConfigurationTransferUL ProtocolIE-ID ::= 99
+ id-SourceAMF-UE-NGAP-ID ProtocolIE-ID ::= 100
+ id-SourceToTarget-TransparentContainer ProtocolIE-ID ::= 101
+ id-SupportedTAList ProtocolIE-ID ::= 102
+ id-TAIListForPaging ProtocolIE-ID ::= 103
+ id-TAIListForRestart ProtocolIE-ID ::= 104
+ id-TargetID ProtocolIE-ID ::= 105
+ id-TargetToSource-TransparentContainer ProtocolIE-ID ::= 106
+ id-TimeToWait ProtocolIE-ID ::= 107
+ id-TraceActivation ProtocolIE-ID ::= 108
+ id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 109
+ id-UEAggregateMaximumBitRate ProtocolIE-ID ::= 110
+ id-UE-associatedLogicalNG-connectionList ProtocolIE-ID ::= 111
+ id-UEContextRequest ProtocolIE-ID ::= 112
+ --WS extension
+ id-Unknown-113 ProtocolIE-ID ::= 113
+ id-UE-NGAP-IDs ProtocolIE-ID ::= 114
+ id-UEPagingIdentity ProtocolIE-ID ::= 115
+ id-UEPresenceInAreaOfInterestList ProtocolIE-ID ::= 116
+ id-UERadioCapability ProtocolIE-ID ::= 117
+ id-UERadioCapabilityForPaging ProtocolIE-ID ::= 118
+ id-UESecurityCapabilities ProtocolIE-ID ::= 119
+ id-UnavailableGUAMIList ProtocolIE-ID ::= 120
+ id-UserLocationInformation ProtocolIE-ID ::= 121
+ id-WarningAreaList ProtocolIE-ID ::= 122
+ id-WarningMessageContents ProtocolIE-ID ::= 123
+ id-WarningSecurityInfo ProtocolIE-ID ::= 124
+ id-WarningType ProtocolIE-ID ::= 125
+ id-AdditionalUL-NGU-UP-TNLInformation ProtocolIE-ID ::= 126
+ id-DataForwardingNotPossible ProtocolIE-ID ::= 127
+ id-DL-NGU-UP-TNLInformation ProtocolIE-ID ::= 128
+ id-NetworkInstance ProtocolIE-ID ::= 129
+ id-PDUSessionAggregateMaximumBitRate ProtocolIE-ID ::= 130
+ id-PDUSessionResourceFailedToModifyListModCfm ProtocolIE-ID ::= 131
+ id-PDUSessionResourceFailedToSetupListCxtFail ProtocolIE-ID ::= 132
+ id-PDUSessionResourceListCxtRelReq ProtocolIE-ID ::= 133
+ id-PDUSessionType ProtocolIE-ID ::= 134
+ id-QosFlowAddOrModifyRequestList ProtocolIE-ID ::= 135
+ id-QosFlowSetupRequestList ProtocolIE-ID ::= 136
+ id-QosFlowToReleaseList ProtocolIE-ID ::= 137
+ id-SecurityIndication ProtocolIE-ID ::= 138
+ id-UL-NGU-UP-TNLInformation ProtocolIE-ID ::= 139
+ id-UL-NGU-UP-TNLModifyList ProtocolIE-ID ::= 140
+ id-WarningAreaCoordinates ProtocolIE-ID ::= 141
+ id-PDUSessionResourceSecondaryRATUsageList ProtocolIE-ID ::= 142
+ id-HandoverFlag ProtocolIE-ID ::= 143
+ id-SecondaryRATUsageInformation ProtocolIE-ID ::= 144
+ id-PDUSessionResourceReleaseResponseTransfer ProtocolIE-ID ::= 145
+ id-RedirectionVoiceFallback ProtocolIE-ID ::= 146
+ id-UERetentionInformation ProtocolIE-ID ::= 147
+ id-S-NSSAI ProtocolIE-ID ::= 148
+ id-PSCellInformation ProtocolIE-ID ::= 149
+ id-LastEUTRAN-PLMNIdentity ProtocolIE-ID ::= 150
+ id-MaximumIntegrityProtectedDataRate-DL ProtocolIE-ID ::= 151
+ id-AdditionalDLForwardingUPTNLInformation ProtocolIE-ID ::= 152
+ id-AdditionalDLUPTNLInformationForHOList ProtocolIE-ID ::= 153
+ id-AdditionalNGU-UP-TNLInformation ProtocolIE-ID ::= 154
+ id-AdditionalDLQosFlowPerTNLInformation ProtocolIE-ID ::= 155
+ id-SecurityResult ProtocolIE-ID ::= 156
+ id-ENDC-SONConfigurationTransferDL ProtocolIE-ID ::= 157
+ id-ENDC-SONConfigurationTransferUL ProtocolIE-ID ::= 158
+ id-OldAssociatedQosFlowList-ULendmarkerexpected ProtocolIE-ID ::= 159
+ id-CNTypeRestrictionsForEquivalent ProtocolIE-ID ::= 160
+ id-CNTypeRestrictionsForServing ProtocolIE-ID ::= 161
+ id-NewGUAMI ProtocolIE-ID ::= 162
+ id-ULForwarding ProtocolIE-ID ::= 163
+ id-ULForwardingUP-TNLInformation ProtocolIE-ID ::= 164
+ id-CNAssistedRANTuning ProtocolIE-ID ::= 165
+ id-CommonNetworkInstance ProtocolIE-ID ::= 166
+ id-NGRAN-TNLAssociationToRemoveList ProtocolIE-ID ::= 167
+ id-TNLAssociationTransportLayerAddressNGRAN ProtocolIE-ID ::= 168
+ id-EndpointIPAddressAndPort ProtocolIE-ID ::= 169
+ id-LocationReportingAdditionalInfo ProtocolIE-ID ::= 170
+ id-SourceToTarget-AMFInformationReroute ProtocolIE-ID ::= 171
+ id-AdditionalULForwardingUPTNLInformation ProtocolIE-ID ::= 172
+ id-SCTP-TLAs ProtocolIE-ID ::= 173
+ id-SelectedPLMNIdentity ProtocolIE-ID ::= 174
+ id-RIMInformationTransfer ProtocolIE-ID ::= 175
+ id-GUAMIType ProtocolIE-ID ::= 176
+ id-SRVCCOperationPossible ProtocolIE-ID ::= 177
+ id-TargetRNC-ID ProtocolIE-ID ::= 178
+ id-RAT-Information ProtocolIE-ID ::= 179
+ id-ExtendedRATRestrictionInformation ProtocolIE-ID ::= 180
+ id-QosMonitoringRequest ProtocolIE-ID ::= 181
+ id-SgNB-UE-X2AP-ID ProtocolIE-ID ::= 182
+ id-AdditionalRedundantDL-NGU-UP-TNLInformation ProtocolIE-ID ::= 183
+ id-AdditionalRedundantDLQosFlowPerTNLInformation ProtocolIE-ID ::= 184
+ id-AdditionalRedundantNGU-UP-TNLInformation ProtocolIE-ID ::= 185
+ id-AdditionalRedundantUL-NGU-UP-TNLInformation ProtocolIE-ID ::= 186
+ id-CNPacketDelayBudgetDL ProtocolIE-ID ::= 187
+ id-CNPacketDelayBudgetUL ProtocolIE-ID ::= 188
+ id-ExtendedPacketDelayBudget ProtocolIE-ID ::= 189
+ id-RedundantCommonNetworkInstance ProtocolIE-ID ::= 190
+ id-RedundantDL-NGU-TNLInformationReused ProtocolIE-ID ::= 191
+ id-RedundantDL-NGU-UP-TNLInformation ProtocolIE-ID ::= 192
+ id-RedundantDLQosFlowPerTNLInformation ProtocolIE-ID ::= 193
+ id-RedundantQosFlowIndicator ProtocolIE-ID ::= 194
+ id-RedundantUL-NGU-UP-TNLInformation ProtocolIE-ID ::= 195
+ id-TSCTrafficCharacteristics ProtocolIE-ID ::= 196
+ id-RedundantPDUSessionInformation ProtocolIE-ID ::= 197
+ id-UsedRSNInformation ProtocolIE-ID ::= 198
+ id-IAB-Authorized ProtocolIE-ID ::= 199
+ id-IAB-Supported ProtocolIE-ID ::= 200
+ id-IABNodeIndication ProtocolIE-ID ::= 201
+ id-NB-IoT-PagingDRX ProtocolIE-ID ::= 202
+ id-NB-IoT-Paging-eDRXInfo ProtocolIE-ID ::= 203
+ id-NB-IoT-DefaultPagingDRX ProtocolIE-ID ::= 204
+ id-Enhanced-CoverageRestriction ProtocolIE-ID ::= 205
+ id-Extended-ConnectedTime ProtocolIE-ID ::= 206
+ id-PagingAssisDataforCEcapabUE ProtocolIE-ID ::= 207
+ id-WUS-Assistance-Information ProtocolIE-ID ::= 208
+ id-UE-DifferentiationInfo ProtocolIE-ID ::= 209
+ id-NB-IoT-UEPriority ProtocolIE-ID ::= 210
+ id-UL-CP-SecurityInformation ProtocolIE-ID ::= 211
+ id-DL-CP-SecurityInformation ProtocolIE-ID ::= 212
+ id-TAI ProtocolIE-ID ::= 213
+ id-UERadioCapabilityForPagingOfNB-IoT ProtocolIE-ID ::= 214
+ id-LTEV2XServicesAuthorized ProtocolIE-ID ::= 215
+ id-NRV2XServicesAuthorized ProtocolIE-ID ::= 216
+ id-LTEUESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 217
+ id-NRUESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 218
+ id-PC5QoSParameters ProtocolIE-ID ::= 219
+ id-AlternativeQoSParaSetList ProtocolIE-ID ::= 220
+ id-CurrentQoSParaSetIndex ProtocolIE-ID ::= 221
+ id-CEmodeBrestricted ProtocolIE-ID ::= 222
+ id-EUTRA-PagingeDRXInformation ProtocolIE-ID ::= 223
+ id-CEmodeBSupport-Indicator ProtocolIE-ID ::= 224
+ id-LTEM-Indication ProtocolIE-ID ::= 225
+ id-EndIndication ProtocolIE-ID ::= 226
+ id-EDT-Session ProtocolIE-ID ::= 227
+ id-UECapabilityInfoRequest ProtocolIE-ID ::= 228
+ id-PDUSessionResourceFailedToResumeListRESReq ProtocolIE-ID ::= 229
+ id-PDUSessionResourceFailedToResumeListRESRes ProtocolIE-ID ::= 230
+ id-PDUSessionResourceSuspendListSUSReq ProtocolIE-ID ::= 231
+ id-PDUSessionResourceResumeListRESReq ProtocolIE-ID ::= 232
+ id-PDUSessionResourceResumeListRESRes ProtocolIE-ID ::= 233
+ id-UE-UP-CIoT-Support ProtocolIE-ID ::= 234
+ id-Suspend-Request-Indication ProtocolIE-ID ::= 235
+ id-Suspend-Response-Indication ProtocolIE-ID ::= 236
+ id-RRC-Resume-Cause ProtocolIE-ID ::= 237
+ id-RGLevelWirelineAccessCharacteristics ProtocolIE-ID ::= 238
+ id-W-AGFIdentityInformation ProtocolIE-ID ::= 239
+ id-GlobalTNGF-ID ProtocolIE-ID ::= 240
+ id-GlobalTWIF-ID ProtocolIE-ID ::= 241
+ id-GlobalW-AGF-ID ProtocolIE-ID ::= 242
+ id-UserLocationInformationW-AGF ProtocolIE-ID ::= 243
+ id-UserLocationInformationTNGF ProtocolIE-ID ::= 244
+ id-AuthenticatedIndication ProtocolIE-ID ::= 245
+ id-TNGFIdentityInformation ProtocolIE-ID ::= 246
+ id-TWIFIdentityInformation ProtocolIE-ID ::= 247
+ id-UserLocationInformationTWIF ProtocolIE-ID ::= 248
+ id-DataForwardingResponseERABList ProtocolIE-ID ::= 249
+ id-IntersystemSONConfigurationTransferDL ProtocolIE-ID ::= 250
+ id-IntersystemSONConfigurationTransferUL ProtocolIE-ID ::= 251
+ id-SONInformationReport ProtocolIE-ID ::= 252
+ id-UEHistoryInformationFromTheUE ProtocolIE-ID ::= 253
+ id-ManagementBasedMDTPLMNList ProtocolIE-ID ::= 254
+ id-MDTConfiguration ProtocolIE-ID ::= 255
+ id-PrivacyIndicator ProtocolIE-ID ::= 256
+ id-TraceCollectionEntityURI ProtocolIE-ID ::= 257
+ id-NPN-Support ProtocolIE-ID ::= 258
+ id-NPN-AccessInformation ProtocolIE-ID ::= 259
+ id-NPN-PagingAssistanceInformation ProtocolIE-ID ::= 260
+ id-NPN-MobilityInformation ProtocolIE-ID ::= 261
+ id-TargettoSource-Failure-TransparentContainer ProtocolIE-ID ::= 262
+ id-NID ProtocolIE-ID ::= 263
+ id-UERadioCapabilityID ProtocolIE-ID ::= 264
+ id-UERadioCapability-EUTRA-Format ProtocolIE-ID ::= 265
+ id-DAPSRequestInfo ProtocolIE-ID ::= 266
+ id-DAPSResponseInfoList ProtocolIE-ID ::= 267
+ id-EarlyStatusTransfer-TransparentContainer ProtocolIE-ID ::= 268
+ id-NotifySourceNGRANNode ProtocolIE-ID ::= 269
+ id-ExtendedSliceSupportList ProtocolIE-ID ::= 270
+ id-ExtendedTAISliceSupportList ProtocolIE-ID ::= 271
+ id-ConfiguredTACIndication ProtocolIE-ID ::= 272
+ id-Extended-RANNodeName ProtocolIE-ID ::= 273
+ id-Extended-AMFName ProtocolIE-ID ::= 274
+ id-GlobalCable-ID ProtocolIE-ID ::= 275
+ id-QosMonitoringReportingFrequency ProtocolIE-ID ::= 276
+ id-QosFlowParametersList ProtocolIE-ID ::= 277
+ id-QosFlowFeedbackList ProtocolIE-ID ::= 278
+ id-BurstArrivalTimeDownlink ProtocolIE-ID ::= 279
+ id-ExtendedUEIdentityIndexValue ProtocolIE-ID ::= 280
+ id-PduSessionExpectedUEActivityBehaviour ProtocolIE-ID ::= 281
+ id-MicoAllPLMN ProtocolIE-ID ::= 282
+ id-QosFlowFailedToSetupList ProtocolIE-ID ::= 283
+ id-SourceTNLAddrInfo ProtocolIE-ID ::= 284
+ id-ExtendedReportIntervalMDT ProtocolIE-ID ::= 285
+ id-SourceNodeID ProtocolIE-ID ::= 286
+ id-NRNTNTAIInformation ProtocolIE-ID ::= 287
+ id-UEContextReferenceAtSource ProtocolIE-ID ::= 288
+ id-LastVisitedPSCellList ProtocolIE-ID ::= 289
+ id-IntersystemSONInformationRequest ProtocolIE-ID ::= 290
+ id-IntersystemSONInformationReply ProtocolIE-ID ::= 291
+ id-EnergySavingIndication ProtocolIE-ID ::= 292
+ id-IntersystemResourceStatusUpdate ProtocolIE-ID ::= 293
+ id-SuccessfulHandoverReportList ProtocolIE-ID ::= 294
+ id-MBS-AreaSessionID ProtocolIE-ID ::= 295
+ id-MBS-QoSFlowsToBeSetupList ProtocolIE-ID ::= 296
+ id-MBS-QoSFlowsToBeSetupModList ProtocolIE-ID ::= 297
+ id-MBS-ServiceArea ProtocolIE-ID ::= 298
+ id-MBS-SessionID ProtocolIE-ID ::= 299
+ id-MBS-DistributionReleaseRequestTransfer ProtocolIE-ID ::= 300
+ id-MBS-DistributionSetupRequestTransfer ProtocolIE-ID ::= 301
+ id-MBS-DistributionSetupResponseTransfer ProtocolIE-ID ::= 302
+ id-MBS-DistributionSetupUnsuccessfulTransfer ProtocolIE-ID ::= 303
+ id-MulticastSessionActivationRequestTransfer ProtocolIE-ID ::= 304
+ id-MulticastSessionDeactivationRequestTransfer ProtocolIE-ID ::= 305
+ id-MulticastSessionUpdateRequestTransfer ProtocolIE-ID ::= 306
+ id-MulticastGroupPagingAreaList ProtocolIE-ID ::= 307
+ --WS extension
+ id-Unknown-308 ProtocolIE-ID ::= 308
+ id-MBS-SupportIndicator ProtocolIE-ID ::= 309
+ id-MBSSessionFailedtoSetupList ProtocolIE-ID ::= 310
+ id-MBSSessionFailedtoSetuporModifyList ProtocolIE-ID ::= 311
+ id-MBSSessionSetupResponseList ProtocolIE-ID ::= 312
+ id-MBSSessionSetuporModifyResponseList ProtocolIE-ID ::= 313
+ id-MBSSessionSetupFailureTransfer ProtocolIE-ID ::= 314
+ id-MBSSessionSetupRequestTransfer ProtocolIE-ID ::= 315
+ id-MBSSessionSetupResponseTransfer ProtocolIE-ID ::= 316
+ id-MBSSessionToReleaseList ProtocolIE-ID ::= 317
+ id-MBSSessionSetupRequestList ProtocolIE-ID ::= 318
+ id-MBSSessionSetuporModifyRequestList ProtocolIE-ID ::= 319
+ --WS extension
+ id-Unknown-320 ProtocolIE-ID ::= 320
+ id-Unknown-321 ProtocolIE-ID ::= 321
+ id-Unknown-322 ProtocolIE-ID ::= 322
+ id-MBS-ActiveSessionInformation-SourcetoTargetList ProtocolIE-ID ::= 323
+ id-MBS-ActiveSessionInformation-TargettoSourceList ProtocolIE-ID ::= 324
+ id-OnboardingSupport ProtocolIE-ID ::= 325
+ id-TimeSyncAssistanceInfo ProtocolIE-ID ::= 326
+ id-SurvivalTime ProtocolIE-ID ::= 327
+ id-QMCConfigInfo ProtocolIE-ID ::= 328
+ id-QMCDeactivation ProtocolIE-ID ::= 329
+ --WS extension
+ id-Unknown-330 ProtocolIE-ID ::= 330
+ id-PDUSessionPairID ProtocolIE-ID ::= 331
+ id-NR-PagingeDRXInformation ProtocolIE-ID ::= 332
+ id-RedCapIndication ProtocolIE-ID ::= 333
+ id-TargetNSSAIInformation ProtocolIE-ID ::= 334
+ id-UESliceMaximumBitRateList ProtocolIE-ID ::= 335
+ id-M4ReportAmount ProtocolIE-ID ::= 336
+ id-M5ReportAmount ProtocolIE-ID ::= 337
+ id-M6ReportAmount ProtocolIE-ID ::= 338
+ id-M7ReportAmount ProtocolIE-ID ::= 339
+ id-IncludeBeamMeasurementsIndication ProtocolIE-ID ::= 340
+ id-ExcessPacketDelayThresholdConfiguration ProtocolIE-ID ::= 341
+ id-PagingCause ProtocolIE-ID ::= 342
+ id-PagingCauseIndicationForVoiceService ProtocolIE-ID ::= 343
+ id-PEIPSassistanceInformation ProtocolIE-ID ::= 344
+ id-FiveG-ProSeAuthorized ProtocolIE-ID ::= 345
+ id-FiveG-ProSeUEPC5AggregateMaximumBitRate ProtocolIE-ID ::= 346
+ id-FiveG-ProSePC5QoSParameters ProtocolIE-ID ::= 347
+ id-MBSSessionModificationFailureTransfer ProtocolIE-ID ::= 348
+ id-MBSSessionModificationRequestTransfer ProtocolIE-ID ::= 349
+ id-MBSSessionModificationResponseTransfer ProtocolIE-ID ::= 350
+ id-MBS-QoSFlowToReleaseList ProtocolIE-ID ::= 351
+ id-MBS-SessionTNLInfo5GC ProtocolIE-ID ::= 352
+ id-TAINSAGSupportList ProtocolIE-ID ::= 353
+ id-SourceNodeTNLAddrInfo ProtocolIE-ID ::= 354
+ id-NGAPIESupportInformationRequestList ProtocolIE-ID ::= 355
+ id-NGAPIESupportInformationResponseList ProtocolIE-ID ::= 356
+ id-MBS-SessionFSAIDList ProtocolIE-ID ::= 357
+ id-MBSSessionReleaseResponseTransfer ProtocolIE-ID ::= 358
+ id-ManagementBasedMDTPLMNModificationList ProtocolIE-ID ::= 359
+ id-EarlyMeasurement ProtocolIE-ID ::= 360
+ id-BeamMeasurementsReportConfiguration ProtocolIE-ID ::= 361
+ id-HFCNode-ID-new ProtocolIE-ID ::= 362
+ id-GlobalCable-ID-new ProtocolIE-ID ::= 363
+ id-TargetHomeENB-ID ProtocolIE-ID ::= 364
+ id-HashedUEIdentityIndexValue ProtocolIE-ID ::= 365
+
+
+END
diff --git a/epan/dissectors/asn1/ngap/NGAP-Containers.asn b/epan/dissectors/asn1/ngap/NGAP-Containers.asn
new file mode 100644
index 00000000..fdf612be
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/NGAP-Containers.asn
@@ -0,0 +1,200 @@
+-- 3GPP TS 38.413 V17.5.0 (2023-06)
+-- 9.4.8 Container Definitions
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+NGAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolExtensionID,
+ ProtocolIE-ID
+FROM NGAP-CommonDataTypes
+
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM NGAP-Constants;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+NGAP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+NGAP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+NGAP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolExtensionID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+NGAP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {NGAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-SingleContainer {NGAP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {NGAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id NGAP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality NGAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value NGAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id NGAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality NGAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue NGAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality NGAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue NGAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, NGAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-SingleContainer {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {NGAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {NGAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id NGAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality NGAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue NGAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {NGAP-PRIVATE-IES : IEsSetParam } ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {NGAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id NGAP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality NGAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value NGAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/ngap/NGAP-IEs.asn b/epan/dissectors/asn1/ngap/NGAP-IEs.asn
new file mode 100644
index 00000000..d0af0092
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/NGAP-IEs.asn
@@ -0,0 +1,6990 @@
+-- 3GPP TS 38.413 V17.5.0 (2023-06)
+-- 9.4.5 Information Element Definitions
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+NGAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ id-AdditionalDLForwardingUPTNLInformation,
+ id-AdditionalULForwardingUPTNLInformation,
+ id-AdditionalDLQosFlowPerTNLInformation,
+ id-AdditionalDLUPTNLInformationForHOList,
+ id-AdditionalNGU-UP-TNLInformation,
+ id-AdditionalRedundantDL-NGU-UP-TNLInformation,
+ id-AdditionalRedundantDLQosFlowPerTNLInformation,
+ id-AdditionalRedundantNGU-UP-TNLInformation,
+ id-AdditionalRedundantUL-NGU-UP-TNLInformation,
+ id-AdditionalUL-NGU-UP-TNLInformation,
+ id-AlternativeQoSParaSetList,
+ id-BurstArrivalTimeDownlink,
+ id-Cause,
+ id-CNPacketDelayBudgetDL,
+ id-CNPacketDelayBudgetUL,
+ id-CNTypeRestrictionsForEquivalent,
+ id-CNTypeRestrictionsForServing,
+ id-CommonNetworkInstance,
+ id-ConfiguredTACIndication,
+ id-CurrentQoSParaSetIndex,
+ id-DAPSRequestInfo,
+ id-DAPSResponseInfoList,
+ id-DataForwardingNotPossible,
+ id-DataForwardingResponseERABList,
+ id-DirectForwardingPathAvailability,
+ id-DL-NGU-UP-TNLInformation,
+ id-EndpointIPAddressAndPort,
+ id-EnergySavingIndication,
+ id-ExtendedPacketDelayBudget,
+ id-ExtendedRATRestrictionInformation,
+ id-ExtendedReportIntervalMDT,
+ id-ExtendedSliceSupportList,
+ id-ExtendedTAISliceSupportList,
+ id-ExtendedUEIdentityIndexValue,
+ id-EUTRA-PagingeDRXInformation,
+ id-GlobalCable-ID,
+ id-GlobalRANNodeID,
+ id-GlobalTNGF-ID,
+ id-GlobalTWIF-ID,
+ id-GlobalW-AGF-ID,
+ id-GUAMIType,
+id-HashedUEIdentityIndexValue,
+ id-IncludeBeamMeasurementsIndication,
+ id-IntersystemSONInformationRequest,
+ id-IntersystemSONInformationReply,
+ id-IntersystemResourceStatusUpdate,
+ id-LastEUTRAN-PLMNIdentity,
+ id-LastVisitedPSCellList,
+ id-LocationReportingAdditionalInfo,
+ id-M4ReportAmount,
+ id-M5ReportAmount,
+ id-M6ReportAmount,
+ id-ExcessPacketDelayThresholdConfiguration,
+ id-M7ReportAmount,
+ id-MaximumIntegrityProtectedDataRate-DL,
+ id-MBS-AreaSessionID,
+ id-MBS-QoSFlowsToBeSetupList,
+ id-MBS-QoSFlowsToBeSetupModList,
+ id-MBS-QoSFlowToReleaseList,
+ id-MBS-ServiceArea,
+ id-MBS-SessionFSAIDList,
+ id-MBS-SessionID,
+ id-MBS-ActiveSessionInformation-SourcetoTargetList,
+ id-MBS-ActiveSessionInformation-TargettoSourceList,
+ id-MBS-SessionTNLInfo5GC,
+ id-MBS-SupportIndicator,
+ id-MBSSessionFailedtoSetupList,
+ id-MBSSessionFailedtoSetuporModifyList,
+ id-MBSSessionSetupResponseList,
+ id-MBSSessionSetuporModifyResponseList,
+ id-MBSSessionToReleaseList,
+ id-MBSSessionSetupRequestList,
+ id-MBSSessionSetuporModifyRequestList,
+ id-MDTConfiguration,
+ id-MicoAllPLMN,
+ id-NetworkInstance,
+ id-NGAPIESupportInformationRequestList,
+ id-NGAPIESupportInformationResponseList,
+ id-NID,
+ id-NR-CGI,
+ id-NRNTNTAIInformation,
+ id-NPN-MobilityInformation,
+ id-NPN-PagingAssistanceInformation,
+ id-NPN-Support,
+ id-NR-PagingeDRXInformation,
+ id-OldAssociatedQosFlowList-ULendmarkerexpected,
+ id-OnboardingSupport,
+ id-PagingAssisDataforCEcapabUE,
+ id-PagingCauseIndicationForVoiceService,
+ id-PDUSessionAggregateMaximumBitRate,
+ id-PduSessionExpectedUEActivityBehaviour,
+ id-PDUSessionPairID,
+ id-PDUSessionResourceFailedToSetupListCxtFail,
+ id-PDUSessionResourceReleaseResponseTransfer,
+ id-PDUSessionType,
+ id-PEIPSassistanceInformation,
+ id-PSCellInformation,
+ id-QMCConfigInfo,
+ id-QosFlowAddOrModifyRequestList,
+ id-QosFlowFailedToSetupList,
+ id-QosFlowFeedbackList,
+ id-QosFlowParametersList,
+ id-QosFlowSetupRequestList,
+ id-QosFlowToReleaseList,
+ id-QosMonitoringRequest,
+ id-QosMonitoringReportingFrequency,
+ id-SuccessfulHandoverReportList,
+ id-UEContextReferenceAtSource,
+ id-RAT-Information,
+ id-RedundantCommonNetworkInstance,
+ id-RedundantDL-NGU-TNLInformationReused,
+ id-RedundantDL-NGU-UP-TNLInformation,
+ id-RedundantDLQosFlowPerTNLInformation,
+ id-RedundantPDUSessionInformation,
+ id-RedundantQosFlowIndicator,
+ id-RedundantUL-NGU-UP-TNLInformation,
+ id-SCTP-TLAs,
+ id-SecondaryRATUsageInformation,
+ id-SecurityIndication,
+ id-SecurityResult,
+ id-SgNB-UE-X2AP-ID,
+ id-S-NSSAI,
+ id-SONInformationReport,
+ id-SourceNodeID,
+ id-SourceNodeTNLAddrInfo,
+ id-SourceTNLAddrInfo,
+ id-SurvivalTime,
+ id-TNLAssociationTransportLayerAddressNGRAN,
+ id-TAINSAGSupportList,
+ id-TargetHomeENB-ID,
+ id-TargetRNC-ID,
+ id-TraceCollectionEntityURI,
+ id-TSCTrafficCharacteristics,
+ id-UEHistoryInformationFromTheUE,
+ id-UERadioCapabilityForPaging,
+ id-UERadioCapabilityForPagingOfNB-IoT,
+ id-UL-NGU-UP-TNLInformation,
+ id-UL-NGU-UP-TNLModifyList,
+ id-ULForwarding,
+ id-ULForwardingUP-TNLInformation,
+ id-UsedRSNInformation,
+ id-UserLocationInformationTNGF,
+ id-UserLocationInformationTWIF,
+ id-UserLocationInformationW-AGF,
+ id-EarlyMeasurement,
+ id-BeamMeasurementsReportConfiguration,
+ id-TAI,
+ id-HFCNode-ID-new,
+ id-GlobalCable-ID-new,
+ maxnoofAllowedAreas,
+ maxnoofAllowedCAGsperPLMN,
+ maxnoofAllowedS-NSSAIs,
+ maxnoofBluetoothName,
+ maxnoofBPLMNs,
+ maxnoofCAGSperCell,
+ maxnoofCandidateCells,
+ maxnoofCellIDforMDT,
+ maxnoofCellIDforQMC,
+ maxnoofCellIDforWarning,
+ maxnoofCellinAoI,
+ maxnoofCellinEAI,
+ maxnoofCellsforMBS,
+ maxnoofCellsingNB,
+ maxnoofCellsinngeNB,
+ maxnoofCellsinNGRANNode,
+ maxnoofCellinTAI,
+ maxnoofCellsinUEHistoryInfo,
+ maxnoofCellsUEMovingTrajectory,
+ maxnoofDRBs,
+ maxnoofEmergencyAreaID,
+ maxnoofEAIforRestart,
+ maxnoofEPLMNs,
+ maxnoofEPLMNsPlusOne,
+ maxnoofE-RABs,
+ maxnoofErrors,
+ maxnoofExtSliceItems,
+ maxnoofForbTACs,
+ maxnoofFreqforMDT,
+ maxnoofMBSFSAs,
+ maxnoofMBSQoSFlows,
+ maxnoofMBSServiceAreaInformation,
+ maxnoofMBSAreaSessionIDs,
+ maxnoofMBSSessions,
+ maxnoofMBSSessionsofUE,
+ maxnoofMDTPLMNs,
+ maxnoofMRBs,
+ maxnoofMultiConnectivity,
+ maxnoofMultiConnectivityMinusOne,
+ maxnoofNeighPCIforMDT,
+ maxnoofNGAPIESupportInfo,
+ maxnoofNGConnectionsToReset,
+ maxNRARFCN,
+ maxnoofNRCellBands,
+ maxnoofNSAGs,
+ maxnoofPagingAreas,
+ maxnoofPC5QoSFlows,
+ maxnoofPDUSessions,
+ maxnoofPLMNs,
+ maxnoofPLMNforQMC,
+ maxnoofQosFlows,
+ maxnoofQosParaSets,
+ maxnoofRANNodeinAoI,
+ maxnoofRecommendedCells,
+ maxnoofRecommendedRANNodes,
+ maxnoofAoI,
+ maxnoofPSCellsPerPrimaryCellinUEHistoryInfo,
+ maxnoofReportedCells,
+ maxnoofSensorName,
+ maxnoofServedGUAMIs,
+ maxnoofSliceItems,
+ maxnoofSNSSAIforQMC,
+ maxnoofSuccessfulHOReports,
+ maxnoofTACs,
+ maxnoofTACsinNTN,
+ maxnoofTAforMDT,
+ maxnoofTAforQMC,
+ maxnoofTAIforInactive,
+ maxnoofTAIforMBS,
+ maxnoofTAIforPaging,
+ maxnoofTAIforRestart,
+ maxnoofTAIforWarning,
+ maxnoofTAIinAoI,
+ maxnoofTargetS-NSSAIs,
+ maxnoofTimePeriods,
+ maxnoofTNLAssociations,
+ maxnoofUEAppLayerMeas,
+ maxnoofUEsforPaging,
+ maxnoofWLANName,
+ maxnoofXnExtTLAs,
+ maxnoofXnGTP-TLAs,
+ maxnoofXnTLAs,
+ maxnoofThresholdsForExcessPacketDelay
+
+FROM NGAP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM NGAP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ NGAP-PROTOCOL-EXTENSION,
+ ProtocolIE-SingleContainer{},
+ NGAP-PROTOCOL-IES
+FROM NGAP-Containers;
+
+-- A
+
+AdditionalDLUPTNLInformationForHOList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF AdditionalDLUPTNLInformationForHOItem
+
+AdditionalDLUPTNLInformationForHOItem ::= SEQUENCE {
+ additionalDL-NGU-UP-TNLInformation UPTransportLayerInformation,
+ additionalQosFlowSetupResponseList QosFlowListWithDataForwarding,
+ additionalDLForwardingUPTNLInformation UPTransportLayerInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalDLUPTNLInformationForHOItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AdditionalDLUPTNLInformationForHOItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalRedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional },
+ ...
+}
+
+AdditionalQosFlowInformation ::= ENUMERATED {
+ more-likely,
+ ...
+}
+
+AllocationAndRetentionPriority ::= SEQUENCE {
+ priorityLevelARP PriorityLevelARP,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllocationAndRetentionPriority-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Allowed-CAG-List-per-PLMN ::= SEQUENCE (SIZE(1..maxnoofAllowedCAGsperPLMN)) OF CAG-ID
+
+AllowedNSSAI ::= SEQUENCE (SIZE(1..maxnoofAllowedS-NSSAIs)) OF AllowedNSSAI-Item
+
+AllowedNSSAI-Item ::= SEQUENCE {
+ s-NSSAI S-NSSAI,
+ iE-Extensions ProtocolExtensionContainer { {AllowedNSSAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllowedNSSAI-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Allowed-PNI-NPN-List ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF Allowed-PNI-NPN-Item
+
+Allowed-PNI-NPN-Item ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ pNI-NPN-restricted ENUMERATED {restricted, not-restricted, ...},
+ allowed-CAG-List-per-PLMN Allowed-CAG-List-per-PLMN,
+ iE-Extensions ProtocolExtensionContainer { {Allowed-PNI-NPN-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Allowed-PNI-NPN-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AllowedTACs ::= SEQUENCE (SIZE(1..maxnoofAllowedAreas)) OF TAC
+
+AlternativeQoSParaSetIndex ::= INTEGER (1..8, ...)
+
+AlternativeQoSParaSetNotifyIndex ::= INTEGER (0..8, ...)
+
+AlternativeQoSParaSetList ::= SEQUENCE (SIZE(1..maxnoofQosParaSets)) OF AlternativeQoSParaSetItem
+
+AlternativeQoSParaSetItem ::= SEQUENCE {
+ alternativeQoSParaSetIndex AlternativeQoSParaSetIndex,
+ guaranteedFlowBitRateDL BitRate OPTIONAL,
+ guaranteedFlowBitRateUL BitRate OPTIONAL,
+ packetDelayBudget PacketDelayBudget OPTIONAL,
+ packetErrorRate PacketErrorRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AlternativeQoSParaSetItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AlternativeQoSParaSetItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AMFName ::= PrintableString (SIZE(1..150, ...))
+
+AMFNameVisibleString ::= VisibleString (SIZE(1..150, ...))
+
+AMFNameUTF8String ::= UTF8String (SIZE(1..150, ...))
+
+AMFPagingTarget ::= CHOICE {
+ globalRANNodeID GlobalRANNodeID,
+ tAI TAI,
+ choice-Extensions ProtocolIE-SingleContainer { {AMFPagingTarget-ExtIEs} }
+}
+
+AMFPagingTarget-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+AMFPointer ::= BIT STRING (SIZE(6))
+
+AMFRegionID ::= BIT STRING (SIZE(8))
+
+AMFSetID ::= BIT STRING (SIZE(10))
+
+AMF-TNLAssociationSetupList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF AMF-TNLAssociationSetupItem
+
+AMF-TNLAssociationSetupItem ::= SEQUENCE {
+ aMF-TNLAssociationAddress CPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { {AMF-TNLAssociationSetupItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AMF-TNLAssociationSetupItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AMF-TNLAssociationToAddList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF AMF-TNLAssociationToAddItem
+
+AMF-TNLAssociationToAddItem ::= SEQUENCE {
+ aMF-TNLAssociationAddress CPTransportLayerInformation,
+ tNLAssociationUsage TNLAssociationUsage OPTIONAL,
+ tNLAddressWeightFactor TNLAddressWeightFactor,
+ iE-Extensions ProtocolExtensionContainer { {AMF-TNLAssociationToAddItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AMF-TNLAssociationToAddItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AMF-TNLAssociationToRemoveList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF AMF-TNLAssociationToRemoveItem
+
+AMF-TNLAssociationToRemoveItem ::= SEQUENCE {
+ aMF-TNLAssociationAddress CPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { {AMF-TNLAssociationToRemoveItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AMF-TNLAssociationToRemoveItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TNLAssociationTransportLayerAddressNGRAN CRITICALITY reject EXTENSION CPTransportLayerInformation PRESENCE optional},
+ ...
+}
+
+AMF-TNLAssociationToUpdateList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF AMF-TNLAssociationToUpdateItem
+
+AMF-TNLAssociationToUpdateItem ::= SEQUENCE {
+ aMF-TNLAssociationAddress CPTransportLayerInformation,
+ tNLAssociationUsage TNLAssociationUsage OPTIONAL,
+ tNLAddressWeightFactor TNLAddressWeightFactor OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AMF-TNLAssociationToUpdateItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AMF-TNLAssociationToUpdateItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AMF-UE-NGAP-ID ::= INTEGER (0..1099511627775)
+
+AreaOfInterest ::= SEQUENCE {
+ areaOfInterestTAIList AreaOfInterestTAIList OPTIONAL,
+ areaOfInterestCellList AreaOfInterestCellList OPTIONAL,
+ areaOfInterestRANNodeList AreaOfInterestRANNodeList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AreaOfInterest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AreaOfInterest-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AreaOfInterestCellList ::= SEQUENCE (SIZE(1..maxnoofCellinAoI)) OF AreaOfInterestCellItem
+
+AreaOfInterestCellItem ::= SEQUENCE {
+ nGRAN-CGI NGRAN-CGI,
+ iE-Extensions ProtocolExtensionContainer { {AreaOfInterestCellItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AreaOfInterestCellItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AreaOfInterestList ::= SEQUENCE (SIZE(1..maxnoofAoI)) OF AreaOfInterestItem
+
+AreaOfInterestItem ::= SEQUENCE {
+ areaOfInterest AreaOfInterest,
+ locationReportingReferenceID LocationReportingReferenceID,
+ iE-Extensions ProtocolExtensionContainer { {AreaOfInterestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AreaOfInterestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AreaOfInterestRANNodeList ::= SEQUENCE (SIZE(1..maxnoofRANNodeinAoI)) OF AreaOfInterestRANNodeItem
+
+AreaOfInterestRANNodeItem ::= SEQUENCE {
+ globalRANNodeID GlobalRANNodeID,
+ iE-Extensions ProtocolExtensionContainer { {AreaOfInterestRANNodeItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AreaOfInterestRANNodeItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AreaOfInterestTAIList ::= SEQUENCE (SIZE(1..maxnoofTAIinAoI)) OF AreaOfInterestTAIItem
+
+AreaOfInterestTAIItem ::= SEQUENCE {
+ tAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {AreaOfInterestTAIItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AreaOfInterestTAIItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssistanceDataForPaging ::= SEQUENCE {
+ assistanceDataForRecommendedCells AssistanceDataForRecommendedCells OPTIONAL,
+ pagingAttemptInformation PagingAttemptInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AssistanceDataForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceDataForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-NPN-PagingAssistanceInformation CRITICALITY ignore EXTENSION NPN-PagingAssistanceInformation PRESENCE optional }|
+ { ID id-PagingAssisDataforCEcapabUE CRITICALITY ignore EXTENSION PagingAssisDataforCEcapabUE PRESENCE optional },
+ ...
+}
+
+AssistanceDataForRecommendedCells ::= SEQUENCE {
+ recommendedCellsForPaging RecommendedCellsForPaging,
+ iE-Extensions ProtocolExtensionContainer { {AssistanceDataForRecommendedCells-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceDataForRecommendedCells-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssociatedMBSQosFlowSetupRequestList ::= SEQUENCE (SIZE(1..maxnoofMBSQoSFlows)) OF AssociatedMBSQosFlowSetupRequestItem
+
+AssociatedMBSQosFlowSetupRequestItem ::= SEQUENCE {
+ mBS-QosFlowIdentifier QosFlowIdentifier,
+ associatedUnicastQosFlowIdentifier QosFlowIdentifier,
+ iE-Extensions ProtocolExtensionContainer { { AssociatedMBSQosFlowSetupRequestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssociatedMBSQosFlowSetupRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssociatedMBSQosFlowSetuporModifyRequestList ::= SEQUENCE (SIZE(1..maxnoofMBSQoSFlows)) OF AssociatedMBSQosFlowSetuporModifyRequestItem
+
+AssociatedMBSQosFlowSetuporModifyRequestItem ::= SEQUENCE {
+ mBS-QosFlowIdentifier QosFlowIdentifier,
+ associatedUnicastQosFlowIdentifier QosFlowIdentifier,
+ iE-Extensions ProtocolExtensionContainer { { AssociatedMBSQosFlowSetuporModifyRequestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssociatedMBSQosFlowSetuporModifyRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssociatedQosFlowList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF AssociatedQosFlowItem
+
+AssociatedQosFlowItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ qosFlowMappingIndication ENUMERATED {ul, dl, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AssociatedQosFlowItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssociatedQosFlowItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetIndex PRESENCE optional },
+ ...
+}
+
+AuthenticatedIndication ::= ENUMERATED {true, ...}
+
+AveragingWindow ::= INTEGER (0..4095, ...)
+
+AreaScopeOfMDT-NR ::= CHOICE {
+ cellBased CellBasedMDT-NR,
+ tABased TABasedMDT,
+ pLMNWide NULL,
+ tAIBased TAIBasedMDT,
+ choice-Extensions ProtocolIE-SingleContainer { {AreaScopeOfMDT-NR-ExtIEs} }
+}
+
+AreaScopeOfMDT-NR-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+AreaScopeOfMDT-EUTRA ::= CHOICE {
+ cellBased CellBasedMDT-EUTRA,
+ tABased TABasedMDT,
+ pLMNWide NULL,
+ tAIBased TAIBasedMDT,
+ choice-Extensions ProtocolIE-SingleContainer { {AreaScopeOfMDT-EUTRA-ExtIEs} }
+}
+
+AreaScopeOfMDT-EUTRA-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+AreaScopeOfNeighCellsList ::= SEQUENCE (SIZE(1..maxnoofFreqforMDT)) OF AreaScopeOfNeighCellsItem
+AreaScopeOfNeighCellsItem ::= SEQUENCE {
+ nrFrequencyInfo NRFrequencyInfo,
+ pciListForMDT PCIListForMDT OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AreaScopeOfNeighCellsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AreaScopeOfNeighCellsItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AreaScopeOfQMC ::= CHOICE {
+ cellBased CellBasedQMC,
+ tABased TABasedQMC,
+ tAIBased TAIBasedQMC,
+ pLMNAreaBased PLMNAreaBasedQMC,
+ choice-Extensions ProtocolIE-SingleContainer { { AreaScopeOfQMC-ExtIEs} }
+}
+
+AreaScopeOfQMC-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+AvailableRANVisibleQoEMetrics ::= SEQUENCE {
+ applicationLayerBufferLevelList ENUMERATED {true, ...} OPTIONAL,
+ playoutDelayForMediaStartup ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AvailableRANVisibleQoEMetrics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AvailableRANVisibleQoEMetrics-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- B
+
+BeamMeasurementsReportConfiguration ::= SEQUENCE {
+ beamMeasurementsReportQuantity BeamMeasurementsReportQuantity OPTIONAL,
+ maxNrofRS-IndexesToReport MaxNrofRS-IndexesToReport OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BeamMeasurementsReportConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BeamMeasurementsReportConfiguration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BeamMeasurementsReportQuantity ::= SEQUENCE {
+ rSRP ENUMERATED {true, ...},
+ rSRQ ENUMERATED {true, ...},
+ sINR ENUMERATED {true, ...},
+ iE-Extensions ProtocolExtensionContainer { { BeamMeasurementsReportQuantity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BeamMeasurementsReportQuantity-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BitRate ::= INTEGER (0..4000000000000, ...)
+
+BroadcastCancelledAreaList ::= CHOICE {
+ cellIDCancelledEUTRA CellIDCancelledEUTRA,
+ tAICancelledEUTRA TAICancelledEUTRA,
+ emergencyAreaIDCancelledEUTRA EmergencyAreaIDCancelledEUTRA,
+ cellIDCancelledNR CellIDCancelledNR,
+ tAICancelledNR TAICancelledNR,
+ emergencyAreaIDCancelledNR EmergencyAreaIDCancelledNR,
+ choice-Extensions ProtocolIE-SingleContainer { {BroadcastCancelledAreaList-ExtIEs} }
+}
+
+BroadcastCancelledAreaList-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+BroadcastCompletedAreaList ::= CHOICE {
+ cellIDBroadcastEUTRA CellIDBroadcastEUTRA,
+ tAIBroadcastEUTRA TAIBroadcastEUTRA,
+ emergencyAreaIDBroadcastEUTRA EmergencyAreaIDBroadcastEUTRA,
+ cellIDBroadcastNR CellIDBroadcastNR,
+ tAIBroadcastNR TAIBroadcastNR,
+ emergencyAreaIDBroadcastNR EmergencyAreaIDBroadcastNR,
+ choice-Extensions ProtocolIE-SingleContainer { {BroadcastCompletedAreaList-ExtIEs} }
+}
+
+BroadcastCompletedAreaList-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+BroadcastPLMNList ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF BroadcastPLMNItem
+
+BroadcastPLMNItem ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ tAISliceSupportList SliceSupportList,
+ iE-Extensions ProtocolExtensionContainer { {BroadcastPLMNItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastPLMNItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-NPN-Support CRITICALITY reject EXTENSION NPN-Support PRESENCE optional}|
+ {ID id-ExtendedTAISliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional}|
+ {ID id-TAINSAGSupportList CRITICALITY ignore EXTENSION TAINSAGSupportList PRESENCE optional},
+ ...
+}
+
+BluetoothMeasurementConfiguration ::= SEQUENCE {
+ bluetoothMeasConfig BluetoothMeasConfig,
+ bluetoothMeasConfigNameList BluetoothMeasConfigNameList OPTIONAL,
+ bt-rssi ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BluetoothMeasurementConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BluetoothMeasurementConfiguration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BluetoothMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofBluetoothName)) OF BluetoothMeasConfigNameItem
+
+BluetoothMeasConfigNameItem ::= SEQUENCE {
+ bluetoothName BluetoothName,
+ iE-Extensions ProtocolExtensionContainer { { BluetoothMeasConfigNameItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BluetoothMeasConfigNameItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BluetoothMeasConfig::= ENUMERATED {setup,...}
+
+BluetoothName ::= OCTET STRING (SIZE (1..248))
+
+BurstArrivalTime ::= OCTET STRING
+
+-- C
+
+CAG-ID ::= BIT STRING (SIZE(32))
+
+CancelAllWarningMessages ::= ENUMERATED {
+ true,
+ ...
+}
+
+CancelledCellsInEAI-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellsInEAI-EUTRA-Item
+
+CancelledCellsInEAI-EUTRA-Item ::= SEQUENCE {
+ eUTRA-CGI EUTRA-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CancelledCellsInEAI-EUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CancelledCellsInEAI-EUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CancelledCellsInEAI-NR ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellsInEAI-NR-Item
+
+CancelledCellsInEAI-NR-Item ::= SEQUENCE {
+ nR-CGI NR-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CancelledCellsInEAI-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CancelledCellsInEAI-NR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CancelledCellsInTAI-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellsInTAI-EUTRA-Item
+
+CancelledCellsInTAI-EUTRA-Item ::= SEQUENCE {
+ eUTRA-CGI EUTRA-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CancelledCellsInTAI-EUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CancelledCellsInTAI-EUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CancelledCellsInTAI-NR ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellsInTAI-NR-Item
+
+CancelledCellsInTAI-NR-Item ::= SEQUENCE{
+ nR-CGI NR-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CancelledCellsInTAI-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CancelledCellsInTAI-NR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CandidateCellList ::= SEQUENCE (SIZE(1.. maxnoofCandidateCells)) OF CandidateCellItem
+
+CandidateCellItem ::= SEQUENCE{
+ candidateCell CandidateCell,
+ iE-Extensions ProtocolExtensionContainer { {CandidateCellItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CandidateCellItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CandidateCell::= CHOICE {
+ candidateCGI CandidateCellID,
+ candidatePCI CandidatePCI,
+ choice-Extensions ProtocolIE-SingleContainer { { CandidateCell-ExtIEs} }
+}
+
+CandidateCell-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+CandidateCellID::= SEQUENCE {
+ candidateCellID NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { { CandidateCellID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CandidateCellID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CandidatePCI::= SEQUENCE {
+ candidatePCI INTEGER (0..1007, ...),
+ candidateNRARFCN INTEGER (0..maxNRARFCN),
+ iE-Extensions ProtocolExtensionContainer { { CandidatePCI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CandidatePCI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ nas CauseNas,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ choice-Extensions ProtocolIE-SingleContainer { {Cause-ExtIEs} }
+}
+
+Cause-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ not-enough-user-plane-processing-resources,
+ hardware-failure,
+ om-intervention,
+ unknown-PLMN-or-SNPN,
+ unspecified,
+ ...
+}
+
+CauseNas ::= ENUMERATED {
+ normal-release,
+ authentication-failure,
+ deregister,
+ unspecified,
+ ...,
+ uE-not-in-PLMN-serving-area
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ abstract-syntax-error-falsely-constructed-message,
+ unspecified,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unspecified,
+ txnrelocoverall-expiry,
+ successful-handover,
+ release-due-to-ngran-generated-reason,
+ release-due-to-5gc-generated-reason,
+ handover-cancelled,
+ partial-handover,
+ ho-failure-in-target-5GC-ngran-node-or-target-system,
+ ho-target-not-allowed,
+ tngrelocoverall-expiry,
+ tngrelocprep-expiry,
+ cell-not-available,
+ unknown-targetID,
+ no-radio-resources-available-in-target-cell,
+ unknown-local-UE-NGAP-ID,
+ inconsistent-remote-UE-NGAP-ID,
+ handover-desirable-for-radio-reason,
+ time-critical-handover,
+ resource-optimisation-handover,
+ reduce-load-in-serving-cell,
+ user-inactivity,
+ radio-connection-with-ue-lost,
+ radio-resources-not-available,
+ invalid-qos-combination,
+ failure-in-radio-interface-procedure,
+ interaction-with-other-procedure,
+ unknown-PDU-session-ID,
+ unkown-qos-flow-ID,
+ multiple-PDU-session-ID-instances,
+ multiple-qos-flow-ID-instances,
+ encryption-and-or-integrity-protection-algorithms-not-supported,
+ ng-intra-system-handover-triggered,
+ ng-inter-system-handover-triggered,
+ xn-handover-triggered,
+ not-supported-5QI-value,
+ ue-context-transfer,
+ ims-voice-eps-fallback-or-rat-fallback-triggered,
+ up-integrity-protection-not-possible,
+ up-confidentiality-protection-not-possible,
+ slice-not-supported,
+ ue-in-rrc-inactive-state-not-reachable,
+ redirection,
+ resources-not-available-for-the-slice,
+ ue-max-integrity-protected-data-rate-reason,
+ release-due-to-cn-detected-mobility,
+ ...,
+ n26-interface-not-available,
+ release-due-to-pre-emption,
+ multiple-location-reporting-reference-ID-instances,
+ rsn-not-available-for-the-up,
+ npn-access-denied,
+ cag-only-access-denied,
+ insufficient-ue-capabilities,
+ redcap-ue-not-supported,
+ unknown-MBS-Session-ID,
+ indicated-MBS-session-area-information-not-served-by-the-gNB,
+ inconsistent-slice-info-for-the-session,
+ misaligned-association-for-multicast-unicast
+}
+
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+Cell-CAGInformation ::= SEQUENCE {
+ nGRAN-CGI NGRAN-CGI,
+ cellCAGList CellCAGList,
+ iE-Extensions ProtocolExtensionContainer { {Cell-CAGInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cell-CAGInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CellCAGList ::= SEQUENCE (SIZE(1..maxnoofCAGSperCell)) OF CAG-ID
+
+CellIDBroadcastEUTRA ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF CellIDBroadcastEUTRA-Item
+
+CellIDBroadcastEUTRA-Item ::= SEQUENCE {
+ eUTRA-CGI EUTRA-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CellIDBroadcastEUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellIDBroadcastEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIDBroadcastNR ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF CellIDBroadcastNR-Item
+
+CellIDBroadcastNR-Item ::= SEQUENCE {
+ nR-CGI NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CellIDBroadcastNR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellIDBroadcastNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIDCancelledEUTRA ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF CellIDCancelledEUTRA-Item
+
+CellIDCancelledEUTRA-Item ::= SEQUENCE {
+ eUTRA-CGI EUTRA-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CellIDCancelledEUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellIDCancelledEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIDCancelledNR ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF CellIDCancelledNR-Item
+
+CellIDCancelledNR-Item ::= SEQUENCE {
+ nR-CGI NR-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CellIDCancelledNR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellIDCancelledNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIDListForRestart ::= CHOICE {
+ eUTRA-CGIListforRestart EUTRA-CGIList,
+ nR-CGIListforRestart NR-CGIList,
+ choice-Extensions ProtocolIE-SingleContainer { {CellIDListForRestart-ExtIEs} }
+}
+
+CellIDListForRestart-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+CellSize ::= ENUMERATED {verysmall, small, medium, large, ...}
+
+
+CellType ::= SEQUENCE {
+ cellSize CellSize,
+ iE-Extensions ProtocolExtensionContainer { {CellType-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellType-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CEmodeBSupport-Indicator ::= ENUMERATED {supported,...}
+
+
+CEmodeBrestricted ::= ENUMERATED {
+ restricted,
+ not-restricted,
+ ...
+}
+
+CNAssistedRANTuning ::= SEQUENCE {
+ expectedUEBehaviour ExpectedUEBehaviour OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CNAssistedRANTuning-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CNAssistedRANTuning-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CNsubgroupID ::= INTEGER (0..7, ...)
+
+CNTypeRestrictionsForEquivalent ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF CNTypeRestrictionsForEquivalentItem
+
+CNTypeRestrictionsForEquivalentItem ::= SEQUENCE {
+ plmnIdentity PLMNIdentity,
+ cn-Type ENUMERATED {epc-forbidden, fiveGC-forbidden, ...},
+ iE-Extensions ProtocolExtensionContainer { {CNTypeRestrictionsForEquivalentItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CNTypeRestrictionsForEquivalentItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+CNTypeRestrictionsForServing ::= ENUMERATED {
+ epc-forbidden,
+ ...
+}
+
+CommonNetworkInstance ::= OCTET STRING
+
+CompletedCellsInEAI-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellsInEAI-EUTRA-Item
+
+CompletedCellsInEAI-EUTRA-Item ::= SEQUENCE {
+ eUTRA-CGI EUTRA-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CompletedCellsInEAI-EUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompletedCellsInEAI-EUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CompletedCellsInEAI-NR ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellsInEAI-NR-Item
+
+CompletedCellsInEAI-NR-Item ::= SEQUENCE {
+ nR-CGI NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CompletedCellsInEAI-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompletedCellsInEAI-NR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CompletedCellsInTAI-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellsInTAI-EUTRA-Item
+
+CompletedCellsInTAI-EUTRA-Item ::= SEQUENCE{
+ eUTRA-CGI EUTRA-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CompletedCellsInTAI-EUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompletedCellsInTAI-EUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CompletedCellsInTAI-NR ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellsInTAI-NR-Item
+
+CompletedCellsInTAI-NR-Item ::= SEQUENCE{
+ nR-CGI NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CompletedCellsInTAI-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompletedCellsInTAI-NR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ConcurrentWarningMessageInd ::= ENUMERATED {
+ true,
+ ...
+}
+
+ConfidentialityProtectionIndication ::= ENUMERATED {
+ required,
+ preferred,
+ not-needed,
+ ...
+}
+
+ConfidentialityProtectionResult ::= ENUMERATED {
+ performed,
+ not-performed,
+ ...
+}
+
+ConfiguredTACIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+CoreNetworkAssistanceInformationForInactive ::= SEQUENCE {
+ uEIdentityIndexValue UEIdentityIndexValue,
+ uESpecificDRX PagingDRX OPTIONAL,
+ periodicRegistrationUpdateTimer PeriodicRegistrationUpdateTimer,
+ mICOModeIndication MICOModeIndication OPTIONAL,
+ tAIListForInactive TAIListForInactive,
+ expectedUEBehaviour ExpectedUEBehaviour OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CoreNetworkAssistanceInformationForInactive-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CoreNetworkAssistanceInformationForInactive-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-EUTRA-PagingeDRXInformation CRITICALITY ignore EXTENSION EUTRA-PagingeDRXInformation PRESENCE optional }|
+ { ID id-ExtendedUEIdentityIndexValue CRITICALITY ignore EXTENSION ExtendedUEIdentityIndexValue PRESENCE optional }|
+ { ID id-UERadioCapabilityForPaging CRITICALITY ignore EXTENSION UERadioCapabilityForPaging PRESENCE optional }|
+ { ID id-MicoAllPLMN CRITICALITY ignore EXTENSION MicoAllPLMN PRESENCE optional }|
+ { ID id-NR-PagingeDRXInformation CRITICALITY ignore EXTENSION NR-PagingeDRXInformation PRESENCE optional }|
+ { ID id-PagingCauseIndicationForVoiceService CRITICALITY ignore EXTENSION PagingCauseIndicationForVoiceService PRESENCE optional }|
+ { ID id-PEIPSassistanceInformation CRITICALITY ignore EXTENSION PEIPSassistanceInformation PRESENCE optional }|
+ { ID id-HashedUEIdentityIndexValue CRITICALITY ignore EXTENSION HashedUEIdentityIndexValue PRESENCE optional },
+ ...
+}
+
+COUNTValueForPDCP-SN12 ::= SEQUENCE {
+ pDCP-SN12 INTEGER (0..4095),
+ hFN-PDCP-SN12 INTEGER (0..1048575),
+ iE-Extensions ProtocolExtensionContainer { {COUNTValueForPDCP-SN12-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNTValueForPDCP-SN12-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+COUNTValueForPDCP-SN18 ::= SEQUENCE {
+ pDCP-SN18 INTEGER (0..262143),
+ hFN-PDCP-SN18 INTEGER (0..16383),
+ iE-Extensions ProtocolExtensionContainer { {COUNTValueForPDCP-SN18-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNTValueForPDCP-SN18-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CoverageEnhancementLevel ::= OCTET STRING
+
+CPTransportLayerInformation ::= CHOICE {
+ endpointIPAddress TransportLayerAddress,
+ choice-Extensions ProtocolIE-SingleContainer { {CPTransportLayerInformation-ExtIEs} }
+}
+
+CPTransportLayerInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-EndpointIPAddressAndPort CRITICALITY reject TYPE EndpointIPAddressAndPort PRESENCE mandatory },
+ ...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE(1..maxnoofErrors)) OF CriticalityDiagnostics-IE-Item
+
+CriticalityDiagnostics-IE-Item ::= SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellBasedMDT-NR::= SEQUENCE {
+ cellIdListforMDT CellIdListforMDT-NR,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedMDT-NR-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIdListforMDT-NR ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF NR-CGI
+
+
+CellBasedMDT-EUTRA::= SEQUENCE {
+ cellIdListforMDT CellIdListforMDT-EUTRA,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-EUTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedMDT-EUTRA-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellBasedQMC ::= SEQUENCE {
+ cellIdListforQMC CellIdListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedQMC-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIdListforQMC ::= SEQUENCE (SIZE(1..maxnoofCellIDforQMC)) OF NGRAN-CGI
+
+CellIdListforMDT-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF EUTRA-CGI
+
+
+-- D
+
+DataCodingScheme ::= BIT STRING (SIZE(8))
+
+DataForwardingAccepted ::= ENUMERATED {
+ data-forwarding-accepted,
+ ...
+}
+
+DataForwardingNotPossible ::= ENUMERATED {
+ data-forwarding-not-possible,
+ ...
+}
+
+DataForwardingResponseDRBList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DataForwardingResponseDRBItem
+
+DataForwardingResponseDRBItem ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ dLForwardingUP-TNLInformation UPTransportLayerInformation OPTIONAL,
+ uLForwardingUP-TNLInformation UPTransportLayerInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{DataForwardingResponseDRBItem-ExtIEs}} OPTIONAL,
+ ...
+}
+
+DataForwardingResponseDRBItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DAPSRequestInfo ::= SEQUENCE {
+ dAPSIndicator ENUMERATED {daps-ho-required, ...},
+ iE-Extensions ProtocolExtensionContainer { {DAPSRequestInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSRequestInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DAPSResponseInfoList ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DAPSResponseInfoItem
+
+DAPSResponseInfoItem ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ dAPSResponseInfo DAPSResponseInfo,
+ iE-Extension ProtocolExtensionContainer { {DAPSResponseInfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSResponseInfoItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DAPSResponseInfo ::= SEQUENCE {
+ dapsresponseindicator ENUMERATED {daps-ho-accepted, daps-ho-not-accepted, ...},
+ iE-Extensions ProtocolExtensionContainer { { DAPSResponseInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSResponseInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DataForwardingResponseERABList ::= SEQUENCE (SIZE(1..maxnoofE-RABs)) OF DataForwardingResponseERABListItem
+
+DataForwardingResponseERABListItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dLForwardingUP-TNLInformation UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { {DataForwardingResponseERABListItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataForwardingResponseERABListItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DelayCritical ::= ENUMERATED {
+ delay-critical,
+ non-delay-critical,
+ ...
+}
+
+DL-CP-SecurityInformation ::= SEQUENCE {
+ dl-NAS-MAC DL-NAS-MAC,
+ iE-Extensions ProtocolExtensionContainer { { DL-CP-SecurityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CP-SecurityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-NAS-MAC ::= BIT STRING (SIZE (16))
+
+DLForwarding ::= ENUMERATED {
+ dl-forwarding-proposed,
+ ...
+}
+
+DL-NGU-TNLInformationReused ::= ENUMERATED {
+ true,
+ ...
+}
+
+DirectForwardingPathAvailability ::= ENUMERATED {
+ direct-path-available,
+ ...
+}
+
+DRB-ID ::= INTEGER (1..32, ...)
+
+DRBsSubjectToStatusTransferList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsSubjectToStatusTransferItem
+
+DRBsSubjectToStatusTransferItem ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ dRBStatusUL DRBStatusUL,
+ dRBStatusDL DRBStatusDL,
+ iE-Extension ProtocolExtensionContainer { {DRBsSubjectToStatusTransferItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsSubjectToStatusTransferItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-OldAssociatedQosFlowList-ULendmarkerexpected CRITICALITY ignore EXTENSION AssociatedQosFlowList PRESENCE optional },
+ ...
+}
+
+DRBStatusDL ::= CHOICE {
+ dRBStatusDL12 DRBStatusDL12,
+ dRBStatusDL18 DRBStatusDL18,
+ choice-Extensions ProtocolIE-SingleContainer { {DRBStatusDL-ExtIEs} }
+}
+
+DRBStatusDL-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+DRBStatusDL12 ::= SEQUENCE {
+ dL-COUNTValue COUNTValueForPDCP-SN12,
+ iE-Extension ProtocolExtensionContainer { {DRBStatusDL12-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBStatusDL12-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBStatusDL18 ::= SEQUENCE {
+ dL-COUNTValue COUNTValueForPDCP-SN18,
+ iE-Extension ProtocolExtensionContainer { {DRBStatusDL18-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBStatusDL18-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBStatusUL ::= CHOICE {
+ dRBStatusUL12 DRBStatusUL12,
+ dRBStatusUL18 DRBStatusUL18,
+ choice-Extensions ProtocolIE-SingleContainer { {DRBStatusUL-ExtIEs} }
+}
+
+DRBStatusUL-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+DRBStatusUL12 ::= SEQUENCE {
+ uL-COUNTValue COUNTValueForPDCP-SN12,
+ receiveStatusOfUL-PDCP-SDUs BIT STRING (SIZE(1..2048)) OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DRBStatusUL12-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBStatusUL12-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBStatusUL18 ::= SEQUENCE {
+ uL-COUNTValue COUNTValueForPDCP-SN18,
+ receiveStatusOfUL-PDCP-SDUs BIT STRING (SIZE(1..131072)) OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DRBStatusUL18-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBStatusUL18-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBsToQosFlowsMappingList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsToQosFlowsMappingItem
+
+DRBsToQosFlowsMappingItem ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ associatedQosFlowList AssociatedQosFlowList,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToQosFlowsMappingItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToQosFlowsMappingItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional },
+ ...
+}
+
+Dynamic5QIDescriptor ::= SEQUENCE {
+ priorityLevelQos PriorityLevelQos,
+ packetDelayBudget PacketDelayBudget,
+ packetErrorRate PacketErrorRate,
+ fiveQI FiveQI OPTIONAL,
+ delayCritical DelayCritical OPTIONAL,
+-- The above IE shall be present in case of GBR QoS flow
+ averagingWindow AveragingWindow OPTIONAL,
+-- The above IE shall be present in case of GBR QoS flow
+ maximumDataBurstVolume MaximumDataBurstVolume OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Dynamic5QIDescriptor-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Dynamic5QIDescriptor-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedPacketDelayBudget CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetDL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetUL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional },
+ ...
+}
+
+-- E
+
+EarlyMeasurement ::= ENUMERATED {true, ...}
+
+EarlyStatusTransfer-TransparentContainer ::= SEQUENCE {
+ procedureStage ProcedureStageChoice,
+ iE-Extensions ProtocolExtensionContainer { {EarlyStatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EarlyStatusTransfer-TransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ProcedureStageChoice ::= CHOICE {
+ first-dl-count FirstDLCount,
+ choice-Extensions ProtocolIE-SingleContainer { {ProcedureStageChoice-ExtIEs} }
+}
+
+ProcedureStageChoice-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+FirstDLCount ::= SEQUENCE {
+ dRBsSubjectToEarlyStatusTransfer DRBsSubjectToEarlyStatusTransfer-List,
+ iE-Extension ProtocolExtensionContainer { {FirstDLCount-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FirstDLCount-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBsSubjectToEarlyStatusTransfer-List ::= SEQUENCE (SIZE (1.. maxnoofDRBs)) OF DRBsSubjectToEarlyStatusTransfer-Item
+
+DRBsSubjectToEarlyStatusTransfer-Item ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ firstDLCOUNT DRBStatusDL,
+ iE-Extension ProtocolExtensionContainer { { DRBsSubjectToEarlyStatusTransfer-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsSubjectToEarlyStatusTransfer-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+EDT-Session ::= ENUMERATED {
+ true,
+ ...
+}
+
+EmergencyAreaID ::= OCTET STRING (SIZE(3))
+
+EmergencyAreaIDBroadcastEUTRA ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaIDBroadcastEUTRA-Item
+
+EmergencyAreaIDBroadcastEUTRA-Item ::= SEQUENCE {
+ emergencyAreaID EmergencyAreaID,
+ completedCellsInEAI-EUTRA CompletedCellsInEAI-EUTRA,
+ iE-Extensions ProtocolExtensionContainer { {EmergencyAreaIDBroadcastEUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EmergencyAreaIDBroadcastEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EmergencyAreaIDBroadcastNR ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaIDBroadcastNR-Item
+
+EmergencyAreaIDBroadcastNR-Item ::= SEQUENCE {
+ emergencyAreaID EmergencyAreaID,
+ completedCellsInEAI-NR CompletedCellsInEAI-NR,
+ iE-Extensions ProtocolExtensionContainer { {EmergencyAreaIDBroadcastNR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EmergencyAreaIDBroadcastNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EmergencyAreaIDCancelledEUTRA ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaIDCancelledEUTRA-Item
+
+EmergencyAreaIDCancelledEUTRA-Item ::= SEQUENCE {
+ emergencyAreaID EmergencyAreaID,
+ cancelledCellsInEAI-EUTRA CancelledCellsInEAI-EUTRA,
+ iE-Extensions ProtocolExtensionContainer { {EmergencyAreaIDCancelledEUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EmergencyAreaIDCancelledEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EmergencyAreaIDCancelledNR ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaIDCancelledNR-Item
+
+EmergencyAreaIDCancelledNR-Item ::= SEQUENCE {
+ emergencyAreaID EmergencyAreaID,
+ cancelledCellsInEAI-NR CancelledCellsInEAI-NR,
+ iE-Extensions ProtocolExtensionContainer { {EmergencyAreaIDCancelledNR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EmergencyAreaIDCancelledNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID
+
+EmergencyAreaIDListForRestart ::= SEQUENCE (SIZE(1..maxnoofEAIforRestart)) OF EmergencyAreaID
+
+EmergencyFallbackIndicator ::= SEQUENCE {
+ emergencyFallbackRequestIndicator EmergencyFallbackRequestIndicator,
+ emergencyServiceTargetCN EmergencyServiceTargetCN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EmergencyFallbackIndicator-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EmergencyFallbackIndicator-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EmergencyFallbackRequestIndicator ::= ENUMERATED {
+ emergency-fallback-requested,
+ ...
+}
+
+EmergencyServiceTargetCN ::= ENUMERATED {
+ fiveGC,
+ epc,
+ ...
+}
+
+ENB-ID ::= CHOICE {
+ macroENB-ID BIT STRING (SIZE(20)),
+ homeENB-ID BIT STRING (SIZE(28)),
+ short-macroENB-ID BIT STRING (SIZE(18)),
+ long-macroENB-ID BIT STRING (SIZE(21)),
+ choice-Extensions ProtocolIE-SingleContainer { { ENB-ID-ExtIEs} }
+}
+
+ENB-ID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+Enhanced-CoverageRestriction ::= ENUMERATED {restricted, ... }
+
+
+Extended-ConnectedTime ::= INTEGER (0..255)
+
+EN-DCSONConfigurationTransfer ::= OCTET STRING
+
+EndpointIPAddressAndPort ::=SEQUENCE {
+ endpointIPAddress TransportLayerAddress,
+ portNumber PortNumber,
+ iE-Extensions ProtocolExtensionContainer { { EndpointIPAddressAndPort-ExtIEs} } OPTIONAL
+}
+
+EndIndication ::= ENUMERATED {
+ no-further-data,
+ further-data-exists,
+ ...
+}
+
+EndpointIPAddressAndPort-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EquivalentPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNIdentity
+
+EPS-TAC ::= OCTET STRING (SIZE(2))
+
+EPS-TAI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ ePS-TAC EPS-TAC,
+ iE-Extensions ProtocolExtensionContainer { {EPS-TAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EPS-TAI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RAB-ID ::= INTEGER (0..15, ...)
+
+E-RABInformationList ::= SEQUENCE (SIZE(1..maxnoofE-RABs)) OF E-RABInformationItem
+
+E-RABInformationItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dLForwarding DLForwarding OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-SourceTNLAddrInfo CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ {ID id-SourceNodeTNLAddrInfo CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+EUTRACellIdentity ::= BIT STRING (SIZE(28))
+
+EUTRA-CGI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ eUTRACellIdentity EUTRACellIdentity,
+ iE-Extensions ProtocolExtensionContainer { {EUTRA-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRA-CGI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRA-CGIList ::= SEQUENCE (SIZE(1..maxnoofCellsinngeNB)) OF EUTRA-CGI
+
+EUTRA-CGIListForWarning ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF EUTRA-CGI
+
+EUTRA-PagingeDRXInformation ::= SEQUENCE {
+ eUTRA-paging-eDRX-Cycle EUTRA-Paging-eDRX-Cycle,
+ eUTRA-paging-Time-Window EUTRA-Paging-Time-Window OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EUTRA-PagingeDRXInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRA-PagingeDRXInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRA-Paging-eDRX-Cycle ::= ENUMERATED {
+ hfhalf, hf1, hf2, hf4, hf6,
+ hf8, hf10, hf12, hf14, hf16,
+ hf32, hf64, hf128, hf256,
+ ...
+}
+
+EUTRA-Paging-Time-Window ::= ENUMERATED {
+ s1, s2, s3, s4, s5,
+ s6, s7, s8, s9, s10,
+ s11, s12, s13, s14, s15, s16,
+ ...
+}
+
+EUTRAencryptionAlgorithms ::= BIT STRING (SIZE(16, ...))
+
+EUTRAintegrityProtectionAlgorithms ::= BIT STRING (SIZE(16, ...))
+
+EventType ::= ENUMERATED {
+ direct,
+ change-of-serve-cell,
+ ue-presence-in-area-of-interest,
+ stop-change-of-serve-cell,
+ stop-ue-presence-in-area-of-interest,
+ cancel-location-reporting-for-the-ue,
+ ...
+}
+
+ExcessPacketDelayThresholdConfiguration ::= SEQUENCE (SIZE(1..maxnoofThresholdsForExcessPacketDelay)) OF ExcessPacketDelayThresholdItem
+
+ExcessPacketDelayThresholdItem ::= SEQUENCE {
+ fiveQi FiveQI,
+ excessPacketDelayThresholdValue ExcessPacketDelayThresholdValue,
+ iE-Extensions ProtocolExtensionContainer { { ExcessPacketDelayThresholdItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExcessPacketDelayThresholdItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExcessPacketDelayThresholdValue ::= ENUMERATED {
+ms0dot25, ms0dot5, ms1, ms2, ms4, ms5, ms10, ms20, ms30, ms40, ms50, ms60, ms70, ms80, ms90, ms100, ms150, ms300, ms500,
+ ...
+}
+
+ExpectedActivityPeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181, ...)
+
+ExpectedHOInterval ::= ENUMERATED {
+ sec15, sec30, sec60, sec90, sec120, sec180, long-time,
+ ...
+}
+
+ExpectedIdlePeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181, ...)
+
+ExpectedUEActivityBehaviour ::= SEQUENCE {
+ expectedActivityPeriod ExpectedActivityPeriod OPTIONAL,
+ expectedIdlePeriod ExpectedIdlePeriod OPTIONAL,
+ sourceOfUEActivityBehaviourInformation SourceOfUEActivityBehaviourInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ExpectedUEActivityBehaviour-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEActivityBehaviour-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExpectedUEBehaviour ::= SEQUENCE {
+ expectedUEActivityBehaviour ExpectedUEActivityBehaviour OPTIONAL,
+ expectedHOInterval ExpectedHOInterval OPTIONAL,
+ expectedUEMobility ExpectedUEMobility OPTIONAL,
+ expectedUEMovingTrajectory ExpectedUEMovingTrajectory OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ExpectedUEBehaviour-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEBehaviour-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExpectedUEMobility ::= ENUMERATED {
+ stationary,
+ mobile,
+ ...
+}
+
+ExpectedUEMovingTrajectory ::= SEQUENCE (SIZE(1..maxnoofCellsUEMovingTrajectory)) OF ExpectedUEMovingTrajectoryItem
+
+ExpectedUEMovingTrajectoryItem ::= SEQUENCE {
+ nGRAN-CGI NGRAN-CGI,
+ timeStayedInCell INTEGER (0..4095) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ExpectedUEMovingTrajectoryItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEMovingTrajectoryItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extended-AMFName ::= SEQUENCE {
+ aMFNameVisibleString AMFNameVisibleString OPTIONAL,
+ aMFNameUTF8String AMFNameUTF8String OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Extended-AMFName-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Extended-AMFName-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExtendedPacketDelayBudget ::= INTEGER (1..65535, ..., 65536..109999)
+
+
+Extended-RANNodeName ::= SEQUENCE {
+ rANNodeNameVisibleString RANNodeNameVisibleString OPTIONAL,
+ rANNodeNameUTF8String RANNodeNameUTF8String OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Extended-RANNodeName-ExtIEs } } OPTIONAL, ...
+}
+
+Extended-RANNodeName-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExtendedRATRestrictionInformation ::= SEQUENCE {
+ primaryRATRestriction BIT STRING (SIZE(8, ...)),
+ secondaryRATRestriction BIT STRING (SIZE(8, ...)),
+ iE-Extensions ProtocolExtensionContainer { {ExtendedRATRestrictionInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExtendedRATRestrictionInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExtendedRNC-ID ::= INTEGER (4096..65535)
+
+ExtendedSliceSupportList ::= SEQUENCE (SIZE(1..maxnoofExtSliceItems)) OF SliceSupportItem
+
+ExtendedUEIdentityIndexValue ::= BIT STRING (SIZE(16))
+
+EventTrigger::= CHOICE {
+ outOfCoverage ENUMERATED {true, ...},
+ eventL1LoggedMDTConfig EventL1LoggedMDTConfig,
+ choice-Extensions ProtocolIE-SingleContainer { { EventTrigger-ExtIEs} }
+}
+
+EventTrigger-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+EventL1LoggedMDTConfig ::= SEQUENCE {
+ l1Threshold MeasurementThresholdL1LoggedMDT,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ iE-Extensions ProtocolExtensionContainer { { EventL1LoggedMDTConfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventL1LoggedMDTConfig-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MeasurementThresholdL1LoggedMDT ::= CHOICE {
+ threshold-RSRP Threshold-RSRP,
+ threshold-RSRQ Threshold-RSRQ,
+ choice-Extensions ProtocolIE-SingleContainer { { MeasurementThresholdL1LoggedMDT-ExtIEs} }
+}
+
+MeasurementThresholdL1LoggedMDT-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- F
+
+FailureIndication ::= SEQUENCE {
+ uERLFReportContainer UERLFReportContainer,
+ iE-Extensions ProtocolExtensionContainer { { FailureIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FailureIndication-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveG-ProSeAuthorized ::= SEQUENCE {
+ fiveGProSeDirectDiscovery FiveGProSeDirectDiscovery OPTIONAL,
+ fiveGProSeDirectCommunication FiveGProSeDirectCommunication OPTIONAL,
+ fiveGProSeLayer2UEtoNetworkRelay FiveGProSeLayer2UEtoNetworkRelay OPTIONAL,
+ fiveGProSeLayer3UEtoNetworkRelay FiveGProSeLayer3UEtoNetworkRelay OPTIONAL,
+ fiveGProSeLayer2RemoteUE FiveGProSeLayer2RemoteUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {FiveG-ProSeAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveG-ProSeAuthorized-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveGProSeDirectDiscovery ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveGProSeDirectCommunication ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveGProSeLayer2UEtoNetworkRelay ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveGProSeLayer3UEtoNetworkRelay ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveGProSeLayer2RemoteUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+
+
+FiveG-ProSePC5QoSParameters ::= SEQUENCE {
+ fiveGProSepc5QoSFlowList FiveGProSePC5QoSFlowList,
+ fiveGProSepc5LinkAggregateBitRates BitRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FiveG-ProSePC5QoSParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveG-ProSePC5QoSParameters-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveGProSePC5QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofPC5QoSFlows)) OF FiveGProSePC5QoSFlowItem
+
+FiveGProSePC5QoSFlowItem ::= SEQUENCE {
+ fiveGproSepQI FiveQI,
+ fiveGproSepc5FlowBitRates FiveGProSePC5FlowBitRates OPTIONAL,
+ fiveGproSerange Range OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FiveGProSePC5QoSFlowItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveGProSePC5QoSFlowItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveGProSePC5FlowBitRates ::= SEQUENCE {
+ fiveGproSeguaranteedFlowBitRate BitRate,
+ fiveGproSemaximumFlowBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { { FiveGProSePC5FlowBitRates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveGProSePC5FlowBitRates-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+FiveG-S-TMSI ::= SEQUENCE {
+ aMFSetID AMFSetID,
+ aMFPointer AMFPointer,
+ fiveG-TMSI FiveG-TMSI,
+ iE-Extensions ProtocolExtensionContainer { {FiveG-S-TMSI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveG-S-TMSI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveG-TMSI ::= OCTET STRING (SIZE(4))
+
+FiveQI ::= INTEGER (0..255, ...)
+
+ForbiddenAreaInformation ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenAreaInformation-Item
+
+ForbiddenAreaInformation-Item ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ forbiddenTACs ForbiddenTACs,
+ iE-Extensions ProtocolExtensionContainer { {ForbiddenAreaInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ForbiddenAreaInformation-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC
+
+FromEUTRANtoNGRAN ::= SEQUENCE {
+ sourceeNBID IntersystemSONeNBID,
+ targetNGRANnodeID IntersystemSONNGRANnodeID,
+ iE-Extensions ProtocolExtensionContainer { { FromEUTRANtoNGRAN-ExtIEs} } OPTIONAL
+}
+
+FromEUTRANtoNGRAN-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FromNGRANtoEUTRAN ::= SEQUENCE {
+ sourceNGRANnodeID IntersystemSONNGRANnodeID,
+ targeteNBID IntersystemSONeNBID,
+ iE-Extensions ProtocolExtensionContainer { { FromNGRANtoEUTRAN-ExtIEs} } OPTIONAL
+}
+
+FromNGRANtoEUTRAN-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- G
+
+GBR-QosInformation ::= SEQUENCE {
+ maximumFlowBitRateDL BitRate,
+ maximumFlowBitRateUL BitRate,
+ guaranteedFlowBitRateDL BitRate,
+ guaranteedFlowBitRateUL BitRate,
+ notificationControl NotificationControl OPTIONAL,
+ maximumPacketLossRateDL PacketLossRate OPTIONAL,
+ maximumPacketLossRateUL PacketLossRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {GBR-QosInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBR-QosInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AlternativeQoSParaSetList CRITICALITY ignore EXTENSION AlternativeQoSParaSetList PRESENCE optional },
+ ...
+}
+
+GlobalCable-ID ::= OCTET STRING
+
+GlobalCable-ID-new ::= SEQUENCE {
+ globalCable-ID GlobalCable-ID,
+ tAI TAI,
+ iE-Extensions ProtocolExtensionContainer { { GlobalCable-ID-new-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalCable-ID-new-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GlobalENB-ID ::= SEQUENCE {
+ pLMNidentity PLMNIdentity,
+ eNB-ID ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalENB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GlobalGNB-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ gNB-ID GNB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalGNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalGNB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GlobalN3IWF-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ n3IWF-ID N3IWF-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalN3IWF-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalN3IWF-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GlobalLine-ID ::= SEQUENCE {
+ globalLineIdentity GlobalLineIdentity,
+ lineType LineType OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {GlobalLine-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalLine-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TAI CRITICALITY ignore EXTENSION TAI PRESENCE optional },
+ ...
+}
+
+GlobalLineIdentity ::= OCTET STRING
+
+GlobalNgENB-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ ngENB-ID NgENB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalNgENB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalNgENB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GlobalRANNodeID ::= CHOICE {
+ globalGNB-ID GlobalGNB-ID,
+ globalNgENB-ID GlobalNgENB-ID,
+ globalN3IWF-ID GlobalN3IWF-ID,
+ choice-Extensions ProtocolIE-SingleContainer { {GlobalRANNodeID-ExtIEs} }
+}
+
+GlobalRANNodeID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-GlobalTNGF-ID CRITICALITY reject TYPE GlobalTNGF-ID PRESENCE mandatory }|
+ { ID id-GlobalTWIF-ID CRITICALITY reject TYPE GlobalTWIF-ID PRESENCE mandatory }|
+ { ID id-GlobalW-AGF-ID CRITICALITY reject TYPE GlobalW-AGF-ID PRESENCE mandatory },
+ ...
+}
+
+GlobalTNGF-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ tNGF-ID TNGF-ID,
+ iE-Extensions ProtocolExtensionContainer { { GlobalTNGF-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalTNGF-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GlobalTWIF-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ tWIF-ID TWIF-ID,
+ iE-Extensions ProtocolExtensionContainer { { GlobalTWIF-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalTWIF-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GlobalW-AGF-ID ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ w-AGF-ID W-AGF-ID,
+ iE-Extensions ProtocolExtensionContainer { { GlobalW-AGF-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalW-AGF-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-ID ::= CHOICE {
+ gNB-ID BIT STRING (SIZE(22..32)),
+ choice-Extensions ProtocolIE-SingleContainer { {GNB-ID-ExtIEs} }
+}
+
+GNB-ID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+GTP-TEID ::= OCTET STRING (SIZE(4))
+
+GTPTunnel ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { {GTPTunnel-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GTPTunnel-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GUAMI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ aMFRegionID AMFRegionID,
+ aMFSetID AMFSetID,
+ aMFPointer AMFPointer,
+ iE-Extensions ProtocolExtensionContainer { {GUAMI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GUAMI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GUAMIType ::= ENUMERATED {native, mapped, ...}
+
+-- H
+
+HandoverCommandTransfer ::= SEQUENCE {
+ dLForwardingUP-TNLInformation UPTransportLayerInformation OPTIONAL,
+ qosFlowToBeForwardedList QosFlowToBeForwardedList OPTIONAL,
+ dataForwardingResponseDRBList DataForwardingResponseDRBList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {HandoverCommandTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HandoverCommandTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalDLForwardingUPTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }|
+ { ID id-ULForwardingUP-TNLInformation CRITICALITY reject EXTENSION UPTransportLayerInformation PRESENCE optional }|
+ { ID id-AdditionalULForwardingUPTNLInformation CRITICALITY reject EXTENSION UPTransportLayerInformationList PRESENCE optional }|
+ { ID id-DataForwardingResponseERABList CRITICALITY ignore EXTENSION DataForwardingResponseERABList PRESENCE optional }|
+ { ID id-QosFlowFailedToSetupList CRITICALITY ignore EXTENSION QosFlowListWithCause PRESENCE optional },
+ ...
+}
+
+HandoverFlag ::= ENUMERATED {
+ handover-preparation,
+ ...
+}
+
+HandoverPreparationUnsuccessfulTransfer ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {HandoverPreparationUnsuccessfulTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HandoverPreparationUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HandoverRequestAcknowledgeTransfer ::= SEQUENCE {
+ dL-NGU-UP-TNLInformation UPTransportLayerInformation,
+ dLForwardingUP-TNLInformation UPTransportLayerInformation OPTIONAL,
+ securityResult SecurityResult OPTIONAL,
+ qosFlowSetupResponseList QosFlowListWithDataForwarding,
+ qosFlowFailedToSetupList QosFlowListWithCause OPTIONAL,
+ dataForwardingResponseDRBList DataForwardingResponseDRBList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {HandoverRequestAcknowledgeTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HandoverRequestAcknowledgeTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalDLUPTNLInformationForHOList CRITICALITY ignore EXTENSION AdditionalDLUPTNLInformationForHOList PRESENCE optional }|
+ { ID id-ULForwardingUP-TNLInformation CRITICALITY reject EXTENSION UPTransportLayerInformation PRESENCE optional }|
+ { ID id-AdditionalULForwardingUPTNLInformation CRITICALITY reject EXTENSION UPTransportLayerInformationList PRESENCE optional }|
+ { ID id-DataForwardingResponseERABList CRITICALITY ignore EXTENSION DataForwardingResponseERABList PRESENCE optional }|
+ { ID id-RedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }|
+ { ID id-UsedRSNInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional }|
+ { ID id-GlobalRANNodeID CRITICALITY ignore EXTENSION GlobalRANNodeID PRESENCE optional }|
+ { ID id-MBS-SupportIndicator CRITICALITY ignore EXTENSION MBS-SupportIndicator PRESENCE optional },
+ ...
+}
+
+HandoverRequiredTransfer ::= SEQUENCE {
+ directForwardingPathAvailability DirectForwardingPathAvailability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {HandoverRequiredTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HandoverRequiredTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HandoverResourceAllocationUnsuccessfulTransfer ::= SEQUENCE {
+ cause Cause,
+ criticalityDiagnostics CriticalityDiagnostics OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {HandoverResourceAllocationUnsuccessfulTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HandoverResourceAllocationUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HandoverType ::= ENUMERATED {
+ intra5gs,
+ fivegs-to-eps,
+ eps-to-5gs,
+ ...,
+ fivegs-to-utran
+}
+
+HashedUEIdentityIndexValue ::= BIT STRING (SIZE(13, ...))
+
+
+HFCNode-ID ::= OCTET STRING
+
+HFCNode-ID-new ::= SEQUENCE {
+ hFCNode-ID HFCNode-ID,
+ tAI TAI,
+ iE-Extensions ProtocolExtensionContainer { { HFCNode-ID-new-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HFCNode-ID-new-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HOReport::= SEQUENCE {
+ handoverReportType ENUMERATED {ho-too-early, ho-to-wrong-cell, intersystem-ping-pong, ...},
+ handoverCause Cause,
+ sourcecellCGI NGRAN-CGI,
+ targetcellCGI NGRAN-CGI,
+ reestablishmentcellCGI NGRAN-CGI OPTIONAL,
+ -- The above IE shall be present if the Handover Report Type IE is set to the value "HO to wrong cell" --
+ sourcecellC-RNTI BIT STRING (SIZE(16)) OPTIONAL,
+ targetcellinE-UTRAN EUTRA-CGI OPTIONAL,
+ -- The above IE shall be present if the Handover Report Type IE is set to the value "Inter System ping-pong" --
+ mobilityInformation MobilityInformation OPTIONAL,
+ uERLFReportContainer UERLFReportContainer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HOReport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HOReport-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Hysteresis ::= INTEGER (0..30)
+
+-- I
+
+IAB-Authorized ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+IAB-Supported ::= ENUMERATED {
+ true,
+ ...
+}
+
+IABNodeIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+IMSVoiceSupportIndicator ::= ENUMERATED {
+ supported,
+ not-supported,
+ ...
+}
+
+IndexToRFSP ::= INTEGER (1..256, ...)
+
+InfoOnRecommendedCellsAndRANNodesForPaging ::= SEQUENCE {
+ recommendedCellsForPaging RecommendedCellsForPaging,
+ recommendRANNodesForPaging RecommendedRANNodesForPaging,
+ iE-Extensions ProtocolExtensionContainer { {InfoOnRecommendedCellsAndRANNodesForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InfoOnRecommendedCellsAndRANNodesForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+IntegrityProtectionIndication ::= ENUMERATED {
+ required,
+ preferred,
+ not-needed,
+ ...
+}
+
+IntegrityProtectionResult ::= ENUMERATED {
+ performed,
+ not-performed,
+ ...
+}
+
+IntendedNumberOfPagingAttempts ::= INTEGER (1..16, ...)
+
+InterfacesToTrace ::= BIT STRING (SIZE(8))
+
+ImmediateMDTNr ::= SEQUENCE {
+ measurementsToActivate MeasurementsToActivate,
+ m1Configuration M1Configuration OPTIONAL,
+-- The above IE shall be present if the Measurements to Activate IE has the first bit set to “1â€
+ m4Configuration M4Configuration OPTIONAL,
+-- The above IE shall be present if the Measurements to Activate IE has the third bit set to “1â€
+ m5Configuration M5Configuration OPTIONAL,
+-- The above IE shall be present if the Measurements to Activate IE has the fourth bit set to “1â€
+ m6Configuration M6Configuration OPTIONAL,
+-- The above IE shall be present if the Measurements to Activate IE has the fifth bit set to “1â€
+ m7Configuration M7Configuration OPTIONAL,
+-- The above IE shall be present if the Measurements to Activate IE has the sixth bit set to “1â€
+ bluetoothMeasurementConfiguration BluetoothMeasurementConfiguration OPTIONAL,
+ wLANMeasurementConfiguration WLANMeasurementConfiguration OPTIONAL,
+ mDT-Location-Info MDT-Location-Info OPTIONAL,
+ sensorMeasurementConfiguration SensorMeasurementConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ImmediateMDTNr-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ImmediateMDTNr-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InterSystemFailureIndication ::= SEQUENCE {
+ uERLFReportContainer UERLFReportContainer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { InterSystemFailureIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InterSystemFailureIndication-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IntersystemSONConfigurationTransfer ::= SEQUENCE {
+ transferType IntersystemSONTransferType,
+ intersystemSONInformation IntersystemSONInformation,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemSONConfigurationTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemSONConfigurationTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IntersystemSONTransferType ::= CHOICE {
+ fromEUTRANtoNGRAN FromEUTRANtoNGRAN,
+ fromNGRANtoEUTRAN FromNGRANtoEUTRAN,
+ choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONTransferType-ExtIEs} }
+}
+IntersystemSONTransferType-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+IntersystemSONeNBID ::= SEQUENCE {
+ globaleNBID GlobalENB-ID,
+ selectedEPSTAI EPS-TAI,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemSONeNBID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemSONeNBID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IntersystemSONNGRANnodeID ::= SEQUENCE {
+ globalRANNodeID GlobalRANNodeID,
+ selectedTAI TAI,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemSONNGRANnodeID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemSONNGRANnodeID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IntersystemSONInformation ::= CHOICE {
+ intersystemSONInformationReport IntersystemSONInformationReport,
+ choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONInformation-ExtIEs} }
+}
+
+IntersystemSONInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-IntersystemSONInformationRequest CRITICALITY ignore TYPE IntersystemSONInformationRequest PRESENCE mandatory }|
+ { ID id-IntersystemSONInformationReply CRITICALITY ignore TYPE IntersystemSONInformationReply PRESENCE mandatory },
+ ...
+}
+
+-- --------------------------------------------------------------------
+-- INTER SYSTEM SON INFORMATION REQUEST
+-- --------------------------------------------------------------------
+
+IntersystemSONInformationRequest ::= CHOICE {
+ nGRAN-CellActivation IntersystemCellActivationRequest,
+ resourceStatus IntersystemResourceStatusRequest,
+ choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONInformationRequest-ExtIEs} }
+}
+
+IntersystemSONInformationRequest-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+IntersystemCellActivationRequest ::= SEQUENCE {
+ activationID INTEGER (0..16384, ...),
+ cellsToActivateList CellsToActivateList,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemCellActivationRequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemCellActivationRequest-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellsToActivateList ::= SEQUENCE (SIZE(1..maxnoofCellsinNGRANNode)) OF NGRAN-CGI
+
+
+-- --------------------------------------------------------------------
+-- Inter System Resource Status Request
+-- --------------------------------------------------------------------
+
+IntersystemResourceStatusRequest ::= SEQUENCE {
+ reportingSystem ReportingSystem,
+ reportCharacteristics ReportCharacteristics,
+ reportType ReportType,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemResourceStatusRequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemResourceStatusRequest-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportingSystem ::= CHOICE {
+ eUTRAN EUTRAN-ReportingSystemIEs,
+ nGRAN NGRAN-ReportingSystemIEs,
+ noReporting NULL,
+ choice-Extensions ProtocolIE-SingleContainer { { ReportingSystem-ExtIEs}}
+}
+
+ReportingSystem-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+EUTRAN-ReportingSystemIEs::= SEQUENCE {
+ eUTRAN-CellToReportList EUTRAN-CellToReportList,
+ iE-Extensions ProtocolExtensionContainer { {EUTRAN-ReportingSystemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRAN-ReportingSystemIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NGRAN-ReportingSystemIEs ::= SEQUENCE {
+ nGRAN-CellToReportList NGRAN-CellToReportList,
+ iE-Extensions ProtocolExtensionContainer { {NGRAN-ReportingSystemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NGRAN-ReportingSystemIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRAN-CellToReportList ::= SEQUENCE (SIZE(1..maxnoofReportedCells)) OF EUTRAN-CellToReportItem
+
+EUTRAN-CellToReportItem::= SEQUENCE {
+ eCGI EUTRA-CGI,
+ iE-Extensions ProtocolExtensionContainer { {EUTRAN-CellToReportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRAN-CellToReportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NGRAN-CellToReportList ::= SEQUENCE (SIZE(1.. maxnoofReportedCells)) OF NGRAN-CellToReportItem
+
+NGRAN-CellToReportItem::= SEQUENCE {
+ nGRAN-CGI NGRAN-CGI,
+ iE-Extensions ProtocolExtensionContainer { {NGRAN-CellToReportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NGRAN-CellToReportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportCharacteristics ::= BIT STRING(SIZE(32))
+
+ReportType ::= CHOICE {
+ eventBasedReporting EventBasedReportingIEs,
+ periodicReporting PeriodicReportingIEs,
+ choice-Extensions ProtocolIE-SingleContainer { { ReportType-ExtIEs}}
+}
+
+ReportType-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+EventBasedReportingIEs ::= SEQUENCE {
+ intersystemResourceThresholdLow IntersystemResourceThreshold,
+ intersystemResourceThresholdHigh IntersystemResourceThreshold,
+ numberOfMeasurementReportingLevels NumberOfMeasurementReportingLevels,
+ iE-Extensions ProtocolExtensionContainer { {EventBasedReportingIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+EventBasedReportingIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IntersystemResourceThreshold ::= INTEGER(0..100)
+
+NumberOfMeasurementReportingLevels ::= ENUMERATED {n2, n3, n4, n5, n10, ...}
+
+PeriodicReportingIEs ::= SEQUENCE {
+ reportingPeriodicity ReportingPeriodicity,
+ iE-Extensions ProtocolExtensionContainer { {PeriodicReportingIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PeriodicReportingIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportingPeriodicity ::= ENUMERATED {
+ stop,
+ single,
+ ms1000,
+ ms2000,
+ ms5000,
+ ms10000,
+ ...
+}
+
+
+-- --------------------------------------------------------------------
+-- INTER SYSTEM SON INFORMATION REPLY
+-- --------------------------------------------------------------------
+
+IntersystemSONInformationReply ::= CHOICE {
+ nGRAN-CellActivation IntersystemCellActivationReply,
+ resourceStatus IntersystemResourceStatusReply,
+ choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONInformationReply-ExtIEs} }
+}
+
+IntersystemSONInformationReply-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+IntersystemCellActivationReply ::= SEQUENCE {
+ activatedCellList ActivatedCellList,
+ activation-ID INTEGER(0..16384, ...),
+ iE-Extensions ProtocolExtensionContainer { { IntersystemCellActivationReply-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemCellActivationReply-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ActivatedCellList ::= SEQUENCE (SIZE(1..maxnoofCellsinNGRANNode)) OF NGRAN-CGI
+
+
+-- --------------------------------------------------------------------
+-- Inter System Resource Status Reply
+-- --------------------------------------------------------------------
+
+IntersystemResourceStatusReply ::= SEQUENCE {
+ reportingsystem ReportingSystem,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemResourceStatusReply-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemResourceStatusReply-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- --------------------------------------------------------------------
+-- INTER SYSTEM SON INFORMATION REPORT
+-- --------------------------------------------------------------------
+
+IntersystemSONInformationReport::= CHOICE {
+ hOReportInformation InterSystemHOReport,
+ failureIndicationInformation InterSystemFailureIndication,
+ choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONInformationReport-ExtIEs} }
+}
+
+IntersystemSONInformationReport-ExtIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-EnergySavingIndication CRITICALITY ignore TYPE IntersystemCellStateIndication PRESENCE mandatory }|
+ { ID id-IntersystemResourceStatusUpdate CRITICALITY ignore TYPE IntersystemResourceStatusReport PRESENCE mandatory },
+ ...
+}
+
+IntersystemCellStateIndication ::= SEQUENCE {
+ notificationCellList NotificationCellList,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemCellStateIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemCellStateIndication-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NotificationCellList ::= SEQUENCE (SIZE(1.. maxnoofCellsinNGRANNode)) OF NotificationCell-Item
+
+NotificationCell-Item ::= SEQUENCE {
+ nGRAN-CGI NGRAN-CGI,
+ notifyFlag ENUMERATED {activated, deactivated, ...},
+ iE-Extensions ProtocolExtensionContainer { { NotificationCell-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NotificationCell-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- --------------------------------------------------------------------
+-- Inter System Resource Status Report
+-- --------------------------------------------------------------------
+
+IntersystemResourceStatusReport ::= SEQUENCE {
+ reportingSystem ResourceStatusReportingSystem,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemResourceStatusReport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemResourceStatusReport-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceStatusReportingSystem ::= CHOICE {
+ eUTRAN-ReportingStatus EUTRAN-ReportingStatusIEs,
+ nGRAN-ReportingStatus NGRAN-ReportingStatusIEs,
+ choice-Extensions ProtocolIE-SingleContainer { { ResourceStatusReportingSystem-ExtIEs}}
+}
+
+ResourceStatusReportingSystem-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+EUTRAN-ReportingStatusIEs::= SEQUENCE {
+ eUTRAN-CellReportList EUTRAN-CellReportList,
+ iE-Extensions ProtocolExtensionContainer { {EUTRAN-ReportingStatusIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRAN-ReportingStatusIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRAN-CellReportList ::= SEQUENCE (SIZE(1..maxnoofReportedCells)) OF EUTRAN-CellReportItem
+
+EUTRAN-CellReportItem ::= SEQUENCE {
+ eCGI EUTRA-CGI,
+ eUTRAN-CompositeAvailableCapacityGroup EUTRAN-CompositeAvailableCapacityGroup,
+ eUTRAN-NumberOfActiveUEs EUTRAN-NumberOfActiveUEs OPTIONAL,
+ eUTRAN-NoofRRCConnections NGRAN-NoofRRCConnections OPTIONAL,
+ eUTRAN-RadioResourceStatus EUTRAN-RadioResourceStatus OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EUTRAN-CellReportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRAN-CellReportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+EUTRAN-CompositeAvailableCapacityGroup ::= SEQUENCE {
+ dL-CompositeAvailableCapacity CompositeAvailableCapacity,
+ uL-CompositeAvailableCapacity CompositeAvailableCapacity,
+ iE-Extensions ProtocolExtensionContainer { { EUTRAN-CompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRAN-CompositeAvailableCapacityGroup-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CompositeAvailableCapacity ::= SEQUENCE {
+ cellCapacityClassValue INTEGER (1..100, ...) OPTIONAL,
+ capacityValue INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { {CompositeAvailableCapacity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompositeAvailableCapacity-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRAN-NumberOfActiveUEs ::= INTEGER (0..16777215, ...)
+
+EUTRAN-RadioResourceStatus ::= SEQUENCE {
+ dL-GBR-PRB-usage INTEGER (0..100),
+ uL-GBR-PRB-usage INTEGER (0..100),
+ dL-non-GBR-PRB-usage INTEGER (0..100),
+ uL-non-GBR-PRB-usage INTEGER (0..100),
+ dL-Total-PRB-usage INTEGER (0..100),
+ uL-Total-PRB-usage INTEGER (0..100),
+ dL-scheduling-PDCCH-CCE-usage INTEGER (0..100) OPTIONAL,
+ uL-scheduling-PDCCH-CCE-usage INTEGER (0..100) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EUTRAN-RadioResourceStatus-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRAN-RadioResourceStatus-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NGRAN-ReportingStatusIEs ::= SEQUENCE {
+ nGRAN-CellReportList NGRAN-CellReportList,
+ iE-Extensions ProtocolExtensionContainer { {NGRAN-ReportingStatusIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NGRAN-ReportingStatusIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NGRAN-CellReportList ::= SEQUENCE (SIZE(1..maxnoofReportedCells)) OF NGRAN-CellReportItem
+
+NGRAN-CellReportItem ::= SEQUENCE {
+ nGRAN-CGI NGRAN-CGI,
+ nGRAN-CompositeAvailableCapacityGroup EUTRAN-CompositeAvailableCapacityGroup,
+ nGRAN-NumberOfActiveUEs NGRAN-NumberOfActiveUEs OPTIONAL,
+ nGRAN-NoofRRCConnections NGRAN-NoofRRCConnections OPTIONAL,
+ nGRAN-RadioResourceStatus NGRAN-RadioResourceStatus OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NGRAN-CellReportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NGRAN-CellReportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NGRAN-NumberOfActiveUEs ::= INTEGER (0..16777215, ...)
+
+NGRAN-NoofRRCConnections ::= INTEGER (1..65536, ...)
+
+NGRAN-RadioResourceStatus ::= SEQUENCE {
+ dL-GBR-PRB-usage-for-MIMO INTEGER (0..100),
+ uL-GBR-PRB-usage-for-MIMO INTEGER (0..100),
+ dL-non-GBR-PRB-usage-for-MIMO INTEGER (0..100),
+ uL-non-GBR-PRB-usage-for-MIMO INTEGER (0..100),
+ dL-Total-PRB-usage-for-MIMO INTEGER (0..100),
+ uL-Total-PRB-usage-for-MIMO INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { NGRAN-RadioResourceStatus-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NGRAN-RadioResourceStatus-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InterSystemHOReport ::= SEQUENCE {
+ handoverReportType InterSystemHandoverReportType,
+ iE-Extensions ProtocolExtensionContainer { { InterSystemHOReport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InterSystemHOReport-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InterSystemHandoverReportType ::= CHOICE {
+ tooearlyIntersystemHO TooearlyIntersystemHO,
+ intersystemUnnecessaryHO IntersystemUnnecessaryHO,
+ choice-Extensions ProtocolIE-SingleContainer { { InterSystemHandoverReportType-ExtIEs} }
+}
+
+InterSystemHandoverReportType-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+IntersystemUnnecessaryHO ::= SEQUENCE {
+ sourcecellID NGRAN-CGI,
+ targetcellID EUTRA-CGI,
+ earlyIRATHO ENUMERATED {true, false, ...},
+ candidateCellList CandidateCellList,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemUnnecessaryHO-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntersystemUnnecessaryHO-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- J
+-- K
+-- L
+
+LAC ::= OCTET STRING (SIZE (2))
+
+LAI ::= SEQUENCE {
+ pLMNidentity PLMNIdentity,
+ lAC LAC,
+ iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LAI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LastVisitedCellInformation ::= CHOICE {
+ nGRANCell LastVisitedNGRANCellInformation,
+ eUTRANCell LastVisitedEUTRANCellInformation,
+ uTRANCell LastVisitedUTRANCellInformation,
+ gERANCell LastVisitedGERANCellInformation,
+ choice-Extensions ProtocolIE-SingleContainer { {LastVisitedCellInformation-ExtIEs} }
+}
+
+LastVisitedCellInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+LastVisitedCellItem ::= SEQUENCE {
+ lastVisitedCellInformation LastVisitedCellInformation,
+ iE-Extensions ProtocolExtensionContainer { {LastVisitedCellItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LastVisitedCellItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LastVisitedEUTRANCellInformation ::= OCTET STRING
+
+LastVisitedGERANCellInformation ::= OCTET STRING
+
+LastVisitedNGRANCellInformation::= SEQUENCE {
+ globalCellID NGRAN-CGI,
+ cellType CellType,
+ timeUEStayedInCell TimeUEStayedInCell,
+ timeUEStayedInCellEnhancedGranularity TimeUEStayedInCellEnhancedGranularity OPTIONAL,
+ hOCauseValue Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LastVisitedNGRANCellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LastVisitedNGRANCellInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-LastVisitedPSCellList CRITICALITY ignore EXTENSION LastVisitedPSCellList PRESENCE optional },
+ ...
+}
+
+LastVisitedPSCellList ::= SEQUENCE (SIZE(1..maxnoofPSCellsPerPrimaryCellinUEHistoryInfo)) OF LastVisitedPSCellInformation
+
+LastVisitedPSCellInformation ::= SEQUENCE {
+ pSCellID NGRAN-CGI OPTIONAL,
+ timeStay INTEGER (0..40950),
+ iE-Extensions ProtocolExtensionContainer { {LastVisitedPSCellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LastVisitedPSCellInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LastVisitedUTRANCellInformation ::= OCTET STRING
+
+LineType ::= ENUMERATED {
+ dsl,
+ pon,
+ ...
+}
+
+
+LocationReportingAdditionalInfo ::= ENUMERATED {
+ includePSCell,
+ ...
+}
+
+LocationReportingReferenceID ::= INTEGER (1..64, ...)
+
+LocationReportingRequestType ::= SEQUENCE {
+ eventType EventType,
+ reportArea ReportArea,
+ areaOfInterestList AreaOfInterestList OPTIONAL,
+ locationReportingReferenceIDToBeCancelled LocationReportingReferenceID OPTIONAL,
+-- The above IE shall be present if the event type is set to “stop reporting UE presence in the area of interestâ€
+ iE-Extensions ProtocolExtensionContainer { {LocationReportingRequestType-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LocationReportingRequestType-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-LocationReportingAdditionalInfo CRITICALITY ignore EXTENSION LocationReportingAdditionalInfo PRESENCE optional },
+ ...
+}
+
+LoggedMDTNr ::= SEQUENCE {
+ loggingInterval LoggingInterval,
+ loggingDuration LoggingDuration,
+ loggedMDTTrigger LoggedMDTTrigger,
+ bluetoothMeasurementConfiguration BluetoothMeasurementConfiguration OPTIONAL,
+ wLANMeasurementConfiguration WLANMeasurementConfiguration OPTIONAL,
+ sensorMeasurementConfiguration SensorMeasurementConfiguration OPTIONAL,
+ areaScopeOfNeighCellsList AreaScopeOfNeighCellsList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LoggedMDTNr-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LoggedMDTNr-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-EarlyMeasurement CRITICALITY ignore EXTENSION EarlyMeasurement PRESENCE optional },
+ ...
+}
+
+LoggingInterval ::= ENUMERATED {
+ ms320, ms640, ms1280, ms2560, ms5120, ms10240, ms20480, ms30720, ms40960, ms61440,
+ infinity,
+ ...
+}
+
+LoggingDuration ::= ENUMERATED {m10, m20, m40, m60, m90, m120, ...}
+
+Links-to-log ::= ENUMERATED {
+ uplink,
+ downlink,
+ both-uplink-and-downlink,
+ ...
+}
+
+LoggedMDTTrigger ::= CHOICE{
+ periodical NULL,
+ eventTrigger EventTrigger,
+ choice-Extensions ProtocolIE-SingleContainer { {LoggedMDTTrigger-ExtIEs} }
+}
+
+LoggedMDTTrigger-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+LTEM-Indication ::= ENUMERATED {lte-m,...}
+
+LTEUERLFReportContainer ::= OCTET STRING
+
+LTEV2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+ pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LTEV2XServicesAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LTEV2XServicesAuthorized-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LTEUESidelinkAggregateMaximumBitrate ::= SEQUENCE {
+ uESidelinkAggregateMaximumBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {LTEUE-Sidelink-Aggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LTEUE-Sidelink-Aggregate-MaximumBitrates-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- M
+
+MaskedIMEISV ::= BIT STRING (SIZE(64))
+
+MaximumDataBurstVolume ::= INTEGER (0..4095, ..., 4096.. 2000000)
+
+MessageIdentifier ::= BIT STRING (SIZE(16))
+
+MaximumIntegrityProtectedDataRate ::= ENUMERATED {
+ bitrate64kbs,
+ maximum-UE-rate,
+ ...
+}
+
+
+MBS-AreaSessionID ::= INTEGER (0..65535, ...)
+
+MBS-DataForwardingResponseMRBList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MBS-DataForwardingResponseMRBItem
+
+MBS-DataForwardingResponseMRBItem ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ dL-Forwarding-UPTNLInformation UPTransportLayerInformation,
+ mRB-ProgressInformation MRB-ProgressInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-DataForwardingResponseMRBItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-DataForwardingResponseMRBItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-MappingandDataForwardingRequestList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MBS-MappingandDataForwardingRequestItem
+
+MBS-MappingandDataForwardingRequestItem ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mBS-QoSFlowList MBS-QoSFlowList,
+ mRB-ProgressInformation MRB-ProgressInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-MappingandDataForwardingRequestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-MappingandDataForwardingRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofMBSQoSFlows)) OF QosFlowIdentifier
+
+MRB-ProgressInformation ::= CHOICE {
+ pDCP-SN-Length12 INTEGER (0..4095),
+ pDCP-SN-Length18 INTEGER (0..262143),
+ choice-Extensions ProtocolIE-SingleContainer { { MRB-ProgressInformation-ExtIEs} }
+}
+
+MRB-ProgressInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MBS-QoSFlowsToBeSetupList ::= SEQUENCE (SIZE(1.. maxnoofMBSQoSFlows)) OF MBS-QoSFlowsToBeSetupItem
+
+MBS-QoSFlowsToBeSetupItem ::= SEQUENCE {
+ mBSqosFlowIdentifier QosFlowIdentifier,
+ mBSqosFlowLevelQosParameters QosFlowLevelQosParameters,
+ iE-Extensions ProtocolExtensionContainer { {MBS-QoSFlowsToBeSetupItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-QoSFlowsToBeSetupItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBS-ServiceArea ::= CHOICE {
+ locationindependent MBS-ServiceAreaInformation,
+ locationdependent MBS-ServiceAreaInformationList,
+ choice-Extensions ProtocolIE-SingleContainer { {MBS-ServiceArea-ExtIEs} }
+}
+
+MBS-ServiceArea-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MBS-ServiceAreaInformationList ::= SEQUENCE (SIZE(1..maxnoofMBSServiceAreaInformation)) OF MBS-ServiceAreaInformationItem
+
+
+MBS-ServiceAreaInformationItem ::= SEQUENCE {
+ mBS-AreaSessionID MBS-AreaSessionID,
+ mBS-ServiceAreaInformation MBS-ServiceAreaInformation,
+ iE-Extensions ProtocolExtensionContainer { {MBS-ServiceAreaInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-ServiceAreaInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-ServiceAreaInformation ::= SEQUENCE {
+ mBS-ServiceAreaCellList MBS-ServiceAreaCellList OPTIONAL,
+ mBS-ServiceAreaTAIList MBS-ServiceAreaTAIList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MBS-ServiceAreaInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-ServiceAreaInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-ServiceAreaCellList ::= SEQUENCE (SIZE(1.. maxnoofCellsforMBS)) OF NR-CGI
+
+MBS-ServiceAreaTAIList ::= SEQUENCE (SIZE(1.. maxnoofTAIforMBS)) OF TAI
+
+MBS-SessionID ::= SEQUENCE {
+ tMGI TMGI,
+ nID NID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MBS-SessionID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-SessionID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionFailedtoSetupList ::= SEQUENCE (SIZE(1.. maxnoofMBSSessions)) OF MBSSessionFailedtoSetupItem
+
+MBSSessionFailedtoSetupItem ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-AreaSessionID MBS-AreaSessionID OPTIONAL,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { MBSSessionFailedtoSetupItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSSessionFailedtoSetupItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-ActiveSessionInformation-SourcetoTargetList ::= SEQUENCE (SIZE(1..maxnoofMBSSessionsofUE)) OF MBS-ActiveSessionInformation-SourcetoTargetItem
+
+MBS-ActiveSessionInformation-SourcetoTargetItem ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-AreaSessionID MBS-AreaSessionID OPTIONAL,
+ mBS-ServiceArea MBS-ServiceArea OPTIONAL,
+ mBS-QoSFlowsToBeSetupList MBS-QoSFlowsToBeSetupList,
+ mBS-MappingandDataForwardingRequestList MBS-MappingandDataForwardingRequestList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-ActiveSessionInformation-SourcetoTargetItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-ActiveSessionInformation-SourcetoTargetItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-ActiveSessionInformation-TargettoSourceList ::= SEQUENCE (SIZE(1..maxnoofMBSSessionsofUE)) OF MBS-ActiveSessionInformation-TargettoSourceItem
+
+MBS-ActiveSessionInformation-TargettoSourceItem ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-DataForwardingResponseMRBList MBS-DataForwardingResponseMRBList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-ActiveSessionInformation-TargettoSourceItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-ActiveSessionInformation-TargettoSourceItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionSetupOrModFailureTransfer ::= SEQUENCE {
+ cause Cause,
+ criticalityDiagnostics CriticalityDiagnostics OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBSSessionSetupOrModFailureTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSSessionSetupOrModFailureTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionSetupResponseList ::= SEQUENCE (SIZE(1.. maxnoofMBSSessions)) OF MBSSessionSetupResponseItem
+
+MBSSessionSetupResponseItem ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-AreaSessionID MBS-AreaSessionID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBSSessionSetupResponseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSSessionSetupResponseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionSetupOrModRequestTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MBSSessionSetupOrModRequestTransferIEs} },
+ ...
+}
+
+MBSSessionSetupOrModRequestTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionTNLInfo5GC CRITICALITY reject TYPE MBS-SessionTNLInfo5GC PRESENCE optional }|
+ { ID id-MBS-QoSFlowsToBeSetupModList CRITICALITY reject TYPE MBS-QoSFlowsToBeSetupList PRESENCE mandatory }|
+ { ID id-MBS-SessionFSAIDList CRITICALITY ignore TYPE MBS-SessionFSAIDList PRESENCE optional },
+ ...
+}
+
+MBS-SessionFSAIDList ::= SEQUENCE (SIZE(1.. maxnoofMBSFSAs)) OF MBS-SessionFSAID
+
+MBS-SessionFSAID ::= OCTET STRING (SIZE(3))
+
+MBSSessionReleaseResponseTransfer ::= SEQUENCE {
+ mBS-SessionTNLInfoNGRAN MBS-SessionTNLInfoNGRAN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MBSSessionReleaseResponseTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSSessionReleaseResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionSetupOrModResponseTransfer ::= SEQUENCE {
+ mBS-SessionTNLInfoNGRAN MBS-SessionTNLInfoNGRAN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MBSSessionSetupOrModResponseTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSSessionSetupOrModResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-SupportIndicator ::= ENUMERATED {
+ true,
+ ...
+}
+
+MBS-SessionTNLInfo5GC ::= CHOICE {
+ locationindependent SharedNGU-MulticastTNLInformation,
+ locationdependent MBS-SessionTNLInfo5GCList,
+ choice-Extensions ProtocolIE-SingleContainer { {MBS-SessionTNLInfo5GC-ExtIEs} }
+}
+
+MBS-SessionTNLInfo5GC-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MBS-SessionTNLInfo5GCList ::= SEQUENCE (SIZE(1..maxnoofMBSServiceAreaInformation)) OF MBS-SessionTNLInfo5GCItem
+
+MBS-SessionTNLInfo5GCItem ::= SEQUENCE {
+ mBS-AreaSessionID MBS-AreaSessionID,
+ sharedNGU-MulticastTNLInformation SharedNGU-MulticastTNLInformation,
+ iE-Extensions ProtocolExtensionContainer { {MBS-SessionTNLInfo5GCItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-SessionTNLInfo5GCItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-SessionTNLInfoNGRAN ::= CHOICE {
+ locationindependent UPTransportLayerInformation,
+ locationdependent MBS-SessionTNLInfoNGRANList,
+ choice-Extensions ProtocolIE-SingleContainer { {MBS-SessionTNLInfoNGRAN-ExtIEs} }
+}
+
+MBS-SessionTNLInfoNGRAN-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MBS-SessionTNLInfoNGRANList ::= SEQUENCE (SIZE(1..maxnoofMBSServiceAreaInformation)) OF MBS-SessionTNLInfoNGRANItem
+
+MBS-SessionTNLInfoNGRANItem ::= SEQUENCE {
+ mBS-AreaSessionID MBS-AreaSessionID,
+ sharedNGU-UnicastTNLInformation UPTransportLayerInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MBS-SessionTNLInfoNGRANItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-SessionTNLInfoNGRANItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-DistributionReleaseRequestTransfer ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-AreaSessionID MBS-AreaSessionID OPTIONAL,
+ sharedNGU-UnicastTNLInformation UPTransportLayerInformation OPTIONAL,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { MBS-DistributionReleaseRequesTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-DistributionReleaseRequesTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-DistributionSetupRequestTransfer ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-AreaSessionID MBS-AreaSessionID OPTIONAL,
+ sharedNGU-UnicastTNLInformation UPTransportLayerInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-DistributionSetupRequestTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-DistributionSetupRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-DistributionSetupResponseTransfer ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-AreaSessionID MBS-AreaSessionID OPTIONAL,
+ sharedNGU-MulticastTNLInformation MBS-SessionTNLInfo5GCItem OPTIONAL,
+ mBS-QoSFlowsToBeSetupList MBS-QoSFlowsToBeSetupList,
+ mBSSessionStatus MBSSessionStatus,
+ mBS-ServiceArea MBS-ServiceArea OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MBS-DistributionSetupResponseTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-DistributionSetupResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBS-DistributionSetupUnsuccessfulTransfer ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-AreaSessionID MBS-AreaSessionID OPTIONAL,
+ cause Cause,
+ criticalityDiagnostics CriticalityDiagnostics OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-DistributionSetupUnsuccessfulTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-DistributionSetupUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionSetupRequestList ::= SEQUENCE (SIZE(1..maxnoofMBSSessions)) OF MBSSessionSetupRequestItem
+
+MBSSessionSetupRequestItem ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-AreaSessionID MBS-AreaSessionID OPTIONAL,
+ associatedMBSQosFlowSetupRequestList AssociatedMBSQosFlowSetupRequestList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBSSessionSetupRequestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSSessionSetupRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionSetuporModifyRequestList ::= SEQUENCE (SIZE(1..maxnoofMBSSessions)) OF MBSSessionSetuporModifyRequestItem
+
+MBSSessionSetuporModifyRequestItem ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ mBS-AreaSessionID MBS-AreaSessionID OPTIONAL,
+ associatedMBSQosFlowSetuporModifyRequestList AssociatedMBSQosFlowSetuporModifyRequestList OPTIONAL,
+ mBS-QosFlowToReleaseList QosFlowListWithCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{MBSSessionSetuporModifyRequestItem-ExtIEs}} OPTIONAL,
+ ...
+}
+
+MBSSessionSetuporModifyRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBSSessionToReleaseList ::= SEQUENCE (SIZE(1..maxnoofMBSSessions)) OF MBSSessionToReleaseItem
+
+MBSSessionToReleaseItem ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { MBSSessionToReleaseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSSessionToReleaseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSSessionStatus ::= ENUMERATED {
+ activated,
+ deactivated,
+ ...
+}
+
+MicoAllPLMN ::= ENUMERATED {
+ true,
+ ...
+}
+
+
+MICOModeIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+MobilityInformation ::= BIT STRING (SIZE(16))
+
+MobilityRestrictionList ::= SEQUENCE {
+ servingPLMN PLMNIdentity,
+ equivalentPLMNs EquivalentPLMNs OPTIONAL,
+ rATRestrictions RATRestrictions OPTIONAL,
+ forbiddenAreaInformation ForbiddenAreaInformation OPTIONAL,
+ serviceAreaInformation ServiceAreaInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MobilityRestrictionList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MobilityRestrictionList-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-LastEUTRAN-PLMNIdentity CRITICALITY ignore EXTENSION PLMNIdentity PRESENCE optional }|
+ { ID id-CNTypeRestrictionsForServing CRITICALITY ignore EXTENSION CNTypeRestrictionsForServing PRESENCE optional }|
+ { ID id-CNTypeRestrictionsForEquivalent CRITICALITY ignore EXTENSION CNTypeRestrictionsForEquivalent PRESENCE optional }|
+ { ID id-NPN-MobilityInformation CRITICALITY reject EXTENSION NPN-MobilityInformation PRESENCE optional },
+ ...
+}
+
+MDT-AlignmentInfo ::= CHOICE {
+ s-basedMDT NGRANTraceID,
+ choice-Extensions ProtocolIE-SingleContainer { { MDT-AlignmentInfo-ExtIEs} }
+}
+
+MDT-AlignmentInfo-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMNIdentity
+
+MDTPLMNModificationList ::= SEQUENCE (SIZE(0..maxnoofMDTPLMNs)) OF PLMNIdentity
+
+MDT-Configuration ::= SEQUENCE {
+ mdt-Config-NR MDT-Configuration-NR OPTIONAL,
+ mdt-Config-EUTRA MDT-Configuration-EUTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MDT-Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDT-Configuration-NR ::= SEQUENCE {
+ mdt-Activation MDT-Activation,
+ areaScopeOfMDT AreaScopeOfMDT-NR,
+ mDTModeNr MDTModeNr,
+ signallingBasedMDTPLMNList MDTPLMNList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MDT-Configuration-NR-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDT-Configuration-EUTRA ::= SEQUENCE {
+ mdt-Activation MDT-Activation,
+ areaScopeOfMDT AreaScopeOfMDT-EUTRA,
+ mDTMode MDTModeEutra,
+ signallingBasedMDTPLMNList MDTPLMNList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-EUTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MDT-Configuration-EUTRA-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDT-Activation ::= ENUMERATED {
+ immediate-MDT-only,
+ logged-MDT-only,
+ immediate-MDT-and-Trace,
+ ...
+}
+
+MDTModeNr ::= CHOICE {
+ immediateMDTNr ImmediateMDTNr,
+ loggedMDTNr LoggedMDTNr,
+ choice-Extensions ProtocolIE-SingleContainer { {MDTModeNr-ExtIEs} }
+}
+
+MDTModeNr-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MDTModeEutra ::= OCTET STRING
+
+MeasurementsToActivate ::= BIT STRING(SIZE(8))
+
+MRB-ID ::= INTEGER (1..512, ...)
+
+MulticastSessionActivationRequestTransfer ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ iE-Extensions ProtocolExtensionContainer { { MulticastSessionActivationRequestTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastSessionActivationRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastSessionDeactivationRequestTransfer ::= SEQUENCE {
+ mBS-SessionID MBS-SessionID,
+ iE-Extensions ProtocolExtensionContainer { { MulticastSessionDeactivationRequestTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastSessionDeactivationRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticastSessionUpdateRequestTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastSessionUpdateRequestTransferIEs} },
+ ...
+}
+
+MulticastSessionUpdateRequestTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE optional }|
+ { ID id-MBS-QoSFlowsToBeSetupModList CRITICALITY reject TYPE MBS-QoSFlowsToBeSetupList PRESENCE optional }|
+ { ID id-MBS-QoSFlowToReleaseList CRITICALITY reject TYPE QosFlowListWithCause PRESENCE optional }|
+ { ID id-MBS-SessionTNLInfo5GC CRITICALITY reject TYPE MBS-SessionTNLInfo5GC PRESENCE optional },
+ ...
+}
+
+
+MulticastGroupPagingAreaList ::= SEQUENCE (SIZE(1..maxnoofPagingAreas)) OF MulticastGroupPagingAreaItem
+
+MulticastGroupPagingAreaItem ::= SEQUENCE {
+ multicastGroupPagingArea MulticastGroupPagingArea,
+ uE-PagingList UE-PagingList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MulticastGroupPagingAreaItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastGroupPagingAreaItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-AreaTAIList ::= SEQUENCE (SIZE(1..maxnoofTAIforPaging)) OF TAI
+
+MulticastGroupPagingArea ::= SEQUENCE {
+ mBS-AreaTAIList MBS-AreaTAIList,
+ iE-Extensions ProtocolExtensionContainer { { MulticastGroupPagingArea-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MulticastGroupPagingArea-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-PagingList ::= SEQUENCE (SIZE(1..maxnoofUEsforPaging)) OF UE-PagingItem
+
+UE-PagingItem ::= SEQUENCE {
+ uEIdentityIndexValue UEIdentityIndexValue,
+ pagingDRX PagingDRX OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-PagingItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-PagingItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M1Configuration ::= SEQUENCE {
+ m1reportingTrigger M1ReportingTrigger,
+ m1thresholdEventA2 M1ThresholdEventA2 OPTIONAL,
+-- The above IE shall be present if the M1 Reporting Trigger IE is set to “A2event-triggered†or “A2event-triggered periodicâ€
+ m1periodicReporting M1PeriodicReporting OPTIONAL,
+-- The above IE shall be present if the M1 Reporting Trigger IE is set to “periodic†or “A2event-triggered periodicâ€
+ iE-Extensions ProtocolExtensionContainer { { M1Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IncludeBeamMeasurementsIndication CRITICALITY ignore EXTENSION IncludeBeamMeasurementsIndication PRESENCE optional }|
+ { ID id-BeamMeasurementsReportConfiguration CRITICALITY ignore EXTENSION BeamMeasurementsReportConfiguration PRESENCE conditional },
+-- The above IE shall be present if the IncludeBeamMeasurementsIndication IE is set to “trueâ€
+ ...
+}
+
+IncludeBeamMeasurementsIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+MaxNrofRS-IndexesToReport ::= INTEGER (1..64, ...)
+
+M1ReportingTrigger ::= ENUMERATED {
+ periodic,
+ a2eventtriggered,
+ a2eventtriggered-periodic,
+ ...
+}
+
+M1ThresholdEventA2 ::= SEQUENCE {
+ m1ThresholdType M1ThresholdType,
+ iE-Extensions ProtocolExtensionContainer { { M1ThresholdEventA2-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1ThresholdEventA2-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M1ThresholdType ::= CHOICE {
+ threshold-RSRP Threshold-RSRP,
+ threshold-RSRQ Threshold-RSRQ,
+ threshold-SINR Threshold-SINR,
+ choice-Extensions ProtocolIE-SingleContainer { {M1ThresholdType-ExtIEs} }
+}
+
+M1ThresholdType-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+M1PeriodicReporting ::= SEQUENCE {
+ reportInterval ReportIntervalMDT,
+ reportAmount ReportAmountMDT,
+ iE-Extensions ProtocolExtensionContainer { { M1PeriodicReporting-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1PeriodicReporting-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ExtendedReportIntervalMDT CRITICALITY ignore EXTENSION ExtendedReportIntervalMDT PRESENCE optional},
+ ...
+}
+
+M4Configuration ::= SEQUENCE {
+ m4period M4period,
+ m4-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M4Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M4Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-M4ReportAmount CRITICALITY ignore EXTENSION M4ReportAmountMDT PRESENCE optional },
+ ...
+}
+
+M4ReportAmountMDT ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity, ...}
+
+M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+M5Configuration ::= SEQUENCE {
+ m5period M5period,
+ m5-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M5Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M5Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-M5ReportAmount CRITICALITY ignore EXTENSION M5ReportAmountMDT PRESENCE optional },
+ ...
+}
+
+M5ReportAmountMDT ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity, ...}
+
+
+M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+M6Configuration ::= SEQUENCE {
+ m6report-Interval M6report-Interval,
+ m6-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M6Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-M6ReportAmount CRITICALITY ignore EXTENSION M6ReportAmountMDT PRESENCE optional }|
+ { ID id-ExcessPacketDelayThresholdConfiguration CRITICALITY ignore EXTENSION ExcessPacketDelayThresholdConfiguration PRESENCE optional },
+ ...
+}
+
+
+M6ReportAmountMDT ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity, ...}
+
+M6report-Interval ::= ENUMERATED {
+ ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, min1, min6, min12, min30,
+ ...
+}
+
+
+M7Configuration ::= SEQUENCE {
+ m7period M7period,
+ m7-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M7Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M7Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-M7ReportAmount CRITICALITY ignore EXTENSION M7ReportAmountMDT PRESENCE optional },
+ ...
+}
+
+M7ReportAmountMDT ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity, ...}
+
+M7period ::= INTEGER(1..60, ...)
+
+MDT-Location-Info ::= SEQUENCE {
+ mDT-Location-Information MDT-Location-Information,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Location-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MDT-Location-Info-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDT-Location-Information::= BIT STRING (SIZE (8))
+
+-- N
+
+N3IWF-ID ::= CHOICE {
+ n3IWF-ID BIT STRING (SIZE(16)),
+ choice-Extensions ProtocolIE-SingleContainer { {N3IWF-ID-ExtIEs} }
+}
+
+N3IWF-ID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NAS-PDU ::= OCTET STRING
+
+NASSecurityParametersFromNGRAN ::= OCTET STRING
+
+NB-IoT-DefaultPagingDRX ::= ENUMERATED {
+ rf128, rf256, rf512, rf1024,
+ ...
+}
+
+NB-IoT-PagingDRX ::= ENUMERATED {
+ rf32, rf64, rf128, rf256, rf512, rf1024,
+ ...
+}
+
+NB-IoT-Paging-eDRXCycle ::= ENUMERATED {
+ hf2, hf4, hf6, hf8, hf10, hf12, hf14, hf16, hf32, hf64, hf128, hf256, hf512, hf1024,
+ ...
+}
+
+NB-IoT-Paging-TimeWindow ::= ENUMERATED {
+ s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16,
+ ...
+}
+
+NB-IoT-Paging-eDRXInfo ::= SEQUENCE {
+ nB-IoT-Paging-eDRXCycle NB-IoT-Paging-eDRXCycle,
+ nB-IoT-Paging-TimeWindow NB-IoT-Paging-TimeWindow OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NB-IoT-Paging-eDRXInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NB-IoT-Paging-eDRXInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NB-IoT-UEPriority ::= INTEGER (0..255, ...)
+
+NetworkInstance ::= INTEGER (1..256, ...)
+
+NewSecurityContextInd ::= ENUMERATED {
+ true,
+ ...
+}
+
+NextHopChainingCount ::= INTEGER (0..7)
+
+NextPagingAreaScope ::= ENUMERATED {
+ same,
+ changed,
+ ...
+}
+
+NGAPIESupportInformationRequestList ::= SEQUENCE (SIZE(1.. maxnoofNGAPIESupportInfo)) OF NGAPIESupportInformationRequestItem
+
+NGAPIESupportInformationRequestItem ::= SEQUENCE {
+ ngap-ProtocolIE-Id ProtocolIE-ID,
+ iE-Extensions ProtocolExtensionContainer { { NGAPIESupportInformationRequestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NGAPIESupportInformationRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NGAPIESupportInformationResponseList ::= SEQUENCE (SIZE(1.. maxnoofNGAPIESupportInfo)) OF NGAPIESupportInformationResponseItem
+
+NGAPIESupportInformationResponseItem ::= SEQUENCE {
+ ngap-ProtocolIE-Id ProtocolIE-ID,
+ ngap-ProtocolIESupportInfo ENUMERATED {supported, not-supported, ...},
+ ngap-ProtocolIEPresenceInfo ENUMERATED {present, not-present, ...},
+ iE-Extensions ProtocolExtensionContainer { { NGAPIESupportInformationResponseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NGAPIESupportInformationResponseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NgENB-ID ::= CHOICE {
+ macroNgENB-ID BIT STRING (SIZE(20)),
+ shortMacroNgENB-ID BIT STRING (SIZE(18)),
+ longMacroNgENB-ID BIT STRING (SIZE(21)),
+ choice-Extensions ProtocolIE-SingleContainer { {NgENB-ID-ExtIEs} }
+}
+
+NgENB-ID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NotifySourceNGRANNode ::= ENUMERATED {
+ notifySource,
+ ...
+}
+
+NGRAN-CGI ::= CHOICE {
+ nR-CGI NR-CGI,
+ eUTRA-CGI EUTRA-CGI,
+ choice-Extensions ProtocolIE-SingleContainer { {NGRAN-CGI-ExtIEs} }
+}
+
+NGRAN-CGI-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NGRAN-TNLAssociationToRemoveList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF NGRAN-TNLAssociationToRemoveItem
+
+NGRAN-TNLAssociationToRemoveItem::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ tNLAssociationTransportLayerAddressAMF CPTransportLayerInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NGRAN-TNLAssociationToRemoveItem-ExtIEs} } OPTIONAL
+}
+
+NGRAN-TNLAssociationToRemoveItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NGRANTraceID ::= OCTET STRING (SIZE(8))
+
+NID ::= BIT STRING (SIZE(44))
+
+NonDynamic5QIDescriptor ::= SEQUENCE {
+ fiveQI FiveQI,
+ priorityLevelQos PriorityLevelQos OPTIONAL,
+ averagingWindow AveragingWindow OPTIONAL,
+ maximumDataBurstVolume MaximumDataBurstVolume OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NonDynamic5QIDescriptor-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NonDynamic5QIDescriptor-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CNPacketDelayBudgetDL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetUL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional },
+ ...
+}
+
+NotAllowedTACs ::= SEQUENCE (SIZE(1..maxnoofAllowedAreas)) OF TAC
+
+NotificationCause ::= ENUMERATED {
+ fulfilled,
+ not-fulfilled,
+ ...
+}
+
+NotificationControl ::= ENUMERATED {
+ notification-requested,
+ ...
+}
+
+NPN-AccessInformation ::= CHOICE {
+ pNI-NPN-Access-Information CellCAGList,
+ choice-Extensions ProtocolIE-SingleContainer { {NPN-AccessInformation-ExtIEs} }
+}
+
+NPN-AccessInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPN-MobilityInformation ::= CHOICE {
+ sNPN-MobilityInformation SNPN-MobilityInformation,
+ pNI-NPN-MobilityInformation PNI-NPN-MobilityInformation,
+ choice-Extensions ProtocolIE-SingleContainer { {NPN-MobilityInformation-ExtIEs} }
+}
+
+NPN-MobilityInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+NPN-PagingAssistanceInformation ::= CHOICE {
+ pNI-NPN-PagingAssistance Allowed-PNI-NPN-List,
+ choice-Extensions ProtocolIE-SingleContainer { {NPN-PagingAssistanceInformation-ExtIEs} }
+}
+
+NPN-PagingAssistanceInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPN-Support ::= CHOICE {
+ sNPN NID,
+ choice-Extensions ProtocolIE-SingleContainer { {NPN-Support-ExtIEs} }
+}
+
+NPN-Support-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NRCellIdentity ::= BIT STRING (SIZE(36))
+
+NR-CGI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ nRCellIdentity NRCellIdentity,
+ iE-Extensions ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-CGI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-CGIList ::= SEQUENCE (SIZE(1..maxnoofCellsingNB)) OF NR-CGI
+
+NR-CGIListForWarning ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF NR-CGI
+
+NR-PagingeDRXInformation ::= SEQUENCE {
+ nR-paging-eDRX-Cycle NR-Paging-eDRX-Cycle,
+ nR-paging-Time-Window NR-Paging-Time-Window OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NR-PagingeDRXInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-PagingeDRXInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-Paging-eDRX-Cycle ::= ENUMERATED {
+ hfquarter, hfhalf, hf1, hf2, hf4, hf8, hf16,
+ hf32, hf64, hf128, hf256, hf512, hf1024,
+ ...
+}
+
+NR-Paging-Time-Window ::= ENUMERATED {
+ s1, s2, s3, s4, s5,
+ s6, s7, s8, s9, s10,
+ s11, s12, s13, s14, s15, s16,
+ ...,
+ s17, s18, s19, s20, s21, s22, s23, s24,
+ s25, s26, s27, s28, s29, s30, s31, s32
+}
+
+NRencryptionAlgorithms ::= BIT STRING (SIZE(16, ...))
+
+NRintegrityProtectionAlgorithms ::= BIT STRING (SIZE(16, ...))
+
+NRMobilityHistoryReport ::= OCTET STRING
+
+NRPPa-PDU ::= OCTET STRING
+
+NRUERLFReportContainer ::= OCTET STRING
+
+NRNTNTAIInformation ::= SEQUENCE {
+ servingPLMN PLMNIdentity,
+ tACListInNRNTN TACListInNRNTN,
+ uELocationDerivedTACInNRNTN TAC OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NRNTNTAIInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRNTNTAIInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NumberOfBroadcasts ::= INTEGER (0..65535)
+
+NumberOfBroadcastsRequested ::= INTEGER (0..65535)
+
+NRARFCN ::= INTEGER (0.. maxNRARFCN)
+
+NRFrequencyBand ::= INTEGER (1..1024, ...)
+
+NRFrequencyBand-List ::= SEQUENCE (SIZE(1..maxnoofNRCellBands)) OF NRFrequencyBandItem
+
+NRFrequencyBandItem ::= SEQUENCE {
+ nr-frequency-band NRFrequencyBand,
+ iE-Extension ProtocolExtensionContainer { {NRFrequencyBandItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRFrequencyBandItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRFrequencyInfo ::= SEQUENCE {
+ nrARFCN NRARFCN,
+ frequencyBand-List NRFrequencyBand-List,
+ iE-Extension ProtocolExtensionContainer { {NRFrequencyInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRFrequencyInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-PCI ::= INTEGER (0..1007, ...)
+
+NRV2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+ pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NRV2XServicesAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRV2XServicesAuthorized-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+VehicleUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+PedestrianUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+NRUESidelinkAggregateMaximumBitrate ::= SEQUENCE {
+ uESidelinkAggregateMaximumBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {NRUESidelinkAggregateMaximumBitrate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRUESidelinkAggregateMaximumBitrate-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NSAG-ID ::= INTEGER (0..255, ...)
+
+-- O
+
+OnboardingSupport ::= ENUMERATED {
+ true,
+ ...
+}
+
+OverloadAction ::= ENUMERATED {
+ reject-non-emergency-mo-dt,
+ reject-rrc-cr-signalling,
+ permit-emergency-sessions-and-mobile-terminated-services-only,
+ permit-high-priority-sessions-and-mobile-terminated-services-only,
+ ...
+}
+
+OverloadResponse ::= CHOICE {
+ overloadAction OverloadAction,
+ choice-Extensions ProtocolIE-SingleContainer { {OverloadResponse-ExtIEs} }
+}
+
+OverloadResponse-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+OverloadStartNSSAIList ::= SEQUENCE (SIZE (1..maxnoofSliceItems)) OF OverloadStartNSSAIItem
+
+OverloadStartNSSAIItem ::= SEQUENCE {
+ sliceOverloadList SliceOverloadList,
+ sliceOverloadResponse OverloadResponse OPTIONAL,
+ sliceTrafficLoadReductionIndication TrafficLoadReductionIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {OverloadStartNSSAIItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+OverloadStartNSSAIItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- P
+
+PacketDelayBudget ::= INTEGER (0..1023, ...)
+
+PacketErrorRate ::= SEQUENCE {
+ pERScalar INTEGER (0..9, ...),
+ pERExponent INTEGER (0..9, ...),
+ iE-Extensions ProtocolExtensionContainer { {PacketErrorRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PacketErrorRate-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PacketLossRate ::= INTEGER (0..1000, ...)
+
+PagingAssisDataforCEcapabUE ::= SEQUENCE {
+ eUTRA-CGI EUTRA-CGI,
+ coverageEnhancementLevel CoverageEnhancementLevel,
+ iE-Extensions ProtocolExtensionContainer { { PagingAssisDataforCEcapabUE-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PagingAssisDataforCEcapabUE-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PagingAttemptInformation ::= SEQUENCE {
+ pagingAttemptCount PagingAttemptCount,
+ intendedNumberOfPagingAttempts IntendedNumberOfPagingAttempts,
+ nextPagingAreaScope NextPagingAreaScope OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PagingAttemptInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PagingAttemptInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PagingAttemptCount ::= INTEGER (1..16, ...)
+
+PagingCause ::= ENUMERATED {
+ voice,
+ ...
+}
+
+PagingCauseIndicationForVoiceService ::= ENUMERATED {
+ supported,
+ ...
+}
+
+PagingDRX ::= ENUMERATED {
+ v32,
+ v64,
+ v128,
+ v256,
+ ...
+}
+
+PagingOrigin ::= ENUMERATED {
+ non-3gpp,
+ ...
+}
+
+PagingPriority ::= ENUMERATED {
+ priolevel1,
+ priolevel2,
+ priolevel3,
+ priolevel4,
+ priolevel5,
+ priolevel6,
+ priolevel7,
+ priolevel8,
+ ...
+}
+
+PagingProbabilityInformation ::= ENUMERATED {
+ p00, p05, p10, p15, p20, p25, p30, p35, p40, p45, p50, p55, p60, p65, p70, p75, p80, p85, p90, p95, p100,
+ ...
+}
+
+PathSwitchRequestAcknowledgeTransfer ::= SEQUENCE {
+ uL-NGU-UP-TNLInformation UPTransportLayerInformation OPTIONAL,
+ securityIndication SecurityIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PathSwitchRequestAcknowledgeTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PathSwitchRequestAcknowledgeTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional }|
+ { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }|
+ { ID id-AdditionalRedundantNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional }|
+ { ID id-QosFlowParametersList CRITICALITY ignore EXTENSION QosFlowParametersList PRESENCE optional },
+ ...
+}
+
+PathSwitchRequestSetupFailedTransfer ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {PathSwitchRequestSetupFailedTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PathSwitchRequestSetupFailedTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PathSwitchRequestTransfer ::= SEQUENCE {
+ dL-NGU-UP-TNLInformation UPTransportLayerInformation,
+ dL-NGU-TNLInformationReused DL-NGU-TNLInformationReused OPTIONAL,
+ userPlaneSecurityInformation UserPlaneSecurityInformation OPTIONAL,
+ qosFlowAcceptedList QosFlowAcceptedList,
+ iE-Extensions ProtocolExtensionContainer { {PathSwitchRequestTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PathSwitchRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }|
+ { ID id-RedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }|
+ { ID id-RedundantDL-NGU-TNLInformationReused CRITICALITY ignore EXTENSION DL-NGU-TNLInformationReused PRESENCE optional }|
+ { ID id-AdditionalRedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }|
+ { ID id-UsedRSNInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional }|
+ { ID id-GlobalRANNodeID CRITICALITY ignore EXTENSION GlobalRANNodeID PRESENCE optional }|
+ { ID id-MBS-SupportIndicator CRITICALITY ignore EXTENSION MBS-SupportIndicator PRESENCE optional },
+ ...
+}
+
+PathSwitchRequestUnsuccessfulTransfer ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {PathSwitchRequestUnsuccessfulTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PathSwitchRequestUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5QoSParameters ::= SEQUENCE {
+ pc5QoSFlowList PC5QoSFlowList,
+ pc5LinkAggregateBitRates BitRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5QoSParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5QoSParameters-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofPC5QoSFlows)) OF PC5QoSFlowItem
+
+PC5QoSFlowItem::= SEQUENCE {
+ pQI FiveQI,
+ pc5FlowBitRates PC5FlowBitRates OPTIONAL,
+ range Range OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5QoSFlowItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5QoSFlowItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5FlowBitRates ::= SEQUENCE {
+ guaranteedFlowBitRate BitRate,
+ maximumFlowBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { { PC5FlowBitRates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5FlowBitRates-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PCIListForMDT ::= SEQUENCE (SIZE(1.. maxnoofNeighPCIforMDT)) OF NR-PCI
+
+PrivacyIndicator ::= ENUMERATED {
+ immediate-MDT,
+ logged-MDT,
+ ...
+}
+
+PDUSessionAggregateMaximumBitRate ::= SEQUENCE {
+ pDUSessionAggregateMaximumBitRateDL BitRate,
+ pDUSessionAggregateMaximumBitRateUL BitRate,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionAggregateMaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionAggregateMaximumBitRate-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionID ::= INTEGER (0..255)
+
+PDUSessionPairID ::= INTEGER (0..255, ...)
+
+PDUSessionResourceAdmittedList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceAdmittedItem
+
+PDUSessionResourceAdmittedItem ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ handoverRequestAcknowledgeTransfer OCTET STRING (CONTAINING HandoverRequestAcknowledgeTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceAdmittedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceAdmittedItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceFailedToModifyListModCfm ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToModifyItemModCfm
+
+PDUSessionResourceFailedToModifyItemModCfm ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceModifyIndicationUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyIndicationUnsuccessfulTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToModifyItemModCfm-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceFailedToModifyItemModCfm-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceFailedToModifyListModRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToModifyItemModRes
+
+PDUSessionResourceFailedToModifyItemModRes ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceModifyUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyUnsuccessfulTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToModifyItemModRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceFailedToModifyItemModRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceFailedToResumeListRESReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToResumeItemRESReq
+
+PDUSessionResourceFailedToResumeItemRESReq ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToResumeItemRESReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceFailedToResumeItemRESReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSessionResourceFailedToResumeListRESRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToResumeItemRESRes
+
+PDUSessionResourceFailedToResumeItemRESRes ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToResumeItemRESRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceFailedToResumeItemRESRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceFailedToSetupListCxtFail ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemCxtFail
+
+PDUSessionResourceFailedToSetupItemCxtFail ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceSetupUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupUnsuccessfulTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemCxtFail-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceFailedToSetupItemCxtFail-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceFailedToSetupListCxtRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemCxtRes
+
+PDUSessionResourceFailedToSetupItemCxtRes ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceSetupUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupUnsuccessfulTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemCxtRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceFailedToSetupItemCxtRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceFailedToSetupListHOAck ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemHOAck
+
+PDUSessionResourceFailedToSetupItemHOAck ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ handoverResourceAllocationUnsuccessfulTransfer OCTET STRING (CONTAINING HandoverResourceAllocationUnsuccessfulTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemHOAck-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceFailedToSetupItemHOAck-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceFailedToSetupListPSReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemPSReq
+
+PDUSessionResourceFailedToSetupItemPSReq ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pathSwitchRequestSetupFailedTransfer OCTET STRING (CONTAINING PathSwitchRequestSetupFailedTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemPSReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceFailedToSetupItemPSReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceFailedToSetupListSURes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemSURes
+
+PDUSessionResourceFailedToSetupItemSURes ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceSetupUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupUnsuccessfulTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemSURes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceFailedToSetupItemSURes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceHandoverList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceHandoverItem
+
+PDUSessionResourceHandoverItem ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ handoverCommandTransfer OCTET STRING (CONTAINING HandoverCommandTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceHandoverItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceHandoverItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceInformationList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceInformationItem
+
+PDUSessionResourceInformationItem ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ qosFlowInformationList QosFlowInformationList,
+ dRBsToQosFlowsMappingList DRBsToQosFlowsMappingList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceListCxtRelCpl ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceItemCxtRelCpl
+
+PDUSessionResourceItemCxtRelCpl ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceItemCxtRelCpl-ExtIEs} } OPTIONAL,
+ ...
+}
+
+-- WS modification: define a dedicated type
+PDUSessionResourceReleaseResponseTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING PDUSessionResourceReleaseResponseTransfer)
+
+PDUSessionResourceItemCxtRelCpl-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+-- WS modification: define a dedicated type
+-- { ID id-PDUSessionResourceReleaseResponseTransfer CRITICALITY ignore EXTENSION OCTET STRING (CONTAINING PDUSessionResourceReleaseResponseTransfer) PRESENCE optional },
+ { ID id-PDUSessionResourceReleaseResponseTransfer CRITICALITY ignore EXTENSION PDUSessionResourceReleaseResponseTransfer-OCTET-STRING PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceListCxtRelReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceItemCxtRelReq
+
+PDUSessionResourceItemCxtRelReq ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceItemCxtRelReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceItemCxtRelReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceListHORqd ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceItemHORqd
+
+PDUSessionResourceItemHORqd ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ handoverRequiredTransfer OCTET STRING (CONTAINING HandoverRequiredTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceItemHORqd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceItemHORqd-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceModifyConfirmTransfer ::= SEQUENCE {
+ qosFlowModifyConfirmList QosFlowModifyConfirmList,
+ uLNGU-UP-TNLInformation UPTransportLayerInformation,
+ additionalNG-UUPTNLInformation UPTransportLayerInformationPairList OPTIONAL,
+ qosFlowFailedToModifyList QosFlowListWithCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyConfirmTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModifyConfirmTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }|
+ { ID id-AdditionalRedundantNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceModifyIndicationUnsuccessfulTransfer ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyIndicationUnsuccessfulTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModifyIndicationUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceModifyRequestTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyRequestTransferIEs} },
+ ...
+}
+
+PDUSessionResourceModifyRequestTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-PDUSessionAggregateMaximumBitRate CRITICALITY reject TYPE PDUSessionAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-UL-NGU-UP-TNLModifyList CRITICALITY reject TYPE UL-NGU-UP-TNLModifyList PRESENCE optional }|
+ { ID id-NetworkInstance CRITICALITY reject TYPE NetworkInstance PRESENCE optional }|
+ { ID id-QosFlowAddOrModifyRequestList CRITICALITY reject TYPE QosFlowAddOrModifyRequestList PRESENCE optional }|
+ { ID id-QosFlowToReleaseList CRITICALITY reject TYPE QosFlowListWithCause PRESENCE optional }|
+ { ID id-AdditionalUL-NGU-UP-TNLInformation CRITICALITY reject TYPE UPTransportLayerInformationList PRESENCE optional }|
+ { ID id-CommonNetworkInstance CRITICALITY ignore TYPE CommonNetworkInstance PRESENCE optional }|
+ { ID id-AdditionalRedundantUL-NGU-UP-TNLInformation CRITICALITY ignore TYPE UPTransportLayerInformationList PRESENCE optional }|
+ { ID id-RedundantCommonNetworkInstance CRITICALITY ignore TYPE CommonNetworkInstance PRESENCE optional }|
+ { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore TYPE UPTransportLayerInformation PRESENCE optional }|
+ { ID id-SecurityIndication CRITICALITY ignore TYPE SecurityIndication PRESENCE optional }|
+ { ID id-MBSSessionSetuporModifyRequestList CRITICALITY ignore TYPE MBSSessionSetuporModifyRequestList PRESENCE optional }|
+ { ID id-MBSSessionToReleaseList CRITICALITY ignore TYPE MBSSessionToReleaseList PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceModifyResponseTransfer ::= SEQUENCE {
+ dL-NGU-UP-TNLInformation UPTransportLayerInformation OPTIONAL,
+ uL-NGU-UP-TNLInformation UPTransportLayerInformation OPTIONAL,
+ qosFlowAddOrModifyResponseList QosFlowAddOrModifyResponseList OPTIONAL,
+ additionalDLQosFlowPerTNLInformation QosFlowPerTNLInformationList OPTIONAL,
+ qosFlowFailedToAddOrModifyList QosFlowListWithCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyResponseTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModifyResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional }|
+ { ID id-RedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }|
+ { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }|
+ { ID id-AdditionalRedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }|
+ { ID id-AdditionalRedundantNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional }|
+ { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional }|
+ { ID id-MBS-SupportIndicator CRITICALITY ignore EXTENSION MBS-SupportIndicator PRESENCE optional }|
+ { ID id-MBSSessionSetuporModifyResponseList CRITICALITY ignore EXTENSION MBSSessionSetupResponseList PRESENCE optional }|
+ { ID id-MBSSessionFailedtoSetuporModifyList CRITICALITY ignore EXTENSION MBSSessionFailedtoSetupList PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceModifyIndicationTransfer ::= SEQUENCE {
+ dLQosFlowPerTNLInformation QosFlowPerTNLInformation,
+ additionalDLQosFlowPerTNLInformation QosFlowPerTNLInformationList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyIndicationTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModifyIndicationTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional }|
+ { ID id-SecurityResult CRITICALITY ignore EXTENSION SecurityResult PRESENCE optional }|
+ { ID id-RedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformation PRESENCE optional }|
+ { ID id-AdditionalRedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }|
+ { ID id-GlobalRANNodeID CRITICALITY ignore EXTENSION GlobalRANNodeID PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceModifyListModCfm ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceModifyItemModCfm
+
+PDUSessionResourceModifyItemModCfm ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceModifyConfirmTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyConfirmTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyItemModCfm-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModifyItemModCfm-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceModifyListModInd ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceModifyItemModInd
+
+PDUSessionResourceModifyItemModInd ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceModifyIndicationTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyIndicationTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyItemModInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModifyItemModInd-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceModifyListModReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceModifyItemModReq
+
+PDUSessionResourceModifyItemModReq ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ nAS-PDU NAS-PDU OPTIONAL,
+ pDUSessionResourceModifyRequestTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyRequestTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyItemModReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModifyItemModReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-S-NSSAI CRITICALITY reject EXTENSION S-NSSAI PRESENCE optional }|
+ { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceModifyListModRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceModifyItemModRes
+
+PDUSessionResourceModifyItemModRes ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceModifyResponseTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyResponseTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyItemModRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModifyItemModRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceModifyUnsuccessfulTransfer ::= SEQUENCE {
+ cause Cause,
+ criticalityDiagnostics CriticalityDiagnostics OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyUnsuccessfulTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModifyUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceNotifyList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceNotifyItem
+
+PDUSessionResourceNotifyItem ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceNotifyTransfer OCTET STRING (CONTAINING PDUSessionResourceNotifyTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceNotifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceNotifyItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceNotifyReleasedTransfer ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceNotifyReleasedTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceNotifyReleasedTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceNotifyTransfer ::= SEQUENCE {
+ qosFlowNotifyList QosFlowNotifyList OPTIONAL,
+ qosFlowReleasedList QosFlowListWithCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceNotifyTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceNotifyTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional }|
+ { ID id-QosFlowFeedbackList CRITICALITY ignore EXTENSION QosFlowFeedbackList PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceReleaseCommandTransfer ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleaseCommandTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceReleaseCommandTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceReleasedListNot ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceReleasedItemNot
+
+PDUSessionResourceReleasedItemNot ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceNotifyReleasedTransfer OCTET STRING (CONTAINING PDUSessionResourceNotifyReleasedTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleasedItemNot-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceReleasedItemNot-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceReleasedListPSAck ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceReleasedItemPSAck
+
+PDUSessionResourceReleasedItemPSAck ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pathSwitchRequestUnsuccessfulTransfer OCTET STRING (CONTAINING PathSwitchRequestUnsuccessfulTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleasedItemPSAck-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceReleasedItemPSAck-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceReleasedListPSFail ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceReleasedItemPSFail
+
+PDUSessionResourceReleasedItemPSFail ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pathSwitchRequestUnsuccessfulTransfer OCTET STRING (CONTAINING PathSwitchRequestUnsuccessfulTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleasedItemPSFail-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceReleasedItemPSFail-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceReleasedListRelRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceReleasedItemRelRes
+
+PDUSessionResourceReleasedItemRelRes ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceReleaseResponseTransfer OCTET STRING (CONTAINING PDUSessionResourceReleaseResponseTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleasedItemRelRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceReleasedItemRelRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceReleaseResponseTransfer ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleaseResponseTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceReleaseResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceResumeListRESReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceResumeItemRESReq
+
+PDUSessionResourceResumeItemRESReq ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ uEContextResumeRequestTransfer OCTET STRING (CONTAINING UEContextResumeRequestTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceResumeItemRESReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceResumeItemRESReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceResumeListRESRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceResumeItemRESRes
+
+PDUSessionResourceResumeItemRESRes ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ uEContextResumeResponseTransfer OCTET STRING (CONTAINING UEContextResumeResponseTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceResumeItemRESRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceResumeItemRESRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceSecondaryRATUsageList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSecondaryRATUsageItem
+
+PDUSessionResourceSecondaryRATUsageItem ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ secondaryRATDataUsageReportTransfer OCTET STRING (CONTAINING SecondaryRATDataUsageReportTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSecondaryRATUsageItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSecondaryRATUsageItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceSetupListCxtReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemCxtReq
+
+PDUSessionResourceSetupItemCxtReq ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ nAS-PDU NAS-PDU OPTIONAL,
+ s-NSSAI S-NSSAI,
+ pDUSessionResourceSetupRequestTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupRequestTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemCxtReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupItemCxtReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceSetupListCxtRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemCxtRes
+
+PDUSessionResourceSetupItemCxtRes ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceSetupResponseTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupResponseTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemCxtRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupItemCxtRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceSetupListHOReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemHOReq
+
+PDUSessionResourceSetupItemHOReq ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ s-NSSAI S-NSSAI,
+ handoverRequestTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupRequestTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemHOReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupItemHOReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceSetupListSUReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemSUReq
+
+PDUSessionResourceSetupItemSUReq ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionNAS-PDU NAS-PDU OPTIONAL,
+ s-NSSAI S-NSSAI,
+ pDUSessionResourceSetupRequestTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupRequestTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemSUReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupItemSUReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceSetupListSURes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemSURes
+
+PDUSessionResourceSetupItemSURes ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceSetupResponseTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupResponseTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemSURes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupItemSURes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceSetupRequestTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceSetupRequestTransferIEs} },
+ ...
+}
+
+PDUSessionResourceSetupRequestTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-PDUSessionAggregateMaximumBitRate CRITICALITY reject TYPE PDUSessionAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-UL-NGU-UP-TNLInformation CRITICALITY reject TYPE UPTransportLayerInformation PRESENCE mandatory }|
+ { ID id-AdditionalUL-NGU-UP-TNLInformation CRITICALITY reject TYPE UPTransportLayerInformationList PRESENCE optional }|
+ { ID id-DataForwardingNotPossible CRITICALITY reject TYPE DataForwardingNotPossible PRESENCE optional }|
+ { ID id-PDUSessionType CRITICALITY reject TYPE PDUSessionType PRESENCE mandatory }|
+ { ID id-SecurityIndication CRITICALITY reject TYPE SecurityIndication PRESENCE optional }|
+ { ID id-NetworkInstance CRITICALITY reject TYPE NetworkInstance PRESENCE optional }|
+ { ID id-QosFlowSetupRequestList CRITICALITY reject TYPE QosFlowSetupRequestList PRESENCE mandatory }|
+ { ID id-CommonNetworkInstance CRITICALITY ignore TYPE CommonNetworkInstance PRESENCE optional }|
+ { ID id-DirectForwardingPathAvailability CRITICALITY ignore TYPE DirectForwardingPathAvailability PRESENCE optional }|
+ { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore TYPE UPTransportLayerInformation PRESENCE optional }|
+ { ID id-AdditionalRedundantUL-NGU-UP-TNLInformation CRITICALITY ignore TYPE UPTransportLayerInformationList PRESENCE optional }|
+ { ID id-RedundantCommonNetworkInstance CRITICALITY ignore TYPE CommonNetworkInstance PRESENCE optional }|
+ { ID id-RedundantPDUSessionInformation CRITICALITY ignore TYPE RedundantPDUSessionInformation PRESENCE optional }|
+ { ID id-MBSSessionSetupRequestList CRITICALITY ignore TYPE MBSSessionSetupRequestList PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceSetupResponseTransfer ::= SEQUENCE {
+ dLQosFlowPerTNLInformation QosFlowPerTNLInformation,
+ additionalDLQosFlowPerTNLInformation QosFlowPerTNLInformationList OPTIONAL,
+ securityResult SecurityResult OPTIONAL,
+ qosFlowFailedToSetupList QosFlowListWithCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupResponseTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformation PRESENCE optional }|
+ { ID id-AdditionalRedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }|
+ { ID id-UsedRSNInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional }|
+ { ID id-GlobalRANNodeID CRITICALITY ignore EXTENSION GlobalRANNodeID PRESENCE optional }|
+ { ID id-MBS-SupportIndicator CRITICALITY ignore EXTENSION MBS-SupportIndicator PRESENCE optional }|
+ { ID id-MBSSessionSetupResponseList CRITICALITY ignore EXTENSION MBSSessionSetupResponseList PRESENCE optional }|
+ { ID id-MBSSessionFailedtoSetupList CRITICALITY ignore EXTENSION MBSSessionFailedtoSetupList PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceSetupUnsuccessfulTransfer ::= SEQUENCE {
+ cause Cause,
+ criticalityDiagnostics CriticalityDiagnostics OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupUnsuccessfulTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceSuspendListSUSReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSuspendItemSUSReq
+
+PDUSessionResourceSuspendItemSUSReq ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ uEContextSuspendRequestTransfer OCTET STRING (CONTAINING UEContextSuspendRequestTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSuspendItemSUSReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSuspendItemSUSReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceSwitchedList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSwitchedItem
+
+PDUSessionResourceSwitchedItem ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pathSwitchRequestAcknowledgeTransfer OCTET STRING (CONTAINING PathSwitchRequestAcknowledgeTransfer),
+ iE-Extensions ProtocolExtensionContainer { { PDUSessionResourceSwitchedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSwitchedItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional },
+ ...
+}
+
+PDUSessionResourceToBeSwitchedDLList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceToBeSwitchedDLItem
+
+PDUSessionResourceToBeSwitchedDLItem ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pathSwitchRequestTransfer OCTET STRING (CONTAINING PathSwitchRequestTransfer),
+ iE-Extensions ProtocolExtensionContainer { { PDUSessionResourceToBeSwitchedDLItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceToBeSwitchedDLItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceToReleaseListHOCmd ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceToReleaseItemHOCmd
+
+PDUSessionResourceToReleaseItemHOCmd ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ handoverPreparationUnsuccessfulTransfer OCTET STRING (CONTAINING HandoverPreparationUnsuccessfulTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceToReleaseItemHOCmd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceToReleaseItemHOCmd-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionResourceToReleaseListRelCmd ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceToReleaseItemRelCmd
+
+PDUSessionResourceToReleaseItemRelCmd ::= SEQUENCE {
+ pDUSessionID PDUSessionID,
+ pDUSessionResourceReleaseCommandTransfer OCTET STRING (CONTAINING PDUSessionResourceReleaseCommandTransfer),
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceToReleaseItemRelCmd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceToReleaseItemRelCmd-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+PDUSessionType ::= ENUMERATED {
+ ipv4,
+ ipv6,
+ ipv4v6,
+ ethernet,
+ unstructured,
+ ...
+}
+
+PDUSessionUsageReport ::= SEQUENCE {
+ rATType ENUMERATED {nr, eutra, ..., nr-unlicensed, e-utra-unlicensed},
+ pDUSessionTimedReportList VolumeTimedReportList,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionUsageReport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionUsageReport-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PEIPSassistanceInformation ::= SEQUENCE {
+ cNsubgroupID CNsubgroupID,
+ iE-Extensions ProtocolExtensionContainer { {PEIPSassistanceInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PEIPSassistanceInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Periodicity ::= INTEGER (0..640000, ...)
+
+PeriodicRegistrationUpdateTimer ::= BIT STRING (SIZE(8))
+
+PLMNIdentity ::= OCTET STRING (SIZE(3))
+
+PLMNAreaBasedQMC ::= SEQUENCE {
+ plmnListforQMC PLMNListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {PLMNAreaBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLMNAreaBasedQMC-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PLMNListforQMC ::= SEQUENCE (SIZE(1..maxnoofPLMNforQMC)) OF PLMNIdentity
+
+PLMNSupportList ::= SEQUENCE (SIZE(1..maxnoofPLMNs)) OF PLMNSupportItem
+
+PLMNSupportItem ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ sliceSupportList SliceSupportList,
+ iE-Extensions ProtocolExtensionContainer { {PLMNSupportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLMNSupportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-NPN-Support CRITICALITY reject EXTENSION NPN-Support PRESENCE optional }|
+ { ID id-ExtendedSliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional }|
+ { ID id-OnboardingSupport CRITICALITY ignore EXTENSION OnboardingSupport PRESENCE optional },
+ ...
+}
+
+PNI-NPN-MobilityInformation ::= SEQUENCE {
+ allowed-PNI-NPI-List Allowed-PNI-NPN-List,
+ iE-Extensions ProtocolExtensionContainer { {PNI-NPN-MobilityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PNI-NPN-MobilityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PortNumber ::= OCTET STRING (SIZE(2))
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption,
+ ...
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable,
+ ...
+}
+
+PriorityLevelARP ::= INTEGER (1..15)
+
+PriorityLevelQos ::= INTEGER (1..127, ...)
+
+PWSFailedCellIDList ::= CHOICE {
+ eUTRA-CGI-PWSFailedList EUTRA-CGIList,
+ nR-CGI-PWSFailedList NR-CGIList,
+ choice-Extensions ProtocolIE-SingleContainer { {PWSFailedCellIDList-ExtIEs} }
+}
+
+PWSFailedCellIDList-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- Q
+
+QMCConfigInfo ::= SEQUENCE {
+ uEAppLayerMeasInfoList UEAppLayerMeasInfoList,
+ iE-Extensions ProtocolExtensionContainer { { QMCConfigInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QMCConfigInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QMCDeactivation ::= SEQUENCE {
+ qoEReferenceList QoEReferenceList,
+ iE-Extensions ProtocolExtensionContainer { { QMCDeactivation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QMCDeactivation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoEReferenceList ::= SEQUENCE (SIZE(1..maxnoofUEAppLayerMeas)) OF QoEReference
+
+QoEReference ::= OCTET STRING (SIZE(6))
+
+QosCharacteristics ::= CHOICE {
+ nonDynamic5QI NonDynamic5QIDescriptor,
+ dynamic5QI Dynamic5QIDescriptor,
+ choice-Extensions ProtocolIE-SingleContainer { {QosCharacteristics-ExtIEs} }
+}
+
+QosCharacteristics-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+QosFlowAcceptedList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowAcceptedItem
+
+QosFlowAcceptedItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowAcceptedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowAcceptedItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetIndex PRESENCE optional },
+ ...
+}
+
+QosFlowAddOrModifyRequestList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowAddOrModifyRequestItem
+
+QosFlowAddOrModifyRequestItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ qosFlowLevelQosParameters QosFlowLevelQosParameters OPTIONAL,
+ e-RAB-ID E-RAB-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowAddOrModifyRequestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowAddOrModifyRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional }|
+ {ID id-RedundantQosFlowIndicator CRITICALITY ignore EXTENSION RedundantQosFlowIndicator PRESENCE optional },
+ ...
+}
+
+QosFlowAddOrModifyResponseList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowAddOrModifyResponseItem
+
+QosFlowAddOrModifyResponseItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowAddOrModifyResponseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowAddOrModifyResponseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetIndex PRESENCE optional },
+ ...
+}
+
+QosFlowFeedbackList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowFeedbackItem
+
+QosFlowFeedbackItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ updateFeedback UpdateFeedback OPTIONAL,
+ cNpacketDelayBudgetDL ExtendedPacketDelayBudget OPTIONAL,
+ cNpacketDelayBudgetUL ExtendedPacketDelayBudget OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowFeedbackItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowFeedbackItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QosFlowIdentifier ::= INTEGER (0..63, ...)
+
+QosFlowInformationList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowInformationItem
+
+QosFlowInformationItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ dLForwarding DLForwarding OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ULForwarding CRITICALITY ignore EXTENSION ULForwarding PRESENCE optional}|
+ {ID id-SourceTNLAddrInfo CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ {ID id-SourceNodeTNLAddrInfo CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+QosFlowLevelQosParameters ::= SEQUENCE {
+ qosCharacteristics QosCharacteristics,
+ allocationAndRetentionPriority AllocationAndRetentionPriority,
+ gBR-QosInformation GBR-QosInformation OPTIONAL,
+ reflectiveQosAttribute ReflectiveQosAttribute OPTIONAL,
+ additionalQosFlowInformation AdditionalQosFlowInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowLevelQosParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowLevelQosParameters-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-QosMonitoringRequest CRITICALITY ignore EXTENSION QosMonitoringRequest PRESENCE optional}|
+ {ID id-QosMonitoringReportingFrequency CRITICALITY ignore EXTENSION QosMonitoringReportingFrequency PRESENCE optional},
+ ...
+}
+
+
+QosMonitoringRequest ::= ENUMERATED {ul, dl, both, ..., stop}
+
+QosMonitoringReportingFrequency ::= INTEGER (1..1800, ...)
+
+QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowIdentifier
+
+QosFlowListWithCause ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowWithCauseItem
+
+QosFlowWithCauseItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowWithCauseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowWithCauseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QosFlowModifyConfirmList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowModifyConfirmItem
+
+QosFlowModifyConfirmItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowModifyConfirmItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowModifyConfirmItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QosFlowNotifyList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowNotifyItem
+
+QosFlowNotifyItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ notificationCause NotificationCause,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowNotifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowNotifyItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetNotifyIndex PRESENCE optional },
+ ...
+}
+QosFlowParametersList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowParametersItem
+
+QosFlowParametersItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ alternativeQoSParaSetList AlternativeQoSParaSetList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowParametersItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowParametersItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CNPacketDelayBudgetDL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-CNPacketDelayBudgetUL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }|
+ { ID id-BurstArrivalTimeDownlink CRITICALITY ignore EXTENSION BurstArrivalTime PRESENCE optional },
+ ...
+}
+
+QosFlowPerTNLInformation ::= SEQUENCE {
+ uPTransportLayerInformation UPTransportLayerInformation,
+ associatedQosFlowList AssociatedQosFlowList,
+ iE-Extensions ProtocolExtensionContainer { { QosFlowPerTNLInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowPerTNLInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QosFlowPerTNLInformationList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF QosFlowPerTNLInformationItem
+
+QosFlowPerTNLInformationItem ::= SEQUENCE {
+ qosFlowPerTNLInformation QosFlowPerTNLInformation,
+ iE-Extensions ProtocolExtensionContainer { { QosFlowPerTNLInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowPerTNLInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QosFlowSetupRequestList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowSetupRequestItem
+
+QosFlowSetupRequestItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ qosFlowLevelQosParameters QosFlowLevelQosParameters,
+ e-RAB-ID E-RAB-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowSetupRequestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowSetupRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional }|
+ {ID id-RedundantQosFlowIndicator CRITICALITY ignore EXTENSION RedundantQosFlowIndicator PRESENCE optional },
+ ...
+}
+
+QosFlowListWithDataForwarding ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowItemWithDataForwarding
+
+QosFlowItemWithDataForwarding ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ dataForwardingAccepted DataForwardingAccepted OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowItemWithDataForwarding-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowItemWithDataForwarding-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetIndex PRESENCE optional },
+ ...
+}
+
+QosFlowToBeForwardedList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowToBeForwardedItem
+
+QosFlowToBeForwardedItem ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {QosFlowToBeForwardedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QosFlowToBeForwardedItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoSFlowsUsageReportList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QoSFlowsUsageReport-Item
+
+QoSFlowsUsageReport-Item ::= SEQUENCE {
+ qosFlowIdentifier QosFlowIdentifier,
+ rATType ENUMERATED {nr, eutra, ..., nr-unlicensed, e-utra-unlicensed},
+ qoSFlowsTimedReportList VolumeTimedReportList,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsUsageReport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsUsageReport-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- R
+
+Range ::= ENUMERATED {m50, m80, m180, m200, m350, m400, m500, m700, m1000, ...}
+
+RANNodeName ::= PrintableString (SIZE(1..150, ...))
+
+RANNodeNameVisibleString ::= VisibleString (SIZE(1..150, ...))
+
+RANNodeNameUTF8String ::= UTF8String (SIZE(1..150, ...))
+
+RANPagingPriority ::= INTEGER (1..256)
+
+RANStatusTransfer-TransparentContainer ::= SEQUENCE {
+ dRBsSubjectToStatusTransferList DRBsSubjectToStatusTransferList,
+ iE-Extensions ProtocolExtensionContainer { {RANStatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RANStatusTransfer-TransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAN-UE-NGAP-ID ::= INTEGER (0..4294967295)
+
+RAT-Information ::= ENUMERATED {
+ unlicensed,
+ nb-IoT,
+ ...,
+ nR-LEO,
+ nR-MEO,
+ nR-GEO,
+ nR-OTHERSAT
+}
+
+RATRestrictions ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF RATRestrictions-Item
+
+RATRestrictions-Item ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ rATRestrictionInformation RATRestrictionInformation,
+ iE-Extensions ProtocolExtensionContainer { {RATRestrictions-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RATRestrictions-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedRATRestrictionInformation CRITICALITY ignore EXTENSION ExtendedRATRestrictionInformation PRESENCE optional },
+ ...
+}
+
+RATRestrictionInformation ::= BIT STRING (SIZE(8, ...))
+
+RecommendedCellsForPaging ::= SEQUENCE {
+ recommendedCellList RecommendedCellList,
+ iE-Extensions ProtocolExtensionContainer { {RecommendedCellsForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RecommendedCellsForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RecommendedCellList ::= SEQUENCE (SIZE(1..maxnoofRecommendedCells)) OF RecommendedCellItem
+
+RecommendedCellItem ::= SEQUENCE {
+ nGRAN-CGI NGRAN-CGI,
+ timeStayedInCell INTEGER (0..4095) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RecommendedCellItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RecommendedCellItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RecommendedRANNodesForPaging ::= SEQUENCE {
+ recommendedRANNodeList RecommendedRANNodeList,
+ iE-Extensions ProtocolExtensionContainer { {RecommendedRANNodesForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RecommendedRANNodesForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RecommendedRANNodeList::= SEQUENCE (SIZE(1..maxnoofRecommendedRANNodes)) OF RecommendedRANNodeItem
+
+RecommendedRANNodeItem ::= SEQUENCE {
+ aMFPagingTarget AMFPagingTarget,
+ iE-Extensions ProtocolExtensionContainer { {RecommendedRANNodeItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RecommendedRANNodeItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RedCapIndication ::= ENUMERATED {
+ redcap,
+ ...
+}
+
+RedirectionVoiceFallback ::= ENUMERATED {
+ possible,
+ not-possible,
+ ...
+}
+
+RedundantPDUSessionInformation ::= SEQUENCE {
+ rSN RSN,
+ iE-Extensions ProtocolExtensionContainer { {RedundantPDUSessionInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RedundantPDUSessionInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PDUSessionPairID CRITICALITY ignore EXTENSION PDUSessionPairID PRESENCE optional },
+ ...
+}
+
+RedundantQosFlowIndicator ::= ENUMERATED {true, false}
+
+ReflectiveQosAttribute ::= ENUMERATED {
+ subject-to,
+ ...
+}
+
+RelativeAMFCapacity ::= INTEGER (0..255)
+
+ReportArea ::= ENUMERATED {
+ cell,
+ ...
+}
+
+RepetitionPeriod ::= INTEGER (0..131071)
+
+ResetAll ::= ENUMERATED {
+ reset-all,
+ ...
+}
+
+ReportAmountMDT ::= ENUMERATED {
+ r1, r2, r4, r8, r16, r32, r64, rinfinity
+}
+
+ReportIntervalMDT ::= ENUMERATED {
+ ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60
+}
+
+ExtendedReportIntervalMDT ::= ENUMERATED {
+ ms20480, ms40960, ...
+}
+
+ResetType ::= CHOICE {
+ nG-Interface ResetAll,
+ partOfNG-Interface UE-associatedLogicalNG-connectionList,
+ choice-Extensions ProtocolIE-SingleContainer { {ResetType-ExtIEs} }
+}
+
+ResetType-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+RGLevelWirelineAccessCharacteristics ::= OCTET STRING
+
+RNC-ID ::= INTEGER (0..4095)
+
+RoutingID ::= OCTET STRING
+
+RRCContainer ::= OCTET STRING
+
+RRCEstablishmentCause ::= ENUMERATED {
+ emergency,
+ highPriorityAccess,
+ mt-Access,
+ mo-Signalling,
+ mo-Data,
+ mo-VoiceCall,
+ mo-VideoCall,
+ mo-SMS,
+ mps-PriorityAccess,
+ mcs-PriorityAccess,
+ ...,
+ notAvailable,
+ mo-ExceptionData
+}
+
+RRCInactiveTransitionReportRequest ::= ENUMERATED {
+ subsequent-state-transition-report,
+ single-rrc-connected-state-report,
+ cancel-report,
+ ...
+}
+
+RRCState ::= ENUMERATED {
+ inactive,
+ connected,
+ ...
+}
+
+RSN ::= ENUMERATED {v1, v2, ...}
+
+RIMInformationTransfer ::= SEQUENCE {
+ targetRANNodeID-RIM TargetRANNodeID-RIM,
+ sourceRANNodeID SourceRANNodeID,
+ rIMInformation RIMInformation,
+ iE-Extensions ProtocolExtensionContainer { {RIMInformationTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RIMInformationTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RIMInformation ::= SEQUENCE {
+ targetgNBSetID GNBSetID,
+ rIM-RSDetection ENUMERATED {rs-detected, rs-disappeared, ...},
+ iE-Extensions ProtocolExtensionContainer { {RIMInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RIMInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNBSetID ::= BIT STRING (SIZE(22))
+
+-- S
+
+ScheduledCommunicationTime ::= SEQUENCE {
+ dayofWeek BIT STRING (SIZE(7)) OPTIONAL,
+ timeofDayStart INTEGER (0..86399, ...) OPTIONAL,
+ timeofDayEnd INTEGER (0..86399, ...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ScheduledCommunicationTime-ExtIEs}} OPTIONAL,
+ ...
+}
+
+ScheduledCommunicationTime-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SCTP-TLAs ::= SEQUENCE (SIZE(1..maxnoofXnTLAs)) OF TransportLayerAddress
+
+SD ::= OCTET STRING (SIZE(3))
+
+SecondaryRATUsageInformation ::= SEQUENCE {
+ pDUSessionUsageReport PDUSessionUsageReport OPTIONAL,
+ qosFlowsUsageReportList QoSFlowsUsageReportList OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {SecondaryRATUsageInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecondaryRATUsageInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecondaryRATDataUsageReportTransfer ::= SEQUENCE {
+ secondaryRATUsageInformation SecondaryRATUsageInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SecondaryRATDataUsageReportTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecondaryRATDataUsageReportTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityContext ::= SEQUENCE {
+ nextHopChainingCount NextHopChainingCount,
+ nextHopNH SecurityKey,
+ iE-Extensions ProtocolExtensionContainer { {SecurityContext-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityContext-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityIndication ::= SEQUENCE {
+ integrityProtectionIndication IntegrityProtectionIndication,
+ confidentialityProtectionIndication ConfidentialityProtectionIndication,
+ maximumIntegrityProtectedDataRate-UL MaximumIntegrityProtectedDataRate OPTIONAL,
+-- The above IE shall be present if integrity protection is required or preferred
+ iE-Extensions ProtocolExtensionContainer { {SecurityIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityIndication-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaximumIntegrityProtectedDataRate-DL CRITICALITY ignore EXTENSION MaximumIntegrityProtectedDataRate PRESENCE optional },
+ ...
+}
+
+SecurityKey ::= BIT STRING (SIZE(256))
+
+SecurityResult ::= SEQUENCE {
+ integrityProtectionResult IntegrityProtectionResult,
+ confidentialityProtectionResult ConfidentialityProtectionResult,
+ iE-Extensions ProtocolExtensionContainer { {SecurityResult-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityResult-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorMeasurementConfiguration ::= SEQUENCE {
+ sensorMeasConfig SensorMeasConfig,
+ sensorMeasConfigNameList SensorMeasConfigNameList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SensorMeasurementConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SensorMeasurementConfiguration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofSensorName)) OF SensorMeasConfigNameItem
+
+SensorMeasConfigNameItem ::= SEQUENCE {
+ sensorNameConfig SensorNameConfig,
+ iE-Extensions ProtocolExtensionContainer { { SensorMeasConfigNameItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SensorMeasConfigNameItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorMeasConfig::= ENUMERATED {setup,...}
+
+SensorNameConfig ::= CHOICE {
+ uncompensatedBarometricConfig ENUMERATED {true, ...},
+ ueSpeedConfig ENUMERATED {true, ...},
+ ueOrientationConfig ENUMERATED {true, ...},
+ choice-Extensions ProtocolIE-SingleContainer { {SensorNameConfig-ExtIEs} }
+}
+
+SensorNameConfig-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+SerialNumber ::= BIT STRING (SIZE(16))
+
+ServedGUAMIList ::= SEQUENCE (SIZE(1..maxnoofServedGUAMIs)) OF ServedGUAMIItem
+
+ServedGUAMIItem ::= SEQUENCE {
+ gUAMI GUAMI,
+ backupAMFName AMFName OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedGUAMIItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedGUAMIItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GUAMIType CRITICALITY ignore EXTENSION GUAMIType PRESENCE optional },
+ ...
+}
+
+ServiceAreaInformation ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ServiceAreaInformation-Item
+
+ServiceAreaInformation-Item ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ allowedTACs AllowedTACs OPTIONAL,
+ notAllowedTACs NotAllowedTACs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServiceAreaInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServiceAreaInformation-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ServiceType ::= ENUMERATED {streaming, mTSI, vR, ...}
+
+SgNB-UE-X2AP-ID ::= INTEGER (0..4294967295)
+
+SharedNGU-MulticastTNLInformation ::= SEQUENCE {
+ iP-MulticastAddress TransportLayerAddress,
+ iP-SourceAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { {SharedNGU-MulticastTNLInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SharedNGU-MulticastTNLInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SliceOverloadList ::= SEQUENCE (SIZE(1..maxnoofSliceItems)) OF SliceOverloadItem
+
+SliceOverloadItem ::= SEQUENCE {
+ s-NSSAI S-NSSAI,
+ iE-Extensions ProtocolExtensionContainer { {SliceOverloadItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SliceOverloadItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SliceSupportList ::= SEQUENCE (SIZE(1..maxnoofSliceItems)) OF SliceSupportItem
+
+SliceSupportItem ::= SEQUENCE {
+ s-NSSAI S-NSSAI,
+ iE-Extensions ProtocolExtensionContainer { {SliceSupportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SliceSupportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SliceSupportListQMC ::= SEQUENCE (SIZE(1..maxnoofSNSSAIforQMC)) OF SliceSupportQMC-Item
+
+SliceSupportQMC-Item ::= SEQUENCE {
+ s-NSSAI S-NSSAI,
+ iE-Extensions ProtocolExtensionContainer { {SliceSupportQMC-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SliceSupportQMC-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNPN-MobilityInformation ::= SEQUENCE {
+ serving-NID NID,
+ iE-Extensions ProtocolExtensionContainer { {SNPN-MobilityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SNPN-MobilityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+S-NSSAI ::= SEQUENCE {
+ sST SST,
+ sD SD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { S-NSSAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+S-NSSAI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SONConfigurationTransfer ::= SEQUENCE {
+ targetRANNodeID-SON TargetRANNodeID-SON,
+ sourceRANNodeID SourceRANNodeID,
+ sONInformation SONInformation,
+ xnTNLConfigurationInfo XnTNLConfigurationInfo OPTIONAL,
+-- The above IE shall be present if the SON Information IE contains the SON Information Request IE set to “Xn TNL Configuration Infoâ€
+ iE-Extensions ProtocolExtensionContainer { {SONConfigurationTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SONConfigurationTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SONInformation ::= CHOICE {
+ sONInformationRequest SONInformationRequest,
+ sONInformationReply SONInformationReply,
+ choice-Extensions ProtocolIE-SingleContainer { {SONInformation-ExtIEs} }
+}
+
+SONInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-SONInformationReport CRITICALITY ignore TYPE SONInformationReport PRESENCE mandatory },
+ ...
+}
+
+SONInformationReply ::= SEQUENCE {
+ xnTNLConfigurationInfo XnTNLConfigurationInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SONInformationReply-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SONInformationReply-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SONInformationReport::= CHOICE {
+ failureIndicationInformation FailureIndication,
+ hOReportInformation HOReport,
+ choice-Extensions ProtocolIE-SingleContainer { { SONInformationReport-ExtIEs} }
+}
+
+SONInformationReport-ExtIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-SuccessfulHandoverReportList CRITICALITY ignore TYPE SuccessfulHandoverReportList PRESENCE mandatory },
+ ...
+}
+
+-- --------------------------------------------------------------------
+-- SON Information Report
+-- --------------------------------------------------------------------
+
+SuccessfulHandoverReportList ::= SEQUENCE (SIZE(1..maxnoofSuccessfulHOReports)) OF SuccessfulHandoverReport-Item
+
+SuccessfulHandoverReport-Item ::= SEQUENCE {
+ successfulHOReportContainer OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { SuccessfulHandoverReport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SuccessfulHandoverReport-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SONInformationRequest ::= ENUMERATED {
+ xn-TNL-configuration-info,
+ ...
+}
+
+SourceNGRANNode-ToTargetNGRANNode-TransparentContainer ::= SEQUENCE {
+ rRCContainer RRCContainer,
+ pDUSessionResourceInformationList PDUSessionResourceInformationList OPTIONAL,
+ e-RABInformationList E-RABInformationList OPTIONAL,
+ targetCell-ID NGRAN-CGI,
+ indexToRFSP IndexToRFSP OPTIONAL,
+ uEHistoryInformation UEHistoryInformation,
+ iE-Extensions ProtocolExtensionContainer { {SourceNGRANNode-ToTargetNGRANNode-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SourceNGRANNode-ToTargetNGRANNode-TransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore EXTENSION SgNB-UE-X2AP-ID PRESENCE optional }|
+ { ID id-UEHistoryInformationFromTheUE CRITICALITY ignore EXTENSION UEHistoryInformationFromTheUE PRESENCE optional }|
+ { ID id-SourceNodeID CRITICALITY ignore EXTENSION SourceNodeID PRESENCE optional }|
+ { ID id-UEContextReferenceAtSource CRITICALITY ignore EXTENSION RAN-UE-NGAP-ID PRESENCE optional }|
+ { ID id-MBS-ActiveSessionInformation-SourcetoTargetList CRITICALITY ignore EXTENSION MBS-ActiveSessionInformation-SourcetoTargetList PRESENCE optional }|
+ { ID id-QMCConfigInfo CRITICALITY ignore EXTENSION QMCConfigInfo PRESENCE optional }|
+ { ID id-NGAPIESupportInformationRequestList CRITICALITY ignore EXTENSION NGAPIESupportInformationRequestList PRESENCE optional },
+ ...
+}
+
+SourceNodeID ::= CHOICE {
+ sourceengNB-ID GlobalGNB-ID,
+ choice-Extensions ProtocolIE-SingleContainer { { SourceNodeID-ExtIEs} }
+}
+
+SourceNodeID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+SourceOfUEActivityBehaviourInformation ::= ENUMERATED {
+ subscription-information,
+ statistics,
+ ...
+}
+
+SourceRANNodeID ::= SEQUENCE {
+ globalRANNodeID GlobalRANNodeID,
+ selectedTAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {SourceRANNodeID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SourceRANNodeID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SourceToTarget-TransparentContainer ::= OCTET STRING
+-- This IE includes a transparent container from the source RAN node to the target RAN node.
+-- The octets of the OCTET STRING are encoded according to the specifications of the target system.
+
+SourceToTarget-AMFInformationReroute ::= SEQUENCE {
+ configuredNSSAI ConfiguredNSSAI OPTIONAL,
+ rejectedNSSAIinPLMN RejectedNSSAIinPLMN OPTIONAL,
+ rejectedNSSAIinTA RejectedNSSAIinTA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SourceToTarget-AMFInformationReroute-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SourceToTarget-AMFInformationReroute-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- This IE includes information from the source Core node to the target Core node for reroute information provide by NSSF.
+-- The octets of the OCTET STRING are encoded according to the specifications of the Core network.
+
+SRVCCOperationPossible ::= ENUMERATED {
+ possible,
+ notPossible,
+ ...
+}
+
+ConfiguredNSSAI ::= OCTET STRING (SIZE(128))
+
+RejectedNSSAIinPLMN ::= OCTET STRING (SIZE(32))
+
+RejectedNSSAIinTA ::= OCTET STRING (SIZE(32))
+
+SST ::= OCTET STRING (SIZE(1))
+
+SupportedTAList ::= SEQUENCE (SIZE(1..maxnoofTACs)) OF SupportedTAItem
+
+SupportedTAItem ::= SEQUENCE {
+ tAC TAC,
+ broadcastPLMNList BroadcastPLMNList,
+ iE-Extensions ProtocolExtensionContainer { {SupportedTAItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SupportedTAItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ConfiguredTACIndication CRITICALITY ignore EXTENSION ConfiguredTACIndication PRESENCE optional }|
+ {ID id-RAT-Information CRITICALITY reject EXTENSION RAT-Information PRESENCE optional },
+ ...
+}
+
+SuspendIndicator ::= ENUMERATED {
+ true,
+ ...
+}
+
+Suspend-Request-Indication ::= ENUMERATED {
+ suspend-requested,
+ ...
+}
+
+Suspend-Response-Indication ::= ENUMERATED {
+ suspend-indicated,
+ ...
+}
+
+SurvivalTime ::= INTEGER (0..1920000, ...)
+
+
+-- T
+
+TAC ::= OCTET STRING (SIZE(3))
+
+TACListInNRNTN ::= SEQUENCE (SIZE(1..maxnoofTACsinNTN)) OF TAC
+
+TAI ::= SEQUENCE {
+ pLMNIdentity PLMNIdentity,
+ tAC TAC,
+ iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIBroadcastEUTRA ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAIBroadcastEUTRA-Item
+
+TAIBroadcastEUTRA-Item ::= SEQUENCE {
+ tAI TAI,
+ completedCellsInTAI-EUTRA CompletedCellsInTAI-EUTRA,
+ iE-Extensions ProtocolExtensionContainer { {TAIBroadcastEUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBroadcastEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIBroadcastNR ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAIBroadcastNR-Item
+
+TAIBroadcastNR-Item ::= SEQUENCE {
+ tAI TAI,
+ completedCellsInTAI-NR CompletedCellsInTAI-NR,
+ iE-Extensions ProtocolExtensionContainer { {TAIBroadcastNR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBroadcastNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAICancelledEUTRA ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAICancelledEUTRA-Item
+
+TAICancelledEUTRA-Item ::= SEQUENCE {
+ tAI TAI,
+ cancelledCellsInTAI-EUTRA CancelledCellsInTAI-EUTRA,
+ iE-Extensions ProtocolExtensionContainer { {TAICancelledEUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAICancelledEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAICancelledNR ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAICancelledNR-Item
+
+TAICancelledNR-Item ::= SEQUENCE {
+ tAI TAI,
+ cancelledCellsInTAI-NR CancelledCellsInTAI-NR,
+ iE-Extensions ProtocolExtensionContainer { {TAICancelledNR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAICancelledNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListForInactive ::= SEQUENCE (SIZE(1..maxnoofTAIforInactive)) OF TAIListForInactiveItem
+
+TAIListForInactiveItem ::= SEQUENCE {
+ tAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {TAIListForInactiveItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIListForInactiveItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListForPaging ::= SEQUENCE (SIZE(1..maxnoofTAIforPaging)) OF TAIListForPagingItem
+
+TAIListForPagingItem ::= SEQUENCE {
+ tAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {TAIListForPagingItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIListForPagingItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListForRestart ::= SEQUENCE (SIZE(1..maxnoofTAIforRestart)) OF TAI
+
+TAIListForWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI
+
+TAINSAGSupportList ::= SEQUENCE (SIZE(1..maxnoofNSAGs)) OF TAINSAGSupportItem
+
+TAINSAGSupportItem ::= SEQUENCE {
+ nSAG-ID NSAG-ID,
+ nSAGSliceSupportList ExtendedSliceSupportList,
+ iE-Extensions ProtocolExtensionContainer { {TAINSAGSupportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAINSAGSupportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargeteNB-ID ::= SEQUENCE {
+ globalENB-ID GlobalNgENB-ID,
+ selected-EPS-TAI EPS-TAI,
+ iE-Extensions ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargeteNB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargetHomeENB-ID ::= SEQUENCE {
+ pLMNidentity PLMNIdentity,
+ homeENB-ID BIT STRING (SIZE(28)),
+ selected-EPS-TAI EPS-TAI,
+ iE-Extensions ProtocolExtensionContainer { {TargetHomeENB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetHomeENB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargetID ::= CHOICE {
+ targetRANNodeID TargetRANNodeID,
+ targeteNB-ID TargeteNB-ID,
+ choice-Extensions ProtocolIE-SingleContainer { {TargetID-ExtIEs} }
+}
+
+TargetID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ {ID id-TargetRNC-ID CRITICALITY reject TYPE TargetRNC-ID PRESENCE mandatory }|
+ {ID id-TargetHomeENB-ID CRITICALITY reject TYPE TargetHomeENB-ID PRESENCE mandatory },
+ ...
+}
+
+TargetNGRANNode-ToSourceNGRANNode-TransparentContainer ::= SEQUENCE {
+ rRCContainer RRCContainer,
+ iE-Extensions ProtocolExtensionContainer { {TargetNGRANNode-ToSourceNGRANNode-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetNGRANNode-ToSourceNGRANNode-TransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DAPSResponseInfoList CRITICALITY ignore EXTENSION DAPSResponseInfoList PRESENCE optional }|
+ { ID id-DirectForwardingPathAvailability CRITICALITY ignore EXTENSION DirectForwardingPathAvailability PRESENCE optional }|
+ { ID id-MBS-ActiveSessionInformation-TargettoSourceList CRITICALITY ignore EXTENSION MBS-ActiveSessionInformation-TargettoSourceList PRESENCE optional }|
+ { ID id-NGAPIESupportInformationResponseList CRITICALITY ignore EXTENSION NGAPIESupportInformationResponseList PRESENCE optional },
+ ...
+}
+
+TargetNGRANNode-ToSourceNGRANNode-FailureTransparentContainer ::= SEQUENCE {
+ cell-CAGInformation Cell-CAGInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TargetNGRANNode-ToSourceNGRANNode-FailureTransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetNGRANNode-ToSourceNGRANNode-FailureTransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-NGAPIESupportInformationResponseList CRITICALITY ignore EXTENSION NGAPIESupportInformationResponseList PRESENCE optional },
+ ...
+}
+
+TargetNSSAI ::= SEQUENCE (SIZE(1..maxnoofTargetS-NSSAIs)) OF TargetNSSAI-Item
+
+TargetNSSAI-Item ::= SEQUENCE {
+ s-NSSAI S-NSSAI,
+ iE-Extensions ProtocolExtensionContainer { {TargetNSSAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetNSSAI-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargetNSSAIInformation ::= SEQUENCE {
+ targetNSSAI TargetNSSAI,
+ indexToRFSP IndexToRFSP,
+ iE-Extensions ProtocolExtensionContainer { {TargetNSSAIInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetNSSAIInformation-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargetRANNodeID ::= SEQUENCE {
+ globalRANNodeID GlobalRANNodeID,
+ selectedTAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {TargetRANNodeID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetRANNodeID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargetRANNodeID-RIM ::= SEQUENCE {
+ globalRANNodeID GlobalRANNodeID,
+ selectedTAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {TargetRANNodeID-RIM-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetRANNodeID-RIM-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargetRANNodeID-SON ::= SEQUENCE {
+ globalRANNodeID GlobalRANNodeID,
+ selectedTAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {TargetRANNodeID-SON-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetRANNodeID-SON-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ {ID id-NR-CGI CRITICALITY ignore EXTENSION NR-CGI PRESENCE optional },
+ ...
+}
+
+TargetRNC-ID ::= SEQUENCE {
+ lAI LAI,
+ rNC-ID RNC-ID,
+ extendedRNC-ID ExtendedRNC-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetRNC-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargetToSource-TransparentContainer ::= OCTET STRING
+-- This IE includes a transparent container from the target RAN node to the source RAN node.
+-- The octets of the OCTET STRING are encoded according to the specifications of the target system.
+
+TargettoSource-Failure-TransparentContainer ::= OCTET STRING
+-- This IE includes a transparent container from the target RAN node to the source RAN node.
+-- The octets of the OCTET STRING are encoded according to the specifications of the target system (if applicable).
+
+TimerApproachForGUAMIRemoval ::= ENUMERATED {
+ apply-timer,
+ ...
+}
+
+TimeStamp ::= OCTET STRING (SIZE(4))
+
+TimeSyncAssistanceInfo ::= SEQUENCE {
+ timeDistributionIndication ENUMERATED {enabled, disabled, ...},
+ uUTimeSyncErrorBudget INTEGER (1..1000000, ...) OPTIONAL,
+ -- The above IE shall be present if the Time Distribution Indication IE is set to the value “enabledâ€
+ iE-Extensions ProtocolExtensionContainer { {TimeSyncAssistanceInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TimeSyncAssistanceInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
+
+TimeUEStayedInCell ::= INTEGER (0..4095)
+
+TimeUEStayedInCellEnhancedGranularity ::= INTEGER (0..40950)
+
+TMGI ::= OCTET STRING (SIZE(6))
+
+TNAP-ID ::= OCTET STRING
+
+TNGF-ID ::= CHOICE {
+ tNGF-ID BIT STRING (SIZE(32, ...)),
+ choice-Extensions ProtocolIE-SingleContainer { {TNGF-ID-ExtIEs} }
+}
+
+TNGF-ID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+TNLAddressWeightFactor ::= INTEGER (0..255)
+
+TNLAssociationList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLAssociationItem
+
+TNLAssociationItem ::= SEQUENCE {
+ tNLAssociationAddress CPTransportLayerInformation,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {TNLAssociationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNLAssociationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TNLAssociationUsage ::= ENUMERATED {
+ ue,
+ non-ue,
+ both,
+ ...
+}
+
+TooearlyIntersystemHO::= SEQUENCE {
+ sourcecellID EUTRA-CGI,
+ failurecellID NGRAN-CGI,
+ uERLFReportContainer UERLFReportContainer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TooearlyIntersystemHO-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TooearlyIntersystemHO-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TraceActivation ::= SEQUENCE {
+ nGRANTraceID NGRANTraceID,
+ interfacesToTrace InterfacesToTrace,
+traceDepth TraceDepth,
+traceCollectionEntityIPAddress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TraceActivation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional }|
+ { ID id-TraceCollectionEntityURI CRITICALITY ignore EXTENSION URI-address PRESENCE optional },
+ ...
+}
+
+TraceDepth ::= ENUMERATED {
+ minimum,
+ medium,
+ maximum,
+ minimumWithoutVendorSpecificExtension,
+ mediumWithoutVendorSpecificExtension,
+ maximumWithoutVendorSpecificExtension,
+ ...
+}
+
+TrafficLoadReductionIndication ::= INTEGER (1..99)
+
+TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+TAIBasedMDT ::= SEQUENCE {
+ tAIListforMDT TAIListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {TAIBasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBasedMDT-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAI
+
+TAIBasedQMC ::= SEQUENCE {
+ tAIListforQMC TAIListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {TAIBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBasedQMC-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAI
+
+TABasedQMC ::= SEQUENCE {
+ tAListforQMC TAListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {TABasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TABasedQMC-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAC
+
+
+TABasedMDT ::= SEQUENCE {
+ tAListforMDT TAListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TABasedMDT-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC
+
+Threshold-RSRP ::= INTEGER(0..127)
+
+Threshold-RSRQ ::= INTEGER(0..127)
+
+Threshold-SINR ::= INTEGER(0..127)
+
+TimeToTrigger ::= ENUMERATED {ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256, ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, ms5120}
+
+
+TWAP-ID ::= OCTET STRING
+
+TWIF-ID ::= CHOICE {
+ tWIF-ID BIT STRING (SIZE(32, ...)),
+ choice-Extensions ProtocolIE-SingleContainer { {TWIF-ID-ExtIEs} }
+}
+
+TWIF-ID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+TSCAssistanceInformation ::= SEQUENCE {
+ periodicity Periodicity,
+ burstArrivalTime BurstArrivalTime OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TSCAssistanceInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TSCAssistanceInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SurvivalTime CRITICALITY ignore EXTENSION SurvivalTime PRESENCE optional},
+ ...
+}
+
+TSCTrafficCharacteristics ::= SEQUENCE {
+ tSCAssistanceInformationDL TSCAssistanceInformation OPTIONAL,
+ tSCAssistanceInformationUL TSCAssistanceInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TSCTrafficCharacteristics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TSCTrafficCharacteristics-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- U
+
+UEAggregateMaximumBitRate ::= SEQUENCE {
+ uEAggregateMaximumBitRateDL BitRate,
+ uEAggregateMaximumBitRateUL BitRate,
+ iE-Extensions ProtocolExtensionContainer { {UEAggregateMaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAggregateMaximumBitRate-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEAppLayerMeasInfoList ::= SEQUENCE (SIZE(1..maxnoofUEAppLayerMeas)) OF UEAppLayerMeasInfoItem
+
+UEAppLayerMeasInfoItem ::= SEQUENCE {
+ uEAppLayerMeasConfigInfo UEAppLayerMeasConfigInfo,
+ iE-Extensions ProtocolExtensionContainer { { UEAppLayerMeasInfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAppLayerMeasInfoItem-ExtIEs NGAP-PROTOCOL-EXTENSION::= {
+ ...
+}
+
+UEAppLayerMeasConfigInfo ::= SEQUENCE {
+ qoEReference QoEReference,
+ serviceType ServiceType,
+ areaScopeOfQMC AreaScopeOfQMC OPTIONAL,
+ measCollEntityIPAddress TransportLayerAddress,
+ qoEMeasurementStatus ENUMERATED {ongoing,...} OPTIONAL,
+ containerForAppLayerMeasConfig OCTET STRING (SIZE(1..8000)) OPTIONAL,
+ measConfigAppLayerID INTEGER (0..15, ...) OPTIONAL,
+ sliceSupportListQMC SliceSupportListQMC OPTIONAL,
+ mDT-AlignmentInfo MDT-AlignmentInfo OPTIONAL,
+ availableRANVisibleQoEMetrics AvailableRANVisibleQoEMetrics OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UEAppLayerMeasConfigInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAppLayerMeasConfigInfo-ExtIEs NGAP-PROTOCOL-EXTENSION::= {
+ ...
+}
+
+UE-associatedLogicalNG-connectionList ::= SEQUENCE (SIZE(1..maxnoofNGConnectionsToReset)) OF UE-associatedLogicalNG-connectionItem
+
+UE-associatedLogicalNG-connectionItem ::= SEQUENCE {
+ aMF-UE-NGAP-ID AMF-UE-NGAP-ID OPTIONAL,
+ rAN-UE-NGAP-ID RAN-UE-NGAP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UE-associatedLogicalNG-connectionItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-associatedLogicalNG-connectionItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UECapabilityInfoRequest ::= ENUMERATED {
+ requested,
+ ...
+}
+
+UEContextRequest ::= ENUMERATED {requested, ...}
+
+
+UEContextResumeRequestTransfer ::= SEQUENCE {
+ qosFlowFailedToResumeList QosFlowListWithCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UEContextResumeRequestTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextResumeRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEContextResumeResponseTransfer ::= SEQUENCE {
+ qosFlowFailedToResumeList QosFlowListWithCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UEContextResumeResponseTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextResumeResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEContextSuspendRequestTransfer ::= SEQUENCE {
+ suspendIndicator SuspendIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UEContextSuspendRequestTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextSuspendRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-DifferentiationInfo ::= SEQUENCE {
+ periodicCommunicationIndicator ENUMERATED {periodically, ondemand, ... } OPTIONAL,
+ periodicTime INTEGER (1..3600, ...) OPTIONAL,
+ scheduledCommunicationTime ScheduledCommunicationTime OPTIONAL,
+ stationaryIndication ENUMERATED {stationary, mobile, ...} OPTIONAL,
+ trafficProfile ENUMERATED {single-packet, dual-packets, multiple-packets, ...} OPTIONAL,
+ batteryIndication ENUMERATED {battery-powered, battery-powered-not-rechargeable-or-replaceable, not-battery-powered, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-DifferentiationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-DifferentiationInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEHistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCellsinUEHistoryInfo)) OF LastVisitedCellItem
+
+UEHistoryInformationFromTheUE ::= CHOICE {
+ nR NRMobilityHistoryReport,
+ choice-Extensions ProtocolIE-SingleContainer { {UEHistoryInformationFromTheUE-ExtIEs} }
+}
+
+UEHistoryInformationFromTheUE-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UEIdentityIndexValue ::= CHOICE {
+ indexLength10 BIT STRING (SIZE(10)),
+ choice-Extensions ProtocolIE-SingleContainer { {UEIdentityIndexValue-ExtIEs} }
+}
+
+UEIdentityIndexValue-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UE-NGAP-IDs ::= CHOICE {
+ uE-NGAP-ID-pair UE-NGAP-ID-pair,
+ aMF-UE-NGAP-ID AMF-UE-NGAP-ID,
+ choice-Extensions ProtocolIE-SingleContainer { {UE-NGAP-IDs-ExtIEs} }
+}
+
+UE-NGAP-IDs-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UE-NGAP-ID-pair ::= SEQUENCE{
+ aMF-UE-NGAP-ID AMF-UE-NGAP-ID,
+ rAN-UE-NGAP-ID RAN-UE-NGAP-ID,
+ iE-Extensions ProtocolExtensionContainer { {UE-NGAP-ID-pair-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-NGAP-ID-pair-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEPagingIdentity ::= CHOICE {
+ fiveG-S-TMSI FiveG-S-TMSI,
+ choice-Extensions ProtocolIE-SingleContainer { {UEPagingIdentity-ExtIEs} }
+ }
+
+UEPagingIdentity-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UEPresence ::= ENUMERATED {in, out, unknown, ...}
+
+UEPresenceInAreaOfInterestList ::= SEQUENCE (SIZE(1..maxnoofAoI)) OF UEPresenceInAreaOfInterestItem
+
+UEPresenceInAreaOfInterestItem ::= SEQUENCE {
+ locationReportingReferenceID LocationReportingReferenceID,
+ uEPresence UEPresence,
+ iE-Extensions ProtocolExtensionContainer { {UEPresenceInAreaOfInterestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEPresenceInAreaOfInterestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UERadioCapability ::= OCTET STRING
+
+UERadioCapabilityForPaging ::= SEQUENCE {
+ uERadioCapabilityForPagingOfNR UERadioCapabilityForPagingOfNR OPTIONAL,
+ uERadioCapabilityForPagingOfEUTRA UERadioCapabilityForPagingOfEUTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UERadioCapabilityForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UERadioCapabilityForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UERadioCapabilityForPagingOfNB-IoT CRITICALITY ignore EXTENSION UERadioCapabilityForPagingOfNB-IoT PRESENCE optional },
+ ...
+}
+
+UERadioCapabilityForPagingOfNB-IoT ::= OCTET STRING
+
+UERadioCapabilityForPagingOfNR ::= OCTET STRING
+
+UERadioCapabilityForPagingOfEUTRA ::= OCTET STRING
+
+UERadioCapabilityID ::= OCTET STRING
+
+UERetentionInformation ::= ENUMERATED {
+ ues-retained,
+ ...
+}
+
+UERLFReportContainer ::= CHOICE {
+ nR NRUERLFReportContainer,
+ lTE LTEUERLFReportContainer,
+ choice-Extensions ProtocolIE-SingleContainer { {UERLFReportContainer-ExtIEs} }
+}
+
+UERLFReportContainer-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UESecurityCapabilities ::= SEQUENCE {
+ nRencryptionAlgorithms NRencryptionAlgorithms,
+ nRintegrityProtectionAlgorithms NRintegrityProtectionAlgorithms,
+ eUTRAencryptionAlgorithms EUTRAencryptionAlgorithms,
+ eUTRAintegrityProtectionAlgorithms EUTRAintegrityProtectionAlgorithms,
+ iE-Extensions ProtocolExtensionContainer { {UESecurityCapabilities-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UESecurityCapabilities-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UESliceMaximumBitRateList ::= SEQUENCE (SIZE(1..maxnoofAllowedS-NSSAIs)) OF UESliceMaximumBitRateItem
+
+UESliceMaximumBitRateItem ::= SEQUENCE {
+ s-NSSAI S-NSSAI,
+ uESliceMaximumBitRateDL BitRate,
+ uESliceMaximumBitRateUL BitRate,
+ iE-Extensions ProtocolExtensionContainer { { UESliceMaximumBitRateItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UESliceMaximumBitRateItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UE-UP-CIoT-Support ::= ENUMERATED {supported, ...}
+
+UL-CP-SecurityInformation ::= SEQUENCE {
+ ul-NAS-MAC UL-NAS-MAC,
+ ul-NAS-Count UL-NAS-Count,
+ iE-Extensions ProtocolExtensionContainer { { UL-CP-SecurityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CP-SecurityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-NAS-MAC ::= BIT STRING (SIZE (16))
+
+UL-NAS-Count ::= BIT STRING (SIZE (5))
+
+UL-NGU-UP-TNLModifyList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivity)) OF UL-NGU-UP-TNLModifyItem
+
+UL-NGU-UP-TNLModifyItem ::= SEQUENCE {
+ uL-NGU-UP-TNLInformation UPTransportLayerInformation,
+ dL-NGU-UP-TNLInformation UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { {UL-NGU-UP-TNLModifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-NGU-UP-TNLModifyItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }|
+ { ID id-RedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional },
+ ...
+}
+
+UnavailableGUAMIList ::= SEQUENCE (SIZE(1..maxnoofServedGUAMIs)) OF UnavailableGUAMIItem
+
+UnavailableGUAMIItem ::= SEQUENCE {
+ gUAMI GUAMI,
+ timerApproachForGUAMIRemoval TimerApproachForGUAMIRemoval OPTIONAL,
+ backupAMFName AMFName OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UnavailableGUAMIItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UnavailableGUAMIItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ULForwarding ::= ENUMERATED {
+ ul-forwarding-proposed,
+ ...
+}
+
+UpdateFeedback ::= BIT STRING (SIZE(8, ...))
+
+UPTransportLayerInformation ::= CHOICE {
+ gTPTunnel GTPTunnel,
+ choice-Extensions ProtocolIE-SingleContainer { {UPTransportLayerInformation-ExtIEs} }
+}
+
+UPTransportLayerInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UPTransportLayerInformationList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF UPTransportLayerInformationItem
+
+UPTransportLayerInformationItem ::= SEQUENCE {
+ nGU-UP-TNLInformation UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { {UPTransportLayerInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UPTransportLayerInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional },
+ ...
+}
+
+
+UPTransportLayerInformationPairList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF UPTransportLayerInformationPairItem
+
+UPTransportLayerInformationPairItem ::= SEQUENCE {
+ uL-NGU-UP-TNLInformation UPTransportLayerInformation,
+ dL-NGU-UP-TNLInformation UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { {UPTransportLayerInformationPairItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UPTransportLayerInformationPairItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+URI-address ::= VisibleString
+
+UserLocationInformation ::= CHOICE {
+ userLocationInformationEUTRA UserLocationInformationEUTRA,
+ userLocationInformationNR UserLocationInformationNR,
+ userLocationInformationN3IWF UserLocationInformationN3IWF,
+ choice-Extensions ProtocolIE-SingleContainer { {UserLocationInformation-ExtIEs} }
+}
+
+UserLocationInformation-ExtIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-UserLocationInformationTNGF CRITICALITY ignore TYPE UserLocationInformationTNGF PRESENCE mandatory }|
+ { ID id-UserLocationInformationTWIF CRITICALITY ignore TYPE UserLocationInformationTWIF PRESENCE mandatory }|
+ { ID id-UserLocationInformationW-AGF CRITICALITY ignore TYPE UserLocationInformationW-AGF PRESENCE mandatory },
+ ...
+}
+
+UserLocationInformationEUTRA ::= SEQUENCE {
+ eUTRA-CGI EUTRA-CGI,
+ tAI TAI,
+ timeStamp TimeStamp OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UserLocationInformationEUTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UserLocationInformationEUTRA-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PSCellInformation CRITICALITY ignore EXTENSION NGRAN-CGI PRESENCE optional},
+ ...
+}
+
+UserLocationInformationN3IWF ::= SEQUENCE {
+ iPAddress TransportLayerAddress,
+ portNumber PortNumber,
+ iE-Extensions ProtocolExtensionContainer { {UserLocationInformationN3IWF-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UserLocationInformationN3IWF-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TAI CRITICALITY ignore EXTENSION TAI PRESENCE optional },
+ ...
+}
+
+UserLocationInformationTNGF ::= SEQUENCE {
+ tNAP-ID TNAP-ID,
+ iPAddress TransportLayerAddress,
+ portNumber PortNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UserLocationInformationTNGF-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UserLocationInformationTNGF-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TAI CRITICALITY ignore EXTENSION TAI PRESENCE optional },
+ ...
+}
+
+UserLocationInformationTWIF ::= SEQUENCE {
+ tWAP-ID TWAP-ID,
+ iPAddress TransportLayerAddress,
+ portNumber PortNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UserLocationInformationTWIF-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UserLocationInformationTWIF-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TAI CRITICALITY ignore EXTENSION TAI PRESENCE optional },
+ ...
+}
+
+UserLocationInformationW-AGF ::= CHOICE {
+ globalLine-ID GlobalLine-ID,
+ hFCNode-ID HFCNode-ID,
+ choice-Extensions ProtocolIE-SingleContainer { { UserLocationInformationW-AGF-ExtIEs} }
+}
+
+UserLocationInformationW-AGF-ExtIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-GlobalCable-ID CRITICALITY ignore TYPE GlobalCable-ID PRESENCE mandatory }|
+ { ID id-HFCNode-ID-new CRITICALITY ignore TYPE HFCNode-ID-new PRESENCE mandatory }|
+ { ID id-GlobalCable-ID-new CRITICALITY ignore TYPE GlobalCable-ID-new PRESENCE mandatory },
+ ...
+}
+
+UserLocationInformationNR ::= SEQUENCE {
+ nR-CGI NR-CGI,
+ tAI TAI,
+ timeStamp TimeStamp OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UserLocationInformationNR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UserLocationInformationNR-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PSCellInformation CRITICALITY ignore EXTENSION NGRAN-CGI PRESENCE optional }|
+ { ID id-NID CRITICALITY reject EXTENSION NID PRESENCE optional }|
+ { ID id-NRNTNTAIInformation CRITICALITY ignore EXTENSION NRNTNTAIInformation PRESENCE optional },
+ ...
+}
+
+UserPlaneSecurityInformation ::= SEQUENCE {
+ securityResult SecurityResult,
+ securityIndication SecurityIndication,
+ iE-Extensions ProtocolExtensionContainer { {UserPlaneSecurityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UserPlaneSecurityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- V
+
+VolumeTimedReportList ::= SEQUENCE (SIZE(1..maxnoofTimePeriods)) OF VolumeTimedReport-Item
+
+VolumeTimedReport-Item ::= SEQUENCE {
+ startTimeStamp OCTET STRING (SIZE(4)),
+ endTimeStamp OCTET STRING (SIZE(4)),
+ usageCountUL INTEGER (0..18446744073709551615),
+ usageCountDL INTEGER (0..18446744073709551615),
+ iE-Extensions ProtocolExtensionContainer { {VolumeTimedReport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+VolumeTimedReport-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- W
+
+W-AGF-ID ::= CHOICE {
+ w-AGF-ID BIT STRING (SIZE(16, ...)),
+ choice-Extensions ProtocolIE-SingleContainer { {W-AGF-ID-ExtIEs} }
+}
+
+W-AGF-ID-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+WarningAreaCoordinates ::= OCTET STRING (SIZE(1..1024))
+
+WarningAreaList ::= CHOICE {
+ eUTRA-CGIListForWarning EUTRA-CGIListForWarning,
+ nR-CGIListForWarning NR-CGIListForWarning,
+ tAIListForWarning TAIListForWarning,
+ emergencyAreaIDList EmergencyAreaIDList,
+ choice-Extensions ProtocolIE-SingleContainer { {WarningAreaList-ExtIEs} }
+}
+
+WarningAreaList-ExtIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+WarningMessageContents ::= OCTET STRING (SIZE(1..9600))
+
+WarningSecurityInfo ::= OCTET STRING (SIZE(50))
+
+WarningType ::= OCTET STRING (SIZE(2))
+
+WLANMeasurementConfiguration ::= SEQUENCE {
+ wlanMeasConfig WLANMeasConfig,
+ wlanMeasConfigNameList WLANMeasConfigNameList OPTIONAL,
+ wlan-rssi ENUMERATED {true, ...} OPTIONAL,
+ wlan-rtt ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasurementConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+WLANMeasurementConfiguration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLANMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofWLANName)) OF WLANMeasConfigNameItem
+
+WLANMeasConfigNameItem ::= SEQUENCE {
+ wLANName WLANName,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasConfigNameItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+WLANMeasConfigNameItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLANMeasConfig::= ENUMERATED {setup,...}
+
+WLANName ::= OCTET STRING (SIZE (1..32))
+
+WUS-Assistance-Information ::= SEQUENCE {
+ pagingProbabilityInformation PagingProbabilityInformation,
+ iE-Extensions ProtocolExtensionContainer { { WUS-Assistance-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+WUS-Assistance-Information-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- X
+
+XnExtTLAs ::= SEQUENCE (SIZE(1..maxnoofXnExtTLAs)) OF XnExtTLA-Item
+
+XnExtTLA-Item ::= SEQUENCE {
+ iPsecTLA TransportLayerAddress OPTIONAL,
+ gTP-TLAs XnGTP-TLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {XnExtTLA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+XnExtTLA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SCTP-TLAs CRITICALITY ignore EXTENSION SCTP-TLAs PRESENCE optional },
+ ...
+}
+
+XnGTP-TLAs ::= SEQUENCE (SIZE(1..maxnoofXnGTP-TLAs)) OF TransportLayerAddress
+
+XnTLAs ::= SEQUENCE (SIZE(1..maxnoofXnTLAs)) OF TransportLayerAddress
+
+XnTNLConfigurationInfo ::= SEQUENCE {
+ xnTransportLayerAddresses XnTLAs,
+ xnExtendedTransportLayerAddresses XnExtTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {XnTNLConfigurationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+XnTNLConfigurationInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- Y
+-- Z
+
+END
diff --git a/epan/dissectors/asn1/ngap/NGAP-PDU-Contents.asn b/epan/dissectors/asn1/ngap/NGAP-PDU-Contents.asn
new file mode 100644
index 00000000..453c9239
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/NGAP-PDU-Contents.asn
@@ -0,0 +1,3388 @@
+-- 3GPP TS 38.413 V17.5.0 (2023-06)
+-- 9.4.4 PDU Definitions
+-- **************************************************************
+--
+-- PDU definitions for NGAP.
+--
+-- **************************************************************
+
+NGAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ AllowedNSSAI,
+ AMFName,
+ AMFSetID,
+ AMF-TNLAssociationSetupList,
+ AMF-TNLAssociationToAddList,
+ AMF-TNLAssociationToRemoveList,
+ AMF-TNLAssociationToUpdateList,
+ AMF-UE-NGAP-ID,
+ AssistanceDataForPaging,
+ AuthenticatedIndication,
+ BroadcastCancelledAreaList,
+ BroadcastCompletedAreaList,
+ CancelAllWarningMessages,
+ Cause,
+ CellIDListForRestart,
+ CEmodeBrestricted,
+ CEmodeBSupport-Indicator,
+ CNAssistedRANTuning,
+ ConcurrentWarningMessageInd,
+ CoreNetworkAssistanceInformationForInactive,
+ CPTransportLayerInformation,
+ CriticalityDiagnostics,
+ DataCodingScheme,
+ DL-CP-SecurityInformation,
+ DirectForwardingPathAvailability,
+ EarlyStatusTransfer-TransparentContainer,
+ EDT-Session,
+ EmergencyAreaIDListForRestart,
+ EmergencyFallbackIndicator,
+ EN-DCSONConfigurationTransfer,
+ EndIndication,
+ Enhanced-CoverageRestriction,
+ EUTRA-CGI,
+ EUTRA-PagingeDRXInformation,
+ Extended-AMFName,
+ Extended-ConnectedTime,
+ Extended-RANNodeName,
+ FiveG-ProSeAuthorized,
+ FiveG-ProSePC5QoSParameters,
+ FiveG-S-TMSI,
+ GlobalRANNodeID,
+ GUAMI,
+ HandoverFlag,
+ HandoverType,
+ IAB-Authorized,
+ IAB-Supported,
+ IABNodeIndication,
+ IMSVoiceSupportIndicator,
+ IndexToRFSP,
+ InfoOnRecommendedCellsAndRANNodesForPaging,
+ IntersystemSONConfigurationTransfer,
+ LAI,
+ LTEM-Indication,
+ LocationReportingRequestType,
+ LTEUESidelinkAggregateMaximumBitrate,
+ LTEV2XServicesAuthorized,
+ MaskedIMEISV,
+ MBS-AreaSessionID,
+ MBS-ServiceArea,
+ MBS-SessionID,
+ MBS-DistributionReleaseRequestTransfer,
+ MBS-DistributionSetupRequestTransfer,
+ MBS-DistributionSetupResponseTransfer,
+ MBS-DistributionSetupUnsuccessfulTransfer,
+ MBSSessionReleaseResponseTransfer,
+ MBSSessionSetupOrModFailureTransfer,
+ MBSSessionSetupOrModRequestTransfer,
+ MBSSessionSetupOrModResponseTransfer,
+ MessageIdentifier,
+ MDTPLMNList,
+ MDTPLMNModificationList,
+ MobilityRestrictionList,
+ MulticastSessionActivationRequestTransfer,
+ MulticastSessionDeactivationRequestTransfer,
+ MulticastSessionUpdateRequestTransfer,
+ MulticastGroupPagingAreaList,
+ NAS-PDU,
+ NASSecurityParametersFromNGRAN,
+ NB-IoT-DefaultPagingDRX,
+ NB-IoT-PagingDRX,
+ NB-IoT-Paging-eDRXInfo,
+ NB-IoT-UEPriority,
+ NewSecurityContextInd,
+ NGRAN-CGI,
+ NGRAN-TNLAssociationToRemoveList,
+ NGRANTraceID,
+ NotifySourceNGRANNode,
+ NPN-AccessInformation,
+ NR-CGI,
+ NR-PagingeDRXInformation,
+ NRPPa-PDU,
+ NumberOfBroadcastsRequested,
+ NRUESidelinkAggregateMaximumBitrate,
+ NRV2XServicesAuthorized,
+ OverloadResponse,
+ OverloadStartNSSAIList,
+ PagingAssisDataforCEcapabUE,
+ PagingCause,
+ PagingDRX,
+ PagingOrigin,
+ PagingPriority,
+ PDUSessionAggregateMaximumBitRate,
+ PDUSessionResourceAdmittedList,
+ PDUSessionResourceFailedToModifyListModCfm,
+ PDUSessionResourceFailedToModifyListModRes,
+ PDUSessionResourceFailedToResumeListRESReq,
+ PDUSessionResourceFailedToResumeListRESRes,
+ PDUSessionResourceFailedToSetupListCxtFail,
+ PDUSessionResourceFailedToSetupListCxtRes,
+ PDUSessionResourceFailedToSetupListHOAck,
+ PDUSessionResourceFailedToSetupListPSReq,
+ PDUSessionResourceFailedToSetupListSURes,
+ PDUSessionResourceHandoverList,
+ PDUSessionResourceListCxtRelCpl,
+ PDUSessionResourceListCxtRelReq,
+ PDUSessionResourceListHORqd,
+ PDUSessionResourceModifyListModCfm,
+ PDUSessionResourceModifyListModInd,
+ PDUSessionResourceModifyListModReq,
+ PDUSessionResourceModifyListModRes,
+ PDUSessionResourceNotifyList,
+ PDUSessionResourceReleasedListNot,
+ PDUSessionResourceReleasedListPSAck,
+ PDUSessionResourceReleasedListPSFail,
+ PDUSessionResourceReleasedListRelRes,
+ PDUSessionResourceResumeListRESReq,
+ PDUSessionResourceResumeListRESRes,
+ PDUSessionResourceSecondaryRATUsageList,
+ PDUSessionResourceSetupListCxtReq,
+ PDUSessionResourceSetupListCxtRes,
+ PDUSessionResourceSetupListHOReq,
+ PDUSessionResourceSetupListSUReq,
+ PDUSessionResourceSetupListSURes,
+ PDUSessionResourceSuspendListSUSReq,
+ PDUSessionResourceSwitchedList,
+ PDUSessionResourceToBeSwitchedDLList,
+ PDUSessionResourceToReleaseListHOCmd,
+ PDUSessionResourceToReleaseListRelCmd,
+ PEIPSassistanceInformation,
+ PLMNIdentity,
+ PLMNSupportList,
+ PrivacyIndicator,
+ PWSFailedCellIDList,
+ PC5QoSParameters,
+ QMCConfigInfo,
+ QMCDeactivation,
+ RANNodeName,
+ RANPagingPriority,
+ RANStatusTransfer-TransparentContainer,
+ RAN-UE-NGAP-ID,
+ RedCapIndication,
+ RedirectionVoiceFallback,
+ RelativeAMFCapacity,
+ RepetitionPeriod,
+ ResetType,
+ RGLevelWirelineAccessCharacteristics,
+ RoutingID,
+ RRCEstablishmentCause,
+ RRCInactiveTransitionReportRequest,
+ RRCState,
+ SecurityContext,
+ SecurityKey,
+ SerialNumber,
+ ServedGUAMIList,
+ SliceSupportList,
+ S-NSSAI,
+ SONConfigurationTransfer,
+ SourceToTarget-TransparentContainer,
+ SourceToTarget-AMFInformationReroute,
+ SRVCCOperationPossible,
+ SupportedTAList,
+ Suspend-Request-Indication,
+ Suspend-Response-Indication,
+ TAI,
+ TAIListForPaging,
+ TAIListForRestart,
+ TargetID,
+ TargetNSSAIInformation,
+ TargetToSource-TransparentContainer,
+ TargettoSource-Failure-TransparentContainer,
+ TimeSyncAssistanceInfo,
+ TimeToWait,
+ TNLAssociationList,
+ TraceActivation,
+ TrafficLoadReductionIndication,
+ TransportLayerAddress,
+ UEAggregateMaximumBitRate,
+ UE-associatedLogicalNG-connectionList,
+ UECapabilityInfoRequest,
+ UEContextRequest,
+ UE-DifferentiationInfo,
+ UE-NGAP-IDs,
+ UEPagingIdentity,
+ UEPresenceInAreaOfInterestList,
+ UERadioCapability,
+ UERadioCapabilityForPaging,
+ UERadioCapabilityID,
+ UERetentionInformation,
+ UESecurityCapabilities,
+ UESliceMaximumBitRateList,
+ UE-UP-CIoT-Support,
+ UL-CP-SecurityInformation,
+ UnavailableGUAMIList,
+ URI-address,
+ UserLocationInformation,
+ WarningAreaCoordinates,
+ WarningAreaList,
+ WarningMessageContents,
+ WarningSecurityInfo,
+ WarningType,
+ WUS-Assistance-Information,
+ RIMInformationTransfer
+
+FROM NGAP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-SingleContainer{},
+ NGAP-PRIVATE-IES,
+ NGAP-PROTOCOL-EXTENSION,
+ NGAP-PROTOCOL-IES,
+ NGAP-PROTOCOL-IES-PAIR
+FROM NGAP-Containers
+
+ id-AllowedNSSAI,
+ id-AMFName,
+ id-AMFOverloadResponse,
+ id-AMFSetID,
+ id-AMF-TNLAssociationFailedToSetupList,
+ id-AMF-TNLAssociationSetupList,
+ id-AMF-TNLAssociationToAddList,
+ id-AMF-TNLAssociationToRemoveList,
+ id-AMF-TNLAssociationToUpdateList,
+ id-AMFTrafficLoadReductionIndication,
+ id-AMF-UE-NGAP-ID,
+ id-AssistanceDataForPaging,
+ id-AuthenticatedIndication,
+ id-BroadcastCancelledAreaList,
+ id-BroadcastCompletedAreaList,
+ id-CancelAllWarningMessages,
+ id-Cause,
+ id-CellIDListForRestart,
+ id-CEmodeBrestricted,
+ id-CEmodeBSupport-Indicator,
+ id-CNAssistedRANTuning,
+ id-ConcurrentWarningMessageInd,
+ id-CoreNetworkAssistanceInformationForInactive,
+ id-CriticalityDiagnostics,
+ id-DataCodingScheme,
+ id-DefaultPagingDRX,
+ id-DirectForwardingPathAvailability,
+ id-DL-CP-SecurityInformation,
+ id-EarlyStatusTransfer-TransparentContainer,
+ id-EDT-Session,
+ id-EmergencyAreaIDListForRestart,
+ id-EmergencyFallbackIndicator,
+ id-ENDC-SONConfigurationTransferDL,
+ id-ENDC-SONConfigurationTransferUL,
+ id-EndIndication,
+ id-Enhanced-CoverageRestriction,
+ id-EUTRA-CGI,
+ id-EUTRA-PagingeDRXInformation,
+ id-Extended-AMFName,
+ id-Extended-ConnectedTime,
+ id-Extended-RANNodeName,
+ id-FiveG-ProSeAuthorized,
+ id-FiveG-ProSeUEPC5AggregateMaximumBitRate,
+ id-FiveG-ProSePC5QoSParameters,
+ id-FiveG-S-TMSI,
+ id-GlobalRANNodeID,
+ id-GUAMI,
+ id-HandoverFlag,
+ id-HandoverType,
+ id-IAB-Authorized,
+ id-IAB-Supported,
+ id-IABNodeIndication,
+ id-IMSVoiceSupportIndicator,
+ id-IndexToRFSP,
+ id-InfoOnRecommendedCellsAndRANNodesForPaging,
+ id-IntersystemSONConfigurationTransferDL,
+ id-IntersystemSONConfigurationTransferUL,
+ id-LocationReportingRequestType,
+ id-LTEM-Indication,
+ id-LTEV2XServicesAuthorized,
+ id-LTEUESidelinkAggregateMaximumBitrate,
+ id-ManagementBasedMDTPLMNList,
+ id-ManagementBasedMDTPLMNModificationList,
+ id-MaskedIMEISV,
+ id-MBS-AreaSessionID,
+ id-MBS-ServiceArea,
+ id-MBS-SessionID,
+ id-MBS-DistributionReleaseRequestTransfer,
+ id-MBS-DistributionSetupRequestTransfer,
+ id-MBS-DistributionSetupResponseTransfer,
+ id-MBS-DistributionSetupUnsuccessfulTransfer,
+ id-MBSSessionModificationFailureTransfer,
+ id-MBSSessionModificationRequestTransfer,
+ id-MBSSessionModificationResponseTransfer,
+ id-MBSSessionReleaseResponseTransfer,
+ id-MBSSessionSetupFailureTransfer,
+ id-MBSSessionSetupRequestTransfer,
+ id-MBSSessionSetupResponseTransfer,
+ id-MessageIdentifier,
+ id-MobilityRestrictionList,
+ id-MulticastSessionActivationRequestTransfer,
+ id-MulticastSessionDeactivationRequestTransfer,
+ id-MulticastSessionUpdateRequestTransfer,
+ id-MulticastGroupPagingAreaList,
+ id-NAS-PDU,
+ id-NASC,
+ id-NASSecurityParametersFromNGRAN,
+ id-NB-IoT-DefaultPagingDRX,
+ id-NB-IoT-PagingDRX,
+ id-NB-IoT-Paging-eDRXInfo,
+ id-NB-IoT-UEPriority,
+ id-NewAMF-UE-NGAP-ID,
+ id-NewGUAMI,
+ id-NewSecurityContextInd,
+ id-NGAP-Message,
+ id-NGRAN-CGI,
+ id-NGRAN-TNLAssociationToRemoveList,
+ id-NGRANTraceID,
+ id-NotifySourceNGRANNode,
+ id-NPN-AccessInformation,
+ id-NR-PagingeDRXInformation,
+ id-NRPPa-PDU,
+ id-NRV2XServicesAuthorized,
+ id-NRUESidelinkAggregateMaximumBitrate,
+ id-NumberOfBroadcastsRequested,
+ id-OldAMF,
+ id-OverloadStartNSSAIList,
+ id-PagingAssisDataforCEcapabUE,
+ id-PagingCause,
+ id-PagingDRX,
+ id-PagingOrigin,
+ id-PagingPriority,
+ id-PDUSessionResourceAdmittedList,
+ id-PDUSessionResourceFailedToModifyListModCfm,
+ id-PDUSessionResourceFailedToModifyListModRes,
+ id-PDUSessionResourceFailedToResumeListRESReq,
+ id-PDUSessionResourceFailedToResumeListRESRes,
+ id-PDUSessionResourceFailedToSetupListCxtFail,
+ id-PDUSessionResourceFailedToSetupListCxtRes,
+ id-PDUSessionResourceFailedToSetupListHOAck,
+ id-PDUSessionResourceFailedToSetupListPSReq,
+ id-PDUSessionResourceFailedToSetupListSURes,
+ id-PDUSessionResourceHandoverList,
+ id-PDUSessionResourceListCxtRelCpl,
+ id-PDUSessionResourceListCxtRelReq,
+ id-PDUSessionResourceListHORqd,
+ id-PDUSessionResourceModifyListModCfm,
+ id-PDUSessionResourceModifyListModInd,
+ id-PDUSessionResourceModifyListModReq,
+ id-PDUSessionResourceModifyListModRes,
+ id-PDUSessionResourceNotifyList,
+ id-PDUSessionResourceReleasedListNot,
+ id-PDUSessionResourceReleasedListPSAck,
+ id-PDUSessionResourceReleasedListPSFail,
+ id-PDUSessionResourceReleasedListRelRes,
+ id-PDUSessionResourceResumeListRESReq,
+ id-PDUSessionResourceResumeListRESRes,
+ id-PDUSessionResourceSecondaryRATUsageList,
+ id-PDUSessionResourceSetupListCxtReq,
+ id-PDUSessionResourceSetupListCxtRes,
+ id-PDUSessionResourceSetupListHOReq,
+ id-PDUSessionResourceSetupListSUReq,
+ id-PDUSessionResourceSetupListSURes,
+ id-PDUSessionResourceSuspendListSUSReq,
+ id-PDUSessionResourceSwitchedList,
+ id-PDUSessionResourceToBeSwitchedDLList,
+ id-PDUSessionResourceToReleaseListHOCmd,
+ id-PDUSessionResourceToReleaseListRelCmd,
+ id-PEIPSassistanceInformation,
+ id-PLMNSupportList,
+ id-PrivacyIndicator,
+ id-PWSFailedCellIDList,
+ id-PC5QoSParameters,
+ id-QMCConfigInfo,
+ id-QMCDeactivation,
+ id-RANNodeName,
+ id-RANPagingPriority,
+ id-RANStatusTransfer-TransparentContainer,
+ id-RAN-UE-NGAP-ID,
+ id-RedCapIndication,
+ id-RedirectionVoiceFallback,
+ id-RelativeAMFCapacity,
+ id-RepetitionPeriod,
+ id-ResetType,
+ id-RGLevelWirelineAccessCharacteristics,
+ id-RoutingID,
+ id-RRCEstablishmentCause,
+ id-RRCInactiveTransitionReportRequest,
+ id-RRC-Resume-Cause,
+ id-RRCState,
+ id-SecurityContext,
+ id-SecurityKey,
+ id-SelectedPLMNIdentity,
+ id-SerialNumber,
+ id-ServedGUAMIList,
+ id-SliceSupportList,
+ id-S-NSSAI,
+ id-SONConfigurationTransferDL,
+ id-SONConfigurationTransferUL,
+ id-SourceAMF-UE-NGAP-ID,
+ id-SourceToTarget-TransparentContainer,
+ id-SourceToTarget-AMFInformationReroute,
+ id-SRVCCOperationPossible,
+ id-SupportedTAList,
+ id-Suspend-Request-Indication,
+ id-Suspend-Response-Indication,
+ id-TAI,
+ id-TAIListForPaging,
+ id-TAIListForRestart,
+ id-TargetID,
+ id-TargetNSSAIInformation,
+ id-TargetToSource-TransparentContainer,
+ id-TargettoSource-Failure-TransparentContainer,
+ id-TimeSyncAssistanceInfo,
+ id-TimeToWait,
+ id-TNGFIdentityInformation,
+ id-TraceActivation,
+ id-TraceCollectionEntityIPAddress,
+ id-TraceCollectionEntityURI,
+ id-TWIFIdentityInformation,
+ id-UEAggregateMaximumBitRate,
+ id-UE-associatedLogicalNG-connectionList,
+ id-UECapabilityInfoRequest,
+ id-UEContextRequest,
+ id-UE-DifferentiationInfo,
+ id-UE-NGAP-IDs,
+ id-UEPagingIdentity,
+ id-UEPresenceInAreaOfInterestList,
+ id-UERadioCapability,
+ id-UERadioCapabilityForPaging,
+ id-UERadioCapabilityID,
+ id-UERadioCapability-EUTRA-Format,
+ id-UERetentionInformation,
+ id-UESecurityCapabilities,
+ id-UESliceMaximumBitRateList,
+ id-UE-UP-CIoT-Support,
+ id-UL-CP-SecurityInformation,
+ id-UnavailableGUAMIList,
+ id-UserLocationInformation,
+ id-W-AGFIdentityInformation,
+ id-WarningAreaCoordinates,
+ id-WarningAreaList,
+ id-WarningMessageContents,
+ id-WarningSecurityInfo,
+ id-WarningType,
+ id-WUS-Assistance-Information,
+ id-RIMInformationTransfer
+
+FROM NGAP-Constants;
+
+-- **************************************************************
+--
+-- PDU SESSION MANAGEMENT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDU Session Resource Setup Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDU SESSION RESOURCE SETUP REQUEST
+--
+-- **************************************************************
+
+PDUSessionResourceSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceSetupRequestIEs} },
+ ...
+}
+
+PDUSessionResourceSetupRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }|
+ { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE optional }|
+ { ID id-PDUSessionResourceSetupListSUReq CRITICALITY reject TYPE PDUSessionResourceSetupListSUReq PRESENCE mandatory }|
+ { ID id-UEAggregateMaximumBitRate CRITICALITY ignore TYPE UEAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PDU SESSION RESOURCE SETUP RESPONSE
+--
+-- **************************************************************
+
+PDUSessionResourceSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceSetupResponseIEs} },
+ ...
+}
+
+PDUSessionResourceSetupResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceSetupListSURes CRITICALITY ignore TYPE PDUSessionResourceSetupListSURes PRESENCE optional }|
+ { ID id-PDUSessionResourceFailedToSetupListSURes CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListSURes PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Release Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDU SESSION RESOURCE RELEASE COMMAND
+--
+-- **************************************************************
+
+PDUSessionResourceReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceReleaseCommandIEs} },
+ ...
+}
+
+PDUSessionResourceReleaseCommandIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }|
+ { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional }|
+ { ID id-PDUSessionResourceToReleaseListRelCmd CRITICALITY reject TYPE PDUSessionResourceToReleaseListRelCmd PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PDU SESSION RESOURCE RELEASE RESPONSE
+--
+-- **************************************************************
+
+PDUSessionResourceReleaseResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceReleaseResponseIEs} },
+ ...
+}
+
+PDUSessionResourceReleaseResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceReleasedListRelRes CRITICALITY ignore TYPE PDUSessionResourceReleasedListRelRes PRESENCE mandatory }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PDU Session Resource Modify Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDU SESSION RESOURCE MODIFY REQUEST
+--
+-- **************************************************************
+
+PDUSessionResourceModifyRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyRequestIEs} },
+ ...
+}
+
+PDUSessionResourceModifyRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }|
+ { ID id-PDUSessionResourceModifyListModReq CRITICALITY reject TYPE PDUSessionResourceModifyListModReq PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PDU SESSION RESOURCE MODIFY RESPONSE
+--
+-- **************************************************************
+
+PDUSessionResourceModifyResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyResponseIEs} },
+ ...
+}
+
+PDUSessionResourceModifyResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceModifyListModRes CRITICALITY ignore TYPE PDUSessionResourceModifyListModRes PRESENCE optional }|
+ { ID id-PDUSessionResourceFailedToModifyListModRes CRITICALITY ignore TYPE PDUSessionResourceFailedToModifyListModRes PRESENCE optional }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Notify Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDU SESSION RESOURCE NOTIFY
+--
+-- **************************************************************
+
+PDUSessionResourceNotify ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceNotifyIEs} },
+ ...
+}
+
+PDUSessionResourceNotifyIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceNotifyList CRITICALITY reject TYPE PDUSessionResourceNotifyList PRESENCE optional }|
+ { ID id-PDUSessionResourceReleasedListNot CRITICALITY ignore TYPE PDUSessionResourceReleasedListNot PRESENCE optional }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Modify Indication Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PDU SESSION RESOURCE MODIFY INDICATION
+--
+-- **************************************************************
+
+PDUSessionResourceModifyIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyIndicationIEs} },
+ ...
+}
+
+PDUSessionResourceModifyIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceModifyListModInd CRITICALITY reject TYPE PDUSessionResourceModifyListModInd PRESENCE mandatory }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PDU SESSION RESOURCE MODIFY CONFIRM
+--
+-- **************************************************************
+
+PDUSessionResourceModifyConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyConfirmIEs} },
+ ...
+}
+
+PDUSessionResourceModifyConfirmIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceModifyListModCfm CRITICALITY ignore TYPE PDUSessionResourceModifyListModCfm PRESENCE optional }|
+ { ID id-PDUSessionResourceFailedToModifyListModCfm CRITICALITY ignore TYPE PDUSessionResourceFailedToModifyListModCfm PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT MANAGEMENT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Initial Context Setup Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- INITIAL CONTEXT SETUP REQUEST
+--
+-- **************************************************************
+
+InitialContextSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} },
+ ...
+}
+
+InitialContextSetupRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-OldAMF CRITICALITY reject TYPE AMFName PRESENCE optional }|
+ { ID id-UEAggregateMaximumBitRate CRITICALITY reject TYPE UEAggregateMaximumBitRate PRESENCE conditional }|
+ { ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore TYPE CoreNetworkAssistanceInformationForInactive PRESENCE optional }|
+ { ID id-GUAMI CRITICALITY reject TYPE GUAMI PRESENCE mandatory }|
+ { ID id-PDUSessionResourceSetupListCxtReq CRITICALITY reject TYPE PDUSessionResourceSetupListCxtReq PRESENCE optional }|
+ { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE mandatory }|
+ { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
+ { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
+ { ID id-MobilityRestrictionList CRITICALITY ignore TYPE MobilityRestrictionList PRESENCE optional }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
+ { ID id-IndexToRFSP CRITICALITY ignore TYPE IndexToRFSP PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }|
+ { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional }|
+ { ID id-EmergencyFallbackIndicator CRITICALITY reject TYPE EmergencyFallbackIndicator PRESENCE optional }|
+ { ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore TYPE RRCInactiveTransitionReportRequest PRESENCE optional }|
+ { ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional }|
+ { ID id-RedirectionVoiceFallback CRITICALITY ignore TYPE RedirectionVoiceFallback PRESENCE optional }|
+ { ID id-LocationReportingRequestType CRITICALITY ignore TYPE LocationReportingRequestType PRESENCE optional }|
+ { ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
+ { ID id-IAB-Authorized CRITICALITY ignore TYPE IAB-Authorized PRESENCE optional }|
+ { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }|
+ { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }|
+ { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }|
+{ ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+{ ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
+{ ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+{ ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }|
+ { ID id-UE-UP-CIoT-Support CRITICALITY ignore TYPE UE-UP-CIoT-Support PRESENCE optional }|
+ { ID id-RGLevelWirelineAccessCharacteristics CRITICALITY ignore TYPE RGLevelWirelineAccessCharacteristics PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }|
+ { ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }|
+ { ID id-QMCConfigInfo CRITICALITY ignore TYPE QMCConfigInfo PRESENCE optional }|
+ { ID id-TargetNSSAIInformation CRITICALITY ignore TYPE TargetNSSAIInformation PRESENCE optional }|
+ { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }|
+ { ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore TYPE FiveG-ProSePC5QoSParameters PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- INITIAL CONTEXT SETUP RESPONSE
+--
+-- **************************************************************
+
+InitialContextSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} },
+ ...
+}
+
+InitialContextSetupResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceSetupListCxtRes CRITICALITY ignore TYPE PDUSessionResourceSetupListCxtRes PRESENCE optional }|
+ { ID id-PDUSessionResourceFailedToSetupListCxtRes CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListCxtRes PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INITIAL CONTEXT SETUP FAILURE
+--
+-- **************************************************************
+
+InitialContextSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {InitialContextSetupFailureIEs} },
+ ...
+}
+
+InitialContextSetupFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceFailedToSetupListCxtFail CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListCxtFail PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Release Request Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE REQUEST
+--
+-- **************************************************************
+
+UEContextReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextReleaseRequest-IEs} },
+ ...
+}
+
+UEContextReleaseRequest-IEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceListCxtRelReq CRITICALITY reject TYPE PDUSessionResourceListCxtRelReq PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Release Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE COMMAND
+--
+-- **************************************************************
+
+UEContextReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextReleaseCommand-IEs} },
+ ...
+}
+
+UEContextReleaseCommand-IEs NGAP-PROTOCOL-IES ::= {
+ { ID id-UE-NGAP-IDs CRITICALITY reject TYPE UE-NGAP-IDs PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE COMPLETE
+--
+-- **************************************************************
+
+UEContextReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextReleaseComplete-IEs} },
+ ...
+}
+
+UEContextReleaseComplete-IEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
+ { ID id-InfoOnRecommendedCellsAndRANNodesForPaging CRITICALITY ignore TYPE InfoOnRecommendedCellsAndRANNodesForPaging PRESENCE optional }|
+ { ID id-PDUSessionResourceListCxtRelCpl CRITICALITY reject TYPE PDUSessionResourceListCxtRelCpl PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-PagingAssisDataforCEcapabUE CRITICALITY ignore TYPE PagingAssisDataforCEcapabUE PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Resume Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE CONTEXT RESUME REQUEST
+--
+-- **************************************************************
+
+UEContextResumeRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextResumeRequestIEs} },
+ ...
+}
+
+UEContextResumeRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RRC-Resume-Cause CRITICALITY ignore TYPE RRCEstablishmentCause PRESENCE mandatory }|
+ { ID id-PDUSessionResourceResumeListRESReq CRITICALITY reject TYPE PDUSessionResourceResumeListRESReq PRESENCE optional }|
+ { ID id-PDUSessionResourceFailedToResumeListRESReq CRITICALITY reject TYPE PDUSessionResourceFailedToResumeListRESReq PRESENCE optional }|
+ { ID id-Suspend-Request-Indication CRITICALITY ignore TYPE Suspend-Request-Indication PRESENCE optional }|
+ { ID id-InfoOnRecommendedCellsAndRANNodesForPaging CRITICALITY ignore TYPE InfoOnRecommendedCellsAndRANNodesForPaging PRESENCE optional }|
+ { ID id-PagingAssisDataforCEcapabUE CRITICALITY ignore TYPE PagingAssisDataforCEcapabUE PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RESUME RESPONSE
+--
+-- **************************************************************
+
+UEContextResumeResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextResumeResponseIEs} },
+ ...
+}
+
+UEContextResumeResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceResumeListRESRes CRITICALITY reject TYPE PDUSessionResourceResumeListRESRes PRESENCE optional }|
+ { ID id-PDUSessionResourceFailedToResumeListRESRes CRITICALITY reject TYPE PDUSessionResourceFailedToResumeListRESRes PRESENCE optional }|
+ { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE optional }|
+ { ID id-Suspend-Response-Indication CRITICALITY ignore TYPE Suspend-Response-Indication PRESENCE optional }|
+ { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RESUME FAILURE
+--
+-- **************************************************************
+
+UEContextResumeFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextResumeFailureIEs} },
+ ...
+}
+
+UEContextResumeFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE Context Suspend Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE CONTEXT SUSPEND REQUEST
+--
+-- **************************************************************
+
+UEContextSuspendRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextSuspendRequestIEs} },
+ ...
+}
+
+UEContextSuspendRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-InfoOnRecommendedCellsAndRANNodesForPaging CRITICALITY ignore TYPE InfoOnRecommendedCellsAndRANNodesForPaging PRESENCE optional }|
+ { ID id-PagingAssisDataforCEcapabUE CRITICALITY ignore TYPE PagingAssisDataforCEcapabUE PRESENCE optional }|
+ { ID id-PDUSessionResourceSuspendListSUSReq CRITICALITY reject TYPE PDUSessionResourceSuspendListSUSReq PRESENCE optional }, ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT SUSPEND RESPONSE
+--
+-- **************************************************************
+
+UEContextSuspendResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextSuspendResponseIEs} },
+ ...
+}
+
+UEContextSuspendResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT SUSPEND FAILURE
+--
+-- **************************************************************
+
+UEContextSuspendFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextSuspendFailureIEs} },
+ ...
+}
+
+UEContextSuspendFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Modification Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION REQUEST
+--
+-- **************************************************************
+
+UEContextModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextModificationRequestIEs} },
+ ...
+}
+
+UEContextModificationRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }|
+ { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional }|
+ { ID id-IndexToRFSP CRITICALITY ignore TYPE IndexToRFSP PRESENCE optional }|
+ { ID id-UEAggregateMaximumBitRate CRITICALITY ignore TYPE UEAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional }|
+ { ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore TYPE CoreNetworkAssistanceInformationForInactive PRESENCE optional }|
+ { ID id-EmergencyFallbackIndicator CRITICALITY reject TYPE EmergencyFallbackIndicator PRESENCE optional }|
+ { ID id-NewAMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE optional }|
+ { ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore TYPE RRCInactiveTransitionReportRequest PRESENCE optional }|
+ { ID id-NewGUAMI CRITICALITY reject TYPE GUAMI PRESENCE optional }|
+ { ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
+ { ID id-IAB-Authorized CRITICALITY ignore TYPE IAB-Authorized PRESENCE optional }|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }|
+ { ID id-RGLevelWirelineAccessCharacteristics CRITICALITY ignore TYPE RGLevelWirelineAccessCharacteristics PRESENCE optional }|
+ { ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }|
+ { ID id-QMCConfigInfo CRITICALITY ignore TYPE QMCConfigInfo PRESENCE optional }|
+ { ID id-QMCDeactivation CRITICALITY ignore TYPE QMCDeactivation PRESENCE optional }|
+ { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNModificationList CRITICALITY ignore TYPE MDTPLMNModificationList PRESENCE optional }|
+ { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }|
+ { ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore TYPE FiveG-ProSePC5QoSParameters PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION RESPONSE
+--
+-- **************************************************************
+
+UEContextModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextModificationResponseIEs} },
+ ...
+}
+
+UEContextModificationResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RRCState CRITICALITY ignore TYPE RRCState PRESENCE optional }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION FAILURE
+--
+-- **************************************************************
+
+UEContextModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextModificationFailureIEs} },
+ ...
+}
+
+UEContextModificationFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RRC INACTIVE TRANSITION REPORT
+--
+-- **************************************************************
+
+RRCInactiveTransitionReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RRCInactiveTransitionReportIEs} },
+ ...
+}
+
+RRCInactiveTransitionReportIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RRCState CRITICALITY ignore TYPE RRCState PRESENCE mandatory }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- Retrieve UE Information
+--
+-- **************************************************************
+
+RetrieveUEInformation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { RetrieveUEInformationIEs} },
+ ...
+}
+
+RetrieveUEInformationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE mandatory },
+ ...
+
+}
+
+-- **************************************************************
+
+-- UE Information Transfer
+--
+-- **************************************************************
+
+UEInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEInformationTransferIEs} },
+ ...
+}
+
+UEInformationTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE mandatory }|
+ { ID id-NB-IoT-UEPriority CRITICALITY ignore TYPE NB-IoT-UEPriority PRESENCE optional }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
+ { ID id-S-NSSAI CRITICALITY ignore TYPE S-NSSAI PRESENCE optional }|
+ { ID id-AllowedNSSAI CRITICALITY ignore TYPE AllowedNSSAI PRESENCE optional }|
+ { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RAN CP Relocation Indication
+--
+-- **************************************************************
+
+RANCPRelocationIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { RANCPRelocationIndicationIEs} },
+ ...
+}
+
+RANCPRelocationIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE mandatory }|
+ { ID id-EUTRA-CGI CRITICALITY ignore TYPE EUTRA-CGI PRESENCE mandatory }|
+ { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory }|
+ { ID id-UL-CP-SecurityInformation CRITICALITY reject TYPE UL-CP-SecurityInformation PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE MOBILITY MANAGEMENT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Preparation Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- HANDOVER REQUIRED
+--
+-- **************************************************************
+
+HandoverRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HandoverRequiredIEs} },
+ ...
+}
+
+HandoverRequiredIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory }|
+ { ID id-DirectForwardingPathAvailability CRITICALITY ignore TYPE DirectForwardingPathAvailability PRESENCE optional }|
+ { ID id-PDUSessionResourceListHORqd CRITICALITY reject TYPE PDUSessionResourceListHORqd PRESENCE mandatory }|
+ { ID id-SourceToTarget-TransparentContainer CRITICALITY reject TYPE SourceToTarget-TransparentContainer PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER COMMAND
+--
+-- **************************************************************
+
+HandoverCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HandoverCommandIEs} },
+ ...
+}
+
+HandoverCommandIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory }|
+ { ID id-NASSecurityParametersFromNGRAN CRITICALITY reject TYPE NASSecurityParametersFromNGRAN PRESENCE conditional }|
+ -- This IE shall be present if HandoverType IE is set to value "5GStoEPPS" or “5GStoUTRAN†--
+ { ID id-PDUSessionResourceHandoverList CRITICALITY ignore TYPE PDUSessionResourceHandoverList PRESENCE optional }|
+ { ID id-PDUSessionResourceToReleaseListHOCmd CRITICALITY ignore TYPE PDUSessionResourceToReleaseListHOCmd PRESENCE optional }|
+ { ID id-TargetToSource-TransparentContainer CRITICALITY reject TYPE TargetToSource-TransparentContainer PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- HANDOVER PREPARATION FAILURE
+--
+-- **************************************************************
+
+HandoverPreparationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HandoverPreparationFailureIEs} },
+ ...
+}
+
+HandoverPreparationFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-TargettoSource-Failure-TransparentContainer CRITICALITY ignore TYPE TargettoSource-Failure-TransparentContainer PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Handover Resource Allocation Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- HANDOVER REQUEST
+--
+-- **************************************************************
+
+HandoverRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HandoverRequestIEs} },
+ ...
+}
+
+HandoverRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-UEAggregateMaximumBitRate CRITICALITY reject TYPE UEAggregateMaximumBitRate PRESENCE mandatory }|
+ { ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore TYPE CoreNetworkAssistanceInformationForInactive PRESENCE optional }|
+ { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
+ { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory }|
+ { ID id-NewSecurityContextInd CRITICALITY reject TYPE NewSecurityContextInd PRESENCE optional }|
+ { ID id-NASC CRITICALITY reject TYPE NAS-PDU PRESENCE optional }|
+ { ID id-PDUSessionResourceSetupListHOReq CRITICALITY reject TYPE PDUSessionResourceSetupListHOReq PRESENCE mandatory }|
+ { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE mandatory }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }|
+ { ID id-SourceToTarget-TransparentContainer CRITICALITY reject TYPE SourceToTarget-TransparentContainer PRESENCE mandatory }|
+ { ID id-MobilityRestrictionList CRITICALITY ignore TYPE MobilityRestrictionList PRESENCE optional }|
+ { ID id-LocationReportingRequestType CRITICALITY ignore TYPE LocationReportingRequestType PRESENCE optional }|
+ { ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore TYPE RRCInactiveTransitionReportRequest PRESENCE optional }|
+ { ID id-GUAMI CRITICALITY reject TYPE GUAMI PRESENCE mandatory }|
+ { ID id-RedirectionVoiceFallback CRITICALITY ignore TYPE RedirectionVoiceFallback PRESENCE optional }|
+ { ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
+ { ID id-IAB-Authorized CRITICALITY reject TYPE IAB-Authorized PRESENCE optional }|
+ { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }|
+ { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }|
+ { ID id-UE-UP-CIoT-Support CRITICALITY ignore TYPE UE-UP-CIoT-Support PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }|
+ { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }|
+ { ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }|
+ { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }|
+ { ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore TYPE FiveG-ProSePC5QoSParameters PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+HandoverRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HandoverRequestAcknowledgeIEs} },
+ ...
+}
+
+HandoverRequestAcknowledgeIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceAdmittedList CRITICALITY ignore TYPE PDUSessionResourceAdmittedList PRESENCE mandatory }|
+ { ID id-PDUSessionResourceFailedToSetupListHOAck CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListHOAck PRESENCE optional }|
+ { ID id-TargetToSource-TransparentContainer CRITICALITY reject TYPE TargetToSource-TransparentContainer PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-NPN-AccessInformation CRITICALITY reject TYPE NPN-AccessInformation PRESENCE optional }|
+ { ID id-RedCapIndication CRITICALITY ignore TYPE RedCapIndication PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- HANDOVER FAILURE
+--
+-- **************************************************************
+
+HandoverFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverFailureIEs} },
+ ...
+}
+
+HandoverFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-TargettoSource-Failure-TransparentContainer CRITICALITY ignore TYPE TargettoSource-Failure-TransparentContainer PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Handover Notification Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- HANDOVER NOTIFY
+--
+-- **************************************************************
+
+HandoverNotify ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverNotifyIEs} },
+ ...
+}
+
+HandoverNotifyIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }|
+ { ID id-NotifySourceNGRANNode CRITICALITY ignore TYPE NotifySourceNGRANNode PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Path Switch Request Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PATH SWITCH REQUEST
+--
+-- **************************************************************
+
+PathSwitchRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PathSwitchRequestIEs} },
+ ...
+}
+
+PathSwitchRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-SourceAMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }|
+ { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory }|
+ { ID id-PDUSessionResourceToBeSwitchedDLList CRITICALITY reject TYPE PDUSessionResourceToBeSwitchedDLList PRESENCE mandatory }|
+ { ID id-PDUSessionResourceFailedToSetupListPSReq CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListPSReq PRESENCE optional }|
+ { ID id-RRC-Resume-Cause CRITICALITY ignore TYPE RRCEstablishmentCause PRESENCE optional }|
+ { ID id-RedCapIndication CRITICALITY ignore TYPE RedCapIndication PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PATH SWITCH REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+PathSwitchRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PathSwitchRequestAcknowledgeIEs} },
+ ...
+}
+
+PathSwitchRequestAcknowledgeIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional }|
+ { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory }|
+ { ID id-NewSecurityContextInd CRITICALITY reject TYPE NewSecurityContextInd PRESENCE optional }|
+ { ID id-PDUSessionResourceSwitchedList CRITICALITY ignore TYPE PDUSessionResourceSwitchedList PRESENCE mandatory }|
+ { ID id-PDUSessionResourceReleasedListPSAck CRITICALITY ignore TYPE PDUSessionResourceReleasedListPSAck PRESENCE optional }|
+ { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE mandatory }|
+ { ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore TYPE CoreNetworkAssistanceInformationForInactive PRESENCE optional }|
+ { ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore TYPE RRCInactiveTransitionReportRequest PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-RedirectionVoiceFallback CRITICALITY ignore TYPE RedirectionVoiceFallback PRESENCE optional }|
+ { ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
+ { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }|
+ { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }|
+ { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }|
+ { ID id-UE-UP-CIoT-Support CRITICALITY ignore TYPE UE-UP-CIoT-Support PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }|
+ { ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }|
+ { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }|
+ { ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore TYPE FiveG-ProSePC5QoSParameters PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNModificationList CRITICALITY ignore TYPE MDTPLMNModificationList PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PATH SWITCH REQUEST FAILURE
+--
+-- **************************************************************
+
+PathSwitchRequestFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PathSwitchRequestFailureIEs} },
+ ...
+}
+
+PathSwitchRequestFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceReleasedListPSFail CRITICALITY ignore TYPE PDUSessionResourceReleasedListPSFail PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Handover Cancellation Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- HANDOVER CANCEL
+--
+-- **************************************************************
+
+HandoverCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverCancelIEs} },
+ ...
+}
+
+HandoverCancelIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER CANCEL ACKNOWLEDGE
+--
+-- **************************************************************
+
+HandoverCancelAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverCancelAcknowledgeIEs} },
+ ...
+}
+
+HandoverCancelAcknowledgeIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER SUCCESS ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- HANDOVER SUCCESS
+--
+-- **************************************************************
+
+HandoverSuccess ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverSuccessIEs} },
+ ...
+}
+
+HandoverSuccessIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK RAN EARLY STATUS TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Uplink RAN Early Status Transfer
+--
+-- **************************************************************
+
+UplinkRANEarlyStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UplinkRANEarlyStatusTransferIEs} },
+ ...
+}
+
+UplinkRANEarlyStatusTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory}|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory}|
+ { ID id-EarlyStatusTransfer-TransparentContainer CRITICALITY reject TYPE EarlyStatusTransfer-TransparentContainer PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK RAN EARLY STATUS TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Downlink RAN Early Status Transfer
+--
+-- **************************************************************
+
+DownlinkRANEarlyStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DownlinkRANEarlyStatusTransferIEs} },
+ ...
+}
+
+DownlinkRANEarlyStatusTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory}|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory}|
+ { ID id-EarlyStatusTransfer-TransparentContainer CRITICALITY reject TYPE EarlyStatusTransfer-TransparentContainer PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Uplink RAN Status Transfer Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UPLINK RAN STATUS TRANSFER
+--
+-- **************************************************************
+
+UplinkRANStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UplinkRANStatusTransferIEs} },
+ ...
+}
+
+UplinkRANStatusTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RANStatusTransfer-TransparentContainer CRITICALITY reject TYPE RANStatusTransfer-TransparentContainer PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- Downlink RAN Status Transfer Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DOWNLINK RAN STATUS TRANSFER
+--
+-- **************************************************************
+
+DownlinkRANStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DownlinkRANStatusTransferIEs} },
+ ...
+}
+
+DownlinkRANStatusTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RANStatusTransfer-TransparentContainer CRITICALITY reject TYPE RANStatusTransfer-TransparentContainer PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- PAGING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PAGING
+--
+-- **************************************************************
+
+Paging ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PagingIEs} },
+ ...
+}
+
+PagingIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-UEPagingIdentity CRITICALITY ignore TYPE UEPagingIdentity PRESENCE mandatory }|
+ { ID id-PagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional }|
+ { ID id-TAIListForPaging CRITICALITY ignore TYPE TAIListForPaging PRESENCE mandatory }|
+ { ID id-PagingPriority CRITICALITY ignore TYPE PagingPriority PRESENCE optional }|
+ { ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional }|
+ { ID id-PagingOrigin CRITICALITY ignore TYPE PagingOrigin PRESENCE optional }|
+ { ID id-AssistanceDataForPaging CRITICALITY ignore TYPE AssistanceDataForPaging PRESENCE optional }|
+ { ID id-NB-IoT-Paging-eDRXInfo CRITICALITY ignore TYPE NB-IoT-Paging-eDRXInfo PRESENCE optional }|
+ { ID id-NB-IoT-PagingDRX CRITICALITY ignore TYPE NB-IoT-PagingDRX PRESENCE optional }|
+ { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }|
+ { ID id-WUS-Assistance-Information CRITICALITY ignore TYPE WUS-Assistance-Information PRESENCE optional }|
+ { ID id-EUTRA-PagingeDRXInformation CRITICALITY ignore TYPE EUTRA-PagingeDRXInformation PRESENCE optional }|
+ { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }|
+ { ID id-NR-PagingeDRXInformation CRITICALITY ignore TYPE NR-PagingeDRXInformation PRESENCE optional }|
+ { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional }|
+ { ID id-PEIPSassistanceInformation CRITICALITY ignore TYPE PEIPSassistanceInformation PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- NAS TRANSPORT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- INITIAL UE MESSAGE
+--
+-- **************************************************************
+
+InitialUEMessage ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {InitialUEMessage-IEs} },
+ ...
+}
+
+InitialUEMessage-IEs NGAP-PROTOCOL-IES ::= {
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory }|
+ { ID id-UserLocationInformation CRITICALITY reject TYPE UserLocationInformation PRESENCE mandatory }|
+ { ID id-RRCEstablishmentCause CRITICALITY ignore TYPE RRCEstablishmentCause PRESENCE mandatory }|
+ { ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE optional }|
+ { ID id-AMFSetID CRITICALITY ignore TYPE AMFSetID PRESENCE optional }|
+ { ID id-UEContextRequest CRITICALITY ignore TYPE UEContextRequest PRESENCE optional }|
+ { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE optional }|
+ { ID id-SourceToTarget-AMFInformationReroute CRITICALITY ignore TYPE SourceToTarget-AMFInformationReroute PRESENCE optional }|
+ { ID id-SelectedPLMNIdentity CRITICALITY ignore TYPE PLMNIdentity PRESENCE optional }|
+ { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional }|
+ { ID id-CEmodeBSupport-Indicator CRITICALITY reject TYPE CEmodeBSupport-Indicator PRESENCE optional }|
+ { ID id-LTEM-Indication CRITICALITY ignore TYPE LTEM-Indication PRESENCE optional }|
+ { ID id-EDT-Session CRITICALITY ignore TYPE EDT-Session PRESENCE optional }|
+ { ID id-AuthenticatedIndication CRITICALITY ignore TYPE AuthenticatedIndication PRESENCE optional }|
+ { ID id-NPN-AccessInformation CRITICALITY reject TYPE NPN-AccessInformation PRESENCE optional }|
+ { ID id-RedCapIndication CRITICALITY ignore TYPE RedCapIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK NAS TRANSPORT
+--
+-- **************************************************************
+
+DownlinkNASTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DownlinkNASTransport-IEs} },
+ ...
+}
+
+DownlinkNASTransport-IEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-OldAMF CRITICALITY reject TYPE AMFName PRESENCE optional }|
+ { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }|
+ { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory }|
+ { ID id-MobilityRestrictionList CRITICALITY ignore TYPE MobilityRestrictionList PRESENCE optional }|
+ { ID id-IndexToRFSP CRITICALITY ignore TYPE IndexToRFSP PRESENCE optional }|
+ { ID id-UEAggregateMaximumBitRate CRITICALITY ignore TYPE UEAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE optional }|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
+ { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }|
+ { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }|
+ { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }|
+ { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
+ { ID id-UECapabilityInfoRequest CRITICALITY ignore TYPE UECapabilityInfoRequest PRESENCE optional }|
+ { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }|
+ { ID id-TargetNSSAIInformation CRITICALITY ignore TYPE TargetNSSAIInformation PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK NAS TRANSPORT
+--
+-- **************************************************************
+
+UplinkNASTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UplinkNASTransport-IEs} },
+ ...
+}
+
+-- WS modification, add a definition for messages
+W-AGFIdentityInformation ::= OCTET STRING
+TNGFIdentityInformation ::= OCTET STRING
+TWIFIdentityInformation ::= OCTET STRING
+
+UplinkNASTransport-IEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }|
+-- WS modification, add a definition for messages
+-- { ID id-W-AGFIdentityInformation CRITICALITY reject TYPE OCTET STRING PRESENCE optional }|
+ { ID id-W-AGFIdentityInformation CRITICALITY reject TYPE W-AGFIdentityInformation PRESENCE optional }|
+-- { ID id-TNGFIdentityInformation CRITICALITY reject TYPE OCTET STRING PRESENCE optional }|
+ { ID id-TNGFIdentityInformation CRITICALITY reject TYPE TNGFIdentityInformation PRESENCE optional }|
+-- { ID id-TWIFIdentityInformation CRITICALITY reject TYPE OCTET STRING PRESENCE optional },
+ { ID id-TWIFIdentityInformation CRITICALITY reject TYPE TWIFIdentityInformation PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- NAS NON DELIVERY INDICATION
+--
+-- **************************************************************
+
+NASNonDeliveryIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {NASNonDeliveryIndication-IEs} },
+ ...
+}
+
+NASNonDeliveryIndication-IEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- REROUTE NAS REQUEST
+--
+-- **************************************************************
+
+RerouteNASRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RerouteNASRequest-IEs} },
+ ...
+}
+
+-- WS modification, add a definition for NGAP Message
+NGAP-Message ::= OCTET STRING
+
+RerouteNASRequest-IEs NGAP-PROTOCOL-IES ::= {
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE optional }|
+-- WS modification, add a definition for NGAP Message
+-- { ID id-NGAP-Message CRITICALITY reject TYPE OCTET STRING PRESENCE mandatory }|
+ { ID id-NGAP-Message CRITICALITY reject TYPE NGAP-Message PRESENCE mandatory }|
+ { ID id-AMFSetID CRITICALITY reject TYPE AMFSetID PRESENCE mandatory }|
+ { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE optional }|
+ { ID id-SourceToTarget-AMFInformationReroute CRITICALITY ignore TYPE SourceToTarget-AMFInformationReroute PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- INTERFACE MANAGEMENT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- NG Setup Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- NG SETUP REQUEST
+--
+-- **************************************************************
+
+NGSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {NGSetupRequestIEs} },
+ ...
+}
+
+NGSetupRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-GlobalRANNodeID CRITICALITY reject TYPE GlobalRANNodeID PRESENCE mandatory }|
+ { ID id-RANNodeName CRITICALITY ignore TYPE RANNodeName PRESENCE optional }|
+ { ID id-SupportedTAList CRITICALITY reject TYPE SupportedTAList PRESENCE mandatory }|
+ { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory }|
+ { ID id-UERetentionInformation CRITICALITY ignore TYPE UERetentionInformation PRESENCE optional }|
+ { ID id-NB-IoT-DefaultPagingDRX CRITICALITY ignore TYPE NB-IoT-DefaultPagingDRX PRESENCE optional }|
+ { ID id-Extended-RANNodeName CRITICALITY ignore TYPE Extended-RANNodeName PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- NG SETUP RESPONSE
+--
+-- **************************************************************
+
+NGSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {NGSetupResponseIEs} },
+ ...
+}
+
+NGSetupResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMFName CRITICALITY reject TYPE AMFName PRESENCE mandatory }|
+ { ID id-ServedGUAMIList CRITICALITY reject TYPE ServedGUAMIList PRESENCE mandatory }|
+ { ID id-RelativeAMFCapacity CRITICALITY ignore TYPE RelativeAMFCapacity PRESENCE mandatory }|
+ { ID id-PLMNSupportList CRITICALITY reject TYPE PLMNSupportList PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-UERetentionInformation CRITICALITY ignore TYPE UERetentionInformation PRESENCE optional }|
+ { ID id-IAB-Supported CRITICALITY ignore TYPE IAB-Supported PRESENCE optional }|
+ { ID id-Extended-AMFName CRITICALITY ignore TYPE Extended-AMFName PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- NG SETUP FAILURE
+--
+-- **************************************************************
+
+NGSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {NGSetupFailureIEs} },
+ ...
+}
+
+NGSetupFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RAN Configuration Update Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RAN CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+RANConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RANConfigurationUpdateIEs} },
+ ...
+}
+
+RANConfigurationUpdateIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-RANNodeName CRITICALITY ignore TYPE RANNodeName PRESENCE optional }|
+ { ID id-SupportedTAList CRITICALITY reject TYPE SupportedTAList PRESENCE optional }|
+ { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional }|
+ { ID id-GlobalRANNodeID CRITICALITY ignore TYPE GlobalRANNodeID PRESENCE optional }|
+ { ID id-NGRAN-TNLAssociationToRemoveList CRITICALITY reject TYPE NGRAN-TNLAssociationToRemoveList PRESENCE optional }|
+ { ID id-NB-IoT-DefaultPagingDRX CRITICALITY ignore TYPE NB-IoT-DefaultPagingDRX PRESENCE optional }|
+ { ID id-Extended-RANNodeName CRITICALITY ignore TYPE Extended-RANNodeName PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RAN CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+RANConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RANConfigurationUpdateAcknowledgeIEs} },
+ ...
+}
+
+RANConfigurationUpdateAcknowledgeIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RAN CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+
+RANConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RANConfigurationUpdateFailureIEs} },
+ ...
+}
+
+RANConfigurationUpdateFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+...
+}
+
+-- **************************************************************
+--
+-- AMF Configuration Update Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- AMF CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+AMFConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {AMFConfigurationUpdateIEs} },
+ ...
+}
+
+AMFConfigurationUpdateIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMFName CRITICALITY reject TYPE AMFName PRESENCE optional }|
+ { ID id-ServedGUAMIList CRITICALITY reject TYPE ServedGUAMIList PRESENCE optional }|
+ { ID id-RelativeAMFCapacity CRITICALITY ignore TYPE RelativeAMFCapacity PRESENCE optional }|
+ { ID id-PLMNSupportList CRITICALITY reject TYPE PLMNSupportList PRESENCE optional }|
+ { ID id-AMF-TNLAssociationToAddList CRITICALITY ignore TYPE AMF-TNLAssociationToAddList PRESENCE optional }|
+ { ID id-AMF-TNLAssociationToRemoveList CRITICALITY ignore TYPE AMF-TNLAssociationToRemoveList PRESENCE optional }|
+ { ID id-AMF-TNLAssociationToUpdateList CRITICALITY ignore TYPE AMF-TNLAssociationToUpdateList PRESENCE optional }|
+ { ID id-Extended-AMFName CRITICALITY ignore TYPE Extended-AMFName PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- AMF CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+AMFConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {AMFConfigurationUpdateAcknowledgeIEs} },
+ ...
+}
+
+AMFConfigurationUpdateAcknowledgeIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-TNLAssociationSetupList CRITICALITY ignore TYPE AMF-TNLAssociationSetupList PRESENCE optional }|
+ { ID id-AMF-TNLAssociationFailedToSetupList CRITICALITY ignore TYPE TNLAssociationList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- AMF CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+
+AMFConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {AMFConfigurationUpdateFailureIEs} },
+ ...
+}
+
+AMFConfigurationUpdateFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- AMF Status Indication Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- AMF STATUS INDICATION
+--
+-- **************************************************************
+
+AMFStatusIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {AMFStatusIndicationIEs} },
+ ...
+}
+
+AMFStatusIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-UnavailableGUAMIList CRITICALITY reject TYPE UnavailableGUAMIList PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- NG Reset Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- NG RESET
+--
+-- **************************************************************
+
+NGReset ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {NGResetIEs} },
+ ...
+}
+
+NGResetIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- NG RESET ACKNOWLEDGE
+--
+-- **************************************************************
+
+NGResetAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {NGResetAcknowledgeIEs} },
+ ...
+}
+
+NGResetAcknowledgeIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-UE-associatedLogicalNG-connectionList CRITICALITY ignore TYPE UE-associatedLogicalNG-connectionList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Error Indication Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
+ ...
+}
+
+ErrorIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE optional }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-FiveG-S-TMSI CRITICALITY ignore TYPE FiveG-S-TMSI PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- OVERLOAD START
+--
+-- **************************************************************
+
+OverloadStart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {OverloadStartIEs} },
+ ...
+}
+
+OverloadStartIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMFOverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE optional }|
+ { ID id-AMFTrafficLoadReductionIndication CRITICALITY ignore TYPE TrafficLoadReductionIndication PRESENCE optional }|
+ { ID id-OverloadStartNSSAIList CRITICALITY ignore TYPE OverloadStartNSSAIList PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- OVERLOAD STOP
+--
+-- **************************************************************
+
+OverloadStop ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {OverloadStopIEs} },
+ ...
+}
+
+OverloadStopIEs NGAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CONFIGURATION TRANSFER ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UPLINK RAN CONFIGURATION TRANSFER
+--
+-- **************************************************************
+
+UplinkRANConfigurationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UplinkRANConfigurationTransferIEs} },
+ ...
+}
+
+UplinkRANConfigurationTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-SONConfigurationTransferUL CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional }|
+ { ID id-ENDC-SONConfigurationTransferUL CRITICALITY ignore TYPE EN-DCSONConfigurationTransfer PRESENCE optional }|
+ { ID id-IntersystemSONConfigurationTransferUL CRITICALITY ignore TYPE IntersystemSONConfigurationTransfer PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK RAN CONFIGURATION TRANSFER
+--
+-- **************************************************************
+
+DownlinkRANConfigurationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DownlinkRANConfigurationTransferIEs} },
+ ...
+}
+
+DownlinkRANConfigurationTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-SONConfigurationTransferDL CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional }|
+ { ID id-ENDC-SONConfigurationTransferDL CRITICALITY ignore TYPE EN-DCSONConfigurationTransfer PRESENCE optional }|
+ { ID id-IntersystemSONConfigurationTransferDL CRITICALITY ignore TYPE IntersystemSONConfigurationTransfer PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- WARNING MESSAGE TRANSMISSION ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Write-Replace Warning Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- WRITE-REPLACE WARNING REQUEST
+--
+-- **************************************************************
+
+WriteReplaceWarningRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} },
+ ...
+}
+
+WriteReplaceWarningRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
+ { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
+ { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
+ { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }|
+ { ID id-NumberOfBroadcastsRequested CRITICALITY reject TYPE NumberOfBroadcastsRequested PRESENCE mandatory }|
+ { ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }|
+ { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }|
+ { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }|
+ { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional }|
+ { ID id-ConcurrentWarningMessageInd CRITICALITY reject TYPE ConcurrentWarningMessageInd PRESENCE optional }|
+ { ID id-WarningAreaCoordinates CRITICALITY ignore TYPE WarningAreaCoordinates PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- WRITE-REPLACE WARNING RESPONSE
+--
+-- **************************************************************
+
+WriteReplaceWarningResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} },
+ ...
+}
+
+WriteReplaceWarningResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
+ { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
+ { ID id-BroadcastCompletedAreaList CRITICALITY ignore TYPE BroadcastCompletedAreaList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS Cancel Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PWS CANCEL REQUEST
+--
+-- **************************************************************
+
+PWSCancelRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PWSCancelRequestIEs} },
+ ...
+}
+
+PWSCancelRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
+ { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
+ { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
+ { ID id-CancelAllWarningMessages CRITICALITY reject TYPE CancelAllWarningMessages PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS CANCEL RESPONSE
+--
+-- **************************************************************
+
+PWSCancelResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PWSCancelResponseIEs} },
+ ...
+}
+
+PWSCancelResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
+ { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
+ { ID id-BroadcastCancelledAreaList CRITICALITY ignore TYPE BroadcastCancelledAreaList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS Restart Indication Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PWS RESTART INDICATION
+--
+-- **************************************************************
+
+PWSRestartIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PWSRestartIndicationIEs} },
+ ...
+}
+
+PWSRestartIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-CellIDListForRestart CRITICALITY reject TYPE CellIDListForRestart PRESENCE mandatory }|
+ { ID id-GlobalRANNodeID CRITICALITY reject TYPE GlobalRANNodeID PRESENCE mandatory }|
+ { ID id-TAIListForRestart CRITICALITY reject TYPE TAIListForRestart PRESENCE mandatory }|
+ { ID id-EmergencyAreaIDListForRestart CRITICALITY reject TYPE EmergencyAreaIDListForRestart PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS Failure Indication Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PWS FAILURE INDICATION
+--
+-- **************************************************************
+
+PWSFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PWSFailureIndicationIEs} },
+ ...
+}
+
+PWSFailureIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-PWSFailedCellIDList CRITICALITY reject TYPE PWSFailedCellIDList PRESENCE mandatory }|
+ { ID id-GlobalRANNodeID CRITICALITY reject TYPE GlobalRANNodeID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- NRPPA TRANSPORT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DOWNLINK UE ASSOCIATED NRPPA TRANSPORT
+--
+-- **************************************************************
+
+DownlinkUEAssociatedNRPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DownlinkUEAssociatedNRPPaTransportIEs} },
+ ...
+}
+
+DownlinkUEAssociatedNRPPaTransportIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE mandatory }|
+ { ID id-NRPPa-PDU CRITICALITY reject TYPE NRPPa-PDU PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK UE ASSOCIATED NRPPA TRANSPORT
+--
+-- **************************************************************
+
+UplinkUEAssociatedNRPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UplinkUEAssociatedNRPPaTransportIEs} },
+ ...
+}
+
+UplinkUEAssociatedNRPPaTransportIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE mandatory }|
+ { ID id-NRPPa-PDU CRITICALITY reject TYPE NRPPa-PDU PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK NON UE ASSOCIATED NRPPA TRANSPORT
+--
+-- **************************************************************
+
+DownlinkNonUEAssociatedNRPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DownlinkNonUEAssociatedNRPPaTransportIEs} },
+ ...
+}
+
+DownlinkNonUEAssociatedNRPPaTransportIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE mandatory }|
+ { ID id-NRPPa-PDU CRITICALITY reject TYPE NRPPa-PDU PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK NON UE ASSOCIATED NRPPA TRANSPORT
+--
+-- **************************************************************
+
+UplinkNonUEAssociatedNRPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UplinkNonUEAssociatedNRPPaTransportIEs} },
+ ...
+}
+
+UplinkNonUEAssociatedNRPPaTransportIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE mandatory }|
+ { ID id-NRPPa-PDU CRITICALITY reject TYPE NRPPa-PDU PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- TRACE ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- TRACE START
+--
+-- **************************************************************
+
+TraceStart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TraceStartIEs} },
+ ...
+}
+
+TraceStartIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- TRACE FAILURE INDICATION
+--
+-- **************************************************************
+
+TraceFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TraceFailureIndicationIEs} },
+ ...
+}
+
+TraceFailureIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-NGRANTraceID CRITICALITY ignore TYPE NGRANTraceID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- DEACTIVATE TRACE
+--
+-- **************************************************************
+
+DeactivateTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DeactivateTraceIEs} },
+ ...
+}
+
+DeactivateTraceIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-NGRANTraceID CRITICALITY ignore TYPE NGRANTraceID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL TRAFFIC TRACE
+--
+-- **************************************************************
+
+CellTrafficTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {CellTrafficTraceIEs} },
+ ...
+}
+
+CellTrafficTraceIEs NGAP-PROTOCOL-IES ::= {
+ {ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ {ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ {ID id-NGRANTraceID CRITICALITY ignore TYPE NGRANTraceID PRESENCE mandatory }|
+ {ID id-NGRAN-CGI CRITICALITY ignore TYPE NGRAN-CGI PRESENCE mandatory }|
+ {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }|
+ {ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional }|
+ {ID id-TraceCollectionEntityURI CRITICALITY ignore TYPE URI-address PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- LOCATION REPORTING ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- LOCATION REPORTING CONTROL
+--
+-- **************************************************************
+
+LocationReportingControl ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} },
+ ...
+}
+
+LocationReportingControlIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-LocationReportingRequestType CRITICALITY ignore TYPE LocationReportingRequestType PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- LOCATION REPORTING FAILURE INDICATION
+--
+-- **************************************************************
+
+LocationReportingFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {LocationReportingFailureIndicationIEs} },
+ ...
+}
+
+LocationReportingFailureIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- LOCATION REPORT
+--
+-- **************************************************************
+
+LocationReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {LocationReportIEs} },
+ ...
+}
+
+LocationReportIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }|
+ { ID id-UEPresenceInAreaOfInterestList CRITICALITY ignore TYPE UEPresenceInAreaOfInterestList PRESENCE optional }|
+ { ID id-LocationReportingRequestType CRITICALITY ignore TYPE LocationReportingRequestType PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE TNLA BINDING ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE TNLA BINDING RELEASE REQUEST
+--
+-- **************************************************************
+
+UETNLABindingReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UETNLABindingReleaseRequestIEs} },
+ ...
+}
+
+UETNLABindingReleaseRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY MANAGEMENT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY INFO INDICATION
+--
+-- **************************************************************
+
+UERadioCapabilityInfoIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UERadioCapabilityInfoIndicationIEs} },
+ ...
+}
+
+UERadioCapabilityInfoIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory }|
+ { ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional }|
+ { ID id-UERadioCapability-EUTRA-Format CRITICALITY ignore TYPE UERadioCapability PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Radio Capability Check Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY CHECK REQUEST
+--
+-- **************************************************************
+
+UERadioCapabilityCheckRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UERadioCapabilityCheckRequestIEs} },
+ ...
+}
+
+UERadioCapabilityCheckRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY CHECK RESPONSE
+--
+-- **************************************************************
+
+UERadioCapabilityCheckResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UERadioCapabilityCheckResponseIEs} },
+ ...
+}
+
+UERadioCapabilityCheckResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-IMSVoiceSupportIndicator CRITICALITY reject TYPE IMSVoiceSupportIndicator PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container { { PrivateMessageIEs } },
+ ...
+}
+
+PrivateMessageIEs NGAP-PRIVATE-IES ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- DATA USAGE REPORTING ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- SECONDARY RAT DATA USAGE REPORT
+--
+-- **************************************************************
+
+SecondaryRATDataUsageReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {SecondaryRATDataUsageReportIEs} },
+ ...
+}
+
+SecondaryRATDataUsageReportIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-PDUSessionResourceSecondaryRATUsageList CRITICALITY ignore TYPE PDUSessionResourceSecondaryRATUsageList PRESENCE mandatory }|
+ { ID id-HandoverFlag CRITICALITY ignore TYPE HandoverFlag PRESENCE optional }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RIM INFORMATION TRANSFER ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UPLINK RIM INFORMATION TRANSFER
+--
+-- **************************************************************
+
+UplinkRIMInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UplinkRIMInformationTransferIEs} },
+ ...
+}
+
+UplinkRIMInformationTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-RIMInformationTransfer CRITICALITY ignore TYPE RIMInformationTransfer PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- DOWNLINK RIM INFORMATION TRANSFER
+--
+-- **************************************************************
+
+DownlinkRIMInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DownlinkRIMInformationTransferIEs} },
+ ...
+}
+
+DownlinkRIMInformationTransferIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-RIMInformationTransfer CRITICALITY ignore TYPE RIMInformationTransfer PRESENCE optional },
+
+ ...
+}
+
+-- **************************************************************
+--
+-- Connection Establishment Indication
+--
+-- **************************************************************
+
+ConnectionEstablishmentIndication::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ConnectionEstablishmentIndicationIEs} },
+ ...
+}
+
+ConnectionEstablishmentIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
+ { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional }|
+ { ID id-S-NSSAI CRITICALITY ignore TYPE S-NSSAI PRESENCE optional }|
+ { ID id-AllowedNSSAI CRITICALITY ignore TYPE AllowedNSSAI PRESENCE optional }|
+ { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }|
+ { ID id-DL-CP-SecurityInformation CRITICALITY ignore TYPE DL-CP-SecurityInformation PRESENCE optional }|
+ { ID id-NB-IoT-UEPriority CRITICALITY ignore TYPE NB-IoT-UEPriority PRESENCE optional }|
+ { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }|
+ { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }|
+ { ID id-OldAMF CRITICALITY reject TYPE AMFName PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY ID MAPPING ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY ID MAPPING REQUEST
+--
+-- **************************************************************
+
+UERadioCapabilityIDMappingRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UERadioCapabilityIDMappingRequestIEs} },
+ ...
+}
+
+UERadioCapabilityIDMappingRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY ID MAPPING RESPONSE
+--
+-- **************************************************************
+
+UERadioCapabilityIDMappingResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UERadioCapabilityIDMappingResponseIEs} },
+ ...
+}
+
+UERadioCapabilityIDMappingResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE mandatory }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- AMF CP Relocation Indication
+--
+-- **************************************************************
+
+AMFCPRelocationIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { AMFCPRelocationIndicationIEs} },
+ ...
+}
+
+AMFCPRelocationIndicationIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
+ { ID id-S-NSSAI CRITICALITY ignore TYPE S-NSSAI PRESENCE optional }|
+ { ID id-AllowedNSSAI CRITICALITY ignore TYPE AllowedNSSAI PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MBS SESSION MANAGEMENT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Broadcast Session Setup Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BROADCAST SESSION SETUP REQUEST
+--
+-- **************************************************************
+
+BroadcastSessionSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BroadcastSessionSetupRequestIEs} },
+ ...
+}
+-- WS modification: define a dedicated type
+MBSSessionSetupOrModRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBSSessionSetupOrModRequestTransfer)
+
+BroadcastSessionSetupRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-S-NSSAI CRITICALITY reject TYPE S-NSSAI PRESENCE mandatory }|
+ { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE mandatory }|
+-- WS modification: define a dedicated type
+-- { ID id-MBSSessionSetupRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModRequestTransfer) PRESENCE mandatory },
+ { ID id-MBSSessionSetupRequestTransfer CRITICALITY reject TYPE MBSSessionSetupOrModRequestTransfer-OCTET-STRING PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- BROADCAST SESSION SETUP RESPONSE
+--
+-- **************************************************************
+
+BroadcastSessionSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BroadcastSessionSetupResponseIEs} },
+ ...
+}
+
+-- WS modification: define a dedicated type
+MBSSessionSetupOrModResponseTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBSSessionSetupOrModResponseTransfer)
+
+BroadcastSessionSetupResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+-- WS modification: define a dedicated type
+-- { ID id-MBSSessionSetupResponseTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModResponseTransfer) PRESENCE optional }|
+ { ID id-MBSSessionSetupResponseTransfer CRITICALITY reject TYPE MBSSessionSetupOrModResponseTransfer-OCTET-STRING PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BROADCAST SESSION SETUP FAILURE
+--
+-- **************************************************************
+
+BroadcastSessionSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BroadcastSessionSetupFailureIEs} },
+ ...
+}
+
+-- WS modification: define a dedicated type
+MBSSessionSetupOrModFailureTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBSSessionSetupOrModFailureTransfer)
+
+BroadcastSessionSetupFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+-- WS modification: define a dedicated type
+-- { ID id-MBSSessionSetupFailureTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModFailureTransfer ) PRESENCE optional }|
+ { ID id-MBSSessionSetupFailureTransfer CRITICALITY reject TYPE MBSSessionSetupOrModFailureTransfer-OCTET-STRING PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Broadcast Session Modification Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BROADCAST SESSION MODIFICATION REQUEST
+--
+-- **************************************************************
+
+BroadcastSessionModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BroadcastSessionModificationRequestIEs} },
+ ...
+}
+
+BroadcastSessionModificationRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MBSSessionModificationRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModRequestTransfer) PRESENCE optional },
+ { ID id-MBSSessionModificationRequestTransfer CRITICALITY reject TYPE MBSSessionSetupOrModRequestTransfer-OCTET-STRING PRESENCE optional }, ...
+}
+
+-- **************************************************************
+--
+-- BROADCAST SESSION MODIFICATION RESPONSE
+--
+-- **************************************************************
+
+BroadcastSessionModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BroadcastSessionModificationResponseIEs} },
+ ...
+}
+
+BroadcastSessionModificationResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+-- WS modification: define a dedicated type
+-- { ID id-MBSSessionModificationResponseTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModResponseTransfer) PRESENCE optional }|
+ { ID id-MBSSessionModificationResponseTransfer CRITICALITY reject TYPE MBSSessionSetupOrModResponseTransfer-OCTET-STRING PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- BROADCAST SESSION MODIFICATION FAILURE
+--
+-- **************************************************************
+
+BroadcastSessionModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BroadcastSessionModificationFailureIEs} },
+ ...
+}
+
+BroadcastSessionModificationFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+-- WS modification: define a dedicated type
+-- { ID id-MBSSessionModificationFailureTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModFailureTransfer) PRESENCE optional }|
+ { ID id-MBSSessionModificationFailureTransfer CRITICALITY reject TYPE MBSSessionSetupOrModFailureTransfer-OCTET-STRING PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Broadcast Session Release Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BROADCAST SESSION RELEASE REQUEST
+--
+-- **************************************************************
+
+BroadcastSessionReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BroadcastSessionReleaseRequestIEs} },
+ ...
+}
+
+BroadcastSessionReleaseRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- Broadcast Session Release Required Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- BROADCAST SESSION RELEASE REQUIRED
+--
+-- **************************************************************
+
+BroadcastSessionReleaseRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BroadcastSessionReleaseRequiredIEs} },
+ ...
+}
+
+BroadcastSessionReleaseRequiredIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- BROADCAST SESSION RELEASE RESPONSE
+--
+-- **************************************************************
+
+BroadcastSessionReleaseResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {BroadcastSessionReleaseResponseIEs} },
+ ...
+}
+
+-- WS modification: defien a dedicated type
+MBSSessionReleaseResponseTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBSSessionReleaseResponseTransfer)
+
+BroadcastSessionReleaseResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+-- WS modification: define a dedicated type
+-- { ID id-MBSSessionReleaseResponseTransfer CRITICALITY ignore TYPE OCTET STRING (CONTAINING MBSSessionReleaseResponseTransfer) PRESENCE optional }|
+ { ID id-MBSSessionReleaseResponseTransfer CRITICALITY ignore TYPE MBSSessionReleaseResponseTransfer-OCTET-STRING PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Distribution Setup Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DISTRIBUTION SETUP REQUEST
+--
+-- **************************************************************
+
+DistributionSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DistributionSetupRequestIEs} },
+ ...
+}
+
+-- WS modification: define a dedicated type
+MBS-DistributionSetupRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBS-DistributionSetupRequestTransfer)
+
+DistributionSetupRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MBS-DistributionSetupRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBS-DistributionSetupRequestTransfer) PRESENCE mandatory },
+ { ID id-MBS-DistributionSetupRequestTransfer CRITICALITY reject TYPE MBS-DistributionSetupRequestTransfer-OCTET-STRING PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- DISTRIBUTION SETUP RESPONSE
+--
+-- **************************************************************
+
+DistributionSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DistributionSetupResponseIEs} },
+ ...
+}
+
+-- WS modification: define a dedicated type
+MBS-DistributionSetupResponseTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBS-DistributionSetupResponseTransfer)
+
+DistributionSetupResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MBS-DistributionSetupResponseTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBS-DistributionSetupResponseTransfer) PRESENCE mandatory }|
+ { ID id-MBS-DistributionSetupResponseTransfer CRITICALITY reject TYPE MBS-DistributionSetupResponseTransfer-OCTET-STRING PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DISTRIBUTION SETUP FAILURE
+--
+-- **************************************************************
+
+DistributionSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DistributionSetupFailureIEs} },
+ ...
+}
+
+-- WS modification: define a dedicated type
+MBS-DistributionSetupUnsuccessfulTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBS-DistributionSetupUnsuccessfulTransfer)
+
+DistributionSetupFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MBS-DistributionSetupUnsuccessfulTransfer CRITICALITY ignore TYPE OCTET STRING (CONTAINING MBS-DistributionSetupUnsuccessfulTransfer) PRESENCE mandatory }|
+ { ID id-MBS-DistributionSetupUnsuccessfulTransfer CRITICALITY ignore TYPE MBS-DistributionSetupUnsuccessfulTransfer-OCTET-STRING PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Distribution Release Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DISTRIBUTION RELEASE REQUEST
+--
+-- **************************************************************
+
+DistributionReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DistributionReleaseRequestIEs} },
+ ...
+}
+
+-- WS modification: define a dedicated type
+MBS-DistributionReleaseRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBS-DistributionReleaseRequestTransfer)
+
+DistributionReleaseRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MBS-DistributionReleaseRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBS-DistributionReleaseRequestTransfer) PRESENCE mandatory }|
+ { ID id-MBS-DistributionReleaseRequestTransfer CRITICALITY reject TYPE MBS-DistributionReleaseRequestTransfer-OCTET-STRING PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- DISTRIBUTION RELEASE RESPONSE
+--
+-- **************************************************************
+
+DistributionReleaseResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DistributionReleaseResponseIEs} },
+ ...
+}
+
+DistributionReleaseResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Multicast Session Activation Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MULTICAST SESSION ACTIVATION REQUEST
+--
+-- **************************************************************
+
+MulticastSessionActivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastSessionActivationRequestIEs} },
+ ...
+}
+
+-- WS modification: define a dedicated type
+MulticastSessionActivationRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MulticastSessionActivationRequestTransfer)
+
+MulticastSessionActivationRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+-- WS modification: define a dedicated type
+-- { ID id-MulticastSessionActivationRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MulticastSessionActivationRequestTransfer) PRESENCE mandatory },
+ { ID id-MulticastSessionActivationRequestTransfer CRITICALITY reject TYPE MulticastSessionActivationRequestTransfer-OCTET-STRING PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- MULTICAST SESSION ACTIVATION RESPONSE
+--
+-- **************************************************************
+
+MulticastSessionActivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastSessionActivationResponseIEs} },
+ ...
+}
+
+MulticastSessionActivationResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MULTICAST SESSION ACTIVATION FAILURE
+--
+-- **************************************************************
+
+MulticastSessionActivationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastSessionActivationFailureIEs} },
+ ...
+}
+
+MulticastSessionActivationFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Multicast Session Deactivation Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MULTICAST SESSION DEACTIVATION REQUEST
+--
+-- **************************************************************
+
+MulticastSessionDeactivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastSessionDeactivationRequestIEs} },
+ ...
+}
+
+-- WS modification: define a dedicated type
+MulticastSessionDeactivationRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MulticastSessionDeactivationRequestTransfer)
+
+MulticastSessionDeactivationRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+-- WS modification: define a dedicated type
+-- { ID id-MulticastSessionDeactivationRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MulticastSessionDeactivationRequestTransfer) PRESENCE mandatory },
+ { ID id-MulticastSessionDeactivationRequestTransfer CRITICALITY reject TYPE MulticastSessionDeactivationRequestTransfer-OCTET-STRING PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- MULTICAST SESSION DEACTIVATION RESPONSE
+--
+-- **************************************************************
+
+MulticastSessionDeactivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastSessionDeactivationResponseIEs} },
+ ...
+}
+
+MulticastSessionDeactivationResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Multicast Session Update Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MULTICAST SESSION UPDATE REQUEST
+--
+-- **************************************************************
+
+MulticastSessionUpdateRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastSessionUpdateRequestIEs} },
+ ...
+}
+
+-- WS modification: define a dedicated type
+MulticastSessionUpdateRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MulticastSessionUpdateRequestTransfer)
+
+MulticastSessionUpdateRequestIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MulticastSessionUpdateRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MulticastSessionUpdateRequestTransfer) PRESENCE mandatory },
+ { ID id-MulticastSessionUpdateRequestTransfer CRITICALITY reject TYPE MulticastSessionUpdateRequestTransfer-OCTET-STRING PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- MULTICAST SESSION UPDATE RESPONSE
+--
+-- **************************************************************
+
+MulticastSessionUpdateResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastSessionUpdateResponseIEs} },
+ ...
+}
+
+MulticastSessionUpdateResponseIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MULTICAST SESSION UPDATE FAILURE
+--
+-- **************************************************************
+
+MulticastSessionUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastSessionUpdateFailureIEs} },
+ ...
+}
+
+MulticastSessionUpdateFailureIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MULTICAST GROUP PAGING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MULTICAST GROUP PAGING
+--
+-- **************************************************************
+
+MulticastGroupPaging ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MulticastGroupPagingIEs} },
+ ...
+}
+
+MulticastGroupPagingIEs NGAP-PROTOCOL-IES ::= {
+ { ID id-MBS-SessionID CRITICALITY ignore TYPE MBS-SessionID PRESENCE mandatory }|
+ { ID id-MBS-ServiceArea CRITICALITY ignore TYPE MBS-ServiceArea PRESENCE optional }|
+ { ID id-MulticastGroupPagingAreaList CRITICALITY ignore TYPE MulticastGroupPagingAreaList PRESENCE mandatory },
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/ngap/NGAP-PDU-Descriptions.asn b/epan/dissectors/asn1/ngap/NGAP-PDU-Descriptions.asn
new file mode 100644
index 00000000..dcf47048
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/NGAP-PDU-Descriptions.asn
@@ -0,0 +1,888 @@
+-- 3GPP TS 38.413 V17.5.0 (2023-06)
+-- 9.4.3 Elementary Procedure Definitions
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+NGAP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ Criticality,
+ ProcedureCode
+FROM NGAP-CommonDataTypes
+
+ AMFConfigurationUpdate,
+ AMFConfigurationUpdateAcknowledge,
+ AMFConfigurationUpdateFailure,
+ AMFCPRelocationIndication,
+ AMFStatusIndication,
+ BroadcastSessionModificationFailure,
+ BroadcastSessionModificationRequest,
+ BroadcastSessionModificationResponse,
+ BroadcastSessionReleaseRequest,
+ BroadcastSessionReleaseRequired,
+ BroadcastSessionReleaseResponse,
+ BroadcastSessionSetupFailure,
+ BroadcastSessionSetupRequest,
+ BroadcastSessionSetupResponse,
+ CellTrafficTrace,
+ ConnectionEstablishmentIndication,
+ DeactivateTrace,
+ DistributionReleaseRequest,
+ DistributionReleaseResponse,
+ DistributionSetupFailure,
+ DistributionSetupRequest,
+ DistributionSetupResponse,
+ DownlinkNASTransport,
+ DownlinkNonUEAssociatedNRPPaTransport,
+ DownlinkRANConfigurationTransfer,
+ DownlinkRANEarlyStatusTransfer,
+ DownlinkRANStatusTransfer,
+ DownlinkUEAssociatedNRPPaTransport,
+ ErrorIndication,
+ HandoverCancel,
+ HandoverCancelAcknowledge,
+ HandoverCommand,
+ HandoverFailure,
+ HandoverNotify,
+ HandoverPreparationFailure,
+ HandoverRequest,
+ HandoverRequestAcknowledge,
+ HandoverRequired,
+ HandoverSuccess,
+ InitialContextSetupFailure,
+ InitialContextSetupRequest,
+ InitialContextSetupResponse,
+ InitialUEMessage,
+ LocationReport,
+ LocationReportingControl,
+ LocationReportingFailureIndication,
+ MulticastSessionActivationFailure,
+ MulticastSessionActivationRequest,
+ MulticastSessionActivationResponse,
+ MulticastSessionDeactivationRequest,
+ MulticastSessionDeactivationResponse,
+ MulticastSessionUpdateFailure,
+ MulticastSessionUpdateRequest,
+ MulticastSessionUpdateResponse,
+ MulticastGroupPaging,
+ NASNonDeliveryIndication,
+ NGReset,
+ NGResetAcknowledge,
+ NGSetupFailure,
+ NGSetupRequest,
+ NGSetupResponse,
+ OverloadStart,
+ OverloadStop,
+ Paging,
+ PathSwitchRequest,
+ PathSwitchRequestAcknowledge,
+ PathSwitchRequestFailure,
+ PDUSessionResourceModifyConfirm,
+ PDUSessionResourceModifyIndication,
+ PDUSessionResourceModifyRequest,
+ PDUSessionResourceModifyResponse,
+ PDUSessionResourceNotify,
+ PDUSessionResourceReleaseCommand,
+ PDUSessionResourceReleaseResponse,
+ PDUSessionResourceSetupRequest,
+ PDUSessionResourceSetupResponse,
+ PrivateMessage,
+ PWSCancelRequest,
+ PWSCancelResponse,
+ PWSFailureIndication,
+ PWSRestartIndication,
+ RANConfigurationUpdate,
+ RANConfigurationUpdateAcknowledge,
+ RANConfigurationUpdateFailure,
+ RANCPRelocationIndication,
+ RerouteNASRequest,
+ RetrieveUEInformation,
+ RRCInactiveTransitionReport,
+ SecondaryRATDataUsageReport,
+ TraceFailureIndication,
+ TraceStart,
+ UEContextModificationFailure,
+ UEContextModificationRequest,
+ UEContextModificationResponse,
+ UEContextReleaseCommand,
+ UEContextReleaseComplete,
+ UEContextReleaseRequest,
+ UEContextResumeRequest,
+ UEContextResumeResponse,
+ UEContextResumeFailure,
+ UEContextSuspendRequest,
+ UEContextSuspendResponse,
+ UEContextSuspendFailure,
+ UEInformationTransfer,
+ UERadioCapabilityCheckRequest,
+ UERadioCapabilityCheckResponse,
+ UERadioCapabilityIDMappingRequest,
+ UERadioCapabilityIDMappingResponse,
+ UERadioCapabilityInfoIndication,
+ UETNLABindingReleaseRequest,
+ UplinkNASTransport,
+ UplinkNonUEAssociatedNRPPaTransport,
+ UplinkRANConfigurationTransfer,
+ UplinkRANEarlyStatusTransfer,
+ UplinkRANStatusTransfer,
+ UplinkUEAssociatedNRPPaTransport,
+ WriteReplaceWarningRequest,
+ WriteReplaceWarningResponse,
+ UplinkRIMInformationTransfer,
+ DownlinkRIMInformationTransfer
+
+FROM NGAP-PDU-Contents
+
+ id-AMFConfigurationUpdate,
+ id-AMFCPRelocationIndication,
+ id-AMFStatusIndication,
+ id-BroadcastSessionModification,
+ id-BroadcastSessionRelease,
+ id-BroadcastSessionReleaseRequired,
+ id-BroadcastSessionSetup,
+ id-CellTrafficTrace,
+ id-ConnectionEstablishmentIndication,
+ id-DeactivateTrace,
+ id-DistributionSetup,
+ id-DistributionRelease,
+ id-DownlinkNASTransport,
+ id-DownlinkNonUEAssociatedNRPPaTransport,
+ id-DownlinkRANConfigurationTransfer,
+ id-DownlinkRANEarlyStatusTransfer,
+ id-DownlinkRANStatusTransfer,
+ id-DownlinkUEAssociatedNRPPaTransport,
+ id-ErrorIndication,
+ id-HandoverCancel,
+ id-HandoverNotification,
+ id-HandoverPreparation,
+ id-HandoverResourceAllocation,
+ id-HandoverSuccess,
+ id-InitialContextSetup,
+ id-InitialUEMessage,
+ id-LocationReport,
+ id-LocationReportingControl,
+ id-LocationReportingFailureIndication,
+ id-MulticastSessionActivation,
+ id-MulticastSessionDeactivation,
+ id-MulticastSessionUpdate,
+ id-MulticastGroupPaging,
+ id-NASNonDeliveryIndication,
+ id-NGReset,
+ id-NGSetup,
+ id-OverloadStart,
+ id-OverloadStop,
+ id-Paging,
+ id-PathSwitchRequest,
+ id-PDUSessionResourceModify,
+ id-PDUSessionResourceModifyIndication,
+ id-PDUSessionResourceNotify,
+ id-PDUSessionResourceRelease,
+ id-PDUSessionResourceSetup,
+ id-PrivateMessage,
+ id-PWSCancel,
+ id-PWSFailureIndication,
+ id-PWSRestartIndication,
+ id-RANConfigurationUpdate,
+ id-RANCPRelocationIndication,
+ id-RerouteNASRequest,
+ id-RetrieveUEInformation,
+ id-RRCInactiveTransitionReport,
+ id-SecondaryRATDataUsageReport,
+ id-TraceFailureIndication,
+ id-TraceStart,
+ id-UEContextModification,
+ id-UEContextRelease,
+ id-UEContextReleaseRequest,
+ id-UEContextResume,
+ id-UEContextSuspend,
+ id-UEInformationTransfer,
+ id-UERadioCapabilityCheck,
+ id-UERadioCapabilityIDMapping,
+ id-UERadioCapabilityInfoIndication,
+ id-UETNLABindingRelease,
+ id-UplinkNASTransport,
+ id-UplinkNonUEAssociatedNRPPaTransport,
+ id-UplinkRANConfigurationTransfer,
+ id-UplinkRANEarlyStatusTransfer,
+ id-UplinkRANStatusTransfer,
+ id-UplinkUEAssociatedNRPPaTransport,
+ id-WriteReplaceWarning,
+ id-UplinkRIMInformationTransfer,
+ id-DownlinkRIMInformationTransfer
+
+FROM NGAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+NGAP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+NGAP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode NGAP-ELEMENTARY-PROCEDURE.&procedureCode ({NGAP-ELEMENTARY-PROCEDURES}),
+ criticality NGAP-ELEMENTARY-PROCEDURE.&criticality ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value NGAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode NGAP-ELEMENTARY-PROCEDURE.&procedureCode ({NGAP-ELEMENTARY-PROCEDURES}),
+ criticality NGAP-ELEMENTARY-PROCEDURE.&criticality ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value NGAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode NGAP-ELEMENTARY-PROCEDURE.&procedureCode ({NGAP-ELEMENTARY-PROCEDURES}),
+ criticality NGAP-ELEMENTARY-PROCEDURE.&criticality ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value NGAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+NGAP-ELEMENTARY-PROCEDURES NGAP-ELEMENTARY-PROCEDURE ::= {
+ NGAP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ NGAP-ELEMENTARY-PROCEDURES-CLASS-2,
+ ...
+}
+
+NGAP-ELEMENTARY-PROCEDURES-CLASS-1 NGAP-ELEMENTARY-PROCEDURE ::= {
+ aMFConfigurationUpdate |
+ broadcastSessionModification |
+ broadcastSessionRelease |
+ broadcastSessionSetup |
+ distributionSetup |
+ distributionRelease |
+ handoverCancel |
+ handoverPreparation |
+ handoverResourceAllocation |
+ initialContextSetup |
+ multicastSessionActivation |
+ multicastSessionDeactivation |
+ multicastSessionUpdate |
+ nGReset |
+ nGSetup |
+ pathSwitchRequest |
+ pDUSessionResourceModify |
+ pDUSessionResourceModifyIndication |
+ pDUSessionResourceRelease |
+ pDUSessionResourceSetup |
+ pWSCancel |
+ rANConfigurationUpdate |
+ uEContextModification |
+ uEContextRelease |
+ uEContextResume |
+ uEContextSuspend |
+ uERadioCapabilityCheck |
+ uERadioCapabilityIDMapping |
+ writeReplaceWarning,
+ ...
+}
+
+NGAP-ELEMENTARY-PROCEDURES-CLASS-2 NGAP-ELEMENTARY-PROCEDURE ::= {
+ aMFCPRelocationIndication |
+ aMFStatusIndication |
+ broadcastSessionReleaseRequired |
+ cellTrafficTrace |
+ connectionEstablishmentIndication |
+ deactivateTrace |
+ downlinkNASTransport |
+ downlinkNonUEAssociatedNRPPaTransport |
+ downlinkRANConfigurationTransfer |
+ downlinkRANEarlyStatusTransfer |
+ downlinkRANStatusTransfer |
+ downlinkRIMInformationTransfer |
+ downlinkUEAssociatedNRPPaTransport |
+ errorIndication |
+ handoverNotification |
+ handoverSuccess |
+ initialUEMessage |
+ locationReport |
+ locationReportingControl |
+ locationReportingFailureIndication |
+ multicastGroupPaging |
+ nASNonDeliveryIndication |
+ overloadStart |
+ overloadStop |
+ paging |
+ pDUSessionResourceNotify |
+ privateMessage |
+ pWSFailureIndication |
+ pWSRestartIndication |
+ rANCPRelocationIndication |
+ rerouteNASRequest |
+ retrieveUEInformation |
+ rRCInactiveTransitionReport |
+ secondaryRATDataUsageReport |
+ traceFailureIndication |
+ traceStart |
+ uEContextReleaseRequest |
+ uEInformationTransfer |
+ uERadioCapabilityInfoIndication |
+ uETNLABindingRelease |
+ uplinkNASTransport |
+ uplinkNonUEAssociatedNRPPaTransport |
+ uplinkRANConfigurationTransfer |
+ uplinkRANEarlyStatusTransfer |
+ uplinkRANStatusTransfer |
+ uplinkRIMInformationTransfer |
+ uplinkUEAssociatedNRPPaTransport,
+ ...
+
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+aMFConfigurationUpdate NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AMFConfigurationUpdate
+ SUCCESSFUL OUTCOME AMFConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME AMFConfigurationUpdateFailure
+ PROCEDURE CODE id-AMFConfigurationUpdate
+ CRITICALITY reject
+}
+
+aMFCPRelocationIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AMFCPRelocationIndication
+ PROCEDURE CODE id-AMFCPRelocationIndication
+ CRITICALITY reject
+}
+
+aMFStatusIndication NGAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE AMFStatusIndication
+ PROCEDURE CODE id-AMFStatusIndication
+ CRITICALITY ignore
+}
+
+broadcastSessionModification NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BroadcastSessionModificationRequest
+ SUCCESSFUL OUTCOME BroadcastSessionModificationResponse
+ UNSUCCESSFUL OUTCOME BroadcastSessionModificationFailure
+ PROCEDURE CODE id-BroadcastSessionModification
+ CRITICALITY reject
+}
+
+broadcastSessionRelease NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BroadcastSessionReleaseRequest
+ SUCCESSFUL OUTCOME BroadcastSessionReleaseResponse
+ PROCEDURE CODE id-BroadcastSessionRelease
+ CRITICALITY reject
+}
+
+broadcastSessionReleaseRequired NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BroadcastSessionReleaseRequired
+ PROCEDURE CODE id-BroadcastSessionReleaseRequired
+ CRITICALITY reject
+}
+
+broadcastSessionSetup NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE BroadcastSessionSetupRequest
+ SUCCESSFUL OUTCOME BroadcastSessionSetupResponse
+ UNSUCCESSFUL OUTCOME BroadcastSessionSetupFailure
+ PROCEDURE CODE id-BroadcastSessionSetup
+ CRITICALITY reject
+}
+
+cellTrafficTrace NGAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE CellTrafficTrace
+ PROCEDURE CODE id-CellTrafficTrace
+ CRITICALITY ignore
+}
+
+connectionEstablishmentIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ConnectionEstablishmentIndication
+ PROCEDURE CODE id-ConnectionEstablishmentIndication
+ CRITICALITY reject
+}
+
+deactivateTrace NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DeactivateTrace
+ PROCEDURE CODE id-DeactivateTrace
+ CRITICALITY ignore
+}
+
+distributionSetup NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DistributionSetupRequest
+ SUCCESSFUL OUTCOME DistributionSetupResponse
+ UNSUCCESSFUL OUTCOME DistributionSetupFailure
+ PROCEDURE CODE id-DistributionSetup
+ CRITICALITY reject
+}
+
+distributionRelease NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DistributionReleaseRequest
+ SUCCESSFUL OUTCOME DistributionReleaseResponse
+ PROCEDURE CODE id-DistributionRelease
+ CRITICALITY reject
+}
+
+downlinkNASTransport NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkNASTransport
+ PROCEDURE CODE id-DownlinkNASTransport
+ CRITICALITY ignore
+}
+
+downlinkNonUEAssociatedNRPPaTransport NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkNonUEAssociatedNRPPaTransport
+ PROCEDURE CODE id-DownlinkNonUEAssociatedNRPPaTransport
+ CRITICALITY ignore
+}
+
+downlinkRANConfigurationTransfer NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkRANConfigurationTransfer
+ PROCEDURE CODE id-DownlinkRANConfigurationTransfer
+ CRITICALITY ignore
+}
+
+downlinkRANEarlyStatusTransfer NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkRANEarlyStatusTransfer
+ PROCEDURE CODE id-DownlinkRANEarlyStatusTransfer
+ CRITICALITY ignore
+}
+
+downlinkRANStatusTransfer NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkRANStatusTransfer
+ PROCEDURE CODE id-DownlinkRANStatusTransfer
+ CRITICALITY ignore
+}
+
+downlinkUEAssociatedNRPPaTransport NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkUEAssociatedNRPPaTransport
+ PROCEDURE CODE id-DownlinkUEAssociatedNRPPaTransport
+ CRITICALITY ignore
+}
+
+errorIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-ErrorIndication
+ CRITICALITY ignore
+}
+
+handoverCancel NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverCancel
+ SUCCESSFUL OUTCOME HandoverCancelAcknowledge
+ PROCEDURE CODE id-HandoverCancel
+ CRITICALITY reject
+}
+
+handoverNotification NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverNotify
+ PROCEDURE CODE id-HandoverNotification
+ CRITICALITY ignore
+}
+
+handoverPreparation NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverRequired
+ SUCCESSFUL OUTCOME HandoverCommand
+ UNSUCCESSFUL OUTCOME HandoverPreparationFailure
+ PROCEDURE CODE id-HandoverPreparation
+ CRITICALITY reject
+}
+
+handoverResourceAllocation NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverRequest
+ SUCCESSFUL OUTCOME HandoverRequestAcknowledge
+ UNSUCCESSFUL OUTCOME HandoverFailure
+ PROCEDURE CODE id-HandoverResourceAllocation
+ CRITICALITY reject
+}
+
+handoverSuccess NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverSuccess
+ PROCEDURE CODE id-HandoverSuccess
+ CRITICALITY ignore
+}
+
+initialContextSetup NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InitialContextSetupRequest
+ SUCCESSFUL OUTCOME InitialContextSetupResponse
+ UNSUCCESSFUL OUTCOME InitialContextSetupFailure
+ PROCEDURE CODE id-InitialContextSetup
+ CRITICALITY reject
+}
+
+initialUEMessage NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InitialUEMessage
+ PROCEDURE CODE id-InitialUEMessage
+ CRITICALITY ignore
+}
+
+locationReport NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LocationReport
+ PROCEDURE CODE id-LocationReport
+ CRITICALITY ignore
+}
+
+locationReportingControl NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LocationReportingControl
+ PROCEDURE CODE id-LocationReportingControl
+ CRITICALITY ignore
+}
+
+locationReportingFailureIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LocationReportingFailureIndication
+ PROCEDURE CODE id-LocationReportingFailureIndication
+ CRITICALITY ignore
+}
+
+multicastSessionActivation NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastSessionActivationRequest
+ SUCCESSFUL OUTCOME MulticastSessionActivationResponse
+ UNSUCCESSFUL OUTCOME MulticastSessionActivationFailure
+ PROCEDURE CODE id-MulticastSessionActivation
+ CRITICALITY reject
+}
+
+multicastSessionDeactivation NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastSessionDeactivationRequest
+ SUCCESSFUL OUTCOME MulticastSessionDeactivationResponse
+ PROCEDURE CODE id-MulticastSessionDeactivation
+ CRITICALITY reject
+}
+
+multicastSessionUpdate NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastSessionUpdateRequest
+ SUCCESSFUL OUTCOME MulticastSessionUpdateResponse
+ UNSUCCESSFUL OUTCOME MulticastSessionUpdateFailure
+ PROCEDURE CODE id-MulticastSessionUpdate
+ CRITICALITY reject
+}
+
+multicastGroupPaging NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MulticastGroupPaging
+ PROCEDURE CODE id-MulticastGroupPaging
+ CRITICALITY ignore
+}
+
+nASNonDeliveryIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE NASNonDeliveryIndication
+ PROCEDURE CODE id-NASNonDeliveryIndication
+ CRITICALITY ignore
+}
+
+nGReset NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE NGReset
+ SUCCESSFUL OUTCOME NGResetAcknowledge
+ PROCEDURE CODE id-NGReset
+ CRITICALITY reject
+}
+
+nGSetup NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE NGSetupRequest
+ SUCCESSFUL OUTCOME NGSetupResponse
+ UNSUCCESSFUL OUTCOME NGSetupFailure
+ PROCEDURE CODE id-NGSetup
+ CRITICALITY reject
+}
+
+overloadStart NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE OverloadStart
+ PROCEDURE CODE id-OverloadStart
+ CRITICALITY ignore
+}
+
+overloadStop NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE OverloadStop
+ PROCEDURE CODE id-OverloadStop
+ CRITICALITY reject
+}
+
+paging NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Paging
+ PROCEDURE CODE id-Paging
+ CRITICALITY ignore
+}
+
+pathSwitchRequest NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PathSwitchRequest
+ SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
+ UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
+ PROCEDURE CODE id-PathSwitchRequest
+ CRITICALITY reject
+}
+
+pDUSessionResourceModify NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PDUSessionResourceModifyRequest
+ SUCCESSFUL OUTCOME PDUSessionResourceModifyResponse
+ PROCEDURE CODE id-PDUSessionResourceModify
+ CRITICALITY reject
+}
+
+pDUSessionResourceModifyIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PDUSessionResourceModifyIndication
+ SUCCESSFUL OUTCOME PDUSessionResourceModifyConfirm
+ PROCEDURE CODE id-PDUSessionResourceModifyIndication
+ CRITICALITY reject
+}
+
+pDUSessionResourceNotify NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PDUSessionResourceNotify
+ PROCEDURE CODE id-PDUSessionResourceNotify
+ CRITICALITY ignore
+}
+
+pDUSessionResourceRelease NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PDUSessionResourceReleaseCommand
+ SUCCESSFUL OUTCOME PDUSessionResourceReleaseResponse
+ PROCEDURE CODE id-PDUSessionResourceRelease
+ CRITICALITY reject
+}
+
+pDUSessionResourceSetup NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PDUSessionResourceSetupRequest
+ SUCCESSFUL OUTCOME PDUSessionResourceSetupResponse
+ PROCEDURE CODE id-PDUSessionResourceSetup
+ CRITICALITY reject
+}
+
+privateMessage NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-PrivateMessage
+ CRITICALITY ignore
+}
+
+pWSCancel NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWSCancelRequest
+ SUCCESSFUL OUTCOME PWSCancelResponse
+ PROCEDURE CODE id-PWSCancel
+ CRITICALITY reject
+}
+
+pWSFailureIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWSFailureIndication
+ PROCEDURE CODE id-PWSFailureIndication
+ CRITICALITY ignore
+}
+
+pWSRestartIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWSRestartIndication
+ PROCEDURE CODE id-PWSRestartIndication
+ CRITICALITY ignore
+}
+
+rANConfigurationUpdate NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RANConfigurationUpdate
+ SUCCESSFUL OUTCOME RANConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME RANConfigurationUpdateFailure
+ PROCEDURE CODE id-RANConfigurationUpdate
+ CRITICALITY reject
+}
+
+rANCPRelocationIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RANCPRelocationIndication
+ PROCEDURE CODE id-RANCPRelocationIndication
+ CRITICALITY reject
+}
+
+rerouteNASRequest NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RerouteNASRequest
+ PROCEDURE CODE id-RerouteNASRequest
+ CRITICALITY reject
+}
+
+
+retrieveUEInformation NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RetrieveUEInformation
+ PROCEDURE CODE id-RetrieveUEInformation
+ CRITICALITY reject
+}
+
+rRCInactiveTransitionReport NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RRCInactiveTransitionReport
+ PROCEDURE CODE id-RRCInactiveTransitionReport
+ CRITICALITY ignore
+}
+
+secondaryRATDataUsageReport NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SecondaryRATDataUsageReport
+ PROCEDURE CODE id-SecondaryRATDataUsageReport
+ CRITICALITY ignore
+}
+
+traceFailureIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TraceFailureIndication
+ PROCEDURE CODE id-TraceFailureIndication
+ CRITICALITY ignore
+}
+
+traceStart NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TraceStart
+ PROCEDURE CODE id-TraceStart
+ CRITICALITY ignore
+}
+
+uEContextModification NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextModificationRequest
+ SUCCESSFUL OUTCOME UEContextModificationResponse
+ UNSUCCESSFUL OUTCOME UEContextModificationFailure
+ PROCEDURE CODE id-UEContextModification
+ CRITICALITY reject
+}
+
+uEContextRelease NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextReleaseCommand
+ SUCCESSFUL OUTCOME UEContextReleaseComplete
+ PROCEDURE CODE id-UEContextRelease
+ CRITICALITY reject
+}
+
+uEContextReleaseRequest NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextReleaseRequest
+ PROCEDURE CODE id-UEContextReleaseRequest
+ CRITICALITY ignore
+}
+
+uEContextResume NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextResumeRequest
+ SUCCESSFUL OUTCOME UEContextResumeResponse
+ UNSUCCESSFUL OUTCOME UEContextResumeFailure
+ PROCEDURE CODE id-UEContextResume
+ CRITICALITY reject
+}
+
+uEContextSuspend NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextSuspendRequest
+ SUCCESSFUL OUTCOME UEContextSuspendResponse
+ UNSUCCESSFUL OUTCOME UEContextSuspendFailure
+ PROCEDURE CODE id-UEContextSuspend
+ CRITICALITY reject
+}
+
+uEInformationTransfer NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEInformationTransfer
+ PROCEDURE CODE id-UEInformationTransfer
+ CRITICALITY reject
+}
+
+uERadioCapabilityCheck NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UERadioCapabilityCheckRequest
+ SUCCESSFUL OUTCOME UERadioCapabilityCheckResponse
+ PROCEDURE CODE id-UERadioCapabilityCheck
+ CRITICALITY reject
+}
+
+uERadioCapabilityIDMapping NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UERadioCapabilityIDMappingRequest
+ SUCCESSFUL OUTCOME UERadioCapabilityIDMappingResponse
+ PROCEDURE CODE id-UERadioCapabilityIDMapping
+ CRITICALITY reject
+}
+
+uERadioCapabilityInfoIndication NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UERadioCapabilityInfoIndication
+ PROCEDURE CODE id-UERadioCapabilityInfoIndication
+ CRITICALITY ignore
+}
+
+uETNLABindingRelease NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UETNLABindingReleaseRequest
+ PROCEDURE CODE id-UETNLABindingRelease
+ CRITICALITY ignore
+}
+
+uplinkNASTransport NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkNASTransport
+ PROCEDURE CODE id-UplinkNASTransport
+ CRITICALITY ignore
+}
+
+uplinkNonUEAssociatedNRPPaTransport NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkNonUEAssociatedNRPPaTransport
+ PROCEDURE CODE id-UplinkNonUEAssociatedNRPPaTransport
+ CRITICALITY ignore
+}
+
+uplinkRANConfigurationTransfer NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkRANConfigurationTransfer
+ PROCEDURE CODE id-UplinkRANConfigurationTransfer
+ CRITICALITY ignore
+}
+
+uplinkRANEarlyStatusTransfer NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkRANEarlyStatusTransfer
+ PROCEDURE CODE id-UplinkRANEarlyStatusTransfer
+ CRITICALITY reject
+}
+
+uplinkRANStatusTransfer NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkRANStatusTransfer
+ PROCEDURE CODE id-UplinkRANStatusTransfer
+ CRITICALITY ignore
+}
+
+uplinkUEAssociatedNRPPaTransport NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkUEAssociatedNRPPaTransport
+ PROCEDURE CODE id-UplinkUEAssociatedNRPPaTransport
+ CRITICALITY ignore
+}
+
+writeReplaceWarning NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE WriteReplaceWarningRequest
+ SUCCESSFUL OUTCOME WriteReplaceWarningResponse
+ PROCEDURE CODE id-WriteReplaceWarning
+ CRITICALITY reject
+}
+
+uplinkRIMInformationTransfer NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkRIMInformationTransfer
+ PROCEDURE CODE id-UplinkRIMInformationTransfer
+ CRITICALITY ignore
+}
+
+downlinkRIMInformationTransfer NGAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkRIMInformationTransfer
+ PROCEDURE CODE id-DownlinkRIMInformationTransfer
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/ngap/ngap.cnf b/epan/dissectors/asn1/ngap/ngap.cnf
new file mode 100644
index 00000000..ea0627b3
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/ngap.cnf
@@ -0,0 +1,2787 @@
+# ngap.cnf
+# ngap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.USE_VALS_EXT
+CauseRadioNetwork
+ProcedureCode
+ProtocolIE-ID
+
+#.EXPORTS ONLY_VALS WS_DLL
+
+#.EXPORTS
+LastVisitedNGRANCellInformation_PDU
+LastVisitedPSCellInformation_PDU
+MDT-Configuration_PDU
+MobilityRestrictionList_PDU
+NGRAN-CGI_PDU
+SecondaryRATDataUsageReportTransfer
+SONConfigurationTransfer_PDU
+SourceNGRANNode-ToTargetNGRANNode-TransparentContainer_PDU
+TargetNGRANNode-ToSourceNGRANNode-TransparentContainer_PDU
+
+#.PDU
+HandoverCommandTransfer
+HandoverPreparationUnsuccessfulTransfer
+HandoverRequestAcknowledgeTransfer
+HandoverResourceAllocationUnsuccessfulTransfer
+LastVisitedNGRANCellInformation
+LastVisitedPSCellInformation
+MDT-Configuration
+MobilityRestrictionList
+NGAP-PDU
+NGRAN-CGI
+PathSwitchRequestAcknowledgeTransfer
+PathSwitchRequestSetupFailedTransfer
+PDUSessionResourceModifyUnsuccessfulTransfer
+PDUSessionResourceReleaseCommandTransfer
+PDUSessionResourceSetupRequestTransfer
+PDUSessionResourceSetupResponseTransfer
+PDUSessionResourceSetupUnsuccessfulTransfer
+SONConfigurationTransfer
+SourceNGRANNode-ToTargetNGRANNode-TransparentContainer
+TargetNGRANNode-ToSourceNGRANNode-FailureTransparentContainer
+TargetNGRANNode-ToSourceNGRANNode-TransparentContainer
+
+#.MAKE_ENUM
+GlobalRANNodeID
+HandoverType
+ProcedureCode
+ProtocolIE-ID
+RAT-Information
+
+#.NO_EMIT
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+ProtocolIE-FieldPair
+ProtocolIE-ContainerList
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+Presence
+QoSFlowList
+#.END
+
+
+#.TYPE_RENAME
+
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+
+
+PrivateIE-Field/id private_id
+ProtocolExtensionField/id ext_id
+
+PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+
+GlobalGNB-ID/gNB-ID globalGNB-ID_gNB-ID
+GlobalN3IWF-ID/n3IWF-ID globalN3IWF-ID_n3IWF-ID
+GlobalTNGF-ID/tNGF-ID globalTNGF-ID_tNGF-ID
+GlobalTWIF-ID/tWIF-ID globalTWIF-ID_tWIF-ID
+GlobalW-AGF-ID/w-AGF-ID globalW-AGF-ID_w-AGF-ID
+
+#.FIELD_ATTR
+GlobalGNB-ID/gNB-ID ABBREV=globalGNB_ID.gNB_ID
+GlobalN3IWF-ID/n3IWF-ID ABBREV=globalN3IWF_ID_n3IWF_ID
+GlobalTNGF-ID/tNGF-ID ABBREV=globalTNGF_ID.tNGF_ID
+GlobalTWIF-ID/tWIF-ID ABBREV=globalTWIF_ID.tWIF_ID
+GlobalW-AGF-ID/w-AGF-ID ABBREV=globalW_AGF_ID.w_AGF_ID
+UE-associatedLogicalNG-connectionItem/aMF-UE-NGAP-ID ABBREV=AMF_UE_NGAP_ID
+UE-associatedLogicalNG-connectionItem/rAN-UE-NGAP-ID ABBREV=RAN_UE_NGAP_ID
+UE-NGAP-ID-pair/aMF-UE-NGAP-ID ABBREV=AMF_UE_NGAP_ID
+UE-NGAP-ID-pair/rAN-UE-NGAP-ID ABBREV=RAN_UE_NGAP_ID
+UE-NGAP-IDs/aMF-UE-NGAP-ID ABBREV=AMF_UE_NGAP_ID
+
+#.FN_BODY ProtocolIE-ID VAL_PTR=&ngap_data->protocol_ie_id
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
+ val_to_str_ext(ngap_data->protocol_ie_id, &ngap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+# Currently not used
+# FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue
+# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
+
+#.FN_BODY ProtocolExtensionID VAL_PTR=&ngap_data->protocol_extension_id
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_BODY ProcedureCode VAL_PTR = &ngap_data->procedure_code
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->message_type = INITIATING_MESSAGE;
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->message_type = SUCCESSFUL_OUTCOME;
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->message_type = UNSUCCESSFUL_OUTCOME;
+
+#--- Parameterization is not supported in asn2wrs ---
+
+#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, NGAP-PROTOCOL-IES : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-Container {{IEsSetParam}}
+
+# #.FN_PARS ProtocolIE-ContainerList
+# MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+# MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# #.FN_HDR ProtocolIE-ContainerList
+# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, (asn1_par_type)0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
+# #.END
+
+#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-ContainerPair {{IEsSetParam}}
+
+# Currently not used
+# FN_PARS ProtocolIE-ContainerPairList
+#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# FN_HDR ProtocolIE-ContainerPairList
+# static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, 0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
+# END
+
+#PduSessionResource-IE-ContainerList { NGAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxnoofPduSessionResources, {IEsSetParam} }
+# FN_BODY PduSessionResource-IE-ContainerList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxnoofE_RABs);
+# %(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+# END
+
+# PduSessionResource-IE-ContainerPairList { NGAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxnoofPduSessionResources, {IEsSetParam} }
+# Currently not used
+# FN_BODY SAEB-IE-ContainerPairList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerPairList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxnoofE_RABs);
+#%(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerPairList");
+# END
+
+# Currently not used
+# ProtocolError-IE-ContainerList { NGAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxnoofPduSessionResources, {IEsSetParam} }
+# FN_BODY ProtocolError-IE-ContainerList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxnoofE_RABs);
+#%(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+# END
+
+# .FN_HDR PrivateIE-ID
+# struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+# ngap_data->obj_id = NULL;
+
+# FN_BODY PrivateIE-ID/global FN_VARIANT = _str VAL_PTR = &ngap_data->obj_id
+# struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+# %(DEFAULT_BODY)s
+
+# FN_BODY PrivateIE-Field/value
+# struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+# if (ngap_data->obj_id) {
+# offset = call_per_oid_callback(ngap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
+# } else {
+# %(DEFAULT_BODY)s
+# }
+
+#.FN_HDR QosFlowNotifyItem
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->is_qos_flow_notify = TRUE;
+#.FN_FTR QosFlowNotifyItem
+ ngap_data->is_qos_flow_notify = FALSE;
+
+#.FN_HDR AlternativeQoSParaSetIndex
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ if (ngap_data->is_qos_flow_notify) {
+ return dissect_ngap_AlternativeQoSParaSetNotifyIndex(tvb, offset, actx, tree, hf_index);
+ }
+
+#.FN_BODY RAN-UE-NGAP-ID VAL_PTR = &ran_ue_ngap_id
+ guint32 ran_ue_ngap_id;
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ ngap_data->ran_ue_ngap_id = ran_ue_ngap_id;
+
+#.FN_BODY NAS-PDU VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb=NULL;
+ guint tvb_len;
+
+%(DEFAULT_BODY)s
+
+ tvb_len = tvb_reported_length(parameter_tvb);
+ if (tvb_len > 0) {
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ if (ngap_data->protocol_ie_id == id_NASC) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NASC);
+ /* use an heuristic based on the payload length to identify the Intra N1 mode
+ NAS transparent container or the S1 mode to N1 mode NAS transparent container */
+ if (tvb_len == 8)
+ de_nas_5gs_s1_mode_to_n1_mode_nas_transparent_cont(parameter_tvb, subtree, actx->pinfo);
+ else
+ de_nas_5gs_intra_n1_mode_nas_transparent_cont(parameter_tvb, subtree, actx->pinfo);
+ } else {
+ if (nas_5gs_handle) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NAS_PDU);
+ volatile int saved_offset = offset;
+ TRY {
+ call_dissector(nas_5gs_handle, parameter_tvb, actx->pinfo, subtree);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = saved_offset;
+ }
+ }
+ }
+
+#.FN_HDR InitialUEMessage
+ /* Set the direction of the message */
+ actx->pinfo->link_dir=P2P_DIR_UL;
+
+#.FN_HDR DownlinkNASTransport
+ /* Set the direction of the message */
+ actx->pinfo->link_dir=P2P_DIR_DL;
+
+#.FN_HDR UplinkNASTransport
+ /* Set the direction of the message */
+ actx->pinfo->link_dir=P2P_DIR_UL;
+
+#.FN_HDR HandoverRequest
+ /* Set the direction of the message */
+ actx->pinfo->link_dir=P2P_DIR_DL;
+
+#.FN_BODY HandoverType VAL_PTR = &ngap_data->handover_type_value
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_BODY SourceToTarget-TransparentContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (ngap_dissect_container && parameter_tvb &&
+ tvb_reported_length(parameter_tvb) > 0) {
+ guint32 handover_type = ngap_get_private_data(actx->pinfo)->handover_type_value;
+ /* Don't want elements inside container to write to info column */
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_SourceToTarget_TransparentContainer);
+ TRY {
+ switch(handover_type) {
+ case intra5gs:
+ case eps_to_5gs:
+ dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case fivegs_to_eps:
+ dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case fivegs_to_utran:
+ dissect_rrc_ToTargetRNC_Container_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+
+ /* Enable writing of the column again */
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);
+ }
+
+#.FN_BODY TargetToSource-TransparentContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (ngap_dissect_container && parameter_tvb &&
+ tvb_reported_length(parameter_tvb) > 0) {
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ /* Don't want elements inside container to write to info column */
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_TargetToSource_TransparentContainer);
+ if (ngap_data->procedure_code == id_HandoverPreparation) {
+ switch(ngap_data->handover_type_value) {
+ case intra5gs:
+ case eps_to_5gs:
+ dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case fivegs_to_eps:
+ dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case fivegs_to_utran:
+ dissect_rrc_TargetRNC_ToSourceRNC_Container_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ } else {
+ dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ /* Enable writing of the column again */
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);
+ }
+
+#.FN_BODY TargettoSource-Failure-TransparentContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (ngap_dissect_container && parameter_tvb &&
+ tvb_reported_length(parameter_tvb) > 0) {
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ /* Don't want elements inside container to write to info column */
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_TargettoSource_Failure_TransparentContainer);
+ switch(ngap_data->handover_type_value) {
+ case intra5gs:
+ dissect_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ /* Enable writing of the column again */
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);
+ }
+
+#.TYPE_ATTR
+ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &ngap_ProtocolIE_ID_vals_ext
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.TYPE_ATTR
+MessageIdentifier TYPE = FT_UINT16 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY MessageIdentifier VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SerialNumber VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_SerialNumber);
+ proto_tree_add_item(subtree, hf_ngap_SerialNumber_gs, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ngap_SerialNumber_msg_code, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ngap_SerialNumber_upd_nb, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SuccessfulHandoverReport-Item/successfulHOReportContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_successfulHOReportContainer);
+ dissect_nr_rrc_SuccessHO_Report_r17_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+RepetitionPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY WarningType VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_WarningType);
+ proto_tree_add_item(subtree, hf_ngap_WarningType_value, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ngap_WarningType_emergency_user_alert, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ngap_WarningType_popup, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY DataCodingScheme VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_DataCodingScheme);
+ ngap_data->data_coding_scheme = dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
+ }
+
+#.FN_BODY WarningMessageContents VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_WarningMessageContents);
+ dissect_ngap_warningMessageContents(parameter_tvb, subtree, actx->pinfo, ngap_data->data_coding_scheme,
+ hf_ngap_WarningMessageContents_nb_pages, hf_ngap_WarningMessageContents_decoded_page);
+ }
+
+#.FN_BODY EPS-TAI
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->number_type = E212_TAI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+EPS-TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY EPS-TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY TAI
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->number_type = E212_5GSTAI;
+ ngap_data->tai = wmem_new0(actx->pinfo->pool, struct ngap_tai);
+%(DEFAULT_BODY)s
+ if (!PINFO_FD_VISITED(actx->pinfo) && ngap_data->ngap_conv &&
+ (ngap_data->message_type == INITIATING_MESSAGE) &&
+ (ngap_data->procedure_code == id_InitialUEMessage)) {
+ guint64 key = (ngap_data->tai->plmn << 24) | ngap_data->tai->tac;
+
+ if (wmem_map_lookup(ngap_data->ngap_conv->nbiot_ta, &key)) {
+ wmem_tree_key_t tree_key[3];
+ guint32 *id = wmem_new(wmem_file_scope(), guint32);
+
+ *id = ngap_data->ran_ue_ngap_id;
+ tree_key[0].length = 1;
+ tree_key[0].key = id;
+ tree_key[1].length = 1;
+ tree_key[1].key = &actx->pinfo->num;
+ tree_key[2].length = 0;
+ tree_key[2].key = NULL;
+ wmem_tree_insert32_array(ngap_data->ngap_conv->nbiot_ran_ue_ngap_id, tree_key, id);
+ }
+ }
+
+#.TYPE_ATTR
+CommonNetworkInstance TYPE=FT_BYTES DISPLAY = BASE_SHOW_UTF_8_PRINTABLE
+
+#.TYPE_ATTR
+SurvivalTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
+
+#.TYPE_ATTR
+TAC TYPE = FT_UINT24 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
+ if (ngap_data->supported_ta) {
+ ngap_data->supported_ta->tac = tvb_get_ntoh24(parameter_tvb, 0);
+ } else if (ngap_data->tai) {
+ ngap_data->tai->tac = tvb_get_ntoh24(parameter_tvb, 0);
+ }
+ }
+
+#.TYPE_ATTR
+TimeSynchronizationAssistanceInformation/uuTimeSynchronizationErrorBudget DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_nanoseconds
+
+#.FN_BODY PLMNIdentity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = ngap_data->number_type;
+ ngap_data->number_type = E212_NONE;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_PLMNIdentity);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, number_type, FALSE);
+ if (ngap_data->supported_ta) {
+ guint32 plmn = tvb_get_ntoh24(parameter_tvb, 0);
+ wmem_array_append_one(ngap_data->supported_ta->plmn, plmn);
+ } else if (ngap_data->tai) {
+ ngap_data->tai->plmn = tvb_get_ntoh24(parameter_tvb, 0);
+ }
+ }
+
+#.FN_BODY GUAMI
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->number_type = E212_GUAMI;
+%(DEFAULT_BODY)s
+
+#.FN_HDR SupportedTAItem
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+
+ if (!PINFO_FD_VISITED(actx->pinfo) &&
+ (ngap_data->message_type == INITIATING_MESSAGE) &&
+ ((ngap_data->procedure_code == id_NGSetup) ||
+ (ngap_data->procedure_code == id_RANConfigurationUpdate))) {
+ ngap_data->supported_ta = wmem_new0(actx->pinfo->pool, struct ngap_supported_ta);
+ ngap_data->supported_ta->plmn = wmem_array_new(actx->pinfo->pool, sizeof(guint32));
+ }
+
+#.FN_FTR SupportedTAItem
+ ngap_data->supported_ta = NULL;
+
+#.FN_BODY RAT-Information VAL_PTR = &rat_info
+ guint32 rat_info = 0xffffffff;
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ if (ngap_data->ngap_conv && ngap_data->supported_ta && (rat_info == nb_IoT)) {
+ guint64 *key;
+ guint i;
+
+ for (i = 0; i < wmem_array_get_count(ngap_data->supported_ta->plmn); i++) {
+ key = wmem_new(wmem_file_scope(), guint64);
+ *key = ((*(guint32*)wmem_array_index(ngap_data->supported_ta->plmn, i)) << 24) | ngap_data->supported_ta->tac;
+ wmem_map_insert(ngap_data->ngap_conv->nbiot_ta, key, GUINT_TO_POINTER(1));
+ }
+ }
+
+#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb LEN_PTR = &len
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ int len;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_TransportLayerAddress);
+ if (len == 32) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_ngap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ } else if (len == 128) {
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_ngap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
+ } else if (len == 160) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_ngap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_ngap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
+ }
+
+#.FN_BODY NGAP-Message VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NGAP_Message);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ call_dissector(ngap_handle, parameter_tvb, actx->pinfo, subtree);
+
+#.FN_BODY NGRANTraceID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NGRANTraceID);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
+ proto_tree_add_item(subtree, hf_ngap_NGRANTraceID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ngap_NGRANTraceID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
+
+#.FN_BODY NR-CGI
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->number_type = E212_NRCGI;
+%(DEFAULT_BODY)s
+
+#.FIELD_ATTR
+NR-CGI/nRCellIdentity ABBREV=NRCellIdentity TYPE=FT_UINT40 DISPLAY=BASE_HEX BITMASK=0xFFFFFFFFF0
+
+#.FN_BODY NRCellIdentity VAL_PTR = &cell_id_tvb HF_INDEX=-1
+ tvbuff_t *cell_id_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cell_id_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, cell_id_tvb, 0, 5, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY EUTRA-CGI
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->number_type = E212_ECGI;
+%(DEFAULT_BODY)s
+
+#.FIELD_ATTR
+EUTRA-CGI/eUTRACellIdentity ABBREV=EUTRACellIdentity TYPE=FT_UINT32 DISPLAY=BASE_HEX BITMASK=0xFFFFFFF0
+
+#.FN_BODY EUTRACellIdentity VAL_PTR = &cell_id_tvb HF_INDEX=-1
+ tvbuff_t *cell_id_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cell_id_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, cell_id_tvb, 0, 4, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+PacketLossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(ngap_PacketLossRate_fmt)
+
+#.TYPE_ATTR
+PacketDelayBudget DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(ngap_PacketDelayBudget_fmt)
+
+#.TYPE_ATTR
+AveragingWindow DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+MaximumDataBurstVolume DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_byte_bytes
+
+#.FN_BODY InterfacesToTrace VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_InterfacesToTrace_NG_C,
+ &hf_ngap_InterfacesToTrace_Xn_C,
+ &hf_ngap_InterfacesToTrace_Uu,
+ &hf_ngap_InterfacesToTrace_F1_C,
+ &hf_ngap_InterfacesToTrace_E1,
+ &hf_ngap_InterfacesToTrace_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_InterfacesToTrace);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+PortNumber TYPE = FT_UINT16 DISPLAY = BASE_DEC
+
+#.FN_BODY PortNumber VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY GlobalRANNodeID VAL_PTR = &value
+ gint value;
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+
+%(DEFAULT_BODY)s
+ if (ngap_data->ngap_conv && ngap_data->procedure_code == id_NGSetup) {
+ if (addresses_equal(&actx->pinfo->src, &ngap_data->ngap_conv->addr_a) &&
+ actx->pinfo->srcport == ngap_data->ngap_conv->port_a) {
+ ngap_data->ngap_conv->ranmode_id_a = (GlobalRANNodeID_enum)value;
+ } else if (addresses_equal(&actx->pinfo->src, &ngap_data->ngap_conv->addr_b) &&
+ actx->pinfo->srcport == ngap_data->ngap_conv->port_b) {
+ ngap_data->ngap_conv->ranmode_id_b = (GlobalRANNodeID_enum)value;
+ }
+ }
+
+#.FN_HDR SourceNGRANNode-ToTargetNGRANNode-TransparentContainer
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+
+ ngap_data->transparent_container_type = SOURCE_TO_TARGET_TRANSPARENT_CONTAINER;
+
+
+#.FN_HDR TargetNGRANNode-ToSourceNGRANNode-TransparentContainer
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+
+ ngap_data->transparent_container_type = TARGET_TO_SOURCE_TRANSPARENT_CONTAINER;
+
+#.FN_BODY RRCContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+ GlobalRANNodeID_enum ranmode_id;
+
+ if (ngap_data->transparent_container_type == SOURCE_TO_TARGET_TRANSPARENT_CONTAINER ||
+ ngap_data->transparent_container_type == TARGET_TO_SOURCE_TRANSPARENT_CONTAINER) {
+ if (value_is_in_range(gbl_ngapSctpRange, actx->pinfo->destport))
+ ranmode_id = ngap_get_ranmode_id(&actx->pinfo->src, actx->pinfo->srcport, actx->pinfo);
+ else
+ ranmode_id = ngap_get_ranmode_id(&actx->pinfo->dst, actx->pinfo->destport, actx->pinfo);
+ } else {
+ ranmode_id = (GlobalRANNodeID_enum)-1;
+ }
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_RRCContainer);
+ if ((ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ ranmode_id == globalGNB_ID) ||
+ (ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_GNB)) {
+ if (ngap_data->transparent_container_type == SOURCE_TO_TARGET_TRANSPARENT_CONTAINER) {
+ dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (ngap_data->transparent_container_type == TARGET_TO_SOURCE_TRANSPARENT_CONTAINER) {
+ dissect_nr_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ } else if ((ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ ranmode_id == globalNgENB_ID) ||
+ (ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_NG_ENB)) {
+ if (ngap_data->transparent_container_type == SOURCE_TO_TARGET_TRANSPARENT_CONTAINER) {
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (ngap_data->transparent_container_type == TARGET_TO_SOURCE_TRANSPARENT_CONTAINER) {
+ dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+ }
+
+#.FN_BODY UERadioCapabilityForPagingOfNB-IoT VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb && lte_rrc_ue_radio_paging_info_nb_handle) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UERadioCapabilityForPagingOfNB_IoT);
+ call_dissector(lte_rrc_ue_radio_paging_info_nb_handle, parameter_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY UERadioCapabilityForPagingOfNR VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb && nr_rrc_ue_radio_paging_info_handle) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UERadioCapabilityForPagingOfNR);
+ call_dissector(nr_rrc_ue_radio_paging_info_handle, parameter_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY UERadioCapabilityForPagingOfEUTRA VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb && lte_rrc_ue_radio_paging_info_handle) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UERadioCapabilityForPagingOfEUTRA);
+ call_dissector(lte_rrc_ue_radio_paging_info_handle, parameter_tvb, actx->pinfo, subtree);
+ }
+
+#.TYPE_ATTR
+RecommendedCellItem/timeStayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY UERadioCapability VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+ volatile dissector_handle_t handle;
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UERadioCapability);
+ if (ngap_data->procedure_code == id_UERadioCapability_EUTRA_Format) {
+ handle = lte_rrc_ue_radio_access_cap_info_handle;
+ } else if ((ngap_is_nbiot_ue(actx->pinfo) && ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_AUTOMATIC) ||
+ (ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_NBIOT)) {
+ handle = lte_rrc_ue_radio_access_cap_info_nb_handle;
+ } else {
+ handle = nr_rrc_ue_radio_access_cap_info_handle;
+ }
+ if (handle) {
+ TRY {
+ call_dissector(handle, parameter_tvb, actx->pinfo, subtree);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ }
+ }
+
+#.FN_BODY TimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR TimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.TYPE_ATTR
+TimeSyncAssistanceInfo/uUTimeSyncErrorBudget DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_nanoseconds
+
+#.FN_BODY RATRestrictionInformation VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_RATRestrictionInformation_e_UTRA,
+ &hf_ngap_RATRestrictionInformation_nR,
+ &hf_ngap_RATRestrictionInformation_nR_unlicensed,
+ &hf_ngap_RATRestrictionInformation_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_RATRestrictionInformation);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY NRencryptionAlgorithms VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_NrencryptionAlgorithms_nea1,
+ &hf_ngap_NrencryptionAlgorithms_nea2,
+ &hf_ngap_NrencryptionAlgorithms_nea3,
+ &hf_ngap_NrencryptionAlgorithms_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NrencryptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY NRintegrityProtectionAlgorithms VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_NrintegrityProtectionAlgorithms_nia1,
+ &hf_ngap_NrintegrityProtectionAlgorithms_nia2,
+ &hf_ngap_NrintegrityProtectionAlgorithms_nia3,
+ &hf_ngap_NrintegrityProtectionAlgorithms_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NrintegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY EUTRAencryptionAlgorithms VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_EUTRAencryptionAlgorithms_eea1,
+ &hf_ngap_EUTRAencryptionAlgorithms_eea2,
+ &hf_ngap_EUTRAencryptionAlgorithms_eea3,
+ &hf_ngap_EUTRAencryptionAlgorithms_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_EUTRAencryptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY EUTRAintegrityProtectionAlgorithms VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia1,
+ &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia2,
+ &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia3,
+ &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia7,
+ &hf_ngap_EUTRAintegrityProtectionAlgorithms_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_EUTRAintegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+ExpectedUEMovingTrajectoryItem/timeStayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY LastVisitedEUTRANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_LastVisitedEUTRANCellInformation);
+ dissect_s1ap_LastVisitedEUTRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY LastVisitedUTRANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_LastVisitedUTRANCellInformation);
+ dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY LastVisitedGERANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_LastVisitedGERANCellInformation);
+ dissect_s1ap_LastVisitedGERANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+ExpectedActivityPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ExpectedIdlePeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+TimeUEStayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+TimeUEStayedInCellEnhancedGranularity DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ngap_TimeUEStayedInCellEnhancedGranularity_fmt)
+
+#.TYPE_ATTR
+TrafficLoadReductionIndication DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.FN_BODY PeriodicRegistrationUpdateTimer VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ guint32 val = tvb_get_guint8(val_tvb, 0);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, val_tvb, 0, 1, val);
+ }
+
+#.TYPE_ATTR
+PeriodicRegistrationUpdateTimer TYPE=FT_UINT8 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ngap_PeriodicRegistrationUpdateTimer_fmt)
+
+#.FN_BODY NASSecurityParametersFromNGRAN VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NASSecurityParametersFromNGRAN);
+ de_nas_5gs_n1_mode_to_s1_mode_nas_transparent_cont(parameter_tvb, subtree, actx->pinfo);
+ }
+
+#.FN_BODY EN-DCSONConfigurationTransfer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_EN_DCSONConfigurationTransfer);
+ dissect_s1ap_EN_DCSONConfigurationTransfer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY VolumeTimedReport-Item/startTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR VolumeTimedReport-Item/startTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.FN_BODY VolumeTimedReport-Item/endTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR VolumeTimedReport-Item/endTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.FN_BODY NRPPa-PDU VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if ((tvb_reported_length(parameter_tvb)>0)&&(nrppa_handle))
+ call_dissector(nrppa_handle, parameter_tvb, %(ACTX)s->pinfo, tree);
+
+#.TYPE_ATTR
+VolumeTimedReport-Item/usageCountUL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+VolumeTimedReport-Item/usageCountDL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+BluetoothName TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY BluetoothName VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+#.END
+
+#.FN_BODY BurstArrivalTime VAL_PTR = &burst_arrival_time_tvb
+ tvbuff_t *burst_arrival_time_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (burst_arrival_time_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_BurstArrivalTime);
+ dissect_nr_rrc_ReferenceTime_r16_PDU(burst_arrival_time_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CoverageEnhancementLevel VAL_PTR = &cov_enh_level_tvb
+ tvbuff_t *cov_enh_level_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (cov_enh_level_tvb && ngap_dissect_container) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_ngap_CoverageEnhancementLevel);
+ volatile int saved_offset = offset;
+ if ((ngap_is_nbiot_ue(actx->pinfo) && (ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_AUTOMATIC)) ||
+ (ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_NBIOT)) {
+ TRY {
+ dissect_lte_rrc_UEPagingCoverageInformation_NB_PDU(cov_enh_level_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(cov_enh_level_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ } else {
+ TRY {
+ dissect_lte_rrc_UEPagingCoverageInformation_PDU(cov_enh_level_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(cov_enh_level_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ }
+ offset = saved_offset;
+ }
+
+#.TYPE_ATTR
+Extended-ConnectedTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ExtendedPacketDelayBudget DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ngap_ExtendedPacketDelayBudget_fmt)
+
+#.FN_BODY ExtendedRATRestrictionInformation/primaryRATRestriction VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_primaryRATRestriction_e_UTRA,
+ &hf_ngap_primaryRATRestriction_nR,
+ &hf_ngap_primaryRATRestriction_nR_unlicensed,
+ &hf_ngap_primaryRATRestriction_nR_LEO,
+ &hf_ngap_primaryRATRestriction_nR_MEO,
+ &hf_ngap_primaryRATRestriction_nR_GEO,
+ &hf_ngap_primaryRATRestriction_nR_OTHERSAT,
+ &hf_ngap_primaryRATRestriction_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_primaryRATRestriction);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY ExtendedRATRestrictionInformation/secondaryRATRestriction VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_secondaryRATRestriction_e_UTRA,
+ &hf_ngap_secondaryRATRestriction_nR,
+ &hf_ngap_secondaryRATRestriction_e_UTRA_unlicensed,
+ &hf_ngap_secondaryRATRestriction_nR_unlicensed,
+ &hf_ngap_secondaryRATRestriction_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_secondaryRATRestriction);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY LAI
+ struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
+ ngap_data->number_type = E212_LAI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+LAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY LAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY MDTModeEutra VAL_PTR = &mdt_mode_eutra_tvb
+ tvbuff_t *mdt_mode_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (mdt_mode_eutra_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_MDTModeEutra);
+ dissect_s1ap_MDTMode_PDU(mdt_mode_eutra_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MeasurementsToActivate VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_MeasurementsToActivate_M1,
+ &hf_ngap_MeasurementsToActivate_M2,
+ &hf_ngap_MeasurementsToActivate_M4,
+ &hf_ngap_MeasurementsToActivate_M5,
+ &hf_ngap_MeasurementsToActivate_M6,
+ &hf_ngap_MeasurementsToActivate_M7,
+ &hf_ngap_MeasurementsToActivate_M1_from_event,
+ &hf_ngap_MeasurementsToActivate_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_MeasurementsToActivate);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY MDT-Location-Information VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_MDT_Location_Information_GNSS,
+ &hf_ngap_MDT_Location_Information_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_MDT_Location_Information);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY NRMobilityHistoryReport VAL_PTR = &nr_mob_hist_report_tvb
+ tvbuff_t *nr_mob_hist_report_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (nr_mob_hist_report_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NRMobilityHistoryReport);
+ dissect_nr_rrc_VisitedCellInfoList_r16_PDU(nr_mob_hist_report_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY LTEUERLFReportContainer VAL_PTR = &lte_ue_rlf_report_tvb
+ tvbuff_t *lte_ue_rlf_report_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (lte_ue_rlf_report_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_LTEUERLFReportContainer);
+ dissect_lte_rrc_RLF_Report_r9_PDU(lte_ue_rlf_report_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NRUERLFReportContainer VAL_PTR = &nr_ue_rlc_report_tvb
+ tvbuff_t *nr_ue_rlc_report_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (nr_ue_rlc_report_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NRUERLFReportContainer);
+ dissect_nr_rrc_nr_RLF_Report_r16_PDU(nr_ue_rlc_report_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+Periodicity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
+
+#.TYPE_ATTR
+Threshold-RSRP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ngap_Threshold_RSRP_fmt)
+
+#.TYPE_ATTR
+Threshold-RSRQ DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ngap_Threshold_RSRQ_fmt)
+
+#.TYPE_ATTR
+Threshold-SINR DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ngap_Threshold_SINR_fmt)
+
+#.TYPE_ATTR
+WLANName TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY WLANName VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+#.END
+
+#.TYPE_ATTR
+FiveG-TMSI TYPE = FT_UINT32 DISPLAY = BASE_DEC_HEX
+#.FN_BODY FiveG-TMSI VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+ proto_item *ti;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ ti = proto_tree_add_item(tree, hf_3gpp_tmsi, tvb, 0, 4, ENC_BIG_ENDIAN);
+ proto_item_set_hidden(ti);
+ }
+
+#.FN_BODY GlobalCable-ID VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_GlobalCable_ID);
+ proto_tree_add_item(subtree, hf_ngap_GlobalCable_ID_str, parameter_tvb, 0, -1, ENC_UTF_8 | ENC_NA);
+ }
+
+#.TYPE_ATTR
+QosMonitoringReportingFrequency DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY UpdateFeedback VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_ngap_UpdateFeedback_CN_PDB_DL,
+ &hf_ngap_UpdateFeedback_CN_PDB_UL,
+ &hf_ngap_UpdateFeedback_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UpdateFeedback);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY PDUSessionResourceSetupRequestTransfer
+ volatile guint32 _offset;
+
+ _offset = offset;
+ TRY {
+ _offset = dissect_per_sequence(tvb, _offset, actx, tree, hf_index,
+ ett_ngap_PDUSessionResourceSetupRequestTransfer,
+ PDUSessionResourceSetupRequestTransfer_sequence);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = _offset;
+
+#.ASSIGN_VALUE_TO_TYPE # NGAP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+
+id-AMFConfigurationUpdate ProcedureCode
+id-AMFStatusIndication ProcedureCode
+id-CellTrafficTrace ProcedureCode
+id-DeactivateTrace ProcedureCode
+id-DownlinkNASTransport ProcedureCode
+id-DownlinkNonUEAssociatedNRPPaTransport ProcedureCode
+id-DownlinkRANConfigurationTransfer ProcedureCode
+id-DownlinkRANStatusTransfer ProcedureCode
+id-DownlinkUEAssociatedNRPPaTransport ProcedureCode
+id-ErrorIndication ProcedureCode
+id-HandoverCancel ProcedureCode
+id-HandoverNotification ProcedureCode
+id-HandoverPreparation ProcedureCode
+id-HandoverResourceAllocation ProcedureCode
+id-InitialContextSetup ProcedureCode
+id-InitialUEMessage ProcedureCode
+id-LocationReportingControl ProcedureCode
+id-LocationReportingFailureIndication ProcedureCode
+id-LocationReport ProcedureCode
+id-NASNonDeliveryIndication ProcedureCode
+id-NGReset ProcedureCode
+id-NGSetup ProcedureCode
+id-OverloadStart ProcedureCode
+id-OverloadStop ProcedureCode
+id-Paging ProcedureCode
+id-PathSwitchRequest ProcedureCode
+id-PDUSessionResourceModify ProcedureCode
+id-PDUSessionResourceModifyIndication ProcedureCode
+id-PDUSessionResourceRelease ProcedureCode
+id-PDUSessionResourceSetup ProcedureCode
+id-PDUSessionResourceNotify ProcedureCode
+id-PrivateMessage ProcedureCode
+id-PWSCancel ProcedureCode
+id-PWSFailureIndication ProcedureCode
+id-PWSRestartIndication ProcedureCode
+id-RANConfigurationUpdate ProcedureCode
+id-RerouteNASRequest ProcedureCode
+id-RRCInactiveTransitionReport ProcedureCode
+id-TraceFailureIndication ProcedureCode
+id-TraceStart ProcedureCode
+id-UEContextModification ProcedureCode
+id-UEContextRelease ProcedureCode
+id-UEContextReleaseRequest ProcedureCode
+id-UERadioCapabilityCheck ProcedureCode
+id-UERadioCapabilityInfoIndication ProcedureCode
+id-UETNLABindingRelease ProcedureCode
+id-UplinkNASTransport ProcedureCode
+id-UplinkNonUEAssociatedNRPPaTransport ProcedureCode
+id-UplinkRANConfigurationTransfer ProcedureCode
+id-UplinkRANStatusTransfer ProcedureCode
+id-UplinkUEAssociatedNRPPaTransport ProcedureCode
+id-WriteReplaceWarning ProcedureCode
+id-SecondaryRATDataUsageReport ProcedureCode
+id-UplinkRIMInformationTransfer ProcedureCode
+id-DownlinkRIMInformationTransfer ProcedureCode
+id-RetrieveUEInformation ProcedureCode
+id-UEInformationTransfer ProcedureCode
+id-RANCPRelocationIndication ProcedureCode
+id-UEContextResume ProcedureCode
+id-UEContextSuspend ProcedureCode
+id-UERadioCapabilityIDMapping ProcedureCode
+id-HandoverSuccess ProcedureCode
+id-UplinkRANEarlyStatusTransfer ProcedureCode
+id-DownlinkRANEarlyStatusTransfer ProcedureCode
+id-AMFCPRelocationIndication ProcedureCode
+id-ConnectionEstablishmentIndication ProcedureCode
+id-BroadcastSessionModification ProcedureCode
+id-BroadcastSessionRelease ProcedureCode
+id-BroadcastSessionSetup ProcedureCode
+id-DistributionSetup ProcedureCode
+id-DistributionRelease ProcedureCode
+id-MulticastSessionActivation ProcedureCode
+id-MulticastSessionDeactivation ProcedureCode
+id-MulticastSessionUpdate ProcedureCode
+id-MulticastGroupPaging ProcedureCode
+id-BroadcastSessionReleaseRequired ProcedureCode
+
+
+# ProtocolIE-ID
+id-AllowedNSSAI ProtocolIE-ID
+id-AMFName ProtocolIE-ID
+id-AMFOverloadResponse ProtocolIE-ID
+id-AMFSetID ProtocolIE-ID
+id-AMF-TNLAssociationFailedToSetupList ProtocolIE-ID
+id-AMF-TNLAssociationSetupList ProtocolIE-ID
+id-AMF-TNLAssociationToAddList ProtocolIE-ID
+id-AMF-TNLAssociationToRemoveList ProtocolIE-ID
+id-AMF-TNLAssociationToUpdateList ProtocolIE-ID
+id-AMFTrafficLoadReductionIndication ProtocolIE-ID
+id-AMF-UE-NGAP-ID ProtocolIE-ID
+id-AssistanceDataForPaging ProtocolIE-ID
+id-BroadcastCancelledAreaList ProtocolIE-ID
+id-BroadcastCompletedAreaList ProtocolIE-ID
+id-CancelAllWarningMessages ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-CellIDListForRestart ProtocolIE-ID
+id-ConcurrentWarningMessageInd ProtocolIE-ID
+id-CoreNetworkAssistanceInformationForInactive ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-DataCodingScheme ProtocolIE-ID
+id-DefaultPagingDRX ProtocolIE-ID
+id-DirectForwardingPathAvailability ProtocolIE-ID
+id-EmergencyAreaIDListForRestart ProtocolIE-ID
+id-EmergencyFallbackIndicator ProtocolIE-ID
+id-EUTRA-CGI ProtocolIE-ID
+id-FiveG-S-TMSI ProtocolIE-ID
+id-GlobalRANNodeID ProtocolIE-ID
+id-GUAMI ProtocolIE-ID
+id-HandoverType ProtocolIE-ID
+id-IMSVoiceSupportIndicator ProtocolIE-ID
+id-IndexToRFSP ProtocolIE-ID
+id-InfoOnRecommendedCellsAndRANNodesForPaging ProtocolIE-ID
+id-LocationReportingRequestType ProtocolIE-ID
+id-MaskedIMEISV ProtocolIE-ID
+id-MessageIdentifier ProtocolIE-ID
+id-MobilityRestrictionList ProtocolIE-ID
+id-NASC ProtocolIE-ID
+id-NAS-PDU ProtocolIE-ID
+id-NASSecurityParametersFromNGRAN ProtocolIE-ID
+id-NewAMF-UE-NGAP-ID ProtocolIE-ID
+id-NewSecurityContextInd ProtocolIE-ID
+id-NGAP-Message ProtocolIE-ID
+id-NGRAN-CGI ProtocolIE-ID
+id-NGRANTraceID ProtocolIE-ID
+id-NR-CGI ProtocolIE-ID
+id-NRPPa-PDU ProtocolIE-ID
+id-NumberOfBroadcastsRequested ProtocolIE-ID
+id-OldAMF ProtocolIE-ID
+id-OverloadStartNSSAIList ProtocolIE-ID
+id-PagingDRX ProtocolIE-ID
+id-PagingOrigin ProtocolIE-ID
+id-PagingPriority ProtocolIE-ID
+id-PDUSessionResourceAdmittedList ProtocolIE-ID
+id-PDUSessionResourceFailedToModifyListModRes ProtocolIE-ID
+id-PDUSessionResourceFailedToSetupListCxtRes ProtocolIE-ID
+id-PDUSessionResourceFailedToSetupListHOAck ProtocolIE-ID
+id-PDUSessionResourceFailedToSetupListPSReq ProtocolIE-ID
+id-PDUSessionResourceFailedToSetupListSURes ProtocolIE-ID
+id-PDUSessionResourceHandoverList ProtocolIE-ID
+id-PDUSessionResourceListCxtRelCpl ProtocolIE-ID
+id-PDUSessionResourceListHORqd ProtocolIE-ID
+id-PDUSessionResourceModifyListModCfm ProtocolIE-ID
+id-PDUSessionResourceModifyListModInd ProtocolIE-ID
+id-PDUSessionResourceModifyListModReq ProtocolIE-ID
+id-PDUSessionResourceModifyListModRes ProtocolIE-ID
+id-PDUSessionResourceNotifyList ProtocolIE-ID
+id-PDUSessionResourceReleasedListNot ProtocolIE-ID
+id-PDUSessionResourceReleasedListPSAck ProtocolIE-ID
+id-PDUSessionResourceReleasedListPSFail ProtocolIE-ID
+id-PDUSessionResourceReleasedListRelRes ProtocolIE-ID
+id-PDUSessionResourceSetupListCxtReq ProtocolIE-ID
+id-PDUSessionResourceSetupListCxtRes ProtocolIE-ID
+id-PDUSessionResourceSetupListHOReq ProtocolIE-ID
+id-PDUSessionResourceSetupListSUReq ProtocolIE-ID
+id-PDUSessionResourceSetupListSURes ProtocolIE-ID
+id-PDUSessionResourceToBeSwitchedDLList ProtocolIE-ID
+id-PDUSessionResourceSwitchedList ProtocolIE-ID
+id-PDUSessionResourceToReleaseListHOCmd ProtocolIE-ID
+id-PDUSessionResourceToReleaseListRelCmd ProtocolIE-ID
+id-PLMNSupportList ProtocolIE-ID
+id-PWSFailedCellIDList ProtocolIE-ID
+id-RANNodeName ProtocolIE-ID
+id-RANPagingPriority ProtocolIE-ID
+id-RANStatusTransfer-TransparentContainer ProtocolIE-ID
+id-RAN-UE-NGAP-ID ProtocolIE-ID
+id-RelativeAMFCapacity ProtocolIE-ID
+id-RepetitionPeriod ProtocolIE-ID
+id-ResetType ProtocolIE-ID
+id-RoutingID ProtocolIE-ID
+id-RRCEstablishmentCause ProtocolIE-ID
+id-RRCInactiveTransitionReportRequest ProtocolIE-ID
+id-RRCState ProtocolIE-ID
+id-SecurityContext ProtocolIE-ID
+id-SecurityKey ProtocolIE-ID
+id-SerialNumber ProtocolIE-ID
+id-ServedGUAMIList ProtocolIE-ID
+id-SliceSupportList ProtocolIE-ID
+id-SONConfigurationTransferDL ProtocolIE-ID
+id-SONConfigurationTransferUL ProtocolIE-ID
+id-SourceAMF-UE-NGAP-ID ProtocolIE-ID
+id-SourceToTarget-TransparentContainer ProtocolIE-ID
+id-SupportedTAList ProtocolIE-ID
+id-TAIListForPaging ProtocolIE-ID
+id-TAIListForRestart ProtocolIE-ID
+id-TargetID ProtocolIE-ID
+id-TargetToSource-TransparentContainer ProtocolIE-ID
+id-TimeToWait ProtocolIE-ID
+id-TraceActivation ProtocolIE-ID
+id-TraceCollectionEntityIPAddress ProtocolIE-ID
+id-UEAggregateMaximumBitRate ProtocolIE-ID
+id-UE-associatedLogicalNG-connectionList ProtocolIE-ID
+id-UEContextRequest ProtocolIE-ID
+id-UE-NGAP-IDs ProtocolIE-ID
+id-UEPagingIdentity ProtocolIE-ID
+id-UEPresenceInAreaOfInterestList ProtocolIE-ID
+id-UERadioCapability ProtocolIE-ID
+id-UERadioCapabilityForPaging ProtocolIE-ID
+id-UESecurityCapabilities ProtocolIE-ID
+id-UnavailableGUAMIList ProtocolIE-ID
+id-UserLocationInformation ProtocolIE-ID
+id-WarningAreaList ProtocolIE-ID
+id-WarningMessageContents ProtocolIE-ID
+id-WarningSecurityInfo ProtocolIE-ID
+id-WarningType ProtocolIE-ID
+id-AdditionalUL-NGU-UP-TNLInformation ProtocolIE-ID
+id-DataForwardingNotPossible ProtocolIE-ID
+id-DL-NGU-UP-TNLInformation ProtocolIE-ID
+id-NetworkInstance ProtocolIE-ID
+id-PDUSessionAggregateMaximumBitRate ProtocolIE-ID
+id-PDUSessionResourceFailedToModifyListModCfm ProtocolIE-ID
+id-PDUSessionResourceFailedToSetupListCxtFail ProtocolIE-ID
+id-PDUSessionResourceListCxtRelReq ProtocolIE-ID
+id-PDUSessionType ProtocolIE-ID
+id-QosFlowAddOrModifyRequestList ProtocolIE-ID
+id-QosFlowSetupRequestList ProtocolIE-ID
+id-QosFlowToReleaseList ProtocolIE-ID
+id-SecurityIndication ProtocolIE-ID
+id-UL-NGU-UP-TNLInformation ProtocolIE-ID
+id-UL-NGU-UP-TNLModifyList ProtocolIE-ID
+id-WarningAreaCoordinates ProtocolIE-ID
+id-PDUSessionResourceSecondaryRATUsageList ProtocolIE-ID
+id-HandoverFlag ProtocolIE-ID
+id-SecondaryRATUsageInformation ProtocolIE-ID
+id-PDUSessionResourceReleaseResponseTransfer ProtocolIE-ID
+id-RedirectionVoiceFallback ProtocolIE-ID
+id-UERetentionInformation ProtocolIE-ID
+id-S-NSSAI ProtocolIE-ID
+id-PSCellInformation ProtocolIE-ID
+id-LastEUTRAN-PLMNIdentity ProtocolIE-ID
+id-MaximumIntegrityProtectedDataRate-DL ProtocolIE-ID
+id-AdditionalDLForwardingUPTNLInformation ProtocolIE-ID
+id-AdditionalDLUPTNLInformationForHOList ProtocolIE-ID
+id-AdditionalNGU-UP-TNLInformation ProtocolIE-ID
+id-AdditionalDLQosFlowPerTNLInformation ProtocolIE-ID
+id-SecurityResult ProtocolIE-ID
+id-ENDC-SONConfigurationTransferDL ProtocolIE-ID
+id-ENDC-SONConfigurationTransferUL ProtocolIE-ID
+id-OldAssociatedQosFlowList-ULendmarkerexpected ProtocolIE-ID
+id-CNTypeRestrictionsForEquivalent ProtocolIE-ID
+id-CNTypeRestrictionsForServing ProtocolIE-ID
+id-NewGUAMI ProtocolIE-ID
+id-ULForwarding ProtocolIE-ID
+id-ULForwardingUP-TNLInformation ProtocolIE-ID
+id-CNAssistedRANTuning ProtocolIE-ID
+id-CommonNetworkInstance ProtocolIE-ID
+id-NGRAN-TNLAssociationToRemoveList ProtocolIE-ID
+id-TNLAssociationTransportLayerAddressNGRAN ProtocolIE-ID
+id-EndpointIPAddressAndPort ProtocolIE-ID
+id-LocationReportingAdditionalInfo ProtocolIE-ID
+id-SourceToTarget-AMFInformationReroute ProtocolIE-ID
+id-AdditionalULForwardingUPTNLInformation ProtocolIE-ID
+id-SCTP-TLAs ProtocolIE-ID
+id-SelectedPLMNIdentity ProtocolIE-ID
+id-RIMInformationTransfer ProtocolIE-ID
+id-GUAMIType ProtocolIE-ID
+id-SRVCCOperationPossible ProtocolIE-ID
+id-TargetRNC-ID ProtocolIE-ID
+id-RAT-Information ProtocolIE-ID
+id-ExtendedRATRestrictionInformation ProtocolIE-ID
+id-QosMonitoringRequest ProtocolIE-ID
+id-SgNB-UE-X2AP-ID ProtocolIE-ID
+id-AdditionalRedundantDL-NGU-UP-TNLInformation ProtocolIE-ID
+id-AdditionalRedundantDLQosFlowPerTNLInformation ProtocolIE-ID
+id-AdditionalRedundantNGU-UP-TNLInformation ProtocolIE-ID
+id-AdditionalRedundantUL-NGU-UP-TNLInformation ProtocolIE-ID
+id-CNPacketDelayBudgetDL ProtocolIE-ID
+id-CNPacketDelayBudgetUL ProtocolIE-ID
+id-ExtendedPacketDelayBudget ProtocolIE-ID
+id-RedundantCommonNetworkInstance ProtocolIE-ID
+id-RedundantDL-NGU-TNLInformationReused ProtocolIE-ID
+id-RedundantDL-NGU-UP-TNLInformation ProtocolIE-ID
+id-RedundantDLQosFlowPerTNLInformation ProtocolIE-ID
+id-RedundantQosFlowIndicator ProtocolIE-ID
+id-RedundantUL-NGU-UP-TNLInformation ProtocolIE-ID
+id-TSCTrafficCharacteristics ProtocolIE-ID
+id-RedundantPDUSessionInformation ProtocolIE-ID
+id-UsedRSNInformation ProtocolIE-ID
+id-IAB-Authorized ProtocolIE-ID
+id-IAB-Supported ProtocolIE-ID
+id-IABNodeIndication ProtocolIE-ID
+id-NB-IoT-PagingDRX ProtocolIE-ID
+id-NB-IoT-Paging-eDRXInfo ProtocolIE-ID
+id-NB-IoT-DefaultPagingDRX ProtocolIE-ID
+id-Enhanced-CoverageRestriction ProtocolIE-ID
+id-Extended-ConnectedTime ProtocolIE-ID
+id-PagingAssisDataforCEcapabUE ProtocolIE-ID
+id-WUS-Assistance-Information ProtocolIE-ID
+id-UE-DifferentiationInfo ProtocolIE-ID
+id-NB-IoT-UEPriority ProtocolIE-ID
+id-UL-CP-SecurityInformation ProtocolIE-ID
+id-DL-CP-SecurityInformation ProtocolIE-ID
+id-TAI ProtocolIE-ID
+id-UERadioCapabilityForPagingOfNB-IoT ProtocolIE-ID
+id-LTEV2XServicesAuthorized ProtocolIE-ID
+id-NRV2XServicesAuthorized ProtocolIE-ID
+id-LTEUESidelinkAggregateMaximumBitrate ProtocolIE-ID
+id-NRUESidelinkAggregateMaximumBitrate ProtocolIE-ID
+id-PC5QoSParameters ProtocolIE-ID
+id-AlternativeQoSParaSetList ProtocolIE-ID
+id-CurrentQoSParaSetIndex ProtocolIE-ID
+id-CEmodeBrestricted ProtocolIE-ID
+id-EUTRA-PagingeDRXInformation ProtocolIE-ID
+id-CEmodeBSupport-Indicator ProtocolIE-ID
+id-LTEM-Indication ProtocolIE-ID
+id-EndIndication ProtocolIE-ID
+id-EDT-Session ProtocolIE-ID
+id-UECapabilityInfoRequest ProtocolIE-ID
+id-PDUSessionResourceFailedToResumeListRESReq ProtocolIE-ID
+id-PDUSessionResourceFailedToResumeListRESRes ProtocolIE-ID
+id-PDUSessionResourceSuspendListSUSReq ProtocolIE-ID
+id-PDUSessionResourceResumeListRESReq ProtocolIE-ID
+id-PDUSessionResourceResumeListRESRes ProtocolIE-ID
+id-UE-UP-CIoT-Support ProtocolIE-ID
+id-Suspend-Request-Indication ProtocolIE-ID
+id-Suspend-Response-Indication ProtocolIE-ID
+id-RRC-Resume-Cause ProtocolIE-ID
+id-RGLevelWirelineAccessCharacteristics ProtocolIE-ID
+id-W-AGFIdentityInformation ProtocolIE-ID
+id-GlobalTNGF-ID ProtocolIE-ID
+id-GlobalTWIF-ID ProtocolIE-ID
+id-GlobalW-AGF-ID ProtocolIE-ID
+id-UserLocationInformationW-AGF ProtocolIE-ID
+id-UserLocationInformationTNGF ProtocolIE-ID
+id-AuthenticatedIndication ProtocolIE-ID
+id-TNGFIdentityInformation ProtocolIE-ID
+id-TWIFIdentityInformation ProtocolIE-ID
+id-UserLocationInformationTWIF ProtocolIE-ID
+id-DataForwardingResponseERABList ProtocolIE-ID
+id-IntersystemSONConfigurationTransferDL ProtocolIE-ID
+id-IntersystemSONConfigurationTransferUL ProtocolIE-ID
+id-SONInformationReport ProtocolIE-ID
+id-UEHistoryInformationFromTheUE ProtocolIE-ID
+id-ManagementBasedMDTPLMNList ProtocolIE-ID
+id-MDTConfiguration ProtocolIE-ID
+id-PrivacyIndicator ProtocolIE-ID
+id-TraceCollectionEntityURI ProtocolIE-ID
+id-NPN-Support ProtocolIE-ID
+id-NPN-AccessInformation ProtocolIE-ID
+id-NPN-PagingAssistanceInformation ProtocolIE-ID
+id-NPN-MobilityInformation ProtocolIE-ID
+id-TargettoSource-Failure-TransparentContainer ProtocolIE-ID
+id-NID ProtocolIE-ID
+id-UERadioCapabilityID ProtocolIE-ID
+id-UERadioCapability-EUTRA-Format ProtocolIE-ID
+id-DAPSRequestInfo ProtocolIE-ID
+id-DAPSResponseInfoList ProtocolIE-ID
+id-EarlyStatusTransfer-TransparentContainer ProtocolIE-ID
+id-NotifySourceNGRANNode ProtocolIE-ID
+id-ExtendedSliceSupportList ProtocolIE-ID
+id-ExtendedTAISliceSupportList ProtocolIE-ID
+id-ConfiguredTACIndication ProtocolIE-ID
+id-Extended-RANNodeName ProtocolIE-ID
+id-Extended-AMFName ProtocolIE-ID
+id-GlobalCable-ID ProtocolIE-ID
+id-QosMonitoringReportingFrequency ProtocolIE-ID
+id-QosFlowParametersList ProtocolIE-ID
+id-QosFlowFeedbackList ProtocolIE-ID
+id-BurstArrivalTimeDownlink ProtocolIE-ID
+id-ExtendedUEIdentityIndexValue ProtocolIE-ID
+id-PduSessionExpectedUEActivityBehaviour ProtocolIE-ID
+id-MicoAllPLMN ProtocolIE-ID
+id-QosFlowFailedToSetupList ProtocolIE-ID
+id-SourceTNLAddrInfo ProtocolIE-ID
+id-ExtendedReportIntervalMDT ProtocolIE-ID
+id-SourceNodeID ProtocolIE-ID
+id-NRNTNTAIInformation ProtocolIE-ID
+id-UEContextReferenceAtSource ProtocolIE-ID
+id-LastVisitedPSCellList ProtocolIE-ID
+id-IntersystemSONInformationRequest ProtocolIE-ID
+id-IntersystemSONInformationReply ProtocolIE-ID
+id-EnergySavingIndication ProtocolIE-ID
+id-IntersystemResourceStatusUpdate ProtocolIE-ID
+id-SuccessfulHandoverReportList ProtocolIE-ID
+id-MBS-AreaSessionID ProtocolIE-ID
+id-MBS-QoSFlowsToBeSetupList ProtocolIE-ID
+id-MBS-QoSFlowsToBeSetupModList ProtocolIE-ID
+id-MBS-ServiceArea ProtocolIE-ID
+id-MBS-SessionID ProtocolIE-ID
+id-MBS-DistributionReleaseRequestTransfer ProtocolIE-ID
+id-MBS-DistributionSetupRequestTransfer ProtocolIE-ID
+id-MBS-DistributionSetupResponseTransfer ProtocolIE-ID
+id-MBS-DistributionSetupUnsuccessfulTransfer ProtocolIE-ID
+id-MulticastSessionActivationRequestTransfer ProtocolIE-ID
+id-MulticastSessionDeactivationRequestTransfer ProtocolIE-ID
+id-MulticastSessionUpdateRequestTransfer ProtocolIE-ID
+id-MulticastGroupPagingAreaList ProtocolIE-ID
+id-MBS-SupportIndicator ProtocolIE-ID
+id-MBSSessionFailedtoSetupList ProtocolIE-ID
+id-MBSSessionFailedtoSetuporModifyList ProtocolIE-ID
+id-MBSSessionSetupResponseList ProtocolIE-ID
+id-MBSSessionSetuporModifyResponseList ProtocolIE-ID
+id-MBSSessionSetupFailureTransfer ProtocolIE-ID
+id-MBSSessionSetupRequestTransfer ProtocolIE-ID
+id-MBSSessionSetupResponseTransfer ProtocolIE-ID
+id-MBSSessionToReleaseList ProtocolIE-ID
+id-MBSSessionSetupRequestList ProtocolIE-ID
+id-MBSSessionSetuporModifyRequestList ProtocolIE-ID
+id-MBS-ActiveSessionInformation-SourcetoTargetList ProtocolIE-ID
+id-MBS-ActiveSessionInformation-TargettoSourceList ProtocolIE-ID
+id-OnboardingSupport ProtocolIE-ID
+id-TimeSyncAssistanceInfo ProtocolIE-ID
+id-SurvivalTime ProtocolIE-ID
+id-QMCConfigInfo ProtocolIE-ID
+id-QMCDeactivation ProtocolIE-ID
+id-PDUSessionPairID ProtocolIE-ID
+id-NR-PagingeDRXInformation ProtocolIE-ID
+id-RedCapIndication ProtocolIE-ID
+id-TargetNSSAIInformation ProtocolIE-ID
+id-UESliceMaximumBitRateList ProtocolIE-ID
+id-M4ReportAmount ProtocolIE-ID
+id-M5ReportAmount ProtocolIE-ID
+id-M6ReportAmount ProtocolIE-ID
+id-M7ReportAmount ProtocolIE-ID
+id-IncludeBeamMeasurementsIndication ProtocolIE-ID
+id-ExcessPacketDelayThresholdConfiguration ProtocolIE-ID
+id-PagingCause ProtocolIE-ID
+id-PagingCauseIndicationForVoiceService ProtocolIE-ID
+id-PEIPSassistanceInformation ProtocolIE-ID
+id-FiveG-ProSeAuthorized ProtocolIE-ID
+id-FiveG-ProSeUEPC5AggregateMaximumBitRate ProtocolIE-ID
+id-FiveG-ProSePC5QoSParameters ProtocolIE-ID
+id-MBSSessionModificationFailureTransfer ProtocolIE-ID
+id-MBSSessionModificationRequestTransfer ProtocolIE-ID
+id-MBSSessionModificationResponseTransfer ProtocolIE-ID
+id-MBS-QoSFlowToReleaseList ProtocolIE-ID
+id-MBS-SessionTNLInfo5GC ProtocolIE-ID
+id-TAINSAGSupportList ProtocolIE-ID
+id-SourceNodeTNLAddrInfo ProtocolIE-ID
+id-NGAPIESupportInformationRequestList ProtocolIE-ID
+id-NGAPIESupportInformationResponseList ProtocolIE-ID
+id-MBS-SessionFSAIDList ProtocolIE-ID
+id-MBSSessionReleaseResponseTransfer ProtocolIE-ID
+id-ManagementBasedMDTPLMNModificationList ProtocolIE-ID
+id-EarlyMeasurement ProtocolIE-ID
+id-BeamMeasurementsReportConfiguration ProtocolIE-ID
+id-HFCNode-ID-new ProtocolIE-ID
+id-GlobalCable-ID-new ProtocolIE-ID
+id-TargetHomeENB-ID ProtocolIE-ID
+id-HashedUEIdentityIndexValue ProtocolIE-ID
+
+#.END
+
+
+#.REGISTER
+
+#NGAP-PROTOCOL-IES
+
+AllowedNSSAI N ngap.ies id-AllowedNSSAI
+AMFName N ngap.ies id-AMFName
+OverloadResponse N ngap.ies id-AMFOverloadResponse
+AMFSetID N ngap.ies id-AMFSetID
+TNLAssociationList N ngap.ies id-AMF-TNLAssociationFailedToSetupList
+AMF-TNLAssociationSetupList N ngap.ies id-AMF-TNLAssociationSetupList
+AMF-TNLAssociationToAddList N ngap.ies id-AMF-TNLAssociationToAddList
+AMF-TNLAssociationToRemoveList N ngap.ies id-AMF-TNLAssociationToRemoveList
+AMF-TNLAssociationToUpdateList N ngap.ies id-AMF-TNLAssociationToUpdateList
+TrafficLoadReductionIndication N ngap.ies id-AMFTrafficLoadReductionIndication
+AMF-UE-NGAP-ID N ngap.ies id-AMF-UE-NGAP-ID
+AssistanceDataForPaging N ngap.ies id-AssistanceDataForPaging
+BroadcastCancelledAreaList N ngap.ies id-BroadcastCancelledAreaList
+BroadcastCompletedAreaList N ngap.ies id-BroadcastCompletedAreaList
+CancelAllWarningMessages N ngap.ies id-CancelAllWarningMessages
+Cause N ngap.ies id-Cause
+CellIDListForRestart N ngap.ies id-CellIDListForRestart
+ConcurrentWarningMessageInd N ngap.ies id-ConcurrentWarningMessageInd
+CoreNetworkAssistanceInformationForInactive N ngap.ies id-CoreNetworkAssistanceInformationForInactive
+CriticalityDiagnostics N ngap.ies id-CriticalityDiagnostics
+DataCodingScheme N ngap.ies id-DataCodingScheme
+PagingDRX N ngap.ies id-DefaultPagingDRX
+DirectForwardingPathAvailability N ngap.ies id-DirectForwardingPathAvailability
+EmergencyAreaIDListForRestart N ngap.ies id-EmergencyAreaIDListForRestart
+EmergencyFallbackIndicator N ngap.ies id-EmergencyFallbackIndicator
+EUTRA-CGI N ngap.ies id-EUTRA-CGI
+FiveG-S-TMSI N ngap.ies id-FiveG-S-TMSI
+GlobalRANNodeID N ngap.ies id-GlobalRANNodeID
+GUAMI N ngap.ies id-GUAMI
+HandoverType N ngap.ies id-HandoverType
+IMSVoiceSupportIndicator N ngap.ies id-IMSVoiceSupportIndicator
+IndexToRFSP N ngap.ies id-IndexToRFSP
+InfoOnRecommendedCellsAndRANNodesForPaging N ngap.ies id-InfoOnRecommendedCellsAndRANNodesForPaging
+LocationReportingRequestType N ngap.ies id-LocationReportingRequestType
+MaskedIMEISV N ngap.ies id-MaskedIMEISV
+MessageIdentifier N ngap.ies id-MessageIdentifier
+MobilityRestrictionList N ngap.ies id-MobilityRestrictionList
+NAS-PDU N ngap.ies id-NASC
+NAS-PDU N ngap.ies id-NAS-PDU
+NASSecurityParametersFromNGRAN N ngap.ies id-NASSecurityParametersFromNGRAN
+AMF-UE-NGAP-ID N ngap.ies id-NewAMF-UE-NGAP-ID
+NewSecurityContextInd N ngap.ies id-NewSecurityContextInd
+NGAP-Message N ngap.ies id-NGAP-Message
+NGRAN-CGI N ngap.ies id-NGRAN-CGI
+NGRANTraceID N ngap.ies id-NGRANTraceID
+NR-CGI N ngap.ies id-NR-CGI
+NRPPa-PDU N ngap.ies id-NRPPa-PDU
+NumberOfBroadcastsRequested N ngap.ies id-NumberOfBroadcastsRequested
+AMFName N ngap.ies id-OldAMF
+OverloadStartNSSAIList N ngap.ies id-OverloadStartNSSAIList
+PagingDRX N ngap.ies id-PagingDRX
+PagingOrigin N ngap.ies id-PagingOrigin
+PagingPriority N ngap.ies id-PagingPriority
+PDUSessionResourceAdmittedList N ngap.ies id-PDUSessionResourceAdmittedList
+PDUSessionResourceFailedToModifyListModRes N ngap.ies id-PDUSessionResourceFailedToModifyListModRes
+PDUSessionResourceFailedToSetupListCxtRes N ngap.ies id-PDUSessionResourceFailedToSetupListCxtRes
+PDUSessionResourceFailedToSetupListHOAck N ngap.ies id-PDUSessionResourceFailedToSetupListHOAck
+PDUSessionResourceFailedToSetupListPSReq N ngap.ies id-PDUSessionResourceFailedToSetupListPSReq
+PDUSessionResourceFailedToSetupListSURes N ngap.ies id-PDUSessionResourceFailedToSetupListSURes
+PDUSessionResourceHandoverList N ngap.ies id-PDUSessionResourceHandoverList
+PDUSessionResourceListCxtRelCpl N ngap.ies id-PDUSessionResourceListCxtRelCpl
+PDUSessionResourceListHORqd N ngap.ies id-PDUSessionResourceListHORqd
+PDUSessionResourceModifyListModCfm N ngap.ies id-PDUSessionResourceModifyListModCfm
+PDUSessionResourceModifyListModInd N ngap.ies id-PDUSessionResourceModifyListModInd
+PDUSessionResourceModifyListModReq N ngap.ies id-PDUSessionResourceModifyListModReq
+PDUSessionResourceModifyListModRes N ngap.ies id-PDUSessionResourceModifyListModRes
+PDUSessionResourceNotifyList N ngap.ies id-PDUSessionResourceNotifyList
+PDUSessionResourceReleasedListNot N ngap.ies id-PDUSessionResourceReleasedListNot
+PDUSessionResourceReleasedListPSAck N ngap.ies id-PDUSessionResourceReleasedListPSAck
+PDUSessionResourceReleasedListPSFail N ngap.ies id-PDUSessionResourceReleasedListPSFail
+PDUSessionResourceReleasedListRelRes N ngap.ies id-PDUSessionResourceReleasedListRelRes
+PDUSessionResourceSetupListCxtReq N ngap.ies id-PDUSessionResourceSetupListCxtReq
+PDUSessionResourceSetupListCxtRes N ngap.ies id-PDUSessionResourceSetupListCxtRes
+PDUSessionResourceSetupListHOReq N ngap.ies id-PDUSessionResourceSetupListHOReq
+PDUSessionResourceSetupListSUReq N ngap.ies id-PDUSessionResourceSetupListSUReq
+PDUSessionResourceSetupListSURes N ngap.ies id-PDUSessionResourceSetupListSURes
+PDUSessionResourceToBeSwitchedDLList N ngap.ies id-PDUSessionResourceToBeSwitchedDLList
+PDUSessionResourceSwitchedList N ngap.ies id-PDUSessionResourceSwitchedList
+PDUSessionResourceToReleaseListHOCmd N ngap.ies id-PDUSessionResourceToReleaseListHOCmd
+PDUSessionResourceToReleaseListRelCmd N ngap.ies id-PDUSessionResourceToReleaseListRelCmd
+PLMNSupportList N ngap.ies id-PLMNSupportList
+PWSFailedCellIDList N ngap.ies id-PWSFailedCellIDList
+RANNodeName N ngap.ies id-RANNodeName
+RANPagingPriority N ngap.ies id-RANPagingPriority
+RANStatusTransfer-TransparentContainer N ngap.ies id-RANStatusTransfer-TransparentContainer
+RAN-UE-NGAP-ID N ngap.ies id-RAN-UE-NGAP-ID
+RelativeAMFCapacity N ngap.ies id-RelativeAMFCapacity
+RepetitionPeriod N ngap.ies id-RepetitionPeriod
+ResetType N ngap.ies id-ResetType
+RoutingID N ngap.ies id-RoutingID
+RRCEstablishmentCause N ngap.ies id-RRCEstablishmentCause
+RRCInactiveTransitionReportRequest N ngap.ies id-RRCInactiveTransitionReportRequest
+RRCState N ngap.ies id-RRCState
+SecurityContext N ngap.ies id-SecurityContext
+SecurityKey N ngap.ies id-SecurityKey
+SerialNumber N ngap.ies id-SerialNumber
+ServedGUAMIList N ngap.ies id-ServedGUAMIList
+SliceSupportList N ngap.ies id-SliceSupportList
+SONConfigurationTransfer N ngap.ies id-SONConfigurationTransferDL
+SONConfigurationTransfer N ngap.ies id-SONConfigurationTransferUL
+AMF-UE-NGAP-ID N ngap.ies id-SourceAMF-UE-NGAP-ID
+SourceToTarget-TransparentContainer N ngap.ies id-SourceToTarget-TransparentContainer
+SupportedTAList N ngap.ies id-SupportedTAList
+TAIListForPaging N ngap.ies id-TAIListForPaging
+TAIListForRestart N ngap.ies id-TAIListForRestart
+TargetID N ngap.ies id-TargetID
+TargetToSource-TransparentContainer N ngap.ies id-TargetToSource-TransparentContainer
+TimeToWait N ngap.ies id-TimeToWait
+TraceActivation N ngap.ies id-TraceActivation
+TransportLayerAddress N ngap.ies id-TraceCollectionEntityIPAddress
+UEAggregateMaximumBitRate N ngap.ies id-UEAggregateMaximumBitRate
+UE-associatedLogicalNG-connectionList N ngap.ies id-UE-associatedLogicalNG-connectionList
+UEContextRequest N ngap.ies id-UEContextRequest
+UE-NGAP-IDs N ngap.ies id-UE-NGAP-IDs
+UEPagingIdentity N ngap.ies id-UEPagingIdentity
+UEPresenceInAreaOfInterestList N ngap.ies id-UEPresenceInAreaOfInterestList
+UERadioCapability N ngap.ies id-UERadioCapability
+UERadioCapabilityForPaging N ngap.ies id-UERadioCapabilityForPaging
+UESecurityCapabilities N ngap.ies id-UESecurityCapabilities
+UnavailableGUAMIList N ngap.ies id-UnavailableGUAMIList
+UserLocationInformation N ngap.ies id-UserLocationInformation
+WarningAreaList N ngap.ies id-WarningAreaList
+WarningMessageContents N ngap.ies id-WarningMessageContents
+WarningSecurityInfo N ngap.ies id-WarningSecurityInfo
+WarningType N ngap.ies id-WarningType
+UPTransportLayerInformationList N ngap.ies id-AdditionalUL-NGU-UP-TNLInformation
+DataForwardingNotPossible N ngap.ies id-DataForwardingNotPossible
+NetworkInstance N ngap.ies id-NetworkInstance
+PDUSessionAggregateMaximumBitRate N ngap.ies id-PDUSessionAggregateMaximumBitRate
+PDUSessionResourceFailedToModifyListModCfm N ngap.ies id-PDUSessionResourceFailedToModifyListModCfm
+PDUSessionResourceFailedToSetupListCxtFail N ngap.ies id-PDUSessionResourceFailedToSetupListCxtFail
+PDUSessionResourceListCxtRelReq N ngap.ies id-PDUSessionResourceListCxtRelReq
+PDUSessionType N ngap.ies id-PDUSessionType
+QosFlowAddOrModifyRequestList N ngap.ies id-QosFlowAddOrModifyRequestList
+QosFlowSetupRequestList N ngap.ies id-QosFlowSetupRequestList
+QosFlowListWithCause N ngap.ies id-QosFlowToReleaseList
+SecurityIndication N ngap.ies id-SecurityIndication
+UPTransportLayerInformation N ngap.ies id-UL-NGU-UP-TNLInformation
+UL-NGU-UP-TNLModifyList N ngap.ies id-UL-NGU-UP-TNLModifyList
+WarningAreaCoordinates N ngap.ies id-WarningAreaCoordinates
+PDUSessionResourceSecondaryRATUsageList N ngap.ies id-PDUSessionResourceSecondaryRATUsageList
+HandoverFlag N ngap.ies id-HandoverFlag
+RedirectionVoiceFallback N ngap.ies id-RedirectionVoiceFallback
+UERetentionInformation N ngap.ies id-UERetentionInformation
+NGRAN-CGI N ngap.ies id-PSCellInformation
+EN-DCSONConfigurationTransfer N ngap.ies id-ENDC-SONConfigurationTransferDL
+EN-DCSONConfigurationTransfer N ngap.ies id-ENDC-SONConfigurationTransferUL
+GUAMI N ngap.ies id-NewGUAMI
+CNAssistedRANTuning N ngap.ies id-CNAssistedRANTuning
+CommonNetworkInstance N ngap.ies id-CommonNetworkInstance
+NGRAN-TNLAssociationToRemoveList N ngap.ies id-NGRAN-TNLAssociationToRemoveList
+EndpointIPAddressAndPort N ngap.ies id-EndpointIPAddressAndPort
+SourceToTarget-AMFInformationReroute N ngap.ies id-SourceToTarget-AMFInformationReroute
+RIMInformationTransfer N ngap.ies id-RIMInformationTransfer
+SRVCCOperationPossible N ngap.ies id-SRVCCOperationPossible
+TargetRNC-ID N ngap.ies id-TargetRNC-ID
+UPTransportLayerInformationList N ngap.ies id-AdditionalRedundantUL-NGU-UP-TNLInformation
+CommonNetworkInstance N ngap.ies id-RedundantCommonNetworkInstance
+UPTransportLayerInformation N ngap.ies id-RedundantUL-NGU-UP-TNLInformation
+RedundantPDUSessionInformation N ngap.ies id-RedundantPDUSessionInformation
+IAB-Authorized N ngap.ies id-IAB-Authorized
+IAB-Supported N ngap.ies id-IAB-Supported
+IABNodeIndication N ngap.ies id-IABNodeIndication
+NB-IoT-PagingDRX N ngap.ies id-NB-IoT-PagingDRX
+NB-IoT-Paging-eDRXInfo N ngap.ies id-NB-IoT-Paging-eDRXInfo
+NB-IoT-DefaultPagingDRX N ngap.ies id-NB-IoT-DefaultPagingDRX
+Enhanced-CoverageRestriction N ngap.ies id-Enhanced-CoverageRestriction
+Extended-ConnectedTime N ngap.ies id-Extended-ConnectedTime
+PagingAssisDataforCEcapabUE N ngap.ies id-PagingAssisDataforCEcapabUE
+WUS-Assistance-Information N ngap.ies id-WUS-Assistance-Information
+UE-DifferentiationInfo N ngap.ies id-UE-DifferentiationInfo
+NB-IoT-UEPriority N ngap.ies id-NB-IoT-UEPriority
+UL-CP-SecurityInformation N ngap.ies id-UL-CP-SecurityInformation
+DL-CP-SecurityInformation N ngap.ies id-DL-CP-SecurityInformation
+TAI N ngap.ies id-TAI
+LTEV2XServicesAuthorized N ngap.ies id-LTEV2XServicesAuthorized
+NRV2XServicesAuthorized N ngap.ies id-NRV2XServicesAuthorized
+LTEUESidelinkAggregateMaximumBitrate N ngap.ies id-LTEUESidelinkAggregateMaximumBitrate
+NRUESidelinkAggregateMaximumBitrate N ngap.ies id-NRUESidelinkAggregateMaximumBitrate
+PC5QoSParameters N ngap.ies id-PC5QoSParameters
+CEmodeBrestricted N ngap.ies id-CEmodeBrestricted
+EUTRA-PagingeDRXInformation N ngap.ies id-EUTRA-PagingeDRXInformation
+CEmodeBSupport-Indicator N ngap.ies id-CEmodeBSupport-Indicator
+LTEM-Indication N ngap.ies id-LTEM-Indication
+EndIndication N ngap.ies id-EndIndication
+EDT-Session N ngap.ies id-EDT-Session
+UECapabilityInfoRequest N ngap.ies id-UECapabilityInfoRequest
+PDUSessionResourceFailedToResumeListRESReq N ngap.ies id-PDUSessionResourceFailedToResumeListRESReq
+PDUSessionResourceFailedToResumeListRESRes N ngap.ies id-PDUSessionResourceFailedToResumeListRESRes
+PDUSessionResourceSuspendListSUSReq N ngap.ies id-PDUSessionResourceSuspendListSUSReq
+PDUSessionResourceResumeListRESReq N ngap.ies id-PDUSessionResourceResumeListRESReq
+PDUSessionResourceResumeListRESRes N ngap.ies id-PDUSessionResourceResumeListRESRes
+UE-UP-CIoT-Support N ngap.ies id-UE-UP-CIoT-Support
+Suspend-Request-Indication N ngap.ies id-Suspend-Request-Indication
+Suspend-Response-Indication N ngap.ies id-Suspend-Response-Indication
+RRCEstablishmentCause N ngap.ies id-RRC-Resume-Cause
+RGLevelWirelineAccessCharacteristics N ngap.ies id-RGLevelWirelineAccessCharacteristics
+W-AGFIdentityInformation N ngap.ies id-W-AGFIdentityInformation
+GlobalTNGF-ID N ngap.ies id-GlobalTNGF-ID
+GlobalTWIF-ID N ngap.ies id-GlobalTWIF-ID
+GlobalW-AGF-ID N ngap.ies id-GlobalW-AGF-ID
+UserLocationInformationW-AGF N ngap.ies id-UserLocationInformationW-AGF
+UserLocationInformationTNGF N ngap.ies id-UserLocationInformationTNGF
+AuthenticatedIndication N ngap.ies id-AuthenticatedIndication
+TNGFIdentityInformation N ngap.ies id-TNGFIdentityInformation
+TWIFIdentityInformation N ngap.ies id-TWIFIdentityInformation
+UserLocationInformationTWIF N ngap.ies id-UserLocationInformationTWIF
+PLMNIdentity N ngap.ies id-SelectedPLMNIdentity
+IntersystemSONConfigurationTransfer N ngap.ies id-IntersystemSONConfigurationTransferDL
+IntersystemSONConfigurationTransfer N ngap.ies id-IntersystemSONConfigurationTransferUL
+SONInformationReport N ngap.ies id-SONInformationReport
+MDTPLMNList N ngap.ies id-ManagementBasedMDTPLMNList
+PrivacyIndicator N ngap.ies id-PrivacyIndicator
+URI-address N ngap.ies id-TraceCollectionEntityURI
+NPN-AccessInformation N ngap.ies id-NPN-AccessInformation
+TargettoSource-Failure-TransparentContainer N ngap.ies id-TargettoSource-Failure-TransparentContainer
+UERadioCapabilityID N ngap.ies id-UERadioCapabilityID
+UERadioCapability N ngap.ies id-UERadioCapability-EUTRA-Format
+EarlyStatusTransfer-TransparentContainer N ngap.ies id-EarlyStatusTransfer-TransparentContainer
+NotifySourceNGRANNode N ngap.ies id-NotifySourceNGRANNode
+Extended-RANNodeName N ngap.ies id-Extended-RANNodeName
+Extended-AMFName N ngap.ies id-Extended-AMFName
+GlobalCable-ID N ngap.ies id-GlobalCable-ID
+IntersystemSONInformationRequest N ngap.ies id-IntersystemSONInformationRequest
+IntersystemSONInformationReply N ngap.ies id-IntersystemSONInformationReply
+IntersystemCellStateIndication N ngap.ies id-EnergySavingIndication
+IntersystemResourceStatusReport N ngap.ies id-IntersystemResourceStatusUpdate
+SuccessfulHandoverReportList N ngap.ies id-SuccessfulHandoverReportList
+MBS-AreaSessionID N ngap.ies id-MBS-AreaSessionID
+MBS-QoSFlowsToBeSetupList N ngap.ies id-MBS-QoSFlowsToBeSetupModList
+MBS-ServiceArea N ngap.ies id-MBS-ServiceArea
+MBS-SessionID N ngap.ies id-MBS-SessionID
+MBS-DistributionReleaseRequestTransfer-OCTET-STRING N ngap.ies id-MBS-DistributionReleaseRequestTransfer
+MBS-DistributionSetupRequestTransfer-OCTET-STRING N ngap.ies id-MBS-DistributionSetupRequestTransfer
+MBS-DistributionSetupResponseTransfer-OCTET-STRING N ngap.ies id-MBS-DistributionSetupResponseTransfer
+MBS-DistributionSetupUnsuccessfulTransfer-OCTET-STRING N ngap.ies id-MBS-DistributionSetupUnsuccessfulTransfer
+MulticastSessionActivationRequestTransfer-OCTET-STRING N ngap.ies id-MulticastSessionActivationRequestTransfer
+MulticastSessionDeactivationRequestTransfer-OCTET-STRING N ngap.ies id-MulticastSessionDeactivationRequestTransfer
+MulticastSessionUpdateRequestTransfer-OCTET-STRING N ngap.ies id-MulticastSessionUpdateRequestTransfer
+MulticastGroupPagingAreaList N ngap.ies id-MulticastGroupPagingAreaList
+MBSSessionSetupOrModFailureTransfer-OCTET-STRING N ngap.ies id-MBSSessionSetupFailureTransfer
+MBSSessionSetupOrModRequestTransfer-OCTET-STRING N ngap.ies id-MBSSessionSetupRequestTransfer
+MBSSessionSetupOrModResponseTransfer-OCTET-STRING N ngap.ies id-MBSSessionSetupResponseTransfer
+MBSSessionToReleaseList N ngap.ies id-MBSSessionToReleaseList
+MBSSessionSetupRequestList N ngap.ies id-MBSSessionSetupRequestList
+MBSSessionSetuporModifyRequestList N ngap.ies id-MBSSessionSetuporModifyRequestList
+TimeSyncAssistanceInfo N ngap.ies id-TimeSyncAssistanceInfo
+QMCConfigInfo N ngap.ies id-QMCConfigInfo
+QMCDeactivation N ngap.ies id-QMCDeactivation
+NR-PagingeDRXInformation N ngap.ies id-NR-PagingeDRXInformation
+RedCapIndication N ngap.ies id-RedCapIndication
+TargetNSSAIInformation N ngap.ies id-TargetNSSAIInformation
+UESliceMaximumBitRateList N ngap.ies id-UESliceMaximumBitRateList
+PagingCause N ngap.ies id-PagingCause
+PEIPSassistanceInformation N ngap.ies id-PEIPSassistanceInformation
+FiveG-ProSeAuthorized N ngap.ies id-FiveG-ProSeAuthorized
+NRUESidelinkAggregateMaximumBitrate N ngap.ies id-FiveG-ProSeUEPC5AggregateMaximumBitRate
+FiveG-ProSePC5QoSParameters N ngap.ies id-FiveG-ProSePC5QoSParameters
+MBSSessionSetupOrModFailureTransfer-OCTET-STRING N ngap.ies id-MBSSessionModificationFailureTransfer
+MBSSessionSetupOrModRequestTransfer-OCTET-STRING N ngap.ies id-MBSSessionModificationRequestTransfer
+MBSSessionSetupOrModResponseTransfer-OCTET-STRING N ngap.ies id-MBSSessionModificationResponseTransfer
+QosFlowListWithCause N ngap.ies id-MBS-QoSFlowToReleaseList
+MBS-SessionTNLInfo5GC N ngap.ies id-MBS-SessionTNLInfo5GC
+MBS-SessionFSAIDList N ngap.ies id-MBS-SessionFSAIDList
+MBSSessionReleaseResponseTransfer-OCTET-STRING N ngap.ies id-MBSSessionReleaseResponseTransfer
+MDTPLMNModificationList N ngap.ies id-ManagementBasedMDTPLMNModificationList
+HFCNode-ID-new N ngap.ies id-HFCNode-ID-new
+GlobalCable-ID-new N ngap.ies id-GlobalCable-ID-new
+TargetHomeENB-ID N ngap.ies id-TargetHomeENB-ID
+
+#NGAP-PROTOCOL-EXTENSION
+
+SecondaryRATUsageInformation N ngap.extension id-SecondaryRATUsageInformation
+PDUSessionResourceReleaseResponseTransfer-OCTET-STRING N ngap.extension id-PDUSessionResourceReleaseResponseTransfer
+S-NSSAI N ngap.extension id-S-NSSAI
+PLMNIdentity N ngap.extension id-LastEUTRAN-PLMNIdentity
+MaximumIntegrityProtectedDataRate N ngap.extension id-MaximumIntegrityProtectedDataRate-DL
+QosFlowPerTNLInformationList N ngap.extension id-AdditionalDLForwardingUPTNLInformation
+AdditionalDLUPTNLInformationForHOList N ngap.extension id-AdditionalDLUPTNLInformationForHOList
+UPTransportLayerInformationPairList N ngap.extension id-AdditionalNGU-UP-TNLInformation
+QosFlowPerTNLInformationList N ngap.extension id-AdditionalDLQosFlowPerTNLInformation
+SecurityResult N ngap.extension id-SecurityResult
+AssociatedQosFlowList N ngap.extension id-OldAssociatedQosFlowList-ULendmarkerexpected
+CNTypeRestrictionsForEquivalent N ngap.extension id-CNTypeRestrictionsForEquivalent
+CNTypeRestrictionsForServing N ngap.extension id-CNTypeRestrictionsForServing
+ULForwarding N ngap.extension id-ULForwarding
+UPTransportLayerInformation N ngap.extension id-ULForwardingUP-TNLInformation
+CPTransportLayerInformation N ngap.extension id-TNLAssociationTransportLayerAddressNGRAN
+LocationReportingAdditionalInfo N ngap.extension id-LocationReportingAdditionalInfo
+UPTransportLayerInformationList N ngap.extension id-AdditionalULForwardingUPTNLInformation
+SCTP-TLAs N ngap.extension id-SCTP-TLAs
+DataForwardingResponseERABList N ngap.extension id-DataForwardingResponseERABList
+GUAMIType N ngap.extension id-GUAMIType
+RAT-Information N ngap.extension id-RAT-Information
+ExtendedRATRestrictionInformation N ngap.extension id-ExtendedRATRestrictionInformation
+QosMonitoringRequest N ngap.extension id-QosMonitoringRequest
+SgNB-UE-X2AP-ID N ngap.extension id-SgNB-UE-X2AP-ID
+UPTransportLayerInformation N ngap.extension id-AdditionalRedundantDL-NGU-UP-TNLInformation
+QosFlowPerTNLInformationList N ngap.extension id-AdditionalRedundantDLQosFlowPerTNLInformation
+UPTransportLayerInformationPairList N ngap.extension id-AdditionalRedundantNGU-UP-TNLInformation
+ExtendedPacketDelayBudget N ngap.extension id-CNPacketDelayBudgetDL
+ExtendedPacketDelayBudget N ngap.extension id-CNPacketDelayBudgetUL
+ExtendedPacketDelayBudget N ngap.extension id-ExtendedPacketDelayBudget
+DL-NGU-TNLInformationReused N ngap.extension id-RedundantDL-NGU-TNLInformationReused
+UPTransportLayerInformation N ngap.extension id-RedundantDL-NGU-UP-TNLInformation
+QosFlowPerTNLInformation N ngap.extension id-RedundantDLQosFlowPerTNLInformation
+RedundantQosFlowIndicator N ngap.extension id-RedundantQosFlowIndicator
+UPTransportLayerInformation N ngap.extension id-RedundantUL-NGU-UP-TNLInformation
+TSCTrafficCharacteristics N ngap.extension id-TSCTrafficCharacteristics
+RedundantPDUSessionInformation N ngap.extension id-UsedRSNInformation
+PagingAssisDataforCEcapabUE N ngap.extension id-PagingAssisDataforCEcapabUE
+UERadioCapabilityForPagingOfNB-IoT N ngap.extension id-UERadioCapabilityForPagingOfNB-IoT
+AlternativeQoSParaSetList N ngap.extension id-AlternativeQoSParaSetList
+AlternativeQoSParaSetIndex N ngap.extension id-CurrentQoSParaSetIndex
+EUTRA-PagingeDRXInformation N ngap.extension id-EUTRA-PagingeDRXInformation
+UEHistoryInformationFromTheUE N ngap.extension id-UEHistoryInformationFromTheUE
+MDT-Configuration N ngap.extension id-MDTConfiguration
+URI-address N ngap.extension id-TraceCollectionEntityURI
+NPN-Support N ngap.extension id-NPN-Support
+NPN-PagingAssistanceInformation N ngap.extension id-NPN-PagingAssistanceInformation
+NPN-MobilityInformation N ngap.extension id-NPN-MobilityInformation
+NID N ngap.extension id-NID
+DAPSRequestInfo N ngap.extension id-DAPSRequestInfo
+DAPSResponseInfoList N ngap.extension id-DAPSResponseInfoList
+ExtendedSliceSupportList N ngap.extension id-ExtendedSliceSupportList
+ExtendedSliceSupportList N ngap.extension id-ExtendedTAISliceSupportList
+ConfiguredTACIndication N ngap.extension id-ConfiguredTACIndication
+QosMonitoringReportingFrequency N ngap.extension id-QosMonitoringReportingFrequency
+QosFlowParametersList N ngap.extension id-QosFlowParametersList
+QosFlowFeedbackList N ngap.extension id-QosFlowFeedbackList
+BurstArrivalTime N ngap.extension id-BurstArrivalTimeDownlink
+ExtendedUEIdentityIndexValue N ngap.extension id-ExtendedUEIdentityIndexValue
+UERadioCapabilityForPaging N ngap.extension id-UERadioCapabilityForPaging
+ExpectedUEActivityBehaviour N ngap.extension id-PduSessionExpectedUEActivityBehaviour
+MicoAllPLMN N ngap.extension id-MicoAllPLMN
+QosFlowListWithCause N ngap.extension id-QosFlowFailedToSetupList
+TransportLayerAddress N ngap.extension id-SourceTNLAddrInfo
+ExtendedReportIntervalMDT N ngap.extension id-ExtendedReportIntervalMDT
+SourceNodeID N ngap.extension id-SourceNodeID
+NRNTNTAIInformation N ngap.extension id-NRNTNTAIInformation
+RAN-UE-NGAP-ID N ngap.extension id-UEContextReferenceAtSource
+LastVisitedPSCellList N ngap.extension id-LastVisitedPSCellList
+MBS-SupportIndicator N ngap.extension id-MBS-SupportIndicator
+MBSSessionFailedtoSetupList N ngap.extension id-MBSSessionFailedtoSetupList
+MBSSessionFailedtoSetupList N ngap.extension id-MBSSessionFailedtoSetuporModifyList
+MBSSessionSetupResponseList N ngap.extension id-MBSSessionSetupResponseList
+MBSSessionSetupResponseList N ngap.extension id-MBSSessionSetuporModifyResponseList
+MBS-ActiveSessionInformation-SourcetoTargetList N ngap.extension id-MBS-ActiveSessionInformation-SourcetoTargetList
+MBS-ActiveSessionInformation-TargettoSourceList N ngap.extension id-MBS-ActiveSessionInformation-TargettoSourceList
+OnboardingSupport N ngap.extension id-OnboardingSupport
+SurvivalTime N ngap.extension id-SurvivalTime
+QMCConfigInfo N ngap.extension id-QMCConfigInfo
+PDUSessionPairID N ngap.extension id-PDUSessionPairID
+NR-PagingeDRXInformation N ngap.extension id-NR-PagingeDRXInformation
+M4ReportAmountMDT N ngap.extension id-M4ReportAmount
+M5ReportAmountMDT N ngap.extension id-M5ReportAmount
+M6ReportAmountMDT N ngap.extension id-M6ReportAmount
+M7ReportAmountMDT N ngap.extension id-M7ReportAmount
+IncludeBeamMeasurementsIndication N ngap.extension id-IncludeBeamMeasurementsIndication
+ExcessPacketDelayThresholdConfiguration N ngap.extension id-ExcessPacketDelayThresholdConfiguration
+PagingCauseIndicationForVoiceService N ngap.extension id-PagingCauseIndicationForVoiceService
+PEIPSassistanceInformation N ngap.extension id-PEIPSassistanceInformation
+TAINSAGSupportList N ngap.extension id-TAINSAGSupportList
+TransportLayerAddress N ngap.extension id-SourceNodeTNLAddrInfo
+NGAPIESupportInformationRequestList N ngap.extension id-NGAPIESupportInformationRequestList
+NGAPIESupportInformationResponseList N ngap.extension id-NGAPIESupportInformationResponseList
+EarlyMeasurement N ngap.extension id-EarlyMeasurement
+BeamMeasurementsReportConfiguration N ngap.extension id-BeamMeasurementsReportConfiguration
+TAI N ngap.extension id-TAI
+NR-CGI N ngap.extension id-NR-CGI
+HashedUEIdentityIndexValue N ngap.extension id-HashedUEIdentityIndexValue
+
+#NGAP-ELEMENTARY-PROCEDURE
+
+AMFConfigurationUpdate N ngap.proc.imsg id-AMFConfigurationUpdate
+AMFConfigurationUpdateAcknowledge N ngap.proc.sout id-AMFConfigurationUpdate
+AMFConfigurationUpdateFailure N ngap.proc.uout id-AMFConfigurationUpdate
+
+AMFCPRelocationIndication N ngap.proc.imsg id-AMFCPRelocationIndication
+
+AMFStatusIndication N ngap.proc.imsg id-AMFStatusIndication
+
+BroadcastSessionModificationRequest N ngap.proc.imsg id-BroadcastSessionModification
+BroadcastSessionModificationResponse N ngap.proc.sout id-BroadcastSessionModification
+BroadcastSessionModificationFailure N ngap.proc.uout id-BroadcastSessionModification
+
+BroadcastSessionReleaseRequest N ngap.proc.imsg id-BroadcastSessionRelease
+BroadcastSessionReleaseResponse N ngap.proc.sout id-BroadcastSessionRelease
+
+BroadcastSessionReleaseRequired N ngap.proc.imsg id-BroadcastSessionReleaseRequired
+
+BroadcastSessionSetupRequest N ngap.proc.imsg id-BroadcastSessionSetup
+BroadcastSessionSetupResponse N ngap.proc.sout id-BroadcastSessionSetup
+BroadcastSessionSetupFailure N ngap.proc.uout id-BroadcastSessionSetup
+
+CellTrafficTrace N ngap.proc.imsg id-CellTrafficTrace
+
+ConnectionEstablishmentIndication N ngap.proc.imsg id-ConnectionEstablishmentIndication
+
+DeactivateTrace N ngap.proc.imsg id-DeactivateTrace
+
+DistributionSetupRequest N ngap.proc.imsg id-DistributionSetup
+DistributionSetupResponse N ngap.proc.sout id-DistributionSetup
+DistributionSetupFailure N ngap.proc.uout id-DistributionSetup
+
+DistributionReleaseRequest N ngap.proc.imsg id-DistributionRelease
+DistributionReleaseResponse N ngap.proc.sout id-DistributionRelease
+
+DownlinkNASTransport N ngap.proc.imsg id-DownlinkNASTransport
+
+DownlinkNonUEAssociatedNRPPaTransport N ngap.proc.imsg id-DownlinkNonUEAssociatedNRPPaTransport
+
+DownlinkRANConfigurationTransfer N ngap.proc.imsg id-DownlinkRANConfigurationTransfer
+
+DownlinkRANEarlyStatusTransfer N ngap.proc.imsg id-DownlinkRANEarlyStatusTransfer
+
+DownlinkRANStatusTransfer N ngap.proc.imsg id-DownlinkRANStatusTransfer
+
+DownlinkUEAssociatedNRPPaTransport N ngap.proc.imsg id-DownlinkUEAssociatedNRPPaTransport
+
+ErrorIndication N ngap.proc.imsg id-ErrorIndication
+
+HandoverCancel N ngap.proc.imsg id-HandoverCancel
+HandoverCancelAcknowledge N ngap.proc.sout id-HandoverCancel
+
+HandoverNotify N ngap.proc.imsg id-HandoverNotification
+
+HandoverRequired N ngap.proc.imsg id-HandoverPreparation
+HandoverCommand N ngap.proc.sout id-HandoverPreparation
+HandoverPreparationFailure N ngap.proc.uout id-HandoverPreparation
+
+HandoverRequest N ngap.proc.imsg id-HandoverResourceAllocation
+HandoverRequestAcknowledge N ngap.proc.sout id-HandoverResourceAllocation
+HandoverFailure N ngap.proc.uout id-HandoverResourceAllocation
+
+HandoverSuccess N ngap.proc.imsg id-HandoverSuccess
+
+InitialContextSetupRequest N ngap.proc.imsg id-InitialContextSetup
+InitialContextSetupResponse N ngap.proc.sout id-InitialContextSetup
+InitialContextSetupFailure N ngap.proc.uout id-InitialContextSetup
+
+InitialUEMessage N ngap.proc.imsg id-InitialUEMessage
+
+LocationReport N ngap.proc.imsg id-LocationReport
+
+LocationReportingControl N ngap.proc.imsg id-LocationReportingControl
+
+LocationReportingFailureIndication N ngap.proc.imsg id-LocationReportingFailureIndication
+
+MulticastSessionActivationRequest N ngap.proc.imsg id-MulticastSessionActivation
+MulticastSessionActivationResponse N ngap.proc.sout id-MulticastSessionActivation
+MulticastSessionActivationFailure N ngap.proc.uout id-MulticastSessionActivation
+
+MulticastSessionDeactivationRequest N ngap.proc.imsg id-MulticastSessionDeactivation
+MulticastSessionDeactivationResponse N ngap.proc.sout id-MulticastSessionDeactivation
+
+MulticastSessionUpdateRequest N ngap.proc.imsg id-MulticastSessionUpdate
+MulticastSessionUpdateResponse N ngap.proc.sout id-MulticastSessionUpdate
+MulticastSessionUpdateFailure N ngap.proc.uout id-MulticastSessionUpdate
+
+MulticastGroupPaging N ngap.proc.imsg id-MulticastGroupPaging
+
+NASNonDeliveryIndication N ngap.proc.imsg id-NASNonDeliveryIndication
+
+NGReset N ngap.proc.imsg id-NGReset
+NGResetAcknowledge N ngap.proc.sout id-NGReset
+
+NGSetupRequest N ngap.proc.imsg id-NGSetup
+NGSetupResponse N ngap.proc.sout id-NGSetup
+NGSetupFailure N ngap.proc.uout id-NGSetup
+
+OverloadStart N ngap.proc.imsg id-OverloadStart
+
+OverloadStop N ngap.proc.imsg id-OverloadStop
+
+Paging N ngap.proc.imsg id-Paging
+
+PathSwitchRequest N ngap.proc.imsg id-PathSwitchRequest
+PathSwitchRequestAcknowledge N ngap.proc.sout id-PathSwitchRequest
+PathSwitchRequestFailure N ngap.proc.uout id-PathSwitchRequest
+
+PDUSessionResourceModifyRequest N ngap.proc.imsg id-PDUSessionResourceModify
+PDUSessionResourceModifyResponse N ngap.proc.sout id-PDUSessionResourceModify
+
+PDUSessionResourceModifyIndication N ngap.proc.imsg id-PDUSessionResourceModifyIndication
+PDUSessionResourceModifyConfirm N ngap.proc.sout id-PDUSessionResourceModifyIndication
+
+PDUSessionResourceNotify N ngap.proc.imsg id-PDUSessionResourceNotify
+
+PDUSessionResourceReleaseCommand N ngap.proc.imsg id-PDUSessionResourceRelease
+PDUSessionResourceReleaseResponse N ngap.proc.sout id-PDUSessionResourceRelease
+
+PDUSessionResourceSetupRequest N ngap.proc.imsg id-PDUSessionResourceSetup
+PDUSessionResourceSetupResponse N ngap.proc.sout id-PDUSessionResourceSetup
+
+PrivateMessage N ngap.proc.imsg id-PrivateMessage
+
+PWSCancelRequest N ngap.proc.imsg id-PWSCancel
+PWSCancelResponse N ngap.proc.sout id-PWSCancel
+
+PWSFailureIndication N ngap.proc.imsg id-PWSFailureIndication
+
+PWSRestartIndication N ngap.proc.imsg id-PWSRestartIndication
+
+RANConfigurationUpdate N ngap.proc.imsg id-RANConfigurationUpdate
+RANConfigurationUpdateAcknowledge N ngap.proc.sout id-RANConfigurationUpdate
+RANConfigurationUpdateFailure N ngap.proc.uout id-RANConfigurationUpdate
+
+RANCPRelocationIndication N ngap.proc.imsg id-RANCPRelocationIndication
+
+RerouteNASRequest N ngap.proc.imsg id-RerouteNASRequest
+
+RetrieveUEInformation N ngap.proc.imsg id-RetrieveUEInformation
+
+RRCInactiveTransitionReport N ngap.proc.imsg id-RRCInactiveTransitionReport
+
+SecondaryRATDataUsageReport N ngap.proc.imsg id-SecondaryRATDataUsageReport
+
+TraceFailureIndication N ngap.proc.imsg id-TraceFailureIndication
+
+TraceStart N ngap.proc.imsg id-TraceStart
+
+UEContextModificationRequest N ngap.proc.imsg id-UEContextModification
+UEContextModificationResponse N ngap.proc.sout id-UEContextModification
+UEContextModificationFailure N ngap.proc.uout id-UEContextModification
+
+UEContextReleaseCommand N ngap.proc.imsg id-UEContextRelease
+UEContextReleaseComplete N ngap.proc.sout id-UEContextRelease
+
+UEContextReleaseRequest N ngap.proc.imsg id-UEContextReleaseRequest
+
+UEContextResumeRequest N ngap.proc.imsg id-UEContextResume
+UEContextResumeResponse N ngap.proc.sout id-UEContextResume
+UEContextResumeFailure N ngap.proc.uout id-UEContextResume
+
+UEContextSuspendRequest N ngap.proc.imsg id-UEContextSuspend
+UEContextSuspendResponse N ngap.proc.sout id-UEContextSuspend
+UEContextSuspendFailure N ngap.proc.uout id-UEContextSuspend
+
+UEInformationTransfer N ngap.proc.imsg id-UEInformationTransfer
+
+UERadioCapabilityCheckRequest N ngap.proc.imsg id-UERadioCapabilityCheck
+UERadioCapabilityCheckResponse N ngap.proc.sout id-UERadioCapabilityCheck
+
+UERadioCapabilityIDMappingRequest N ngap.proc.imsg id-UERadioCapabilityIDMapping
+UERadioCapabilityIDMappingResponse N ngap.proc.sout id-UERadioCapabilityIDMapping
+
+UERadioCapabilityInfoIndication N ngap.proc.imsg id-UERadioCapabilityInfoIndication
+
+UETNLABindingReleaseRequest N ngap.proc.imsg id-UETNLABindingRelease
+
+UplinkNASTransport N ngap.proc.imsg id-UplinkNASTransport
+
+UplinkNonUEAssociatedNRPPaTransport N ngap.proc.imsg id-UplinkNonUEAssociatedNRPPaTransport
+
+UplinkRANConfigurationTransfer N ngap.proc.imsg id-UplinkRANConfigurationTransfer
+
+UplinkRANEarlyStatusTransfer N ngap.proc.imsg id-UplinkRANEarlyStatusTransfer
+
+UplinkRANStatusTransfer N ngap.proc.imsg id-UplinkRANStatusTransfer
+
+UplinkUEAssociatedNRPPaTransport N ngap.proc.imsg id-UplinkUEAssociatedNRPPaTransport
+
+WriteReplaceWarningRequest N ngap.proc.imsg id-WriteReplaceWarning
+WriteReplaceWarningResponse N ngap.proc.sout id-WriteReplaceWarning
+
+UplinkRIMInformationTransfer N ngap.proc.imsg id-UplinkRIMInformationTransfer
+
+DownlinkRIMInformationTransfer N ngap.proc.imsg id-DownlinkRIMInformationTransfer
+
+PDUSessionResourceSetupRequestTransfer S ngap.n2_ie_type "PDU_RES_SETUP_REQ"
+PDUSessionResourceSetupResponseTransfer S ngap.n2_ie_type "PDU_RES_SETUP_RSP"
+PDUSessionResourceSetupUnsuccessfulTransfer S ngap.n2_ie_type "PDU_RES_SETUP_FAIL"
+PDUSessionResourceReleaseCommandTransfer S ngap.n2_ie_type "PDU_RES_REL_CMD"
+PDUSessionResourceReleaseResponseTransfer S ngap.n2_ie_type "PDU_RES_REL_RSP"
+PDUSessionResourceModifyRequestTransfer S ngap.n2_ie_type "PDU_RES_MOD_REQ"
+PDUSessionResourceModifyResponseTransfer S ngap.n2_ie_type "PDU_RES_MOD_RSP"
+PDUSessionResourceModifyUnsuccessfulTransfer S ngap.n2_ie_type "PDU_RES_MOD_FAIL"
+PDUSessionResourceNotifyTransfer S ngap.n2_ie_type "PDU_RES_NTY"
+PDUSessionResourceNotifyReleasedTransfer S ngap.n2_ie_type "PDU_RES_NTY_REL"
+PDUSessionResourceModifyIndicationTransfer S ngap.n2_ie_type "PDU_RES_MOD_IND"
+PDUSessionResourceModifyConfirmTransfer S ngap.n2_ie_type "PDU_RES_MOD_CFM"
+PathSwitchRequestTransfer S ngap.n2_ie_type "PATH_SWITCH_REQ"
+PathSwitchRequestSetupFailedTransfer S ngap.n2_ie_type "PATH_SWITCH_SETUP_FAIL"
+PathSwitchRequestAcknowledgeTransfer S ngap.n2_ie_type "PATH_SWITCH_REQ_ACK"
+PathSwitchRequestUnsuccessfulTransfer S ngap.n2_ie_type "PATH_SWITCH_REQ_FAIL"
+HandoverRequiredTransfer S ngap.n2_ie_type "HANDOVER_REQUIRED"
+HandoverCommandTransfer S ngap.n2_ie_type "HANDOVER_CMD"
+HandoverPreparationUnsuccessfulTransfer S ngap.n2_ie_type "HANDOVER_PREP_FAIL"
+HandoverRequestAcknowledgeTransfer S ngap.n2_ie_type "HANDOVER_REQ_ACK"
+HandoverResourceAllocationUnsuccessfulTransfer S ngap.n2_ie_type "HANDOVER_RES_ALLOC_FAIL"
+SecondaryRATDataUsageReportTransfer S ngap.n2_ie_type "SECONDARY_RAT_USAGE"
+PDUSessionResourceModifyIndicationUnsuccessfulTransfer S ngap.n2_ie_type "PDU_RES_MOD_IND_FAIL"
+SourceToTarget-TransparentContainer S ngap.n2_ie_type "SRC_TO_TAR_CONTAINER"
+TargetToSource-TransparentContainer S ngap.n2_ie_type "TAR_TO_SRC_CONTAINER"
+RANStatusTransfer-TransparentContainer S ngap.n2_ie_type "RAN_STATUS_TRANS_CONTAINER"
+SONConfigurationTransfer S ngap.n2_ie_type "SON_CONFIG_TRANSFER"
+NRPPa-PDU S ngap.n2_ie_type "NRPPA_PDU"
+UERadioCapability S ngap.n2_ie_type "UE_RADIO_CAPABILITY"
+
+#.FN_HDR AMFConfigurationUpdate
+ set_message_label(actx, MTYPE_AMF_CONFIGURATION_UPDATE);
+ set_stats_message_type(actx->pinfo, MTYPE_AMF_CONFIGURATION_UPDATE);
+
+#.FN_HDR AMFConfigurationUpdateAcknowledge
+ set_message_label(actx, MTYPE_AMF_CONFIGURATION_UPDATE_ACK);
+ set_stats_message_type(actx->pinfo, MTYPE_AMF_CONFIGURATION_UPDATE_ACK);
+
+#.FN_HDR AMFConfigurationUpdateFailure
+ set_message_label(actx, MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE);
+
+#.FN_HDR AMFCPRelocationIndication
+ set_message_label(actx, MTYPE_AMF_CP_RELOCATION_IND);
+ set_stats_message_type(actx->pinfo, MTYPE_AMF_CP_RELOCATION_IND);
+
+#.FN_HDR AMFStatusIndication
+ set_message_label(actx, MTYPE_AMF_STATUS_IND);
+ set_stats_message_type(actx->pinfo, MTYPE_AMF_STATUS_IND);
+
+#.FN_HDR BroadcastSessionModificationRequest
+ set_message_label(actx, MTYPE_BROADCAST_SESSION_MODIFICATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_SESSION_MODIFICATION_REQUEST);
+
+#.FN_HDR BroadcastSessionModificationResponse
+ set_message_label(actx, MTYPE_BROADCAST_SESSION_MODIFICATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_SESSION_MODIFICATION_RESPONSE);
+
+#.FN_HDR BroadcastSessionModificationFailure
+ set_message_label(actx, MTYPE_BROADCAST_SESSION_MODIFICATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_SESSION_MODIFICATION_FAILURE);
+
+#.FN_HDR BroadcastSessionReleaseRequest
+ set_message_label(actx, MTYPE_BROADCAST_SESSION_RELEASE_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_SESSION_RELEASE_REQUEST);
+
+#.FN_HDR BroadcastSessionReleaseResponse
+ set_message_label(actx, MTYPE_BROADCAST_SESSION_RELEASE_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_SESSION_RELEASE_RESPONSE);
+
+#.FN_HDR BroadcastSessionReleaseRequired
+ set_message_label(actx, MTYPE_BROADCAST_SESSION_RELEASE_REQUIRED);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_SESSION_RELEASE_REQUIRED);
+
+#.FN_HDR BroadcastSessionSetupRequest
+ set_message_label(actx, MTYPE_BROADCAST_SESSION_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_SESSION_SETUP_REQUEST);
+
+#.FN_HDR BroadcastSessionSetupResponse
+ set_message_label(actx, MTYPE_BROADCAST_SESSION_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_SESSION_SETUP_RESPONSE);
+
+#.FN_HDR BroadcastSessionSetupFailure
+ set_message_label(actx, MTYPE_BROADCAST_SESSION_SETUP_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_SESSION_SETUP_FAILURE);
+
+#.FN_HDR CellTrafficTrace
+ set_message_label(actx, MTYPE_CELL_TRAFFIC_TRACE);
+ set_stats_message_type(actx->pinfo, MTYPE_CELL_TRAFFIC_TRACE);
+
+#.FN_HDR ConnectionEstablishmentIndication
+ set_message_label(actx, MTYPE_CONNECTION_ESTAB_IND);
+ set_stats_message_type(actx->pinfo, MTYPE_CONNECTION_ESTAB_IND);
+
+#.FN_HDR DeactivateTrace
+ set_message_label(actx, MTYPE_DEACTIVATE_TRACE);
+ set_stats_message_type(actx->pinfo, MTYPE_DEACTIVATE_TRACE);
+
+#.FN_HDR DistributionSetupRequest
+ set_message_label(actx, MTYPE_DISTRIBUTION_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_DISTRIBUTION_SETUP_REQUEST);
+
+#.FN_HDR DistributionSetupResponse
+ set_message_label(actx, MTYPE_DISTRIBUTION_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_DISTRIBUTION_SETUP_RESPONSE);
+
+#.FN_HDR DistributionSetupFailure
+ set_message_label(actx, MTYPE_DISTRIBUTION_SETUP_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_DISTRIBUTION_SETUP_FAILURE);
+
+#.FN_HDR DistributionReleaseRequest
+ set_message_label(actx, MTYPE_DISTRIBUTION_RELEASE_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_DISTRIBUTION_RELEASE_REQUEST);
+
+#.FN_HDR DistributionReleaseResponse
+ set_message_label(actx, MTYPE_DISTRIBUTION_RELEASE_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_DISTRIBUTION_RELEASE_RESPONSE);
+
+#.FN_HDR DownlinkNASTransport
+ set_message_label(actx, MTYPE_DOWNLINK_NAS_TRANSPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_NAS_TRANSPORT);
+
+#.FN_HDR DownlinkNonUEAssociatedNRPPaTransport
+ set_message_label(actx, MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
+
+#.FN_HDR DownlinkRANConfigurationTransfer
+ set_message_label(actx, MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER);
+
+#.FN_HDR DownlinkRANEarlyStatusTransfer
+ set_message_label(actx, MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER);
+
+#.FN_HDR DownlinkRANStatusTransfer
+ set_message_label(actx, MTYPE_DOWNLINK_RAN_STATUS_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RAN_STATUS_TRANSFER);
+
+#.FN_HDR DownlinkUEAssociatedNRPPaTransport
+ set_message_label(actx, MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
+
+#.FN_HDR ErrorIndication
+ set_message_label(actx, MTYPE_ERROR_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_ERROR_INDICATION);
+
+#.FN_HDR HandoverCancel
+ set_message_label(actx, MTYPE_HANDOVER_CANCEL);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_CANCEL);
+
+#.FN_HDR HandoverCancelAcknowledge
+ set_message_label(actx, MTYPE_HANDOVER_CANCEL_ACK);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_CANCEL_ACK);
+
+#.FN_HDR HandoverNotify
+ set_message_label(actx, MTYPE_HANDOVER_NOTIFY);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_NOTIFY);
+
+#.FN_HDR HandoverRequired
+ set_message_label(actx, MTYPE_HANDOVER_REQUIRED);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_REQUIRED);
+
+#.FN_HDR HandoverCommand
+ set_message_label(actx, MTYPE_HANDOVER_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_COMMAND);
+
+#.FN_HDR HandoverPreparationFailure
+ set_message_label(actx, MTYPE_HANDOVER_PREPARATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_PREPARATION_FAILURE);
+
+#.FN_HDR HandoverRequest
+ set_message_label(actx, MTYPE_HANDOVER_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_REQUEST);
+
+#.FN_HDR HandoverRequestAcknowledge
+ set_message_label(actx, MTYPE_HANDOVER_REQUEST_ACK);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_REQUEST_ACK);
+
+#.FN_HDR HandoverFailure
+ set_message_label(actx, MTYPE_HANDOVER_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_FAILURE);
+
+#.FN_HDR HandoverSuccess
+ set_message_label(actx, MTYPE_HANDOVER_SUCCESS);
+ set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_SUCCESS);
+
+#.FN_HDR InitialContextSetupRequest
+ set_message_label(actx, MTYPE_INITIAL_CONTEXT_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_INITIAL_CONTEXT_SETUP_REQUEST);
+
+#.FN_HDR InitialContextSetupResponse
+ set_message_label(actx, MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE);
+
+#.FN_HDR InitialContextSetupFailure
+ set_message_label(actx, MTYPE_INITIAL_CONTEXT_SETUP_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_INITIAL_CONTEXT_SETUP_FAILURE);
+
+#.FN_HDR InitialUEMessage
+ set_message_label(actx, MTYPE_INITIAL_UE_MESSAGE);
+ set_stats_message_type(actx->pinfo, MTYPE_INITIAL_UE_MESSAGE);
+
+#.FN_HDR LocationReport
+ set_message_label(actx, MTYPE_LOCATION_REPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_LOCATION_REPORT);
+
+#.FN_HDR LocationReportingControl
+ set_message_label(actx, MTYPE_LOCATION_REPORTING_CONTROL);
+ set_stats_message_type(actx->pinfo, MTYPE_LOCATION_REPORTING_CONTROL);
+
+#.FN_HDR LocationReportingFailureIndication
+ set_message_label(actx, MTYPE_LOCATION_REPORTING_FAILURE_IND);
+ set_stats_message_type(actx->pinfo, MTYPE_LOCATION_REPORTING_FAILURE_IND);
+
+#.FN_HDR MulticastSessionActivationRequest
+ set_message_label(actx, MTYPE_MULTICAST_SESSION_ACTIVATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_SESSION_ACTIVATION_REQUEST);
+
+#.FN_HDR MulticastSessionActivationResponse
+ set_message_label(actx, MTYPE_MULTICAST_SESSION_ACTIVATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_SESSION_ACTIVATION_RESPONSE);
+
+#.FN_HDR MulticastSessionActivationFailure
+ set_message_label(actx, MTYPE_MULTICAST_SESSION_ACTIVATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_SESSION_ACTIVATION_FAILURE);
+
+#.FN_HDR MulticastSessionDeactivationRequest
+ set_message_label(actx, MTYPE_MULTICAST_SESSION_DEACTIVATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_SESSION_DEACTIVATION_REQUEST);
+
+#.FN_HDR MulticastSessionDeactivationResponse
+ set_message_label(actx, MTYPE_MULTICAST_SESSION_DEACTIVATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_SESSION_DEACTIVATION_RESPONSE);
+
+#.FN_HDR MulticastSessionUpdateRequest
+ set_message_label(actx, MTYPE_MULTICAST_SESSION_UPDATE_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_SESSION_UPDATE_REQUEST);
+
+#.FN_HDR MulticastSessionUpdateResponse
+ set_message_label(actx, MTYPE_MULTICAST_SESSION_UPDATE_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_SESSION_UPDATE_RESPONSE);
+
+#.FN_HDR MulticastSessionUpdateFailure
+ set_message_label(actx, MTYPE_MULTICAST_SESSION_UPDATE_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_SESSION_UPDATE_FAILURE);
+
+#.FN_HDR MulticastGroupPaging
+ set_message_label(actx, MTYPE_MULTICAST_GROUP_PAGING);
+ set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_GROUP_PAGING);
+
+#.FN_HDR NASNonDeliveryIndication
+ set_message_label(actx, MTYPE_NAS_NON_DELIVERY_IND);
+ set_stats_message_type(actx->pinfo, MTYPE_NAS_NON_DELIVERY_IND);
+
+#.FN_HDR NGReset
+ set_message_label(actx, MTYPE_NG_RESET);
+ set_stats_message_type(actx->pinfo, MTYPE_NG_RESET);
+
+#.FN_HDR NGResetAcknowledge
+ set_message_label(actx, MTYPE_NG_RESET_ACK);
+ set_stats_message_type(actx->pinfo, MTYPE_NG_RESET_ACK);
+
+#.FN_HDR NGSetupRequest
+ set_message_label(actx, MTYPE_NG_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_NG_SETUP_REQUEST);
+
+#.FN_HDR NGSetupResponse
+ set_message_label(actx, MTYPE_NG_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_NG_SETUP_RESPONSE);
+
+#.FN_HDR NGSetupFailure
+ set_message_label(actx, MTYPE_NG_SETUP_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_NG_SETUP_FAILURE);
+
+#.FN_HDR OverloadStart
+ set_message_label(actx, MTYPE_OVERLOAD_START);
+ set_stats_message_type(actx->pinfo, MTYPE_OVERLOAD_START);
+
+#.FN_HDR OverloadStop
+ set_message_label(actx, MTYPE_OVERLOAD_STOP);
+ set_stats_message_type(actx->pinfo, MTYPE_OVERLOAD_STOP);
+
+#.FN_HDR Paging
+ set_message_label(actx, MTYPE_PAGING);
+ set_stats_message_type(actx->pinfo, MTYPE_PAGING);
+
+#.FN_HDR PathSwitchRequest
+ set_message_label(actx, MTYPE_PATH_SWITCH_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_PATH_SWITCH_REQUEST);
+
+#.FN_HDR PathSwitchRequestAcknowledge
+ set_message_label(actx, MTYPE_PATH_SWITCH_REQUEST_ACK);
+ set_stats_message_type(actx->pinfo, MTYPE_PATH_SWITCH_REQUEST_ACK);
+
+#.FN_HDR PathSwitchRequestFailure
+ set_message_label(actx, MTYPE_PATH_SWITCH_REQUEST_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_PATH_SWITCH_REQUEST_FAILURE);
+
+#.FN_HDR PDUSessionResourceModifyRequest
+ set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST);
+
+#.FN_HDR PDUSessionResourceModifyResponse
+ set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE);
+
+#.FN_HDR PDUSessionResourceModifyIndication
+ set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND);
+ set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND);
+
+#.FN_HDR PDUSessionResourceModifyConfirm
+ set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM);
+ set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM);
+
+#.FN_HDR PDUSessionResourceNotify
+ set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_NOTIFY);
+ set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_NOTIFY);
+
+#.FN_HDR PDUSessionResourceReleaseCommand
+ set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND);
+
+#.FN_HDR PDUSessionResourceReleaseResponse
+ set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE);
+
+#.FN_HDR PDUSessionResourceSetupRequest
+ set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST);
+
+#.FN_HDR PDUSessionResourceSetupResponse
+ set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE);
+
+#.FN_HDR PrivateMessage
+ set_message_label(actx, MTYPE_PRIVATE_MESSAGE);
+ set_stats_message_type(actx->pinfo, MTYPE_PRIVATE_MESSAGE);
+
+#.FN_HDR PWSCancelRequest
+ set_message_label(actx, MTYPE_PWS_CANCEL_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_REQUEST);
+
+#.FN_HDR PWSCancelResponse
+ set_message_label(actx, MTYPE_PWS_CANCEL_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_RESPONSE);
+
+#.FN_HDR PWSFailureIndication
+ set_message_label(actx, MTYPE_PWS_FAILURE_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_PWS_FAILURE_INDICATION);
+
+#.FN_HDR PWSRestartIndication
+ set_message_label(actx, MTYPE_PWS_RESTART_INDICATION);
+ set_stats_message_type(actx->pinfo, MTYPE_PWS_RESTART_INDICATION);
+
+#.FN_HDR RANConfigurationUpdate
+ set_message_label(actx, MTYPE_RAN_CONFIGURATION_UPDATE);
+ set_stats_message_type(actx->pinfo, MTYPE_RAN_CONFIGURATION_UPDATE);
+
+#.FN_HDR RANConfigurationUpdateAcknowledge
+ set_message_label(actx, MTYPE_RAN_CONFIGURATION_UPDATE_ACK);
+ set_stats_message_type(actx->pinfo, MTYPE_RAN_CONFIGURATION_UPDATE_ACK);
+
+#.FN_HDR RANConfigurationUpdateFailure
+ set_message_label(actx, MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE);
+
+#.FN_HDR RANCPRelocationIndication
+ set_message_label(actx, MTYPE_RAN_CP_RELOCATION_IND);
+ set_stats_message_type(actx->pinfo, MTYPE_RAN_CP_RELOCATION_IND);
+
+#.FN_HDR RerouteNASRequest
+ set_message_label(actx, MTYPE_REROUTE_NAS_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_REROUTE_NAS_REQUEST);
+
+#.FN_HDR RetrieveUEInformation
+ set_message_label(actx, MTYPE_RETRIEVE_UE_INFORMATION);
+ set_stats_message_type(actx->pinfo, MTYPE_RETRIEVE_UE_INFORMATION);
+
+#.FN_HDR RRCInactiveTransitionReport
+ set_message_label(actx, MTYPE_RRC_INACTIVE_TRANSITION_REPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_RRC_INACTIVE_TRANSITION_REPORT);
+
+#.FN_HDR SecondaryRATDataUsageReport
+ set_message_label(actx, MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT);
+
+#.FN_HDR TraceFailureIndication
+ set_message_label(actx, MTYPE_TRACE_FAILURE_IND);
+ set_stats_message_type(actx->pinfo, MTYPE_TRACE_FAILURE_IND);
+
+#.FN_HDR TraceStart
+ set_message_label(actx, MTYPE_TRACE_START);
+ set_stats_message_type(actx->pinfo, MTYPE_TRACE_START);
+
+#.FN_HDR UEContextModificationRequest
+ set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
+
+#.FN_HDR UEContextModificationResponse
+ set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
+
+#.FN_HDR UEContextModificationFailure
+ set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
+
+#.FN_HDR UEContextReleaseCommand
+ set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
+
+#.FN_HDR UEContextReleaseComplete
+ set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
+
+#.FN_HDR UEContextReleaseRequest
+ set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
+
+#.FN_HDR UEContextResumeRequest
+ set_message_label(actx, MTYPE_UE_CONTEXT_RESUME_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RESUME_REQUEST);
+
+#.FN_HDR UEContextResumeResponse
+ set_message_label(actx, MTYPE_UE_CONTEXT_RESUME_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RESUME_RESPONSE);
+
+#.FN_HDR UEContextResumeFailure
+ set_message_label(actx, MTYPE_UE_CONTEXT_RESUME_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RESUME_FAILURE);
+
+#.FN_HDR UEContextSuspendRequest
+ set_message_label(actx, MTYPE_UE_CONTEXT_SUSPEND_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SUSPEND_REQUEST);
+
+#.FN_HDR UEContextSuspendResponse
+ set_message_label(actx, MTYPE_UE_CONTEXT_SUSPEND_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SUSPEND_RESPONSE);
+
+#.FN_HDR UEContextSuspendFailure
+ set_message_label(actx, MTYPE_UE_CONTEXT_SUSPEND_FAILURE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SUSPEND_FAILURE);
+
+#.FN_HDR UEInformationTransfer
+ set_message_label(actx, MTYPE_UE_INFORMATION_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_INFORMATION_TRANSFER);
+
+#.FN_HDR UERadioCapabilityCheckRequest
+ set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST);
+
+#.FN_HDR UERadioCapabilityCheckResponse
+ set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE);
+
+#.FN_HDR UERadioCapabilityIDMappingRequest
+ set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST);
+
+#.FN_HDR UERadioCapabilityIDMappingResponse
+ set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE);
+
+#.FN_HDR UERadioCapabilityInfoIndication
+ set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_INFO_IND);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_INFO_IND);
+
+#.FN_HDR UETNLABindingReleaseRequest
+ set_message_label(actx, MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST);
+
+#.FN_HDR UplinkNASTransport
+ set_message_label(actx, MTYPE_UPLINK_NAS_TRANSPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_UPLINK_NAS_TRANSPORT);
+
+#.FN_HDR UplinkNonUEAssociatedNRPPaTransport
+ set_message_label(actx, MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
+
+#.FN_HDR UplinkRANConfigurationTransfer
+ set_message_label(actx, MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER);
+
+#.FN_HDR UplinkRANEarlyStatusTransfer
+ set_message_label(actx, MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER);
+
+#.FN_HDR UplinkRANStatusTransfer
+ set_message_label(actx, MTYPE_UPLINK_RAN_STATUS_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RAN_STATUS_TRANSFER);
+
+#.FN_HDR UplinkUEAssociatedNRPPaTransport
+ set_message_label(actx, MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
+ set_stats_message_type(actx->pinfo, MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
+
+#.FN_HDR WriteReplaceWarningRequest
+ set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
+ set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
+
+#.FN_HDR WriteReplaceWarningResponse
+ set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
+ set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
+
+#.FN_HDR UplinkRIMInformationTransfer
+ set_message_label(actx, MTYPE_UPLINK_RIM_INFORMATION_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RIM_INFORMATION_TRANSFER);
+
+#.FN_HDR DownlinkRIMInformationTransfer
+ set_message_label(actx, MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER);
+ set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER);
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/ngap/packet-ngap-template.c b/epan/dissectors/asn1/ngap/packet-ngap-template.c
new file mode 100644
index 00000000..66b0fbe9
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/packet-ngap-template.c
@@ -0,0 +1,1470 @@
+/* packet-ngap.c
+ * Routines for NG-RAN NG Application Protocol (NGAP) packet dissection
+ * Copyright 2018, Anders Broman <anders.broman@ericsson.com>
+ * Copyright 2018-2023, Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * References: 3GPP TS 38.413 v17.5.0 (2023-06)
+ */
+
+#include "config.h"
+#include <stdio.h>
+
+#include <epan/packet.h>
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/sctpppids.h>
+#include <epan/expert.h>
+#include <epan/proto_data.h>
+#include <epan/conversation.h>
+#include <epan/exceptions.h>
+#include <epan/show_exception.h>
+#include <epan/tap.h>
+#include <epan/stats_tree.h>
+#include <wsutil/wsjson.h>
+
+#include "packet-ngap.h"
+#include "packet-per.h"
+#include "packet-e212.h"
+#include "packet-s1ap.h"
+#include "packet-ranap.h"
+#include "packet-rrc.h"
+#include "packet-lte-rrc.h"
+#include "packet-nr-rrc.h"
+#include "packet-gsm_map.h"
+#include "packet-cell_broadcast.h"
+#include "packet-ntp.h"
+#include "packet-gsm_a_common.h"
+#include "packet-media-type.h"
+
+#define PNAME "NG Application Protocol"
+#define PSNAME "NGAP"
+#define PFNAME "ngap"
+
+/* Dissector will use SCTP PPID 18 or SCTP port. IANA assigned port = 36412 */
+#define SCTP_PORT_NGAP 38412
+
+void proto_register_ngap(void);
+void proto_reg_handoff_ngap(void);
+
+static dissector_handle_t ngap_handle;
+static dissector_handle_t ngap_media_type_handle;
+static dissector_handle_t nas_5gs_handle;
+static dissector_handle_t nr_rrc_ue_radio_paging_info_handle;
+static dissector_handle_t nr_rrc_ue_radio_access_cap_info_handle;
+static dissector_handle_t lte_rrc_ue_radio_paging_info_handle;
+static dissector_handle_t lte_rrc_ue_radio_access_cap_info_handle;
+static dissector_handle_t lte_rrc_ue_radio_paging_info_nb_handle;
+static dissector_handle_t lte_rrc_ue_radio_access_cap_info_nb_handle;
+static dissector_handle_t nrppa_handle;
+
+static int proto_json = -1;
+
+#include "packet-ngap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_ngap = -1;
+static int hf_ngap_transportLayerAddressIPv4 = -1;
+static int hf_ngap_transportLayerAddressIPv6 = -1;
+static int hf_ngap_SerialNumber_gs = -1;
+static int hf_ngap_SerialNumber_msg_code = -1;
+static int hf_ngap_SerialNumber_upd_nb = -1;
+static int hf_ngap_WarningType_value = -1;
+static int hf_ngap_WarningType_emergency_user_alert = -1;
+static int hf_ngap_WarningType_popup = -1;
+static int hf_ngap_WarningMessageContents_nb_pages = -1;
+static int hf_ngap_WarningMessageContents_decoded_page = -1;
+static int hf_ngap_NGRANTraceID_TraceID = -1;
+static int hf_ngap_NGRANTraceID_TraceRecordingSessionReference = -1;
+static int hf_ngap_InterfacesToTrace_NG_C = -1;
+static int hf_ngap_InterfacesToTrace_Xn_C = -1;
+static int hf_ngap_InterfacesToTrace_Uu = -1;
+static int hf_ngap_InterfacesToTrace_F1_C = -1;
+static int hf_ngap_InterfacesToTrace_E1 = -1;
+static int hf_ngap_InterfacesToTrace_reserved = -1;
+static int hf_ngap_RATRestrictionInformation_e_UTRA = -1;
+static int hf_ngap_RATRestrictionInformation_nR = -1;
+static int hf_ngap_RATRestrictionInformation_nR_unlicensed = -1;
+static int hf_ngap_RATRestrictionInformation_reserved = -1;
+static int hf_ngap_primaryRATRestriction_e_UTRA = -1;
+static int hf_ngap_primaryRATRestriction_nR = -1;
+static int hf_ngap_primaryRATRestriction_nR_unlicensed = -1;
+static int hf_ngap_primaryRATRestriction_nR_LEO = -1;
+static int hf_ngap_primaryRATRestriction_nR_MEO = -1;
+static int hf_ngap_primaryRATRestriction_nR_GEO = -1;
+static int hf_ngap_primaryRATRestriction_nR_OTHERSAT = -1;
+static int hf_ngap_primaryRATRestriction_reserved = -1;
+static int hf_ngap_secondaryRATRestriction_e_UTRA = -1;
+static int hf_ngap_secondaryRATRestriction_nR = -1;
+static int hf_ngap_secondaryRATRestriction_e_UTRA_unlicensed = -1;
+static int hf_ngap_secondaryRATRestriction_nR_unlicensed = -1;
+static int hf_ngap_secondaryRATRestriction_reserved = -1;
+static int hf_ngap_NrencryptionAlgorithms_nea1 = -1;
+static int hf_ngap_NrencryptionAlgorithms_nea2 = -1;
+static int hf_ngap_NrencryptionAlgorithms_nea3 = -1;
+static int hf_ngap_NrencryptionAlgorithms_reserved = -1;
+static int hf_ngap_NrintegrityProtectionAlgorithms_nia1 = -1;
+static int hf_ngap_NrintegrityProtectionAlgorithms_nia2 = -1;
+static int hf_ngap_NrintegrityProtectionAlgorithms_nia3 = -1;
+static int hf_ngap_NrintegrityProtectionAlgorithms_reserved = -1;
+static int hf_ngap_EUTRAencryptionAlgorithms_eea1 = -1;
+static int hf_ngap_EUTRAencryptionAlgorithms_eea2 = -1;
+static int hf_ngap_EUTRAencryptionAlgorithms_eea3 = -1;
+static int hf_ngap_EUTRAencryptionAlgorithms_reserved = -1;
+static int hf_ngap_EUTRAintegrityProtectionAlgorithms_eia1 = -1;
+static int hf_ngap_EUTRAintegrityProtectionAlgorithms_eia2 = -1;
+static int hf_ngap_EUTRAintegrityProtectionAlgorithms_eia3 = -1;
+static int hf_ngap_EUTRAintegrityProtectionAlgorithms_eia7 = -1;
+static int hf_ngap_EUTRAintegrityProtectionAlgorithms_reserved = -1;
+static int hf_ngap_MeasurementsToActivate_M1 = -1;
+static int hf_ngap_MeasurementsToActivate_M2 = -1;
+static int hf_ngap_MeasurementsToActivate_M4 = -1;
+static int hf_ngap_MeasurementsToActivate_M5 = -1;
+static int hf_ngap_MeasurementsToActivate_M6 = -1;
+static int hf_ngap_MeasurementsToActivate_M7 = -1;
+static int hf_ngap_MeasurementsToActivate_M1_from_event = -1;
+static int hf_ngap_MeasurementsToActivate_reserved = -1;
+static int hf_ngap_MDT_Location_Information_GNSS = -1;
+static int hf_ngap_MDT_Location_Information_reserved = -1;
+static int hf_ngap_GlobalCable_ID_str = -1;
+static int hf_ngap_UpdateFeedback_CN_PDB_DL = -1;
+static int hf_ngap_UpdateFeedback_CN_PDB_UL = -1;
+static int hf_ngap_UpdateFeedback_reserved = -1;
+#include "packet-ngap-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_ngap = -1;
+static gint ett_ngap_TransportLayerAddress = -1;
+static gint ett_ngap_DataCodingScheme = -1;
+static gint ett_ngap_SerialNumber = -1;
+static gint ett_ngap_WarningType = -1;
+static gint ett_ngap_WarningMessageContents = -1;
+static gint ett_ngap_PLMNIdentity = -1;
+static gint ett_ngap_NGAP_Message = -1;
+static gint ett_ngap_NGRANTraceID = -1;
+static gint ett_ngap_InterfacesToTrace = -1;
+static gint ett_ngap_SourceToTarget_TransparentContainer = -1;
+static gint ett_ngap_TargetToSource_TransparentContainer = -1;
+static gint ett_ngap_RRCContainer = -1;
+static gint ett_ngap_RATRestrictionInformation = -1;
+static gint ett_ngap_primaryRATRestriction = -1;
+static gint ett_ngap_secondaryRATRestriction = -1;
+static gint ett_ngap_NrencryptionAlgorithms = -1;
+static gint ett_ngap_NrintegrityProtectionAlgorithms = -1;
+static gint ett_ngap_EUTRAencryptionAlgorithms = -1;
+static gint ett_ngap_EUTRAintegrityProtectionAlgorithms = -1;
+static gint ett_ngap_UERadioCapabilityForPagingOfNR = -1;
+static gint ett_ngap_UERadioCapabilityForPagingOfEUTRA = -1;
+static gint ett_ngap_UERadioCapability = -1;
+static gint ett_ngap_LastVisitedEUTRANCellInformation = -1;
+static gint ett_ngap_LastVisitedUTRANCellInformation = -1;
+static gint ett_ngap_LastVisitedGERANCellInformation = -1;
+static gint ett_ngap_NASSecurityParametersFromNGRAN = -1;
+static gint ett_ngap_NASC = -1;
+static gint ett_ngap_NAS_PDU = -1;
+static gint ett_ngap_EN_DCSONConfigurationTransfer = -1;
+static gint ett_ngap_BurstArrivalTime = -1;
+static gint ett_ngap_CoverageEnhancementLevel = -1;
+static gint ett_ngap_MDTModeEutra = -1;
+static gint ett_ngap_MeasurementsToActivate = -1;
+static gint ett_ngap_MDT_Location_Information = -1;
+static gint ett_ngap_NRMobilityHistoryReport = -1;
+static gint ett_ngap_LTEUERLFReportContainer = -1;
+static gint ett_ngap_NRUERLFReportContainer = -1;
+static gint ett_ngap_TargettoSource_Failure_TransparentContainer = -1;
+static gint ett_ngap_UERadioCapabilityForPagingOfNB_IoT = -1;
+static gint ett_ngap_GlobalCable_ID = -1;
+static gint ett_ngap_UpdateFeedback = -1;
+static gint ett_ngap_successfulHOReportContainer = -1;
+#include "packet-ngap-ett.c"
+
+static expert_field ei_ngap_number_pages_le15 = EI_INIT;
+
+enum{
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+/* NGAP stats - Tap interface */
+
+static void set_stats_message_type(packet_info *pinfo, int type);
+
+static const guint8 *st_str_packets = "Total Packets";
+static const guint8 *st_str_packet_types = "NGAP Packet Types";
+
+static int st_node_packets = -1;
+static int st_node_packet_types = -1;
+static int ngap_tap = -1;
+
+struct ngap_tap_t {
+ gint ngap_mtype;
+};
+
+#define MTYPE_AMF_CONFIGURATION_UPDATE 1
+#define MTYPE_AMF_CONFIGURATION_UPDATE_ACK 2
+#define MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE 3
+#define MTYPE_AMF_CP_RELOCATION_IND 4
+#define MTYPE_AMF_STATUS_IND 5
+#define MTYPE_BROADCAST_SESSION_MODIFICATION_REQUEST 6
+#define MTYPE_BROADCAST_SESSION_MODIFICATION_RESPONSE 7
+#define MTYPE_BROADCAST_SESSION_MODIFICATION_FAILURE 8
+#define MTYPE_BROADCAST_SESSION_RELEASE_REQUEST 9
+#define MTYPE_BROADCAST_SESSION_RELEASE_RESPONSE 10
+#define MTYPE_BROADCAST_SESSION_RELEASE_REQUIRED 11
+#define MTYPE_BROADCAST_SESSION_SETUP_REQUEST 12
+#define MTYPE_BROADCAST_SESSION_SETUP_RESPONSE 13
+#define MTYPE_BROADCAST_SESSION_SETUP_FAILURE 14
+#define MTYPE_CELL_TRAFFIC_TRACE 15
+#define MTYPE_CONNECTION_ESTAB_IND 16
+#define MTYPE_DEACTIVATE_TRACE 17
+#define MTYPE_DISTRIBUTION_SETUP_REQUEST 18
+#define MTYPE_DISTRIBUTION_SETUP_RESPONSE 19
+#define MTYPE_DISTRIBUTION_SETUP_FAILURE 20
+#define MTYPE_DISTRIBUTION_RELEASE_REQUEST 21
+#define MTYPE_DISTRIBUTION_RELEASE_RESPONSE 22
+#define MTYPE_DOWNLINK_NAS_TRANSPORT 23
+#define MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT 24
+#define MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER 25
+#define MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER 26
+#define MTYPE_DOWNLINK_RAN_STATUS_TRANSFER 27
+#define MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT 28
+#define MTYPE_ERROR_INDICATION 29
+#define MTYPE_HANDOVER_CANCEL 30
+#define MTYPE_HANDOVER_CANCEL_ACK 31
+#define MTYPE_HANDOVER_NOTIFY 32
+#define MTYPE_HANDOVER_REQUIRED 33
+#define MTYPE_HANDOVER_COMMAND 34
+#define MTYPE_HANDOVER_PREPARATION_FAILURE 35
+#define MTYPE_HANDOVER_REQUEST 36
+#define MTYPE_HANDOVER_REQUEST_ACK 37
+#define MTYPE_HANDOVER_FAILURE 38
+#define MTYPE_HANDOVER_SUCCESS 39
+#define MTYPE_INITIAL_CONTEXT_SETUP_REQUEST 40
+#define MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE 41
+#define MTYPE_INITIAL_CONTEXT_SETUP_FAILURE 42
+#define MTYPE_INITIAL_UE_MESSAGE 43
+#define MTYPE_LOCATION_REPORT 44
+#define MTYPE_LOCATION_REPORTING_CONTROL 45
+#define MTYPE_LOCATION_REPORTING_FAILURE_IND 46
+#define MTYPE_MULTICAST_SESSION_ACTIVATION_REQUEST 47
+#define MTYPE_MULTICAST_SESSION_ACTIVATION_RESPONSE 48
+#define MTYPE_MULTICAST_SESSION_ACTIVATION_FAILURE 49
+#define MTYPE_MULTICAST_SESSION_DEACTIVATION_REQUEST 50
+#define MTYPE_MULTICAST_SESSION_DEACTIVATION_RESPONSE 51
+#define MTYPE_MULTICAST_SESSION_UPDATE_REQUEST 52
+#define MTYPE_MULTICAST_SESSION_UPDATE_RESPONSE 53
+#define MTYPE_MULTICAST_SESSION_UPDATE_FAILURE 54
+#define MTYPE_MULTICAST_GROUP_PAGING 55
+#define MTYPE_NAS_NON_DELIVERY_IND 56
+#define MTYPE_NG_RESET 57
+#define MTYPE_NG_RESET_ACK 58
+#define MTYPE_NG_SETUP_REQUEST 59
+#define MTYPE_NG_SETUP_RESPONSE 60
+#define MTYPE_NG_SETUP_FAILURE 61
+#define MTYPE_OVERLOAD_START 62
+#define MTYPE_OVERLOAD_STOP 63
+#define MTYPE_PAGING 64
+#define MTYPE_PATH_SWITCH_REQUEST 65
+#define MTYPE_PATH_SWITCH_REQUEST_ACK 66
+#define MTYPE_PATH_SWITCH_REQUEST_FAILURE 67
+#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST 68
+#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE 69
+#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND 70
+#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM 71
+#define MTYPE_PDU_SESSION_RESOURCE_NOTIFY 72
+#define MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND 73
+#define MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE 74
+#define MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST 75
+#define MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE 76
+#define MTYPE_PRIVATE_MESSAGE 77
+#define MTYPE_PWS_CANCEL_REQUEST 78
+#define MTYPE_PWS_CANCEL_RESPONSE 79
+#define MTYPE_PWS_FAILURE_INDICATION 80
+#define MTYPE_PWS_RESTART_INDICATION 81
+#define MTYPE_RAN_CONFIGURATION_UPDATE 82
+#define MTYPE_RAN_CONFIGURATION_UPDATE_ACK 83
+#define MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE 84
+#define MTYPE_RAN_CP_RELOCATION_IND 85
+#define MTYPE_REROUTE_NAS_REQUEST 86
+#define MTYPE_RETRIEVE_UE_INFORMATION 87
+#define MTYPE_RRC_INACTIVE_TRANSITION_REPORT 88
+#define MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT 89
+#define MTYPE_TRACE_FAILURE_IND 90
+#define MTYPE_TRACE_START 91
+#define MTYPE_UE_CONTEXT_MODIFICATION_REQUEST 92
+#define MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE 93
+#define MTYPE_UE_CONTEXT_MODIFICATION_FAILURE 94
+#define MTYPE_UE_CONTEXT_RELEASE_COMMAND 95
+#define MTYPE_UE_CONTEXT_RELEASE_COMPLETE 96
+#define MTYPE_UE_CONTEXT_RELEASE_REQUEST 97
+#define MTYPE_UE_CONTEXT_RESUME_REQUEST 98
+#define MTYPE_UE_CONTEXT_RESUME_RESPONSE 99
+#define MTYPE_UE_CONTEXT_RESUME_FAILURE 100
+#define MTYPE_UE_CONTEXT_SUSPEND_REQUEST 101
+#define MTYPE_UE_CONTEXT_SUSPEND_RESPONSE 102
+#define MTYPE_UE_CONTEXT_SUSPEND_FAILURE 103
+#define MTYPE_UE_INFORMATION_TRANSFER 104
+#define MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST 105
+#define MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE 106
+#define MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST 107
+#define MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE 108
+#define MTYPE_UE_RADIO_CAPABILITY_INFO_IND 109
+#define MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST 110
+#define MTYPE_UPLINK_NAS_TRANSPORT 111
+#define MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT 112
+#define MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER 113
+#define MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER 114
+#define MTYPE_UPLINK_RAN_STATUS_TRANSFER 115
+#define MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT 116
+#define MTYPE_WRITE_REPLACE_WARNING_REQUEST 117
+#define MTYPE_WRITE_REPLACE_WARNING_RESPONSE 118
+#define MTYPE_UPLINK_RIM_INFORMATION_TRANSFER 119
+#define MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER 120
+
+
+/* Value Strings. TODO: ext? */
+static const value_string mtype_names[] = {
+ { MTYPE_AMF_CONFIGURATION_UPDATE, "AMFConfigurationUpdate" },
+ { MTYPE_AMF_CONFIGURATION_UPDATE_ACK, "AMFConfigurationUpdateAcknowledge" },
+ { MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE, "AMFConfigurationUpdateFailure" },
+ { MTYPE_AMF_CP_RELOCATION_IND, "AMFCPRelocationIndication" },
+ { MTYPE_AMF_STATUS_IND, "AMFStatusIndication" },
+ { MTYPE_BROADCAST_SESSION_MODIFICATION_REQUEST, "BroadcastSessionModificationRequest" },
+ { MTYPE_BROADCAST_SESSION_MODIFICATION_RESPONSE, "BroadcastSessionModificationResponse" },
+ { MTYPE_BROADCAST_SESSION_MODIFICATION_FAILURE, "BroadcastSessionModificationFailure" },
+ { MTYPE_BROADCAST_SESSION_RELEASE_REQUEST, "BroadcastSessionReleaseRequest" },
+ { MTYPE_BROADCAST_SESSION_RELEASE_RESPONSE, "BroadcastSessionReleaseResponse" },
+ { MTYPE_BROADCAST_SESSION_RELEASE_REQUIRED, "BroadcastSessionReleaseRequired" },
+ { MTYPE_BROADCAST_SESSION_SETUP_REQUEST, "BroadcastSessionSetupRequest" },
+ { MTYPE_BROADCAST_SESSION_SETUP_RESPONSE, "BroadcastSessionSetupResponse" },
+ { MTYPE_BROADCAST_SESSION_SETUP_FAILURE, "BroadcastSessionSetupFailure" },
+ { MTYPE_CELL_TRAFFIC_TRACE, "CellTrafficTrace" },
+ { MTYPE_CONNECTION_ESTAB_IND, "ConnectionEstablishmentIndication" },
+ { MTYPE_DEACTIVATE_TRACE, "DeactivateTrace" },
+ { MTYPE_DISTRIBUTION_SETUP_REQUEST, "DistributionSetupRequest" },
+ { MTYPE_DISTRIBUTION_SETUP_RESPONSE, "DistributionSetupResponse" },
+ { MTYPE_DISTRIBUTION_SETUP_FAILURE, "DistributionSetupFailure" },
+ { MTYPE_DISTRIBUTION_RELEASE_REQUEST, "DistributionReleaseRequest" },
+ { MTYPE_DISTRIBUTION_RELEASE_RESPONSE, "DistributionReleaseResponse" },
+ { MTYPE_DOWNLINK_NAS_TRANSPORT, "DownlinkNASTransport" },
+ { MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT, "DownlinkNonUEAssociatedNRPPaTransport" },
+ { MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER, "DownlinkRANConfigurationTransfer" },
+ { MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER, "DownlinkRANEarlyStatusTransfer" },
+ { MTYPE_DOWNLINK_RAN_STATUS_TRANSFER, "DownlinkRANStatusTransfer" },
+ { MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT, "DownlinkUEAssociatedNRPPaTransport" },
+ { MTYPE_ERROR_INDICATION, "ErrorIndication" },
+ { MTYPE_HANDOVER_CANCEL, "HandoverCancel" },
+ { MTYPE_HANDOVER_CANCEL_ACK, "HandoverCancelAcknowledge" },
+ { MTYPE_HANDOVER_NOTIFY, "HandoverNotify" },
+ { MTYPE_HANDOVER_REQUIRED, "HandoverRequired" },
+ { MTYPE_HANDOVER_COMMAND, "HandoverCommand" },
+ { MTYPE_HANDOVER_PREPARATION_FAILURE, "HandoverPreparationFailure" },
+ { MTYPE_HANDOVER_REQUEST, "HandoverRequest" },
+ { MTYPE_HANDOVER_REQUEST_ACK, "HandoverRequestAcknowledge" },
+ { MTYPE_HANDOVER_FAILURE, "HandoverFailure" },
+ { MTYPE_HANDOVER_SUCCESS, "HandoverSuccess" },
+ { MTYPE_INITIAL_CONTEXT_SETUP_REQUEST, "InitialContextSetupRequest" },
+ { MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE, "InitialContextSetupResponse" },
+ { MTYPE_INITIAL_CONTEXT_SETUP_FAILURE, "InitialContextSetupFailure" },
+ { MTYPE_INITIAL_UE_MESSAGE, "InitialUEMessage" },
+ { MTYPE_LOCATION_REPORT, "LocationReport" },
+ { MTYPE_LOCATION_REPORTING_CONTROL, "LocationReportingControl" },
+ { MTYPE_LOCATION_REPORTING_FAILURE_IND, "LocationReportingFailureIndication" },
+ { MTYPE_MULTICAST_SESSION_ACTIVATION_REQUEST, "MulticastSessionActivationRequest" },
+ { MTYPE_MULTICAST_SESSION_ACTIVATION_RESPONSE, "MulticastSessionActivationResponse" },
+ { MTYPE_MULTICAST_SESSION_ACTIVATION_FAILURE, "MulticastSessionActivationFailure" },
+ { MTYPE_MULTICAST_SESSION_DEACTIVATION_REQUEST, "MulticastSessionDeactivationRequest" },
+ { MTYPE_MULTICAST_SESSION_DEACTIVATION_RESPONSE, "MulticastSessionDeactivationResponse" },
+ { MTYPE_MULTICAST_SESSION_UPDATE_REQUEST, "MulticastSessionUpdateRequest" },
+ { MTYPE_MULTICAST_SESSION_UPDATE_RESPONSE, "MulticastSessionUpdateResponse" },
+ { MTYPE_MULTICAST_SESSION_UPDATE_FAILURE, "MulticastSessionUpdateFailure" },
+ { MTYPE_MULTICAST_GROUP_PAGING, "MulticastGroupPaging" },
+ { MTYPE_NAS_NON_DELIVERY_IND, "NASNonDeliveryIndication" },
+ { MTYPE_NG_RESET, "NGReset" },
+ { MTYPE_NG_RESET_ACK, "NGResetAcknowledge" },
+ { MTYPE_NG_SETUP_REQUEST, "NGSetupRequest" },
+ { MTYPE_NG_SETUP_RESPONSE, "NGSetupResponse" },
+ { MTYPE_NG_SETUP_FAILURE, "NGSetupFailure" },
+ { MTYPE_OVERLOAD_START, "OverloadStart" },
+ { MTYPE_OVERLOAD_STOP, "OverloadStop" },
+ { MTYPE_PAGING, "Paging" },
+ { MTYPE_PATH_SWITCH_REQUEST, "PathSwitchRequest" },
+ { MTYPE_PATH_SWITCH_REQUEST_ACK, "PathSwitchRequestAcknowledge" },
+ { MTYPE_PATH_SWITCH_REQUEST_FAILURE, "PathSwitchRequestFailure" },
+ { MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST, "PDUSessionResourceModifyRequest" },
+ { MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE, "PDUSessionResourceModifyResponse" },
+ { MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND, "PDUSessionResourceModifyIndication" },
+ { MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM, "PDUSessionResourceModifyConfirm" },
+ { MTYPE_PDU_SESSION_RESOURCE_NOTIFY, "PDUSessionResourceNotify" },
+ { MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND, "PDUSessionResourceReleaseCommand" },
+ { MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE, "PDUSessionResourceReleaseResponse" },
+ { MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST, "PDUSessionResourceSetupRequest" },
+ { MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE, "PDUSessionResourceSetupResponse" },
+ { MTYPE_PRIVATE_MESSAGE, "PrivateMessage" },
+ { MTYPE_PWS_CANCEL_REQUEST, "PWSCancelRequest" },
+ { MTYPE_PWS_CANCEL_RESPONSE, "PWSCancelResponse" },
+ { MTYPE_PWS_FAILURE_INDICATION, "PWSFailureIndication" },
+ { MTYPE_PWS_RESTART_INDICATION, "PWSRestartIndication" },
+ { MTYPE_RAN_CONFIGURATION_UPDATE, "RANConfigurationUpdate" },
+ { MTYPE_RAN_CONFIGURATION_UPDATE_ACK, "RANConfigurationUpdateAcknowledge" },
+ { MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE, "RANConfigurationUpdateFailure" },
+ { MTYPE_RAN_CP_RELOCATION_IND, "RANCPRelocationIndication" },
+ { MTYPE_REROUTE_NAS_REQUEST, "RerouteNASRequest" },
+ { MTYPE_RETRIEVE_UE_INFORMATION, "RetrieveUEInformation" },
+ { MTYPE_RRC_INACTIVE_TRANSITION_REPORT, "RRCInactiveTransitionReport" },
+ { MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT, "SecondaryRATDataUsageReport" },
+ { MTYPE_TRACE_FAILURE_IND, "TraceFailureIndication" },
+ { MTYPE_TRACE_START, "TraceStart" },
+ { MTYPE_UE_CONTEXT_MODIFICATION_REQUEST, "UEContextModificationRequest" },
+ { MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE, "UEContextModificationResponse" },
+ { MTYPE_UE_CONTEXT_MODIFICATION_FAILURE, "UEContextModificationFailure" },
+ { MTYPE_UE_CONTEXT_RELEASE_COMMAND, "UEContextReleaseCommand" },
+ { MTYPE_UE_CONTEXT_RELEASE_COMPLETE, "UEContextReleaseComplete" },
+ { MTYPE_UE_CONTEXT_RELEASE_REQUEST, "UEContextReleaseRequest" },
+ { MTYPE_UE_CONTEXT_RESUME_REQUEST, "UEContextResumeRequest" },
+ { MTYPE_UE_CONTEXT_RESUME_RESPONSE, "UEContextResumeResponse" },
+ { MTYPE_UE_CONTEXT_RESUME_FAILURE, "UEContextResumeFailure" },
+ { MTYPE_UE_CONTEXT_SUSPEND_REQUEST, "UEContextSuspendRequest" },
+ { MTYPE_UE_CONTEXT_SUSPEND_RESPONSE, "UEContextSuspendResponse" },
+ { MTYPE_UE_CONTEXT_SUSPEND_FAILURE, "UEContextSuspendFailure" },
+ { MTYPE_UE_INFORMATION_TRANSFER, "UEInformationTransfer" },
+ { MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST, "UERadioCapabilityCheckRequest" },
+ { MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE, "UERadioCapabilityCheckResponse" },
+ { MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST, "UERadioCapabilityIDMappingRequest" },
+ { MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE, "UERadioCapabilityIDMappingResponse" },
+ { MTYPE_UE_RADIO_CAPABILITY_INFO_IND, "UERadioCapabilityInfoIndication" },
+ { MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST, "UETNLABindingReleaseRequest" },
+ { MTYPE_UPLINK_NAS_TRANSPORT, "UplinkNASTransport" },
+ { MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT, "UplinkNonUEAssociatedNRPPaTransport" },
+ { MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER, "UplinkRANConfigurationTransfer" },
+ { MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER, "UplinkRANEarlyStatusTransfer" },
+ { MTYPE_UPLINK_RAN_STATUS_TRANSFER, "UplinkRANStatusTransfer" },
+ { MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT, "UplinkUEAssociatedNRPPaTransport" },
+ { MTYPE_WRITE_REPLACE_WARNING_REQUEST, "WriteReplaceWarningRequest" },
+ { MTYPE_WRITE_REPLACE_WARNING_RESPONSE, "WriteReplaceWarningResponse" },
+ { MTYPE_UPLINK_RIM_INFORMATION_TRANSFER, "UplinkRIMInformationTransfer" },
+ { MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER, "DownlinkRIMInformationTransfer" },
+ { 0, NULL }
+};
+
+
+typedef struct _ngap_ctx_t {
+ guint32 message_type;
+ guint32 ProcedureCode;
+ guint32 ProtocolIE_ID;
+ guint32 ProtocolExtensionID;
+} ngap_ctx_t;
+
+struct ngap_conv_info {
+ address addr_a;
+ guint32 port_a;
+ GlobalRANNodeID_enum ranmode_id_a;
+ address addr_b;
+ guint32 port_b;
+ GlobalRANNodeID_enum ranmode_id_b;
+ wmem_map_t *nbiot_ta;
+ wmem_tree_t *nbiot_ran_ue_ngap_id;
+};
+
+enum {
+ SOURCE_TO_TARGET_TRANSPARENT_CONTAINER = 1,
+ TARGET_TO_SOURCE_TRANSPARENT_CONTAINER
+};
+
+struct ngap_supported_ta {
+ guint32 tac;
+ wmem_array_t *plmn;
+};
+
+struct ngap_tai {
+ guint32 plmn;
+ guint32 tac;
+};
+
+struct ngap_private_data {
+ struct ngap_conv_info *ngap_conv;
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ guint32 protocol_extension_id;
+ guint32 message_type;
+ guint32 handover_type_value;
+ guint8 data_coding_scheme;
+ guint8 transparent_container_type;
+ gboolean is_qos_flow_notify;
+ struct ngap_supported_ta *supported_ta;
+ struct ngap_tai *tai;
+ guint32 ran_ue_ngap_id;
+ e212_number_type_t number_type;
+ struct ngap_tap_t *stats_tap;
+};
+
+enum {
+ NGAP_NG_RAN_CONTAINER_AUTOMATIC,
+ NGAP_NG_RAN_CONTAINER_GNB,
+ NGAP_NG_RAN_CONTAINER_NG_ENB
+};
+
+static const enum_val_t ngap_target_ng_ran_container_vals[] = {
+ {"automatic", "automatic", NGAP_NG_RAN_CONTAINER_AUTOMATIC},
+ {"gnb", "gNB", NGAP_NG_RAN_CONTAINER_GNB},
+ {"ng-enb","ng-eNB", NGAP_NG_RAN_CONTAINER_NG_ENB},
+ {NULL, NULL, -1}
+};
+
+enum {
+ NGAP_LTE_CONTAINER_AUTOMATIC,
+ NGAP_LTE_CONTAINER_LEGACY,
+ NGAP_LTE_CONTAINER_NBIOT
+};
+
+static const enum_val_t ngap_lte_container_vals[] = {
+ {"automatic", "Automatic", NGAP_LTE_CONTAINER_AUTOMATIC},
+ {"legacy", "Legacy LTE", NGAP_LTE_CONTAINER_LEGACY},
+ {"nb-iot","NB-IoT", NGAP_LTE_CONTAINER_NBIOT},
+ {NULL, NULL, -1}
+};
+
+/* Global variables */
+static range_t *gbl_ngapSctpRange = NULL;
+static gboolean ngap_dissect_container = TRUE;
+static gint ngap_dissect_target_ng_ran_container_as = NGAP_NG_RAN_CONTAINER_AUTOMATIC;
+static gint ngap_dissect_lte_container_as = NGAP_LTE_CONTAINER_AUTOMATIC;
+
+/* Dissector tables */
+static dissector_table_t ngap_ies_dissector_table;
+static dissector_table_t ngap_ies_p1_dissector_table;
+static dissector_table_t ngap_ies_p2_dissector_table;
+static dissector_table_t ngap_extension_dissector_table;
+static dissector_table_t ngap_proc_imsg_dissector_table;
+static dissector_table_t ngap_proc_sout_dissector_table;
+static dissector_table_t ngap_proc_uout_dissector_table;
+static dissector_table_t ngap_n2_ie_type_dissector_table;
+
+static proto_tree *top_tree = NULL;
+
+static void set_message_label(asn1_ctx_t *actx, int type)
+{
+ const char *label = val_to_str_const(type, mtype_names, "Unknown");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, label);
+ /* N.B. would like to be able to use actx->subTree.top_tree, but not easy to set.. */
+ proto_item_append_text(top_tree, " (%s)", label);
+}
+
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+/* Currently not used
+static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+*/
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static int dissect_InitialUEMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data);
+static int dissect_PDUSessionResourceReleaseResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_HandoverRequestAcknowledgeTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceModifyUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceSetupUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_HandoverResourceAllocationUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PathSwitchRequestSetupFailedTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_HandoverCommandTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_HandoverRequiredTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceModifyConfirmTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceModifyIndicationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceModifyRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceModifyResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceNotifyTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceNotifyReleasedTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PathSwitchRequestUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceSetupRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceSetupResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PathSwitchRequestAcknowledgeTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PathSwitchRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_HandoverPreparationUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceReleaseCommandTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_SecondaryRATDataUsageReportTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_PDUSessionResourceModifyIndicationUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_ngap_AlternativeQoSParaSetNotifyIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+const value_string ngap_serialNumber_gs_vals[] = {
+ { 0, "Display mode immediate, cell wide"},
+ { 1, "Display mode normal, PLMN wide"},
+ { 2, "Display mode normal, tracking area wide"},
+ { 3, "Display mode normal, cell wide"},
+ { 0, NULL},
+};
+
+const value_string ngap_warningType_vals[] = {
+ { 0, "Earthquake"},
+ { 1, "Tsunami"},
+ { 2, "Earthquake and Tsunami"},
+ { 3, "Test"},
+ { 4, "Other"},
+ { 0, NULL},
+};
+
+static void
+dissect_ngap_warningMessageContents(tvbuff_t *warning_msg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dcs, int hf_nb_pages, int hf_decoded_page)
+{
+ guint32 offset;
+ guint8 nb_of_pages, length, *str;
+ proto_item *ti;
+ tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
+ int i;
+
+ nb_of_pages = tvb_get_guint8(warning_msg_tvb, 0);
+ ti = proto_tree_add_uint(tree, hf_nb_pages, warning_msg_tvb, 0, 1, nb_of_pages);
+ if (nb_of_pages > 15) {
+ expert_add_info_format(pinfo, ti, &ei_ngap_number_pages_le15,
+ "Number of pages should be <=15 (found %u)", nb_of_pages);
+ nb_of_pages = 15;
+ }
+ for (i = 0, offset = 1; i < nb_of_pages; i++) {
+ length = tvb_get_guint8(warning_msg_tvb, offset+82);
+ cb_data_page_tvb = tvb_new_subset_length(warning_msg_tvb, offset, length);
+ cb_data_tvb = dissect_cbs_data(dcs, cb_data_page_tvb, tree, pinfo, 0);
+ if (cb_data_tvb) {
+ str = tvb_get_string_enc(pinfo->pool, cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
+ proto_tree_add_string_format(tree, hf_decoded_page, warning_msg_tvb, offset, 83,
+ str, "Decoded Page %u: %s", i+1, str);
+ }
+ offset += 83;
+ }
+}
+
+static void
+ngap_PacketLossRate_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f%% (%u)", (float)v/10, v);
+}
+
+static void
+ngap_PacketDelayBudget_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v);
+}
+
+static void
+ngap_TimeUEStayedInCellEnhancedGranularity_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fs", ((float)v)/10);
+}
+
+static void
+ngap_PeriodicRegistrationUpdateTimer_fmt(gchar *s, guint32 v)
+{
+ guint32 val = v & 0x1f;
+
+ switch (v>>5) {
+ case 0:
+ snprintf(s, ITEM_LABEL_LENGTH, "%u min (%u)", val * 10, v);
+ break;
+ case 1:
+ default:
+ snprintf(s, ITEM_LABEL_LENGTH, "%u hr (%u)", val, v);
+ break;
+ case 2:
+ snprintf(s, ITEM_LABEL_LENGTH, "%u hr (%u)", val * 10, v);
+ break;
+ case 3:
+ snprintf(s, ITEM_LABEL_LENGTH, "%u sec (%u)", val * 2, v);
+ break;
+ case 4:
+ snprintf(s, ITEM_LABEL_LENGTH, "%u sec (%u)", val * 30, v);
+ break;
+ case 5:
+ snprintf(s, ITEM_LABEL_LENGTH, "%u min (%u)", val, v);
+ break;
+ case 7:
+ snprintf(s, ITEM_LABEL_LENGTH, "deactivated (%u)", v);
+ break;
+ }
+}
+
+static void
+ngap_ExtendedPacketDelayBudget_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fms (%u)", (float)v/100, v);
+}
+
+static void
+ngap_Threshold_RSRP_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", (gint32)v-156, v);
+}
+
+static void
+ngap_Threshold_RSRQ_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-43, v);
+}
+
+static void
+ngap_Threshold_SINR_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-23, v);
+}
+
+static struct ngap_private_data*
+ngap_get_private_data(packet_info *pinfo)
+{
+ struct ngap_private_data *ngap_data = (struct ngap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_ngap, 0);
+ if (!ngap_data) {
+ ngap_data = wmem_new0(pinfo->pool, struct ngap_private_data);
+ ngap_data->handover_type_value = -1;
+ p_add_proto_data(pinfo->pool, pinfo, proto_ngap, 0, ngap_data);
+ }
+ return ngap_data;
+}
+
+static GlobalRANNodeID_enum
+ngap_get_ranmode_id(address *addr, guint32 port, packet_info *pinfo)
+{
+ struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
+ GlobalRANNodeID_enum ranmode_id = (GlobalRANNodeID_enum)-1;
+
+ if (ngap_data->ngap_conv) {
+ if (addresses_equal(addr, &ngap_data->ngap_conv->addr_a) && port == ngap_data->ngap_conv->port_a) {
+ ranmode_id = ngap_data->ngap_conv->ranmode_id_a;
+ } else if (addresses_equal(addr, &ngap_data->ngap_conv->addr_b) && port == ngap_data->ngap_conv->port_b) {
+ ranmode_id = ngap_data->ngap_conv->ranmode_id_b;
+ }
+ }
+ return ranmode_id;
+}
+
+static gboolean
+ngap_is_nbiot_ue(packet_info *pinfo)
+{
+ struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
+
+ if (ngap_data->ngap_conv) {
+ wmem_tree_key_t tree_key[3];
+ guint32 *id;
+
+ tree_key[0].length = 1;
+ tree_key[0].key = &ngap_data->ran_ue_ngap_id;
+ tree_key[1].length = 1;
+ tree_key[1].key = &pinfo->num;
+ tree_key[2].length = 0;
+ tree_key[2].key = NULL;
+ id = (guint32*)wmem_tree_lookup32_array_le(ngap_data->ngap_conv->nbiot_ran_ue_ngap_id, tree_key);
+ if (id && (*id == ngap_data->ran_ue_ngap_id)) {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+const true_false_string ngap_not_updated_updated = {
+ "Not updated",
+ "Updated"
+};
+
+#include "packet-ngap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ ngap_ctx_t ngap_ctx;
+ struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
+
+ ngap_ctx.message_type = ngap_data->message_type;
+ ngap_ctx.ProcedureCode = ngap_data->procedure_code;
+ ngap_ctx.ProtocolIE_ID = ngap_data->protocol_ie_id;
+ ngap_ctx.ProtocolExtensionID = ngap_data->protocol_extension_id;
+
+ return (dissector_try_uint_new(ngap_ies_dissector_table, ngap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &ngap_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+/* Currently not used
+static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
+
+ return (dissector_try_uint(ngap_ies_p1_dissector_table, ngap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
+
+ return (dissector_try_uint(ngap_ies_p2_dissector_table, ngap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+*/
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ ngap_ctx_t ngap_ctx;
+ struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
+
+ ngap_ctx.message_type = ngap_data->message_type;
+ ngap_ctx.ProcedureCode = ngap_data->procedure_code;
+ ngap_ctx.ProtocolIE_ID = ngap_data->protocol_ie_id;
+ ngap_ctx.ProtocolExtensionID = ngap_data->protocol_extension_id;
+
+ return (dissector_try_uint_new(ngap_extension_dissector_table, ngap_data->protocol_extension_id, tvb, pinfo, tree, TRUE, &ngap_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(ngap_proc_imsg_dissector_table, ngap_data->procedure_code, tvb, pinfo, tree, TRUE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(ngap_proc_sout_dissector_table, ngap_data->procedure_code, tvb, pinfo, tree, TRUE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(ngap_proc_uout_dissector_table, ngap_data->procedure_code, tvb, pinfo, tree, TRUE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static void
+ngap_stats_tree_init(stats_tree *st)
+{
+ st_node_packets = stats_tree_create_node(st, st_str_packets, 0, STAT_DT_INT, TRUE);
+ st_node_packet_types = stats_tree_create_pivot(st, st_str_packet_types, st_node_packets);
+}
+
+static tap_packet_status
+ngap_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
+ epan_dissect_t* edt _U_ , const void* p, tap_flags_t flags _U_)
+{
+ const struct ngap_tap_t *pi = (const struct ngap_tap_t *) p;
+
+ tick_stat_node(st, st_str_packets, 0, FALSE);
+ stats_tree_tick_pivot(st, st_node_packet_types,
+ val_to_str(pi->ngap_mtype, mtype_names,
+ "Unknown packet type (%d)"));
+ return TAP_PACKET_REDRAW;
+}
+
+static void set_stats_message_type(packet_info *pinfo, int type)
+{
+ struct ngap_private_data* priv_data = ngap_get_private_data(pinfo);
+ priv_data->stats_tap->ngap_mtype = type;
+}
+
+
+static int
+dissect_ngap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *ngap_item = NULL;
+ proto_tree *ngap_tree = NULL;
+ conversation_t *conversation;
+ struct ngap_private_data *ngap_data;
+ struct ngap_tap_t *ngap_info;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NGAP");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ ngap_info = wmem_new(pinfo->pool, struct ngap_tap_t);
+ ngap_info->ngap_mtype = 0; /* unknown/invalid */
+
+ /* create the ngap protocol tree */
+ ngap_item = proto_tree_add_item(tree, proto_ngap, tvb, 0, -1, ENC_NA);
+ ngap_tree = proto_item_add_subtree(ngap_item, ett_ngap);
+
+ /* Store top-level tree */
+ top_tree = ngap_tree;
+
+ /* Add stats tap to private struct */
+ struct ngap_private_data *priv_data = ngap_get_private_data(pinfo);
+ priv_data->stats_tap = ngap_info;
+
+ ngap_data = ngap_get_private_data(pinfo);
+ conversation = find_or_create_conversation(pinfo);
+ ngap_data->ngap_conv = (struct ngap_conv_info *)conversation_get_proto_data(conversation, proto_ngap);
+ if (!ngap_data->ngap_conv) {
+ ngap_data->ngap_conv = wmem_new0(wmem_file_scope(), struct ngap_conv_info);
+ copy_address_wmem(wmem_file_scope(), &ngap_data->ngap_conv->addr_a, &pinfo->src);
+ ngap_data->ngap_conv->port_a = pinfo->srcport;
+ ngap_data->ngap_conv->ranmode_id_a = (GlobalRANNodeID_enum)-1;
+ copy_address_wmem(wmem_file_scope(), &ngap_data->ngap_conv->addr_b, &pinfo->dst);
+ ngap_data->ngap_conv->port_b = pinfo->destport;
+ ngap_data->ngap_conv->ranmode_id_b = (GlobalRANNodeID_enum)-1;
+ ngap_data->ngap_conv->nbiot_ta = wmem_map_new(wmem_file_scope(), wmem_int64_hash, g_int64_equal);
+ ngap_data->ngap_conv->nbiot_ran_ue_ngap_id = wmem_tree_new(wmem_file_scope());
+ conversation_add_proto_data(conversation, proto_ngap, ngap_data->ngap_conv);
+ }
+
+ dissect_NGAP_PDU_PDU(tvb, pinfo, ngap_tree, NULL);
+
+ tap_queue_packet(ngap_tap, pinfo, ngap_info);
+ return tvb_captured_length(tvb);
+}
+
+static gboolean
+find_n2_info_content(char *json_data, jsmntok_t *token, const char *n2_info_content,
+ const char *content_id, dissector_handle_t *subdissector)
+{
+ jsmntok_t *n2_info_content_token, *ngap_data_token;
+ char *str;
+ gdouble ngap_msg_type;
+
+ n2_info_content_token = json_get_object(json_data, token, n2_info_content);
+ if (!n2_info_content_token)
+ return FALSE;
+ ngap_data_token = json_get_object(json_data, n2_info_content_token, "ngapData");
+ if (!ngap_data_token)
+ return FALSE;
+ str = json_get_string(json_data, ngap_data_token, "contentId");
+ if (!str || strcmp(str, content_id))
+ return FALSE;
+ str = json_get_string(json_data, n2_info_content_token, "ngapIeType");
+ if (str)
+ *subdissector = dissector_get_string_handle(ngap_n2_ie_type_dissector_table, str);
+ else if (json_get_double(json_data, n2_info_content_token, "ngapMessageType", &ngap_msg_type))
+ *subdissector = ngap_handle;
+ else
+ *subdissector = NULL;
+ return TRUE;
+}
+
+/* 3GPP TS 29.502 chapter 6.1.6.4.3 and 29.518 chapter 6.1.6.4.3 */
+static int
+dissect_ngap_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ int ret;
+ char *json_data;
+ const char *n2_info_class;
+ jsmntok_t *tokens, *cur_tok;
+ dissector_handle_t subdissector = NULL;
+ tvbuff_t* json_tvb = (tvbuff_t*)p_get_proto_data(pinfo->pool, pinfo, proto_json, 0);
+ media_content_info_t *content_info = (media_content_info_t *)data;
+
+ if (!json_tvb || !content_info || !content_info->content_id)
+ return 0;
+
+ json_data = tvb_get_string_enc(pinfo->pool, json_tvb, 0, tvb_reported_length(json_tvb), ENC_UTF_8|ENC_NA);
+ ret = json_parse(json_data, NULL, 0);
+ if (ret <= 0)
+ return 0;
+ tokens = wmem_alloc_array(pinfo->pool, jsmntok_t, ret);
+ if (json_parse(json_data, tokens, ret) <= 0)
+ return 0;
+ cur_tok = json_get_object(json_data, tokens, "n2InfoContainer");
+ if (!cur_tok) {
+ /* look for n2Information too*/
+ cur_tok = json_get_object(json_data, tokens, "n2Information");
+ }
+ if (cur_tok) {
+ n2_info_class = json_get_string(json_data, cur_tok, "n2InformationClass");
+ if (n2_info_class) {
+ if (!strcmp(n2_info_class, "SM")) {
+ cur_tok = json_get_object(json_data, cur_tok, "smInfo");
+ if (cur_tok && find_n2_info_content(json_data, cur_tok, "n2InfoContent",
+ content_info->content_id, &subdissector))
+ goto found;
+ }
+ if (!strcmp(n2_info_class, "RAN")) {
+ cur_tok = json_get_object(json_data, cur_tok, "ranInfo");
+ if (cur_tok && find_n2_info_content(json_data, cur_tok, "n2InfoContent",
+ content_info->content_id, &subdissector))
+ goto found;
+ }
+ if (!strcmp(n2_info_class, "NRPPa")) {
+ cur_tok = json_get_object(json_data, cur_tok, "nrppaInfo");
+ if (cur_tok && find_n2_info_content(json_data, cur_tok, "nrppaPdu",
+ content_info->content_id, &subdissector))
+ goto found;
+ }
+ if (!strcmp(n2_info_class, "PWS") ||
+ !strcmp(n2_info_class, "PWS-BCAL") ||
+ !strcmp(n2_info_class, "PWS-RF")) {
+ cur_tok = json_get_object(json_data, cur_tok, "pwsInfo");
+ if (cur_tok && find_n2_info_content(json_data, cur_tok, "pwsContainer",
+ content_info->content_id, &subdissector))
+ goto found;
+ }
+ }
+ }
+ cur_tok = json_get_object(json_data, tokens, "n2SmInfo");
+ if (cur_tok) {
+ const char *content_id_str = json_get_string(json_data, cur_tok, "contentId");
+ if (content_id_str && !strcmp(content_id_str, content_info->content_id)) {
+ const char *str = json_get_string(json_data, tokens, "n2SmInfoType");
+ if (str)
+ subdissector = dissector_get_string_handle(ngap_n2_ie_type_dissector_table, str);
+ else
+ subdissector = NULL;
+ goto found;
+ }
+ }
+ cur_tok = json_get_array(json_data, tokens, "pduSessionList");
+ if (cur_tok) {
+ int i, count;
+ count = json_get_array_len(cur_tok);
+ for (i = 0; i < count; i++) {
+ jsmntok_t *array_tok = json_get_array_index(cur_tok, i);
+ if (find_n2_info_content(json_data, array_tok, "n2InfoContent",
+ content_info->content_id, &subdissector))
+ goto found;
+ }
+ }
+ if (find_n2_info_content(json_data, tokens, "sourceToTargetData",
+ content_info->content_id, &subdissector))
+ goto found;
+ if (find_n2_info_content(json_data, tokens, "targetToSourceData",
+ content_info->content_id, &subdissector))
+ goto found;
+ if (find_n2_info_content(json_data, tokens, "targetToSourceFailureData",
+ content_info->content_id, &subdissector))
+ goto found;
+ if (find_n2_info_content(json_data, tokens, "ueRadioCapability",
+ content_info->content_id, &subdissector))
+ goto found;
+
+found:
+ if (subdissector) {
+ proto_item *ngap_item;
+ proto_tree *ngap_tree;
+ gboolean save_writable;
+
+ col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, "/", "NGAP");
+ if (subdissector != ngap_handle) {
+ ngap_item = proto_tree_add_item(tree, proto_ngap, tvb, 0, -1, ENC_NA);
+ ngap_tree = proto_item_add_subtree(ngap_item, ett_ngap);
+ } else {
+ ngap_tree = tree;
+ }
+ save_writable = col_get_writable(pinfo->cinfo, COL_PROTOCOL);
+ col_set_writable(pinfo->cinfo, COL_PROTOCOL, FALSE);
+ call_dissector_with_data(subdissector, tvb, pinfo, ngap_tree, NULL);
+ col_set_writable(pinfo->cinfo, COL_PROTOCOL, save_writable);
+ return tvb_captured_length(tvb);
+ } else {
+ return 0;
+ }
+}
+
+void
+apply_ngap_prefs(void)
+{
+ gbl_ngapSctpRange = prefs_get_range_value("ngap", "sctp.port");
+}
+
+/*--- proto_reg_handoff_ngap ---------------------------------------*/
+void
+proto_reg_handoff_ngap(void)
+{
+ nas_5gs_handle = find_dissector_add_dependency("nas-5gs", proto_ngap);
+ nr_rrc_ue_radio_paging_info_handle = find_dissector_add_dependency("nr-rrc.ue_radio_paging_info", proto_ngap);
+ nr_rrc_ue_radio_access_cap_info_handle = find_dissector_add_dependency("nr-rrc.ue_radio_access_cap_info", proto_ngap);
+ lte_rrc_ue_radio_paging_info_handle = find_dissector_add_dependency("lte-rrc.ue_radio_paging_info", proto_ngap);
+ lte_rrc_ue_radio_access_cap_info_handle = find_dissector_add_dependency("lte-rrc.ue_radio_access_cap_info", proto_ngap);
+ lte_rrc_ue_radio_paging_info_nb_handle = find_dissector_add_dependency("lte-rrc.ue_radio_paging_info.nb", proto_ngap);
+ lte_rrc_ue_radio_access_cap_info_nb_handle = find_dissector_add_dependency("lte-rrc.ue_radio_access_cap_info.nb", proto_ngap);
+ dissector_add_uint("sctp.ppi", NGAP_PROTOCOL_ID, ngap_handle);
+#include "packet-ngap-dis-tab.c"
+
+ dissector_add_string("media_type", "application/vnd.3gpp.ngap", ngap_media_type_handle);
+
+ nrppa_handle = find_dissector_add_dependency("nrppa", proto_ngap);
+ proto_json = proto_get_id_by_filter_name("json");
+
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_NGAP, ngap_handle);
+
+ stats_tree_register("ngap", "ngap", "NGAP", 0,
+ ngap_stats_tree_packet, ngap_stats_tree_init, NULL);
+ apply_ngap_prefs();
+}
+
+/*--- proto_register_ngap -------------------------------------------*/
+void proto_register_ngap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_ngap_transportLayerAddressIPv4,
+ { "TransportLayerAddress (IPv4)", "ngap.TransportLayerAddressIPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_transportLayerAddressIPv6,
+ { "TransportLayerAddress (IPv6)", "ngap.TransportLayerAddressIPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_WarningMessageContents_nb_pages,
+ { "Number of Pages", "ngap.WarningMessageContents.nb_pages",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_SerialNumber_gs,
+ { "Geographical Scope", "ngap.SerialNumber.gs",
+ FT_UINT16, BASE_DEC, VALS(ngap_serialNumber_gs_vals), 0xc000,
+ NULL, HFILL }},
+ { &hf_ngap_SerialNumber_msg_code,
+ { "Message Code", "ngap.SerialNumber.msg_code",
+ FT_UINT16, BASE_DEC, NULL, 0x3ff0,
+ NULL, HFILL }},
+ { &hf_ngap_SerialNumber_upd_nb,
+ { "Update Number", "ngap.SerialNumber.upd_nb",
+ FT_UINT16, BASE_DEC, NULL, 0x000f,
+ NULL, HFILL }},
+ { &hf_ngap_WarningType_value,
+ { "Warning Type Value", "ngap.WarningType.value",
+ FT_UINT16, BASE_DEC, VALS(ngap_warningType_vals), 0xfe00,
+ NULL, HFILL }},
+ { &hf_ngap_WarningType_emergency_user_alert,
+ { "Emergency User Alert", "ngap.WarningType.emergency_user_alert",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
+ NULL, HFILL }},
+ { &hf_ngap_WarningType_popup,
+ { "Popup", "ngap.WarningType.popup",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
+ NULL, HFILL }},
+ { &hf_ngap_WarningMessageContents_decoded_page,
+ { "Decoded Page", "ngap.WarningMessageContents.decoded_page",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_NGRANTraceID_TraceID,
+ { "TraceID", "ngap.NGRANTraceID.TraceID",
+ FT_UINT24, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_NGRANTraceID_TraceRecordingSessionReference,
+ { "TraceRecordingSessionReference", "ngap.NGRANTraceID.TraceRecordingSessionReference",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_InterfacesToTrace_NG_C,
+ { "NG-C", "ngap.InterfacesToTrace.NG_C",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_ngap_InterfacesToTrace_Xn_C,
+ { "Xn-C", "ngap.InterfacesToTrace.Xn_C",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_ngap_InterfacesToTrace_Uu,
+ { "Uu", "ngap.InterfacesToTrace.Uu",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_ngap_InterfacesToTrace_F1_C,
+ { "F1-C", "ngap.InterfacesToTrace.F1_C",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_ngap_InterfacesToTrace_E1,
+ { "E1", "ngap.InterfacesToTrace.E1",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }},
+ { &hf_ngap_InterfacesToTrace_reserved,
+ { "Reserved", "ngap.InterfacesToTrace.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x07,
+ NULL, HFILL }},
+ { &hf_ngap_RATRestrictionInformation_e_UTRA,
+ { "e-UTRA", "ngap.RATRestrictionInformation.e_UTRA",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
+ NULL, HFILL }},
+ { &hf_ngap_RATRestrictionInformation_nR,
+ { "nR", "ngap.RATRestrictionInformation.nR",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
+ NULL, HFILL }},
+ { &hf_ngap_RATRestrictionInformation_nR_unlicensed,
+ { "nR-unlicensed", "ngap.RATRestrictionInformation.nR_unlicensed",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
+ NULL, HFILL }},
+ { &hf_ngap_RATRestrictionInformation_reserved,
+ { "reserved", "ngap.RATRestrictionInformation.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x1f,
+ NULL, HFILL }},
+ { &hf_ngap_primaryRATRestriction_e_UTRA,
+ { "e-UTRA", "ngap.primaryRATRestriction.e_UTRA",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
+ NULL, HFILL }},
+ { &hf_ngap_primaryRATRestriction_nR,
+ { "nR", "ngap.primaryRATRestriction.nR",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
+ NULL, HFILL }},
+ { &hf_ngap_primaryRATRestriction_nR_unlicensed,
+ { "nR-unlicensed", "ngap.primaryRATRestriction.nR_unlicensed",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
+ NULL, HFILL }},
+ { &hf_ngap_primaryRATRestriction_nR_LEO,
+ { "nR-LEO", "ngap.primaryRATRestriction.nR_LEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x10,
+ NULL, HFILL }},
+ { &hf_ngap_primaryRATRestriction_nR_MEO,
+ { "nR-MEO", "ngap.primaryRATRestriction.nR_MEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x08,
+ NULL, HFILL }},
+ { &hf_ngap_primaryRATRestriction_nR_GEO,
+ { "nR-GEO", "ngap.primaryRATRestriction.nR_GEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x04,
+ NULL, HFILL }},
+ { &hf_ngap_primaryRATRestriction_nR_OTHERSAT,
+ { "nR-OTHERSAT", "ngap.primaryRATRestriction.nR_OTHERSAT",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x02,
+ NULL, HFILL }},
+ { &hf_ngap_primaryRATRestriction_reserved,
+ { "reserved", "ngap.primaryRATRestriction.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x01,
+ NULL, HFILL }},
+ { &hf_ngap_secondaryRATRestriction_e_UTRA,
+ { "e-UTRA", "ngap.secondaryRATRestriction.e_UTRA",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
+ NULL, HFILL }},
+ { &hf_ngap_secondaryRATRestriction_nR,
+ { "nR", "ngap.secondaryRATRestriction.nR",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
+ NULL, HFILL }},
+ { &hf_ngap_secondaryRATRestriction_e_UTRA_unlicensed,
+ { "e-UTRA-unlicensed", "ngap.secondaryRATRestriction.e_UTRA_unlicensed",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
+ NULL, HFILL }},
+ { &hf_ngap_secondaryRATRestriction_nR_unlicensed,
+ { "nR-unlicensed", "ngap.secondaryRATRestriction.nR_unlicensed",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x10,
+ NULL, HFILL }},
+ { &hf_ngap_secondaryRATRestriction_reserved,
+ { "reserved", "ngap.secondaryRATRestriction.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x0f,
+ NULL, HFILL }},
+ { &hf_ngap_NrencryptionAlgorithms_nea1,
+ { "128-NEA1", "ngap.NrencryptionAlgorithms.nea1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_ngap_NrencryptionAlgorithms_nea2,
+ { "128-NEA2", "ngap.NrencryptionAlgorithms.nea2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_ngap_NrencryptionAlgorithms_nea3,
+ { "128-NEA3", "ngap.NrencryptionAlgorithms.nea3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_ngap_NrencryptionAlgorithms_reserved,
+ { "Reserved", "ngap.NrencryptionAlgorithms.reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1fff,
+ NULL, HFILL }},
+ { &hf_ngap_NrintegrityProtectionAlgorithms_nia1,
+ { "128-NIA1", "ngap.NrintegrityProtectionAlgorithms.nia1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_ngap_NrintegrityProtectionAlgorithms_nia2,
+ { "128-NIA2", "ngap.NrintegrityProtectionAlgorithms.nia2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_ngap_NrintegrityProtectionAlgorithms_nia3,
+ { "128-NIA3", "ngap.NrintegrityProtectionAlgorithms.nia3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_ngap_NrintegrityProtectionAlgorithms_reserved,
+ { "Reserved", "ngap.NrintegrityProtectionAlgorithms.reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1fff,
+ NULL, HFILL }},
+ { &hf_ngap_EUTRAencryptionAlgorithms_eea1,
+ { "128-EEA1", "ngap.EUTRAencryptionAlgorithms.eea1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_ngap_EUTRAencryptionAlgorithms_eea2,
+ { "128-EEA2", "ngap.EUTRAencryptionAlgorithms.eea2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_ngap_EUTRAencryptionAlgorithms_eea3,
+ { "128-EEA3", "ngap.EUTRAencryptionAlgorithms.eea3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_ngap_EUTRAencryptionAlgorithms_reserved,
+ { "Reserved", "ngap.EUTRAencryptionAlgorithms.reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1fff,
+ NULL, HFILL }},
+ { &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia1,
+ { "128-EIA1", "ngap.EUTRAintegrityProtectionAlgorithms.eia1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia2,
+ { "128-EIA2", "ngap.EUTRAintegrityProtectionAlgorithms.eia2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia3,
+ { "128-EIA3", "ngap.EUTRAintegrityProtectionAlgorithms.eia3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia7,
+ { "EIA7", "ngap.EUTRAintegrityProtectionAlgorithms.eia7",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x0200,
+ NULL, HFILL }},
+ { &hf_ngap_EUTRAintegrityProtectionAlgorithms_reserved,
+ { "Reserved", "ngap.EUTRAintegrityProtectionAlgorithms.reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1dff,
+ NULL, HFILL }},
+ { &hf_ngap_MeasurementsToActivate_M1,
+ { "M1", "ngap.MeasurementsToActivate.M1",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x80,
+ NULL, HFILL }},
+ { &hf_ngap_MeasurementsToActivate_M2,
+ { "M2", "ngap.MeasurementsToActivate.M2",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x40,
+ NULL, HFILL }},
+ { &hf_ngap_MeasurementsToActivate_M4,
+ { "M4", "ngap.MeasurementsToActivate.M4",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x20,
+ NULL, HFILL }},
+ { &hf_ngap_MeasurementsToActivate_M5,
+ { "M5", "ngap.MeasurementsToActivate.M5",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x10,
+ NULL, HFILL }},
+ { &hf_ngap_MeasurementsToActivate_M6,
+ { "M6", "ngap.MeasurementsToActivate.M6",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x08,
+ NULL, HFILL }},
+ { &hf_ngap_MeasurementsToActivate_M7,
+ { "M7", "ngap.MeasurementsToActivate.M7",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x04,
+ NULL, HFILL }},
+ { &hf_ngap_MeasurementsToActivate_M1_from_event,
+ { "M1 from event", "ngap.MeasurementsToActivate.M1_from_event",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x02,
+ NULL, HFILL }},
+ { &hf_ngap_MeasurementsToActivate_reserved,
+ { "Reserved", "ngap.MeasurementsToActivate.reserved",
+ FT_BOOLEAN, 8, NULL, 0x01,
+ NULL, HFILL }},
+ { &hf_ngap_MDT_Location_Information_GNSS,
+ { "GNSS", "ngap.MDT_Location_Information.GNSS",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x80,
+ NULL, HFILL }},
+ { &hf_ngap_MDT_Location_Information_reserved,
+ { "Reserved", "ngap.MDT_Location_Information.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x7f,
+ NULL, HFILL }},
+ { &hf_ngap_GlobalCable_ID_str,
+ { "GlobalCable-ID", "ngap.GlobalCable_ID.str",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_UpdateFeedback_CN_PDB_DL,
+ { "CN PDB DL", "ngap.UpdateFeedback.CN_PDB_DL",
+ FT_BOOLEAN, 8, TFS(&ngap_not_updated_updated), 0x80,
+ NULL, HFILL }},
+ { &hf_ngap_UpdateFeedback_CN_PDB_UL,
+ { "CN PDB UL", "ngap.UpdateFeedback.CN_PDB_UL",
+ FT_BOOLEAN, 8, TFS(&ngap_not_updated_updated), 0x40,
+ NULL, HFILL }},
+ { &hf_ngap_UpdateFeedback_reserved,
+ { "Reserved", "ngap.UpdateFeedback.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x3f,
+ NULL, HFILL }},
+#include "packet-ngap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ngap,
+ &ett_ngap_TransportLayerAddress,
+ &ett_ngap_DataCodingScheme,
+ &ett_ngap_SerialNumber,
+ &ett_ngap_WarningType,
+ &ett_ngap_WarningMessageContents,
+ &ett_ngap_PLMNIdentity,
+ &ett_ngap_NGAP_Message,
+ &ett_ngap_NGRANTraceID,
+ &ett_ngap_InterfacesToTrace,
+ &ett_ngap_SourceToTarget_TransparentContainer,
+ &ett_ngap_TargetToSource_TransparentContainer,
+ &ett_ngap_RRCContainer,
+ &ett_ngap_RATRestrictionInformation,
+ &ett_ngap_primaryRATRestriction,
+ &ett_ngap_secondaryRATRestriction,
+ &ett_ngap_NrencryptionAlgorithms,
+ &ett_ngap_NrintegrityProtectionAlgorithms,
+ &ett_ngap_EUTRAencryptionAlgorithms,
+ &ett_ngap_EUTRAintegrityProtectionAlgorithms,
+ &ett_ngap_UERadioCapabilityForPagingOfNR,
+ &ett_ngap_UERadioCapabilityForPagingOfEUTRA,
+ &ett_ngap_UERadioCapability,
+ &ett_ngap_LastVisitedEUTRANCellInformation,
+ &ett_ngap_LastVisitedUTRANCellInformation,
+ &ett_ngap_LastVisitedGERANCellInformation,
+ &ett_ngap_NASSecurityParametersFromNGRAN,
+ &ett_ngap_NASC,
+ &ett_ngap_NAS_PDU,
+ &ett_ngap_EN_DCSONConfigurationTransfer,
+ &ett_ngap_BurstArrivalTime,
+ &ett_ngap_CoverageEnhancementLevel,
+ &ett_ngap_MDTModeEutra,
+ &ett_ngap_MeasurementsToActivate,
+ &ett_ngap_MDT_Location_Information,
+ &ett_ngap_NRMobilityHistoryReport,
+ &ett_ngap_LTEUERLFReportContainer,
+ &ett_ngap_NRUERLFReportContainer,
+ &ett_ngap_TargettoSource_Failure_TransparentContainer,
+ &ett_ngap_UERadioCapabilityForPagingOfNB_IoT,
+ &ett_ngap_GlobalCable_ID,
+ &ett_ngap_UpdateFeedback,
+ &ett_ngap_successfulHOReportContainer,
+#include "packet-ngap-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_ngap_number_pages_le15, { "ngap.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }}
+ };
+
+ module_t *ngap_module;
+ expert_module_t* expert_ngap;
+
+ /* Register protocol */
+ proto_ngap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ngap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_ngap = expert_register_protocol(proto_ngap);
+ expert_register_field_array(expert_ngap, ei, array_length(ei));
+
+ /* Register dissector */
+ ngap_handle = register_dissector("ngap", dissect_ngap, proto_ngap);
+ ngap_media_type_handle = register_dissector("ngap_media_type", dissect_ngap_media_type, proto_ngap);
+
+ /* Register dissector tables */
+ ngap_ies_dissector_table = register_dissector_table("ngap.ies", "NGAP-PROTOCOL-IES", proto_ngap, FT_UINT32, BASE_DEC);
+ ngap_ies_p1_dissector_table = register_dissector_table("ngap.ies.pair.first", "NGAP-PROTOCOL-IES-PAIR FirstValue", proto_ngap, FT_UINT32, BASE_DEC);
+ ngap_ies_p2_dissector_table = register_dissector_table("ngap.ies.pair.second", "NGAP-PROTOCOL-IES-PAIR SecondValue", proto_ngap, FT_UINT32, BASE_DEC);
+ ngap_extension_dissector_table = register_dissector_table("ngap.extension", "NGAP-PROTOCOL-EXTENSION", proto_ngap, FT_UINT32, BASE_DEC);
+ ngap_proc_imsg_dissector_table = register_dissector_table("ngap.proc.imsg", "NGAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_ngap, FT_UINT32, BASE_DEC);
+ ngap_proc_sout_dissector_table = register_dissector_table("ngap.proc.sout", "NGAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_ngap, FT_UINT32, BASE_DEC);
+ ngap_proc_uout_dissector_table = register_dissector_table("ngap.proc.uout", "NGAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_ngap, FT_UINT32, BASE_DEC);
+ ngap_n2_ie_type_dissector_table = register_dissector_table("ngap.n2_ie_type", "NGAP N2 IE Type", proto_ngap, FT_STRING, STRING_CASE_SENSITIVE);
+
+ /* Register configuration options for ports */
+ ngap_module = prefs_register_protocol(proto_ngap, apply_ngap_prefs);
+
+ prefs_register_bool_preference(ngap_module, "dissect_container",
+ "Dissect TransparentContainer",
+ "Dissect TransparentContainers that are opaque to NGAP",
+ &ngap_dissect_container);
+ prefs_register_enum_preference(ngap_module, "dissect_target_ng_ran_container_as",
+ "Dissect target NG-RAN container as",
+ "Select whether target NG-RAN container should be decoded automatically"
+ " (based on NG Setup procedure) or manually",
+ &ngap_dissect_target_ng_ran_container_as, ngap_target_ng_ran_container_vals, FALSE);
+ prefs_register_enum_preference(ngap_module, "dissect_lte_container_as", "Dissect LTE container as",
+ "Select whether LTE container should be dissected as NB-IOT or legacy LTE",
+ &ngap_dissect_lte_container_as, ngap_lte_container_vals, FALSE);
+
+ ngap_tap = register_tap("ngap");
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/ngap/packet-ngap-template.h b/epan/dissectors/asn1/ngap/packet-ngap-template.h
new file mode 100644
index 00000000..a944f6e4
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/packet-ngap-template.h
@@ -0,0 +1,29 @@
+/* packet-ngap.h
+ * Routines for NG-RAN NG Application Protocol (NGAP) packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_NGAP_H
+#define PACKET_NGAP_H
+
+#include "packet-ngap-exp.h"
+
+#endif /* PACKET_NGAP_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/nist-csor/CMakeLists.txt b/epan/dissectors/asn1/nist-csor/CMakeLists.txt
new file mode 100644
index 00000000..1d00ba64
--- /dev/null
+++ b/epan/dissectors/asn1/nist-csor/CMakeLists.txt
@@ -0,0 +1,42 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME nist-csor )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ aes1.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/nist-csor/aes1.asn b/epan/dissectors/asn1/nist-csor/aes1.asn
new file mode 100644
index 00000000..cc7cdf53
--- /dev/null
+++ b/epan/dissectors/asn1/nist-csor/aes1.asn
@@ -0,0 +1,148 @@
+--
+-- AES OIDs obtained from
+-- https://csrc.nist.gov/projects/computer-security-objects-register/algorithm-registration
+-- on 2018-08-16, and polished for asn2wrs
+--
+-- injected SHA-3 family parameter near the bottom
+
+NIST-AES { joint-iso-ccitt(2) country(16) us(840) organization(1) gov(101) csor(3)
+nistalgorithm(4) modules (0) aes (1) } DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+-- IMPORTS None --
+
+-- EXPORTS All --
+
+
+AESAlgorithmIdentifier ::= AlgorithmIdentifier {{ AES-Algorithms }}
+
+
+-- Algorithm information objects --
+
+AES-Algorithms ALGORITHM ::= {
+ AES-128-Algorithms |
+ AES-192-Algorithms |
+ AES-256-Algorithms,
+ ...
+}
+
+AES-128-Algorithms ALGORITHM ::= {
+ aes-128-ECB |
+ aes-128-CBC |
+ aes-128-OFB |
+ aes-128-CFB
+}
+
+-- aes-128-ECB ALGORITHM ::= { OID id-aes128-ECB }
+-- aes-128-CBC ALGORITHM ::= { OID id-aes128-CBC PARMS AES-IV }
+-- aes-128-OFB ALGORITHM ::= { OID id-aes128-OFB PARMS AES-IV }
+-- aes-128-CFB ALGORITHM ::= { OID id-aes128-CFB PARMS CFBParameters }
+
+AES-192-Algorithms ALGORITHM ::= {
+ aes-192-ECB |
+ aes-192-CBC |
+ aes-192-OFB |
+ aes-192-CFB
+}
+
+-- aes-192-ECB ALGORITHM ::= { OID id-aes192-ECB }
+-- aes-192-CBC ALGORITHM ::= { OID id-aes192-CBC PARMS AES-IV }
+-- aes-192-OFB ALGORITHM ::= { OID id-aes192-OFB PARMS AES-IV }
+-- aes-192-CFB ALGORITHM ::= { OID id-aes192-CFB PARMS CFBParameters }
+
+AES-256-Algorithms ALGORITHM ::= {
+ aes-256-ECB |
+ aes-256-CBC |
+ aes-256-OFB |
+ aes-256-CFB
+}
+
+-- aes-256-ECB ALGORITHM ::= { OID id-aes256-ECB }
+-- aes-256-CBC ALGORITHM ::= { OID id-aes256-CBC PARMS AES-IV }
+-- aes-256-OFB ALGORITHM ::= { OID id-aes256-OFB PARMS AES-IV }
+-- aes-256-CFB ALGORITHM ::= { OID id-aes256-CFB PARMS CFBParameters }
+
+
+-- Parameter definitions --
+
+CFBParameters ::= SEQUENCE {
+ aes-IV AES-IV,
+ numberOfBits NumberOfBits
+}
+
+AES-IV ::= OCTET STRING (SIZE(16))
+
+NumberOfBits ::= INTEGER(1..128)
+
+
+-- AES information object identifiers --
+
+csor OBJECT IDENTIFIER ::= {
+ joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) 3 }
+
+nistAlgorithms OBJECT IDENTIFIER ::= { csor nistAlgorithm(4) }
+
+aes OBJECT IDENTIFIER ::= { nistAlgorithms 1 }
+
+-- 128 bit AES information object identifiers --
+
+id-aes128-ECB OBJECT IDENTIFIER ::= { aes 1 }
+id-aes128-CBC OBJECT IDENTIFIER ::= { aes 2 }
+id-aes128-OFB OBJECT IDENTIFIER ::= { aes 3 }
+id-aes128-CFB OBJECT IDENTIFIER ::= { aes 4 }
+id-aes128-wrap OBJECT IDENTIFIER ::= { aes 5 }
+id-aes128-GCM OBJECT IDENTIFIER ::= { aes 6 }
+id-aes128-CCM OBJECT IDENTIFIER ::= { aes 7 }
+id-aes128-wrap-pad OBJECT IDENTIFIER ::= { aes 8 }
+
+-- 192 bit AES information object identifiers --
+
+id-aes192-ECB OBJECT IDENTIFIER ::= { aes 21 }
+id-aes192-CBC OBJECT IDENTIFIER ::= { aes 22 }
+id-aes192-OFB OBJECT IDENTIFIER ::= { aes 23 }
+id-aes192-CFB OBJECT IDENTIFIER ::= { aes 24 }
+id-aes192-wrap OBJECT IDENTIFIER ::= { aes 25 }
+id-aes192-GCM OBJECT IDENTIFIER ::= { aes 26 }
+id-aes192-CCM OBJECT IDENTIFIER ::= { aes 27 }
+id-aes192-wrap-pad OBJECT IDENTIFIER ::= { aes 28 }
+
+-- 256 bit AES information object identifiers --
+
+id-aes256-ECB OBJECT IDENTIFIER ::= { aes 41 }
+id-aes256-CBC OBJECT IDENTIFIER ::= { aes 42 }
+id-aes256-OFB OBJECT IDENTIFIER ::= { aes 43 }
+id-aes256-CFB OBJECT IDENTIFIER ::= { aes 44 }
+id-aes256-wrap OBJECT IDENTIFIER ::= { aes 45 }
+id-aes256-GCM OBJECT IDENTIFIER ::= { aes 46 }
+id-aes256-CCM OBJECT IDENTIFIER ::= { aes 47 }
+id-aes256-wrap-pad OBJECT IDENTIFIER ::= { aes 48 }
+
+-- Supporting definitions --
+
+-- AlgorithmIdentifier { ALGORITHM:IOSet } ::= SEQUENCE {
+-- algorithm ALGORITHM.&id({IOSet}),
+-- parameters ALGORITHM.&Type({IOSet}{@algorithm}) OPTIONAL
+-- }
+
+-- ALGORITHM ::= CLASS {
+-- &id OBJECT IDENTIFIER UNIQUE,
+-- &Type OPTIONAL
+-- }
+-- WITH SYNTAX { OID &id [PARMS &Type] }
+
+-- SHA-3 family parameter obtained from
+-- https://csrc.nist.gov/projects/computer-security-objects-register/algorithm-registration
+-- on 2018-08-16
+ShakeOutputLen ::= INTEGER -- Output length in bits
+
+END -- NIST-AES --
+
+--
+-- Last update: Wednesday, March 11, 2009
+--
+-- Tim Polk, NIST
+-- syntax not verified!
+--
+
+
+
+
diff --git a/epan/dissectors/asn1/nist-csor/nist-csor.cnf b/epan/dissectors/asn1/nist-csor/nist-csor.cnf
new file mode 100644
index 00000000..5e8ef45c
--- /dev/null
+++ b/epan/dissectors/asn1/nist-csor/nist-csor.cnf
@@ -0,0 +1,48 @@
+# nist-csor.cnf
+# NIST CSOR conformation file
+
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509ce/x509ce-exp.cnf
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509sat/x509sat-exp.cnf
+
+#.OMIT_ASSIGNMENT
+AESAlgorithmIdentifier
+#.END
+
+#.EXPORTS
+CFBParameters
+AES-IV
+NumberOfBits
+ShakeOutputLen
+
+#.REGISTER
+
+# 128-bit AES information OIDs
+AES-IV B "2.16.840.1.101.3.4.1.2" "id-aes128-CBC"
+AES-IV B "2.16.840.1.101.3.4.1.3" "id-aes128-OFB"
+CFBParameters B "2.16.840.1.101.3.4.1.4" "id-aes128-CFB"
+
+# 192-bit AES information OIDs
+AES-IV B "2.16.840.1.101.3.4.1.22" "id-aes192-CBC"
+AES-IV B "2.16.840.1.101.3.4.1.23" "id-aes192-OFB"
+CFBParameters B "2.16.840.1.101.3.4.1.24" "id-aes192-CFB"
+
+# 256-bit AES information OIDs
+AES-IV B "2.16.840.1.101.3.4.1.42" "id-aes256-CBC"
+AES-IV B "2.16.840.1.101.3.4.1.43" "id-aes256-OFB"
+CFBParameters B "2.16.840.1.101.3.4.1.44" "id-aes256-CFB"
+
+# SHA-3 family
+ShakeOutputLen B "2.16.840.1.101.3.4.2.17" "id-shake128-len"
+ShakeOutputLen B "2.16.840.1.101.3.4.2.18" "id-shake256-len"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/nist-csor/packet-nist-csor-template.c b/epan/dissectors/asn1/nist-csor/packet-nist-csor-template.c
new file mode 100644
index 00000000..d084b425
--- /dev/null
+++ b/epan/dissectors/asn1/nist-csor/packet-nist-csor-template.c
@@ -0,0 +1,140 @@
+/* packet-nist-csor.c
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-nist-csor.h"
+#include "packet-ber.h"
+#include "packet-pkix1explicit.h"
+#include "packet-pkix1implicit.h"
+
+#define PNAME "NIST_CSOR"
+#define PSNAME "NIST_CSOR"
+#define PFNAME "nist_csor"
+
+void proto_register_nist_csor(void);
+void proto_reg_handoff_nist_csor(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_nist_csor = -1;
+#include "packet-nist-csor-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-nist-csor-ett.c"
+#include "packet-nist-csor-fn.c"
+
+
+/*--- proto_register_nist-csor ----------------------------------------------*/
+void proto_register_nist_csor(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-nist-csor-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-nist-csor-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_nist_csor = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_nist_csor, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+}
+
+
+/*--- proto_reg_handoff_nist_csor -------------------------------------------*/
+void proto_reg_handoff_nist_csor(void) {
+#include "packet-nist-csor-dis-tab.c"
+ oid_add_from_string("id-data","1.2.840.113549.1.7.1");
+
+/* AES */
+ oid_add_from_string("aes","2.16.840.1.101.3.4.1");
+
+/* 128-bit AES information OIDs */
+ oid_add_from_string("id-aes128-ECB","2.16.840.1.101.3.4.1.1");
+ oid_add_from_string("id-aes128-wrap","2.16.840.1.101.3.4.1.5");
+ oid_add_from_string("id-aes128-GCM","2.16.840.1.101.3.4.1.6");
+ oid_add_from_string("id-aes128-CCM","2.16.840.1.101.3.4.1.7");
+ oid_add_from_string("id-aes128-wrap-pad","2.16.840.1.101.3.4.1.8");
+
+/* 192-bit AES information OIDs */
+ oid_add_from_string("id-aes192-ECB","2.16.840.1.101.3.4.1.21");
+ oid_add_from_string("id-aes192-wrap","2.16.840.1.101.3.4.1.25");
+ oid_add_from_string("id-aes192-GCM","2.16.840.1.101.3.4.1.26");
+ oid_add_from_string("id-aes192-CCM","2.16.840.1.101.3.4.1.27");
+ oid_add_from_string("id-aes192-wrap-pad","2.16.840.1.101.3.4.1.28");
+
+/* 256-bit AES information OIDs */
+ oid_add_from_string("id-aes256-ECB","2.16.840.1.101.3.4.1.41");
+ oid_add_from_string("id-aes256-wrap","2.16.840.1.101.3.4.1.45");
+ oid_add_from_string("id-aes256-GCM","2.16.840.1.101.3.4.1.46");
+ oid_add_from_string("id-aes256-CCM","2.16.840.1.101.3.4.1.47");
+ oid_add_from_string("id-aes256-wrap-pad","2.16.840.1.101.3.4.1.48");
+
+/* Secure Hash Algorithms */
+ oid_add_from_string("hashAlgs","2.16.840.1.101.3.4.2");
+
+/* SHA-2 family */
+ oid_add_from_string("id-sha256","2.16.840.1.101.3.4.2.1");
+ oid_add_from_string("id-sha384","2.16.840.1.101.3.4.2.2");
+ oid_add_from_string("id-sha512","2.16.840.1.101.3.4.2.3");
+ oid_add_from_string("id-sha224","2.16.840.1.101.3.4.2.4");
+ oid_add_from_string("id-sha512-224","2.16.840.1.101.3.4.2.5");
+ oid_add_from_string("id-sha512-256","2.16.840.1.101.3.4.2.6");
+
+/* SHA-3 family */
+ oid_add_from_string("id-sha3-224","2.16.840.1.101.3.4.2.7");
+ oid_add_from_string("id-sha3-256","2.16.840.1.101.3.4.2.8");
+ oid_add_from_string("id-sha3-384","2.16.840.1.101.3.4.2.9");
+ oid_add_from_string("id-sha3-512","2.16.840.1.101.3.4.2.10");
+
+ oid_add_from_string("id-shake128","2.16.840.1.101.3.4.2.11");
+ oid_add_from_string("id-shake256","2.16.840.1.101.3.4.2.12");
+
+/* HMAC with SHA-3 family */
+ oid_add_from_string("id-hmacWithSHA3-224","2.16.840.1.101.3.4.2.13");
+ oid_add_from_string("id-hmacWithSHA3-256","2.16.840.1.101.3.4.2.14");
+ oid_add_from_string("id-hmacWithSHA3-384","2.16.840.1.101.3.4.2.15");
+ oid_add_from_string("id-hmacWithSHA3-512","2.16.840.1.101.3.4.2.16");
+
+/* Digital Signature Algorithms */
+ oid_add_from_string("sigAlgs","2.16.840.1.101.3.4.3");
+
+/* DSA with SHA-2 family */
+ oid_add_from_string("id-dsa-with-sha224","2.16.840.1.101.3.4.3.1");
+ oid_add_from_string("id-dsa-with-sha256","2.16.840.1.101.3.4.3.2");
+ oid_add_from_string("id-dsa-with-sha384","2.16.840.1.101.3.4.3.3");
+ oid_add_from_string("id-dsa-with-sha512","2.16.840.1.101.3.4.3.4");
+
+/* DSA with SHA-3 family */
+ oid_add_from_string("id-dsa-with-sha3-224","2.16.840.1.101.3.4.3.5");
+ oid_add_from_string("id-dsa-with-sha3-256","2.16.840.1.101.3.4.3.6");
+ oid_add_from_string("id-dsa-with-sha3-384","2.16.840.1.101.3.4.3.7");
+ oid_add_from_string("id-dsa-with-sha3-512","2.16.840.1.101.3.4.3.8");
+
+/* ECDSA with SHA-3 family */
+ oid_add_from_string("id-ecdsa-with-sha3-224","2.16.840.1.101.3.4.3.9");
+ oid_add_from_string("id-ecdsa-with-sha3-256","2.16.840.1.101.3.4.3.10");
+ oid_add_from_string("id-ecdsa-with-sha3-384","2.16.840.1.101.3.4.3.11");
+ oid_add_from_string("id-ecdsa-with-sha3-512","2.16.840.1.101.3.4.3.12");
+
+/* RSA PKCS#1 v1.5 Signature with SHA-3 family */
+ oid_add_from_string("id-rsassa-pkcs1-v1_5-with-sha3-224","2.16.840.1.101.3.4.3.13");
+ oid_add_from_string("id-rsassa-pkcs1-v1_5-with-sha3-256","2.16.840.1.101.3.4.3.14");
+ oid_add_from_string("id-rsassa-pkcs1-v1_5-with-sha3-384","2.16.840.1.101.3.4.3.15");
+ oid_add_from_string("id-rsassa-pkcs1-v1_5-with-sha3-512","2.16.840.1.101.3.4.3.16");
+}
diff --git a/epan/dissectors/asn1/nist-csor/packet-nist-csor-template.h b/epan/dissectors/asn1/nist-csor/packet-nist-csor-template.h
new file mode 100644
index 00000000..33e0586f
--- /dev/null
+++ b/epan/dissectors/asn1/nist-csor/packet-nist-csor-template.h
@@ -0,0 +1,16 @@
+/* packet-nist-csor.h
+ * Routines for NIST CSOR
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_NIST_CSOR_H
+#define PACKET_NIST_CSOR_H
+
+#include "packet-nist-csor-exp.h"
+
+#endif /* PACKET_NIST_CSOR_H */
diff --git a/epan/dissectors/asn1/novell_pkis/CMakeLists.txt b/epan/dissectors/asn1/novell_pkis/CMakeLists.txt
new file mode 100644
index 00000000..04d4a784
--- /dev/null
+++ b/epan/dissectors/asn1/novell_pkis/CMakeLists.txt
@@ -0,0 +1,33 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME novell_pkis )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${EXT_ASN_FILE_LIST}
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -u )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/novell_pkis/novell_pkis.asn b/epan/dissectors/asn1/novell_pkis/novell_pkis.asn
new file mode 100644
index 00000000..fff6c8a9
--- /dev/null
+++ b/epan/dissectors/asn1/novell_pkis/novell_pkis.asn
@@ -0,0 +1,283 @@
+-- from pkisv10.pdf
+-- you can find this document at https://web.archive.org/web/19990224174228/http://www.developer.novell.com/repository/attributes/certattrs_v10.htm
+
+PKIS { joint-iso-ccitt(2) country(16) us(840) organization(1) novell (113719) } DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- ASN.1 Definition of Useful Attributes
+
+-- The following are useful Novell OIDs, etc.
+novell OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) country(16) us(840) organization(1) novell (113719)}
+applications OBJECT IDENTIFIER ::= {novell applications(1) }
+pki OBJECT IDENTIFIER ::= {applications pki(9) }
+pkiAttributeType OBJECT IDENTIFIER ::= {pki at(4) }
+pkiAttributeSyntax OBJECT IDENTIFIER ::= {pki at(5) }
+pkiObjectClass OBJECT IDENTIFIER ::= {pki at(6) }
+
+-- The following unique PKI attributes are hereby defined under the novell applications pki arc:
+pa-sa OBJECT IDENTIFIER ::= { pkiAttributeType (1) }
+ -- securityAttributes
+ -- 2.16.840.113719.1.9.4.1
+
+pa-rl OBJECT IDENTIFIER ::= { pkiAttributeType (2) }
+ -- relianceLimit
+ -- 2.16.840.113719.1.9.4.2
+
+SecurityAttributes ::= SEQUENCE {
+ versionNumber OCTET STRING (SIZE (2)),
+ -- The initial value should be (01 00)
+ -- The first octet is the major version,
+ -- the second octet is the minor version number.
+ nSI BOOLEAN (TRUE),
+ -- NSI = “Nonverified Subscriber Informationâ€
+ -- If FALSE, it means that the CA issuing
+ -- a certificate HAS verified the validity
+ -- of ALL of the values contained
+ -- within the Novell Security Attributes
+ -- using appropriate means as defined
+ -- for example in their Certificate Policy
+ -- and/or Certificate Practice Statement
+ -- If TRUE, it means that the subscriber
+ -- requesting the certificate has represented
+ -- to the CA that the extension defined
+ -- is valid and correct, but that the CA
+ -- has not independently validated the accuracy
+ -- of the attribute. Note that in no case may
+ -- the CA issue a certificate containing an
+ -- extension which it has reason to
+ -- believe is not accurate at the time of
+ -- issuance, except for test certificates
+ -- which are identified as such in the
+ -- Certificate class attribute (by setting
+ -- the certificateValid flag to FALSE.)
+ securityTM PrintableString ("Novell Security Attribute(tm)"),
+ -- Note: Since the “Novell Security
+ -- Attribute(tm)†string is trademarked, if
+ -- it is displayed visually to the user it
+ -- must be presented exactly as shown,
+ -- in English, even in non-English
+ -- implementations. A translation of the
+ -- phrase may be displayed to the user
+ -- in addition, if desired.
+ -- Vendors who license the use of the term
+ -- must agree to check for the presence of
+ -- this string in any attribute defined (by its
+ -- OID) as a Novell Security attribute
+ uriReference IA5String,
+ -- The initial value should be set to (“http://developer.novell.com/repository/attributes/certattrs_v10.htmâ€),
+ -- This attribute will be included in all
+ -- NICI and PKIS certificates.
+ -- Novell will maintain a copy of this
+ -- document or other suitable definition
+ -- at that location.
+ gLBExtensions GLBExtensions
+}
+
+GLBExtensions::=SEQUENCE{
+ -- These are the extensions over which the
+ -- Greatest Lower Bound is computed within NICI.
+ keyQuality [0] IMPLICIT KeyQuality,
+ cryptoProcessQuality [1] IMPLICIT CryptoProcessQuality,
+ certificateClass [2] IMPLICIT CertificateClass,
+ enterpriseId [3] IMPLICIT EnterpriseId
+}
+
+-- ASN.1 Definitions of Key Quality and Crypto Process Quality Attributes:
+KeyQuality ::= Quality
+CryptoProcessQuality ::= Quality
+
+Quality ::= SEQUENCE {
+ enforceQuality BOOLEAN,
+ -- If TRUE, the explicit attributes compusecQuality,
+ -- cryptoQuality, and keyStorageQuality, plus the
+ -- implicit attributes algorithmType and keyLength
+ -- are either enforced at all times, or a dynamic low
+ -- water mark (Greatest Lower Bound)may be maintained.
+ -- I.e., if enforceQuality is TRUE for the
+ -- keyQuality attribute, the key must never be
+ -- allowed to be transported to and/or used on any
+ -- platform that does not meet the minimum
+ -- criteria, and hence enforceQuality must be TRUE for
+ -- the cryptoProcessQuality as well
+ -- If enforceQuality is FALSE for keyQuality, but
+ -- TRUE for cryptoProcessQuality, then the
+ -- operating system has not enforced the criteria
+ -- in any technical sense, but the subscriber
+ -- is nonetheless representing that the minimum
+ -- criteria will be maintained,
+ -- e.g., by manual or procedural controls.
+ -- For PKIS and NICI versions 1.0, enforceQuality
+ -- must be set to FALSE in the keyQuality attribute.
+ compusecQuality CompusecQuality,
+ cryptoQuality CryptoQuality,
+ keyStorageQuality INTEGER (0..255) -- See definitions in Appendix C
+}
+
+CompusecQuality ::= SEQUENCE SIZE (1..1)
+ OF CompusecQualityPair
+ -- Multiple pairs of {Criteria, Rating} are allowed
+ -- In the first release, only one pair(TCSEC criteria)is provided
+
+CompusecQualityPair ::= SEQUENCE {
+ compusecCriteria INTEGER(0..255),
+ -- The default should be 1, but DEFAULT implies OPTIONAL, which
+ -- is not the intent. So the value has to be coded explicitly.
+ -- 0= Reserved (encoding error)
+ -- 1= Trusted Computer Security Evaluation Criteria (TCSEC)
+ -- 2= International Trusted Security Evaluation Criteria (ITSEC)
+ -- 3= Common Criteria
+ -- all others reserved
+ compusecRating INTEGER (0..255)
+ -- the compusecRating is in accordance with the specified
+ -- compusecCriteria for each pair in the sequence
+ -- Defined values for ratings for components and systems formally
+ -- evaluated in accordance with the Trusted Computer Security
+ -- Evaluation Criteria and the Trusted Network Interpretation
+ -- (Red Book) are provided in Appendix A.
+}
+
+CryptoQuality ::= SEQUENCE SIZE (1..1)
+ OF CryptoQualityPair
+ -- Multiple pairs of {Criteria, Rating} are allowed.
+ -- In the initial release, only one pair is provided.
+
+CryptoQualityPair ::= SEQUENCE {
+ cryptoModuleCriteria INTEGER(0..255),
+ -- The default should be 1, but DEFAULT implies OPTIONAL, which
+ -- is not the intent. So the value has to be coded explicitly.
+ -- 1 = FIPS 140-1
+ -- all others reserved
+ cryptoModuleRating INTEGER (0..255)
+ -- the cryptoModuleRating value is in accordance with
+ -- the specified cryptoModuleCriteria for each pair
+ -- FIPS 140-1 ratings definitions:
+ -- 0 = Reserved (encoding error)
+ -- 1 = unevaluated/unknown,
+ -- all others—see Appendix B
+}
+
+-- ASN.1 Definition of Certificate Class Attribute:
+
+CertificateClass ::= SEQUENCE {
+ classValue INTEGER (0..255),
+ -- Defined class values are contained in Appendix C
+ certificateValid BOOLEAN
+ -- The default should be true, but DEFAULT is OPTIONAL
+ -- which would make the GLB computation awkward.
+ -- See Section 5 and the footnote for a discussion.
+}
+
+-- ASN.1 Definition of Enterprise Identifier Attribute:
+
+EnterpriseId ::= SEQUENCE {
+ rootLabel [0] IMPLICIT SecurityLabelType1,
+ registryLabel [1] IMPLICIT SecurityLabelType1,
+ enterpriseLabel [2] IMPLICIT SEQUENCE SIZE (1..1) OF SecurityLabelType1
+}
+
+SecurityLabelType1 ::= SEQUENCE {
+ labelType1 INTEGER (0..255),
+ -- The default should be 2, but DEFAULT implies OPTIONAL, which
+ -- is not the intent. So the value has to be coded explicitly.
+ -- Note that the label type for Version 1
+ -- of Graded Authentication is 0 or 1.
+ -- Byte sizes and reserved fields are omitted,
+ -- because they are derivable from the ASN.1.
+ secrecyLevel1 INTEGER (0..255),
+ -- The default should be 0, but DEFAULT implies OPTIONAL, which
+ -- is not the intent. So the value has to be coded explicitly.
+ -- 0 = low secrecy, 255 = high secrecy
+ -- It seems highly unlikely anyone would ever
+ -- need more than 255 secrecy levels
+ integrityLevel1 INTEGER (0..255),
+ -- The default should be 0, but DEFAULT implies OPTIONAL, which
+ -- is not the intent. So the value has to be coded explicitly.
+ -- NOTE! 255 = low integrity, 0 = high integrity!
+ -- It seems highly unlikely anyone would ever
+ -- need more than 255 integrity levels
+ secrecyCategories1 BIT STRING (SIZE(96)),
+ -- The default should be FALSE, but DEFAULT implies OPTIONAL,
+ -- which is not the intent. So the value has to be coded
+ -- explicitly.
+ -- 96 secrecy categories, 0 origin indexing
+ integrityCategories1 BIT STRING (SIZE(64)),
+ -- The default should be FALSE, but DEFAULT implies OPTIONAL,
+ -- which is not the intent. So the value has to be coded
+ -- explicitly.
+ -- 64 integrity categories, 0 origin indexing
+ secrecySingletons1 Singletons,
+ integritySingletons1 Singletons
+}
+
+-- (removed the unused definition of SecurityLabelType2)
+
+Singletons ::= SEQUENCE SIZE (1..16) OF SingletonChoice
+ -- Presently up to 16 singletons or singleton ranges
+ -- can be defined within one security label. This
+ -- is completely arbitrary and can be easily changed,
+ -- but it seems reasonable. Note that no more space
+ -- is taken in the ASN.1 DER encoding than is actually
+ -- required.
+
+SingletonChoice ::= CHOICE {
+ uniqueSingleton INTEGER (0..9223372036854775807),
+ -- The implied value of the singleton being
+ -- specified in this case is TRUE.
+ -- Note that there isn’t any way to set a
+ -- singleton value to FALSE, except by using the
+ -- SingletonRange functions with identical lower
+ -- and upper bounds.
+ singletonRange SingletonRange
+}
+
+SingletonRange ::= SEQUENCE {
+ singletonLowerBound INTEGER (0..9223372036854775807),
+ -- The default should be 0, but DEFAULT implies OPTIONAL,
+ -- which is not the intent. So the value has to be coded
+ -- explicitly.
+ -- Lower bound of a range of singletons
+ -- to be set to the singletonValue specified
+
+ singletonUpperBound INTEGER (0..9223372036854775807),
+ -- The default should be 9223372036854775807,
+ -- but DEFAULT implies OPTIONAL,
+ -- which is not the intent. So the value has to be coded
+ -- explicitly.
+ -- Upper bound of a range of singletons
+ -- to be set to the singletonValue specified
+ singletonValue BOOLEAN
+ -- An entire range of singletons can be set to
+ -- either TRUE or FALSE.
+ -- Note that singletonRanges are allowed to overlap,
+ -- and in particular that a uniqueSingleton can
+ -- reset a singleton value already set by a
+ -- singletonRange, and vice versa.
+ -- The uniqueSingleton and singletonRanges are applied
+ -- consecutively, from the lower bound of SEQUENCE (1)
+ -- to the upper bound.
+}
+
+-- ASN.1 Definition of Reliance Limit Attribute:
+
+-- relianceLimits EXTENSION ::= { SYNTAX RelianceLimits IDENTIFIED BY {pa-rl) }
+-- 2.16.840.113719.1.9.4.2
+
+RelianceLimits ::= SEQUENCE {
+ perTransactionLimit MonetaryValue,
+ perCertificateLimit MonetaryValue
+}
+
+MonetaryValue ::= SEQUENCE { -- from SET and draft ANSI X9.45
+ currency Currency,
+ amount INTEGER, -- value is amount * (10 ** amtExp10), an exact representation
+ amtExp10 INTEGER
+}
+
+Currency ::= INTEGER (1..999)
+-- currency denomination from ISO 4217
+-- cf. Appendix E for the numeric currency codes and their
+-- alphabetic (display) equivalents.
+-- US Dollar (USD) is 840.
+-- Euro (EUR) is 978.
+
+END
diff --git a/epan/dissectors/asn1/novell_pkis/novell_pkis.cnf b/epan/dissectors/asn1/novell_pkis/novell_pkis.cnf
new file mode 100644
index 00000000..b1f9231f
--- /dev/null
+++ b/epan/dissectors/asn1/novell_pkis/novell_pkis.cnf
@@ -0,0 +1,21 @@
+# novell_pkis.cnf
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.REGISTER
+SecurityAttributes B "2.16.840.1.113719.1.9.4.1" "pa-sa"
+RelianceLimits B "2.16.840.1.113719.1.9.4.2" "pa-rl"
+
+#.PDU
+
+# PKIS-MESSAGE
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
diff --git a/epan/dissectors/asn1/novell_pkis/packet-novell_pkis-template.c b/epan/dissectors/asn1/novell_pkis/packet-novell_pkis-template.c
new file mode 100644
index 00000000..5e0b9934
--- /dev/null
+++ b/epan/dissectors/asn1/novell_pkis/packet-novell_pkis-template.c
@@ -0,0 +1,51 @@
+/* packet-novell_pkis.c
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/conversation.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-ber.h"
+
+#include "packet-novell_pkis-hf.c"
+#include "packet-novell_pkis-ett.c"
+#include "packet-novell_pkis-fn.c"
+
+void proto_register_novell_pkis (void);
+void proto_reg_handoff_novell_pkis(void);
+
+static int proto_novell_pkis = -1;
+
+void proto_reg_handoff_novell_pkis(void)
+{
+#include "packet-novell_pkis-dis-tab.c"
+}
+
+void proto_register_novell_pkis (void)
+{
+ static hf_register_info hf[] = {
+#include "packet-novell_pkis-hfarr.c"
+ };
+ static gint *ett[] = {
+#include "packet-novell_pkis-ettarr.c"
+ };
+
+ /* execute protocol initialization only once */
+ if (proto_novell_pkis != -1) return;
+
+ proto_novell_pkis = proto_register_protocol("Novell PKIS ASN.1 type", "novell_pkis", "novell_pkis");
+ proto_register_field_array (proto_novell_pkis, hf, array_length (hf));
+ proto_register_subtree_array (ett, array_length (ett));
+}
diff --git a/epan/dissectors/asn1/nr-rrc/CMakeLists.txt b/epan/dissectors/asn1/nr-rrc/CMakeLists.txt
new file mode 100644
index 00000000..6295b931
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/CMakeLists.txt
@@ -0,0 +1,41 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME nr-rrc )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ NR-InterNodeDefinitions.asn
+ NR-RRC-Definitions.asn
+ PC5-RRC-Definitions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -L )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
new file mode 100644
index 00000000..6d6cfeec
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
@@ -0,0 +1,843 @@
+-- 3GPP TS 38.331 V17.5.0 (2023-06)
+
+NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ARFCN-ValueNR,
+ ARFCN-ValueEUTRA,
+ CellIdentity,
+ CGI-InfoEUTRA,
+ CGI-InfoNR,
+ CondReconfigExecCondSCG-r17,
+ CSI-RS-Index,
+ CSI-RS-CellMobility,
+ DRX-Config,
+ EUTRA-PhysCellId,
+ FeatureSetDownlinkPerCC-Id,
+ FeatureSetUplinkPerCC-Id,
+ FreqBandIndicatorNR,
+ GapConfig,
+ maxBandComb,
+ maxBands,
+ maxBandsEUTRA,
+ maxCellSFTD,
+ maxFeatureSetsPerBand,
+ maxFreq,
+ maxFreqIDC-MRDC,
+ maxNrofCombIDC,
+ maxNrofCondCells-r16,
+ maxNrofCondCells-1-r17,
+ maxNrofPhysicalResourceBlocks,
+ maxNrofSCells,
+ maxNrofServingCells,
+ maxNrofServingCells-1,
+ maxNrofServingCellsEUTRA,
+ maxNrofIndexesToReport,
+ maxSimultaneousBands,
+ MBSInterestIndication-r17,
+ MeasQuantityResults,
+ MeasResultCellListSFTD-EUTRA,
+ MeasResultCellListSFTD-NR,
+ MeasResultList2NR,
+ MeasResultSCG-Failure,
+ MeasResultServFreqListEUTRA-SCG,
+ NeedForGapsInfoNR-r16,
+ NeedForGapNCSG-InfoNR-r17,
+ NeedForGapNCSG-InfoEUTRA-r17,
+ OverheatingAssistance,
+ OverheatingAssistance-r17,
+ P-Max,
+ PhysCellId,
+ RadioBearerConfig,
+ RAN-NotificationAreaInfo,
+ RRCReconfiguration,
+ ServCellIndex,
+ SetupRelease,
+ SSB-Index,
+ SSB-MTC,
+ SSB-ToMeasure,
+ SS-RSSI-Measurement,
+ ShortMAC-I,
+ SubcarrierSpacing,
+ UEAssistanceInformation,
+ UE-CapabilityRAT-ContainerList,
+ maxNrofCLI-RSSI-Resources-r16,
+ maxNrofCLI-SRS-Resources-r16,
+ RSSI-ResourceId-r16,
+ SDT-Config-r17,
+ SidelinkUEInformationNR-r16,
+ SRS-ResourceId,
+ UE-RadioPagingInfo-r17
+FROM NR-RRC-Definitions;
+
+-- TAG-NR-INTER-NODE-DEFINITIONS-STOP
+-- TAG-CG-CANDIDATELIST-START
+
+CG-CandidateList ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ cg-CandidateList-r17 CG-CandidateList-r17-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CG-CandidateList-r17-IEs ::= SEQUENCE {
+ cg-CandidateToAddModList-r17 SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF CG-CandidateInfo-r17 OPTIONAL,
+ cg-CandidateToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF CG-CandidateInfoId-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+CG-CandidateInfo-r17 ::= SEQUENCE {
+ cg-CandidateInfoId-r17 CG-CandidateInfoId-r17,
+ candidateCG-Config-r17 OCTET STRING (CONTAINING CG-Config)
+}
+
+CG-CandidateInfoId-r17::= SEQUENCE {
+ ssbFrequency-r17 ARFCN-ValueNR,
+ physCellId-r17 PhysCellId
+}
+
+-- TAG-CG-CANDIDATELIST-STOP
+-- TAG-HANDOVER-COMMAND-START
+
+HandoverCommand ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ handoverCommand HandoverCommand-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+HandoverCommand-IEs ::= SEQUENCE {
+ handoverCommandMessage OCTET STRING (CONTAINING RRCReconfiguration),
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-HANDOVER-COMMAND-STOP
+-- TAG-HANDOVER-PREPARATION-INFORMATION-START
+
+HandoverPreparationInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ handoverPreparationInformation HandoverPreparationInformation-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+HandoverPreparationInformation-IEs ::= SEQUENCE {
+ ue-CapabilityRAT-List UE-CapabilityRAT-ContainerList,
+ sourceConfig AS-Config OPTIONAL, -- Cond HO
+ rrm-Config RRM-Config OPTIONAL,
+ as-Context AS-Context OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+AS-Config ::= SEQUENCE {
+ rrcReconfiguration OCTET STRING (CONTAINING RRCReconfiguration),
+ ...,
+ [[
+ sourceRB-SN-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ sourceSCG-NR-Config OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
+ sourceSCG-EUTRA-Config OCTET STRING OPTIONAL
+ ]],
+ [[
+ sourceSCG-Configured ENUMERATED {true} OPTIONAL
+ ]],
+ [[
+ sdt-Config-r17 SDT-Config-r17 OPTIONAL
+ ]]
+}
+
+AS-Context ::= SEQUENCE {
+ reestablishmentInfo ReestablishmentInfo OPTIONAL,
+ configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
+ ...,
+ [[ ran-NotificationAreaInfo RAN-NotificationAreaInfo OPTIONAL
+ ]],
+ [[ ueAssistanceInformation OCTET STRING (CONTAINING UEAssistanceInformation) OPTIONAL -- Cond HO2
+ ]],
+ [[
+ selectedBandCombinationSN BandCombinationInfoSN OPTIONAL
+ ]],
+ [[
+ configRestrictInfoDAPS-r16 ConfigRestrictInfoDAPS-r16 OPTIONAL,
+ sidelinkUEInformationNR-r16 OCTET STRING OPTIONAL,
+ sidelinkUEInformationEUTRA-r16 OCTET STRING OPTIONAL,
+ ueAssistanceInformationEUTRA-r16 OCTET STRING OPTIONAL,
+ ueAssistanceInformationSCG-r16 OCTET STRING (CONTAINING UEAssistanceInformation) OPTIONAL, -- Cond HO2
+ needForGapsInfoNR-r16 NeedForGapsInfoNR-r16 OPTIONAL
+ ]],
+ [[
+ configRestrictInfoDAPS-v1640 ConfigRestrictInfoDAPS-v1640 OPTIONAL
+ ]],
+ [[
+ needForGapNCSG-InfoNR-r17 NeedForGapNCSG-InfoNR-r17 OPTIONAL,
+ needForGapNCSG-InfoEUTRA-r17 NeedForGapNCSG-InfoEUTRA-r17 OPTIONAL,
+ mbsInterestIndication-r17 OCTET STRING (CONTAINING MBSInterestIndication-r17) OPTIONAL
+ ]]
+}
+
+ConfigRestrictInfoDAPS-r16 ::= SEQUENCE {
+ powerCoordination-r16 SEQUENCE {
+ p-DAPS-Source-r16 P-Max,
+ p-DAPS-Target-r16 P-Max,
+ uplinkPowerSharingDAPS-Mode-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic }
+ } OPTIONAL
+}
+
+ConfigRestrictInfoDAPS-v1640 ::= SEQUENCE {
+ sourceFeatureSetPerDownlinkCC-r16 FeatureSetDownlinkPerCC-Id,
+ sourceFeatureSetPerUplinkCC-r16 FeatureSetUplinkPerCC-Id
+}
+
+ReestablishmentInfo ::= SEQUENCE {
+ sourcePhysCellId PhysCellId,
+ targetCellShortMAC-I ShortMAC-I,
+ additionalReestabInfoList ReestabNCellInfoList OPTIONAL
+}
+
+ReestabNCellInfoList ::= SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo
+
+ReestabNCellInfo::= SEQUENCE{
+ cellIdentity CellIdentity,
+ key-gNodeB-Star BIT STRING (SIZE (256)),
+ shortMAC-I ShortMAC-I
+}
+
+RRM-Config ::= SEQUENCE {
+ ue-InactiveTime ENUMERATED {
+ s1, s2, s3, s5, s7, s10, s15, s20,
+ s25, s30, s40, s50, min1, min1s20, min1s40,
+ min2, min2s30, min3, min3s30, min4, min5, min6,
+ min7, min8, min9, min10, min12, min14, min17, min20,
+ min24, min28, min33, min38, min44, min50, hr1,
+ hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
+ hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
+ day2hr12, day3, day4, day5, day7, day10, day14, day19,
+ day24, day30, dayMoreThan30} OPTIONAL,
+ candidateCellInfoList MeasResultList2NR OPTIONAL,
+ ...,
+ [[
+ candidateCellInfoListSN-EUTRA MeasResultServFreqListEUTRA-SCG OPTIONAL
+ ]]
+}
+
+-- TAG-HANDOVER-PREPARATION-INFORMATION-STOP
+-- TAG-CG-CONFIG-START
+
+CG-Config ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ cg-Config CG-Config-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CG-Config-IEs ::= SEQUENCE {
+ scg-CellGroupConfig OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
+ scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ configRestrictModReq ConfigRestrictModReqSCG OPTIONAL,
+ drx-InfoSCG DRX-Info OPTIONAL,
+ candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL,
+ measConfigSN MeasConfigSN OPTIONAL,
+ selectedBandCombination BandCombinationInfoSN OPTIONAL,
+ fr-InfoListSCG FR-InfoList OPTIONAL,
+ candidateServingFreqListNR CandidateServingFreqListNR OPTIONAL,
+ nonCriticalExtension CG-Config-v1540-IEs OPTIONAL
+}
+
+CG-Config-v1540-IEs ::= SEQUENCE {
+ pSCellFrequency ARFCN-ValueNR OPTIONAL,
+ reportCGI-RequestNR SEQUENCE {
+ requestedCellInfo SEQUENCE {
+ ssbFrequency ARFCN-ValueNR,
+ cellForWhichToReportCGI PhysCellId
+ } OPTIONAL
+ } OPTIONAL,
+ ph-InfoSCG PH-TypeListSCG OPTIONAL,
+ nonCriticalExtension CG-Config-v1560-IEs OPTIONAL
+}
+
+CG-Config-v1560-IEs ::= SEQUENCE {
+ pSCellFrequencyEUTRA ARFCN-ValueEUTRA OPTIONAL,
+ scg-CellGroupConfigEUTRA OCTET STRING OPTIONAL,
+ candidateCellInfoListSN-EUTRA OCTET STRING OPTIONAL,
+ candidateServingFreqListEUTRA CandidateServingFreqListEUTRA OPTIONAL,
+ needForGaps ENUMERATED {true} OPTIONAL,
+ drx-ConfigSCG DRX-Config OPTIONAL,
+ reportCGI-RequestEUTRA SEQUENCE {
+ requestedCellInfoEUTRA SEQUENCE {
+ eutraFrequency ARFCN-ValueEUTRA,
+ cellForWhichToReportCGI-EUTRA EUTRA-PhysCellId
+ } OPTIONAL
+ } OPTIONAL,
+ nonCriticalExtension CG-Config-v1590-IEs OPTIONAL
+}
+
+CG-Config-v1590-IEs ::= SEQUENCE {
+ scellFrequenciesSN-NR SEQUENCE (SIZE (1.. maxNrofServingCells-1)) OF ARFCN-ValueNR OPTIONAL,
+ scellFrequenciesSN-EUTRA SEQUENCE (SIZE (1.. maxNrofServingCells-1)) OF ARFCN-ValueEUTRA OPTIONAL,
+ nonCriticalExtension CG-Config-v1610-IEs OPTIONAL
+}
+
+CG-Config-v1610-IEs ::= SEQUENCE {
+ drx-InfoSCG2 DRX-Info2 OPTIONAL,
+ nonCriticalExtension CG-Config-v1620-IEs OPTIONAL
+}
+
+CG-Config-v1620-IEs ::= SEQUENCE {
+ ueAssistanceInformationSCG-r16 OCTET STRING (CONTAINING UEAssistanceInformation) OPTIONAL,
+ nonCriticalExtension CG-Config-v1630-IEs OPTIONAL
+}
+
+CG-Config-v1630-IEs ::= SEQUENCE {
+ selectedToffset-r16 T-Offset-r16 OPTIONAL,
+ nonCriticalExtension CG-Config-v1640-IEs OPTIONAL
+}
+
+CG-Config-v1640-IEs ::= SEQUENCE {
+ servCellInfoListSCG-NR-r16 ServCellInfoListSCG-NR-r16 OPTIONAL,
+ servCellInfoListSCG-EUTRA-r16 ServCellInfoListSCG-EUTRA-r16 OPTIONAL,
+ nonCriticalExtension CG-Config-v1700-IEs OPTIONAL
+}
+
+CG-Config-v1700-IEs ::= SEQUENCE {
+ candidateCellInfoListCPC-r17 CandidateCellInfoListCPC-r17 OPTIONAL,
+ twoPHRModeSCG-r17 ENUMERATED {enabled} OPTIONAL,
+ nonCriticalExtension CG-Config-v1730-IEs OPTIONAL
+}
+
+CG-Config-v1730-IEs ::= SEQUENCE {
+ fr1-Carriers-SCG-r17 INTEGER (1..32) OPTIONAL,
+ fr2-Carriers-SCG-r17 INTEGER (1..32) OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+ServCellInfoListSCG-NR-r16 ::= SEQUENCE (SIZE (1.. maxNrofServingCells)) OF ServCellInfoXCG-NR-r16
+
+ServCellInfoXCG-NR-r16 ::= SEQUENCE {
+ dl-FreqInfo-NR-r16 FrequencyConfig-NR-r16 OPTIONAL,
+ ul-FreqInfo-NR-r16 FrequencyConfig-NR-r16 OPTIONAL, -- Cond FDD
+ ...
+}
+
+FrequencyConfig-NR-r16 ::= SEQUENCE {
+ freqBandIndicatorNR-r16 FreqBandIndicatorNR,
+ carrierCenterFreq-NR-r16 ARFCN-ValueNR,
+ carrierBandwidth-NR-r16 INTEGER (1..maxNrofPhysicalResourceBlocks),
+ subcarrierSpacing-NR-r16 SubcarrierSpacing
+}
+
+ServCellInfoListSCG-EUTRA-r16 ::= SEQUENCE (SIZE (1.. maxNrofServingCellsEUTRA)) OF ServCellInfoXCG-EUTRA-r16
+
+ServCellInfoXCG-EUTRA-r16 ::= SEQUENCE {
+ dl-CarrierFreq-EUTRA-r16 ARFCN-ValueEUTRA OPTIONAL,
+ ul-CarrierFreq-EUTRA-r16 ARFCN-ValueEUTRA OPTIONAL, -- Cond FDD
+ transmissionBandwidth-EUTRA-r16 TransmissionBandwidth-EUTRA-r16 OPTIONAL,
+ ...
+}
+
+TransmissionBandwidth-EUTRA-r16 ::= ENUMERATED {rb6, rb15, rb25, rb50, rb75, rb100}
+
+PH-TypeListSCG ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF PH-InfoSCG
+
+PH-InfoSCG ::= SEQUENCE {
+ servCellIndex ServCellIndex,
+ ph-Uplink PH-UplinkCarrierSCG,
+ ph-SupplementaryUplink PH-UplinkCarrierSCG OPTIONAL,
+ ...,
+ [[
+ twoSRS-PUSCH-Repetition-r17 ENUMERATED{enabled} OPTIONAL
+ ]]
+}
+
+PH-UplinkCarrierSCG ::= SEQUENCE{
+ ph-Type1or3 ENUMERATED {type1, type3},
+ ...
+}
+
+MeasConfigSN ::= SEQUENCE {
+ measuredFrequenciesSN SEQUENCE (SIZE (1..maxMeasFreqsSN)) OF NR-FreqInfo OPTIONAL,
+ ...
+}
+
+NR-FreqInfo ::= SEQUENCE {
+ measuredFrequency ARFCN-ValueNR OPTIONAL,
+ ...
+}
+
+ConfigRestrictModReqSCG ::= SEQUENCE {
+ requestedBC-MRDC BandCombinationInfoSN OPTIONAL,
+ requestedP-MaxFR1 P-Max OPTIONAL,
+ ...,
+ [[
+ requestedPDCCH-BlindDetectionSCG INTEGER (1..15) OPTIONAL,
+ requestedP-MaxEUTRA P-Max OPTIONAL
+ ]],
+ [[
+ requestedP-MaxFR2-r16 P-Max OPTIONAL,
+ requestedMaxInterFreqMeasIdSCG-r16 INTEGER(1..maxMeasIdentitiesMN) OPTIONAL,
+ requestedMaxIntraFreqMeasIdSCG-r16 INTEGER(1..maxMeasIdentitiesMN) OPTIONAL,
+ requestedToffset-r16 T-Offset-r16 OPTIONAL
+ ]]
+}
+
+BandCombinationIndex ::= INTEGER (1..maxBandComb)
+
+BandCombinationInfoSN ::= SEQUENCE {
+ bandCombinationIndex BandCombinationIndex,
+ requestedFeatureSets FeatureSetEntryIndex
+}
+
+FR-InfoList ::= SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF FR-Info
+
+FR-Info ::= SEQUENCE {
+ servCellIndex ServCellIndex,
+ fr-Type ENUMERATED {fr1, fr2}
+}
+
+CandidateServingFreqListNR ::= SEQUENCE (SIZE (1.. maxFreqIDC-MRDC)) OF ARFCN-ValueNR
+
+CandidateServingFreqListEUTRA ::= SEQUENCE (SIZE (1.. maxFreqIDC-MRDC)) OF ARFCN-ValueEUTRA
+
+T-Offset-r16 ::= ENUMERATED {ms0dot5, ms0dot75, ms1, ms1dot5, ms2, ms2dot5, ms3, spare1}
+
+CandidateCellInfoListCPC-r17 ::= SEQUENCE (SIZE (1..maxFreq)) OF CandidateCellInfo-r17
+
+CandidateCellInfo-r17 ::= SEQUENCE {
+ ssbFrequency-r17 ARFCN-ValueNR,
+ candidateList-r17 SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF CandidateCell-r17
+}
+
+CandidateCell-r17 ::= SEQUENCE {
+ physCellId-r17 PhysCellId,
+ condExecutionCondSCG-r17 OCTET STRING (CONTAINING CondReconfigExecCondSCG-r17) OPTIONAL
+}
+
+-- TAG-CG-CONFIG-STOP
+-- TAG-CG-CONFIG-INFO-START
+
+CG-ConfigInfo ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ cg-ConfigInfo CG-ConfigInfo-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CG-ConfigInfo-IEs ::= SEQUENCE {
+ ue-CapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList) OPTIONAL,-- Cond SN-AddMod
+ candidateCellInfoListMN MeasResultList2NR OPTIONAL,
+ candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL,
+ measResultCellListSFTD-NR MeasResultCellListSFTD-NR OPTIONAL,
+ scgFailureInfo SEQUENCE {
+ failureType ENUMERATED { t310-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx, synchReconfigFailure-SCG,
+ scg-reconfigFailure,
+ srb3-IntegrityFailure},
+ measResultSCG OCTET STRING (CONTAINING MeasResultSCG-Failure)
+ } OPTIONAL,
+ configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
+ drx-InfoMCG DRX-Info OPTIONAL,
+ measConfigMN MeasConfigMN OPTIONAL,
+ sourceConfigSCG OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
+ scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ mcg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
+ mrdc-AssistanceInfo MRDC-AssistanceInfo OPTIONAL,
+ nonCriticalExtension CG-ConfigInfo-v1540-IEs OPTIONAL
+}
+
+CG-ConfigInfo-v1540-IEs ::= SEQUENCE {
+ ph-InfoMCG PH-TypeListMCG OPTIONAL,
+ measResultReportCGI SEQUENCE {
+ ssbFrequency ARFCN-ValueNR,
+ cellForWhichToReportCGI PhysCellId,
+ cgi-Info CGI-InfoNR
+ } OPTIONAL,
+ nonCriticalExtension CG-ConfigInfo-v1560-IEs OPTIONAL
+}
+
+CG-ConfigInfo-v1560-IEs ::= SEQUENCE {
+ candidateCellInfoListMN-EUTRA OCTET STRING OPTIONAL,
+ candidateCellInfoListSN-EUTRA OCTET STRING OPTIONAL,
+ sourceConfigSCG-EUTRA OCTET STRING OPTIONAL,
+ scgFailureInfoEUTRA SEQUENCE {
+ failureTypeEUTRA ENUMERATED { t313-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx, scg-ChangeFailure},
+ measResultSCG-EUTRA OCTET STRING
+ } OPTIONAL,
+ drx-ConfigMCG DRX-Config OPTIONAL,
+ measResultReportCGI-EUTRA SEQUENCE {
+ eutraFrequency ARFCN-ValueEUTRA,
+ cellForWhichToReportCGI-EUTRA EUTRA-PhysCellId,
+ cgi-InfoEUTRA CGI-InfoEUTRA
+ } OPTIONAL,
+ measResultCellListSFTD-EUTRA MeasResultCellListSFTD-EUTRA OPTIONAL,
+ fr-InfoListMCG FR-InfoList OPTIONAL,
+ nonCriticalExtension CG-ConfigInfo-v1570-IEs OPTIONAL
+}
+
+CG-ConfigInfo-v1570-IEs ::= SEQUENCE {
+ sftdFrequencyList-NR SFTD-FrequencyList-NR OPTIONAL,
+ sftdFrequencyList-EUTRA SFTD-FrequencyList-EUTRA OPTIONAL,
+ nonCriticalExtension CG-ConfigInfo-v1590-IEs OPTIONAL
+}
+
+CG-ConfigInfo-v1590-IEs ::= SEQUENCE {
+ servFrequenciesMN-NR SEQUENCE (SIZE (1.. maxNrofServingCells-1)) OF ARFCN-ValueNR OPTIONAL,
+ nonCriticalExtension CG-ConfigInfo-v1610-IEs OPTIONAL
+}
+
+CG-ConfigInfo-v1610-IEs ::= SEQUENCE {
+ drx-InfoMCG2 DRX-Info2 OPTIONAL,
+ alignedDRX-Indication ENUMERATED {true} OPTIONAL,
+ scgFailureInfo-r16 SEQUENCE {
+ failureType-r16 ENUMERATED { scg-lbtFailure-r16, beamFailureRecoveryFailure-r16,
+ t312-Expiry-r16, bh-RLF-r16,
+ beamFailure-r17, spare3, spare2, spare1},
+ measResultSCG-r16 OCTET STRING (CONTAINING MeasResultSCG-Failure)
+ } OPTIONAL,
+ dummy1 SEQUENCE {
+ failureTypeEUTRA-r16 ENUMERATED { scg-lbtFailure-r16, beamFailureRecoveryFailure-r16,
+ t312-Expiry-r16, spare5,
+ spare4, spare3, spare2, spare1},
+ measResultSCG-EUTRA-r16 OCTET STRING
+ } OPTIONAL,
+ sidelinkUEInformationNR-r16 OCTET STRING (CONTAINING SidelinkUEInformationNR-r16) OPTIONAL,
+ sidelinkUEInformationEUTRA-r16 OCTET STRING OPTIONAL,
+ nonCriticalExtension CG-ConfigInfo-v1620-IEs OPTIONAL
+}
+
+CG-ConfigInfo-v1620-IEs ::= SEQUENCE {
+ ueAssistanceInformationSourceSCG-r16 OCTET STRING (CONTAINING UEAssistanceInformation) OPTIONAL,
+ nonCriticalExtension CG-ConfigInfo-v1640-IEs OPTIONAL
+}
+
+CG-ConfigInfo-v1640-IEs ::= SEQUENCE {
+ servCellInfoListMCG-NR-r16 ServCellInfoListMCG-NR-r16 OPTIONAL,
+ servCellInfoListMCG-EUTRA-r16 ServCellInfoListMCG-EUTRA-r16 OPTIONAL,
+ nonCriticalExtension CG-ConfigInfo-v1700-IEs OPTIONAL
+}
+
+CG-ConfigInfo-v1700-IEs ::= SEQUENCE {
+ candidateCellListCPC-r17 CandidateCellListCPC-r17 OPTIONAL,
+ twoPHRModeMCG-r17 ENUMERATED {enabled} OPTIONAL,
+ lowMobilityEvaluationConnectedInPCell-r17 ENUMERATED {enabled} OPTIONAL,
+ nonCriticalExtension CG-ConfigInfo-v1730-IEs OPTIONAL
+}
+
+CG-ConfigInfo-v1730-IEs ::= SEQUENCE {
+ fr1-Carriers-MCG-r17 INTEGER (1..32) OPTIONAL,
+ fr2-Carriers-MCG-r17 INTEGER (1..32) OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+ServCellInfoListMCG-NR-r16 ::= SEQUENCE (SIZE (1.. maxNrofServingCells)) OF ServCellInfoXCG-NR-r16
+
+ServCellInfoListMCG-EUTRA-r16 ::= SEQUENCE (SIZE (1.. maxNrofServingCellsEUTRA)) OF ServCellInfoXCG-EUTRA-r16
+
+SFTD-FrequencyList-NR ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF ARFCN-ValueNR
+
+SFTD-FrequencyList-EUTRA ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF ARFCN-ValueEUTRA
+
+ConfigRestrictInfoSCG ::= SEQUENCE {
+ allowedBC-ListMRDC BandCombinationInfoList OPTIONAL,
+ powerCoordination-FR1 SEQUENCE {
+ p-maxNR-FR1 P-Max OPTIONAL,
+ p-maxEUTRA P-Max OPTIONAL,
+ p-maxUE-FR1 P-Max OPTIONAL
+ } OPTIONAL,
+ servCellIndexRangeSCG SEQUENCE {
+ lowBound ServCellIndex,
+ upBound ServCellIndex
+ } OPTIONAL, -- Cond SN-AddMod
+ maxMeasFreqsSCG INTEGER(1..maxMeasFreqsMN) OPTIONAL,
+ dummy INTEGER(1..maxMeasIdentitiesMN) OPTIONAL,
+ ...,
+ [[
+ selectedBandEntriesMNList SEQUENCE (SIZE (1..maxBandComb)) OF SelectedBandEntriesMN OPTIONAL,
+ pdcch-BlindDetectionSCG INTEGER (1..15) OPTIONAL,
+ maxNumberROHC-ContextSessionsSN INTEGER(0.. 16384) OPTIONAL
+ ]],
+ [[
+ maxIntraFreqMeasIdentitiesSCG INTEGER(1..maxMeasIdentitiesMN) OPTIONAL,
+ maxInterFreqMeasIdentitiesSCG INTEGER(1..maxMeasIdentitiesMN) OPTIONAL
+ ]],
+ [[
+ p-maxNR-FR1-MCG-r16 P-Max OPTIONAL,
+ powerCoordination-FR2-r16 SEQUENCE {
+ p-maxNR-FR2-MCG-r16 P-Max OPTIONAL,
+ p-maxNR-FR2-SCG-r16 P-Max OPTIONAL,
+ p-maxUE-FR2-r16 P-Max OPTIONAL
+ } OPTIONAL,
+ nrdc-PC-mode-FR1-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL,
+ nrdc-PC-mode-FR2-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL,
+ maxMeasSRS-ResourceSCG-r16 INTEGER(0..maxNrofCLI-SRS-Resources-r16) OPTIONAL,
+ maxMeasCLI-ResourceSCG-r16 INTEGER(0..maxNrofCLI-RSSI-Resources-r16) OPTIONAL,
+ maxNumberEHC-ContextsSN-r16 INTEGER(0..65536) OPTIONAL,
+ allowedReducedConfigForOverheating-r16 OverheatingAssistance OPTIONAL,
+ maxToffset-r16 T-Offset-r16 OPTIONAL
+ ]],
+ [[
+ allowedReducedConfigForOverheating-r17 OverheatingAssistance-r17 OPTIONAL,
+ maxNumberUDC-DRB-r17 INTEGER(0..2) OPTIONAL,
+ maxNumberCPCCandidates-r17 INTEGER(0..maxNrofCondCells-1-r17) OPTIONAL
+ ]]
+}
+
+SelectedBandEntriesMN ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandEntryIndex
+
+BandEntryIndex ::= INTEGER (0.. maxNrofServingCells)
+
+PH-TypeListMCG ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF PH-InfoMCG
+
+PH-InfoMCG ::= SEQUENCE {
+ servCellIndex ServCellIndex,
+ ph-Uplink PH-UplinkCarrierMCG,
+ ph-SupplementaryUplink PH-UplinkCarrierMCG OPTIONAL,
+ ...,
+ [[
+ twoSRS-PUSCH-Repetition-r17 ENUMERATED{enabled} OPTIONAL
+ ]]
+}
+
+PH-UplinkCarrierMCG ::= SEQUENCE{
+ ph-Type1or3 ENUMERATED {type1, type3},
+ ...
+}
+
+BandCombinationInfoList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationInfo
+
+BandCombinationInfo ::= SEQUENCE {
+ bandCombinationIndex BandCombinationIndex,
+ allowedFeatureSetsList SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSetEntryIndex
+}
+
+FeatureSetEntryIndex ::= INTEGER (1.. maxFeatureSetsPerBand)
+
+DRX-Info ::= SEQUENCE {
+ drx-LongCycleStartOffset CHOICE {
+ ms10 INTEGER(0..9),
+ ms20 INTEGER(0..19),
+ ms32 INTEGER(0..31),
+ ms40 INTEGER(0..39),
+ ms60 INTEGER(0..59),
+ ms64 INTEGER(0..63),
+ ms70 INTEGER(0..69),
+ ms80 INTEGER(0..79),
+ ms128 INTEGER(0..127),
+ ms160 INTEGER(0..159),
+ ms256 INTEGER(0..255),
+ ms320 INTEGER(0..319),
+ ms512 INTEGER(0..511),
+ ms640 INTEGER(0..639),
+ ms1024 INTEGER(0..1023),
+ ms1280 INTEGER(0..1279),
+ ms2048 INTEGER(0..2047),
+ ms2560 INTEGER(0..2559),
+ ms5120 INTEGER(0..5119),
+ ms10240 INTEGER(0..10239)
+ },
+ shortDRX SEQUENCE {
+ drx-ShortCycle ENUMERATED {
+ ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
+ ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
+ drx-ShortCycleTimer INTEGER (1..16)
+ } OPTIONAL
+}
+
+DRX-Info2 ::= SEQUENCE {
+ drx-onDurationTimer CHOICE {
+ subMilliSeconds INTEGER (1..31),
+ milliSeconds ENUMERATED {
+ ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
+ ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
+ ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
+ }
+}
+
+MeasConfigMN ::= SEQUENCE {
+ measuredFrequenciesMN SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL,
+ measGapConfig CHOICE {release NULL, setup GapConfig } OPTIONAL,
+ gapPurpose ENUMERATED {perUE, perFR1} OPTIONAL,
+ ...,
+ [[
+ measGapConfigFR2 CHOICE {release NULL, setup GapConfig } OPTIONAL
+ ]],
+ [[
+ interFreqNoGap-r16 ENUMERATED {true} OPTIONAL
+ ]]
+}
+
+MRDC-AssistanceInfo ::= SEQUENCE {
+ affectedCarrierFreqCombInfoListMRDC SEQUENCE (SIZE (1..maxNrofCombIDC)) OF AffectedCarrierFreqCombInfoMRDC,
+ ...,
+ [[
+ overheatingAssistanceSCG-r16 OCTET STRING (CONTAINING OverheatingAssistance) OPTIONAL
+ ]],
+ [[
+ overheatingAssistanceSCG-FR2-2-r17 OCTET STRING (CONTAINING OverheatingAssistance-r17) OPTIONAL
+ ]]
+}
+
+AffectedCarrierFreqCombInfoMRDC ::= SEQUENCE {
+ victimSystemType VictimSystemType,
+ interferenceDirectionMRDC ENUMERATED {eutra-nr, nr, other, utra-nr-other, nr-other, spare3, spare2, spare1},
+ affectedCarrierFreqCombMRDC SEQUENCE {
+ affectedCarrierFreqCombEUTRA AffectedCarrierFreqCombEUTRA OPTIONAL,
+ affectedCarrierFreqCombNR AffectedCarrierFreqCombNR
+ } OPTIONAL
+}
+
+VictimSystemType ::= SEQUENCE {
+ gps ENUMERATED {true} OPTIONAL,
+ glonass ENUMERATED {true} OPTIONAL,
+ bds ENUMERATED {true} OPTIONAL,
+ galileo ENUMERATED {true} OPTIONAL,
+ wlan ENUMERATED {true} OPTIONAL,
+ bluetooth ENUMERATED {true} OPTIONAL
+}
+
+AffectedCarrierFreqCombEUTRA ::= SEQUENCE (SIZE (1..maxNrofServingCellsEUTRA)) OF ARFCN-ValueEUTRA
+
+AffectedCarrierFreqCombNR ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF ARFCN-ValueNR
+
+CandidateCellListCPC-r17 ::= SEQUENCE (SIZE (1..maxFreq)) OF CandidateCellCPC-r17
+
+CandidateCellCPC-r17 ::= SEQUENCE {
+ ssbFrequency-r17 ARFCN-ValueNR,
+ candidateCellList-r17 SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF PhysCellId
+}
+
+-- TAG-CG-CONFIG-INFO-STOP
+-- TAG-MEASUREMENT-TIMING-CONFIGURATION-START
+
+MeasurementTimingConfiguration ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ measTimingConf MeasurementTimingConfiguration-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MeasurementTimingConfiguration-IEs ::= SEQUENCE {
+ measTiming MeasTimingList OPTIONAL,
+ nonCriticalExtension MeasurementTimingConfiguration-v1550-IEs OPTIONAL
+}
+
+MeasurementTimingConfiguration-v1550-IEs ::= SEQUENCE {
+ campOnFirstSSB BOOLEAN,
+ psCellOnlyOnFirstSSB BOOLEAN,
+ nonCriticalExtension MeasurementTimingConfiguration-v1610-IEs OPTIONAL
+}
+
+MeasurementTimingConfiguration-v1610-IEs ::= SEQUENCE {
+ csi-RS-Config-r16 SEQUENCE {
+ csi-RS-SubcarrierSpacing-r16 SubcarrierSpacing,
+ csi-RS-CellMobility-r16 CSI-RS-CellMobility,
+ refSSBFreq-r16 ARFCN-ValueNR
+ },
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+MeasTimingList ::= SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF MeasTiming
+
+MeasTiming ::= SEQUENCE {
+ frequencyAndTiming SEQUENCE {
+ carrierFreq ARFCN-ValueNR,
+ ssbSubcarrierSpacing SubcarrierSpacing,
+ ssb-MeasurementTimingConfiguration SSB-MTC,
+ ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL
+ } OPTIONAL,
+ ...,
+ [[
+ ssb-ToMeasure SSB-ToMeasure OPTIONAL,
+ physCellId PhysCellId OPTIONAL
+ ]]
+}
+
+-- TAG-MEASUREMENT-TIMING-CONFIGURATION-STOP
+-- TAG-UE-RADIO-PAGING-INFORMATION-START
+
+UERadioPagingInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ ueRadioPagingInformation UERadioPagingInformation-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UERadioPagingInformation-IEs ::= SEQUENCE {
+ supportedBandListNRForPaging SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR OPTIONAL,
+ nonCriticalExtension UERadioPagingInformation-v15e0-IEs OPTIONAL
+}
+
+UERadioPagingInformation-v15e0-IEs ::= SEQUENCE {
+ dl-SchedulingOffset-PDSCH-TypeA-FDD-FR1 ENUMERATED {supported} OPTIONAL,
+ dl-SchedulingOffset-PDSCH-TypeA-TDD-FR1 ENUMERATED {supported} OPTIONAL,
+ dl-SchedulingOffset-PDSCH-TypeA-TDD-FR2 ENUMERATED {supported} OPTIONAL,
+ dl-SchedulingOffset-PDSCH-TypeB-FDD-FR1 ENUMERATED {supported} OPTIONAL,
+ dl-SchedulingOffset-PDSCH-TypeB-TDD-FR1 ENUMERATED {supported} OPTIONAL,
+ dl-SchedulingOffset-PDSCH-TypeB-TDD-FR2 ENUMERATED {supported} OPTIONAL,
+ nonCriticalExtension UERadioPagingInformation-v1700-IEs OPTIONAL
+}
+
+UERadioPagingInformation-v1700-IEs ::= SEQUENCE {
+ ue-RadioPagingInfo-r17 OCTET STRING (CONTAINING UE-RadioPagingInfo-r17) OPTIONAL,
+ inactiveStatePO-Determination-r17 ENUMERATED {supported} OPTIONAL,
+ numberOfRxRedCap-r17 ENUMERATED {one, two} OPTIONAL,
+ halfDuplexFDD-TypeA-RedCap-r17 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-UE-RADIO-PAGING-INFORMATION-STOP
+-- TAG-UE-RADIO-ACCESS-CAPABILITY-INFORMATION-START
+
+UERadioAccessCapabilityInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ ueRadioAccessCapabilityInformation UERadioAccessCapabilityInformation-IEs,
+ spare7 NULL,
+ spare6 NULL, spare5 NULL, spare4 NULL,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UERadioAccessCapabilityInformation-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList),
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-UE-RADIO-ACCESS-CAPABILITY-INFORMATION-STOP
+-- TAG-NR-MULTIPLICITY-AND-CONSTRAINTS-START
+
+maxMeasFreqsMN INTEGER ::= 32 -- Maximum number of MN-configured measurement frequencies
+maxMeasFreqsSN INTEGER ::= 32 -- Maximum number of SN-configured measurement frequencies
+maxMeasIdentitiesMN INTEGER ::= 62 -- Maximum number of measurement identities that a UE can be configured with
+maxCellPrep INTEGER ::= 32 -- Maximum number of cells prepared for handover
+
+-- TAG-NR-MULTIPLICITY-AND-CONSTRAINTS-STOP
+-- TAG-NR-INTER-NODE-DEFINITIONS-END-START
+
+END
diff --git a/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn
new file mode 100644
index 00000000..2b9daa4f
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn
@@ -0,0 +1,19137 @@
+-- 3GPP TS 38.331 V17.5.0 (2023-06)
+
+NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- TAG-NR-RRC-DEFINITIONS-STOP
+-- TAG-BCCH-BCH-MESSAGE-START
+
+BCCH-BCH-Message ::= SEQUENCE {
+ message BCCH-BCH-MessageType
+}
+
+BCCH-BCH-MessageType ::= CHOICE {
+ mib MIB,
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-BCCH-BCH-MESSAGE-STOP
+-- TAG-BCCH-DL-SCH-MESSAGE-START
+
+BCCH-DL-SCH-Message ::= SEQUENCE {
+ message BCCH-DL-SCH-MessageType
+}
+
+BCCH-DL-SCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ systemInformation SystemInformation,
+ systemInformationBlockType1 SIB1
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-BCCH-DL-SCH-MESSAGE-STOP
+-- TAG-DL-CCCH-MESSAGE-START
+
+DL-CCCH-Message ::= SEQUENCE {
+ message DL-CCCH-MessageType
+}
+
+DL-CCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcReject RRCReject,
+ rrcSetup RRCSetup,
+ spare2 NULL,
+ spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-DL-CCCH-MESSAGE-STOP
+-- TAG-DL-DCCH-MESSAGE-START
+
+DL-DCCH-Message ::= SEQUENCE {
+ message DL-DCCH-MessageType
+}
+
+DL-DCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcReconfiguration RRCReconfiguration,
+ rrcResume RRCResume,
+ rrcRelease RRCRelease,
+ rrcReestablishment RRCReestablishment,
+ securityModeCommand SecurityModeCommand,
+ dlInformationTransfer DLInformationTransfer,
+ ueCapabilityEnquiry UECapabilityEnquiry,
+ counterCheck CounterCheck,
+ mobilityFromNRCommand MobilityFromNRCommand,
+ dlDedicatedMessageSegment-r16 DLDedicatedMessageSegment-r16,
+ ueInformationRequest-r16 UEInformationRequest-r16,
+ dlInformationTransferMRDC-r16 DLInformationTransferMRDC-r16,
+ loggedMeasurementConfiguration-r16 LoggedMeasurementConfiguration-r16,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-DL-DCCH-MESSAGE-STOP
+-- TAG-MCCH-MESSAGE-START
+
+MCCH-Message-r17 ::= SEQUENCE {
+ message MCCH-MessageType-r17
+}
+
+MCCH-MessageType-r17 ::= CHOICE {
+ c1 CHOICE {
+ mbsBroadcastConfiguration-r17 MBSBroadcastConfiguration-r17,
+ spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-MCCH-MESSAGE-STOP
+-- TAG-PCCH-PCH-MESSAGE-START
+
+PCCH-Message ::= SEQUENCE {
+ message PCCH-MessageType
+}
+
+PCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ paging Paging,
+ spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-PCCH-PCH-MESSAGE-STOP
+-- TAG-UL-CCCH-MESSAGE-START
+
+
+UL-CCCH-Message ::= SEQUENCE {
+ message UL-CCCH-MessageType
+}
+
+UL-CCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcSetupRequest RRCSetupRequest,
+ rrcResumeRequest RRCResumeRequest,
+ rrcReestablishmentRequest RRCReestablishmentRequest,
+ rrcSystemInfoRequest RRCSystemInfoRequest
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-UL-CCCH-MESSAGE-STOP
+-- TAG-UL-CCCH1-MESSAGE-START
+
+
+UL-CCCH1-Message ::= SEQUENCE {
+ message UL-CCCH1-MessageType
+}
+
+UL-CCCH1-MessageType ::= CHOICE {
+ c1 CHOICE {
+ rrcResumeRequest1 RRCResumeRequest1,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-UL-CCCH1-MESSAGE-STOP
+-- TAG-UL-DCCH-MESSAGE-START
+
+UL-DCCH-Message ::= SEQUENCE {
+ message UL-DCCH-MessageType
+}
+
+UL-DCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ measurementReport MeasurementReport,
+ rrcReconfigurationComplete RRCReconfigurationComplete,
+ rrcSetupComplete RRCSetupComplete,
+ rrcReestablishmentComplete RRCReestablishmentComplete,
+ rrcResumeComplete RRCResumeComplete,
+ securityModeComplete SecurityModeComplete,
+ securityModeFailure SecurityModeFailure,
+ ulInformationTransfer ULInformationTransfer,
+ locationMeasurementIndication LocationMeasurementIndication,
+ ueCapabilityInformation UECapabilityInformation,
+ counterCheckResponse CounterCheckResponse,
+ ueAssistanceInformation UEAssistanceInformation,
+ failureInformation FailureInformation,
+ ulInformationTransferMRDC ULInformationTransferMRDC,
+ scgFailureInformation SCGFailureInformation,
+ scgFailureInformationEUTRA SCGFailureInformationEUTRA
+ },
+ messageClassExtension CHOICE {
+ c2 CHOICE {
+ ulDedicatedMessageSegment-r16 ULDedicatedMessageSegment-r16,
+ dedicatedSIBRequest-r16 DedicatedSIBRequest-r16,
+ mcgFailureInformation-r16 MCGFailureInformation-r16,
+ ueInformationResponse-r16 UEInformationResponse-r16,
+ sidelinkUEInformationNR-r16 SidelinkUEInformationNR-r16,
+ ulInformationTransferIRAT-r16 ULInformationTransferIRAT-r16,
+ iabOtherInformation-r16 IABOtherInformation-r16,
+ mbsInterestIndication-r17 MBSInterestIndication-r17,
+ uePositioningAssistanceInfo-r17 UEPositioningAssistanceInfo-r17,
+ measurementReportAppLayer-r17 MeasurementReportAppLayer-r17,
+ spare6 NULL, spare5 NULL, spare4 NULL, spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ messageClassExtensionFuture-r16 SEQUENCE {}
+ }
+}
+
+-- TAG-UL-DCCH-MESSAGE-STOP
+-- TAG-COUNTERCHECK-START
+
+
+CounterCheck ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ counterCheck CounterCheck-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CounterCheck-IEs ::= SEQUENCE {
+ drb-CountMSB-InfoList DRB-CountMSB-InfoList,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+DRB-CountMSB-InfoList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info
+
+DRB-CountMSB-Info ::= SEQUENCE {
+ drb-Identity DRB-Identity,
+ countMSB-Uplink INTEGER(0..33554431),
+ countMSB-Downlink INTEGER(0..33554431)
+}
+
+-- TAG-COUNTERCHECK-STOP
+-- TAG-COUNTERCHECKRESPONSE-START
+
+CounterCheckResponse ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ counterCheckResponse CounterCheckResponse-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+CounterCheckResponse-IEs ::= SEQUENCE {
+ drb-CountInfoList DRB-CountInfoList,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+
+}
+
+DRB-CountInfoList ::= SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo
+
+DRB-CountInfo ::= SEQUENCE {
+ drb-Identity DRB-Identity,
+ count-Uplink INTEGER(0..4294967295),
+ count-Downlink INTEGER(0..4294967295)
+}
+
+-- TAG-COUNTERCHECKRESPONSE-STOP
+-- TAG-DEDICATEDSIBREQUEST-START
+
+DedicatedSIBRequest-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ dedicatedSIBRequest-r16 DedicatedSIBRequest-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+DedicatedSIBRequest-r16-IEs ::= SEQUENCE {
+ onDemandSIB-RequestList-r16 SEQUENCE {
+
+ requestedSIB-List-r16 SEQUENCE (SIZE (1..maxOnDemandSIB-r16)) OF SIB-ReqInfo-r16 OPTIONAL,
+ requestedPosSIB-List-r16 SEQUENCE (SIZE (1..maxOnDemandPosSIB-r16)) OF PosSIB-ReqInfo-r16 OPTIONAL
+ } OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+SIB-ReqInfo-r16 ::= ENUMERATED { sib12, sib13, sib14, sib20-v1700, sib21-v1700, spare3, spare2, spare1 }
+
+PosSIB-ReqInfo-r16 ::= SEQUENCE {
+ gnss-id-r16 GNSS-ID-r16 OPTIONAL,
+ sbas-id-r16 SBAS-ID-r16 OPTIONAL,
+ posSibType-r16 ENUMERATED { posSibType1-1, posSibType1-2, posSibType1-3, posSibType1-4, posSibType1-5, posSibType1-6,
+ posSibType1-7, posSibType1-8, posSibType2-1, posSibType2-2, posSibType2-3, posSibType2-4,
+ posSibType2-5, posSibType2-6, posSibType2-7, posSibType2-8, posSibType2-9, posSibType2-10,
+ posSibType2-11, posSibType2-12, posSibType2-13, posSibType2-14, posSibType2-15,
+ posSibType2-16, posSibType2-17, posSibType2-18, posSibType2-19, posSibType2-20,
+ posSibType2-21, posSibType2-22, posSibType2-23, posSibType3-1, posSibType4-1,
+ posSibType5-1, posSibType6-1, posSibType6-2, posSibType6-3,..., posSibType1-9-v1710,
+ posSibType1-10-v1710, posSibType2-24-v1710, posSibType2-25-v1710,
+ posSibType6-4-v1710, posSibType6-5-v1710, posSibType6-6-v1710 }
+}
+
+-- TAG-DEDICATEDSIBREQUEST-STOP
+-- TAG-DLDEDICATEDMESSAGESEGMENT-START
+
+
+DLDedicatedMessageSegment-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ dlDedicatedMessageSegment-r16 DLDedicatedMessageSegment-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+DLDedicatedMessageSegment-r16-IEs ::= SEQUENCE {
+ segmentNumber-r16 INTEGER(0..4),
+ rrc-MessageSegmentContainer-r16 OCTET STRING,
+ rrc-MessageSegmentType-r16 ENUMERATED {notLastSegment, lastSegment},
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-DLDEDICATEDMESSAGESEGMENT-STOP
+-- TAG-DLINFORMATIONTRANSFER-START
+
+DLInformationTransfer ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ dlInformationTransfer DLInformationTransfer-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+DLInformationTransfer-IEs ::= SEQUENCE {
+ dedicatedNAS-Message DedicatedNAS-Message OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension DLInformationTransfer-v1610-IEs OPTIONAL
+}
+
+DLInformationTransfer-v1610-IEs ::= SEQUENCE {
+ referenceTimeInfo-r16 ReferenceTimeInfo-r16 OPTIONAL, -- Need N
+ nonCriticalExtension DLInformationTransfer-v1700-IEs OPTIONAL
+}
+
+DLInformationTransfer-v1700-IEs ::= SEQUENCE {
+ dedicatedInfoF1c-r17 DedicatedInfoF1c-r17 OPTIONAL, -- Need N
+ rxTxTimeDiff-gNB-r17 RxTxTimeDiff-r17 OPTIONAL, -- Need N
+ ta-PDC-r17 ENUMERATED {activate,deactivate} OPTIONAL, -- Need N
+ sib9Fallback-r17 ENUMERATED {true} OPTIONAL, -- Need N
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-DLINFORMATIONTRANSFER-STOP
+-- TAG-DLINFORMATIONTRANSFERMRDC-START
+
+DLInformationTransferMRDC-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ dlInformationTransferMRDC-r16 DLInformationTransferMRDC-r16-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+DLInformationTransferMRDC-r16-IEs::= SEQUENCE {
+ dl-DCCH-MessageNR-r16 OCTET STRING OPTIONAL, -- Need N
+ dl-DCCH-MessageEUTRA-r16 OCTET STRING OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-DLINFORMATIONTRANSFERMRDC-STOP
+-- TAG-FAILUREINFORMATION-START
+
+FailureInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ failureInformation FailureInformation-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+FailureInformation-IEs ::= SEQUENCE {
+ failureInfoRLC-Bearer FailureInfoRLC-Bearer OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension FailureInformation-v1610-IEs OPTIONAL
+}
+
+FailureInfoRLC-Bearer ::= SEQUENCE {
+ cellGroupId CellGroupId,
+ logicalChannelIdentity LogicalChannelIdentity,
+ failureType ENUMERATED {rlc-failure, spare3, spare2, spare1}
+}
+
+FailureInformation-v1610-IEs ::= SEQUENCE {
+ failureInfoDAPS-r16 FailureInfoDAPS-r16 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+FailureInfoDAPS-r16 ::= SEQUENCE {
+ failureType-r16 ENUMERATED {daps-failure, spare3, spare2, spare1}
+}
+
+-- TAG-FAILUREINFORMATION-STOP
+-- TAG-IABOTHERINFORMATION-START
+
+IABOtherInformation-r16 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ iabOtherInformation-r16 IABOtherInformation-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+IABOtherInformation-r16-IEs ::= SEQUENCE {
+ ip-InfoType-r16 CHOICE {
+ iab-IP-Request-r16 SEQUENCE {
+ iab-IPv4-AddressNumReq-r16 IAB-IP-AddressNumReq-r16 OPTIONAL,
+ iab-IPv6-AddressReq-r16 CHOICE {
+ iab-IPv6-AddressNumReq-r16 IAB-IP-AddressNumReq-r16,
+ iab-IPv6-AddressPrefixReq-r16 IAB-IP-AddressPrefixReq-r16,
+ ...
+ } OPTIONAL
+ },
+ iab-IP-Report-r16 SEQUENCE {
+ iab-IPv4-AddressReport-r16 IAB-IP-AddressAndTraffic-r16 OPTIONAL,
+ iab-IPv6-Report-r16 CHOICE {
+ iab-IPv6-AddressReport-r16 IAB-IP-AddressAndTraffic-r16,
+ iab-IPv6-PrefixReport-r16 IAB-IP-PrefixAndTraffic-r16,
+ ...
+ } OPTIONAL
+ },
+ ...
+ },
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+IAB-IP-AddressNumReq-r16 ::= SEQUENCE {
+ all-Traffic-NumReq-r16 INTEGER (1..8) OPTIONAL,
+ f1-C-Traffic-NumReq-r16 INTEGER (1..8) OPTIONAL,
+ f1-U-Traffic-NumReq-r16 INTEGER (1..8) OPTIONAL,
+ non-F1-Traffic-NumReq-r16 INTEGER (1..8) OPTIONAL,
+ ...
+}
+
+IAB-IP-AddressPrefixReq-r16 ::= SEQUENCE {
+ all-Traffic-PrefixReq-r16 ENUMERATED {true} OPTIONAL,
+ f1-C-Traffic-PrefixReq-r16 ENUMERATED {true} OPTIONAL,
+ f1-U-Traffic-PrefixReq-r16 ENUMERATED {true} OPTIONAL,
+ non-F1-Traffic-PrefixReq-r16 ENUMERATED {true} OPTIONAL,
+ ...
+}
+
+IAB-IP-AddressAndTraffic-r16 ::= SEQUENCE {
+ all-Traffic-IAB-IP-Address-r16 SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL,
+ f1-C-Traffic-IP-Address-r16 SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL,
+ f1-U-Traffic-IP-Address-r16 SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL,
+ non-F1-Traffic-IP-Address-r16 SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16 OPTIONAL
+}
+
+IAB-IP-PrefixAndTraffic-r16 ::= SEQUENCE {
+ all-Traffic-IAB-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL,
+ f1-C-Traffic-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL,
+ f1-U-Traffic-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL,
+ non-F1-Traffic-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL
+}
+
+-- TAG-IABOTHERINFORMATION-STOP
+-- TAG-LOCATIONMEASUREMENTINDICATION-START
+
+LocationMeasurementIndication ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ locationMeasurementIndication LocationMeasurementIndication-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+LocationMeasurementIndication-IEs ::= SEQUENCE {
+ measurementIndication CHOICE {release NULL, setup LocationMeasurementInfo},
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-LOCATIONMEASUREMENTINDICATION-STOP
+-- TAG-LOGGEDMEASUREMENTCONFIGURATION-START
+
+LoggedMeasurementConfiguration-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ loggedMeasurementConfiguration-r16 LoggedMeasurementConfiguration-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+LoggedMeasurementConfiguration-r16-IEs ::= SEQUENCE {
+ traceReference-r16 TraceReference-r16,
+ traceRecordingSessionRef-r16 OCTET STRING (SIZE (2)),
+ tce-Id-r16 OCTET STRING (SIZE (1)),
+ absoluteTimeInfo-r16 AbsoluteTimeInfo-r16,
+ areaConfiguration-r16 AreaConfiguration-r16 OPTIONAL, --Need R
+ plmn-IdentityList-r16 PLMN-IdentityList2-r16 OPTIONAL, --Need R
+ bt-NameList-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, --Need M
+ wlan-NameList-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, --Need M
+ sensor-NameList-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL, --Need M
+ loggingDuration-r16 LoggingDuration-r16,
+ reportType CHOICE {
+ periodical LoggedPeriodicalReportConfig-r16,
+ eventTriggered LoggedEventTriggerConfig-r16,
+ ...
+ },
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension LoggedMeasurementConfiguration-v1700-IEs OPTIONAL
+}
+
+LoggedMeasurementConfiguration-v1700-IEs ::= SEQUENCE {
+ sigLoggedMeasType-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ earlyMeasIndication-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ areaConfiguration-v1700 AreaConfiguration-v1700 OPTIONAL, --Need R
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+LoggedPeriodicalReportConfig-r16 ::= SEQUENCE {
+ loggingInterval-r16 LoggingInterval-r16,
+ ...
+ }
+
+LoggedEventTriggerConfig-r16 ::= SEQUENCE {
+ eventType-r16 EventType-r16,
+ loggingInterval-r16 LoggingInterval-r16,
+ ...
+}
+
+EventType-r16 ::= CHOICE {
+ outOfCoverage NULL,
+ eventL1 SEQUENCE {
+ l1-Threshold MeasTriggerQuantity,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger
+ },
+ ...
+}
+
+-- TAG-LOGGEDMEASUREMENTCONFIGURATION-STOP
+-- TAG-MBSBROADCASTCONFIGURATION-START
+
+MBSBroadcastConfiguration-r17 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ mbsBroadcastConfiguration-r17 MBSBroadcastConfiguration-r17-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MBSBroadcastConfiguration-r17-IEs ::= SEQUENCE {
+ mbs-SessionInfoList-r17 MBS-SessionInfoList-r17 OPTIONAL, -- Need R
+ mbs-NeighbourCellList-r17 MBS-NeighbourCellList-r17 OPTIONAL, -- Need S
+ drx-ConfigPTM-List-r17 SEQUENCE (SIZE (1..maxNrofDRX-ConfigPTM-r17)) OF DRX-ConfigPTM-r17 OPTIONAL, -- Need R
+ pdsch-ConfigMTCH-r17 PDSCH-ConfigBroadcast-r17 OPTIONAL, -- Need S
+ mtch-SSB-MappingWindowList-r17 MTCH-SSB-MappingWindowList-r17 OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-MBSBROADCASTCONFIGURATION-STOP
+-- TAG-MBSINTERESTINDICATION-START
+
+MBSInterestIndication-r17 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ mbsInterestIndication-r17 MBSInterestIndication-r17-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MBSInterestIndication-r17-IEs ::= SEQUENCE {
+ mbs-FreqList-r17 CarrierFreqListMBS-r17 OPTIONAL,
+ mbs-Priority-r17 ENUMERATED {true} OPTIONAL,
+ mbs-ServiceList-r17 MBS-ServiceList-r17 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-MBSINTERESTINDICATION-STOP
+-- TAG-MCGFAILUREINFORMATION-START
+
+MCGFailureInformation-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ mcgFailureInformation-r16 MCGFailureInformation-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MCGFailureInformation-r16-IEs ::= SEQUENCE {
+ failureReportMCG-r16 FailureReportMCG-r16 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+FailureReportMCG-r16 ::= SEQUENCE {
+ failureType-r16 ENUMERATED {t310-Expiry, randomAccessProblem, rlc-MaxNumRetx,
+ t312-Expiry-r16, lbt-Failure-r16, beamFailureRecoveryFailure-r16,
+ bh-RLF-r16, spare1} OPTIONAL,
+ measResultFreqList-r16 MeasResultList2NR OPTIONAL,
+ measResultFreqListEUTRA-r16 MeasResultList2EUTRA OPTIONAL,
+ measResultSCG-r16 OCTET STRING (CONTAINING MeasResultSCG-Failure) OPTIONAL,
+ measResultSCG-EUTRA-r16 OCTET STRING OPTIONAL,
+ measResultFreqListUTRA-FDD-r16 MeasResultList2UTRA OPTIONAL,
+ ...
+}
+
+MeasResultList2UTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2UTRA-FDD-r16
+
+MeasResult2UTRA-FDD-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueUTRA-FDD-r16,
+ measResultNeighCellList-r16 MeasResultListUTRA-FDD-r16
+}
+
+MeasResultList2EUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-r16
+
+-- TAG-MCGFAILUREINFORMATION-STOP
+-- TAG-MEASUREMENTREPORT-START
+
+MeasurementReport ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ measurementReport MeasurementReport-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MeasurementReport-IEs ::= SEQUENCE {
+ measResults MeasResults,
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-MEASUREMENTREPORT-STOP
+-- TAG-MEASUREMENTREPORTAPPLAYER-START
+
+MeasurementReportAppLayer-r17 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ measurementReportAppLayer-r17 MeasurementReportAppLayer-r17-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MeasurementReportAppLayer-r17-IEs ::= SEQUENCE {
+ measurementReportAppLayerList-r17 MeasurementReportAppLayerList-r17,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+MeasurementReportAppLayerList-r17 ::= SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasReportAppLayer-r17
+
+MeasReportAppLayer-r17 ::= SEQUENCE {
+ measConfigAppLayerId-r17 MeasConfigAppLayerId-r17,
+ measReportAppLayerContainer-r17 OCTET STRING OPTIONAL,
+ appLayerSessionStatus-r17 ENUMERATED {start, stop} OPTIONAL,
+ ran-VisibleMeasurements-r17 RAN-VisibleMeasurements-r17 OPTIONAL
+}
+
+RAN-VisibleMeasurements-r17 ::= SEQUENCE {
+ appLayerBufferLevelList-r17 SEQUENCE (SIZE (1..8)) OF AppLayerBufferLevel-r17 OPTIONAL,
+ playoutDelayForMediaStartup-r17 INTEGER (0..30000) OPTIONAL,
+ pdu-SessionIdList-r17 SEQUENCE (SIZE (1..maxNrofPDU-Sessions-r17)) OF PDU-SessionID OPTIONAL,
+ ...
+}
+
+AppLayerBufferLevel-r17 ::= INTEGER (0..30000)
+
+-- TAG-MEASUREMENTREPORTAPPLAYER-STOP
+-- TAG-MIB-START
+
+MIB ::= SEQUENCE {
+ systemFrameNumber BIT STRING (SIZE (6)),
+ subCarrierSpacingCommon ENUMERATED {scs15or60, scs30or120},
+ ssb-SubcarrierOffset INTEGER (0..15),
+ dmrs-TypeA-Position ENUMERATED {pos2, pos3},
+ pdcch-ConfigSIB1 PDCCH-ConfigSIB1,
+ cellBarred ENUMERATED {barred, notBarred},
+ intraFreqReselection ENUMERATED {allowed, notAllowed},
+ spare BIT STRING (SIZE (1))
+}
+
+-- TAG-MIB-STOP
+-- TAG-MOBILITYFROMNRCOMMAND-START
+
+MobilityFromNRCommand ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ mobilityFromNRCommand MobilityFromNRCommand-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MobilityFromNRCommand-IEs ::= SEQUENCE {
+ targetRAT-Type ENUMERATED { eutra, utra-fdd-v1610, spare2, spare1, ...},
+ targetRAT-MessageContainer OCTET STRING,
+ nas-SecurityParamFromNR OCTET STRING OPTIONAL, -- Cond HO-ToEPCUTRAN
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension MobilityFromNRCommand-v1610-IEs OPTIONAL
+}
+
+MobilityFromNRCommand-v1610-IEs ::= SEQUENCE {
+ voiceFallbackIndication-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-MOBILITYFROMNRCOMMAND-STOP
+-- TAG-PAGING-START
+
+Paging ::= SEQUENCE {
+ pagingRecordList PagingRecordList OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension Paging-v1700-IEs OPTIONAL
+}
+
+Paging-v1700-IEs ::= SEQUENCE {
+ pagingRecordList-v1700 PagingRecordList-v1700 OPTIONAL, -- Need N
+ pagingGroupList-r17 PagingGroupList-r17 OPTIONAL, -- Need N
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+PagingRecordList ::= SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord
+
+PagingRecordList-v1700 ::= SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord-v1700
+
+PagingGroupList-r17 ::= SEQUENCE (SIZE(1..maxNrofPageGroup-r17)) OF TMGI-r17
+
+PagingRecord ::= SEQUENCE {
+ ue-Identity PagingUE-Identity,
+ accessType ENUMERATED {non3GPP} OPTIONAL, -- Need N
+ ...
+}
+
+PagingRecord-v1700 ::= SEQUENCE {
+ pagingCause-r17 ENUMERATED {voice} OPTIONAL -- Need N
+}
+
+PagingUE-Identity ::= CHOICE {
+ ng-5G-S-TMSI NG-5G-S-TMSI,
+ fullI-RNTI I-RNTI-Value,
+ ...
+}
+
+-- TAG-PAGING-STOP
+-- TAG-RRCREESTABLISHMENT-START
+
+RRCReestablishment ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReestablishment RRCReestablishment-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReestablishment-IEs ::= SEQUENCE {
+ nextHopChainingCount NextHopChainingCount,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCReestablishment-v1700-IEs OPTIONAL
+}
+
+RRCReestablishment-v1700-IEs ::= SEQUENCE {
+ sl-L2RemoteUE-Config-r17 CHOICE {release NULL, setup SL-L2RemoteUE-Config-r17} OPTIONAL, -- Cond L2RemoteUE
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCREESTABLISHMENT-STOP
+-- TAG-RRCREESTABLISHMENTCOMPLETE-START
+
+RRCReestablishmentComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReestablishmentComplete RRCReestablishmentComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReestablishmentComplete-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCReestablishmentComplete-v1610-IEs OPTIONAL
+}
+
+RRCReestablishmentComplete-v1610-IEs ::= SEQUENCE {
+ ue-MeasurementsAvailable-r16 UE-MeasurementsAvailable-r16 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCREESTABLISHMENTCOMPLETE-STOP
+-- TAG-RRCREESTABLISHMENTREQUEST-START
+
+
+RRCReestablishmentRequest ::= SEQUENCE {
+ rrcReestablishmentRequest RRCReestablishmentRequest-IEs
+}
+
+RRCReestablishmentRequest-IEs ::= SEQUENCE {
+ ue-Identity ReestabUE-Identity,
+ reestablishmentCause ReestablishmentCause,
+ spare BIT STRING (SIZE (1))
+}
+
+ReestabUE-Identity ::= SEQUENCE {
+ c-RNTI RNTI-Value,
+ physCellId PhysCellId,
+ shortMAC-I ShortMAC-I
+}
+
+ReestablishmentCause ::= ENUMERATED {reconfigurationFailure, handoverFailure, otherFailure, spare1}
+
+-- TAG-RRCREESTABLISHMENTREQUEST-STOP
+-- TAG-RRCRECONFIGURATION-START
+
+RRCReconfiguration ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReconfiguration RRCReconfiguration-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReconfiguration-IEs ::= SEQUENCE {
+ radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M
+ secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Cond SCG
+ measConfig MeasConfig OPTIONAL, -- Need M
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCReconfiguration-v1530-IEs OPTIONAL
+}
+
+RRCReconfiguration-v1530-IEs ::= SEQUENCE {
+ masterCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
+ fullConfig ENUMERATED {true} OPTIONAL, -- Cond FullConfig
+ dedicatedNAS-MessageList SEQUENCE (SIZE(1..maxDRB)) OF DedicatedNAS-Message OPTIONAL, -- Cond nonHO
+ masterKeyUpdate MasterKeyUpdate OPTIONAL, -- Cond MasterKeyChange
+ dedicatedSIB1-Delivery OCTET STRING (CONTAINING SIB1) OPTIONAL, -- Need N
+ dedicatedSystemInformationDelivery OCTET STRING (CONTAINING SystemInformation) OPTIONAL, -- Need N
+ otherConfig OtherConfig OPTIONAL, -- Need M
+ nonCriticalExtension RRCReconfiguration-v1540-IEs OPTIONAL
+}
+
+RRCReconfiguration-v1540-IEs ::= SEQUENCE {
+ otherConfig-v1540 OtherConfig-v1540 OPTIONAL, -- Need M
+ nonCriticalExtension RRCReconfiguration-v1560-IEs OPTIONAL
+}
+
+RRCReconfiguration-v1560-IEs ::= SEQUENCE {
+ mrdc-SecondaryCellGroupConfig CHOICE {release NULL, setup MRDC-SecondaryCellGroupConfig } OPTIONAL, -- Need M
+ radioBearerConfig2 OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, -- Need M
+ sk-Counter SK-Counter OPTIONAL, -- Need N
+ nonCriticalExtension RRCReconfiguration-v1610-IEs OPTIONAL
+}
+RRCReconfiguration-v1610-IEs ::= SEQUENCE {
+ otherConfig-v1610 OtherConfig-v1610 OPTIONAL, -- Need M
+ bap-Config-r16 CHOICE {release NULL, setup BAP-Config-r16 } OPTIONAL, -- Need M
+ iab-IP-AddressConfigurationList-r16 IAB-IP-AddressConfigurationList-r16 OPTIONAL, -- Need M
+ conditionalReconfiguration-r16 ConditionalReconfiguration-r16 OPTIONAL, -- Need M
+ daps-SourceRelease-r16 ENUMERATED{true} OPTIONAL, -- Need N
+ t316-r16 CHOICE {release NULL, setup T316-r16} OPTIONAL, -- Need M
+ needForGapsConfigNR-r16 CHOICE {release NULL, setup NeedForGapsConfigNR-r16} OPTIONAL, -- Need M
+ onDemandSIB-Request-r16 CHOICE {release NULL, setup OnDemandSIB-Request-r16 } OPTIONAL, -- Need M
+ dedicatedPosSysInfoDelivery-r16 OCTET STRING (CONTAINING PosSystemInformation-r16-IEs) OPTIONAL, -- Need N
+ sl-ConfigDedicatedNR-r16 CHOICE {release NULL, setup SL-ConfigDedicatedNR-r16} OPTIONAL, -- Need M
+ sl-ConfigDedicatedEUTRA-Info-r16 CHOICE {release NULL, setup SL-ConfigDedicatedEUTRA-Info-r16} OPTIONAL, -- Need M
+ targetCellSMTC-SCG-r16 SSB-MTC OPTIONAL, -- Need S
+ nonCriticalExtension RRCReconfiguration-v1700-IEs OPTIONAL
+}
+
+RRCReconfiguration-v1700-IEs ::= SEQUENCE {
+ otherConfig-v1700 OtherConfig-v1700 OPTIONAL, -- Need M
+ sl-L2RelayUE-Config-r17 CHOICE {release NULL, setup SL-L2RelayUE-Config-r17 } OPTIONAL, -- Need M
+ sl-L2RemoteUE-Config-r17 CHOICE {release NULL, setup SL-L2RemoteUE-Config-r17 } OPTIONAL, -- Need M
+ dedicatedPagingDelivery-r17 OCTET STRING (CONTAINING Paging) OPTIONAL, -- Cond PagingRelay
+ needForGapNCSG-ConfigNR-r17 CHOICE {release NULL, setup NeedForGapNCSG-ConfigNR-r17} OPTIONAL, -- Need M
+ needForGapNCSG-ConfigEUTRA-r17 CHOICE {release NULL, setup NeedForGapNCSG-ConfigEUTRA-r17} OPTIONAL, -- Need M
+ musim-GapConfig-r17 CHOICE {release NULL, setup MUSIM-GapConfig-r17} OPTIONAL, -- Need M
+ ul-GapFR2-Config-r17 CHOICE {release NULL, setup UL-GapFR2-Config-r17 } OPTIONAL, -- Need M
+ scg-State-r17 ENUMERATED { deactivated } OPTIONAL, -- Need N
+ appLayerMeasConfig-r17 AppLayerMeasConfig-r17 OPTIONAL, -- Need M
+ ue-TxTEG-RequestUL-TDOA-Config-r17 CHOICE {release NULL, setup UE-TxTEG-RequestUL-TDOA-Config-r17} OPTIONAL, -- Need M
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+MRDC-SecondaryCellGroupConfig ::= SEQUENCE {
+ mrdc-ReleaseAndAdd ENUMERATED {true} OPTIONAL, -- Need N
+ mrdc-SecondaryCellGroup CHOICE {
+ nr-SCG OCTET STRING (CONTAINING RRCReconfiguration),
+ eutra-SCG OCTET STRING
+ }
+}
+
+BAP-Config-r16 ::= SEQUENCE {
+ bap-Address-r16 BIT STRING (SIZE (10)) OPTIONAL, -- Need M
+ defaultUL-BAP-RoutingID-r16 BAP-RoutingID-r16 OPTIONAL, -- Need M
+ defaultUL-BH-RLC-Channel-r16 BH-RLC-ChannelID-r16 OPTIONAL, -- Need M
+ flowControlFeedbackType-r16 ENUMERATED {perBH-RLC-Channel, perRoutingID, both} OPTIONAL, -- Need R
+ ...
+}
+
+MasterKeyUpdate ::= SEQUENCE {
+ keySetChangeIndicator BOOLEAN,
+ nextHopChainingCount NextHopChainingCount,
+ nas-Container OCTET STRING OPTIONAL, -- Cond securityNASC
+ ...
+}
+
+OnDemandSIB-Request-r16 ::= SEQUENCE {
+ onDemandSIB-RequestProhibitTimer-r16 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30}
+}
+
+T316-r16 ::= ENUMERATED {ms50, ms100, ms200, ms300, ms400, ms500, ms600, ms1000, ms1500, ms2000}
+
+IAB-IP-AddressConfigurationList-r16 ::= SEQUENCE {
+ iab-IP-AddressToAddModList-r16 SEQUENCE (SIZE(1..maxIAB-IP-Address-r16)) OF IAB-IP-AddressConfiguration-r16 OPTIONAL, -- Need N
+ iab-IP-AddressToReleaseList-r16 SEQUENCE (SIZE(1..maxIAB-IP-Address-r16)) OF IAB-IP-AddressIndex-r16 OPTIONAL, -- Need N
+ ...
+}
+
+IAB-IP-AddressConfiguration-r16 ::= SEQUENCE {
+ iab-IP-AddressIndex-r16 IAB-IP-AddressIndex-r16,
+ iab-IP-Address-r16 IAB-IP-Address-r16 OPTIONAL, -- Need M
+ iab-IP-Usage-r16 IAB-IP-Usage-r16 OPTIONAL, -- Need M
+ iab-donor-DU-BAP-Address-r16 BIT STRING (SIZE(10)) OPTIONAL, -- Need M
+...
+}
+
+SL-ConfigDedicatedEUTRA-Info-r16 ::= SEQUENCE {
+ sl-ConfigDedicatedEUTRA-r16 OCTET STRING OPTIONAL, -- Need M
+ sl-TimeOffsetEUTRA-List-r16 SEQUENCE (SIZE (8)) OF SL-TimeOffsetEUTRA-r16 OPTIONAL -- Need M
+}
+
+SL-TimeOffsetEUTRA-r16 ::= ENUMERATED {ms0, ms0dot25, ms0dot5, ms0dot625, ms0dot75, ms1, ms1dot25, ms1dot5, ms1dot75,
+ ms2, ms2dot5, ms3, ms4, ms5, ms6, ms8, ms10, ms20}
+
+UE-TxTEG-RequestUL-TDOA-Config-r17 ::= CHOICE {
+ oneShot-r17 NULL,
+ periodicReporting-r17 ENUMERATED { ms160, ms320, ms1280, ms2560, ms61440, ms81920, ms368640, ms737280 }
+}
+-- TAG-RRCRECONFIGURATION-STOP
+-- TAG-RRCRECONFIGURATIONCOMPLETE-START
+
+RRCReconfigurationComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReconfigurationComplete RRCReconfigurationComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReconfigurationComplete-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCReconfigurationComplete-v1530-IEs OPTIONAL
+}
+
+RRCReconfigurationComplete-v1530-IEs ::= SEQUENCE {
+ uplinkTxDirectCurrentList UplinkTxDirectCurrentList OPTIONAL,
+ nonCriticalExtension RRCReconfigurationComplete-v1560-IEs OPTIONAL
+}
+
+RRCReconfigurationComplete-v1560-IEs ::= SEQUENCE {
+ scg-Response CHOICE {
+ nr-SCG-Response OCTET STRING (CONTAINING RRCReconfigurationComplete),
+ eutra-SCG-Response OCTET STRING
+ } OPTIONAL,
+ nonCriticalExtension RRCReconfigurationComplete-v1610-IEs OPTIONAL
+}
+
+RRCReconfigurationComplete-v1610-IEs ::= SEQUENCE {
+ ue-MeasurementsAvailable-r16 UE-MeasurementsAvailable-r16 OPTIONAL,
+ needForGapsInfoNR-r16 NeedForGapsInfoNR-r16 OPTIONAL,
+ nonCriticalExtension RRCReconfigurationComplete-v1640-IEs OPTIONAL
+}
+
+RRCReconfigurationComplete-v1640-IEs ::= SEQUENCE {
+ uplinkTxDirectCurrentTwoCarrierList-r16 UplinkTxDirectCurrentTwoCarrierList-r16 OPTIONAL,
+ nonCriticalExtension RRCReconfigurationComplete-v1700-IEs OPTIONAL
+}
+
+RRCReconfigurationComplete-v1700-IEs ::= SEQUENCE {
+ needForGapNCSG-InfoNR-r17 NeedForGapNCSG-InfoNR-r17 OPTIONAL,
+ needForGapNCSG-InfoEUTRA-r17 NeedForGapNCSG-InfoEUTRA-r17 OPTIONAL,
+ selectedCondRRCReconfig-r17 CondReconfigId-r16 OPTIONAL,
+ nonCriticalExtension RRCReconfigurationComplete-v1720-IEs OPTIONAL
+}
+
+RRCReconfigurationComplete-v1720-IEs ::= SEQUENCE {
+ uplinkTxDirectCurrentMoreCarrierList-r17 UplinkTxDirectCurrentMoreCarrierList-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCRECONFIGURATIONCOMPLETE-STOP
+-- TAG-RRCREJECT-START
+
+RRCReject ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcReject RRCReject-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReject-IEs ::= SEQUENCE {
+ waitTime RejectWaitTime OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-RRCREJECT-STOP
+-- TAG-RRCRELEASE-START
+
+RRCRelease ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcRelease RRCRelease-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCRelease-IEs ::= SEQUENCE {
+ redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need N
+ cellReselectionPriorities CellReselectionPriorities OPTIONAL, -- Need R
+ suspendConfig SuspendConfig OPTIONAL, -- Need R
+ deprioritisationReq SEQUENCE {
+ deprioritisationType ENUMERATED {frequency, nr},
+ deprioritisationTimer ENUMERATED {min5, min10, min15, min30}
+ } OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCRelease-v1540-IEs OPTIONAL
+}
+
+RRCRelease-v1540-IEs ::= SEQUENCE {
+ waitTime RejectWaitTime OPTIONAL, -- Need N
+ nonCriticalExtension RRCRelease-v1610-IEs OPTIONAL
+}
+
+RRCRelease-v1610-IEs ::= SEQUENCE {
+ voiceFallbackIndication-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ measIdleConfig-r16 CHOICE {release NULL, setup MeasIdleConfigDedicated-r16} OPTIONAL, -- Need M
+ nonCriticalExtension RRCRelease-v1650-IEs OPTIONAL
+}
+
+RRCRelease-v1650-IEs ::= SEQUENCE {
+ mpsPriorityIndication-r16 ENUMERATED {true} OPTIONAL, -- Cond Redirection2
+ nonCriticalExtension RRCRelease-v1710-IEs OPTIONAL
+}
+
+RRCRelease-v1710-IEs ::= SEQUENCE {
+ noLastCellUpdate-r17 ENUMERATED {true} OPTIONAL, -- Need S
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+RedirectedCarrierInfo ::= CHOICE {
+ nr CarrierInfoNR,
+ eutra RedirectedCarrierInfo-EUTRA,
+ ...
+}
+
+RedirectedCarrierInfo-EUTRA ::= SEQUENCE {
+ eutraFrequency ARFCN-ValueEUTRA,
+ cnType ENUMERATED {epc,fiveGC} OPTIONAL -- Need N
+}
+
+CarrierInfoNR ::= SEQUENCE {
+ carrierFreq ARFCN-ValueNR,
+ ssbSubcarrierSpacing SubcarrierSpacing,
+ smtc SSB-MTC OPTIONAL, -- Need S
+ ...
+}
+
+SuspendConfig ::= SEQUENCE {
+ fullI-RNTI I-RNTI-Value,
+ shortI-RNTI ShortI-RNTI-Value,
+ ran-PagingCycle PagingCycle,
+ ran-NotificationAreaInfo RAN-NotificationAreaInfo OPTIONAL, -- Need M
+ t380 PeriodicRNAU-TimerValue OPTIONAL, -- Need R
+ nextHopChainingCount NextHopChainingCount,
+ ...,
+ [[
+ sl-UEIdentityRemote-r17 RNTI-Value OPTIONAL, -- Cond L2RemoteUE
+ sdt-Config-r17 CHOICE {release NULL, setup SDT-Config-r17 } OPTIONAL, -- Need M
+ srs-PosRRC-Inactive-r17 CHOICE {release NULL, setup SRS-PosRRC-Inactive-r17 } OPTIONAL, -- Need M
+ ran-ExtendedPagingCycle-r17 ExtendedPagingCycle-r17 OPTIONAL -- Cond RANPaging
+ ]],
+ [[
+ ncd-SSB-RedCapInitialBWP-SDT-r17 CHOICE {release NULL, setup NonCellDefiningSSB-r17} OPTIONAL -- Need M
+ ]]
+}
+
+PeriodicRNAU-TimerValue ::= ENUMERATED { min5, min10, min20, min30, min60, min120, min360, min720}
+
+CellReselectionPriorities ::= SEQUENCE {
+ freqPriorityListEUTRA FreqPriorityListEUTRA OPTIONAL, -- Need M
+ freqPriorityListNR FreqPriorityListNR OPTIONAL, -- Need M
+ t320 ENUMERATED {min5, min10, min20, min30, min60, min120, min180, spare1} OPTIONAL, -- Need R
+ ...,
+ [[
+ freqPriorityListDedicatedSlicing-r17 FreqPriorityListDedicatedSlicing-r17 OPTIONAL -- Need M
+ ]]
+}
+
+PagingCycle ::= ENUMERATED {rf32, rf64, rf128, rf256}
+
+ExtendedPagingCycle-r17 ::= ENUMERATED {rf256, rf512, rf1024, spare1}
+
+FreqPriorityListEUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA
+
+FreqPriorityListNR ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityNR
+
+FreqPriorityEUTRA ::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ cellReselectionPriority CellReselectionPriority,
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL -- Need R
+}
+
+FreqPriorityNR ::= SEQUENCE {
+ carrierFreq ARFCN-ValueNR,
+ cellReselectionPriority CellReselectionPriority,
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL -- Need R
+}
+
+RAN-NotificationAreaInfo ::= CHOICE {
+ cellList PLMN-RAN-AreaCellList,
+ ran-AreaConfigList PLMN-RAN-AreaConfigList,
+ ...
+}
+
+PLMN-RAN-AreaCellList ::= SEQUENCE (SIZE (1.. maxPLMNIdentities)) OF PLMN-RAN-AreaCell
+
+PLMN-RAN-AreaCell ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL, -- Need S
+ ran-AreaCells SEQUENCE (SIZE (1..32)) OF CellIdentity
+}
+
+PLMN-RAN-AreaConfigList ::= SEQUENCE (SIZE (1..maxPLMNIdentities)) OF PLMN-RAN-AreaConfig
+
+PLMN-RAN-AreaConfig ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL, -- Need S
+ ran-Area SEQUENCE (SIZE (1..16)) OF RAN-AreaConfig
+}
+
+RAN-AreaConfig ::= SEQUENCE {
+ trackingAreaCode TrackingAreaCode,
+ ran-AreaCodeList SEQUENCE (SIZE (1..32)) OF RAN-AreaCode OPTIONAL -- Need R
+}
+
+SDT-Config-r17 ::= SEQUENCE {
+ sdt-DRB-List-r17 SEQUENCE (SIZE (0..maxDRB)) OF DRB-Identity OPTIONAL, -- Need M
+ sdt-SRB2-Indication-r17 ENUMERATED {allowed} OPTIONAL, -- Need R
+ sdt-MAC-PHY-CG-Config-r17 CHOICE {release NULL, setup SDT-CG-Config-r17} OPTIONAL, -- Need M
+ sdt-DRB-ContinueROHC-r17 ENUMERATED { cell, rna } OPTIONAL -- Need S
+}
+
+SDT-CG-Config-r17 ::= OCTET STRING (CONTAINING SDT-MAC-PHY-CG-Config-r17)
+
+SDT-MAC-PHY-CG-Config-r17 ::= SEQUENCE {
+ -- CG-SDT specific configuration
+ cg-SDT-ConfigLCH-RestrictionToAddModList-r17 SEQUENCE (SIZE(1..maxLC-ID)) OF CG-SDT-ConfigLCH-Restriction-r17 OPTIONAL, -- Need N
+ cg-SDT-ConfigLCH-RestrictionToReleaseList-r17 SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity OPTIONAL, -- Need N
+ cg-SDT-ConfigInitialBWP-NUL-r17 CHOICE {release NULL, setup BWP-UplinkDedicatedSDT-r17} OPTIONAL, -- Need M
+ cg-SDT-ConfigInitialBWP-SUL-r17 CHOICE {release NULL, setup BWP-UplinkDedicatedSDT-r17} OPTIONAL, -- Need M
+ cg-SDT-ConfigInitialBWP-DL-r17 BWP-DownlinkDedicatedSDT-r17 OPTIONAL, -- Need M
+ cg-SDT-TimeAlignmentTimer-r17 TimeAlignmentTimer OPTIONAL, -- Need M
+ cg-SDT-RSRP-ThresholdSSB-r17 RSRP-Range OPTIONAL, -- Need M
+ cg-SDT-TA-ValidationConfig-r17 CHOICE {release NULL, setup CG-SDT-TA-ValidationConfig-r17 } OPTIONAL, -- Need M
+ cg-SDT-CS-RNTI-r17 RNTI-Value OPTIONAL, -- Need M
+ ...
+}
+
+CG-SDT-TA-ValidationConfig-r17 ::= SEQUENCE {
+ cg-SDT-RSRP-ChangeThreshold-r17 ENUMERATED { dB2, dB4, dB6, dB8, dB10, dB14, dB18, dB22,
+ dB26, dB30, dB34, spare5, spare4, spare3, spare2, spare1}
+}
+
+BWP-DownlinkDedicatedSDT-r17 ::= SEQUENCE {
+ pdcch-Config-r17 CHOICE {release NULL, setup PDCCH-Config } OPTIONAL, -- Need M
+ pdsch-Config-r17 CHOICE {release NULL, setup PDSCH-Config } OPTIONAL, -- Need M
+ ...
+}
+
+BWP-UplinkDedicatedSDT-r17 ::= SEQUENCE {
+ pusch-Config-r17 CHOICE {release NULL, setup PUSCH-Config } OPTIONAL, -- Need M
+ configuredGrantConfigToAddModList-r17 ConfiguredGrantConfigToAddModList-r16 OPTIONAL, -- Need N
+ configuredGrantConfigToReleaseList-r17 ConfiguredGrantConfigToReleaseList-r16 OPTIONAL, -- Need N
+ ...
+}
+
+CG-SDT-ConfigLCH-Restriction-r17 ::= SEQUENCE {
+ logicalChannelIdentity-r17 LogicalChannelIdentity,
+ configuredGrantType1Allowed-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ allowedCG-List-r17 SEQUENCE (SIZE (0.. maxNrofConfiguredGrantConfigMAC-1-r16)) OF ConfiguredGrantConfigIndexMAC-r16
+ OPTIONAL -- Need R
+}
+
+SRS-PosRRC-Inactive-r17 ::= OCTET STRING (CONTAINING SRS-PosRRC-InactiveConfig-r17)
+
+SRS-PosRRC-InactiveConfig-r17 ::= SEQUENCE {
+ srs-PosConfigNUL-r17 SRS-PosConfig-r17 OPTIONAL, -- Need R
+ srs-PosConfigSUL-r17 SRS-PosConfig-r17 OPTIONAL, -- Need R
+ bwp-NUL-r17 BWP OPTIONAL, -- Need S
+ bwp-SUL-r17 BWP OPTIONAL, -- Need S
+ inactivePosSRS-TimeAlignmentTimer-r17 TimeAlignmentTimer OPTIONAL, -- Need M
+ inactivePosSRS-RSRP-ChangeThreshold-r17 RSRP-ChangeThreshold-r17 OPTIONAL -- Need M
+}
+
+RSRP-ChangeThreshold-r17 ::= ENUMERATED {dB4, dB6, dB8, dB10, dB14, dB18, dB22, dB26, dB30, dB34, spare6, spare5, spare4, spare3, spare2, spare1}
+
+SRS-PosConfig-r17 ::= SEQUENCE {
+ srs-PosResourceSetToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSetId-r16 OPTIONAL,-- Need N
+ srs-PosResourceSetToAddModList-r17 SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSet-r16 OPTIONAL,-- Need N
+ srs-PosResourceToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResourceId-r16 OPTIONAL,-- Need N
+ srs-PosResourceToAddModList-r17 SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResource-r16 OPTIONAL -- Need N
+}
+
+-- TAG-RRCRELEASE-STOP
+-- TAG-RRCRESUME-START
+
+RRCResume ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcResume RRCResume-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCResume-IEs ::= SEQUENCE {
+ radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M
+ masterCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
+ measConfig MeasConfig OPTIONAL, -- Need M
+ fullConfig ENUMERATED {true} OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCResume-v1560-IEs OPTIONAL
+}
+
+RRCResume-v1560-IEs ::= SEQUENCE {
+ radioBearerConfig2 OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, -- Need M
+ sk-Counter SK-Counter OPTIONAL, -- Need N
+ nonCriticalExtension RRCResume-v1610-IEs OPTIONAL
+}
+
+RRCResume-v1610-IEs ::= SEQUENCE {
+ idleModeMeasurementReq-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ restoreMCG-SCells-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ restoreSCG-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ mrdc-SecondaryCellGroup-r16 CHOICE {
+ nr-SCG-r16 OCTET STRING (CONTAINING RRCReconfiguration),
+ eutra-SCG-r16 OCTET STRING
+ } OPTIONAL, -- Cond RestoreSCG
+ needForGapsConfigNR-r16 CHOICE {release NULL, setup NeedForGapsConfigNR-r16} OPTIONAL, -- Need M
+ nonCriticalExtension RRCResume-v1700-IEs OPTIONAL
+}
+
+RRCResume-v1700-IEs ::= SEQUENCE {
+ sl-ConfigDedicatedNR-r17 CHOICE {release NULL, setup SL-ConfigDedicatedNR-r16} OPTIONAL, -- Cond L2RemoteUE
+ sl-L2RemoteUE-Config-r17 CHOICE {release NULL, setup SL-L2RemoteUE-Config-r17} OPTIONAL, -- Cond L2RemoteUE
+ needForGapNCSG-ConfigNR-r17 CHOICE {release NULL, setup NeedForGapNCSG-ConfigNR-r17} OPTIONAL, -- Need M
+ needForGapNCSG-ConfigEUTRA-r17 CHOICE {release NULL, setup NeedForGapNCSG-ConfigEUTRA-r17} OPTIONAL, -- Need M
+ scg-State-r17 ENUMERATED {deactivated} OPTIONAL, -- Need N
+ appLayerMeasConfig-r17 AppLayerMeasConfig-r17 OPTIONAL, -- Need M
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCRESUME-STOP
+-- TAG-RRCRESUMECOMPLETE-START
+
+RRCResumeComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcResumeComplete RRCResumeComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCResumeComplete-IEs ::= SEQUENCE {
+ dedicatedNAS-Message DedicatedNAS-Message OPTIONAL,
+ selectedPLMN-Identity INTEGER (1..maxPLMN) OPTIONAL,
+ uplinkTxDirectCurrentList UplinkTxDirectCurrentList OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCResumeComplete-v1610-IEs OPTIONAL
+}
+
+RRCResumeComplete-v1610-IEs ::= SEQUENCE {
+ idleMeasAvailable-r16 ENUMERATED {true} OPTIONAL,
+ measResultIdleEUTRA-r16 MeasResultIdleEUTRA-r16 OPTIONAL,
+ measResultIdleNR-r16 MeasResultIdleNR-r16 OPTIONAL,
+ scg-Response-r16 CHOICE {
+ nr-SCG-Response OCTET STRING (CONTAINING RRCReconfigurationComplete),
+ eutra-SCG-Response OCTET STRING
+ } OPTIONAL,
+ ue-MeasurementsAvailable-r16 UE-MeasurementsAvailable-r16 OPTIONAL,
+ mobilityHistoryAvail-r16 ENUMERATED {true} OPTIONAL,
+ mobilityState-r16 ENUMERATED {normal, medium, high, spare} OPTIONAL,
+ needForGapsInfoNR-r16 NeedForGapsInfoNR-r16 OPTIONAL,
+ nonCriticalExtension RRCResumeComplete-v1640-IEs OPTIONAL
+}
+
+RRCResumeComplete-v1640-IEs ::= SEQUENCE {
+ uplinkTxDirectCurrentTwoCarrierList-r16 UplinkTxDirectCurrentTwoCarrierList-r16 OPTIONAL,
+ nonCriticalExtension RRCResumeComplete-v1700-IEs OPTIONAL
+}
+
+RRCResumeComplete-v1700-IEs ::= SEQUENCE {
+ needForGapNCSG-InfoNR-r17 NeedForGapNCSG-InfoNR-r17 OPTIONAL,
+ needForGapNCSG-InfoEUTRA-r17 NeedForGapNCSG-InfoEUTRA-r17 OPTIONAL,
+ nonCriticalExtension RRCResumeComplete-v1720-IEs OPTIONAL
+}
+
+RRCResumeComplete-v1720-IEs ::= SEQUENCE {
+ uplinkTxDirectCurrentMoreCarrierList-r17 UplinkTxDirectCurrentMoreCarrierList-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCRESUMECOMPLETE-STOP
+-- TAG-RRCRESUMEREQUEST-START
+
+RRCResumeRequest ::= SEQUENCE {
+ rrcResumeRequest RRCResumeRequest-IEs
+}
+
+RRCResumeRequest-IEs ::= SEQUENCE {
+ resumeIdentity ShortI-RNTI-Value,
+ resumeMAC-I BIT STRING (SIZE (16)),
+ resumeCause ResumeCause,
+ spare BIT STRING (SIZE (1))
+}
+
+-- TAG-RRCRESUMEREQUEST-STOP
+-- TAG-RRCRESUMEREQUEST1-START
+
+RRCResumeRequest1 ::= SEQUENCE {
+ rrcResumeRequest1 RRCResumeRequest1-IEs
+}
+
+RRCResumeRequest1-IEs ::= SEQUENCE {
+ resumeIdentity I-RNTI-Value,
+ resumeMAC-I BIT STRING (SIZE (16)),
+ resumeCause ResumeCause,
+ spare BIT STRING (SIZE (1))
+}
+
+-- TAG-RRCRESUMEREQUEST1-STOP
+-- TAG-RRCSETUP-START
+
+RRCSetup ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcSetup RRCSetup-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCSetup-IEs ::= SEQUENCE {
+ radioBearerConfig RadioBearerConfig,
+ masterCellGroup OCTET STRING (CONTAINING CellGroupConfig),
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCSetup-v1700-IEs OPTIONAL
+}
+
+RRCSetup-v1700-IEs ::= SEQUENCE {
+ sl-ConfigDedicatedNR-r17 SL-ConfigDedicatedNR-r16 OPTIONAL, -- Cond L2RemoteUE
+ sl-L2RemoteUE-Config-r17 SL-L2RemoteUE-Config-r17 OPTIONAL, -- Cond L2RemoteUE
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCSETUP-STOP
+-- TAG-RRCSETUPCOMPLETE-START
+
+RRCSetupComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcSetupComplete RRCSetupComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCSetupComplete-IEs ::= SEQUENCE {
+ selectedPLMN-Identity INTEGER (1..maxPLMN),
+ registeredAMF RegisteredAMF OPTIONAL,
+ guami-Type ENUMERATED {native, mapped} OPTIONAL,
+ s-NSSAI-List SEQUENCE (SIZE (1..maxNrofS-NSSAI)) OF S-NSSAI OPTIONAL,
+ dedicatedNAS-Message DedicatedNAS-Message,
+ ng-5G-S-TMSI-Value CHOICE {
+ ng-5G-S-TMSI NG-5G-S-TMSI,
+ ng-5G-S-TMSI-Part2 BIT STRING (SIZE (9))
+ } OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCSetupComplete-v1610-IEs OPTIONAL
+}
+
+RRCSetupComplete-v1610-IEs ::= SEQUENCE {
+ iab-NodeIndication-r16 ENUMERATED {true} OPTIONAL,
+ idleMeasAvailable-r16 ENUMERATED {true} OPTIONAL,
+ ue-MeasurementsAvailable-r16 UE-MeasurementsAvailable-r16 OPTIONAL,
+ mobilityHistoryAvail-r16 ENUMERATED {true} OPTIONAL,
+ mobilityState-r16 ENUMERATED {normal, medium, high, spare} OPTIONAL,
+ nonCriticalExtension RRCSetupComplete-v1690-IEs OPTIONAL
+}
+
+RRCSetupComplete-v1690-IEs ::= SEQUENCE {
+ ul-RRC-Segmentation-r16 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension RRCSetupComplete-v1700-IEs OPTIONAL
+}
+
+RRCSetupComplete-v1700-IEs ::= SEQUENCE {
+ onboardingRequest-r17 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+RegisteredAMF ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL,
+ amf-Identifier AMF-Identifier
+}
+
+-- TAG-RRCSETUPCOMPLETE-STOP
+-- TAG-RRCSETUPREQUEST-START
+
+RRCSetupRequest ::= SEQUENCE {
+ rrcSetupRequest RRCSetupRequest-IEs
+}
+
+RRCSetupRequest-IEs ::= SEQUENCE {
+ ue-Identity InitialUE-Identity,
+ establishmentCause EstablishmentCause,
+ spare BIT STRING (SIZE (1))
+}
+
+InitialUE-Identity ::= CHOICE {
+ ng-5G-S-TMSI-Part1 BIT STRING (SIZE (39)),
+ randomValue BIT STRING (SIZE (39))
+}
+
+EstablishmentCause ::= ENUMERATED {
+ emergency, highPriorityAccess, mt-Access, mo-Signalling,
+ mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, mps-PriorityAccess, mcs-PriorityAccess,
+ spare6, spare5, spare4, spare3, spare2, spare1}
+
+-- TAG-RRCSETUPREQUEST-STOP
+-- TAG-RRCSYSTEMINFOREQUEST-START
+
+RRCSystemInfoRequest ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ rrcSystemInfoRequest RRCSystemInfoRequest-IEs,
+ criticalExtensionsFuture-r16 CHOICE {
+ rrcPosSystemInfoRequest-r16 RRC-PosSystemInfoRequest-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+ }
+}
+
+RRCSystemInfoRequest-IEs ::= SEQUENCE {
+ requested-SI-List BIT STRING (SIZE (maxSI-Message)), --32bits
+ spare BIT STRING (SIZE (12))
+}
+
+RRC-PosSystemInfoRequest-r16-IEs ::= SEQUENCE {
+ requestedPosSI-List BIT STRING (SIZE (maxSI-Message)), --32bits
+ spare BIT STRING (SIZE (11))
+}
+
+-- TAG-RRCSYSTEMINFOREQUEST-STOP
+-- TAG-SCGFAILUREINFORMATION-START
+
+SCGFailureInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ scgFailureInformation SCGFailureInformation-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SCGFailureInformation-IEs ::= SEQUENCE {
+ failureReportSCG FailureReportSCG OPTIONAL,
+ nonCriticalExtension SCGFailureInformation-v1590-IEs OPTIONAL
+}
+
+SCGFailureInformation-v1590-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+FailureReportSCG ::= SEQUENCE {
+ failureType ENUMERATED {
+ t310-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx,
+ synchReconfigFailureSCG, scg-ReconfigFailure,
+ srb3-IntegrityFailure, other-r16, spare1},
+ measResultFreqList MeasResultFreqList OPTIONAL,
+ measResultSCG-Failure OCTET STRING (CONTAINING MeasResultSCG-Failure) OPTIONAL,
+ ...,
+ [[
+ locationInfo-r16 LocationInfo-r16 OPTIONAL,
+ failureType-v1610 ENUMERATED {scg-lbtFailure-r16, beamFailureRecoveryFailure-r16,
+ t312-Expiry-r16, bh-RLF-r16, beamFailure-r17, spare3, spare2, spare1} OPTIONAL
+ ]],
+ [[
+ previousPSCellId-r17 SEQUENCE {
+ physCellId-r17 PhysCellId,
+ carrierFreq-r17 ARFCN-ValueNR
+ } OPTIONAL,
+ failedPSCellId-r17 SEQUENCE {
+ physCellId-r17 PhysCellId,
+ carrierFreq-r17 ARFCN-ValueNR
+ } OPTIONAL,
+ timeSCGFailure-r17 INTEGER (0..1023) OPTIONAL,
+ perRAInfoList-r17 PerRAInfoList-r16 OPTIONAL
+ ]]
+}
+
+MeasResultFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR
+
+
+-- TAG-SCGFAILUREINFORMATION-STOP
+-- TAG-SCGFAILUREINFORMATIONEUTRA-START
+
+SCGFailureInformationEUTRA ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ scgFailureInformationEUTRA SCGFailureInformationEUTRA-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SCGFailureInformationEUTRA-IEs ::= SEQUENCE {
+ failureReportSCG-EUTRA FailureReportSCG-EUTRA OPTIONAL,
+ nonCriticalExtension SCGFailureInformationEUTRA-v1590-IEs OPTIONAL
+}
+
+SCGFailureInformationEUTRA-v1590-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+FailureReportSCG-EUTRA ::= SEQUENCE {
+ failureType ENUMERATED {
+ t313-Expiry, randomAccessProblem,rlc-MaxNumRetx,
+ scg-ChangeFailure, spare4,
+ spare3, spare2, spare1},
+ measResultFreqListMRDC MeasResultFreqListFailMRDC OPTIONAL,
+ measResultSCG-FailureMRDC OCTET STRING OPTIONAL,
+ ...,
+ [[
+ locationInfo-r16 LocationInfo-r16 OPTIONAL
+ ]]
+}
+
+MeasResultFreqListFailMRDC ::= SEQUENCE (SIZE (1.. maxFreq)) OF MeasResult2EUTRA
+
+-- TAG-SCGFAILUREINFORMATIONEUTRA-STOP
+-- TAG-SECURITYMODECOMMAND-START
+
+SecurityModeCommand ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ securityModeCommand SecurityModeCommand-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SecurityModeCommand-IEs ::= SEQUENCE {
+ securityConfigSMC SecurityConfigSMC,
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+SecurityConfigSMC ::= SEQUENCE {
+ securityAlgorithmConfig SecurityAlgorithmConfig,
+ ...
+}
+
+-- TAG-SECURITYMODECOMMAND-STOP
+-- TAG-SECURITYMODECOMPLETE-START
+
+SecurityModeComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ securityModeComplete SecurityModeComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SecurityModeComplete-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-SECURITYMODECOMPLETE-STOP
+-- TAG-SECURITYMODEFAILURE-START
+
+SecurityModeFailure ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ securityModeFailure SecurityModeFailure-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SecurityModeFailure-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-SECURITYMODEFAILURE-STOP
+-- TAG-SIB1-START
+
+SIB1 ::= SEQUENCE {
+ cellSelectionInfo SEQUENCE {
+ q-RxLevMin Q-RxLevMin,
+ q-RxLevMinOffset INTEGER (1..8) OPTIONAL, -- Need S
+ q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R
+ q-QualMin Q-QualMin OPTIONAL, -- Need S
+ q-QualMinOffset INTEGER (1..8) OPTIONAL -- Need S
+ } OPTIONAL, -- Cond Standalone
+ cellAccessRelatedInfo CellAccessRelatedInfo,
+ connEstFailureControl ConnEstFailureControl OPTIONAL, -- Need R
+ si-SchedulingInfo SI-SchedulingInfo OPTIONAL, -- Need R
+ servingCellConfigCommon ServingCellConfigCommonSIB OPTIONAL, -- Need R
+ ims-EmergencySupport ENUMERATED {true} OPTIONAL, -- Need R
+ eCallOverIMS-Support ENUMERATED {true} OPTIONAL, -- Need R
+ ue-TimersAndConstants UE-TimersAndConstants OPTIONAL, -- Need R
+ uac-BarringInfo SEQUENCE {
+ uac-BarringForCommon UAC-BarringPerCatList OPTIONAL, -- Need S
+ uac-BarringPerPLMN-List UAC-BarringPerPLMN-List OPTIONAL, -- Need S
+ uac-BarringInfoSetList UAC-BarringInfoSetList,
+ uac-AccessCategory1-SelectionAssistanceInfo CHOICE {
+ plmnCommon UAC-AccessCategory1-SelectionAssistanceInfo,
+ individualPLMNList SEQUENCE (SIZE (2..maxPLMN)) OF UAC-AccessCategory1-SelectionAssistanceInfo
+ } OPTIONAL -- Need S
+ } OPTIONAL, -- Need R
+ useFullResumeID ENUMERATED {true} OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SIB1-v1610-IEs OPTIONAL
+}
+
+SIB1-v1610-IEs ::= SEQUENCE {
+ idleModeMeasurementsEUTRA-r16 ENUMERATED{true} OPTIONAL, -- Need R
+ idleModeMeasurementsNR-r16 ENUMERATED{true} OPTIONAL, -- Need R
+ posSI-SchedulingInfo-r16 PosSI-SchedulingInfo-r16 OPTIONAL, -- Need R
+ nonCriticalExtension SIB1-v1630-IEs OPTIONAL
+}
+
+SIB1-v1630-IEs ::= SEQUENCE {
+ uac-BarringInfo-v1630 SEQUENCE {
+ uac-AC1-SelectAssistInfo-r16 SEQUENCE (SIZE (2..maxPLMN)) OF UAC-AC1-SelectAssistInfo-r16
+ } OPTIONAL, -- Need R
+ nonCriticalExtension SIB1-v1700-IEs OPTIONAL
+}
+
+SIB1-v1700-IEs ::= SEQUENCE {
+ hsdn-Cell-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ uac-BarringInfo-v1700 SEQUENCE {
+ uac-BarringInfoSetList-v1700 UAC-BarringInfoSetList-v1700
+ } OPTIONAL, -- Cond MINT
+ sdt-ConfigCommon-r17 SDT-ConfigCommonSIB-r17 OPTIONAL, -- Need R
+ redCap-ConfigCommon-r17 RedCap-ConfigCommonSIB-r17 OPTIONAL, -- Need R
+ featurePriorities-r17 SEQUENCE {
+ redCapPriority-r17 FeaturePriority-r17 OPTIONAL, -- Need R
+ slicingPriority-r17 FeaturePriority-r17 OPTIONAL, -- Need R
+ msg3-Repetitions-Priority-r17 FeaturePriority-r17 OPTIONAL, -- Need R
+ sdt-Priority-r17 FeaturePriority-r17 OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ si-SchedulingInfo-v1700 SI-SchedulingInfo-v1700 OPTIONAL, -- Need R
+ hyperSFN-r17 BIT STRING (SIZE (10)) OPTIONAL, -- Need R
+ eDRX-AllowedIdle-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ eDRX-AllowedInactive-r17 ENUMERATED {true} OPTIONAL, -- Cond EDRX-RC
+ intraFreqReselectionRedCap-r17 ENUMERATED {allowed, notAllowed} OPTIONAL, -- Need S
+ cellBarredNTN-r17 ENUMERATED {barred, notBarred} OPTIONAL, -- Need S
+ nonCriticalExtension SIB1-v1740-IEs OPTIONAL
+}
+
+SIB1-v1740-IEs ::= SEQUENCE {
+ si-SchedulingInfo-v1740 SI-SchedulingInfo-v1740 OPTIONAL, -- Need R
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+UAC-AccessCategory1-SelectionAssistanceInfo ::= ENUMERATED {a, b, c}
+
+UAC-AC1-SelectAssistInfo-r16 ::= ENUMERATED {a, b, c, notConfigured}
+
+SDT-ConfigCommonSIB-r17 ::= SEQUENCE {
+ sdt-RSRP-Threshold-r17 RSRP-Range OPTIONAL, -- Need R
+ sdt-LogicalChannelSR-DelayTimer-r17 ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL, -- Need R
+ sdt-DataVolumeThreshold-r17 ENUMERATED {byte32, byte100, byte200, byte400, byte600, byte800, byte1000, byte2000, byte4000,
+ byte8000, byte9000, byte10000, byte12000, byte24000, byte48000, byte96000},
+ t319a-r17 ENUMERATED { ms100, ms200, ms300, ms400, ms600, ms1000, ms2000,
+ ms3000, ms4000, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+}
+
+RedCap-ConfigCommonSIB-r17 ::= SEQUENCE {
+ halfDuplexRedCapAllowed-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ cellBarredRedCap-r17 SEQUENCE {
+ cellBarredRedCap1Rx-r17 ENUMERATED {barred, notBarred},
+ cellBarredRedCap2Rx-r17 ENUMERATED {barred, notBarred}
+ } OPTIONAL, -- Need R
+ ...
+}
+
+FeaturePriority-r17 ::= INTEGER (0..7)
+
+-- TAG-SIB1-STOP
+-- TAG-SIDELINKUEINFORMATIONNR-START
+
+SidelinkUEInformationNR-r16::= SEQUENCE {
+ criticalExtensions CHOICE {
+ sidelinkUEInformationNR-r16 SidelinkUEInformationNR-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SidelinkUEInformationNR-r16-IEs ::= SEQUENCE {
+ sl-RxInterestedFreqList-r16 SL-InterestedFreqList-r16 OPTIONAL,
+ sl-TxResourceReqList-r16 SL-TxResourceReqList-r16 OPTIONAL,
+ sl-FailureList-r16 SL-FailureList-r16 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SidelinkUEInformationNR-v1700-IEs OPTIONAL
+}
+
+SidelinkUEInformationNR-v1700-IEs ::= SEQUENCE {
+ sl-TxResourceReqList-v1700 SL-TxResourceReqList-v1700 OPTIONAL,
+ sl-RxDRX-ReportList-v1700 SL-RxDRX-ReportList-v1700 OPTIONAL,
+ sl-RxInterestedGC-BC-DestList-r17 SL-RxInterestedGC-BC-DestList-r17 OPTIONAL,
+ sl-RxInterestedFreqListDisc-r17 SL-InterestedFreqList-r16 OPTIONAL,
+ sl-TxResourceReqListDisc-r17 SL-TxResourceReqListDisc-r17 OPTIONAL,
+ sl-TxResourceReqListCommRelay-r17 SL-TxResourceReqListCommRelay-r17 OPTIONAL,
+ ue-Type-r17 ENUMERATED {relayUE, remoteUE} OPTIONAL,
+ sl-SourceIdentityRemoteUE-r17 SL-SourceIdentity-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+SL-InterestedFreqList-r16 ::= SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF INTEGER (1..maxNrofFreqSL-r16)
+
+SL-TxResourceReqList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReq-r16
+
+SL-TxResourceReq-r16 ::= SEQUENCE {
+ sl-DestinationIdentity-r16 SL-DestinationIdentity-r16,
+ sl-CastType-r16 ENUMERATED {broadcast, groupcast, unicast, spare1},
+ sl-RLC-ModeIndicationList-r16 SEQUENCE (SIZE (1.. maxNrofSLRB-r16)) OF SL-RLC-ModeIndication-r16 OPTIONAL,
+ sl-QoS-InfoList-r16 SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16 OPTIONAL,
+ sl-TypeTxSyncList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16 OPTIONAL,
+ sl-TxInterestedFreqList-r16 SL-TxInterestedFreqList-r16 OPTIONAL,
+ sl-CapabilityInformationSidelink-r16 OCTET STRING OPTIONAL
+}
+
+SL-TxResourceReqList-v1700 ::= SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReq-v1700
+
+SL-RxDRX-ReportList-v1700 ::= SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-RxDRX-Report-v1700
+
+SL-TxResourceReq-v1700 ::= SEQUENCE {
+ sl-DRX-InfoFromRxList-r17 SEQUENCE (SIZE (1..maxNrofSL-RxInfoSet-r17)) OF SL-DRX-ConfigUC-SemiStatic-r17 OPTIONAL,
+ sl-DRX-Indication-r17 ENUMERATED {on, off} OPTIONAL,
+ ...
+}
+
+SL-RxDRX-Report-v1700 ::= SEQUENCE {
+ sl-DRX-ConfigFromTx-r17 SL-DRX-ConfigUC-SemiStatic-r17,
+ ...}
+
+SL-RxInterestedGC-BC-DestList-r17 ::= SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-RxInterestedGC-BC-Dest-r17
+
+SL-RxInterestedGC-BC-Dest-r17 ::= SEQUENCE {
+ sl-RxInterestedQoS-InfoList-r17 SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16,
+ sl-DestinationIdentity-r16 SL-DestinationIdentity-r16
+}
+
+SL-TxResourceReqListDisc-r17 ::= SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReqDisc-r17
+
+SL-TxResourceReqDisc-r17 ::= SEQUENCE {
+ sl-DestinationIdentityDisc-r17 SL-DestinationIdentity-r16,
+ sl-SourceIdentityRelayUE-r17 SL-SourceIdentity-r17 OPTIONAL,
+ sl-CastTypeDisc-r17 ENUMERATED {broadcast, groupcast, unicast, spare1},
+ sl-TxInterestedFreqListDisc-r17 SL-TxInterestedFreqList-r16,
+ sl-TypeTxSyncListDisc-r17 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16,
+ sl-DiscoveryType-r17 ENUMERATED {relay, non-Relay},
+ ...
+}
+
+SL-TxResourceReqListCommRelay-r17 ::= SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReqCommRelayInfo-r17
+
+SL-TxResourceReqCommRelayInfo-r17 ::= SEQUENCE {
+ sl-RelayDRXConfig-r17 SL-TxResourceReq-v1700 OPTIONAL,
+ sl-TxResourceReqCommRelay-r17 SL-TxResourceReqCommRelay-r17
+}
+
+SL-TxResourceReqCommRelay-r17 ::= CHOICE {
+ sl-TxResourceReqL2U2N-Relay-r17 SL-TxResourceReqL2U2N-Relay-r17,
+ sl-TxResourceReqL3U2N-Relay-r17 SL-TxResourceReq-r16
+}
+
+SL-TxResourceReqL2U2N-Relay-r17 ::= SEQUENCE {
+ sl-DestinationIdentityL2U2N-r17 SL-DestinationIdentity-r16 OPTIONAL,
+ sl-TxInterestedFreqListL2U2N-r17 SL-TxInterestedFreqList-r16,
+ sl-TypeTxSyncListL2U2N-r17 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16,
+ sl-LocalID-Request-r17 ENUMERATED {true} OPTIONAL,
+ sl-PagingIdentityRemoteUE-r17 SL-PagingIdentityRemoteUE-r17 OPTIONAL,
+ sl-CapabilityInformationSidelink-r17 OCTET STRING OPTIONAL,
+ ...
+}
+
+SL-TxInterestedFreqList-r16 ::= SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF INTEGER (1..maxNrofFreqSL-r16)
+
+SL-QoS-Info-r16 ::= SEQUENCE {
+ sl-QoS-FlowIdentity-r16 SL-QoS-FlowIdentity-r16,
+ sl-QoS-Profile-r16 SL-QoS-Profile-r16 OPTIONAL
+}
+
+SL-RLC-ModeIndication-r16 ::= SEQUENCE {
+ sl-Mode-r16 CHOICE {
+ sl-AM-Mode-r16 NULL,
+ sl-UM-Mode-r16 NULL
+ },
+ sl-QoS-InfoList-r16 SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16
+}
+
+SL-FailureList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-Failure-r16
+
+SL-Failure-r16 ::= SEQUENCE {
+ sl-DestinationIdentity-r16 SL-DestinationIdentity-r16,
+ sl-Failure-r16 ENUMERATED {rlf,configFailure, drxReject-v1710, spare5, spare4, spare3, spare2, spare1}
+}
+
+-- TAG-SIDELINKUEINFORMATIONNR-STOP
+-- TAG-SYSTEMINFORMATION-START
+
+SystemInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ systemInformation SystemInformation-IEs,
+ criticalExtensionsFuture-r16 CHOICE {
+ posSystemInformation-r16 PosSystemInformation-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+ }
+}
+
+SystemInformation-IEs ::= SEQUENCE {
+ sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
+ sib2 SIB2,
+ sib3 SIB3,
+ sib4 SIB4,
+ sib5 SIB5,
+ sib6 SIB6,
+ sib7 SIB7,
+ sib8 SIB8,
+ sib9 SIB9,
+ ...,
+ sib10-v1610 SIB10-r16,
+ sib11-v1610 SIB11-r16,
+ sib12-v1610 SIB12-r16,
+ sib13-v1610 SIB13-r16,
+ sib14-v1610 SIB14-r16,
+ sib15-v1700 SIB15-r17,
+ sib16-v1700 SIB16-r17,
+ sib17-v1700 SIB17-r17,
+ sib18-v1700 SIB18-r17,
+ sib19-v1700 SIB19-r17,
+ sib20-v1700 SIB20-r17,
+ sib21-v1700 SIB21-r17
+ },
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-SYSTEMINFORMATION-STOP
+-- TAG-UEASSISTANCEINFORMATION-START
+
+UEAssistanceInformation ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ ueAssistanceInformation UEAssistanceInformation-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEAssistanceInformation-IEs ::= SEQUENCE {
+ delayBudgetReport DelayBudgetReport OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UEAssistanceInformation-v1540-IEs OPTIONAL
+}
+
+DelayBudgetReport::= CHOICE {
+ type1 ENUMERATED {
+ msMinus1280, msMinus640, msMinus320, msMinus160,msMinus80, msMinus60, msMinus40,
+ msMinus20, ms0, ms20,ms40, ms60, ms80, ms160, ms320, ms640, ms1280},
+ ...
+}
+
+UEAssistanceInformation-v1540-IEs ::= SEQUENCE {
+ overheatingAssistance OverheatingAssistance OPTIONAL,
+ nonCriticalExtension UEAssistanceInformation-v1610-IEs OPTIONAL
+}
+
+OverheatingAssistance ::= SEQUENCE {
+ reducedMaxCCs ReducedMaxCCs-r16 OPTIONAL,
+ reducedMaxBW-FR1 ReducedMaxBW-FRx-r16 OPTIONAL,
+ reducedMaxBW-FR2 ReducedMaxBW-FRx-r16 OPTIONAL,
+ reducedMaxMIMO-LayersFR1 SEQUENCE {
+ reducedMIMO-LayersFR1-DL MIMO-LayersDL,
+ reducedMIMO-LayersFR1-UL MIMO-LayersUL
+ } OPTIONAL,
+ reducedMaxMIMO-LayersFR2 SEQUENCE {
+ reducedMIMO-LayersFR2-DL MIMO-LayersDL,
+ reducedMIMO-LayersFR2-UL MIMO-LayersUL
+ } OPTIONAL
+}
+OverheatingAssistance-r17 ::= SEQUENCE {
+ reducedMaxBW-FR2-2-r17 SEQUENCE {
+ reducedBW-FR2-2-DL-r17 ReducedAggregatedBandwidth-r17,
+ reducedBW-FR2-2-UL-r17 ReducedAggregatedBandwidth-r17
+ } OPTIONAL,
+ reducedMaxMIMO-LayersFR2-2 SEQUENCE {
+ reducedMIMO-LayersFR2-2-DL MIMO-LayersDL,
+ reducedMIMO-LayersFR2-2-UL MIMO-LayersUL
+ } OPTIONAL
+}
+
+ReducedAggregatedBandwidth ::= ENUMERATED {mhz0, mhz10, mhz20, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100, mhz200, mhz300, mhz400}
+
+ReducedAggregatedBandwidth-r17 ::= ENUMERATED {mhz0, mhz100, mhz200, mhz400, mhz800, mhz1200, mhz1600, mhz2000}
+
+UEAssistanceInformation-v1610-IEs ::= SEQUENCE {
+ idc-Assistance-r16 IDC-Assistance-r16 OPTIONAL,
+ drx-Preference-r16 DRX-Preference-r16 OPTIONAL,
+ maxBW-Preference-r16 MaxBW-Preference-r16 OPTIONAL,
+ maxCC-Preference-r16 MaxCC-Preference-r16 OPTIONAL,
+ maxMIMO-LayerPreference-r16 MaxMIMO-LayerPreference-r16 OPTIONAL,
+ minSchedulingOffsetPreference-r16 MinSchedulingOffsetPreference-r16 OPTIONAL,
+ releasePreference-r16 ReleasePreference-r16 OPTIONAL,
+ sl-UE-AssistanceInformationNR-r16 SL-UE-AssistanceInformationNR-r16 OPTIONAL,
+ referenceTimeInfoPreference-r16 BOOLEAN OPTIONAL,
+ nonCriticalExtension UEAssistanceInformation-v1700-IEs OPTIONAL
+}
+
+UEAssistanceInformation-v1700-IEs ::= SEQUENCE {
+ ul-GapFR2-Preference-r17 UL-GapFR2-Preference-r17 OPTIONAL,
+ musim-Assistance-r17 MUSIM-Assistance-r17 OPTIONAL,
+ overheatingAssistance-r17 OverheatingAssistance-r17 OPTIONAL,
+ maxBW-PreferenceFR2-2-r17 MaxBW-PreferenceFR2-2-r17 OPTIONAL,
+ maxMIMO-LayerPreferenceFR2-2-r17 MaxMIMO-LayerPreferenceFR2-2-r17 OPTIONAL,
+ minSchedulingOffsetPreferenceExt-r17 MinSchedulingOffsetPreferenceExt-r17 OPTIONAL,
+ rlm-MeasRelaxationState-r17 BOOLEAN OPTIONAL,
+ bfd-MeasRelaxationState-r17 BIT STRING (SIZE (1..maxNrofServingCells)) OPTIONAL,
+ nonSDT-DataIndication-r17 SEQUENCE {
+ resumeCause-r17 ResumeCause OPTIONAL
+ } OPTIONAL,
+ scg-DeactivationPreference-r17 ENUMERATED { scgDeactivationPreferred, noPreference } OPTIONAL,
+ uplinkData-r17 ENUMERATED { true } OPTIONAL,
+ rrm-MeasRelaxationFulfilment-r17 BOOLEAN OPTIONAL,
+ propagationDelayDifference-r17 PropagationDelayDifference-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+IDC-Assistance-r16 ::= SEQUENCE {
+ affectedCarrierFreqList-r16 AffectedCarrierFreqList-r16 OPTIONAL,
+ affectedCarrierFreqCombList-r16 AffectedCarrierFreqCombList-r16 OPTIONAL,
+ ...
+}
+
+AffectedCarrierFreqList-r16 ::= SEQUENCE (SIZE (1.. maxFreqIDC-r16)) OF AffectedCarrierFreq-r16
+
+AffectedCarrierFreq-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueNR,
+ interferenceDirection-r16 ENUMERATED {nr, other, both, spare}
+}
+
+AffectedCarrierFreqCombList-r16 ::= SEQUENCE (SIZE (1..maxCombIDC-r16)) OF AffectedCarrierFreqComb-r16
+
+AffectedCarrierFreqComb-r16 ::= SEQUENCE {
+ affectedCarrierFreqComb-r16 SEQUENCE (SIZE (2..maxNrofServingCells)) OF ARFCN-ValueNR OPTIONAL,
+ victimSystemType-r16 VictimSystemType-r16
+}
+
+VictimSystemType-r16 ::= SEQUENCE {
+ gps-r16 ENUMERATED {true} OPTIONAL,
+ glonass-r16 ENUMERATED {true} OPTIONAL,
+ bds-r16 ENUMERATED {true} OPTIONAL,
+ galileo-r16 ENUMERATED {true} OPTIONAL,
+ navIC-r16 ENUMERATED {true} OPTIONAL,
+ wlan-r16 ENUMERATED {true} OPTIONAL,
+ bluetooth-r16 ENUMERATED {true} OPTIONAL,
+ ...
+}
+
+DRX-Preference-r16 ::= SEQUENCE {
+ preferredDRX-InactivityTimer-r16 ENUMERATED {
+ ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
+ ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1} OPTIONAL,
+ preferredDRX-LongCycle-r16 ENUMERATED {
+ ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512,
+ ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, spare12, spare11, spare10,
+ spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL,
+ preferredDRX-ShortCycle-r16 ENUMERATED {
+ ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
+ ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL,
+ preferredDRX-ShortCycleTimer-r16 INTEGER (1..16) OPTIONAL
+}
+
+MaxBW-Preference-r16 ::= SEQUENCE {
+ reducedMaxBW-FR1-r16 ReducedMaxBW-FRx-r16 OPTIONAL,
+ reducedMaxBW-FR2-r16 ReducedMaxBW-FRx-r16 OPTIONAL
+}
+
+MaxBW-PreferenceFR2-2-r17 ::= SEQUENCE {
+ reducedMaxBW-FR2-2-r17 SEQUENCE {
+ reducedBW-FR2-2-DL-r17 ReducedAggregatedBandwidth-r17 OPTIONAL,
+ reducedBW-FR2-2-UL-r17 ReducedAggregatedBandwidth-r17 OPTIONAL
+ } OPTIONAL
+}
+
+MaxCC-Preference-r16 ::= SEQUENCE {
+ reducedMaxCCs-r16 ReducedMaxCCs-r16 OPTIONAL
+}
+
+MaxMIMO-LayerPreference-r16 ::= SEQUENCE {
+ reducedMaxMIMO-LayersFR1-r16 SEQUENCE {
+ reducedMIMO-LayersFR1-DL-r16 INTEGER (1..8),
+ reducedMIMO-LayersFR1-UL-r16 INTEGER (1..4)
+ } OPTIONAL,
+ reducedMaxMIMO-LayersFR2-r16 SEQUENCE {
+ reducedMIMO-LayersFR2-DL-r16 INTEGER (1..8),
+ reducedMIMO-LayersFR2-UL-r16 INTEGER (1..4)
+ } OPTIONAL
+}
+
+MaxMIMO-LayerPreferenceFR2-2-r17 ::= SEQUENCE {
+ reducedMaxMIMO-LayersFR2-2-r17 SEQUENCE {
+ reducedMIMO-LayersFR2-2-DL-r17 INTEGER (1..8),
+ reducedMIMO-LayersFR2-2-UL-r17 INTEGER (1..4)
+ } OPTIONAL
+}
+
+MinSchedulingOffsetPreference-r16 ::= SEQUENCE {
+ preferredK0-r16 SEQUENCE {
+ preferredK0-SCS-15kHz-r16 ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL,
+ preferredK0-SCS-30kHz-r16 ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL,
+ preferredK0-SCS-60kHz-r16 ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL,
+ preferredK0-SCS-120kHz-r16 ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL
+ } OPTIONAL,
+ preferredK2-r16 SEQUENCE {
+ preferredK2-SCS-15kHz-r16 ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL,
+ preferredK2-SCS-30kHz-r16 ENUMERATED {sl1, sl2, sl4, sl6} OPTIONAL,
+ preferredK2-SCS-60kHz-r16 ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL,
+ preferredK2-SCS-120kHz-r16 ENUMERATED {sl2, sl4, sl8, sl12} OPTIONAL
+ } OPTIONAL
+}
+
+MinSchedulingOffsetPreferenceExt-r17 ::= SEQUENCE {
+ preferredK0-r17 SEQUENCE {
+ preferredK0-SCS-480kHz-r17 ENUMERATED {sl8, sl16, sl32, sl48} OPTIONAL,
+ preferredK0-SCS-960kHz-r17 ENUMERATED {sl8, sl16, sl32, sl48} OPTIONAL
+ } OPTIONAL,
+ preferredK2-r17 SEQUENCE {
+ preferredK2-SCS-480kHz-r17 ENUMERATED {sl8, sl16, sl32, sl48} OPTIONAL,
+ preferredK2-SCS-960kHz-r17 ENUMERATED {sl8, sl16, sl32, sl48} OPTIONAL
+ } OPTIONAL
+}
+
+MUSIM-Assistance-r17 ::= SEQUENCE {
+ musim-PreferredRRC-State-r17 ENUMERATED {idle, inactive, outOfConnected} OPTIONAL,
+ musim-GapPreferenceList-r17 MUSIM-GapPreferenceList-r17 OPTIONAL
+}
+
+MUSIM-GapPreferenceList-r17 ::= SEQUENCE (SIZE (1..4)) OF MUSIM-GapInfo-r17
+
+ReleasePreference-r16 ::= SEQUENCE {
+ preferredRRC-State-r16 ENUMERATED {idle, inactive, connected, outOfConnected}
+}
+
+ReducedMaxBW-FRx-r16 ::= SEQUENCE {
+ reducedBW-DL-r16 ReducedAggregatedBandwidth,
+ reducedBW-UL-r16 ReducedAggregatedBandwidth
+}
+
+ReducedMaxCCs-r16 ::= SEQUENCE {
+ reducedCCsDL-r16 INTEGER (0..31),
+ reducedCCsUL-r16 INTEGER (0..31)
+}
+
+SL-UE-AssistanceInformationNR-r16 ::= SEQUENCE (SIZE (1..maxNrofTrafficPattern-r16)) OF SL-TrafficPatternInfo-r16
+
+SL-TrafficPatternInfo-r16::= SEQUENCE {
+ trafficPeriodicity-r16 ENUMERATED {ms20, ms50, ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000},
+ timingOffset-r16 INTEGER (0..10239),
+ messageSize-r16 BIT STRING (SIZE (8)),
+ sl-QoS-FlowIdentity-r16 SL-QoS-FlowIdentity-r16
+}
+
+UL-GapFR2-Preference-r17::= SEQUENCE {
+ ul-GapFR2-PatternPreference-r17 INTEGER (0..3) OPTIONAL
+}
+
+PropagationDelayDifference-r17 ::= SEQUENCE (SIZE (1..4)) OF INTEGER (-270..270)
+
+-- TAG-UEASSISTANCEINFORMATION-STOP
+-- TAG-UECAPABILITYENQUIRY-START
+
+UECapabilityEnquiry ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueCapabilityEnquiry UECapabilityEnquiry-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityEnquiry-IEs ::= SEQUENCE {
+ ue-CapabilityRAT-RequestList UE-CapabilityRAT-RequestList,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ue-CapabilityEnquiryExt OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs) OPTIONAL -- Need N
+}
+
+UECapabilityEnquiry-v1560-IEs ::= SEQUENCE {
+ capabilityRequestFilterCommon UE-CapabilityRequestFilterCommon OPTIONAL, -- Need N
+ nonCriticalExtension UECapabilityEnquiry-v1610-IEs OPTIONAL
+}
+
+UECapabilityEnquiry-v1610-IEs ::= SEQUENCE {
+ rrc-SegAllowed-r16 ENUMERATED {enabled} OPTIONAL, -- Need N
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-UECAPABILITYENQUIRY-STOP
+-- TAG-UECAPABILITYINFORMATION-START
+
+UECapabilityInformation ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueCapabilityInformation UECapabilityInformation-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityInformation-IEs ::= SEQUENCE {
+ ue-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-UECAPABILITYINFORMATION-STOP
+-- TAG-UEINFORMATIONREQUEST-START
+
+UEInformationRequest-r16 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueInformationRequest-r16 UEInformationRequest-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEInformationRequest-r16-IEs ::= SEQUENCE {
+ idleModeMeasurementReq-r16 ENUMERATED{true} OPTIONAL, -- Need N
+ logMeasReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ connEstFailReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ ra-ReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ rlf-ReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ mobilityHistoryReportReq-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UEInformationRequest-v1700-IEs OPTIONAL
+}
+
+UEInformationRequest-v1700-IEs ::= SEQUENCE {
+ successHO-ReportReq-r17 ENUMERATED {true} OPTIONAL, -- Need N
+ coarseLocationRequest-r17 ENUMERATED {true} OPTIONAL, -- Need N
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-UEINFORMATIONREQUEST-STOP
+-- TAG-UEINFORMATIONRESPONSE-START
+
+UEInformationResponse-r16 ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueInformationResponse-r16 UEInformationResponse-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEInformationResponse-r16-IEs ::= SEQUENCE {
+ measResultIdleEUTRA-r16 MeasResultIdleEUTRA-r16 OPTIONAL,
+ measResultIdleNR-r16 MeasResultIdleNR-r16 OPTIONAL,
+ logMeasReport-r16 LogMeasReport-r16 OPTIONAL,
+ connEstFailReport-r16 ConnEstFailReport-r16 OPTIONAL,
+ ra-ReportList-r16 RA-ReportList-r16 OPTIONAL,
+ rlf-Report-r16 RLF-Report-r16 OPTIONAL,
+ mobilityHistoryReport-r16 MobilityHistoryReport-r16 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UEInformationResponse-v1700-IEs OPTIONAL
+}
+
+UEInformationResponse-v1700-IEs ::= SEQUENCE {
+ successHO-Report-r17 SuccessHO-Report-r17 OPTIONAL,
+ connEstFailReportList-r17 ConnEstFailReportList-r17 OPTIONAL,
+ coarseLocationInfo-r17 OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+LogMeasReport-r16 ::= SEQUENCE {
+ absoluteTimeStamp-r16 AbsoluteTimeInfo-r16,
+ traceReference-r16 TraceReference-r16,
+ traceRecordingSessionRef-r16 OCTET STRING (SIZE (2)),
+ tce-Id-r16 OCTET STRING (SIZE (1)),
+ logMeasInfoList-r16 LogMeasInfoList-r16,
+ logMeasAvailable-r16 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableBT-r16 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableWLAN-r16 ENUMERATED {true} OPTIONAL,
+ ...
+}
+
+LogMeasInfoList-r16 ::= SEQUENCE (SIZE (1..maxLogMeasReport-r16)) OF LogMeasInfo-r16
+
+LogMeasInfo-r16 ::= SEQUENCE {
+ locationInfo-r16 LocationInfo-r16 OPTIONAL,
+ relativeTimeStamp-r16 INTEGER (0..7200),
+ servCellIdentity-r16 CGI-Info-Logging-r16 OPTIONAL,
+ measResultServingCell-r16 MeasResultServingCell-r16 OPTIONAL,
+ measResultNeighCells-r16 SEQUENCE {
+ measResultNeighCellListNR MeasResultListLogging2NR-r16 OPTIONAL,
+ measResultNeighCellListEUTRA MeasResultList2EUTRA-r16 OPTIONAL
+ },
+ anyCellSelectionDetected-r16 ENUMERATED {true} OPTIONAL,
+ ...,
+ [[
+ inDeviceCoexDetected-r17 ENUMERATED {true} OPTIONAL
+ ]]
+}
+
+ConnEstFailReport-r16 ::= SEQUENCE {
+ measResultFailedCell-r16 MeasResultFailedCell-r16,
+ locationInfo-r16 LocationInfo-r16 OPTIONAL,
+ measResultNeighCells-r16 SEQUENCE {
+ measResultNeighCellListNR MeasResultList2NR-r16 OPTIONAL,
+ measResultNeighCellListEUTRA MeasResultList2EUTRA-r16 OPTIONAL
+ },
+ numberOfConnFail-r16 INTEGER (1..8),
+ perRAInfoList-r16 PerRAInfoList-r16,
+ timeSinceFailure-r16 TimeSinceFailure-r16,
+ ...
+}
+
+ConnEstFailReportList-r17 ::= SEQUENCE (SIZE (1..maxCEFReport-r17)) OF ConnEstFailReport-r16
+
+MeasResultServingCell-r16 ::= SEQUENCE {
+ resultsSSB-Cell MeasQuantityResults,
+ resultsSSB SEQUENCE{
+ best-ssb-Index SSB-Index,
+ best-ssb-Results MeasQuantityResults,
+ numberOfGoodSSB INTEGER (1..maxNrofSSBs-r16)
+ } OPTIONAL
+}
+
+MeasResultFailedCell-r16 ::= SEQUENCE {
+ cgi-Info CGI-Info-Logging-r16,
+ measResult-r16 SEQUENCE {
+ cellResults-r16 SEQUENCE{
+ resultsSSB-Cell-r16 MeasQuantityResults
+ },
+ rsIndexResults-r16 SEQUENCE{
+ resultsSSB-Indexes-r16 ResultsPerSSB-IndexList
+ }
+ }
+}
+
+RA-ReportList-r16 ::= SEQUENCE (SIZE (1..maxRAReport-r16)) OF RA-Report-r16
+
+RA-Report-r16 ::= SEQUENCE {
+ cellId-r16 CHOICE {
+ cellGlobalId-r16 CGI-Info-Logging-r16,
+ pci-arfcn-r16 PCI-ARFCN-NR-r16
+ },
+ ra-InformationCommon-r16 RA-InformationCommon-r16 OPTIONAL,
+ raPurpose-r16 ENUMERATED {accessRelated, beamFailureRecovery, reconfigurationWithSync, ulUnSynchronized,
+ schedulingRequestFailure, noPUCCHResourceAvailable, requestForOtherSI,
+ msg3RequestForOtherSI-r17, spare8, spare7, spare6, spare5, spare4, spare3,
+ spare2, spare1},
+ ...,
+ [[
+ spCellID-r17 CGI-Info-Logging-r16 OPTIONAL
+ ]]
+}
+
+RA-InformationCommon-r16 ::= SEQUENCE {
+ absoluteFrequencyPointA-r16 ARFCN-ValueNR,
+ locationAndBandwidth-r16 INTEGER (0..37949),
+ subcarrierSpacing-r16 SubcarrierSpacing,
+ msg1-FrequencyStart-r16 INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL,
+ msg1-FrequencyStartCFRA-r16 INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL,
+ msg1-SubcarrierSpacing-r16 SubcarrierSpacing OPTIONAL,
+ msg1-SubcarrierSpacingCFRA-r16 SubcarrierSpacing OPTIONAL,
+ msg1-FDM-r16 ENUMERATED {one, two, four, eight} OPTIONAL,
+ msg1-FDMCFRA-r16 ENUMERATED {one, two, four, eight} OPTIONAL,
+ perRAInfoList-r16 PerRAInfoList-r16,
+ ...,
+ [[
+ perRAInfoList-v1660 PerRAInfoList-v1660 OPTIONAL
+ ]],
+ [[
+ msg1-SCS-From-prach-ConfigurationIndex-r16 ENUMERATED {kHz1dot25, kHz5, spare2, spare1} OPTIONAL
+ ]],
+ [[
+ msg1-SCS-From-prach-ConfigurationIndexCFRA-r16 ENUMERATED {kHz1dot25, kHz5, spare2, spare1} OPTIONAL
+ ]],
+ [[
+ msgA-RO-FrequencyStart-r17 INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL,
+ msgA-RO-FrequencyStartCFRA-r17 INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL,
+ msgA-SubcarrierSpacing-r17 SubcarrierSpacing OPTIONAL,
+ msgA-RO-FDM-r17 ENUMERATED {one, two, four, eight} OPTIONAL,
+ msgA-RO-FDMCFRA-r17 ENUMERATED {one, two, four, eight} OPTIONAL,
+ msgA-SCS-From-prach-ConfigurationIndex-r17 ENUMERATED {kHz1dot25, kHz5, spare2, spare1} OPTIONAL,
+ msgA-TransMax-r17 ENUMERATED {n1, n2, n4, n6, n8, n10, n20, n50, n100, n200} OPTIONAL,
+ msgA-MCS-r17 INTEGER (0..15) OPTIONAL,
+ nrofPRBs-PerMsgA-PO-r17 INTEGER (1..32) OPTIONAL,
+ msgA-PUSCH-TimeDomainAllocation-r17 INTEGER (1..maxNrofUL-Allocations) OPTIONAL,
+ frequencyStartMsgA-PUSCH-r17 INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL,
+ nrofMsgA-PO-FDM-r17 ENUMERATED {one, two, four, eight} OPTIONAL,
+ dlPathlossRSRP-r17 RSRP-Range OPTIONAL,
+ intendedSIBs-r17 SEQUENCE (SIZE (1..maxSIB)) OF SIB-Type-r17 OPTIONAL,
+ ssbsForSI-Acquisition-r17 SEQUENCE (SIZE (1..maxNrofSSBs-r16)) OF SSB-Index OPTIONAL,
+ msgA-PUSCH-PayloadSize-r17 BIT STRING (SIZE (5)) OPTIONAL,
+ onDemandSISuccess-r17 ENUMERATED {true} OPTIONAL
+ ]]
+}
+
+PerRAInfoList-r16 ::= SEQUENCE (SIZE (1..200)) OF PerRAInfo-r16
+
+PerRAInfoList-v1660 ::= SEQUENCE (SIZE (1..200)) OF PerRACSI-RSInfo-v1660
+
+PerRAInfo-r16 ::= CHOICE {
+ perRASSBInfoList-r16 PerRASSBInfo-r16,
+ perRACSI-RSInfoList-r16 PerRACSI-RSInfo-r16
+}
+
+PerRASSBInfo-r16 ::= SEQUENCE {
+ ssb-Index-r16 SSB-Index,
+ numberOfPreamblesSentOnSSB-r16 INTEGER (1..200),
+ perRAAttemptInfoList-r16 PerRAAttemptInfoList-r16
+}
+
+PerRACSI-RSInfo-r16 ::= SEQUENCE {
+ csi-RS-Index-r16 CSI-RS-Index,
+ numberOfPreamblesSentOnCSI-RS-r16 INTEGER (1..200)
+}
+
+PerRACSI-RSInfo-v1660 ::= SEQUENCE {
+ csi-RS-Index-v1660 INTEGER (1..96) OPTIONAL
+}
+
+PerRAAttemptInfoList-r16 ::= SEQUENCE (SIZE (1..200)) OF PerRAAttemptInfo-r16
+
+PerRAAttemptInfo-r16 ::= SEQUENCE {
+ contentionDetected-r16 BOOLEAN OPTIONAL,
+ dlRSRPAboveThreshold-r16 BOOLEAN OPTIONAL,
+ ...,
+ [[
+ fallbackToFourStepRA-r17 ENUMERATED {true} OPTIONAL
+ ]]
+}
+
+SIB-Type-r17 ::= ENUMERATED {sibType2, sibType3, sibType4, sibType5, sibType9, sibType10-v1610, sibType11-v1610, sibType12-v1610,
+ sibType13-v1610, sibType14-v1610, spare6, spare5, spare4, spare3, spare2, spare1}
+
+RLF-Report-r16 ::= CHOICE {
+ nr-RLF-Report-r16 SEQUENCE {
+ measResultLastServCell-r16 MeasResultRLFNR-r16,
+ measResultNeighCells-r16 SEQUENCE {
+ measResultListNR-r16 MeasResultList2NR-r16 OPTIONAL,
+ measResultListEUTRA-r16 MeasResultList2EUTRA-r16 OPTIONAL
+ } OPTIONAL,
+ c-RNTI-r16 RNTI-Value,
+ previousPCellId-r16 CHOICE {
+ nrPreviousCell-r16 CGI-Info-Logging-r16,
+ eutraPreviousCell-r16 CGI-InfoEUTRALogging
+ } OPTIONAL,
+ failedPCellId-r16 CHOICE {
+ nrFailedPCellId-r16 CHOICE {
+ cellGlobalId-r16 CGI-Info-Logging-r16,
+ pci-arfcn-r16 PCI-ARFCN-NR-r16
+ },
+ eutraFailedPCellId-r16 CHOICE {
+ cellGlobalId-r16 CGI-InfoEUTRALogging,
+ pci-arfcn-r16 PCI-ARFCN-EUTRA-r16
+ }
+ },
+ reconnectCellId-r16 CHOICE {
+ nrReconnectCellId-r16 CGI-Info-Logging-r16,
+ eutraReconnectCellId-r16 CGI-InfoEUTRALogging
+ } OPTIONAL,
+ timeUntilReconnection-r16 TimeUntilReconnection-r16 OPTIONAL,
+ reestablishmentCellId-r16 CGI-Info-Logging-r16 OPTIONAL,
+ timeConnFailure-r16 INTEGER (0..1023) OPTIONAL,
+ timeSinceFailure-r16 TimeSinceFailure-r16,
+ connectionFailureType-r16 ENUMERATED {rlf, hof},
+ rlf-Cause-r16 ENUMERATED {t310-Expiry, randomAccessProblem, rlc-MaxNumRetx,
+ beamFailureRecoveryFailure, lbtFailure-r16,
+ bh-rlfRecoveryFailure, t312-expiry-r17, spare1},
+ locationInfo-r16 LocationInfo-r16 OPTIONAL,
+ noSuitableCellFound-r16 ENUMERATED {true} OPTIONAL,
+ ra-InformationCommon-r16 RA-InformationCommon-r16 OPTIONAL,
+ ...,
+ [[
+ csi-rsRLMConfigBitmap-v1650 BIT STRING (SIZE (96)) OPTIONAL
+ ]],
+ [[
+ lastHO-Type-r17 ENUMERATED {cho, daps, spare2, spare1} OPTIONAL,
+ timeConnSourceDAPS-Failure-r17 TimeConnSourceDAPS-Failure-r17 OPTIONAL,
+ timeSinceCHO-Reconfig-r17 TimeSinceCHO-Reconfig-r17 OPTIONAL,
+ choCellId-r17 CHOICE {
+ cellGlobalId-r17 CGI-Info-Logging-r16,
+ pci-arfcn-r17 PCI-ARFCN-NR-r16
+ } OPTIONAL,
+ choCandidateCellList-r17 ChoCandidateCellList-r17 OPTIONAL
+ ]]
+ },
+ eutra-RLF-Report-r16 SEQUENCE {
+ failedPCellId-EUTRA CGI-InfoEUTRALogging,
+ measResult-RLF-Report-EUTRA-r16 OCTET STRING,
+ ...,
+ [[
+ measResult-RLF-Report-EUTRA-v1690 OCTET STRING OPTIONAL
+ ]]
+ }
+}
+
+SuccessHO-Report-r17 ::= SEQUENCE {
+ sourceCellInfo-r17 SEQUENCE {
+ sourcePCellId-r17 CGI-Info-Logging-r16,
+ sourceCellMeas-r17 MeasResultSuccessHONR-r17 OPTIONAL,
+ rlf-InSourceDAPS-r17 ENUMERATED {true} OPTIONAL
+ },
+ targetCellInfo-r17 SEQUENCE {
+ targetPCellId-r17 CGI-Info-Logging-r16,
+ targetCellMeas-r17 MeasResultSuccessHONR-r17 OPTIONAL
+ },
+ measResultNeighCells-r17 SEQUENCE {
+ measResultListNR-r17 MeasResultList2NR-r16 OPTIONAL,
+ measResultListEUTRA-r17 MeasResultList2EUTRA-r16 OPTIONAL
+ } OPTIONAL,
+ locationInfo-r17 LocationInfo-r16 OPTIONAL,
+ timeSinceCHO-Reconfig-r17 TimeSinceCHO-Reconfig-r17 OPTIONAL,
+ shr-Cause-r17 SHR-Cause-r17 OPTIONAL,
+ ra-InformationCommon-r17 RA-InformationCommon-r16 OPTIONAL,
+ upInterruptionTimeAtHO-r17 UPInterruptionTimeAtHO-r17 OPTIONAL,
+ c-RNTI-r17 RNTI-Value OPTIONAL,
+ ...
+}
+
+MeasResultList2NR-r16 ::= SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2NR-r16
+MeasResultList2EUTRA-r16 ::= SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2EUTRA-r16
+
+MeasResult2NR-r16 ::= SEQUENCE {
+ ssbFrequency-r16 ARFCN-ValueNR OPTIONAL,
+ refFreqCSI-RS-r16 ARFCN-ValueNR OPTIONAL,
+ measResultList-r16 MeasResultListNR
+}
+
+MeasResultListLogging2NR-r16 ::= SEQUENCE(SIZE (1..maxFreq)) OF MeasResultLogging2NR-r16
+
+MeasResultLogging2NR-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueNR,
+ measResultListLoggingNR-r16 MeasResultListLoggingNR-r16
+}
+
+MeasResultListLoggingNR-r16 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultLoggingNR-r16
+
+MeasResultLoggingNR-r16 ::= SEQUENCE {
+ physCellId-r16 PhysCellId,
+ resultsSSB-Cell-r16 MeasQuantityResults,
+ numberOfGoodSSB-r16 INTEGER (1..maxNrofSSBs-r16) OPTIONAL
+}
+
+MeasResult2EUTRA-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueEUTRA,
+ measResultList-r16 MeasResultListEUTRA
+}
+
+MeasResultRLFNR-r16 ::= SEQUENCE {
+ measResult-r16 SEQUENCE {
+ cellResults-r16 SEQUENCE{
+ resultsSSB-Cell-r16 MeasQuantityResults OPTIONAL,
+ resultsCSI-RS-Cell-r16 MeasQuantityResults OPTIONAL
+ },
+ rsIndexResults-r16 SEQUENCE{
+ resultsSSB-Indexes-r16 ResultsPerSSB-IndexList OPTIONAL,
+ ssbRLMConfigBitmap-r16 BIT STRING (SIZE (64)) OPTIONAL,
+ resultsCSI-RS-Indexes-r16 ResultsPerCSI-RS-IndexList OPTIONAL,
+ csi-rsRLMConfigBitmap-r16 BIT STRING (SIZE (96)) OPTIONAL
+ } OPTIONAL
+ }
+}
+
+MeasResultSuccessHONR-r17::= SEQUENCE {
+ measResult-r17 SEQUENCE {
+ cellResults-r17 SEQUENCE{
+ resultsSSB-Cell-r17 MeasQuantityResults OPTIONAL,
+ resultsCSI-RS-Cell-r17 MeasQuantityResults OPTIONAL
+ },
+ rsIndexResults-r17 SEQUENCE{
+ resultsSSB-Indexes-r17 ResultsPerSSB-IndexList OPTIONAL,
+ resultsCSI-RS-Indexes-r17 ResultsPerCSI-RS-IndexList OPTIONAL
+ }
+ }
+}
+
+ChoCandidateCellList-r17 ::= SEQUENCE(SIZE (1..maxNrofCondCells-r16)) OF ChoCandidateCell-r17
+
+ChoCandidateCell-r17 ::= CHOICE {
+ cellGlobalId-r17 CGI-Info-Logging-r16,
+ pci-arfcn-r17 PCI-ARFCN-NR-r16
+}
+
+SHR-Cause-r17 ::= SEQUENCE {
+ t304-cause-r17 ENUMERATED {true} OPTIONAL,
+ t310-cause-r17 ENUMERATED {true} OPTIONAL,
+ t312-cause-r17 ENUMERATED {true} OPTIONAL,
+ sourceDAPS-Failure-r17 ENUMERATED {true} OPTIONAL,
+ ...
+}
+
+TimeSinceFailure-r16 ::= INTEGER (0..172800)
+
+MobilityHistoryReport-r16 ::= VisitedCellInfoList-r16
+
+TimeUntilReconnection-r16 ::= INTEGER (0..172800)
+
+TimeSinceCHO-Reconfig-r17 ::= INTEGER (0..1023)
+
+TimeConnSourceDAPS-Failure-r17 ::= INTEGER (0..1023)
+
+UPInterruptionTimeAtHO-r17 ::= INTEGER (0..1023)
+
+-- TAG-UEINFORMATIONRESPONSE-STOP
+-- TAG-UEPOSITIONINGASSISTANCEINFO-START
+
+UEPositioningAssistanceInfo-r17 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ uePositioningAssistanceInfo-r17 UEPositioningAssistanceInfo-r17-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEPositioningAssistanceInfo-r17-IEs ::= SEQUENCE {
+ ue-TxTEG-AssociationList-r17 UE-TxTEG-AssociationList-r17 OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UEPositioningAssistanceInfo-v1720-IEs OPTIONAL
+}
+
+UEPositioningAssistanceInfo-v1720-IEs::= SEQUENCE {
+ ue-TxTEG-TimingErrorMarginValue-r17 ENUMERATED {tc0, tc2, tc4, tc6, tc8, tc12, tc16, tc20, tc24, tc32, tc40, tc48, tc56,
+ tc64, tc72, tc80} OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+UE-TxTEG-AssociationList-r17 ::= SEQUENCE (SIZE (1..maxNrOfTxTEGReport-r17)) OF UE-TxTEG-Association-r17
+
+UE-TxTEG-Association-r17 ::= SEQUENCE {
+ ue-TxTEG-ID-r17 INTEGER (0..maxNrOfTxTEG-ID-1-r17),
+ nr-TimeStamp-r17 NR-TimeStamp-r17,
+ associatedSRS-PosResourceIdList-r17 SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResourceId-r16,
+ servCellId-r17 ServCellIndex OPTIONAL
+}
+
+NR-TimeStamp-r17 ::= SEQUENCE {
+ nr-SFN-r17 INTEGER (0..1023),
+ nr-Slot-r17 CHOICE {
+ scs15-r17 INTEGER (0..9),
+ scs30-r17 INTEGER (0..19),
+ scs60-r17 INTEGER (0..39),
+ scs120-r17 INTEGER (0..79)
+ },
+ ...
+}
+
+-- TAG-UEPOSITIONINGASSISTANCEINFO-STOP
+-- TAG-ULDEDICATEDMESSAGESEGMENT-START
+
+ULDedicatedMessageSegment-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ ulDedicatedMessageSegment-r16 ULDedicatedMessageSegment-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULDedicatedMessageSegment-r16-IEs ::= SEQUENCE {
+ segmentNumber-r16 INTEGER (0..15),
+ rrc-MessageSegmentContainer-r16 OCTET STRING,
+ rrc-MessageSegmentType-r16 ENUMERATED {notLastSegment, lastSegment},
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-ULDEDICATEDMESSAGESEGMENT-STOP
+-- TAG-ULINFORMATIONTRANSFER-START
+
+ULInformationTransfer ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ ulInformationTransfer ULInformationTransfer-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULInformationTransfer-IEs ::= SEQUENCE {
+ dedicatedNAS-Message DedicatedNAS-Message OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension ULInformationTransfer-v1700-IEs OPTIONAL
+}
+
+ULInformationTransfer-v1700-IEs ::= SEQUENCE {
+ dedicatedInfoF1c-r17 DedicatedInfoF1c-r17 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-ULINFORMATIONTRANSFER-STOP
+-- TAG-ULINFORMATIONTRANSFERIRAT-START
+
+ULInformationTransferIRAT-r16 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ulInformationTransferIRAT-r16 ULInformationTransferIRAT-r16-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULInformationTransferIRAT-r16-IEs ::= SEQUENCE {
+ ul-DCCH-MessageEUTRA-r16 OCTET STRING OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-ULINFORMATIONTRANSFERIRAT-STOP
+-- TAG-ULINFORMATIONTRANSFERMRDC-START
+
+ULInformationTransferMRDC ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE {
+ ulInformationTransferMRDC ULInformationTransferMRDC-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+ULInformationTransferMRDC-IEs::= SEQUENCE {
+ ul-DCCH-MessageNR OCTET STRING OPTIONAL,
+ ul-DCCH-MessageEUTRA OCTET STRING OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-ULINFORMATIONTRANSFERMRDC-STOP
+-- TAG-SETUPRELEASE-START
+
+-- WS modification: asn2wrs does not support this syntax; replace all occurrences
+-- SetupRelease { ElementTypeParam } ::= CHOICE {
+-- release NULL,
+-- setup ElementTypeParam
+-- }
+
+-- TAG-SETUPRELEASE-STOP
+-- TAG-SIB2-START
+
+SIB2 ::= SEQUENCE {
+ cellReselectionInfoCommon SEQUENCE {
+ nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need S
+ absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need S
+ rangeToBestCell RangeToBestCell OPTIONAL, -- Need R
+ q-Hyst ENUMERATED {
+ dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
+ dB12, dB14, dB16, dB18, dB20, dB22, dB24},
+ speedStateReselectionPars SEQUENCE {
+ mobilityStateParameters MobilityStateParameters,
+ q-HystSF SEQUENCE {
+ sf-Medium ENUMERATED {dB-6, dB-4, dB-2, dB0},
+ sf-High ENUMERATED {dB-6, dB-4, dB-2, dB0}
+ }
+ } OPTIONAL, -- Need R
+ ...
+ },
+ cellReselectionServingFreqInfo SEQUENCE {
+ s-NonIntraSearchP ReselectionThreshold OPTIONAL, -- Need S
+ s-NonIntraSearchQ ReselectionThresholdQ OPTIONAL, -- Need S
+ threshServingLowP ReselectionThreshold,
+ threshServingLowQ ReselectionThresholdQ OPTIONAL, -- Need R
+ cellReselectionPriority CellReselectionPriority,
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL, -- Need R
+ ...
+ },
+ intraFreqCellReselectionInfo SEQUENCE {
+ q-RxLevMin Q-RxLevMin,
+ q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R
+ q-QualMin Q-QualMin OPTIONAL, -- Need S
+ s-IntraSearchP ReselectionThreshold,
+ s-IntraSearchQ ReselectionThresholdQ OPTIONAL, -- Need S
+ t-ReselectionNR T-Reselection,
+ frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Need S
+ frequencyBandListSUL MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R
+ p-Max P-Max OPTIONAL, -- Need S
+ smtc SSB-MTC OPTIONAL, -- Need S
+ ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need R
+ ssb-ToMeasure SSB-ToMeasure OPTIONAL, -- Need S
+ deriveSSB-IndexFromCell BOOLEAN,
+ ...,
+ [[
+ t-ReselectionNR-SF SpeedStateScaleFactors OPTIONAL -- Need N
+ ]],
+ [[
+ smtc2-LP-r16 SSB-MTC2-LP-r16 OPTIONAL, -- Need R
+ ssb-PositionQCL-Common-r16 SSB-PositionQCL-Relation-r16 OPTIONAL -- Cond SharedSpectrum
+ ]],
+ [[
+ ssb-PositionQCL-Common-r17 SSB-PositionQCL-Relation-r17 OPTIONAL -- Cond SharedSpectrum2
+ ]],
+ [[
+ smtc4list-r17 SSB-MTC4List-r17 OPTIONAL -- Need R
+ ]]
+ },
+ ...,
+ [[
+ relaxedMeasurement-r16 SEQUENCE {
+ lowMobilityEvaluation-r16 SEQUENCE {
+ s-SearchDeltaP-r16 ENUMERATED {
+ dB3, dB6, dB9, dB12, dB15,
+ spare3, spare2, spare1},
+ t-SearchDeltaP-r16 ENUMERATED {
+ s5, s10, s20, s30, s60, s120, s180,
+ s240, s300, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1}
+ } OPTIONAL, -- Need R
+ cellEdgeEvaluation-r16 SEQUENCE {
+ s-SearchThresholdP-r16 ReselectionThreshold,
+ s-SearchThresholdQ-r16 ReselectionThresholdQ OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ combineRelaxedMeasCondition-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ highPriorityMeasRelax-r16 ENUMERATED {true} OPTIONAL -- Need R
+ } OPTIONAL -- Need R
+ ]],
+ [[
+ cellEquivalentSize-r17 INTEGER(2..16) OPTIONAL, -- Cond HSDN
+ relaxedMeasurement-r17 SEQUENCE {
+ stationaryMobilityEvaluation-r17 SEQUENCE {
+ s-SearchDeltaP-Stationary-r17 ENUMERATED {dB2, dB3, dB6, dB9, dB12, dB15, spare2, spare1},
+ t-SearchDeltaP-Stationary-r17 ENUMERATED {s5, s10, s20, s30, s60, s120, s180, s240, s300, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1}
+ },
+ cellEdgeEvaluationWhileStationary-r17 SEQUENCE {
+ s-SearchThresholdP2-r17 ReselectionThreshold,
+ s-SearchThresholdQ2-r17 ReselectionThresholdQ OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ combineRelaxedMeasCondition2-r17 ENUMERATED {true} OPTIONAL -- Need R
+ } OPTIONAL -- Need R
+ ]]
+}
+
+RangeToBestCell ::= Q-OffsetRange
+
+-- TAG-SIB2-STOP
+-- TAG-SIB3-START
+
+SIB3 ::= SEQUENCE {
+ intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need R
+ intraFreqExcludedCellList IntraFreqExcludedCellList OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[
+ intraFreqNeighCellList-v1610 IntraFreqNeighCellList-v1610 OPTIONAL, -- Need R
+ intraFreqAllowedCellList-r16 IntraFreqAllowedCellList-r16 OPTIONAL, -- Cond SharedSpectrum2
+ intraFreqCAG-CellList-r16 SEQUENCE (SIZE (1..maxPLMN)) OF IntraFreqCAG-CellListPerPLMN-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ intraFreqNeighHSDN-CellList-r17 IntraFreqNeighHSDN-CellList-r17 OPTIONAL, -- Need R
+ intraFreqNeighCellList-v1710 IntraFreqNeighCellList-v1710 OPTIONAL -- Need R
+ ]],
+ [[
+ channelAccessMode2-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+}
+
+IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo
+
+IntraFreqNeighCellList-v1610::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo-v1610
+
+IntraFreqNeighCellList-v1710 ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo-v1710
+
+IntraFreqNeighCellInfo ::= SEQUENCE {
+ physCellId PhysCellId,
+ q-OffsetCell Q-OffsetRange,
+ q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ q-RxLevMinOffsetCellSUL INTEGER (1..8) OPTIONAL, -- Need R
+ q-QualMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ ...
+}
+
+IntraFreqNeighCellInfo-v1610 ::= SEQUENCE {
+ ssb-PositionQCL-r16 SSB-PositionQCL-Relation-r16 OPTIONAL -- Cond SharedSpectrum2
+}
+
+IntraFreqNeighCellInfo-v1710 ::= SEQUENCE {
+ ssb-PositionQCL-r17 SSB-PositionQCL-Relation-r17 OPTIONAL -- Cond SharedSpectrum2
+}
+
+IntraFreqExcludedCellList ::= SEQUENCE (SIZE (1..maxCellExcluded)) OF PCI-Range
+
+IntraFreqAllowedCellList-r16 ::= SEQUENCE (SIZE (1..maxCellAllowed)) OF PCI-Range
+
+IntraFreqCAG-CellListPerPLMN-r16 ::= SEQUENCE {
+ plmn-IdentityIndex-r16 INTEGER (1..maxPLMN),
+ cag-CellList-r16 SEQUENCE (SIZE (1..maxCAG-Cell-r16)) OF PCI-Range
+}
+
+IntraFreqNeighHSDN-CellList-r17 ::= SEQUENCE (SIZE (1..maxCellIntra)) OF PCI-Range
+
+-- TAG-SIB3-STOP
+-- TAG-SIB4-START
+
+SIB4 ::= SEQUENCE {
+ interFreqCarrierFreqList InterFreqCarrierFreqList,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[
+ interFreqCarrierFreqList-v1610 InterFreqCarrierFreqList-v1610 OPTIONAL -- Need R
+ ]],
+ [[
+ interFreqCarrierFreqList-v1700 InterFreqCarrierFreqList-v1700 OPTIONAL -- Need R
+ ]],
+ [[
+ interFreqCarrierFreqList-v1720 InterFreqCarrierFreqList-v1720 OPTIONAL -- Need R
+ ]],
+ [[
+ interFreqCarrierFreqList-v1730 InterFreqCarrierFreqList-v1730 OPTIONAL -- Need R
+ ]]
+}
+
+InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo
+
+InterFreqCarrierFreqList-v1610 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1610
+
+InterFreqCarrierFreqList-v1700 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1700
+
+InterFreqCarrierFreqList-v1720 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1720
+
+InterFreqCarrierFreqList-v1730 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1730
+
+InterFreqCarrierFreqInfo ::= SEQUENCE {
+ dl-CarrierFreq ARFCN-ValueNR,
+ frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Cond Mandatory
+ frequencyBandListSUL MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R
+ nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need S
+ absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need S
+ smtc SSB-MTC OPTIONAL, -- Need S
+ ssbSubcarrierSpacing SubcarrierSpacing,
+ ssb-ToMeasure SSB-ToMeasure OPTIONAL, -- Need S
+ deriveSSB-IndexFromCell BOOLEAN,
+ ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need R
+ q-RxLevMin Q-RxLevMin,
+ q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R
+ q-QualMin Q-QualMin OPTIONAL, -- Need S
+ p-Max P-Max OPTIONAL, -- Need S
+ t-ReselectionNR T-Reselection,
+ t-ReselectionNR-SF SpeedStateScaleFactors OPTIONAL, -- Need S
+ threshX-HighP ReselectionThreshold,
+ threshX-LowP ReselectionThreshold,
+ threshX-Q SEQUENCE {
+ threshX-HighQ ReselectionThresholdQ,
+ threshX-LowQ ReselectionThresholdQ
+ } OPTIONAL, -- Cond RSRQ
+ cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need R
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL, -- Need R
+ q-OffsetFreq Q-OffsetRange DEFAULT dB0,
+ interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need R
+ interFreqExcludedCellList InterFreqExcludedCellList OPTIONAL, -- Need R
+ ...
+}
+
+InterFreqCarrierFreqInfo-v1610 ::= SEQUENCE {
+ interFreqNeighCellList-v1610 InterFreqNeighCellList-v1610 OPTIONAL, -- Need R
+ smtc2-LP-r16 SSB-MTC2-LP-r16 OPTIONAL, -- Need R
+ interFreqAllowedCellList-r16 InterFreqAllowedCellList-r16 OPTIONAL, -- Cond SharedSpectrum2
+ ssb-PositionQCL-Common-r16 SSB-PositionQCL-Relation-r16 OPTIONAL, -- Cond SharedSpectrum
+ interFreqCAG-CellList-r16 SEQUENCE (SIZE (1..maxPLMN)) OF InterFreqCAG-CellListPerPLMN-r16 OPTIONAL -- Need R
+}
+
+InterFreqCarrierFreqInfo-v1700 ::= SEQUENCE {
+ interFreqNeighHSDN-CellList-r17 InterFreqNeighHSDN-CellList-r17 OPTIONAL, -- Need R
+ highSpeedMeasInterFreq-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ redCapAccessAllowed-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ ssb-PositionQCL-Common-r17 SSB-PositionQCL-Relation-r17 OPTIONAL, -- Cond SharedSpectrum
+ interFreqNeighCellList-v1710 InterFreqNeighCellList-v1710 OPTIONAL -- Cond SharedSpectrum2
+}
+
+InterFreqCarrierFreqInfo-v1720 ::= SEQUENCE {
+ smtc4list-r17 SSB-MTC4List-r17 OPTIONAL -- Need R
+}
+
+InterFreqCarrierFreqInfo-v1730 ::= SEQUENCE {
+ channelAccessMode2-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+}
+
+InterFreqNeighHSDN-CellList-r17 ::= SEQUENCE (SIZE (1..maxCellInter)) OF PCI-Range
+
+InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo
+
+InterFreqNeighCellList-v1610 ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo-v1610
+
+InterFreqNeighCellList-v1710 ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo-v1710
+
+InterFreqNeighCellInfo ::= SEQUENCE {
+ physCellId PhysCellId,
+ q-OffsetCell Q-OffsetRange,
+ q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ q-RxLevMinOffsetCellSUL INTEGER (1..8) OPTIONAL, -- Need R
+ q-QualMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ ...
+}
+
+InterFreqNeighCellInfo-v1610 ::= SEQUENCE {
+ ssb-PositionQCL-r16 SSB-PositionQCL-Relation-r16 OPTIONAL -- Cond SharedSpectrum2
+}
+
+InterFreqNeighCellInfo-v1710 ::= SEQUENCE {
+ ssb-PositionQCL-r17 SSB-PositionQCL-Relation-r17 OPTIONAL -- Cond SharedSpectrum2
+}
+
+InterFreqExcludedCellList ::= SEQUENCE (SIZE (1..maxCellExcluded)) OF PCI-Range
+
+InterFreqAllowedCellList-r16 ::= SEQUENCE (SIZE (1..maxCellAllowed)) OF PCI-Range
+
+InterFreqCAG-CellListPerPLMN-r16 ::= SEQUENCE {
+ plmn-IdentityIndex-r16 INTEGER (1..maxPLMN),
+ cag-CellList-r16 SEQUENCE (SIZE (1..maxCAG-Cell-r16)) OF PCI-Range
+}
+
+-- TAG-SIB4-STOP
+-- TAG-SIB5-START
+
+SIB5 ::= SEQUENCE {
+ carrierFreqListEUTRA CarrierFreqListEUTRA OPTIONAL, -- Need R
+ t-ReselectionEUTRA T-Reselection,
+ t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need S
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[
+ carrierFreqListEUTRA-v1610 CarrierFreqListEUTRA-v1610 OPTIONAL -- Need R
+ ]],
+ [[
+ carrierFreqListEUTRA-v1700 CarrierFreqListEUTRA-v1700 OPTIONAL, -- Need R
+ idleModeMeasVoiceFallback-r17 ENUMERATED{true} OPTIONAL -- Need R
+ ]]
+}
+
+CarrierFreqListEUTRA ::= SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA
+
+CarrierFreqListEUTRA-v1610 ::= SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA-v1610
+
+CarrierFreqListEUTRA-v1700 ::= SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA-v1700
+
+CarrierFreqEUTRA ::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ eutra-multiBandInfoList EUTRA-MultiBandInfoList OPTIONAL, -- Need R
+ eutra-FreqNeighCellList EUTRA-FreqNeighCellList OPTIONAL, -- Need R
+ eutra-ExcludedCellList EUTRA-FreqExcludedCellList OPTIONAL, -- Need R
+ allowedMeasBandwidth EUTRA-AllowedMeasBandwidth,
+ presenceAntennaPort1 EUTRA-PresenceAntennaPort1,
+ cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need R
+ cellReselectionSubPriority CellReselectionSubPriority OPTIONAL, -- Need R
+ threshX-High ReselectionThreshold,
+ threshX-Low ReselectionThreshold,
+ q-RxLevMin INTEGER (-70..-22),
+ q-QualMin INTEGER (-34..-3),
+ p-MaxEUTRA INTEGER (-30..33),
+ threshX-Q SEQUENCE {
+ threshX-HighQ ReselectionThresholdQ,
+ threshX-LowQ ReselectionThresholdQ
+ } OPTIONAL -- Cond RSRQ
+}
+
+CarrierFreqEUTRA-v1610 ::= SEQUENCE {
+ highSpeedEUTRACarrier-r16 ENUMERATED {true} OPTIONAL -- Need R
+}
+
+CarrierFreqEUTRA-v1700 ::= SEQUENCE {
+ eutra-FreqNeighHSDN-CellList-r17 EUTRA-FreqNeighHSDN-CellList-r17 OPTIONAL -- Need R
+}
+
+EUTRA-FreqNeighHSDN-CellList-r17 ::= SEQUENCE (SIZE (1..maxCellEUTRA)) OF EUTRA-PhysCellIdRange
+
+EUTRA-FreqExcludedCellList ::= SEQUENCE (SIZE (1..maxEUTRA-CellExcluded)) OF EUTRA-PhysCellIdRange
+
+EUTRA-FreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellEUTRA)) OF EUTRA-FreqNeighCellInfo
+
+EUTRA-FreqNeighCellInfo ::= SEQUENCE {
+ physCellId EUTRA-PhysCellId,
+ dummy EUTRA-Q-OffsetRange,
+ q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R
+ q-QualMinOffsetCell INTEGER (1..8) OPTIONAL -- Need R
+}
+
+-- TAG-SIB5-STOP
+-- TAG-SIB6-START
+
+SIB6 ::= SEQUENCE {
+ messageIdentifier BIT STRING (SIZE (16)),
+ serialNumber BIT STRING (SIZE (16)),
+ warningType OCTET STRING (SIZE (2)),
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB6-STOP
+-- TAG-SIB7-START
+
+SIB7 ::= SEQUENCE {
+ messageIdentifier BIT STRING (SIZE (16)),
+ serialNumber BIT STRING (SIZE (16)),
+ warningMessageSegmentType ENUMERATED {notLastSegment, lastSegment},
+ warningMessageSegmentNumber INTEGER (0..63),
+ warningMessageSegment OCTET STRING,
+ dataCodingScheme OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB7-STOP
+-- TAG-SIB8-START
+
+SIB8 ::= SEQUENCE {
+ messageIdentifier BIT STRING (SIZE (16)),
+ serialNumber BIT STRING (SIZE (16)),
+ warningMessageSegmentType ENUMERATED {notLastSegment, lastSegment},
+ warningMessageSegmentNumber INTEGER (0..63),
+ warningMessageSegment OCTET STRING,
+ dataCodingScheme OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1
+ warningAreaCoordinatesSegment OCTET STRING OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB8-STOP
+-- TAG-SIB9-START
+
+SIB9 ::= SEQUENCE {
+ timeInfo SEQUENCE {
+ timeInfoUTC INTEGER (0..549755813887),
+ dayLightSavingTime BIT STRING (SIZE (2)) OPTIONAL, -- Need R
+ leapSeconds INTEGER (-127..128) OPTIONAL, -- Need R
+ localTimeOffset INTEGER (-63..64) OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[
+ referenceTimeInfo-r16 ReferenceTimeInfo-r16 OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-SIB9-STOP
+-- TAG-SIB10-START
+
+SIB10-r16 ::= SEQUENCE {
+ hrnn-List-r16 HRNN-List-r16 OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+HRNN-List-r16 ::= SEQUENCE (SIZE (1..maxNPN-r16)) OF HRNN-r16
+
+HRNN-r16 ::= SEQUENCE {
+ hrnn-r16 OCTET STRING (SIZE(1.. maxHRNN-Len-r16)) OPTIONAL -- Need R
+}
+
+-- TAG-SIB10-STOP
+-- TAG-SIB11-START
+
+SIB11-r16 ::= SEQUENCE {
+ measIdleConfigSIB-r16 MeasIdleConfigSIB-r16 OPTIONAL, -- Need S
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB11-STOP
+-- TAG-SIB12-START
+
+SIB12-r16 ::= SEQUENCE {
+ segmentNumber-r16 INTEGER (0..63),
+ segmentType-r16 ENUMERATED {notLastSegment, lastSegment},
+ segmentContainer-r16 OCTET STRING
+}
+
+SIB12-IEs-r16 ::= SEQUENCE {
+ sl-ConfigCommonNR-r16 SL-ConfigCommonNR-r16,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[
+ sl-DRX-ConfigCommonGC-BC-r17 SL-DRX-ConfigGC-BC-r17 OPTIONAL, -- Need R
+ sl-DiscConfigCommon-r17 SL-DiscConfigCommon-r17 OPTIONAL, -- Need R
+ sl-L2U2N-Relay-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ sl-NonRelayDiscovery-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ sl-L3U2N-RelayDiscovery-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ sl-TimersAndConstantsRemoteUE-r17 UE-TimersAndConstantsRemoteUE-r17 OPTIONAL -- Need R
+ ]]
+}
+
+SL-ConfigCommonNR-r16 ::= SEQUENCE {
+ sl-FreqInfoList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-FreqConfigCommon-r16 OPTIONAL, -- Need R
+ sl-UE-SelectedConfig-r16 SL-UE-SelectedConfig-r16 OPTIONAL, -- Need R
+ sl-NR-AnchorCarrierFreqList-r16 SL-NR-AnchorCarrierFreqList-r16 OPTIONAL, -- Need R
+ sl-EUTRA-AnchorCarrierFreqList-r16 SL-EUTRA-AnchorCarrierFreqList-r16 OPTIONAL, -- Need R
+ sl-RadioBearerConfigList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-RadioBearerConfig-r16 OPTIONAL, -- Need R
+ sl-RLC-BearerConfigList-r16 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfig-r16 OPTIONAL, -- Need R
+ sl-MeasConfigCommon-r16 SL-MeasConfigCommon-r16 OPTIONAL, -- Need R
+ sl-CSI-Acquisition-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ sl-OffsetDFN-r16 INTEGER (1..1000) OPTIONAL, -- Need R
+ t400-r16 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need R
+ sl-MaxNumConsecutiveDTX-r16 ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32} OPTIONAL, -- Need R
+ sl-SSB-PriorityNR-r16 INTEGER (1..8) OPTIONAL -- Need R
+}
+
+SL-NR-AnchorCarrierFreqList-r16 ::= SEQUENCE (SIZE (1..maxFreqSL-NR-r16)) OF ARFCN-ValueNR
+
+SL-EUTRA-AnchorCarrierFreqList-r16 ::= SEQUENCE (SIZE (1..maxFreqSL-EUTRA-r16)) OF ARFCN-ValueEUTRA
+
+SL-DiscConfigCommon-r17 ::= SEQUENCE {
+ sl-RelayUE-ConfigCommon-r17 SL-RelayUE-Config-r17,
+ sl-RemoteUE-ConfigCommon-r17 SL-RemoteUE-Config-r17
+}
+
+-- TAG-SIB12-STOP
+-- TAG-SIB13-START
+
+SIB13-r16 ::= SEQUENCE {
+ sl-V2X-ConfigCommon-r16 OCTET STRING,
+ dummy OCTET STRING,
+ tdd-Config-r16 OCTET STRING,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB13-STOP
+-- TAG-SIB14-START
+
+SIB14-r16 ::= SEQUENCE {
+ sl-V2X-ConfigCommonExt-r16 OCTET STRING,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB14-STOP
+-- TAG-SIB15-START
+
+SIB15-r17 ::= SEQUENCE {
+ commonPLMNsWithDisasterCondition-r17 SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity OPTIONAL, -- Need R
+ applicableDisasterInfoList-r17 SEQUENCE (SIZE (1..maxPLMN)) OF ApplicableDisasterInfo-r17 OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+ApplicableDisasterInfo-r17 ::= CHOICE {
+ noDisasterRoaming-r17 NULL,
+ disasterRelatedIndication-r17 NULL,
+ commonPLMNs-r17 NULL,
+ dedicatedPLMNs-r17 SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity
+}
+
+-- TAG-SIB15-STOP
+-- TAG-SIB16-START
+
+SIB16-r17 ::= SEQUENCE {
+ freqPriorityListSlicing-r17 FreqPriorityListSlicing-r17 OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIB16-STOP
+-- TAG-SIB17-START
+
+SIB17-r17 ::= SEQUENCE {
+ segmentNumber-r17 INTEGER (0..63),
+ segmentType-r17 ENUMERATED {notLastSegment, lastSegment},
+ segmentContainer-r17 OCTET STRING
+}
+
+SIB17-IEs-r17 ::= SEQUENCE {
+ trs-ResourceSetConfig-r17 SEQUENCE (SIZE (1..maxNrofTRS-ResourceSets-r17)) OF TRS-ResourceSet-r17,
+ validityDuration-r17 ENUMERATED {t1, t2, t4, t8, t16, t32, t64, t128, t256, t512, infinity, spare5, spare4, spare3, spare2,
+ spare1} OPTIONAL, -- Need S
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+TRS-ResourceSet-r17 ::= SEQUENCE {
+ powerControlOffsetSS-r17 ENUMERATED {db-3, db0, db3, db6},
+ scramblingID-Info-r17 CHOICE {
+ scramblingIDforCommon-r17 ScramblingId,
+ scramblingIDperResourceListWith2-r17 SEQUENCE (SIZE (2)) OF ScramblingId,
+ scramblingIDperResourceListWith4-r17 SEQUENCE (SIZE (4)) OF ScramblingId,
+ ...
+ },
+ firstOFDMSymbolInTimeDomain-r17 INTEGER (0..9),
+ startingRB-r17 INTEGER (0..maxNrofPhysicalResourceBlocks-1),
+ nrofRBs-r17 INTEGER (24..maxNrofPhysicalResourceBlocksPlus1),
+ ssb-Index-r17 SSB-Index,
+ periodicityAndOffset-r17 CHOICE {
+ slots10 INTEGER (0..9),
+ slots20 INTEGER (0..19),
+ slots40 INTEGER (0..39),
+ slots80 INTEGER (0..79)
+ },
+ frequencyDomainAllocation-r17 BIT STRING (SIZE (4)),
+ indBitID-r17 INTEGER (0..5),
+ nrofResources-r17 ENUMERATED {n2, n4}
+}
+
+-- TAG-SIB17-STOP
+-- TAG-SIB18-START
+
+SIB18-r17 ::= SEQUENCE {
+ gin-ElementList-r17 SEQUENCE (SIZE (1..maxGIN-r17)) OF GIN-Element-r17 OPTIONAL, -- Need R
+ gins-PerSNPN-List-r17 SEQUENCE (SIZE (1..maxNPN-r16)) OF GINs-PerSNPN-r17 OPTIONAL, -- Need S
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+GIN-Element-r17 ::= SEQUENCE {
+ plmn-Identity-r17 PLMN-Identity,
+ nid-List-r17 SEQUENCE (SIZE (1..maxGIN-r17)) OF NID-r16
+}
+
+GINs-PerSNPN-r17 ::= SEQUENCE {
+ supportedGINs-r17 BIT STRING (SIZE (1..maxGIN-r17)) OPTIONAL -- Need R
+}
+-- TAG-SIB18-STOP
+-- TAG-SIB19-START
+
+SIB19-r17 ::= SEQUENCE {
+ ntn-Config-r17 NTN-Config-r17 OPTIONAL, -- Need R
+ t-Service-r17 INTEGER (0..549755813887) OPTIONAL, -- Need R
+ referenceLocation-r17 ReferenceLocation-r17 OPTIONAL, -- Need R
+ distanceThresh-r17 INTEGER(0..65525) OPTIONAL, -- Need R
+ ntn-NeighCellConfigList-r17 NTN-NeighCellConfigList-r17 OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...,
+ [[
+ ntn-NeighCellConfigListExt-v1720 NTN-NeighCellConfigList-r17 OPTIONAL -- Need R
+ ]]
+}
+
+NTN-NeighCellConfigList-r17 ::= SEQUENCE (SIZE(1..maxCellNTN-r17)) OF NTN-NeighCellConfig-r17
+
+NTN-NeighCellConfig-r17 ::= SEQUENCE {
+ ntn-Config-r17 NTN-Config-r17 OPTIONAL, -- Need R
+ carrierFreq-r17 ARFCN-ValueNR OPTIONAL, -- Need R
+ physCellId-r17 PhysCellId OPTIONAL -- Need R
+}
+
+-- TAG-SIB19-STOP
+-- TAG-SIB20-START
+
+SIB20-r17 ::= SEQUENCE {
+ mcch-Config-r17 MCCH-Config-r17,
+ cfr-ConfigMCCH-MTCH-r17 CFR-ConfigMCCH-MTCH-r17 OPTIONAL, -- Need S
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+MCCH-Config-r17 ::= SEQUENCE {
+ mcch-RepetitionPeriodAndOffset-r17 MCCH-RepetitionPeriodAndOffset-r17,
+ mcch-WindowStartSlot-r17 INTEGER (0..79),
+ mcch-WindowDuration-r17 ENUMERATED {sl2, sl4, sl8, sl10, sl20, sl40,sl80, sl160} OPTIONAL, -- Need S
+ mcch-ModificationPeriod-r17 ENUMERATED {rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256,
+ rf512, rf1024, rf2048, rf4096, rf8192, rf16384, rf32768, rf65536}
+}
+
+MCCH-RepetitionPeriodAndOffset-r17 ::= CHOICE {
+ rf1-r17 INTEGER(0),
+ rf2-r17 INTEGER(0..1),
+ rf4-r17 INTEGER(0..3),
+ rf8-r17 INTEGER(0..7),
+ rf16-r17 INTEGER(0..15),
+ rf32-r17 INTEGER(0..31),
+ rf64-r17 INTEGER(0..63),
+ rf128-r17 INTEGER(0..127),
+ rf256-r17 INTEGER(0..255)
+}
+
+-- TAG-SIB20-STOP
+-- TAG-SIB21-START
+
+SIB21-r17 ::= SEQUENCE {
+ mbs-FSAI-IntraFreq-r17 MBS-FSAI-List-r17 OPTIONAL, -- Need R
+ mbs-FSAI-InterFreqList-r17 MBS-FSAI-InterFreqList-r17 OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+MBS-FSAI-List-r17 ::= SEQUENCE (SIZE (1..maxFSAI-MBS-r17)) OF MBS-FSAI-r17
+
+MBS-FSAI-InterFreqList-r17 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBS-FSAI-InterFreq-r17
+
+MBS-FSAI-InterFreq-r17 ::= SEQUENCE {
+ dl-CarrierFreq-r17 ARFCN-ValueNR,
+ mbs-FSAI-List-r17 MBS-FSAI-List-r17
+}
+
+MBS-FSAI-r17 ::= OCTET STRING (SIZE (3))
+
+-- TAG-SIB21-STOP
+-- TAG-POSSYSTEMINFORMATION-R16-IES-START
+
+PosSystemInformation-r16-IEs ::= SEQUENCE {
+ posSIB-TypeAndInfo-r16 SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
+ posSib1-1-r16 SIBpos-r16,
+ posSib1-2-r16 SIBpos-r16,
+ posSib1-3-r16 SIBpos-r16,
+ posSib1-4-r16 SIBpos-r16,
+ posSib1-5-r16 SIBpos-r16,
+ posSib1-6-r16 SIBpos-r16,
+ posSib1-7-r16 SIBpos-r16,
+ posSib1-8-r16 SIBpos-r16,
+ posSib2-1-r16 SIBpos-r16,
+ posSib2-2-r16 SIBpos-r16,
+ posSib2-3-r16 SIBpos-r16,
+ posSib2-4-r16 SIBpos-r16,
+ posSib2-5-r16 SIBpos-r16,
+ posSib2-6-r16 SIBpos-r16,
+ posSib2-7-r16 SIBpos-r16,
+ posSib2-8-r16 SIBpos-r16,
+ posSib2-9-r16 SIBpos-r16,
+ posSib2-10-r16 SIBpos-r16,
+ posSib2-11-r16 SIBpos-r16,
+ posSib2-12-r16 SIBpos-r16,
+ posSib2-13-r16 SIBpos-r16,
+ posSib2-14-r16 SIBpos-r16,
+ posSib2-15-r16 SIBpos-r16,
+ posSib2-16-r16 SIBpos-r16,
+ posSib2-17-r16 SIBpos-r16,
+ posSib2-18-r16 SIBpos-r16,
+ posSib2-19-r16 SIBpos-r16,
+ posSib2-20-r16 SIBpos-r16,
+ posSib2-21-r16 SIBpos-r16,
+ posSib2-22-r16 SIBpos-r16,
+ posSib2-23-r16 SIBpos-r16,
+ posSib3-1-r16 SIBpos-r16,
+ posSib4-1-r16 SIBpos-r16,
+ posSib5-1-r16 SIBpos-r16,
+ posSib6-1-r16 SIBpos-r16,
+ posSib6-2-r16 SIBpos-r16,
+ posSib6-3-r16 SIBpos-r16,
+ ... ,
+ posSib1-9-v1700 SIBpos-r16,
+ posSib1-10-v1700 SIBpos-r16,
+ posSib2-24-v1700 SIBpos-r16,
+ posSib2-25-v1700 SIBpos-r16,
+ posSib6-4-v1700 SIBpos-r16,
+ posSib6-5-v1700 SIBpos-r16,
+ posSib6-6-v1700 SIBpos-r16
+ },
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-POSSYSTEMINFORMATION-R16-IES-STOP
+-- TAG-POSSI-SCHEDULINGINFO-START
+
+PosSI-SchedulingInfo-r16 ::= SEQUENCE {
+ posSchedulingInfoList-r16 SEQUENCE (SIZE (1..maxSI-Message)) OF PosSchedulingInfo-r16,
+ posSI-RequestConfig-r16 SI-RequestConfig OPTIONAL, -- Cond MSG-1
+ posSI-RequestConfigSUL-r16 SI-RequestConfig OPTIONAL, -- Cond SUL-MSG-1
+ ...,
+ [[
+ posSI-RequestConfigRedCap-r17 SI-RequestConfig OPTIONAL -- Cond REDCAP-MSG-1
+ ]]
+}
+
+PosSchedulingInfo-r16 ::= SEQUENCE {
+ offsetToSI-Used-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ posSI-Periodicity-r16 ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},
+ posSI-BroadcastStatus-r16 ENUMERATED {broadcasting, notBroadcasting},
+ posSIB-MappingInfo-r16 PosSIB-MappingInfo-r16,
+ ...
+}
+
+PosSIB-MappingInfo-r16 ::= SEQUENCE (SIZE (1..maxSIB)) OF PosSIB-Type-r16
+
+PosSIB-Type-r16 ::= SEQUENCE {
+ encrypted-r16 ENUMERATED { true } OPTIONAL, -- Need R
+ gnss-id-r16 GNSS-ID-r16 OPTIONAL, -- Need R
+ sbas-id-r16 SBAS-ID-r16 OPTIONAL, -- Cond GNSS-ID-SBAS
+ posSibType-r16 ENUMERATED { posSibType1-1, posSibType1-2, posSibType1-3, posSibType1-4, posSibType1-5, posSibType1-6,
+ posSibType1-7, posSibType1-8, posSibType2-1, posSibType2-2, posSibType2-3, posSibType2-4,
+ posSibType2-5, posSibType2-6, posSibType2-7, posSibType2-8, posSibType2-9, posSibType2-10,
+ posSibType2-11, posSibType2-12, posSibType2-13, posSibType2-14, posSibType2-15,
+ posSibType2-16, posSibType2-17, posSibType2-18, posSibType2-19, posSibType2-20,
+ posSibType2-21, posSibType2-22, posSibType2-23, posSibType3-1, posSibType4-1,
+ posSibType5-1,posSibType6-1, posSibType6-2, posSibType6-3,... },
+ areaScope-r16 ENUMERATED {true} OPTIONAL -- Need S
+}
+
+GNSS-ID-r16 ::= SEQUENCE {
+ gnss-id-r16 ENUMERATED{gps, sbas, qzss, galileo, glonass, bds, ...},
+ ...
+}
+
+SBAS-ID-r16 ::= SEQUENCE {
+ sbas-id-r16 ENUMERATED { waas, egnos, msas, gagan, ...},
+ ...
+}
+
+-- TAG-POSSI-SCHEDULINGINFO-STOP
+-- TAG-SIPOS-START
+
+SIBpos-r16 ::= SEQUENCE {
+ assistanceDataSIB-Element-r16 OCTET STRING,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SIPOS-STOP
+-- TAG-ADDITIONALSPECTRUMEMISSION-START
+
+AdditionalSpectrumEmission ::= INTEGER (0..7)
+
+-- TAG-ADDITIONALSPECTRUMEMISSION-STOP
+-- TAG-ALPHA-START
+
+Alpha ::= ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1}
+
+-- TAG-ALPHA-STOP
+-- TAG-AMF-IDENTIFIER-START
+
+AMF-Identifier ::= BIT STRING (SIZE (24))
+
+-- TAG-AMF-IDENTIFIER-STOP
+-- TAG-ARFCN-VALUEEUTRA-START
+
+ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN)
+
+-- TAG-ARFCN-VALUEEUTRA-STOP
+-- TAG-ARFCN-VALUENR-START
+
+ARFCN-ValueNR ::= INTEGER (0..maxNARFCN)
+
+-- TAG-ARFCN-VALUENR-STOP
+-- TAG-ARFCN-ValueUTRA-FDD-START
+
+ARFCN-ValueUTRA-FDD-r16 ::= INTEGER (0..16383)
+
+-- TAG-ARFCN-ValueUTRA-FDD-STOP
+-- TAG-AVAILABILITYCOMBINATIONSPERCELL-START
+
+AvailabilityCombinationsPerCell-r16 ::= SEQUENCE {
+ availabilityCombinationsPerCellIndex-r16 AvailabilityCombinationsPerCellIndex-r16,
+ iab-DU-CellIdentity-r16 CellIdentity,
+ positionInDCI-AI-r16 INTEGER(0..maxAI-DCI-PayloadSize-1-r16) OPTIONAL, -- Need M
+ availabilityCombinations-r16 SEQUENCE (SIZE (1..maxNrofAvailabilityCombinationsPerSet-r16)) OF AvailabilityCombination-r16,
+ ...,
+ [[
+ availabilityCombinationsRB-Groups-r17 SEQUENCE (SIZE (1..maxNrofAvailabilityCombinationsPerSet-r16)) OF AvailabilityCombinationRB-Groups-r17 OPTIONAL -- Need M
+ ]],
+ [[
+ positionInDCI-AI-RBGroups-v1720 INTEGER(0..maxAI-DCI-PayloadSize-1-r16) OPTIONAL -- Need M
+ ]]
+}
+
+AvailabilityCombinationsPerCellIndex-r16 ::= INTEGER(0..maxNrofDUCells-r16)
+
+AvailabilityCombination-r16 ::= SEQUENCE {
+ availabilityCombinationId-r16 AvailabilityCombinationId-r16,
+ resourceAvailability-r16 SEQUENCE (SIZE (1..maxNrofResourceAvailabilityPerCombination-r16)) OF INTEGER (0..7)
+}
+
+AvailabilityCombinationId-r16 ::= INTEGER (0..maxNrofAvailabilityCombinationsPerSet-1-r16)
+
+AvailabilityCombinationRB-Groups-r17 ::= SEQUENCE {
+ availabilityCombinationId-r17 AvailabilityCombinationId-r16,
+ rb-SetGroups-r17 SEQUENCE (SIZE (1..maxNrofRB-SetGroups-r17)) OF RB-SetGroup-r17 OPTIONAL, -- Need R
+ resourceAvailability-r17 SEQUENCE (SIZE (1..maxNrofResourceAvailabilityPerCombination-r16)) OF INTEGER (0..7) OPTIONAL -- Need R
+}
+
+RB-SetGroup-r17 ::= SEQUENCE {
+ resourceAvailability-r17 SEQUENCE (SIZE (1..maxNrofResourceAvailabilityPerCombination-r16)) OF INTEGER (0..7) OPTIONAL, -- Need R
+ rb-Sets-r17 SEQUENCE (SIZE (1..maxNrofRB-Sets-r17)) OF INTEGER (0..7) OPTIONAL -- Need R
+}
+
+-- TAG-AVAILABILITYCOMBINATIONSPERCELL-STOP
+-- TAG-AVAILABILITYINDICATOR-START
+
+AvailabilityIndicator-r16 ::= SEQUENCE {
+ ai-RNTI-r16 AI-RNTI-r16,
+ dci-PayloadSizeAI-r16 INTEGER (1..maxAI-DCI-PayloadSize-r16),
+ availableCombToAddModList-r16 SEQUENCE (SIZE(1..maxNrofDUCells-r16)) OF AvailabilityCombinationsPerCell-r16 OPTIONAL, -- Need N
+ availableCombToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofDUCells-r16)) OF AvailabilityCombinationsPerCellIndex-r16 OPTIONAL, -- Need N
+ ...
+}
+
+AI-RNTI-r16 ::= RNTI-Value
+
+-- TAG-AVAILABILITYINDICATOR-STOP
+-- TAG-BAPROUTINGID-START
+
+BAP-RoutingID-r16::= SEQUENCE{
+ bap-Address-r16 BIT STRING (SIZE (10)),
+ bap-PathId-r16 BIT STRING (SIZE (10))
+}
+
+-- TAG-BAPROUTINGID-STOP
+-- TAG-BEAMFAILURERECOVERYCONFIG-START
+
+BeamFailureRecoveryConfig ::= SEQUENCE {
+ rootSequenceIndex-BFR INTEGER (0..137) OPTIONAL, -- Need M
+ rach-ConfigBFR RACH-ConfigGeneric OPTIONAL, -- Need M
+ rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need M
+ candidateBeamRSList SEQUENCE (SIZE(1..maxNrofCandidateBeams)) OF PRACH-ResourceDedicatedBFR OPTIONAL, -- Need M
+ ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two,
+ four, eight, sixteen} OPTIONAL, -- Need M
+ ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL, -- Need M
+ recoverySearchSpaceId SearchSpaceId OPTIONAL, -- Need R
+ ra-Prioritization RA-Prioritization OPTIONAL, -- Need R
+ beamFailureRecoveryTimer ENUMERATED {ms10, ms20, ms40, ms60, ms80, ms100, ms150, ms200} OPTIONAL, -- Need M
+ ...,
+ [[
+ msg1-SubcarrierSpacing SubcarrierSpacing OPTIONAL -- Need M
+ ]],
+ [[
+ ra-PrioritizationTwoStep-r16 RA-Prioritization OPTIONAL, -- Need R
+ candidateBeamRSListExt-v1610 CHOICE {release NULL, setup CandidateBeamRSListExt-r16 } OPTIONAL -- Need M
+ ]],
+ [[
+ spCell-BFR-CBRA-r16 ENUMERATED {true} OPTIONAL -- Need R
+ ]]
+}
+
+PRACH-ResourceDedicatedBFR ::= CHOICE {
+ ssb BFR-SSB-Resource,
+ csi-RS BFR-CSIRS-Resource
+}
+
+BFR-SSB-Resource ::= SEQUENCE {
+ ssb SSB-Index,
+ ra-PreambleIndex INTEGER (0..63),
+ ...
+}
+
+BFR-CSIRS-Resource ::= SEQUENCE {
+ csi-RS NZP-CSI-RS-ResourceId,
+ ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1) OPTIONAL, -- Need R
+ ra-PreambleIndex INTEGER (0..63) OPTIONAL, -- Need R
+ ...
+}
+
+CandidateBeamRSListExt-r16::= SEQUENCE (SIZE(1.. maxNrofCandidateBeamsExt-r16)) OF PRACH-ResourceDedicatedBFR
+
+-- TAG-BEAMFAILURERECOVERYCONFIG-STOP
+-- TAG-BEAMFAILURERECOVERYRSCONFIG-START
+
+BeamFailureRecoveryRSConfig-r16 ::= SEQUENCE {
+ rsrp-ThresholdBFR-r16 RSRP-Range OPTIONAL, -- Need M
+ candidateBeamRS-List-r16 SEQUENCE (SIZE(1..maxNrofCandidateBeams-r16)) OF CandidateBeamRS-r16 OPTIONAL, -- Need M
+ ...,
+ [[
+ candidateBeamRS-List2-r17 SEQUENCE (SIZE(1..maxNrofCandidateBeams-r16)) OF CandidateBeamRS-r16 OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-BEAMFAILURERECOVERYRSCONFIG-STOP
+-- TAG-BETAOFFSETS-START
+
+BetaOffsets ::= SEQUENCE {
+ betaOffsetACK-Index1 INTEGER(0..31) OPTIONAL, -- Need S
+ betaOffsetACK-Index2 INTEGER(0..31) OPTIONAL, -- Need S
+ betaOffsetACK-Index3 INTEGER(0..31) OPTIONAL, -- Need S
+ betaOffsetCSI-Part1-Index1 INTEGER(0..31) OPTIONAL, -- Need S
+ betaOffsetCSI-Part1-Index2 INTEGER(0..31) OPTIONAL, -- Need S
+ betaOffsetCSI-Part2-Index1 INTEGER(0..31) OPTIONAL, -- Need S
+ betaOffsetCSI-Part2-Index2 INTEGER(0..31) OPTIONAL -- Need S
+}
+
+-- TAG-BETAOFFSETS-STOP
+-- TAG-BETAOFFSETSCROSSPRI-START
+
+BetaOffsetsCrossPri-r17 ::= SEQUENCE (SIZE(3)) OF INTEGER(0..31)
+
+-- TAG-BETAOFFSETSCROSSPRI-STOP
+-- TAG-BHLOGICALCHANNELIDENTITY-START
+
+BH-LogicalChannelIdentity-r16 ::= CHOICE {
+ bh-LogicalChannelIdentity-r16 LogicalChannelIdentity,
+ bh-LogicalChannelIdentityExt-r16 BH-LogicalChannelIdentity-Ext-r16
+}
+
+-- TAG-BHLOGICALCHANNELIDENTITY-STOP
+-- TAG-BHLOGICALCHANNELIDENTITYEXT-START
+
+BH-LogicalChannelIdentity-Ext-r16 ::= INTEGER (320.. maxLC-ID-Iab-r16)
+
+-- TAG-BHLOGICALCHANNELIDENTITYEXT-STOP
+-- TAG-BHRLCCHANNELCONFIG-START
+
+BH-RLC-ChannelConfig-r16::= SEQUENCE {
+ bh-LogicalChannelIdentity-r16 BH-LogicalChannelIdentity-r16 OPTIONAL, -- Cond LCH-SetupOnly
+ bh-RLC-ChannelID-r16 BH-RLC-ChannelID-r16,
+ reestablishRLC-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ rlc-Config-r16 RLC-Config OPTIONAL, -- Cond LCH-Setup
+ mac-LogicalChannelConfig-r16 LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup
+ ...
+}
+
+-- TAG-BHRLCCHANNELCONFIG-STOP
+-- TAG-BHRLCCHANNELID-START
+
+BH-RLC-ChannelID-r16 ::= BIT STRING (SIZE (16))
+
+-- TAG-BHRLCCHANNELID-STOP
+-- TAG-BSR-CONFIG-START
+
+BSR-Config ::= SEQUENCE {
+ periodicBSR-Timer ENUMERATED { sf1, sf5, sf10, sf16, sf20, sf32, sf40, sf64,
+ sf80, sf128, sf160, sf320, sf640, sf1280, sf2560, infinity },
+ retxBSR-Timer ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280, sf2560,
+ sf5120, sf10240, spare5, spare4, spare3, spare2, spare1},
+ logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-BSR-CONFIG-STOP
+-- TAG-BWP-START
+
+BWP ::= SEQUENCE {
+ locationAndBandwidth INTEGER (0..37949),
+ subcarrierSpacing SubcarrierSpacing,
+ cyclicPrefix ENUMERATED { extended } OPTIONAL -- Need R
+}
+
+-- TAG-BWP-STOP
+-- TAG-BWP-DOWNLINK-START
+
+BWP-Downlink ::= SEQUENCE {
+ bwp-Id BWP-Id,
+ bwp-Common BWP-DownlinkCommon OPTIONAL, -- Cond SetupOtherBWP
+ bwp-Dedicated BWP-DownlinkDedicated OPTIONAL, -- Cond SetupOtherBWP
+ ...
+}
+
+-- TAG-BWP-DOWNLINK-STOP
+-- TAG-BWP-DOWNLINKCOMMON-START
+
+BWP-DownlinkCommon ::= SEQUENCE {
+ genericParameters BWP,
+ pdcch-ConfigCommon CHOICE {release NULL, setup PDCCH-ConfigCommon } OPTIONAL, -- Need M
+ pdsch-ConfigCommon CHOICE {release NULL, setup PDSCH-ConfigCommon } OPTIONAL, -- Need M
+ ...
+}
+
+-- TAG-BWP-DOWNLINKCOMMON-STOP
+-- TAG-BWP-DOWNLINKDEDICATED-START
+
+BWP-DownlinkDedicated ::= SEQUENCE {
+ pdcch-Config CHOICE {release NULL, setup PDCCH-Config } OPTIONAL, -- Need M
+ pdsch-Config CHOICE {release NULL, setup PDSCH-Config } OPTIONAL, -- Need M
+ sps-Config CHOICE {release NULL, setup SPS-Config } OPTIONAL, -- Need M
+ radioLinkMonitoringConfig CHOICE {release NULL, setup RadioLinkMonitoringConfig } OPTIONAL, -- Need M
+ ...,
+ [[
+ sps-ConfigToAddModList-r16 SPS-ConfigToAddModList-r16 OPTIONAL, -- Need N
+ sps-ConfigToReleaseList-r16 SPS-ConfigToReleaseList-r16 OPTIONAL, -- Need N
+ sps-ConfigDeactivationStateList-r16 SPS-ConfigDeactivationStateList-r16 OPTIONAL, -- Need R
+ beamFailureRecoverySCellConfig-r16 CHOICE {release NULL, setup BeamFailureRecoveryRSConfig-r16} OPTIONAL, -- Cond SCellOnly
+ sl-PDCCH-Config-r16 CHOICE {release NULL, setup PDCCH-Config } OPTIONAL, -- Need M
+ sl-V2X-PDCCH-Config-r16 CHOICE {release NULL, setup PDCCH-Config } OPTIONAL -- Need M
+ ]],
+ [[
+ preConfGapStatus-r17 BIT STRING (SIZE (maxNrofGapId-r17)) OPTIONAL, -- Cond PreConfigMG
+ beamFailureRecoverySpCellConfig-r17 CHOICE {release NULL, setup BeamFailureRecoveryRSConfig-r16} OPTIONAL, -- Cond SpCellOnly
+ harq-FeedbackEnablingforSPSactive-r17 BOOLEAN OPTIONAL, -- Need R
+ cfr-ConfigMulticast-r17 CHOICE {release NULL, setup CFR-ConfigMulticast-r17 } OPTIONAL, -- Need M
+ dl-PPW-PreConfigToAddModList-r17 DL-PPW-PreConfigToAddModList-r17 OPTIONAL, -- Need N
+ dl-PPW-PreConfigToReleaseList-r17 DL-PPW-PreConfigToReleaseList-r17 OPTIONAL, -- Need N
+ nonCellDefiningSSB-r17 NonCellDefiningSSB-r17 OPTIONAL, -- Need R
+ servingCellMO-r17 MeasObjectId OPTIONAL -- Cond MeasObject-NCD-SSB
+ ]]
+}
+
+SPS-ConfigToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofSPS-Config-r16)) OF SPS-Config
+
+SPS-ConfigToReleaseList-r16 ::= SEQUENCE (SIZE (1..maxNrofSPS-Config-r16)) OF SPS-ConfigIndex-r16
+
+SPS-ConfigDeactivationState-r16 ::= SEQUENCE (SIZE (1..maxNrofSPS-Config-r16)) OF SPS-ConfigIndex-r16
+
+SPS-ConfigDeactivationStateList-r16 ::= SEQUENCE (SIZE (1..maxNrofSPS-DeactivationState)) OF SPS-ConfigDeactivationState-r16
+
+DL-PPW-PreConfigToAddModList-r17 ::= SEQUENCE (SIZE (1..maxNrofPPW-Config-r17)) OF DL-PPW-PreConfig-r17
+
+DL-PPW-PreConfigToReleaseList-r17 ::= SEQUENCE (SIZE (1..maxNrofPPW-Config-r17)) OF DL-PPW-ID-r17
+
+-- TAG-BWP-DOWNLINKDEDICATED-STOP
+-- TAG-BWP-ID-START
+
+BWP-Id ::= INTEGER (0..maxNrofBWPs)
+
+-- TAG-BWP-ID-STOP
+-- TAG-BWP-UPLINK-START
+
+BWP-Uplink ::= SEQUENCE {
+ bwp-Id BWP-Id,
+ bwp-Common BWP-UplinkCommon OPTIONAL, -- Cond SetupOtherBWP
+ bwp-Dedicated BWP-UplinkDedicated OPTIONAL, -- Cond SetupOtherBWP
+ ...
+}
+
+-- TAG-BWP-UPLINK-STOP
+-- TAG-BWP-UPLINKCOMMON-START
+
+BWP-UplinkCommon ::= SEQUENCE {
+ genericParameters BWP,
+ rach-ConfigCommon CHOICE {release NULL, setup RACH-ConfigCommon } OPTIONAL, -- Need M
+ pusch-ConfigCommon CHOICE {release NULL, setup PUSCH-ConfigCommon } OPTIONAL, -- Need M
+ pucch-ConfigCommon CHOICE {release NULL, setup PUCCH-ConfigCommon } OPTIONAL, -- Need M
+ ...,
+ [[
+ rach-ConfigCommonIAB-r16 CHOICE {release NULL, setup RACH-ConfigCommon } OPTIONAL, -- Need M
+ useInterlacePUCCH-PUSCH-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ msgA-ConfigCommon-r16 CHOICE {release NULL, setup MsgA-ConfigCommon-r16 } OPTIONAL -- Cond SpCellOnly2
+ ]],
+ [[
+ enableRA-PrioritizationForSlicing-r17 BOOLEAN OPTIONAL, -- Cond RA-PrioSliceAI
+ additionalRACH-ConfigList-r17 CHOICE {release NULL, setup AdditionalRACH-ConfigList-r17 } OPTIONAL, -- Cond SpCellOnly2
+ rsrp-ThresholdMsg3-r17 RSRP-Range OPTIONAL, -- Need R
+ numberOfMsg3-RepetitionsList-r17 SEQUENCE (SIZE (4)) OF NumberOfMsg3-Repetitions-r17 OPTIONAL, -- Cond Msg3Rep
+ mcs-Msg3-Repetitions-r17 SEQUENCE (SIZE (8)) OF INTEGER (0..31) OPTIONAL -- Cond Msg3Rep
+ ]]
+}
+
+AdditionalRACH-ConfigList-r17 ::= SEQUENCE (SIZE(1..maxAdditionalRACH-r17)) OF AdditionalRACH-Config-r17
+
+AdditionalRACH-Config-r17 ::= SEQUENCE {
+ rach-ConfigCommon-r17 RACH-ConfigCommon OPTIONAL, -- Need R
+ msgA-ConfigCommon-r17 MsgA-ConfigCommon-r16 OPTIONAL, -- Need R
+ ...
+}
+
+NumberOfMsg3-Repetitions-r17::= ENUMERATED {n1, n2, n3, n4, n7, n8, n12, n16}
+
+-- TAG-BWP-UPLINKCOMMON-STOP
+-- TAG-BWP-UPLINKDEDICATED-START
+
+BWP-UplinkDedicated ::= SEQUENCE {
+ pucch-Config CHOICE {release NULL, setup PUCCH-Config } OPTIONAL, -- Need M
+ pusch-Config CHOICE {release NULL, setup PUSCH-Config } OPTIONAL, -- Need M
+ configuredGrantConfig CHOICE {release NULL, setup ConfiguredGrantConfig } OPTIONAL, -- Need M
+ srs-Config CHOICE {release NULL, setup SRS-Config } OPTIONAL, -- Need M
+ beamFailureRecoveryConfig CHOICE {release NULL, setup BeamFailureRecoveryConfig } OPTIONAL, -- Cond SpCellOnly
+ ...,
+ [[
+ sl-PUCCH-Config-r16 CHOICE {release NULL, setup PUCCH-Config } OPTIONAL, -- Need M
+ cp-ExtensionC2-r16 INTEGER (1..28) OPTIONAL, -- Need R
+ cp-ExtensionC3-r16 INTEGER (1..28) OPTIONAL, -- Need R
+ useInterlacePUCCH-PUSCH-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pucch-ConfigurationList-r16 CHOICE {release NULL, setup PUCCH-ConfigurationList-r16 } OPTIONAL, -- Need M
+ lbt-FailureRecoveryConfig-r16 CHOICE {release NULL, setup LBT-FailureRecoveryConfig-r16 } OPTIONAL, -- Need M
+ configuredGrantConfigToAddModList-r16 ConfiguredGrantConfigToAddModList-r16 OPTIONAL, -- Need N
+ configuredGrantConfigToReleaseList-r16 ConfiguredGrantConfigToReleaseList-r16 OPTIONAL, -- Need N
+ configuredGrantConfigType2DeactivationStateList-r16 ConfiguredGrantConfigType2DeactivationStateList-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ ul-TCI-StateList-r17 CHOICE {
+ explicitlist SEQUENCE {
+ ul-TCI-ToAddModList-r17 SEQUENCE (SIZE (1..maxUL-TCI-r17)) OF TCI-UL-State-r17 OPTIONAL, -- Need N
+ ul-TCI-ToReleaseList-r17 SEQUENCE (SIZE (1..maxUL-TCI-r17)) OF TCI-UL-StateId-r17 OPTIONAL -- Need N
+ },
+ unifiedTCI-StateRef-r17 ServingCellAndBWP-Id-r17
+ } OPTIONAL, -- Need R
+ ul-powerControl-r17 Uplink-powerControlId-r17 OPTIONAL, -- Cond NoTCI-PC
+ pucch-ConfigurationListMulticast1-r17 CHOICE {release NULL, setup PUCCH-ConfigurationList-r16 } OPTIONAL, -- Need M
+ pucch-ConfigurationListMulticast2-r17 CHOICE {release NULL, setup PUCCH-ConfigurationList-r16 } OPTIONAL -- Need M
+ ]],
+ [[
+ pucch-ConfigMulticast1-r17 CHOICE {release NULL, setup PUCCH-Config } OPTIONAL, -- Need M
+ pucch-ConfigMulticast2-r17 CHOICE {release NULL, setup PUCCH-Config } OPTIONAL -- Need M
+ ]],
+ [[
+ pathlossReferenceRSToAddModList-r17 SEQUENCE (SIZE (1..maxNrofPathlossReferenceRSs-r17)) OF PathlossReferenceRS-r17
+ OPTIONAL, -- Need N
+ pathlossReferenceRSToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofPathlossReferenceRSs-r17)) OF PathlossReferenceRS-Id-r17
+ OPTIONAL -- Need N
+ ]]
+}
+
+ConfiguredGrantConfigToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofConfiguredGrantConfig-r16)) OF ConfiguredGrantConfig
+
+ConfiguredGrantConfigToReleaseList-r16 ::= SEQUENCE (SIZE (1..maxNrofConfiguredGrantConfig-r16)) OF ConfiguredGrantConfigIndex-r16
+
+ConfiguredGrantConfigType2DeactivationState-r16 ::= SEQUENCE (SIZE (1..maxNrofConfiguredGrantConfig-r16)) OF ConfiguredGrantConfigIndex-r16
+
+ConfiguredGrantConfigType2DeactivationStateList-r16 ::=
+ SEQUENCE (SIZE (1..maxNrofCG-Type2DeactivationState)) OF ConfiguredGrantConfigType2DeactivationState-r16
+
+-- TAG-BWP-UPLINKDEDICATED-STOP
+-- TAG-CANDIDATEBEAMRS-START
+
+
+CandidateBeamRS-r16 ::= SEQUENCE {
+ candidateBeamConfig-r16 CHOICE {
+ ssb-r16 SSB-Index,
+ csi-RS-r16 NZP-CSI-RS-ResourceId
+ },
+ servingCellId ServCellIndex OPTIONAL -- Need R
+}
+
+-- TAG-CANDIDATEBEAMRS-STOP
+-- TAG-CELLACCESSRELATEDINFO-START
+
+CellAccessRelatedInfo ::= SEQUENCE {
+ plmn-IdentityInfoList PLMN-IdentityInfoList,
+ cellReservedForOtherUse ENUMERATED {true} OPTIONAL, -- Need R
+ ...,
+ [[
+ cellReservedForFutureUse-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ npn-IdentityInfoList-r16 NPN-IdentityInfoList-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ snpn-AccessInfoList-r17 SEQUENCE (SIZE (1..maxNPN-r16)) OF SNPN-AccessInfo-r17 OPTIONAL -- Need R
+ ]]
+}
+
+SNPN-AccessInfo-r17 ::= SEQUENCE {
+ extCH-Supported-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ extCH-WithoutConfigAllowed-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ onboardingEnabled-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ imsEmergencySupportForSNPN-r17 ENUMERATED {true} OPTIONAL -- Need R
+}
+
+-- TAG-CELLACCESSRELATEDINFO-STOP
+-- TAG-CELLACCESSRELATEDINFOEUTRA-5GC-START
+
+CellAccessRelatedInfo-EUTRA-5GC ::= SEQUENCE {
+ plmn-IdentityList-eutra-5gc PLMN-IdentityList-EUTRA-5GC,
+ trackingAreaCode-eutra-5gc TrackingAreaCode,
+ ranac-5gc RAN-AreaCode OPTIONAL,
+ cellIdentity-eutra-5gc CellIdentity-EUTRA-5GC
+}
+
+PLMN-IdentityList-EUTRA-5GC::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity-EUTRA-5GC
+
+PLMN-Identity-EUTRA-5GC ::= CHOICE {
+ plmn-Identity-EUTRA-5GC PLMN-Identity,
+ plmn-index INTEGER (1..maxPLMN)
+}
+
+CellIdentity-EUTRA-5GC ::= CHOICE {
+ cellIdentity-EUTRA BIT STRING (SIZE (28)),
+ cellId-index INTEGER (1..maxPLMN)
+}
+
+-- TAG-CELLACCESSRELATEDINFOEUTRA-5GC-STOP
+-- TAG-CELLACCESSRELATEDINFOEUTRA-EPC-START
+
+CellAccessRelatedInfo-EUTRA-EPC ::= SEQUENCE {
+ plmn-IdentityList-eutra-epc PLMN-IdentityList-EUTRA-EPC,
+ trackingAreaCode-eutra-epc BIT STRING (SIZE (16)),
+ cellIdentity-eutra-epc BIT STRING (SIZE (28))
+}
+
+PLMN-IdentityList-EUTRA-EPC::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity
+
+-- TAG-CELLACCESSRELATEDINFOEUTRA-EPC-STOP
+-- TAG-CELLGROUPCONFIG-START
+
+-- Configuration of one Cell-Group:
+CellGroupConfig ::= SEQUENCE {
+ cellGroupId CellGroupId,
+ rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-BearerConfig OPTIONAL, -- Need N
+ rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity OPTIONAL, -- Need N
+ mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL, -- Need M
+ physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL, -- Need M
+ spCellConfig SpCellConfig OPTIONAL, -- Need M
+ sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL, -- Need N
+ sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL, -- Need N
+ ...,
+ [[
+ reportUplinkTxDirectCurrent ENUMERATED {true} OPTIONAL -- Cond BWP-Reconfig
+ ]],
+ [[
+ bap-Address-r16 BIT STRING (SIZE (10)) OPTIONAL, -- Need M
+ bh-RLC-ChannelToAddModList-r16 SEQUENCE (SIZE(1..maxBH-RLC-ChannelID-r16)) OF BH-RLC-ChannelConfig-r16 OPTIONAL, -- Need N
+ bh-RLC-ChannelToReleaseList-r16 SEQUENCE (SIZE(1..maxBH-RLC-ChannelID-r16)) OF BH-RLC-ChannelID-r16 OPTIONAL, -- Need N
+ f1c-TransferPath-r16 ENUMERATED {lte, nr, both} OPTIONAL, -- Need M
+ simultaneousTCI-UpdateList1-r16 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R
+ simultaneousTCI-UpdateList2-r16 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R
+ simultaneousSpatial-UpdatedList1-r16 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R
+ simultaneousSpatial-UpdatedList2-r16 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R
+ uplinkTxSwitchingOption-r16 ENUMERATED {switchedUL, dualUL} OPTIONAL, -- Need R
+ uplinkTxSwitchingPowerBoosting-r16 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]],
+ [[
+ reportUplinkTxDirectCurrentTwoCarrier-r16 ENUMERATED {true} OPTIONAL -- Need N
+ ]],
+ [[
+ f1c-TransferPathNRDC-r17 ENUMERATED {mcg, scg, both} OPTIONAL, -- Need M
+ uplinkTxSwitching-2T-Mode-r17 ENUMERATED {enabled} OPTIONAL, -- Cond 2Tx
+ uplinkTxSwitching-DualUL-TxState-r17 ENUMERATED {oneT, twoT} OPTIONAL, -- Cond 2Tx
+ uu-RelayRLC-ChannelToAddModList-r17 SEQUENCE (SIZE(1..maxUu-RelayRLC-ChannelID-r17)) OF Uu-RelayRLC-ChannelConfig-r17
+ OPTIONAL, -- Need N
+ uu-RelayRLC-ChannelToReleaseList-r17 SEQUENCE (SIZE(1..maxUu-RelayRLC-ChannelID-r17)) OF Uu-RelayRLC-ChannelID-r17
+ OPTIONAL, -- Need N
+ simultaneousU-TCI-UpdateList1-r17 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R
+ simultaneousU-TCI-UpdateList2-r17 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R
+ simultaneousU-TCI-UpdateList3-r17 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R
+ simultaneousU-TCI-UpdateList4-r17 SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex OPTIONAL, -- Need R
+ rlc-BearerToReleaseListExt-r17 SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentityExt-r17 OPTIONAL, -- Need N
+ iab-ResourceConfigToAddModList-r17 SEQUENCE (SIZE(1..maxNrofIABResourceConfig-r17)) OF IAB-ResourceConfig-r17 OPTIONAL, -- Need N
+ iab-ResourceConfigToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofIABResourceConfig-r17)) OF IAB-ResourceConfigID-r17 OPTIONAL -- Need N
+ ]],
+ [[
+ reportUplinkTxDirectCurrentMoreCarrier-r17 ReportUplinkTxDirectCurrentMoreCarrier-r17 OPTIONAL -- Need N
+ ]]
+}
+
+-- Serving cell specific MAC and PHY parameters for a SpCell:
+SpCellConfig ::= SEQUENCE {
+ servCellIndex ServCellIndex OPTIONAL, -- Cond SCG
+ reconfigurationWithSync ReconfigurationWithSync OPTIONAL, -- Cond ReconfWithSync
+ rlf-TimersAndConstants CHOICE {release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M
+ rlmInSyncOutOfSyncThreshold ENUMERATED {n1} OPTIONAL, -- Need S
+ spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M
+ ...,
+ [[
+ lowMobilityEvaluationConnected-r17 SEQUENCE {
+ s-SearchDeltaP-Connected-r17 ENUMERATED {dB3, dB6, dB9, dB12, dB15, spare3, spare2, spare1},
+ t-SearchDeltaP-Connected-r17 ENUMERATED {s5, s10, s20, s30, s60, s120, s180, s240, s300, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1}
+ } OPTIONAL, -- Need R
+ goodServingCellEvaluationRLM-r17 GoodServingCellEvaluation-r17 OPTIONAL, -- Need R
+ goodServingCellEvaluationBFD-r17 GoodServingCellEvaluation-r17 OPTIONAL, -- Need R
+ deactivatedSCG-Config-r17 CHOICE {release NULL, setup DeactivatedSCG-Config-r17 } OPTIONAL -- Cond SCG-Opt
+ ]]
+}
+
+ReconfigurationWithSync ::= SEQUENCE {
+ spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M
+ newUE-Identity RNTI-Value,
+ t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
+ rach-ConfigDedicated CHOICE {
+ uplink RACH-ConfigDedicated,
+ supplementaryUplink RACH-ConfigDedicated
+ } OPTIONAL, -- Need N
+ ...,
+ [[
+ smtc SSB-MTC OPTIONAL -- Need S
+ ]],
+ [[
+ daps-UplinkPowerConfig-r16 DAPS-UplinkPowerConfig-r16 OPTIONAL -- Need N
+ ]],
+ [[
+ sl-PathSwitchConfig-r17 SL-PathSwitchConfig-r17 OPTIONAL -- Cond DirectToIndirect-PathSwitch
+ ]]
+}
+
+DAPS-UplinkPowerConfig-r16 ::= SEQUENCE {
+ p-DAPS-Source-r16 P-Max,
+ p-DAPS-Target-r16 P-Max,
+ uplinkPowerSharingDAPS-Mode-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic }
+}
+
+SCellConfig ::= SEQUENCE {
+ sCellIndex SCellIndex,
+ sCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Cond SCellAdd
+ sCellConfigDedicated ServingCellConfig OPTIONAL, -- Cond SCellAddMod
+ ...,
+ [[
+ smtc SSB-MTC OPTIONAL -- Need S
+ ]],
+ [[
+ sCellState-r16 ENUMERATED {activated} OPTIONAL, -- Cond SCellAddSync
+ secondaryDRX-GroupConfig-r16 ENUMERATED {true} OPTIONAL -- Need S
+ ]],
+ [[
+ preConfGapStatus-r17 BIT STRING (SIZE (maxNrofGapId-r17)) OPTIONAL, -- Cond PreConfigMG
+ goodServingCellEvaluationBFD-r17 GoodServingCellEvaluation-r17 OPTIONAL, -- Need R
+ sCellSIB20-r17 CHOICE {release NULL, setup SCellSIB20-r17 } OPTIONAL -- Need M
+ ]],
+ [[
+ plmn-IdentityInfoList-r17 CHOICE {release NULL, setup PLMN-IdentityInfoList} OPTIONAL, -- Cond SCellSIB20-Opt
+ npn-IdentityInfoList-r17 CHOICE {release NULL, setup NPN-IdentityInfoList-r16} OPTIONAL -- Cond SCellSIB20-Opt
+ ]]
+}
+
+SCellSIB20-r17 ::= OCTET STRING (CONTAINING SystemInformation)
+
+DeactivatedSCG-Config-r17 ::= SEQUENCE {
+ bfd-and-RLM-r17 BOOLEAN,
+ ...
+}
+
+GoodServingCellEvaluation-r17 ::= SEQUENCE {
+ offset-r17 ENUMERATED {db2, db4, db6, db8} OPTIONAL -- Need S
+}
+
+SL-PathSwitchConfig-r17 ::= SEQUENCE {
+ targetRelayUE-Identity-r17 SL-SourceIdentity-r17,
+ t420-r17 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
+ ...
+}
+
+IAB-ResourceConfig-r17 ::= SEQUENCE {
+ iab-ResourceConfigID-r17 IAB-ResourceConfigID-r17,
+ slotList-r17 SEQUENCE (SIZE (1..5120)) OF INTEGER (0..5119) OPTIONAL, -- Need M
+ periodicitySlotList-r17 ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10, ms20, ms40, ms80, ms160} OPTIONAL, -- Need M
+ slotListSubcarrierSpacing-r17 SubcarrierSpacing OPTIONAL, -- Need M
+ ...
+}
+IAB-ResourceConfigID-r17 ::= INTEGER(0..maxNrofIABResourceConfig-1-r17)
+
+ReportUplinkTxDirectCurrentMoreCarrier-r17 ::= SEQUENCE (SIZE(1.. maxSimultaneousBands)) OF IntraBandCC-CombinationReqList-r17
+
+IntraBandCC-CombinationReqList-r17::= SEQUENCE {
+ servCellIndexList-r17 SEQUENCE (SIZE(1.. maxNrofServingCells)) OF ServCellIndex,
+ cc-CombinationList-r17 SEQUENCE (SIZE(1.. maxNrofReqComDC-Location-r17)) OF IntraBandCC-Combination-r17
+}
+
+IntraBandCC-Combination-r17::= SEQUENCE (SIZE(1.. maxNrofServingCells)) OF CC-State-r17
+
+CC-State-r17::= SEQUENCE {
+ dlCarrier-r17 CarrierState-r17 OPTIONAL, -- Need N
+ ulCarrier-r17 CarrierState-r17 OPTIONAL -- Need N
+}
+
+CarrierState-r17::= CHOICE {
+ deActivated-r17 NULL,
+ activeBWP-r17 INTEGER (0..maxNrofBWPs)
+}
+
+-- TAG-CELLGROUPCONFIG-STOP
+-- TAG-CELLGROUPID-START
+
+CellGroupId ::= INTEGER (0.. maxSecondaryCellGroups)
+
+-- TAG-CELLGROUPID-STOP
+-- TAG-CELLIDENTITY-START
+
+CellIdentity ::= BIT STRING (SIZE (36))
+
+-- TAG-CELLIDENTITY-STOP
+-- TAG-CELLRESELECTIONPRIORITY-START
+
+CellReselectionPriority ::= INTEGER (0..7)
+
+-- TAG-CELLRESELECTIONPRIORITY-STOP
+-- TAG-CELLRESELECTIONSUBPRIORITY-START
+
+CellReselectionSubPriority ::= ENUMERATED {oDot2, oDot4, oDot6, oDot8}
+
+-- TAG-CELLRESELECTIONSUBPRIORITY-STOP
+-- TAG-CFR-CONFIGMULTICAST-START
+
+CFR-ConfigMulticast-r17::= SEQUENCE {
+ locationAndBandwidthMulticast-r17 INTEGER (0..37949) OPTIONAL, -- Need S
+ pdcch-ConfigMulticast-r17 PDCCH-Config OPTIONAL, -- Need M
+ pdsch-ConfigMulticast-r17 PDSCH-Config OPTIONAL, -- Need M
+ sps-ConfigMulticastToAddModList-r17 SPS-ConfigMulticastToAddModList-r17 OPTIONAL, -- Need N
+ sps-ConfigMulticastToReleaseList-r17 SPS-ConfigMulticastToReleaseList-r17 OPTIONAL -- Need N
+}
+
+SPS-ConfigMulticastToAddModList-r17 ::= SEQUENCE (SIZE (1..8)) OF SPS-Config
+
+SPS-ConfigMulticastToReleaseList-r17 ::= SEQUENCE (SIZE (1..8)) OF SPS-ConfigIndex-r16
+
+-- TAG-CFR-CONFIGMULTICAST-STOP
+-- TAG-CGI-INFOEUTRA-START
+
+CGI-InfoEUTRA ::= SEQUENCE {
+ cgi-info-EPC SEQUENCE {
+ cgi-info-EPC-legacy CellAccessRelatedInfo-EUTRA-EPC,
+ cgi-info-EPC-list SEQUENCE (SIZE (1..maxPLMN)) OF CellAccessRelatedInfo-EUTRA-EPC OPTIONAL
+ } OPTIONAL,
+ cgi-info-5GC SEQUENCE (SIZE (1..maxPLMN)) OF CellAccessRelatedInfo-EUTRA-5GC OPTIONAL,
+ freqBandIndicator FreqBandIndicatorEUTRA,
+ multiBandInfoList MultiBandInfoListEUTRA OPTIONAL,
+ freqBandIndicatorPriority ENUMERATED {true} OPTIONAL
+}
+
+-- TAG-CGI-INFOEUTRA-STOP
+-- TAG-CGI-INFOEUTRALOGGING-START
+
+CGI-InfoEUTRALogging ::= SEQUENCE {
+ plmn-Identity-eutra-5gc PLMN-Identity OPTIONAL,
+ trackingAreaCode-eutra-5gc TrackingAreaCode OPTIONAL,
+ cellIdentity-eutra-5gc BIT STRING (SIZE (28)) OPTIONAL,
+ plmn-Identity-eutra-epc PLMN-Identity OPTIONAL,
+ trackingAreaCode-eutra-epc BIT STRING (SIZE (16)) OPTIONAL,
+ cellIdentity-eutra-epc BIT STRING (SIZE (28)) OPTIONAL
+}
+
+-- TAG-CGI-INFOEUTRALOGGING-STOP
+-- TAG-CGI-INFO-NR-START
+
+CGI-InfoNR ::= SEQUENCE {
+ plmn-IdentityInfoList PLMN-IdentityInfoList OPTIONAL,
+ frequencyBandList MultiFrequencyBandListNR OPTIONAL,
+ noSIB1 SEQUENCE {
+ ssb-SubcarrierOffset INTEGER (0..15),
+ pdcch-ConfigSIB1 PDCCH-ConfigSIB1
+ } OPTIONAL,
+ ...,
+ [[
+ npn-IdentityInfoList-r16 NPN-IdentityInfoList-r16 OPTIONAL
+ ]],
+ [[
+ cellReservedForOtherUse-r16 ENUMERATED {true} OPTIONAL
+ ]]
+}
+
+-- TAG-CGI-INFO-NR-STOP
+-- TAG-CGI-INFO-LOGGING-START
+
+CGI-Info-Logging-r16 ::= SEQUENCE {
+ plmn-Identity-r16 PLMN-Identity,
+ cellIdentity-r16 CellIdentity,
+ trackingAreaCode-r16 TrackingAreaCode OPTIONAL
+}
+
+-- TAG-CGI-INFO-LOGGING-STOP
+-- TAG-CLI-RSSI-RANGE-START
+
+CLI-RSSI-Range-r16 ::= INTEGER(0..76)
+
+-- TAG-CLI-RSSI-RANGE-STOP
+-- TAG-CODEBOOKCONFIG-START
+
+CodebookConfig ::= SEQUENCE {
+ codebookType CHOICE {
+ type1 SEQUENCE {
+ subType CHOICE {
+ typeI-SinglePanel SEQUENCE {
+ nrOfAntennaPorts CHOICE {
+ two SEQUENCE {
+ twoTX-CodebookSubsetRestriction BIT STRING (SIZE (6))
+ },
+ moreThanTwo SEQUENCE {
+ n1-n2 CHOICE {
+ two-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (8)),
+ two-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)),
+ four-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (16)),
+ three-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (96)),
+ six-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (24)),
+ four-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (128)),
+ eight-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (32)),
+ four-three-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)),
+ six-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)),
+ twelve-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (48)),
+ four-four-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)),
+ eight-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)),
+ sixteen-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64))
+ },
+ typeI-SinglePanel-codebookSubsetRestriction-i2 BIT STRING (SIZE (16)) OPTIONAL -- Need R
+ }
+ },
+ typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8))
+ },
+ typeI-MultiPanel SEQUENCE {
+ ng-n1-n2 CHOICE {
+ two-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)),
+ two-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (16)),
+ four-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)),
+ two-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)),
+ two-eight-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (32)),
+ four-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (16)),
+ two-four-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (128)),
+ four-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64))
+ },
+ ri-Restriction BIT STRING (SIZE (4))
+ }
+ },
+ codebookMode INTEGER (1..2)
+
+ },
+ type2 SEQUENCE {
+ subType CHOICE {
+ typeII SEQUENCE {
+ n1-n2-codebookSubsetRestriction CHOICE {
+ two-one BIT STRING (SIZE (16)),
+ two-two BIT STRING (SIZE (43)),
+ four-one BIT STRING (SIZE (32)),
+ three-two BIT STRING (SIZE (59)),
+ six-one BIT STRING (SIZE (48)),
+ four-two BIT STRING (SIZE (75)),
+ eight-one BIT STRING (SIZE (64)),
+ four-three BIT STRING (SIZE (107)),
+ six-two BIT STRING (SIZE (107)),
+ twelve-one BIT STRING (SIZE (96)),
+ four-four BIT STRING (SIZE (139)),
+ eight-two BIT STRING (SIZE (139)),
+ sixteen-one BIT STRING (SIZE (128))
+ },
+ typeII-RI-Restriction BIT STRING (SIZE (2))
+ },
+ typeII-PortSelection SEQUENCE {
+ portSelectionSamplingSize ENUMERATED {n1, n2, n3, n4} OPTIONAL, -- Need R
+ typeII-PortSelectionRI-Restriction BIT STRING (SIZE (2))
+ }
+ },
+ phaseAlphabetSize ENUMERATED {n4, n8},
+ subbandAmplitude BOOLEAN,
+ numberOfBeams ENUMERATED {two, three, four}
+ }
+ }
+}
+
+CodebookConfig-r16 ::= SEQUENCE {
+ codebookType CHOICE {
+ type2 SEQUENCE {
+ subType CHOICE {
+ typeII-r16 SEQUENCE {
+ n1-n2-codebookSubsetRestriction-r16 CHOICE {
+ two-one BIT STRING (SIZE (16)),
+ two-two BIT STRING (SIZE (43)),
+ four-one BIT STRING (SIZE (32)),
+ three-two BIT STRING (SIZE (59)),
+ six-one BIT STRING (SIZE (48)),
+ four-two BIT STRING (SIZE (75)),
+ eight-one BIT STRING (SIZE (64)),
+ four-three BIT STRING (SIZE (107)),
+ six-two BIT STRING (SIZE (107)),
+ twelve-one BIT STRING (SIZE (96)),
+ four-four BIT STRING (SIZE (139)),
+ eight-two BIT STRING (SIZE (139)),
+ sixteen-one BIT STRING (SIZE (128))
+ },
+ typeII-RI-Restriction-r16 BIT STRING (SIZE(4))
+ },
+ typeII-PortSelection-r16 SEQUENCE {
+ portSelectionSamplingSize-r16 ENUMERATED {n1, n2, n3, n4},
+ typeII-PortSelectionRI-Restriction-r16 BIT STRING (SIZE (4))
+ }
+ },
+ numberOfPMI-SubbandsPerCQI-Subband-r16 INTEGER (1..2),
+ paramCombination-r16 INTEGER (1..8)
+ }
+ }
+}
+
+CodebookConfig-r17 ::= SEQUENCE {
+ codebookType CHOICE {
+ type1 SEQUENCE {
+ typeI-SinglePanel-Group1-r17 SEQUENCE {
+ nrOfAntennaPorts CHOICE {
+ two SEQUENCE {
+ twoTX-CodebookSubsetRestriction1-r17 BIT STRING (SIZE (6))
+ },
+ moreThanTwo SEQUENCE {
+ n1-n2 CHOICE {
+ two-one-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (8)),
+ two-two-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (64)),
+ four-one-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (16)),
+ three-two-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (96)),
+ six-one-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (24)),
+ four-two-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (128)),
+ eight-one-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (32)),
+ four-three-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (192)),
+ six-two-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (192)),
+ twelve-one-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (48)),
+ four-four-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (256)),
+ eight-two-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (256)),
+ sixteen-one-TypeI-SinglePanel-Restriction1-r17 BIT STRING (SIZE (64))
+ }
+ }
+ }
+ } OPTIONAL, -- Need R
+ typeI-SinglePanel-Group2-r17 SEQUENCE {
+ nrOfAntennaPorts CHOICE {
+ two SEQUENCE {
+ twoTX-CodebookSubsetRestriction2-r17 BIT STRING (SIZE (6))
+ },
+ moreThanTwo SEQUENCE {
+ n1-n2 CHOICE {
+ two-one-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (8)),
+ two-two-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (64)),
+ four-one-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (16)),
+ three-two-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (96)),
+ six-one-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (24)),
+ four-two-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (128)),
+ eight-one-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (32)),
+ four-three-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (192)),
+ six-two-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (192)),
+ twelve-one-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (48)),
+ four-four-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (256)),
+ eight-two-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (256)),
+ sixteen-one-TypeI-SinglePanel-Restriction2-r17 BIT STRING (SIZE (64))
+ }
+ }
+ }
+ } OPTIONAL, -- Need R
+ typeI-SinglePanel-ri-RestrictionSTRP-r17 BIT STRING (SIZE (8)) OPTIONAL, -- Need R
+ typeI-SinglePanel-ri-RestrictionSDM-r17 BIT STRING (SIZE (4)) OPTIONAL -- Need R
+ },
+ type2 SEQUENCE {
+ typeII-PortSelection-r17 SEQUENCE {
+ paramCombination-r17 INTEGER (1..8),
+ valueOfN-r17 ENUMERATED {n2, n4} OPTIONAL, -- Need R
+ numberOfPMI-SubbandsPerCQI-Subband-r17 INTEGER(1..2) OPTIONAL, -- Need R
+ typeII-PortSelectionRI-Restriction-r17 BIT STRING (SIZE (4))
+ }
+ }
+ }
+}
+
+CodebookConfig-v1730 ::= SEQUENCE {
+ codebookType CHOICE {
+ type1 SEQUENCE {
+ codebookMode INTEGER (1..2) OPTIONAL -- Need R
+ }
+ }
+}
+
+-- TAG-CODEBOOKCONFIG-STOP
+-- TAG-COMMONLOCATIONINFO-START
+
+CommonLocationInfo-r16 ::= SEQUENCE {
+ gnss-TOD-msec-r16 OCTET STRING OPTIONAL,
+ locationTimestamp-r16 OCTET STRING OPTIONAL,
+ locationCoordinate-r16 OCTET STRING OPTIONAL,
+ locationError-r16 OCTET STRING OPTIONAL,
+ locationSource-r16 OCTET STRING OPTIONAL,
+ velocityEstimate-r16 OCTET STRING OPTIONAL
+}
+
+-- TAG-COMMONLOCATIONINFO-STOP
+-- TAG-CONDRECONFIGID-START
+
+CondReconfigId-r16 ::= INTEGER (1.. maxNrofCondCells-r16)
+
+-- TAG-CONDRECONFIGID-STOP
+-- TAG-CONDRECONFIGTOADDMODLIST-START
+
+CondReconfigToAddModList-r16 ::= SEQUENCE (SIZE (1.. maxNrofCondCells-r16)) OF CondReconfigToAddMod-r16
+
+CondReconfigToAddMod-r16 ::= SEQUENCE {
+ condReconfigId-r16 CondReconfigId-r16,
+ condExecutionCond-r16 SEQUENCE (SIZE (1..2)) OF MeasId OPTIONAL, -- Need M
+ condRRCReconfig-r16 OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL, -- Cond condReconfigAdd
+ ...,
+ [[
+ condExecutionCondSCG-r17 OCTET STRING (CONTAINING CondReconfigExecCondSCG-r17) OPTIONAL -- Need M
+ ]]
+}
+
+CondReconfigExecCondSCG-r17 ::= SEQUENCE (SIZE (1..2)) OF MeasId
+
+-- TAG-CONDRECONFIGTOADDMODLIST-STOP
+-- TAG-CONDITIONALRECONFIGURATION-START
+
+ConditionalReconfiguration-r16 ::= SEQUENCE {
+ attemptCondReconfig-r16 ENUMERATED {true} OPTIONAL, -- Cond CHO
+ condReconfigToRemoveList-r16 CondReconfigToRemoveList-r16 OPTIONAL, -- Need N
+ condReconfigToAddModList-r16 CondReconfigToAddModList-r16 OPTIONAL, -- Need N
+ ...
+}
+
+CondReconfigToRemoveList-r16 ::= SEQUENCE (SIZE (1.. maxNrofCondCells-r16)) OF CondReconfigId-r16
+
+-- TAG-CONDITIONALRECONFIGURATION-STOP
+-- TAG-CONFIGUREDGRANTCONFIG-START
+
+ConfiguredGrantConfig ::= SEQUENCE {
+ frequencyHopping ENUMERATED {intraSlot, interSlot} OPTIONAL, -- Need S
+ cg-DMRS-Configuration DMRS-UplinkConfig,
+ mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ mcs-TableTransformPrecoder ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ uci-OnPUSCH CHOICE {release NULL, setup CG-UCI-OnPUSCH } OPTIONAL, -- Need M
+ resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch },
+ rbg-Size ENUMERATED {config2} OPTIONAL, -- Need S
+ powerControlLoopToUse ENUMERATED {n0, n1},
+ p0-PUSCH-Alpha P0-PUSCH-AlphaSetId,
+ transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, -- Need S
+ nrofHARQ-Processes INTEGER(1..16),
+ repK ENUMERATED {n1, n2, n4, n8},
+ repK-RV ENUMERATED {s1-0231, s2-0303, s3-0000} OPTIONAL, -- Need R
+ periodicity ENUMERATED {
+ sym2, sym7, sym1x14, sym2x14, sym4x14, sym5x14, sym8x14, sym10x14, sym16x14, sym20x14,
+ sym32x14, sym40x14, sym64x14, sym80x14, sym128x14, sym160x14, sym256x14, sym320x14, sym512x14,
+ sym640x14, sym1024x14, sym1280x14, sym2560x14, sym5120x14,
+ sym6, sym1x12, sym2x12, sym4x12, sym5x12, sym8x12, sym10x12, sym16x12, sym20x12, sym32x12,
+ sym40x12, sym64x12, sym80x12, sym128x12, sym160x12, sym256x12, sym320x12, sym512x12, sym640x12,
+ sym1280x12, sym2560x12
+ },
+ configuredGrantTimer INTEGER (1..64) OPTIONAL, -- Need R
+ rrc-ConfiguredUplinkGrant SEQUENCE {
+ timeDomainOffset INTEGER (0..5119),
+ timeDomainAllocation INTEGER (0..15),
+ frequencyDomainAllocation BIT STRING (SIZE(18)),
+ antennaPort INTEGER (0..31),
+ dmrs-SeqInitialization INTEGER (0..1) OPTIONAL, -- Need R
+ precodingAndNumberOfLayers INTEGER (0..63),
+ srs-ResourceIndicator INTEGER (0..15) OPTIONAL, -- Need R
+ mcsAndTBS INTEGER (0..31),
+ frequencyHoppingOffset INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need R
+ pathlossReferenceIndex INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1),
+ ...,
+ [[
+ pusch-RepTypeIndicator-r16 ENUMERATED {pusch-RepTypeA,pusch-RepTypeB} OPTIONAL, -- Need M
+ frequencyHoppingPUSCH-RepTypeB-r16 ENUMERATED {interRepetition, interSlot} OPTIONAL, -- Cond RepTypeB
+ timeReferenceSFN-r16 ENUMERATED {sfn512} OPTIONAL -- Need S
+ ]],
+ [[
+ pathlossReferenceIndex2-r17 INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1) OPTIONAL, -- Need R
+ srs-ResourceIndicator2-r17 INTEGER (0..15) OPTIONAL, -- Need R
+ precodingAndNumberOfLayers2-r17 INTEGER (0..63) OPTIONAL, -- Need R
+ timeDomainAllocation-v1710 INTEGER (16..63) OPTIONAL, -- Need M
+ timeDomainOffset-r17 INTEGER (0..40959) OPTIONAL, -- Need R
+ cg-SDT-Configuration-r17 CG-SDT-Configuration-r17 OPTIONAL -- Need M
+ ]]
+ } OPTIONAL, -- Need R
+ ...,
+ [[
+ cg-RetransmissionTimer-r16 INTEGER (1..64) OPTIONAL, -- Need R
+ cg-minDFI-Delay-r16 ENUMERATED
+ {sym7, sym1x14, sym2x14, sym3x14, sym4x14, sym5x14, sym6x14, sym7x14, sym8x14,
+ sym9x14, sym10x14, sym11x14, sym12x14, sym13x14, sym14x14,sym15x14, sym16x14
+ } OPTIONAL, -- Need R
+ cg-nrofPUSCH-InSlot-r16 INTEGER (1..7) OPTIONAL, -- Need R
+ cg-nrofSlots-r16 INTEGER (1..40) OPTIONAL, -- Need R
+ cg-StartingOffsets-r16 CG-StartingOffsets-r16 OPTIONAL, -- Need R
+ cg-UCI-Multiplexing-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ cg-COT-SharingOffset-r16 INTEGER (1..39) OPTIONAL, -- Need R
+ betaOffsetCG-UCI-r16 INTEGER (0..31) OPTIONAL, -- Need R
+ cg-COT-SharingList-r16 SEQUENCE (SIZE (1..1709)) OF CG-COT-Sharing-r16 OPTIONAL, -- Need R
+ harq-ProcID-Offset-r16 INTEGER (0..15) OPTIONAL, -- Need M
+ harq-ProcID-Offset2-r16 INTEGER (0..15) OPTIONAL, -- Need M
+ configuredGrantConfigIndex-r16 ConfiguredGrantConfigIndex-r16 OPTIONAL, -- Cond CG-List
+ configuredGrantConfigIndexMAC-r16 ConfiguredGrantConfigIndexMAC-r16 OPTIONAL, -- Cond CG-IndexMAC
+ periodicityExt-r16 INTEGER (1..5120) OPTIONAL, -- Need R
+ startingFromRV0-r16 ENUMERATED {on, off} OPTIONAL, -- Need R
+ phy-PriorityIndex-r16 ENUMERATED {p0, p1} OPTIONAL, -- Need R
+ autonomousTx-r16 ENUMERATED {enabled} OPTIONAL -- Cond LCH-BasedPrioritization
+ ]],
+ [[
+ cg-betaOffsetsCrossPri0-r17 CHOICE {release NULL, setup BetaOffsetsCrossPriSelCG-r17 } OPTIONAL, -- Need M
+ cg-betaOffsetsCrossPri1-r17 CHOICE {release NULL, setup BetaOffsetsCrossPriSelCG-r17 } OPTIONAL, -- Need M
+ mappingPattern-r17 ENUMERATED {cyclicMapping, sequentialMapping} OPTIONAL, -- Cond SRSsets
+ sequenceOffsetForRV-r17 INTEGER (0..3) OPTIONAL, -- Need R
+ p0-PUSCH-Alpha2-r17 P0-PUSCH-AlphaSetId OPTIONAL, -- Need R
+ powerControlLoopToUse2-r17 ENUMERATED {n0, n1} OPTIONAL, -- Need R
+ cg-COT-SharingList-r17 SEQUENCE (SIZE (1..50722)) OF CG-COT-Sharing-r17 OPTIONAL, -- Need R
+ periodicityExt-r17 INTEGER (1..40960) OPTIONAL, -- Need R
+ repK-v1710 ENUMERATED {n12, n16, n24, n32} OPTIONAL, -- Need R
+ nrofHARQ-Processes-v1700 INTEGER(17..32) OPTIONAL, -- Need M
+ harq-ProcID-Offset2-v1700 INTEGER (16..31) OPTIONAL, -- Need R
+ configuredGrantTimer-v1700 INTEGER(33..288) OPTIONAL, -- Need R
+ cg-minDFI-Delay-v1710 INTEGER (238..3584) OPTIONAL -- Need R
+ ]],
+ [[
+ harq-ProcID-Offset-v1730 INTEGER (16..31) OPTIONAL, -- Need R
+ cg-nrofSlots-r17 INTEGER (1..320) OPTIONAL -- Need R
+ ]]
+}
+
+CG-UCI-OnPUSCH ::= CHOICE {
+ dynamic SEQUENCE (SIZE (1..4)) OF BetaOffsets,
+ semiStatic BetaOffsets
+}
+
+CG-COT-Sharing-r16 ::= CHOICE {
+ noCOT-Sharing-r16 NULL,
+ cot-Sharing-r16 SEQUENCE {
+ duration-r16 INTEGER (1..39),
+ offset-r16 INTEGER (1..39),
+ channelAccessPriority-r16 INTEGER (1..4)
+ }
+}
+
+CG-COT-Sharing-r17 ::= CHOICE {
+ noCOT-Sharing-r17 NULL,
+ cot-Sharing-r17 SEQUENCE {
+ duration-r17 INTEGER (1..319),
+ offset-r17 INTEGER (1..319)
+ }
+}
+
+CG-StartingOffsets-r16 ::= SEQUENCE {
+ cg-StartingFullBW-InsideCOT-r16 SEQUENCE (SIZE (1..7)) OF INTEGER (0..6) OPTIONAL, -- Need R
+ cg-StartingFullBW-OutsideCOT-r16 SEQUENCE (SIZE (1..7)) OF INTEGER (0..6) OPTIONAL, -- Need R
+ cg-StartingPartialBW-InsideCOT-r16 INTEGER (0..6) OPTIONAL, -- Need R
+ cg-StartingPartialBW-OutsideCOT-r16 INTEGER (0..6) OPTIONAL -- Need R
+}
+
+BetaOffsetsCrossPriSelCG-r17 ::= CHOICE {
+ dynamic-r17 SEQUENCE (SIZE (1..4)) OF BetaOffsetsCrossPri-r17,
+ semiStatic-r17 BetaOffsetsCrossPri-r17
+}
+
+CG-SDT-Configuration-r17 ::= SEQUENCE {
+ cg-SDT-RetransmissionTimer INTEGER (1..64) OPTIONAL, -- Need R
+ sdt-SSB-Subset-r17 CHOICE {
+ shortBitmap-r17 BIT STRING (SIZE (4)),
+ mediumBitmap-r17 BIT STRING (SIZE (8)),
+ longBitmap-r17 BIT STRING (SIZE (64))
+ } OPTIONAL, -- Need S
+ sdt-SSB-PerCG-PUSCH-r17 ENUMERATED {oneEighth, oneFourth, half, one, two, four, eight, sixteen} OPTIONAL, -- Need M
+ sdt-P0-PUSCH-r17 INTEGER (-16..15) OPTIONAL, -- Need M
+ sdt-Alpha-r17 ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need M
+ sdt-DMRS-Ports-r17 CHOICE {
+ dmrsType1-r17 BIT STRING (SIZE (8)),
+ dmrsType2-r17 BIT STRING (SIZE (12))
+ } OPTIONAL, -- Need M
+ sdt-NrofDMRS-Sequences-r17 INTEGER (1..2) OPTIONAL -- Need M
+}
+
+-- TAG-CONFIGUREDGRANTCONFIG-STOP
+-- TAG-CONFIGUREDGRANTCONFIGINDEX-START
+
+ConfiguredGrantConfigIndex-r16 ::= INTEGER (0.. maxNrofConfiguredGrantConfig-1-r16)
+
+-- TAG-CONFIGUREDGRANTCONFIGINDEX-STOP
+-- TAG-CONFIGUREDGRANTCONFIGINDEXMAC-START
+
+ConfiguredGrantConfigIndexMAC-r16 ::= INTEGER (0.. maxNrofConfiguredGrantConfigMAC-1-r16)
+
+-- TAG-CONFIGUREDGRANTCONFIGINDEXMAC-STOP
+-- TAG-CONNESTFAILURECONTROL-START
+
+ConnEstFailureControl ::= SEQUENCE {
+ connEstFailCount ENUMERATED {n1, n2, n3, n4},
+ connEstFailOffsetValidity ENUMERATED {s30, s60, s120, s240, s300, s420, s600, s900},
+ connEstFailOffset INTEGER (0..15) OPTIONAL -- Need S
+}
+
+-- TAG-CONNESTFAILURECONTROL-STOP
+-- TAG-CONTROLRESOURCESET-START
+
+ControlResourceSet ::= SEQUENCE {
+ controlResourceSetId ControlResourceSetId,
+ frequencyDomainResources BIT STRING (SIZE (45)),
+ duration INTEGER (1..maxCoReSetDuration),
+ cce-REG-MappingType CHOICE {
+ interleaved SEQUENCE {
+ reg-BundleSize ENUMERATED {n2, n3, n6},
+ interleaverSize ENUMERATED {n2, n3, n6},
+ shiftIndex INTEGER(0..maxNrofPhysicalResourceBlocks-1) OPTIONAL -- Need S
+ },
+ nonInterleaved NULL
+ },
+ precoderGranularity ENUMERATED {sameAsREG-bundle, allContiguousRBs},
+ tci-StatesPDCCH-ToAddList SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Cond NotSIB-initialBWP
+ tci-StatesPDCCH-ToReleaseList SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Cond NotSIB-initialBWP
+ tci-PresentInDCI ENUMERATED {enabled} OPTIONAL, -- Need S
+ pdcch-DMRS-ScramblingID INTEGER (0..65535) OPTIONAL, -- Need S
+ ...,
+ [[
+ rb-Offset-r16 INTEGER (0..5) OPTIONAL, -- Need S
+ tci-PresentDCI-1-2-r16 INTEGER (1..3) OPTIONAL, -- Need S
+ coresetPoolIndex-r16 INTEGER (0..1) OPTIONAL, -- Need S
+ controlResourceSetId-v1610 ControlResourceSetId-v1610 OPTIONAL -- Need S
+ ]],
+ [[
+ followUnifiedTCI-State-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-CONTROLRESOURCESET-STOP
+-- TAG-CONTROLRESOURCESETID-START
+
+ControlResourceSetId ::= INTEGER (0..maxNrofControlResourceSets-1)
+
+ControlResourceSetId-r16 ::= INTEGER (0..maxNrofControlResourceSets-1-r16)
+
+ControlResourceSetId-v1610 ::= INTEGER (maxNrofControlResourceSets..maxNrofControlResourceSets-1-r16)
+
+-- TAG-CONTROLRESOURCESETID-STOP
+-- TAG-CONTROLRESOURCESETZERO-START
+
+ControlResourceSetZero ::= INTEGER (0..15)
+
+-- TAG-CONTROLRESOURCESETZERO-STOP
+-- TAG-CROSSCARRIERSCHEDULINGCONFIG-START
+
+CrossCarrierSchedulingConfig ::= SEQUENCE {
+ schedulingCellInfo CHOICE {
+ own SEQUENCE { -- Cross carrier scheduling: scheduling cell
+ cif-Presence BOOLEAN
+ },
+ other SEQUENCE { -- Cross carrier scheduling: scheduled cell
+ schedulingCellId ServCellIndex,
+ cif-InSchedulingCell INTEGER (1..7)
+ }
+ },
+ ...,
+ [[
+ carrierIndicatorSize-r16 SEQUENCE {
+ carrierIndicatorSizeDCI-1-2-r16 INTEGER (0..3),
+ carrierIndicatorSizeDCI-0-2-r16 INTEGER (0..3)
+ } OPTIONAL, -- Cond CIF-PRESENCE
+ enableDefaultBeamForCCS-r16 ENUMERATED {enabled} OPTIONAL -- Need S
+ ]],
+ [[
+ ccs-BlindDetectionSplit-r17 ENUMERATED {oneSeventh, threeFourteenth, twoSeventh, threeSeventh,
+ oneHalf, fourSeventh, fiveSeventh, spare1} OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-CROSSCARRIERSCHEDULINGCONFIG-STOP
+-- TAG-CSI-APERIODICTRIGGERSTATELIST-START
+
+CSI-AperiodicTriggerStateList ::= SEQUENCE (SIZE (1..maxNrOfCSI-AperiodicTriggers)) OF CSI-AperiodicTriggerState
+
+CSI-AperiodicTriggerState ::= SEQUENCE {
+ associatedReportConfigInfoList SEQUENCE (SIZE(1..maxNrofReportConfigPerAperiodicTrigger)) OF CSI-AssociatedReportConfigInfo,
+ ...,
+ [[
+ ap-CSI-MultiplexingMode-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+}
+
+CSI-AssociatedReportConfigInfo ::= SEQUENCE {
+ reportConfigId CSI-ReportConfigId,
+ resourcesForChannel CHOICE {
+ nzp-CSI-RS SEQUENCE {
+ resourceSet INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig),
+ qcl-info SEQUENCE (SIZE(1..maxNrofAP-CSI-RS-ResourcesPerSet)) OF TCI-StateId
+ OPTIONAL -- Cond Aperiodic
+ },
+ csi-SSB-ResourceSet INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfig)
+ },
+ csi-IM-ResourcesForInterference INTEGER(1..maxNrofCSI-IM-ResourceSetsPerConfig) OPTIONAL, -- Cond CSI-IM-ForInterference
+ nzp-CSI-RS-ResourcesForInterference INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig) OPTIONAL, -- Cond NZP-CSI-RS-ForInterference
+ ...,
+ [[
+ resourcesForChannel2-r17 CHOICE {
+ nzp-CSI-RS2-r17 SEQUENCE {
+ resourceSet2-r17 INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig),
+ qcl-info2-r17 SEQUENCE (SIZE(1..maxNrofAP-CSI-RS-ResourcesPerSet)) OF TCI-StateId
+ OPTIONAL -- Cond Aperiodic
+ },
+ csi-SSB-ResourceSet2-r17 INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfigExt)
+ } OPTIONAL, -- Cond NoUnifiedTCI
+ csi-SSB-ResourceSetExt INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfigExt) OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-CSI-APERIODICTRIGGERSTATELIST-STOP
+-- TAG-CSI-FREQUENCYOCCUPATION-START
+
+CSI-FrequencyOccupation ::= SEQUENCE {
+ startingRB INTEGER (0..maxNrofPhysicalResourceBlocks-1),
+ nrofRBs INTEGER (24..maxNrofPhysicalResourceBlocksPlus1),
+ ...
+}
+
+-- TAG-CSI-FREQUENCYOCCUPATION-STOP
+-- TAG-CSI-IM-RESOURCE-START
+
+CSI-IM-Resource ::= SEQUENCE {
+ csi-IM-ResourceId CSI-IM-ResourceId,
+ csi-IM-ResourceElementPattern CHOICE {
+ pattern0 SEQUENCE {
+ subcarrierLocation-p0 ENUMERATED { s0, s2, s4, s6, s8, s10 },
+ symbolLocation-p0 INTEGER (0..12)
+ },
+ pattern1 SEQUENCE {
+ subcarrierLocation-p1 ENUMERATED { s0, s4, s8 },
+ symbolLocation-p1 INTEGER (0..13)
+ }
+ } OPTIONAL, -- Need M
+ freqBand CSI-FrequencyOccupation OPTIONAL, -- Need M
+ periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, -- Cond PeriodicOrSemiPersistent
+ ...
+}
+
+-- TAG-CSI-IM-RESOURCE-STOP
+-- TAG-CSI-IM-RESOURCEID-START
+
+CSI-IM-ResourceId ::= INTEGER (0..maxNrofCSI-IM-Resources-1)
+
+-- TAG-CSI-IM-RESOURCEID-STOP
+-- TAG-CSI-IM-RESOURCESET-START
+
+CSI-IM-ResourceSet ::= SEQUENCE {
+ csi-IM-ResourceSetId CSI-IM-ResourceSetId,
+ csi-IM-Resources SEQUENCE (SIZE(1..maxNrofCSI-IM-ResourcesPerSet)) OF CSI-IM-ResourceId,
+ ...
+}
+-- TAG-CSI-IM-RESOURCESET-STOP
+-- TAG-CSI-IM-RESOURCESETID-START
+
+CSI-IM-ResourceSetId ::= INTEGER (0..maxNrofCSI-IM-ResourceSets-1)
+
+-- TAG-CSI-IM-RESOURCESETID-STOP
+-- TAG-CSI-MEASCONFIG-START
+
+CSI-MeasConfig ::= SEQUENCE {
+ nzp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-Resource OPTIONAL, -- Need N
+ nzp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-ResourceId OPTIONAL, -- Need N
+ nzp-CSI-RS-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSet
+ OPTIONAL, -- Need N
+ nzp-CSI-RS-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSetId
+ OPTIONAL, -- Need N
+ csi-IM-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-Resource OPTIONAL, -- Need N
+ csi-IM-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-ResourceId OPTIONAL, -- Need N
+ csi-IM-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSet OPTIONAL, -- Need N
+ csi-IM-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSetId OPTIONAL, -- Need N
+ csi-SSB-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSet OPTIONAL, -- Need N
+ csi-SSB-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSetId OPTIONAL, -- Need N
+ csi-ResourceConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfig
+ OPTIONAL, -- Need N
+ csi-ResourceConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfigId
+ OPTIONAL, -- Need N
+ csi-ReportConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfig OPTIONAL, -- Need N
+ csi-ReportConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfigId
+ OPTIONAL, -- Need N
+ reportTriggerSize INTEGER (0..6) OPTIONAL, -- Need M
+ aperiodicTriggerStateList CHOICE {release NULL, setup CSI-AperiodicTriggerStateList } OPTIONAL, -- Need M
+ semiPersistentOnPUSCH-TriggerStateList CHOICE {release NULL, setup CSI-SemiPersistentOnPUSCH-TriggerStateList } OPTIONAL, -- Need M
+ ...,
+ [[
+ reportTriggerSizeDCI-0-2-r16 INTEGER (0..6) OPTIONAL -- Need R
+ ]],
+ [[
+ sCellActivationRS-ConfigToAddModList-r17 SEQUENCE (SIZE (1..maxNrofSCellActRS-r17)) OF SCellActivationRS-Config-r17 OPTIONAL, -- Need N
+ sCellActivationRS-ConfigToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofSCellActRS-r17)) OF SCellActivationRS-ConfigId-r17 OPTIONAL -- Need N
+ ]]
+}
+
+-- TAG-CSI-MEASCONFIG-STOP
+-- TAG-CSI-REPORTCONFIG-START
+
+CSI-ReportConfig ::= SEQUENCE {
+ reportConfigId CSI-ReportConfigId,
+ carrier ServCellIndex OPTIONAL, -- Need S
+ resourcesForChannelMeasurement CSI-ResourceConfigId,
+ csi-IM-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R
+ nzp-CSI-RS-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R
+ reportConfigType CHOICE {
+ periodic SEQUENCE {
+ reportSlotConfig CSI-ReportPeriodicityAndOffset,
+ pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
+ },
+ semiPersistentOnPUCCH SEQUENCE {
+ reportSlotConfig CSI-ReportPeriodicityAndOffset,
+ pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
+ },
+ semiPersistentOnPUSCH SEQUENCE {
+ reportSlotConfig ENUMERATED {sl5, sl10, sl20, sl40, sl80, sl160, sl320},
+ reportSlotOffsetList SEQUENCE (SIZE (1.. maxNrofUL-Allocations)) OF INTEGER(0..32),
+ p0alpha P0-PUSCH-AlphaSetId
+ },
+ aperiodic SEQUENCE {
+ reportSlotOffsetList SEQUENCE (SIZE (1..maxNrofUL-Allocations)) OF INTEGER(0..32)
+ }
+ },
+ reportQuantity CHOICE {
+ none NULL,
+ cri-RI-PMI-CQI NULL,
+ cri-RI-i1 NULL,
+ cri-RI-i1-CQI SEQUENCE {
+ pdsch-BundleSizeForCSI ENUMERATED {n2, n4} OPTIONAL -- Need S
+ },
+ cri-RI-CQI NULL,
+ cri-RSRP NULL,
+ ssb-Index-RSRP NULL,
+ cri-RI-LI-PMI-CQI NULL
+ },
+ reportFreqConfiguration SEQUENCE {
+ cqi-FormatIndicator ENUMERATED { widebandCQI, subbandCQI } OPTIONAL, -- Need R
+ pmi-FormatIndicator ENUMERATED { widebandPMI, subbandPMI } OPTIONAL, -- Need R
+ csi-ReportingBand CHOICE {
+ subbands3 BIT STRING(SIZE(3)),
+ subbands4 BIT STRING(SIZE(4)),
+ subbands5 BIT STRING(SIZE(5)),
+ subbands6 BIT STRING(SIZE(6)),
+ subbands7 BIT STRING(SIZE(7)),
+ subbands8 BIT STRING(SIZE(8)),
+ subbands9 BIT STRING(SIZE(9)),
+ subbands10 BIT STRING(SIZE(10)),
+ subbands11 BIT STRING(SIZE(11)),
+ subbands12 BIT STRING(SIZE(12)),
+ subbands13 BIT STRING(SIZE(13)),
+ subbands14 BIT STRING(SIZE(14)),
+ subbands15 BIT STRING(SIZE(15)),
+ subbands16 BIT STRING(SIZE(16)),
+ subbands17 BIT STRING(SIZE(17)),
+ subbands18 BIT STRING(SIZE(18)),
+ ...,
+ subbands19-v1530 BIT STRING(SIZE(19))
+ } OPTIONAL -- Need S
+
+ } OPTIONAL, -- Need R
+ timeRestrictionForChannelMeasurements ENUMERATED {configured, notConfigured},
+ timeRestrictionForInterferenceMeasurements ENUMERATED {configured, notConfigured},
+ codebookConfig CodebookConfig OPTIONAL, -- Need R
+ dummy ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ groupBasedBeamReporting CHOICE {
+ enabled NULL,
+ disabled SEQUENCE {
+ nrofReportedRS ENUMERATED {n1, n2, n3, n4} OPTIONAL -- Need S
+ }
+ },
+ cqi-Table ENUMERATED {table1, table2, table3, table4-r17} OPTIONAL, -- Need R
+ subbandSize ENUMERATED {value1, value2},
+ non-PMI-PortIndication SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerConfig)) OF PortIndexFor8Ranks OPTIONAL, -- Need R
+ ...,
+ [[
+ semiPersistentOnPUSCH-v1530 SEQUENCE {
+ reportSlotConfig-v1530 ENUMERATED {sl4, sl8, sl16}
+ } OPTIONAL -- Need R
+ ]],
+ [[
+ semiPersistentOnPUSCH-v1610 SEQUENCE {
+ reportSlotOffsetListDCI-0-2-r16 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..32) OPTIONAL, -- Need R
+ reportSlotOffsetListDCI-0-1-r16 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..32) OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ aperiodic-v1610 SEQUENCE {
+ reportSlotOffsetListDCI-0-2-r16 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..32) OPTIONAL, -- Need R
+ reportSlotOffsetListDCI-0-1-r16 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..32) OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ reportQuantity-r16 CHOICE {
+ cri-SINR-r16 NULL,
+ ssb-Index-SINR-r16 NULL
+ } OPTIONAL, -- Need R
+ codebookConfig-r16 CodebookConfig-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ cqi-BitsPerSubband-r17 ENUMERATED {bits4} OPTIONAL, -- Need R
+ groupBasedBeamReporting-v1710 SEQUENCE {
+ nrofReportedGroups-r17 ENUMERATED {n1, n2, n3, n4}
+ } OPTIONAL, -- Need R
+ codebookConfig-r17 CodebookConfig-r17 OPTIONAL, -- Need R
+ sharedCMR-r17 ENUMERATED {enable} OPTIONAL, -- Need R
+ csi-ReportMode-r17 ENUMERATED {mode1, mode2} OPTIONAL, -- Need R
+ numberOfSingleTRP-CSI-Mode1-r17 ENUMERATED {n0, n1, n2} OPTIONAL, -- Need R
+ reportQuantity-r17 CHOICE {
+ cri-RSRP-Index-r17 NULL,
+ ssb-Index-RSRP-Index-r17 NULL,
+ cri-SINR-Index-r17 NULL,
+ ssb-Index-SINR-Index-r17 NULL
+ } OPTIONAL -- Need R
+ ]],
+ [[
+ semiPersistentOnPUSCH-v1720 SEQUENCE {
+ reportSlotOffsetList-r17 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..128) OPTIONAL, -- Need R
+ reportSlotOffsetListDCI-0-2-r17 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..128) OPTIONAL, -- Need R
+ reportSlotOffsetListDCI-0-1-r17 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..128) OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ aperiodic-v1720 SEQUENCE {
+ reportSlotOffsetList-r17 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..128) OPTIONAL, -- Need R
+ reportSlotOffsetListDCI-0-2-r17 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..128) OPTIONAL, -- Need R
+ reportSlotOffsetListDCI-0-1-r17 SEQUENCE (SIZE (1.. maxNrofUL-Allocations-r16)) OF INTEGER(0..128) OPTIONAL -- Need R
+ } OPTIONAL -- Need R
+ ]],
+ [[
+ codebookConfig-v1730 CodebookConfig-v1730 OPTIONAL -- Need R
+ ]]
+}
+
+CSI-ReportPeriodicityAndOffset ::= CHOICE {
+ slots4 INTEGER(0..3),
+ slots5 INTEGER(0..4),
+ slots8 INTEGER(0..7),
+ slots10 INTEGER(0..9),
+ slots16 INTEGER(0..15),
+ slots20 INTEGER(0..19),
+ slots40 INTEGER(0..39),
+ slots80 INTEGER(0..79),
+ slots160 INTEGER(0..159),
+ slots320 INTEGER(0..319)
+}
+
+PUCCH-CSI-Resource ::= SEQUENCE {
+ uplinkBandwidthPartId BWP-Id,
+ pucch-Resource PUCCH-ResourceId
+}
+
+PortIndexFor8Ranks ::= CHOICE {
+ portIndex8 SEQUENCE{
+ rank1-8 PortIndex8 OPTIONAL, -- Need R
+ rank2-8 SEQUENCE(SIZE(2)) OF PortIndex8 OPTIONAL, -- Need R
+ rank3-8 SEQUENCE(SIZE(3)) OF PortIndex8 OPTIONAL, -- Need R
+ rank4-8 SEQUENCE(SIZE(4)) OF PortIndex8 OPTIONAL, -- Need R
+ rank5-8 SEQUENCE(SIZE(5)) OF PortIndex8 OPTIONAL, -- Need R
+ rank6-8 SEQUENCE(SIZE(6)) OF PortIndex8 OPTIONAL, -- Need R
+ rank7-8 SEQUENCE(SIZE(7)) OF PortIndex8 OPTIONAL, -- Need R
+ rank8-8 SEQUENCE(SIZE(8)) OF PortIndex8 OPTIONAL -- Need R
+ },
+ portIndex4 SEQUENCE{
+ rank1-4 PortIndex4 OPTIONAL, -- Need R
+ rank2-4 SEQUENCE(SIZE(2)) OF PortIndex4 OPTIONAL, -- Need R
+ rank3-4 SEQUENCE(SIZE(3)) OF PortIndex4 OPTIONAL, -- Need R
+ rank4-4 SEQUENCE(SIZE(4)) OF PortIndex4 OPTIONAL -- Need R
+ },
+ portIndex2 SEQUENCE{
+ rank1-2 PortIndex2 OPTIONAL, -- Need R
+ rank2-2 SEQUENCE(SIZE(2)) OF PortIndex2 OPTIONAL -- Need R
+ },
+ portIndex1 NULL
+}
+
+PortIndex8::= INTEGER (0..7)
+PortIndex4::= INTEGER (0..3)
+PortIndex2::= INTEGER (0..1)
+
+-- TAG-CSI-REPORTCONFIG-STOP
+-- TAG-CSI-REPORTCONFIGID-START
+
+CSI-ReportConfigId ::= INTEGER (0..maxNrofCSI-ReportConfigurations-1)
+
+-- TAG-CSI-REPORTCONFIGID-STOP
+-- TAG-CSI-RESOURCECONFIG-START
+
+CSI-ResourceConfig ::= SEQUENCE {
+ csi-ResourceConfigId CSI-ResourceConfigId,
+ csi-RS-ResourceSetList CHOICE {
+ nzp-CSI-RS-SSB SEQUENCE {
+ nzp-CSI-RS-ResourceSetList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig)) OF NZP-CSI-RS-ResourceSetId
+ OPTIONAL, -- Need R
+ csi-SSB-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSetsPerConfig)) OF CSI-SSB-ResourceSetId OPTIONAL -- Need R
+ },
+ csi-IM-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSetsPerConfig)) OF CSI-IM-ResourceSetId
+ },
+
+ bwp-Id BWP-Id,
+ resourceType ENUMERATED { aperiodic, semiPersistent, periodic },
+ ...,
+ [[
+ csi-SSB-ResourceSetListExt-r17 CSI-SSB-ResourceSetId OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-CSI-RESOURCECONFIG-STOP
+-- TAG-CSI-RESOURCECONFIGID-START
+
+CSI-ResourceConfigId ::= INTEGER (0..maxNrofCSI-ResourceConfigurations-1)
+
+-- TAG-CSI-RESOURCECONFIGID-STOP
+-- TAG-CSI-RESOURCEPERIODICITYANDOFFSET-START
+
+CSI-ResourcePeriodicityAndOffset ::= CHOICE {
+ slots4 INTEGER (0..3),
+ slots5 INTEGER (0..4),
+ slots8 INTEGER (0..7),
+ slots10 INTEGER (0..9),
+ slots16 INTEGER (0..15),
+ slots20 INTEGER (0..19),
+ slots32 INTEGER (0..31),
+ slots40 INTEGER (0..39),
+ slots64 INTEGER (0..63),
+ slots80 INTEGER (0..79),
+ slots160 INTEGER (0..159),
+ slots320 INTEGER (0..319),
+ slots640 INTEGER (0..639)
+}
+
+-- TAG-CSI-RESOURCEPERIODICITYANDOFFSET-STOP
+-- TAG-CSI-RS-RESOURCECONFIGMOBILITY-START
+
+CSI-RS-ResourceConfigMobility ::= SEQUENCE {
+ subcarrierSpacing SubcarrierSpacing,
+ csi-RS-CellList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-CellsRRM)) OF CSI-RS-CellMobility,
+ ...,
+ [[
+ refServCellIndex ServCellIndex OPTIONAL -- Need S
+ ]]
+
+
+}
+
+CSI-RS-CellMobility ::= SEQUENCE {
+ cellId PhysCellId,
+ csi-rs-MeasurementBW SEQUENCE {
+ nrofPRBs ENUMERATED { size24, size48, size96, size192, size264},
+ startPRB INTEGER(0..2169)
+ },
+ density ENUMERATED {d1,d3} OPTIONAL, -- Need R
+ csi-rs-ResourceList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesRRM)) OF CSI-RS-Resource-Mobility
+}
+
+CSI-RS-Resource-Mobility ::= SEQUENCE {
+ csi-RS-Index CSI-RS-Index,
+ slotConfig CHOICE {
+ ms4 INTEGER (0..31),
+ ms5 INTEGER (0..39),
+ ms10 INTEGER (0..79),
+ ms20 INTEGER (0..159),
+ ms40 INTEGER (0..319)
+ },
+ associatedSSB SEQUENCE {
+ ssb-Index SSB-Index,
+ isQuasiColocated BOOLEAN
+ } OPTIONAL, -- Need R
+ frequencyDomainAllocation CHOICE {
+ row1 BIT STRING (SIZE (4)),
+ row2 BIT STRING (SIZE (12))
+ },
+ firstOFDMSymbolInTimeDomain INTEGER (0..13),
+ sequenceGenerationConfig INTEGER (0..1023),
+ ...,
+ [[
+ slotConfig-r17 CHOICE {
+ ms4 INTEGER (0..255),
+ ms5 INTEGER (0..319),
+ ms10 INTEGER (0..639),
+ ms20 INTEGER (0..1279),
+ ms40 INTEGER (0..2559)
+ } OPTIONAL -- Need R
+ ]]
+}
+
+CSI-RS-Index ::= INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1)
+
+-- TAG-CSI-RS-RESOURCECONFIGMOBILITY-STOP
+-- TAG-CSI-RS-RESOURCEMAPPING-START
+
+CSI-RS-ResourceMapping ::= SEQUENCE {
+ frequencyDomainAllocation CHOICE {
+ row1 BIT STRING (SIZE (4)),
+ row2 BIT STRING (SIZE (12)),
+ row4 BIT STRING (SIZE (3)),
+ other BIT STRING (SIZE (6))
+ },
+ nrofPorts ENUMERATED {p1,p2,p4,p8,p12,p16,p24,p32},
+ firstOFDMSymbolInTimeDomain INTEGER (0..13),
+ firstOFDMSymbolInTimeDomain2 INTEGER (2..12) OPTIONAL, -- Need R
+ cdm-Type ENUMERATED {noCDM, fd-CDM2, cdm4-FD2-TD2, cdm8-FD2-TD4},
+ density CHOICE {
+ dot5 ENUMERATED {evenPRBs, oddPRBs},
+ one NULL,
+ three NULL,
+ spare NULL
+ },
+ freqBand CSI-FrequencyOccupation,
+ ...
+}
+
+-- TAG-CSI-RS-RESOURCEMAPPING-STOP
+-- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-START
+
+CSI-SemiPersistentOnPUSCH-TriggerStateList ::= SEQUENCE(SIZE (1..maxNrOfSemiPersistentPUSCH-Triggers)) OF CSI-SemiPersistentOnPUSCH-TriggerState
+
+CSI-SemiPersistentOnPUSCH-TriggerState ::= SEQUENCE {
+ associatedReportConfigInfo CSI-ReportConfigId,
+ ...,
+ [[
+ sp-CSI-MultiplexingMode-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-STOP
+-- TAG-CSI-SSB-RESOURCESET-START
+
+CSI-SSB-ResourceSet ::= SEQUENCE {
+ csi-SSB-ResourceSetId CSI-SSB-ResourceSetId,
+ csi-SSB-ResourceList SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF SSB-Index,
+ ...,
+ [[
+ servingAdditionalPCIList-r17 SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF ServingAdditionalPCIIndex-r17 OPTIONAL -- Need R
+ ]]
+}
+
+ServingAdditionalPCIIndex-r17 ::= INTEGER(0..maxNrofAdditionalPCI-r17)
+
+-- TAG-CSI-SSB-RESOURCESET-STOP
+-- TAG-CSI-SSB-RESOURCESETID-START
+
+CSI-SSB-ResourceSetId ::= INTEGER (0..maxNrofCSI-SSB-ResourceSets-1)
+
+-- TAG-CSI-SSB-RESOURCESETID-STOP
+-- TAG-DEDICATED-NAS-MESSAGE-START
+
+DedicatedNAS-Message ::= OCTET STRING
+
+-- TAG-DEDICATED-NAS-MESSAGE-STOP
+-- TAG-DL-PPW-PRECONFIG-START
+
+DL-PPW-PreConfig-r17 ::= SEQUENCE {
+ dl-PPW-ID-r17 DL-PPW-ID-r17,
+ dl-PPW-PeriodicityAndStartSlot-r17 DL-PPW-PeriodicityAndStartSlot-r17,
+ length-r17 INTEGER (1..160),
+ type-r17 ENUMERATED {type1A, type1B, type2} OPTIONAL, -- Cond MultiType
+ priority-r17 ENUMERATED {st1, st2, st3} OPTIONAL -- Cond MultiState
+}
+
+DL-PPW-ID-r17 ::= INTEGER (0..maxNrofPPW-ID-1-r17)
+
+DL-PPW-PeriodicityAndStartSlot-r17 ::= CHOICE {
+ scs15 CHOICE {
+ n4 INTEGER (0..3),
+ n5 INTEGER (0..4),
+ n8 INTEGER (0..7),
+ n10 INTEGER (0..9),
+ n16 INTEGER (0..15),
+ n20 INTEGER (0..19),
+ n32 INTEGER (0..31),
+ n40 INTEGER (0..39),
+ n64 INTEGER (0..63),
+ n80 INTEGER (0..79),
+ n160 INTEGER (0..159),
+ n320 INTEGER (0..319),
+ n640 INTEGER (0..639),
+ n1280 INTEGER (0..1279),
+ n2560 INTEGER (0..2559),
+ n5120 INTEGER (0..5119),
+ n10240 INTEGER (0..10239),
+ ...
+ },
+ scs30 CHOICE {
+ n8 INTEGER (0..7),
+ n10 INTEGER (0..9),
+ n16 INTEGER (0..15),
+ n20 INTEGER (0..19),
+ n32 INTEGER (0..31),
+ n40 INTEGER (0..39),
+ n64 INTEGER (0..63),
+ n80 INTEGER (0..79),
+ n128 INTEGER (0..127),
+ n160 INTEGER (0..159),
+ n320 INTEGER (0..319),
+ n640 INTEGER (0..639),
+ n1280 INTEGER (0..1279),
+ n2560 INTEGER (0..2559),
+ n5120 INTEGER (0..5119),
+ n10240 INTEGER (0..10239),
+ n20480 INTEGER (0..20479),
+ ...
+ },
+ scs60 CHOICE {
+ n16 INTEGER (0..15),
+ n20 INTEGER (0..19),
+ n32 INTEGER (0..31),
+ n40 INTEGER (0..39),
+ n64 INTEGER (0..63),
+ n80 INTEGER (0..79),
+ n128 INTEGER (0..127),
+ n160 INTEGER (0..159),
+ n256 INTEGER (0..255),
+ n320 INTEGER (0..319),
+ n640 INTEGER (0..639),
+ n1280 INTEGER (0..1279),
+ n2560 INTEGER (0..2559),
+ n5120 INTEGER (0..5119),
+ n10240 INTEGER (0..10239),
+ n20480 INTEGER (0..20479),
+ n40960 INTEGER (0..40959),
+ ...
+ },
+ scs120 CHOICE {
+ n32 INTEGER (0..31),
+ n40 INTEGER (0..39),
+ n64 INTEGER (0..63),
+ n80 INTEGER (0..79),
+ n128 INTEGER (0..127),
+ n160 INTEGER (0..159),
+ n256 INTEGER (0..255),
+ n320 INTEGER (0..319),
+ n512 INTEGER (0..511),
+ n640 INTEGER (0..639),
+ n1280 INTEGER (0..1279),
+ n2560 INTEGER (0..2559),
+ n5120 INTEGER (0..5119),
+ n10240 INTEGER (0..10239),
+ n20480 INTEGER (0..20479),
+ n40960 INTEGER (0..40959),
+ n81920 INTEGER (0..81919),
+ ...
+ },
+ ...
+}
+
+-- TAG-DL-PPW-PRECONFIG-STOP
+-- TAG-DMRS-BUNDLINGPUCCH-CONFIG-START
+
+DMRS-BundlingPUCCH-Config-r17 ::= SEQUENCE {
+ pucch-DMRS-Bundling-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pucch-TimeDomainWindowLength-r17 INTEGER (2..8) OPTIONAL, -- Need S
+ pucch-WindowRestart-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pucch-FrequencyHoppingInterval-r17 ENUMERATED {s2, s4, s5, s10} OPTIONAL, -- Need S
+ ...
+}
+
+-- TAG-DMRS-BUNDLINGPUCCH-CONFIG-STOP
+-- TAG-DMRS-BUNDLINGPUSCH-CONFIG-START
+
+DMRS-BundlingPUSCH-Config-r17 ::= SEQUENCE {
+ pusch-DMRS-Bundling-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pusch-TimeDomainWindowLength-r17 INTEGER (2..32) OPTIONAL, -- Need S
+ pusch-WindowRestart-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pusch-FrequencyHoppingInterval-r17 ENUMERATED {s2, s4, s5, s6, s8, s10, s12, s14, s16, s20} OPTIONAL, -- Need S
+ ...
+}
+
+-- TAG-DMRS-BUNDLINGPUSCH-CONFIG-STOP
+-- TAG-DMRS-DOWNLINKCONFIG-START
+
+DMRS-DownlinkConfig ::= SEQUENCE {
+ dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S
+ dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need S
+ maxLength ENUMERATED {len2} OPTIONAL, -- Need S
+ scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S
+ scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S
+ phaseTrackingRS CHOICE {release NULL, setup PTRS-DownlinkConfig } OPTIONAL, -- Need M
+ ...,
+ [[
+ dmrs-Downlink-r16 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+
+}
+
+-- TAG-DMRS-DOWNLINKCONFIG-STOP
+-- TAG-DMRS-UPLINKCONFIG-START
+
+DMRS-UplinkConfig ::= SEQUENCE {
+ dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S
+ dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need S
+ phaseTrackingRS CHOICE {release NULL, setup PTRS-UplinkConfig } OPTIONAL, -- Need M
+ maxLength ENUMERATED {len2} OPTIONAL, -- Need S
+ transformPrecodingDisabled SEQUENCE {
+ scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S
+ scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S
+ ...,
+ [[
+ dmrs-Uplink-r16 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+ } OPTIONAL, -- Need R
+ transformPrecodingEnabled SEQUENCE {
+ nPUSCH-Identity INTEGER(0..1007) OPTIONAL, -- Need S
+ sequenceGroupHopping ENUMERATED {disabled} OPTIONAL, -- Need S
+ sequenceHopping ENUMERATED {enabled} OPTIONAL, -- Need S
+ ...,
+ [[
+ dmrs-UplinkTransformPrecoding-r16 CHOICE {release NULL, setup DMRS-UplinkTransformPrecoding-r16} OPTIONAL -- Need M
+ ]]
+ } OPTIONAL, -- Need R
+ ...
+}
+
+DMRS-UplinkTransformPrecoding-r16 ::= SEQUENCE {
+ pi2BPSK-ScramblingID0 INTEGER(0..65535) OPTIONAL, -- Need S
+ pi2BPSK-ScramblingID1 INTEGER(0..65535) OPTIONAL -- Need S
+}
+
+-- TAG-DMRS-UPLINKCONFIG-STOP
+-- TAG-DOWNLINKCONFIGCOMMON-START
+
+DownlinkConfigCommon ::= SEQUENCE {
+ frequencyInfoDL FrequencyInfoDL OPTIONAL, -- Cond InterFreqHOAndServCellAdd
+ initialDownlinkBWP BWP-DownlinkCommon OPTIONAL, -- Cond ServCellAdd
+ ...,
+ [[
+ initialDownlinkBWP-RedCap-r17 BWP-DownlinkCommon OPTIONAL -- Need R
+
+ ]]
+}
+
+-- TAG-DOWNLINKCONFIGCOMMON-STOP
+-- TAG-DOWNLINKCONFIGCOMMONSIB-START
+
+DownlinkConfigCommonSIB ::= SEQUENCE {
+ frequencyInfoDL FrequencyInfoDL-SIB,
+ initialDownlinkBWP BWP-DownlinkCommon,
+ bcch-Config BCCH-Config,
+ pcch-Config PCCH-Config,
+ ...,
+ [[
+ pei-Config-r17 PEI-Config-r17 OPTIONAL, -- Need R
+ initialDownlinkBWP-RedCap-r17 BWP-DownlinkCommon OPTIONAL -- Need R
+ ]]
+}
+
+
+BCCH-Config ::= SEQUENCE {
+ modificationPeriodCoeff ENUMERATED {n2, n4, n8, n16},
+ ...
+}
+
+
+PCCH-Config ::= SEQUENCE {
+ defaultPagingCycle PagingCycle,
+ nAndPagingFrameOffset CHOICE {
+ oneT NULL,
+ halfT INTEGER (0..1),
+ quarterT INTEGER (0..3),
+ oneEighthT INTEGER (0..7),
+ oneSixteenthT INTEGER (0..15)
+ },
+ ns ENUMERATED {four, two, one},
+ firstPDCCH-MonitoringOccasionOfPO CHOICE {
+ sCS15KHZoneT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..139),
+ sCS30KHZoneT-SCS15KHZhalfT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..279),
+ sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..559),
+ sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..1119),
+ sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..2239),
+ sCS480KHZoneT-SCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..4479),
+ sCS480KHZhalfT-SCS120KHZoneEighthT-SCS60KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..8959),
+ sCS480KHZquarterT-SCS120KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..17919)
+ } OPTIONAL, -- Need R
+ ...,
+ [[
+ nrofPDCCH-MonitoringOccasionPerSSB-InPO-r16 INTEGER (2..4) OPTIONAL -- Cond SharedSpectrum2
+ ]],
+ [[
+ ranPagingInIdlePO-r17 ENUMERATED {true} OPTIONAL, -- Need R
+
+ firstPDCCH-MonitoringOccasionOfPO-v1710 CHOICE {
+ sCS480KHZoneEighthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..35839),
+ sCS480KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..71679)
+} OPTIONAL -- Need R
+ ]]
+}
+
+PEI-Config-r17 ::= SEQUENCE {
+ po-NumPerPEI-r17 ENUMERATED {po1, po2, po4, po8},
+ payloadSizeDCI-2-7-r17 INTEGER (1..maxDCI-2-7-Size-r17),
+ pei-FrameOffset-r17 INTEGER (0..16),
+ subgroupConfig-r17 SubgroupConfig-r17,
+ lastUsedCellOnly-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ ...
+}
+
+SubgroupConfig-r17 ::= SEQUENCE {
+ subgroupsNumPerPO-r17 INTEGER (1.. maxNrofPagingSubgroups-r17),
+ subgroupsNumForUEID-r17 INTEGER (1.. maxNrofPagingSubgroups-r17) OPTIONAL, -- Need S
+ ...
+}
+
+-- TAG-DOWNLINKCONFIGCOMMONSIB-STOP
+-- TAG-DOWNLINKPREEMPTION-START
+
+DownlinkPreemption ::= SEQUENCE {
+ int-RNTI RNTI-Value,
+ timeFrequencySet ENUMERATED {set0, set1},
+ dci-PayloadSize INTEGER (0..maxINT-DCI-PayloadSize),
+ int-ConfigurationPerServingCell SEQUENCE (SIZE (1..maxNrofServingCells)) OF INT-ConfigurationPerServingCell,
+ ...
+}
+
+INT-ConfigurationPerServingCell ::= SEQUENCE {
+ servingCellId ServCellIndex,
+ positionInDCI INTEGER (0..maxINT-DCI-PayloadSize-1)
+}
+
+-- TAG-DOWNLINKPREEMPTION-STOP
+-- TAG-DRB-IDENTITY-START
+
+DRB-Identity ::= INTEGER (1..32)
+
+-- TAG-DRB-IDENTITY-STOP
+-- TAG-DRX-CONFIG-START
+
+DRX-Config ::= SEQUENCE {
+ drx-onDurationTimer CHOICE {
+ subMilliSeconds INTEGER (1..31),
+ milliSeconds ENUMERATED {
+ ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
+ ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
+ ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
+ },
+ drx-InactivityTimer ENUMERATED {
+ ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
+ ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1},
+ drx-HARQ-RTT-TimerDL INTEGER (0..56),
+ drx-HARQ-RTT-TimerUL INTEGER (0..56),
+ drx-RetransmissionTimerDL ENUMERATED {
+ sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
+ sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1},
+ drx-RetransmissionTimerUL ENUMERATED {
+ sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
+ sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
+ drx-LongCycleStartOffset CHOICE {
+ ms10 INTEGER(0..9),
+ ms20 INTEGER(0..19),
+ ms32 INTEGER(0..31),
+ ms40 INTEGER(0..39),
+ ms60 INTEGER(0..59),
+ ms64 INTEGER(0..63),
+ ms70 INTEGER(0..69),
+ ms80 INTEGER(0..79),
+ ms128 INTEGER(0..127),
+ ms160 INTEGER(0..159),
+ ms256 INTEGER(0..255),
+ ms320 INTEGER(0..319),
+ ms512 INTEGER(0..511),
+ ms640 INTEGER(0..639),
+ ms1024 INTEGER(0..1023),
+ ms1280 INTEGER(0..1279),
+ ms2048 INTEGER(0..2047),
+ ms2560 INTEGER(0..2559),
+ ms5120 INTEGER(0..5119),
+ ms10240 INTEGER(0..10239)
+ },
+ shortDRX SEQUENCE {
+ drx-ShortCycle ENUMERATED {
+ ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
+ ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
+ drx-ShortCycleTimer INTEGER (1..16)
+ } OPTIONAL, -- Need R
+ drx-SlotOffset INTEGER (0..31)
+}
+
+DRX-ConfigExt-v1700 ::= SEQUENCE {
+ drx-HARQ-RTT-TimerDL-r17 INTEGER (0..448),
+ drx-HARQ-RTT-TimerUL-r17 INTEGER (0..448)
+}
+
+-- TAG-DRX-CONFIG-STOP
+-- TAG-DRX-CONFIGSECONDARYGROUP-START
+
+DRX-ConfigSecondaryGroup-r16 ::= SEQUENCE {
+ drx-onDurationTimer-r16 CHOICE {
+ subMilliSeconds INTEGER (1..31),
+ milliSeconds ENUMERATED {
+ ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
+ ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
+ ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
+ },
+ drx-InactivityTimer-r16 ENUMERATED {
+ ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
+ ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+}
+
+-- TAG-DRX-CONFIGSECONDARYGROUP-STOP
+-- TAG-DRX-CONFIGSL-START
+
+DRX-ConfigSL-r17 ::= SEQUENCE {
+ drx-HARQ-RTT-TimerSL-r17 INTEGER (0..56),
+ drx-RetransmissionTimerSL-r17 ENUMERATED {sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
+ sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+}
+
+-- TAG-DRX-CONFIGSL-STOP
+-- TAG-EPHEMERISINFO-START
+
+EphemerisInfo-r17 ::= CHOICE {
+ positionVelocity-r17 PositionVelocity-r17,
+ orbital-r17 Orbital-r17
+}
+
+PositionVelocity-r17 ::= SEQUENCE {
+ positionX-r17 PositionStateVector-r17,
+ positionY-r17 PositionStateVector-r17,
+ positionZ-r17 PositionStateVector-r17,
+ velocityVX-r17 VelocityStateVector-r17,
+ velocityVY-r17 VelocityStateVector-r17,
+ velocityVZ-r17 VelocityStateVector-r17
+}
+
+Orbital-r17 ::= SEQUENCE {
+ semiMajorAxis-r17 INTEGER (0..8589934591),
+ eccentricity-r17 INTEGER (0..1048575),
+ periapsis-r17 INTEGER (0..268435455),
+ longitude-r17 INTEGER (0..268435455),
+ inclination-r17 INTEGER (-67108864..67108863),
+ meanAnomaly-r17 INTEGER (0..268435455)
+}
+
+PositionStateVector-r17 ::= INTEGER (-33554432..33554431)
+
+VelocityStateVector-r17 ::= INTEGER (-131072..131071)
+
+-- TAG-EPHEMERISINFO-STOP
+-- TAG-FEATURECOMBINATION-START
+
+FeatureCombination-r17 ::= SEQUENCE {
+ redCap-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ smallData-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ nsag-r17 NSAG-List-r17 OPTIONAL, -- Need R
+ msg3-Repetitions-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ spare4 ENUMERATED {true} OPTIONAL, -- Need R
+ spare3 ENUMERATED {true} OPTIONAL, -- Need R
+ spare2 ENUMERATED {true} OPTIONAL, -- Need R
+ spare1 ENUMERATED {true} OPTIONAL -- Need R
+}
+
+NSAG-List-r17 ::= SEQUENCE (SIZE (1.. maxSliceInfo-r17)) OF NSAG-ID-r17
+
+-- TAG-FEATURECOMBINATION-STOP
+-- TAG-FEATURECOMBINATIONPREAMBLES-START
+
+FeatureCombinationPreambles-r17 ::= SEQUENCE {
+ featureCombination-r17 FeatureCombination-r17,
+ startPreambleForThisPartition-r17 INTEGER (0..63),
+ numberOfPreamblesPerSSB-ForThisPartition-r17 INTEGER (1..64),
+ ssb-SharedRO-MaskIndex-r17 INTEGER (1..15) OPTIONAL, -- Need S
+ groupBconfigured-r17 SEQUENCE {
+ ra-SizeGroupA-r17 ENUMERATED {b56, b144, b208, b256, b282, b480, b640,
+ b800, b1000, b72, spare6, spare5,spare4, spare3, spare2, spare1},
+ messagePowerOffsetGroupB-r17 ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18},
+ numberOfRA-PreamblesGroupA-r17 INTEGER (1..64)
+ } OPTIONAL, -- Need R
+ separateMsgA-PUSCH-Config-r17 MsgA-PUSCH-Config-r16 OPTIONAL, -- Cond MsgAConfigCommon
+ msgA-RSRP-Threshold-r17 RSRP-Range OPTIONAL, -- Need R
+ rsrp-ThresholdSSB-r17 RSRP-Range OPTIONAL, -- Need R
+ deltaPreamble-r17 INTEGER (-1..6) OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-FEATURECOMBINATIONPREAMBLES-STOP
+-- TAG-FILTERCOEFFICIENT-START
+
+FilterCoefficient ::= ENUMERATED { fc0, fc1, fc2, fc3, fc4, fc5, fc6, fc7, fc8, fc9, fc11, fc13, fc15, fc17, fc19, spare1, ...}
+
+-- TAG-FILTERCOEFFICIENT-STOP
+-- TAG-FREQBANDINDICATORNR-START
+
+FreqBandIndicatorNR ::= INTEGER (1..1024)
+
+-- TAG-FREQBANDINDICATORNR-STOP
+-- TAG-FREQPRIORITYLISTDEDICATEDSLICING-START
+
+FreqPriorityListDedicatedSlicing-r17 ::= SEQUENCE (SIZE (1.. maxFreq)) OF FreqPriorityDedicatedSlicing-r17
+
+FreqPriorityDedicatedSlicing-r17 ::= SEQUENCE {
+ dl-ExplicitCarrierFreq-r17 ARFCN-ValueNR,
+ sliceInfoListDedicated-r17 SliceInfoListDedicated-r17 OPTIONAL -- Cond Mandatory
+}
+
+SliceInfoListDedicated-r17 ::= SEQUENCE (SIZE (1..maxSliceInfo-r17)) OF SliceInfoDedicated-r17
+
+SliceInfoDedicated-r17 ::= SEQUENCE {
+ nsag-IdentityInfo-r17 NSAG-IdentityInfo-r17,
+ nsag-CellReselectionPriority-r17 CellReselectionPriority OPTIONAL, -- Need R
+ nsag-CellReselectionSubPriority-r17 CellReselectionSubPriority OPTIONAL -- Need R
+}
+
+-- TAG-FREQPRIORITYLISTDEDICATEDSLICING-STOP
+-- TAG-FREQPRIORITYLISTSLICING-START
+
+FreqPriorityListSlicing-r17 ::= SEQUENCE (SIZE (1..maxFreqPlus1)) OF FreqPrioritySlicing-r17
+
+FreqPrioritySlicing-r17 ::= SEQUENCE {
+ dl-ImplicitCarrierFreq-r17 INTEGER (0..maxFreq),
+ sliceInfoList-r17 SliceInfoList-r17 OPTIONAL -- Cond Mandatory
+}
+
+SliceInfoList-r17 ::= SEQUENCE (SIZE (1..maxSliceInfo-r17)) OF SliceInfo-r17
+
+SliceInfo-r17 ::= SEQUENCE {
+ nsag-IdentityInfo-r17 NSAG-IdentityInfo-r17,
+ nsag-CellReselectionPriority-r17 CellReselectionPriority OPTIONAL, -- Need R
+ nsag-CellReselectionSubPriority-r17 CellReselectionSubPriority OPTIONAL, -- Need R
+ sliceCellListNR-r17 CHOICE {
+ sliceAllowedCellListNR-r17 SliceCellListNR-r17,
+ sliceExcludedCellListNR-r17 SliceCellListNR-r17
+ } OPTIONAL -- Need R
+}
+
+SliceCellListNR-r17 ::= SEQUENCE (SIZE (1..maxCellSlice-r17)) OF PCI-Range
+
+-- TAG-FREQPRIORITYLISTSLICING-STOP
+-- TAG-FREQUENCYINFODL-START
+
+FrequencyInfoDL ::= SEQUENCE {
+ absoluteFrequencySSB ARFCN-ValueNR OPTIONAL, -- Cond SpCellAdd
+ frequencyBandList MultiFrequencyBandListNR,
+ absoluteFrequencyPointA ARFCN-ValueNR,
+ scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+ ...
+}
+
+-- TAG-FREQUENCYINFODL-STOP
+-- TAG-FREQUENCYINFODL-SIB-START
+
+FrequencyInfoDL-SIB ::= SEQUENCE {
+ frequencyBandList MultiFrequencyBandListNR-SIB,
+ offsetToPointA INTEGER (0..2199),
+ scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier
+}
+
+-- TAG-FREQUENCYINFODL-SIB-STOP
+-- TAG-FREQUENCYINFOUL-START
+
+FrequencyInfoUL ::= SEQUENCE {
+ frequencyBandList MultiFrequencyBandListNR OPTIONAL, -- Cond FDD-OrSUL
+ absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL
+ scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+ additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Need S
+ p-Max P-Max OPTIONAL, -- Need S
+ frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-TDD-OrSUL-Optional
+ ...
+}
+
+-- TAG-FREQUENCYINFOUL-STOP
+-- TAG-FREQUENCYINFOUL-SIB-START
+
+FrequencyInfoUL-SIB ::= SEQUENCE {
+ frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Cond FDD-OrSUL
+ absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL
+ scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+ p-Max P-Max OPTIONAL, -- Need S
+ frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-TDD-OrSUL-Optional
+ ...
+}
+
+-- TAG-FREQUENCYINFOUL-SIB-STOP
+-- TAG-GAPPRIORITY-START
+
+GapPriority-r17 ::= INTEGER (1..maxNrOfGapPri-r17)
+
+-- TAG-GAPPRIORITY-STOP
+-- TAG-HIGHSPEEDCONFIG-START
+
+HighSpeedConfig-r16 ::= SEQUENCE {
+ highSpeedMeasFlag-r16 ENUMERATED {true} OPTIONAL, -- Cond SpCellOnly
+ highSpeedDemodFlag-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ ...
+}
+
+HighSpeedConfig-v1700 ::= SEQUENCE {
+ highSpeedMeasCA-Scell-r17 ENUMERATED {true} OPTIONAL, -- Cond SCellOnly
+ highSpeedMeasInterFreq-r17 ENUMERATED {true} OPTIONAL, -- Cond SpCellOnly2
+ highSpeedDemodCA-Scell-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ ...
+}
+
+HighSpeedConfigFR2-r17 ::= SEQUENCE {
+ highSpeedMeasFlagFR2-r17 ENUMERATED {set1, set2} OPTIONAL, -- Need R
+ highSpeedDeploymentTypeFR2-r17 ENUMERATED {unidirectional, bidirectional} OPTIONAL, -- Need R
+ highSpeedLargeOneStepUL-TimingFR2-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-HIGHSPEEDCONFIG-STOP
+-- TAG-HYSTERESIS-START
+
+Hysteresis ::= INTEGER (0..30)
+
+-- TAG-HYSTERESIS-STOP
+-- TAG-HYSTERESISLOCATION-START
+
+HysteresisLocation-r17 ::= INTEGER (0..32768)
+
+-- TAG-HYSTERESISLOCATION-STOP
+-- TAG-INVALIDSYMBOLPATTERN-START
+
+InvalidSymbolPattern-r16 ::= SEQUENCE {
+ symbols-r16 CHOICE {
+ oneSlot BIT STRING (SIZE (14)),
+ twoSlots BIT STRING (SIZE (28))
+ },
+ periodicityAndPattern-r16 CHOICE {
+ n2 BIT STRING (SIZE (2)),
+ n4 BIT STRING (SIZE (4)),
+ n5 BIT STRING (SIZE (5)),
+ n8 BIT STRING (SIZE (8)),
+ n10 BIT STRING (SIZE (10)),
+ n20 BIT STRING (SIZE (20)),
+ n40 BIT STRING (SIZE (40))
+ } OPTIONAL, -- Need M
+ ...
+}
+
+-- TAG-INVALIDSYMBOLPATTERN-STOP
+-- TAG-I-RNTI-VALUE-START
+
+I-RNTI-Value ::= BIT STRING (SIZE(40))
+
+-- TAG-I-RNTI-VALUE-STOP
+-- TAG-LBT-FAILURERECOVERYCONFIG-START
+
+LBT-FailureRecoveryConfig-r16 ::= SEQUENCE {
+ lbt-FailureInstanceMaxCount-r16 ENUMERATED {n4, n8, n16, n32, n64, n128},
+ lbt-FailureDetectionTimer-r16 ENUMERATED {ms10, ms20, ms40, ms80, ms160, ms320},
+ ...
+}
+
+-- TAG-LBT-FAILURERECOVERYCONFIG-STOP
+-- TAG-LOCATIONINFO-START
+
+LocationInfo-r16 ::= SEQUENCE {
+ commonLocationInfo-r16 CommonLocationInfo-r16 OPTIONAL,
+ bt-LocationInfo-r16 LogMeasResultListBT-r16 OPTIONAL,
+ wlan-LocationInfo-r16 LogMeasResultListWLAN-r16 OPTIONAL,
+ sensor-LocationInfo-r16 Sensor-LocationInfo-r16 OPTIONAL,
+ ...
+}
+
+-- TAG-LOCATIONINFO-STOP
+-- TAG-LOCATIONMEASUREMENTINFO-START
+
+LocationMeasurementInfo ::= CHOICE {
+ eutra-RSTD EUTRA-RSTD-InfoList,
+ ...,
+ eutra-FineTimingDetection NULL,
+ nr-PRS-Measurement-r16 NR-PRS-MeasurementInfoList-r16
+}
+
+EUTRA-RSTD-InfoList ::= SEQUENCE (SIZE (1..maxInterRAT-RSTD-Freq)) OF EUTRA-RSTD-Info
+
+EUTRA-RSTD-Info ::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ measPRS-Offset INTEGER (0..39),
+ ...
+}
+
+NR-PRS-MeasurementInfoList-r16 ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF NR-PRS-MeasurementInfo-r16
+
+NR-PRS-MeasurementInfo-r16 ::= SEQUENCE {
+ dl-PRS-PointA-r16 ARFCN-ValueNR,
+ nr-MeasPRS-RepetitionAndOffset-r16 CHOICE {
+ ms20-r16 INTEGER (0..19),
+ ms40-r16 INTEGER (0..39),
+ ms80-r16 INTEGER (0..79),
+ ms160-r16 INTEGER (0..159),
+ ...
+ },
+ nr-MeasPRS-length-r16 ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6, ms10, ms20},
+ ...
+}
+
+-- TAG-LOCATIONMEASUREMENTINFO-STOP
+-- TAG-LOGICALCHANNELCONFIG-START
+
+LogicalChannelConfig ::= SEQUENCE {
+ ul-SpecificParameters SEQUENCE {
+ priority INTEGER (1..16),
+ prioritisedBitRate ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512,
+ kBps1024, kBps2048, kBps4096, kBps8192, kBps16384, kBps32768, kBps65536, infinity},
+ bucketSizeDuration ENUMERATED {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000,
+ spare7, spare6, spare5, spare4, spare3,spare2, spare1},
+ allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex
+ OPTIONAL, -- Cond PDCP-CADuplication
+ allowedSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing OPTIONAL, -- Need R
+ maxPUSCH-Duration ENUMERATED {ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, ms0p01-v1700, spare1}
+ OPTIONAL, -- Need R
+ configuredGrantType1Allowed ENUMERATED {true} OPTIONAL, -- Need R
+ logicalChannelGroup INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R
+ schedulingRequestID SchedulingRequestId OPTIONAL, -- Need R
+ logicalChannelSR-Mask BOOLEAN,
+ logicalChannelSR-DelayTimerApplied BOOLEAN,
+ ...,
+ bitRateQueryProhibitTimer ENUMERATED {s0, s0dot4, s0dot8, s1dot6, s3, s6, s12, s30} OPTIONAL, -- Need R
+ [[
+ allowedCG-List-r16 SEQUENCE (SIZE (0.. maxNrofConfiguredGrantConfigMAC-1-r16)) OF ConfiguredGrantConfigIndexMAC-r16
+ OPTIONAL, -- Need S
+ allowedPHY-PriorityIndex-r16 ENUMERATED {p0, p1} OPTIONAL -- Need S
+ ]],
+ [[
+ logicalChannelGroupIAB-Ext-r17 INTEGER (0..maxLCG-ID-IAB-r17) OPTIONAL, -- Need R
+ allowedHARQ-mode-r17 ENUMERATED {harqModeA, harqModeB} OPTIONAL -- Need R
+ ]]
+ } OPTIONAL, -- Cond UL
+ ...,
+ [[
+ channelAccessPriority-r16 INTEGER (1..4) OPTIONAL, -- Need R
+ bitRateMultiplier-r16 ENUMERATED {x40, x70, x100, x200} OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-LOGICALCHANNELCONFIG-STOP
+-- TAG-LOGICALCHANNELIDENTITY-START
+
+LogicalChannelIdentity ::= INTEGER (1..maxLC-ID)
+
+-- TAG-LOGICALCHANNELIDENTITY-STOP
+-- TAG-LTE-NEIGHCELLSCRS-ASSISTINFOLIST-START
+
+LTE-NeighCellsCRS-AssistInfoList-r17 ::= SEQUENCE (SIZE (1..maxNrofCRS-IM-InterfCell-r17)) OF LTE-NeighCellsCRS-AssistInfo-r17
+
+LTE-NeighCellsCRS-AssistInfo-r17 ::= SEQUENCE {
+ neighCarrierBandwidthDL-r17 ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare1} OPTIONAL, -- Cond CRS-IM
+ neighCarrierFreqDL-r17 INTEGER (0..16383) OPTIONAL, -- Need S
+ neighCellId-r17 EUTRA-PhysCellId OPTIONAL, -- Need S
+ neighCRS-muting-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ neighMBSFN-SubframeConfigList-r17 EUTRA-MBSFN-SubframeConfigList OPTIONAL, -- Need S
+ neighNrofCRS-Ports-r17 ENUMERATED {n1, n2, n4} OPTIONAL, -- Need S
+ neighV-Shift-r17 ENUMERATED {n0, n1, n2, n3, n4, n5} OPTIONAL -- Cond NotCellID
+}
+
+-- TAG-LTE-NEIGHCELLSCRS-ASSISTINFOLIST-STOP
+-- TAG-MAC-CELLGROUPCONFIG-START
+
+MAC-CellGroupConfig ::= SEQUENCE {
+ drx-Config CHOICE {release NULL, setup DRX-Config } OPTIONAL, -- Need M
+ schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need M
+ bsr-Config BSR-Config OPTIONAL, -- Need M
+ tag-Config TAG-Config OPTIONAL, -- Need M
+ phr-Config CHOICE {release NULL, setup PHR-Config } OPTIONAL, -- Need M
+ skipUplinkTxDynamic BOOLEAN,
+ ...,
+ [[
+ csi-Mask BOOLEAN OPTIONAL, -- Need M
+ dataInactivityTimer CHOICE {release NULL, setup DataInactivityTimer } OPTIONAL -- Cond MCG-Only
+ ]],
+ [[
+ usePreBSR-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ schedulingRequestID-LBT-SCell-r16 SchedulingRequestId OPTIONAL, -- Need R
+ lch-BasedPrioritization-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ schedulingRequestID-BFR-SCell-r16 SchedulingRequestId OPTIONAL, -- Need R
+ drx-ConfigSecondaryGroup-r16 CHOICE {release NULL, setup DRX-ConfigSecondaryGroup-r16 } OPTIONAL -- Need M
+ ]],
+ [[
+ enhancedSkipUplinkTxDynamic-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ enhancedSkipUplinkTxConfigured-r16 ENUMERATED {true} OPTIONAL -- Need R
+ ]],
+ [[
+ intraCG-Prioritization-r17 ENUMERATED {enabled} OPTIONAL, -- Cond LCH-PrioWithReTxTimer
+ drx-ConfigSL-r17 CHOICE {release NULL, setup DRX-ConfigSL-r17 } OPTIONAL, -- Need M
+ drx-ConfigExt-v1700 CHOICE {release NULL, setup DRX-ConfigExt-v1700 } OPTIONAL, -- Need M
+ schedulingRequestID-BFR-r17 SchedulingRequestId OPTIONAL, -- Need R
+ schedulingRequestID-BFR2-r17 SchedulingRequestId OPTIONAL, -- Need R
+ schedulingRequestConfig-v1700 SchedulingRequestConfig-v1700 OPTIONAL, -- Need M
+ tar-Config-r17 CHOICE {release NULL, setup TAR-Config-r17 } OPTIONAL, -- Need M
+ g-RNTI-ConfigToAddModList-r17 SEQUENCE (SIZE (1..maxG-RNTI-r17)) OF MBS-RNTI-SpecificConfig-r17 OPTIONAL, -- Need N
+ g-RNTI-ConfigToReleaseList-r17 SEQUENCE (SIZE (1..maxG-RNTI-r17)) OF MBS-RNTI-SpecificConfigId-r17 OPTIONAL, -- Need N
+ g-CS-RNTI-ConfigToAddModList-r17 SEQUENCE (SIZE (1..maxG-CS-RNTI-r17)) OF MBS-RNTI-SpecificConfig-r17 OPTIONAL, -- Need N
+ g-CS-RNTI-ConfigToReleaseList-r17 SEQUENCE (SIZE (1..maxG-CS-RNTI-r17)) OF MBS-RNTI-SpecificConfigId-r17 OPTIONAL, -- Need N
+ allowCSI-SRS-Tx-MulticastDRX-Active-r17 BOOLEAN OPTIONAL -- Need M
+ ]],
+ [[
+ schedulingRequestID-PosMG-Request-r17 SchedulingRequestId OPTIONAL, -- Need R
+ drx-LastTransmissionUL-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]],
+ [[
+ posMG-Request-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+}
+
+DataInactivityTimer ::= ENUMERATED {s1, s2, s3, s5, s7, s10, s15, s20, s40, s50, s60, s80, s100, s120, s150, s180}
+
+MBS-RNTI-SpecificConfig-r17 ::= SEQUENCE {
+ mbs-RNTI-SpecificConfigId-r17 MBS-RNTI-SpecificConfigId-r17,
+ groupCommon-RNTI-r17 CHOICE {
+ g-RNTI RNTI-Value,
+ g-CS-RNTI RNTI-Value
+ },
+ drx-ConfigPTM-r17 CHOICE {release NULL, setup DRX-ConfigPTM-r17 } OPTIONAL, -- Need M
+ harq-FeedbackEnablerMulticast-r17 ENUMERATED {dci-enabler, enabled} OPTIONAL, -- Need S
+ harq-FeedbackOptionMulticast-r17 ENUMERATED {ack-nack, nack-only} OPTIONAL, -- Cond HARQFeedback
+ pdsch-AggregationFactor-r17 ENUMERATED {n2, n4, n8} OPTIONAL -- Cond G-RNTI
+}
+
+MBS-RNTI-SpecificConfigId-r17 ::= INTEGER (0..maxG-RNTI-1-r17)
+
+-- TAG-MAC-CELLGROUPCONFIG-STOP
+-- TAG-MEASCONFIG-START
+
+MeasConfig ::= SEQUENCE {
+ measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need N
+ measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need N
+ reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need N
+ reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need N
+ measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need N
+ measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need N
+ s-MeasureConfig CHOICE {
+ ssb-RSRP RSRP-Range,
+ csi-RSRP RSRP-Range
+ } OPTIONAL, -- Need M
+ quantityConfig QuantityConfig OPTIONAL, -- Need M
+ measGapConfig MeasGapConfig OPTIONAL, -- Need M
+ measGapSharingConfig MeasGapSharingConfig OPTIONAL, -- Need M
+ ...,
+ [[
+ interFrequencyConfig-NoGap-r16 ENUMERATED {true} OPTIONAL -- Need R
+ ]]
+}
+
+MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId
+
+MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId
+
+ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId
+
+-- TAG-MEASCONFIG-STOP
+-- TAG-MEASGAPCONFIG-START
+
+MeasGapConfig ::= SEQUENCE {
+ gapFR2 CHOICE {release NULL, setup GapConfig } OPTIONAL, -- Need M
+ ...,
+ [[
+ gapFR1 CHOICE {release NULL, setup GapConfig } OPTIONAL, -- Need M
+ gapUE CHOICE {release NULL, setup GapConfig } OPTIONAL -- Need M
+ ]],
+ [[
+ gapToAddModList-r17 SEQUENCE (SIZE (1..maxNrofGapId-r17)) OF GapConfig-r17 OPTIONAL, -- Need N
+ gapToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofGapId-r17)) OF MeasGapId-r17 OPTIONAL, -- Need N
+ posMeasGapPreConfigToAddModList-r17 PosMeasGapPreConfigToAddModList-r17 OPTIONAL, -- Need N
+ posMeasGapPreConfigToReleaseList-r17 PosMeasGapPreConfigToReleaseList-r17 OPTIONAL -- Need N
+ ]]
+
+}
+
+GapConfig ::= SEQUENCE {
+ gapOffset INTEGER (0..159),
+ mgl ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6},
+ mgrp ENUMERATED {ms20, ms40, ms80, ms160},
+ mgta ENUMERATED {ms0, ms0dot25, ms0dot5},
+ ...,
+ [[
+ refServCellIndicator ENUMERATED {pCell, pSCell, mcg-FR2} OPTIONAL -- Cond NEDCorNRDC
+ ]],
+ [[
+ refFR2ServCellAsyncCA-r16 ServCellIndex OPTIONAL, -- Cond AsyncCA
+ mgl-r16 ENUMERATED {ms10, ms20} OPTIONAL -- Cond PRS
+ ]]
+}
+
+GapConfig-r17 ::= SEQUENCE {
+ measGapId-r17 MeasGapId-r17,
+ gapType-r17 ENUMERATED {perUE, perFR1, perFR2},
+ gapOffset-r17 INTEGER (0..159),
+ mgl-r17 ENUMERATED {ms1, ms1dot5, ms2, ms3, ms3dot5, ms4, ms5, ms5dot5, ms6, ms10, ms20},
+ mgrp-r17 ENUMERATED {ms20, ms40, ms80, ms160},
+ mgta-r17 ENUMERATED {ms0, ms0dot25, ms0dot5, ms0dot75},
+ refServCellIndicator-r17 ENUMERATED {pCell, pSCell, mcg-FR2} OPTIONAL, -- Cond NEDCorNRDC
+ refFR2-ServCellAsyncCA-r17 ServCellIndex OPTIONAL, -- Cond AsyncCA
+ preConfigInd-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ ncsgInd-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ gapAssociationPRS-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ gapSharing-r17 MeasGapSharingScheme OPTIONAL, -- Need R
+ gapPriority-r17 GapPriority-r17 OPTIONAL, -- Need R
+ ...
+}
+
+PosMeasGapPreConfigToAddModList-r17 ::= SEQUENCE (SIZE (1..maxNrofPreConfigPosGapId-r17)) OF PosGapConfig-r17
+
+PosMeasGapPreConfigToReleaseList-r17 ::= SEQUENCE (SIZE (1..maxNrofPreConfigPosGapId-r17)) OF MeasPosPreConfigGapId-r17
+
+PosGapConfig-r17 ::= SEQUENCE {
+ measPosPreConfigGapId-r17 MeasPosPreConfigGapId-r17,
+ gapOffset-r17 INTEGER (0..159),
+ mgl-r17 ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6, ms10, ms20},
+ mgrp-r17 ENUMERATED {ms20, ms40, ms80, ms160},
+ mgta-r17 ENUMERATED {ms0, ms0dot25, ms0dot5},
+ gapType-r17 ENUMERATED {perUE, perFR1, perFR2},
+ ...
+}
+
+MeasPosPreConfigGapId-r17 ::= INTEGER (1..maxNrofPreConfigPosGapId-r17)
+
+-- TAG-MEASGAPCONFIG-STOP
+-- TAG-MEASGAPID-START
+
+MeasGapId-r17 ::= INTEGER (1..maxNrofGapId-r17)
+
+-- TAG-MEASGAPID-STOP
+-- TAG-MEASGAPSHARINGCONFIG-START
+
+MeasGapSharingConfig ::= SEQUENCE {
+ gapSharingFR2 CHOICE {release NULL, setup MeasGapSharingScheme } OPTIONAL, -- Need M
+ ...,
+ [[
+ gapSharingFR1 CHOICE {release NULL, setup MeasGapSharingScheme } OPTIONAL, --Need M
+ gapSharingUE CHOICE {release NULL, setup MeasGapSharingScheme } OPTIONAL --Need M
+ ]]
+}
+
+MeasGapSharingScheme::= ENUMERATED {scheme00, scheme01, scheme10, scheme11}
+
+-- TAG-MEASGAPSHARINGCONFIG-STOP
+-- TAG-MEASID-START
+
+MeasId ::= INTEGER (1..maxNrofMeasId)
+
+-- TAG-MEASID-STOP
+-- TAG-MEASIDLECONFIG-START
+
+MeasIdleConfigSIB-r16 ::= SEQUENCE {
+ measIdleCarrierListNR-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierNR-r16 OPTIONAL, -- Need S
+ measIdleCarrierListEUTRA-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierEUTRA-r16 OPTIONAL, -- Need S
+ ...
+}
+
+MeasIdleConfigDedicated-r16 ::= SEQUENCE {
+ measIdleCarrierListNR-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierNR-r16 OPTIONAL, -- Need N
+ measIdleCarrierListEUTRA-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierEUTRA-r16 OPTIONAL, -- Need N
+ measIdleDuration-r16 ENUMERATED{sec10, sec30, sec60, sec120, sec180, sec240, sec300, spare},
+ validityAreaList-r16 ValidityAreaList-r16 OPTIONAL, -- Need N
+ ...
+}
+
+ValidityAreaList-r16 ::= SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF ValidityArea-r16
+
+ValidityArea-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueNR,
+ validityCellList-r16 ValidityCellList OPTIONAL -- Need N
+}
+
+ValidityCellList ::= SEQUENCE (SIZE (1.. maxCellMeasIdle-r16)) OF PCI-Range
+
+MeasIdleCarrierNR-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueNR,
+ ssbSubcarrierSpacing-r16 SubcarrierSpacing,
+ frequencyBandList MultiFrequencyBandListNR OPTIONAL, -- Need R
+ measCellListNR-r16 CellListNR-r16 OPTIONAL, -- Need R
+ reportQuantities-r16 ENUMERATED {rsrp, rsrq, both},
+ qualityThreshold-r16 SEQUENCE {
+ idleRSRP-Threshold-NR-r16 RSRP-Range OPTIONAL, -- Need R
+ idleRSRQ-Threshold-NR-r16 RSRQ-Range OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ ssb-MeasConfig-r16 SEQUENCE {
+ nrofSS-BlocksToAverage-r16 INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need S
+ absThreshSS-BlocksConsolidation-r16 ThresholdNR OPTIONAL, -- Need S
+ smtc-r16 SSB-MTC OPTIONAL, -- Need S
+ ssb-ToMeasure-r16 SSB-ToMeasure OPTIONAL, -- Need S
+ deriveSSB-IndexFromCell-r16 BOOLEAN,
+ ss-RSSI-Measurement-r16 SS-RSSI-Measurement OPTIONAL -- Need S
+ } OPTIONAL, -- Need S
+ beamMeasConfigIdle-r16 BeamMeasConfigIdle-NR-r16 OPTIONAL, -- Need R
+ ...
+}
+
+MeasIdleCarrierEUTRA-r16 ::= SEQUENCE {
+ carrierFreqEUTRA-r16 ARFCN-ValueEUTRA,
+ allowedMeasBandwidth-r16 EUTRA-AllowedMeasBandwidth,
+ measCellListEUTRA-r16 CellListEUTRA-r16 OPTIONAL, -- Need R
+ reportQuantitiesEUTRA-r16 ENUMERATED {rsrp, rsrq, both},
+ qualityThresholdEUTRA-r16 SEQUENCE {
+ idleRSRP-Threshold-EUTRA-r16 RSRP-RangeEUTRA OPTIONAL, -- Need R
+ idleRSRQ-Threshold-EUTRA-r16 RSRQ-RangeEUTRA-r16 OPTIONAL -- Need R
+ } OPTIONAL, -- Need S
+ ...
+}
+
+CellListNR-r16 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF PCI-Range
+
+CellListEUTRA-r16 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF EUTRA-PhysCellIdRange
+
+BeamMeasConfigIdle-NR-r16 ::= SEQUENCE {
+ reportQuantityRS-Indexes-r16 ENUMERATED {rsrp, rsrq, both},
+ maxNrofRS-IndexesToReport-r16 INTEGER (1.. maxNrofIndexesToReport),
+ includeBeamMeasurements-r16 BOOLEAN
+}
+
+RSRQ-RangeEUTRA-r16 ::= INTEGER (-30..46)
+
+-- TAG-MEASIDLECONFIG-STOP
+-- TAG-MEASIDTOADDMODLIST-START
+
+MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod
+
+MeasIdToAddMod ::= SEQUENCE {
+ measId MeasId,
+ measObjectId MeasObjectId,
+ reportConfigId ReportConfigId
+}
+
+-- TAG-MEASIDTOADDMODLIST-STOP
+-- TAG-MEASOBJECTCLI-START
+
+MeasObjectCLI-r16 ::= SEQUENCE {
+ cli-ResourceConfig-r16 CLI-ResourceConfig-r16,
+ ...
+}
+
+CLI-ResourceConfig-r16 ::= SEQUENCE {
+ srs-ResourceConfig-r16 CHOICE {release NULL, setup SRS-ResourceListConfigCLI-r16 } OPTIONAL, -- Need M
+ rssi-ResourceConfig-r16 CHOICE {release NULL, setup RSSI-ResourceListConfigCLI-r16 } OPTIONAL -- Need M
+}
+
+SRS-ResourceListConfigCLI-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-SRS-Resources-r16)) OF SRS-ResourceConfigCLI-r16
+
+RSSI-ResourceListConfigCLI-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-RSSI-Resources-r16)) OF RSSI-ResourceConfigCLI-r16
+
+SRS-ResourceConfigCLI-r16 ::= SEQUENCE {
+ srs-Resource-r16 SRS-Resource,
+ srs-SCS-r16 SubcarrierSpacing,
+ refServCellIndex-r16 ServCellIndex OPTIONAL, -- Need S
+ refBWP-r16 BWP-Id,
+ ...
+}
+
+RSSI-ResourceConfigCLI-r16 ::= SEQUENCE {
+ rssi-ResourceId-r16 RSSI-ResourceId-r16,
+ rssi-SCS-r16 SubcarrierSpacing,
+ startPRB-r16 INTEGER (0..2169),
+ nrofPRBs-r16 INTEGER (4..maxNrofPhysicalResourceBlocksPlus1),
+ startPosition-r16 INTEGER (0..13),
+ nrofSymbols-r16 INTEGER (1..14),
+ rssi-PeriodicityAndOffset-r16 RSSI-PeriodicityAndOffset-r16,
+ refServCellIndex-r16 ServCellIndex OPTIONAL, -- Need S
+ ...
+}
+
+RSSI-ResourceId-r16 ::= INTEGER (0.. maxNrofCLI-RSSI-Resources-1-r16)
+
+RSSI-PeriodicityAndOffset-r16 ::= CHOICE {
+ sl10 INTEGER(0..9),
+ sl20 INTEGER(0..19),
+ sl40 INTEGER(0..39),
+ sl80 INTEGER(0..79),
+ sl160 INTEGER(0..159),
+ sl320 INTEGER(0..319),
+ s1640 INTEGER(0..639),
+ ...
+}
+
+-- TAG-MEASOBJECTCLI-STOP
+-- TAG-MEASOBJECTEUTRA-START
+
+MeasObjectEUTRA::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ allowedMeasBandwidth EUTRA-AllowedMeasBandwidth,
+ cellsToRemoveListEUTRAN EUTRA-CellIndexList OPTIONAL, -- Need N
+ cellsToAddModListEUTRAN SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-Cell OPTIONAL, -- Need N
+ excludedCellsToRemoveListEUTRAN EUTRA-CellIndexList OPTIONAL, -- Need N
+ excludedCellsToAddModListEUTRAN SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-ExcludedCell OPTIONAL, -- Need N
+ eutra-PresenceAntennaPort1 EUTRA-PresenceAntennaPort1,
+ eutra-Q-OffsetRange EUTRA-Q-OffsetRange OPTIONAL, -- Need R
+ widebandRSRQ-Meas BOOLEAN,
+ ...,
+ [[
+ associatedMeasGap-r17 MeasGapId-r17 OPTIONAL -- Need R
+ ]]
+}
+
+EUTRA-CellIndexList ::= SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-CellIndex
+
+EUTRA-CellIndex ::= INTEGER (1..maxCellMeasEUTRA)
+
+
+EUTRA-Cell ::= SEQUENCE {
+ cellIndexEUTRA EUTRA-CellIndex,
+ physCellId EUTRA-PhysCellId,
+ cellIndividualOffset EUTRA-Q-OffsetRange
+}
+
+
+EUTRA-ExcludedCell ::= SEQUENCE {
+ cellIndexEUTRA EUTRA-CellIndex,
+ physCellIdRange EUTRA-PhysCellIdRange
+}
+
+-- TAG-MEASOBJECTEUTRA-STOP
+-- TAG-MEASOBJECTID-START
+
+MeasObjectId ::= INTEGER (1..maxNrofObjectId)
+
+-- TAG-MEASOBJECTID-STOP
+-- TAG-MEASOBJECTNR-START
+
+MeasObjectNR ::= SEQUENCE {
+ ssbFrequency ARFCN-ValueNR OPTIONAL, -- Cond SSBorAssociatedSSB
+ ssbSubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond SSBorAssociatedSSB
+ smtc1 SSB-MTC OPTIONAL, -- Cond SSBorAssociatedSSB
+ smtc2 SSB-MTC2 OPTIONAL, -- Cond IntraFreqConnected
+ refFreqCSI-RS ARFCN-ValueNR OPTIONAL, -- Cond CSI-RS
+ referenceSignalConfig ReferenceSignalConfig,
+ absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R
+ absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL, -- Need R
+ nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R
+ nrofCSI-RS-ResourcesToAverage INTEGER (2..maxNrofCSI-RS-ResourcesToAverage) OPTIONAL, -- Need R
+ quantityConfigIndex INTEGER (1..maxNrofQuantityConfig),
+ offsetMO Q-OffsetRangeList,
+ cellsToRemoveList PCI-List OPTIONAL, -- Need N
+ cellsToAddModList CellsToAddModList OPTIONAL, -- Need N
+ excludedCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N
+ excludedCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N
+ allowedCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N
+ allowedCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N
+ ...,
+ [[
+ freqBandIndicatorNR FreqBandIndicatorNR OPTIONAL, -- Need R
+ measCycleSCell ENUMERATED {sf160, sf256, sf320, sf512, sf640, sf1024, sf1280} OPTIONAL -- Need R
+ ]],
+ [[
+ smtc3list-r16 SSB-MTC3List-r16 OPTIONAL, -- Need R
+ rmtc-Config-r16 CHOICE {release NULL, setup RMTC-Config-r16} OPTIONAL, -- Need M
+ t312-r16 CHOICE {release NULL, setup T312-r16 } OPTIONAL -- Need M
+ ]],
+ [[
+ associatedMeasGapSSB-r17 MeasGapId-r17 OPTIONAL, -- Need R
+ associatedMeasGapCSIRS-r17 MeasGapId-r17 OPTIONAL, -- Need R
+ smtc4list-r17 SSB-MTC4List-r17 OPTIONAL, -- Need R
+ measCyclePSCell-r17 ENUMERATED {ms160, ms256, ms320, ms512, ms640, ms1024, ms1280, spare1}
+ OPTIONAL, -- Cond SCG
+ cellsToAddModListExt-v1710 CellsToAddModListExt-v1710 OPTIONAL -- Need N
+ ]],
+ [[
+ associatedMeasGapSSB2-v1720 MeasGapId-r17 OPTIONAL, -- Cond AssociatedGapSSB
+ associatedMeasGapCSIRS2-v1720 MeasGapId-r17 OPTIONAL -- Cond AssociatedGapCSIRS
+ ]]
+}
+
+SSB-MTC3List-r16::= SEQUENCE (SIZE(1..4)) OF SSB-MTC3-r16
+
+SSB-MTC4List-r17::= SEQUENCE (SIZE(1..3)) OF SSB-MTC4-r17
+
+T312-r16 ::= ENUMERATED { ms0, ms50, ms100, ms200, ms300, ms400, ms500, ms1000}
+
+ReferenceSignalConfig::= SEQUENCE {
+ ssb-ConfigMobility SSB-ConfigMobility OPTIONAL, -- Need M
+ csi-rs-ResourceConfigMobility CHOICE {release NULL, setup CSI-RS-ResourceConfigMobility } OPTIONAL -- Need M
+}
+
+SSB-ConfigMobility::= SEQUENCE {
+ ssb-ToMeasure CHOICE {release NULL, setup SSB-ToMeasure } OPTIONAL, -- Need M
+ deriveSSB-IndexFromCell BOOLEAN,
+ ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need M
+ ...,
+ [[
+ ssb-PositionQCL-Common-r16 SSB-PositionQCL-Relation-r16 OPTIONAL, -- Cond SharedSpectrum
+ ssb-PositionQCL-CellsToAddModList-r16 SSB-PositionQCL-CellsToAddModList-r16 OPTIONAL, -- Need N
+ ssb-PositionQCL-CellsToRemoveList-r16 PCI-List OPTIONAL -- Need N
+ ]],
+ [[
+ deriveSSB-IndexFromCellInter-r17 ServCellIndex OPTIONAL, -- Need R
+ ssb-PositionQCL-Common-r17 SSB-PositionQCL-Relation-r17 OPTIONAL, -- Cond SharedSpectrum2
+ ssb-PositionQCL-Cells-r17 CHOICE {release NULL, setup SSB-PositionQCL-CellList-r17} OPTIONAL -- Need M
+ ]],
+ [[
+ cca-CellsToAddModList-r17 PCI-List OPTIONAL, -- Need N
+ cca-CellsToRemoveList-r17 PCI-List OPTIONAL -- Need N
+ ]]
+}
+
+Q-OffsetRangeList ::= SEQUENCE {
+ rsrpOffsetSSB Q-OffsetRange DEFAULT dB0,
+ rsrqOffsetSSB Q-OffsetRange DEFAULT dB0,
+ sinrOffsetSSB Q-OffsetRange DEFAULT dB0,
+ rsrpOffsetCSI-RS Q-OffsetRange DEFAULT dB0,
+ rsrqOffsetCSI-RS Q-OffsetRange DEFAULT dB0,
+ sinrOffsetCSI-RS Q-OffsetRange DEFAULT dB0
+}
+
+
+ThresholdNR ::= SEQUENCE{
+ thresholdRSRP RSRP-Range OPTIONAL, -- Need R
+ thresholdRSRQ RSRQ-Range OPTIONAL, -- Need R
+ thresholdSINR SINR-Range OPTIONAL -- Need R
+}
+
+CellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod
+
+CellsToAddModListExt-v1710 ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddModExt-v1710
+
+CellsToAddMod ::= SEQUENCE {
+ physCellId PhysCellId,
+ cellIndividualOffset Q-OffsetRangeList
+}
+
+CellsToAddModExt-v1710 ::= SEQUENCE {
+ ntn-PolarizationDL-r17 ENUMERATED {rhcp,lhcp,linear} OPTIONAL, -- Need R
+ ntn-PolarizationUL-r17 ENUMERATED {rhcp,lhcp,linear} OPTIONAL -- Need R
+}
+
+RMTC-Config-r16 ::= SEQUENCE {
+ rmtc-Periodicity-r16 ENUMERATED {ms40, ms80, ms160, ms320, ms640},
+ rmtc-SubframeOffset-r16 INTEGER(0..639) OPTIONAL, -- Need M
+ measDurationSymbols-r16 ENUMERATED {sym1, sym14or12, sym28or24, sym42or36, sym70or60},
+ rmtc-Frequency-r16 ARFCN-ValueNR,
+ ref-SCS-CP-r16 ENUMERATED {kHz15, kHz30, kHz60-NCP, kHz60-ECP},
+ ...,
+ [[
+ rmtc-Bandwidth-r17 ENUMERATED {mhz100, mhz400, mhz800, mhz1600, mhz2000} OPTIONAL, -- Need R
+ measDurationSymbols-v1700 ENUMERATED {sym140, sym560, sym1120} OPTIONAL, -- Need R
+ ref-SCS-CP-v1700 ENUMERATED {kHz120, kHz480, kHz960} OPTIONAL, -- Need R
+ tci-StateInfo-r17 SEQUENCE {
+ tci-StateId-r17 TCI-StateId,
+ ref-ServCellId-r17 ServCellIndex OPTIONAL -- Need R
+ } OPTIONAL -- Need R
+ ]],
+ [[
+ ref-BWPId-r17 BWP-Id OPTIONAL -- Need R
+ ]]
+}
+
+SSB-PositionQCL-CellsToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF SSB-PositionQCL-CellsToAddMod-r16
+
+SSB-PositionQCL-CellsToAddMod-r16 ::= SEQUENCE {
+ physCellId-r16 PhysCellId,
+ ssb-PositionQCL-r16 SSB-PositionQCL-Relation-r16
+}
+
+SSB-PositionQCL-CellList-r17 ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF SSB-PositionQCL-Cell-r17
+
+SSB-PositionQCL-Cell-r17 ::= SEQUENCE {
+ physCellId-r17 PhysCellId,
+ ssb-PositionQCL-r17 SSB-PositionQCL-Relation-r17
+}
+
+-- TAG-MEASOBJECTNR-STOP
+-- TAG-MEASOBJECTNR-SL-START
+
+MeasObjectNR-SL-r16 ::= SEQUENCE {
+ tx-PoolMeasToRemoveList-r16 Tx-PoolMeasList-r16 OPTIONAL, -- Need N
+ tx-PoolMeasToAddModList-r16 Tx-PoolMeasList-r16 OPTIONAL -- Need N
+}
+
+Tx-PoolMeasList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-PoolToMeasureNR-r16)) OF SL-ResourcePoolID-r16
+
+-- TAG-MEASOBJECTNR-SL-STOP
+-- TAG-MEASOBJECTRXTXDIFF-START
+
+
+MeasObjectRxTxDiff-r17 ::= SEQUENCE {
+ dl-Ref-r17 CHOICE {
+ prs-Ref-r17 NULL,
+ csi-RS-Ref-r17 NULL,
+ ...
+ } OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-MEASOBJECTRXTXDIFF-STOP
+-- TAG-MEASOBJECTTOADDMODLIST-START
+
+MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectToAddMod
+
+MeasObjectToAddMod ::= SEQUENCE {
+ measObjectId MeasObjectId,
+ measObject CHOICE {
+ measObjectNR MeasObjectNR,
+ ...,
+ measObjectEUTRA MeasObjectEUTRA,
+ measObjectUTRA-FDD-r16 MeasObjectUTRA-FDD-r16,
+ measObjectNR-SL-r16 MeasObjectNR-SL-r16,
+ measObjectCLI-r16 MeasObjectCLI-r16,
+ measObjectRxTxDiff-r17 MeasObjectRxTxDiff-r17,
+ measObjectRelay-r17 SL-MeasObject-r16
+ }
+}
+
+-- TAG-MEASOBJECTTOADDMODLIST-STOP
+-- TAG-MEASOBJECTUTRA-FDD-START
+
+MeasObjectUTRA-FDD-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueUTRA-FDD-r16,
+ utra-FDD-Q-OffsetRange-r16 UTRA-FDD-Q-OffsetRange-r16 OPTIONAL, -- Need R
+ cellsToRemoveList-r16 UTRA-FDD-CellIndexList-r16 OPTIONAL, -- Need N
+ cellsToAddModList-r16 CellsToAddModListUTRA-FDD-r16 OPTIONAL, -- Need N
+ ...
+}
+
+CellsToAddModListUTRA-FDD-r16 ::= SEQUENCE (SIZE (1..maxCellMeasUTRA-FDD-r16)) OF CellsToAddModUTRA-FDD-r16
+
+CellsToAddModUTRA-FDD-r16 ::= SEQUENCE {
+ cellIndexUTRA-FDD-r16 UTRA-FDD-CellIndex-r16,
+ physCellId-r16 PhysCellIdUTRA-FDD-r16
+}
+
+UTRA-FDD-CellIndexList-r16 ::= SEQUENCE (SIZE (1..maxCellMeasUTRA-FDD-r16)) OF UTRA-FDD-CellIndex-r16
+
+UTRA-FDD-CellIndex-r16 ::= INTEGER (1..maxCellMeasUTRA-FDD-r16)
+
+-- TAG-MEASOBJECTUTRA-FDD-STOP
+-- TAG-MEASRESULTCELLLISTSFTD-NR-START
+
+MeasResultCellListSFTD-NR ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD-NR
+
+MeasResultCellSFTD-NR ::= SEQUENCE {
+ physCellId PhysCellId,
+ sfn-OffsetResult INTEGER (0..1023),
+ frameBoundaryOffsetResult INTEGER (-30720..30719),
+ rsrp-Result RSRP-Range OPTIONAL
+}
+
+-- TAG-MEASRESULTCELLLISTSFTD-NR-STOP
+-- TAG-MEASRESULTCELLLISTSFTD-EUTRA-START
+
+MeasResultCellListSFTD-EUTRA ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultSFTD-EUTRA
+
+MeasResultSFTD-EUTRA ::= SEQUENCE {
+ eutra-PhysCellId EUTRA-PhysCellId,
+ sfn-OffsetResult INTEGER (0..1023),
+ frameBoundaryOffsetResult INTEGER (-30720..30719),
+ rsrp-Result RSRP-Range OPTIONAL
+}
+
+-- TAG-MEASRESULTCELLLISTSFTD-EUTRA-STOP
+-- TAG-MEASRESULTS-START
+
+MeasResults ::= SEQUENCE {
+ measId MeasId,
+ measResultServingMOList MeasResultServMOList,
+ measResultNeighCells CHOICE {
+ measResultListNR MeasResultListNR,
+ ...,
+ measResultListEUTRA MeasResultListEUTRA,
+ measResultListUTRA-FDD-r16 MeasResultListUTRA-FDD-r16,
+ sl-MeasResultsCandRelay-r17 OCTET STRING -- Contains PC5 SL-MeasResultListRelay-r17
+ } OPTIONAL,
+ ...,
+ [[
+ measResultServFreqListEUTRA-SCG MeasResultServFreqListEUTRA-SCG OPTIONAL,
+ measResultServFreqListNR-SCG MeasResultServFreqListNR-SCG OPTIONAL,
+ measResultSFTD-EUTRA MeasResultSFTD-EUTRA OPTIONAL,
+ measResultSFTD-NR MeasResultCellSFTD-NR OPTIONAL
+ ]],
+ [[
+ measResultCellListSFTD-NR MeasResultCellListSFTD-NR OPTIONAL
+ ]],
+ [[
+ measResultForRSSI-r16 MeasResultForRSSI-r16 OPTIONAL,
+ locationInfo-r16 LocationInfo-r16 OPTIONAL,
+ ul-PDCP-DelayValueResultList-r16 UL-PDCP-DelayValueResultList-r16 OPTIONAL,
+ measResultsSL-r16 MeasResultsSL-r16 OPTIONAL,
+ measResultCLI-r16 MeasResultCLI-r16 OPTIONAL
+ ]],
+ [[
+ measResultRxTxTimeDiff-r17 MeasResultRxTxTimeDiff-r17 OPTIONAL,
+ sl-MeasResultServingRelay-r17 OCTET STRING OPTIONAL,
+ -- Contains PC5 SL-MeasResultRelay-r17
+ ul-PDCP-ExcessDelayResultList-r17 UL-PDCP-ExcessDelayResultList-r17 OPTIONAL,
+ coarseLocationInfo-r17 OCTET STRING OPTIONAL
+ ]]
+}
+
+MeasResultServMOList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO
+
+MeasResultServMO ::= SEQUENCE {
+ servCellId ServCellIndex,
+ measResultServingCell MeasResultNR,
+ measResultBestNeighCell MeasResultNR OPTIONAL,
+ ...
+}
+
+MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR
+
+MeasResultNR ::= SEQUENCE {
+ physCellId PhysCellId OPTIONAL,
+ measResult SEQUENCE {
+ cellResults SEQUENCE{
+ resultsSSB-Cell MeasQuantityResults OPTIONAL,
+ resultsCSI-RS-Cell MeasQuantityResults OPTIONAL
+ },
+ rsIndexResults SEQUENCE{
+ resultsSSB-Indexes ResultsPerSSB-IndexList OPTIONAL,
+ resultsCSI-RS-Indexes ResultsPerCSI-RS-IndexList OPTIONAL
+ } OPTIONAL
+ },
+ ...,
+ [[
+ cgi-Info CGI-InfoNR OPTIONAL
+ ]] ,
+ [[
+ choCandidate-r17 ENUMERATED {true} OPTIONAL,
+ choConfig-r17 SEQUENCE (SIZE (1..2)) OF CondTriggerConfig-r16 OPTIONAL,
+ triggeredEvent-r17 SEQUENCE {
+ timeBetweenEvents-r17 TimeBetweenEvent-r17 OPTIONAL,
+ firstTriggeredEvent ENUMERATED {condFirstEvent, condSecondEvent} OPTIONAL
+ } OPTIONAL
+ ]]
+}
+
+MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA
+
+MeasResultEUTRA ::= SEQUENCE {
+ eutra-PhysCellId PhysCellId,
+ measResult MeasQuantityResultsEUTRA,
+
+ cgi-Info CGI-InfoEUTRA OPTIONAL,
+ ...
+}
+
+MultiBandInfoListEUTRA ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicatorEUTRA
+
+MeasQuantityResults ::= SEQUENCE {
+ rsrp RSRP-Range OPTIONAL,
+ rsrq RSRQ-Range OPTIONAL,
+ sinr SINR-Range OPTIONAL
+}
+
+MeasQuantityResultsEUTRA ::= SEQUENCE {
+ rsrp RSRP-RangeEUTRA OPTIONAL,
+ rsrq RSRQ-RangeEUTRA OPTIONAL,
+ sinr SINR-RangeEUTRA OPTIONAL
+}
+
+ResultsPerSSB-IndexList::= SEQUENCE (SIZE (1..maxNrofIndexesToReport2)) OF ResultsPerSSB-Index
+
+ResultsPerSSB-Index ::= SEQUENCE {
+ ssb-Index SSB-Index,
+ ssb-Results MeasQuantityResults OPTIONAL
+}
+
+ResultsPerCSI-RS-IndexList::= SEQUENCE (SIZE (1..maxNrofIndexesToReport2)) OF ResultsPerCSI-RS-Index
+
+ResultsPerCSI-RS-Index ::= SEQUENCE {
+ csi-RS-Index CSI-RS-Index,
+ csi-RS-Results MeasQuantityResults OPTIONAL
+}
+MeasResultServFreqListEUTRA-SCG ::= SEQUENCE (SIZE (1..maxNrofServingCellsEUTRA)) OF MeasResult2EUTRA
+
+MeasResultServFreqListNR-SCG ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResult2NR
+
+MeasResultListUTRA-FDD-r16 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultUTRA-FDD-r16
+
+MeasResultUTRA-FDD-r16 ::= SEQUENCE {
+ physCellId-r16 PhysCellIdUTRA-FDD-r16,
+ measResult-r16 SEQUENCE {
+ utra-FDD-RSCP-r16 INTEGER (-5..91) OPTIONAL,
+ utra-FDD-EcN0-r16 INTEGER (0..49) OPTIONAL
+ }
+}
+
+MeasResultForRSSI-r16 ::= SEQUENCE {
+ rssi-Result-r16 RSSI-Range-r16,
+ channelOccupancy-r16 INTEGER (0..100)
+}
+
+MeasResultCLI-r16 ::= SEQUENCE {
+ measResultListSRS-RSRP-r16 MeasResultListSRS-RSRP-r16 OPTIONAL,
+ measResultListCLI-RSSI-r16 MeasResultListCLI-RSSI-r16 OPTIONAL
+}
+
+MeasResultListSRS-RSRP-r16 ::= SEQUENCE (SIZE (1.. maxCLI-Report-r16)) OF MeasResultSRS-RSRP-r16
+
+MeasResultSRS-RSRP-r16 ::= SEQUENCE {
+ srs-ResourceId-r16 SRS-ResourceId,
+ srs-RSRP-Result-r16 SRS-RSRP-Range-r16
+}
+
+MeasResultListCLI-RSSI-r16 ::= SEQUENCE (SIZE (1.. maxCLI-Report-r16)) OF MeasResultCLI-RSSI-r16
+
+MeasResultCLI-RSSI-r16 ::= SEQUENCE {
+ rssi-ResourceId-r16 RSSI-ResourceId-r16,
+ cli-RSSI-Result-r16 CLI-RSSI-Range-r16
+}
+
+UL-PDCP-DelayValueResultList-r16 ::= SEQUENCE (SIZE (1..maxDRB)) OF UL-PDCP-DelayValueResult-r16
+
+UL-PDCP-DelayValueResult-r16 ::= SEQUENCE {
+ drb-Id-r16 DRB-Identity,
+ averageDelay-r16 INTEGER (0..10000),
+ ...
+}
+
+UL-PDCP-ExcessDelayResultList-r17 ::= SEQUENCE (SIZE (1..maxDRB)) OF UL-PDCP-ExcessDelayResult-r17
+
+UL-PDCP-ExcessDelayResult-r17 ::= SEQUENCE {
+ drb-Id-r17 DRB-Identity,
+ excessDelay-r17 INTEGER (0..31),
+ ...
+}
+
+TimeBetweenEvent-r17 ::= INTEGER (0..1023)
+
+-- TAG-MEASRESULTS-STOP
+-- TAG-MEASRESULT2EUTRA-START
+
+MeasResult2EUTRA ::= SEQUENCE {
+ carrierFreq ARFCN-ValueEUTRA,
+ measResultServingCell MeasResultEUTRA OPTIONAL,
+ measResultBestNeighCell MeasResultEUTRA OPTIONAL,
+ ...
+}
+
+-- TAG-MEASRESULT2EUTRA-STOP
+-- TAG-MEASRESULT2NR-START
+
+MeasResult2NR ::= SEQUENCE {
+ ssbFrequency ARFCN-ValueNR OPTIONAL,
+ refFreqCSI-RS ARFCN-ValueNR OPTIONAL,
+ measResultServingCell MeasResultNR OPTIONAL,
+ measResultNeighCellListNR MeasResultListNR OPTIONAL,
+ ...
+}
+
+-- TAG-MEASRESULT2NR-STOP
+-- TAG-MEASRESULTIDLEEUTRA-START
+
+MeasResultIdleEUTRA-r16 ::= SEQUENCE {
+ measResultsPerCarrierListIdleEUTRA-r16 SEQUENCE (SIZE (1.. maxFreqIdle-r16)) OF MeasResultsPerCarrierIdleEUTRA-r16,
+ ...
+}
+
+MeasResultsPerCarrierIdleEUTRA-r16 ::= SEQUENCE {
+ carrierFreqEUTRA-r16 ARFCN-ValueEUTRA,
+ measResultsPerCellListIdleEUTRA-r16 SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF MeasResultsPerCellIdleEUTRA-r16,
+ ...
+}
+
+MeasResultsPerCellIdleEUTRA-r16 ::= SEQUENCE {
+ eutra-PhysCellId-r16 EUTRA-PhysCellId,
+ measIdleResultEUTRA-r16 SEQUENCE {
+ rsrp-ResultEUTRA-r16 RSRP-RangeEUTRA OPTIONAL,
+ rsrq-ResultEUTRA-r16 RSRQ-RangeEUTRA-r16 OPTIONAL
+ },
+ ...
+}
+
+-- TAG-MEASRESULTIDLEEUTRA-STOP
+-- TAG-MEASRESULTIDLENR-START
+
+MeasResultIdleNR-r16 ::= SEQUENCE {
+ measResultServingCell-r16 SEQUENCE {
+ rsrp-Result-r16 RSRP-Range OPTIONAL,
+ rsrq-Result-r16 RSRQ-Range OPTIONAL,
+ resultsSSB-Indexes-r16 ResultsPerSSB-IndexList-r16 OPTIONAL
+ },
+ measResultsPerCarrierListIdleNR-r16 SEQUENCE (SIZE (1.. maxFreqIdle-r16)) OF MeasResultsPerCarrierIdleNR-r16 OPTIONAL,
+ ...
+}
+
+MeasResultsPerCarrierIdleNR-r16 ::= SEQUENCE {
+ carrierFreq-r16 ARFCN-ValueNR,
+ measResultsPerCellListIdleNR-r16 SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF MeasResultsPerCellIdleNR-r16,
+ ...
+}
+
+MeasResultsPerCellIdleNR-r16 ::= SEQUENCE {
+ physCellId-r16 PhysCellId,
+ measIdleResultNR-r16 SEQUENCE {
+ rsrp-Result-r16 RSRP-Range OPTIONAL,
+ rsrq-Result-r16 RSRQ-Range OPTIONAL,
+ resultsSSB-Indexes-r16 ResultsPerSSB-IndexList-r16 OPTIONAL
+ },
+ ...
+}
+
+ResultsPerSSB-IndexList-r16 ::= SEQUENCE (SIZE (1.. maxNrofIndexesToReport)) OF ResultsPerSSB-IndexIdle-r16
+
+ResultsPerSSB-IndexIdle-r16 ::= SEQUENCE {
+ ssb-Index-r16 SSB-Index,
+ ssb-Results-r16 SEQUENCE {
+ ssb-RSRP-Result-r16 RSRP-Range OPTIONAL,
+ ssb-RSRQ-Result-r16 RSRQ-Range OPTIONAL
+ } OPTIONAL
+}
+
+-- TAG-MEASRESULTIDLENR-STOP
+-- TAG-MEASRESULTRXTXTIMEDIFF-START
+
+MeasResultRxTxTimeDiff-r17 ::= SEQUENCE {
+ rxTxTimeDiff-ue-r17 RxTxTimeDiff-r17 OPTIONAL,
+ ...
+}
+
+-- TAG-MEASRESULTRXTXTIMEDIFF-STOP
+-- TAG-MEASRESULTSCG-FAILURE-START
+
+MeasResultSCG-Failure ::= SEQUENCE {
+ measResultPerMOList MeasResultList2NR,
+ ...,
+ [[
+ locationInfo-r16 LocationInfo-r16 OPTIONAL
+ ]]
+}
+
+MeasResultList2NR ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR
+
+-- TAG-MEASRESULTSCG-FAILURE-STOP
+-- TAG-MEASRESULTSSL-START
+
+MeasResultsSL-r16 ::= SEQUENCE {
+ measResultsListSL-r16 CHOICE {
+ measResultNR-SL-r16 MeasResultNR-SL-r16,
+ ...
+ },
+ ...
+}
+
+MeasResultNR-SL-r16 ::= SEQUENCE {
+ measResultListCBR-NR-r16 SEQUENCE (SIZE (1.. maxNrofSL-PoolToMeasureNR-r16)) OF MeasResultCBR-NR-r16,
+ ...
+}
+
+MeasResultCBR-NR-r16 ::= SEQUENCE {
+ sl-poolReportIdentity-r16 SL-ResourcePoolID-r16,
+ sl-CBR-ResultsNR-r16 SL-CBR-r16,
+ ...
+}
+
+-- TAG-MEASRESULTSSL-STOP
+-- TAG-MEASTRIGGERQUANTITYEUTRA-START
+
+MeasTriggerQuantityEUTRA::= CHOICE {
+ rsrp RSRP-RangeEUTRA,
+ rsrq RSRQ-RangeEUTRA,
+ sinr SINR-RangeEUTRA
+}
+
+RSRP-RangeEUTRA ::= INTEGER (0..97)
+
+RSRQ-RangeEUTRA ::= INTEGER (0..34)
+
+SINR-RangeEUTRA ::= INTEGER (0..127)
+
+-- TAG-MEASTRIGGERQUANTITYEUTRA-STOP
+-- TAG-MOBILITYSTATEPARAMETERS-START
+
+MobilityStateParameters ::= SEQUENCE{
+ t-Evaluation ENUMERATED {
+ s30, s60, s120, s180, s240, spare3, spare2, spare1},
+ t-HystNormal ENUMERATED {
+ s30, s60, s120, s180, s240, spare3, spare2, spare1},
+ n-CellChangeMedium INTEGER (1..16),
+ n-CellChangeHigh INTEGER (1..16)
+}
+
+-- TAG-MOBILITYSTATEPARAMETERS-STOP
+-- TAG-MRB-IDENTITY-START
+
+MRB-Identity-r17 ::= INTEGER (1..512)
+
+-- TAG-MRB-IDENTITY-STOP
+-- TAG-MSGACONFIGCOMMON-START
+
+MsgA-ConfigCommon-r16 ::= SEQUENCE {
+ rach-ConfigCommonTwoStepRA-r16 RACH-ConfigCommonTwoStepRA-r16,
+ msgA-PUSCH-Config-r16 MsgA-PUSCH-Config-r16 OPTIONAL --Cond InitialBWPConfig
+}
+
+-- TAG-MSGACONFIGCOMMON-STOP
+-- TAG-MSGA-PUSCH-CONFIG-START
+
+MsgA-PUSCH-Config-r16 ::= SEQUENCE {
+ msgA-PUSCH-ResourceGroupA-r16 MsgA-PUSCH-Resource-r16 OPTIONAL, -- Cond InitialBWPConfig
+ msgA-PUSCH-ResourceGroupB-r16 MsgA-PUSCH-Resource-r16 OPTIONAL, -- Cond GroupBConfigured
+ msgA-TransformPrecoder-r16 ENUMERATED {enabled, disabled} OPTIONAL, -- Need R
+ msgA-DataScramblingIndex-r16 INTEGER (0..1023) OPTIONAL, -- Need S
+ msgA-DeltaPreamble-r16 INTEGER (-1..6) OPTIONAL -- Need R
+}
+
+MsgA-PUSCH-Resource-r16 ::= SEQUENCE {
+ msgA-MCS-r16 INTEGER (0..15),
+ nrofSlotsMsgA-PUSCH-r16 INTEGER (1..4),
+ nrofMsgA-PO-PerSlot-r16 ENUMERATED {one, two, three, six},
+ msgA-PUSCH-TimeDomainOffset-r16 INTEGER (1..32),
+ msgA-PUSCH-TimeDomainAllocation-r16 INTEGER (1..maxNrofUL-Allocations) OPTIONAL, -- Need S
+ startSymbolAndLengthMsgA-PO-r16 INTEGER (0..127) OPTIONAL, -- Need S
+ mappingTypeMsgA-PUSCH-r16 ENUMERATED {typeA, typeB} OPTIONAL, -- Need S
+ guardPeriodMsgA-PUSCH-r16 INTEGER (0..3) OPTIONAL, -- Need R
+ guardBandMsgA-PUSCH-r16 INTEGER (0..1),
+ frequencyStartMsgA-PUSCH-r16 INTEGER (0..maxNrofPhysicalResourceBlocks-1),
+ nrofPRBs-PerMsgA-PO-r16 INTEGER (1..32),
+ nrofMsgA-PO-FDM-r16 ENUMERATED {one, two, four, eight},
+ msgA-IntraSlotFrequencyHopping-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ msgA-HoppingBits-r16 BIT STRING (SIZE(2)) OPTIONAL, -- Cond FreqHopConfigured
+ msgA-DMRS-Config-r16 MsgA-DMRS-Config-r16,
+ nrofDMRS-Sequences-r16 INTEGER (1..2),
+ msgA-Alpha-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06,
+ alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need S
+ interlaceIndexFirstPO-MsgA-PUSCH-r16 INTEGER (1..10) OPTIONAL, -- Need R
+ nrofInterlacesPerMsgA-PO-r16 INTEGER (1..10) OPTIONAL, -- Need R
+ ...
+}
+
+MsgA-DMRS-Config-r16 ::= SEQUENCE {
+ msgA-DMRS-AdditionalPosition-r16 ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need S
+ msgA-MaxLength-r16 ENUMERATED {len2} OPTIONAL, -- Need S
+ msgA-PUSCH-DMRS-CDM-Group-r16 INTEGER (0..1) OPTIONAL, -- Need S
+ msgA-PUSCH-NrofPorts-r16 INTEGER (0..1) OPTIONAL, -- Need S
+ msgA-ScramblingID0-r16 INTEGER (0..65535) OPTIONAL, -- Need S
+ msgA-ScramblingID1-r16 INTEGER (0..65535) OPTIONAL -- Need S
+}
+
+-- TAG-MSGA-PUSCH-CONFIG-STOP
+-- TAG-MULTIFREQUENCYBANDLISTNR-START
+
+MultiFrequencyBandListNR ::= SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR
+
+-- TAG-MULTIFREQUENCYBANDLISTNR-STOP
+-- TAG-MULTIFREQUENCYBANDLISTNR-SIB-START
+
+MultiFrequencyBandListNR-SIB ::= SEQUENCE (SIZE (1.. maxNrofMultiBands)) OF NR-MultiBandInfo
+
+NR-MultiBandInfo ::= SEQUENCE {
+ freqBandIndicatorNR FreqBandIndicatorNR OPTIONAL, -- Cond OptULNotSIB2
+ nr-NS-PmaxList NR-NS-PmaxList OPTIONAL -- Need S
+}
+
+-- TAG-MULTIFREQUENCYBANDLISTNR-SIB-STOP
+-- TAG-MUSIM-GAPCONFIG-START
+
+MUSIM-GapConfig-r17 ::= SEQUENCE {
+ musim-GapToReleaseList-r17 SEQUENCE (SIZE (1..3)) OF MUSIM-GapId-r17 OPTIONAL, -- Need N
+ musim-GapToAddModList-r17 SEQUENCE (SIZE (1..3)) OF MUSIM-Gap-r17 OPTIONAL, -- Need N
+ musim-AperiodicGap-r17 MUSIM-GapInfo-r17 OPTIONAL, -- Need N
+ ...
+}
+MUSIM-Gap-r17 ::= SEQUENCE {
+ musim-GapId-r17 MUSIM-GapId-r17,
+ musim-GapInfo-r17 MUSIM-GapInfo-r17
+
+}
+
+-- TAG-MUSIM-GAPCONFIG-STOP
+-- TAG-MUSIM-GAPID-START
+
+MUSIM-GapId-r17 ::= INTEGER (0..2)
+
+-- TAG-MUSIM-GAPID-STOP
+-- TAG-MUSIM-GAPINFO-START
+
+MUSIM-GapInfo-r17 ::= SEQUENCE {
+ musim-Starting-SFN-AndSubframe-r17 MUSIM-Starting-SFN-AndSubframe-r17 OPTIONAL, -- Cond aperiodic
+ musim-GapLength-r17 ENUMERATED {ms3, ms4, ms6, ms10, ms20} OPTIONAL, -- Cond gapSetup
+ musim-GapRepetitionAndOffset-r17 CHOICE {
+ ms20-r17 INTEGER (0..19),
+ ms40-r17 INTEGER (0..39),
+ ms80-r17 INTEGER (0..79),
+ ms160-r17 INTEGER (0..159),
+ ms320-r17 INTEGER (0..319),
+ ms640-r17 INTEGER (0..639),
+ ms1280-r17 INTEGER (0..1279),
+ ms2560-r17 INTEGER (0..2559),
+ ms5120-r17 INTEGER (0..5119),
+ ...
+ } OPTIONAL -- Cond periodic
+}
+
+MUSIM-Starting-SFN-AndSubframe-r17 ::= SEQUENCE {
+ starting-SFN-r17 INTEGER (0..1023),
+ startingSubframe-r17 INTEGER (0..9)
+}
+
+-- TAG-MUSIM-GAPINFO-STOP
+-- TAG-NeedForGapsConfigNR-START
+
+NeedForGapsConfigNR-r16 ::= SEQUENCE {
+ requestedTargetBandFilterNR-r16 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR OPTIONAL -- Need R
+}
+
+-- TAG-NeedForGapsConfigNR-STOP
+-- TAG-NeedForGapsInfoNR-START
+
+NeedForGapsInfoNR-r16 ::= SEQUENCE {
+ intraFreq-needForGap-r16 NeedForGapsIntraFreqList-r16,
+ interFreq-needForGap-r16 NeedForGapsBandListNR-r16
+}
+
+NeedForGapsIntraFreqList-r16 ::= SEQUENCE (SIZE (1.. maxNrofServingCells)) OF NeedForGapsIntraFreq-r16
+
+NeedForGapsBandListNR-r16 ::= SEQUENCE (SIZE (1..maxBands)) OF NeedForGapsNR-r16
+
+NeedForGapsIntraFreq-r16 ::= SEQUENCE {
+ servCellId-r16 ServCellIndex,
+ gapIndicationIntra-r16 ENUMERATED {gap, no-gap}
+}
+
+NeedForGapsNR-r16 ::= SEQUENCE {
+ bandNR-r16 FreqBandIndicatorNR,
+ gapIndication-r16 ENUMERATED {gap, no-gap}
+}
+
+-- TAG-NeedForGapsInfoNR-STOP
+-- TAG-NeedForGapNCSG-ConfigEUTRA-START
+
+NeedForGapNCSG-ConfigEUTRA-r17 ::= SEQUENCE {
+ requestedTargetBandFilterNCSG-EUTRA-r17 SEQUENCE (SIZE (1..maxBandsEUTRA)) OF FreqBandIndicatorEUTRA OPTIONAL -- Need R
+}
+
+-- TAG-NeedForGapNCSG-ConfigEUTRA-STOP
+-- TAG-NEEDFORGAPNCSG-CONFIGNR-START
+
+NeedForGapNCSG-ConfigNR-r17 ::= SEQUENCE {
+ requestedTargetBandFilterNCSG-NR-r17 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR OPTIONAL -- Need R
+}
+
+-- TAG-NEEDFORGAPNCSG-CONFIGNR-STOP
+-- TAG-NEEDFORGAPNCSG-INFOEUTRA-START
+
+NeedForGapNCSG-InfoEUTRA-r17 ::= SEQUENCE {
+ needForNCSG-EUTRA-r17 SEQUENCE (SIZE (1..maxBandsEUTRA)) OF NeedForNCSG-EUTRA-r17
+}
+
+NeedForNCSG-EUTRA-r17 ::= SEQUENCE {
+ bandEUTRA-r17 FreqBandIndicatorEUTRA,
+ gapIndication-r17 ENUMERATED {gap, ncsg, nogap-noncsg}
+}
+
+-- TAG-NEEDFORGAPNCSG-INFOEUTRA-STOP
+-- TAG-NEEDFORGAPNCSG-INFONR-START
+
+NeedForGapNCSG-InfoNR-r17 ::= SEQUENCE {
+ intraFreq-needForNCSG-r17 NeedForNCSG-IntraFreqList-r17,
+ interFreq-needForNCSG-r17 NeedForNCSG-BandListNR-r17
+}
+
+NeedForNCSG-IntraFreqList-r17 ::= SEQUENCE (SIZE (1.. maxNrofServingCells)) OF NeedForNCSG-IntraFreq-r17
+
+NeedForNCSG-BandListNR-r17 ::= SEQUENCE (SIZE (1..maxBands)) OF NeedForNCSG-NR-r17
+
+NeedForNCSG-IntraFreq-r17 ::= SEQUENCE {
+ servCellId-r17 ServCellIndex,
+ gapIndicationIntra-r17 ENUMERATED {gap, ncsg, nogap-noncsg}
+}
+
+NeedForNCSG-NR-r17 ::= SEQUENCE {
+ bandNR-r17 FreqBandIndicatorNR,
+ gapIndication-r17 ENUMERATED {gap, ncsg, nogap-noncsg}
+}
+
+-- TAG-NEEDFORGAPNCSG-INFONR-STOP
+-- TAG-NEXTHOPCHAININGCOUNT-START
+
+NextHopChainingCount ::= INTEGER (0..7)
+
+-- TAG-NEXTHOPCHAININGCOUNT-STOP
+-- TAG-NG-5G-S-TMSI-START
+
+NG-5G-S-TMSI ::= BIT STRING (SIZE (48))
+
+-- TAG-NG-5G-S-TMSI-STOP
+-- TAG-NONCELLDEFININGSSB-START
+
+NonCellDefiningSSB-r17 ::= SEQUENCE {
+ absoluteFrequencySSB-r17 ARFCN-ValueNR,
+ ssb-Periodicity-r17 ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 } OPTIONAL, -- Need S
+ ssb-TimeOffset-r17 ENUMERATED { ms5, ms10, ms15, ms20, ms40, ms80, spare2, spare1 } OPTIONAL, -- Need S
+ ...
+}
+
+-- TAG-NONCELLDEFININGSSB-STOP
+-- TAG-NPN-IDENTITY-START
+
+NPN-Identity-r16 ::= CHOICE {
+ pni-npn-r16 SEQUENCE {
+ plmn-Identity-r16 PLMN-Identity,
+ cag-IdentityList-r16 SEQUENCE (SIZE (1..maxNPN-r16)) OF CAG-IdentityInfo-r16
+ },
+ snpn-r16 SEQUENCE {
+ plmn-Identity-r16 PLMN-Identity,
+ nid-List-r16 SEQUENCE (SIZE (1..maxNPN-r16)) OF NID-r16
+ }
+}
+
+CAG-IdentityInfo-r16 ::= SEQUENCE {
+ cag-Identity-r16 BIT STRING (SIZE (32)),
+ manualCAGselectionAllowed-r16 ENUMERATED {true} OPTIONAL -- Need R
+}
+
+NID-r16 ::= BIT STRING (SIZE (44))
+
+-- TAG-NPN-IDENTITY-STOP
+-- TAG-NPN-IDENTITYINFOLIST-START
+
+NPN-IdentityInfoList-r16 ::= SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-IdentityInfo-r16
+
+
+NPN-IdentityInfo-r16 ::= SEQUENCE {
+ npn-IdentityList-r16 SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-Identity-r16,
+ trackingAreaCode-r16 TrackingAreaCode,
+ ranac-r16 RAN-AreaCode OPTIONAL, -- Need R
+ cellIdentity-r16 CellIdentity,
+ cellReservedForOperatorUse-r16 ENUMERATED {reserved, notReserved},
+ iab-Support-r16 ENUMERATED {true} OPTIONAL, -- Need S
+ ...,
+ [[
+ gNB-ID-Length-r17 INTEGER (22..32) OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-NPN-IDENTITYINFOLIST-STOP
+-- TAG-NR-DL-PRS-PDC-INFO-START
+
+NR-DL-PRS-PDC-Info-r17 ::= SEQUENCE {
+ nr-DL-PRS-PDC-ResourceSet-r17 NR-DL-PRS-PDC-ResourceSet-r17 OPTIONAL, -- Need R
+ ...
+}
+
+NR-DL-PRS-PDC-ResourceSet-r17 ::= SEQUENCE {
+ periodicityAndOffset-r17 NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r17,
+ numSymbols-r17 ENUMERATED {n2, n4, n6, n12, spare4, spare3, spare2, spare1},
+ dl-PRS-ResourceBandwidth-r17 INTEGER (1..63),
+ dl-PRS-StartPRB-r17 INTEGER (0..2176),
+ resourceList-r17 SEQUENCE (SIZE (1..maxNrofPRS-ResourcesPerSet-r17)) OF NR-DL-PRS-Resource-r17,
+ repFactorAndTimeGap-r17 RepFactorAndTimeGap-r17 OPTIONAL, -- Need S
+ ...
+}
+
+NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r17 ::= CHOICE {
+ scs15-r17 CHOICE {
+ n4-r17 INTEGER (0..3),
+ n5-r17 INTEGER (0..4),
+ n8-r17 INTEGER (0..7),
+ n10-r17 INTEGER (0..9),
+ n16-r17 INTEGER (0..15),
+ n20-r17 INTEGER (0..19),
+ n32-r17 INTEGER (0..31),
+ n40-r17 INTEGER (0..39),
+ n64-r17 INTEGER (0..63),
+ n80-r17 INTEGER (0..79),
+ n160-r17 INTEGER (0..159),
+ n320-r17 INTEGER (0..319),
+ n640-r17 INTEGER (0..639),
+ n1280-r17 INTEGER (0..1279),
+ n2560-r17 INTEGER (0..2559),
+ n5120-r17 INTEGER (0..5119),
+ n10240-r17 INTEGER (0..10239),
+ ...
+ },
+ scs30-r17 CHOICE {
+ n8-r17 INTEGER (0..7),
+ n10-r17 INTEGER (0..9),
+ n16-r17 INTEGER (0..15),
+ n20-r17 INTEGER (0..19),
+ n32-r17 INTEGER (0..31),
+ n40-r17 INTEGER (0..39),
+ n64-r17 INTEGER (0..63),
+ n80-r17 INTEGER (0..79),
+ n128-r17 INTEGER (0..127),
+ n160-r17 INTEGER (0..159),
+ n320-r17 INTEGER (0..319),
+ n640-r17 INTEGER (0..639),
+ n1280-r17 INTEGER (0..1279),
+ n2560-r17 INTEGER (0..2559),
+ n5120-r17 INTEGER (0..5119),
+ n10240-r17 INTEGER (0..10239),
+ n20480-r17 INTEGER (0..20479),
+ ...
+ },
+ scs60-r17 CHOICE {
+ n16-r17 INTEGER (0..15),
+ n20-r17 INTEGER (0..19),
+ n32-r17 INTEGER (0..31),
+ n40-r17 INTEGER (0..39),
+ n64-r17 INTEGER (0..63),
+ n80-r17 INTEGER (0..79),
+ n128-r17 INTEGER (0..127),
+ n160-r17 INTEGER (0..159),
+ n256-r17 INTEGER (0..255),
+ n320-r17 INTEGER (0..319),
+ n640-r17 INTEGER (0..639),
+ n1280-r17 INTEGER (0..1279),
+ n2560-r17 INTEGER (0..2559),
+ n5120-r17 INTEGER (0..5119),
+ n10240-r17 INTEGER (0..10239),
+ n20480-r17 INTEGER (0..20479),
+ n40960-r17 INTEGER (0..40959),
+ ...
+ },
+ scs120-r17 CHOICE {
+ n32-r17 INTEGER (0..31),
+ n40-r17 INTEGER (0..39),
+ n64-r17 INTEGER (0..63),
+ n80-r17 INTEGER (0..79),
+ n128-r17 INTEGER (0..127),
+ n160-r17 INTEGER (0..159),
+ n256-r17 INTEGER (0..255),
+ n320-r17 INTEGER (0..319),
+ n512-r17 INTEGER (0..511),
+ n640-r17 INTEGER (0..639),
+ n1280-r17 INTEGER (0..1279),
+ n2560-r17 INTEGER (0..2559),
+ n5120-r17 INTEGER (0..5119),
+ n10240-r17 INTEGER (0..10239),
+ n20480-r17 INTEGER (0..20479),
+ n40960-r17 INTEGER (0..40959),
+ n81920-r17 INTEGER (0..81919),
+ ...
+ },
+ ...
+}
+
+NR-DL-PRS-Resource-r17 ::= SEQUENCE {
+ nr-DL-PRS-ResourceID-r17 NR-DL-PRS-ResourceID-r17,
+ dl-PRS-SequenceID-r17 INTEGER (0..4095),
+ dl-PRS-CombSizeN-AndReOffset-r17 CHOICE {
+ n2-r17 INTEGER (0..1),
+ n4-r17 INTEGER (0..3),
+ n6-r17 INTEGER (0..5),
+ n12-r17 INTEGER (0..11),
+ ...
+ },
+ dl-PRS-ResourceSlotOffset-r17 INTEGER (0..maxNrofPRS-ResourceOffsetValue-1-r17),
+ dl-PRS-ResourceSymbolOffset-r17 INTEGER (0..12),
+ dl-PRS-QCL-Info-r17 DL-PRS-QCL-Info-r17 OPTIONAL, -- Need N
+ ...
+}
+
+DL-PRS-QCL-Info-r17 ::= CHOICE {
+ ssb-r17 SEQUENCE {
+ ssb-Index-r17 INTEGER (0..63),
+ rs-Type-r17 ENUMERATED {typeC, typeD, typeC-plus-typeD},
+ ...
+ },
+ dl-PRS-r17 SEQUENCE {
+ qcl-DL-PRS-ResourceID-r17 NR-DL-PRS-ResourceID-r17,
+ ...
+ },
+ ...
+}
+
+NR-DL-PRS-ResourceID-r17 ::= INTEGER (0..maxNrofPRS-ResourcesPerSet-1-r17)
+
+RepFactorAndTimeGap-r17 ::= SEQUENCE {
+ repetitionFactor-r17 ENUMERATED {n2, n4, n6, n8, n16, n32, spare2, spare1},
+ timeGap-r17 ENUMERATED {s1, s2, s4, s8, s16, s32, spare2, spare1}
+}
+
+-- TAG-NR-DL-PRS-PDC-INFO-STOP
+-- TAG-NR-NS-PMAXLIST-START
+
+NR-NS-PmaxList ::= SEQUENCE (SIZE (1..maxNR-NS-Pmax)) OF NR-NS-PmaxValue
+
+NR-NS-PmaxValue ::= SEQUENCE {
+ additionalPmax P-Max OPTIONAL, -- Need N
+ additionalSpectrumEmission AdditionalSpectrumEmission
+}
+
+-- TAG-NR-NS-PMAXLIST-STOP
+-- TAG-NSAG-ID-START
+
+NSAG-ID-r17 ::= BIT STRING (SIZE (8))
+
+-- TAG-NSAG-ID-STOP
+-- TAG-NSAG-IDENTITYINFO-START
+
+NSAG-IdentityInfo-r17 ::= SEQUENCE {
+ nsag-ID-r17 NSAG-ID-r17,
+ trackingAreaCode-r17 TrackingAreaCode OPTIONAL -- Need R
+}
+
+-- TAG-NSAG-IDENTITYINFO-STOP
+-- TAG-NTN-CONFIG-START
+
+NTN-Config-r17 ::= SEQUENCE {
+ epochTime-r17 EpochTime-r17 OPTIONAL, -- Need R
+ ntn-UlSyncValidityDuration-r17 ENUMERATED{ s5, s10, s15, s20, s25, s30, s35,
+ s40, s45, s50, s55, s60, s120, s180, s240, s900} OPTIONAL, -- Cond SIB19
+ cellSpecificKoffset-r17 INTEGER(1..1023) OPTIONAL, -- Need R
+ kmac-r17 INTEGER(1..512) OPTIONAL, -- Need R
+ ta-Info-r17 TA-Info-r17 OPTIONAL, -- Need R
+ ntn-PolarizationDL-r17 ENUMERATED {rhcp,lhcp,linear} OPTIONAL, -- Need R
+ ntn-PolarizationUL-r17 ENUMERATED {rhcp,lhcp,linear} OPTIONAL, -- Need R
+ ephemerisInfo-r17 EphemerisInfo-r17 OPTIONAL, -- Need R
+ ta-Report-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ ...
+}
+
+EpochTime-r17 ::= SEQUENCE {
+ sfn-r17 INTEGER(0..1023),
+ subFrameNR-r17 INTEGER(0..9)
+}
+
+TA-Info-r17 ::= SEQUENCE {
+ ta-Common-r17 INTEGER(0..66485757),
+ ta-CommonDrift-r17 INTEGER(-257303..257303) OPTIONAL, -- Need R
+ ta-CommonDriftVariant-r17 INTEGER(0..28949) OPTIONAL -- Need R
+}
+
+-- TAG-NTN-CONFIG-STOP
+-- TAG-NZP-CSI-RS-RESOURCE-START
+
+NZP-CSI-RS-Resource ::= SEQUENCE {
+ nzp-CSI-RS-ResourceId NZP-CSI-RS-ResourceId,
+ resourceMapping CSI-RS-ResourceMapping,
+ powerControlOffset INTEGER (-8..15),
+ powerControlOffsetSS ENUMERATED{db-3, db0, db3, db6} OPTIONAL, -- Need R
+ scramblingID ScramblingId,
+ periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, -- Cond PeriodicOrSemiPersistent
+ qcl-InfoPeriodicCSI-RS TCI-StateId OPTIONAL, -- Cond Periodic
+ ...
+}
+
+-- TAG-NZP-CSI-RS-RESOURCE-STOP
+-- TAG-NZP-CSI-RS-RESOURCEID-START
+
+NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1)
+
+-- TAG-NZP-CSI-RS-RESOURCEID-STOP
+-- TAG-NZP-CSI-RS-RESOURCESET-START
+
+NZP-CSI-RS-ResourceSet ::= SEQUENCE {
+ nzp-CSI-ResourceSetId NZP-CSI-RS-ResourceSetId,
+ nzp-CSI-RS-Resources SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerSet)) OF NZP-CSI-RS-ResourceId,
+ repetition ENUMERATED { on, off } OPTIONAL, -- Need S
+ aperiodicTriggeringOffset INTEGER(0..6) OPTIONAL, -- Need S
+ trs-Info ENUMERATED {true} OPTIONAL, -- Need R
+ ...,
+ [[
+ aperiodicTriggeringOffset-r16 INTEGER(0..31) OPTIONAL -- Need S
+ ]],
+ [[
+ pdc-Info-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ cmrGroupingAndPairing-r17 CMRGroupingAndPairing-r17 OPTIONAL, -- Need R
+ aperiodicTriggeringOffset-r17 INTEGER (0..124) OPTIONAL, -- Need S
+ aperiodicTriggeringOffsetL2-r17 INTEGER(0..31) OPTIONAL -- Need R
+ ]]
+}
+
+CMRGroupingAndPairing-r17 ::= SEQUENCE {
+ nrofResourcesGroup1-r17 INTEGER (1..7),
+ pair1OfNZP-CSI-RS-r17 NZP-CSI-RS-Pairing-r17 OPTIONAL, -- Need R
+ pair2OfNZP-CSI-RS-r17 NZP-CSI-RS-Pairing-r17 OPTIONAL -- Need R
+}
+
+NZP-CSI-RS-Pairing-r17 ::= SEQUENCE {
+ nzp-CSI-RS-ResourceId1-r17 INTEGER (1..7),
+ nzp-CSI-RS-ResourceId2-r17 INTEGER (1..7)
+}
+
+-- TAG-NZP-CSI-RS-RESOURCESET-STOP
+-- TAG-NZP-CSI-RS-RESOURCESETID-START
+
+NZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofNZP-CSI-RS-ResourceSets-1)
+
+-- TAG-NZP-CSI-RS-RESOURCESETID-STOP
+-- TAG-P-MAX-START
+
+P-Max ::= INTEGER (-30..33)
+
+-- TAG-P-MAX-STOP
+-- TAG-PATHLOSSREFERENCERS-START
+
+PathlossReferenceRS-r17 ::= SEQUENCE {
+ pathlossReferenceRS-Id-r17 PathlossReferenceRS-Id-r17,
+ referenceSignal-r17 CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ },
+ additionalPCI-r17 AdditionalPCIIndex-r17 OPTIONAL -- Cond RS-SSB
+}
+
+
+-- TAG-PATHLOSSREFERENCERS-STOP
+-- TAG-PATHLOSSREFERENCERS-ID-START
+
+PathlossReferenceRS-Id-r17 ::= INTEGER (0..maxNrofPathlossReferenceRSs-1-r17)
+
+-- TAG-PATHLOSSREFERENCERS-ID-STOP
+-- TAG-PCIARFCNEUTRA-START
+
+PCI-ARFCN-EUTRA-r16 ::= SEQUENCE {
+ physCellId-r16 EUTRA-PhysCellId,
+ carrierFreq-r16 ARFCN-ValueEUTRA
+}
+
+-- TAG-PCIARFCNEUTRA-STOP
+-- TAG-PCIARFCNNR-START
+
+PCI-ARFCN-NR-r16 ::= SEQUENCE {
+ physCellId-r16 PhysCellId,
+ carrierFreq-r16 ARFCN-ValueNR
+}
+
+-- TAG-PCIARFCNNR-STOP
+-- TAG-PCI-LIST-START
+
+PCI-List ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF PhysCellId
+
+-- TAG-PCI-LIST-STOP
+-- TAG-PCI-RANGE-START
+
+PCI-Range ::= SEQUENCE {
+ start PhysCellId,
+ range ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64, n84,
+ n96, n128, n168, n252, n504, n1008,spare1} OPTIONAL -- Need S
+}
+
+-- TAG-PCI-RANGE-STOP
+-- TAG-PCI-RANGEELEMENT-START
+
+PCI-RangeElement ::= SEQUENCE {
+ pci-RangeIndex PCI-RangeIndex,
+ pci-Range PCI-Range
+}
+
+-- TAG-PCI-RANGEELEMENT-STOP
+-- TAG-PCI-RANGEINDEX-START
+
+PCI-RangeIndex ::= INTEGER (1..maxNrofPCI-Ranges)
+
+-- TAG-PCI-RANGEINDEX-STOP
+-- TAG-PCI-RANGEINDEXLIST-START
+
+PCI-RangeIndexList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeIndex
+
+-- TAG-PCI-RANGEINDEXLIST-STOP
+-- TAG-PDCCH-CONFIG-START
+
+PDCCH-Config ::= SEQUENCE {
+ controlResourceSetToAddModList SEQUENCE(SIZE (1..3)) OF ControlResourceSet OPTIONAL, -- Need N
+ controlResourceSetToReleaseList SEQUENCE(SIZE (1..3)) OF ControlResourceSetId OPTIONAL, -- Need N
+ searchSpacesToAddModList SEQUENCE(SIZE (1..10)) OF SearchSpace OPTIONAL, -- Need N
+ searchSpacesToReleaseList SEQUENCE(SIZE (1..10)) OF SearchSpaceId OPTIONAL, -- Need N
+ downlinkPreemption CHOICE {release NULL, setup DownlinkPreemption } OPTIONAL, -- Need M
+ tpc-PUSCH CHOICE {release NULL, setup PUSCH-TPC-CommandConfig } OPTIONAL, -- Need M
+ tpc-PUCCH CHOICE {release NULL, setup PUCCH-TPC-CommandConfig } OPTIONAL, -- Need M
+ tpc-SRS CHOICE {release NULL, setup SRS-TPC-CommandConfig} OPTIONAL, -- Need M
+ ...,
+ [[
+ controlResourceSetToAddModListSizeExt-v1610 SEQUENCE (SIZE (1..2)) OF ControlResourceSet OPTIONAL, -- Need N
+ controlResourceSetToReleaseListSizeExt-r16 SEQUENCE (SIZE (1..5)) OF ControlResourceSetId-r16 OPTIONAL, -- Need N
+ searchSpacesToAddModListExt-r16 SEQUENCE(SIZE (1..10)) OF SearchSpaceExt-r16 OPTIONAL, -- Need N
+ uplinkCancellation-r16 CHOICE {release NULL, setup UplinkCancellation-r16 } OPTIONAL, -- Need M
+ monitoringCapabilityConfig-r16 ENUMERATED { r15monitoringcapability,r16monitoringcapability } OPTIONAL, -- Need M
+ searchSpaceSwitchConfig-r16 SearchSpaceSwitchConfig-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ searchSpacesToAddModListExt-v1700 SEQUENCE(SIZE (1..10)) OF SearchSpaceExt-v1700 OPTIONAL, -- Need N
+ monitoringCapabilityConfig-v1710 ENUMERATED { r17monitoringcapability } OPTIONAL, -- Need M
+ searchSpaceSwitchConfig-r17 SearchSpaceSwitchConfig-r17 OPTIONAL, -- Need R
+ pdcch-SkippingDurationList-r17 SEQUENCE(SIZE (1..3)) OF SCS-SpecificDuration-r17 OPTIONAL -- Need R
+ ]]
+}
+
+SearchSpaceSwitchConfig-r16 ::= SEQUENCE {
+ cellGroupsForSwitchList-r16 SEQUENCE(SIZE (1..4)) OF CellGroupForSwitch-r16 OPTIONAL, -- Need R
+ searchSpaceSwitchDelay-r16 INTEGER (10..52) OPTIONAL -- Need R
+}
+
+SearchSpaceSwitchConfig-r17 ::= SEQUENCE {
+ searchSpaceSwitchTimer-r17 SCS-SpecificDuration-r17 OPTIONAL, -- Need R
+ searchSpaceSwitchDelay-r17 INTEGER (10..52) OPTIONAL -- Need R
+}
+
+CellGroupForSwitch-r16 ::= SEQUENCE(SIZE (1..16)) OF ServCellIndex
+
+SCS-SpecificDuration-r17 ::= INTEGER (1..166)
+
+-- TAG-PDCCH-CONFIG-STOP
+-- TAG-PDCCH-CONFIGCOMMON-START
+
+PDCCH-ConfigCommon ::= SEQUENCE {
+ controlResourceSetZero ControlResourceSetZero OPTIONAL, -- Cond InitialBWP-Only
+ commonControlResourceSet ControlResourceSet OPTIONAL, -- Need R
+ searchSpaceZero SearchSpaceZero OPTIONAL, -- Cond InitialBWP-Only
+ commonSearchSpaceList SEQUENCE (SIZE(1..4)) OF SearchSpace OPTIONAL, -- Need R
+ searchSpaceSIB1 SearchSpaceId OPTIONAL, -- Need S
+ searchSpaceOtherSystemInformation SearchSpaceId OPTIONAL, -- Need S
+ pagingSearchSpace SearchSpaceId OPTIONAL, -- Need S
+ ra-SearchSpace SearchSpaceId OPTIONAL, -- Need S
+ ...,
+ [[
+ firstPDCCH-MonitoringOccasionOfPO CHOICE {
+ sCS15KHZoneT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..139),
+ sCS30KHZoneT-SCS15KHZhalfT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..279),
+ sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..559),
+ sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..1119),
+ sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..2239),
+ sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..4479),
+ sCS120KHZoneEighthT-SCS60KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..8959),
+ sCS120KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..17919)
+ } OPTIONAL -- Cond OtherBWP
+ ]],
+ [[
+ commonSearchSpaceListExt-r16 SEQUENCE (SIZE(1..4)) OF SearchSpaceExt-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ sdt-SearchSpace-r17 CHOICE {
+ newSearchSpace SearchSpace,
+ existingSearchSpace SearchSpaceId
+ } OPTIONAL, -- Need R
+ searchSpaceMCCH-r17 SearchSpaceId OPTIONAL, -- Need R
+ searchSpaceMTCH-r17 SearchSpaceId OPTIONAL, -- Need S
+ commonSearchSpaceListExt2-r17 SEQUENCE (SIZE(1..4)) OF SearchSpaceExt-v1700 OPTIONAL, -- Need R
+ firstPDCCH-MonitoringOccasionOfPO-v1710 CHOICE {
+ sCS480KHZoneEighthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..35839),
+ sCS480KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..71679)
+ } OPTIONAL, -- Need R
+ pei-ConfigBWP-r17 SEQUENCE {
+ pei-SearchSpace-r17 SearchSpaceId,
+ firstPDCCH-MonitoringOccasionOfPEI-O-r17 CHOICE {
+ sCS15KHZoneT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..139),
+ sCS30KHZoneT-SCS15KHZhalfT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..279),
+ sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..559),
+ sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..1119),
+ sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..2239),
+ sCS480KHZoneT-SCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..4479),
+ sCS480KHZhalfT-SCS120KHZoneEighthT-SCS60KHZoneSixteenthT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..8959),
+ sCS480KHZquarterT-SCS120KHZoneSixteenthT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..17919),
+ sCS480KHZoneEighthT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..35839),
+ sCS480KHZoneSixteenthT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..71679)
+ }
+ } OPTIONAL -- Cond InitialBWP-Paging
+ ]],
+ [[
+ followUnifiedTCI-State-v1720 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-PDCCH-CONFIGCOMMON-STOP
+-- TAG-PDCCH-CONFIGSIB1-START
+
+PDCCH-ConfigSIB1 ::= SEQUENCE {
+ controlResourceSetZero ControlResourceSetZero,
+ searchSpaceZero SearchSpaceZero
+}
+
+-- TAG-PDCCH-CONFIGSIB1-STOP
+-- TAG-PDCCH-SERVINGCELLCONFIG-START
+
+PDCCH-ServingCellConfig ::= SEQUENCE {
+ slotFormatIndicator CHOICE {release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M
+ ...,
+ [[
+ availabilityIndicator-r16 CHOICE {release NULL, setup AvailabilityIndicator-r16} OPTIONAL, -- Need M
+ searchSpaceSwitchTimer-r16 INTEGER (1..80) OPTIONAL -- Need R
+ ]],
+ [[
+ searchSpaceSwitchTimer-v1710 INTEGER (81..1280) OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-PDCCH-SERVINGCELLCONFIG-STOP
+-- TAG-PDCP-CONFIG-START
+
+PDCP-Config ::= SEQUENCE {
+ drb SEQUENCE {
+ discardTimer ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200,
+ ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, -- Cond Setup
+ pdcp-SN-SizeUL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup1
+ pdcp-SN-SizeDL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
+ headerCompression CHOICE {
+ notUsed NULL,
+ rohc SEQUENCE {
+ maxCID INTEGER (1..16383) DEFAULT 15,
+ profiles SEQUENCE {
+ profile0x0001 BOOLEAN,
+ profile0x0002 BOOLEAN,
+ profile0x0003 BOOLEAN,
+ profile0x0004 BOOLEAN,
+ profile0x0006 BOOLEAN,
+ profile0x0101 BOOLEAN,
+ profile0x0102 BOOLEAN,
+ profile0x0103 BOOLEAN,
+ profile0x0104 BOOLEAN
+ },
+ drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N
+ },
+ uplinkOnlyROHC SEQUENCE {
+ maxCID INTEGER (1..16383) DEFAULT 15,
+ profiles SEQUENCE {
+ profile0x0006 BOOLEAN
+ },
+ drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N
+ },
+ ...
+ },
+ integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC1
+ statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM-UM
+ outOfOrderDelivery ENUMERATED { true } OPTIONAL -- Need R
+ } OPTIONAL, -- Cond DRB
+ moreThanOneRLC SEQUENCE {
+ primaryPath SEQUENCE {
+ cellGroup CellGroupId OPTIONAL, -- Need R
+ logicalChannel LogicalChannelIdentity OPTIONAL -- Need R
+ },
+ ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer
+ pdcp-Duplication BOOLEAN OPTIONAL -- Need R
+ } OPTIONAL, -- Cond MoreThanOneRLC
+
+ t-Reordering ENUMERATED {
+ ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40,
+ ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220,
+ ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250,
+ ms1500, ms1750, ms2000, ms2250, ms2500, ms2750,
+ ms3000, spare28, spare27, spare26, spare25, spare24,
+ spare23, spare22, spare21, spare20,
+ spare19, spare18, spare17, spare16, spare15, spare14,
+ spare13, spare12, spare11, spare10, spare09,
+ spare08, spare07, spare06, spare05, spare04, spare03,
+ spare02, spare01 } OPTIONAL, -- Need S
+ ...,
+ [[
+ cipheringDisabled ENUMERATED {true} OPTIONAL -- Cond ConnectedTo5GC
+ ]],
+ [[
+ discardTimerExt-r16 CHOICE {release NULL, setup DiscardTimerExt-r16 } OPTIONAL, -- Cond DRB2
+ moreThanTwoRLC-DRB-r16 SEQUENCE {
+ splitSecondaryPath-r16 LogicalChannelIdentity OPTIONAL, -- Cond SplitBearer2
+ duplicationState-r16 SEQUENCE (SIZE (3)) OF BOOLEAN OPTIONAL -- Need S
+ } OPTIONAL, -- Cond MoreThanTwoRLC-DRB
+ ethernetHeaderCompression-r16 CHOICE {release NULL, setup EthernetHeaderCompression-r16 } OPTIONAL -- Need M
+ ]],
+ [[
+ survivalTimeStateSupport-r17 ENUMERATED {true} OPTIONAL, -- Cond Drb-Duplication
+ uplinkDataCompression-r17 CHOICE {release NULL, setup UplinkDataCompression-r17 } OPTIONAL, -- Cond Rlc-AM
+ discardTimerExt2-r17 CHOICE {release NULL, setup DiscardTimerExt2-r17 } OPTIONAL, -- Need M
+ initialRX-DELIV-r17 BIT STRING (SIZE (32)) OPTIONAL -- Cond MRB-Initialization
+ ]]
+}
+
+EthernetHeaderCompression-r16 ::= SEQUENCE {
+ ehc-Common-r16 SEQUENCE {
+ ehc-CID-Length-r16 ENUMERATED { bits7, bits15 },
+ ...
+ },
+ ehc-Downlink-r16 SEQUENCE {
+ drb-ContinueEHC-DL-r16 ENUMERATED { true } OPTIONAL, -- Need N
+ ...
+ } OPTIONAL, -- Need M
+ ehc-Uplink-r16 SEQUENCE {
+ maxCID-EHC-UL-r16 INTEGER (1..32767),
+ drb-ContinueEHC-UL-r16 ENUMERATED { true } OPTIONAL, -- Need N
+ ...
+ } OPTIONAL -- Need M
+}
+
+UL-DataSplitThreshold ::= ENUMERATED {
+ b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400, b204800,
+ b409600, b819200, b1228800, b1638400, b2457600, b3276800, b4096000, b4915200, b5734400,
+ b6553600, infinity, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+
+DiscardTimerExt-r16 ::= ENUMERATED {ms0dot5, ms1, ms2, ms4, ms6, ms8, spare2, spare1}
+
+DiscardTimerExt2-r17 ::= ENUMERATED {ms2000, spare3, spare2, spare1}
+
+UplinkDataCompression-r17 ::= CHOICE {
+ newSetup SEQUENCE {
+ bufferSize-r17 ENUMERATED {kbyte2, kbyte4, kbyte8, spare1},
+ dictionary-r17 ENUMERATED {sip-SDP, operator} OPTIONAL -- Need N
+ },
+ drb-ContinueUDC NULL
+}
+
+-- TAG-PDCP-CONFIG-STOP
+-- TAG-PDSCH-CONFIG-START
+
+PDSCH-Config ::= SEQUENCE {
+ dataScramblingIdentityPDSCH INTEGER (0..1023) OPTIONAL, -- Need S
+ dmrs-DownlinkForPDSCH-MappingTypeA CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M
+ dmrs-DownlinkForPDSCH-MappingTypeB CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M
+
+ tci-StatesToAddModList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-State OPTIONAL, -- Need N
+ tci-StatesToReleaseList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-StateId OPTIONAL, -- Need N
+ vrb-ToPRB-Interleaver ENUMERATED {n2, n4} OPTIONAL, -- Need S
+ resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch},
+ pdsch-TimeDomainAllocationList CHOICE {release NULL, setup PDSCH-TimeDomainResourceAllocationList } OPTIONAL, -- Need M
+ pdsch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S
+ rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N
+ rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N
+ rateMatchPatternGroup1 RateMatchPatternGroup OPTIONAL, -- Need R
+ rateMatchPatternGroup2 RateMatchPatternGroup OPTIONAL, -- Need R
+
+ rbg-Size ENUMERATED {config1, config2},
+ mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ maxNrofCodeWordsScheduledByDCI ENUMERATED {n1, n2} OPTIONAL, -- Need R
+
+ prb-BundlingType CHOICE {
+ staticBundling SEQUENCE {
+ bundleSize ENUMERATED { n4, wideband } OPTIONAL -- Need S
+ },
+ dynamicBundling SEQUENCE {
+ bundleSizeSet1 ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL, -- Need S
+ bundleSizeSet2 ENUMERATED { n4, wideband } OPTIONAL -- Need S
+ }
+ },
+ zp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-Resource
+ OPTIONAL, -- Need N
+ zp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-ResourceId
+ OPTIONAL, -- Need N
+ aperiodic-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet
+ OPTIONAL, -- Need N
+ aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId
+ OPTIONAL, -- Need N
+ sp-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet
+ OPTIONAL, -- Need N
+ sp-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId
+ OPTIONAL, -- Need N
+ p-ZP-CSI-RS-ResourceSet CHOICE {release NULL, setup ZP-CSI-RS-ResourceSet }
+ OPTIONAL, -- Need M
+ ...,
+ [[
+ maxMIMO-Layers-r16 CHOICE {release NULL, setup MaxMIMO-LayersDL-r16 } OPTIONAL, -- Need M
+ minimumSchedulingOffsetK0-r16 CHOICE {release NULL, setup MinSchedulingOffsetK0-Values-r16 } OPTIONAL, -- Need M
+
+ -- Start of the parameters for DCI format 1_2 introduced in V16.1.0
+ antennaPortsFieldPresenceDCI-1-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ aperiodicZP-CSI-RS-ResourceSetsToAddModListDCI-1-2-r16 SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet
+ OPTIONAL, -- Need N
+ aperiodicZP-CSI-RS-ResourceSetsToReleaseListDCI-1-2-r16 SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId
+ OPTIONAL, -- Need N
+ dmrs-DownlinkForPDSCH-MappingTypeA-DCI-1-2-r16 CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M
+ dmrs-DownlinkForPDSCH-MappingTypeB-DCI-1-2-r16 CHOICE {release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M
+ dmrs-SequenceInitializationDCI-1-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ harq-ProcessNumberSizeDCI-1-2-r16 INTEGER (0..4) OPTIONAL, -- Need R
+ mcs-TableDCI-1-2-r16 ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ numberOfBitsForRV-DCI-1-2-r16 INTEGER (0..2) OPTIONAL, -- Need R
+ pdsch-TimeDomainAllocationListDCI-1-2-r16 CHOICE {release NULL, setup PDSCH-TimeDomainResourceAllocationList-r16 }
+ OPTIONAL, -- Need M
+ prb-BundlingTypeDCI-1-2-r16 CHOICE {
+ staticBundling-r16 SEQUENCE {
+ bundleSize-r16 ENUMERATED { n4, wideband } OPTIONAL -- Need S
+ },
+ dynamicBundling-r16 SEQUENCE {
+ bundleSizeSet1-r16 ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL, -- Need S
+ bundleSizeSet2-r16 ENUMERATED { n4, wideband } OPTIONAL -- Need S
+ }
+ } OPTIONAL, -- Need R
+ priorityIndicatorDCI-1-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ rateMatchPatternGroup1DCI-1-2-r16 RateMatchPatternGroup OPTIONAL, -- Need R
+ rateMatchPatternGroup2DCI-1-2-r16 RateMatchPatternGroup OPTIONAL, -- Need R
+ resourceAllocationType1GranularityDCI-1-2-r16 ENUMERATED {n2,n4,n8,n16} OPTIONAL, -- Need S
+ vrb-ToPRB-InterleaverDCI-1-2-r16 ENUMERATED {n2, n4} OPTIONAL, -- Need S
+ referenceOfSLIVDCI-1-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ resourceAllocationDCI-1-2-r16 ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}
+ OPTIONAL, -- Need M
+ -- End of the parameters for DCI format 1_2 introduced in V16.1.0
+
+ priorityIndicatorDCI-1-1-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ dataScramblingIdentityPDSCH2-r16 INTEGER (0..1023) OPTIONAL, -- Need R
+ pdsch-TimeDomainAllocationList-r16 CHOICE {release NULL, setup PDSCH-TimeDomainResourceAllocationList-r16 } OPTIONAL, -- Need M
+ repetitionSchemeConfig-r16 CHOICE {release NULL, setup RepetitionSchemeConfig-r16} OPTIONAL -- Need M
+ ]],
+ [[
+ repetitionSchemeConfig-v1630 CHOICE {release NULL, setup RepetitionSchemeConfig-v1630} OPTIONAL -- Need M
+ ]],
+ [[
+ pdsch-HARQ-ACK-OneShotFeedbackDCI-1-2-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pdsch-HARQ-ACK-EnhType3DCI-1-2-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pdsch-HARQ-ACK-EnhType3DCI-Field-1-2-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pdsch-HARQ-ACK-RetxDCI-1-2-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pucch-sSCellDynDCI-1-2-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ dl-OrJointTCI-StateList-r17 CHOICE {
+ explicitlist SEQUENCE {
+ dl-OrJointTCI-StateToAddModList-r17 SEQUENCE (SIZE (1..maxNrofTCI-States)) OF TCI-State
+ OPTIONAL, -- Need N
+ dl-OrJointTCI-StateToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofTCI-States)) OF TCI-StateId
+ OPTIONAL -- Need N
+ },
+ unifiedTCI-StateRef-r17 ServingCellAndBWP-Id-r17
+ } OPTIONAL, -- Need R
+ beamAppTime-r17 ENUMERATED {n1, n2, n4, n7, n14, n28, n42, n56, n70, n84, n98, n112, n224, n336, spare2,
+ spare1} OPTIONAL, -- Need R
+ dummy CHOICE {release NULL, setup Dummy-TDRA-List } OPTIONAL, -- Need M
+ dmrs-FD-OCC-DisabledForRank1-PDSCH-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ minimumSchedulingOffsetK0-r17 CHOICE {release NULL, setup MinSchedulingOffsetK0-Values-r17 } OPTIONAL, -- Need M
+ harq-ProcessNumberSizeDCI-1-2-v1700 INTEGER (0..5) OPTIONAL, -- Need R
+ harq-ProcessNumberSizeDCI-1-1-r17 INTEGER (5) OPTIONAL, -- Need R
+ mcs-Table-r17 ENUMERATED {qam1024} OPTIONAL, -- Need R
+ mcs-TableDCI-1-2-r17 ENUMERATED {qam1024} OPTIONAL, -- Need R
+ xOverheadMulticast-r17 ENUMERATED {xOh6, xOh12, xOh18} OPTIONAL, -- Need S
+ priorityIndicatorDCI-4-2-r17 ENUMERATED {enabled} OPTIONAL, -- Need S
+ sizeDCI-4-2-r17 INTEGER (20..maxDCI-4-2-Size-r17) OPTIONAL -- Need R
+ ]],
+ [[
+ pdsch-TimeDomainAllocationListForMultiPDSCH-r17 CHOICE {release NULL, setup MultiPDSCH-TDRA-List-r17 } OPTIONAL -- Need M
+ ]]
+}
+
+RateMatchPatternGroup ::= SEQUENCE (SIZE (1..maxNrofRateMatchPatternsPerGroup)) OF CHOICE {
+ cellLevel RateMatchPatternId,
+ bwpLevel RateMatchPatternId
+}
+
+MinSchedulingOffsetK0-Values-r16 ::= SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK0-SchedulingOffset-r16)
+
+MinSchedulingOffsetK0-Values-r17 ::= SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK0-SchedulingOffset-r17)
+
+MaxMIMO-LayersDL-r16 ::= INTEGER (1..8)
+
+-- TAG-PDSCH-CONFIG-STOP
+-- TAG-PDSCH-CONFIGCOMMON-START
+
+PDSCH-ConfigCommon ::= SEQUENCE {
+ pdsch-TimeDomainAllocationList PDSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-PDSCH-CONFIGCOMMON-STOP
+-- TAG-PDSCH-SERVINGCELLCONFIG-START
+
+PDSCH-ServingCellConfig ::= SEQUENCE {
+ codeBlockGroupTransmission CHOICE {release NULL, setup PDSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M
+ xOverhead ENUMERATED { xOh6, xOh12, xOh18 } OPTIONAL, -- Need S
+ nrofHARQ-ProcessesForPDSCH ENUMERATED {n2, n4, n6, n10, n12, n16} OPTIONAL, -- Need S
+ pucch-Cell ServCellIndex OPTIONAL, -- Cond SCellAddOnly
+ ...,
+ [[
+ maxMIMO-Layers INTEGER (1..8) OPTIONAL, -- Need M
+ processingType2Enabled BOOLEAN OPTIONAL -- Need M
+ ]],
+ [[
+ pdsch-CodeBlockGroupTransmissionList-r16 CHOICE {release NULL, setup PDSCH-CodeBlockGroupTransmissionList-r16 } OPTIONAL -- Need M
+ ]],
+ [[
+ downlinkHARQ-FeedbackDisabled-r17 CHOICE {release NULL, setup DownlinkHARQ-FeedbackDisabled-r17 } OPTIONAL, -- Need M
+ nrofHARQ-ProcessesForPDSCH-v1700 ENUMERATED {n32} OPTIONAL -- Need R
+ ]]
+}
+
+PDSCH-CodeBlockGroupTransmission ::= SEQUENCE {
+ maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},
+ codeBlockGroupFlushIndicator BOOLEAN,
+ ...
+}
+
+PDSCH-CodeBlockGroupTransmissionList-r16 ::= SEQUENCE (SIZE (1..2)) OF PDSCH-CodeBlockGroupTransmission
+
+DownlinkHARQ-FeedbackDisabled-r17 ::= BIT STRING (SIZE (32))
+
+-- TAG-PDSCH-SERVINGCELLCONFIG-STOP
+-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START
+
+
+PDSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation
+
+PDSCH-TimeDomainResourceAllocation ::= SEQUENCE {
+ k0 INTEGER(0..32) OPTIONAL, -- Need S
+ mappingType ENUMERATED {typeA, typeB},
+ startSymbolAndLength INTEGER (0..127)
+}
+
+PDSCH-TimeDomainResourceAllocationList-r16 ::= SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation-r16
+
+PDSCH-TimeDomainResourceAllocation-r16 ::= SEQUENCE {
+ k0-r16 INTEGER(0..32) OPTIONAL, -- Need S
+ mappingType-r16 ENUMERATED {typeA, typeB},
+ startSymbolAndLength-r16 INTEGER (0..127),
+ repetitionNumber-r16 ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16} OPTIONAL, -- Cond Formats1-0and1-1
+ ...,
+ [[
+ k0-v1710 INTEGER(33..128) OPTIONAL -- Need S
+ ]],
+ [[
+ repetitionNumber-v1730 ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16} OPTIONAL -- Cond Format1-2
+ ]]
+}
+
+Dummy-TDRA-List ::= SEQUENCE (SIZE(1.. maxNrofDL-Allocations)) OF MultiPDSCH-TDRA-r17
+
+MultiPDSCH-TDRA-List-r17 ::= SEQUENCE (SIZE(1.. maxNrofDL-AllocationsExt-r17)) OF MultiPDSCH-TDRA-r17
+
+MultiPDSCH-TDRA-r17 ::= SEQUENCE {
+ pdsch-TDRA-List-r17 SEQUENCE (SIZE(1..maxNrofMultiplePDSCHs-r17)) OF PDSCH-TimeDomainResourceAllocation-r16,
+ ...
+}
+
+-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP
+-- TAG-PHR-CONFIG-START
+
+PHR-Config ::= SEQUENCE {
+ phr-PeriodicTimer ENUMERATED {sf10, sf20, sf50, sf100, sf200,sf500, sf1000, infinity},
+ phr-ProhibitTimer ENUMERATED {sf0, sf10, sf20, sf50, sf100,sf200, sf500, sf1000},
+ phr-Tx-PowerFactorChange ENUMERATED {dB1, dB3, dB6, infinity},
+ multiplePHR BOOLEAN,
+ dummy BOOLEAN,
+ phr-Type2OtherCell BOOLEAN,
+ phr-ModeOtherCG ENUMERATED {real, virtual},
+ ...,
+ [[
+ mpe-Reporting-FR2-r16 CHOICE {release NULL, setup MPE-Config-FR2-r16 } OPTIONAL -- Need M
+ ]],
+ [[
+ mpe-Reporting-FR2-r17 CHOICE {release NULL, setup MPE-Config-FR2-r17 } OPTIONAL, -- Need M
+ twoPHRMode-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+}
+
+MPE-Config-FR2-r16 ::= SEQUENCE {
+ mpe-ProhibitTimer-r16 ENUMERATED {sf0, sf10, sf20, sf50, sf100, sf200, sf500, sf1000},
+ mpe-Threshold-r16 ENUMERATED {dB3, dB6, dB9, dB12}
+}
+
+MPE-Config-FR2-r17 ::= SEQUENCE {
+ mpe-ProhibitTimer-r17 ENUMERATED {sf0, sf10, sf20, sf50, sf100, sf200, sf500, sf1000},
+ mpe-Threshold-r17 ENUMERATED {dB3, dB6, dB9, dB12},
+ numberOfN-r17 INTEGER(1..4),
+ ...
+}
+
+-- TAG-PHR-CONFIG-STOP
+-- TAG-PHYSCELLID-START
+
+PhysCellId ::= INTEGER (0..1007)
+
+-- TAG-PHYSCELLID-STOP
+-- TAG-PHYSICALCELLGROUPCONFIG-START
+
+PhysicalCellGroupConfig ::= SEQUENCE {
+ harq-ACK-SpatialBundlingPUCCH ENUMERATED {true} OPTIONAL, -- Need S
+ harq-ACK-SpatialBundlingPUSCH ENUMERATED {true} OPTIONAL, -- Need S
+ p-NR-FR1 P-Max OPTIONAL, -- Need R
+ pdsch-HARQ-ACK-Codebook ENUMERATED {semiStatic, dynamic},
+ tpc-SRS-RNTI RNTI-Value OPTIONAL, -- Need R
+ tpc-PUCCH-RNTI RNTI-Value OPTIONAL, -- Need R
+ tpc-PUSCH-RNTI RNTI-Value OPTIONAL, -- Need R
+ sp-CSI-RNTI RNTI-Value OPTIONAL, -- Need R
+ cs-RNTI CHOICE {release NULL, setup RNTI-Value } OPTIONAL, -- Need M
+ ...,
+ [[
+ mcs-C-RNTI RNTI-Value OPTIONAL, -- Need R
+ p-UE-FR1 P-Max OPTIONAL -- Cond MCG-Only
+ ]],
+ [[
+ xScale ENUMERATED {dB0, dB6, spare2, spare1} OPTIONAL -- Cond SCG-Only
+ ]],
+ [[
+ pdcch-BlindDetection CHOICE {release NULL, setup PDCCH-BlindDetection } OPTIONAL -- Need M
+ ]],
+ [[
+ dcp-Config-r16 CHOICE {release NULL, setup DCP-Config-r16 } OPTIONAL, -- Need M
+ harq-ACK-SpatialBundlingPUCCH-secondaryPUCCHgroup-r16 ENUMERATED {enabled, disabled} OPTIONAL, -- Cond twoPUCCHgroup
+ harq-ACK-SpatialBundlingPUSCH-secondaryPUCCHgroup-r16 ENUMERATED {enabled, disabled} OPTIONAL, -- Cond twoPUCCHgroup
+ pdsch-HARQ-ACK-Codebook-secondaryPUCCHgroup-r16 ENUMERATED {semiStatic, dynamic} OPTIONAL, -- Cond twoPUCCHgroup
+ p-NR-FR2-r16 P-Max OPTIONAL, -- Need R
+ p-UE-FR2-r16 P-Max OPTIONAL, -- Cond MCG-Only
+ nrdc-PCmode-FR1-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL, -- Cond MCG-Only
+ nrdc-PCmode-FR2-r16 ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic} OPTIONAL, -- Cond MCG-Only
+ pdsch-HARQ-ACK-Codebook-r16 ENUMERATED {enhancedDynamic} OPTIONAL, -- Need R
+ nfi-TotalDAI-Included-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ ul-TotalDAI-Included-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ pdsch-HARQ-ACK-OneShotFeedback-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ pdsch-HARQ-ACK-OneShotFeedbackNDI-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ pdsch-HARQ-ACK-OneShotFeedbackCBG-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ downlinkAssignmentIndexDCI-0-2-r16 ENUMERATED { enabled } OPTIONAL, -- Need S
+ downlinkAssignmentIndexDCI-1-2-r16 ENUMERATED {n1, n2, n4} OPTIONAL, -- Need S
+ pdsch-HARQ-ACK-CodebookList-r16 CHOICE {release NULL, setup PDSCH-HARQ-ACK-CodebookList-r16} OPTIONAL, -- Need M
+ ackNackFeedbackMode-r16 ENUMERATED {joint, separate} OPTIONAL, -- Need R
+ pdcch-BlindDetectionCA-CombIndicator-r16 CHOICE {release NULL, setup PDCCH-BlindDetectionCA-CombIndicator-r16 } OPTIONAL, -- Need M
+ pdcch-BlindDetection2-r16 CHOICE {release NULL, setup PDCCH-BlindDetection2-r16 } OPTIONAL, -- Need M
+ pdcch-BlindDetection3-r16 CHOICE {release NULL, setup PDCCH-BlindDetection3-r16 } OPTIONAL, -- Need M
+ bdFactorR-r16 ENUMERATED {n1} OPTIONAL -- Need R
+ ]],
+ [[
+ -- start of enhanced Type3 feedback
+ pdsch-HARQ-ACK-EnhType3ToAddModList-r17 SEQUENCE (SIZE(1..maxNrofEnhType3HARQ-ACK-r17)) OF PDSCH-HARQ-ACK-EnhType3-r17
+ OPTIONAL, -- Need N
+ pdsch-HARQ-ACK-EnhType3ToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofEnhType3HARQ-ACK-r17)) OF PDSCH-HARQ-ACK-EnhType3Index-r17
+ OPTIONAL, -- Need N
+ pdsch-HARQ-ACK-EnhType3SecondaryToAddModList-r17 SEQUENCE (SIZE(1..maxNrofEnhType3HARQ-ACK-r17)) OF PDSCH-HARQ-ACK-EnhType3-r17
+ OPTIONAL, -- Need N
+ pdsch-HARQ-ACK-EnhType3SecondaryToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofEnhType3HARQ-ACK-r17)) OF PDSCH-HARQ-ACK-EnhType3Index-r17
+ OPTIONAL, -- Need N
+ pdsch-HARQ-ACK-EnhType3DCI-FieldSecondaryPUCCHgroup-r17 ENUMERATED {enabled} OPTIONAL, -- Cond twoPUCCHgroup
+ pdsch-HARQ-ACK-EnhType3DCI-Field-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ -- end of enhanced Type3 feedback
+
+ -- start of triggering of HARQ-ACK re-transmission on a PUCCH resource
+ pdsch-HARQ-ACK-Retx-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pdsch-HARQ-ACK-RetxSecondaryPUCCHgroup-r17 ENUMERATED {enabled} OPTIONAL, -- Cond twoPUCCHgroup
+ -- end of triggering of HARQ-ACK re-transmission on a PUCCH resource
+
+ -- start of PUCCH Cell switching
+ pucch-sSCell-r17 SCellIndex OPTIONAL, -- Need R
+ pucch-sSCellSecondaryPUCCHgroup-r17 SCellIndex OPTIONAL, -- Cond twoPUCCHgroup
+ pucch-sSCellDyn-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pucch-sSCellDynSecondaryPUCCHgroup-r17 ENUMERATED {enabled} OPTIONAL, -- Cond twoPUCCHgroup
+ pucch-sSCellPattern-r17 SEQUENCE (SIZE(1..maxNrofSlots)) OF INTEGER (0..1) OPTIONAL, -- Need R
+ pucch-sSCellPatternSecondaryPUCCHgroup-r17 SEQUENCE (SIZE(1..maxNrofSlots)) OF INTEGER (0..1) OPTIONAL, -- Cond twoPUCCHgroup
+ -- end of PUCCH Cell switching
+
+ uci-MuxWithDiffPrio-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ uci-MuxWithDiffPrioSecondaryPUCCHgroup-r17 ENUMERATED {enabled} OPTIONAL, -- Cond twoPUCCHgroup
+ simultaneousPUCCH-PUSCH-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ simultaneousPUCCH-PUSCH-SecondaryPUCCHgroup-r17 ENUMERATED {enabled} OPTIONAL, -- Cond twoPUCCHgroup
+
+ prioLowDG-HighCG-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ prioHighDG-LowCG-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ twoQCLTypeDforPDCCHRepetition-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ multicastConfig-r17 CHOICE {release NULL, setup MulticastConfig-r17 } OPTIONAL, -- Need M
+ pdcch-BlindDetectionCA-CombIndicator-r17 CHOICE {release NULL, setup PDCCH-BlindDetectionCA-CombIndicator-r17 } OPTIONAL -- Need M
+ ]],
+ [[
+ simultaneousSR-PUSCH-diffPUCCH-Groups-r17 ENUMERATED {enabled} OPTIONAL -- Cond twoPUCCHgroup
+ ]],
+ [[
+ intraBandNC-PRACH-simulTx-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]],
+ [[
+ pdcch-BlindDetection4-r17 CHOICE {release NULL, setup PDCCH-BlindDetection4-r17 } OPTIONAL -- Need M
+ ]]
+}
+
+
+PDSCH-HARQ-ACK-EnhType3-r17 ::= SEQUENCE {
+ pdsch-HARQ-ACK-EnhType3Index-r17 PDSCH-HARQ-ACK-EnhType3Index-r17,
+ applicable-r17 CHOICE {
+ perCC SEQUENCE (SIZE (1..maxNrofServingCells)) OF INTEGER (0..1),
+ perHARQ SEQUENCE (SIZE (1..maxNrofServingCells)) OF BIT STRING (SIZE (16))
+ },
+ pdsch-HARQ-ACK-EnhType3NDI-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ pdsch-HARQ-ACK-EnhType3CBG-r17 ENUMERATED {true} OPTIONAL, -- Need S
+ ...,
+ [[
+ perHARQ-Ext-r17 SEQUENCE (SIZE (1..maxNrofServingCells)) OF BIT STRING (SIZE (32)) OPTIONAL -- Need R
+ ]]
+}
+
+PDSCH-HARQ-ACK-EnhType3Index-r17 ::= INTEGER (0..maxNrofEnhType3HARQ-ACK-1-r17)
+
+PDCCH-BlindDetection ::= INTEGER (1..15)
+
+DCP-Config-r16 ::= SEQUENCE {
+ ps-RNTI-r16 RNTI-Value,
+ ps-Offset-r16 INTEGER (1..120),
+ sizeDCI-2-6-r16 INTEGER (1..maxDCI-2-6-Size-r16),
+ ps-PositionDCI-2-6-r16 INTEGER (0..maxDCI-2-6-Size-1-r16),
+ ps-WakeUp-r16 ENUMERATED {true} OPTIONAL, -- Need S
+ ps-TransmitPeriodicL1-RSRP-r16 ENUMERATED {true} OPTIONAL, -- Need S
+ ps-TransmitOtherPeriodicCSI-r16 ENUMERATED {true} OPTIONAL -- Need S
+}
+
+PDSCH-HARQ-ACK-CodebookList-r16 ::= SEQUENCE (SIZE (1..2)) OF ENUMERATED {semiStatic, dynamic}
+
+PDCCH-BlindDetectionCA-CombIndicator-r16 ::= SEQUENCE {
+ pdcch-BlindDetectionCA1-r16 INTEGER (1..15),
+ pdcch-BlindDetectionCA2-r16 INTEGER (1..15)
+}
+
+PDCCH-BlindDetection2-r16 ::= INTEGER (1..15)
+
+PDCCH-BlindDetection3-r16 ::= INTEGER (1..15)
+
+PDCCH-BlindDetection4-r17 ::= INTEGER (1..15)
+
+MulticastConfig-r17 ::= SEQUENCE {
+ pdsch-HARQ-ACK-CodebookListMulticast-r17 CHOICE {release NULL, setup PDSCH-HARQ-ACK-CodebookList-r16} OPTIONAL, -- Need M
+ type1CodebookGenerationMode-r17 ENUMERATED { mode1, mode2} OPTIONAL -- Need M
+}
+
+PDCCH-BlindDetectionCA-CombIndicator-r17 ::= SEQUENCE {
+ pdcch-BlindDetectionCA1-r17 INTEGER (1..15) OPTIONAL, -- Need R
+ pdcch-BlindDetectionCA2-r17 INTEGER (1..15) OPTIONAL, -- Need R
+ pdcch-BlindDetectionCA3-r17 INTEGER (1..15)
+}
+
+-- TAG-PHYSICALCELLGROUPCONFIG-STOP
+-- TAG-PLMN-IDENTITY-START
+
+PLMN-Identity ::= SEQUENCE {
+ mcc MCC OPTIONAL, -- Cond MCC
+ mnc MNC
+}
+
+MCC ::= SEQUENCE (SIZE (3)) OF MCC-MNC-Digit
+
+MNC ::= SEQUENCE (SIZE (2..3)) OF MCC-MNC-Digit
+
+MCC-MNC-Digit ::= INTEGER (0..9)
+
+-- TAG-PLMN-IDENTITY-STOP
+-- TAG-PLMN-IDENTITYINFOLIST-START
+
+PLMN-IdentityInfoList ::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-IdentityInfo
+
+PLMN-IdentityInfo ::= SEQUENCE {
+ plmn-IdentityList SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity,
+ trackingAreaCode TrackingAreaCode OPTIONAL, -- Need R
+ ranac RAN-AreaCode OPTIONAL, -- Need R
+ cellIdentity CellIdentity,
+ cellReservedForOperatorUse ENUMERATED {reserved, notReserved},
+ ...,
+ [[
+ iab-Support-r16 ENUMERATED {true} OPTIONAL -- Need S
+ ]],
+ [[
+ trackingAreaList-r17 SEQUENCE (SIZE (1..maxTAC-r17)) OF TrackingAreaCode OPTIONAL, -- Need R
+ gNB-ID-Length-r17 INTEGER (22..32) OPTIONAL -- Need R
+ ]]
+}
+-- TAG-PLMN-IDENTITYINFOLIST-STOP
+-- TAG-PLMNIDENTITYLIST2-START
+
+PLMN-IdentityList2-r16 ::= SEQUENCE (SIZE (1..16)) OF PLMN-Identity
+
+-- TAG-PLMNIDENTITYLIST2-STOP
+-- TAG-PRB-ID-START
+
+PRB-Id ::= INTEGER (0..maxNrofPhysicalResourceBlocks-1)
+
+-- TAG-PRB-ID-STOP
+-- TAG-PTRS-DOWNLINKCONFIG-START
+
+PTRS-DownlinkConfig ::= SEQUENCE {
+ frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S
+ timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S
+ epre-Ratio INTEGER (0..3) OPTIONAL, -- Need S
+ resourceElementOffset ENUMERATED { offset01, offset10, offset11 } OPTIONAL, -- Need S
+ ...,
+ [[
+ maxNrofPorts-r16 ENUMERATED {n1, n2} OPTIONAL -- Need R
+ ]]
+
+}
+
+-- TAG-PTRS-DOWNLINKCONFIG-STOP
+-- TAG-PTRS-UPLINKCONFIG-START
+
+PTRS-UplinkConfig ::= SEQUENCE {
+ transformPrecoderDisabled SEQUENCE {
+ frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S
+ timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S
+ maxNrofPorts ENUMERATED {n1, n2},
+ resourceElementOffset ENUMERATED {offset01, offset10, offset11 } OPTIONAL, -- Need S
+ ptrs-Power ENUMERATED {p00, p01, p10, p11}
+ } OPTIONAL, -- Need R
+ transformPrecoderEnabled SEQUENCE {
+ sampleDensity SEQUENCE (SIZE (5)) OF INTEGER (1..276),
+ timeDensityTransformPrecoding ENUMERATED {d2} OPTIONAL -- Need S
+ } OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-PTRS-UPLINKCONFIG-STOP
+-- TAG-PUCCH-CONFIG-START
+
+PUCCH-Config ::= SEQUENCE {
+ resourceSetToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSet OPTIONAL, -- Need N
+ resourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId OPTIONAL, -- Need N
+ resourceToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource OPTIONAL, -- Need N
+ resourceToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId OPTIONAL, -- Need N
+ format1 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M
+ format2 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M
+ format3 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M
+ format4 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M
+ schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig
+ OPTIONAL, -- Need N
+ schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId
+ OPTIONAL, -- Need N
+ multi-CSI-PUCCH-ResourceList SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId OPTIONAL, -- Need M
+ dl-DataToUL-ACK SEQUENCE (SIZE (1..8)) OF INTEGER (0..15) OPTIONAL, -- Need M
+ spatialRelationInfoToAddModList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo
+ OPTIONAL, -- Need N
+ spatialRelationInfoToReleaseList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId
+ OPTIONAL, -- Need N
+ pucch-PowerControl PUCCH-PowerControl OPTIONAL, -- Need M
+ ...,
+ [[
+ resourceToAddModListExt-v1610 SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceExt-v1610 OPTIONAL, -- Need N
+ dl-DataToUL-ACK-r16 CHOICE {release NULL, setup DL-DataToUL-ACK-r16 } OPTIONAL, -- Need M
+ ul-AccessConfigListDCI-1-1-r16 CHOICE {release NULL, setup UL-AccessConfigListDCI-1-1-r16 } OPTIONAL, -- Need M
+ subslotLengthForPUCCH-r16 CHOICE {
+ normalCP-r16 ENUMERATED {n2,n7},
+ extendedCP-r16 ENUMERATED {n2,n6}
+ } OPTIONAL, -- Need R
+ dl-DataToUL-ACK-DCI-1-2-r16 CHOICE {release NULL, setup DL-DataToUL-ACK-DCI-1-2-r16} OPTIONAL, -- Need M
+ numberOfBitsForPUCCH-ResourceIndicatorDCI-1-2-r16 INTEGER (0..3) OPTIONAL, -- Need R
+ dmrs-UplinkTransformPrecodingPUCCH-r16 ENUMERATED {enabled} OPTIONAL, -- Cond PI2-BPSK
+ spatialRelationInfoToAddModListSizeExt-v1610 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfosDiff-r16)) OF PUCCH-SpatialRelationInfo
+ OPTIONAL, -- Need N
+ spatialRelationInfoToReleaseListSizeExt-v1610 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfosDiff-r16)) OF PUCCH-SpatialRelationInfoId
+ OPTIONAL, -- Need N
+ spatialRelationInfoToAddModListExt-v1610 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos-r16)) OF PUCCH-SpatialRelationInfoExt-r16
+ OPTIONAL, -- Need N
+ spatialRelationInfoToReleaseListExt-v1610 SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos-r16)) OF
+ PUCCH-SpatialRelationInfoId-r16 OPTIONAL, -- Need N
+ resourceGroupToAddModList-r16 SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceGroups-r16)) OF PUCCH-ResourceGroup-r16
+ OPTIONAL, -- Need N
+ resourceGroupToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceGroups-r16)) OF PUCCH-ResourceGroupId-r16
+ OPTIONAL, -- Need N
+ sps-PUCCH-AN-List-r16 CHOICE {release NULL, setup SPS-PUCCH-AN-List-r16 } OPTIONAL, -- Need M
+ schedulingRequestResourceToAddModListExt-v1610 SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfigExt-v1610
+ OPTIONAL -- Need N
+ ]],
+ [[
+ format0-r17 CHOICE {release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M
+ format2Ext-r17 CHOICE {release NULL, setup PUCCH-FormatConfigExt-r17 } OPTIONAL, -- Need M
+ format3Ext-r17 CHOICE {release NULL, setup PUCCH-FormatConfigExt-r17 } OPTIONAL, -- Need M
+ format4Ext-r17 CHOICE {release NULL, setup PUCCH-FormatConfigExt-r17 } OPTIONAL, -- Need M
+ ul-AccessConfigListDCI-1-2-r17 CHOICE {release NULL, setup UL-AccessConfigListDCI-1-2-r17 } OPTIONAL, -- Need M
+ mappingPattern-r17 ENUMERATED {cyclicMapping, sequentialMapping} OPTIONAL, -- Need R
+ powerControlSetInfoToAddModList-r17 SEQUENCE (SIZE (1..maxNrofPowerControlSetInfos-r17)) OF PUCCH-PowerControlSetInfo-r17
+ OPTIONAL, -- Need N
+ powerControlSetInfoToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofPowerControlSetInfos-r17)) OF PUCCH-PowerControlSetInfoId-r17
+ OPTIONAL, -- Need N
+ secondTPCFieldDCI-1-1-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ secondTPCFieldDCI-1-2-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ dl-DataToUL-ACK-r17 CHOICE {release NULL, setup DL-DataToUL-ACK-r17 } OPTIONAL, -- Need M
+ dl-DataToUL-ACK-DCI-1-2-r17 CHOICE {release NULL, setup DL-DataToUL-ACK-DCI-1-2-r17} OPTIONAL, -- Need M
+ ul-AccessConfigListDCI-1-1-r17 CHOICE {release NULL, setup UL-AccessConfigListDCI-1-1-r17 } OPTIONAL, -- Need M
+ schedulingRequestResourceToAddModListExt-v1700 SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfigExt-v1700
+ OPTIONAL, -- Need N
+ dmrs-BundlingPUCCH-Config-r17 CHOICE {release NULL, setup DMRS-BundlingPUCCH-Config-r17 } OPTIONAL, -- Need M
+ dl-DataToUL-ACK-v1700 CHOICE {release NULL, setup DL-DataToUL-ACK-v1700 } OPTIONAL, -- Need M
+ dl-DataToUL-ACK-MulticastDCI-Format4-1-r17 CHOICE {release NULL, setup DL-DataToUL-ACK-MulticastDCI-Format4-1-r17 } OPTIONAL, -- Need M
+ sps-PUCCH-AN-ListMulticast-r17 CHOICE {release NULL, setup SPS-PUCCH-AN-List-r16 } OPTIONAL -- Need M
+ ]]
+}
+
+PUCCH-FormatConfig ::= SEQUENCE {
+ interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL, -- Need R
+ additionalDMRS ENUMERATED {true} OPTIONAL, -- Need R
+ maxCodeRate PUCCH-MaxCodeRate OPTIONAL, -- Need R
+ nrofSlots ENUMERATED {n2,n4,n8} OPTIONAL, -- Need S
+ pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need R
+ simultaneousHARQ-ACK-CSI ENUMERATED {true} OPTIONAL -- Need R
+}
+
+PUCCH-FormatConfigExt-r17 ::= SEQUENCE {
+ maxCodeRateLP-r17 PUCCH-MaxCodeRate OPTIONAL, -- Need R
+ ...
+}
+
+PUCCH-MaxCodeRate ::= ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80}
+
+-- A set with one or more PUCCH resources
+PUCCH-ResourceSet ::= SEQUENCE {
+ pucch-ResourceSetId PUCCH-ResourceSetId,
+ resourceList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerSet)) OF PUCCH-ResourceId,
+ maxPayloadSize INTEGER (4..256) OPTIONAL -- Need R
+}
+
+PUCCH-ResourceSetId ::= INTEGER (0..maxNrofPUCCH-ResourceSets-1)
+
+PUCCH-Resource ::= SEQUENCE {
+ pucch-ResourceId PUCCH-ResourceId,
+ startingPRB PRB-Id,
+ intraSlotFrequencyHopping ENUMERATED { enabled } OPTIONAL, -- Need R
+ secondHopPRB PRB-Id OPTIONAL, -- Need R
+ format CHOICE {
+ format0 PUCCH-format0,
+ format1 PUCCH-format1,
+ format2 PUCCH-format2,
+ format3 PUCCH-format3,
+ format4 PUCCH-format4
+ }
+}
+
+PUCCH-ResourceExt-v1610 ::= SEQUENCE {
+ interlaceAllocation-r16 SEQUENCE {
+ rb-SetIndex-r16 INTEGER (0..4),
+ interlace0-r16 CHOICE {
+ scs15 INTEGER (0..9),
+ scs30 INTEGER (0..4)
+ }
+ } OPTIONAL, --Need R
+ format-v1610 CHOICE {
+ interlace1-v1610 INTEGER (0..9),
+ occ-v1610 SEQUENCE {
+ occ-Length-v1610 ENUMERATED {n2,n4} OPTIONAL, -- Need M
+ occ-Index-v1610 ENUMERATED {n0,n1,n2,n3} OPTIONAL -- Need M
+ }
+ } OPTIONAL, -- Need R
+ ...,
+ [[
+ format-v1700 SEQUENCE {
+ nrofPRBs-r17 INTEGER (1..16)
+ } OPTIONAL, -- Need R
+ pucch-RepetitionNrofSlots-r17 ENUMERATED { n1,n2,n4,n8 } OPTIONAL -- Need R
+ ]]
+}
+
+PUCCH-ResourceId ::= INTEGER (0..maxNrofPUCCH-Resources-1)
+
+
+PUCCH-format0 ::= SEQUENCE {
+ initialCyclicShift INTEGER(0..11),
+ nrofSymbols INTEGER (1..2),
+ startingSymbolIndex INTEGER(0..13)
+}
+
+PUCCH-format1 ::= SEQUENCE {
+ initialCyclicShift INTEGER(0..11),
+ nrofSymbols INTEGER (4..14),
+ startingSymbolIndex INTEGER(0..10),
+ timeDomainOCC INTEGER(0..6)
+}
+
+PUCCH-format2 ::= SEQUENCE {
+ nrofPRBs INTEGER (1..16),
+ nrofSymbols INTEGER (1..2),
+ startingSymbolIndex INTEGER(0..13)
+}
+
+PUCCH-format3 ::= SEQUENCE {
+ nrofPRBs INTEGER (1..16),
+ nrofSymbols INTEGER (4..14),
+ startingSymbolIndex INTEGER(0..10)
+}
+
+PUCCH-format4 ::= SEQUENCE {
+ nrofSymbols INTEGER (4..14),
+ occ-Length ENUMERATED {n2,n4},
+ occ-Index ENUMERATED {n0,n1,n2,n3},
+ startingSymbolIndex INTEGER(0..10)
+}
+
+PUCCH-ResourceGroup-r16 ::= SEQUENCE {
+ pucch-ResourceGroupId-r16 PUCCH-ResourceGroupId-r16,
+ resourcePerGroupList-r16 SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerGroup-r16)) OF PUCCH-ResourceId
+}
+
+PUCCH-ResourceGroupId-r16 ::= INTEGER (0..maxNrofPUCCH-ResourceGroups-1-r16)
+
+DL-DataToUL-ACK-r16 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (-1..15)
+
+DL-DataToUL-ACK-r17 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (-1..127)
+
+DL-DataToUL-ACK-v1700 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (16..31)
+
+DL-DataToUL-ACK-DCI-1-2-r16 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (0..15)
+
+DL-DataToUL-ACK-DCI-1-2-r17 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (0..127)
+
+UL-AccessConfigListDCI-1-1-r16 ::= SEQUENCE (SIZE (1..16)) OF INTEGER (0..15)
+
+UL-AccessConfigListDCI-1-2-r17 ::= SEQUENCE (SIZE (1..16)) OF INTEGER (0..15)
+
+UL-AccessConfigListDCI-1-1-r17 ::= SEQUENCE (SIZE (1..3)) OF INTEGER (0..2)
+
+DL-DataToUL-ACK-MulticastDCI-Format4-1-r17 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (0..15)
+
+-- TAG-PUCCH-CONFIG-STOP
+-- TAG-PUCCH-CONFIGCOMMON-START
+
+PUCCH-ConfigCommon ::= SEQUENCE {
+ pucch-ResourceCommon INTEGER (0..15) OPTIONAL, -- Cond InitialBWP-Only
+ pucch-GroupHopping ENUMERATED { neither, enable, disable },
+ hoppingId INTEGER (0..1023) OPTIONAL, -- Need R
+ p0-nominal INTEGER (-202..24) OPTIONAL, -- Need R
+ ...,
+ [[
+ nrofPRBs INTEGER (1..16) OPTIONAL, -- Need R
+ intra-SlotFH-r17 ENUMERATED {fromLowerEdge, fromUpperEdge} OPTIONAL, -- Cond InitialBWP-RedCapOnly
+ pucch-ResourceCommonRedCap-r17 INTEGER (0..15) OPTIONAL, -- Cond InitialBWP-RedCap
+ additionalPRBOffset-r17 ENUMERATED {n2, n3, n4, n6, n8, n9, n10, n12} OPTIONAL -- Cond InitialBWP-RedCapOnly
+ ]]
+}
+
+-- TAG-PUCCH-CONFIGCOMMON-STOP
+-- TAG-PUCCH-CONFIGURATIONLIST-START
+
+PUCCH-ConfigurationList-r16 ::= SEQUENCE (SIZE (1..2)) OF PUCCH-Config
+
+-- TAG-PUCCH-CONFIGURATIONLIST-STOP
+-- TAG-PUCCH-PATHLOSSREFERENCERS-ID-START
+
+PUCCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1)
+
+PUCCH-PathlossReferenceRS-Id-v1610 ::= INTEGER (maxNrofPUCCH-PathlossReferenceRSs..maxNrofPUCCH-PathlossReferenceRSs-1-r16)
+
+PUCCH-PathlossReferenceRS-Id-r17 ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1-r17)
+
+-- TAG-PUCCH-PATHLOSSREFERENCERS-ID-STOP
+-- TAG-PUCCH-POWERCONTROL-START
+PUCCH-PowerControl ::= SEQUENCE {
+ deltaF-PUCCH-f0 INTEGER (-16..15) OPTIONAL, -- Need R
+ deltaF-PUCCH-f1 INTEGER (-16..15) OPTIONAL, -- Need R
+ deltaF-PUCCH-f2 INTEGER (-16..15) OPTIONAL, -- Need R
+ deltaF-PUCCH-f3 INTEGER (-16..15) OPTIONAL, -- Need R
+ deltaF-PUCCH-f4 INTEGER (-16..15) OPTIONAL, -- Need R
+ p0-Set SEQUENCE (SIZE (1..maxNrofPUCCH-P0-PerSet)) OF P0-PUCCH OPTIONAL, -- Need M
+ pathlossReferenceRSs SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSs)) OF PUCCH-PathlossReferenceRS
+ OPTIONAL, -- Need M
+ twoPUCCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S
+ ...,
+ [[
+ pathlossReferenceRSs-v1610 CHOICE {release NULL, setup PathlossReferenceRSs-v1610 } OPTIONAL -- Need M
+ ]]
+}
+
+P0-PUCCH ::= SEQUENCE {
+ p0-PUCCH-Id P0-PUCCH-Id,
+ p0-PUCCH-Value INTEGER (-16..15)
+}
+
+P0-PUCCH-Id ::= INTEGER (1..8)
+
+PathlossReferenceRSs-v1610 ::= SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSsDiff-r16)) OF PUCCH-PathlossReferenceRS-r16
+
+PUCCH-PathlossReferenceRS ::= SEQUENCE {
+ pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id,
+ referenceSignal CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ }
+}
+
+PUCCH-PathlossReferenceRS-r16 ::= SEQUENCE {
+ pucch-PathlossReferenceRS-Id-r16 PUCCH-PathlossReferenceRS-Id-v1610,
+ referenceSignal-r16 CHOICE {
+ ssb-Index-r16 SSB-Index,
+ csi-RS-Index-r16 NZP-CSI-RS-ResourceId
+ }
+}
+
+PUCCH-PowerControlSetInfo-r17 ::= SEQUENCE {
+ pucch-PowerControlSetInfoId-r17 PUCCH-PowerControlSetInfoId-r17,
+ p0-PUCCH-Id-r17 P0-PUCCH-Id,
+ pucch-ClosedLoopIndex-r17 ENUMERATED { i0, i1 },
+ pucch-PathlossReferenceRS-Id-r17 PUCCH-PathlossReferenceRS-Id-r17
+}
+
+PUCCH-PowerControlSetInfoId-r17 ::= INTEGER (1.. maxNrofPowerControlSetInfos-r17)
+
+-- TAG-PUCCH-POWERCONTROL-STOP
+-- TAG-PUCCH-SPATIALRELATIONINFO-START
+
+PUCCH-SpatialRelationInfo ::= SEQUENCE {
+ pucch-SpatialRelationInfoId PUCCH-SpatialRelationInfoId,
+ servingCellId ServCellIndex OPTIONAL, -- Need S
+ referenceSignal CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId,
+ srs PUCCH-SRS
+ },
+ pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id,
+ p0-PUCCH-Id P0-PUCCH-Id,
+ closedLoopIndex ENUMERATED { i0, i1 }
+}
+
+PUCCH-SpatialRelationInfoExt-r16 ::= SEQUENCE {
+ pucch-SpatialRelationInfoId-v1610 PUCCH-SpatialRelationInfoId-v1610 OPTIONAL, -- Need S
+ pucch-PathlossReferenceRS-Id-v1610 PUCCH-PathlossReferenceRS-Id-v1610 OPTIONAL, --Need R
+ ...
+}
+
+PUCCH-SRS ::= SEQUENCE {
+ resource SRS-ResourceId,
+ uplinkBWP BWP-Id
+}
+
+-- TAG-PUCCH-SPATIALRELATIONINFO-STOP
+-- TAG-PUCCH-SPATIALRELATIONINFO-START
+
+PUCCH-SpatialRelationInfoId ::= INTEGER (1..maxNrofSpatialRelationInfos)
+
+PUCCH-SpatialRelationInfoId-r16 ::= INTEGER (1..maxNrofSpatialRelationInfos-r16)
+
+PUCCH-SpatialRelationInfoId-v1610::= INTEGER (maxNrofSpatialRelationInfos-plus-1..maxNrofSpatialRelationInfos-r16)
+
+-- TAG-PUCCH-SPATIALRELATIONINFO-STOP
+-- TAG-PUCCH-TPC-COMMANDCONFIG-START
+
+PUCCH-TPC-CommandConfig ::= SEQUENCE {
+ tpc-IndexPCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-OfSpcell
+ tpc-IndexPUCCH-SCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-ofSpCellOrPUCCH-SCell
+ ...,
+ [[
+ tpc-IndexPUCCH-sSCell-r17 INTEGER (1..15) OPTIONAL, -- Need R
+ tpc-IndexPUCCH-sScellSecondaryPUCCHgroup-r17 INTEGER (1..15) OPTIONAL -- Cond twoPUCCHgroup
+ ]]
+}
+
+-- TAG-PUCCH-TPC-COMMANDCONFIG-STOP
+-- TAG-PUSCH-CONFIG-START
+
+PUSCH-Config ::= SEQUENCE {
+ dataScramblingIdentityPUSCH INTEGER (0..1023) OPTIONAL, -- Need S
+ txConfig ENUMERATED {codebook, nonCodebook} OPTIONAL, -- Need S
+ dmrs-UplinkForPUSCH-MappingTypeA CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M
+ dmrs-UplinkForPUSCH-MappingTypeB CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M
+ pusch-PowerControl PUSCH-PowerControl OPTIONAL, -- Need M
+ frequencyHopping ENUMERATED {intraSlot, interSlot} OPTIONAL, -- Need S
+ frequencyHoppingOffsetLists SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1)
+ OPTIONAL, -- Need M
+ resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch},
+ pusch-TimeDomainAllocationList CHOICE {release NULL, setup PUSCH-TimeDomainResourceAllocationList } OPTIONAL, -- Need M
+ pusch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S
+ mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ mcs-TableTransformPrecoder ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, -- Need S
+ codebookSubset ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent,nonCoherent}
+ OPTIONAL, -- Cond codebookBased
+ maxRank INTEGER (1..4) OPTIONAL, -- Cond codebookBased
+ rbg-Size ENUMERATED { config2} OPTIONAL, -- Need S
+ uci-OnPUSCH CHOICE {release NULL, setup UCI-OnPUSCH} OPTIONAL, -- Need M
+ tp-pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need S
+ ...,
+ [[
+ minimumSchedulingOffsetK2-r16 CHOICE {release NULL, setup MinSchedulingOffsetK2-Values-r16 } OPTIONAL, -- Need M
+ ul-AccessConfigListDCI-0-1-r16 CHOICE {release NULL, setup UL-AccessConfigListDCI-0-1-r16 } OPTIONAL, -- Need M
+ -- Start of the parameters for DCI format 0_2 introduced in V16.1.0
+ harq-ProcessNumberSizeDCI-0-2-r16 INTEGER (0..4) OPTIONAL, -- Need R
+ dmrs-SequenceInitializationDCI-0-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ numberOfBitsForRV-DCI-0-2-r16 INTEGER (0..2) OPTIONAL, -- Need R
+ antennaPortsFieldPresenceDCI-0-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ dmrs-UplinkForPUSCH-MappingTypeA-DCI-0-2-r16 CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M
+ dmrs-UplinkForPUSCH-MappingTypeB-DCI-0-2-r16 CHOICE {release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M
+ frequencyHoppingDCI-0-2-r16 CHOICE {
+ pusch-RepTypeA ENUMERATED {intraSlot, interSlot},
+ pusch-RepTypeB ENUMERATED {interRepetition, interSlot}
+ } OPTIONAL, -- Need S
+ frequencyHoppingOffsetListsDCI-0-2-r16 CHOICE {release NULL, setup FrequencyHoppingOffsetListsDCI-0-2-r16} OPTIONAL, -- Need M
+ codebookSubsetDCI-0-2-r16 ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent,nonCoherent}
+ OPTIONAL, -- Cond codebookBased
+ invalidSymbolPatternIndicatorDCI-0-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ maxRankDCI-0-2-r16 INTEGER (1..4) OPTIONAL, -- Cond codebookBased
+ mcs-TableDCI-0-2-r16 ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ mcs-TableTransformPrecoderDCI-0-2-r16 ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ priorityIndicatorDCI-0-2-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ pusch-RepTypeIndicatorDCI-0-2-r16 ENUMERATED { pusch-RepTypeA, pusch-RepTypeB} OPTIONAL, -- Need R
+ resourceAllocationDCI-0-2-r16 ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}
+ OPTIONAL, -- Need M
+ resourceAllocationType1GranularityDCI-0-2-r16 ENUMERATED { n2,n4,n8,n16 } OPTIONAL, -- Need S
+ uci-OnPUSCH-ListDCI-0-2-r16 CHOICE {release NULL, setup UCI-OnPUSCH-ListDCI-0-2-r16} OPTIONAL, -- Need M
+ pusch-TimeDomainAllocationListDCI-0-2-r16 CHOICE {release NULL, setup PUSCH-TimeDomainResourceAllocationList-r16 }
+ OPTIONAL, -- Need M
+ -- End of the parameters for DCI format 0_2 introduced in V16.1.0
+ -- Start of the parameters for DCI format 0_1 introduced in V16.1.0
+ pusch-TimeDomainAllocationListDCI-0-1-r16 CHOICE {release NULL, setup PUSCH-TimeDomainResourceAllocationList-r16 }
+ OPTIONAL, -- Need M
+ invalidSymbolPatternIndicatorDCI-0-1-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ priorityIndicatorDCI-0-1-r16 ENUMERATED {enabled} OPTIONAL, -- Need S
+ pusch-RepTypeIndicatorDCI-0-1-r16 ENUMERATED { pusch-RepTypeA, pusch-RepTypeB} OPTIONAL, -- Need R
+ frequencyHoppingDCI-0-1-r16 ENUMERATED {interRepetition, interSlot} OPTIONAL, -- Cond RepTypeB
+ uci-OnPUSCH-ListDCI-0-1-r16 CHOICE {release NULL, setup UCI-OnPUSCH-ListDCI-0-1-r16 } OPTIONAL, -- Need M
+ -- End of the parameters for DCI format 0_1 introduced in V16.1.0
+ invalidSymbolPattern-r16 InvalidSymbolPattern-r16 OPTIONAL, -- Need S
+ pusch-PowerControl-v1610 CHOICE {release NULL, setup PUSCH-PowerControl-v1610} OPTIONAL, -- Need M
+ ul-FullPowerTransmission-r16 ENUMERATED {fullpower, fullpowerMode1, fullpowerMode2} OPTIONAL, -- Need R
+ pusch-TimeDomainAllocationListForMultiPUSCH-r16 CHOICE {release NULL, setup PUSCH-TimeDomainResourceAllocationList-r16 }
+ OPTIONAL, -- Need M
+ numberOfInvalidSymbolsForDL-UL-Switching-r16 INTEGER (1..4) OPTIONAL -- Cond RepTypeB2
+ ]],
+ [[
+ ul-AccessConfigListDCI-0-2-r17 CHOICE {release NULL, setup UL-AccessConfigListDCI-0-2-r17 } OPTIONAL, -- Need M
+ betaOffsetsCrossPri0-r17 CHOICE {release NULL, setup BetaOffsetsCrossPriSel-r17 } OPTIONAL, -- Need M
+ betaOffsetsCrossPri1-r17 CHOICE {release NULL, setup BetaOffsetsCrossPriSel-r17 } OPTIONAL, -- Need M
+ betaOffsetsCrossPri0DCI-0-2-r17 CHOICE {release NULL, setup BetaOffsetsCrossPriSelDCI-0-2-r17 } OPTIONAL, -- Need M
+ betaOffsetsCrossPri1DCI-0-2-r17 CHOICE {release NULL, setup BetaOffsetsCrossPriSelDCI-0-2-r17 } OPTIONAL, -- Need M
+ mappingPattern-r17 ENUMERATED {cyclicMapping, sequentialMapping} OPTIONAL, -- Cond SRSsets
+ secondTPCFieldDCI-0-1-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ secondTPCFieldDCI-0-2-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ sequenceOffsetForRV-r17 INTEGER (0..3) OPTIONAL, -- Need R
+ ul-AccessConfigListDCI-0-1-r17 CHOICE {release NULL, setup UL-AccessConfigListDCI-0-1-r17 } OPTIONAL, -- Need M
+ minimumSchedulingOffsetK2-r17 CHOICE {release NULL, setup MinSchedulingOffsetK2-Values-r17 } OPTIONAL, -- Need M
+ availableSlotCounting-r17 ENUMERATED { enabled } OPTIONAL, -- Need S
+ dmrs-BundlingPUSCH-Config-r17 CHOICE {release NULL, setup DMRS-BundlingPUSCH-Config-r17 } OPTIONAL, -- Need M
+ harq-ProcessNumberSizeDCI-0-2-v1700 INTEGER (5) OPTIONAL, -- Need R
+ harq-ProcessNumberSizeDCI-0-1-r17 INTEGER (5) OPTIONAL, -- Need R
+ mpe-ResourcePoolToAddModList-r17 SEQUENCE (SIZE(1..maxMPE-Resources-r17)) OF MPE-Resource-r17 OPTIONAL, -- Need N
+ mpe-ResourcePoolToReleaseList-r17 SEQUENCE (SIZE(1..maxMPE-Resources-r17)) OF MPE-ResourceId-r17 OPTIONAL -- Need N
+ ]]
+}
+
+UCI-OnPUSCH ::= SEQUENCE {
+ betaOffsets CHOICE {
+ dynamic SEQUENCE (SIZE (4)) OF BetaOffsets,
+ semiStatic BetaOffsets
+ } OPTIONAL, -- Need M
+ scaling ENUMERATED { f0p5, f0p65, f0p8, f1 }
+}
+
+MinSchedulingOffsetK2-Values-r16 ::= SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK2-SchedulingOffset-r16)
+
+MinSchedulingOffsetK2-Values-r17 ::= SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK2-SchedulingOffset-r17)
+
+UCI-OnPUSCH-DCI-0-2-r16 ::= SEQUENCE {
+ betaOffsetsDCI-0-2-r16 CHOICE {
+ dynamicDCI-0-2-r16 CHOICE {
+ oneBit-r16 SEQUENCE (SIZE (2)) OF BetaOffsets,
+ twoBits-r16 SEQUENCE (SIZE (4)) OF BetaOffsets
+ },
+ semiStaticDCI-0-2-r16 BetaOffsets
+ } OPTIONAL, -- Need M
+ scalingDCI-0-2-r16 ENUMERATED { f0p5, f0p65, f0p8, f1 }
+}
+
+FrequencyHoppingOffsetListsDCI-0-2-r16 ::= SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1)
+
+UCI-OnPUSCH-ListDCI-0-2-r16 ::= SEQUENCE (SIZE (1..2)) OF UCI-OnPUSCH-DCI-0-2-r16
+
+UCI-OnPUSCH-ListDCI-0-1-r16 ::= SEQUENCE (SIZE (1..2)) OF UCI-OnPUSCH
+
+UL-AccessConfigListDCI-0-1-r16 ::= SEQUENCE (SIZE (1..64)) OF INTEGER (0..63)
+
+UL-AccessConfigListDCI-0-1-r17 ::= SEQUENCE (SIZE (1..3)) OF INTEGER (0..2)
+
+UL-AccessConfigListDCI-0-2-r17 ::= SEQUENCE (SIZE (1..64)) OF INTEGER (0..63)
+
+BetaOffsetsCrossPriSel-r17 ::= CHOICE {
+ dynamic-r17 SEQUENCE (SIZE (4)) OF BetaOffsetsCrossPri-r17,
+ semiStatic-r17 BetaOffsetsCrossPri-r17
+}
+
+BetaOffsetsCrossPriSelDCI-0-2-r17 ::= CHOICE {
+ dynamicDCI-0-2-r17 CHOICE {
+ oneBit-r17 SEQUENCE (SIZE (2)) OF BetaOffsetsCrossPri-r17,
+ twoBits-r17 SEQUENCE (SIZE (4)) OF BetaOffsetsCrossPri-r17
+ },
+ semiStaticDCI-0-2-r17 BetaOffsetsCrossPri-r17
+}
+
+MPE-Resource-r17 ::= SEQUENCE {
+ mpe-ResourceId-r17 MPE-ResourceId-r17,
+ cell-r17 ServCellIndex OPTIONAL, -- Need R
+ additionalPCI-r17 AdditionalPCIIndex-r17 OPTIONAL, -- Need R
+ mpe-ReferenceSignal-r17 CHOICE {
+ csi-RS-Resource-r17 NZP-CSI-RS-ResourceId,
+ ssb-Resource-r17 SSB-Index
+ }
+}
+
+MPE-ResourceId-r17 ::= INTEGER (1..maxMPE-Resources-r17)
+
+-- TAG-PUSCH-CONFIG-STOP
+-- TAG-PUSCH-CONFIGCOMMON-START
+
+PUSCH-ConfigCommon ::= SEQUENCE {
+ groupHoppingEnabledTransformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R
+ pusch-TimeDomainAllocationList PUSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R
+ msg3-DeltaPreamble INTEGER (-1..6) OPTIONAL, -- Need R
+ p0-NominalWithGrant INTEGER (-202..24) OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-PUSCH-CONFIGCOMMON-STOP
+-- TAG-PUSCH-POWERCONTROL-START
+
+PUSCH-PowerControl ::= SEQUENCE {
+ tpc-Accumulation ENUMERATED { disabled } OPTIONAL, -- Need S
+ msg3-Alpha Alpha OPTIONAL, -- Need S
+ p0-NominalWithoutGrant INTEGER (-202..24) OPTIONAL, -- Need M
+ p0-AlphaSets SEQUENCE (SIZE (1..maxNrofP0-PUSCH-AlphaSets)) OF P0-PUSCH-AlphaSet OPTIONAL, -- Need M
+ pathlossReferenceRSToAddModList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS
+ OPTIONAL, -- Need N
+ pathlossReferenceRSToReleaseList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS-Id
+ OPTIONAL, -- Need N
+ twoPUSCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S
+ deltaMCS ENUMERATED {enabled} OPTIONAL, -- Need S
+ sri-PUSCH-MappingToAddModList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControl
+ OPTIONAL, -- Need N
+ sri-PUSCH-MappingToReleaseList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControlId
+ OPTIONAL -- Need N
+}
+
+P0-PUSCH-AlphaSet ::= SEQUENCE {
+ p0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId,
+ p0 INTEGER (-16..15) OPTIONAL, -- Need S
+ alpha Alpha OPTIONAL -- Need S
+}
+
+P0-PUSCH-AlphaSetId ::= INTEGER (0..maxNrofP0-PUSCH-AlphaSets-1)
+
+PUSCH-PathlossReferenceRS ::= SEQUENCE {
+ pusch-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id,
+ referenceSignal CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ }
+}
+
+PUSCH-PathlossReferenceRS-r16 ::= SEQUENCE {
+ pusch-PathlossReferenceRS-Id-r16 PUSCH-PathlossReferenceRS-Id-v1610,
+ referenceSignal-r16 CHOICE {
+ ssb-Index-r16 SSB-Index,
+ csi-RS-Index-r16 NZP-CSI-RS-ResourceId
+ }
+}
+
+DummyPathlossReferenceRS-v1710 ::= SEQUENCE {
+ pusch-PathlossReferenceRS-Id-r17 PUSCH-PathlossReferenceRS-Id-r17,
+ additionalPCI-r17 AdditionalPCIIndex-r17 OPTIONAL -- Need R
+}
+
+PUSCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1)
+
+PUSCH-PathlossReferenceRS-Id-v1610 ::= INTEGER (maxNrofPUSCH-PathlossReferenceRSs..maxNrofPUSCH-PathlossReferenceRSs-1-r16)
+
+PUSCH-PathlossReferenceRS-Id-r17 ::= INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1-r16)
+
+SRI-PUSCH-PowerControl ::= SEQUENCE {
+ sri-PUSCH-PowerControlId SRI-PUSCH-PowerControlId,
+ sri-PUSCH-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id,
+ sri-P0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId,
+ sri-PUSCH-ClosedLoopIndex ENUMERATED { i0, i1 }
+}
+
+SRI-PUSCH-PowerControlId ::= INTEGER (0..maxNrofSRI-PUSCH-Mappings-1)
+
+PUSCH-PowerControl-v1610 ::= SEQUENCE {
+ pathlossReferenceRSToAddModListSizeExt-v1610 SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSsDiff-r16)) OF PUSCH-PathlossReferenceRS-r16
+ OPTIONAL, -- Need N
+ pathlossReferenceRSToReleaseListSizeExt-v1610 SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSsDiff-r16)) OF PUSCH-PathlossReferenceRS-Id-v1610
+ OPTIONAL, -- Need N
+ p0-PUSCH-SetList-r16 SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF P0-PUSCH-Set-r16 OPTIONAL, -- Need R
+ olpc-ParameterSet SEQUENCE {
+ olpc-ParameterSetDCI-0-1-r16 INTEGER (1..2) OPTIONAL, -- Need R
+ olpc-ParameterSetDCI-0-2-r16 INTEGER (1..2) OPTIONAL -- Need R
+ } OPTIONAL, -- Need M
+ ...,
+ [[
+ sri-PUSCH-MappingToAddModList2-r17 SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControl
+ OPTIONAL, -- Need N
+ sri-PUSCH-MappingToReleaseList2-r17 SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControlId OPTIONAL, -- Need N
+ p0-PUSCH-SetList2-r17 SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF P0-PUSCH-Set-r16 OPTIONAL, -- Need R
+ dummy SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs-r16)) OF DummyPathlossReferenceRS-v1710 OPTIONAL -- Need N
+ ]]
+}
+
+P0-PUSCH-Set-r16 ::= SEQUENCE {
+ p0-PUSCH-SetId-r16 P0-PUSCH-SetId-r16,
+ p0-List-r16 SEQUENCE (SIZE (1..maxNrofP0-PUSCH-Set-r16)) OF P0-PUSCH-r16 OPTIONAL, -- Need R
+ ...
+}
+
+P0-PUSCH-SetId-r16 ::= INTEGER (0..maxNrofSRI-PUSCH-Mappings-1)
+
+P0-PUSCH-r16 ::= INTEGER (-16..15)
+
+-- TAG-PUSCH-POWERCONTROL-STOP
+-- TAG-PUSCH-SERVINGCELLCONFIG-START
+
+PUSCH-ServingCellConfig ::= SEQUENCE {
+ codeBlockGroupTransmission CHOICE {release NULL, setup PUSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M
+ rateMatching ENUMERATED {limitedBufferRM} OPTIONAL, -- Need S
+ xOverhead ENUMERATED {xoh6, xoh12, xoh18} OPTIONAL, -- Need S
+ ...,
+ [[
+ maxMIMO-Layers INTEGER (1..4) OPTIONAL, -- Need M
+ processingType2Enabled BOOLEAN OPTIONAL -- Need M
+ ]],
+ [[
+ maxMIMO-LayersDCI-0-2-r16 CHOICE {release NULL, setup MaxMIMO-LayersDCI-0-2-r16} OPTIONAL -- Need M
+ ]],
+ [[
+ nrofHARQ-ProcessesForPUSCH-r17 ENUMERATED {n32} OPTIONAL, -- Need R
+ uplinkHARQ-mode-r17 CHOICE {release NULL, setup UplinkHARQ-mode-r17} OPTIONAL -- Need M
+ ]]
+}
+
+PUSCH-CodeBlockGroupTransmission ::= SEQUENCE {
+ maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},
+ ...
+}
+
+MaxMIMO-LayersDCI-0-2-r16 ::= INTEGER (1..4)
+
+UplinkHARQ-mode-r17 ::= BIT STRING (SIZE (32))
+
+-- TAG-PUSCH-SERVINGCELLCONFIG-STOP
+-- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START
+
+PUSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation
+
+PUSCH-TimeDomainResourceAllocation ::= SEQUENCE {
+ k2 INTEGER(0..32) OPTIONAL, -- Need S
+ mappingType ENUMERATED {typeA, typeB},
+ startSymbolAndLength INTEGER (0..127)
+}
+
+PUSCH-TimeDomainResourceAllocationList-r16 ::= SEQUENCE (SIZE(1..maxNrofUL-Allocations-r16)) OF PUSCH-TimeDomainResourceAllocation-r16
+
+PUSCH-TimeDomainResourceAllocation-r16 ::= SEQUENCE {
+ k2-r16 INTEGER(0..32) OPTIONAL, -- Need S
+ puschAllocationList-r16 SEQUENCE (SIZE(1..maxNrofMultiplePUSCHs-r16)) OF PUSCH-Allocation-r16,
+...
+}
+
+PUSCH-Allocation-r16 ::= SEQUENCE {
+ mappingType-r16 ENUMERATED {typeA, typeB} OPTIONAL, -- Cond NotFormat01-02-Or-TypeA
+ startSymbolAndLength-r16 INTEGER (0..127) OPTIONAL, -- Cond NotFormat01-02-Or-TypeA
+ startSymbol-r16 INTEGER (0..13) OPTIONAL, -- Cond RepTypeB
+ length-r16 INTEGER (1..14) OPTIONAL, -- Cond RepTypeB
+ numberOfRepetitions-r16 ENUMERATED {n1, n2, n3, n4, n7, n8, n12, n16} OPTIONAL, -- Cond Format01-02
+ ...,
+ [[
+ numberOfRepetitionsExt-r17 ENUMERATED {n1, n2, n3, n4, n7, n8, n12, n16, n20, n24, n28, n32, spare4, spare3, spare2,
+ spare1} OPTIONAL, -- Cond Format01-02-For-TypeA
+ numberOfSlotsTBoMS-r17 ENUMERATED {n1, n2, n4, n8, spare4, spare3, spare2, spare1} OPTIONAL, -- Need R
+ extendedK2-r17 INTEGER (0..128) OPTIONAL -- Cond MultiPUSCH
+ ]]
+}
+
+-- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP
+-- TAG-PUSCH-TPC-COMMANDCONFIG-START
+
+PUSCH-TPC-CommandConfig ::= SEQUENCE {
+ tpc-Index INTEGER (1..15) OPTIONAL, -- Cond SUL
+ tpc-IndexSUL INTEGER (1..15) OPTIONAL, -- Cond SUL-Only
+ targetCell ServCellIndex OPTIONAL, -- Need S
+ ...
+}
+
+-- TAG-PUSCH-TPC-COMMANDCONFIG-STOP
+-- TAG-Q-OFFSETRANGE-START
+
+Q-OffsetRange ::= ENUMERATED {
+ dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
+ dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,
+ dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,
+ dB6, dB8, dB10, dB12, dB14, dB16, dB18,
+ dB20, dB22, dB24}
+
+-- TAG-Q-OFFSETRANGE-STOP
+-- TAG-Q-QUALMIN-START
+
+Q-QualMin ::= INTEGER (-43..-12)
+
+-- TAG-Q-QUALMIN-STOP
+-- TAG-Q-RXLEVMIN-START
+
+Q-RxLevMin ::= INTEGER (-70..-22)
+
+-- TAG-Q-RXLEVMIN-STOP
+-- TAG-QUANTITYCONFIG-START
+
+
+QuantityConfig ::= SEQUENCE {
+ quantityConfigNR-List SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR OPTIONAL, -- Need M
+ ...,
+ [[
+ quantityConfigEUTRA FilterConfig OPTIONAL -- Need M
+ ]],
+ [[
+ quantityConfigUTRA-FDD-r16 QuantityConfigUTRA-FDD-r16 OPTIONAL, -- Need M
+ quantityConfigCLI-r16 FilterConfigCLI-r16 OPTIONAL -- Need M
+ ]]
+}
+
+QuantityConfigNR::= SEQUENCE {
+ quantityConfigCell QuantityConfigRS,
+ quantityConfigRS-Index QuantityConfigRS OPTIONAL -- Need M
+}
+
+QuantityConfigRS ::= SEQUENCE {
+ ssb-FilterConfig FilterConfig,
+ csi-RS-FilterConfig FilterConfig
+}
+
+FilterConfig ::= SEQUENCE {
+ filterCoefficientRSRP FilterCoefficient DEFAULT fc4,
+ filterCoefficientRSRQ FilterCoefficient DEFAULT fc4,
+ filterCoefficientRS-SINR FilterCoefficient DEFAULT fc4
+}
+
+FilterConfigCLI-r16 ::= SEQUENCE {
+ filterCoefficientSRS-RSRP-r16 FilterCoefficient DEFAULT fc4,
+ filterCoefficientCLI-RSSI-r16 FilterCoefficient DEFAULT fc4
+}
+
+QuantityConfigUTRA-FDD-r16 ::= SEQUENCE {
+ filterCoefficientRSCP-r16 FilterCoefficient DEFAULT fc4,
+ filterCoefficientEcNO-r16 FilterCoefficient DEFAULT fc4
+}
+
+-- TAG-QUANTITYCONFIG-STOP
+-- TAG-RACH-CONFIGCOMMON-START
+
+RACH-ConfigCommon ::= SEQUENCE {
+ rach-ConfigGeneric RACH-ConfigGeneric,
+ totalNumberOfRA-Preambles INTEGER (1..63) OPTIONAL, -- Need S
+ ssb-perRACH-OccasionAndCB-PreamblesPerSSB CHOICE {
+ oneEighth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ oneFourth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ oneHalf ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ one ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ two ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32},
+ four INTEGER (1..16),
+ eight INTEGER (1..8),
+ sixteen INTEGER (1..4)
+ } OPTIONAL, -- Need M
+
+ groupBconfigured SEQUENCE {
+ ra-Msg3SizeGroupA ENUMERATED {b56, b144, b208, b256, b282, b480, b640,
+ b800, b1000, b72, spare6, spare5,spare4, spare3, spare2, spare1},
+ messagePowerOffsetGroupB ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18},
+ numberOfRA-PreamblesGroupA INTEGER (1..64)
+ } OPTIONAL, -- Need R
+ ra-ContentionResolutionTimer ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64},
+ rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need R
+ rsrp-ThresholdSSB-SUL RSRP-Range OPTIONAL, -- Cond SUL
+ prach-RootSequenceIndex CHOICE {
+ l839 INTEGER (0..837),
+ l139 INTEGER (0..137)
+ },
+ msg1-SubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond L139
+ restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB},
+ msg3-transformPrecoder ENUMERATED {enabled} OPTIONAL, -- Need R
+ ...,
+ [[
+ ra-PrioritizationForAccessIdentity-r16 SEQUENCE {
+ ra-Prioritization-r16 RA-Prioritization,
+ ra-PrioritizationForAI-r16 BIT STRING (SIZE (2))
+ } OPTIONAL, -- Cond InitialBWP-Only
+ prach-RootSequenceIndex-r16 CHOICE {
+ l571 INTEGER (0..569),
+ l1151 INTEGER (0..1149)
+ } OPTIONAL -- Need R
+ ]],
+ [[
+ ra-PrioritizationForSlicing-r17 RA-PrioritizationForSlicing-r17 OPTIONAL, -- Cond InitialBWP-Only
+ featureCombinationPreamblesList-r17 SEQUENCE (SIZE(1..maxFeatureCombPreamblesPerRACHResource-r17)) OF FeatureCombinationPreambles-r17 OPTIONAL -- Cond AdditionalRACH
+ ]]
+}
+
+-- TAG-RACH-CONFIGCOMMON-STOP
+-- TAG-RACH-CONFIGCOMMONTWOSTEPRA-START
+
+RACH-ConfigCommonTwoStepRA-r16 ::= SEQUENCE {
+ rach-ConfigGenericTwoStepRA-r16 RACH-ConfigGenericTwoStepRA-r16,
+ msgA-TotalNumberOfRA-Preambles-r16 INTEGER (1..63) OPTIONAL, -- Need S
+ msgA-SSB-PerRACH-OccasionAndCB-PreamblesPerSSB-r16 CHOICE {
+ oneEighth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ oneFourth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ oneHalf ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ one ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
+ two ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32},
+ four INTEGER (1..16),
+ eight INTEGER (1..8),
+ sixteen INTEGER (1..4)
+ } OPTIONAL, -- Cond 2StepOnly
+ msgA-CB-PreamblesPerSSB-PerSharedRO-r16 INTEGER (1..60) OPTIONAL, -- Cond SharedRO
+ msgA-SSB-SharedRO-MaskIndex-r16 INTEGER (1..15) OPTIONAL, -- Need S
+ groupB-ConfiguredTwoStepRA-r16 GroupB-ConfiguredTwoStepRA-r16 OPTIONAL, -- Need S
+ msgA-PRACH-RootSequenceIndex-r16 CHOICE {
+ l839 INTEGER (0..837),
+ l139 INTEGER (0..137),
+ l571 INTEGER (0..569),
+ l1151 INTEGER (0..1149)
+ } OPTIONAL, -- Cond 2StepOnly
+ msgA-TransMax-r16 ENUMERATED {n1, n2, n4, n6, n8, n10, n20, n50, n100, n200} OPTIONAL, -- Need R
+ msgA-RSRP-Threshold-r16 RSRP-Range OPTIONAL, -- Cond 2Step4Step
+ msgA-RSRP-ThresholdSSB-r16 RSRP-Range OPTIONAL, -- Need R
+ msgA-SubcarrierSpacing-r16 SubcarrierSpacing OPTIONAL, -- Cond 2StepOnlyL139
+ msgA-RestrictedSetConfig-r16 ENUMERATED {unrestrictedSet, restrictedSetTypeA,
+ restrictedSetTypeB} OPTIONAL, -- Cond 2StepOnly
+ ra-PrioritizationForAccessIdentityTwoStep-r16 SEQUENCE {
+ ra-Prioritization-r16 RA-Prioritization,
+ ra-PrioritizationForAI-r16 BIT STRING (SIZE (2))
+ } OPTIONAL, -- Cond InitialBWP-Only
+ ra-ContentionResolutionTimer-r16 ENUMERATED {sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64} OPTIONAL, -- Cond 2StepOnly
+ ...,
+ [[
+ ra-PrioritizationForSlicingTwoStep-r17 RA-PrioritizationForSlicing-r17 OPTIONAL, -- Cond InitialBWP-Only
+ featureCombinationPreamblesList-r17 SEQUENCE (SIZE(1..maxFeatureCombPreamblesPerRACHResource-r17)) OF FeatureCombinationPreambles-r17 OPTIONAL -- Cond AdditionalRACH
+ ]]
+}
+
+GroupB-ConfiguredTwoStepRA-r16 ::= SEQUENCE {
+ ra-MsgA-SizeGroupA ENUMERATED {b56, b144, b208, b256, b282, b480, b640, b800,
+ b1000, b72, spare6, spare5, spare4, spare3, spare2, spare1},
+ messagePowerOffsetGroupB ENUMERATED {minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18},
+ numberOfRA-PreamblesGroupA INTEGER (1..64)
+}
+
+-- TAG-RACH-CONFIGCOMMONTWOSTEPRA-STOP
+-- TAG-RACH-CONFIGDEDICATED-START
+
+
+RACH-ConfigDedicated ::= SEQUENCE {
+ cfra CFRA OPTIONAL, -- Need S
+ ra-Prioritization RA-Prioritization OPTIONAL, -- Need N
+ ...,
+ [[
+ ra-PrioritizationTwoStep-r16 RA-Prioritization OPTIONAL, -- Need N
+ cfra-TwoStep-r16 CFRA-TwoStep-r16 OPTIONAL -- Need S
+ ]]
+}
+
+CFRA ::= SEQUENCE {
+ occasions SEQUENCE {
+ rach-ConfigGeneric RACH-ConfigGeneric,
+ ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen}
+ OPTIONAL -- Cond Mandatory
+ } OPTIONAL, -- Need S
+ resources CHOICE {
+ ssb SEQUENCE {
+ ssb-ResourceList SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource,
+ ra-ssb-OccasionMaskIndex INTEGER (0..15)
+ },
+ csirs SEQUENCE {
+ csirs-ResourceList SEQUENCE (SIZE(1..maxRA-CSIRS-Resources)) OF CFRA-CSIRS-Resource,
+ rsrp-ThresholdCSI-RS RSRP-Range
+ }
+ },
+ ...,
+ [[
+ totalNumberOfRA-Preambles INTEGER (1..63) OPTIONAL -- Cond Occasions
+ ]]
+}
+
+CFRA-TwoStep-r16 ::= SEQUENCE {
+ occasionsTwoStepRA-r16 SEQUENCE {
+ rach-ConfigGenericTwoStepRA-r16 RACH-ConfigGenericTwoStepRA-r16,
+ ssb-PerRACH-OccasionTwoStepRA-r16 ENUMERATED {oneEighth, oneFourth, oneHalf, one,
+ two, four, eight, sixteen}
+ } OPTIONAL, -- Need S
+ msgA-CFRA-PUSCH-r16 MsgA-PUSCH-Resource-r16,
+ msgA-TransMax-r16 ENUMERATED {n1, n2, n4, n6, n8, n10, n20, n50, n100, n200} OPTIONAL, -- Need S
+ resourcesTwoStep-r16 SEQUENCE {
+ ssb-ResourceList SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource,
+ ra-ssb-OccasionMaskIndex INTEGER (0..15)
+ },
+ ...
+}
+
+CFRA-SSB-Resource ::= SEQUENCE {
+ ssb SSB-Index,
+ ra-PreambleIndex INTEGER (0..63),
+ ...,
+ [[
+ msgA-PUSCH-Resource-Index-r16 INTEGER (0..3071) OPTIONAL -- Cond 2StepCFRA
+ ]]
+
+}
+
+CFRA-CSIRS-Resource ::= SEQUENCE {
+ csi-RS CSI-RS-Index,
+ ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1),
+ ra-PreambleIndex INTEGER (0..63),
+ ...
+}
+
+-- TAG-RACH-CONFIGDEDICATED-STOP
+-- TAG-RACH-CONFIGGENERIC-START
+
+RACH-ConfigGeneric ::= SEQUENCE {
+ prach-ConfigurationIndex INTEGER (0..255),
+ msg1-FDM ENUMERATED {one, two, four, eight},
+ msg1-FrequencyStart INTEGER (0..maxNrofPhysicalResourceBlocks-1),
+ zeroCorrelationZoneConfig INTEGER(0..15),
+ preambleReceivedTargetPower INTEGER (-202..-60),
+ preambleTransMax ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200},
+ powerRampingStep ENUMERATED {dB0, dB2, dB4, dB6},
+ ra-ResponseWindow ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80},
+ ...,
+ [[
+ prach-ConfigurationPeriodScaling-IAB-r16 ENUMERATED {scf1,scf2,scf4,scf8,scf16,scf32,scf64} OPTIONAL, -- Need R
+ prach-ConfigurationFrameOffset-IAB-r16 INTEGER (0..63) OPTIONAL, -- Need R
+ prach-ConfigurationSOffset-IAB-r16 INTEGER (0..39) OPTIONAL, -- Need R
+ ra-ResponseWindow-v1610 ENUMERATED { sl60, sl160} OPTIONAL, -- Need R
+ prach-ConfigurationIndex-v1610 INTEGER (256..262) OPTIONAL -- Need R
+ ]],
+ [[
+ ra-ResponseWindow-v1700 ENUMERATED {sl240, sl320, sl640, sl960, sl1280, sl1920, sl2560} OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-RACH-CONFIGGENERIC-STOP
+-- TAG-RACH-CONFIGGENERICTWOSTEPRA-START
+
+RACH-ConfigGenericTwoStepRA-r16 ::= SEQUENCE {
+ msgA-PRACH-ConfigurationIndex-r16 INTEGER (0..262) OPTIONAL, -- Cond 2StepOnly
+ msgA-RO-FDM-r16 ENUMERATED {one, two, four, eight} OPTIONAL, -- Cond 2StepOnly
+ msgA-RO-FrequencyStart-r16 INTEGER (0..maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Cond 2StepOnly
+ msgA-ZeroCorrelationZoneConfig-r16 INTEGER (0..15) OPTIONAL, -- Cond 2StepOnly
+ msgA-PreamblePowerRampingStep-r16 ENUMERATED {dB0, dB2, dB4, dB6} OPTIONAL, -- Cond 2StepOnlyNoCFRA
+ msgA-PreambleReceivedTargetPower-r16 INTEGER (-202..-60) OPTIONAL, -- Cond 2StepOnlyNoCFRA
+ msgB-ResponseWindow-r16 ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80, sl160, sl320}
+ OPTIONAL, -- Cond NoCFRA
+ preambleTransMax-r16 ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200} OPTIONAL, -- Cond 2StepOnlyNoCFRA
+ ...,
+ [[
+ msgB-ResponseWindow-v1700 ENUMERATED {sl240, sl640, sl960, sl1280, sl1920, sl2560} OPTIONAL -- Cond NoCFRA2
+ ]]
+}
+
+-- TAG-RACH-CONFIGGENERICTWOSTEPRA-STOP
+-- TAG-RA-PRIORITIZATION-START
+
+RA-Prioritization ::= SEQUENCE {
+ powerRampingStepHighPriority ENUMERATED {dB0, dB2, dB4, dB6},
+ scalingFactorBI ENUMERATED {zero, dot25, dot5, dot75} OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-RA-PRIORITIZATION-STOP
+-- TAG-RA-PRIORITIZATIONFORSLICING-START
+
+RA-PrioritizationForSlicing-r17 ::= SEQUENCE {
+ ra-PrioritizationSliceInfoList-r17 RA-PrioritizationSliceInfoList-r17,
+ ...
+}
+
+RA-PrioritizationSliceInfoList-r17 ::= SEQUENCE (SIZE (1..maxSliceInfo-r17)) OF RA-PrioritizationSliceInfo-r17
+
+RA-PrioritizationSliceInfo-r17 ::= SEQUENCE {
+ nsag-ID-List-r17 SEQUENCE (SIZE (1..maxSliceInfo-r17)) OF NSAG-ID-r17,
+ ra-Prioritization-r17 RA-Prioritization,
+ ...
+}
+
+-- TAG-RA-PRIORITIZATIONFORSLICING-STOP
+-- TAG-RADIOBEARERCONFIG-START
+
+RadioBearerConfig ::= SEQUENCE {
+ srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn
+ srb3-ToRelease ENUMERATED{true} OPTIONAL, -- Need N
+ drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toNR
+ drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need N
+ securityConfig SecurityConfig OPTIONAL, -- Need M
+ ...,
+ [[
+ mrb-ToAddModList-r17 MRB-ToAddModList-r17 OPTIONAL, -- Need N
+ mrb-ToReleaseList-r17 MRB-ToReleaseList-r17 OPTIONAL, -- Need N
+ srb4-ToAddMod-r17 SRB-ToAddMod OPTIONAL, -- Need N
+ srb4-ToRelease-r17 ENUMERATED{true} OPTIONAL -- Need N
+ ]]
+
+}
+
+SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod
+
+SRB-ToAddMod ::= SEQUENCE {
+ srb-Identity SRB-Identity,
+ reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
+ ...,
+ [[
+ srb-Identity-v1700 SRB-Identity-v1700 OPTIONAL -- Need M
+ ]]
+}
+
+DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod
+
+DRB-ToAddMod ::= SEQUENCE {
+ cnAssociation CHOICE {
+ eps-BearerIdentity INTEGER (0..15),
+ sdap-Config SDAP-Config
+ } OPTIONAL, -- Cond DRBSetup
+ drb-Identity DRB-Identity,
+ reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
+ ...,
+ [[
+ daps-Config-r16 ENUMERATED{true} OPTIONAL -- Cond DAPS
+ ]]
+}
+DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity
+
+SecurityConfig ::= SEQUENCE {
+ securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond RBTermChange1
+ keyToUse ENUMERATED{master, secondary} OPTIONAL, -- Cond RBTermChange
+ ...
+}
+
+MRB-ToAddModList-r17 ::= SEQUENCE (SIZE (1..maxMRB-r17)) OF MRB-ToAddMod-r17
+
+MRB-ToAddMod-r17 ::= SEQUENCE {
+ mbs-SessionId-r17 TMGI-r17 OPTIONAL, -- Cond MRBSetup
+ mrb-Identity-r17 MRB-Identity-r17,
+ mrb-IdentityNew-r17 MRB-Identity-r17 OPTIONAL, -- Need N
+ reestablishPDCP-r17 ENUMERATED{true} OPTIONAL, -- Need N
+ recoverPDCP-r17 ENUMERATED{true} OPTIONAL, -- Need N
+ pdcp-Config-r17 PDCP-Config OPTIONAL, -- Cond PDCP
+ ...
+}
+
+MRB-ToReleaseList-r17 ::= SEQUENCE (SIZE (1..maxMRB-r17)) OF MRB-Identity-r17
+
+-- TAG-RADIOBEARERCONFIG-STOP
+-- TAG-RADIOLINKMONITORINGCONFIG-START
+
+RadioLinkMonitoringConfig ::= SEQUENCE {
+ failureDetectionResourcesToAddModList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS
+ OPTIONAL, -- Need N
+ failureDetectionResourcesToReleaseList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS-Id
+ OPTIONAL, -- Need N
+ beamFailureInstanceMaxCount ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10} OPTIONAL, -- Need R
+ beamFailureDetectionTimer ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10} OPTIONAL, -- Need R
+ ...,
+ [[
+ beamFailure-r17 BeamFailureDetection-r17 OPTIONAL -- Need R
+ ]]
+}
+
+BeamFailureDetection-r17 ::= SEQUENCE {
+ failureDetectionSet1-r17 BeamFailureDetectionSet-r17 OPTIONAL, -- Need R
+ failureDetectionSet2-r17 BeamFailureDetectionSet-r17 OPTIONAL, -- Need R
+ additionalPCI-r17 AdditionalPCIIndex-r17 OPTIONAL -- Need R
+}
+
+RadioLinkMonitoringRS ::= SEQUENCE {
+ radioLinkMonitoringRS-Id RadioLinkMonitoringRS-Id,
+ purpose ENUMERATED {beamFailure, rlf, both},
+ detectionResource CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ },
+ ...
+}
+
+BeamFailureDetectionSet-r17 ::= SEQUENCE {
+ bfdResourcesToAddModList-r17 SEQUENCE (SIZE(1..maxNrofBFDResourcePerSet-r17)) OF BeamLinkMonitoringRS-r17
+ OPTIONAL, -- Need N
+ bfdResourcesToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofBFDResourcePerSet-r17)) OF BeamLinkMonitoringRS-Id-r17
+ OPTIONAL, -- Need N
+ beamFailureInstanceMaxCount-r17 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10} OPTIONAL, -- Need R
+ beamFailureDetectionTimer-r17 ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10} OPTIONAL, -- Need R
+ ...
+}
+
+BeamLinkMonitoringRS-r17 ::= SEQUENCE {
+ beamLinkMonitoringRS-Id-r17 BeamLinkMonitoringRS-Id-r17,
+ detectionResource-r17 CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+ },
+ ...
+}
+
+BeamLinkMonitoringRS-Id-r17 ::= INTEGER (0..maxNrofFailureDetectionResources-1-r17)
+
+-- TAG-RADIOLINKMONITORINGCONFIG-STOP
+-- TAG-RADIOLINKMONITORINGRS-ID-START
+
+RadioLinkMonitoringRS-Id ::= INTEGER (0..maxNrofFailureDetectionResources-1)
+
+-- TAG-RADIOLINKMONITORINGRS-ID-STOP
+-- TAG-RAN-AREACODE-START
+
+RAN-AreaCode ::= INTEGER (0..255)
+
+-- TAG-RAN-AREACODE-STOP
+-- TAG-RATEMATCHPATTERN-START
+
+RateMatchPattern ::= SEQUENCE {
+ rateMatchPatternId RateMatchPatternId,
+
+ patternType CHOICE {
+ bitmaps SEQUENCE {
+ resourceBlocks BIT STRING (SIZE (275)),
+ symbolsInResourceBlock CHOICE {
+ oneSlot BIT STRING (SIZE (14)),
+ twoSlots BIT STRING (SIZE (28))
+ },
+ periodicityAndPattern CHOICE {
+ n2 BIT STRING (SIZE (2)),
+ n4 BIT STRING (SIZE (4)),
+ n5 BIT STRING (SIZE (5)),
+ n8 BIT STRING (SIZE (8)),
+ n10 BIT STRING (SIZE (10)),
+ n20 BIT STRING (SIZE (20)),
+ n40 BIT STRING (SIZE (40))
+ } OPTIONAL, -- Need S
+ ...
+ },
+ controlResourceSet ControlResourceSetId
+ },
+ subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel
+ dummy ENUMERATED { dynamic, semiStatic },
+ ...,
+ [[
+ controlResourceSet-r16 ControlResourceSetId-r16 OPTIONAL -- Need R
+ ]]
+
+}
+
+-- TAG-RATEMATCHPATTERN-STOP
+-- TAG-RATEMATCHPATTERNID-START
+
+RateMatchPatternId ::= INTEGER (0..maxNrofRateMatchPatterns-1)
+
+-- TAG-RATEMATCHPATTERNID-STOP
+-- TAG-RATEMATCHPATTERNLTE-CRS-START
+
+RateMatchPatternLTE-CRS ::= SEQUENCE {
+ carrierFreqDL INTEGER (0..16383),
+ carrierBandwidthDL ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare1},
+ mbsfn-SubframeConfigList EUTRA-MBSFN-SubframeConfigList OPTIONAL, -- Need M
+ nrofCRS-Ports ENUMERATED {n1, n2, n4},
+ v-Shift ENUMERATED {n0, n1, n2, n3, n4, n5}
+}
+
+LTE-CRS-PatternList-r16 ::= SEQUENCE (SIZE (1..maxLTE-CRS-Patterns-r16)) OF RateMatchPatternLTE-CRS
+
+-- TAG-RATEMATCHPATTERNLTE-CRS-STOP
+-- TAG-REFERENCELOCATION-START
+
+ReferenceLocation-r17 ::= OCTET STRING
+
+-- TAG-REFERENCELOCATION-STOP
+-- TAG-REFERENCETIMEINFO-START
+
+ReferenceTimeInfo-r16 ::= SEQUENCE {
+ time-r16 ReferenceTime-r16,
+ uncertainty-r16 INTEGER (0..32767) OPTIONAL, -- Need S
+ timeInfoType-r16 ENUMERATED {localClock} OPTIONAL, -- Need S
+ referenceSFN-r16 INTEGER (0..1023) OPTIONAL -- Cond RefTime
+}
+
+ReferenceTime-r16 ::= SEQUENCE {
+ refDays-r16 INTEGER (0..72999),
+ refSeconds-r16 INTEGER (0..86399),
+ refMilliSeconds-r16 INTEGER (0..999),
+ refTenNanoSeconds-r16 INTEGER (0..99999)
+}
+
+-- TAG-REFERENCETIMEINFO-STOP
+-- TAG-REJECTWAITTIME-START
+
+RejectWaitTime ::= INTEGER (1..16)
+
+-- TAG-REJECTWAITTIME-STOP
+-- TAG-REPETITIONSCHEMECONFIG-START
+
+RepetitionSchemeConfig-r16 ::= CHOICE {
+ fdm-TDM-r16 CHOICE {release NULL, setup FDM-TDM-r16 },
+ slotBased-r16 CHOICE {release NULL, setup SlotBased-r16 }
+}
+
+RepetitionSchemeConfig-v1630 ::= SEQUENCE {
+ slotBased-v1630 CHOICE {release NULL, setup SlotBased-v1630 }
+}
+
+FDM-TDM-r16 ::= SEQUENCE {
+ repetitionScheme-r16 ENUMERATED {fdmSchemeA, fdmSchemeB,tdmSchemeA },
+ startingSymbolOffsetK-r16 INTEGER (0..7) OPTIONAL -- Need R
+}
+
+SlotBased-r16 ::= SEQUENCE {
+ tciMapping-r16 ENUMERATED {cyclicMapping, sequentialMapping},
+ sequenceOffsetForRV-r16 INTEGER (1..3)
+}
+
+SlotBased-v1630 ::= SEQUENCE {
+ tciMapping-r16 ENUMERATED {cyclicMapping, sequentialMapping},
+ sequenceOffsetForRV-r16 INTEGER (0)
+}
+
+-- TAG-REPETITIONSCHEMECONFIG-STOP
+-- TAG-REPORTCONFIGID-START
+
+ReportConfigId ::= INTEGER (1..maxReportConfigId)
+
+-- TAG-REPORTCONFIGID-STOP
+-- TAG-REPORTCONFIGINTERRAT-START
+
+ReportConfigInterRAT ::= SEQUENCE {
+ reportType CHOICE {
+ periodical PeriodicalReportConfigInterRAT,
+ eventTriggered EventTriggerConfigInterRAT,
+ reportCGI ReportCGI-EUTRA,
+ ...,
+ reportSFTD ReportSFTD-EUTRA
+ }
+}
+
+ReportCGI-EUTRA ::= SEQUENCE {
+ cellForWhichToReportCGI EUTRA-PhysCellId,
+ ...,
+ [[
+ useAutonomousGaps-r16 ENUMERATED {setup} OPTIONAL -- Need R
+ ]]
+}
+
+ReportSFTD-EUTRA ::= SEQUENCE {
+ reportSFTD-Meas BOOLEAN,
+ reportRSRP BOOLEAN,
+ ...
+}
+
+EventTriggerConfigInterRAT ::= SEQUENCE {
+ eventId CHOICE {
+ eventB1 SEQUENCE {
+ b1-ThresholdEUTRA MeasTriggerQuantityEUTRA,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ ...
+ },
+ eventB2 SEQUENCE {
+ b2-Threshold1 MeasTriggerQuantity,
+ b2-Threshold2EUTRA MeasTriggerQuantityEUTRA,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ ...
+ },
+ ...,
+ [[
+ eventB1-UTRA-FDD-r16 SEQUENCE {
+ b1-ThresholdUTRA-FDD-r16 MeasTriggerQuantityUTRA-FDD-r16,
+ reportOnLeave-r16 BOOLEAN,
+ hysteresis-r16 Hysteresis,
+ timeToTrigger-r16 TimeToTrigger,
+ ...
+ },
+ eventB2-UTRA-FDD-r16 SEQUENCE {
+ b2-Threshold1-r16 MeasTriggerQuantity,
+ b2-Threshold2UTRA-FDD-r16 MeasTriggerQuantityUTRA-FDD-r16,
+ reportOnLeave-r16 BOOLEAN,
+ hysteresis-r16 Hysteresis,
+ timeToTrigger-r16 TimeToTrigger,
+ ...
+ }
+ ]],
+ [[
+ eventY1-Relay-r17 SEQUENCE {
+ y1-Threshold1-r17 MeasTriggerQuantity,
+ y1-Threshold2-Relay-r17 SL-MeasTriggerQuantity-r16,
+ reportOnLeave-r17 BOOLEAN,
+ hysteresis-r17 Hysteresis,
+ timeToTrigger-r17 TimeToTrigger,
+ ...
+ },
+ eventY2-Relay-r17 SEQUENCE {
+ y2-Threshold-Relay-r17 SL-MeasTriggerQuantity-r16,
+ reportOnLeave-r17 BOOLEAN,
+ hysteresis-r17 Hysteresis,
+ timeToTrigger-r17 TimeToTrigger,
+ ...
+ }
+ ]]
+ },
+ rsType NR-RS-Type,
+
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ reportQuantity MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+ ...,
+ [[
+ reportQuantityUTRA-FDD-r16 MeasReportQuantityUTRA-FDD-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ includeCommonLocationInfo-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ includeBT-Meas-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, -- Need M
+ includeWLAN-Meas-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, -- Need M
+ includeSensor-Meas-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL -- Need M
+ ]],
+ [[
+ reportQuantityRelay-r17 SL-MeasReportQuantity-r16 OPTIONAL -- Need R
+ ]]}
+
+PeriodicalReportConfigInterRAT ::= SEQUENCE {
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ reportQuantity MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+ ...,
+ [[
+ reportQuantityUTRA-FDD-r16 MeasReportQuantityUTRA-FDD-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ includeCommonLocationInfo-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ includeBT-Meas-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, -- Need M
+ includeWLAN-Meas-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, -- Need M
+ includeSensor-Meas-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL -- Need M
+ ]],
+ [[
+ reportQuantityRelay-r17 SL-MeasReportQuantity-r16 OPTIONAL -- Need R
+ ]]
+
+}
+
+MeasTriggerQuantityUTRA-FDD-r16 ::= CHOICE{
+ utra-FDD-RSCP-r16 INTEGER (-5..91),
+ utra-FDD-EcN0-r16 INTEGER (0..49)
+}
+
+MeasReportQuantityUTRA-FDD-r16 ::= SEQUENCE {
+ cpich-RSCP BOOLEAN,
+ cpich-EcN0 BOOLEAN
+}
+
+-- TAG-REPORTCONFIGINTERRAT-STOP
+-- TAG-REPORTCONFIGNR-START
+
+ReportConfigNR ::= SEQUENCE {
+ reportType CHOICE {
+ periodical PeriodicalReportConfig,
+ eventTriggered EventTriggerConfig,
+ ...,
+ reportCGI ReportCGI,
+ reportSFTD ReportSFTD-NR,
+ condTriggerConfig-r16 CondTriggerConfig-r16,
+ cli-Periodical-r16 CLI-PeriodicalReportConfig-r16,
+ cli-EventTriggered-r16 CLI-EventTriggerConfig-r16,
+ rxTxPeriodical-r17 RxTxPeriodical-r17
+ }
+}
+
+ReportCGI ::= SEQUENCE {
+ cellForWhichToReportCGI PhysCellId,
+ ...,
+ [[
+ useAutonomousGaps-r16 ENUMERATED {setup} OPTIONAL -- Need R
+ ]]
+
+}
+
+ReportSFTD-NR ::= SEQUENCE {
+ reportSFTD-Meas BOOLEAN,
+ reportRSRP BOOLEAN,
+ ...,
+ [[
+ reportSFTD-NeighMeas ENUMERATED {true} OPTIONAL, -- Need R
+ drx-SFTD-NeighMeas ENUMERATED {true} OPTIONAL, -- Need R
+ cellsForWhichToReportSFTD SEQUENCE (SIZE (1..maxCellSFTD)) OF PhysCellId OPTIONAL -- Need R
+ ]]
+}
+
+CondTriggerConfig-r16 ::= SEQUENCE {
+ condEventId CHOICE {
+ condEventA3 SEQUENCE {
+ a3-Offset MeasTriggerQuantityOffset,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger
+ },
+ condEventA5 SEQUENCE {
+ a5-Threshold1 MeasTriggerQuantity,
+ a5-Threshold2 MeasTriggerQuantity,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger
+ },
+ ...,
+ condEventA4-r17 SEQUENCE {
+ a4-Threshold-r17 MeasTriggerQuantity,
+ hysteresis-r17 Hysteresis,
+ timeToTrigger-r17 TimeToTrigger
+ },
+ condEventD1-r17 SEQUENCE {
+ distanceThreshFromReference1-r17 INTEGER(0.. 65525),
+ distanceThreshFromReference2-r17 INTEGER(0.. 65525),
+ referenceLocation1-r17 ReferenceLocation-r17,
+ referenceLocation2-r17 ReferenceLocation-r17,
+ hysteresisLocation-r17 HysteresisLocation-r17,
+ timeToTrigger-r17 TimeToTrigger
+ },
+ condEventT1-r17 SEQUENCE {
+ t1-Threshold-r17 INTEGER (0..549755813887),
+ duration-r17 INTEGER (1..6000)
+ }
+ },
+ rsType-r16 NR-RS-Type,
+ ...
+}
+
+EventTriggerConfig::= SEQUENCE {
+ eventId CHOICE {
+ eventA1 SEQUENCE {
+ a1-Threshold MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger
+ },
+ eventA2 SEQUENCE {
+ a2-Threshold MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger
+ },
+ eventA3 SEQUENCE {
+ a3-Offset MeasTriggerQuantityOffset,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useAllowedCellList BOOLEAN
+ },
+ eventA4 SEQUENCE {
+ a4-Threshold MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useAllowedCellList BOOLEAN
+ },
+ eventA5 SEQUENCE {
+ a5-Threshold1 MeasTriggerQuantity,
+ a5-Threshold2 MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useAllowedCellList BOOLEAN
+ },
+ eventA6 SEQUENCE {
+ a6-Offset MeasTriggerQuantityOffset,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useAllowedCellList BOOLEAN
+ },
+ ...,
+ [[
+ eventX1-r17 SEQUENCE {
+ x1-Threshold1-Relay-r17 SL-MeasTriggerQuantity-r16,
+ x1-Threshold2-r17 MeasTriggerQuantity,
+ reportOnLeave-r17 BOOLEAN,
+ hysteresis-r17 Hysteresis,
+ timeToTrigger-r17 TimeToTrigger,
+ useAllowedCellList-r17 BOOLEAN
+ },
+ eventX2-r17 SEQUENCE {
+ x2-Threshold-Relay-r17 SL-MeasTriggerQuantity-r16,
+ reportOnLeave-r17 BOOLEAN,
+ hysteresis-r17 Hysteresis,
+ timeToTrigger-r17 TimeToTrigger
+ },
+ eventD1-r17 SEQUENCE {
+ distanceThreshFromReference1-r17 INTEGER(1.. 65525),
+ distanceThreshFromReference2-r17 INTEGER(1.. 65525),
+ referenceLocation1-r17 ReferenceLocation-r17,
+ referenceLocation2-r17 ReferenceLocation-r17,
+ reportOnLeave-r17 BOOLEAN,
+ hysteresisLocation-r17 HysteresisLocation-r17,
+ timeToTrigger-r17 TimeToTrigger
+ }
+ ]]
+ },
+ rsType NR-RS-Type,
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ reportQuantityCell MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+ reportQuantityRS-Indexes MeasReportQuantity OPTIONAL, -- Need R
+ maxNrofRS-IndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R
+ includeBeamMeasurements BOOLEAN,
+ reportAddNeighMeas ENUMERATED {setup} OPTIONAL, -- Need R
+ ...,
+ [[
+ measRSSI-ReportConfig-r16 MeasRSSI-ReportConfig-r16 OPTIONAL, -- Need R
+ useT312-r16 BOOLEAN OPTIONAL, -- Need M
+ includeCommonLocationInfo-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ includeBT-Meas-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, -- Need M
+ includeWLAN-Meas-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, -- Need M
+ includeSensor-Meas-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL -- Need M
+ ]],
+ [[
+ coarseLocationRequest-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ reportQuantityRelay-r17 SL-MeasReportQuantity-r16 OPTIONAL -- Need R
+ ]]
+}
+
+PeriodicalReportConfig ::= SEQUENCE {
+ rsType NR-RS-Type,
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ reportQuantityCell MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+ reportQuantityRS-Indexes MeasReportQuantity OPTIONAL, -- Need R
+ maxNrofRS-IndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R
+ includeBeamMeasurements BOOLEAN,
+ useAllowedCellList BOOLEAN,
+ ...,
+ [[
+ measRSSI-ReportConfig-r16 MeasRSSI-ReportConfig-r16 OPTIONAL, -- Need R
+ includeCommonLocationInfo-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ includeBT-Meas-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, -- Need M
+ includeWLAN-Meas-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, -- Need M
+ includeSensor-Meas-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL, -- Need M
+ ul-DelayValueConfig-r16 CHOICE {release NULL, setup UL-DelayValueConfig-r16 } OPTIONAL, -- Need M
+ reportAddNeighMeas-r16 ENUMERATED {setup} OPTIONAL -- Need R
+ ]],
+ [[
+ ul-ExcessDelayConfig-r17 CHOICE {release NULL, setup UL-ExcessDelayConfig-r17 } OPTIONAL, -- Need M
+ coarseLocationRequest-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ reportQuantityRelay-r17 SL-MeasReportQuantity-r16 OPTIONAL -- Need R
+ ]]
+}
+
+NR-RS-Type ::= ENUMERATED {ssb, csi-rs}
+
+MeasTriggerQuantity ::= CHOICE {
+ rsrp RSRP-Range,
+ rsrq RSRQ-Range,
+ sinr SINR-Range
+}
+
+MeasTriggerQuantityOffset ::= CHOICE {
+ rsrp INTEGER (-30..30),
+ rsrq INTEGER (-30..30),
+ sinr INTEGER (-30..30)
+}
+
+
+MeasReportQuantity ::= SEQUENCE {
+ rsrp BOOLEAN,
+ rsrq BOOLEAN,
+ sinr BOOLEAN
+}
+
+MeasRSSI-ReportConfig-r16 ::= SEQUENCE {
+ channelOccupancyThreshold-r16 RSSI-Range-r16 OPTIONAL -- Need R
+}
+
+CLI-EventTriggerConfig-r16 ::= SEQUENCE {
+ eventId-r16 CHOICE {
+ eventI1-r16 SEQUENCE {
+ i1-Threshold-r16 MeasTriggerQuantityCLI-r16,
+ reportOnLeave-r16 BOOLEAN,
+ hysteresis-r16 Hysteresis,
+ timeToTrigger-r16 TimeToTrigger
+ },
+ ...
+ },
+ reportInterval-r16 ReportInterval,
+ reportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ maxReportCLI-r16 INTEGER (1..maxCLI-Report-r16),
+ ...
+}
+
+CLI-PeriodicalReportConfig-r16 ::= SEQUENCE {
+ reportInterval-r16 ReportInterval,
+ reportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ reportQuantityCLI-r16 MeasReportQuantityCLI-r16,
+ maxReportCLI-r16 INTEGER (1..maxCLI-Report-r16),
+ ...
+}
+
+RxTxPeriodical-r17 ::= SEQUENCE {
+ rxTxReportInterval-r17 RxTxReportInterval-r17 OPTIONAL, -- Need R
+ reportAmount-r17 ENUMERATED {r1, infinity, spare6, spare5, spare4, spare3, spare2, spare1},
+ ...
+}
+
+RxTxReportInterval-r17 ::= ENUMERATED {ms80,ms120,ms160,ms240,ms320,ms480,ms640,ms1024,ms1280,ms2048,ms2560,ms5120,spare4,spare3,spare2,spare1}
+
+MeasTriggerQuantityCLI-r16 ::= CHOICE {
+ srs-RSRP-r16 SRS-RSRP-Range-r16,
+ cli-RSSI-r16 CLI-RSSI-Range-r16
+}
+
+MeasReportQuantityCLI-r16 ::= ENUMERATED {srs-rsrp, cli-rssi}
+
+-- TAG-REPORTCONFIGNR-STOP
+-- TAG-REPORTCONFIGNR-SL-START
+
+ReportConfigNR-SL-r16 ::= SEQUENCE {
+ reportType-r16 CHOICE {
+ periodical-r16 PeriodicalReportConfigNR-SL-r16,
+ eventTriggered-r16 EventTriggerConfigNR-SL-r16
+ }
+}
+
+EventTriggerConfigNR-SL-r16::= SEQUENCE {
+ eventId-r16 CHOICE {
+ eventC1 SEQUENCE {
+ c1-Threshold-r16 SL-CBR-r16,
+ hysteresis-r16 Hysteresis,
+ timeToTrigger-r16 TimeToTrigger
+ },
+ eventC2-r16 SEQUENCE {
+ c2-Threshold-r16 SL-CBR-r16,
+ hysteresis-r16 Hysteresis,
+ timeToTrigger-r16 TimeToTrigger
+ },
+ ...
+ },
+ reportInterval-r16 ReportInterval,
+ reportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ reportQuantity-r16 MeasReportQuantity-r16,
+ ...
+}
+
+PeriodicalReportConfigNR-SL-r16 ::= SEQUENCE {
+ reportInterval-r16 ReportInterval,
+ reportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ reportQuantity-r16 MeasReportQuantity-r16,
+ ...
+}
+
+MeasReportQuantity-r16 ::= SEQUENCE {
+ cbr-r16 BOOLEAN,
+ ...
+}
+
+-- TAG-REPORTCONFIGNR-SL-STOP
+-- TAG-REPORTCONFIGTOADDMODLIST-START
+
+ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod
+
+ReportConfigToAddMod ::= SEQUENCE {
+ reportConfigId ReportConfigId,
+ reportConfig CHOICE {
+ reportConfigNR ReportConfigNR,
+ ...,
+ reportConfigInterRAT ReportConfigInterRAT,
+ reportConfigNR-SL-r16 ReportConfigNR-SL-r16
+ }
+}
+
+-- TAG-REPORTCONFIGTOADDMODLIST-STOP
+-- TAG-REPORTINTERVAL-START
+
+ReportInterval ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960,
+ min1,min6, min12, min30 }
+
+-- TAG-REPORTINTERVAL-STOP
+-- TAG-RESELECTIONTHRESHOLD-START
+
+ReselectionThreshold ::= INTEGER (0..31)
+
+-- TAG-RESELECTIONTHRESHOLD-STOP
+-- TAG-RESELECTIONTHRESHOLDQ-START
+
+ReselectionThresholdQ ::= INTEGER (0..31)
+
+-- TAG-RESELECTIONTHRESHOLDQ-STOP
+-- TAG-RESUMECAUSE-START
+
+ResumeCause ::= ENUMERATED {emergency, highPriorityAccess, mt-Access, mo-Signalling,
+ mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, rna-Update, mps-PriorityAccess,
+ mcs-PriorityAccess, spare1, spare2, spare3, spare4, spare5 }
+
+-- TAG-RESUMECAUSE-STOP
+-- TAG-RLC-BEARERCONFIG-START
+
+RLC-BearerConfig ::= SEQUENCE {
+ logicalChannelIdentity LogicalChannelIdentity,
+ servedRadioBearer CHOICE {
+ srb-Identity SRB-Identity,
+ drb-Identity DRB-Identity
+ } OPTIONAL, -- Cond LCH-SetupOnly
+ reestablishRLC ENUMERATED {true} OPTIONAL, -- Need N
+ rlc-Config RLC-Config OPTIONAL, -- Cond LCH-Setup
+ mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup
+ ...,
+ [[
+ rlc-Config-v1610 RLC-Config-v1610 OPTIONAL -- Need R
+ ]],
+ [[
+ rlc-Config-v1700 RLC-Config-v1700 OPTIONAL, -- Need R
+ logicalChannelIdentityExt-r17 LogicalChannelIdentityExt-r17 OPTIONAL, -- Cond LCH-SetupModMRB
+ multicastRLC-BearerConfig-r17 MulticastRLC-BearerConfig-r17 OPTIONAL, -- Cond LCH-SetupOnlyMRB
+ servedRadioBearerSRB4-r17 SRB-Identity-v1700 OPTIONAL -- Need N
+ ]]
+}
+
+MulticastRLC-BearerConfig-r17 ::= SEQUENCE {
+ servedMBS-RadioBearer-r17 MRB-Identity-r17,
+ isPTM-Entity-r17 ENUMERATED {true} OPTIONAL -- Need S
+}
+
+LogicalChannelIdentityExt-r17 ::= INTEGER (320..65855)
+
+-- TAG-RLC-BEARERCONFIG-STOP
+-- TAG-RLC-CONFIG-START
+
+RLC-Config ::= CHOICE {
+ am SEQUENCE {
+ ul-AM-RLC UL-AM-RLC,
+ dl-AM-RLC DL-AM-RLC
+ },
+ um-Bi-Directional SEQUENCE {
+ ul-UM-RLC UL-UM-RLC,
+ dl-UM-RLC DL-UM-RLC
+ },
+ um-Uni-Directional-UL SEQUENCE {
+ ul-UM-RLC UL-UM-RLC
+ },
+ um-Uni-Directional-DL SEQUENCE {
+ dl-UM-RLC DL-UM-RLC
+ },
+ ...
+}
+
+UL-AM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab
+ t-PollRetransmit T-PollRetransmit,
+ pollPDU PollPDU,
+ pollByte PollByte,
+ maxRetxThreshold ENUMERATED { t1, t2, t3, t4, t6, t8, t16, t32 }
+}
+
+DL-AM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab
+ t-Reassembly T-Reassembly,
+ t-StatusProhibit T-StatusProhibit
+}
+
+UL-UM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLengthUM OPTIONAL -- Cond Reestab
+}
+
+DL-UM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLengthUM OPTIONAL, -- Cond Reestab
+ t-Reassembly T-Reassembly
+}
+
+T-PollRetransmit ::= ENUMERATED {
+ ms5, ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70,
+ ms75, ms80, ms85, ms90, ms95, ms100, ms105,
+ ms110, ms115, ms120, ms125, ms130, ms135,
+ ms140, ms145, ms150, ms155, ms160, ms165,
+ ms170, ms175, ms180, ms185, ms190, ms195,
+ ms200, ms205, ms210, ms215, ms220, ms225,
+ ms230, ms235, ms240, ms245, ms250, ms300,
+ ms350, ms400, ms450, ms500, ms800, ms1000,
+ ms2000, ms4000, ms1-v1610, ms2-v1610, ms3-v1610,
+ ms4-v1610, spare1}
+
+
+PollPDU ::= ENUMERATED {
+ p4, p8, p16, p32, p64, p128, p256, p512, p1024, p2048, p4096, p6144, p8192, p12288, p16384,p20480,
+ p24576, p28672, p32768, p40960, p49152, p57344, p65536, infinity, spare8, spare7, spare6, spare5, spare4,
+ spare3, spare2, spare1}
+
+PollByte ::= ENUMERATED {
+ kB1, kB2, kB5, kB8, kB10, kB15, kB25, kB50, kB75,
+ kB100, kB125, kB250, kB375, kB500, kB750, kB1000,
+ kB1250, kB1500, kB2000, kB3000, kB4000, kB4500,
+ kB5000, kB5500, kB6000, kB6500, kB7000, kB7500,
+ mB8, mB9, mB10, mB11, mB12, mB13, mB14, mB15,
+ mB16, mB17, mB18, mB20, mB25, mB30, mB40, infinity,
+ spare20, spare19, spare18, spare17, spare16,
+ spare15, spare14, spare13, spare12, spare11,
+ spare10, spare9, spare8, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1}
+
+T-Reassembly ::= ENUMERATED {
+ ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70,
+ ms75, ms80, ms85, ms90, ms95, ms100, ms110,
+ ms120, ms130, ms140, ms150, ms160, ms170,
+ ms180, ms190, ms200, spare1}
+
+T-StatusProhibit ::= ENUMERATED {
+ ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70,
+ ms75, ms80, ms85, ms90, ms95, ms100, ms105,
+ ms110, ms115, ms120, ms125, ms130, ms135,
+ ms140, ms145, ms150, ms155, ms160, ms165,
+ ms170, ms175, ms180, ms185, ms190, ms195,
+ ms200, ms205, ms210, ms215, ms220, ms225,
+ ms230, ms235, ms240, ms245, ms250, ms300,
+ ms350, ms400, ms450, ms500, ms800, ms1000,
+ ms1200, ms1600, ms2000, ms2400, spare2, spare1}
+
+SN-FieldLengthUM ::= ENUMERATED {size6, size12}
+SN-FieldLengthAM ::= ENUMERATED {size12, size18}
+
+RLC-Config-v1610 ::= SEQUENCE {
+ dl-AM-RLC-v1610 DL-AM-RLC-v1610
+}
+
+RLC-Config-v1700 ::= SEQUENCE {
+ dl-AM-RLC-v1700 DL-AM-RLC-v1700,
+ dl-UM-RLC-v1700 DL-UM-RLC-v1700
+}
+
+DL-AM-RLC-v1610 ::= SEQUENCE {
+ t-StatusProhibit-v1610 T-StatusProhibit-v1610 OPTIONAL, -- Need R
+ ...
+}
+
+DL-AM-RLC-v1700 ::= SEQUENCE {
+ t-ReassemblyExt-r17 T-ReassemblyExt-r17 OPTIONAL -- Need R
+}
+
+DL-UM-RLC-v1700 ::= SEQUENCE {
+ t-ReassemblyExt-r17 T-ReassemblyExt-r17 OPTIONAL -- Need R
+}
+
+T-StatusProhibit-v1610 ::= ENUMERATED { ms1, ms2, ms3, ms4, spare4, spare3, spare2, spare1}
+
+T-ReassemblyExt-r17 ::= ENUMERATED {ms210, ms220, ms340, ms350, ms550, ms1100, ms1650, ms2200}
+
+-- TAG-RLC-CONFIG-STOP
+-- TAG-RLF-TIMERSANDCONSTANTS-START
+
+RLF-TimersAndConstants ::= SEQUENCE {
+ t310 ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000, ms4000, ms6000},
+ n310 ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20},
+ n311 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10},
+ ...,
+ [[
+ t311 ENUMERATED {ms1000, ms3000, ms5000, ms10000, ms15000, ms20000, ms30000}
+ ]]
+}
+
+-- TAG-RLF-TIMERSANDCONSTANTS-STOP
+-- TAG-RNTI-VALUE-START
+
+RNTI-Value ::= INTEGER (0..65535)
+
+-- TAG-RNTI-VALUE-STOP
+-- TAG-RSRP-RANGE-START
+
+RSRP-Range ::= INTEGER(0..127)
+
+-- TAG-RSRP-RANGE-STOP
+-- TAG-RSRQ-RANGE-START
+
+RSRQ-Range ::= INTEGER(0..127)
+
+-- TAG-RSRQ-RANGE-STOP
+-- TAG-RSSI-RANGE-START
+
+RSSI-Range-r16 ::= INTEGER(0..76)
+
+-- TAG-RSSI-RANGE-STOP
+-- TAG-RXTXTIMEDIFF-START
+
+RxTxTimeDiff-r17 ::= SEQUENCE {
+ result-k5-r17 INTEGER (0..61565) OPTIONAL, -- Need N
+ ...
+}
+
+-- TAG-RXTXTIMEDIFF-STOP
+-- TAG-SCELLACTIVATIONRS-CONFIG-START
+
+SCellActivationRS-Config-r17 ::= SEQUENCE {
+ scellActivationRS-Id-r17 SCellActivationRS-ConfigId-r17,
+ resourceSet-r17 NZP-CSI-RS-ResourceSetId,
+ gapBetweenBursts-r17 INTEGER (2..31) OPTIONAL, -- Need R
+ qcl-Info-r17 TCI-StateId,
+ ...
+}
+
+-- TAG-SCELLACTIVATIONRS-CONFIG-STOP
+-- TAG-SCELLACTIVATIONRS-CONFIGID-START
+
+SCellActivationRS-ConfigId-r17 ::= INTEGER (1.. maxNrofSCellActRS-r17)
+
+-- TAG-SCELLACTIVATIONRS-CONFIGID-STOP
+-- TAG-SCELLINDEX-START
+
+SCellIndex ::= INTEGER (1..31)
+
+-- TAG-SCELLINDEX-STOP
+-- TAG-SCHEDULINGREQUESTCONFIG-START
+
+SchedulingRequestConfig ::= SEQUENCE {
+ schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddMod
+ OPTIONAL, -- Need N
+ schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId
+ OPTIONAL -- Need N
+}
+
+SchedulingRequestToAddMod ::= SEQUENCE {
+ schedulingRequestId SchedulingRequestId,
+ sr-ProhibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128} OPTIONAL, -- Need S
+ sr-TransMax ENUMERATED { n4, n8, n16, n32, n64, spare3, spare2, spare1}
+}
+
+SchedulingRequestConfig-v1700 ::= SEQUENCE {
+ schedulingRequestToAddModListExt-v1700 SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddModExt-v1700
+ OPTIONAL -- Need N
+}
+
+SchedulingRequestToAddModExt-v1700 ::= SEQUENCE {
+ sr-ProhibitTimer-v1700 ENUMERATED { ms192, ms256, ms320, ms384, ms448, ms512, ms576, ms640, ms1082, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+ OPTIONAL -- Need R
+}
+
+-- TAG-SCHEDULINGREQUESTCONFIG-STOP
+-- TAG-SCHEDULINGREQUESTID-START
+
+SchedulingRequestId ::= INTEGER (0..7)
+
+-- TAG-SCHEDULINGREQUESTID-STOP
+-- TAG-SCHEDULINGREQUESTRESOURCECONFIG-START
+
+SchedulingRequestResourceConfig ::= SEQUENCE {
+ schedulingRequestResourceId SchedulingRequestResourceId,
+ schedulingRequestID SchedulingRequestId,
+ periodicityAndOffset CHOICE {
+ sym2 NULL,
+ sym6or7 NULL,
+ sl1 NULL, -- Recurs in every slot
+ sl2 INTEGER (0..1),
+ sl4 INTEGER (0..3),
+ sl5 INTEGER (0..4),
+ sl8 INTEGER (0..7),
+ sl10 INTEGER (0..9),
+ sl16 INTEGER (0..15),
+ sl20 INTEGER (0..19),
+ sl40 INTEGER (0..39),
+ sl80 INTEGER (0..79),
+ sl160 INTEGER (0..159),
+ sl320 INTEGER (0..319),
+ sl640 INTEGER (0..639)
+ } OPTIONAL, -- Need M
+ resource PUCCH-ResourceId OPTIONAL -- Need M
+}
+
+SchedulingRequestResourceConfigExt-v1610 ::= SEQUENCE {
+ phy-PriorityIndex-r16 ENUMERATED {p0, p1} OPTIONAL, -- Need M
+ ...
+}
+
+SchedulingRequestResourceConfigExt-v1700 ::= SEQUENCE {
+ periodicityAndOffset-r17 CHOICE {
+ sl1280 INTEGER (0..1279),
+ sl2560 INTEGER (0..2559),
+ sl5120 INTEGER (0..5119)
+ } OPTIONAL -- Need M
+}
+
+-- TAG-SCHEDULINGREQUESTRESOURCECONFIG-STOP
+-- TAG-SCHEDULINGREQUESTRESOURCEID-START
+
+SchedulingRequestResourceId ::= INTEGER (1..maxNrofSR-Resources)
+
+-- TAG-SCHEDULINGREQUESTRESOURCEID-STOP
+-- TAG-SCRAMBLINGID-START
+
+ScramblingId ::= INTEGER(0..1023)
+
+-- TAG-SCRAMBLINGID-STOP
+-- TAG-SCS-SPECIFICCARRIER-START
+
+SCS-SpecificCarrier ::= SEQUENCE {
+ offsetToCarrier INTEGER (0..2199),
+ subcarrierSpacing SubcarrierSpacing,
+ carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks),
+ ...,
+ [[
+ txDirectCurrentLocation INTEGER (0..4095) OPTIONAL -- Need S
+ ]]
+}
+
+-- TAG-SCS-SPECIFICCARRIER-STOP
+-- TAG-SDAP-CONFIG-START
+
+SDAP-Config ::= SEQUENCE {
+ pdu-Session PDU-SessionID,
+ sdap-HeaderDL ENUMERATED {present, absent},
+ sdap-HeaderUL ENUMERATED {present, absent},
+ defaultDRB BOOLEAN,
+ mappedQoS-FlowsToAdd SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N
+ mappedQoS-FlowsToRelease SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N
+ ...
+}
+
+QFI ::= INTEGER (0..maxQFI)
+
+PDU-SessionID ::= INTEGER (0..255)
+
+-- TAG-SDAP-CONFIG-STOP
+-- TAG-SEARCHSPACE-START
+
+SearchSpace ::= SEQUENCE {
+ searchSpaceId SearchSpaceId,
+ controlResourceSetId ControlResourceSetId OPTIONAL, -- Cond SetupOnly
+ monitoringSlotPeriodicityAndOffset CHOICE {
+ sl1 NULL,
+ sl2 INTEGER (0..1),
+ sl4 INTEGER (0..3),
+ sl5 INTEGER (0..4),
+ sl8 INTEGER (0..7),
+ sl10 INTEGER (0..9),
+ sl16 INTEGER (0..15),
+ sl20 INTEGER (0..19),
+ sl40 INTEGER (0..39),
+ sl80 INTEGER (0..79),
+ sl160 INTEGER (0..159),
+ sl320 INTEGER (0..319),
+ sl640 INTEGER (0..639),
+ sl1280 INTEGER (0..1279),
+ sl2560 INTEGER (0..2559)
+ } OPTIONAL, -- Cond Setup4
+ duration INTEGER (2..2559) OPTIONAL, -- Need S
+ monitoringSymbolsWithinSlot BIT STRING (SIZE (14)) OPTIONAL, -- Cond Setup
+ nrofCandidates SEQUENCE {
+ aggregationLevel1 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
+ aggregationLevel2 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
+ aggregationLevel4 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
+ aggregationLevel8 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
+ aggregationLevel16 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}
+ } OPTIONAL, -- Cond Setup
+ searchSpaceType CHOICE {
+ common SEQUENCE {
+ dci-Format0-0-AndFormat1-0 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format2-0 SEQUENCE {
+ nrofCandidates-SFI SEQUENCE {
+ aggregationLevel1 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel2 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel4 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel8 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel16 ENUMERATED {n1, n2} OPTIONAL -- Need R
+ },
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format2-1 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format2-2 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format2-3 SEQUENCE {
+ dummy1 ENUMERATED {sl1, sl2, sl4, sl5, sl8, sl10, sl16, sl20} OPTIONAL, -- Cond Setup
+ dummy2 ENUMERATED {n1, n2},
+ ...
+ } OPTIONAL -- Need R
+ },
+ ue-Specific SEQUENCE {
+ dci-Formats ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1},
+ ...,
+ [[
+ dci-Formats-MT-r16 ENUMERATED {formats2-5} OPTIONAL, -- Need R
+ dci-FormatsSL-r16 ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1, formats3-0, formats3-1,
+ formats3-0-And-3-1} OPTIONAL, -- Need R
+ dci-FormatsExt-r16 ENUMERATED {formats0-2-And-1-2, formats0-1-And-1-1And-0-2-And-1-2}
+ OPTIONAL -- Need R
+ ]]
+ }
+ } OPTIONAL -- Cond Setup2
+}
+
+SearchSpaceExt-r16 ::= SEQUENCE {
+ controlResourceSetId-r16 ControlResourceSetId-r16 OPTIONAL, -- Cond SetupOnly2
+ searchSpaceType-r16 SEQUENCE {
+ common-r16 SEQUENCE {
+ dci-Format2-4-r16 SEQUENCE {
+ nrofCandidates-CI-r16 SEQUENCE {
+ aggregationLevel1-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel2-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel4-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel8-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel16-r16 ENUMERATED {n1, n2} OPTIONAL -- Need R
+ },
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format2-5-r16 SEQUENCE {
+ nrofCandidates-IAB-r16 SEQUENCE {
+ aggregationLevel1-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel2-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel4-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel8-r16 ENUMERATED {n1, n2} OPTIONAL, -- Need R
+ aggregationLevel16-r16 ENUMERATED {n1, n2} OPTIONAL -- Need R
+ },
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format2-6-r16 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ ...
+ }
+ } OPTIONAL, -- Cond Setup3
+ searchSpaceGroupIdList-r16 SEQUENCE (SIZE (1.. 2)) OF INTEGER (0..1) OPTIONAL, -- Need R
+ freqMonitorLocations-r16 BIT STRING (SIZE (5)) OPTIONAL -- Need R
+}
+
+SearchSpaceExt-v1700 ::= SEQUENCE {
+ monitoringSlotPeriodicityAndOffset-v1710 CHOICE {
+ sl32 INTEGER (0..31),
+ sl64 INTEGER (0..63),
+ sl128 INTEGER (0..127),
+ sl5120 INTEGER (0..5119),
+ sl10240 INTEGER (0..10239),
+ sl20480 INTEGER (0..20479)
+ } OPTIONAL, -- Cond Setup5
+ monitoringSlotsWithinSlotGroup-r17 CHOICE {
+ slotGroupLength4-r17 BIT STRING (SIZE (4)),
+ slotGroupLength8-r17 BIT STRING (SIZE (8))
+ } OPTIONAL, -- Need R
+ duration-r17 INTEGER (4..20476) OPTIONAL, -- Need R
+
+ searchSpaceType-r17 SEQUENCE{
+ common-r17 SEQUENCE {
+ dci-Format4-0-r17 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format4-1-r17 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format4-2-r17 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format4-1-AndFormat4-2-r17 SEQUENCE {
+ ...
+ } OPTIONAL, -- Need R
+ dci-Format2-7-r17 SEQUENCE {
+ nrofCandidates-PEI-r17 SEQUENCE {
+ aggregationLevel4-r17 ENUMERATED {n0, n1, n2, n3, n4} OPTIONAL, -- Need R
+ aggregationLevel8-r17 ENUMERATED {n0, n1, n2} OPTIONAL, -- Need R
+ aggregationLevel16-r17 ENUMERATED {n0, n1} OPTIONAL -- Need R
+ },
+ ...
+ } OPTIONAL -- Need R
+ }
+ } OPTIONAL, -- Need R
+ searchSpaceGroupIdList-r17 SEQUENCE (SIZE (1.. 3)) OF INTEGER (0.. maxNrofSearchSpaceGroups-1-r17) OPTIONAL, -- Cond DedicatedOnly
+ searchSpaceLinkingId-r17 INTEGER (0..maxNrofSearchSpacesLinks-1-r17) OPTIONAL -- Cond DedicatedOnly
+}
+
+-- TAG-SEARCHSPACE-STOP
+-- TAG-SEARCHSPACEID-START
+
+SearchSpaceId ::= INTEGER (0..maxNrofSearchSpaces-1)
+
+-- TAG-SEARCHSPACEID-STOP
+-- TAG-SEARCHSPACEZERO-START
+
+SearchSpaceZero ::= INTEGER (0..15)
+
+-- TAG-SEARCHSPACEZERO-STOP
+-- TAG-SECURITYALGORITHMCONFIG-START
+
+SecurityAlgorithmConfig ::= SEQUENCE {
+ cipheringAlgorithm CipheringAlgorithm,
+ integrityProtAlgorithm IntegrityProtAlgorithm OPTIONAL, -- Need R
+ ...
+}
+
+IntegrityProtAlgorithm ::= ENUMERATED {
+ nia0, nia1, nia2, nia3, spare4, spare3,
+ spare2, spare1, ...}
+
+CipheringAlgorithm ::= ENUMERATED {
+ nea0, nea1, nea2, nea3, spare4, spare3,
+ spare2, spare1, ...}
+
+-- TAG-SECURITYALGORITHMCONFIG-STOP
+-- TAG-SEMISTATICCHANNELACCESSCONFIG-START
+
+SemiStaticChannelAccessConfig-r16 ::= SEQUENCE {
+ period-r16 ENUMERATED {ms1, ms2, ms2dot5, ms4, ms5, ms10}
+}
+
+-- TAG-SEMISTATICCHANNELACCESSCONFIG-STOP
+-- TAG-SEMISTATICCHANNELACCESSCONFIGUE-START
+
+SemiStaticChannelAccessConfigUE-r17 ::= SEQUENCE {
+ periodUE-r17 ENUMERATED {ms1, ms2, ms2dot5, ms4, ms5, ms10, spare2, spare1},
+ offsetUE-r17 INTEGER (0..559)
+}
+
+-- TAG-SEMISTATICCHANNELACCESSCONFIGUE-STOP
+-- TAG-SENSORLOCATIONINFO-START
+
+Sensor-LocationInfo-r16 ::= SEQUENCE {
+ sensor-MeasurementInformation-r16 OCTET STRING OPTIONAL,
+ sensor-MotionInformation-r16 OCTET STRING OPTIONAL,
+ ...
+}
+
+-- TAG-SENSORLOCATIONINFO-STOP
+-- TAG-SERVINGCELLANDBWP-ID-START
+
+ServingCellAndBWP-Id-r17 ::= SEQUENCE {
+ servingcell-r17 ServCellIndex,
+ bwp-r17 BWP-Id
+}
+
+-- TAG-SERVINGCELLANDBWP-ID-STOP
+-- TAG-SERVCELLINDEX-START
+
+ServCellIndex ::= INTEGER (0..maxNrofServingCells-1)
+
+-- TAG-SERVCELLINDEX-STOP
+-- TAG-SERVINGCELLCONFIG-START
+
+ServingCellConfig ::= SEQUENCE {
+ tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL, -- Cond TDD
+ initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Need M
+ downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N
+ downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink OPTIONAL, -- Need N
+ firstActiveDownlinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd
+ bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
+ ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
+ ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL, --Need R
+ defaultDownlinkBWP-Id BWP-Id OPTIONAL, -- Need S
+ uplinkConfig UplinkConfig OPTIONAL, -- Need M
+ supplementaryUplink UplinkConfig OPTIONAL, -- Need M
+ pdcch-ServingCellConfig CHOICE {release NULL, setup PDCCH-ServingCellConfig } OPTIONAL, -- Need M
+ pdsch-ServingCellConfig CHOICE {release NULL, setup PDSCH-ServingCellConfig } OPTIONAL, -- Need M
+ csi-MeasConfig CHOICE {release NULL, setup CSI-MeasConfig } OPTIONAL, -- Need M
+ sCellDeactivationTimer ENUMERATED {ms20, ms40, ms80, ms160, ms200, ms240,
+ ms320, ms400, ms480, ms520, ms640, ms720,
+ ms840, ms1280, spare2,spare1} OPTIONAL, -- Cond ServingCellWithoutPUCCH
+ crossCarrierSchedulingConfig CrossCarrierSchedulingConfig OPTIONAL, -- Need M
+ tag-Id TAG-Id,
+ dummy1 ENUMERATED {enabled} OPTIONAL, -- Need R
+ pathlossReferenceLinking ENUMERATED {spCell, sCell} OPTIONAL, -- Cond SCellOnly
+ servingCellMO MeasObjectId OPTIONAL, -- Cond MeasObject
+ ...,
+ [[
+ lte-CRS-ToMatchAround CHOICE {release NULL, setup RateMatchPatternLTE-CRS } OPTIONAL, -- Need M
+ rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N
+ rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N
+ downlinkChannelBW-PerSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier OPTIONAL -- Need S
+ ]],
+ [[
+ supplementaryUplinkRelease-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ tdd-UL-DL-ConfigurationDedicated-IAB-MT-r16 TDD-UL-DL-ConfigDedicated-IAB-MT-r16 OPTIONAL, -- Cond TDD_IAB
+ dormantBWP-Config-r16 CHOICE {release NULL, setup DormantBWP-Config-r16 } OPTIONAL, -- Need M
+ ca-SlotOffset-r16 CHOICE {
+ refSCS15kHz INTEGER (-2..2),
+ refSCS30KHz INTEGER (-5..5),
+ refSCS60KHz INTEGER (-10..10),
+ refSCS120KHz INTEGER (-20..20)
+ } OPTIONAL, -- Cond AsyncCA
+ dummy2 CHOICE {release NULL, setup DummyJ } OPTIONAL, -- Need M
+ intraCellGuardBandsDL-List-r16 SEQUENCE (SIZE (1..maxSCSs)) OF IntraCellGuardBandsPerSCS-r16 OPTIONAL, -- Need S
+ intraCellGuardBandsUL-List-r16 SEQUENCE (SIZE (1..maxSCSs)) OF IntraCellGuardBandsPerSCS-r16 OPTIONAL, -- Need S
+ csi-RS-ValidationWithDCI-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ lte-CRS-PatternList1-r16 CHOICE {release NULL, setup LTE-CRS-PatternList-r16 } OPTIONAL, -- Need M
+ lte-CRS-PatternList2-r16 CHOICE {release NULL, setup LTE-CRS-PatternList-r16 } OPTIONAL, -- Need M
+ crs-RateMatch-PerCORESETPoolIndex-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ enableTwoDefaultTCI-States-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ enableDefaultTCI-StatePerCoresetPoolIndex-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ enableBeamSwitchTiming-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ cbg-TxDiffTBsProcessingType1-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ cbg-TxDiffTBsProcessingType2-r16 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]],
+ [[
+ directionalCollisionHandling-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ channelAccessConfig-r16 CHOICE {release NULL, setup ChannelAccessConfig-r16 } OPTIONAL -- Need M
+ ]],
+ [[
+ nr-dl-PRS-PDC-Info-r17 CHOICE {release NULL, setup NR-DL-PRS-PDC-Info-r17} OPTIONAL, -- Need M
+ semiStaticChannelAccessConfigUE-r17 CHOICE {release NULL, setup SemiStaticChannelAccessConfigUE-r17} OPTIONAL, -- Need M
+ mimoParam-r17 CHOICE {release NULL, setup MIMOParam-r17} OPTIONAL, -- Need M
+ channelAccessMode2-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ timeDomainHARQ-BundlingType1-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ nrofHARQ-BundlingGroups-r17 ENUMERATED {n1, n2, n4} OPTIONAL, -- Need R
+ fdmed-ReceptionMulticast-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ moreThanOneNackOnlyMode-r17 ENUMERATED {mode2} OPTIONAL, -- Need S
+ tci-ActivatedConfig-r17 TCI-ActivatedConfig-r17 OPTIONAL, -- Cond TCI_ActivatedConfig
+ directionalCollisionHandling-DC-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ lte-NeighCellsCRS-AssistInfoList-r17 CHOICE {release NULL, setup LTE-NeighCellsCRS-AssistInfoList-r17 } OPTIONAL -- Need M
+ ]],
+ [[
+ lte-NeighCellsCRS-Assumptions-r17 ENUMERATED {false} OPTIONAL -- Need R
+ ]],
+ [[
+ crossCarrierSchedulingConfigRelease-r17 ENUMERATED {true} OPTIONAL -- Need N
+ ]]
+}
+
+UplinkConfig ::= SEQUENCE {
+ initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Need M
+ uplinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N
+ uplinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink OPTIONAL, -- Need N
+ firstActiveUplinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd
+ pusch-ServingCellConfig CHOICE {release NULL, setup PUSCH-ServingCellConfig } OPTIONAL, -- Need M
+ carrierSwitching CHOICE {release NULL, setup SRS-CarrierSwitching } OPTIONAL, -- Need M
+ ...,
+ [[
+ powerBoostPi2BPSK BOOLEAN OPTIONAL, -- Need M
+ uplinkChannelBW-PerSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier OPTIONAL -- Need S
+ ]],
+ [[
+ enablePL-RS-UpdateForPUSCH-SRS-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ enableDefaultBeamPL-ForPUSCH0-0-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ enableDefaultBeamPL-ForPUCCH-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ enableDefaultBeamPL-ForSRS-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ uplinkTxSwitching-r16 CHOICE {release NULL, setup UplinkTxSwitching-r16 } OPTIONAL, -- Need M
+ mpr-PowerBoost-FR2-r16 ENUMERATED {true} OPTIONAL -- Need R
+ ]]
+}
+
+DummyJ ::= SEQUENCE {
+ maxEnergyDetectionThreshold-r16 INTEGER(-85..-52),
+ energyDetectionThresholdOffset-r16 INTEGER (-20..-13),
+ ul-toDL-COT-SharingED-Threshold-r16 INTEGER (-85..-52) OPTIONAL, -- Need R
+ absenceOfAnyOtherTechnology-r16 ENUMERATED {true} OPTIONAL -- Need R
+}
+
+ChannelAccessConfig-r16 ::= SEQUENCE {
+ energyDetectionConfig-r16 CHOICE {
+ maxEnergyDetectionThreshold-r16 INTEGER (-85..-52),
+ energyDetectionThresholdOffset-r16 INTEGER (-13..20)
+ } OPTIONAL, -- Need R
+ ul-toDL-COT-SharingED-Threshold-r16 INTEGER (-85..-52) OPTIONAL, -- Need R
+ absenceOfAnyOtherTechnology-r16 ENUMERATED {true} OPTIONAL -- Need R
+}
+
+IntraCellGuardBandsPerSCS-r16 ::= SEQUENCE {
+ guardBandSCS-r16 SubcarrierSpacing,
+ intraCellGuardBands-r16 SEQUENCE (SIZE (1..4)) OF GuardBand-r16
+}
+
+GuardBand-r16 ::= SEQUENCE {
+ startCRB-r16 INTEGER (0..274),
+ nrofCRBs-r16 INTEGER (0..15)
+}
+
+DormancyGroupID-r16 ::= INTEGER (0..4)
+
+DormantBWP-Config-r16::= SEQUENCE {
+ dormantBWP-Id-r16 BWP-Id OPTIONAL, -- Need M
+ withinActiveTimeConfig-r16 CHOICE {release NULL, setup WithinActiveTimeConfig-r16 } OPTIONAL, -- Need M
+ outsideActiveTimeConfig-r16 CHOICE {release NULL, setup OutsideActiveTimeConfig-r16 } OPTIONAL -- Need M
+}
+
+WithinActiveTimeConfig-r16 ::= SEQUENCE {
+ firstWithinActiveTimeBWP-Id-r16 BWP-Id OPTIONAL, -- Need M
+ dormancyGroupWithinActiveTime-r16 DormancyGroupID-r16 OPTIONAL -- Need R
+}
+
+OutsideActiveTimeConfig-r16 ::= SEQUENCE {
+ firstOutsideActiveTimeBWP-Id-r16 BWP-Id OPTIONAL, -- Need M
+ dormancyGroupOutsideActiveTime-r16 DormancyGroupID-r16 OPTIONAL -- Need R
+}
+
+UplinkTxSwitching-r16 ::= SEQUENCE {
+ uplinkTxSwitchingPeriodLocation-r16 BOOLEAN,
+ uplinkTxSwitchingCarrier-r16 ENUMERATED {carrier1, carrier2}
+}
+
+MIMOParam-r17 ::= SEQUENCE {
+ additionalPCI-ToAddModList-r17 SEQUENCE (SIZE(1..maxNrofAdditionalPCI-r17)) OF SSB-MTC-AdditionalPCI-r17 OPTIONAL, -- Need N
+ additionalPCI-ToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofAdditionalPCI-r17)) OF AdditionalPCIIndex-r17 OPTIONAL, -- Need N
+ unifiedTCI-StateType-r17 ENUMERATED {separate, joint} OPTIONAL, -- Need R
+ uplink-PowerControlToAddModList-r17 SEQUENCE (SIZE (1..maxUL-TCI-r17)) OF Uplink-powerControl-r17 OPTIONAL, -- Need N
+ uplink-PowerControlToReleaseList-r17 SEQUENCE (SIZE (1..maxUL-TCI-r17)) OF Uplink-powerControlId-r17 OPTIONAL, -- Need N
+ sfnSchemePDCCH-r17 ENUMERATED {sfnSchemeA,sfnSchemeB} OPTIONAL, -- Need R
+ sfnSchemePDSCH-r17 ENUMERATED {sfnSchemeA,sfnSchemeB} OPTIONAL -- Need R
+
+}
+
+-- TAG-SERVINGCELLCONFIG-STOP
+-- TAG-SERVINGCELLCONFIGCOMMON-START
+
+ServingCellConfigCommon ::= SEQUENCE {
+ physCellId PhysCellId OPTIONAL, -- Cond HOAndServCellAdd,
+ downlinkConfigCommon DownlinkConfigCommon OPTIONAL, -- Cond HOAndServCellAdd
+ uplinkConfigCommon UplinkConfigCommon OPTIONAL, -- Need M
+ supplementaryUplinkConfig UplinkConfigCommon OPTIONAL, -- Need S
+ n-TimingAdvanceOffset ENUMERATED { n0, n25600, n39936 } OPTIONAL, -- Need S
+ ssb-PositionsInBurst CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64))
+ } OPTIONAL, -- Cond AbsFreqSSB
+ ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 } OPTIONAL, -- Need S
+ dmrs-TypeA-Position ENUMERATED {pos2, pos3},
+ lte-CRS-ToMatchAround CHOICE {release NULL, setup RateMatchPatternLTE-CRS } OPTIONAL, -- Need M
+ rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N
+ rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N
+ ssbSubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond HOAndServCellWithSSB
+ tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
+ ss-PBCH-BlockPower INTEGER (-60..50),
+ ...,
+ [[
+ channelAccessMode-r16 CHOICE {
+ dynamic NULL,
+ semiStatic SemiStaticChannelAccessConfig-r16
+ } OPTIONAL, -- Cond SharedSpectrum
+ discoveryBurstWindowLength-r16 ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5} OPTIONAL, -- Need R
+ ssb-PositionQCL-r16 SSB-PositionQCL-Relation-r16 OPTIONAL, -- Cond SharedSpectrum
+ highSpeedConfig-r16 HighSpeedConfig-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ highSpeedConfig-v1700 HighSpeedConfig-v1700 OPTIONAL, -- Need R
+ channelAccessMode2-r17 ENUMERATED {enabled} OPTIONAL, -- Cond SharedSpectrum2
+ discoveryBurstWindowLength-r17 ENUMERATED {ms0dot125, ms0dot25, ms0dot5, ms0dot75, ms1, ms1dot25} OPTIONAL, -- Need R
+ ssb-PositionQCL-r17 SSB-PositionQCL-Relation-r17 OPTIONAL, -- Cond SharedSpectrum2
+ highSpeedConfigFR2-r17 HighSpeedConfigFR2-r17 OPTIONAL, -- Need R
+ uplinkConfigCommon-v1700 UplinkConfigCommon-v1700 OPTIONAL, -- Need R
+ ntn-Config-r17 NTN-Config-r17 OPTIONAL -- Need R
+ ]],
+ [[
+ featurePriorities-r17 SEQUENCE {
+ redCapPriority-r17 FeaturePriority-r17 OPTIONAL, -- Need R
+ slicingPriority-r17 FeaturePriority-r17 OPTIONAL, -- Need R
+ msg3-Repetitions-Priority-r17 FeaturePriority-r17 OPTIONAL, -- Need R
+ sdt-Priority-r17 FeaturePriority-r17 OPTIONAL -- Need R
+ } OPTIONAL -- Need R
+ ]],
+ [[
+ ra-ChannelAccess-r17 ENUMERATED {enabled} OPTIONAL -- Cond SharedSpectrum2
+ ]]
+}
+
+-- TAG-SERVINGCELLCONFIGCOMMON-STOP
+-- TAG-SERVINGCELLCONFIGCOMMONSIB-START
+
+ServingCellConfigCommonSIB ::= SEQUENCE {
+ downlinkConfigCommon DownlinkConfigCommonSIB,
+ uplinkConfigCommon UplinkConfigCommonSIB OPTIONAL, -- Need R
+ supplementaryUplink UplinkConfigCommonSIB OPTIONAL, -- Need R
+ n-TimingAdvanceOffset ENUMERATED { n0, n25600, n39936 } OPTIONAL, -- Need S
+ ssb-PositionsInBurst SEQUENCE {
+ inOneGroup BIT STRING (SIZE (8)),
+ groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond FR2-Only
+ },
+ ssb-PeriodicityServingCell ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160},
+ tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD
+ ss-PBCH-BlockPower INTEGER (-60..50),
+ ...,
+ [[
+ channelAccessMode-r16 CHOICE {
+ dynamic NULL,
+ semiStatic SemiStaticChannelAccessConfig-r16
+ } OPTIONAL, -- Cond SharedSpectrum
+ discoveryBurstWindowLength-r16 ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5} OPTIONAL, -- Need R
+ highSpeedConfig-r16 HighSpeedConfig-r16 OPTIONAL -- Need R
+ ]],
+ [[
+ channelAccessMode2-r17 ENUMERATED {enabled} OPTIONAL, -- Cond SharedSpectrum2
+ discoveryBurstWindowLength-v1700 ENUMERATED {ms0dot125, ms0dot25, ms0dot5, ms0dot75, ms1, ms1dot25} OPTIONAL, -- Need R
+ highSpeedConfigFR2-r17 HighSpeedConfigFR2-r17 OPTIONAL, -- Need R
+ uplinkConfigCommon-v1700 UplinkConfigCommonSIB-v1700 OPTIONAL -- Need R
+ ]],
+ [[
+ enhancedMeasurementLEO-r17 ENUMERATED {true} OPTIONAL -- Need R
+ ]],
+ [[
+ ra-ChannelAccess-r17 ENUMERATED {enabled} OPTIONAL -- Cond SharedSpectrum2
+ ]]
+}
+
+-- TAG-SERVINGCELLCONFIGCOMMONSIB-STOP
+-- TAG-SHORTI-RNTI-VALUE-START
+
+ShortI-RNTI-Value ::= BIT STRING (SIZE(24))
+
+-- TAG-SHORTI-RNTI-VALUE-STOP
+-- TAG-SHORTMAC-I-START
+
+ShortMAC-I ::= BIT STRING (SIZE (16))
+
+-- TAG-SHORTMAC-I-STOP
+-- TAG-SINR-RANGE-START
+
+SINR-Range ::= INTEGER(0..127)
+
+-- TAG-SINR-RANGE-STOP
+-- TAG-SI-REQUESTCONFIG-START
+
+SI-RequestConfig ::= SEQUENCE {
+ rach-OccasionsSI SEQUENCE {
+ rach-ConfigSI RACH-ConfigGeneric,
+ ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen}
+ } OPTIONAL, -- Need R
+ si-RequestPeriod ENUMERATED {one, two, four, six, eight, ten, twelve, sixteen} OPTIONAL, -- Need R
+ si-RequestResources SEQUENCE (SIZE (1..maxSI-Message)) OF SI-RequestResources
+}
+
+SI-RequestResources ::= SEQUENCE {
+ ra-PreambleStartIndex INTEGER (0..63),
+ ra-AssociationPeriodIndex INTEGER (0..15) OPTIONAL, -- Need R
+ ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL -- Need R
+}
+
+-- TAG-SI-REQUESTCONFIG-STOP
+-- TAG-SI-SCHEDULINGINFO-START
+
+SI-SchedulingInfo ::= SEQUENCE {
+ schedulingInfoList SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo,
+ si-WindowLength ENUMERATED {s5, s10, s20, s40, s80, s160, s320, s640, s1280, s2560-v1710, s5120-v1710 },
+ si-RequestConfig SI-RequestConfig OPTIONAL, -- Cond MSG-1
+ si-RequestConfigSUL SI-RequestConfig OPTIONAL, -- Cond SUL-MSG-1
+ systemInformationAreaID BIT STRING (SIZE (24)) OPTIONAL, -- Need R
+ ...
+}
+
+SchedulingInfo ::= SEQUENCE {
+ si-BroadcastStatus ENUMERATED {broadcasting, notBroadcasting},
+ si-Periodicity ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},
+ sib-MappingInfo SIB-Mapping
+}
+
+SI-SchedulingInfo-v1700 ::= SEQUENCE {
+ schedulingInfoList2-r17 SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo2-r17,
+ dummy SI-RequestConfig OPTIONAL
+}
+
+SI-SchedulingInfo-v1740 ::= SEQUENCE {
+ si-RequestConfigRedCap-r17 SI-RequestConfig OPTIONAL -- Cond REDCAP-MSG-1
+}
+
+SchedulingInfo2-r17 ::= SEQUENCE {
+ si-BroadcastStatus-r17 ENUMERATED {broadcasting, notBroadcasting},
+ si-WindowPosition-r17 INTEGER (1..256),
+ si-Periodicity-r17 ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},
+ sib-MappingInfo-r17 SIB-Mapping-v1700
+}
+
+SIB-Mapping ::= SEQUENCE (SIZE (1..maxSIB)) OF SIB-TypeInfo
+
+SIB-Mapping-v1700 ::= SEQUENCE (SIZE (1..maxSIB)) OF SIB-TypeInfo-v1700
+
+SIB-TypeInfo ::= SEQUENCE {
+ type ENUMERATED {sibType2, sibType3, sibType4, sibType5, sibType6, sibType7, sibType8, sibType9,
+ sibType10-v1610, sibType11-v1610, sibType12-v1610, sibType13-v1610,
+ sibType14-v1610, spare3, spare2, spare1,... },
+ valueTag INTEGER (0..31) OPTIONAL, -- Cond SIB-TYPE
+ areaScope ENUMERATED {true} OPTIONAL -- Need S
+}
+
+SIB-TypeInfo-v1700 ::= SEQUENCE {
+ sibType-r17 CHOICE {
+ type1-r17 ENUMERATED {sibType15, sibType16, sibType17, sibType18, sibType19, sibType20, sibType21,
+ spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1,...},
+ type2-r17 SEQUENCE {
+ posSibType-r17 ENUMERATED {posSibType1-9, posSibType1-10, posSibType2-24, posSibType2-25,
+ posSibType6-4, posSibType6-5, posSibType6-6, spare9, spare8, spare7, spare6,
+ spare5, spare4, spare3, spare2, spare1,...},
+ encrypted-r17 ENUMERATED { true } OPTIONAL, -- Need R
+ gnss-id-r17 GNSS-ID-r16 OPTIONAL, -- Need R
+ sbas-id-r17 SBAS-ID-r16 OPTIONAL -- Need R
+ }
+ },
+ valueTag-r17 INTEGER (0..31) OPTIONAL, -- Cond NonPosSIB
+ areaScope-r17 ENUMERATED {true} OPTIONAL -- Need S
+}
+
+-- TAG-SI-SCHEDULINGINFO-STOP
+-- TAG-SKCOUNTER-START
+
+SK-Counter ::= INTEGER (0..65535)
+
+-- TAG-SKCOUNTER-STOP
+-- TAG-SLOTFORMATCOMBINATIONSPERCELL-START
+
+SlotFormatCombinationsPerCell ::= SEQUENCE {
+ servingCellId ServCellIndex,
+ subcarrierSpacing SubcarrierSpacing,
+ subcarrierSpacing2 SubcarrierSpacing OPTIONAL, -- Need R
+ slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination
+ OPTIONAL, -- Need M
+ positionInDCI INTEGER(0..maxSFI-DCI-PayloadSize-1) OPTIONAL, -- Need M
+ ...,
+ [[
+ enableConfiguredUL-r16 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+
+}
+
+SlotFormatCombination ::= SEQUENCE {
+ slotFormatCombinationId SlotFormatCombinationId,
+ slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255)
+}
+
+SlotFormatCombinationId ::= INTEGER (0..maxNrofSlotFormatCombinationsPerSet-1)
+
+-- TAG-SLOTFORMATCOMBINATIONSPERCELL-STOP
+-- TAG-SLOTFORMATINDICATOR-START
+
+SlotFormatIndicator ::= SEQUENCE {
+ sfi-RNTI RNTI-Value,
+ dci-PayloadSize INTEGER (1..maxSFI-DCI-PayloadSize),
+ slotFormatCombToAddModList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF SlotFormatCombinationsPerCell
+ OPTIONAL, -- Need N
+ slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N
+ ...,
+ [[
+ availableRB-SetsToAddModList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF AvailableRB-SetsPerCell-r16 OPTIONAL, -- Need N
+ availableRB-SetsToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N
+ switchTriggerToAddModList-r16 SEQUENCE (SIZE(1..4)) OF SearchSpaceSwitchTrigger-r16 OPTIONAL, -- Need N
+ switchTriggerToReleaseList-r16 SEQUENCE (SIZE(1..4)) OF ServCellIndex OPTIONAL, -- Need N
+ co-DurationsPerCellToAddModList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF CO-DurationsPerCell-r16 OPTIONAL, -- Need N
+ co-DurationsPerCellToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL -- Need N
+ ]],
+ [[
+ switchTriggerToAddModListSizeExt-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroupMinus4-r16)) OF
+ SearchSpaceSwitchTrigger-r16 OPTIONAL, -- Need N
+ switchTriggerToReleaseListSizeExt-r16 SEQUENCE (SIZE(1.. maxNrofAggregatedCellsPerCellGroupMinus4-r16)) OF
+ ServCellIndex OPTIONAL -- Need N
+ ]],
+ [[
+ co-DurationsPerCellToAddModList-r17 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF CO-DurationsPerCell-r17 OPTIONAL -- Need N
+ ]]
+}
+
+CO-DurationsPerCell-r16 ::= SEQUENCE {
+ servingCellId-r16 ServCellIndex,
+ positionInDCI-r16 INTEGER(0..maxSFI-DCI-PayloadSize-1),
+ subcarrierSpacing-r16 SubcarrierSpacing,
+ co-DurationList-r16 SEQUENCE (SIZE(1..64)) OF CO-Duration-r16
+}
+
+CO-DurationsPerCell-r17 ::= SEQUENCE {
+ servingCellId-r17 ServCellIndex,
+ positionInDCI-r17 INTEGER(0..maxSFI-DCI-PayloadSize-1),
+ subcarrierSpacing-r17 SubcarrierSpacing,
+ co-DurationList-r17 SEQUENCE (SIZE(1..64)) OF CO-Duration-r17
+}
+
+CO-Duration-r16 ::= INTEGER (0..1120)
+CO-Duration-r17 ::= INTEGER (0..4480)
+
+AvailableRB-SetsPerCell-r16 ::= SEQUENCE {
+ servingCellId-r16 ServCellIndex,
+ positionInDCI-r16 INTEGER(0..maxSFI-DCI-PayloadSize-1)
+}
+
+SearchSpaceSwitchTrigger-r16 ::= SEQUENCE {
+ servingCellId-r16 ServCellIndex,
+ positionInDCI-r16 INTEGER(0..maxSFI-DCI-PayloadSize-1)
+}
+
+-- TAG-SLOTFORMATINDICATOR-STOP
+-- TAG-S-NSSAI-START
+
+S-NSSAI ::= CHOICE{
+ sst BIT STRING (SIZE (8)),
+ sst-SD BIT STRING (SIZE (32))
+}
+
+-- TAG-S-NSSAI-STOP
+-- TAG-SPEEDSTATESCALEFACTORS-START
+
+SpeedStateScaleFactors ::= SEQUENCE {
+ sf-Medium ENUMERATED {oDot25, oDot5, oDot75, lDot0},
+ sf-High ENUMERATED {oDot25, oDot5, oDot75, lDot0}
+}
+-- TAG-SPEEDSTATESCALEFACTORS-STOP
+-- TAG-SPS-CONFIG-START
+
+SPS-Config ::= SEQUENCE {
+ periodicity ENUMERATED {ms10, ms20, ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640,
+ spare6, spare5, spare4, spare3, spare2, spare1},
+ nrofHARQ-Processes INTEGER (1..8),
+ n1PUCCH-AN PUCCH-ResourceId OPTIONAL, -- Need M
+ mcs-Table ENUMERATED {qam64LowSE} OPTIONAL, -- Need S
+ ...,
+ [[
+ sps-ConfigIndex-r16 SPS-ConfigIndex-r16 OPTIONAL, -- Cond SPS-List
+ harq-ProcID-Offset-r16 INTEGER (0..15) OPTIONAL, -- Need R
+ periodicityExt-r16 INTEGER (1..5120) OPTIONAL, -- Need R
+ harq-CodebookID-r16 INTEGER (1..2) OPTIONAL, -- Need R
+ pdsch-AggregationFactor-r16 ENUMERATED {n1, n2, n4, n8 } OPTIONAL -- Need S
+ ]],
+ [[
+ sps-HARQ-Deferral-r17 INTEGER (1..32) OPTIONAL, -- Need R
+ n1PUCCH-AN-PUCCHsSCell-r17 PUCCH-ResourceId OPTIONAL, -- Need R
+ periodicityExt-r17 INTEGER (1..40960) OPTIONAL, -- Need R
+ nrofHARQ-Processes-v1710 INTEGER(9..32) OPTIONAL, -- Need R
+ harq-ProcID-Offset-v1700 INTEGER (16..31) OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-SPS-CONFIG-STOP
+-- TAG-SPS-CONFIGINDEX-START
+
+SPS-ConfigIndex-r16 ::= INTEGER (0.. maxNrofSPS-Config-1-r16)
+
+-- TAG-SPS-CONFIGINDEX-STOP
+-- TAG-SPS-PUCCH-AN-START
+
+SPS-PUCCH-AN-r16 ::= SEQUENCE {
+ sps-PUCCH-AN-ResourceID-r16 PUCCH-ResourceId,
+ maxPayloadSize-r16 INTEGER (4..256) OPTIONAL -- Need R
+}
+
+-- TAG-SPS-PUCCH-AN-STOP
+-- TAG-SPS-PUCCH-AN-LIST-START
+
+SPS-PUCCH-AN-List-r16 ::= SEQUENCE (SIZE(1..4)) OF SPS-PUCCH-AN-r16
+
+-- TAG-SPS-PUCCH-AN-LIST-STOP
+-- TAG-SRB-IDENTITY-START
+
+SRB-Identity ::= INTEGER (1..3)
+
+SRB-Identity-v1700 ::= INTEGER (4)
+
+-- TAG-SRB-IDENTITY-STOP
+-- TAG-SRS-CARRIERSWITCHING-START
+
+SRS-CarrierSwitching ::= SEQUENCE {
+ srs-SwitchFromServCellIndex INTEGER (0..31) OPTIONAL, -- Need M
+ srs-SwitchFromCarrier ENUMERATED {sUL, nUL},
+ srs-TPC-PDCCH-Group CHOICE {
+ typeA SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config,
+ typeB SRS-TPC-PDCCH-Config
+ } OPTIONAL, -- Need M
+ monitoringCells SEQUENCE (SIZE (1..maxNrofServingCells)) OF ServCellIndex OPTIONAL, -- Need M
+ ...
+}
+
+SRS-TPC-PDCCH-Config ::= SEQUENCE {
+ srs-CC-SetIndexlist SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex OPTIONAL -- Need M
+}
+
+SRS-CC-SetIndex ::= SEQUENCE {
+ cc-SetIndex INTEGER (0..3) OPTIONAL, -- Need M
+ cc-IndexInOneCC-Set INTEGER (0..7) OPTIONAL -- Need M
+}
+
+-- TAG-SRS-CARRIERSWITCHING-STOP
+-- TAG-SRS-CONFIG-START
+
+SRS-Config ::= SEQUENCE {
+ srs-ResourceSetToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId OPTIONAL, -- Need N
+ srs-ResourceSetToAddModList SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet OPTIONAL, -- Need N
+ srs-ResourceToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-ResourceId OPTIONAL, -- Need N
+ srs-ResourceToAddModList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-Resource OPTIONAL, -- Need N
+ tpc-Accumulation ENUMERATED {disabled} OPTIONAL, -- Need S
+ ...,
+ [[
+ srs-RequestDCI-1-2-r16 INTEGER (1..2) OPTIONAL, -- Need S
+ srs-RequestDCI-0-2-r16 INTEGER (1..2) OPTIONAL, -- Need S
+ srs-ResourceSetToAddModListDCI-0-2-r16 SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet OPTIONAL, -- Need N
+ srs-ResourceSetToReleaseListDCI-0-2-r16 SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId OPTIONAL, -- Need N
+ srs-PosResourceSetToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSetId-r16
+ OPTIONAL, -- Need N
+ srs-PosResourceSetToAddModList-r16 SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSet-r16 OPTIONAL,-- Need N
+ srs-PosResourceToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResourceId-r16 OPTIONAL,-- Need N
+ srs-PosResourceToAddModList-r16 SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResource-r16 OPTIONAL -- Need N
+ ]]
+}
+
+SRS-ResourceSet ::= SEQUENCE {
+ srs-ResourceSetId SRS-ResourceSetId,
+ srs-ResourceIdList SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId OPTIONAL, -- Cond Setup
+ resourceType CHOICE {
+ aperiodic SEQUENCE {
+ aperiodicSRS-ResourceTrigger INTEGER (1..maxNrofSRS-TriggerStates-1),
+ csi-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook
+ slotOffset INTEGER (1..32) OPTIONAL, -- Need S
+ ...,
+ [[
+ aperiodicSRS-ResourceTriggerList SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-2))
+ OF INTEGER (1..maxNrofSRS-TriggerStates-1) OPTIONAL -- Need M
+ ]]
+ },
+ semi-persistent SEQUENCE {
+ associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook
+ ...
+ },
+ periodic SEQUENCE {
+ associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook
+ ...
+ }
+ },
+ usage ENUMERATED {beamManagement, codebook, nonCodebook, antennaSwitching},
+ alpha Alpha OPTIONAL, -- Need S
+ p0 INTEGER (-202..24) OPTIONAL, -- Cond Setup
+ pathlossReferenceRS PathlossReferenceRS-Config OPTIONAL, -- Need M
+ srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S
+ ...,
+ [[
+ pathlossReferenceRSList-r16 CHOICE {release NULL, setup PathlossReferenceRSList-r16} OPTIONAL -- Need M
+ ]],
+ [[
+ usagePDC-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ availableSlotOffsetList-r17 SEQUENCE (SIZE(1..4)) OF AvailableSlotOffset-r17 OPTIONAL, -- Need R
+ followUnifiedTCI-StateSRS-r17 ENUMERATED {enabled} OPTIONAL -- Need R
+ ]]
+}
+
+AvailableSlotOffset-r17 ::= INTEGER (0..7)
+
+PathlossReferenceRS-Config ::= CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId
+}
+
+PathlossReferenceRSList-r16 ::= SEQUENCE (SIZE (1..maxNrofSRS-PathlossReferenceRS-r16)) OF PathlossReferenceRS-r16
+
+PathlossReferenceRS-r16 ::= SEQUENCE {
+ srs-PathlossReferenceRS-Id-r16 SRS-PathlossReferenceRS-Id-r16,
+ pathlossReferenceRS-r16 PathlossReferenceRS-Config
+}
+
+SRS-PathlossReferenceRS-Id-r16 ::= INTEGER (0..maxNrofSRS-PathlossReferenceRS-1-r16)
+
+SRS-PosResourceSet-r16 ::= SEQUENCE {
+ srs-PosResourceSetId-r16 SRS-PosResourceSetId-r16,
+ srs-PosResourceIdList-r16 SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-PosResourceId-r16
+ OPTIONAL, -- Cond Setup
+ resourceType-r16 CHOICE {
+ aperiodic-r16 SEQUENCE {
+ aperiodicSRS-ResourceTriggerList-r16 SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-1))
+ OF INTEGER (1..maxNrofSRS-TriggerStates-1) OPTIONAL, -- Need M
+ ...
+ },
+ semi-persistent-r16 SEQUENCE {
+ ...
+ },
+ periodic-r16 SEQUENCE {
+ ...
+ }
+ },
+ alpha-r16 Alpha OPTIONAL, -- Need S
+ p0-r16 INTEGER (-202..24) OPTIONAL, -- Cond Setup
+ pathlossReferenceRS-Pos-r16 CHOICE {
+ ssb-IndexServing-r16 SSB-Index,
+ ssb-Ncell-r16 SSB-InfoNcell-r16,
+ dl-PRS-r16 DL-PRS-Info-r16
+ } OPTIONAL, -- Need M
+ ...
+}
+
+SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1)
+
+SRS-PosResourceSetId-r16 ::= INTEGER (0..maxNrofSRS-PosResourceSets-1-r16)
+
+SRS-Resource ::= SEQUENCE {
+ srs-ResourceId SRS-ResourceId,
+ nrofSRS-Ports ENUMERATED {port1, ports2, ports4},
+ ptrs-PortIndex ENUMERATED {n0, n1 } OPTIONAL, -- Need R
+ transmissionComb CHOICE {
+ n2 SEQUENCE {
+ combOffset-n2 INTEGER (0..1),
+ cyclicShift-n2 INTEGER (0..7)
+ },
+ n4 SEQUENCE {
+ combOffset-n4 INTEGER (0..3),
+ cyclicShift-n4 INTEGER (0..11)
+ }
+ },
+ resourceMapping SEQUENCE {
+ startPosition INTEGER (0..5),
+ nrofSymbols ENUMERATED {n1, n2, n4},
+ repetitionFactor ENUMERATED {n1, n2, n4}
+ },
+ freqDomainPosition INTEGER (0..67),
+ freqDomainShift INTEGER (0..268),
+ freqHopping SEQUENCE {
+ c-SRS INTEGER (0..63),
+ b-SRS INTEGER (0..3),
+ b-hop INTEGER (0..3)
+ },
+ groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping },
+ resourceType CHOICE {
+ aperiodic SEQUENCE {
+ ...
+ },
+ semi-persistent SEQUENCE {
+ periodicityAndOffset-sp SRS-PeriodicityAndOffset,
+ ...
+ },
+ periodic SEQUENCE {
+ periodicityAndOffset-p SRS-PeriodicityAndOffset,
+ ...
+ }
+ },
+ sequenceId INTEGER (0..1023),
+ spatialRelationInfo SRS-SpatialRelationInfo OPTIONAL, -- Need R
+ ...,
+ [[
+ resourceMapping-r16 SEQUENCE {
+ startPosition-r16 INTEGER (0..13),
+ nrofSymbols-r16 ENUMERATED {n1, n2, n4},
+ repetitionFactor-r16 ENUMERATED {n1, n2, n4}
+ } OPTIONAL -- Need R
+ ]],
+ [[
+ spatialRelationInfo-PDC-r17 CHOICE {release NULL, setup SpatialRelationInfo-PDC-r17 } OPTIONAL, -- Need M
+ resourceMapping-r17 SEQUENCE {
+ startPosition-r17 INTEGER (0..13),
+ nrofSymbols-r17 ENUMERATED {n1, n2, n4, n8, n10, n12, n14},
+ repetitionFactor-r17 ENUMERATED {n1, n2, n4, n5, n6, n7, n8, n10, n12, n14}
+ } OPTIONAL, -- Need R
+ partialFreqSounding-r17 SEQUENCE {
+ startRBIndexFScaling-r17 CHOICE{
+ startRBIndexAndFreqScalingFactor2-r17 INTEGER (0..1),
+ startRBIndexAndFreqScalingFactor4-r17 INTEGER (0..3)
+ },
+ enableStartRBHopping-r17 ENUMERATED {enable} OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ transmissionComb-n8-r17 SEQUENCE {
+ combOffset-n8-r17 INTEGER (0..7),
+ cyclicShift-n8-r17 INTEGER (0..5)
+ } OPTIONAL, -- Need R
+ srs-TCI-State-r17 CHOICE {
+ srs-UL-TCI-State TCI-UL-StateId-r17,
+ srs-DLorJointTCI-State TCI-StateId
+ } OPTIONAL -- Need R
+ ]],
+ [[
+ repetitionFactor-v1730 ENUMERATED {n3} OPTIONAL, -- Need R
+ srs-DLorJointTCI-State-v1730 SEQUENCE {
+ cellAndBWP-r17 ServingCellAndBWP-Id-r17
+ } OPTIONAL -- Cond DLorJointTCI-SRS
+ ]]
+}
+
+SRS-PosResource-r16::= SEQUENCE {
+ srs-PosResourceId-r16 SRS-PosResourceId-r16,
+ transmissionComb-r16 CHOICE {
+ n2-r16 SEQUENCE {
+ combOffset-n2-r16 INTEGER (0..1),
+ cyclicShift-n2-r16 INTEGER (0..7)
+ },
+ n4-r16 SEQUENCE {
+ combOffset-n4-r16 INTEGER (0..3),
+ cyclicShift-n4-r16 INTEGER (0..11)
+ },
+ n8-r16 SEQUENCE {
+ combOffset-n8-r16 INTEGER (0..7),
+ cyclicShift-n8-r16 INTEGER (0..5)
+ },
+ ...
+ },
+ resourceMapping-r16 SEQUENCE {
+ startPosition-r16 INTEGER (0..13),
+ nrofSymbols-r16 ENUMERATED {n1, n2, n4, n8, n12}
+ },
+ freqDomainShift-r16 INTEGER (0..268),
+ freqHopping-r16 SEQUENCE {
+ c-SRS-r16 INTEGER (0..63),
+ ...
+ },
+ groupOrSequenceHopping-r16 ENUMERATED { neither, groupHopping, sequenceHopping },
+ resourceType-r16 CHOICE {
+ aperiodic-r16 SEQUENCE {
+ slotOffset-r16 INTEGER (1..32) OPTIONAL, -- Need S
+ ...
+ },
+ semi-persistent-r16 SEQUENCE {
+ periodicityAndOffset-sp-r16 SRS-PeriodicityAndOffset-r16,
+ ...,
+ [[
+ periodicityAndOffset-sp-Ext-r16 SRS-PeriodicityAndOffsetExt-r16 OPTIONAL -- Need R
+ ]]
+ },
+ periodic-r16 SEQUENCE {
+ periodicityAndOffset-p-r16 SRS-PeriodicityAndOffset-r16,
+ ...,
+ [[
+ periodicityAndOffset-p-Ext-r16 SRS-PeriodicityAndOffsetExt-r16 OPTIONAL -- Need R
+ ]]
+ }
+ },
+ sequenceId-r16 INTEGER (0..65535),
+ spatialRelationInfoPos-r16 SRS-SpatialRelationInfoPos-r16 OPTIONAL, -- Need R
+ ...
+}
+
+SRS-SpatialRelationInfo ::= SEQUENCE {
+ servingCellId ServCellIndex OPTIONAL, -- Need S
+ referenceSignal CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId,
+ srs SEQUENCE {
+ resourceId SRS-ResourceId,
+ uplinkBWP BWP-Id
+ }
+ }
+}
+
+SRS-SpatialRelationInfoPos-r16 ::= CHOICE {
+ servingRS-r16 SEQUENCE {
+ servingCellId ServCellIndex OPTIONAL, -- Need S
+ referenceSignal-r16 CHOICE {
+ ssb-IndexServing-r16 SSB-Index,
+ csi-RS-IndexServing-r16 NZP-CSI-RS-ResourceId,
+ srs-SpatialRelation-r16 SEQUENCE {
+ resourceSelection-r16 CHOICE {
+ srs-ResourceId-r16 SRS-ResourceId,
+ srs-PosResourceId-r16 SRS-PosResourceId-r16
+ },
+ uplinkBWP-r16 BWP-Id
+ }
+ }
+ },
+ ssb-Ncell-r16 SSB-InfoNcell-r16,
+ dl-PRS-r16 DL-PRS-Info-r16
+}
+
+SSB-Configuration-r16 ::= SEQUENCE {
+ ssb-Freq-r16 ARFCN-ValueNR,
+ halfFrameIndex-r16 ENUMERATED {zero, one},
+ ssbSubcarrierSpacing-r16 SubcarrierSpacing,
+ ssb-Periodicity-r16 ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2,spare1 } OPTIONAL, -- Need S
+ sfn0-Offset-r16 SEQUENCE {
+ sfn-Offset-r16 INTEGER (0..1023),
+ integerSubframeOffset-r16 INTEGER (0..9) OPTIONAL -- Need R
+ } OPTIONAL, -- Need R
+ sfn-SSB-Offset-r16 INTEGER (0..15),
+ ss-PBCH-BlockPower-r16 INTEGER (-60..50) OPTIONAL -- Cond Pathloss
+}
+
+SSB-InfoNcell-r16 ::= SEQUENCE {
+ physicalCellId-r16 PhysCellId,
+ ssb-IndexNcell-r16 SSB-Index OPTIONAL, -- Need S
+ ssb-Configuration-r16 SSB-Configuration-r16 OPTIONAL -- Need S
+}
+
+DL-PRS-Info-r16 ::= SEQUENCE {
+ dl-PRS-ID-r16 INTEGER (0..255),
+ dl-PRS-ResourceSetId-r16 INTEGER (0..7),
+ dl-PRS-ResourceId-r16 INTEGER (0..63) OPTIONAL -- Need S
+}
+
+SRS-ResourceId ::= INTEGER (0..maxNrofSRS-Resources-1)
+SRS-PosResourceId-r16 ::= INTEGER (0..maxNrofSRS-PosResources-1-r16)
+
+SRS-PeriodicityAndOffset ::= CHOICE {
+ sl1 NULL,
+ sl2 INTEGER(0..1),
+ sl4 INTEGER(0..3),
+ sl5 INTEGER(0..4),
+ sl8 INTEGER(0..7),
+ sl10 INTEGER(0..9),
+ sl16 INTEGER(0..15),
+ sl20 INTEGER(0..19),
+ sl32 INTEGER(0..31),
+ sl40 INTEGER(0..39),
+ sl64 INTEGER(0..63),
+ sl80 INTEGER(0..79),
+ sl160 INTEGER(0..159),
+ sl320 INTEGER(0..319),
+ sl640 INTEGER(0..639),
+ sl1280 INTEGER(0..1279),
+ sl2560 INTEGER(0..2559)
+}
+
+SRS-PeriodicityAndOffset-r16 ::= CHOICE {
+ sl1 NULL,
+ sl2 INTEGER(0..1),
+ sl4 INTEGER(0..3),
+ sl5 INTEGER(0..4),
+ sl8 INTEGER(0..7),
+ sl10 INTEGER(0..9),
+ sl16 INTEGER(0..15),
+ sl20 INTEGER(0..19),
+ sl32 INTEGER(0..31),
+ sl40 INTEGER(0..39),
+ sl64 INTEGER(0..63),
+ sl80 INTEGER(0..79),
+ sl160 INTEGER(0..159),
+ sl320 INTEGER(0..319),
+ sl640 INTEGER(0..639),
+ sl1280 INTEGER(0..1279),
+ sl2560 INTEGER(0..2559),
+ sl5120 INTEGER(0..5119),
+ sl10240 INTEGER(0..10239),
+ sl40960 INTEGER(0..40959),
+ sl81920 INTEGER(0..81919),
+ ...
+}
+
+SRS-PeriodicityAndOffsetExt-r16 ::= CHOICE {
+ sl128 INTEGER(0..127),
+ sl256 INTEGER(0..255),
+ sl512 INTEGER(0..511),
+ sl20480 INTEGER(0..20479)
+}
+
+SpatialRelationInfo-PDC-r17 ::= SEQUENCE {
+ referenceSignal CHOICE {
+ ssb-Index SSB-Index,
+ csi-RS-Index NZP-CSI-RS-ResourceId,
+ dl-PRS-PDC NR-DL-PRS-ResourceID-r17,
+ srs SEQUENCE {
+ resourceId SRS-ResourceId,
+ uplinkBWP BWP-Id
+ },
+ ...
+ },
+ ...
+}
+
+-- TAG-SRS-CONFIG-STOP
+-- TAG-SRS-RSRP-RANGE-START
+
+SRS-RSRP-Range-r16 ::= INTEGER(0..98)
+
+-- TAG-SRS-RSRP-RANGE-STOP
+-- TAG-SRS-TPC-COMMANDCONFIG-START
+
+SRS-TPC-CommandConfig ::= SEQUENCE {
+ startingBitOfFormat2-3 INTEGER (1..31) OPTIONAL, -- Need R
+ fieldTypeFormat2-3 INTEGER (0..1) OPTIONAL, -- Need R
+ ...,
+ [[
+ startingBitOfFormat2-3SUL INTEGER (1..31) OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-SRS-TPC-COMMANDCONFIG-STOP
+-- TAG-SSB-INDEX-START
+
+SSB-Index ::= INTEGER (0..maxNrofSSBs-1)
+
+-- TAG-SSB-INDEX-STOP
+-- TAG-SSB-MTC-START
+
+SSB-MTC ::= SEQUENCE {
+ periodicityAndOffset CHOICE {
+ sf5 INTEGER (0..4),
+ sf10 INTEGER (0..9),
+ sf20 INTEGER (0..19),
+ sf40 INTEGER (0..39),
+ sf80 INTEGER (0..79),
+ sf160 INTEGER (0..159)
+ },
+ duration ENUMERATED { sf1, sf2, sf3, sf4, sf5 }
+}
+
+SSB-MTC2 ::= SEQUENCE {
+ pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M
+ periodicity ENUMERATED {sf5, sf10, sf20, sf40, sf80, spare3, spare2, spare1}
+}
+
+SSB-MTC2-LP-r16 ::= SEQUENCE {
+ pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need R
+ periodicity ENUMERATED {sf10, sf20, sf40, sf80, sf160, spare3, spare2, spare1}
+}
+
+SSB-MTC3-r16 ::= SEQUENCE {
+ periodicityAndOffset-r16 CHOICE {
+ sf5-r16 INTEGER (0..4),
+ sf10-r16 INTEGER (0..9),
+ sf20-r16 INTEGER (0..19),
+ sf40-r16 INTEGER (0..39),
+ sf80-r16 INTEGER (0..79),
+ sf160-r16 INTEGER (0..159),
+ sf320-r16 INTEGER (0..319),
+ sf640-r16 INTEGER (0..639),
+ sf1280-r16 INTEGER (0..1279)
+ },
+ duration-r16 ENUMERATED {sf1, sf2, sf3, sf4, sf5},
+ pci-List-r16 SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M
+ ssb-ToMeasure-r16 CHOICE {release NULL, setup SSB-ToMeasure } OPTIONAL -- Need M
+}
+
+SSB-MTC4-r17 ::= SEQUENCE {
+ pci-List-r17 SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M
+ offset-r17 INTEGER (0..159)
+}
+
+SSB-MTC-AdditionalPCI-r17 ::= SEQUENCE {
+ additionalPCIIndex-r17 AdditionalPCIIndex-r17,
+ additionalPCI-r17 PhysCellId,
+ periodicity-r17 ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 },
+ ssb-PositionsInBurst-r17 CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64))
+ },
+ ss-PBCH-BlockPower-r17 INTEGER (-60..50)
+}
+
+AdditionalPCIIndex-r17 ::= INTEGER(1..maxNrofAdditionalPCI-r17)
+
+-- TAG-SSB-MTC-STOP
+-- TAG-SSB-POSITIONQCL-RELATION-START
+
+SSB-PositionQCL-Relation-r16 ::= ENUMERATED {n1,n2,n4,n8}
+
+SSB-PositionQCL-Relation-r17 ::= ENUMERATED {n32, n64}
+
+-- TAG-SSB-POSITIONQCL-RELATION-STOP
+-- TAG-SSB-TOMEASURE-START
+
+SSB-ToMeasure ::= CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64))
+}
+
+-- TAG-SSB-TOMEASURE-STOP
+-- TAG-SS-RSSI-MEASUREMENT-START
+
+SS-RSSI-Measurement ::= SEQUENCE {
+ measurementSlots BIT STRING (SIZE (1..80)),
+ endSymbol INTEGER(0..3)
+}
+
+-- TAG-SS-RSSI-MEASUREMENT-STOP
+-- TAG-SUBCARRIERSPACING-START
+
+SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, kHz480-v1700, kHz960-v1700, spare1}
+
+-- TAG-SUBCARRIERSPACING-STOP
+-- TAG-TAG-CONFIG-START
+
+TAG-Config ::= SEQUENCE {
+ tag-ToReleaseList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-Id OPTIONAL, -- Need N
+ tag-ToAddModList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG OPTIONAL -- Need N
+}
+
+TAG ::= SEQUENCE {
+ tag-Id TAG-Id,
+ timeAlignmentTimer TimeAlignmentTimer,
+ ...
+}
+
+TAG-Id ::= INTEGER (0..maxNrofTAGs-1)
+
+-- TAG-TAG-CONFIG-STOP
+-- TAG-TAR-CONFIG-START
+
+TAR-Config-r17 ::= SEQUENCE {
+ offsetThresholdTA-r17 ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5, ms6 ,ms7, ms8, ms9, ms10, ms11, ms12,
+ ms13, ms14, ms15, spare13, spare12, spare11, spare10, spare9, spare8, spare7,
+ spare6, spare5, spare4, spare3, spare2, spare1} OPTIONAL, -- Need R
+ timingAdvanceSR-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-TAR-CONFIG-STOP
+-- TAG-TCI-ACTIVATEDCONFIG-START
+
+TCI-ActivatedConfig-r17 ::= SEQUENCE {
+ pdcch-TCI-r17 SEQUENCE (SIZE (1..5)) OF TCI-StateId,
+ pdsch-TCI-r17 BIT STRING (SIZE (1..maxNrofTCI-States))
+}
+
+-- TAG-TCI-ACTIVATEDCONFIG-STOP
+-- TAG-TCI-STATE-START
+
+TCI-State ::= SEQUENCE {
+ tci-StateId TCI-StateId,
+ qcl-Type1 QCL-Info,
+ qcl-Type2 QCL-Info OPTIONAL, -- Need R
+ ...,
+ [[
+ additionalPCI-r17 AdditionalPCIIndex-r17 OPTIONAL, -- Need R
+ pathlossReferenceRS-Id-r17 PathlossReferenceRS-Id-r17 OPTIONAL, -- Cond JointTCI1
+ ul-powerControl-r17 Uplink-powerControlId-r17 OPTIONAL -- Cond JointTCI
+ ]]
+
+}
+
+QCL-Info ::= SEQUENCE {
+ cell ServCellIndex OPTIONAL, -- Need R
+ bwp-Id BWP-Id OPTIONAL, -- Cond CSI-RS-Indicated
+ referenceSignal CHOICE {
+ csi-rs NZP-CSI-RS-ResourceId,
+ ssb SSB-Index
+ },
+ qcl-Type ENUMERATED {typeA, typeB, typeC, typeD},
+ ...
+}
+
+-- TAG-TCI-STATE-STOP
+-- TAG-TCI-STATEID-START
+
+TCI-StateId ::= INTEGER (0..maxNrofTCI-States-1)
+
+-- TAG-TCI-STATEID-STOP
+-- TAG-TCI-UL-STATE-START
+
+TCI-UL-State-r17 ::= SEQUENCE {
+ tci-UL-StateId-r17 TCI-UL-StateId-r17,
+ servingCellId-r17 ServCellIndex OPTIONAL, -- Need R
+ bwp-Id-r17 BWP-Id OPTIONAL, -- Cond CSI-RSorSRS-Indicated
+ referenceSignal-r17 CHOICE {
+ ssb-Index-r17 SSB-Index,
+ csi-RS-Index-r17 NZP-CSI-RS-ResourceId,
+ srs-r17 SRS-ResourceId
+ },
+ additionalPCI-r17 AdditionalPCIIndex-r17 OPTIONAL, -- Need R
+ ul-powerControl-r17 Uplink-powerControlId-r17 OPTIONAL, -- Need R
+ pathlossReferenceRS-Id-r17 PathlossReferenceRS-Id-r17 OPTIONAL, -- Cond Mandatory
+ ...
+}
+
+-- TAG-TCI-UL-STATE-STOP
+-- TAG-TCI-UL-STATEID-START
+
+TCI-UL-StateId-r17 ::= INTEGER (0..maxUL-TCI-1-r17)
+
+-- TAG-TCI-UL-STATEID-STOP
+-- TAG-TDD-UL-DL-CONFIGCOMMON-START
+
+TDD-UL-DL-ConfigCommon ::= SEQUENCE {
+ referenceSubcarrierSpacing SubcarrierSpacing,
+ pattern1 TDD-UL-DL-Pattern,
+ pattern2 TDD-UL-DL-Pattern OPTIONAL, -- Need R
+ ...
+}
+
+TDD-UL-DL-Pattern ::= SEQUENCE {
+ dl-UL-TransmissionPeriodicity ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10},
+ nrofDownlinkSlots INTEGER (0..maxNrofSlots),
+ nrofDownlinkSymbols INTEGER (0..maxNrofSymbols-1),
+ nrofUplinkSlots INTEGER (0..maxNrofSlots),
+ nrofUplinkSymbols INTEGER (0..maxNrofSymbols-1),
+ ...,
+ [[
+ dl-UL-TransmissionPeriodicity-v1530 ENUMERATED {ms3, ms4} OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-TDD-UL-DL-CONFIGCOMMON-STOP
+-- TAG-TDD-UL-DL-CONFIGDEDICATED-START
+
+TDD-UL-DL-ConfigDedicated ::= SEQUENCE {
+ slotSpecificConfigurationsToAddModList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig OPTIONAL, -- Need N
+ slotSpecificConfigurationsToReleaseList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex OPTIONAL, -- Need N
+ ...
+}
+
+TDD-UL-DL-ConfigDedicated-IAB-MT-r16::= SEQUENCE {
+ slotSpecificConfigurationsToAddModList-IAB-MT-r16 SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig-IAB-MT-r16 OPTIONAL, -- Need N
+ slotSpecificConfigurationsToReleaseList-IAB-MT-r16 SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex OPTIONAL, -- Need N
+ ...
+}
+
+TDD-UL-DL-SlotConfig ::= SEQUENCE {
+ slotIndex TDD-UL-DL-SlotIndex,
+ symbols CHOICE {
+ allDownlink NULL,
+ allUplink NULL,
+ explicit SEQUENCE {
+ nrofDownlinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need S
+ nrofUplinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need S
+ }
+ }
+}
+
+TDD-UL-DL-SlotConfig-IAB-MT-r16::= SEQUENCE {
+ slotIndex-r16 TDD-UL-DL-SlotIndex,
+ symbols-IAB-MT-r16 CHOICE {
+ allDownlink-r16 NULL,
+ allUplink-r16 NULL,
+ explicit-r16 SEQUENCE {
+ nrofDownlinkSymbols-r16 INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need S
+ nrofUplinkSymbols-r16 INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need S
+ },
+ explicit-IAB-MT-r16 SEQUENCE {
+ nrofDownlinkSymbols-r16 INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need S
+ nrofUplinkSymbols-r16 INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need S
+ }
+ }
+}
+
+TDD-UL-DL-SlotIndex ::= INTEGER (0..maxNrofSlots-1)
+
+-- TAG-TDD-UL-DL-CONFIGDEDICATED-STOP
+-- TAG-TRACKINGAREACODE-START
+
+TrackingAreaCode ::= BIT STRING (SIZE (24))
+
+-- TAG-TRACKINGAREACODE-STOP
+-- TAG-TRESELECTION-START
+
+T-Reselection ::= INTEGER (0..7)
+
+-- TAG-TRESELECTION-STOP
+-- TAG-TIMEALIGNMENTTIMER-START
+
+TimeAlignmentTimer ::= ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms5120, ms10240, infinity}
+
+-- TAG-TIMEALIGNMENTTIMER-STOP
+-- TAG-TIMETOTRIGGER-START
+
+TimeToTrigger ::= ENUMERATED {
+ ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256,
+ ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560,
+ ms5120}
+
+-- TAG-TIMETOTRIGGER-STOP
+-- TAG-UAC-BARRINGINFOSETINDEX-START
+
+UAC-BarringInfoSetIndex ::= INTEGER (1..maxBarringInfoSet)
+
+-- TAG-UAC-BARRINGINFOSETINDEX-STOP
+-- TAG-UAC-BARRINGINFOSETLIST-START
+
+UAC-BarringInfoSetList ::= SEQUENCE (SIZE(1..maxBarringInfoSet)) OF UAC-BarringInfoSet
+
+UAC-BarringInfoSetList-v1700 ::= SEQUENCE (SIZE(1..maxBarringInfoSet)) OF UAC-BarringInfoSet-v1700
+
+UAC-BarringInfoSet ::= SEQUENCE {
+ uac-BarringFactor ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p40,
+ p50, p60, p70, p75, p80, p85, p90, p95},
+ uac-BarringTime ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512},
+ uac-BarringForAccessIdentity BIT STRING (SIZE(7))
+}
+
+UAC-BarringInfoSet-v1700 ::= SEQUENCE {
+ uac-BarringFactorForAI3-r17 ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p40, p50, p60, p70, p75, p80, p85, p90, p95}
+ OPTIONAL -- Need S
+}
+
+-- TAG-UAC-BARRINGINFOSETLIST-STOP
+-- TAG-UAC-BARRINGPERCATLIST-START
+
+UAC-BarringPerCatList ::= SEQUENCE (SIZE (1..maxAccessCat-1)) OF UAC-BarringPerCat
+
+UAC-BarringPerCat ::= SEQUENCE {
+ accessCategory INTEGER (1..maxAccessCat-1),
+ uac-barringInfoSetIndex UAC-BarringInfoSetIndex
+}
+
+-- TAG-UAC-BARRINGPERCATLIST-STOP
+-- TAG-UAC-BARRINGPERPLMN-LIST-START
+
+UAC-BarringPerPLMN-List ::= SEQUENCE (SIZE (1.. maxPLMN)) OF UAC-BarringPerPLMN
+
+UAC-BarringPerPLMN ::= SEQUENCE {
+ plmn-IdentityIndex INTEGER (1..maxPLMN),
+ uac-ACBarringListType CHOICE{
+ uac-ImplicitACBarringList SEQUENCE (SIZE(maxAccessCat-1)) OF UAC-BarringInfoSetIndex,
+ uac-ExplicitACBarringList UAC-BarringPerCatList
+ } OPTIONAL -- Need S
+}
+
+-- TAG-UAC-BARRINGPERPLMN-LIST-STOP
+-- TAG-UE-TIMERSANDCONSTANTS-START
+
+UE-TimersAndConstants ::= SEQUENCE {
+ t300 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000},
+ t301 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000},
+ t310 ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000},
+ n310 ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20},
+ t311 ENUMERATED {ms1000, ms3000, ms5000, ms10000, ms15000, ms20000, ms30000},
+ n311 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10},
+ t319 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000},
+ ...
+}
+
+-- TAG-UE-TIMERSANDCONSTANTS-STOP
+-- TAG-UE-TIMERSANDCONSTANTSREMOTEUE-START
+
+UE-TimersAndConstantsRemoteUE-r17 ::= SEQUENCE {
+ t300-RemoteUE-r17 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need S
+ t301-RemoteUE-r17 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need S
+ t319-RemoteUE-r17 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need S
+ ...
+}
+
+-- TAG-UE-TIMERSANDCONSTANTSREMOTEUE-STOP
+-- TAG-ULDELAYVALUECONFIG-START
+
+UL-DelayValueConfig-r16 ::= SEQUENCE {
+ delay-DRBlist-r16 SEQUENCE (SIZE(1..maxDRB)) OF DRB-Identity
+}
+
+-- TAG-ULDELAYVALUECONFIG-STOP
+-- TAG-ULEXCESSDELAYCONFIG-START
+
+UL-ExcessDelayConfig-r17 ::= SEQUENCE {
+ excessDelay-DRBlist-r17 SEQUENCE (SIZE(1..maxDRB)) OF ExcessDelay-DRB-IdentityInfo-r17
+}
+
+ExcessDelay-DRB-IdentityInfo-r17 ::= SEQUENCE {
+ drb-IdentityList SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity,
+ delayThreshold ENUMERATED {ms0dot25, ms0dot5, ms1, ms2, ms4, ms5, ms10, ms20, ms30, ms40, ms50, ms60, ms70,
+ ms80, ms90, ms100, ms150, ms300, ms500}
+}
+
+-- TAG-ULEXCESSDELAYCONFIG-STOP
+-- TAG-UL-GAPFR2-CONFIG-START
+
+UL-GapFR2-Config-r17 ::= SEQUENCE {
+ gapOffset-r17 INTEGER (0..159),
+ ugl-r17 ENUMERATED {ms0dot125, ms0dot25, ms0dot5, ms1},
+ ugrp-r17 ENUMERATED {ms5, ms20, ms40, ms160},
+ refFR2-ServCellAsyncCA-r17 ServCellIndex OPTIONAL -- Cond AsyncCA
+}
+
+-- TAG-UL-GAPFR2-CONFIG-STOP
+-- TAG-UPLINKCANCELLATION-START
+
+UplinkCancellation-r16 ::= SEQUENCE {
+ ci-RNTI-r16 RNTI-Value,
+ dci-PayloadSizeForCI-r16 INTEGER (0..maxCI-DCI-PayloadSize-r16),
+ ci-ConfigurationPerServingCell-r16 SEQUENCE (SIZE (1..maxNrofServingCells)) OF CI-ConfigurationPerServingCell-r16,
+ ...
+}
+
+CI-ConfigurationPerServingCell-r16 ::= SEQUENCE {
+ servingCellId ServCellIndex,
+ positionInDCI-r16 INTEGER (0..maxCI-DCI-PayloadSize-1-r16),
+ positionInDCI-ForSUL-r16 INTEGER (0..maxCI-DCI-PayloadSize-1-r16) OPTIONAL, -- Cond SUL-Only
+ ci-PayloadSize-r16 ENUMERATED {n1, n2, n4, n5, n7, n8, n10, n14, n16, n20, n28, n32, n35, n42, n56, n112},
+ timeFrequencyRegion-r16 SEQUENCE {
+ timeDurationForCI-r16 ENUMERATED {n2, n4, n7, n14} OPTIONAL, -- Cond SymbolPeriodicity
+ timeGranularityForCI-r16 ENUMERATED {n1, n2, n4, n7, n14, n28},
+ frequencyRegionForCI-r16 INTEGER (0..37949),
+ deltaOffset-r16 INTEGER (0..2),
+ ...
+ },
+ uplinkCancellationPriority-v1610 ENUMERATED {enabled} OPTIONAL -- Need S
+}
+
+-- TAG-UPLINKCANCELLATION-STOP
+-- TAG-UPLINKCONFIGCOMMON-START
+
+UplinkConfigCommon ::= SEQUENCE {
+ frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond InterFreqHOAndServCellAdd
+ initialUplinkBWP BWP-UplinkCommon OPTIONAL, -- Cond ServCellAdd
+ dummy TimeAlignmentTimer
+}
+
+UplinkConfigCommon-v1700 ::= SEQUENCE {
+ initialUplinkBWP-RedCap-r17 BWP-UplinkCommon OPTIONAL -- Need R
+}
+
+-- TAG-UPLINKCONFIGCOMMON-STOP
+-- TAG-UPLINKCONFIGCOMMONSIB-START
+
+UplinkConfigCommonSIB ::= SEQUENCE {
+ frequencyInfoUL FrequencyInfoUL-SIB,
+ initialUplinkBWP BWP-UplinkCommon,
+ timeAlignmentTimerCommon TimeAlignmentTimer
+}
+
+UplinkConfigCommonSIB-v1700 ::= SEQUENCE {
+ initialUplinkBWP-RedCap-r17 BWP-UplinkCommon OPTIONAL -- Need R
+}
+
+-- TAG-UPLINKCONFIGCOMMONSIB-STOP
+-- TAG-UPLINK-POWERCONTROL-START
+
+Uplink-powerControl-r17 ::= SEQUENCE {
+ ul-powercontrolId-r17 Uplink-powerControlId-r17,
+ p0AlphaSetforPUSCH-r17 P0AlphaSet-r17 OPTIONAL, -- Need R
+ p0AlphaSetforPUCCH-r17 P0AlphaSet-r17 OPTIONAL, -- Need R
+ p0AlphaSetforSRS-r17 P0AlphaSet-r17 OPTIONAL -- Need R
+}
+
+P0AlphaSet-r17 ::= SEQUENCE {
+ p0-r17 INTEGER (-16..15) OPTIONAL, -- Need R
+ alpha-r17 Alpha OPTIONAL, -- Need S
+ closedLoopIndex-r17 ENUMERATED { i0, i1 }
+}
+
+Uplink-powerControlId-r17 ::= INTEGER(1.. maxUL-TCI-r17)
+
+-- TAG-UPLINK-POWERCONTROL-STOP
+-- TAG-UURELAYRLCCHANNELCONFIG-START
+
+Uu-RelayRLC-ChannelConfig-r17::= SEQUENCE {
+ uu-LogicalChannelIdentity-r17 LogicalChannelIdentity OPTIONAL, -- Cond RelayLCH-SetupOnly
+ uu-RelayRLC-ChannelID-r17 Uu-RelayRLC-ChannelID-r17,
+ reestablishRLC-r17 ENUMERATED {true} OPTIONAL, -- Need N
+ rlc-Config-r17 RLC-Config OPTIONAL, -- Cond RelayLCH-Setup
+ mac-LogicalChannelConfig-r17 LogicalChannelConfig OPTIONAL, -- Cond RelayLCH-Setup
+ ...
+}
+
+-- TAG-UURELAYRLCCHANNELCONFIG-STOP
+-- TAG-UURELAYRLCCHANNELID-START
+
+Uu-RelayRLC-ChannelID-r17 ::= INTEGER (1..maxLC-ID)
+
+-- TAG-UURELAYRLCCHANNELID-STOP
+-- TAG-UPLINKTXDIRECTCURRENTLIST-START
+
+UplinkTxDirectCurrentList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF UplinkTxDirectCurrentCell
+
+UplinkTxDirectCurrentCell ::= SEQUENCE {
+ servCellIndex ServCellIndex,
+ uplinkDirectCurrentBWP SEQUENCE (SIZE (1..maxNrofBWPs)) OF UplinkTxDirectCurrentBWP,
+ ...,
+ [[
+ uplinkDirectCurrentBWP-SUL SEQUENCE (SIZE (1..maxNrofBWPs)) OF UplinkTxDirectCurrentBWP OPTIONAL
+ ]]
+}
+
+UplinkTxDirectCurrentBWP ::= SEQUENCE {
+ bwp-Id BWP-Id,
+ shift7dot5kHz BOOLEAN,
+ txDirectCurrentLocation INTEGER (0..3301)
+}
+
+-- TAG-UPLINKTXDIRECTCURRENTLIST-STOP
+-- TAG-UPLINKTXDIRECTCURRENTMORECARRIERLIST-START
+
+UplinkTxDirectCurrentMoreCarrierList-r17 ::= SEQUENCE (SIZE (1..maxNrofCC-Group-r17)) OF CC-Group-r17
+
+CC-Group-r17 ::= SEQUENCE {
+ servCellIndexLower-r17 ServCellIndex,
+ servCellIndexHigher-r17 ServCellIndex OPTIONAL,
+ defaultDC-Location-r17 DefaultDC-Location-r17,
+ offsetToDefault-r17 CHOICE{
+ offsetValue OffsetValue-r17,
+ offsetlist SEQUENCE (SIZE(1..maxNrofReqComDC-Location-r17)) OF OffsetValue-r17
+ } OPTIONAL
+}
+
+
+OffsetValue-r17::= SEQUENCE {
+ offsetValue-r17 INTEGER (-20000.. 20000),
+ shift7dot5kHz-r17 BOOLEAN
+}
+
+DefaultDC-Location-r17 ::= CHOICE {
+ ul FrequencyComponent-r17,
+ dl FrequencyComponent-r17,
+ ulAndDL FrequencyComponent-r17
+}
+
+FrequencyComponent-r17 ::= ENUMERATED {activeCarrier,configuredCarrier,activeBWP,configuredBWP}
+
+-- TAG-UPLINKTXDIRECTCURRENTMORECARRIERLIST-STOP
+-- TAG-UPLINKTXDIRECTCURRENTTWOCARRIERLIST-START
+
+UplinkTxDirectCurrentTwoCarrierList-r16 ::= SEQUENCE (SIZE (1..maxNrofTxDC-TwoCarrier-r16)) OF UplinkTxDirectCurrentTwoCarrier-r16
+
+UplinkTxDirectCurrentTwoCarrier-r16 ::= SEQUENCE {
+ carrierOneInfo-r16 UplinkTxDirectCurrentCarrierInfo-r16,
+ carrierTwoInfo-r16 UplinkTxDirectCurrentCarrierInfo-r16,
+ singlePA-TxDirectCurrent-r16 UplinkTxDirectCurrentTwoCarrierInfo-r16,
+ secondPA-TxDirectCurrent-r16 UplinkTxDirectCurrentTwoCarrierInfo-r16 OPTIONAL
+}
+
+UplinkTxDirectCurrentCarrierInfo-r16 ::= SEQUENCE {
+ servCellIndex-r16 ServCellIndex,
+ servCellInfo-r16 CHOICE {
+ bwp-Id-r16 BWP-Id,
+ deactivatedCarrier-r16 ENUMERATED {deactivated}
+ }
+}
+
+UplinkTxDirectCurrentTwoCarrierInfo-r16 ::= SEQUENCE {
+ referenceCarrierIndex-r16 ServCellIndex,
+ shift7dot5kHz-r16 BOOLEAN,
+ txDirectCurrentLocation-r16 INTEGER (0..3301)
+}
+
+-- TAG-UPLINKTXDIRECTCURRENTTWOCARRIERLIST-STOP
+-- TAG-ZP-CSI-RS-RESOURCE-START
+
+ZP-CSI-RS-Resource ::= SEQUENCE {
+ zp-CSI-RS-ResourceId ZP-CSI-RS-ResourceId,
+ resourceMapping CSI-RS-ResourceMapping,
+ periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent
+ ...
+}
+
+ZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofZP-CSI-RS-Resources-1)
+
+-- TAG-ZP-CSI-RS-RESOURCE-STOP
+-- TAG-ZP-CSI-RS-RESOURCESET-START
+
+ZP-CSI-RS-ResourceSet ::= SEQUENCE {
+ zp-CSI-RS-ResourceSetId ZP-CSI-RS-ResourceSetId,
+ zp-CSI-RS-ResourceIdList SEQUENCE (SIZE(1..maxNrofZP-CSI-RS-ResourcesPerSet)) OF ZP-CSI-RS-ResourceId,
+ ...
+}
+
+-- TAG-ZP-CSI-RS-RESOURCESET-STOP
+-- TAG-ZP-CSI-RS-RESOURCESETID-START
+
+ZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofZP-CSI-RS-ResourceSets-1)
+
+-- TAG-ZP-CSI-RS-RESOURCESETID-STOP
+-- TAG-ACCESSSTRATUMRELEASE-START
+
+AccessStratumRelease ::= ENUMERATED {
+ rel15, rel16, rel17, spare5, spare4, spare3, spare2, spare1, ... }
+
+-- TAG-ACCESSSTRATUMRELEASE-STOP
+-- TAG-APPLAYERMEASPARAMETERS-START
+
+AppLayerMeasParameters-r17 ::= SEQUENCE {
+ qoe-Streaming-MeasReport-r17 ENUMERATED {supported} OPTIONAL,
+ qoe-MTSI-MeasReport-r17 ENUMERATED {supported} OPTIONAL,
+ qoe-VR-MeasReport-r17 ENUMERATED {supported} OPTIONAL,
+ ran-VisibleQoE-Streaming-MeasReport-r17 ENUMERATED {supported} OPTIONAL,
+ ran-VisibleQoE-VR-MeasReport-r17 ENUMERATED {supported} OPTIONAL,
+ ul-MeasurementReportAppLayer-Seg-r17 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-APPLAYERMEASPARAMETERS-STOP
+-- TAG-BANDCOMBINATIONLIST-START
+
+BandCombinationList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination
+
+BandCombinationList-v1540 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1540
+
+BandCombinationList-v1550 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1550
+
+BandCombinationList-v1560 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1560
+
+BandCombinationList-v1570 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1570
+
+BandCombinationList-v1580 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1580
+
+BandCombinationList-v1590 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1590
+
+BandCombinationList-v15g0 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v15g0
+
+BandCombinationList-v1610 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1610
+
+BandCombinationList-v1630 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1630
+
+BandCombinationList-v1640 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1640
+
+BandCombinationList-v1650 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1650
+
+BandCombinationList-v1680 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1680
+
+BandCombinationList-v1690 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1690
+
+BandCombinationList-v16a0 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v16a0
+
+BandCombinationList-v1700 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1700
+
+BandCombinationList-v1720 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1720
+
+BandCombinationList-v1730 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1730
+
+BandCombinationList-v1740 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1740
+
+BandCombinationList-UplinkTxSwitch-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-r16
+
+BandCombinationList-UplinkTxSwitch-v1630 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1630
+
+BandCombinationList-UplinkTxSwitch-v1640 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1640
+
+BandCombinationList-UplinkTxSwitch-v1650 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1650
+
+BandCombinationList-UplinkTxSwitch-v1670 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1670
+
+BandCombinationList-UplinkTxSwitch-v1690 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1690
+
+BandCombinationList-UplinkTxSwitch-v16a0 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v16a0
+
+BandCombinationList-UplinkTxSwitch-v1700 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1700
+
+BandCombinationList-UplinkTxSwitch-v1720 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1720
+
+BandCombinationList-UplinkTxSwitch-v1730 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1730
+
+BandCombinationList-UplinkTxSwitch-v1740 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1740
+
+BandCombination ::= SEQUENCE {
+ bandList SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters,
+ featureSetCombination FeatureSetCombinationId,
+ ca-ParametersEUTRA CA-ParametersEUTRA OPTIONAL,
+ ca-ParametersNR CA-ParametersNR OPTIONAL,
+ mrdc-Parameters MRDC-Parameters OPTIONAL,
+ supportedBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL,
+ powerClass-v1530 ENUMERATED {pc2} OPTIONAL
+}
+
+BandCombination-v1540::= SEQUENCE {
+ bandList-v1540 SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters-v1540,
+ ca-ParametersNR-v1540 CA-ParametersNR-v1540 OPTIONAL
+}
+
+BandCombination-v1550 ::= SEQUENCE {
+ ca-ParametersNR-v1550 CA-ParametersNR-v1550
+}
+BandCombination-v1560::= SEQUENCE {
+ ne-DC-BC ENUMERATED {supported} OPTIONAL,
+ ca-ParametersNRDC CA-ParametersNRDC OPTIONAL,
+ ca-ParametersEUTRA-v1560 CA-ParametersEUTRA-v1560 OPTIONAL,
+ ca-ParametersNR-v1560 CA-ParametersNR-v1560 OPTIONAL
+}
+
+BandCombination-v1570 ::= SEQUENCE {
+ ca-ParametersEUTRA-v1570 CA-ParametersEUTRA-v1570
+}
+
+BandCombination-v1580 ::= SEQUENCE {
+ mrdc-Parameters-v1580 MRDC-Parameters-v1580
+}
+
+BandCombination-v1590::= SEQUENCE {
+ supportedBandwidthCombinationSetIntraENDC BIT STRING (SIZE (1..32)) OPTIONAL,
+ mrdc-Parameters-v1590 MRDC-Parameters-v1590
+}
+
+BandCombination-v15g0::= SEQUENCE {
+ ca-ParametersNR-v15g0 CA-ParametersNR-v15g0 OPTIONAL,
+ ca-ParametersNRDC-v15g0 CA-ParametersNRDC-v15g0 OPTIONAL,
+ mrdc-Parameters-v15g0 MRDC-Parameters-v15g0 OPTIONAL
+}
+
+BandCombination-v1610 ::= SEQUENCE {
+ bandList-v1610 SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters-v1610 OPTIONAL,
+ ca-ParametersNR-v1610 CA-ParametersNR-v1610 OPTIONAL,
+ ca-ParametersNRDC-v1610 CA-ParametersNRDC-v1610 OPTIONAL,
+ powerClass-v1610 ENUMERATED {pc1dot5} OPTIONAL,
+ powerClassNRPart-r16 ENUMERATED {pc1, pc2, pc3, pc5} OPTIONAL,
+ featureSetCombinationDAPS-r16 FeatureSetCombinationId OPTIONAL,
+ mrdc-Parameters-v1620 MRDC-Parameters-v1620 OPTIONAL
+}
+
+BandCombination-v1630 ::= SEQUENCE {
+ ca-ParametersNR-v1630 CA-ParametersNR-v1630 OPTIONAL,
+ ca-ParametersNRDC-v1630 CA-ParametersNRDC-v1630 OPTIONAL,
+ mrdc-Parameters-v1630 MRDC-Parameters-v1630 OPTIONAL,
+ supportedTxBandCombListPerBC-Sidelink-r16 BIT STRING (SIZE (1..maxBandComb)) OPTIONAL,
+ supportedRxBandCombListPerBC-Sidelink-r16 BIT STRING (SIZE (1..maxBandComb)) OPTIONAL,
+ scalingFactorTxSidelink-r16 SEQUENCE (SIZE (1..maxBandComb)) OF ScalingFactorSidelink-r16 OPTIONAL,
+ scalingFactorRxSidelink-r16 SEQUENCE (SIZE (1..maxBandComb)) OF ScalingFactorSidelink-r16 OPTIONAL
+}
+
+BandCombination-v1640 ::= SEQUENCE {
+ ca-ParametersNR-v1640 CA-ParametersNR-v1640 OPTIONAL,
+ ca-ParametersNRDC-v1640 CA-ParametersNRDC-v1640 OPTIONAL
+}
+
+BandCombination-v1650 ::= SEQUENCE {
+ ca-ParametersNRDC-v1650 CA-ParametersNRDC-v1650 OPTIONAL
+}
+
+BandCombination-v1680 ::= SEQUENCE {
+ intrabandConcurrentOperationPowerClass-r16 SEQUENCE (SIZE (1..maxBandComb)) OF IntraBandPowerClass-r16 OPTIONAL
+}
+
+BandCombination-v1690 ::= SEQUENCE {
+ ca-ParametersNR-v1690 CA-ParametersNR-v1690 OPTIONAL
+}
+
+BandCombination-v16a0 ::= SEQUENCE {
+ ca-ParametersNR-v16a0 CA-ParametersNR-v16a0 OPTIONAL,
+ ca-ParametersNRDC-v16a0 CA-ParametersNRDC-v16a0 OPTIONAL
+}
+BandCombination-v1700 ::= SEQUENCE {
+ ca-ParametersNR-v1700 CA-ParametersNR-v1700 OPTIONAL,
+ ca-ParametersNRDC-v1700 CA-ParametersNRDC-v1700 OPTIONAL,
+ mrdc-Parameters-v1700 MRDC-Parameters-v1700 OPTIONAL,
+ bandList-v1710 SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters-v1710 OPTIONAL,
+ supportedBandCombListPerBC-SL-RelayDiscovery-r17 BIT STRING (SIZE (1..maxBandComb)) OPTIONAL,
+ supportedBandCombListPerBC-SL-NonRelayDiscovery-r17 BIT STRING (SIZE (1..maxBandComb)) OPTIONAL
+}
+
+BandCombination-v1720 ::= SEQUENCE {
+ ca-ParametersNR-v1720 CA-ParametersNR-v1720 OPTIONAL,
+ ca-ParametersNRDC-v1720 CA-ParametersNRDC-v1720 OPTIONAL
+}
+
+BandCombination-v1730 ::= SEQUENCE {
+ ca-ParametersNR-v1730 CA-ParametersNR-v1730 OPTIONAL,
+ ca-ParametersNRDC-v1730 CA-ParametersNRDC-v1730 OPTIONAL,
+ bandList-v1730 SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters-v1730 OPTIONAL
+}
+
+BandCombination-v1740 ::= SEQUENCE {
+ ca-ParametersNR-v1740 CA-ParametersNR-v1740 OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-r16 ::= SEQUENCE {
+ bandCombination-r16 BandCombination,
+ bandCombination-v1540 BandCombination-v1540 OPTIONAL,
+ bandCombination-v1560 BandCombination-v1560 OPTIONAL,
+ bandCombination-v1570 BandCombination-v1570 OPTIONAL,
+ bandCombination-v1580 BandCombination-v1580 OPTIONAL,
+ bandCombination-v1590 BandCombination-v1590 OPTIONAL,
+ bandCombination-v1610 BandCombination-v1610 OPTIONAL,
+ supportedBandPairListNR-r16 SEQUENCE (SIZE (1..maxULTxSwitchingBandPairs)) OF ULTxSwitchingBandPair-r16,
+ uplinkTxSwitching-OptionSupport-r16 ENUMERATED {switchedUL, dualUL, both} OPTIONAL,
+ uplinkTxSwitching-PowerBoosting-r16 ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ -- R4 16-5 UL-MIMO coherence capability for dynamic Tx switching between 3CC 1Tx-2Tx switching
+ uplinkTxSwitching-PUSCH-TransCoherence-r16 ENUMERATED {nonCoherent, fullCoherent} OPTIONAL
+ ]]
+}
+
+BandCombination-UplinkTxSwitch-v1630 ::= SEQUENCE {
+ bandCombination-v1630 BandCombination-v1630 OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-v1640 ::= SEQUENCE {
+ bandCombination-v1640 BandCombination-v1640 OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-v1650 ::= SEQUENCE {
+ bandCombination-v1650 BandCombination-v1650 OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-v1670 ::= SEQUENCE {
+ bandCombination-v15g0 BandCombination-v15g0 OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-v1690 ::= SEQUENCE {
+ bandCombination-v1690 BandCombination-v1690 OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-v16a0 ::= SEQUENCE {
+ bandCombination-v16a0 BandCombination-v16a0 OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-v1700 ::= SEQUENCE {
+ bandCombination-v1700 BandCombination-v1700 OPTIONAL,
+ -- R4 16-1/16-2/16-3 Dynamic Tx switching between 2CC/3CC 2Tx-2Tx/1Tx-2Tx switching
+ supportedBandPairListNR-v1700 SEQUENCE (SIZE (1..maxULTxSwitchingBandPairs)) OF ULTxSwitchingBandPair-v1700 OPTIONAL,
+ -- R4 16-6: UL-MIMO coherence capability for dynamic Tx switching between 2Tx-2Tx switching
+ uplinkTxSwitchingBandParametersList-v1700 SEQUENCE (SIZE (1.. maxSimultaneousBands)) OF UplinkTxSwitchingBandParameters-v1700 OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-v1720 ::= SEQUENCE {
+ bandCombination-v1720 BandCombination-v1720 OPTIONAL,
+ uplinkTxSwitching-OptionSupport2T2T-r17 ENUMERATED {switchedUL, dualUL, both} OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-v1730 ::= SEQUENCE {
+ bandCombination-v1730 BandCombination-v1730 OPTIONAL
+}
+
+BandCombination-UplinkTxSwitch-v1740 ::= SEQUENCE {
+ bandCombination-v1740 BandCombination-v1740 OPTIONAL
+}
+
+ULTxSwitchingBandPair-r16 ::= SEQUENCE {
+ bandIndexUL1-r16 INTEGER(1..maxSimultaneousBands),
+ bandIndexUL2-r16 INTEGER(1..maxSimultaneousBands),
+ uplinkTxSwitchingPeriod-r16 ENUMERATED {n35us, n140us, n210us},
+ uplinkTxSwitching-DL-Interruption-r16 BIT STRING (SIZE(1..maxSimultaneousBands)) OPTIONAL
+}
+
+ULTxSwitchingBandPair-v1700 ::= SEQUENCE {
+ uplinkTxSwitchingPeriod2T2T-r17 ENUMERATED {n35us, n140us, n210us} OPTIONAL
+}
+
+UplinkTxSwitchingBandParameters-v1700 ::= SEQUENCE {
+ bandIndex-r17 INTEGER(1..maxSimultaneousBands),
+ uplinkTxSwitching2T2T-PUSCH-TransCoherence-r17 ENUMERATED {nonCoherent, fullCoherent} OPTIONAL
+}
+
+BandParameters ::= CHOICE {
+ eutra SEQUENCE {
+ bandEUTRA FreqBandIndicatorEUTRA,
+ ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL,
+ ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL
+ },
+ nr SEQUENCE {
+ bandNR FreqBandIndicatorNR,
+ ca-BandwidthClassDL-NR CA-BandwidthClassNR OPTIONAL,
+ ca-BandwidthClassUL-NR CA-BandwidthClassNR OPTIONAL
+ }
+}
+
+BandParameters-v1540 ::= SEQUENCE {
+ srs-CarrierSwitch CHOICE {
+ nr SEQUENCE {
+ srs-SwitchingTimesListNR SEQUENCE (SIZE (1..maxSimultaneousBands)) OF SRS-SwitchingTimeNR
+ },
+ eutra SEQUENCE {
+ srs-SwitchingTimesListEUTRA SEQUENCE (SIZE (1..maxSimultaneousBands)) OF SRS-SwitchingTimeEUTRA
+ }
+ } OPTIONAL,
+ srs-TxSwitch SEQUENCE {
+ supportedSRS-TxPortSwitch ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4, t1r1, t2r2, t4r4, notSupported},
+ txSwitchImpactToRx INTEGER (1..32) OPTIONAL,
+ txSwitchWithAnotherBand INTEGER (1..32) OPTIONAL
+ } OPTIONAL
+}
+
+BandParameters-v1610 ::= SEQUENCE {
+ srs-TxSwitch-v1610 SEQUENCE {
+ supportedSRS-TxPortSwitch-v1610 ENUMERATED {t1r1-t1r2, t1r1-t1r2-t1r4, t1r1-t1r2-t2r2-t2r4, t1r1-t1r2-t2r2-t1r4-t2r4,
+ t1r1-t2r2, t1r1-t2r2-t4r4}
+ } OPTIONAL
+}
+
+BandParameters-v1710 ::= SEQUENCE {
+ -- R1 23-8-3 SRS Antenna switching for >4Rx
+ srs-AntennaSwitchingBeyond4RX-r17 SEQUENCE {
+ -- 1. Support of SRS antenna switching xTyR with y>4
+ supportedSRS-TxPortSwitchBeyond4Rx-r17 BIT STRING (SIZE (11)),
+ -- 2. Report the entry number of the first-listed band with UL in the band combination that affects this DL
+ entryNumberAffectBeyond4Rx-r17 INTEGER (1..32) OPTIONAL,
+ -- 3. Report the entry number of the first-listed band with UL in the band combination that switches together with this UL
+ entryNumberSwitchBeyond4Rx-r17 INTEGER (1..32) OPTIONAL
+ } OPTIONAL
+}
+
+BandParameters-v1730 ::= SEQUENCE {
+ -- R1 39-3-2 Affected bands for inter-band CA during SRS carrier switching
+ srs-SwitchingAffectedBandsListNR-r17 SEQUENCE (SIZE (1..maxSimultaneousBands)) OF SRS-SwitchingAffectedBandsNR-r17
+}
+
+ScalingFactorSidelink-r16 ::= ENUMERATED {f0p4, f0p75, f0p8, f1}
+
+IntraBandPowerClass-r16 ::= ENUMERATED {pc2, pc3, spare6, spare5, spare4, spare3, spare2, spare1}
+
+SRS-SwitchingAffectedBandsNR-r17 ::= BIT STRING (SIZE (1..maxSimultaneousBands))
+
+-- TAG-BANDCOMBINATIONLIST-STOP
+-- TAG-BANDCOMBINATIONLISTSIDELINKEUTRANR-START
+
+BandCombinationListSidelinkEUTRA-NR-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkEUTRA-NR-r16
+
+BandCombinationListSidelinkEUTRA-NR-v1630 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkEUTRA-NR-v1630
+
+BandCombinationListSidelinkEUTRA-NR-v1710 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkEUTRA-NR-v1710
+
+BandCombinationParametersSidelinkEUTRA-NR-r16 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelinkEUTRA-NR-r16
+
+BandCombinationParametersSidelinkEUTRA-NR-v1630 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelinkEUTRA-NR-v1630
+
+BandCombinationParametersSidelinkEUTRA-NR-v1710 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelinkEUTRA-NR-v1710
+
+BandParametersSidelinkEUTRA-NR-r16 ::= CHOICE {
+ eutra SEQUENCE {
+ bandParametersSidelinkEUTRA1-r16 OCTET STRING OPTIONAL,
+ bandParametersSidelinkEUTRA2-r16 OCTET STRING OPTIONAL
+ },
+ nr SEQUENCE {
+ bandParametersSidelinkNR-r16 BandParametersSidelink-r16
+ }
+}
+
+BandParametersSidelinkEUTRA-NR-v1630 ::= CHOICE {
+ eutra NULL,
+ nr SEQUENCE {
+ tx-Sidelink-r16 ENUMERATED {supported} OPTIONAL,
+ rx-Sidelink-r16 ENUMERATED {supported} OPTIONAL,
+ sl-CrossCarrierScheduling-r16 ENUMERATED {supported} OPTIONAL
+ }
+}
+
+BandParametersSidelinkEUTRA-NR-v1710 ::= CHOICE {
+ eutra NULL,
+ nr SEQUENCE {
+ --32-4
+ sl-TransmissionMode2-PartialSensing-r17 SEQUENCE {
+ harq-TxProcessModeTwoSidelink-r17 ENUMERATED {n8, n16},
+ scs-CP-PatternTxSidelinkModeTwo-r17 CHOICE {
+ fr1-r17 SEQUENCE {
+ scs-15kHz-r17 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-30kHz-r17 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-60kHz-r17 BIT STRING (SIZE (16)) OPTIONAL
+ },
+ fr2-r17 SEQUENCE {
+ scs-60kHz-r17 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-120kHz-r17 BIT STRING (SIZE (16)) OPTIONAL
+ }
+ } OPTIONAL,
+ extendedCP-Mode2PartialSensing-r17 ENUMERATED {supported} OPTIONAL,
+ dl-openLoopPC-Sidelink-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ --32-2a: Receiving NR sidelink of PSFCH
+ rx-sidelinkPSFCH-r17 ENUMERATED {n5, n15, n25, n32, n35, n45, n50, n64} OPTIONAL,
+ --32-5a-1
+ tx-IUC-Scheme1-Mode2Sidelink-r17 ENUMERATED {supported} OPTIONAL,
+ --32-5b-1
+ tx-IUC-Scheme2-Mode2Sidelink-r17 ENUMERATED {n4, n8, n16} OPTIONAL
+ }
+}
+
+BandParametersSidelink-r16 ::= SEQUENCE {
+ freqBandSidelink-r16 FreqBandIndicatorNR
+}
+
+-- TAG-BANDCOMBINATIONLISTSIDELINKEUTRANR-STOP
+-- TAG-BANDCOMBINATIONLISTSLDISCOVERY-START
+
+BandCombinationListSL-Discovery-r17 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelinkDiscovery-r17
+
+BandParametersSidelinkDiscovery-r17 ::= SEQUENCE {
+ sl-CrossCarrierScheduling-r17 ENUMERATED {supported} OPTIONAL,
+ --R1 32-4: Transmitting NR sidelink mode 2 with partial sensing
+ sl-TransmissionMode2-PartialSensing-r17 SEQUENCE {
+ harq-TxProcessModeTwoSidelink-r17 ENUMERATED {n8, n16},
+ scs-CP-PatternTxSidelinkModeTwo-r17 CHOICE {
+ fr1-r17 SEQUENCE {
+ scs-15kHz-r17 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-30kHz-r17 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-60kHz-r17 BIT STRING (SIZE (16)) OPTIONAL
+ },
+ fr2-r17 SEQUENCE {
+ scs-60kHz-r17 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-120kHz-r17 BIT STRING (SIZE (16)) OPTIONAL
+ }
+ } OPTIONAL,
+ extendedCP-Mode2PartialSensing-r17 ENUMERATED {supported} OPTIONAL,
+ dl-openLoopPC-Sidelink-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ --R1 32-5a-1: Transmitting Inter-UE coordination scheme 1 in NR sidelink mode 2
+ tx-IUC-Scheme1-Mode2Sidelink-r17 ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-BANDCOMBINATIONLISTSLDISCOVERY-STOP
+-- TAG-CA-BANDWIDTHCLASSEUTRA-START
+
+CA-BandwidthClassEUTRA ::= ENUMERATED {a, b, c, d, e, f, ...}
+
+-- TAG-CA-BANDWIDTHCLASSEUTRA-STOP
+-- TAG-CA-BANDWIDTHCLASSNR-START
+
+-- R4 17-6: new CA BW Classes R2~R12
+CA-BandwidthClassNR ::= ENUMERATED {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, ...,r2-v1730, r3-v1730, r4-v1730, r5-v1730, r6-v1730, r7-v1730, r8-v1730, r9-v1730, r10-v1730, r11-v1730, r12-v1730 }
+
+-- TAG-CA-BANDWIDTHCLASSNR-STOP
+-- TAG-CA-PARAMETERSEUTRA-START
+
+CA-ParametersEUTRA ::= SEQUENCE {
+ multipleTimingAdvance ENUMERATED {supported} OPTIONAL,
+ simultaneousRx-Tx ENUMERATED {supported} OPTIONAL,
+ supportedNAICS-2CRS-AP BIT STRING (SIZE (1..8)) OPTIONAL,
+ additionalRx-Tx-PerformanceReq ENUMERATED {supported} OPTIONAL,
+ ue-CA-PowerClass-N ENUMERATED {class2} OPTIONAL,
+ supportedBandwidthCombinationSetEUTRA-v1530 BIT STRING (SIZE (1..32)) OPTIONAL,
+ ...
+}
+
+CA-ParametersEUTRA-v1560 ::= SEQUENCE {
+ fd-MIMO-TotalWeightedLayers INTEGER (2..128) OPTIONAL
+}
+
+CA-ParametersEUTRA-v1570 ::= SEQUENCE {
+ dl-1024QAM-TotalWeightedLayers INTEGER (0..10) OPTIONAL
+}
+
+-- TAG-CA-PARAMETERSEUTRA-STOP
+-- TAG-CA-PARAMETERSNR-START
+
+CA-ParametersNR ::= SEQUENCE {
+ dummy ENUMERATED {supported} OPTIONAL,
+ parallelTxSRS-PUCCH-PUSCH ENUMERATED {supported} OPTIONAL,
+ parallelTxPRACH-SRS-PUCCH-PUSCH ENUMERATED {supported} OPTIONAL,
+ simultaneousRxTxInterBandCA ENUMERATED {supported} OPTIONAL,
+ simultaneousRxTxSUL ENUMERATED {supported} OPTIONAL,
+ diffNumerologyAcrossPUCCH-Group ENUMERATED {supported} OPTIONAL,
+ diffNumerologyWithinPUCCH-GroupSmallerSCS ENUMERATED {supported} OPTIONAL,
+ supportedNumberTAG ENUMERATED {n2, n3, n4} OPTIONAL,
+ ...
+}
+
+CA-ParametersNR-v1540 ::= SEQUENCE {
+ simultaneousSRS-AssocCSI-RS-AllCC INTEGER (5..32) OPTIONAL,
+ csi-RS-IM-ReceptionForFeedbackPerBandComb SEQUENCE {
+ maxNumberSimultaneousNZP-CSI-RS-ActBWP-AllCC INTEGER (1..64) OPTIONAL,
+ totalNumberPortsSimultaneousNZP-CSI-RS-ActBWP-AllCC INTEGER (2..256) OPTIONAL
+ } OPTIONAL,
+ simultaneousCSI-ReportsAllCC INTEGER (5..32) OPTIONAL,
+ dualPA-Architecture ENUMERATED {supported} OPTIONAL
+}
+
+CA-ParametersNR-v1550 ::= SEQUENCE {
+ dummy ENUMERATED {supported} OPTIONAL
+}
+
+CA-ParametersNR-v1560 ::= SEQUENCE {
+ diffNumerologyWithinPUCCH-GroupLargerSCS ENUMERATED {supported} OPTIONAL
+}
+
+CA-ParametersNR-v15g0 ::= SEQUENCE {
+ simultaneousRxTxInterBandCAPerBandPair SimultaneousRxTxPerBandPair OPTIONAL,
+ simultaneousRxTxSULPerBandPair SimultaneousRxTxPerBandPair OPTIONAL
+}
+
+CA-ParametersNR-v1610 ::= SEQUENCE {
+ -- R1 9-3: Parallel MsgA and SRS/PUCCH/PUSCH transmissions across CCs in inter-band CA
+ parallelTxMsgA-SRS-PUCCH-PUSCH-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 9-4: MsgA operation in a band combination including SUL
+ msgA-SUL-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-9c: Joint search space group switching across multiple cells
+ jointSearchSpaceSwitchAcrossCells-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 14-5: Half-duplex UE behaviour in TDD CA for same SCS
+ half-DuplexTDD-CA-SameSCS-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-4: SCell dormancy within active time
+ scellDormancyWithinActiveTime-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-4a: SCell dormancy outside active time
+ scellDormancyOutsideActiveTime-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-6: Cross-carrier A-CSI RS triggering with different SCS
+ crossCarrierA-CSI-trigDiffSCS-r16 ENUMERATED {higherA-CSI-SCS,lowerA-CSI-SCS,both} OPTIONAL,
+ -- R1 18-6a: Default QCL assumption for cross-carrier A-CSI-RS triggering
+ defaultQCL-CrossCarrierA-CSI-Trig-r16 ENUMERATED {diffOnly, both} OPTIONAL,
+ -- R1 18-7: CA with non-aligned frame boundaries for inter-band CA
+ interCA-NonAlignedFrame-r16 ENUMERATED {supported} OPTIONAL,
+ simul-SRS-Trans-BC-r16 ENUMERATED {n2} OPTIONAL,
+ interFreqDAPS-r16 SEQUENCE {
+ interFreqAsyncDAPS-r16 ENUMERATED {supported} OPTIONAL,
+ interFreqDiffSCS-DAPS-r16 ENUMERATED {supported} OPTIONAL,
+ interFreqMultiUL-TransmissionDAPS-r16 ENUMERATED {supported} OPTIONAL,
+ interFreqSemiStaticPowerSharingDAPS-Mode1-r16 ENUMERATED {supported} OPTIONAL,
+ interFreqSemiStaticPowerSharingDAPS-Mode2-r16 ENUMERATED {supported} OPTIONAL,
+ interFreqDynamicPowerSharingDAPS-r16 ENUMERATED {short, long} OPTIONAL,
+ interFreqUL-TransCancellationDAPS-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ codebookParametersPerBC-r16 CodebookParameters-v1610 OPTIONAL,
+ -- R1 16-2a-10 Value of R for BD/CCE
+ blindDetectFactor-r16 INTEGER (1..2) OPTIONAL,
+ -- R1 11-2a: Capability on the number of CCs for monitoring a maximum number of BDs and non-overlapped CCEs per span when configured
+ -- with DL CA with Rel-16 PDCCH monitoring capability on all the serving cells
+ pdcch-MonitoringCA-r16 SEQUENCE {
+ maxNumberOfMonitoringCC-r16 INTEGER (2..16),
+ supportedSpanArrangement-r16 ENUMERATED {alignedOnly, alignedAndNonAligned}
+ } OPTIONAL,
+ -- R1 11-2c: Number of carriers for CCE/BD scaling with DL CA with mix of Rel. 16 and Rel. 15 PDCCH monitoring capabilities on
+ -- different carriers
+ pdcch-BlindDetectionCA-Mixed-r16 SEQUENCE {
+ pdcch-BlindDetectionCA1-r16 INTEGER (1..15),
+ pdcch-BlindDetectionCA2-r16 INTEGER (1..15),
+ supportedSpanArrangement-r16 ENUMERATED {alignedOnly, alignedAndNonAligned}
+ } OPTIONAL,
+ -- R1 11-2d: Capability on the number of CCs for monitoring a maximum number of BDs and non-overlapped CCEs per span for MCG and for
+ -- SCG when configured for NR-DC operation with Rel-16 PDCCH monitoring capability on all the serving cells
+ pdcch-BlindDetectionMCG-UE-r16 INTEGER (1..14) OPTIONAL,
+ pdcch-BlindDetectionSCG-UE-r16 INTEGER (1..14) OPTIONAL,
+ -- R1 11-2e: Number of carriers for CCE/BD scaling for MCG and for SCG when configured for NR-DC operation with mix of Rel. 16 and
+ -- Rel. 15 PDCCH monitoring capabilities on different carriers
+ pdcch-BlindDetectionMCG-UE-Mixed-r16 SEQUENCE {
+ pdcch-BlindDetectionMCG-UE1-r16 INTEGER (0..15),
+ pdcch-BlindDetectionMCG-UE2-r16 INTEGER (0..15)
+ } OPTIONAL,
+ pdcch-BlindDetectionSCG-UE-Mixed-r16 SEQUENCE {
+ pdcch-BlindDetectionSCG-UE1-r16 INTEGER (0..15),
+ pdcch-BlindDetectionSCG-UE2-r16 INTEGER (0..15)
+ } OPTIONAL,
+ -- R1 18-5 cross-carrier scheduling with different SCS in DL CA
+ crossCarrierSchedulingDL-DiffSCS-r16 ENUMERATED {low-to-high, high-to-low, both} OPTIONAL,
+ -- R1 18-5a Default QCL assumption for cross-carrier scheduling
+ crossCarrierSchedulingDefaultQCL-r16 ENUMERATED {diff-only, both} OPTIONAL,
+ -- R1 18-5b cross-carrier scheduling with different SCS in UL CA
+ crossCarrierSchedulingUL-DiffSCS-r16 ENUMERATED {low-to-high, high-to-low, both} OPTIONAL,
+ -- R1 13.19a Simultaneous positioning SRS and MIMO SRS transmission for a given BC
+ simul-SRS-MIMO-Trans-BC-r16 ENUMERATED {n2} OPTIONAL,
+ -- R1 16-3a, 16-3a-1, 16-3b, 16-3b-1: New Individual Codebook
+ codebookParametersAdditionPerBC-r16 CodebookParametersAdditionPerBC-r16 OPTIONAL,
+ -- R1 16-8: Mixed codebook
+ codebookComboParametersAdditionPerBC-r16 CodebookComboParametersAdditionPerBC-r16 OPTIONAL
+}
+
+CA-ParametersNR-v1630 ::= SEQUENCE {
+ -- R1 22-5b: Simultaneous transmission of SRS for antenna switching and SRS for CB/NCB /BM for inter-band UL CA
+ -- R1 22-5d: Simultaneous transmission of SRS for antenna switching for inter-band UL CA
+ simulTX-SRS-AntSwitchingInterBandUL-CA-r16 SimulSRS-ForAntennaSwitching-r16 OPTIONAL,
+ -- R4 8-5: supported beam management type for inter-band CA
+ beamManagementType-r16 ENUMERATED {ibm, dummy} OPTIONAL,
+ -- R4 7-3a: UL frequency separation class with aggregate BW and Gap BW
+ intraBandFreqSeparationUL-AggBW-GapBW-r16 ENUMERATED {classI, classII, classIII} OPTIONAL,
+ -- RAN 89: Case B in case of Inter-band CA with non-aligned frame boundaries
+ interCA-NonAlignedFrame-B-r16 ENUMERATED {supported} OPTIONAL
+}
+
+CA-ParametersNR-v1640 ::= SEQUENCE {
+ -- R4 7-5: Support of reporting UL Tx DC locations for uplink intra-band CA.
+ uplinkTxDC-TwoCarrierReport-r16 ENUMERATED {supported} OPTIONAL,
+ -- RAN 22-6: Support of up to 3 different numerologies in the same NR PUCCH group for NR part of EN-DC, NGEN-DC, NE-DC and NR-CA
+ -- where UE is not configured with two NR PUCCH groups
+ maxUpTo3Diff-NumerologiesConfigSinglePUCCH-grp-r16 PUCCH-Grp-CarrierTypes-r16 OPTIONAL,
+ -- RAN 22-6a: Support of up to 4 different numerologies in the same NR PUCCH group for NR part of EN-DC, NGEN-DC, NE-DC and NR-CA
+ -- where UE is not configured with two NR PUCCH groups
+ maxUpTo4Diff-NumerologiesConfigSinglePUCCH-grp-r16 PUCCH-Grp-CarrierTypes-r16 OPTIONAL,
+ -- RAN 22-7: Support two PUCCH groups for NR-CA with 3 or more bands with at least two carrier types
+ twoPUCCH-Grp-ConfigurationsList-r16 SEQUENCE (SIZE (1..maxTwoPUCCH-Grp-ConfigList-r16)) OF TwoPUCCH-Grp-Configurations-r16 OPTIONAL,
+ -- R1 22-7a: Different numerology across NR PUCCH groups
+ diffNumerologyAcrossPUCCH-Group-CarrierTypes-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 22-7b: Different numerologies across NR carriers within the same NR PUCCH group, with PUCCH on a carrier of smaller SCS
+ diffNumerologyWithinPUCCH-GroupSmallerSCS-CarrierTypes-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 22-7c: Different numerologies across NR carriers within the same NR PUCCH group, with PUCCH on a carrier of larger SCS
+ diffNumerologyWithinPUCCH-GroupLargerSCS-CarrierTypes-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-2f: add the replicated FGs of 11-2a/c with restriction for non-aligned span case
+ -- with DL CA with Rel-16 PDCCH monitoring capability on all the serving cells
+ pdcch-MonitoringCA-NonAlignedSpan-r16 INTEGER (2..16) OPTIONAL,
+ -- R1 11-2g: add the replicated FGs of 11-2a/c with restriction for non-aligned span case
+ pdcch-BlindDetectionCA-Mixed-NonAlignedSpan-r16 SEQUENCE {
+ pdcch-BlindDetectionCA1-r16 INTEGER (1..15),
+ pdcch-BlindDetectionCA2-r16 INTEGER (1..15)
+ } OPTIONAL
+}
+
+CA-ParametersNR-v1690 ::= SEQUENCE {
+ csi-ReportingCrossPUCCH-Grp-r16 SEQUENCE {
+ computationTimeForA-CSI-r16 ENUMERATED {sameAsNoCross, relaxed},
+ additionalSymbols-r16 SEQUENCE {
+ scs-15kHz-additionalSymbols-r16 ENUMERATED {s14, s28} OPTIONAL,
+ scs-30kHz-additionalSymbols-r16 ENUMERATED {s14, s28} OPTIONAL,
+ scs-60kHz-additionalSymbols-r16 ENUMERATED {s14, s28, s56} OPTIONAL,
+ scs-120kHz-additionalSymbols-r16 ENUMERATED {s14, s28, s56} OPTIONAL
+ } OPTIONAL,
+ sp-CSI-ReportingOnPUCCH-r16 ENUMERATED {supported} OPTIONAL,
+ sp-CSI-ReportingOnPUSCH-r16 ENUMERATED {supported} OPTIONAL,
+ carrierTypePairList-r16 SEQUENCE (SIZE (1..maxCarrierTypePairList-r16)) OF CarrierTypePair-r16
+ } OPTIONAL
+}
+
+CA-ParametersNR-v16a0 ::= SEQUENCE {
+ pdcch-BlindDetectionMixedList-r16 SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetectionMixed-1-r16)) OF PDCCH-BlindDetectionMixedList-r16
+}
+
+CA-ParametersNR-v1700 ::= SEQUENCE {
+ -- R1 23-9-1: Basic Features of Further Enhanced Port-Selection Type II Codebook (FeType-II) per band combination information
+ codebookParametersfetype2PerBC-r17 CodebookParametersfetype2PerBC-r17 OPTIONAL,
+ -- R4 18-4: Support of enhanced Demodulation requirements for CA in HST SFN FR1
+ demodulationEnhancementCA-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 20-1: Maximum uplink duty cycle for NR inter-band CA power class 2
+ maxUplinkDutyCycle-interBandCA-PC2-r17 ENUMERATED {n50, n60, n70, n80, n90, n100} OPTIONAL,
+ -- R4 20-2: Maximum uplink duty cycle for NR SUL combination power class 2
+ maxUplinkDutyCycle-SULcombination-PC2-r17 ENUMERATED {n50, n60, n70, n80, n90, n100} OPTIONAL,
+ beamManagementType-CBM-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-18: Parallel PUCCH and PUSCH transmission across CCs in inter-band CA
+ parallelTxPUCCH-PUSCH-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-9-5 Active CSI-RS resources and ports for mixed codebook types in any slot per band combination
+ codebookComboParameterMixedTypePerBC-r17 CodebookComboParameterMixedTypePerBC-r17 OPTIONAL,
+ -- R1 23-7-1 Basic Features of CSI Enhancement for Multi-TRP
+ mTRP-CSI-EnhancementPerBC-r17 SEQUENCE {
+ maxNumNZP-CSI-RS-r17 INTEGER (2..8),
+ cSI-Report-mode-r17 ENUMERATED {mode1, mode2, both},
+ supportedComboAcrossCCs-r17 SEQUENCE (SIZE (1..16)) OF CSI-MultiTRP-SupportedCombinations-r17,
+ codebookMode-NCJT-r17 ENUMERATED{mode1,mode1And2}
+ } OPTIONAL,
+ -- R1 23-7-1b Active CSI-RS resources and ports in the presence of multi-TRP CSI
+ codebookComboParameterMultiTRP-PerBC-r17 CodebookComboParameterMultiTRP-PerBC-r17 OPTIONAL,
+ -- R1 24-8b: 32 DL HARQ processes for FR 2-2 - maximum number of component carriers
+ maxCC-32-DL-HARQ-ProcessFR2-2-r17 ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32} OPTIONAL,
+ -- R1 24-9b: 32 UL HARQ processes for FR 2-2 - maximum number of component carriers
+ maxCC-32-UL-HARQ-ProcessFR2-2-r17 ENUMERATED {n1, n2, n3, n4, n5, n8, n16, n32} OPTIONAL,
+ -- R1 34-2: Cross-carrier scheduling from SCell to PCell/PSCell (Type B)
+ crossCarrierSchedulingSCell-SpCellTypeB-r17 CrossCarrierSchedulingSCell-SpCell-r17 OPTIONAL,
+-- R1 34-1: Cross-carrier scheduling from SCell to PCell/PSCell with search space restrictions (Type A)
+ crossCarrierSchedulingSCell-SpCellTypeA-r17 CrossCarrierSchedulingSCell-SpCell-r17 OPTIONAL,
+ -- R1 34-1a: DCI formats on PCell/PSCell USS set(s) support
+ dci-FormatsPCellPSCellUSS-Sets-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 34-3: Disabling scaling factor alpha when sSCell is deactivated
+ disablingScalingFactorDeactSCell-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 34-4: Disabling scaling factor alpha when sSCell is deactivated
+ disablingScalingFactorDormantSCell-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 34-5: Non-aligned frame boundaries between PCell/PSCell and sSCell
+ non-AlignedFrameBoundaries-r17 SEQUENCE {
+ scs15kHz-15kHz-r17 BIT STRING (SIZE (1..496)) OPTIONAL,
+ scs15kHz-30kHz-r17 BIT STRING (SIZE (1..496)) OPTIONAL,
+ scs15kHz-60kHz-r17 BIT STRING (SIZE (1..496)) OPTIONAL,
+ scs30kHz-30kHz-r17 BIT STRING (SIZE (1..496)) OPTIONAL,
+ scs30kHz-60kHz-r17 BIT STRING (SIZE (1..496)) OPTIONAL,
+ scs60kHz-60kHz-r17 BIT STRING (SIZE (1..496)) OPTIONAL
+ } OPTIONAL
+}
+
+CA-ParametersNR-v1720 ::= SEQUENCE {
+ -- R1 39-1: Parallel SRS and PUCCH/PUSCH transmission across CCs in intra-band non-contiguous CA
+ parallelTxSRS-PUCCH-PUSCH-intraBand-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 39-2: Parallel PRACH and SRS/PUCCH/PUSCH transmissions across CCs in intra-band non-contiguous CA
+ parallelTxPRACH-SRS-PUCCH-PUSCH-intraBand-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-9: Semi-static PUCCH cell switching for a single PUCCH group only
+ semiStaticPUCCH-CellSwitchSingleGroup-r17 SEQUENCE {
+ pucch-Group-r17 ENUMERATED {primaryGroupOnly, secondaryGroupOnly, eitherPrimaryOrSecondaryGroup},
+ pucch-Group-Config-r17 PUCCH-Group-Config-r17
+ } OPTIONAL,
+ -- R1 25-9a: Semi-static PUCCH cell switching for two PUCCH groups
+ semiStaticPUCCH-CellSwitchTwoGroups-r17 SEQUENCE (SIZE (1..maxTwoPUCCH-Grp-ConfigList-r17)) OF TwoPUCCH-Grp-Configurations-r17 OPTIONAL,
+ -- R1 25-10: PUCCH cell switching based on dynamic indication for same length of overlapping PUCCH slots/sub-slots for a single
+ -- PUCCH group only
+ dynamicPUCCH-CellSwitchSameLengthSingleGroup-r17 SEQUENCE {
+ pucch-Group-r17 ENUMERATED {primaryGroupOnly, secondaryGroupOnly, eitherPrimaryOrSecondaryGroup},
+ pucch-Group-Config-r17 PUCCH-Group-Config-r17
+ } OPTIONAL,
+ -- R1 25-10a: PUCCH cell switching based on dynamic indication for different length of overlapping PUCCH slots/sub-slots
+ -- for a single PUCCH group only
+ dynamicPUCCH-CellSwitchDiffLengthSingleGroup-r17 SEQUENCE {
+ pucch-Group-r17 ENUMERATED {primaryGroupOnly, secondaryGroupOnly, eitherPrimaryOrSecondaryGroup},
+ pucch-Group-Config-r17 PUCCH-Group-Config-r17
+ } OPTIONAL,
+ -- R1 25-10b: PUCCH cell switching based on dynamic indication for same length of overlapping PUCCH slots/sub-slots for two PUCCH
+ -- groups
+ dynamicPUCCH-CellSwitchSameLengthTwoGroups-r17 SEQUENCE (SIZE (1..maxTwoPUCCH-Grp-ConfigList-r17)) OF TwoPUCCH-Grp-Configurations-r17
+ OPTIONAL,
+ -- R1 25-10c: PUCCH cell switching based on dynamic indication for different length of overlapping PUCCH slots/sub-slots for two
+ -- PUCCH groups
+ dynamicPUCCH-CellSwitchDiffLengthTwoGroups-r17 SEQUENCE (SIZE (1..maxTwoPUCCH-Grp-ConfigList-r17)) OF TwoPUCCH-Grp-Configurations-r17
+ OPTIONAL,
+ -- R1 33-2a: ACK/NACK based HARQ-ACK feedback and RRC-based enabling/disabling ACK/NACK-based
+ -- feedback for dynamic scheduling for multicast
+ ack-NACK-FeedbackForMulticast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-2d: PTP retransmission for multicast dynamic scheduling
+ ptp-Retx-Multicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-4: NACK-only based HARQ-ACK feedback for RRC-based enabling/disabling multicast with ACK/NACK transforming
+ nack-OnlyFeedbackForMulticast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-4a: NACK-only based HARQ-ACK feedback for multicast corresponding to a specific sequence or a PUCCH transmission
+ nack-OnlyFeedbackSpecificResourceForMulticast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-5-1a: ACK/NACK based HARQ-ACK feedback and RRC-based enabling/disabling ACK/NACK-based feedback
+ -- for SPS group-common PDSCH for multicast
+ ack-NACK-FeedbackForSPS-Multicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-5-1d: PTP retransmission for SPS group-common PDSCH for multicast
+ ptp-Retx-SPS-Multicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 26-1: Higher Power Limit CA DC
+ higherPowerLimit-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 39-4: Parallel MsgA and SRS/PUCCH/PUSCH transmissions across CCs in intra-band non-contiguous CA
+ parallelTxMsgA-SRS-PUCCH-PUSCH-intraBand-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-11a: Capability on the number of CCs for monitoring a maximum number of BDs and non-overlapped CCEs per span when
+ -- configured with DL CA with Rel-17 PDCCH monitoring capability on all the serving cells
+ pdcch-MonitoringCA-r17 INTEGER (4..16) OPTIONAL,
+ -- R1 24-11f: Capability on the number of CCs for monitoring a maximum number of BDs and non-overlapped CCEs for MCG and for SCG
+ -- when configured for NR-DC operation with Rel-17 PDCCH monitoring capability on all the serving cells
+ pdcch-BlindDetectionMCG-SCG-List-r17 SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetection-r17)) OF PDCCH-BlindDetectionMCG-SCG-r17
+ OPTIONAL,
+ -- R1 24-11c: Number of carriers for CCE/BD scaling with DL CA with mix of Rel. 17 and Rel. 15 PDCCH monitoring capabilities on
+ -- different Carriers
+ -- R1 24-11g: Number of carriers for CCE/BD scaling for MCG and for SCG when configured for NR-DC operation with mix of Rel. 17 and
+ -- Rel. 15 PDCCH monitoring capabilities on different carriers
+ pdcch-BlindDetectionMixedList1-r17 SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetection-r17)) OF PDCCH-BlindDetectionMixed-r17
+ OPTIONAL,
+ -- R1 24-11d: Number of carriers for CCE/BD scaling with DL CA with mix of Rel. 17 and Rel. 16 PDCCH monitoring capabilities on
+ -- different Carriers
+ -- R1 24-11h: Number of carriers for CCE/BD scaling for MCG and for SCG when configured for NR-DC operation with mix of Rel. 17 and
+ -- Rel. 16 PDCCH monitoring capabilities on different carriers
+ pdcch-BlindDetectionMixedList2-r17 SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetection-r17)) OF PDCCH-BlindDetectionMixed-r17
+ OPTIONAL,
+ -- R1 24-11e: Number of carriers for CCE/BD scaling with DL CA with mix of Rel. 17, Rel. 16 and Rel. 15 PDCCH monitoring
+ -- capabilities on different carriers
+ -- R1 24-11i: Number of carriers for CCE/BD scaling for MCG and for SCG when configured for NR-DC operation with mix of Rel. 17,
+ -- Rel. 16 and Rel. 15 PDCCH monitoring capabilities on different carriers
+ pdcch-BlindDetectionMixedList3-r17 SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetection-r17)) OF PDCCH-BlindDetectionMixed1-r17
+ OPTIONAL
+}
+
+CA-ParametersNR-v1730 ::= SEQUENCE {
+ -- R1 30-4a: DM-RS bundling for PUSCH repetition type A (per BC)
+ dmrs-BundlingPUSCH-RepTypeAPerBC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4b: DM-RS bundling for PUSCH repetition type B(per BC)
+ dmrs-BundlingPUSCH-RepTypeBPerBC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4c: DM-RS bundling for TB processing over multi-slot PUSCH(per BC)
+ dmrs-BundlingPUSCH-multiSlotPerBC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4d: DMRS bundling for PUCCH repetitions(per BC)
+ dmrs-BundlingPUCCH-RepPerBC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4g: Restart DM-RS bundling (per BC)
+ dmrs-BundlingRestartPerBC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4h: DM-RS bundling for non-back-to-back transmission (per BC)
+ dmrs-BundlingNonBackToBackTX-PerBC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 39-3-1: Stay on the target CC for SRS carrier switching
+ stayOnTargetCC-SRS-CarrierSwitch-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-3-3a: FDM-ed Type-1 and Type-2 HARQ-ACK codebooks for multiplexing HARQ-ACK for unicast and HARQ-ACK for multicast
+ fdm-CodebookForMux-UnicastMulticastHARQ-ACK-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-3-3b: Mode 2 TDM-ed Type-1 and Type-2 HARQ-ACK codebook for multiplexing HARQ-ACK for unicast and HARQ-ACK for multicast
+ mode2-TDM-CodebookForMux-UnicastMulticastHARQ-ACK-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-3-4: Mode 1 for type1 codebook generation
+ mode1-ForType1-CodebookGeneration-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-5-1j: NACK-only based HARQ-ACK feedback for multicast corresponding to a specific sequence or a PUCCH transmission
+ -- for SPS group-commmon PDSCH for multicast
+ nack-OnlyFeedbackSpecificResourceForSPS-Multicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-8-2: Up to 2 PUCCH resources configuration for multicast feedback for dynamically scheduled multicast
+ multiPUCCH-ConfigForMulticast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-8-3: PUCCH resource configuration for multicast feedback for SPS GC-PDSCH
+ pucch-ConfigForSPS-Multicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- The following parameter is associated with R1 33-2a, R1 33-3-3a, and R1 33-3-3b, and is not a RAN1 FG.
+ maxNumberG-RNTI-HARQ-ACK-Codebook-r17 INTEGER (1..4) OPTIONAL,
+ -- R1 33-3-5: Feedback multiplexing for unicast PDSCH and group-common PDSCH for multicast with same priority and different codebook
+ -- type
+ mux-HARQ-ACK-UnicastMulticast-r17 ENUMERATED {supported} OPTIONAL
+}
+
+CA-ParametersNR-v1740 ::= SEQUENCE {
+ -- R1 33-5-1f: NACK-only based HARQ-ACK feedback for multicast RRC-based enabling/disabling NACK-only based feedback
+ -- for SPS group-common PDSCH for multicast
+ nack-OnlyFeedbackForSPS-Multicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-8-1: PUCCH resource configuration for multicast feedback for dynamically scheduled multicast
+ singlePUCCH-ConfigForMulticast-r17 ENUMERATED {supported} OPTIONAL
+}
+
+CrossCarrierSchedulingSCell-SpCell-r17 ::= SEQUENCE {
+ supportedSCS-Combinations-r17 SEQUENCE {
+ scs15kHz-15kHz-r17 ENUMERATED {supported} OPTIONAL,
+ scs15kHz-30kHz-r17 ENUMERATED {supported} OPTIONAL,
+ scs15kHz-60kHz-r17 ENUMERATED {supported} OPTIONAL,
+ scs30kHz-30kHz-r17 BIT STRING (SIZE (1..496)) OPTIONAL,
+ scs30kHz-60kHz-r17 BIT STRING (SIZE (1..496)) OPTIONAL,
+ scs60kHz-60kHz-r17 BIT STRING (SIZE (1..496)) OPTIONAL
+ },
+ pdcch-MonitoringOccasion-r17 ENUMERATED {val1, val2}
+}
+
+PDCCH-BlindDetectionMixedList-r16::= SEQUENCE {
+ pdcch-BlindDetectionCA-MixedExt-r16 CHOICE {
+ pdcch-BlindDetectionCA-Mixed-v16a0 PDCCH-BlindDetectionCA-MixedExt-r16,
+ pdcch-BlindDetectionCA-Mixed-NonAlignedSpan-v16a0 PDCCH-BlindDetectionCA-MixedExt-r16
+ } OPTIONAL,
+ pdcch-BlindDetectionCG-UE-MixedExt-r16 SEQUENCE{
+ pdcch-BlindDetectionMCG-UE-Mixed-v16a0 PDCCH-BlindDetectionCG-UE-MixedExt-r16,
+ pdcch-BlindDetectionSCG-UE-Mixed-v16a0 PDCCH-BlindDetectionCG-UE-MixedExt-r16
+ } OPTIONAL
+}
+
+PDCCH-BlindDetectionCA-MixedExt-r16 ::= SEQUENCE {
+ pdcch-BlindDetectionCA1-r16 INTEGER (1..15),
+ pdcch-BlindDetectionCA2-r16 INTEGER (1..15)
+}
+
+PDCCH-BlindDetectionCG-UE-MixedExt-r16 ::= SEQUENCE {
+ pdcch-BlindDetectionCG-UE1-r16 INTEGER (0..15),
+ pdcch-BlindDetectionCG-UE2-r16 INTEGER (0..15)
+}
+
+PDCCH-BlindDetectionMCG-SCG-r17 ::= SEQUENCE {
+ pdcch-BlindDetectionMCG-UE-r17 INTEGER (1..15),
+ pdcch-BlindDetectionSCG-UE-r17 INTEGER (1..15)
+}
+
+PDCCH-BlindDetectionMixed-r17::= SEQUENCE {
+ pdcch-BlindDetectionCA-Mixed-r17 PDCCH-BlindDetectionCA-Mixed-r17 OPTIONAL,
+ pdcch-BlindDetectionCG-UE-Mixed-r17 SEQUENCE{
+ pdcch-BlindDetectionMCG-UE-Mixed-v17 PDCCH-BlindDetectionCG-UE-Mixed-r17,
+ pdcch-BlindDetectionSCG-UE-Mixed-v17 PDCCH-BlindDetectionCG-UE-Mixed-r17
+ } OPTIONAL
+}
+
+PDCCH-BlindDetectionCG-UE-Mixed-r17 ::= SEQUENCE {
+ pdcch-BlindDetectionCG-UE1-r17 INTEGER (0..15),
+ pdcch-BlindDetectionCG-UE2-r17 INTEGER (0..15)
+}
+
+PDCCH-BlindDetectionCA-Mixed-r17 ::= SEQUENCE {
+ pdcch-BlindDetectionCA1-r17 INTEGER (1..15) OPTIONAL,
+ pdcch-BlindDetectionCA2-r17 INTEGER (1..15) OPTIONAL
+}
+PDCCH-BlindDetectionMixed1-r17::= SEQUENCE {
+ pdcch-BlindDetectionCA-Mixed1-r17 PDCCH-BlindDetectionCA-Mixed1-r17 OPTIONAL,
+ pdcch-BlindDetectionCG-UE-Mixed1-r17 SEQUENCE{
+ pdcch-BlindDetectionMCG-UE-Mixed1-v17 PDCCH-BlindDetectionCG-UE-Mixed1-r17,
+ pdcch-BlindDetectionSCG-UE-Mixed1-v17 PDCCH-BlindDetectionCG-UE-Mixed1-r17
+ } OPTIONAL
+}
+
+PDCCH-BlindDetectionCG-UE-Mixed1-r17 ::= SEQUENCE {
+ pdcch-BlindDetectionCG-UE1-r17 INTEGER (0..15),
+ pdcch-BlindDetectionCG-UE2-r17 INTEGER (0..15),
+ pdcch-BlindDetectionCG-UE3-r17 INTEGER (0..15)
+}
+
+PDCCH-BlindDetectionCA-Mixed1-r17 ::= SEQUENCE {
+ pdcch-BlindDetectionCA1-r17 INTEGER (1..15) OPTIONAL,
+ pdcch-BlindDetectionCA2-r17 INTEGER (1..15) OPTIONAL,
+ pdcch-BlindDetectionCA3-r17 INTEGER (1..15) OPTIONAL
+}
+
+SimulSRS-ForAntennaSwitching-r16 ::= SEQUENCE {
+ supportSRS-xTyR-xLessThanY-r16 ENUMERATED {supported} OPTIONAL,
+ supportSRS-xTyR-xEqualToY-r16 ENUMERATED {supported} OPTIONAL,
+ supportSRS-AntennaSwitching-r16 ENUMERATED {supported} OPTIONAL
+}
+
+TwoPUCCH-Grp-Configurations-r16 ::= SEQUENCE {
+ pucch-PrimaryGroupMapping-r16 TwoPUCCH-Grp-ConfigParams-r16,
+ pucch-SecondaryGroupMapping-r16 TwoPUCCH-Grp-ConfigParams-r16
+}
+
+TwoPUCCH-Grp-Configurations-r17 ::= SEQUENCE {
+ primaryPUCCH-GroupConfig-r17 PUCCH-Group-Config-r17,
+ secondaryPUCCH-GroupConfig-r17 PUCCH-Group-Config-r17
+}
+
+TwoPUCCH-Grp-ConfigParams-r16 ::= SEQUENCE {
+ pucch-GroupMapping-r16 PUCCH-Grp-CarrierTypes-r16,
+ pucch-TX-r16 PUCCH-Grp-CarrierTypes-r16
+}
+
+
+CarrierTypePair-r16 ::= SEQUENCE {
+ carrierForCSI-Measurement-r16 PUCCH-Grp-CarrierTypes-r16,
+ carrierForCSI-Reporting-r16 PUCCH-Grp-CarrierTypes-r16
+}
+
+PUCCH-Grp-CarrierTypes-r16 ::= SEQUENCE {
+ fr1-NonSharedTDD-r16 ENUMERATED {supported} OPTIONAL,
+ fr1-SharedTDD-r16 ENUMERATED {supported} OPTIONAL,
+ fr1-NonSharedFDD-r16 ENUMERATED {supported} OPTIONAL,
+ fr2-r16 ENUMERATED {supported} OPTIONAL
+}
+
+PUCCH-Group-Config-r17 ::= SEQUENCE {
+ fr1-FR1-NonSharedTDD-r17 ENUMERATED {supported} OPTIONAL,
+ fr2-FR2-NonSharedTDD-r17 ENUMERATED {supported} OPTIONAL,
+ fr1-FR2-NonSharedTDD-r17 ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-CA-PARAMETERSNR-STOP
+-- TAG-CA-PARAMETERS-NRDC-START
+
+CA-ParametersNRDC ::= SEQUENCE {
+ ca-ParametersNR-ForDC CA-ParametersNR OPTIONAL,
+ ca-ParametersNR-ForDC-v1540 CA-ParametersNR-v1540 OPTIONAL,
+ ca-ParametersNR-ForDC-v1550 CA-ParametersNR-v1550 OPTIONAL,
+ ca-ParametersNR-ForDC-v1560 CA-ParametersNR-v1560 OPTIONAL,
+ featureSetCombinationDC FeatureSetCombinationId OPTIONAL
+}
+
+CA-ParametersNRDC-v15g0 ::= SEQUENCE {
+ ca-ParametersNR-ForDC-v15g0 CA-ParametersNR-v15g0 OPTIONAL
+}
+
+CA-ParametersNRDC-v1610 ::= SEQUENCE {
+ -- R1 18-1: Semi-static power sharing mode1 between MCG and SCG cells of same FR for NR dual connectivity
+ intraFR-NR-DC-PwrSharingMode1-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-1a: Semi-static power sharing mode 2 between MCG and SCG cells of same FR for NR dual connectivity
+ intraFR-NR-DC-PwrSharingMode2-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-1b: Dynamic power sharing between MCG and SCG cells of same FR for NR dual connectivity
+ intraFR-NR-DC-DynamicPwrSharing-r16 ENUMERATED {short, long} OPTIONAL,
+ asyncNRDC-r16 ENUMERATED {supported} OPTIONAL
+}
+
+CA-ParametersNRDC-v1630 ::= SEQUENCE {
+ ca-ParametersNR-ForDC-v1610 CA-ParametersNR-v1610 OPTIONAL,
+ ca-ParametersNR-ForDC-v1630 CA-ParametersNR-v1630 OPTIONAL
+}
+
+CA-ParametersNRDC-v1640 ::= SEQUENCE {
+ ca-ParametersNR-ForDC-v1640 CA-ParametersNR-v1640 OPTIONAL
+}
+
+CA-ParametersNRDC-v1650 ::= SEQUENCE {
+ supportedCellGrouping-r16 BIT STRING (SIZE (1..maxCellGroupings-r16)) OPTIONAL
+}
+
+CA-ParametersNRDC-v16a0 ::= SEQUENCE {
+ ca-ParametersNR-ForDC-v16a0 CA-ParametersNR-v16a0 OPTIONAL
+}
+
+CA-ParametersNRDC-v1700 ::= SEQUENCE {
+ -- R1 31-9: Indicates the support of simultaneous transmission and reception of an IAB-node from multiple parent nodes
+ simultaneousRxTx-IAB-MultipleParents-r17 ENUMERATED {supported} OPTIONAL,
+ condPSCellAdditionNRDC-r17 ENUMERATED {supported} OPTIONAL,
+ scg-ActivationDeactivationNRDC-r17 ENUMERATED {supported} OPTIONAL,
+ scg-ActivationDeactivationResumeNRDC-r17 ENUMERATED {supported} OPTIONAL,
+ beamManagementType-CBM-r17 ENUMERATED {supported} OPTIONAL
+}
+
+CA-ParametersNRDC-v1720 ::= SEQUENCE {
+ ca-ParametersNR-ForDC-v1700 CA-ParametersNR-v1700 OPTIONAL,
+ ca-ParametersNR-ForDC-v1720 CA-ParametersNR-v1720 OPTIONAL
+}
+
+CA-ParametersNRDC-v1730 ::= SEQUENCE {
+ ca-ParametersNR-ForDC-v1730 CA-ParametersNR-v1730 OPTIONAL
+}
+
+-- TAG-CA-PARAMETERS-NRDC-STOP
+-- TAG-CARRIERAGGREGATIONVARIANT-START
+
+CarrierAggregationVariant ::= SEQUENCE {
+ fr1fdd-FR1TDD-CA-SpCellOnFR1FDD ENUMERATED {supported} OPTIONAL,
+ fr1fdd-FR1TDD-CA-SpCellOnFR1TDD ENUMERATED {supported} OPTIONAL,
+ fr1fdd-FR2TDD-CA-SpCellOnFR1FDD ENUMERATED {supported} OPTIONAL,
+ fr1fdd-FR2TDD-CA-SpCellOnFR2TDD ENUMERATED {supported} OPTIONAL,
+ fr1tdd-FR2TDD-CA-SpCellOnFR1TDD ENUMERATED {supported} OPTIONAL,
+ fr1tdd-FR2TDD-CA-SpCellOnFR2TDD ENUMERATED {supported} OPTIONAL,
+ fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1FDD ENUMERATED {supported} OPTIONAL,
+ fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1TDD ENUMERATED {supported} OPTIONAL,
+ fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR2TDD ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-CARRIERAGGREGATIONVARIANT-STOP
+-- TAG-CODEBOOKPARAMETERS-START
+
+CodebookParameters ::= SEQUENCE {
+ type1 SEQUENCE {
+ singlePanel SEQUENCE {
+ supportedCSI-RS-ResourceList SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource,
+ modes ENUMERATED {mode1, mode1andMode2},
+ maxNumberCSI-RS-PerResourceSet INTEGER (1..8)
+ },
+ multiPanel SEQUENCE {
+ supportedCSI-RS-ResourceList SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource,
+ modes ENUMERATED {mode1, mode2, both},
+ nrofPanels ENUMERATED {n2, n4},
+ maxNumberCSI-RS-PerResourceSet INTEGER (1..8)
+ } OPTIONAL
+ },
+ type2 SEQUENCE {
+ supportedCSI-RS-ResourceList SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource,
+ parameterLx INTEGER (2..4),
+ amplitudeScalingType ENUMERATED {wideband, widebandAndSubband},
+ amplitudeSubsetRestriction ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ type2-PortSelection SEQUENCE {
+ supportedCSI-RS-ResourceList SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource,
+ parameterLx INTEGER (2..4),
+ amplitudeScalingType ENUMERATED {wideband, widebandAndSubband}
+ } OPTIONAL
+}
+
+CodebookParameters-v1610 ::= SEQUENCE {
+ supportedCSI-RS-ResourceListAlt-r16 SEQUENCE {
+ type1-SinglePanel-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16) OPTIONAL,
+ type1-MultiPanel-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16) OPTIONAL,
+ type2-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16) OPTIONAL,
+ type2-PortSelection-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16) OPTIONAL
+ } OPTIONAL
+}
+
+CodebookParametersAddition-r16 ::= SEQUENCE {
+ etype2-r16 SEQUENCE {
+ -- R1 16-3a Regular eType 2 R=1
+ etype2R1-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF
+ INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ },
+ -- R1 16-3a-1 Regular eType 2 R=2
+ etype2R2-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF
+ INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ -- R1 16-3a-2: Support of parameter combinations 7-8
+ paramComb7-8-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-3a-3: Support of rank 3,4
+ rank3-4-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-3a-4: CBSR with soft amplitude restriction
+ amplitudeSubsetRestriction-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ etype2-PS-r16 SEQUENCE {
+ -- R1 16-3b Regular eType 2 R=1 PortSelection
+ etype2R1-PortSelection-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF
+ INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ },
+ -- R1 16-3b-1 Regular eType 2 R=2 PortSelection
+ etype2R2-PortSelection-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF
+ INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ -- R1 16-3b-2: Support of rank 3,4
+ rank3-4-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL
+}
+
+CodebookComboParametersAddition-r16 ::= SEQUENCE {
+ -- R1 16-8 Mixed codebook types
+ type1SP-Type2-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1SP-Type2PS-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1SP-eType2R1-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1SP-eType2R2-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1SP-eType2R1PS-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1SP-eType2R2PS-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1SP-Type2-Type2PS-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1MP-Type2-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1MP-Type2PS-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1MP-eType2R1-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1MP-eType2R2-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1MP-eType2R1PS-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1MP-eType2R2PS-null-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL,
+ type1MP-Type2-Type2PS-r16 SEQUENCE {
+ supportedCSI-RS-ResourceListAdd-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ } OPTIONAL
+}
+
+CodebookParametersfetype2-r17 ::= SEQUENCE {
+ -- R1 23-9-1 Basic Features of Further Enhanced Port-Selection Type II Codebook (FeType-II)
+ fetype2basic-r17 SEQUENCE (SIZE (1.. maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16),
+ -- R1 23-9-2 Support of M=2 and R=1 for FeType-II
+ fetype2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r17)) OF INTEGER (0.. maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- R1 23-9-4 Support of R = 2 for FeType-II
+ fetype2R2-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r17)) OF INTEGER (0.. maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- R1 23-9-3 Support of rank 3, 4 for FeType-II
+ fetype2Rank3Rank4-r17 ENUMERATED {supported} OPTIONAL
+}
+
+CodebookComboParameterMixedType-r17 ::= SEQUENCE {
+ -- R1 23-9-5 Active CSI-RS resources and ports for mixed codebook types in any slot
+ type1SP-feType2PS-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-feType2PS-M2R2-null-r1 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-feType2PS-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-feType2PS-M2R2-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL
+}
+
+CodebookComboParameterMultiTRP-r17::= SEQUENCE {
+ -- R1 23-7-1b Active CSI-RS resources and ports in the presence of multi-TRP CSI
+ -- {Codebook 2, Codebook 3} =(NULL, NULL}
+ nCJT-null-null SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-null-null SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- {Codebook 2, Codebook 3} = {( {"Rel 16 combinations in FG 16-8"}
+ nCJT-Type2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-Type2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R1-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R1PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-Type2-Type2PS-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R1-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R1PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2-Type2PS-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- {Codebook 2, Codebook 3} = {"New Rel17 combinations in FG 23-9-5"}
+ nCJT-feType2PS-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-feType2PS-M2R2-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-feType2PS-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-feType2PS-M2R2-null-r1 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL
+}
+
+CodebookParametersAdditionPerBC-r16::= SEQUENCE {
+ -- R1 16-3a Regular eType 2 R=1
+ etype2R1-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- R1 16-3a-1 Regular eType 2 R=2
+ etype2R2-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- R1 16-3b Regular eType 2 R=1 PortSelection
+ etype2R1-PortSelection-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- R1 16-3b-1 Regular eType 2 R=2 PortSelection
+ etype2R2-PortSelection-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL
+}
+
+CodebookComboParametersAdditionPerBC-r16::= SEQUENCE {
+ -- R1 16-8 Mixed codebook types
+ type1SP-Type2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-Type2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-eType2R1-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-eType2R2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-eType2R1PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-eType2R2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-Type2-Type2PS-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-Type2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-Type2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-eType2R1-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-eType2R2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-eType2R1PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-eType2R2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-Type2-Type2PS-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL
+}
+
+CodebookParametersfetype2PerBC-r17 ::= SEQUENCE {
+ -- R1 23-9-1 Basic Features of Further Enhanced Port-Selection Type II Codebook (FeType-II)
+ fetype2basic-r17 SEQUENCE (SIZE (1.. maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16),
+ -- R1 23-9-2 Support of M=2 and R=1 for FeType-II
+ fetype2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r17)) OF INTEGER (0.. maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- R1 23-9-4 Support of R = 2 for FeType-II
+ fetype2R2-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r17)) OF INTEGER (0.. maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL
+}
+
+CodebookComboParameterMixedTypePerBC-r17 ::= SEQUENCE {
+ -- R1 23-9-5 Active CSI-RS resources and ports for mixed codebook types in any slot
+ type1SP-feType2PS-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-feType2PS-M2R2-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1SP-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-feType2PS-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-feType2PS-M2R2-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ type1MP-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL
+}
+
+CodebookComboParameterMultiTRP-PerBC-r17::= SEQUENCE {
+ -- R1 23-7-1b Active CSI-RS resources and ports in the presence of multi-TRP CSI
+ -- {Codebook 2, Codebook 3} =(NULL, NULL}
+ nCJT-null-null SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-null-null SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- {Codebook 2, Codebook 3} = {( {"Rel 16 combinations in FG 16-8"}
+ nCJT-Type2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-Type2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R1-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R1PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-Type2-Type2PS-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R1-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R2-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R1PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R2PS-null-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2-Type2PS-r16 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ -- {Codebook 2, Codebook 3} = {"New Rel17 combinations in FG 23-9-5"}
+ nCJT-feType2PS-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-feType2PS-M2R2-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-feType2PS-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-feType2PS-M2R2-null-r1 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL,
+ nCJT1SP-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
+ OPTIONAL
+}
+
+CodebookVariantsList-r16 ::= SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesAlt-r16)) OF SupportedCSI-RS-Resource
+
+SupportedCSI-RS-Resource ::= SEQUENCE {
+ maxNumberTxPortsPerResource ENUMERATED {p2, p4, p8, p12, p16, p24, p32},
+ maxNumberResourcesPerBand INTEGER (1..64),
+ totalNumberTxPortsPerBand INTEGER (2..256)
+}
+
+-- TAG-CODEBOOKPARAMETERS-STOP
+-- TAG-FEATURESETCOMBINATION-START
+
+FeatureSetCombination ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF FeatureSetsPerBand
+
+FeatureSetsPerBand ::= SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSet
+
+FeatureSet ::= CHOICE {
+ eutra SEQUENCE {
+ downlinkSetEUTRA FeatureSetEUTRA-DownlinkId,
+ uplinkSetEUTRA FeatureSetEUTRA-UplinkId
+ },
+ nr SEQUENCE {
+ downlinkSetNR FeatureSetDownlinkId,
+ uplinkSetNR FeatureSetUplinkId
+ }
+}
+
+-- TAG-FEATURESETCOMBINATION-STOP
+-- TAG-FEATURESETCOMBINATIONID-START
+
+FeatureSetCombinationId ::= INTEGER (0.. maxFeatureSetCombinations)
+
+-- TAG-FEATURESETCOMBINATIONID-STOP
+-- TAG-FEATURESETDOWNLINK-START
+
+FeatureSetDownlink ::= SEQUENCE {
+ featureSetListPerDownlinkCC SEQUENCE (SIZE (1..maxNrofServingCells)) OF FeatureSetDownlinkPerCC-Id,
+
+ intraBandFreqSeparationDL FreqSeparationClass OPTIONAL,
+ scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL,
+ dummy8 ENUMERATED {supported} OPTIONAL,
+ scellWithoutSSB ENUMERATED {supported} OPTIONAL,
+ csi-RS-MeasSCellWithoutSSB ENUMERATED {supported} OPTIONAL,
+ dummy1 ENUMERATED {supported} OPTIONAL,
+ type1-3-CSS ENUMERATED {supported} OPTIONAL,
+ pdcch-MonitoringAnyOccasions ENUMERATED {withoutDCI-Gap, withDCI-Gap} OPTIONAL,
+ dummy2 ENUMERATED {supported} OPTIONAL,
+ ue-SpecificUL-DL-Assignment ENUMERATED {supported} OPTIONAL,
+ searchSpaceSharingCA-DL ENUMERATED {supported} OPTIONAL,
+ timeDurationForQCL SEQUENCE {
+ scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL,
+ scs-120kHz ENUMERATED {s14, s28} OPTIONAL
+ } OPTIONAL,
+ pdsch-ProcessingType1-DifferentTB-PerSlot SEQUENCE {
+ scs-15kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL,
+ scs-30kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL,
+ scs-60kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL,
+ scs-120kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL
+ } OPTIONAL,
+ dummy3 DummyA OPTIONAL,
+ dummy4 SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF DummyB OPTIONAL,
+ dummy5 SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF DummyC OPTIONAL,
+ dummy6 SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF DummyD OPTIONAL,
+ dummy7 SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF DummyE OPTIONAL
+}
+
+FeatureSetDownlink-v1540 ::= SEQUENCE {
+ oneFL-DMRS-TwoAdditionalDMRS-DL ENUMERATED {supported} OPTIONAL,
+ additionalDMRS-DL-Alt ENUMERATED {supported} OPTIONAL,
+ twoFL-DMRS-TwoAdditionalDMRS-DL ENUMERATED {supported} OPTIONAL,
+ oneFL-DMRS-ThreeAdditionalDMRS-DL ENUMERATED {supported} OPTIONAL,
+ pdcch-MonitoringAnyOccasionsWithSpanGap SEQUENCE {
+ scs-15kHz ENUMERATED {set1, set2, set3} OPTIONAL,
+ scs-30kHz ENUMERATED {set1, set2, set3} OPTIONAL,
+ scs-60kHz ENUMERATED {set1, set2, set3} OPTIONAL,
+ scs-120kHz ENUMERATED {set1, set2, set3} OPTIONAL
+ } OPTIONAL,
+ pdsch-SeparationWithGap ENUMERATED {supported} OPTIONAL,
+ pdsch-ProcessingType2 SEQUENCE {
+ scs-15kHz ProcessingParameters OPTIONAL,
+ scs-30kHz ProcessingParameters OPTIONAL,
+ scs-60kHz ProcessingParameters OPTIONAL
+ } OPTIONAL,
+ pdsch-ProcessingType2-Limited SEQUENCE {
+ differentTB-PerSlot-SCS-30kHz ENUMERATED {upto1, upto2, upto4, upto7}
+ } OPTIONAL,
+ dl-MCS-TableAlt-DynamicIndication ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetDownlink-v15a0 ::= SEQUENCE {
+ supportedSRS-Resources SRS-Resources OPTIONAL
+}
+
+FeatureSetDownlink-v1610 ::= SEQUENCE {
+ -- R1 22-4e/4f/4g/4h: CBG based reception for DL with unicast PDSCH(s) per slot per CC with UE processing time Capability 1
+ cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16 SEQUENCE {
+ scs-15kHz-r16 ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
+ scs-30kHz-r16 ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
+ scs-60kHz-r16 ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
+ scs-120kHz-r16 ENUMERATED {one, upto2, upto4, upto7} OPTIONAL
+ } OPTIONAL,
+
+ -- R1 22-3e/3f/3g/3h: CBG based reception for DL with unicast PDSCH(s) per slot per CC with UE processing time Capability 2
+ cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16 SEQUENCE {
+ scs-15kHz-r16 ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
+ scs-30kHz-r16 ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
+ scs-60kHz-r16 ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
+ scs-120kHz-r16 ENUMERATED {one, upto2, upto4, upto7} OPTIONAL
+ } OPTIONAL,
+ intraFreqDAPS-r16 SEQUENCE {
+ intraFreqDiffSCS-DAPS-r16 ENUMERATED {supported} OPTIONAL,
+ intraFreqAsyncDAPS-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ intraBandFreqSeparationDL-v1620 FreqSeparationClassDL-v1620 OPTIONAL,
+ intraBandFreqSeparationDL-Only-r16 FreqSeparationClassDL-Only-r16 OPTIONAL,
+
+ -- R1 11-2: Rel-16 PDCCH monitoring capability
+ pdcch-Monitoring-r16 SEQUENCE {
+ pdsch-ProcessingType1-r16 SEQUENCE {
+ scs-15kHz-r16 PDCCH-MonitoringOccasions-r16 OPTIONAL,
+ scs-30kHz-r16 PDCCH-MonitoringOccasions-r16 OPTIONAL
+ } OPTIONAL,
+ pdsch-ProcessingType2-r16 SEQUENCE {
+ scs-15kHz-r16 PDCCH-MonitoringOccasions-r16 OPTIONAL,
+ scs-30kHz-r16 PDCCH-MonitoringOccasions-r16 OPTIONAL
+ } OPTIONAL
+ } OPTIONAL,
+
+ -- R1 11-2b: Mix of Rel. 16 PDCCH monitoring capability and Rel. 15 PDCCH monitoring capability on different carriers
+ pdcch-MonitoringMixed-r16 ENUMERATED {supported} OPTIONAL,
+
+ -- R1 18-5c: Processing up to X unicast DCI scheduling for DL per scheduled CC
+ crossCarrierSchedulingProcessing-DiffSCS-r16 SEQUENCE {
+ scs-15kHz-120kHz-r16 ENUMERATED {n1,n2,n4} OPTIONAL,
+ scs-15kHz-60kHz-r16 ENUMERATED {n1,n2,n4} OPTIONAL,
+ scs-30kHz-120kHz-r16 ENUMERATED {n1,n2,n4} OPTIONAL,
+ scs-15kHz-30kHz-r16 ENUMERATED {n2} OPTIONAL,
+ scs-30kHz-60kHz-r16 ENUMERATED {n2} OPTIONAL,
+ scs-60kHz-120kHz-r16 ENUMERATED {n2} OPTIONAL
+ } OPTIONAL,
+
+ -- R1 16-2b-1: Support of single-DCI based SDM scheme
+ singleDCI-SDM-scheme-r16 ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetDownlink-v1700 ::= SEQUENCE {
+ -- R1 36-2: Scaling factor to be applied to 1024QAM for FR1
+ scalingFactor-1024QAM-FR1-r17 ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL,
+ -- R1 24 feature for existing UE cap to include new SCS
+ timeDurationForQCL-v1710 SEQUENCE {
+ scs-480kHz ENUMERATED {s56, s112} OPTIONAL,
+ scs-960kHz ENUMERATED {s112, s224} OPTIONAL
+ } OPTIONAL,
+ -- R1 23-6-1 SFN scheme A (scheme 1) for PDSCH and PDCCH
+ sfn-SchemeA-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-6-1-1 SFN scheme A (scheme 1) for PDCCH only
+ sfn-SchemeA-PDCCH-only-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-6-1a Dynamic switching - scheme A
+ sfn-SchemeA-DynamicSwitching-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-6-1b SFN scheme A (scheme 1) for PDSCH only
+ sfn-SchemeA-PDSCH-only-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-6-2 SFN scheme B (TRP based pre-compensation) for PDSCH and PDCCH
+ sfn-SchemeB-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-6-2a Dynamic switching - scheme B
+ sfn-SchemeB-DynamicSwitching-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-6-2b SFN scheme B (TRP based pre-compensation) for PDSCH only
+ sfn-SchemeB-PDSCH-only-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-2-1d PDCCH repetition for Case 2 PDCCH monitoring with a span gap
+ mTRP-PDCCH-Case2-1SpanGap-r17 SEQUENCE {
+ scs-15kHz-r17 PDCCH-RepetitionParameters-r17 OPTIONAL,
+ scs-30kHz-r17 PDCCH-RepetitionParameters-r17 OPTIONAL,
+ scs-60kHz-r17 PDCCH-RepetitionParameters-r17 OPTIONAL,
+ scs-120kHz-r17 PDCCH-RepetitionParameters-r17 OPTIONAL
+ } OPTIONAL,
+ -- R1 23-2-1e PDCCH repetition for Rel-16 PDCCH monitoring
+ mTRP-PDCCH-legacyMonitoring-r17 SEQUENCE {
+ scs-15kHz-r17 PDCCH-RepetitionParameters-r17 OPTIONAL,
+ scs-30kHz-r17 PDCCH-RepetitionParameters-r17 OPTIONAL
+ } OPTIONAL,
+ -- R1 23-2-4 Simultaneous configuration of PDCCH repetition and multi-DCI based multi-TRP
+ mTRP-PDCCH-multiDCI-multiTRP-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-2: Dynamic scheduling for multicast for PCell
+ dynamicMulticastPCell-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-2-1 PDCCH repetition
+ mTRP-PDCCH-Repetition-r17 SEQUENCE {
+ numBD-twoPDCCH-r17 INTEGER (2..3),
+ maxNumOverlaps-r17 ENUMERATED {n1,n2,n3,n5,n10,n20,n40}
+ } OPTIONAL
+}
+
+FeatureSetDownlink-v1720 ::= SEQUENCE {
+ -- R1 25-19: RTT-based Propagation delay compensation based on CSI-RS for tracking and SRS
+ rtt-BasedPDC-CSI-RS-ForTracking-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-19a: RTT-based Propagation delay compensation based on DL PRS for RTT-based PDC and SRS
+ rtt-BasedPDC-PRS-r17 SEQUENCE {
+ maxNumberPRS-Resource-r17 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumberPRS-ResourceProcessedPerSlot-r17 SEQUENCE {
+ scs-15kHz-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64} OPTIONAL,
+ scs-30kHz-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64} OPTIONAL,
+ scs-60kHz-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64} OPTIONAL,
+ scs-120kHz-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64} OPTIONAL
+ }
+ } OPTIONAL,
+ -- R1 33-5-1: SPS group-common PDSCH for multicast on PCell
+ sps-Multicast-r17 ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetDownlink-v1730 ::= SEQUENCE {
+ -- R1 25-19b: Support of PRS as spatial relation RS for SRS
+ prs-AsSpatialRelationRS-For-SRS-r17 ENUMERATED {supported} OPTIONAL
+}
+
+PDCCH-MonitoringOccasions-r16 ::= SEQUENCE {
+ period7span3-r16 ENUMERATED {supported} OPTIONAL,
+ period4span3-r16 ENUMERATED {supported} OPTIONAL,
+ period2span2-r16 ENUMERATED {supported} OPTIONAL
+}
+
+PDCCH-RepetitionParameters-r17 ::= SEQUENCE {
+ supportedMode-r17 ENUMERATED {intra-span, inter-span, both},
+ limitX-PerCC-r17 ENUMERATED {n4, n8, n16, n32, n44, n64, nolimit} OPTIONAL,
+ limitX-AcrossCC-r17 ENUMERATED {n4, n8, n16, n32, n44, n64, n128, n256, n512, nolimit} OPTIONAL
+}
+
+DummyA ::= SEQUENCE {
+ maxNumberNZP-CSI-RS-PerCC INTEGER (1..32),
+ maxNumberPortsAcrossNZP-CSI-RS-PerCC ENUMERATED {p2, p4, p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80,
+ p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168,
+ p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256},
+ maxNumberCS-IM-PerCC ENUMERATED {n1, n2, n4, n8, n16, n32},
+ maxNumberSimultaneousCSI-RS-ActBWP-AllCC ENUMERATED {n5, n6, n7, n8, n9, n10, n12, n14, n16, n18, n20, n22, n24, n26,
+ n28, n30, n32, n34, n36, n38, n40, n42, n44, n46, n48, n50, n52,
+ n54, n56, n58, n60, n62, n64},
+ totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC ENUMERATED {p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80,
+ p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168,
+ p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256}
+}
+
+DummyB ::= SEQUENCE {
+ maxNumberTxPortsPerResource ENUMERATED {p2, p4, p8, p12, p16, p24, p32},
+ maxNumberResources INTEGER (1..64),
+ totalNumberTxPorts INTEGER (2..256),
+ supportedCodebookMode ENUMERATED {mode1, mode1AndMode2},
+ maxNumberCSI-RS-PerResourceSet INTEGER (1..8)
+}
+
+DummyC ::= SEQUENCE {
+ maxNumberTxPortsPerResource ENUMERATED {p8, p16, p32},
+ maxNumberResources INTEGER (1..64),
+ totalNumberTxPorts INTEGER (2..256),
+ supportedCodebookMode ENUMERATED {mode1, mode2, both},
+ supportedNumberPanels ENUMERATED {n2, n4},
+ maxNumberCSI-RS-PerResourceSet INTEGER (1..8)
+}
+
+DummyD ::= SEQUENCE {
+ maxNumberTxPortsPerResource ENUMERATED {p4, p8, p12, p16, p24, p32},
+ maxNumberResources INTEGER (1..64),
+ totalNumberTxPorts INTEGER (2..256),
+ parameterLx INTEGER (2..4),
+ amplitudeScalingType ENUMERATED {wideband, widebandAndSubband},
+ amplitudeSubsetRestriction ENUMERATED {supported} OPTIONAL,
+ maxNumberCSI-RS-PerResourceSet INTEGER (1..8)
+}
+
+DummyE ::= SEQUENCE {
+ maxNumberTxPortsPerResource ENUMERATED {p4, p8, p12, p16, p24, p32},
+ maxNumberResources INTEGER (1..64),
+ totalNumberTxPorts INTEGER (2..256),
+ parameterLx INTEGER (2..4),
+ amplitudeScalingType ENUMERATED {wideband, widebandAndSubband},
+ maxNumberCSI-RS-PerResourceSet INTEGER (1..8)
+}
+
+-- TAG-FEATURESETDOWNLINK-STOP
+-- TAG-FEATURESETDOWNLINKID-START
+
+FeatureSetDownlinkId ::= INTEGER (0..maxDownlinkFeatureSets)
+
+-- TAG-FEATURESETDOWNLINKID-STOP
+-- TAG-FEATURESETDOWNLINKPERCC-START
+
+FeatureSetDownlinkPerCC ::= SEQUENCE {
+ supportedSubcarrierSpacingDL SubcarrierSpacing,
+ supportedBandwidthDL SupportedBandwidth,
+ channelBW-90mhz ENUMERATED {supported} OPTIONAL,
+ maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL,
+ supportedModulationOrderDL ModulationOrder OPTIONAL
+}
+
+FeatureSetDownlinkPerCC-v1620 ::= SEQUENCE {
+ -- R1 16-2a: Mulit-DCI based multi-TRP
+ multiDCI-MultiTRP-r16 MultiDCI-MultiTRP-r16 OPTIONAL,
+ -- R1 16-2b-3: Support of single-DCI based FDMSchemeB
+ supportFDM-SchemeB-r16 ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetDownlinkPerCC-v1700 ::= SEQUENCE {
+ supportedMinBandwidthDL-r17 SupportedBandwidth-v1700 OPTIONAL,
+ broadcastSCell-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-2g: MIMO layers for multicast PDSCH
+ maxNumberMIMO-LayersMulticastPDSCH-r17 ENUMERATED {n2, n4, n8} OPTIONAL,
+ -- R1 33-2h: Dynamic scheduling for multicast for SCell
+ dynamicMulticastSCell-r17 ENUMERATED {supported} OPTIONAL,
+ supportedBandwidthDL-v1710 SupportedBandwidth-v1700 OPTIONAL,
+ -- R4 24-1/24-2/24-3/24-4/24-5
+ supportedCRS-InterfMitigation-r17 CRS-InterfMitigation-r17 OPTIONAL
+}
+
+FeatureSetDownlinkPerCC-v1720 ::= SEQUENCE {
+ -- R1 33-2j: Supported maximum modulation order used for maximum data rate calculation for multicast PDSCH
+ maxModulationOrderForMulticastDataRateCalculation-r17 ENUMERATED {qam64, qam256, qam1024} OPTIONAL,
+ -- R1 33-1-2: FDM-ed unicast PDSCH and group-common PDSCH for broadcast
+ fdm-BroadcastUnicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-3-2: FDM-ed unicast PDSCH and one group-common PDSCH for multicast
+ fdm-MulticastUnicast-r17 ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetDownlinkPerCC-v1730 ::= SEQUENCE {
+ -- R1 33-3-3: Intra-slot TDM-ed unicast PDSCH and group-common PDSCH
+ intraSlotTDM-UnicastGroupCommonPDSCH-r17 ENUMERATED {yes, no} OPTIONAL,
+ -- R1 33-5-3: One SPS group-common PDSCH configuration for multicast for SCell
+ sps-MulticastSCell-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-5-4: Up to 8 SPS group-common PDSCH configurations per CFR for multicast for SCell
+ sps-MulticastSCellMultiConfig-r17 INTEGER (1..8) OPTIONAL,
+ -- R1 33-1-1: Dynamic slot-level repetition for broadcast MTCH
+ dci-BroadcastWith16Repetitions-r17 ENUMERATED {supported} OPTIONAL
+}
+
+MultiDCI-MultiTRP-r16 ::= SEQUENCE {
+ maxNumberCORESET-r16 ENUMERATED {n2, n3, n4, n5},
+ maxNumberCORESETPerPoolIndex-r16 INTEGER (1..3),
+ maxNumberUnicastPDSCH-PerPool-r16 ENUMERATED {n1, n2, n3, n4, n7}
+}
+
+CRS-InterfMitigation-r17 ::= SEQUENCE {
+ -- R4 24-1 CRS-IM (Interference Mitigation) in DSS scenario
+ crs-IM-DSS-15kHzSCS-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 24-2 CRS-IM in non-DSS and 15 kHz NR SCS scenario, without the assistance of network signaling on LTE channel bandwidth
+ crs-IM-nonDSS-15kHzSCS-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 24-3 CRS-IM in non-DSS and 15 kHz NR SCS scenario, with the assistance of network signaling on LTE channel bandwidth
+ crs-IM-nonDSS-NWA-15kHzSCS-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 24-4 CRS-IM in non-DSS and 30 kHz NR SCS scenario, without the assistance of network signaling on LTE channel bandwidth
+ crs-IM-nonDSS-30kHzSCS-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 24-5 CRS-IM in non-DSS and 30 kHz NR SCS scenario, with the assistance of network signaling on LTE channel bandwidth
+ crs-IM-nonDSS-NWA-30kHzSCS-r17 ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-FEATURESETDOWNLINKPERCC-STOP
+-- TAG-FEATURESETDOWNLINKPERCC-ID-START
+
+FeatureSetDownlinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets)
+
+-- TAG-FEATURESETDOWNLINKPERCC-ID-STOP
+-- TAG-FEATURESETEUTRADOWNLINKID-START
+
+FeatureSetEUTRA-DownlinkId ::= INTEGER (0..maxEUTRA-DL-FeatureSets)
+
+-- TAG-FEATURESETEUTRADOWNLINKID-STOP
+-- TAG-FEATURESETEUTRAUPLINKID-START
+
+FeatureSetEUTRA-UplinkId ::= INTEGER (0..maxEUTRA-UL-FeatureSets)
+
+-- TAG-FEATURESETEUTRAUPLINKID-STOP
+-- TAG-FEATURESETS-START
+
+FeatureSets ::= SEQUENCE {
+ featureSetsDownlink SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink OPTIONAL,
+ featureSetsDownlinkPerCC SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC OPTIONAL,
+ featureSetsUplink SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink OPTIONAL,
+ featureSetsUplinkPerCC SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC OPTIONAL,
+ ...,
+ [[
+ featureSetsDownlink-v1540 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1540 OPTIONAL,
+ featureSetsUplink-v1540 SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1540 OPTIONAL,
+ featureSetsUplinkPerCC-v1540 SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC-v1540 OPTIONAL
+ ]],
+ [[
+ featureSetsDownlink-v15a0 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v15a0 OPTIONAL
+ ]],
+ [[
+ featureSetsDownlink-v1610 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1610 OPTIONAL,
+ featureSetsUplink-v1610 SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1610 OPTIONAL,
+ featureSetDownlinkPerCC-v1620 SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC-v1620 OPTIONAL
+ ]],
+ [[
+ featureSetsUplink-v1630 SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1630 OPTIONAL
+ ]],
+ [[
+ featureSetsUplink-v1640 SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1640 OPTIONAL
+ ]],
+ [[
+ featureSetsDownlink-v1700 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1700 OPTIONAL,
+ featureSetsDownlinkPerCC-v1700 SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC-v1700 OPTIONAL,
+ featureSetsUplink-v1710 SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1710 OPTIONAL,
+ featureSetsUplinkPerCC-v1700 SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC-v1700 OPTIONAL
+ ]],
+ [[
+ featureSetsDownlink-v1720 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1720 OPTIONAL,
+ featureSetsDownlinkPerCC-v1720 SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC-v1720 OPTIONAL,
+ featureSetsUplink-v1720 SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1720 OPTIONAL
+ ]],
+ [[
+ featureSetsDownlink-v1730 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1730 OPTIONAL,
+ featureSetsDownlinkPerCC-v1730 SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC-v1730 OPTIONAL
+ ]]
+}
+
+FeatureSets-v16d0 ::= SEQUENCE {
+ featureSetsUplink-v16d0 SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v16d0 OPTIONAL
+}
+
+-- TAG-FEATURESETS-STOP
+-- TAG-FEATURESETUPLINK-START
+
+FeatureSetUplink ::= SEQUENCE {
+ featureSetListPerUplinkCC SEQUENCE (SIZE (1.. maxNrofServingCells)) OF FeatureSetUplinkPerCC-Id,
+ scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL,
+ dummy3 ENUMERATED {supported} OPTIONAL,
+ intraBandFreqSeparationUL FreqSeparationClass OPTIONAL,
+ searchSpaceSharingCA-UL ENUMERATED {supported} OPTIONAL,
+ dummy1 DummyI OPTIONAL,
+ supportedSRS-Resources SRS-Resources OPTIONAL,
+ twoPUCCH-Group ENUMERATED {supported} OPTIONAL,
+ dynamicSwitchSUL ENUMERATED {supported} OPTIONAL,
+ simultaneousTxSUL-NonSUL ENUMERATED {supported} OPTIONAL,
+ pusch-ProcessingType1-DifferentTB-PerSlot SEQUENCE {
+ scs-15kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL,
+ scs-30kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL,
+ scs-60kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL,
+ scs-120kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL
+ } OPTIONAL,
+ dummy2 DummyF OPTIONAL
+}
+
+FeatureSetUplink-v1540 ::= SEQUENCE {
+ zeroSlotOffsetAperiodicSRS ENUMERATED {supported} OPTIONAL,
+ pa-PhaseDiscontinuityImpacts ENUMERATED {supported} OPTIONAL,
+ pusch-SeparationWithGap ENUMERATED {supported} OPTIONAL,
+ pusch-ProcessingType2 SEQUENCE {
+ scs-15kHz ProcessingParameters OPTIONAL,
+ scs-30kHz ProcessingParameters OPTIONAL,
+ scs-60kHz ProcessingParameters OPTIONAL
+ } OPTIONAL,
+ ul-MCS-TableAlt-DynamicIndication ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetUplink-v1610 ::= SEQUENCE {
+ -- R1 11-5: PUsCH repetition Type B
+ pusch-RepetitionTypeB-r16 SEQUENCE {
+ maxNumberPUSCH-Tx-r16 ENUMERATED {n2, n3, n4, n7, n8, n12},
+ hoppingScheme-r16 ENUMERATED {interSlotHopping, interRepetitionHopping, both}
+ } OPTIONAL,
+ -- R1 11-7: UL cancelation scheme for self-carrier
+ ul-CancellationSelfCarrier-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-7a: UL cancelation scheme for cross-carrier
+ ul-CancellationCrossCarrier-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-5c: The maximum number of SRS resources in one SRS resource set with usage set to 'codebook' for Mode 2
+ ul-FullPwrMode2-MaxSRS-ResInSet-r16 ENUMERATED {n1, n2, n4} OPTIONAL,
+
+ -- R1 22-4a/4b/4c/4d: CBG based transmission for UL with unicast PUSCH(s) per slot per CC with UE processing time Capability 1
+ cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16 SEQUENCE {
+ scs-15kHz-r16 ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL,
+ scs-30kHz-r16 ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL,
+ scs-60kHz-r16 ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL,
+ scs-120kHz-r16 ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL
+ } OPTIONAL,
+
+ -- R1 22-3a/3b/3c/3d: CBG based transmission for UL with unicast PUSCH(s) per slot per CC with UE processing time Capability 2
+ cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16 SEQUENCE {
+ scs-15kHz-r16 ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL,
+ scs-30kHz-r16 ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL,
+ scs-60kHz-r16 ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL,
+ scs-120kHz-r16 ENUMERATED {one-pusch, upto2, upto4, upto7} OPTIONAL
+ } OPTIONAL,
+ supportedSRS-PosResources-r16 SRS-AllPosResources-r16 OPTIONAL,
+ intraFreqDAPS-UL-r16 SEQUENCE {
+ dummy ENUMERATED {supported} OPTIONAL,
+ intraFreqTwoTAGs-DAPS-r16 ENUMERATED {supported} OPTIONAL,
+ dummy1 ENUMERATED {supported} OPTIONAL,
+ dummy2 ENUMERATED {supported} OPTIONAL,
+ dummy3 ENUMERATED {short, long} OPTIONAL
+ } OPTIONAL,
+ intraBandFreqSeparationUL-v1620 FreqSeparationClassUL-v1620 OPTIONAL,
+
+ -- R1 11-3: More than one PUCCH for HARQ-ACK transmission within a slot
+ multiPUCCH-r16 SEQUENCE {
+ sub-SlotConfig-NCP-r16 ENUMERATED {set1, set2} OPTIONAL,
+ sub-SlotConfig-ECP-r16 ENUMERATED {set1, set2} OPTIONAL
+ } OPTIONAL,
+ -- R1 11-3c: 2 PUCCH of format 0 or 2 for a single 7*2-symbol subslot based HARQ-ACK codebook
+ twoPUCCH-Type1-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-3d: 2 PUCCH of format 0 or 2 for a single 2*7-symbol subslot based HARQ-ACK codebook
+ twoPUCCH-Type2-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-3e: 1 PUCCH format 0 or 2 and 1 PUCCH format 1, 3 or 4 in the same subslot for a single 2*7-symbol HARQ-ACK codebooks
+ twoPUCCH-Type3-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-3f: 2 PUCCH transmissions in the same subslot for a single 2*7-symbol HARQ-ACK codebooks which are not covered by 11-3d and
+ -- 11-3e
+ twoPUCCH-Type4-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-3g: SR/HARQ-ACK multiplexing once per subslot using a PUCCH (or HARQ-ACK piggybacked on a PUSCH) when SR/HARQ-ACK
+ -- are supposed to be sent with different starting symbols in a subslot
+ mux-SR-HARQ-ACK-r16 ENUMERATED {supported} OPTIONAL,
+ dummy1 ENUMERATED {supported} OPTIONAL,
+ dummy2 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-4c: 2 PUCCH of format 0 or 2 for two HARQ-ACK codebooks with one 7*2-symbol sub-slot based HARQ-ACK codebook
+ twoPUCCH-Type5-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-4d: 2 PUCCH of format 0 or 2 in consecutive symbols for two HARQ-ACK codebooks with one 2*7-symbol sub-slot based HARQ-ACK
+ -- codebook
+ twoPUCCH-Type6-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-4e: 2 PUCCH of format 0 or 2 for two subslot based HARQ-ACK codebooks
+ twoPUCCH-Type7-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-4f: 1 PUCCH format 0 or 2 and 1 PUCCH format 1, 3 or 4 in the same subslot for HARQ-ACK codebooks with one 2*7-symbol
+ -- subslot based HARQ-ACK codebook
+ twoPUCCH-Type8-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-4g: 1 PUCCH format 0 or 2 and 1 PUCCH format 1, 3 or 4 in the same subslot for two subslot based HARQ-ACK codebooks
+ twoPUCCH-Type9-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-4h: 2 PUCCH transmissions in the same subslot for two HARQ-ACK codebooks with one 2*7-symbol subslot which are not covered
+ -- by 11-4c and 11-4e
+ twoPUCCH-Type10-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-4i: 2 PUCCH transmissions in the same subslot for two subslot based HARQ-ACK codebooks which are not covered by 11-4d and
+ -- 11-4f
+ twoPUCCH-Type11-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 12-1: UL intra-UE multiplexing/prioritization of overlapping channel/signals with two priority levels in physical layer
+ ul-IntraUE-Mux-r16 SEQUENCE {
+ pusch-PreparationLowPriority-r16 ENUMERATED {sym0, sym1, sym2},
+ pusch-PreparationHighPriority-r16 ENUMERATED {sym0, sym1, sym2}
+ } OPTIONAL,
+ -- R1 16-5a: Supported UL full power transmission mode of fullpower
+ ul-FullPwrMode-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-5d: Processing up to X unicast DCI scheduling for UL per scheduled CC
+ crossCarrierSchedulingProcessing-DiffSCS-r16 SEQUENCE {
+ scs-15kHz-120kHz-r16 ENUMERATED {n1,n2,n4} OPTIONAL,
+ scs-15kHz-60kHz-r16 ENUMERATED {n1,n2,n4} OPTIONAL,
+ scs-30kHz-120kHz-r16 ENUMERATED {n1,n2,n4} OPTIONAL,
+ scs-15kHz-30kHz-r16 ENUMERATED {n2} OPTIONAL,
+ scs-30kHz-60kHz-r16 ENUMERATED {n2} OPTIONAL,
+ scs-60kHz-120kHz-r16 ENUMERATED {n2} OPTIONAL
+ } OPTIONAL,
+ -- R1 16-5b: Supported UL full power transmission mode of fullpowerMode1
+ ul-FullPwrMode1-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-5c-2: Ports configuration for Mode 2
+ ul-FullPwrMode2-SRSConfig-diffNumSRSPorts-r16 ENUMERATED {p1-2, p1-4, p1-2-4} OPTIONAL,
+ -- R1 16-5c-3: TPMI group for Mode 2
+ ul-FullPwrMode2-TPMIGroup-r16 SEQUENCE {
+ twoPorts-r16 BIT STRING(SIZE(2)) OPTIONAL,
+ fourPortsNonCoherent-r16 ENUMERATED{g0, g1, g2, g3} OPTIONAL,
+ fourPortsPartialCoherent-r16 ENUMERATED{g0, g1, g2, g3, g4, g5, g6} OPTIONAL
+ } OPTIONAL
+}
+
+FeatureSetUplink-v1630 ::= SEQUENCE {
+ -- R1 22-8: For SRS for CB PUSCH and antenna switching on FR1 with symbol level offset for aperiodic SRS transmission
+ offsetSRS-CB-PUSCH-Ant-Switch-fr1-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 22-8a: PDCCH monitoring on any span of up to 3 consecutive OFDM symbols of a slot and constrained timeline for SRS for CB
+ -- PUSCH and antenna switching on FR1
+ offsetSRS-CB-PUSCH-PDCCH-MonitorSingleOcc-fr1-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 22-8b: For type 1 CSS with dedicated RRC configuration, type 3 CSS, and UE-SS, monitoring occasion can be any OFDM symbol(s)
+ -- of a slot for Case 2 and constrained timeline for SRS for CB PUSCH and antenna switching on FR1
+ offsetSRS-CB-PUSCH-PDCCH-MonitorAnyOccWithoutGap-fr1-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 22-8c: For type 1 CSS with dedicated RRC configuration, type 3 CSS, and UE-SS, monitoring occasion can be any OFDM symbol(s)
+ -- of a slot for Case 2 with a DCI gap and constrained timeline for SRS for CB PUSCH and antenna switching on FR1
+ offsetSRS-CB-PUSCH-PDCCH-MonitorAnyOccWithGap-fr1-r16 ENUMERATED {supported} OPTIONAL,
+ dummy ENUMERATED {supported} OPTIONAL,
+ -- R1 22-9: Cancellation of PUCCH, PUSCH or PRACH with a DCI scheduling a PDSCH or CSI-RS or a DCI format 2_0 for SFI
+ partialCancellationPUCCH-PUSCH-PRACH-TX-r16 ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetUplink-v1640 ::= SEQUENCE {
+ -- R1 11-4: Two HARQ-ACK codebooks with up to one sub-slot based HARQ-ACK codebook (i.e. slot-based + slot-based, or slot-based +
+ -- sub-slot based) simultaneously constructed for supporting HARQ-ACK codebooks with different priorities at a UE
+ twoHARQ-ACK-Codebook-type1-r16 SubSlot-Config-r16 OPTIONAL,
+ -- R1 11-4a: Two sub-slot based HARQ-ACK codebooks simultaneously constructed for supporting HARQ-ACK codebooks with different
+ -- priorities at a UE
+ twoHARQ-ACK-Codebook-type2-r16 SubSlot-Config-r16 OPTIONAL,
+ -- R1 22-8d: All PDCCH monitoring occasion can be any OFDM symbol(s) of a slot for Case 2 with a span gap and constrained timeline
+ -- for SRS for CB PUSCH and antenna switching on FR1
+ offsetSRS-CB-PUSCH-PDCCH-MonitorAnyOccWithSpanGap-fr1-r16 SEQUENCE {
+ scs-15kHz-r16 ENUMERATED {set1, set2, set3} OPTIONAL,
+ scs-30kHz-r16 ENUMERATED {set1, set2, set3} OPTIONAL,
+ scs-60kHz-r16 ENUMERATED {set1, set2, set3} OPTIONAL
+ } OPTIONAL
+}
+
+FeatureSetUplink-v16d0 ::= SEQUENCE {
+ pusch-RepetitionTypeB-v16d0 SEQUENCE {
+ maxNumberPUSCH-Tx-Cap1-r16 ENUMERATED {n2, n3, n4, n7, n8, n12},
+ maxNumberPUSCH-Tx-Cap2-r16 ENUMERATED {n2, n3, n4, n7, n8, n12}
+ } OPTIONAL
+}
+
+FeatureSetUplink-v1710 ::= SEQUENCE {
+ -- R1 23-3-1 Multi-TRP PUSCH repetition (type A) -codebook based
+ mTRP-PUSCH-TypeA-CB-r17 ENUMERATED {n1,n2,n4} OPTIONAL,
+ -- R1 23-3-1-2 Multi-TRP PUSCH repetition (type A) - non-codebook based
+ mTRP-PUSCH-RepetitionTypeA-r17 ENUMERATED {n1,n2,n3,n4} OPTIONAL,
+ -- R1 23-3-3 Multi-TRP PUCCH repetition-intra-slot
+ mTRP-PUCCH-IntraSlot-r17 ENUMERATED {pf0-2, pf1-3-4, pf0-4} OPTIONAL,
+ -- R1 23-8-4 Maximum 2 SP and 1 periodic SRS sets for antenna switching
+ srs-AntennaSwitching2SP-1Periodic-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-8-9 Extension of aperiodic SRS configuration for 1T4R, 1T2R and 2T4R
+ srs-ExtensionAperiodicSRS-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-8-10 1 aperiodic SRS resource set for 1T4R
+ srs-OneAP-SRS-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 16-8 UE power class per band per band combination
+ ue-PowerClassPerBandPerBC-r17 ENUMERATED {pc1dot5, pc2, pc3} OPTIONAL,
+ -- R4 17-8 UL transmission in FR2 bands within an UL gap when the UL gap is activated
+ tx-Support-UL-GapFR2-r17 ENUMERATED {supported} OPTIONAL
+}
+
+FeatureSetUplink-v1720 ::= SEQUENCE {
+ -- R1 25-3: Repetitions for PUCCH format 0, 1, 2, 3 and 4 over multiple PUCCH subslots with configured K = 2, 4, 8
+ pucch-Repetition-F0-1-2-3-4-RRC-Config-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-3a: Repetitions for PUCCH format 0, 1, 2, 3 and 4 over multiple PUCCH subslots using dynamic repetition indication
+ pucch-Repetition-F0-1-2-3-4-DynamicIndication-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-3b: Inter-subslot frequency hopping for PUCCH repetitions
+ interSubslotFreqHopping-PUCCH-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-8: Semi-static HARQ-ACK codebook for sub-slot PUCCH
+ semiStaticHARQ-ACK-CodebookSub-SlotPUCCH-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-14: PHY prioritization of overlapping low-priority DG-PUSCH and high-priority CG-PUSCH
+ phy-PrioritizationLowPriorityDG-HighPriorityCG-r17 INTEGER(1..16) OPTIONAL,
+ -- R1 25-15: PHY prioritization of overlapping high-priority DG-PUSCH and low-priority CG-PUSCH
+ phy-PrioritizationHighPriorityDG-LowPriorityCG-r17 SEQUENCE {
+ pusch-PreparationLowPriority-r17 ENUMERATED{sym0, sym1, sym2},
+ additionalCancellationTime-r17 SEQUENCE {
+ scs-15kHz-r17 ENUMERATED{sym0, sym1, sym2} OPTIONAL,
+ scs-30kHz-r17 ENUMERATED{sym0, sym1, sym2, sym3, sym4} OPTIONAL,
+ scs-60kHz-r17 ENUMERATED{sym0, sym1, sym2, sym3, sym4, sym5, sym6, sym7, sym8} OPTIONAL,
+ scs-120kHz-r17 ENUMERATED{sym0, sym1, sym2, sym3, sym4, sym5, sym6, sym7, sym8, sym9,
+ sym10, sym11, sym12, sym13, sym14, sym15, sym16} OPTIONAL
+ },
+ maxNumberCarriers-r17 INTEGER(1..16)
+ } OPTIONAL,
+ -- R4 17-5 Support of UL DC location(s) report
+ extendedDC-LocationReport-r17 ENUMERATED {supported} OPTIONAL
+}
+
+SubSlot-Config-r16 ::= SEQUENCE {
+ sub-SlotConfig-NCP-r16 ENUMERATED {n4,n5,n6,n7} OPTIONAL,
+ sub-SlotConfig-ECP-r16 ENUMERATED {n4,n5,n6} OPTIONAL
+}
+
+SRS-AllPosResources-r16 ::= SEQUENCE {
+ srs-PosResources-r16 SRS-PosResources-r16,
+ srs-PosResourceAP-r16 SRS-PosResourceAP-r16 OPTIONAL,
+ srs-PosResourceSP-r16 SRS-PosResourceSP-r16 OPTIONAL
+}
+
+SRS-PosResources-r16 ::= SEQUENCE {
+ maxNumberSRS-PosResourceSetPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n12, n16},
+ maxNumberSRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumberSRS-ResourcesPerBWP-PerSlot-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14},
+ maxNumberPeriodicSRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumberPeriodicSRS-PosResourcesPerBWP-PerSlot-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
+}
+
+SRS-PosResourceAP-r16 ::= SEQUENCE {
+ maxNumberAP-SRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumberAP-SRS-PosResourcesPerBWP-PerSlot-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
+}
+
+SRS-PosResourceSP-r16 ::= SEQUENCE {
+ maxNumberSP-SRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumberSP-SRS-PosResourcesPerBWP-PerSlot-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
+}
+
+SRS-Resources ::= SEQUENCE {
+ maxNumberAperiodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16},
+ maxNumberAperiodicSRS-PerBWP-PerSlot INTEGER (1..6),
+ maxNumberPeriodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16},
+ maxNumberPeriodicSRS-PerBWP-PerSlot INTEGER (1..6),
+ maxNumberSemiPersistentSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16},
+ maxNumberSemiPersistentSRS-PerBWP-PerSlot INTEGER (1..6),
+ maxNumberSRS-Ports-PerResource ENUMERATED {n1, n2, n4}
+}
+
+DummyF ::= SEQUENCE {
+ maxNumberPeriodicCSI-ReportPerBWP INTEGER (1..4),
+ maxNumberAperiodicCSI-ReportPerBWP INTEGER (1..4),
+ maxNumberSemiPersistentCSI-ReportPerBWP INTEGER (0..4),
+ simultaneousCSI-ReportsAllCC INTEGER (5..32)
+}
+
+-- TAG-FEATURESETUPLINK-STOP
+-- TAG-FEATURESETUPLINKID-START
+
+FeatureSetUplinkId ::= INTEGER (0..maxUplinkFeatureSets)
+
+-- TAG-FEATURESETUPLINKID-STOP
+-- TAG-FEATURESETUPLINKPERCC-START
+
+FeatureSetUplinkPerCC ::= SEQUENCE {
+ supportedSubcarrierSpacingUL SubcarrierSpacing,
+ supportedBandwidthUL SupportedBandwidth,
+ channelBW-90mhz ENUMERATED {supported} OPTIONAL,
+ mimo-CB-PUSCH SEQUENCE {
+ maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL,
+ maxNumberSRS-ResourcePerSet INTEGER (1..2)
+ } OPTIONAL,
+ maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL,
+ supportedModulationOrderUL ModulationOrder OPTIONAL
+}
+FeatureSetUplinkPerCC-v1540 ::= SEQUENCE {
+ mimo-NonCB-PUSCH SEQUENCE {
+ maxNumberSRS-ResourcePerSet INTEGER (1..4),
+ maxNumberSimultaneousSRS-ResourceTx INTEGER (1..4)
+ } OPTIONAL
+}
+
+FeatureSetUplinkPerCC-v1700 ::= SEQUENCE {
+ supportedMinBandwidthUL-r17 SupportedBandwidth-v1700 OPTIONAL,
+ -- R1 23-3-1-3 FeMIMO: Multi-TRP PUSCH repetition (type B) - non-codebook based
+ mTRP-PUSCH-RepetitionTypeB-r17 ENUMERATED {n1,n2,n3,n4} OPTIONAL,
+ -- R1 23-3-1-1 -codebook based Multi-TRP PUSCH repetition (type B)
+ mTRP-PUSCH-TypeB-CB-r17 ENUMERATED {n1,n2,n4} OPTIONAL,
+ supportedBandwidthUL-v1710 SupportedBandwidth-v1700 OPTIONAL
+}
+
+-- TAG-FEATURESETUPLINKPERCC-STOP
+-- TAG-FEATURESETUPLINKPERCC-ID-START
+
+FeatureSetUplinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets)
+
+-- TAG-FEATURESETUPLINKPERCC-ID-STOP
+-- TAG-FREQBANDINDICATOREUTRA-START
+
+FreqBandIndicatorEUTRA ::= INTEGER (1..maxBandsEUTRA)
+
+-- TAG-FREQBANDINDICATOREUTRA-STOP
+-- TAG-FREQBANDLIST-START
+
+FreqBandList ::= SEQUENCE (SIZE (1..maxBandsMRDC)) OF FreqBandInformation
+
+FreqBandInformation ::= CHOICE {
+ bandInformationEUTRA FreqBandInformationEUTRA,
+ bandInformationNR FreqBandInformationNR
+}
+
+FreqBandInformationEUTRA ::= SEQUENCE {
+ bandEUTRA FreqBandIndicatorEUTRA,
+ ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, -- Need N
+ ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL -- Need N
+}
+
+FreqBandInformationNR ::= SEQUENCE {
+ bandNR FreqBandIndicatorNR,
+ maxBandwidthRequestedDL AggregatedBandwidth OPTIONAL, -- Need N
+ maxBandwidthRequestedUL AggregatedBandwidth OPTIONAL, -- Need N
+ maxCarriersRequestedDL INTEGER (1..maxNrofServingCells) OPTIONAL, -- Need N
+ maxCarriersRequestedUL INTEGER (1..maxNrofServingCells) OPTIONAL -- Need N
+}
+
+AggregatedBandwidth ::= ENUMERATED {mhz50, mhz100, mhz150, mhz200, mhz250, mhz300, mhz350,
+ mhz400, mhz450, mhz500, mhz550, mhz600, mhz650, mhz700, mhz750, mhz800}
+
+-- TAG-FREQBANDLIST-STOP
+-- TAG-FREQSEPARATIONCLASS-START
+
+FreqSeparationClass ::= ENUMERATED { mhz800, mhz1200, mhz1400, ..., mhz400-v1650, mhz600-v1650}
+
+FreqSeparationClassDL-v1620 ::= ENUMERATED {mhz1000, mhz1600, mhz1800, mhz2000, mhz2200, mhz2400}
+
+FreqSeparationClassUL-v1620 ::= ENUMERATED {mhz1000}
+
+-- TAG-FREQSEPARATIONCLASS-STOP
+-- TAG-FREQSEPARATIONCLASSDL-Only-START
+
+FreqSeparationClassDL-Only-r16 ::= ENUMERATED {mhz200, mhz400, mhz600, mhz800, mhz1000, mhz1200}
+
+-- TAG-FREQSEPARATIONCLASSDL-Only-STOP
+-- TAG-FR2-2-ACCESSPARAMSPERBAND-START
+
+FR2-2-AccessParamsPerBand-r17 ::= SEQUENCE {
+ -- R1 24-1: Basic FR2-2 DL support
+ dl-FR2-2-SCS-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-1a: Basic FR2-2 UL support
+ ul-FR2-2-SCS-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-2: 120KHz SSB support for initial access in FR2-2
+ initialAccessSSB-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-1b: Wideband PRACH for 120 kHz in FR2-2
+ widebandPRACH-SCS-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-1c: Multi-RB support PUCCH format 0/1/4 for 120 kHz in FR2-2
+ multiRB-PUCCH-SCS-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-1d: Multiple PDSCH scheduling by single DCI for 120kHz in FR2-2
+ multiPDSCH-SingleDCI-FR2-2-SCS-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-1e: Multiple PUSCH scheduling by single DCI for 120kHz in FR2-2
+ multiPUSCH-SingleDCI-FR2-2-SCS-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-4: 480KHz SCS support for DL
+ dl-FR2-2-SCS-480kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-4a: 480KHz SCS support for UL
+ ul-FR2-2-SCS-480kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-3: 480KHz SSB support for initial access in FR2-2
+ initialAccessSSB-480kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-4b: Wideband PRACH for 480 kHz in FR2-2
+ widebandPRACH-SCS-480kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-4c: Multi-RB support PUCCH format 0/1/4 for 480 kHz in FR2-2
+ multiRB-PUCCH-SCS-480kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-4f: Enhanced PDCCH monitoring for 480KHz in FR2-2
+ enhancedPDCCH-monitoringSCS-480kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-5: 960KHz SCS support for DL
+ dl-FR2-2-SCS-960kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-5a: 960KHz SCS support for UL
+ ul-FR2-2-SCS-960kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-5c: Multi-RB support PUCCH format 0/1/4 for 960 kHz in FR2-2
+ multiRB-PUCCH-SCS-960kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-5f: Enhanced PDCCH monitoring for 960KHz in FR2-2
+ enhancedPDCCH-monitoringSCS-960kHz-r17 SEQUENCE {
+ pdcch-monitoring4-1-r17 ENUMERATED {supported} OPTIONAL,
+ pdcch-monitoring4-2-r17 ENUMERATED {supported} OPTIONAL,
+ pdcch-monitoring8-4-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ -- R1 24-6: Type 1 channel access procedure in uplink for FR2-2 with shared spectrum channel access
+ type1-ChannelAccess-FR2-2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-7: Type 2 channel access procedure in uplink for FR2-2 with shared spectrum channel access
+ type2-ChannelAccess-FR2-2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-10: Reduced beam switching time delay
+ reduced-BeamSwitchTiming-FR2-2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-8: 32 DL HARQ processes for FR 2-2
+ support32-DL-HARQ-ProcessPerSCS-r17 SEQUENCE {
+ scs-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ scs-480kHz-r17 ENUMERATED {supported} OPTIONAL,
+ scs-960kHz-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ -- R1 24-9: 32 UL HARQ processes for FR 2-2
+ support32-UL-HARQ-ProcessPerSCS-r17 SEQUENCE {
+ scs-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ scs-480kHz-r17 ENUMERATED {supported} OPTIONAL,
+ scs-960kHz-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ ...,
+ [[
+ -- R4 15-1: 64QAM for PUSCH for FR2-2
+ modulation64-QAM-PUSCH-FR2-2-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+-- TAG-FR2-2-ACCESSPARAMSPERBAND-STOP
+-- TAG-HIGHSPEEDPARAMETERS-START
+
+HighSpeedParameters-r16 ::= SEQUENCE {
+ measurementEnhancement-r16 ENUMERATED {supported} OPTIONAL,
+ demodulationEnhancement-r16 ENUMERATED {supported} OPTIONAL
+}
+
+HighSpeedParameters-v1650 ::= CHOICE {
+ intraNR-MeasurementEnhancement-r16 ENUMERATED {supported},
+ interRAT-MeasurementEnhancement-r16 ENUMERATED {supported}
+}
+
+HighSpeedParameters-v1700 ::= SEQUENCE {
+ -- R4 18-1: Enhanced RRM requirements specified for CA for FR1 HST
+ measurementEnhancementCA-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 18-2: Enhanced RRM requirements specified for inter-frequency measurement in connected mode for FR1 HST
+ measurementEnhancementInterFreq-r17 ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-HIGHSPEEDPARAMETERS-STOP
+-- TAG-IMS-PARAMETERS-START
+
+IMS-Parameters ::= SEQUENCE {
+ ims-ParametersCommon IMS-ParametersCommon OPTIONAL,
+ ims-ParametersFRX-Diff IMS-ParametersFRX-Diff OPTIONAL,
+ ...
+}
+
+IMS-Parameters-v1700 ::= SEQUENCE {
+ ims-ParametersFR2-2-r17 IMS-ParametersFR2-2-r17 OPTIONAL
+}
+
+IMS-ParametersCommon ::= SEQUENCE {
+ voiceOverEUTRA-5GC ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ voiceOverSCG-BearerEUTRA-5GC ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ voiceFallbackIndicationEPS-r16 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+IMS-ParametersFRX-Diff ::= SEQUENCE {
+ voiceOverNR ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+IMS-ParametersFR2-2-r17 ::= SEQUENCE {
+ voiceOverNR-r17 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-IMS-PARAMETERS-STOP
+-- TAG-INTERRAT-PARAMETERS-START
+
+InterRAT-Parameters ::= SEQUENCE {
+ eutra EUTRA-Parameters OPTIONAL,
+ ...,
+ [[
+ utra-FDD-r16 UTRA-FDD-Parameters-r16 OPTIONAL
+ ]]
+
+}
+
+EUTRA-Parameters ::= SEQUENCE {
+ supportedBandListEUTRA SEQUENCE (SIZE (1..maxBandsEUTRA)) OF FreqBandIndicatorEUTRA,
+ eutra-ParametersCommon EUTRA-ParametersCommon OPTIONAL,
+ eutra-ParametersXDD-Diff EUTRA-ParametersXDD-Diff OPTIONAL,
+ ...
+}
+
+EUTRA-ParametersCommon ::= SEQUENCE {
+ mfbi-EUTRA ENUMERATED {supported} OPTIONAL,
+ modifiedMPR-BehaviorEUTRA BIT STRING (SIZE (32)) OPTIONAL,
+ multiNS-Pmax-EUTRA ENUMERATED {supported} OPTIONAL,
+ rs-SINR-MeasEUTRA ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ ne-DC ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ nr-HO-ToEN-DC-r16 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+EUTRA-ParametersXDD-Diff ::= SEQUENCE {
+ rsrqMeasWidebandEUTRA ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+UTRA-FDD-Parameters-r16 ::= SEQUENCE {
+ supportedBandListUTRA-FDD-r16 SEQUENCE (SIZE (1..maxBandsUTRA-FDD-r16)) OF SupportedBandUTRA-FDD-r16,
+ ...
+}
+
+SupportedBandUTRA-FDD-r16 ::= ENUMERATED {
+ bandI, bandII, bandIII, bandIV, bandV, bandVI,
+ bandVII, bandVIII, bandIX, bandX, bandXI,
+ bandXII, bandXIII, bandXIV, bandXV, bandXVI,
+ bandXVII, bandXVIII, bandXIX, bandXX,
+ bandXXI, bandXXII, bandXXIII, bandXXIV,
+ bandXXV, bandXXVI, bandXXVII, bandXXVIII,
+ bandXXIX, bandXXX, bandXXXI, bandXXXII}
+
+-- TAG-INTERRAT-PARAMETERS-STOP
+-- TAG-MAC-PARAMETERS-START
+
+MAC-Parameters ::= SEQUENCE {
+ mac-ParametersCommon MAC-ParametersCommon OPTIONAL,
+ mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL
+}
+
+MAC-Parameters-v1610 ::= SEQUENCE {
+ mac-ParametersFRX-Diff-r16 MAC-ParametersFRX-Diff-r16 OPTIONAL
+}
+
+MAC-Parameters-v1700 ::= SEQUENCE {
+ mac-ParametersFR2-2-r17 MAC-ParametersFR2-2-r17 OPTIONAL
+}
+
+MAC-ParametersCommon ::= SEQUENCE {
+ lcp-Restriction ENUMERATED {supported} OPTIONAL,
+ dummy ENUMERATED {supported} OPTIONAL,
+ lch-ToSCellRestriction ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ recommendedBitRate ENUMERATED {supported} OPTIONAL,
+ recommendedBitRateQuery ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ recommendedBitRateMultiplier-r16 ENUMERATED {supported} OPTIONAL,
+ preEmptiveBSR-r16 ENUMERATED {supported} OPTIONAL,
+ autonomousTransmission-r16 ENUMERATED {supported} OPTIONAL,
+ lch-PriorityBasedPrioritization-r16 ENUMERATED {supported} OPTIONAL,
+ lch-ToConfiguredGrantMapping-r16 ENUMERATED {supported} OPTIONAL,
+ lch-ToGrantPriorityRestriction-r16 ENUMERATED {supported} OPTIONAL,
+ singlePHR-P-r16 ENUMERATED {supported} OPTIONAL,
+ ul-LBT-FailureDetectionRecovery-r16 ENUMERATED {supported} OPTIONAL,
+ -- R4 8-1: MPE
+ tdd-MPE-P-MPR-Reporting-r16 ENUMERATED {supported} OPTIONAL,
+ lcid-ExtensionIAB-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ spCell-BFR-CBRA-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ srs-ResourceId-Ext-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ enhancedUuDRX-forSidelink-r17 ENUMERATED {supported} OPTIONAL,
+ --27-10: Support of UL MAC CE based MG activation request for PRS measurements
+ mg-ActivationRequestPRS-Meas-r17 ENUMERATED {supported} OPTIONAL,
+ --27-11: Support of DL MAC CE based MG activation request for PRS measurements
+ mg-ActivationCommPRS-Meas-r17 ENUMERATED {supported} OPTIONAL,
+ intraCG-Prioritization-r17 ENUMERATED {supported} OPTIONAL,
+ jointPrioritizationCG-Retx-Timer-r17 ENUMERATED {supported} OPTIONAL,
+ survivalTime-r17 ENUMERATED {supported} OPTIONAL,
+ lcg-ExtensionIAB-r17 ENUMERATED {supported} OPTIONAL,
+ harq-FeedbackDisabled-r17 ENUMERATED {supported} OPTIONAL,
+ uplink-Harq-ModeB-r17 ENUMERATED {supported} OPTIONAL,
+ sr-TriggeredBy-TA-Report-r17 ENUMERATED {supported} OPTIONAL,
+ extendedDRX-CycleInactive-r17 ENUMERATED {supported} OPTIONAL,
+ simultaneousSR-PUSCH-DiffPUCCH-groups-r17 ENUMERATED {supported} OPTIONAL,
+ lastTransmissionUL-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+MAC-ParametersFRX-Diff-r16 ::= SEQUENCE {
+ directMCG-SCellActivation-r16 ENUMERATED {supported} OPTIONAL,
+ directMCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL,
+ directSCG-SCellActivation-r16 ENUMERATED {supported} OPTIONAL,
+ directSCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 19-1: DRX Adaptation
+ drx-Adaptation-r16 SEQUENCE {
+ non-SharedSpectrumChAccess-r16 MinTimeGap-r16 OPTIONAL,
+ sharedSpectrumChAccess-r16 MinTimeGap-r16 OPTIONAL
+ } OPTIONAL,
+ ...
+}
+
+MAC-ParametersFR2-2-r17 ::= SEQUENCE {
+ directMCG-SCellActivation-r17 ENUMERATED {supported} OPTIONAL,
+ directMCG-SCellActivationResume-r17 ENUMERATED {supported} OPTIONAL,
+ directSCG-SCellActivation-r17 ENUMERATED {supported} OPTIONAL,
+ directSCG-SCellActivationResume-r17 ENUMERATED {supported} OPTIONAL,
+ drx-Adaptation-r17 SEQUENCE {
+ non-SharedSpectrumChAccess-r17 MinTimeGapFR2-2-r17 OPTIONAL,
+ sharedSpectrumChAccess-r17 MinTimeGapFR2-2-r17 OPTIONAL
+ } OPTIONAL,
+ ...
+}
+
+MAC-ParametersXDD-Diff ::= SEQUENCE {
+ skipUplinkTxDynamic ENUMERATED {supported} OPTIONAL,
+ logicalChannelSR-DelayTimer ENUMERATED {supported} OPTIONAL,
+ longDRX-Cycle ENUMERATED {supported} OPTIONAL,
+ shortDRX-Cycle ENUMERATED {supported} OPTIONAL,
+ multipleSR-Configurations ENUMERATED {supported} OPTIONAL,
+ multipleConfiguredGrants ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ secondaryDRX-Group-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ enhancedSkipUplinkTxDynamic-r16 ENUMERATED {supported} OPTIONAL,
+ enhancedSkipUplinkTxConfigured-r16 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+MinTimeGap-r16 ::= SEQUENCE {
+ scs-15kHz-r16 ENUMERATED {sl1, sl3} OPTIONAL,
+ scs-30kHz-r16 ENUMERATED {sl1, sl6} OPTIONAL,
+ scs-60kHz-r16 ENUMERATED {sl1, sl12} OPTIONAL,
+ scs-120kHz-r16 ENUMERATED {sl2, sl24} OPTIONAL
+}
+
+MinTimeGapFR2-2-r17 ::= SEQUENCE {
+ scs-120kHz-r17 ENUMERATED {sl2, sl24} OPTIONAL,
+ scs-480kHz-r17 ENUMERATED {sl8, sl96} OPTIONAL,
+ scs-960kHz-r17 ENUMERATED {sl16, sl192} OPTIONAL
+}
+
+-- TAG-MAC-PARAMETERS-STOP
+-- TAG-MEASANDMOBPARAMETERS-START
+
+MeasAndMobParameters ::= SEQUENCE {
+ measAndMobParametersCommon MeasAndMobParametersCommon OPTIONAL,
+ measAndMobParametersXDD-Diff MeasAndMobParametersXDD-Diff OPTIONAL,
+ measAndMobParametersFRX-Diff MeasAndMobParametersFRX-Diff OPTIONAL
+}
+
+MeasAndMobParameters-v1700 ::= SEQUENCE {
+ measAndMobParametersFR2-2-r17 MeasAndMobParametersFR2-2-r17 OPTIONAL
+}
+
+MeasAndMobParametersCommon ::= SEQUENCE {
+ supportedGapPattern BIT STRING (SIZE (22)) OPTIONAL,
+ ssb-RLM ENUMERATED {supported} OPTIONAL,
+ ssb-AndCSI-RS-RLM ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ eventB-MeasAndReport ENUMERATED {supported} OPTIONAL,
+ handoverFDD-TDD ENUMERATED {supported} OPTIONAL,
+ eutra-CGI-Reporting ENUMERATED {supported} OPTIONAL,
+ nr-CGI-Reporting ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ independentGapConfig ENUMERATED {supported} OPTIONAL,
+ periodicEUTRA-MeasAndReport ENUMERATED {supported} OPTIONAL,
+ handoverFR1-FR2 ENUMERATED {supported} OPTIONAL,
+ maxNumberCSI-RS-RRM-RS-SINR ENUMERATED {n4, n8, n16, n32, n64, n96} OPTIONAL
+ ]],
+ [[
+ nr-CGI-Reporting-ENDC ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ eutra-CGI-Reporting-NEDC ENUMERATED {supported} OPTIONAL,
+ eutra-CGI-Reporting-NRDC ENUMERATED {supported} OPTIONAL,
+ nr-CGI-Reporting-NEDC ENUMERATED {supported} OPTIONAL,
+ nr-CGI-Reporting-NRDC ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ reportAddNeighMeasForPeriodic-r16 ENUMERATED {supported} OPTIONAL,
+ condHandoverParametersCommon-r16 SEQUENCE {
+ condHandoverFDD-TDD-r16 ENUMERATED {supported} OPTIONAL,
+ condHandoverFR1-FR2-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ nr-NeedForGap-Reporting-r16 ENUMERATED {supported} OPTIONAL,
+ supportedGapPattern-NRonly-r16 BIT STRING (SIZE (10)) OPTIONAL,
+ supportedGapPattern-NRonly-NEDC-r16 ENUMERATED {supported} OPTIONAL,
+ maxNumberCLI-RSSI-r16 ENUMERATED {n8, n16, n32, n64} OPTIONAL,
+ maxNumberCLI-SRS-RSRP-r16 ENUMERATED {n4, n8, n16, n32} OPTIONAL,
+ maxNumberPerSlotCLI-SRS-RSRP-r16 ENUMERATED {n2, n4, n8} OPTIONAL,
+ mfbi-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ dummy ENUMERATED {supported} OPTIONAL,
+ nr-CGI-Reporting-NPN-r16 ENUMERATED {supported} OPTIONAL,
+ idleInactiveEUTRA-MeasReport-r16 ENUMERATED {supported} OPTIONAL,
+ idleInactive-ValidityArea-r16 ENUMERATED {supported} OPTIONAL,
+ eutra-AutonomousGaps-r16 ENUMERATED {supported} OPTIONAL,
+ eutra-AutonomousGaps-NEDC-r16 ENUMERATED {supported} OPTIONAL,
+ eutra-AutonomousGaps-NRDC-r16 ENUMERATED {supported} OPTIONAL,
+ pcellT312-r16 ENUMERATED {supported} OPTIONAL,
+ supportedGapPattern-r16 BIT STRING (SIZE (2)) OPTIONAL
+ ]],
+ [[
+ -- R4 19-2 Concurrent measurement gaps
+ concurrentMeasGap-r17 CHOICE {
+ concurrentPerUE-OnlyMeasGap-r17 ENUMERATED {supported},
+ concurrentPerUE-PerFRCombMeasGap-r17 ENUMERATED {supported}
+ } OPTIONAL,
+ -- R4 19-1 Network controlled small gap (NCSG)
+ nr-NeedForGapNCSG-Reporting-r17 ENUMERATED {supported} OPTIONAL,
+ eutra-NeedForGapNCSG-Reporting-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 19-1-1 per FR Network controlled small gap (NCSG)
+ ncsg-MeasGapPerFR-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 19-1-2 Network controlled small gap (NCSG) supported patterns
+ ncsg-MeasGapPatterns-r17 BIT STRING (SIZE(24)) OPTIONAL,
+ -- R4 19-1-3 Network controlled small gap (NCSG) supported NR-only patterns
+ ncsg-MeasGapNR-Patterns-r17 BIT STRING (SIZE(24)) OPTIONAL,
+ -- R4 19-3-2 pre-configured measurement gap
+ preconfiguredUE-AutonomousMeasGap-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 19-3-1 pre-configured measurement gap
+ preconfiguredNW-ControlledMeasGap-r17 ENUMERATED {supported} OPTIONAL,
+ handoverFR1-FR2-2-r17 ENUMERATED {supported} OPTIONAL,
+ handoverFR2-1-FR2-2-r17 ENUMERATED {supported} OPTIONAL,
+ -- RAN4 14-1: per-FR MG for PRS measurement
+ independentGapConfigPRS-r17 ENUMERATED {supported} OPTIONAL,
+ rrm-RelaxationRRC-ConnectedRedCap-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 25-3: Parallel measurements with multiple measurement gaps
+ parallelMeasurementGap-r17 ENUMERATED {n2} OPTIONAL,
+ condHandoverWithSCG-NRDC-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-ID-LengthReporting-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-ID-LengthReporting-ENDC-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-ID-LengthReporting-NEDC-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-ID-LengthReporting-NRDC-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-ID-LengthReporting-NPN-r17 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R4 25-1: Parallel measurements on multiple SMTC-s for a single frequency carrier
+ parallelSMTC-r17 ENUMERATED {n4} OPTIONAL,
+ -- R4 19-2-1 Concurrent measurement gaps for EUTRA
+ concurrentMeasGapEUTRA-r17 ENUMERATED {supported} OPTIONAL,
+ serviceLinkPropDelayDiffReporting-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 19-1-4 Network controlled small gap (NCSG) performing measurement based on flag deriveSSB-IndexFromCellInter
+ ncsg-SymbolLevelScheduleRestrictionInter-r17 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ eventD1-MeasReportTrigger-r17 ENUMERATED {supported} OPTIONAL,
+ independentGapConfig-maxCC-r17 SEQUENCE {
+ fr1-Only-r17 INTEGER (1..32) OPTIONAL,
+ fr2-Only-r17 INTEGER (1..32) OPTIONAL,
+ fr1-AndFR2-r17 INTEGER (1..32) OPTIONAL
+ } OPTIONAL
+ ]],
+ [[
+ interSatMeas-r17 ENUMERATED {supported} OPTIONAL,
+ deriveSSB-IndexFromCellInterNon-NCSG-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+MeasAndMobParametersXDD-Diff ::= SEQUENCE {
+ intraAndInterF-MeasAndReport ENUMERATED {supported} OPTIONAL,
+ eventA-MeasAndReport ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ handoverInterF ENUMERATED {supported} OPTIONAL,
+ handoverLTE-EPC ENUMERATED {supported} OPTIONAL,
+ handoverLTE-5GC ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ sftd-MeasNR-Neigh ENUMERATED {supported} OPTIONAL,
+ sftd-MeasNR-Neigh-DRX ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ dummy ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+MeasAndMobParametersFRX-Diff ::= SEQUENCE {
+ ss-SINR-Meas ENUMERATED {supported} OPTIONAL,
+ csi-RSRP-AndRSRQ-MeasWithSSB ENUMERATED {supported} OPTIONAL,
+ csi-RSRP-AndRSRQ-MeasWithoutSSB ENUMERATED {supported} OPTIONAL,
+ csi-SINR-Meas ENUMERATED {supported} OPTIONAL,
+ csi-RS-RLM ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ handoverInterF ENUMERATED {supported} OPTIONAL,
+ handoverLTE-EPC ENUMERATED {supported} OPTIONAL,
+ handoverLTE-5GC ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ maxNumberResource-CSI-RS-RLM ENUMERATED {n2, n4, n6, n8} OPTIONAL
+ ]],
+ [[
+ simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ nr-AutonomousGaps-r16 ENUMERATED {supported} OPTIONAL,
+ nr-AutonomousGaps-ENDC-r16 ENUMERATED {supported} OPTIONAL,
+ nr-AutonomousGaps-NEDC-r16 ENUMERATED {supported} OPTIONAL,
+ nr-AutonomousGaps-NRDC-r16 ENUMERATED {supported} OPTIONAL,
+ dummy ENUMERATED {supported} OPTIONAL,
+ cli-RSSI-Meas-r16 ENUMERATED {supported} OPTIONAL,
+ cli-SRS-RSRP-Meas-r16 ENUMERATED {supported} OPTIONAL,
+ interFrequencyMeas-NoGap-r16 ENUMERATED {supported} OPTIONAL,
+ simultaneousRxDataSSB-DiffNumerology-Inter-r16 ENUMERATED {supported} OPTIONAL,
+ idleInactiveNR-MeasReport-r16 ENUMERATED {supported} OPTIONAL,
+ -- R4 6-2: Support of beam level Early Measurement Reporting
+ idleInactiveNR-MeasBeamReport-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ increasedNumberofCSIRSPerMO-r16 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+MeasAndMobParametersFR2-2-r17 ::= SEQUENCE {
+ handoverInterF-r17 ENUMERATED {supported} OPTIONAL,
+ handoverLTE-EPC-r17 ENUMERATED {supported} OPTIONAL,
+ handoverLTE-5GC-r17 ENUMERATED {supported} OPTIONAL,
+ idleInactiveNR-MeasReport-r17 ENUMERATED {supported} OPTIONAL,
+...
+}
+
+-- TAG-MEASANDMOBPARAMETERS-STOP
+-- TAG-MEASANDMOBPARAMETERSMRDC-START
+
+MeasAndMobParametersMRDC ::= SEQUENCE {
+ measAndMobParametersMRDC-Common MeasAndMobParametersMRDC-Common OPTIONAL,
+ measAndMobParametersMRDC-XDD-Diff MeasAndMobParametersMRDC-XDD-Diff OPTIONAL,
+ measAndMobParametersMRDC-FRX-Diff MeasAndMobParametersMRDC-FRX-Diff OPTIONAL
+}
+
+MeasAndMobParametersMRDC-v1560 ::= SEQUENCE {
+ measAndMobParametersMRDC-XDD-Diff-v1560 MeasAndMobParametersMRDC-XDD-Diff-v1560 OPTIONAL
+}
+
+MeasAndMobParametersMRDC-v1610 ::= SEQUENCE {
+ measAndMobParametersMRDC-Common-v1610 MeasAndMobParametersMRDC-Common-v1610 OPTIONAL,
+ interNR-MeasEUTRA-IAB-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MeasAndMobParametersMRDC-v1700 ::= SEQUENCE {
+ measAndMobParametersMRDC-Common-v1700 MeasAndMobParametersMRDC-Common-v1700 OPTIONAL
+}
+
+MeasAndMobParametersMRDC-v1730 ::= SEQUENCE {
+ measAndMobParametersMRDC-Common-v1730 MeasAndMobParametersMRDC-Common-v1730 OPTIONAL
+}
+
+MeasAndMobParametersMRDC-Common ::= SEQUENCE {
+ independentGapConfig ENUMERATED {supported} OPTIONAL
+}
+
+MeasAndMobParametersMRDC-Common-v1610 ::= SEQUENCE {
+ condPSCellChangeParametersCommon-r16 SEQUENCE {
+ condPSCellChangeFDD-TDD-r16 ENUMERATED {supported} OPTIONAL,
+ condPSCellChangeFR1-FR2-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ pscellT312-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MeasAndMobParametersMRDC-Common-v1700 ::= SEQUENCE {
+ condPSCellChangeParameters-r17 SEQUENCE {
+ inter-SN-condPSCellChangeFDD-TDD-NRDC-r17 ENUMERATED {supported} OPTIONAL,
+ inter-SN-condPSCellChangeFR1-FR2-NRDC-r17 ENUMERATED {supported} OPTIONAL,
+ inter-SN-condPSCellChangeFDD-TDD-ENDC-r17 ENUMERATED {supported} OPTIONAL,
+ inter-SN-condPSCellChangeFR1-FR2-ENDC-r17 ENUMERATED {supported} OPTIONAL,
+ mn-InitiatedCondPSCellChange-FR1FDD-ENDC-r17 ENUMERATED {supported} OPTIONAL,
+ mn-InitiatedCondPSCellChange-FR1TDD-ENDC-r17 ENUMERATED {supported} OPTIONAL,
+ mn-InitiatedCondPSCellChange-FR2TDD-ENDC-r17 ENUMERATED {supported} OPTIONAL,
+ sn-InitiatedCondPSCellChange-FR1FDD-ENDC-r17 ENUMERATED {supported} OPTIONAL,
+ sn-InitiatedCondPSCellChange-FR1TDD-ENDC-r17 ENUMERATED {supported} OPTIONAL,
+ sn-InitiatedCondPSCellChange-FR2TDD-ENDC-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ condHandoverWithSCG-ENDC-r17 ENUMERATED {supported} OPTIONAL,
+ condHandoverWithSCG-NEDC-r17 ENUMERATED {supported} OPTIONAL
+}
+
+MeasAndMobParametersMRDC-Common-v1730 ::= SEQUENCE {
+ independentGapConfig-maxCC-r17 SEQUENCE {
+ fr1-Only-r17 INTEGER (1..32) OPTIONAL,
+ fr2-Only-r17 INTEGER (1..32) OPTIONAL,
+ fr1-AndFR2-r17 INTEGER (1..32) OPTIONAL
+ }
+}
+
+MeasAndMobParametersMRDC-XDD-Diff ::= SEQUENCE {
+ sftd-MeasPSCell ENUMERATED {supported} OPTIONAL,
+ sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL
+}
+
+MeasAndMobParametersMRDC-XDD-Diff-v1560 ::= SEQUENCE {
+ sftd-MeasPSCell-NEDC ENUMERATED {supported} OPTIONAL
+}
+
+MeasAndMobParametersMRDC-FRX-Diff ::= SEQUENCE {
+ simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-MEASANDMOBPARAMETERSMRDC-STOP
+-- TAG-MIMO-LAYERS-START
+
+MIMO-LayersDL ::= ENUMERATED {twoLayers, fourLayers, eightLayers}
+
+MIMO-LayersUL ::= ENUMERATED {oneLayer, twoLayers, fourLayers}
+
+-- TAG-MIMO-LAYERS-STOP
+-- TAG-MIMO-PARAMETERSPERBAND-START
+
+MIMO-ParametersPerBand ::= SEQUENCE {
+ tci-StatePDSCH SEQUENCE {
+ maxNumberConfiguredTCI-StatesPerCC ENUMERATED {n4, n8, n16, n32, n64, n128} OPTIONAL,
+ maxNumberActiveTCI-PerBWP ENUMERATED {n1, n2, n4, n8} OPTIONAL
+ } OPTIONAL,
+ additionalActiveTCI-StatePDCCH ENUMERATED {supported} OPTIONAL,
+ pusch-TransCoherence ENUMERATED {nonCoherent, partialCoherent, fullCoherent} OPTIONAL,
+ beamCorrespondenceWithoutUL-BeamSweeping ENUMERATED {supported} OPTIONAL,
+ periodicBeamReport ENUMERATED {supported} OPTIONAL,
+ aperiodicBeamReport ENUMERATED {supported} OPTIONAL,
+ sp-BeamReportPUCCH ENUMERATED {supported} OPTIONAL,
+ sp-BeamReportPUSCH ENUMERATED {supported} OPTIONAL,
+ dummy1 DummyG OPTIONAL,
+ maxNumberRxBeam INTEGER (2..8) OPTIONAL,
+ maxNumberRxTxBeamSwitchDL SEQUENCE {
+ scs-15kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-30kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-60kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-120kHz ENUMERATED {n4, n7, n14} OPTIONAL,
+ scs-240kHz ENUMERATED {n4, n7, n14} OPTIONAL
+ } OPTIONAL,
+ maxNumberNonGroupBeamReporting ENUMERATED {n1, n2, n4} OPTIONAL,
+ groupBeamReporting ENUMERATED {supported} OPTIONAL,
+ uplinkBeamManagement SEQUENCE {
+ maxNumberSRS-ResourcePerSet-BM ENUMERATED {n2, n4, n8, n16},
+ maxNumberSRS-ResourceSet INTEGER (1..8)
+ } OPTIONAL,
+ maxNumberCSI-RS-BFD INTEGER (1..64) OPTIONAL,
+ maxNumberSSB-BFD INTEGER (1..64) OPTIONAL,
+ maxNumberCSI-RS-SSB-CBD INTEGER (1..256) OPTIONAL,
+ dummy2 ENUMERATED {supported} OPTIONAL,
+ twoPortsPTRS-UL ENUMERATED {supported} OPTIONAL,
+ dummy5 SRS-Resources OPTIONAL,
+ dummy3 INTEGER (1..4) OPTIONAL,
+ beamReportTiming SEQUENCE {
+ scs-15kHz ENUMERATED {sym2, sym4, sym8} OPTIONAL,
+ scs-30kHz ENUMERATED {sym4, sym8, sym14, sym28} OPTIONAL,
+ scs-60kHz ENUMERATED {sym8, sym14, sym28} OPTIONAL,
+ scs-120kHz ENUMERATED {sym14, sym28, sym56} OPTIONAL
+ } OPTIONAL,
+ ptrs-DensityRecommendationSetDL SEQUENCE {
+ scs-15kHz PTRS-DensityRecommendationDL OPTIONAL,
+ scs-30kHz PTRS-DensityRecommendationDL OPTIONAL,
+ scs-60kHz PTRS-DensityRecommendationDL OPTIONAL,
+ scs-120kHz PTRS-DensityRecommendationDL OPTIONAL
+ } OPTIONAL,
+ ptrs-DensityRecommendationSetUL SEQUENCE {
+ scs-15kHz PTRS-DensityRecommendationUL OPTIONAL,
+ scs-30kHz PTRS-DensityRecommendationUL OPTIONAL,
+ scs-60kHz PTRS-DensityRecommendationUL OPTIONAL,
+ scs-120kHz PTRS-DensityRecommendationUL OPTIONAL
+ } OPTIONAL,
+ dummy4 DummyH OPTIONAL,
+ aperiodicTRS ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ dummy6 ENUMERATED {true} OPTIONAL,
+ beamManagementSSB-CSI-RS BeamManagementSSB-CSI-RS OPTIONAL,
+ beamSwitchTiming SEQUENCE {
+ scs-60kHz ENUMERATED {sym14, sym28, sym48, sym224, sym336} OPTIONAL,
+ scs-120kHz ENUMERATED {sym14, sym28, sym48, sym224, sym336} OPTIONAL
+ } OPTIONAL,
+ codebookParameters CodebookParameters OPTIONAL,
+ csi-RS-IM-ReceptionForFeedback CSI-RS-IM-ReceptionForFeedback OPTIONAL,
+ csi-RS-ProcFrameworkForSRS CSI-RS-ProcFrameworkForSRS OPTIONAL,
+ csi-ReportFramework CSI-ReportFramework OPTIONAL,
+ csi-RS-ForTracking CSI-RS-ForTracking OPTIONAL,
+ srs-AssocCSI-RS SEQUENCE (SIZE (1.. maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource OPTIONAL,
+ spatialRelations SpatialRelations OPTIONAL
+ ]],
+ [[
+ -- R1 16-2b-0: Support of default QCL assumption with two TCI states
+ defaultQCL-TwoTCI-r16 ENUMERATED {supported} OPTIONAL,
+ codebookParametersPerBand-r16 CodebookParameters-v1610 OPTIONAL,
+ -- R1 16-1b-3: Support of PUCCH resource groups per BWP for simultaneous spatial relation update
+ simul-SpatialRelationUpdatePUCCHResGroup-r16 ENUMERATED {supported} OPTIONAL,
+
+ -- R1 16-1f: Maximum number of SCells configured for SCell beam failure recovery simultaneously
+ maxNumberSCellBFR-r16 ENUMERATED {n1,n2,n4,n8} OPTIONAL,
+
+ -- R1 16-2c: Supports simultaneous reception with different Type-D for FR2 only
+ simultaneousReceptionDiffTypeD-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-1a-1: SSB/CSI-RS for L1-SINR measurement
+ ssb-csirs-SINR-measurement-r16 SEQUENCE {
+ maxNumberSSB-CSIRS-OneTx-CMR-r16 ENUMERATED {n8, n16, n32, n64},
+ maxNumberCSI-IM-NZP-IMR-res-r16 ENUMERATED {n8, n16, n32, n64},
+ maxNumberCSIRS-2Tx-res-r16 ENUMERATED {n0, n4, n8, n16, n32, n64},
+ maxNumberSSB-CSIRS-res-r16 ENUMERATED {n8, n16, n32, n64, n128},
+ maxNumberCSI-IM-NZP-IMR-res-mem-r16 ENUMERATED {n8, n16, n32, n64, n128},
+ supportedCSI-RS-Density-CMR-r16 ENUMERATED {one, three, oneAndThree},
+ maxNumberAperiodicCSI-RS-Res-r16 ENUMERATED {n2, n4, n8, n16, n32, n64},
+ supportedSINR-meas-r16 ENUMERATED {ssbWithCSI-IM, ssbWithNZP-IMR, csirsWithNZP-IMR, csi-RSWithoutIMR} OPTIONAL
+ } OPTIONAL,
+ -- R1 16-1a-2: Non-group based L1-SINR reporting
+ nonGroupSINR-reporting-r16 ENUMERATED {n1, n2, n4} OPTIONAL,
+ -- R1 16-1a-3: Non-group based L1-SINR reporting
+ groupSINR-reporting-r16 ENUMERATED {supported} OPTIONAL,
+
+ multiDCI-multiTRP-Parameters-r16 SEQUENCE {
+ -- R1 16-2a-0: Overlapping PDSCHs in time and fully overlapping in frequency and time
+ overlapPDSCHsFullyFreqTime-r16 INTEGER (1..2) OPTIONAL,
+ -- R1 16-2a-1: Overlapping PDSCHs in time and partially overlapping in frequency and time
+ overlapPDSCHsInTimePartiallyFreq-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-2a-2: Out of order operation for DL
+ outOfOrderOperationDL-r16 SEQUENCE {
+ supportPDCCH-ToPDSCH-r16 ENUMERATED {supported} OPTIONAL,
+ supportPDSCH-ToHARQ-ACK-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ -- R1 16-2a-3: Out of order operation for UL
+ outOfOrderOperationUL-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-2a-5: Separate CRS rate matching
+ separateCRS-RateMatching-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-2a-6: Default QCL enhancement for multi-DCI based multi-TRP
+ defaultQCL-PerCORESETPoolIndex-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-2a-7: Maximum number of activated TCI states
+ maxNumberActivatedTCI-States-r16 SEQUENCE {
+ maxNumberPerCORESET-Pool-r16 ENUMERATED {n1, n2, n4, n8},
+ maxTotalNumberAcrossCORESET-Pool-r16 ENUMERATED {n2, n4, n8, n16}
+ } OPTIONAL
+ } OPTIONAL,
+ singleDCI-SDM-scheme-Parameters-r16 SEQUENCE {
+ -- R1 16-2b-1b: Single-DCI based SDM scheme - Support of new DMRS port entry
+ supportNewDMRS-Port-r16 ENUMERATED {supported1, supported2, supported3} OPTIONAL,
+ -- R1 16-2b-1a: Support of s-port DL PTRS
+ supportTwoPortDL-PTRS-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ -- R1 16-2b-2: Support of single-DCI based FDMSchemeA
+ supportFDM-SchemeA-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-2b-3a: Single-DCI based FDMSchemeB CW soft combining
+ supportCodeWordSoftCombining-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-2b-4: Single-DCI based TDMSchemeA
+ supportTDM-SchemeA-r16 ENUMERATED {kb3, kb5, kb10, kb20, noRestriction} OPTIONAL,
+ -- R1 16-2b-5: Single-DCI based inter-slot TDM
+ supportInter-slotTDM-r16 SEQUENCE {
+ supportRepNumPDSCH-TDRA-r16 ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16},
+ maxTBS-Size-r16 ENUMERATED {kb3, kb5, kb10, kb20, noRestriction},
+ maxNumberTCI-states-r16 INTEGER (1..2)
+ } OPTIONAL,
+ -- R1 16-4: Low PAPR DMRS for PDSCH
+ lowPAPR-DMRS-PDSCH-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-6a: Low PAPR DMRS for PUSCH without transform precoding
+ lowPAPR-DMRS-PUSCHwithoutPrecoding-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-6b: Low PAPR DMRS for PUCCH
+ lowPAPR-DMRS-PUCCH-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-6c: Low PAPR DMRS for PUSCH with transform precoding & pi/2 BPSK
+ lowPAPR-DMRS-PUSCHwithPrecoding-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-7: Extension of the maximum number of configured aperiodic CSI report settings
+ csi-ReportFrameworkExt-r16 CSI-ReportFrameworkExt-r16 OPTIONAL,
+ -- R1 16-3a, 16-3a-1, 16-3b, 16-3b-1, 16-8: Individual new codebook types
+ codebookParametersAddition-r16 CodebookParametersAddition-r16 OPTIONAL,
+ -- R1 16-8: Mixed codebook types
+ codebookComboParametersAddition-r16 CodebookComboParametersAddition-r16 OPTIONAL,
+ -- R4 8-2: SSB based beam correspondence
+ beamCorrespondenceSSB-based-r16 ENUMERATED {supported} OPTIONAL,
+ -- R4 8-3: CSI-RS based beam correspondence
+ beamCorrespondenceCSI-RS-based-r16 ENUMERATED {supported} OPTIONAL,
+ beamSwitchTiming-r16 SEQUENCE {
+ scs-60kHz-r16 ENUMERATED {sym224, sym336} OPTIONAL,
+ scs-120kHz-r16 ENUMERATED {sym224, sym336} OPTIONAL
+ } OPTIONAL
+ ]],
+ [[
+ -- R1 16-1a-4: Semi-persistent L1-SINR report on PUCCH
+ semi-PersistentL1-SINR-Report-PUCCH-r16 SEQUENCE {
+ supportReportFormat1-2OFDM-syms-r16 ENUMERATED {supported} OPTIONAL,
+ supportReportFormat4-14OFDM-syms-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ -- R1 16-1a-5: Semi-persistent L1-SINR report on PUSCH
+ semi-PersistentL1-SINR-Report-PUSCH-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 16-1h: Support of 64 configured PUCCH spatial relations
+ spatialRelations-v1640 SEQUENCE {
+ maxNumberConfiguredSpatialRelations-v1640 ENUMERATED {n96, n128, n160, n192, n224, n256, n288, n320}
+ } OPTIONAL,
+ -- R1 16-1i: Support of 64 configured candidate beam RSs for BFR
+ support64CandidateBeamRS-BFR-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 16-2a-9: Interpretation of maxNumberMIMO-LayersPDSCH for multi-DCI based mTRP
+ maxMIMO-LayersForMulti-DCI-mTRP-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ supportedSINR-meas-v1670 BIT STRING (SIZE (4)) OPTIONAL
+ ]],
+ [[
+ -- R1 23-8-5 Increased repetition for SRS
+ srs-increasedRepetition-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-8-6 Partial frequency sounding of SRS
+ srs-partialFrequencySounding-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-8-7 Start RB location hopping for partial frequency SRS
+ srs-startRB-locationHoppingPartial-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-8-8 Comb-8 SRS
+ srs-combEight-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-9-1 Basic Features of Further Enhanced Port-Selection Type II Codebook (FeType-II) per band information
+ codebookParametersfetype2-r17 CodebookParametersfetype2-r17 OPTIONAL,
+ -- R1 23-3-1-2a Two associated CSI-RS resources
+ mTRP-PUSCH-twoCSI-RS-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-3-2 Multi-TRP PUCCH repetition scheme 1 (inter-slot)
+ mTRP-PUCCH-InterSlot-r17 ENUMERATED {pf0-2, pf1-3-4, pf0-4} OPTIONAL,
+ -- R1 23-3-2b Cyclic mapping for multi-TRP PUCCH repetition
+ mTRP-PUCCH-CyclicMapping-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-3-2c Second TPC field for multi-TRP PUCCH repetition
+ mTRP-PUCCH-SecondTPC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-5-2 MTRP BFR based on two BFD-RS set
+ mTRP-BFR-twoBFD-RS-Set-r17 SEQUENCE {
+ maxBFD-RS-resourcesPerSetPerBWP-r17 ENUMERATED {n1, n2},
+ maxBFR-r17 INTEGER (1..9),
+ maxBFD-RS-resourcesAcrossSetsPerBWP-r17 ENUMERATED {n2, n3, n4}
+ } OPTIONAL,
+ -- R1 23-5-2a PUCCH-SR resources for MTRP BFRQ - Max number of PUCCH-SR resources for MTRP BFRQ per cell group
+ mTRP-BFR-PUCCH-SR-perCG-r17 ENUMERATED{n1, n2} OPTIONAL,
+ -- R1 23-5-2b Association between a BFD-RS resource set on SpCell and a PUCCH SR resource
+ mTRP-BFR-association-PUCCH-SR-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-6-3 Simultaneous activation of two TCI states for PDCCH across multiple CCs (HST/URLLC)
+ sfn-SimulTwoTCI-AcrossMultiCC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-6-4 Default DL beam setup for SFN
+ sfn-DefaultDL-BeamSetup-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-6-4a Default UL beam setup for SFN PDCCH(FR2 only)
+ sfn-DefaultUL-BeamSetup-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-8-1 SRS triggering offset enhancement
+ srs-TriggeringOffset-r17 ENUMERATED {n1, n2, n4} OPTIONAL,
+ -- R1 23-8-2 Triggering SRS only in DCI 0_1/0_2
+ srs-TriggeringDCI-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-9-5 Active CSI-RS resources and ports for mixed codebook types in any slot per band information
+ codebookComboParameterMixedType-r17 CodebookComboParameterMixedType-r17 OPTIONAL,
+ -- R1 23-1-1 Unified TCI [with joint DL/UL TCI update] for intra-cell beam management
+ unifiedJointTCI-r17 SEQUENCE{
+ maxConfiguredJointTCI-r17 ENUMERATED {n8, n12, n16, n24, n32, n48, n64, n128},
+ maxActivatedTCIAcrossCC-r17 ENUMERATED {n1, n2, n4, n8, n16}
+ } OPTIONAL,
+ -- R1 23-1-1b Unified TCI with joint DL/UL TCI update for intra- and inter-cell beam management with more than one MAC-CE
+ unifiedJointTCI-multiMAC-CE-r17 SEQUENCE{
+ minBeamApplicationTime-r17 ENUMERATED {n1, n2, n4, n7, n14, n28, n42, n56, n70, n84, n98, n112, n224, n336}
+ OPTIONAL,
+ maxNumMAC-CE-PerCC ENUMERATED {n2, n3, n4, n5, n6, n7, n8}
+ } OPTIONAL,
+ -- R1 23-1-1d Per BWP TCI state pool configuration for CA mode
+ unifiedJointTCI-perBWP-CA-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-1-1e TCI state pool configuration with TCI pool sharing for CA mode
+ unifiedJointTCI-ListSharingCA-r17 ENUMERATED {n1,n2,n4,n8} OPTIONAL,
+ -- R1 23-1-1f Common multi-CC TCI state ID update and activation
+ unifiedJointTCI-commonMultiCC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-1-1g Beam misalignment between the DL source RS in the TCI state
+ unifiedJointTCI-BeamAlignDLRS-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-1-1h Association between TCI state and UL PC settings for PUCCH, PUSCH, and SRS
+ unifiedJointTCI-PC-association-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-1-1i Indication/configuration of R17 TCI states for aperiodic CSI-RS, PDCCH, PDSCH
+ unifiedJointTCI-Legacy-r17 ENUMERATED {supported} OPTIONAL,
+ -- 23-1-1m Indication/configuration of R17 TCI states for SRS
+ unifiedJointTCI-Legacy-SRS-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-1-1j Indication/configuration of R17 TCI states for CORESET #0
+ unifiedJointTCI-Legacy-CORESET0-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-1-1c SCell BFR with unified TCI framework (NOTE; pre-requisite is empty)
+ unifiedJointTCI-SCellBFR-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-1-1a Unified TCI with joint DL/UL TCI update for inter-cell beam management
+ unifiedJointTCI-InterCell-r17 SEQUENCE{
+ additionalMAC-CE-PerCC-r17 ENUMERATED {n0, n1, n2, n4},
+ additionalMAC-CE-AcrossCC-r17 ENUMERATED {n0, n1, n2, n4}
+ } OPTIONAL,
+ -- R1 23-10-1 Unified TCI with separate DL/UL TCI update for intra-cell beam management
+ unifiedSeparateTCI-r17 SEQUENCE{
+ maxConfiguredDL-TCI-r17 ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64, n128},
+ maxConfiguredUL-TCI-r17 ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64},
+ maxActivatedDL-TCIAcrossCC-r17 ENUMERATED {n1, n2, n4, n8, n16},
+ maxActivatedUL-TCIAcrossCC-r17 ENUMERATED {n1, n2, n4, n8, n16}
+ } OPTIONAL,
+ -- R1 23-10-1b Unified TCI with separate DL/UL TCI update for intra-cell beam management with more than one MAC-CE
+ unifiedSeparateTCI-multiMAC-CE-r17 SEQUENCE{
+ minBeamApplicationTime-r17 ENUMERATED {n1, n2, n4, n7, n14, n28, n42, n56, n70, n84, n98, n112, n224, n336},
+ maxActivatedDL-TCIPerCC-r17 INTEGER (2..8),
+ maxActivatedUL-TCIPerCC-r17 INTEGER (2..8)
+ } OPTIONAL,
+ -- R1 23-10-1d Per BWP DL/UL-TCI state pool configuration for CA mode
+ unifiedSeparateTCI-perBWP-CA-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-10-1e TCI state pool configuration with DL/UL-TCI pool sharing for CA mode
+ unifiedSeparateTCI-ListSharingCA-r17 SEQUENCE {
+ maxNumListDL-TCI-r17 ENUMERATED {n1,n2,n4,n8} OPTIONAL,
+ maxNumListUL-TCI-r17 ENUMERATED {n1,n2,n4,n8} OPTIONAL
+ } OPTIONAL,
+ -- R1 23-10-1f Common multi-CC DL/UL-TCI state ID update and activation with separate DL/UL TCI update
+ unifiedSeparateTCI-commonMultiCC-r17 ENUMERATED {supported} OPTIONAL,
+ -- 23-10-1m Unified TCI with separate DL/UL TCI update for inter-cell beam management with more than one MAC-CE
+ unifiedSeparateTCI-InterCell-r17 SEQUENCE {
+ k-DL-PerCC-r17 ENUMERATED {n0, n1, n2, n4},
+ k-UL-PerCC-r17 ENUMERATED {n0, n1, n2, n4},
+ k-DL-AcrossCC-r17 ENUMERATED {n0, n1, n2, n4},
+ k-UL-AcrossCC-r17 ENUMERATED {n0, n1, n2, n4}
+ } OPTIONAL,
+ -- R1 23-1-2 Inter-cell beam measurement and reporting (for inter-cell BM and mTRP)
+ unifiedJointTCI-mTRP-InterCell-BM-r17 SEQUENCE {
+ maxNumAdditionalPCI-L1-RSRP-r17 INTEGER (1..7),
+ maxNumSSB-ResourceL1-RSRP-AcrossCC-r17 ENUMERATED {n1,n2,n4,n8}
+ } OPTIONAL,
+ -- R1 23-1-3 MPE mitigation
+ mpe-Mitigation-r17 SEQUENCE {
+ maxNumP-MPR-RI-pairs-r17 INTEGER (1..4),
+ maxNumConfRS-r17 ENUMERATED {n1, n2, n4, n8, n12, n16, n28, n32, n48, n64}
+ } OPTIONAL,
+ -- R1 23-1-4 UE capability value reporting
+ srs-PortReport-r17 SEQUENCE {
+ capVal1-r17 ENUMERATED {n1, n2, n4} OPTIONAL,
+ capVal2-r17 ENUMERATED {n1, n2, n4} OPTIONAL,
+ capVal3-r17 ENUMERATED {n1, n2, n4} OPTIONAL,
+ capVal4-r17 ENUMERATED {n1, n2, n4} OPTIONAL
+ } OPTIONAL,
+ -- R1 23-2-1a Monitoring of individual candidates
+ mTRP-PDCCH-individual-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-2-1b PDCCH repetition with PDCCH monitoring on any span of up to 3 consecutive OFDM symbols of a slot
+ mTRP-PDCCH-anySpan-3Symbols-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-2-2 Two QCL TypeD for CORESET monitoring in PDCCH repetition
+ mTRP-PDCCH-TwoQCL-TypeD-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-3-1-2b CSI-RS processing framework for SRS with two associated CSI-RS resources
+ mTRP-PUSCH-CSI-RS-r17 SEQUENCE {
+ maxNumPeriodicSRS-r17 INTEGER (1..8),
+ maxNumAperiodicSRS-r17 INTEGER (1..8),
+ maxNumSP-SRS-r17 INTEGER (0..8),
+ numSRS-ResourcePerCC-r17 INTEGER (1..16),
+ numSRS-ResourceNonCodebook-r17 INTEGER (1..2)
+ } OPTIONAL,
+ -- R1 23-3-1a Cyclic mapping for Multi-TRP PUSCH repetition
+ mTRP-PUSCH-cyclicMapping-r17 ENUMERATED {typeA,typeB,both} OPTIONAL,
+ -- R1 23-3-1b Second TPC field for Multi-TRP PUSCH repetition
+ mTRP-PUSCH-secondTPC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-3-1c Two PHR reporting
+ mTRP-PUSCH-twoPHR-Reporting-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-3-1e A-CSI report
+ mTRP-PUSCH-A-CSI-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-3-1f SP-CSI report
+ mTRP-PUSCH-SP-CSI-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-3-1g CG PUSCH transmission
+ mTRP-PUSCH-CG-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-3-2d Updating two Spatial relation or two sets of power control parameters for PUCCH group
+ mTRP-PUCCH-MAC-CE-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-3-2e Maximum number of power control parameter sets configured for multi-TRP PUCCH repetition in FR1
+ mTRP-PUCCH-maxNum-PC-FR1-r17 INTEGER (3..8) OPTIONAL,
+ -- R1 23-4 IntCell-mTRP
+ mTRP-inter-Cell-r17 SEQUENCE {
+ maxNumAdditionalPCI-Case1-r17 INTEGER (1..7),
+ maxNumAdditionalPCI-Case2-r17 INTEGER (0..7)
+ } OPTIONAL,
+ -- R1 23-5-1 Group based L1-RSRP reporting enhancements
+ mTRP-GroupBasedL1-RSRP-r17 SEQUENCE {
+ maxNumBeamGroups-r17 INTEGER (1..4),
+ maxNumRS-WithinSlot-r17 ENUMERATED {n2,n3,n4,n8,n16,n32,n64},
+ maxNumRS-AcrossSlot-r17 ENUMERATED {n8, n16, n32, n64, n128}
+ } OPTIONAL,
+ -- R1 23-5-2c MAC-CE based update of explicit BFD-RS mTRP-PUCCH-IntraSlot-r17 => per band
+ mTRP-BFD-RS-MAC-CE-r17 ENUMERATED {n4, n8, n12, n16, n32, n48, n64 } OPTIONAL,
+ -- R1 23-7-1 Basic Features of CSI Enhancement for Multi-TRP
+ mTRP-CSI-EnhancementPerBand-r17 SEQUENCE {
+ maxNumNZP-CSI-RS-r17 INTEGER (2..8),
+ cSI-Report-mode-r17 ENUMERATED {mode1, mode2, both},
+ supportedComboAcrossCCs-r17 SEQUENCE (SIZE (1..16)) OF CSI-MultiTRP-SupportedCombinations-r17,
+ codebookModeNCJT-r17 ENUMERATED{mode1,mode1And2}
+ } OPTIONAL,
+ -- R1 23-7-1b Active CSI-RS resources and ports in the presence of multi-TRP CSI
+ codebookComboParameterMultiTRP-r17 CodebookComboParameterMultiTRP-r17 OPTIONAL,
+ -- R1 23-7-1a Additional CSI report mode 1
+ mTRP-CSI-additionalCSI-r17 ENUMERATED{x1,x2} OPTIONAL,
+ -- R1 23-7-4 Support of Nmax=2 for Multi-TRP CSI
+ mTRP-CSI-N-Max2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-7-5 CMR sharing
+ mTRP-CSI-CMR-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 23-8-11 Partial frequency sounding of SRS for non-frequency hopping case
+ srs-partialFreqSounding-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1-24 feature: Extend beamSwitchTiming for FR2-2
+ beamSwitchTiming-v1710 SEQUENCE {
+ scs-480kHz ENUMERATED {sym56, sym112, sym192, sym896, sym1344} OPTIONAL,
+ scs-960kHz ENUMERATED {sym112, sym224, sym384, sym1792, sym2688} OPTIONAL
+ } OPTIONAL,
+ -- R1-24 feature: Extend beamSwitchTiming-r16 for FR2-2
+ beamSwitchTiming-r17 SEQUENCE {
+ scs-480kHz-r17 ENUMERATED {sym896, sym1344} OPTIONAL,
+ scs-960kHz-r17 ENUMERATED {sym1792, sym2688} OPTIONAL
+ } OPTIONAL,
+ -- R1-24 feature: Extend beamReportTiming for FR2-2
+ beamReportTiming-v1710 SEQUENCE {
+ scs-480kHz-r17 ENUMERATED {sym56, sym112, sym224} OPTIONAL,
+ scs-960kHz-r17 ENUMERATED {sym112, sym224, sym448} OPTIONAL
+ } OPTIONAL,
+ -- R1-24 feature: Extend maximum number of RX/TX beam switch DL for FR2-2
+ maxNumberRxTxBeamSwitchDL-v1710 SEQUENCE {
+ scs-480kHz-r17 ENUMERATED {n2, n4, n7} OPTIONAL,
+ scs-960kHz-r17 ENUMERATED {n1, n2, n4, n7} OPTIONAL
+ } OPTIONAL
+ ]],
+ [[
+ -- R1-23-1-4a: Semi-persistent/aperiodic capability value report
+ srs-PortReportSP-AP-r17 ENUMERATED {supported} OPTIONAL,
+ maxNumberRxBeam-v1720 INTEGER (9..12) OPTIONAL,
+ -- R1-23-6-5 Support implicit configuration of RS(s) with two TCI states for beam failure detection
+ sfn-ImplicitRS-twoTCI-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1-23-6-6 QCL-TypeD collision handling with CORESET with 2 TCI states
+ sfn-QCL-TypeD-Collision-twoTCI-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1-23-7-1c Basic Features of CSI Enhancement for Multi-TRP - number of CPUs
+ mTRP-CSI-numCPU-r17 ENUMERATED {n2, n3, n4} OPTIONAL
+ ]],
+ [[
+ supportRepNumPDSCH-TDRA-DCI-1-2-r17 ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16} OPTIONAL
+ ]]
+}
+
+DummyG ::= SEQUENCE {
+ maxNumberSSB-CSI-RS-ResourceOneTx ENUMERATED {n8, n16, n32, n64},
+ maxNumberSSB-CSI-RS-ResourceTwoTx ENUMERATED {n0, n4, n8, n16, n32, n64},
+ supportedCSI-RS-Density ENUMERATED {one, three, oneAndThree}
+}
+
+BeamManagementSSB-CSI-RS ::= SEQUENCE {
+ maxNumberSSB-CSI-RS-ResourceOneTx ENUMERATED {n0, n8, n16, n32, n64},
+ maxNumberCSI-RS-Resource ENUMERATED {n0, n4, n8, n16, n32, n64},
+ maxNumberCSI-RS-ResourceTwoTx ENUMERATED {n0, n4, n8, n16, n32, n64},
+ supportedCSI-RS-Density ENUMERATED {one, three, oneAndThree} OPTIONAL,
+ maxNumberAperiodicCSI-RS-Resource ENUMERATED {n0, n1, n4, n8, n16, n32, n64}
+}
+
+DummyH ::= SEQUENCE {
+ burstLength INTEGER (1..2),
+ maxSimultaneousResourceSetsPerCC INTEGER (1..8),
+ maxConfiguredResourceSetsPerCC INTEGER (1..64),
+ maxConfiguredResourceSetsAllCC INTEGER (1..128)
+}
+
+CSI-RS-ForTracking ::= SEQUENCE {
+ maxBurstLength INTEGER (1..2),
+ maxSimultaneousResourceSetsPerCC INTEGER (1..8),
+ maxConfiguredResourceSetsPerCC INTEGER (1..64),
+ maxConfiguredResourceSetsAllCC INTEGER (1..256)
+}
+
+CSI-RS-IM-ReceptionForFeedback ::= SEQUENCE {
+ maxConfigNumberNZP-CSI-RS-PerCC INTEGER (1..64),
+ maxConfigNumberPortsAcrossNZP-CSI-RS-PerCC INTEGER (2..256),
+ maxConfigNumberCSI-IM-PerCC ENUMERATED {n1, n2, n4, n8, n16, n32},
+ maxNumberSimultaneousNZP-CSI-RS-PerCC INTEGER (1..64),
+ totalNumberPortsSimultaneousNZP-CSI-RS-PerCC INTEGER (2..256)
+}
+
+CSI-RS-ProcFrameworkForSRS ::= SEQUENCE {
+ maxNumberPeriodicSRS-AssocCSI-RS-PerBWP INTEGER (1..4),
+ maxNumberAperiodicSRS-AssocCSI-RS-PerBWP INTEGER (1..4),
+ maxNumberSP-SRS-AssocCSI-RS-PerBWP INTEGER (0..4),
+ simultaneousSRS-AssocCSI-RS-PerCC INTEGER (1..8)
+}
+
+CSI-ReportFramework ::= SEQUENCE {
+ maxNumberPeriodicCSI-PerBWP-ForCSI-Report INTEGER (1..4),
+ maxNumberAperiodicCSI-PerBWP-ForCSI-Report INTEGER (1..4),
+ maxNumberSemiPersistentCSI-PerBWP-ForCSI-Report INTEGER (0..4),
+ maxNumberPeriodicCSI-PerBWP-ForBeamReport INTEGER (1..4),
+ maxNumberAperiodicCSI-PerBWP-ForBeamReport INTEGER (1..4),
+ maxNumberAperiodicCSI-triggeringStatePerCC ENUMERATED {n3, n7, n15, n31, n63, n128},
+ maxNumberSemiPersistentCSI-PerBWP-ForBeamReport INTEGER (0..4),
+ simultaneousCSI-ReportsPerCC INTEGER (1..8)
+}
+
+CSI-ReportFrameworkExt-r16 ::= SEQUENCE {
+ maxNumberAperiodicCSI-PerBWP-ForCSI-ReportExt-r16 INTEGER (5..8)
+}
+
+PTRS-DensityRecommendationDL ::= SEQUENCE {
+ frequencyDensity1 INTEGER (1..276),
+ frequencyDensity2 INTEGER (1..276),
+ timeDensity1 INTEGER (0..29),
+ timeDensity2 INTEGER (0..29),
+ timeDensity3 INTEGER (0..29)
+}
+
+PTRS-DensityRecommendationUL ::= SEQUENCE {
+ frequencyDensity1 INTEGER (1..276),
+ frequencyDensity2 INTEGER (1..276),
+ timeDensity1 INTEGER (0..29),
+ timeDensity2 INTEGER (0..29),
+ timeDensity3 INTEGER (0..29),
+ sampleDensity1 INTEGER (1..276),
+ sampleDensity2 INTEGER (1..276),
+ sampleDensity3 INTEGER (1..276),
+ sampleDensity4 INTEGER (1..276),
+ sampleDensity5 INTEGER (1..276)
+}
+
+SpatialRelations ::= SEQUENCE {
+ maxNumberConfiguredSpatialRelations ENUMERATED {n4, n8, n16, n32, n64, n96},
+ maxNumberActiveSpatialRelations ENUMERATED {n1, n2, n4, n8, n14},
+ additionalActiveSpatialRelationPUCCH ENUMERATED {supported} OPTIONAL,
+ maxNumberDL-RS-QCL-TypeD ENUMERATED {n1, n2, n4, n8, n14}
+}
+
+DummyI ::= SEQUENCE {
+ supportedSRS-TxPortSwitch ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4, tr-equal},
+ txSwitchImpactToRx ENUMERATED {true} OPTIONAL
+}
+
+CSI-MultiTRP-SupportedCombinations-r17 ::= SEQUENCE {
+ maxNumTx-Ports-r17 ENUMERATED {n2, n4, n8, n12, n16, n24, n32},
+ maxTotalNumCMR-r17 INTEGER (2..64),
+ maxTotalNumTx-PortsNZP-CSI-RS-r17 INTEGER (2..256)
+}
+
+-- TAG-MIMO-PARAMETERSPERBAND-STOP
+-- TAG-MODULATIONORDER-START
+
+ModulationOrder ::= ENUMERATED {bpsk-halfpi, bpsk, qpsk, qam16, qam64, qam256}
+
+-- TAG-MODULATIONORDER-STOP
+-- TAG-MRDC-PARAMETERS-START
+
+MRDC-Parameters ::= SEQUENCE {
+ singleUL-Transmission ENUMERATED {supported} OPTIONAL,
+ dynamicPowerSharingENDC ENUMERATED {supported} OPTIONAL,
+ tdm-Pattern ENUMERATED {supported} OPTIONAL,
+ ul-SharingEUTRA-NR ENUMERATED {tdm, fdm, both} OPTIONAL,
+ ul-SwitchingTimeEUTRA-NR ENUMERATED {type1, type2} OPTIONAL,
+ simultaneousRxTxInterBandENDC ENUMERATED {supported} OPTIONAL,
+ asyncIntraBandENDC ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ dualPA-Architecture ENUMERATED {supported} OPTIONAL,
+ intraBandENDC-Support ENUMERATED {non-contiguous, both} OPTIONAL,
+ ul-TimingAlignmentEUTRA-NR ENUMERATED {required} OPTIONAL
+ ]]
+}
+
+MRDC-Parameters-v1580 ::= SEQUENCE {
+ dynamicPowerSharingNEDC ENUMERATED {supported} OPTIONAL
+}
+
+MRDC-Parameters-v1590 ::= SEQUENCE {
+ interBandContiguousMRDC ENUMERATED {supported} OPTIONAL
+}
+
+MRDC-Parameters-v15g0 ::= SEQUENCE {
+ simultaneousRxTxInterBandENDCPerBandPair SimultaneousRxTxPerBandPair OPTIONAL
+}
+
+MRDC-Parameters-v1620 ::= SEQUENCE {
+ maxUplinkDutyCycle-interBandENDC-TDD-PC2-r16 SEQUENCE{
+ eutra-TDD-Config0-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL,
+ eutra-TDD-Config1-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL,
+ eutra-TDD-Config2-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL,
+ eutra-TDD-Config3-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL,
+ eutra-TDD-Config4-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL,
+ eutra-TDD-Config5-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL,
+ eutra-TDD-Config6-r16 ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100} OPTIONAL
+ } OPTIONAL,
+ -- R1 18-2 Single UL TX operation for TDD PCell in EN-DC
+ tdm-restrictionTDD-endc-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-2a Single UL TX operation for FDD PCell in EN-DC
+ tdm-restrictionFDD-endc-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-2b Support of HARQ-offset for SUO case1 in EN-DC with LTE TDD PCell for type 1 UE
+ singleUL-HARQ-offsetTDD-PCell-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-3 Dual Tx transmission for EN-DC with FDD PCell(TDM pattern for dual Tx UE)
+ tdm-restrictionDualTX-FDD-endc-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MRDC-Parameters-v1630 ::= SEQUENCE {
+ -- R4 2-20 Maximum uplink duty cycle for FDD+TDD EN-DC power class 2
+ maxUplinkDutyCycle-interBandENDC-FDD-TDD-PC2-r16 SEQUENCE {
+ maxUplinkDutyCycle-FDD-TDD-EN-DC1-r16 ENUMERATED {n30, n40, n50, n60, n70, n80, n90, n100} OPTIONAL,
+ maxUplinkDutyCycle-FDD-TDD-EN-DC2-r16 ENUMERATED {n30, n40, n50, n60, n70, n80, n90, n100} OPTIONAL
+ } OPTIONAL,
+
+ -- R4 2-19 FDD-FDD or TDD-TDD inter-band MR-DC with overlapping or partially overlapping DL spectrum
+ interBandMRDC-WithOverlapDL-Bands-r16 ENUMERATED {supported} OPTIONAL
+}
+
+MRDC-Parameters-v1700 ::= SEQUENCE {
+ condPSCellAdditionENDC-r17 ENUMERATED {supported} OPTIONAL,
+ scg-ActivationDeactivationENDC-r17 ENUMERATED {supported} OPTIONAL,
+ scg-ActivationDeactivationResumeENDC-r17 ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-MRDC-PARAMETERS-STOP
+-- TAG-NRDC-PARAMETERS-START
+
+NRDC-Parameters ::= SEQUENCE {
+ measAndMobParametersNRDC MeasAndMobParametersMRDC OPTIONAL,
+ generalParametersNRDC GeneralParametersMRDC-XDD-Diff OPTIONAL,
+ fdd-Add-UE-NRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL,
+ tdd-Add-UE-NRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL,
+ fr1-Add-UE-NRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL,
+ fr2-Add-UE-NRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL,
+ dummy2 OCTET STRING OPTIONAL,
+ dummy SEQUENCE {} OPTIONAL
+}
+
+NRDC-Parameters-v1570 ::= SEQUENCE {
+ sfn-SyncNRDC ENUMERATED {supported} OPTIONAL
+}
+
+NRDC-Parameters-v15c0 ::= SEQUENCE {
+ pdcp-DuplicationSplitSRB ENUMERATED {supported} OPTIONAL,
+ pdcp-DuplicationSplitDRB ENUMERATED {supported} OPTIONAL
+}
+
+NRDC-Parameters-v1610 ::= SEQUENCE {
+ measAndMobParametersNRDC-v1610 MeasAndMobParametersMRDC-v1610 OPTIONAL
+}
+
+NRDC-Parameters-v1700 ::= SEQUENCE {
+ f1c-OverNR-RRC-r17 ENUMERATED {supported} OPTIONAL,
+ measAndMobParametersNRDC-v1700 MeasAndMobParametersMRDC-v1700
+}
+
+-- TAG-NRDC-PARAMETERS-STOP
+-- TAG-NTN-PARAMETERS-START
+
+NTN-Parameters-r17 ::= SEQUENCE {
+ inactiveStateNTN-r17 ENUMERATED {supported} OPTIONAL,
+ ra-SDT-NTN-r17 ENUMERATED {supported} OPTIONAL,
+ srb-SDT-NTN-r17 ENUMERATED {supported} OPTIONAL,
+ measAndMobParametersNTN-r17 MeasAndMobParameters OPTIONAL,
+ mac-ParametersNTN-r17 MAC-Parameters OPTIONAL,
+ phy-ParametersNTN-r17 Phy-Parameters OPTIONAL,
+ fdd-Add-UE-NR-CapabilitiesNTN-r17 UE-NR-CapabilityAddXDD-Mode OPTIONAL,
+ fr1-Add-UE-NR-CapabilitiesNTN-r17 UE-NR-CapabilityAddFRX-Mode OPTIONAL,
+ ue-BasedPerfMeas-ParametersNTN-r17 UE-BasedPerfMeas-Parameters-r16 OPTIONAL,
+ son-ParametersNTN-r17 SON-Parameters-r16 OPTIONAL
+}
+
+-- TAG-NTN-PARAMETERS-STOP
+-- TAG-OLPC-SRS-POS-START
+
+OLPC-SRS-Pos-r16 ::= SEQUENCE {
+ olpc-SRS-PosBasedOnPRS-Serving-r16 ENUMERATED {supported} OPTIONAL,
+ olpc-SRS-PosBasedOnSSB-Neigh-r16 ENUMERATED {supported} OPTIONAL,
+ olpc-SRS-PosBasedOnPRS-Neigh-r16 ENUMERATED {supported} OPTIONAL,
+ maxNumberPathLossEstimatePerServing-r16 ENUMERATED {n1, n4, n8, n16} OPTIONAL
+}
+
+--TAG-OLPC-SRS-POS-STOP
+-- TAG-PDCP-PARAMETERS-START
+
+PDCP-Parameters ::= SEQUENCE {
+ supportedROHC-Profiles SEQUENCE {
+ profile0x0000 BOOLEAN,
+ profile0x0001 BOOLEAN,
+ profile0x0002 BOOLEAN,
+ profile0x0003 BOOLEAN,
+ profile0x0004 BOOLEAN,
+ profile0x0006 BOOLEAN,
+ profile0x0101 BOOLEAN,
+ profile0x0102 BOOLEAN,
+ profile0x0103 BOOLEAN,
+ profile0x0104 BOOLEAN
+ },
+ maxNumberROHC-ContextSessions ENUMERATED {cs2, cs4, cs8, cs12, cs16, cs24, cs32, cs48, cs64,
+ cs128, cs256, cs512, cs1024, cs16384, spare2, spare1},
+ uplinkOnlyROHC-Profiles ENUMERATED {supported} OPTIONAL,
+ continueROHC-Context ENUMERATED {supported} OPTIONAL,
+ outOfOrderDelivery ENUMERATED {supported} OPTIONAL,
+ shortSN ENUMERATED {supported} OPTIONAL,
+ pdcp-DuplicationSRB ENUMERATED {supported} OPTIONAL,
+ pdcp-DuplicationMCG-OrSCG-DRB ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ drb-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ non-DRB-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ extendedDiscardTimer-r16 ENUMERATED {supported} OPTIONAL,
+ continueEHC-Context-r16 ENUMERATED {supported} OPTIONAL,
+ ehc-r16 ENUMERATED {supported} OPTIONAL,
+ maxNumberEHC-Contexts-r16 ENUMERATED {cs2, cs4, cs8, cs16, cs32, cs64, cs128, cs256, cs512,
+ cs1024, cs2048, cs4096, cs8192, cs16384, cs32768, cs65536} OPTIONAL,
+ jointEHC-ROHC-Config-r16 ENUMERATED {supported} OPTIONAL,
+ pdcp-DuplicationMoreThanTwoRLC-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ longSN-RedCap-r17 ENUMERATED {supported} OPTIONAL,
+ udc-r17 SEQUENCE {
+ standardDictionary-r17 ENUMERATED {supported} OPTIONAL,
+ operatorDictionary-r17 SEQUENCE {
+ versionOfDictionary-r17 INTEGER (0..15),
+ associatedPLMN-ID-r17 PLMN-Identity
+ } OPTIONAL,
+ continueUDC-r17 ENUMERATED {supported} OPTIONAL,
+ supportOfBufferSize-r17 ENUMERATED {kbyte4, kbyte8} OPTIONAL
+ } OPTIONAL
+ ]]
+}
+
+-- TAG-PDCP-PARAMETERS-STOP
+-- TAG-PDCP-PARAMETERSMRDC-START
+
+PDCP-ParametersMRDC ::= SEQUENCE {
+ pdcp-DuplicationSplitSRB ENUMERATED {supported} OPTIONAL,
+ pdcp-DuplicationSplitDRB ENUMERATED {supported} OPTIONAL
+}
+
+PDCP-ParametersMRDC-v1610 ::= SEQUENCE {
+ scg-DRB-NR-IAB-r16 ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-PDCP-PARAMETERSMRDC-STOP
+-- TAG-PHY-PARAMETERS-START
+
+Phy-Parameters ::= SEQUENCE {
+ phy-ParametersCommon Phy-ParametersCommon OPTIONAL,
+ phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL,
+ phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL,
+ phy-ParametersFR1 Phy-ParametersFR1 OPTIONAL,
+ phy-ParametersFR2 Phy-ParametersFR2 OPTIONAL
+}
+
+Phy-Parameters-v16a0 ::= SEQUENCE {
+ phy-ParametersCommon-v16a0 Phy-ParametersCommon-v16a0 OPTIONAL
+}
+
+Phy-ParametersCommon ::= SEQUENCE {
+ csi-RS-CFRA-ForHO ENUMERATED {supported} OPTIONAL,
+ dynamicPRB-BundlingDL ENUMERATED {supported} OPTIONAL,
+ sp-CSI-ReportPUCCH ENUMERATED {supported} OPTIONAL,
+ sp-CSI-ReportPUSCH ENUMERATED {supported} OPTIONAL,
+ nzp-CSI-RS-IntefMgmt ENUMERATED {supported} OPTIONAL,
+ type2-SP-CSI-Feedback-LongPUCCH ENUMERATED {supported} OPTIONAL,
+ precoderGranularityCORESET ENUMERATED {supported} OPTIONAL,
+ dynamicHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL,
+ semiStaticHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL,
+ spatialBundlingHARQ-ACK ENUMERATED {supported} OPTIONAL,
+ dynamicBetaOffsetInd-HARQ-ACK-CSI ENUMERATED {supported} OPTIONAL,
+ pucch-Repetition-F1-3-4 ENUMERATED {supported} OPTIONAL,
+ ra-Type0-PUSCH ENUMERATED {supported} OPTIONAL,
+ dynamicSwitchRA-Type0-1-PDSCH ENUMERATED {supported} OPTIONAL,
+ dynamicSwitchRA-Type0-1-PUSCH ENUMERATED {supported} OPTIONAL,
+ pdsch-MappingTypeA ENUMERATED {supported} OPTIONAL,
+ pdsch-MappingTypeB ENUMERATED {supported} OPTIONAL,
+ interleavingVRB-ToPRB-PDSCH ENUMERATED {supported} OPTIONAL,
+ interSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL,
+ type1-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+ type2-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+ pusch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+ pdsch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL,
+ downlinkSPS ENUMERATED {supported} OPTIONAL,
+ configuredUL-GrantType1 ENUMERATED {supported} OPTIONAL,
+ configuredUL-GrantType2 ENUMERATED {supported} OPTIONAL,
+ pre-EmptIndication-DL ENUMERATED {supported} OPTIONAL,
+ cbg-TransIndication-DL ENUMERATED {supported} OPTIONAL,
+ cbg-TransIndication-UL ENUMERATED {supported} OPTIONAL,
+ cbg-FlushIndication-DL ENUMERATED {supported} OPTIONAL,
+ dynamicHARQ-ACK-CodeB-CBG-Retx-DL ENUMERATED {supported} OPTIONAL,
+ rateMatchingResrcSetSemi-Static ENUMERATED {supported} OPTIONAL,
+ rateMatchingResrcSetDynamic ENUMERATED {supported} OPTIONAL,
+ bwp-SwitchingDelay ENUMERATED {type1, type2} OPTIONAL,
+ ...,
+ [[
+ dummy ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ maxNumberSearchSpaces ENUMERATED {n10} OPTIONAL,
+ rateMatchingCtrlResrcSetDynamic ENUMERATED {supported} OPTIONAL,
+ maxLayersMIMO-Indication ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ spCellPlacement CarrierAggregationVariant OPTIONAL
+ ]],
+ [[
+ -- R1 9-1: Basic channel structure and procedure of 2-step RACH
+ twoStepRACH-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-1: Monitoring DCI format 1_2 and DCI format 0_2
+ dci-Format1-2And0-2-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-1a: Monitoring both DCI format 0_1/1_1 and DCI format 0_2/1_2 in the same search space
+ monitoringDCI-SameSearchSpace-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-10: Type 2 configured grant release by DCI format 0_1
+ type2-CG-ReleaseDCI-0-1-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-11: Type 2 configured grant release by DCI format 0_2
+ type2-CG-ReleaseDCI-0-2-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 12-3: SPS release by DCI format 1_1
+ sps-ReleaseDCI-1-1-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 12-3a: SPS release by DCI format 1_2
+ sps-ReleaseDCI-1-2-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 14-8: CSI trigger states containing non-active BWP
+ csi-TriggerStateNon-ActiveBWP-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 20-2: Support up to 4 SMTCs configured for an IAB node MT per frequency location, including IAB-specific SMTC window periodicities
+ separateSMTC-InterIAB-Support-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 20-3: Support RACH configuration separately from the RACH configuration for UE access, including new IAB-specific offset and scaling factors
+ separateRACH-IAB-Support-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 20-5a: Support semi-static configuration/indication of UL-Flexible-DL slot formats for IAB-MT resources
+ ul-flexibleDL-SlotFormatSemiStatic-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 20-5b: Support dynamic indication of UL-Flexible-DL slot formats for IAB-MT resources
+ ul-flexibleDL-SlotFormatDynamics-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ dft-S-OFDM-WaveformUL-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 20-6: Support DCI Format 2_5 based indication of soft resource availability to an IAB node
+ dci-25-AI-RNTI-Support-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 20-7: Support T_delta reception.
+ t-DeltaReceptionSupport-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 20-8: Support of Desired guard symbol reporting and provided guard symbok reception.
+ guardSymbolReportReception-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-8 HARQ-ACK codebook type and spatial bundling per PUCCH group
+ harqACK-CB-SpatialBundlingPUCCH-Group-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 19-2: Cross Slot Scheduling
+ crossSlotScheduling-r16 SEQUENCE {
+ non-SharedSpectrumChAccess-r16 ENUMERATED {supported} OPTIONAL,
+ sharedSpectrumChAccess-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ maxNumberSRS-PosPathLossEstimateAllServingCells-r16 ENUMERATED {n1, n4, n8, n16} OPTIONAL,
+ extendedCG-Periodicities-r16 ENUMERATED {supported} OPTIONAL,
+ extendedSPS-Periodicities-r16 ENUMERATED {supported} OPTIONAL,
+ codebookVariantsList-r16 CodebookVariantsList-r16 OPTIONAL,
+ -- R1 11-6: PUSCH repetition Type A
+ pusch-RepetitionTypeA-r16 SEQUENCE {
+ sharedSpectrumChAccess-r16 ENUMERATED {supported} OPTIONAL,
+ non-SharedSpectrumChAccess-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ -- R1 11-4b: DL priority indication in DCI with mixed DCI formats
+ dci-DL-PriorityIndicator-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 12-1a: UL priority indication in DCI with mixed DCI formats
+ dci-UL-PriorityIndicator-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-1e: Maximum number of configured pathloss reference RSs for PUSCH/PUCCH/SRS by RRC for MAC-CE based pathloss reference RS update
+ maxNumberPathlossRS-Update-r16 ENUMERATED {n4, n8, n16, n32, n64} OPTIONAL,
+
+ -- R1 18-9: Usage of the PDSCH starting time for HARQ-ACK type 2 codebook
+ type2-HARQ-ACK-Codebook-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-1g-1: Resources for beam management, pathloss measurement, BFD, RLM and new beam identification across frequency ranges
+ maxTotalResourcesForAcrossFreqRanges-r16 SEQUENCE {
+ maxNumberResWithinSlotAcrossCC-AcrossFR-r16 ENUMERATED {n2, n4, n8, n12, n16, n32, n64, n128} OPTIONAL,
+ maxNumberResAcrossCC-AcrossFR-r16 ENUMERATED {n2, n4, n8, n12, n16, n32, n40, n48, n64, n72, n80, n96, n128, n256}
+ OPTIONAL
+ } OPTIONAL,
+ -- R1 16-2a-4: HARQ-ACK for multi-DCI based multi-TRP - separate
+ harqACK-separateMultiDCI-MultiTRP-r16 SEQUENCE {
+ maxNumberLongPUCCHs-r16 ENUMERATED {longAndLong, longAndShort, shortAndShort} OPTIONAL
+ } OPTIONAL,
+ -- R1 16-2a-4: HARQ-ACK for multi-DCI based multi-TRP - joint
+ harqACK-jointMultiDCI-MultiTRP-r16 ENUMERATED {supported} OPTIONAL,
+ -- R4 9-1: BWP switching on multiple CCs RRM requirements
+ bwp-SwitchingMultiCCs-r16 CHOICE {
+ type1-r16 ENUMERATED {us100, us200},
+ type2-r16 ENUMERATED {us200, us400, us800, us1000}
+ } OPTIONAL
+ ]],
+ [[
+ targetSMTC-SCG-r16 ENUMERATED {supported} OPTIONAL,
+ supportRepetitionZeroOffsetRV-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-12: in-order CBG-based re-transmission
+ cbg-TransInOrderPUSCH-UL-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R4 6-3: Dormant BWP switching on multiple CCs RRM requirements
+ bwp-SwitchingMultiDormancyCCs-r16 CHOICE {
+ type1-r16 ENUMERATED {us100, us200},
+ type2-r16 ENUMERATED {us200, us400, us800, us1000}
+ } OPTIONAL,
+ -- R1 16-2a-8: Indicates that retransmission scheduled by a different CORESETPoolIndex for multi-DCI multi-TRP is not supported.
+ supportRetx-Diff-CoresetPool-Multi-DCI-TRP-r16 ENUMERATED {notSupported} OPTIONAL,
+ -- R1 22-10: Support of pdcch-MonitoringAnyOccasionsWithSpanGap in case of cross-carrier scheduling with different SCSs
+ pdcch-MonitoringAnyOccasionsWithSpanGapCrossCarrierSch-r16 ENUMERATED {mode2, mode3} OPTIONAL
+ ]],
+ [[
+ -- R1 16-1j-1: Support of 2 port CSI-RS for new beam identification
+ newBeamIdentifications2PortCSI-RS-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-1j-2: Support of 2 port CSI-RS for pathloss estimation
+ pathlossEstimation2PortCSI-RS-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ mux-HARQ-ACK-withoutPUCCH-onPUSCH-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 31-1: Support of Desired Guard Symbol reporting and provided guard symbol reception.
+ guardSymbolReportReception-IAB-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 31-2: support of restricted IAB-DU beam reception
+ restricted-IAB-DU-BeamReception-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 31-3: support of recommended IAB-MT beam transmission for DL and UL beam
+ recommended-IAB-MT-BeamTransmission-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 31-4: support of case 6 timing alignment indication reception
+ case6-TimingAlignmentReception-IAB-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 31-5: support of case 7 timing offset indication reception and case 7 timing at parent-node indication reception
+ case7-TimingAlignmentReception-IAB-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 31-6: support of desired DL Tx power adjustment reporting and DL Tx power adjustment reception
+ dl-tx-PowerAdjustment-IAB-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 31-7: support of desired IAB-MT PSD range reporting
+ desired-ul-tx-PowerAdjustment-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 31-8: support of monitoring DCI Format 2_5 scrambled by AI-RNTI for indication of FDM soft resource availability to an IAB node
+ fdm-SoftResourceAvailability-DynamicIndication-r17 ENUMERATED{supported} OPTIONAL,
+ -- R1 31-10: Support of updated T_delta range reception
+ updated-T-DeltaRangeReception-r17 ENUMERATED{supported} OPTIONAL,
+ -- R1 30-5: Support slot based dynamic PUCCH repetition indication for PUCCH formats 0/1/2/3/4
+ slotBasedDynamicPUCCH-Rep-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-1: Support of HARQ-ACK deferral in case of TDD collision
+ sps-HARQ-ACK-Deferral-r17 SEQUENCE {
+ non-SharedSpectrumChAccess-r17 ENUMERATED {supported} OPTIONAL,
+ sharedSpectrumChAccess-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ -- R1 23-1-1k Maximum number of configured CC lists (per UE)
+ unifiedJointTCI-commonUpdate-r17 INTEGER (1..4) OPTIONAL,
+ -- R1 23-2-1c PDCCH repetition with a single span of three contiguous OFDM symbols that is within the first four OFDM symbols in a slot
+ mTRP-PDCCH-singleSpan-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 27-23: Support of more than one activated PRS processing windows across all active DL BWPs
+ supportedActivatedPRS-ProcessingWindow-r17 ENUMERATED {n2, n3, n4} OPTIONAL,
+ cg-TimeDomainAllocationExtension-r17 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 25-20: Propagation delay compensation based on legacy TA procedure for TN and licensed
+ ta-BasedPDC-TN-NonSharedSpectrumChAccess-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 31-11: Directional Collision Handling in DC operation
+ directionalCollisionDC-IAB-r17 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ dummy1 ENUMERATED {supported} OPTIONAL,
+ dummy2 ENUMERATED {supported} OPTIONAL,
+ dummy3 ENUMERATED {supported} OPTIONAL,
+ dummy4 ENUMERATED {supported} OPTIONAL,
+ srs-AdditionalRepetition-r17 ENUMERATED {supported} OPTIONAL,
+ pusch-Repetition-CG-SDT-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+Phy-ParametersCommon-v16a0 ::= SEQUENCE {
+ srs-PeriodicityAndOffsetExt-r16 ENUMERATED {supported} OPTIONAL
+}
+
+Phy-ParametersXDD-Diff ::= SEQUENCE {
+ dynamicSFI ENUMERATED {supported} OPTIONAL,
+ twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL,
+ twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL,
+ twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ dl-SchedulingOffset-PDSCH-TypeA ENUMERATED {supported} OPTIONAL,
+ dl-SchedulingOffset-PDSCH-TypeB ENUMERATED {supported} OPTIONAL,
+ ul-SchedulingOffset ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+Phy-ParametersFRX-Diff ::= SEQUENCE {
+ dynamicSFI ENUMERATED {supported} OPTIONAL,
+ dummy1 BIT STRING (SIZE (2)) OPTIONAL,
+ twoFL-DMRS BIT STRING (SIZE (2)) OPTIONAL,
+ dummy2 BIT STRING (SIZE (2)) OPTIONAL,
+ dummy3 BIT STRING (SIZE (2)) OPTIONAL,
+ supportedDMRS-TypeDL ENUMERATED {type1, type1And2} OPTIONAL,
+ supportedDMRS-TypeUL ENUMERATED {type1, type1And2} OPTIONAL,
+ semiOpenLoopCSI ENUMERATED {supported} OPTIONAL,
+ csi-ReportWithoutPMI ENUMERATED {supported} OPTIONAL,
+ csi-ReportWithoutCQI ENUMERATED {supported} OPTIONAL,
+ onePortsPTRS BIT STRING (SIZE (2)) OPTIONAL,
+ twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL,
+ pucch-F2-WithFH ENUMERATED {supported} OPTIONAL,
+ pucch-F3-WithFH ENUMERATED {supported} OPTIONAL,
+ pucch-F4-WithFH ENUMERATED {supported} OPTIONAL,
+ pucch-F0-2WithoutFH ENUMERATED {notSupported} OPTIONAL,
+ pucch-F1-3-4WithoutFH ENUMERATED {notSupported} OPTIONAL,
+ mux-SR-HARQ-ACK-CSI-PUCCH-MultiPerSlot ENUMERATED {supported} OPTIONAL,
+ uci-CodeBlockSegmentation ENUMERATED {supported} OPTIONAL,
+ onePUCCH-LongAndShortFormat ENUMERATED {supported} OPTIONAL,
+ twoPUCCH-AnyOthersInSlot ENUMERATED {supported} OPTIONAL,
+ intraSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL,
+ pusch-LBRM ENUMERATED {supported} OPTIONAL,
+ pdcch-BlindDetectionCA INTEGER (4..16) OPTIONAL,
+ tpc-PUSCH-RNTI ENUMERATED {supported} OPTIONAL,
+ tpc-PUCCH-RNTI ENUMERATED {supported} OPTIONAL,
+ tpc-SRS-RNTI ENUMERATED {supported} OPTIONAL,
+ absoluteTPC-Command ENUMERATED {supported} OPTIONAL,
+ twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL,
+ twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL,
+ pusch-HalfPi-BPSK ENUMERATED {supported} OPTIONAL,
+ pucch-F3-4-HalfPi-BPSK ENUMERATED {supported} OPTIONAL,
+ almostContiguousCP-OFDM-UL ENUMERATED {supported} OPTIONAL,
+ sp-CSI-RS ENUMERATED {supported} OPTIONAL,
+ sp-CSI-IM ENUMERATED {supported} OPTIONAL,
+ tdd-MultiDL-UL-SwitchPerSlot ENUMERATED {supported} OPTIONAL,
+ multipleCORESET ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ csi-RS-IM-ReceptionForFeedback CSI-RS-IM-ReceptionForFeedback OPTIONAL,
+ csi-RS-ProcFrameworkForSRS CSI-RS-ProcFrameworkForSRS OPTIONAL,
+ csi-ReportFramework CSI-ReportFramework OPTIONAL,
+ mux-SR-HARQ-ACK-CSI-PUCCH-OncePerSlot SEQUENCE {
+ sameSymbol ENUMERATED {supported} OPTIONAL,
+ diffSymbol ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ mux-SR-HARQ-ACK-PUCCH ENUMERATED {supported} OPTIONAL,
+ mux-MultipleGroupCtrlCH-Overlap ENUMERATED {supported} OPTIONAL,
+ dl-SchedulingOffset-PDSCH-TypeA ENUMERATED {supported} OPTIONAL,
+ dl-SchedulingOffset-PDSCH-TypeB ENUMERATED {supported} OPTIONAL,
+ ul-SchedulingOffset ENUMERATED {supported} OPTIONAL,
+ dl-64QAM-MCS-TableAlt ENUMERATED {supported} OPTIONAL,
+ ul-64QAM-MCS-TableAlt ENUMERATED {supported} OPTIONAL,
+ cqi-TableAlt ENUMERATED {supported} OPTIONAL,
+ oneFL-DMRS-TwoAdditionalDMRS-UL ENUMERATED {supported} OPTIONAL,
+ twoFL-DMRS-TwoAdditionalDMRS-UL ENUMERATED {supported} OPTIONAL,
+ oneFL-DMRS-ThreeAdditionalDMRS-UL ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ pdcch-BlindDetectionNRDC SEQUENCE {
+ pdcch-BlindDetectionMCG-UE INTEGER (1..15),
+ pdcch-BlindDetectionSCG-UE INTEGER (1..15)
+ } OPTIONAL,
+ mux-HARQ-ACK-PUSCH-DiffSymbol ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 11-1b: Type 1 HARQ-ACK codebook support for relative TDRA for DL
+ type1-HARQ-ACK-Codebook-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 11-8: Enhanced UL power control scheme
+ enhancedPowerControl-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-1b-1: TCI state activation across multiple CCs
+ simultaneousTCI-ActMultipleCC-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-1b-2: Spatial relation update across multiple CCs
+ simultaneousSpatialRelationMultipleCC-r16 ENUMERATED {supported} OPTIONAL,
+ cli-RSSI-FDM-DL-r16 ENUMERATED {supported} OPTIONAL,
+ cli-SRS-RSRP-FDM-DL-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 19-3: Maximum MIMO Layer Adaptation
+ maxLayersMIMO-Adaptation-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 12-5: Configuration of aggregation factor per SPS configuration
+ aggregationFactorSPS-DL-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-1g: Resources for beam management, pathloss measurement, BFD, RLM and new beam identification
+ maxTotalResourcesForOneFreqRange-r16 SEQUENCE {
+ maxNumberResWithinSlotAcrossCC-OneFR-r16 ENUMERATED {n2, n4, n8, n12, n16, n32, n64, n128} OPTIONAL,
+ maxNumberResAcrossCC-OneFR-r16 ENUMERATED {n2, n4, n8, n12, n16, n32, n40, n48, n64, n72, n80, n96, n128, n256}
+ OPTIONAL
+ } OPTIONAL,
+ -- R1 16-7: Extension of the maximum number of configured aperiodic CSI report settings
+ csi-ReportFrameworkExt-r16 CSI-ReportFrameworkExt-r16 OPTIONAL
+ ]],
+ [[
+ twoTCI-Act-servingCellInCC-List-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 22-11: Support of 'cri-RI-CQI' report without non-PMI-PortIndication
+ cri-RI-CQI-WithoutNon-PMI-PortInd-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 25-11: 4-bits subband CQI for TN and licensed
+ cqi-4-BitsSubbandTN-NonSharedSpectrumChAccess-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+Phy-ParametersFR1 ::= SEQUENCE {
+ pdcch-MonitoringSingleOccasion ENUMERATED {supported} OPTIONAL,
+ scs-60kHz ENUMERATED {supported} OPTIONAL,
+ pdsch-256QAM-FR1 ENUMERATED {supported} OPTIONAL,
+ pdsch-RE-MappingFR1-PerSymbol ENUMERATED {n10, n20} OPTIONAL,
+ ...,
+ [[
+ pdsch-RE-MappingFR1-PerSlot ENUMERATED {n16, n32, n48, n64, n80, n96, n112, n128,
+ n144, n160, n176, n192, n208, n224, n240, n256} OPTIONAL
+ ]],
+ [[
+ -- R1 22-12: PDCCH monitoring with a single span of three contiguous OFDM symbols that is within the first four OFDM symbols in a
+ -- slot
+ pdcch-MonitoringSingleSpanFirst4Sym-r16 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+Phy-ParametersFR2 ::= SEQUENCE {
+ dummy ENUMERATED {supported} OPTIONAL,
+ pdsch-RE-MappingFR2-PerSymbol ENUMERATED {n6, n20} OPTIONAL,
+ ...,
+ [[
+ pCell-FR2 ENUMERATED {supported} OPTIONAL,
+ pdsch-RE-MappingFR2-PerSlot ENUMERATED {n16, n32, n48, n64, n80, n96, n112, n128,
+ n144, n160, n176, n192, n208, n224, n240, n256} OPTIONAL
+ ]],
+ [[
+ -- R1 16-1c: Support of default spatial relation and pathloss reference RS for dedicated-PUCCH/SRS and PUSCH
+ defaultSpatialRelationPathlossRS-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 16-1d: Support of spatial relation update for AP-SRS via MAC CE
+ spatialRelationUpdateAP-SRS-r16 ENUMERATED {supported} OPTIONAL,
+ maxNumberSRS-PosSpatialRelationsAllServingCells-r16 ENUMERATED {n0, n1, n2, n4, n8, n16} OPTIONAL
+ ]]
+}
+
+-- TAG-PHY-PARAMETERS-STOP
+-- TAG-PHY-PARAMETERSMRDC-START
+
+Phy-ParametersMRDC ::= SEQUENCE {
+ naics-Capability-List SEQUENCE (SIZE (1..maxNrofNAICS-Entries)) OF NAICS-Capability-Entry OPTIONAL,
+ ...,
+ [[
+ spCellPlacement CarrierAggregationVariant OPTIONAL
+ ]],
+ [[
+ -- R1 18-3b: Semi-statically configured LTE UL transmissions in all UL subframes not limited to tdm-pattern in case of TDD PCell
+ tdd-PCellUL-TX-AllUL-Subframe-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 18-3a: Semi-statically configured LTE UL transmissions in all UL subframes not limited to tdm-pattern in case of FDD PCell
+ fdd-PCellUL-TX-AllUL-Subframe-r16 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+NAICS-Capability-Entry ::= SEQUENCE {
+ numberOfNAICS-CapableCC INTEGER(1..5),
+ numberOfAggregatedPRB ENUMERATED {n50, n75, n100, n125, n150, n175, n200, n225,
+ n250, n275, n300, n350, n400, n450, n500, spare},
+ ...
+}
+
+-- TAG-PHY-PARAMETERSMRDC-STOP
+-- TAG-PHY-PARAMETERSSHAREDSPECTRUMCHACCESS-START
+
+Phy-ParametersSharedSpectrumChAccess-r16 ::= SEQUENCE {
+ -- 10-32 (1-2): SS block based SINR measurement (SS-SINR) for unlicensed spectrum
+ ss-SINR-Meas-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-33 (2-32a): Semi-persistent CSI report on PUCCH for unlicensed spectrum
+ sp-CSI-ReportPUCCH-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-33a (2-32b): Semi-persistent CSI report on PUSCH for unlicensed spectrum
+ sp-CSI-ReportPUSCH-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-34 (3-6): Dynamic SFI monitoring for unlicensed spectrum
+ dynamicSFI-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-35c (4-19c): SR/HARQ-ACK/CSI multiplexing once per slot using a PUCCH (or HARQ-ACK/CSI piggybacked on a PUSCH) when SR/HARQ-
+ -- ACK/CSI are supposed to be sent with different starting symbols in a slot for unlicensed spectrum
+ -- 10-35 (4-19): SR/HARQ-ACK/CSI multiplexing once per slot using a PUCCH (or HARQ-ACK/CSI piggybacked on a PUSCH) when SR/HARQ-
+ -- ACK/CSI are supposed to be sent with the same starting symbol on the PUCCH resources in a slot for unlicensed spectrum
+ mux-SR-HARQ-ACK-CSI-PUCCH-OncePerSlot-r16 SEQUENCE {
+ sameSymbol-r16 ENUMERATED {supported} OPTIONAL,
+ diffSymbol-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ -- 10-35a (4-19a): Overlapping PUCCH resources have different starting symbols in a slot for unlicensed spectrum
+ mux-SR-HARQ-ACK-PUCCH-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-35b (4-19b): SR/HARQ-ACK/CSI multiplexing more than once per slot using a PUCCH (or HARQ-ACK/CSI piggybacked on a PUSCH) when
+ -- SR/HARQ ACK/CSI are supposed to be sent with the same or different starting symbol in a slot for unlicensed spectrum
+ mux-SR-HARQ-ACK-CSI-PUCCH-MultiPerSlot-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-36 (4-28): HARQ-ACK multiplexing on PUSCH with different PUCCH/PUSCH starting OFDM symbols for unlicensed spectrum
+ mux-HARQ-ACK-PUSCH-DiffSymbol-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-37 (4-23): Repetitions for PUCCH format 1, 3, and 4 over multiple slots with K = 2, 4, 8 for unlicensed spectrum
+ pucch-Repetition-F1-3-4-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-38 (5-14): Type 1 configured PUSCH repetitions over multiple slots for unlicensed spectrum
+ type1-PUSCH-RepetitionMultiSlots-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-39 (5-16): Type 2 configured PUSCH repetitions over multiple slots for unlicensed spectrum
+ type2-PUSCH-RepetitionMultiSlots-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-40 (5-17): PUSCH repetitions over multiple slots for unlicensed spectrum
+ pusch-RepetitionMultiSlots-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-40a (5-17a): PDSCH repetitions over multiple slots for unlicensed spectrum
+ pdsch-RepetitionMultiSlots-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-41 (5-18): DL SPS
+ downlinkSPS-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-42 (5-19): Type 1 Configured UL grant
+ configuredUL-GrantType1-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-43 (5-20): Type 2 Configured UL grant
+ configuredUL-GrantType2-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-44 (5-21): Pre-emption indication for DL
+ pre-EmptIndication-DL-r16 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-PHY-PARAMETERSSHAREDSPECTRUMCHACCESS-STOP
+-- TAG-POSSRS-RRC-INACTIVE-OUTSIDEINITIALUL-BWP-START
+
+PosSRS-RRC-Inactive-OutsideInitialUL-BWP-r17::= SEQUENCE {
+ -- R1 27-15b: Positioning SRS transmission in RRC_INACTIVE state configured outside initial UL BWP
+ maxSRSposBandwidthForEachSCS-withinCC-FR1-r17 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz35, mhz40,
+ mhz45, mhz50, mhz60, mhz70, mhz80, mhz90, mhz100} OPTIONAL,
+ maxSRSposBandwidthForEachSCS-withinCC-FR2-r17 ENUMERATED {mhz50, mhz100, mhz200, mhz400} OPTIONAL,
+ maxNumOfSRSposResourceSets-r17 ENUMERATED {n1, n2, n4, n8, n12, n16} OPTIONAL,
+ maxNumOfPeriodicSRSposResources-r17 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL,
+ maxNumOfPeriodicSRSposResourcesPerSlot-r17 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14} OPTIONAL,
+ differentNumerologyBetweenSRSposAndInitialBWP-r17 ENUMERATED {supported} OPTIONAL,
+ srsPosWithoutRestrictionOnBWP-r17 ENUMERATED {supported} OPTIONAL,
+ maxNumOfPeriodicAndSemipersistentSRSposResources-r17 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL,
+ maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot-r17 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14} OPTIONAL,
+ differentCenterFreqBetweenSRSposAndInitialBWP-r17 ENUMERATED {supported} OPTIONAL,
+ switchingTimeSRS-TX-OtherTX-r17 ENUMERATED {us100, us140, us200, us300, us500} OPTIONAL,
+ -- R1 27-15c: Support of positioning SRS transmission in RRC_INACTIVE state outside initial BWP with semi-persistent SRS
+ maxNumOfSemiPersistentSRSposResources-r17 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL,
+ maxNumOfSemiPersistentSRSposResourcesPerSlot-r17 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14} OPTIONAL,
+ ...
+}
+
+-- TAG-POSSRS-RRC-INACTIVE-OUTSIDEINITIALUL-BWP-STOP
+-- TAG-POWSAV-PARAMETERS-START
+
+PowSav-Parameters-r16 ::= SEQUENCE {
+ powSav-ParametersCommon-r16 PowSav-ParametersCommon-r16 OPTIONAL,
+ powSav-ParametersFRX-Diff-r16 PowSav-ParametersFRX-Diff-r16 OPTIONAL,
+ ...
+}
+
+PowSav-Parameters-v1700 ::= SEQUENCE {
+ powSav-ParametersFR2-2-r17 PowSav-ParametersFR2-2-r17 OPTIONAL,
+ ...
+}
+
+PowSav-ParametersCommon-r16 ::= SEQUENCE {
+ drx-Preference-r16 ENUMERATED {supported} OPTIONAL,
+ maxCC-Preference-r16 ENUMERATED {supported} OPTIONAL,
+ releasePreference-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 19-4a: UE assistance information
+ minSchedulingOffsetPreference-r16 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+PowSav-ParametersFRX-Diff-r16 ::= SEQUENCE {
+ maxBW-Preference-r16 ENUMERATED {supported} OPTIONAL,
+ maxMIMO-LayerPreference-r16 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+PowSav-ParametersFR2-2-r17 ::= SEQUENCE {
+ maxBW-Preference-r17 ENUMERATED {supported} OPTIONAL,
+ maxMIMO-LayerPreference-r17 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-POWSAV-PARAMETERS-STOP
+-- TAG-PROCESSINGPARAMETERS-START
+
+ProcessingParameters ::= SEQUENCE {
+ fallback ENUMERATED {sc, cap1-only},
+ differentTB-PerSlot SEQUENCE {
+ upto1 NumberOfCarriers OPTIONAL,
+ upto2 NumberOfCarriers OPTIONAL,
+ upto4 NumberOfCarriers OPTIONAL,
+ upto7 NumberOfCarriers OPTIONAL
+ } OPTIONAL
+}
+
+NumberOfCarriers ::= INTEGER (1..16)
+
+-- TAG-PROCESSINGPARAMETERS-STOP
+-- TAG-PRS-PROCESSINGCAPABILITYOUTSIDEMGINPPWPERType-START
+
+PRS-ProcessingCapabilityOutsideMGinPPWperType-r17 ::= SEQUENCE {
+ prsProcessingType-r17 ENUMERATED {type1A, type1B, type2},
+ ppw-dl-PRS-BufferType-r17 ENUMERATED {type1, type2, ...},
+ ppw-durationOfPRS-Processing-r17 CHOICE {
+ ppw-durationOfPRS-Processing1-r17 SEQUENCE {
+ ppw-durationOfPRS-ProcessingSymbolsN-r17 ENUMERATED {msDot125, msDot25, msDot5, ms1, ms2, ms4, ms6, ms8, ms12,
+ ms16, ms20, ms25, ms30, ms32, ms35, ms40, ms45, ms50},
+ ppw-durationOfPRS-ProcessingSymbolsT-r17 ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms20, ms30, ms40, ms80,
+ ms160, ms320, ms640, ms1280}
+ },
+ ppw-durationOfPRS-Processing2-r17 SEQUENCE {
+ ppw-durationOfPRS-ProcessingSymbolsN2-r17 ENUMERATED {msDot125, msDot25, msDot5, ms1, ms2, ms3, ms4, ms5,
+ ms6, ms8, ms12},
+ ppw-durationOfPRS-ProcessingSymbolsT2-r17 ENUMERATED {ms4, ms5, ms6, ms8}
+ }
+ } OPTIONAL,
+ ppw-maxNumOfDL-PRS-ResProcessedPerSlot-r17 SEQUENCE {
+ scs15-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64} OPTIONAL,
+ scs30-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64} OPTIONAL,
+ scs60-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64} OPTIONAL,
+ scs120-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64} OPTIONAL,
+ ...
+ },
+ ppw-maxNumOfDL-Bandwidth-r17 CHOICE {
+ fr1-r17 ENUMERATED {mhz5, mhz10, mhz20, mhz40, mhz50, mhz80, mhz100},
+ fr2-r17 ENUMERATED {mhz50, mhz100, mhz200, mhz400}
+ } OPTIONAL
+}
+
+-- TAG-PRS-PROCESSINGCAPABILITYOUTSIDEMGINPPWPERType-STOP
+-- TAG-RAT-TYPE-START
+
+RAT-Type ::= ENUMERATED {nr, eutra-nr, eutra, utra-fdd-v1610, ...}
+
+-- TAG-RAT-TYPE-STOP
+-- TAG-REDCAPPARAMETERS-START
+
+RedCapParameters-r17::= SEQUENCE {
+ -- R1 28-1: RedCap UE
+ supportOfRedCap-r17 ENUMERATED {supported} OPTIONAL,
+ supportOf16DRB-RedCap-r17 ENUMERATED {supported} OPTIONAL
+}
+
+RedCapParameters-v1740::= SEQUENCE {
+ ncd-SSB-ForRedCapInitialBWP-SDT-r17 ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-REDCAPPARAMETERS-STOP
+-- TAG-RF-PARAMETERS-START
+
+RF-Parameters ::= SEQUENCE {
+ supportedBandListNR SEQUENCE (SIZE (1..maxBands)) OF BandNR,
+ supportedBandCombinationList BandCombinationList OPTIONAL,
+ appliedFreqBandListFilter FreqBandList OPTIONAL,
+ ...,
+ [[
+ supportedBandCombinationList-v1540 BandCombinationList-v1540 OPTIONAL,
+ srs-SwitchingTimeRequested ENUMERATED {true} OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1550 BandCombinationList-v1550 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1560 BandCombinationList-v1560 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1610 BandCombinationList-v1610 OPTIONAL,
+ supportedBandCombinationListSidelinkEUTRA-NR-r16 BandCombinationListSidelinkEUTRA-NR-r16 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-r16 BandCombinationList-UplinkTxSwitch-r16 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1630 BandCombinationList-v1630 OPTIONAL,
+ supportedBandCombinationListSidelinkEUTRA-NR-v1630 BandCombinationListSidelinkEUTRA-NR-v1630 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1630 BandCombinationList-UplinkTxSwitch-v1630 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1640 BandCombinationList-v1640 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1640 BandCombinationList-UplinkTxSwitch-v1640 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1650 BandCombinationList-v1650 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1650 BandCombinationList-UplinkTxSwitch-v1650 OPTIONAL
+ ]],
+ [[
+ extendedBand-n77-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-UplinkTxSwitch-v1670 BandCombinationList-UplinkTxSwitch-v1670 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1680 BandCombinationList-v1680 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1690 BandCombinationList-v1690 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1690 BandCombinationList-UplinkTxSwitch-v1690 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1700 BandCombinationList-v1700 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1700 BandCombinationList-UplinkTxSwitch-v1700 OPTIONAL,
+ supportedBandCombinationListSL-RelayDiscovery-r17 OCTET STRING OPTIONAL, -- Contains PC5 BandCombinationListSidelinkNR-r16
+ supportedBandCombinationListSL-NonRelayDiscovery-r17 OCTET STRING OPTIONAL, -- Contains PC5 BandCombinationListSidelinkNR-r16
+ supportedBandCombinationListSidelinkEUTRA-NR-v1710 BandCombinationListSidelinkEUTRA-NR-v1710 OPTIONAL,
+ sidelinkRequested-r17 ENUMERATED {true} OPTIONAL,
+ extendedBand-n77-2-r17 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1720 BandCombinationList-v1720 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1720 BandCombinationList-UplinkTxSwitch-v1720 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1730 BandCombinationList-v1730 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1730 BandCombinationList-UplinkTxSwitch-v1730 OPTIONAL,
+ supportedBandCombinationListSL-RelayDiscovery-v1730 BandCombinationListSL-Discovery-r17 OPTIONAL,
+ supportedBandCombinationListSL-NonRelayDiscovery-v1730 BandCombinationListSL-Discovery-r17 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1740 BandCombinationList-v1740 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1740 BandCombinationList-UplinkTxSwitch-v1740 OPTIONAL
+ ]]
+}
+
+RF-Parameters-v15g0 ::= SEQUENCE {
+ supportedBandCombinationList-v15g0 BandCombinationList-v15g0 OPTIONAL
+}
+
+RF-Parameters-v16a0 ::= SEQUENCE {
+ supportedBandCombinationList-v16a0 BandCombinationList-v16a0 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v16a0 BandCombinationList-UplinkTxSwitch-v16a0 OPTIONAL
+}
+
+RF-Parameters-v16c0 ::= SEQUENCE {
+ supportedBandListNR-v16c0 SEQUENCE (SIZE (1..maxBands)) OF BandNR-v16c0
+}
+
+BandNR ::= SEQUENCE {
+ bandNR FreqBandIndicatorNR,
+ modifiedMPR-Behaviour BIT STRING (SIZE (8)) OPTIONAL,
+ mimo-ParametersPerBand MIMO-ParametersPerBand OPTIONAL,
+ extendedCP ENUMERATED {supported} OPTIONAL,
+ multipleTCI ENUMERATED {supported} OPTIONAL,
+ bwp-WithoutRestriction ENUMERATED {supported} OPTIONAL,
+ bwp-SameNumerology ENUMERATED {upto2, upto4} OPTIONAL,
+ bwp-DiffNumerology ENUMERATED {upto4} OPTIONAL,
+ crossCarrierScheduling-SameSCS ENUMERATED {supported} OPTIONAL,
+ pdsch-256QAM-FR2 ENUMERATED {supported} OPTIONAL,
+ pusch-256QAM ENUMERATED {supported} OPTIONAL,
+ ue-PowerClass ENUMERATED {pc1, pc2, pc3, pc4} OPTIONAL,
+ rateMatchingLTE-CRS ENUMERATED {supported} OPTIONAL,
+ channelBWs-DL CHOICE {
+ fr1 SEQUENCE {
+ scs-15kHz BIT STRING (SIZE (10)) OPTIONAL,
+ scs-30kHz BIT STRING (SIZE (10)) OPTIONAL,
+ scs-60kHz BIT STRING (SIZE (10)) OPTIONAL
+ },
+ fr2 SEQUENCE {
+ scs-60kHz BIT STRING (SIZE (3)) OPTIONAL,
+ scs-120kHz BIT STRING (SIZE (3)) OPTIONAL
+ }
+ } OPTIONAL,
+ channelBWs-UL CHOICE {
+ fr1 SEQUENCE {
+ scs-15kHz BIT STRING (SIZE (10)) OPTIONAL,
+ scs-30kHz BIT STRING (SIZE (10)) OPTIONAL,
+ scs-60kHz BIT STRING (SIZE (10)) OPTIONAL
+ },
+ fr2 SEQUENCE {
+ scs-60kHz BIT STRING (SIZE (3)) OPTIONAL,
+ scs-120kHz BIT STRING (SIZE (3)) OPTIONAL
+ }
+ } OPTIONAL,
+ ...,
+ [[
+ maxUplinkDutyCycle-PC2-FR1 ENUMERATED {n60, n70, n80, n90, n100} OPTIONAL
+ ]],
+ [[
+ pucch-SpatialRelInfoMAC-CE ENUMERATED {supported} OPTIONAL,
+ powerBoosting-pi2BPSK ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ maxUplinkDutyCycle-FR2 ENUMERATED {n15, n20, n25, n30, n40, n50, n60, n70, n80, n90, n100} OPTIONAL
+ ]],
+ [[
+ channelBWs-DL-v1590 CHOICE {
+ fr1 SEQUENCE {
+ scs-15kHz BIT STRING (SIZE (16)) OPTIONAL,
+ scs-30kHz BIT STRING (SIZE (16)) OPTIONAL,
+ scs-60kHz BIT STRING (SIZE (16)) OPTIONAL
+ },
+ fr2 SEQUENCE {
+ scs-60kHz BIT STRING (SIZE (8)) OPTIONAL,
+ scs-120kHz BIT STRING (SIZE (8)) OPTIONAL
+ }
+ } OPTIONAL,
+ channelBWs-UL-v1590 CHOICE {
+ fr1 SEQUENCE {
+ scs-15kHz BIT STRING (SIZE (16)) OPTIONAL,
+ scs-30kHz BIT STRING (SIZE (16)) OPTIONAL,
+ scs-60kHz BIT STRING (SIZE (16)) OPTIONAL
+ },
+ fr2 SEQUENCE {
+ scs-60kHz BIT STRING (SIZE (8)) OPTIONAL,
+ scs-120kHz BIT STRING (SIZE (8)) OPTIONAL
+ }
+ } OPTIONAL
+ ]],
+ [[
+ asymmetricBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL
+ ]],
+ [[
+ -- R1 10: NR-unlicensed
+ sharedSpectrumChAccessParamsPerBand-r16 SharedSpectrumChAccessParamsPerBand-r16 OPTIONAL,
+ -- R1 11-7b: Independent cancellation of the overlapping PUSCHs in an intra-band UL CA
+ cancelOverlappingPUSCH-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 14-1: Multiple LTE-CRS rate matching patterns
+ multipleRateMatchingEUTRA-CRS-r16 SEQUENCE {
+ maxNumberPatterns-r16 INTEGER (2..6),
+ maxNumberNon-OverlapPatterns-r16 INTEGER (1..3)
+ } OPTIONAL,
+ -- R1 14-1a: Two LTE-CRS overlapping rate matching patterns within a part of NR carrier using 15 kHz overlapping with a LTE carrier
+ overlapRateMatchingEUTRA-CRS-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 14-2: PDSCH Type B mapping of length 9 and 10 OFDM symbols
+ pdsch-MappingTypeB-Alt-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 14-3: One slot periodic TRS configuration for FR1
+ oneSlotPeriodicTRS-r16 ENUMERATED {supported} OPTIONAL,
+ olpc-SRS-Pos-r16 OLPC-SRS-Pos-r16 OPTIONAL,
+ spatialRelationsSRS-Pos-r16 SpatialRelationsSRS-Pos-r16 OPTIONAL,
+ simulSRS-MIMO-TransWithinBand-r16 ENUMERATED {n2} OPTIONAL,
+ channelBW-DL-IAB-r16 CHOICE {
+ fr1-100mhz SEQUENCE {
+ scs-15kHz ENUMERATED {supported} OPTIONAL,
+ scs-30kHz ENUMERATED {supported} OPTIONAL,
+ scs-60kHz ENUMERATED {supported} OPTIONAL
+ },
+ fr2-200mhz SEQUENCE {
+ scs-60kHz ENUMERATED {supported} OPTIONAL,
+ scs-120kHz ENUMERATED {supported} OPTIONAL
+ }
+ } OPTIONAL,
+ channelBW-UL-IAB-r16 CHOICE {
+ fr1-100mhz SEQUENCE {
+ scs-15kHz ENUMERATED {supported} OPTIONAL,
+ scs-30kHz ENUMERATED {supported} OPTIONAL,
+ scs-60kHz ENUMERATED {supported} OPTIONAL
+ },
+ fr2-200mhz SEQUENCE {
+ scs-60kHz ENUMERATED {supported} OPTIONAL,
+ scs-120kHz ENUMERATED {supported} OPTIONAL
+ }
+ } OPTIONAL,
+ rasterShift7dot5-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ ue-PowerClass-v1610 ENUMERATED {pc1dot5} OPTIONAL,
+ condHandover-r16 ENUMERATED {supported} OPTIONAL,
+ condHandoverFailure-r16 ENUMERATED {supported} OPTIONAL,
+ condHandoverTwoTriggerEvents-r16 ENUMERATED {supported} OPTIONAL,
+ condPSCellChange-r16 ENUMERATED {supported} OPTIONAL,
+ condPSCellChangeTwoTriggerEvents-r16 ENUMERATED {supported} OPTIONAL,
+ mpr-PowerBoost-FR2-r16 ENUMERATED {supported} OPTIONAL,
+
+ -- R1 11-9: Multiple active configured grant configurations for a BWP of a serving cell
+ activeConfiguredGrant-r16 SEQUENCE {
+ maxNumberConfigsPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n12},
+ maxNumberConfigsAllCC-r16 INTEGER (2..32)
+ } OPTIONAL,
+ -- R1 11-9a: Joint release in a DCI for two or more configured grant Type 2 configurations for a given BWP of a serving cell
+ jointReleaseConfiguredGrantType2-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 12-2: Multiple SPS configurations
+ sps-r16 SEQUENCE {
+ maxNumberConfigsPerBWP-r16 INTEGER (1..8),
+ maxNumberConfigsAllCC-r16 INTEGER (2..32)
+ } OPTIONAL,
+ -- R1 12-2a: Joint release in a DCI for two or more SPS configurations for a given BWP of a serving cell
+ jointReleaseSPS-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 13-19: Simultaneous positioning SRS and MIMO SRS transmission within a band across multiple CCs
+ simulSRS-TransWithinBand-r16 ENUMERATED {n2} OPTIONAL,
+ trs-AdditionalBandwidth-r16 ENUMERATED {trs-AddBW-Set1, trs-AddBW-Set2} OPTIONAL,
+ handoverIntraF-IAB-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 22-5a: Simultaneous transmission of SRS for antenna switching and SRS for CB/NCB /BM for intra-band UL CA
+ -- R1 22-5c: Simultaneous transmission of SRS for antenna switching and SRS for antenna switching for intra-band UL CA
+ simulTX-SRS-AntSwitchingIntraBandUL-CA-r16 SimulSRS-ForAntennaSwitching-r16 OPTIONAL,
+ -- R1 10: NR-unlicensed
+ sharedSpectrumChAccessParamsPerBand-v1630 SharedSpectrumChAccessParamsPerBand-v1630 OPTIONAL
+ ]],
+ [[
+ handoverUTRA-FDD-r16 ENUMERATED {supported} OPTIONAL,
+ -- R4 7-4: Report the shorter transient capability supported by the UE: 2, 4 or 7us
+ enhancedUL-TransientPeriod-r16 ENUMERATED {us2, us4, us7} OPTIONAL,
+ sharedSpectrumChAccessParamsPerBand-v1640 SharedSpectrumChAccessParamsPerBand-v1640 OPTIONAL
+ ]],
+ [[
+ type1-PUSCH-RepetitionMultiSlots-v1650 ENUMERATED {supported} OPTIONAL,
+ type2-PUSCH-RepetitionMultiSlots-v1650 ENUMERATED {supported} OPTIONAL,
+ pusch-RepetitionMultiSlots-v1650 ENUMERATED {supported} OPTIONAL,
+ configuredUL-GrantType1-v1650 ENUMERATED {supported} OPTIONAL,
+ configuredUL-GrantType2-v1650 ENUMERATED {supported} OPTIONAL,
+ sharedSpectrumChAccessParamsPerBand-v1650 SharedSpectrumChAccessParamsPerBand-v1650 OPTIONAL
+ ]],
+ [[
+ enhancedSkipUplinkTxConfigured-v1660 ENUMERATED {supported} OPTIONAL,
+ enhancedSkipUplinkTxDynamic-v1660 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ maxUplinkDutyCycle-PC1dot5-MPE-FR1-r16 ENUMERATED {n10, n15, n20, n25, n30, n40, n50, n60, n70, n80, n90, n100} OPTIONAL,
+ txDiversity-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 36-1: Support of 1024QAM for PDSCH for FR1
+ pdsch-1024QAM-FR1-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 22-1 support of FR2 HST operation
+ ue-PowerClass-v1700 ENUMERATED {pc5, pc6, pc7} OPTIONAL,
+ -- R1 24: NR extension to 71GHz (FR2-2)
+ fr2-2-AccessParamsPerBand-r17 FR2-2-AccessParamsPerBand-r17 OPTIONAL,
+ rlm-Relaxation-r17 ENUMERATED {supported} OPTIONAL,
+ bfd-Relaxation-r17 ENUMERATED {supported} OPTIONAL,
+ cg-SDT-r17 ENUMERATED {supported} OPTIONAL,
+ locationBasedCondHandover-r17 ENUMERATED {supported} OPTIONAL,
+ timeBasedCondHandover-r17 ENUMERATED {supported} OPTIONAL,
+ eventA4BasedCondHandover-r17 ENUMERATED {supported} OPTIONAL,
+ mn-InitiatedCondPSCellChangeNRDC-r17 ENUMERATED {supported} OPTIONAL,
+ sn-InitiatedCondPSCellChangeNRDC-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 29-3a: PDCCH skipping
+ pdcch-SkippingWithoutSSSG-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 29-3b: 2 search space sets group switching
+ sssg-Switching-1BitInd-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 29-3c: 3 search space sets group switching
+ sssg-Switching-2BitInd-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 29-3d: 2 search space sets group switching with PDCCH skipping
+ pdcch-SkippingWithSSSG-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 29-3e: Support Search space set group switching capability 2 for FR1
+ searchSpaceSetGrp-switchCap2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 26-1: Uplink Time and Frequency pre-compensation and timing relationship enhancements
+ uplinkPreCompensation-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 26-4: UE reporting of information related to TA pre-compensation
+ uplink-TA-Reporting-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 26-5: Increasing the number of HARQ processes
+ max-HARQ-ProcessNumber-r17 ENUMERATED {u16d32, u32d16, u32d32} OPTIONAL,
+ -- R1 26-6: Type-2 HARQ codebook enhancement
+ type2-HARQ-Codebook-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 26-6a: Type-1 HARQ codebook enhancement
+ type1-HARQ-Codebook-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 26-6b: Type-3 HARQ codebook enhancement
+ type3-HARQ-Codebook-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 26-9: UE-specific K_offset
+ ue-specific-K-Offset-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-1f: Multiple PDSCH scheduling by single DCI for 120kHz in FR2-1
+ multiPDSCH-SingleDCI-FR2-1-SCS-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 24-1g: Multiple PUSCH scheduling by single DCI for 120kHz in FR2-1
+ multiPUSCH-SingleDCI-FR2-1-SCS-120kHz-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 14-4: Parallel PRS measurements in RRC_INACTIVE state, FR1/FR2 diff
+ parallelPRS-MeasRRC-Inactive-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 27-1-2: Support of UE-TxTEGs for UL TDOA
+ nr-UE-TxTEG-ID-MaxSupport-r17 ENUMERATED {n1, n2, n3, n4, n6, n8} OPTIONAL,
+ -- R1 27-17: PRS processing in RRC_INACTIVE
+ prs-ProcessingRRC-Inactive-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 27-3-2: DL PRS measurement outside MG and in a PRS processing window
+ prs-ProcessingWindowType1A-r17 ENUMERATED {option1, option2, option3} OPTIONAL,
+ prs-ProcessingWindowType1B-r17 ENUMERATED {option1, option2, option3} OPTIONAL,
+ prs-ProcessingWindowType2-r17 ENUMERATED {option1, option2, option3} OPTIONAL,
+ -- R1 27-15: Positioning SRS transmission in RRC_INACTIVE state for initial UL BWP
+ srs-AllPosResourcesRRC-Inactive-r17 SRS-AllPosResourcesRRC-Inactive-r17 OPTIONAL,
+ -- R1 27-16: OLPC for positioning SRS in RRC_INACTIVE state - gNB
+ olpc-SRS-PosRRC-Inactive-r17 OLPC-SRS-Pos-r16 OPTIONAL,
+ -- R1 27-19: Spatial relation for positioning SRS in RRC_INACTIVE state - gNB
+ spatialRelationsSRS-PosRRC-Inactive-r17 SpatialRelationsSRS-Pos-r16 OPTIONAL,
+ -- R1 30-1: Increased maximum number of PUSCH Type A repetitions
+ maxNumberPUSCH-TypeA-Repetition-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-2: PUSCH Type A repetitions based on available slots
+ puschTypeA-RepetitionsAvailSlot-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-3: TB processing over multi-slot PUSCH
+ tb-ProcessingMultiSlotPUSCH-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-3a: Repetition of TB processing over multi-slot PUSCH
+ tb-ProcessingRepMultiSlotPUSCH-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4: The maximum duration for DM-RS bundling
+ maxDurationDMRS-Bundling-r17 SEQUENCE {
+ fdd-r17 ENUMERATED {n4, n8, n16, n32} OPTIONAL,
+ tdd-r17 ENUMERATED {n2, n4, n8, n16} OPTIONAL
+ } OPTIONAL,
+ -- R1 30-6: Repetition of PUSCH transmission scheduled by RAR UL grant and DCI format 0_0 with CRC scrambled by TC-RNTI
+ pusch-RepetitionMsg3-r17 ENUMERATED {supported} OPTIONAL,
+ sharedSpectrumChAccessParamsPerBand-v1710 SharedSpectrumChAccessParamsPerBand-v1710 OPTIONAL,
+ -- R4 25-2: Parallel measurements on cells belonging to a different NGSO satellite than a serving satellite without scheduling restrictions
+ -- on normal operations with the serving cell
+ parallelMeasurementWithoutRestriction-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 25-5: Parallel measurements on multiple NGSO satellites within a SMTC
+ maxNumber-NGSO-SatellitesWithinOneSMTC-r17 ENUMERATED {n1, n2, n3, n4} OPTIONAL,
+ -- R1 26-10: K1 range extension
+ k1-RangeExtension-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 35-1: Aperiodic CSI-RS for tracking for fast SCell activation
+ aperiodicCSI-RS-FastScellActivation-r17 SEQUENCE {
+ maxNumberAperiodicCSI-RS-PerCC-r17 ENUMERATED {n8, n16, n32, n48, n64, n128, n255},
+ maxNumberAperiodicCSI-RS-AcrossCCs-r17 ENUMERATED {n8, n16, n32, n64, n128, n256, n512, n1024}
+ } OPTIONAL,
+ -- R1 35-2: Aperiodic CSI-RS bandwidth for tracking for fast SCell activation for 10MHz UE channel bandwidth
+ aperiodicCSI-RS-AdditionalBandwidth-r17 ENUMERATED {addBW-Set1, addBW-Set2} OPTIONAL,
+ -- R1 28-1a: RRC-configured DL BWP without CD-SSB or NCD-SSB
+ bwp-WithoutCD-SSB-OrNCD-SSB-RedCap-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 28-3: Half-duplex FDD operation type A for RedCap UE
+ halfDuplexFDD-TypeA-RedCap-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 27-15b: Positioning SRS transmission in RRC_INACTIVE state configured outside initial UL BWP
+ posSRS-RRC-Inactive-OutsideInitialUL-BWP-r17 PosSRS-RRC-Inactive-OutsideInitialUL-BWP-r17 OPTIONAL,
+ -- R4 15-3 UE support of CBW for 480kHz SCS
+ channelBWs-DL-SCS-480kHz-FR2-2-r17 BIT STRING (SIZE (8)) OPTIONAL,
+ channelBWs-UL-SCS-480kHz-FR2-2-r17 BIT STRING (SIZE (8)) OPTIONAL,
+ -- R4 15-4 UE support of CBW for 960kHz SCS
+ channelBWs-DL-SCS-960kHz-FR2-2-r17 BIT STRING (SIZE (8)) OPTIONAL,
+ channelBWs-UL-SCS-960kHz-FR2-2-r17 BIT STRING (SIZE (8)) OPTIONAL,
+ -- R4 17-1 UL gap for Tx power management
+ ul-GapFR2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-4: One-shot HARQ ACK feedback triggered by DCI format 1_2
+ oneShotHARQ-feedbackTriggeredByDCI-1-2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-5: PHY priority handling for one-shot HARQ ACK feedback
+ oneShotHARQ-feedbackPhy-Priority-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-6: Enhanced type 3 HARQ-ACK codebook feedback
+ enhancedType3-HARQ-CodebookFeedback-r17 SEQUENCE {
+ enhancedType3-HARQ-Codebooks-r17 ENUMERATED {n1, n2, n4, n8},
+ maxNumberPUCCH-Transmissions-r17 ENUMERATED {n1, n2, n3, n4, n5, n6, n7}
+ } OPTIONAL,
+ -- R1 25-7: Triggered HARQ-ACK codebook re-transmission
+ triggeredHARQ-CodebookRetx-r17 SEQUENCE {
+ minHARQ-Retx-Offset-r17 ENUMERATED {n-7, n-5, n-3, n-1, n1},
+ maxHARQ-Retx-Offset-r17 ENUMERATED {n4, n6, n8, n10, n12, n14, n16, n18, n20, n22, n24}
+ } OPTIONAL
+ ]],
+ [[
+ -- R4 22-2 support of one shot large UL timing adjustment
+ ue-OneShotUL-TimingAdj-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-2: Repetitions for PUCCH format 0, and 2 over multiple slots with K = 2, 4, 8
+ pucch-Repetition-F0-2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-11a: 4-bits subband CQI for NTN and unlicensed
+ cqi-4-BitsSubbandNTN-SharedSpectrumChAccess-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-16: HARQ-ACK with different priorities multiplexing on a PUCCH/PUSCH
+ mux-HARQ-ACK-DiffPriorities-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-20a: Propagation delay compensation based on legacy TA procedure for NTN and unlicensed
+ ta-BasedPDC-NTN-SharedSpectrumChAccess-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-2b: DCI-based enabling/disabling ACK/NACK-based feedback for dynamic scheduling for multicast
+ ack-NACK-FeedbackForMulticastWithDCI-Enabler-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-2e: Multiple G-RNTIs for group-common PDSCHs
+ maxNumberG-RNTI-r17 INTEGER (2..8) OPTIONAL,
+ -- R1 33-2f: Dynamic multicast with DCI format 4_2
+ dynamicMulticastDCI-Format4-2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-2i: Supported maximal modulation order for multicast PDSCH
+ maxModulationOrderForMulticast-r17 CHOICE {
+ fr1-r17 ENUMERATED {qam256, qam1024},
+ fr2-r17 ENUMERATED {qam64, qam256}
+ } OPTIONAL,
+ -- R1 33-3-1: Dynamic Slot-level repetition for group-common PDSCH for TN and licensed
+ dynamicSlotRepetitionMulticastTN-NonSharedSpectrumChAccess-r17 ENUMERATED {n8, n16} OPTIONAL,
+ -- R1 33-3-1a: Dynamic Slot-level repetition for group-common PDSCH for NTN and unlicensed
+ dynamicSlotRepetitionMulticastNTN-SharedSpectrumChAccess-r17 ENUMERATED {n8, n16} OPTIONAL,
+ -- R1 33-4-1: DCI-based enabling/disabling NACK-only based feedback for dynamic scheduling for multicast
+ nack-OnlyFeedbackForMulticastWithDCI-Enabler-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-5-1b: DCI-based enabling/disabling ACK/NACK-based feedback for dynamic scheduling for multicast
+ ack-NACK-FeedbackForSPS-MulticastWithDCI-Enabler-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-5-1h: Multiple G-CS-RNTIs for SPS group-common PDSCHs
+ maxNumberG-CS-RNTI-r17 INTEGER (2..8) OPTIONAL,
+ -- R1 33-10: Support group-common PDSCH RE-level rate matching for multicast
+ re-LevelRateMatchingForMulticast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 36-1a: Support of 1024QAM for PDSCH with maximum 2 MIMO layers for FR1
+ pdsch-1024QAM-2MIMO-FR1-r17 ENUMERATED {supported} OPTIONAL,
+ -- R4 14-3 PRS measurement without MG
+ prs-MeasurementWithoutMG-r17 ENUMERATED {cpLength, quarterSymbol, halfSymbol, halfSlot} OPTIONAL,
+ -- R4 25-7: The number of target LEO satellites the UE can monitor per carrier
+ maxNumber-LEO-SatellitesPerCarrier-r17 INTEGER (3..4) OPTIONAL,
+ -- R1 27-3-3 DL PRS Processing Capability outside MG - buffering capability
+ prs-ProcessingCapabilityOutsideMGinPPW-r17 SEQUENCE (SIZE(1..3)) OF PRS-ProcessingCapabilityOutsideMGinPPWperType-r17 OPTIONAL,
+ -- R1 27-15a: Positioning SRS transmission in RRC_INACTIVE state for initial UL BWP with semi-persistent SRS
+ srs-SemiPersistent-PosResourcesRRC-Inactive-r17 SEQUENCE {
+ maxNumOfSemiPersistentSRSposResources-r17 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumOfSemiPersistentSRSposResourcesPerSlot-r17 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
+ } OPTIONAL,
+ -- R2: UE support of CBW for 120kHz SCS
+ channelBWs-DL-SCS-120kHz-FR2-2-r17 BIT STRING (SIZE (8)) OPTIONAL,
+ channelBWs-UL-SCS-120kHz-FR2-2-r17 BIT STRING (SIZE (8)) OPTIONAL
+ ]],
+ [[
+ -- R1 30-4a: DM-RS bundling for PUSCH repetition type A
+ dmrs-BundlingPUSCH-RepTypeA-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4b: DM-RS bundling for PUSCH repetition type B
+ dmrs-BundlingPUSCH-RepTypeB-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4c: DM-RS bundling for TB processing over multi-slot PUSCH
+ dmrs-BundlingPUSCH-multiSlot-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4d: DMRS bundling for PUCCH repetitions
+ dmrs-BundlingPUCCH-Rep-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4e: Enhanced inter-slot frequency hopping with inter-slot bundling for PUSCH
+ interSlotFreqHopInterSlotBundlingPUSCH-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4f: Enhanced inter-slot frequency hopping for PUCCH repetitions with DMRS bundling
+ interSlotFreqHopPUCCH-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4g: Restart DM-RS bundling
+ dmrs-BundlingRestart-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 30-4h: DM-RS bundling for non-back-to-back transmission
+ dmrs-BundlingNonBackToBackTX-r17 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ -- R1 33-5-1e: Dynamic Slot-level repetition for SPS group-common PDSCH for multicast
+ maxDynamicSlotRepetitionForSPS-Multicast-r17 ENUMERATED {n8, n16} OPTIONAL,
+ -- R1 33-5-1g: DCI-based enabling/disabling NACK-only based feedback for SPS group-common PDSCH for multicast
+ nack-OnlyFeedbackForSPS-MulticastWithDCI-Enabler-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-5-1i: Multicast SPS scheduling with DCI format 4_2
+ sps-MulticastDCI-Format4-2-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-5-2: Multiple SPS group-common PDSCH configuration on PCell
+ sps-MulticastMultiConfig-r17 INTEGER (1..8) OPTIONAL,
+ -- R1 33-6-1: DL priority indication for multicast in DCI
+ priorityIndicatorInDCI-Multicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-6-1a: DL priority configuration for SPS multicast
+ priorityIndicatorInDCI-SPS-Multicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-6-2: Two HARQ-ACK codebooks simultaneously constructed for supporting HARQ-ACK codebooks with different priorities
+ -- for unicast and multicast at a UE
+ twoHARQ-ACK-CodebookForUnicastAndMulticast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-6-3: More than one PUCCH for HARQ-ACK transmission for multicast or for unicast and multicast within a slot
+ multiPUCCH-HARQ-ACK-ForMulticastUnicast-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 33-9: Supporting unicast PDCCH to release SPS group-common PDSCH
+ releaseSPS-MulticastWithCS-RNTI-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+BandNR-v16c0 ::= SEQUENCE {
+ pusch-RepetitionTypeA-v16c0 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-RF-PARAMETERS-STOP
+-- TAG-RF-PARAMETERSMRDC-START
+
+RF-ParametersMRDC ::= SEQUENCE {
+ supportedBandCombinationList BandCombinationList OPTIONAL,
+ appliedFreqBandListFilter FreqBandList OPTIONAL,
+ ...,
+ [[
+ srs-SwitchingTimeRequested ENUMERATED {true} OPTIONAL,
+ supportedBandCombinationList-v1540 BandCombinationList-v1540 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1550 BandCombinationList-v1550 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1560 BandCombinationList-v1560 OPTIONAL,
+ supportedBandCombinationListNEDC-Only BandCombinationList OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1570 BandCombinationList-v1570 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1580 BandCombinationList-v1580 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1590 BandCombinationList-v1590 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationListNEDC-Only-v15a0 SEQUENCE {
+ supportedBandCombinationList-v1540 BandCombinationList-v1540 OPTIONAL,
+ supportedBandCombinationList-v1560 BandCombinationList-v1560 OPTIONAL,
+ supportedBandCombinationList-v1570 BandCombinationList-v1570 OPTIONAL,
+ supportedBandCombinationList-v1580 BandCombinationList-v1580 OPTIONAL,
+ supportedBandCombinationList-v1590 BandCombinationList-v1590 OPTIONAL
+ } OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1610 BandCombinationList-v1610 OPTIONAL,
+ supportedBandCombinationListNEDC-Only-v1610 BandCombinationList-v1610 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-r16 BandCombinationList-UplinkTxSwitch-r16 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1630 BandCombinationList-v1630 OPTIONAL,
+ supportedBandCombinationListNEDC-Only-v1630 BandCombinationList-v1630 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1630 BandCombinationList-UplinkTxSwitch-v1630 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1640 BandCombinationList-v1640 OPTIONAL,
+ supportedBandCombinationListNEDC-Only-v1640 BandCombinationList-v1640 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1640 BandCombinationList-UplinkTxSwitch-v1640 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-UplinkTxSwitch-v1670 BandCombinationList-UplinkTxSwitch-v1670 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1700 BandCombinationList-v1700 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1700 BandCombinationList-UplinkTxSwitch-v1700 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1720 BandCombinationList-v1720 OPTIONAL,
+ supportedBandCombinationListNEDC-Only-v1720 SEQUENCE {
+ supportedBandCombinationList-v1700 BandCombinationList-v1700 OPTIONAL,
+ supportedBandCombinationList-v1720 BandCombinationList-v1720 OPTIONAL
+ } OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1720 BandCombinationList-UplinkTxSwitch-v1720 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1730 BandCombinationList-v1730 OPTIONAL,
+ supportedBandCombinationListNEDC-Only-v1730 BandCombinationList-v1730 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1730 BandCombinationList-UplinkTxSwitch-v1730 OPTIONAL
+ ]],
+ [[
+ supportedBandCombinationList-v1740 BandCombinationList-v1740 OPTIONAL,
+ supportedBandCombinationListNEDC-Only-v1740 BandCombinationList-v1740 OPTIONAL,
+ supportedBandCombinationList-UplinkTxSwitch-v1740 BandCombinationList-UplinkTxSwitch-v1740 OPTIONAL
+ ]]
+}
+
+RF-ParametersMRDC-v15g0 ::= SEQUENCE {
+ supportedBandCombinationList-v15g0 BandCombinationList-v15g0 OPTIONAL,
+ supportedBandCombinationListNEDC-Only-v15g0 BandCombinationList-v15g0 OPTIONAL
+}
+
+-- TAG-RF-PARAMETERSMRDC-STOP
+-- TAG-RLC-PARAMETERS-START
+
+RLC-Parameters ::= SEQUENCE {
+ am-WithShortSN ENUMERATED {supported} OPTIONAL,
+ um-WithShortSN ENUMERATED {supported} OPTIONAL,
+ um-WithLongSN ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ extendedT-PollRetransmit-r16 ENUMERATED {supported} OPTIONAL,
+ extendedT-StatusProhibit-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ am-WithLongSN-RedCap-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+-- TAG-RLC-PARAMETERS-STOP
+-- TAG-SDAP-PARAMETERS-START
+
+SDAP-Parameters ::= SEQUENCE {
+ as-ReflectiveQoS ENUMERATED {true} OPTIONAL,
+ ...,
+ [[
+ sdap-QOS-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ sdapHeaderIAB-r16 ENUMERATED {supported} OPTIONAL
+ ]]
+
+}
+
+-- TAG-SDAP-PARAMETERS-STOP
+-- TAG-SIDELINKPARAMETERS-START
+
+SidelinkParameters-r16 ::= SEQUENCE {
+ sidelinkParametersNR-r16 SidelinkParametersNR-r16 OPTIONAL,
+ sidelinkParametersEUTRA-r16 SidelinkParametersEUTRA-r16 OPTIONAL
+}
+
+SidelinkParametersNR-r16 ::= SEQUENCE {
+ rlc-ParametersSidelink-r16 RLC-ParametersSidelink-r16 OPTIONAL,
+ mac-ParametersSidelink-r16 MAC-ParametersSidelink-r16 OPTIONAL,
+ fdd-Add-UE-Sidelink-Capabilities-r16 UE-SidelinkCapabilityAddXDD-Mode-r16 OPTIONAL,
+ tdd-Add-UE-Sidelink-Capabilities-r16 UE-SidelinkCapabilityAddXDD-Mode-r16 OPTIONAL,
+ supportedBandListSidelink-r16 SEQUENCE (SIZE (1..maxBands)) OF BandSidelink-r16 OPTIONAL,
+ ...,
+ [[
+ relayParameters-r17 RelayParameters-r17 OPTIONAL
+ ]],
+ [[
+ -- R1 32-x: Use of new P0 parameters for open loop power control
+ p0-OLPC-Sidelink-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+SidelinkParametersEUTRA-r16 ::= SEQUENCE {
+ sl-ParametersEUTRA1-r16 OCTET STRING OPTIONAL,
+ sl-ParametersEUTRA2-r16 OCTET STRING OPTIONAL,
+ sl-ParametersEUTRA3-r16 OCTET STRING OPTIONAL,
+ supportedBandListSidelinkEUTRA-r16 SEQUENCE (SIZE (1..maxBandsEUTRA)) OF BandSidelinkEUTRA-r16 OPTIONAL,
+ ...
+}
+
+RLC-ParametersSidelink-r16 ::= SEQUENCE {
+ am-WithLongSN-Sidelink-r16 ENUMERATED {supported} OPTIONAL,
+ um-WithLongSN-Sidelink-r16 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+MAC-ParametersSidelink-r16 ::= SEQUENCE {
+ mac-ParametersSidelinkCommon-r16 MAC-ParametersSidelinkCommon-r16 OPTIONAL,
+ mac-ParametersSidelinkXDD-Diff-r16 MAC-ParametersSidelinkXDD-Diff-r16 OPTIONAL,
+ ...
+}
+
+UE-SidelinkCapabilityAddXDD-Mode-r16 ::= SEQUENCE {
+ mac-ParametersSidelinkXDD-Diff-r16 MAC-ParametersSidelinkXDD-Diff-r16 OPTIONAL
+}
+
+MAC-ParametersSidelinkCommon-r16 ::= SEQUENCE {
+ lcp-RestrictionSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ multipleConfiguredGrantsSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ drx-OnSidelink-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+MAC-ParametersSidelinkXDD-Diff-r16 ::= SEQUENCE {
+ multipleSR-ConfigurationsSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ logicalChannelSR-DelayTimerSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+BandSidelinkEUTRA-r16 ::= SEQUENCE {
+ freqBandSidelinkEUTRA-r16 FreqBandIndicatorEUTRA,
+ -- R1 15-7: Transmitting LTE sidelink mode 3 scheduled by NR Uu
+ gnb-ScheduledMode3SidelinkEUTRA-r16 SEQUENCE {
+ gnb-ScheduledMode3DelaySidelinkEUTRA-r16 ENUMERATED {ms0, ms0dot25, ms0dot5, ms0dot625, ms0dot75, ms1,
+ ms1dot25, ms1dot5, ms1dot75, ms2, ms2dot5, ms3, ms4,
+ ms5, ms6, ms8, ms10, ms20}
+ } OPTIONAL,
+ -- R1 15-9: Transmitting LTE sidelink mode 4 configured by NR Uu
+ gnb-ScheduledMode4SidelinkEUTRA-r16 ENUMERATED {supported} OPTIONAL
+}
+
+BandSidelink-r16 ::= SEQUENCE {
+ freqBandSidelink-r16 FreqBandIndicatorNR,
+ --15-1
+ sl-Reception-r16 SEQUENCE {
+ harq-RxProcessSidelink-r16 ENUMERATED {n16, n24, n32, n48, n64},
+ pscch-RxSidelink-r16 ENUMERATED {value1, value2},
+ scs-CP-PatternRxSidelink-r16 CHOICE {
+ fr1-r16 SEQUENCE {
+ scs-15kHz-r16 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-30kHz-r16 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-60kHz-r16 BIT STRING (SIZE (16)) OPTIONAL
+ },
+ fr2-r16 SEQUENCE {
+ scs-60kHz-r16 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-120kHz-r16 BIT STRING (SIZE (16)) OPTIONAL
+ }
+ } OPTIONAL,
+ extendedCP-RxSidelink-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ --15-2
+ sl-TransmissionMode1-r16 SEQUENCE {
+ harq-TxProcessModeOneSidelink-r16 ENUMERATED {n8, n16},
+ scs-CP-PatternTxSidelinkModeOne-r16 CHOICE {
+ fr1-r16 SEQUENCE {
+ scs-15kHz-r16 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-30kHz-r16 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-60kHz-r16 BIT STRING (SIZE (16)) OPTIONAL
+ },
+ fr2-r16 SEQUENCE {
+ scs-60kHz-r16 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-120kHz-r16 BIT STRING (SIZE (16)) OPTIONAL
+ }
+ },
+ extendedCP-TxSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ harq-ReportOnPUCCH-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ --15-4
+ sync-Sidelink-r16 SEQUENCE {
+ gNB-Sync-r16 ENUMERATED {supported} OPTIONAL,
+ gNB-GNSS-UE-SyncWithPriorityOnGNB-ENB-r16 ENUMERATED {supported} OPTIONAL,
+ gNB-GNSS-UE-SyncWithPriorityOnGNSS-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ --15-10
+ sl-Tx-256QAM-r16 ENUMERATED {supported} OPTIONAL,
+ --15-11
+ psfch-FormatZeroSidelink-r16 SEQUENCE {
+ psfch-RxNumber ENUMERATED {n5, n15, n25, n32, n35, n45, n50, n64},
+ psfch-TxNumber ENUMERATED {n4, n8, n16}
+ } OPTIONAL,
+ --15-12
+ lowSE-64QAM-MCS-TableSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ --15-15
+ enb-sync-Sidelink-r16 ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ --15-3
+ sl-TransmissionMode2-r16 SEQUENCE {
+ harq-TxProcessModeTwoSidelink-r16 ENUMERATED {n8, n16},
+ scs-CP-PatternTxSidelinkModeTwo-r16 ENUMERATED {supported} OPTIONAL,
+ dl-openLoopPC-Sidelink-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ --15-5
+ congestionControlSidelink-r16 SEQUENCE {
+ cbr-ReportSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ cbr-CR-TimeLimitSidelink-r16 ENUMERATED {time1, time2}
+ } OPTIONAL,
+ --15-22
+ fewerSymbolSlotSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ --15-23
+ sl-openLoopPC-RSRP-ReportSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ --13-1
+ sl-Rx-256QAM-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ ue-PowerClassSidelink-r16 ENUMERATED {pc2, pc3, spare6, spare5, spare4, spare3, spare2, spare1}
+ OPTIONAL
+ ]],
+ [[
+ --32-4a
+ sl-TransmissionMode2-RandomResourceSelection-r17 SEQUENCE {
+ harq-TxProcessModeTwoSidelink-r17 ENUMERATED {n8, n16},
+ scs-CP-PatternTxSidelinkModeTwo-r17 CHOICE {
+ fr1-r17 SEQUENCE {
+ scs-15kHz-r17 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-30kHz-r17 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-60kHz-r17 BIT STRING (SIZE (16)) OPTIONAL
+ },
+ fr2-r17 SEQUENCE {
+ scs-60kHz-r17 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-120kHz-r17 BIT STRING (SIZE (16)) OPTIONAL
+ }
+ } OPTIONAL,
+ extendedCP-Mode2Random-r17 ENUMERATED {supported} OPTIONAL,
+ dl-openLoopPC-Sidelink-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ --32-4b
+ sync-Sidelink-v1710 SEQUENCE {
+ sync-GNSS-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-Sync-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-GNSS-UE-SyncWithPriorityOnGNB-ENB-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-GNSS-UE-SyncWithPriorityOnGNSS-r17 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ --32-4c
+ enb-sync-Sidelink-v1710 ENUMERATED {supported} OPTIONAL,
+ --32-5a-2
+ rx-IUC-Scheme1-PreferredMode2Sidelink-r17 ENUMERATED {supported} OPTIONAL,
+ --32-5a-3
+ rx-IUC-Scheme1-NonPreferredMode2Sidelink-r17 ENUMERATED {supported} OPTIONAL,
+ --32-5b-2
+ rx-IUC-Scheme2-Mode2Sidelink-r17 ENUMERATED {n5, n15, n25, n32, n35, n45, n50, n64} OPTIONAL,
+ --32-6-1
+ rx-IUC-Scheme1-SCI-r17 ENUMERATED {supported} OPTIONAL,
+ --32-6-2
+ rx-IUC-Scheme1-SCI-ExplicitReq-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+RelayParameters-r17 ::= SEQUENCE {
+ relayUE-Operation-L2-r17 ENUMERATED {supported} OPTIONAL,
+ remoteUE-Operation-L2-r17 ENUMERATED {supported} OPTIONAL,
+ remoteUE-PathSwitchToIdleInactiveRelay-r17 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+-- TAG-SIDELINKPARAMETERS-STOP
+-- TAG-SIMULTANEOUSRXTXPERBANDPAIR-START
+
+SimultaneousRxTxPerBandPair ::= BIT STRING (SIZE (3..496))
+
+-- TAG-SIMULTANEOUSRXTXPERBANDPAIR-STOP
+-- TAG-SON-PARAMETERS-START
+
+SON-Parameters-r16 ::= SEQUENCE {
+ rach-Report-r16 ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ rlfReportCHO-r17 ENUMERATED {supported} OPTIONAL,
+ rlfReportDAPS-r17 ENUMERATED {supported} OPTIONAL,
+ success-HO-Report-r17 ENUMERATED {supported} OPTIONAL,
+ twoStepRACH-Report-r17 ENUMERATED {supported} OPTIONAL,
+ pscell-MHI-Report-r17 ENUMERATED {supported} OPTIONAL,
+ onDemandSI-Report-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+-- TAG-SON-PARAMETERS-STOP
+-- TAG-SPATIALRELATIONSSRS-POS-START
+
+SpatialRelationsSRS-Pos-r16 ::= SEQUENCE {
+ spatialRelation-SRS-PosBasedOnSSB-Serving-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnCSI-RS-Serving-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnPRS-Serving-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnSRS-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnSSB-Neigh-r16 ENUMERATED {supported} OPTIONAL,
+ spatialRelation-SRS-PosBasedOnPRS-Neigh-r16 ENUMERATED {supported} OPTIONAL
+}
+
+--TAG-SPATIALRELATIONSSRS-POS-STOP
+-- TAG-SRS-ALLPOSRESOURCESRRC-INACTIVE-START
+
+SRS-AllPosResourcesRRC-Inactive-r17 ::= SEQUENCE {
+ srs-PosResourcesRRC-Inactive-r17 SEQUENCE {
+ -- R1 27-15: Positioning SRS transmission in RRC_INACTIVE state for initial UL BWP
+ maxNumberSRS-PosResourceSetPerBWP-r17 ENUMERATED {n1, n2, n4, n8, n12, n16},
+ maxNumberSRS-PosResourcesPerBWP-r17 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumberSRS-ResourcesPerBWP-PerSlot-r17 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14},
+ maxNumberPeriodicSRS-PosResourcesPerBWP-r17 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
+ maxNumberPeriodicSRS-PosResourcesPerBWP-PerSlot-r17 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14},
+ dummy1 ENUMERATED {n1, n2, n4, n8, n16, n32, n64 },
+ dummy2 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
+ }
+}
+
+-- TAG-SRS-ALLPOSRESOURCESRRC-INACTIVE-STOP
+-- TAG-SRS-SWITCHINGTIMENR-START
+
+SRS-SwitchingTimeNR ::= SEQUENCE {
+ switchingTimeDL ENUMERATED {n0us, n30us, n100us, n140us, n200us, n300us, n500us, n900us} OPTIONAL,
+ switchingTimeUL ENUMERATED {n0us, n30us, n100us, n140us, n200us, n300us, n500us, n900us} OPTIONAL
+}
+
+-- TAG-SRS-SWITCHINGTIMENR-STOP
+-- TAG-SRS-SWITCHINGTIMEEUTRA-START
+
+SRS-SwitchingTimeEUTRA ::= SEQUENCE {
+ switchingTimeDL ENUMERATED {n0, n0dot5, n1, n1dot5, n2, n2dot5, n3, n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5, n7}
+ OPTIONAL,
+ switchingTimeUL ENUMERATED {n0, n0dot5, n1, n1dot5, n2, n2dot5, n3, n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5, n7}
+ OPTIONAL
+}
+-- TAG-SRS-SWITCHINGTIMEEUTRA-STOP
+-- TAG-SUPPORTEDBANDWIDTH-START
+
+SupportedBandwidth ::= CHOICE {
+ fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100},
+ fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400}
+}
+
+SupportedBandwidth-v1700 ::= CHOICE {
+ fr1-r17 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz35, mhz40, mhz45, mhz50, mhz60, mhz70, mhz80, mhz90, mhz100},
+ fr2-r17 ENUMERATED {mhz50, mhz100, mhz200, mhz400, mhz800, mhz1600, mhz2000}
+}
+
+-- TAG-SUPPORTEDBANDWIDTH-STOP
+-- TAG-UE-BASEDPERFMEAS-PARAMETERS-START
+
+UE-BasedPerfMeas-Parameters-r16 ::= SEQUENCE {
+ barometerMeasReport-r16 ENUMERATED {supported} OPTIONAL,
+ immMeasBT-r16 ENUMERATED {supported} OPTIONAL,
+ immMeasWLAN-r16 ENUMERATED {supported} OPTIONAL,
+ loggedMeasBT-r16 ENUMERATED {supported} OPTIONAL,
+ loggedMeasurements-r16 ENUMERATED {supported} OPTIONAL,
+ loggedMeasWLAN-r16 ENUMERATED {supported} OPTIONAL,
+ orientationMeasReport-r16 ENUMERATED {supported} OPTIONAL,
+ speedMeasReport-r16 ENUMERATED {supported} OPTIONAL,
+ gnss-Location-r16 ENUMERATED {supported} OPTIONAL,
+ ulPDCP-Delay-r16 ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ sigBasedLogMDT-OverrideProtect-r17 ENUMERATED {supported} OPTIONAL,
+ multipleCEF-Report-r17 ENUMERATED {supported} OPTIONAL,
+ excessPacketDelay-r17 ENUMERATED {supported} OPTIONAL,
+ earlyMeasLog-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+-- TAG-UE-BASEDPERFMEAS-PARAMETERS-STOP
+-- TAG-UE-CAPABILITYRAT-CONTAINERLIST-START
+
+UE-CapabilityRAT-ContainerList ::= SEQUENCE (SIZE (0..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container
+
+UE-CapabilityRAT-Container ::= SEQUENCE {
+ rat-Type RAT-Type,
+ ue-CapabilityRAT-Container OCTET STRING
+}
+
+-- TAG-UE-CAPABILITYRAT-CONTAINERLIST-STOP
+-- TAG-UE-CAPABILITYRAT-REQUESTLIST-START
+
+UE-CapabilityRAT-RequestList ::= SEQUENCE (SIZE (1..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Request
+
+UE-CapabilityRAT-Request ::= SEQUENCE {
+ rat-Type RAT-Type,
+ capabilityRequestFilter OCTET STRING OPTIONAL, -- Need N
+ ...
+}
+
+-- TAG-UE-CAPABILITYRAT-REQUESTLIST-STOP
+-- TAG-UE-CAPABILITYREQUESTFILTERCOMMON-START
+
+UE-CapabilityRequestFilterCommon ::= SEQUENCE {
+ mrdc-Request SEQUENCE {
+ omitEN-DC ENUMERATED {true} OPTIONAL, -- Need N
+ includeNR-DC ENUMERATED {true} OPTIONAL, -- Need N
+ includeNE-DC ENUMERATED {true} OPTIONAL -- Need N
+ } OPTIONAL, -- Need N
+ ...,
+ [[
+ codebookTypeRequest-r16 SEQUENCE {
+ type1-SinglePanel-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ type1-MultiPanel-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ type2-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ type2-PortSelection-r16 ENUMERATED {true} OPTIONAL -- Need N
+ } OPTIONAL, -- Need N
+ uplinkTxSwitchRequest-r16 ENUMERATED {true} OPTIONAL -- Need N
+ ]],
+ [[
+ requestedCellGrouping-r16 SEQUENCE (SIZE (1..maxCellGroupings-r16)) OF CellGrouping-r16 OPTIONAL -- Cond NRDC
+ ]],
+ [[
+ fallbackGroupFiveRequest-r17 ENUMERATED {true} OPTIONAL -- Need N
+ ]]
+}
+
+CellGrouping-r16 ::= SEQUENCE {
+ mcg-r16 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR,
+ scg-r16 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR,
+ mode-r16 ENUMERATED {sync, async}
+}
+
+-- TAG-UE-CAPABILITYREQUESTFILTERCOMMON-STOP
+-- TAG-UE-CAPABILITYREQUESTFILTERNR-START
+
+UE-CapabilityRequestFilterNR ::= SEQUENCE {
+ frequencyBandListFilter FreqBandList OPTIONAL, -- Need N
+ nonCriticalExtension UE-CapabilityRequestFilterNR-v1540 OPTIONAL
+}
+
+UE-CapabilityRequestFilterNR-v1540 ::= SEQUENCE {
+ srs-SwitchingTimeRequest ENUMERATED {true} OPTIONAL, -- Need N
+ nonCriticalExtension UE-CapabilityRequestFilterNR-v1710 OPTIONAL
+}
+
+UE-CapabilityRequestFilterNR-v1710 ::= SEQUENCE {
+ sidelinkRequest-r17 ENUMERATED {true} OPTIONAL, -- Need N
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-UE-CAPABILITYREQUESTFILTERNR-STOP
+-- TAG-UE-MRDC-CAPABILITY-START
+
+UE-MRDC-Capability ::= SEQUENCE {
+ measAndMobParametersMRDC MeasAndMobParametersMRDC OPTIONAL,
+ phy-ParametersMRDC-v1530 Phy-ParametersMRDC OPTIONAL,
+ rf-ParametersMRDC RF-ParametersMRDC,
+ generalParametersMRDC GeneralParametersMRDC-XDD-Diff OPTIONAL,
+ fdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL,
+ tdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL,
+ fr1-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL,
+ fr2-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL,
+ featureSetCombinations SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination OPTIONAL,
+ pdcp-ParametersMRDC-v1530 PDCP-ParametersMRDC OPTIONAL,
+ lateNonCriticalExtension OCTET STRING (CONTAINING UE-MRDC-Capability-v15g0) OPTIONAL,
+ nonCriticalExtension UE-MRDC-Capability-v1560 OPTIONAL
+}
+
+-- Regular non-critical extensions:
+UE-MRDC-Capability-v1560 ::= SEQUENCE {
+ receivedFilters OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs) OPTIONAL,
+ measAndMobParametersMRDC-v1560 MeasAndMobParametersMRDC-v1560 OPTIONAL,
+ fdd-Add-UE-MRDC-Capabilities-v1560 UE-MRDC-CapabilityAddXDD-Mode-v1560 OPTIONAL,
+ tdd-Add-UE-MRDC-Capabilities-v1560 UE-MRDC-CapabilityAddXDD-Mode-v1560 OPTIONAL,
+ nonCriticalExtension UE-MRDC-Capability-v1610 OPTIONAL
+}
+
+UE-MRDC-Capability-v1610 ::= SEQUENCE {
+ measAndMobParametersMRDC-v1610 MeasAndMobParametersMRDC-v1610 OPTIONAL,
+ generalParametersMRDC-v1610 GeneralParametersMRDC-v1610 OPTIONAL,
+ pdcp-ParametersMRDC-v1610 PDCP-ParametersMRDC-v1610 OPTIONAL,
+ nonCriticalExtension UE-MRDC-Capability-v1700 OPTIONAL
+}
+
+UE-MRDC-Capability-v1700 ::= SEQUENCE {
+ measAndMobParametersMRDC-v1700 MeasAndMobParametersMRDC-v1700,
+ nonCriticalExtension UE-MRDC-Capability-v1730 OPTIONAL
+}
+
+UE-MRDC-Capability-v1730 ::= SEQUENCE {
+ measAndMobParametersMRDC-v1730 MeasAndMobParametersMRDC-v1730 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Late non-critical extensions:
+UE-MRDC-Capability-v15g0 ::= SEQUENCE {
+ rf-ParametersMRDC-v15g0 RF-ParametersMRDC-v15g0 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+UE-MRDC-CapabilityAddXDD-Mode ::= SEQUENCE {
+ measAndMobParametersMRDC-XDD-Diff MeasAndMobParametersMRDC-XDD-Diff OPTIONAL,
+ generalParametersMRDC-XDD-Diff GeneralParametersMRDC-XDD-Diff OPTIONAL
+}
+
+UE-MRDC-CapabilityAddXDD-Mode-v1560 ::= SEQUENCE {
+ measAndMobParametersMRDC-XDD-Diff-v1560 MeasAndMobParametersMRDC-XDD-Diff-v1560 OPTIONAL
+}
+
+UE-MRDC-CapabilityAddFRX-Mode ::= SEQUENCE {
+ measAndMobParametersMRDC-FRX-Diff MeasAndMobParametersMRDC-FRX-Diff
+}
+
+
+GeneralParametersMRDC-XDD-Diff ::= SEQUENCE {
+ splitSRB-WithOneUL-Path ENUMERATED {supported} OPTIONAL,
+ splitDRB-withUL-Both-MCG-SCG ENUMERATED {supported} OPTIONAL,
+ srb3 ENUMERATED {supported} OPTIONAL,
+ dummy ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+GeneralParametersMRDC-v1610 ::= SEQUENCE {
+ f1c-OverEUTRA-r16 ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-UE-MRDC-CAPABILITY-STOP
+-- TAG-UE-NR-CAPABILITY-START
+
+UE-NR-Capability ::= SEQUENCE {
+ accessStratumRelease AccessStratumRelease,
+ pdcp-Parameters PDCP-Parameters,
+ rlc-Parameters RLC-Parameters OPTIONAL,
+ mac-Parameters MAC-Parameters OPTIONAL,
+ phy-Parameters Phy-Parameters,
+ rf-Parameters RF-Parameters,
+ measAndMobParameters MeasAndMobParameters OPTIONAL,
+ fdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL,
+ tdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL,
+ fr1-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL,
+ fr2-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL,
+ featureSets FeatureSets OPTIONAL,
+ featureSetCombinations SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination OPTIONAL,
+ lateNonCriticalExtension OCTET STRING (CONTAINING UE-NR-Capability-v15c0) OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1530 OPTIONAL
+}
+
+-- Regular non-critical Rel-15 extensions:
+UE-NR-Capability-v1530 ::= SEQUENCE {
+ fdd-Add-UE-NR-Capabilities-v1530 UE-NR-CapabilityAddXDD-Mode-v1530 OPTIONAL,
+ tdd-Add-UE-NR-Capabilities-v1530 UE-NR-CapabilityAddXDD-Mode-v1530 OPTIONAL,
+ dummy ENUMERATED {supported} OPTIONAL,
+ interRAT-Parameters InterRAT-Parameters OPTIONAL,
+ inactiveState ENUMERATED {supported} OPTIONAL,
+ delayBudgetReporting ENUMERATED {supported} OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1540 OPTIONAL
+}
+
+UE-NR-Capability-v1540 ::= SEQUENCE {
+ sdap-Parameters SDAP-Parameters OPTIONAL,
+ overheatingInd ENUMERATED {supported} OPTIONAL,
+ ims-Parameters IMS-Parameters OPTIONAL,
+ fr1-Add-UE-NR-Capabilities-v1540 UE-NR-CapabilityAddFRX-Mode-v1540 OPTIONAL,
+ fr2-Add-UE-NR-Capabilities-v1540 UE-NR-CapabilityAddFRX-Mode-v1540 OPTIONAL,
+ fr1-fr2-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1550 OPTIONAL
+}
+
+UE-NR-Capability-v1550 ::= SEQUENCE {
+ reducedCP-Latency ENUMERATED {supported} OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1560 OPTIONAL
+}
+
+UE-NR-Capability-v1560 ::= SEQUENCE {
+ nrdc-Parameters NRDC-Parameters OPTIONAL,
+ receivedFilters OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs) OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1570 OPTIONAL
+}
+
+UE-NR-Capability-v1570 ::= SEQUENCE {
+ nrdc-Parameters-v1570 NRDC-Parameters-v1570 OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1610 OPTIONAL
+}
+
+-- Late non-critical Rel-15 extensions:
+UE-NR-Capability-v15c0 ::= SEQUENCE {
+ nrdc-Parameters-v15c0 NRDC-Parameters-v15c0 OPTIONAL,
+ partialFR2-FallbackRX-Req ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v15g0 OPTIONAL
+}
+
+UE-NR-Capability-v15g0 ::= SEQUENCE {
+ rf-Parameters-v15g0 RF-Parameters-v15g0 OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v15j0 OPTIONAL
+}
+
+UE-NR-Capability-v15j0 ::= SEQUENCE {
+ -- Following field is only for REL-15 late non-critical extensions
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v16a0 OPTIONAL
+}
+
+-- Regular non-critical Rel-16 extensions:
+UE-NR-Capability-v1610 ::= SEQUENCE {
+ inDeviceCoexInd-r16 ENUMERATED {supported} OPTIONAL,
+ dl-DedicatedMessageSegmentation-r16 ENUMERATED {supported} OPTIONAL,
+ nrdc-Parameters-v1610 NRDC-Parameters-v1610 OPTIONAL,
+ powSav-Parameters-r16 PowSav-Parameters-r16 OPTIONAL,
+ fr1-Add-UE-NR-Capabilities-v1610 UE-NR-CapabilityAddFRX-Mode-v1610 OPTIONAL,
+ fr2-Add-UE-NR-Capabilities-v1610 UE-NR-CapabilityAddFRX-Mode-v1610 OPTIONAL,
+ bh-RLF-Indication-r16 ENUMERATED {supported} OPTIONAL,
+ directSN-AdditionFirstRRC-IAB-r16 ENUMERATED {supported} OPTIONAL,
+ bap-Parameters-r16 BAP-Parameters-r16 OPTIONAL,
+ referenceTimeProvision-r16 ENUMERATED {supported} OPTIONAL,
+ sidelinkParameters-r16 SidelinkParameters-r16 OPTIONAL,
+ highSpeedParameters-r16 HighSpeedParameters-r16 OPTIONAL,
+ mac-Parameters-v1610 MAC-Parameters-v1610 OPTIONAL,
+ mcgRLF-RecoveryViaSCG-r16 ENUMERATED {supported} OPTIONAL,
+ resumeWithStoredMCG-SCells-r16 ENUMERATED {supported} OPTIONAL,
+ resumeWithStoredSCG-r16 ENUMERATED {supported} OPTIONAL,
+ resumeWithSCG-Config-r16 ENUMERATED {supported} OPTIONAL,
+ ue-BasedPerfMeas-Parameters-r16 UE-BasedPerfMeas-Parameters-r16 OPTIONAL,
+ son-Parameters-r16 SON-Parameters-r16 OPTIONAL,
+ onDemandSIB-Connected-r16 ENUMERATED {supported} OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1640 OPTIONAL
+}
+
+UE-NR-Capability-v1640 ::= SEQUENCE {
+ redirectAtResumeByNAS-r16 ENUMERATED {supported} OPTIONAL,
+ phy-ParametersSharedSpectrumChAccess-r16 Phy-ParametersSharedSpectrumChAccess-r16 OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1650 OPTIONAL
+}
+
+UE-NR-Capability-v1650 ::= SEQUENCE {
+ mpsPriorityIndication-r16 ENUMERATED {supported} OPTIONAL,
+ highSpeedParameters-v1650 HighSpeedParameters-v1650 OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1690 OPTIONAL
+}
+
+UE-NR-Capability-v1690 ::= SEQUENCE {
+ ul-RRC-Segmentation-r16 ENUMERATED {supported} OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1700 OPTIONAL
+}
+
+-- Late non-critical extensions from Rel-16 onwards:
+UE-NR-Capability-v16a0 ::= SEQUENCE {
+ phy-Parameters-v16a0 Phy-Parameters-v16a0 OPTIONAL,
+ rf-Parameters-v16a0 RF-Parameters-v16a0 OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v16c0 OPTIONAL
+}
+
+UE-NR-Capability-v16c0 ::= SEQUENCE {
+ rf-Parameters-v16c0 RF-Parameters-v16c0 OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v16d0 OPTIONAL
+}
+
+UE-NR-Capability-v16d0 ::= SEQUENCE {
+ featureSets-v16d0 FeatureSets-v16d0 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- Regular non-critical Rel-17 extensions:
+UE-NR-Capability-v1700 ::= SEQUENCE {
+ inactiveStatePO-Determination-r17 ENUMERATED {supported} OPTIONAL,
+ highSpeedParameters-v1700 HighSpeedParameters-v1700 OPTIONAL,
+ powSav-Parameters-v1700 PowSav-Parameters-v1700 OPTIONAL,
+ mac-Parameters-v1700 MAC-Parameters-v1700 OPTIONAL,
+ ims-Parameters-v1700 IMS-Parameters-v1700 OPTIONAL,
+ measAndMobParameters-v1700 MeasAndMobParameters-v1700,
+ appLayerMeasParameters-r17 AppLayerMeasParameters-r17 OPTIONAL,
+ redCapParameters-r17 RedCapParameters-r17 OPTIONAL,
+ ra-SDT-r17 ENUMERATED {supported} OPTIONAL,
+ srb-SDT-r17 ENUMERATED {supported} OPTIONAL,
+ gNB-SideRTT-BasedPDC-r17 ENUMERATED {supported} OPTIONAL,
+ bh-RLF-DetectionRecovery-Indication-r17 ENUMERATED {supported} OPTIONAL,
+ nrdc-Parameters-v1700 NRDC-Parameters-v1700 OPTIONAL,
+ bap-Parameters-v1700 BAP-Parameters-v1700 OPTIONAL,
+ musim-GapPreference-r17 ENUMERATED {supported} OPTIONAL,
+ musimLeaveConnected-r17 ENUMERATED {supported} OPTIONAL,
+ mbs-Parameters-r17 MBS-Parameters-r17,
+ nonTerrestrialNetwork-r17 ENUMERATED {supported} OPTIONAL,
+ ntn-ScenarioSupport-r17 ENUMERATED {gso, ngso} OPTIONAL,
+ sliceInfoforCellReselection-r17 ENUMERATED {supported} OPTIONAL,
+ ue-RadioPagingInfo-r17 UE-RadioPagingInfo-r17 OPTIONAL,
+ -- R4 17-2 UL gap pattern for Tx power management
+ ul-GapFR2-Pattern-r17 BIT STRING (SIZE (4)) OPTIONAL,
+ ntn-Parameters-r17 NTN-Parameters-r17 OPTIONAL,
+ nonCriticalExtension UE-NR-Capability-v1740 OPTIONAL
+}
+
+UE-NR-Capability-v1740 ::= SEQUENCE {
+ redCapParameters-v1740 RedCapParameters-v1740,
+ nonCriticalExtension UE-NR-Capability-v1750 OPTIONAL
+}
+
+UE-NR-Capability-v1750 ::= SEQUENCE {
+ crossCarrierSchedulingConfigurationRelease-r17 ENUMERATED {supported} OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+UE-NR-CapabilityAddXDD-Mode ::= SEQUENCE {
+ phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL,
+ mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL,
+ measAndMobParametersXDD-Diff MeasAndMobParametersXDD-Diff OPTIONAL
+}
+
+UE-NR-CapabilityAddXDD-Mode-v1530 ::= SEQUENCE {
+ eutra-ParametersXDD-Diff EUTRA-ParametersXDD-Diff
+}
+
+UE-NR-CapabilityAddFRX-Mode ::= SEQUENCE {
+ phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL,
+ measAndMobParametersFRX-Diff MeasAndMobParametersFRX-Diff OPTIONAL
+}
+
+UE-NR-CapabilityAddFRX-Mode-v1540 ::= SEQUENCE {
+ ims-ParametersFRX-Diff IMS-ParametersFRX-Diff OPTIONAL
+}
+
+UE-NR-CapabilityAddFRX-Mode-v1610 ::= SEQUENCE {
+ powSav-ParametersFRX-Diff-r16 PowSav-ParametersFRX-Diff-r16 OPTIONAL,
+ mac-ParametersFRX-Diff-r16 MAC-ParametersFRX-Diff-r16 OPTIONAL
+}
+
+BAP-Parameters-r16 ::= SEQUENCE {
+ flowControlBH-RLC-ChannelBased-r16 ENUMERATED {supported} OPTIONAL,
+ flowControlRouting-ID-Based-r16 ENUMERATED {supported} OPTIONAL
+}
+
+BAP-Parameters-v1700 ::= SEQUENCE {
+ bapHeaderRewriting-Rerouting-r17 ENUMERATED {supported} OPTIONAL,
+ bapHeaderRewriting-Routing-r17 ENUMERATED {supported} OPTIONAL
+}
+
+MBS-Parameters-r17 ::= SEQUENCE {
+ maxMRB-Add-r17 INTEGER (1..16) OPTIONAL
+}
+
+-- TAG-UE-NR-CAPABILITY-STOP
+-- TAG-UE-RADIOPAGINGINFO-START
+
+UE-RadioPagingInfo-r17 ::= SEQUENCE {
+ -- R1 29-1: Paging enhancement
+ pei-SubgroupingSupportBandList-r17 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR OPTIONAL,
+ ...
+}
+
+-- TAG-UE-RADIOPAGINGINFO-STOP
+-- TAG-SHAREDSPECTRUMCHACCESSPARAMSPERBAND-START
+
+SharedSpectrumChAccessParamsPerBand-r16 ::= SEQUENCE {
+
+ -- R1 10-1: UL channel access for dynamic channel access mode
+ ul-DynamicChAccess-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-1a: UL channel access for semi-static channel access mode
+ ul-Semi-StaticChAccess-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2: SSB-based RRM for dynamic channel access mode
+ ssb-RRM-DynamicChAccess-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2a: SSB-based RRM for semi-static channel access mode
+ ssb-RRM-Semi-StaticChAccess-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2b: MIB reading on unlicensed cell
+ mib-Acquisition-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2c: SSB-based RLM for dynamic channel access mode
+ ssb-RLM-DynamicChAccess-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2d: SSB-based RLM for semi-static channel access mode
+ ssb-RLM-Semi-StaticChAccess-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2e: SIB1 reception on unlicensed cell
+ sib1-Acquisition-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2f: Support monitoring of extended RAR window
+ extRA-ResponseWindow-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2g: SSB-based BFD/CBD for dynamic channel access mode
+ ssb-BFD-CBD-dynamicChannelAccess-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2h: SSB-based BFD/CBD for semi-static channel access mode
+ ssb-BFD-CBD-semi-staticChannelAccess-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-2i: CSI-RS-based BFD/CBD for NR-U
+ csi-RS-BFD-CBD-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-7: UL channel access for 10 MHz SCell
+ ul-ChannelBW-SCell-10mhz-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-10: RSSI and channel occupancy measurement and reporting
+ rssi-ChannelOccupancyReporting-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-11:SRS starting position at any OFDM symbol in a slot
+ srs-StartAnyOFDM-Symbol-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-20: Support search space set configuration with freqMonitorLocation-r16
+ searchSpaceFreqMonitorLocation-r16 INTEGER (1..5) OPTIONAL,
+ -- R1 10-20a: Support coreset configuration with rb-Offset
+ coreset-RB-Offset-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-23:CGI reading on unlicensed cell for ANR functionality
+ cgi-Acquisition-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-25: Enable configured UL transmissions when DCI 2_0 is configured but not detected
+ configuredUL-Tx-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-27: Wideband PRACH
+ prach-Wideband-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-29: Support available RB set indicator field in DCI 2_0
+ dci-AvailableRB-Set-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-30: Support channel occupancy duration indicator field in DCI 2_0
+ dci-ChOccupancyDuration-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-8: Type B PDSCH length {3, 5, 6, 8, 9, 10, 11, 12, 13} without DMRS shift due to CRS collision
+ typeB-PDSCH-length-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-9: Search space set group switching with explicit DCI 2_0 bit field trigger or with implicit PDCCH decoding with DCI 2_0 monitoring
+ searchSpaceSwitchWithDCI-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-9b: Search space set group switching with implicit PDCCH decoding without DCI 2_0 monitoring
+ searchSpaceSwitchWithoutDCI-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-9d: Support Search space set group switching capability 2
+ searchSpaceSwitchCapability2-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-14: Non-numerical PDSCH to HARQ-ACK timing
+ non-numericalPDSCH-HARQ-timing-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-15: Enhanced dynamic HARQ codebook
+ enhancedDynamicHARQ-codebook-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-16: One-shot HARQ ACK feedback
+ oneShotHARQ-feedback-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-17: Multi-PUSCH UL grant
+ multiPUSCH-UL-grant-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-26: CSI-RS based RLM for NR-U
+ csi-RS-RLM-r16 ENUMERATED {supported} OPTIONAL,
+ dummy ENUMERATED {supported} OPTIONAL,
+ -- R1 10-31: Support of P/SP-CSI-RS reception with CSI-RS-ValidationWith-DCI-r16 configured
+ periodicAndSemi-PersistentCSI-RS-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-3: PRB interlace mapping for PUSCH
+ pusch-PRB-interlace-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-3a: PRB interlace mapping for PUCCH
+ pucch-F0-F1-PRB-Interlace-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-12: OCC for PRB interlace mapping for PF2 and PF3
+ occ-PRB-PF2-PF3-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-13a: Extended CP range of more than one symbol for CG-PUSCH
+ extCP-rangeCG-PUSCH-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-18: Configured grant with retransmission in CG resources
+ configuredGrantWithReTx-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-21a: Support using ED threshold given by gNB for UL to DL COT sharing
+ ed-Threshold-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-21b: Support UL to DL COT sharing
+ ul-DL-COT-Sharing-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-24: CG-UCI multiplexing with HARQ ACK
+ mux-CG-UCI-HARQ-ACK-r16 ENUMERATED {supported} OPTIONAL,
+ -- R1 10-28: Configured grant with Rel-16 enhanced resource configuration
+ cg-resourceConfig-r16 ENUMERATED {supported} OPTIONAL
+}
+
+SharedSpectrumChAccessParamsPerBand-v1630 ::= SEQUENCE {
+ -- R4 4-1: DL reception in intra-carrier guardband
+ dl-ReceptionIntraCellGuardband-r16 ENUMERATED {supported} OPTIONAL,
+ -- R4 4-2: DL reception when gNB does not transmit on all RB sets of a carrier as a result of LBT
+ dl-ReceptionLBT-subsetRB-r16 ENUMERATED {supported} OPTIONAL
+}
+
+SharedSpectrumChAccessParamsPerBand-v1640 ::= SEQUENCE {
+ -- 10-26b(1-4): CSI-RS based RRM measurement with associated SS-block
+ csi-RSRP-AndRSRQ-MeasWithSSB-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-26c(1-5): CSI-RS based RRM measurement without associated SS-block
+ csi-RSRP-AndRSRQ-MeasWithoutSSB-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-26d(1-6): CSI-RS based RS-SINR measurement
+ csi-SINR-Meas-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-26e(1-8): RLM based on a mix of SS block and CSI-RS signals within active BWP
+ ssb-AndCSI-RS-RLM-r16 ENUMERATED {supported} OPTIONAL,
+ -- 10-26f(1-9): CSI-RS based contention free RA for HO
+ csi-RS-CFRA-ForHO-r16 ENUMERATED {supported} OPTIONAL
+}
+
+SharedSpectrumChAccessParamsPerBand-v1650 ::= SEQUENCE {
+ -- Extension of R1 10-9 capability to configure up to 16 instead of 4 cells or cell groups, respectively
+ extendedSearchSpaceSwitchWithDCI-r16 ENUMERATED {supported} OPTIONAL
+}
+
+SharedSpectrumChAccessParamsPerBand-v1710 ::= SEQUENCE {
+ -- R1 25-12: UE initiated semi-static channel occupancy with dependent configurations
+ ul-Semi-StaticChAccessDependentConfig-r17 ENUMERATED {supported} OPTIONAL,
+ -- R1 25-13: UE initiated semi-static channel occupancy with independent configurations
+ ul-Semi-StaticChAccessIndependentConfig-r17 ENUMERATED {supported} OPTIONAL
+}
+
+-- TAG-SHAREDSPECTRUMCHACCESSPARAMSPERBAND-STOP
+-- TAG-ABSOLUTETIMEINFO-START
+
+AbsoluteTimeInfo-r16 ::= BIT STRING (SIZE (48))
+
+-- TAG-ABSOLUTETIMEINFO-STOP
+-- TAG-APPLAYERMEASCONFIG-START
+
+AppLayerMeasConfig-r17 ::= SEQUENCE {
+ measConfigAppLayerToAddModList-r17 SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasConfigAppLayer-r17 OPTIONAL, -- Need N
+ measConfigAppLayerToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasConfigAppLayerId-r17 OPTIONAL, -- Need N
+ rrc-SegAllowed-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ ...
+}
+
+MeasConfigAppLayer-r17 ::= SEQUENCE {
+ measConfigAppLayerId-r17 MeasConfigAppLayerId-r17,
+ measConfigAppLayerContainer-r17 OCTET STRING (SIZE (1..8000)) OPTIONAL, -- Need N
+ serviceType-r17 ENUMERATED {streaming, mtsi, vr, spare5, spare4, spare3, spare2, spare1} OPTIONAL, -- Need M
+ pauseReporting-r17 BOOLEAN OPTIONAL, -- Need M
+ transmissionOfSessionStartStop-r17 BOOLEAN OPTIONAL, -- Need M
+ ran-VisibleParameters-r17 CHOICE {release NULL, setup RAN-VisibleParameters-r17} OPTIONAL, -- Cond ServiceType
+ ...
+}
+
+RAN-VisibleParameters-r17 ::= SEQUENCE {
+ ran-VisiblePeriodicity-r17 ENUMERATED {ms120, ms240, ms480, ms640, ms1024} OPTIONAL, -- Need S
+ numberOfBufferLevelEntries-r17 INTEGER (1..8) OPTIONAL, -- Need R
+ reportPlayoutDelayForMediaStartup-r17 BOOLEAN OPTIONAL, -- Need M
+ ...
+}
+
+-- TAG-APPLAYERMEASCONFIG-STOP
+-- TAG-AREACONFIGURATION-START
+
+AreaConfiguration-r16 ::= SEQUENCE {
+ areaConfig-r16 AreaConfig-r16,
+ interFreqTargetList-r16 SEQUENCE(SIZE (1..maxFreq)) OF InterFreqTargetInfo-r16 OPTIONAL -- Need R
+}
+
+AreaConfiguration-v1700 ::= SEQUENCE {
+ areaConfig-r17 AreaConfig-r16 OPTIONAL, -- Need R
+ interFreqTargetList-r17 SEQUENCE(SIZE (1..maxFreq)) OF InterFreqTargetInfo-r16 OPTIONAL -- Need R
+}
+
+AreaConfig-r16 ::= CHOICE {
+ cellGlobalIdList-r16 CellGlobalIdList-r16,
+ trackingAreaCodeList-r16 TrackingAreaCodeList-r16,
+ trackingAreaIdentityList-r16 TrackingAreaIdentityList-r16
+}
+
+InterFreqTargetInfo-r16 ::= SEQUENCE {
+ dl-CarrierFreq-r16 ARFCN-ValueNR,
+ cellList-r16 SEQUENCE (SIZE (1..32)) OF PhysCellId OPTIONAL -- Need R
+}
+
+CellGlobalIdList-r16 ::= SEQUENCE (SIZE (1..32)) OF CGI-Info-Logging-r16
+
+TrackingAreaCodeList-r16 ::= SEQUENCE (SIZE (1..8)) OF TrackingAreaCode
+
+TrackingAreaIdentityList-r16 ::= SEQUENCE (SIZE (1..8)) OF TrackingAreaIdentity-r16
+
+TrackingAreaIdentity-r16 ::= SEQUENCE {
+ plmn-Identity-r16 PLMN-Identity,
+ trackingAreaCode-r16 TrackingAreaCode
+}
+
+-- TAG-AREACONFIGURATION-STOP
+-- TAG-BTNAMELIST-START
+
+BT-NameList-r16 ::= SEQUENCE (SIZE (1..maxBT-Name-r16)) OF BT-Name-r16
+
+BT-Name-r16 ::= OCTET STRING (SIZE (1..248))
+
+-- TAG-BTNAMELIST-STOP
+-- TAG-DEDICATEDINFOF1C-START
+
+DedicatedInfoF1c-r17 ::= OCTET STRING
+
+-- TAG-DEDICATEDINFOF1C-STOP
+-- TAG-EUTRA-ALLOWEDMEASBANDWIDTH-START
+
+EUTRA-AllowedMeasBandwidth ::= ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100}
+
+-- TAG-EUTRA-ALLOWEDMEASBANDWIDTH-STOP
+-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-START
+
+EUTRA-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF EUTRA-MBSFN-SubframeConfig
+
+EUTRA-MBSFN-SubframeConfig ::= SEQUENCE {
+ radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},
+ radioframeAllocationOffset INTEGER (0..7),
+ subframeAllocation1 CHOICE {
+ oneFrame BIT STRING (SIZE(6)),
+ fourFrames BIT STRING (SIZE(24))
+ },
+ subframeAllocation2 CHOICE {
+ oneFrame BIT STRING (SIZE(2)),
+ fourFrames BIT STRING (SIZE(8))
+ } OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-STOP
+-- TAG-EUTRA-MULTIBANDINFOLIST-START
+
+EUTRA-MultiBandInfoList ::= SEQUENCE (SIZE (1..maxMultiBands)) OF EUTRA-MultiBandInfo
+
+EUTRA-MultiBandInfo ::= SEQUENCE {
+ eutra-FreqBandIndicator FreqBandIndicatorEUTRA,
+ eutra-NS-PmaxList EUTRA-NS-PmaxList OPTIONAL -- Need R
+}
+
+-- TAG-EUTRA-MULTIBANDINFOLIST-STOP
+-- TAG-EUTRA-NS-PMAXLIST-START
+
+EUTRA-NS-PmaxList ::= SEQUENCE (SIZE (1..maxEUTRA-NS-Pmax)) OF EUTRA-NS-PmaxValue
+
+EUTRA-NS-PmaxValue ::= SEQUENCE {
+ additionalPmax INTEGER (-30..33) OPTIONAL, -- Need R
+ additionalSpectrumEmission INTEGER (1..288) OPTIONAL -- Need R
+}
+
+-- TAG-EUTRA-NS-PMAXLIST-STOP
+-- TAG-EUTRA-PHYSCELLID-START
+
+EUTRA-PhysCellId ::= INTEGER (0..503)
+
+-- TAG-EUTRA-PHYSCELLID-STOP
+-- TAG-EUTRA-PHYSCELLIDRANGE-START
+
+EUTRA-PhysCellIdRange ::= SEQUENCE {
+ start EUTRA-PhysCellId,
+ range ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64, n84, n96,
+ n128, n168, n252, n504, spare2, spare1} OPTIONAL -- Need N
+}
+
+-- TAG-EUTRA-PHYSCELLIDRANGE-STOP
+-- TAG-EUTRA-PRESENCEANTENNAPORT1-START
+
+EUTRA-PresenceAntennaPort1 ::= BOOLEAN
+
+-- TAG-EUTRA-PRESENCEANTENNAPORT1-STOP
+-- TAG-EUTRA-Q-OFFSETRANGE-START
+
+EUTRA-Q-OffsetRange ::= ENUMERATED {
+ dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
+ dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,
+ dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,
+ dB6, dB8, dB10, dB12, dB14, dB16, dB18,
+ dB20, dB22, dB24}
+
+-- TAG-EUTRA-Q-OFFSETRANGE-STOP
+-- TAG-IABIPADDRESS-START
+
+IAB-IP-Address-r16 ::= CHOICE {
+ iPv4-Address-r16 BIT STRING (SIZE(32)),
+ iPv6-Address-r16 BIT STRING (SIZE(128)),
+ iPv6-Prefix-r16 BIT STRING (SIZE(64)),
+ ...
+}
+
+-- TAG-IABIPADDRESS-STOP
+-- TAG-IABIPADDRESSINDEX-START
+
+IAB-IP-AddressIndex-r16 ::= INTEGER (1..maxIAB-IP-Address-r16)
+
+-- TAG-IABIPADDRESSINDEX-STOP
+-- TAG-IAB-IP-USAGE-START
+
+IAB-IP-Usage-r16 ::= ENUMERATED {f1-C, f1-U, non-F1, spare}
+
+-- TAG-IAB-IP-USAGE-STOP
+-- TAG-LOGGINGDURATION-START
+
+LoggingDuration-r16 ::= ENUMERATED {
+ min10, min20, min40, min60, min90, min120, spare2, spare1}
+
+-- TAG-LOGGINGDURATION-STOP
+-- TAG-LOGGINGINTERVAL-START
+
+LoggingInterval-r16 ::= ENUMERATED {
+ ms320, ms640, ms1280, ms2560, ms5120, ms10240, ms20480,
+ ms30720, ms40960, ms61440 , infinity}
+
+-- TAG-LOGGINGINTERVAL-STOP
+-- TAG-LOGMEASRESULTLISTBT-START
+
+LogMeasResultListBT-r16 ::= SEQUENCE (SIZE (1..maxBT-IdReport-r16)) OF LogMeasResultBT-r16
+
+LogMeasResultBT-r16 ::= SEQUENCE {
+ bt-Addr-r16 BIT STRING (SIZE (48)),
+ rssi-BT-r16 INTEGER (-128..127) OPTIONAL,
+ ...
+}
+
+-- TAG-LOGMEASRESULTLISTBT-STOP
+-- TAG-LOGMEASRESULTLISTWLAN-START
+
+LogMeasResultListWLAN-r16 ::= SEQUENCE (SIZE (1..maxWLAN-Id-Report-r16)) OF LogMeasResultWLAN-r16
+
+LogMeasResultWLAN-r16 ::= SEQUENCE {
+ wlan-Identifiers-r16 WLAN-Identifiers-r16,
+ rssiWLAN-r16 WLAN-RSSI-Range-r16 OPTIONAL,
+ rtt-WLAN-r16 WLAN-RTT-r16 OPTIONAL,
+ ...
+}
+
+WLAN-Identifiers-r16 ::= SEQUENCE {
+ ssid-r16 OCTET STRING (SIZE (1..32)) OPTIONAL,
+ bssid-r16 OCTET STRING (SIZE (6)) OPTIONAL,
+ hessid-r16 OCTET STRING (SIZE (6)) OPTIONAL,
+ ...
+}
+
+WLAN-RSSI-Range-r16 ::= INTEGER(0..141)
+
+WLAN-RTT-r16 ::= SEQUENCE {
+ rttValue-r16 INTEGER (0..16777215),
+ rttUnits-r16 ENUMERATED {
+ microseconds,
+ hundredsofnanoseconds,
+ tensofnanoseconds,
+ nanoseconds,
+ tenthsofnanoseconds,
+ ...},
+ rttAccuracy-r16 INTEGER (0..255) OPTIONAL,
+ ...
+}
+
+-- TAG-LOGMEASRESULTLISTWLAN-STOP
+-- TAG-MEASCONFIGAPPLAYERID-START
+
+MeasConfigAppLayerId-r17 ::= INTEGER (0..maxNrofAppLayerMeas-1-r17)
+
+-- TAG-MEASCONFIGAPPLAYERID-STOP
+-- TAG-OTHERCONFIG-START
+
+OtherConfig ::= SEQUENCE {
+ delayBudgetReportingConfig CHOICE{
+ release NULL,
+ setup SEQUENCE{
+ delayBudgetReportingProhibitTimer ENUMERATED {s0, s0dot4, s0dot8, s1dot6, s3, s6, s12, s30}
+ }
+ } OPTIONAL -- Need M
+}
+
+OtherConfig-v1540 ::= SEQUENCE {
+ overheatingAssistanceConfig CHOICE {release NULL, setup OverheatingAssistanceConfig} OPTIONAL, -- Need M
+ ...
+}
+
+OtherConfig-v1610 ::= SEQUENCE {
+ idc-AssistanceConfig-r16 CHOICE {release NULL, setup IDC-AssistanceConfig-r16} OPTIONAL, -- Need M
+ drx-PreferenceConfig-r16 CHOICE {release NULL, setup DRX-PreferenceConfig-r16} OPTIONAL, -- Need M
+ maxBW-PreferenceConfig-r16 CHOICE {release NULL, setup MaxBW-PreferenceConfig-r16} OPTIONAL, -- Need M
+ maxCC-PreferenceConfig-r16 CHOICE {release NULL, setup MaxCC-PreferenceConfig-r16} OPTIONAL, -- Need M
+ maxMIMO-LayerPreferenceConfig-r16 CHOICE {release NULL, setup MaxMIMO-LayerPreferenceConfig-r16} OPTIONAL, -- Need M
+ minSchedulingOffsetPreferenceConfig-r16 CHOICE {release NULL, setup MinSchedulingOffsetPreferenceConfig-r16} OPTIONAL, -- Need M
+ releasePreferenceConfig-r16 CHOICE {release NULL, setup ReleasePreferenceConfig-r16} OPTIONAL, -- Need M
+ referenceTimePreferenceReporting-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ btNameList-r16 CHOICE {release NULL, setup BT-NameList-r16} OPTIONAL, -- Need M
+ wlanNameList-r16 CHOICE {release NULL, setup WLAN-NameList-r16} OPTIONAL, -- Need M
+ sensorNameList-r16 CHOICE {release NULL, setup Sensor-NameList-r16} OPTIONAL, -- Need M
+ obtainCommonLocation-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ sl-AssistanceConfigNR-r16 ENUMERATED{true} OPTIONAL -- Need R
+}
+
+OtherConfig-v1700 ::= SEQUENCE {
+ ul-GapFR2-PreferenceConfig-r17 ENUMERATED {true} OPTIONAL, -- Need R
+ musim-GapAssistanceConfig-r17 CHOICE {release NULL, setup MUSIM-GapAssistanceConfig-r17} OPTIONAL, -- Need M
+ musim-LeaveAssistanceConfig-r17 CHOICE {release NULL, setup MUSIM-LeaveAssistanceConfig-r17} OPTIONAL, -- Need M
+ successHO-Config-r17 CHOICE {release NULL, setup SuccessHO-Config-r17} OPTIONAL, -- Need M
+ maxBW-PreferenceConfigFR2-2-r17 ENUMERATED {true} OPTIONAL, -- Cond maxBW
+ maxMIMO-LayerPreferenceConfigFR2-2-r17 ENUMERATED {true} OPTIONAL, -- Cond maxMIMO
+ minSchedulingOffsetPreferenceConfigExt-r17 ENUMERATED {true} OPTIONAL, -- Cond minOffset
+ rlm-RelaxationReportingConfig-r17 CHOICE {release NULL, setup RLM-RelaxationReportingConfig-r17} OPTIONAL, -- Need M
+ bfd-RelaxationReportingConfig-r17 CHOICE {release NULL, setup BFD-RelaxationReportingConfig-r17} OPTIONAL, -- Need M
+ scg-DeactivationPreferenceConfig-r17 CHOICE {release NULL, setup SCG-DeactivationPreferenceConfig-r17} OPTIONAL, -- Cond SCG
+ rrm-MeasRelaxationReportingConfig-r17 CHOICE {release NULL, setup RRM-MeasRelaxationReportingConfig-r17} OPTIONAL, -- Need M
+ propDelayDiffReportConfig-r17 CHOICE {release NULL, setup PropDelayDiffReportConfig-r17} OPTIONAL -- Need M
+}
+
+CandidateServingFreqListNR-r16 ::= SEQUENCE (SIZE (1..maxFreqIDC-r16)) OF ARFCN-ValueNR
+
+MUSIM-GapAssistanceConfig-r17 ::= SEQUENCE {
+ musim-GapProhibitTimer-r17 ENUMERATED {s0, s0dot1, s0dot2, s0dot3, s0dot4, s0dot5, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10}
+}
+
+MUSIM-LeaveAssistanceConfig-r17 ::= SEQUENCE {
+ musim-LeaveWithoutResponseTimer-r17 ENUMERATED {ms10, ms20, ms40, ms60, ms80, ms100, spare2, spare1}
+}
+
+SuccessHO-Config-r17 ::= SEQUENCE {
+ thresholdPercentageT304-r17 ENUMERATED {p40, p60, p80, spare5, spare4, spare3, spare2, spare1} OPTIONAL, --Need R
+ thresholdPercentageT310-r17 ENUMERATED {p40, p60, p80, spare5, spare4, spare3, spare2, spare1} OPTIONAL, --Need R
+ thresholdPercentageT312-r17 ENUMERATED {p20, p40, p60, p80, spare4, spare3, spare2, spare1} OPTIONAL, --Need R
+ sourceDAPS-FailureReporting-r17 ENUMERATED {true} OPTIONAL, --Need R
+ ...
+}
+
+OverheatingAssistanceConfig ::= SEQUENCE {
+ overheatingIndicationProhibitTimer ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30,
+ s60, s90, s120, s300, s600, spare3, spare2, spare1}
+}
+
+IDC-AssistanceConfig-r16 ::= SEQUENCE {
+ candidateServingFreqListNR-r16 CandidateServingFreqListNR-r16 OPTIONAL, -- Need R
+ ...
+}
+
+DRX-PreferenceConfig-r16 ::= SEQUENCE {
+ drx-PreferenceProhibitTimer-r16 ENUMERATED {
+ s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
+ s8, s9, s10, s20, s30, spare2, spare1}
+}
+
+MaxBW-PreferenceConfig-r16 ::= SEQUENCE {
+ maxBW-PreferenceProhibitTimer-r16 ENUMERATED {
+ s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
+ s8, s9, s10, s20, s30, spare2, spare1}
+}
+
+MaxCC-PreferenceConfig-r16 ::= SEQUENCE {
+ maxCC-PreferenceProhibitTimer-r16 ENUMERATED {
+ s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
+ s8, s9, s10, s20, s30, spare2, spare1}
+}
+
+MaxMIMO-LayerPreferenceConfig-r16 ::= SEQUENCE {
+ maxMIMO-LayerPreferenceProhibitTimer-r16 ENUMERATED {
+ s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
+ s8, s9, s10, s20, s30, spare2, spare1}
+}
+
+MinSchedulingOffsetPreferenceConfig-r16 ::= SEQUENCE {
+ minSchedulingOffsetPreferenceProhibitTimer-r16 ENUMERATED {
+ s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
+ s8, s9, s10, s20, s30, spare2, spare1}
+}
+
+ReleasePreferenceConfig-r16 ::= SEQUENCE {
+ releasePreferenceProhibitTimer-r16 ENUMERATED {
+ s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
+ s8, s9, s10, s20, s30, infinity, spare1},
+ connectedReporting ENUMERATED {true} OPTIONAL -- Need R
+}
+
+RLM-RelaxationReportingConfig-r17 ::= SEQUENCE {
+ rlm-RelaxtionReportingProhibitTimer ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30,
+ s60, s90, s120, s300, s600, infinity, spare2, spare1}
+}
+
+BFD-RelaxationReportingConfig-r17 ::= SEQUENCE {
+ bfd-RelaxtionReportingProhibitTimer ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30,
+ s60, s90, s120, s300, s600, infinity, spare2, spare1}
+}
+
+SCG-DeactivationPreferenceConfig-r17 ::= SEQUENCE {
+ scg-DeactivationPreferenceProhibitTimer-r17 ENUMERATED {
+ s0, s1, s2, s4, s8, s10, s15, s30,
+ s60, s120, s180, s240, s300, s600, s900, s1800}
+}
+
+RRM-MeasRelaxationReportingConfig-r17 ::= SEQUENCE {
+ s-SearchDeltaP-Stationary-r17 ENUMERATED {dB2, dB3, dB6, dB9, dB12, dB15, spare2, spare1},
+ t-SearchDeltaP-Stationary-r17 ENUMERATED {s5, s10, s20, s30, s60, s120, s180, s240, s300, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1}
+}
+
+PropDelayDiffReportConfig-r17 ::= SEQUENCE {
+ threshPropDelayDiff-r17 ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5, ms6 ,ms7, ms8, ms9, ms10, spare5,
+ spare4, spare3, spare2, spare1} OPTIONAL, -- Need M
+ neighCellInfoList-r17 SEQUENCE (SIZE (1..maxCellNTN-r17)) OF NeighbourCellInfo-r17 OPTIONAL -- Need M
+}
+
+NeighbourCellInfo-r17 ::= SEQUENCE {
+epochTime-r17 EpochTime-r17,
+ephemerisInfo-r17 EphemerisInfo-r17
+}
+
+-- TAG-OTHERCONFIG-STOP
+-- TAG-PHYSCELLIDUTRA-FDD-START
+
+PhysCellIdUTRA-FDD-r16 ::= INTEGER (0..511)
+
+-- TAG-PHYSCELLIDUTRA-FDD-STOP
+-- TAG-RRC-TRANSACTIONIDENTIFIER-START
+
+RRC-TransactionIdentifier ::= INTEGER (0..3)
+
+-- TAG-RRC-TRANSACTIONIDENTIFIER-STOP
+-- TAG-SENSORNAMELIST-START
+
+Sensor-NameList-r16 ::= SEQUENCE {
+ measUncomBarPre-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ measUeSpeed ENUMERATED {true} OPTIONAL, -- Need R
+ measUeOrientation ENUMERATED {true} OPTIONAL -- Need R
+}
+
+-- TAG-SENSORNAMELIST-STOP
+-- TAG-TRACEREFERENCE-START
+
+TraceReference-r16 ::= SEQUENCE {
+ plmn-Identity-r16 PLMN-Identity,
+ traceId-r16 OCTET STRING (SIZE (3))
+}
+
+-- TAG-TRACEREFERENCE-STOP
+-- TAG-UE-MeasurementsAvailable-START
+
+UE-MeasurementsAvailable-r16 ::= SEQUENCE {
+ logMeasAvailable-r16 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableBT-r16 ENUMERATED {true} OPTIONAL,
+ logMeasAvailableWLAN-r16 ENUMERATED {true} OPTIONAL,
+ connEstFailInfoAvailable-r16 ENUMERATED {true} OPTIONAL,
+ rlf-InfoAvailable-r16 ENUMERATED {true} OPTIONAL,
+ ...,
+ [[
+ successHO-InfoAvailable-r17 ENUMERATED {true} OPTIONAL,
+ sigLogMeasConfigAvailable-r17 BOOLEAN OPTIONAL
+ ]]
+}
+
+-- TAG-UE-MeasurementsAvailable-STOP
+-- TAG-UTRA-FDD-Q-OFFSETRANGE-START
+
+UTRA-FDD-Q-OffsetRange-r16 ::= ENUMERATED {
+ dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
+ dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,
+ dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,
+ dB6, dB8, dB10, dB12, dB14, dB16, dB18,
+ dB20, dB22, dB24}
+
+-- TAG-UTRA-FDD-Q-OFFSETRANGE-STOP
+-- TAG-VISITEDCELLINFOLIST-START
+
+VisitedCellInfoList-r16 ::= SEQUENCE (SIZE (1..maxCellHistory-r16)) OF VisitedCellInfo-r16
+
+VisitedCellInfo-r16 ::= SEQUENCE {
+ visitedCellId-r16 CHOICE {
+ nr-CellId-r16 CHOICE {
+ cgi-Info CGI-Info-Logging-r16,
+ pci-arfcn-r16 PCI-ARFCN-NR-r16
+ },
+ eutra-CellId-r16 CHOICE {
+ cellGlobalId-r16 CGI-InfoEUTRA,
+ pci-arfcn-r16 PCI-ARFCN-EUTRA-r16
+ }
+ } OPTIONAL,
+ timeSpent-r16 INTEGER (0..4095),
+ ...,
+ [[
+ visitedPSCellInfoListReport-r17 VisitedPSCellInfoList-r17 OPTIONAL
+ ]]
+}
+
+VisitedPSCellInfoList-r17 ::= SEQUENCE (SIZE (1..maxPSCellHistory-r17)) OF VisitedPSCellInfo-r17
+
+VisitedPSCellInfo-r17 ::= SEQUENCE {
+ visitedCellId-r17 CHOICE {
+ nr-CellId-r17 CHOICE {
+ cgi-Info-r17 CGI-Info-Logging-r16,
+ pci-arfcn-r17 PCI-ARFCN-NR-r16
+ },
+ eutra-CellId-r17 CHOICE {
+ cellGlobalId-r17 CGI-InfoEUTRALogging,
+ pci-arfcn-r17 PCI-ARFCN-EUTRA-r16
+ }
+ } OPTIONAL,
+ timeSpent-r17 INTEGER (0..4095),
+ ...
+}
+
+-- TAG-VISITEDCELLINFOLIST-STOP
+-- TAG-WLANNAMELIST-START
+
+WLAN-NameList-r16 ::= SEQUENCE (SIZE (1..maxWLAN-Name-r16)) OF WLAN-Name-r16
+
+WLAN-Name-r16 ::= OCTET STRING (SIZE (1..32))
+
+-- TAG-SL-BWP-CONFIG-START
+
+SL-BWP-Config-r16 ::= SEQUENCE {
+ sl-BWP-Id BWP-Id,
+ sl-BWP-Generic-r16 SL-BWP-Generic-r16 OPTIONAL, -- Need M
+ sl-BWP-PoolConfig-r16 SL-BWP-PoolConfig-r16 OPTIONAL, -- Need M
+ ...,
+ [[
+ sl-BWP-PoolConfigPS-r17 CHOICE {release NULL, setup SL-BWP-PoolConfig-r16} OPTIONAL, -- Need M
+ sl-BWP-DiscPoolConfig-r17 CHOICE {release NULL, setup SL-BWP-DiscPoolConfig-r17} OPTIONAL -- Need M
+ ]]
+}
+
+SL-BWP-Generic-r16 ::= SEQUENCE {
+ sl-BWP-r16 BWP OPTIONAL, -- Need M
+ sl-LengthSymbols-r16 ENUMERATED {sym7, sym8, sym9, sym10, sym11, sym12, sym13, sym14} OPTIONAL, -- Need M
+ sl-StartSymbol-r16 ENUMERATED {sym0, sym1, sym2, sym3, sym4, sym5, sym6, sym7} OPTIONAL, -- Need M
+ sl-PSBCH-Config-r16 CHOICE {release NULL, setup SL-PSBCH-Config-r16} OPTIONAL, -- Need M
+ sl-TxDirectCurrentLocation-r16 INTEGER (0..3301) OPTIONAL, -- Need M
+ ...
+}
+
+-- TAG-SL-BWP-CONFIG-STOP
+-- TAG-SL-BWP-CONFIGCOMMON-START
+
+SL-BWP-ConfigCommon-r16 ::= SEQUENCE {
+ sl-BWP-Generic-r16 SL-BWP-Generic-r16 OPTIONAL, -- Need R
+ sl-BWP-PoolConfigCommon-r16 SL-BWP-PoolConfigCommon-r16 OPTIONAL, -- Need R
+ ...,
+ [[
+ sl-BWP-PoolConfigCommonPS-r17 SL-BWP-PoolConfigCommon-r16 OPTIONAL, -- Need R
+ sl-BWP-DiscPoolConfigCommon-r17 SL-BWP-DiscPoolConfigCommon-r17 OPTIONAL -- Need R
+ ]]
+}
+
+-- TAG-SL-BWP-CONFIGCOMMON-STOP
+-- TAG-SL-BWP-DISCPOOLCONFIG-START
+
+SL-BWP-DiscPoolConfig-r17 ::= SEQUENCE {
+ sl-DiscRxPool-r17 SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16 OPTIONAL, -- Cond HO
+ sl-DiscTxPoolSelected-r17 SL-TxPoolDedicated-r16 OPTIONAL, -- Need M
+ sl-DiscTxPoolScheduling-r17 SL-TxPoolDedicated-r16 OPTIONAL -- Need N
+}
+
+-- TAG-SL-BWP-DISCPOOLCONFIG-STOP
+-- TAG-SL-BWP-DISCPOOLCONFIGCOMMON-START
+
+SL-BWP-DiscPoolConfigCommon-r17 ::= SEQUENCE {
+ sl-DiscRxPool-r17 SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16 OPTIONAL, -- Need R
+ sl-DiscTxPoolSelected-r17 SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolConfig-r16 OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-SL-BWP-DISCPOOLCONFIGCOMMON-STOP
+-- TAG-SL-BWP-POOLCONFIG-START
+
+SL-BWP-PoolConfig-r16 ::= SEQUENCE {
+ sl-RxPool-r16 SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16 OPTIONAL, -- Cond HO
+ sl-TxPoolSelectedNormal-r16 SL-TxPoolDedicated-r16 OPTIONAL, -- Need M
+ sl-TxPoolScheduling-r16 SL-TxPoolDedicated-r16 OPTIONAL, -- Need N
+ sl-TxPoolExceptional-r16 SL-ResourcePoolConfig-r16 OPTIONAL -- Need M
+}
+
+SL-TxPoolDedicated-r16 ::= SEQUENCE {
+ sl-PoolToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolID-r16 OPTIONAL, -- Need N
+ sl-PoolToAddModList-r16 SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolConfig-r16 OPTIONAL -- Need N
+}
+
+SL-ResourcePoolConfig-r16 ::= SEQUENCE {
+ sl-ResourcePoolID-r16 SL-ResourcePoolID-r16,
+ sl-ResourcePool-r16 SL-ResourcePool-r16 OPTIONAL -- Need M
+}
+
+SL-ResourcePoolID-r16 ::= INTEGER (1..maxNrofPoolID-r16)
+
+-- TAG-SL-BWP-POOLCONFIG-STOP
+-- TAG-SL-BWP-POOLCONFIGCOMMON-START
+
+SL-BWP-PoolConfigCommon-r16 ::= SEQUENCE {
+ sl-RxPool-r16 SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16 OPTIONAL, -- Need R
+ sl-TxPoolSelectedNormal-r16 SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolConfig-r16 OPTIONAL, -- Need R
+ sl-TxPoolExceptional-r16 SL-ResourcePoolConfig-r16 OPTIONAL -- Need R
+}
+
+-- TAG-SL-BWP-POOLCONFIGCOMMON-STOP
+-- TAG-SL-CBR-PRIORITYTXCONFIGLIST-START
+
+SL-CBR-PriorityTxConfigList-r16 ::= SEQUENCE (SIZE (1..8)) OF SL-PriorityTxConfigIndex-r16
+
+SL-CBR-PriorityTxConfigList-v1650 ::= SEQUENCE (SIZE (1..8)) OF SL-PriorityTxConfigIndex-v1650
+
+SL-PriorityTxConfigIndex-r16 ::= SEQUENCE {
+ sl-PriorityThreshold-r16 INTEGER (1..8) OPTIONAL, -- Need M
+ sl-DefaultTxConfigIndex-r16 INTEGER (0..maxCBR-Level-1-r16) OPTIONAL, -- Need M
+ sl-CBR-ConfigIndex-r16 INTEGER (0..maxCBR-Config-1-r16) OPTIONAL, -- Need M
+ sl-Tx-ConfigIndexList-r16 SEQUENCE (SIZE (1.. maxCBR-Level-r16)) OF SL-TxConfigIndex-r16 OPTIONAL -- Need M
+}
+
+SL-PriorityTxConfigIndex-v1650 ::= SEQUENCE {
+ sl-MCS-RangeList-r16 SEQUENCE (SIZE (1..maxCBR-Level-r16)) OF SL-MinMaxMCS-List-r16 OPTIONAL -- Need M
+}
+
+SL-TxConfigIndex-r16 ::= INTEGER (0..maxTxConfig-1-r16)
+
+-- TAG-SL-CBR-PRIORITYTXCONFIGLIST-STOP
+-- TAG-SL-CBR-COMMONTXCONFIGLIST-START
+
+SL-CBR-CommonTxConfigList-r16 ::= SEQUENCE {
+ sl-CBR-RangeConfigList-r16 SEQUENCE (SIZE (1..maxCBR-Config-r16)) OF SL-CBR-LevelsConfig-r16 OPTIONAL, -- Need M
+ sl-CBR-PSSCH-TxConfigList-r16 SEQUENCE (SIZE (1.. maxTxConfig-r16)) OF SL-CBR-PSSCH-TxConfig-r16 OPTIONAL -- Need M
+}
+
+SL-CBR-LevelsConfig-r16 ::= SEQUENCE (SIZE (1..maxCBR-Level-r16)) OF SL-CBR-r16
+
+SL-CBR-PSSCH-TxConfig-r16 ::= SEQUENCE {
+ sl-CR-Limit-r16 INTEGER(0..10000) OPTIONAL, -- Need M
+ sl-TxParameters-r16 SL-PSSCH-TxParameters-r16 OPTIONAL -- Need M
+}
+
+SL-CBR-r16 ::= INTEGER (0..100)
+
+-- TAG-SL-CBR-COMMONTXCONFIGLIST-STOP
+-- TAG-SL-CONFIGDEDICATEDNR-START
+
+SL-ConfigDedicatedNR-r16 ::= SEQUENCE {
+ sl-PHY-MAC-RLC-Config-r16 SL-PHY-MAC-RLC-Config-r16 OPTIONAL, -- Need M
+ sl-RadioBearerToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-Uu-ConfigIndex-r16 OPTIONAL, -- Need N
+ sl-RadioBearerToAddModList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-RadioBearerConfig-r16 OPTIONAL, -- Need N
+ sl-MeasConfigInfoToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-DestinationIndex-r16 OPTIONAL, -- Need N
+ sl-MeasConfigInfoToAddModList-r16 SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-MeasConfigInfo-r16 OPTIONAL, -- Need N
+ t400-r16 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need M
+ ...,
+ [[
+ sl-PHY-MAC-RLC-Config-v1700 CHOICE {release NULL, setup SL-PHY-MAC-RLC-Config-v1700 } OPTIONAL, -- Need M
+ sl-DiscConfig-r17 CHOICE {release NULL, setup SL-DiscConfig-r17} OPTIONAL -- Need M
+ ]]
+}
+
+SL-DestinationIndex-r16 ::= INTEGER (0..maxNrofSL-Dest-1-r16)
+
+SL-PHY-MAC-RLC-Config-r16::= SEQUENCE {
+ sl-ScheduledConfig-r16 CHOICE {release NULL, setup SL-ScheduledConfig-r16 } OPTIONAL, -- Need M
+ sl-UE-SelectedConfig-r16 CHOICE {release NULL, setup SL-UE-SelectedConfig-r16 } OPTIONAL, -- Need M
+ sl-FreqInfoToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-Freq-Id-r16 OPTIONAL, -- Need N
+ sl-FreqInfoToAddModList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-FreqConfig-r16 OPTIONAL, -- Need N
+ sl-RLC-BearerToReleaseList-r16 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfigIndex-r16 OPTIONAL, -- Need N
+ sl-RLC-BearerToAddModList-r16 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfig-r16 OPTIONAL, -- Need N
+ sl-MaxNumConsecutiveDTX-r16 ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32} OPTIONAL, -- Need M
+ sl-CSI-Acquisition-r16 ENUMERATED {enabled} OPTIONAL, -- Need R
+ sl-CSI-SchedulingRequestId-r16 CHOICE {release NULL, setup SchedulingRequestId} OPTIONAL, -- Need M
+ sl-SSB-PriorityNR-r16 INTEGER (1..8) OPTIONAL, -- Need R
+ networkControlledSyncTx-r16 ENUMERATED {on, off} OPTIONAL -- Need M
+}
+
+-- WS modification: define a dedicated type
+SL-RLC-ChannelToAddModList-r17 ::= SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelConfig-r17
+
+SL-PHY-MAC-RLC-Config-v1700 ::= SEQUENCE {
+ sl-DRX-Config-r17 SL-DRX-Config-r17 OPTIONAL, -- Need M
+ sl-RLC-ChannelToReleaseList-r17 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelID-r17 OPTIONAL, -- Cond L2U2N
+-- WS modification: define a dedicated type
+-- sl-RLC-ChannelToAddModList-r17 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelConfig-r17 OPTIONAL, -- -- Cond L2U2N
+ sl-RLC-ChannelToAddModList-r17 SL-RLC-ChannelToAddModList-r17 OPTIONAL, -- Cond L2U2N
+ ...
+}
+
+SL-DiscConfig-r17::= SEQUENCE {
+ sl-RelayUE-Config-r17 CHOICE {release NULL, setup SL-RelayUE-Config-r17} OPTIONAL, -- Cond L2RelayUE
+ sl-RemoteUE-Config-r17 CHOICE {release NULL, setup SL-RemoteUE-Config-r17} OPTIONAL -- Cond L2RemoteUE
+}
+
+-- TAG-SL-CONFIGDEDICATEDNR-STOP
+-- TAG-SL-CONFIGUREDGRANTCONFIG-START
+
+SL-ConfiguredGrantConfig-r16 ::= SEQUENCE {
+ sl-ConfigIndexCG-r16 SL-ConfigIndexCG-r16,
+ sl-PeriodCG-r16 SL-PeriodCG-r16 OPTIONAL, -- Need M
+ sl-NrOfHARQ-Processes-r16 INTEGER (1..16) OPTIONAL, -- Need M
+ sl-HARQ-ProcID-offset-r16 INTEGER (0..15) OPTIONAL, -- Need M
+ sl-CG-MaxTransNumList-r16 SL-CG-MaxTransNumList-r16 OPTIONAL, -- Need M
+ rrc-ConfiguredSidelinkGrant-r16 SEQUENCE {
+ sl-TimeResourceCG-Type1-r16 INTEGER (0..496) OPTIONAL, -- Need M
+ sl-StartSubchannelCG-Type1-r16 INTEGER (0..26) OPTIONAL, -- Need M
+ sl-FreqResourceCG-Type1-r16 INTEGER (0..6929) OPTIONAL, -- Need M
+ sl-TimeOffsetCG-Type1-r16 INTEGER (0..7999) OPTIONAL, -- Need R
+ sl-N1PUCCH-AN-r16 PUCCH-ResourceId OPTIONAL, -- Need M
+ sl-PSFCH-ToPUCCH-CG-Type1-r16 INTEGER (0..15) OPTIONAL, -- Need M
+ sl-ResourcePoolID-r16 SL-ResourcePoolID-r16 OPTIONAL, -- Need M
+ sl-TimeReferenceSFN-Type1-r16 ENUMERATED {sfn512} OPTIONAL -- Need S
+ } OPTIONAL, -- Need M
+ ...,
+ [[
+ sl-N1PUCCH-AN-Type2-r16 PUCCH-ResourceId OPTIONAL -- Need M
+ ]]
+}
+
+SL-ConfigIndexCG-r16 ::= INTEGER (0..maxNrofCG-SL-1-r16)
+
+SL-CG-MaxTransNumList-r16 ::= SEQUENCE (SIZE (1..8)) OF SL-CG-MaxTransNum-r16
+
+SL-CG-MaxTransNum-r16 ::= SEQUENCE {
+ sl-Priority-r16 INTEGER (1..8),
+ sl-MaxTransNum-r16 INTEGER (1..32)
+}
+
+SL-PeriodCG-r16 ::= CHOICE{
+ sl-PeriodCG1-r16 ENUMERATED {ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000, spare6,
+ spare5, spare4, spare3, spare2, spare1},
+ sl-PeriodCG2-r16 INTEGER (1..99)
+}
+
+-- TAG-SL-CONFIGUREDGRANTCONFIG-STOP
+-- TAG-SL-DESTINATIONIDENTITY-START
+
+SL-DestinationIdentity-r16 ::= BIT STRING (SIZE (24))
+
+-- TAG-SL-DESTINATIONIDENTITY-STOP
+-- TAG-SL-DRX-CONFIG-START
+
+SL-DRX-Config-r17 ::= SEQUENCE {
+ sl-DRX-ConfigGC-BC-r17 SL-DRX-ConfigGC-BC-r17 OPTIONAL, -- Cond HO
+ sl-DRX-ConfigUC-ToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-DestinationIndex-r16 OPTIONAL, -- Need N
+ sl-DRX-ConfigUC-ToAddModList-r17 SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-DRX-ConfigUC-Info-r17 OPTIONAL, -- Need N
+ ...
+}
+
+SL-DRX-ConfigUC-Info-r17 ::= SEQUENCE {
+ sl-DestinationIndex-r17 SL-DestinationIndex-r16 OPTIONAL, -- Need N
+ sl-DRX-ConfigUC-r17 SL-DRX-ConfigUC-r17 OPTIONAL, -- Need N
+ ...
+}
+
+-- TAG-SL-DRX-CONFIG-STOP
+-- TAG-SL-DRX-CONFIGGC-BC-START
+
+SL-DRX-ConfigGC-BC-r17 ::= SEQUENCE {
+ sl-DRX-GC-BC-PerQoS-List-r17 SEQUENCE (SIZE (1..maxSL-GC-BC-DRX-QoS-r17)) OF SL-DRX-GC-BC-QoS-r17 OPTIONAL, -- Need M
+ sl-DRX-GC-generic-r17 SL-DRX-GC-Generic-r17 OPTIONAL, -- Need M
+ sl-DefaultDRX-GC-BC-r17 SL-DRX-GC-BC-QoS-r17 OPTIONAL, -- Need M
+ ...
+}
+
+SL-DRX-GC-BC-QoS-r17 ::= SEQUENCE {
+ sl-DRX-GC-BC-MappedQoS-FlowList-r17 SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-Profile-r16 OPTIONAL, -- Need M
+ sl-DRX-GC-BC-OnDurationTimer-r17 CHOICE {
+ subMilliSeconds INTEGER (1..31),
+ milliSeconds ENUMERATED {
+ ms1, ms2, ms3, ms4, ms5,ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
+ ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
+ ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+ },
+ sl-DRX-GC-InactivityTimer-r17 ENUMERATED {
+ ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
+ ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1},
+ sl-DRX-GC-BC-Cycle-r17 ENUMERATED {
+ ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512,
+ ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, spare12, spare11, spare10,
+ spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1},
+ ...
+}
+
+SL-DRX-GC-Generic-r17 ::= SEQUENCE {
+ sl-DRX-GC-HARQ-RTT-Timer1-r17 ENUMERATED {sl0, sl1, sl2, sl4, spare4, spare3, spare2, spare1} OPTIONAL, -- Need M
+ sl-DRX-GC-HARQ-RTT-Timer2-r17 ENUMERATED {sl0, sl1, sl2, sl4, spare4, spare3, spare2, spare1} OPTIONAL, -- Need M
+ sl-DRX-GC-RetransmissionTimer-r17 ENUMERATED {
+ sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
+ sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+}
+
+-- TAG-SL-DRX-CONFIGGC-BC-STOP
+-- TAG-DRX-CONFIGUC-START
+
+SL-DRX-ConfigUC-r17 ::= SEQUENCE {
+ sl-drx-onDurationTimer-r17 CHOICE {
+ subMilliSeconds INTEGER (1..31),
+ milliSeconds ENUMERATED {
+ ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
+ ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
+ ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+ },
+ sl-drx-InactivityTimer-r17 ENUMERATED {
+ ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
+ ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1},
+ sl-drx-HARQ-RTT-Timer1-r17 ENUMERATED {sl0, sl1, sl2, sl4, spare4, spare3, spare2, spare1} OPTIONAL, -- Need M
+ sl-drx-HARQ-RTT-Timer2-r17 ENUMERATED {sl0, sl1, sl2, sl4, spare4, spare3, spare2, spare1} OPTIONAL, -- Need M
+ sl-drx-RetransmissionTimer-r17 ENUMERATED {
+ sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
+ sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1},
+ sl-drx-CycleStartOffset-r17 CHOICE {
+ ms10 INTEGER(0..9),
+ ms20 INTEGER(0..19),
+ ms32 INTEGER(0..31),
+ ms40 INTEGER(0..39),
+ ms60 INTEGER(0..59),
+ ms64 INTEGER(0..63),
+ ms70 INTEGER(0..69),
+ ms80 INTEGER(0..79),
+ ms128 INTEGER(0..127),
+ ms160 INTEGER(0..159),
+ ms256 INTEGER(0..255),
+ ms320 INTEGER(0..319),
+ ms512 INTEGER(0..511),
+ ms640 INTEGER(0..639),
+ ms1024 INTEGER(0..1023),
+ ms1280 INTEGER(0..1279),
+ ms2048 INTEGER(0..2047),
+ ms2560 INTEGER(0..2559),
+ ms5120 INTEGER(0..5119),
+ ms10240 INTEGER(0..10239)
+ },
+ sl-drx-SlotOffset INTEGER (0..31)
+}
+
+-- TAG-SL-DRX-CONFIGUC-STOP
+-- TAG-DRX-CONFIGUCSEMISTATIC-START
+
+SL-DRX-ConfigUC-SemiStatic-r17 ::= SEQUENCE {
+ sl-drx-onDurationTimer-r17 CHOICE {
+ subMilliSeconds INTEGER (1..31),
+ milliSeconds ENUMERATED {
+ ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
+ ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
+ ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+ },
+ sl-drx-CycleStartOffset-r17 CHOICE {
+ ms10 INTEGER(0..9),
+ ms20 INTEGER(0..19),
+ ms32 INTEGER(0..31),
+ ms40 INTEGER(0..39),
+ ms60 INTEGER(0..59),
+ ms64 INTEGER(0..63),
+ ms70 INTEGER(0..69),
+ ms80 INTEGER(0..79),
+ ms128 INTEGER(0..127),
+ ms160 INTEGER(0..159),
+ ms256 INTEGER(0..255),
+ ms320 INTEGER(0..319),
+ ms512 INTEGER(0..511),
+ ms640 INTEGER(0..639),
+ ms1024 INTEGER(0..1023),
+ ms1280 INTEGER(0..1279),
+ ms2048 INTEGER(0..2047),
+ ms2560 INTEGER(0..2559),
+ ms5120 INTEGER(0..5119),
+ ms10240 INTEGER(0..10239)
+ },
+ sl-drx-SlotOffset-r17 INTEGER (0..31)
+}
+
+-- TAG-SL-DRX-CONFIGUCSEMISTATIC-STOP
+-- TAG-SL-FREQCONFIG-START
+
+SL-FreqConfig-r16 ::= SEQUENCE {
+ sl-Freq-Id-r16 SL-Freq-Id-r16,
+ sl-SCS-SpecificCarrierList-r16 SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+ sl-AbsoluteFrequencyPointA-r16 ARFCN-ValueNR OPTIONAL, -- Need M
+ sl-AbsoluteFrequencySSB-r16 ARFCN-ValueNR OPTIONAL, -- Need R
+ frequencyShift7p5khzSL-r16 ENUMERATED {true} OPTIONAL, -- Cond V2X-SL-Shared
+ valueN-r16 INTEGER (-1..1),
+ sl-BWP-ToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSL-BWPs-r16)) OF BWP-Id OPTIONAL, -- Need N
+ sl-BWP-ToAddModList-r16 SEQUENCE (SIZE (1..maxNrofSL-BWPs-r16)) OF SL-BWP-Config-r16 OPTIONAL, -- Need N
+ sl-SyncConfigList-r16 SL-SyncConfigList-r16 OPTIONAL, -- Need M
+ sl-SyncPriority-r16 ENUMERATED {gnss, gnbEnb} OPTIONAL -- Need M
+}
+
+SL-Freq-Id-r16 ::= INTEGER (1.. maxNrofFreqSL-r16)
+
+-- TAG-SL-FREQCONFIG-STOP
+-- TAG-SL-FREQCONFIGCOMMON-START
+
+SL-FreqConfigCommon-r16 ::= SEQUENCE {
+ sl-SCS-SpecificCarrierList-r16 SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
+ sl-AbsoluteFrequencyPointA-r16 ARFCN-ValueNR,
+ sl-AbsoluteFrequencySSB-r16 ARFCN-ValueNR OPTIONAL, -- Need R
+ frequencyShift7p5khzSL-r16 ENUMERATED {true} OPTIONAL, -- Cond V2X-SL-Shared
+ valueN-r16 INTEGER (-1..1),
+ sl-BWP-List-r16 SEQUENCE (SIZE (1..maxNrofSL-BWPs-r16)) OF SL-BWP-ConfigCommon-r16 OPTIONAL, -- Need R
+ sl-SyncPriority-r16 ENUMERATED {gnss, gnbEnb} OPTIONAL, -- Need R
+ sl-NbAsSync-r16 BOOLEAN OPTIONAL, -- Need R
+ sl-SyncConfigList-r16 SL-SyncConfigList-r16 OPTIONAL, -- Need R
+ ...
+}
+-- TAG-SL-FREQCONFIGCOMMON-STOP
+-- TAG-SL-INTERUE-COORDINATIONCONFIG-START
+
+SL-InterUE-CoordinationConfig-r17 ::= SEQUENCE {
+ sl-InterUE-CoordinationScheme1-r17 SL-InterUE-CoordinationScheme1-r17 OPTIONAL, -- Need M
+ sl-InterUE-CoordinationScheme2-r17 SL-InterUE-CoordinationScheme2-r17 OPTIONAL, -- Need M
+ ...
+}
+
+SL-InterUE-CoordinationScheme1-r17 ::= SEQUENCE {
+ sl-IUC-Explicit-r17 ENUMERATED {enabled, disabled} OPTIONAL, -- Need M
+ sl-IUC-Condition-r17 ENUMERATED {enabled, disabled} OPTIONAL, -- Need M
+ sl-Condition1-A-2-r17 ENUMERATED {disabled} OPTIONAL, -- Need M
+ sl-ThresholdRSRP-Condition1-B-1-Option1List-r17 SEQUENCE (SIZE (1..8)) OF SL-ThresholdRSRP-Condition1-B-1-r17 OPTIONAL, -- Need M
+ sl-ThresholdRSRP-Condition1-B-1-Option2List-r17 SEQUENCE (SIZE (1..8)) OF SL-ThresholdRSRP-Condition1-B-1-r17 OPTIONAL, -- Need M
+ sl-ContainerCoordInfo-r17 ENUMERATED {enabled, disabled} OPTIONAL, -- Need M
+ sl-ContainerRequest-r17 ENUMERATED {enabled, disabled} OPTIONAL, -- Need M
+ sl-TriggerConditionCoordInfo-r17 INTEGER (0..1) OPTIONAL, -- Need M
+ sl-TriggerConditionRequest-r17 INTEGER (0..1) OPTIONAL, -- Need M
+ sl-PriorityCoordInfoExplicit-r17 INTEGER (1..8) OPTIONAL, -- Need M
+ sl-PriorityCoordInfoCondition-r17 INTEGER (1..8) OPTIONAL, -- Need M
+ sl-PriorityRequest-r17 INTEGER (1..8) OPTIONAL, -- Need M
+ sl-PriorityPreferredResourceSet-r17 INTEGER (1..8) OPTIONAL, -- Need M
+ sl-MaxSlotOffsetTRIV-r17 INTEGER (1..8000) OPTIONAL, -- Need M
+ sl-NumSubCH-PreferredResourceSet-r17 INTEGER (1..27) OPTIONAL, -- Need M
+ sl-ReservedPeriodPreferredResourceSet-r17 INTEGER (1..16) OPTIONAL, -- Need M
+ sl-DetermineResourceType-r17 ENUMERATED {uea, ueb} OPTIONAL, -- Need M
+ ...
+}
+
+SL-InterUE-CoordinationScheme2-r17 ::= SEQUENCE {
+ sl-IUC-Scheme2-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ sl-RB-SetPSFCH-r17 BIT STRING (SIZE (10..275)) OPTIONAL, -- Need M
+ sl-TypeUE-A-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ sl-PSFCH-Occasion-r17 INTEGER (0..1) OPTIONAL, -- Need M
+ sl-SlotLevelResourceExclusion-r17 ENUMERATED {enabled} OPTIONAL, -- Need R
+ sl-OptionForCondition2-A-1-r17 INTEGER (0..1) OPTIONAL, -- Need M
+ sl-IndicationUE-B-r17 ENUMERATED {enabled, disabled} OPTIONAL, -- Need M
+ ...,
+ [[
+ sl-DeltaRSRP-Thresh-v1720 INTEGER (-30..30) OPTIONAL -- Need M
+ ]]
+}
+
+
+SL-ThresholdRSRP-Condition1-B-1-r17 ::= SEQUENCE {
+ sl-Priority-r17 INTEGER (1..8),
+ sl-ThresholdRSRP-Condition1-B-1-r17 INTEGER (0..66)
+}
+
+-- TAG-SL-INTERUE-COORDINATIONCONFIG-STOP
+-- TAG-SL-LOGICALCHANNELCONFIG-START
+
+SL-LogicalChannelConfig-r16 ::= SEQUENCE {
+ sl-Priority-r16 INTEGER (1..8),
+ sl-PrioritisedBitRate-r16 ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512,
+ kBps1024, kBps2048, kBps4096, kBps8192, kBps16384, kBps32768, kBps65536, infinity},
+ sl-BucketSizeDuration-r16 ENUMERATED {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000,
+ spare7, spare6, spare5, spare4, spare3,spare2, spare1},
+ sl-ConfiguredGrantType1Allowed-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ sl-HARQ-FeedbackEnabled-r16 ENUMERATED {enabled, disabled } OPTIONAL, -- Need R
+ sl-AllowedCG-List-r16 SEQUENCE (SIZE (0.. maxNrofCG-SL-1-r16)) OF SL-ConfigIndexCG-r16
+ OPTIONAL, -- Need R
+ sl-AllowedSCS-List-r16 SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing OPTIONAL, -- Need R
+ sl-MaxPUSCH-Duration-r16 ENUMERATED {ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, spare2, spare1}
+ OPTIONAL, -- Need R
+ sl-LogicalChannelGroup-r16 INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R
+ sl-SchedulingRequestId-r16 SchedulingRequestId OPTIONAL, -- Need R
+ sl-LogicalChannelSR-DelayTimerApplied-r16 BOOLEAN OPTIONAL, -- Need R
+ ...
+}
+-- TAG-SL-LOGICALCHANNELCONFIG-STOP
+-- TAG-SL-L2RELAYUE-CONFIG-START
+
+SL-L2RelayUE-Config-r17 ::= SEQUENCE {
+ sl-RemoteUE-ToAddModList-r17 SEQUENCE (SIZE (1..maxNrofRemoteUE-r17)) OF SL-RemoteUE-ToAddMod-r17 OPTIONAL, -- Need N
+ sl-RemoteUE-ToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofRemoteUE-r17)) OF SL-DestinationIdentity-r16 OPTIONAL, -- Need N
+ ...
+}
+
+SL-RemoteUE-ToAddMod-r17 ::= SEQUENCE {
+ sl-L2IdentityRemote-r17 SL-DestinationIdentity-r16,
+ sl-SRAP-ConfigRelay-r17 SL-SRAP-Config-r17 OPTIONAL, -- Need M
+ ...
+}
+
+-- TAG-SL-L2RELAYUE-CONFIG-STOP
+-- TAG-SL-L2REMOTEUE-CONFIG-START
+
+SL-L2RemoteUE-Config-r17 ::= SEQUENCE {
+ sl-SRAP-ConfigRemote-r17 SL-SRAP-Config-r17 OPTIONAL, --Need M
+ sl-UEIdentityRemote-r17 RNTI-Value OPTIONAL, -- Cond FirstRRCReconfig
+ ...
+}
+-- TAG-SL-L2REMOTEUE-CONFIG-STOP
+-- TAG-SL-MEASCONFIGCOMMON-START
+
+SL-MeasConfigCommon-r16 ::= SEQUENCE {
+ sl-MeasObjectListCommon-r16 SL-MeasObjectList-r16 OPTIONAL, -- Need R
+ sl-ReportConfigListCommon-r16 SL-ReportConfigList-r16 OPTIONAL, -- Need R
+ sl-MeasIdListCommon-r16 SL-MeasIdList-r16 OPTIONAL, -- Need R
+ sl-QuantityConfigCommon-r16 SL-QuantityConfig-r16 OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-SL-MEASCONFIGCOMMON-STOP
+-- TAG-SL-MEASCONFIGINFO-START
+
+SL-MeasConfigInfo-r16 ::= SEQUENCE {
+ sl-DestinationIndex-r16 SL-DestinationIndex-r16,
+ sl-MeasConfig-r16 SL-MeasConfig-r16,
+ ...
+}
+
+SL-MeasConfig-r16 ::= SEQUENCE {
+ sl-MeasObjectToRemoveList-r16 SL-MeasObjectToRemoveList-r16 OPTIONAL, -- Need N
+ sl-MeasObjectToAddModList-r16 SL-MeasObjectList-r16 OPTIONAL, -- Need N
+ sl-ReportConfigToRemoveList-r16 SL-ReportConfigToRemoveList-r16 OPTIONAL, -- Need N
+ sl-ReportConfigToAddModList-r16 SL-ReportConfigList-r16 OPTIONAL, -- Need N
+ sl-MeasIdToRemoveList-r16 SL-MeasIdToRemoveList-r16 OPTIONAL, -- Need N
+ sl-MeasIdToAddModList-r16 SL-MeasIdList-r16 OPTIONAL, -- Need N
+ sl-QuantityConfig-r16 SL-QuantityConfig-r16 OPTIONAL, -- Need M
+ ...
+}
+
+SL-MeasObjectToRemoveList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-ObjectId-r16)) OF SL-MeasObjectId-r16
+
+SL-ReportConfigToRemoveList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-ReportConfigId-r16)) OF SL-ReportConfigId-r16
+
+SL-MeasIdToRemoveList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-MeasId-r16)) OF SL-MeasId-r16
+
+-- TAG-SL-MEASCONFIGINFO-STOP
+-- TAG-SL-MEASIDLIST-START
+
+SL-MeasIdList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-MeasId-r16)) OF SL-MeasIdInfo-r16
+
+SL-MeasIdInfo-r16 ::= SEQUENCE {
+ sl-MeasId-r16 SL-MeasId-r16,
+ sl-MeasObjectId-r16 SL-MeasObjectId-r16,
+ sl-ReportConfigId-r16 SL-ReportConfigId-r16,
+ ...
+}
+
+SL-MeasId-r16 ::= INTEGER (1..maxNrofSL-MeasId-r16)
+
+-- TAG-SL-MEASIDLIST-STOP
+-- TAG-SL-MEASOBJECTLIST-START
+
+SL-MeasObjectList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-ObjectId-r16)) OF SL-MeasObjectInfo-r16
+
+SL-MeasObjectInfo-r16 ::= SEQUENCE {
+ sl-MeasObjectId-r16 SL-MeasObjectId-r16,
+ sl-MeasObject-r16 SL-MeasObject-r16,
+ ...
+}
+
+SL-MeasObjectId-r16 ::= INTEGER (1..maxNrofSL-ObjectId-r16)
+
+SL-MeasObject-r16 ::= SEQUENCE {
+ frequencyInfoSL-r16 ARFCN-ValueNR,
+ ...
+}
+
+-- TAG-SL-MEASOBJECTLIST-STOP
+-- TAG-SL-PAGINGIDENTITYREMOTEUE-START
+
+SL-PagingIdentityRemoteUE-r17 ::= SEQUENCE {
+ ng-5G-S-TMSI-r17 NG-5G-S-TMSI,
+ fullI-RNTI-r17 I-RNTI-Value OPTIONAL -- Need R
+}
+
+-- TAG-SL-PAGINGIDENTITYREMOTEUE-STOP
+-- TAG-SL-PBPS-CPS-CONFIG-START
+
+SL-PBPS-CPS-Config-r17 ::= SEQUENCE {
+sl-AllowedResourceSelectionConfig-r17 ENUMERATED {c1, c2, c3, c4, c5, c6, c7} OPTIONAL, -- Need M
+sl-MinNumCandidateSlotsPeriodic-r17 INTEGER (1..32) OPTIONAL, -- Need M
+sl-PBPS-OccasionReservePeriodList-r17 SEQUENCE (SIZE (1..16)) OF INTEGER (1..16) OPTIONAL, -- Need M
+sl-Additional-PBPS-Occasion-r17 ENUMERATED { monitored } OPTIONAL, -- Need M
+sl-CPS-WindowPeriodic-r17 INTEGER (5..30) OPTIONAL, -- Need M
+sl-MinNumCandidateSlotsAperiodic-r17 INTEGER (1..32) OPTIONAL, -- Need M
+sl-MinNumRssiMeasurementSlots-r17 INTEGER (1..800) OPTIONAL, -- Need M
+sl-DefaultCBR-RandomSelection-r17 INTEGER (0..100) OPTIONAL, -- Need M
+sl-DefaultCBR-PartialSensing-r17 INTEGER (0..100) OPTIONAL, -- Need M
+sl-CPS-WindowAperiodic-r17 INTEGER (0..30) OPTIONAL, -- Need M
+sl-PartialSensingInactiveTime-r17 ENUMERATED { enabled, disabled } OPTIONAL, -- Need M
+ ...
+}
+
+-- TAG-SL-PBPS-CPS-CONFIG-STOP
+-- TAG-SL-PDCP-CONFIG-START
+
+SL-PDCP-Config-r16 ::= SEQUENCE {
+ sl-DiscardTimer-r16 ENUMERATED {ms3, ms10, ms20, ms25, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200,
+ ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, -- Cond Setup
+ sl-PDCP-SN-Size-r16 ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
+ sl-OutOfOrderDelivery ENUMERATED { true } OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-SL-PDCP-CONFIG-STOP
+-- TAG-SL-PSBCH-CONFIG-START
+
+SL-PSBCH-Config-r16 ::= SEQUENCE {
+ dl-P0-PSBCH-r16 INTEGER (-16..15) OPTIONAL, -- Need M
+ dl-Alpha-PSBCH-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need M
+ ...,
+ [[
+ dl-P0-PSBCH-r17 INTEGER (-202..24) OPTIONAL -- Need M
+ ]]
+}
+
+-- TAG-SL-PSBCH-CONFIG-STOP
+-- TAG-SL-PSSCH-TXCONFIGLIST-START
+
+SL-PSSCH-TxConfigList-r16 ::= SEQUENCE (SIZE (1..maxPSSCH-TxConfig-r16)) OF SL-PSSCH-TxConfig-r16
+
+SL-PSSCH-TxConfig-r16 ::= SEQUENCE {
+ sl-TypeTxSync-r16 SL-TypeTxSync-r16 OPTIONAL, -- Need R
+ sl-ThresUE-Speed-r16 ENUMERATED {kmph60, kmph80, kmph100, kmph120,
+ kmph140, kmph160, kmph180, kmph200},
+ sl-ParametersAboveThres-r16 SL-PSSCH-TxParameters-r16,
+ sl-ParametersBelowThres-r16 SL-PSSCH-TxParameters-r16,
+ ...,
+ [[
+ sl-ParametersAboveThres-v1650 SL-MinMaxMCS-List-r16 OPTIONAL, -- Need R
+ sl-ParametersBelowThres-v1650 SL-MinMaxMCS-List-r16 OPTIONAL -- Need R
+ ]]
+}
+
+
+SL-PSSCH-TxParameters-r16 ::= SEQUENCE {
+ sl-MinMCS-PSSCH-r16 INTEGER (0..27),
+ sl-MaxMCS-PSSCH-r16 INTEGER (0..31),
+ sl-MinSubChannelNumPSSCH-r16 INTEGER (1..27),
+ sl-MaxSubchannelNumPSSCH-r16 INTEGER (1..27),
+ sl-MaxTxTransNumPSSCH-r16 INTEGER (1..32),
+ sl-MaxTxPower-r16 SL-TxPower-r16 OPTIONAL -- Cond CBR
+}
+
+-- TAG-SL-PSSCH-TXCONFIGLIST-STOP
+-- TAG-SL-QOS-FLOWIDENTITY-START
+
+SL-QoS-FlowIdentity-r16 ::= INTEGER (1..maxNrofSL-QFIs-r16)
+
+-- TAG-SL-QOS-FLOWIDENTITY-STOP
+-- TAG-SL-QOS-PROFILE-START
+
+SL-QoS-Profile-r16 ::= SEQUENCE {
+ sl-PQI-r16 SL-PQI-r16 OPTIONAL, -- Need R
+ sl-GFBR-r16 INTEGER (0..4000000000) OPTIONAL, -- Need R
+ sl-MFBR-r16 INTEGER (0..4000000000) OPTIONAL, -- Need R
+ sl-Range-r16 INTEGER (1..1000) OPTIONAL, -- Need R
+ ...
+}
+
+SL-PQI-r16 ::= CHOICE {
+ sl-StandardizedPQI-r16 INTEGER (0..255),
+ sl-Non-StandardizedPQI-r16 SEQUENCE {
+ sl-ResourceType-r16 ENUMERATED {gbr, non-GBR, delayCriticalGBR, spare1} OPTIONAL, -- Need R
+ sl-PriorityLevel-r16 INTEGER (1..8) OPTIONAL, -- Need R
+ sl-PacketDelayBudget-r16 INTEGER (0..1023) OPTIONAL, -- Need R
+ sl-PacketErrorRate-r16 INTEGER (0..9) OPTIONAL, -- Need R
+ sl-AveragingWindow-r16 INTEGER (0..4095) OPTIONAL, -- Need R
+ sl-MaxDataBurstVolume-r16 INTEGER (0..4095) OPTIONAL, -- Need R
+ ...
+ }
+}
+
+-- TAG-SL-QOS-PROFILE-STOP
+-- TAG-SL-QUANTITYCONFIG-START
+
+SL-QuantityConfig-r16 ::= SEQUENCE {
+ sl-FilterCoefficientDMRS-r16 FilterCoefficient DEFAULT fc4,
+ ...
+}
+
+-- TAG-SL-QuantityConfig-STOP
+-- TAG-SL-RADIOBEARERCONFIG-START
+
+SL-RadioBearerConfig-r16 ::= SEQUENCE {
+ slrb-Uu-ConfigIndex-r16 SLRB-Uu-ConfigIndex-r16,
+ sl-SDAP-Config-r16 SL-SDAP-Config-r16 OPTIONAL, -- Cond SLRBSetup
+ sl-PDCP-Config-r16 SL-PDCP-Config-r16 OPTIONAL, -- Cond SLRBSetup
+ sl-TransRange-r16 ENUMERATED {m20, m50, m80, m100, m120, m150, m180, m200, m220, m250, m270, m300, m350, m370,
+ m400, m420, m450, m480, m500, m550, m600, m700, m1000, spare9, spare8, spare7, spare6,
+ spare5, spare4, spare3, spare2, spare1} OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-SL-RADIOBEARERCONFIG-STOP
+-- TAG-SL-RELAYUE-CONFIG-START
+
+SL-RelayUE-Config-r17::= SEQUENCE {
+ threshHighRelay-r17 RSRP-Range OPTIONAL, -- Need R
+ threshLowRelay-r17 RSRP-Range OPTIONAL, -- Need R
+ hystMaxRelay-r17 Hysteresis OPTIONAL, -- Cond ThreshHighRelay
+ hystMinRelay-r17 Hysteresis OPTIONAL -- Cond ThreshLowRelay
+}
+
+-- TAG-SL-RELAYUE-CONFIG-STOP
+-- TAG-SL-REMOTEUE-CONFIG-START
+
+SL-RemoteUE-Config-r17::= SEQUENCE {
+ threshHighRemote-r17 RSRP-Range OPTIONAL, -- Need R
+ hystMaxRemote-r17 Hysteresis OPTIONAL, -- Cond ThreshHighRemote
+ sl-ReselectionConfig-r17 SL-ReselectionConfig-r17 OPTIONAL -- Need R
+}
+
+SL-ReselectionConfig-r17::= SEQUENCE {
+ sl-RSRP-Thresh-r17 SL-RSRP-Range-r16 OPTIONAL, -- Need R
+ sl-FilterCoefficientRSRP-r17 FilterCoefficient OPTIONAL, -- Need R
+ sl-HystMin-r17 Hysteresis OPTIONAL -- Cond SL-RSRP-Thresh
+}
+
+-- TAG-SL-REMOTEUE-CONFIG-STOP
+-- TAG-SL-REPORTCONFIGLIST-START
+
+SL-ReportConfigList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-ReportConfigId-r16)) OF SL-ReportConfigInfo-r16
+
+SL-ReportConfigInfo-r16 ::= SEQUENCE {
+ sl-ReportConfigId-r16 SL-ReportConfigId-r16,
+ sl-ReportConfig-r16 SL-ReportConfig-r16,
+ ...
+}
+
+SL-ReportConfigId-r16 ::= INTEGER (1..maxNrofSL-ReportConfigId-r16)
+
+SL-ReportConfig-r16 ::= SEQUENCE {
+ sl-ReportType-r16 CHOICE {
+ sl-Periodical-r16 SL-PeriodicalReportConfig-r16,
+ sl-EventTriggered-r16 SL-EventTriggerConfig-r16,
+ ...
+ },
+ ...
+}
+
+SL-PeriodicalReportConfig-r16 ::= SEQUENCE {
+ sl-ReportInterval-r16 ReportInterval,
+ sl-ReportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ sl-ReportQuantity-r16 SL-MeasReportQuantity-r16,
+ sl-RS-Type-r16 SL-RS-Type-r16,
+ ...
+}
+
+SL-EventTriggerConfig-r16 ::= SEQUENCE {
+ sl-EventId-r16 CHOICE {
+ eventS1-r16 SEQUENCE {
+ s1-Threshold-r16 SL-MeasTriggerQuantity-r16,
+ sl-ReportOnLeave-r16 BOOLEAN,
+ sl-Hysteresis-r16 Hysteresis,
+ sl-TimeToTrigger-r16 TimeToTrigger,
+ ...
+ },
+ eventS2-r16 SEQUENCE {
+ s2-Threshold-r16 SL-MeasTriggerQuantity-r16,
+ sl-ReportOnLeave-r16 BOOLEAN,
+ sl-Hysteresis-r16 Hysteresis,
+ sl-TimeToTrigger-r16 TimeToTrigger,
+ ...
+ },
+ ...
+ },
+ sl-ReportInterval-r16 ReportInterval,
+ sl-ReportAmount-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
+ sl-ReportQuantity-r16 SL-MeasReportQuantity-r16,
+ sl-RS-Type-r16 SL-RS-Type-r16,
+ ...
+}
+
+SL-MeasReportQuantity-r16 ::= CHOICE {
+ sl-RSRP-r16 BOOLEAN,
+ ...
+}
+
+SL-MeasTriggerQuantity-r16 ::= CHOICE {
+ sl-RSRP-r16 RSRP-Range,
+ ...
+}
+
+SL-RS-Type-r16 ::= ENUMERATED {dmrs, spare3, spare2, spare1}
+
+-- TAG-SL-REPORTCONFIGLIST-STOP
+-- TAG-SL-RESOURCEPOOL-START
+
+SL-ResourcePool-r16 ::= SEQUENCE {
+ sl-PSCCH-Config-r16 CHOICE {release NULL, setup SL-PSCCH-Config-r16 } OPTIONAL, -- Need M
+ sl-PSSCH-Config-r16 CHOICE {release NULL, setup SL-PSSCH-Config-r16 } OPTIONAL, -- Need M
+ sl-PSFCH-Config-r16 CHOICE {release NULL, setup SL-PSFCH-Config-r16 } OPTIONAL, -- Need M
+ sl-SyncAllowed-r16 SL-SyncAllowed-r16 OPTIONAL, -- Need M
+ sl-SubchannelSize-r16 ENUMERATED {n10, n12, n15, n20, n25, n50, n75, n100} OPTIONAL, -- Need M
+ dummy INTEGER (10..160) OPTIONAL, -- Need M
+ sl-StartRB-Subchannel-r16 INTEGER (0..265) OPTIONAL, -- Need M
+ sl-NumSubchannel-r16 INTEGER (1..27) OPTIONAL, -- Need M
+ sl-Additional-MCS-Table-r16 ENUMERATED {qam256, qam64LowSE, qam256-qam64LowSE } OPTIONAL, -- Need M
+ sl-ThreshS-RSSI-CBR-r16 INTEGER (0..45) OPTIONAL, -- Need M
+ sl-TimeWindowSizeCBR-r16 ENUMERATED {ms100, slot100} OPTIONAL, -- Need M
+ sl-TimeWindowSizeCR-r16 ENUMERATED {ms1000, slot1000} OPTIONAL, -- Need M
+ sl-PTRS-Config-r16 SL-PTRS-Config-r16 OPTIONAL, -- Need M
+ sl-UE-SelectedConfigRP-r16 SL-UE-SelectedConfigRP-r16 OPTIONAL, -- Need M
+ sl-RxParametersNcell-r16 SEQUENCE {
+ sl-TDD-Configuration-r16 TDD-UL-DL-ConfigCommon OPTIONAL, -- Need M
+ sl-SyncConfigIndex-r16 INTEGER (0..15)
+ } OPTIONAL, -- Need M
+ sl-ZoneConfigMCR-List-r16 SEQUENCE (SIZE (16)) OF SL-ZoneConfigMCR-r16 OPTIONAL, -- Need M
+ sl-FilterCoefficient-r16 FilterCoefficient OPTIONAL, -- Need M
+ sl-RB-Number-r16 INTEGER (10..275) OPTIONAL, -- Need M
+ sl-PreemptionEnable-r16 ENUMERATED {enabled, pl1, pl2, pl3, pl4, pl5, pl6, pl7, pl8} OPTIONAL, -- Need R
+ sl-PriorityThreshold-UL-URLLC-r16 INTEGER (1..9) OPTIONAL, -- Need M
+ sl-PriorityThreshold-r16 INTEGER (1..9) OPTIONAL, -- Need M
+ sl-X-Overhead-r16 ENUMERATED {n0,n3, n6, n9} OPTIONAL, -- Need S
+ sl-PowerControl-r16 SL-PowerControl-r16 OPTIONAL, -- Need M
+ sl-TxPercentageList-r16 SL-TxPercentageList-r16 OPTIONAL, -- Need M
+ sl-MinMaxMCS-List-r16 SL-MinMaxMCS-List-r16 OPTIONAL, -- Need M
+ ...,
+ [[
+ sl-TimeResource-r16 BIT STRING (SIZE (10..160)) OPTIONAL -- Need M
+ ]],
+ [[
+ sl-PBPS-CPS-Config-r17 CHOICE {release NULL, setup SL-PBPS-CPS-Config-r17 } OPTIONAL, -- Need M
+ sl-InterUE-CoordinationConfig-r17 CHOICE {release NULL, setup SL-InterUE-CoordinationConfig-r17 } OPTIONAL -- Need M
+ ]]
+}
+
+SL-ZoneConfigMCR-r16 ::= SEQUENCE {
+ sl-ZoneConfigMCR-Index-r16 INTEGER (0..15),
+ sl-TransRange-r16 ENUMERATED {m20, m50, m80, m100, m120, m150, m180, m200, m220, m250, m270, m300, m350,
+ m370, m400, m420, m450, m480, m500, m550, m600, m700, m1000, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1}
+ OPTIONAL, -- Need M
+ sl-ZoneConfig-r16 SL-ZoneConfig-r16 OPTIONAL, -- Need M
+ ...
+}
+
+SL-SyncAllowed-r16 ::= SEQUENCE {
+ gnss-Sync-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ gnbEnb-Sync-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ ue-Sync-r16 ENUMERATED {true} OPTIONAL -- Need R
+}
+
+SL-PSCCH-Config-r16 ::= SEQUENCE {
+ sl-TimeResourcePSCCH-r16 ENUMERATED {n2, n3} OPTIONAL, -- Need M
+ sl-FreqResourcePSCCH-r16 ENUMERATED {n10,n12, n15, n20, n25} OPTIONAL, -- Need M
+ sl-DMRS-ScrambleID-r16 INTEGER (0..65535) OPTIONAL, -- Need M
+ sl-NumReservedBits-r16 INTEGER (2..4) OPTIONAL, -- Need M
+ ...
+}
+
+SL-PSSCH-Config-r16 ::= SEQUENCE {
+ sl-PSSCH-DMRS-TimePatternList-r16 SEQUENCE (SIZE (1..3)) OF INTEGER (2..4) OPTIONAL, -- Need M
+ sl-BetaOffsets2ndSCI-r16 SEQUENCE (SIZE (4)) OF SL-BetaOffsets-r16 OPTIONAL, -- Need M
+ sl-Scaling-r16 ENUMERATED {f0p5, f0p65, f0p8, f1} OPTIONAL, -- Need M
+ ...
+}
+
+SL-PSFCH-Config-r16 ::= SEQUENCE {
+ sl-PSFCH-Period-r16 ENUMERATED {sl0, sl1, sl2, sl4} OPTIONAL, -- Need M
+ sl-PSFCH-RB-Set-r16 BIT STRING (SIZE (10..275)) OPTIONAL, -- Need M
+ sl-NumMuxCS-Pair-r16 ENUMERATED {n1, n2, n3, n6} OPTIONAL, -- Need M
+ sl-MinTimeGapPSFCH-r16 ENUMERATED {sl2, sl3} OPTIONAL, -- Need M
+ sl-PSFCH-HopID-r16 INTEGER (0..1023) OPTIONAL, -- Need M
+ sl-PSFCH-CandidateResourceType-r16 ENUMERATED {startSubCH, allocSubCH} OPTIONAL, -- Need M
+ ...
+}
+SL-PTRS-Config-r16 ::= SEQUENCE {
+ sl-PTRS-FreqDensity-r16 SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need M
+ sl-PTRS-TimeDensity-r16 SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need M
+ sl-PTRS-RE-Offset-r16 ENUMERATED {offset01, offset10, offset11} OPTIONAL, -- Need M
+ ...
+}
+
+SL-UE-SelectedConfigRP-r16 ::= SEQUENCE {
+ sl-CBR-PriorityTxConfigList-r16 SL-CBR-PriorityTxConfigList-r16 OPTIONAL, -- Need M
+ sl-Thres-RSRP-List-r16 SL-Thres-RSRP-List-r16 OPTIONAL, -- Need M
+ sl-MultiReserveResource-r16 ENUMERATED {enabled} OPTIONAL, -- Need M
+ sl-MaxNumPerReserve-r16 ENUMERATED {n2, n3} OPTIONAL, -- Need M
+ sl-SensingWindow-r16 ENUMERATED {ms100, ms1100} OPTIONAL, -- Need M
+ sl-SelectionWindowList-r16 SL-SelectionWindowList-r16 OPTIONAL, -- Need M
+ sl-ResourceReservePeriodList-r16 SEQUENCE (SIZE (1..16)) OF SL-ResourceReservePeriod-r16 OPTIONAL, -- Need M
+ sl-RS-ForSensing-r16 ENUMERATED {pscch, pssch},
+ ...,
+ [[
+ sl-CBR-PriorityTxConfigList-v1650 SL-CBR-PriorityTxConfigList-v1650 OPTIONAL -- Need M
+ ]]
+}
+
+SL-ResourceReservePeriod-r16 ::= CHOICE {
+ sl-ResourceReservePeriod1-r16 ENUMERATED {ms0, ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000},
+ sl-ResourceReservePeriod2-r16 INTEGER (1..99)
+}
+
+SL-SelectionWindowList-r16 ::= SEQUENCE (SIZE (8)) OF SL-SelectionWindowConfig-r16
+
+SL-SelectionWindowConfig-r16 ::= SEQUENCE {
+ sl-Priority-r16 INTEGER (1..8),
+ sl-SelectionWindow-r16 ENUMERATED {n1, n5, n10, n20}
+}
+
+SL-TxPercentageList-r16 ::= SEQUENCE (SIZE (8)) OF SL-TxPercentageConfig-r16
+
+SL-TxPercentageConfig-r16 ::= SEQUENCE {
+ sl-Priority-r16 INTEGER (1..8),
+ sl-TxPercentage-r16 ENUMERATED {p20, p35, p50}
+}
+
+SL-MinMaxMCS-List-r16 ::= SEQUENCE (SIZE (1..3)) OF SL-MinMaxMCS-Config-r16
+
+SL-MinMaxMCS-Config-r16 ::= SEQUENCE {
+ sl-MCS-Table-r16 ENUMERATED {qam64, qam256, qam64LowSE},
+ sl-MinMCS-PSSCH-r16 INTEGER (0..27),
+ sl-MaxMCS-PSSCH-r16 INTEGER (0..31)
+}
+
+SL-BetaOffsets-r16 ::= INTEGER (0..31)
+
+SL-PowerControl-r16 ::= SEQUENCE {
+ sl-MaxTransPower-r16 INTEGER (-30..33),
+ sl-Alpha-PSSCH-PSCCH-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need M
+ dl-Alpha-PSSCH-PSCCH-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need S
+ sl-P0-PSSCH-PSCCH-r16 INTEGER (-16..15) OPTIONAL, -- Need S
+ dl-P0-PSSCH-PSCCH-r16 INTEGER (-16..15) OPTIONAL, -- Need M
+ dl-Alpha-PSFCH-r16 ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need S
+ dl-P0-PSFCH-r16 INTEGER (-16..15) OPTIONAL, -- Need M
+ ...,
+ [[
+ dl-P0-PSSCH-PSCCH-r17 INTEGER (-202..24) OPTIONAL, -- Need M
+ sl-P0-PSSCH-PSCCH-r17 INTEGER (-202..24) OPTIONAL, -- Need S
+ dl-P0-PSFCH-r17 INTEGER (-202..24) OPTIONAL -- Need M
+ ]]
+}
+
+-- TAG-SL-RESOURCEPOOL-STOP
+-- TAG-SL-RLC-BEARERCONFIG-START
+
+SL-RLC-BearerConfig-r16 ::= SEQUENCE {
+ sl-RLC-BearerConfigIndex-r16 SL-RLC-BearerConfigIndex-r16,
+ sl-ServedRadioBearer-r16 SLRB-Uu-ConfigIndex-r16 OPTIONAL, -- Cond LCH-SetupOnly
+ sl-RLC-Config-r16 SL-RLC-Config-r16 OPTIONAL, -- Cond LCH-Setup
+ sl-MAC-LogicalChannelConfig-r16 SL-LogicalChannelConfig-r16 OPTIONAL, -- Cond LCH-Setup
+ ...
+}
+
+-- TAG-SL-RLC-BEARERCONFIG-STOP
+-- TAG-SL-RLC-BEARERCONFIGINDEX-START
+
+SL-RLC-BearerConfigIndex-r16 ::= INTEGER (1..maxSL-LCID-r16)
+
+-- TAG-RLC-BEARERCONFIGINDEX-STOP
+-- TAG-SL-RLC-RLC-CHANNEL-CONFIG-START
+
+SL-RLC-ChannelConfig-r17 ::= SEQUENCE {
+ sl-RLC-ChannelID-r17 SL-RLC-ChannelID-r17,
+ sl-RLC-Config-r17 SL-RLC-Config-r16 OPTIONAL, -- Need M
+ sl-MAC-LogicalChannelConfig-r17 SL-LogicalChannelConfig-r16 OPTIONAL, -- Need M
+ sl-PacketDelayBudget-r17 INTEGER (0..1023) OPTIONAL, -- Need M
+ ...}
+
+-- TAG-SL-RLC-CHANNEL-CONFIG-STOP
+-- TAG-SL-RLC-CHANNELID-START
+
+SL-RLC-ChannelID-r17 ::= INTEGER (1..maxSL-LCID-r16)
+
+-- TAG-SL-RLC-CHANNELID-STOP
+-- TAG-SL-RLC-CONFIG-START
+
+SL-RLC-Config-r16 ::= CHOICE {
+ sl-AM-RLC-r16 SEQUENCE {
+ sl-SN-FieldLengthAM-r16 SN-FieldLengthAM OPTIONAL, -- Cond SLRBSetup
+ sl-T-PollRetransmit-r16 T-PollRetransmit,
+ sl-PollPDU-r16 PollPDU,
+ sl-PollByte-r16 PollByte,
+ sl-MaxRetxThreshold-r16 ENUMERATED { t1, t2, t3, t4, t6, t8, t16, t32 },
+ ...
+ },
+ sl-UM-RLC-r16 SEQUENCE {
+ sl-SN-FieldLengthUM-r16 SN-FieldLengthUM OPTIONAL, -- Cond SLRBSetup
+ ...
+ },
+ ...
+}
+
+-- TAG-SL-RLC-CONFIG-STOP
+-- TAG-SL-SCHEDULEDCONFIG-START
+
+SL-ScheduledConfig-r16 ::= SEQUENCE {
+ sl-RNTI-r16 RNTI-Value,
+ mac-MainConfigSL-r16 MAC-MainConfigSL-r16 OPTIONAL, -- Need M
+ sl-CS-RNTI-r16 RNTI-Value OPTIONAL, -- Need M
+ sl-PSFCH-ToPUCCH-r16 SEQUENCE (SIZE (1..8)) OF INTEGER (0..15) OPTIONAL, -- Need M
+ sl-ConfiguredGrantConfigList-r16 SL-ConfiguredGrantConfigList-r16 OPTIONAL, -- Need M
+ ...,
+ [[
+ sl-DCI-ToSL-Trans-r16 SEQUENCE (SIZE (1..8)) OF INTEGER (1..32) OPTIONAL -- Need M
+ ]]
+}
+
+MAC-MainConfigSL-r16 ::= SEQUENCE {
+ sl-BSR-Config-r16 BSR-Config OPTIONAL, -- Need M
+ ul-PrioritizationThres-r16 INTEGER (1..16) OPTIONAL, -- Need M
+ sl-PrioritizationThres-r16 INTEGER (1..8) OPTIONAL, -- Need M
+ ...
+}
+
+SL-ConfiguredGrantConfigList-r16 ::= SEQUENCE {
+ sl-ConfiguredGrantConfigToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofCG-SL-r16)) OF SL-ConfigIndexCG-r16 OPTIONAL, -- Need N
+ sl-ConfiguredGrantConfigToAddModList-r16 SEQUENCE (SIZE (1..maxNrofCG-SL-r16)) OF SL-ConfiguredGrantConfig-r16 OPTIONAL -- Need N
+}
+
+-- TAG-SL-SCHEDULEDCONFIG-STOP
+-- TAG-SL-SDAP-CONFIG-START
+
+SL-SDAP-Config-r16 ::= SEQUENCE {
+ sl-SDAP-Header-r16 ENUMERATED {present, absent},
+ sl-DefaultRB-r16 BOOLEAN,
+ sl-MappedQoS-Flows-r16 CHOICE {
+ sl-MappedQoS-FlowsList-r16 SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-Profile-r16,
+ sl-MappedQoS-FlowsListDedicated-r16 SL-MappedQoS-FlowsListDedicated-r16
+ } OPTIONAL, -- Need M
+ sl-CastType-r16 ENUMERATED {broadcast, groupcast, unicast, spare1} OPTIONAL, -- Need M
+ ...
+}
+
+SL-MappedQoS-FlowsListDedicated-r16 ::= SEQUENCE {
+ sl-MappedQoS-FlowsToAddList-r16 SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-FlowIdentity-r16 OPTIONAL, -- Need N
+ sl-MappedQoS-FlowsToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-FlowIdentity-r16 OPTIONAL -- Need N
+}
+
+-- TAG-SL-SDAP-CONFIG-STOP
+-- TAG-SL-SERVINGCELLINFO-START
+
+SL-ServingCellInfo-r17 ::= SEQUENCE {
+ sl-PhysCellId-r17 PhysCellId,
+ sl-CarrierFreqNR-r17 ARFCN-ValueNR
+}
+
+-- TAG-SL-SERVINGCELLINFO-STOP
+-- TAG-SL-SOURCEIDENTITY-START
+
+SL-SourceIdentity-r17 ::= BIT STRING (SIZE (24))
+
+-- TAG-SL-SOURCEIDENTITY-STOP
+-- TAG-SL-SRAP-CONFIG-START
+
+SL-SRAP-Config-r17 ::= SEQUENCE {
+ sl-LocalIdentity-r17 INTEGER (0..255) OPTIONAL, -- Need M
+ sl-MappingToAddModList-r17 SEQUENCE (SIZE (1..maxLC-ID)) OF SL-MappingToAddMod-r17 OPTIONAL, -- Need N
+ sl-MappingToReleaseList-r17 SEQUENCE (SIZE (1..maxLC-ID)) OF SL-RemoteUE-RB-Identity-r17 OPTIONAL, -- Need N
+ ...
+}
+
+SL-MappingToAddMod-r17 ::= SEQUENCE {
+ sl-RemoteUE-RB-Identity-r17 SL-RemoteUE-RB-Identity-r17,
+ sl-EgressRLC-ChannelUu-r17 Uu-RelayRLC-ChannelID-r17 OPTIONAL, -- Cond L2RelayUE
+ sl-EgressRLC-ChannelPC5-r17 SL-RLC-ChannelID-r17 OPTIONAL, -- Need N
+ ...
+}
+
+SL-RemoteUE-RB-Identity-r17 ::= CHOICE {
+ srb-Identity-r17 INTEGER (0..3),
+ drb-Identity-r17 DRB-Identity,
+ ...
+}
+
+-- TAG-SL-SRAP-CONFIG-STOP
+-- TAG-SL-SYNCCONFIG-START
+
+SL-SyncConfigList-r16 ::= SEQUENCE (SIZE (1..maxSL-SyncConfig-r16)) OF SL-SyncConfig-r16
+
+SL-SyncConfig-r16 ::= SEQUENCE {
+ sl-SyncRefMinHyst-r16 ENUMERATED {dB0, dB3, dB6, dB9, dB12} OPTIONAL, -- Need R
+ sl-SyncRefDiffHyst-r16 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf} OPTIONAL, -- Need R
+ sl-filterCoefficient-r16 FilterCoefficient OPTIONAL, -- Need R
+ sl-SSB-TimeAllocation1-r16 SL-SSB-TimeAllocation-r16 OPTIONAL, -- Need R
+ sl-SSB-TimeAllocation2-r16 SL-SSB-TimeAllocation-r16 OPTIONAL, -- Need R
+ sl-SSB-TimeAllocation3-r16 SL-SSB-TimeAllocation-r16 OPTIONAL, -- Need R
+ sl-SSID-r16 INTEGER (0..671) OPTIONAL, -- Need R
+ txParameters-r16 SEQUENCE {
+ syncTxThreshIC-r16 SL-RSRP-Range-r16 OPTIONAL, -- Need R
+ syncTxThreshOoC-r16 SL-RSRP-Range-r16 OPTIONAL, -- Need R
+ syncInfoReserved-r16 BIT STRING (SIZE (2)) OPTIONAL -- Need R
+ },
+ gnss-Sync-r16 ENUMERATED {true} OPTIONAL, -- Need R
+ ...
+}
+
+SL-RSRP-Range-r16 ::= INTEGER (0..13)
+
+SL-SSB-TimeAllocation-r16 ::= SEQUENCE {
+ sl-NumSSB-WithinPeriod-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL, -- Need R
+ sl-TimeOffsetSSB-r16 INTEGER (0..1279) OPTIONAL, -- Need R
+ sl-TimeInterval-r16 INTEGER (0..639) OPTIONAL -- Need R
+}
+
+-- TAG-SL-SYNCCONFIG-STOP
+-- TAG-SL-THRES-RSRP-LIST-START
+
+SL-Thres-RSRP-List-r16 ::= SEQUENCE (SIZE (64)) OF SL-Thres-RSRP-r16
+
+SL-Thres-RSRP-r16 ::= INTEGER (0..66)
+
+-- TAG-SL-THRES-RSRP-LIST-STOP
+-- TAG-SL-TXPOWER-START
+
+SL-TxPower-r16 ::= CHOICE{
+ minusinfinity-r16 NULL,
+ txPower-r16 INTEGER (-30..33)
+}
+
+-- TAG-SL-TXPOWER-STOP
+-- TAG-SL-TYPETXSYNC-START
+
+SL-TypeTxSync-r16 ::= ENUMERATED {gnss, gnbEnb, ue}
+
+-- TAG-SL-TYPETXSYNC-STOP
+-- TAG-SL-UE-SELECTEDCONFIG-START
+
+SL-UE-SelectedConfig-r16 ::= SEQUENCE {
+ sl-PSSCH-TxConfigList-r16 SL-PSSCH-TxConfigList-r16 OPTIONAL, -- Need R
+ sl-ProbResourceKeep-r16 ENUMERATED {v0, v0dot2, v0dot4, v0dot6, v0dot8} OPTIONAL, -- Need R
+ sl-ReselectAfter-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n7, n8, n9} OPTIONAL, -- Need R
+ sl-CBR-CommonTxConfigList-r16 SL-CBR-CommonTxConfigList-r16 OPTIONAL, -- Need R
+ ul-PrioritizationThres-r16 INTEGER (1..16) OPTIONAL, -- Need R
+ sl-PrioritizationThres-r16 INTEGER (1..8) OPTIONAL, -- Need R
+ ...
+}
+
+-- TAG-SL-UE-SELECTEDCONFIG-STOP
+-- TAG-SL-ZONECONFIG-START
+
+SL-ZoneConfig-r16 ::= SEQUENCE {
+ sl-ZoneLength-r16 ENUMERATED { m5, m10, m20, m30, m40, m50, spare2, spare1},
+ ...
+}
+
+-- TAG-SL-ZONECONFIG-STOP
+-- TAG-SLRB-UU-CONFIGINDEX-START
+
+SLRB-Uu-ConfigIndex-r16 ::= INTEGER (1..maxNrofSLRB-r16)
+
+-- TAG-SLRB-UU-CONFIGINDEX-STOP
+-- TAG-CARRIERFREQLISTMBS-START
+
+CarrierFreqListMBS-r17 ::= SEQUENCE (SIZE (1..maxFreqMBS-r17)) OF ARFCN-ValueNR
+
+-- TAG-CARRIERFREQLISTMBS-STOP
+-- TAG-CFR-CONFIGMCCH-MTCH-START
+
+CFR-ConfigMCCH-MTCH-r17 ::= SEQUENCE {
+ locationAndBandwidthBroadcast-r17 LocationAndBandwidthBroadcast-r17 OPTIONAL, -- Need S
+ pdsch-ConfigMCCH-r17 PDSCH-ConfigBroadcast-r17 OPTIONAL, -- Need S
+ commonControlResourceSetExt-r17 ControlResourceSet OPTIONAL -- Cond NotSIB1CommonControlResource
+}
+
+LocationAndBandwidthBroadcast-r17 ::= CHOICE {
+ sameAsSib1ConfiguredLocationAndBW NULL,
+ locationAndBandwidth INTEGER (0..37949)
+}
+
+-- TAG-CFR-CONFIGMCCH-MTCH-STOP
+-- TAG-DRX-CONFIGPTM-START
+
+DRX-ConfigPTM-r17 ::= SEQUENCE {
+ drx-onDurationTimerPTM-r17 CHOICE {
+ subMilliSeconds INTEGER (1..31),
+ milliSeconds ENUMERATED {
+ ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
+ ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
+ ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1
+ }
+ },
+ drx-InactivityTimerPTM-r17 ENUMERATED {
+ ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
+ ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3, spare2, spare1
+ },
+ drx-HARQ-RTT-TimerDL-PTM-r17 INTEGER (0..56) OPTIONAL, -- Cond HARQFeedback
+ drx-RetransmissionTimerDL-PTM-r17 ENUMERATED {
+ sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
+ sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1
+ } OPTIONAL, -- Cond HARQFeedback
+ drx-LongCycleStartOffsetPTM-r17 CHOICE {
+ ms10 INTEGER(0..9),
+ ms20 INTEGER(0..19),
+ ms32 INTEGER(0..31),
+ ms40 INTEGER(0..39),
+ ms60 INTEGER(0..59),
+ ms64 INTEGER(0..63),
+ ms70 INTEGER(0..69),
+ ms80 INTEGER(0..79),
+ ms128 INTEGER(0..127),
+ ms160 INTEGER(0..159),
+ ms256 INTEGER(0..255),
+ ms320 INTEGER(0..319),
+ ms512 INTEGER(0..511),
+ ms640 INTEGER(0..639),
+ ms1024 INTEGER(0..1023),
+ ms1280 INTEGER(0..1279),
+ ms2048 INTEGER(0..2047),
+ ms2560 INTEGER(0..2559),
+ ms5120 INTEGER(0..5119),
+ ms10240 INTEGER(0..10239)
+ },
+ drx-SlotOffsetPTM-r17 INTEGER (0..31)
+}
+
+-- TAG-DRX-CONFIGPTM-STOP
+-- TAG-MBS-NEIGHBOURCELLLIST-START
+
+MBS-NeighbourCellList-r17 ::= SEQUENCE (SIZE (0..maxNeighCellMBS-r17)) OF MBS-NeighbourCell-r17
+
+MBS-NeighbourCell-r17 ::= SEQUENCE {
+ physCellId-r17 PhysCellId,
+ carrierFreq-r17 ARFCN-ValueNR OPTIONAL -- Need S
+}
+
+-- TAG-MBS-NEIGHBOURCELLLIST-STOP
+-- TAG-MBS-SERVICELIST-START
+
+MBS-ServiceList-r17 ::= SEQUENCE (SIZE (1..maxNrofMBS-ServiceListPerUE-r17)) OF MBS-ServiceInfo-r17
+
+MBS-ServiceInfo-r17 ::= SEQUENCE {
+ tmgi-r17 TMGI-r17
+}
+
+-- TAG-MBS-SERVICELIST-STOP
+-- TAG-MBS-SESSIONINFOLIST-START
+
+MBS-SessionInfoList-r17 ::= SEQUENCE (SIZE (1..maxNrofMBS-Session-r17)) OF MBS-SessionInfo-r17
+
+MBS-SessionInfo-r17 ::= SEQUENCE {
+ mbs-SessionId-r17 TMGI-r17,
+ g-RNTI-r17 RNTI-Value,
+ mrb-ListBroadcast-r17 MRB-ListBroadcast-r17,
+ mtch-SchedulingInfo-r17 DRX-ConfigPTM-Index-r17 OPTIONAL, -- Need S
+ mtch-NeighbourCell-r17 BIT STRING (SIZE(maxNeighCellMBS-r17)) OPTIONAL, -- Need S
+ pdsch-ConfigIndex-r17 PDSCH-ConfigIndex-r17 OPTIONAL, -- Need S
+ mtch-SSB-MappingWindowIndex-r17 MTCH-SSB-MappingWindowIndex-r17 OPTIONAL -- Cond MTCH-Mapping
+}
+
+DRX-ConfigPTM-Index-r17 ::= INTEGER (0..maxNrofDRX-ConfigPTM-1-r17)
+
+PDSCH-ConfigIndex-r17 ::= INTEGER (0..maxNrofPDSCH-ConfigPTM-1-r17)
+
+MTCH-SSB-MappingWindowIndex-r17 ::= INTEGER (0..maxNrofMTCH-SSB-MappingWindow-1-r17)
+
+MRB-ListBroadcast-r17 ::= SEQUENCE (SIZE (1..maxNrofMRB-Broadcast-r17)) OF MRB-InfoBroadcast-r17
+
+MRB-InfoBroadcast-r17 ::= SEQUENCE {
+ pdcp-Config-r17 MRB-PDCP-ConfigBroadcast-r17,
+ rlc-Config-r17 MRB-RLC-ConfigBroadcast-r17,
+ ...
+}
+
+MRB-PDCP-ConfigBroadcast-r17 ::= SEQUENCE {
+ pdcp-SN-SizeDL-r17 ENUMERATED {len12bits} OPTIONAL, -- Need S
+ headerCompression-r17 CHOICE {
+ notUsed NULL,
+ rohc SEQUENCE {
+ maxCID-r17 INTEGER (1..16) DEFAULT 15,
+ profiles-r17 SEQUENCE {
+ profile0x0000-r17 BOOLEAN,
+ profile0x0001-r17 BOOLEAN,
+ profile0x0002-r17 BOOLEAN
+ }
+ }
+ },
+ t-Reordering-r17 ENUMERATED {ms1, ms10, ms40, ms160, ms500, ms1000, ms1250, ms2750} OPTIONAL -- Need S
+}
+
+MRB-RLC-ConfigBroadcast-r17 ::= SEQUENCE {
+ logicalChannelIdentity-r17 LogicalChannelIdentity,
+ sn-FieldLength-r17 ENUMERATED {size6} OPTIONAL, -- Need S
+ t-Reassembly-r17 T-Reassembly OPTIONAL -- Need S
+}
+
+-- TAG-MBS-SESSIONINFOLIST-STOP
+-- TAG-MTCH-SSB-MAPPINGWINDOWLIST-START
+
+MTCH-SSB-MappingWindowList-r17 ::= SEQUENCE (SIZE (1..maxNrofMTCH-SSB-MappingWindow-r17)) OF MTCH-SSB-MappingWindowCycleOffset-r17
+
+MTCH-SSB-MappingWindowCycleOffset-r17 ::= CHOICE {
+ ms10 INTEGER(0..9),
+ ms20 INTEGER(0..19),
+ ms32 INTEGER(0..31),
+ ms64 INTEGER(0..63),
+ ms128 INTEGER(0..127),
+ ms256 INTEGER(0..255)
+}
+
+-- TAG-MTCH-SSB-MAPPINGWINDOWLIST-STOP
+-- TAG-PDSCH-CONFIGBROADCAST-START
+
+PDSCH-ConfigBroadcast-r17 ::= SEQUENCE {
+ pdschConfigList-r17 SEQUENCE (SIZE (1..maxNrofPDSCH-ConfigPTM-r17) ) OF PDSCH-ConfigPTM-r17,
+ pdsch-TimeDomainAllocationList-r17 PDSCH-TimeDomainResourceAllocationList-r16 OPTIONAL, -- Need R
+ rateMatchPatternToAddModList-r17 SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need R
+ lte-CRS-ToMatchAround-r17 RateMatchPatternLTE-CRS OPTIONAL, -- Need R
+ mcs-Table-r17 ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S
+ xOverhead-r17 ENUMERATED {xOh6, xOh12, xOh18} OPTIONAL -- Need S
+}
+
+PDSCH-ConfigPTM-r17 ::= SEQUENCE {
+ dataScramblingIdentityPDSCH-r17 INTEGER (0..1023) OPTIONAL, -- Need S
+ dmrs-ScramblingID0-r17 INTEGER (0..65535) OPTIONAL, -- Need S
+ pdsch-AggregationFactor-r17 ENUMERATED {n2, n4, n8} OPTIONAL -- Need S
+}
+
+-- TAG-PDSCH-CONFIGBROADCAST-STOP
+-- TAG-TMGI-START
+
+TMGI-r17 ::= SEQUENCE {
+ plmn-Id-r17 CHOICE {
+ plmn-Index INTEGER (1..maxPLMN),
+ explicitValue PLMN-Identity
+ },
+ serviceId-r17 OCTET STRING (SIZE (3))
+}
+
+-- TAG-TMGI-STOP
+-- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-START
+
+maxAdditionalRACH-r17 INTEGER ::= 256 -- Maximum number of additional RACH configurations.
+maxAI-DCI-PayloadSize-r16 INTEGER ::= 128 --Maximum size of the DCI payload scrambled with ai-RNTI
+maxAI-DCI-PayloadSize-1-r16 INTEGER ::= 127 --Maximum size of the DCI payload scrambled with ai-RNTI minus 1
+maxBandComb INTEGER ::= 65536 -- Maximum number of DL band combinations
+maxBandsUTRA-FDD-r16 INTEGER ::= 64 -- Maximum number of bands listed in UTRA-FDD UE caps
+maxBH-RLC-ChannelID-r16 INTEGER ::= 65536 -- Maximum value of BH RLC Channel ID
+maxBT-IdReport-r16 INTEGER ::= 32 -- Maximum number of Bluetooth IDs to report
+maxBT-Name-r16 INTEGER ::= 4 -- Maximum number of Bluetooth name
+maxCAG-Cell-r16 INTEGER ::= 16 -- Maximum number of NR CAG cell ranges in SIB3, SIB4
+maxTwoPUCCH-Grp-ConfigList-r16 INTEGER ::= 32 -- Maximum number of supported configuration(s) of {primary PUCCH group
+ -- config, secondary PUCCH group config}
+maxTwoPUCCH-Grp-ConfigList-r17 INTEGER ::= 16 -- Maximum number of supported configuration(s) of {primary PUCCH group
+ -- config, secondary PUCCH group config} for PUCCH cell switching
+maxCBR-Config-r16 INTEGER ::= 8 -- Maximum number of CBR range configurations for sidelink communication
+ -- congestion control
+maxCBR-Config-1-r16 INTEGER ::= 7 -- Maximum number of CBR range configurations for sidelink communication
+ -- congestion control minus 1
+maxCBR-Level-r16 INTEGER ::= 16 -- Maximum number of CBR levels
+maxCBR-Level-1-r16 INTEGER ::= 15 -- Maximum number of CBR levels minus 1
+maxCellExcluded INTEGER ::= 16 -- Maximum number of NR exclude-listed cell ranges in SIB3, SIB4
+maxCellGroupings-r16 INTEGER ::= 32 -- Maximum number of cell groupings for NR-DC
+maxCellHistory-r16 INTEGER ::= 16 -- Maximum number of visited PCells reported
+maxPSCellHistory-r17 INTEGER ::= 16 -- Maximum number of visited PSCells across all reported PCells
+maxCellInter INTEGER ::= 16 -- Maximum number of inter-Freq cells listed in SIB4
+maxCellIntra INTEGER ::= 16 -- Maximum number of intra-Freq cells listed in SIB3
+maxCellMeasEUTRA INTEGER ::= 32 -- Maximum number of cells in E-UTRAN
+maxCellMeasIdle-r16 INTEGER ::= 8 -- Maximum number of cells per carrier for idle/inactive measurements
+maxCellMeasUTRA-FDD-r16 INTEGER ::= 32 -- Maximum number of cells in FDD UTRAN
+maxCellNTN-r17 INTEGER ::= 4 -- Maximum number of NTN neighbour cells for which assistance information is
+ -- provided
+maxCarrierTypePairList-r16 INTEGER ::= 16 -- Maximum number of supported carrier type pair of (carrier type on which
+ -- CSI measurement is performed, carrier type on which CSI reporting is
+ -- performed) for CSI reporting cross PUCCH group
+maxCellAllowed INTEGER ::= 16 -- Maximum number of NR allow-listed cell ranges in SIB3, SIB4
+maxEARFCN INTEGER ::= 262143 -- Maximum value of E-UTRA carrier frequency
+maxEUTRA-CellExcluded INTEGER ::= 16 -- Maximum number of E-UTRA exclude-listed physical cell identity ranges
+ -- in SIB5
+maxEUTRA-NS-Pmax INTEGER ::= 8 -- Maximum number of NS and P-Max values per band
+maxFeatureCombPreamblesPerRACHResource-r17 INTEGER ::= 256 -- Maximum number of feature combination preambles.
+maxLogMeasReport-r16 INTEGER ::= 520 -- Maximum number of entries for logged measurements
+maxMultiBands INTEGER ::= 8 -- Maximum number of additional frequency bands that a cell belongs to
+maxNARFCN INTEGER ::= 3279165 -- Maximum value of NR carrier frequency
+maxNR-NS-Pmax INTEGER ::= 8 -- Maximum number of NS and P-Max values per band
+maxFreqIdle-r16 INTEGER ::= 8 -- Maximum number of carrier frequencies for idle/inactive measurements
+maxNrofServingCells INTEGER ::= 32 -- Max number of serving cells (SpCells + SCells)
+maxNrofServingCells-1 INTEGER ::= 31 -- Max number of serving cells (SpCells + SCells) minus 1
+maxNrofAggregatedCellsPerCellGroup INTEGER ::= 16
+maxNrofAggregatedCellsPerCellGroupMinus4-r16 INTEGER ::= 12
+maxNrofDUCells-r16 INTEGER ::= 512 -- Max number of cells configured on the collocated IAB-DU
+maxNrofAppLayerMeas-r17 INTEGER ::= 16 -- Max number of simultaneous application layer measurements
+maxNrofAppLayerMeas-1-r17 INTEGER ::= 15 -- Max number of simultaneous application layer measurements minus 1
+maxNrofAvailabilityCombinationsPerSet-r16 INTEGER ::= 512 -- Max number of AvailabilityCombinationId used in the DCI format 2_5
+maxNrofAvailabilityCombinationsPerSet-1-r16 INTEGER ::= 511 -- Max number of AvailabilityCombinationId used in the DCI format 2_5 minus 1
+maxNrofIABResourceConfig-r17 INTEGER ::= 65536 -- Max number of IAB-ResourceConfigID used in MAC CE
+maxNrofIABResourceConfig-1-r17 INTEGER ::= 65535 -- Max number of IAB-ResourceConfigID used in MAC CE minus 1
+maxNrofSCellActRS-r17 INTEGER ::= 255 -- Max number of RS configurations per SCell for SCell activation
+maxNrofSCells INTEGER ::= 31 -- Max number of secondary serving cells per cell group
+maxNrofCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the cell lists in a measurement object
+maxNrofCRS-IM-InterfCell-r17 INTEGER ::= 8 -- Maximum number of LTE interference cells for CRS-IM per UE
+maxNrofRelayMeas-r17 INTEGER ::= 32 -- Maximum number of L2 U2N Relay UEs to measure for each measurement object
+ -- on sidelink frequency
+maxNrofCG-SL-r16 INTEGER ::= 8 -- Max number of sidelink configured grant
+maxNrofCG-SL-1-r16 INTEGER ::= 7 -- Max number of sidelink configured grant minus 1
+maxSL-GC-BC-DRX-QoS-r17 INTEGER ::= 16 -- Max number of sidelink DRX configurations for NR
+ -- sidelink groupcast/broadcast communication
+maxNrofSL-RxInfoSet-r17 INTEGER ::= 4 -- Max number of sidelink DRX configuration sets in sidelink DRX assistant
+ -- information
+maxNrofSS-BlocksToAverage INTEGER ::= 16 -- Max number for the (max) number of SS blocks to average to determine cell measurement
+maxNrofCondCells-r16 INTEGER ::= 8 -- Max number of conditional candidate SpCells
+maxNrofCondCells-1-r17 INTEGER ::= 7 -- Max number of conditional candidate SpCells minus 1
+maxNrofCSI-RS-ResourcesToAverage INTEGER ::= 16 -- Max number for the (max) number of CSI-RS to average to determine cell measurement
+maxNrofDL-Allocations INTEGER ::= 16 -- Maximum number of PDSCH time domain resource allocations
+maxNrofDL-AllocationsExt-r17 INTEGER ::= 64 -- Maximum number of PDSCH time domain resource allocations for multi-PDSCH
+ -- scheduling
+maxNrofPDU-Sessions-r17 INTEGER ::= 256 -- Maximum number of PDU Sessions
+maxNrofSR-ConfigPerCellGroup INTEGER ::= 8 -- Maximum number of SR configurations per cell group
+maxLCG-ID INTEGER ::= 7 -- Maximum value of LCG ID
+maxLCG-ID-IAB-r17 INTEGER ::= 255 -- Maximum value of LCG ID for IAB-MT
+maxLC-ID INTEGER ::= 32 -- Maximum value of Logical Channel ID
+maxLC-ID-Iab-r16 INTEGER ::= 65855 -- Maximum value of BH Logical Channel ID extension
+maxLTE-CRS-Patterns-r16 INTEGER ::= 3 -- Maximum number of additional LTE CRS rate matching patterns
+maxNrofTAGs INTEGER ::= 4 -- Maximum number of Timing Advance Groups
+maxNrofTAGs-1 INTEGER ::= 3 -- Maximum number of Timing Advance Groups minus 1
+maxNrofBWPs INTEGER ::= 4 -- Maximum number of BWPs per serving cell
+maxNrofCombIDC INTEGER ::= 128 -- Maximum number of reported MR-DC combinations for IDC
+maxNrofSymbols-1 INTEGER ::= 13 -- Maximum index identifying a symbol within a slot (14 symbols, indexed from 0..13)
+maxNrofSlots INTEGER ::= 320 -- Maximum number of slots in a 10 ms period
+maxNrofSlots-1 INTEGER ::= 319 -- Maximum number of slots in a 10 ms period minus 1
+maxNrofPhysicalResourceBlocks INTEGER ::= 275 -- Maximum number of PRBs
+maxNrofPhysicalResourceBlocks-1 INTEGER ::= 274 -- Maximum number of PRBs minus 1
+maxNrofPhysicalResourceBlocksPlus1 INTEGER ::= 276 -- Maximum number of PRBs plus 1
+maxNrofControlResourceSets INTEGER ::= 12 -- Max number of CoReSets configurable on a serving cell
+maxNrofControlResourceSets-1 INTEGER ::= 11 -- Max number of CoReSets configurable on a serving cell minus 1
+maxNrofControlResourceSets-1-r16 INTEGER ::= 15 -- Max number of CoReSets configurable on a serving cell extended in minus 1
+maxNrofCoresetPools-r16 INTEGER ::= 2 -- Maximum number of CORESET pools
+maxCoReSetDuration INTEGER ::= 3 -- Max number of OFDM symbols in a control resource set
+maxNrofSearchSpaces-1 INTEGER ::= 39 -- Max number of Search Spaces minus 1
+maxNrofSearchSpacesLinks-1-r17 INTEGER ::= 39 -- Max number of Search Space links minus 1
+maxNrofBFDResourcePerSet-r17 INTEGER ::= 64 -- Max number of reference signal in one BFD set
+maxSFI-DCI-PayloadSize INTEGER ::= 128 -- Max number payload of a DCI scrambled with SFI-RNTI
+maxSFI-DCI-PayloadSize-1 INTEGER ::= 127 -- Max number payload of a DCI scrambled with SFI-RNTI minus 1
+maxIAB-IP-Address-r16 INTEGER ::= 32 -- Max number of assigned IP addresses
+maxINT-DCI-PayloadSize INTEGER ::= 126 -- Max number payload of a DCI scrambled with INT-RNTI
+maxINT-DCI-PayloadSize-1 INTEGER ::= 125 -- Max number payload of a DCI scrambled with INT-RNTI minus 1
+maxNrofRateMatchPatterns INTEGER ::= 4 -- Max number of rate matching patterns that may be configured
+maxNrofRateMatchPatterns-1 INTEGER ::= 3 -- Max number of rate matching patterns that may be configured minus 1
+maxNrofRateMatchPatternsPerGroup INTEGER ::= 8 -- Max number of rate matching patterns that may be configured in one group
+maxNrofCSI-ReportConfigurations INTEGER ::= 48 -- Maximum number of report configurations
+maxNrofCSI-ReportConfigurations-1 INTEGER ::= 47 -- Maximum number of report configurations minus 1
+maxNrofCSI-ResourceConfigurations INTEGER ::= 112 -- Maximum number of resource configurations
+maxNrofCSI-ResourceConfigurations-1 INTEGER ::= 111 -- Maximum number of resource configurations minus 1
+maxNrofAP-CSI-RS-ResourcesPerSet INTEGER ::= 16
+maxNrOfCSI-AperiodicTriggers INTEGER ::= 128 -- Maximum number of triggers for aperiodic CSI reporting
+maxNrofReportConfigPerAperiodicTrigger INTEGER ::= 16 -- Maximum number of report configurations per trigger state for aperiodic reporting
+maxNrofNZP-CSI-RS-Resources INTEGER ::= 192 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources
+maxNrofNZP-CSI-RS-Resources-1 INTEGER ::= 191 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources minus 1
+maxNrofNZP-CSI-RS-ResourcesPerSet INTEGER ::= 64 -- Maximum number of NZP CSI-RS resources per resource set
+maxNrofNZP-CSI-RS-ResourceSets INTEGER ::= 64 -- Maximum number of NZP CSI-RS resource sets per cell
+maxNrofNZP-CSI-RS-ResourceSets-1 INTEGER ::= 63 -- Maximum number of NZP CSI-RS resource sets per cell minus 1
+maxNrofNZP-CSI-RS-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of resource sets per resource configuration
+maxNrofNZP-CSI-RS-ResourcesPerConfig INTEGER ::= 128 -- Maximum number of resources per resource configuration
+maxNrofZP-CSI-RS-Resources INTEGER ::= 32 -- Maximum number of Zero-Power (ZP) CSI-RS resources
+maxNrofZP-CSI-RS-Resources-1 INTEGER ::= 31 -- Maximum number of Zero-Power (ZP) CSI-RS resources minus 1
+maxNrofZP-CSI-RS-ResourceSets-1 INTEGER ::= 15
+maxNrofZP-CSI-RS-ResourcesPerSet INTEGER ::= 16
+maxNrofZP-CSI-RS-ResourceSets INTEGER ::= 16
+maxNrofCSI-IM-Resources INTEGER ::= 32 -- Maximum number of CSI-IM resources
+maxNrofCSI-IM-Resources-1 INTEGER ::= 31 -- Maximum number of CSI-IM resources minus 1
+maxNrofCSI-IM-ResourcesPerSet INTEGER ::= 8 -- Maximum number of CSI-IM resources per set
+maxNrofCSI-IM-ResourceSets INTEGER ::= 64 -- Maximum number of NZP CSI-IM resource sets per cell
+maxNrofCSI-IM-ResourceSets-1 INTEGER ::= 63 -- Maximum number of NZP CSI-IM resource sets per cell minus 1
+maxNrofCSI-IM-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of CSI IM resource sets per resource configuration
+maxNrofCSI-SSB-ResourcePerSet INTEGER ::= 64 -- Maximum number of SSB resources in a resource set
+maxNrofCSI-SSB-ResourceSets INTEGER ::= 64 -- Maximum number of CSI SSB resource sets per cell
+maxNrofCSI-SSB-ResourceSets-1 INTEGER ::= 63 -- Maximum number of CSI SSB resource sets per cell minus 1
+maxNrofCSI-SSB-ResourceSetsPerConfig INTEGER ::= 1 -- Maximum number of CSI SSB resource sets per resource configuration
+maxNrofCSI-SSB-ResourceSetsPerConfigExt INTEGER ::= 2 -- Maximum number of CSI SSB resource sets per resource configuration
+ -- extended
+maxNrofFailureDetectionResources INTEGER ::= 10 -- Maximum number of failure detection resources
+maxNrofFailureDetectionResources-1 INTEGER ::= 9 -- Maximum number of failure detection resources minus 1
+maxNrofFailureDetectionResources-1-r17 INTEGER ::= 63 -- Maximum number of the enhanced failure detection resources minus 1
+maxNrofFreqSL-r16 INTEGER ::= 8 -- Maximum number of carrier frequency for NR sidelink communication
+maxNrofSL-BWPs-r16 INTEGER ::= 4 -- Maximum number of BWP for NR sidelink communication
+maxFreqSL-EUTRA-r16 INTEGER ::= 8 -- Maximum number of EUTRA anchor carrier frequency for NR sidelink communication
+maxNrofSL-MeasId-r16 INTEGER ::= 64 -- Maximum number of sidelink measurement identity (RSRP) per destination
+maxNrofSL-ObjectId-r16 INTEGER ::= 64 -- Maximum number of sidelink measurement objects (RSRP) per destination
+maxNrofSL-ReportConfigId-r16 INTEGER ::= 64 -- Maximum number of sidelink measurement reporting configuration(RSRP) per destination
+maxNrofSL-PoolToMeasureNR-r16 INTEGER ::= 8 -- Maximum number of resource pool for NR sidelink measurement to measure for
+ -- each measurement object (for CBR)
+maxFreqSL-NR-r16 INTEGER ::= 8 -- Maximum number of NR anchor carrier frequency for NR sidelink communication
+maxNrofSL-QFIs-r16 INTEGER ::= 2048 -- Maximum number of QoS flow for NR sidelink communication per UE
+maxNrofSL-QFIsPerDest-r16 INTEGER ::= 64 -- Maximum number of QoS flow per destination for NR sidelink communication
+maxNrofObjectId INTEGER ::= 64 -- Maximum number of measurement objects
+maxNrofPageRec INTEGER ::= 32 -- Maximum number of page records
+maxNrofPCI-Ranges INTEGER ::= 8 -- Maximum number of PCI ranges
+maxPLMN INTEGER ::= 12 -- Maximum number of PLMNs broadcast and reported by UE at establishment
+maxTAC-r17 INTEGER ::= 12 -- Maximum number of Tracking Area Codes to which a cell belongs to
+maxNrofCSI-RS-ResourcesRRM INTEGER ::= 96 -- Maximum number of CSI-RS resources per cell for an RRM measurement object
+maxNrofCSI-RS-ResourcesRRM-1 INTEGER ::= 95 -- Maximum number of CSI-RS resources per cell for an RRM measurement object
+ -- minus 1.
+maxNrofMeasId INTEGER ::= 64 -- Maximum number of configured measurements
+maxNrofQuantityConfig INTEGER ::= 2 -- Maximum number of quantity configurations
+maxNrofCSI-RS-CellsRRM INTEGER ::= 96 -- Maximum number of cells with CSI-RS resources for an RRM measurement object
+maxNrofSL-Dest-r16 INTEGER ::= 32 -- Maximum number of destination for NR sidelink communication and discovery
+maxNrofSL-Dest-1-r16 INTEGER ::= 31 -- Highest index of destination for NR sidelink communication and discovery
+maxNrofSLRB-r16 INTEGER ::= 512 -- Maximum number of radio bearer for NR sidelink communication per UE
+maxSL-LCID-r16 INTEGER ::= 512 -- Maximum number of RLC bearer for NR sidelink communication per UE
+maxSL-SyncConfig-r16 INTEGER ::= 16 -- Maximum number of sidelink Sync configurations
+maxNrofRXPool-r16 INTEGER ::= 16 -- Maximum number of Rx resource pool for NR sidelink communication and
+ -- discovery
+maxNrofTXPool-r16 INTEGER ::= 8 -- Maximum number of Tx resource pool for NR sidelink communication and
+ -- discovery
+maxNrofPoolID-r16 INTEGER ::= 16 -- Maximum index of resource pool for NR sidelink communication and
+ -- discovery
+maxNrofSRS-PathlossReferenceRS-r16 INTEGER ::= 64 -- Maximum number of RSs used as pathloss reference for SRS power control.
+maxNrofSRS-PathlossReferenceRS-1-r16 INTEGER ::= 63 -- Maximum number of RSs used as pathloss reference for SRS power control
+ -- minus 1.
+maxNrofSRS-ResourceSets INTEGER ::= 16 -- Maximum number of SRS resource sets in a BWP.
+maxNrofSRS-ResourceSets-1 INTEGER ::= 15 -- Maximum number of SRS resource sets in a BWP minus 1.
+maxNrofSRS-PosResourceSets-r16 INTEGER ::= 16 -- Maximum number of SRS Positioning resource sets in a BWP.
+maxNrofSRS-PosResourceSets-1-r16 INTEGER ::= 15 -- Maximum number of SRS Positioning resource sets in a BWP minus 1.
+maxNrofSRS-Resources INTEGER ::= 64 -- Maximum number of SRS resources.
+maxNrofSRS-Resources-1 INTEGER ::= 63 -- Maximum number of SRS resources minus 1.
+maxNrofSRS-PosResources-r16 INTEGER ::= 64 -- Maximum number of SRS Positioning resources.
+maxNrofSRS-PosResources-1-r16 INTEGER ::= 63 -- Maximum number of SRS Positioning resources minus 1.
+maxNrofSRS-ResourcesPerSet INTEGER ::= 16 -- Maximum number of SRS resources in an SRS resource set
+maxNrofSRS-TriggerStates-1 INTEGER ::= 3 -- Maximum number of SRS trigger states minus 1, i.e., the largest code point.
+maxNrofSRS-TriggerStates-2 INTEGER ::= 2 -- Maximum number of SRS trigger states minus 2.
+maxRAT-CapabilityContainers INTEGER ::= 8 -- Maximum number of interworking RAT containers (incl NR and MRDC)
+maxSimultaneousBands INTEGER ::= 32 -- Maximum number of simultaneously aggregated bands
+maxULTxSwitchingBandPairs INTEGER ::= 32 -- Maximum number of band pairs supporting dynamic UL Tx switching in a band
+ -- combination.
+maxNrofSlotFormatCombinationsPerSet INTEGER ::= 512 -- Maximum number of Slot Format Combinations in a SF-Set.
+maxNrofSlotFormatCombinationsPerSet-1 INTEGER ::= 511 -- Maximum number of Slot Format Combinations in a SF-Set minus 1.
+maxNrofTrafficPattern-r16 INTEGER ::= 8 -- Maximum number of Traffic Pattern for NR sidelink communication.
+maxNrofPUCCH-Resources INTEGER ::= 128
+maxNrofPUCCH-Resources-1 INTEGER ::= 127
+maxNrofPUCCH-ResourceSets INTEGER ::= 4 -- Maximum number of PUCCH Resource Sets
+maxNrofPUCCH-ResourceSets-1 INTEGER ::= 3 -- Maximum number of PUCCH Resource Sets minus 1.
+maxNrofPUCCH-ResourcesPerSet INTEGER ::= 32 -- Maximum number of PUCCH Resources per PUCCH-ResourceSet
+maxNrofPUCCH-P0-PerSet INTEGER ::= 8 -- Maximum number of P0-pucch present in a p0-pucch set
+maxNrofPUCCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUCCH power control.
+maxNrofPUCCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUCCH power control
+ -- minus 1.
+maxNrofPUCCH-PathlossReferenceRSs-r16 INTEGER ::= 64 -- Maximum number of RSs used as pathloss reference for PUCCH power control
+ -- extended.
+maxNrofPUCCH-PathlossReferenceRSs-1-r16 INTEGER ::= 63 -- Maximum number of RSs used as pathloss reference for PUCCH power control
+ -- minus 1 extended.
+maxNrofPUCCH-PathlossReferenceRSs-1-r17 INTEGER ::= 7 -- Maximum number of RSs used as pathloss reference for PUCCH power control
+ -- minus 1.
+maxNrofPUCCH-PathlossReferenceRSsDiff-r16 INTEGER ::= 60 -- Difference between the extended maximum and the non-extended maximum
+maxNrofPUCCH-ResourceGroups-r16 INTEGER ::= 4 -- Maximum number of PUCCH resources groups.
+maxNrofPUCCH-ResourcesPerGroup-r16 INTEGER ::= 128 -- Maximum number of PUCCH resources in a PUCCH group.
+maxNrofPowerControlSetInfos-r17 INTEGER ::= 8 -- Maximum number of PUCCH power control set infos
+maxNrofMultiplePUSCHs-r16 INTEGER ::= 8 -- Maximum number of multiple PUSCHs in PUSCH TDRA list
+maxNrofP0-PUSCH-AlphaSets INTEGER ::= 30 -- Maximum number of P0-pusch-alpha-sets (see TS 38.213 [13], clause 7.1)
+maxNrofP0-PUSCH-AlphaSets-1 INTEGER ::= 29 -- Maximum number of P0-pusch-alpha-sets minus 1 (see TS 38.213 [13], clause 7.1)
+maxNrofPUSCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUSCH power control.
+maxNrofPUSCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUSCH power control
+ -- minus 1.
+maxNrofPUSCH-PathlossReferenceRSs-r16 INTEGER ::= 64 -- Maximum number of RSs used as pathloss reference for PUSCH power control
+ -- extended
+maxNrofPUSCH-PathlossReferenceRSs-1-r16 INTEGER ::= 63 -- Maximum number of RSs used as pathloss reference for PUSCH power control
+ -- extended minus 1
+maxNrofPUSCH-PathlossReferenceRSsDiff-r16 INTEGER ::= 60 -- Difference between maxNrofPUSCH-PathlossReferenceRSs-r16 and
+ -- maxNrofPUSCH-PathlossReferenceRSs
+maxNrofPathlossReferenceRSs-r17 INTEGER ::= 64 -- Maximum number of RSs used as pathloss reference for PUSCH, PUCCH, SRS
+ -- power control for unified TCI state operation
+maxNrofPathlossReferenceRSs-1-r17 INTEGER ::= 63 -- Maximum number of RSs used as pathloss reference for PUSCH, PUCCH, SRS
+ -- power control for unified TCI state operation minus 1
+maxNrofNAICS-Entries INTEGER ::= 8 -- Maximum number of supported NAICS capability set
+maxBands INTEGER ::= 1024 -- Maximum number of supported bands in UE capability.
+maxBandsMRDC INTEGER ::= 1280
+maxBandsEUTRA INTEGER ::= 256
+maxCellReport INTEGER ::= 8
+maxDRB INTEGER ::= 29 -- Maximum number of DRBs (that can be added in DRB-ToAddModList).
+maxFreq INTEGER ::= 8 -- Max number of frequencies.
+maxFreqLayers INTEGER ::= 4 -- Max number of frequency layers.
+maxFreqPlus1 INTEGER ::= 9 -- Max number of frequencies for Slicing.
+maxFreqIDC-r16 INTEGER ::= 128 -- Max number of frequencies for IDC indication.
+maxCombIDC-r16 INTEGER ::= 128 -- Max number of reported UL CA for IDC indication.
+maxFreqIDC-MRDC INTEGER ::= 32 -- Maximum number of candidate NR frequencies for MR-DC IDC indication
+maxNrofCandidateBeams INTEGER ::= 16 -- Max number of PRACH-ResourceDedicatedBFR in BFR config.
+maxNrofCandidateBeams-r16 INTEGER ::= 64 -- Max number of candidate beam resources in BFR config.
+maxNrofCandidateBeamsExt-r16 INTEGER ::= 48 -- Max number of PRACH-ResourceDedicatedBFR in the CandidateBeamRSListExt
+maxNrofPCIsPerSMTC INTEGER ::= 64 -- Maximum number of PCIs per SMTC.
+maxNrofQFIs INTEGER ::= 64
+maxNrofResourceAvailabilityPerCombination-r16 INTEGER ::= 256
+maxNrOfSemiPersistentPUSCH-Triggers INTEGER ::= 64 -- Maximum number of triggers for semi persistent reporting on PUSCH
+maxNrofSR-Resources INTEGER ::= 8 -- Maximum number of SR resources per BWP in a cell.
+maxNrofSlotFormatsPerCombination INTEGER ::= 256
+maxNrofSpatialRelationInfos INTEGER ::= 8
+maxNrofSpatialRelationInfos-plus-1 INTEGER ::= 9
+maxNrofSpatialRelationInfos-r16 INTEGER ::= 64
+maxNrofSpatialRelationInfosDiff-r16 INTEGER ::= 56 -- Difference between maxNrofSpatialRelationInfos-r16 and maxNrofSpatialRelationInfos
+maxNrofIndexesToReport INTEGER ::= 32
+maxNrofIndexesToReport2 INTEGER ::= 64
+maxNrofSSBs-r16 INTEGER ::= 64 -- Maximum number of SSB resources in a resource set.
+maxNrofSSBs-1 INTEGER ::= 63 -- Maximum number of SSB resources in a resource set minus 1.
+maxNrofS-NSSAI INTEGER ::= 8 -- Maximum number of S-NSSAI.
+maxNrofTCI-StatesPDCCH INTEGER ::= 64
+maxNrofTCI-States INTEGER ::= 128 -- Maximum number of TCI states.
+maxNrofTCI-States-1 INTEGER ::= 127 -- Maximum number of TCI states minus 1.
+maxUL-TCI-r17 INTEGER ::= 64 -- Maximum number of TCI states.
+maxUL-TCI-1-r17 INTEGER ::= 63 -- Maximum number of TCI states minus 1.
+maxNrofAdditionalPCI-r17 INTEGER ::= 7 -- Maximum number of additional PCI
+maxMPE-Resources-r17 INTEGER ::= 64 -- Maximum number of pooled MPE resources
+maxNrofUL-Allocations INTEGER ::= 16 -- Maximum number of PUSCH time domain resource allocations.
+maxQFI INTEGER ::= 63
+maxRA-CSIRS-Resources INTEGER ::= 96
+maxRA-OccasionsPerCSIRS INTEGER ::= 64 -- Maximum number of RA occasions for one CSI-RS
+maxRA-Occasions-1 INTEGER ::= 511 -- Maximum number of RA occasions in the system
+maxRA-SSB-Resources INTEGER ::= 64
+maxSCSs INTEGER ::= 5
+maxSecondaryCellGroups INTEGER ::= 3
+maxNrofServingCellsEUTRA INTEGER ::= 32
+maxMBSFN-Allocations INTEGER ::= 8
+maxNrofMultiBands INTEGER ::= 8
+maxCellSFTD INTEGER ::= 3 -- Maximum number of cells for SFTD reporting
+maxReportConfigId INTEGER ::= 64
+maxNrofCodebooks INTEGER ::= 16 -- Maximum number of codebooks supported by the UE
+maxNrofCSI-RS-ResourcesExt-r16 INTEGER ::= 16 -- Maximum number of codebook resources supported by the UE for eType2/Codebook combo
+maxNrofCSI-RS-ResourcesExt-r17 INTEGER ::= 8 -- Maximum number of codebook resources for fetype2R1 and fetype2R2
+maxNrofCSI-RS-Resources INTEGER ::= 7 -- Maximum number of codebook resources supported by the UE
+maxNrofCSI-RS-ResourcesAlt-r16 INTEGER ::= 512 -- Maximum number of alternative codebook resources supported by the UE
+maxNrofCSI-RS-ResourcesAlt-1-r16 INTEGER ::= 511 -- Maximum number of alternative codebook resources supported by the UE minus 1
+maxNrofSRI-PUSCH-Mappings INTEGER ::= 16
+maxNrofSRI-PUSCH-Mappings-1 INTEGER ::= 15
+maxSIB INTEGER::= 32 -- Maximum number of SIBs
+maxSI-Message INTEGER::= 32 -- Maximum number of SI messages
+maxSIB-MessagePlus1-r17 INTEGER::= 33 -- Maximum number of SIB messages plus 1
+maxPO-perPF INTEGER ::= 4 -- Maximum number of paging occasion per paging frame
+maxPEI-perPF-r17 INTEGER ::= 4 -- Maximum number of PEI occasion per paging frame
+maxAccessCat-1 INTEGER ::= 63 -- Maximum number of Access Categories minus 1
+maxBarringInfoSet INTEGER ::= 8 -- Maximum number of access control parameter sets
+maxCellEUTRA INTEGER ::= 8 -- Maximum number of E-UTRA cells in SIB list
+maxEUTRA-Carrier INTEGER ::= 8 -- Maximum number of E-UTRA carriers in SIB list
+maxPLMNIdentities INTEGER ::= 8 -- Maximum number of PLMN identities in RAN area configurations
+maxDownlinkFeatureSets INTEGER ::= 1024 -- (for NR DL) Total number of FeatureSets (size of the pool)
+maxUplinkFeatureSets INTEGER ::= 1024 -- (for NR UL) Total number of FeatureSets (size of the pool)
+maxEUTRA-DL-FeatureSets INTEGER ::= 256 -- (for E-UTRA) Total number of FeatureSets (size of the pool)
+maxEUTRA-UL-FeatureSets INTEGER ::= 256 -- (for E-UTRA) Total number of FeatureSets (size of the pool)
+maxFeatureSetsPerBand INTEGER ::= 128 -- (for NR) The number of feature sets associated with one band.
+maxPerCC-FeatureSets INTEGER ::= 1024 -- (for NR) Total number of CC-specific FeatureSets (size of the pool)
+maxFeatureSetCombinations INTEGER ::= 1024 -- (for MR-DC/NR)Total number of Feature set combinations (size of the pool)
+maxInterRAT-RSTD-Freq INTEGER ::= 3
+maxGIN-r17 INTEGER ::= 24 -- Maximum number of broadcast GINs
+maxHRNN-Len-r16 INTEGER ::= 48 -- Maximum length of HRNNs
+maxNPN-r16 INTEGER ::= 12 -- Maximum number of NPNs broadcast and reported by UE at establishment
+maxNrOfMinSchedulingOffsetValues-r16 INTEGER ::= 2 -- Maximum number of min. scheduling offset (K0/K2) configurations
+maxK0-SchedulingOffset-r16 INTEGER ::= 16 -- Maximum number of slots configured as min. scheduling offset (K0)
+maxK2-SchedulingOffset-r16 INTEGER ::= 16 -- Maximum number of slots configured as min. scheduling offset (K2)
+maxK0-SchedulingOffset-r17 INTEGER ::= 64 -- Maximum number of slots configured as min. scheduling offset (K0)
+maxK2-SchedulingOffset-r17 INTEGER ::= 64 -- Maximum number of slots configured as min. scheduling offset (K2)
+maxDCI-2-6-Size-r16 INTEGER ::= 140 -- Maximum size of DCI format 2-6
+maxDCI-2-7-Size-r17 INTEGER ::= 43 -- Maximum size of DCI format 2-7
+maxDCI-2-6-Size-1-r16 INTEGER ::= 139 -- Maximum DCI format 2-6 size minus 1
+maxNrofUL-Allocations-r16 INTEGER ::= 64 -- Maximum number of PUSCH time domain resource allocations
+maxNrofP0-PUSCH-Set-r16 INTEGER ::= 2 -- Maximum number of P0 PUSCH set(s)
+maxOnDemandSIB-r16 INTEGER ::= 8 -- Maximum number of SIB(s) that can be requested on-demand
+maxOnDemandPosSIB-r16 INTEGER ::= 32 -- Maximum number of posSIB(s) that can be requested on-demand
+maxCI-DCI-PayloadSize-r16 INTEGER ::= 126 -- Maximum number of the DCI size for CI
+maxCI-DCI-PayloadSize-1-r16 INTEGER ::= 125 -- Maximum number of the DCI size for CI minus 1
+maxUu-RelayRLC-ChannelID-r17 INTEGER ::= 32 -- Maximum value of Uu Relay RLC channel ID
+maxWLAN-Id-Report-r16 INTEGER ::= 32 -- Maximum number of WLAN IDs to report
+maxWLAN-Name-r16 INTEGER ::= 4 -- Maximum number of WLAN name
+maxRAReport-r16 INTEGER ::= 8 -- Maximum number of RA procedures information to be included in the RA report
+maxTxConfig-r16 INTEGER ::= 64 -- Maximum number of sidelink transmission parameters configurations
+maxTxConfig-1-r16 INTEGER ::= 63 -- Maximum number of sidelink transmission parameters configurations minus 1
+maxPSSCH-TxConfig-r16 INTEGER ::= 16 -- Maximum number of PSSCH TX configurations
+maxNrofCLI-RSSI-Resources-r16 INTEGER ::= 64 -- Maximum number of CLI-RSSI resources for UE
+maxNrofCLI-RSSI-Resources-1-r16 INTEGER ::= 63 -- Maximum number of CLI-RSSI resources for UE minus 1
+maxNrofCLI-SRS-Resources-r16 INTEGER ::= 32 -- Maximum number of SRS resources for CLI measurement for UE
+maxCLI-Report-r16 INTEGER ::= 8
+maxNrofCC-Group-r17 INTEGER ::= 16 -- Maximum number of CC groups for DC location report
+maxNrofConfiguredGrantConfig-r16 INTEGER ::= 12 -- Maximum number of configured grant configurations per BWP
+maxNrofConfiguredGrantConfig-1-r16 INTEGER ::= 11 -- Maximum number of configured grant configurations per BWP minus 1
+maxNrofCG-Type2DeactivationState INTEGER ::= 16 -- Maximum number of deactivation state for type 2 configured grants per BWP
+maxNrofConfiguredGrantConfigMAC-1-r16 INTEGER ::= 31 -- Maximum number of configured grant configurations per MAC entity minus 1
+maxNrofSPS-Config-r16 INTEGER ::= 8 -- Maximum number of SPS configurations per BWP
+maxNrofSPS-Config-1-r16 INTEGER ::= 7 -- Maximum number of SPS configurations per BWP minus 1
+maxNrofSPS-DeactivationState INTEGER ::= 16 -- Maximum number of deactivation state for SPS per BWP
+maxNrofPPW-Config-r17 INTEGER ::= 4 -- Maximum number of Preconfigured PRS processing windows per DL BWP
+maxNrofPPW-ID-1-r17 INTEGER ::= 15 -- Maximum number of Preconfigured PRS processing windows minus 1
+maxNrOfTxTEGReport-r17 INTEGER ::= 256 -- Maximum number of UE Tx Timing Error Group Report
+maxNrOfTxTEG-ID-1-r17 INTEGER ::= 7 -- Maximum number of UE Tx Timing Error Group ID minus 1
+maxNrofPagingSubgroups-r17 INTEGER ::= 8 -- Maximum number of paging subgroups per paging occasion
+maxNrofPUCCH-ResourceGroups-1-r16 INTEGER ::= 3
+maxNrofReqComDC-Location-r17 INTEGER ::= 128 -- Maximum number of requested carriers/BWPs combinations for DC location
+ -- report
+maxNrofServingCellsTCI-r16 INTEGER ::= 32 -- Maximum number of serving cells in simultaneousTCI-UpdateList
+maxNrofTxDC-TwoCarrier-r16 INTEGER ::= 64 -- Maximum number of UL Tx DC locations reported by the UE for 2CC uplink CA
+maxNrofRB-SetGroups-r17 INTEGER ::= 8 -- Maximum number of RB set groups
+maxNrofRB-Sets-r17 INTEGER ::= 8 -- Maximum number of RB sets
+maxNrofEnhType3HARQ-ACK-r17 INTEGER ::= 8 -- Maximum number of enhanced type 3 HARQ-ACK codebook
+maxNrofEnhType3HARQ-ACK-1-r17 INTEGER ::= 7 -- Maximum number of enhanced type 3 HARQ-ACK codebook minus 1
+maxNrofPRS-ResourcesPerSet-r17 INTEGER ::= 64 -- Maximum number of PRS resources for one set
+maxNrofPRS-ResourcesPerSet-1-r17 INTEGER ::= 63 -- Maximum number of PRS resources for one set minus 1
+maxNrofPRS-ResourceOffsetValue-1-r17 INTEGER ::= 511
+maxNrofGapId-r17 INTEGER ::= 8 -- Maximum number of measurement gap ID is FFS
+maxNrofPreConfigPosGapId-r17 INTEGER ::= 16 -- Maximum number of preconfigured positioning measurement gap
+maxNrOfGapPri-r17 INTEGER ::= 16 -- Maximum number of gap priority level
+maxCEFReport-r17 INTEGER ::= 4 -- Maximum number of CEF reports by the UE
+maxNrofMultiplePDSCHs-r17 INTEGER ::= 8 -- Maximum number of PDSCHs in PDSCH TDRA list
+maxSliceInfo-r17 INTEGER ::= 8 -- Maximum number of NSAGs
+maxCellSlice-r17 INTEGER ::= 16 -- Maximum number of cells supporting the NSAG
+maxNrofTRS-ResourceSets-r17 INTEGER ::= 64 -- Maximum number of TRS resource sets
+maxNrofSearchSpaceGroups-1-r17 INTEGER ::= 2 -- Maximum number of search space groups minus 1
+maxNrofRemoteUE-r17 INTEGER ::= 32 -- Maximum number of connected L2 U2N Remote UEs
+maxDCI-4-2-Size-r17 INTEGER ::= 140 -- Maximum size of DCI format 4-2
+maxFreqMBS-r17 INTEGER ::= 16 -- Maximum number of MBS frequencies reported in MBSInterestIndication
+maxNrofDRX-ConfigPTM-r17 INTEGER ::= 64 -- Max number of DRX configuration for PTM provided in MBS broadcast in a
+ -- cell
+maxNrofDRX-ConfigPTM-1-r17 INTEGER ::= 63 -- Max number of DRX configuration for PTM provided in MBS broadcast in a
+ -- cell minus 1
+maxNrofMBS-ServiceListPerUE-r17 INTEGER ::= 16 -- Maximum number of services which the UE can include in the MBS interest
+ -- indication
+maxNrofMBS-Session-r17 INTEGER ::= 1024 -- Maximum number of MBS sessions provided in MBS broadcast in a cell
+maxNrofMTCH-SSB-MappingWindow-r17 INTEGER ::= 16 -- Maximum number of MTCH to SSB beam mapping pattern
+maxNrofMTCH-SSB-MappingWindow-1-r17 INTEGER ::= 15 -- Maximum number of MTCH to SSB beam mapping pattern minus 1
+maxNrofMRB-Broadcast-r17 INTEGER ::= 4 -- Maximum number of broadcast MRBs configured for one MBS broadcast service
+maxNrofPageGroup-r17 INTEGER ::= 32 -- Maximum number of paging groups in a paging message
+maxNrofPDSCH-ConfigPTM-r17 INTEGER ::= 16 -- Maximum number of PDSCH configuration groups for PTM
+maxNrofPDSCH-ConfigPTM-1-r17 INTEGER ::= 15 -- Maximum number of PDSCH configuration groups for PTM minus 1
+maxG-RNTI-r17 INTEGER ::= 16 -- Maximum number of G-RNTI that can be configured for a UE.
+maxG-RNTI-1-r17 INTEGER ::= 15 -- Maximum number of G-RNTI that can be configured for a UE minus 1.
+maxG-CS-RNTI-r17 INTEGER ::= 8 -- Maximum number of G-CS-RNTI that can be configured for a UE.
+maxG-CS-RNTI-1-r17 INTEGER ::= 7 -- Maximum number of G-CS-RNTI that can be configured for a UE minus 1.
+maxMRB-r17 INTEGER ::= 32 -- Maximum number of multicast MRBs (that can be added in MRB-ToAddModLIst)
+maxFSAI-MBS-r17 INTEGER ::= 64 -- Maximum number of MBS frequency selection area identities
+maxNeighCellMBS-r17 INTEGER ::= 8 -- Maximum number of MBS broadcast neighbour cells
+maxNrofPdcch-BlindDetectionMixed-1-r16 INTEGER ::= 7 -- Maximum number of combinations of mixed Rel-16 and Rel-15 PDCCH
+ -- monitoring capabilities minus 1
+maxNrofPdcch-BlindDetection-r17 INTEGER ::= 16 -- Maximum number of combinations of PDCCH blind detection monitoring
+ -- capabilities
+
+-- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-STOP
+
+END
diff --git a/epan/dissectors/asn1/nr-rrc/NR-Sidelink-DiscoveryMessage.asn b/epan/dissectors/asn1/nr-rrc/NR-Sidelink-DiscoveryMessage.asn
new file mode 100644
index 00000000..dbaf2ec3
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/NR-Sidelink-DiscoveryMessage.asn
@@ -0,0 +1,17 @@
+-- 3GPP TS 38.331 V17.5.0 (2023-06)
+
+NR-Sidelink-DiscoveryMessage DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+IMPORTS
+ CellAccessRelatedInfo,
+ SL-ServingCellInfo-r17
+FROM NR-RRC-Definitions;
+
+SL-AccessInfo-L2U2N-r17 ::= SEQUENCE {
+ cellAccessRelatedInfo-r17 CellAccessRelatedInfo,
+ sl-ServingCellInfo-r17 SL-ServingCellInfo-r17,
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/nr-rrc/NR-Sidelink-Preconf.asn b/epan/dissectors/asn1/nr-rrc/NR-Sidelink-Preconf.asn
new file mode 100644
index 00000000..492349d3
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/NR-Sidelink-Preconf.asn
@@ -0,0 +1,79 @@
+-- 3GPP TS 38.331 V17.5.0 (2023-06)
+
+NR-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ SL-RemoteUE-Config-r17,
+ SL-DRX-ConfigGC-BC-r17,
+ SL-FreqConfigCommon-r16,
+ SL-RadioBearerConfig-r16,
+ SL-RLC-BearerConfig-r16,
+ SL-EUTRA-AnchorCarrierFreqList-r16,
+ SL-NR-AnchorCarrierFreqList-r16,
+ SL-MeasConfigCommon-r16,
+ SL-UE-SelectedConfig-r16,
+ TDD-UL-DL-ConfigCommon,
+ maxNrofFreqSL-r16,
+ maxNrofSLRB-r16,
+ maxSL-LCID-r16
+FROM NR-RRC-Definitions;
+
+-- TAG-NR-SIDELINK-PRECONF-DEFINITIONS-STOP
+-- TAG-SL-PRECONFIGURATIONNR-START
+
+SL-PreconfigurationNR-r16 ::= SEQUENCE {
+ sidelinkPreconfigNR-r16 SidelinkPreconfigNR-r16,
+ ...
+}
+
+SidelinkPreconfigNR-r16 ::= SEQUENCE {
+ sl-PreconfigFreqInfoList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-FreqConfigCommon-r16 OPTIONAL,
+ sl-PreconfigNR-AnchorCarrierFreqList-r16 SL-NR-AnchorCarrierFreqList-r16 OPTIONAL,
+ sl-PreconfigEUTRA-AnchorCarrierFreqList-r16 SL-EUTRA-AnchorCarrierFreqList-r16 OPTIONAL,
+ sl-RadioBearerPreConfigList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-RadioBearerConfig-r16 OPTIONAL,
+ sl-RLC-BearerPreConfigList-r16 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfig-r16 OPTIONAL,
+ sl-MeasPreConfig-r16 SL-MeasConfigCommon-r16 OPTIONAL,
+ sl-OffsetDFN-r16 INTEGER (1..1000) OPTIONAL,
+ t400-r16 ENUMERATED{ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL,
+ sl-MaxNumConsecutiveDTX-r16 ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32} OPTIONAL,
+ sl-SSB-PriorityNR-r16 INTEGER (1..8) OPTIONAL,
+ sl-PreconfigGeneral-r16 SL-PreconfigGeneral-r16 OPTIONAL,
+ sl-UE-SelectedPreConfig-r16 SL-UE-SelectedConfig-r16 OPTIONAL,
+ sl-CSI-Acquisition-r16 ENUMERATED {enabled} OPTIONAL,
+ sl-RoHC-Profiles-r16 SL-RoHC-Profiles-r16 OPTIONAL,
+ sl-MaxCID-r16 INTEGER (1..16383) DEFAULT 15,
+ ...,
+ [[
+ sl-DRX-PreConfigGC-BC-r17 SL-DRX-ConfigGC-BC-r17 OPTIONAL,
+ sl-TxProfileList-r17 SL-TxProfileList-r17 OPTIONAL,
+ sl-PreconfigDiscConfig-r17 SL-RemoteUE-Config-r17 OPTIONAL
+ ]]
+}
+
+SL-TxProfileList-r17 ::= SEQUENCE (SIZE (1..256)) OF SL-TxProfile-r17
+
+SL-TxProfile-r17 ::= ENUMERATED {drx-Compatible, drx-Incompatible, spare6, spare5, spare4, spare3,spare2, spare1}
+
+SL-PreconfigGeneral-r16 ::= SEQUENCE {
+ sl-TDD-Configuration-r16 TDD-UL-DL-ConfigCommon OPTIONAL,
+ reservedBits-r16 BIT STRING (SIZE (2)) OPTIONAL,
+ ...
+}
+
+SL-RoHC-Profiles-r16 ::= SEQUENCE {
+ profile0x0001-r16 BOOLEAN,
+ profile0x0002-r16 BOOLEAN,
+ profile0x0003-r16 BOOLEAN,
+ profile0x0004-r16 BOOLEAN,
+ profile0x0006-r16 BOOLEAN,
+ profile0x0101-r16 BOOLEAN,
+ profile0x0102-r16 BOOLEAN,
+ profile0x0103-r16 BOOLEAN,
+ profile0x0104-r16 BOOLEAN
+}
+
+-- TAG-SL-PRECONFIGURATIONNR-STOP
+
+END
diff --git a/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn
new file mode 100644
index 00000000..2a273755
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn
@@ -0,0 +1,277 @@
+-- 3GPP TS 38.331 V17.5.0 (2023-06)
+
+NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ AreaConfiguration-v1700,
+ ARFCN-ValueNR,
+ CellIdentity,
+ EUTRA-PhysCellId,
+ maxCEFReport-r17,
+ MeasId,
+ MeasIdToAddModList,
+ MeasIdleCarrierEUTRA-r16,
+ MeasIdleCarrierNR-r16,
+ MeasResultIdleEUTRA-r16,
+ MeasResultIdleNR-r16,
+ MeasObjectToAddModList,
+ PhysCellId,
+ RNTI-Value,
+ ReportConfigToAddModList,
+ RSRP-Range,
+ SL-MeasId-r16,
+ SL-MeasIdList-r16,
+ SL-MeasObjectList-r16,
+ SL-ReportConfigList-r16,
+ SL-QuantityConfig-r16,
+ Tx-PoolMeasList-r16,
+ QuantityConfig,
+ maxNrofCellMeas,
+ maxNrofMeasId,
+ maxFreqIdle-r16,
+ PhysCellIdUTRA-FDD-r16,
+ ValidityAreaList-r16,
+ CondReconfigToAddModList-r16,
+ ConnEstFailReport-r16,
+ LoggingDuration-r16,
+ LoggingInterval-r16,
+ LogMeasInfoList-r16,
+ LogMeasInfo-r16,
+ RA-Report-r16,
+ RLF-Report-r16,
+ TraceReference-r16,
+ WLAN-Identifiers-r16,
+ WLAN-NameList-r16,
+ BT-NameList-r16,
+ PLMN-Identity,
+ maxNrofRelayMeas-r17,
+ maxPLMN,
+ RA-ReportList-r16,
+ VisitedCellInfoList-r16,
+ AbsoluteTimeInfo-r16,
+ LoggedEventTriggerConfig-r16,
+ LoggedPeriodicalReportConfig-r16,
+ Sensor-NameList-r16,
+ SL-SourceIdentity-r17,
+ SuccessHO-Report-r17,
+ PLMN-IdentityList2-r16,
+ AreaConfiguration-r16,
+ maxNrofSL-MeasId-r16,
+ maxNrofFreqSL-r16,
+ maxNrofCLI-RSSI-Resources-r16,
+ maxNrofCLI-SRS-Resources-r16,
+ RSSI-ResourceId-r16,
+ SRS-ResourceId,
+ VisitedPSCellInfoList-r17
+FROM NR-RRC-Definitions;
+
+-- NR-UE-VARIABLES-STOP
+-- TAG-VARCONDITIONALRECONFIG-START
+
+VarConditionalReconfig ::= SEQUENCE {
+ condReconfigList CondReconfigToAddModList-r16 OPTIONAL
+}
+
+-- TAG-VARCONDITIONALRECONFIG-STOP
+-- TAG-VARCONNESTFAILREPORT-START
+
+VarConnEstFailReport-r16 ::= SEQUENCE {
+ connEstFailReport-r16 ConnEstFailReport-r16,
+ plmn-Identity-r16 PLMN-Identity
+}
+
+-- TAG-VARCONNESTFAILREPORT-STOP
+-- TAG-VARCONNESTFAILREPORTLIST-START
+
+VarConnEstFailReportList-r17 ::= SEQUENCE {
+ connEstFailReportList-r17 SEQUENCE (SIZE (1..maxCEFReport-r17)) OF VarConnEstFailReport-r16
+}
+
+-- TAG-VARCONNESTFAILREPORTLIST-STOP
+-- TAG-VARLOGMEASCONFIG-START
+
+VarLogMeasConfig-r16-IEs ::= SEQUENCE {
+ areaConfiguration-r16 AreaConfiguration-r16 OPTIONAL,
+ bt-NameList-r16 BT-NameList-r16 OPTIONAL,
+ wlan-NameList-r16 WLAN-NameList-r16 OPTIONAL,
+ sensor-NameList-r16 Sensor-NameList-r16 OPTIONAL,
+ loggingDuration-r16 LoggingDuration-r16,
+ reportType CHOICE {
+ periodical LoggedPeriodicalReportConfig-r16,
+ eventTriggered LoggedEventTriggerConfig-r16
+ },
+ earlyMeasIndication-r17 ENUMERATED {true} OPTIONAL,
+ areaConfiguration-v1700 AreaConfiguration-v1700 OPTIONAL
+}
+-- TAG-VARLOGMEASCONFIG-STOP
+-- TAG-VARLOGMEASREPORT-START
+
+VarLogMeasReport-r16 ::= SEQUENCE {
+ absoluteTimeInfo-r16 AbsoluteTimeInfo-r16,
+ traceReference-r16 TraceReference-r16,
+ traceRecordingSessionRef-r16 OCTET STRING (SIZE (2)),
+ tce-Id-r16 OCTET STRING (SIZE (1)),
+ logMeasInfoList-r16 LogMeasInfoList-r16,
+ plmn-IdentityList-r16 PLMN-IdentityList2-r16,
+ sigLoggedMeasType-r17 ENUMERATED {true}
+}
+
+-- TAG-VARLOGMEASREPORT-STOP
+-- TAG-VARMEASCONFIG-START
+
+VarMeasConfig ::= SEQUENCE {
+ -- Measurement identities
+ measIdList MeasIdToAddModList OPTIONAL,
+ -- Measurement objects
+ measObjectList MeasObjectToAddModList OPTIONAL,
+ -- Reporting configurations
+ reportConfigList ReportConfigToAddModList OPTIONAL,
+ -- Other parameters
+ quantityConfig QuantityConfig OPTIONAL,
+ s-MeasureConfig CHOICE {
+ ssb-RSRP RSRP-Range,
+ csi-RSRP RSRP-Range
+ } OPTIONAL
+}
+
+-- TAG-VARMEASCONFIG-STOP
+-- TAG-VARMEASCONFIGSL-START
+
+VarMeasConfigSL-r16 ::= SEQUENCE {
+ -- NR sidelink measurement identities
+ sl-MeasIdList-r16 SL-MeasIdList-r16 OPTIONAL,
+ -- NR sidelink measurement objects
+ sl-MeasObjectList-r16 SL-MeasObjectList-r16 OPTIONAL,
+ -- NR sidelink reporting configurations
+ sl-reportConfigList-r16 SL-ReportConfigList-r16 OPTIONAL,
+ -- Other parameters
+ sl-QuantityConfig-r16 SL-QuantityConfig-r16 OPTIONAL
+}
+
+-- TAG-VARMEASCONFIGSL-STOP
+-- TAG-VARMEASIDLECONFIG-START
+
+VarMeasIdleConfig-r16 ::= SEQUENCE {
+ measIdleCarrierListNR-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierNR-r16 OPTIONAL,
+ measIdleCarrierListEUTRA-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierEUTRA-r16 OPTIONAL,
+ measIdleDuration-r16 ENUMERATED {sec10, sec30, sec60, sec120, sec180, sec240, sec300, spare},
+ validityAreaList-r16 ValidityAreaList-r16 OPTIONAL
+}
+
+-- TAG-VARMEASIDLECONFIG-STOP
+-- TAG-VARMEASIDLEREPORT-START
+
+VarMeasIdleReport-r16 ::= SEQUENCE {
+ measReportIdleNR-r16 MeasResultIdleNR-r16 OPTIONAL,
+ measReportIdleEUTRA-r16 MeasResultIdleEUTRA-r16 OPTIONAL
+}
+
+-- TAG-VARMEASIDLEREPORT-STOP
+-- TAG-VARMEASREPORTLIST-START
+
+VarMeasReportList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF VarMeasReport
+
+VarMeasReport ::= SEQUENCE {
+ -- List of measurement that have been triggered
+ measId MeasId,
+ cellsTriggeredList CellsTriggeredList OPTIONAL,
+ numberOfReportsSent INTEGER,
+ cli-TriggeredList-r16 CLI-TriggeredList-r16 OPTIONAL,
+ tx-PoolMeasToAddModListNR-r16 Tx-PoolMeasList-r16 OPTIONAL,
+ relaysTriggeredList-r17 RelaysTriggeredList-r17 OPTIONAL
+}
+
+CellsTriggeredList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CHOICE {
+ physCellId PhysCellId,
+ physCellIdEUTRA EUTRA-PhysCellId,
+ physCellIdUTRA-FDD-r16 PhysCellIdUTRA-FDD-r16
+ }
+
+CLI-TriggeredList-r16 ::= CHOICE {
+ srs-RSRP-TriggeredList-r16 SRS-RSRP-TriggeredList-r16,
+ cli-RSSI-TriggeredList-r16 CLI-RSSI-TriggeredList-r16
+ }
+
+SRS-RSRP-TriggeredList-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-SRS-Resources-r16)) OF SRS-ResourceId
+
+CLI-RSSI-TriggeredList-r16 ::= SEQUENCE (SIZE (1.. maxNrofCLI-RSSI-Resources-r16)) OF RSSI-ResourceId-r16
+
+RelaysTriggeredList-r17 ::= SEQUENCE (SIZE (1.. maxNrofRelayMeas-r17)) OF SL-SourceIdentity-r17
+
+-- TAG-VARMEASREPORTLIST-STOP
+-- TAG-VARMEASREPORTLISTSL-START
+
+VarMeasReportListSL-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-MeasId-r16)) OF VarMeasReportSL-r16
+
+VarMeasReportSL-r16 ::= SEQUENCE {
+ -- List of NR sidelink measurement that have been triggered
+ sl-MeasId-r16 SL-MeasId-r16,
+ sl-FrequencyTriggeredList-r16 SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF ARFCN-ValueNR OPTIONAL,
+ sl-NumberOfReportsSent-r16 INTEGER
+}
+
+-- TAG-VARMEASREPORTLISTSL-STOP
+-- TAG-VARMOBILITYHISTORYREPORT-START
+
+VarMobilityHistoryReport-r16 ::= VisitedCellInfoList-r16
+
+VarMobilityHistoryReport-r17 ::= SEQUENCE {
+ visitedCellInfoList-r16 VisitedCellInfoList-r16,
+ visitedPSCellInfoListReport-r17 VisitedPSCellInfoList-r17 OPTIONAL
+}
+
+-- TAG-VARMOBILITYHISTORYREPORT-STOP
+-- TAG-VARPENDINGRNA-UPDATE-START
+
+VarPendingRNA-Update ::= SEQUENCE {
+ pendingRNA-Update BOOLEAN OPTIONAL
+}
+
+-- TAG-VARPENDINGRNA-UPDATE-STOP
+-- TAG-VARRA-REPORT-START
+
+VarRA-Report-r16 ::= SEQUENCE {
+ ra-ReportList-r16 RA-ReportList-r16,
+ plmn-IdentityList-r16 PLMN-IdentityList-r16
+}
+
+PLMN-IdentityList-r16 ::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity
+
+-- TAG-VARRA-REPORT-STOP
+-- TAG-VARRESUMEMAC-INPUT-START
+
+VarResumeMAC-Input ::= SEQUENCE {
+ sourcePhysCellId PhysCellId,
+ targetCellIdentity CellIdentity,
+ source-c-RNTI RNTI-Value
+}
+
+-- TAG-VARRESUMEMAC-INPUT-STOP
+-- TAG-VARRLF-REPORT-START
+
+VarRLF-Report-r16 ::= SEQUENCE {
+ rlf-Report-r16 RLF-Report-r16,
+ plmn-IdentityList-r16 PLMN-IdentityList2-r16
+}
+
+-- TAG-VARRLF-REPORT-STOP
+-- TAG-VARSHORTMAC-INPUT-START
+
+VarShortMAC-Input ::= SEQUENCE {
+ sourcePhysCellId PhysCellId,
+ targetCellIdentity CellIdentity,
+ source-c-RNTI RNTI-Value
+}
+
+-- TAG-VARSHORTMAC-INPUT-STOP
+-- TAG-VARSUCCESSHO-Report-START
+
+VarSuccessHO-Report-r17-IEs ::= SEQUENCE {
+ successHO-Report-r17 SuccessHO-Report-r17,
+ plmn-IdentityList-r17 PLMN-IdentityList2-r16
+}
+-- TAG-VARSUCCESSHO-Report-STOP
+
+END
diff --git a/epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn b/epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn
new file mode 100644
index 00000000..cd5ec756
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn
@@ -0,0 +1,483 @@
+-- 3GPP TS 38.331 V17.5.0 (2023-06)
+
+PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ CellAccessRelatedInfo,
+ SetupRelease,
+ RRC-TransactionIdentifier,
+ SN-FieldLengthAM,
+ SN-FieldLengthUM,
+ LogicalChannelIdentity,
+ maxNrofSLRB-r16,
+ maxNrofSL-RxInfoSet-r17,
+ maxNrofSL-QFIs-r16,
+ maxNrofSL-QFIsPerDest-r16,
+ PagingCycle,
+ PagingRecord,
+ RSRP-Range,
+ SL-MeasConfig-r16,
+ SL-MeasId-r16,
+ FreqBandList,
+ FreqBandIndicatorNR,
+ maxNrofRelayMeas-r17,
+ maxSimultaneousBands,
+ maxBandComb,
+ maxBands,
+ maxSIB-MessagePlus1-r17,
+ maxSL-LCID-r16,
+ BandParametersSidelink-r16,
+ RLC-ParametersSidelink-r16,
+ SIB1,
+ SL-DRX-ConfigUC-r17,
+ SL-DRX-ConfigUC-SemiStatic-r17,
+ SL-PagingIdentityRemoteUE-r17,
+ SL-RLC-ChannelID-r17,
+ SL-SourceIdentity-r17,
+ SystemInformation
+FROM NR-RRC-Definitions;
+
+-- TAG-PC5-RRC-DEFINITIONS-STOP
+-- TAG-SBCCH-SL-BCH-MESSAGE-START
+
+SBCCH-SL-BCH-Message ::= SEQUENCE {
+ message SBCCH-SL-BCH-MessageType
+}
+
+SBCCH-SL-BCH-MessageType::= CHOICE {
+ c1 CHOICE {
+ masterInformationBlockSidelink MasterInformationBlockSidelink,
+ spare1 NULL
+ },
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-SBCCH-SL-BCH-MESSAGE-STOP
+-- TAG-SCCH-MESSAGE-START
+
+SCCH-Message ::= SEQUENCE {
+ message SCCH-MessageType
+}
+
+SCCH-MessageType ::= CHOICE {
+ c1 CHOICE {
+ measurementReportSidelink MeasurementReportSidelink,
+ rrcReconfigurationSidelink RRCReconfigurationSidelink,
+ rrcReconfigurationCompleteSidelink RRCReconfigurationCompleteSidelink,
+ rrcReconfigurationFailureSidelink RRCReconfigurationFailureSidelink,
+ ueCapabilityEnquirySidelink UECapabilityEnquirySidelink,
+ ueCapabilityInformationSidelink UECapabilityInformationSidelink,
+ uuMessageTransferSidelink-r17 UuMessageTransferSidelink-r17,
+ remoteUEInformationSidelink-r17 RemoteUEInformationSidelink-r17
+ },
+ messageClassExtension CHOICE {
+ c2 CHOICE {
+ notificationMessageSidelink-r17 NotificationMessageSidelink-r17,
+ ueAssistanceInformationSidelink-r17 UEAssistanceInformationSidelink-r17,
+ spare6 NULL, spare5 NULL, spare4 NULL, spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ messageClassExtensionFuture-r17 SEQUENCE {}
+ }
+}
+
+-- TAG-SCCH-MESSAGE-STOP
+-- TAG-MASTERINFORMATIONBLOCKSIDELINK-START
+
+MasterInformationBlockSidelink ::= SEQUENCE {
+ sl-TDD-Config-r16 BIT STRING (SIZE (12)),
+ inCoverage-r16 BOOLEAN,
+ directFrameNumber-r16 BIT STRING (SIZE (10)),
+ slotIndex-r16 BIT STRING (SIZE (7)),
+ reservedBits-r16 BIT STRING (SIZE (2))
+}
+
+-- TAG-MASTERINFORMATIONBLOCKSIDELINK-STOP
+-- TAG-MEASUREMENTREPORTSIDELINK-START
+
+MeasurementReportSidelink ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ measurementReportSidelink-r16 MeasurementReportSidelink-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MeasurementReportSidelink-r16-IEs ::= SEQUENCE {
+ sl-measResults-r16 SL-MeasResults-r16,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+SL-MeasResults-r16 ::= SEQUENCE {
+ sl-MeasId-r16 SL-MeasId-r16,
+ sl-MeasResult-r16 SL-MeasResult-r16,
+ ...
+}
+
+SL-MeasResult-r16 ::= SEQUENCE {
+ sl-ResultDMRS-r16 SL-MeasQuantityResult-r16 OPTIONAL,
+ ...
+}
+
+SL-MeasQuantityResult-r16 ::= SEQUENCE {
+ sl-RSRP-r16 RSRP-Range OPTIONAL,
+ ...
+}
+
+SL-MeasResultListRelay-r17 ::= SEQUENCE (SIZE (1..maxNrofRelayMeas-r17)) OF SL-MeasResultRelay-r17
+
+SL-MeasResultRelay-r17 ::= SEQUENCE {
+ cellIdentity-r17 CellAccessRelatedInfo,
+ sl-RelayUE-Identity-r17 SL-SourceIdentity-r17,
+ sl-MeasResult-r17 SL-MeasResult-r16,
+ ...
+}
+
+-- TAG-MEASUREMENTREPORTSIDELINK-STOP
+-- TAG-NOTIFICATIONMESSAGESIDELINK-START
+
+NotificationMessageSidelink-r17 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ notificationMessageSidelink-r17 NotificationMessageSidelink-r17-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+NotificationMessageSidelink-r17-IEs ::= SEQUENCE {
+ indicationType-r17 ENUMERATED {
+ relayUE-Uu-RLF, relayUE-HO, relayUE-CellReselection,
+ relayUE-Uu-RRC-Failure
+ } OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-NOTIFICATIONMESSAGESIDELINK -STOP
+-- TAG-REMOTEUEINFORMATIONSIDELINK-START
+
+RemoteUEInformationSidelink-r17 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ remoteUEInformationSidelink-r17 RemoteUEInformationSidelink-r17-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RemoteUEInformationSidelink-r17-IEs ::= SEQUENCE {
+ sl-RequestedSIB-List-r17 CHOICE {release NULL, setup SL-RequestedSIB-List-r17} OPTIONAL, -- Need M
+ sl-PagingInfo-RemoteUE-r17 CHOICE {release NULL, setup SL-PagingInfo-RemoteUE-r17} OPTIONAL, -- Need M
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+SL-RequestedSIB-List-r17 ::= SEQUENCE (SIZE (maxSIB-MessagePlus1-r17)) OF SL-SIB-ReqInfo-r17
+
+SL-PagingInfo-RemoteUE-r17 ::= SEQUENCE {
+ sl-PagingIdentityRemoteUE-r17 SL-PagingIdentityRemoteUE-r17,
+ sl-PagingCycleRemoteUE-r17 PagingCycle OPTIONAL -- Need M
+}
+
+SL-SIB-ReqInfo-r17 ::= ENUMERATED { sib1, sib2, sib3, sib4, sib5, sib6, sib7, sib8, sib9, sib10, sib11, sib12, sib13,
+ sib14, sib15, sib16, sib17, sib18, sib19, sib20, sib21, sibNotReq11, sibNotReq10, sibNotReq9,
+ sibNotReq8, sibNotReq7, sibNotReq6, sibNotReq5, sibNotReq4, sibNotReq3, sibNotReq2, sibNotReq1, ... }
+
+-- TAG-REMOTEUEINFORMATIONSIDELINK-STOP
+-- TAG-RRCRECONFIGURATIONSIDELINK-START
+
+RRCReconfigurationSidelink ::= SEQUENCE {
+ rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReconfigurationSidelink-r16 RRCReconfigurationSidelink-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReconfigurationSidelink-r16-IEs ::= SEQUENCE {
+ slrb-ConfigToAddModList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-Config-r16 OPTIONAL, -- Need N
+ slrb-ConfigToReleaseList-r16 SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-PC5-ConfigIndex-r16 OPTIONAL, -- Need N
+ sl-MeasConfig-r16 CHOICE {release NULL, setup SL-MeasConfig-r16} OPTIONAL, -- Need M
+ sl-CSI-RS-Config-r16 CHOICE {release NULL, setup SL-CSI-RS-Config-r16} OPTIONAL, -- Need M
+ sl-ResetConfig-r16 ENUMERATED {true} OPTIONAL, -- Need N
+ sl-LatencyBoundCSI-Report-r16 INTEGER (3..160) OPTIONAL, -- Need M
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCReconfigurationSidelink-v1700-IEs OPTIONAL
+}
+
+RRCReconfigurationSidelink-v1700-IEs ::= SEQUENCE {
+ sl-DRX-ConfigUC-PC5-r17 CHOICE {release NULL, setup SL-DRX-ConfigUC-r17 } OPTIONAL, -- Need M
+ sl-LatencyBoundIUC-Report-r17 CHOICE {release NULL, setup SL-LatencyBoundIUC-Report-r17 } OPTIONAL, -- Need M
+ sl-RLC-ChannelToReleaseListPC5-r17 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelID-r17 OPTIONAL, -- Need N
+ sl-RLC-ChannelToAddModListPC5-r17 SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelConfigPC5-r17 OPTIONAL, -- Need N
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+SL-LatencyBoundIUC-Report-r17::= INTEGER (3..160)
+
+SLRB-Config-r16::= SEQUENCE {
+ slrb-PC5-ConfigIndex-r16 SLRB-PC5-ConfigIndex-r16,
+ sl-SDAP-ConfigPC5-r16 SL-SDAP-ConfigPC5-r16 OPTIONAL, -- Need M
+ sl-PDCP-ConfigPC5-r16 SL-PDCP-ConfigPC5-r16 OPTIONAL, -- Need M
+ sl-RLC-ConfigPC5-r16 SL-RLC-ConfigPC5-r16 OPTIONAL, -- Need M
+ sl-MAC-LogicalChannelConfigPC5-r16 SL-LogicalChannelConfigPC5-r16 OPTIONAL, -- Need M
+ ...
+}
+
+SLRB-PC5-ConfigIndex-r16 ::= INTEGER (1..maxNrofSLRB-r16)
+
+SL-SDAP-ConfigPC5-r16 ::= SEQUENCE {
+ sl-MappedQoS-FlowsToAddList-r16 SEQUENCE (SIZE (1.. maxNrofSL-QFIsPerDest-r16)) OF SL-PQFI-r16 OPTIONAL, -- Need N
+ sl-MappedQoS-FlowsToReleaseList-r16 SEQUENCE (SIZE (1.. maxNrofSL-QFIsPerDest-r16)) OF SL-PQFI-r16 OPTIONAL, -- Need N
+ sl-SDAP-Header-r16 ENUMERATED {present, absent},
+ ...
+}
+
+SL-PDCP-ConfigPC5-r16 ::= SEQUENCE {
+ sl-PDCP-SN-Size-r16 ENUMERATED {len12bits, len18bits} OPTIONAL, -- Need M
+ sl-OutOfOrderDelivery-r16 ENUMERATED { true } OPTIONAL, -- Need R
+ ...
+}
+
+SL-RLC-ConfigPC5-r16 ::= CHOICE {
+ sl-AM-RLC-r16 SEQUENCE {
+ sl-SN-FieldLengthAM-r16 SN-FieldLengthAM OPTIONAL, -- Need M
+ ...
+ },
+ sl-UM-Bi-Directional-RLC-r16 SEQUENCE {
+ sl-SN-FieldLengthUM-r16 SN-FieldLengthUM OPTIONAL, -- Need M
+ ...
+ },
+ sl-UM-Uni-Directional-RLC-r16 SEQUENCE {
+ sl-SN-FieldLengthUM-r16 SN-FieldLengthUM OPTIONAL, -- Need M
+ ...
+ }
+}
+
+SL-LogicalChannelConfigPC5-r16 ::= SEQUENCE {
+ sl-LogicalChannelIdentity-r16 LogicalChannelIdentity,
+ ...
+}
+
+SL-PQFI-r16 ::= INTEGER (1..64)
+
+SL-CSI-RS-Config-r16 ::= SEQUENCE {
+ sl-CSI-RS-FreqAllocation-r16 CHOICE {
+ sl-OneAntennaPort-r16 BIT STRING (SIZE (12)),
+ sl-TwoAntennaPort-r16 BIT STRING (SIZE (6))
+ } OPTIONAL, -- Need M
+ sl-CSI-RS-FirstSymbol-r16 INTEGER (3..12) OPTIONAL, -- Need M
+ ...
+}
+
+SL-RLC-ChannelConfigPC5-r17::= SEQUENCE {
+ sl-RLC-ChannelID-PC5-r17 SL-RLC-ChannelID-r17,
+ sl-RLC-ConfigPC5-r17 SL-RLC-ConfigPC5-r16 OPTIONAL, -- Need M
+ sl-MAC-LogicalChannelConfigPC5-r17 SL-LogicalChannelConfigPC5-r16 OPTIONAL, -- Need M
+ ...
+}
+
+-- TAG-RRCRECONFIGURATIONSIDELINK-STOP
+-- TAG-RRCRECONFIGURATIONCOMPLETESIDELINK-START
+
+RRCReconfigurationCompleteSidelink ::= SEQUENCE {
+ rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReconfigurationCompleteSidelink-r16 RRCReconfigurationCompleteSidelink-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReconfigurationCompleteSidelink-r16-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension RRCReconfigurationCompleteSidelink-v1710-IEs OPTIONAL
+}
+
+RRCReconfigurationCompleteSidelink-v1710-IEs ::= SEQUENCE {
+ dummy ENUMERATED {true},
+ nonCriticalExtension RRCReconfigurationCompleteSidelink-v1720-IEs OPTIONAL
+}
+
+
+RRCReconfigurationCompleteSidelink-v1720-IEs ::= SEQUENCE {
+ sl-DRX-ConfigReject-v1720 ENUMERATED {true} OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCRECONFIGURATIONCOMPLETESIDELINK-STOP
+-- TAG-RRCRECONFIGURATIONFAILURESIDELINK-START
+
+RRCReconfigurationFailureSidelink ::= SEQUENCE {
+ rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReconfigurationFailureSidelink-r16 RRCReconfigurationFailureSidelink-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReconfigurationFailureSidelink-r16-IEs ::= SEQUENCE {
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-RRCRECONFIGURATIONFAILURESIDELINK-STOP
+-- TAG-UEASSISTANCEINFORMATIONSIDELINK-START
+
+UEAssistanceInformationSidelink-r17 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ ueAssistanceInformationSidelink-r17 UEAssistanceInformationSidelink-r17-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UEAssistanceInformationSidelink-r17-IEs ::= SEQUENCE {
+ sl-PreferredDRX-ConfigList-r17 SEQUENCE (SIZE (1..maxNrofSL-RxInfoSet-r17)) OF SL-DRX-ConfigUC-SemiStatic-r17
+ OPTIONAL, -- Need R
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-UEASSISTANCEINFORMATIONSIDELINK-STOP
+-- TAG-UECAPABILITYENQUIRYSIDELINK-START
+
+UECapabilityEnquirySidelink ::= SEQUENCE {
+ rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueCapabilityEnquirySidelink-r16 UECapabilityEnquirySidelink-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityEnquirySidelink-r16-IEs ::= SEQUENCE {
+ frequencyBandListFilterSidelink-r16 FreqBandList OPTIONAL, -- Need N
+ ue-CapabilityInformationSidelink-r16 OCTET STRING OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-UECAPABILITYENQUIRYSIDELINK-STOP
+-- TAG-UECAPABILITYINFORMATIONSIDELINK-START
+
+UECapabilityInformationSidelink ::= SEQUENCE {
+ rrc-TransactionIdentifier-r16 RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ ueCapabilityInformationSidelink-r16 UECapabilityInformationSidelink-r16-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UECapabilityInformationSidelink-r16-IEs ::= SEQUENCE {
+ accessStratumReleaseSidelink-r16 AccessStratumReleaseSidelink-r16,
+ pdcp-ParametersSidelink-r16 PDCP-ParametersSidelink-r16 OPTIONAL,
+ rlc-ParametersSidelink-r16 RLC-ParametersSidelink-r16 OPTIONAL,
+ supportedBandCombinationListSidelinkNR-r16 BandCombinationListSidelinkNR-r16 OPTIONAL,
+ supportedBandListSidelink-r16 SEQUENCE (SIZE (1..maxBands)) OF BandSidelinkPC5-r16 OPTIONAL,
+ appliedFreqBandListFilter-r16 FreqBandList OPTIONAL,
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension UECapabilityInformationSidelink-v1700-IEs OPTIONAL
+}
+
+UECapabilityInformationSidelink-v1700-IEs ::= SEQUENCE {
+ mac-ParametersSidelink-r17 MAC-ParametersSidelink-r17 OPTIONAL,
+ supportedBandCombinationListSidelinkNR-v1710 BandCombinationListSidelinkNR-v1710 OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+MAC-ParametersSidelink-r17 ::= SEQUENCE {
+ drx-OnSidelink-r17 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+AccessStratumReleaseSidelink-r16 ::= ENUMERATED { rel16, rel17, spare6, spare5, spare4, spare3, spare2, spare1, ... }
+
+PDCP-ParametersSidelink-r16 ::= SEQUENCE {
+ outOfOrderDeliverySidelink-r16 ENUMERATED {supported} OPTIONAL,
+ ...
+}
+
+BandCombinationListSidelinkNR-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkNR-r16
+
+BandCombinationListSidelinkNR-v1710 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkNR-v1710
+
+BandCombinationParametersSidelinkNR-r16 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelink-r16
+
+BandCombinationParametersSidelinkNR-v1710 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelink-v1710
+
+BandParametersSidelink-v1710 ::= SEQUENCE {
+ --32-5a-1
+ tx-IUC-Scheme1-Mode2Sidelink-r17 ENUMERATED {supported} OPTIONAL,
+ --32-5b-1
+ tx-IUC-Scheme2-Mode2Sidelink-r17 ENUMERATED {n4, n8, n16} OPTIONAL
+}
+
+BandSidelinkPC5-r16 ::= SEQUENCE {
+ freqBandSidelink-r16 FreqBandIndicatorNR,
+ --15-1
+ sl-Reception-r16 SEQUENCE {
+ harq-RxProcessSidelink-r16 ENUMERATED {n16, n24, n32, n64},
+ pscch-RxSidelink-r16 ENUMERATED {value1, value2},
+ scs-CP-PatternRxSidelink-r16 CHOICE {
+ fr1-r16 SEQUENCE {
+ scs-15kHz-r16 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-30kHz-r16 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-60kHz-r16 BIT STRING (SIZE (16)) OPTIONAL
+ },
+ fr2-r16 SEQUENCE {
+ scs-60kHz-r16 BIT STRING (SIZE (16)) OPTIONAL,
+ scs-120kHz-r16 BIT STRING (SIZE (16)) OPTIONAL
+ }
+ } OPTIONAL,
+ extendedCP-RxSidelink-r16 ENUMERATED {supported} OPTIONAL
+ } OPTIONAL,
+ --15-10
+ sl-Tx-256QAM-r16 ENUMERATED {supported} OPTIONAL,
+ --15-12
+ lowSE-64QAM-MCS-TableSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ ...,
+ [[
+ --15-14
+ csi-ReportSidelink-r16 SEQUENCE {
+ csi-RS-PortsSidelink-r16 ENUMERATED {p1, p2}
+ } OPTIONAL,
+ --15-19
+ rankTwoReception-r16 ENUMERATED {supported} OPTIONAL,
+ --15-23
+ sl-openLoopPC-RSRP-ReportSidelink-r16 ENUMERATED {supported} OPTIONAL,
+ --13-1
+ sl-Rx-256QAM-r16 ENUMERATED {supported} OPTIONAL
+ ]],
+ [[
+ --32-5a-2
+ rx-IUC-Scheme1-PreferredMode2Sidelink-r17 ENUMERATED {supported} OPTIONAL,
+ --32-5a-3
+ rx-IUC-Scheme1-NonPreferredMode2Sidelink-r17 ENUMERATED {supported} OPTIONAL,
+ --32-5b-2
+ rx-IUC-Scheme2-Mode2Sidelink-r17 ENUMERATED {n5, n15, n25, n32, n35, n45, n50, n64} OPTIONAL,
+ --32-6-1
+ rx-IUC-Scheme1-SCI-r17 ENUMERATED {supported} OPTIONAL,
+ --32-6-2
+ rx-IUC-Scheme1-SCI-ExplicitReq-r17 ENUMERATED {supported} OPTIONAL,
+ --32-7
+ scheme2-ConflictDeterminationRSRP-r17 ENUMERATED {supported} OPTIONAL
+ ]]
+}
+
+-- TAG-UECAPABILITYINFORMATIONSIDELINK-STOP
+-- TAG-UUMESSAGETRANSFERSIDELINK-START
+
+UuMessageTransferSidelink-r17 ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ uuMessageTransferSidelink-r17 UuMessageTransferSidelink-r17-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+UuMessageTransferSidelink-r17-IEs ::= SEQUENCE {
+ sl-PagingDelivery-r17 OCTET STRING (CONTAINING PagingRecord) OPTIONAL, -- Need N
+ sl-SIB1-Delivery-r17 OCTET STRING (CONTAINING SIB1) OPTIONAL, -- Need N
+ sl-SystemInformationDelivery-r17 OCTET STRING (CONTAINING SystemInformation) OPTIONAL, -- Need N
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+-- TAG-UUMESSAGETRANSFERSIDELINK-STOP
+
+END
diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
new file mode 100644
index 00000000..5df5e1d2
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
@@ -0,0 +1,2332 @@
+# nr-rrc.cnf
+# nr-rrc conformation file
+# Copyright 2018-2023 Pascal Quantin
+
+#.OPT
+PER
+UNALIGNED
+PROTO_ROOT_NAME proto_nr_rrc
+#.END
+
+#.USE_VALS_EXT
+BandSidelinkEUTRA-r16/gnb-ScheduledMode3SidelinkEUTRA-r16/gnb-ScheduledMode3DelaySidelinkEUTRA-r16
+CA-BandwidthClassNR
+ConfiguredGrantConfig/periodicity
+ConfiguredGrantConfig/eag_1/cg-minDFI-Delay-r16
+CSI-ReportConfig/reportFreqConfiguration/csi-ReportingBand
+DummyA/maxNumberPortsAcrossNZP-CSI-RS-PerCC
+DummyA/maxNumberSimultaneousCSI-RS-ActBWP-AllCC
+DummyA/totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC
+DelayBudgetReport/type1
+DRX-Config/drx-onDurationTimer/milliSeconds
+DRX-Config/drx-InactivityTimer
+DRX-Config/drx-RetransmissionTimerDL
+DRX-Config/drx-RetransmissionTimerUL
+DRX-Config/drx-LongCycleStartOffset
+DRX-Config/shortDRX/drx-ShortCycle
+DRX-ConfigSecondaryGroup-r16/drx-onDurationTimer-r16/milliSeconds
+DRX-ConfigSecondaryGroup-r16/drx-InactivityTimer-r16
+DRX-Info/drx-LongCycleStartOffset
+DRX-Info/shortDRX/drx-ShortCycle
+DRX-Info2/drx-onDurationTimer/milliSeconds
+DRX-Preference-r16/preferredDRX-InactivityTimer-r16
+DRX-Preference-r16/preferredDRX-LongCycle-r16
+DRX-Preference-r16/preferredDRX-ShortCycle-r16
+EUTRA-Q-OffsetRange
+PDCP-Config/t-Reordering
+PollByte
+PollPDU
+RangeToBestCell
+RRM-Config/ue-InactiveTime
+Q-OffsetRange
+ServingCellConfig/bwp-InactivityTimer
+SL-PDCP-Config-r16/sl-DiscardTimer-r16
+SL-RadioBearerConfig-r16/sl-TransRange-r16
+SL-TimeOffsetEUTRA-r16
+SL-ZoneConfigMCR-r16/sl-TransRange-r16
+SPS-Config/periodicity
+SRS-PeriodicityAndOffset
+SRS-PeriodicityAndOffset-r16
+SupportedBandUTRA-FDD-r16
+T-PollRetransmit
+T-Reassembly
+T-StatusProhibit
+UL-DataSplitThreshold
+UTRA-FDD-Q-OffsetRange-r16
+
+#.EXPORTS
+BandCombinationIndex_PDU
+BandCombinationInfoSN_PDU
+BandParametersSidelink-r16_PDU
+CellGroupConfig_PDU
+DRX-Config_PDU
+CG-Config_PDU
+CG-ConfigInfo_PDU
+CondReconfigExecCondSCG-r17_PDU
+ConfigRestrictInfoDAPS-r16_PDU
+ConfigRestrictInfoSCG_PDU
+FeatureSetEntryIndex_PDU
+FreqBandList_PDU
+HandoverCommand_PDU
+HandoverPreparationInformation_PDU
+LocationMeasurementInfo_PDU
+MBS-NeighbourCellList-r17_PDU
+MBSInterestIndication-r17_PDU
+MeasConfig_PDU
+MeasGapConfig_PDU
+MeasGapSharingConfig_PDU
+MeasObjectToAddMod_PDU
+MeasResultSCG-Failure_PDU
+MeasurementTimingConfiguration_PDU
+MIB_PDU
+MRB-PDCP-ConfigBroadcast-r17_PDU
+MUSIM-GapConfig-r17_PDU
+NeedForGapsInfoNR-r16_PDU
+NeedForGapNCSG-InfoEUTRA-r17_PDU
+NeedForGapNCSG-InfoNR-r17_PDU
+NonCellDefiningSSB-r17_PDU
+NZP-CSI-RS-Resource_PDU
+OverheatingAssistance_PDU
+OverheatingAssistance-r17_PDU
+P-Max_PDU
+PDCCH-ConfigSIB1_PDU
+PH-TypeListMCG_PDU
+PH-TypeListSCG_PDU
+PosMeasGapPreConfigToAddModList-r17_PDU
+PosMeasGapPreConfigToReleaseList-r17_PDU
+RA-ReportList-r16_PDU
+RACH-ConfigCommon_PDU
+RadioBearerConfig_PDU
+ReferenceTime-r16_PDU
+ReportConfigToAddMod_PDU
+RLC-BearerConfig_PDU
+RRCReconfiguration_PDU
+RRCReconfigurationComplete_PDU
+SchedulingRequestResourceConfig_PDU
+SDT-MAC-PHY-CG-Config-r17_PDU
+SIB1_PDU
+SIB2_PDU
+SIB3_PDU
+SIB4_PDU
+SIB5_PDU
+SIB6_PDU
+SIB7_PDU
+SIB8_PDU
+SIB9_PDU
+SIB10-r16_PDU
+SIB11-r16_PDU
+SIB12-r16_PDU
+SIB13-r16_PDU
+SIB14-r16_PDU
+SIB15-r17_PDU
+SIB16-r17_PDU
+SIB17-r17_PDU
+SIB18-r17_PDU
+SIB19-r17_PDU
+SIB20-r17_PDU
+SIB21-r17_PDU
+SidelinkParametersNR-r16_PDU
+SidelinkUEInformationNR-r16_PDU
+SL-ConfigDedicatedEUTRA-Info-r16_PDU
+SL-ConfigDedicatedNR-r16_PDU
+SL-PHY-MAC-RLC-Config-r16_PDU
+SL-RLC-ChannelToAddModList-r17_PDU
+SRS-PosRRC-InactiveConfig-r17_PDU
+SuccessHO-Report-r17_PDU
+TDD-UL-DL-ConfigCommon_PDU
+UE-CapabilityRAT-ContainerList_PDU
+UE-CapabilityRequestFilterCommon_PDU
+UE-CapabilityRequestFilterNR_PDU
+UE-MRDC-Capability_PDU
+UE-NR-Capability_PDU
+UEAssistanceInformation_PDU
+UERadioPagingInformation_PDU
+UL-DCCH-Message_PDU
+UL-GapFR2-Config-r17_PDU
+UplinkTxDirectCurrentList_PDU
+UplinkTxDirectCurrentTwoCarrierList-r16_PDU
+VisitedCellInfoList-r16_PDU
+
+#.PDU
+BandCombinationIndex
+BandCombinationInfoSN
+BandParametersSidelink-r16
+BCCH-BCH-Message @bcch.bch
+BCCH-DL-SCH-Message @bcch.dl.sch
+CellGroupConfig
+CondReconfigExecCondSCG-r17
+ConfigRestrictInfoDAPS-r16
+CG-Config
+CG-ConfigInfo
+ConfigRestrictInfoSCG
+DL-CCCH-Message @dl.ccch
+DL-DCCH-Message @dl.dcch
+DRX-Config
+FeatureSetEntryIndex
+FreqBandList
+HandoverCommand
+HandoverPreparationInformation
+LocationMeasurementInfo
+MBS-NeighbourCellList-r17
+MBSInterestIndication-r17
+MCCH-Message-r17 @mcch
+MeasConfig
+MeasGapConfig
+MeasGapSharingConfig
+MeasObjectToAddMod
+MeasResultSCG-Failure
+MeasurementTimingConfiguration
+MIB
+MRB-PDCP-ConfigBroadcast-r17
+MUSIM-GapConfig-r17
+NeedForGapsInfoNR-r16
+NeedForGapNCSG-InfoEUTRA-r17
+NeedForGapNCSG-InfoNR-r17
+NonCellDefiningSSB-r17
+NZP-CSI-RS-Resource
+OverheatingAssistance
+OverheatingAssistance-r17
+P-Max
+PCCH-Message @pcch
+PDCCH-ConfigSIB1
+PH-TypeListMCG
+PH-TypeListSCG
+PosMeasGapPreConfigToAddModList-r17
+PosMeasGapPreConfigToReleaseList-r17
+RA-ReportList-r16
+RACH-ConfigCommon
+RadioBearerConfig
+ReferenceTime-r16
+ReportConfigToAddMod
+RLC-BearerConfig
+RRCReconfiguration @rrc_reconf
+RRCReconfigurationComplete @rrc_reconf_compl
+SBCCH-SL-BCH-Message @sbcch.sl.bch
+SCCH-Message @scch
+SchedulingRequestResourceConfig
+SDT-MAC-PHY-CG-Config-r17
+SidelinkParametersNR-r16
+SidelinkUEInformationNR-r16
+SIB1
+SIB2
+SIB3
+SIB4
+SIB5
+SIB6
+SIB7
+SIB8
+SIB9
+SIB10-r16
+SIB11-r16
+SIB12-r16
+SIB13-r16
+SIB14-r16
+SIB15-r17
+SIB16-r17
+SIB17-r17
+SIB18-r17
+SIB19-r17
+SIB20-r17
+SIB21-r17
+SL-ConfigDedicatedEUTRA-Info-r16
+SL-ConfigDedicatedNR-r16
+SL-MeasResultListRelay-r17
+SL-MeasResultRelay-r17
+SL-PHY-MAC-RLC-Config-r16
+SL-RLC-ChannelToAddModList-r17
+SRS-PosRRC-InactiveConfig-r17
+SuccessHO-Report-r17
+TDD-UL-DL-ConfigCommon
+UE-CapabilityRAT-ContainerList
+UE-CapabilityRequestFilterCommon
+UE-CapabilityRequestFilterNR
+UE-MRDC-Capability @ue_mrdc_cap
+UE-NR-Capability @ue_nr_cap
+UEAssistanceInformation
+UECapabilityInformationSidelink
+UERadioAccessCapabilityInformation @ue_radio_access_cap_info
+UERadioPagingInformation @ue_radio_paging_info
+UL-CCCH-Message @ul.ccch
+UL-CCCH1-Message @ul.ccch1
+UL-DCCH-Message @ul.dcch
+UL-GapFR2-Config-r17
+UplinkTxDirectCurrentList
+UplinkTxDirectCurrentTwoCarrierList-r16
+VisitedCellInfoList-r16
+#.END
+
+#.OMIT_ASSIGNMENT
+CG-CandidateInfo-r17
+CG-CandidateInfoId-r17
+CG-CandidateList
+CG-CandidateList-r17-IEs
+SIB12-IEs-r16
+SIB17-IEs-r17
+SL-BWP-ConfigCommon-r16
+SL-BWP-DiscPoolConfigCommon-r17
+SL-BWP-PoolConfigCommon-r16
+SL-ConfigCommonNR-r16
+SL-DiscConfigCommon-r17
+SL-EUTRA-AnchorCarrierFreqList-r16
+SL-FreqConfigCommon-r16
+SL-MeasConfigCommon-r16
+SL-NR-AnchorCarrierFreqList-r16
+SL-ServingCellInfo-r17
+TRS-ResourceSet-r17
+UE-TimersAndConstantsRemoteUE-r17
+
+#.FIELD_RENAME
+RRM-Config/eag_1/candidateCellInfoListSN-EUTRA rRM-Config_eag_1_candidateCellInfoListSN-EUTRA
+CG-Config-v1560-IEs/candidateCellInfoListSN-EUTRA cG-Config-v1560-IEs_candidateCellInfoListSN-EUTRA
+CG-ConfigInfo-v1560-IEs/candidateCellInfoListSN-EUTRA cG-ConfigInfo-v1560-IEs_candidateCellInfoListSN-EUTRA
+CellAccessRelatedInfo-EUTRA-5GC/cellIdentity-eutra-5gc cellAccessRelatedInfo-EUTRA-5GC_cellIdentity-eutra-5gc
+CGI-InfoEUTRALogging/cellIdentity-eutra-5gc cGI-InfoEUTRALogging_cellIdentity-eutra-5gc
+ConfiguredGrantConfig/rrc-ConfiguredUplinkGrant/frequencyDomainAllocation configuredGrantConfig_rrc-ConfiguredUplinkGrant_frequencyDomainAllocation
+
+ConfigRestrictInfoSCG/dummy configRestrictInfoSCG_dummy
+EUTRA-FreqNeighCellInfo/dummy eUTRA-FreqNeighCellInfo_dummy
+CSI-ReportConfig/dummy cSI-ReportConfig_dummy
+PHR-Config/dummy pHR-Config_dummy
+RateMatchPattern/dummy rateMatchPattern_dummy
+UplinkConfigCommon/dummy uplinkConfigCommon_dummy
+CA-ParametersNR/dummy cA-ParametersNR_dummy
+CA-ParametersNR-v1550/dummy cA-ParametersNR-v1550_dummy
+MAC-ParametersCommon/dummy mAC-ParametersCommon_dummy
+NRDC-Parameters/dummy nRDC-Parameters_dummy
+Phy-ParametersCommon/eag_1/dummy phy-ParametersCommon_eag_1_dummy
+Phy-ParametersFR2/dummy phy-ParametersFR2_dummy
+UE-NR-Capability-v1530/dummy uE-NR-Capability-v1530_dummy
+SIB13-r16/dummy sIB13-r16_dummy
+MeasAndMobParametersCommon/eag_5/dummy measAndMobParametersCommon_eag_5_dummy
+SL-ResourcePool-r16/dummy sL-ResourcePool-r16_dummy
+
+SearchSpace/searchSpaceType/common/dci-Format2-3/dummy1 searchSpace_searchSpaceType__common_dci-Format2-3_dummy1
+FeatureSetDownlink/dummy1 featureSetDownlink_dummy1
+FeatureSetUplink/dummy1 featureSetUplink_dummy1
+MIMO-ParametersPerBand/dummy1 mIMO-ParametersPerBand_dummy1
+Phy-ParametersFRX-Diff/dummy1 phy-ParametersFRX-Diff_dummy1
+
+SearchSpace/searchSpaceType/common/dci-Format2-3/dummy2 searchSpace_searchSpaceType_common_dci-Format2-3_dummy2
+FeatureSetDownlink/dummy2 featureSetDownlink-dummy2
+FeatureSetUplink/dummy2 featureSetUplink-dummy2
+MIMO-ParametersPerBand/dummy2 mIMO-ParametersPerBand_dummy2
+Phy-ParametersFRX-Diff/dummy2 phy-ParametersFRX-Diff_dummy2
+ServingCellConfig/eag_2/dummy2 servingCellConfig_eag_2_dummy2
+NRDC-Parameters/dummy2 nRDC-Parameters_dummy2
+
+FeatureSetDownlink/dummy3 featureSetDownlink_dummy3
+MIMO-ParametersPerBand/dummy3 mIMO-ParametersPerBand_dummy3
+Phy-ParametersFRX-Diff/dummy3 phy-ParametersFRX-Diff_dummy3
+FeatureSetDownlink/dummy4 featureSetDownlink_dummy4
+MIMO-ParametersPerBand/dummy4 mIMO-ParametersPerBand_dummy4
+FeatureSetDownlink/dummy5 featureSetDownlink_dummy5
+MIMO-ParametersPerBand/dummy5 mIMO-ParametersPerBand_dummy5
+FeatureSetDownlink/dummy6 featureSetDownlink_dummy6
+MIMO-ParametersPerBand/eag_1/dummy6 mIMO-ParametersPerBand_eag_1_dummy6
+
+MeasQuantityResults/rsrp measQuantityResults_rsrp
+MeasTriggerQuantity/rsrp measTriggerQuantity_rsrp
+MeasQuantityResultsEUTRA/rsrp measQuantityResultsEUTRA_rsrp
+MeasTriggerQuantityEUTRA/rsrp measTriggerQuantityEUTRA_rsrp
+MeasTriggerQuantityOffset/rsrp measTriggerQuantityOffset_rsrp
+MeasReportQuantity/rsrp measReportQuantity_rsrp
+
+MeasQuantityResults/rsrq measQuantityResults_rsrq
+MeasTriggerQuantity/rsrq measTriggerQuantity_rsrq
+MeasQuantityResultsEUTRA/rsrq measQuantityResultsEUTRA_rsrq
+MeasTriggerQuantityEUTRA/rsrq measTriggerQuantityEUTRA_rsrq
+MeasTriggerQuantityOffset/rsrq measTriggerQuantityOffset_rsrq
+MeasReportQuantity/rsrq measReportQuantity_rsrq
+
+MeasQuantityResults/sinr measQuantityResultssinr
+MeasTriggerQuantity/sinr measTriggerQuantity_sinr
+MeasQuantityResultsEUTRA/sinr measQuantityResultsEUTRA_sinr
+MeasTriggerQuantityEUTRA/sinr measTriggerQuantityEUTRA_sinr
+MeasTriggerQuantityOffset/sinr measTriggerQuantityOffset_sinr
+MeasReportQuantity/sinr measReportQuantity_sinr
+
+MAC-CellGroupConfig/skipUplinkTxDynamic mAC-CellGroupConfig_skipUplinkTxDynamic
+
+FeatureSetDownlink-v1540/pdcch-MonitoringAnyOccasionsWithSpanGap/scs-15kHz featureSetDownlink-v1540_pdcch-MonitoringAnyOccasionsWithSpanGap_scs-15kHz
+FeatureSetDownlink-v1540/pdsch-ProcessingType2/scs-15kHz featureSetDownlink-v1540_pdsch-ProcessingType2_scs-15kHz
+FeatureSetUplink-v1540/pusch-ProcessingType2/scs-15kHz featureSetUplink-v1540_pusch-ProcessingType2_scs-15kHz
+FeatureSetUplink/pusch-ProcessingType1-DifferentTB-PerSlot/scs-15kHz featureSetUplink_pusch-ProcessingType1-DifferentTB-PerSlot_scs-15kHz
+MIMO-ParametersPerBand/maxNumberRxTxBeamSwitchDL/scs-15kHz mIMO-ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs-15kHz
+MIMO-ParametersPerBand/beamReportTiming/scs-15kHz mIMO-ParametersPerBand_beamReportTiming_scs-15kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetDL/scs-15kHz mIMO-ParametersPerBand_ptrs-DensityRecommendationSetDL_scs-15kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetUL/scs-15kHz mIMO-ParametersPerBand_ptrs-DensityRecommendationSetUL_scs-15kHz
+BandNR/channelBWs-DL/fr1/scs-15kHz bandNR_channelBWs-DL_fr1_scs-15kHz
+BandNR/channelBWs-UL/fr1/scs-15kHz bandNR_channelBWs-UL_fr1_scs-15kHz
+BandNR/eag_4/channelBWs-DL-v1590/fr1/scs-15kHz bandNR_eag_4_channelBWs-DL-v1590_fr1_scs-15kHz
+BandNR/eag_4/channelBWs-UL-v1590/fr1/scs-15kHz bandNR_eag_4_channelBWs-UL-v1590_fr1_scs-15kHz
+BandNR/eag_6/channelBW-DL-IAB-r16/fr1-100mhz/scs-15kHz bandNR_eag_6_channelBW-DL-IAB-r16_fr1-100mhz_scs-15kHz
+BandNR/eag_6/channelBW-UL-IAB-r16/fr1-100mhz/scs-15kHz bandNR_eag_6_channelBW-UL-IAB-r16_fr1-100mhz_scs-15kHz
+
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-30kHz-r16 featureSetDownlink-v1610_cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16_scs-30kHz-r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-30kHz-r16 featureSetDownlink-v1610_cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16_scs-30kHz-r16
+FeatureSetDownlink-v1610/pdcch-Monitoring-r16/pdsch-ProcessingType1-r16/scs-30kHz-r16 featureSetDownlink-v1610_pdcch-Monitoring-r16_pdsch-ProcessingType1-r16_scs-30kHz-r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-30kHz-r16 featureSetUplink-v1610_cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16_scs-30kHz-r16
+MinTimeGap-r16/scs-30kHz-r16 minTimeGap-r16_scs-30kHz-r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-30kHz-r16 bandSidelink-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr1-r16_scs-30kHz-r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr1-r16/scs-30kHz-r16 bandSidelink-r16_sl-TransmissionMode1-r16_scs-CP-PatternTxSidelinkModeOne-r16_fr1-r16_scs-30kHz-r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-30kHz-r16 bandSidelinkPC5-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr1-r16_scs-30kHz-r16
+
+FeatureSetDownlink/timeDurationForQCL/scs-60kHz featureSetDownlink_timeDurationForQCL_scs-60kHz
+FeatureSetDownlink-v1540/pdsch-ProcessingType2/scs-60kHz featureSetDownlink-v1540_pdsch-ProcessingType2_scs-60kHz
+FeatureSetUplink-v1540/pusch-ProcessingType2/scs-60kHz featureSetUplink-v1540_pusch-ProcessingType2_scs-60kHz
+FeatureSetUplink/pusch-ProcessingType1-DifferentTB-PerSlot/scs-60kHz featureSetUplink_pusch-ProcessingType1-DifferentTB-PerSlot_scs-60kHz
+MIMO-ParametersPerBand/maxNumberRxTxBeamSwitchDL/scs-60kHz mIMO-ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs-60kHz
+MIMO-ParametersPerBand/beamReportTiming/scs-60kHz mIMO-ParametersPerBand_beamReportTiming_scs-60kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetDL/scs-60kHz mIMO-ParametersPerBand_ptrs-DensityRecommendationSetDL_scs-60kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetUL/scs-60kHz mIMO-ParametersPerBand_ptrs-DensityRecommendationSetUL_scs-60kHz
+MIMO-ParametersPerBand/eag_1/beamSwitchTiming/scs-60kHz mIMO-ParametersPerBand_eag_1_beamSwitchTiming_scs-60kHz
+BandNR/channelBWs-DL/fr1/scs-60kHz bandNR_channelBWs-DL_fr1_scs-60kHz
+BandNR/channelBWs-UL/fr1/scs-60kHz bandNR_channelBWs-UL_fr1_scs-60kHz
+BandNR/channelBWs-DL/fr2/scs-60kHz bandNR_channelBWs-DL_fr2_scs-60kHz
+BandNR/channelBWs-UL/fr2/scs-60kHz bandNR_channelBWs-UL_fr2_scs-60kHz
+BandNR/eag_4/channelBWs-DL-v1590/fr1/scs-60kHz bandNR_eag_4_channelBWs-DL-v1590_fr1_scs-60kHz
+BandNR/eag_4/channelBWs-UL-v1590/fr1/scs-60kHz bandNR_eag_4_channelBWs-UL-v1590_fr1_scs-60kHz
+BandNR/eag_4/channelBWs-DL-v1590/fr2/scs-60kHz bandNR_eag_4_channelBWs-DL-v1590_fr2_scs-60kHz
+BandNR/eag_4/channelBWs-UL-v1590/fr2/scs-60kHz bandNR_eag_4_channelBWs-UL-v1590_fr2_scs-60kHz
+BandNR/eag_6/channelBW-DL-IAB-r16/fr1-100mhz/scs-60kHz bandNR_eag_6_channelBW-DL-IAB-r16_fr1-100mhz_scs-60kHz
+BandNR/eag_6/channelBW-DL-IAB-r16/fr2-200mhz/scs-60kHz bandNR_eag_6_channelBW-DL-IAB-r16_fr2-200mhz_scs-60kHz
+BandNR/eag_6/channelBW-UL-IAB-r16/fr1-100mhz/scs-60kHz bandNR_eag_6_channelBW-UL-IAB-r16_fr1-100mhz_scs-60kHz
+BandNR/eag_6/channelBW-UL-IAB-r16/fr2-200mhz/scs-60kHz bandNR_eag_6_channelBW-UL-IAB-r16_fr2-200mhz_scs-60kHz
+
+FeatureSetDownlink/timeDurationForQCL/scs-120kHz featureSetDownlink_timeDurationForQCL_scs-120kHz
+FeatureSetDownlink/pdsch-ProcessingType1-DifferentTB-PerSlot/scs-120kHz featureSetDownlink_pdsch-ProcessingType1-DifferentTB-PerSlot_scs-120kHz
+FeatureSetDownlink-v1540/pdcch-MonitoringAnyOccasionsWithSpanGap/scs-120kHz featureSetDownlink-v1540_pdcch-MonitoringAnyOccasionsWithSpanGap_scs-120kHz
+FeatureSetUplink/pusch-ProcessingType1-DifferentTB-PerSlot/scs-120kHz featureSetUplink_pusch-ProcessingType1-DifferentTB-PerSlot_scs-120kHz
+MIMO-ParametersPerBand/maxNumberRxTxBeamSwitchDL/scs-120kHz mIMO-ParametersPerBand_maxNumberRxTxBeamSwitchDL_scs-120kHz
+MIMO-ParametersPerBand/beamReportTiming/scs-120kHz mIMO-ParametersPerBand_beamReportTiming_scs-120kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetDL/scs-120kHz mIMO-ParametersPerBand_ptrs-DensityRecommendationSetDL_scs-120kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetUL/scs-120kHz mIMO-ParametersPerBand_ptrs-DensityRecommendationSetUL_scs-120kHz
+MIMO-ParametersPerBand/eag_1/beamSwitchTiming/scs-120kHz mIMO-ParametersPerBand_eag_1_beamSwitchTiming_scs-120kHz
+BandNR/channelBWs-DL/fr2/scs-120kHz bandNR_channelBWs-DL_fr2_scs-120kHz
+BandNR/channelBWs-UL/fr2/scs-120kHz bandNR_channelBWs-UL_fr2_scs-120kHz
+BandNR/eag_4/channelBWs-DL-v1590/fr2/scs-120kHz bandNR_eag_4_channelBWs-DL-v1590_fr2_scs-120kHz
+BandNR/eag_4/channelBWs-UL-v1590/fr2/scs-120kHz bandNR_eag_4_channelBWs-UL-v1590_fr2_scs-120kHz
+BandNR/eag_6/channelBW-DL-IAB-r16/fr2-200mhz/scs-120kHz bandNR_eag_6_channelBW-DL-IAB-r16_fr2-200mhz_scs-120kHz
+BandNR/eag_6/channelBW-UL-IAB-r16/fr2-200mhz/scs-120kHz bandNR_eag_6_channelBW-UL-IAB-r16_fr2-200mhz_scs-120kHz
+
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-15kHz-r16 featureSetDownlink-v1610_cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16_scs-15kHz-r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-15kHz-r16 featureSetDownlink-v1610_cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16_scs-15kHz-r16
+FeatureSetDownlink-v1610/pdcch-Monitoring-r16/pdsch-ProcessingType1-r16/scs-15kHz-r16 featureSetDownlink-v1610_pdcch-Monitoring-r16_pdsch-ProcessingType1-r16_scs-15kHz-r16
+FeatureSetDownlink-v1610/pdcch-Monitoring-r16/pdsch-ProcessingType2-r16/scs-15kHz-r16 featureSetDownlink-v1610_pdcch-Monitoring-r16_pdsch-ProcessingType2-r16_scs-15kHz-r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-15kHz-r16 featureSetUplink-v1610_cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16_scs-15kHz-r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-15kHz-r16 featureSetUplink-v1610_cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16_scs-15kHz-r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-15kHz-r16 bandSidelink-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr1-r16_scs-15kHz-r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr1-r16/scs-15kHz-r16 bandSidelink-r16_sl-TransmissionMode1-r16_scs-CP-PatternTxSidelinkModeOne-r16_fr1-r16_scs-15kHz-r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-15kHz-r16 bandSidelinkPC5-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr1-r16_scs-15kHz-r16
+
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-30kHz-r16 featureSetUplink-v1610_cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16_scs-30kHz-r16
+Phy-ParametersFR1/scs-60kHz phy-ParametersFR1_scs-60kHz
+FeatureSetUplink-v1610/crossCarrierSchedulingProcessing-DiffSCS-r16/scs-60kHz-120kHz-r16 featureSetUplink-v1610_crossCarrierSchedulingProcessing-DiffSCS-r16_scs-60kHz-120kHz-r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-60kHz-r16 featureSetDownlink-v1610_cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16_scs-60kHz-r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-60kHz-r16 featureSetDownlink-v1610_cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16_scs-60kHz-r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-60kHz-r16 featureSetUplink-v1610_cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16_scs-60kHz-r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-60kHz-r16 featureSetUplink-v1610_cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16_scs-60kHz-r16
+MinTimeGap-r16/scs-60kHz-r16 minTimeGap-r16_scs-60kHz-r16
+MIMO-ParametersPerBand/eag_2/beamSwitchTiming-r16/scs-60kHz-r16 mIMO-ParametersPerBand_eag_2_beamSwitchTiming-r16_scs-60kHz-r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-60kHz-r16 bandSidelink-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr1-r16_scs-60kHz-r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr2-r16/scs-60kHz-r16 bandSidelink-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr2-r16_scs-60kHz-r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr1-r16/scs-60kHz-r16 bandSidelink-r16_sl-TransmissionMode1-r16_scs-CP-PatternTxSidelinkModeOne-r16_fr1-r16_scs-60kHz-r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr2-r16/scs-60kHz-r16 bandSidelink-r16_sl-TransmissionMode1-r16_scs-CP-PatternTxSidelinkModeOne-r16_fr2-r16_scs-60kHz-r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-60kHz-r16 bandSidelinkPC5-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr1-r16_scs-60kHz-r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr2-r16/scs-60kHz-r16 bandSidelinkPC5-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr2-r16_scs-60kHz-r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-120kHz-r16 featureSetDownlink-v1610_cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16_scs-120kHz-r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-120kHz-r16 featureSetDownlink-v1610_cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16_scs-120kHz-r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-120kHz-r16 featureSetUplink-v1610_cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16_scs-120kHz-r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-120kHz-r16 featureSetUplink-v1610_cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16_scs-120kHz-r16
+MinTimeGap-r16/scs-120kHz-r16 minTimeGap-r16_scs-120kHz-r16
+MIMO-ParametersPerBand/eag_2/beamSwitchTiming-r16/scs-120kHz-r16 mIMO-ParametersPerBand_eag_2_beamSwitchTiming-r16_scs-120kHz-r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr2-r16/scs-120kHz-r16 bandSidelink-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr2-r16_scs-120kHz-r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr2-r16/scs-120kHz-r16 bandSidelink-r16_sl-TransmissionMode1-r16_scs-CP-PatternTxSidelinkModeOne-r16_fr2-r16_scs-120kHz-r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr2-r16/scs-120kHz-r16 bandSidelinkPC5-r16_sl-Reception-r16_scs-CP-PatternRxSidelink-r16_fr2-r16_scs-120kHz-r16
+
+SL-MeasReportQuantity-r16/sl-RSRP-r16 sL-MeasReportQuantity-r16_sl-RSRP-r16
+MasterInformationBlockSidelink/slotIndex-r16 masterInformationBlockSidelink_slotIndex-r16
+
+#.FIELD_ATTR
+RRM-Config/eag_1/candidateCellInfoListSN-EUTRA ABBREV=rRM_Config.eag_1.candidateCellInfoListSN_EUTRA
+CG-Config-v1560-IEs/candidateCellInfoListSN-EUTRA ABBREV=cG_Config_v1560_IEs.candidateCellInfoListSN_EUTRA
+CG-ConfigInfo-v1560-IEs/candidateCellInfoListSN-EUTRA ABBREV=cG_ConfigInfo_v1560_IEs.candidateCellInfoListSN_EUTRA
+CellAccessRelatedInfo-EUTRA-5GC/cellIdentity-eutra-5gc ABBREV=cellAccessRelatedInfo_EUTRA_5GC.cellIdentity_eutra_5gc
+CGI-InfoEUTRALogging/cellIdentity-eutra-5gc ABBREV=cGI_InfoEUTRALogging.cellIdentity_eutra_5gc
+ConfiguredGrantConfig/rrc-ConfiguredUplinkGrant/frequencyDomainAllocation ABBREV=configuredGrantConfig.rrc_ConfiguredUplinkGrant.frequencyDomainAllocation
+ConfigRestrictInfoSCG/dummy ABBREV=configRestrictInfoSCG.dummy
+EUTRA-FreqNeighCellInfo/dummy ABBREV=eUTRA_FreqNeighCellInfo.dummy
+CSI-ReportConfig/dummy ABBREV=cSI_ReportConfig.dummy
+PHR-Config/dummy ABBREV=pHR_Config.dummy
+RateMatchPattern/dummy ABBREV=rateMatchPattern.dummy
+UplinkConfigCommon/dummy ABBREV=uplinkConfigCommon.dummy
+CA-ParametersNR/dummy ABBREV=cA_ParametersNR.dummy
+CA-ParametersNR-v1550/dummy ABBREV=cA_ParametersNR_v1550.dummy
+MAC-ParametersCommon/dummy ABBREV=mAC_ParametersCommon.dummy
+NRDC-Parameters/dummy ABBREV=nRDC_Parameters.dummy
+Phy-ParametersCommon/eag_1/dummy ABBREV=phy_ParametersCommon.eag_1.dummy
+Phy-ParametersFR2/dummy ABBREV=phy_ParametersFR2.dummy
+UE-NR-Capability-v1530/dummy ABBREV=uE_NR_Capability_v1530.dummy
+SearchSpace/searchSpaceType/common/dci-Format2-3/dummy1 ABBREV=searchSpace.searchSpaceType.common.dci_Format2_3.dummy1
+FeatureSetDownlink/dummy1 ABBREV=featureSetDownlink.dummy1
+FeatureSetUplink/dummy1 ABBREV=featureSetUplink.dummy1
+MIMO-ParametersPerBand/dummy1 ABBREV=mIMO_ParametersPerBand.dummy1
+Phy-ParametersFRX-Diff/dummy1 ABBREV=phy_ParametersFRX_Diff.dummy1
+SearchSpace/searchSpaceType/common/dci-Format2-3/dummy2 ABBREV=searchSpace.searchSpaceType.common.dci_Format2_3.dummy2
+FeatureSetDownlink/dummy2 ABBREV=featureSetDownlink.dummy2
+FeatureSetUplink/dummy2 ABBREV=featureSetUplink.dummy2
+MIMO-ParametersPerBand/dummy2 ABBREV=mIMO_ParametersPerBand.dummy2
+Phy-ParametersFRX-Diff/dummy2 ABBREV=phy_ParametersFRX_Diff.dummy2
+FeatureSetDownlink/dummy3 ABBREV=featureSetDownlink.dummy3
+MIMO-ParametersPerBand/dummy3 ABBREV=mIMO_ParametersPerBand.dummy3
+Phy-ParametersFRX-Diff/dummy3 ABBREV=phy_ParametersFRX_Diff.dummy3
+FeatureSetDownlink/dummy4 ABBREV=featureSetDownlink.dummy4
+MIMO-ParametersPerBand/dummy4 ABBREV=mIMO_ParametersPerBand.dummy4
+FeatureSetDownlink/dummy5 ABBREV=featureSetDownlink.dummy5
+MIMO-ParametersPerBand/dummy5 ABBREV=mIMO_ParametersPerBand.dummy5
+FeatureSetDownlink/dummy6 ABBREV=featureSetDownlink.dummy6
+MIMO-ParametersPerBand/eag_1/dummy6 ABBREV=mIMO_ParametersPerBand.eag_1.dummy6
+SIB13-r16/dummy ABBREV=sIB13_r16.dummy
+MeasAndMobParametersCommon/eag_5/dummy ABBREV=measAndMobParametersCommon.eag_5.dummy
+SL-ResourcePool-r16/dummy ABBREV=sL_ResourcePool_r16.dummy
+ServingCellConfig/eag_2/dummy2 ABBREV=servingCellConfig.eag_2.dummy2
+NRDC-Parameters/dummy2 ABBREV=nRDC_Parameters.dummy2
+MeasQuantityResults/rsrp ABBREV=measQuantityResults.rsrp
+MeasTriggerQuantity/rsrp ABBREV=measTriggerQuantity.rsrp
+MeasQuantityResultsEUTRA/rsrp ABBREV=measQuantityResultsEUTRA.rsrp
+MeasTriggerQuantityEUTRA/rsrp ABBREV=measTriggerQuantityEUTRA.rsrp
+MeasTriggerQuantityOffset/rsrp ABBREV=measTriggerQuantityOffset.rsrp
+MeasReportQuantity/rsrp ABBREV=measReportQuantity.rsrp
+MeasQuantityResults/rsrq ABBREV=measQuantityResults.rsrq
+MeasTriggerQuantity/rsrq ABBREV=measTriggerQuantity.rsrq
+MeasQuantityResultsEUTRA/rsrq ABBREV=measQuantityResultsEUTRA.rsrq
+MeasTriggerQuantityEUTRA/rsrq ABBREV=measTriggerQuantityEUTRA.rsrq
+MeasTriggerQuantityOffset/rsrq ABBREV=measTriggerQuantityOffset.rsrq
+MeasReportQuantity/rsrq ABBREV=measReportQuantity.rsrq
+MeasQuantityResults/sinr ABBREV=measQuantityResults.sinr
+MeasTriggerQuantity/sinr ABBREV=measTriggerQuantity.sinr
+MeasQuantityResultsEUTRA/sinr ABBREV=measQuantityResultsEUTRA.sinr
+MeasTriggerQuantityEUTRA/sinr ABBREV=measTriggerQuantityEUTRA.sinr
+MeasTriggerQuantityOffset/sinr ABBREV=measTriggerQuantityOffset.sinr
+MeasReportQuantity/sinr ABBREV=measReportQuantity.sinr
+MAC-CellGroupConfig/skipUplinkTxDynamic ABBREV=mAC_CellGroupConfig.skipUplinkTxDynamic
+FeatureSetDownlink-v1540/pdcch-MonitoringAnyOccasionsWithSpanGap/scs-15kHz ABBREV=featureSetDownlink_v1540.pdcch_MonitoringAnyOccasionsWithSpanGap.scs_15kHz
+FeatureSetDownlink-v1540/pdsch-ProcessingType2/scs-15kHz ABBREV=featureSetDownlink_v1540.pdsch_ProcessingType2.scs_15kHz
+FeatureSetUplink-v1540/pusch-ProcessingType2/scs-15kHz ABBREV=featureSetUplink_v1540.pusch_ProcessingType2.scs_15kHz
+FeatureSetUplink/pusch-ProcessingType1-DifferentTB-PerSlot/scs-15kHz ABBREV=featureSetUplink.pusch_ProcessingType1_DifferentTB_PerSlot.scs_15kHz
+MIMO-ParametersPerBand/maxNumberRxTxBeamSwitchDL/scs-15kHz ABBREV=mIMO_ParametersPerBand.maxNumberRxTxBeamSwitchDL.scs_15kHz
+MIMO-ParametersPerBand/beamReportTiming/scs-15kHz ABBREV=mIMO_ParametersPerBand.beamReportTiming.scs_15kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetDL/scs-15kHz ABBREV=mIMO_ParametersPerBand.ptrs_DensityRecommendationSetDL.scs_15kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetUL/scs-15kHz ABBREV=mIMO_ParametersPerBand.ptrs_DensityRecommendationSetUL.scs_15kHz
+BandNR/channelBWs-DL/fr1/scs-15kHz ABBREV=bandNR.channelBWs_DL.fr1.scs_15kHz
+BandNR/channelBWs-UL/fr1/scs-15kHz ABBREV=bandNR.channelBWs_UL.fr1.scs_15kHz
+BandNR/eag_4/channelBWs-DL-v1590/fr1/scs-15kHz ABBREV=bandNR.eag_4.channelBWs_DL_v1590.fr1.scs_15kHz
+BandNR/eag_4/channelBWs-UL-v1590/fr1/scs-15kHz ABBREV=bandNR.eag_4.channelBWs_UL_v1590.fr1.scs_15kHz
+BandNR/eag_6/channelBW-DL-IAB-r16/fr1-100mhz/scs-15kHz ABBREV=bandNR.eag_6.channelBW_DL_IAB_r16.fr1_100mhz.scs_15kHz
+BandNR/eag_6/channelBW-UL-IAB-r16/fr1-100mhz/scs-15kHz ABBREV=bandNR.eag_6.channelBW_UL_IAB_r16.fr1_100mhz.scs_15kHz
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-30kHz-r16 ABBREV=featureSetDownlink_v1610.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_30kHz_r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-30kHz-r16 ABBREV=featureSetDownlink_v1610.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_30kHz_r16
+FeatureSetDownlink-v1610/pdcch-Monitoring-r16/pdsch-ProcessingType1-r16/scs-30kHz-r16 ABBREV=featureSetDownlink_v1610.pdcch_Monitoring_r16.pdsch_ProcessingType1_r16.scs_30kHz_r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-30kHz-r16 ABBREV=featureSetUplink_v1610.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_30kHz_r16
+MinTimeGap-r16/scs-30kHz-r16 ABBREV=minTimeGap_r16.scs_30kHz_r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-30kHz-r16 ABBREV=bandSidelink_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr1_r16.scs_30kHz_r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr1-r16/scs-30kHz-r16 ABBREV=bandSidelink_r16.sl_TransmissionMode1_r16.scs_CP_PatternTxSidelinkModeOne_r16.fr1_r16.scs_30kHz_r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-30kHz-r16 ABBREV=bandSidelinkPC5_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr1_r16.scs_30kHz_r16
+FeatureSetDownlink/timeDurationForQCL/scs-60kHz ABBREV=featureSetDownlink.timeDurationForQCL.scs_60kHz
+FeatureSetDownlink-v1540/pdcch-MonitoringAnyOccasionsWithSpanGap/scs-60kHz ABBREV=featureSetDownlink_v1540.pdcch_MonitoringAnyOccasionsWithSpanGap.scs_60kHz
+FeatureSetDownlink-v1540/pdsch-ProcessingType2/scs-60kHz ABBREV=featureSetDownlink_v1540.pdsch_ProcessingType2.scs_60kHz
+FeatureSetUplink-v1540/pusch-ProcessingType2/scs-60kHz ABBREV=featureSetUplink_v1540.pusch_ProcessingType2.scs_60kHz
+FeatureSetUplink/pusch-ProcessingType1-DifferentTB-PerSlot/scs-60kHz ABBREV=featureSetUplink.pusch_ProcessingType1_DifferentTB_PerSlot.scs_60kHz
+MIMO-ParametersPerBand/maxNumberRxTxBeamSwitchDL/scs-60kHz ABBREV=mIMO_ParametersPerBand.maxNumberRxTxBeamSwitchDL.scs_60kHz
+MIMO-ParametersPerBand/beamReportTiming/scs-60kHz ABBREV=mIMO_ParametersPerBand.beamReportTiming.scs_60kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetDL/scs-60kHz ABBREV=mIMO_ParametersPerBand.ptrs_DensityRecommendationSetDL.scs_60kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetUL/scs-60kHz ABBREV=mIMO_ParametersPerBand.ptrs_DensityRecommendationSetUL.scs_60kHz
+MIMO-ParametersPerBand/eag_1/beamSwitchTiming/scs-60kHz ABBREV=mIMO_ParametersPerBand.eag_1.beamSwitchTiming.scs_60kHz
+BandNR/channelBWs-DL/fr1/scs-60kHz ABBREV=bandNR.channelBWs_DL.fr1.scs_60kHz
+BandNR/channelBWs-UL/fr1/scs-60kHz ABBREV=bandNR.channelBWs_UL.fr1.scs_60kHz
+BandNR/channelBWs-DL/fr2/scs-60kHz ABBREV=bandNR.channelBWs_DL.fr2.scs_60kHz
+BandNR/channelBWs-UL/fr2/scs-60kHz ABBREV=bandNR.channelBWs_UL.fr2.scs_60kHz
+BandNR/eag_4/channelBWs-DL-v1590/fr1/scs-60kHz ABBREV=bandNR.eag_4.channelBWs_DL_v1590.fr1.scs_60kHz
+BandNR/eag_4/channelBWs-UL-v1590/fr1/scs-60kHz ABBREV=bandNR.eag_4.channelBWs_UL_v1590.fr1.scs_60kHz
+BandNR/eag_4/channelBWs-DL-v1590/fr2/scs-60kHz ABBREV=bandNR.eag_4.channelBWs_DL_v1590.fr2.scs_60kHz
+BandNR/eag_4/channelBWs-UL-v1590/fr2/scs-60kHz ABBREV=bandNR.eag_4.channelBWs_UL_v1590.fr2.scs_60kHz
+BandNR/eag_6/channelBW-DL-IAB-r16/fr1-100mhz/scs-60kHz ABBREV=bandNR.eag_6.channelBW_DL_IAB_r16.fr1_100mhz.scs_60kHz
+BandNR/eag_6/channelBW-DL-IAB-r16/fr2-200mhz/scs-60kHz ABBREV=bandNR.eag_6.channelBW_DL_IAB_r16.fr2_200mhz.scs_60kHz
+BandNR/eag_6/channelBW-UL-IAB-r16/fr1-100mhz/scs-60kHz ABBREV=bandNR.eag_6.channelBW_UL_IAB_r16.fr1_100mhz.scs_60kHz
+BandNR/eag_6/channelBW-UL-IAB-r16/fr2-200mhz/scs-60kHz ABBREV=bandNR.eag_6.channelBW_UL_IAB_r16.fr2_200mhz.scs_60kHz
+FeatureSetDownlink/timeDurationForQCL/scs-120kHz ABBREV=featureSetDownlink.timeDurationForQCL.scs_120kHz
+FeatureSetDownlink/pdsch-ProcessingType1-DifferentTB-PerSlot/scs-120kHz ABBREV=featureSetDownlink.pdsch_ProcessingType1_DifferentTB_PerSlot.scs_120kHz
+FeatureSetDownlink-v1540/pdcch-MonitoringAnyOccasionsWithSpanGap/scs-120kHz ABBREV=featureSetDownlink_v1540.pdcch_MonitoringAnyOccasionsWithSpanGap.scs_120kHz
+FeatureSetUplink/pusch-ProcessingType1-DifferentTB-PerSlot/scs-120kHz ABBREV=featureSetUplink.pusch_ProcessingType1_DifferentTB_PerSlot.scs_120kHz
+MIMO-ParametersPerBand/maxNumberRxTxBeamSwitchDL/scs-120kHz ABBREV=mIMO_ParametersPerBand.maxNumberRxTxBeamSwitchDL.scs_120kHz
+MIMO-ParametersPerBand/beamReportTiming/scs-120kHz ABBREV=mIMO_ParametersPerBand.beamReportTiming.scs_120kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetDL/scs-120kHz ABBREV=mIMO_ParametersPerBand.ptrs_DensityRecommendationSetDL.scs_120kHz
+MIMO-ParametersPerBand/ptrs-DensityRecommendationSetUL/scs-120kHz ABBREV=mIMO_ParametersPerBand.ptrs_DensityRecommendationSetUL.scs_120kHz
+MIMO-ParametersPerBand/eag_1/beamSwitchTiming/scs-120kHz ABBREV=mIMO_ParametersPerBand.eag_1.beamSwitchTiming.scs_120kHz
+BandNR/channelBWs-DL/fr2/scs-120kHz ABBREV=bandNR.channelBWs_DL.fr2.scs_120kHz
+BandNR/channelBWs-UL/fr2/scs-120kHz ABBREV=bandNR.channelBWs_UL.fr2.scs_120kHz
+BandNR/eag_4/channelBWs-DL-v1590/fr2/scs-120kHz ABBREV=bandNR.eag_4.channelBWs_DL_v1590.fr2.scs_120kHz
+BandNR/eag_4/channelBWs-UL-v1590/fr2/scs-120kHz ABBREV=bandNR.eag_4.channelBWs_UL_v1590.fr2.scs_120kHz
+BandNR/eag_6/channelBW-DL-IAB-r16/fr2-200mhz/scs-120kHz ABBREV=bandNR.eag_6.channelBW_DL_IAB_r16.fr2_200mhz.scs_120kHz
+BandNR/eag_6/channelBW-UL-IAB-r16/fr2-200mhz/scs-120kHz ABBREV=bandNR.eag_6.channelBW_UL_IAB_r16.fr2_200mhz.scs_120kHz
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-15kHz-r16 ABBREV=featureSetDownlink_v1610.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_15kHz_r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-15kHz-r16 ABBREV=featureSetDownlink_v1610.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_15kHz_r16
+FeatureSetDownlink-v1610/pdcch-Monitoring-r16/pdsch-ProcessingType1-r16/scs-15kHz-r16 ABBREV=featureSetDownlink_v1610.pdcch_Monitoring_r16.pdsch_ProcessingType1_r16.scs_15kHz_r16
+FeatureSetDownlink-v1610/pdcch-Monitoring-r16/pdsch-ProcessingType2-r16/scs-15kHz-r16 ABBREV=featureSetDownlink_v1610.pdcch_Monitoring_r16.pdsch_ProcessingType2_r16.scs_15kHz_r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-15kHz-r16 ABBREV=featureSetUplink_v1610.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_15kHz_r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-15kHz-r16 ABBREV=featureSetUplink_v1610_cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16_scs_15kHz_r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-15kHz-r16 ABBREV=bandSidelink_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr1-r16/scs-15kHz-r16 ABBREV=bandSidelink_r16_sl_TransmissionMode1_r16_scs_CP_PatternTxSidelinkModeOne_r16_fr1_r16_scs_15kHz_r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-15kHz-r16 ABBREV=bandSidelinkPC5_r16_sl_Reception_r16_scs_CP_PatternRxSidelink_r16_fr1_r16_scs_15kHz_r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-30kHz-r16 ABBREV=featureSetUplink_v1610.cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_30kHz_r16
+Phy-ParametersFR1/scs-60kHz ABBREV=phy_ParametersFR1.scs_60kHz
+FeatureSetUplink-v1610/crossCarrierSchedulingProcessing-DiffSCS-r16/scs-60kHz-120kHz-r16 ABBREV=featureSetUplink_v1610.crossCarrierSchedulingProcessing_DiffSCS_r16.scs_60kHz_120kHz_r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-60kHz-r16 ABBREV=featureSetDownlink_v1610.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_60kHz_r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-60kHz-r16 ABBREV=featureSetDownlink_v1610.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_60kHz_r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-60kHz-r16 ABBREV=featureSetUplink_v1610.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_60kHz_r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-60kHz-r16 ABBREV=featureSetUplink_v1610.cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_60kHz_r16
+MinTimeGap-r16/scs-60kHz-r16 ABBREV=minTimeGap_r16.scs_60kHz_r16
+MIMO-ParametersPerBand/eag_2/beamSwitchTiming-r16/scs-60kHz-r16 ABBREV=mIMO_ParametersPerBand.eag_2.beamSwitchTiming_r16.scs_60kHz_r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-60kHz-r16 ABBREV=bandSidelink_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr1_r16.scs_60kHz_r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr2-r16/scs-60kHz-r16 ABBREV=bandSidelink_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr2_r16.scs_60kHz_r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr1-r16/scs-60kHz-r16 ABBREV=bandSidelink_r16.sl_TransmissionMode1_r16.scs_CP_PatternTxSidelinkModeOne_r16.fr1_r16.scs_60kHz_r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr2-r16/scs-60kHz-r16 ABBREV=bandSidelink_r16.sl_TransmissionMode1_r16.scs_CP_PatternTxSidelinkModeOne_r16.fr2_r16.scs_60kHz_r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr1-r16/scs-60kHz-r16 ABBREV=bandSidelinkPC5_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr1_r16.scs_60kHz_r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr2-r16/scs-60kHz-r16 ABBREV=bandSidelinkPC5_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr2_r16.scs_60kHz_r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-120kHz-r16 ABBREV=featureSetDownlink_v1610.cbgPDSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_120kHz_r16
+FeatureSetDownlink-v1610/cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-120kHz-r16 ABBREV=featureSetDownlink_v1610.cbgPDSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_120kHz_r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16/scs-120kHz-r16 ABBREV=featureSetUplink_v1610.cbgPUSCH_ProcessingType1_DifferentTB_PerSlot_r16.scs_120kHz_r16
+FeatureSetUplink-v1610/cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16/scs-120kHz-r16 ABBREV=featureSetUplink_v1610.cbgPUSCH_ProcessingType2_DifferentTB_PerSlot_r16.scs_120kHz_r16
+MinTimeGap-r16/scs-120kHz-r16 ABBREV=minTimeGap_r16.scs_120kHz_r16
+MIMO-ParametersPerBand/eag_2/beamSwitchTiming-r16/scs-120kHz-r16 ABBREV=mIMO_ParametersPerBand.eag_2.beamSwitchTiming_r16.scs_120kHz_r16
+BandSidelink-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr2-r16/scs-120kHz-r16 ABBREV=bandSidelink_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr2_r16.scs_120kHz_r16
+BandSidelink-r16/sl-TransmissionMode1-r16/scs-CP-PatternTxSidelinkModeOne-r16/fr2-r16/scs-120kHz-r16 ABBREV=bandSidelink_r16.sl_TransmissionMode1_r16.scs_CP_PatternTxSidelinkModeOne_r16.fr2_r16.scs_120kHz_r16
+BandSidelinkPC5-r16/sl-Reception-r16/scs-CP-PatternRxSidelink-r16/fr2-r16/scs-120kHz-r16 ABBREV=bandSidelinkPC5_r16.sl_Reception_r16.scs_CP_PatternRxSidelink_r16.fr2_r16.scs_120kHz_r16
+SL-MeasReportQuantity-r16/sl-RSRP-r16 ABBREV=sL_MeasReportQuantity_r16.sl_RSRP_r16
+MasterInformationBlockSidelink/slotIndex-r16 ABBREV=bmasterInformationBlockSidelink.slotIndex_r16
+
+#.NO_EMIT ONLY_VALS
+
+#.MAKE_ENUM
+MobilityFromNRCommand-IEs/targetRAT-Type TYPE_PREFIX
+RAT-Type TYPE_PREFIX
+
+#.FN_HDR BCCH-BCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+#.FN_HDR BCCH-DL-SCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+#.FN_HDR DL-CCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ actx->pinfo->link_dir = P2P_DIR_DL;
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+#.FN_HDR DL-DCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_DL;
+
+#.FN_HDR PCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+#.FN_HDR UL-CCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+#.FN_HDR UL-CCCH1-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+#.FN_HDR UL-DCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+ actx->pinfo->link_dir = P2P_DIR_UL;
+
+#.FN_BODY DLInformationTransferMRDC-r16-IEs/dl-DCCH-MessageNR-r16 VAL_PTR = &dl_dcch_msg_nr_tvb
+ tvbuff_t *dl_dcch_msg_nr_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (dl_dcch_msg_nr_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageNR);
+ dissect_DL_DCCH_Message_PDU(dl_dcch_msg_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY DLInformationTransferMRDC-r16-IEs/dl-DCCH-MessageEUTRA-r16 VAL_PTR = &dl_dcch_msg_eutra_tvb
+ tvbuff_t *dl_dcch_msg_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (dl_dcch_msg_eutra_tvb && lte_rrc_dl_dcch_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageEUTRA);
+ nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, dl_dcch_msg_eutra_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY FailureReportMCG-r16/measResultSCG-EUTRA-r16 VAL_PTR = &meas_result_scg_fail_mrdc_tvb
+ tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (meas_result_scg_fail_mrdc_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
+ dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_HDR MIB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB");
+
+#.FN_HDR SystemInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information [");
+
+#.FN_FTR SystemInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
+
+#.FN_HDR SIB2
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
+
+#.FN_HDR SIB3
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
+
+#.FN_HDR SIB4
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
+
+#.FN_HDR SIB5
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
+
+#.FN_HDR SIB6
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6");
+
+#.FN_HDR SIB7
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7");
+
+#.FN_HDR SIB8
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8");
+
+#.FN_HDR SIB9
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9");
+
+#.FN_HDR SIB10-r16
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB10");
+
+#.FN_HDR SIB11-r16
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB11");
+
+#.FN_HDR SIB12-r16
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB12");
+
+#.FN_HDR SIB13-r16
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB13");
+
+#.FN_HDR SIB14-r16
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB14");
+
+#.FN_HDR SIB15-r17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB15");
+
+#.FN_HDR SIB16-r17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB16");
+
+#.FN_HDR SIB17-r17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB17");
+
+#.FN_HDR SIB18-r17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB18");
+
+#.FN_HDR SIB19-r17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB19");
+
+#.FN_HDR SIB20-r17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB20");
+
+#.FN_HDR SIB21-r17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB21");
+
+#.FN_HDR SIB1
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1");
+
+#.FN_HDR RRCReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reject");
+
+#.FN_HDR RRCSetup
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup");
+
+#.FN_HDR RRCReconfiguration
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");
+
+#.FN_HDR RRCResume
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume");
+
+#.FN_HDR RRCRelease
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Release");
+
+#.FN_HDR RRCReestablishment
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment");
+
+#.FN_HDR SecurityModeCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Command");
+
+#.FN_HDR DLInformationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Information Transfer");
+
+#.FN_HDR UECapabilityEnquiry
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry");
+
+#.FN_HDR CounterCheck
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check");
+
+#.FN_HDR MobilityFromNRCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Mobility From NR Command");
+
+#.FN_HDR DLDedicatedMessageSegment-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Dedicated MessageSegment");
+
+#.FN_HDR UEInformationRequest-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Request");
+
+#.FN_HDR DLInformationTransferMRDC-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL InformationTransfer MRDC");
+
+#.FN_HDR LoggedMeasurementConfiguration-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Logged Measurement Configuration");
+
+#.FN_HDR Paging
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
+
+#.FN_HDR RRCSetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Request");
+
+#.FN_HDR RRCResumeRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request");
+
+#.FN_HDR RRCReestablishmentRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Request");
+
+ if (!PINFO_FD_VISITED(actx->pinfo)) {
+ /* Look for UE identifier */
+ mac_nr_info *p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
+
+ if (p_mac_nr_info != NULL) {
+ /* Inform PDCP about the RRCreestablishmentRequest */
+ set_pdcp_nr_rrc_reestablishment_request(p_mac_nr_info->ueid);
+ }
+ }
+
+#.FN_HDR RRCSystemInfoRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC System Info Request");
+
+#.FN_HDR RRCResumeRequest1
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request 1");
+
+#.FN_HDR MeasurementReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");
+
+#.FN_HDR RRCReconfigurationComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");
+
+#.FN_HDR RRCSetupComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Complete");
+
+#.FN_HDR RRCReestablishmentComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Complete");
+
+#.FN_HDR RRCResumeComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Complete");
+
+#.FN_HDR SecurityModeComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Complete");
+
+#.FN_BODY SecurityModeFailure
+ mac_nr_info *p_mac_nr_info;
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Failure");
+%(DEFAULT_BODY)s
+ /* Look for UE identifier */
+ p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
+
+ if (p_mac_nr_info != NULL) {
+ /* Inform PDCP that the UE failed to execute the securityModeCommand */
+ set_pdcp_nr_security_algorithms_failed(p_mac_nr_info->ueid);
+ }
+
+#.FN_HDR ULInformationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer");
+
+#.FN_HDR LocationMeasurementIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Location Measurement Indication");
+
+#.FN_HDR UECapabilityInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information");
+
+#.FN_HDR CounterCheckResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check Response");
+
+#.FN_HDR UEAssistanceInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Assistance Information");
+
+#.FN_HDR FailureInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Failure Information");
+
+#.FN_HDR ULInformationTransferMRDC
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer MRDC");
+
+#.FN_HDR SCGFailureInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCG Failure Information");
+
+#.FN_HDR SCGFailureInformationEUTRA
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCG Failure Information EUTRA");
+
+#.FN_HDR ULDedicatedMessageSegment-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Dedicated MessageSegment");
+
+#.FN_HDR DedicatedSIBRequest-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Dedicated SIB Request");
+
+#.FN_HDR MCGFailureInformation-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCG Failure Information");
+
+#.FN_HDR UEInformationResponse-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Response");
+
+#.FN_HDR SidelinkUEInformationNR-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Sidelink UE Information NR");
+
+#.FN_HDR ULInformationTransferIRAT-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer IRAT");
+
+#.FN_HDR IABOtherInformation-r16
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB Other Information");
+
+#.FN_HDR MBSInterestIndication-r17
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBS Interest Indication");
+
+#.FN_HDR UEPositioningAssistanceInfo-r17
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Positioning Assistance Info");
+
+#.FN_HDR MeasurementReportAppLayer-r17
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report App Layer");
+
+#.FN_BODY MRDC-SecondaryCellGroupConfig/mrdc-SecondaryCellGroup/eutra-SCG VAL_PTR = &eutra_scg_tvb
+ tvbuff_t *eutra_scg_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (eutra_scg_tvb && lte_rrc_conn_reconf_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG);
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, eutra_scg_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY RRCReconfigurationComplete-v1560-IEs/scg-Response/eutra-SCG-Response VAL_PTR = &eutra_scg_response_tvb
+ tvbuff_t *eutra_scg_response_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (eutra_scg_response_tvb && lte_rrc_conn_reconf_compl_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG_Response);
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY RRCResume-v1610-IEs/mrdc-SecondaryCellGroup-r16/eutra-SCG-r16 VAL_PTR = &eutra_scg_tvb
+ tvbuff_t *eutra_scg_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (eutra_scg_tvb && lte_rrc_conn_reconf_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG);
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, eutra_scg_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY RRCResumeComplete-v1610-IEs/scg-Response-r16/eutra-SCG-Response VAL_PTR = &eutra_scg_response_tvb
+ tvbuff_t *eutra_scg_response_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (eutra_scg_response_tvb && lte_rrc_conn_reconf_compl_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG_Response);
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY FailureReportSCG-EUTRA/measResultSCG-FailureMRDC VAL_PTR = &meas_result_scg_fail_mrdc_tvb
+ tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (meas_result_scg_fail_mrdc_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
+ dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ULInformationTransferMRDC-IEs/ul-DCCH-MessageNR VAL_PTR = &ul_dcch_msg_nr_tvb
+ tvbuff_t *ul_dcch_msg_nr_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ul_dcch_msg_nr_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageNR);
+ dissect_nr_rrc_UL_DCCH_Message_PDU(ul_dcch_msg_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ULInformationTransferMRDC-IEs/ul-DCCH-MessageEUTRA VAL_PTR = &ul_dcch_msg_eutra_tvb
+ tvbuff_t *ul_dcch_msg_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ul_dcch_msg_eutra_tvb && lte_rrc_ul_dcch_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageEUTRA);
+ nr_rrc_call_dissector(lte_rrc_ul_dcch_handle, ul_dcch_msg_eutra_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY DedicatedNAS-Message VAL_PTR = &nas_5gs_tvb
+ tvbuff_t *nas_5gs_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (nas_5gs_tvb && nas_5gs_handle) {
+ proto_tree *nas_tree;
+ if (nr_rrc_nas_in_root_tree) {
+ nas_tree = proto_tree_get_root(tree);
+ } else {
+ nas_tree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_DedicatedNAS_Message);
+ }
+ nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, nas_tree);
+ }
+
+#.FN_BODY MobilityFromNRCommand-IEs/targetRAT-Type VAL_PTR = &target_rat_type
+ guint32 target_rat_type;
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+%(DEFAULT_BODY)s
+ nr_priv->target_rat_type = (guint8)target_rat_type;
+
+#.FN_BODY MobilityFromNRCommand-IEs/targetRAT-MessageContainer VAL_PTR = &target_rat_msg_cont_tvb
+ tvbuff_t *target_rat_msg_cont_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (target_rat_msg_cont_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer);
+ switch (nr_priv->target_rat_type) {
+ case T_targetRAT_Type_eutra:
+ /* eutra */
+ if (lte_rrc_dl_dcch_handle)
+ nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
+ break;
+ case T_targetRAT_Type_utra_fdd_v1610:
+ /* utra-fdd */
+ dissect_rrc_HandoverToUTRANCommand_PDU(target_rat_msg_cont_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY MobilityFromNRCommand-IEs/nas-SecurityParamFromNR VAL_PTR = &nas_sec_param_tvb
+ tvbuff_t *nas_sec_param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (nas_sec_param_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_nas_SecurityParamFromNR);
+ switch (nr_priv->target_rat_type) {
+ case T_targetRAT_Type_eutra:
+ /* eutra */
+ de_nas_5gs_n1_mode_to_s1_mode_nas_transparent_cont(nas_sec_param_tvb, subtree, actx->pinfo);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY MasterKeyUpdate/nas-Container VAL_PTR = &nas_5gs_tvb
+ tvbuff_t *nas_5gs_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (nas_5gs_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_nas_Container);
+ de_nas_5gs_s1_mode_to_n1_mode_nas_transparent_cont(nas_5gs_tvb, subtree, actx->pinfo);
+ }
+
+#.FN_BODY SL-ConfigDedicatedEUTRA-Info-r16/sl-ConfigDedicatedEUTRA-r16 VAL_PTR = &sl_config_ded_eutra_tvb
+ tvbuff_t *sl_config_ded_eutra_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (sl_config_ded_eutra_tvb && lte_rrc_conn_reconf_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ConfigDedicatedEUTRA);
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, sl_config_ded_eutra_tvb, actx->pinfo, subtree);
+ }
+
+#.TYPE_ATTR
+RejectWaitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_RENAME
+MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-RSCP-r16 MeasTriggerQuantityUTRA_FDD_RSCP_r16
+
+#.TYPE_ATTR
+MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-RSCP-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_RSCP_r16_fmt)
+
+#.TYPE_RENAME
+MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-EcN0-r16 MeasTriggerQuantityUTRA_FDD_EcN0_r16
+
+#.TYPE_ATTR
+MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-EcN0-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_EcN0_r16_fmt)
+
+#.TYPE_ATTR
+SIB1/cellSelectionInfo/q-RxLevMinOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+SIB1/cellSelectionInfo/q-QualMinOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.FN_BODY SL-TxResourceReq-r16/sl-CapabilityInformationSidelink-r16 VAL_PTR = &sl_cap_info_sidelink_tvb
+ tvbuff_t *sl_cap_info_sidelink_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sl_cap_info_sidelink_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_CapabilityInformationSidelink);
+ dissect_UECapabilityInformationSidelink_PDU(sl_cap_info_sidelink_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SL-TxResourceReqL2U2N-Relay-r17/sl-CapabilityInformationSidelink-r17 VAL_PTR = &sl_cap_info_sidelink_tvb
+ tvbuff_t *sl_cap_info_sidelink_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sl_cap_info_sidelink_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_CapabilityInformationSidelink);
+ dissect_UECapabilityInformationSidelink_PDU(sl_cap_info_sidelink_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+LogMeasInfo-r16/relativeTimeStamp-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RLF-Report-r16/nr-RLF-Report-r16/timeConnFailure-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_timeConnFailure_r16_fmt)
+
+#.FN_BODY RLF-Report-r16/eutra-RLF-Report-r16/measResult-RLF-Report-EUTRA-r16 VAL_PTR = &meas_result_rlf_report_eutra_tvb
+ tvbuff_t *meas_result_rlf_report_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (meas_result_rlf_report_eutra_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResult_RLF_Report_EUTRA);
+ dissect_lte_rrc_RLF_Report_r9_PDU(meas_result_rlf_report_eutra_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RLF-Report-r16/eutra-RLF-Report-r16/eag_1/measResult-RLF-Report-EUTRA-v1690 VAL_PTR = &meas_result_rlf_report_eutra_v1690_tvb
+ tvbuff_t *meas_result_rlf_report_eutra_v1690_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (meas_result_rlf_report_eutra_v1690_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResult_RLF_Report_EUTRA_v1690);
+ dissect_lte_rrc_RLF_Report_v9e0_PDU(meas_result_rlf_report_eutra_v1690_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+TimeSinceFailure-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+TimeUntilReconnection-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+TimeSinceCHO-Reconfig-r17 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_TimeSinceCHO_Reconfig_r17_fmt)
+
+#.TYPE_ATTR
+UPInterruptionTimeAtHO-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.FN_BODY ULInformationTransferIRAT-r16-IEs/ul-DCCH-MessageEUTRA-r16 VAL_PTR = &ul_dcch_msg_eutra_tvb
+ tvbuff_t *ul_dcch_msg_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ul_dcch_msg_eutra_tvb && lte_rrc_ul_dcch_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageEUTRA);
+ nr_rrc_call_dissector(lte_rrc_ul_dcch_handle, ul_dcch_msg_eutra_tvb, actx->pinfo, subtree);
+ }
+
+#.TYPE_ATTR
+IntraFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+IntraFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+IntraFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+InterFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+InterFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+InterFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+CarrierFreqEUTRA/q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+CarrierFreqEUTRA/q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+CarrierFreqEUTRA/p-MaxEUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+EUTRA-FreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+EUTRA-FreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+SIB6/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY SIB6/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
+ tvbuff_t *msg_id_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB6/messageIdentifier
+ if (msg_id_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB6/serialNumber VAL_PTR=&serial_nb_tvb
+ tvbuff_t *serial_nb_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB6/serialNumber
+ if (serial_nb_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB6/warningType VAL_PTR=&warning_type_tvb
+ tvbuff_t *warning_type_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB6/warningType
+ if (warning_type_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningType);
+ proto_tree_add_item(subtree, hf_nr_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+SIB7/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY SIB7/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
+ tvbuff_t *msg_id_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB7/messageIdentifier
+ if (msg_id_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB7/serialNumber VAL_PTR=&serial_nb_tvb
+ tvbuff_t *serial_nb_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB7/serialNumber
+ if (serial_nb_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB7/warningMessageSegmentType VAL_PTR=&segment_type
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_type;
+%(DEFAULT_BODY)s
+ nr_priv->warning_message_segment_type = (guint8)segment_type;
+
+#.FN_BODY SIB7/warningMessageSegmentNumber VAL_PTR=&segment_number
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_number;
+%(DEFAULT_BODY)s
+ nr_priv->warning_message_segment_number = (guint8)segment_number;
+
+#.FN_BODY SIB7/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb
+ tvbuff_t *data_coding_scheme_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB7/dataCodingScheme
+ if (data_coding_scheme_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ guint32 dataCodingScheme;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
+ dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
+ wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
+ GUINT_TO_POINTER(dataCodingScheme));
+ }
+
+#.FN_BODY SIB7/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb
+ tvbuff_t *warning_msg_seg_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB7/warningMessageSegment
+ if (warning_msg_seg_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ tvbuff_t *frag_tvb;
+ gpointer p_dcs;
+ fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib7_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
+ nr_priv->message_identifier, NULL,
+ nr_priv->warning_message_segment_number,
+ tvb_reported_length(warning_msg_seg_tvb),
+ nr_priv->warning_message_segment_type ? FALSE : TRUE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
+ frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB7 warning message",
+ frag_data, &nr_rrc_sib7_frag_items, NULL, subtree);
+ p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
+ if (frag_tvb && p_dcs) {
+ dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
+ }
+ }
+
+#.TYPE_ATTR
+SIB8/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY SIB8/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
+ tvbuff_t *msg_id_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB8/messageIdentifier
+ if (msg_id_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
+ actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB8/serialNumber VAL_PTR=&serial_nb_tvb
+ tvbuff_t *serial_nb_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB8/serialNumber
+ if (serial_nb_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SIB8/warningMessageSegmentType VAL_PTR=&segment_type
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_type;
+%(DEFAULT_BODY)s
+ nr_priv->warning_message_segment_type = (guint8)segment_type;
+
+#.FN_BODY SIB8/warningMessageSegmentNumber VAL_PTR=&segment_number
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ guint32 segment_number;
+%(DEFAULT_BODY)s
+ nr_priv->warning_message_segment_number = (guint8)segment_number;
+
+#.FN_BODY SIB8/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb
+ tvbuff_t *data_coding_scheme_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB8/dataCodingScheme
+ if (data_coding_scheme_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ guint32 dataCodingScheme;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
+ dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
+ wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
+ GUINT_TO_POINTER(dataCodingScheme));
+ }
+
+#.FN_BODY SIB8/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb
+ tvbuff_t *warning_msg_seg_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB8/warningMessageSegment
+ if (warning_msg_seg_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+ tvbuff_t *frag_tvb;
+ gpointer p_dcs;
+ fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib8_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
+ nr_priv->message_identifier, NULL,
+ nr_priv->warning_message_segment_number,
+ tvb_reported_length(warning_msg_seg_tvb),
+ nr_priv->warning_message_segment_type ? FALSE : TRUE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
+ frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB8 warning message",
+ frag_data, &nr_rrc_sib8_frag_items, NULL, subtree);
+ p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
+ if (frag_tvb && p_dcs) {
+ dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
+ }
+ }
+
+#.FN_BODY SIB9/timeInfo/timeInfoUTC VAL_PTR=&timeInfo
+ guint64 timeInfo;
+ proto_tree *subtree;
+ nstime_t ts;
+ guint32 old_offset = offset;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB9/timeInfo/timeInfoUTC
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_timeInfo);
+ ts.secs = (time_t)(timeInfo/100)-EPOCH_DELTA_1900_01_01_00_00_00_UTC; /* epoch is 00:00:00 (midnight) UTC on 1900-01-01 */
+ ts.nsecs = (int)(timeInfo%100)*10000000;
+ proto_tree_add_time(subtree, hf_nr_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
+ proto_tree_add_time(subtree, hf_nr_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
+
+#.TYPE_ATTR
+SIB9/timeInfo/dayLightSavingTime TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(nr_rrc_daylightSavingTime_vals)
+
+#.FN_BODY SIB9/timeInfo/dayLightSavingTime VAL_PTR=&daylight_saving_time_tvb HF_INDEX=-1
+ tvbuff_t *daylight_saving_time_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR SIB9/timeInfo/dayLightSavingTime
+ if (daylight_saving_time_tvb) {
+ guint bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, bitvalue);
+ }
+
+#.TYPE_ATTR
+SIB9/timeInfo/leapSeconds DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+SIB9/timeInfo/localTimeOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_localTimeOffset_fmt)
+
+#.TYPE_ATTR
+CLI-RSSI-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSSI_Range_r16_fmt)
+
+#.TYPE_ATTR
+RSSI-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSSI_Range_r16_fmt)
+
+#.FN_BODY CommonLocationInfo-r16/locationTimestamp-r16 VAL_PTR = &location_timestamp_tvb
+ tvbuff_t *location_timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (location_timestamp_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationTimestamp_r16);
+ dissect_lpp_DisplacementTimeStamp_r15_PDU(location_timestamp_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CommonLocationInfo-r16/locationCoordinate-r16 VAL_PTR = &location_coordinate_tvb
+ tvbuff_t *location_coordinate_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (location_coordinate_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationCoordinate_r16);
+ dissect_lpp_LocationCoordinates_PDU(location_coordinate_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CommonLocationInfo-r16/locationError-r16 VAL_PTR = &location_error_tvb
+ tvbuff_t *location_error_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (location_error_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationError_r16);
+ dissect_lpp_LocationError_PDU(location_error_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CommonLocationInfo-r16/locationSource-r16 VAL_PTR = &location_source_tvb
+ tvbuff_t *location_source_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (location_source_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationSource_r16);
+ dissect_lpp_LocationSource_r13_PDU(location_source_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CommonLocationInfo-r16/velocityEstimate-r16 VAL_PTR = &velocity_estimate_tvb
+ tvbuff_t *velocity_estimate_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (velocity_estimate_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_velocityEstimate_r16);
+ dissect_lpp_Velocity_PDU(velocity_estimate_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+ConfiguredGrantConfig/configuredGrantTimer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_periodicities
+
+#.TYPE_ATTR
+ConnEstFailureControl/connEstFailOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+DRX-Config/drx-SlotOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_drx_SlotOffset_fmt)
+
+#.TYPE_ATTR
+FrequencyInfoDL-SIB/offsetToPointA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_prbs
+
+#.TYPE_ATTR
+Hysteresis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Hysteresis_fmt)
+
+#.TYPE_ATTR
+RSRQ-RangeEUTRA-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_r16_fmt)
+
+#.FN_BODY Sensor-LocationInfo-r16/sensor-MeasurementInformation-r16 VAL_PTR = &sensor_meas_info_tvb
+ tvbuff_t *sensor_meas_info_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sensor_meas_info_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MeasurementInformation_r16);
+ dissect_lpp_Sensor_MeasurementInformation_r13_PDU(sensor_meas_info_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Sensor-LocationInfo-r16/sensor-MotionInformation-r16 VAL_PTR = &sensor_motion_info_tvb
+ tvbuff_t *sensor_motion_info_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sensor_motion_info_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MotionInformation_r16);
+ dissect_lpp_Sensor_MotionInformation_r15_PDU(sensor_motion_info_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+ChannelAccessConfig-r16/maxEnergyDetectionThreshold-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+ChannelAccessConfig-r16/energyDetectionThresholdOffset-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+MeasResultUTRA-FDD-r16/measResult-r16/utra-FDD-RSCP-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_utra_FDD_RSCP_r16_fmt)
+
+#.TYPE_ATTR
+MeasResultUTRA-FDD-r16/measResult-r16/utra-FDD-EcN0-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_utra_FDD_EcN0_r16_fmt)
+
+#.TYPE_ATTR
+MeasResultForRSSI-r16/channelOccupancy-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+UL-PDCP-DelayValueResult-r16/averageDelay-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_averageDelay_r16_fmt)
+
+#.TYPE_ATTR
+NZP-CSI-RS-Resource/powerControlOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+P-Max DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+PUCCH-ResourceSet/maxPayloadMinus1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_bits
+
+#.TYPE_ATTR
+PUCCH-ConfigCommon/p0-nominal DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f2 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f3 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUCCH-PowerControl/deltaF-PUCCH-f4 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+P0-PUCCH/p0-PUCCH-Value DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+PUSCH-ConfigCommon/msg3-DeltaPreamble DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_msg3_DeltaPreamble_fmt)
+
+#.TYPE_ATTR
+PUSCH-ConfigCommon/p0-NominalWithGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+PUSCH-PowerControl/p0-NominalWithoutGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+P0-PUSCH-AlphaSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+Q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+Q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Q_RxLevMin_fmt)
+
+#.TYPE_ATTR
+RACH-ConfigGeneric/preambleReceivedTargetPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+RSRP-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt)
+
+#.TYPE_ATTR
+RSRQ-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt)
+
+#.TYPE_ATTR
+SINR-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt)
+
+#.TYPE_ATTR
+MsgA-PUSCH-Config-r16/msgA-DeltaPreamble-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+MeasTriggerQuantityOffset/rsrp DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt)
+
+#.TYPE_ATTR
+MeasTriggerQuantityOffset/rsrq DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt)
+
+#.TYPE_ATTR
+MeasTriggerQuantityOffset/sinr DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt)
+
+#.TYPE_ATTR
+ReselectionThreshold DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_ReselectionThreshold_fmt)
+
+#.TYPE_ATTR
+ReselectionThresholdQ DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+RSRP-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_Range_fmt)
+
+#.TYPE_ATTR
+RSRQ-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_Range_fmt)
+
+#.TYPE_ATTR
+SearchSpace/duration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_slots
+
+#.TYPE_ATTR
+ServingCellConfigCommon/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+ServingCellConfigCommonSIB/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+SINR-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_Range_fmt)
+
+#.TYPE_ATTR
+SRS-ResourceSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+SRS-PosResourceSet-r16/p0-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+SRS-RSRP-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SRS_RSRP_r16_fmt)
+
+#.TYPE_ATTR
+T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY BandParametersSidelinkEUTRA-NR-r16/eutra/bandParametersSidelinkEUTRA1-r16 VAL_PTR = &band_params_sl_tvb
+ tvbuff_t *band_params_sl_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (band_params_sl_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA1_r16);
+ dissect_lte_rrc_V2X_BandParameters_r14_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY BandParametersSidelinkEUTRA-NR-r16/eutra/bandParametersSidelinkEUTRA2-r16 VAL_PTR = &band_params_sl_tvb
+ tvbuff_t *band_params_sl_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (band_params_sl_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA2_r16);
+ dissect_lte_rrc_V2X_BandParameters_v1530_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SidelinkParametersEUTRA-r16/sl-ParametersEUTRA1-r16 VAL_PTR = &sl_params_tvb
+ tvbuff_t *sl_params_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sl_params_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA1_r16);
+ dissect_lte_rrc_SL_Parameters_v1430_PDU(sl_params_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SidelinkParametersEUTRA-r16/sl-ParametersEUTRA2-r16 VAL_PTR = &sl_params_tvb
+ tvbuff_t *sl_params_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sl_params_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA2_r16);
+ dissect_lte_rrc_SL_Parameters_v1530_PDU(sl_params_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SidelinkParametersEUTRA-r16/sl-ParametersEUTRA3-r16 VAL_PTR = &sl_params_tvb
+ tvbuff_t *sl_params_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sl_params_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA3_r16);
+ dissect_lte_rrc_SL_Parameters_v1540_PDU(sl_params_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UE-CapabilityRAT-Container
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ /* Initialise to invalid value */
+ nr_priv->rat_type = 0xFF;
+%(DEFAULT_BODY)s
+
+#.FN_BODY RAT-Type VAL_PTR = &rat_type
+ guint32 rat_type;
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+%(DEFAULT_BODY)s
+ nr_priv->rat_type = (guint8)rat_type;
+
+#.FN_BODY UE-CapabilityRAT-Container/ue-CapabilityRAT-Container VAL_PTR = &ue_cap_tvb
+ tvbuff_t *ue_cap_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR UE-CapabilityRAT-Container/ue-CapabilityRAT-Container
+ if (ue_cap_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container);
+ switch(nr_priv->rat_type){
+ case RAT_Type_nr:
+ dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RAT_Type_eutra_nr:
+ dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RAT_Type_eutra:
+ dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RAT_Type_utra_fdd_v1610:
+ dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY UE-CapabilityRAT-Request
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ /* Initialise to invalid value */
+ nr_priv->rat_type = 0xFF;
+%(DEFAULT_BODY)s
+
+#.FN_BODY UE-CapabilityRAT-Request/capabilityRequestFilter VAL_PTR = &cap_req_filter_tvb
+ tvbuff_t *cap_req_filter_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR UE-CapabilityRAT-Request/capabilityRequestFilter
+ if (cap_req_filter_tvb) {
+ nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_capabilityRequestFilter);
+ switch(nr_priv->rat_type){
+ case RAT_Type_nr:
+ case RAT_Type_eutra_nr:
+ dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RAT_Type_eutra:
+ dissect_lte_rrc_UECapabilityEnquiry_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+
+#.FN_BODY AbsoluteTimeInfo-r16 VAL_PTR = &abs_time_info_tvb
+ tvbuff_t *abs_time_info_tvb = NULL;
+%(DEFAULT_BODY)s
+#.FN_FTR AbsoluteTimeInfo-r16
+ if (abs_time_info_tvb) {
+ const gchar *str, *hf_str;
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_absTimeInfo);
+ str = tvb_bcd_dig_to_str(actx->pinfo->pool, abs_time_info_tvb, 0, 6, NULL, FALSE);
+ hf_str = wmem_strdup_printf(actx->pinfo->pool, "%c%c-%c%c-%c%c %c%c:%c%c:%c%c", str[0], str[1],
+ str[2], str[3], str[4], str[5], str[6], str[7], str[8], str[9], str[10], str[11]);
+ proto_tree_add_string(subtree, hf_nr_rrc_absolute_time, abs_time_info_tvb, 0, 6, hf_str);
+ }
+
+#.TYPE_ATTR
+EUTRA-NS-PmaxValue/additionalPmax DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+WLAN-Identifiers-r16/ssid-r16 TYPE=FT_STRING DISPLAY=BASE_NONE
+
+#.FN_BODY WLAN-Identifiers-r16/ssid-r16 VAL_PTR=&ssid_tvb HF_INDEX=-1
+ tvbuff_t *ssid_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
+
+#.TYPE_ATTR
+WLAN-Identifiers-r16/bssid-r16 TYPE=FT_ETHER
+
+#.TYPE_ATTR
+WLAN-Identifiers-r16/hessid-r16 TYPE=FT_ETHER
+
+#.TYPE_ATTR
+VisitedCellInfo-r16/timeSpent-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+VisitedPSCellInfo-r17/timeSpent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_UNKNOWN;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-1-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_1;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-2-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_2;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-3-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_3;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-4-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_4;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-5-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_5;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-6-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_6;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-7-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_7;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-8-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_8;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-1-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_1;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-2-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_2;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-3-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_3;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-4-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_4;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-5-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_5;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-6-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_6;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-7-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_7;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-8-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_8;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-9-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_9;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-10-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_10;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-11-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_11;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-12-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_12;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-13-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_13;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-14-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_14;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-15-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_15;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-16-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_16;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-17-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_17;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-18-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_18;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-19-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_19;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-20-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_20;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-21-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_21;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-22-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_22;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-23-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_23;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib3-1-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_3_1;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib4-1-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_4_1;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib5-1-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_5_1;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib6-1-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_1;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib6-2-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_2;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib6-3-r16
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_3;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-9-v1700
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_9;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib1-10-v1700
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_1_10;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-24-v1700
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_24;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib2-25-v1700
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_2_25;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib6-4-v1700
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_4;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib6-5-v1700
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_5;
+
+#.FN_HDR PosSystemInformation-r16-IEs/posSIB-TypeAndInfo-r16/_item/posSib6-6-v1700
+ nr_rrc_get_private_data(actx)->pos_sib_type = LPP_POS_SIB_TYPE_6_6;
+
+#.FN_BODY SIBpos-r16/assistanceDataSIB-Element-r16 VAL_PTR = &assist_data_sib_elem_tvb
+ tvbuff_t *assist_data_sib_elem_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (assist_data_sib_elem_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_assistanceDataSIB_Element_r16);
+
+ dissect_lpp_AssistanceDataSIBelement_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree,
+ nr_rrc_get_private_data(actx)->pos_sib_type);
+ }
+
+#.FN_BODY RLC-BearerConfig
+ struct mac_nr_info *p_mac_nr_info;
+ /* Get the struct and clear it out */
+ nr_drb_mac_rlc_mapping_t *drb_mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
+ memset(drb_mapping, 0, sizeof(nr_drb_mac_rlc_mapping_t));
+ drb_mapping->active = TRUE;
+%(DEFAULT_BODY)s
+ /* Need UE identifier */
+ p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
+ if (p_mac_nr_info && drb_mapping->drbid) {
+ drb_mapping->ueid = p_mac_nr_info->ueid;
+ /* Tell MAC about this mapping */
+ set_mac_nr_bearer_mapping(drb_mapping);
+ }
+ drb_mapping->active = FALSE;
+
+#.FN_BODY DRB-Identity VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ if (nr_rrc_get_private_data(actx)->drb_rlc_mapping.active) {
+ nr_rrc_get_private_data(actx)->drb_rlc_mapping.drbid = (guint8)value;
+ }
+ else if (nr_rrc_get_private_data(actx)->drb_pdcp_mapping.active) {
+ nr_rrc_get_private_data(actx)->drb_pdcp_mapping.drbid = (guint8)value;
+ }
+
+#.FN_BODY RLC-Config VAL_PTR=&value
+ guint32 value;
+ nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
+%(DEFAULT_BODY)s
+ mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE;
+ mapping->rlcMode_present = TRUE;
+
+#.FN_BODY LogicalChannelIdentity VAL_PTR=&value
+ guint32 value;
+ nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
+%(DEFAULT_BODY)s
+ mapping->lcid = (guint8)value;
+ mapping->lcid_present = TRUE;
+
+#.FN_BODY UL-UM-RLC
+ nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
+ mapping->tempDirection = DIRECTION_UPLINK;
+%(DEFAULT_BODY)s
+
+#.FN_BODY DL-UM-RLC
+ nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
+ mapping->tempDirection = DIRECTION_DOWNLINK;
+%(DEFAULT_BODY)s
+
+#.FN_BODY UL-AM-RLC
+ nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
+ mapping->tempDirection = DIRECTION_UPLINK;
+%(DEFAULT_BODY)s
+
+#.FN_BODY DL-AM-RLC
+ nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
+ mapping->tempDirection = DIRECTION_DOWNLINK;
+%(DEFAULT_BODY)s
+
+
+#.FN_BODY SN-FieldLengthUM VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
+ if (mapping->tempDirection == DIRECTION_UPLINK) {
+ mapping->rlcUlSnLength_present = TRUE;
+ mapping->rlcUlSnLength = (value==0) ? 6 : 12;
+ }
+ else {
+ mapping->rlcDlSnLength_present = TRUE;
+ mapping->rlcDlSnLength = (value==0) ? 6 : 12;
+ }
+
+#.FN_BODY SN-FieldLengthAM VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ nr_drb_mac_rlc_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_rlc_mapping;
+ if (mapping->tempDirection == DIRECTION_UPLINK) {
+ mapping->rlcUlSnLength_present = TRUE;
+ mapping->rlcUlSnLength = (value==0) ? 12 : 18;
+ }
+ else {
+ mapping->rlcDlSnLength_present = TRUE;
+ mapping->rlcDlSnLength = (value==0) ? 12 : 18;
+ }
+
+
+#.FN_BODY DRB-ToAddMod
+ nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
+ memset(mapping, 0, sizeof(*mapping));
+ mapping->active = TRUE;
+%(DEFAULT_BODY)s
+ /* Need UE identifier. Use mac-nr. */
+ mac_nr_info *p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
+ if (p_mac_nr_info) {
+ /* Configure PDCP SN length(s) for this DRB */
+ if (mapping->pdcpUlSnLength_present || mapping->pdcpDlSnLength_present) {
+ mapping->ueid = p_mac_nr_info->ueid;
+ set_rlc_nr_drb_pdcp_mapping(actx->pinfo, mapping);
+ }
+ }
+ mapping->active = FALSE;
+
+#.FN_BODY SDAP-Config/sdap-HeaderDL VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
+ mapping->pdcpDlSdap = !value;
+
+#.FN_BODY SDAP-Config/sdap-HeaderUL VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
+ mapping->pdcpUlSdap = !value;
+
+#.FN_BODY PDCP-Config/drb/integrityProtection
+%(DEFAULT_BODY)s
+ nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
+ mapping->pdcpIntegrityProtection = TRUE;
+
+#.FN_HDR PDCP-Config/eag_1/cipheringDisabled
+ nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
+ mapping->pdcpCipheringDisabled = TRUE;
+
+#.FN_BODY PDCP-Config/drb/pdcp-SN-SizeUL VAL_PTR=&value
+ guint32 value;
+ nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
+%(DEFAULT_BODY)s
+ mapping->pdcpUlSnLength_present = TRUE;
+ mapping->pdcpUlSnLength = (value) ? 18 : 12;
+
+#.FN_BODY PDCP-Config/drb/pdcp-SN-SizeDL VAL_PTR=&value
+ guint32 value;
+ nr_drb_rlc_pdcp_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_pdcp_mapping;
+%(DEFAULT_BODY)s
+ mapping->pdcpDlSnLength_present = TRUE;
+ mapping->pdcpDlSnLength = (value) ? 18 : 12;
+
+
+#.TYPE_ATTR
+CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_dl_1024QAM_TotalWeightedLayers_fmt)
+
+#.FN_BODY AS-Config/eag_1/sourceSCG-EUTRA-Config VAL_PTR = &src_scg_eutra_config_tvb
+ tvbuff_t *src_scg_eutra_config_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (src_scg_eutra_config_tvb && lte_rrc_conn_reconf_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer);
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, src_scg_eutra_config_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY AS-Context/eag_4/sidelinkUEInformationNR-r16 VAL_PTR = &sidelink_ue_info_nr_tvb
+ tvbuff_t *sidelink_ue_info_nr_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sidelink_ue_info_nr_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationNR);
+ dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(sidelink_ue_info_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-Context/eag_4/sidelinkUEInformationEUTRA-r16 VAL_PTR = &sidelink_ue_info_eutra_tvb
+ tvbuff_t *sidelink_ue_info_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sidelink_ue_info_eutra_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationEUTRA);
+ dissect_lte_rrc_SidelinkUEInformation_r12_PDU(sidelink_ue_info_eutra_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY AS-Context/eag_4/ueAssistanceInformationEUTRA-r16 VAL_PTR = &ue_assist_info_eutra_tvb
+ tvbuff_t *ue_assist_info_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ue_assist_info_eutra_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ueAssistanceInformationEUTRA);
+ dissect_lte_rrc_UEAssistanceInformation_r11_PDU(ue_assist_info_eutra_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CG-Config-v1560-IEs/scg-CellGroupConfigEUTRA VAL_PTR = &scg_cell_group_config_eutra_tvb
+ tvbuff_t *scg_cell_group_config_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (scg_cell_group_config_eutra_tvb && lte_rrc_conn_reconf_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_scg_CellGroupConfigEUTRA);
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, scg_cell_group_config_eutra_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY CG-Config-v1560-IEs/candidateCellInfoListSN-EUTRA VAL_PTR = &cand_cell_info_list_sn_eutra_tvb
+ tvbuff_t *cand_cell_info_list_sn_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cand_cell_info_list_sn_eutra_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListSN_EUTRA);
+ dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_sn_eutra_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CG-ConfigInfo-v1560-IEs/candidateCellInfoListMN-EUTRA VAL_PTR = &cand_cell_info_list_mn_eutra_tvb
+ tvbuff_t *cand_cell_info_list_mn_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cand_cell_info_list_mn_eutra_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListMN_EUTRA);
+ dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_mn_eutra_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CG-ConfigInfo-v1560-IEs/candidateCellInfoListSN-EUTRA VAL_PTR = &cand_cell_info_list_sn_eutra_tvb
+ tvbuff_t *cand_cell_info_list_sn_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cand_cell_info_list_sn_eutra_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListSN_EUTRA);
+ dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_sn_eutra_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CG-ConfigInfo-v1560-IEs/sourceConfigSCG-EUTRA VAL_PTR = &source_config_scg_eutra_tvb
+ tvbuff_t *source_config_scg_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (source_config_scg_eutra_tvb && lte_rrc_conn_reconf_handle) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sourceConfigSCG_EUTRA);
+ nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, source_config_scg_eutra_tvb, actx->pinfo, subtree);
+ }
+
+#.FN_BODY CG-ConfigInfo-v1560-IEs/scgFailureInfoEUTRA/measResultSCG-EUTRA VAL_PTR = &meas_result_scg_fail_mrdc_tvb
+ tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (meas_result_scg_fail_mrdc_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
+ dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SecurityAlgorithmConfig
+ mac_nr_info *p_mac_nr_info;
+ pdcp_nr_security_info_t *p_security_algorithms;
+%(DEFAULT_BODY)s
+ p_security_algorithms = &(nr_rrc_get_private_data(actx)->pdcp_security);
+ p_security_algorithms->algorithm_configuration_frame = actx->pinfo->num;
+ p_security_algorithms->previous_algorithm_configuration_frame = 0;
+ p_security_algorithms->previous_integrity = nia0;
+ p_security_algorithms->previous_ciphering = nea0;
+
+ /* Look for UE identifier */
+ p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
+ if (p_mac_nr_info != NULL) {
+ /* Configure algorithms */
+ set_pdcp_nr_security_algorithms(p_mac_nr_info->ueid, p_security_algorithms);
+ }
+
+#.FN_BODY CipheringAlgorithm VAL_PTR=&value
+ guint32 value;
+ pdcp_nr_security_info_t *p_security_algorithms;
+%(DEFAULT_BODY)s
+ p_security_algorithms = &(nr_rrc_get_private_data(actx)->pdcp_security);
+ p_security_algorithms->ciphering = (enum nr_security_ciphering_algorithm_e)value;
+
+#.FN_BODY IntegrityProtAlgorithm VAL_PTR=&value
+ guint32 value;
+ pdcp_nr_security_info_t *p_security_algorithms;
+%(DEFAULT_BODY)s
+ p_security_algorithms = &(nr_rrc_get_private_data(actx)->pdcp_security);
+ p_security_algorithms->integrity = (enum nr_security_integrity_algorithm_e)value;
+
+#.FN_BODY SIB13-r16/sl-V2X-ConfigCommon-r16 VAL_PTR = &sl_v2x_configcommon_tvb
+ tvbuff_t *sl_v2x_configcommon_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sl_v2x_configcommon_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_sl_V2X_ConfigCommon_r16);
+ dissect_lte_rrc_SystemInformationBlockType21_r14_PDU(sl_v2x_configcommon_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SIB13-r16/tdd-Config-r16 VAL_PTR = &tdd_config_tvb
+ tvbuff_t *tdd_config_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (tdd_config_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_tdd_Config_r16);
+ dissect_lte_rrc_TDD_Config_PDU(tdd_config_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UEInformationResponse-v1700-IEs/coarseLocationInfo-r17 VAL_PTR = &ellipsoid_point_tvb
+ tvbuff_t *ellipsoid_point_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_coarseLocationInfo_r17);
+ dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MeasResults/measResultNeighCells/sl-MeasResultsCandRelay-r17 VAL_PTR = &sl_meas_result_list_relay_tvb
+ tvbuff_t *sl_meas_result_list_relay_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sl_meas_result_list_relay_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_sl_MeasResultsCandRelay_r17);
+ dissect_SL_MeasResultListRelay_r17_PDU(sl_meas_result_list_relay_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MeasResults/eag_4/sl-MeasResultServingRelay-r17 VAL_PTR = &sl_meas_result_serving_relay_tvb
+ tvbuff_t *sl_meas_result_serving_relay_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (sl_meas_result_serving_relay_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_sl_MeasResultServingRelay_r17);
+ dissect_SL_MeasResultRelay_r17_PDU(sl_meas_result_serving_relay_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MeasResults/eag_4/coarseLocationInfo-r17 VAL_PTR = &ellipsoid_point_tvb
+ tvbuff_t *ellipsoid_point_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_coarseLocationInfo_r17);
+ dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+TimeBetweenEvent-r17 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.FN_BODY ReferenceLocation-r17 VAL_PTR = &ellipsoid_point_tvb
+ tvbuff_t *ellipsoid_point_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ellipsoid_point_tvb) {
+ proto_tree *subtree;
+ subtree = proto_item_add_subtree(actx->created_item, ett_nr_ReferenceLocation_r17);
+ dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_HDR SBCCH-SL-BCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+#.FN_HDR SCCH-Message
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+#.FN_HDR MasterInformationBlockSidelink
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Master Information Block Sidelink");
+
+#.FN_HDR MeasurementReportSidelink
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report Sidelink");
+
+#.FN_HDR RRCReconfigurationSidelink
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Sidelink");
+
+#.FN_HDR RRCReconfigurationCompleteSidelink
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete Sidelink");
+
+#.FN_HDR RRCReconfigurationFailureSidelink
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Failure Sidelink");
+
+#.FN_HDR UECapabilityEnquirySidelink
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry Sidelink");
+
+#.FN_HDR UECapabilityInformationSidelink
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information Sidelink");
+
+#.FN_HDR MCCH-Message-r17
+ proto_item *ti;
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(ti, ett_nr_rrc);
+
+#.FN_HDR MBSBroadcastConfiguration-r17
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBS Broadcast Configuration");
diff --git a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
new file mode 100644
index 00000000..cbfb67cc
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
@@ -0,0 +1,1091 @@
+/* packet-nr-rrc-template.c
+ * NR;
+ * Radio Resource Control (RRC) protocol specification
+ * (3GPP TS 38.331 V17.5.0 Release 17) packet dissection
+ * Copyright 2018-2023, Pascal Quantin
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <epan/reassemble.h>
+#include <epan/exceptions.h>
+#include <epan/show_exception.h>
+#include <epan/proto_data.h>
+#include <epan/prefs.h>
+
+#include <wsutil/str_util.h>
+#include <wsutil/epochs.h>
+
+#include "packet-per.h"
+#include "packet-gsm_map.h"
+#include "packet-cell_broadcast.h"
+#include "packet-mac-nr.h"
+#include "packet-rlc-nr.h"
+#include "packet-pdcp-nr.h"
+#include "packet-rrc.h"
+#include "packet-lte-rrc.h"
+#include "packet-nr-rrc.h"
+#include "packet-gsm_a_common.h"
+#include "packet-lpp.h"
+
+#define PNAME "NR Radio Resource Control (RRC) protocol"
+#define PSNAME "NR RRC"
+#define PFNAME "nr-rrc"
+
+void proto_register_nr_rrc(void);
+void proto_reg_handoff_nr_rrc(void);
+
+static dissector_handle_t nas_5gs_handle = NULL;
+static dissector_handle_t lte_rrc_conn_reconf_handle = NULL;
+static dissector_handle_t lte_rrc_conn_reconf_compl_handle = NULL;
+static dissector_handle_t lte_rrc_ul_dcch_handle = NULL;
+static dissector_handle_t lte_rrc_dl_dcch_handle = NULL;
+
+static wmem_map_t *nr_rrc_etws_cmas_dcs_hash = NULL;
+
+static reassembly_table nr_rrc_sib7_reassembly_table;
+static reassembly_table nr_rrc_sib8_reassembly_table;
+
+static gboolean nr_rrc_nas_in_root_tree;
+
+extern int proto_mac_nr;
+extern int proto_pdcp_nr;
+
+/* Include constants */
+#include "packet-nr-rrc-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_nr_rrc = -1;
+#include "packet-nr-rrc-hf.c"
+static int hf_nr_rrc_serialNumber_gs = -1;
+static int hf_nr_rrc_serialNumber_msg_code = -1;
+static int hf_nr_rrc_serialNumber_upd_nb = -1;
+static int hf_nr_rrc_warningType_value = -1;
+static int hf_nr_rrc_warningType_emergency_user_alert = -1;
+static int hf_nr_rrc_warningType_popup = -1;
+static int hf_nr_rrc_warningMessageSegment_nb_pages = -1;
+static int hf_nr_rrc_warningMessageSegment_decoded_page = -1;
+static int hf_nr_rrc_sib7_fragments = -1;
+static int hf_nr_rrc_sib7_fragment = -1;
+static int hf_nr_rrc_sib7_fragment_overlap = -1;
+static int hf_nr_rrc_sib7_fragment_overlap_conflict = -1;
+static int hf_nr_rrc_sib7_fragment_multiple_tails = -1;
+static int hf_nr_rrc_sib7_fragment_too_long_fragment = -1;
+static int hf_nr_rrc_sib7_fragment_error = -1;
+static int hf_nr_rrc_sib7_fragment_count = -1;
+static int hf_nr_rrc_sib7_reassembled_in = -1;
+static int hf_nr_rrc_sib7_reassembled_length = -1;
+static int hf_nr_rrc_sib7_reassembled_data = -1;
+static int hf_nr_rrc_sib8_fragments = -1;
+static int hf_nr_rrc_sib8_fragment = -1;
+static int hf_nr_rrc_sib8_fragment_overlap = -1;
+static int hf_nr_rrc_sib8_fragment_overlap_conflict = -1;
+static int hf_nr_rrc_sib8_fragment_multiple_tails = -1;
+static int hf_nr_rrc_sib8_fragment_too_long_fragment = -1;
+static int hf_nr_rrc_sib8_fragment_error = -1;
+static int hf_nr_rrc_sib8_fragment_count = -1;
+static int hf_nr_rrc_sib8_reassembled_in = -1;
+static int hf_nr_rrc_sib8_reassembled_length = -1;
+static int hf_nr_rrc_sib8_reassembled_data = -1;
+static int hf_nr_rrc_utc_time = -1;
+static int hf_nr_rrc_local_time = -1;
+static int hf_nr_rrc_absolute_time = -1;
+
+/* Initialize the subtree pointers */
+static gint ett_nr_rrc = -1;
+#include "packet-nr-rrc-ett.c"
+static gint ett_nr_rrc_DedicatedNAS_Message = -1;
+static gint ett_nr_rrc_targetRAT_MessageContainer = -1;
+static gint ett_nr_rrc_nas_Container = -1;
+static gint ett_nr_rrc_serialNumber = -1;
+static gint ett_nr_rrc_warningType = -1;
+static gint ett_nr_rrc_dataCodingScheme = -1;
+static gint ett_nr_rrc_sib7_fragment = -1;
+static gint ett_nr_rrc_sib7_fragments = -1;
+static gint ett_nr_rrc_sib8_fragment = -1;
+static gint ett_nr_rrc_sib8_fragments = -1;
+static gint ett_nr_rrc_warningMessageSegment = -1;
+static gint ett_nr_rrc_timeInfo = -1;
+static gint ett_nr_rrc_capabilityRequestFilter = -1;
+static gint ett_nr_rrc_sourceSCG_EUTRA_Config = -1;
+static gint ett_nr_rrc_scg_CellGroupConfigEUTRA = -1;
+static gint ett_nr_rrc_candidateCellInfoListSN_EUTRA = -1;
+static gint ett_nr_rrc_candidateCellInfoListMN_EUTRA = -1;
+static gint ett_nr_rrc_sourceConfigSCG_EUTRA = -1;
+static gint ett_nr_rrc_eutra_SCG = -1;
+static gint ett_nr_rrc_nr_SCG_Response = -1;
+static gint ett_nr_rrc_eutra_SCG_Response = -1;
+static gint ett_nr_rrc_measResultSCG_FailureMRDC = -1;
+static gint ett_nr_rrc_ul_DCCH_MessageNR = -1;
+static gint ett_nr_rrc_ul_DCCH_MessageEUTRA = -1;
+static gint ett_rr_rrc_nas_SecurityParamFromNR = -1;
+static gint ett_nr_rrc_sidelinkUEInformationNR = -1;
+static gint ett_nr_rrc_sidelinkUEInformationEUTRA = -1;
+static gint ett_nr_rrc_ueAssistanceInformationEUTRA = -1;
+static gint ett_nr_rrc_dl_DCCH_MessageNR = -1;
+static gint ett_nr_rrc_dl_DCCH_MessageEUTRA = -1;
+static gint ett_nr_rrc_sl_ConfigDedicatedEUTRA = -1;
+static gint ett_nr_rrc_sl_CapabilityInformationSidelink = -1;
+static gint ett_nr_rrc_measResult_RLF_Report_EUTRA = -1;
+static gint ett_nr_rrc_measResult_RLF_Report_EUTRA_v1690 = -1;
+static gint ett_nr_rrc_locationTimestamp_r16 = -1;
+static gint ett_nr_rrc_locationCoordinate_r16 = -1;
+static gint ett_nr_rrc_locationError_r16 = -1;
+static gint ett_nr_rrc_locationSource_r16 = -1;
+static gint ett_nr_rrc_velocityEstimate_r16 = -1;
+static gint ett_nr_rrc_sensor_MeasurementInformation_r16 = -1;
+static gint ett_nr_rrc_sensor_MotionInformation_r16 = -1;
+static gint ett_nr_rrc_bandParametersSidelinkEUTRA1_r16 = -1;
+static gint ett_nr_rrc_bandParametersSidelinkEUTRA2_r16 = -1;
+static gint ett_nr_rrc_sl_ParametersEUTRA1_r16 = -1;
+static gint ett_nr_rrc_sl_ParametersEUTRA2_r16 = -1;
+static gint ett_nr_rrc_sl_ParametersEUTRA3_r16 = -1;
+static gint ett_nr_rrc_absTimeInfo = -1;
+static gint ett_nr_rrc_assistanceDataSIB_Element_r16 = -1;
+static gint ett_nr_sl_V2X_ConfigCommon_r16 = -1;
+static gint ett_nr_tdd_Config_r16 = -1;
+static gint ett_nr_coarseLocationInfo_r17 = -1;
+static gint ett_nr_sl_MeasResultsCandRelay_r17 = -1;
+static gint ett_nr_sl_MeasResultServingRelay_r17 = -1;
+static gint ett_nr_ReferenceLocation_r17 = -1;
+
+static expert_field ei_nr_rrc_number_pages_le15 = EI_INIT;
+
+/* Forward declarations */
+static int dissect_UECapabilityInformationSidelink_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_DL_CCCH_Message_PDU(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_);
+static int dissect_UL_CCCH_Message_PDU(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_);
+static int dissect_UERadioAccessCapabilityInformation_PDU(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_);
+static int dissect_SL_MeasResultListRelay_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_SL_MeasResultRelay_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static const unit_name_string units_periodicities = { " periodicity", " periodicities" };
+static const unit_name_string units_prbs = { " PRB", " PRBs" };
+static const unit_name_string units_slots = { " slot", " slots" };
+
+typedef struct {
+ guint8 rat_type;
+ guint8 target_rat_type;
+ guint16 message_identifier;
+ guint8 warning_message_segment_type;
+ guint8 warning_message_segment_number;
+ nr_drb_mac_rlc_mapping_t drb_rlc_mapping;
+ nr_drb_rlc_pdcp_mapping_t drb_pdcp_mapping;
+ lpp_pos_sib_type_t pos_sib_type;
+ pdcp_nr_security_info_t pdcp_security;
+} nr_rrc_private_data_t;
+
+/* Helper function to get or create a struct that will be actx->private_data */
+static nr_rrc_private_data_t*
+nr_rrc_get_private_data(asn1_ctx_t *actx)
+{
+ if (actx->private_data == NULL) {
+ actx->private_data = wmem_new0(actx->pinfo->pool, nr_rrc_private_data_t);
+ }
+ return (nr_rrc_private_data_t*)actx->private_data;
+}
+
+
+static void
+nr_rrc_call_dissector(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ TRY {
+ call_dissector(handle, tvb, pinfo, tree);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(tvb, pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+}
+
+static void
+nr_rrc_q_RxLevMin_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%d dB (%d)", 2*d, d);
+}
+
+static const value_string nr_rrc_serialNumber_gs_vals[] = {
+ { 0, "Display mode immediate, cell wide"},
+ { 1, "Display mode normal, PLMN wide"},
+ { 2, "Display mode normal, tracking area wide"},
+ { 3, "Display mode normal, cell wide"},
+ { 0, NULL},
+};
+
+static const value_string nr_rrc_warningType_vals[] = {
+ { 0, "Earthquake"},
+ { 1, "Tsunami"},
+ { 2, "Earthquake and Tsunami"},
+ { 3, "Test"},
+ { 4, "Other"},
+ { 0, NULL},
+};
+
+static const fragment_items nr_rrc_sib7_frag_items = {
+ &ett_nr_rrc_sib7_fragment,
+ &ett_nr_rrc_sib7_fragments,
+ &hf_nr_rrc_sib7_fragments,
+ &hf_nr_rrc_sib7_fragment,
+ &hf_nr_rrc_sib7_fragment_overlap,
+ &hf_nr_rrc_sib7_fragment_overlap_conflict,
+ &hf_nr_rrc_sib7_fragment_multiple_tails,
+ &hf_nr_rrc_sib7_fragment_too_long_fragment,
+ &hf_nr_rrc_sib7_fragment_error,
+ &hf_nr_rrc_sib7_fragment_count,
+ &hf_nr_rrc_sib7_reassembled_in,
+ &hf_nr_rrc_sib7_reassembled_length,
+ &hf_nr_rrc_sib7_reassembled_data,
+ "SIB7 warning message segments"
+};
+
+static const fragment_items nr_rrc_sib8_frag_items = {
+ &ett_nr_rrc_sib8_fragment,
+ &ett_nr_rrc_sib8_fragments,
+ &hf_nr_rrc_sib8_fragments,
+ &hf_nr_rrc_sib8_fragment,
+ &hf_nr_rrc_sib8_fragment_overlap,
+ &hf_nr_rrc_sib8_fragment_overlap_conflict,
+ &hf_nr_rrc_sib8_fragment_multiple_tails,
+ &hf_nr_rrc_sib8_fragment_too_long_fragment,
+ &hf_nr_rrc_sib8_fragment_error,
+ &hf_nr_rrc_sib8_fragment_count,
+ &hf_nr_rrc_sib8_reassembled_in,
+ &hf_nr_rrc_sib8_reassembled_length,
+ &hf_nr_rrc_sib8_reassembled_data,
+ "SIB8 warning message segments"
+};
+
+static void
+dissect_nr_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dataCodingScheme)
+{
+ guint32 offset;
+ guint8 nb_of_pages, length, *str;
+ proto_item *ti;
+ tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
+ int i;
+
+ nb_of_pages = tvb_get_guint8(warning_msg_seg_tvb, 0);
+ ti = proto_tree_add_uint(tree, hf_nr_rrc_warningMessageSegment_nb_pages, warning_msg_seg_tvb, 0, 1, nb_of_pages);
+ if (nb_of_pages > 15) {
+ expert_add_info_format(pinfo, ti, &ei_nr_rrc_number_pages_le15,
+ "Number of pages should be <=15 (found %u)", nb_of_pages);
+ nb_of_pages = 15;
+ }
+ for (i = 0, offset = 1; i < nb_of_pages; i++) {
+ length = tvb_get_guint8(warning_msg_seg_tvb, offset+82);
+ cb_data_page_tvb = tvb_new_subset_length(warning_msg_seg_tvb, offset, length);
+ cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0);
+ if (cb_data_tvb) {
+ str = tvb_get_string_enc(pinfo->pool, cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
+ proto_tree_add_string_format(tree, hf_nr_rrc_warningMessageSegment_decoded_page, warning_msg_seg_tvb, offset, 83,
+ str, "Decoded Page %u: %s", i+1, str);
+ }
+ offset += 83;
+ }
+}
+
+static const value_string nr_rrc_daylightSavingTime_vals[] = {
+ { 0, "No adjustment for Daylight Saving Time"},
+ { 1, "+1 hour adjustment for Daylight Saving Time"},
+ { 2, "+2 hours adjustment for Daylight Saving Time"},
+ { 3, "Reserved"},
+ { 0, NULL},
+};
+
+static void
+nr_rrc_localTimeOffset_fmt(gchar *s, guint32 v)
+{
+ gint32 time_offset = (gint32) v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "UTC time %c %dhr %dmin (%d)",
+ (time_offset < 0) ? '-':'+', abs(time_offset) >> 2,
+ (abs(time_offset) & 0x03) * 15, time_offset);
+}
+
+static void
+nr_rrc_drx_SlotOffset_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%g ms (%u)", 1./32 * v, v);
+}
+
+static void
+nr_rrc_Hysteresis_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%gdB (%u)", 0.5 * v, v);
+}
+
+static void
+nr_rrc_msg3_DeltaPreamble_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddB (%d)", 2 * d, d);
+}
+
+static void
+nr_rrc_Q_RxLevMin_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", 2 * d, d);
+}
+
+static void
+nr_rrc_RSRP_RangeEUTRA_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)");
+ } else if (v < 97) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", v-141, v-140, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)");
+ }
+}
+
+static void
+nr_rrc_RSRQ_RangeEUTRA_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
+ } else if (v < 34) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)");
+ }
+}
+
+static void
+nr_rrc_SINR_RangeEUTRA_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "SINR < -23dB (0)");
+ } else if (v == 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SINR (127)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
+ }
+}
+
+static void
+nr_rrc_ReselectionThreshold_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%udB (%u)", 2 * v, v);
+}
+
+static void
+nr_rrc_RSRP_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRP < -156dBm (0)");
+ } else if (v < 126) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SS-RSRP < %ddBm (%u)", v-157, v-156, v);
+ } else if (v == 126) {
+ snprintf(s, ITEM_LABEL_LENGTH, "-31dBm <= SS-RSRP (126)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "infinity (127)");
+ }
+}
+
+static void
+nr_rrc_RSRQ_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRQ < -43dB (0)");
+ } else if (v < 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-RSRQ < %.1fdB (%u)", (((float)v-1)/2)-43, ((float)v/2)-43, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "20dB <= SS-RSRQ (127)");
+ }
+}
+
+static void
+nr_rrc_SINR_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "SS-SINR < -23dB (0)");
+ } else if (v < 127) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SS-SINR (127)");
+ }
+}
+
+static void
+nr_rrc_dl_1024QAM_TotalWeightedLayers_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%u (%u)", 10+(2*v), v);
+}
+
+static void
+nr_rrc_timeConnFailure_r16_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%ums (%u)", 100*v, v);
+}
+
+static void
+nr_rrc_RSSI_Range_r16_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSSI < -100dBm (0)");
+ } else if (v < 76) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSSI < %ddBm (%u)", v-101, v-100, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= RSSI (76)");
+ }
+}
+
+static void
+nr_rrc_RSRQ_RangeEUTRA_r16_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ if (d == -34) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -36dB (-34)");
+ } else if (d < 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-19, ((float)d/2)-19, d);
+ } else if (d == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
+ } else if (d < 34) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-19.5, ((float)d/2)-19.5, d);
+ } else if (d == 34) {
+ snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)");
+ } else if (d < 46) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%d)", (((float)d-1)/2)-20, ((float)d/2)-20, d);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "2.5dB <= RSRQ (46)");
+ }
+}
+
+static void
+nr_rrc_utra_FDD_RSCP_r16_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ if (d == -5) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSCP < -120dBm (-5)");
+ } else if (d < 91) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSCP < %ddB (%d)", d-116, d-115, d);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= RSCP (91)");
+ }
+}
+
+static void
+nr_rrc_utra_FDD_EcN0_r16_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Ec/No < -24dB (0)");
+ } else if (v < 49) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= Ec/No < %.1fdB (%u)", (((float)v-1)/2)-24, ((float)v/2)-24, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "0dB <= Ec/No (49)");
+ }
+}
+
+static void
+nr_rrc_averageDelay_r16_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/10, v);
+}
+
+static void
+nr_rrc_measTriggerQuantity_utra_FDD_RSCP_r16_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", d-115, d);
+}
+
+static void
+nr_rrc_measTriggerQuantity_utra_FDD_EcN0_r16_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", (float)v/2-24.5, v);
+}
+
+static void
+nr_rrc_SRS_RSRP_r16_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "SRS-RSRP < -140dBm (0)");
+ } else if (v < 97) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SRS-RSRP < %ddB (%u)", v-141, v-140, v);
+ } else if (v == 97) {
+ snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= SRS-RSRP (97)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "Infinity (98)");
+ }
+}
+
+static void
+nr_rrc_MeasTriggerQuantityOffset_fmt(gchar *s, guint32 v)
+{
+ gint32 d = (gint32)v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%d)", (float)d/2, d);
+}
+
+static void
+nr_rrc_TimeSinceCHO_Reconfig_r17_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fs (%u)", (float)v/10, v);
+}
+
+static int
+dissect_nr_rrc_cg_configinfo_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "CG-ConfigInfo");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_CG_ConfigInfo_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_radiobearerconfig_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "RadioBearerConfig");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_RadioBearerConfig_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_ue_mrdc_capability_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "UE-MRDC-Capability");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_UE_MRDC_Capability_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_ue_nr_capability_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "UE-NR-Capability");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_UE_NR_Capability_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_ul_dcch_message_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "UL-DCCH-Message");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_UL_DCCH_Message_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_dl_dcch_message_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "DL-DCCH-Message");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_DL_DCCH_Message_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_dl_ccch_message_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "DL-CCCH-Message");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_DL_CCCH_Message_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_ul_ccch_message_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "UL-CCCH-Message");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_UL_CCCH_Message_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+
+static int
+dissect_nr_rrc_cellgroupconfig_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "CellGroupConfig");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_CellGroupConfig_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_ueradioaccesscapabilityinformation_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "UERadioAccessCapabilityInformation");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_UERadioAccessCapabilityInformation_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_measconfig_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "MeasConfig");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_MeasConfig_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_measgapconfig_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "MeasGapConfig");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_MeasGapConfig_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_handoverpreparationinformation_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "HandoverPreparationInformation");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_HandoverPreparationInformation_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+
+
+static int
+dissect_nr_rrc_rrcreconfiguration_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "RRCReconfiguration");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_RRCReconfiguration_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+
+static int
+dissect_nr_rrc_rrcreconfigurationcomplete_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "RRCReconfigurationComplete");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+
+static int
+dissect_nr_rrc_ue_capabilityrat_containerlist_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "UE-CapabilityRAT-ContainerList");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+static int
+dissect_nr_rrc_handovercommand_msg(tvbuff_t* tvb _U_, packet_info* pinfo _U_, proto_tree* tree _U_, void* data _U_)
+{
+ proto_item* ti;
+ proto_tree* sub_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "NR RRC");
+ col_set_str(pinfo->cinfo, COL_INFO, "HandoverCommand");
+
+ ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ sub_tree = proto_item_add_subtree(ti, ett_nr_rrc);
+ return dissect_nr_rrc_HandoverCommand_PDU(tvb, pinfo, sub_tree, NULL);
+}
+
+
+#include "packet-nr-rrc-fn.c"
+
+int
+dissect_nr_rrc_nr_RLF_Report_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ proto_item_set_hidden(prot_ti);
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_T_nr_RLF_Report_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+int
+dissect_nr_rrc_subCarrierSpacingCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ proto_item_set_hidden(prot_ti);
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_T_subCarrierSpacingCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+int
+dissect_nr_rrc_rach_ConfigCommonIAB_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
+ proto_item_set_hidden(prot_ti);
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_T_rach_ConfigCommonIAB_r16(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+void
+proto_register_nr_rrc(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-nr-rrc-hfarr.c"
+
+ { &hf_nr_rrc_serialNumber_gs,
+ { "Geographical Scope", "nr-rrc.serialNumber.gs",
+ FT_UINT16, BASE_DEC, VALS(nr_rrc_serialNumber_gs_vals), 0xc000,
+ NULL, HFILL }},
+ { &hf_nr_rrc_serialNumber_msg_code,
+ { "Message Code", "nr-rrc.serialNumber.msg_code",
+ FT_UINT16, BASE_DEC, NULL, 0x3ff0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_serialNumber_upd_nb,
+ { "Update Number", "nr-rrc.serialNumber.upd_nb",
+ FT_UINT16, BASE_DEC, NULL, 0x000f,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningType_value,
+ { "Warning Type Value", "nr-rrc.warningType.value",
+ FT_UINT16, BASE_DEC, VALS(nr_rrc_warningType_vals), 0xfe00,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningType_emergency_user_alert,
+ { "Emergency User Alert", "nr-rrc.warningType.emergency_user_alert",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningType_popup,
+ { "Popup", "nr-rrc.warningType.popup",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningMessageSegment_nb_pages,
+ { "Number of Pages", "nr-rrc.warningMessageSegment.nb_pages",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_warningMessageSegment_decoded_page,
+ { "Decoded Page", "nr-rrc.warningMessageSegment.decoded_page",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragments,
+ { "Fragments", "nr-rrc.warningMessageSegment.fragments",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment,
+ { "Fragment", "nr-rrc.warningMessageSegment.fragment",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_overlap,
+ { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_overlap_conflict,
+ { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_multiple_tails,
+ { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_too_long_fragment,
+ { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_error,
+ { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_fragment_count,
+ { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_reassembled_in,
+ { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_reassembled_length,
+ { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib7_reassembled_data,
+ { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragments,
+ { "Fragments", "nr-rrc.warningMessageSegment.fragments",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment,
+ { "Fragment", "nr-rrc.warningMessageSegment.fragment",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_overlap,
+ { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_overlap_conflict,
+ { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_multiple_tails,
+ { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_too_long_fragment,
+ { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_error,
+ { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_fragment_count,
+ { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_reassembled_in,
+ { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_reassembled_length,
+ { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_sib8_reassembled_data,
+ { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_utc_time,
+ { "UTC time", "nr-rrc.utc_time",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_local_time,
+ { "Local time", "nr-rrc.local_time",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_absolute_time,
+ { "Absolute time", "nr-rrc.absolute_time",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ };
+
+ static gint *ett[] = {
+ &ett_nr_rrc,
+#include "packet-nr-rrc-ettarr.c"
+ &ett_nr_rrc_DedicatedNAS_Message,
+ &ett_nr_rrc_targetRAT_MessageContainer,
+ &ett_nr_rrc_nas_Container,
+ &ett_nr_rrc_serialNumber,
+ &ett_nr_rrc_warningType,
+ &ett_nr_rrc_dataCodingScheme,
+ &ett_nr_rrc_sib7_fragment,
+ &ett_nr_rrc_sib7_fragments,
+ &ett_nr_rrc_sib8_fragment,
+ &ett_nr_rrc_sib8_fragments,
+ &ett_nr_rrc_warningMessageSegment,
+ &ett_nr_rrc_timeInfo,
+ &ett_nr_rrc_capabilityRequestFilter,
+ &ett_nr_rrc_sourceSCG_EUTRA_Config,
+ &ett_nr_rrc_scg_CellGroupConfigEUTRA,
+ &ett_nr_rrc_candidateCellInfoListSN_EUTRA,
+ &ett_nr_rrc_candidateCellInfoListMN_EUTRA,
+ &ett_nr_rrc_sourceConfigSCG_EUTRA,
+ &ett_nr_rrc_eutra_SCG,
+ &ett_nr_rrc_nr_SCG_Response,
+ &ett_nr_rrc_eutra_SCG_Response,
+ &ett_nr_rrc_measResultSCG_FailureMRDC,
+ &ett_nr_rrc_ul_DCCH_MessageNR,
+ &ett_nr_rrc_ul_DCCH_MessageEUTRA,
+ &ett_rr_rrc_nas_SecurityParamFromNR,
+ &ett_nr_rrc_sidelinkUEInformationNR,
+ &ett_nr_rrc_sidelinkUEInformationEUTRA,
+ &ett_nr_rrc_ueAssistanceInformationEUTRA,
+ &ett_nr_rrc_dl_DCCH_MessageNR,
+ &ett_nr_rrc_dl_DCCH_MessageEUTRA,
+ &ett_nr_rrc_sl_ConfigDedicatedEUTRA,
+ &ett_nr_rrc_sl_CapabilityInformationSidelink,
+ &ett_nr_rrc_measResult_RLF_Report_EUTRA,
+ &ett_nr_rrc_measResult_RLF_Report_EUTRA_v1690,
+ &ett_nr_rrc_locationTimestamp_r16,
+ &ett_nr_rrc_locationCoordinate_r16,
+ &ett_nr_rrc_locationError_r16,
+ &ett_nr_rrc_locationSource_r16,
+ &ett_nr_rrc_velocityEstimate_r16,
+ &ett_nr_rrc_sensor_MeasurementInformation_r16,
+ &ett_nr_rrc_sensor_MotionInformation_r16,
+ &ett_nr_rrc_bandParametersSidelinkEUTRA1_r16,
+ &ett_nr_rrc_bandParametersSidelinkEUTRA2_r16,
+ &ett_nr_rrc_sl_ParametersEUTRA1_r16,
+ &ett_nr_rrc_sl_ParametersEUTRA2_r16,
+ &ett_nr_rrc_sl_ParametersEUTRA3_r16,
+ &ett_nr_rrc_absTimeInfo,
+ &ett_nr_rrc_assistanceDataSIB_Element_r16,
+ &ett_nr_sl_V2X_ConfigCommon_r16,
+ &ett_nr_tdd_Config_r16,
+ &ett_nr_coarseLocationInfo_r17,
+ &ett_nr_sl_MeasResultsCandRelay_r17,
+ &ett_nr_sl_MeasResultServingRelay_r17,
+ &ett_nr_ReferenceLocation_r17
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_nr_rrc_number_pages_le15, { "nr-rrc.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }},
+ };
+
+ expert_module_t* expert_nr_rrc;
+ module_t *nr_rrc_module;
+
+ /* Register protocol */
+ proto_nr_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_nr_rrc, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_nr_rrc = expert_register_protocol(proto_nr_rrc);
+ expert_register_field_array(expert_nr_rrc, ei, array_length(ei));
+
+ /* Register the dissectors defined in nr-rrc.cnf */
+ register_dissector("nr-rrc.cg_configinfo", dissect_nr_rrc_cg_configinfo_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.radiobearerconfig", dissect_nr_rrc_radiobearerconfig_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.rrc_reconf_msg", dissect_nr_rrc_rrcreconfiguration_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.rrc_reconf_compl_msg", dissect_nr_rrc_rrcreconfigurationcomplete_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.ue_capabilityrat_containerlist", dissect_nr_rrc_ue_capabilityrat_containerlist_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.ue_mrdc_cap_msg", dissect_nr_rrc_ue_mrdc_capability_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.ue_nr_cap_msg", dissect_nr_rrc_ue_nr_capability_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.ul.dcch_msg_msg", dissect_nr_rrc_ul_dcch_message_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.dl.dcch_msg_msg", dissect_nr_rrc_dl_dcch_message_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.ul.ccch_msg_msg", dissect_nr_rrc_ul_ccch_message_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.dl.ccch_msg_msg", dissect_nr_rrc_dl_ccch_message_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.cellgroupconfig_msg", dissect_nr_rrc_cellgroupconfig_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.ue_radio_access_cap_info_msg", dissect_ueradioaccesscapabilityinformation_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.measconfig_msg", dissect_nr_rrc_measconfig_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.measgapconfig_msg", dissect_nr_rrc_measgapconfig_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.handoverpreparationinformation_msg", dissect_nr_rrc_handoverpreparationinformation_msg, proto_nr_rrc);
+ register_dissector("nr-rrc.handovercommand_msg", dissect_nr_rrc_handovercommand_msg, proto_nr_rrc);
+
+#include "packet-nr-rrc-dis-reg.c"
+
+ nr_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(),
+ g_direct_hash, g_direct_equal);
+
+ reassembly_table_register(&nr_rrc_sib7_reassembly_table,
+ &addresses_reassembly_table_functions);
+ reassembly_table_register(&nr_rrc_sib8_reassembly_table,
+ &addresses_reassembly_table_functions);
+
+ /* Register configuration preferences */
+ nr_rrc_module = prefs_register_protocol(proto_nr_rrc, NULL);
+ prefs_register_bool_preference(nr_rrc_module, "nas_in_root_tree",
+ "Show NAS PDU in root packet details",
+ "Whether the NAS PDU should be shown in the root packet details tree",
+ &nr_rrc_nas_in_root_tree);
+}
+
+void
+proto_reg_handoff_nr_rrc(void)
+{
+ nas_5gs_handle = find_dissector("nas-5gs");
+ lte_rrc_conn_reconf_handle = find_dissector("lte-rrc.rrc_conn_reconf");
+ lte_rrc_conn_reconf_compl_handle = find_dissector("lte-rrc.rrc_conn_reconf_compl");
+ lte_rrc_ul_dcch_handle = find_dissector("lte-rrc.ul.dcch");
+ lte_rrc_dl_dcch_handle = find_dissector("lte-rrc.dl.dcch");
+}
diff --git a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.h b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.h
new file mode 100644
index 00000000..adb1fbc4
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.h
@@ -0,0 +1,18 @@
+/* packet-nr-rrc-template.h
+ * Copyright 2018-2023, Pascal Quantin
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_NR_RRC_H
+#define PACKET_NR_RRC_H
+
+#include "packet-nr-rrc-exp.h"
+int dissect_nr_rrc_nr_RLF_Report_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+int dissect_nr_rrc_subCarrierSpacingCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+int dissect_nr_rrc_rach_ConfigCommonIAB_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+#endif /* PACKET_NR_RRC_H */
diff --git a/epan/dissectors/asn1/nrppa/CMakeLists.txt b/epan/dissectors/asn1/nrppa/CMakeLists.txt
new file mode 100644
index 00000000..3902b593
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME nrppa )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ NRPPA-CommonDataTypes.asn
+ NRPPA-Constants.asn
+ NRPPA-Containers.asn
+ NRPPA-PDU-Descriptions.asn
+ NRPPA-IEs.asn
+ NRPPA-PDU-Contents.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/nrppa/NRPPA-CommonDataTypes.asn b/epan/dissectors/asn1/nrppa/NRPPA-CommonDataTypes.asn
new file mode 100644
index 00000000..1bd32594
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/NRPPA-CommonDataTypes.asn
@@ -0,0 +1,51 @@
+-- 3GPP TS 38.455 V17.4.0 (2023-03)
+-- 9.3.6 Common definitions
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+NRPPA-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) nrppa (4) version1 (1) nrppa-CommonDataTypes (3)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+NRPPATransactionID ::= INTEGER (0..32767)
+
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0.. maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
+
+END
diff --git a/epan/dissectors/asn1/nrppa/NRPPA-Constants.asn b/epan/dissectors/asn1/nrppa/NRPPA-Constants.asn
new file mode 100644
index 00000000..16541392
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/NRPPA-Constants.asn
@@ -0,0 +1,226 @@
+-- 3GPP TS 38.455 V17.4.0 (2023-03)
+-- 9.3.7 Constant definitions
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+NRPPA-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) nrppa (4) version1 (1) nrppa-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ ProcedureCode,
+ ProtocolIE-ID
+FROM NRPPA-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-errorIndication ProcedureCode ::= 0
+id-privateMessage ProcedureCode ::= 1
+id-e-CIDMeasurementInitiation ProcedureCode ::= 2
+id-e-CIDMeasurementFailureIndication ProcedureCode ::= 3
+id-e-CIDMeasurementReport ProcedureCode ::= 4
+id-e-CIDMeasurementTermination ProcedureCode ::= 5
+id-oTDOAInformationExchange ProcedureCode ::= 6
+id-assistanceInformationControl ProcedureCode ::= 7
+id-assistanceInformationFeedback ProcedureCode ::= 8
+id-positioningInformationExchange ProcedureCode ::= 9
+id-positioningInformationUpdate ProcedureCode ::= 10
+id-Measurement ProcedureCode ::= 11
+id-MeasurementReport ProcedureCode ::= 12
+id-MeasurementUpdate ProcedureCode ::= 13
+id-MeasurementAbort ProcedureCode ::= 14
+id-MeasurementFailureIndication ProcedureCode ::= 15
+id-tRPInformationExchange ProcedureCode ::= 16
+id-positioningActivation ProcedureCode ::= 17
+id-positioningDeactivation ProcedureCode ::= 18
+id-pRSConfigurationExchange ProcedureCode ::= 19
+id-measurementPreconfiguration ProcedureCode ::= 20
+id-measurementActivation ProcedureCode ::= 21
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxNrOfErrors INTEGER ::= 256
+maxCellinRANnode INTEGER ::= 3840
+maxIndexesReport INTEGER ::= 64
+maxNoMeas INTEGER ::= 64
+maxCellReport INTEGER ::= 9
+maxCellReportNR INTEGER ::= 9
+maxnoOTDOAtypes INTEGER ::= 63
+maxServCell INTEGER ::= 5
+maxEUTRAMeas INTEGER ::= 8
+maxGERANMeas INTEGER ::= 8
+maxNRMeas INTEGER ::= 8
+maxUTRANMeas INTEGER ::= 8
+maxWLANchannels INTEGER ::= 16
+maxnoFreqHoppingBandsMinusOne INTEGER ::= 7
+maxNoPath INTEGER ::= 2
+maxNrOfPosSImessage INTEGER ::= 32
+maxnoAssistInfoFailureListItems INTEGER ::= 32
+maxNrOfSegments INTEGER ::= 64
+maxNrOfPosSIBs INTEGER ::= 32
+maxNoOfMeasTRPs INTEGER ::= 64
+maxnoTRPs INTEGER ::= 65535
+maxnoTRPInfoTypes INTEGER ::= 64
+maxnoofAngleInfo INTEGER ::= 65535
+maxnolcs-gcs-translation INTEGER ::= 3
+maxnoBcastCell INTEGER ::= 16384
+maxnoSRSTriggerStates INTEGER ::= 3
+maxnoSpatialRelations INTEGER ::= 64
+maxnoPosMeas INTEGER ::= 16384
+maxnoSRS-Carriers INTEGER ::= 32
+maxnoSCSs INTEGER ::= 5
+maxnoSRS-Resources INTEGER ::= 64
+maxnoSRS-PosResources INTEGER ::= 64
+maxnoSRS-ResourceSets INTEGER ::= 16
+maxnoSRS-ResourcePerSet INTEGER ::= 16
+maxnoSRS-PosResourceSets INTEGER ::= 16
+maxnoSRS-PosResourcePerSet INTEGER ::= 16
+maxPRS-ResourceSets INTEGER ::= 2
+maxPRS-ResourcesPerSet INTEGER ::= 64
+maxNoSSBs INTEGER ::= 255
+maxnoofPRSresourceSet INTEGER ::= 8
+maxnoofPRSresource INTEGER ::= 64
+maxnoofULAoAs INTEGER ::= 8
+maxNoPathExtended INTEGER ::= 8
+maxnoARPs INTEGER ::= 16
+maxnoUETEGs INTEGER ::= 256
+maxnoTRPTEGs INTEGER ::= 8
+maxFreqLayers INTEGER ::= 4
+maxNumResourcesPerAngle INTEGER ::= 24
+maxnoAzimuthAngles INTEGER ::= 3600
+maxnoElevationAngles INTEGER ::= 1801
+maxnoPRSTRPs INTEGER ::= 256
+
+
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Cause ProtocolIE-ID ::= 0
+id-CriticalityDiagnostics ProtocolIE-ID ::= 1
+id-LMF-UE-Measurement-ID ProtocolIE-ID ::= 2
+id-ReportCharacteristics ProtocolIE-ID ::= 3
+id-MeasurementPeriodicity ProtocolIE-ID ::= 4
+id-MeasurementQuantities ProtocolIE-ID ::= 5
+id-RAN-UE-Measurement-ID ProtocolIE-ID ::= 6
+id-E-CID-MeasurementResult ProtocolIE-ID ::= 7
+id-OTDOACells ProtocolIE-ID ::= 8
+id-OTDOA-Information-Type-Group ProtocolIE-ID ::= 9
+id-OTDOA-Information-Type-Item ProtocolIE-ID ::= 10
+id-MeasurementQuantities-Item ProtocolIE-ID ::= 11
+id-RequestedSRSTransmissionCharacteristics ProtocolIE-ID ::= 12
+id-Cell-Portion-ID ProtocolIE-ID ::= 14
+id-OtherRATMeasurementQuantities ProtocolIE-ID ::= 15
+id-OtherRATMeasurementQuantities-Item ProtocolIE-ID ::= 16
+id-OtherRATMeasurementResult ProtocolIE-ID ::= 17
+id-WLANMeasurementQuantities ProtocolIE-ID ::= 19
+id-WLANMeasurementQuantities-Item ProtocolIE-ID ::= 20
+id-WLANMeasurementResult ProtocolIE-ID ::= 21
+id-TDD-Config-EUTRA-Item ProtocolIE-ID ::= 22
+id-Assistance-Information ProtocolIE-ID ::= 23
+id-Broadcast ProtocolIE-ID ::= 24
+id-AssistanceInformationFailureList ProtocolIE-ID ::= 25
+id-SRSConfiguration ProtocolIE-ID ::= 26
+id-MeasurementResult ProtocolIE-ID ::= 27
+id-TRP-ID ProtocolIE-ID ::= 28
+id-TRPInformationTypeListTRPReq ProtocolIE-ID ::= 29
+id-TRPInformationListTRPResp ProtocolIE-ID ::= 30
+id-MeasurementBeamInfoRequest ProtocolIE-ID ::= 31
+id-ResultSS-RSRP ProtocolIE-ID ::= 32
+id-ResultSS-RSRQ ProtocolIE-ID ::= 33
+id-ResultCSI-RSRP ProtocolIE-ID ::= 34
+id-ResultCSI-RSRQ ProtocolIE-ID ::= 35
+id-AngleOfArrivalNR ProtocolIE-ID ::= 36
+id-GeographicalCoordinates ProtocolIE-ID ::= 37
+id-PositioningBroadcastCells ProtocolIE-ID ::= 38
+id-LMF-Measurement-ID ProtocolIE-ID ::= 39
+id-RAN-Measurement-ID ProtocolIE-ID ::= 40
+id-TRP-MeasurementRequestList ProtocolIE-ID ::= 41
+id-TRP-MeasurementResponseList ProtocolIE-ID ::= 42
+id-TRP-MeasurementReportList ProtocolIE-ID ::= 43
+id-SRSType ProtocolIE-ID ::= 44
+id-ActivationTime ProtocolIE-ID ::= 45
+id-SRSResourceSetID ProtocolIE-ID ::= 46
+id-TRPList ProtocolIE-ID ::= 47
+id-SRSSpatialRelation ProtocolIE-ID ::= 48
+id-SystemFrameNumber ProtocolIE-ID ::= 49
+id-SlotNumber ProtocolIE-ID ::= 50
+id-SRSResourceTrigger ProtocolIE-ID ::= 51
+id-TRPMeasurementQuantities ProtocolIE-ID ::= 52
+id-AbortTransmission ProtocolIE-ID ::= 53
+id-SFNInitialisationTime ProtocolIE-ID ::= 54
+id-ResultNR ProtocolIE-ID ::= 55
+id-ResultEUTRA ProtocolIE-ID ::= 56
+id-TRPInformationTypeItem ProtocolIE-ID ::= 57
+id-CGI-NR ProtocolIE-ID ::= 58
+id-SFNInitialisationTime-NR ProtocolIE-ID ::= 59
+id-Cell-ID ProtocolIE-ID ::= 60
+id-SrsFrequency ProtocolIE-ID ::= 61
+id-TRPType ProtocolIE-ID ::= 62
+id-SRSSpatialRelationPerSRSResource ProtocolIE-ID ::= 63
+id-MeasurementPeriodicityExtended ProtocolIE-ID ::= 64
+id-PRS-Resource-ID ProtocolIE-ID ::= 65
+id-PRSTRPList ProtocolIE-ID ::= 66
+id-PRSTransmissionTRPList ProtocolIE-ID ::= 67
+id-OnDemandPRS ProtocolIE-ID ::= 68
+id-AoA-SearchWindow ProtocolIE-ID ::= 69
+id-TRP-MeasurementUpdateList ProtocolIE-ID ::= 70
+id-ZoA ProtocolIE-ID ::= 71
+id-ResponseTime ProtocolIE-ID ::= 72
+id-UEReportingInformation ProtocolIE-ID ::= 73
+id-MultipleULAoA ProtocolIE-ID ::= 74
+id-UL-SRS-RSRPP ProtocolIE-ID ::= 75
+id-SRSResourcetype ProtocolIE-ID ::= 76
+id-ExtendedAdditionalPathList ProtocolIE-ID ::= 77
+id-ARPLocationInfo ProtocolIE-ID ::= 78
+id-ARP-ID ProtocolIE-ID ::= 79
+id-LoS-NLoSInformation ProtocolIE-ID ::= 80
+id-UETxTEGAssociationList ProtocolIE-ID ::= 81
+id-NumberOfTRPRxTEG ProtocolIE-ID ::= 82
+id-NumberOfTRPRxTxTEG ProtocolIE-ID ::= 83
+id-TRPTxTEGAssociation ProtocolIE-ID ::= 84
+id-TRPTEGInformation ProtocolIE-ID ::= 85
+id-TRP-Rx-TEGInformation ProtocolIE-ID ::= 86
+id-TRP-PRS-Information-List ProtocolIE-ID ::= 87
+id-PRS-Measurements-Info-List ProtocolIE-ID ::= 88
+id-PRSConfigRequestType ProtocolIE-ID ::= 89
+id-UE-TEG-Info-Request ProtocolIE-ID ::= 90
+id-MeasurementTimeOccasion ProtocolIE-ID ::= 91
+id-MeasurementCharacteristicsRequestIndicator ProtocolIE-ID ::= 92
+id-TRPBeamAntennaInformation ProtocolIE-ID ::= 93
+id-NR-TADV ProtocolIE-ID ::= 94
+id-MeasurementAmount ProtocolIE-ID ::= 95
+id-pathPower ProtocolIE-ID ::= 96
+id-PreconfigurationResult ProtocolIE-ID ::= 97
+id-RequestType ProtocolIE-ID ::= 98
+id-UE-TEG-ReportingPeriodicity ProtocolIE-ID ::= 99
+id-SRSPortIndex ProtocolIE-ID ::= 100
+id-procedure-code-101-not-to-be-used ProtocolIE-ID ::= 101
+id-procedure-code-102-not-to-be-used ProtocolIE-ID ::= 102
+id-procedure-code-103-not-to-be-used ProtocolIE-ID ::= 103
+id-UETxTimingErrorMargin ProtocolIE-ID ::= 104
+id-MeasurementPeriodicityNR-AoA ProtocolIE-ID ::= 105
+id-SRSTransmissionStatus ProtocolIE-ID ::= 106
+
+
+
+END
diff --git a/epan/dissectors/asn1/nrppa/NRPPA-Containers.asn b/epan/dissectors/asn1/nrppa/NRPPA-Containers.asn
new file mode 100644
index 00000000..fbb24742
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/NRPPA-Containers.asn
@@ -0,0 +1,152 @@
+-- 3GPP TS 38.455 V17.4.0 (2023-03)
+-- 9.3.8 Container definitions
+--
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+NRPPA-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) nrppa (4) version1 (1) nrppa-Containers (5)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+FROM NRPPA-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+NRPPA-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+NRPPA-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+NRPPA-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container { NRPPA-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container { NRPPA-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field { NRPPA-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id NRPPA-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality NRPPA-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value NRPPA-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, NRPPA-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer { NRPPA-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField { NRPPA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id NRPPA-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality NRPPA-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue NRPPA-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container { NRPPA-PRIVATE-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field { NRPPA-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id NRPPA-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality NRPPA-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value NRPPA-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/nrppa/NRPPA-IEs.asn b/epan/dissectors/asn1/nrppa/NRPPA-IEs.asn
new file mode 100644
index 00000000..dda9b4d3
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/NRPPA-IEs.asn
@@ -0,0 +1,3206 @@
+-- 3GPP TS 38.455 V17.4.0 (2023-03)
+-- 9.3.5 Information Element definitions
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+NRPPA-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) nrppa (4) version1 (1) nrppa-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ id-MeasurementQuantities-Item,
+ id-CGI-NR,
+ id-SFNInitialisationTime-NR,
+ id-GeographicalCoordinates,
+ id-ResultSS-RSRP,
+ id-ResultSS-RSRQ,
+ id-ResultCSI-RSRP,
+ id-ResultCSI-RSRQ,
+ id-AngleOfArrivalNR,
+ id-ResultNR,
+ id-ResultEUTRA,
+ maxCellinRANnode,
+ maxCellReport,
+ maxNrOfErrors,
+ maxNoMeas,
+ maxnoOTDOAtypes,
+ maxServCell,
+ id-OtherRATMeasurementQuantities-Item,
+ id-WLANMeasurementQuantities-Item,
+ maxGERANMeas,
+ maxUTRANMeas,
+ maxWLANchannels,
+ maxnoFreqHoppingBandsMinusOne,
+ id-TDD-Config-EUTRA-Item,
+ maxNrOfPosSImessage,
+ maxnoAssistInfoFailureListItems,
+ maxNrOfSegments,
+ maxNrOfPosSIBs,
+ maxnoPosMeas,
+ maxnoTRPs,
+ maxnoTRPInfoTypes,
+ maxNoOfMeasTRPs,
+ maxNoPath,
+ maxnoofAngleInfo,
+ maxnolcs-gcs-translation,
+ maxnoBcastCell,
+ maxnoSRSTriggerStates,
+ maxnoSpatialRelations,
+ maxNRMeas,
+ maxEUTRAMeas,
+ maxIndexesReport,
+ maxCellReportNR,
+ maxnoSRS-Carriers,
+ maxnoSCSs,
+ maxnoSRS-Resources,
+ maxnoSRS-PosResources,
+ maxnoSRS-ResourceSets,
+ maxnoSRS-ResourcePerSet,
+ maxnoSRS-PosResourceSets,
+ maxnoSRS-PosResourcePerSet,
+ maxPRS-ResourceSets,
+ maxPRS-ResourcesPerSet,
+ maxNoSSBs,
+ maxnoofPRSresourceSet,
+ maxnoofPRSresource,
+ maxnoofULAoAs,
+ maxNoPathExtended,
+ maxnoARPs,
+ maxnoTRPTEGs,
+ maxnoUETEGs,
+ maxFreqLayers,
+ maxnoPRSTRPs,
+ maxNumResourcesPerAngle,
+ maxnoAzimuthAngles,
+ maxnoElevationAngles,
+ id-Cell-ID,
+ id-TRPInformationTypeItem,
+ id-SrsFrequency,
+ id-TRPType,
+ id-SRSSpatialRelationPerSRSResource,
+ id-PRS-Resource-ID,
+ id-OnDemandPRS,
+ id-AoA-SearchWindow,
+ id-ZoA,
+ id-MultipleULAoA,
+ id-UL-SRS-RSRPP,
+ id-SRSResourcetype,
+ id-ExtendedAdditionalPathList,
+ id-ARPLocationInfo,
+ id-ARP-ID,
+ id-LoS-NLoSInformation,
+ id-NumberOfTRPRxTEG,
+ id-NumberOfTRPRxTxTEG,
+ id-TRPTxTEGAssociation,
+ id-TRPTEGInformation,
+ id-TRP-Rx-TEGInformation,
+ id-TRPBeamAntennaInformation,
+ id-NR-TADV,
+ id-pathPower,
+ id-SRSPortIndex,
+ id-UETxTimingErrorMargin
+
+
+
+
+FROM NRPPA-Constants
+
+ Criticality,
+ NRPPATransactionID,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+
+FROM NRPPA-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Single-Container{},
+
+ NRPPA-PROTOCOL-EXTENSION,
+ NRPPA-PROTOCOL-IES
+
+FROM NRPPA-Containers;
+
+-- A
+
+AbortTransmission ::= CHOICE {
+ deactivateSRSResourceSetID SRSResourceSetID,
+ releaseALL NULL,
+ choice-extension ProtocolIE-Single-Container { { AbortTransmission-ExtIEs } }
+}
+
+AbortTransmission-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+ActiveULBWP ::= SEQUENCE {
+ locationAndBandwidth INTEGER (0..37949,...),
+ subcarrierSpacing ENUMERATED {kHz15, kHz30, kHz60, kHz120,...},
+ cyclicPrefix ENUMERATED {normal, extended},
+ txDirectCurrentLocation INTEGER (0..3301,...),
+ shift7dot5kHz ENUMERATED {true, ...} OPTIONAL,
+ sRSConfig SRSConfig,
+ iE-Extensions ProtocolExtensionContainer { { ActiveULBWP-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ActiveULBWP-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AdditionalPathList ::= SEQUENCE (SIZE (1.. maxNoPath)) OF AdditionalPathListItem
+
+
+AdditionalPathListItem ::= SEQUENCE {
+ relativeTimeOfPath RelativePathDelay,
+ pathQuality TrpMeasurementQuality OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalPathListItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AdditionalPathListItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-MultipleULAoA CRITICALITY ignore EXTENSION MultipleULAoA PRESENCE optional}|
+ { ID id-pathPower CRITICALITY ignore EXTENSION UL-SRS-RSRPP PRESENCE optional},
+ ...
+}
+
+ExtendedAdditionalPathList ::= SEQUENCE (SIZE (1.. maxNoPathExtended)) OF ExtendedAdditionalPathList-Item
+
+
+ExtendedAdditionalPathList-Item ::= SEQUENCE {
+ relativeTimeOfPath RelativePathDelay,
+ pathQuality TrpMeasurementQuality OPTIONAL,
+ multipleULAoA MultipleULAoA OPTIONAL,
+ pathPower UL-SRS-RSRPP OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ExtendedAdditionalPathList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExtendedAdditionalPathList-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AoA-AssistanceInfo ::= SEQUENCE {
+ angleMeasurement AngleMeasurementType,
+ lCS-to-GCS-Translation LCS-to-GCS-Translation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AoA-AssistanceInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AoA-AssistanceInfo-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AperiodicSRSResourceTriggerList ::= SEQUENCE (SIZE(1..maxnoSRSTriggerStates)) OF AperiodicSRSResourceTrigger
+
+AperiodicSRSResourceTrigger ::= INTEGER (1..3)
+
+AngleMeasurementType ::= CHOICE {
+ expected-ULAoA Expected-UL-AoA,
+ expected-ZoA Expected-ZoA-only,
+ choice-extension ProtocolIE-Single-Container { { AngleMeasurementType-ExtIEs } }
+}
+
+AngleMeasurementType-ExtIEs NRPPA-PROTOCOL-IES ::= {
+...
+}
+
+Expected-UL-AoA ::= SEQUENCE {
+ expected-Azimuth-AoA Expected-Azimuth-AoA,
+ expected-Zenith-AoA Expected-Zenith-AoA OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { Expected-UL-AoA-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Expected-UL-AoA-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Expected-ZoA-only ::= SEQUENCE {
+ expected-ZoA-only Expected-Zenith-AoA,
+ iE-extensions ProtocolExtensionContainer { { Expected-ZoA-only-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Expected-ZoA-only-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Expected-Azimuth-AoA ::= SEQUENCE {
+ expected-Azimuth-AoA-value Expected-Value-AoA,
+ expected-Azimuth-AoA-uncertainty Uncertainty-range-AoA,
+ iE-extensions ProtocolExtensionContainer { { Expected-Azimuth-AoA-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Expected-Azimuth-AoA-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Expected-Zenith-AoA ::= SEQUENCE {
+ expected-Zenith-AoA-value Expected-Value-ZoA,
+ expected-Zenith-AoA-uncertainty Uncertainty-range-ZoA,
+ iE-extensions ProtocolExtensionContainer { { Expected-Zenith-AoA-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Expected-Zenith-AoA-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ARP-ID ::= INTEGER (1..16, ...)
+
+ARPLocationInformation ::= SEQUENCE (SIZE (1..maxnoARPs)) OF ARPLocationInformation-Item
+
+ARPLocationInformation-Item ::= SEQUENCE {
+ aRP-ID ARP-ID,
+ aRPLocationType ARPLocationType,
+ iE-Extensions ProtocolExtensionContainer { { ARPLocationInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ARPLocationInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ARPLocationType ::= CHOICE {
+ aRPPositionRelativeGeodetic RelativeGeodeticLocation,
+ aRPPositionRelativeCartesian RelativeCartesianLocation,
+ choice-extension ProtocolIE-Single-Container { { ARPLocationType-ExtIEs } }
+}
+
+ARPLocationType-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+Assistance-Information ::= SEQUENCE {
+ systemInformation SystemInformation,
+ iE-Extensions ProtocolExtensionContainer { { Assistance-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Assistance-Information-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssistanceInformationFailureList ::= SEQUENCE (SIZE (1..maxnoAssistInfoFailureListItems)) OF SEQUENCE {
+ posSIB-Type PosSIB-Type,
+ outcome Outcome,
+ iE-Extensions ProtocolExtensionContainer { {AssistanceInformationFailureList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceInformationFailureList-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssistanceInformationMetaData ::= SEQUENCE {
+ encrypted ENUMERATED {true, ...} OPTIONAL,
+ gNSSID ENUMERATED {gps, sbas, qzss, galileo, glonass, bds, navic, ...} OPTIONAL,
+ sBASID ENUMERATED {waas, egnos, msas, gagan, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AssistanceInformationMetaData-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceInformationMetaData-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- B
+
+BandwidthSRS ::= CHOICE {
+ fR1 ENUMERATED {mHz5, mHz10, mHz20, mHz40, mHz50, mHz80, mHz100, ...},
+ fR2 ENUMERATED {mHz50, mHz100, mHz200, mHz400, ...},
+ choice-extension ProtocolIE-Single-Container { { BandwidthSRS-ExtIEs } }
+}
+
+BandwidthSRS-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+BCCH ::= INTEGER (0..1023, ...)
+
+Broadcast ::= ENUMERATED {
+ start,
+ stop,
+ ...
+}
+
+BroadcastPeriodicity ::= ENUMERATED {
+ ms80,
+ ms160,
+ ms320,
+ ms640,
+ ms1280,
+ ms2560,
+ ms5120,
+ ...
+}
+
+PositioningBroadcastCells ::= SEQUENCE (SIZE (1..maxnoBcastCell)) OF NG-RAN-CGI
+
+BSSID ::= OCTET STRING (SIZE(6))
+
+-- C
+
+CarrierFreq ::= SEQUENCE {
+ pointA INTEGER (0..3279165),
+ offsetToCarrier INTEGER (0..2199, ...),
+ iE-Extensions ProtocolExtensionContainer { {CarrierFreq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CarrierFreq-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ choice-Extension ProtocolIE-Single-Container {{ Cause-ExtensionIE }}
+}
+
+Cause-ExtensionIE NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ unspecified,
+ abstract-syntax-error-falsely-constructed-message,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unspecified,
+ requested-item-not-supported,
+ requested-item-temporarily-not-available,
+ ...,
+ serving-NG-RAN-node-changed,
+ requested-item-not-supported-on-time
+
+}
+
+Cell-Portion-ID ::= INTEGER (0..4095,...)
+
+CGI-EUTRA ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ eUTRAcellIdentifier EUTRACellIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {CGI-EUTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CGI-EUTRA-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CGI-NR ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ nRcellIdentifier NRCellIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {CGI-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CGI-NR-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPLength-EUTRA ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ nrppatransactionID NRPPATransactionID OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CriticalityDiagnostics-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- D
+
+DL-Bandwidth-EUTRA ::= ENUMERATED {
+ bw6,
+ bw15,
+ bw25,
+ bw50,
+ bw75,
+ bw100,
+ ...
+}
+
+DL-PRS ::= SEQUENCE {
+ prsid INTEGER (0..255),
+ dl-PRSResourceSetID PRS-Resource-Set-ID,
+ dl-PRSResourceID PRS-Resource-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-PRS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-PRS-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-PRSMutingPattern ::= CHOICE {
+ two BIT STRING (SIZE(2)),
+ four BIT STRING (SIZE(4)),
+ six BIT STRING (SIZE(6)),
+ eight BIT STRING (SIZE(8)),
+ sixteen BIT STRING (SIZE(16)),
+ thirty-two BIT STRING (SIZE(32)),
+ choice-extension ProtocolIE-Single-Container { { DL-PRSMutingPattern-ExtIEs } }
+}
+
+DL-PRSMutingPattern-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+DLPRSResourceCoordinates ::= SEQUENCE {
+ listofDL-PRSResourceSetARP SEQUENCE (SIZE(1.. maxPRS-ResourceSets)) OF DLPRSResourceSetARP,
+ iE-Extensions ProtocolExtensionContainer { { DLPRSResourceCoordinates-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DLPRSResourceCoordinates-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DLPRSResourceSetARP ::= SEQUENCE {
+ dl-PRSResourceSetID PRS-Resource-Set-ID,
+ dL-PRSResourceSetARPLocation DL-PRSResourceSetARPLocation,
+ listofDL-PRSResourceARP SEQUENCE (SIZE(1.. maxPRS-ResourcesPerSet)) OF DLPRSResourceARP,
+ iE-Extensions ProtocolExtensionContainer { { DLPRSResourceSetARP-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DLPRSResourceSetARP-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DL-PRSResourceSetARPLocation ::= CHOICE {
+ relativeGeodeticLocation RelativeGeodeticLocation,
+ relativeCartesianLocation RelativeCartesianLocation,
+ choice-Extension ProtocolIE-Single-Container { { DL-PRSResourceSetARPLocation-ExtIEs } }
+}
+
+DL-PRSResourceSetARPLocation-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+
+DLPRSResourceARP ::= SEQUENCE {
+ dl-PRSResourceID PRS-Resource-ID,
+ dL-PRSResourceARPLocation DL-PRSResourceARPLocation,
+ iE-Extensions ProtocolExtensionContainer { { DLPRSResourceARP-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DLPRSResourceARP-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-PRSResourceARPLocation ::= CHOICE {
+ relativeGeodeticLocation RelativeGeodeticLocation,
+ relativeCartesianLocation RelativeCartesianLocation,
+ choice-Extension ProtocolIE-Single-Container { { DL-PRSResourceARPLocation-ExtIEs } }
+}
+
+DL-PRSResourceARPLocation-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+-- E
+
+E-CID-MeasurementResult ::= SEQUENCE {
+ servingCell-ID NG-RAN-CGI,
+ servingCellTAC TAC,
+ nG-RANAccessPointPosition NG-RANAccessPointPosition OPTIONAL,
+ measuredResults MeasuredResults OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-CID-MeasurementResult-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-CID-MeasurementResult-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-GeographicalCoordinates CRITICALITY ignore EXTENSION GeographicalCoordinates PRESENCE optional},
+ ...
+}
+
+EUTRACellIdentifier ::= BIT STRING (SIZE (28))
+
+EARFCN ::= INTEGER (0..262143, ...)
+
+Expected-Value-AoA ::= INTEGER (0..3599)
+
+Expected-Value-ZoA ::= INTEGER (0..1799)
+
+
+-- F
+
+-- G
+
+GeographicalCoordinates ::= SEQUENCE {
+ tRPPositionDefinitionType TRPPositionDefinitionType,
+ dLPRSResourceCoordinates DLPRSResourceCoordinates OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GeographicalCoordinates-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GeographicalCoordinates-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-ARPLocationInfo CRITICALITY ignore EXTENSION ARPLocationInformation PRESENCE optional},
+ ...
+}
+
+
+GNB-RxTxTimeDiff ::= SEQUENCE {
+
+ rxTxTimeDiff GNBRxTxTimeDiffMeas,
+ additionalPathList AdditionalPathList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-RxTxTimeDiff-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GNB-RxTxTimeDiff-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedAdditionalPathList CRITICALITY ignore EXTENSION ExtendedAdditionalPathList PRESENCE optional}|
+ { ID id-TRPTEGInformation CRITICALITY ignore EXTENSION TRPTEGInformation PRESENCE optional },
+
+ ...
+}
+
+
+GNBRxTxTimeDiffMeas ::= CHOICE {
+ k0 INTEGER (0.. 1970049),
+ k1 INTEGER (0.. 985025),
+ k2 INTEGER (0.. 492513),
+ k3 INTEGER (0.. 246257),
+ k4 INTEGER (0.. 123129),
+ k5 INTEGER (0.. 61565),
+ choice-extension ProtocolIE-Single-Container { { GNBRxTxTimeDiffMeas-ExtIEs } }
+}
+
+GNBRxTxTimeDiffMeas-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+-- H
+
+HESSID ::= OCTET STRING (SIZE(6))
+
+-- I
+
+-- J
+
+-- K
+
+-- L
+
+LCS-to-GCS-Translation::= SEQUENCE {
+ alpha INTEGER (0..3599),
+ beta INTEGER (0..3599),
+ gamma INTEGER (0..3599),
+ iE-Extensions ProtocolExtensionContainer { { LCS-to-GCS-Translation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LCS-to-GCS-Translation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LCS-to-GCS-TranslationItem::= SEQUENCE {
+ alpha INTEGER (0..359),
+ alphaFine INTEGER (0..9) OPTIONAL,
+ beta INTEGER (0..359),
+ betaFine INTEGER (0..9) OPTIONAL,
+ gamma INTEGER (0..359),
+ gammaFine INTEGER (0..9) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { LCS-to-GCS-TranslationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LCS-to-GCS-TranslationItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LocationUncertainty ::= SEQUENCE {
+ horizontalUncertainty INTEGER (0..255),
+ horizontalConfidence INTEGER (0..100),
+ verticalUncertainty INTEGER (0..255),
+ verticalConfidence INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { LocationUncertainty-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LocationUncertainty-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LoS-NLoSIndicatorHard ::= ENUMERATED {nlos, los}
+
+LoS-NLoSIndicatorSoft ::= INTEGER (0..10)
+
+LoS-NLoSInformation ::= CHOICE {
+ loS-NLoSIndicatorSoft LoS-NLoSIndicatorSoft,
+ loS-NLoSIndicatorHard LoS-NLoSIndicatorHard,
+ choice-Extension ProtocolIE-Single-Container {{ LoS-NLoSInformation-ExtIEs}}
+
+}
+
+LoS-NLoSInformation-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+
+-- M
+
+Measurement-ID ::= INTEGER (1.. 65536, ...)
+
+MeasurementAmount ::= ENUMERATED {ma0, ma1, ma2, ma4, ma8, ma16, ma32, ma64}
+
+MeasurementBeamInfoRequest ::= ENUMERATED {true, ...}
+
+MeasurementBeamInfo ::= SEQUENCE {
+ pRS-Resource-ID PRS-Resource-ID OPTIONAL,
+ pRS-Resource-Set-ID PRS-Resource-Set-ID OPTIONAL,
+ sSB-Index SSB-Index OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MeasurementBeamInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MeasurementBeamInfo-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MeasurementPeriodicity ::= ENUMERATED {
+ ms120,
+ ms240,
+ ms480,
+ ms640,
+ ms1024,
+ ms2048,
+ ms5120,
+ ms10240,
+ min1,
+ min6,
+ min12,
+ min30,
+ min60,
+ ...,
+ ms20480,
+ ms40960,
+ extended
+}
+
+MeasurementPeriodicityExtended ::= ENUMERATED {
+ ms160,
+ ms320,
+ ms1280,
+ ms2560,
+ ms61440,
+ ms81920,
+ ms368640,
+ ms737280,
+ ms1843200,
+ ...
+
+}
+
+MeasurementPeriodicityNR-AoA ::= ENUMERATED {
+ ms160,
+ ms320,
+ ms640,
+ ms1280,
+ ms2560,
+ ms5120,
+ ms10240,
+ ms20480,
+ ms40960,
+ ms61440,
+ ms81920,
+ ms368640,
+ ms737280,
+ ms1843200,
+ ...
+
+}
+
+MeasurementQuantities ::= SEQUENCE (SIZE (1.. maxNoMeas)) OF ProtocolIE-Single-Container { {MeasurementQuantities-ItemIEs} }
+
+MeasurementQuantities-ItemIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-MeasurementQuantities-Item CRITICALITY reject TYPE MeasurementQuantities-Item PRESENCE mandatory}
+}
+
+MeasurementQuantities-Item ::= SEQUENCE {
+ measurementQuantitiesValue MeasurementQuantitiesValue,
+ iE-Extensions ProtocolExtensionContainer { { MeasurementQuantitiesValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MeasurementQuantitiesValue-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MeasurementQuantitiesValue ::= ENUMERATED {
+ cell-ID,
+ angleOfArrival,
+ timingAdvanceType1,
+ timingAdvanceType2,
+ rSRP,
+ rSRQ,
+ ... ,
+ sS-RSRP,
+ sS-RSRQ,
+ cSI-RSRP,
+ cSI-RSRQ,
+ angleOfArrivalNR,
+ timingAdvanceNR
+}
+
+MeasurementTimeOccasion ::= ENUMERATED {o1, o4, ...}
+
+MeasurementCharacteristicsRequestIndicator ::= BIT STRING (SIZE (16))
+
+MeasuredResults ::= SEQUENCE (SIZE (1.. maxNoMeas)) OF MeasuredResultsValue
+
+MeasuredResultsValue ::= CHOICE {
+ valueAngleOfArrival-EUTRA INTEGER (0..719),
+ valueTimingAdvanceType1-EUTRA INTEGER (0..7690),
+ valueTimingAdvanceType2-EUTRA INTEGER (0..7690),
+ resultRSRP-EUTRA ResultRSRP-EUTRA,
+ resultRSRQ-EUTRA ResultRSRQ-EUTRA,
+ choice-Extension ProtocolIE-Single-Container {{ MeasuredResultsValue-ExtensionIE }}
+}
+
+MeasuredResultsValue-ExtensionIE NRPPA-PROTOCOL-IES ::= {
+{ ID id-ResultSS-RSRP CRITICALITY ignore TYPE ResultSS-RSRP PRESENCE mandatory }|
+ { ID id-ResultSS-RSRQ CRITICALITY ignore TYPE ResultSS-RSRQ PRESENCE mandatory }|
+ { ID id-ResultCSI-RSRP CRITICALITY ignore TYPE ResultCSI-RSRP PRESENCE mandatory }|
+ { ID id-ResultCSI-RSRQ CRITICALITY ignore TYPE ResultCSI-RSRQ PRESENCE mandatory }|
+ { ID id-AngleOfArrivalNR CRITICALITY ignore TYPE UL-AoA PRESENCE mandatory }|
+ { ID id-NR-TADV CRITICALITY ignore TYPE NR-TADV PRESENCE mandatory },
+ ...
+}
+
+MultipleULAoA ::= SEQUENCE {
+ multipleULAoA MultipleULAoA-List,
+ iE-Extensions ProtocolExtensionContainer { { MultipleULAoA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MultipleULAoA-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultipleULAoA-List ::= SEQUENCE (SIZE(1.. maxnoofULAoAs)) OF MultipleULAoA-Item
+
+MultipleULAoA-Item ::= CHOICE {
+ uL-AoA UL-AoA,
+ ul-ZoA ZoA,
+ choice-extension ProtocolIE-Single-Container { { MultipleULAoA-Item-ExtIEs } }
+}
+
+MultipleULAoA-Item-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+
+-- N
+
+NarrowBandIndex ::= INTEGER (0..15,...)
+
+NG-RANAccessPointPosition ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ directionOfAltitude ENUMERATED {height, depth},
+ altitude INTEGER (0..32767),
+ uncertaintySemi-major INTEGER (0..127),
+ uncertaintySemi-minor INTEGER (0..127),
+ orientationOfMajorAxis INTEGER (0..179),
+ uncertaintyAltitude INTEGER (0..127),
+ confidence INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { NG-RANAccessPointPosition-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NG-RANAccessPointPosition-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NGRANHighAccuracyAccessPointPosition ::= SEQUENCE {
+ latitude INTEGER (-2147483648.. 2147483647),
+ longitude INTEGER (-2147483648.. 2147483647),
+ altitude INTEGER (-64000..1280000),
+ uncertaintySemi-major INTEGER (0..255),
+ uncertaintySemi-minor INTEGER (0..255),
+ orientationOfMajorAxis INTEGER (0..179),
+ horizontalConfidence INTEGER (0..100),
+ uncertaintyAltitude INTEGER (0..255),
+ verticalConfidence INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { NGRANHighAccuracyAccessPointPosition-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NGRANHighAccuracyAccessPointPosition-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NG-RAN-CGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ nG-RANcell NG-RANCell,
+ iE-Extensions ProtocolExtensionContainer { {NG-RAN-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NG-RAN-CGI-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NG-RANCell ::= CHOICE {
+ eUTRA-CellID EUTRACellIdentifier,
+ nR-CellID NRCellIdentifier,
+ choice-Extension ProtocolIE-Single-Container {{ NG-RANCell-ExtensionIE }}
+}
+
+NG-RANCell-ExtensionIE NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+NR-ARFCN ::= INTEGER (0..3279165)
+
+NRCellIdentifier ::= BIT STRING (SIZE (36))
+
+NR-PCI ::= INTEGER (0..1007)
+
+NR-PRS-Beam-Information ::= SEQUENCE {
+ nR-PRS-Beam-InformationList SEQUENCE (SIZE(1.. maxPRS-ResourceSets)) OF NR-PRS-Beam-InformationItem,
+ lCS-to-GCS-TranslationList SEQUENCE (SIZE(1..maxnolcs-gcs-translation)) OF LCS-to-GCS-TranslationItem OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NR-PRS-Beam-Information-IEs} } OPTIONAL,
+ ...
+}
+
+NR-PRS-Beam-Information-IEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-PRS-Beam-InformationItem ::= SEQUENCE {
+ pRSresourceSetID PRS-Resource-Set-ID,
+ pRSAngle SEQUENCE (SIZE(1..maxPRS-ResourcesPerSet)) OF PRSAngleItem,
+ iE-Extensions ProtocolExtensionContainer { { NR-PRS-Beam-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-PRS-Beam-InformationItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-TADV ::= INTEGER (0.. 7690)
+
+NumberOfAntennaPorts-EUTRA ::= ENUMERATED {
+ n1-or-n2,
+ n4,
+ ...
+}
+
+NumberOfDlFrames-EUTRA ::= ENUMERATED {
+ sf1,
+ sf2,
+ sf4,
+ sf6,
+ ...
+}
+
+NumberOfDlFrames-Extended-EUTRA ::= INTEGER (1..160,...)
+
+NumberOfFrequencyHoppingBands ::= ENUMERATED {
+ twobands,
+ fourbands,
+ ...
+}
+
+NumberOfTRPRxTEG ::= ENUMERATED {two, three, four, six, eight, ...}
+
+NumberOfTRPRxTxTEG ::= ENUMERATED {two, three, four, six, eight, ...}
+
+NZP-CSI-RS-ResourceID::= INTEGER (0..191)
+
+-- O
+
+OnDemandPRS-Info ::= SEQUENCE {
+ onDemandPRSRequestAllowed BIT STRING (SIZE (16)),
+ allowedResourceSetPeriodicityValues BIT STRING (SIZE (24)) OPTIONAL,
+ allowedPRSBandwidthValues BIT STRING (SIZE (64)) OPTIONAL,
+ allowedResourceRepetitionFactorValues BIT STRING (SIZE (8)) OPTIONAL,
+ allowedResourceNumberOfSymbolsValues BIT STRING (SIZE (8)) OPTIONAL,
+ allowedCombSizeValues BIT STRING (SIZE (8)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { OnDemandPRS-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+OnDemandPRS-Info-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+OTDOACells ::= SEQUENCE (SIZE (1.. maxCellinRANnode)) OF SEQUENCE {
+ oTDOACellInfo OTDOACell-Information,
+ iE-Extensions ProtocolExtensionContainer { {OTDOACells-ExtIEs} } OPTIONAL,
+ ...
+}
+
+OTDOACells-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+OTDOACell-Information ::= SEQUENCE (SIZE (1..maxnoOTDOAtypes)) OF OTDOACell-Information-Item
+
+OTDOACell-Information-Item ::= CHOICE {
+ pCI-EUTRA PCI-EUTRA,
+ cGI-EUTRA CGI-EUTRA,
+ tAC TAC,
+ eARFCN EARFCN,
+ pRS-Bandwidth-EUTRA PRS-Bandwidth-EUTRA,
+ pRS-ConfigurationIndex-EUTRA PRS-ConfigurationIndex-EUTRA,
+ cPLength-EUTRA CPLength-EUTRA,
+ numberOfDlFrames-EUTRA NumberOfDlFrames-EUTRA,
+ numberOfAntennaPorts-EUTRA NumberOfAntennaPorts-EUTRA,
+ sFNInitialisationTime-EUTRA SFNInitialisationTime-EUTRA,
+ nG-RANAccessPointPosition NG-RANAccessPointPosition,
+ pRSMutingConfiguration-EUTRA PRSMutingConfiguration-EUTRA,
+ prsid-EUTRA PRS-ID-EUTRA,
+ tpid-EUTRA TP-ID-EUTRA,
+ tpType-EUTRA TP-Type-EUTRA,
+ numberOfDlFrames-Extended-EUTRA NumberOfDlFrames-Extended-EUTRA,
+ crsCPlength-EUTRA CPLength-EUTRA,
+ dL-Bandwidth-EUTRA DL-Bandwidth-EUTRA,
+ pRSOccasionGroup-EUTRA PRSOccasionGroup-EUTRA,
+ pRSFrequencyHoppingConfiguration-EUTRA PRSFrequencyHoppingConfiguration-EUTRA,
+ choice-Extension ProtocolIE-Single-Container {{ OTDOACell-Information-Item-ExtensionIE }}
+}
+
+OTDOACell-Information-Item-ExtensionIE NRPPA-PROTOCOL-IES ::= {
+ { ID id-TDD-Config-EUTRA-Item CRITICALITY ignore TYPE TDD-Config-EUTRA-Item PRESENCE mandatory }|
+ { ID id-CGI-NR CRITICALITY ignore TYPE CGI-NR PRESENCE mandatory }|
+ { ID id-SFNInitialisationTime-NR CRITICALITY ignore TYPE SFNInitialisationTime-EUTRA PRESENCE mandatory },
+ ...
+}
+
+OTDOA-Information-Item ::= ENUMERATED {
+ pci,
+ cGI,
+ tac,
+ earfcn,
+ prsBandwidth,
+ prsConfigIndex,
+ cpLength,
+ noDlFrames,
+ noAntennaPorts,
+ sFNInitTime,
+ nG-RANAccessPointPosition,
+ prsmutingconfiguration,
+ prsid,
+ tpid,
+ tpType,
+ crsCPlength,
+ dlBandwidth,
+ multipleprsConfigurationsperCell,
+ prsOccasionGroup,
+ prsFrequencyHoppingConfiguration,
+ ...,
+ tddConfig
+}
+
+OtherRATMeasurementQuantities ::= SEQUENCE (SIZE (0.. maxNoMeas)) OF ProtocolIE-Single-Container { {OtherRATMeasurementQuantities-ItemIEs} }
+
+OtherRATMeasurementQuantities-ItemIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-OtherRATMeasurementQuantities-Item CRITICALITY reject TYPE OtherRATMeasurementQuantities-Item PRESENCE mandatory}}
+
+OtherRATMeasurementQuantities-Item ::= SEQUENCE {
+ otherRATMeasurementQuantitiesValue OtherRATMeasurementQuantitiesValue,
+ iE-Extensions ProtocolExtensionContainer { { OtherRATMeasurementQuantitiesValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+OtherRATMeasurementQuantitiesValue-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+OtherRATMeasurementQuantitiesValue ::= ENUMERATED {
+ geran,
+ utran,
+ ... ,
+ nR,
+ eUTRA
+}
+
+OtherRATMeasurementResult ::= SEQUENCE (SIZE (1.. maxNoMeas)) OF OtherRATMeasuredResultsValue
+
+OtherRATMeasuredResultsValue ::= CHOICE {
+ resultGERAN ResultGERAN,
+ resultUTRAN ResultUTRAN,
+ choice-Extension ProtocolIE-Single-Container {{ OtherRATMeasuredResultsValue-ExtensionIE }}
+}
+
+
+OtherRATMeasuredResultsValue-ExtensionIE NRPPA-PROTOCOL-IES ::= {
+ { ID id-ResultNR CRITICALITY ignore TYPE ResultNR PRESENCE mandatory }|
+ { ID id-ResultEUTRA CRITICALITY ignore TYPE ResultEUTRA PRESENCE mandatory },
+ ...
+}
+
+Outcome ::= ENUMERATED {
+ failed,
+ ...
+}
+
+
+-- P
+
+PathlossReferenceInformation ::= SEQUENCE {
+ pathlossReferenceSignal PathlossReferenceSignal,
+ iE-Extensions ProtocolExtensionContainer { { PathlossReferenceInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PathlossReferenceInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PathlossReferenceSignal ::= CHOICE {
+ sSB-Reference SSB,
+ dL-PRS-Reference DL-PRS,
+ choice-Extension ProtocolIE-Single-Container {{ PathlossReferenceSignal-ExtensionIE }}
+}
+
+PathlossReferenceSignal-ExtensionIE NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+
+PCI-EUTRA ::= INTEGER (0..503, ...)
+
+PhysCellIDGERAN ::= INTEGER (0..63, ...)
+
+PhysCellIDUTRA-FDD ::= INTEGER (0..511, ...)
+
+PhysCellIDUTRA-TDD ::= INTEGER (0..127, ...)
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+PeriodicityList ::= SEQUENCE (SIZE (1.. maxnoSRS-ResourcePerSet)) OF PeriodicityItem
+
+PeriodicityItem ::= ENUMERATED {ms0dot125, ms0dot25, ms0dot5, ms0dot625, ms1, ms1dot25, ms2, ms2dot5, ms4dot, ms5, ms8, ms10, ms16, ms20, ms32, ms40, ms64, ms80m, ms160, ms320, ms640m, ms1280, ms2560, ms5120, ms10240, ...}
+
+
+PosSIBs ::= SEQUENCE (SIZE (1.. maxNrOfPosSIBs)) OF SEQUENCE {
+ posSIB-Type PosSIB-Type,
+ posSIB-Segments PosSIB-Segments,
+ assistanceInformationMetaData AssistanceInformationMetaData OPTIONAL,
+ broadcastPriority INTEGER (1..16,...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PosSIBs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PosSIBs-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosSIB-Segments ::= SEQUENCE (SIZE (1.. maxNrOfSegments)) OF SEQUENCE {
+ assistanceDataSIBelement OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { PosSIB-Segments-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PosSIB-Segments-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosSIB-Type ::= ENUMERATED {
+ posSibType1-1,
+ posSibType1-2,
+ posSibType1-3,
+ posSibType1-4,
+ posSibType1-5,
+ posSibType1-6,
+ posSibType1-7,
+ posSibType1-8,
+ posSibType2-1,
+ posSibType2-2,
+ posSibType2-3,
+ posSibType2-4,
+ posSibType2-5,
+ posSibType2-6,
+ posSibType2-7,
+ posSibType2-8,
+ posSibType2-9,
+ posSibType2-10,
+ posSibType2-11,
+ posSibType2-12,
+ posSibType2-13,
+ posSibType2-14,
+ posSibType2-15,
+ posSibType2-16,
+ posSibType2-17,
+ posSibType2-18,
+ posSibType2-19,
+ posSibType2-20,
+ posSibType2-21,
+ posSibType2-22,
+ posSibType2-23,
+ posSibType2-24,
+ posSibType2-25,
+ posSibType3-1,
+ posSibType4-1,
+ posSibType5-1,
+ posSibType6-1,
+ posSibType6-2,
+ posSibType6-3,
+ ...,
+ posSibType1-9,
+ posSibType1-10,
+ posSibType6-4,
+ posSibType6-5,
+ posSibType6-6
+}
+
+PosSRSResource-List ::= SEQUENCE (SIZE (1..maxnoSRS-PosResources)) OF PosSRSResource-Item
+
+PosSRSResource-Item ::= SEQUENCE {
+ srs-PosResourceId SRSPosResourceID,
+ transmissionCombPos TransmissionCombPos,
+ startPosition INTEGER (0..13),
+ nrofSymbols ENUMERATED {n1, n2, n4, n8, n12},
+ freqDomainShift INTEGER (0..268),
+ c-SRS INTEGER (0..63),
+ groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping },
+ resourceTypePos ResourceTypePos,
+ sequenceId INTEGER (0.. 65535),
+ spatialRelationPos SpatialRelationPos OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PosSRSResource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PosSRSResource-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PosSRSResourceID-List ::= SEQUENCE (SIZE (1..maxnoSRS-PosResources)) OF SRSPosResourceID
+
+PosSRSResourceSet-List ::= SEQUENCE (SIZE (1..maxnoSRS-PosResourceSets)) OF PosSRSResourceSet-Item
+
+PosSRSResourceIDPerSet-List ::= SEQUENCE (SIZE (1..maxnoSRS-PosResourcePerSet)) OF SRSPosResourceID
+
+
+PosSRSResourceSet-Item ::= SEQUENCE {
+ possrsResourceSetID INTEGER(0..15),
+ possRSResourceIDPerSet-List PosSRSResourceIDPerSet-List,
+ posresourceSetType PosResourceSetType,
+ iE-Extensions ProtocolExtensionContainer { { PosSRSResourceSet-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PosSRSResourceSet-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosResourceSetType ::= CHOICE {
+ periodic PosResourceSetTypePeriodic,
+ semi-persistent PosResourceSetTypeSemi-persistent,
+ aperiodic PosResourceSetTypeAperiodic,
+ choice-extension ProtocolIE-Single-Container {{ PosResourceSetType-ExtIEs }}
+}
+
+PosResourceSetType-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+PosResourceSetTypePeriodic ::= SEQUENCE {
+ posperiodicSet ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { PosResourceSetTypePeriodic-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PosResourceSetTypePeriodic-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosResourceSetTypeSemi-persistent ::= SEQUENCE {
+possemi-persistentSet ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { PosResourceSetTypeSemi-persistent-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PosResourceSetTypeSemi-persistent-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PosResourceSetTypeAperiodic ::= SEQUENCE {
+ sRSResourceTrigger INTEGER(1..3),
+ iE-Extensions ProtocolExtensionContainer { { PosResourceSetTypeAperiodic-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PosResourceSetTypeAperiodic-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PreconfigurationResult ::= BIT STRING (SIZE(8))
+
+PRS-Bandwidth-EUTRA ::= ENUMERATED {
+ bw6,
+ bw15,
+ bw25,
+ bw50,
+ bw75,
+ bw100,
+ ...
+}
+
+
+PRSAngleItem ::= SEQUENCE {
+ nRPRSAzimuth INTEGER (0..359),
+ nRPRSAzimuthFine INTEGER (0..9) OPTIONAL,
+ nRPRSElevation INTEGER (0..180) OPTIONAL,
+ nRPRSElevationFine INTEGER (0..9) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSAngleItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSAngleItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-PRS-Resource-ID CRITICALITY ignore EXTENSION PRS-Resource-ID PRESENCE optional },
+ ...
+}
+
+PRSInformationPos ::= SEQUENCE {
+ pRS-IDPos INTEGER(0..255),
+ pRS-Resource-Set-IDPos INTEGER(0..7),
+ pRS-Resource-IDPos INTEGER(0..63) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSInformationPos-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSInformationPos-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSConfigRequestType ::= ENUMERATED {configure, off, ...}
+
+PRSConfiguration ::= SEQUENCE {
+ pRSResourceSet-List PRSResourceSet-List,
+ iE-Extensions ProtocolExtensionContainer { { PRSConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSConfiguration-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PRS-ConfigurationIndex-EUTRA ::= INTEGER (0..4095, ...)
+
+PRS-ID-EUTRA ::= INTEGER (0..4095, ...)
+
+PRSMutingConfiguration-EUTRA ::= CHOICE {
+ two BIT STRING (SIZE (2)),
+ four BIT STRING (SIZE (4)),
+ eight BIT STRING (SIZE (8)),
+ sixteen BIT STRING (SIZE (16)),
+ thirty-two BIT STRING (SIZE (32)),
+ sixty-four BIT STRING (SIZE (64)),
+ one-hundred-and-twenty-eight BIT STRING (SIZE (128)),
+ two-hundred-and-fifty-six BIT STRING (SIZE (256)),
+ five-hundred-and-twelve BIT STRING (SIZE (512)),
+ one-thousand-and-twenty-four BIT STRING (SIZE (1024)),
+ choice-Extension ProtocolIE-Single-Container {{ PRSMutingConfiguration-EUTRA-ExtensionIE }}
+}
+
+PRSMutingConfiguration-EUTRA-ExtensionIE NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+PRSOccasionGroup-EUTRA ::= ENUMERATED {
+ og2,
+ og4,
+ og8,
+ og16,
+ og32,
+ og64,
+ og128,
+ ...
+}
+
+PRSFrequencyHoppingConfiguration-EUTRA ::= SEQUENCE {
+ noOfFreqHoppingBands NumberOfFrequencyHoppingBands,
+ bandPositions SEQUENCE(SIZE (1..maxnoFreqHoppingBandsMinusOne)) OF NarrowBandIndex,
+ iE-Extensions ProtocolExtensionContainer { { PRSFrequencyHoppingConfiguration-EUTRA-Item-IEs} } OPTIONAL,
+ ...
+}
+
+PRSFrequencyHoppingConfiguration-EUTRA-Item-IEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRS-Measurements-Info-List ::= SEQUENCE (SIZE(1..maxFreqLayers)) OF PRS-Measurements-Info-List-Item
+
+PRS-Measurements-Info-List-Item ::= SEQUENCE {
+ pointA INTEGER (0..3279165),
+ measPRSPeriodicity ENUMERATED {ms20, ms40, ms80, ms160, ...},
+ measPRSOffset INTEGER (0..159, ...),
+ measurementPRSLength ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6, ms10, ms20},
+ iE-Extensions ProtocolExtensionContainer { { PRS-Measurements-Info-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRS-Measurements-Info-List-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PRSMuting::= SEQUENCE {
+ pRSMutingOption1 PRSMutingOption1 OPTIONAL,
+ pRSMutingOption2 PRSMutingOption2 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSMuting-ExtIEs} } OPTIONAL,
+ ...
+}
+PRSMuting-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PRSMutingOption1 ::= SEQUENCE {
+ mutingPattern DL-PRSMutingPattern,
+ mutingBitRepetitionFactor ENUMERATED{n1,n2,n4,n8,...},
+ iE-Extensions ProtocolExtensionContainer { { PRSMutingOption1-ExtIEs} } OPTIONAL,
+ ...
+}
+PRSMutingOption1-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSMutingOption2 ::= SEQUENCE {
+ mutingPattern DL-PRSMutingPattern,
+ iE-Extensions ProtocolExtensionContainer { { PRSMutingOption2-ExtIEs} } OPTIONAL,
+ ...
+}
+PRSMutingOption2-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSResource-List::= SEQUENCE (SIZE (1..maxnoofPRSresource)) OF PRSResource-Item
+
+PRSResource-Item ::= SEQUENCE {
+ pRSResourceID PRS-Resource-ID,
+ sequenceID INTEGER(0..4095),
+ rEOffset INTEGER(0..11,...),
+ resourceSlotOffset INTEGER(0..511),
+ resourceSymbolOffset INTEGER(0..12),
+ qCLInfo PRSResource-QCLInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSResource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+PRSResource-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSResource-QCLInfo ::= CHOICE {
+ qCLSourceSSB PRSResource-QCLSourceSSB,
+ qCLSourcePRS PRSResource-QCLSourcePRS,
+ choice-Extension ProtocolIE-Single-Container {{ PRSResource-QCLInfo-ExtIEs }}
+}
+
+PRSResource-QCLInfo-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+PRSResource-QCLSourceSSB ::= SEQUENCE {
+ pCI-NR INTEGER(0..1007),
+ sSB-Index SSB-Index OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSResource-QCLSourceSSB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSResource-QCLSourceSSB-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSResource-QCLSourcePRS ::= SEQUENCE {
+ qCLSourcePRSResourceSetID PRS-Resource-Set-ID,
+ qCLSourcePRSResourceID PRS-Resource-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PRSResource-QCLSourcePRS-ExtIEs} } OPTIONAL,
+ ...
+}
+PRSResource-QCLSourcePRS-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+PRSResourceSet-List ::= SEQUENCE (SIZE (1..maxnoofPRSresourceSet)) OF PRSResourceSet-Item
+
+PRSResourceSet-Item ::= SEQUENCE {
+ pRSResourceSetID PRS-Resource-Set-ID,
+ subcarrierSpacing ENUMERATED{kHz15, kHz30, kHz60, kHz120, ...},
+ pRSbandwidth INTEGER(1..63),
+ startPRB INTEGER(0..2176),
+ pointA INTEGER (0..3279165),
+ combSize ENUMERATED{n2, n4, n6, n12, ...},
+ cPType ENUMERATED{normal, extended, ...},
+ resourceSetPeriodicity ENUMERATED{n4,n5,n8,n10,n16,n20,n32,n40,n64,n80,n160,n320,n640,n1280,n2560,n5120,n10240,n20480,n40960, n81920,...},
+ resourceSetSlotOffset INTEGER(0..81919,...),
+ resourceRepetitionFactor ENUMERATED{rf1,rf2,rf4,rf6,rf8,rf16,rf32,...},
+ resourceTimeGap ENUMERATED{tg1,tg2,tg4,tg8,tg16,tg32,...},
+ resourceNumberofSymbols ENUMERATED{n2,n4,n6,n12,...},
+ pRSMuting PRSMuting OPTIONAL,
+ pRSResourceTransmitPower INTEGER(-60..50),
+ pRSResource-List PRSResource-List,
+ iE-Extensions ProtocolExtensionContainer { { PRSResourceSet-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSResourceSet-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRS-Resource-ID ::= INTEGER (0..63)
+
+PRS-Resource-Set-ID ::= INTEGER(0..7)
+
+PRS-ID ::= INTEGER(0..255)
+
+PRSTransmissionOffIndication ::= CHOICE {
+ pRSTransmissionOffPerTRP NULL,
+ pRSTransmissionOffPerResourceSet PRSTransmissionOffPerResourceSet,
+ pRSTransmissionOffPerResource PRSTransmissionOffPerResource,
+ choice-Extension ProtocolIE-Single-Container {{ PRSTransmissionOffIndication-ExtIEs }}
+}
+
+PRSTransmissionOffIndication-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+PRSTransmissionOffPerResource ::= SEQUENCE (SIZE (1..maxnoofPRSresourceSet)) OF PRSTransmissionOffPerResource-Item
+
+PRSTransmissionOffPerResource-Item ::= SEQUENCE {
+ pRSResourceSetID PRS-Resource-Set-ID,
+ pRSTransmissionOffIndicationPerResourceList SEQUENCE (SIZE(1.. maxnoofPRSresource)) OF PRSTransmissionOffIndicationPerResource-Item,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionOffPerResource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSTransmissionOffPerResource-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSTransmissionOffIndicationPerResource-Item ::= SEQUENCE {
+ pRSResourceID PRS-Resource-ID,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionOffIndicationPerResource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSTransmissionOffIndicationPerResource-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSTransmissionOffInformation ::= SEQUENCE {
+ pRSTransmissionOffIndication PRSTransmissionOffIndication,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionOffInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSTransmissionOffInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSTransmissionOffPerResourceSet ::= SEQUENCE (SIZE (1..maxnoofPRSresourceSet)) OF PRSTransmissionOffPerResourceSet-Item
+
+PRSTransmissionOffPerResourceSet-Item ::= SEQUENCE {
+ pRSResourceSetID PRS-Resource-Set-ID,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionOffPerResourceSet-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSTransmissionOffPerResourceSet-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRSTRPList ::= SEQUENCE (SIZE(1.. maxnoTRPs)) OF PRSTRPItem
+
+PRSTRPItem ::= SEQUENCE {
+ tRP-ID TRP-ID,
+ requestedDLPRSTransmissionCharacteristics RequestedDLPRSTransmissionCharacteristics OPTIONAL,
+-- The IE shall be present if the PRS Configuration Request Type IE is set to “configure†--
+ pRSTransmissionOffInformation PRSTransmissionOffInformation OPTIONAL,
+-- The IE shall be present if the PRS Configuration Request Type IE is set to “off†--
+ iE-Extensions ProtocolExtensionContainer { { PRSTRPItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSTRPItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+PRSTransmissionTRPList ::= SEQUENCE (SIZE(1.. maxnoTRPs)) OF PRSTransmissionTRPItem
+
+PRSTransmissionTRPItem ::= SEQUENCE {
+ tRP-ID TRP-ID,
+ pRSConfiguration PRSConfiguration,
+ iE-Extensions ProtocolExtensionContainer { { PRSTransmissionTRPItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRSTransmissionTRPItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- Q
+
+-- R
+
+ReferenceSignal ::= CHOICE {
+ nZP-CSI-RS NZP-CSI-RS-ResourceID,
+ sSB SSB,
+ sRS SRSResourceID,
+ positioningSRS SRSPosResourceID,
+ dL-PRS DL-PRS,
+ choice-Extension ProtocolIE-Single-Container {{ReferenceSignal-ExtensionIE }}
+}
+
+ReferenceSignal-ExtensionIE NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+ReferencePoint ::= CHOICE {
+ relativeCoordinateID CoordinateID,
+ referencePointCoordinate NG-RANAccessPointPosition,
+ referencePointCoordinateHA NGRANHighAccuracyAccessPointPosition,
+ choice-Extension ProtocolIE-Single-Container { { ReferencePoint-ExtIEs} }
+}
+
+ReferencePoint-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+CoordinateID ::= INTEGER (0..511, ...)
+RelativeGeodeticLocation ::= SEQUENCE {
+ milli-Arc-SecondUnits ENUMERATED {zerodot03, zerodot3, three, ...}, heightUnits ENUMERATED {mm, cm, m, ...},
+ deltaLatitude INTEGER (-1024.. 1023),
+ deltaLongitude INTEGER (-1024.. 1023),
+ deltaHeight INTEGER (-1024.. 1023),
+ locationUncertainty LocationUncertainty,
+ iE-extensions ProtocolExtensionContainer {{RelativeGeodeticLocation-ExtIEs }} OPTIONAL,
+ ...
+}
+
+RelativeGeodeticLocation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RelativeCartesianLocation ::= SEQUENCE {
+ xYZunit ENUMERATED {mm, cm, dm, ...},
+ xvalue INTEGER (-65536..65535),
+ yvalue INTEGER (-65536..65535),
+ zvalue INTEGER (-32768..32767),
+ locationUncertainty LocationUncertainty,
+ iE-Extensions ProtocolExtensionContainer { { RelativeCartesianLocation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RelativeCartesianLocation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RelativePathDelay ::= CHOICE {
+ k0 INTEGER(0..16351),
+ k1 INTEGER(0..8176),
+ k2 INTEGER(0..4088),
+ k3 INTEGER(0..2044),
+ k4 INTEGER(0..1022),
+ k5 INTEGER(0..511),
+ choice-Extension ProtocolIE-Single-Container { { RelativePathDelay-ExtIEs} }
+}
+
+RelativePathDelay-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+ReportCharacteristics ::= ENUMERATED {
+ onDemand,
+ periodic,
+ ...
+}
+
+RequestedDLPRSTransmissionCharacteristics ::= SEQUENCE {
+ requestedDLPRSResourceSet-List RequestedDLPRSResourceSet-List,
+ numberofFrequencyLayers INTEGER(1..4) OPTIONAL,
+ startTimeAndDuration StartTimeAndDuration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedDLPRSTransmissionCharacteristics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestedDLPRSTransmissionCharacteristics-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedDLPRSResourceSet-List ::= SEQUENCE (SIZE (1..maxnoofPRSresourceSet)) OF RequestedDLPRSResourceSet-Item
+
+RequestedDLPRSResourceSet-Item ::= SEQUENCE {
+ pRSbandwidth INTEGER(1..63) OPTIONAL,
+ combSize ENUMERATED{n2, n4, n6, n12, ...} OPTIONAL,
+ resourceSetPeriodicity ENUMERATED{n4,n5,n8,n10,n16,n20,n32,n40,n64,n80,n160,n320,n640,n1280,n2560,n5120,n10240,n20480,n40960, n81920,...} OPTIONAL,
+ resourceRepetitionFactor ENUMERATED{rf1,rf2,rf4,rf6,rf8,rf16,rf32,...} OPTIONAL,
+ resourceNumberofSymbols ENUMERATED{n2,n4,n6,n12,...} OPTIONAL,
+ requestedDLPRSResource-List RequestedDLPRSResource-List OPTIONAL,
+ resourceSetStartTimeAndDuration StartTimeAndDuration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedDLPRSResourceSet-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestedDLPRSResourceSet-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedDLPRSResource-List::= SEQUENCE (SIZE (1..maxnoofPRSresource)) OF RequestedDLPRSResource-Item
+
+RequestedDLPRSResource-Item ::= SEQUENCE {
+ qCLInfo PRSResource-QCLInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedDLPRSResource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestedDLPRSResource-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RequestedSRSTransmissionCharacteristics ::= SEQUENCE {
+ numberOfTransmissions INTEGER (0..500,...) OPTIONAL,
+-- The IE shall be present if the Resource Type IE is set to “periodic†--
+ resourceType ENUMERATED {periodic, semi-persistent, aperiodic, ...},
+ bandwidth BandwidthSRS,
+ listOfSRSResourceSet SEQUENCE (SIZE (1.. maxnoSRS-ResourceSets)) OF SRSResourceSet-Item OPTIONAL,
+ sSBInformation SSBInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedSRSTransmissionCharacteristics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestedSRSTransmissionCharacteristics-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-SrsFrequency CRITICALITY ignore EXTENSION SrsFrequency PRESENCE optional },
+ ...
+}
+
+
+SRSResourceSet-Item ::= SEQUENCE {
+ numberOfSRSResourcePerSet INTEGER (1..16, ...) OPTIONAL,
+ periodicityList PeriodicityList OPTIONAL,
+ spatialRelationInformation SpatialRelationInfo OPTIONAL,
+ pathlossReferenceInformation PathlossReferenceInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SRSResourceSet-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SRSResourceSet-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-SRSSpatialRelationPerSRSResource CRITICALITY ignore EXTENSION SpatialRelationPerSRSResource PRESENCE optional},
+ ...
+}
+
+RequestType ::= ENUMERATED {activate, deactivate, ...}
+
+ResourceSetType ::= CHOICE {
+ periodic ResourceSetTypePeriodic,
+ semi-persistent ResourceSetTypeSemi-persistent,
+ aperiodic ResourceSetTypeAperiodic,
+ choice-extension ProtocolIE-Single-Container {{ ResourceSetType-ExtIEs }}
+}
+
+ResourceSetType-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+ResourceSetTypePeriodic ::= SEQUENCE {
+periodicSet ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { ResourceSetTypePeriodic-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceSetTypePeriodic-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceSetTypeSemi-persistent ::= SEQUENCE {
+semi-persistentSet ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { ResourceSetTypeSemi-persistent-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceSetTypeSemi-persistent-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceSetTypeAperiodic ::= SEQUENCE {
+ sRSResourceTrigger INTEGER(1..3),
+ slotoffset INTEGER(0..32),
+ iE-Extensions ProtocolExtensionContainer { { ResourceSetTypeAperiodic-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceSetTypeAperiodic-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResourceType ::= CHOICE {
+ periodic ResourceTypePeriodic,
+ semi-persistent ResourceTypeSemi-persistent,
+ aperiodic ResourceTypeAperiodic,
+ choice-extension ProtocolIE-Single-Container {{ ResourceType-ExtIEs }}
+}
+
+ResourceType-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+ResourceTypePeriodic ::= SEQUENCE {
+ periodicity ENUMERATED{slot1, slot2, slot4, slot5, slot8, slot10, slot16, slot20, slot32, slot40, slot64, slot80, slot160, slot320, slot640, slot1280, slot2560, ...},
+ offset INTEGER(0..2559, ...),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypePeriodic-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceTypePeriodic-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceTypeSemi-persistent ::= SEQUENCE {
+ periodicity ENUMERATED{slot1, slot2, slot4, slot5, slot8, slot10, slot16, slot20, slot32, slot40, slot64, slot80, slot160, slot320, slot640, slot1280, slot2560, ...},
+ offset INTEGER(0..2559, ...),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypeSemi-persistent-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceTypeSemi-persistent-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceTypeAperiodic ::= SEQUENCE {
+aperiodicResourceType ENUMERATED{true, ...},
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypeAperiodic-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceTypeAperiodic-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResourceTypePos ::= CHOICE {
+ periodic ResourceTypePeriodicPos,
+ semi-persistent ResourceTypeSemi-persistentPos,
+ aperiodic ResourceTypeAperiodicPos,
+ choice-extension ProtocolIE-Single-Container {{ ResourceTypePos-ExtIEs }}
+}
+
+ResourceTypePos-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+ResourceTypePeriodicPos ::= SEQUENCE {
+periodicity ENUMERATED{slot1, slot2, slot4, slot5, slot8, slot10, slot16, slot20, slot32, slot40, slot64, slot80, slot160, slot320, slot640, slot1280, slot2560, slot5120, slot10240, slot40960, slot81920, ..., slot128, slot256, slot512, slot20480},
+offset INTEGER(0..81919, ...),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypePeriodicPos-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceTypePeriodicPos-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceTypeSemi-persistentPos ::= SEQUENCE {
+periodicity ENUMERATED{slot1, slot2, slot4, slot5, slot8, slot10, slot16, slot20, slot32, slot40, slot64, slot80, slot160, slot320, slot640, slot1280, slot2560, slot5120, slot10240, slot40960, slot81920, ..., slot128, slot256, slot512, slot20480},
+offset INTEGER(0..81919, ...),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypeSemi-persistentPos-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceTypeSemi-persistentPos-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceTypeAperiodicPos ::= SEQUENCE {
+slotOffset INTEGER (0..32),
+ iE-Extensions ProtocolExtensionContainer { { ResourceTypeAperiodicPos-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceTypeAperiodicPos-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResponseTime ::= SEQUENCE {
+ time INTEGER (1..128,...),
+ timeUnit ENUMERATED {second, ten-seconds, ten-milliseconds,...},
+ iE-Extensions ProtocolExtensionContainer { { ResponseTime-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResponseTime-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResultCSI-RSRP ::= SEQUENCE (SIZE (1.. maxCellReportNR)) OF ResultCSI-RSRP-Item
+
+ResultCSI-RSRP-Item ::= SEQUENCE {
+ nR-PCI NR-PCI,
+ nR-ARFCN NR-ARFCN,
+ cGI-NR CGI-NR OPTIONAL,
+ valueCSI-RSRP-Cell ValueRSRP-NR OPTIONAL,
+ cSI-RSRP-PerCSI-RS ResultCSI-RSRP-PerCSI-RS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultCSI-RSRP-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultCSI-RSRP-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultCSI-RSRP-PerCSI-RS ::= SEQUENCE (SIZE (1.. maxIndexesReport)) OF ResultCSI-RSRP-PerCSI-RS-Item
+
+ResultCSI-RSRP-PerCSI-RS-Item ::= SEQUENCE {
+ cSI-RS-Index INTEGER (0..95),
+ valueCSI-RSRP ValueRSRP-NR,
+ iE-Extensions ProtocolExtensionContainer { { ResultCSI-RSRP-PerCSI-RS-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultCSI-RSRP-PerCSI-RS-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultCSI-RSRQ ::= SEQUENCE (SIZE (1.. maxCellReportNR)) OF ResultCSI-RSRQ-Item
+
+ResultCSI-RSRQ-Item ::= SEQUENCE {
+ nR-PCI NR-PCI,
+ nR-ARFCN NR-ARFCN,
+ cGI-NR CGI-NR OPTIONAL,
+ valueCSI-RSRQ-Cell ValueRSRQ-NR OPTIONAL,
+ cSI-RSRQ-PerCSI-RS ResultCSI-RSRQ-PerCSI-RS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultCSI-RSRQ-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultCSI-RSRQ-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultCSI-RSRQ-PerCSI-RS ::= SEQUENCE (SIZE (1.. maxIndexesReport)) OF ResultCSI-RSRQ-PerCSI-RS-Item
+
+ResultCSI-RSRQ-PerCSI-RS-Item ::= SEQUENCE {
+ cSI-RS-Index INTEGER (0..95),
+ valueCSI-RSRQ ValueRSRQ-NR,
+ iE-Extensions ProtocolExtensionContainer { { ResultCSI-RSRQ-PerCSI-RS-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultCSI-RSRQ-PerCSI-RS-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultEUTRA ::= SEQUENCE (SIZE (1.. maxEUTRAMeas)) OF ResultEUTRA-Item
+
+ResultEUTRA-Item ::= SEQUENCE {
+ pCI-EUTRA PCI-EUTRA,
+ eARFCN EARFCN,
+ valueRSRP-EUTRA ValueRSRP-EUTRA OPTIONAL,
+ valueRSRQ-EUTRA ValueRSRQ-EUTRA OPTIONAL,
+ cGI-EUTRA CGI-EUTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultEUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultEUTRA-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResultRSRP-EUTRA ::= SEQUENCE (SIZE (1.. maxCellReport)) OF ResultRSRP-EUTRA-Item
+
+ResultRSRP-EUTRA-Item ::= SEQUENCE {
+ pCI-EUTRA PCI-EUTRA,
+ eARFCN EARFCN,
+ cGI-EUTRA CGI-EUTRA OPTIONAL,
+ valueRSRP-EUTRA ValueRSRP-EUTRA,
+ iE-Extensions ProtocolExtensionContainer { { ResultRSRP-EUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultRSRP-EUTRA-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultRSRQ-EUTRA ::= SEQUENCE (SIZE (1.. maxCellReport)) OF ResultRSRQ-EUTRA-Item
+
+ResultRSRQ-EUTRA-Item ::= SEQUENCE {
+ pCI-EUTRA PCI-EUTRA,
+ eARFCN EARFCN,
+ cGI-UTRA CGI-EUTRA OPTIONAL,
+ valueRSRQ-EUTRA ValueRSRQ-EUTRA,
+ iE-Extensions ProtocolExtensionContainer { { ResultRSRQ-EUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultRSRQ-EUTRA-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResultSS-RSRP ::= SEQUENCE (SIZE (1.. maxCellReportNR)) OF ResultSS-RSRP-Item
+
+ResultSS-RSRP-Item ::= SEQUENCE {
+ nR-PCI NR-PCI,
+ nR-ARFCN NR-ARFCN,
+ cGI-NR CGI-NR OPTIONAL,
+ valueSS-RSRP-Cell ValueRSRP-NR OPTIONAL,
+ sS-RSRP-PerSSB ResultSS-RSRP-PerSSB OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultSS-RSRP-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultSS-RSRP-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultSS-RSRP-PerSSB ::= SEQUENCE (SIZE (1.. maxIndexesReport)) OF ResultSS-RSRP-PerSSB-Item
+
+ResultSS-RSRP-PerSSB-Item ::= SEQUENCE {
+ sSB-Index SSB-Index,
+ valueSS-RSRP ValueRSRP-NR,
+ iE-Extensions ProtocolExtensionContainer { { ResultSS-RSRP-PerSSB-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultSS-RSRP-PerSSB-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultSS-RSRQ ::= SEQUENCE (SIZE (1.. maxCellReportNR)) OF ResultSS-RSRQ-Item
+
+ResultSS-RSRQ-Item ::= SEQUENCE {
+ nR-PCI NR-PCI,
+ nR-ARFCN NR-ARFCN,
+ cGI-NR CGI-NR OPTIONAL,
+ valueSS-RSRQ-Cell ValueRSRQ-NR OPTIONAL,
+ sS-RSRQ-PerSSB ResultSS-RSRQ-PerSSB OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultSS-RSRQ-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultSS-RSRQ-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResultSS-RSRQ-PerSSB ::= SEQUENCE (SIZE (1.. maxIndexesReport)) OF ResultSS-RSRQ-PerSSB-Item
+
+ResultSS-RSRQ-PerSSB-Item ::= SEQUENCE {
+ sSB-Index SSB-Index,
+ valueSS-RSRQ ValueRSRQ-NR,
+ iE-Extensions ProtocolExtensionContainer { { ResultSS-RSRQ-PerSSB-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultSS-RSRQ-PerSSB-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResultGERAN ::= SEQUENCE (SIZE (1.. maxGERANMeas)) OF ResultGERAN-Item
+
+ResultGERAN-Item ::= SEQUENCE {
+ bCCH BCCH,
+ physCellIDGERAN PhysCellIDGERAN,
+ rSSI RSSI,
+ iE-Extensions ProtocolExtensionContainer { { ResultGERAN-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultGERAN-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResultNR ::= SEQUENCE (SIZE (1.. maxNRMeas)) OF ResultNR-Item
+
+ResultNR-Item ::= SEQUENCE {
+ nR-PCI NR-PCI,
+ nR-ARFCN NR-ARFCN,
+ valueSS-RSRP-Cell ValueRSRP-NR OPTIONAL,
+ valueSS-RSRQ-Cell ValueRSRQ-NR OPTIONAL,
+ sS-RSRP-PerSSB ResultSS-RSRP-PerSSB OPTIONAL,
+ sS-RSRQ-PerSSB ResultSS-RSRQ-PerSSB OPTIONAL,
+ cGI-NR CGI-NR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultNR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultNR-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResultUTRAN ::= SEQUENCE (SIZE (1.. maxUTRANMeas)) OF ResultUTRAN-Item
+
+ResultUTRAN-Item ::= SEQUENCE {
+ uARFCN UARFCN,
+ physCellIDUTRAN CHOICE {
+ physCellIDUTRA-FDD PhysCellIDUTRA-FDD,
+ physCellIDUTRA-TDD PhysCellIDUTRA-TDD
+ },
+ uTRA-RSCP UTRA-RSCP OPTIONAL,
+ uTRA-EcN0 UTRA-EcN0 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ResultUTRAN-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResultUTRAN-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RSSI ::= INTEGER (0..63, ...)
+
+RxTxTimingErrorMargin ::= ENUMERATED {tc0dot5, tc1, tc2, tc4, tc8, tc12, tc16, tc20, tc24, tc32, tc40, tc48, tc64, tc80, tc96, tc128, ...}
+
+-- S
+
+SCS-SpecificCarrier ::= SEQUENCE {
+ offsetToCarrier INTEGER (0..2199,...),
+ subcarrierSpacing ENUMERATED {kHz15, kHz30, kHz60, kHz120,...},
+ carrierBandwidth INTEGER (1..275,...),
+iE-Extensions ProtocolExtensionContainer { { SCS-SpecificCarrier-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SCS-SpecificCarrier-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Search-window-information ::= SEQUENCE {
+ expectedPropagationDelay INTEGER (-3841..3841,...),
+ delayUncertainty INTEGER (1..246,...),
+ iE-Extensions ProtocolExtensionContainer { { Search-window-information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Search-window-information-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RelativeTime1900 ::= BIT STRING (SIZE (64))
+
+
+SFNInitialisationTime-EUTRA ::= BIT STRING (SIZE (64))
+
+SlotNumber ::= INTEGER (0..79)
+
+SpatialDirectionInformation ::= SEQUENCE {
+ nR-PRS-Beam-Information NR-PRS-Beam-Information,
+ iE-Extensions ProtocolExtensionContainer { { SpatialDirectionInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SpatialDirectionInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SpatialRelationInfo ::= SEQUENCE {
+ spatialRelationforResourceID SpatialRelationforResourceID,
+ iE-Extensions ProtocolExtensionContainer { {SpatialRelationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SpatialRelationInfo-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SpatialRelationforResourceID ::= SEQUENCE (SIZE(1..maxnoSpatialRelations)) OF SpatialRelationforResourceIDItem
+
+SpatialRelationforResourceIDItem ::= SEQUENCE {
+ referenceSignal ReferenceSignal,
+ iE-Extensions ProtocolExtensionContainer { {SpatialRelationforResourceIDItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SpatialRelationforResourceIDItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SpatialRelationPerSRSResource ::= SEQUENCE {
+ spatialRelationPerSRSResource-List SpatialRelationPerSRSResource-List,
+ iE-Extensions ProtocolExtensionContainer { { SpatialRelationPerSRSResource-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SpatialRelationPerSRSResource-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SpatialRelationPerSRSResource-List::= SEQUENCE(SIZE (1.. maxnoSRS-ResourcePerSet)) OF SpatialRelationPerSRSResourceItem
+
+SpatialRelationPerSRSResourceItem ::= SEQUENCE {
+ referenceSignal ReferenceSignal,
+ iE-Extensions ProtocolExtensionContainer { {SpatialRelationPerSRSResourceItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SpatialRelationPerSRSResourceItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SpatialRelationPos ::= CHOICE {
+ sSBPos SSB,
+ pRSInformationPos PRSInformationPos,
+ choice-extension ProtocolIE-Single-Container {{ SpatialInformationPos-ExtIEs }}
+}
+
+SpatialInformationPos-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+
+
+SRSConfig ::= SEQUENCE {
+ sRSResource-List SRSResource-List OPTIONAL,
+ posSRSResource-List PosSRSResource-List OPTIONAL,
+ sRSResourceSet-List SRSResourceSet-List OPTIONAL,
+ posSRSResourceSet-List PosSRSResourceSet-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SRSConfig-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SRSConfig-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRSCarrier-List ::= SEQUENCE (SIZE(1.. maxnoSRS-Carriers)) OF SRSCarrier-List-Item
+
+SRSCarrier-List-Item ::= SEQUENCE {
+ pointA INTEGER (0..3279165),
+ uplinkChannelBW-PerSCS-List UplinkChannelBW-PerSCS-List,
+ activeULBWP ActiveULBWP,
+ pCI-NR INTEGER (0..1007) OPTIONAL,
+iE-Extensions ProtocolExtensionContainer { { SRSCarrier-List-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SRSCarrier-List-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SRSConfiguration ::= SEQUENCE {
+ sRSCarrier-List SRSCarrier-List,
+ iE-Extensions ProtocolExtensionContainer { { SRSConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SRSConfiguration-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SrsFrequency ::= INTEGER (0..3279165)
+
+SRSPortIndex ::= ENUMERATED{id1000, id1001, id1002, id1003, ...}
+
+SRSPosResourceID ::= INTEGER (0..63)
+
+SRSResource::= SEQUENCE {
+ sRSResourceID SRSResourceID,
+ nrofSRS-Ports ENUMERATED {port1, ports2, ports4},
+ transmissionComb TransmissionComb,
+ startPosition INTEGER (0..13),
+ nrofSymbols ENUMERATED {n1, n2, n4},
+ repetitionFactor ENUMERATED {n1, n2, n4},
+ freqDomainPosition INTEGER (0..67),
+ freqDomainShift INTEGER (0..268),
+ c-SRS INTEGER (0..63),
+ b-SRS INTEGER (0..3),
+ b-hop INTEGER (0..3),
+ groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping },
+ resourceType ResourceType,
+ sequenceId INTEGER (0..1023),
+ iE-Extensions ProtocolExtensionContainer { { SRSResource-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SRSResource-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRSResourceID ::= INTEGER (0..63)
+
+SRSResource-List ::= SEQUENCE (SIZE (1..maxnoSRS-Resources)) OF SRSResource
+
+SRSResourceSet-List ::= SEQUENCE (SIZE (1..maxnoSRS-ResourceSets)) OF SRSResourceSet
+
+SRSResourceID-List::= SEQUENCE (SIZE (1..maxnoSRS-ResourcePerSet)) OF SRSResourceID
+
+SRSResourceSet::= SEQUENCE {
+ sRSResourceSetID INTEGER(0..15),
+ sRSResourceID-List SRSResourceID-List,
+ resourceSetType ResourceSetType,
+ iE-Extensions ProtocolExtensionContainer { { SRSResourceSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SRSResourceSet-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRSResourceSetID ::= INTEGER (0..15, ...)
+
+SRSResourceTrigger ::= SEQUENCE {
+ aperiodicSRSResourceTriggerList AperiodicSRSResourceTriggerList,
+ iE-Extensions ProtocolExtensionContainer { {SRSResourceTrigger-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SRSResourceTrigger-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRSResourcetype ::= SEQUENCE {
+ sRSResourceTypeChoice SRSResourceTypeChoice,
+ iE-Extensions ProtocolExtensionContainer { { SRSResourcetype-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SRSResourcetype-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-SRSPortIndex CRITICALITY ignore EXTENSION SRSPortIndex PRESENCE optional},
+ ...
+}
+
+SRSResourceTypeChoice ::= CHOICE {
+ sRSResourceInfo SRSInfo,
+ posSRSResourceInfo PosSRSInfo,
+ ...
+}
+
+SRSInfo ::= SEQUENCE {
+ sRSResource SRSResourceID,
+ ...
+}
+
+SRSTransmissionStatus ::= ENUMERATED {stopped, ...}
+
+PosSRSInfo ::= SEQUENCE {
+ posSRSResourceID SRSPosResourceID,
+ ...
+}
+
+
+SSBInfo ::= SEQUENCE {
+ listOfSSBInfo SEQUENCE (SIZE (1..maxNoSSBs)) OF SSBInfoItem,
+ iE-Extensions ProtocolExtensionContainer { {SSBInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SSBInfo-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+SSBInfoItem ::= SEQUENCE {
+ sSB-Configuration TF-Configuration,
+ pCI-NR INTEGER (0..1007),
+ iE-Extensions ProtocolExtensionContainer { { SSBInfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+SSBInfoItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SSB ::= SEQUENCE {
+ pCI-NR INTEGER (0..1007),
+ ssb-index SSB-Index OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SSB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SSB-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SSBBurstPosition ::= CHOICE {
+ shortBitmap BIT STRING (SIZE(4)),
+ mediumBitmap BIT STRING (SIZE(8)),
+ longBitmap BIT STRING (SIZE(64)),
+ choice-extension ProtocolIE-Single-Container { { SSBBurstPosition-ExtIEs} }
+}
+
+SSBBurstPosition-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+SSB-Index ::= INTEGER(0..63)
+
+
+SSID ::= OCTET STRING (SIZE(1..32))
+
+StartTimeAndDuration ::= SEQUENCE {
+ startTime RelativeTime1900 OPTIONAL,
+ duration INTEGER (0..90060, ...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { StartTimeAndDuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+StartTimeAndDuration-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SystemFrameNumber ::= INTEGER (0..1023)
+
+SystemInformation ::= SEQUENCE (SIZE (1.. maxNrOfPosSImessage)) OF SEQUENCE {
+ broadcastPeriodicity BroadcastPeriodicity,
+ posSIBs PosSIBs,
+ iE-Extensions ProtocolExtensionContainer { { SystemInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SystemInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- T
+
+TAC ::= OCTET STRING (SIZE(3))
+
+TDD-Config-EUTRA-Item ::= SEQUENCE {
+ subframeAssignment ENUMERATED { sa0, sa1, sa2, sa3, sa4, sa5, sa6, ... },
+ iE-Extensions ProtocolExtensionContainer { { TDD-Config-EUTRA-Item-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TDD-Config-EUTRA-Item-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPTEGInformation ::= CHOICE {
+ rxTx-TEG RxTxTEG,
+ rx-TEG RxTEG,
+ choice-extension ProtocolIE-Single-Container { { TRPTEGInformation-ExtIEs} }
+}
+
+TRPTEGInformation-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+RxTxTEG ::= SEQUENCE {
+ tRP-RxTx-TEGInformation TRP-RxTx-TEGInformation,
+ tRP-Tx-TEGInformation TRP-Tx-TEGInformation OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { RxTxTEG-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RxTxTEG-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RxTEG ::= SEQUENCE {
+ tRP-Rx-TEGInformation TRP-Rx-TEGInformation,
+ tRP-Tx-TEGInformation TRP-Tx-TEGInformation,
+ iE-extensions ProtocolExtensionContainer { { RxTEG-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RxTEG-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimingErrorMargin ::= ENUMERATED {tc0, tc2, tc4, tc6, tc8, tc12, tc16, tc20, tc24, tc32, tc40, tc48, tc56, tc64, tc72, tc80, ...}
+
+TF-Configuration ::= SEQUENCE {
+ sSB-frequency INTEGER (0..3279165),
+ sSB-subcarrier-spacing ENUMERATED {kHz15, kHz30, kHz120, kHz240, ..., kHz60},
+ sSB-Transmit-power INTEGER (-60..50),
+ sSB-periodicity ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160, ...},
+ sSB-half-frame-offset INTEGER(0..1),
+ sSB-SFN-offset INTEGER(0..15),
+ sSB-BurstPosition SSBBurstPosition OPTIONAL,
+ sFN-initialisation-time RelativeTime1900 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TF-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TF-Configuration-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TimeStamp ::= SEQUENCE {
+ systemFrameNumber SystemFrameNumber,
+ slotIndex TimeStampSlotIndex,
+ measurementTime RelativeTime1900 OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { TimeStamp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TimeStamp-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeStampSlotIndex ::= CHOICE {
+ sCS-15 INTEGER(0..9),
+ sCS-30 INTEGER(0..19),
+ sCS-60 INTEGER(0..39),
+ sCS-120 INTEGER(0..79),
+ choice-extension ProtocolIE-Single-Container { { TimeStampSlotIndex-ExtIEs} }
+}
+
+TimeStampSlotIndex-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+
+TP-ID-EUTRA ::= INTEGER (0..4095, ...)
+
+TP-Type-EUTRA ::= ENUMERATED { prs-only-tp, ... }
+
+
+TransmissionComb ::= CHOICE {
+ n2 SEQUENCE {
+ combOffset-n2 INTEGER (0..1),
+ cyclicShift-n2 INTEGER (0..7)
+ },
+ n4 SEQUENCE {
+ combOffset-n4 INTEGER (0..3),
+ cyclicShift-n4 INTEGER (0..11)
+ },
+ choice-extension ProtocolIE-Single-Container { { TransmissionComb-ExtIEs} }
+}
+TransmissionComb-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+TransmissionCombPos ::= CHOICE {
+ n2 SEQUENCE {
+ combOffset-n2 INTEGER (0..1),
+ cyclicShift-n2 INTEGER (0..7)
+ },
+ n4 SEQUENCE {
+ combOffset-n4 INTEGER (0..3),
+ cyclicShift-n4 INTEGER (0..11)
+ },
+ n8 SEQUENCE {
+ combOffset-n8 INTEGER (0..7),
+ cyclicShift-n8 INTEGER (0..5)
+ },
+
+ choice-extension ProtocolIE-Single-Container { { TransmissionCombPos-ExtIEs} }
+}
+TransmissionCombPos-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+TRPBeamAntennaInformation ::= SEQUENCE {
+ choice-TRP-Beam-Antenna-Info-Item Choice-TRP-Beam-Antenna-Info-Item,
+ iE-Extensions ProtocolExtensionContainer {{ TRPBeamAntennaInformation-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRPBeamAntennaInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Choice-TRP-Beam-Antenna-Info-Item ::= CHOICE {
+ reference TRP-ID,
+ explicit TRP-BeamAntennaExplicitInformation,
+ noChange NULL,
+ choice-extension ProtocolIE-Single-Container { { Choice-TRP-Beam-Info-Item-ExtIEs } }
+}
+
+Choice-TRP-Beam-Info-Item-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+TRP-BeamAntennaExplicitInformation ::= SEQUENCE {
+ trp-BeamAntennaAngles TRP-BeamAntennaAngles,
+ lcs-to-gcs-translation LCS-to-GCS-Translation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{ TRP-BeamAntennaExplicitInformation-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRP-BeamAntennaExplicitInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-BeamAntennaAngles ::= SEQUENCE (SIZE (1.. maxnoAzimuthAngles)) OF TRP-BeamAntennaAnglesList-Item
+
+TRP-BeamAntennaAnglesList-Item ::= SEQUENCE {
+ trp-azimuth-angle INTEGER (0..359),
+ trp-azimuth-angle-fine INTEGER (0..9) OPTIONAL,
+ trp-elevation-angle-list SEQUENCE (SIZE (1.. maxnoElevationAngles)) OF TRP-ElevationAngleList-Item,
+ iE-Extensions ProtocolExtensionContainer {{ TRP-BeamAntennaAnglesList-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRP-BeamAntennaAnglesList-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-ElevationAngleList-Item ::= SEQUENCE {
+ trp-elevation-angle INTEGER (0..180),
+ trp-elevation-angle-fine INTEGER (0..9) OPTIONAL,
+ trp-beam-power-list SEQUENCE (SIZE (2..maxNumResourcesPerAngle)) OF TRP-Beam-Power-Item,
+ iE-Extensions ProtocolExtensionContainer {{ TRP-ElevationAngleList-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRP-ElevationAngleList-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-Beam-Power-Item ::= SEQUENCE {
+ pRSResourceSetID PRS-Resource-Set-ID OPTIONAL,
+ pRSResourceID PRS-Resource-ID,
+ relativePower INTEGER (0..30), --negative value
+ relativePowerFine INTEGER (0..9) OPTIONAL, --negative value
+ iE-Extensions ProtocolExtensionContainer {{ TRP-Beam-Power-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRP-Beam-Power-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPMeasurementQuantities ::= SEQUENCE (SIZE (1..maxnoPosMeas)) OF TRPMeasurementQuantitiesList-Item
+
+TRPMeasurementQuantitiesList-Item ::= SEQUENCE {
+ tRPMeasurementQuantities-Item TRPMeasurementQuantities-Item,
+ timingReportingGranularityFactor INTEGER (0..5) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{ TRPMeasurementQuantitiesList-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TRPMeasurementQuantitiesList-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPMeasurementQuantities-Item ::= ENUMERATED {
+ gNB-RxTxTimeDiff,
+ uL-SRS-RSRP,
+ uL-AoA,
+ uL-RTOA,
+ ...,
+ multiple-UL-AoA,
+ uL-SRS-RSRPP
+}
+
+TrpMeasurementResult ::= SEQUENCE (SIZE (1.. maxnoPosMeas)) OF TrpMeasurementResultItem
+TrpMeasurementResultItem ::= SEQUENCE {
+ measuredResultsValue TrpMeasuredResultsValue,
+ timeStamp TimeStamp,
+ measurementQuality TrpMeasurementQuality OPTIONAL,
+ measurementBeamInfo MeasurementBeamInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{TrpMeasurementResultItem-ExtIEs}} OPTIONAL,
+ ...
+}
+
+TrpMeasurementResultItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-SRSResourcetype CRITICALITY ignore EXTENSION SRSResourcetype PRESENCE optional}|
+ { ID id-ARP-ID CRITICALITY ignore EXTENSION ARP-ID PRESENCE optional}|
+ { ID id-LoS-NLoSInformation CRITICALITY ignore EXTENSION LoS-NLoSInformation PRESENCE optional },
+ ...
+}
+
+TrpMeasuredResultsValue ::= CHOICE {
+ uL-AngleOfArrival UL-AoA,
+ uL-SRS-RSRP UL-SRS-RSRP,
+ uL-RTOA UL-RTOAMeasurement,
+ gNB-RxTxTimeDiff GNB-RxTxTimeDiff,
+ choice-extension ProtocolIE-Single-Container { { TrpMeasuredResultsValue-ExtIEs } }
+}
+
+TrpMeasuredResultsValue-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-ZoA CRITICALITY reject TYPE ZoA PRESENCE mandatory}|
+ { ID id-MultipleULAoA CRITICALITY reject TYPE MultipleULAoA PRESENCE mandatory}|
+ { ID id-UL-SRS-RSRPP CRITICALITY reject TYPE UL-SRS-RSRPP PRESENCE mandatory},
+ ...
+}
+
+TrpMeasurementQuality ::= CHOICE {
+ timingMeasQuality TrpMeasurementTimingQuality,
+ angleMeasQuality TrpMeasurementAngleQuality,
+ choice-Extension ProtocolIE-Single-Container {{ TrpMeasurementQuality-ExtIEs}}
+
+}
+
+TrpMeasurementQuality-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+TrpMeasurementTimingQuality ::= SEQUENCE {
+ measurementQuality INTEGER (0..31),
+ resolution ENUMERATED {m0dot1, m1, m10, m30, ...},
+ iE-extensions ProtocolExtensionContainer { { TrpMeasurementTimingQuality-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TrpMeasurementTimingQuality-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TrpMeasurementAngleQuality ::= SEQUENCE {
+ azimuthQuality INTEGER (0..255),
+ zenithQuality INTEGER (0..255) OPTIONAL,
+ resolution ENUMERATED {deg0dot1, ...},
+ iE-extensions ProtocolExtensionContainer { { TrpMeasurementAngleQuality-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TrpMeasurementAngleQuality-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-MeasurementRequestList ::= SEQUENCE (SIZE (1..maxNoOfMeasTRPs)) OF TRP-MeasurementRequestItem
+
+TRP-MeasurementRequestItem ::= SEQUENCE {
+ tRP-ID TRP-ID,
+ search-window-information Search-window-information OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { TRP-MeasurementRequestItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-MeasurementRequestItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-Cell-ID CRITICALITY ignore EXTENSION CGI-NR PRESENCE optional }|
+ { ID id-AoA-SearchWindow CRITICALITY ignore EXTENSION AoA-AssistanceInfo PRESENCE optional }|
+ { ID id-NumberOfTRPRxTEG CRITICALITY ignore EXTENSION NumberOfTRPRxTEG PRESENCE optional }|
+ { ID id-NumberOfTRPRxTxTEG CRITICALITY ignore EXTENSION NumberOfTRPRxTxTEG PRESENCE optional },
+ ...
+}
+
+TRP-MeasurementResponseList ::= SEQUENCE (SIZE (1..maxNoOfMeasTRPs)) OF TRP-MeasurementResponseItem
+
+TRP-MeasurementResponseItem ::= SEQUENCE {
+ tRP-ID TRP-ID,
+ measurementResult TrpMeasurementResult,
+ iE-extensions ProtocolExtensionContainer { { TRP-MeasurementResponseItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-MeasurementResponseItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-Cell-ID CRITICALITY ignore EXTENSION CGI-NR PRESENCE optional },
+ ...
+}
+
+
+TRP-MeasurementUpdateList ::= SEQUENCE (SIZE (1..maxNoOfMeasTRPs)) OF TRP-MeasurementUpdateItem
+
+TRP-MeasurementUpdateItem ::= SEQUENCE {
+ tRP-ID TRP-ID,
+ aoA-window-information AoA-AssistanceInfo OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { TRP-MeasurementUpdateItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-MeasurementUpdateItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-NumberOfTRPRxTEG CRITICALITY ignore EXTENSION NumberOfTRPRxTEG PRESENCE optional }|
+ { ID id-NumberOfTRPRxTxTEG CRITICALITY ignore EXTENSION NumberOfTRPRxTxTEG PRESENCE optional },
+ ...
+}
+
+
+TRPInformationListTRPResp ::= SEQUENCE (SIZE (1.. maxnoTRPs)) OF SEQUENCE {
+ tRPInformation TRPInformation,
+ iE-Extensions ProtocolExtensionContainer { {TRPInformationTRPResp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TRPInformationTRPResp-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPInformation ::= SEQUENCE {
+ tRP-ID TRP-ID,
+ tRPInformationTypeResponseList TRPInformationTypeResponseList,
+ iE-Extensions ProtocolExtensionContainer { { TRPInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRPInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPInformationTypeResponseList ::= SEQUENCE (SIZE (1..maxnoTRPInfoTypes)) OF TRPInformationTypeResponseItem
+
+TRPInformationTypeResponseItem ::= CHOICE {
+ pCI-NR INTEGER (0..1007),
+ cGI-NR CGI-NR,
+ aRFCN INTEGER (0..3279165),
+ pRSConfiguration PRSConfiguration,
+ sSBinformation SSBInfo,
+ sFNInitialisationTime RelativeTime1900,
+ spatialDirectionInformation SpatialDirectionInformation,
+ geographicalCoordinates GeographicalCoordinates,
+ choice-extension ProtocolIE-Single-Container { { TRPInformationTypeResponseItem-ExtIEs } }
+}
+
+TRPInformationTypeResponseItem-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-TRPType CRITICALITY reject TYPE TRPType PRESENCE mandatory }|
+ { ID id-OnDemandPRS CRITICALITY reject TYPE OnDemandPRS-Info PRESENCE mandatory}|
+ { ID id-TRPTxTEGAssociation CRITICALITY reject TYPE TRPTxTEGAssociation PRESENCE mandatory}|
+ { ID id-TRPBeamAntennaInformation CRITICALITY reject TYPE TRPBeamAntennaInformation PRESENCE mandatory },
+ ...
+
+}
+
+
+TRPInformationTypeListTRPReq ::= SEQUENCE (SIZE(1.. maxnoTRPInfoTypes)) OF ProtocolIE-Single-Container { {TRPInformationTypeItemTRPReq} }
+
+TRPInformationTypeItemTRPReq NRPPA-PROTOCOL-IES ::= {
+ { ID id-TRPInformationTypeItem CRITICALITY reject TYPE TRPInformationTypeItem PRESENCE mandatory },
+ ...
+}
+
+TRPInformationTypeItem ::= ENUMERATED {
+ nrPCI,
+ nG-RAN-CGI,
+ arfcn,
+ pRSConfig,
+ sSBInfo,
+ sFNInitTime,
+ spatialDirectInfo,
+ geoCoord,
+
+ ...,
+ trp-type,
+ ondemandPRSInfo,
+ trpTxTeg,
+ beam-antenna-info
+}
+
+TRPList ::= SEQUENCE (SIZE(1.. maxnoTRPs)) OF TRPItem
+
+TRPItem ::= SEQUENCE {
+ tRP-ID TRP-ID,
+ iE-Extensions ProtocolExtensionContainer { {TRPItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TRPItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-ID ::= INTEGER (1.. maxnoTRPs, ...)
+
+
+TRPPositionDefinitionType ::= CHOICE {
+ direct TRPPositionDirect,
+ referenced TRPPositionReferenced,
+ choice-extension ProtocolIE-Single-Container { { TRPPositionDefinitionType-ExtIEs } }
+}
+
+TRPPositionDefinitionType-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+
+TRPPositionDirect ::= SEQUENCE {
+ accuracy TRPPositionDirectAccuracy,
+ iE-extensions ProtocolExtensionContainer { { TRPPositionDirect-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRPPositionDirect-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPPositionDirectAccuracy ::= CHOICE {
+ tRPPosition NG-RANAccessPointPosition ,
+ tRPHAposition NGRANHighAccuracyAccessPointPosition ,
+ choice-extension ProtocolIE-Single-Container { { TRPPositionDirectAccuracy-ExtIEs } }
+}
+
+TRPPositionDirectAccuracy-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+
+TRPPositionReferenced ::= SEQUENCE {
+ referencePoint ReferencePoint,
+ referencePointType TRPReferencePointType,
+ iE-extensions ProtocolExtensionContainer { { TRPPositionReferenced-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRPPositionReferenced-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-PRS-Information-List ::= SEQUENCE (SIZE(1.. maxnoPRSTRPs)) OF TRP-PRS-Information-List-Item
+
+TRP-PRS-Information-List-Item ::= SEQUENCE {
+ tRP-ID TRP-ID,
+ nR-PCI NR-PCI,
+ cGI-NR CGI-NR OPTIONAL,
+ pRSConfiguration PRSConfiguration,
+ iE-Extensions ProtocolExtensionContainer { { TRP-PRS-Information-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TRP-PRS-Information-List-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPReferencePointType ::= CHOICE {
+ tRPPositionRelativeGeodetic RelativeGeodeticLocation,
+ tRPPositionRelativeCartesian RelativeCartesianLocation,
+ choice-extension ProtocolIE-Single-Container { { TRPReferencePointType-ExtIEs } }
+}
+
+TRPReferencePointType-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+TRP-Rx-TEGInformation ::= SEQUENCE {
+ tRP-Rx-TEGID INTEGER (0..31),
+ tRP-Rx-TimingErrorMargin TimingErrorMargin,
+ iE-Extensions ProtocolExtensionContainer { { TRP-Rx-TEGInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-Rx-TEGInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-RxTx-TEGInformation ::= SEQUENCE {
+ tRP-RxTx-TEGID INTEGER (0..255),
+ tRP-RxTx-TimingErrorMargin RxTxTimingErrorMargin,
+ iE-Extensions ProtocolExtensionContainer { { TRP-RxTx-TEGInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-RxTx-TEGInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRP-Tx-TEGInformation ::= SEQUENCE {
+ tRP-Tx-TEGID INTEGER (0..7),
+ tRP-Tx-TimingErrorMargin TimingErrorMargin,
+ iE-Extensions ProtocolExtensionContainer { { TRP-Tx-TEGInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRP-Tx-TEGInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TRPTxTEGAssociation ::= SEQUENCE (SIZE(1.. maxnoTRPTEGs)) OF TRPTEGItem
+
+TRPTEGItem ::= SEQUENCE {
+ tRP-Tx-TEGInformation TRP-Tx-TEGInformation,
+ dl-PRSResourceSetID PRS-Resource-Set-ID,
+ dl-PRSResourceID-List SEQUENCE (SIZE(1.. maxPRS-ResourcesPerSet)) OF DLPRSResourceID-Item OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TRPTEGItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TRPTEGItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DLPRSResourceID-Item ::= SEQUENCE {
+ dl-PRSResourceID PRS-Resource-ID,
+ iE-Extensions ProtocolExtensionContainer { { DLPRSResource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DLPRSResource-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TRPType ::= ENUMERATED {
+ prsOnlyTP,
+ srsOnlyRP,
+ tp,
+ rp,
+ trp,
+ ...
+}
+
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+-- U
+
+UARFCN ::= INTEGER (0..16383, ...)
+
+UE-Measurement-ID ::= INTEGER (1..15, ..., 16..256)
+
+UEReportingInformation::= SEQUENCE {
+ reportingAmount ENUMERATED {ma0, ma1, ma2, ma4, ma8, ma16, ma32, ma64},
+ reportingInterval ENUMERATED {none, one, two, four, eight, ten, sixteen, twenty, thirty-two, sixty-four, ...},
+ iE-extensions ProtocolExtensionContainer { { UEReportingInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UEReportingInformation-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-TEG-ReportingPeriodicity ::= ENUMERATED {
+ ms160,
+ ms320,
+ ms1280,
+ ms2560,
+ ms61440,
+ ms81920,
+ ms368640,
+ ms737280,
+ ...
+}
+
+UETxTEGAssociationList ::= SEQUENCE (SIZE(1.. maxnoUETEGs)) OF UETxTEGAssociationItem
+
+UETxTEGAssociationItem ::= SEQUENCE {
+ uE-Tx-TEG-ID INTEGER (0..7),
+ posSRSResourceID-List PosSRSResourceID-List,
+ timeStamp TimeStamp,
+ carrierFreq CarrierFreq OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UETxTEGAssociationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UETxTEGAssociationItem-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-UETxTimingErrorMargin CRITICALITY ignore EXTENSION TimingErrorMargin PRESENCE optional },
+ ...
+}
+
+SRSResourceID-Item ::= SEQUENCE {
+ sRSResourceID SRSResourceID,
+ iE-Extensions ProtocolExtensionContainer { { SRSResourceID-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SRSResourceID-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-TEG-Info-Request ::= ENUMERATED {onDemand, periodic, stop, ...}
+
+UTRA-EcN0 ::= INTEGER (0..49, ...)
+
+UTRA-RSCP ::= INTEGER (-5..91, ...)
+
+
+UL-AoA ::= SEQUENCE {
+ azimuthAoA INTEGER (0..3599),
+ zenithAoA INTEGER (0..1799) OPTIONAL,
+ lCS-to-GCS-Translation LCS-to-GCS-Translation OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { UL-AoA-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-AoA-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UL-RTOAMeasurement ::= SEQUENCE {
+ uLRTOAmeas ULRTOAMeas,
+ additionalPathList AdditionalPathList OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { UL-RTOAMeasurement-ExtIEs } } OPTIONAL, ...
+}
+
+UL-RTOAMeasurement-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedAdditionalPathList CRITICALITY ignore EXTENSION ExtendedAdditionalPathList PRESENCE optional}|
+ { ID id-TRP-Rx-TEGInformation CRITICALITY ignore EXTENSION TRP-Rx-TEGInformation PRESENCE optional},
+ ...
+}
+
+ULRTOAMeas::= CHOICE {
+ k0 INTEGER (0.. 1970049),
+ k1 INTEGER (0.. 985025),
+ k2 INTEGER (0.. 492513),
+ k3 INTEGER (0.. 246257),
+ k4 INTEGER (0.. 123129),
+ k5 INTEGER (0.. 61565),
+ choice-extension ProtocolIE-Single-Container { { ULRTOAMeas-ExtIEs } }
+}
+ULRTOAMeas-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+UL-SRS-RSRP ::= INTEGER (0..126)
+
+UL-SRS-RSRPP ::= SEQUENCE {
+ firstPathRSRPP INTEGER (0..126),
+ iE-extensions ProtocolExtensionContainer { { UL-SRS-RSRPP-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-SRS-RSRPP-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UplinkChannelBW-PerSCS-List ::= SEQUENCE (SIZE (1..maxnoSCSs)) OF SCS-SpecificCarrier
+
+
+Uncertainty-range-AoA ::= INTEGER (0..3599)
+
+Uncertainty-range-ZoA ::= INTEGER (0..1799)
+
+
+-- V
+
+ValueRSRP-EUTRA ::= INTEGER (0..97, ...)
+
+ValueRSRQ-EUTRA ::= INTEGER (0..34, ...)
+
+ValueRSRP-NR ::= INTEGER (0..127)
+
+ValueRSRQ-NR ::= INTEGER (0..127)
+
+
+-- W
+
+WLANMeasurementQuantities ::= SEQUENCE (SIZE (0.. maxNoMeas)) OF ProtocolIE-Single-Container { {WLANMeasurementQuantities-ItemIEs} }
+
+WLANMeasurementQuantities-ItemIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-WLANMeasurementQuantities-Item CRITICALITY reject TYPE WLANMeasurementQuantities-Item PRESENCE mandatory}}
+
+WLANMeasurementQuantities-Item ::= SEQUENCE {
+ wLANMeasurementQuantitiesValue WLANMeasurementQuantitiesValue,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasurementQuantitiesValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+WLANMeasurementQuantitiesValue-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLANMeasurementQuantitiesValue ::= ENUMERATED {
+ wlan,
+ ...
+}
+
+WLANMeasurementResult ::= SEQUENCE (SIZE (1..maxNoMeas)) OF WLANMeasurementResult-Item
+
+WLANMeasurementResult-Item ::= SEQUENCE {
+ wLAN-RSSI WLAN-RSSI,
+ sSID SSID OPTIONAL,
+ bSSID BSSID OPTIONAL,
+ hESSID HESSID OPTIONAL,
+ operatingClass WLANOperatingClass OPTIONAL,
+ countryCode WLANCountryCode OPTIONAL,
+ wLANChannelList WLANChannelList OPTIONAL,
+ wLANBand WLANBand OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasurementResult-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+WLANMeasurementResult-Item-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLAN-RSSI ::= INTEGER (0..141, ...)
+
+WLANBand ::= ENUMERATED {band2dot4, band5, ...}
+
+WLANChannelList ::= SEQUENCE (SIZE (1..maxWLANchannels)) OF WLANChannel
+
+WLANChannel ::= INTEGER (0..255)
+
+WLANCountryCode ::= ENUMERATED {
+ unitedStates,
+ europe,
+ japan,
+ global,
+ ...
+}
+
+WLANOperatingClass ::= INTEGER (0..255)
+
+-- X
+
+-- Y
+
+-- Z
+
+ZoA ::= SEQUENCE {
+ zenithAoA INTEGER (0..1799),
+ lCS-to-GCS-Translation LCS-to-GCS-Translation OPTIONAL,
+ iE-extensions ProtocolExtensionContainer { { ZoA-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ZoA-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/nrppa/NRPPA-PDU-Contents.asn b/epan/dissectors/asn1/nrppa/NRPPA-PDU-Contents.asn
new file mode 100644
index 00000000..e43a7658
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/NRPPA-PDU-Contents.asn
@@ -0,0 +1,927 @@
+-- 3GPP TS 38.455 V17.4.0 (2023-03)
+--9.3.4 PDU Definitions
+--
+-- **************************************************************
+--
+-- PDU definitions for NRPPa.
+--
+-- **************************************************************
+
+NRPPA-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) nrppa (4) version1 (1) nrppa-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules
+--
+-- **************************************************************
+
+IMPORTS
+
+ Cause,
+ CriticalityDiagnostics,
+ E-CID-MeasurementResult,
+ OTDOACells,
+ OTDOA-Information-Item,
+ Measurement-ID,
+ UE-Measurement-ID,
+ MeasurementPeriodicity,
+ MeasurementQuantities,
+ ReportCharacteristics,
+ RequestedSRSTransmissionCharacteristics,
+ Cell-Portion-ID,
+ OtherRATMeasurementQuantities,
+ OtherRATMeasurementResult,
+ WLANMeasurementQuantities,
+ WLANMeasurementResult,
+ Assistance-Information,
+ Broadcast,
+ AssistanceInformationFailureList,
+ SRSConfiguration,
+ TRPMeasurementQuantities,
+ TrpMeasurementResult,
+ TRP-ID,
+ TRPInformationTypeListTRPReq,
+ TRPInformationListTRPResp,
+ TRP-MeasurementRequestList,
+ TRP-MeasurementResponseList,
+ TRP-MeasurementUpdateList,
+ MeasurementBeamInfoRequest,
+ PositioningBroadcastCells,
+ SRSResourceSetID,
+ SpatialRelationInfo,
+ SRSResourceTrigger,
+ TRPList,
+ AbortTransmission,
+ SystemFrameNumber,
+ SlotNumber,
+ RelativeTime1900,
+ SpatialRelationPerSRSResource,
+ MeasurementPeriodicityExtended,
+ PRSTRPList,
+ PRSTransmissionTRPList,
+ ResponseTime,
+ UEReportingInformation,
+ UETxTEGAssociationList,
+ TRP-PRS-Information-List,
+ PRS-Measurements-Info-List,
+ UE-TEG-Info-Request,
+ MeasurementCharacteristicsRequestIndicator,
+ MeasurementTimeOccasion,
+ PRSConfigRequestType,
+ MeasurementAmount,
+ PreconfigurationResult,
+ RequestType,
+ UE-TEG-ReportingPeriodicity,
+ MeasurementPeriodicityNR-AoA,
+ SRSTransmissionStatus
+
+
+FROM NRPPA-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-Single-Container{},
+ NRPPA-PRIVATE-IES,
+ NRPPA-PROTOCOL-EXTENSION,
+ NRPPA-PROTOCOL-IES
+FROM NRPPA-Containers
+
+
+ maxnoOTDOAtypes,
+ id-Cause,
+ id-CriticalityDiagnostics,
+ id-LMF-Measurement-ID,
+ id-LMF-UE-Measurement-ID,
+ id-OTDOACells,
+ id-OTDOA-Information-Type-Group,
+ id-OTDOA-Information-Type-Item,
+ id-ReportCharacteristics,
+ id-MeasurementPeriodicity,
+ id-MeasurementQuantities,
+ id-RAN-Measurement-ID,
+ id-RAN-UE-Measurement-ID,
+ id-E-CID-MeasurementResult,
+ id-RequestedSRSTransmissionCharacteristics,
+ id-Cell-Portion-ID,
+ id-OtherRATMeasurementQuantities,
+ id-OtherRATMeasurementResult,
+ id-WLANMeasurementQuantities,
+ id-WLANMeasurementResult,
+ id-Assistance-Information,
+ id-Broadcast,
+ id-AssistanceInformationFailureList,
+ id-SRSConfiguration,
+ id-TRPMeasurementQuantities,
+ id-MeasurementResult,
+ id-TRP-ID,
+ id-TRPInformationTypeListTRPReq,
+ id-TRPInformationListTRPResp,
+ id-TRP-MeasurementRequestList,
+ id-TRP-MeasurementResponseList,
+ id-TRP-MeasurementReportList,
+ id-TRP-MeasurementUpdateList,
+ id-MeasurementBeamInfoRequest,
+ id-PositioningBroadcastCells,
+ id-SRSType,
+ id-ActivationTime,
+ id-SRSResourceSetID,
+ id-TRPList,
+ id-SRSSpatialRelation,
+ id-AbortTransmission,
+ id-SystemFrameNumber,
+ id-SlotNumber,
+ id-SRSResourceTrigger,
+ id-SFNInitialisationTime,
+ id-SRSSpatialRelationPerSRSResource,
+ id-MeasurementPeriodicityExtended,
+ id-PRSTRPList,
+ id-PRSTransmissionTRPList,
+ id-ResponseTime,
+ id-UEReportingInformation,
+ id-UETxTEGAssociationList,
+ id-TRP-PRS-Information-List,
+ id-PRS-Measurements-Info-List,
+ id-UE-TEG-Info-Request,
+ id-MeasurementCharacteristicsRequestIndicator,
+ id-MeasurementTimeOccasion,
+ id-PRSConfigRequestType,
+ id-MeasurementAmount,
+ id-PreconfigurationResult,
+ id-RequestType,
+ id-UE-TEG-ReportingPeriodicity,
+ id-MeasurementPeriodicityNR-AoA,
+ id-SRSTransmissionStatus
+
+
+
+
+FROM NRPPA-Constants;
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT INITIATION REQUEST
+--
+-- **************************************************************
+
+E-CIDMeasurementInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementInitiationRequest-IEs}},
+ ...
+}
+
+E-CIDMeasurementInitiationRequest-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory}|
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory}|
+ { ID id-MeasurementPeriodicity CRITICALITY reject TYPE MeasurementPeriodicity PRESENCE conditional}|
+-- The IE shall be present if the Report Characteritics IE is set to “periodic†--
+ { ID id-MeasurementQuantities CRITICALITY reject TYPE MeasurementQuantities PRESENCE mandatory}|
+ { ID id-OtherRATMeasurementQuantities CRITICALITY ignore TYPE OtherRATMeasurementQuantities PRESENCE optional}|
+ { ID id-WLANMeasurementQuantities CRITICALITY ignore TYPE WLANMeasurementQuantities PRESENCE optional}|
+ { ID id-MeasurementPeriodicityNR-AoA CRITICALITY reject TYPE MeasurementPeriodicityNR-AoA PRESENCE conditional},
+-- The IE shall be present if the Report Characteritics IE is set to “periodic†and the MeasurementQuantities-Item IE in the MeasurementQuantities IE is set to the value "angleOfArrivalNR" --
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT INITIATION RESPONSE
+--
+-- **************************************************************
+
+E-CIDMeasurementInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementInitiationResponse-IEs}},
+ ...
+}
+
+E-CIDMeasurementInitiationResponse-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory}|
+ { ID id-RAN-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory}|
+ { ID id-E-CID-MeasurementResult CRITICALITY ignore TYPE E-CID-MeasurementResult PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-Cell-Portion-ID CRITICALITY ignore TYPE Cell-Portion-ID PRESENCE optional}|
+ { ID id-OtherRATMeasurementResult CRITICALITY ignore TYPE OtherRATMeasurementResult PRESENCE optional}|
+ { ID id-WLANMeasurementResult CRITICALITY ignore TYPE WLANMeasurementResult PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT INITIATION FAILURE
+--
+-- **************************************************************
+
+E-CIDMeasurementInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementInitiationFailure-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementInitiationFailure-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT FAILURE INDICATION
+--
+-- **************************************************************
+
+E-CIDMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementFailureIndication-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementFailureIndication-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory}|
+ { ID id-RAN-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT REPORT
+--
+-- **************************************************************
+
+E-CIDMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementReport-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementReport-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory}|
+ { ID id-RAN-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory}|
+ { ID id-E-CID-MeasurementResult CRITICALITY ignore TYPE E-CID-MeasurementResult PRESENCE mandatory}|
+ { ID id-Cell-Portion-ID CRITICALITY ignore TYPE Cell-Portion-ID PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-CID MEASUREMENT TERMINATION
+--
+-- **************************************************************
+
+E-CIDMeasurementTerminationCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-CIDMeasurementTerminationCommand-IEs}},
+ ...
+}
+
+
+E-CIDMeasurementTerminationCommand-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory}|
+ { ID id-RAN-UE-Measurement-ID CRITICALITY reject TYPE UE-Measurement-ID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- OTDOA INFORMATION REQUEST
+--
+-- **************************************************************
+
+OTDOAInformationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{OTDOAInformationRequest-IEs}},
+ ...
+}
+
+OTDOAInformationRequest-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-OTDOA-Information-Type-Group CRITICALITY reject TYPE OTDOA-Information-Type PRESENCE mandatory},
+ ...
+}
+
+OTDOA-Information-Type ::= SEQUENCE (SIZE(1..maxnoOTDOAtypes)) OF ProtocolIE-Single-Container { { OTDOA-Information-Type-ItemIEs} }
+
+OTDOA-Information-Type-ItemIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-OTDOA-Information-Type-Item CRITICALITY reject TYPE OTDOA-Information-Type-Item PRESENCE mandatory},
+ ...
+}
+
+OTDOA-Information-Type-Item ::= SEQUENCE {
+ oTDOA-Information-Item OTDOA-Information-Item,
+ iE-Extensions ProtocolExtensionContainer { { OTDOA-Information-Type-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+OTDOA-Information-Type-ItemExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- OTDOA INFORMATION RESPONSE
+--
+-- **************************************************************
+
+OTDOAInformationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{OTDOAInformationResponse-IEs}},
+ ...
+}
+
+OTDOAInformationResponse-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-OTDOACells CRITICALITY ignore TYPE OTDOACells PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- OTDOA INFORMATION FAILURE
+--
+-- **************************************************************
+
+OTDOAInformationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{OTDOAInformationFailure-IEs}},
+ ...
+}
+
+
+OTDOAInformationFailure-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ASSISTANCE INFORMATION CONTROL
+--
+-- **************************************************************
+
+AssistanceInformationControl ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{AssistanceInformationControl-IEs}},
+ ...
+}
+
+AssistanceInformationControl-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-Assistance-Information CRITICALITY reject TYPE Assistance-Information PRESENCE optional}|
+ { ID id-Broadcast CRITICALITY reject TYPE Broadcast PRESENCE optional}|
+ { ID id-PositioningBroadcastCells CRITICALITY reject TYPE PositioningBroadcastCells PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ASSISTANCE INFORMATION FEEDBACK
+--
+-- **************************************************************
+
+AssistanceInformationFeedback ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{AssistanceInformationFeedback-IEs}},
+ ...
+}
+
+AssistanceInformationFeedback-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-AssistanceInformationFailureList CRITICALITY reject TYPE AssistanceInformationFailureList PRESENCE optional}|
+ { ID id-PositioningBroadcastCells CRITICALITY reject TYPE PositioningBroadcastCells PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ ...
+}
+
+ErrorIndication-IEs NRPPA-PROTOCOL-IES ::= {
+
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs NRPPA-PRIVATE-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITIONING INFORMATION REQUEST
+--
+-- **************************************************************
+
+PositioningInformationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PositioningInformationRequest-IEs}},
+ ...
+}
+
+PositioningInformationRequest-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-RequestedSRSTransmissionCharacteristics CRITICALITY ignore TYPE RequestedSRSTransmissionCharacteristics PRESENCE optional }|
+ { ID id-UEReportingInformation CRITICALITY ignore TYPE UEReportingInformation PRESENCE optional }|
+ { ID id-UE-TEG-Info-Request CRITICALITY ignore TYPE UE-TEG-Info-Request PRESENCE optional }|
+ { ID id-UE-TEG-ReportingPeriodicity CRITICALITY reject TYPE UE-TEG-ReportingPeriodicity PRESENCE conditional },
+-- The IE shall be present if the UE TEG Info Request IE is set to “periodicâ€
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITIONING INFORMATION RESPONSE
+--
+-- **************************************************************
+
+PositioningInformationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PositioningInformationResponse-IEs}},
+ ...
+}
+
+PositioningInformationResponse-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-SRSConfiguration CRITICALITY ignore TYPE SRSConfiguration PRESENCE optional}|
+ { ID id-SFNInitialisationTime CRITICALITY ignore TYPE RelativeTime1900 PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-UETxTEGAssociationList CRITICALITY ignore TYPE UETxTEGAssociationList PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITIONING INFORMATION FAILURE
+--
+-- **************************************************************
+
+PositioningInformationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PositioningInformationFailure-IEs}},
+ ...
+}
+
+PositioningInformationFailure-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITIONING INFORMATION UPDATE
+--
+-- **************************************************************
+
+PositioningInformationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PositioningInformationUpdate-IEs}},
+ ...
+}
+
+PositioningInformationUpdate-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-SRSConfiguration CRITICALITY ignore TYPE SRSConfiguration PRESENCE optional}|
+ { ID id-SFNInitialisationTime CRITICALITY ignore TYPE RelativeTime1900 PRESENCE optional}|
+ { ID id-UETxTEGAssociationList CRITICALITY ignore TYPE UETxTEGAssociationList PRESENCE optional}|
+ { ID id-SRSTransmissionStatus CRITICALITY ignore TYPE SRSTransmissionStatus PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT REQUEST
+--
+-- **************************************************************
+
+MeasurementRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MeasurementRequest-IEs}},
+ ...
+}
+
+MeasurementRequest-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-TRP-MeasurementRequestList CRITICALITY reject TYPE TRP-MeasurementRequestList PRESENCE mandatory}|
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory}|
+ { ID id-MeasurementPeriodicity CRITICALITY reject TYPE MeasurementPeriodicity PRESENCE conditional}|
+-- The IE shall be present if the Report Characteritics IE is set to “periodic†–
+ { ID id-TRPMeasurementQuantities CRITICALITY reject TYPE TRPMeasurementQuantities PRESENCE mandatory}|
+ { ID id-SFNInitialisationTime CRITICALITY ignore TYPE RelativeTime1900 PRESENCE optional}|
+ { ID id-SRSConfiguration CRITICALITY ignore TYPE SRSConfiguration PRESENCE optional}|
+ { ID id-MeasurementBeamInfoRequest CRITICALITY ignore TYPE MeasurementBeamInfoRequest PRESENCE optional}|
+ { ID id-SystemFrameNumber CRITICALITY ignore TYPE SystemFrameNumber PRESENCE optional}|
+ { ID id-SlotNumber CRITICALITY ignore TYPE SlotNumber PRESENCE optional}|
+ { ID id-MeasurementPeriodicityExtended CRITICALITY reject TYPE MeasurementPeriodicityExtended PRESENCE conditional}|
+-- The IE shall be present the MeasurementPeriodicity IE is set to the value "extended"
+ { ID id-ResponseTime CRITICALITY ignore TYPE ResponseTime PRESENCE optional}|
+ { ID id-MeasurementCharacteristicsRequestIndicator CRITICALITY ignore TYPE MeasurementCharacteristicsRequestIndicator PRESENCE optional}|
+ { ID id-MeasurementTimeOccasion CRITICALITY ignore TYPE MeasurementTimeOccasion PRESENCE optional}|
+ { ID id-MeasurementAmount CRITICALITY ignore TYPE MeasurementAmount PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT RESPONSE
+--
+-- **************************************************************
+
+MeasurementResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MeasurementResponse-IEs}},
+ ...
+}
+
+MeasurementResponse-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-RAN-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-TRP-MeasurementResponseList CRITICALITY reject TYPE TRP-MeasurementResponseList PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT FAILURE
+--
+-- **************************************************************
+
+MeasurementFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MeasurementFailure-IEs}},
+ ...
+}
+
+MeasurementFailure-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT REPORT
+--
+-- **************************************************************
+
+MeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MeasurementReport-IEs}},
+ ...
+}
+
+MeasurementReport-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-RAN-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-TRP-MeasurementReportList CRITICALITY reject TYPE TRP-MeasurementResponseList PRESENCE mandatory},
+
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT UPDATE
+--
+-- **************************************************************
+
+MeasurementUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MeasurementUpdate-IEs}},
+ ...
+}
+
+MeasurementUpdate-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-RAN-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-SRSConfiguration CRITICALITY ignore TYPE SRSConfiguration PRESENCE optional}|
+ { ID id-TRP-MeasurementUpdateList CRITICALITY reject TYPE TRP-MeasurementUpdateList PRESENCE optional}|
+ { ID id-MeasurementCharacteristicsRequestIndicator CRITICALITY ignore TYPE MeasurementCharacteristicsRequestIndicator PRESENCE optional}|
+ { ID id-MeasurementTimeOccasion CRITICALITY ignore TYPE MeasurementTimeOccasion PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT ABORT
+--
+-- **************************************************************
+
+MeasurementAbort ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MeasurementAbort-IEs}},
+ ...
+}
+
+MeasurementAbort-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-RAN-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory},
+
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT FAILURE INDICATION
+--
+-- **************************************************************
+
+MeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MeasurementFailureIndication-IEs}},
+ ...
+}
+
+MeasurementFailureIndication-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-LMF-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-RAN-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- TRP INFORMATION REQUEST
+--
+-- **************************************************************
+
+TRPInformationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{TRPInformationRequest-IEs}},
+ ...
+}
+
+TRPInformationRequest-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-TRPList CRITICALITY ignore TYPE TRPList PRESENCE optional}|
+ { ID id-TRPInformationTypeListTRPReq CRITICALITY reject TYPE TRPInformationTypeListTRPReq PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- TRP INFORMATION RESPONSE
+--
+-- **************************************************************
+
+TRPInformationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{TRPInformationResponse-IEs}},
+ ...
+}
+
+TRPInformationResponse-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-TRPInformationListTRPResp CRITICALITY ignore TYPE TRPInformationListTRPResp PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- TRP INFORMATION FAILURE
+--
+-- **************************************************************
+
+TRPInformationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{TRPInformationFailure-IEs}},
+ ...
+}
+
+TRPInformationFailure-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- POSITIONING ACTIVATION REQUEST
+--
+-- **************************************************************
+
+PositioningActivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningActivationRequestIEs} },
+ ...
+}
+
+PositioningActivationRequestIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-SRSType CRITICALITY reject TYPE SRSType PRESENCE mandatory } |
+ { ID id-ActivationTime CRITICALITY ignore TYPE RelativeTime1900 PRESENCE optional },
+ ...
+}
+
+SRSType ::= CHOICE {
+ semipersistentSRS SemipersistentSRS,
+ aperiodicSRS AperiodicSRS,
+ choice-Extension ProtocolIE-Single-Container { { SRSType-ExtIEs} }
+}
+
+SRSType-ExtIEs NRPPA-PROTOCOL-IES ::= {
+ ...
+}
+
+SemipersistentSRS ::= SEQUENCE {
+ sRSResourceSetID SRSResourceSetID,
+ iE-Extensions ProtocolExtensionContainer { {SemipersistentSRS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SemipersistentSRS-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ { ID id-SRSSpatialRelation CRITICALITY ignore EXTENSION SpatialRelationInfo PRESENCE optional}|
+ { ID id-SRSSpatialRelationPerSRSResource CRITICALITY ignore EXTENSION SpatialRelationPerSRSResource PRESENCE optional},
+ ...
+}
+
+AperiodicSRS ::= SEQUENCE {
+ aperiodic ENUMERATED{true,...},
+ sRSResourceTrigger SRSResourceTrigger OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AperiodicSRS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AperiodicSRS-ExtIEs NRPPA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITIONING ACTIVATION RESPONSE
+--
+-- **************************************************************
+
+PositioningActivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningActivationResponseIEs} },
+ ...
+}
+
+
+PositioningActivationResponseIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-SystemFrameNumber CRITICALITY ignore TYPE SystemFrameNumber PRESENCE optional }|
+ { ID id-SlotNumber CRITICALITY ignore TYPE SlotNumber PRESENCE optional },
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- POSITIONING ACTIVATION FAILURE
+--
+-- **************************************************************
+
+PositioningActivationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningActivationFailureIEs} },
+ ...
+}
+
+PositioningActivationFailureIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITIONING DEACTIVATION
+--
+-- **************************************************************
+
+PositioningDeactivation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PositioningDeactivationIEs} },
+ ...
+}
+
+PositioningDeactivationIEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-AbortTransmission CRITICALITY ignore TYPE AbortTransmission PRESENCE mandatory } ,
+ ...
+}
+
+-- **************************************************************
+--
+-- PRS CONFIGURATION REQUEST
+--
+-- **************************************************************
+
+PRSConfigurationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PRSConfigurationRequest-IEs}},
+ ...
+}
+
+PRSConfigurationRequest-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-PRSConfigRequestType CRITICALITY reject TYPE PRSConfigRequestType PRESENCE mandatory}|
+ { ID id-PRSTRPList CRITICALITY ignore TYPE PRSTRPList PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- PRS CONFIGURATION RESPONSE
+--
+-- **************************************************************
+
+PRSConfigurationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PRSConfigurationResponse-IEs}},
+ ...
+}
+
+PRSConfigurationResponse-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-PRSTransmissionTRPList CRITICALITY ignore TYPE PRSTransmissionTRPList PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PRS CONFIGURATION FAILURE
+--
+-- **************************************************************
+
+PRSConfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PRSConfigurationFailure-IEs}},
+ ...
+}
+
+PRSConfigurationFailure-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MEASUREMENT PRECONFIGURATION REQUIRED
+--
+-- **************************************************************
+
+MeasurementPreconfigurationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MeasurementPreconfigurationRequired-IEs}},
+ ...
+}
+
+MeasurementPreconfigurationRequired-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-TRP-PRS-Information-List CRITICALITY ignore TYPE TRP-PRS-Information-List PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT PRECONFIGURATION CONFIRM
+--
+-- **************************************************************
+
+MeasurementPreconfigurationConfirm::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MeasurementPreconfigurationConfirm-IEs}},
+ ...
+}
+
+MeasurementPreconfigurationConfirm-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-PreconfigurationResult CRITICALITY ignore TYPE PreconfigurationResult PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT PRECONFIGURATION REFUSE
+--
+-- **************************************************************
+
+MeasurementPreconfigurationRefuse::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MeasurementPreconfigurationRefuse-IEs}},
+ ...
+}
+
+MeasurementPreconfigurationRefuse-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MEASUREMENT ACTIVATION
+--
+-- **************************************************************
+
+MeasurementActivation::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MeasurementActivation-IEs} },
+ ...
+}
+
+MeasurementActivation-IEs NRPPA-PROTOCOL-IES ::= {
+ { ID id-RequestType CRITICALITY reject TYPE RequestType PRESENCE mandatory}|
+ { ID id-PRS-Measurements-Info-List CRITICALITY ignore TYPE PRS-Measurements-Info-List PRESENCE optional},
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/nrppa/NRPPA-PDU-Descriptions.asn b/epan/dissectors/asn1/nrppa/NRPPA-PDU-Descriptions.asn
new file mode 100644
index 00000000..ec0ea63c
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/NRPPA-PDU-Descriptions.asn
@@ -0,0 +1,360 @@
+-- 3GPP TS 38.455 V17.4.0 (2023-03)
+--
+-- ASN1START
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+NRPPA-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) nrppa (4) version1 (1) nrppa-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode,
+ NRPPATransactionID
+
+FROM NRPPA-CommonDataTypes
+
+
+ ErrorIndication,
+ PrivateMessage,
+ E-CIDMeasurementInitiationRequest,
+ E-CIDMeasurementInitiationResponse,
+ E-CIDMeasurementInitiationFailure,
+ E-CIDMeasurementFailureIndication,
+ E-CIDMeasurementReport,
+ E-CIDMeasurementTerminationCommand,
+ OTDOAInformationRequest,
+ OTDOAInformationResponse,
+ OTDOAInformationFailure,
+ AssistanceInformationControl,
+ AssistanceInformationFeedback,
+ PositioningInformationRequest,
+ PositioningInformationResponse,
+ PositioningInformationFailure,
+ PositioningInformationUpdate,
+ MeasurementRequest,
+ MeasurementResponse,
+ MeasurementFailure,
+ MeasurementReport,
+ MeasurementUpdate,
+ MeasurementAbort,
+ MeasurementFailureIndication,
+ TRPInformationRequest,
+ TRPInformationResponse,
+ TRPInformationFailure,
+ PositioningActivationRequest,
+ PositioningActivationResponse,
+ PositioningActivationFailure,
+ PositioningDeactivation,
+ PRSConfigurationRequest,
+ PRSConfigurationResponse,
+ PRSConfigurationFailure,
+ MeasurementPreconfigurationRequired,
+ MeasurementPreconfigurationConfirm,
+ MeasurementPreconfigurationRefuse,
+ MeasurementActivation
+
+
+FROM NRPPA-PDU-Contents
+
+ id-errorIndication,
+ id-privateMessage,
+ id-e-CIDMeasurementInitiation,
+ id-e-CIDMeasurementFailureIndication,
+ id-e-CIDMeasurementReport,
+ id-e-CIDMeasurementTermination,
+ id-oTDOAInformationExchange,
+ id-assistanceInformationControl,
+ id-assistanceInformationFeedback,
+ id-positioningInformationExchange,
+ id-positioningInformationUpdate,
+ id-Measurement,
+ id-MeasurementReport,
+ id-MeasurementUpdate,
+ id-MeasurementAbort,
+ id-MeasurementFailureIndication,
+ id-tRPInformationExchange,
+ id-positioningActivation,
+ id-positioningDeactivation,
+ id-pRSConfigurationExchange,
+ id-measurementPreconfiguration,
+ id-measurementActivation
+
+
+
+FROM NRPPA-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+NRPPA-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+NRPPA-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode NRPPA-ELEMENTARY-PROCEDURE.&procedureCode ({NRPPA-ELEMENTARY-PROCEDURES}),
+ criticality NRPPA-ELEMENTARY-PROCEDURE.&criticality ({NRPPA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ nrppatransactionID NRPPATransactionID,
+ value NRPPA-ELEMENTARY-PROCEDURE.&InitiatingMessage ({NRPPA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode NRPPA-ELEMENTARY-PROCEDURE.&procedureCode ({NRPPA-ELEMENTARY-PROCEDURES}),
+ criticality NRPPA-ELEMENTARY-PROCEDURE.&criticality ({NRPPA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ nrppatransactionID NRPPATransactionID,
+ value NRPPA-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({NRPPA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode NRPPA-ELEMENTARY-PROCEDURE.&procedureCode ({NRPPA-ELEMENTARY-PROCEDURES}),
+ criticality NRPPA-ELEMENTARY-PROCEDURE.&criticality ({NRPPA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ nrppatransactionID NRPPATransactionID,
+ value NRPPA-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({NRPPA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+NRPPA-ELEMENTARY-PROCEDURES NRPPA-ELEMENTARY-PROCEDURE ::= {
+ NRPPA-ELEMENTARY-PROCEDURES-CLASS-1 |
+ NRPPA-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+NRPPA-ELEMENTARY-PROCEDURES-CLASS-1 NRPPA-ELEMENTARY-PROCEDURE ::= {
+ e-CIDMeasurementInitiation |
+ oTDOAInformationExchange |
+ positioningInformationExchange |
+ measurement |
+ tRPInformationExchange |
+ positioningActivation |
+ pRSConfigurationExchange |
+ measurementPreconfiguration,
+
+ ...
+}
+
+NRPPA-ELEMENTARY-PROCEDURES-CLASS-2 NRPPA-ELEMENTARY-PROCEDURE ::= {
+ e-CIDMeasurementFailureIndication |
+ e-CIDMeasurementReport |
+ e-CIDMeasurementTermination |
+ errorIndication |
+ privateMessage |
+ assistanceInformationControl |
+ assistanceInformationFeedback |
+ positioningInformationUpdate |
+ measurementReport |
+ measurementUpdate |
+ measurementAbort |
+ measurementFailureIndication |
+ positioningDeactivation |
+ measurementActivation,
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+e-CIDMeasurementInitiation NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementInitiationRequest
+ SUCCESSFUL OUTCOME E-CIDMeasurementInitiationResponse
+ UNSUCCESSFUL OUTCOME E-CIDMeasurementInitiationFailure
+ PROCEDURE CODE id-e-CIDMeasurementInitiation
+ CRITICALITY reject
+}
+
+e-CIDMeasurementFailureIndication NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementFailureIndication
+ PROCEDURE CODE id-e-CIDMeasurementFailureIndication
+ CRITICALITY ignore
+}
+
+e-CIDMeasurementReport NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementReport
+ PROCEDURE CODE id-e-CIDMeasurementReport
+ CRITICALITY ignore
+}
+
+e-CIDMeasurementTermination NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-CIDMeasurementTerminationCommand
+ PROCEDURE CODE id-e-CIDMeasurementTermination
+ CRITICALITY reject
+}
+
+oTDOAInformationExchange NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE OTDOAInformationRequest
+ SUCCESSFUL OUTCOME OTDOAInformationResponse
+ UNSUCCESSFUL OUTCOME OTDOAInformationFailure
+ PROCEDURE CODE id-oTDOAInformationExchange
+ CRITICALITY reject
+}
+
+
+assistanceInformationControl NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AssistanceInformationControl
+ PROCEDURE CODE id-assistanceInformationControl
+ CRITICALITY reject
+}
+
+assistanceInformationFeedback NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE AssistanceInformationFeedback
+ PROCEDURE CODE id-assistanceInformationFeedback
+ CRITICALITY reject
+}
+
+
+errorIndication NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-errorIndication
+ CRITICALITY ignore
+}
+
+
+privateMessage NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+
+positioningInformationExchange NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningInformationRequest
+ SUCCESSFUL OUTCOME PositioningInformationResponse
+ UNSUCCESSFUL OUTCOME PositioningInformationFailure
+ PROCEDURE CODE id-positioningInformationExchange
+ CRITICALITY reject
+}
+
+positioningInformationUpdate NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningInformationUpdate
+ PROCEDURE CODE id-positioningInformationUpdate
+ CRITICALITY ignore
+}
+
+measurement NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MeasurementRequest
+ SUCCESSFUL OUTCOME MeasurementResponse
+ UNSUCCESSFUL OUTCOME MeasurementFailure
+ PROCEDURE CODE id-Measurement
+ CRITICALITY reject
+}
+
+measurementReport NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MeasurementReport
+ PROCEDURE CODE id-MeasurementReport
+ CRITICALITY ignore
+}
+
+measurementUpdate NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MeasurementUpdate
+ PROCEDURE CODE id-MeasurementUpdate
+ CRITICALITY ignore
+}
+
+measurementAbort NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MeasurementAbort
+ PROCEDURE CODE id-MeasurementAbort
+ CRITICALITY ignore
+}
+
+measurementFailureIndication NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MeasurementFailureIndication
+ PROCEDURE CODE id-MeasurementFailureIndication
+ CRITICALITY ignore
+}
+
+tRPInformationExchange NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TRPInformationRequest
+ SUCCESSFUL OUTCOME TRPInformationResponse
+ UNSUCCESSFUL OUTCOME TRPInformationFailure
+ PROCEDURE CODE id-tRPInformationExchange
+ CRITICALITY reject
+}
+
+positioningActivation NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningActivationRequest
+ SUCCESSFUL OUTCOME PositioningActivationResponse
+ UNSUCCESSFUL OUTCOME PositioningActivationFailure
+ PROCEDURE CODE id-positioningActivation
+ CRITICALITY reject
+}
+
+positioningDeactivation NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositioningDeactivation
+ PROCEDURE CODE id-positioningDeactivation
+ CRITICALITY ignore
+}
+
+pRSConfigurationExchange NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PRSConfigurationRequest
+ SUCCESSFUL OUTCOME PRSConfigurationResponse
+ UNSUCCESSFUL OUTCOME PRSConfigurationFailure
+ PROCEDURE CODE id-pRSConfigurationExchange
+ CRITICALITY reject
+}
+
+measurementPreconfiguration NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MeasurementPreconfigurationRequired
+ SUCCESSFUL OUTCOME MeasurementPreconfigurationConfirm
+ UNSUCCESSFUL OUTCOME MeasurementPreconfigurationRefuse
+ PROCEDURE CODE id-measurementPreconfiguration
+ CRITICALITY reject
+}
+
+measurementActivation NRPPA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MeasurementActivation
+ PROCEDURE CODE id-measurementActivation
+ CRITICALITY ignore
+}
+
+
+END
diff --git a/epan/dissectors/asn1/nrppa/nrppa.cnf b/epan/dissectors/asn1/nrppa/nrppa.cnf
new file mode 100644
index 00000000..5064df05
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/nrppa.cnf
@@ -0,0 +1,383 @@
+# nrppa.cnf
+# nrppa conformation file
+# Copyright 2019 Anders Broman
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.OMIT_ASSIGNMENT
+Presence
+ProtocolIE-ContainerList
+PRS-ID
+SRSResourceID-Item
+
+#.EXPORTS
+Assistance-Information_PDU
+
+#.PDU
+Assistance-Information
+NRPPA-PDU
+
+#.TYPE_RENAME
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+ProtocolIE-Field/value ie_field_value
+ProtocolExtensionField/id ext_id
+
+#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(nrppa_ProtocolIE_ID_vals), "unknown (%d)"));
+ }
+#.END
+
+#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
+#.FN_FTR ProcedureCode
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
+ val_to_str(ProcedureCode, nrppa_ProcedureCode_vals,
+ "unknown message"));
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+#.FN_HDR NRPPA-PDU
+
+ proto_tree_add_item(tree, proto_nrppa, tvb, 0, -1, ENC_NA);
+ add_per_encoded_label(tvb, actx->pinfo, tree);
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_PROTOCOL, "/", "NRPPa");
+#.END
+
+#.TYPE_ATTR
+TAC TYPE = FT_UINT24 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+
+#.TYPE_ATTR
+
+#.TYPE_ATTR
+# ProcedureCode
+id-errorIndication ProcedureCode
+id-privateMessage ProcedureCode
+id-e-CIDMeasurementInitiation ProcedureCode
+id-e-CIDMeasurementFailureIndication ProcedureCode
+id-e-CIDMeasurementReport ProcedureCode
+id-e-CIDMeasurementTermination ProcedureCode
+id-oTDOAInformationExchange ProcedureCode
+id-assistanceInformationControl ProcedureCode
+id-assistanceInformationFeedback ProcedureCode
+id-positioningInformationExchange ProcedureCode
+id-positioningInformationUpdate ProcedureCode
+id-Measurement ProcedureCode
+id-MeasurementReport ProcedureCode
+id-MeasurementUpdate ProcedureCode
+id-MeasurementAbort ProcedureCode
+id-MeasurementFailureIndication ProcedureCode
+id-tRPInformationExchange ProcedureCode
+id-positioningActivation ProcedureCode
+id-positioningDeactivation ProcedureCode
+id-pRSConfigurationExchange ProcedureCode
+id-measurementPreconfiguration ProcedureCode
+id-measurementActivation ProcedureCode
+
+# ProtocolIE-ID
+
+id-Cause ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-LMF-UE-Measurement-ID ProtocolIE-ID
+id-ReportCharacteristics ProtocolIE-ID
+id-MeasurementPeriodicity ProtocolIE-ID
+id-MeasurementQuantities ProtocolIE-ID
+id-RAN-UE-Measurement-ID ProtocolIE-ID
+id-E-CID-MeasurementResult ProtocolIE-ID
+id-OTDOACells ProtocolIE-ID
+id-OTDOA-Information-Type-Group ProtocolIE-ID
+id-OTDOA-Information-Type-Item ProtocolIE-ID
+id-MeasurementQuantities-Item ProtocolIE-ID
+id-RequestedSRSTransmissionCharacteristics ProtocolIE-ID
+id-Cell-Portion-ID ProtocolIE-ID
+id-OtherRATMeasurementQuantities ProtocolIE-ID
+id-OtherRATMeasurementQuantities-Item ProtocolIE-ID
+id-OtherRATMeasurementResult ProtocolIE-ID
+id-WLANMeasurementQuantities ProtocolIE-ID
+id-WLANMeasurementQuantities-Item ProtocolIE-ID
+id-WLANMeasurementResult ProtocolIE-ID
+id-TDD-Config-EUTRA-Item ProtocolIE-ID
+id-Assistance-Information ProtocolIE-ID
+id-Broadcast ProtocolIE-ID
+id-AssistanceInformationFailureList ProtocolIE-ID
+id-SRSConfiguration ProtocolIE-ID
+id-MeasurementResult ProtocolIE-ID
+id-TRP-ID ProtocolIE-ID
+id-TRPInformationTypeListTRPReq ProtocolIE-ID
+id-TRPInformationListTRPResp ProtocolIE-ID
+id-MeasurementBeamInfoRequest ProtocolIE-ID
+id-ResultSS-RSRP ProtocolIE-ID
+id-ResultSS-RSRQ ProtocolIE-ID
+id-ResultCSI-RSRP ProtocolIE-ID
+id-ResultCSI-RSRQ ProtocolIE-ID
+id-AngleOfArrivalNR ProtocolIE-ID
+id-GeographicalCoordinates ProtocolIE-ID
+id-PositioningBroadcastCells ProtocolIE-ID
+id-LMF-Measurement-ID ProtocolIE-ID
+id-RAN-Measurement-ID ProtocolIE-ID
+id-TRP-MeasurementRequestList ProtocolIE-ID
+id-TRP-MeasurementResponseList ProtocolIE-ID
+id-TRP-MeasurementReportList ProtocolIE-ID
+id-SRSType ProtocolIE-ID
+id-ActivationTime ProtocolIE-ID
+id-SRSResourceSetID ProtocolIE-ID
+id-TRPList ProtocolIE-ID
+id-SRSSpatialRelation ProtocolIE-ID
+id-SystemFrameNumber ProtocolIE-ID
+id-SlotNumber ProtocolIE-ID
+id-SRSResourceTrigger ProtocolIE-ID
+id-TRPMeasurementQuantities ProtocolIE-ID
+id-AbortTransmission ProtocolIE-ID
+id-SFNInitialisationTime ProtocolIE-ID
+id-ResultNR ProtocolIE-ID
+id-ResultEUTRA ProtocolIE-ID
+id-TRPInformationTypeItem ProtocolIE-ID
+id-CGI-NR ProtocolIE-ID
+id-SFNInitialisationTime-NR ProtocolIE-ID
+id-Cell-ID ProtocolIE-ID
+id-SrsFrequency ProtocolIE-ID
+id-TRPType ProtocolIE-ID
+id-SRSSpatialRelationPerSRSResource ProtocolIE-ID
+id-MeasurementPeriodicityExtended ProtocolIE-ID
+id-PRS-Resource-ID ProtocolIE-ID
+id-PRSTRPList ProtocolIE-ID
+id-PRSTransmissionTRPList ProtocolIE-ID
+id-OnDemandPRS ProtocolIE-ID
+id-AoA-SearchWindow ProtocolIE-ID
+id-TRP-MeasurementUpdateList ProtocolIE-ID
+id-ZoA ProtocolIE-ID
+id-ResponseTime ProtocolIE-ID
+id-UEReportingInformation ProtocolIE-ID
+id-MultipleULAoA ProtocolIE-ID
+id-UL-SRS-RSRPP ProtocolIE-ID
+id-SRSResourcetype ProtocolIE-ID
+id-ExtendedAdditionalPathList ProtocolIE-ID
+id-ARPLocationInfo ProtocolIE-ID
+id-ARP-ID ProtocolIE-ID
+id-LoS-NLoSInformation ProtocolIE-ID
+id-UETxTEGAssociationList ProtocolIE-ID
+id-NumberOfTRPRxTEG ProtocolIE-ID
+id-NumberOfTRPRxTxTEG ProtocolIE-ID
+id-TRPTxTEGAssociation ProtocolIE-ID
+id-TRPTEGInformation ProtocolIE-ID
+id-TRP-Rx-TEGInformation ProtocolIE-ID
+id-TRP-PRS-Information-List ProtocolIE-ID
+id-PRS-Measurements-Info-List ProtocolIE-ID
+id-PRSConfigRequestType ProtocolIE-ID
+id-UE-TEG-Info-Request ProtocolIE-ID
+id-MeasurementTimeOccasion ProtocolIE-ID
+id-MeasurementCharacteristicsRequestIndicator ProtocolIE-ID
+id-TRPBeamAntennaInformation ProtocolIE-ID
+id-NR-TADV ProtocolIE-ID
+id-MeasurementAmount ProtocolIE-ID
+id-pathPower ProtocolIE-ID
+id-PreconfigurationResult ProtocolIE-ID
+id-RequestType ProtocolIE-ID
+id-UE-TEG-ReportingPeriodicity ProtocolIE-ID
+id-SRSPortIndex ProtocolIE-ID
+id-procedure-code-101-not-to-be-used ProtocolIE-ID
+id-procedure-code-102-not-to-be-used ProtocolIE-ID
+id-procedure-code-103-not-to-be-used ProtocolIE-ID
+id-UETxTimingErrorMargin ProtocolIE-ID
+id-MeasurementPeriodicityNR-AoA ProtocolIE-ID
+id-SRSTransmissionStatus ProtocolIE-ID
+
+#.REGISTER
+#NRPPA-PROTOCOL-IES
+
+Cause N nrppa.ies id-Cause
+CriticalityDiagnostics N nrppa.ies id-CriticalityDiagnostics
+UE-Measurement-ID N nrppa.ies id-LMF-UE-Measurement-ID
+ReportCharacteristics N nrppa.ies id-ReportCharacteristics
+MeasurementPeriodicity N nrppa.ies id-MeasurementPeriodicity
+MeasurementQuantities N nrppa.ies id-MeasurementQuantities
+UE-Measurement-ID N nrppa.ies id-RAN-UE-Measurement-ID
+E-CID-MeasurementResult N nrppa.ies id-E-CID-MeasurementResult
+OTDOACells N nrppa.ies id-OTDOACells
+OTDOA-Information-Type N nrppa.ies id-OTDOA-Information-Type-Group
+OTDOA-Information-Type-Item N nrppa.ies id-OTDOA-Information-Type-Item
+MeasurementQuantities-Item N nrppa.ies id-MeasurementQuantities-Item
+RequestedSRSTransmissionCharacteristics N nrppa.ies id-RequestedSRSTransmissionCharacteristics
+Cell-Portion-ID N nrppa.ies id-Cell-Portion-ID
+OtherRATMeasurementQuantities N nrppa.ies id-OtherRATMeasurementQuantities
+OtherRATMeasurementQuantities-Item N nrppa.ies id-OtherRATMeasurementQuantities-Item
+OtherRATMeasurementResult N nrppa.ies id-OtherRATMeasurementResult
+WLANMeasurementQuantities N nrppa.ies id-WLANMeasurementQuantities
+WLANMeasurementQuantities-Item N nrppa.ies id-WLANMeasurementQuantities-Item
+WLANMeasurementResult N nrppa.ies id-WLANMeasurementResult
+TDD-Config-EUTRA-Item N nrppa.ies id-TDD-Config-EUTRA-Item
+Assistance-Information N nrppa.ies id-Assistance-Information
+Broadcast N nrppa.ies id-Broadcast
+AssistanceInformationFailureList N nrppa.ies id-AssistanceInformationFailureList
+SRSConfiguration N nrppa.ies id-SRSConfiguration
+TRPInformationTypeListTRPReq N nrppa.ies id-TRPInformationTypeListTRPReq
+TRPInformationListTRPResp N nrppa.ies id-TRPInformationListTRPResp
+MeasurementBeamInfoRequest N nrppa.ies id-MeasurementBeamInfoRequest
+ResultSS-RSRP N nrppa.ies id-ResultSS-RSRP
+ResultSS-RSRQ N nrppa.ies id-ResultSS-RSRQ
+ResultCSI-RSRP N nrppa.ies id-ResultCSI-RSRP
+ResultCSI-RSRQ N nrppa.ies id-ResultCSI-RSRQ
+UL-AoA N nrppa.ies id-AngleOfArrivalNR
+PositioningBroadcastCells N nrppa.ies id-PositioningBroadcastCells
+Measurement-ID N nrppa.ies id-LMF-Measurement-ID
+Measurement-ID N nrppa.ies id-RAN-Measurement-ID
+TRP-MeasurementRequestList N nrppa.ies id-TRP-MeasurementRequestList
+TRP-MeasurementResponseList N nrppa.ies id-TRP-MeasurementResponseList
+SRSType N nrppa.ies id-SRSType
+RelativeTime1900 N nrppa.ies id-ActivationTime
+TRPList N nrppa.ies id-TRPList
+SystemFrameNumber N nrppa.ies id-SystemFrameNumber
+SlotNumber N nrppa.ies id-SlotNumber
+TRPMeasurementQuantities N nrppa.ies id-TRPMeasurementQuantities
+AbortTransmission N nrppa.ies id-AbortTransmission
+RelativeTime1900 N nrppa.ies id-SFNInitialisationTime
+ResultNR N nrppa.ies id-ResultNR
+ResultEUTRA N nrppa.ies id-ResultEUTRA
+TRPInformationTypeItem N nrppa.ies id-TRPInformationTypeItem
+CGI-NR N nrppa.ies id-CGI-NR
+SFNInitialisationTime-EUTRA N nrppa.ies id-SFNInitialisationTime-NR
+CGI-NR N nrppa.ies id-Cell-ID
+SrsFrequency N nrppa.ies id-SrsFrequency
+TRPType N nrppa.ies id-TRPType
+MeasurementPeriodicityExtended N nrppa.ies id-MeasurementPeriodicityExtended
+PRSTRPList N nrppa.ies id-PRSTRPList
+PRSTransmissionTRPList N nrppa.ies id-PRSTransmissionTRPList
+OnDemandPRS-Info N nrppa.ies id-OnDemandPRS
+TRP-MeasurementUpdateList N nrppa.ies id-TRP-MeasurementUpdateList
+ZoA N nrppa.ies id-ZoA
+ResponseTime N nrppa.ies id-ResponseTime
+UEReportingInformation N nrppa.ies id-UEReportingInformation
+MultipleULAoA N nrppa.ies id-MultipleULAoA
+UL-SRS-RSRPP N nrppa.ies id-UL-SRS-RSRPP
+UETxTEGAssociationList N nrppa.ies id-UETxTEGAssociationList
+TRPTxTEGAssociation N nrppa.ies id-TRPTxTEGAssociation
+TRP-PRS-Information-List N nrppa.ies id-TRP-PRS-Information-List
+PRS-Measurements-Info-List N nrppa.ies id-PRS-Measurements-Info-List
+PRSConfigRequestType N nrppa.ies id-PRSConfigRequestType
+UE-TEG-Info-Request N nrppa.ies id-UE-TEG-Info-Request
+MeasurementTimeOccasion N nrppa.ies id-MeasurementTimeOccasion
+MeasurementCharacteristicsRequestIndicator N nrppa.ies id-MeasurementCharacteristicsRequestIndicator
+TRPBeamAntennaInformation N nrppa.ies id-TRPBeamAntennaInformation
+NR-TADV N nrppa.ies id-NR-TADV
+MeasurementAmount N nrppa.ies id-MeasurementAmount
+PreconfigurationResult N nrppa.ies id-PreconfigurationResult
+RequestType N nrppa.ies id-RequestType
+UE-TEG-ReportingPeriodicity N nrppa.ies id-UE-TEG-ReportingPeriodicity
+MeasurementPeriodicityNR-AoA N nrppa.ies id-MeasurementPeriodicityNR-AoA
+SRSTransmissionStatus N nrppa.ies id-SRSTransmissionStatus
+
+
+#NRPPA-PROTOCOL-EXTENSION
+
+GeographicalCoordinates N nrppa.extension id-GeographicalCoordinates
+SpatialRelationInfo N nrppa.extension id-SRSSpatialRelation
+SpatialRelationPerSRSResource N nrppa.extension id-SRSSpatialRelationPerSRSResource
+PRS-Resource-ID N nrppa.extension id-PRS-Resource-ID
+AoA-AssistanceInfo N nrppa.extension id-AoA-SearchWindow
+MultipleULAoA N nrppa.extension id-MultipleULAoA
+SRSResourcetype N nrppa.extension id-SRSResourcetype
+ExtendedAdditionalPathList N nrppa.extension id-ExtendedAdditionalPathList
+ARPLocationInformation N nrppa.extension id-ARPLocationInfo
+ARP-ID N nrppa.extension id-ARP-ID
+LoS-NLoSInformation N nrppa.extension id-LoS-NLoSInformation
+NumberOfTRPRxTEG N nrppa.extension id-NumberOfTRPRxTEG
+NumberOfTRPRxTxTEG N nrppa.extension id-NumberOfTRPRxTxTEG
+TRPTEGInformation N nrppa.extension id-TRPTEGInformation
+TRP-Rx-TEGInformation N nrppa.extension id-TRP-Rx-TEGInformation
+UL-SRS-RSRPP N nrppa.extension id-pathPower
+SRSPortIndex N nrppa.extension id-SRSPortIndex
+TimingErrorMargin N nrppa.extension id-UETxTimingErrorMargin
+
+
+#LPPA-ELEMENTARY-PROCEDURE
+ErrorIndication N nrppa.proc.imsg id-errorIndication
+
+PrivateMessage N nrppa.proc.imsg id-privateMessage
+
+E-CIDMeasurementInitiationRequest N nrppa.proc.imsg id-e-CIDMeasurementInitiation
+E-CIDMeasurementInitiationResponse N nrppa.proc.sout id-e-CIDMeasurementInitiation
+E-CIDMeasurementInitiationFailure N nrppa.proc.uout id-e-CIDMeasurementInitiation
+
+E-CIDMeasurementFailureIndication N nrppa.proc.imsg id-e-CIDMeasurementFailureIndication
+
+E-CIDMeasurementReport N nrppa.proc.imsg id-e-CIDMeasurementReport
+
+E-CIDMeasurementTerminationCommand N nrppa.proc.imsg id-e-CIDMeasurementTermination
+
+OTDOAInformationRequest N nrppa.proc.imsg id-oTDOAInformationExchange
+OTDOAInformationResponse N nrppa.proc.sout id-oTDOAInformationExchange
+OTDOAInformationFailure N nrppa.proc.uout id-oTDOAInformationExchange
+
+AssistanceInformationControl N nrppa.proc.imsg id-assistanceInformationControl
+
+AssistanceInformationFeedback N nrppa.proc.imsg id-assistanceInformationFeedback
+
+PositioningInformationRequest N nrppa.proc.imsg id-positioningInformationExchange
+PositioningInformationResponse N nrppa.proc.sout id-positioningInformationExchange
+PositioningInformationFailure N nrppa.proc.uout id-positioningInformationExchange
+
+PositioningInformationUpdate N nrppa.proc.imsg id-positioningInformationUpdate
+
+MeasurementRequest N nrppa.proc.imsg id-Measurement
+MeasurementResponse N nrppa.proc.sout id-Measurement
+MeasurementFailure N nrppa.proc.uout id-Measurement
+
+MeasurementReport N nrppa.proc.imsg id-MeasurementReport
+
+MeasurementUpdate N nrppa.proc.imsg id-MeasurementUpdate
+
+MeasurementAbort N nrppa.proc.imsg id-MeasurementAbort
+
+MeasurementFailureIndication N nrppa.proc.imsg id-MeasurementFailureIndication
+
+TRPInformationRequest N nrppa.proc.imsg id-tRPInformationExchange
+TRPInformationResponse N nrppa.proc.sout id-tRPInformationExchange
+TRPInformationFailure N nrppa.proc.uout id-tRPInformationExchange
+
+PositioningActivationRequest N nrppa.proc.imsg id-positioningActivation
+PositioningActivationResponse N nrppa.proc.sout id-positioningActivation
+PositioningActivationFailure N nrppa.proc.uout id-positioningActivation
+
+PositioningDeactivation N nrppa.proc.imsg id-positioningDeactivation
+
+PRSConfigurationRequest N nrppa.proc.imsg id-pRSConfigurationExchange
+PRSConfigurationResponse N nrppa.proc.sout id-pRSConfigurationExchange
+PRSConfigurationFailure N nrppa.proc.uout id-pRSConfigurationExchange
+
+MeasurementPreconfigurationRequired N nrppa.proc.imsg id-measurementPreconfiguration
+MeasurementPreconfigurationConfirm N nrppa.proc.sout id-measurementPreconfiguration
+MeasurementPreconfigurationRefuse N nrppa.proc.uout id-measurementPreconfiguration
+
+MeasurementActivation N nrppa.proc.imsg id-measurementActivation
diff --git a/epan/dissectors/asn1/nrppa/packet-nrppa-template.c b/epan/dissectors/asn1/nrppa/packet-nrppa-template.c
new file mode 100644
index 00000000..44087784
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/packet-nrppa-template.c
@@ -0,0 +1,122 @@
+/* packet-nrppa.c
+ * Routines for 3GPP NR Positioning Protocol A (NRPPa) packet dissection
+ * Copyright 2019, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref 3GPP TS 38.455 V17.4.0 (2023-03)
+ * http://www.3gpp.org
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-nrppa.h"
+
+#define PNAME "NR Positioning Protocol A (NRPPa)"
+#define PSNAME "NRPPa"
+#define PFNAME "nrppa"
+
+void proto_register_nrppa(void);
+void proto_reg_handoff_nrppa(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_nrppa = -1;
+
+#include "packet-nrppa-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_nrppa = -1;
+#include "packet-nrppa-ett.c"
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+
+/* Dissector tables */
+static dissector_table_t nrppa_ies_dissector_table;
+static dissector_table_t nrppa_extension_dissector_table;
+static dissector_table_t nrppa_proc_imsg_dissector_table;
+static dissector_table_t nrppa_proc_sout_dissector_table;
+static dissector_table_t nrppa_proc_uout_dissector_table;
+
+/* Include constants */
+#include "packet-nrppa-val.h"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+#include "packet-nrppa-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(nrppa_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(nrppa_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(nrppa_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(nrppa_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(nrppa_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+/*--- proto_register_nrppa -------------------------------------------*/
+void proto_register_nrppa(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-nrppa-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_nrppa,
+#include "packet-nrppa-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_nrppa = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("nrppa", dissect_NRPPA_PDU_PDU, proto_nrppa);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_nrppa, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector tables */
+ nrppa_ies_dissector_table = register_dissector_table("nrppa.ies", "NRPPA-PROTOCOL-IES", proto_nrppa, FT_UINT32, BASE_DEC);
+ nrppa_extension_dissector_table = register_dissector_table("nrppa.extension", "NRPPA-PROTOCOL-EXTENSION", proto_nrppa, FT_UINT32, BASE_DEC);
+ nrppa_proc_imsg_dissector_table = register_dissector_table("nrppa.proc.imsg", "NRPPA-ELEMENTARY-PROCEDURE InitiatingMessage", proto_nrppa, FT_UINT32, BASE_DEC);
+ nrppa_proc_sout_dissector_table = register_dissector_table("nrppa.proc.sout", "NRPPA-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_nrppa, FT_UINT32, BASE_DEC);
+ nrppa_proc_uout_dissector_table = register_dissector_table("nrppa.proc.uout", "NRPPA-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_nrppa, FT_UINT32, BASE_DEC);
+}
+
+/*--- proto_reg_handoff_nrppa ---------------------------------------*/
+void
+proto_reg_handoff_nrppa(void)
+{
+#include "packet-nrppa-dis-tab.c"
+}
diff --git a/epan/dissectors/asn1/nrppa/packet-nrppa-template.h b/epan/dissectors/asn1/nrppa/packet-nrppa-template.h
new file mode 100644
index 00000000..8520903e
--- /dev/null
+++ b/epan/dissectors/asn1/nrppa/packet-nrppa-template.h
@@ -0,0 +1,29 @@
+/* packet-nrppa.h
+ * Routines for 3GPP NR Positioning Protocol A (NRPPa) packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_NRPPA_H
+#define PACKET_NRPPA_H
+
+#include "packet-nrppa-exp.h"
+
+#endif /* PACKET_NRPPA_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/ns_cert_exts/CMakeLists.txt b/epan/dissectors/asn1/ns_cert_exts/CMakeLists.txt
new file mode 100644
index 00000000..3bd34112
--- /dev/null
+++ b/epan/dissectors/asn1/ns_cert_exts/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ns_cert_exts )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ NETSCAPE-CERT-EXTS.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ns_cert_exts/NETSCAPE-CERT-EXTS.asn b/epan/dissectors/asn1/ns_cert_exts/NETSCAPE-CERT-EXTS.asn
new file mode 100644
index 00000000..e3d10ede
--- /dev/null
+++ b/epan/dissectors/asn1/ns_cert_exts/NETSCAPE-CERT-EXTS.asn
@@ -0,0 +1,33 @@
+-- NetScape Certificate Extensions
+-- based on information from http://wp.netscape.com/eng/security/cert-exts.html
+
+NS-CERT-EXTS { 2 16 840 1 113730 1 } DEFINITIONS EXPLICIT TAGS ::=
+BEGIN
+
+BaseUrl ::= IA5String
+
+RevocationUrl ::= IA5String
+
+CaRevocationUrl ::= IA5String
+
+CaPolicyUrl ::= IA5String
+
+Comment ::= IA5String
+
+SslServerName ::= IA5String
+
+CertRenewalUrl ::= IA5String
+
+CertType ::= BIT STRING {
+ ssl-client(0),
+ ssl-server(1),
+ smime(2),
+ object-signing(3),
+ reserved-for-future-use(4),
+ ssl-ca(5),
+ smime-ca(6),
+ object-signing-ca(7)
+}
+
+END -- of NS-CERT-EXTS
+
diff --git a/epan/dissectors/asn1/ns_cert_exts/ns_cert_exts.cnf b/epan/dissectors/asn1/ns_cert_exts/ns_cert_exts.cnf
new file mode 100644
index 00000000..c8d8998b
--- /dev/null
+++ b/epan/dissectors/asn1/ns_cert_exts/ns_cert_exts.cnf
@@ -0,0 +1,26 @@
+# NS-CERT-EXT.cnf
+# NetScape Certificate Extensions conformation file
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.REGISTER
+CertType B "2.16.840.1.113730.1.1" "ns_cert_exts.cert_type"
+BaseUrl B "2.16.840.1.113730.1.2" "ns_cert_exts.base_url"
+RevocationUrl B "2.16.840.1.113730.1.3" "ns_cert_exts.revocation-url"
+CaRevocationUrl B "2.16.840.1.113730.1.4" "ns_cert_exts.ca-revocation-url"
+CertRenewalUrl B "2.16.840.1.113730.1.7" "ns_cert_exts.cert-renewal-url"
+CaPolicyUrl B "2.16.840.1.113730.1.8" "ns_cert_exts.ca-policy-url"
+SslServerName B "2.16.840.1.113730.1.12" "ns_cert_exts.ssl-server-name"
+Comment B "2.16.840.1.113730.1.13" "ns_cert_exts.comment"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/ns_cert_exts/packet-ns_cert_exts-template.c b/epan/dissectors/asn1/ns_cert_exts/packet-ns_cert_exts-template.c
new file mode 100644
index 00000000..14013c83
--- /dev/null
+++ b/epan/dissectors/asn1/ns_cert_exts/packet-ns_cert_exts-template.c
@@ -0,0 +1,62 @@
+/* packet-ns_cert_exts.c
+ * Routines for NetScape Certificate Extensions packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include "packet-ber.h"
+
+#define PNAME "NetScape Certificate Extensions"
+#define PSNAME "NS_CERT_EXTS"
+#define PFNAME "ns_cert_exts"
+
+void proto_register_ns_cert_exts(void);
+void proto_reg_handoff_ns_cert_exts(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_ns_cert_exts = -1;
+#include "packet-ns_cert_exts-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-ns_cert_exts-ett.c"
+
+#include "packet-ns_cert_exts-fn.c"
+
+
+/*--- proto_register_ns_cert_exts -------------------------------------------*/
+void proto_register_ns_cert_exts(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-ns_cert_exts-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-ns_cert_exts-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_ns_cert_exts = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ns_cert_exts, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_ns_cert_exts ---------------------------------------*/
+void proto_reg_handoff_ns_cert_exts(void) {
+#include "packet-ns_cert_exts-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/ocsp/CMakeLists.txt b/epan/dissectors/asn1/ocsp/CMakeLists.txt
new file mode 100644
index 00000000..6b648e0a
--- /dev/null
+++ b/epan/dissectors/asn1/ocsp/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ocsp )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ OCSP.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ocsp/OCSP.asn b/epan/dissectors/asn1/ocsp/OCSP.asn
new file mode 100644
index 00000000..c2e17297
--- /dev/null
+++ b/epan/dissectors/asn1/ocsp/OCSP.asn
@@ -0,0 +1,186 @@
+-- Online Certificate Status Protocol
+-- RFC 2560
+-- This definition was taken from RFC2560 and modified to pass through
+-- asn2wrs.
+-- The original copyright from RFC2650 follows below
+--
+-- Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (1999). All Rights Reserved.
+--
+-- This document and translations of it may be copied and furnished to
+-- others, and derivative works that comment on or otherwise explain it
+-- or assist in its implementation may be prepared, copied, published
+-- and distributed, in whole or in part, without restriction of any
+-- kind, provided that the above copyright notice and this paragraph are
+-- included on all such copies and derivative works. However, this
+-- document itself may not be modified in any way, such as by removing
+-- the copyright notice or references to the Internet Society or other
+-- Internet organizations, except as needed for the purpose of
+-- developing Internet standards in which case the procedures for
+-- copyrights defined in the Internet Standards process must be
+-- followed, or as required to translate it into languages other than
+-- English.
+--
+-- The limited permissions granted above are perpetual and will not be
+-- revoked by the Internet Society or its successors or assigns.
+--
+-- This document and the information contained herein is provided on an
+-- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+-- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+-- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+--
+
+OCSP DEFINITIONS EXPLICIT TAGS::=
+
+BEGIN
+
+IMPORTS
+
+ authenticationFramework
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 5}
+
+ EXTENSION
+ FROM AuthenticationFramework authenticationFramework
+
+ -- Directory Authentication Framework (X.509)
+ Certificate, AlgorithmIdentifier
+ FROM AuthenticationFramework { joint-iso-itu-t ds(5)
+ module(1) authenticationFramework(7) 3 }
+
+ CRLReason
+ FROM CertificateExtensions
+
+ -- PKIX Certificate Extensions
+ AuthorityInfoAccessSyntax
+ FROM PKIX1Implicit88 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-implicit-88(2)}
+
+ Name, GeneralName, CertificateSerialNumber, Extensions, id-kp, id-ad-ocsp
+ FROM PKIX1Explicit88 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-explicit-88(1)};
+
+OCSPRequest ::= SEQUENCE {
+ tbsRequest TBSRequest,
+ optionalSignature [0] EXPLICIT Signature OPTIONAL }
+
+TBSRequest ::= SEQUENCE {
+ version [0] EXPLICIT Version DEFAULT v1,
+ requestorName [1] EXPLICIT GeneralName OPTIONAL,
+ requestList SEQUENCE OF Request,
+ requestExtensions [2] EXPLICIT Extensions OPTIONAL }
+
+Signature ::= SEQUENCE {
+ signatureAlgorithm AlgorithmIdentifier,
+ signature BIT STRING,
+ certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
+
+Version ::= INTEGER { v1(0) }
+
+Request ::= SEQUENCE {
+ reqCert CertID,
+ singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL }
+
+CertID ::= SEQUENCE {
+ hashAlgorithm AlgorithmIdentifier,
+ issuerNameHash OCTET STRING, -- Hash of Issuer's DN
+ issuerKeyHash OCTET STRING, -- Hash of Issuers public key
+ serialNumber CertificateSerialNumber }
+
+OCSPResponse ::= SEQUENCE {
+ responseStatus OCSPResponseStatus,
+ responseBytes [0] EXPLICIT ResponseBytes OPTIONAL }
+
+OCSPResponseStatus ::= ENUMERATED {
+ successful (0), --Response has valid confirmations
+ malformedRequest (1), --Illegal confirmation request
+ internalError (2), --Internal error in issuer
+ tryLater (3), --Try again later
+ --(4) is not used
+ sigRequired (5), --Must sign the request
+ unauthorized (6) --Request unauthorized
+}
+
+ResponseBytes ::= SEQUENCE {
+ responseType OBJECT IDENTIFIER,
+ response OCTET STRING }
+
+BasicOCSPResponse ::= SEQUENCE {
+ tbsResponseData ResponseData,
+ signatureAlgorithm AlgorithmIdentifier,
+ signature BIT STRING,
+ certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
+
+ResponseData ::= SEQUENCE {
+ version [0] EXPLICIT Version DEFAULT v1,
+ responderID ResponderID,
+ producedAt GeneralizedTime,
+ responses SEQUENCE OF SingleResponse,
+ responseExtensions [1] EXPLICIT Extensions OPTIONAL }
+
+ResponderID ::= CHOICE {
+ byName [1] Name,
+ byKey [2] KeyHash }
+
+KeyHash ::= OCTET STRING --SHA-1 hash of responder's public key
+ --(excluding the tag and length fields)
+
+SingleResponse ::= SEQUENCE {
+ certID CertID,
+ certStatus CertStatus,
+ thisUpdate GeneralizedTime,
+ nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL,
+ singleExtensions [1] EXPLICIT Extensions OPTIONAL }
+
+CertStatus ::= CHOICE {
+ good [0] IMPLICIT NULL,
+ revoked [1] IMPLICIT RevokedInfo,
+ unknown [2] IMPLICIT UnknownInfo }
+
+RevokedInfo ::= SEQUENCE {
+ revocationTime GeneralizedTime,
+ revocationReason [0] EXPLICIT CRLReason OPTIONAL }
+
+UnknownInfo ::= NULL -- this can be replaced with an enumeration
+
+ArchiveCutoff ::= GeneralizedTime
+
+AcceptableResponses ::= SEQUENCE OF OBJECT IDENTIFIER
+
+ServiceLocator ::= SEQUENCE {
+ issuer Name,
+ locator AuthorityInfoAccessSyntax }
+
+CrlID ::= SEQUENCE {
+ crlUrl [0] EXPLICIT IA5String OPTIONAL,
+ crlNum [1] EXPLICIT INTEGER OPTIONAL,
+ crlTime [2] EXPLICIT GeneralizedTime OPTIONAL }
+
+re-ocsp-nonce EXTENSION ::= {
+ SYNTAX ReOcspNonce
+ IDENTIFIED BY id-pkix-ocsp-nonce
+}
+
+ReOcspNonce ::= OCTET STRING
+
+
+-- Object Identifiers
+
+id-kp-OCSPSigning OBJECT IDENTIFIER ::= { id-kp 9 }
+id-pkix-ocsp OBJECT IDENTIFIER ::= { id-ad-ocsp }
+id-pkix-ocsp-basic OBJECT IDENTIFIER ::= { id-pkix-ocsp 1 }
+id-pkix-ocsp-nonce OBJECT IDENTIFIER ::= { id-pkix-ocsp 2 }
+id-pkix-ocsp-crl OBJECT IDENTIFIER ::= { id-pkix-ocsp 3 }
+id-pkix-ocsp-response OBJECT IDENTIFIER ::= { id-pkix-ocsp 4 }
+id-pkix-ocsp-nocheck OBJECT IDENTIFIER ::= { id-pkix-ocsp 5 }
+id-pkix-ocsp-archive-cutoff OBJECT IDENTIFIER ::= { id-pkix-ocsp 6 }
+id-pkix-ocsp-service-locator OBJECT IDENTIFIER ::= { id-pkix-ocsp 7 }
+
+
+END
+
diff --git a/epan/dissectors/asn1/ocsp/ocsp.cnf b/epan/dissectors/asn1/ocsp/ocsp.cnf
new file mode 100644
index 00000000..1c9f0425
--- /dev/null
+++ b/epan/dissectors/asn1/ocsp/ocsp.cnf
@@ -0,0 +1,55 @@
+# ocsp.cnf
+# OCSP conformation file
+
+#.TYPE_ATTR
+# pkix1explicit also exports the type CertificateSerialNumber. This makes sure asn2wrs uses the locally defined version.
+CertificateSerialNumber TYPE = FT_BYTES DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+#.END
+
+#.MODULE_IMPORT
+PKIX1Implicit88 pkix1implicit
+PKIX1Explicit88 pkix1explicit
+
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509ce/x509ce-exp.cnf
+#.INCLUDE ../pkix1implicit/pkix1implicit_exp.cnf
+#.INCLUDE ../pkix1explicit/pkix1explicit_exp.cnf
+
+#.EXPORTS
+OCSPResponse
+
+#.PDU
+
+#.REGISTER
+BasicOCSPResponse B "1.3.6.1.5.5.7.48.1.1" "id-pkix-ocsp-basic"
+ReOcspNonce B "1.3.6.1.5.5.7.48.1.2" "id-pkix-ocsp-nonce"
+CrlID B "1.3.6.1.5.5.7.48.1.3" "id-pkix-ocsp-crl"
+AcceptableResponses B "1.3.6.1.5.5.7.48.1.4" "id-pkix-ocsp-response"
+NULL B "1.3.6.1.5.5.7.48.1.5" "id-pkix-ocsp-nocheck"
+ArchiveCutoff B "1.3.6.1.5.5.7.48.1.6" "id-pkix-ocsp-archive-cutoff"
+ServiceLocator B "1.3.6.1.5.5.7.48.1.7" "id-pkix-ocsp-service-locator"
+
+#.NO_EMIT ONLY_VALS
+Version
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.FN_BODY ResponseBytes/responseType FN_VARIANT = _str HF_INDEX = hf_ocsp_responseType_id VAL_PTR = &actx->external.direct_reference
+%(DEFAULT_BODY)s
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY ResponseBytes/response
+ gint8 appclass;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+ /* skip past the T and L */
+ offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &appclass, &pc, &tag);
+ offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
+ if (actx->external.direct_ref_present) {
+ offset = call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+ }
+
+#.END
diff --git a/epan/dissectors/asn1/ocsp/packet-ocsp-template.c b/epan/dissectors/asn1/ocsp/packet-ocsp-template.c
new file mode 100644
index 00000000..412ee957
--- /dev/null
+++ b/epan/dissectors/asn1/ocsp/packet-ocsp-template.c
@@ -0,0 +1,127 @@
+/* packet-ocsp.c
+ * Routines for Online Certificate Status Protocol (RFC2560) packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <asn1.h>
+
+#include "packet-ber.h"
+#include "packet-ocsp.h"
+#include "packet-x509af.h"
+#include "packet-x509ce.h"
+#include "packet-pkix1implicit.h"
+#include "packet-pkix1explicit.h"
+
+#define PNAME "Online Certificate Status Protocol"
+#define PSNAME "OCSP"
+#define PFNAME "ocsp"
+
+void proto_register_ocsp(void);
+void proto_reg_handoff_ocsp(void);
+
+static dissector_handle_t ocsp_request_handle;
+static dissector_handle_t ocsp_response_handle;
+
+/* Initialize the protocol and registered fields */
+int proto_ocsp = -1;
+static int hf_ocsp_responseType_id = -1;
+#include "packet-ocsp-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_ocsp = -1;
+#include "packet-ocsp-ett.c"
+
+#include "packet-ocsp-fn.c"
+
+
+static int
+dissect_ocsp_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCSP");
+
+ col_set_str(pinfo->cinfo, COL_INFO, "Request");
+
+
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, proto_ocsp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_ocsp);
+ }
+
+ return dissect_ocsp_OCSPRequest(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+
+static int
+dissect_ocsp_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCSP");
+
+ col_set_str(pinfo->cinfo, COL_INFO, "Response");
+
+
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, proto_ocsp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_ocsp);
+ }
+
+ return dissect_ocsp_OCSPResponse(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+/*--- proto_register_ocsp ----------------------------------------------*/
+void proto_register_ocsp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_ocsp_responseType_id,
+ { "ResponseType Id", "ocsp.responseType.id",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-ocsp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ocsp,
+#include "packet-ocsp-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_ocsp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ocsp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissectors */
+ ocsp_request_handle = register_dissector(PFNAME "_req", dissect_ocsp_request, proto_ocsp);
+ ocsp_response_handle = register_dissector(PFNAME "_res", dissect_ocsp_response, proto_ocsp);
+}
+
+/*--- proto_reg_handoff_ocsp -------------------------------------------*/
+void proto_reg_handoff_ocsp(void) {
+ dissector_add_string("media_type", "application/ocsp-request", ocsp_request_handle);
+ dissector_add_string("media_type", "application/ocsp-response", ocsp_response_handle);
+
+#include "packet-ocsp-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/ocsp/packet-ocsp-template.h b/epan/dissectors/asn1/ocsp/packet-ocsp-template.h
new file mode 100644
index 00000000..f51f430b
--- /dev/null
+++ b/epan/dissectors/asn1/ocsp/packet-ocsp-template.h
@@ -0,0 +1,21 @@
+/* packet-ocsp.h
+ * Routines for Online Certificate Status Protocol (RFC2560) packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_OCSP_H
+#define PACKET_OCSP_H
+
+/*#include "packet-ocsp-exp.h"*/
+
+extern int proto_ocsp;
+int dissect_ocsp_OCSPResponse(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+
+#endif /* PACKET_OCSP_H */
+
diff --git a/epan/dissectors/asn1/p1/CMakeLists.txt b/epan/dissectors/asn1/p1/CMakeLists.txt
new file mode 100644
index 00000000..29f9a53a
--- /dev/null
+++ b/epan/dissectors/asn1/p1/CMakeLists.txt
@@ -0,0 +1,56 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME p1 )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ MTAAbstractService.asn
+ MTSAbstractService.asn
+ MTSAccessProtocol.asn
+ MHSProtocolObjectIdentifiers.asn
+ MTSUpperBounds.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -C )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../ros/ros-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../rtse/rtse-exp.cnf"
+)
+
+set ( EXPORT_DEPENDS
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/p1/MHSProtocolObjectIdentifiers.asn b/epan/dissectors/asn1/p1/MHSProtocolObjectIdentifiers.asn
new file mode 100644
index 00000000..97b4ecab
--- /dev/null
+++ b/epan/dissectors/asn1/p1/MHSProtocolObjectIdentifiers.asn
@@ -0,0 +1,112 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x419/1999/index.html
+-- Module MHSProtocolObjectIdentifiers (X.419:06/1999)
+MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0) modules(0)
+ object-identifiers(0) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS -- nothing -- ;
+
+ID ::= OBJECT IDENTIFIER
+
+-- MHS Protocols
+id-mhs-protocols ID ::=
+ {joint-iso-itu-t mhs(6) protocols(0)} -- not definitive
+
+-- Categories of Object Identifiers
+id-mhs-mod ID ::=
+ {id-mhs-protocols 0} -- modules
+
+id-ac ID ::= {id-mhs-protocols 1} -- application contexts
+
+id-as ID ::= {id-mhs-protocols 2} -- abstract syntaxes
+
+id-ase ID ::= {id-mhs-protocols 3} -- application service elements (obsolete)
+
+-- Modules
+--id-mod-object-identifiers ID ::= {id-mhs-mod 0}-- -- not definitive
+
+id-mod-mts-access-protocol ID ::= {id-mhs-mod 1} -- not definitive
+
+id-mod-ms-access-protocol ID ::= {id-mhs-mod 2} -- not definitive
+
+id-mod-mts-transfer-protocol ID ::= {id-mhs-mod 3} -- not definitive
+
+-- Application Contexts
+-- MTS Access Protocol
+id-ac-mts-access-88 ID ::=
+ {id-ac 0}
+
+id-ac-mts-forced-access-88 ID ::= {id-ac 1}
+
+id-ac-mts-reliable-access-88 ID ::= {id-ac 2}
+
+id-ac-mts-forced-reliable-access-88 ID ::= {id-ac 3}
+
+id-ac-mts-access-94 ID ::= {id-ac 7}
+
+id-ac-mts-forced-access-94 ID ::= {id-ac 8}
+
+id-ac-mts-reliable-access-94 ID ::= {id-ac 9}
+
+id-ac-mts-forced-reliable-access-94 ID ::= {id-ac 10}
+
+-- MS Access Protocol
+id-ac-ms-access-88 ID ::= {id-ac 4}
+
+id-ac-ms-reliable-access-88 ID ::= {id-ac 5}
+
+id-ac-ms-access-94 ID ::= {id-ac 11}
+
+id-ac-ms-reliable-access-94 ID ::= {id-ac 12}
+
+-- MTS Transfer Protocol
+id-ac-mts-transfer ID ::= {id-ac 6}
+
+-- Abstract Syntaxes
+id-as-msse ID ::= {id-as 1}
+
+id-as-mdse-88 ID ::= {id-as 2}
+
+id-as-mrse-88 ID ::= {id-as 5}
+
+id-as-mase-88 ID ::= {id-as 6}
+
+id-as-mtse ID ::= {id-as 7}
+
+id-as-mts-rtse ID ::= {id-as 8}
+
+id-as-ms-88 ID ::= {id-as 9}
+
+id-as-ms-rtse ID ::= {id-as 10}
+
+id-as-mts ID ::= {id-as 11}
+
+id-as-mta-rtse ID ::= {id-as 12}
+
+id-as-ms-msse ID ::= {id-as 13}
+
+id-as-mdse-94 ID ::= {id-as 14}
+
+id-as-mrse-94 ID ::= {id-as 15}
+
+id-as-mase-94 ID ::= {id-as 16}
+
+id-as-ms-94 ID ::= {id-as 17}
+
+-- Application Service Elements
+id-ase-msse ID ::= {id-ase 0}
+
+id-ase-mdse ID ::= {id-ase 1}
+
+id-ase-mrse ID ::= {id-ase 2}
+
+id-ase-mase ID ::= {id-ase 3}
+
+id-ase-mtse ID ::= {id-ase 4}
+
+END --of MHSProtocolObjectIdentifiers
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p1/MTAAbstractService.asn b/epan/dissectors/asn1/p1/MTAAbstractService.asn
new file mode 100644
index 00000000..1927dfb5
--- /dev/null
+++ b/epan/dissectors/asn1/p1/MTAAbstractService.asn
@@ -0,0 +1,499 @@
+-- Module MTAAbstractService (X.411:06/1999)
+MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mta-abstract-service(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything
+IMPORTS
+ -- Remote Operations
+ CONNECTION-PACKAGE, CONTRACT, OPERATION-PACKAGE
+ --==
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ emptyUnbind
+ --==
+ FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
+ remote-operations(4) useful-definitions(7) version1(0)}
+ -- MTS Abstract Service Parameters
+ ABSTRACT-ERROR, ABSTRACT-OPERATION, administration, AdministrationDomainName,
+ certificate-selectors, certificate-selectors-override, Content,
+ ContentIdentifier, ContentLength, ContentType,
+ content-confidentiality-algorithm-identifier, content-correlator,
+ content-integrity-check, conversion-with-loss-prohibited,
+ ConvertedEncodedInformationTypes, CountryName, DeferredDeliveryTime,
+ delivery, dl-exempted-recipients, dl-expansion-history,
+ dl-expansion-prohibited, ExplicitConversion, EXTENSION, ExtensionField{},
+ GlobalDomainIdentifier, InitiatorCredentials, latest-delivery-time,
+ message-origin-authentication-check, message-security-label, message-token,
+ MHS-OBJECT, MTAName, MTSIdentifier, multiple-originator-certificates,
+ ORAddressAndOptionalDirectoryName, OriginalEncodedInformationTypes,
+ originator-and-DL-expansion-history, originator-certificate,
+ originator-return-address, PerMessageIndicators, physical-delivery-modes,
+ physical-delivery-report-request, physical-forwarding-address,
+ physical-forwarding-address-request, physical-forwarding-prohibited,
+ physical-rendition-attributes, PORT, Priority, PrivateDomainIdentifier,
+ PrivateExtensions, probe-origin-authentication-check, proof-of-delivery,
+ proof-of-delivery-request, recipient-certificate,
+ recipient-number-for-advice, recipient-reassignment-prohibited,
+ redirection-history, registered-mail-type, reporting-DL-name,
+ reporting-MTA-certificate, reporting-MTA-name, ReportType,
+ report-origin-authentication-check, requested-delivery-method,
+ ResponderCredentials, SecurityContext, submission,
+ SupplementaryInformation, Time, OriginallyIntendedRecipientName
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- IPM Information Objects
+ IPMPerRecipientEnvelopeExtensions
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- Object Identifiers
+ id-cp-mta-connect, id-ct-mta-transfer, id-ot-mta, id-pt-transfer
+ --==
+ FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ object-identifiers(0) version-1999(1)}
+ -- Upper Bounds
+ ub-bit-options, ub-integer-options, ub-recipients, ub-transfers
+ --==
+ FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ upper-bounds(3) version-1999(1)};
+
+-- Objects
+mta MHS-OBJECT ::= {BOTH {mta-transfer}
+ ID id-ot-mta
+}
+
+-- Contracts
+mta-transfer CONTRACT ::= {
+ CONNECTION mta-connect
+ OPERATIONS OF {transfer}
+ ID id-ct-mta-transfer
+}
+
+-- Connection package
+mta-connect CONNECTION-PACKAGE ::= {
+ BIND mta-bind
+ UNBIND mta-unbind
+ ID id-cp-mta-connect
+}
+
+-- Ports
+PORT ::= OPERATION-PACKAGE
+
+transfer PORT ::= {
+ OPERATIONS {message-transfer | probe-transfer | report-transfer}
+ ID id-pt-transfer
+}
+
+-- MTA-bind and MTA-unbind
+mta-bind ABSTRACT-OPERATION ::= {
+ ARGUMENT MTABindArgument
+ RESULT MTABindResult
+ ERRORS {mta-bind-error}
+}
+
+mta-unbind ABSTRACT-OPERATION ::= emptyUnbind
+
+MTABindArgument ::= CHOICE {
+ unauthenticated NULL, -- if no authentication is required
+ authenticated
+ [1] SET {-- if authentication is required--initiator-name
+ [0] MTAName,
+ initiator-credentials
+ [1] InitiatorCredentials
+ (WITH COMPONENTS {
+ ...,
+ protected ABSENT
+ }),
+ security-context
+ [2] SecurityContext OPTIONAL
+ }
+}
+
+MTABindResult ::= CHOICE {
+ unauthenticated NULL, -- if no authentication is required
+ authenticated
+ [1] SET {-- if authentication is required--responder-name
+ [0] MTAName,
+ responder-credentials
+ [1] ResponderCredentials
+ (WITH COMPONENTS {
+ ...,
+ protected ABSENT
+ })}
+}
+MTABindError ::=
+--mta-bind-error ABSTRACT-ERROR ::= {
+-- PARAMETER
+ INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
+ unacceptable-security-context(4),
+ inadequate-association-confidentiality(5)}(0..ub-integer-options)
+--}
+
+-- Transfer Port
+message-transfer ABSTRACT-OPERATION ::= {ARGUMENT Message
+}
+
+probe-transfer ABSTRACT-OPERATION ::= {ARGUMENT Probe
+}
+
+report-transfer ABSTRACT-OPERATION ::= {ARGUMENT Report
+}
+
+-- MTS Application Protocol Data Units
+MTS-APDU ::= CHOICE {
+ message [0] Message,
+ probe [2] Probe,
+ report [1] Report
+}
+
+Message ::= SEQUENCE {envelope MessageTransferEnvelope,
+ content Content
+}
+
+Probe ::= ProbeTransferEnvelope
+
+Report ::= SEQUENCE {
+ envelope ReportTransferEnvelope,
+ content ReportTransferContent
+}
+
+-- Message Transfer Envelope
+MessageTransferEnvelope ::= SET {
+ COMPONENTS OF PerMessageTransferFields,
+ per-recipient-fields
+ [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientMessageTransferFields
+}
+
+PerMessageTransferFields ::= SET {
+ message-identifier MessageIdentifier,
+ originator-name MTAOriginatorName,
+ original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
+ content-type ContentType,
+ content-identifier ContentIdentifier OPTIONAL,
+ priority Priority DEFAULT normal,
+ per-message-indicators PerMessageIndicators DEFAULT {},
+ deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL,
+ per-domain-bilateral-information
+ [1] SEQUENCE SIZE (1..ub-transfers) OF PerDomainBilateralInformation
+ OPTIONAL,
+ trace-information TraceInformation,
+ extensions
+ [3] SET OF ExtensionField{{MessageTransferExtensions}} DEFAULT {}
+}
+
+MessageTransferExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ recipient-reassignment-prohibited | dl-expansion-prohibited |
+ conversion-with-loss-prohibited | latest-delivery-time |
+ originator-return-address | originator-certificate |
+ content-confidentiality-algorithm-identifier |
+ message-origin-authentication-check | message-security-label |
+ content-correlator | dl-exempted-recipients | certificate-selectors |
+ multiple-originator-certificates | dl-expansion-history |
+ internal-trace-information | PrivateExtensions, ...}
+
+PerRecipientMessageTransferFields ::= SET {
+ recipient-name MTARecipientName,
+ originally-specified-recipient-number
+ [0] OriginallySpecifiedRecipientNumber,
+ per-recipient-indicators [1] PerRecipientIndicators,
+ explicit-conversion [2] ExplicitConversion OPTIONAL,
+ extensions
+ [3] SET OF ExtensionField{{PerRecipientMessageTransferExtensions}}
+ DEFAULT {}
+}
+
+PerRecipientMessageTransferExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ originator-requested-alternate-recipient | requested-delivery-method |
+ physical-forwarding-prohibited | physical-forwarding-address-request |
+ physical-delivery-modes | registered-mail-type | recipient-number-for-advice
+ | physical-rendition-attributes | physical-delivery-report-request |
+ message-token | content-integrity-check | proof-of-delivery-request |
+ certificate-selectors-override | recipient-certificate | redirection-history
+ | IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
+
+-- Probe Transfer Envelope
+ProbeTransferEnvelope ::= SET {
+ COMPONENTS OF PerProbeTransferFields,
+ per-recipient-fields
+ [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeTransferFields
+}
+
+PerProbeTransferFields ::= SET {
+ probe-identifier ProbeIdentifier,
+ originator-name MTAOriginatorName,
+ original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
+ content-type ContentType,
+ content-identifier ContentIdentifier OPTIONAL,
+ content-length [0] ContentLength OPTIONAL,
+ per-message-indicators PerMessageIndicators DEFAULT {},
+ per-domain-bilateral-information
+ [1] SEQUENCE SIZE (1..ub-transfers) OF PerDomainBilateralInformation
+ OPTIONAL,
+ trace-information TraceInformation,
+ extensions
+ [3] SET OF ExtensionField{{ProbeTransferExtensions}} DEFAULT {}
+}
+
+ProbeTransferExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ recipient-reassignment-prohibited | dl-expansion-prohibited |
+ conversion-with-loss-prohibited | originator-certificate |
+ message-security-label | content-correlator |
+ probe-origin-authentication-check | internal-trace-information |
+ PrivateExtensions, ...}
+
+PerRecipientProbeTransferFields ::= SET {
+ recipient-name MTARecipientName,
+ originally-specified-recipient-number
+ [0] OriginallySpecifiedRecipientNumber,
+ per-recipient-indicators [1] PerRecipientIndicators,
+ explicit-conversion [2] ExplicitConversion OPTIONAL,
+ extensions
+ [3] SET OF ExtensionField{{PerRecipientProbeTransferExtensions}}
+ DEFAULT {}
+}
+
+PerRecipientProbeTransferExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ originator-requested-alternate-recipient | requested-delivery-method |
+ physical-rendition-attributes | redirection-history | PrivateExtensions,
+ ...}
+
+-- Report Transfer Envelope
+ReportTransferEnvelope ::= SET {
+ report-identifier ReportIdentifier,
+ report-destination-name ReportDestinationName,
+ trace-information TraceInformation,
+ extensions
+ [1] SET OF ExtensionField{{ReportTransferEnvelopeExtensions}} DEFAULT {}
+}
+
+ReportTransferEnvelopeExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ message-security-label | redirection-history |
+ originator-and-DL-expansion-history | reporting-DL-name |
+ reporting-MTA-certificate | report-origin-authentication-check |
+ internal-trace-information | reporting-MTA-name | PrivateExtensions,
+ ...}
+
+-- Report Transfer Content
+ReportTransferContent ::= SET {
+ COMPONENTS OF PerReportTransferFields,
+ per-recipient-fields
+ [0] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportTransferFields
+}
+
+PerReportTransferFields ::= SET {
+ subject-identifier SubjectIdentifier,
+ subject-intermediate-trace-information
+ SubjectIntermediateTraceInformation OPTIONAL,
+ original-encoded-information-types
+ OriginalEncodedInformationTypes OPTIONAL,
+ content-type ContentType OPTIONAL,
+ content-identifier ContentIdentifier OPTIONAL,
+ returned-content [1] Content OPTIONAL,
+ additional-information [2] AdditionalInformation OPTIONAL,
+ extensions
+ [3] SET OF ExtensionField{{ReportTransferContentExtensions}} DEFAULT {}
+}
+
+ReportTransferContentExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ content-correlator | PrivateExtensions, ...}
+
+PerRecipientReportTransferFields ::= SET {
+ actual-recipient-name [0] MTAActualRecipientName,
+ originally-specified-recipient-number
+ [1] OriginallySpecifiedRecipientNumber,
+ per-recipient-indicators [2] PerRecipientIndicators,
+ last-trace-information [3] LastTraceInformation,
+ originally-intended-recipient-name
+ [4] OriginallyIntendedRecipientName OPTIONAL,
+ supplementary-information [5] SupplementaryInformation OPTIONAL,
+ extensions
+ [6] SET OF ExtensionField{{PerRecipientReportTransferExtensions}}
+ DEFAULT {}
+}
+
+PerRecipientReportTransferExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ redirection-history | physical-forwarding-address | recipient-certificate |
+ proof-of-delivery | PrivateExtensions, ...}
+
+-- Envelope & Report Content Fields
+MessageIdentifier ::= MTSIdentifier
+
+MTAOriginatorName ::= ORAddressAndOptionalDirectoryName
+
+BILATERAL ::= CLASS {&id BilateralDomain UNIQUE,
+ &Type
+}WITH SYNTAX {&Type,
+ IDENTIFIED BY &id
+}
+
+PerDomainBilateralInformation ::= SEQUENCE {
+-- COMPONENTS OF BILATERAL.&id,
+ country-name CountryName,
+ domain
+ CHOICE {administration-domain-name AdministrationDomainName,
+ private-domain
+ SEQUENCE {administration-domain-name
+ [0] AdministrationDomainName,
+ private-domain-identifier
+ [1] PrivateDomainIdentifier}},
+ bilateral-information BILATERAL.&Type
+}
+
+
+BilateralDomain ::= SEQUENCE {
+ country-name CountryName,
+ domain
+ CHOICE {administration-domain-name AdministrationDomainName,
+ private-domain
+ SEQUENCE {administration-domain-name
+ [0] AdministrationDomainName,
+ private-domain-identifier
+ [1] PrivateDomainIdentifier}}
+}
+
+MTARecipientName ::= ORAddressAndOptionalDirectoryName
+
+OriginallySpecifiedRecipientNumber ::= INTEGER(1..ub-recipients)
+
+PerRecipientIndicators ::= BIT STRING {
+ responsibility(0),
+ -- responsible 'one', not-responsible 'zero'
+ originating-MTA-report(1),
+ originating-MTA-non-delivery-report(2),
+ -- either originating-MTA-report, or originating-MTA-non-delivery-report,
+ -- or both, shall be 'one':
+ -- originating-MTA-report bit 'one' requests a 'report';
+ -- originating-MTA-non-delivery-report bit 'one' requests a 'non-delivery-report';
+ -- both bits 'one' requests an 'audited-report';
+ -- bits 0 - 2 'don't care' for Report Transfer Content
+ originator-report(3),
+ originator-non-delivery-report(4),
+ -- at most one bit shall be 'one':
+ -- originator-report bit 'one' requests a 'report';
+ -- originator-non-delivery-report bit 'one' requests a 'non-delivery-report';
+ -- both bits 'zero' requests 'no-report'
+ reserved-5(5), reserved-6(6), reserved-7(7)
+
+-- reserved- bits 5 - 7 shall be 'zero' --}(SIZE (8..ub-bit-options))
+
+ProbeIdentifier ::= MTSIdentifier
+
+ReportIdentifier ::= MTSIdentifier
+
+ReportDestinationName ::= ORAddressAndOptionalDirectoryName
+
+SubjectIdentifier ::= MessageOrProbeIdentifier
+
+MessageOrProbeIdentifier ::= MTSIdentifier
+
+SubjectIntermediateTraceInformation ::= TraceInformation
+
+-- AdditionalInformation is retained for backwards compatibility only,
+-- and use in new systems is strongly deprecated
+ADDITIONAL ::= CLASS {&Type
+}
+
+AdditionalInformation ::=
+ ADDITIONAL.&Type -- maximum ub-additional-info octets including all encoding
+
+MTAActualRecipientName ::= ORAddressAndOptionalDirectoryName
+
+LastTraceInformation ::= SET {
+ arrival-time [0] ArrivalTime,
+ converted-encoded-information-types
+ ConvertedEncodedInformationTypes OPTIONAL,
+ report-type [1] ReportType
+}
+
+--OriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
+
+-- Extension Fields
+originator-requested-alternate-recipient EXTENSION ::= {
+ MTAOriginatorRequestedAlternateRecipient,
+ IDENTIFIED BY standard-extension:2
+}
+
+MTAOriginatorRequestedAlternateRecipient ::= ORAddressAndOptionalDirectoryName
+
+trace-information EXTENSION ::= {
+ TraceInformation,
+ IDENTIFIED BY standard-extension:37
+}
+
+internal-trace-information EXTENSION ::= {
+ InternalTraceInformation,
+ IDENTIFIED BY standard-extension:38
+}
+
+InternalTraceInformation ::=
+ SEQUENCE SIZE (1..ub-transfers) OF InternalTraceInformationElement
+
+InternalTraceInformationElement ::= SEQUENCE {
+ global-domain-identifier GlobalDomainIdentifier,
+ mta-name MTAName,
+ mta-supplied-information MTASuppliedInformation
+}
+
+MTASuppliedInformation ::= SET {
+ arrival-time [0] ArrivalTime,
+ routing-action [2] RoutingAction,
+ attempted CHOICE {mta MTAName,
+ domain GlobalDomainIdentifier} OPTIONAL,
+ -- additional-actions --COMPONENTS OF InternalAdditionalActions
+}
+
+InternalAdditionalActions ::= AdditionalActions
+
+-- Common Parameter Types
+TraceInformation ::=
+ [APPLICATION 9] SEQUENCE SIZE (1..ub-transfers) OF TraceInformationElement
+
+TraceInformationElement ::= SEQUENCE {
+ global-domain-identifier GlobalDomainIdentifier,
+ domain-supplied-information DomainSuppliedInformation
+}
+
+DomainSuppliedInformation ::= SET {
+ arrival-time [0] ArrivalTime,
+ routing-action [2] RoutingAction,
+ attempted-domain GlobalDomainIdentifier OPTIONAL,
+ -- additional-actions --COMPONENTS OF AdditionalActions
+}
+
+AdditionalActions ::= SET {
+ deferred-time [1] DeferredTime OPTIONAL,
+ converted-encoded-information-types
+ ConvertedEncodedInformationTypes OPTIONAL,
+ other-actions [3] OtherActions DEFAULT {}
+}
+
+RoutingAction ::= ENUMERATED {relayed(0), rerouted(1)}
+
+DeferredTime ::= Time
+
+ArrivalTime ::= Time
+
+OtherActions ::= BIT STRING {redirected(0), dl-operation(1)
+}(SIZE (0..ub-bit-options))
+
+END -- of MTA Abstract Service
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p1/MTSAbstractService.asn b/epan/dissectors/asn1/p1/MTSAbstractService.asn
new file mode 100644
index 00000000..bde1b950
--- /dev/null
+++ b/epan/dissectors/asn1/p1/MTSAbstractService.asn
@@ -0,0 +1,2500 @@
+-- Module MTSAbstractService (X.411:06/1999)
+MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything
+IMPORTS
+ -- Remote Operations
+ CONNECTION-PACKAGE, CONTRACT, ERROR, OPERATION, OPERATION-PACKAGE,
+ ROS-OBJECT-CLASS
+ --==
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ emptyUnbind
+ --==
+ FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
+ remote-operations(4) useful-definitions(7) version1(0)}
+ -- MTA Abstract Service
+ internal-trace-information, trace-information
+ --==
+ FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mta-abstract-service(2) version-1999(1)}
+ -- MS Abstract Service Extension
+ forwarding-request
+ --==
+ FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ abstract-service(1) version-1999(1)}
+ -- IPM Information Objects
+ IPMPerRecipientEnvelopeExtensions
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- Object Identifiers
+ id-att-physicalRendition-basic, id-cp-mts-connect, id-ct-mts-access,
+ id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user, id-pt-administration,
+ id-pt-delivery, id-pt-submission, id-tok-asymmetricToken
+ --==
+ FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ object-identifiers(0) version-1999(1)}
+ -- Operation and Error Codes
+ err-control-violates-registration,
+ err-deferred-delivery-cancellation-rejected, err-delivery-control-violated,
+ err-element-of-service-not-subscribed, err-inconsistent-request,
+ err-message-submission-identifier-invalid,
+ err-new-credentials-unacceptable,
+ err-old-credentials-incorrectly-specified, err-operation-refused,
+ err-originator-invalid, err-recipient-improperly-specified,
+ err-register-rejected, err-remote-bind-error, err-security-error,
+ err-submission-control-violated, err-unsupported-critical-function,
+ op-cancel-deferred-delivery, op-change-credentials, op-delivery-control,
+ op-message-delivery, op-message-submission, op-probe-submission,
+ op-register, op-report-delivery, op-submission-control
+ --==
+ FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
+ mts-access-protocol(1) version-1999(1)}
+ -- Directory Definitions
+ Name
+ --==
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 3}
+ PresentationAddress
+ --==
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 3}
+ ALGORITHM, AlgorithmIdentifier, Certificates, ENCRYPTED{}
+-- , SIGNATURE{}, SIGNED{}
+ --==
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3}
+ -- Certificate Extensions
+ CertificateAssertion
+ --==
+ FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
+ certificateExtensions(26) 0}
+ -- Upper Bounds
+ ub-bit-options, ub-built-in-content-type,
+ ub-built-in-encoded-information-types, ub-certificates,
+ ub-common-name-length, ub-content-id-length, ub-content-length,
+ ub-content-types, ub-country-name-alpha-length,
+ ub-country-name-numeric-length, ub-deliverable-class, ub-diagnostic-codes,
+ ub-dl-expansions, ub-domain-defined-attributes,
+ ub-domain-defined-attribute-type-length,
+ ub-domain-defined-attribute-value-length, ub-domain-name-length,
+ ub-encoded-information-types, ub-extension-attributes, ub-extension-types,
+ ub-e163-4-number-length, ub-e163-4-sub-address-length,
+ ub-generation-qualifier-length, ub-given-name-length, ub-initials-length,
+ ub-integer-options, ub-local-id-length, ub-mta-name-length,
+ ub-mts-user-types, ub-numeric-user-id-length, ub-organization-name-length,
+ ub-organizational-units, ub-organizational-unit-name-length,
+ ub-orig-and-dl-expansions, ub-password-length, ub-pds-name-length,
+ ub-pds-parameter-length, ub-pds-physical-address-lines,
+ ub-postal-code-length, ub-privacy-mark-length, ub-queue-size,
+ ub-reason-codes, ub-recipients, ub-recipient-number-for-advice-length,
+ ub-redirections, ub-redirection-classes, ub-restrictions,
+ ub-security-categories, ub-security-labels, ub-security-problems,
+ ub-supplementary-info-length, ub-surname-length, ub-terminal-id-length,
+ ub-tsap-id-length, ub-unformatted-address-length,
+ ub-universal-generation-qualifier-length, ub-universal-given-name-length,
+ ub-universal-initials-length, ub-universal-surname-length,
+ ub-x121-address-length
+ --==
+ FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ upper-bounds(3) version-1999(1)};
+
+-- operationObject1 OPERATION ::= {LINKED {operationObject2}
+-- }
+
+-- operationObject2 OPERATION ::= {LINKED {operationObject3}
+-- }
+
+-- operationObject3 OPERATION ::= {LINKED {operationObject4}
+-- }
+
+-- operationObject4 OPERATION ::= {LINKED {...}
+-- }
+
+-- Objects
+MHS-OBJECT ::= ROS-OBJECT-CLASS
+
+mts MHS-OBJECT ::= {
+ INITIATES {mts-forced-access-contract}
+ RESPONDS {mts-access-contract}
+ ID id-ot-mts
+}
+
+mts-user MHS-OBJECT ::= {
+ INITIATES {mts-access-contract}
+ RESPONDS {mts-forced-access-contract}
+ ID id-ot-mts-user
+}
+
+-- Contracts
+mts-access-contract CONTRACT ::= {
+ CONNECTION mts-connect
+ INITIATOR CONSUMER OF {submission | delivery | administration}
+ ID id-ct-mts-access
+}
+
+mts-forced-access-contract CONTRACT ::= {
+ CONNECTION mts-connect
+ RESPONDER CONSUMER OF {submission | delivery | administration}
+ ID id-ct-mts-forced-access
+}
+
+-- Connection package
+mts-connect CONNECTION-PACKAGE ::= {
+ BIND mts-bind
+ UNBIND mts-unbind
+ ID id-cp-mts-connect
+}
+
+-- Ports
+PORT ::= OPERATION-PACKAGE
+
+submission PORT ::= {
+ OPERATIONS {operationObject1, ...}
+ CONSUMER INVOKES
+ {message-submission | probe-submission | cancel-deferred-delivery, ...}
+ SUPPLIER INVOKES {submission-control, ...}
+ ID id-pt-submission
+}
+
+delivery PORT ::= {
+ OPERATIONS {operationObject1, ...}
+ CONSUMER INVOKES {delivery-control, ...}
+ SUPPLIER INVOKES {message-delivery | report-delivery, ...}
+ ID id-pt-delivery
+}
+
+administration PORT ::= {
+ OPERATIONS {change-credentials, ...}
+ CONSUMER INVOKES {register, ...}
+ SUPPLIER INVOKES {operationObject1, ...}
+ ID id-pt-administration
+}
+
+-- MTS-bind and MTS-unbind
+ABSTRACT-OPERATION ::= OPERATION
+
+ABSTRACT-ERROR ::= ERROR
+
+mts-bind --ABSTRACT- -- OPERATION ::= {
+ ARGUMENT MTSBindArgument
+ RESULT MTSBindResult
+ ERRORS {mts-bind-error}
+ CODE op-ros-bind -- WS: internal operation code
+}
+
+MTSBindArgument ::= SET {
+ initiator-name ObjectName,
+ messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
+ initiator-credentials [2] InitiatorCredentials,
+ security-context [3] SecurityContext OPTIONAL,
+ ...,
+ extensions
+ [5] SET OF ExtensionField{{MTSBindExtensions}} DEFAULT {}
+}
+
+MTSBindExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions
+MTSBindResult ::= SET {
+ responder-name ObjectName,
+ messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
+ responder-credentials [2] ResponderCredentials,
+ ...,
+ extensions
+ [5] SET OF ExtensionField{{MTSBindResultExtensions}} DEFAULT {}
+}
+
+MTSBindResultExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions
+mts-bind-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER
+ INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
+ unacceptable-security-context(4),
+ inadequate-association-confidentiality(5)}(0..ub-integer-options)
+ CODE err-ros-bind -- WS: internal error code
+}
+
+mts-unbind ABSTRACT-OPERATION ::= emptyUnbind
+
+-- Association Control Parameters
+ObjectName ::= CHOICE {
+ user-agent ORAddressAndOptionalDirectoryName,
+ mTA [0] MTAName,
+ message-store [4] ORAddressAndOptionalDirectoryName
+}
+
+MessagesWaiting ::= SET {
+ urgent [0] DeliveryQueue,
+ normal [1] DeliveryQueue,
+ non-urgent [2] DeliveryQueue
+}
+
+DeliveryQueue ::= SET {
+ messages [0] INTEGER(0..ub-queue-size),
+ octets [1] INTEGER(0..ub-content-length) OPTIONAL
+}
+
+InitiatorCredentials ::= Credentials
+
+ResponderCredentials ::= Credentials
+
+Credentials ::= CHOICE {
+ simple Password,
+ strong [0] StrongCredentials,
+ ...,
+ protected [1] ProtectedPassword
+}
+
+Password ::= CHOICE {
+ ia5-string IA5String(SIZE (0..ub-password-length)),
+ octet-string OCTET STRING(SIZE (0..ub-password-length))
+}
+
+StrongCredentials ::= SET {
+ bind-token [0] Token OPTIONAL,
+ certificate [1] Certificates OPTIONAL,
+ ...,
+ certificate-selector [2] CertificateAssertion OPTIONAL
+}
+
+ProtectedPassword ::= SET {
+ signature
+-- SIGNATURE{SET {password Password,
+-- time1 [0] UTCTime OPTIONAL,
+-- time2 [1] UTCTime OPTIONAL,
+-- random1 [2] BIT STRING OPTIONAL,
+-- random2 [3] BIT STRING OPTIONAL}},
+ Signature,
+ time1 [0] UTCTime OPTIONAL,
+ time2 [1] UTCTime OPTIONAL,
+ random1 [2] BIT STRING OPTIONAL,
+ random2 [3] BIT STRING OPTIONAL
+}
+
+Signature ::= SEQUENCE {
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+SecurityContext ::= SET SIZE (1..ub-security-labels) OF SecurityLabel
+
+-- Submission Port
+message-submission -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT MessageSubmissionArgument
+ RESULT MessageSubmissionResult
+ ERRORS
+ {submission-control-violated | element-of-service-not-subscribed |
+ originator-invalid | recipient-improperly-specified |
+ inconsistent-request | security-error | unsupported-critical-function |
+ remote-bind-error}
+ LINKED {operationObject1, ...}
+ INVOKE PRIORITY {4 -- | 6 | 7 -- }
+ CODE op-message-submission
+}
+
+MessageSubmissionArgument ::= SEQUENCE {
+ envelope MessageSubmissionEnvelope,
+ content Content
+}
+
+MessageSubmissionResult ::= SET {
+ message-submission-identifier MessageSubmissionIdentifier,
+ message-submission-time [0] MessageSubmissionTime,
+ content-identifier ContentIdentifier OPTIONAL,
+ extensions
+ [1] SET OF ExtensionField{{MessageSubmissionResultExtensions}} DEFAULT {}
+}
+
+MessageSubmissionResultExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ originating-MTA-certificate | proof-of-submission | PrivateExtensions,
+ ...}
+
+probe-submission -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT ProbeSubmissionArgument
+ RESULT ProbeSubmissionResult
+ ERRORS
+ {submission-control-violated | element-of-service-not-subscribed |
+ originator-invalid | recipient-improperly-specified |
+ inconsistent-request | security-error | unsupported-critical-function |
+ remote-bind-error}
+ LINKED {operationObject1, ...}
+ INVOKE PRIORITY {5}
+ CODE op-probe-submission
+}
+
+ProbeSubmissionArgument ::= ProbeSubmissionEnvelope
+
+ProbeSubmissionResult ::= SET {
+ probe-submission-identifier ProbeSubmissionIdentifier,
+ probe-submission-time [0] ProbeSubmissionTime,
+ content-identifier ContentIdentifier OPTIONAL,
+ extensions
+ [1] SET OF ExtensionField{{ProbeResultExtensions}} DEFAULT {}
+}
+
+ProbeResultExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions,
+-- at most one instance of each extension type
+cancel-deferred-delivery -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT CancelDeferredDeliveryArgument
+ RESULT CancelDeferredDeliveryResult
+ ERRORS
+ {deferred-delivery-cancellation-rejected |
+ message-submission-identifier-invalid | remote-bind-error}
+ LINKED {operationObject1, ...}
+ INVOKE PRIORITY {3}
+ CODE op-cancel-deferred-delivery
+}
+
+CancelDeferredDeliveryArgument ::= MessageSubmissionIdentifier
+
+CancelDeferredDeliveryResult ::= NULL
+
+submission-control -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT SubmissionControlArgument
+ RESULT SubmissionControlResult
+ ERRORS {security-error | remote-bind-error}
+ LINKED {operationObject1, ...}
+ INVOKE PRIORITY {3}
+ CODE op-submission-control
+}
+
+SubmissionControlArgument ::= SubmissionControls
+
+SubmissionControlResult ::= Waiting
+
+submission-control-violated -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-submission-control-violated
+}
+
+element-of-service-not-subscribed -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-element-of-service-not-subscribed
+}
+
+deferred-delivery-cancellation-rejected -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-deferred-delivery-cancellation-rejected
+}
+
+originator-invalid -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-originator-invalid
+}
+
+recipient-improperly-specified -- ABSTRACT- -- ERROR ::= {
+ PARAMETER ImproperlySpecifiedRecipients
+ CODE err-recipient-improperly-specified
+}
+
+ImproperlySpecifiedRecipients ::=
+ SEQUENCE SIZE (1..ub-recipients) OF RecipientName
+
+message-submission-identifier-invalid -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-message-submission-identifier-invalid
+}
+
+inconsistent-request -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-inconsistent-request
+}
+
+security-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER SecurityProblem
+ CODE err-security-error
+}
+
+SecurityProblem ::= INTEGER {
+ assemby-instructions-conflict-with-security-services(0),
+ authentication-problem(1), authentication-failure-on-subject-message(2),
+ confidentiality-association-problem(3), decryption-failed(4),
+ decryption-key-unobtainable(5), failure-of-proof-of-message(6),
+ forbidden-user-security-label-register(7),
+ incompatible-change-with-original-security-context(8),
+ integrity-failure-on-subject-message(9), invalid-security-label(10),
+ invalid-security-label-update(11), key-failure(12),
+ mandatory-parameter-absence(13), operation-security-failure(14),
+ redirection-prohibited(15), refused-alternate-recipient-name(16),
+ repudiation-failure-of-message(17),
+ responder-credentials-checking-problem(18), security-context-failure(19),
+ security-context-problem(20), security-policy-violation(21),
+ security-services-refusal(22), token-decryption-failed(23), token-error(24),
+ unable-to-aggregate-security-labels(25), unauthorised-dl-name(26),
+ unauthorised-entry-class(27),
+ unauthorised-originally-intended-recipient-name(28),
+ unauthorised-originator-name(29), unauthorised-recipient-name(30),
+ unauthorised-security-label-update(31), unauthorised-user-name(32),
+ unknown-security-label(33), unsupported-algorithm-identifier(34),
+ unsupported-security-policy(35)}(0..ub-security-problems)
+
+unsupported-critical-function -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-unsupported-critical-function
+}
+
+remote-bind-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-remote-bind-error
+}
+
+-- Submission Port Parameters
+MessageSubmissionIdentifier ::= MTSIdentifier
+
+MessageSubmissionTime ::= Time
+
+ProbeSubmissionIdentifier ::= MTSIdentifier
+
+ProbeSubmissionTime ::= Time
+
+SubmissionControls ::=
+ Controls
+ (WITH COMPONENTS {
+ ...,
+ permissible-content-types ABSENT,
+ permissible-encoded-information-types ABSENT
+ })
+
+Waiting ::= SET {
+ waiting-operations [0] Operations DEFAULT {},
+ waiting-messages [1] WaitingMessages DEFAULT {},
+ waiting-content-types
+ [2] SET SIZE (0..ub-content-types) OF ContentType DEFAULT {},
+ waiting-encoded-information-types EncodedInformationTypes OPTIONAL
+}
+
+Operations ::= BIT STRING {
+ probe-submission-or-report-delivery(0),
+ message-submission-or-message-delivery(1)}(SIZE (0..ub-bit-options))
+
+-- holding 'one', not-holding 'zero'
+WaitingMessages ::= BIT STRING {
+ long-content(0), low-priority(1), other-security-labels(2)
+}(SIZE (0..ub-bit-options))
+
+-- Delivery Port
+message-delivery -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT MessageDeliveryArgument
+ RESULT MessageDeliveryResult
+ ERRORS
+ {delivery-control-violated | security-error |
+ unsupported-critical-function}
+ LINKED {operationObject1, ...}
+ INVOKE PRIORITY {4 -- | 6 | 7 --}
+ CODE op-message-delivery
+}
+
+MessageDeliveryArgument ::= SEQUENCE {
+ COMPONENTS OF MessageDeliveryEnvelope,
+ content Content
+}
+
+MessageDeliveryResult ::= SET {
+ recipient-certificate [0] RecipientCertificate OPTIONAL,
+ proof-of-delivery [1] IMPLICIT ProofOfDelivery OPTIONAL,
+ ...,
+ extensions
+ [2] SET OF ExtensionField{{MessageDeliveryResultExtensions}} DEFAULT {}
+}
+
+MessageDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions
+report-delivery -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT ReportDeliveryArgument
+ RESULT ReportDeliveryResult
+ ERRORS
+ {delivery-control-violated | security-error |
+ unsupported-critical-function}
+ LINKED {operationObject1, ...}
+ INVOKE PRIORITY {5}
+ CODE op-report-delivery
+}
+
+ReportDeliveryArgument ::= SET {
+ COMPONENTS OF ReportDeliveryEnvelope,
+ returned-content [0] Content OPTIONAL
+}
+
+ReportDeliveryResult ::= CHOICE {
+ empty-result NULL,
+ ...,
+ extensions
+ SET SIZE (1..MAX) OF ExtensionField{{ReportDeliveryResultExtensions}}
+}
+
+ReportDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions
+delivery-control -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT DeliveryControlArgument
+ RESULT DeliveryControlResult
+ ERRORS
+ {control-violates-registration | security-error | operation-refused}
+ LINKED {operationObject1, ...}
+ INVOKE PRIORITY {3}
+ CODE op-delivery-control
+}
+
+DeliveryControlArgument ::= SET {
+-- COMPONENTS OF DeliveryControls,
+ restrict [0] BOOLEAN DEFAULT TRUE,
+ -- update 'TRUE', remove 'FALSE'
+ permissible-operations [1] Operations OPTIONAL,
+ permissible-maximum-content-length [2] ContentLength OPTIONAL,
+ permissible-lowest-priority Priority OPTIONAL,
+ permissible-content-types [4] ContentTypes OPTIONAL,
+ permissible-encoded-information-types
+ PermissibleEncodedInformationTypes OPTIONAL,
+ permissible-security-context [5] SecurityContext OPTIONAL,
+ extensions
+ [6] SET OF ExtensionField{{DeliveryControlExtensions}} DEFAULT {}
+}
+
+DeliveryControlExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions
+DeliveryControlResult ::= SET {
+ COMPONENTS OF Waiting,
+ extensions
+ [6] SET OF ExtensionField{{DeliveryControlResultExtensions}} DEFAULT {}
+}
+
+DeliveryControlResultExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions
+delivery-control-violated -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-delivery-control-violated
+}
+
+control-violates-registration -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-control-violates-registration
+}
+
+operation-refused -- ABSTRACT- -- ERROR ::= {
+ PARAMETER RefusedOperation
+ CODE err-operation-refused
+}
+
+RefusedOperation ::= SET {
+ refused-argument
+ CHOICE {built-in-argument [1] RefusedArgument,
+ refused-extension EXTENSION.&id},
+ refusal-reason [2] RefusalReason
+}
+
+RefusedArgument ::= INTEGER {
+ user-name(0), user-address(1), deliverable-content-types(2),
+ deliverable-maximum-content-length(3),
+ deliverable-encoded-information-types-constraints(4),
+ deliverable-security-labels(5), recipient-assigned-redirections(6),
+ restricted-delivery(7),
+ retrieve-registrations(8), -- value 9 reserved for possible future extension to Register arguments
+ restrict(10), permissible-operations(11), permissible-lowest-priority(12),
+ permissible-encoded-information-types(13), permissible-content-types(14),
+ permissible-maximum-content-length(15), permissible-security-context(16)
+}(0..ub-integer-options)
+
+RefusalReason ::= INTEGER {
+ facility-unavailable(0), facility-not-subscribed(1),
+ parameter-unacceptable(2)}(0..ub-integer-options)
+
+-- Delivery Port Parameters
+RecipientCertificate ::= Certificates
+
+ProofOfDelivery ::= Signature
+-- SIGNATURE
+-- {SEQUENCE {algorithm-identifier
+-- ProofOfDeliveryAlgorithmIdentifier,
+-- delivery-time MessageDeliveryTime,
+-- this-recipient-name ThisRecipientName,
+-- originally-intended-recipient-name
+-- OriginallyIntendedRecipientName OPTIONAL,
+-- content Content,
+-- content-identifier ContentIdentifier OPTIONAL,
+-- message-security-label
+-- MessageSecurityLabel OPTIONAL}}
+
+ProofOfDeliveryAlgorithmIdentifier ::= AlgorithmIdentifier
+
+DeliveryControls ::= Controls
+
+Controls ::= SET {
+ restrict [0] BOOLEAN DEFAULT TRUE,
+ -- update 'TRUE', remove 'FALSE'
+ permissible-operations [1] Operations OPTIONAL,
+ permissible-maximum-content-length [2] ContentLength OPTIONAL,
+ permissible-lowest-priority Priority OPTIONAL,
+ permissible-content-types [4] ContentTypes OPTIONAL,
+ permissible-encoded-information-types
+ PermissibleEncodedInformationTypes OPTIONAL,
+ permissible-security-context [5] SecurityContext OPTIONAL
+}
+
+-- Note - The Tags [0], [1] and [2] are altered for the Register operation only.
+PermissibleEncodedInformationTypes ::=
+ EncodedInformationTypesConstraints
+
+-- Administration Port
+register -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT RegisterArgument
+ RESULT RegisterResult
+ ERRORS
+ {register-rejected | remote-bind-error | operation-refused |
+ security-error}
+ LINKED {operationObject1, ...}
+ INVOKE PRIORITY {5}
+ CODE op-register
+}
+
+RegisterArgument ::= SET {
+ user-name UserName OPTIONAL,
+ user-address [0] UserAddress OPTIONAL,
+ deliverable-class
+ SET SIZE (1..ub-deliverable-class) OF DeliverableClass OPTIONAL,
+ default-delivery-controls [2] EXPLICIT DefaultDeliveryControls OPTIONAL,
+ redirections [3] Redirections OPTIONAL,
+ restricted-delivery [4] RestrictedDelivery OPTIONAL,
+ retrieve-registrations [5] RegistrationTypes OPTIONAL,
+ extensions
+ [6] SET OF ExtensionField{{RegisterExtensions}} DEFAULT {}
+}
+
+RegisterExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions
+RegisterResult ::= CHOICE {
+ empty-result NULL,
+ non-empty-result
+ SET {registered-information
+ [0] RegisterArgument
+ (WITH COMPONENTS {
+ ...,
+ retrieve-registrations ABSENT
+ }) OPTIONAL,
+ extensions
+ [1] SET OF ExtensionField{{RegisterResultExtensions}} DEFAULT {}
+ }
+}
+
+RegisterResultExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions
+change-credentials -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT ChangeCredentialsArgument
+ RESULT NULL
+ ERRORS
+ {new-credentials-unacceptable | old-credentials-incorrectly-specified |
+ remote-bind-error | security-error}
+ LINKED {operationObject1, ...}
+ INVOKE PRIORITY {5}
+ CODE op-change-credentials
+}
+
+ChangeCredentialsArgument ::= SET {
+ old-credentials [0] Credentials(WITH COMPONENTS {
+ simple
+ }),
+ new-credentials [1] Credentials(WITH COMPONENTS {
+ simple
+ })
+}
+
+register-rejected -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-register-rejected
+}
+
+new-credentials-unacceptable -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-new-credentials-unacceptable
+}
+
+old-credentials-incorrectly-specified -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-old-credentials-incorrectly-specified
+}
+
+-- Administration Port Parameters
+UserName ::= ORAddressAndOptionalDirectoryName
+
+UserAddress ::= CHOICE {
+ x121
+ [0] SEQUENCE {x121-address
+ NumericString(SIZE (1..ub-x121-address-length)) OPTIONAL,
+ tsap-id
+ PrintableString(SIZE (1..ub-tsap-id-length)) OPTIONAL
+ },
+ presentation [1] PSAPAddress
+}
+
+PSAPAddress ::= PresentationAddress
+
+DeliverableClass ::=
+ MessageClass
+ (WITH COMPONENTS {
+ ...,
+ priority ABSENT,
+ -- The 'objects' component shall always be defaulted.
+ -- objects ABSENT,
+ -- A component with a DEFAULT clause cannot be ABSENT
+ applies-only-to ABSENT
+ })
+
+DefaultDeliveryControls ::=
+ Controls
+ (WITH COMPONENTS {
+ ...,
+
+ -- The 'restrict' component shall always be defaulted.
+ -- restrict ABSENT,
+ -- A component with a DEFAULT clause cannot be ABSENT
+ permissible-security-context ABSENT
+ })
+
+Redirections ::= SEQUENCE SIZE (1..ub-redirections) OF RecipientRedirection
+
+RecipientRedirection ::= SET {
+ redirection-classes
+ [0] SET SIZE (1..ub-redirection-classes) OF RedirectionClass OPTIONAL,
+ recipient-assigned-alternate-recipient
+ [1] RecipientAssignedAlternateRecipient OPTIONAL
+}
+
+RedirectionClass ::= MessageClass
+
+MessageClass ::= SET {
+ content-types [0] ContentTypes OPTIONAL,
+ maximum-content-length [1] ContentLength OPTIONAL,
+ encoded-information-types-constraints
+ [2] EncodedInformationTypesConstraints OPTIONAL,
+ security-labels [3] SecurityContext OPTIONAL,
+ priority [4] SET OF Priority OPTIONAL,
+ objects
+ [5] ENUMERATED {messages(0), reports(1), both(2), ...
+ } DEFAULT both,
+ applies-only-to [6] SEQUENCE OF Restriction OPTIONAL, -- Not considered in the case of Reports
+ extensions
+ [7] SET OF ExtensionField{{MessageClassExtensions}} DEFAULT {}
+}
+
+EncodedInformationTypesConstraints ::= SEQUENCE {
+ unacceptable-eits [0] ExtendedEncodedInformationTypes OPTIONAL,
+ acceptable-eits [1] ExtendedEncodedInformationTypes OPTIONAL,
+ exclusively-acceptable-eits [2] ExtendedEncodedInformationTypes OPTIONAL
+}
+
+MessageClassExtensions EXTENSION ::= {PrivateExtensions, ...}
+
+-- May contain private extensions and future standardised extensions
+RecipientAssignedAlternateRecipient ::=
+ ORAddressAndOrDirectoryName
+
+RestrictedDelivery ::= SEQUENCE SIZE (1..ub-restrictions) OF Restriction
+
+Restriction ::= SET {
+ permitted BOOLEAN DEFAULT TRUE,
+ source-type
+ BIT STRING {originated-by(0), redirected-by(1), dl-expanded-by(2)}
+ DEFAULT {originated-by, redirected-by, dl-expanded-by},
+ source-name ExactOrPattern OPTIONAL
+}
+
+ExactOrPattern ::= CHOICE {
+ exact-match [0] ORName,
+ pattern-match [1] ORName
+}
+
+RegistrationTypes ::= SEQUENCE {
+ standard-parameters
+ [0] BIT STRING {user-name(0), user-address(1), deliverable-class(2),
+ default-delivery-controls(3), redirections(4),
+ restricted-delivery(5)} OPTIONAL,
+ extensions [1] SET OF EXTENSION.&id({RegisterExtensions}) OPTIONAL
+}
+
+-- Message Submission Envelope
+MessageSubmissionEnvelope ::= SET {
+ COMPONENTS OF PerMessageSubmissionFields,
+ per-recipient-fields
+ [1] SEQUENCE SIZE (1..ub-recipients) OF
+ PerRecipientMessageSubmissionFields
+}
+
+PerMessageSubmissionFields ::= SET {
+ originator-name OriginatorName,
+ original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
+ content-type ContentType,
+ content-identifier ContentIdentifier OPTIONAL,
+ priority Priority DEFAULT normal,
+ per-message-indicators PerMessageIndicators DEFAULT {},
+ deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL,
+ extensions
+ [2] SET OF ExtensionField{{PerMessageSubmissionExtensions}} DEFAULT {}
+}
+
+PerMessageSubmissionExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ recipient-reassignment-prohibited | dl-expansion-prohibited |
+ conversion-with-loss-prohibited | latest-delivery-time |
+ originator-return-address | originator-certificate |
+ content-confidentiality-algorithm-identifier |
+ message-origin-authentication-check | message-security-label |
+ proof-of-submission-request | content-correlator | dl-exempted-recipients |
+ certificate-selectors | multiple-originator-certificates |
+ forwarding-request -- for MS Abstract Service only -- | PrivateExtensions,
+ ...}
+
+PerRecipientMessageSubmissionFields ::= SET {
+ recipient-name RecipientName,
+ originator-report-request [0] OriginatorReportRequest,
+ explicit-conversion [1] ExplicitConversion OPTIONAL,
+ extensions
+ [2] SET OF ExtensionField{{PerRecipientMessageSubmissionExtensions}}
+ DEFAULT {}
+}
+
+PerRecipientMessageSubmissionExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ originator-requested-alternate-recipient | requested-delivery-method |
+ physical-forwarding-prohibited | physical-forwarding-address-request |
+ physical-delivery-modes | registered-mail-type | recipient-number-for-advice
+ | physical-rendition-attributes | physical-delivery-report-request |
+ message-token | content-integrity-check | proof-of-delivery-request |
+ certificate-selectors-override | recipient-certificate |
+ IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
+
+-- Probe Submission Envelope
+ProbeSubmissionEnvelope ::= SET {
+ COMPONENTS OF PerProbeSubmissionFields,
+ per-recipient-fields
+ [3] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeSubmissionFields
+}
+
+PerProbeSubmissionFields ::= SET {
+ originator-name OriginatorName,
+ original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
+ content-type ContentType,
+ content-identifier ContentIdentifier OPTIONAL,
+ content-length [0] ContentLength OPTIONAL,
+ per-message-indicators PerMessageIndicators DEFAULT {},
+ extensions
+ [2] SET OF ExtensionField{{PerProbeSubmissionExtensions}} DEFAULT {}
+}
+
+PerProbeSubmissionExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ recipient-reassignment-prohibited | dl-expansion-prohibited |
+ conversion-with-loss-prohibited | originator-certificate |
+ message-security-label | content-correlator |
+ probe-origin-authentication-check | PrivateExtensions, ...}
+
+PerRecipientProbeSubmissionFields ::= SET {
+ recipient-name RecipientName,
+ originator-report-request [0] OriginatorReportRequest,
+ explicit-conversion [1] ExplicitConversion OPTIONAL,
+ extensions
+ [2] SET OF ExtensionField{{PerRecipientProbeSubmissionExtensions}}
+ DEFAULT {}
+}
+
+PerRecipientProbeSubmissionExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ originator-requested-alternate-recipient | requested-delivery-method |
+ physical-rendition-attributes | PrivateExtensions, ...}
+
+-- Message Delivery Envelope
+MessageDeliveryEnvelope ::= SEQUENCE {
+ message-delivery-identifier MessageDeliveryIdentifier,
+ message-delivery-time MessageDeliveryTime,
+ other-fields OtherMessageDeliveryFields
+}
+
+OtherMessageDeliveryFields ::= SET {
+ content-type DeliveredContentType,
+ originator-name DeliveredOriginatorName,
+ original-encoded-information-types
+ [1] OriginalEncodedInformationTypes OPTIONAL,
+ priority Priority DEFAULT normal,
+ delivery-flags [2] DeliveryFlags OPTIONAL,
+ other-recipient-names [3] OtherRecipientNames OPTIONAL,
+ this-recipient-name [4] ThisRecipientName,
+ originally-intended-recipient-name
+ [5] OriginallyIntendedRecipientName OPTIONAL,
+ converted-encoded-information-types
+ [6] ConvertedEncodedInformationTypes OPTIONAL,
+ message-submission-time [7] MessageSubmissionTime,
+ content-identifier [8] ContentIdentifier OPTIONAL,
+ extensions
+ [9] SET OF ExtensionField{{MessageDeliveryExtensions}} DEFAULT {}
+}
+
+MessageDeliveryExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ conversion-with-loss-prohibited | requested-delivery-method |
+ physical-forwarding-prohibited | physical-forwarding-address-request |
+ physical-delivery-modes | registered-mail-type | recipient-number-for-advice
+ | physical-rendition-attributes | originator-return-address |
+ physical-delivery-report-request | originator-certificate | message-token |
+ content-confidentiality-algorithm-identifier | content-integrity-check |
+ message-origin-authentication-check | message-security-label |
+ proof-of-delivery-request | dl-exempted-recipients | certificate-selectors |
+ certificate-selectors-override | multiple-originator-certificates |
+ recipient-certificate | IPMPerRecipientEnvelopeExtensions |
+ redirection-history | dl-expansion-history | trace-information |
+ internal-trace-information | PrivateExtensions, ...}
+
+-- Report Delivery Envelope
+ReportDeliveryEnvelope ::= SET {
+ COMPONENTS OF PerReportDeliveryFields,
+ per-recipient-fields
+ SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportDeliveryFields
+}
+
+PerReportDeliveryFields ::= SET {
+ subject-submission-identifier SubjectSubmissionIdentifier,
+ content-identifier ContentIdentifier OPTIONAL,
+ content-type ContentType OPTIONAL,
+ original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
+ extensions
+ [1] SET OF ExtensionField{{ReportDeliveryExtensions}} DEFAULT {}
+}
+
+ReportDeliveryExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ message-security-label | content-correlator | redirection-history |
+ originator-and-DL-expansion-history | reporting-DL-name |
+ reporting-MTA-certificate | report-origin-authentication-check |
+ trace-information | internal-trace-information | reporting-MTA-name |
+ PrivateExtensions, ...}
+
+PerRecipientReportDeliveryFields ::= SET {
+ actual-recipient-name [0] ActualRecipientName,
+ report-type [1] ReportType,
+ converted-encoded-information-types
+ ConvertedEncodedInformationTypes OPTIONAL,
+ originally-intended-recipient-name
+ [2] OriginallyIntendedRecipientName OPTIONAL,
+ supplementary-information [3] SupplementaryInformation OPTIONAL,
+ extensions
+ [4] SET OF ExtensionField{{PerRecipientReportDeliveryExtensions}}
+ DEFAULT {}
+}
+
+PerRecipientReportDeliveryExtensions EXTENSION ::=
+ {-- May contain the following extensions, private extensions, and future standardised extensions,
+ -- at most one instance of each extension type:
+ redirection-history | physical-forwarding-address | recipient-certificate |
+ proof-of-delivery | PrivateExtensions, ...}
+
+ReportType ::= CHOICE {
+ delivery [0] DeliveryReport,
+ non-delivery [1] NonDeliveryReport
+}
+
+DeliveryReport ::= SET {
+ message-delivery-time [0] MessageDeliveryTime,
+ type-of-MTS-user [1] TypeOfMTSUser DEFAULT public
+}
+
+NonDeliveryReport ::= SET {
+ non-delivery-reason-code [0] NonDeliveryReasonCode,
+ non-delivery-diagnostic-code [1] NonDeliveryDiagnosticCode OPTIONAL
+}
+
+-- Envelope Fields
+OriginatorName ::= ORAddressAndOrDirectoryName
+
+DeliveredOriginatorName ::= ORAddressAndOptionalDirectoryName
+
+OriginalEncodedInformationTypes ::= EncodedInformationTypes
+
+ContentTypes ::= SET SIZE (1..ub-content-types) OF ContentType
+
+ContentType ::= CHOICE {
+ built-in BuiltInContentType,
+ extended ExtendedContentType
+}
+
+BuiltInContentType ::= [APPLICATION 6] INTEGER {
+ unidentified(0),
+ external(1), -- identified by the object-identifier of the EXTERNAL content
+ interpersonal-messaging-1984(2), interpersonal-messaging-1988(22),
+ edi-messaging(35), voice-messaging(40)}(0..ub-built-in-content-type)
+
+ExtendedContentType ::= OBJECT IDENTIFIER -- RELATIVE-OID
+
+DeliveredContentType ::= CHOICE {
+ built-in [0] BuiltInContentType,
+ extended ExtendedContentType
+}
+
+ContentIdentifier ::=
+ [APPLICATION 10] PrintableString(SIZE (1..ub-content-id-length))
+
+PerMessageIndicators ::= [APPLICATION 8] BIT STRING {
+ disclosure-of-other-recipients(0), -- disclosure-of-other-recipients-requested 'one',
+
+ -- disclosure-of-other-recipients-prohibited 'zero';
+ -- ignored for Probe-submission
+ implicit-conversion-prohibited(1), -- implicit-conversion-prohibited 'one',
+
+ -- implicit-conversion-allowed 'zero'
+ alternate-recipient-allowed(2), -- alternate-recipient-allowed 'one',
+
+ -- alternate-recipient-prohibited 'zero'
+ content-return-request(3), -- content-return-requested 'one',
+
+ -- content-return-not-requested 'zero';
+ -- ignored for Probe-submission
+ reserved(4), -- bit reserved by MOTIS 1986
+ bit-5(5),
+ bit-6(6), -- notification type-1 : bit 5 'zero' and bit 6 'one'
+
+ -- notification type-2 : bit 5 'one' and bit 6 'zero'
+ -- notification type-3 : bit 5 'one' and bit 6 'one'
+ -- the mapping between notification type 1, 2, 3
+ -- and the content specific notification types are defined
+ -- in relevant content specifications
+ service-message(7) -- the message content is for service purposes;
+
+
+-- it may be a notification related to a service message;
+-- used only by bilateral agreement --}(SIZE (0..ub-bit-options))
+
+RecipientName ::= ORAddressAndOrDirectoryName
+
+OriginatorReportRequest ::= BIT STRING {report(3), non-delivery-report(4)
+
+-- at most one bit shall be 'one':
+-- report bit 'one' requests a 'report';
+-- non-delivery-report bit 'one' requests a 'non-delivery-report';
+-- both bits 'zero' requests 'no-report' --}(SIZE (0..ub-bit-options))
+
+ExplicitConversion ::= INTEGER {
+ ia5-text-to-teletex(0),
+ -- values 1 to 7 are no longer defined
+ ia5-text-to-g3-facsimile(8), ia5-text-to-g4-class-1(9),
+ ia5-text-to-videotex(10), teletex-to-ia5-text(11),
+ teletex-to-g3-facsimile(12), teletex-to-g4-class-1(13),
+ teletex-to-videotex(14),
+ -- value 15 is no longer defined
+ videotex-to-ia5-text(16), videotex-to-teletex(17)}(0..ub-integer-options)
+
+DeferredDeliveryTime ::= Time
+
+Priority ::= [APPLICATION 7] ENUMERATED {normal(0), non-urgent(1), urgent(2)}
+
+ContentLength ::= INTEGER(0..ub-content-length)
+
+MessageDeliveryIdentifier ::= MTSIdentifier
+
+MessageDeliveryTime ::= Time
+
+DeliveryFlags ::= BIT STRING {
+ implicit-conversion-prohibited(1) -- implicit-conversion-prohibited 'one',
+
+ -- implicit-conversion-allowed 'zero' --}(SIZE (0..ub-bit-options))
+
+OtherRecipientNames ::= SEQUENCE SIZE (1..ub-recipients) OF OtherRecipientName
+
+OtherRecipientName ::= ORAddressAndOptionalDirectoryName
+
+ThisRecipientName ::= ORAddressAndOptionalDirectoryName
+
+OriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
+
+ConvertedEncodedInformationTypes ::= EncodedInformationTypes
+
+SubjectSubmissionIdentifier ::= MTSIdentifier
+
+ActualRecipientName ::= ORAddressAndOrDirectoryName
+
+TypeOfMTSUser ::= INTEGER {
+ public(0), private(1), ms(2), dl(3), pdau(4), physical-recipient(5), other(6)
+}(0..ub-mts-user-types)
+
+NonDeliveryReasonCode ::= INTEGER {
+ transfer-failure(0), unable-to-transfer(1), conversion-not-performed(2),
+ physical-rendition-not-performed(3), physical-delivery-not-performed(4),
+ restricted-delivery(5), directory-operation-unsuccessful(6),
+ deferred-delivery-not-performed(7), transfer-failure-for-security-reason(8)
+}(0..ub-reason-codes)
+
+NonDeliveryDiagnosticCode ::= INTEGER {
+ unrecognised-OR-name(0), ambiguous-OR-name(1), mts-congestion(2),
+ loop-detected(3), recipient-unavailable(4), maximum-time-expired(5),
+ encoded-information-types-unsupported(6), content-too-long(7),
+ conversion-impractical(8), implicit-conversion-prohibited(9),
+ implicit-conversion-not-subscribed(10), invalid-arguments(11),
+ content-syntax-error(12), size-constraint-violation(13),
+ protocol-violation(14), content-type-not-supported(15),
+ too-many-recipients(16), no-bilateral-agreement(17),
+ unsupported-critical-function(18), conversion-with-loss-prohibited(19),
+ line-too-long(20), page-split(21), pictorial-symbol-loss(22),
+ punctuation-symbol-loss(23), alphabetic-character-loss(24),
+ multiple-information-loss(25), recipient-reassignment-prohibited(26),
+ redirection-loop-detected(27), dl-expansion-prohibited(28),
+ no-dl-submit-permission(29), dl-expansion-failure(30),
+ physical-rendition-attributes-not-supported(31),
+ undeliverable-mail-physical-delivery-address-incorrect(32),
+ undeliverable-mail-physical-delivery-office-incorrect-or-invalid(33),
+ undeliverable-mail-physical-delivery-address-incomplete(34),
+ undeliverable-mail-recipient-unknown(35),
+ undeliverable-mail-recipient-deceased(36),
+ undeliverable-mail-organization-expired(37),
+ undeliverable-mail-recipient-refused-to-accept(38),
+ undeliverable-mail-recipient-did-not-claim(39),
+ undeliverable-mail-recipient-changed-address-permanently(40),
+ undeliverable-mail-recipient-changed-address-temporarily(41),
+ undeliverable-mail-recipient-changed-temporary-address(42),
+ undeliverable-mail-new-address-unknown(43),
+ undeliverable-mail-recipient-did-not-want-forwarding(44),
+ undeliverable-mail-originator-prohibited-forwarding(45),
+ secure-messaging-error(46), unable-to-downgrade(47),
+ unable-to-complete-transfer(48), transfer-attempts-limit-reached(49),
+ incorrect-notification-type(50),
+ dl-expansion-prohibited-by-security-policy(51),
+ forbidden-alternate-recipient(52), security-policy-violation(53),
+ security-services-refusal(54), unauthorised-dl-member(55),
+ unauthorised-dl-name(56),
+ unauthorised-originally-intended-recipient-name(57),
+ unauthorised-originator-name(58), unauthorised-recipient-name(59),
+ unreliable-system(60), authentication-failure-on-subject-message(61),
+ decryption-failed(62), decryption-key-unobtainable(63),
+ double-envelope-creation-failure(64),
+ double-enveloping-message-restoring-failure(65),
+ failure-of-proof-of-message(66), integrity-failure-on-subject-message(67),
+ invalid-security-label(68), key-failure(69), mandatory-parameter-absence(70),
+ operation-security-failure(71), repudiation-failure-of-message(72),
+ security-context-failure(73), token-decryption-failed(74), token-error(75),
+ unknown-security-label(76), unsupported-algorithm-identifier(77),
+ unsupported-security-policy(78)}(0..ub-diagnostic-codes)
+
+SupplementaryInformation ::=
+ PrintableString(SIZE (1..ub-supplementary-info-length))
+
+-- Extension Fields
+EXTENSION ::= CLASS {
+ &id ExtensionType UNIQUE,
+ &Type OPTIONAL,
+ &absent &Type OPTIONAL,
+ &recommended Criticality DEFAULT {}
+}
+WITH SYNTAX {
+ [&Type
+ [IF ABSENT &absent],]
+ [RECOMMENDED CRITICALITY &recommended,]
+ IDENTIFIED BY &id
+}
+
+ExtensionType ::= CHOICE {
+ standard-extension [0] --INTEGER(0..ub-extension-types)-- StandardExtension,
+ private-extension [3] OBJECT IDENTIFIER
+}
+
+StandardExtension ::= INTEGER {
+ recipient-reassignment-prohibited (1),
+ originator-requested-alternate-recipient (2),
+ dl-expansion-prohibited (3),
+ conversion-with-loss-prohibited (4),
+ latest-delivery-time (5),
+ requested-delivery-method (6),
+ physical-forwarding-prohibited (7),
+ physical-forwarding-address-request (8),
+ physical-delivery-modes (9),
+ registered-mail-type (10),
+ recipient-number-for-advice (11),
+ physical-rendition-attributes (12),
+ originator-return-address (13),
+ physical-delivery-report-request (14),
+ originator-certificate (15),
+ message-token (16),
+ content-confidentiality-algorithm-identifier (17),
+ content-integrity-check (18),
+ message-origin-authentication-check (19),
+ message-security-label (20),
+ proof-of-submission-request (21),
+ proof-of-delivery-request (22),
+ content-correlator (23),
+ probe-origin-authentication-check (24),
+ redirection-history (25),
+ dl-expansion-history (26),
+ physical-forwarding-address (27),
+ recipient-certificate (28),
+ proof-of-delivery (29),
+ originator-and-DL-expansion-history (30),
+ reporting-DL-name (31),
+ reporting-MTA-certificate (32),
+ report-origin-authentication-check (33),
+ originating-MTA-certificate (34),
+ proof-of-submission (35),
+ forwarding-request (36),
+ trace-information (37),
+ internal-trace-information (38),
+ reporting-MTA-name (39),
+ multiple-originator-certificates (40),
+ blind-copy-recipients (41),
+ dl-exempted-recipients (42),
+ body-part-encryption-token (43),
+ forwarded-content-token (44),
+ certificate-selectors (45)
+}
+
+
+Criticality ::= BIT STRING {for-submission(0), for-transfer(1), for-delivery(2)
+}(SIZE (0..ub-bit-options)) -- critical 'one', non-critical 'zero'
+
+
+ExtensionField{EXTENSION:ChosenFrom} ::= SEQUENCE {
+ type EXTENSION.&id({ChosenFrom}),
+ criticality [1] Criticality DEFAULT {},
+ value [2] EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
+}
+
+PrivateExtensions EXTENSION ::=
+ {-- Any value shall be relayed and delivered if not Critical (see Table 27)
+ -- except those values whose semantics the MTA obeys which are defined to be removed when obeyed.
+ -- Shall be IDENTIFIED BY ExtensionType.private-extension --...}
+
+recipient-reassignment-prohibited EXTENSION ::= {
+ RecipientReassignmentProhibited
+ IF ABSENT recipient-reassignment-allowed,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:1
+}
+
+RecipientReassignmentProhibited ::= ENUMERATED {
+ recipient-reassignment-allowed(0), recipient-reassignment-prohibited(1)
+}
+
+originator-requested-alternate-recipient EXTENSION ::= {
+ OriginatorRequestedAlternateRecipient,
+ RECOMMENDED CRITICALITY {for-submission},
+ IDENTIFIED BY standard-extension:2
+}
+
+OriginatorRequestedAlternateRecipient ::= ORAddressAndOrDirectoryName
+
+-- OriginatorRequestedAlternateRecipient as defined here differs from the field of the same name
+-- defined in Figure 4, since on submission the OR-address need not be present, but on
+-- transfer the OR-address must be present.
+dl-expansion-prohibited EXTENSION ::= {
+ DLExpansionProhibited
+ IF ABSENT dl-expansion-allowed,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:3
+}
+
+DLExpansionProhibited ::= ENUMERATED {
+ dl-expansion-allowed(0), dl-expansion-prohibited(1)}
+
+conversion-with-loss-prohibited EXTENSION ::= {
+ ConversionWithLossProhibited
+ IF ABSENT conversion-with-loss-allowed,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:4
+}
+
+ConversionWithLossProhibited ::= ENUMERATED {
+ conversion-with-loss-allowed(0), conversion-with-loss-prohibited(1)
+}
+
+latest-delivery-time EXTENSION ::= {
+ LatestDeliveryTime,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:5
+}
+
+LatestDeliveryTime ::= Time
+
+requested-delivery-method EXTENSION ::= {
+ RequestedDeliveryMethod
+ IF ABSENT {any-delivery-method},
+ IDENTIFIED BY standard-extension:6
+}
+
+RequestedDeliveryMethod ::=
+ SEQUENCE OF INTEGER { -- each different in order of preference,
+ -- most preferred first
+ any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
+ telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
+ g4-facsimile-delivery(6), ia5-terminal-delivery(7), videotex-delivery(8),
+ telephone-delivery(9)}(0..ub-integer-options)
+
+physical-forwarding-prohibited EXTENSION ::= {
+ PhysicalForwardingProhibited
+ IF ABSENT physical-forwarding-allowed,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:7
+}
+
+PhysicalForwardingProhibited ::= ENUMERATED {
+ physical-forwarding-allowed(0), physical-forwarding-prohibited(1)}
+
+physical-forwarding-address-request EXTENSION ::= {
+ PhysicalForwardingAddressRequest
+ IF ABSENT physical-forwarding-address-not-requested,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:8
+}
+
+PhysicalForwardingAddressRequest ::= ENUMERATED {
+ physical-forwarding-address-not-requested(0),
+ physical-forwarding-address-requested(1)}
+
+physical-delivery-modes EXTENSION ::= {
+ PhysicalDeliveryModes
+ IF ABSENT {ordinary-mail},
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:9
+}
+
+PhysicalDeliveryModes ::= BIT STRING {
+ ordinary-mail(0), special-delivery(1), express-mail(2),
+ counter-collection(3), counter-collection-with-telephone-advice(4),
+ counter-collection-with-telex-advice(5),
+ counter-collection-with-teletex-advice(6), bureau-fax-delivery(7)
+
+-- bits 0 to 6 are mutually exclusive
+-- bit 7 can be set independently of any of bits 0 to 6 --}
+(SIZE (0..ub-bit-options))
+
+registered-mail-type EXTENSION ::= {
+ RegisteredMailType
+ IF ABSENT non-registered-mail,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:10
+}
+
+RegisteredMailType ::= INTEGER {
+ non-registered-mail(0), registered-mail(1),
+ registered-mail-to-addressee-in-person(2)}(0..ub-integer-options)
+
+recipient-number-for-advice EXTENSION ::= {
+ RecipientNumberForAdvice,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:11
+}
+
+RecipientNumberForAdvice ::=
+ TeletexString(SIZE (1..ub-recipient-number-for-advice-length))
+
+physical-rendition-attributes EXTENSION ::= {
+ PhysicalRenditionAttributes
+ IF ABSENT id-att-physicalRendition-basic,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:12
+}
+
+PhysicalRenditionAttributes ::= OBJECT IDENTIFIER
+
+originator-return-address EXTENSION ::= {
+ OriginatorReturnAddress,
+ IDENTIFIED BY standard-extension:13
+}
+
+OriginatorReturnAddress ::= ORAddress
+
+physical-delivery-report-request EXTENSION ::= {
+ PhysicalDeliveryReportRequest
+ IF ABSENT return-of-undeliverable-mail-by-PDS,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:14
+}
+
+PhysicalDeliveryReportRequest ::= INTEGER {
+ return-of-undeliverable-mail-by-PDS(0), return-of-notification-by-PDS(1),
+ return-of-notification-by-MHS(2), return-of-notification-by-MHS-and-PDS(3)
+}(0..ub-integer-options)
+
+originator-certificate EXTENSION ::= {
+ OriginatorCertificate,
+ IDENTIFIED BY standard-extension:15
+}
+
+OriginatorCertificate ::= Certificates
+
+message-token EXTENSION ::= {
+ MessageToken,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:16
+}
+
+MessageToken ::= Token
+
+content-confidentiality-algorithm-identifier EXTENSION ::= {
+ ContentConfidentialityAlgorithmIdentifier,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:17
+}
+
+ContentConfidentialityAlgorithmIdentifier ::= AlgorithmIdentifier
+
+content-integrity-check EXTENSION ::= {
+ ContentIntegrityCheck,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:18
+}
+
+ContentIntegrityCheck ::= Signature
+-- SIGNATURE
+-- {SEQUENCE {algorithm-identifier
+-- ContentIntegrityAlgorithmIdentifier OPTIONAL,
+-- content Content}}
+
+ContentIntegrityAlgorithmIdentifier ::= AlgorithmIdentifier
+
+message-origin-authentication-check EXTENSION ::= {
+ MessageOriginAuthenticationCheck,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:19
+}
+
+MessageOriginAuthenticationCheck ::= Signature
+-- SIGNATURE
+-- {SEQUENCE {algorithm-identifier
+-- MessageOriginAuthenticationAlgorithmIdentifier,
+-- content Content,
+-- content-identifier ContentIdentifier OPTIONAL,
+-- message-security-label MessageSecurityLabel OPTIONAL}}
+
+MessageOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
+
+message-security-label EXTENSION ::= {
+ MessageSecurityLabel,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:20
+}
+
+MessageSecurityLabel ::= SecurityLabel
+
+proof-of-submission-request EXTENSION ::= {
+ ProofOfSubmissionRequest
+ IF ABSENT proof-of-submission-not-requested,
+ RECOMMENDED CRITICALITY {for-submission},
+ IDENTIFIED BY standard-extension:21
+}
+
+ProofOfSubmissionRequest ::= ENUMERATED {
+ proof-of-submission-not-requested(0), proof-of-submission-requested(1)
+}
+
+proof-of-delivery-request EXTENSION ::= {
+ ProofOfDeliveryRequest
+ IF ABSENT proof-of-delivery-not-requested,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:22
+}
+
+ProofOfDeliveryRequest ::= ENUMERATED {
+ proof-of-delivery-not-requested(0), proof-of-delivery-requested(1)}
+
+content-correlator EXTENSION ::= {
+ ContentCorrelator,
+ IDENTIFIED BY standard-extension:23
+}
+
+ContentCorrelator ::= CHOICE {ia5text IA5String,
+ octets OCTET STRING
+}
+
+probe-origin-authentication-check EXTENSION ::= {
+ ProbeOriginAuthenticationCheck,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:24
+}
+
+ProbeOriginAuthenticationCheck ::= Signature
+-- SIGNATURE
+-- {SEQUENCE {algorithm-identifier
+-- ProbeOriginAuthenticationAlgorithmIdentifier,
+-- content-identifier ContentIdentifier OPTIONAL,
+-- message-security-label MessageSecurityLabel OPTIONAL}}
+
+ProbeOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
+
+redirection-history EXTENSION ::= {
+ RedirectionHistory,
+ IDENTIFIED BY standard-extension:25
+}
+
+RedirectionHistory ::= SEQUENCE SIZE (1..ub-redirections) OF Redirection
+
+Redirection ::= SEQUENCE {
+ intended-recipient-name IntendedRecipientName,
+ redirection-reason RedirectionReason
+}
+
+IntendedRecipientName ::= SEQUENCE {
+ intended-recipient ORAddressAndOptionalDirectoryName,
+ redirection-time Time
+}
+
+RedirectionReason ::= ENUMERATED {
+ recipient-assigned-alternate-recipient(0),
+ originator-requested-alternate-recipient(1),
+ recipient-MD-assigned-alternate-recipient(2),
+ -- The following values may not be supported by implementations of earlier versions of this Service Definition
+ directory-look-up(3), alias(4), ...
+ }
+
+dl-expansion-history EXTENSION ::= {
+ DLExpansionHistory,
+ IDENTIFIED BY standard-extension:26
+}
+
+DLExpansionHistory ::= SEQUENCE SIZE (1..ub-dl-expansions) OF DLExpansion
+
+DLExpansion ::= SEQUENCE {
+ dl ORAddressAndOptionalDirectoryName,
+ dl-expansion-time Time
+}
+
+physical-forwarding-address EXTENSION ::= {
+ PhysicalForwardingAddress,
+ IDENTIFIED BY standard-extension:27
+}
+
+PhysicalForwardingAddress ::= ORAddressAndOptionalDirectoryName
+
+recipient-certificate EXTENSION ::= {
+ RecipientCertificate,
+ IDENTIFIED BY standard-extension:28
+}
+
+proof-of-delivery EXTENSION ::= {
+ ProofOfDelivery,
+ IDENTIFIED BY standard-extension:29
+}
+
+originator-and-DL-expansion-history EXTENSION ::= {
+ OriginatorAndDLExpansionHistory,
+ IDENTIFIED BY standard-extension:30
+}
+
+OriginatorAndDLExpansionHistory ::=
+ SEQUENCE SIZE (2..ub-orig-and-dl-expansions) OF OriginatorAndDLExpansion
+
+OriginatorAndDLExpansion ::= SEQUENCE {
+ originator-or-dl-name ORAddressAndOptionalDirectoryName,
+ origination-or-expansion-time Time
+}
+
+reporting-DL-name EXTENSION ::= {
+ ReportingDLName,
+ IDENTIFIED BY standard-extension:31
+}
+
+ReportingDLName ::= ORAddressAndOptionalDirectoryName
+
+reporting-MTA-certificate EXTENSION ::= {
+ ReportingMTACertificate,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:32
+}
+
+ReportingMTACertificate ::= Certificates
+
+report-origin-authentication-check EXTENSION ::= {
+ ReportOriginAuthenticationCheck,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:33
+}
+
+ReportOriginAuthenticationCheck ::= Signature
+-- SIGNATURE
+-- {SEQUENCE {algorithm-identifier
+-- ReportOriginAuthenticationAlgorithmIdentifier,
+-- content-identifier ContentIdentifier OPTIONAL,
+-- message-security-label MessageSecurityLabel OPTIONAL,
+-- per-recipient
+-- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportFields
+-- }}
+
+ReportOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
+
+PerRecipientReportFields ::= SEQUENCE {
+ actual-recipient-name ActualRecipientName,
+ originally-intended-recipient-name OriginallyIntendedRecipientName OPTIONAL,
+ report-type
+ CHOICE {delivery [0] PerRecipientDeliveryReportFields,
+ non-delivery [1] PerRecipientNonDeliveryReportFields}
+}
+
+PerRecipientDeliveryReportFields ::= SEQUENCE {
+ message-delivery-time MessageDeliveryTime,
+ type-of-MTS-user TypeOfMTSUser,
+ recipient-certificate [0] RecipientCertificate OPTIONAL,
+ proof-of-delivery [1] ProofOfDelivery OPTIONAL
+}
+
+PerRecipientNonDeliveryReportFields ::= SEQUENCE {
+ non-delivery-reason-code NonDeliveryReasonCode,
+ non-delivery-diagnostic-code NonDeliveryDiagnosticCode OPTIONAL
+}
+
+originating-MTA-certificate EXTENSION ::= {
+ OriginatingMTACertificate,
+ IDENTIFIED BY standard-extension:34
+}
+
+OriginatingMTACertificate ::= Certificates
+
+proof-of-submission EXTENSION ::= {
+ ProofOfSubmission,
+ IDENTIFIED BY standard-extension:35
+}
+
+ProofOfSubmission ::= Signature
+-- SIGNATURE
+-- {SEQUENCE {algorithm-identifier
+-- ProofOfSubmissionAlgorithmIdentifier,
+-- message-submission-envelope MessageSubmissionEnvelope,
+-- content Content,
+-- message-submission-identifier MessageSubmissionIdentifier,
+-- message-submission-time MessageSubmissionTime}}
+
+ProofOfSubmissionAlgorithmIdentifier ::= AlgorithmIdentifier
+
+reporting-MTA-name EXTENSION ::= {
+ ReportingMTAName,
+ IDENTIFIED BY standard-extension:39
+}
+
+ReportingMTAName ::= SEQUENCE {
+ domain GlobalDomainIdentifier,
+ mta-name MTAName,
+ mta-directory-name [0] Name OPTIONAL
+}
+
+multiple-originator-certificates EXTENSION ::= {
+ ExtendedCertificates,
+ IDENTIFIED BY standard-extension:40
+}
+
+ExtendedCertificates ::= SET SIZE (1..ub-certificates) OF ExtendedCertificate
+
+ExtendedCertificate ::= CHOICE {
+ directory-entry [0] Name, -- Name of a Directory entry where the certificate can be found
+ certificate [1] Certificates
+}
+
+dl-exempted-recipients EXTENSION ::= {
+ DLExemptedRecipients,
+ IDENTIFIED BY standard-extension:42
+}
+
+DLExemptedRecipients ::= SET OF ORAddressAndOrDirectoryName
+
+certificate-selectors EXTENSION ::= {
+ CertificateSelectors,
+ IDENTIFIED BY standard-extension:45
+}
+
+CertificateSelectors ::= SET {
+ encryption-recipient [0] CertificateAssertion OPTIONAL,
+ encryption-originator [1] CertificateAssertion OPTIONAL,
+ content-integrity-check [2] CertificateAssertion OPTIONAL,
+ token-signature [3] CertificateAssertion OPTIONAL,
+ message-origin-authentication [4] CertificateAssertion OPTIONAL
+}
+
+certificate-selectors-override EXTENSION ::= {
+ CertificateSelectors
+ (WITH COMPONENTS {
+ ...,
+ message-origin-authentication ABSENT
+ }),
+ IDENTIFIED BY standard-extension:46
+}
+
+-- Some standard-extensions are defined elsewhere:
+-- 36 (forwarding-request) in ITU-T Rec. X.413 | ISO/IEC 10021-5;
+-- 37 (trace-information), and 38 (internal-trace-information) in Figure 4;
+-- 41 (blind-copy-recipients), 43 (body-part-encryption-token), and 44 (forwarded-content-token) in
+-- ITU-T Rec. X.420 | ISO/IEC 10021-7
+-- Common Parameter Types
+Content ::=
+ OCTET
+ STRING -- when the content-type has the integer value external, the value of the
+
+-- content octet string is the ASN.1 encoding of the external-content;
+-- an external-content is a data type EXTERNAL
+MTSIdentifier ::= [APPLICATION 4] SEQUENCE {
+ global-domain-identifier GlobalDomainIdentifier,
+ local-identifier LocalIdentifier
+}
+
+LocalIdentifier ::= IA5String(SIZE (1..ub-local-id-length))
+
+GlobalDomainIdentifier ::= [APPLICATION 3] SEQUENCE {
+ country-name CountryName,
+ administration-domain-name AdministrationDomainName,
+ private-domain-identifier PrivateDomainIdentifier OPTIONAL
+}
+
+PrivateDomainIdentifier ::= CHOICE {
+ numeric NumericString(SIZE (1..ub-domain-name-length)),
+ printable PrintableString(SIZE (1..ub-domain-name-length))
+}
+
+MTAName ::= IA5String(SIZE (1..ub-mta-name-length))
+
+Time ::= UTCTime
+
+-- OR Names
+ORAddressAndOrDirectoryName ::= ORName
+
+ORAddressAndOptionalDirectoryName ::= ORName
+
+ORName ::= [APPLICATION 0] SEQUENCE {
+ -- address --COMPONENTS OF ORAddress,
+ directory-name [0] Name OPTIONAL
+}
+
+ORAddress ::= SEQUENCE {
+ built-in-standard-attributes BuiltInStandardAttributes,
+ built-in-domain-defined-attributes BuiltInDomainDefinedAttributes OPTIONAL,
+ -- see also teletex-domain-defined-attributes
+ extension-attributes ExtensionAttributes OPTIONAL
+}
+
+-- The OR-address is semantically absent from the OR-name if the built-in-standard-attribute
+-- sequence is empty and the built-in-domain-defined-attributes and extension-attributes are both omitted.
+-- Built-in Standard Attributes
+BuiltInStandardAttributes ::= SEQUENCE {
+ country-name CountryName OPTIONAL,
+ administration-domain-name AdministrationDomainName OPTIONAL,
+ network-address [0] NetworkAddress OPTIONAL,
+ -- see also extended-network-address
+ terminal-identifier [1] TerminalIdentifier OPTIONAL,
+ private-domain-name [2] PrivateDomainName OPTIONAL,
+ organization-name [3] OrganizationName OPTIONAL,
+ -- see also teletex-organization-name
+ numeric-user-identifier [4] NumericUserIdentifier OPTIONAL,
+ personal-name [5] PersonalName OPTIONAL,
+ -- see also teletex-personal-name
+ organizational-unit-names [6] OrganizationalUnitNames OPTIONAL
+ -- see also teletex-organizational-unit-names
+}
+
+CountryName ::= [APPLICATION 1] CHOICE {
+ x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
+ iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
+}
+
+AdministrationDomainName ::= [APPLICATION 2] CHOICE {
+ numeric NumericString(SIZE (0..ub-domain-name-length)),
+ printable PrintableString(SIZE (0..ub-domain-name-length))
+}
+
+NetworkAddress ::= X121Address
+
+-- see also extended-network-address
+X121Address ::= NumericString(SIZE (1..ub-x121-address-length))
+
+TerminalIdentifier ::= PrintableString(SIZE (1..ub-terminal-id-length))
+
+PrivateDomainName ::= CHOICE {
+ numeric NumericString(SIZE (1..ub-domain-name-length)),
+ printable PrintableString(SIZE (1..ub-domain-name-length))
+}
+
+OrganizationName ::= PrintableString(SIZE (1..ub-organization-name-length))
+
+-- see also teletex-organization-name
+NumericUserIdentifier ::= NumericString(SIZE (1..ub-numeric-user-id-length))
+
+PersonalName ::= SET {
+ surname [0] PrintableString(SIZE (1..ub-surname-length)),
+ given-name
+ [1] PrintableString(SIZE (1..ub-given-name-length)) OPTIONAL,
+ initials
+ [2] PrintableString(SIZE (1..ub-initials-length)) OPTIONAL,
+ generation-qualifier
+ [3] PrintableString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
+}
+
+-- see also teletex-personal-name
+OrganizationalUnitNames ::=
+ SEQUENCE SIZE (1..ub-organizational-units) OF OrganizationalUnitName
+
+-- see also teletex-organizational-unit-names
+OrganizationalUnitName ::=
+ PrintableString(SIZE (1..ub-organizational-unit-name-length))
+
+-- Built-in Domain-defined Attributes
+BuiltInDomainDefinedAttributes ::=
+ SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
+ BuiltInDomainDefinedAttribute
+
+BuiltInDomainDefinedAttribute ::= SEQUENCE {
+ type PrintableString(SIZE (1..ub-domain-defined-attribute-type-length)),
+ value PrintableString(SIZE (1..ub-domain-defined-attribute-value-length))
+}
+
+-- Extension Attributes
+ExtensionAttributes ::=
+ SET SIZE (1..ub-extension-attributes) OF ExtensionAttribute
+
+ExtensionAttribute ::= SEQUENCE {
+ extension-attribute-type
+ [0] --EXTENSION-ATTRIBUTE.&id({ExtensionAttributeTable})-- ExtensionAttributeType,
+ extension-attribute-value
+ [1] EXTENSION-ATTRIBUTE.&Type
+ ({ExtensionAttributeTable}{@extension-attribute-type})
+}
+
+ExtensionAttributeType ::= INTEGER {
+ common-name (1),
+ teletex-common-name (2),
+ teletex-organization-name (3),
+ teletex-personal-name (4),
+ teletex-organizational-unit-names (5),
+ teletex-domain-defined-attributes (6),
+ pds-name (7),
+ physical-delivery-country-name (8),
+ postal-code (9),
+ physical-delivery-office-name (10),
+ physical-delivery-office-number (11),
+ extension-OR-address-components (12),
+ physical-delivery-personal-name (13),
+ physical-delivery-organization-name (14),
+ extension-physical-delivery-address-components (15),
+ unformatted-postal-address (16),
+ street-address (17),
+ post-office-box-address (18),
+ poste-restante-address (19),
+ unique-postal-name (20),
+ local-postal-attributes (21),
+ extended-network-address (22),
+ terminal-type (23),
+ universal-common-name (24),
+ universal-organization-name (25),
+ universal-personal-name (26),
+ universal-organizational-unit-names (27),
+ universal-domain-defined-attributes (28),
+ universal-physical-delivery-office-name (29),
+ universal-physical-delivery-office-number (30),
+ universal-extension-OR-address-components (31),
+ universal-physical-delivery-personal-name (32),
+ universal-physical-delivery-organization-name (33),
+ universal-extension-physical-delivery-address-components (34),
+ universal-unformatted-postal-address (35),
+ universal-street-address (36),
+ universal-post-office-box-address (37),
+ universal-poste-restante-address (38),
+ universal-unique-postal-name (39),
+ universal-local-postal-attributes (40)
+}
+
+EXTENSION-ATTRIBUTE ::= CLASS {
+ &id INTEGER(0..ub-extension-attributes) UNIQUE,
+ &Type
+}WITH SYNTAX {&Type
+ IDENTIFIED BY &id
+}
+
+ExtensionAttributeTable EXTENSION-ATTRIBUTE ::=
+ {common-name | teletex-common-name | universal-common-name |
+ teletex-organization-name | universal-organization-name |
+ teletex-personal-name | universal-personal-name |
+ teletex-organizational-unit-names | universal-organizational-unit-names |
+ teletex-domain-defined-attributes | universal-domain-defined-attributes |
+ pds-name | physical-delivery-country-name | postal-code |
+ physical-delivery-office-name | universal-physical-delivery-office-name |
+ physical-delivery-office-number | universal-physical-delivery-office-number
+ | extension-OR-address-components |
+ universal-extension-OR-address-components | physical-delivery-personal-name
+ | universal-physical-delivery-personal-name |
+ physical-delivery-organization-name |
+ universal-physical-delivery-organization-name |
+ extension-physical-delivery-address-components |
+ universal-extension-physical-delivery-address-components |
+ unformatted-postal-address | universal-unformatted-postal-address |
+ street-address | universal-street-address | post-office-box-address |
+ universal-post-office-box-address | poste-restante-address |
+ universal-poste-restante-address | unique-postal-name |
+ universal-unique-postal-name | local-postal-attributes |
+ universal-local-postal-attributes | extended-network-address | terminal-type
+ }
+
+-- Extension Standard Attributes
+common-name EXTENSION-ATTRIBUTE ::= {CommonName
+ IDENTIFIED BY 1
+}
+
+CommonName ::= PrintableString(SIZE (1..ub-common-name-length))
+
+teletex-common-name EXTENSION-ATTRIBUTE ::= {TeletexCommonName
+ IDENTIFIED BY 2
+}
+
+TeletexCommonName ::= TeletexString(SIZE (1..ub-common-name-length))
+
+universal-common-name EXTENSION-ATTRIBUTE ::= {
+ UniversalCommonName
+ IDENTIFIED BY 24
+}
+
+UniversalCommonName ::= UniversalOrBMPString{ub-common-name-length}
+
+teletex-organization-name EXTENSION-ATTRIBUTE ::= {
+ TeletexOrganizationName
+ IDENTIFIED BY 3
+}
+
+TeletexOrganizationName ::=
+ TeletexString(SIZE (1..ub-organization-name-length))
+
+universal-organization-name EXTENSION-ATTRIBUTE ::= {
+ UniversalOrganizationName
+ IDENTIFIED BY 25
+}
+
+UniversalOrganizationName ::= UniversalOrBMPString{ub-organization-name-length}
+
+teletex-personal-name EXTENSION-ATTRIBUTE ::= {
+ TeletexPersonalName
+ IDENTIFIED BY 4
+}
+
+TeletexPersonalName ::= SET {
+ surname [0] TeletexString(SIZE (1..ub-surname-length)),
+ given-name
+ [1] TeletexString(SIZE (1..ub-given-name-length)) OPTIONAL,
+ initials
+ [2] TeletexString(SIZE (1..ub-initials-length)) OPTIONAL,
+ generation-qualifier
+ [3] TeletexString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
+}
+
+universal-personal-name EXTENSION-ATTRIBUTE ::= {
+ UniversalPersonalName
+ IDENTIFIED BY 26
+}
+
+UniversalPersonalName ::= SET {
+ surname [0] UniversalOrBMPString{ub-universal-surname-length},
+ -- If a language is specified within surname, then that language applies to each of the following
+ -- optional components unless the component specifies another language.
+ given-name
+ [1] UniversalOrBMPString{ub-universal-given-name-length} OPTIONAL,
+ initials
+ [2] UniversalOrBMPString{ub-universal-initials-length} OPTIONAL,
+ generation-qualifier
+ [3] UniversalOrBMPString{ub-universal-generation-qualifier-length}
+ OPTIONAL
+}
+
+teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
+ TeletexOrganizationalUnitNames
+ IDENTIFIED BY 5
+}
+
+TeletexOrganizationalUnitNames ::=
+ SEQUENCE SIZE (1..ub-organizational-units) OF TeletexOrganizationalUnitName
+
+TeletexOrganizationalUnitName ::=
+ TeletexString(SIZE (1..ub-organizational-unit-name-length))
+
+universal-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
+ UniversalOrganizationalUnitNames
+ IDENTIFIED BY 27
+}
+
+UniversalOrganizationalUnitNames ::=
+ SEQUENCE SIZE (1..ub-organizational-units) OF UniversalOrganizationalUnitName
+
+-- If a unit name specifies a language, then that language applies to subordinate unit names unless
+-- the subordinate specifies another language.
+UniversalOrganizationalUnitName ::=
+ UniversalOrBMPString{ub-organizational-unit-name-length}
+
+UniversalOrBMPString{INTEGER:ub-string-length} ::= SET {
+ character-encoding
+ CHOICE {two-octets BMPString(SIZE (1..ub-string-length)),
+ four-octets UniversalString(SIZE (1..ub-string-length))},
+ iso-639-language-code PrintableString(SIZE (2 | 5)) OPTIONAL
+}
+
+pds-name EXTENSION-ATTRIBUTE ::= {PDSName
+ IDENTIFIED BY 7
+}
+
+PDSName ::= PrintableString(SIZE (1..ub-pds-name-length))
+
+physical-delivery-country-name EXTENSION-ATTRIBUTE ::= {
+ PhysicalDeliveryCountryName
+ IDENTIFIED BY 8
+}
+
+PhysicalDeliveryCountryName ::= CHOICE {
+ x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
+ iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
+}
+
+postal-code EXTENSION-ATTRIBUTE ::= {PostalCode
+ IDENTIFIED BY 9
+}
+
+PostalCode ::= CHOICE {
+ numeric-code NumericString(SIZE (1..ub-postal-code-length)),
+ printable-code PrintableString(SIZE (1..ub-postal-code-length))
+}
+
+physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
+ PhysicalDeliveryOfficeName
+ IDENTIFIED BY 10
+}
+
+PhysicalDeliveryOfficeName ::= PDSParameter
+
+universal-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
+ UniversalPhysicalDeliveryOfficeName
+ IDENTIFIED BY 29
+}
+
+UniversalPhysicalDeliveryOfficeName ::= UniversalPDSParameter
+
+physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
+ PhysicalDeliveryOfficeNumber
+ IDENTIFIED BY 11
+}
+
+PhysicalDeliveryOfficeNumber ::= PDSParameter
+
+universal-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
+ UniversalPhysicalDeliveryOfficeNumber
+ IDENTIFIED BY 30
+}
+
+UniversalPhysicalDeliveryOfficeNumber ::= UniversalPDSParameter
+
+extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
+ ExtensionORAddressComponents
+ IDENTIFIED BY 12
+}
+
+ExtensionORAddressComponents ::= PDSParameter
+
+universal-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
+ UniversalExtensionORAddressComponents
+ IDENTIFIED BY 31
+}
+
+UniversalExtensionORAddressComponents ::= UniversalPDSParameter
+
+physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
+ PhysicalDeliveryPersonalName
+ IDENTIFIED BY 13
+}
+
+PhysicalDeliveryPersonalName ::= PDSParameter
+
+universal-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
+ UniversalPhysicalDeliveryPersonalName
+ IDENTIFIED BY 32
+}
+
+UniversalPhysicalDeliveryPersonalName ::= UniversalPDSParameter
+
+physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= {
+ PhysicalDeliveryOrganizationName
+ IDENTIFIED BY 14
+}
+
+PhysicalDeliveryOrganizationName ::= PDSParameter
+
+universal-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
+{UniversalPhysicalDeliveryOrganizationName
+ IDENTIFIED BY 33
+}
+
+UniversalPhysicalDeliveryOrganizationName ::= UniversalPDSParameter
+
+extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
+{ExtensionPhysicalDeliveryAddressComponents
+ IDENTIFIED BY 15
+}
+
+ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
+
+universal-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE
+ ::= {UniversalExtensionPhysicalDeliveryAddressComponents
+ IDENTIFIED BY 34
+}
+
+UniversalExtensionPhysicalDeliveryAddressComponents ::= UniversalPDSParameter
+
+unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
+ UnformattedPostalAddress
+ IDENTIFIED BY 16
+}
+
+UnformattedPostalAddress ::= SET {
+ printable-address
+ SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
+ PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
+ teletex-string
+ TeletexString(SIZE (1..ub-unformatted-address-length)) OPTIONAL
+}
+
+universal-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
+ UniversalUnformattedPostalAddress
+ IDENTIFIED BY 35
+}
+
+UniversalUnformattedPostalAddress ::=
+ UniversalOrBMPString{ub-unformatted-address-length}
+
+street-address EXTENSION-ATTRIBUTE ::= {StreetAddress
+ IDENTIFIED BY 17
+}
+
+StreetAddress ::= PDSParameter
+
+universal-street-address EXTENSION-ATTRIBUTE ::= {
+ UniversalStreetAddress
+ IDENTIFIED BY 36
+}
+
+UniversalStreetAddress ::= UniversalPDSParameter
+
+post-office-box-address EXTENSION-ATTRIBUTE ::= {
+ PostOfficeBoxAddress
+ IDENTIFIED BY 18
+}
+
+PostOfficeBoxAddress ::= PDSParameter
+
+universal-post-office-box-address EXTENSION-ATTRIBUTE ::= {
+ UniversalPostOfficeBoxAddress
+ IDENTIFIED BY 37
+}
+
+UniversalPostOfficeBoxAddress ::= UniversalPDSParameter
+
+poste-restante-address EXTENSION-ATTRIBUTE ::= {
+ PosteRestanteAddress
+ IDENTIFIED BY 19
+}
+
+PosteRestanteAddress ::= PDSParameter
+
+universal-poste-restante-address EXTENSION-ATTRIBUTE ::= {
+ UniversalPosteRestanteAddress
+ IDENTIFIED BY 38
+}
+
+UniversalPosteRestanteAddress ::= UniversalPDSParameter
+
+unique-postal-name EXTENSION-ATTRIBUTE ::= {UniquePostalName
+ IDENTIFIED BY 20
+}
+
+UniquePostalName ::= PDSParameter
+
+universal-unique-postal-name EXTENSION-ATTRIBUTE ::= {
+ UniversalUniquePostalName
+ IDENTIFIED BY 39
+}
+
+UniversalUniquePostalName ::= UniversalPDSParameter
+
+local-postal-attributes EXTENSION-ATTRIBUTE ::= {
+ LocalPostalAttributes
+ IDENTIFIED BY 21
+}
+
+LocalPostalAttributes ::= PDSParameter
+
+universal-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
+ UniversalLocalPostalAttributes
+ IDENTIFIED BY 40
+}
+
+UniversalLocalPostalAttributes ::= UniversalPDSParameter
+
+PDSParameter ::= SET {
+ printable-string PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
+ teletex-string TeletexString(SIZE (1..ub-pds-parameter-length)) OPTIONAL
+}
+
+UniversalPDSParameter ::= UniversalOrBMPString{ub-pds-parameter-length}
+
+extended-network-address EXTENSION-ATTRIBUTE ::= {
+ ExtendedNetworkAddress
+ IDENTIFIED BY 22
+}
+
+ExtendedNetworkAddress ::= CHOICE {
+ e163-4-address
+ SEQUENCE {number
+ [0] NumericString(SIZE (1..ub-e163-4-number-length)),
+ sub-address
+ [1] NumericString(SIZE (1..ub-e163-4-sub-address-length))
+ OPTIONAL},
+ psap-address [0] PresentationAddress
+}
+
+terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType
+ IDENTIFIED BY 23
+}
+
+TerminalType ::= INTEGER {
+ telex(3), teletex(4), g3-facsimile(5), g4-facsimile(6), ia5-terminal(7),
+ videotex(8)}(0..ub-integer-options)
+
+-- Extension Domain-defined Attributes
+teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
+ TeletexDomainDefinedAttributes
+ IDENTIFIED BY 6
+}
+
+TeletexDomainDefinedAttributes ::=
+ SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
+ TeletexDomainDefinedAttribute
+
+TeletexDomainDefinedAttribute ::= SEQUENCE {
+ type TeletexString(SIZE (1..ub-domain-defined-attribute-type-length)),
+ value TeletexString(SIZE (1..ub-domain-defined-attribute-value-length))
+}
+
+universal-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
+ UniversalDomainDefinedAttributes
+ IDENTIFIED BY 28
+}
+
+UniversalDomainDefinedAttributes ::=
+ SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
+ UniversalDomainDefinedAttribute
+
+UniversalDomainDefinedAttribute ::= SEQUENCE {
+ type UniversalOrBMPString{ub-domain-defined-attribute-type-length},
+ value UniversalOrBMPString{ub-domain-defined-attribute-value-length}
+}
+
+-- Encoded Information Types
+EncodedInformationTypes ::= [APPLICATION 5] SET {
+ built-in-encoded-information-types [0] BuiltInEncodedInformationTypes,
+ -- non-basic-parameters --COMPONENTS OF NonBasicParameters,
+ extended-encoded-information-types
+ [4] ExtendedEncodedInformationTypes OPTIONAL
+}
+
+-- Built-in Encoded Information Types
+BuiltInEncodedInformationTypes ::= BIT STRING {
+ unknown(0), telex(1), ia5-text(2), g3-facsimile(3), g4-class-1(4), teletex(5),
+ videotex(6), voice(7), sfd(8), mixed-mode(9)
+}(SIZE (0..ub-built-in-encoded-information-types))
+
+-- Extended Encoded Information Types
+ExtendedEncodedInformationTypes ::=
+ SET SIZE (1..ub-encoded-information-types) OF ExtendedEncodedInformationType
+
+ExtendedEncodedInformationType ::= OBJECT IDENTIFIER
+
+-- Non-basic Parameters
+NonBasicParameters ::= SET {
+ g3-facsimile [1] G3FacsimileNonBasicParameters DEFAULT {},
+ teletex [2] TeletexNonBasicParameters DEFAULT {}
+}
+
+G3FacsimileNonBasicParameters ::= BIT STRING {
+ two-dimensional(8), -- As defined in ITU-T Recommendation T.30
+ fine-resolution(9), --
+ unlimited-length(20), -- These bit values are chosen such that when
+ b4-length(21), -- encoded using ASN.1 Basic Encoding Rules
+ a3-width(22), -- the resulting octets have the same values
+ b4-width(23), -- as for T.30 encoding
+ t6-coding(25), --
+ uncompressed(30), -- Trailing zero bits are not significant.
+ width-middle-864-of-1728(37), -- It is recommended that implementations
+ width-middle-1216-of-1728(38), -- should not encode more than 32 bits unless
+ resolution-type(44), -- higher numbered bits are non-zero.
+ resolution-400x400(45), resolution-300x300(46), resolution-8x15(47),
+ edi(49), dtm(50), bft(51), mixed-mode(58), character-mode(60),
+ twelve-bits(65), preferred-huffmann(66), full-colour(67), jpeg(68),
+ processable-mode-26(71)}
+
+TeletexNonBasicParameters ::= SET {
+ graphic-character-sets [0] TeletexString OPTIONAL,
+ control-character-sets [1] TeletexString OPTIONAL,
+ page-formats [2] OCTET STRING OPTIONAL,
+ miscellaneous-terminal-capabilities [3] TeletexString OPTIONAL,
+ private-use
+ [4] OCTET STRING
+ OPTIONAL -- maximum ub-teletex-private-use-length octets --
+}
+
+TOKEN ::= TYPE-IDENTIFIER
+
+-- as defined in CCITT Recommendation T.62
+-- Token
+Token ::= SEQUENCE {
+ token-type-identifier [0] -- TOKEN.&id({TokensTable})-- TokenTypeIdentifier,
+ token
+ [1] --TOKEN.&Type({TokensTable}{@token-type-identifier})-- TokenTypeData
+}
+
+TokenTypeIdentifier ::= OBJECT IDENTIFIER
+TokenTypeData ::= ANY
+
+TokensTable TOKEN ::= {asymmetric-token, ...}
+
+asymmetric-token TOKEN ::= {
+ AsymmetricToken
+ IDENTIFIED BY id-tok-asymmetricToken
+}
+
+AsymmetricTokenData ::=
+-- SIGNED
+-- {--SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
+ name
+ CHOICE {recipient-name RecipientName,
+ mta
+ [3] MTANameAndOptionalGDI },
+ time Time,
+ signed-data [0] TokenData OPTIONAL,
+ encryption-algorithm-identifier
+ [1] AlgorithmIdentifier OPTIONAL,
+ encrypted-data
+ [2] --ENCRYPTED{TokenData}-- BIT STRING OPTIONAL} --}
+
+MTANameAndOptionalGDI ::= SEQUENCE {
+ global-domain-identifier GlobalDomainIdentifier OPTIONAL,
+ mta-name MTAName
+}
+
+AsymmetricToken ::= SEQUENCE {
+ asymmetric-token-data AsymmetricTokenData,
+ algorithm-identifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+
+TokenData ::= SEQUENCE {
+ type [0] -- TOKEN-DATA.&id({TokenDataTable})-- TokenDataType,
+ value [1] TOKEN-DATA.&Type({TokenDataTable}{@type})
+}
+
+TokenDataType ::= INTEGER {
+ bind-token-signed-data (1),
+ message-token-signed-data (2),
+ message-token-encrypted-data (3),
+ bind-token-encrypted-data(4)
+}
+
+TOKEN-DATA ::= CLASS {&id INTEGER UNIQUE,
+ &Type
+}WITH SYNTAX {&Type
+ IDENTIFIED BY &id
+}
+
+TokenDataTable TOKEN-DATA ::=
+ {bind-token-signed-data | message-token-signed-data |
+ message-token-encrypted-data | bind-token-encrypted-data, ...}
+
+bind-token-signed-data TOKEN-DATA ::= {BindTokenSignedData
+ IDENTIFIED BY 1
+}
+
+BindTokenSignedData ::= RandomNumber
+
+RandomNumber ::= BIT STRING
+
+message-token-signed-data TOKEN-DATA ::= {
+ MessageTokenSignedData
+ IDENTIFIED BY 2
+}
+
+MessageTokenSignedData ::= SEQUENCE {
+ content-confidentiality-algorithm-identifier
+ [0] ContentConfidentialityAlgorithmIdentifier OPTIONAL,
+ content-integrity-check
+ [1] ContentIntegrityCheck OPTIONAL,
+ message-security-label
+ [2] MessageSecurityLabel OPTIONAL,
+ proof-of-delivery-request
+ [3] ProofOfDeliveryRequest OPTIONAL,
+ message-sequence-number [4] INTEGER OPTIONAL
+}
+
+message-token-encrypted-data TOKEN-DATA ::= {
+ MessageTokenEncryptedData
+ IDENTIFIED BY 3
+}
+
+MessageTokenEncryptedData ::= SEQUENCE {
+ content-confidentiality-key [0] EncryptionKey OPTIONAL,
+ content-integrity-check [1] ContentIntegrityCheck OPTIONAL,
+ message-security-label [2] MessageSecurityLabel OPTIONAL,
+ content-integrity-key [3] EncryptionKey OPTIONAL,
+ message-sequence-number [4] INTEGER OPTIONAL
+}
+
+EncryptionKey ::= BIT STRING
+
+bind-token-encrypted-data TOKEN-DATA ::= {
+ BindTokenEncryptedData
+ IDENTIFIED BY 4
+}
+
+BindTokenEncryptedData ::= EXTERNAL
+
+-- Security Label
+SecurityLabel ::= SET {
+ security-policy-identifier SecurityPolicyIdentifier OPTIONAL,
+ security-classification SecurityClassification OPTIONAL,
+ privacy-mark PrivacyMark OPTIONAL,
+ security-categories SecurityCategories OPTIONAL
+}
+
+SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
+
+SecurityClassification ::= INTEGER {
+ unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
+ top-secret(5)}(0..ub-integer-options)
+
+PrivacyMark ::= PrintableString(SIZE (1..ub-privacy-mark-length))
+
+SecurityCategories ::= SET SIZE (1..ub-security-categories) OF SecurityCategory
+
+SECURITY-CATEGORY ::= TYPE-IDENTIFIER
+
+SecurityCategory ::= SEQUENCE {
+ type [0] --SECURITY-CATEGORY.&id({SecurityCategoriesTable})-- SecurityCategoryIdentifier,
+ value [1] --SECURITY-CATEGORY.&Type({SecurityCategoriesTable}{@type})-- SecurityCategoryValue
+}
+
+SecurityCategoryIdentifier ::= OBJECT IDENTIFIER
+SecurityCategoryValue ::= ANY
+
+
+SecurityCategoriesTable SECURITY-CATEGORY ::=
+ {...}
+
+END -- of MTSAbstractService
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p1/MTSAccessProtocol.asn b/epan/dissectors/asn1/p1/MTSAccessProtocol.asn
new file mode 100644
index 00000000..d4ee6b80
--- /dev/null
+++ b/epan/dissectors/asn1/p1/MTSAccessProtocol.asn
@@ -0,0 +1,321 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x411/1999/index.html
+-- Module MTSAccessProtocol (X.419:06/1999)
+MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
+ mts-access-protocol(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+IMPORTS
+ -- MTS Abstract Service
+ administration, delivery, mts-access-contract, mts-connect,
+ mts-forced-access-contract, submission
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- MTS Abstract Service (1988)
+ administration-88, delivery-88, mts-access-contract-88,
+ mts-forced-access-contract-88
+ --==
+ FROM MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1988(1988)}
+ -- Remote Operations
+ APPLICATION-CONTEXT
+ --==
+ FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
+ remote-operations(4) informationObjects-extensions(8) version1(0)}
+ Code
+ --==
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ -- Bind{} ,-- InvokeId --, Unbind{} --
+ --==
+ FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
+ remote-operations(4) generic-ROS-PDUs(6) version1(0)}
+-- ROS-SingleAS{}
+ --==
+-- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
+-- remote-operations(4) useful-definitions(7) version1(0)}
+ acse, association-by-RTSE, pData, transfer-by-RTSE
+ --==
+ FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
+ realizations(9) version1(0)}
+ acse-abstract-syntax
+ --==
+ FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
+ remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
+ -- Reliable Transfer
+ RTORQapdu, RTOACapdu, RTORJapdu
+ FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
+ -- Object Identifiers
+ id-ac-mts-access-88, id-ac-mts-access-94, id-ac-mts-forced-access-88,
+ id-ac-mts-forced-access-94, id-ac-mts-forced-reliable-access-88,
+ id-ac-mts-forced-reliable-access-94, id-ac-mts-reliable-access-88,
+ id-ac-mts-reliable-access-94, id-as-mase-88, id-as-mase-94, id-as-mdse-88,
+ id-as-mdse-94, id-as-msse, id-as-mts, id-as-mts-rtse
+ --==
+ FROM MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0)
+ modules(0) object-identifiers(0) version-1994(0)};
+
+RTSE-apdus ::= CHOICE {
+ rtorq-apdu [16] IMPLICIT RTORQapdu,
+ rtoac-apdu [17] IMPLICIT RTOACapdu,
+ rtorj-apdu [18] IMPLICIT RTORJapdu,
+ rttp-apdu RTTPapdu,
+ rttr-apdu RTTRapdu,
+ rtab-apdu [22] IMPLICIT RTABapdu
+}
+
+RTTPapdu ::= -- priority-- INTEGER
+
+RTTRapdu ::= OCTET STRING
+
+RTABapdu ::= SET {
+ abortReason [0] IMPLICIT AbortReason OPTIONAL,
+ reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
+ -- 8 bits maximum, only if abortReason is invalidParameter
+ userdataAB
+ [2] --TYPE-IDENTIFIER.&Type-- OBJECT IDENTIFIER
+ OPTIONAL -- only in normal mode and if abortReason--
+ -- is userError
+}
+
+AbortReason ::= INTEGER {
+ localSystemProblem(0),
+ invalidParameter(1), -- reflectedParameter supplied
+ unrecognizedActivity(2),
+ temporaryProblem(3),
+ -- the RTSE cannot accept a session for a period of time
+ protocolError(4), -- RTSE level protocol error
+ permanentProblem(5), --provider-abort solely in normal mode
+ userError(6), -- user-abort solely in normal mode
+ transferCompleted(7) -- activity can't be discarded--}
+
+-- APPLICATION CONTEXTS
+-- 1994 Application Contexts omitting RTSE
+-- MTS-user initiated
+mts-access-94 APPLICATION-CONTEXT ::= {
+ CONTRACT mts-access-contract
+ ESTABLISHED BY acse
+ INFORMATION TRANSFER BY pData
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-delivery-abstract-syntax |
+ message-administration-abstract-syntax-94 |
+ mts-bind-unbind-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-mts-access-94
+}
+
+-- MTS initiated
+mts-forced-access-94 APPLICATION-CONTEXT ::= {
+ CONTRACT mts-forced-access-contract
+ ESTABLISHED BY acse
+ INFORMATION TRANSFER BY pData
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-delivery-abstract-syntax |
+ message-administration-abstract-syntax-94 |
+ mts-bind-unbind-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-mts-forced-access-94
+}
+
+-- 1994 Application Contexts including RTSE in normal mode
+-- MTS-user initiated
+mts-reliable-access-94 APPLICATION-CONTEXT ::= {
+ CONTRACT mts-access-contract
+ ESTABLISHED BY association-by-RTSE
+ INFORMATION TRANSFER BY transfer-by-RTSE
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-delivery-abstract-syntax |
+ message-administration-abstract-syntax-94 |
+ mts-bind-unbind-rtse-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-mts-reliable-access-94
+}
+
+-- MTS initiated
+mts-forced-reliable-access-94 APPLICATION-CONTEXT ::= {
+ CONTRACT mts-forced-access-contract
+ ESTABLISHED BY association-by-RTSE
+ INFORMATION TRANSFER BY transfer-by-RTSE
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-delivery-abstract-syntax |
+ message-administration-abstract-syntax-94 |
+ mts-bind-unbind-rtse-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-mts-forced-reliable-access-94
+}
+
+-- 1988 Application Contexts omitting RTSE
+-- MTS-user initiated
+mts-access-88 APPLICATION-CONTEXT ::= {
+ CONTRACT mts-access-contract-88
+ ESTABLISHED BY acse
+ INFORMATION TRANSFER BY pData
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-delivery-abstract-syntax-88 |
+ message-administration-abstract-syntax-88 |
+ mts-bind-unbind-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-mts-access-88
+}
+
+-- MTS initiated
+mts-forced-access-88 APPLICATION-CONTEXT ::= {
+ CONTRACT mts-forced-access-contract-88
+ ESTABLISHED BY acse
+ INFORMATION TRANSFER BY pData
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-delivery-abstract-syntax-88 |
+ message-administration-abstract-syntax-88 |
+ mts-bind-unbind-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-mts-forced-access-88
+}
+
+-- 1988 Application Contexts including RTSE in normal mode
+-- MTS-user initiated
+mts-reliable-access-88 APPLICATION-CONTEXT ::= {
+ CONTRACT mts-access-contract-88
+ ESTABLISHED BY association-by-RTSE
+ INFORMATION TRANSFER BY transfer-by-RTSE
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-delivery-abstract-syntax-88 |
+ message-administration-abstract-syntax-88 |
+ mts-bind-unbind-rtse-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-mts-reliable-access-88
+}
+
+-- MTS initiated
+mts-forced-reliable-access-88 APPLICATION-CONTEXT ::= {
+ CONTRACT mts-forced-access-contract-88
+ ESTABLISHED BY association-by-RTSE
+ INFORMATION TRANSFER BY transfer-by-RTSE
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-delivery-abstract-syntax-88 |
+ message-administration-abstract-syntax-88 |
+ mts-bind-unbind-rtse-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-mts-forced-reliable-access-88
+}
+
+-- ABSTRACT-SYNTAXES
+-- Abstract Syntax for MTS-Bind and MTS-Unbind
+mts-bind-unbind-abstract-syntax ABSTRACT-SYNTAX ::= {
+ MTSBindUnbindPDUs
+ IDENTIFIED BY id-as-mts
+}
+
+--MTSBindUnbindPDUs ::= CHOICE {
+-- bind Bind{mts-connect.&bind},
+-- unbind Unbind{mts-connect.&unbind}
+--}
+
+-- Abstract Syntax for MTS-Bind and MTS-Unbind with RTSE
+mts-bind-unbind-rtse-abstract-syntax ABSTRACT-SYNTAX ::= {
+ RTSE-apdus -- With MTS Bind and MTS Unbind --
+ IDENTIFIED BY id-as-mts-rtse
+}
+
+-- Abstract Syntax for Message Submission Service Element
+message-submission-abstract-syntax ABSTRACT-SYNTAX ::= {
+ MessageSubmissionPDUs
+ IDENTIFIED BY id-as-msse
+}
+
+--MessageSubmissionPDUs ::= ROS-SingleAS{{MTSInvokeIds}, submission}
+
+MTSInvokeIds ::= InvokeId -- (ALL EXCEPT absent:NULL)
+
+-- Remote Operations
+op-message-submission Code ::= local:3
+
+op-probe-submission Code ::= local:4
+
+op-cancel-deferred-delivery Code ::= local:7
+
+op-submission-control Code ::= local:2
+
+-- Remote Errors
+err-submission-control-violated Code ::= local:1
+
+err-element-of-service-not-subscribed Code ::= local:4
+
+err-deferred-delivery-cancellation-rejected Code ::= local:8
+
+err-originator-invalid Code ::= local:2
+
+err-recipient-improperly-specified Code ::= local:3
+
+err-message-submission-identifier-invalid Code ::= local:7
+
+err-inconsistent-request Code ::= local:11
+
+err-security-error Code ::= local:12
+
+err-unsupported-critical-function Code ::= local:13
+
+err-remote-bind-error Code ::= local:15
+
+-- Abstract Syntax for Message Delivery Service Element 1994
+message-delivery-abstract-syntax ABSTRACT-SYNTAX ::= {
+ MessageDeliveryPDUs
+ IDENTIFIED BY id-as-mdse-94
+}
+
+--MessageDeliveryPDUs ::= ROS-SingleAS{{MTSInvokeIds}, delivery}
+
+-- Abstract Syntax for Message Delivery Service Element 1988
+message-delivery-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
+ MessageDeliveryPDUs88
+ IDENTIFIED BY id-as-mdse-88
+}
+
+--MessageDeliveryPDUs88 ::= ROS-SingleAS{{MTSInvokeIds}, delivery-88}
+
+-- Remote Operations
+op-message-delivery Code ::= local:5
+
+op-report-delivery Code ::= local:6
+
+op-delivery-control Code ::= local:2
+
+-- Remote Errors
+err-delivery-control-violated Code ::= local:1
+
+err-control-violates-registration Code ::= local:14
+
+err-operation-refused Code ::= local:16
+
+-- Abstract Syntax for Message Administration Service Element 1994
+message-administration-abstract-syntax-94 ABSTRACT-SYNTAX ::= {
+ MessageAdministrationPDUs
+ IDENTIFIED BY id-as-mase-94
+}
+
+--MessageAdministrationPDUs ::= ROS-SingleAS{{MTSInvokeIds}, administration}
+
+-- Abstract Syntax for Message Administration Service Element 1988
+message-administration-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
+ MessageAdministrationPDUs88
+ IDENTIFIED BY id-as-mase-88
+}
+
+--MessageAdministrationPDUs88 ::= ROS-SingleAS{{MTSInvokeIds}, administration-88}
+
+-- Remote Operations
+op-register Code ::= local:1
+
+op-change-credentials Code ::= local:8
+
+-- Remote Errors
+err-register-rejected Code ::= local:10
+
+err-new-credentials-unacceptable Code ::= local:6
+
+err-old-credentials-incorrectly-specified Code ::= local:5
+
+END -- of MTSAccessProtocol
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p1/MTSUpperBounds.asn b/epan/dissectors/asn1/p1/MTSUpperBounds.asn
new file mode 100644
index 00000000..4c42a1d6
--- /dev/null
+++ b/epan/dissectors/asn1/p1/MTSUpperBounds.asn
@@ -0,0 +1,150 @@
+-- Module MTSUpperBounds (X.411:06/1999)
+-- See also ITU-T X.411 (06/1999)
+-- See also the index of all ASN.1 assignments needed in this document
+
+MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0) upper-bounds(3)
+ version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything
+IMPORTS -- nothing -- ;
+
+-- Upper Bounds
+ub-additional-info INTEGER ::= 1024
+
+ub-bilateral-info INTEGER ::= 1024
+
+ub-bit-options INTEGER ::= 16
+
+ub-built-in-content-type INTEGER ::= 32767
+
+ub-built-in-encoded-information-types INTEGER ::= 32
+
+ub-certificates INTEGER ::= 64
+
+ub-common-name-length INTEGER ::= 64
+
+ub-content-correlator-length INTEGER ::= 512
+
+ub-content-id-length INTEGER ::= 16
+
+ub-content-length INTEGER ::= 2147483647 -- the largest integer in 32 bits
+
+ub-content-types INTEGER ::= 1024
+
+ub-country-name-alpha-length INTEGER ::= 2
+
+ub-country-name-numeric-length INTEGER ::= 3
+
+ub-diagnostic-codes INTEGER ::= 32767
+
+ub-deliverable-class INTEGER ::= 256
+
+ub-dl-expansions INTEGER ::= 512
+
+ub-domain-defined-attributes INTEGER ::= 4
+
+ub-domain-defined-attribute-type-length INTEGER ::= 8
+
+ub-domain-defined-attribute-value-length INTEGER ::= 128
+
+ub-domain-name-length INTEGER ::= 16
+
+ub-encoded-information-types INTEGER ::= 1024
+
+ub-extension-attributes INTEGER ::= 256
+
+ub-extension-types INTEGER ::= 256
+
+ub-e163-4-number-length INTEGER ::= 15
+
+ub-e163-4-sub-address-length INTEGER ::= 40
+
+ub-generation-qualifier-length INTEGER ::= 3
+
+ub-given-name-length INTEGER ::= 16
+
+ub-initials-length INTEGER ::= 5
+
+ub-integer-options INTEGER ::= 256
+
+ub-labels-and-redirections INTEGER ::= 256
+
+ub-local-id-length INTEGER ::= 32
+
+ub-mta-name-length INTEGER ::= 32
+
+ub-mts-user-types INTEGER ::= 256
+
+ub-numeric-user-id-length INTEGER ::= 32
+
+ub-organization-name-length INTEGER ::= 64
+
+ub-organizational-unit-name-length INTEGER ::= 32
+
+ub-organizational-units INTEGER ::= 4
+
+ub-orig-and-dl-expansions INTEGER ::= 513 -- ub-dl-expansions plus one
+
+ub-password-length INTEGER ::= 62
+
+ub-pds-name-length INTEGER ::= 16
+
+ub-pds-parameter-length INTEGER ::= 30
+
+ub-pds-physical-address-lines INTEGER ::= 6
+
+ub-postal-code-length INTEGER ::= 16
+
+ub-privacy-mark-length INTEGER ::= 128
+
+ub-queue-size INTEGER ::= 2147483647 -- the largest integer in 32 bits
+
+ub-reason-codes INTEGER ::= 32767
+
+ub-recipient-number-for-advice-length INTEGER ::= 32
+
+ub-recipients INTEGER ::= 32767
+
+ub-redirection-classes INTEGER ::= 256
+
+ub-redirections INTEGER ::= 512
+
+ub-restrictions INTEGER ::= 1024
+
+ub-security-categories INTEGER ::= 64
+
+ub-security-labels INTEGER ::= 256
+
+ub-security-problems INTEGER ::= 256
+
+ub-string-length INTEGER ::= 2147483647 -- TODO: find the correct value
+
+ub-supplementary-info-length INTEGER ::= 256
+
+ub-surname-length INTEGER ::= 40
+
+ub-teletex-private-use-length INTEGER ::= 128
+
+ub-terminal-id-length INTEGER ::= 24
+
+ub-transfers INTEGER ::= 512
+
+ub-tsap-id-length INTEGER ::= 16
+
+ub-unformatted-address-length INTEGER ::= 180
+
+ub-universal-generation-qualifier-length INTEGER ::= 16
+
+ub-universal-given-name-length INTEGER ::= 40
+
+ub-universal-initials-length INTEGER ::= 16
+
+ub-universal-surname-length INTEGER ::= 64
+
+ub-x121-address-length INTEGER ::= 16
+
+END -- of MTSUpperBounds
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/p1/p1.cnf b/epan/dissectors/asn1/p1/p1.cnf
new file mode 100644
index 00000000..bed9cab2
--- /dev/null
+++ b/epan/dissectors/asn1/p1/p1.cnf
@@ -0,0 +1,1291 @@
+# p1.cnf
+# X.411 (MTA Access and Transfer) conformance file
+
+#.TYPE_ATTR
+CountryName TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(p1_CountryName_U_vals) BITMASK = 0
+Time TYPE = FT_STRING DISPLAY = BASE_NONE STRING = NULL BITMASK = 0
+
+#.IMPORT ../x509ce/x509ce-exp.cnf
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509sat/x509sat-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../ros/ros-exp.cnf
+#.IMPORT ../rtse/rtse-exp.cnf
+
+#.OMIT_ASSIGNMENT
+# These gives unused code warnings
+MTAOriginatorRequestedAlternateRecipient
+
+#The following are only referenced through the SIGNATURE MACRO
+#and so have no representation on the wire.
+ProofOfDeliveryAlgorithmIdentifier
+ContentIntegrityAlgorithmIdentifier
+MessageOriginAuthenticationAlgorithmIdentifier
+ProbeOriginAuthenticationAlgorithmIdentifier
+ReportOriginAuthenticationAlgorithmIdentifier
+ProofOfSubmissionAlgorithmIdentifier
+
+BilateralDomain
+DeliveryControls
+RTSE-apdus
+MTSInvokeIds
+ID
+RTTPapdu
+RTTRapdu
+RTABapdu
+AbortReason
+#.END
+
+#.OMIT_ASSIGNMENT
+PerRecipientReportFields
+#PerRecipientReportFields/report-type
+
+#.NO_EMIT
+# These fields are only used through COMPONENTS OF,
+# and consequently generate unused code warnings
+PerMessageTransferFields
+PerProbeTransferFields
+PerReportTransferFields
+PerMessageSubmissionFields
+PerProbeSubmissionFields
+PerReportDeliveryFields
+PerRecipientDeliveryReportFields
+PerRecipientNonDeliveryReportFields
+
+InternalAdditionalActions
+AdditionalActions
+NonBasicParameters
+#.END
+
+#.EXPORTS
+EXTENSION
+Content
+ContentIdentifier
+ContentIntegrityCheck
+ContentLength
+ContentType
+Credentials
+EncodedInformationTypes
+EncodedInformationTypesConstraints
+ExtendedCertificates
+ExtendedContentType
+ExtensionField
+G3FacsimileNonBasicParameters
+ImproperlySpecifiedRecipients
+InitiatorCredentials
+MessageDeliveryIdentifier
+MessageDeliveryTime
+MessageOriginAuthenticationCheck
+MessageSecurityLabel
+MessageSecurityLabel_PDU
+MessageSubmissionEnvelope
+MessageSubmissionIdentifier
+MessageSubmissionTime
+MessageToken
+ORAddress
+ORAddressAndOrDirectoryName
+OriginatorName
+ORName
+OriginalEncodedInformationTypes
+OriginatingMTACertificate
+OtherMessageDeliveryFields
+PerMessageIndicators
+PerRecipientProbeSubmissionFields
+ProbeSubmissionEnvelope
+ProbeSubmissionIdentifier
+ProbeSubmissionTime
+ProofOfSubmission
+RequestedDeliveryMethod
+ResponderCredentials
+SecurityContext
+SecurityLabel
+SecurityProblem
+SupplementaryInformation
+TeletexNonBasicParameters
+UniversalOrBMPString
+NonDeliveryReasonCode
+NonDeliveryDiagnosticCode
+
+#.SYNTAX
+ORAddress
+ORName
+
+# Forward declaration of Classes
+# CONNECTION-PACKAGE CONTRACT from ROS
+#.CLASS CONNECTION-PACKAGE
+&bind ClassReference OPERATION
+&unbind ClassReference OPERATION
+&responderCanUnbind BooleanType
+&unbindCanFail BooleanType
+&id ObjectIdentifierType
+#.END
+
+#.CLASS APPLICATION-CONTEXT
+&associationContract ClassReference CONTRACT
+&associationRealization
+&transferRealization
+&AbstractSyntaxes ClassReference ABSTRACT-SYNTAX
+&applicationContextName ObjectIdentifierType
+#.END
+
+
+#.CLASS CONTRACT
+&connection ClassReference CONNECTION-PACKAGE
+&OperationsOf ClassReference OPERATION-PACKAGE
+&InitiatorConsumerOf ClassReference OPERATION-PACKAGE
+&InitiatorSupplierOf ClassReference OPERATION-PACKAGE
+&id ObjectIdentifierType
+#.END
+
+#.CLASS MHS-OBJECT
+&Is ClassReference MHS-OBJECT
+&Initiates ClassReference CONTRACT
+&Responds ClassReference CONTRACT
+&InitiatesAndResponds ClassReference CONTRACT
+&id ObjectIdentifierType
+#.END
+
+# Ros OPERATION
+#.CLASS ABSTRACT-OPERATION
+&ArgumentType
+&argumentTypeOptional BooleanType
+&returnResult BooleanType
+&ResultType
+&resultTypeOptional BooleanType
+&Errors ClassReference ERROR
+&Linked ClassReference OPERATION
+&synchronous BooleanType
+&alwaysReturns BooleanType
+&InvokePriority _FixedTypeValueSetFieldSpec
+&ResultPriority _FixedTypeValueSetFieldSpec
+&operationCode TypeReference Code
+#.END
+
+# ros ERROR
+#.CLASS ABSTRACT-ERROR
+&ParameterType
+&parameterTypeOptional BooleanType
+&ErrorPriority _FixedTypeValueSetFieldSpec
+&errorCode TypeReference Code
+#.END
+
+#.CLASS EXTENSION
+&id TypeReference ExtensionType
+&Type
+&absent _VariableTypeValueSetFieldSpec
+&recommended TypeReference Criticality
+#.END
+
+#.CLASS EXTENSION-ATTRIBUTE
+&id IntegerType
+&Type
+#.END
+
+#.CLASS TOKEN-DATA
+&id IntegerType
+&Type
+#.END
+
+
+#.TYPE_RENAME
+MTABindArgument/authenticated AuthenticatedArgument
+MTABindResult/authenticated AuthenticatedResult
+
+ExtensionField/value ExtensionValue
+SecurityCategory/value CategoryValue
+
+#.FIELD_RENAME
+PrivateDomainName/printable printable-private-domain-name
+PrivateDomainName/numeric numeric-private-domain-name
+PrivateDomainIdentifier/printable printable-private-domain-identifier
+PrivateDomainIdentifier/numeric numeric-private-domain-identifier
+
+TeletexPersonalName/surname teletex-surname
+PersonalName/surname printable-surname
+UniversalPersonalName/surname universal-surname
+
+TeletexPersonalName/given-name teletex-given-name
+PersonalName/given-name printable-given-name
+UniversalPersonalName/given-name universal-given-name
+
+TeletexPersonalName/initials teletex-initials
+PersonalName/initials printable-initials
+UniversalPersonalName/initials universal-initials
+
+TeletexPersonalName/generation-qualifier teletex-generation-qualifier
+PersonalName/generation-qualifier printable-generation-qualifier
+UniversalPersonalName/generation-qualifier universal-generation-qualifier
+
+BuiltInDomainDefinedAttribute/type printable-type
+UniversalDomainDefinedAttribute/type universal-type
+SecurityCategory/type category-type
+ExtensionField/type extension-type
+
+TeletexDomainDefinedAttribute/value teletex-value
+BuiltInDomainDefinedAttribute/value printable-value
+UniversalDomainDefinedAttribute/value universal-value
+SecurityCategory/value category-value
+ExtensionField/value extension-value
+
+LastTraceInformation/report-type trace-report-type
+PerRecipientReportDeliveryFields/report-type delivery-report-type
+#PerRecipientReportFields/report-type/delivery report-type-delivery
+
+PerRecipientMessageSubmissionFields/recipient-name submission-recipient-name
+PerRecipientProbeSubmissionFields/recipient-name probe-recipient-name
+
+PerRecipientReportTransferFields/actual-recipient-name mta-actual-recipient-name
+
+MessageClass/priority class-priority
+DeliveryQueue/octets delivery-queue-octets
+#PerRecipientReportFields/report-type/non-delivery non-delivery-report
+
+MTABindResult/authenticated authenticated-result
+MTABindArgument/authenticated authenticated-argument
+
+MTABindResult/authenticated/responder-name authenticated-responder-name
+MTABindArgument/authenticated/initiator-name authenticated-initiator-name
+
+RegistrationTypes/extensions type-extensions
+RegistrationTypes/extensions/_item type-extensions-item
+
+MessageSubmissionArgument/envelope message-submission-envelope
+
+OtherMessageDeliveryFields/content-type delivered-content-type
+Report/content report-content
+
+ReportDeliveryResult/extensions max-extensions
+
+OtherMessageDeliveryFields/originator-name delivered-originator-name
+
+PDSParameter/teletex-string pds-teletex-string
+
+PerDomainBilateralInformation/domain bilateral-domain
+
+Report/envelope report-envelope
+Message/envelope message-envelope
+
+PerRecipientReportTransferFields/originally-intended-recipient-name report-originally-intended-recipient-name
+
+MessageSubmissionEnvelope/originator-name mts-originator-name
+ProbeSubmissionEnvelope/originator-name mts-originator-name
+
+MessageTransferEnvelope/originator-name mta-originator-name
+ProbeTransferEnvelope/originator-name mta-originator-name
+
+MessageSubmissionEnvelope/per-recipient-fields per-recipient-message-submission-fields
+ProbeTransferEnvelope/per-recipient-fields per-recipient-probe-transfer-fields
+ProbeSubmissionEnvelope/per-recipient-fields per-recipient-probe-submission-fields
+ReportDeliveryArgument/per-recipient-fields per-recipient-report-delivery-fields
+ReportDeliveryEnvelope/per-recipient-fields per-recipient-report-delivery-fields
+
+MessageSubmissionEnvelope/per-recipient-fields/_item per-recipient-message-submission-fields-item
+ProbeTransferEnvelope/per-recipient-fields/_item per-recipient-probe-transfer-fields-item
+ProbeSubmissionEnvelope/per-recipient-fields/_item per-recipient-probe-submission-fields-item
+ReportDeliveryArgument/per-recipient-fields/_item per-recipient-report-delivery-fields-item
+ReportDeliveryEnvelope/per-recipient-fields/_item per-recipient-report-delivery-fields-item
+
+MessageTransferEnvelope/per-recipient-fields/_item per-recipient-message-fields-item
+
+MessageTransferEnvelope/per-recipient-fields per-recipient-message-fields
+ReportTransferContent/per-recipient-fields per-recipient-report-fields
+
+AsymmetricTokenData/name/mta token-mta
+AsymmetricTokenData/name/recipient-name token-recipient-name
+
+TokenData/type token-data-type
+CertificateSelectors/content-integrity-check selectors-content-integrity-check
+PerMessageTransferFields/originator-name perMessageTransferFields_originator-name
+PerProbeTransferFields/originator-name perProbeTransferFields_originator-name
+PerMessageSubmissionFields/originator-name perMessageSubmissionFields_originator-name
+PerProbeSubmissionFields/originator-name perProbeSubmissionFields_originator-name
+
+#.FIELD_ATTR
+PerMessageTransferFields/originator-name ABBREV=perMessageTransferFields.originator-name
+PerProbeTransferFields/originator-name ABBREV=perProbeTransferFields.originator-name
+PerMessageSubmissionFields/originator-name ABBREV=perMessageSubmissionFields.originator-name
+PerProbeSubmissionFields/originator-name ABBREV=perProbeSubmissionFields.originator-name
+MTABindArgument/authenticated/initiator-name ABBREV=authenticated.initiator-name
+MTABindResult/authenticated/responder-name ABBREV=authenticated.responder-name
+DeliveryQueue/octets ABBREV=delivery-queue.octets
+BuiltInDomainDefinedAttribute/type ABBREV=printable.type
+UniversalDomainDefinedAttribute/type ABBREV=universal.type
+SecurityCategory/type ABBREV=category.type
+ExtensionField/type ABBREV=extension.type
+TokenData/type ABBREV=token-data-type
+
+# This table creates the value_sting to name P3 operation codes and errors
+# in file packet-p3-table.c which is included in the template file
+#
+#.TABLE_HDR
+/* P3 ABSTRACT-OPERATIONS */
+const value_string p3_opr_code_string_vals[] = {
+#.TABLE_BODY OPERATION
+ { %(&operationCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+#.TABLE_HDR
+/* P3 ERRORS */
+static const value_string p3_err_code_string_vals[] = {
+#.TABLE_BODY ERROR
+ { %(&errorCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+# Create a table of opcode and corresponding args and res
+#.TABLE11_HDR
+static const ros_opr_t p3_opr_tab[] = {
+#.TABLE11_BODY OPERATION
+ /* %(_name)s */
+ { %(&operationCode)-25s, %(_argument_pdu)s, %(_result_pdu)s },
+#.TABLE11_FTR
+ { 0, (dissector_t)(-1), (dissector_t)(-1) },
+};
+#.END
+
+#.TABLE21_HDR
+static const ros_err_t p3_err_tab[] = {
+#.TABLE21_BODY ERROR
+ /* %(_name)s*/
+ { %(&errorCode)s, %(_parameter_pdu)s },
+#.TABLE21_FTR
+ { 0, (dissector_t)(-1) },
+};
+#.END
+
+#.PDU
+ERROR.&ParameterType
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+#.END
+
+
+#.REGISTER
+RecipientReassignmentProhibited N p1.extension 1
+OriginatorRequestedAlternateRecipient N p1.extension 2
+DLExpansionProhibited N p1.extension 3
+ConversionWithLossProhibited N p1.extension 4
+LatestDeliveryTime N p1.extension 5
+RequestedDeliveryMethod N p1.extension 6
+PhysicalForwardingProhibited N p1.extension 7
+PhysicalForwardingAddressRequest N p1.extension 8
+PhysicalDeliveryModes N p1.extension 9
+RegisteredMailType N p1.extension 10
+RecipientNumberForAdvice N p1.extension 11
+PhysicalRenditionAttributes N p1.extension 12
+OriginatorReturnAddress N p1.extension 13
+PhysicalDeliveryReportRequest N p1.extension 14
+OriginatorCertificate N p1.extension 15
+MessageToken N p1.extension 16
+ContentConfidentialityAlgorithmIdentifier N p1.extension 17
+ContentIntegrityCheck N p1.extension 18
+MessageOriginAuthenticationCheck N p1.extension 19
+MessageSecurityLabel N p1.extension 20
+ProofOfSubmissionRequest N p1.extension 21
+ProofOfDeliveryRequest N p1.extension 22
+ContentCorrelator N p1.extension 23
+ProbeOriginAuthenticationCheck N p1.extension 24
+RedirectionHistory N p1.extension 25
+DLExpansionHistory N p1.extension 26
+PhysicalForwardingAddress N p1.extension 27
+RecipientCertificate N p1.extension 28
+ProofOfDelivery N p1.extension 29
+OriginatorAndDLExpansionHistory N p1.extension 30
+ReportingDLName N p1.extension 31
+ReportingMTACertificate N p1.extension 32
+ReportOriginAuthenticationCheck N p1.extension 33
+OriginatingMTACertificate N p1.extension 34
+ProofOfSubmission N p1.extension 35
+
+TraceInformation N p1.extension 37
+InternalTraceInformation N p1.extension 38
+ReportingMTAName N p1.extension 39
+ExtendedCertificates N p1.extension 40
+
+DLExemptedRecipients N p1.extension 42
+
+CertificateSelectors N p1.extension 45
+
+CommonName N p1.extension-attribute 1
+TeletexCommonName N p1.extension-attribute 2
+TeletexOrganizationName N p1.extension-attribute 3
+TeletexPersonalName N p1.extension-attribute 4
+TeletexOrganizationalUnitNames N p1.extension-attribute 5
+TeletexDomainDefinedAttributes N p1.extension-attribute 6
+PDSName N p1.extension-attribute 7
+PhysicalDeliveryCountryName N p1.extension-attribute 8
+PostalCode N p1.extension-attribute 9
+PhysicalDeliveryOfficeName N p1.extension-attribute 10
+PhysicalDeliveryOfficeNumber N p1.extension-attribute 11
+ExtensionORAddressComponents N p1.extension-attribute 12
+PhysicalDeliveryPersonalName N p1.extension-attribute 13
+PhysicalDeliveryOrganizationName N p1.extension-attribute 14
+ExtensionPhysicalDeliveryAddressComponents N p1.extension-attribute 15
+UnformattedPostalAddress N p1.extension-attribute 16
+StreetAddress N p1.extension-attribute 17
+PostOfficeBoxAddress N p1.extension-attribute 18
+PosteRestanteAddress N p1.extension-attribute 19
+UniquePostalName N p1.extension-attribute 20
+LocalPostalAttributes N p1.extension-attribute 21
+ExtendedNetworkAddress N p1.extension-attribute 22
+TerminalType N p1.extension-attribute 23
+UniversalCommonName N p1.extension-attribute 24
+UniversalOrganizationName N p1.extension-attribute 25
+UniversalPersonalName N p1.extension-attribute 26
+UniversalOrganizationalUnitNames N p1.extension-attribute 27
+UniversalDomainDefinedAttributes N p1.extension-attribute 28
+UniversalPhysicalDeliveryOfficeName N p1.extension-attribute 29
+UniversalPhysicalDeliveryOfficeNumber N p1.extension-attribute 30
+UniversalExtensionORAddressComponents N p1.extension-attribute 31
+UniversalPhysicalDeliveryPersonalName N p1.extension-attribute 32
+UniversalPhysicalDeliveryOrganizationName N p1.extension-attribute 33
+UniversalExtensionPhysicalDeliveryAddressComponents N p1.extension-attribute 34
+UniversalUnformattedPostalAddress N p1.extension-attribute 35
+UniversalStreetAddress N p1.extension-attribute 36
+UniversalPostOfficeBoxAddress N p1.extension-attribute 37
+UniversalPosteRestanteAddress N p1.extension-attribute 38
+UniversalUniquePostalName N p1.extension-attribute 39
+UniversalLocalPostalAttributes N p1.extension-attribute 40
+
+#ReportDeliveryArgument B "2.6.1.4.14" "id-et-report"
+
+AsymmetricToken B "2.6.3.6.0" "id-tok-asymmetricToken"
+MTANameAndOptionalGDI B "2.6.5.6.0" "id-on-mtaName"
+
+BindTokenSignedData N p1.tokendata 1
+MessageTokenSignedData N p1.tokendata 2
+# the next two are unlikely to ever be seen (unless in a bad encoding)
+MessageTokenEncryptedData N p1.tokendata 3
+BindTokenEncryptedData N p1.tokendata 4
+
+# X402 - see master list in acp133.cnf
+
+ContentLength B "2.6.5.2.0" "id-at-mhs-maximum-content-length"
+ExtendedContentType B "2.6.5.2.1" "id-at-mhs-deliverable-content-types"
+ExtendedEncodedInformationType B "2.6.5.2.2" "id-at-mhs-exclusively-acceptable-eits"
+ORName B "2.6.5.2.3" "id-at-mhs-dl-members"
+ORAddress B "2.6.5.2.6" "id-at-mhs-or-addresses"
+ExtendedContentType B "2.6.5.2.9" "id-at-mhs-supported-content-types"
+ORName B "2.6.5.2.12" "id-at-mhs-dl-archive-service"
+ORName B "2.6.5.2.15" "id-at-mhs-dl-subscription-service"
+ExtendedEncodedInformationType B "2.6.5.2.17" "id-at-mhs-acceptable-eits"
+ExtendedEncodedInformationType B "2.6.5.2.18" "id-at-mhs-unacceptable-eits"
+
+
+# ACP133 - see master list in acp133.cnf
+ORName B "2.16.840.1.101.2.1.5.47" "id-at-aLExemptedAddressProcessor"
+ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses"
+
+# MSGeneralAttributeTypes - see master list in p7.cnf
+CertificateSelectors B "2.6.4.3.80" "id-att-certificate-selectors"
+Content B "2.6.4.3.1" "id-att-content"
+ContentCorrelator B "2.6.4.3.3" "id-att-content-correlator"
+ContentIdentifier B "2.6.4.3.4" "id-att-content-identifier"
+ContentIntegrityCheck B "2.6.4.3.5" "id-att-content-inetgrity-check"
+ContentLength B "2.6.4.3.6" "id-att-content-length"
+ExtendedContentType B "2.6.4.3.8" "id-att-content-type"
+ConversionWithLossProhibited B "2.6.4.3.9" "id-att-conversion-with-loss-prohibited"
+DeferredDeliveryTime B "2.6.4.3.51" "id-att-deferred-delivery-time"
+DeliveryFlags B "2.6.4.3.13" "id-att-delivery-flags"
+ORName B "2.6.4.3.78" "id-att-dl-exempted-recipients"
+DLExpansion B "2.6.4.3.14" "id-att-dl-expansion-history"
+DLExpansionProhibited B "2.6.4.3.53" "id-att-dl-expansion-prohibited"
+InternalTraceInformationElement B "2.6.4.3.54" "id-att-internal-trace-information"
+LatestDeliveryTime B "2.6.4.3.55" "id-att-latest-delivery-time"
+MessageDeliveryEnvelope B "2.6.4.3.18" "id-att-message-delivery-envelope"
+MessageDeliveryTime B "2.6.4.3.20" "id-att-message-delivery-time"
+MTSIdentifier B "2.6.4.3.19" "id-att-message-identifier"
+MessageOriginAuthenticationCheck B "2.6.4.3.21" "id-at-message-orgin-authentication-check"
+MessageSecurityLabel B "2.6.4.3.22" "id-att-message-security-label"
+MessageSubmissionEnvelope B "2.6.4.3.59" "id-att-message-submission-envelope"
+MessageSubmissionTime B "2.6.4.3.23" "id-att-message-submission-time"
+MessageToken B "2.6.4.3.24" "id-att-message-token"
+ExtendedCertificates B "2.6.4.3.81" "id-att-multiple-originator-certificates"
+ORName B "2.6.4.3.17" "id-att-originally-intended-recipient-name"
+OriginatingMTACertificate B "2.6.4.3.62" "id-att-originating-MTA-certificate"
+OriginatorCertificate B "2.6.4.3.26" "id-att-originator-certificate"
+ORName B "2.6.4.3.27" "id-att-originator-name"
+OriginatorReportRequest B "2.6.4.3.63" "id-att-originator-report-request"
+OriginatorReturnAddress B "2.6.4.3.64" "id-att-originator-return-address"
+ORName B "2.6.4.3.28" "id-att-other-recipient-names"
+PerMessageIndicators B "2.6.4.3.65" "id-att-per-message-indicators"
+PerRecipientMessageSubmissionFields B "2.6.4.3.66" "id-att-per-recipient-message-submission-fields"
+PerRecipientProbeSubmissionFields B "2.6.4.3.67" "id-att-per-recipient-probe-submission-fields"
+PerRecipientReportDeliveryFields B "2.6.4.3.30" "id-att-per-recipient-report-delivery-fields"
+Priority B "2.6.4.3.31" "id-att-priority"
+ProbeOriginAuthenticationCheck B "2.6.4.3.68" "id-att-probe-origin-authentication-check"
+ProbeSubmissionEnvelope B "2.6.4.3.69" "id-att-probe-submission-envelope"
+ProofOfDeliveryRequest B "2.6.4.3.32" "id-att-proof-of-delivery-request"
+ProofOfSubmission B "2.6.4.3.70" "id-att-proof-of-submission"
+ExtendedCertificates B "2.6.4.3.82" "id-att-recipient-certificate"
+ORName B "2.6.4.3.71" "id-att-recipient-names"
+RecipientReassignmentProhibited B "2.6.4.3.72" "id-att-recipient-reassignment-prohibited"
+Redirection B "2.6.4.3.33" "id-at-redirection-history"
+ReportDeliveryEnvelope B "2.6.4.3.34" "id-att-report-delivery-envelope"
+ReportingDLName B "2.6.4.3.35" "id-att-reporting-DL-name"
+ReportingMTACertificate B "2.6.4.3.36" "id-att-reporting-MTA-certificate"
+ReportOriginAuthenticationCheck B "2.6.4.3.37" "id-att-report-origin-authentication-check"
+SecurityClassification B "2.6.4.3.38" "id-att-security-classification"
+SubjectSubmissionIdentifier B "2.6.4.3.40" "id-att-subject-submission-identifier"
+ORName B "2.6.4.3.41" "id-att-this-recipient-name"
+TraceInformationElement B "2.6.4.3.75" "id-att-trace-information"
+
+# IPMSMessageStoreAttributes - see master list in p22.cnf
+MessageToken B "2.6.1.7.36" "id-hat-forwarded-token"
+
+#.FN_BODY AdditionalInformation
+ proto_item *item = NULL;
+ int loffset = 0;
+ guint32 len = 0;
+
+ /* work out the length */
+ loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
+ (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
+
+ item = proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_BIG_ENDIAN);
+ tree = proto_item_add_subtree(item, ett_p1_additional_information);
+ proto_item_append_text(tree, " (The use of this field is \"strongly deprecated\".)");
+
+ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
+
+#.FN_BODY RegistrationTypes/extensions/_item
+/*XXX not implemented yet */
+
+#.FN_BODY ExtensionField/value
+ const char *name;
+
+ if(actx->external.indirect_ref_present) {
+ proto_item_append_text(tree, " (%%s)", val_to_str(actx->external.indirect_reference, p1_StandardExtension_vals, "standard-extension %%d"));
+ if (dissector_try_uint(p1_extension_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
+ offset = tvb_reported_length(tvb);
+ } else {
+ proto_item *item;
+ proto_tree *next_tree;
+
+ next_tree = proto_tree_add_subtree_format(tree, tvb, 0, -1, ett_p1_unknown_standard_extension, &item,
+ "Dissector for standard-extension %%d not implemented. Contact Wireshark developers if you want this supported", actx->external.indirect_reference);
+ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
+ expert_add_info(actx->pinfo, item, &ei_p1_unknown_standard_extension);
+ }
+ } else if (actx->external.direct_ref_present) {
+ offset = call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
+ name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference);
+ proto_item_append_text(tree, " (%%s)", name ? name : actx->external.direct_reference);
+ }
+
+
+#.FN_PARS SecurityCategoryIdentifier
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY SecurityCategoryValue
+ const char *name;
+
+ if (actx->external.direct_reference) {
+ offset = call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
+ name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference);
+ proto_item_append_text(tree, " (%%s)", name ? name : actx->external.direct_reference);
+ } else {
+ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
+ }
+
+#.FN_PARS ExtensionAttributeType
+ VAL_PTR = &actx->external.indirect_reference
+
+#.FN_BODY ExtensionAttribute/extension-attribute-value
+
+ proto_item_append_text(tree, " (%%s)", val_to_str(actx->external.indirect_reference, p1_ExtensionAttributeType_vals, "extension-attribute-type %%d"));
+ p_add_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0, actx->subtree.tree_ctx);
+ if (dissector_try_uint(p1_extension_attribute_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
+ offset =tvb_reported_length(tvb);
+ } else {
+ proto_item *item;
+ proto_tree *next_tree;
+
+ next_tree = proto_tree_add_subtree_format(tree, tvb, 0, -1, ett_p1_unknown_extension_attribute_type, &item,
+ "Dissector for extension-attribute-type %%d not implemented. Contact Wireshark developers if you want this supported", actx->external.indirect_reference);
+ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
+ expert_add_info(actx->pinfo, item, &ei_p1_unknown_extension_attribute_type);
+ }
+ p_remove_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0);
+
+
+#.FN_BODY RefusedOperation/refused-argument/refused-extension
+/*XXX not implemented yet */
+
+#.FN_BODY CountryName
+ do_address("/C=", NULL, actx);
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY AdministrationDomainName
+ do_address("/A=", NULL, actx);
+
+ %(DEFAULT_BODY)s
+
+#.FN_PARS StandardExtension VAL_PTR = &actx->external.indirect_reference
+
+#.FN_BODY StandardExtension
+ actx->external.indirect_ref_present = TRUE;
+ actx->external.direct_ref_present = FALSE;
+ %(DEFAULT_BODY)s
+
+#.FN_BODY ExtensionType/private-extension FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+ actx->external.indirect_ref_present = FALSE;
+ actx->external.direct_reference = NULL;
+ %(DEFAULT_BODY)s
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_PARS ExtendedContentType
+ FN_VARIANT = _str VAL_PTR = &ctx->content_type_id
+
+#.FN_BODY ExtendedContentType
+ const char *name = NULL;
+ p1_address_ctx_t* ctx;
+
+ if (actx->subtree.tree_ctx == NULL)
+ actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
+
+ ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+
+ %(DEFAULT_BODY)s
+
+ if(ctx->content_type_id) {
+ name = oid_resolved_from_string(actx->pinfo->pool, ctx->content_type_id);
+
+ if(!name) name = ctx->content_type_id;
+
+ proto_item_append_text(tree, " (%%s)", name);
+ }
+
+#.FN_PARS BuiltInContentType/_untag VAL_PTR = &ict
+
+#.FN_BODY BuiltInContentType/_untag
+ static guint32 ict = -1;
+ p1_address_ctx_t* ctx;
+
+ if (actx->subtree.tree_ctx == NULL)
+ actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
+
+ ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+
+ %(DEFAULT_BODY)s
+
+ /* convert integer content type to oid for dispatch when the content is found */
+ switch(ict) {
+ case 2:
+ ctx->content_type_id = wmem_strdup(actx->pinfo->pool, "2.6.1.10.0");
+ break;
+ case 22:
+ ctx->content_type_id = wmem_strdup(actx->pinfo->pool, "2.6.1.10.1");
+ break;
+ default:
+ ctx->content_type_id = NULL;
+ break;
+ }
+
+#.FN_BODY Content VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb;
+ p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+
+ %(DEFAULT_BODY)s
+
+ if (next_tvb) {
+ proto_item_set_text(actx->created_item, "content (%%u bytes)", tvb_reported_length (next_tvb));
+ if (ctx && ctx->content_type_id) {
+ (void) call_ber_oid_callback(ctx->content_type_id, next_tvb, 0, actx->pinfo, actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->private_data);
+ } else if (ctx && ctx->report_unknown_content_type) {
+ proto_item *item;
+ proto_tree *next_tree;
+
+ item = proto_tree_add_expert(actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->pinfo, &ei_p1_unknown_built_in_content_type,
+ next_tvb, 0, tvb_reported_length_remaining(tvb, offset));
+ next_tree=proto_item_add_subtree(item, ett_p1_content_unknown);
+
+ dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree);
+ } else {
+ proto_item_append_text (actx->created_item, " (unknown content-type)");
+ }
+ }
+
+#.FN_PARS MTAName
+ VAL_PTR = &mtaname
+
+#.FN_BODY MTAName
+ tvbuff_t *mtaname = NULL;
+ p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+
+ %(DEFAULT_BODY)s
+
+ if (ctx && ctx->do_address) {
+ proto_item_append_text(actx->subtree.tree, " %%s", tvb_format_text(actx->pinfo->pool, mtaname, 0, tvb_reported_length(mtaname)));
+ } else {
+ if (mtaname) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", tvb_format_text(actx->pinfo->pool, mtaname, 0, tvb_reported_length(mtaname)));
+ }
+ }
+
+#.FN_PARS X121Address
+ VAL_PTR=&string
+
+#.FN_BODY X121Address
+ tvbuff_t *string = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/PX121=", string, actx);
+
+#.FN_PARS TerminalIdentifier
+ VAL_PTR=&string
+
+#.FN_BODY TerminalIdentifier
+ tvbuff_t *string = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/UA-ID=", string, actx);
+
+#.FN_BODY PrivateDomainName
+
+ do_address("/P=", NULL, actx);
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY PrivateDomainIdentifier
+
+ do_address("/P=", NULL, actx);
+
+ %(DEFAULT_BODY)s
+
+#.FN_PARS OrganizationName
+ VAL_PTR=&string
+
+#.FN_BODY OrganizationName
+ tvbuff_t *string = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/O=", string, actx);
+
+#.FN_PARS TeletexOrganizationName
+ VAL_PTR=&string
+
+#.FN_BODY TeletexOrganizationName
+ tvbuff_t *string = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/O=", string, actx);
+
+#.FN_PARS OrganizationalUnitName
+ VAL_PTR=&string
+
+#.FN_BODY OrganizationalUnitName
+ tvbuff_t *string = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/OU=", string, actx);
+
+#.FN_PARS TeletexOrganizationalUnitName
+ VAL_PTR=&string
+
+#.FN_BODY TeletexOrganizationalUnitName
+ tvbuff_t *string = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/OU=", string, actx);
+
+#.FN_PARS CommonName
+ VAL_PTR=&string
+
+#.FN_BODY CommonName
+ tvbuff_t *string = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/CN=", string, actx);
+
+#.FN_PARS TeletexCommonName
+ VAL_PTR=&string
+
+#.FN_BODY TeletexCommonName
+ tvbuff_t *string = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/CN=", string, actx);
+
+#.FN_BODY CountryName/_untag/iso-3166-alpha2-code VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY AdministrationDomainName/_untag/printable VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY PrivateDomainName/printable VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY PrivateDomainIdentifier/printable VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY PhysicalDeliveryCountryName/iso-3166-alpha2-code VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY UserAddress/x121/x121-address VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY CountryName/_untag/x121-dcc-code VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY AdministrationDomainName/_untag/numeric VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY PrivateDomainName/numeric VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY PrivateDomainIdentifier/numeric VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY PhysicalDeliveryCountryName/x121-dcc-code VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+#.FN_BODY PostalCode/numeric-code VAL_PTR=&nstring
+ tvbuff_t *nstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address(NULL, nstring, actx);
+
+
+#.FN_BODY TeletexDomainDefinedAttribute/type VAL_PTR=&tstring
+ tvbuff_t *tstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address_str("/DD.", tstring, actx);
+
+#.FN_BODY TeletexDomainDefinedAttribute/value VAL_PTR=&tstring
+ tvbuff_t *tstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address_str_tree("=", tstring, actx, tree);
+
+#.FN_BODY TeletexDomainDefinedAttribute
+ actx->value_ptr = wmem_strbuf_new(actx->pinfo->pool, "");
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY PersonalName/surname VAL_PTR=&pstring
+ tvbuff_t *pstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/S=", pstring, actx);
+
+#.FN_BODY PersonalName/given-name VAL_PTR=&pstring
+ tvbuff_t *pstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/G=", pstring, actx);
+
+#.FN_BODY PersonalName/initials VAL_PTR=&pstring
+ tvbuff_t *pstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/I=", pstring, actx);
+
+#.FN_BODY PersonalName/generation-qualifier VAL_PTR=&pstring
+ tvbuff_t *pstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/Q=", pstring, actx);
+
+#.FN_BODY TeletexPersonalName/surname VAL_PTR=&tstring
+ tvbuff_t *tstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/S=", tstring, actx);
+
+#.FN_BODY TeletexPersonalName/given-name VAL_PTR=&tstring
+ tvbuff_t *tstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/G=", tstring, actx);
+
+#.FN_BODY TeletexPersonalName/initials VAL_PTR=&tstring
+ tvbuff_t *tstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/I=", tstring, actx);
+
+#.FN_BODY TeletexPersonalName/generation-qualifier VAL_PTR=&tstring
+ tvbuff_t *tstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address("/Q=", tstring, actx);
+
+#.FN_BODY BuiltInDomainDefinedAttribute/type VAL_PTR=&pstring
+ tvbuff_t *pstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address_str("/DD.", pstring, actx);
+
+#.FN_BODY BuiltInDomainDefinedAttribute/value VAL_PTR=&pstring
+ tvbuff_t *pstring = NULL;
+
+ %(DEFAULT_BODY)s
+
+ do_address_str_tree("=", pstring, actx, tree);
+
+#.FN_BODY BuiltInDomainDefinedAttribute
+ actx->value_ptr = wmem_strbuf_new(actx->pinfo->pool, "");
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY ORAddress
+ p1_address_ctx_t* ctx;
+
+ if (actx->subtree.tree_ctx == NULL) {
+ actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
+ }
+
+ ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+ ctx->oraddress = wmem_strbuf_new(actx->pinfo->pool, "");
+
+ actx->subtree.tree = NULL;
+ set_do_address(actx, TRUE);
+
+ %(DEFAULT_BODY)s
+
+
+ if (ctx->oraddress && (wmem_strbuf_get_len(ctx->oraddress) > 0) && actx->subtree.tree)
+ proto_item_append_text(actx->subtree.tree, " (%%s/)", wmem_strbuf_get_str(ctx->oraddress));
+
+ set_do_address(actx, FALSE);
+
+#.FN_BODY ORName
+ p1_address_ctx_t* ctx;
+
+ if (actx->subtree.tree_ctx == NULL) {
+ actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
+ }
+
+ ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+ ctx->oraddress = wmem_strbuf_new(actx->pinfo->pool, "");
+
+ actx->subtree.tree = NULL;
+ set_do_address(actx, TRUE);
+
+ %(DEFAULT_BODY)s
+
+ if (ctx->oraddress && (wmem_strbuf_get_len(ctx->oraddress) > 0) && actx->subtree.tree)
+ proto_item_append_text(actx->subtree.tree, " (%%s/)", wmem_strbuf_get_str(ctx->oraddress));
+
+ set_do_address(actx, FALSE);
+#.FN_BODY MessageIdentifier
+ actx->subtree.tree = NULL;
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY GlobalDomainIdentifier
+ p1_address_ctx_t* ctx;
+
+ if (actx->subtree.tree_ctx == NULL) {
+ actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
+ }
+
+ ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+ ctx->oraddress = wmem_strbuf_new(actx->pinfo->pool, "");
+
+ actx->subtree.tree = tree;
+
+ %(DEFAULT_BODY)s
+
+ if (ctx->oraddress && (wmem_strbuf_get_len(ctx->oraddress) > 0)) {
+ proto_item_append_text(actx->subtree.tree, " (%%s/", wmem_strbuf_get_str(ctx->oraddress));
+
+ if (hf_index == hf_p1_subject_identifier) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s/", wmem_strbuf_get_str(ctx->oraddress));
+ }
+ }
+
+
+#.FN_PARS LocalIdentifier
+ VAL_PTR=&id
+
+#.FN_BODY LocalIdentifier
+ tvbuff_t *id = NULL;
+ p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+
+ %(DEFAULT_BODY)s
+
+ if(id) {
+ if (ctx && ctx->do_address)
+ proto_item_append_text(actx->subtree.tree, " $ %%s)", tvb_format_text(actx->pinfo->pool, id, 0, tvb_reported_length(id)));
+
+ if (hf_index == hf_p1_subject_identifier)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " $ %%s)", tvb_format_text(actx->pinfo->pool, id, 0, tvb_reported_length(id)));
+ }
+
+#.FN_BODY MTSIdentifier
+
+ set_do_address(actx, TRUE);
+
+ %(DEFAULT_BODY)s
+
+ set_do_address(actx, FALSE);
+
+#.FN_BODY MTANameAndOptionalGDI
+
+ set_do_address(actx, TRUE);
+
+ %(DEFAULT_BODY)s
+
+ set_do_address(actx, FALSE);
+ proto_item_append_text(tree, ")");
+
+#.FN_BODY BuiltInStandardAttributes
+ actx->subtree.tree = tree;
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY TraceInformationElement
+
+ set_do_address(actx, TRUE);
+
+ %(DEFAULT_BODY)s
+
+ set_do_address(actx, FALSE);
+
+#.FN_BODY InternalTraceInformationElement
+
+ set_do_address(actx, TRUE);
+
+ %(DEFAULT_BODY)s
+
+ set_do_address(actx, FALSE);
+
+#.FN_BODY DomainSuppliedInformation
+
+ set_do_address(actx, FALSE);
+
+ %(DEFAULT_BODY)s
+
+ set_do_address(actx, TRUE);
+ proto_item_append_text(tree, ")");
+
+#.FN_BODY MTASuppliedInformation
+
+ set_do_address(actx, FALSE);
+
+ %(DEFAULT_BODY)s
+
+ set_do_address(actx, TRUE);
+ proto_item_append_text(tree, ")");
+
+#.FN_PARS Time
+ VAL_PTR = &arrival
+
+#.FN_BODY Time
+ tvbuff_t *arrival = NULL;
+ p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+
+ %(DEFAULT_BODY)s
+
+ if(arrival && ctx && ctx->do_address)
+ proto_item_append_text(actx->subtree.tree, " %%s", tvb_format_text(actx->pinfo->pool, arrival, 0, tvb_reported_length(arrival)));
+
+#.FN_PARS RoutingAction
+ VAL_PTR = &action
+
+#.FN_BODY RoutingAction
+ int action = 0;
+
+ %(DEFAULT_BODY)s
+
+ proto_item_append_text(actx->subtree.tree, " %%s", val_to_str(action, p1_RoutingAction_vals, "action(%%d)"));
+
+#.FN_PARS MTABindError
+ VAL_PTR=&error
+
+#.FN_BODY MTABindError
+ int error = -1;
+ %(DEFAULT_BODY)s
+ if((error != -1))
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(error, p1_MTABindError_vals, "error(%%d)"));
+
+#.FN_PARS TokenTypeIdentifier
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY TokenTypeData
+
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
+
+#.FN_PARS Credentials
+ VAL_PTR = &credentials
+
+#.FN_BODY Credentials
+ gint credentials = -1;
+
+ %(DEFAULT_BODY)s
+
+ if( (credentials!=-1) && p1_Credentials_vals[credentials].strptr ){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", p1_Credentials_vals[credentials].strptr);
+ }
+
+#.FN_PARS TokenDataType
+ VAL_PTR = &actx->external.indirect_reference
+
+#.FN_BODY TokenData/value
+
+ proto_item_append_text(tree, " (%%s)", val_to_str(actx->external.indirect_reference, p1_TokenDataType_vals, "tokendata-type %%d"));
+ if (dissector_try_uint(p1_tokendata_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
+ offset = tvb_reported_length(tvb);
+ } else {
+ proto_item *item;
+ proto_tree *next_tree;
+
+ next_tree = proto_tree_add_subtree_format(tree, tvb, 0, -1, ett_p1_unknown_tokendata_type, &item,
+ "Dissector for tokendata-type %%d not implemented. Contact Wireshark developers if you want this supported", actx->external.indirect_reference);
+ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
+ expert_add_info(actx->pinfo, item, &ei_p1_unknown_tokendata_type);
+ }
+
+#.FN_BODY PerDomainBilateralInformation/bilateral-information
+ proto_item *item = NULL;
+ int loffset = 0;
+ guint32 len = 0;
+
+ /* work out the length */
+ loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
+ (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
+
+ /* create some structure so we can tell what this unknown ASN.1 represents */
+ item = proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_BIG_ENDIAN);
+ tree = proto_item_add_subtree(item, ett_p1_bilateral_information);
+
+ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
+
+#.FN_PARS MTS-APDU
+ VAL_PTR = &apdu
+
+#.FN_BODY MTS-APDU
+ gint apdu = -1;
+
+ %(DEFAULT_BODY)s
+
+ if( (apdu!=-1) && p1_MTS_APDU_vals[apdu].strptr ){
+ if(apdu != 0) { /* we don't show "message" - sub-dissectors have better idea */
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", p1_MTS_APDU_vals[apdu].strptr);
+ }
+ }
+
+#.FN_PARS ReportType
+ VAL_PTR = &report
+
+#.FN_BODY ReportType
+ gint report = -1;
+
+ %(DEFAULT_BODY)s
+
+ if( (report!=-1) && p1_ReportType_vals[report].strptr ){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", p1_ReportType_vals[report].strptr);
+ }
+
+#.FN_BODY MessageSubmissionArgument
+ p1_initialize_content_globals(actx, tree, TRUE);
+ %(DEFAULT_BODY)s
+ p1_initialize_content_globals(actx, NULL, FALSE);
+
+#.FN_BODY MessageDeliveryArgument
+ p1_initialize_content_globals(actx, tree, TRUE);
+ %(DEFAULT_BODY)s
+ p1_initialize_content_globals(actx, NULL, FALSE);
+
+#.FN_BODY ReportDeliveryArgument
+ p1_initialize_content_globals(actx, tree, TRUE);
+ %(DEFAULT_BODY)s
+ p1_initialize_content_globals(actx, NULL, FALSE);
+
+#.FN_HDR MTSBindResult
+ /* TODO: there may be other entry points where this global should be initialized... */
+ actx->subtree.tree = NULL;
+
+#.TYPE_ATTR
+RecipientNumberForAdvice DISPLAY = BASE_NONE
+TeletexCommonName DISPLAY = BASE_NONE
+TeletexOrganizationName DISPLAY = BASE_NONE
+TeletexPersonalName/surname DISPLAY = BASE_NONE
+TeletexPersonalName/given-name DISPLAY = BASE_NONE
+TeletexPersonalName/initials DISPLAY = BASE_NONE
+TeletexPersonalName/generation-qualifier DISPLAY = BASE_NONE
+TeletexOrganizationalUnitName DISPLAY = BASE_NONE
+UnformattedPostalAddress/teletex-string DISPLAY = BASE_NONE
+PDSParameter/teletex-string DISPLAY = BASE_NONE
+TeletexDomainDefinedAttribute/type DISPLAY = BASE_NONE
+TeletexDomainDefinedAttribute/value DISPLAY = BASE_NONE
+TeletexNonBasicParameters/graphic-character-sets DISPLAY = BASE_NONE
+TeletexNonBasicParameters/control-character-sets DISPLAY = BASE_NONE
+TeletexNonBasicParameters/miscellaneous-terminal-capabilities DISPLAY = BASE_NONE
+
+#.END
+
diff --git a/epan/dissectors/asn1/p1/packet-p1-template.c b/epan/dissectors/asn1/p1/packet-p1-template.c
new file mode 100644
index 00000000..ff27555f
--- /dev/null
+++ b/epan/dissectors/asn1/p1/packet-p1-template.c
@@ -0,0 +1,435 @@
+/* packet-p1.c
+ * Routines for X.411 (X.400 Message Transfer) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <epan/strutil.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ros.h"
+#include "packet-rtse.h"
+
+#include "packet-x509af.h"
+#include "packet-x509ce.h"
+#include "packet-x509if.h"
+#include "packet-x509sat.h"
+
+#include "packet-p1.h"
+
+#define PNAME "X.411 Message Transfer Service"
+#define PSNAME "P1"
+#define PFNAME "p1"
+
+/* Initialize the protocol and registered fields */
+static int proto_p1 = -1;
+static int proto_p3 = -1;
+
+static int hf_p1_MTS_APDU_PDU = -1;
+static int hf_p1_MTABindArgument_PDU = -1;
+static int hf_p1_MTABindResult_PDU = -1;
+static int hf_p1_MTABindError_PDU = -1;
+
+#include "packet-p1-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_p1 = -1;
+static gint ett_p3 = -1;
+static gint ett_p1_content_unknown = -1;
+static gint ett_p1_bilateral_information = -1;
+static gint ett_p1_additional_information = -1;
+static gint ett_p1_unknown_standard_extension = -1;
+static gint ett_p1_unknown_extension_attribute_type = -1;
+static gint ett_p1_unknown_tokendata_type = -1;
+#include "packet-p1-ett.c"
+
+static expert_field ei_p1_unknown_extension_attribute_type = EI_INIT;
+static expert_field ei_p1_unknown_standard_extension = EI_INIT;
+static expert_field ei_p1_unknown_built_in_content_type = EI_INIT;
+static expert_field ei_p1_unknown_tokendata_type = EI_INIT;
+static expert_field ei_p1_unsupported_pdu = EI_INIT;
+static expert_field ei_p1_zero_pdu = EI_INIT;
+
+/* Dissector tables */
+static dissector_table_t p1_extension_dissector_table;
+static dissector_table_t p1_extension_attribute_dissector_table;
+static dissector_table_t p1_tokendata_dissector_table;
+
+static dissector_handle_t p1_handle;
+
+#include "packet-p1-table.c" /* operation and error codes */
+
+typedef struct p1_address_ctx {
+ gboolean do_address;
+ const char *content_type_id;
+ gboolean report_unknown_content_type;
+ wmem_strbuf_t* oraddress;
+} p1_address_ctx_t;
+
+static void set_do_address(asn1_ctx_t* actx, gboolean do_address)
+{
+ p1_address_ctx_t* ctx;
+
+ if (actx->subtree.tree_ctx == NULL) {
+ actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
+ }
+
+ ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+ ctx->do_address = do_address;
+}
+
+static p1_address_ctx_t *get_do_address_ctx(asn1_ctx_t* actx)
+{
+ p1_address_ctx_t* ctx = NULL;
+
+ /* First check if called from an extension attribute */
+ ctx = (p1_address_ctx_t *)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0);
+
+ if (!ctx) {
+ ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+ }
+
+ return ctx;
+}
+
+static void do_address(const char* addr, tvbuff_t* tvb_string, asn1_ctx_t* actx)
+{
+ p1_address_ctx_t* ctx = get_do_address_ctx(actx);
+
+ if (ctx && ctx->do_address) {
+ if (addr) {
+ wmem_strbuf_append(ctx->oraddress, addr);
+ }
+ if (tvb_string) {
+ wmem_strbuf_append(ctx->oraddress, tvb_format_text(actx->pinfo->pool, tvb_string, 0, tvb_captured_length(tvb_string)));
+ }
+ }
+}
+
+static void do_address_str(const char* addr, tvbuff_t* tvb_string, asn1_ctx_t* actx)
+{
+ wmem_strbuf_t *ddatype = (wmem_strbuf_t *)actx->value_ptr;
+ p1_address_ctx_t* ctx = get_do_address_ctx(actx);
+
+ do_address(addr, tvb_string, actx);
+
+ if (ctx && ctx->do_address && ddatype && tvb_string)
+ wmem_strbuf_append(ddatype, tvb_format_text(actx->pinfo->pool, tvb_string, 0, tvb_captured_length(tvb_string)));
+}
+
+static void do_address_str_tree(const char* addr, tvbuff_t* tvb_string, asn1_ctx_t* actx, proto_tree* tree)
+{
+ wmem_strbuf_t *ddatype = (wmem_strbuf_t *)actx->value_ptr;
+ p1_address_ctx_t* ctx = get_do_address_ctx(actx);
+
+ do_address(addr, tvb_string, actx);
+
+ if (ctx && ctx->do_address && tvb_string && ddatype) {
+ if (wmem_strbuf_get_len(ddatype) > 0) {
+ proto_item_append_text (tree, " (%s=%s)", wmem_strbuf_get_str(ddatype), tvb_format_text(actx->pinfo->pool, tvb_string, 0, tvb_captured_length(tvb_string)));
+ }
+ }
+}
+
+#include "packet-p1-fn.c"
+
+#include "packet-p1-table11.c" /* operation argument/result dissectors */
+#include "packet-p1-table21.c" /* error dissector */
+
+static const ros_info_t p3_ros_info = {
+ "P3",
+ &proto_p3,
+ &ett_p3,
+ p3_opr_code_string_vals,
+ p3_opr_tab,
+ p3_err_code_string_vals,
+ p3_err_tab
+};
+
+void p1_initialize_content_globals (asn1_ctx_t* actx, proto_tree *tree, gboolean report_unknown_cont_type)
+{
+ p1_address_ctx_t* ctx;
+
+ if (actx->subtree.tree_ctx == NULL) {
+ actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
+ }
+
+ ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+
+ actx->subtree.top_tree = tree;
+ actx->external.direct_reference = NULL;
+ ctx->content_type_id = NULL;
+ ctx->report_unknown_content_type = report_unknown_cont_type;
+}
+
+const char* p1_get_last_oraddress (asn1_ctx_t* actx)
+{
+ p1_address_ctx_t* ctx;
+
+ if ((actx == NULL) || (actx->subtree.tree_ctx == NULL))
+ return "";
+
+ ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
+ if (wmem_strbuf_get_len(ctx->oraddress) <= 0)
+ return "";
+
+ return wmem_strbuf_get_str(ctx->oraddress);
+}
+
+/*
+ * Dissect P1 MTS APDU
+ */
+int
+dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* save parent_tree so subdissectors can create new top nodes */
+ p1_initialize_content_globals (&asn1_ctx, parent_tree, TRUE);
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, proto_p1, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_p1);
+ }
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
+ col_set_str(pinfo->cinfo, COL_INFO, "Transfer");
+
+ dissect_p1_MTS_APDU (FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MTS_APDU_PDU);
+ p1_initialize_content_globals (&asn1_ctx, NULL, FALSE);
+ return tvb_captured_length(tvb);
+}
+
+/*
+* Dissect P1 PDUs inside a PPDU.
+*/
+static int
+dissect_p1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ int offset = 0;
+ int old_offset;
+ proto_item *item;
+ proto_tree *tree;
+ struct SESSION_DATA_STRUCTURE* session;
+ int (*p1_dissector)(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) = NULL;
+ const char *p1_op_name;
+ int hf_p1_index = -1;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* do we have operation information from the ROS dissector? */
+ if (data == NULL)
+ return 0;
+ session = (struct SESSION_DATA_STRUCTURE*)data;
+
+ /* save parent_tree so subdissectors can create new top nodes */
+ p1_initialize_content_globals (&asn1_ctx, parent_tree, TRUE);
+
+ asn1_ctx.private_data = session;
+
+ item = proto_tree_add_item(parent_tree, proto_p1, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_p1);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ switch(session->ros_op & ROS_OP_MASK) {
+ case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
+ p1_dissector = dissect_p1_MTABindArgument;
+ p1_op_name = "Bind-Argument";
+ hf_p1_index = hf_p1_MTABindArgument_PDU;
+ break;
+ case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
+ p1_dissector = dissect_p1_MTABindResult;
+ p1_op_name = "Bind-Result";
+ hf_p1_index = hf_p1_MTABindResult_PDU;
+ break;
+ case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
+ p1_dissector = dissect_p1_MTABindError;
+ p1_op_name = "Bind-Error";
+ hf_p1_index = hf_p1_MTABindError_PDU;
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
+ p1_dissector = dissect_p1_MTS_APDU;
+ p1_op_name = "Transfer";
+ hf_p1_index = hf_p1_MTS_APDU_PDU;
+ break;
+ default:
+ proto_tree_add_expert(tree, pinfo, &ei_p1_unsupported_pdu, tvb, offset, -1);
+ return tvb_captured_length(tvb);
+ }
+
+ col_set_str(pinfo->cinfo, COL_INFO, p1_op_name);
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0) {
+ old_offset=offset;
+ offset=(*p1_dissector)(FALSE, tvb, offset, &asn1_ctx , tree, hf_p1_index);
+ if (offset == old_offset) {
+ proto_tree_add_expert(tree, pinfo, &ei_p1_zero_pdu, tvb, offset, -1);
+ break;
+ }
+ }
+ p1_initialize_content_globals (&asn1_ctx, NULL, FALSE);
+ return tvb_captured_length(tvb);
+}
+
+
+
+
+/*--- proto_register_p1 -------------------------------------------*/
+void proto_register_p1(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+ /* "Created by defining PDU in .cnf */
+ { &hf_p1_MTABindArgument_PDU,
+ { "MTABindArgument", "p1.MTABindArgument",
+ FT_UINT32, BASE_DEC, VALS(p1_MTABindArgument_vals), 0,
+ "p1.MTABindArgument", HFILL }},
+ { &hf_p1_MTABindResult_PDU,
+ { "MTABindResult", "p1.MTABindResult",
+ FT_UINT32, BASE_DEC, VALS(p1_MTABindResult_vals), 0,
+ "p1.MTABindResult", HFILL }},
+ { &hf_p1_MTABindError_PDU,
+ { "MTABindError", "p1.MTABindError",
+ FT_UINT32, BASE_DEC, VALS(p1_MTABindError_vals), 0,
+ "p1.MTABindError", HFILL }},
+ { &hf_p1_MTS_APDU_PDU,
+ { "MTS-APDU", "p1.MTS_APDU",
+ FT_UINT32, BASE_DEC, VALS(p1_MTS_APDU_vals), 0,
+ "p1.MTS_APDU", HFILL }},
+
+#include "packet-p1-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_p1,
+ &ett_p3,
+ &ett_p1_content_unknown,
+ &ett_p1_bilateral_information,
+ &ett_p1_additional_information,
+ &ett_p1_unknown_standard_extension,
+ &ett_p1_unknown_extension_attribute_type,
+ &ett_p1_unknown_tokendata_type,
+#include "packet-p1-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_p1_unknown_extension_attribute_type, { "p1.unknown.extension_attribute_type", PI_UNDECODED, PI_WARN, "Unknown extension-attribute-type", EXPFILL }},
+ { &ei_p1_unknown_standard_extension, { "p1.unknown.standard_extension", PI_UNDECODED, PI_WARN, "Unknown standard-extension", EXPFILL }},
+ { &ei_p1_unknown_built_in_content_type, { "p1.unknown.built_in_content_type", PI_UNDECODED, PI_WARN, "P1 Unknown Content (unknown built-in content-type)", EXPFILL }},
+ { &ei_p1_unknown_tokendata_type, { "p1.unknown.tokendata_type", PI_UNDECODED, PI_WARN, "Unknown tokendata-type", EXPFILL }},
+ { &ei_p1_unsupported_pdu, { "p1.unsupported_pdu", PI_UNDECODED, PI_WARN, "Unsupported P1 PDU", EXPFILL }},
+ { &ei_p1_zero_pdu, { "p1.zero_pdu", PI_PROTOCOL, PI_ERROR, "Internal error, zero-byte P1 PDU", EXPFILL }},
+ };
+
+ expert_module_t* expert_p1;
+ module_t *p1_module;
+
+ /* Register protocol */
+ proto_p1 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ p1_handle = register_dissector("p1", dissect_p1, proto_p1);
+
+ proto_p3 = proto_register_protocol("X.411 Message Access Service", "P3", "p3");
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_p1, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_p1 = expert_register_protocol(proto_p1);
+ expert_register_field_array(expert_p1, ei, array_length(ei));
+
+ p1_extension_dissector_table = register_dissector_table("p1.extension", "P1-EXTENSION", proto_p1, FT_UINT32, BASE_DEC);
+ p1_extension_attribute_dissector_table = register_dissector_table("p1.extension-attribute", "P1-EXTENSION-ATTRIBUTE", proto_p1, FT_UINT32, BASE_DEC);
+ p1_tokendata_dissector_table = register_dissector_table("p1.tokendata", "P1-TOKENDATA", proto_p1, FT_UINT32, BASE_DEC);
+
+ /* Register our configuration options for P1, particularly our port */
+
+ p1_module = prefs_register_protocol_subtree("OSI/X.400", proto_p1, NULL);
+ /* For reading older preference files with "x411." preferences */
+ prefs_register_module_alias("x411", p1_module);
+
+ prefs_register_obsolete_preference(p1_module, "tcp.port");
+
+ prefs_register_static_text_preference(p1_module, "tcp_port_info",
+ "The TCP ports used by the P1 protocol should be added to the TPKT preference \"TPKT TCP ports\", or by selecting \"TPKT\" as the \"Transport\" protocol in the \"Decode As\" dialog.",
+ "P1 TCP Port preference moved information");
+
+ register_ber_syntax_dissector("P1 Message", proto_p1, dissect_p1_mts_apdu);
+#include "packet-p1-syn-reg.c"
+}
+
+
+/*--- proto_reg_handoff_p1 --- */
+void proto_reg_handoff_p1(void) {
+#include "packet-p1-dis-tab.c"
+
+ /* APPLICATION CONTEXT */
+
+ oid_add_from_string("id-ac-mts-transfer","2.6.0.1.6");
+
+ /* ABSTRACT SYNTAXES */
+ register_rtse_oid_dissector_handle("2.6.0.2.12", p1_handle, 0, "id-as-mta-rtse", TRUE);
+ register_rtse_oid_dissector_handle("2.6.0.2.7", p1_handle, 0, "id-as-mtse", FALSE);
+
+
+ register_rtse_oid_dissector_handle("applicationProtocol.1", p1_handle, 0, "mts-transfer-protocol-1984", FALSE);
+ register_rtse_oid_dissector_handle("applicationProtocol.12", p1_handle, 0, "mta-transfer-protocol", FALSE);
+
+ /* the ROS dissector will use the registered P3 ros info */
+ register_rtse_oid_dissector_handle(id_as_mts_rtse, NULL, 0, "id-as-mts-rtse", TRUE);
+ register_rtse_oid_dissector_handle(id_as_msse, NULL, 0, "id-as-msse", TRUE);
+
+ /* APPLICATION CONTEXT */
+
+ oid_add_from_string("id-ac-mts-access-88", id_ac_mts_access_88);
+ oid_add_from_string("id-ac-mts-forced-access-88", id_ac_mts_forced_access_88);
+ oid_add_from_string("id-ac-mts-access-94", id_ac_mts_access_94);
+ oid_add_from_string("id-ac-mts-forced-access-94", id_ac_mts_forced_access_94);
+
+
+ /* Register P3 with ROS */
+
+ register_ros_protocol_info(id_as_msse, &p3_ros_info, 0, "id-as-msse", FALSE);
+
+ register_ros_protocol_info(id_as_mdse_88, &p3_ros_info, 0, "id-as-mdse-88", FALSE);
+ register_ros_protocol_info(id_as_mdse_94, &p3_ros_info, 0, "id-as-mdse-94", FALSE);
+
+ register_ros_protocol_info(id_as_mase_88, &p3_ros_info, 0, "id-as-mase-88", FALSE);
+ register_ros_protocol_info(id_as_mase_94, &p3_ros_info, 0, "id-as-mase-94", FALSE);
+
+ register_ros_protocol_info(id_as_mts, &p3_ros_info, 0, "id-as-mts", FALSE);
+ register_ros_protocol_info(id_as_mts_rtse, &p3_ros_info, 0, "id-as-mts-rtse", TRUE);
+
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/p1/packet-p1-template.h b/epan/dissectors/asn1/p1/packet-p1-template.h
new file mode 100644
index 00000000..2336523d
--- /dev/null
+++ b/epan/dissectors/asn1/p1/packet-p1-template.h
@@ -0,0 +1,25 @@
+/* packet-p3.h
+ * Routines for X.411 (X.400 Message Transfer) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_P1_H
+#define PACKET_P1_H
+
+#include "packet-p1-val.h"
+
+void p1_initialize_content_globals (asn1_ctx_t* actx, proto_tree *tree, gboolean report_unknown_cont_type);
+const char* p1_get_last_oraddress(asn1_ctx_t* actx);
+int dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data);
+#include "packet-p1-exp.h"
+
+void proto_reg_handoff_p1(void);
+void proto_register_p1(void);
+
+#endif /* PACKET_P1_H */
diff --git a/epan/dissectors/asn1/p22/CMakeLists.txt b/epan/dissectors/asn1/p22/CMakeLists.txt
new file mode 100644
index 00000000..8f2b196c
--- /dev/null
+++ b/epan/dissectors/asn1/p22/CMakeLists.txt
@@ -0,0 +1,61 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME p22 )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ IPMSInformationObjects.asn
+ IPMSHeadingExtensions.asn
+ IPMSExtendedBodyPartTypes2.asn
+ IPMSFileTransferBodyPartType.asn
+ IPMSExtendedVoiceBodyPartType.asn
+ IPMSForwardedContentBodyPartType.asn
+ IPMSMessageStoreAttributes.asn
+ IPMSSecurityExtensions.asn
+ IPMSObjectIdentifiers.asn
+ IPMSUpperBounds.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -C )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../acse/acse-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../ftam/ftam-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../p7/p7-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+)
+
+set( EXPORT_DEPENDS
+ "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/p22/IPMSExtendedBodyPartTypes2.asn b/epan/dissectors/asn1/p22/IPMSExtendedBodyPartTypes2.asn
new file mode 100644
index 00000000..76facd1b
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSExtendedBodyPartTypes2.asn
@@ -0,0 +1,38 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSExtendedBodyPartTypes2 (X.420:06/1999)
+IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) modules(0)
+ extended-body-part-types-2(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS
+ -- IPMS Information Objects
+ EXTENDED-BODY-PART-TYPE
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- IPMS Object Identifiers
+ id-ep-general-text, id-et-general-text
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)};
+
+-- General Text body part
+general-text-body-part EXTENDED-BODY-PART-TYPE ::= {
+ PARAMETERS {GeneralTextParameters
+ IDENTIFIED BY id-ep-general-text},
+ DATA {GeneralTextData
+ IDENTIFIED BY id-et-general-text}
+}
+
+GeneralTextParameters ::= SET OF CharacterSetRegistration
+
+GeneralTextData ::= GeneralString
+
+CharacterSetRegistration ::= INTEGER(1..32767)
+
+END -- of IPMSExtendedBodyPartTypes2
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p22/IPMSExtendedVoiceBodyPartType.asn b/epan/dissectors/asn1/p22/IPMSExtendedVoiceBodyPartType.asn
new file mode 100644
index 00000000..f745b52c
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSExtendedVoiceBodyPartType.asn
@@ -0,0 +1,40 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSExtendedVoiceBodyPartType (X.420:06/1999)
+IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ extended-voice-body-part-type(11)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS
+ -- IPMS Information Objects
+ EXTENDED-BODY-PART-TYPE
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- IPMS Object Identifiers
+ id-ep-voice, id-et-voice
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)};
+
+-- Extended Voice body part
+voice-body-part EXTENDED-BODY-PART-TYPE ::= {
+ PARAMETERS {VoiceParameters
+ IDENTIFIED BY id-ep-voice},
+ DATA {VoiceData
+ IDENTIFIED BY id-et-voice}
+}
+
+VoiceParameters ::= SEQUENCE {
+ voice-message-duration [0] INTEGER OPTIONAL, -- In seconds
+ voice-encoding-type [1] OBJECT IDENTIFIER,
+ supplementary-information [2] IA5String OPTIONAL
+}
+
+VoiceData ::= OCTET STRING
+
+END -- of IPMSExtendedVoiceBodyPartType
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p22/IPMSFileTransferBodyPartType.asn b/epan/dissectors/asn1/p22/IPMSFileTransferBodyPartType.asn
new file mode 100644
index 00000000..e5c00373
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSFileTransferBodyPartType.asn
@@ -0,0 +1,262 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSFileTransferBodyPartType (X.420:06/1999)
+IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ file-transfer-body-part-type(9)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS
+ -- FTAM Attribute Types
+ Attribute-Extensions, Concurrency-Access, Date-and-Time-Attribute,
+ Legal-Qualification-Attribute, Object-Availability-Attribute,
+ Object-Size-Attribute, Pathname, Permitted-Actions-Attribute,
+ Private-Use-Attribute
+ --==
+ FROM ISO8571-FTAM {iso standard 8571 application-context(1) iso-ftam(1)}
+ -- ACSE definitions of AP-title and AE-qualifier
+ AE-qualifier, AP-title
+ --==
+ FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0)
+ version1(1)}
+ -- IPMS Information Objects
+ EXTENDED-BODY-PART-TYPE, ExtensionsField
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- IPMS Object Identifiers
+ id-ep-file-transfer, id-et-file-transfer
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)}
+ -- MTS Abstract Service
+ ORName
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)};
+
+-- File Transfer body part
+file-transfer-body-part EXTENDED-BODY-PART-TYPE ::= {
+ PARAMETERS {FileTransferParameters
+ IDENTIFIED BY id-ep-file-transfer},
+ DATA {FileTransferData
+ IDENTIFIED BY id-et-file-transfer}
+}
+
+FileTransferParameters ::= SEQUENCE {
+ related-stored-file [0] RelatedStoredFile OPTIONAL,
+ contents-type
+ [1] ContentsTypeParameter OPTIONAL,
+-- WS: asn2wrs does not handle DEFAULT, so we make the parameters OPTIONAL
+-- DEFAULT
+-- document-type:
+-- {document-type-name
+-- {iso standard 8571 document-type(5) unstructured-binary(3)}},
+ environment [2] EnvironmentParameter OPTIONAL,
+ compression [3] CompressionParameter OPTIONAL,
+ file-attributes [4] FileAttributes OPTIONAL,
+ extensions [5] ExtensionsField OPTIONAL
+}
+
+FileTransferData ::= SEQUENCE OF EXTERNAL
+
+-- This conveys a sequence of data values representing file contents;
+-- The rules for generating this sequence are implied by the value of the contents-type parameter.
+RelatedStoredFile ::=
+ SET OF
+ SEQUENCE {file-identifier FileIdentifier,
+ relationship
+ Relationship DEFAULT explicit-relationship:unspecified
+ }
+
+FileIdentifier ::= CHOICE {
+ pathname-and-version [0] PathnameandVersion,
+ cross-reference [1] CrossReference
+}
+
+PathnameandVersion ::= SEQUENCE {
+ pathname [0] Pathname-Attribute,
+ file-version [1] GraphicString OPTIONAL
+}
+
+CrossReference ::= SEQUENCE {
+ application-cross-reference [0] OCTET STRING,
+ message-reference [1] MessageReference OPTIONAL,
+ body-part-reference [2] INTEGER OPTIONAL
+}
+
+MessageReference ::= SET {
+ user [0] ORName OPTIONAL,
+ -- Defined in 8.5.5 of ITU-T Rec. X.411 | ISO/IEC 10021-4
+ user-relative-identifier [1] PrintableString
+}
+
+Relationship ::= CHOICE {
+ explicit-relationship [0] ExplicitRelationship,
+ descriptive-relationship [1] GraphicString
+}
+
+ExplicitRelationship ::= INTEGER {
+ unspecified(0), new-file(1), replacement(2), extension(3)}
+
+ContentsTypeParameter ::= Contents-Type-Attribute
+
+DOCUMENT-PARAMETER ::= CLASS {&Type
+}
+
+Contents-Type-Attribute ::= CHOICE {
+ document-type
+ [0] SEQUENCE {document-type-name Document-Type-Name,
+ parameter [0] DOCUMENT-PARAMETER.&Type OPTIONAL
+ },
+ -- The actual types to be used for values of the parameter field
+ -- are defined in the named document type.
+ constraint-set-and-abstract-syntax
+ [1] SEQUENCE {constraint-set-name Constraint-Set-Name,
+ abstract-syntax-name Abstract-Syntax-Name}
+}
+
+Document-Type-Name ::= OBJECT IDENTIFIER
+
+-- WS: Moved to before used
+--DOCUMENT-PARAMETER ::= CLASS {&Type
+--}
+
+Constraint-Set-Name ::= OBJECT IDENTIFIER
+
+Abstract-Syntax-Name ::= OBJECT IDENTIFIER
+
+EnvironmentParameter ::= SEQUENCE {
+ application-reference [0] GeneralIdentifier OPTIONAL,
+ machine [1] GeneralIdentifier OPTIONAL,
+ operating-system [2] OBJECT IDENTIFIER OPTIONAL,
+ user-visible-string [3] SEQUENCE OF GraphicString OPTIONAL
+}
+
+GeneralIdentifier ::= CHOICE {
+ registered-identifier [0] OBJECT IDENTIFIER,
+ descriptive-identifier [1] SEQUENCE OF GraphicString
+}
+
+COMPRESSION-ALGORITHM ::= TYPE-IDENTIFIER
+
+CompressionParameter ::= SEQUENCE {
+ compression-algorithm-id
+ [0] TYPE-IDENTIFIER.&id({CompressionAlgorithmTable}),
+ compression-algorithm-param
+ [1] TYPE-IDENTIFIER.&Type
+ ({CompressionAlgorithmTable}{@compression-algorithm-id})
+}
+
+-- WS: Moved to before where used
+--COMPRESSION-ALGORITHM ::= TYPE-IDENTIFIER
+
+CompressionAlgorithmTable COMPRESSION-ALGORITHM ::=
+ {...}
+
+FileAttributes ::= SEQUENCE {
+ pathname Pathname-Attribute OPTIONAL,
+ permitted-actions
+ [1] Permitted-Actions-Attribute OPTIONAL,
+ storage-account [3] Account-Attribute OPTIONAL,
+ date-and-time-of-creation
+ [4] Date-and-Time-Attribute OPTIONAL,
+ date-and-time-of-last-modification
+ [5] Date-and-Time-Attribute OPTIONAL,
+ date-and-time-of-last-read-access
+ [6] Date-and-Time-Attribute OPTIONAL,
+ date-and-time-of-last-attribute-modification
+ [7] Date-and-Time-Attribute OPTIONAL,
+ identity-of-creator
+ [8] User-Identity-Attribute OPTIONAL,
+ identity-of-last-modifier
+ [9] User-Identity-Attribute OPTIONAL,
+ identity-of-last-reader
+ [10] User-Identity-Attribute OPTIONAL,
+ identity-of-last-attribute-modifier
+ [11] User-Identity-Attribute OPTIONAL,
+ object-availability
+ [12] Object-Availability-Attribute OPTIONAL,
+ object-size
+ [13] Object-Size-Attribute OPTIONAL,
+ future-object-size
+ [14] Object-Size-Attribute OPTIONAL,
+ access-control
+ [15] Access-Control-Attribute OPTIONAL,
+ legal-qualifications
+ [16] Legal-Qualification-Attribute OPTIONAL,
+ private-use
+ [17] Private-Use-Attribute OPTIONAL,
+ attribute-extensions
+ [22] Attribute-Extensions OPTIONAL
+}
+
+Pathname-Attribute ::= CHOICE {
+ incomplete-pathname [0] Pathname,
+ complete-pathname [23] Pathname
+}
+
+Account-Attribute ::= CHOICE {
+ no-value-available [0] NULL,
+ -- Indicates partial support of this attribute
+ actual-values Account
+}
+
+Account ::= GraphicString
+
+User-Identity-Attribute ::= CHOICE {
+ no-value-available [0] NULL,
+ -- Indicates partial support of this attribute.
+ actual-values User-Identity
+}
+
+User-Identity ::= GraphicString
+
+Access-Control-Attribute ::= CHOICE {
+ no-value-available [0] NULL,
+ -- Indicates partial support of this attribute.
+ actual-values [1] SET OF Access-Control-Element
+}
+
+-- The semantics of this attribute are described in ISO 8571-2
+Access-Control-Element ::= SEQUENCE {
+ action-list [0] Access-Request,
+ concurrency-access [1] Concurrency-Access OPTIONAL,
+ identity [2] User-Identity OPTIONAL,
+ passwords [3] Access-Passwords OPTIONAL,
+ location [4] Application-Entity-Title OPTIONAL
+}
+
+Access-Request ::= BIT STRING {
+ read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5),
+ change-attribute(6), delete-object(7)}
+
+Access-Passwords ::= SEQUENCE {
+ read-password [0] Password,
+ insert-password [1] Password,
+ replace-password [2] Password,
+ extend-password [3] Password,
+ erase-password [4] Password,
+ read-attribute-password [5] Password,
+ change-attribute-password [6] Password,
+ delete-password [7] Password,
+ pass-passwords [8] Pass-Passwords,
+ link-password [9] Password
+}
+
+Password ::= CHOICE {
+ graphic-string GraphicString,
+ octet-string OCTET STRING
+}
+
+Pass-Passwords ::= SEQUENCE OF Password
+
+Application-Entity-Title ::= SEQUENCE {
+ ap-title AP-title,
+ ae-qualifier AE-qualifier
+}
+
+END -- of IPMSFileTransferBodyPartType
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p22/IPMSForwardedContentBodyPartType.asn b/epan/dissectors/asn1/p22/IPMSForwardedContentBodyPartType.asn
new file mode 100644
index 00000000..f6af7fcd
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSForwardedContentBodyPartType.asn
@@ -0,0 +1,54 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSForwardedContentBodyPartType (X.420:06/1999)
+IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ forwarded-content-body-part-type(15)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS
+ -- MTS Abstract Service
+ Content, ExtendedContentType, MessageDeliveryIdentifier, MessageDeliveryTime,
+ MessageSubmissionEnvelope, OriginatingMTACertificate,
+ OtherMessageDeliveryFields, ProofOfSubmission
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- IPMS Information Objects
+ EXTENDED-BODY-PART-TYPE
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- IPMS Object Identifiers
+ id-ep-content, id-et-content
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)};
+
+-- Forwarded Content body part
+content-body-part{ExtendedContentType:content-type} EXTENDED-BODY-PART-TYPE ::=
+ {
+ PARAMETERS
+ {ForwardedContentParameters
+ IDENTIFIED BY {id-ep-content content-type}},
+ DATA {Content
+ IDENTIFIED BY {id-et-content content-type}}
+}
+
+ForwardedContentParameters ::= SET {
+ delivery-time [0] MessageDeliveryTime OPTIONAL,
+ delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL,
+ mts-identifier [2] MessageDeliveryIdentifier OPTIONAL,
+ submission-proof [3] SubmissionProof OPTIONAL
+}
+
+SubmissionProof ::= SET {
+ proof-of-submission [0] ProofOfSubmission,
+ originating-MTA-certificate [1] OriginatingMTACertificate,
+ message-submission-envelope MessageSubmissionEnvelope
+}
+
+END -- of IPMSForwardedContentBodyPartType
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p22/IPMSHeadingExtensions.asn b/epan/dissectors/asn1/p22/IPMSHeadingExtensions.asn
new file mode 100644
index 00000000..f7f80092
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSHeadingExtensions.asn
@@ -0,0 +1,267 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSHeadingExtensions (X.420:06/1999)
+IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ heading-extensions(6) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS
+ -- IPMS Information Objects
+ IPMS-EXTENSION, ORDescriptor, RecipientSpecifier, ThisIPMField, BodyPart,
+ BodyPartNumber
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- MTS Abstract Service
+ ExtendedCertificates, SecurityLabel, UniversalOrBMPString{}
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- Directory Authentication Framework
+ AlgorithmIdentifier, SIGNATURE{}, SIGNED{}
+ --==
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3}
+ -- Directory Certificate Extensions
+ CertificateAssertion
+ --==
+ FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
+ certificateExtensions(26) 0}
+ -- IPMS upper bounds
+ ub-alpha-code-length, ub-circulation-list-members, ub-distribution-codes,
+ ub-extended-subject-length, ub-information-categories,
+ ub-information-category-length, ub-manual-handling-instruction-length,
+ ub-manual-handling-instructions, ub-originators-reference-length,
+ ub-precedence
+ --==
+ FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ upper-bounds(10) version-1999(1)}
+ -- IPMS Object Identifiers
+ id-hex-authorization-time, id-hex-auto-submitted,
+ id-hex-body-part-signatures, id-hex-circulation-list-recipients,
+ id-hex-distribution-codes, id-hex-extended-subject, id-hex-incomplete-copy,
+ id-hex-information-category, id-hex-ipm-security-label, id-hex-languages,
+ id-hex-manual-handling-instructions, id-hex-originators-reference,
+ id-hex-precedence-policy-id, id-rex-circulation-list-indicator,
+ id-rex-precedence
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)};
+
+-- Incomplete Copy
+incomplete-copy IPMS-EXTENSION ::= {
+ VALUE IncompleteCopy,
+ IDENTIFIED BY id-hex-incomplete-copy
+}
+
+IncompleteCopy ::= NULL
+
+-- Languages
+languages IPMS-EXTENSION ::= {
+ VALUE --SET OF Language-- Languages,
+ IDENTIFIED BY id-hex-languages
+}
+
+--WS: Support dissection of extension
+Languages ::= SET OF Language
+
+Language ::= PrintableString(SIZE (2 | 5))
+
+-- Auto-submitted
+auto-submitted IPMS-EXTENSION ::= {
+ VALUE AutoSubmitted,
+ IDENTIFIED BY id-hex-auto-submitted
+}
+
+AutoSubmitted ::= ENUMERATED {
+ not-auto-submitted(0), auto-generated(1), auto-replied(2)}
+
+body-part-signatures IPMS-EXTENSION ::= {
+ VALUE BodyPartSignatures,
+ IDENTIFIED BY id-hex-body-part-signatures
+}
+
+BodyPartSignatures ::=
+ SET OF
+ SET {body-part-number BodyPartNumber,
+ body-part-signature BodyPartSignature,
+ originator-certificate-selector [1] CertificateAssertion OPTIONAL,
+ originator-certificates [0] ExtendedCertificates OPTIONAL,
+ ...}
+
+--BodyPartNumber ::= INTEGER(1..MAX)
+
+-- WS: Import Signature definition
+Signature ::= SEQUENCE {
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+BodyPartSignature ::= Signature
+-- SIGNATURE
+-- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
+-- body-part BodyPart,
+-- body-part-security-label SecurityLabel OPTIONAL
+-- }}
+
+ipm-security-label IPMS-EXTENSION ::= {
+ VALUE IPMSecurityLabel,
+ IDENTIFIED BY id-hex-ipm-security-label
+}
+
+IPMSecurityLabel ::= SEQUENCE {
+ content-security-label [0] SecurityLabel,
+ heading-security-label [1] SecurityLabel OPTIONAL,
+ body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL
+}
+
+BodyPartSecurityLabel ::= CHOICE {
+ body-part-unlabelled [0] NULL,
+ body-part-security-label [1] SecurityLabel
+}
+
+-- Authorization Time
+authorization-time IPMS-EXTENSION ::= {
+ VALUE AuthorizationTime,
+ IDENTIFIED BY id-hex-authorization-time
+}
+
+AuthorizationTime ::= GeneralizedTime
+
+-- Circulation List
+circulation-list-recipients IPMS-EXTENSION ::= {
+ VALUE CirculationList,
+ IDENTIFIED BY id-hex-circulation-list-recipients
+}
+
+CirculationList ::=
+ SEQUENCE (SIZE (2..ub-circulation-list-members)) OF CirculationMember
+
+CirculationMember ::= SET {
+ circulation-recipient
+ RecipientSpecifier
+ (WITH COMPONENTS {
+ ...,
+ recipient (WITH COMPONENTS {
+ ...,
+ formal-name PRESENT
+ })
+ }),
+ checked Checkmark OPTIONAL
+}
+
+Checkmark ::= CHOICE {
+ simple NULL,
+ timestamped CirculationTime,
+ signed CirculationSignature
+}
+
+CirculationTime ::= GeneralizedTime
+
+--WS: expand SIGNED MACRO manually
+CirculationSignatureData ::=
+-- SIGNED
+-- {-- SEQUENCE {algorithm-identifier CirculationSignatureAlgorithmIdentifier,
+ this-IPM ThisIPMField,
+ timestamp CirculationTime}--}
+
+CirculationSignature ::= SEQUENCE {
+ circulation-signature-data CirculationSignatureData,
+ algorithm-identifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+CirculationSignatureAlgorithmIdentifier ::= AlgorithmIdentifier
+
+-- Circulation List Indicator
+circulation-list-indicator IPMS-EXTENSION ::= {
+ VALUE NULL,
+ IDENTIFIED BY id-rex-circulation-list-indicator
+}
+
+--WS: Allow dissection.
+CirculationListIndicator ::= NULL
+
+-- Distribution Codes
+distribution-codes IPMS-EXTENSION ::= {
+ VALUE DistributionCodes,
+ IDENTIFIED BY id-hex-distribution-codes
+}
+
+DistributionCodes ::=
+ SEQUENCE (SIZE (1..ub-distribution-codes)) OF DistributionCode
+
+DistributionCode ::= SEQUENCE {
+ oid-code OBJECT IDENTIFIER OPTIONAL,
+ alphanumeric-code AlphaCode OPTIONAL,
+ or-descriptor [0] ORDescriptor OPTIONAL
+}
+
+AlphaCode ::= UniversalOrBMPString{ub-alpha-code-length}
+
+-- Extended Subject
+extended-subject IPMS-EXTENSION ::= {
+ VALUE ExtendedSubject,
+ IDENTIFIED BY id-hex-extended-subject
+}
+
+ExtendedSubject ::= UniversalOrBMPString{ub-extended-subject-length}
+
+-- Information category
+information-category IPMS-EXTENSION ::= {
+ VALUE InformationCategories,
+ IDENTIFIED BY id-hex-information-category
+}
+
+InformationCategories ::=
+ SEQUENCE (SIZE (1..ub-information-categories)) OF InformationCategory
+
+InformationCategory ::= SEQUENCE {
+ reference [0] OBJECT IDENTIFIER OPTIONAL,
+ description [1] DescriptionString OPTIONAL
+}
+
+DescriptionString ::= UniversalOrBMPString{ub-information-category-length}
+
+-- Manual handling Instructions
+manual-handling-instructions IPMS-EXTENSION ::= {
+ VALUE ManualHandlingInstructions,
+ IDENTIFIED BY id-hex-manual-handling-instructions
+}
+
+ManualHandlingInstructions ::=
+ SEQUENCE (SIZE (1..ub-manual-handling-instructions)) OF
+ ManualHandlingInstruction
+
+ManualHandlingInstruction ::=
+ UniversalOrBMPString{ub-manual-handling-instruction-length}
+
+-- Originator's Reference
+originators-reference IPMS-EXTENSION ::= {
+ VALUE OriginatorsReference,
+ IDENTIFIED BY id-hex-originators-reference
+}
+
+OriginatorsReference ::= UniversalOrBMPString{ub-originators-reference-length}
+
+-- Precedence Policy Identifier
+precedence-policy-identifier IPMS-EXTENSION ::= {
+ VALUE PrecedencePolicyIdentifier,
+ IDENTIFIED BY id-hex-precedence-policy-id
+}
+
+PrecedencePolicyIdentifier ::= OBJECT IDENTIFIER
+
+-- Precedence
+precedence IPMS-EXTENSION ::= {
+ VALUE Precedence,
+ IDENTIFIED BY id-rex-precedence
+}
+
+Precedence ::= INTEGER(0..ub-precedence)
+
+END -- of IPMSHeadingExtensions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p22/IPMSInformationObjects.asn b/epan/dissectors/asn1/p22/IPMSInformationObjects.asn
new file mode 100644
index 00000000..fde49143
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSInformationObjects.asn
@@ -0,0 +1,643 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSInformationObjects (X.420:06/1999)
+IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS
+ -- IPMS Extended Body Parts
+ bilaterally-defined-body-part, encrypted-body-part, g3-facsimile-body-part,
+ g4-class1-body-part, ia5-text-body-part, message-body-part,
+ mixed-mode-body-part, nationally-defined-body-part, teletex-body-part,
+ videotex-body-part
+ --==
+ FROM IPMSExtendedBodyPartTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ extended-body-part-types(7) version-1994(0)}
+ general-text-body-part
+ --==
+ FROM IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7)
+ modules(0) extended-body-part-types-2(1)}
+ file-transfer-body-part
+ --==
+ FROM IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
+ modules(0) file-transfer-body-part-type(9)}
+ voice-body-part
+ --==
+ FROM IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
+ modules(0) extended-voice-body-part-type(11)}
+ notification-body-part, report-body-part
+ --==
+ FROM IPMSForwardedReportBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
+ modules(0) forwarded-report-body-part-type(12)}
+ content-body-part{}
+ --==
+ FROM IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
+ modules(0) forwarded-content-body-part-type(15)}
+ pkcs7-body-part
+ --==
+ FROM PKCS7BodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ pkcs7-body-part-type(16)}
+ -- IPMS Heading Extensions
+ authorization-time, auto-submitted, body-part-signatures,
+ circulation-list-indicator, circulation-list-recipients,
+ distribution-codes, extended-subject, incomplete-copy,
+ information-category, ipm-security-label, languages,
+ manual-handling-instructions, originators-reference, precedence,
+ precedence-policy-identifier
+ --==
+ FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ heading-extensions(6) version-1999(1)}
+ -- IPMS Security Extensions
+ body-part-encryption-token, BodyPartTokens, forwarded-content-token,
+ ForwardedContentToken, ipn-security-response, recipient-security-request
+ --==
+ FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ ipm-security-extensions(14) version-1999(1)}
+ -- IPMS Upper bounds
+ ub-auto-forward-comment, ub-free-form-name, ub-local-ipm-identifier,
+ ub-subject-field, ub-telephone-number
+ --==
+ FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ upper-bounds(10) version-1999(1)}
+ -- ODIF
+-- Interchange-Data-Element
+ --==
+-- FROM Interchange-Data-Elements {2 8 1 5 5}
+ -- MTS Abstract Service
+ EncodedInformationTypes, ExtendedCertificates, EXTENSION,
+ G3FacsimileNonBasicParameters, MessageDeliveryTime, ORName,
+ OtherMessageDeliveryFields, SupplementaryInformation,
+ TeletexNonBasicParameters
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- MS Abstract Service
+ MS-EXTENSION, SequenceNumber
+ --==
+ FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ abstract-service(1) version-1999(1)}
+ -- Directory Authentication Framework
+ AlgorithmIdentifier, ENCRYPTED{}
+ --==
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3}
+ -- IPMS Object Identifiers
+ id-mst-assembly-capability, id-mst-assembly-instructions,
+ id-mst-invalid-assembly-instructions, id-mst-invalid-ipn,
+ id-mst-originator-body-part-encryption-token,
+ id-mst-originator-forwarded-content-token,
+ id-mst-suspend-auto-acknowledgement, id-mst-prevent-nrn-generation,
+ id-on-absence-advice, id-on-change-of-address-advice
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)};
+
+Time ::= UTCTime
+
+-- Information object
+InformationObject ::= CHOICE {ipm [0] IPM,
+ ipn [1] IPN
+}
+
+-- IPM
+IPM ::= SEQUENCE {heading Heading,
+ body Body
+}
+
+-- MTS Extensions
+IPMPerRecipientEnvelopeExtensions EXTENSION ::=
+ {blind-copy-recipients | body-part-encryption-token |
+ forwarded-content-token, ...}
+
+-- IPMS Extensions
+IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Type DEFAULT NULL
+}WITH SYNTAX {[VALUE &Type,]
+ IDENTIFIED BY &id
+}
+
+IPMSExtension{IPMS-EXTENSION:ChosenFrom} ::= SEQUENCE {
+ type IPMS-EXTENSION.&id({ChosenFrom}),
+ value IPMS-EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
+}
+
+-- WS: Moved earlier
+--IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+-- &Type DEFAULT NULL
+--}WITH SYNTAX {[VALUE &Type,]
+-- IDENTIFIED BY &id
+--}
+
+PrivateIPMSExtensions IPMS-EXTENSION ::=
+ {...}
+
+-- Heading
+Heading ::= SET {
+ this-IPM ThisIPMField,
+ originator [0] OriginatorField OPTIONAL,
+ authorizing-users [1] AuthorizingUsersField OPTIONAL,
+ primary-recipients [2] PrimaryRecipientsField DEFAULT {},
+ copy-recipients [3] CopyRecipientsField DEFAULT {},
+ blind-copy-recipients [4] BlindCopyRecipientsField OPTIONAL,
+ replied-to-IPM [5] RepliedToIPMField OPTIONAL,
+ obsoleted-IPMs [6] ObsoletedIPMsField DEFAULT {},
+ related-IPMs [7] RelatedIPMsField DEFAULT {},
+ subject [8] EXPLICIT SubjectField OPTIONAL,
+ expiry-time [9] ExpiryTimeField OPTIONAL,
+ reply-time [10] ReplyTimeField OPTIONAL,
+ reply-recipients [11] ReplyRecipientsField OPTIONAL,
+ importance [12] ImportanceField DEFAULT normal,
+ sensitivity [13] SensitivityField OPTIONAL,
+ auto-forwarded [14] AutoForwardedField DEFAULT FALSE,
+ extensions [15] ExtensionsField DEFAULT {}
+}
+
+-- Heading component types
+IPMIdentifier ::= [APPLICATION 11] SET {
+ user ORName OPTIONAL,
+ user-relative-identifier LocalIPMIdentifier
+}
+
+LocalIPMIdentifier ::= PrintableString(SIZE (0..ub-local-ipm-identifier))
+
+RecipientSpecifier ::= SET {
+ recipient [0] ORDescriptor,
+ notification-requests [1] NotificationRequests DEFAULT {},
+ reply-requested [2] BOOLEAN DEFAULT FALSE,
+ recipient-extensions [3] RecipientExtensionsField OPTIONAL
+}
+
+ORDescriptor ::= SET {
+ formal-name ORName OPTIONAL,
+ free-form-name [0] FreeFormName OPTIONAL,
+ telephone-number [1] TelephoneNumber OPTIONAL
+}
+
+FreeFormName ::= TeletexString(SIZE (0..ub-free-form-name))
+
+TelephoneNumber ::= PrintableString(SIZE (0..ub-telephone-number))
+
+NotificationRequests ::= BIT STRING {
+ rn(0), nrn(1), ipm-return(2), an-supported(3), suppress-an(4)}
+
+RecipientExtensionsField ::= SET OF IPMSExtension{{RecipientExtensions}}
+
+RecipientExtensions IPMS-EXTENSION ::=
+ {circulation-list-indicator | precedence | recipient-security-request |
+ PrivateIPMSExtensions, ...}
+
+-- This IPM heading field
+ThisIPMField ::= IPMIdentifier
+
+-- Originator heading field
+OriginatorField ::= ORDescriptor
+
+-- Authorizing Users heading field
+AuthorizingUsersField ::= SEQUENCE OF AuthorizingUsersSubfield
+
+AuthorizingUsersSubfield ::= ORDescriptor
+
+-- Primary Recipients heading field
+PrimaryRecipientsField ::= SEQUENCE OF PrimaryRecipientsSubfield
+
+PrimaryRecipientsSubfield ::= RecipientSpecifier
+
+-- Copy Recipients heading field
+CopyRecipientsField ::= SEQUENCE OF CopyRecipientsSubfield
+
+CopyRecipientsSubfield ::= RecipientSpecifier
+
+-- Blind Copy Recipients heading field
+BlindCopyRecipientsField ::= SEQUENCE OF BlindCopyRecipientsSubfield
+
+BlindCopyRecipientsSubfield ::= RecipientSpecifier
+
+-- Blind Copy Recipients envelope field
+blind-copy-recipients EXTENSION ::= {
+ BlindCopyRecipientsField,
+ IDENTIFIED BY standard-extension:41
+}
+
+-- Replied-to IPM heading field
+RepliedToIPMField ::= IPMIdentifier
+
+-- Obsoleted IPMs heading field
+ObsoletedIPMsField ::= SEQUENCE OF ObsoletedIPMsSubfield
+
+ObsoletedIPMsSubfield ::= IPMIdentifier
+
+-- Related IPMs heading field
+RelatedIPMsField ::= SEQUENCE OF RelatedIPMsSubfield
+
+RelatedIPMsSubfield ::= IPMIdentifier
+
+-- Subject heading field
+SubjectField ::= TeletexString(SIZE (0..ub-subject-field))
+
+-- Expiry Time heading field
+ExpiryTimeField ::= Time
+
+-- Reply Time heading field
+ReplyTimeField ::= Time
+
+-- Reply Recipients heading field
+ReplyRecipientsField ::= SEQUENCE OF ReplyRecipientsSubfield
+
+ReplyRecipientsSubfield ::=
+ ORDescriptor(WITH COMPONENTS {
+ ...,
+ formal-name PRESENT
+ })
+
+-- Importance heading field
+ImportanceField ::= ENUMERATED {low(0), normal(1), high(2)}
+
+-- Sensitivity heading field
+SensitivityField ::= ENUMERATED {
+ personal(1), private(2), company-confidential(3)}
+
+-- Auto-forwarded heading field
+AutoForwardedField ::= BOOLEAN
+
+-- Extensions heading field
+ExtensionsField ::= SET OF IPMSExtension{{HeadingExtensions}}
+
+HeadingExtensions IPMS-EXTENSION ::=
+ {authorization-time | auto-submitted | body-part-signatures |
+ circulation-list-recipients | distribution-codes | extended-subject |
+ incomplete-copy | information-category | ipm-security-label | languages |
+ manual-handling-instructions | originators-reference |
+ precedence-policy-identifier | PrivateIPMSExtensions, ...}
+
+-- Body
+Body ::= SEQUENCE OF BodyPart
+
+BodyPart ::= CHOICE {
+ basic
+ CHOICE {ia5-text [0] IA5TextBodyPart,
+ g3-facsimile [3] G3FacsimileBodyPart,
+ g4-class1 [4] G4Class1BodyPart,
+ teletex [5] TeletexBodyPart,
+ videotex [6] VideotexBodyPart,
+ encrypted [8] EncryptedBodyPart,
+ message [9] MessageBodyPart,
+ mixed-mode [11] MixedModeBodyPart,
+ bilaterally-defined [14] BilaterallyDefinedBodyPart,
+ nationally-defined [7] NationallyDefinedBodyPart},
+ extended [15] ExtendedBodyPart{{IPMBodyPartTable}}
+}
+
+-- Extended body part
+ExtendedBodyPart{EXTENDED-BODY-PART-TYPE:IPMBodyPartTable} ::= SEQUENCE {
+ parameters [0] INSTANCE OF TYPE-IDENTIFIER OPTIONAL,
+ data INSTANCE OF TYPE-IDENTIFIER
+}
+(CONSTRAINED BY { -- must correspond to the &parameters field and &data field of a member of --
+ IPMBodyPartTable})
+
+IPMBodyPartTable EXTENDED-BODY-PART-TYPE ::=
+ {StandardBodyParts | ApplicationSpecificBodyParts}
+
+StandardBodyParts EXTENDED-BODY-PART-TYPE ::=
+ {ia5-text-body-part | g3-facsimile-body-part | g4-class1-body-part |
+ teletex-body-part | videotex-body-part | encrypted-body-part |
+ message-body-part | mixed-mode-body-part | bilaterally-defined-body-part |
+ nationally-defined-body-part | general-text-body-part |
+ file-transfer-body-part | voice-body-part | report-body-part |
+ notification-body-part |
+ content-body-part{{1 2 3 -- RELATIVE-OID to be provided --}} |
+ pkcs7-body-part, ...}
+
+ApplicationSpecificBodyParts EXTENDED-BODY-PART-TYPE ::=
+ {--any body part defined in other Specifications, or for proprietary or private use
+ ...}
+
+EXTENDED-BODY-PART-TYPE ::= CLASS {
+ &parameters TYPE-IDENTIFIER OPTIONAL,
+ &data TYPE-IDENTIFIER
+}WITH SYNTAX {[PARAMETERS &parameters,]
+ DATA &data
+}
+
+-- IA5 Text body part
+IA5TextBodyPart ::= SEQUENCE {
+ parameters IA5TextParameters,
+ data IA5TextData
+}
+
+IA5TextParameters ::= SET {repertoire [0] Repertoire DEFAULT ia5
+}
+
+IA5TextData ::= IA5String
+
+Repertoire ::= ENUMERATED {ita2(2), ia5(5)}
+
+-- G3 Facsimile body part
+G3FacsimileBodyPart ::= SEQUENCE {
+ parameters G3FacsimileParameters,
+ data G3FacsimileData
+}
+
+G3FacsimileParameters ::= SET {
+ number-of-pages [0] INTEGER OPTIONAL,
+ non-basic-parameters [1] G3FacsimileNonBasicParameters OPTIONAL
+}
+
+G3FacsimileData ::= SEQUENCE OF BIT STRING
+
+-- G4 Class 1 and Mixed-mode body parts
+G4Class1BodyPart ::= SEQUENCE OF Interchange-Data-Element
+
+MixedModeBodyPart ::= SEQUENCE OF Interchange-Data-Element
+
+--WS: We don't have an IMPORT for this, so we make it an ANY.
+Interchange-Data-Element ::= ANY
+
+-- Teletex body part
+TeletexBodyPart ::= SEQUENCE {
+ parameters TeletexParameters,
+ data TeletexData
+}
+
+TeletexParameters ::= SET {
+ number-of-pages [0] INTEGER OPTIONAL,
+ telex-compatible [1] BOOLEAN DEFAULT FALSE,
+ non-basic-parameters [2] TeletexNonBasicParameters OPTIONAL
+}
+
+TeletexData ::= SEQUENCE OF TeletexString
+
+-- Videotex body part
+VideotexBodyPart ::= SEQUENCE {
+ parameters VideotexParameters,
+ data VideotexData
+}
+
+VideotexParameters ::= SET {syntax [0] VideotexSyntax OPTIONAL
+}
+
+VideotexSyntax ::= INTEGER {
+ ids(0), data-syntax1(1), data-syntax2(2), data-syntax3(3)}
+
+VideotexData ::= VideotexString
+
+-- Encrypted body part
+EncryptedBodyPart ::= SEQUENCE {
+ parameters EncryptedParameters,
+ data EncryptedData
+}
+
+EncryptedParameters ::= SET {
+ algorithm-identifier AlgorithmIdentifier,
+ originator-certificates ExtendedCertificates OPTIONAL,
+ ...
+}
+
+EncryptedData ::= BIT STRING(CONSTRAINED BY {BodyPart})
+
+-- Message body part
+MessageBodyPart ::= SEQUENCE {
+ parameters MessageParameters,
+ data MessageData
+}
+
+MessageParameters ::= SET {
+ delivery-time [0] MessageDeliveryTime OPTIONAL,
+ delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL
+}
+
+MessageData ::= IPM
+
+-- Bilaterally Defined body part
+BilaterallyDefinedBodyPart ::= OCTET STRING
+
+-- Nationally Defined body part
+NATIONAL-BODY-PARTS ::= CLASS {&Type
+}
+
+NationallyDefinedBodyPart ::= NATIONAL-BODY-PARTS.&Type
+
+-- Provided for Historic reasons. Use is strongly deprecated.
+-- IPN
+IPN ::= SET {
+ -- common-fields --COMPONENTS OF CommonFields,
+ choice
+ [0] CHOICE {non-receipt-fields [0] NonReceiptFields,
+ receipt-fields [1] ReceiptFields,
+ other-notification-type-fields
+ [2] OtherNotificationTypeFields}
+}
+
+RN ::=
+ IPN
+ (WITH COMPONENTS {
+ ...,
+ choice (WITH COMPONENTS {
+ receipt-fields PRESENT
+ })
+ })
+
+NRN ::=
+ IPN
+ (WITH COMPONENTS {
+ ...,
+ choice (WITH COMPONENTS {
+ non-receipt-fields PRESENT
+ })
+ })
+
+ON ::=
+ IPN
+ (WITH COMPONENTS {
+ ...,
+ choice (WITH COMPONENTS {
+ other-notification-type-fields PRESENT
+ })
+ })
+
+CommonFields ::= SET {
+ subject-ipm SubjectIPMField,
+ ipn-originator [1] IPNOriginatorField OPTIONAL,
+ ipm-intended-recipient [2] IPMIntendedRecipientField OPTIONAL,
+ conversion-eits ConversionEITsField OPTIONAL,
+ notification-extensions [3] NotificationExtensionsField OPTIONAL
+}
+
+NonReceiptFields ::= SET {
+ non-receipt-reason [0] NonReceiptReasonField,
+ discard-reason [1] DiscardReasonField OPTIONAL,
+ auto-forward-comment [2] AutoForwardCommentField OPTIONAL,
+ returned-ipm [3] ReturnedIPMField OPTIONAL,
+ nrn-extensions [4] NRNExtensionsField OPTIONAL
+}
+
+ReceiptFields ::= SET {
+ receipt-time [0] ReceiptTimeField,
+ acknowledgment-mode [1] AcknowledgmentModeField DEFAULT manual,
+ suppl-receipt-info [2] SupplReceiptInfoField OPTIONAL,
+ rn-extensions [3] RNExtensionsField OPTIONAL
+}
+
+-- Common fields
+SubjectIPMField ::= IPMIdentifier
+
+IPNOriginatorField ::= ORDescriptor
+
+IPMIntendedRecipientField ::= ORDescriptor
+
+ConversionEITsField ::= EncodedInformationTypes
+
+NotificationExtensionsField ::= SET OF IPMSExtension{{NotificationExtensions}}
+
+NotificationExtensions IPMS-EXTENSION ::=
+ {ipn-security-response | PrivateIPMSExtensions, ...}
+
+-- Non-receipt fields
+NonReceiptReasonField ::= ENUMERATED {
+ ipm-discarded(0), ipm-auto-forwarded(1), ...
+ }
+
+-- ITU-T version:
+DiscardReasonField ::= ENUMERATED {
+ ipm-expired(0), ipm-obsoleted(1), user-subscription-terminated(2),
+ not-used(3)}
+
+-- ISO/IEC version:
+--DiscardReasonField ::= ENUMERATED {
+-- ipm-expired (0),
+-- ipm-obsoleted (1),
+-- user-subscription-terminated (2),
+-- The following value may not be supported by implementations of earlier versions of this Specification
+-- ipm-deleted (3),
+-- ... }
+AutoForwardCommentField ::=
+ AutoForwardComment
+
+AutoForwardComment ::= PrintableString(SIZE (0..ub-auto-forward-comment))
+
+ReturnedIPMField ::= IPM
+
+NRNExtensionsField ::= SET OF IPMSExtension{{NRNExtensions}}
+
+NRNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
+
+-- Receipt fields
+ReceiptTimeField ::= Time
+
+AcknowledgmentModeField ::= ENUMERATED {manual(0), automatic(1)}
+
+SupplReceiptInfoField ::= SupplementaryInformation
+
+RNExtensionsField ::= SET OF IPMSExtension{{RNExtensions}}
+
+RNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
+
+-- Other Notification Type fields
+OtherNotificationTypeFields ::= SET OF IPMSExtension{{OtherNotifications}}
+
+OtherNotifications IPMS-EXTENSION ::=
+ {AdviceNotifications | PrivateIPMSExtensions, ...}
+
+AdviceNotifications IPMS-EXTENSION ::=
+ {absence-advice | change-of-address-advice, ...}
+
+-- Advice Notification fields
+absence-advice IPMS-EXTENSION ::= {
+ VALUE AbsenceAdvice,
+ IDENTIFIED BY id-on-absence-advice
+}
+
+AbsenceAdvice ::= SEQUENCE {
+ advice BodyPart OPTIONAL,
+ next-available Time OPTIONAL
+}
+
+-- at least one component shall be present
+change-of-address-advice IPMS-EXTENSION ::= {
+ VALUE ChangeOfAddressAdvice,
+ IDENTIFIED BY id-on-change-of-address-advice
+}
+
+ChangeOfAddressAdvice ::= SEQUENCE {
+ new-address
+ [0] ORDescriptor(WITH COMPONENTS {
+ ...,
+ formal-name PRESENT
+ }),
+ effective-from [1] Time OPTIONAL
+}
+
+-- Message Store Realization
+
+-- WS: Manually import MACRO
+MS-EXTENSION ::= TYPE-IDENTIFIER
+
+prevent-nrn-generation MS-EXTENSION ::= {
+ NULL
+ IDENTIFIED BY id-mst-prevent-nrn-generation
+}
+
+suspend-auto-acknowledgement MS-EXTENSION ::= {
+ NULL
+ IDENTIFIED BY id-mst-suspend-auto-acknowledgement
+}
+
+assembly-capability MS-EXTENSION ::= {
+ NULL
+ IDENTIFIED BY id-mst-assembly-capability
+}
+
+IPMSubmissionOptions MS-EXTENSION ::=
+ {ipm-assembly-instructions | originator-body-part-encryption-token |
+ originator-forwarded-content-token, ...} -- For future extension additions
+
+ipm-assembly-instructions MS-EXTENSION ::= {
+ IPMAssemblyInstructions
+ IDENTIFIED BY id-mst-assembly-instructions
+}
+
+IPMAssemblyInstructions ::= SET {assembly-instructions [0] BodyPartReferences
+}
+
+BodyPartReferences ::= SEQUENCE OF BodyPartReference
+
+BodyPartReference ::= CHOICE {
+ stored-entry [0] SequenceNumber,
+ stored-content [1] SequenceNumber,
+ submitted-body-part [2] INTEGER(1..MAX),
+ stored-body-part
+ [3] SEQUENCE {message-entry SequenceNumber,
+ body-part-number BodyPartNumber}
+}
+
+BodyPartNumber ::= INTEGER(1..MAX)
+
+originator-body-part-encryption-token MS-EXTENSION ::= {
+ BodyPartTokens
+ IDENTIFIED BY id-mst-originator-body-part-encryption-token
+}
+
+originator-forwarded-content-token MS-EXTENSION ::= {
+ ForwardedContentToken
+ IDENTIFIED BY id-mst-originator-forwarded-content-token
+}
+
+IPMSubmissionErrors MS-EXTENSION ::=
+ {invalid-assembly-instructions | invalid-ipn, ...
+ } -- For future extension additions
+
+invalid-assembly-instructions MS-EXTENSION ::= {
+ BodyPartReferences
+ IDENTIFIED BY id-mst-invalid-assembly-instructions
+}
+
+invalid-ipn MS-EXTENSION ::= {NULL
+ IDENTIFIED BY id-mst-invalid-ipn
+}
+
+END -- of IPMSInformationObjects
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p22/IPMSMessageStoreAttributes.asn b/epan/dissectors/asn1/p22/IPMSMessageStoreAttributes.asn
new file mode 100644
index 00000000..0017ddad
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSMessageStoreAttributes.asn
@@ -0,0 +1,1175 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSMessageStoreAttributes (X.420:06/1999)
+IPMSMessageStoreAttributes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ message-store-attributes(8) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS
+ -- IPMS Heading Extensions
+ AuthorizationTime, AutoSubmitted, --BodyPartNumber,-- BodyPartSecurityLabel,
+ BodyPartSignatures, CirculationMember, DistributionCode, ExtendedSubject,
+ IncompleteCopy, InformationCategory, IPMSecurityLabel, Language,
+ ManualHandlingInstruction, OriginatorsReference, Precedence,
+ PrecedencePolicyIdentifier
+ --==
+ FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ heading-extensions(6) version-1999(1)}
+ -- IPMS Security Extensions
+ BodyPartTokens, ForwardedContentToken
+ --==
+ FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ ipm-security-extensions(14) version-1999(1)}
+ -- IPMS Information Objects
+ AcknowledgmentModeField, AuthorizingUsersSubfield, AutoForwardCommentField,
+ AutoForwardedField, BilaterallyDefinedBodyPart,
+ BlindCopyRecipientsSubfield, Body, BodyPartNumber, ConversionEITsField,
+ CopyRecipientsSubfield, DiscardReasonField, EncryptedBodyPart,
+ EncryptedData, EncryptedParameters, ExpiryTimeField,
+ EXTENDED-BODY-PART-TYPE, G3FacsimileBodyPart, G3FacsimileData,
+ G3FacsimileParameters, G4Class1BodyPart, Heading, IA5TextBodyPart,
+ IA5TextData, IA5TextParameters, ImportanceField, IPMIdentifier,
+ IPMIntendedRecipientField, IPMSExtension{}, IPNOriginatorField,
+ MessageBodyPart, MessageData, MessageParameters, MixedModeBodyPart,
+ NationallyDefinedBodyPart, NonReceiptReasonField, NotificationExtensions,
+ NRNExtensions, ObsoletedIPMsSubfield, ORDescriptor, OriginatorField,
+ OtherNotifications, PrimaryRecipientsSubfield, ReceiptTimeField,
+ RecipientSpecifier, RelatedIPMsSubfield, RepliedToIPMField,
+ ReplyRecipientsSubfield, ReplyTimeField, ReturnedIPMField, RNExtensions,
+ SensitivityField, SubjectField, SubjectIPMField, SupplReceiptInfoField,
+ TeletexBodyPart, TeletexData, TeletexParameters, ThisIPMField,
+ VideotexBodyPart, VideotexData, VideotexParameters
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- IPMS Object Identifiers
+ id-bat-bilaterally-defined-body-parts, id-bat-body,
+ id-bat-encrypted-body-parts, id-bat-encrypted-data,
+ id-bat-encrypted-parameters, id-bat-extended-body-part-types,
+ id-bat-g3-facsimile-body-parts, id-bat-g3-facsimile-data,
+ id-bat-g3-facsimile-parameters, id-bat-g4-class1-body-parts,
+ id-bat-ia5-text-body-parts, id-bat-ia5-text-data,
+ id-bat-ia5-text-parameters, id-bat-message-body-parts, id-bat-message-data,
+ id-bat-message-parameters, id-bat-mixed-mode-body-parts,
+ id-bat-nationally-defined-body-parts, id-bat-teletex-body-parts,
+ id-bat-teletex-data, id-bat-teletex-parameters, id-bat-videotex-body-parts,
+ id-bat-videotex-data, id-bat-videotex-parameters,
+ id-cat-correlated-delivered-ipns, id-cat-correlated-delivered-replies,
+ id-cat-delivered-ipn-summary, id-cat-delivered-replies-summary,
+ id-cat-forwarded-ipms, id-cat-forwarding-ipms, id-cat-ipm-recipients,
+ id-cat-obsoleted-ipms, id-cat-obsoleting-ipms, id-cat-related-ipms,
+ id-cat-relating-ipms, id-cat-replied-to-ipm, id-cat-recipient-category,
+ id-cat-replying-ipms, id-cat-revised-reply-time, id-cat-subject-ipm,
+ id-cat-submitted-ipn-status, id-cat-submitted-ipns,
+ id-cat-submitted-reply-status, id-hat-authorization-time,
+ id-hat-authorizing-users, id-hat-auto-forwarded, id-hat-auto-submitted,
+ id-hat-blind-copy-recipients, id-hat-body-part-encryption-token,
+ id-hat-body-part-security-label,
+ id-hat-body-part-signature-verification-status,
+ id-hat-body-part-signatures, id-hat-circulation-list-recipients,
+ id-hat-copy-recipients, id-hat-distribution-codes, id-hat-expiry-time,
+ id-hat-extended-subject, id-hat-forwarded-content-token,
+ id-hat-forwarding-token, id-hat-heading, id-hat-importance,
+ id-hat-incomplete-copy, id-hat-information-category,
+ id-hat-ipm-security-label, id-hat-languages,
+ id-hat-manual-handling-instructions, id-hat-nrn-requestors,
+ id-hat-obsoleted-IPMs, id-hat-originator, id-hat-originators-reference,
+ id-hat-precedence, id-hat-precedence-policy-id, id-hat-primary-recipients,
+ id-hat-related-IPMs, id-hat-replied-to-IPM, id-hat-reply-recipients,
+ id-hat-reply-requestors, id-hat-reply-time, id-hat-rn-requestors,
+ id-hat-sensitivity, id-hat-subject, id-hat-this-ipm, id-mr-ipm-identifier,
+ id-mr-ipm-location, id-mr-or-descriptor, id-mr-or-descriptor-elements,
+ id-mr-or-descriptor-single-element, id-mr-or-descriptor-substring-elements,
+ id-mr-circulation-member, id-mr-circulation-member-checkmark,
+ id-mr-circulation-member-elements, id-mr-circulation-member-single-element,
+ id-mr-circulation-member-substring-elements, id-mr-distribution-code,
+ id-mr-information-category, id-mr-recipient-specifier,
+ id-mr-recipient-specifier-elements,
+ id-mr-recipient-specifier-single-element,
+ id-mr-recipient-specifier-substring-elements, id-nat-acknowledgment-mode,
+ id-nat-auto-forward-comment, id-nat-conversion-eits, id-nat-discard-reason,
+ id-nat-ipm-intended-recipient, id-nat-ipn-originator,
+ id-nat-non-receipt-reason, id-nat-notification-extensions,
+ id-nat-nrn-extensions, id-nat-other-notification-type-fields,
+ id-nat-receipt-time, id-nat-returned-ipm, id-nat-rn-extensions,
+ id-nat-subject-ipm, id-nat-suppl-receipt-info, id-sat-body-parts-summary,
+ id-sat-ipm-auto-discarded, id-sat-ipm-entry-type, id-sat-ipm-synopsis
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)}
+ -- MS Abstract Service
+ X413ATTRIBUTE, MS-EIT, SequenceNumber
+ --==
+ FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ abstract-service(1) version-1999(1)}
+ -- MS General Attribute Types
+ SignatureStatus
+ --==
+ FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-attribute-types(2) version-1999(1)}
+ -- MS matching-rules
+ MSString{}, mSStringMatch, mSSubstringsMatch
+ --==
+ FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-matching-rules(5) version-1999(1)}
+ -- MTS Abstract Service
+ EncodedInformationTypes, MessageToken
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- Directory Information Framework
+ objectIdentifierMatch, MATCHING-RULE
+ --==
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 3}
+ -- Directory Abstract Service
+ booleanMatch, generalizedTimeMatch, generalizedTimeOrderingMatch,
+ integerMatch, integerOrderingMatch, uTCTimeMatch, uTCTimeOrderingMatch
+ --==
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 3}
+ ub-msstring-match
+ FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
+ version-1994(0)};
+
+-- IPMS attribute table information object set
+IPMSAttributeTable X413ATTRIBUTE ::=
+ {acknowledgment-mode | authorizing-users | auto-forward-comment |
+ auto-forwarded | auto-submitted | bilaterally-defined-body-parts |
+ blind-copy-recipients | body | conversion-eits | copy-recipients |
+ discard-reason | encrypted-body-parts | encrypted-data |
+ encrypted-parameters | expiry-time | extended-body-part-types |
+ g3-facsimile-body-parts | g3-facsimile-data | g3-facsimile-parameters |
+ g4-class1-body-parts | heading | ia5-text-body-parts | ia5-text-data |
+ ia5-text-parameters | importance | incomplete-copy | ipm-entry-type |
+ ipm-intended-recipient | ipm-synopsis | ipn-originator | languages |
+ message-body-parts | message-data | message-parameters |
+ mixed-mode-body-parts | nationally-defined-body-parts | non-receipt-reason |
+ nrn-requestors | obsoleted-IPMs | originator | primary-recipients |
+ receipt-time | related-IPMs | replied-to-IPM | reply-recipients |
+ reply-requestors | reply-time | returned-ipm | rn-requestors | sensitivity |
+ subject | subject-ipm | suppl-receipt-info | teletex-body-parts |
+ teletex-data | teletex-parameters | this-ipm | videotex-body-parts |
+ videotex-data | videotex-parameters, ... -- 1994 extension additions --,
+ ac-correlated-delivered-ipns | ac-correlated-delivered-replies |
+ ac-delivered-ipn-summary | ac-delivered-replies-summary | ac-forwarded-ipms
+ | ac-forwarding-ipms | ac-ipm-recipients | ac-obsoleted-ipms |
+ ac-obsoleting-ipms | ac-related-ipms | ac-relating-ipms | ac-replied-to-ipm
+ | ac-replying-ipms | ac-subject-ipm | ac-submitted-ipn-status |
+ ac-submitted-ipns | ac-submitted-reply-status | authorization-time |
+ body-part-encryption-token | body-part-security-label |
+ body-part-signature-verification-status | body-part-signatures |
+ body-parts-summary | circulation-list-recipients | distribution-codes |
+ extended-subject | forwarded-content-token | forwarding-token |
+ information-category | ipm-auto-discarded | ipm-security-label |
+ manual-handling-instructions | notification-extensions | nrn-extensions |
+ originators-reference | other-notification-type-fields | precedence |
+ precedence-policy-identifier | recipient-category | revised-reply-time |
+ rn-extensions}
+
+-- WS: asn2wrs does not import the macro definitions so we redeclare here
+-- X413ATTRIBUTE information object class
+X413ATTRIBUTE ::= CLASS {
+ &id AttributeType UNIQUE,
+ &Type ,
+ &equalityMatch MATCHING-RULE OPTIONAL,
+ &substringsMatch MATCHING-RULE OPTIONAL,
+ &orderingMatch MATCHING-RULE OPTIONAL,
+ &numeration ENUMERATED {single-valued(0), multi-valued(1)},
+ -- 1994 extension
+ &OtherMatches MATCHING-RULE OPTIONAL
+}
+WITH SYNTAX {
+ WITH ATTRIBUTE-SYNTAX &Type,
+ [EQUALITY MATCHING-RULE &equalityMatch,]
+ [SUBSTRINGS MATCHING-RULE &substringsMatch,]
+ [ORDERING MATCHING-RULE &orderingMatch,]
+ [OTHER MATCHING-RULES &OtherMatches,]
+ NUMERATION &numeration,
+ ID &id
+}
+
+-- MATCHING-RULE information object class specification
+MATCHING-RULE ::= CLASS {
+-- WS: asn2wrs cannot handle the self-reference (use before declaration)
+ &ParentMatchingRules --MATCHING-RULE.&id-- OBJECT IDENTIFIER OPTIONAL,
+ &AssertionType OPTIONAL,
+ &uniqueMatchIndicator AttributeId OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ [PARENT &ParentMatchingRules]
+ [SYNTAX &AssertionType]
+ [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator]
+ ID &id
+}
+
+-- SUMMARY ATTRIBUTES
+-- IPM entry type
+ipm-entry-type X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMEntryType,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-sat-ipm-entry-type
+}
+
+IPMEntryType ::= ENUMERATED {ipm(0), rn(1), nrn(2), on(3)}
+
+-- IPM synopsis
+ipm-synopsis X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSynopsis,
+ NUMERATION single-valued,
+ ID id-sat-ipm-synopsis
+}
+
+IPMSynopsis ::= SEQUENCE OF BodyPartSynopsis
+
+BodyPartSynopsis ::= CHOICE {
+ message [0] MessageBodyPartSynopsis,
+ non-message [1] NonMessageBodyPartSynopsis
+}
+
+MessageBodyPartSynopsis ::= SEQUENCE {
+ number [0] SequenceNumber,
+ synopsis [1] IPMSynopsis
+}
+
+NonMessageBodyPartSynopsis ::= SEQUENCE {
+ type [0] OBJECT IDENTIFIER,
+ parameters [1] INSTANCE OF TYPE-IDENTIFIER OPTIONAL,
+ size [2] INTEGER,
+ processed [3] BOOLEAN DEFAULT FALSE
+}
+
+-- Body part summary
+body-parts-summary X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartDescriptor,
+ NUMERATION multi-valued,
+ ID id-sat-body-parts-summary
+}
+
+BodyPartDescriptor ::= SEQUENCE {
+ data [0] OBJECT IDENTIFIER,
+ parameters [1] OBJECT IDENTIFIER OPTIONAL,
+ this-child-entry [2] SequenceNumber OPTIONAL,
+ position [3] INTEGER,
+ size [4] INTEGER,
+ processed [5] BOOLEAN DEFAULT FALSE
+}
+
+-- IPM auto discarded
+ipm-auto-discarded X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BOOLEAN,
+ EQUALITY MATCHING-RULE booleanMatch,
+ NUMERATION single-valued,
+ ID id-sat-ipm-auto-discarded
+}
+
+-- Body part signature verification status
+body-part-signature-verification-status X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartSignatureVerification,
+ NUMERATION single-valued,
+ ID id-hat-body-part-signature-verification-status
+}
+
+BodyPartSignatureVerification ::=
+ SET OF
+ SET {body-part-sequence-number [0] BodyPartNumber,
+ body-part-signature [1] SignatureStatus}
+
+-- HEADING ATTRIBUTES
+-- Heading
+heading X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX Heading,
+ NUMERATION single-valued,
+ ID id-hat-heading
+}
+
+-- Heading analyses
+rn-requestors X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ORDescriptor,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ NUMERATION multi-valued,
+ ID id-hat-rn-requestors
+}
+
+nrn-requestors X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ORDescriptor,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ NUMERATION multi-valued,
+ ID id-hat-nrn-requestors
+}
+
+reply-requestors X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ORDescriptor,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ NUMERATION multi-valued,
+ ID id-hat-reply-requestors
+}
+
+-- Heading fields
+this-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ThisIPMField,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION single-valued,
+ ID id-hat-this-ipm
+}
+
+originator X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX OriginatorField,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION single-valued,
+ ID id-hat-originator
+}
+
+replied-to-IPM X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX RepliedToIPMField,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION single-valued,
+ ID id-hat-replied-to-IPM
+}
+
+subject X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SubjectField,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
+ NUMERATION single-valued,
+ ID id-hat-subject
+}
+
+expiry-time X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ExpiryTimeField,
+ EQUALITY MATCHING-RULE uTCTimeMatch,
+ ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-hat-expiry-time
+}
+
+reply-time X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReplyTimeField,
+ EQUALITY MATCHING-RULE uTCTimeMatch,
+ ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-hat-reply-time
+}
+
+importance X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ImportanceField,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE
+ integerOrderingMatch, -- not defined for 1988 Application Contexts
+
+ NUMERATION single-valued,
+ ID id-hat-importance
+}
+
+sensitivity X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SensitivityField,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE
+ integerOrderingMatch, -- not defined for 1988 Application Contexts
+
+ NUMERATION single-valued,
+ ID id-hat-sensitivity
+}
+
+auto-forwarded X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AutoForwardedField,
+ EQUALITY MATCHING-RULE booleanMatch,
+ NUMERATION single-valued,
+ ID id-hat-auto-forwarded
+}
+
+-- Heading sub-fields
+authorizing-users X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AuthorizingUsersSubfield,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-authorizing-users
+}
+
+primary-recipients X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX PrimaryRecipientsSubfield,
+ EQUALITY MATCHING-RULE recipientSpecifierMatch,
+ OTHER MATCHING-RULES
+ {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
+ | recipientSpecifierSingleElementMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-primary-recipients
+}
+
+copy-recipients X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX CopyRecipientsSubfield,
+ EQUALITY MATCHING-RULE recipientSpecifierMatch,
+ OTHER MATCHING-RULES
+ {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
+ | recipientSpecifierSingleElementMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-copy-recipients
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+blind-copy-recipients-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BlindCopyRecipientsSubfield,
+ EQUALITY MATCHING-RULE recipientSpecifierMatch,
+ OTHER MATCHING-RULES
+ {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
+ | recipientSpecifierSingleElementMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-blind-copy-recipients
+}
+
+obsoleted-IPMs X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ObsoletedIPMsSubfield,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION multi-valued,
+ ID id-hat-obsoleted-IPMs
+}
+
+related-IPMs X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX RelatedIPMsSubfield,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION multi-valued,
+ ID id-hat-related-IPMs
+}
+
+reply-recipients X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReplyRecipientsSubfield,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-reply-recipients
+}
+
+-- Heading extensions
+-- WS: added "-att" to prevent asn2wrs conflict
+incomplete-copy-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IncompleteCopy,
+ NUMERATION
+ single-valued, -- An equality match is specified for 1988
+
+
+ -- Application Contexts
+ ID id-hat-incomplete-copy
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+languages-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX Language,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE
+ mSSubstringsMatch, -- Not defined for 1988 Application Contexts
+
+ NUMERATION multi-valued,
+ ID id-hat-languages
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+auto-submitted-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AutoSubmitted,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-hat-auto-submitted
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+body-part-signatures-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartSignatures,
+ NUMERATION single-valued,
+ ID id-hat-body-part-signatures
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+ipm-security-label-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSecurityLabel,
+ NUMERATION single-valued,
+ ID id-hat-ipm-security-label
+}
+
+body-part-security-label X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartSecurityLabel,
+ NUMERATION multi-valued,
+ ID id-hat-body-part-security-label
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+authorization-time-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AuthorizationTime,
+ EQUALITY MATCHING-RULE generalizedTimeMatch,
+ ORDERING MATCHING-RULE generalizedTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-hat-authorization-time
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+circulation-list-recipients-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX CirculationMember,
+ EQUALITY MATCHING-RULE circulationMemberMatch,
+ OTHER MATCHING-RULES
+ {circulationMemberElementsMatch | circulationMemberSubstringElementsMatch |
+ circulationMemberSingleElementMatch | circulationMemberCheckmarkMatch,
+ ...},
+ NUMERATION multi-valued,
+ ID id-hat-circulation-list-recipients
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+distribution-codes-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX DistributionCode,
+ EQUALITY MATCHING-RULE distributionCodeMatch,
+ NUMERATION multi-valued,
+ ID id-hat-distribution-codes
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+extended-subject-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ExtendedSubject,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
+ NUMERATION single-valued,
+ ID id-hat-extended-subject
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+information-category-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX InformationCategory,
+ EQUALITY MATCHING-RULE informationCategoryMatch,
+ NUMERATION multi-valued,
+ ID id-hat-information-category
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+manual-handling-instructions-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ManualHandlingInstruction,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ NUMERATION multi-valued,
+ ID id-hat-manual-handling-instructions
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+originators-reference-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX OriginatorsReference,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ NUMERATION single-valued,
+ ID id-hat-originators-reference
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+precedence-policy-identifier-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX PrecedencePolicyIdentifier,
+ EQUALITY MATCHING-RULE objectIdentifierMatch,
+ NUMERATION single-valued,
+ ID id-hat-precedence-policy-id
+}
+
+-- Recipient extensions
+-- WS: added "-att" to prevent asn2wrs conflict
+precedence-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX Precedence,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-hat-precedence
+}
+
+-- Envelope extensions
+-- WS: added "-att" to prevent asn2wrs conflict
+body-part-encryption-token-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartTokens,
+ NUMERATION single-valued,
+ ID id-hat-body-part-encryption-token
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+forwarded-content-token-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ForwardedContentToken,
+ NUMERATION single-valued,
+ ID id-hat-forwarded-content-token
+}
+
+forwarding-token X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MessageToken,
+ NUMERATION single-valued,
+ ID id-hat-forwarding-token
+}
+
+-- BODY ATTRIBUTES
+-- Body
+body X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX Body,
+ NUMERATION single-valued,
+ ID id-bat-body
+}
+
+-- Extended body part types
+extended-body-part-types X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER,
+ EQUALITY MATCHING-RULE objectIdentifierMatch,
+ NUMERATION multi-valued,
+ ID id-bat-extended-body-part-types
+}
+
+-- Extended body parts
+-- (These attributes cannot be enumerated. See 19.6.3.3.)
+-- (They may be derived using the following parameterized object assignments:)
+extended-body-part-data-attribute{EXTENDED-BODY-PART-TYPE:ebpt} X413ATTRIBUTE
+ ::= {
+ WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.&data.&Type,
+ NUMERATION multi-valued,
+ ID ebpt.&data.&id
+}
+
+extended-body-part-parameters-attribute{EXTENDED-BODY-PART-TYPE:ebpt}
+ X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.&parameters.&Type,
+ NUMERATION multi-valued,
+ ID ebpt.&parameters.&id
+}
+
+-- Basic body parts
+ia5-text-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IA5TextBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-ia5-text-body-parts
+}
+
+g3-facsimile-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX G3FacsimileBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-g3-facsimile-body-parts
+}
+
+g4-class1-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX G4Class1BodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-g4-class1-body-parts
+}
+
+teletex-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX TeletexBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-teletex-body-parts
+}
+
+videotex-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX VideotexBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-videotex-body-parts
+}
+
+encrypted-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX EncryptedBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-encrypted-body-parts
+}
+
+message-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ NUMERATION multi-valued,
+ ID id-bat-message-body-parts
+}
+
+mixed-mode-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MixedModeBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-mixed-mode-body-parts
+}
+
+bilaterally-defined-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BilaterallyDefinedBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-bilaterally-defined-body-parts
+}
+
+nationally-defined-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX NationallyDefinedBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-nationally-defined-body-parts
+}
+
+-- Basic body part parameters components
+ia5-text-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IA5TextParameters,
+ NUMERATION multi-valued,
+ ID id-bat-ia5-text-parameters
+}
+
+g3-facsimile-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX G3FacsimileParameters,
+ NUMERATION multi-valued,
+ ID id-bat-g3-facsimile-parameters
+}
+
+teletex-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX TeletexParameters,
+ NUMERATION multi-valued,
+ ID id-bat-teletex-parameters
+}
+
+videotex-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX VideotexParameters,
+ NUMERATION multi-valued,
+ ID id-bat-videotex-parameters
+}
+
+encrypted-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX EncryptedParameters,
+ NUMERATION multi-valued,
+ ID id-bat-encrypted-parameters
+}
+
+message-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MessageParameters,
+ NUMERATION multi-valued,
+ ID id-bat-message-parameters
+}
+
+-- Basic body part data components
+ia5-text-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IA5TextData,
+ NUMERATION multi-valued,
+ ID id-bat-ia5-text-data
+}
+
+g3-facsimile-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX G3FacsimileData,
+ NUMERATION multi-valued,
+ ID id-bat-g3-facsimile-data
+}
+
+teletex-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX TeletexData,
+ NUMERATION multi-valued,
+ ID id-bat-teletex-data
+}
+
+videotex-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX VideotexData,
+ NUMERATION multi-valued,
+ ID id-bat-videotex-data
+}
+
+encrypted-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX EncryptedData,
+ NUMERATION multi-valued,
+ ID id-bat-encrypted-data
+}
+
+message-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MessageData,
+ NUMERATION multi-valued,
+ ID id-bat-message-data
+}
+
+-- NOTIFICATION ATTRIBUTES
+-- Common fields
+subject-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SubjectIPMField,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION single-valued,
+ ID id-nat-subject-ipm
+}
+
+ipn-originator X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPNOriginatorField,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION single-valued,
+ ID id-nat-ipn-originator
+}
+
+ipm-intended-recipient X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMIntendedRecipientField,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION single-valued,
+ ID id-nat-ipm-intended-recipient
+}
+
+conversion-eits X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MS-EIT,
+ EQUALITY MATCHING-RULE objectIdentifierMatch,
+ NUMERATION multi-valued,
+ ID id-nat-conversion-eits
+}
+
+notification-extensions X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSExtension {{NotificationExtensions}},
+ NUMERATION multi-valued,
+ ID id-nat-notification-extensions
+}
+
+-- Non-receipt fields
+non-receipt-reason X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX NonReceiptReasonField,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-nat-non-receipt-reason
+}
+
+discard-reason X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX DiscardReasonField,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-nat-discard-reason
+}
+
+auto-forward-comment X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AutoForwardCommentField,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
+ NUMERATION single-valued,
+ ID id-nat-auto-forward-comment
+}
+
+returned-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReturnedIPMField,
+ NUMERATION single-valued,
+ ID id-nat-returned-ipm
+}
+
+nrn-extensions X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSExtension {{NRNExtensions}},
+ NUMERATION multi-valued,
+ ID id-nat-nrn-extensions
+}
+
+-- Receipt fields
+receipt-time X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReceiptTimeField,
+ EQUALITY MATCHING-RULE uTCTimeMatch,
+ ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-nat-receipt-time
+}
+
+acknowledgment-mode X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AcknowledgmentModeField,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-nat-acknowledgment-mode
+}
+
+suppl-receipt-info X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SupplReceiptInfoField,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
+ NUMERATION single-valued,
+ ID id-nat-suppl-receipt-info
+}
+
+rn-extensions X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSExtension {{RNExtensions}},
+ NUMERATION multi-valued,
+ ID id-nat-rn-extensions
+}
+
+-- Other notification type fields
+other-notification-type-fields X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSExtension {{OtherNotifications}},
+ NUMERATION multi-valued,
+ ID id-nat-other-notification-type-fields
+}
+
+-- CORRELATION ATTRIBUTES
+-- Common attributes
+ac-forwarding-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-forwarding-ipms
+}
+
+ac-forwarded-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-forwarded-ipms
+}
+
+ac-obsoleting-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-obsoleting-ipms
+}
+
+ac-obsoleted-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMLocation,
+ OTHER MATCHING-RULES {iPMLocationMatch, ...},
+ NUMERATION multi-valued,
+ ID id-cat-obsoleted-ipms
+}
+
+IPMLocation ::= CHOICE {stored SET OF SequenceNumber,
+ absent NULL,
+ ...
+}
+
+ac-relating-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-relating-ipms
+}
+
+ac-related-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMLocation,
+ OTHER MATCHING-RULES {iPMLocationMatch, ...},
+ NUMERATION multi-valued,
+ ID id-cat-related-ipms
+}
+
+ac-replied-to-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-replied-to-ipm
+}
+
+ac-replying-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-replying-ipms
+}
+
+ac-subject-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-subject-ipm
+}
+
+-- Submitted message correlation
+ac-ipm-recipients X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ORDescriptor,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION multi-valued,
+ ID id-cat-ipm-recipients
+}
+
+ac-delivered-replies-summary X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX DeliveredReplyStatus,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-delivered-replies-summary
+}
+
+DeliveredReplyStatus ::= INTEGER {
+ no-reply-requested(0) -- reply not requested --,
+ reply-outstanding(1) -- reply requested --, reply-received(2)}
+
+ac-correlated-delivered-replies X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredReplies,
+ NUMERATION multi-valued,
+ ID id-cat-correlated-delivered-replies
+}
+
+CorrelatedDeliveredReplies ::= CHOICE {
+ no-reply-received [0] NULL,
+ received-replies [1] SEQUENCE OF SequenceNumber
+}
+
+ac-delivered-ipn-summary X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX DeliveredIPNStatus,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-delivered-ipn-summary
+}
+
+DeliveredIPNStatus ::= INTEGER {
+ no-ipn-requested(0), an-requested(3), nrn-requested(5), rn-requested(10),
+ an-received(13), ipm-auto-forwarded(15), ipm-discarded(20), rn-received(25)
+}
+
+ac-correlated-delivered-ipns X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredIPNs,
+ NUMERATION multi-valued,
+ ID id-cat-correlated-delivered-ipns
+}
+
+CorrelatedDeliveredIPNs ::= CHOICE {
+ no-ipn-received [0] NULL,
+ ipns-received [1] SEQUENCE OF SequenceNumber
+}
+
+-- Delivered message correlation
+ac-submitted-reply-status X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SubmittedReplyStatus,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION single-valued,
+ ID id-cat-submitted-reply-status
+}
+
+SubmittedReplyStatus ::= INTEGER {
+ no-reply-requested(0), no-reply-intended(1), reply-pending(2), reply-sent(3)
+}
+
+ac-submitted-ipn-status X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SubmittedIPNStatus,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION single-valued,
+ ID id-cat-submitted-ipn-status
+}
+
+SubmittedIPNStatus ::= INTEGER {
+ no-ipn-requested(0), nrn-requested(5), nrn-with-ipm-return-requested(10),
+ rn-requested(15), rn-with-ipm-return-requested(20), ipm-auto-forwarded(25),
+ ipm-discarded(30), rn-sent(35)}
+
+ac-submitted-ipns X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-submitted-ipns
+}
+
+recipient-category X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX RecipientCategory,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION single-valued,
+ ID id-cat-recipient-category
+}
+
+RecipientCategory ::= INTEGER {
+ primary-recipient(0), copy-recipient(1), blind-copy-recipient(2),
+ category-unknown(3), circulation-list(4)}
+
+revised-reply-time X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReplyTimeField,
+ EQUALITY MATCHING-RULE uTCTimeMatch,
+ ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-cat-revised-reply-time
+}
+
+-- MATCHING-RULES
+IPMMatchingRuleTable MATCHING-RULE ::=
+ {iPMIdentifierMatch | oRDescriptorMatch | recipientSpecifierMatch,
+ ... -- 1994 extension additions --, circulationMemberCheckmarkMatch |
+ circulationMemberElementsMatch | circulationMemberMatch |
+ circulationMemberSingleElementMatch |
+ circulationMemberSubstringElementsMatch | distributionCodeMatch |
+ informationCategoryMatch | iPMLocationMatch | oRDescriptorElementsMatch |
+ oRDescriptorSingleElementMatch | oRDescriptorSubstringElementsMatch |
+ recipientSpecifierElementsMatch | recipientSpecifierSingleElementMatch |
+ recipientSpecifierSubstringElementsMatch}
+
+iPMIdentifierMatch MATCHING-RULE ::= {
+ SYNTAX IPMIdentifier
+ ID id-mr-ipm-identifier
+}
+
+iPMLocationMatch MATCHING-RULE ::= {
+ SYNTAX SequenceNumber
+ ID id-mr-ipm-location
+}
+
+oRDescriptorMatch MATCHING-RULE ::= {
+ SYNTAX ORDescriptor
+ ID id-mr-or-descriptor
+}
+
+oRDescriptorElementsMatch MATCHING-RULE ::= {
+ SYNTAX ORDescriptor
+ ID id-mr-or-descriptor-elements
+}
+
+oRDescriptorSubstringElementsMatch MATCHING-RULE ::= {
+ SYNTAX ORDescriptor
+ ID id-mr-or-descriptor-substring-elements
+}
+
+oRDescriptorSingleElementMatch MATCHING-RULE ::= {
+ SYNTAX MSString {ub-msstring-match}
+ ID id-mr-or-descriptor-single-element
+}
+
+recipientSpecifierMatch MATCHING-RULE ::= {
+ SYNTAX RecipientSpecifier
+ ID id-mr-recipient-specifier
+}
+
+recipientSpecifierElementsMatch MATCHING-RULE ::= {
+ SYNTAX RecipientSpecifier
+ ID id-mr-recipient-specifier-elements
+}
+
+recipientSpecifierSubstringElementsMatch MATCHING-RULE ::= {
+ SYNTAX RecipientSpecifier
+ ID id-mr-recipient-specifier-substring-elements
+}
+
+recipientSpecifierSingleElementMatch MATCHING-RULE ::= {
+ SYNTAX MSString {ub-msstring-match}
+ ID id-mr-recipient-specifier-single-element
+}
+
+circulationMemberMatch MATCHING-RULE ::= {
+ SYNTAX CirculationMember
+ ID id-mr-circulation-member
+}
+
+circulationMemberElementsMatch MATCHING-RULE ::= {
+ SYNTAX CirculationMember
+ ID id-mr-circulation-member-elements
+}
+
+circulationMemberSubstringElementsMatch MATCHING-RULE ::= {
+ SYNTAX CirculationMember
+ ID id-mr-circulation-member-substring-elements
+}
+
+circulationMemberSingleElementMatch MATCHING-RULE ::= {
+ SYNTAX MSString {ub-msstring-match}
+ ID id-mr-circulation-member-single-element
+}
+
+circulationMemberCheckmarkMatch MATCHING-RULE ::= {
+ SYNTAX CirculationMember
+ ID id-mr-circulation-member-checkmark
+}
+
+distributionCodeMatch MATCHING-RULE ::= {
+ SYNTAX DistributionCode
+ ID id-mr-distribution-code
+}
+
+informationCategoryMatch MATCHING-RULE ::= {
+ SYNTAX InformationCategory
+ ID id-mr-information-category
+}
+
+END -- of IPMSMessageStoreAttributes
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p22/IPMSObjectIdentifiers.asn b/epan/dissectors/asn1/p22/IPMSObjectIdentifiers.asn
new file mode 100644
index 00000000..6464db4c
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSObjectIdentifiers.asn
@@ -0,0 +1,508 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSObjectIdentifiers (X.420:06/1999)
+IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS -- nothing -- ;
+
+ID ::= OBJECT IDENTIFIER
+
+-- Interpersonal Messaging (not definitive)
+id-ipms ID ::=
+ {joint-iso-itu-t mhs(6) ipms(1)} -- not definitive
+
+-- Categories
+id-mod ID ::= {id-ipms 0} -- modules; not definitive
+
+id-ot ID ::= {id-ipms 1} -- object types
+
+id-pt ID ::= {id-ipms 2} -- port types
+
+id-et ID ::= {id-ipms 4} -- extended body part types
+
+id-hex ID ::= {id-ipms 5} -- heading extensions
+
+id-sat ID ::= {id-ipms 6} -- summary attributes
+
+id-hat ID ::= {id-ipms 7} -- heading attributes
+
+id-bat ID ::= {id-ipms 8} -- body attributes
+
+id-nat ID ::= {id-ipms 9} -- notification attributes
+
+id-mct ID ::= {id-ipms 10} -- message content types
+
+id-ep ID ::= {id-ipms 11} -- extended body part parameters
+
+id-eit ID ::= {id-ipms 12} -- encoded information types
+
+id-cat ID ::= {id-ipms 13} -- correlation attributes
+
+id-mr ID ::= {id-ipms 14} -- matching-rules
+
+id-aa ID ::= {id-ipms 15} -- auto-actions
+
+id-aae ID ::= {id-ipms 16} -- auto-action errors
+
+id-mst ID ::= {id-ipms 17} -- message store types
+
+id-sec ID ::= {id-ipms 18} -- ipm security extensions
+
+id-on ID ::= {id-ipms 19} -- other notification type extensions
+
+id-rex ID ::= {id-ipms 20} -- recipient extensions
+
+-- Modules
+id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
+
+id-mod-functional-objects ID ::= {id-mod 1} -- not definitive
+
+id-mod-information-objects ID ::= {id-mod 2} -- not definitive
+
+id-mod-abstract-service ID ::= {id-mod 3} -- not definitive
+
+id-mod-heading-extensions ID ::= {id-mod 6} -- not definitive
+
+id-mod-extended-body-part-types ID ::= {id-mod 7} -- not definitive
+
+id-mod-message-store-attributes ID ::= {id-mod 8} -- not definitive
+
+id-mod-file-transfer-body-part-type ID ::= {id-mod 9} -- not definitive
+
+id-mod-upper-bounds ID ::= {id-mod 10} -- not definitive
+
+id-mod-extended-voice-body-part-type ID ::= {id-mod 11} -- not definitive
+
+id-mod-forwarded-report-body-part-type ID ::= {id-mod 12} -- not definitive
+
+id-mod-auto-actions ID ::= {id-mod 13} -- not definitive
+
+id-mod-ipm-security-extensions ID ::= {id-mod 14} -- not definitive
+
+id-mod-forwarded-content-body-part-type ID ::= {id-mod 15} -- not definitive
+
+id-mod-pkcs7-body-part-type ID ::= {id-mod 16} -- not definitive
+
+-- Object types
+id-ot-ipms-user ID ::= {id-ot 1}
+
+id-ot-ipms ID ::= {id-ot 2}
+
+-- Port types
+id-pt-origination ID ::= {id-pt 0}
+
+id-pt-reception ID ::= {id-pt 1}
+
+id-pt-management ID ::= {id-pt 2}
+
+-- Extended body part types
+id-et-ia5-text ID ::= {id-et 0}
+
+id-et-g3-facsimile ID ::= {id-et 2}
+
+id-et-g4-class1 ID ::= {id-et 3}
+
+id-et-teletex ID ::= {id-et 4}
+
+id-et-videotex ID ::= {id-et 5}
+
+id-et-encrypted ID ::= {id-et 6}
+
+id-et-message ID ::= {id-et 7}
+
+id-et-mixed-mode ID ::= {id-et 8}
+
+id-et-bilaterally-defined ID ::= {id-et 9}
+
+id-et-nationally-defined ID ::= {id-et 10}
+
+id-et-general-text ID ::= {id-et 11}
+
+id-et-file-transfer ID ::= {id-et 12}
+
+-- Value {id-et 13} is no longer defined
+id-et-report ID ::= {id-et 14}
+
+id-et-notification ID ::= {id-et 15}
+
+id-et-voice ID ::= {id-et 16}
+
+id-et-content ID ::=
+ {id-et 17} -- This value is not used directly, only as a prefix
+
+id-et-pkcs7 ID ::= {id-et 18}
+
+-- Heading extensions
+id-hex-incomplete-copy ID ::= {id-hex 0}
+
+id-hex-languages ID ::= {id-hex 1}
+
+id-hex-auto-submitted ID ::= {id-hex 2}
+
+id-hex-body-part-signatures ID ::= {id-hex 3}
+
+id-hex-ipm-security-label ID ::= {id-hex 4}
+
+id-hex-authorization-time ID ::= {id-hex 5}
+
+id-hex-circulation-list-recipients ID ::= {id-hex 6}
+
+id-hex-distribution-codes ID ::= {id-hex 7}
+
+id-hex-extended-subject ID ::= {id-hex 8}
+
+id-hex-information-category ID ::= {id-hex 9}
+
+id-hex-manual-handling-instructions ID ::= {id-hex 10}
+
+id-hex-originators-reference ID ::= {id-hex 11}
+
+id-hex-precedence-policy-id ID ::= {id-hex 12}
+
+-- Summary attributes
+id-sat-ipm-entry-type ID ::= {id-sat 0}
+
+id-sat-ipm-synopsis ID ::= {id-sat 1}
+
+id-sat-body-parts-summary ID ::= {id-sat 2}
+
+id-sat-ipm-auto-discarded ID ::= {id-sat 3}
+
+-- Heading attributes
+id-hat-heading ID ::= {id-hat 0}
+
+id-hat-this-ipm ID ::= {id-hat 1}
+
+id-hat-originator ID ::= {id-hat 2}
+
+id-hat-replied-to-IPM ID ::= {id-hat 3}
+
+id-hat-subject ID ::= {id-hat 4}
+
+id-hat-expiry-time ID ::= {id-hat 5}
+
+id-hat-reply-time ID ::= {id-hat 6}
+
+id-hat-importance ID ::= {id-hat 7}
+
+id-hat-sensitivity ID ::= {id-hat 8}
+
+id-hat-auto-forwarded ID ::= {id-hat 9}
+
+id-hat-authorizing-users ID ::= {id-hat 10}
+
+id-hat-primary-recipients ID ::= {id-hat 11}
+
+id-hat-copy-recipients ID ::= {id-hat 12}
+
+id-hat-blind-copy-recipients ID ::= {id-hat 13}
+
+id-hat-obsoleted-IPMs ID ::= {id-hat 14}
+
+id-hat-related-IPMs ID ::= {id-hat 15}
+
+id-hat-reply-recipients ID ::= {id-hat 16}
+
+id-hat-incomplete-copy ID ::= {id-hat 17}
+
+id-hat-languages ID ::= {id-hat 18}
+
+id-hat-rn-requestors ID ::= {id-hat 19}
+
+id-hat-nrn-requestors ID ::= {id-hat 20}
+
+id-hat-reply-requestors ID ::= {id-hat 21}
+
+id-hat-auto-submitted ID ::= {id-hat 22}
+
+id-hat-body-part-signatures ID ::= {id-hat 23}
+
+id-hat-ipm-security-label ID ::= {id-hat 24}
+
+id-hat-body-part-security-label ID ::= {id-hat 25}
+
+id-hat-body-part-encryption-token ID ::= {id-hat 26}
+
+id-hat-authorization-time ID ::= {id-hat 27}
+
+id-hat-circulation-list-recipients ID ::= {id-hat 28}
+
+id-hat-distribution-codes ID ::= {id-hat 29}
+
+id-hat-extended-subject ID ::= {id-hat 30}
+
+id-hat-information-category ID ::= {id-hat 31}
+
+id-hat-manual-handling-instructions ID ::= {id-hat 32}
+
+id-hat-originators-reference ID ::= {id-hat 33}
+
+id-hat-precedence-policy-id ID ::= {id-hat 34}
+
+id-hat-forwarded-content-token ID ::= {id-hat 35}
+
+id-hat-forwarding-token ID ::= {id-hat 36}
+
+id-hat-precedence ID ::= {id-hat 37}
+
+id-hat-body-part-signature-verification-status ID ::= {id-hat 38}
+
+-- Body attributes
+id-bat-body ID ::= {id-bat 0}
+
+id-bat-ia5-text-body-parts ID ::= {id-bat 1}
+
+id-bat-g3-facsimile-body-parts ID ::= {id-bat 3}
+
+id-bat-g4-class1-body-parts ID ::= {id-bat 4}
+
+id-bat-teletex-body-parts ID ::= {id-bat 5}
+
+id-bat-videotex-body-parts ID ::= {id-bat 6}
+
+id-bat-encrypted-body-parts ID ::= {id-bat 7}
+
+id-bat-message-body-parts ID ::= {id-bat 8}
+
+id-bat-mixed-mode-body-parts ID ::= {id-bat 9}
+
+id-bat-bilaterally-defined-body-parts ID ::= {id-bat 10}
+
+id-bat-nationally-defined-body-parts ID ::= {id-bat 11}
+
+id-bat-extended-body-part-types ID ::= {id-bat 12}
+
+id-bat-ia5-text-parameters ID ::= {id-bat 13}
+
+id-bat-g3-facsimile-parameters ID ::= {id-bat 15}
+
+id-bat-teletex-parameters ID ::= {id-bat 16}
+
+id-bat-videotex-parameters ID ::= {id-bat 17}
+
+id-bat-encrypted-parameters ID ::= {id-bat 18}
+
+id-bat-message-parameters ID ::= {id-bat 19}
+
+id-bat-ia5-text-data ID ::= {id-bat 20}
+
+id-bat-g3-facsimile-data ID ::= {id-bat 22}
+
+id-bat-teletex-data ID ::= {id-bat 23}
+
+id-bat-videotex-data ID ::= {id-bat 24}
+
+id-bat-encrypted-data ID ::= {id-bat 25}
+
+id-bat-message-data ID ::= {id-bat 26}
+
+-- Notification attributes
+id-nat-subject-ipm ID ::= {id-nat 0}
+
+id-nat-ipn-originator ID ::= {id-nat 1}
+
+id-nat-ipm-intended-recipient ID ::= {id-nat 2}
+
+id-nat-conversion-eits ID ::= {id-nat 3}
+
+id-nat-non-receipt-reason ID ::= {id-nat 4}
+
+id-nat-discard-reason ID ::= {id-nat 5}
+
+id-nat-auto-forward-comment ID ::= {id-nat 6}
+
+id-nat-returned-ipm ID ::= {id-nat 7}
+
+id-nat-receipt-time ID ::= {id-nat 8}
+
+id-nat-acknowledgment-mode ID ::= {id-nat 9}
+
+id-nat-suppl-receipt-info ID ::= {id-nat 10}
+
+id-nat-notification-extensions ID ::= {id-nat 11}
+
+id-nat-nrn-extensions ID ::= {id-nat 12}
+
+id-nat-rn-extensions ID ::= {id-nat 13}
+
+id-nat-other-notification-type-fields ID ::= {id-nat 14}
+
+-- Correlation attributes
+id-cat-correlated-delivered-ipns ID ::= {id-cat 0}
+
+id-cat-correlated-delivered-replies ID ::= {id-cat 1}
+
+id-cat-delivered-ipn-summary ID ::= {id-cat 2}
+
+id-cat-delivered-replies-summary ID ::= {id-cat 3}
+
+id-cat-forwarded-ipms ID ::= {id-cat 4}
+
+id-cat-forwarding-ipms ID ::= {id-cat 5}
+
+id-cat-ipm-recipients ID ::= {id-cat 6}
+
+id-cat-obsoleted-ipms ID ::= {id-cat 7}
+
+id-cat-obsoleting-ipms ID ::= {id-cat 8}
+
+id-cat-related-ipms ID ::= {id-cat 9}
+
+id-cat-relating-ipms ID ::= {id-cat 10}
+
+id-cat-replied-to-ipm ID ::= {id-cat 11}
+
+id-cat-replying-ipms ID ::= {id-cat 12}
+
+id-cat-revised-reply-time ID ::= {id-cat 13}
+
+id-cat-submitted-ipn-status ID ::= {id-cat 14}
+
+id-cat-submitted-ipns ID ::= {id-cat 15}
+
+id-cat-submitted-reply-status ID ::= {id-cat 16}
+
+id-cat-subject-ipm ID ::= {id-cat 17}
+
+id-cat-recipient-category ID ::= {id-cat 18}
+
+-- Message content types (for use by MS and Directory)
+id-mct-p2-1984 ID ::=
+ {id-mct 0} -- P2 1984
+
+id-mct-p2-1988 ID ::= {id-mct 1} -- P2 1988
+
+-- Extended body part parameters
+id-ep-ia5-text ID ::= {id-ep 0}
+
+id-ep-g3-facsimile ID ::= {id-ep 2}
+
+id-ep-teletex ID ::= {id-ep 4}
+
+id-ep-videotex ID ::= {id-ep 5}
+
+id-ep-encrypted ID ::= {id-ep 6}
+
+id-ep-message ID ::= {id-ep 7}
+
+id-ep-general-text ID ::= {id-ep 11}
+
+id-ep-file-transfer ID ::= {id-ep 12}
+
+-- Value {id-ep 13} is no longer defined
+id-ep-notification ID ::= {id-ep 15}
+
+id-ep-voice ID ::= {id-ep 16}
+
+id-ep-content ID ::=
+ {id-ep 17} -- This value is not used directly, only as a prefix
+
+-- Encoded Information Types
+id-eit-file-transfer ID ::= {id-eit 0}
+
+id-eit-voice ID ::= {id-eit 1}
+
+-- Voice Encoded Information Types
+id-voice-11khz-sample ID ::=
+ {id-eit-voice 0}
+
+id-voice-22khz-sample ID ::= {id-eit-voice 1}
+
+id-voice-cd-quality ID ::= {id-eit-voice 2}
+
+id-voice-g711-mu-law ID ::= {id-eit-voice 3}
+
+id-voice-g726-32k-adpcm ID ::= {id-eit-voice 4}
+
+id-voice-g728-16k-ld-celp ID ::= {id-eit-voice 5}
+
+-- Matching-rules
+id-mr-ipm-identifier ID ::= {id-mr 0}
+
+id-mr-or-descriptor ID ::= {id-mr 1}
+
+id-mr-or-descriptor-elements ID ::= {id-mr 2}
+
+id-mr-or-descriptor-substring-elements ID ::= {id-mr 3}
+
+id-mr-recipient-specifier ID ::= {id-mr 4}
+
+id-mr-recipient-specifier-elements ID ::= {id-mr 5}
+
+id-mr-recipient-specifier-substring-elements ID ::= {id-mr 6}
+
+id-mr-ipm-location ID ::= {id-mr 7}
+
+id-mr-or-descriptor-single-element ID ::= {id-mr 8}
+
+id-mr-recipient-specifier-single-element ID ::= {id-mr 9}
+
+id-mr-circulation-member ID ::= {id-mr 10}
+
+id-mr-circulation-member-elements ID ::= {id-mr 11}
+
+id-mr-circulation-member-substring-elements ID ::= {id-mr 12}
+
+id-mr-circulation-member-single-element ID ::= {id-mr 13}
+
+id-mr-circulation-member-checkmark ID ::= {id-mr 14}
+
+id-mr-distribution-code ID ::= {id-mr 15}
+
+id-mr-information-category ID ::= {id-mr 16}
+
+-- Auto-actions
+id-aa-ipm-auto-acknowledgement ID ::= {id-aa 0}
+
+id-aa-ipm-auto-correlate ID ::= {id-aa 1}
+
+id-aa-ipm-auto-discard ID ::= {id-aa 2}
+
+id-aa-ipm-auto-advise ID ::= {id-aa 3}
+
+-- Auto-action-errors
+id-aae-auto-discard-error ID ::= {id-aae 0}
+
+id-aae-auto-forwarding-loop ID ::= {id-aae 1}
+
+id-aae-duplicate-ipn ID ::= {id-aae 2}
+
+-- Message Store types
+id-mst-invalid-assembly-instructions ID ::= {id-mst 0}
+
+id-mst-invalid-ipn ID ::= {id-mst 1}
+
+id-mst-assembly-instructions ID ::= {id-mst 2}
+
+id-mst-suspend-auto-acknowledgement ID ::= {id-mst 3}
+
+id-mst-prevent-nrn-generation ID ::= {id-mst 4}
+
+id-mst-originator-body-part-encryption-token ID ::= {id-mst 5}
+
+id-mst-originator-forwarded-content-token ID ::= {id-mst 6}
+
+id-mst-assembly-capability ID ::= {id-mst 7}
+
+-- Security extensions
+id-sec-ipm-security-request ID ::= {id-sec 0}
+
+id-sec-security-common-fields ID ::= {id-sec 1}
+
+-- Other notification types
+id-on-absence-advice ID ::= {id-on 0}
+
+id-on-change-of-address-advice ID ::= {id-on 1}
+
+-- Recipient extensions
+id-rex-circulation-list-indicator ID ::= {id-rex 0}
+
+id-rex-precedence ID ::= {id-rex 1}
+
+END -- of IPMSObjectIdentifiers
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p22/IPMSSecurityExtensions.asn b/epan/dissectors/asn1/p22/IPMSSecurityExtensions.asn
new file mode 100644
index 00000000..f4bfb109
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSSecurityExtensions.asn
@@ -0,0 +1,149 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSSecurityExtensions (X.420:06/1999)
+IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ ipm-security-extensions(14) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything
+IMPORTS
+ -- MTS Abstract Service
+ --Certificates,-- Content, ContentIntegrityCheck, ExtendedCertificates,
+ EXTENSION, MessageOriginAuthenticationCheck, MessageToken, EncryptionKey
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+--WS: asn2wrs can't import a type through a intermediate module - so we import directly
+ Certificates
+ --==
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3}
+ -- IPMS Information Objects
+ IPMS-EXTENSION, BodyPartNumber
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- IPMS Heading Extensions
+-- BodyPartNumber
+ --==
+-- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- heading-extensions(6) version-1999(1)}
+ -- Directory Authentication Framework
+ AlgorithmIdentifier, ENCRYPTED{}
+ --==
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3}
+ -- Directory Certificate Extensions
+ CertificateAssertion
+ --==
+ FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
+ certificateExtensions(26) 0}
+ -- IPMS Object Identifiers
+ id-sec-ipm-security-request, id-sec-security-common-fields
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)};
+
+-- Recipient Security Request
+recipient-security-request IPMS-EXTENSION ::= {
+ VALUE RecipientSecurityRequest,
+ IDENTIFIED BY id-sec-ipm-security-request
+}
+
+RecipientSecurityRequest ::= BIT STRING {
+ content-non-repudiation(0), content-proof(1), ipn-non-repudiation(2),
+ ipn-proof(3)}
+
+-- IPN Security Response
+ipn-security-response IPMS-EXTENSION ::= {
+ VALUE IpnSecurityResponse,
+ IDENTIFIED BY id-sec-security-common-fields
+}
+
+IpnSecurityResponse ::= SET {
+ content-or-arguments
+ CHOICE {original-content OriginalContent,
+ original-security-arguments
+ SET {original-content-integrity-check
+ [0] OriginalContentIntegrityCheck OPTIONAL,
+ original-message-origin-authentication-check
+ [1] OriginalMessageOriginAuthenticationCheck OPTIONAL,
+ original-message-token
+ [2] OriginalMessageToken OPTIONAL}},
+ security-diagnostic-code SecurityDiagnosticCode OPTIONAL
+}
+
+-- MTS security fields
+OriginalContent ::= Content
+
+OriginalContentIntegrityCheck ::= ContentIntegrityCheck
+
+OriginalMessageOriginAuthenticationCheck ::= MessageOriginAuthenticationCheck
+
+OriginalMessageToken ::= MessageToken
+
+-- Security Diagnostic Codes
+SecurityDiagnosticCode ::= INTEGER {
+ integrity-failure-on-subject-message(0),
+ integrity-failure-on-forwarded-message(1),
+ moac-failure-on-subject-message(2), unsupported-security-policy(3),
+ unsupported-algorithm-identifier(4), decryption-failed(5), token-error(6),
+ unable-to-sign-notification(7), unable-to-sign-message-receipt(8),
+ authentication-failure-on-subject-message(9),
+ security-context-failure-message(10), message-sequence-failure(11),
+ message-security-labelling-failure(12), repudiation-failure-of-message(13),
+ failure-of-proof-of-message(14), signature-key-unobtainable(15),
+ decryption-key-unobtainable(16), key-failure(17),
+ unsupported-request-for-security-service(18),
+ inconsistent-request-for-security-service(19),
+ ipn-non-repudiation-provided-instead-of-content-proof(20),
+ token-decryption-failed(21), double-enveloping-message-restoring-failure(22),
+ unauthorised-dl-member(23), reception-security-failure(24),
+ unsuitable-alternate-recipient(25), security-services-refusal(26),
+ unauthorised-recipient(27), unknown-certification-authority-name(28),
+ unknown-dl-name(29), unknown-originator-name(30), unknown-recipient-name(31),
+ security-policy-violation(32)}
+
+-- Security Envelope Extensions
+body-part-encryption-token EXTENSION ::= {
+ BodyPartTokens,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:43
+}
+
+BodyPartTokens ::=
+ SET OF
+ SET {body-part-number BodyPartNumber,
+ body-part-choice
+ CHOICE {encryption-token EncryptionToken,
+ message-or-content-body-part [0] BodyPartTokens}
+ }
+
+EncryptionToken ::= SET {
+ encryption-algorithm-identifier AlgorithmIdentifier,
+ encrypted-key --ENCRYPTED{EncryptionKey}-- BIT STRING,
+ recipient-certificate-selector [0] CertificateAssertion OPTIONAL,
+ recipient-certificate [1] Certificates OPTIONAL,
+ originator-certificate-selector [2] CertificateAssertion OPTIONAL,
+ originator-certificates [3] ExtendedCertificates OPTIONAL,
+ ...
+}
+
+forwarded-content-token EXTENSION ::= {
+ ForwardedContentToken,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:44
+}
+
+ForwardedContentToken ::=
+ SET OF
+ SET {body-part-number BodyPartNumber,
+ body-part-choice
+ CHOICE {forwarding-token MessageToken,
+ message-or-content-body-part ForwardedContentToken
+ }}
+
+END -- of IPMSSecurityExtensions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p22/IPMSUpperBounds.asn b/epan/dissectors/asn1/p22/IPMSUpperBounds.asn
new file mode 100644
index 00000000..80300aab
--- /dev/null
+++ b/epan/dissectors/asn1/p22/IPMSUpperBounds.asn
@@ -0,0 +1,48 @@
+-- Module IPMSUpperBounds (X.420:06/1999)
+-- See also ITU-T X.420 (06/1999)
+-- See also the index of all ASN.1 assignments needed in this document
+
+IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0) upper-bounds(10)
+ version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS -- nothing -- ;
+
+-- Upper bounds
+ub-alpha-code-length INTEGER ::= 16
+
+ub-auto-forward-comment INTEGER ::= 256
+
+ub-circulation-list-members INTEGER ::= 256
+
+ub-distribution-codes INTEGER ::= 16
+
+ub-extended-subject-length INTEGER ::= 256
+
+ub-free-form-name INTEGER ::= 64
+
+ub-information-categories INTEGER ::= 16
+
+ub-information-category-length INTEGER ::= 64
+
+ub-ipm-identifier-suffix INTEGER ::= 2
+
+ub-local-ipm-identifier INTEGER ::= 64
+
+ub-manual-handling-instruction-length INTEGER ::= 128
+
+ub-manual-handling-instructions INTEGER ::= 16
+
+ub-originators-reference-length INTEGER ::= 64
+
+ub-precedence INTEGER ::= 127
+
+ub-subject-field INTEGER ::= 128
+
+ub-telephone-number INTEGER ::= 32
+
+END -- of IPMSUpperBounds
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/p22/p22.cnf b/epan/dissectors/asn1/p22/p22.cnf
new file mode 100644
index 00000000..6b610c69
--- /dev/null
+++ b/epan/dissectors/asn1/p22/p22.cnf
@@ -0,0 +1,305 @@
+# p22.cnf
+# X.420 (InterPersonal Messaging) conformance file
+
+#.TYPE_ATTR
+Time TYPE = FT_STRING DISPLAY = BASE_NONE STRING = NULL BITMASK = 0
+# Permitted-Actions-Attribute is exported from FTAM as DISPLAY = BASE_HEX -
+# but this causes a runtime error.
+# We override the definition here until we can identify the fix correct fix
+Permitted-Actions-Attribute TYPE = FT_BYTES DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+
+#.IMPORT ../ftam/ftam-exp.cnf
+#.IMPORT ../p1/p1-exp.cnf
+#.IMPORT ../p7/p7-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509ce/x509ce-exp.cnf
+#.IMPORT ../acse/acse-exp.cnf
+
+#.OMIT_ASSIGNMENT
+# These gives unused code warnings
+RN
+NRN
+ON
+ID
+#.END
+
+#.NO_EMIT
+# These fields are only used through COMPONENTS OF,
+# and consequently generate unused code warnings
+CommonFields
+#.END
+
+#.EXPORTS
+ORDescriptor
+InformationObject
+ExtensionsField
+IPM
+IPN
+MessageParameters
+NonReceiptReasonField
+DiscardReasonField
+ReceiptTimeField
+
+#.FIELD_RENAME
+
+G3FacsimileBodyPart/data g3facsimile_data
+VideotexBodyPart/data videotex_data
+ExtendedBodyPart/data extended_data
+TeletexBodyPart/data teletex_data
+IA5TextBodyPart/data ia5text_data
+MessageBodyPart/data message_data
+EncryptedBodyPart/data encrypted_data
+
+G3FacsimileBodyPart/parameters g3facsimile_parameters
+VideotexBodyPart/parameters videotex_parameters
+ExtendedBodyPart/parameters extended_parameters
+TeletexBodyPart/parameters teletex_parameters
+IA5TextBodyPart/parameters ia5text_parameters
+MessageBodyPart/parameters message_parameters
+EncryptedBodyPart/parameters encrypted_parameters
+
+TeletexParameters/non-basic-parameters teletex_non_basic_parameters
+G3FacsimileParameters/non-basic-parameters g3facsimile_non_basic_parameters
+
+CirculationSignatureData/algorithm-identifier circulation-signature-algorithm-identifier
+
+Account-Attribute/actual-values account-actual-values
+User-Identity-Attribute/actual-values identity-actual-values
+
+MessageReference/user-relative-identifier user-relative-identifier-ref
+
+BodyPartSignatureVerification/_item/body-part-signature body-part-signature-status
+BodyPart/basic/encrypted encrypted-bp
+BodyPartSynopsis/message message-synopsis
+NonMessageBodyPartSynopsis/type bp-type
+NonMessageBodyPartSynopsis/parameters bp-parameters
+
+ForwardedContentToken/_item/body-part-choice body-part-token-choice
+ForwardedContentToken/_item/body-part-choice/message-or-content-body-part forwarded-content-token
+
+#.TYPE_RENAME
+
+ForwardedContentToken/_item/body-part-choice T_body_part_token_choice
+
+#.FIELD_ATTR
+G3FacsimileBodyPart/data ABBREV=g3facsimile.data
+VideotexBodyPart/data ABBREV=videotex.data
+ExtendedBodyPart/data ABBREV=extended.data
+TeletexBodyPart/data ABBREV=teletex.data
+IA5TextBodyPart/data ABBREV=ia5text.data
+MessageBodyPart/data ABBREV=message.data
+EncryptedBodyPart/data ABBREV=encrypted.data
+Account-Attribute/actual-values ABBREV=account.actual-values
+User-Identity-Attribute/actual-values ABBREV=identity.actual-values
+
+#.REGISTER
+AbsenceAdvice B "2.6.1.19.0" "id-on-absence-advice"
+ChangeOfAddressAdvice B "2.6.1.19.1" "id-on-change-of-address-advice"
+IPMAssemblyInstructions B "2.6.1.17.2" "id-mst-assembly-instructions"
+
+IncompleteCopy B "2.6.1.5.0" "id-hex-incomplete-copy"
+Languages B "2.6.1.5.1" "id-hex-languages"
+AutoSubmitted B "2.6.1.5.2" "id-hex-auto-submitted"
+BodyPartSignatures B "2.6.1.5.3" "id-hex-body-part-signatures"
+IPMSecurityLabel B "2.6.1.5.4" "id-hex-ipm-security-label"
+AuthorizationTime B "2.6.1.5.5" "id-hex-authorization-time"
+CirculationList B "2.6.1.5.6" "id-hex-circulation-list-recipients"
+CirculationListIndicator B "2.6.1.20.0" "id-rex-circulation-list-indicator"
+DistributionCodes B "2.6.1.5.7" "id-hex-distribution-codes"
+ExtendedSubject B "2.6.1.5.8" "id-hex-extended-subject"
+InformationCategories B "2.6.1.5.9" "id-hex-information-categories"
+ManualHandlingInstructions B "2.6.1.5.10" "id-hex-manual-handling-instructions"
+OriginatorsReference B "2.6.1.5.11" "id-hex-originators-reference"
+PrecedencePolicyIdentifier B "2.6.1.5.12" "id-hex-precedence-policy-id"
+Precedence B "2.6.1.20.1" "id-rex-precedence"
+
+IA5TextData B "2.6.1.4.0" "id-et-ia5-text"
+IA5TextParameters B "2.6.1.11.0" "id-ep-ia5-text"
+G3FacsimileData B "2.6.1.4.2" "id-et-g3-facsimile"
+G3FacsimileParameters B "2.6.1.11.2" "id-ep-g3-facsimile"
+G4Class1BodyPart B "2.6.1.4.3" "id-et-g4-class1"
+TeletexData B "2.6.1.4.4" "id-et-teletex"
+TeletexParameters B "2.6.1.11.4" "id-ep-teletex"
+VideotexData B "2.6.1.4.5" "id-et-videotex"
+VideotexParameters B "2.6.1.11.5" "id-ep-videotex"
+EncryptedData B "2.6.1.4.6" "id-et-encrypted"
+EncryptedParameters B "2.6.1.11.6" "id-ep-encrypted"
+MessageData B "2.6.1.4.7" "id-et-message"
+MessageParameters B "2.6.1.11.7" "id-ep-message"
+MixedModeBodyPart B "2.6.1.4.8" "id-et-mixed-mode"
+BilaterallyDefinedBodyPart B "2.6.1.4.9" "id-et-bilaterally-defined"
+
+GeneralTextParameters B "2.6.1.11.11" "id-ep-general-text"
+GeneralTextData B "2.6.1.4.11" "id-et-general-text"
+FileTransferParameters B "2.6.1.11.12" "id-ep-file-transfer"
+FileTransferData B "2.6.1.4.12" "id-et-file-transfer"
+# {id-et 13} is no longer defined
+# ForwardedReportBodyPart {id-et 14} defined in p1.cnf
+MessageParameters B "2.6.1.11.15" "id-ep-notification"
+IPN B "2.6.1.4.15" "id-et-notification"
+VoiceParameters B "2.6.1.11.16" "id-ep-voice"
+VoiceData B "2.6.1.4.16" "id-et-voice"
+# P22
+ForwardedContentParameters B "2.6.1.11.17.2.6.1.10.1" "id-ep-content-p22"
+InformationObject B "2.6.1.4.17.2.6.1.10.1" "id-et-content-p22"
+#p2
+ForwardedContentParameters B "2.6.1.11.17.2.6.1.10.0" "id-ep-content-p2"
+InformationObject B "2.6.1.4.17.2.6.1.10.0" "id-et-content-p2"
+#p722
+ForwardedContentParameters B "2.6.1.11.17.1.3.26.0.4406.0.4.1" "id-ep-content-p772"
+
+
+# PKCS#7Bodypart {id-et 18} defined in cms.cnf
+
+# Message Store Attributes
+IPMEntryType B "2.6.1.6.0" "id-sat-ipm-entry-type"
+IPMSynopsis B "2.6.1.6.1" "id-sat-ipm-synopsis"
+BodyPartDescriptor B "2.6.1.6.2" "id-sat-body-parts-summary"
+#Boolean B "2.6.1.6.3" "id-sat-ipm-auto-discarded" - see x509sat.cnf
+
+Heading B "2.6.1.7.0" "id-hat-heading"
+ThisIPMField B "2.6.1.7.1" "id-hat-this-ipm"
+OriginatorField B "2.6.1.7.2" "id-hat-originator"
+RepliedToIPMField B "2.6.1.7.3" "id-hat-replied-to-IPM"
+SubjectField B "2.6.1.7.4" "id-hat-subject"
+ExpiryTimeField B "2.6.1.7.5" "id-hat-expiry-time"
+ReplyTimeField B "2.6.1.7.6" "id-hat-reply-time"
+ImportanceField B "2.6.1.7.7" "id-hat-importance"
+SensitivityField B "2.6.1.7.8" "id-hat-sensitivity"
+AutoForwardedField B "2.6.1.7.9" "id-hat-auto-forwarded"
+AuthorizingUsersSubfield B "2.6.1.7.10" "id-hat-authorizing-users"
+PrimaryRecipientsSubfield B "2.6.1.7.11" "id-hat-primary-recipients"
+CopyRecipientsSubfield B "2.6.1.7.12" "id-hat-copy-recipients"
+BlindCopyRecipientsSubfield B "2.6.1.7.13" "id-hat-blind-copy-recipients"
+ObsoletedIPMsSubfield B "2.6.1.7.14" "id-hat-obsoleted-IPMs"
+RelatedIPMsSubfield B "2.6.1.7.15" "id-hat-related-IPMs"
+ReplyRecipientsSubfield B "2.6.1.7.16" "id-hat-reply-recipients"
+IncompleteCopy B "2.6.1.7.17" "id-hat-incomplete-copy"
+Language B "2.6.1.7.18" "id-hat-languages"
+ORDescriptor B "2.6.1.7.19" "id-hat-rn-requestors"
+ORDescriptor B "2.6.1.7.20" "id-hat-nrn-requestors"
+ORDescriptor B "2.6.1.7.21" "id-hat-reply-requestors"
+AutoSubmitted B "2.6.1.7.22" "id-hat-auto-submitted"
+BodyPartSignatures B "2.6.1.7.23" "id-hat-body-part-signatures"
+IPMSecurityLabel B "2.6.1.7.24" "id-hat-ipm-security-label"
+BodyPartSecurityLabel B "2.6.1.7.25" "id-hat-body-part-security-label"
+BodyPartTokens B "2.6.1.7.26" "id-hat-body-part-encryption-token"
+AuthorizationTime B "2.6.1.7.27" "id-hat-authorization-time"
+CirculationMember B "2.6.1.7.28" "id-hat-circulation-list-recipients"
+DistributionCode B "2.6.1.7.29" "id-hat-distribution-codes"
+ExtendedSubject B "2.6.1.7.30" "id-hat-extended-subject"
+InformationCategory B "2.6.1.7.31" "id-hat-information-category"
+ManualHandlingInstruction B "2.6.1.7.32" "id-hat-manual-handling-instructions"
+OriginatorsReference B "2.6.1.7.33" "id-hat-originators-reference"
+PrecedencePolicyIdentifier B "2.6.1.7.34" "id-hat-precedence-policy-id"
+ForwardedContentToken B "2.6.1.7.35" "id-hat-forwarded-content-token"
+#MessageToken B "2.6.1.7.36" "id-hat-forwarded-token" - see p1.cnf
+Precedence B "2.6.1.7.37" "id-hat-precedence"
+BodyPartSignatureVerification B "2.6.1.7.38" "id-hat-body-part-signature-verification-status"
+
+Body B "2.6.1.8.0" "id-bat-body"
+
+# id-cat ID ::= {id-ipms 13} -- correlation attributes
+CorrelatedDeliveredIPNs B "2.6.1.13.0" "id-cat-correlated-delivered-ipns"
+CorrelatedDeliveredReplies B "2.6.1.13.1" "id-cat-correlated-delivered-replies"
+DeliveredIPNStatus B "2.6.1.13.2" "id-cat-delivered-ipn-summary"
+DeliveredReplyStatus B "2.6.1.13.3" "id-cat-delivered-replies-summary"
+#SequenceNumber B "2.6.1.13.4" "id-cat-forwarded-ipms"
+#SequenceNumber B "2.6.1.13.5" "id-cat-forwarding-ipms"
+#ORDescriptor B "2.6.1.13.6" "id-cat-ipm-recipients"
+IPMLocation B "2.6.1.13.7" "id-cat-obsoleted-ipms"
+#SequenceNumber B "2.6.1.13.8" "id-cat-obsoleting-ipms"
+#IPMLocation B "2.6.1.13.9" "id-cat-related-ipms"
+#SequenceNumber B "2.6.1.13.10" "id-cat-relating-ipms"
+#SequenceNumber B "2.6.1.13.11" "id-cat-replied-to-ipm"
+#id-cat-replying-ipms B "2.6.1.13.12" "id-cat-replying-ipms"
+#ReplyTimeField B "2.6.1.13.13" "id-cat-revised-reply-time"
+SubmittedIPNStatus B "2.6.1.13.14" "id-cat-submitted-ipn-status"
+#SequenceNumber B "2.6.1.13.15" "id-cat-submitted-ipns"
+SubmittedReplyStatus B "2.6.1.13.16" "id-cat-submitted-reply-status"
+#SequenceNumber B "2.6.1.13.17" "id-cat-subject-ipm"
+RecipientCategory B "2.6.1.13.18" "id-cat-recipient-category"
+
+# id-sec ID ::= {id-ipms 18} -- ipm security extensions
+RecipientSecurityRequest B "2.6.1.18.0" "id-sec-ipm-security-request"
+IpnSecurityResponse B "2.6.1.18.1" "id-sec-security-common-fields"
+
+#.FN_PARS IPMSExtension/type
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY IPMSExtension/type
+ const char *name = NULL;
+
+ %(DEFAULT_BODY)s
+
+ name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference);
+ proto_item_append_text(tree, " (%%s)", name ? name : actx->external.direct_reference);
+
+#.FN_BODY IPMSExtension/value
+
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY IPM
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " Message");
+
+ %(DEFAULT_BODY)s
+
+
+#.FN_BODY IPN
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " Notification");
+
+ %(DEFAULT_BODY)s
+
+#.FN_PARS SubjectField
+ VAL_PTR=&subject
+
+#.FN_BODY SubjectField
+ tvbuff_t *subject=NULL;
+
+ %(DEFAULT_BODY)s
+
+ if(subject)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", tvb_get_string_enc(actx->pinfo->pool, subject, 0,
+ tvb_reported_length(subject), ENC_T61));
+
+#.TYPE_ATTR
+SubjectField DISPLAY = BASE_NONE
+
+#.TYPE_ATTR
+TeletexData/_item DISPLAY = BASE_NONE
+
+#.TYPE_ATTR
+FreeFormName DISPLAY = BASE_NONE
+
+#.TYPE_ATTR
+VideotexData DISPLAY = BASE_NONE
+
+#.FN_PARS CharacterSetRegistration
+ VAL_PTR=&crs
+
+#.FN_BODY CharacterSetRegistration
+ guint32 crs;
+ %(DEFAULT_BODY)s
+
+ if(actx->created_item)
+ proto_item_append_text(actx->created_item, " (%%s)", val_to_str(crs, charsetreg_vals, "unknown"));
+
+#.FN_BODY Interchange-Data-Element
+/* XXX Not implemented yet */
+
+#.FN_BODY NationallyDefinedBodyPart
+/* XXX Not implemented yet */
+
+#.FN_BODY Contents-Type-Attribute/document-type/parameter
+/* XXX: Not implemented yet */
+
+#.FN_BODY CompressionParameter/compression-algorithm-id
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
+
+#.FN_BODY CompressionParameter/compression-algorithm-param
+/* XXX: Not implemented yet */
+
+#.END
+
diff --git a/epan/dissectors/asn1/p22/packet-p22-template.c b/epan/dissectors/asn1/p22/packet-p22-template.c
new file mode 100644
index 00000000..fe7d4d2d
--- /dev/null
+++ b/epan/dissectors/asn1/p22/packet-p22-template.c
@@ -0,0 +1,136 @@
+/* packet-p22.c
+ * Routines for X.420 (X.400 Message Transfer) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ros.h"
+
+#include "packet-x509af.h"
+#include "packet-x509ce.h"
+#include "packet-ftam.h"
+#include "packet-p1.h"
+#include "packet-p7.h"
+
+#include "packet-p22.h"
+
+#define PNAME "X.420 Information Object"
+#define PSNAME "P22"
+#define PFNAME "p22"
+
+/* Initialize the protocol and registered fields */
+static int proto_p22 = -1;
+
+static const value_string charsetreg_vals [] = {
+ { 1, "C0: (ISO/IEC 6429)"},
+ { 6, "G0: ASCII (ISO/IEC 646)"},
+ { 77, "C1: (ISO/IEC 6429)"},
+ { 100, "Gn: Latin Alphabet No.1, Western European Supplementary Set (GR area of ISO-8859-1)"},
+ { 101, "Gn: Latin Alphabet No.2, Central EuropeanSupplementary Set (GR area of ISO-8859-2)"},
+ { 104, "C0: (ISO/IEC 4873)"},
+ { 105, "C1: (ISO/IEC 4873)"},
+ { 106, "C0: Teletex (CCITT T.61)"},
+ { 107, "C1: Teletex (CCITT T.61)"},
+ { 109, "Gn: Latin Alphabet No.3, Southern European Supplementary Set (GR area of ISO-8859-3)"},
+ { 110, "Gn: Latin Alphabet No.4, Baltic Supplementary Set (GR area of ISO-8859-4)"},
+ { 126, "Gn: Greek Supplementary Set (GR area of ISO-8859-7)"},
+ { 127, "Gn: Arabic Supplementary Set (GR area of ISO-8859-6)"},
+ { 138, "Gn: Hebrew Supplementary Set (GR area of ISO-8859-8)"},
+ { 144, "Gn: Cyrillic Supplementary Set (GR area of ISO-8859-5)"},
+ { 148, "Gn: Latin Alphabet No.5, Cyrillic Supplementary Set (GR area of ISO-8859-9)"},
+ { 154, "Gn: Supplementary Set for Latin Alphabets No.1 or No.5, and No.2"},
+ { 157, "Gn: Latin Alphabet No.6, Arabic Supplementary Set (GR area of ISO-8859-10)"},
+ { 158, "Gn: Supplementary Set for Sami (Lappish) to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
+ { 166, "Gn: Thai Supplementary Set (GR area of ISO-8859-11)"},
+ { 179, "Gn: Latin Alphabet No.7, Baltic Rim Supplementary Set (GR area of ISO-8859-13)"},
+ { 182, "Gn: Welsh Variant of Latin Alphabet No.1, Supplementary Set (GR area of ISO-8859-1)"},
+ { 197, "Gn: Supplementary Set for Sami to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
+ { 199, "Gn: Latin Alphabet No.8, Celtic Supplementary Set (GR area of ISO-8859-14)"},
+ { 203, "Gn: Latin Alphabet No.9, European Rim Supplementary Set (GR area of ISO-8859-15)"},
+ { 0, NULL}
+};
+
+#include "packet-p22-val.h"
+
+#include "packet-p22-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_p22 = -1;
+#include "packet-p22-ett.c"
+
+#include "packet-p22-fn.c"
+
+/*
+* Dissect P22 PDUs inside a PPDU.
+*/
+static int
+dissect_p22(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ int offset = 0;
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, proto_p22, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_p22);
+ }
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "P22");
+ col_set_str(pinfo->cinfo, COL_INFO, "InterPersonal");
+
+ dissect_p22_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1);
+ return tvb_captured_length(tvb);
+}
+
+
+/*--- proto_register_p22 -------------------------------------------*/
+void proto_register_p22(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+#include "packet-p22-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_p22,
+#include "packet-p22-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_p22 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("p22", dissect_p22, proto_p22);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_p22, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_p22 --- */
+void proto_reg_handoff_p22(void) {
+
+#include "packet-p22-dis-tab.c"
+
+ register_ber_oid_dissector("2.6.1.10.0", dissect_p22, proto_p22, "InterPersonal Message (1984)");
+ register_ber_oid_dissector("2.6.1.10.1", dissect_p22, proto_p22, "InterPersonal Message (1988)");
+
+
+}
diff --git a/epan/dissectors/asn1/p22/packet-p22-template.h b/epan/dissectors/asn1/p22/packet-p22-template.h
new file mode 100644
index 00000000..11094ec8
--- /dev/null
+++ b/epan/dissectors/asn1/p22/packet-p22-template.h
@@ -0,0 +1,20 @@
+/* packet-p22.h
+ * Routines for X.420 (X.400 Message Transfer) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_P22_H
+#define PACKET_P22_H
+
+#include "packet-p22-exp.h"
+
+void proto_reg_handoff_p22(void);
+void proto_register_p22(void);
+
+#endif /* PACKET_P22_H */
diff --git a/epan/dissectors/asn1/p7/CMakeLists.txt b/epan/dissectors/asn1/p7/CMakeLists.txt
new file mode 100644
index 00000000..f95b06ae
--- /dev/null
+++ b/epan/dissectors/asn1/p7/CMakeLists.txt
@@ -0,0 +1,52 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME p7 )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ MSAbstractService.asn
+ MSGeneralAttributeTypes.asn
+ MSAccessProtocol.asn
+ MSUpperBounds.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -C )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../ros/ros-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../rtse/rtse-exp.cnf"
+)
+
+set( EXPORT_DEPENDS
+ "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/p7/MSAbstractService.asn b/epan/dissectors/asn1/p7/MSAbstractService.asn
new file mode 100644
index 00000000..5641f3c1
--- /dev/null
+++ b/epan/dissectors/asn1/p7/MSAbstractService.asn
@@ -0,0 +1,1124 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x413/1999/index.html
+-- Module MSAbstractService (X.413:06/1999)
+MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) abstract-service(1)
+ version-1999(1)} DEFINITIONS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything
+IMPORTS
+ -- MTS information object classes
+ operationObject1, ABSTRACT-ERROR, ABSTRACT-OPERATION, EXTENSION, MHS-OBJECT,
+ PORT,
+ -- MTS objects and ports
+ administration, delivery, mts-user,
+ submission,
+ -- MTS abstract-operations and abstract-errors
+ cancel-deferred-delivery, element-of-service-not-subscribed,
+ inconsistent-request, new-credentials-unacceptable,
+ old-credentials-incorrectly-specified, originator-invalid,
+ recipient-improperly-specified, remote-bind-error, security-error,
+ submission-control, submission-control-violated,
+ unsupported-critical-function,
+ -- MTS abstract-service data-types
+ CertificateSelectors, Credentials, InitiatorCredentials,
+ MessageSubmissionArgument, MessageSubmissionResult, MessageToken,
+ ORAddressAndOrDirectoryName, ProbeSubmissionArgument,
+ ProbeSubmissionResult, ResponderCredentials, SecurityContext, SecurityLabel,
+-- WS added imports because of expansion of COMPONENTS OF
+ MessageSubmissionIdentifier, ExtensionField, OriginatorName,
+ OriginalEncodedInformationTypes, ContentType, ProbeSubmissionIdentifier,
+ ProbeSubmissionTime
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- MTS abstract-service 1988 ports
+ OPERATION, ERROR
+FROM Remote-Operations-Information-Objects
+ administration-88
+ --==
+ FROM MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1988(1988)}
+ -- MTS abstract-service upper bounds
+ ub-content-types, ub-encoded-information-types, ub-labels-and-redirections
+ --==
+ FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ upper-bounds(3) version-1999(1)}
+ -- MS X413ATTRIBUTE table
+ AttributeTable
+ --==
+ FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-attribute-types(2) version-1999(1)}
+ -- MS matching rule table
+ MatchingRuleTable
+ --==
+ FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-matching-rules(5) version-1999(1)}
+ -- MS auto-action-table and auto-action-error table
+ AutoActionTable, AutoActionErrorTable
+ --==
+ FROM MSGeneralAutoActionTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-auto-action-types(3) version-1994(0)}
+ -- MS object-identifiers
+ id-cp-ms-connection, id-crt-ms-access-88, id-crt-ms-access-94,
+ id-ext-modify-capability, id-ext-modify-retrieval-status-capability,
+ id-ext-originator-token, id-ext-originator-certificate-selectors-override,
+ id-ext-protected-change-credentials,
+ id-ext-protected-change-credentials-capability, id-ot-ms, id-ot-ms-user,
+ id-pt-retrieval-88, id-pt-retrieval-94, id-pt-ms-submission
+ --==
+ FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ object-identifiers(0) version-1999(1)}
+ -- MS Access abstract-operation and error codes
+ err-attribute-error, err-auto-action-request-error, err-ms-extension-error,
+ err-delete-error, err-entry-class-error, err-fetch-restriction-error,
+ err-invalid-parameters-error, err-message-group-error, err-modify-error,
+ err-range-error, err-security-error, err-sequence-number-error,
+ err-service-error, err-register-ms-error, op-alert, op-delete, op-fetch,
+ op-list, op-modify, op-ms-message-submission, op-ms-probe-submission,
+ op-register-ms, op-summarize
+ --==
+ FROM MSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
+ ms-access-protocol(2) version-1999(1)}
+ -- MS abstract-service upper bounds
+ ub-attributes-supported, ub-attribute-values, ub-auto-action-errors,
+ ub-auto-actions, ub-auto-registrations, ub-default-registrations,
+ ub-entry-classes, ub-error-reasons, ub-extensions, ub-group-depth,
+ ub-group-descriptor-length, ub-group-part-length, ub-matching-rules,
+ ub-message-groups, ub-messages, ub-modifications, ub-per-entry,
+ ub-per-auto-action, ub-service-information-length, ub-summaries,
+ ub-supplementary-info-length, ub-ua-registration-identifier-length,
+ ub-ua-registrations, ub-ua-restrictions
+ --==
+ FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
+ version-1994(0)}
+ -- MATCHING-RULE information object class
+ MATCHING-RULE
+ --==
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 3}
+ -- Remote Operations
+ CONTRACT, CONNECTION-PACKAGE
+ --==
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ emptyUnbind
+ FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
+ remote-operations(4) useful-definitions(7) version1(0)};
+
+-- MS Abstract Objects
+ms MHS-OBJECT ::= {
+ IS {mts-user}
+ RESPONDS {ms-access-contract-88 | ms-access-contract-94}
+ ID id-ot-ms
+}
+
+ms-user MHS-OBJECT ::= {
+ INITIATES {ms-access-contract-88 | ms-access-contract-94}
+ ID id-ot-ms-user
+}
+
+-- Contracts
+ms-access-contract-94 CONTRACT ::= {
+ CONNECTION ms-connect
+ INITIATOR CONSUMER OF {retrieval | ms-submission | administration}
+ ID id-crt-ms-access-94
+}
+
+ms-access-contract-88 CONTRACT ::= {
+ CONNECTION ms-connect -- with all 1994 extensions omitted
+ INITIATOR CONSUMER OF {retrieval-88 | submission | administration-88}
+ ID id-crt-ms-access-88
+}
+
+-- Connection-package
+ms-connect CONNECTION-PACKAGE ::= {
+ BIND ms-bind
+ UNBIND ms-unbind
+ ID id-cp-ms-connection
+}
+
+-- MS Ports
+--retrieval PORT ::= {
+-- OPERATIONS {operationObject1, ...}
+-- CONSUMER INVOKES
+-- {summarize | list | fetch | delete | register-MS,
+-- ... - 1994 extension addition -, modify}
+-- SUPPLIER INVOKES {alert}
+-- ID id-pt-retrieval-94
+--}
+
+--retrieval-88 PORT ::= {
+-- - With all 1994 extensions to the abstract-operations absent
+-- OPERATIONS {operationObject1, ...}
+-- CONSUMER INVOKES {summarize | list | fetch | delete | register-MS}
+-- SUPPLIER INVOKES {alert}
+-- ID id-pt-retrieval-88
+--}
+
+--ms-submission PORT ::= {
+-- OPERATIONS {operationObject1, ...}
+-- CONSUMER INVOKES
+-- {ms-message-submission | ms-probe-submission | ms-cancel-deferred-delivery}
+-- SUPPLIER INVOKES {ms-submission-control}
+-- ID id-pt-ms-submission
+--}
+
+-- X413ATTRIBUTE information object class
+X413ATTRIBUTE ::= CLASS {
+ &id AttributeType UNIQUE,
+ &Type ,
+ &equalityMatch MATCHING-RULE OPTIONAL,
+ &substringsMatch MATCHING-RULE OPTIONAL,
+ &orderingMatch MATCHING-RULE OPTIONAL,
+ &numeration ENUMERATED {single-valued(0), multi-valued(1)},
+ -- 1994 extension
+ &OtherMatches MATCHING-RULE OPTIONAL
+}
+WITH SYNTAX {
+ WITH ATTRIBUTE-SYNTAX &Type,
+ [EQUALITY MATCHING-RULE &equalityMatch,]
+ [SUBSTRINGS MATCHING-RULE &substringsMatch,]
+ [ORDERING MATCHING-RULE &orderingMatch,]
+ [OTHER MATCHING-RULES &OtherMatches,]
+ NUMERATION &numeration,
+ ID &id
+}
+
+Attribute ::= SEQUENCE {
+ attribute-type X413ATTRIBUTE.&id({AttributeTable}),
+ attribute-values
+ SEQUENCE SIZE (1..ub-attribute-values) OF
+ X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
+}
+
+AttributeType ::= OBJECT IDENTIFIER
+
+-- AUTO-ACTION information object class
+AUTO-ACTION ::= CLASS {
+ &id AutoActionType UNIQUE,
+ &RegistrationParameter OPTIONAL,
+ &Errors AUTO-ACTION-ERROR OPTIONAL
+}
+WITH SYNTAX {
+ [REGISTRATION PARAMETER IS &RegistrationParameter]
+ [ERRORS &Errors]
+ IDENTIFIED BY &id
+}
+
+AutoActionType ::= OBJECT IDENTIFIER
+
+AutoActionRegistration ::= SEQUENCE {
+ auto-action-type AUTO-ACTION.&id({AutoActionTable}),
+ registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1,
+ registration-parameter
+ [1] AUTO-ACTION.&RegistrationParameter
+ ({AutoActionTable}{@auto-action-type}) OPTIONAL
+}
+
+-- AUTO-ACTION-ERROR information object class
+AUTO-ACTION-ERROR ::=
+ ABSTRACT-ERROR
+
+AutoActionError ::= SET {
+ error-code [0] AUTO-ACTION-ERROR.&errorCode({AutoActionErrorTable}),
+ error-parameter
+ [1] AUTO-ACTION-ERROR.&ParameterType({AutoActionErrorTable}{@error-code})
+ OPTIONAL
+}
+
+-- MS-EXTENSION information object class
+MS-EXTENSION ::= TYPE-IDENTIFIER
+
+MSExtensionItem ::= INSTANCE OF MS-EXTENSION
+
+MSExtensions ::= SEQUENCE SIZE (1..ub-extensions) OF MSExtensionItem
+
+-- Common data-types related to the information model
+EntryClass ::= INTEGER {
+ delivery(0),
+ -- 1994 extensions
+ submission(1), draft(2), stored-message(3), delivery-log(4),
+ submission-log(5), message-log(6), auto-action-log(7)}(0..ub-entry-classes)
+
+EntryType ::= INTEGER {
+ delivered-message(0), delivered-report(1),
+ returned-content(2),
+ -- 1994 extensions
+ submitted-message(3), submitted-probe(4), draft-message(5),
+ auto-action-event(6)}
+
+SequenceNumber ::= INTEGER(0..ub-messages)
+
+RetrievalStatus ::= INTEGER {new(0), listed(1), processed(2)}
+
+MessageGroupName ::= SEQUENCE SIZE (1..ub-group-depth) OF GroupNamePart
+
+GroupNamePart ::= GeneralString(SIZE (1..ub-group-part-length))
+
+-- MS-bind abstract-operation
+ms-bind -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT MSBindArgument
+ RESULT MSBindResult
+ ERRORS {ms-bind-error}
+ CODE op-ros-bind -- WS: internal operation code
+}
+
+MSBindArgument ::= SET {
+ initiator-name ORAddressAndOrDirectoryName,
+ initiator-credentials [2] InitiatorCredentials,
+ security-context [3] IMPLICIT SecurityContext OPTIONAL,
+ fetch-restrictions [4] Restrictions OPTIONAL -- default is none--,
+ ms-configuration-request [5] BOOLEAN DEFAULT FALSE,
+ -- 1994 extensions
+ ua-registration-identifier [6] RegistrationIdentifier OPTIONAL,
+ bind-extensions [7] MSExtensions OPTIONAL
+}
+
+Restrictions ::= SET {
+ allowed-content-types
+ [0] SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL--default is no restriction--,
+ allowed-EITs [1] MS-EITs OPTIONAL --default is no restriction--,
+ maximum-attribute-length [2] INTEGER OPTIONAL --default is no restriction--
+}
+
+MS-EITs ::= SET SIZE (1..ub-encoded-information-types) OF MS-EIT
+
+MS-EIT ::= OBJECT IDENTIFIER
+
+RegistrationIdentifier ::=
+ PrintableString(SIZE (1..ub-ua-registration-identifier-length))
+
+MSBindResult ::= SET {
+ responder-credentials [2] ResponderCredentials,
+ available-auto-actions
+ [3] SET SIZE (1..ub-auto-actions) OF AUTO-ACTION.&id({AutoActionTable})
+ OPTIONAL,
+ available-attribute-types
+ [4] SET SIZE (1..ub-attributes-supported) OF
+ X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
+ alert-indication [5] BOOLEAN DEFAULT FALSE,
+ content-types-supported
+ [6] SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL,
+ -- 1994 extensions
+ entry-classes-supported
+ [7] SET SIZE (1..ub-entry-classes) OF EntryClass OPTIONAL,
+ matching-rules-supported
+ [8] SET SIZE (1..ub-matching-rules) OF OBJECT IDENTIFIER OPTIONAL,
+ bind-result-extensions [9] MSExtensions OPTIONAL,
+ message-group-depth [10] INTEGER(1..ub-group-depth) OPTIONAL,
+ auto-action-error-indication [11] AutoActionErrorIndication OPTIONAL,
+ unsupported-extensions
+ [12] SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER OPTIONAL,
+ ua-registration-id-unknown [13] BOOLEAN DEFAULT FALSE,
+ service-information
+ [14] GeneralString(SIZE (1..ub-service-information-length)) OPTIONAL
+}
+
+modify-capability MS-EXTENSION ::= {
+ NULL
+ IDENTIFIED BY id-ext-modify-capability
+}
+
+modify-retrieval-status-capability MS-EXTENSION ::= {
+ NULL
+ IDENTIFIED BY id-ext-modify-retrieval-status-capability
+}
+
+protected-change-credentials-capability MS-EXTENSION ::= {
+ ChangeCredentialsAlgorithms
+ IDENTIFIED BY id-ext-protected-change-credentials-capability
+}
+
+ChangeCredentialsAlgorithms ::= SET OF OBJECT IDENTIFIER
+
+AutoActionErrorIndication ::= CHOICE {
+ indication-only [0] NULL,
+ auto-action-log-entry [1] SequenceNumber
+}
+
+ms-bind-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER
+ CHOICE {unqualified-error BindProblem,
+ -- 1994 extension
+ qualified-error
+ SET {bind-problem [0] BindProblem,
+ supplementary-information
+ [1] GeneralString(SIZE (1..ub-supplementary-info-length))
+ OPTIONAL,
+ bind-extension-errors
+ [2] SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER
+ OPTIONAL}}
+ CODE err-ros-bind -- WS: internal error code
+}
+
+BindProblem ::= ENUMERATED {
+ authentication-error(0), unacceptable-security-context(1),
+ unable-to-establish-association(2), ... -- 1994 extension addition --,
+ bind-extension-problem(3), inadequate-association-confidentiality(4)
+}
+
+-- MS Unbind abstract-operation
+ms-unbind ABSTRACT-OPERATION ::= emptyUnbind
+
+-- Common data-types
+Range ::= CHOICE {
+ sequence-number-range [0] NumberRange,
+ creation-time-range [1] TimeRange
+}
+
+NumberRange ::= SEQUENCE {
+ from [0] SequenceNumber OPTIONAL -- omitted means no lower bound--,
+ to [1] SequenceNumber OPTIONAL -- omitted means no upper bound--
+}
+
+TimeRange ::= SEQUENCE {
+ from [0] CreationTime OPTIONAL -- omitted means no lower bound--,
+ to [1] CreationTime OPTIONAL -- omitted means no upper bound--
+}
+
+CreationTime ::= UTCTime
+
+Filter ::= CHOICE {
+ item [0] FilterItem,
+ and [1] SET OF Filter,
+ or [2] SET OF Filter,
+ not [3] Filter
+}
+
+FilterItem ::= CHOICE {
+ equality [0] AttributeValueAssertion,
+ substrings
+ [1] SEQUENCE {type X413ATTRIBUTE.&id({AttributeTable}),
+ strings
+ SEQUENCE OF
+ CHOICE {initial
+ [0] X413ATTRIBUTE.&Type
+ ({AttributeTable}{@substrings.type}),
+ any
+ [1] X413ATTRIBUTE.&Type
+ ({AttributeTable}{@substrings.type}),
+ final
+ [2] X413ATTRIBUTE.&Type
+ ({AttributeTable}{@substrings.type})
+ }},
+ greater-or-equal [2] AttributeValueAssertion,
+ less-or-equal [3] AttributeValueAssertion,
+ present [4] X413ATTRIBUTE.&id({AttributeTable}),
+ approximate-match [5] AttributeValueAssertion,
+ -- 1994 extension
+ other-match [6] MatchingRuleAssertion
+}
+
+MatchingRuleAssertion ::= SEQUENCE {
+ matching-rule [0] MATCHING-RULE.&id({MatchingRuleTable}),
+ attribute-type [1] X413ATTRIBUTE.&id,
+ match-value
+ [2] MATCHING-RULE.&AssertionType({MatchingRuleTable}{@matching-rule})
+}
+
+AttributeValueAssertion ::= SEQUENCE {
+ attribute-type X413ATTRIBUTE.&id({AttributeTable}),
+ attribute-value X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
+}
+
+Selector ::= SET {
+ child-entries [0] BOOLEAN DEFAULT FALSE,
+ range [1] Range OPTIONAL -- default is unbounded --,
+ filter
+ [2] Filter
+ OPTIONAL -- default is all entries within the specified range --,
+ limit [3] INTEGER(1..ub-messages) OPTIONAL,
+ override [4] OverrideRestrictions OPTIONAL -- by default, --
+ -- any fetch-restrictions in force apply
+}
+
+OverrideRestrictions ::= BIT STRING {
+ override-content-types-restriction(0), override-EITs-restriction(1),
+ override-attribute-length-restriction(2)}(SIZE (1..ub-ua-restrictions))
+
+EntryInformationSelection ::= SET SIZE (0..ub-per-entry) OF AttributeSelection
+
+AttributeSelection ::= SET {
+ type X413ATTRIBUTE.&id({AttributeTable}),
+ from
+ [0] INTEGER(1..ub-attribute-values)
+ OPTIONAL --used if type is multi valued--,
+ count
+ [1] INTEGER(0..ub-attribute-values)
+ OPTIONAL --used if type is multi valued--
+}
+
+EntryInformation ::= SEQUENCE {
+ sequence-number SequenceNumber,
+ attributes SET SIZE (1..ub-per-entry) OF Attribute OPTIONAL,
+ -- 1994 extension
+ value-count-exceeded
+ [0] SET SIZE (1..ub-per-entry) OF AttributeValueCount OPTIONAL
+}
+
+AttributeValueCount ::= SEQUENCE {
+ type [0] X413ATTRIBUTE.&id({AttributeTable}),
+ total [1] INTEGER
+}
+
+MSSubmissionOptions ::= SET {
+ object-entry-class
+ [0] EntryClass(submission | submission-log | draft) OPTIONAL,
+ disable-auto-modify [1] BOOLEAN DEFAULT FALSE,
+ add-message-group-names
+ [2] SET SIZE (1..ub-message-groups) OF MessageGroupName OPTIONAL,
+ ms-submission-extensions [3] MSExtensions OPTIONAL
+}
+
+originator-token MS-EXTENSION ::= {
+ OriginatorToken
+ IDENTIFIED BY id-ext-originator-token
+}
+
+OriginatorToken ::=
+ MessageToken
+ (CONSTRAINED BY {
+
+ -- Must contain an asymmetric-token with an encrypted-data component --})
+
+originator-certificate-selectors-override MS-EXTENSION ::= {
+ CertificateSelectors
+ (WITH COMPONENTS {
+ ...,
+ message-origin-authentication ABSENT
+ })
+ IDENTIFIED BY id-ext-originator-certificate-selectors-override
+}
+
+CommonSubmissionResults ::= SET {
+ created-entry [0] SequenceNumber OPTIONAL,
+ auto-action-error-indication [1] AutoActionErrorIndication OPTIONAL,
+ ms-submission-result-extensions [2] MSExtensions OPTIONAL
+}
+
+-- Retrieval Port abstract-operations
+summarize -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT SummarizeArgument
+ RESULT SummarizeResult
+ ERRORS
+ {attribute-error | invalid-parameters-error | range-error | security-error
+ | service-error, ... -- 1994 extension additions --, entry-class-error |
+ ms-extension-error}
+ LINKED {operationObject1, ...}
+ CODE op-summarize
+}
+
+SummarizeArgument ::= SET {
+ entry-class [0] EntryClass DEFAULT delivery,
+ selector [1] Selector,
+ summary-requests
+ [2] SEQUENCE SIZE (1..ub-summaries) OF X413ATTRIBUTE.&id({AttributeTable})
+ OPTIONAL -- absent if no summaries are requested--,
+ -- 1994 extension
+ summarize-extensions [3] MSExtensions OPTIONAL
+}
+
+SummarizeResult ::= SET {
+ next [0] SequenceNumber OPTIONAL,
+ count
+ [1] INTEGER(0..ub-messages)-- of the entries selected-- ,
+ span [2] Span OPTIONAL -- of the entries selected,---- omitted if count is zero --,
+ summaries
+ [3] SEQUENCE SIZE (1..ub-summaries) OF Summary OPTIONAL,
+ -- 1994 extension
+ summarize-result-extensions [4] MSExtensions OPTIONAL
+}
+
+Span ::= SEQUENCE {lowest [0] SequenceNumber,
+ highest [1] SequenceNumber
+}
+
+Summary ::= SET {
+ absent
+ [0] INTEGER(1..ub-messages)
+ OPTIONAL --count of entries where X413ATTRIBUTE is absent--,
+ present
+ [1] SET SIZE (1..ub-attribute-values)
+ OF--one for each X413ATTRIBUTE value present--
+ SEQUENCE {type X413ATTRIBUTE.&id({AttributeTable}),
+ value X413ATTRIBUTE.&Type({AttributeTable}{@.type}),
+ count INTEGER(1..ub-messages)} OPTIONAL
+}
+
+--
+list -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT ListArgument
+ RESULT ListResult
+ ERRORS
+ {attribute-error | invalid-parameters-error | range-error | security-error
+ | service-error, ... -- 1994 extension additions --, entry-class-error |
+ ms-extension-error}
+ LINKED {operationObject1, ...}
+ CODE op-list
+}
+
+ListArgument ::= SET {
+ entry-class [0] EntryClass DEFAULT delivery,
+ selector [1] Selector,
+ requested-attributes [3] EntryInformationSelection OPTIONAL,
+ -- 1994 extension
+ list-extensions [4] MSExtensions OPTIONAL
+}
+
+ListResult ::= SET {
+ next [0] SequenceNumber OPTIONAL,
+ requested
+ [1] SEQUENCE SIZE (1..ub-messages) OF EntryInformation OPTIONAL--omitted if none found--,
+ -- 1994 extension
+ list-result-extensions [2] MSExtensions OPTIONAL
+}
+
+--
+fetch -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT FetchArgument
+ RESULT FetchResult
+ ERRORS
+ {attribute-error | fetch-restriction-error | invalid-parameters-error |
+ range-error | security-error | sequence-number-error | service-error,
+ ... -- 1994 extension additions --, entry-class-error |
+ ms-extension-error}
+ LINKED {operationObject1, ...}
+ CODE op-fetch
+}
+
+FetchArgument ::= SET {
+ entry-class [0] EntryClass DEFAULT delivery,
+ item
+ CHOICE {search [1] Selector,
+ precise [2] SequenceNumber},
+ requested-attributes [3] EntryInformationSelection OPTIONAL,
+ -- 1994 extension
+ fetch-extensions [4] MSExtensions OPTIONAL
+}
+
+FetchResult ::= SET {
+ entry-information
+ [0] EntryInformation OPTIONAL --if an entry was selected--,
+ list
+ [1] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
+ next [2] SequenceNumber OPTIONAL,
+ -- 1994 extension
+ fetch-result-extensions [3] MSExtensions OPTIONAL
+}
+
+--
+delete -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT DeleteArgument
+ RESULT DeleteResult
+ ERRORS
+ {delete-error | invalid-parameters-error | range-error | security-error |
+ sequence-number-error | service-error,
+ ... -- 1994 extension additions --, entry-class-error |
+ ms-extension-error}
+ LINKED {operationObject1, ...}
+ CODE op-delete
+}
+
+DeleteArgument ::= SET {
+ entry-class [0] EntryClass DEFAULT delivery,
+ items
+ CHOICE {selector [1] Selector,
+ sequence-numbers [2] SET SIZE (1..ub-messages) OF SequenceNumber
+ },
+ -- 1994 extension
+ delete-extensions [3] MSExtensions OPTIONAL
+}
+
+DeleteResult ::= CHOICE {
+ delete-result-88 NULL,
+ -- 1994 extension
+ delete-result-94
+ SET {entries-deleted
+ [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
+ delete-result-extensions [1] MSExtensions OPTIONAL}
+}
+
+--
+register-MS -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT Register-MSArgument
+ RESULT Register-MSResult
+ ERRORS
+ {attribute-error | auto-action-request-error | invalid-parameters-error |
+ security-error | service-error | old-credentials-incorrectly-specified |
+ new-credentials-unacceptable, ... -- 1994 extension additions --,
+ message-group-error | ms-extension-error | register-ms-error}
+ LINKED {operationObject1, ...}
+ CODE op-register-ms
+}
+
+Register-MSArgument ::= SET {
+ auto-action-registrations
+ [0] SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration OPTIONAL,
+ auto-action-deregistrations
+ [1] SET SIZE (1..ub-auto-registrations) OF AutoActionDeregistration
+ OPTIONAL,
+ list-attribute-defaults
+ [2] SET SIZE (0..ub-default-registrations) OF
+ X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
+ fetch-attribute-defaults
+ [3] SET SIZE (0..ub-default-registrations) OF
+ X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
+ change-credentials
+ [4] SEQUENCE {old-credentials
+ [0] Credentials(WITH COMPONENTS {
+ simple
+ }),
+ new-credentials
+ [1] Credentials(WITH COMPONENTS {
+ simple
+ })} OPTIONAL,
+ user-security-labels
+ [5] SET SIZE (1..ub-labels-and-redirections) OF SecurityLabel OPTIONAL,
+ -- 1994 extensions
+ ua-registrations
+ [6] SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL,
+ submission-defaults [7] MSSubmissionOptions OPTIONAL,
+ message-group-registrations [8] MessageGroupRegistrations OPTIONAL,
+ registration-status-request [9] RegistrationTypes OPTIONAL,
+ register-ms-extensions [10] MSExtensions OPTIONAL
+}
+
+AutoActionDeregistration ::= SEQUENCE {
+ auto-action-type AUTO-ACTION.&id({AutoActionTable}),
+ registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1
+}
+
+UARegistration ::= SET {
+ ua-registration-identifier [0] RegistrationIdentifier,
+ ua-list-attribute-defaults
+ [1] SET SIZE (0..ub-default-registrations) OF
+ X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
+ ua-fetch-attribute-defaults
+ [2] SET SIZE (0..ub-default-registrations) OF
+ X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
+ ua-submission-defaults [3] MSSubmissionOptions OPTIONAL,
+ content-specific-defaults [4] MSExtensions OPTIONAL
+}
+
+MessageGroupRegistrations ::=
+ SEQUENCE SIZE (1..ub-default-registrations) OF
+ CHOICE {register-group [0] MessageGroupNameAndDescriptor,
+ deregister-group [1] MessageGroupName,
+ change-descriptors [2] MessageGroupNameAndDescriptor}
+
+MessageGroupNameAndDescriptor ::= SET {
+ message-group-name [0] MessageGroupName,
+ message-group-descriptor
+ [1] GeneralString(SIZE (1..ub-group-descriptor-length)) OPTIONAL
+}
+
+RegistrationTypes ::= SET {
+ registrations
+ [0] BIT STRING {auto-action-registrations(0), list-attribute-defaults(1),
+ fetch-attribute-defaults(2), ua-registrations(3),
+ submission-defaults(4), message-group-registrations(5)}
+ OPTIONAL,
+ extended-registrations [1] SET OF MS-EXTENSION.&id OPTIONAL,
+ restrict-message-groups [2] MessageGroupsRestriction OPTIONAL
+}
+
+MessageGroupsRestriction ::= SET {
+ parent-group [0] MessageGroupName OPTIONAL,
+ immediate-descendants-only [1] BOOLEAN DEFAULT TRUE,
+ omit-descriptors [2] BOOLEAN DEFAULT TRUE
+}
+
+protected-change-credentials MS-EXTENSION ::= {
+ ProtectedChangeCredentials
+ IDENTIFIED BY id-ext-protected-change-credentials
+}
+
+ProtectedChangeCredentials ::= SEQUENCE {
+ algorithm-identifier [0] IMPLICIT OBJECT IDENTIFIER,
+ old-credentials
+ InitiatorCredentials(WITH COMPONENTS {
+ protected PRESENT
+ }),
+ password-delta [2] IMPLICIT BIT STRING
+}
+
+Register-MSResult ::= CHOICE {
+ no-status-information NULL,
+ -- 1994 extension
+ registered-information
+ SET {auto-action-registrations
+ [0] SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration
+ OPTIONAL,
+ list-attribute-defaults
+ [1] SET SIZE (1..ub-default-registrations) OF
+ X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
+ fetch-attribute-defaults
+ [2] SET SIZE (1..ub-default-registrations) OF
+ X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
+ ua-registrations
+ [3] SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL,
+ submission-defaults [4] MSSubmissionOptions OPTIONAL,
+ message-group-registrations
+ [5] SET SIZE (1..ub-message-groups) OF
+ MessageGroupNameAndDescriptor OPTIONAL,
+ register-ms-result-extensions [6] MSExtensions OPTIONAL}
+}
+
+--
+alert -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT AlertArgument
+ RESULT AlertResult
+ ERRORS {security-error}
+ LINKED {operationObject1, ...}
+ CODE op-alert
+}
+
+AlertArgument ::= SET {
+ alert-registration-identifier [0] INTEGER(1..ub-auto-actions),
+ new-entry [2] EntryInformation OPTIONAL
+}
+
+AlertResult ::= NULL
+
+--
+modify -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT ModifyArgument
+ RESULT ModifyResult
+ ERRORS
+ {attribute-error | invalid-parameters-error | security-error |
+ sequence-number-error | service-error | modify-error |
+ message-group-error | entry-class-error | ms-extension-error,
+ ... -- For future extension additions --}
+ LINKED {operationObject1, ...}
+ CODE op-modify
+}
+
+ModifyArgument ::= SET {
+ entry-class [0] EntryClass DEFAULT delivery,
+ entries
+ CHOICE {selector [1] Selector,
+ specific-entries
+ [2] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber},
+ modifications
+ [3] SEQUENCE SIZE (1..ub-modifications) OF EntryModification,
+ modify-extensions [4] MSExtensions OPTIONAL
+}
+
+EntryModification ::= SET {
+ strict [0] BOOLEAN DEFAULT FALSE,
+ modification
+ CHOICE {add-attribute [1] Attribute,
+ remove-attribute [2] X413ATTRIBUTE.&id({AttributeTable}),
+ add-values [3] OrderedAttribute,
+ remove-values [4] OrderedAttribute}
+}
+
+OrderedAttribute ::= SEQUENCE {
+ attribute-type X413ATTRIBUTE.&id({AttributeTable}),
+ attribute-values
+ SEQUENCE SIZE (1..ub-attribute-values) OF
+ SEQUENCE {-- at least one must be specified
+ value
+ [0] X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
+ OPTIONAL,
+ position [1] INTEGER(1..ub-attribute-values) OPTIONAL
+ }
+}
+
+ModifyResult ::= SET {
+ entries-modified
+ [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
+ modify-result-extensions [1] MSExtensions OPTIONAL
+}
+
+-- MS-submission Port abstract-operations
+ms-message-submission -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT MSMessageSubmissionArgument
+ RESULT MSMessageSubmissionResult
+ ERRORS
+ {submission-control-violated | element-of-service-not-subscribed |
+ originator-invalid | recipient-improperly-specified |
+ inconsistent-request | security-error | unsupported-critical-function |
+ remote-bind-error, ... -- 1994 extension additions --, ms-extension-error
+ | message-group-error | entry-class-error | service-error}
+ LINKED {operationObject1, ...}
+ CODE op-ms-message-submission
+}
+
+MSMessageSubmissionArgument ::= SEQUENCE {
+-- COMPONENTS OF
+-- MessageSubmissionArgument - This imported type has IMPLICIT tags -,
+-- WS expanded here
+ envelope MessageSubmissionEnvelope,
+ content Content,
+
+ -- 1994 extension
+ submission-options [4] MSSubmissionOptions OPTIONAL
+}
+
+forwarding-request EXTENSION ::= {
+ SequenceNumber,
+ IDENTIFIED BY standard-extension:36
+}
+
+MSMessageSubmissionResult ::= CHOICE {
+ mts-result
+ SET {--COMPONENTS OF
+-- MessageSubmissionResult- This imported type has IMPLICIT tags - ,
+-- WS extended here
+ message-submission-identifier MessageSubmissionIdentifier,
+ message-submission-time [0] IMPLICIT MessageSubmissionTime,
+ content-identifier ContentIdentifier OPTIONAL,
+ extensions
+ [1] SET OF ExtensionField --{{MessageSubmissionResultExtensions}}-- DEFAULT {},
+
+ -- 1994 extension
+ ms-message-result [4] CommonSubmissionResults OPTIONAL},
+ -- 1994 extension
+ store-draft-result [4] CommonSubmissionResults
+}
+
+--
+ms-probe-submission -- ABSTRACT- -- OPERATION ::= {
+ ARGUMENT MSProbeSubmissionArgument
+ RESULT MSProbeSubmissionResult
+ ERRORS
+ {submission-control-violated | element-of-service-not-subscribed |
+ originator-invalid | recipient-improperly-specified |
+ inconsistent-request | security-error | unsupported-critical-function |
+ remote-bind-error, ... -- 1994 extension additions --, ms-extension-error
+ | message-group-error | entry-class-error | service-error}
+ LINKED {operationObject1, ...}
+ CODE op-ms-probe-submission
+}
+
+MSProbeSubmissionArgument ::= SET {
+-- COMPONENTS OF
+-- ProbeSubmissionArgument - This imported type has IMPLICIT tags -,
+-- WS Expanded
+ originator-name OriginatorName,
+ original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
+ content-type ContentType,
+ content-identifier ContentIdentifier OPTIONAL,
+ content-length [0] ContentLength OPTIONAL,
+ per-message-indicators PerMessageIndicators DEFAULT {},
+ extensions
+ [2] SET OF ExtensionField --{{PerProbeSubmissionExtensions}}-- DEFAULT {}
+ ,per-recipient-fields
+ [3] SEQUENCE --SIZE (1..ub-recipients)-- OF PerRecipientProbeSubmissionFields,
+
+
+ -- 1994 extension
+ submission-options [4] MSSubmissionOptions OPTIONAL
+}
+
+MSProbeSubmissionResult ::= SET {
+-- COMPONENTS OF
+-- ProbeSubmissionResult - This imported type has IMPLICIT tags -,
+ probe-submission-identifier ProbeSubmissionIdentifier,
+ probe-submission-time [0] ProbeSubmissionTime,
+ content-identifier ContentIdentifier OPTIONAL,
+ extensions
+ [1] SET OF ExtensionField --{{ProbeResultExtensions}}-- DEFAULT {},
+
+ -- 1994 extension
+ ms-probe-result [4] CommonSubmissionResults OPTIONAL
+}
+
+ms-cancel-deferred-delivery ABSTRACT-OPERATION ::= cancel-deferred-delivery
+
+ms-submission-control ABSTRACT-OPERATION ::= submission-control
+
+-- Abstract-errors
+attribute-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER
+ SET {problems
+ [0] SET SIZE (1..ub-per-entry) OF
+ SET {problem [0] AttributeProblem,
+ type [1] X413ATTRIBUTE.&id({AttributeTable}),
+ value
+ [2] X413ATTRIBUTE.&Type({AttributeTable}{@.type})
+ OPTIONAL}}
+ CODE err-attribute-error
+}
+
+AttributeProblem ::= INTEGER {
+ invalid-attribute-value(0), unavailable-attribute-type(1),
+ inappropriate-matching(2), attribute-type-not-subscribed(3),
+ inappropriate-for-operation(4),
+ -- 1994 extensions
+ inappropriate-modification(5), single-valued-attribute(6)
+}(0..ub-error-reasons)
+
+--
+auto-action-request-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER
+ SET {problems
+ [0] SET SIZE (1..ub-auto-registrations) OF
+ SET {problem [0] AutoActionRequestProblem,
+ type [1] AUTO-ACTION.&id({AutoActionTable})
+ }}
+ CODE err-auto-action-request-error
+}
+
+AutoActionRequestProblem ::= INTEGER {
+ unavailable-auto-action-type(0),
+ auto-action-type-not-subscribed(1),
+ -- 1994 extension
+ not-willing-to-perform(2)}(0..ub-error-reasons)
+
+--
+delete-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER
+ SET {problems
+ [0] SET SIZE (1..ub-messages) OF
+ SET {problem [0] DeleteProblem,
+ sequence-number [1] SequenceNumber},
+ -- 1994 extension
+ entries-deleted
+ [1] SET SIZE (1..ub-messages) OF SequenceNumber OPTIONAL}
+ CODE err-delete-error
+}
+
+DeleteProblem ::= INTEGER {
+ child-entry-specified(0),
+ delete-restriction-problem(1),
+ -- 1994 extensions
+ new-entry-specified(2), entry-class-restriction(3), stored-message-exists(4)
+}(0..ub-error-reasons)
+
+--
+fetch-restriction-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER
+ SET {problems
+ [0] SET SIZE (1..ub-default-registrations) OF
+ SET {problem [3] FetchRestrictionProblem,
+ restriction
+ CHOICE {content-type [0] OBJECT IDENTIFIER,
+ eit [1] MS-EITs,
+ attribute-length [2] INTEGER}}}
+ CODE err-fetch-restriction-error
+}
+
+FetchRestrictionProblem ::= INTEGER {
+ content-type-problem(1), eit-problem(2), maximum-length-problem(3)
+}(0..ub-error-reasons)
+
+--
+invalid-parameters-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER NULL
+ CODE err-invalid-parameters-error
+}
+
+--
+range-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER SET {problem [0] RangeProblem}
+ CODE err-range-error
+}
+
+RangeProblem ::= INTEGER {reversed(0)}(0..ub-error-reasons)
+
+--
+sequence-number-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER
+ SET {problems
+ [1] SET SIZE (1..ub-messages) OF
+ SET {problem [0] SequenceNumberProblem,
+ sequence-number [1] SequenceNumber}}
+ CODE err-sequence-number-error
+}
+
+SequenceNumberProblem ::= INTEGER {no-such-entry(0)}(0..ub-error-reasons)
+
+--
+service-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER ServiceErrorParameter
+ CODE err-service-error
+}
+
+ServiceErrorParameter ::= SET {
+ problem [0] ServiceProblem,
+ -- 1994 extension
+ supplementary-information
+ [1] GeneralString(SIZE (1..ub-supplementary-info-length)) OPTIONAL
+}
+
+ServiceProblem ::= INTEGER {busy(0), unavailable(1), unwilling-to-perform(2)
+}(0..ub-error-reasons)
+
+--
+message-group-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER MessageGroupErrorParameter
+ CODE err-message-group-error
+}
+
+MessageGroupErrorParameter ::= SET {
+ problem [0] MessageGroupProblem,
+ name [1] MessageGroupName
+}
+
+MessageGroupProblem ::= INTEGER {
+ name-not-registered(0), name-already-registered(1), parent-not-registered(2),
+ group-not-empty(3), name-in-use(4), child-group-registered(5),
+ group-depth-exceeded(6)}(0..ub-error-reasons)
+
+--
+ms-extension-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER MSExtensionErrorParameter
+ CODE err-ms-extension-error
+}
+
+MSExtensionErrorParameter ::= CHOICE {
+ ms-extension-problem [0] MSExtensionItem,
+ unknown-ms-extension [1] OBJECT IDENTIFIER
+}
+
+--
+register-ms-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER
+ SET {problem [0] RegistrationProblem,
+ registration-type [1] RegistrationTypes}
+ CODE err-register-ms-error
+}
+
+RegistrationProblem ::= ENUMERATED {
+ registration-not-supported(0), registration-improperly-specified(1),
+ registration-limit-exceeded(2), ... -- For future extension additions --
+ }
+
+--
+modify-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER ModifyErrorParameter
+ CODE err-modify-error
+}
+
+ModifyErrorParameter ::= SET {
+ entries-modified
+ [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
+ failing-entry [1] SequenceNumber,
+ modification-number [2] INTEGER,
+ problem [3] ModifyProblem
+}
+
+ModifyProblem ::= INTEGER {
+ attribute-not-present(0), value-not-present(1),
+ attribute-or-value-already-exists(2), invalid-position(3),
+ modify-restriction-problem(4)}(0..ub-error-reasons)
+
+--
+entry-class-error -- ABSTRACT- -- ERROR ::= {
+ PARAMETER EntryClassErrorParameter
+ CODE err-entry-class-error
+}
+
+EntryClassErrorParameter ::= SET {
+ entry-class [0] EntryClass,
+ problem
+ [1] BIT STRING {unsupported-entry-class(0), entry-class-not-subscribed(1),
+ inappropriate-entry-class(2)}
+}
+
+END -- of MS Abstract Service
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p7/MSAccessProtocol.asn b/epan/dissectors/asn1/p7/MSAccessProtocol.asn
new file mode 100644
index 00000000..309a38da
--- /dev/null
+++ b/epan/dissectors/asn1/p7/MSAccessProtocol.asn
@@ -0,0 +1,257 @@
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x419/1999/index.html
+-- Module MSAccessProtocol (X.419:06/1999)
+MSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
+ ms-access-protocol(2) version-1999(1)} DEFINITIONS ::=
+BEGIN
+
+-- Prologue
+IMPORTS
+ -- MS Abstract Service
+ ms-access-contract-88, ms-access-contract-94, ms-submission, retrieval,
+ retrieval-88
+ --==
+ FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ abstract-service(1) version-1999(1)}
+ -- Remote Operations
+ APPLICATION-CONTEXT
+ --==
+ FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
+ remote-operations(4) informationObjects-extensions(8) version1(0)}
+ Code
+ --==
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ Bind{}, InvokeId, Unbind{}
+ --==
+ FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
+ remote-operations(4) generic-ROS-PDUs(6) version1(0)}
+ ROS-SingleAS{}
+ --==
+ FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
+ remote-operations(4) useful-definitions(7) version1(0)}
+ acse, association-by-RTSE, pData, transfer-by-RTSE
+ --==
+ FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
+ realizations(9) version1(0)}
+ acse-abstract-syntax
+ --==
+ FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
+ remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
+ -- Reliable Transfer
+ RTORQapdu, RTOACapdu, RTORJapdu
+ FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
+ -- MTS Access Protocol
+ message-administration-abstract-syntax-88,
+ message-administration-abstract-syntax-94,
+ message-submission-abstract-syntax
+ --==
+ FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
+ mts-access-protocol(1) version-1999(1)}
+ -- Object Identifiers
+ id-ac-ms-access-88, id-ac-ms-access-94, id-ac-ms-reliable-access-88,
+ id-ac-ms-reliable-access-94, id-as-ms-msse, id-as-mase-88, id-as-mase-94,
+ id-as-mdse-88, id-as-mdse-94, id-as-mrse-88, id-as-mrse-94, id-as-ms-88,
+ id-as-ms-94, id-as-ms-rtse, id-as-msse
+ --==
+ FROM MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0)
+ modules(0) object-identifiers(0) version-1994(0)};
+
+RTSE-apdus ::= CHOICE {
+ rtorq-apdu [16] IMPLICIT RTORQapdu,
+ rtoac-apdu [17] IMPLICIT RTOACapdu,
+ rtorj-apdu [18] IMPLICIT RTORJapdu,
+ rttp-apdu RTTPapdu,
+ rttr-apdu RTTRapdu,
+ rtab-apdu [22] IMPLICIT RTABapdu
+}
+
+RTTPapdu ::= -- priority-- INTEGER
+
+RTTRapdu ::= OCTET STRING
+
+RTABapdu ::= SET {
+ abortReason [0] IMPLICIT AbortReason OPTIONAL,
+ reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
+ -- 8 bits maximum, only if abortReason is invalidParameter
+ userdataAB
+ [2] TYPE-IDENTIFIER.&Type
+ OPTIONAL -- only in normal mode and if abortReason--
+ -- is userError
+}
+
+AbortReason ::= INTEGER {
+ localSystemProblem(0),
+ invalidParameter(1), -- reflectedParameter supplied
+ unrecognizedActivity(2),
+ temporaryProblem(3),
+ -- the RTSE cannot accept a session for a period of time
+ protocolError(4), -- RTSE level protocol error
+ permanentProblem(5), --provider-abort solely in normal mode
+ userError(6), -- user-abort solely in normal mode
+ transferCompleted(7) -- activity can't be discarded--}
+
+-- APPLICATION-CONTEXTS
+-- 1994 Application Context omitting RTSE
+ms-access-94 APPLICATION-CONTEXT ::= {
+ CONTRACT ms-access-contract-94
+ ESTABLISHED BY acse
+ INFORMATION TRANSFER BY pData
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | ms-message-submission-abstract-syntax |
+ message-retrieval-abstract-syntax-94 |
+ message-administration-abstract-syntax-94 |
+ ms-bind-unbind-abstract-syntax-94}
+ APPLICATION CONTEXT NAME id-ac-ms-access-94
+}
+
+-- 1994 Application Context including RTSE
+ms-reliable-access-94 APPLICATION-CONTEXT ::= {
+ CONTRACT ms-access-contract-94
+ ESTABLISHED BY association-by-RTSE
+ INFORMATION TRANSFER BY transfer-by-RTSE
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | ms-message-submission-abstract-syntax |
+ message-retrieval-abstract-syntax-94 |
+ message-administration-abstract-syntax-94 |
+ ms-bind-unbind-rtse-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-ms-reliable-access-94
+}
+
+-- 1988 Application Context omitting RTSE
+ms-access-88 APPLICATION-CONTEXT ::= {
+ CONTRACT ms-access-contract-88
+ ESTABLISHED BY acse
+ INFORMATION TRANSFER BY pData
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-retrieval-abstract-syntax-88 |
+ message-administration-abstract-syntax-88 |
+ ms-bind-unbind-abstract-syntax-88}
+ APPLICATION CONTEXT NAME id-ac-ms-access-88
+}
+
+-- 1988 Application Context including RTSE
+ms-reliable-access-88 APPLICATION-CONTEXT ::= {
+ CONTRACT ms-access-contract-88
+ ESTABLISHED BY association-by-RTSE
+ INFORMATION TRANSFER BY transfer-by-RTSE
+ ABSTRACT SYNTAXES
+ {acse-abstract-syntax | message-submission-abstract-syntax |
+ message-retrieval-abstract-syntax-88 |
+ message-administration-abstract-syntax-88 |
+ ms-bind-unbind-rtse-abstract-syntax}
+ APPLICATION CONTEXT NAME id-ac-ms-reliable-access-88
+}
+
+-- ABSTRACT SYNTAXES
+-- Abstract-syntax for 1994 MS-bind and MS-unbind
+ms-bind-unbind-abstract-syntax-94 ABSTRACT-SYNTAX ::= {
+ MSBindUnbindPDUs94
+ IDENTIFIED BY id-as-ms-94
+}
+
+--MSBindUnbindPDUs94 ::= CHOICE {
+-- bind Bind{ms-access-contract-94.&connection.&bind},
+-- unbind Unbind{ms-access-contract-94.&connection.&unbind}
+--}
+
+-- Abstract-syntax for 1988 MS-bind and MS-unbind
+ms-bind-unbind-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
+ MSBindUnbindPDUs88
+ IDENTIFIED BY id-as-ms-88
+}
+
+--MSBindUnbindPDUs88 ::= CHOICE {
+-- bind Bind{ms-access-contract-88.&connection.&bind},
+-- unbind Unbind{ms-access-contract-88.&connection.&unbind}
+--}
+
+-- Abstract-syntax for MS-bind and MS-unbind with RTSE
+ms-bind-unbind-rtse-abstract-syntax ABSTRACT-SYNTAX ::= {
+ RTSE-apdus -- With MS-bind and MS-unbind --
+ IDENTIFIED BY id-as-ms-rtse
+}
+
+-- Abstract Syntax for MS Message Submission Service Element
+ms-message-submission-abstract-syntax ABSTRACT-SYNTAX ::= {
+ MSMessageSubmissionPDUs
+ IDENTIFIED BY id-as-ms-msse
+}
+
+--MSMessageSubmissionPDUs ::= ROS-SingleAS{{MSInvokeIds}, ms-submission}
+
+--MSInvokeIds ::= InvokeId(ALL EXCEPT absent:NULL)
+
+-- Abstract Syntax for Message Retrieval Service Element 1994
+--message-retrieval-abstract-syntax-94 ABSTRACT-SYNTAX ::= {
+-- MessageRetrievalPDUs
+-- IDENTIFIED BY id-as-mrse-94
+--}
+
+-- Abstract Syntax for Message Retrieval Service Element 1988
+--MessageRetrievalPDUs ::=
+-- ROS-SingleAS{{MSInvokeIds}, retrieval}
+
+--message-retrieval-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
+-- MessageRetrievalPDUs88
+-- IDENTIFIED BY id-as-mrse-88
+--}
+
+--MessageRetrievalPDUs88 ::= ROS-SingleAS{{MSInvokeIds}, retrieval-88}
+
+-- Remote Operations
+op-ms-submission-control Code ::= local:2
+
+op-ms-message-submission Code ::= local:3
+
+op-ms-probe-submission Code ::= local:4
+
+op-ms-cancel-deferred-delivery Code ::= local:7
+
+op-summarize Code ::= local:20
+
+op-list Code ::= local:21
+
+op-fetch Code ::= local:22
+
+op-delete Code ::= local:23
+
+op-register-ms Code ::= local:24
+
+op-alert Code ::= local:25
+
+op-modify Code ::= local:26
+
+-- Remote Errors
+err-attribute-error Code ::= local:21
+
+err-auto-action-request-error Code ::= local:22
+
+err-delete-error Code ::= local:23
+
+err-fetch-restriction-error Code ::= local:24
+
+err-range-error Code ::= local:25 -- 1988 Application Contexts only
+
+err-ub-security-error Code ::= local:26 -- Renamed to avoid duplicate in MTSAccessProtocol.asn
+
+err-service-error Code ::= local:27
+
+err-sequence-number-error Code ::= local:28
+
+err-invalid-parameters-error Code ::= local:29
+
+err-message-group-error Code ::= local:30
+
+err-ms-extension-error Code ::= local:31
+
+err-register-ms-error Code ::= local:32
+
+err-modify-error Code ::= local:33
+
+err-entry-class-error Code ::= local:34
+
+END -- of MSAccessProtocol
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p7/MSGeneralAttributeTypes.asn b/epan/dissectors/asn1/p7/MSGeneralAttributeTypes.asn
new file mode 100644
index 00000000..960270e2
--- /dev/null
+++ b/epan/dissectors/asn1/p7/MSGeneralAttributeTypes.asn
@@ -0,0 +1,832 @@
+-- Module MSGeneralAttributeTypes (X.413:06/1999)
+MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-attribute-types(2) version-1999(1)} DEFINITIONS ::=
+BEGIN
+
+-- Prologue
+IMPORTS
+ -- X413ATTRIBUTE information object class
+ X413ATTRIBUTE,
+ -- MS abstract-service data-types
+ AutoActionError, AutoActionType, CreationTime, EntryClassErrorParameter,
+ EntryType, MessageGroupName, MessageGroupErrorParameter, MS-EIT,
+ MSExtensionErrorParameter, RetrievalStatus, SequenceNumber,
+ ServiceErrorParameter
+ FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ abstract-service(1) version-1999(1)}
+ -- General-attribute-type Object Identifiers
+ id-att-ac-correlated-report-list, id-att-ac-report-subject-entry,
+ id-att-ac-report-summary, id-att-ac-uncorrelated-report-list,
+ id-att-auto-action-error, id-att-auto-action-registration-identifier,
+ id-att-auto-action-subject-entry, id-att-auto-action-type,
+ id-att-certificate-selectors, id-att-child-sequence-numbers,
+ id-att-content, id-att-content-confidentiality-algorithm-identifier,
+ id-att-content-correlator, id-att-content-identifier,
+ id-att-content-integrity-check, id-att-content-length,
+ id-att-content-returned, id-att-content-type,
+ id-att-conversion-with-loss-prohibited, id-att-converted-EITs,
+ id-att-creation-time, id-att-deferred-delivery-cancellation-time,
+ id-att-deferred-delivery-time, id-att-deletion-time, id-att-delivered-EITs,
+ id-att-delivery-flags, id-att-dl-exempted-recipients,
+ id-att-dl-expansion-history, id-att-dl-expansion-prohibited,
+ id-att-entry-type, id-att-internal-trace-information,
+ id-att-latest-delivery-time, id-att-locally-originated,
+ id-att-marked-for-deletion, id-att-message-delivery-envelope,
+ id-att-message-delivery-time, id-att-message-group-name,
+ id-att-message-identifier, id-att-message-notes,
+ id-att-message-origin-authentication-check, id-att-message-security-label,
+ id-att-message-submission-envelope, id-att-message-submission-time,
+ id-att-message-token, id-att-ms-originated, id-att-ms-submission-error,
+ id-att-multiple-originator-certificates, id-att-original-EITs,
+ id-att-originally-intended-recipient-name,
+ id-att-originating-MTA-certificate, id-att-originator-certificate,
+ id-att-originator-name, id-att-originator-report-request,
+ id-att-originator-return-address, id-att-other-recipient-names,
+ id-att-parent-sequence-number, id-att-per-message-indicators,
+ id-att-per-recipient-message-submission-fields,
+ id-att-per-recipient-probe-submission-fields,
+ id-att-per-recipient-report-delivery-fields, id-att-priority,
+ id-att-probe-origin-authentication-check, id-att-probe-submission-envelope,
+ id-att-proof-of-delivery-request, id-att-proof-of-submission,
+ id-att-recipient-certificate, id-att-recipient-names,
+ id-att-recipient-reassignment-prohibited, id-att-redirection-history,
+ id-att-report-delivery-envelope, id-att-reporting-DL-name,
+ id-att-reporting-MTA-certificate,
+ id-att-report-origin-authentication-check, id-att-retrieval-status,
+ id-att-security-classification, id-att-sequence-number,
+ id-att-signature-verification-status, id-att-storage-period,
+ id-att-storage-time, id-att-subject-submission-identifier,
+ id-att-this-recipient-name, id-att-trace-information
+ FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ object-identifiers(0) version-1999(1)}
+ -- Message Store matching-rules
+ bitStringMatch, contentCorrelatorMatch, contentIdentifierMatch,
+ mSSingleSubstringListElementsMatch, mSSingleSubstringListMatch,
+ mSSingleSubstringMatch, mSSubstringsMatch, mSStringCaseSensitiveMatch,
+ mSStringListElementsMatch, mSStringListMatch, mSStringMatch,
+ mSStringOrderingMatch, mTSIdentifierMatch, oRAddressElementsMatch,
+ oRAddressMatch, oRAddressSubstringElementsMatch, oRNameElementsMatch,
+ oRNameMatch, oRNameSingleElementMatch, oRNameSubstringElementsMatch,
+ redirectionOrDLExpansionElementsMatch, redirectionOrDLExpansionMatch,
+ redirectionOrDLExpansionSingleElementMatch,
+ redirectionOrDLExpansionSubstringElementsMatch, redirectionReasonMatch,
+ valueCountMatch
+ FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-matching-rules(5) version-1999(1)}
+ -- MS abstract-service upper bounds
+ ub-entry-types, ub-message-notes-length
+ FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
+ version-1994(0)}
+ -- MTS abstract-service data-types
+ CertificateSelectors, Content, ContentCorrelator, ContentIdentifier,
+ ContentIntegrityCheck, ContentLength, ConversionWithLossProhibited,
+ DeferredDeliveryTime, DeliveryFlags, DLExpansion, DLExpansionProhibited,
+ ExtendedCertificates, ImproperlySpecifiedRecipients, LatestDeliveryTime,
+ MessageDeliveryEnvelope, MessageDeliveryTime,
+ MessageOriginAuthenticationCheck, MessageSecurityLabel,
+ MessageSubmissionEnvelope, MessageSubmissionTime, MessageToken,
+ MTSIdentifier, OriginatingMTACertificate, OriginatorCertificate,
+ OriginatorReportRequest, OriginatorReturnAddress, ORName,
+ PerMessageIndicators, PerRecipientMessageSubmissionFields,
+ PerRecipientProbeSubmissionFields, PerRecipientReportDeliveryFields,
+ Priority, ProbeOriginAuthenticationCheck, ProbeSubmissionEnvelope,
+ ProofOfDeliveryRequest, ProofOfSubmission, RecipientReassignmentProhibited,
+ Redirection, ReportDeliveryEnvelope, ReportingDLName,
+ ReportingMTACertificate, ReportOriginAuthenticationCheck,
+ SecurityClassification, SecurityProblem, SubjectSubmissionIdentifier
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- MTS abstract-service upper bound
+ ub-recipients
+ FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ upper-bounds(3) version-1999(1)}
+ -- MTA abstract-service data-types
+ InternalTraceInformationElement, TraceInformationElement
+ FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mta-abstract-service(2) version-1999(1)}
+ -- Directory matching-rules
+ booleanMatch, integerMatch, integerOrderingMatch, uTCTimeMatch,
+ uTCTimeOrderingMatch
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 3}
+ objectIdentifierMatch
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 3}
+ -- Authentication-service data-types
+ AlgorithmIdentifier
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3};
+
+-- X413ATTRIBUTE table
+AttributeTable X413ATTRIBUTE ::=
+ {GeneralAttributes | ContentSpecificAttributes}
+
+GeneralAttributes X413ATTRIBUTE ::=
+ {ms-child-sequence-numbers | mt-content |
+ mt-content-confidentiality-algorithm-identifier | mt-content-correlator |
+ mt-content-identifier | mt-content-integrity-check | ms-content-length |
+ ms-content-returned | mt-content-type | mt-conversion-with-loss-prohibited |
+ mt-converted-EITs | ms-creation-time | ms-delivered-EITs | mt-delivery-flags
+ | mt-dl-expansion-history | ms-entry-type | mt-message-delivery-envelope |
+ mt-message-delivery-time | mt-message-identifier |
+ mt-message-origin-authentication-check | mt-message-security-label |
+ mt-message-submission-time | mt-message-token | mt-original-EITs |
+ mt-originally-intended-recipient-name | mt-originator-certificate |
+ mt-originator-name | mt-other-recipient-names | ms-parent-sequence-number |
+ mt-per-recipient-report-delivery-fields | mt-priority |
+ mt-proof-of-delivery-request | mt-redirection-history |
+ mt-report-delivery-envelope | mt-reporting-DL-name |
+ mt-reporting-MTA-certificate | mt-report-origin-authentication-check |
+ ms-retrieval-status | mt-security-classification | ms-sequence-number |
+ mt-subject-submission-identifier | mt-this-recipient-name,
+ ... -- 1994 extension additions --, ms-ac-correlated-report-list |
+ ms-ac-report-subject-entry | ms-ac-report-summary |
+ ms-ac-uncorrelated-report-list | ms-auto-action-error |
+ ms-auto-action-registration-identifier | ms-auto-action-subject-entry |
+ ms-auto-action-type | mt-certificate-selectors |
+ ms-deferred-delivery-cancellation-time | mt-deferred-delivery-time |
+ ms-deletion-time | mt-dl-exempted-recipients | mt-dl-expansion-prohibited |
+ mt-internal-trace-information | mt-latest-delivery-time |
+ ms-locally-originated | ms-marked-for-deletion | ms-message-group-name |
+ ms-message-notes | mt-message-submission-envelope |
+ mt-multiple-originator-certificates | ms-originated | ms-submission-error |
+ mt-originating-MTA-certificate | mt-originator-report-request |
+ mt-originator-return-address | mt-per-message-indicators |
+ mt-per-recipient-message-submission-fields |
+ mt-per-recipient-probe-submission-fields |
+ mt-probe-origin-authentication-check | mt-probe-submission-envelope |
+ mt-proof-of-submission | mt-recipient-certificate | ms-recipient-names |
+ mt-recipient-reassignment-prohibited | ms-signature-verification-status |
+ ms-storage-period | ms-storage-time | mt-trace-information}
+
+--ContentSpecificAttributes X413ATTRIBUTE ::=
+-- {...}
+
+-- Attribute-types
+--ms-ac-correlated-report-list X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ReportLocation,
+-- NUMERATION multi-valued,
+-- ID id-att-ac-correlated-report-list
+--}
+
+ReportLocation ::= CHOICE {
+ no-correlated-reports [0] NULL,
+ location [1] SEQUENCE OF PerRecipientReport
+}
+
+PerRecipientReport ::= SEQUENCE {
+ report-entry [0] SequenceNumber,
+ position [1] INTEGER(1..ub-recipients) DEFAULT 1
+}
+
+--ms-ac-report-subject-entry X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX SequenceNumber,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- ORDERING MATCHING-RULE integerOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-ac-report-subject-entry
+--}
+
+--ms-ac-report-summary X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ReportSummary,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- ORDERING MATCHING-RULE integerOrderingMatch,
+-- NUMERATION multi-valued,
+-- ID id-att-ac-report-summary
+--}
+
+ReportSummary ::= ENUMERATED {
+ no-report-requested(0) -- non-delivery report suppressed --,
+ no-report-received(1) -- non-delivery report requested --,
+ report-outstanding(2) -- delivery report requested --, delivery-cancelled(3),
+ delivery-report-from-another-recipient(4),
+ non-delivery-report-from-another-recipient(5),
+ delivery-report-from-intended-recipient(6),
+ non-delivery-report-from-intended-recipient(7)}
+
+--ms-ac-uncorrelated-report-list X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX PerRecipientReport,
+-- NUMERATION multi-valued,
+-- ID id-att-ac-uncorrelated-report-list
+--}
+
+--ms-auto-action-error X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX AutoActionError,
+-- NUMERATION single-valued,
+-- ID id-att-auto-action-error
+--}
+
+--ms-auto-action-registration-identifier X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX INTEGER,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- ORDERING MATCHING-RULE integerOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-auto-action-registration-identifier
+--}
+
+--ms-auto-action-subject-entry X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX SequenceNumber,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- ORDERING MATCHING-RULE integerOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-auto-action-subject-entry
+--}
+
+--ms-auto-action-type X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX AutoActionType,
+-- EQUALITY MATCHING-RULE objectIdentifierMatch,
+-- NUMERATION single-valued,
+-- ID id-att-auto-action-type
+--}
+
+--mt-certificate-selectors X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX CertificateSelectors,
+-- NUMERATION single-valued,
+-- ID id-att-certificate-selectors
+--}
+
+--ms-child-sequence-numbers X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX SequenceNumber,
+-- NUMERATION multi-valued,
+-- ID id-att-child-sequence-numbers
+--}
+
+--mt-content X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX Content,
+-- NUMERATION single-valued,
+-- ID id-att-content
+--}
+
+--mt-content-confidentiality-algorithm-identifier X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX AlgorithmIdentifier,
+-- NUMERATION single-valued,
+-- ID id-att-content-confidentiality-algorithm-identifier
+--}
+
+--mt-content-correlator X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ContentCorrelator,
+-- EQUALITY MATCHING-RULE contentCorrelatorMatch,
+-- NUMERATION single-valued,
+-- ID id-att-content-correlator
+--}
+
+--mt-content-identifier X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ContentIdentifier,
+-- EQUALITY MATCHING-RULE contentIdentifierMatch,
+-- NUMERATION single-valued,
+-- ID id-att-content-identifier
+--}
+
+--mt-content-integrity-check X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ContentIntegrityCheck,
+-- NUMERATION single-valued,
+-- ID id-att-content-integrity-check
+--}
+
+--ms-content-length X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ContentLength,
+-- ORDERING MATCHING-RULE integerOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-content-length
+--}
+
+--ms-content-returned X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX BOOLEAN,
+-- EQUALITY MATCHING-RULE booleanMatch,
+-- NUMERATION single-valued,
+-- ID id-att-content-returned
+--}
+
+--mt-content-type X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER,
+-- EQUALITY MATCHING-RULE objectIdentifierMatch,
+-- NUMERATION single-valued,
+-- ID id-att-content-type
+--}
+
+--mt-conversion-with-loss-prohibited X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ConversionWithLossProhibited,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- NUMERATION single-valued,
+-- ID id-att-conversion-with-loss-prohibited
+--}
+
+--mt-converted-EITs X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MS-EIT,
+-- EQUALITY MATCHING-RULE objectIdentifierMatch,
+-- NUMERATION multi-valued,
+-- ID id-att-converted-EITs
+--}
+
+--ms-creation-time X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX CreationTime,
+-- EQUALITY MATCHING-RULE uTCTimeMatch,
+-- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-creation-time
+--}
+
+--ms-deferred-delivery-cancellation-time X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX DeferredDeliveryCancellationTime,
+-- EQUALITY MATCHING-RULE uTCTimeMatch,
+-- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-deferred-delivery-cancellation-time
+--}
+
+DeferredDeliveryCancellationTime ::= UTCTime
+
+--mt-deferred-delivery-time X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX DeferredDeliveryTime,
+-- EQUALITY MATCHING-RULE uTCTimeMatch,
+-- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-deferred-delivery-time
+--}
+
+--ms-deletion-time X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX DeletionTime,
+-- EQUALITY MATCHING-RULE uTCTimeMatch,
+-- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-deletion-time
+--}
+
+DeletionTime ::= UTCTime
+
+--ms-delivered-EITs X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MS-EIT,
+-- EQUALITY MATCHING-RULE objectIdentifierMatch,
+-- NUMERATION multi-valued,
+-- ID id-att-delivered-EITs
+--}
+
+--mt-delivery-flags X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX DeliveryFlags,
+-- EQUALITY MATCHING-RULE bitStringMatch,
+-- NUMERATION single-valued,
+-- ID id-att-delivery-flags
+--}
+
+--mt-dl-exempted-recipients X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ORName,
+-- EQUALITY MATCHING-RULE oRNameMatch,
+-- OTHER MATCHING-RULES
+-- {oRNameElementsMatch | oRNameSubstringElementsMatch |
+-- oRNameSingleElementMatch, ...},
+-- NUMERATION multi-valued,
+-- ID id-att-dl-exempted-recipients
+--}
+
+--mt-dl-expansion-history X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX DLExpansion,
+-- OTHER MATCHING-RULES
+-- {redirectionOrDLExpansionMatch | redirectionOrDLExpansionElementsMatch |
+-- redirectionOrDLExpansionSubstringElementsMatch |
+-- redirectionOrDLExpansionSingleElementMatch, ...},
+-- NUMERATION multi-valued,
+-- ID id-att-dl-expansion-history
+--}
+
+--mt-dl-expansion-prohibited X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX DLExpansionProhibited,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- NUMERATION single-valued,
+-- ID id-att-dl-expansion-prohibited
+--}
+
+--ms-entry-type X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX EntryType,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- ORDERING MATCHING-RULE
+-- integerOrderingMatch, - - rule not defined in 1988 Application Contexts
+--
+-- NUMERATION single-valued,
+-- ID id-att-entry-type
+--}
+
+--mt-internal-trace-information X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX InternalTraceInformationElement,
+-- NUMERATION multi-valued,
+-- ID id-att-internal-trace-information
+--}
+
+--mt-latest-delivery-time X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX LatestDeliveryTime,
+-- EQUALITY MATCHING-RULE uTCTimeMatch,
+-- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-latest-delivery-time
+--}
+
+--ms-locally-originated X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX NULL,
+-- NUMERATION single-valued,
+-- ID id-att-locally-originated
+--}
+
+--ms-marked-for-deletion X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX NULL,
+-- NUMERATION single-valued,
+-- ID id-att-marked-for-deletion
+--}
+
+--mt-message-delivery-envelope X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MessageDeliveryEnvelope,
+-- NUMERATION single-valued,
+-- ID id-att-message-delivery-envelope
+--}
+
+--mt-message-delivery-time X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MessageDeliveryTime,
+-- EQUALITY MATCHING-RULE uTCTimeMatch,
+-- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-message-delivery-time
+--}
+
+--ms-message-group-name X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MessageGroupName,
+-- EQUALITY MATCHING-RULE mSStringListMatch,
+-- OTHER MATCHING-RULES
+-- {mSSingleSubstringListMatch | mSStringListElementsMatch |
+-- mSSingleSubstringListElementsMatch | valueCountMatch, ...},
+-- NUMERATION multi-valued,
+-- ID id-att-message-group-name
+--}
+
+--mt-message-identifier X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MTSIdentifier,
+-- EQUALITY MATCHING-RULE
+-- mTSIdentifierMatch, - - rule not defined in 1988 Application Contexts
+--
+-- NUMERATION single-valued,
+-- ID id-att-message-identifier
+--}
+
+--ms-message-notes X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX GeneralString(SIZE (1..ub-message-notes-length)),
+-- EQUALITY MATCHING-RULE mSStringMatch,
+-- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
+-- NUMERATION multi-valued,
+-- ID id-att-message-notes
+--}
+
+--mt-message-origin-authentication-check X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MessageOriginAuthenticationCheck,
+-- NUMERATION single-valued,
+-- ID id-att-message-origin-authentication-check
+--}
+
+--mt-message-security-label X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MessageSecurityLabel,
+-- NUMERATION single-valued,
+-- ID id-att-message-security-label
+--}
+
+--mt-message-submission-envelope X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MessageSubmissionEnvelope,
+-- NUMERATION single-valued,
+-- ID id-att-message-submission-envelope
+--}
+
+--mt-message-submission-time X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MessageSubmissionTime,
+-- EQUALITY MATCHING-RULE uTCTimeMatch,
+-- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-message-submission-time
+--}
+
+--mt-message-token X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MessageToken,
+-- NUMERATION single-valued,
+-- ID id-att-message-token
+--}
+
+--ms-originated X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX NULL,
+-- NUMERATION single-valued,
+-- ID id-att-ms-originated
+--}
+
+--ms-submission-error X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX SubmissionError,
+-- NUMERATION single-valued,
+-- ID id-att-ms-submission-error
+--}
+
+SubmissionError ::= CHOICE {
+ submission-control-violated [1] NULL,
+ originator-invalid [2] NULL,
+ recipient-improperly-specified [3] ImproperlySpecifiedRecipients,
+ element-of-service-not-subscribed [4] NULL,
+ inconsistent-request [11] NULL,
+ security-error [12] SecurityProblem,
+ unsupported-critical-function [13] NULL,
+ remote-bind-error [15] NULL,
+ service-error [27] ServiceErrorParameter,
+ message-group-error [30] MessageGroupErrorParameter,
+ ms-extension-error [31] MSExtensionErrorParameter,
+ entry-class-error [34] EntryClassErrorParameter
+}
+
+--mt-multiple-originator-certificates X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ExtendedCertificates,
+-- NUMERATION single-valued,
+-- ID id-att-multiple-originator-certificates
+--}
+
+--mt-original-EITs X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX MS-EIT,
+-- EQUALITY MATCHING-RULE objectIdentifierMatch,
+-- NUMERATION multi-valued,
+-- ID id-att-original-EITs
+--}
+
+--mt-originally-intended-recipient-name X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ORName,
+-- EQUALITY MATCHING-RULE oRNameMatch,
+-- OTHER MATCHING-RULES
+-- {oRNameElementsMatch | oRNameSubstringElementsMatch |
+-- oRNameSingleElementMatch, ...},
+-- NUMERATION single-valued,
+-- ID id-att-originally-intended-recipient-name
+--}
+
+--mt-originating-MTA-certificate X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX OriginatingMTACertificate,
+-- NUMERATION single-valued,
+-- ID id-att-originating-MTA-certificate
+--}
+
+--mt-originator-certificate X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX OriginatorCertificate,
+-- NUMERATION single-valued,
+-- ID id-att-originator-certificate
+--}
+
+--mt-originator-name X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ORName,
+-- EQUALITY MATCHING-RULE oRNameMatch,
+-- OTHER MATCHING-RULES
+-- {oRNameElementsMatch | oRNameSubstringElementsMatch |
+-- oRNameSingleElementMatch, ...},
+-- NUMERATION single-valued,
+-- ID id-att-originator-name
+--}
+
+--mt-originator-report-request X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX OriginatorReportRequest,
+-- NUMERATION multi-valued,
+-- ID id-att-originator-report-request
+--}
+
+--mt-originator-return-address X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX OriginatorReturnAddress,
+-- NUMERATION single-valued,
+-- ID id-att-originator-return-address
+--}
+
+--mt-other-recipient-names X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ORName,
+-- EQUALITY MATCHING-RULE oRNameMatch,
+-- OTHER MATCHING-RULES
+-- {oRNameElementsMatch | oRNameSubstringElementsMatch |
+-- oRNameSingleElementMatch, ...},
+-- NUMERATION multi-valued,
+-- ID id-att-other-recipient-names
+--}
+
+--ms-parent-sequence-number X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX SequenceNumber,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- ORDERING MATCHING-RULE integerOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-parent-sequence-number
+--}
+
+--mt-per-message-indicators X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX PerMessageIndicators,
+-- EQUALITY MATCHING-RULE bitStringMatch,
+-- NUMERATION single-valued,
+-- ID id-att-per-message-indicators
+--}
+
+--mt-per-recipient-message-submission-fields X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX PerRecipientMessageSubmissionFields,
+-- NUMERATION multi-valued,
+-- ID id-att-per-recipient-message-submission-fields
+--}
+
+--mt-per-recipient-probe-submission-fields X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX PerRecipientProbeSubmissionFields,
+-- NUMERATION multi-valued,
+-- ID id-att-per-recipient-probe-submission-fields
+--}
+
+--mt-per-recipient-report-delivery-fields X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX PerRecipientReportDeliveryFields,
+-- NUMERATION multi-valued,
+-- ID id-att-per-recipient-report-delivery-fields
+--}
+
+--mt-priority X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX Priority,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- ORDERING MATCHING-RULE
+-- integerOrderingMatch, - - rule not defined in 1988 Application Contexts
+--
+-- NUMERATION single-valued,
+-- ID id-att-priority
+--}
+
+--mt-probe-origin-authentication-check X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ProbeOriginAuthenticationCheck,
+-- NUMERATION single-valued,
+-- ID id-att-probe-origin-authentication-check
+--}
+
+--mt-probe-submission-envelope X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ProbeSubmissionEnvelope,
+-- NUMERATION single-valued,
+-- ID id-att-probe-submission-envelope
+--}
+
+--mt-proof-of-delivery-request X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ProofOfDeliveryRequest,
+-- EQUALITY MATCHING-RULE
+-- integerMatch, - - rule not defined in 1988 Application Contexts
+--
+-- NUMERATION single-valued,
+-- ID id-att-proof-of-delivery-request
+--}
+
+--mt-proof-of-submission X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ProofOfSubmission,
+-- NUMERATION single-valued,
+-- ID id-att-proof-of-submission
+--}
+
+--mt-recipient-certificate X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ExtendedCertificates,
+-- NUMERATION single-valued,
+-- ID id-att-recipient-certificate
+--}
+
+--ms-recipient-names X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ORName,
+-- EQUALITY MATCHING-RULE oRNameMatch,
+-- OTHER MATCHING-RULES
+-- {oRNameElementsMatch | oRNameSubstringElementsMatch |
+-- oRNameSingleElementMatch, ...},
+-- NUMERATION multi-valued,
+-- ID id-att-recipient-names
+--}
+
+--mt-recipient-reassignment-prohibited X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX RecipientReassignmentProhibited,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- NUMERATION single-valued,
+-- ID id-att-recipient-reassignment-prohibited
+--}
+
+--mt-redirection-history X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX Redirection,
+-- OTHER MATCHING-RULES
+-- {redirectionOrDLExpansionMatch | redirectionOrDLExpansionElementsMatch |
+-- redirectionOrDLExpansionSubstringElementsMatch |
+-- redirectionOrDLExpansionSingleElementMatch | redirectionReasonMatch,
+-- ...},
+-- NUMERATION multi-valued,
+-- ID id-att-redirection-history
+--}
+
+--mt-report-delivery-envelope X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ReportDeliveryEnvelope,
+-- NUMERATION single-valued,
+-- ID id-att-report-delivery-envelope
+--}
+
+--mt-reporting-DL-name X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ReportingDLName,
+-- EQUALITY MATCHING-RULE
+-- oRNameMatch, - - rule not defined in 1988 Application Contexts
+
+-- OTHER MATCHING-RULES
+-- {oRNameElementsMatch | oRNameSubstringElementsMatch |
+-- oRNameSingleElementMatch, ...},
+-- NUMERATION single-valued,
+-- ID id-att-reporting-DL-name
+--}
+
+--mt-reporting-MTA-certificate X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ReportingMTACertificate,
+-- NUMERATION single-valued,
+-- ID id-att-reporting-MTA-certificate
+--}
+
+--mt-report-origin-authentication-check X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ReportOriginAuthenticationCheck,
+-- NUMERATION single-valued,
+-- ID id-att-report-origin-authentication-check
+--}
+
+--ms-retrieval-status X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX RetrievalStatus,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- NUMERATION single-valued,
+-- ID id-att-retrieval-status
+--}
+
+--mt-security-classification X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX SecurityClassification,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- NUMERATION single-valued,
+-- ID id-att-security-classification
+--}
+
+--ms-sequence-number X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX SequenceNumber,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- ORDERING MATCHING-RULE integerOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-sequence-number
+--}
+
+--ms-signature-verification-status X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX SignatureVerificationStatus,
+-- NUMERATION single-valued,
+-- ID id-att-signature-verification-status
+--}
+
+SignatureVerificationStatus ::= SET {
+ content-integrity-check
+ [0] SignatureStatus DEFAULT signature-absent,
+ message-origin-authentication-check
+ [1] SignatureStatus DEFAULT signature-absent,
+ message-token
+ [2] SignatureStatus DEFAULT signature-absent,
+ report-origin-authentication-check
+ [3] SignatureStatus DEFAULT signature-absent,
+ proof-of-delivery
+ [4] SignatureStatus DEFAULT signature-absent,
+ proof-of-submission
+ [5] SignatureStatus DEFAULT signature-absent
+}
+
+SignatureStatus ::= INTEGER {
+ signature-absent(0), verification-in-progress(1), verification-succeeded(2),
+ verification-not-possible(3), content-converted(4), signature-encrypted(5),
+ algorithm-not-supported(6), certificate-not-obtainable(7),
+ verification-failed(8)}
+
+--ms-storage-period X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX StoragePeriod,
+-- EQUALITY MATCHING-RULE integerMatch,
+-- ORDERING MATCHING-RULE integerOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-storage-period
+--}
+
+StoragePeriod ::= INTEGER -- seconds
+
+--ms-storage-time X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX StorageTime,
+-- EQUALITY MATCHING-RULE uTCTimeMatch,
+-- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+-- NUMERATION single-valued,
+-- ID id-att-storage-time
+--}
+
+StorageTime ::= UTCTime
+
+--mt-subject-submission-identifier X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX SubjectSubmissionIdentifier,
+-- EQUALITY MATCHING-RULE
+-- mTSIdentifierMatch, - - rule not defined in 1988 Application Contexts
+--
+-- NUMERATION single-valued,
+-- ID id-att-subject-submission-identifier
+--}
+
+--mt-this-recipient-name X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX ORName,
+-- EQUALITY MATCHING-RULE oRNameMatch,
+-- OTHER MATCHING-RULES
+-- {oRNameElementsMatch | oRNameSubstringElementsMatch |
+-- oRNameSingleElementMatch, ...},
+-- NUMERATION single-valued,
+-- ID id-att-this-recipient-name
+--}
+
+--mt-trace-information X413ATTRIBUTE ::= {
+-- WITH ATTRIBUTE-SYNTAX TraceInformationElement,
+-- NUMERATION multi-valued,
+-- ID id-att-trace-information
+--}
+
+END -- of MSGeneralAttributeTypes
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/p7/MSUpperBounds.asn b/epan/dissectors/asn1/p7/MSUpperBounds.asn
new file mode 100644
index 00000000..bcd6e858
--- /dev/null
+++ b/epan/dissectors/asn1/p7/MSUpperBounds.asn
@@ -0,0 +1,79 @@
+-- Module MSUpperBounds (X.413:06/1999)
+-- See also ITU-T X.413 (06/1999)
+-- See also the index of all ASN.1 assignments needed in this document
+
+MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
+ version-1994(0)} DEFINITIONS ::=
+BEGIN
+
+-- Exports everything
+IMPORTS -- nothing -- ;
+
+-- Upper Bounds
+ub-alert-addresses INTEGER ::= 16
+
+ub-attribute-values INTEGER ::= 32767 -- (215 - 1) the largest integer
+
+-- representable in 16 bits
+ub-attributes-supported INTEGER ::= 1024
+
+ub-auto-action-errors INTEGER ::= 32767 -- (215 - 1) the largest integer
+
+-- representable in 16 bits
+ub-auto-actions INTEGER ::= 128
+
+ub-auto-registrations INTEGER ::= 1024
+
+ub-default-registrations INTEGER ::= 1024
+
+ub-entry-classes INTEGER ::= 128
+
+ub-entry-types INTEGER ::= 16
+
+ub-error-reasons INTEGER ::= 16
+
+ub-extensions INTEGER ::= 32
+
+ub-group-depth INTEGER ::= 64
+
+ub-group-descriptor-length INTEGER ::= 256
+
+ub-group-part-length INTEGER ::= 128
+
+ub-information-bases INTEGER ::= 16
+
+ub-matching-rules INTEGER ::= 1024
+
+ub-message-groups INTEGER ::= 8192
+
+ub-message-notes-length INTEGER ::= 1024
+
+ub-messages INTEGER ::= 2147483647 -- (231 - 1) the largest integer
+
+-- representable in 32 bits
+ub-modifications INTEGER ::=
+ 32767 -- (215 - 1) the largest integer
+
+-- representable in 16 bits
+ub-msstring-match INTEGER ::= 512
+
+ub-per-auto-action INTEGER ::= 32767 -- (215 - 1) the largest integer
+
+-- representable in 16 bits
+ub-per-entry INTEGER ::= 1024
+
+ub-service-information-length INTEGER ::= 2048
+
+ub-summaries INTEGER ::= 16
+
+ub-supplementary-info-length INTEGER ::= 256
+
+ub-ua-registration-identifier-length INTEGER ::= 32
+
+ub-ua-registrations INTEGER ::= 128
+
+ub-ua-restrictions INTEGER ::= 16 -- renamed to avoid duplicate in MTSUpperBounds
+
+END -- of MSUpperBounds
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/p7/p7.cnf b/epan/dissectors/asn1/p7/p7.cnf
new file mode 100644
index 00000000..2fe5f0ba
--- /dev/null
+++ b/epan/dissectors/asn1/p7/p7.cnf
@@ -0,0 +1,422 @@
+#.IMPORT ../p1/p1-exp.cnf
+#.IMPORT ../ros/ros-exp.cnf
+#.IMPORT ../rtse/rtse-exp.cnf
+
+#.MODULE
+Reliable-Transfer-APDU rtse
+
+#.EXPORTS
+SequenceNumber
+SignatureStatus
+#.END
+
+# Forward declaration of Classes
+# CONNECTION-PACKAGE CONTRACT from ROS
+#.CLASS CONNECTION-PACKAGE
+&bind ClassReference OPERATION
+&unbind ClassReference OPERATION
+&responderCanUnbind BooleanType
+&unbindCanFail BooleanType
+&id ObjectIdentifierType
+#.END
+
+#.CLASS CONTRACT
+&connection ClassReference CONNECTION-PACKAGE
+&OperationsOf ClassReference OPERATION-PACKAGE
+&InitiatorConsumerOf ClassReference OPERATION-PACKAGE
+&InitiatorSupplierOf ClassReference OPERATION-PACKAGE
+&id ObjectIdentifierType
+#.END
+
+#.CLASS MHS-OBJECT
+&Is ClassReference MHS-OBJECT
+&Initiates ClassReference CONTRACT
+&Responds ClassReference CONTRACT
+&InitiatesAndResponds ClassReference CONTRACT
+&id ObjectIdentifierType
+#.END
+
+# Ros OPERATION
+#.CLASS ABSTRACT-OPERATION
+&ArgumentType
+&argumentTypeOptional BooleanType
+&returnResult BooleanType
+&ResultType
+&resultTypeOptional BooleanType
+&Errors ClassReference ERROR
+&Linked ClassReference OPERATION
+&synchronous BooleanType
+&alwaysReturns BooleanType
+&InvokePriority _FixedTypeValueSetFieldSpec
+&ResultPriority _FixedTypeValueSetFieldSpec
+&operationCode TypeReference Code
+#.END
+
+# ros ERROR
+#.CLASS ABSTRACT-ERROR
+&ParameterType
+&parameterTypeOptional BooleanType
+&ErrorPriority _FixedTypeValueSetFieldSpec
+&errorCode TypeReference Code
+#.END
+
+#.CLASS MATCHING-RULE
+&ParentMatchingRules ClassReference MATCHING-RULE
+&AssertionType
+&uniqueMatchIndicator ClassReference ATTRIBUTE
+&id ObjectIdentifierType
+#.END
+
+#.CLASS APPLICATION-CONTEXT
+&associationContract ClassReference CONTRACT
+&associationRealization
+&transferRealization
+&AbstractSyntaxes ClassReference ABSTRACT-SYNTAX
+&applicationContextName ObjectIdentifierType
+#.END
+
+#.TYPE_RENAME
+
+PAR-fetch-restriction-error/problems FetchRestrictionProblems
+PAR-sequence-number-error/problems SequenceNumberProblems
+PAR-attribute-error/problems AttributeProblems
+PAR-auto-action-request-error/problems AutoActionRequestProblems
+PAR-delete-error/problems DeleteProblems
+
+PAR-fetch-restriction-error/problems/_item FetchRestrictionProblemItem
+PAR-sequence-number-error/problems/_item SequenceNumberProblemItem
+PAR-attribute-error/problems/_item AttributeProblemItem
+PAR-auto-action-request-error/problems/_item AutoActionRequestProblemItem
+PAR-delete-error/problems/_item DeleteProblemItem
+
+Attribute/attribute-values AttributeValues
+OrderedAttribute/attribute-values OrderedAttributeValues
+
+Attribute/attribute-values/_item AttributeItem
+OrderedAttribute/attribute-values/_item OrderedAttributeItem
+
+Summary/present/_item/value SummaryPresentItemValue
+OrderedAttribute/attribute-values/_item/value OrderedAttributeValue
+
+#.FIELD_RENAME
+
+PAR-sequence-number-error/problems/_item/problem sequence-number-problem
+PAR-register-ms-error/problem register-ms-problem
+PAR-delete-error/problems/_item/problem delete-problem
+PAR-auto-action-request-error/problems/_item/problem auto-action-request-problem
+PAR-attribute-error/problems/_item/problem attribute-problem
+
+PAR-sequence-number-error/problems sequence-number-problems
+PAR-fetch-restriction-error/problems fetch-restriction-problems
+PAR-attribute-error/problems attribute-problems
+PAR-auto-action-request-error/problems auto-action-request-problems
+PAR-delete-error/problems delete-problems
+
+PAR-fetch-restriction-error/problems/_item fetch-restriction-problem-item
+PAR-sequence-number-error/problems/_item sequence-number-problem-item
+PAR-attribute-error/problems/_item attribute-problem-item
+PAR-auto-action-request-error/problems/_item auto-action-request-problem-item
+PAR-delete-error/problems/_item delete-problem-item
+
+OrderedAttribute/attribute-values ordered-attribute-values
+OrderedAttribute/attribute-values/_item ordered-attribute-values-item
+OrderedAttribute/attribute-values/_item/position ordered-position
+
+Summary/present/_item/count summary-count
+AttributeSelection/count selection-count
+
+DeleteResult/delete-result-94/entries-deleted entries-deleted-94
+
+Register-MSArgument/change-credentials/old-credentials register-old-credentials
+
+Register-MSResult/registered-information/fetch-attribute-defaults registered-fetch-attribute-defaults
+Register-MSResult/registered-information/list-attribute-defaults registered-list-attribute-defaults
+Register-MSResult/registered-information/message-group-registrations registered-message-group-registrations
+
+TimeRange/from from-time
+NumberRange/from from-number
+
+TimeRange/to to-time
+NumberRange/to to-number
+
+Filter/item filter-item
+
+Summary/present summary-present
+
+PAR-fetch-restriction-error/problems/_item/problem fetch-restriction-problem
+PAR-range-error/problem range-problem
+EntryClassErrorParameter/problem entry-class-problem
+MessageGroupErrorParameter/problem message-group-problem
+ServiceErrorParameter/problem service-problem
+ModifyErrorParameter/problem modify-problem
+
+OrderedAttribute/attribute-values/_item/value ordered-attribute-value
+
+PAR-fetch-restriction-error/problems/_item/restriction/content-type extended-content-type
+PAR-auto-action-request-error/problems/_item/type auto-action-type
+PAR-attribute-error/problems/_item/value attr-value
+
+#.FIELD_ATTR
+TimeRange/from ABBREV=timeRange.time
+NumberRange/from ABBREV=numberRange.number
+TimeRange/to ABBREV=timeRange.to
+NumberRange/to ABBREV=NumberRange.to
+Summary/present ABBREV=summary.present
+PAR-fetch-restriction-error/problems/_item/restriction/content-type ABBREV=extended-content-type
+PAR-fetch-restriction-error/problems/_item/problem ABBREV=fetch-restriction-problem
+PAR-range-error/problem ABBREV=pAR-range-error.problem
+EntryClassErrorParameter/problem ABBREV=entryClassErrorParameter.problem
+MessageGroupErrorParameter/problem ABBREV=messageGroupErrorParameter.group-problem
+ServiceErrorParameter/problem ABBREV=serviceErrorParameter.problem
+ModifyErrorParameter/problem ABBREV=modifyErrorParameter.problem
+
+# This table creates the value_sting to name P7 operation codes and errors
+# in file packet-p7-table.c which is included in the template file
+#
+#.TABLE_HDR
+/* P7 ABSTRACT-OPERATIONS */
+const value_string p7_opr_code_string_vals[] = {
+#.TABLE_BODY OPERATION
+ { %(&operationCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+#.TABLE_HDR
+/* P7 ERRORS */
+static const value_string p7_err_code_string_vals[] = {
+#.TABLE_BODY ERROR
+ { %(&errorCode)s, "%(_ident)s" },
+#.TABLE_FTR
+ { 0, NULL }
+};
+#.END
+
+# Create a table of opcode and corresponding args and res
+#.TABLE11_HDR
+static const ros_opr_t p7_opr_tab[] = {
+#.TABLE11_BODY OPERATION
+ /* %(_name)s */
+ { %(&operationCode)-25s, %(_argument_pdu)s, %(_result_pdu)s },
+#.TABLE11_FTR
+ { 0, (dissector_t)(-1), (dissector_t)(-1) },
+};
+#.END
+
+#.TABLE21_HDR
+static const ros_err_t p7_err_tab[] = {
+#.TABLE21_BODY ERROR
+ /* %(_name)s*/
+ { %(&errorCode)s, %(_parameter_pdu)s },
+#.TABLE21_FTR
+ { 0, (dissector_t)(-1) },
+};
+#.END
+
+#.PDU
+ERROR.&ParameterType
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+#.END
+
+#.REGISTER
+# MSGeneralAttributeTypes
+ReportLocation B "2.6.4.3.42" "id-att-ac-correlated-report-list"
+SequenceNumber B "2.6.4.3.76" "id-att-ac-report-subject-entry"
+ReportSummary B "2.6.4.3.43" "id-att-ac-report-summary"
+PerRecipientReport B "2.6.4.3.44" "id-att-ac-uncorrelated-report-list"
+AutoActionError B "2.6.4.3.46" "id-att-auto-action-error"
+#Integer B "2.6.4.3.47" "id-att-auto-action-registration-identifier" - see XXX
+SequenceNumber B "2.6.4.3.48" "id-att-auto-action-subject-entry"
+AutoActionType B "2.6.4.3.49" "id-att-auto-action-type"
+#CertificateSelectors B "2.6.4.3.80" "id-att-certificate-selectors" - see p1.cnf
+SequenceNumber B "2.6.4.3.0" "id-att-child-sequence-numbers"
+#Content B "2.6.4.3.1" "id-att-content" - see XXX
+#AlgorithmIdentifier B "2.6.4.3.2" "id-att-content-confidentiality-algorithm-identifier" - see XXX
+#ContentCorrelator B "2.6.4.3.3" "id-att-content-correlator" - see p1.cnf
+#ContentIdentifier B "2.6.4.3.4" "id-att-content-identifier" - see p1.cnf
+#ContentIntegrityCheck B "2.6.4.3.5" "id-att-content-inetgrity-check" - see p1.cnf
+#ContentLength B "2.6.4.3.6" "id-att-content-length" - see p1.cnf
+#Boolean B "2.6.4.3.7" "id-att-content-returned" - see XXX
+#ExtendedContentType B "2.6.4.3.8" "id-att-content-type" - see p1.cnf
+#ConversionWithLossProhibited B "2.6.4.3.9" "id-att-conversion-with-loss-prohibited" - see p1.cnf
+MS-EIT B "2.6.4.3.10" "id-att-converted-EITs"
+CreationTime B "2.6.4.3.11" "id-att-creation-time"
+DeferredDeliveryCancellationTime B "2.6.4.3.50" "id-att-deferred-delivery-cancellation-time"
+#DeferredDeliveryTime B "2.6.4.3.51" "id-att-deferred-delivery-time" - see p1.cnf
+DeletionTime B "2.6.4.3.52" "id-att-deletion-time"
+MS-EIT B "2.6.4.3.12" "id-att-delivered-EITs"
+#DeliveryFlags B "2.6.4.3.13" "id-att-delivery-flags" - see p1.cnf
+#ORName B "2.6.4.3.78" "id-att-dl-exempted-recipients" - see p1.cnf
+#DLExpansion B "2.6.4.3.14" "id-att-dl-expansion-history" - see p1.cnf
+#DLExpansionProhibited B "2.6.4.3.53" "id-att-dl-expansion-prohibited" - see p1.cnf
+EntryType B "2.6.4.3.16" "id-att-entry-type"
+#InternalTraceInformationElement B "2.6.4.3.54" "id-att-internal-trace-information" - see p1.cnf
+#LatestDeliveryTime B "2.6.4.3.55" "id-att-latest-delivery-time" - see p1.cnf
+#NULL B "2.6.4.3.77" "id-att-locally-originated - see XXX
+#NULL B "2.6.4.3.56" "id-att-marked-for-deletion" - see XXX
+#MessageDeliveryEnvelope B "2.6.4.3.18" "id-att-message-delivery-envelope" - see p1.cnf
+#MessageDeliveryTime B "2.6.4.3.20" "id-att-message-delivery-time" - see p1.cnf
+MessageGroupName B "2.6.4.3.57" "id-att-message-group-name"
+#MTSIdentifier B "2.6.4.3.19" "id-att-message-identifier" - see p1.cnf
+#GeneralString B "2.6.4.3.58" "id-att-message-notes" - see XXX
+#MessageOriginAuthenticationCheck B "2.6.4.3.21" "id-at-message-orgin-authentication-check" - see p1.cnf
+#MessageSecurityLabel B "2.6.4.3.22" "id-att-message-security-label" - see p1.cnf
+#MessageSubmissionEnvelope B "2.6.4.3.59" "id-att-message-submission-envelope" - see p1.cnf
+#MessageSubmissionTime B "2.6.4.3.23" "id-att-message-submission-time"
+#MessageToken B "2.6.4.3.24" "id-att-message-token"
+#NULL B "2.6.4.3.60" "id-att-ms-originated"
+SubmissionError B "2.6.4.3.61" "id-att-ms-submission-error"
+#ExtendedCertificates B "2.6.4.3.81" "id-att-multiple-originator-certificates" - see p1.cnf
+MS-EIT B "2.6.4.3.25" "id-att-original-EITs"
+#ORName B "2.6.4.3.17" "id-att-originally-intended-recipient-name" - see p1.cnf
+#OriginatingMTACertificate B "2.6.4.3.62" "id-att-originating-MTA-certificate" - see p1.cnf
+#OriginatorCertificate B "2.6.4.3.26" "id-att-originator-certificate" - see p1.cnf
+#ORName B "2.6.4.3.27" "id-att-originator-name" - see p1.cnf
+#OriginatorReportRequest B "2.6.4.3.63" "id-att-originator-report-request" - see p1.cnf
+#OriginatorReturnAddress B "2.6.4.3.64" "id-att-originator-return-address" - see p1.cnf
+#ORName B "2.6.4.3.28" "id-att-other-recipient-names" - see p1.cnf
+SequenceNumber B "2.6.4.3.29" "id-att-parent-sequence-number"
+#PerMessageIndicators B "2.6.4.3.65" "id-att-per-message-indicators" - see p1.cnf
+#PerRecipientMessageSubmissionFields B "2.6.4.3.66" "id-att-per-recipient-message-submission-fields" - see p1.cnf
+#PerRecipientProbeSubmissionFields B "2.6.4.3.67" "id-att-per-recipient-probe-submission-fields" - see p1.cnf
+#PerRecipientReportDeliveryFields B "2.6.4.3.30" "id-att-per-recipient-report-delivery-fields" - see p1.cnf
+#Priority B "2.6.4.3.31" "id-att-priority" - see p1.cnf
+#ProbeOriginAuthenticationCheck B "2.6.4.3.68" "id-att-probe-origin-authentication-check" - see p1.cnf
+#ProbeSubmissionEnvelope B "2.6.4.3.69" "id-att-probe-submission-envelope" - see p1.cnf
+#ProofOfDeliveryRequest B "2.6.4.3.32" "id-att-proof-of-delivery-request" - see p1.cnf
+#ProofOfSubmission B "2.6.4.3.70" "id-att-proof-of-submission" - see p1.cnf
+#ExtendedCertificates B "2.6.4.3.82" "id-att-recipient-certificate" - see p1.cnf
+#ORName B "2.6.4.3.71" "id-att-recipient-names" - see p1.cnf
+#RecipientReassignmentProhibited B "2.6.4.3.72" "id-att-recipient-reassignment-prohibited" - see p1.cnf
+#Redirection B "2.6.4.3.33" "id-at-redirection-history" - see p1.cnf
+#ReportDeliveryEnvelope B "2.6.4.3.34" "id-att-report-delivery-envelope" - see p1.cnf
+#ReportingDLName B "2.6.4.3.35" "id-att-reporting-DL-name" - see p1.cnf
+#ReportingMTACertificate B "2.6.4.3.36" "id-att-reporting-MTA-certificate" - see p1.cnf
+#ReportOriginAuthenticationCheck B "2.6.4.3.37" "id-att-report-origin-authentication-check" - see p1.cnf
+RetrievalStatus B "2.6.4.3.15" "id-att-retrieval-status"
+#SecurityClassification B "2.6.4.3.38" "id-att-security-classification" - see p1.cnf
+SequenceNumber B "2.6.4.3.39" "id-att-sequence-number"
+SignatureVerificationStatus B "2.6.4.3.79" "id-att-signature-verification-status"
+StoragePeriod B "2.6.4.3.73" "id-att-storage-period"
+StorageTime B "2.6.4.3.74" "id-att-storage-time"
+#SubjectSubmissionIdentifier B "2.6.4.3.40" "id-att-subject-submission-identifier" - see p1.cnf
+#ORName B "2.6.4.3.41" "id-att-this-recipient-name" - see p1.cnf
+#TraceInformationElement B "2.6.4.3.75" "id-att-trace-information" - see p1.cnf
+
+#MSExtensions
+ChangeCredentialsAlgorithms B "2.6.4.9.5" "id-ext-protected-change-credentials-capability"
+OriginatorToken B "2.6.4.9.3" "id-ext-originator-token"
+ProtectedChangeCredentials B "2.6.4.9.4" "id-ext-protected-change-credentials"
+
+RTSE-apdus B "2.6.0.2.10""id-as-ms-rtse"
+
+#.FN_PARS AttributeType FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Attribute/attribute-values/_item
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY AttributeValueAssertion/attribute-value
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY FilterItem/substrings/strings/_item/initial
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY FilterItem/substrings/strings/_item/any
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY FilterItem/substrings/strings/_item/final
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY MatchingRuleAssertion/match-value
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY Summary/present/_item/value
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY OrderedAttribute/attribute-values/_item/value
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS AutoActionType FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY AutoActionRegistration/registration-parameter
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+
+#.FN_BODY AutoActionError/error-code
+ /* XXX: Is this really the best way to do this? */
+ offset = dissect_ros_Code(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+#.FN_BODY RegistrationTypes/extended-registrations/_item
+ /* XXX: Is this really the best way to do this? */
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
+
+#.FN_BODY RTABapdu/userdataAB
+ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
+
+#.END
+
+#.FN_BODY AutoActionError/error-parameter
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY PAR-attribute-error/problems/_item/value
+ if(actx->external.direct_reference)
+ call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+
+#.FN_BODY MSBindArgument/initiator-name
+ const char *ora = NULL;
+
+ %(DEFAULT_BODY)s
+
+ if ((ora = p1_get_last_oraddress(actx))) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (initiator=%%s)", ora);
+ }
+
+#.FN_PARS SequenceNumber VAL_PTR = &seqno
+
+#.FN_BODY NumberRange
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " (range=");
+ %(DEFAULT_BODY)s
+ col_append_str(actx->pinfo->cinfo, COL_INFO, ")");
+
+#.FN_FTR NumberRange/from
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " from %d", seqno);
+
+#.FN_FTR NumberRange/to
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " to %d", seqno);
+
+#.FN_PARS SummarizeResult/count VAL_PTR = &count
+
+#.FN_BODY SummarizeResult/count
+ int count = 0;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (count=%%d)", count);
+
+#.FN_BODY MSMessageSubmissionArgument
+ p1_initialize_content_globals (actx, tree, TRUE);
+ %(DEFAULT_BODY)s
+ p1_initialize_content_globals (actx, NULL, FALSE);
+
+#.FN_BODY EntryInformation
+ p1_initialize_content_globals (actx, NULL, FALSE);
+ %(DEFAULT_BODY)s
+ p1_initialize_content_globals (actx, NULL, FALSE);
+
+#.FN_BODY EntryModification
+ p1_initialize_content_globals (actx, NULL, FALSE);
+ %(DEFAULT_BODY)s
+ p1_initialize_content_globals (actx, NULL, FALSE);
diff --git a/epan/dissectors/asn1/p7/packet-p7-template.c b/epan/dissectors/asn1/p7/packet-p7-template.c
new file mode 100644
index 00000000..621aa9b0
--- /dev/null
+++ b/epan/dissectors/asn1/p7/packet-p7-template.c
@@ -0,0 +1,118 @@
+/* packet-p7.c
+ * Routines for X.413 (P7) packet dissection
+ * Graeme Lunt 2007
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ros.h"
+#include "packet-rtse.h"
+#include "packet-p7.h"
+
+#include "packet-p1.h"
+#include <epan/strutil.h>
+
+#define PNAME "X.413 Message Store Service"
+#define PSNAME "P7"
+#define PFNAME "p7"
+
+void proto_register_p7(void);
+void proto_reg_handoff_p7(void);
+
+static int seqno = 0;
+
+/* Initialize the protocol and registered fields */
+static int proto_p7 = -1;
+
+#include "packet-p7-val.h"
+
+#include "packet-p7-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_p7 = -1;
+#include "packet-p7-ett.c"
+
+#include "packet-p7-table.c" /* operation and error codes */
+
+#include "packet-p7-fn.c"
+
+#include "packet-p7-table11.c" /* operation argument/result dissectors */
+#include "packet-p7-table21.c" /* error dissector */
+
+static const ros_info_t p7_ros_info = {
+ "P7",
+ &proto_p7,
+ &ett_p7,
+ p7_opr_code_string_vals,
+ p7_opr_tab,
+ p7_err_code_string_vals,
+ p7_err_tab
+};
+
+
+/*--- proto_register_p7 -------------------------------------------*/
+void proto_register_p7(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+#include "packet-p7-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_p7,
+#include "packet-p7-ettarr.c"
+ };
+ module_t *p7_module;
+
+ /* Register protocol */
+ proto_p7 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_p7, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register our configuration options for P7, particularly our port */
+
+ p7_module = prefs_register_protocol_subtree("OSI/X.400", proto_p7, NULL);
+
+ prefs_register_obsolete_preference(p7_module, "tcp.port");
+
+ prefs_register_static_text_preference(p7_module, "tcp_port_info",
+ "The TCP ports used by the P7 protocol should be added to the TPKT preference \"TPKT TCP ports\", or by selecting \"TPKT\" as the \"Transport\" protocol in the \"Decode As\" dialog.",
+ "P7 TCP Port preference moved information");
+}
+
+
+/*--- proto_reg_handoff_p7 --- */
+void proto_reg_handoff_p7(void) {
+
+ #include "packet-p7-dis-tab.c"
+
+ /* APPLICATION CONTEXT */
+
+ oid_add_from_string("id-ac-ms-access","2.6.0.1.11");
+ oid_add_from_string("id-ac-ms-reliable-access","2.6.0.1.12");
+
+ /* ABSTRACT SYNTAXES */
+
+ /* Register P7 with ROS (with no use of RTSE) */
+ register_ros_protocol_info("2.6.0.2.9", &p7_ros_info, 0, "id-as-ms", FALSE);
+ register_ros_protocol_info("2.6.0.2.5", &p7_ros_info, 0, "id-as-mrse", FALSE);
+ register_ros_protocol_info("2.6.0.2.1", &p7_ros_info, 0, "id-as-msse", FALSE);
+}
diff --git a/epan/dissectors/asn1/p7/packet-p7-template.h b/epan/dissectors/asn1/p7/packet-p7-template.h
new file mode 100644
index 00000000..d57bc8dc
--- /dev/null
+++ b/epan/dissectors/asn1/p7/packet-p7-template.h
@@ -0,0 +1,17 @@
+/* packet-p7.h
+ * Routines for X.413 (P7) packet dissection
+ * Graeme Lunt 2007
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_P7_H
+#define PACKET_P7_H
+
+#include "packet-p7-exp.h"
+
+#endif /* PACKET_P7_H */
diff --git a/epan/dissectors/asn1/p772/CMakeLists.txt b/epan/dissectors/asn1/p772/CMakeLists.txt
new file mode 100644
index 00000000..d3b1842d
--- /dev/null
+++ b/epan/dissectors/asn1/p772/CMakeLists.txt
@@ -0,0 +1,47 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME p772 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ MMSAbstractService.asn
+ MMSInformationObjects.asn
+ MMSOtherNotificationTypeExtensions.asn
+ MMSObjectIdentifiers.asn
+ MMSHeadingExtensions.asn
+ MMSUpperBounds.asn
+ MMSExtendedBodyPartTypes.asn
+ MMSPerRecipientSpecifierExtensions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -C )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../p22/p22-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/p772/MMSAbstractService.asn b/epan/dissectors/asn1/p772/MMSAbstractService.asn
new file mode 100644
index 00000000..d5b19980
--- /dev/null
+++ b/epan/dissectors/asn1/p772/MMSAbstractService.asn
@@ -0,0 +1,182 @@
+MMSAbstractService {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) abstract-service(3)} DEFINITIONS
+IMPLICIT TAGS ::=
+BEGIN
+
+--Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ AutoForwardComment, Heading
+ --
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS information objects
+ MM, MN, MNRN, MRN, MON, InformationObject
+ --
+ FROM MMSInformationObjects {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0) module(0) mms(1)}
+ -- MMS object identifiers
+ id-mpt-management, id-mpt-origination, id-mpt-reception
+ --
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)}
+ -- MTS abstract service
+ MessageDeliveryEnvelope, MessageSubmissionEnvelope,
+ MessageSubmissionIdentifier, MessageSubmissionTime, ORName,
+ ProbeSubmissionEnvelope, ProbeSubmissionIdentifier, ProbeSubmissionTime,
+ RecipientImproperlySpecified, ReportDeliveryEnvelope,
+ SupplementaryInformation
+ --
+ FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0)
+ mts-abstract-service(1)}
+ -- Abstract service definition conventions
+ ABSTRACT-ERROR, ABSTRACT-OPERATION, PORT
+ --
+ FROM AbstractServiceNotation {joint-iso-ccitt mhs-motis(6) asdc(2)
+ modules(0) notation(1)};
+
+-- Ports
+-- origination PORT ::= {
+-- CONSUMER INVOKES
+-- {OriginateProbe |
+--
+ -- Although, national implementation may
+ -- support probes within their own domain, probes are not
+ -- permitted across national boundaries
+-- OriginateMM | OriginateMRN}
+-- ID id-pt-origination}
+--
+--reception PORT ::= {
+-- CONSUMER INVOKES
+-- {ReceiveReport | ReceiveMM | ReceiveMRN | ReceiveMNRN | ReceiveMON}
+-- ID id-pt-reception}
+--
+--management PORT ::= {
+-- CONSUMER INVOKES
+-- {ChangeAutoDiscard | ChangeAutoAcknowledgment | ChangeAutoForwarding}
+-- ID id-pt-management}
+
+-- Origination abstract operations
+-- Probes are prohibited across national boundaries.
+--originate-probe ABSTRACT-OPERATION ::= {
+-- ARGUMENT OriginateProbeArgument
+-- RESULT OriginateProbeResult
+-- ERROR {SubcriptionError | RecipientImproperlySpecified}}
+
+OriginateProbeArgument ::= SET {
+ envelope [0] ProbeSubmissionEnvelope,
+ content [1] MM}
+
+OriginateProbeResult ::= SET {
+ submission-identifier [0] ProbeSubmissionIdentifier,
+ submission-time [1] ProbeSubmissionTime}
+
+--originate-mm ABSTRACT-OPERATION ::= {
+-- ARGUMENT OriginateMMArgument
+-- RESULT OriginateMMResult
+-- ERROR {SubcriptionError | RecipientImproperlySpecified}}
+
+OriginateMMArgument ::= SET {
+ envelope [0] MessageSubmissionEnvelope,
+ content [1] MM}
+
+OriginateMMResult ::= SET {
+ submission-identifier [0] MessageSubmissionIdentifier,
+ submission-time [1] MessageSubmissionTime}
+
+--originate-mrn ABSTRACT-OPERATION ::= {
+-- ARGUMENT OriginateMRNArgument
+-- RESULT OriginateMRNResult
+-- ERROR {SubcriptionError | RecipientImproperlySpecified}}
+
+OriginateMRNArgument ::= SET {
+ envelope [0] MessageSubmissionEnvelope,
+ content [1] MRN}
+
+OriginateMRNResult ::= SET {
+ submission-identifier [0] MessageSubmissionIdentifier,
+ submission-time [1] MessageSubmissionTime}
+
+-- Reception abstract operations
+--receive-report ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveReportArgument
+-- RESULT ERROR {}}
+
+ReceiveReportArgument ::= SET {
+ envelope [0] ReportDeliveryEnvelope,
+ undelivered-object [1] InformationObject OPTIONAL}
+
+--receive-mm ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveMMArgument
+-- RESULT ERROR {}}
+
+ReceiveMMArgument ::= SET {
+ envelope [0] MessageDeliveryEnvelope,
+ content [1] MM}
+
+--receive-mrn ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveMRNArgument
+-- RESULT ERROR {}}
+
+ReceiveMRNArgument ::= SET {
+ envelope [0] MessageDeliveryEnvelope,
+ content [1] MRN}
+
+--receive-mnrn ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveMNRNArgument
+-- RESULT ERROR {}}
+
+ReceiveMNRNArgument ::= SET {
+ envelope [0] MessageDeliveryEnvelope,
+ content [1] MNRN}
+
+--receive-mon ABSTRACT-OPERATION ::= {
+-- ARGUMENT ReceiveMONArgument
+-- RESULT ERROR {}}
+
+ReceiveMONArgument ::= SET {
+ envelope [0] MessageDeliveryEnvelope,
+ content [1] MON}
+
+-- Management abstract operations
+-- It should be noted that in cases where an implementation has dual
+-- IPM and MM functionality, the management abstract operations may be used
+-- for support of both types of messaging.
+--change-auto-discard ABSTRACT-OPERATION ::= {
+-- ARGUMENT ChangeAutoDiscardArgument
+-- RESULT ERRORS {}}
+
+ChangeAutoDiscardArgument ::= SET {
+ auto-discard-expired-MMs [0] BOOLEAN,
+ auto-discard-obsolete-MMs [1] BOOLEAN}
+
+--change-auto-acknowledgement ABSTRACT-OPERATION ::= {
+-- ARGUMENT ChangeAutoAcknowledgementArgument
+-- RESULT ERRORS {SubscriptionError}}
+
+ChangeAutoAcknowledgementArgument ::= SET {
+ auto-acknowledge-MMs [0] BOOLEAN,
+ auto-acknowledge-suppl-receipt-info [1] SupplementaryInformation}
+
+--change-auto-forwarding ABSTRACT-OPERATION ::= {
+-- ARGUMENT ChangeAutoForwardingArgument
+-- RESULT ERRORS {SubscriptionError,
+-- RecipientImproperlySpecified}}
+
+ChangeAutoForwardingArgument ::= SET {
+ autoforward-MMs [0] BOOLEAN,
+ auto-forward-recipients [1] SEQUENCE OF ORName OPTIONAL,
+ auto-forward-heading [2] Heading OPTIONAL,
+ auto-forward-comment [3] AutoForwardComment OPTIONAL}
+
+-- Abstract errors
+--subscription-error ABSTRACT-ERROR ::= {PARAMETER SubscriptionErrorParameter
+--}
+
+SubscriptionErrorParameter ::= SET {problem [0] SubscriptionProblem}
+
+SubscriptionProblem ::= ENUMERATED {
+ mms-eos-not-subcribed(0), mts-eos-not-subcribed(1)}
+
+END --of MMSAbstractService
diff --git a/epan/dissectors/asn1/p772/MMSExtendedBodyPartTypes.asn b/epan/dissectors/asn1/p772/MMSExtendedBodyPartTypes.asn
new file mode 100644
index 00000000..312e60f2
--- /dev/null
+++ b/epan/dissectors/asn1/p772/MMSExtendedBodyPartTypes.asn
@@ -0,0 +1,115 @@
+MMSExtendedBodyPartTypes {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ extended-body-part-types(7)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ EXTENDED-BODY-PART-TYPE
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS information objects
+ MM
+ --=
+ FROM MMSInformationObjects {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0) module(0) mms(1)}
+ -- MMS upper lower bounds
+ ub-data-size
+ --=
+ FROM MMSUpperBounds {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) upper-bounds(0)}
+ -- MTS Abstract Service
+ MessageDeliveryTime, OtherMessageDeliveryFields
+ --=
+ FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0)
+ mts-abstract-service(1)}
+ -- MMS object identifiers
+ --=
+ id-nato-mmhs-et-adatp3, id-nato-mmhs-et-adatp3-parameters,
+ id-nato-mmhs-et-acp127data, id-nato-mmhs-et-acp127data-parameters,
+ id-nato-mmhs-et-corrections, id-nato-mmhs-et-corrections-parameters,
+ id-nato-mmhs-et-forwarded-encrypted,
+ id-nato-mmhs-et-forwarded-encrypted-parameters, id-nato-mmhs-et-mm-message,
+ id-nato-mmhs-et-mm-message-parameters
+ --=
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)};
+
+-- extended adatp3 bodypart
+--adatp3-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS {ADatP3Parameters
+-- IDENTIFIED BY id-nato-mmhs-et-adatp3-parameters},
+-- DATA {ADatP3Data
+-- IDENTIFIED BY id-nato-mmhs-et-adatp3}}
+
+ADatP3Parameters ::= INTEGER -- DEFAULT (0)
+
+ADatP3Data ::= CHOICE {
+ lineOriented [0] IMPLICIT IA5String,
+ setOriented [1] IMPLICIT SEQUENCE OF IA5String}
+
+-- extended corrections body part
+--corrections-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS {CorrectionsParameters
+-- IDENTIFIED BY id-nato-mmhs-et-corrections-parameters},
+-- DATA {CorrectionsData
+-- IDENTIFIED BY id-nato-mmhs-et-corrections}}
+
+CorrectionsParameters ::= INTEGER
+
+CorrectionsData ::= IA5String
+
+-- extended forwarded encrypted body part
+--forwarded-encrypted-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS
+-- {ForwardedEncryptedParameters
+-- IDENTIFIED BY id-nato-mmhs-et-forwarded-encrypted-parameters},
+-- DATA
+-- {ForwardedEncryptedData
+-- IDENTIFIED BY id-nato-mmhs-et-forwarded-encrypted}}
+
+-- A forwarded-encrypted-body must contain the delivery information,
+-- containing the content type which will indicate whether the forwarded
+-- encrypted message is an MM or IPM. All security related information
+-- (i.e., token) of the original message must be forwarded.
+ForwardedEncryptedParameters ::= SET {
+ delivery-time [0] MessageDeliveryTime OPTIONAL,
+ delivery-envelope [1] OtherMessageDeliveryFields}
+
+-- 2/X.411, part 9 of 26.
+ForwardedEncryptedData ::= BIT STRING
+
+-- extended MM message body part
+--mm-message-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS
+-- {MMMessageParameters
+-- IDENTIFIED BY id-nato-mmhs-et-mm-message-parameters},
+-- DATA {MMMessageData
+-- IDENTIFIED BY id-nato-mmhs-et-mm-message}}
+
+-- An mm-message-body-part can either carry a forwarded M1M or a forwarded
+-- IPM. In the case of a message-body-part, as defined in X.420,
+-- it can only carry an IPM.
+MMMessageParameters ::= SET {
+ delivery-time [0] MessageDeliveryTime OPTIONAL,
+ delivery-envelope [1] OtherMessageDeliveryFields}
+
+MMMessageData ::= IPM
+
+-- extended acp127data body part
+--acp127data-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS
+-- {ACP127DataParameters
+-- IDENTIFIED BY id-nato-mmhs-et-acp127data-parameters},
+-- DATA {ACP127DataData
+-- IDENTIFIED BY id-nato-mmhs-et-acp127data}}
+
+ACP127DataParameters ::= INTEGER
+
+ACP127DataData ::= IA5String(SIZE (1..ub-data-size))
+
+END -- of MMS ExtendedBodyPartTypes
+
diff --git a/epan/dissectors/asn1/p772/MMSHeadingExtensions.asn b/epan/dissectors/asn1/p772/MMSHeadingExtensions.asn
new file mode 100644
index 00000000..d20c1425
--- /dev/null
+++ b/epan/dissectors/asn1/p772/MMSHeadingExtensions.asn
@@ -0,0 +1,250 @@
+MMSHeadingExtensions {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) heading-extensions(6)} DEFINITIONS
+IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ IPMS-EXTENSION, ORDescriptor
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS upper bounds
+ lb-military-sic, ub-military-number-of-sics, ub-military-sic
+ --=
+ FROM MMSUpperBounds {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) upper-bounds(0)}
+ -- MMS object identifiers
+ id-nato-mmhs-mm-acp127-message-identifier,
+ id-nato-mmhs-mm-address-list-indicator, id-nato-mmhs-mm-codress-message,
+ id-nato-mmhs-mm-copy-precedence, id-nato-mmhs-mm-distribution-codes,
+ id-nato-mmhs-mm-exempted-address,
+ id-nato-mmhs-mm-extended-authorisation-info,
+ id-nato-mmhs-mm-handling-instructions, id-nato-mmhs-mm-information-labels,
+ id-nato-mmhs-mm-message-instructions, id-nato-mmhs-mm-message-type,
+ id-nato-mmhs-mm-originator-reference, id-nato-mmhs-mm-originator-plad,
+ id-nato-mmhs-mm-other-recipients-indicator,
+ id-nato-mmhs-mm-pilot-forwarding-info, id-nato-mmhs-mm-primary-precedence
+ --=
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)}
+ -- MTS abstract service
+ --Message--SecurityLabel
+ --=
+ FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0)
+ mts-abstract-service(1)};
+
+-- exempted address
+--exempted-address IPMS-EXTENSION ::= {
+-- VALUE SEQUENCE OF ExemptedAddress
+-- IDENTIFIED BY id-nato-mmhs-mm-exempted-address}
+
+ExemptedAddressSeq ::= SEQUENCE OF ExemptedAddress
+
+ExemptedAddress ::= ORDescriptor
+
+-- extended authorisation information
+--extended-authorisation-info IPMS-EXTENSION ::= {
+-- VALUE ExtendedAuthorisationInfo
+-- IDENTIFIED BY id-nato-mmhs-mm-extended-authorisation-info}
+
+ExtendedAuthorisationInfo ::= UTCTime
+
+-- UTCTime as defined in 8.5.4 of ITU-T X.411
+-- Distribution codes
+-- will carry subject indicator codes and leave room for expansion.
+--distribution-codes IPMS-EXTENSION ::= {
+-- VALUE DistributionCodes
+-- IDENTIFIED BY id-nato-mmhs-mm-distribution-codes}
+
+DistributionCodes ::= SET {
+ sics
+ [0] SEQUENCE SIZE (1..ub-military-number-of-sics) OF Sic OPTIONAL,
+ dist-Extensions [1] SEQUENCE OF DistributionExtensionField OPTIONAL}
+
+Sic ::= PrintableString(SIZE (lb-military-sic..ub-military-sic))
+
+--DistributionExtensionField ::= INSTANCE OF TYPE-IDENTIFIER
+DistributionExtensionField ::= SEQUENCE {
+ dist-type OBJECT IDENTIFIER,
+ dist-value ANY --DEFINED BY dist-type-- }
+
+-- Handling instructions
+--handling-instructions IPMS-EXTENSION ::= {
+-- VALUE HandlingInstructions
+-- IDENTIFIED BY id-nato-mmhs-mm-handling-instructions}
+
+HandlingInstructions ::= SEQUENCE OF MilitaryString
+
+MilitaryString ::= PrintableString(SIZE (1..ub-military-string))
+
+-- Message instructions
+-- will carry operating signals
+--message-instructions IPMS-EXTENSION ::= {
+-- VALUE MessageInstructions
+-- IDENTIFIED BY id-nato-mmhs-mm-message-instructions}
+
+MessageInstructions ::= SEQUENCE OF MilitaryString
+
+-- Codress message
+-- Needed for transition or as long as codress messages need to be carried.
+--codress-message IPMS-EXTENSION ::= {
+-- VALUE CodressMessage
+-- IDENTIFIED BY id-nato-mmhs-mm-codress-message}
+
+CodressMessage ::= INTEGER
+
+-- Originator reference
+-- only used if a user designated identifier string becomes important.
+--originator-reference IPMS-EXTENSION ::= {
+-- VALUE OriginatorReference
+-- IDENTIFIED BY id-nato-mmhs-mm-originator-reference}
+
+OriginatorReference ::= MilitaryString
+
+-- we have expanded MMHSPrecedence to PrimaryPrecedence and CopyPrecedence to
+-- all rules to be written to highlight high priority messages.
+MMHSPrecedence ::= INTEGER {
+ deferred(0), routine(1), priority(2), immediate(3), flash(4), override(5)
+ -- these are used by some National systems XXX need to verify
+ , ecp(16), critic(17), override(18)
+}
+
+-- Primary reference
+--primary-precedence IPMS-EXTENSION ::= {
+-- VALUE MMHSPrecedence
+-- IDENTIFIED BY id-nato-mmhs-mm-primary-precedence}
+
+PrimaryPrecedence ::= INTEGER {
+ deferred(0), routine(1), priority(2), immediate(3), flash(4), override(5)
+ -- these are used by some National systems XXX need to verify
+ , ecp(16), critic(17), override(18)
+}
+
+-- Note: Values 0 to 15 are reserved for NATO defined precedence levels.
+-- Values 16 to 31 are reserved for national user.
+-- Copy precedence
+--copy-precedence IPMS-EXTENSION ::= {
+-- VALUE MMHSPrecedence
+-- IDENTIFIED BY id-nato-mmhs-mm-copy-precedence}
+
+CopyPrecedence ::= INTEGER {
+ deferred(0), routine(1), priority(2), immediate(3), flash(4), override(5)
+ -- these are used by some National systems XXX need to verify
+ , ecp(16), critic(17), override(18)
+}
+
+-- Message type
+--message-type IPMS-EXTENSION ::= {
+-- VALUE MessageType
+-- IDENTIFIED BY id-nato-mmhs-mm-message-type}
+
+MessageType ::= SET {
+ type [0] TypeMessage,
+ identifier [1] MessageIdentifier OPTIONAL}
+
+TypeMessage ::= INTEGER {exercise(0), operation(1), project(2), drill(3)}
+
+-- Note: Values 0 to 127 are reserved for NATO defined Message Type
+-- identifiers. Values above 128 to 255 are not defined by NATO and may
+-- be used nationally or bilaterally.
+MessageIdentifier ::=
+ MilitaryString
+
+-- Address list indicator
+--address-list-indicator IPMS-EXTENSION ::= {
+-- VALUE SEQUENCE OF AddressListDesignator
+-- IDENTIFIED BY id-nato-mmhs-mm-address-list-indicator}
+
+AddressListDesignatorSeq ::= SEQUENCE OF AddressListDesignator
+
+AddressListDesignator ::= SET {
+ type [0] INTEGER {primaryAddressList(0), copyAddressList(1)},
+ listName [1] ORDescriptor,
+ notificationRequest [2] AddressListRequest OPTIONAL,
+ replyRequest [3] AddressListRequest OPTIONAL}
+
+AddressListRequest ::= INTEGER {action(0), info(1), both(2)}
+
+-- Other recipients indicator
+--other-recipients-indicator IPMS-EXTENSION ::= {
+-- VALUE SEQUENCE OF OtherRecipientDesignator
+-- IDENTIFIED BY id-nato-mmhs-mm-other-recipients-indicator}
+
+OtherRecipientDesignatorSeq ::= SEQUENCE OF OtherRecipientDesignator
+
+OtherRecipientDesignator ::= SET {
+ type [0] INTEGER {primary(0), copy(1)},
+ designator [1] MilitaryString}
+
+-- pilot forwarding information
+--pilot-forwarding-info IPMS-EXTENSION ::= {
+-- VALUE SEQUENCE OF PilotInformation
+-- IDENTIFIED BY id-nato-mmhs-mm-pilot-forwarding-info}
+
+PilotInformationSeq ::= SEQUENCE OF PilotInformation
+
+PilotInformation ::= SEQUENCE {
+ pilotPrecedence [0] MMHSPrecedence OPTIONAL,
+ -- Note: Values 0 to 15 are reserved for NATO defined precedence levels.
+ -- Values 16 to 31 are reserved for national use.
+ pilotRecipient [1] SEQUENCE OF ORDescriptor OPTIONAL,
+ pilotSecurity [2] --Message--SecurityLabel OPTIONAL,
+ pilotHandling [3] SEQUENCE OF MilitaryString OPTIONAL}
+
+-- Acp127 message identifier
+-- a string to store routing indicator, station serial number and julian file
+-- time seperated by spaces.
+--acp127-message-identifier IPMS-EXTENSION ::= {
+-- VALUE Acp127MessageIdentifier
+-- IDENTIFIED BY id-nato-mmhs-mm-acp127-message-identifier}
+
+Acp127MessageIdentifier ::= MilitaryString
+
+-- Originator PLAD
+--originator-plad IPMS-EXTENSION ::= {
+-- VALUE OriginatorPlad
+-- IDENTIFIED BY id-nato-mmhs-mm-originator-plad}
+
+OriginatorPlad ::= MilitaryString
+
+-- Information label
+--security-information-labels IPMS-EXTENSION ::= {
+-- VALUE SecurityInformationLabels
+-- IDENTIFIED BY id-nato-mmhs-mm-information-labels}
+
+SecurityInformationLabels ::= SEQUENCE {
+ content-security-label [0] SecurityLabel,
+ -- SecurityLabel as defined in 8.5.9 of ITU-T X.411
+ heading-security-label [1] SecurityLabel OPTIONAL,
+ body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL}
+
+BodyPartSecurityLabel ::= SET {
+ body-part-security-label [0] SecurityLabel,
+ body-part-sequence-number [1] BodyPartSequenceNumber OPTIONAL}
+
+BodyPartSequenceNumber ::= INTEGER
+
+-- Note: If all body parts of the message are labelled, each
+-- element in the body sequence above shall correspond to the
+-- same numbered element of the Body sequence, and the body
+-- part sequence number may be absent. (i.e. the first element
+-- of this field shall correspond to the first body part, etc.
+-- Otherwise the body part sequence number shall be present
+-- and shall correspond to the sequence of the body part
+-- to which the security label relates. (i.e. the value of the
+-- body part sequence number shall correspond to sequence in which
+-- the originator encoded the body parts of the message).
+-- NOTE: The security-information-labels heading extension is now
+-- deprecated. Its use is, therefore, discouraged. See STANAG 4406
+-- Annex B for instruction on the use of its replacement, the
+-- ESSSecurityLabel.
+
+PriorityLevelQualifier ::= ENUMERATED {
+ low(0),
+ high(1) }
+
+END -- of Military heading extensions used in MMS
+
diff --git a/epan/dissectors/asn1/p772/MMSInformationObjects.asn b/epan/dissectors/asn1/p772/MMSInformationObjects.asn
new file mode 100644
index 00000000..510b551f
--- /dev/null
+++ b/epan/dissectors/asn1/p772/MMSInformationObjects.asn
@@ -0,0 +1,62 @@
+MMSInformationObjects {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) mms(1)} DEFINITIONS IMPLICIT TAGS
+::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPM Information Object
+ Body, CommonFields, Heading, NonReceiptFields, OtherNotificationTypeFields,
+ ReceiptFields, IPM, IPN
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MTS abstract service
+ ORName
+ --=
+ FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0)
+ mts-abstract-service(1)};
+
+-- Information Object
+--InformationObject ::= CHOICE {mm [0] MM,
+-- mn [1] MN}
+
+-- We use IPM and IPN here because asn2wrs is unable to fetch
+-- COMPONENTS OF CommonFields from IPMSInformationObjects.asn (x420).
+InformationObject ::= CHOICE {mm [0] IPM,
+ mn [1] IPN}
+
+-- MM (Military Message)
+MM ::= SEQUENCE {mmheading Heading,
+ mmbody Body}
+
+-- The mandatory support on the IPMIdentifier components is more important
+-- in MMS than in IPMS. The user component, ORName of the originating UA is
+-- mandatory. Local IPMIdentifier is made up of 2 concatenated string
+-- separated by a space both generated by the originating UA, a serial
+-- number and the filing time (the time the message generation is finished)
+-- in UTC time format. The minimum length of 15 is because both a date/time
+-- stamp in UTC format including seconds and a serial number, plus the space
+-- delimiter are mandatory. The smallest acceptable UTC date/time stamp
+-- is 13 (ddmmyyhhmmssZ).
+-- MN (Military Notification receipt/non receipt / other notification types)
+MN ::= SET {
+ COMPONENTS OF CommonFields,
+ choice
+ [0] CHOICE {mn-non-receipt-fields [0] NonReceiptFields,
+ mn-receipt-fields [1] ReceiptFields,
+ mn-other-notification-type-fields
+ [2] OtherNotificationTypeFields}}
+
+MRN ::= MN -- with MN-receipt-fields chosen
+
+MNRN ::= MN -- with MN-non-receipt-fields chosen
+
+MON ::= MN -- with MN-other-notification-type-fields chosen
+
+-- All military specific body parts are defined as extended body parts.
+-- The military specific body parts are defined in Annex A
+-- of this part of the MBS.
+END -- of MMS InformationObjects
+
diff --git a/epan/dissectors/asn1/p772/MMSObjectIdentifiers.asn b/epan/dissectors/asn1/p772/MMSObjectIdentifiers.asn
new file mode 100644
index 00000000..c801d701
--- /dev/null
+++ b/epan/dissectors/asn1/p772/MMSObjectIdentifiers.asn
@@ -0,0 +1,262 @@
+MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Export everything
+IMPORTS --nothing-- ;
+
+ID ::= OBJECT IDENTIFIER
+
+-- Military Messaging
+id-mmhs ID ::=
+ {iso(1) identified-organization(3) nato(26) stanags(0) mmhs(4406)
+ object-identifiers(0)}
+
+-- Categories of object identifiers
+id-mod ID ::= {id-mmhs 0} -- mm module
+
+id-mm ID ::= {id-mmhs 2} -- heading extension
+
+id-hat ID ::= {id-mmhs 3} -- heading attributes for MS
+
+id-mcont ID ::= {id-mmhs 4} -- content types
+
+id-policy ID ::= {id-mmhs 5} -- NATO policy identifier
+
+id-cat ID ::= {id-mmhs 6} -- special category identifiers
+
+id-et ID ::= {id-mmhs 7} -- military defined extended body part types
+
+id-mmts ID ::= {id-mmhs 8} -- mts object identifiers
+
+id-nat ID ::= {id-mmhs 9} -- military defined notification attributes
+
+id-mot ID ::= {id-mmhs 10} -- military object types
+
+id-mpt ID ::= {id-mmhs 11} -- military port types
+
+id-ref ID ::= {id-mmhs 12} -- refinements
+
+id-informationlabel ID ::= {id-mmhs 13}
+
+-- Modules
+-- MMS information objects
+id-mod-upper-bounds ID ::= {id-mod 0}
+
+id-mod-mms ID ::= {id-mod 1}
+
+id-mod-functional-objects ID ::= {id-mod 2}
+
+id-mod-abstract-service ID ::= {id-mod 3}
+
+id-mod-heading-extension ID ::= {id-mod 6}
+
+id-mod-extended-body-part-types ID ::= {id-mod 7}
+
+id-mod-message-store-attributes ID ::= {id-mod 8}
+
+id-mod-per-recipient-specifier-extensions ID ::= {id-mod 11}
+
+id-mod-other-notification-type-extensions ID ::= {id-mod 12}
+
+-- Object types
+id-mot-mmme ID ::= {id-mot 0}
+
+id-mot-mms-user ID ::= {id-mot 1}
+
+id-mot-mms ID ::= {id-mot 2}
+
+id-mot-mms-ua ID ::= {id-mot 3}
+
+id-mot-mms-ms ID ::= {id-mot 4}
+
+id-mot-acp127au ID ::= {id-mot 5}
+
+id-mot-pdau ID ::= {id-mot 6}
+
+-- port types
+id-mpt-origination ID ::= {id-mpt 0}
+
+id-mpt-reception ID ::= {id-mpt 1}
+
+id-mpt-management ID ::= {id-mpt 2}
+
+-- Refinements
+id-ref-primary ID ::= {id-ref 0}
+
+id-ref-secondary ID ::= {id-ref 1}
+
+-- Military Defined body parts
+id-nato-mmhs-et-adatp3 ID ::= {id-et 0}
+
+id-nato-mmhs-et-corrections ID ::= {id-et 1}
+
+id-nato-mmhs-et-adatp3-parameters ID ::= {id-et 2}
+
+id-nato-mmhs-et-corrections-parameters ID ::= {id-et 3}
+
+id-nato-mmhs-et-forwarded-encrypted ID ::= {id-et 6}
+
+id-nato-mmhs-et-forwarded-encrypted-parameters ID ::= {id-et 7}
+
+id-nato-mmhs-et-mm-message ID ::= {id-et 9}
+
+id-nato-mmhs-et-mm-message-parameters ID ::= {id-et 10}
+
+id-nato-mmhs-et-mm-acp127data ID ::= {id-et 12}
+
+id-nato-mmhs-et-mm-acp127data-parameters ID ::= {id-et 13}
+
+-- Military Defined Heading Fields
+id-nato-mmhs-mm-primary-precedence ID ::=
+ {id-mm 0}
+
+id-nato-mmhs-mm-copy-precedence ID ::= {id-mm 1}
+
+id-nato-mmhs-mm-message-type ID ::= {id-mm 2}
+
+id-nato-mmhs-mm-address-list-indicator ID ::= {id-mm 3}
+
+id-nato-mmhs-mm-exempted-address ID ::= {id-mm 4}
+
+id-nato-mmhs-mm-extended-authorisation-info ID ::= {id-mm 5}
+
+id-nato-mmhs-mm-distribution-codes ID ::= {id-mm 6}
+
+id-nato-mmhs-mm-handling-instructions ID ::= {id-mm 7}
+
+id-nato-mmhs-mm-message-instructions ID ::= {id-mm 8}
+
+id-nato-mmhs-mm-codress-message ID ::= {id-mm 9}
+
+id-nato-mmhs-mm-originator-reference ID ::= {id-mm 10}
+
+id-nato-mmhs-mm-other-recipients-indicator ID ::= {id-mm 11}
+
+id-nato-mmhs-mm-pilot-forwarding-info ID ::= {id-mm 12}
+
+id-nato-mmhs-mm-acp127-message-identifier ID ::= {id-mm 13}
+
+id-nato-mmhs-mm-originator-plad ID ::= {id-mm 14}
+
+id-nato-mmhs-mm-information-labels ID ::= {id-mm 17}
+
+-- This value is deprecated.
+-- the following are per-recipient
+id-nato-mmhs-mm-acp127-notification-request ID ::=
+ {id-mm 15}
+
+-- the following are per other-notification-type
+id-nato-mmhs-mm-acp127-notification-response ID ::=
+ {id-mm 16}
+
+-- Military Defined Heading Attributes for MS
+id-nato-mmhs-hat-primary-precedence ID ::=
+ {id-hat 0}
+
+id-nato-mmhs-hat-copy-precedence ID ::= {id-hat 1}
+
+id-nato-mmhs-hat-message-type ID ::= {id-hat 2}
+
+id-nato-mmhs-hat-address-list-indicator ID ::= {id-hat 3}
+
+id-nato-mmhs-hat-exempted-address ID ::= {id-hat 4}
+
+id-nato-mmhs-hat-extended-authorisation-info ID ::= {id-hat 5}
+
+id-nato-mmhs-hat-distribution-codes ID ::= {id-hat 6}
+
+id-nato-mmhs-hat-handling-instructions ID ::= {id-hat 7}
+
+id-nato-mmhs-hat-message-instructions ID ::= {id-hat 8}
+
+id-nato-mmhs-hat-codress-message ID ::= {id-hat 9}
+
+id-nato-mmhs-hat-originator-reference ID ::= {id-hat 10}
+
+id-nato-mmhs-hat-other-recipients-indicator ID ::= {id-hat 11}
+
+id-nato-mmhs-hat-pilot-forwarding-info ID ::= {id-hat 12}
+
+id-nato-mmhs-hat-acp127-message-identifier ID ::= {id-hat 13}
+
+id-nato-mmhs-hat-originator-plad ID ::= {id-hat 14}
+
+-- the following are per-recipient
+id-nato-mmhs-hat-acp127-notification-request ID ::=
+ {id-hat 15}
+
+id-nato-mmhs-hat-sic-codes ID ::= {id-hat 16}
+
+id-nato-mmhs-hat-distribution-extensions ID ::= {id-hat 17}
+
+id-nato-mmhs-hat-body-part-information-label ID ::= {id-hat 18}
+
+-- This value is deprecated.
+id-nato-mmhs-hat-security-information-labels ID ::=
+ {id-hat 19}
+
+-- This value is deprecated.
+-- Military Defined special category identifiers
+id-nato-mmhs-cat ID ::=
+ {id-cat 0}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-atomal ID ::= {id-cat 1}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-cryptosecurity ID ::= {id-cat 2}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-specialhandlingintel ID ::=
+ {id-cat 3}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-ussiopesi ID ::= {id-cat 4}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-eyesonly ID ::= {id-cat 5}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-exclusive ID ::= {id-cat 6}
+
+-- This value is deprecated.
+id-nato-mmhs-cat-information-label ID ::=
+ {id-cat 7}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-atomal ID ::=
+ {id-informationlabel 1}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-cryptosecurity ID ::=
+ {id-informationlabel 2}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-specialhandlingintel ID ::=
+ {id-informationlabel 3}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-ussiopesi ID ::=
+ {id-informationlabel 4}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-eyesonly ID ::=
+ {id-informationlabel 5}
+
+-- This value is deprecated.
+id-nato-mmhs-informationlabel-exclusive ID ::=
+ {id-informationlabel 6}
+
+-- This value is deprecated.
+-- Military Defined Notification Extension
+id-nato-mmhs-nat-acp127-notification-response ID ::=
+ {id-nat 0}
+
+-- Military Message content types (for use by MS only)
+id-mct-p772 ID ::=
+ {id-mcont 1}
+
+END -- of MMHSObjectIdentifiers
+
diff --git a/epan/dissectors/asn1/p772/MMSOtherNotificationTypeExtensions.asn b/epan/dissectors/asn1/p772/MMSOtherNotificationTypeExtensions.asn
new file mode 100644
index 00000000..4aa53b18
--- /dev/null
+++ b/epan/dissectors/asn1/p772/MMSOtherNotificationTypeExtensions.asn
@@ -0,0 +1,56 @@
+MMSOtherNotificationTypeExtensions {iso(1) identified-organization(3)
+ nato(26) stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ other-notification-type-extensions(12)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ IPMS-EXTENSION, ReceiptTimeField
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS upper bounds
+ ub-military-bigstring
+ --=
+ FROM MMSUpperBounds {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) upper-bounds(0)}
+ -- MMS object identifiers
+ id-nato-mmhs-mm-acp127-notification-response
+ --=
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)}
+ -- MMS heading extensions
+ AddressListDesignator
+ --=
+ FROM MMSHeadingExtensions {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ heading-extensions(6)}
+ -- MMS per recipient specifier extensions
+ Acp127NotificationType
+ --=
+ FROM MMSPerRecipientSpecifierExtensions {iso(1) identified-organization(3)
+ nato(26) stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ per-recipient-specifier-extensions(11)};
+
+--ACP127 notification response
+--acp127-notification-response IPMS-EXTENSION ::= {
+-- VALUE Acp127NotificationResponse
+-- IDENTIFIED BY id-nato-mmhs-mm-acp127-notification-response}
+
+Acp127NotificationResponse ::= SET {
+ acp127-notification-type [0] Acp127NotificationType,
+ receipt-time [1] ReceiptTimeField,
+ addressListIndicator [2] AddressListIndicator OPTIONAL,
+ acp127-recipient [3] Acp127Recipient OPTIONAL,
+ acp127-supp-info [4] Acp127SuppInfo OPTIONAL}
+
+AddressListIndicator ::= SEQUENCE OF AddressListDesignator
+
+Acp127Recipient ::= PrintableString(SIZE (1..ub-military-bigstring))
+
+Acp127SuppInfo ::= PrintableString(SIZE (1..ub-military-bigstring))
+
+END -- of MMS OtherNotificationType extensions
+
diff --git a/epan/dissectors/asn1/p772/MMSPerRecipientSpecifierExtensions.asn b/epan/dissectors/asn1/p772/MMSPerRecipientSpecifierExtensions.asn
new file mode 100644
index 00000000..b7d001a8
--- /dev/null
+++ b/epan/dissectors/asn1/p772/MMSPerRecipientSpecifierExtensions.asn
@@ -0,0 +1,34 @@
+MMSPerRecipientSpecifierExtensions {iso(1) identified-organization(3)
+ nato(26) stanags(0) mmhs(4406) object-identifiers(0) module(0)
+ per-recipient-specifier-extensions(11)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS
+ -- IPMS information objects
+ IPMS-EXTENSION
+ --=
+ FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
+ modules(0) information-objects(2)}
+ -- MMS object identifiers
+ id-nato-mmhs-mm-acp127-notification-request
+ --=
+ FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
+ stanags(0) mmhs(4406) object-identifiers(0)};
+
+-- ACP127 notification request
+-- The following definitions are made in order to support
+-- informing the originator of a message that the subject message
+-- has reached a gateway to an ACP 127 domain.
+--acp127-notification-request IPMS-EXTENSION ::= {
+-- VALUE Acp127NotificationType
+-- IDENTIFIED BY id-nato-mmhs-mm-acp127-notification-request}
+
+Acp127NotificationType ::= BIT STRING {
+ acp127-nn(0), -- negative notification
+ acp127-pn(1), -- positive notification
+ acp127-tn(2)} -- transfer notification
+
+END -- of MMS per recipient pecifier extensions
+
diff --git a/epan/dissectors/asn1/p772/MMSUpperBounds.asn b/epan/dissectors/asn1/p772/MMSUpperBounds.asn
new file mode 100644
index 00000000..6095f926
--- /dev/null
+++ b/epan/dissectors/asn1/p772/MMSUpperBounds.asn
@@ -0,0 +1,25 @@
+MMSUpperBounds {iso(1) identified-organization(3) nato(26) stanags(0)
+ mmhs(4406) object-identifiers(0) module(0) upper-bounds(0)} DEFINITIONS
+IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports Everything
+IMPORTS -- nothing -- ;
+
+-- Upper Bounds
+ub-military-string INTEGER ::= 69
+
+ub-military-number-of-sics INTEGER ::= 8
+
+lb-military-sic INTEGER ::= 3
+
+ub-military-sic INTEGER ::= 8
+
+ub-military-bigstring INTEGER ::= 128
+
+ub-data-size INTEGER ::= 65535
+
+-- size of ACP127DATADATA
+END -- of MMSUpperBounds
+
diff --git a/epan/dissectors/asn1/p772/p772.cnf b/epan/dissectors/asn1/p772/p772.cnf
new file mode 100644
index 00000000..d2da78e3
--- /dev/null
+++ b/epan/dissectors/asn1/p772/p772.cnf
@@ -0,0 +1,117 @@
+# p772.cnf
+# p772 conformation file
+
+#.IMPORT ../p1/p1-exp.cnf
+#.IMPORT ../p22/p22-exp.cnf
+
+#.OMIT_ASSIGNMENT
+ID
+MM
+MN
+MRN
+MNRN
+MON
+OriginateProbeArgument
+OriginateProbeResult
+OriginateMMArgument
+OriginateMMResult
+OriginateMRNArgument
+OriginateMRNResult
+ReceiveReportArgument
+ReceiveMMArgument
+ReceiveMRNArgument
+ReceiveMNRNArgument
+ReceiveMONArgument
+ChangeAutoDiscardArgument
+ChangeAutoAcknowledgementArgument
+ChangeAutoForwardingArgument
+SubscriptionErrorParameter
+SubscriptionProblem
+
+#.NO_EMIT ONLY_VALS
+InformationObject
+
+#.TYPE_RENAME
+AddressListDesignator/type AddressListType
+OtherRecipientDesignator/type OtherRecipientType
+
+#.FIELD_RENAME
+AddressListDesignator/type address_list_type
+MessageType/type message_type_type
+OtherRecipientDesignator/type other_recipient_type
+
+#.PDU
+PrimaryPrecedence
+CopyPrecedence
+MessageType
+#AddressListDesignator
+#ExemptedAddress
+ExtendedAuthorisationInfo
+DistributionCodes
+HandlingInstructions
+MessageInstructions
+CodressMessage
+OriginatorReference
+#OtherRecipientDesignator
+#PilotInformation
+Acp127MessageIdentifier
+OriginatorPlad
+Acp127NotificationType
+SecurityInformationLabels
+
+#.REGISTER
+PrimaryPrecedence B "1.3.26.0.4406.0.2.0" "primary-precedence"
+CopyPrecedence B "1.3.26.0.4406.0.2.1" "copy-precedence"
+MessageType B "1.3.26.0.4406.0.2.2" "message-type"
+AddressListDesignatorSeq B "1.3.26.0.4406.0.2.3" "address-list-indicator"
+ExemptedAddressSeq B "1.3.26.0.4406.0.2.4" "exempted-address"
+ExtendedAuthorisationInfo B "1.3.26.0.4406.0.2.5" "extended-authorisation-info"
+DistributionCodes B "1.3.26.0.4406.0.2.6" "distribution-codes"
+HandlingInstructions B "1.3.26.0.4406.0.2.7" "handling-instructions"
+MessageInstructions B "1.3.26.0.4406.0.2.8" "message-instructions"
+CodressMessage B "1.3.26.0.4406.0.2.9" "codress-message"
+OriginatorReference B "1.3.26.0.4406.0.2.10" "originator-reference"
+OtherRecipientDesignatorSeq B "1.3.26.0.4406.0.2.11" "other-recipients-indicator"
+PilotInformationSeq B "1.3.26.0.4406.0.2.12" "pilot-forwarding-info"
+Acp127MessageIdentifier B "1.3.26.0.4406.0.2.13" "acp127-message-identifier"
+OriginatorPlad B "1.3.26.0.4406.0.2.14" "originator-plad"
+Acp127NotificationType B "1.3.26.0.4406.0.2.15" "acp127-notification-request"
+Acp127NotificationResponse B "1.3.26.0.4406.0.2.16" "acp127-notification-response"
+SecurityInformationLabels B "1.3.26.0.4406.0.2.17" "information-labels"
+
+PriorityLevelQualifier B "1.3.26.0.4406.0.8.0" "priority-level-qualifier"
+
+
+ADatP3Data B id_nato_mmhs_et_adatp3 "adatp3"
+ADatP3Parameters B id_nato_mmhs_et_adatp3_parameters "adatp3-parameters"
+CorrectionsData B id_nato_mmhs_et_corrections "corrections"
+CorrectionsParameters B id_nato_mmhs_et_corrections_parameters "corrections-parameters"
+ForwardedEncryptedData B id_nato_mmhs_et_forwarded_encrypted "forwarded-encrypted"
+ForwardedEncryptedParameters B id_nato_mmhs_et_forwarded_encrypted_parameters "forwarded-encrypted-parameters"
+MMMessageData B id_nato_mmhs_et_mm_message "mm-message"
+MMMessageParameters B id_nato_mmhs_et_mm_message_parameters "mm-message-parameters"
+ACP127DataData B id_nato_mmhs_et_mm_acp127data "acp127-data"
+ACP127DataParameters B id_nato_mmhs_et_mm_acp127data_parameters "acp127-data-parameters"
+
+InformationObject B "2.6.1.4.17.1.3.26.0.4406.0.4.1" "id-et-content-p772"
+
+
+#.FN_BODY DistributionExtensionField/dist-value
+/* XXX: not implemented */
+ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
+
+#.FN_PARS PrimaryPrecedence
+ VAL_PTR=&precedence
+#.FN_BODY PrimaryPrecedence
+ int precedence = -1;
+ %(DEFAULT_BODY)s
+ if(precedence != -1)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (primary=%%s)", val_to_str(precedence, p772_PrimaryPrecedence_vals, "precedence(%%d)"));
+
+#.FN_PARS CopyPrecedence
+ VAL_PTR=&precedence
+#.FN_BODY CopyPrecedence
+ int precedence = -1;
+ %(DEFAULT_BODY)s
+ if(precedence != -1)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (copy=%%s)", val_to_str(precedence, p772_CopyPrecedence_vals, "precedence(%%d)"));
diff --git a/epan/dissectors/asn1/p772/packet-p772-template.c b/epan/dissectors/asn1/p772/packet-p772-template.c
new file mode 100644
index 00000000..4b20d84e
--- /dev/null
+++ b/epan/dissectors/asn1/p772/packet-p772-template.c
@@ -0,0 +1,106 @@
+/* packet-p772.c
+ * Routines for STANAG 4406 (X.400 Military Message Extensions) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+
+#include "packet-x509if.h"
+
+#include "packet-p772.h"
+#include "packet-p1.h"
+#include "packet-p22.h"
+
+#define PNAME "STANAG 4406 Message"
+#define PSNAME "P772"
+#define PFNAME "p772"
+
+void proto_register_p772(void);
+void proto_reg_handoff_p772(void);
+
+
+/* Initialize the protocol and registered fields */
+static int proto_p772 = -1;
+
+#include "packet-p772-val.h"
+
+#include "packet-p772-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_p772 = -1;
+#include "packet-p772-ett.c"
+
+#include "packet-p772-fn.c"
+
+
+/*
+* Dissect STANAG 4406 PDUs inside a PPDU.
+*/
+static int
+dissect_p772(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ int offset = 0;
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, proto_p772, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_p772);
+ }
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "P772");
+ col_set_str(pinfo->cinfo, COL_INFO, "Military");
+
+ dissect_p772_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1);
+ return tvb_captured_length(tvb);
+}
+
+
+
+/*--- proto_register_p772 -------------------------------------------*/
+void proto_register_p772(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+#include "packet-p772-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_p772,
+#include "packet-p772-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_p772 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("p772", dissect_p772, proto_p772);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_p772, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ register_ber_syntax_dissector("STANAG 4406", proto_p772, dissect_p772);
+ register_ber_oid_syntax(".p772", NULL, "STANAG 4406");
+}
+
+
+/*--- proto_reg_handoff_p772 --- */
+void proto_reg_handoff_p772(void) {
+#include "packet-p772-dis-tab.c"
+
+ register_ber_oid_dissector("1.3.26.0.4406.0.4.1", dissect_p772, proto_p772, "STANAG 4406");
+}
diff --git a/epan/dissectors/asn1/p772/packet-p772-template.h b/epan/dissectors/asn1/p772/packet-p772-template.h
new file mode 100644
index 00000000..b9c09047
--- /dev/null
+++ b/epan/dissectors/asn1/p772/packet-p772-template.h
@@ -0,0 +1,17 @@
+/* packet-p772.h
+ * Routines for STANAG 4406 (X.400 Military Message Extensions) packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_P772_H
+#define PACKET_P772_H
+
+/* #include "packet-p772-exp.h" */
+
+#endif /* PACKET_P772_H */
diff --git a/epan/dissectors/asn1/pcap/CMakeLists.txt b/epan/dissectors/asn1/pcap/CMakeLists.txt
new file mode 100644
index 00000000..9fb9c610
--- /dev/null
+++ b/epan/dissectors/asn1/pcap/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pcap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PCAP-CommonDataTypes.asn
+ PCAP-Constants.asn
+ PCAP-Containers.asn
+ PCAP-IEs.asn
+ PCAP-PDU-Contents.asn
+ PCAP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pcap/PCAP-CommonDataTypes.asn b/epan/dissectors/asn1/pcap/PCAP-CommonDataTypes.asn
new file mode 100644
index 00000000..a8e6d15b
--- /dev/null
+++ b/epan/dissectors/asn1/pcap/PCAP-CommonDataTypes.asn
@@ -0,0 +1,56 @@
+--
+-- 3GPP TS 25.453 V17.0.0 (2022-04)
+--
+--9.3.5 Common Definitions
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+PCAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) pcap(4) version1 (1) pcap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0..65535),
+ global OBJECT IDENTIFIER
+}
+
+
+ProcedureCode ::= INTEGER (0..255)
+
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+TransactionID ::= CHOICE {
+ shortTID INTEGER (0..127),
+ longTID INTEGER (0..32767)
+}
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome, outcome }
+
+END
diff --git a/epan/dissectors/asn1/pcap/PCAP-Constants.asn b/epan/dissectors/asn1/pcap/PCAP-Constants.asn
new file mode 100644
index 00000000..b1537ba4
--- /dev/null
+++ b/epan/dissectors/asn1/pcap/PCAP-Constants.asn
@@ -0,0 +1,244 @@
+--
+-- 3GPP TS 25.453 V17.0.0 (2022-04)
+--
+-- 9.3.6 Constant Definitions
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+PCAP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) pcap(4) version1 (1) pcap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM PCAP-CommonDataTypes;
+
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-PositionCalculation ProcedureCode ::= 1
+id-InformationExchangeInitiation ProcedureCode ::= 2
+id-InformationReporting ProcedureCode ::= 3
+id-InformationExchangeTermination ProcedureCode ::= 4
+id-InformationExchangeFailure ProcedureCode ::= 5
+id-ErrorIndication ProcedureCode ::= 6
+id-privateMessage ProcedureCode ::= 7
+id-PositionParameterModification ProcedureCode ::= 8
+id-PositionInitiation ProcedureCode ::= 9
+id-PositionActivation ProcedureCode ::= 10
+id-Abort ProcedureCode ::= 11
+id-PositionPeriodicReport ProcedureCode ::= 12
+id-PositionPeriodicResult ProcedureCode ::= 13
+id-PositionPeriodicTermination ProcedureCode ::= 14
+
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxNrOfErrors INTEGER ::= 256
+maxSat INTEGER ::= 16
+maxSatAlmanac INTEGER ::= 32
+maxNrOfLevels INTEGER ::= 256
+maxNrOfPoints INTEGER ::= 15
+maxNrOfExpInfo INTEGER ::= 32
+maxNrOfMeasNCell INTEGER ::= 32
+maxNrOfMeasurements INTEGER ::= 16
+maxNrOfSets INTEGER ::= 3
+maxRateMatching INTEGER ::= 256
+maxNrOfTFs INTEGER ::= 32
+maxTTI-count INTEGER ::= 4
+maxTS-1 INTEGER ::= 13
+maxCCTrCH INTEGER ::= 8
+maxTF INTEGER ::= 32
+maxTFC INTEGER ::= 1024
+maxPRACH INTEGER ::= 16
+maxTrCH INTEGER ::= 32
+maxTGPS INTEGER ::= 6
+maxNoOfMeasurements INTEGER ::= 16
+maxCellMeas INTEGER ::= 32
+maxNrOfEDPCCH-PO-QUANTSTEPs INTEGER ::= 8 -- FFS
+maxNrOfRefETFCI-PO-QUANTSTEPs INTEGER ::= 8 -- FFS
+maxNrOfRefETFCIs INTEGER ::= 8
+maxSet INTEGER ::= 9
+maxGANSSSat INTEGER ::= 64
+maxSgnType INTEGER ::= 8
+maxGANSS INTEGER ::= 8
+maxGANSSSet INTEGER ::= 9
+maxGANSSSatAlmanac INTEGER ::= 36
+maxGANSSClockMod INTEGER ::= 4
+maxGANSS-1 INTEGER ::= 7
+maxNrOfIRATMeasurements INTEGER ::= 16
+maxReportedGERANCells INTEGER ::= 6
+maxIonGridInfo INTEGER ::= 320
+maxAddPos INTEGER ::= 8
+maxBeacons INTEGER ::= 64
+maxBTs INTEGER ::= 32
+maxWLANs INTEGER ::= 64
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Cause ProtocolIE-ID ::= 1
+id-CriticalityDiagnostics ProtocolIE-ID ::= 2
+id-GPS-UTRAN-TRU ProtocolIE-ID ::= 3
+id-InformationExchangeID ProtocolIE-ID ::= 4
+id-InformationExchangeObjectType-InfEx-Rprt ProtocolIE-ID ::= 5
+id-InformationExchangeObjectType-InfEx-Rqst ProtocolIE-ID ::= 6
+id-InformationExchangeObjectType-InfEx-Rsp ProtocolIE-ID ::= 7
+id-InformationReportCharacteristics ProtocolIE-ID ::= 8
+id-InformationType ProtocolIE-ID ::= 9
+id-GPS-MeasuredResultsList ProtocolIE-ID ::= 10
+id-MethodType ProtocolIE-ID ::= 11
+id-RefPosition-InfEx-Rqst ProtocolIE-ID ::= 12
+id-RefPosition-InfEx-Rsp ProtocolIE-ID ::= 13
+id-RefPosition-Inf-Rprt ProtocolIE-ID ::= 14
+id-RequestedDataValue ProtocolIE-ID ::= 15
+id-RequestedDataValueInformation ProtocolIE-ID ::= 16
+id-TransactionID ProtocolIE-ID ::= 17
+id-UE-PositionEstimate ProtocolIE-ID ::= 18
+-- WS extension
+id-Unknown-19 ProtocolIE-ID ::= 19
+id-CellId-MeasuredResultsSets ProtocolIE-ID ::= 20
+-- WS extension
+id-Unknown-21 ProtocolIE-ID ::= 21
+id-OTDOA-MeasurementGroup ProtocolIE-ID ::= 22
+id-AccuracyFulfilmentIndicator ProtocolIE-ID ::= 23
+id-HorizontalAccuracyCode ProtocolIE-ID ::= 24
+id-VerticalAccuracyCode ProtocolIE-ID ::= 25
+id-UTDOA-Group ProtocolIE-ID ::= 26
+-- WS extension
+id-Unknown-27 ProtocolIE-ID ::= 27
+id-RequestType ProtocolIE-ID ::= 28
+id-UE-PositioningCapability ProtocolIE-ID ::= 29
+id-UC-id ProtocolIE-ID ::= 30
+id-ResponseTime ProtocolIE-ID ::= 31
+id-PositioningPriority ProtocolIE-ID ::= 32
+id-ClientType ProtocolIE-ID ::= 33
+id-PositioningMethod ProtocolIE-ID ::= 34
+id-UTDOAPositioning ProtocolIE-ID ::= 35
+id-GPSPositioning ProtocolIE-ID ::= 36
+id-OTDOAAssistanceData ProtocolIE-ID ::= 37
+id-Positioning-ResponseTime ProtocolIE-ID ::= 38
+id-EnvironmentCharacterisation ProtocolIE-ID ::= 39
+id-PositionData ProtocolIE-ID ::= 40
+id-IncludeVelocity ProtocolIE-ID ::= 41
+id-VelocityEstimate ProtocolIE-ID ::= 42
+id-rxTimingDeviation768Info ProtocolIE-ID ::= 43
+id-UC-ID-InfEx-Rqst ProtocolIE-ID ::= 44
+id-UE-PositionEstimateInfo ProtocolIE-ID ::= 45
+id-UTRAN-GPSReferenceTime ProtocolIE-ID ::= 46
+id-UTRAN-GPSReferenceTimeResult ProtocolIE-ID ::= 47
+id-UTRAN-GPS-DriftRate ProtocolIE-ID ::= 48
+id-OTDOA-AddMeasuredResultsInfo ProtocolIE-ID ::= 49
+id-GPS-ReferenceLocation ProtocolIE-ID ::= 50
+id-OTDOA-MeasuredResultsSets ProtocolIE-ID ::= 51
+id-rxTimingDeviation384extInfo ProtocolIE-ID ::= 55
+id-ExtendedRoundTripTime ProtocolIE-ID ::= 56
+id-PeriodicPosCalcInfo ProtocolIE-ID ::= 57
+id-PeriodicLocationInfo ProtocolIE-ID ::= 58
+id-AmountOfReporting ProtocolIE-ID ::= 59
+id-MeasInstructionsUsed ProtocolIE-ID ::= 60
+id-RRCstateChange ProtocolIE-ID ::= 61
+id-PeriodicTerminationCause ProtocolIE-ID ::= 62
+id-MeasurementValidity ProtocolIE-ID ::= 63
+id-roundTripTimeInfoWithType1 ProtocolIE-ID ::= 64
+-- WS extension
+id-Unknown-65 ProtocolIE-ID ::= 65
+id-CellIDPositioning ProtocolIE-ID ::= 66
+id-AddMeasurementInfo ProtocolIE-ID ::= 67
+id-Extended-RNC-ID ProtocolIE-ID ::= 68
+id-GANSS-CommonAssistanceData ProtocolIE-ID ::= 69
+id-GANSS-GenericAssistanceDataList ProtocolIE-ID ::= 70
+id-GANSS-MeasuredResultsList ProtocolIE-ID ::= 71
+id-GANSS-UTRAN-TRU ProtocolIE-ID ::= 72
+id-GANSSPositioning ProtocolIE-ID ::= 73
+id-GANSS-PositioningDataSet ProtocolIE-ID ::= 74
+id-GNSS-PositioningMethod ProtocolIE-ID ::= 75
+id-NetworkAssistedGANSSSuport ProtocolIE-ID ::= 76
+id-TUTRANGANSSMeasurementValueInfo ProtocolIE-ID ::= 77
+id-AdditionalGPSAssistDataRequired ProtocolIE-ID ::= 78
+id-AdditionalGanssAssistDataRequired ProtocolIE-ID ::= 79
+id-angleOfArrivalLCR ProtocolIE-ID ::= 80
+id-extendedTimingAdvanceLCR ProtocolIE-ID ::= 81
+id-additionalMeasurementInforLCR ProtocolIE-ID ::= 82
+id-timingAdvanceLCR-R7 ProtocolIE-ID ::= 83
+id-rxTimingDeviationLCR ProtocolIE-ID ::= 84
+id-GPSReferenceTimeUncertainty ProtocolIE-ID ::= 85
+id-GANSS-AddIonoModelReq ProtocolIE-ID ::= 86
+id-GANSS-EarthOrientParaReq ProtocolIE-ID ::= 87
+id-GANSS-Additional-Ionospheric-Model ProtocolIE-ID ::= 88
+id-GANSS-Earth-Orientation-Parameters ProtocolIE-ID ::= 89
+id-GANSS-Additional-Time-Models ProtocolIE-ID ::= 90
+id-GANSS-Additional-Navigation-Models ProtocolIE-ID ::= 91
+id-GANSS-Additional-UTC-Models ProtocolIE-ID ::= 92
+id-GANSS-Auxiliary-Information ProtocolIE-ID ::= 93
+id-GANSS-SBAS-ID ProtocolIE-ID ::= 94
+id-GANSS-SBAS-IDs ProtocolIE-ID ::= 95
+id-GANSS-Signal-IDs ProtocolIE-ID ::= 96
+id-supportGANSSNonNativeADchoices ProtocolIE-ID ::= 97
+id-PositionDataUEbased ProtocolIE-ID ::= 98
+id-ganssCodePhaseAmbiguityExt ProtocolIE-ID ::= 99
+id-ganssIntegerCodePhaseExt ProtocolIE-ID ::= 100
+id-GANSScarrierPhaseRequested ProtocolIE-ID ::= 101
+id-GANSSMultiFreqMeasRequested ProtocolIE-ID ::= 102
+id-ganssReq-AddIonosphericModel ProtocolIE-ID ::= 103
+id-ganssReq-EarthOrientPara ProtocolIE-ID ::= 104
+id-ganssAddNavigationModel-req ProtocolIE-ID ::= 105
+id-ganssAddUTCModel-req ProtocolIE-ID ::= 106
+id-ganssAuxInfo-req ProtocolIE-ID ::= 107
+id-GANSS-AlmanacModelChoice ProtocolIE-ID ::= 108
+id-GANSS-alm-keplerianNAVAlmanac ProtocolIE-ID ::= 109
+id-GANSS-alm-keplerianReducedAlmanac ProtocolIE-ID ::= 110
+id-GANSS-alm-keplerianMidiAlmanac ProtocolIE-ID ::= 111
+id-GANSS-alm-keplerianGLONASS ProtocolIE-ID ::= 112
+id-GANSS-alm-ecefSBASAlmanac ProtocolIE-ID ::= 113
+id-UTRAN-GANSSReferenceTimeResult ProtocolIE-ID ::= 114
+id-GANSS-Reference-Time-Only ProtocolIE-ID ::= 115
+id-GANSS-AddADchoices ProtocolIE-ID ::= 116
+id-OTDOA-ReferenceCellInfo ProtocolIE-ID ::= 117
+id-DGNSS-ValidityPeriod ProtocolIE-ID ::= 118
+id-AzimuthAndElevationLSB ProtocolIE-ID ::= 119
+id-completeAlmanacProvided ProtocolIE-ID ::= 120
+id-GPS-Week-Cycle ProtocolIE-ID ::= 121
+id-GANSS-Day-Cycle ProtocolIE-ID ::= 122
+id-ganss-Delta-T ProtocolIE-ID ::= 123
+id-requestedCellIDGERANMeasurements ProtocolIE-ID ::= 124
+id-CellId-IRATMeasuredResultsSets ProtocolIE-ID ::= 125
+-- WS extension
+id-Unknown-126 ProtocolIE-ID ::= 126
+id-Unknown-127 ProtocolIE-ID ::= 127
+id-IMSI ProtocolIE-ID ::= 128
+id-IMEI ProtocolIE-ID ::= 129
+id-GANSS-alm-keplerianBDSAlmanac ProtocolIE-ID ::= 130
+id-BDS-Ionospheric-Grid-Model ProtocolIE-ID ::= 131
+id-DBDS-Correction-Information ProtocolIE-ID ::= 132
+id-BDSIonosphericGridModel ProtocolIE-ID ::= 133
+id-DBDSCorrection ProtocolIE-ID ::= 134
+id-Confidence ProtocolIE-ID ::= 135
+id-ExtraDopplerInfoExtension ProtocolIE-ID ::= 136
+id-GANSS-Confidence ProtocolIE-ID ::= 137
+id-GANSS-ExtraDopplerExtension ProtocolIE-ID ::= 138
+id-Additional-PositioningDataSet ProtocolIE-ID ::= 139
+id-Additional-PositioningMethod ProtocolIE-ID ::= 140
+id-AddPos-MeasuredResults ProtocolIE-ID ::= 141
+id-AddPosSupport ProtocolIE-ID ::= 142
+
+END
diff --git a/epan/dissectors/asn1/pcap/PCAP-Containers.asn b/epan/dissectors/asn1/pcap/PCAP-Containers.asn
new file mode 100644
index 00000000..f495f8af
--- /dev/null
+++ b/epan/dissectors/asn1/pcap/PCAP-Containers.asn
@@ -0,0 +1,153 @@
+--
+-- 3GPP TS 25.453 V17.0.0 (2022-04)
+--
+-- 9.3.7 Container Definitions
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+PCAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) pcap(4) version1 (1) pcap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID,
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM PCAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+PCAP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+PCAP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+PCAP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {PCAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {PCAP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {PCAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id PCAP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality PCAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value PCAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, PCAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {PCAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {PCAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id PCAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality PCAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue PCAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {PCAP-PRIVATE-IES : IEsSetParam } ::=
+ SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {PCAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id PCAP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality PCAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value PCAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/pcap/PCAP-IEs.asn b/epan/dissectors/asn1/pcap/PCAP-IEs.asn
new file mode 100644
index 00000000..d88e85c4
--- /dev/null
+++ b/epan/dissectors/asn1/pcap/PCAP-IEs.asn
@@ -0,0 +1,5142 @@
+--
+-- 3GPP TS 25.453 V17.0.0 (2022-04
+--
+-- 9.3.4 Information Element Definitions
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+PCAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) pcap(4) version1 (1) pcap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ maxNrOfErrors,
+ maxSat,
+ maxSatAlmanac,
+ maxNrOfLevels,
+ maxNrOfMeasNCell,
+ maxNrOfMeasurements,
+ maxNrOfPoints,
+ maxNrOfExpInfo,
+ maxNrOfSets,
+ maxRateMatching,
+ maxNrOfTFs,
+ maxTTI-count,
+ maxTS-1,
+ maxCCTrCH,
+ maxTF,
+ maxTFC,
+ maxPRACH,
+ maxTrCH,
+ maxTGPS,
+ maxNoOfMeasurements,
+ maxCellMeas,
+ maxNrOfEDPCCH-PO-QUANTSTEPs,
+ maxNrOfRefETFCI-PO-QUANTSTEPs,
+ maxNrOfRefETFCIs,
+ maxSet,
+ maxGANSS,
+ maxGANSSSat,
+ maxGANSSSet,
+ maxSgnType,
+ maxGANSSSatAlmanac,
+ maxGANSSClockMod,
+ maxGANSS-1,
+ maxNrOfIRATMeasurements,
+ maxReportedGERANCells,
+ maxIonGridInfo,
+ maxAddPos,
+ maxBeacons,
+ maxBTs,
+ maxWLANs,
+
+
+ id-UTRAN-GPSReferenceTime,
+ id-UTRAN-GPSReferenceTimeResult,
+ id-GPS-UTRAN-TRU,
+ id-UTRAN-GPS-DriftRate,
+ id-OTDOA-AddMeasuredResultsInfo,
+ id-GPS-ReferenceLocation,
+ id-rxTimingDeviation768Info,
+ id-rxTimingDeviation384extInfo,
+ id-MeasurementValidity,
+ id-ExtendedRoundTripTime,
+ id-roundTripTimeInfoWithType1,
+ id-AddMeasurementInfo,
+ id-Extended-RNC-ID,
+ id-GANSS-CommonAssistanceData,
+ id-GANSS-GenericAssistanceDataList,
+ id-GANSS-PositioningDataSet,
+ id-GNSS-PositioningMethod,
+ id-NetworkAssistedGANSSSuport,
+ id-TUTRANGANSSMeasurementValueInfo,
+ id-angleOfArrivalLCR,
+ id-extendedTimingAdvanceLCR,
+ id-additionalMeasurementInforLCR,
+ id-timingAdvanceLCR-R7,
+ id-rxTimingDeviationLCR,
+ id-GPSReferenceTimeUncertainty,
+ id-GANSS-AddIonoModelReq,
+ id-GANSS-EarthOrientParaReq,
+ id-GANSS-Additional-Ionospheric-Model,
+ id-GANSS-Earth-Orientation-Parameters,
+ id-GANSS-Additional-Time-Models,
+ id-GANSS-Additional-Navigation-Models,
+ id-GANSS-Additional-UTC-Models,
+ id-GANSS-Auxiliary-Information,
+ id-GANSS-SBAS-ID,
+ id-GANSS-SBAS-IDs,
+ id-GANSS-Signal-IDs,
+ id-GANSS-alm-keplerianNAVAlmanac,
+ id-GANSS-alm-keplerianReducedAlmanac,
+ id-GANSS-alm-keplerianMidiAlmanac,
+ id-GANSS-alm-keplerianGLONASS,
+ id-GANSS-alm-ecefSBASAlmanac,
+ id-UTRAN-GANSSReferenceTimeResult,
+ id-GANSS-Reference-Time-Only,
+ id-GANSS-AddADchoices,
+ id-supportGANSSNonNativeADchoices,
+ id-PositionDataUEbased,
+ id-ganssCodePhaseAmbiguityExt,
+ id-ganssIntegerCodePhaseExt,
+ id-GANSScarrierPhaseRequested,
+ id-GANSSMultiFreqMeasRequested,
+ id-ganssReq-AddIonosphericModel,
+ id-ganssReq-EarthOrientPara,
+ id-ganssAddNavigationModel-req,
+ id-ganssAddUTCModel-req,
+ id-ganssAuxInfo-req,
+ id-GANSS-AlmanacModelChoice,
+ id-DGNSS-ValidityPeriod,
+ id-AzimuthAndElevationLSB,
+ id-completeAlmanacProvided,
+ id-GPS-Week-Cycle,
+ id-GANSS-Day-Cycle,
+ id-ganss-Delta-T,
+ id-requestedCellIDGERANMeasurements,
+ id-GANSS-alm-keplerianBDSAlmanac,
+ id-BDS-Ionospheric-Grid-Model,
+ id-DBDS-Correction-Information,
+ id-BDSIonosphericGridModel,
+ id-DBDSCorrection,
+ id-Confidence,
+ id-ExtraDopplerInfoExtension,
+ id-GANSS-Confidence,
+ id-GANSS-ExtraDopplerExtension,
+ id-Additional-PositioningDataSet,
+ id-Additional-PositioningMethod,
+ id-AddPos-MeasuredResults,
+ id-AddPosSupport
+
+
+FROM PCAP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TransactionID,
+ TriggeringMessage
+
+FROM PCAP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Single-Container{},
+ PCAP-PROTOCOL-EXTENSION,
+ PCAP-PROTOCOL-IES
+
+FROM PCAP-Containers;
+
+
+-- **************************************************************
+--
+-- Accuracy Fulfilment Indicator
+--
+-- **************************************************************
+
+AccuracyFulfilmentIndicator ::= ENUMERATED{
+ requested-Accuracy-Fulfilled,
+ requested-Accuracy-Not-Fulfilled,
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Additional Method Type
+--
+-- **************************************************************
+
+AdditionalMethodType ::= ENUMERATED {
+ ue-assisted,
+ ue-based,
+ ue-based-preferred-but-ue-assisted-allowed,
+ ue-assisted-preferred-but-ue-based-allowed,
+ ...
+}
+
+-- **************************************************************
+--
+-- Additional Positioning Measured Results
+--
+-- **************************************************************
+
+AddPos-MeasuredResults ::= SEQUENCE (SIZE (1..maxAddPos)) OF AddPos-MeasuredResults-Element
+
+AddPos-MeasuredResults-Element ::= SEQUENCE {
+ timestamp UTCTime OPTIONAL,
+ type CHOICE {
+ barometricPressure SEQUENCE {
+ uncompensatedBarometricPressure BaroMeasurement,
+ iE-Extensions ProtocolExtensionContainer { { BarometricPressure-ExtIEs } } OPTIONAL,
+ ...
+ },
+ wlan SEQUENCE {
+ wlanMeasurementList WLANMeasurementList,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasurementList-ExtIEs } } OPTIONAL,
+ ...
+ },
+ bt SEQUENCE {
+ btMeasurementList BTMeasurementList,
+ iE-Extensions ProtocolExtensionContainer { { BTMeasurementList-ExtIEs } } OPTIONAL,
+ ...
+ },
+ mbs SEQUENCE {
+ mbsMeasurementList MBSMeasurementList,
+ iE-Extensions ProtocolExtensionContainer { { MBSMeasurementList-ExtIEs } } OPTIONAL,
+ ...
+ },
+ ...
+ },
+ ...
+}
+
+BarometricPressure-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLANMeasurementList-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BTMeasurementList-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSMeasurementList-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLANMeasurementList ::= SEQUENCE (SIZE (1..maxWLANs)) OF WLANMeasurementList-Element
+
+WLANMeasurementList-Element ::= SEQUENCE {
+ wlanBSSID OCTET STRING (SIZE (6)),
+ wlanSSID OCTET STRING (SIZE(1..32)) OPTIONAL,
+ wlanRSSI INTEGER(-127..128) OPTIONAL,
+ wlanRTTvalue INTEGER(0..16777215) OPTIONAL,
+ wlanRTTunits ENUMERATED { microseconds,hundredsofnanoseconds, tensofnanoseconds, nanoseconds, tenthsofnanosecond, ...} OPTIONAL,
+ wlanRTTaccuracy INTEGER(0..255) OPTIONAL,
+ wlanAPChannelFrequency INTEGER(0..256) OPTIONAL,
+ wlanServingFlag BOOLEAN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasurementList-Element-ExtIEs } } OPTIONAL,
+ ...
+}
+
+WLANMeasurementList-Element-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BTMeasurementList ::= SEQUENCE (SIZE (1..maxBTs)) OF BTMeasurementList-Element
+
+BTMeasurementList-Element ::= SEQUENCE {
+ btADDR OCTET STRING (SIZE(6)),
+ btRSSI INTEGER(-127..128) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BTMeasurementList-Element-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BTMeasurementList-Element-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSMeasurementList ::= SEQUENCE (SIZE (1..maxBeacons)) OF MBSMeasurementList-Element
+
+MBSMeasurementList-Element ::= SEQUENCE {
+ transmitterID INTEGER(0..32767),
+ codephase INTEGER(0..2097151),
+ codephaseRMS INTEGER(0..63),
+ iE-Extensions ProtocolExtensionContainer { { MBSMeasurementList-Element-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBSMeasurementList-Element-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BaroMeasurement ::= INTEGER(30000..115000)
+
+-- **************************************************************
+--
+-- Almanac and Satellite Health SIB
+--
+-- **************************************************************
+
+AlmanacAndSatelliteHealthSIB ::= SEQUENCE {
+ gpsAlmanacAndSatelliteHealth GPS-AlmanacAndSatelliteHealth,
+ satMask BIT STRING (SIZE (1..32)),
+ lsbTOW BIT STRING (SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { { AlmanacAndSatelliteHealthSIB-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AlmanacAndSatelliteHealthSIB-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Cause IE
+--
+-- **************************************************************
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+CauseRadioNetwork ::= ENUMERATED {
+ invalid-reference-information,
+ information-temporarily-not-available,
+ information-provision-not-supported-for-the-object,
+ position-calculation-error-invalid-GPS-measured-results,
+ ...,
+ position-calculation-error-invalid-CellID-measured-results,
+ position-calculation-error-invalid-OTDOA-measured-results,
+ position-calculation-error-AGPS-positioning-method-not-supported,
+ position-calculation-error-CellID-positioning-method-not-supported,
+ position-calculation-error-OTDOA-positioning-method-not-supported,
+ initial-UE-position-estimate-missing,
+ position-caclulation-error-invalid-UTDOA-measured-results,
+ position-calculation-error-UTDOA-positioning-method-not-supported,
+ position-calculation-error-UTDOA-not-supported-UTRAN-cell,
+ positioning-method-not-supported,
+ loss-of-contact-with-UE,
+ sAS-unable-to-perform-UTDOA-positioning-within-response-time,
+ location-measurement-failure,
+ ue-positioning-error-Not-enough-OTDOA-cells,
+ ue-positioning-error-Not-enough-GPS-Satellites,
+ ue-positioning-error-Reference-Cell-not-serving-cell,
+ ue-positioning-error-Not-Accomplished-GPS-Timing-of-Cell-Frames,
+ ue-positioning-error-Undefined-Error,
+ position-calculation-error-invalid-Galileo-measured-results,
+ position-calculation-error-AGalileo-positioning-method-not-supported,
+ ue-positioning-error-Not-enough-Galileo-Satellites,
+ ue-positioning-error-Not-Accomplished-Galileo-Timing-of-Cell-Frames,
+ ue-positioning-error-Assistance-Data-missing,
+ position-calculation-error-invalid-GLONASS-measured-results,
+ position-calculation-error-invalid-GANSS-measured-results,
+ position-calculation-error-AGANSS-positioning-method-not-supported,
+ ue-positioning-error-Not-enough-GANSS-Satellites,
+ ue-positioning-error-Not-Accomplished-GANSS-Timing-of-Cell-Frames,
+ position-calculation-error-invalid-BDS-measured-results,
+ ue-Positioning-Error-Not-enough-BDS-Satellites,
+ position-calculation-error-A-BDS-positioning-method-not-supported
+}
+
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ unspecified,
+ abstract-syntax-error-falsely-constructed-message,
+ ...
+}
+
+
+CauseMisc ::= ENUMERATED {
+ processing-overload,
+ hardware-failure,
+ o-and-m-intervention,
+ unspecified,
+ ...
+}
+
+-- **************************************************************
+--
+-- Cell Id Measured Results Sets
+--
+-- **************************************************************
+
+CellId-MeasuredResultsSets ::= SEQUENCE (SIZE (1..maxNrOfMeasurements)) OF
+ CellId-MeasuredResultsInfoList
+
+CellId-MeasuredResultsInfoList ::= SEQUENCE (SIZE (1..maxNrOfMeasNCell)) OF
+ CellId-MeasuredResultsInfo
+
+CellId-MeasuredResultsInfo ::= SEQUENCE {
+ uC-ID UC-ID,
+ uTRANAccessPointPositionAltitude UTRANAccessPointPositionAltitude,
+ ue-PositionEstimate UE-PositionEstimate OPTIONAL,
+ roundTripTimeInfo RoundTripTimeInfo OPTIONAL, -- FDD only
+ rxTimingDeviationInfo RxTimingDeviationInfo OPTIONAL, -- 3.84Mcps TDD only
+ rxTimingDeviationLCRInfo RxTimingDeviationLCRInfo OPTIONAL, -- 1.28Mcps TDD only
+ pathloss Pathloss OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellId-MeasuredResultsInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CellId-MeasuredResultsInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-rxTimingDeviation768Info CRITICALITY reject EXTENSION RxTimingDeviation768Info PRESENCE optional }| -- 7.68Mcps TDD only
+ { ID id-rxTimingDeviation384extInfo CRITICALITY reject EXTENSION RxTimingDeviation384extInfo PRESENCE optional }| -- 3.84Mcps TDD only
+ { ID id-roundTripTimeInfoWithType1 CRITICALITY ignore EXTENSION RoundTripTimeInfoWithType1 PRESENCE optional }| -- FDD only
+ { ID id-AddMeasurementInfo CRITICALITY ignore EXTENSION AddMeasurementInfo PRESENCE optional }|
+ { ID id-angleOfArrivalLCR CRITICALITY ignore EXTENSION AngleOfArrivalLCR PRESENCE optional },
+ ...
+}
+
+RoundTripTimeInfo ::= SEQUENCE {
+ ue-RxTxTimeDifferenceType2 UE-RxTxTimeDifferenceType2,
+ ue-PositioningMeasQuality UE-PositioningMeasQuality,
+ roundTripTime RoundTripTime,
+ iE-Extensions ProtocolExtensionContainer { { RoundTripTimeInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RoundTripTimeInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedRoundTripTime CRITICALITY ignore EXTENSION ExtendedRoundTripTime PRESENCE optional }, -- FDD only
+ ...
+}
+
+RoundTripTimeInfoWithType1 ::= SEQUENCE {
+ ue-RxTxTimeDifferenceType1 UE-RxTxTimeDifferenceType1,
+ roundTripTime RoundTripTime,
+ extendedRoundTripTime ExtendedRoundTripTime OPTIONAL, -- FDD only
+ iE-Extensions ProtocolExtensionContainer { { RoundTripTimeInfoWithType1-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RoundTripTimeInfoWithType1-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-RxTxTimeDifferenceType2 ::= INTEGER (0..8191)
+
+UE-RxTxTimeDifferenceType1 ::= INTEGER (768..1280)
+
+UE-PositioningMeasQuality ::= SEQUENCE {
+ stdResolution BIT STRING (SIZE (2)),
+ numberOfMeasurements BIT STRING (SIZE (3)),
+ stdOfMeasurements BIT STRING (SIZE (5)),
+ iE-Extensions ProtocolExtensionContainer { { UE-PositioningMeasQuality-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-PositioningMeasQuality-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RoundTripTime ::= INTEGER (0..32766)
+-- Actual value RoundTripTime = IE value * 0.0625 + 876
+
+ExtendedRoundTripTime ::= INTEGER (32767..103041)
+-- Actual value RoundTripTime = IE value * 0.0625 + 876
+
+UTRANAccessPointPositionAltitude ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ ga-AltitudeAndDirection GA-AltitudeAndDirection OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UTRANAccessPointPositionAltitude-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UTRANAccessPointPositionAltitude-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RxTimingDeviationInfo ::= SEQUENCE {
+ rxTimingDeviation RxTimingDeviation,
+ timingAdvance TimingAdvance,
+ iE-Extensions ProtocolExtensionContainer { { RxTimingDeviationInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RxTimingDeviationInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RxTimingDeviationLCRInfo ::= SEQUENCE {
+ rxTimingDeviationLCR RxTimingDeviationLCR,
+ timingAdvanceLCR TimingAdvanceLCR,
+ -- The content of this IE shall be ignored if the id-extendedTimingAdvanceLCR IE is present.
+ iE-Extensions ProtocolExtensionContainer { { RxTimingDeviationLCRInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RxTimingDeviationLCRInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+{ ID id-extendedTimingAdvanceLCR CRITICALITY ignore EXTENSION ExtendedTimingAdvanceLCR PRESENCE optional }, -- 1.28Mcps TDD only
+ ...
+}
+
+ExtendedTimingAdvanceLCR ::= INTEGER (2048..8191)
+
+RxTimingDeviation768Info ::= SEQUENCE {
+ rxTimingDeviation768 RxTimingDeviation768,
+ timingAdvance768 TimingAdvance768,
+ iE-Extensions ProtocolExtensionContainer { { RxTimingDeviation768Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RxTimingDeviation768Info-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RxTimingDeviation384extInfo ::= SEQUENCE {
+ rxTimingDeviation384ext RxTimingDeviation384ext,
+ timingAdvance384ext TimingAdvance384ext,
+ iE-Extensions ProtocolExtensionContainer { { RxTimingDeviation384extInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RxTimingDeviation384extInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AddMeasurementInfo ::= SEQUENCE {
+ cpich-RSCP CPICH-RSCP OPTIONAL,
+ cpich-EcNo CPICH-EcNo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AddMeasurementInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AddMeasurementInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AngleOfArrivalLCR ::= SEQUENCE {
+ aOA-LCR AOA-LCR,
+ aOA-LCR-Accuracy-Class AOA-LCR-Accuracy-Class,
+ iE-Extensions ProtocolExtensionContainer { { AngleOfArrivalLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AngleOfArrivalLCR-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RxTimingDeviation ::= INTEGER (0..8191)
+
+RxTimingDeviationLCR ::= INTEGER (0..511)
+
+RxTimingDeviation768 ::= INTEGER (0..65535)
+
+RxTimingDeviation384ext ::= INTEGER (0..32767)
+
+TimingAdvance ::= INTEGER (0..63)
+
+TimingAdvanceLCR ::= INTEGER (0..2047)
+
+TimingAdvance768 ::= INTEGER (0..511)
+
+TimingAdvance384ext ::= INTEGER (0..255)
+
+Pathloss ::= INTEGER (46..158)
+-- Unit: dB; as defined in the Cell measured results IE of TS 25.331 [4]
+
+CPICH-EcNo ::= INTEGER (0..49)
+-- According to CPICH_Ec/No in TS 25.133 [13]
+
+CPICH-RSCP ::= INTEGER (-5..91)
+-- According to CPICH_RSCP in TS 25.133 [13]
+
+AOA-LCR ::= INTEGER (0..719)-- According to mapping in TS 25.123 [14]
+
+AOA-LCR-Accuracy-Class ::= ENUMERATED {
+ a,b,c,d,e,f,g,h, ...}
+
+-- **************************************************************
+--
+-- Cell Id IRAT Measured Results Sets
+--
+-- **************************************************************
+
+CellId-IRATMeasuredResultsSets ::= SEQUENCE (SIZE (1..maxNrOfIRATMeasurements)) OF
+ CellId-IRATMeasuredResultsInfoList
+
+CellId-IRATMeasuredResultsInfoList ::= SEQUENCE {
+ gERAN-MeasuredResultsInfoList GERAN-MeasuredResultsInfoList OPTIONAL,
+ iE-Extenstions ProtocolExtensionContainer { { CellId-IRATMeasuredResultsInfoListExtIEs }} OPTIONAL,
+ ...
+}
+
+CellId-IRATMeasuredResultsInfoListExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GERAN-MeasuredResultsInfoList ::= SEQUENCE (SIZE (1..maxReportedGERANCells)) OF
+ GERAN-MeasuredResultsInfo
+
+GERAN-MeasuredResultsInfo ::= SEQUENCE {
+ gERANCellID GERANCellGlobalID OPTIONAL,
+ gERANPhysicalCellID GERANPhysicalCellID,
+ gSM-RSSI GSM-RSSI,
+ iE-Extenstions ProtocolExtensionContainer { { GERAN-MeasuredResultsInfo-ExtIEs }} OPTIONAL,
+ ...
+}
+
+GERAN-MeasuredResultsInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GERANCellGlobalID ::= SEQUENCE {
+ plmn-Identity PLMN-Identity, --As defined in TS 23.003
+ locationAreaCode BIT STRING (SIZE (16)),
+ cellIdentity BIT STRING (SIZE (16)),
+ iE-Extenstions ProtocolExtensionContainer { { GERANCellGlobalID-ExtIEs }} OPTIONAL,
+ ...
+}
+
+GERANCellGlobalID-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PLMN-Identity ::= OCTET STRING (SIZE (3))
+
+
+GSM-RSSI ::= INTEGER (0..63)
+
+GERANPhysicalCellID ::= SEQUENCE {
+ bsic GSM-BSIC,
+ arfcn GSM-BCCH-ARFCN
+}
+
+GSM-BSIC ::= SEQUENCE {
+ networkColourCode BIT STRING (SIZE (3)),
+ baseStationColourCode BIT STRING (SIZE (3))
+}
+
+GSM-BCCH-ARFCN ::= INTEGER (0..1023)
+
+-- **************************************************************
+--
+-- Cell-ID Positioning (Position Activation Request Message)
+--
+-- **************************************************************
+
+CellIDPositioning ::= SEQUENCE {
+ requestedCellIDMeasurements RequestedCellIDMeasurements,
+ iE-Extensions ProtocolExtensionContainer { { CellIDPositioning-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CellIDPositioning-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-requestedCellIDGERANMeasurements CRITICALITY reject EXTENSION RequestedCellIDGERANMeasurements PRESENCE optional },
+ ...
+}
+
+RequestedCellIDMeasurements ::= CHOICE {
+ fdd SEQUENCE {
+ roundTripTimeInfoWanted BOOLEAN,
+ pathlossWanted BOOLEAN,
+ roundTripTimeInfoWithType1Wanted BOOLEAN,
+ cpichRSCPWanted BOOLEAN,
+ cpicEcNoWanted BOOLEAN,
+ iE-Extensions ProtocolExtensionContainer { { RequestedCellIDMeasurementsFDD-ExtIEs } } OPTIONAL,
+ ...
+ },
+ tdd SEQUENCE {
+ rxTimingDeviationInfoWanted BOOLEAN,
+ pathlossWanted BOOLEAN,
+ rxTimingDeviationLCRInfoWanted BOOLEAN,
+ rxTimingDeviation768InfoWanted BOOLEAN,
+ rxTimingDeviation384extInfoWanted BOOLEAN,
+ angleOfArrivalLCRWanted BOOLEAN,
+ timingAdvanceLCRWanted BOOLEAN,
+ iE-Extensions ProtocolExtensionContainer { { RequestedCellIDMeasurementsTDD-ExtIEs } } OPTIONAL,
+ ...
+ },
+ ...
+}
+
+RequestedCellIDMeasurementsFDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedCellIDMeasurementsTDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedCellIDGERANMeasurements ::= SEQUENCE {
+ rSSIMeasurementsWanted BOOLEAN,
+ iE-Extensions ProtocolExtensionContainer { { RequestedCellIDGERANMeasurements-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestedCellIDGERANMeasurements-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Client Type
+--
+-- **************************************************************
+
+ClientType ::= ENUMERATED {
+ emergency-services,
+ value-added-services,
+ plmn-operator-services,
+ lawful-intercept-services,
+ plmn-operator-broadcast-services,
+ plmn-operator-oam,
+ plmn-operator-anonymous-statistics,
+ plmn-operator-target-ms-service-support,
+ ...
+}
+
+-- **************************************************************
+--
+-- CriticalityDiagnostics
+--
+-- **************************************************************
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ transactionID TransactionID OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ repetitionNumber CriticalityDiagnosticsRepetition OPTIONAL,
+ messageStructure MessageStructure OPTIONAL,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CriticalityDiagnostics-IE-List-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnosticsRepetition ::= INTEGER (0..255)
+
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+-- **************************************************************
+--
+-- DGPSCorrections
+--
+-- **************************************************************
+
+
+DGPSCorrections ::= SEQUENCE {
+ gps-TOW-sec INTEGER (0..604799),
+ statusHealth DiffCorrectionStatus,
+ dgps-CorrectionSatInfoList DGPS-CorrectionSatInfoList OPTIONAL,
+ -- not included if satelliteHealth is equal to noData or invalidData
+ iE-Extensions ProtocolExtensionContainer { { DGPSCorrections-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGPSCorrections-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DiffCorrectionStatus ::= ENUMERATED {
+ udre-1-0, udre-0-75, udre-0-5, udre-0-3,
+ udre-0-2, udre-0-1, noData, invalidData }
+
+DGPS-CorrectionSatInfoList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ DGPS-CorrectionSatInfo
+
+DGPS-CorrectionSatInfo ::= SEQUENCE {
+ satID INTEGER (0..63),
+ iode INTEGER (0..255),
+ udre UDRE,
+ prc PRC,
+ rrc RRC,
+ iE-Extensions ProtocolExtensionContainer { { DGPS-CorrectionSatInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGPS-CorrectionSatInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-DGNSS-ValidityPeriod CRITICALITY ignore EXTENSION DGNSS-ValidityPeriod PRESENCE optional},
+ ...
+}
+
+DGNSS-ValidityPeriod ::= SEQUENCE {
+ udreGrowthRate UDREGrowthRate,
+ udreValidityTime UDREValidityTime,
+ iE-Extensions ProtocolExtensionContainer { { DGNSS-ValidityPeriod-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGNSS-ValidityPeriod-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UDRE ::= ENUMERATED {
+ lessThan1,
+ between1-and-4,
+ between4-and-8,
+ over8 }
+
+UDREGrowthRate ::= ENUMERATED {
+ growth-1-point-5,
+ growth-2,
+ growth-4,
+ growth-6,
+ growth-8,
+ growth-10,
+ growth-12,
+ growth-16 }
+
+UDREValidityTime ::= ENUMERATED {
+ val-20sec,
+ val-40sec,
+ val-80sec,
+ val-160sec,
+ val-320sec,
+ val-640sec,
+ val-1280sec,
+ val-2560sec }
+
+PRC ::= INTEGER (-2047..2047)
+
+RRC ::= INTEGER (-127..127)
+
+-- **************************************************************
+--
+-- IMEI, IMSI
+--
+-- **************************************************************
+
+-- IMEI
+
+IMEI ::= OCTET STRING (SIZE (8))
+
+-- IMSI
+
+IMSI ::= OCTET STRING (SIZE (3..8))
+
+
+-- **************************************************************
+--
+-- UE-PositionEstimate (i.e., Geographical Area)
+--
+-- **************************************************************
+
+-- UE-PositionEstimate is based on Geographical Area Description in 23.032
+
+UE-PositionEstimate ::= CHOICE {
+ point GA-Point,
+ pointWithUnCertainty GA-PointWithUnCertainty,
+ polygon GA-Polygon,
+ pointWithUncertaintyEllipse GA-PointWithUnCertaintyEllipse,
+ pointWithAltitude GA-PointWithAltitude,
+ pointWithAltitudeAndUncertaintyEllipsoid GA-PointWithAltitudeAndUncertaintyEllipsoid,
+ ellipsoidArc GA-EllipsoidArc,
+ ...
+}
+
+GeographicalCoordinates ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeographicalCoordinates-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-AltitudeAndDirection ::= SEQUENCE {
+ directionOfAltitude ENUMERATED {height, depth},
+ altitude INTEGER (0..32767),
+ ...
+}
+
+GA-EllipsoidArc ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ innerRadius INTEGER (0..65535),
+ uncertaintyRadius INTEGER (0..127),
+ offsetAngle INTEGER (0..179),
+ includedAngle INTEGER (0..179),
+ confidence INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { GA-EllipsoidArc-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-EllipsoidArc-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-Point ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-Point-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithAltitude ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ altitudeAndDirection GA-AltitudeAndDirection,
+ iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitude-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithAltitude-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ altitudeAndDirection GA-AltitudeAndDirection,
+ uncertaintyEllipse GA-UncertaintyEllipse,
+ uncertaintyAltitude INTEGER (0..127),
+ confidence INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithUnCertainty ::=SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ uncertaintyCode INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL,
+ ...}
+
+GA-PointWithUnCertainty-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithUnCertaintyEllipse ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ uncertaintyEllipse GA-UncertaintyEllipse,
+ confidence INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { GA-PointWithUnCertaintyEllipse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithUnCertaintyEllipse-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
+ SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+GA-Polygon-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-UncertaintyEllipse ::= SEQUENCE {
+ uncertaintySemi-major INTEGER (0..127),
+ uncertaintySemi-minor INTEGER (0..127),
+ orientationOfMajorAxis INTEGER (0..89),
+ ...
+}
+
+-- **************************************************************
+--
+-- UE-PositionEstimateInfo
+--
+-- **************************************************************
+
+UE-PositionEstimateInfo ::= SEQUENCE {
+ referenceTimeChoice ReferenceTimeChoice,
+ ue-positionEstimate UE-PositionEstimate,
+ iE-Extensions ProtocolExtensionContainer { { UE-PositionEstimateInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-PositionEstimateInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GPSReferenceTimeUncertainty CRITICALITY ignore EXTENSION GPSReferenceTimeUncertainty PRESENCE optional}|
+ {ID id-PositionDataUEbased CRITICALITY ignore EXTENSION PositionDataUEbased PRESENCE optional},
+ ...
+}
+
+ReferenceTimeChoice ::= CHOICE {
+ utran-GPSReferenceTimeResult UTRAN-GPSReferenceTimeResult,
+ gps-ReferenceTimeOnly INTEGER (0..604799999, ...),
+ cell-Timing Cell-Timing,
+ ... ,
+ extension-ReferenceTimeChoice Extension-ReferenceTimeChoice
+}
+
+Extension-ReferenceTimeChoice ::= ProtocolIE-Single-Container {{ Extension-ReferenceTimeChoice-IE }}
+
+Extension-ReferenceTimeChoice-IE PCAP-PROTOCOL-IES ::= {
+ { ID id-UTRAN-GANSSReferenceTimeResult CRITICALITY ignore TYPE UTRAN-GANSSReferenceTimeResult PRESENCE mandatory}|
+ { ID id-GANSS-Reference-Time-Only CRITICALITY ignore TYPE GANSS-Reference-Time-Only PRESENCE mandatory}
+
+}
+
+
+Cell-Timing ::= SEQUENCE {
+ sfn INTEGER (0..4095),
+ uC-ID UC-ID,
+ iE-Extensions ProtocolExtensionContainer { { Cell-Timing-ExtIEs } } OPTIONAL,
+ ...
+ }
+
+Cell-Timing-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Reference-Time-Only ::= SEQUENCE {
+ ganssTODmsec INTEGER (0..3599999),
+ ganssTimeID GANSSID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-Reference-Time-Only-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Reference-Time-Only-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PositionDataUEbased ::= SEQUENCE {
+ positionData BIT STRING (SIZE(16)),
+ iE-Extensions ProtocolExtensionContainer { { PositionDataUEbased-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PositionDataUEbased-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************
+--
+-- Position Data
+--
+-- **************************************************
+
+PositionData ::= SEQUENCE {
+ positioningDataDiscriminator PositioningDataDiscriminator,
+ positioningDataSet PositioningDataSet OPTIONAL,
+-- This IE shall be present if the PositioningDataDiscriminator IE is set to the value "0000" --
+ iE-Extensions ProtocolExtensionContainer { {PositionData-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PositionData-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-PositioningDataSet CRITICALITY ignore EXTENSION GANSS-PositioningDataSet PRESENCE optional}|
+ { ID id-Additional-PositioningDataSet CRITICALITY ignore EXTENSION Additional-PositioningDataSet PRESENCE optional},
+ ...
+}
+
+GANSS-PositioningDataSet ::= SEQUENCE(SIZE(1..maxGANSSSet)) OF GANSS-PositioningMethodAndUsage
+
+GANSS-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+PositioningDataDiscriminator ::= BIT STRING (SIZE(4))
+
+PositioningDataSet ::= SEQUENCE(SIZE(1..maxSet)) OF PositioningMethodAndUsage
+
+PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+Additional-PositioningDataSet ::= SEQUENCE(SIZE(1..maxAddPos)) OF Additional-PositioningMethodAndUsage
+
+Additional-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+
+-- **************************************************************
+--
+-- GPS-AcquisitionAssistance:
+--
+-- **************************************************************
+
+
+GPS-AcquisitionAssistance ::= SEQUENCE {
+ gps-TOW-1msec INTEGER (0..604799999),
+ satelliteInformationList AcquisitionSatInfoList,
+ iE-Extensions ProtocolExtensionContainer { { GPS-AcquisitionAssistance-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPS-AcquisitionAssistance-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-UTRAN-GPSReferenceTime CRITICALITY ignore EXTENSION UTRAN-GPSReferenceTime PRESENCE optional}|
+ {ID id-GPSReferenceTimeUncertainty CRITICALITY ignore EXTENSION GPSReferenceTimeUncertainty PRESENCE optional}|
+ {ID id-Confidence CRITICALITY ignore EXTENSION Confidence PRESENCE optional},
+ ...
+}
+
+AcquisitionSatInfoList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ AcquisitionSatInfo
+
+AcquisitionSatInfo ::= SEQUENCE {
+ satID INTEGER (0..63),
+ doppler0thOrder INTEGER (-2048..2047),
+ extraDopplerInfo ExtraDopplerInfo OPTIONAL,
+ codePhase INTEGER (0..1022),
+ integerCodePhase INTEGER (0..19),
+ gps-BitNumber INTEGER (0..3),
+ codePhaseSearchWindow CodePhaseSearchWindow,
+ azimuthAndElevation AzimuthAndElevation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AcquisitionSatInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AcquisitionSatInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ExtraDopplerInfoExtension CRITICALITY ignore EXTENSION ExtraDopplerInfoExtension PRESENCE optional},
+ ...
+}
+
+ExtraDopplerInfo ::= SEQUENCE {
+ doppler1stOrder INTEGER (-42..21),
+ dopplerUncertainty DopplerUncertainty,
+ iE-Extensions ProtocolExtensionContainer { { ExtraDopplerInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ExtraDopplerInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExtraDopplerInfoExtension ::= SEQUENCE {
+ doppler1stOrder INTEGER (-42..21),
+ dopplerUncertaintyExtension DopplerUncertaintyExtension,
+ iE-Extensions ProtocolExtensionContainer { { ExtraDopplerInfoExtension-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ExtraDopplerInfoExtension-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DopplerUncertainty ::= ENUMERATED {
+ hz12-5, hz25, hz50, hz100, hz200, ...}
+
+DopplerUncertaintyExtension ::= ENUMERATED {
+ hz300, hz400, hz500, hz600, noInformation, ...}
+
+CodePhaseSearchWindow ::= ENUMERATED {
+ w1023, w1, w2, w3, w4, w6, w8,
+ w12, w16, w24, w32, w48, w64,
+ w96, w128, w192 }
+
+AzimuthAndElevation ::= SEQUENCE {
+ azimuth INTEGER (0..31),
+ elevation INTEGER (0..7),
+ iE-Extensions ProtocolExtensionContainer { { AzimuthAndElevation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AzimuthAndElevation-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-AzimuthAndElevationLSB CRITICALITY ignore EXTENSION AzimuthAndElevationLSB PRESENCE optional},
+ ...
+}
+
+AzimuthAndElevationLSB ::= SEQUENCE {
+ azimuthLSB INTEGER (0..15),
+ elevationLSB INTEGER (0..15),
+ iE-Extensions ProtocolExtensionContainer { { AzimuthAndElevationLSB-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AzimuthAndElevationLSB-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Confidence ::= INTEGER(0..100)
+
+-- **************************************************************
+--
+-- GANSS Elements
+--
+-- **************************************************************
+
+AuxInfoGANSS-ID1 ::= SEQUENCE (SIZE(1.. maxGANSSSat)) OF AuxInfoGANSS-ID1-element
+
+AuxInfoGANSS-ID1-element ::= SEQUENCE {
+ svID INTEGER(0..63),
+ signalsAvailable BIT STRING (SIZE(8)),
+ ie-Extensions ProtocolExtensionContainer { { AuxInfoGANSS-ID1-element-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AuxInfoGANSS-ID1-element-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AuxInfoGANSS-ID3 ::= SEQUENCE (SIZE(1.. maxGANSSSat)) OF AuxInfoGANSS-ID3-element
+
+AuxInfoGANSS-ID3-element ::= SEQUENCE {
+ svID INTEGER(0..63),
+ signalsAvailable BIT STRING (SIZE(8)),
+ channelNumber INTEGER (-7..13),
+ ie-Extensions ProtocolExtensionContainer { { AuxInfoGANSS-ID3-element-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AuxInfoGANSS-ID3-element-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CNAVclockModel ::= SEQUENCE {
+ cnavToc BIT STRING (SIZE (11)),
+ cnavTop BIT STRING (SIZE (11)),
+ cnavURA0 BIT STRING (SIZE (5)),
+ cnavURA1 BIT STRING (SIZE (3)),
+ cnavURA2 BIT STRING (SIZE (3)),
+ cnavAf2 BIT STRING (SIZE (10)),
+ cnavAf1 BIT STRING (SIZE (20)),
+ cnavAf0 BIT STRING (SIZE (26)),
+ cnavTgd BIT STRING (SIZE (13)),
+ cnavISCl1cp BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl1cd BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl1ca BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl2c BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl5i5 BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl5q5 BIT STRING (SIZE (13)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { CNAVclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CNAVclockModel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DeltaUT1 ::= SEQUENCE {
+ b1 BIT STRING (SIZE(11)),
+ b2 BIT STRING (SIZE(10)),
+ ie-Extensions ProtocolExtensionContainer { { DeltaUT1-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DeltaUT1-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGANSS-Corrections ::= SEQUENCE {
+ dGANSS-ReferenceTime INTEGER(0..119),
+ dGANSS-Information DGANSS-Information,
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-Corrections-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSS-Corrections-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGANSS-Information ::= SEQUENCE (SIZE (1..maxSgnType)) OF DGANSS-InformationItem
+
+DGANSS-InformationItem ::= SEQUENCE {
+ gANSS-SignalId GANSS-SignalID OPTIONAL,
+ gANSS-StatusHealth GANSS-StatusHealth,
+ -- The following IE shall be present if the Status/Health IE value is not equal to "no data" or "invalid data"
+ dGANSS-SignalInformation DGANSS-SignalInformation OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-InformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSS-InformationItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGANSS-SignalInformation ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF DGANSS-SignalInformationItem
+
+DGANSS-SignalInformationItem ::= SEQUENCE {
+ satId INTEGER(0..63),
+ gANSS-iod BIT STRING (SIZE (10)),
+ udre UDRE,
+ ganss-prc INTEGER(-2047..2047),
+ ganss-rrc INTEGER(-127..127),
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-SignalInformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSS-SignalInformationItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-DGNSS-ValidityPeriod CRITICALITY ignore EXTENSION DGNSS-ValidityPeriod PRESENCE optional},
+ ...
+}
+
+GANSS-AddClockModels ::= CHOICE {
+ navClockModel NAVclockModel,
+ cnavClockModel CNAVclockModel,
+ glonassClockModel GLONASSclockModel,
+ sbasClockModel SBASclockModel,
+ ...,
+ bDSClockModel BDSClockModel
+ }
+
+GANSS-AddOrbitModels ::= CHOICE {
+ navKeplerianSet NavModel-NAVKeplerianSet,
+ cnavKeplerianSet NavModel-CNAVKeplerianSet,
+ glonassECEF NavModel-GLONASSecef,
+ sbasECEF NavModel-SBASecef,
+ ...,
+ bDSKeplerianSet NavModel-BDSKeplerianSet
+ }
+
+GANSS-Additional-Ionospheric-Model ::= SEQUENCE {
+ dataID BIT STRING (SIZE(2)),
+ alpha-beta-parameters GPS-Ionospheric-Model,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Additional-Ionospheric-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Additional-Ionospheric-Model-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Additional-Navigation-Models ::= SEQUENCE {
+ non-broadcastIndication ENUMERATED { true } OPTIONAL,
+ ganssSatInfoNavList Ganss-Sat-Info-AddNavList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Additional-Navigation-Models-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Additional-Navigation-Models-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Additional-Time-Models ::= SEQUENCE (SIZE (1..maxGANSS-1)) OF GANSS-Time-Model
+
+GANSS-Additional-UTC-Models ::= CHOICE {
+ utcModel1 UTCmodelSet1,
+ utcModel2 UTCmodelSet2,
+ utcModel3 UTCmodelSet3,
+ ...,
+ utcModel4 UTCmodelSet4
+}
+
+GANSS-ALM-BDSKeplericanset ::= SEQUENCE {
+ satellite-Information-BDS-KP-List Satellite-Information-BDS-KP-List,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-BDSKeplericanset-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-BDSKeplericanset-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Satellite-Information-BDS-KP-List ::= SEQUENCE (SIZE (1..maxGANSSSatAlmanac)) OF Satellite-Information-BDS-KP-Item
+
+Satellite-Information-BDS-KP-Item ::= SEQUENCE {
+ sVID-BDS INTEGER (0..63),
+ tOA-BDS BIT STRING( SIZE(8) ),
+ a21-BDS BIT STRING( SIZE(24) ),
+ e-BDS BIT STRING( SIZE(17) ),
+ omg-lower-BDS BIT STRING( SIZE(24) ),
+ m0-BDS BIT STRING( SIZE(24) ),
+ omg-0-BDS BIT STRING( SIZE(24) ),
+ omg-upper-BDS BIT STRING( SIZE(17) ),
+ delta-i-BDS BIT STRING( SIZE(16) ),
+ a0-BDS BIT STRING( SIZE(11) ),
+ a1-BDS BIT STRING( SIZE(11) ),
+-- The following IE is mandatory present if the sVID-BDS is between 0 and 29 and not needed otherwise.
+ hea-BDS BIT STRING( SIZE(9) ) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { Satellite-Information-BDS-KP-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Satellite-Information-BDS-KP-Item-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-ALM-ECEFsbasAlmanacSet ::= SEQUENCE {
+ sat-info-SBASecefList GANSS-SAT-Info-Almanac-SBASecefList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-ECEFsbasAlmanacSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-ECEFsbasAlmanacSet-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-ALM-GlonassAlmanacSet ::= SEQUENCE {
+ sat-info-GLOkpList GANSS-SAT-Info-Almanac-GLOkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-GlonassAlmanacSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-GlonassAlmanacSet-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-ALM-MidiAlmanacSet ::= SEQUENCE {
+ t-oa INTEGER (0..255),
+ sat-info-MIDIkpList GANSS-SAT-Info-Almanac-MIDIkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-MidiAlmanacSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-MidiAlmanacSet-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-ALM-NAVKeplerianSet ::= SEQUENCE {
+ t-oa INTEGER (0..255),
+ sat-info-NAVkpList GANSS-SAT-Info-Almanac-NAVkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-NAVKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-NAVKeplerianSet-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-ALM-ReducedKeplerianSet ::= SEQUENCE {
+ t-oa INTEGER (0..255),
+ sat-info-REDkpList GANSS-SAT-Info-Almanac-REDkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-ReducedKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-ReducedKeplerianSet-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AlmanacAndSatelliteHealth ::= SEQUENCE {
+ weekNumber INTEGER(0..255),
+ gANSS-AlmanacModel GANSS-AlmanacModel,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-AlmanacAndSatelliteHealth-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-AlmanacAndSatelliteHealth-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-completeAlmanacProvided CRITICALITY ignore EXTENSION CompleteAlmanacProvided PRESENCE optional},
+ ...
+}
+
+GANSS-AlmanacModel ::= CHOICE {
+ gANSS-keplerianParameters GANSS-KeplerianParametersAlm,
+ ...,
+ extension-GANSS-AlmanacModel Extension-GANSS-AlmanacModel
+}
+
+Extension-GANSS-AlmanacModel ::= ProtocolIE-Single-Container {{ Extension-GANSS-AlmanacModel-IE }}
+
+Extension-GANSS-AlmanacModel-IE PCAP-PROTOCOL-IES ::= {
+ { ID id-GANSS-alm-keplerianNAVAlmanac CRITICALITY ignore TYPE GANSS-ALM-NAVKeplerianSet PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianReducedAlmanac CRITICALITY ignore TYPE GANSS-ALM-ReducedKeplerianSet PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianMidiAlmanac CRITICALITY ignore TYPE GANSS-ALM-MidiAlmanacSet PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianGLONASS CRITICALITY ignore TYPE GANSS-ALM-GlonassAlmanacSet PRESENCE mandatory}|
+ { ID id-GANSS-alm-ecefSBASAlmanac CRITICALITY ignore TYPE GANSS-ALM-ECEFsbasAlmanacSet PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianBDSAlmanac CRITICALITY ignore TYPE GANSS-ALM-BDSKeplericanset PRESENCE mandatory}
+}
+
+
+GANSS-Auxiliary-Information ::= CHOICE {
+ ganssID1 AuxInfoGANSS-ID1, -- This choice may only be present if GANSS ID indicates Modernized GPS
+ ganssID3 AuxInfoGANSS-ID3, -- This choice may only be present if GANSS ID indicates GLONASS
+ ...
+}
+
+GANSS-AzimuthAndElevation ::= SEQUENCE {
+ azimuth INTEGER(0..31),
+ -- applicable range of elevation is 0..7. Values 8-75 shall not be used.
+ elevation INTEGER(0..75),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-AzimuthAndElevation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-AzimuthAndElevation-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-AzimuthAndElevationLSB CRITICALITY ignore EXTENSION AzimuthAndElevationLSB PRESENCE optional},
+ ...
+}
+
+GANSS-Clock-Model ::= SEQUENCE (SIZE (1..maxGANSSClockMod)) OF GANSS-SatelliteClockModelItem
+
+GANSS-CommonAssistanceData ::= SEQUENCE {
+ ganss-Reference-Time GANSS-Reference-Time OPTIONAL,
+ ganss-Ionospheric-Model GANSS-Ionospheric-Model OPTIONAL,
+ ganss-Reference-Location GANSS-Reference-Location OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-CommonAssistanceData-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-CommonAssistanceData-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-Additional-Ionospheric-Model CRITICALITY ignore EXTENSION GANSS-Additional-Ionospheric-Model PRESENCE optional }|
+ { ID id-GANSS-Earth-Orientation-Parameters CRITICALITY ignore EXTENSION GANSS-Earth-Orientation-Parameters PRESENCE optional },
+ ...
+}
+
+
+GANSS-Data-Bit-Assistance ::= SEQUENCE {
+ ganssTod INTEGER (0..59,...),
+ dataBitAssistancelist GANSS-DataBitAssistanceList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Data-Bit-Assistance-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-DataBitAssistanceList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF GANSS-DataBitAssistanceItem
+
+GANSS-DataBitAssistanceItem ::= SEQUENCE {
+ satId INTEGER(0..63),
+ dataBitAssistanceSgnList GANSS-DataBitAssistanceSgnList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-DataBitAssistanceItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-DataBitAssistanceItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-DataBitAssistanceSgnList ::= SEQUENCE (SIZE (1..maxSgnType)) OF GANSS-DataBitAssistanceSgnItem
+
+
+GANSS-DataBitAssistanceSgnItem ::= SEQUENCE {
+ ganss-SignalId GANSS-SignalID,
+ ganssDataBits BIT STRING (SIZE (1..1024)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-DataBitAssistanceSgnItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-DataBitAssistanceSgnItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Earth-Orientation-Parameters ::= SEQUENCE {
+ teop BIT STRING (SIZE (16)),
+ pmX BIT STRING (SIZE (21)),
+ pmXdot BIT STRING (SIZE (15)),
+ pmY BIT STRING (SIZE (21)),
+ pmYdot BIT STRING (SIZE (15)),
+ deltaUT1 BIT STRING (SIZE (31)),
+ deltaUT1dot BIT STRING (SIZE (19)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Earth-Orientation-Parameters-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Earth-Orientation-Parameters-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-ExtraDoppler ::= SEQUENCE {
+ dopplerFirstOrder INTEGER(-42..21),
+ dopplerUncertainty ENUMERATED{dH40,dH20,dH10,dH5,dH2-5},
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ExtraDoppler-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ExtraDoppler-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-ExtraDopplerExtension ::= SEQUENCE {
+ dopplerFirstOrder INTEGER(-42..21),
+ dopplerUncertaintyExtension ENUMERATED{dH60,dH80,dH100,dH120,noInformation},
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ExtraDopplerExtension-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ExtraDopplerExtension-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-GenericAssistanceDataList ::= SEQUENCE (SIZE (1..maxGANSS)) OF GANSSGenericAssistanceData
+
+GANSSGenericAssistanceData ::= SEQUENCE{
+ ganssId GANSSID OPTIONAL,
+ ganss-Real-Time-Integrity GANSS-Real-Time-Integrity OPTIONAL,
+ ganss-DataBitAssistance GANSS-Data-Bit-Assistance OPTIONAL,
+ dganss-Corrections DGANSS-Corrections OPTIONAL,
+ ganss-AlmanacAndSatelliteHealth GANSS-AlmanacAndSatelliteHealth OPTIONAL,
+ ganss-ReferenceMeasurementInfo GANSS-ReferenceMeasurementInfo OPTIONAL,
+ ganss-UTC-Model GANSS-UTC-Model OPTIONAL,
+ ganss-Time-Model GANSS-Time-Model OPTIONAL,
+ ganss-Navigation-Model GANSS-Navigation-Model OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSSGenericAssistance-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSSGenericAssistance-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-Additional-Time-Models CRITICALITY ignore EXTENSION GANSS-Additional-Time-Models PRESENCE optional }|
+ { ID id-GANSS-Additional-Navigation-Models CRITICALITY ignore EXTENSION GANSS-Additional-Navigation-Models PRESENCE optional }|
+ { ID id-GANSS-Additional-UTC-Models CRITICALITY ignore EXTENSION GANSS-Additional-UTC-Models PRESENCE optional }|
+ { ID id-GANSS-Auxiliary-Information CRITICALITY ignore EXTENSION GANSS-Auxiliary-Information PRESENCE optional }|
+ -- the following IE shall be present if ‘GANSSID’ in ‘GANSSGenericAssistanceData’ is ‘0’ (SBAS)
+ { ID id-GANSS-SBAS-ID CRITICALITY ignore EXTENSION GANSS-SBAS-ID PRESENCE optional }|
+ { ID id-BDS-Ionospheric-Grid-Model CRITICALITY ignore EXTENSION BDS-Ionospheric-Grid-Model PRESENCE optional }|
+ { ID id-DBDS-Correction-Information CRITICALITY ignore EXTENSION DBDS-Correction-Information PRESENCE optional },
+ ...
+}
+
+BDS-Ionospheric-Grid-Model ::= SEQUENCE {
+ bDS-Reference-Time BDS-Reference-Time,
+ bDS-Ionospheric-Grid-Information BDS-Ionospheric-Grid-Information,
+ ie-Extensions ProtocolExtensionContainer { { BDS-Ionospheric-Grid-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BDS-Ionospheric-Grid-Model-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BDS-Reference-Time ::= INTEGER(0..3570) -- by step of 30
+
+BDS-Ionospheric-Grid-Information ::= SEQUENCE(SIZE(1.. maxIonGridInfo)) OF SEQUENCE {
+ iGP-number-BDS INTEGER (1..320),
+ vertical-Delay-BDS BIT STRING ( SIZE(9)),
+ gIVEI-BDS BIT STRING ( SIZE(4)),
+ ie-Extensions ProtocolExtensionContainer { { BDS-Ionospheric-Grid-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BDS-Ionospheric-Grid-Information-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DBDS-Correction-Information ::= SEQUENCE {
+ bDS-Reference-Time BDS-Reference-Time,
+ dBDS-Information DBDS-Information,
+ ie-Extensions ProtocolExtensionContainer { { DBDS-Correction-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DBDS-Correction-Information-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DBDS-Information ::= SEQUENCE(SIZE(1..maxSgnType)) OF SEQUENCE {
+ dBDS-Signal-ID GANSSID OPTIONAL,
+ dGANSS-Signal-Information DGANSS-Signal-Information,
+ ie-Extensions ProtocolExtensionContainer { { DBDS-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DBDS-Information-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGANSS-Signal-Information ::= SEQUENCE(SIZE(1.. maxGANSSSat)) OF SEQUENCE {
+ sat-ID-BDS INTEGER(0..63),
+ uDREI-BDS INTEGER(0..15),
+ rURAI-BDS INTEGER(0..15),
+ delta-t-BDS BIT STRING (SIZE (13)),
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-Signal-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSS-Signal-Information-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-GenericMeasurementInfo ::= SEQUENCE(SIZE(1..maxGANSS)) OF SEQUENCE {
+ ganssId GANSSID OPTIONAL,
+ ganssMeasurementSignalList GANSSMeasurementSignalList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-GenericMeasurementInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-GenericMeasurementInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSSID ::= SEQUENCE {
+ ganss-ID INTEGER(0..7),
+ ie-Extensions ProtocolExtensionContainer { { GANSSID-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSSID-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSSMeasurementSignalList ::= SEQUENCE (SIZE (1..maxSgnType)) OF SEQUENCE {
+ ganssSignalId GANSS-SignalID OPTIONAL,
+ ganssCodePhaseAmbiguity INTEGER (0..31) OPTIONAL,
+ ganssMeasurementParameters GANSS-MeasurementParameters,
+ ie-Extensions ProtocolExtensionContainer { { GANSSMeasurementSignalList-ExtIEs } } OPTIONAL,
+ ...
+
+}
+
+GANSSMeasurementSignalList-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ganssCodePhaseAmbiguityExt CRITICALITY ignore EXTENSION GanssCodePhaseAmbiguityExt PRESENCE optional},
+ ...
+}
+
+GanssCodePhaseAmbiguityExt ::= SEQUENCE {
+ ganssCodePhaseAmbiguity-ext INTEGER (32..127),
+ ie-Extensions ProtocolExtensionContainer { { GanssCodePhaseAmbiguityExt-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GanssCodePhaseAmbiguityExt-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-Ionospheric-Model ::= SEQUENCE {
+ alpha-zero-ionos BIT STRING (SIZE (11)),
+ alpha-one-ionos BIT STRING (SIZE (11)),
+ alpha-two-ionos BIT STRING (SIZE (14)),
+ gANSS-IonosphereRegionalStormFlags GANSS-IonosphereRegionalStormFlags OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Ionospheric-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Ionospheric-Model-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-IonosphereRegionalStormFlags ::= SEQUENCE {
+ storm-flag-one BOOLEAN,
+ storm-flag-two BOOLEAN,
+ storm-flag-three BOOLEAN,
+ storm-flag-four BOOLEAN,
+ storm-flag-five BOOLEAN,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-IonosphereRegionalStormFlags-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-IonosphereRegionalStormFlags-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-KeplerianParametersAlm ::= SEQUENCE {
+ t-oa INTEGER(0..1023),
+ iod-a INTEGER(0..15),
+ gANSS-SatelliteInformationKP GANSS-SatelliteInformationKP,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-KeplerianParametersAlm-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-KeplerianParametersAlm-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-KeplerianParametersOrb ::= SEQUENCE {
+ toe-nav BIT STRING (SIZE (14)),
+ ganss-omega-nav BIT STRING (SIZE (32)),
+ delta-n-nav BIT STRING (SIZE (16)),
+ m-zero-nav BIT STRING (SIZE (32)),
+ omegadot-nav BIT STRING (SIZE (24)),
+ ganss-e-nav BIT STRING (SIZE (32)),
+ idot-nav BIT STRING (SIZE (14)),
+ a-sqrt-nav BIT STRING (SIZE (32)),
+ i-zero-nav BIT STRING (SIZE (32)),
+ omega-zero-nav BIT STRING (SIZE (32)),
+ c-rs-nav BIT STRING (SIZE (16)),
+ c-is-nav BIT STRING (SIZE (16)),
+ c-us-nav BIT STRING (SIZE (16)),
+ c-rc-nav BIT STRING (SIZE (16)),
+ c-ic-nav BIT STRING (SIZE (16)),
+ c-uc-nav BIT STRING (SIZE (16)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-KeplerianParametersOrb-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-KeplerianParametersOrb-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-MeasurementParameters ::= SEQUENCE(SIZE(1..maxGANSSSat)) OF GANSS-MeasurementParametersItem
+
+GANSS-MeasurementParametersItem ::= SEQUENCE {
+ satId INTEGER(0..63),
+ cToNzero INTEGER(0..63),
+ multipathIndicator ENUMERATED{nM,low,medium,high},
+ carrierQualityIndication BIT STRING(SIZE(2)) OPTIONAL,
+ ganssCodePhase INTEGER(0..2097151),
+ ganssIntegerCodePhase INTEGER(0..63) OPTIONAL,
+ codePhaseRmsError INTEGER(0..63),
+ doppler INTEGER(-32768..32767),
+ adr INTEGER(0..33554431) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-MeasurementParametersItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-MeasurementParametersItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ganssIntegerCodePhaseExt CRITICALITY ignore EXTENSION GanssIntegerCodePhaseExt PRESENCE optional},
+ ...
+}
+
+GanssIntegerCodePhaseExt ::= SEQUENCE {
+ ganssIntegerCodePhase-ext INTEGER (64..127),
+ ie-Extensions ProtocolExtensionContainer { { GanssIntegerCodePhaseExt-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GanssIntegerCodePhaseExt-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-MeasuredResultsList ::= SEQUENCE (SIZE (1..maxNrOfSets)) OF GANSS-MeasuredResults
+
+GANSS-MeasuredResults ::= SEQUENCE {
+ referenceTime CHOICE {
+ utranReferenceTime UTRAN-GANSSReferenceTimeUL,
+ ganssReferenceTimeOnly GANSS-ReferenceTimeOnly,
+ ...
+ },
+ ganssGenericMeasurementInfo GANSS-GenericMeasurementInfo,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-MeasuredResults-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-MeasuredResults-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Navigation-Model ::= SEQUENCE {
+ non-broadcastIndication ENUMERATED{true} OPTIONAL,
+ ganssSatInfoNav GANSS-Sat-Info-Nav,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Navigation-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Navigation-Model-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Orbit-Model ::= CHOICE {
+ gANSS-keplerianParameters GANSS-KeplerianParametersOrb,
+ ...
+}
+
+GANSS-Real-Time-Integrity ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF GANSS-RealTimeInformationItem
+
+GANSS-RealTimeInformationItem ::= SEQUENCE {
+ bad-ganss-satId INTEGER(0..63),
+ bad-ganss-signalId BIT STRING(SIZE(8)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-RealTimeInformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-RealTimeInformationItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Reference-Location ::= SEQUENCE {
+ ue-PositionEstimate UE-PositionEstimate,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-Reference-Location-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Reference-Location-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+GANSS-ReferenceMeasurementInfo ::= SEQUENCE {
+ ganssSignalId GANSS-SignalID OPTIONAL,
+ satelliteInformation GANSS-SatelliteInformation,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ReferenceMeasurementInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ReferenceMeasurementInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-Confidence CRITICALITY ignore EXTENSION Confidence PRESENCE optional},
+ ...
+}
+
+GANSS-Reference-Time ::= SEQUENCE {
+ ganssDay INTEGER(0..8191) OPTIONAL,
+ ganssTod INTEGER(0..86399),
+ ganssTodUncertainty INTEGER(0..127) OPTIONAL,
+ ganssTimeId GANSSID OPTIONAL,
+ utran-ganssreferenceTime UTRAN-GANSSReferenceTimeDL OPTIONAL,
+ tutran-ganss-driftRate TUTRAN-GANSS-DriftRate OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Reference-Time-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Reference-Time-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-Day-Cycle CRITICALITY ignore EXTENSION GANSS-Day-Cycle PRESENCE optional},
+ ...
+}
+
+GANSS-Day-Cycle ::= INTEGER(0..7)
+
+GANSS-ReferenceTimeOnly ::= SEQUENCE {
+ gANSS-tod INTEGER(0..3599999),
+ gANSS-timeId GANSSID OPTIONAL,
+ gANSS-TimeUncertainty INTEGER(0..127) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ReferenceTimeOnly-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ReferenceTimeOnly-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SatelliteClockModelItem ::= SEQUENCE {
+ t-oc BIT STRING (SIZE(14)),
+ a-i2 BIT STRING (SIZE(6)),
+ a-i1 BIT STRING (SIZE(21)),
+ a-i0 BIT STRING (SIZE(31)),
+ t-gd BIT STRING (SIZE(10)) OPTIONAL,
+ sisa BIT STRING (SIZE(8)),
+ model-id INTEGER(0..3) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SatelliteClockModelItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SatelliteClockModelItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SatelliteInformation ::= SEQUENCE(SIZE(1..maxGANSSSat)) OF GANSS-SatelliteInformationItem
+
+GANSS-SatelliteInformationItem ::= SEQUENCE {
+ ganssSatId INTEGER(0..63),
+ dopplerZeroOrder INTEGER(-2048..2047),
+ extraDoppler GANSS-ExtraDoppler OPTIONAL,
+ codePhase INTEGER(0..1023),
+ integerCodePhase INTEGER(0..127),
+ codePhaseSearchWindow INTEGER(0..31),
+ azimuthAndElevation GANSS-AzimuthAndElevation OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SatelliteInformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SatelliteInformationItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-ExtraDopplerExtension CRITICALITY ignore EXTENSION GANSS-ExtraDopplerExtension PRESENCE optional},
+ ...
+}
+
+GANSS-SatelliteInformationKP ::= SEQUENCE (SIZE (1..maxGANSSSatAlmanac)) OF GANSS-SatelliteInformationKPItem
+
+GANSS-SatelliteInformationKPItem ::= SEQUENCE {
+ satId INTEGER(0..63),
+ ganss-e-alm BIT STRING (SIZE (11)),
+ ganss-delta-I-alm BIT STRING (SIZE (11)),
+ ganss-omegadot-alm BIT STRING (SIZE (11)),
+ ganss-svStatusINAV-alm BIT STRING (SIZE (4)),
+ ganss-svStatusFNAV-alm BIT STRING (SIZE (2)) OPTIONAL,
+ ganss-delta-a-sqrt-alm BIT STRING (SIZE (13)),
+ ganss-omegazero-alm BIT STRING (SIZE (16)),
+ ganss-m-zero-alm BIT STRING (SIZE (16)),
+ ganss-omega-alm BIT STRING (SIZE (16)),
+ ganss-af-zero-alm BIT STRING (SIZE (16)),
+ ganss-af-one-alm BIT STRING (SIZE (13)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SatelliteInformationKPItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SatelliteInformationKPItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-GLOkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-GLOkp
+
+GANSS-SAT-Info-Almanac-GLOkp ::= SEQUENCE {
+ gloAlmNA BIT STRING (SIZE(11)),
+ gloAlmnA BIT STRING (SIZE(5)),
+ gloAlmHA BIT STRING (SIZE(5)),
+ gloAlmLambdaA BIT STRING (SIZE(21)),
+ gloAlmTlambdaA BIT STRING (SIZE(21)),
+ gloAlmDeltaIA BIT STRING (SIZE(18)),
+ gloAkmDeltaTA BIT STRING (SIZE(22)),
+ gloAlmDeltaTdotA BIT STRING (SIZE(7)),
+ gloAlmEpsilonA BIT STRING (SIZE(15)),
+ gloAlmOmegaA BIT STRING (SIZE(16)),
+ gloAlmTauA BIT STRING (SIZE(10)),
+ gloAlmCA BIT STRING (SIZE(1)),
+ gloAlmMA BIT STRING (SIZE(2)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-GLOkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-GLOkp-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-MIDIkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-MIDIkp
+
+GANSS-SAT-Info-Almanac-MIDIkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ midiAlmE BIT STRING (SIZE (11)),
+ midiAlmDeltaI BIT STRING (SIZE (11)),
+ midiAlmOmegaDot BIT STRING (SIZE (11)),
+ midiAlmSqrtA BIT STRING (SIZE (17)),
+ midiAlmOmega0 BIT STRING (SIZE (16)),
+ midiAlmOmega BIT STRING (SIZE (16)),
+ midiAlmMo BIT STRING (SIZE (16)),
+ midiAlmaf0 BIT STRING (SIZE (11)),
+ midiAlmaf1 BIT STRING (SIZE (10)),
+ midiAlmL1Health BIT STRING (SIZE (1)),
+ midiAlmL2Health BIT STRING (SIZE (1)),
+ midiAlmL5Health BIT STRING (SIZE (1)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-MIDIkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-MIDIkp-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-NAVkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-NAVkp
+
+GANSS-SAT-Info-Almanac-NAVkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ navAlmE BIT STRING (SIZE (16)),
+ navAlmDeltaI BIT STRING (SIZE (16)),
+ navAlmOMEGADOT BIT STRING (SIZE (16)),
+ navAlmSVHealth BIT STRING (SIZE (8)),
+ navAlmSqrtA BIT STRING (SIZE (24)),
+ navAlmOMEGAo BIT STRING (SIZE (24)),
+ navAlmOmega BIT STRING (SIZE (24)),
+ navAlmMo BIT STRING (SIZE (24)),
+ navAlmaf0 BIT STRING (SIZE (11)),
+ navAlmaf1 BIT STRING (SIZE (11)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-NAVkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-NAVkp-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-REDkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-REDkp
+
+GANSS-SAT-Info-Almanac-REDkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ redAlmDeltaA BIT STRING (SIZE (8)),
+ redAlmOmega0 BIT STRING (SIZE (7)),
+ redAlmPhi0 BIT STRING (SIZE (7)),
+ redAlmL1Health BIT STRING (SIZE (1)),
+ redAlmL2Health BIT STRING (SIZE (1)),
+ redAlmL5Health BIT STRING (SIZE (1)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-REDkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-REDkp-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-SBASecefList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-SBASecef
+
+GANSS-SAT-Info-Almanac-SBASecef ::= SEQUENCE {
+ sbasAlmDataID BIT STRING (SIZE(2)),
+ svID INTEGER(0..63),
+ sbasAlmHealth BIT STRING (SIZE(8)),
+ sbasAlmXg BIT STRING (SIZE(15)),
+ sbasAlmYg BIT STRING (SIZE(15)),
+ sbasAlmZg BIT STRING (SIZE(9)),
+ sbasAlmXgdot BIT STRING (SIZE(3)),
+ sbasAlmYgDot BIT STRING (SIZE(3)),
+ sbasAlmZgDot BIT STRING (SIZE(4)),
+ sbasAlmTo BIT STRING (SIZE(11)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-SBASecef-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-SBASecef-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Ganss-Sat-Info-AddNavList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF SEQUENCE {
+ satId INTEGER (0..63),
+ svHealth BIT STRING (SIZE (6)),
+ iod BIT STRING (SIZE (11)),
+ ganssAddClockModels GANSS-AddClockModels,
+ ganssAddOrbitModels GANSS-AddOrbitModels,
+ ie-Extensions ProtocolExtensionContainer { { Ganss-Sat-Info-AddNavList-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Ganss-Sat-Info-AddNavList-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Sat-Info-Nav ::= SEQUENCE (SIZE(1..maxGANSSSat)) OF SEQUENCE {
+ satId INTEGER(0..63),
+ svHealth BIT STRING (SIZE(9)),
+ iod BIT STRING (SIZE(10)),
+ ganssClockModel GANSS-Clock-Model,
+ ganssOrbitModel GANSS-Orbit-Model,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Sat-Info-Nav-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Sat-Info-Nav-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SignalID ::= SEQUENCE {
+ ganssSignalID INTEGER(0..3,...,4..7),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SignalID-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SignalID-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-StatusHealth ::= ENUMERATED {
+ udre-scale-1dot0,
+ udre-scale-0dot75,
+ udre-scale-0dot5,
+ udre-scale-0dot3,
+ udre-scale-Odot2,
+ udre-scale-0dot1,
+ no-data,
+ invalid-data
+}
+
+GANSS-Time-Model ::= SEQUENCE {
+ ganss-time-model-refTime INTEGER(0..37799),
+ ganss-t-a0 INTEGER(-2147483648..2147483647),
+ ganss-t-a1 INTEGER(-8388608..8388607) OPTIONAL,
+ ganss-t-a2 INTEGER(-64..63) OPTIONAL,
+ gnss-to-id ENUMERATED{gps,...,galileo,qzss,glonass,bds},
+ ganss-wk-number INTEGER(0..8191) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Time-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Time-Model-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ganss-Delta-T CRITICALITY ignore EXTENSION GANSS-Delta-T PRESENCE optional},
+ ...
+}
+
+GANSS-Delta-T ::= INTEGER(-128..127)
+
+GANSS-UTRAN-TimeRelationshipUncertainty ::= ENUMERATED {
+ gANSS-UTRAN-TRU-50nano,
+ gANSS-UTRAN-TRU-500nano,
+ gANSS-UTRAN-TRU-1micro,
+ gANSS-UTRAN-TRU-10micro,
+ gANSS-UTRAN-TRU-1milli,
+ gANSS-UTRAN-TRU-10milli,
+ gANSS-UTRAN-TRU-100milli,
+ gANSS-UTRAN-TRU-unreliable,
+...
+}
+
+GANSS-UTRAN-TRU ::= SEQUENCE {
+ gANSS-UTRAN-TimeRelationshipUncertainty GANSS-UTRAN-TimeRelationshipUncertainty,
+ ganssId GANSSID OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTRAN-TRU-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTRAN-TRU-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTC-Model ::= SEQUENCE {
+ a-one-utc BIT STRING (SIZE (24)),
+ a-zero-utc BIT STRING (SIZE (32)),
+ t-ot-utc BIT STRING (SIZE (8)),
+ w-n-t-utc BIT STRING (SIZE (8)),
+ delta-t-ls-utc BIT STRING (SIZE (8)),
+ w-n-lsf-utc BIT STRING (SIZE (8)),
+ dn-utc BIT STRING (SIZE (8)),
+ delta-t-lsf-utc BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTC-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTC-Model-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TUTRAN-GANSS-DriftRate ::= ENUMERATED {
+ uTRAN-GANSSDrift0, uTRAN-GANSSDrift1, uTRAN-GANSSDrift2,
+ uTRAN-GANSSDrift5, uTRAN-GANSSDrift10, uTRAN-GANSSDrift15,
+ uTRAN-GANSSDrift25, uTRAN-GANSSDrift50, uTRAN-GANSSDrift-1,
+ uTRAN-GANSSDrift-2, uTRAN-GANSSDrift-5, uTRAN-GANSSDrift-10,
+ uTRAN-GANSSDrift-15, uTRAN-GANSSDrift-25, uTRAN-GANSSDrift-50,
+...
+}
+
+GLONASSclockModel ::= SEQUENCE {
+ gloTau BIT STRING (SIZE (22)),
+ gloGamma BIT STRING (SIZE (11)),
+ gloDeltaTau BIT STRING (SIZE (5)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GLONASSclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GLONASSclockModel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NAVclockModel ::= SEQUENCE {
+ navToc BIT STRING (SIZE (16)),
+ navaf2 BIT STRING (SIZE (8)),
+ navaf1 BIT STRING (SIZE (16)),
+ navaf0 BIT STRING (SIZE (22)),
+ navTgd BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { NAVclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NAVclockModel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NavModel-CNAVKeplerianSet ::= SEQUENCE {
+ cnavTop BIT STRING (SIZE (11)),
+ cnavURAindex BIT STRING (SIZE (5)),
+ cnavDeltaA BIT STRING (SIZE (26)),
+ cnavAdot BIT STRING (SIZE (25)),
+ cnavDeltaNo BIT STRING (SIZE (17)),
+ cnavDeltaNoDot BIT STRING (SIZE (23)),
+ cnavMo BIT STRING (SIZE (33)),
+ cnavE BIT STRING (SIZE (33)),
+ cnavOmega BIT STRING (SIZE (33)),
+ cnavOMEGA0 BIT STRING (SIZE (33)),
+ cnavDeltaOmegaDot BIT STRING (SIZE (17)),
+ cnavIo BIT STRING (SIZE (33)),
+ cnavIoDot BIT STRING (SIZE (15)),
+ cnavCis BIT STRING (SIZE (16)),
+ cnavCic BIT STRING (SIZE (16)),
+ cnavCrs BIT STRING (SIZE (24)),
+ cnavCrc BIT STRING (SIZE (24)),
+ cnavCus BIT STRING (SIZE (21)),
+ cnavCuc BIT STRING (SIZE (21)),
+ ie-Extensions ProtocolExtensionContainer { { NavModel-CNAVKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NavModel-CNAVKeplerianSet-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NavModel-GLONASSecef ::= SEQUENCE {
+ gloEn BIT STRING (SIZE (5)),
+ gloP1 BIT STRING (SIZE (2)),
+ gloP2 BIT STRING (SIZE (1)),
+ gloM BIT STRING (SIZE (2)) OPTIONAL,
+ gloX BIT STRING (SIZE (27)),
+ gloXdot BIT STRING (SIZE (24)),
+ gloXdotdot BIT STRING (SIZE (5)),
+ gloY BIT STRING (SIZE (27)),
+ gloYdot BIT STRING (SIZE (24)),
+ gloYdotdot BIT STRING (SIZE (5)),
+ gloZ BIT STRING (SIZE (27)),
+ gloZdot BIT STRING (SIZE (24)),
+ gloZdotdot BIT STRING (SIZE (5)),
+ ie-Extensions ProtocolExtensionContainer { { NavModel-GLONASSecef-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NavModel-GLONASSecef-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NavModel-NAVKeplerianSet ::= SEQUENCE {
+ navURA BIT STRING (SIZE (4)),
+ navFitFlag BIT STRING (SIZE (1)),
+ navToe BIT STRING (SIZE (16)),
+ navOmega BIT STRING (SIZE (32)),
+ navDeltaN BIT STRING (SIZE (16)),
+ navM0 BIT STRING (SIZE (32)),
+ navOmegaADot BIT STRING (SIZE (24)),
+ navE BIT STRING (SIZE (32)),
+ navIDot BIT STRING (SIZE (14)),
+ navAPowerHalf BIT STRING (SIZE (32)),
+ navI0 BIT STRING (SIZE (32)),
+ navOmegaA0 BIT STRING (SIZE (32)),
+ navCrs BIT STRING (SIZE (16)),
+ navCis BIT STRING (SIZE (16)),
+ navCus BIT STRING (SIZE (16)),
+ navCrc BIT STRING (SIZE (16)),
+ navCic BIT STRING (SIZE (16)),
+ navCuc BIT STRING (SIZE (16)),
+ ie-Extensions ProtocolExtensionContainer { { NavModel-NAVKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NavModel-NAVKeplerianSet-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NavModel-SBASecef ::= SEQUENCE {
+ -- the following IE shall be present if ‘SBASclockModel’ in ‘GANSS-AddClockModels’ is not included in ‘Ganss-Sat-Info-AddNavList’
+ sbasTo BIT STRING (SIZE (13)) OPTIONAL,
+ sbasAccuracy BIT STRING (SIZE (4)),
+ sbasXg BIT STRING (SIZE (30)),
+ sbasYg BIT STRING (SIZE (30)),
+ sbasZg BIT STRING (SIZE (25)),
+ sbasXgDot BIT STRING (SIZE (17)),
+ sbasYgDot BIT STRING (SIZE (17)),
+ sbasZgDot BIT STRING (SIZE (18)),
+ sbasXgDotDot BIT STRING (SIZE (10)),
+ sbagYgDotDot BIT STRING (SIZE (10)),
+ sbasZgDotDot BIT STRING (SIZE (10)),
+ ie-Extensions ProtocolExtensionContainer { { NavModel-SBASecef-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NavModel-SBASecef-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NavModel-BDSKeplerianSet ::= SEQUENCE {
+ uRAIndex-BDS BIT STRING (SIZE (4)),
+ tOA-BDS BIT STRING (SIZE (17)),
+ a1-2-BDS BIT STRING (SIZE (32)),
+ e-BDS BIT STRING (SIZE (32)),
+ oMG-BDS BIT STRING (SIZE (32)),
+ dLTn-BDS BIT STRING (SIZE (16)),
+ m0-BDS BIT STRING (SIZE (32)),
+ oMG0-BDS BIT STRING (SIZE (32)),
+ oMGdot-BDS BIT STRING (SIZE (24)),
+ i0-BDS BIT STRING (SIZE (32)),
+ iDOT-BDS BIT STRING (SIZE (14)),
+ cuc-BDS BIT STRING (SIZE (18)),
+ cus-BDS BIT STRING (SIZE (18)),
+ crc-BDS BIT STRING (SIZE (18)),
+ crs-BDS BIT STRING (SIZE (18)),
+ cic-BDS BIT STRING (SIZE (18)),
+ cis-BDS BIT STRING (SIZE (18)),
+ aODE-BDS BIT STRING (SIZE (5)),
+ ie-Extensions ProtocolExtensionContainer { { NavModel-BDSKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NavModel-BDSKeplerianSet-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SBASclockModel ::= SEQUENCE {
+ sbasTo BIT STRING (SIZE (13)),
+ sbasAgfo BIT STRING (SIZE (12)),
+ sbasAgf1 BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { SBASclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SBASclockModel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BDSClockModel ::= SEQUENCE {
+ toc-BDS BIT STRING (SIZE (17) ),
+ a0-BDS BIT STRING (SIZE (24) ),
+ a1-BDS BIT STRING (SIZE (22) ),
+ a2-BDS BIT STRING (SIZE (11) ),
+ tGD1-BDS BIT STRING (SIZE (10) ),
+ aODC-BDS BIT STRING (SIZE (5) ),
+ ie-Extensions ProtocolExtensionContainer { { BDSClockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BDSClockModel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UTCmodelSet1 ::= SEQUENCE {
+ utcA0 BIT STRING (SIZE(16)),
+ utcA1 BIT STRING (SIZE(13)),
+ utcA2 BIT STRING (SIZE(7)),
+ utcDeltaTls BIT STRING (SIZE(8)),
+ utcTot BIT STRING (SIZE(16)),
+ utcWNot BIT STRING (SIZE(13)),
+ utcWNlsf BIT STRING (SIZE(8)),
+ utcDN BIT STRING (SIZE(4)),
+ utcDeltaTlsf BIT STRING (SIZE(8)),
+ ie-Extensions ProtocolExtensionContainer { { UTCmodelSet1-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UTCmodelSet1-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UTCmodelSet2 ::= SEQUENCE {
+ nA BIT STRING (SIZE(11)),
+ tauC BIT STRING (SIZE(32)),
+ deltaUT1 DeltaUT1 OPTIONAL,
+ kp BIT STRING (SIZE(2)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { UTCmodelSet2-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UTCmodelSet2-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UTCmodelSet3 ::= SEQUENCE {
+ utcA1wnt BIT STRING (SIZE(24)),
+ utcA0wnt BIT STRING (SIZE(32)),
+ utcTot BIT STRING (SIZE(8)),
+ utcWNt BIT STRING (SIZE(8)),
+ utcDeltaTls BIT STRING (SIZE(8)),
+ utcWNlsf BIT STRING (SIZE(8)),
+ utcDN BIT STRING (SIZE(8)),
+ utcDeltaTlsf BIT STRING (SIZE(8)),
+ utcStandardID BIT STRING (SIZE(3)),
+ ie-Extensions ProtocolExtensionContainer { { UTCmodelSet3-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UTCmodelSet3-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UTCmodelSet4 ::= SEQUENCE {
+ utca0-BDS BIT STRING (SIZE(32)),
+ utca1-BDS BIT STRING (SIZE(24)),
+ utcDeltatLS-BDS BIT STRING (SIZE(8)),
+ utcWNt BIT STRING (SIZE(8)),
+ utcDeltaTls BIT STRING (SIZE(8)),
+ utcWNlsf-BDS BIT STRING (SIZE(8)),
+ utcDN-BDS BIT STRING (SIZE(8)),
+ utcDeltaTlsf-BDS BIT STRING (SIZE(8)),
+ ie-Extensions ProtocolExtensionContainer { { UTCmodelSet4-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UTCmodelSet4-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UTRAN-GANSSReferenceTimeDL ::= SEQUENCE {
+ utran-GANSSTimingOfCellFrames INTEGER(0..3999999),
+ uC-ID UC-ID OPTIONAL,
+ referenceSfn INTEGER(0..4095),
+ ie-Extensions ProtocolExtensionContainer { { UTRAN-GANSSReferenceTimeDL-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UTRAN-GANSSReferenceTimeDL-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UTRAN-GANSSReferenceTimeUL ::= SEQUENCE {
+ ue-GANSSTimingOfCellFrames INTEGER(0..345599999999),
+ gANSS-TimeId GANSSID OPTIONAL,
+ gANSS-TimeUncertainty INTEGER(0..127) OPTIONAL,
+ uC-ID UC-ID,
+ referenceSfn INTEGER(0..4095),
+ ie-Extensions ProtocolExtensionContainer { { UTRAN-GANSSReferenceTimeUL-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UTRAN-GANSSReferenceTimeUL-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GPS Almanac and Satellite Health
+--
+-- **************************************************************
+
+
+GPS-AlmanacAndSatelliteHealth ::= SEQUENCE {
+ wn-a BIT STRING (SIZE (8)),
+ almanacSatInfoList AlmanacSatInfoList,
+ svGlobalHealth BIT STRING (SIZE (364)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GPS-AlmanacAndSatelliteHealth-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPS-AlmanacAndSatelliteHealth-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-completeAlmanacProvided CRITICALITY ignore EXTENSION CompleteAlmanacProvided PRESENCE optional},
+ ...
+}
+
+CompleteAlmanacProvided ::= BOOLEAN
+
+AlmanacSatInfoList ::= SEQUENCE (SIZE (1..maxSatAlmanac)) OF
+ AlmanacSatInfo
+
+AlmanacSatInfo ::= SEQUENCE {
+ dataID BIT STRING (SIZE (2)),
+ satID INTEGER (0..63),
+ e BIT STRING (SIZE (16)),
+ t-oa BIT STRING (SIZE (8)),
+ deltaI BIT STRING (SIZE (16)),
+ omegaDot BIT STRING (SIZE (16)),
+ satHealth BIT STRING (SIZE (8)),
+ a-Sqrt BIT STRING (SIZE (24)),
+ omega0 BIT STRING (SIZE (24)),
+ m0 BIT STRING (SIZE (24)),
+ omega BIT STRING (SIZE (24)),
+ af0 BIT STRING (SIZE (11)),
+ af1 BIT STRING (SIZE (11)),
+ iE-Extensions ProtocolExtensionContainer { { AlmanacSatInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AlmanacSatInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GPS Clock And Ephemeris Parameters
+--
+-- **************************************************************
+
+GPS-ClockAndEphemerisParameters ::= SEQUENCE {
+ codeOnL2 BIT STRING (SIZE (2)),
+ uraIndex BIT STRING (SIZE (4)),
+ satHealth BIT STRING (SIZE (6)),
+ iodc BIT STRING (SIZE (10)),
+ l2Pflag BIT STRING (SIZE (1)),
+ sf1Revd SubFrame1Reserved,
+ t-GD BIT STRING (SIZE (8)),
+ t-oc BIT STRING (SIZE (16)),
+ af2 BIT STRING (SIZE (8)),
+ af1 BIT STRING (SIZE (16)),
+ af0 BIT STRING (SIZE (22)),
+ c-rs BIT STRING (SIZE (16)),
+ delta-n BIT STRING (SIZE (16)),
+ m0 BIT STRING (SIZE (32)),
+ c-uc BIT STRING (SIZE (16)),
+ e BIT STRING (SIZE (32)),
+ c-us BIT STRING (SIZE (16)),
+ a-Sqrt BIT STRING (SIZE (32)),
+ t-oe BIT STRING (SIZE (16)),
+ fitInterval BIT STRING (SIZE (1)),
+ aodo BIT STRING (SIZE (5)),
+ c-ic BIT STRING (SIZE (16)),
+ omega0 BIT STRING (SIZE (32)),
+ c-is BIT STRING (SIZE (16)),
+ i0 BIT STRING (SIZE (32)),
+ c-rc BIT STRING (SIZE (16)),
+ omega BIT STRING (SIZE (32)),
+ omegaDot BIT STRING (SIZE (24)),
+ iDot BIT STRING (SIZE (14)),
+ iE-Extensions ProtocolExtensionContainer { { GPS-ClockAndEphemerisParameters-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPS-ClockAndEphemerisParameters-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SubFrame1Reserved ::= SEQUENCE {
+ reserved1 BIT STRING (SIZE (23)),
+ reserved2 BIT STRING (SIZE (24)),
+ reserved3 BIT STRING (SIZE (24)),
+ reserved4 BIT STRING (SIZE (16))
+}
+
+
+-- **************************************************************
+--
+-- GPS Ionospheric Model
+--
+-- **************************************************************
+
+
+ GPS-Ionospheric-Model ::= SEQUENCE {
+ alfa0 BIT STRING (SIZE (8)),
+ alfa1 BIT STRING (SIZE (8)),
+ alfa2 BIT STRING (SIZE (8)),
+ alfa3 BIT STRING (SIZE (8)),
+ beta0 BIT STRING (SIZE (8)),
+ beta1 BIT STRING (SIZE (8)),
+ beta2 BIT STRING (SIZE (8)),
+ beta3 BIT STRING (SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { { GPS-Ionospheric-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPS-Ionospheric-Model-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- GPS Measured Results
+--
+-- **************************************************************
+
+MeasuredResultsList ::= SEQUENCE (SIZE (1..maxNrOfSets)) OF
+ GPS-MeasuredResults
+
+GPS-MeasuredResults ::= SEQUENCE {
+ gps-TOW-1msec INTEGER (0..604799999),
+ gps-MeasurementParamList GPS-MeasurementParamList,
+ iE-Extensions ProtocolExtensionContainer { { GPS-MeasuredResults-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPS-MeasuredResults-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-UTRAN-GPSReferenceTimeResult CRITICALITY ignore EXTENSION UTRAN-GPSReferenceTimeResult PRESENCE optional} |
+ {ID id-GPSReferenceTimeUncertainty CRITICALITY ignore EXTENSION GPSReferenceTimeUncertainty PRESENCE optional},
+ ...
+}
+
+GPS-MeasurementParamList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ GPS-MeasurementParam
+
+GPS-MeasurementParam ::= SEQUENCE {
+ satelliteID INTEGER (0..63),
+ c-N0 INTEGER (0..63),
+ doppler INTEGER (-32768..32768),
+ wholeGPS-Chips INTEGER (0..1022),
+ fractionalGPS-Chips INTEGER (0..1023),
+ multipathIndicator MultipathIndicator,
+ pseudorangeRMS-Error INTEGER (0..63),
+ iE-Extensions ProtocolExtensionContainer { { GPS-MeasurementParam-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MultipathIndicator ::= ENUMERATED {
+ nm,
+ low,
+ medium,
+ high }
+
+GPS-MeasurementParam-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GPS Navigation Model
+--
+-- **************************************************************
+
+
+GPS-NavigationModel ::= SEQUENCE (SIZE (1..maxSat)) OF
+ NavigationModelSatInfo
+
+NavigationModelSatInfo ::= SEQUENCE {
+ satID INTEGER (0..63),
+ satelliteStatus SatelliteStatus,
+ gps-clockAndEphemerisParms GPS-ClockAndEphemerisParameters OPTIONAL,
+ -- This IE is not present if satelliteStatus is es-SN
+ iE-Extensions ProtocolExtensionContainer { { NavigationModelSatInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NavigationModelSatInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SatelliteStatus ::= ENUMERATED {
+ ns-NN,
+ es-SN,
+ es-NN,
+ rev2,
+ rev }
+
+
+
+-- **************************************************************
+--
+-- GPS Real Time Integrity
+--
+-- **************************************************************
+
+GPS-RealTimeIntegrity ::= CHOICE {
+ badSatellites BadSatList,
+ noBadSatellites NoBadSatellites,
+ ...
+}
+
+BadSatList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ INTEGER (0..63)
+
+NoBadSatellites ::= NULL
+
+-- **************************************************************
+--
+-- GPS Reference Location
+--
+-- **************************************************************
+
+GPS-ReferenceLocation ::= SEQUENCE {
+ ue-PositionEstimate UE-PositionEstimate,
+ iE-Extensions ProtocolExtensionContainer { { GPS-ReferenceLocation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPS-ReferenceLocation-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- GPS Reference Time
+--
+-- **************************************************************
+
+GPS-ReferenceTime ::= SEQUENCE {
+ gps-Week INTEGER (0..1023),
+ gps-TOW-1msec INTEGER (0..604799999),
+ gps-TOW-AssistList GPS-TOW-AssistList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GPS-ReferenceTime-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPS-ReferenceTime-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-UTRAN-GPSReferenceTime CRITICALITY ignore EXTENSION UTRAN-GPSReferenceTime PRESENCE optional}|
+ {ID id-GPS-UTRAN-TRU CRITICALITY ignore EXTENSION GPS-UTRAN-TRU PRESENCE optional}|
+ {ID id-UTRAN-GPS-DriftRate CRITICALITY ignore EXTENSION UTRAN-GPS-DriftRate PRESENCE optional}|
+ {ID id-GPSReferenceTimeUncertainty CRITICALITY ignore EXTENSION GPSReferenceTimeUncertainty PRESENCE optional}|
+ {ID id-GPS-Week-Cycle CRITICALITY ignore EXTENSION GPS-Week-Cycle PRESENCE optional},
+ ...
+}
+
+GPS-Week-Cycle ::= INTEGER(0..7)
+
+GPS-TOW-AssistList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ GPS-TOW-Assist
+
+GPS-TOW-Assist ::= SEQUENCE {
+ satID INTEGER (0..63),
+ tlm-Message BIT STRING (SIZE (14)),
+ antiSpoof BOOLEAN,
+ alert BOOLEAN,
+ tlm-Reserved BIT STRING (SIZE (2)),
+ iE-Extensions ProtocolExtensionContainer { { GPS-TOW-Assist-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPS-TOW-Assist-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UTRAN-GPS-DriftRate ::= ENUMERATED {
+ utran-GPSDrift0, utran-GPSDrift1, utran-GPSDrift2,
+ utran-GPSDrift5, utran-GPSDrift10, utran-GPSDrift15,
+ utran-GPSDrift25, utran-GPSDrift50, utran-GPSDrift-1,
+ utran-GPSDrift-2, utran-GPSDrift-5, utran-GPSDrift-10,
+ utran-GPSDrift-15, utran-GPSDrift-25, utran-GPSDrift-50,
+ ...}
+
+-- **************************************************************
+--
+-- GPS Reference Time Uncertainty
+--
+-- **************************************************************
+
+GPSReferenceTimeUncertainty ::= SEQUENCE {
+ gps-RefTimeUNC INTEGER(0..127),
+ iE-Extensions ProtocolExtensionContainer { { GPSReferenceTimeUncertainty-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPSReferenceTimeUncertainty-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- GPS Transmission TOW
+--
+-- **************************************************************
+
+GPS-Transmission-TOW ::= INTEGER (0..604799)
+
+
+
+-- **************************************************************
+--
+-- GPS UTC Model
+--
+-- **************************************************************
+
+GPS-UTC-Model ::= SEQUENCE {
+ a1 BIT STRING (SIZE (24)),
+ a0 BIT STRING (SIZE (32)),
+ t-ot BIT STRING (SIZE (8)),
+ delta-t-LS BIT STRING (SIZE (8)),
+ wn-t BIT STRING (SIZE (8)),
+ wn-lsf BIT STRING (SIZE (8)),
+ dn BIT STRING (SIZE (8)),
+ delta-t-LSF BIT STRING (SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { { GPS-UTCmodel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPS-UTCmodel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- GPS UTRAN Time Relationship Uncertainty
+-- nsec=nanosecond, usec=microsecond, msec=millisecond, sec=second
+--
+-- **************************************************************
+
+GPS-UTRAN-TRU ::= ENUMERATED {
+ nsec-50,
+ nsec-500,
+ usec-1,
+ usec-10,
+ msec-1,
+ msec-10,
+ msec-100,
+ unreliable,
+ ...}
+
+-- **************************************************************
+--
+-- Additional GPS Assistance Data Required
+--
+-- **************************************************************
+
+
+AdditionalGPSAssistDataRequired ::= SEQUENCE {
+ almanacRequest BOOLEAN,
+ utcModelRequest BOOLEAN,
+ ionosphericModelRequest BOOLEAN,
+ navigationModelRequest BOOLEAN,
+ dgpsCorrectionsRequest BOOLEAN,
+ referenceLocationRequest BOOLEAN,
+ referenceTimeRequest BOOLEAN,
+ aquisitionAssistanceRequest BOOLEAN,
+ realTimeIntegrityRequest BOOLEAN,
+ navModelAddDataRequest NavModelAdditionalData OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalGPSAssistDataRequired-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AdditionalGPSAssistDataRequired-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- Additional GANSS Assistance Data Required
+--
+-- **************************************************************
+
+AdditionalGanssAssistDataRequired::= SEQUENCE {
+ ganssReferenceTime BOOLEAN,
+ ganssreferenceLocation BOOLEAN,
+ ganssIonosphericModel BOOLEAN,
+ ganssRequestedGenericAssistanceDataList GanssRequestedGenericAssistanceDataList,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalGanssAssistDataRequired-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AdditionalGanssAssistDataRequired-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ganssReq-AddIonosphericModel CRITICALITY ignore EXTENSION GANSSReq-AddIonosphericModel PRESENCE optional}|
+ {ID id-ganssReq-EarthOrientPara CRITICALITY ignore EXTENSION GANSSReq-EarthOrientPara PRESENCE optional},
+ ...
+}
+GANSSReq-AddIonosphericModel ::= SEQUENCE {
+ ganss-add-iono-mode-req BIT STRING (SIZE(2)),
+ iE-Extensions ProtocolExtensionContainer { { GANSSReq-AddIonosphericModel-ExtIEs } } OPTIONAL,
+ ...}
+
+GANSSReq-AddIonosphericModel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSSReq-EarthOrientPara ::= BOOLEAN
+
+GanssRequestedGenericAssistanceDataList ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GanssReqGenericData
+
+GanssReqGenericData ::= SEQUENCE {
+ ganssId GANSSID OPTIONAL,
+ ganssRealTimeIntegrity BOOLEAN OPTIONAL,
+ ganssDifferentialCorrection DGANSS-Sig-Id-Req OPTIONAL,
+ ganssAlmanac BOOLEAN OPTIONAL,
+ ganssNavigationModel BOOLEAN OPTIONAL,
+ ganssTimeModelGnssGnss BIT STRING (SIZE (9)) OPTIONAL,
+ ganssReferenceMeasurementInfo BOOLEAN OPTIONAL,
+ ganssDataBits GanssDataBits OPTIONAL,
+ ganssUTCModel BOOLEAN OPTIONAL,
+ ganssNavigationModelAdditionalData NavigationModelGANSS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GanssReqGenericData-ExtIEs } } OPTIONAL,
+ ...}
+
+GanssReqGenericData-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ganssAddNavigationModel-req CRITICALITY ignore EXTENSION GANSS-AddNavigationModel-Req PRESENCE optional}|
+ {ID id-ganssAddUTCModel-req CRITICALITY ignore EXTENSION GANSS-AddUTCModel-Req PRESENCE optional}|
+ {ID id-ganssAuxInfo-req CRITICALITY ignore EXTENSION GANSS-AuxInfo-req PRESENCE optional}|
+ {ID id-GANSS-SBAS-ID CRITICALITY ignore EXTENSION GANSS-SBAS-ID PRESENCE optional}|
+ {ID id-GANSS-AddADchoices CRITICALITY ignore EXTENSION GANSS-AddADchoices PRESENCE optional}|
+ {ID id-BDSIonosphericGridModel CRITICALITY ignore EXTENSION BDSIonosphericGridModel PRESENCE optional}|
+ {ID id-DBDSCorrection CRITICALITY ignore EXTENSION DBDSCorrection PRESENCE optional},
+ ...
+}
+
+BDSIonosphericGridModel ::= BOOLEAN
+
+DBDSCorrection ::= SEQUENCE {
+ dGANSSSignalBDS BIT STRING (SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { { DBDSCorrection-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DBDSCorrection-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AddNavigationModel-Req ::= BOOLEAN
+
+GANSS-AddUTCModel-Req ::= BOOLEAN
+
+GANSS-AuxInfo-req ::= BOOLEAN
+
+GANSS-AddADchoices ::= SEQUENCE {
+ orbitModelID INTEGER (0..7) OPTIONAL,
+ clockModelID INTEGER (0..7) OPTIONAL,
+ utcModelID INTEGER (0..7) OPTIONAL,
+ almanacModelID INTEGER (0..7) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-AddADchoices-ExtIEs } } OPTIONAL,
+ ...}
+
+GANSS-AddADchoices-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGANSS-Sig-Id-Req ::= BIT STRING (SIZE (8))
+
+GanssDataBits ::= SEQUENCE {
+ ganssTod INTEGER (0..86399),
+ dataBitAssistancelist ReqDataBitAssistanceList,
+ iE-Extensions ProtocolExtensionContainer { { GanssDataBits-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GanssDataBits-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ReqDataBitAssistanceList ::= SEQUENCE {
+ ganssSignalID BIT STRING (SIZE (8)),
+ ganssDataBitInterval INTEGER(0..15),
+ ganssSatelliteInfo SEQUENCE (SIZE (1..maxGANSSSat)) OF INTEGER(0..63) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ReqDataBitAssistanceList-ExtIEs } } OPTIONAL,
+ ...
+}
+
+
+ReqDataBitAssistanceList-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Information Exchange ID
+--
+-- **************************************************************
+
+InformationExchangeID ::= INTEGER (0..1048575)
+
+
+-- **************************************************************
+--
+-- Information Report Characteristics
+--
+-- **************************************************************
+
+InformationReportCharacteristics ::= SEQUENCE {
+ type InformationReportCharacteristicsType,
+ periodicity InformationReportPeriodicity OPTIONAL,
+ -- present if type indicates periodic
+ ...
+}
+
+InformationReportCharacteristicsType ::= ENUMERATED {
+ onDemand,
+ periodic,
+ onModification,
+ ...
+}
+
+
+InformationReportPeriodicity ::= CHOICE {
+ min INTEGER (1..60, ...),
+-- Unit min, Step 1min
+ hour INTEGER (1..24, ...),
+-- Unit hour, Step 1hour
+ ...
+}
+
+-- **************************************************************
+--
+-- Information Type
+--
+-- **************************************************************
+
+
+InformationType ::= CHOICE {
+ implicitInformation MethodType,
+ explicitInformation ExplicitInformationList,
+ ...
+}
+
+
+ExplicitInformationList ::= SEQUENCE (SIZE (1..maxNrOfExpInfo)) OF ExplicitInformation
+
+ExplicitInformation ::= CHOICE {
+ almanacAndSatelliteHealth AlmanacAndSatelliteHealth,
+ utcModel UtcModel,
+ ionosphericModel IonosphericModel,
+ navigationModel NavigationModel,
+ dgpsCorrections DgpsCorrections,
+ referenceTime ReferenceTime,
+ acquisitionAssistance AcquisitionAssistance,
+ realTimeIntegrity RealTimeIntegrity,
+ almanacAndSatelliteHealthSIB AlmanacAndSatelliteHealthSIB-InfoType,
+ ... ,
+ referenceLocation ReferenceLocation,
+ ganss-Common-DataReq GANSSCommonDataReq,
+ ganss-Generic-DataList GANSSGenericDataList
+
+}
+
+DganssCorrectionsReq ::= SEQUENCE {
+ transmissionGanssTimeIndicator TransmissionGanssTimeIndicator OPTIONAL,
+ dganss-sig-id-req DGANSS-Sig-Id-Req,
+ iE-Extensions ProtocolExtensionContainer { { DganssCorrectionsReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DganssCorrectionsReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Ganss-almanacAndSatelliteHealthReq ::= SEQUENCE {
+ transmissionGanssTimeIndicator TransmissionGanssTimeIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Ganss-almanacAndSatelliteHealthReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ganss-almanacAndSatelliteHealthReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSSCommonDataReq ::= SEQUENCE{
+ ganss-ReferenceTime ENUMERATED {requested, not-requested} OPTIONAL,
+ ganss-IonosphericModel ENUMERATED {requested, not-requested} OPTIONAL,
+ ganss-ReferenceLocation ENUMERATED {requested, not-requested} OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSSCommonDataReq-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSSCommonDataReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-AddIonoModelReq CRITICALITY ignore EXTENSION GANSS-AddIonoModelReq PRESENCE optional} |
+ {ID id-GANSS-EarthOrientParaReq CRITICALITY ignore EXTENSION GANSS-EarthOrientParaReq PRESENCE optional} ,
+ ...
+}
+
+GANSS-AddIonoModelReq ::= SEQUENCE {
+ dataID BIT STRING (SIZE(2)),
+ iE-Extensions ProtocolExtensionContainer { { GANSS-AddIonoModelReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GANSS-AddIonoModelReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-EarthOrientParaReq ::= SEQUENCE {
+ eopReq ENUMERATED {requested, not-requested},
+ iE-Extensions ProtocolExtensionContainer { { GANSS-EarthOrientParaReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GANSS-EarthOrientParaReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSSGenericDataList ::= SEQUENCE (SIZE(1..maxGANSS)) OF GANSSGenericDataReq
+
+GANSSGenericDataReq ::= SEQUENCE {
+ ganssID GANSSID OPTIONAL,
+ ganss-realTimeIntegrity Ganss-realTimeIntegrityReq OPTIONAL,
+ ganss-dataBitAssistance GanssDataBits OPTIONAL,
+ dganssCorrections DganssCorrectionsReq OPTIONAL,
+ ganss-almanacAndSatelliteHealth Ganss-almanacAndSatelliteHealthReq OPTIONAL,
+ ganss-referenceMeasurementInfo Ganss-referenceMeasurementInfoReq OPTIONAL,
+ ganss-utcModel Ganss-utcModelReq OPTIONAL,
+ ganss-TimeModel-Gnss-Gnss Ganss-TimeModel-Gnss-Gnss OPTIONAL,
+ navigationModel NavigationModelGANSS OPTIONAL,
+ ...,
+ ganss-AddNavModelsReq AddNavigationModelsGANSS OPTIONAL,
+ ganss-AddUtcModelsReq GANSS-AddUtcModelsReq OPTIONAL,
+ ganss-AuxInfoReq GANSS-AuxInfoReq OPTIONAL,
+ -- the following IE shall be present if GANSSID is ‘0’ (SBAS)
+ ganss-SBAS-ID GANSS-SBAS-ID OPTIONAL,
+ dBDS-Corrections DBDS-Corrections OPTIONAL,
+ bDS-Ionospheric-Grid-Model-Request BDS-Ionospheric-Grid-Model-Request OPTIONAL
+}
+
+AddNavigationModelsGANSS ::= SEQUENCE {
+ ganssWeek INTEGER(0..4095),
+ ganssTOE INTEGER(0..167),
+ t-toe-limit INTEGER(0..10),
+ addSatRelatedDataListGANSS AddSatelliteRelatedDataListGANSS,
+ iE-Extensions ProtocolExtensionContainer { { AddNavigationModelsGANSS-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AddNavigationModelsGANSS-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AddSatelliteRelatedDataListGANSS ::= SEQUENCE (SIZE (0..maxGANSSSat)) OF AddSatelliteRelatedDataGANSS
+
+AddSatelliteRelatedDataGANSS ::= SEQUENCE {
+ satID INTEGER (0..63),
+ iod BIT STRING (SIZE(10)),
+ iE-Extensions ProtocolExtensionContainer { { AddSatelliteRelatedDataGANSS-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AddSatelliteRelatedDataGANSS-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BDS-Ionospheric-Grid-Model-Request ::= ENUMERATED {
+ requested,
+ ...
+}
+
+DBDS-Corrections ::= SEQUENCE {
+ transmissionGanssTimeIndicator TransmissionGanssTimeIndicator OPTIONAL,
+ dGANSS-Signal BIT STRING( SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { { DBDS-Corrections-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DBDS-Corrections-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AddUtcModelsReq ::= SEQUENCE {
+ transmissionGanssTimeIndicator TransmissionGanssTimeIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-AddUtcModelsReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GANSS-AddUtcModelsReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AuxInfoReq ::= SEQUENCE {
+ transmissionGanssTimeIndicator TransmissionGanssTimeIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-AuxInfoReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GANSS-AuxInfoReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-SBAS-ID ::= ENUMERATED {
+ waas,
+ egnos,
+ msas,
+ gagan,
+ ...
+ }
+
+
+Ganss-utcModelReq ::= SEQUENCE {
+ transmissionGanssTimeIndicator TransmissionGanssTimeIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Ganss-utcModelReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ganss-utcModelReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Ganss-realTimeIntegrityReq ::= SEQUENCE {
+ transmissionGanssTimeIndicator TransmissionGanssTimeIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Ganss-realTimeIntegrityReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ganss-realTimeIntegrityReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Ganss-referenceMeasurementInfoReq ::= SEQUENCE {
+ transmissionGanssTimeIndicator TransmissionGanssTimeIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Ganss-referenceMeasurementInfoReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ganss-referenceMeasurementInfoReq-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+Ganss-TimeModel-Gnss-Gnss ::= SEQUENCE{
+ ganssTimeModelGnssGnssExt BIT STRING (SIZE(9)),
+ transmissionGanssTimeIndicator TransmissionGanssTimeIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Ganss-TimeModel-Gnss-Gnss-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ganss-TimeModel-Gnss-Gnss-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmissionGanssTimeIndicator ::= ENUMERATED {
+ requested,
+ not-Requested
+}
+
+AlmanacAndSatelliteHealth ::= NULL
+
+UtcModel ::= SEQUENCE {
+ transmissionTOWIndicator TransmissionTOWIndicator,
+ iE-Extensions ProtocolExtensionContainer { { UtcModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UtcModel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IonosphericModel ::= SEQUENCE {
+ transmissionTOWIndicator TransmissionTOWIndicator,
+ iE-Extensions ProtocolExtensionContainer { { IonosphericModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+IonosphericModel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NavigationModel ::= SEQUENCE {
+ transmissionTOWIndicator TransmissionTOWIndicator,
+ navModelAdditionalData NavModelAdditionalData OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NavigationModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NavigationModel-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NavModelAdditionalData ::= SEQUENCE {
+ gps-Week INTEGER (0..1023),
+ gps-TOE INTEGER (0..167),
+ t-TOE-limit INTEGER (0..10),
+ satRelatedDataList SatelliteRelatedDataList,
+ iE-Extensions ProtocolExtensionContainer { { NavModelAdditionalData-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NavModelAdditionalData-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SatelliteRelatedDataList ::= SEQUENCE (SIZE (0..maxSat)) OF SatelliteRelatedData
+
+SatelliteRelatedData ::= SEQUENCE {
+ satID INTEGER (0..63),
+ iode INTEGER (0..255),
+ iE-Extensions ProtocolExtensionContainer { { SatelliteRelatedData-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SatelliteRelatedData-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NavigationModelGANSS ::= SEQUENCE {
+ ganssWeek INTEGER(0..4095),
+ ganssTOE INTEGER(0..167),
+ t-toe-limit INTEGER(0..10),
+ satRelatedDataListGANSS SatelliteRelatedDataListGANSS,
+ iE-Extensions ProtocolExtensionContainer { { NavigationModelGANSS-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NavigationModelGANSS-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SatelliteRelatedDataListGANSS ::= SEQUENCE (SIZE (0..maxGANSSSat)) OF SatelliteRelatedDataGANSS
+
+SatelliteRelatedDataGANSS ::= SEQUENCE {
+ satID INTEGER (0..63),
+ iod BIT STRING (SIZE(10)),
+ iE-Extensions ProtocolExtensionContainer { { SatelliteRelatedDataGANSS-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SatelliteRelatedDataGANSS-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DgpsCorrections ::= NULL
+
+ReferenceTime ::= NULL
+
+AcquisitionAssistance ::= NULL
+
+RealTimeIntegrity ::= NULL
+
+AlmanacAndSatelliteHealthSIB-InfoType ::= SEQUENCE {
+ transmissionTOWIndicator TransmissionTOWIndicator,
+ iE-Extensions ProtocolExtensionContainer { { AlmanacAndSatelliteHealthSIB-InfoType-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AlmanacAndSatelliteHealthSIB-InfoType-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReferenceLocation ::= NULL
+
+TransmissionTOWIndicator ::= ENUMERATED {
+ requested,
+ not-Requested
+}
+
+-- **************************************************************
+--
+-- Message Structure
+--
+-- **************************************************************
+
+MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
+ SEQUENCE {
+ iE-ID ProtocolIE-ID,
+ repetitionNumber MessageStructureRepetition OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+MessageStructureRepetition ::= INTEGER (1..256)
+
+MessageStructure-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Measurement Instructions Used
+--
+-- **************************************************************
+
+MeasInstructionsUsed ::= SEQUENCE {
+ measurementValidity MeasurementValidity,
+ iE-Extensions ProtocolExtensionContainer { { MeasInstructionsUsed-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MeasInstructionsUsed-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Measurement Validity
+--
+-- **************************************************************
+
+MeasurementValidity ::= SEQUENCE {
+ ue-State ENUMERATED { cell-DCH, all-States-Except-Cell-DCH, all-States, ... },
+ iE-Extensions ProtocolExtensionContainer { { MeasurementValidity-ExtIEs } } OPTIONAL,
+ ...
+}
+MeasurementValidity-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Method Type
+--
+-- **************************************************************
+
+MethodType ::= ENUMERATED {
+ ue-assisted,
+ ue-based
+}
+
+
+-- **************************************************************
+--
+-- OTDOA Measurement Group
+--
+-- **************************************************************
+
+OTDOA-MeasurementGroup ::= SEQUENCE {
+ otdoa-ReferenceCellInfo OTDOA-ReferenceCellInfo,
+ otdoa-NeighbourCellInfoList OTDOA-NeighbourCellInfoList,
+ otdoa-MeasuredResultsSets OTDOA-MeasuredResultsSets,
+ iE-Extensions ProtocolExtensionContainer { { OTDOA-MeasurementGroup-ExtIEs } } OPTIONAL,
+ ...
+}
+
+OTDOA-MeasurementGroup-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+OTDOA-ReferenceCellInfo ::= SEQUENCE {
+ uC-ID UC-ID,
+ uTRANAccessPointPositionAltitude UTRANAccessPointPositionAltitude,
+ tUTRANGPSMeasurementValueInfo TUTRANGPSMeasurementValueInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { OTDOA-ReferenceCellInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+OTDOA-ReferenceCellInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TUTRANGANSSMeasurementValueInfo CRITICALITY ignore EXTENSION TUTRANGANSSMeasurementValueInfo PRESENCE optional }|
+ { ID id-additionalMeasurementInforLCR CRITICALITY ignore EXTENSION AdditionalMeasurementInforLCR PRESENCE optional },
+ -- 1.28Mcps TDD only
+ ...
+}
+
+OTDOA-ReferenceCellInfoSAS-centric ::= SEQUENCE {
+ uC-ID UC-ID,
+ iE-Extensions ProtocolExtensionContainer { { OTDOA-ReferenceCellInfoSAS-centric-ExtIEs } } OPTIONAL,
+ ...
+}
+
+OTDOA-ReferenceCellInfoSAS-centric-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+OTDOA-NeighbourCellInfoList ::= SEQUENCE (SIZE (1..maxNrOfMeasNCell)) OF
+ OTDOA-NeighbourCellInfo
+
+OTDOA-NeighbourCellInfo ::= SEQUENCE {
+ uC-ID UC-ID,
+ uTRANAccessPointPositionAltitude UTRANAccessPointPositionAltitude,
+ relativeTimingDifferenceInfo RelativeTimingDifferenceInfo,
+ iE-Extensions ProtocolExtensionContainer { { OTDOA-NeighbourCellInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+OTDOA-NeighbourCellInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+OTDOA-MeasuredResultsSets ::= SEQUENCE (SIZE (1..maxNrOfMeasurements)) OF
+ OTDOA-MeasuredResultsInfoList
+
+OTDOA-MeasuredResultsInfoList ::= SEQUENCE (SIZE (1..maxNrOfMeasNCell)) OF
+ OTDOA-MeasuredResultsInfo
+
+OTDOA-MeasuredResultsInfo ::= SEQUENCE {
+ uC-ID UC-ID,
+ ue-SFNSFNTimeDifferenceType2Info UE-SFNSFNTimeDifferenceType2Info,
+ iE-Extensions ProtocolExtensionContainer { { OTDOA-MeasuredResultsInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+OTDOA-MeasuredResultsInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-OTDOA-AddMeasuredResultsInfo CRITICALITY ignore EXTENSION OTDOA-AddMeasuredResultsInfo PRESENCE optional},
+ ...
+}
+
+OTDOA-AddMeasuredResultsInfo ::= SEQUENCE {
+ primaryCPICH-Info PrimaryScramblingCode,
+ iE-Extensions ProtocolExtensionContainer { { OTDOA-AddMeasuredResultsInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+OTDOA-AddMeasuredResultsInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-SFNSFNTimeDifferenceType2Info ::= SEQUENCE {
+ ue-SFNSFNTimeDifferenceType2 INTEGER (0..40961),
+ ue-PositioningMeasQuality UE-PositioningMeasQuality,
+ measurementDelay INTEGER (0..65535),
+ iE-Extensions ProtocolExtensionContainer { { UE-SFNSFNTimeDifferenceInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-SFNSFNTimeDifferenceInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UC-ID ::= SEQUENCE {
+ rNC-ID INTEGER (0..4095),
+ c-ID INTEGER (0..65535),
+ iE-Extensions ProtocolExtensionContainer { { UC-ID-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UC-ID-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-RNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional},
+ ...
+}
+
+Extended-RNC-ID ::= INTEGER (4096..65535)
+
+
+RelativeTimingDifferenceInfo ::= CHOICE {
+ sFNSFNMeasurementValueInfo SFNSFNMeasurementValueInfo,
+ tUTRANGPSMeasurementValueInfo TUTRANGPSMeasurementValueInfo,
+ ...,
+ tUTRANGANSSMeasurementValueInfo TUTRANGANSSMeasurementValueInfo
+}
+
+SFNSFNMeasurementValueInfo ::= SEQUENCE {
+ sFNSFNValue SFNSFNValue,
+ sFNSFNQuality SFNSFNQuality OPTIONAL,
+ sFNSFNDriftRate SFNSFNDriftRate,
+ sFNSFNDriftRateQuality SFNSFNDriftRateQuality OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SFNSFNMeasurementValueInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SFNSFNMeasurementValueInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFNSFNValue ::= INTEGER (0..614399)
+
+SFNSFNQuality ::= INTEGER (0..255)
+-- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
+
+SFNSFNDriftRate ::= INTEGER (-100..100)
+-- Unit chip/s, Step 1/256 chip/s, Range -100/256..+100/256 chip/s
+
+SFNSFNDriftRateQuality ::= INTEGER (0..100)
+-- Unit chip/s, Step 1/256 chip/s, Range 0..100/256 chip/s
+
+TUTRANGPSMeasurementValueInfo ::= SEQUENCE {
+ sFN SFN,
+ tUTRANGPS TUTRANGPS,
+ tUTRANGPSQuality TUTRANGPSQuality OPTIONAL,
+ tUTRANGPSDriftRate TUTRANGPSDriftRate,
+ tUTRANGPSDriftRateQuality TUTRANGPSDriftRateQuality OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TUTRANGPSMeasurementValueInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TUTRANGPSMeasurementValueInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFN ::= INTEGER (0..4095)
+
+TUTRANGPS ::= SEQUENCE {
+ ms-part INTEGER (0..16383),
+ ls-part INTEGER (0..4294967295)
+}
+
+TUTRANGPSQuality ::= INTEGER (0..255)
+-- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
+
+TUTRANGPSDriftRate ::= INTEGER (-50..50)
+-- Unit chip/s, Step 1/256 chip/s, Range -50/256..+50/256 chip/s
+
+TUTRANGPSDriftRateQuality ::= INTEGER (0..50)
+-- Unit chip/s, Step 1/256 chip/s, Range 0..50/256 chip/s
+
+TUTRANGANSSMeasurementValueInfo ::= SEQUENCE {
+ ganssID GANSSID OPTIONAL,
+ sFN SFN,
+ tUTRANGANSS TUTRANGANSS,
+ tUTRANGANSSQuality INTEGER(0..255) OPTIONAL,
+ tUTRANGANSSDriftRate INTEGER(-50..50),
+ tUTRANGANSSDriftRateQuality INTEGER(0..50) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TUTRANGANSSMeasurementValueInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TUTRANGANSSMeasurementValueInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TUTRANGANSS ::= SEQUENCE {
+ ms-part INTEGER (0..16383),
+ ls-part INTEGER (0..4294967295)
+}
+
+AdditionalMeasurementInforLCR ::= SEQUENCE {
+ timingAdvanceLCR-R7 TimingAdvanceLCR-R7,
+ rxTimingDeviationLCR RxTimingDeviationLCR,
+ angleOfArrivalLCR AngleOfArrivalLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalMeasurementInforLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+AdditionalMeasurementInforLCR-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimingAdvanceLCR-R7 ::= INTEGER (0..8191)
+
+-- **************************************************************
+--
+-- Periodic Position Calculation Info
+--
+-- **************************************************************
+
+PeriodicPosCalcInfo ::= SEQUENCE {
+ referenceNumber INTEGER (0..32767, ...),
+ amountOutstandingRequests INTEGER (1..8639999, ...),
+ reportingInterval INTEGER (1..8639999, ...),
+ iE-Extensions ProtocolExtensionContainer { { PeriodicPosCalcInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PeriodicPosCalcInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Periodic Location Info
+--
+-- **************************************************************
+
+PeriodicLocationInfo ::= SEQUENCE {
+ reportingAmount INTEGER (1..8639999, ...),
+ reportingInterval INTEGER (1..8639999, ...),
+ iE-Extensions ProtocolExtensionContainer { { PeriodicLocationInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PeriodicLocationInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Periodic Termination Cause
+--
+-- **************************************************************
+
+PeriodicTerminationCause ::= ENUMERATED {
+ rrc-state-transition,
+ cancelled-by-srnc,
+ cancelled-by-sas,
+ undefined,
+ ...
+ }
+
+-- **************************************************************
+--
+-- Positioning Method
+--
+-- **************************************************************
+
+PositioningMethod ::= SEQUENCE {
+ additionalMethodType AdditionalMethodType,
+ selectedPositionMethod SelectedPositionMethod,
+ iE-Extensions ProtocolExtensionContainer { { PositioningMethod-ExtIEs } } OPTIONAL,
+ ...
+}
+
+
+
+PositioningMethod-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+-- The following IE shall be present if the Selected Position Method IE value is set to "GNSS" or “OTDOA or GNSSâ€
+ { ID id-GNSS-PositioningMethod CRITICALITY ignore EXTENSION GNSS-PositioningMethod PRESENCE conditional}|
+-- This IE shall be present if the Selected Position Method IE value is set to “GPS and AddPos†or “OTDOA or GPS and AddPosâ€
+ { ID id-Additional-PositioningMethod CRITICALITY ignore EXTENSION Additional-PositioningMethod PRESENCE conditional},
+ ...
+}
+
+GNSS-PositioningMethod ::= BIT STRING (SIZE(9))
+
+Additional-PositioningMethod ::= BIT STRING (SIZE(8))
+
+SelectedPositionMethod ::= ENUMERATED {
+ oTDOA,
+ gPS,
+ oTDOA-or-GPS,
+ cell-id,
+ uTDOA,
+ ...,
+ gNSS,
+ oTDOA-or-GNSS,
+ gPS-and-AddPos,
+ oTDOA-or-GPS-and-AddPos
+}
+
+-- **************************************************************
+--
+-- Positioning Priority
+--
+-- **************************************************************
+PositioningPriority ::= ENUMERATED {
+ high-priority,
+ normal-priority,
+ ...
+}
+
+-- **************************************************************
+--
+-- RRC State Change
+--
+-- **************************************************************
+
+RRCstateChange ::= SEQUENCE {
+ new-ue-State ENUMERATED { cell-DCH, cell-FACH, cell-PCH, ura-PCH, ... },
+ iE-Extensions ProtocolExtensionContainer { { RRCstateChange-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RRCstateChange-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Requested Data Value
+--
+-- **************************************************************
+
+RequestedDataValue ::= SEQUENCE {
+ gpsAlmanacAndSatelliteHealth GPS-AlmanacAndSatelliteHealth OPTIONAL,
+ gps-UTC-Model GPS-UTC-Model OPTIONAL,
+ gps-Ionospheric-Model GPS-Ionospheric-Model OPTIONAL,
+ gps-NavigationModel GPS-NavigationModel OPTIONAL,
+ dgpsCorrections DGPSCorrections OPTIONAL,
+ referenceTime GPS-ReferenceTime OPTIONAL,
+ gps-AcquisitionAssistance GPS-AcquisitionAssistance OPTIONAL,
+ gps-RealTime-Integrity GPS-RealTimeIntegrity OPTIONAL,
+ almanacAndSatelliteHealthSIB AlmanacAndSatelliteHealthSIB OPTIONAL,
+ gps-Transmission-TOW GPS-Transmission-TOW OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedDataValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+--at least one of the above IEs shall be present in the requested data value
+
+RequestedDataValue-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GPS-ReferenceLocation CRITICALITY ignore EXTENSION GPS-ReferenceLocation PRESENCE optional }|
+ { ID id-GANSS-CommonAssistanceData CRITICALITY ignore EXTENSION GANSS-CommonAssistanceData PRESENCE optional }|
+ { ID id-GANSS-GenericAssistanceDataList CRITICALITY ignore EXTENSION GANSS-GenericAssistanceDataList PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Requested Data Value Information
+--
+-- **************************************************************
+
+RequestedDataValueInformation ::= CHOICE {
+ informationAvailable InformationAvailable,
+ informationNotAvailable InformationNotAvailable
+}
+
+InformationAvailable::= SEQUENCE {
+ requestedDataValue RequestedDataValue,
+ iE-Extensions ProtocolExtensionContainer { { InformationAvailable-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InformationAvailable-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationNotAvailable ::= NULL
+
+-- **************************************************************
+--
+-- Request Type
+--
+-- **************************************************************
+RequestType ::= SEQUENCE {
+ event RequestTypeEvent,
+ reportArea RequestTypeReportArea,
+ horizontalaccuracyCode RequestTypeAccuracyCode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestType-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestType-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestTypeEvent ::= ENUMERATED {
+ stop-change-of-service-area,
+ direct,
+ change-of-service-area,
+ stop-direct,
+ ...,
+ periodic,
+ stop-periodic
+}
+
+RequestTypeReportArea ::= ENUMERATED {
+ service-area,
+ geographical-area,
+ ...
+}
+
+RequestTypeAccuracyCode ::= INTEGER (0..127)
+
+-- **************************************************************
+--
+-- Response Time
+--
+-- **************************************************************
+ResponseTime ::= ENUMERATED {
+ low-delay,
+ delay-tolerant,
+ ...
+}
+
+-- **************************************************************
+--
+-- Horizontal Accuracy Code
+--
+-- **************************************************************
+
+HorizontalAccuracyCode ::= INTEGER (0..127)
+
+-- **************************************************************
+--
+-- UE Positioning Capability
+--
+-- **************************************************************
+UE-PositioningCapability ::= SEQUENCE {
+ standAloneLocationMethodsSupported BOOLEAN,
+ ueBasedOTDOASupported BOOLEAN,
+ networkAssistedGPSSupport NetworkAssistedGPSSuport,
+ supportGPSTimingOfCellFrame BOOLEAN,
+ supportForIPDL BOOLEAN,
+ supportForRxTxTimeDiff BOOLEAN,
+ supportForUEAGPSinCellPCH BOOLEAN,
+ supportForSFNSFNTimeDiff BOOLEAN,
+ iE-Extensions ProtocolExtensionContainer { {UE-PositioningCapability-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-PositioningCapability-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-NetworkAssistedGANSSSuport CRITICALITY ignore EXTENSION NetworkAssistedGANSSSupport PRESENCE optional}|
+ { ID id-AddPosSupport CRITICALITY ignore EXTENSION AddPosSupport PRESENCE optional},
+ ...
+}
+
+NetworkAssistedGANSSSupport ::= SEQUENCE (SIZE (1..maxGANSS)) OF SEQUENCE {
+ ganssID GANSSID OPTIONAL,
+ ganssMode ENUMERATED {
+ networkBased,
+ ue-Based,
+ both,
+ none
+ },
+ ganssSignalID GANSS-SignalID OPTIONAL,
+ supportGANSSTimingOfCellFrame BOOLEAN,
+ supportGANSSCarrierPhaseMeasurement BOOLEAN,
+ iE-Extensions ProtocolExtensionContainer { { NetworkAssistedGANSSSuport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AddPosSupport ::= SEQUENCE (SIZE (1..maxAddPos)) OF AddPosSupport-Element
+
+AddPosSupport-Element ::= SEQUENCE {
+ addPosID ENUMERATED {
+ barometricPressure,
+ wLAN,
+ bluetooth,
+ mBS,
+ ...
+ },
+ addPosMode ENUMERATED {
+ standalone,
+ ue-assisted,
+ both,
+ ...
+ },
+ ...
+}
+
+NetworkAssistedGANSSSuport-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ -- the following IE shall be present if ‘GANSSID’ in ‘NetworkAssistedGANSSSupport’ is ‘0’ (SBAS)
+ { ID id-GANSS-SBAS-IDs CRITICALITY ignore EXTENSION GANSS-SBAS-IDs PRESENCE optional }|
+ { ID id-GANSS-Signal-IDs CRITICALITY ignore EXTENSION GANSS-Signal-IDs PRESENCE optional }|
+ { ID id-supportGANSSNonNativeADchoices CRITICALITY ignore EXTENSION SupportGANSSNonNativeADchoices PRESENCE optional },
+ ...
+}
+
+NetworkAssistedGPSSuport ::= ENUMERATED {
+ network-based,
+ ue-based,
+ both,
+ none,
+ ...
+}
+
+GANSS-SBAS-IDs ::= SEQUENCE {
+ ganss-sbas-ids BIT STRING (SIZE(8)),
+ iE-Extensions ProtocolExtensionContainer { { GANSS-SBAS-IDs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GANSS-SBAS-IDs-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-Signal-IDs ::= SEQUENCE {
+ ganss-signal-ids BIT STRING (SIZE(8)),
+ iE-Extensions ProtocolExtensionContainer { { GANSS-Signal-IDs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GANSS-Signal-IDs-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SupportGANSSNonNativeADchoices ::= BOOLEAN
+
+-- **************************************************************
+--
+-- UTDOA Positioning (Position Activation Request Message)
+--
+-- **************************************************************
+
+UTDOAPositioning ::= SEQUENCE {
+ utdoa-BitCount UTDOA-BitCount,
+ utdoa-timeInterval UTDOA-TimeInterval,
+ iE-Extensions ProtocolExtensionContainer { { UTDOAPositioning-ExtIEs } } OPTIONAL,
+ ...
+}
+
+
+UTDOAPositioning-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UTDOA-BitCount ::= INTEGER (0..5000)
+
+UTDOA-TimeInterval ::= INTEGER (0..3000)
+
+EnvironmentCharacterisation ::= ENUMERATED { heavyMultipathandNLOSconditions,
+ noOrLightMultipathAndUsuallyLOSconditions,
+ notDefinedOrMixedEnvironment,
+ ...
+ }
+
+
+-- **************************************************************
+--
+-- GPS and GANSS Positioning (Position Activation Request Message)
+--
+-- **************************************************************
+GPSPositioning ::= SEQUENCE {
+ gpsPositioningInstructions GPSPositioningInstructions,
+ requestedDataValue RequestedDataValue OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GPSPositioning-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPSPositioning-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPSPositioningInstructions ::= SEQUENCE {
+ horizontalAccuracyCode HorizontalAccuracyCode OPTIONAL,
+ verticalAccuracyCode VerticalAccuracyCode OPTIONAL,
+ gpsTimingOfCellWanted BOOLEAN,
+ additionalAssistanceDataRequest BOOLEAN,
+ iE-Extensions ProtocolExtensionContainer { { GPSPositioningInstructions-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GPSPositioningInstructions-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-MeasurementValidity CRITICALITY ignore EXTENSION MeasurementValidity PRESENCE optional},
+ ...
+}
+
+GANSSPositioning ::= SEQUENCE {
+ ganssPositioningInstructions GANSS-PositioningInstructions,
+ requestedDataValue RequestedDataValue OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GANSSPositioning-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSSPositioning-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-PositioningInstructions ::= SEQUENCE {
+ horizontalAccuracyCode HorizontalAccuracyCode OPTIONAL,
+ verticalAccuracyCode VerticalAccuracyCode OPTIONAL,
+ ganssTimingOfCellWanted BIT STRING (SIZE (8)),
+ additionalAssistanceDataRequest BIT STRING (SIZE (8)),
+ measurementValidity MeasurementValidity OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-PositioningInstructions-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-PositioningInstructions-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSScarrierPhaseRequested CRITICALITY ignore EXTENSION GANSScarrierPhaseRequested PRESENCE optional}|
+ {ID id-GANSSMultiFreqMeasRequested CRITICALITY ignore EXTENSION GANSSMultiFreqMeasRequested PRESENCE optional},
+ ...
+}
+
+GANSScarrierPhaseRequested ::= BIT STRING (SIZE (8))
+
+GANSSMultiFreqMeasRequested ::= BIT STRING (SIZE (8))
+
+
+-- **************************************************************
+--
+-- OTDOA Assistance Data
+--
+-- **************************************************************
+OTDOAAssistanceData ::= SEQUENCE {
+ uE-Positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData,
+ iE-Extensions ProtocolExtensionContainer { { OTDOAAssistanceData-ExtIEs } } OPTIONAL,
+ ...
+
+}
+OTDOAAssistanceData-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- ************************************
+--
+-- UE Positioning OTDOA Assistance Data
+--
+-- ************************************
+
+UE-Positioning-OTDOA-AssistanceData ::= SEQUENCE {
+ ue-positioning-OTDOA-ReferenceCellInfo UE-Positioning-OTDOA-ReferenceCellInfo OPTIONAL,
+ ue-positioning-OTDOA-NeighbourCellList UE-Positioning-OTDOA-NeighbourCellList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-Positioning-OTDOAAssistanceData-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-Positioning-OTDOAAssistanceData-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-Positioning-OTDOA-ReferenceCellInfo ::= SEQUENCE {
+ sfn SFN OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryScramblingCode,
+ ...
+ },
+ tdd SEQUENCE{
+ cellParameterID CellParameterID,
+ --- coding is FFS
+ ...
+ },
+ ...
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ positioningMode CHOICE {
+ ueBased SEQUENCE {
+ cellPosition ReferenceCellPosition OPTIONAL,
+ -- actual value roundTripTime = (IE value * 0.0625) + 876
+ roundTripTime INTEGER (0..32766) OPTIONAL,
+ ...
+ },
+ ueAssisted SEQUENCE {
+ ...
+ },
+ ...
+ },
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-Positioning-OTDOAReferenceCellInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-Positioning-OTDOAReferenceCellInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedRoundTripTime CRITICALITY ignore EXTENSION ExtendedRoundTripTime PRESENCE optional }| -- FDD only
+ { ID id-timingAdvanceLCR-R7 CRITICALITY ignore EXTENSION TimingAdvanceLCR-R7 PRESENCE optional }| -- 1.28Mcps TDD only
+ { ID id-rxTimingDeviationLCR CRITICALITY ignore EXTENSION RxTimingDeviationLCR PRESENCE optional }| -- 1.28Mcps TDD only
+ { ID id-angleOfArrivalLCR CRITICALITY ignore EXTENSION AngleOfArrivalLCR PRESENCE optional }, -- 1.28Mcps TDD only
+ ...
+}
+
+ReferenceCellPosition ::= CHOICE {
+ ellipsoidPoint GeographicalCoordinates,
+ ellipsoidPointWithAltitude GA-PointWithAltitude,
+ ...
+}
+
+
+
+UE-Positioning-IPDL-Parameters ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ip-Spacing IP-Spacing,
+ ip-Length IP-Length,
+ ip-Offset INTEGER (0..9),
+ seed INTEGER (0..63),
+ ...
+ },
+ tdd SEQUENCE {
+ -- coding is FFS
+ ...
+ },
+ ...
+ },
+ burstModeParameters BurstModeParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-Positioning-IPDL-Parameters-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-Positioning-IPDL-Parameters-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IP-Spacing ::= ENUMERATED {
+ e5, e7, e10, e15, e20,
+ e30, e40, e50, ... }
+
+IP-Length ::= ENUMERATED {
+ ipl5, ipl10, ... }
+
+BurstModeParameters ::= SEQUENCE {
+ burstStart INTEGER (0..15),
+ burstLength INTEGER (10..25),
+ burstFreq INTEGER (1..16),
+ iE-Extensions ProtocolExtensionContainer { { BurstModeParameters-ExtIEs } } OPTIONAL,
+
+ ...
+}
+
+BurstModeParameters-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+UE-Positioning-OTDOA-NeighbourCellList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ UE-Positioning-OTDOA-NeighbourCellInfo
+
+
+UE-Positioning-OTDOA-NeighbourCellInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryScramblingCode,
+ ...
+ },
+ tdd SEQUENCE{
+ cellParameterID CellParameterID,
+ -- coding is FFS
+ ...
+ },
+ ...
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters OPTIONAL,
+ sfn-SFN-RelTimeDifference SFN-SFN-RelTimeDifference1,
+ sfn-Offset-Validity SFN-Offset-Validity OPTIONAL,
+ sfn-SFN-Drift SFN-SFN-Drift OPTIONAL,
+ searchWindowSize OTDOA-SearchWindowSize,
+ positioningMode CHOICE {
+ ueBased SEQUENCE {
+ relativeNorth INTEGER (-20000..20000) OPTIONAL,
+ relativeEast INTEGER (-20000..20000) OPTIONAL,
+ relativeAltitude INTEGER (-4000..4000) OPTIONAL,
+ fineSFN-SFN FineSFNSFN OPTIONAL,
+ -- actual value roundTripTime = (IE value * 0.0625) + 876
+ roundTripTime INTEGER (0.. 32766) OPTIONAL,
+ ...
+ },
+ ueAssisted SEQUENCE {
+ ...
+ },
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { UE-Positioning-OTDOANeighbourCellInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-Positioning-OTDOANeighbourCellInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedRoundTripTime CRITICALITY ignore EXTENSION ExtendedRoundTripTime PRESENCE optional }, -- FDD only
+ ...
+}
+
+
+SFN-SFN-RelTimeDifference1 ::= SEQUENCE {
+ sfn-Offset INTEGER (0 .. 4095),
+ sfn-sfn-Reltimedifference INTEGER (0.. 38399),
+ iE-Extensions ProtocolExtensionContainer { { SFN-SFN-RelTimeDifference1-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SFN-SFN-RelTimeDifference1-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFN-Offset-Validity ::= ENUMERATED { false }
+
+OTDOA-SearchWindowSize ::= ENUMERATED {
+ c20, c40, c80, c160, c320,
+ c640, c1280, moreThan1280, ... }
+
+SFN-SFN-Drift ::= ENUMERATED {
+ sfnsfndrift0, sfnsfndrift1, sfnsfndrift2,
+ sfnsfndrift3, sfnsfndrift4, sfnsfndrift5,
+ sfnsfndrift8, sfnsfndrift10, sfnsfndrift15,
+ sfnsfndrift25, sfnsfndrift35, sfnsfndrift50,
+ sfnsfndrift65, sfnsfndrift80, sfnsfndrift100,
+ sfnsfndrift-1, sfnsfndrift-2, sfnsfndrift-3,
+ sfnsfndrift-4, sfnsfndrift-5, sfnsfndrift-8,
+ sfnsfndrift-10, sfnsfndrift-15, sfnsfndrift-25,
+ sfnsfndrift-35, sfnsfndrift-50, sfnsfndrift-65,
+ sfnsfndrift-80, sfnsfndrift-100, ...}
+
+
+FineSFNSFN ::= INTEGER (0..15)
+-- Range 0..0.9375 step size 0.0625
+
+
+-- **************************************************************
+--
+-- Vertical Accuracy Code
+--
+-- **************************************************************
+
+VerticalAccuracyCode ::= INTEGER (0..127)
+
+
+-- **************************************************************
+--
+-- UTDOA Group
+--
+-- **************************************************************
+
+UTDOA-Group ::= SEQUENCE {
+ uC-ID UC-ID,
+ frequencyInfo FrequencyInfo,
+ uTDOA-ChannelSettings UTDOA-RRCState,
+ iE-Extensions ProtocolExtensionContainer { { UTDOA-Group-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UTDOA-Group-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+FrequencyInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd FrequencyInfoFDD,
+ tdd FrequencyInfoTDD,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { FrequencyInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+FrequencyInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FrequencyInfoFDD ::= SEQUENCE {
+ uarfcn-UL UARFCN OPTIONAL,
+ uarfcn-DL UARFCN,
+ iE-Extensions ProtocolExtensionContainer { { FrequencyInfoFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+FrequencyInfoFDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FrequencyInfoTDD ::= SEQUENCE {
+
+ uarfcn UARFCN,
+ iE-Extensions ProtocolExtensionContainer { {FrequencyInfoTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FrequencyInfoTDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UTDOA-RRCState ::= CHOICE {
+ uTDOA-CELLDCH UTDOA-CELLDCH,
+ uTDOA-CELLFACH UTDOA-CELLFACH,
+ ...
+}
+
+-- ***********************************
+--
+-- UTDOA Cell DCH Information
+--
+-- ***********************************
+UTDOA-CELLDCH ::= SEQUENCE {
+ uL-DPCHInfo UL-DPCHInfo,
+ compressedModeAssistanceData Compressed-Mode-Assistance-Data OPTIONAL,
+ dCH-Information DCH-Information OPTIONAL,
+ e-DPCH-Information E-DPCH-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UTDOA-CELLDCH-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UTDOA-CELLDCH-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCHInfo ::= CHOICE {
+ fdd SEQUENCE {
+ scramblingCodeType ScramblingCodeType,
+ scramblingCode UL-ScramblingCode,
+ tfci-Existence BOOLEAN,
+ numberOfFBI-Bits NumberOfFBI-Bits,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCHInfoFDD-ExtIEs} } OPTIONAL,
+ ...
+
+ },
+ tdd SEQUENCE {
+ cellParameterID CellParameterID,
+ tFCI-Coding TFCI-Coding,
+ punctureLimit PuncturingLimit,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tdd-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information UL-Timeslot-Information,
+ frameOffset FrameOffset,
+ specialBurstScheduling SpecialBurstScheduling,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCHInfoTDD-ExtIEs} } OPTIONAL,
+ ...
+ },
+ ...
+
+ }
+
+UL-DPCHInfoFDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCHInfoTDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Compressed-Mode-Assistance-Data ::= SEQUENCE {
+ dl-information DL-InformationFDD,
+ ul-information UL-InformationFDD,
+ iE-Extensions ProtocolExtensionContainer { { Compressed-Mode-Assistance-DataFDD-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+Compressed-Mode-Assistance-DataFDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-InformationFDD ::= SEQUENCE {
+ primaryScramblingCode PrimaryScramblingCode,
+ chipOffset ChipOffset,
+ frameOffset FrameOffset,
+ iE-Extensions ProtocolExtensionContainer { { DL-InformationFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+DL-InformationFDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-InformationFDD ::= SEQUENCE {
+ transmissionGapPatternSequenceInfo Transmission-Gap-Pattern-Sequence-Information,
+ activePatternSequenceInfo Active-Pattern-Sequence-Information,
+ cFN CFN,
+ iE-Extensions ProtocolExtensionContainer { { UL-InformationFDD-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+UL-InformationFDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transmission-Gap-Pattern-Sequence-Information ::= SEQUENCE (SIZE (1..maxTGPS)) OF
+ SEQUENCE {
+ tGPSID TGPSID,
+ tGSN TGSN,
+ tGL1 GapLength,
+ tGL2 GapLength OPTIONAL,
+ tGD TGD,
+ tGPL1 GapDuration,
+ uplink-Compressed-Mode-Method Uplink-Compressed-Mode-Method,
+ iE-Extensions ProtocolExtensionContainer { {Transmission-Gap-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Transmission-Gap-Pattern-Sequence-Information-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TGD ::= INTEGER (0|15..269)
+-- 0 = Undefined, only one transmission gap in the transmission gap pattern sequence
+
+TGPRC ::= INTEGER (0..511)
+-- 0 = infinity
+
+TGPSID ::= INTEGER (1.. maxTGPS)
+
+
+TGSN ::= INTEGER (0..14)
+
+
+Uplink-Compressed-Mode-Method ::= ENUMERATED {
+ sFdiv2,
+ higher-layer-scheduling,
+ ...
+}
+
+GapDuration ::= INTEGER (1..144,...)
+-- Unit frame
+
+GapLength ::= INTEGER (1..14)
+-- Unit slot
+
+Active-Pattern-Sequence-Information ::= SEQUENCE {
+ cMConfigurationChangeCFN CFN,
+ transmission-Gap-Pattern-Sequence-Status Transmission-Gap-Pattern-Sequence-Status-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Active-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Active-Pattern-Sequence-Information-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transmission-Gap-Pattern-Sequence-Status-List ::= SEQUENCE (SIZE (1..maxTGPS)) OF
+ SEQUENCE {
+ tGPSID TGPSID,
+ tGPRC TGPRC,
+ tGCFN CFN,
+ iE-Extensions ProtocolExtensionContainer { { Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-Information ::= SEQUENCE {
+ tFCS TFCS,
+ trChInfo TrChInfoList,
+ iE-Extensions ProtocolExtensionContainer { { DCH-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-Information-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TrChInfoList ::= SEQUENCE (SIZE(1..maxTrCH)) OF
+ UL-TrCHInfo
+
+UL-TrCHInfo ::= SEQUENCE {
+ uL-TrCHtype UL-TrCHType,
+ tfs TransportFormatSet,
+ iE-Extensions ProtocolExtensionContainer { { UL-TrCHInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-TrCHInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-TrCHType ::= ENUMERATED {dch, usch, ...}
+
+
+E-DPCH-Information ::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs,
+ ul-PunctureLimit PuncturingLimit,
+ e-TFCS-Information E-TFCS-Information,
+ e-TTI E-TTI,
+ e-DPCCH-PO E-DPCCH-PO OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DPCH-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DPCH-Information-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Max-Set-E-DPDCHs ::= ENUMERATED {
+ vN64, vN32, vN16, vN8, v2xN4, v2xN2, v2xN2plus2xN4,
+ ...
+ }
+-- Values related to TS 25.212 [16]
+
+E-TFCS-Information ::= SEQUENCE {
+ e-DCH-TFCS-Index E-DCH-TFCS-Index,
+ reference-E-TFCI-Information Reference-E-TFCI-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-TFCS-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-TFCS-Information-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TFCS-Index ::= INTEGER (1..4,...)
+
+
+Reference-E-TFCI-Information ::= SEQUENCE (SIZE (1..maxNrOfRefETFCIs)) OF Reference-E-TFCI-Information-Item
+
+Reference-E-TFCI-Information-Item ::= SEQUENCE {
+ reference-E-TFCI E-TFCI,
+ reference-E-TFCI-PO Reference-E-TFCI-PO,
+ iE-Extensions ProtocolExtensionContainer { { Reference-E-TFCI-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Reference-E-TFCI-Information-Item-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Reference-E-TFCI-PO ::= INTEGER (0.. maxNrOfRefETFCI-PO-QUANTSTEPs)
+ -- FFS according to mapping in TS 25.213 [17]
+
+E-TFCI ::= INTEGER (0..127)
+
+E-TTI ::= ENUMERATED {
+ e-TTI-2ms,
+ e-TTI-10ms,
+ ...
+}
+
+E-DPCCH-PO ::= INTEGER (0..maxNrOfEDPCCH-PO-QUANTSTEPs)
+
+CellParameterID ::= INTEGER (0..127,...)
+
+TFCI-Coding ::= ENUMERATED {
+ v4,
+ v8,
+ v16,
+ v32,
+ ...
+}
+
+RepetitionLength ::= INTEGER (1..63)
+
+RepetitionPeriod ::= ENUMERATED {
+ v1,
+ v2,
+ v4,
+ v8,
+ v16,
+ v32,
+ v64,
+ ...
+}
+
+TDD-DPCHOffset ::= CHOICE {
+ initialOffset INTEGER (0..255),
+ noinitialOffset INTEGER (0..63)
+}
+
+UL-Timeslot-Information ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationItem
+
+maxNrOfULTSs INTEGER ::= 15
+UL-Timeslot-InformationItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tFCI-Presence BOOLEAN,
+ uL-Code-InformationList TDD-UL-Code-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TimeSlot ::= INTEGER (0..14)
+
+MidambleShiftAndBurstType ::= CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2 MidambleConfigurationBurstType2,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftShort,
+ ...
+ },
+ ...
+ },
+ type3 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ ...
+}
+
+MidambleShiftLong ::= INTEGER (0..15)
+
+MidambleShiftShort ::= INTEGER (0..5)
+
+MidambleConfigurationBurstType1And3 ::= ENUMERATED {v4, v8, v16}
+
+MidambleConfigurationBurstType2 ::= ENUMERATED {v3, v6}
+
+TDD-UL-Code-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF TDD-UL-Code-InformationItem
+
+maxNrOfDPCHs INTEGER ::= 240
+
+TDD-UL-Code-InformationItem ::= SEQUENCE {
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { TDD-UL-Code-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-InformationItem-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-ChannelisationCode ::= ENUMERATED {
+ chCode1div1,
+ chCode2div1,
+ chCode2div2,
+ chCode4div1,
+ chCode4div2,
+ chCode4div3,
+ chCode4div4,
+ chCode8div1,
+ chCode8div2,
+ chCode8div3,
+ chCode8div4,
+ chCode8div5,
+ chCode8div6,
+ chCode8div7,
+ chCode8div8,
+ chCode16div1,
+ chCode16div2,
+ chCode16div3,
+ chCode16div4,
+ chCode16div5,
+ chCode16div6,
+ chCode16div7,
+ chCode16div8,
+ chCode16div9,
+ chCode16div10,
+ chCode16div11,
+ chCode16div12,
+ chCode16div13,
+ chCode16div14,
+ chCode16div15,
+ chCode16div16,
+ ...
+}
+
+SpecialBurstScheduling ::= INTEGER (1..256) -- Number of frames between special burst transmission during DTX
+
+-- **********************************
+--
+-- UTDOA Cell Fach Information
+--
+-- **********************************
+
+UTDOA-CELLFACH ::= SEQUENCE {
+ pRACHparameters PRACHparameters,
+ cRNTI C-RNTI,
+ uschParameters UschParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UTDOA-CELLFACH-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UTDOA-CELLFACH-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRACHparameters ::= SEQUENCE (SIZE (1..maxPRACH)) OF
+ PRACH-ChannelInfo
+
+
+PRACH-ChannelInfo ::= SEQUENCE {
+ pRACH-Info PRACH-Info,
+ tFS TransportFormatSet,
+ tFCS TFCS,
+ iE-Extensions ProtocolExtensionContainer { { PRACH-ChannelInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRACH-ChannelInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+PRACH-Info ::= CHOICE {
+ fdd SEQUENCE {
+ availableSignatures AvailableSignatures,
+ availableSF SF-PRACH,
+ preambleScramblingCodeWordNumber PreambleScramblingCodeWordNumber,
+ puncturingLimit PuncturingLimit,
+ availableSubChannelNumbers AvailableSubChannelNumbers,
+ iE-Extensions ProtocolExtensionContainer { { PRACH-Info-FDD-ExtIEs} } OPTIONAL,
+ ...
+ },
+ tdd SEQUENCE {
+ timeSlot TimeSlot,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ maxPRACH-MidambleShifts MaxPRACH-MidambleShifts,
+ pRACH-Midamble PRACH-Midamble,
+ iE-Extensions ProtocolExtensionContainer { { PRACH-Info-TDD-ExtIEs} } OPTIONAL,
+ ...
+ },
+ ...
+}
+
+PRACH-Info-FDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PRACH-Info-TDD-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SF-PRACH ::= ENUMERATED {
+ sfpr32, sfpr64, sfpr128, sfpr256, ... }
+
+AvailableSignatures ::= BIT STRING {
+ signature15(0),
+ signature14(1),
+ signature13(2),
+ signature12(3),
+ signature11(4),
+ signature10(5),
+ signature9(6),
+ signature8(7),
+ signature7(8),
+ signature6(9),
+ signature5(10),
+ signature4(11),
+ signature3(12),
+ signature2(13),
+ signature1(14),
+ signature0(15)
+ } (SIZE(16))
+
+PreambleScramblingCodeWordNumber ::= INTEGER (0..15)
+
+PuncturingLimit ::= INTEGER (0..15)
+-- 0: 40%; 1: 44%; ... 14: 96%; 15: 100%
+
+
+AvailableSubChannelNumbers ::= BIT STRING {
+ subCh11(0),
+ subCh10(1),
+ subCh9(2),
+ subCh8(3),
+ subCh7(4),
+ subCh6(5),
+ subCh5(6),
+ subCh4(7),
+ subCh3(8),
+ subCh2(9),
+ subCh1(10),
+ subCh0(11)
+ } (SIZE(12))
+
+
+ScramblingCodeType ::= ENUMERATED {
+ shortSC,
+ longSC }
+
+UL-ScramblingCode ::= INTEGER (0..16777215)
+
+NumberOfFBI-Bits ::= INTEGER (0..2)
+
+TransportFormatSet ::= SEQUENCE {
+ dynamicPart TransportFormatSet-DynamicPartList,
+ semi-staticPart TransportFormatSet-Semi-staticPart,
+ iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransportFormatSet-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportFormatSet-DynamicPartList ::= SEQUENCE (SIZE (1..maxNrOfTFs)) OF
+ SEQUENCE {
+ rlc-Size RLC-Size,
+ numberOfTbsTTIList SEQUENCE (SIZE (1..maxNrOfTFs)) OF TbsTTIInfo,
+ iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-DynamicPartList-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+TransportFormatSet-DynamicPartList-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TbsTTIInfo ::= SEQUENCE {
+ tTIInfo TransportFormatSet-TransmissionTimeIntervalDynamic OPTIONAL,
+ numberOfTbs TransportFormatSet-NrOfTransportBlocks,
+ iE-Extensions ProtocolExtensionContainer { { TbsTTIInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TbsTTIInfo-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLC-Size ::= INTEGER (129..5055)
+
+
+TransportFormatSet-NrOfTransportBlocks ::= INTEGER (0..512)
+
+
+TransportFormatSet-Semi-staticPart ::= SEQUENCE {
+ transmissionTimeInterval TransportFormatSet-TransmissionTimeIntervalSemiStatic,
+ channelCoding TransportFormatSet-ChannelCodingType,
+ codingRate TransportFormatSet-CodingRate OPTIONAL,
+ -- This IE shall be present if the Type of channel coding IE is set to 'convolutional' or 'turbo'
+ rateMatchingAttribute TransportFormatSet-RateMatchingAttribute,
+ cRC-Size TransportFormatSet-CRC-Size,
+ iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-Semi-staticPart-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransportFormatSet-Semi-staticPart-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportFormatSet-TransmissionTimeIntervalSemiStatic ::= ENUMERATED {
+ msec-5,
+ msec-10,
+ msec-20,
+ msec-40,
+ msec-80,
+ dynamic,
+ ...
+}
+
+TransportFormatSet-ChannelCodingType ::= ENUMERATED {
+ no-codingTDD,
+ convolutional-coding,
+ turbo-coding,
+ ...
+}
+
+TransportFormatSet-CodingRate ::= ENUMERATED {
+ half,
+ third,
+ ...
+}
+
+TransportFormatSet-RateMatchingAttribute ::= INTEGER (1..maxRateMatching)
+
+TransportFormatSet-CRC-Size ::= ENUMERATED {
+ v0,
+ v8,
+ v12,
+ v16,
+ v24,
+ ...
+}
+
+
+
+TransportFormatSet-TransmissionTimeIntervalDynamic ::= ENUMERATED {
+ msec-10,
+ msec-20,
+ msec-40,
+ msec-80,
+ dynamic,
+ ...
+}
+
+TFCS ::= SEQUENCE (SIZE (1..maxTFC)) OF CTFC
+
+CTFC ::= CHOICE{
+ ctfc2Bit SEQUENCE (SIZE (1..maxTFC)) OF INTEGER (0..3),
+ ctfc4Bit SEQUENCE (SIZE (1..maxTFC)) OF INTEGER (0..15),
+ ctfc6Bit SEQUENCE (SIZE (1..maxTFC)) OF INTEGER (0..63),
+ ctfc8Bit SEQUENCE (SIZE (1..maxTFC)) OF INTEGER (0..255),
+ ctfc12Bit SEQUENCE (SIZE (1..maxTFC)) OF INTEGER (0..4095),
+ ctfc16Bit SEQUENCE (SIZE (1..maxTFC)) OF INTEGER (0..65535),
+ ctfc24Bit SEQUENCE (SIZE (1..maxTFC)) OF INTEGER (0..16777215),
+ ...
+ }
+
+
+C-RNTI ::= BIT STRING (SIZE (16))
+
+UARFCN ::= INTEGER (0..16383)
+
+
+CFN ::= INTEGER (0..255)
+
+ChipOffset ::= INTEGER (0..38399)
+-- Unit Chip
+
+FrameOffset ::= INTEGER (0..255)
+
+PrimaryScramblingCode ::= INTEGER (0..511)
+
+UschParameters ::= SEQUENCE {
+ cellParameterID CellParameterID,
+ tFCI-Coding TFCI-Coding,
+ punctureLimit PuncturingLimit,
+ repetitionPeriod RepetitionPeriod,
+ uSCH-SchedulingOffset USCH-SchedulingOffset,
+ uL-Timeslot-Information UL-Timeslot-Information,
+ tFCS TFCS,
+ trChInfo TrChInfoList,
+ iE-Extensions ProtocolExtensionContainer { { UschParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UschParameters-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+USCH-SchedulingOffset ::= INTEGER (0..255)
+
+MaxPRACH-MidambleShifts ::= ENUMERATED {
+ shift4,
+ shift8,
+ ...
+}
+
+PRACH-Midamble ::= ENUMERATED {
+ inverted,
+ direct,
+ ...
+}
+
+--******************************************
+--
+-- Positioning Response Time
+--
+--******************************************
+
+Positioning-ResponseTime ::= ENUMERATED { ms250, ms500, s1, s2, s3, s4, s6,
+ s8, s12, s16, s20, s24, s28, s32, s64,
+ ...
+ }
+
+--******************************************
+--
+-- Amount of Reporting
+--
+--******************************************
+
+AmountOfReporting ::= ENUMERATED { ra2, ra4, ra8, ra16, ra32,
+ ra64, ra-Infinity, ... }
+
+
+
+-- **************************************************************
+--
+-- Include Velocity
+--
+-- **************************************************************
+
+IncludeVelocity ::= ENUMERATED {
+ requested
+}
+
+
+-- **************************************************************
+--
+-- VelocityEstimate
+--
+-- **************************************************************
+
+-- VelocityEstimate is based on Description of Velocity in 23.032
+
+VelocityEstimate ::= CHOICE {
+ horizontalVelocity HorizontalVelocity,
+ horizontalWithVerticalVelocity HorizontalWithVerticalVelocity,
+ horizontalVelocityWithUncertainty HorizontalVelocityWithUncertainty,
+ horizontalWithVerticalVelocityAndUncertainty HorizontalWithVerticalVelocityAndUncertainty,
+ ...
+}
+
+HorizontalVelocity ::= SEQUENCE {
+ horizontalSpeedAndBearing HorizontalSpeedAndBearing,
+ iE-Extensions ProtocolExtensionContainer { { HorizontalVelocity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HorizontalVelocity-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HorizontalWithVerticalVelocity ::= SEQUENCE {
+ horizontalSpeedAndBearing HorizontalSpeedAndBearing,
+ verticalVelocity VerticalVelocity,
+ iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HorizontalWithVerticalVelocity-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+HorizontalVelocityWithUncertainty ::= SEQUENCE {
+ horizontalSpeedAndBearing HorizontalSpeedAndBearing,
+ uncertaintySpeed INTEGER (0..255),
+ iE-Extensions ProtocolExtensionContainer { { HorizontalVelocityWithUncertainty-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HorizontalVelocityWithUncertainty-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
+ horizontalSpeedAndBearing HorizontalSpeedAndBearing,
+ verticalVelocity VerticalVelocity,
+ horizontalUncertaintySpeed INTEGER (0..255),
+ verticalUncertaintySpeed INTEGER (0..255),
+ iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocityAndUncertainty-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HorizontalWithVerticalVelocityAndUncertainty-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HorizontalSpeedAndBearing ::= SEQUENCE {
+ bearing INTEGER (0..359),
+ horizontalSpeed INTEGER (0..2047)
+}
+
+VerticalVelocity ::= SEQUENCE {
+ verticalSpeed INTEGER (0..255),
+ verticalSpeedDirection VerticalSpeedDirection
+}
+
+VerticalSpeedDirection ::= ENUMERATED {
+ upward,
+ downward
+}
+
+
+
+--******************************************
+--
+-- UTRAN-GPS Reference Time
+--
+--******************************************
+
+UTRAN-GPSReferenceTime ::= SEQUENCE {
+ utran-GPSTimingOfCell INTEGER (0..2322431999999, ...),
+ uC-ID UC-ID OPTIONAL,
+ sfn INTEGER (0..4095),
+ iE-Extensions ProtocolExtensionContainer { { UTRAN-GPSReferenceTime-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UTRAN-GPSReferenceTime-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+--******************************************
+--
+-- UTRAN-GPS Reference Time Result
+--
+--******************************************
+
+UTRAN-GPSReferenceTimeResult ::= SEQUENCE {
+ ue-GPSTimingOfCell INTEGER (0..37158911999999, ...),
+ uC-ID UC-ID,
+ sfn INTEGER (0..4095),
+ iE-Extensions ProtocolExtensionContainer { { UTRAN-GPSReferenceTimeResult-ExtIEs } } OPTIONAL,
+ ...
+
+}
+
+UTRAN-GPSReferenceTimeResult-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+--******************************************
+--
+-- UTRAN-GANSS Reference Time Result
+--
+--******************************************
+
+UTRAN-GANSSReferenceTimeResult ::= SEQUENCE {
+ ue-GANSSTimingOfCell INTEGER (0..345599999999, ...),
+ ganss-Time-ID GANSSID OPTIONAL,
+ ganssTodUncertainty INTEGER(0..127) OPTIONAL,
+ uC-ID UC-ID,
+ sfn INTEGER (0..4095),
+ iE-Extensions ProtocolExtensionContainer { { UTRAN-GANSSReferenceTimeResult-ExtIEs } } OPTIONAL,
+ ...
+
+}
+
+UTRAN-GANSSReferenceTimeResult-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/pcap/PCAP-PDU-Contents.asn b/epan/dissectors/asn1/pcap/PCAP-PDU-Contents.asn
new file mode 100644
index 00000000..dc759c40
--- /dev/null
+++ b/epan/dissectors/asn1/pcap/PCAP-PDU-Contents.asn
@@ -0,0 +1,776 @@
+--
+-- 3GPP TS 25.453 V17.0.0 (2022-04)
+--
+--9.3.3 PDU Definitions
+-- **************************************************************
+--
+-- PDU definitions for PCAP.
+--
+-- **************************************************************
+
+PCAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) pcap(4) version1 (1) pcap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Cause,
+ CriticalityDiagnostics,
+ GPS-UTRAN-TRU,
+ InformationExchangeID,
+ InformationReportCharacteristics,
+ InformationType,
+ MeasuredResultsList,
+ RequestedDataValue,
+ RequestedDataValueInformation,
+ UE-PositionEstimate,
+ CellId-MeasuredResultsSets,
+ OTDOA-MeasurementGroup,
+ AccuracyFulfilmentIndicator,
+ HorizontalAccuracyCode,
+ VerticalAccuracyCode,
+ RequestType,
+ UE-PositioningCapability,
+ UC-ID,
+ ResponseTime,
+ PositioningPriority,
+ ClientType,
+ PositioningMethod,
+ UTDOAPositioning,
+ GPSPositioning,
+ OTDOAAssistanceData,
+ UTDOA-Group,
+ Positioning-ResponseTime,
+ EnvironmentCharacterisation,
+ PositionData,
+ IncludeVelocity,
+ VelocityEstimate,
+ UE-PositionEstimateInfo,
+ OTDOA-MeasuredResultsSets,
+ PeriodicPosCalcInfo,
+ PeriodicLocationInfo,
+ AmountOfReporting,
+ MeasInstructionsUsed,
+ RRCstateChange,
+ PeriodicTerminationCause,
+ CellIDPositioning,
+ GANSS-MeasuredResultsList,
+ GANSSPositioning,
+ GANSS-UTRAN-TRU,
+ AdditionalGPSAssistDataRequired,
+ AdditionalGanssAssistDataRequired,
+ OTDOA-ReferenceCellInfoSAS-centric,
+ CellId-IRATMeasuredResultsSets,
+ IMSI,
+ IMEI,
+ AddPos-MeasuredResults
+
+
+FROM PCAP-IEs
+
+ TransactionID
+
+FROM PCAP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-Container{},
+ ProtocolIE-Single-Container{},
+ PrivateIE-Container{},
+ PCAP-PRIVATE-IES,
+ PCAP-PROTOCOL-EXTENSION,
+ PCAP-PROTOCOL-IES
+
+FROM PCAP-Containers
+
+ id-Cause,
+ id-CriticalityDiagnostics,
+ id-GPS-UTRAN-TRU,
+ id-InformationExchangeID,
+ id-InformationExchangeObjectType-InfEx-Rprt,
+ id-InformationExchangeObjectType-InfEx-Rqst,
+ id-InformationExchangeObjectType-InfEx-Rsp,
+ id-InformationReportCharacteristics,
+ id-InformationType,
+ id-GPS-MeasuredResultsList,
+ id-RequestedDataValue,
+ id-RequestedDataValueInformation,
+ id-TransactionID,
+ id-UE-PositionEstimate,
+ id-CellId-MeasuredResultsSets,
+ id-OTDOA-MeasurementGroup,
+ id-AccuracyFulfilmentIndicator,
+ id-HorizontalAccuracyCode,
+ id-VerticalAccuracyCode,
+ id-RequestType,
+ id-UE-PositioningCapability,
+ id-UC-id,
+ id-ResponseTime,
+ id-PositioningPriority,
+ id-ClientType,
+ id-PositioningMethod,
+ id-UTDOAPositioning,
+ id-GPSPositioning,
+ id-OTDOAAssistanceData,
+ id-UTDOA-Group,
+ id-Positioning-ResponseTime,
+ id-EnvironmentCharacterisation,
+ id-PositionData,
+ id-IncludeVelocity,
+ id-VelocityEstimate,
+ id-UE-PositionEstimateInfo,
+ id-UC-ID-InfEx-Rqst,
+ id-OTDOA-MeasuredResultsSets,
+ id-PeriodicPosCalcInfo,
+ id-PeriodicLocationInfo,
+ id-AmountOfReporting,
+ id-MeasInstructionsUsed,
+ id-RRCstateChange,
+ id-PeriodicTerminationCause,
+ id-CellIDPositioning,
+ id-GANSS-MeasuredResultsList,
+ id-GANSSPositioning,
+ id-GANSS-UTRAN-TRU,
+ id-AdditionalGPSAssistDataRequired,
+ id-AdditionalGanssAssistDataRequired,
+ id-OTDOA-ReferenceCellInfo,
+ id-CellId-IRATMeasuredResultsSets,
+ id-IMSI,
+ id-IMEI,
+ id-AddPos-MeasuredResults
+
+
+FROM PCAP-Constants;
+
+-- **************************************************************
+--
+-- Position Calculation Request
+--
+-- **************************************************************
+
+PositionCalculationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionCalculationRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionCalculationRequestExtensions} } OPTIONAL,
+ ...
+}
+
+PositionCalculationRequestIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-UE-PositionEstimate CRITICALITY reject TYPE UE-PositionEstimate PRESENCE optional } |
+ { ID id-GPS-MeasuredResultsList CRITICALITY reject TYPE MeasuredResultsList PRESENCE optional },
+ ...
+}
+
+PositionCalculationRequestExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CellId-MeasuredResultsSets CRITICALITY reject EXTENSION CellId-MeasuredResultsSets PRESENCE optional } |
+ { ID id-OTDOA-MeasurementGroup CRITICALITY reject EXTENSION OTDOA-MeasurementGroup PRESENCE optional } |
+ { ID id-HorizontalAccuracyCode CRITICALITY ignore EXTENSION HorizontalAccuracyCode PRESENCE optional } |
+ { ID id-VerticalAccuracyCode CRITICALITY ignore EXTENSION VerticalAccuracyCode PRESENCE optional } |
+ { ID id-UTDOA-Group CRITICALITY reject EXTENSION UTDOA-Group PRESENCE optional } |
+ { ID id-Positioning-ResponseTime CRITICALITY ignore EXTENSION Positioning-ResponseTime PRESENCE optional } |
+ { ID id-IncludeVelocity CRITICALITY ignore EXTENSION IncludeVelocity PRESENCE optional } |
+ { ID id-PeriodicPosCalcInfo CRITICALITY ignore EXTENSION PeriodicPosCalcInfo PRESENCE optional } |
+ { ID id-GANSS-MeasuredResultsList CRITICALITY reject EXTENSION GANSS-MeasuredResultsList PRESENCE optional } |
+ { ID id-CellId-IRATMeasuredResultsSets CRITICALITY ignore EXTENSION CellId-IRATMeasuredResultsSets PRESENCE optional } |
+ { ID id-IMSI CRITICALITY ignore EXTENSION IMSI PRESENCE optional } |
+ { ID id-IMEI CRITICALITY ignore EXTENSION IMEI PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Position Calculation Response
+--
+-- **************************************************************
+
+PositionCalculationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionCalculationResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionCalculationResponseExtensions} } OPTIONAL,
+ ...
+}
+
+PositionCalculationResponseIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-UE-PositionEstimate CRITICALITY ignore TYPE UE-PositionEstimate PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+PositionCalculationResponseExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AccuracyFulfilmentIndicator CRITICALITY ignore EXTENSION AccuracyFulfilmentIndicator PRESENCE optional} |
+ { ID id-VelocityEstimate CRITICALITY ignore EXTENSION VelocityEstimate PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Position Calculation Failure
+--
+-- **************************************************************
+
+PositionCalculationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionCalculationFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionCalculationFailureExtensions} } OPTIONAL,
+ ...
+}
+
+PositionCalculationFailureIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+PositionCalculationFailureExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE INITIATION REQUEST
+--
+-- **************************************************************
+
+InformationExchangeInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeInitiationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeInitiationRequest-IEs PCAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-InformationExchangeObjectType-InfEx-Rqst CRITICALITY reject TYPE InformationExchangeObjectType-InfEx-Rqst PRESENCE mandatory }|
+ -- This IE represents both the Information Exchange Object Type IE and the choice based on the Information Exchange Object Type
+ -- as described in the tabular message format in clause 9.1.
+ { ID id-InformationType CRITICALITY reject TYPE InformationType PRESENCE mandatory }|
+ { ID id-InformationReportCharacteristics CRITICALITY reject TYPE InformationReportCharacteristics PRESENCE mandatory }|
+ { ID id-GPS-UTRAN-TRU CRITICALITY reject TYPE GPS-UTRAN-TRU PRESENCE conditional },
+ -- This IE shall be present if the information requested in the Information Type IE contains GPS-related data
+ ...
+}
+
+InformationExchangeInitiationRequest-Extensions PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-UTRAN-TRU CRITICALITY reject EXTENSION GANSS-UTRAN-TRU PRESENCE conditional } |
+ -- This IE shall be present if the information requested in the Information Type IE contains GANSS-related data
+ { ID id-IMSI CRITICALITY ignore EXTENSION IMSI PRESENCE optional } |
+ { ID id-IMEI CRITICALITY ignore EXTENSION IMEI PRESENCE optional },
+ ...
+}
+
+InformationExchangeObjectType-InfEx-Rqst ::= CHOICE {
+ referencePosition RefPosition-InfEx-Rqst,
+ ... ,
+ extension-InformationExchangeObjectType-InfEx-Rqst Extension-InformationExchangeObjectType-InfEx-Rqst
+}
+
+RefPosition-InfEx-Rqst ::= SEQUENCE {
+ referencePositionEstimate UE-PositionEstimate,
+ iE-Extensions ProtocolExtensionContainer { { RefPositionItem-InfEx-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RefPositionItem-InfEx-Rqst-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extension-InformationExchangeObjectType-InfEx-Rqst ::= ProtocolIE-Single-Container {{ Extension-InformationExchangeObjectType-InfEx-RqstIE }}
+
+Extension-InformationExchangeObjectType-InfEx-RqstIE PCAP-PROTOCOL-IES ::= {
+ { ID id-UC-ID-InfEx-Rqst CRITICALITY reject TYPE UC-ID-InfEx-Rqst PRESENCE mandatory } |
+ { ID id-CellId-MeasuredResultsSets CRITICALITY ignore TYPE CellId-MeasuredResultsSets PRESENCE mandatory }
+}
+
+UC-ID-InfEx-Rqst ::= SEQUENCE {
+ referenceUC-ID UC-ID,
+ iE-Extensions ProtocolExtensionContainer { { UCIDItem-InfEx-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UCIDItem-InfEx-Rqst-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE INITIATION RESPONSE
+--
+-- **************************************************************
+
+InformationExchangeInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeInitiationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeInitiationResponse-IEs PCAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-InformationExchangeObjectType-InfEx-Rsp CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rsp PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+InformationExchangeInitiationResponse-Extensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationExchangeObjectType-InfEx-Rsp ::= CHOICE {
+ referencePosition RefPosition-InfEx-Rsp,
+ ...
+}
+
+RefPosition-InfEx-Rsp ::= SEQUENCE {
+ requestedDataValue RequestedDataValue,
+ iE-Extensions ProtocolExtensionContainer { { RefPositionItem-InfEx-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RefPositionItem-InfEx-Rsp-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE INITIATION FAILURE
+--
+-- **************************************************************
+
+InformationExchangeInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeInitiationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeInitiationFailure-IEs PCAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+InformationExchangeInitiationFailure-Extensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITION INITIATION REQUEST
+--
+-- **************************************************************
+
+PositionInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionInitiationRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionInitiationRequestExtensions} } OPTIONAL,
+ ...
+}
+
+PositionInitiationRequestIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-RequestType CRITICALITY reject TYPE RequestType PRESENCE mandatory } |
+ { ID id-UE-PositioningCapability CRITICALITY reject TYPE UE-PositioningCapability PRESENCE mandatory } |
+ { ID id-UC-id CRITICALITY reject TYPE UC-ID PRESENCE mandatory } |
+ { ID id-VerticalAccuracyCode CRITICALITY ignore TYPE VerticalAccuracyCode PRESENCE optional } |
+ { ID id-ResponseTime CRITICALITY ignore TYPE ResponseTime PRESENCE optional } |
+ { ID id-PositioningPriority CRITICALITY ignore TYPE PositioningPriority PRESENCE optional } |
+ { ID id-ClientType CRITICALITY ignore TYPE ClientType PRESENCE optional },
+ ...
+}
+
+PositionInitiationRequestExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IncludeVelocity CRITICALITY ignore EXTENSION IncludeVelocity PRESENCE optional }|
+ { ID id-PeriodicLocationInfo CRITICALITY ignore EXTENSION PeriodicLocationInfo PRESENCE optional }|
+ { ID id-IMSI CRITICALITY ignore EXTENSION IMSI PRESENCE optional }|
+ { ID id-IMEI CRITICALITY ignore EXTENSION IMEI PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITION INITIATION RESPONSE
+--
+-- **************************************************************
+
+PositionInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionInitiationResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionInitiationResponseExtensions} } OPTIONAL,
+ ...
+}
+
+PositionInitiationResponseIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-UE-PositionEstimate CRITICALITY reject TYPE UE-PositionEstimate PRESENCE mandatory } |
+ { ID id-PositionData CRITICALITY ignore TYPE PositionData PRESENCE mandatory } |
+ { ID id-AccuracyFulfilmentIndicator CRITICALITY ignore TYPE AccuracyFulfilmentIndicator PRESENCE optional },
+ ...
+}
+
+PositionInitiationResponseExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-VelocityEstimate CRITICALITY ignore EXTENSION VelocityEstimate PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITION INITIATION FAILURE
+--
+-- **************************************************************
+
+PositionInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionInitiationFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionInitiationFailureExtensions} } OPTIONAL,
+ ...
+}
+
+PositionInitiationFailureIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+PositionInitiationFailureExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITION ACTIVATION REQUEST
+--
+-- **************************************************************
+
+PositionActivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionActivationRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionActivationRequestExtensions} } OPTIONAL,
+ ...
+}
+
+PositionActivationRequestIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-PositioningMethod CRITICALITY reject TYPE PositioningMethod PRESENCE mandatory } |
+ { ID id-Positioning-ResponseTime CRITICALITY ignore TYPE Positioning-ResponseTime PRESENCE mandatory } |
+ { ID id-PositioningPriority CRITICALITY ignore TYPE PositioningPriority PRESENCE optional } |
+ { ID id-EnvironmentCharacterisation CRITICALITY ignore TYPE EnvironmentCharacterisation PRESENCE optional } |
+ { ID id-UTDOAPositioning CRITICALITY reject TYPE UTDOAPositioning PRESENCE optional } |
+ { ID id-GPSPositioning CRITICALITY reject TYPE GPSPositioning PRESENCE optional } |
+ { ID id-OTDOAAssistanceData CRITICALITY reject TYPE OTDOAAssistanceData PRESENCE optional },
+ ...
+}
+
+PositionActivationRequestExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IncludeVelocity CRITICALITY ignore EXTENSION IncludeVelocity PRESENCE optional } |
+ { ID id-AmountOfReporting CRITICALITY ignore EXTENSION AmountOfReporting PRESENCE optional } |
+ { ID id-CellIDPositioning CRITICALITY ignore EXTENSION CellIDPositioning PRESENCE optional }|
+ { ID id-GANSSPositioning CRITICALITY reject EXTENSION GANSSPositioning PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITION ACTIVATION RESPONSE
+--
+-- **************************************************************
+
+PositionActivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionActivationResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionActivationResponseExtensions} } OPTIONAL,
+ ...
+}
+
+PositionActivationResponseIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-UE-PositionEstimateInfo CRITICALITY ignore TYPE UE-PositionEstimateInfo PRESENCE optional } |
+ { ID id-GPS-MeasuredResultsList CRITICALITY reject TYPE MeasuredResultsList PRESENCE optional } |
+ { ID id-CellId-MeasuredResultsSets CRITICALITY reject TYPE CellId-MeasuredResultsSets PRESENCE optional } |
+ { ID id-OTDOA-MeasuredResultsSets CRITICALITY reject TYPE OTDOA-MeasuredResultsSets PRESENCE optional } |
+ { ID id-UTDOA-Group CRITICALITY reject TYPE UTDOA-Group PRESENCE optional },
+ ...
+}
+
+PositionActivationResponseExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-VelocityEstimate CRITICALITY ignore EXTENSION VelocityEstimate PRESENCE optional}|
+ { ID id-MeasInstructionsUsed CRITICALITY ignore EXTENSION MeasInstructionsUsed PRESENCE optional}|
+ { ID id-GANSS-MeasuredResultsList CRITICALITY reject EXTENSION GANSS-MeasuredResultsList PRESENCE optional}|
+ { ID id-AdditionalGPSAssistDataRequired CRITICALITY ignore EXTENSION AdditionalGPSAssistDataRequired PRESENCE optional}|
+ { ID id-AdditionalGanssAssistDataRequired CRITICALITY ignore EXTENSION AdditionalGanssAssistDataRequired PRESENCE optional}|
+ { ID id-OTDOA-ReferenceCellInfo CRITICALITY reject EXTENSION OTDOA-ReferenceCellInfoSAS-centric PRESENCE optional}|
+ { ID id-CellId-IRATMeasuredResultsSets CRITICALITY ignore EXTENSION CellId-IRATMeasuredResultsSets PRESENCE optional}|
+ { ID id-AddPos-MeasuredResults CRITICALITY reject EXTENSION AddPos-MeasuredResults PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- POSITION ACTIVATION FAILURE
+--
+-- **************************************************************
+
+PositionActivationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionActivationFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionActivationFailureExtensions} } OPTIONAL,
+ ...
+}
+
+PositionActivationFailureIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+PositionActivationFailureExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INFORMATION REPORT
+--
+-- **************************************************************
+
+InformationReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationReport-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationReport-IEs PCAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-InformationExchangeObjectType-InfEx-Rprt CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rprt PRESENCE mandatory },
+ ...
+}
+
+InformationReport-Extensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationExchangeObjectType-InfEx-Rprt ::= CHOICE {
+ referencePosition RefPosition-InfEx-Rprt,
+ ...
+ }
+
+RefPosition-InfEx-Rprt ::= SEQUENCE {
+ requestedDataValueInformation RequestedDataValueInformation,
+ iE-Extensions ProtocolExtensionContainer {{ RefPositionItem-InfEx-Rprt-ExtIEs }} OPTIONAL,
+ ...
+
+ }
+
+RefPositionItem-InfEx-Rprt-ExtIEs PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE TERMINATION REQUEST
+--
+-- **************************************************************
+
+InformationExchangeTerminationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeTerminationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeTerminationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeTerminationRequest-IEs PCAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory},
+ ...
+}
+
+InformationExchangeTerminationRequest-Extensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE FAILURE INDICATION
+--
+-- **************************************************************
+
+InformationExchangeFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeFailureIndication-IEs PCAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+InformationExchangeFailureIndication-Extensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Error Indication
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL,
+ ...
+}
+
+ErrorIndicationIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+ErrorIndicationExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITION PARAMETER MODIFICATION
+--
+-- **************************************************************
+
+PositionParameterModification ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PositionParameterModificationIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PositionParameterModificationExtensions} } OPTIONAL,
+ ...
+}
+
+PositionParameterModificationIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-UC-id CRITICALITY reject TYPE UC-ID PRESENCE optional }|
+ { ID id-UTDOA-Group CRITICALITY reject TYPE UTDOA-Group PRESENCE optional },
+ ...
+}
+
+PositionParameterModificationExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RRCstateChange CRITICALITY ignore EXTENSION RRCstateChange PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs PCAP-PRIVATE-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ABORT
+--
+-- **************************************************************
+
+Abort ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {AbortIEs} },
+ protocolExtensions ProtocolExtensionContainer { {AbortExtensions} } OPTIONAL,
+ ...
+}
+
+AbortIEs PCAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+AbortExtensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- POSITION PERIODIC REPORT
+--
+-- **************************************************************
+
+PositionPeriodicReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PositionPeriodicReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PositionPeriodicReport-Extensions}} OPTIONAL,
+ ...
+}
+
+PositionPeriodicReport-IEs PCAP-PROTOCOL-IES ::= {
+ { ID id-UE-PositionEstimateInfo CRITICALITY ignore TYPE UE-PositionEstimateInfo PRESENCE optional } |
+ { ID id-VelocityEstimate CRITICALITY ignore TYPE VelocityEstimate PRESENCE optional } |
+ { ID id-GPS-MeasuredResultsList CRITICALITY ignore TYPE MeasuredResultsList PRESENCE optional } |
+ { ID id-CellId-MeasuredResultsSets CRITICALITY ignore TYPE CellId-MeasuredResultsSets PRESENCE optional } |
+ { ID id-OTDOA-MeasuredResultsSets CRITICALITY ignore TYPE OTDOA-MeasuredResultsSets PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } ,
+ ...
+}
+
+PositionPeriodicReport-Extensions PCAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-MeasuredResultsList CRITICALITY ignore EXTENSION GANSS-MeasuredResultsList PRESENCE optional}|
+ { ID id-AdditionalGPSAssistDataRequired CRITICALITY ignore EXTENSION AdditionalGPSAssistDataRequired PRESENCE optional}|
+ { ID id-AdditionalGanssAssistDataRequired CRITICALITY ignore EXTENSION AdditionalGanssAssistDataRequired PRESENCE optional}|
+ { ID id-OTDOA-ReferenceCellInfo CRITICALITY reject EXTENSION OTDOA-ReferenceCellInfoSAS-centric PRESENCE optional}|
+ { ID id-CellId-IRATMeasuredResultsSets CRITICALITY ignore EXTENSION CellId-IRATMeasuredResultsSets PRESENCE optional}|
+ { ID id-AddPos-MeasuredResults CRITICALITY ignore EXTENSION AddPos-MeasuredResults PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITION PERIODIC RESULT
+--
+-- **************************************************************
+
+PositionPeriodicResult ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PositionPeriodicResult-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PositionPeriodicResult-Extensions}} OPTIONAL,
+ ...
+}
+
+PositionPeriodicResult-IEs PCAP-PROTOCOL-IES ::= {
+ { ID id-UE-PositionEstimate CRITICALITY ignore TYPE UE-PositionEstimate PRESENCE optional } |
+ { ID id-VelocityEstimate CRITICALITY ignore TYPE VelocityEstimate PRESENCE optional } |
+ { ID id-PositionData CRITICALITY ignore TYPE PositionData PRESENCE optional } |
+ { ID id-AccuracyFulfilmentIndicator CRITICALITY ignore TYPE AccuracyFulfilmentIndicator PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional },
+ ...
+}
+
+PositionPeriodicResult-Extensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- POSITION PERIODIC TERMINATION
+--
+-- **************************************************************
+
+PositionPeriodicTermination ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PositionPeriodicTermination-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PositionPeriodicTermination-Extensions}} OPTIONAL,
+ ...
+}
+
+PositionPeriodicTermination-IEs PCAP-PROTOCOL-IES ::= {
+ { ID id-PeriodicTerminationCause CRITICALITY ignore TYPE PeriodicTerminationCause PRESENCE optional },
+ ...
+}
+
+PositionPeriodicTermination-Extensions PCAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+END
diff --git a/epan/dissectors/asn1/pcap/PCAP-PDU-Descriptions.asn b/epan/dissectors/asn1/pcap/PCAP-PDU-Descriptions.asn
new file mode 100644
index 00000000..b9fb0c4a
--- /dev/null
+++ b/epan/dissectors/asn1/pcap/PCAP-PDU-Descriptions.asn
@@ -0,0 +1,281 @@
+--
+-- 3GPP TS 25.453 V17.0.0 (2022-04)
+--
+-- 9.3.2 Elementary Procedure Definitions
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+PCAP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) pcap(4) version1 (1) pcap-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode,
+ TransactionID
+FROM PCAP-CommonDataTypes
+
+ PositionCalculationRequest,
+ PositionCalculationResponse,
+ PositionCalculationFailure,
+ InformationExchangeInitiationRequest,
+ InformationExchangeInitiationResponse,
+ InformationExchangeInitiationFailure,
+ InformationReport,
+ InformationExchangeTerminationRequest,
+ InformationExchangeFailureIndication,
+ ErrorIndication,
+ PrivateMessage,
+ PositionInitiationRequest,
+ PositionInitiationResponse,
+ PositionInitiationFailure,
+ PositionActivationRequest,
+ PositionActivationResponse,
+ PositionActivationFailure,
+ PositionParameterModification,
+ Abort,
+ PositionPeriodicReport,
+ PositionPeriodicResult,
+ PositionPeriodicTermination
+
+FROM PCAP-PDU-Contents
+
+ id-PositionCalculation,
+ id-InformationExchangeInitiation,
+ id-InformationReporting,
+ id-InformationExchangeTermination,
+ id-InformationExchangeFailure,
+ id-ErrorIndication,
+ id-privateMessage,
+ id-PositionInitiation,
+ id-PositionActivation,
+ id-PositionParameterModification,
+ id-Abort,
+ id-PositionPeriodicReport,
+ id-PositionPeriodicResult,
+ id-PositionPeriodicTermination
+
+FROM PCAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+PCAP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &Outcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ [OUTCOME &Outcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU definitions
+--
+-- **************************************************************
+
+PCAP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ outcome Outcome,
+ ...
+}
+
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode PCAP-ELEMENTARY-PROCEDURE.&procedureCode ({PCAP-ELEMENTARY-PROCEDURES}),
+ criticality PCAP-ELEMENTARY-PROCEDURE.&criticality ({PCAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ transactionID TransactionID,
+ value PCAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({PCAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode PCAP-ELEMENTARY-PROCEDURE.&procedureCode ({PCAP-ELEMENTARY-PROCEDURES}),
+ criticality PCAP-ELEMENTARY-PROCEDURE.&criticality ({PCAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ transactionID TransactionID,
+ value PCAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({PCAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode PCAP-ELEMENTARY-PROCEDURE.&procedureCode ({PCAP-ELEMENTARY-PROCEDURES}),
+ criticality PCAP-ELEMENTARY-PROCEDURE.&criticality ({PCAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ transactionID TransactionID,
+ value PCAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({PCAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+Outcome ::= SEQUENCE {
+ procedureCode PCAP-ELEMENTARY-PROCEDURE.&procedureCode ({PCAP-ELEMENTARY-PROCEDURES}),
+ criticality PCAP-ELEMENTARY-PROCEDURE.&criticality ({PCAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ transactionID TransactionID,
+ value PCAP-ELEMENTARY-PROCEDURE.&Outcome ({PCAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+PCAP-ELEMENTARY-PROCEDURES PCAP-ELEMENTARY-PROCEDURE ::= {
+ PCAP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ PCAP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+PCAP-ELEMENTARY-PROCEDURES-CLASS-1 PCAP-ELEMENTARY-PROCEDURE ::= {
+ positionCalculation |
+ informationExchangeInitiation,
+ ...,
+ positionInitiation |
+ positionActivation
+
+}
+
+
+PCAP-ELEMENTARY-PROCEDURES-CLASS-2 PCAP-ELEMENTARY-PROCEDURE ::= {
+ informationReporting |
+ informationExchangeTermination |
+ informationExchangeFailure |
+ errorIndication |
+ privateMessage,
+ ...,
+ positionParameterModification |
+ abort |
+ positionPeriodicReport |
+ positionPeriodicResult |
+ positionPeriodicTermination
+}
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+positionCalculation PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositionCalculationRequest
+ SUCCESSFUL OUTCOME PositionCalculationResponse
+ UNSUCCESSFUL OUTCOME PositionCalculationFailure
+ PROCEDURE CODE id-PositionCalculation
+ CRITICALITY reject
+}
+
+
+informationExchangeInitiation PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationExchangeInitiationRequest
+ SUCCESSFUL OUTCOME InformationExchangeInitiationResponse
+ UNSUCCESSFUL OUTCOME InformationExchangeInitiationFailure
+ PROCEDURE CODE id-InformationExchangeInitiation
+ CRITICALITY reject
+}
+
+positionInitiation PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositionInitiationRequest
+ SUCCESSFUL OUTCOME PositionInitiationResponse
+ UNSUCCESSFUL OUTCOME PositionInitiationFailure
+ PROCEDURE CODE id-PositionInitiation
+ CRITICALITY reject
+}
+
+positionActivation PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositionActivationRequest
+ SUCCESSFUL OUTCOME PositionActivationResponse
+ UNSUCCESSFUL OUTCOME PositionActivationFailure
+ PROCEDURE CODE id-PositionActivation
+ CRITICALITY reject
+}
+
+
+informationReporting PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationReport
+ PROCEDURE CODE id-InformationReporting
+ CRITICALITY ignore
+}
+
+
+informationExchangeTermination PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationExchangeTerminationRequest
+ PROCEDURE CODE id-InformationExchangeTermination
+ CRITICALITY ignore
+}
+
+
+informationExchangeFailure PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationExchangeFailureIndication
+ PROCEDURE CODE id-InformationExchangeFailure
+ CRITICALITY ignore
+}
+
+
+errorIndication PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-ErrorIndication
+ CRITICALITY ignore
+}
+
+privateMessage PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+positionParameterModification PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositionParameterModification
+ PROCEDURE CODE id-PositionParameterModification
+ CRITICALITY ignore
+}
+
+
+abort PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Abort
+ PROCEDURE CODE id-Abort
+ CRITICALITY ignore
+}
+
+positionPeriodicReport PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositionPeriodicReport
+ PROCEDURE CODE id-PositionPeriodicReport
+ CRITICALITY ignore
+}
+
+positionPeriodicResult PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositionPeriodicResult
+ PROCEDURE CODE id-PositionPeriodicResult
+ CRITICALITY ignore
+}
+
+positionPeriodicTermination PCAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PositionPeriodicTermination
+ PROCEDURE CODE id-PositionPeriodicTermination
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/pcap/packet-pcap-template.c b/epan/dissectors/asn1/pcap/packet-pcap-template.c
new file mode 100644
index 00000000..535423ea
--- /dev/null
+++ b/epan/dissectors/asn1/pcap/packet-pcap-template.c
@@ -0,0 +1,180 @@
+/* packet-pcap.c
+ * Routines for UTRAN Iupc interface Positioning Calculation Application Part (PCAP) packet dissection
+ *
+ * Copyright 2008, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Based on the RANAP dissector
+ *
+ * References: ETSI TS 125 453 V17.0.0 (2022-04)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-sccp.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "UTRAN Iupc interface Positioning Calculation Application Part (PCAP)"
+#define PSNAME "PCAP"
+#define PFNAME "pcap"
+
+#define MAX_SSN 254
+
+void proto_register_pcap(void);
+void proto_reg_handoff_pcap(void);
+
+#include "packet-pcap-val.h"
+
+static dissector_handle_t pcap_handle = NULL;
+
+/* Initialize the protocol and registered fields */
+static int proto_pcap = -1;
+
+#include "packet-pcap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_pcap = -1;
+
+#include "packet-pcap-ett.c"
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+/*static guint32 ProtocolExtensionID;*/
+
+/* Dissector tables */
+static dissector_table_t pcap_ies_dissector_table;
+static dissector_table_t pcap_ies_p1_dissector_table;
+static dissector_table_t pcap_ies_p2_dissector_table;
+static dissector_table_t pcap_extension_dissector_table;
+static dissector_table_t pcap_proc_imsg_dissector_table;
+static dissector_table_t pcap_proc_sout_dissector_table;
+static dissector_table_t pcap_proc_uout_dissector_table;
+static dissector_table_t pcap_proc_out_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+#include "packet-pcap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(pcap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(pcap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(pcap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(pcap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(pcap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(pcap_proc_out_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_pcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *pcap_item = NULL;
+ proto_tree *pcap_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "PCAP");
+
+ /* create the pcap protocol tree */
+ pcap_item = proto_tree_add_item(tree, proto_pcap, tvb, 0, -1, ENC_NA);
+ pcap_tree = proto_item_add_subtree(pcap_item, ett_pcap);
+
+ dissect_PCAP_PDU_PDU(tvb, pinfo, pcap_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_reg_handoff_pcap ---------------------------------------*/
+void
+proto_reg_handoff_pcap(void)
+{
+#include "packet-pcap-dis-tab.c"
+ dissector_add_for_decode_as_with_preference("sccp.ssn", pcap_handle);
+}
+
+/*--- proto_register_pcap -------------------------------------------*/
+void proto_register_pcap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+
+#include "packet-pcap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_pcap,
+#include "packet-pcap-ettarr.c"
+ };
+
+ /* module_t *pcap_module; */
+
+ /* Register protocol */
+ proto_pcap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pcap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* pcap_module = prefs_register_protocol(proto_pcap, NULL); */
+
+ /* Register dissector */
+ pcap_handle = register_dissector("pcap", dissect_pcap, proto_pcap);
+
+ /* Register dissector tables */
+ pcap_ies_dissector_table = register_dissector_table("pcap.ies", "PCAP-PROTOCOL-IES", proto_pcap, FT_UINT32, BASE_DEC);
+ pcap_ies_p1_dissector_table = register_dissector_table("pcap.ies.pair.first", "PCAP-PROTOCOL-IES-PAIR FirstValue", proto_pcap, FT_UINT32, BASE_DEC);
+ pcap_ies_p2_dissector_table = register_dissector_table("pcap.ies.pair.second", "PCAP-PROTOCOL-IES-PAIR SecondValue", proto_pcap, FT_UINT32, BASE_DEC);
+ pcap_extension_dissector_table = register_dissector_table("pcap.extension", "PCAP-PROTOCOL-EXTENSION", proto_pcap, FT_UINT32, BASE_DEC);
+ pcap_proc_imsg_dissector_table = register_dissector_table("pcap.proc.imsg", "PCAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_pcap, FT_UINT32, BASE_DEC);
+ pcap_proc_sout_dissector_table = register_dissector_table("pcap.proc.sout", "PCAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_pcap, FT_UINT32, BASE_DEC);
+ pcap_proc_uout_dissector_table = register_dissector_table("pcap.proc.uout", "PCAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_pcap, FT_UINT32, BASE_DEC);
+ pcap_proc_out_dissector_table = register_dissector_table("pcap.proc.out", "PCAP-ELEMENTARY-PROCEDURE Outcome", proto_pcap, FT_UINT32, BASE_DEC);
+
+
+}
+
+
+
+
diff --git a/epan/dissectors/asn1/pcap/pcap.cnf b/epan/dissectors/asn1/pcap/pcap.cnf
new file mode 100644
index 00000000..346471b0
--- /dev/null
+++ b/epan/dissectors/asn1/pcap/pcap.cnf
@@ -0,0 +1,465 @@
+# pcap.cnf
+# pcap conformation file
+
+#.OPT
+PER
+ALIGNED
+-L
+#.END
+
+#.EXPORTS
+
+#.PDU
+PCAP-PDU
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.USE_VALS_EXT
+ProtocolIE-ID
+CauseRadioNetwork
+TDD-ChannelisationCode
+SFN-SFN-Drift
+CodePhaseSearchWindow
+TUTRAN-GANSS-DriftRate
+UTRAN-GPS-DriftRate
+ExplicitInformation
+
+#.NO_EMIT
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+ProtocolIE-ContainerList
+Presence
+#.END
+
+
+#.TYPE_RENAME
+
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+Outcome/value Outcome_value
+
+#.FIELD_RENAME
+
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+Outcome/value outcome_value
+
+
+PrivateIE-Field/id private_id
+ProtocolExtensionField/id ext_id
+
+PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+
+AlmanacSatInfo/t-oa almanacSatInfo_t-oa
+ReqDataBitAssistanceList/ganssSignalID reqDataBitAssistanceList_ganssSignalID
+NetworkAssistedGANSSSupport/_item/ganssSignalID networkAssistedGANSSSupport_item_ganssSignalID
+GANSS-PositioningInstructions/additionalAssistanceDataRequest gANSS-PositioningInstructions_additionalAssistanceDataRequest
+
+#.FIELD_ATTR
+AlmanacSatInfo/t-oa ABBREV=almanacSatInfo.t-oa
+ReqDataBitAssistanceList/ganssSignalID ABBREV=reqDataBitAssistanceList.ganssSignalID
+NetworkAssistedGANSSSupport/_item/ganssSignalID ABBREV=networkAssistedGANSSSupport.item.ganssSignalID
+GANSS-PositioningInstructions/additionalAssistanceDataRequest ABBREV=gANSS-PositioningInstructions.additionalAssistanceDataRequest
+
+#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &pcap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
+#.FN_FTR ProcedureCode
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
+ val_to_str(ProcedureCode, pcap_ProcedureCode_vals,
+ "unknown message"));
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+#.FN_PARS Outcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_OutcomeValue
+
+#--- Parameterization is not supported in asn2wrs ---
+# Not used yet in PCAP ASN.1
+#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, PCAP-PROTOCOL-IES : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-Container {{IEsSetParam}}
+
+# FN_PARS ProtocolIE-ContainerList
+#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# FN_HDR ProtocolIE-ContainerList
+# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, 0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
+# END
+
+#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, PCAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-ContainerPair {{IEsSetParam}}
+
+
+
+#RAB-IE-ContainerList { PCAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
+
+#ProtocolError-IE-ContainerList { PCAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
+# FN_BODY ProtocolError-IE-ContainerList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxNrOfRABs);
+#%(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+# END
+
+
+
+#.TYPE_ATTR
+ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &pcap_ProtocolIE_ID_vals_ext
+
+#.ASSIGN_VALUE_TO_TYPE # PCAP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+
+id-PositionCalculation ProcedureCode
+id-InformationExchangeInitiation ProcedureCode
+id-InformationReporting ProcedureCode
+id-InformationExchangeTermination ProcedureCode
+id-InformationExchangeFailure ProcedureCode
+id-ErrorIndication ProcedureCode
+id-privateMessage ProcedureCode
+id-PositionParameterModification ProcedureCode
+id-PositionInitiation ProcedureCode
+id-PositionActivation ProcedureCode
+id-Abort ProcedureCode
+id-PositionPeriodicReport ProcedureCode
+id-PositionPeriodicResult ProcedureCode
+id-PositionPeriodicTermination ProcedureCode
+
+
+# ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-GPS-UTRAN-TRU ProtocolIE-ID
+id-InformationExchangeID ProtocolIE-ID
+id-InformationExchangeObjectType-InfEx-Rprt ProtocolIE-ID
+id-InformationExchangeObjectType-InfEx-Rqst ProtocolIE-ID
+id-InformationExchangeObjectType-InfEx-Rsp ProtocolIE-ID
+id-InformationReportCharacteristics ProtocolIE-ID
+id-InformationType ProtocolIE-ID
+id-GPS-MeasuredResultsList ProtocolIE-ID
+id-MethodType ProtocolIE-ID
+id-RefPosition-InfEx-Rqst ProtocolIE-ID
+id-RefPosition-InfEx-Rsp ProtocolIE-ID
+id-RefPosition-Inf-Rprt ProtocolIE-ID
+id-RequestedDataValue ProtocolIE-ID
+id-RequestedDataValueInformation ProtocolIE-ID
+id-TransactionID ProtocolIE-ID
+id-UE-PositionEstimate ProtocolIE-ID
+id-CellId-MeasuredResultsSets ProtocolIE-ID
+id-OTDOA-MeasurementGroup ProtocolIE-ID
+id-AccuracyFulfilmentIndicator ProtocolIE-ID
+id-HorizontalAccuracyCode ProtocolIE-ID
+id-VerticalAccuracyCode ProtocolIE-ID
+id-UTDOA-Group ProtocolIE-ID
+id-RequestType ProtocolIE-ID
+id-UE-PositioningCapability ProtocolIE-ID
+id-UC-id ProtocolIE-ID
+id-ResponseTime ProtocolIE-ID
+id-PositioningPriority ProtocolIE-ID
+id-ClientType ProtocolIE-ID
+id-PositioningMethod ProtocolIE-ID
+id-UTDOAPositioning ProtocolIE-ID
+id-GPSPositioning ProtocolIE-ID
+id-OTDOAAssistanceData ProtocolIE-ID
+id-Positioning-ResponseTime ProtocolIE-ID
+id-EnvironmentCharacterisation ProtocolIE-ID
+id-PositionData ProtocolIE-ID
+id-IncludeVelocity ProtocolIE-ID
+id-VelocityEstimate ProtocolIE-ID
+id-rxTimingDeviation768Info ProtocolIE-ID
+id-UC-ID-InfEx-Rqst ProtocolIE-ID
+id-UE-PositionEstimateInfo ProtocolIE-ID
+id-UTRAN-GPSReferenceTime ProtocolIE-ID
+id-UTRAN-GPSReferenceTimeResult ProtocolIE-ID
+id-UTRAN-GPS-DriftRate ProtocolIE-ID
+id-OTDOA-AddMeasuredResultsInfo ProtocolIE-ID
+id-GPS-ReferenceLocation ProtocolIE-ID
+id-OTDOA-MeasuredResultsSets ProtocolIE-ID
+id-rxTimingDeviation384extInfo ProtocolIE-ID
+id-ExtendedRoundTripTime ProtocolIE-ID
+id-PeriodicPosCalcInfo ProtocolIE-ID
+id-PeriodicLocationInfo ProtocolIE-ID
+id-AmountOfReporting ProtocolIE-ID
+id-MeasInstructionsUsed ProtocolIE-ID
+id-RRCstateChange ProtocolIE-ID
+id-PeriodicTerminationCause ProtocolIE-ID
+id-MeasurementValidity ProtocolIE-ID
+id-roundTripTimeInfoWithType1 ProtocolIE-ID
+id-CellIDPositioning ProtocolIE-ID
+id-AddMeasurementInfo ProtocolIE-ID
+id-Extended-RNC-ID ProtocolIE-ID
+id-GANSS-CommonAssistanceData ProtocolIE-ID
+id-GANSS-GenericAssistanceDataList ProtocolIE-ID
+id-GANSS-MeasuredResultsList ProtocolIE-ID
+id-GANSS-UTRAN-TRU ProtocolIE-ID
+id-GANSSPositioning ProtocolIE-ID
+id-GANSS-PositioningDataSet ProtocolIE-ID
+id-GNSS-PositioningMethod ProtocolIE-ID
+id-NetworkAssistedGANSSSuport ProtocolIE-ID
+id-TUTRANGANSSMeasurementValueInfo ProtocolIE-ID
+id-AdditionalGPSAssistDataRequired ProtocolIE-ID
+id-AdditionalGanssAssistDataRequired ProtocolIE-ID
+id-angleOfArrivalLCR ProtocolIE-ID
+id-extendedTimingAdvanceLCR ProtocolIE-ID
+id-additionalMeasurementInforLCR ProtocolIE-ID
+id-timingAdvanceLCR-R7 ProtocolIE-ID
+id-rxTimingDeviationLCR ProtocolIE-ID
+id-GPSReferenceTimeUncertainty ProtocolIE-ID
+id-GANSS-AddIonoModelReq ProtocolIE-ID
+id-GANSS-EarthOrientParaReq ProtocolIE-ID
+id-GANSS-Additional-Ionospheric-Model ProtocolIE-ID
+id-GANSS-Earth-Orientation-Parameters ProtocolIE-ID
+id-GANSS-Additional-Time-Models ProtocolIE-ID
+id-GANSS-Additional-Navigation-Models ProtocolIE-ID
+id-GANSS-Additional-UTC-Models ProtocolIE-ID
+id-GANSS-Auxiliary-Information ProtocolIE-ID
+id-GANSS-SBAS-ID ProtocolIE-ID
+id-GANSS-SBAS-IDs ProtocolIE-ID
+id-GANSS-Signal-IDs ProtocolIE-ID
+id-GANSS-alm-keplerianNAVAlmanac ProtocolIE-ID
+id-GANSS-alm-keplerianReducedAlmanac ProtocolIE-ID
+id-GANSS-alm-keplerianMidiAlmanac ProtocolIE-ID
+id-GANSS-alm-keplerianGLONASS ProtocolIE-ID
+id-GANSS-alm-ecefSBASAlmanac ProtocolIE-ID
+id-UTRAN-GANSSReferenceTimeResult ProtocolIE-ID
+id-GANSS-Reference-Time-Only ProtocolIE-ID
+id-GANSS-AddADchoices ProtocolIE-ID
+id-supportGANSSNonNativeADchoices ProtocolIE-ID
+id-PositionDataUEbased ProtocolIE-ID
+id-ganssCodePhaseAmbiguityExt ProtocolIE-ID
+id-ganssIntegerCodePhaseExt ProtocolIE-ID
+id-GANSScarrierPhaseRequested ProtocolIE-ID
+id-GANSSMultiFreqMeasRequested ProtocolIE-ID
+id-ganssReq-AddIonosphericModel ProtocolIE-ID
+id-ganssReq-EarthOrientPara ProtocolIE-ID
+id-ganssAddNavigationModel-req ProtocolIE-ID
+id-ganssAddUTCModel-req ProtocolIE-ID
+id-ganssAuxInfo-req ProtocolIE-ID
+id-OTDOA-ReferenceCellInfo ProtocolIE-ID
+id-DGNSS-ValidityPeriod ProtocolIE-ID
+id-AzimuthAndElevationLSB ProtocolIE-ID
+id-completeAlmanacProvided ProtocolIE-ID
+id-GPS-Week-Cycle ProtocolIE-ID
+id-GANSS-Day-Cycle ProtocolIE-ID
+id-ganss-Delta-T ProtocolIE-ID
+id-requestedCellIDGERANMeasurements ProtocolIE-ID
+id-CellId-IRATMeasuredResultsSets ProtocolIE-ID
+id-IMSI ProtocolIE-ID
+id-IMEI ProtocolIE-ID
+id-GANSS-alm-keplerianBDSAlmanac ProtocolIE-ID
+id-BDS-Ionospheric-Grid-Model ProtocolIE-ID
+id-DBDS-Correction-Information ProtocolIE-ID
+id-BDSIonosphericGridModel ProtocolIE-ID
+id-DBDSCorrection ProtocolIE-ID
+id-Confidence ProtocolIE-ID
+id-ExtraDopplerInfoExtension ProtocolIE-ID
+id-GANSS-Confidence ProtocolIE-ID
+id-GANSS-ExtraDopplerExtension ProtocolIE-ID
+id-Additional-PositioningDataSet ProtocolIE-ID
+id-Additional-PositioningMethod ProtocolIE-ID
+id-AddPos-MeasuredResults ProtocolIE-ID
+id-AddPosSupport ProtocolIE-ID
+
+#.END
+
+#.REGISTER
+
+#PCAP-PROTOCOL-IES
+Cause N pcap.ies id-Cause
+CriticalityDiagnostics N pcap.ies id-CriticalityDiagnostics
+GPS-UTRAN-TRU N pcap.ies id-GPS-UTRAN-TRU
+InformationExchangeID N pcap.ies id-InformationExchangeID
+InformationExchangeObjectType-InfEx-Rprt N pcap.ies id-InformationExchangeObjectType-InfEx-Rprt
+InformationExchangeObjectType-InfEx-Rqst N pcap.ies id-InformationExchangeObjectType-InfEx-Rqst
+InformationExchangeObjectType-InfEx-Rsp N pcap.ies id-InformationExchangeObjectType-InfEx-Rsp
+InformationReportCharacteristics N pcap.ies id-InformationReportCharacteristics
+InformationType N pcap.ies id-InformationType
+MeasuredResultsList N pcap.ies id-GPS-MeasuredResultsList
+UE-PositionEstimate N pcap.ies id-UE-PositionEstimate
+CellId-MeasuredResultsSets N pcap.ies id-CellId-MeasuredResultsSets
+OTDOA-MeasurementGroup N pcap.ies id-OTDOA-MeasurementGroup
+AccuracyFulfilmentIndicator N pcap.ies id-AccuracyFulfilmentIndicator
+HorizontalAccuracyCode N pcap.ies id-HorizontalAccuracyCode
+VerticalAccuracyCode N pcap.ies id-VerticalAccuracyCode
+UTDOA-Group N pcap.ies id-UTDOA-Group
+RequestType N pcap.ies id-RequestType
+UE-PositioningCapability N pcap.ies id-UE-PositioningCapability
+UC-ID N pcap.ies id-UC-id
+ResponseTime N pcap.ies id-ResponseTime
+PositioningPriority N pcap.ies id-PositioningPriority
+ClientType N pcap.ies id-ClientType
+PositioningMethod N pcap.ies id-PositioningMethod
+UTDOAPositioning N pcap.ies id-UTDOAPositioning
+GPSPositioning N pcap.ies id-GPSPositioning
+OTDOAAssistanceData N pcap.ies id-OTDOAAssistanceData
+Positioning-ResponseTime N pcap.ies id-Positioning-ResponseTime
+EnvironmentCharacterisation N pcap.ies id-EnvironmentCharacterisation
+PositionData N pcap.ies id-PositionData
+VelocityEstimate N pcap.ies id-VelocityEstimate
+UC-ID-InfEx-Rqst N pcap.ies id-UC-ID-InfEx-Rqst
+UE-PositionEstimateInfo N pcap.ies id-UE-PositionEstimateInfo
+OTDOA-MeasuredResultsSets N pcap.ies id-OTDOA-MeasuredResultsSets
+PeriodicPosCalcInfo N pcap.ies id-PeriodicPosCalcInfo
+PeriodicTerminationCause N pcap.ies id-PeriodicTerminationCause
+GANSS-ALM-BDSKeplericanset N pcap.ies id-GANSS-alm-keplerianBDSAlmanac
+
+#PCAP-PROTOCOL-EXTENSION
+CellId-MeasuredResultsSets N pcap.extension id-CellId-MeasuredResultsSets
+OTDOA-MeasurementGroup N pcap.extension id-OTDOA-MeasurementGroup
+HorizontalAccuracyCode N pcap.extension id-HorizontalAccuracyCode
+VerticalAccuracyCode N pcap.extension id-VerticalAccuracyCode
+UTDOA-Group N pcap.extension id-UTDOA-Group
+Positioning-ResponseTime N pcap.extension id-Positioning-ResponseTime
+IncludeVelocity N pcap.extension id-IncludeVelocity
+PeriodicPosCalcInfo N pcap.extension id-PeriodicPosCalcInfo
+AmountOfReporting N pcap.extension id-AmountOfReporting
+PeriodicLocationInfo N pcap.extension id-PeriodicLocationInfo
+MeasInstructionsUsed N pcap.extension id-MeasInstructionsUsed
+CellIDPositioning N pcap.extension id-CellIDPositioning
+GANSSPositioning N pcap.extension id-GANSSPositioning
+RRCstateChange N pcap.extension id-RRCstateChange
+GANSS-MeasuredResultsList N pcap.extension id-GANSS-MeasuredResultsList
+GANSS-UTRAN-TRU N pcap.extension id-GANSS-UTRAN-TRU
+AdditionalGPSAssistDataRequired N pcap.extension id-AdditionalGPSAssistDataRequired
+AdditionalGanssAssistDataRequired N pcap.extension id-AdditionalGanssAssistDataRequired
+RxTimingDeviation768Info N pcap.extension id-rxTimingDeviation768Info
+RxTimingDeviation384extInfo N pcap.extension id-rxTimingDeviation384extInfo
+RoundTripTimeInfoWithType1 N pcap.extension id-roundTripTimeInfoWithType1
+AddMeasurementInfo N pcap.extension id-AddMeasurementInfo
+AngleOfArrivalLCR N pcap.extension id-angleOfArrivalLCR
+ExtendedTimingAdvanceLCR N pcap.extension id-extendedTimingAdvanceLCR
+GANSS-PositioningDataSet N pcap.extension id-GANSS-PositioningDataSet
+GANSS-CommonAssistanceData N pcap.extension id-GANSS-CommonAssistanceData
+GANSS-GenericAssistanceDataList N pcap.extension id-GANSS-GenericAssistanceDataList
+GPS-ReferenceLocation N pcap.extension id-GPS-ReferenceLocation
+UTRAN-GPS-DriftRate N pcap.extension id-UTRAN-GPS-DriftRate
+GPSReferenceTimeUncertainty N pcap.extension id-GPSReferenceTimeUncertainty
+OTDOA-AddMeasuredResultsInfo N pcap.extension id-OTDOA-AddMeasuredResultsInfo
+Extended-RNC-ID N pcap.extension id-Extended-RNC-ID
+AdditionalMeasurementInforLCR N pcap.extension id-additionalMeasurementInforLCR
+GNSS-PositioningMethod N pcap.extension id-GNSS-PositioningMethod
+NetworkAssistedGANSSSupport N pcap.extension id-NetworkAssistedGANSSSuport
+UTRAN-GPSReferenceTime N pcap.extension id-UTRAN-GPSReferenceTime
+GANSS-AddIonoModelReq N pcap.extension id-GANSS-AddIonoModelReq
+GANSS-EarthOrientParaReq N pcap.extension id-GANSS-EarthOrientParaReq
+GANSS-Additional-Ionospheric-Model N pcap.extension id-GANSS-Additional-Ionospheric-Model
+GANSS-Earth-Orientation-Parameters N pcap.extension id-GANSS-Earth-Orientation-Parameters
+GANSS-Additional-Time-Models N pcap.extension id-GANSS-Additional-Time-Models
+GANSS-Additional-Navigation-Models N pcap.extension id-GANSS-Additional-Navigation-Models
+GANSS-Additional-UTC-Models N pcap.extension id-GANSS-Additional-UTC-Models
+GANSS-Auxiliary-Information N pcap.extension id-GANSS-Auxiliary-Information
+GANSS-SBAS-ID N pcap.extension id-GANSS-SBAS-ID
+GANSS-SBAS-IDs N pcap.extension id-GANSS-SBAS-IDs
+GANSS-Signal-IDs N pcap.extension id-GANSS-Signal-IDs
+GANSS-ALM-NAVKeplerianSet N pcap.ies id-GANSS-alm-keplerianNAVAlmanac
+GANSS-ALM-ReducedKeplerianSet N pcap.ies id-GANSS-alm-keplerianReducedAlmanac
+GANSS-ALM-MidiAlmanacSet N pcap.ies id-GANSS-alm-keplerianMidiAlmanac
+GANSS-ALM-GlonassAlmanacSet N pcap.ies id-GANSS-alm-keplerianGLONASS
+GANSS-ALM-ECEFsbasAlmanacSet N pcap.ies id-GANSS-alm-ecefSBASAlmanac
+UTRAN-GANSSReferenceTimeResult N pcap.ies id-UTRAN-GANSSReferenceTimeResult
+GANSS-Reference-Time-Only N pcap.ies id-GANSS-Reference-Time-Only
+GANSS-AddADchoices N pcap.extension id-GANSS-AddADchoices
+SupportGANSSNonNativeADchoices N pcap.extension id-supportGANSSNonNativeADchoices
+PositionDataUEbased N pcap.extension id-PositionDataUEbased
+GanssCodePhaseAmbiguityExt N pcap.extension id-ganssCodePhaseAmbiguityExt
+GanssIntegerCodePhaseExt N pcap.extension id-ganssIntegerCodePhaseExt
+GANSScarrierPhaseRequested N pcap.extension id-GANSScarrierPhaseRequested
+GANSSMultiFreqMeasRequested N pcap.extension id-GANSSMultiFreqMeasRequested
+GANSSReq-AddIonosphericModel N pcap.extension id-ganssReq-AddIonosphericModel
+GANSSReq-EarthOrientPara N pcap.extension id-ganssReq-EarthOrientPara
+GANSS-AddNavigationModel-Req N pcap.extension id-ganssAddNavigationModel-req
+GANSS-AddUTCModel-Req N pcap.extension id-ganssAddUTCModel-req
+GANSS-AuxInfo-req N pcap.extension id-ganssAuxInfo-req
+#N pcap.extension id-GANSS-AlmanacModelChoice Not used?
+OTDOA-ReferenceCellInfoSAS-centric N pcap.extension id-OTDOA-ReferenceCellInfo
+DGNSS-ValidityPeriod N pcap.extension id-DGNSS-ValidityPeriod
+AzimuthAndElevationLSB N pcap.extension id-AzimuthAndElevationLSB
+CompleteAlmanacProvided N pcap.extension id-completeAlmanacProvided
+GPS-Week-Cycle N pcap.extension id-GPS-Week-Cycle
+GANSS-Day-Cycle N pcap.extension id-GANSS-Day-Cycle
+GANSS-Delta-T N pcap.extension id-ganss-Delta-T
+RequestedCellIDGERANMeasurements N pcap.extension id-requestedCellIDGERANMeasurements
+CellId-IRATMeasuredResultsSets N pcap.extension id-CellId-IRATMeasuredResultsSets
+IMSI N pcap.extension id-IMSI
+IMEI N pcap.extension id-IMEI
+BDS-Ionospheric-Grid-Model N pcap.extension id-BDS-Ionospheric-Grid-Model
+DBDS-Correction-Information N pcap.extension id-DBDS-Correction-Information
+BDSIonosphericGridModel N pcap.extension id-BDSIonosphericGridModel
+DBDSCorrection N pcap.extension id-DBDSCorrection
+Confidence N pcap.extension id-Confidence
+ExtraDopplerInfoExtension N pcap.extension id-ExtraDopplerInfoExtension
+Confidence N pcap.extension id-GANSS-Confidence
+GANSS-ExtraDopplerExtension N pcap.extension id-GANSS-ExtraDopplerExtension
+Additional-PositioningDataSet N pcap.extension id-Additional-PositioningDataSet
+Additional-PositioningMethod N pcap.extension id-Additional-PositioningMethod
+AddPos-MeasuredResults N pcap.extension id-AddPos-MeasuredResults
+AddPosSupport N pcap.extension id-AddPosSupport
+
+#PCAP-ELEMENTARY-PROCEDURE
+
+PositionCalculationRequest N pcap.proc.imsg id-PositionCalculation
+PositionCalculationResponse N pcap.proc.sout id-PositionCalculation
+PositionCalculationFailure N pcap.proc.uout id-PositionCalculation
+
+InformationExchangeInitiationRequest N pcap.proc.imsg id-InformationExchangeInitiation
+InformationExchangeInitiationResponse N pcap.proc.sout id-InformationExchangeInitiation
+InformationExchangeInitiationFailure N pcap.proc.uout id-InformationExchangeInitiation
+
+PositionInitiationRequest N pcap.proc.imsg id-PositionInitiation
+PositionInitiationResponse N pcap.proc.sout id-PositionInitiation
+PositionInitiationFailure N pcap.proc.uout id-PositionInitiation
+
+
+PositionActivationRequest N pcap.proc.imsg id-PositionActivation
+PositionActivationResponse N pcap.proc.sout id-PositionActivation
+PositionActivationFailure N pcap.proc.uout id-PositionActivation
+
+InformationReport N pcap.proc.imsg id-InformationReporting
+
+InformationExchangeTerminationRequest N pcap.proc.imsg id-InformationExchangeTermination
+
+InformationExchangeFailureIndication N pcap.proc.imsg id-InformationExchangeFailure
+
+ErrorIndication N pcap.proc.imsg id-ErrorIndication
+
+PrivateMessage N pcap.proc.imsg id-privateMessage
+
+PositionParameterModification N pcap.proc.imsg id-PositionParameterModification
+
+Abort N pcap.proc.imsg id-Abort
+
+PositionPeriodicReport N pcap.proc.imsg id-PositionPeriodicReport
+
+PositionPeriodicResult N pcap.proc.imsg id-PositionPeriodicResult
+
+PositionPeriodicTermination N pcap.proc.imsg id-PositionPeriodicTermination
+
+#.END
diff --git a/epan/dissectors/asn1/pkcs1/CMakeLists.txt b/epan/dissectors/asn1/pkcs1/CMakeLists.txt
new file mode 100644
index 00000000..31df28c8
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs1/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pkcs1 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PKIXAlgs-2009.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkcs1/PKIXAlgs-2009.asn b/epan/dissectors/asn1/pkcs1/PKIXAlgs-2009.asn
new file mode 100644
index 00000000..b19dcfbf
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs1/PKIXAlgs-2009.asn
@@ -0,0 +1,649 @@
+--
+-- Transcribed from RFC 5912
+--
+
+PKIXAlgs-2009 { iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-pkix1-algorithms2008-02(56) }
+
+ DEFINITIONS EXPLICIT TAGS ::=
+ BEGIN
+ IMPORTS
+
+ PUBLIC-KEY, SIGNATURE-ALGORITHM, DIGEST-ALGORITHM, SMIME-CAPS
+ FROM AlgorithmInformation-2009
+ {iso(1) identified-organization(3) dod(6) internet(1) security(5)
+ mechanisms(5) pkix(7) id-mod(0)
+ id-mod-algorithmInformation-02(58)}
+
+ mda-sha224, mda-sha256, mda-sha384, mda-sha512
+ FROM PKIX1-PSS-OAEP-Algorithms-2009
+ {iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-pkix1-rsa-pkalgs-02(54)}
+
+-- Additional IMPORT for Wireshark
+ AlgorithmIdentifier
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 4};
+
+
+ --
+ -- Public Key (pk-) Algorithms
+ --
+
+ PublicKeys PUBLIC-KEY ::= {
+ pk-rsa |
+ pk-dsa |
+ pk-dh |
+ pk-kea |
+ pk-rsaSSA-PSS,
+ ...,
+ pk-ec |
+ pk-ecDH |
+ pk-ecMQV
+ }
+
+ --
+ -- Signature Algorithms (sa-)
+ --
+
+ SignatureAlgs SIGNATURE-ALGORITHM ::= {
+ sa-rsaWithMD2 |
+ sa-rsaWithMD5 |
+ sa-rsaWithSHA1 |
+ sa-dsaWithSHA1 |
+ sa-ecdsaWithSHA1,
+ ..., -- Extensible
+ sa-dsaWithSHA224 |
+ sa-dsaWithSHA256 |
+ sa-ecdsaWithSHA224 |
+ sa-ecdsaWithSHA256 |
+ sa-ecdsaWithSHA384 |
+ sa-ecdsaWithSHA512,
+ ...,
+ sa-rsaSSA-PSS
+ }
+
+ --
+ -- S/MIME CAPS for algorithms in this document
+ --
+ -- For all of the algorithms laid out in this document, the
+ -- parameters field for the S/MIME capabilities is defined as
+ -- ABSENT as there are no specific values that need to be known
+ -- by the receiver for negotiation.
+
+ --
+
+ SMimeCaps SMIME-CAPS ::= {
+ sa-rsaWithMD2.&smimeCaps |
+ sa-rsaWithMD5.&smimeCaps |
+ sa-rsaWithSHA1.&smimeCaps |
+ sa-dsaWithSHA1.&smimeCaps |
+ sa-dsaWithSHA224.&smimeCaps |
+ sa-dsaWithSHA256.&smimeCaps |
+ sa-ecdsaWithSHA1.&smimeCaps |
+ sa-ecdsaWithSHA224.&smimeCaps |
+ sa-ecdsaWithSHA256.&smimeCaps |
+ sa-ecdsaWithSHA384.&smimeCaps |
+ sa-ecdsaWithSHA512.&smimeCaps,
+ ... }
+
+ -- RSA PK Algorithm, Parameters, and Keys
+
+-- pk-rsa PUBLIC-KEY ::= {
+-- IDENTIFIER rsaEncryption
+-- KEY RSAPublicKey
+-- PARAMS TYPE NULL ARE absent
+ -- Private key format not in this module --
+-- CERT-KEY-USAGE {digitalSignature, nonRepudiation,
+-- keyEncipherment, dataEncipherment, keyCertSign, cRLSign}
+-- }
+
+ rsaEncryption OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-1(1) 1 }
+
+ RSAPublicKey ::= SEQUENCE {
+ modulus INTEGER, -- n
+ publicExponent INTEGER -- e
+ }
+
+-- Wireshark additions to ensure compatibility with the original PKCS1.asn
+
+DigestInfo ::= SEQUENCE {
+ digestAlgorithm DigestAlgorithmIdentifier,
+ digest Digest
+}
+
+DigestAlgorithmIdentifier ::= AlgorithmIdentifier
+
+Digest ::= OCTET STRING
+
+-- End of Wireshark additions
+
+ -- DSA PK Algorithm, Parameters, and Keys
+
+-- pk-dsa PUBLIC-KEY ::= {
+-- IDENTIFIER id-dsa
+-- KEY DSAPublicKey
+-- PARAMS TYPE DSA-Params ARE inheritable
+ -- Private key format not in this module --
+-- CERT-KEY-USAGE { digitalSignature, nonRepudiation, keyCertSign,
+-- cRLSign }
+-- }
+
+ id-dsa OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }
+
+ DSA-Params ::= SEQUENCE {
+ p INTEGER,
+ q INTEGER,
+ g INTEGER
+ }
+
+ DSAPublicKey ::= INTEGER -- public key, y
+
+ -- Diffie-Hellman PK Algorithm, Parameters, and Keys
+
+-- pk-dh PUBLIC-KEY ::= {
+-- IDENTIFIER dhpublicnumber
+-- KEY DHPublicKey
+-- PARAMS TYPE DomainParameters ARE inheritable
+ -- Private key format not in this module --
+-- CERT-KEY-USAGE {keyAgreement, encipherOnly, decipherOnly }
+-- }
+
+ dhpublicnumber OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-x942(10046)
+ number-type(2) 1 }
+
+ DomainParameters ::= SEQUENCE {
+ p INTEGER, -- odd prime, p=jq +1
+ g INTEGER, -- generator, g
+ q INTEGER, -- factor of p-1
+ j INTEGER OPTIONAL, -- subgroup factor, j>= 2
+ validationParams ValidationParams OPTIONAL
+ }
+
+ ValidationParams ::= SEQUENCE {
+ seed BIT STRING,
+ pgenCounter INTEGER
+ }
+
+ DHPublicKey ::= INTEGER -- public key, y = g^x mod p
+
+ -- KEA PK Algorithm and Parameters
+
+-- pk-kea PUBLIC-KEY ::= {
+-- IDENTIFIER id-keyExchangeAlgorithm
+ -- key is not encoded --
+-- PARAMS TYPE KEA-Params-Id ARE required
+ -- Private key format not in this module --
+-- CERT-KEY-USAGE {keyAgreement, encipherOnly, decipherOnly }
+-- }
+
+ id-keyExchangeAlgorithm OBJECT IDENTIFIER ::= {
+ joint-iso-itu-t(2) country(16) us(840) organization(1)
+ gov(101) dod(2) infosec(1) algorithms(1) 22 }
+
+ KEA-Params-Id ::= OCTET STRING
+
+ -- RSASSA-PSS (RFC 4055)
+
+-- pk-rsaSSA-PSS PUBLIC-KEY ::= {
+-- IDENTIFIER id-RSASSA-PSS
+-- KEY RSAPublicKey
+-- PARAMS TYPE RSASSA-PSS-params ARE optional
+-- CERT-KEY-USAGE { nonRepudiation, digitalSignature, keyCertSign, cRLSign }
+-- }
+
+ id-mgf1 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-1(1) 8 }
+
+ id-RSASSA-PSS OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-1(1) 10 }
+
+ HashAlgorithm ::= AlgorithmIdentifier{DIGEST-ALGORITHM,
+ {HashAlgorithms}}
+
+ HashAlgorithms DIGEST-ALGORITHM ::= {
+ { IDENTIFIER id-sha1 PARAMS TYPE NULL ARE preferredPresent },
+ ...
+ }
+
+ -- sha1Identifier AlgorithmIdentifier ::= {
+ -- algorithmId id-sha1,
+ -- parameters NULL
+ -- }
+
+ MaskGenAlgorithm ::= AlgorithmIdentifier{ALGORITHM,
+ {PKCS1MGFAlgorithms}}
+
+ -- mgf1SHA1 MaskGenAlgorithm ::= {
+ -- algorithmId id-mgf1,
+ -- parameters HashAlgorithm : sha1Identifier
+ -- }
+
+ PKCS1MGFAlgorithms ALGORITHM ::= {
+ { IDENTIFIER id-mgf1 PARAMS TYPE HashAlgorithm ARE required },
+ ...
+ }
+
+ -- AlgorithmIdentifier parameters for id-RSASSA-PSS.
+ -- Note that the tags in this Sequence are explicit.
+ -- Note: The hash algorithm in hashAlgorithm and in
+ -- maskGenAlgorithm should be the same.
+
+ RSASSA-PSS-params ::= SEQUENCE {
+ hashAlgorithm [0] HashAlgorithm DEFAULT sha1Identifier,
+ maskGenAlgorithm [1] MaskGenAlgorithm DEFAULT mgf1SHA1,
+ saltLength [2] INTEGER DEFAULT 20,
+ trailerField [3] INTEGER DEFAULT 1
+ }
+
+
+ -- Elliptic Curve (EC) Signatures: Unrestricted Algorithms
+ -- (Section 2.1.1 of RFC 5480)
+ --
+ -- EC Unrestricted Algorithm ID -- -- this is used for ECDSA
+
+-- pk-ec PUBLIC-KEY ::= {
+-- IDENTIFIER id-ecPublicKey
+-- KEY ECPoint
+-- PARAMS TYPE ECParameters ARE required
+ -- Private key format not in this module --
+-- CERT-KEY-USAGE { digitalSignature, nonRepudiation, keyAgreement,
+-- keyCertSign, cRLSign }
+-- }
+
+ ECPoint ::= OCTET STRING -- see RFC 5480 for syntax and restrictions
+
+ id-ecPublicKey OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-X9-62(10045) keyType(2) 1 }
+
+ -- Elliptic Curve (EC) Signatures: Restricted Algorithms
+ -- (Section 2.1.2 of RFC 5480)
+ --
+ -- EC Diffie-Hellman Algorithm ID
+
+-- pk-ecDH PUBLIC-KEY ::= {
+-- IDENTIFIER id-ecDH
+-- KEY ECPoint
+-- PARAMS TYPE ECParameters ARE required
+ -- Private key format not in this module --
+-- CERT-KEY-USAGE { keyAgreement, encipherOnly, decipherOnly }
+-- }
+
+ id-ecDH OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) schemes(1)
+ ecdh(12) }
+
+ -- EC Menezes-Qu-Vanstone Algorithm ID
+
+-- pk-ecMQV PUBLIC-KEY ::= {
+-- IDENTIFIER id-ecMQV
+-- KEY ECPoint
+-- PARAMS TYPE ECParameters ARE required
+ -- Private key format not in this module --
+-- CERT-KEY-USAGE { keyAgreement, encipherOnly, decipherOnly }
+-- }
+
+ id-ecMQV OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) schemes(1)
+ ecmqv(13) }
+
+ -- Parameters and Keys for both Restricted and Unrestricted EC
+
+ ECParameters ::= CHOICE {
+ specifiedCurve SpecifiedECDomain, -- From RFC 3279 / SEC 1
+ namedCurve OBJECT IDENTIFIER
+ -- implicitlyCA NULL
+
+ -- Wireshark note: the PKIXAlgs-2009 module from RFC 5912 only allows
+ -- namedCurve to be used. This ECParameters type is however a subset of
+ -- the type defined in X9.62 and RFC 3279 which additionally defines
+ -- 'specified' and 'implicitlyCA'. Since the explicitly specified curve
+ -- parameters were spotted in the wild as part of exploiting CVE-2020-0601,
+ -- we will include it here anyway. We do not include implicitlyCA, it does
+ -- not appear to be supported by OpenSSL, unlike the other two fields.
+ }
+ (WITH COMPONENTS {namedCurve PRESENT})
+
+ -- ECParameters from RFC 3279, but renamed to SpecifiedECDomain (RFC 5480).
+ -- Adapted from https://tools.ietf.org/html/rfc3279#page-14
+
+ SpecifiedECDomain ::= SEQUENCE {
+ version ECPVer, -- version is always 1
+ fieldID FieldID, -- identifies the finite field over
+ -- which the curve is defined
+ curve Curve, -- coefficients a and b of the
+ -- elliptic curve
+ base ECPoint, -- specifies the base point P
+ -- on the elliptic curve
+ order INTEGER, -- the order n of the base point
+ cofactor INTEGER OPTIONAL -- The integer h = #E(Fq)/n
+ }
+
+ ECPVer ::= INTEGER {ecpVer1(1)}
+
+ FieldID ::= SEQUENCE {
+ fieldType OBJECT IDENTIFIER,
+ parameters ANY DEFINED BY fieldType }
+
+ Curve ::= SEQUENCE {
+ a FieldElement,
+ b FieldElement,
+ seed BIT STRING OPTIONAL }
+
+ FieldElement ::= OCTET STRING
+
+ -- FieldID.parameters definitions, OIDs are listed in pkcs1.cnf
+ -- https://tools.ietf.org/html/rfc3279#page-21
+
+ Prime-p ::= INTEGER -- Finite field F(p), where p is an odd prime
+
+ -- Sec 2.1.1.1 Named Curve
+
+ CURVE ::= CLASS { &id OBJECT IDENTIFIER UNIQUE }
+ WITH SYNTAX { ID &id }
+
+ NamedCurve CURVE ::= {
+ { ID secp192r1 } | { ID sect163k1 } | { ID sect163r2 } |
+ { ID secp224r1 } | { ID sect233k1 } | { ID sect233r1 } |
+ { ID secp256r1 } | { ID sect283k1 } | { ID sect283r1 } |
+ { ID secp384r1 } | { ID sect409k1 } | { ID sect409r1 } |
+ { ID secp521r1 } | { ID sect571k1 } | { ID sect571r1 },
+ ... -- Extensible
+ }
+
+ -- Note in [X9.62] the curves are referred to as 'ansiX9' as
+ -- opposed to 'sec'. For example, secp192r1 is the same curve as
+ -- ansix9p192r1.
+
+ -- Note that in [PKI-ALG] the secp192r1 curve was referred to as
+ -- prime192v1 and the secp256r1 curve was referred to as
+ -- prime256v1.
+
+ -- Note that [FIPS186-3] refers to secp192r1 as P-192,
+ -- secp224r1 as P-224, secp256r1 as P-256, secp384r1 as P-384,
+ -- and secp521r1 as P-521.
+
+ secp192r1 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3)
+ prime(1) 1 }
+
+ sect163k1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 1 }
+
+ sect163r2 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 15 }
+
+ secp224r1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 33 }
+
+ sect233k1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 26 }
+
+ sect233r1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 27 }
+
+ secp256r1 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3)
+ prime(1) 7 }
+
+ sect283k1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 16 }
+
+ sect283r1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 17 }
+
+ secp384r1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 34 }
+
+ sect409k1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 36 }
+
+ sect409r1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 37 }
+
+ secp521r1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 35 }
+
+ sect571k1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 38 }
+
+ sect571r1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) certicom(132) curve(0) 39 }
+
+ -- RSA with MD-2
+
+-- sa-rsaWithMD2 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER md2WithRSAEncryption
+-- PARAMS TYPE NULL ARE required
+-- HASHES { mda-md2 }
+-- PUBLIC-KEYS { pk-rsa }
+-- SMIME-CAPS { IDENTIFIED BY md2WithRSAEncryption }
+-- }
+
+ md2WithRSAEncryption OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-1(1) 2 }
+
+ -- RSA with MD-5
+
+-- sa-rsaWithMD5 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER md5WithRSAEncryption
+-- PARAMS TYPE NULL ARE required
+-- HASHES { mda-md5 }
+-- PUBLIC-KEYS { pk-rsa }
+-- SMIME-CAPS { IDENTIFIED BY md5WithRSAEncryption }
+-- }
+
+ md5WithRSAEncryption OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-1(1) 4 }
+
+ -- RSA with SHA-1
+
+-- sa-rsaWithSHA1 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER sha1WithRSAEncryption
+-- PARAMS TYPE NULL ARE required
+-- HASHES { mda-sha1 }
+-- PUBLIC-KEYS { pk-rsa }
+-- SMIME-CAPS {IDENTIFIED BY sha1WithRSAEncryption }
+-- }
+
+ sha1WithRSAEncryption OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-1(1) 5 }
+
+ -- DSA with SHA-1
+
+-- sa-dsaWithSHA1 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER dsa-with-sha1
+-- VALUE DSA-Sig-Value
+-- PARAMS TYPE NULL ARE absent
+-- HASHES { mda-sha1 }
+-- PUBLIC-KEYS { pk-dsa }
+-- SMIME-CAPS { IDENTIFIED BY dsa-with-sha1 }
+-- }
+
+ dsa-with-sha1 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 3 }
+
+ -- DSA with SHA-224
+
+-- sa-dsaWithSHA224 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER dsa-with-sha224
+-- VALUE DSA-Sig-Value
+-- PARAMS TYPE NULL ARE absent
+-- HASHES { mda-sha224 }
+-- PUBLIC-KEYS { pk-dsa }
+-- SMIME-CAPS { IDENTIFIED BY dsa-with-sha224 }
+-- }
+
+ dsa-with-sha224 OBJECT IDENTIFIER ::= {
+ joint-iso-ccitt(2) country(16) us(840) organization(1) gov(101)
+ csor(3) algorithms(4) id-dsa-with-sha2(3) 1 }
+
+ -- DSA with SHA-256
+
+-- sa-dsaWithSHA256 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER dsa-with-sha256
+-- VALUE DSA-Sig-Value
+-- PARAMS TYPE NULL ARE absent
+-- HASHES { mda-sha256 }
+-- PUBLIC-KEYS { pk-dsa }
+-- SMIME-CAPS { IDENTIFIED BY dsa-with-sha256 }
+-- }
+
+ dsa-with-sha256 OBJECT IDENTIFIER ::= {
+ joint-iso-ccitt(2) country(16) us(840) organization(1) gov(101)
+ csor(3) algorithms(4) id-dsa-with-sha2(3) 2 }
+
+ -- ECDSA with SHA-1
+
+-- sa-ecdsaWithSHA1 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER ecdsa-with-SHA1
+-- VALUE ECDSA-Sig-Value
+-- PARAMS TYPE NULL ARE absent
+-- HASHES { mda-sha1 }
+-- PUBLIC-KEYS { pk-ec }
+-- SMIME-CAPS {IDENTIFIED BY ecdsa-with-SHA1 }
+-- }
+
+ ecdsa-with-SHA1 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-X9-62(10045)
+ signatures(4) 1 }
+
+ -- ECDSA with SHA-224
+
+-- sa-ecdsaWithSHA224 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER ecdsa-with-SHA224
+-- VALUE ECDSA-Sig-Value
+-- PARAMS TYPE NULL ARE absent
+-- HASHES { mda-sha224 }
+-- PUBLIC-KEYS { pk-ec }
+-- SMIME-CAPS { IDENTIFIED BY ecdsa-with-SHA224 }
+-- }
+
+ ecdsa-with-SHA224 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4)
+ ecdsa-with-SHA2(3) 1 }
+
+ -- ECDSA with SHA-256
+
+-- sa-ecdsaWithSHA256 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER ecdsa-with-SHA256
+-- VALUE ECDSA-Sig-Value
+-- PARAMS TYPE NULL ARE absent
+-- HASHES { mda-sha256 }
+-- PUBLIC-KEYS { pk-ec }
+-- SMIME-CAPS { IDENTIFIED BY ecdsa-with-SHA256 }
+-- }
+
+ ecdsa-with-SHA256 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4)
+ ecdsa-with-SHA2(3) 2 }
+
+ -- ECDSA with SHA-384
+
+-- sa-ecdsaWithSHA384 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER ecdsa-with-SHA384
+-- VALUE ECDSA-Sig-Value
+-- PARAMS TYPE NULL ARE absent
+-- HASHES { mda-sha384 }
+-- PUBLIC-KEYS { pk-ec }
+-- SMIME-CAPS { IDENTIFIED BY ecdsa-with-SHA384 }
+-- }
+
+ ecdsa-with-SHA384 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4)
+ ecdsa-with-SHA2(3) 3 }
+
+ -- ECDSA with SHA-512
+
+-- sa-ecdsaWithSHA512 SIGNATURE-ALGORITHM ::= {
+-- IDENTIFIER ecdsa-with-SHA512
+-- VALUE ECDSA-Sig-Value
+-- PARAMS TYPE NULL ARE absent
+-- HASHES { mda-sha512 }
+-- PUBLIC-KEYS { pk-ec }
+-- SMIME-CAPS { IDENTIFIED BY ecdsa-with-SHA512 }
+-- }
+
+ ecdsa-with-SHA512 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4)
+ ecdsa-with-SHA2(3) 4 }
+
+ --
+ -- Signature Values
+ --
+
+ -- DSA
+
+ DSA-Sig-Value ::= SEQUENCE {
+ r INTEGER,
+ s INTEGER
+ }
+
+ -- ECDSA
+
+ ECDSA-Sig-Value ::= SEQUENCE {
+ r INTEGER,
+ s INTEGER
+ }
+
+ --
+ -- Message Digest Algorithms (mda-)
+ --
+
+ HashAlgs DIGEST-ALGORITHM ::= {
+ mda-md2 |
+ mda-md5 |
+ mda-sha1,
+ ... -- Extensible
+ }
+ -- MD-2
+
+-- mda-md2 DIGEST-ALGORITHM ::= {
+-- IDENTIFIER id-md2
+-- PARAMS TYPE NULL ARE preferredAbsent
+-- }
+
+ id-md2 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549)
+ digestAlgorithm(2) 2 }
+
+ -- MD-5
+
+-- mda-md5 DIGEST-ALGORITHM ::= {
+-- IDENTIFIER id-md5
+-- PARAMS TYPE NULL ARE preferredAbsent
+-- }
+
+ id-md5 OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) rsadsi(113549)
+ digestAlgorithm(2) 5 }
+
+ -- SHA-1
+
+-- mda-sha1 DIGEST-ALGORITHM ::= {
+-- IDENTIFIER id-sha1
+-- PARAMS TYPE NULL ARE preferredAbsent
+-- }
+
+ id-sha1 OBJECT IDENTIFIER ::= {
+ iso(1) identified-organization(3) oiw(14) secsig(3)
+ algorithm(2) 26 }
+
+ -- SHA-2 family (from RFC 3447)
+
+ id-sha256 OBJECT IDENTIFIER ::= {
+ joint-iso-itu-t(2) country(16) us(840) organization(1)
+ gov(101) csor(3) nistalgorithm(4) hashalgs(2) 1 }
+
+ END
diff --git a/epan/dissectors/asn1/pkcs1/packet-pkcs1-template.c b/epan/dissectors/asn1/pkcs1/packet-pkcs1-template.c
new file mode 100644
index 00000000..4254adb2
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs1/packet-pkcs1-template.c
@@ -0,0 +1,174 @@
+/* packet-pkcs1.c
+ * Routines for PKCS#1/RFC2313 packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-pkcs1.h"
+#include "packet-x509af.h"
+
+#define PNAME "PKCS#1"
+#define PSNAME "PKCS-1"
+#define PFNAME "pkcs-1"
+
+void proto_register_pkcs1(void);
+void proto_reg_handoff_pkcs1(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_pkcs1 = -1;
+#include "packet-pkcs1-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-pkcs1-ett.c"
+
+#include "packet-pkcs1-fn.c"
+
+/*--- proto_register_pkcs1 ----------------------------------------------*/
+void proto_register_pkcs1(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-pkcs1-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-pkcs1-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_pkcs1 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkcs1, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_pkcs1 -------------------------------------------*/
+void proto_reg_handoff_pkcs1(void) {
+#include "packet-pkcs1-dis-tab.c"
+
+ register_ber_oid_dissector("1.2.840.113549.2.2", dissect_ber_oid_NULL_callback, proto_pkcs1, "md2");
+ register_ber_oid_dissector("1.2.840.113549.2.4", dissect_ber_oid_NULL_callback, proto_pkcs1, "md4");
+ register_ber_oid_dissector("1.2.840.113549.2.5", dissect_ber_oid_NULL_callback, proto_pkcs1, "md5");
+
+ register_ber_oid_dissector("1.2.840.113549.1.1.1", dissect_ber_oid_NULL_callback, proto_pkcs1, "rsaEncryption");
+ register_ber_oid_dissector("1.2.840.113549.1.1.2", dissect_ber_oid_NULL_callback, proto_pkcs1, "md2WithRSAEncryption");
+ register_ber_oid_dissector("1.2.840.113549.1.1.3", dissect_ber_oid_NULL_callback, proto_pkcs1, "md4WithRSAEncryption");
+ register_ber_oid_dissector("1.2.840.113549.1.1.4", dissect_ber_oid_NULL_callback, proto_pkcs1, "md5WithRSAEncryption");
+
+
+ /* these two are not from RFC2313 but pulled in from
+ http://www.alvestrand.no/objectid/1.2.840.113549.1.1.html
+ */
+ register_ber_oid_dissector("1.2.840.113549.1.1.5", dissect_ber_oid_NULL_callback, proto_pkcs1, "sha1WithRSAEncryption");
+ register_ber_oid_dissector("1.2.840.113549.1.1.6", dissect_ber_oid_NULL_callback, proto_pkcs1, "rsaOAEPEncryptionSET");
+
+ /* these sha2 algorithms are from RFC3447 */
+ register_ber_oid_dissector("1.2.840.113549.1.1.11", dissect_ber_oid_NULL_callback, proto_pkcs1, "sha256WithRSAEncryption");
+ register_ber_oid_dissector("1.2.840.113549.1.1.12", dissect_ber_oid_NULL_callback, proto_pkcs1, "sha384WithRSAEncryption");
+ register_ber_oid_dissector("1.2.840.113549.1.1.13", dissect_ber_oid_NULL_callback, proto_pkcs1, "sha512WithRSAEncryption");
+ register_ber_oid_dissector("1.2.840.113549.1.1.14", dissect_ber_oid_NULL_callback, proto_pkcs1, "sha224WithRSAEncryption");
+
+ /* ECDSA SHA-1 algorithm from RFC 3279 */
+ register_ber_oid_dissector("1.2.840.10045.4.1", dissect_ber_oid_NULL_callback, proto_pkcs1, "ecdsa-with-SHA1");
+
+ /* SM2-with-SM3 from GM/T 0006 Cryptographic application identifier criterion specification */
+ register_ber_oid_dissector("1.2.156.10197.1.501", dissect_ber_oid_NULL_callback, proto_pkcs1, "SM2-with-SM3");
+
+ /* ECDSA SHA2 algorithms from X9.62, RFC5480, RFC 5758, RFC 5912 */
+ register_ber_oid_dissector("1.2.840.10045.4.3.1", dissect_ber_oid_NULL_callback, proto_pkcs1, "ecdsa-with-SHA224");
+ register_ber_oid_dissector("1.2.840.10045.4.3.2", dissect_ber_oid_NULL_callback, proto_pkcs1, "ecdsa-with-SHA256");
+ register_ber_oid_dissector("1.2.840.10045.4.3.3", dissect_ber_oid_NULL_callback, proto_pkcs1, "ecdsa-with-SHA384");
+ register_ber_oid_dissector("1.2.840.10045.4.3.4", dissect_ber_oid_NULL_callback, proto_pkcs1, "ecdsa-with-SHA512");
+
+ /* DSA SHA2 algorithms from FIPS186-3, RFC5480, RFC 5758, RFC 5912 */
+ register_ber_oid_dissector("2.16.840.1.101.3.4.3.1", dissect_ber_oid_NULL_callback, proto_pkcs1, "id-dsa-with-sha224");
+ register_ber_oid_dissector("2.16.840.1.101.3.4.3.2", dissect_ber_oid_NULL_callback, proto_pkcs1, "id-dsa-with-sha256");
+
+ oid_add_from_string("secp192r1","1.2.840.10045.3.1.1");
+ oid_add_from_string("sect163k1","1.3.132.0.1");
+ oid_add_from_string("sect163r2","1.3.132.0.15");
+ oid_add_from_string("secp224r1","1.3.132.0.33");
+ oid_add_from_string("sect233k1","1.3.132.0.26");
+ oid_add_from_string("sect233r1","1.3.132.0.27");
+ oid_add_from_string("secp256r1","1.2.840.10045.3.1.7");
+ oid_add_from_string("sect283k1","1.3.132.0.16");
+ oid_add_from_string("sect283r1","1.3.132.0.17");
+ oid_add_from_string("secp384r1","1.3.132.0.34");
+ oid_add_from_string("sect409k1","1.3.132.0.36");
+ oid_add_from_string("sect409r1","1.3.132.0.37");
+ oid_add_from_string("secp521r1","1.3.132.0.35");
+ oid_add_from_string("sect571k1","1.3.132.0.38");
+ oid_add_from_string("sect571r1","1.3.132.0.39");
+
+ /* SM2 from GM/T 0006 Cryptographic application identifier criterion specification */
+ oid_add_from_string("sm2","1.2.156.10197.1.301");
+
+ /* sha2 family, see RFC3447 and http://www.oid-info.com/get/2.16.840.1.101.3.4.2 */
+ oid_add_from_string("sha256", "2.16.840.1.101.3.4.2.1");
+ oid_add_from_string("sha384", "2.16.840.1.101.3.4.2.2");
+ oid_add_from_string("sha512", "2.16.840.1.101.3.4.2.3");
+ oid_add_from_string("sha224", "2.16.840.1.101.3.4.2.4");
+
+ /* SM3 from GM/T 0006 Cryptographic application identifier criterion specification */
+ oid_add_from_string("sm3","1.2.156.10197.1.401");
+
+ /* PQC digital signature algorithms from OQS-OpenSSL,
+ see https://github.com/open-quantum-safe/openssl/blob/OQS-OpenSSL_1_1_1-stable/oqs-template/oqs-sig-info.md */
+ oid_add_from_string("dilithium2", "1.3.6.1.4.1.2.267.7.4.4");
+ oid_add_from_string("p256_dilithium2", "1.3.9999.2.7.1");
+ oid_add_from_string("rsa3072_dilithium2", "1.3.9999.2.7.2");
+ oid_add_from_string("dilithium3", "1.3.6.1.4.1.2.267.7.6.5");
+ oid_add_from_string("p384_dilithium3", "1.3.9999.2.7.3");
+ oid_add_from_string("dilithium5", "1.3.6.1.4.1.2.267.7.8.7");
+ oid_add_from_string("p521_dilithium5", "1.3.9999.2.7.4");
+ oid_add_from_string("dilithium2_aes", "1.3.6.1.4.1.2.267.11.4.4");
+ oid_add_from_string("p256_dilithium2_aes", "1.3.9999.2.11.1");
+ oid_add_from_string("rsa3072_dilithium2_aes", "1.3.9999.2.11.2");
+ oid_add_from_string("dilithium3_aes", "1.3.6.1.4.1.2.267.11.6.5");
+ oid_add_from_string("p384_dilithium3_aes", "1.3.9999.2.11.3");
+ oid_add_from_string("dilithium5_aes", "1.3.6.1.4.1.2.267.11.8.7");
+ oid_add_from_string("p521_dilithium5_aes", "1.3.9999.2.11.4");
+ oid_add_from_string("falcon512", "1.3.9999.3.1");
+ oid_add_from_string("p256_falcon512", "1.3.9999.3.2");
+ oid_add_from_string("rsa3072_falcon512", "1.3.9999.3.3");
+ oid_add_from_string("falcon1024", "1.3.9999.3.4");
+ oid_add_from_string("p521_falcon1024", "1.3.9999.3.5");
+ oid_add_from_string("picnicl1full", "1.3.6.1.4.1.311.89.2.1.7");
+ oid_add_from_string("p256_picnicl1full", "1.3.6.1.4.1.311.89.2.1.8");
+ oid_add_from_string("rsa3072_picnicl1full", "1.3.6.1.4.1.311.89.2.1.9");
+ oid_add_from_string("picnic3l1", "1.3.6.1.4.1.311.89.2.1.21");
+ oid_add_from_string("p256_picnic3l1", "1.3.6.1.4.1.311.89.2.1.22");
+ oid_add_from_string("rsa3072_picnic3l1", "1.3.6.1.4.1.311.89.2.1.23");
+ oid_add_from_string("rainbowIclassic", "1.3.9999.5.1.1.1");
+ oid_add_from_string("p256_rainbowIclassic", "1.3.9999.5.1.2.1");
+ oid_add_from_string("rsa3072_rainbowIclassic", "1.3.9999.5.1.3.1");
+ oid_add_from_string("rainbowVclassic", "1.3.9999.5.3.1.1");
+ oid_add_from_string("p521_rainbowVclassic", "1.3.9999.5.3.2.1");
+ oid_add_from_string("sphincsharaka128frobust", "1.3.9999.6.1.1");
+ oid_add_from_string("p256_sphincsharaka128frobust", "1.3.9999.6.1.2");
+ oid_add_from_string("rsa3072_sphincsharaka128frobust", "1.3.9999.6.1.3");
+ oid_add_from_string("sphincssha256128frobust", "1.3.9999.6.4.1");
+ oid_add_from_string("p256_sphincssha256128frobust", "1.3.9999.6.4.2");
+ oid_add_from_string("rsa3072_sphincssha256128frobust", "1.3.9999.6.4.3");
+ oid_add_from_string("sphincsshake256128frobust", "1.3.9999.6.7.1");
+ oid_add_from_string("p256_sphincsshake256128frobust", "1.3.9999.6.7.2");
+ oid_add_from_string("rsa3072_sphincsshake256128frobust", "1.3.9999.6.7.3");
+
+}
+
diff --git a/epan/dissectors/asn1/pkcs1/packet-pkcs1-template.h b/epan/dissectors/asn1/pkcs1/packet-pkcs1-template.h
new file mode 100644
index 00000000..c93ccfe1
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs1/packet-pkcs1-template.h
@@ -0,0 +1,18 @@
+/* packet-pkcs1.h
+ * Routines for PKCS#1/RFC2313 packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PKCS1_H
+#define PACKET_PKCS1_H
+
+#include "packet-pkcs1-exp.h"
+
+#endif /* PACKET_PKCS1_H */
+
diff --git a/epan/dissectors/asn1/pkcs1/pkcs1.cnf b/epan/dissectors/asn1/pkcs1/pkcs1.cnf
new file mode 100644
index 00000000..55622890
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs1/pkcs1.cnf
@@ -0,0 +1,45 @@
+# pkcs1.cnf
+# PKCS#1 conformation file
+
+#.IMPORT ../x509af/x509af-exp.cnf
+
+#.EXPORTS
+
+RSAPublicKey
+DigestInfo
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.FN_PARS FieldID/fieldType
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY FieldID/parameters
+ offset = call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.REGISTER
+DSA-Params B "1.2.840.10040.4.1" "id-dsa"
+DomainParameters B "1.2.840.10046.2.1" "dhpublicnumber"
+KEA-Params-Id B "2.16.840.1.101.2.1.1.22" "id-keyExchangeAlgorithm"
+ECParameters B "1.2.840.10045.2.1" "id-ecPublicKey"
+ECParameters B "1.3.132.1.12" "id-ecDH"
+ECParameters B "1.2.840.10045.2.13" "id-ecMQV"
+RSASSA-PSS-params B "1.2.840.113549.1.1.10" "id-RSASSA-PSS"
+HashAlgorithm B "1.2.840.113549.1.1.8" "id-mgf1"
+Prime-p B "1.2.840.10045.1.1" "prime-field"
+
+#.NO_EMIT
+DSAPublicKey
+DHPublicKey
+DSA-Sig-Value
+ECDSA-Sig-Value
+
+#.TYPE_ATTR
+RSAPublicKey/modulus TYPE = FT_BYTES DISPLAY = BASE_NONE
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/pkcs10/CMakeLists.txt b/epan/dissectors/asn1/pkcs10/CMakeLists.txt
new file mode 100644
index 00000000..b4dec715
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs10/CMakeLists.txt
@@ -0,0 +1,47 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+set( PROTOCOL_NAME pkcs10 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PKCS10.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkcs10/PKCS10.asn b/epan/dissectors/asn1/pkcs10/PKCS10.asn
new file mode 100644
index 00000000..c63d6540
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs10/PKCS10.asn
@@ -0,0 +1,114 @@
+-- Extracted from RFC2986
+-- by Martin Peylo <wireshark@izac.de> 2018
+--
+-- Changes to the original ASN.1 source:
+-- - commented out import from InformationFramework
+-- - commented out AlgorithmIdentifier
+-- - commented out SubjectPublicKeyInfo
+-- - simplified Attribute
+-- - added out import the above from PKIX1Explicit88
+--
+-- The copyright statement from the original description in RFC2986
+-- follows below:
+--
+-- Full Copyright Statement
+--
+-- Copyright (C) The Internet Society 2000. All Rights Reserved.
+--
+-- This document and translations of it may be copied and furnished to
+-- others provided that the above copyright notice and this paragraph
+-- are included on all such copies. However, this document itself may
+-- not be modified in any way, such as by removing the copyright notice
+-- or references to the Internet Society or other Internet
+-- organizations, except as required to translate it into languages
+-- other than English.
+--
+-- The limited permissions granted above are perpetual and will not be
+-- revoked by the Internet Society or its successors or assigns.
+--
+-- This document and the information contained herein is provided on an
+-- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+-- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+-- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+ PKCS-10 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-10(10) modules(1) pkcs-10(1)}
+
+ DEFINITIONS IMPLICIT TAGS ::=
+
+ BEGIN
+
+ -- EXPORTS All --
+
+ -- All types and values defined in this module are exported for use
+ -- in other ASN.1 modules.
+
+ IMPORTS
+
+ informationFramework, authenticationFramework
+ FROM UsefulDefinitions {joint-iso-itu-t(2) ds(5) module(1)
+ usefulDefinitions(0) 3}
+
+-- COMMENTED OUT as PKIX1Explicit88 provides this
+-- ATTRIBUTE, Name
+-- FROM InformationFramework informationFramework
+
+-- ADDED to avoid that it needs to be implemented here, and to have Name
+-- Directory Authentication Framework (X.509)
+ AlgorithmIdentifier, Name, SubjectPublicKeyInfo
+ FROM PKIX1Explicit88 {iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit(18)}
+
+ ALGORITHM
+ FROM AuthenticationFramework authenticationFramework;
+
+ -- Certificate requests
+ CertificationRequestInfo ::= SEQUENCE {
+ version INTEGER { v1(0) } (v1,...),
+ subject Name,
+ subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
+ attributes [0] Attributes{{ CRIAttributes }}
+ }
+
+-- COMMENTED OUT as not needed as imported from PKIX1Explicit88
+-- SubjectPublicKeyInfo {ALGORITHM: IOSet} ::= SEQUENCE {
+-- algorithm AlgorithmIdentifier {{IOSet}},
+-- subjectPublicKey BIT STRING
+-- }
+
+ PKInfoAlgorithms ALGORITHM ::= {
+ ... -- add any locally defined algorithms here -- }
+
+ Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}
+
+ CRIAttributes ATTRIBUTE ::= {
+ ... -- add any locally defined attributes here -- }
+
+-- Simplified to make it easier to digest
+-- Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
+-- type ATTRIBUTE.&id({IOSet}),
+-- values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type})
+-- }
+ Attribute ::= SEQUENCE {
+ type OBJECT IDENTIFIER,
+ values SET SIZE (1 .. MAX) OF ANY
+ }
+
+ CertificationRequest ::= SEQUENCE {
+ certificationRequestInfo CertificationRequestInfo,
+ signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }},
+ signature BIT STRING
+ }
+
+-- COMMENTED OUT as not needed as imported from PKIX1Explicit88
+-- AlgorithmIdentifier {ALGORITHM:IOSet } ::= SEQUENCE {
+-- algorithm ALGORITHM.&id({IOSet}),
+-- parameters ALGORITHM.&Type({IOSet}{@algorithm}) OPTIONAL
+-- }
+
+ SignatureAlgorithms ALGORITHM ::= {
+ ... -- add any locally defined algorithms here -- }
+
+ END
diff --git a/epan/dissectors/asn1/pkcs10/packet-pkcs10-template.c b/epan/dissectors/asn1/pkcs10/packet-pkcs10-template.c
new file mode 100644
index 00000000..eef9654c
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs10/packet-pkcs10-template.c
@@ -0,0 +1,87 @@
+/* packet-p10.c
+ *
+ * Routines for PKCS10 packet dissection
+ * Martin Peylo <wireshark@izac.de> 2018
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include "packet-ber.h"
+#include "packet-pkcs10.h"
+#include "packet-pkix1explicit.h"
+#include "packet-pkix1implicit.h"
+#include <epan/prefs.h>
+
+#define PNAME "PKCS10 Certification Request"
+#define PSNAME "PKCS10"
+#define PFNAME "pkcs10"
+
+void proto_register_pkcs10(void);
+
+static dissector_handle_t csr_handle;
+
+/* Initialize the protocol and registered fields */
+static int proto_pkcs10 = -1;
+#include "packet-pkcs10-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-pkcs10-ett.c"
+#include "packet-pkcs10-fn.c"
+
+/*--- proto_register_pkcs10 ----------------------------------------------*/
+void proto_register_pkcs10(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-pkcs10-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-pkcs10-ettarr.c"
+ };
+ /* Register protocol */
+ proto_pkcs10 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkcs10, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ csr_handle = register_dissector(PFNAME, dissect_CertificationRequest_PDU, proto_pkcs10);
+ register_ber_syntax_dissector("CertificationRequest", proto_pkcs10, dissect_CertificationRequest_PDU);
+ register_ber_oid_syntax(".p10", NULL, "CertificationRequest");
+ register_ber_oid_syntax(".csr", NULL, "CertificationRequest");
+}
+
+
+/*--- proto_reg_handoff_pkcs10 -------------------------------------------*/
+void proto_reg_handoff_pkcs10(void) {
+
+#include "packet-pkcs10-dis-tab.c"
+
+ dissector_add_string("media_type", "application/pkcs10", csr_handle); /* RFC 5967 */
+ dissector_add_string("rfc7468.preeb_label", "CERTIFICATE REQUEST", csr_handle); /* RFC 7468 */
+ dissector_add_string("rfc7468.preeb_label", "NEW CERTIFICATE REQUEST", csr_handle); /* RFC 7468 Appendix A. Non-conforming expample*/
+}
diff --git a/epan/dissectors/asn1/pkcs10/packet-pkcs10-template.h b/epan/dissectors/asn1/pkcs10/packet-pkcs10-template.h
new file mode 100644
index 00000000..9ca10ee9
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs10/packet-pkcs10-template.h
@@ -0,0 +1,32 @@
+/* packet-pkcs10.h
+ *
+ * Routines for PKCS10 dissection
+ * Martin Peylo 2017
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef PACKET_PKCS10_H
+#define PACKET_PKCS10_H
+
+void proto_reg_handoff_pkcs10(void);
+
+#include "packet-pkcs10-exp.h"
+
+#endif /* PACKET_PKCS10_H */
diff --git a/epan/dissectors/asn1/pkcs10/pkcs10.cnf b/epan/dissectors/asn1/pkcs10/pkcs10.cnf
new file mode 100644
index 00000000..04685fe5
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs10/pkcs10.cnf
@@ -0,0 +1,31 @@
+# pkcs10.cnf
+# PKCS10 conformation file
+
+#.MODULE_IMPORT
+PKIX1Explicit88 pkix1explicit
+
+#.INCLUDE ../pkix1explicit/pkix1explicit_exp.cnf
+
+#.EXPORTS
+CertificationRequest
+
+#.REGISTER
+# From PKCS 9 / RFC 2985
+Attributes B "1.2.840.113549.1.9.9" "pkcs-9-at-extendedCertificateAttributes"
+
+#.PDU
+CertificationRequest
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.FN_PARS Attribute/type
+ FN_VARIANT = _str HF_INDEX = hf_pkcs10_type VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Attribute/values/_item
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.END_OF_CNF
diff --git a/epan/dissectors/asn1/pkcs12/CMakeLists.txt b/epan/dissectors/asn1/pkcs12/CMakeLists.txt
new file mode 100644
index 00000000..a1dee6cf
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs12/CMakeLists.txt
@@ -0,0 +1,41 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pkcs12 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../cms/cms-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.c b/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.c
new file mode 100644
index 00000000..faec6b15
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.c
@@ -0,0 +1,487 @@
+/* packet-pkcs12.c
+ * Routines for PKCS#12: Personal Information Exchange packet dissection
+ * Graeme Lunt 2006
+ *
+ * See "PKCS #12 v1.1: Personal Information Exchange Syntax":
+ *
+ * http://www.emc.com/emc-plus/rsa-labs/pkcs/files/h11301-wp-pkcs-12v1-1-personal-information-exchange-syntax.pdf
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+
+#include "packet-ber.h"
+#include "packet-pkcs12.h"
+#include "packet-x509af.h"
+#include "packet-x509if.h"
+#include "packet-cms.h"
+
+#include <wsutil/wsgcrypt.h>
+
+#define PNAME "PKCS#12: Personal Information Exchange"
+#define PSNAME "PKCS12"
+#define PFNAME "pkcs12"
+
+#define PKCS12_PBE_ARCFOUR_SHA1_OID "1.2.840.113549.1.12.1.1"
+#define PKCS12_PBE_3DES_SHA1_OID "1.2.840.113549.1.12.1.3"
+#define PKCS12_PBE_RC2_40_SHA1_OID "1.2.840.113549.1.12.1.6"
+
+void proto_register_pkcs12(void);
+void proto_reg_handoff_pkcs12(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_pkcs12 = -1;
+
+static int hf_pkcs12_X509Certificate_PDU = -1;
+static int hf_pkcs12_AuthenticatedSafe_PDU = -1; /* AuthenticatedSafe */
+static gint ett_decrypted_pbe = -1;
+
+static expert_field ei_pkcs12_octet_string_expected = EI_INIT;
+
+
+static const char *object_identifier_id = NULL;
+static int iteration_count = 0;
+static tvbuff_t *salt = NULL;
+static const char *password = NULL;
+static gboolean try_null_password = FALSE;
+
+static int dissect_AuthenticatedSafe_OCTETSTRING_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data);
+static int dissect_SafeContents_OCTETSTRING_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data);
+static int dissect_PrivateKeyInfo_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data);
+
+#include "packet-pkcs12-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-pkcs12-ett.c"
+
+static void append_oid(wmem_allocator_t *pool, proto_tree *tree, const char *oid)
+{
+ const char *name = NULL;
+
+ name = oid_resolved_from_string(pool, oid);
+ proto_item_append_text(tree, " (%s)", name ? name : oid);
+}
+
+static int
+generate_key_or_iv(packet_info *pinfo, unsigned int id, tvbuff_t *salt_tvb, unsigned int iter,
+ const char *pw, unsigned int req_keylen, char * keybuf)
+{
+ int rc;
+ unsigned int i, j;
+ gcry_md_hd_t md;
+ gcry_mpi_t num_b1 = NULL;
+ size_t pwlen;
+ char hash[20], buf_b[64], buf_i[128], *p;
+ char *salt_p;
+ int salt_size;
+ size_t cur_keylen;
+ size_t n;
+ gcry_error_t err;
+
+ cur_keylen = 0;
+
+ salt_size = tvb_captured_length(salt_tvb);
+ salt_p = (char *)tvb_memdup(pinfo->pool, salt_tvb, 0, salt_size);
+
+ if (pw == NULL)
+ pwlen = 0;
+ else
+ pwlen = strlen(pw);
+
+ if (pwlen > 63 / 2)
+ {
+ return FALSE;
+ }
+
+ /* Store salt and password in BUF_I */
+ p = buf_i;
+ for (i = 0; i < 64; i++)
+ *p++ = salt_p[i % salt_size];
+ if (pw)
+ {
+ for (i = j = 0; i < 64; i += 2)
+ {
+ *p++ = 0;
+ *p++ = pw[j];
+ if (++j > pwlen) /* Note, that we include the trailing zero */
+ j = 0;
+ }
+ }
+ else
+ memset (p, 0, 64);
+
+ for (;;) {
+ err = gcry_md_open(&md, GCRY_MD_SHA1, 0);
+ if (gcry_err_code(err))
+ {
+ return FALSE;
+ }
+ for (i = 0; i < 64; i++)
+ {
+ unsigned char lid = id & 0xFF;
+ gcry_md_write (md, &lid, 1);
+ }
+
+ gcry_md_write(md, buf_i, pw ? 128 : 64);
+
+ gcry_md_final (md);
+ memcpy (hash, gcry_md_read (md, 0), 20);
+
+ gcry_md_close (md);
+
+ for (i = 1; i < iter; i++)
+ gcry_md_hash_buffer (GCRY_MD_SHA1, hash, hash, 20);
+
+ for (i = 0; i < 20 && cur_keylen < req_keylen; i++)
+ keybuf[cur_keylen++] = hash[i];
+
+ if (cur_keylen == req_keylen)
+ {
+ gcry_mpi_release (num_b1);
+ return TRUE; /* ready */
+ }
+
+ /* need more bytes. */
+ for (i = 0; i < 64; i++)
+ buf_b[i] = hash[i % 20];
+
+ n = 64;
+
+ rc = gcry_mpi_scan (&num_b1, GCRYMPI_FMT_USG, buf_b, n, &n);
+
+ if (rc != 0)
+ {
+ return FALSE;
+ }
+
+ gcry_mpi_add_ui (num_b1, num_b1, 1);
+
+ for (i = 0; i < 128; i += 64)
+ {
+ gcry_mpi_t num_ij;
+
+ n = 64;
+ rc = gcry_mpi_scan (&num_ij, GCRYMPI_FMT_USG, buf_i + i, n, &n);
+
+ if (rc != 0)
+ {
+ return FALSE;
+ }
+
+ gcry_mpi_add (num_ij, num_ij, num_b1);
+ gcry_mpi_clear_highbit (num_ij, 64 * 8);
+
+ n = 64;
+
+ rc = gcry_mpi_print (GCRYMPI_FMT_USG, buf_i + i, n, &n, num_ij);
+ if (rc != 0)
+ {
+ return FALSE;
+ }
+
+ gcry_mpi_release (num_ij);
+ }
+ }
+}
+
+void PBE_reset_parameters(void)
+{
+ iteration_count = 0;
+ salt = NULL;
+}
+
+int PBE_decrypt_data(const char *object_identifier_id_param _U_, tvbuff_t *encrypted_tvb _U_, packet_info *pinfo _U_, asn1_ctx_t *actx _U_, proto_item *item _U_)
+{
+ const char *encryption_algorithm;
+ gcry_cipher_hd_t cipher;
+ gcry_error_t err;
+ int algo;
+ int mode;
+ int ivlen = 0;
+ int keylen = 0;
+ int datalen = 0;
+ char *key = NULL;
+ char *iv = NULL;
+ char *clear_data = NULL;
+ tvbuff_t *clear_tvb = NULL;
+ const gchar *oidname;
+ GString *name;
+ proto_tree *tree;
+ char byte;
+ gboolean decrypt_ok = TRUE;
+
+ if(((password == NULL) || (*password == '\0')) && (try_null_password == FALSE)) {
+ /* we are not configured to decrypt */
+ return FALSE;
+ }
+
+ encryption_algorithm = x509af_get_last_algorithm_id();
+
+ /* these are the only encryption schemes we understand for now */
+ if(!strcmp(encryption_algorithm, PKCS12_PBE_3DES_SHA1_OID)) {
+ ivlen = 8;
+ keylen = 24;
+ algo = GCRY_CIPHER_3DES;
+ mode = GCRY_CIPHER_MODE_CBC;
+ } else if(!strcmp(encryption_algorithm, PKCS12_PBE_ARCFOUR_SHA1_OID)) {
+ ivlen = 0;
+ keylen = 16;
+ algo = GCRY_CIPHER_ARCFOUR;
+ mode = GCRY_CIPHER_MODE_NONE;
+ } else if(!strcmp(encryption_algorithm, PKCS12_PBE_RC2_40_SHA1_OID)) {
+ ivlen = 8;
+ keylen = 5;
+ algo = GCRY_CIPHER_RFC2268_40;
+ mode = GCRY_CIPHER_MODE_CBC;
+ } else {
+ /* we don't know how to decrypt this */
+
+ proto_item_append_text(item, " [Unsupported encryption algorithm]");
+ return FALSE;
+ }
+
+ if((iteration_count == 0) || (salt == NULL)) {
+ proto_item_append_text(item, " [Insufficient parameters]");
+ return FALSE;
+ }
+
+ /* allocate buffers */
+ key = (char *)wmem_alloc(pinfo->pool, keylen);
+
+ if(!generate_key_or_iv(pinfo, 1 /*LEY */, salt, iteration_count, password, keylen, key))
+ return FALSE;
+
+ if(ivlen) {
+
+ iv = (char *)wmem_alloc(pinfo->pool, ivlen);
+
+ if(!generate_key_or_iv(pinfo, 2 /* IV */, salt, iteration_count, password, ivlen, iv))
+ return FALSE;
+ }
+
+ /* now try an internal function */
+ err = gcry_cipher_open(&cipher, algo, mode, 0);
+ if (gcry_err_code (err))
+ return FALSE;
+
+ err = gcry_cipher_setkey (cipher, key, keylen);
+ if (gcry_err_code (err)) {
+ gcry_cipher_close (cipher);
+ return FALSE;
+ }
+
+ if(ivlen) {
+ err = gcry_cipher_setiv (cipher, iv, ivlen);
+ if (gcry_err_code (err)) {
+ gcry_cipher_close (cipher);
+ return FALSE;
+ }
+ }
+
+ datalen = tvb_captured_length(encrypted_tvb);
+ clear_data = (char *)wmem_alloc(pinfo->pool, datalen);
+
+ err = gcry_cipher_decrypt (cipher, clear_data, datalen, (char *)tvb_memdup(pinfo->pool, encrypted_tvb, 0, datalen), datalen);
+ if (gcry_err_code (err)) {
+
+ proto_item_append_text(item, " [Failed to decrypt with password preference]");
+
+ gcry_cipher_close (cipher);
+ return FALSE;
+ }
+
+ gcry_cipher_close (cipher);
+
+ /* We don't know if we have successfully decrypted the data or not so we:
+ a) check the trailing bytes
+ b) see if we start with a sequence or a set (is this too constraining?
+ */
+
+ /* first the trailing bytes */
+ byte = clear_data[datalen-1];
+ if(byte <= 0x08) {
+ int i;
+
+ for(i = (int)byte; i > 0 ; i--) {
+ if(clear_data[datalen - i] != byte) {
+ decrypt_ok = FALSE;
+ break;
+ }
+ }
+ } else {
+ /* XXX: is this a failure? */
+ }
+
+ /* we assume the result is ASN.1 - check it is a SET or SEQUENCE */
+ byte = clear_data[0];
+ if((byte != 0x30) && (byte != 0x31)) { /* do we need more here? OCTET STRING? */
+ decrypt_ok = FALSE;
+ }
+
+ if(!decrypt_ok) {
+ proto_item_append_text(item, " [Failed to decrypt with supplied password]");
+
+ return FALSE;
+ }
+
+ proto_item_append_text(item, " [Decrypted successfully]");
+
+ tree = proto_item_add_subtree(item, ett_decrypted_pbe);
+
+ /* OK - so now clear_data contains the decrypted data */
+
+ clear_tvb = tvb_new_child_real_data(encrypted_tvb,(const guint8 *)clear_data, datalen, datalen);
+
+ name = g_string_new("");
+ oidname = oid_resolved_from_string(pinfo->pool, object_identifier_id_param);
+ g_string_printf(name, "Decrypted %s", oidname ? oidname : object_identifier_id_param);
+
+ /* add it as a new source */
+ add_new_data_source(actx->pinfo, clear_tvb, name->str);
+
+ g_string_free(name, TRUE);
+
+ /* now try and decode it */
+ call_ber_oid_callback(object_identifier_id_param, clear_tvb, 0, actx->pinfo, tree, NULL);
+
+ return TRUE;
+}
+
+#include "packet-pkcs12-fn.c"
+
+static int strip_octet_string(tvbuff_t *tvb)
+{
+ gint8 ber_class;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+ int offset = 0;
+
+ /* PKCS#7 encodes the content as OCTET STRING, whereas CMS is just any ANY */
+ /* if we use CMS (rather than PKCS#7) - which we are - we need to strip the OCTET STRING tag */
+ /* before proceeding */
+
+ offset = get_ber_identifier(tvb, 0, &ber_class, &pc, &tag);
+ offset = get_ber_length(tvb, offset, &len, &ind);
+
+ if((ber_class == BER_CLASS_UNI) && (tag == BER_UNI_TAG_OCTETSTRING))
+ return offset;
+
+ return 0;
+
+}
+
+static int dissect_AuthenticatedSafe_OCTETSTRING_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ if((offset = strip_octet_string(tvb)) > 0)
+ dissect_pkcs12_AuthenticatedSafe(FALSE, tvb, offset, &asn1_ctx, tree, hf_pkcs12_AuthenticatedSafe_PDU);
+ else
+ proto_tree_add_expert(tree, pinfo, &ei_pkcs12_octet_string_expected, tvb, 0, 1);
+ return tvb_captured_length(tvb);
+}
+
+static int dissect_SafeContents_OCTETSTRING_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ offset = strip_octet_string(tvb);
+
+ dissect_pkcs12_SafeContents(FALSE, tvb, offset, &asn1_ctx, tree, hf_pkcs12_SafeContents_PDU);
+ return tvb_captured_length(tvb);
+}
+
+static int dissect_X509Certificate_OCTETSTRING_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ if((offset = strip_octet_string(tvb)) > 0)
+ dissect_x509af_Certificate(FALSE, tvb, offset, &asn1_ctx, tree, hf_pkcs12_X509Certificate_PDU);
+ else
+ proto_tree_add_expert(tree, pinfo, &ei_pkcs12_octet_string_expected, tvb, 0, 1);
+
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_pkcs12 ----------------------------------------------*/
+void proto_register_pkcs12(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_pkcs12_X509Certificate_PDU,
+ { "X509Certificate", "pkcs12.X509Certificate",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "pkcs12.X509Certificate", HFILL }},
+ { &hf_pkcs12_AuthenticatedSafe_PDU,
+ { "AuthenticatedSafe", "pkcs12.AuthenticatedSafe",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+#include "packet-pkcs12-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_decrypted_pbe,
+#include "packet-pkcs12-ettarr.c"
+ };
+ static ei_register_info ei[] = {
+ { &ei_pkcs12_octet_string_expected, { "pkcs12.octet_string_expected", PI_PROTOCOL, PI_WARN, "BER Error: OCTET STRING expected", EXPFILL }},
+ };
+
+ module_t *pkcs12_module;
+ expert_module_t* expert_pkcs12;
+
+ /* Register protocol */
+ proto_pkcs12 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkcs12, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_pkcs12 = expert_register_protocol(proto_pkcs12);
+ expert_register_field_array(expert_pkcs12, ei, array_length(ei));
+
+ /* Register preferences */
+ pkcs12_module = prefs_register_protocol(proto_pkcs12, NULL);
+
+ prefs_register_string_preference(pkcs12_module, "password",
+ "Password to decrypt the file with",
+ "The password to used to decrypt the encrypted elements within"
+ " the PKCS#12 file", &password);
+
+ prefs_register_bool_preference(pkcs12_module, "try_null_password",
+ "Try to decrypt with a empty password",
+ "Whether to try and decrypt the encrypted data within the"
+ " PKCS#12 with a NULL password", &try_null_password);
+
+ register_ber_syntax_dissector("PKCS#12", proto_pkcs12, dissect_PFX_PDU);
+ register_ber_oid_syntax(".p12", NULL, "PKCS#12");
+ register_ber_oid_syntax(".pfx", NULL, "PKCS#12");
+}
+
+
+/*--- proto_reg_handoff_pkcs12 -------------------------------------------*/
+void proto_reg_handoff_pkcs12(void) {
+#include "packet-pkcs12-dis-tab.c"
+
+ register_ber_oid_dissector("1.2.840.113549.1.9.22.1", dissect_X509Certificate_OCTETSTRING_PDU, proto_pkcs12, "x509Certificate");
+
+}
+
diff --git a/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.h b/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.h
new file mode 100644
index 00000000..269f3ac6
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs12/packet-pkcs12-template.h
@@ -0,0 +1,19 @@
+/* packet-pkcs12.h
+ * Routines for PKCS#12 Personal Information Exchange packet dissection
+ * Graeme Lunt 2006
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PKCS12_H
+#define PACKET_PKCS12_H
+
+void PBE_reset_parameters(void);
+int PBE_decrypt_data(const char *object_identifier_id, tvbuff_t *encrypted_tvb, packet_info *pinfo, asn1_ctx_t *actx, proto_item *item);
+
+#endif /* PACKET_PKCS12_H */
+
diff --git a/epan/dissectors/asn1/pkcs12/pkcs12.asn b/epan/dissectors/asn1/pkcs12/pkcs12.asn
new file mode 100644
index 00000000..1bbf2a14
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs12/pkcs12.asn
@@ -0,0 +1,269 @@
+PKCS-12 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+ pkcs-12(12) modules(0) pkcs-12(1)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS ALL
+-- All types and values defined in this module is exported for use in
+-- other ASN.1 modules.
+
+IMPORTS
+
+informationFramework
+ FROM UsefulDefinitions {joint-iso-itu-t(2) ds(5) module(1)
+ usefulDefinitions(0) 3}
+
+Attribute
+ FROM InformationFramework informationFramework
+
+ContentInfo, DigestInfo, Digest, DigestAlgorithmIdentifier
+ FROM PKCS-7 {iso(1) member-body(2) us(840) rsadsi(113549)
+ pkcs(1) pkcs-7(7) modules(0) pkcs-7(1)}
+
+--PrivateKeyInfo, EncryptedPrivateKeyInfo
+-- FROM PKCS-8 {iso(1) member-body(2) us(840) rsadsi(113549)
+-- pkcs(1) pkcs-8(8) modules(1) pkcs-8(1)}
+--
+--pkcs-9, friendlyName, localKeyId, certTypes, crlTypes
+-- FROM PKCS-9 {iso(1) member-body(2) us(840) rsadsi(113549)
+-- pkcs(1) pkcs-9(9) modules(0) pkcs-9(1) };--
+
+-- A PKCS#8 IMPORT from below
+AlgorithmIdentifier, ALGORITHM-IDENTIFIER
+ FROM PKCS-5 {iso(1) member-body(2) us(840) rsadsi(113549)
+ pkcs(1) pkcs-5(5) modules(16) pkcs-5(1)};
+
+
+-- Object identifiers
+
+--rsadsi OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549)}
+--pkcs OBJECT IDENTIFIER ::= {rsadsi pkcs(1)}
+--pkcs-12 OBJECT IDENTIFIER ::= {pkcs 12}
+--pkcs-12PbeIds OBJECT IDENTIFIER ::= {pkcs-12 1}
+--pbeWithSHAAnd128BitRC4 OBJECT IDENTIFIER ::= {pkcs-12PbeIds 1}
+--pbeWithSHAAnd40BitRC4 OBJECT IDENTIFIER ::= {pkcs-12PbeIds 2}
+--pbeWithSHAAnd3-KeyTripleDES-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 3}
+--pbeWithSHAAnd2-KeyTripleDES-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 4}
+--pbeWithSHAAnd128BitRC2-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 5}
+--pbewithSHAAnd40BitRC2-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 6}
+
+--bagtypes OBJECT IDENTIFIER ::= {pkcs-12 10 1}
+
+-- The PFX PDU
+
+PFX ::= SEQUENCE {
+ version INTEGER {v3(3)}(v3,...),
+ authSafe ContentInfo,
+ macData MacData OPTIONAL
+}
+
+MacData ::= SEQUENCE {
+ mac DigestInfo,
+ macSalt OCTET STRING,
+ iterations INTEGER DEFAULT 1
+-- Note: The default is for historical reasons and its use is
+-- deprecated. A higher value, like 1024 is recommended.
+}
+
+AuthenticatedSafe ::= SEQUENCE OF ContentInfo
+ -- Data if unencrypted
+ -- EncryptedData if password-encrypted
+ -- EnvelopedData if public key-encrypted
+
+SafeContents ::= SEQUENCE OF SafeBag
+
+SafeBag ::= SEQUENCE {
+ bagId -- BAG-TYPE.&id ({PKCS12BagSet}) -- OBJECT IDENTIFIER,
+ bagValue [0] EXPLICIT --BAG-TYPE.&Type({PKCS12BagSet}{@bagId}) -- ANY,
+ bagAttributes SET OF PKCS12Attribute OPTIONAL
+}
+
+-- Bag types
+
+--keyBag BAG-TYPE ::=
+-- {KeyBag IDENTIFIED BY {bagtypes 1}}
+--pkcs8ShroudedKeyBag BAG-TYPE ::=
+-- {PKCS8ShroudedKeyBag IDENTIFIED BY {bagtypes 2}}
+--certBag BAG-TYPE ::=
+-- {CertBag IDENTIFIED BY {bagtypes 3}}
+--crlBag BAG-TYPE ::=
+-- {CRLBag IDENTIFIED BY {bagtypes 4}}
+--secretBag BAG-TYPE ::=
+-- {SecretBag IDENTIFIED BY {bagtypes 5}}
+--safeContentsBag BAG-TYPE ::=
+-- {SafeContents IDENTIFIED BY {bagtypes 6}}
+
+--PKCS12BagSet BAG-TYPE ::= {
+-- keyBag |
+-- pkcs8ShroudedKeyBag |
+-- certBag |
+-- crlBag |
+-- secretBag |
+-- safeContentsBag,
+-- ... - - For future extensions
+--}
+
+--BAG-TYPE ::= TYPE-IDENTIFIER
+
+-- KeyBag
+
+KeyBag ::= PrivateKeyInfo
+
+-- Shrouded KeyBag
+
+PKCS8ShroudedKeyBag ::= EncryptedPrivateKeyInfo
+
+-- CertBag
+
+CertBag ::= SEQUENCE {
+ certId --BAG-TYPE.&id ({CertTypes}) -- OBJECT IDENTIFIER,
+ certValue [0] EXPLICIT --BAG-TYPE.&Type ({CertTypes}{@certId})-- ANY
+}
+
+--x509Certificate BAG-TYPE ::=
+-- {OCTET STRING IDENTIFIED BY {certTypes 1}}
+ -- DER-encoded X.509 certificate stored in OCTET STRING
+--sdsiCertificate BAG-TYPE ::=
+-- {IA5String IDENTIFIED BY {certTypes 2}}
+ -- Base64-encoded SDSI certificate stored in IA5String
+
+--CertTypes BAG-TYPE ::= {
+-- x509Certificate |
+-- sdsiCertificate,
+-- ... - - For future extensions
+--}
+
+-- CRLBag
+
+CRLBag ::= SEQUENCE {
+ crlId --BAG-TYPE.&id ({CRLTypes})-- OBJECT IDENTIFIER,
+ crlValue [0] EXPLICIT --BAG-TYPE.&Type ({CRLTypes}{@crlId})-- ANY
+}
+
+--x509CRL BAG-TYPE ::=
+-- {OCTET STRING IDENTIFIED BY {crlTypes 1}}
+ -- DER-encoded X.509 CRL stored in OCTET STRING
+
+--CRLTypes BAG-TYPE ::= {
+-- x509CRL,
+-- ... - - For future extensions
+--}
+
+-- Secret Bag
+
+SecretBag ::= SEQUENCE {
+ secretTypeId --BAG-TYPE.&id ({SecretTypes})-- OBJECT IDENTIFIER,
+ secretValue [0] EXPLICIT --BAG-TYPE.&Type ({SecretTypes}{@secretTypeId})-- ANY
+}
+
+--SecretTypes BAG-TYPE ::= {
+-- ... - - For future extensions
+--}
+
+-- Attributes
+
+PKCS12Attribute ::= SEQUENCE {
+ attrId --ATTRIBUTE.&id ({PKCS12AttrSet})-- OBJECT IDENTIFIER,
+ attrValues SET OF --ATTRIBUTE.&Type ({PKCS12AttrSet}{@attrId})-- ANY
+} -- This type is compatible with the X.500 type 'Attribute'
+
+--PKCS12AttrSet ATTRIBUTE ::= {
+-- friendlyName |
+-- localKeyId,
+-- ... - - Other attributes are allowed
+--}
+
+--END
+
+-- We import PKCS#8 here directly rather than creating another dissector
+
+--PKCS-8 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-8(8)
+-- modules(1) pkcs-8(1)}
+
+-- $Revision: 1.5 $
+
+-- This module has been checked for conformance with the ASN.1
+-- standard by the OSS ASN.1 Tools
+
+--DEFINITIONS IMPLICIT TAGS ::=
+
+--BEGIN
+
+-- EXPORTS All --
+-- All types and values defined in this module is exported for use in other
+-- ASN.1 modules.
+
+--IMPORTS
+
+--informationFramework
+-- FROM UsefulDefinitions {joint-iso-itu-t(2) ds(5) module(1)
+-- usefulDefinitions(0) 3}
+
+--Attribute
+-- FROM InformationFramework informationFramework
+
+--AlgorithmIdentifier, ALGORITHM-IDENTIFIER
+-- FROM PKCS-5 {iso(1) member-body(2) us(840) rsadsi(113549)
+-- pkcs(1) pkcs-5(5) modules(16) pkcs-5(1)};
+
+-- Private-key information syntax
+
+PrivateKeyInfo ::= SEQUENCE {
+ version Version,
+ privateKeyAlgorithm AlgorithmIdentifier --{{PrivateKeyAlgorithms}}--,
+ privateKey PrivateKey,
+ attributes [0] Attributes OPTIONAL }
+
+Version ::= INTEGER {v1(0)} (v1,...)
+
+PrivateKey ::= OCTET STRING
+
+Attributes ::= SET OF Attribute
+
+-- Encrypted private-key information syntax
+
+EncryptedPrivateKeyInfo ::= SEQUENCE {
+ encryptionAlgorithm AlgorithmIdentifier --{{KeyEncryptionAlgorithms}}--,
+ encryptedData EncryptedData
+}
+
+EncryptedData ::= OCTET STRING
+
+--PrivateKeyAlgorithms ALGORITHM-IDENTIFIER ::= {
+-- ... - - For local profiles
+--}
+
+--KeyEncryptionAlgorithms ALGORITHM-IDENTIFIER ::= {
+-- ... - - For local profiles
+--}
+
+-- From RFC 2898
+PBEParameter ::= SEQUENCE {
+ salt OCTET STRING,
+ iterationCount INTEGER
+}
+
+
+PBKDF2Params ::= SEQUENCE {
+ salt CHOICE {
+ specified OCTET STRING,
+ otherSource AlgorithmIdentifier --{{PBKDF2-SaltSources}}--
+ },
+ iterationCount INTEGER --(1..MAX)--,
+ keyLength INTEGER (1..MAX) OPTIONAL,
+ prf AlgorithmIdentifier --{{PBKDF2-PRFs}} DEFAULT algid-hmacWithSHA1-- OPTIONAL }
+
+PBES2Params ::= SEQUENCE {
+ keyDerivationFunc AlgorithmIdentifier --{{PBES2-KDFs}}--,
+ encryptionScheme AlgorithmIdentifier --{{PBES2-Encs}}-- }
+
+PBMAC1Params ::= SEQUENCE {
+ keyDerivationFunc AlgorithmIdentifier --{{PBMAC1-KDFs}}--,
+ messageAuthScheme AlgorithmIdentifier --{{PBMAC1-MACs}}-- }
+
+
+END
+
+
diff --git a/epan/dissectors/asn1/pkcs12/pkcs12.cnf b/epan/dissectors/asn1/pkcs12/pkcs12.cnf
new file mode 100644
index 00000000..aa078a22
--- /dev/null
+++ b/epan/dissectors/asn1/pkcs12/pkcs12.cnf
@@ -0,0 +1,159 @@
+# pkcs12.cnf
+# PKCS12 conformation file
+
+#.MODULE_IMPORT
+PKCS-7 cms
+PKCS-5 x509af
+
+#.IMPORT ../cms/cms-exp.cnf
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+
+#.EXPORTS
+
+#.REGISTER
+KeyBag B "1.2.840.113549.1.12.10.1.1" "keyBag"
+PKCS8ShroudedKeyBag B "1.2.840.113549.1.12.10.1.2" "pkcs8ShroudedKeyBag"
+CertBag B "1.2.840.113549.1.12.10.1.3" "certBag"
+SecretBag B "1.2.840.113549.1.12.10.1.4" "secretBag"
+CRLBag B "1.2.840.113549.1.12.10.1.5" "crlBag"
+SafeContents B "1.2.840.113549.1.12.10.1.6" "safeContentsBag"
+
+# PKCS#9 Attributes - see master list in x509sat.cnf
+PFX B "2.16.840.1.113730.3.1.216" "pkcs-9-at-PKCS12"
+EncryptedPrivateKeyInfo B "1.2.840.113549.1.9.25.2" "pkcs-9-at-encryptedPrivateKeyInfo"
+
+# Password Based Encryption
+PBEParameter B "1.2.840.113549.1.12.1.1" "pbeWithSHAAnd128BitRC4"
+PBEParameter B "1.2.840.113549.1.12.1.2" "pbeWithSHAAnd40BitRC4"
+PBEParameter B "1.2.840.113549.1.12.1.3" "pbeWithSHAAnd3-KeyTripleDES-CBC"
+PBEParameter B "1.2.840.113549.1.12.1.4" "pbeWithSHAAnd2-KeyTripleDES-CBC"
+PBEParameter B "1.2.840.113549.1.12.1.5" "pbeWithSHAAnd128BitRC2-CBC"
+PBEParameter B "1.2.840.113549.1.12.1.6" "pbeWithSHAAnd40BitRC2-CBC"
+
+PBEParameter B "1.2.840.113549.1.5.1" "pbeWithMD2AndDES-CBC"
+PBEParameter B "1.2.840.113549.1.5.3" "pbeWithMD5AndDES-CBC"
+PBEParameter B "1.2.840.113549.1.5.4" "pbeWithMD2AndRC2-CBC"
+PBEParameter B "1.2.840.113549.1.5.6" "pbeWithMD5AndRC2-CBC"
+PBEParameter B "1.2.840.113549.1.5.10" "pbeWithSHA1AndDES-CBC"
+PBEParameter B "1.2.840.113549.1.5.11" "pbeWithSHA1AndRC2-CBC"
+
+PBKDF2Params B "1.2.840.113549.1.5.12" "id-PBKDF2"
+PBES2Params B "1.2.840.113549.1.5.13" "id-PBES2"
+PBMAC1Params B "1.2.840.113549.1.5.14" "id-PBMAC1"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+PrivateKeyInfo/version privateKeyVersion
+PBKDF2Params/salt saltChoice
+
+#.PDU
+#AuthenticatedSafe
+PrivateKeyInfo
+
+#.FN_BODY PFX
+ dissector_handle_t dissector_handle;
+
+ /* we change the CMS id-data dissector to dissect as AuthenticatedSafe
+ not sure why PKCS#12 couldn't have used its own content type OID for AuthenticatedSafe */
+ dissector_handle=create_dissector_handle(dissect_AuthenticatedSafe_OCTETSTRING_PDU, proto_pkcs12);
+ dissector_change_string("ber.oid", "1.2.840.113549.1.7.1", dissector_handle);
+
+ %(DEFAULT_BODY)s
+
+ /* restore the original dissector */
+ dissector_reset_string("ber.oid", "1.2.840.113549.1.7.1");
+
+#.FN_BODY AuthenticatedSafe
+ dissector_handle_t dissector_handle;
+
+ /* we change the CMS id-data dissector to dissect as SafeContents */
+ dissector_handle=create_dissector_handle(dissect_SafeContents_OCTETSTRING_PDU, proto_pkcs12);
+ dissector_change_string("ber.oid", "1.2.840.113549.1.7.1", dissector_handle);
+
+ %(DEFAULT_BODY)s
+
+ /* restore the original dissector */
+ dissector_reset_string("ber.oid", "1.2.840.113549.1.7.1");
+
+#.FN_PARS SafeBag/bagId FN_VARIANT = _str VAL_PTR = &object_identifier_id
+#.FN_FTR SafeBag/bagId
+ append_oid(actx->pinfo->pool, tree, object_identifier_id);
+#.END
+
+#.FN_PARS CertBag/certId FN_VARIANT = _str VAL_PTR = &object_identifier_id
+#.FN_FTR CertBag/certId
+ append_oid(actx->pinfo->pool, tree, object_identifier_id);
+#.END
+
+#.FN_PARS CRLBag/crlId FN_VARIANT = _str VAL_PTR = &object_identifier_id
+#.FN_FTR CRLBag/crlId
+ append_oid(actx->pinfo->pool, tree, object_identifier_id);
+#.END
+
+#.FN_PARS SecretBag/secretTypeId FN_VARIANT = _str VAL_PTR = &object_identifier_id
+#.FN_FTR SecretBag/secretTypeId
+ append_oid(actx->pinfo->pool, tree, object_identifier_id);
+#.END
+
+#.FN_PARS PKCS12Attribute/attrId FN_VARIANT = _str VAL_PTR = &object_identifier_id
+#.FN_FTR PKCS12Attribute/attrId
+ append_oid(actx->pinfo->pool, tree, object_identifier_id);
+#.END
+
+#.FN_BODY SafeBag/bagValue
+ if(object_identifier_id)
+ offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY PKCS12Attribute/attrValues/_item
+ if(object_identifier_id)
+ offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY CertBag/certValue
+ if(object_identifier_id)
+ offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY CRLBag/crlValue
+ if(object_identifier_id)
+ offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY SecretBag/secretValue
+ if(object_identifier_id)
+ offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_HDR PBEParameter
+ /* initialise the encryption parameters */
+ PBE_reset_parameters();
+
+#.END
+
+#.FN_PARS OCTET_STRING VAL_PTR = (hf_index == hf_pkcs12_salt ? &salt : NULL)
+#.FN_PARS INTEGER VAL_PTR = (hf_index == hf_pkcs12_iterationCount ? &iteration_count : NULL)
+
+#.FN_PARS EncryptedData VAL_PTR = &encrypted_tvb
+
+#.FN_HDR EncryptedData
+ tvbuff_t *encrypted_tvb;
+ dissector_handle_t dissector_handle;
+
+#.END
+
+#.FN_FTR EncryptedData
+
+
+
+ dissector_handle=create_dissector_handle(dissect_PrivateKeyInfo_PDU, proto_pkcs12);
+ dissector_change_string("ber.oid", object_identifier_id, dissector_handle);
+
+ PBE_decrypt_data(object_identifier_id, encrypted_tvb, actx->pinfo, actx, actx->created_item);
+
+ /* restore the original dissector */
+ dissector_reset_string("ber.oid", object_identifier_id);
+
+#.END
+
+
+
diff --git a/epan/dissectors/asn1/pkinit/CMakeLists.txt b/epan/dissectors/asn1/pkinit/CMakeLists.txt
new file mode 100644
index 00000000..50209cb2
--- /dev/null
+++ b/epan/dissectors/asn1/pkinit/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pkinit )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PKINIT.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../cms/cms-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkinit/PKINIT.asn b/epan/dissectors/asn1/pkinit/PKINIT.asn
new file mode 100644
index 00000000..ff25738f
--- /dev/null
+++ b/epan/dissectors/asn1/pkinit/PKINIT.asn
@@ -0,0 +1,174 @@
+--NOTE: we have to accomodate BOTH existing users of early drafts, such as
+--packetcable as well as new users once the protocol is standardized.
+--
+--This asn1 file is based on draft-ietf-cat-kerberos-pk-init-20.txt
+--but has been modified to acocmodate the Wireshark asn2wrs compiler
+--and our environment
+--
+--new structures are uncommented and added on demand as they are required
+--
+--Copyright (C) The Internet Society (2004). This document is subject
+--to the rights, licenses and restrictions contained in BCP 78, and
+--except as set forth therein, the authors retain all their rights.
+--
+--
+--This document and the information contained herein are provided on an
+--"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+--OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+--ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+--INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+--INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+--WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+--
+
+KerberosV5-PK-INIT-SPEC {
+ iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) kerberosV5(2) modules(4) pkinit(5) }
+DEFINITIONS EXPLICIT TAGS ::=
+BEGIN
+
+
+ IMPORTS
+ SubjectPublicKeyInfo, AlgorithmIdentifier, Name
+ FROM PKIX1Explicit88 { iso (1) identified-organization (3)
+ dod (6) internet (1) security (5) mechanisms (5)
+ pkix (7) id-mod (0) id-pkix1-explicit (18) }
+
+
+ ContentInfo, IssuerAndSerialNumber
+ FROM CryptographicMessageSyntax { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
+ modules(0) cms(1) }
+
+
+ KerberosTime, TYPED-DATA, PrincipalName, Realm, EncryptionKey
+ FROM KerberosV5Spec2 { iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) kerberosV5(2) modules(4)
+ krb5spec2(2) } ;
+
+
+-- id-pkinit OBJECT IDENTIFIER ::=
+-- { iso (1) org (3) dod (6) internet (1) security (5)
+-- kerberosv5 (2) pkinit (3) }
+--
+--
+-- id-pkauthdata OBJECT IDENTIFIER ::= { id-pkinit 1 }
+-- id-pkdhkeydata OBJECT IDENTIFIER ::= { id-pkinit 2 }
+-- id-pkrkeydata OBJECT IDENTIFIER ::= { id-pkinit 3 }
+-- id-pkekuoid OBJECT IDENTIFIER ::= { id-pkinit 4 }
+-- id-pkkdcekuoid OBJECT IDENTIFIER ::= { id-pkinit 5 }
+--
+--
+-- pa-pk-as-req INTEGER ::= TBD
+-- pa-pk-as-rep INTEGER ::= TBD
+-- pa-pk-ocsp-req INTEGER ::= TBD
+-- pa-pk-ocsp-rep INTEGER ::= TBD
+--
+--
+-- ad-initial-verified-cas INTEGER ::= TBD
+--
+--
+-- td-dh-parameters INTEGER ::= TBD
+-- td-trusted-certifiers INTEGER ::= 104
+-- td-certificate-index INTEGER ::= 105
+
+
+PaPkAsReq ::= SEQUENCE {
+ signedAuthPack [0] ContentInfo,
+ trustedCertifiers [1] SEQUENCE OF TrustedCA OPTIONAL,
+ kdcCert [2] IssuerAndSerialNumber OPTIONAL,
+ ...
+}
+
+
+TrustedCA ::= CHOICE {
+ caName [0] Name,
+ issuerAndSerial [2] IssuerAndSerialNumber,
+ ...
+}
+
+DHNonce ::= OCTET STRING
+
+AuthPack ::= SEQUENCE {
+ pkAuthenticator [0] PKAuthenticator,
+ clientPublicValue [1] SubjectPublicKeyInfo OPTIONAL,
+ supportedCMSTypes [2] SEQUENCE OF AlgorithmIdentifier
+ OPTIONAL,
+ clientDHNonce [3] DHNonce OPTIONAL,
+ ...
+}
+
+
+PKAuthenticator ::= SEQUENCE {
+ cusec [0] INTEGER,
+ ctime [1] KerberosTime,
+ nonce [2] INTEGER (0..4294967295),
+ -- paChecksum [3] Checksum, # changed during draft-ietf-cat-kerberos-pk-init* from Checksum to OCTET STRING OPTIONAL
+ paChecksum [3] OCTET STRING OPTIONAL,
+ ...
+}
+
+--
+-- TrustedCertifiers ::= SEQUENCE OF Name
+--
+--
+-- CertificateIndex ::= IssuerAndSerialNumber
+--
+--
+KRB5PrincipalName ::= SEQUENCE {
+ realm [0] Realm,
+ principalName [1] PrincipalName
+}
+--
+--
+-- InitialVerifiedCAs ::= SEQUENCE OF SEQUENCE {
+-- ca [0] Name,
+-- validated [1] BOOLEAN,
+-- ...
+-- }
+--
+
+PaPkAsRep ::= CHOICE {
+ dhSignedData [0] ContentInfo,
+ encKeyPack [1] ContentInfo,
+ ...
+}
+
+
+KDCDHKeyInfo ::= SEQUENCE {
+ subjectPublicKey [0] BIT STRING,
+ nonce [1] INTEGER,
+ dhKeyExpiration [2] KerberosTime OPTIONAL,
+ ...
+}
+
+--
+-- ReplyKeyPack ::= SEQUENCE {
+-- replyKey [0] EncryptionKey,
+-- nonce [1] INTEGER (0..4294967295),
+-- ...
+-- }
+
+-- Windows compat glue --
+
+PKAuthenticator-Win2k ::= SEQUENCE {
+ kdcName [0] PrincipalName,
+ kdcRealm [1] Realm,
+ cusec [2] INTEGER (0..4294967295),
+ ctime [3] KerberosTime,
+ nonce [4] INTEGER (-2147483648..2147483647),
+ ...
+}
+
+PA-PK-AS-REQ-Win2k ::= SEQUENCE {
+ signed-auth-pack [0] ContentInfo,
+ trusted-certifiers [2] SEQUENCE OF TrustedCA OPTIONAL,
+ kdc-cert [3] IMPLICIT OCTET STRING OPTIONAL,
+ encryption-cert [4] IMPLICIT OCTET STRING OPTIONAL,
+ ...
+}
+
+PA-PK-AS-REP-Win2k ::= PaPkAsRep
+
+END
+
diff --git a/epan/dissectors/asn1/pkinit/packet-pkinit-template.c b/epan/dissectors/asn1/pkinit/packet-pkinit-template.c
new file mode 100644
index 00000000..ec582729
--- /dev/null
+++ b/epan/dissectors/asn1/pkinit/packet-pkinit-template.c
@@ -0,0 +1,102 @@
+/* packet-pkinit.c
+ * Routines for PKINIT packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-pkinit.h"
+#include "packet-cms.h"
+#include "packet-pkix1explicit.h"
+#include "packet-kerberos.h"
+
+#define PNAME "PKINIT"
+#define PSNAME "PKInit"
+#define PFNAME "pkinit"
+
+void proto_register_pkinit(void);
+void proto_reg_handoff_pkinit(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_pkinit = -1;
+#include "packet-pkinit-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-pkinit-ett.c"
+
+static int dissect_KerberosV5Spec2_KerberosTime(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
+static int dissect_KerberosV5Spec2_Realm(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
+static int dissect_KerberosV5Spec2_PrincipalName(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
+static int dissect_pkinit_PKAuthenticator_Win2k(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+#include "packet-pkinit-fn.c"
+
+int
+dissect_pkinit_PA_PK_AS_REQ(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_) {
+ offset = dissect_pkinit_PaPkAsReq(FALSE, tvb, offset, actx, tree, -1);
+ return offset;
+}
+
+int
+dissect_pkinit_PA_PK_AS_REP(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_) {
+ offset = dissect_pkinit_PaPkAsRep(FALSE, tvb, offset, actx, tree, -1);
+ return offset;
+}
+
+static int
+dissect_KerberosV5Spec2_KerberosTime(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_krb5_ctime(tree, tvb, offset, actx);
+ return offset;
+}
+
+static int
+dissect_KerberosV5Spec2_Realm(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_krb5_realm(tree, tvb, offset, actx);
+ return offset;
+}
+
+static int
+dissect_KerberosV5Spec2_PrincipalName(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_krb5_cname(tree, tvb, offset, actx);
+ return offset;
+}
+
+
+/*--- proto_register_pkinit ----------------------------------------------*/
+void proto_register_pkinit(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-pkinit-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-pkinit-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_pkinit = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkinit, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_pkinit -------------------------------------------*/
+void proto_reg_handoff_pkinit(void) {
+#include "packet-pkinit-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/pkinit/packet-pkinit-template.h b/epan/dissectors/asn1/pkinit/packet-pkinit-template.h
new file mode 100644
index 00000000..5d0bd9a7
--- /dev/null
+++ b/epan/dissectors/asn1/pkinit/packet-pkinit-template.h
@@ -0,0 +1,21 @@
+/* packet-pkinit.h
+ * Routines for PKINIT packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PKINIT_H
+#define PACKET_PKINIT_H
+
+int dissect_pkinit_PA_PK_AS_REQ(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+int dissect_pkinit_PA_PK_AS_REP(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_);
+
+#include "packet-pkinit-exp.h"
+
+#endif /* PACKET_PKINIT_H */
+
diff --git a/epan/dissectors/asn1/pkinit/pkinit.cnf b/epan/dissectors/asn1/pkinit/pkinit.cnf
new file mode 100644
index 00000000..a64c322c
--- /dev/null
+++ b/epan/dissectors/asn1/pkinit/pkinit.cnf
@@ -0,0 +1,38 @@
+# pkinit.cnf
+# pkinit conformation file
+
+#.MODULE_IMPORT
+PKIX1Explicit88 pkix1explicit
+
+#.INCLUDE ../pkix1explicit/pkix1explicit_exp.cnf
+#.IMPORT ../cms/cms-exp.cnf
+
+#.EXPORTS
+PaPkAsReq
+PaPkAsRep
+PA-PK-AS-REQ-Win2k
+PA-PK-AS-REP-Win2k
+
+#.FN_BODY PKAuthenticator
+ if (kerberos_is_win2k_pkinit(actx)) {
+ return dissect_pkinit_PKAuthenticator_Win2k(implicit_tag, tvb, offset, actx, tree, hf_index);
+ }
+%(DEFAULT_BODY)s
+
+#.REGISTER
+AuthPack B "1.3.6.1.5.2.3.1" "id-pkauthdata"
+KDCDHKeyInfo B "1.3.6.1.5.2.3.2" "id-pkdhkeydata"
+KRB5PrincipalName B "1.3.6.1.5.2.2" "id-pkinit-san"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+KDCDHKeyInfo/nonce dhNonce
+PKAuthenticator-Win2k/cusec cusecWin2k
+PKAuthenticator/nonce paNonce
+PKAuthenticator-Win2k/nonce paNonceWin2k
+
+#.END
+
diff --git a/epan/dissectors/asn1/pkix1explicit/CMakeLists.txt b/epan/dissectors/asn1/pkix1explicit/CMakeLists.txt
new file mode 100644
index 00000000..4f104f21
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1explicit/CMakeLists.txt
@@ -0,0 +1,36 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pkix1explicit )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PKIX1EXPLICIT93.asn
+ IPAddrAndASCertExtn.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkix1explicit/IPAddrAndASCertExtn.asn b/epan/dissectors/asn1/pkix1explicit/IPAddrAndASCertExtn.asn
new file mode 100644
index 00000000..fd4ae88b
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1explicit/IPAddrAndASCertExtn.asn
@@ -0,0 +1,71 @@
+-- RFC 3779 X.509 Extensions for IP Addr and AS ID June 2004
+--
+ IPAddrAndASCertExtn { iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) mod(0)
+ id-mod-ip-addr-and-as-ident(30) }
+ DEFINITIONS EXPLICIT TAGS ::=
+ BEGIN
+ -- Copyright (C) The Internet Society (2004). This --
+ -- version of this ASN.1 module is part of RFC 3779; --
+ -- see the RFC itself for full legal notices. --
+
+ -- EXPORTS ALL --
+
+ IMPORTS
+
+ -- PKIX specific OIDs and arcs --
+ id-pe FROM PKIX1Explicit88 { iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-explicit(18) };
+
+ -- IP Address Delegation Extension OID --
+
+ id-pe-ipAddrBlocks OBJECT IDENTIFIER ::= { id-pe 7 }
+
+ -- IP Address Delegation Extension Syntax --
+
+ IPAddrBlocks ::= SEQUENCE OF IPAddressFamily
+
+ IPAddressFamily ::= SEQUENCE { -- AFI & opt SAFI --
+ addressFamily OCTET STRING (SIZE (2..3)),
+ ipAddressChoice IPAddressChoice }
+
+ IPAddressChoice ::= CHOICE {
+ inherit NULL, -- inherit from issuer --
+ addressesOrRanges SEQUENCE OF IPAddressOrRange }
+
+ IPAddressOrRange ::= CHOICE {
+ addressPrefix IPAddress,
+ addressRange IPAddressRange }
+
+ IPAddressRange ::= SEQUENCE {
+ min IPAddress,
+ max IPAddress }
+
+ IPAddress ::= BIT STRING
+
+ -- Autonomous System Identifier Delegation Extension OID --
+
+ id-pe-autonomousSysIds OBJECT IDENTIFIER ::= { id-pe 8 }
+
+ -- Autonomous System Identifier Delegation Extension Syntax --
+
+ ASIdentifiers ::= SEQUENCE {
+ asnum [0] ASIdentifierChoice OPTIONAL,
+ rdi [1] ASIdentifierChoice OPTIONAL }
+
+ ASIdentifierChoice ::= CHOICE {
+ inherit NULL, -- inherit from issuer --
+ asIdsOrRanges SEQUENCE OF ASIdOrRange }
+
+ ASIdOrRange ::= CHOICE {
+ id ASId,
+ range ASRange }
+
+ ASRange ::= SEQUENCE {
+ min ASId,
+ max ASId }
+
+ ASId ::= INTEGER
+
+ END
diff --git a/epan/dissectors/asn1/pkix1explicit/PKIX1EXPLICIT93.asn b/epan/dissectors/asn1/pkix1explicit/PKIX1EXPLICIT93.asn
new file mode 100644
index 00000000..6cc643e6
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1explicit/PKIX1EXPLICIT93.asn
@@ -0,0 +1,864 @@
+-- This file is based on PKIX1Explicit93 definition in
+-- RFC2459 section b.1
+--
+--Appendix F of RFC2459
+--Appendix F. Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (1999). All Rights Reserved.
+--
+-- This document and translations of it may be copied and furnished to
+-- others, and derivative works that comment on or otherwise explain it
+-- or assist in its implementation may be prepared, copied, published
+-- and distributed, in whole or in part, without restriction of any
+-- kind, provided that the above copyright notice and this paragraph are
+-- included on all such copies and derivative works. However, this
+-- document itself may not be modified in any way, such as by removing
+-- the copyright notice or references to the Internet Society or other
+-- Internet organizations, except as needed for the purpose of
+-- developing Internet standards in which case the procedures for
+-- copyrights defined in the Internet Standards process must be
+-- followed, or as required to translate it into languages other than
+-- English.
+--
+-- The limited permissions granted above are perpetual and will not be
+-- revoked by the Internet Society or its successors or assigns.
+--
+-- This document and the information contained herein is provided on an
+-- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+-- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+-- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+--
+--
+--NOTE: This ASN1 definition have been significantly modified from the original
+--version in RFC2459 in order to accomodate the featuresets available
+--in the Wireshark projects asn2wrs compiler.
+--It has also been modified and structures have been commented out that
+--are already implemented in the X509 dissectors.
+--Dissectors present already in the X509 dissectors should be implemented in
+--the template by hand as stubs that will just call the original
+--dissector functions in X509 in order not to duplicate code.
+--
+--Structures and constructs in this definition are uncommented and
+--implemented on-demand when someone needs them.
+--
+--If you export new types from this file, make sure to update the
+--pkix1explicit_exp.cnf file with the proper definitions
+
+
+
+PKIX1Explicit93 {iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit-93(3)}
+
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS ALL --
+
+IMPORTS
+ authorityKeyIdentifier, subjectKeyIdentifier, keyUsage,
+ extendedKeyUsage, privateKeyUsagePeriod, certificatePolicies,
+ policyMappings, subjectAltName, issuerAltName,
+ basicConstraints, nameConstraints, policyConstraints,
+ cRLDistributionPoints, subjectDirectoryAttributes,
+ cRLNumber, reasonCode, instructionCode, invalidityDate,
+ issuingDistributionPoint, certificateIssuer,
+ deltaCRLIndicator, authorityInfoAccess, id-ce
+ FROM PKIX1Implicit93 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-implicit-93(4)} ;
+
+--
+-- Locally defined OIDs
+--
+--id-pkix OBJECT IDENTIFIER ::=
+-- { iso(1) identified-organization(3) dod(6) internet(1)
+-- security(5) mechanisms(5) pkix(7) }
+--
+-- PKIX arcs
+-- arc for private certificate extensions
+--id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
+-- arc for policy qualifier types
+--id-qt OBJECT IDENTIFIER ::= { id-pkix 2 }
+-- arc for extended key purpose OIDS
+--id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }
+-- arc for access descriptors
+--id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
+--
+-- policyQualifierIds for Internet policy qualifiers
+--id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
+-- OID for CPS qualifier
+--
+--id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
+-- OID for user notice qualifier
+--
+-- based on excerpts from AuthenticationFramework
+-- {joint-iso-ccitt ds(5) modules(1) authenticationFramework(7) 2}
+--
+-- Public Key Certificate
+--
+--Certificate ::= SIGNED { SEQUENCE {
+-- version [0] Version DEFAULT v1,
+-- serialNumber CertificateSerialNumber,
+-- signature AlgorithmIdentifier,
+-- issuer Name,
+-- validity Validity,
+-- subject Name,
+-- subjectPublicKeyInfo SubjectPublicKeyInfo,
+-- issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
+-- if present, version shall be v2 or v3
+-- subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
+-- if present, version shall be v2 or v3
+-- extensions [3] Extensions OPTIONAL
+-- if present, version shall be v3
+-- }
+--}
+--
+UniqueIdentifier ::= BIT STRING
+--
+Version ::= INTEGER { v1(0), v2(1), v3(2) }
+
+ -- This one is defined with .NO_EMIT in the conformance file
+ -- and implemented in the template as just a call to the
+ -- corresponding function in x509
+CertificateSerialNumber ::= INTEGER
+
+--Validity ::= SEQUENCE {
+-- notBefore Time,
+-- notAfter Time }
+--
+Time ::= CHOICE {
+ utcTime UTCTime,
+ generalTime GeneralizedTime }
+--
+
+
+
+ -- This one is implemented in the template as just a call to the
+ -- corresponding function in x509
+--SubjectPublicKeyInfo ::= SEQUENCE{
+-- algorithm AlgorithmIdentifier,
+-- subjectPublicKey BIT STRING
+--}
+
+
+
+Extensions ::= SEQUENCE OF Extension
+
+Extension ::= SEQUENCE {
+ extnId OBJECT IDENTIFIER,
+ critical BOOLEAN DEFAULT FALSE,
+ extnValue OCTET STRING
+}
+
+-- contains a DER encoding of a value of type
+-- &ExtnType for the
+-- extension object identified by extnId
+--
+-- The following information object set is defined to constrain the
+-- set of legal certificate extensions.
+--
+--ExtensionSet EXTENSION ::= { authorityKeyIdentifier |
+-- subjectKeyIdentifier |
+-- keyUsage |
+-- extendedKeyUsage |
+-- privateKeyUsagePeriod |
+-- certificatePolicies |
+-- policyMappings |
+-- subjectAltName |
+-- issuerAltName |
+-- basicConstraints |
+-- nameConstraints |
+-- policyConstraints |
+-- cRLDistributionPoints |
+-- subjectDirectoryAttributes |
+-- authorityInfoAccess }
+--
+--EXTENSION ::= CLASS {
+-- &id OBJECT IDENTIFIER UNIQUE,
+-- &ExtnType }
+--WITH SYNTAX {
+-- SYNTAX &ExtnType
+-- IDENTIFIED BY &id }
+--
+-- Certificate Revocation List
+--
+--CertificateList ::= SIGNED { SEQUENCE {
+-- version Version OPTIONAL,
+-- if present, shall be v2
+-- signature AlgorithmIdentifier,
+-- issuer Name,
+-- thisUpdate Time,
+-- nextUpdate Time OPTIONAL,
+-- revokedCertificates SEQUENCE OF SEQUENCE {
+-- userCertificate CertificateSerialNumber,
+-- revocationDate Time,
+-- crlEntryExtensions EntryExtensions OPTIONAL } OPTIONAL,
+-- crlExtensions [0] CRLExtensions OPTIONAL }}
+--
+--CRLExtensions ::= SEQUENCE SIZE (1..MAX) OF CRLExtension
+--
+--CRLExtension ::= SEQUENCE {
+-- extnId EXTENSION.&id ({CRLExtensionSet}),
+-- critical BOOLEAN DEFAULT FALSE,
+-- extnValue OCTET STRING }
+-- contains a DER encoding of a value of type
+-- &ExtnType for the
+-- extension object identified by extnId
+--
+-- The following information object set is defined to constrain the
+-- set of legal CRL extensions.
+--
+--CRLExtensionSet EXTENSION ::= { authorityKeyIdentifier |
+-- issuerAltName |
+-- cRLNumber |
+-- deltaCRLIndicator |
+-- issuingDistributionPoint }
+--
+-- EXTENSION defined above for certificates
+--
+--EntryExtensions ::= SEQUENCE SIZE (1..MAX) OF EntryExtension
+--
+--EntryExtension ::= SEQUENCE {
+-- extnId EXTENSION.&id ({EntryExtensionSet}),
+-- critical BOOLEAN DEFAULT FALSE,
+-- extnValue OCTET STRING }
+-- contains a DER encoding of a value of type
+-- &ExtnType for the
+-- extension object identified by extnId
+--
+-- The following information object set is defined to constrain the
+-- set of legal CRL entry extensions.
+--
+--EntryExtensionSet EXTENSION ::= { reasonCode |
+-- instructionCode |
+-- invalidityDate |
+-- certificateIssuer }
+--
+-- information object classes used in the defintion
+-- of certificates and CRLs
+--
+-- Parameterized Type SIGNED
+--
+-- SIGNED { ToBeSigned } ::= SEQUENCE {
+-- toBeSigned ToBeSigned,
+-- algorithm AlgorithmIdentifier,
+-- signature BIT STRING
+-- }
+--
+
+ -- This one is implemented in the template as just a call to the
+ -- corresponding function in x509
+-- Definition of AlgorithmIdentifier
+-- ISO definition was:
+--AlgorithmIdentifier ::= SEQUENCE {
+-- algorithm ALGORITHM.&id({SupportedAlgorithms}),
+-- parameters ALGORITHM.&Type({SupportedAlgorithms}
+-- { @algorithm}) OPTIONAL
+--}
+
+-- Definition of ALGORITHM
+-- ALGORITHM ::= TYPE-IDENTIFIER
+--
+-- The following PKIX definition replaces the X.509 definition
+--
+--
+--AlgorithmIdentifier ::= SEQUENCE {
+-- algorithm ALGORITHM-ID.&id({SupportedAlgorithms}),
+-- parameters ALGORITHM-ID.&Type({SupportedAlgorithms}
+-- { @algorithm}) OPTIONAL }
+--
+-- Definition of ALGORITHM-ID
+--
+-- ALGORITHM-ID ::= CLASS {
+-- &id OBJECT IDENTIFIER UNIQUE,
+-- &Type OPTIONAL
+-- }
+-- WITH SYNTAX { OID &id [PARMS &Type] }
+--
+-- The definition of SupportedAlgorithms may be modified as this
+-- document does not specify a mandatory algorithm set. In addition,
+-- the set is specified as extensible, since additional algorithms
+-- may be supported
+--
+--SupportedAlgorithms ALGORITHM-ID ::= { ...,
+-- rsaPublicKey |
+-- rsaSHA-1 |
+-- rsaMD5 |
+-- rsaMD2 |
+-- dssPublicKey |
+-- dsaSHA-1 |
+-- dhPublicKey }
+--
+-- OIDs and parameter structures for ALGORITHM-IDs used
+-- in this specification
+--
+--rsaPublicKey ALGORITHM-ID ::= { OID rsaEncryption PARMS NULL }
+--
+--rsaSHA-1 ALGORITHM-ID ::= { OID sha1WithRSAEncryption PARMS NULL }
+--
+--rsaMD5 ALGORITHM-ID ::= { OID md5WithRSAEncryption PARMS NULL }
+--
+--rsaMD2 ALGORITHM-ID ::= { OID md2WithRSAEncryption PARMS NULL }
+--
+--dssPublicKey ALGORITHM-ID ::= { OID id-dsa PARMS Dss-Parms }
+--
+--dsaSHA-1 ALGORITHM-ID ::= { OID id-dsa-with-sha1 }
+--
+--dhPublicKey ALGORITHM-ID ::= {OID dhpublicnumber PARMS DomainParameters}
+--
+-- algorithm identifiers and parameter structures
+--
+--pkcs-1 OBJECT IDENTIFIER ::= {
+-- iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }
+--
+--rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 }
+--
+--md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 }
+--
+--md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 }
+--
+--sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 }
+--
+--id-dsa-with-sha1 OBJECT IDENTIFIER ::= {
+-- iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 }
+--
+--Dss-Sig-Value ::= SEQUENCE {
+-- r INTEGER,
+-- s INTEGER }
+--
+dhpublicnumber OBJECT IDENTIFIER ::= {
+ iso(1) member-body(2) us(840) ansi-x942(10046) number-type(2) 1 }
+
+DomainParameters ::= SEQUENCE {
+ p INTEGER,
+ g INTEGER,
+ q INTEGER,
+ j INTEGER OPTIONAL,
+ validationParms ValidationParms OPTIONAL }
+
+ValidationParms ::= SEQUENCE {
+ seed BIT STRING,
+ pgenCounter INTEGER }
+
+--id-dsa OBJECT IDENTIFIER ::= {
+-- iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }
+--
+--Dss-Parms ::= SEQUENCE {
+-- p INTEGER,
+-- q INTEGER,
+-- g INTEGER }
+--
+-- The ASN.1 in this section supports the Name type
+-- and the directoryAttribute extension
+--
+-- attribute data types
+--
+--Attribute ::= SEQUENCE {
+-- type ATTRIBUTE.&id ({SupportedAttributes}),
+-- values SET SIZE (1 .. MAX) OF ATTRIBUTE.&Type
+-- ({SupportedAttributes}{@type})}
+
+Attribute ::= SEQUENCE {
+ type OBJECT IDENTIFIER,
+ values SET SIZE (1 .. MAX) OF ANY
+ -- at least one value is required -- }
+
+AttributeTypeAndValue ::= SEQUENCE {
+ type OBJECT IDENTIFIER,
+ value ANY
+}
+
+-- naming data types --
+--
+
+
+ -- This one is implemented in the template as just a call to the
+ -- corresponding function in x509
+--Name ::= CHOICE {
+-- rdnSequence RDNSequence
+--}
+
+
+RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
+
+RelativeDistinguishedName ::= SET OF AttributeTypeAndValue
+
+--ID ::= OBJECT IDENTIFIER
+--
+-- ATTRIBUTE information object class specification
+-- Note: This has been greatly simplified for PKIX !!
+--
+--ATTRIBUTE ::= CLASS {
+-- &Type,
+-- &id OBJECT IDENTIFIER UNIQUE }
+--WITH SYNTAX {
+-- WITH SYNTAX &Type ID &id }
+--
+-- suggested naming attributes
+-- Definition of the following information object set may be
+-- augmented to meet local requirements. Note that deleting
+-- members of the set may prevent interoperability with
+-- conforming implementations.
+--
+--SupportedAttributes ATTRIBUTE ::= {
+-- name | commonName | surname | givenName | initials |
+-- generationQualifier | dnQualifier | countryName |
+-- localityName | stateOrProvinceName | organizationName |
+-- organizationalUnitName | title | pkcs9email }
+--
+--name ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString { ub-name }
+-- ID id-at-name }
+--
+--commonName ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-common-name}
+-- ID id-at-commonName }
+--
+--surname ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-name}
+-- ID id-at-surname }
+--
+--givenName ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-name}
+-- ID id-at-givenName }
+--
+--initials ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-name}
+-- ID id-at-initials }
+--
+--generationQualifier ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-name}
+-- ID id-at-generationQualifier}
+--
+--dnQualifier ATTRIBUTE ::= {
+-- WITH SYNTAX PrintableString
+-- ID id-at-dnQualifier }
+--
+--
+--countryName ATTRIBUTE ::= {
+-- WITH SYNTAX PrintableString (SIZE (2))
+-- ID id-at-countryName }
+--
+--localityName ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-locality-name}
+-- ID id-at-localityName }
+--
+--stateOrProvinceName ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-state-name}
+-- ID id-at-stateOrProvinceName }
+--
+--organizationName ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-organization-name}
+-- ID id-at-organizationName }
+--
+--organizationalUnitName ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
+-- ID id-at-organizationalUnitName }
+--
+--title ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-title}
+-- ID id-at-title }
+--
+-- Legacy attributes
+--
+--pkcs9email ATTRIBUTE ::= {
+-- WITH SYNTAX PHGString,
+-- ID emailAddress }
+--
+--PHGString ::= IA5String (SIZE(1..ub-emailaddress-length))
+--
+--pkcs-9 OBJECT IDENTIFIER ::=
+-- { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
+--
+--emailAddress OBJECT IDENTIFIER ::= { pkcs-9 1 }
+--
+-- object identifiers for Name type and directory attribute support
+--
+-- Object identifier assignments
+--
+--id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 4}
+--
+-- Attributes
+--
+--id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
+--id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
+--id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
+--id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
+--id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
+--id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
+--id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
+--id-at-title OBJECT IDENTIFIER ::= {id-at 12}
+--id-at-name OBJECT IDENTIFIER ::= {id-at 41}
+--id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
+--id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
+--id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
+--id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
+--
+-- Directory string type, used extensively in Name types
+--Make it a PrintableString will amke it look prettier
+DirectoryString ::= PrintableString
+--DirectoryString { INTEGER:maxSize } ::= CHOICE {
+-- teletexString TeletexString (SIZE (1..maxSize)),
+-- printableString PrintableString (SIZE (1..maxSize)),
+-- universalString UniversalString (SIZE (1..maxSize)),
+-- bmpString BMPString (SIZE(1..maxSize)),
+-- utf8String UTF8String (SIZE(1..maxSize))
+-- }
+--
+-- End of ASN.1 for Name type and directory attribute support
+--
+-- The ASN.1 in this section supports X.400 style names
+-- for implementations that use the x400Address component
+-- of GeneralName.
+--
+--ORAddress ::= SEQUENCE {
+-- built-in-standard-attributes BuiltInStandardAttributes,
+-- built-in-domain-defined-attributes
+-- BuiltInDomainDefinedAttributes OPTIONAL,
+-- see also teletex-domain-defined-attributes
+-- extension-attributes ExtensionAttributes OPTIONAL }
+--
+-- The OR-address is semantically absent from the OR-name if the
+-- built-in-standard-attribute sequence is empty and the
+-- built-in-domain-defined-attributes and extension-attributes are
+-- both omitted.
+--
+-- Built-in Standard Attributes
+--
+--BuiltInStandardAttributes ::= SEQUENCE {
+-- country-name CountryName OPTIONAL,
+-- administration-domain-name AdministrationDomainName OPTIONAL,
+-- network-address [0] NetworkAddress OPTIONAL,
+-- see also extended-network-address
+-- terminal-identifier [1] TerminalIdentifier OPTIONAL,
+-- private-domain-name [2] PrivateDomainName OPTIONAL,
+-- organization-name [3] OrganizationName OPTIONAL,
+-- see also teletex-organization-name
+-- numeric-user-identifier [4] NumericUserIdentifier OPTIONAL,
+-- personal-name [5] PersonalName OPTIONAL,
+-- see also teletex-personal-name
+-- organizational-unit-names [6] OrganizationalUnitNames OPTIONAL
+-- see also teletex-organizational-unit-names
+-- }
+--
+--CountryName ::= [APPLICATION 1] CHOICE {
+-- x121-dcc-code NumericString,
+-- iso-3166-alpha2-code PrintableString
+--}
+--
+--AdministrationDomainName ::= [APPLICATION 2] CHOICE {
+-- numeric NumericString (SIZE (0..ub-domain-name-length)),
+-- printable PrintableString (SIZE (0..ub-domain-name-length)) }
+--
+--NetworkAddress ::= X121Address
+-- see also extended-network-address
+--
+--X121Address ::= NumericString (SIZE (1..ub-x121-address-length))
+--
+--TerminalIdentifier ::= PrintableString (SIZE (1..ub-terminal-id-length))
+--
+--PrivateDomainName ::= CHOICE {
+-- numeric NumericString (SIZE (1..ub-domain-name-length)),
+-- printable PrintableString (SIZE (1..ub-domain-name-length)) }
+--
+--OrganizationName ::= PrintableString
+-- (SIZE (1..ub-organization-name-length))
+-- see also teletex-organization-name
+--
+--NumericUserIdentifier ::= NumericString
+-- (SIZE (1..ub-numeric-user-id-length))
+--
+--PersonalName ::= SET {
+-- surname [0] PrintableString (SIZE (1..ub-surname-length)),
+-- given-name [1] PrintableString
+-- (SIZE (1..ub-given-name-length)) OPTIONAL,
+-- initials [2] PrintableString
+-- (SIZE (1..ub-initials-length)) OPTIONAL,
+-- generation-qualifier [3] PrintableString
+-- (SIZE (1..ub-generation-qualifier-length)) OPTIONAL}
+-- see also teletex-personal-name
+--
+--OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units)
+-- OF OrganizationalUnitName
+-- see also teletex-organizational-unit-names
+--
+--OrganizationalUnitName ::= PrintableString (SIZE
+-- (1..ub-organizational-unit-name-length))
+--
+-- Built-in Domain-defined Attributes
+--BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE
+-- (1..ub-domain-defined-attributes) OF
+-- BuiltInDomainDefinedAttribute
+--
+--BuiltInDomainDefinedAttribute ::= SEQUENCE {
+-- type PrintableString (SIZE
+-- (1..ub-domain-defined-attribute-type-length)),
+-- value PrintableString (SIZE
+-- (1..ub-domain-defined-attribute-value-length)) }
+--
+-- Extension Attributes
+--
+--ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes)
+-- OF ExtensionAttribute
+--ExtensionAttribute ::= SEQUENCE {
+--
+-- extension-attribute-type [0] EXTENSION-ATTRIBUTE.&id
+-- ({ExtensionAttributeTable}),
+-- extension-attribute-value [1] EXTENSION-ATTRIBUTE.&Type
+-- ({ExtensionAttributeTable} {@extension-attribute-type}) }
+--
+--EXTENSION-ATTRIBUTE ::= CLASS {
+-- &id INTEGER (0..ub-extension-attributes) UNIQUE,
+-- &Type }
+--WITH SYNTAX {&Type IDENTIFIED BY &id}
+--
+--ExtensionAttributeTable EXTENSION-ATTRIBUTE ::= {
+-- common-name |
+-- teletex-common-name |
+-- teletex-organization-name |
+-- teletex-personal-name |
+-- teletex-organizational-unit-names |
+-- teletex-domain-defined-attributes |
+-- pds-name |
+-- physical-delivery-country-name |
+-- postal-code |
+-- physical-delivery-office-name |
+-- physical-delivery-office-number |
+-- extension-OR-address-components |
+-- physical-delivery-personal-name |
+-- physical-delivery-organization-name |
+-- extension-physical-delivery-address-components |
+-- unformatted-postal-address |
+-- street-address |
+-- post-office-box-address |
+-- poste-restante-address |
+-- unique-postal-name |
+-- local-postal-attributes |
+-- extended-network-address |
+-- terminal-type }
+--
+-- Extension Standard Attributes
+--
+--common-name EXTENSION-ATTRIBUTE ::= {CommonName IDENTIFIED BY 1}
+--
+--CommonName ::= PrintableString (SIZE (1..ub-common-name-length))
+--
+--teletex-common-name EXTENSION-ATTRIBUTE ::=
+-- {TeletexCommonName IDENTIFIED BY 2}
+--
+--TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))
+--
+--teletex-organization-name EXTENSION-ATTRIBUTE ::=
+-- {TeletexOrganizationName IDENTIFIED BY 3}
+--
+--TeletexOrganizationName ::=
+-- TeletexString (SIZE (1..ub-organization-name-length))
+--
+--teletex-personal-name EXTENSION-ATTRIBUTE ::=
+-- {TeletexPersonalName IDENTIFIED BY 4}
+--
+--TeletexPersonalName ::= SET {
+-- surname [0] TeletexString (SIZE (1..ub-surname-length)),
+-- given-name [1] TeletexString
+-- (SIZE (1..ub-given-name-length)) OPTIONAL,
+-- initials [2] TeletexString (SIZE (1..ub-initials-length)) OPTIONAL,
+-- generation-qualifier [3] TeletexString (SIZE
+-- (1..ub-generation-qualifier-length)) OPTIONAL }
+--
+--teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::=
+-- {TeletexOrganizationalUnitNames IDENTIFIED BY 5}
+--
+--TeletexOrganizationalUnitNames ::= SEQUENCE SIZE
+-- (1..ub-organizational-units) OF TeletexOrganizationalUnitName
+--
+--TeletexOrganizationalUnitName ::= TeletexString
+-- (SIZE (1..ub-organizational-unit-name-length))
+--
+--pds-name EXTENSION-ATTRIBUTE ::= {PDSName IDENTIFIED BY 7}
+--
+--PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))
+--
+--physical-delivery-country-name EXTENSION-ATTRIBUTE ::=
+-- {PhysicalDeliveryCountryName IDENTIFIED BY 8}
+--
+--PhysicalDeliveryCountryName ::= CHOICE {
+-- x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)),
+-- iso-3166-alpha2-code PrintableString
+-- (SIZE (ub-country-name-alpha-length)) }
+--
+--postal-code EXTENSION-ATTRIBUTE ::= {PostalCode IDENTIFIED BY 9}
+--
+--PostalCode ::= CHOICE {
+-- numeric-code NumericString (SIZE (1..ub-postal-code-length)),
+-- printable-code PrintableString (SIZE (1..ub-postal-code-length)) }
+--
+--physical-delivery-office-name EXTENSION-ATTRIBUTE ::=
+-- {PhysicalDeliveryOfficeName IDENTIFIED BY 10}
+--
+--PhysicalDeliveryOfficeName ::= PDSParameter
+--
+--physical-delivery-office-number EXTENSION-ATTRIBUTE ::=
+-- {PhysicalDeliveryOfficeNumber IDENTIFIED BY 11}
+--
+--PhysicalDeliveryOfficeNumber ::= PDSParameter
+--
+--extension-OR-address-components EXTENSION-ATTRIBUTE ::=
+-- {ExtensionORAddressComponents IDENTIFIED BY 12}
+--
+--ExtensionORAddressComponents ::= PDSParameter
+--
+--physical-delivery-personal-name EXTENSION-ATTRIBUTE ::=
+-- {PhysicalDeliveryPersonalName IDENTIFIED BY 13}
+--
+--PhysicalDeliveryPersonalName ::= PDSParameter
+--
+--physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
+-- {PhysicalDeliveryOrganizationName IDENTIFIED BY 14}
+--
+--PhysicalDeliveryOrganizationName ::= PDSParameter
+--
+--extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
+-- {ExtensionPhysicalDeliveryAddressComponents IDENTIFIED BY 15}
+--
+--ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
+--
+--unformatted-postal-address EXTENSION-ATTRIBUTE ::=
+-- {UnformattedPostalAddress IDENTIFIED BY 16}
+--
+--UnformattedPostalAddress ::= SET {
+-- printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
+-- PrintableString (SIZE (1..ub-pds-parameter-length)) OPTIONAL,
+-- teletex-string TeletexString (SIZE
+-- (1..ub-unformatted-address-length)) OPTIONAL }
+--
+--street-address EXTENSION-ATTRIBUTE ::=
+-- {StreetAddress IDENTIFIED BY 17}
+--
+--StreetAddress ::= PDSParameter
+--
+--post-office-box-address EXTENSION-ATTRIBUTE ::=
+-- {PostOfficeBoxAddress IDENTIFIED BY 18}
+--
+--PostOfficeBoxAddress ::= PDSParameter
+--
+--poste-restante-address EXTENSION-ATTRIBUTE ::=
+-- {PosteRestanteAddress IDENTIFIED BY 19}
+--
+--PosteRestanteAddress ::= PDSParameter
+--
+--unique-postal-name EXTENSION-ATTRIBUTE ::=
+-- {UniquePostalName IDENTIFIED BY 20}
+--
+--UniquePostalName ::= PDSParameter
+--
+--local-postal-attributes EXTENSION-ATTRIBUTE ::=
+-- {LocalPostalAttributes IDENTIFIED BY 21}
+--
+--LocalPostalAttributes ::= PDSParameter
+--
+--PDSParameter ::= SET {
+-- printable-string PrintableString
+-- (SIZE(1..ub-pds-parameter-length)) OPTIONAL,
+-- teletex-string TeletexString
+-- (SIZE(1..ub-pds-parameter-length)) OPTIONAL }
+--
+--extended-network-address EXTENSION-ATTRIBUTE ::=
+-- {ExtendedNetworkAddress IDENTIFIED BY 22}
+--
+--ExtendedNetworkAddress ::= CHOICE {
+-- e163-4-address SEQUENCE {
+-- number [0] NumericString
+-- (SIZE (1..ub-e163-4-number-length)),
+-- sub-address [1] NumericString
+-- (SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL},
+-- psap-address [0] PresentationAddress }
+--
+--PresentationAddress ::= SEQUENCE {
+-- pSelector [0] EXPLICIT OCTET STRING OPTIONAL,
+-- sSelector [1] EXPLICIT OCTET STRING OPTIONAL,
+-- tSelector [2] EXPLICIT OCTET STRING OPTIONAL,
+-- nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING}
+--
+--
+--terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
+
+TerminalType ::= INTEGER {
+ telex (3),
+ teletex (4),
+ g3-facsimile (5),
+ g4-facsimile (6),
+ ia5-terminal (7),
+ videotex (8) }
+
+-- Extension Domain-defined Attributes
+--
+--teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::=
+-- {TeletexDomainDefinedAttributes IDENTIFIED BY 6}
+--
+--TeletexDomainDefinedAttributes ::= SEQUENCE SIZE
+-- (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute
+
+TeletexDomainDefinedAttribute ::= SEQUENCE {
+ type TeletexString,
+ value TeletexString
+}
+
+-- specifications of Upper Bounds
+-- shall be regarded as mandatory
+-- from Annex B of ITU-T X.411
+-- Reference Definition of MTS Parameter Upper Bounds
+--
+-- Upper Bounds
+--ub-name INTEGER ::= 32768
+--ub-common-name INTEGER ::= 64
+--ub-locality-name INTEGER ::= 128
+--ub-state-name INTEGER ::= 128
+--ub-organization-name INTEGER ::= 64
+--ub-organizational-unit-name INTEGER ::= 64
+--ub-title INTEGER ::= 64
+--ub-match INTEGER ::= 128
+--
+--ub-emailaddress-length INTEGER ::= 128
+--
+--ub-common-name-length INTEGER ::= 64
+--ub-country-name-alpha-length INTEGER ::= 2
+--ub-country-name-numeric-length INTEGER ::= 3
+--ub-domain-defined-attributes INTEGER ::= 4
+--ub-domain-defined-attribute-type-length INTEGER ::= 8
+--ub-domain-defined-attribute-value-length INTEGER ::= 128
+--ub-domain-name-length INTEGER ::= 16
+--ub-extension-attributes INTEGER ::= 256
+--ub-e163-4-number-length INTEGER ::= 15
+--ub-e163-4-sub-address-length INTEGER ::= 40
+--ub-generation-qualifier-length INTEGER ::= 3
+--ub-given-name-length INTEGER ::= 16
+--ub-initials-length INTEGER ::= 5
+--ub-integer-options INTEGER ::= 256
+--ub-numeric-user-id-length INTEGER ::= 32
+--ub-organization-name-length INTEGER ::= 64
+--ub-organizational-unit-name-length INTEGER ::= 32
+--ub-organizational-units INTEGER ::= 4
+--ub-pds-name-length INTEGER ::= 16
+--ub-pds-parameter-length INTEGER ::= 30
+--ub-pds-physical-address-lines INTEGER ::= 6
+--ub-postal-code-length INTEGER ::= 16
+--ub-surname-length INTEGER ::= 40
+--ub-terminal-id-length INTEGER ::= 24
+--ub-unformatted-address-length INTEGER ::= 180
+--
+--ub-x121-address-length INTEGER ::= 16
+--
+-- Note - upper bounds on TeletexString are measured in characters.
+-- A significantly greater number of octets will be required to hold
+-- such a value. As a minimum, 16 octets, or twice the specified upper
+-- bound, whichever is the larger, should be allowed.
+
+
+-- X.509v3 TLS Feature extension (RFC 7633)
+Features ::= SEQUENCE OF INTEGER
+
+END
diff --git a/epan/dissectors/asn1/pkix1explicit/packet-pkix1explicit-template.c b/epan/dissectors/asn1/pkix1explicit/packet-pkix1explicit-template.c
new file mode 100644
index 00000000..4de46292
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1explicit/packet-pkix1explicit-template.c
@@ -0,0 +1,131 @@
+#define BER_UNI_TAG_TeletexString 20 /* workaround bug in asn2wrs */
+
+/* packet-pkix1explicit.c
+ * Routines for PKIX1Explitic packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/oids.h>
+#include <epan/afn.h>
+
+#include "packet-ber.h"
+#include "packet-pkix1explicit.h"
+#include "packet-x509af.h"
+#include "packet-x509if.h"
+#include "packet-x509ce.h"
+
+/* from packet-tls-utils.h */
+extern const value_string tls_hello_extension_types[];
+
+#define PNAME "PKIX1Explicit"
+#define PSNAME "PKIX1EXPLICIT"
+#define PFNAME "pkix1explicit"
+
+void proto_register_pkix1explicit(void);
+void proto_reg_handoff_pkix1explicit(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_pkix1explicit = -1;
+static int hf_pkix1explicit_object_identifier_id = -1;
+static int hf_pkix1explicit_addressFamily_afn = -1;
+static int hf_pkix1explicit_addressFamily_safi = -1;
+
+static int ett_pkix1explicit_addressFamily = -1;
+
+#include "packet-pkix1explicit-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-pkix1explicit-ett.c"
+
+int
+dissect_pkix1explicit_Certificate(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_x509af_Certificate(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+int
+dissect_pkix1explicit_CertificateList(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_x509af_CertificateList(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+int
+dissect_pkix1explicit_GeneralName(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_x509ce_GeneralName(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+int
+dissect_pkix1explicit_Name(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_x509if_Name(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+int
+dissect_pkix1explicit_AlgorithmIdentifier(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+int
+dissect_pkix1explicit_SubjectPublicKeyInfo(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_x509af_SubjectPublicKeyInfo(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+#include "packet-pkix1explicit-fn.c"
+
+
+/*--- proto_register_pkix1explicit ----------------------------------------------*/
+void proto_register_pkix1explicit(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_pkix1explicit_object_identifier_id,
+ { "Id", "pkix1explicit.id", FT_STRING, BASE_NONE, NULL, 0,
+ "Object identifier Id", HFILL }},
+
+ { &hf_pkix1explicit_addressFamily_afn,
+ { "Address family(AFN)", "pkix1explicit.addressfamily", FT_UINT16, BASE_DEC, VALS(afn_vals), 0,
+ NULL, HFILL }},
+
+ { &hf_pkix1explicit_addressFamily_safi,
+ { "Subsequent Address Family Identifiers (SAFI)", "pkix1explicit.addressfamily.safi", FT_UINT16, BASE_DEC, NULL, 0,
+ "Subsequent Address Family Identifiers (SAFI) RFC4760", HFILL }},
+#include "packet-pkix1explicit-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_pkix1explicit_addressFamily,
+#include "packet-pkix1explicit-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_pkix1explicit = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkix1explicit, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_pkix1explicit -------------------------------------------*/
+void proto_reg_handoff_pkix1explicit(void) {
+ oid_add_from_string("id-pkix","1.3.6.1.5.5.7");
+ oid_add_from_string("id-dsa-with-sha1","1.2.840.10040.4.3");
+#include "packet-pkix1explicit-dis-tab.c"
+}
diff --git a/epan/dissectors/asn1/pkix1explicit/packet-pkix1explicit-template.h b/epan/dissectors/asn1/pkix1explicit/packet-pkix1explicit-template.h
new file mode 100644
index 00000000..61b77b43
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1explicit/packet-pkix1explicit-template.h
@@ -0,0 +1,28 @@
+/* packet-pkix1explicit.h
+ * Routines for PKIX1Explicit packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PKIX1EXPLICIT_H
+#define PACKET_PKIX1EXPLICIT_H
+
+int dissect_pkix1explicit_Certificate(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+int dissect_pkix1explicit_CertificateList(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+#if 0
+int dissect_pkix1explicit_CertificateSerialNumber(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+#endif
+int dissect_pkix1explicit_Name(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+int dissect_pkix1explicit_GeneralName(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+int dissect_pkix1explicit_AlgorithmIdentifier(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx,proto_tree *tree, int hf_index);
+int dissect_pkix1explicit_SubjectPublicKeyInfo(bool implicit_tag, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+
+
+#include "packet-pkix1explicit-exp.h"
+
+#endif /* PACKET_PKIX1EXPLICIT_H */
+
diff --git a/epan/dissectors/asn1/pkix1explicit/pkix1explicit.cnf b/epan/dissectors/asn1/pkix1explicit/pkix1explicit.cnf
new file mode 100644
index 00000000..c40477d4
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1explicit/pkix1explicit.cnf
@@ -0,0 +1,99 @@
+# pkix1explicit.cnf
+# pkix1explicit conformation file
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+Attribute
+AttributeTypeAndValue
+CertificateSerialNumber
+DirectoryString
+Extension
+Extensions
+RelativeDistinguishedName
+RDNSequence
+TeletexDomainDefinedAttribute
+TerminalType
+Version
+Time
+UniqueIdentifier
+
+#.REGISTER
+DirectoryString B "1.3.6.1.5.5.7.2.1" "id-qt-cps"
+DomainParameters B "1.2.840.10046.2.1" "dhpublicnumber"
+IPAddrBlocks B "1.3.6.1.5.5.7.1.7" "id-pe-ipAddrBlocks"
+ASIdentifiers B "1.3.6.1.5.5.7.1.8" "id-pe-autonomousSysIds"
+# X.509v3 TLS Feature extension (RFC 7633)
+Features B "1.3.6.1.5.5.7.1.24" "id-pe-tlsfeature"
+# From PKCS 9 / RFC 2985
+DirectoryString B "1.2.840.113549.1.9.7" "pkcs-9-at-challengePassword"
+Extensions B "1.2.840.113549.1.9.14" "pkcs-9-at-extensionRequest"
+
+#.PDU
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.FN_BODY DirectoryString
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+#.FN_PARS Attribute/type
+ FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_type VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Attribute/values/_item
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS AttributeTypeAndValue/type
+ FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_type_01 VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY AttributeTypeAndValue/value
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS Extension/extnId
+ FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Extension/extnId
+%(DEFAULT_BODY)s
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY Extension/extnValue
+ gint8 appclass;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+ /* skip past the T and L */
+ offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &appclass, &pc, &tag);
+ offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
+ if (actx->external.direct_ref_present) {
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+ }
+
+# IPAddrAndASCertExtn
+
+#.FN_BODY IPAddressFamily/addressFamily VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_pkix1explicit_addressFamily);
+ proto_tree_add_item(subtree, hf_pkix1explicit_addressFamily_afn, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ if(tvb_reported_length(parameter_tvb)>2)
+ proto_tree_add_item(subtree, hf_pkix1explicit_addressFamily_safi, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+
+#.TYPE_ATTR
+TeletexDomainDefinedAttribute/type DISPLAY = BASE_NONE
+
+#.TYPE_ATTR
+TeletexDomainDefinedAttribute/value DISPLAY = BASE_NONE
+
+#.TYPE_ATTR
+Features/_item TYPE = FT_UINT16 STRINGS = VALS(tls_hello_extension_types) BLURB = "TLS Extension that MUST be supported by the server"
+
+#.END
+
diff --git a/epan/dissectors/asn1/pkix1explicit/pkix1explicit_exp.cnf b/epan/dissectors/asn1/pkix1explicit/pkix1explicit_exp.cnf
new file mode 100644
index 00000000..8e801fe9
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1explicit/pkix1explicit_exp.cnf
@@ -0,0 +1,43 @@
+#.IMPORT_TAG
+AlgorithmIdentifier BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+Attribute BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+AttributeTypeAndValue BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+Certificate BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+CertificateList BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+CertificateSerialNumber BER_CLASS_UNI BER_UNI_TAG_INTEGER
+DirectoryString BER_CLASS_UNI BER_UNI_TAG_PrintableString
+Extension BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+Extensions BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+GeneralName BER_CLASS_CON -1/*choice*/
+Name BER_CLASS_ANY -1
+RDNSequence BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+RelativeDistinguishedName BER_CLASS_UNI BER_UNI_TAG_SET
+SubjectPublicKeyInfo BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+TeletexDomainDefinedAttribute BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+TerminalType BER_CLASS_UNI BER_UNI_TAG_INTEGER
+Time BER_CLASS_ANY/*choice*/ -1/*choice*/
+UniqueIdentifier BER_CLASS_UNI BER_UNI_TAG_BITSTRING
+Version BER_CLASS_UNI BER_UNI_TAG_INTEGER
+#.END
+
+#.TYPE_ATTR
+Attribute TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+AttributeTypeAndValue TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+Certificate TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+CertificateList TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+CertificateSerialNumber TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+DirectoryString TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+Extension TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+Extensions TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+GeneralName TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+Name TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+RDNSequence TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+RelativeDistinguishedName TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+SubjectPublicKeyInfo TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+TeletexDomainDefinedAttribute TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+TerminalType TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+Time TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(pkix1explicit_Time_vals) BITMASK = 0
+UniqueIdentifier TYPE = FT_BYTES DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+Version TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = VALS(pkix1explicit_Version_vals) BITMASK = 0
+#.END
+
diff --git a/epan/dissectors/asn1/pkix1implicit/CMakeLists.txt b/epan/dissectors/asn1/pkix1implicit/CMakeLists.txt
new file mode 100644
index 00000000..eaf3daec
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1implicit/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pkix1implicit )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PKIX1IMPLICIT93.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkix1implicit/PKIX1IMPLICIT93.asn b/epan/dissectors/asn1/pkix1implicit/PKIX1IMPLICIT93.asn
new file mode 100644
index 00000000..23b8a402
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1implicit/PKIX1IMPLICIT93.asn
@@ -0,0 +1,414 @@
+-- This file is based on PKIX1Implicit93 definition in
+-- RFC2459 section b.2
+--
+--Appendix F of RFC2459
+--Appendix F. Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (1999). All Rights Reserved.
+--
+-- This document and translations of it may be copied and furnished to
+-- others, and derivative works that comment on or otherwise explain it
+-- or assist in its implementation may be prepared, copied, published
+-- and distributed, in whole or in part, without restriction of any
+-- kind, provided that the above copyright notice and this paragraph are
+-- included on all such copies and derivative works. However, this
+-- document itself may not be modified in any way, such as by removing
+-- the copyright notice or references to the Internet Society or other
+-- Internet organizations, except as needed for the purpose of
+-- developing Internet standards in which case the procedures for
+-- copyrights defined in the Internet Standards process must be
+-- followed, or as required to translate it into languages other than
+-- English.
+--
+-- The limited permissions granted above are perpetual and will not be
+-- revoked by the Internet Society or its successors or assigns.
+--
+-- This document and the information contained herein is provided on an
+-- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+-- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+-- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+--
+--
+--NOTE: This ASN1 definition have been significantly modified from the original
+--version in RFC2459 in order to accomodate the featuresets available
+--in the Wireshark projects asn2wrs compiler.
+--It has also been modified and structures have been commented out that
+--are already implemented in the X509 dissectors.
+--Dissectors present already in the X509 dissectors should be implemented in
+--the template by hand as stubs that will just call the original
+--dissector functions in X509 in order not to duplicate code.
+--
+--Structures and constructs in this definition are uncommented and
+--implemented on-demand when someone needs them.
+--
+--If you export new types from this file, make sure to update the
+--pkix1implicit_exp.cnf file with the proper definitions
+
+
+PKIX1Implicit93 {iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-93(4)}
+
+DEFINITIONS IMPLICIT TAGS::=
+
+BEGIN
+
+--EXPORTS ALL
+
+IMPORTS
+ id-pe, id-qt, id-kp, id-ad, id-qt-unotice,
+ ORAddress, Name, RelativeDistinguishedName,
+ CertificateSerialNumber, CertificateList,
+ AlgorithmIdentifier, ub-name, DirectoryString,
+ Attribute, EXTENSION
+ FROM PKIX1Explicit93 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-explicit-93(3)}
+ GeneralName FROM CertificateExtensions;
+
+
+-- Key and policy information extensions
+--
+--authorityKeyIdentifier EXTENSION ::= {
+-- SYNTAX AuthorityKeyIdentifier
+-- IDENTIFIED BY id-ce-authorityKeyIdentifier }
+--
+--AuthorityKeyIdentifier ::= SEQUENCE {
+-- keyIdentifier [0] KeyIdentifier OPTIONAL,
+-- authorityCertIssuer [1] GeneralNames OPTIONAL,
+-- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL }
+-- ( WITH COMPONENTS {..., authorityCertIssuer PRESENT,
+-- authorityCertSerialNumber PRESENT} |
+-- WITH COMPONENTS {..., authorityCertIssuer ABSENT,
+-- authorityCertSerialNumber ABSENT} )
+--
+KeyIdentifier ::= OCTET STRING
+--
+--subjectKeyIdentifier EXTENSION ::= {
+-- SYNTAX SubjectKeyIdentifier
+-- IDENTIFIED BY id-ce-subjectKeyIdentifier }
+--
+--SubjectKeyIdentifier ::= KeyIdentifier
+--
+--keyUsage EXTENSION ::= {
+-- SYNTAX KeyUsage
+-- IDENTIFIED BY id-ce-keyUsage }
+--
+--KeyUsage ::= BIT STRING {
+-- digitalSignature (0),
+-- nonRepudiation (1),
+-- keyEncipherment (2),
+-- dataEncipherment (3),
+-- keyAgreement (4),
+-- keyCertSign (5),
+-- cRLSign (6),
+-- encipherOnly (7),
+-- decipherOnly (8) }
+--
+--extendedKeyUsage EXTENSION ::= {
+-- SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId
+-- IDENTIFIED BY id-ce-extKeyUsage }
+--
+Dummy ::= NULL
+--KeyPurposeId ::= OBJECT IDENTIFIER
+--
+-- PKIX-defined extended key purpose OIDs
+--id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 }
+--id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 }
+--id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 }
+--id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 }
+--id-kp-ipsecEndSystem OBJECT IDENTIFIER ::= { id-kp 5 }
+--id-kp-ipsecTunnel OBJECT IDENTIFIER ::= { id-kp 6 }
+--id-kp-ipsecUser OBJECT IDENTIFIER ::= { id-kp 7 }
+--id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 }
+--
+--privateKeyUsagePeriod EXTENSION ::= {
+-- SYNTAX PrivateKeyUsagePeriod
+-- IDENTIFIED BY { id-ce-privateKeyUsagePeriod } }
+--
+--PrivateKeyUsagePeriod ::= SEQUENCE {
+-- notBefore [0] GeneralizedTime OPTIONAL,
+-- notAfter [1] GeneralizedTime OPTIONAL }
+-- ( WITH COMPONENTS {..., notBefore PRESENT} |
+-- WITH COMPONENTS {..., notAfter PRESENT} )
+--
+--certificatePolicies EXTENSION ::= {
+-- SYNTAX CertificatePoliciesSyntax
+-- IDENTIFIED BY id-ce-certificatePolicies }
+--
+--CertificatePoliciesSyntax ::=
+-- SEQUENCE SIZE (1..MAX) OF PolicyInformation
+--
+--PolicyInformation ::= SEQUENCE {
+-- policyIdentifier CertPolicyId,
+-- policyQualifiers SEQUENCE SIZE (1..MAX) OF
+-- PolicyQualifierInfo OPTIONAL }
+--
+--CertPolicyId ::= OBJECT IDENTIFIER
+--
+--PolicyQualifierInfo ::= SEQUENCE {
+-- policyQualifierId CERT-POLICY-QUALIFIER.&id
+-- ({SupportedPolicyQualifiers}),
+-- qualifier CERT-POLICY-QUALIFIER.&Qualifier
+-- ({SupportedPolicyQualifiers}
+-- {@policyQualifierId})OPTIONAL }
+--
+--SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::= { noticeToUser |
+-- pointerToCPS }
+--
+--CERT-POLICY-QUALIFIER ::= CLASS {
+-- &id OBJECT IDENTIFIER UNIQUE,
+-- &Qualifier OPTIONAL }
+--WITH SYNTAX {
+-- POLICY-QUALIFIER-ID &id
+-- [QUALIFIER-TYPE &Qualifier] }
+--
+--policyMappings EXTENSION ::= {
+-- SYNTAX PolicyMappingsSyntax
+-- IDENTIFIED BY id-ce-policyMappings }
+--
+--PolicyMappingsSyntax ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
+-- issuerDomainPolicy CertPolicyId,
+-- subjectDomainPolicy CertPolicyId }
+--
+-- Certificate subject and certificate issuer attributes extensions
+--
+--subjectAltName EXTENSION ::= {
+-- SYNTAX GeneralNames
+-- IDENTIFIED BY id-ce-subjectAltName }
+--
+--GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
+--
+--Imported from X509CE
+--GeneralName ::= CHOICE {
+-- otherName [0] INSTANCE OF OTHER-NAME,
+-- rfc822Name [1] IA5String,
+-- dNSName [2] IA5String,
+-- x400Address [3] ORAddress,
+-- directoryName [4] Name,
+-- ediPartyName [5] EDIPartyName,
+-- uniformResourceIdentifier [6] IA5String,
+-- iPAddress [7] OCTET STRING,
+-- registeredID [8] OBJECT IDENTIFIER
+--}
+
+--OTHER-NAME ::= TYPE-IDENTIFIER
+
+EDIPartyName ::= SEQUENCE {
+ nameAssigner [0] DirectoryString OPTIONAL,
+ partyName [1] DirectoryString }
+
+--issuerAltName EXTENSION ::= {
+-- SYNTAX GeneralNames
+-- IDENTIFIED BY id-ce-issuerAltName }
+--
+--subjectDirectoryAttributes EXTENSION ::= {
+-- SYNTAX AttributesSyntax
+-- IDENTIFIED BY id-ce-subjectDirectoryAttributes }
+--
+--AttributesSyntax ::= SEQUENCE SIZE (1..MAX) OF Attribute
+--
+-- Certification path constraints extensions
+--
+--basicConstraints EXTENSION ::= {
+-- SYNTAX BasicConstraintsSyntax
+-- IDENTIFIED BY id-ce-basicConstraints }
+--
+--BasicConstraintsSyntax ::= SEQUENCE {
+-- cA BOOLEAN DEFAULT FALSE,
+-- pathLenConstraint INTEGER (0..MAX) OPTIONAL }
+--
+--nameConstraints EXTENSION ::= {
+-- SYNTAX NameConstraintsSyntax
+-- IDENTIFIED BY id-ce-nameConstraints }
+--
+--NameConstraintsSyntax ::= SEQUENCE {
+-- permittedSubtrees [0] GeneralSubtrees OPTIONAL,
+-- excludedSubtrees [1] GeneralSubtrees OPTIONAL }
+--
+--GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
+--
+--GeneralSubtree ::= SEQUENCE {
+-- base GeneralName,
+-- minimum [0] BaseDistance DEFAULT 0,
+-- maximum [1] BaseDistance OPTIONAL }
+--
+--BaseDistance ::= INTEGER (0..MAX)
+--
+--policyConstraints EXTENSION ::= {
+-- SYNTAX PolicyConstraintsSyntax
+-- IDENTIFIED BY id-ce-policyConstraints }
+--
+--PolicyConstraintsSyntax ::= SEQUENCE {
+-- requireExplicitPolicy [0] SkipCerts OPTIONAL,
+-- inhibitPolicyMapping [1] SkipCerts OPTIONAL }
+--
+--
+--SkipCerts ::= INTEGER (0..MAX)
+--
+-- Basic CRL extensions
+--
+--cRLNumber EXTENSION ::= {
+-- SYNTAX CRLNumber
+-- IDENTIFIED BY id-ce-cRLNumber }
+--
+--CRLNumber ::= INTEGER (0..MAX)
+--
+--reasonCode EXTENSION ::= {
+-- SYNTAX CRLReason
+-- IDENTIFIED BY id-ce-reasonCode }
+--
+--CRLReason ::= ENUMERATED {
+-- unspecified (0),
+-- keyCompromise (1),
+-- cACompromise (2),
+-- affiliationChanged (3),
+-- superseded (4),
+-- cessationOfOperation (5),
+-- certificateHold (6),
+-- removeFromCRL (8) }
+--
+--instructionCode EXTENSION ::= {
+-- SYNTAX HoldInstruction
+-- IDENTIFIED BY id-ce-instructionCode }
+--
+--HoldInstruction ::= OBJECT IDENTIFIER
+--
+-- holdinstructions described in this specification, from ANSI x9
+--
+-- ANSI x9 arc holdinstruction arc
+--holdInstruction OBJECT IDENTIFIER ::= {
+-- joint-iso-ccitt(2) member-body(2) us(840) x9cm(10040) 2}
+--
+-- ANSI X9 holdinstructions referenced by this standard
+--id-holdinstruction-none OBJECT IDENTIFIER ::= {holdInstruction 1}
+--id-holdinstruction-callissuer OBJECT IDENTIFIER ::= {holdInstruction 2}
+--id-holdinstruction-reject OBJECT IDENTIFIER ::= {holdInstruction 3}
+--
+--invalidityDate EXTENSION ::= {
+-- SYNTAX GeneralizedTime
+-- IDENTIFIED BY id-ce-invalidityDate }
+--
+-- CRL distribution points and delta-CRL extensions
+--
+--cRLDistributionPoints EXTENSION ::= {
+--
+-- SYNTAX CRLDistPointsSyntax
+-- IDENTIFIED BY id-ce-cRLDistributionPoints }
+--
+--CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
+--
+--DistributionPoint ::= SEQUENCE {
+-- distributionPoint [0] DistributionPointName OPTIONAL,
+-- reasons [1] ReasonFlags OPTIONAL,
+-- cRLIssuer [2] GeneralNames OPTIONAL }
+--
+--DistributionPointName ::= CHOICE {
+-- fullName [0] GeneralNames,
+-- nameRelativeToCRLIssuer [1] RelativeDistinguishedName }
+--
+--ReasonFlags ::= BIT STRING {
+-- unused (0),
+-- keyCompromise (1),
+-- caCompromise (2),
+-- affiliationChanged (3),
+-- superseded (4),
+-- cessationOfOperation (5),
+-- certificateHold (6) }
+--
+--issuingDistributionPoint EXTENSION ::= {
+-- SYNTAX IssuingDistPointSyntax
+-- IDENTIFIED BY id-ce-issuingDistributionPoint }
+--
+--IssuingDistPointSyntax ::= SEQUENCE {
+-- distributionPoint [0] DistributionPointName OPTIONAL,
+-- onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
+-- onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
+-- onlySomeReasons [3] ReasonFlags OPTIONAL,
+-- indirectCRL [4] BOOLEAN DEFAULT FALSE }
+--
+--certificateIssuer EXTENSION ::= {
+-- SYNTAX GeneralNames
+-- IDENTIFIED BY id-ce-certificateIssuer }
+--
+--deltaCRLIndicator EXTENSION ::= {
+-- SYNTAX BaseCRLNumber
+-- IDENTIFIED BY id-ce-deltaCRLIndicator }
+--
+--BaseCRLNumber ::= CRLNumber
+--
+-- Object identifier assignments for ISO certificate extensions
+--id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29}
+--
+--id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= {id-ce 9}
+--
+--id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 14}
+--id-ce-keyUsage OBJECT IDENTIFIER ::= {id-ce 15}
+--id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= {id-ce 16}
+--id-ce-subjectAltName OBJECT IDENTIFIER ::= {id-ce 17}
+--id-ce-issuerAltName OBJECT IDENTIFIER ::= {id-ce 18}
+--id-ce-basicConstraints OBJECT IDENTIFIER ::= {id-ce 19}
+--id-ce-cRLNumber OBJECT IDENTIFIER ::= {id-ce 20}
+--id-ce-reasonCode OBJECT IDENTIFIER ::= {id-ce 21}
+--id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23}
+--id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24}
+--id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27}
+--id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28}
+--id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29}
+--id-ce-nameConstraints OBJECT IDENTIFIER ::= {id-ce 30}
+--id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
+--id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32}
+--id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33}
+--id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36}
+--id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 35}
+--id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
+--
+-- PKIX 1 extensions
+--
+--authorityInfoAccess EXTENSION ::= {
+-- SYNTAX AuthorityInfoAccessSyntax
+-- IDENTIFIED BY id-pe-authorityInfoAccess }
+
+AuthorityInfoAccessSyntax ::=
+ SEQUENCE SIZE (1..MAX) OF AccessDescription
+
+AccessDescription ::= SEQUENCE {
+ accessMethod OBJECT IDENTIFIER,
+ accessLocation GeneralName }
+
+--id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
+--
+--id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
+--id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
+--
+-- PKIX policy qualifier definitions
+--
+--noticeToUser CERT-POLICY-QUALIFIER ::= {
+-- POLICY-QUALIFIER-ID id-qt-cps QUALIFIER-TYPE CPSuri}
+--
+--pointerToCPS CERT-POLICY-QUALIFIER ::= {
+-- POLICY-QUALIFIER-ID id-qt-unotice QUALIFIER-TYPE UserNotice}
+--
+--id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
+--
+--id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
+--
+--CPSuri ::= IA5String
+--
+UserNotice ::= SEQUENCE {
+ noticeRef NoticeReference OPTIONAL,
+ explicitText DisplayText OPTIONAL}
+
+NoticeReference ::= SEQUENCE {
+ organization DisplayText,
+ noticeNumbers SEQUENCE OF INTEGER }
+
+DisplayText ::= CHOICE {
+ ia5String IA5String,
+ visibleString VisibleString,
+ bmpString BMPString,
+ utf8String UTF8String }
+
+
+END
diff --git a/epan/dissectors/asn1/pkix1implicit/packet-pkix1implicit-template.c b/epan/dissectors/asn1/pkix1implicit/packet-pkix1implicit-template.c
new file mode 100644
index 00000000..f6aed246
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1implicit/packet-pkix1implicit-template.c
@@ -0,0 +1,79 @@
+/* packet-pkix1implicit.c
+ * Routines for PKIX1Implitic packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/asn1.h>
+#include "packet-ber.h"
+#include "packet-pkix1implicit.h"
+#include "packet-pkix1explicit.h"
+#include "packet-x509ce.h"
+
+#define PNAME "PKIX1Implitit"
+#define PSNAME "PKIX1IMPLICIT"
+#define PFNAME "pkix1implicit"
+
+void proto_register_pkix1implicit(void);
+void proto_reg_handoff_pkix1implicit(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_pkix1implicit = -1;
+#include "packet-pkix1implicit-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-pkix1implicit-ett.c"
+
+
+int
+dissect_pkix1implicit_ReasonFlags(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_x509ce_ReasonFlags(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+int
+dissect_pkix1implicit_GeneralName(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_x509ce_GeneralName(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+#include "packet-pkix1implicit-fn.c"
+
+
+/*--- proto_register_pkix1implicit ----------------------------------------------*/
+void proto_register_pkix1implicit(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-pkix1implicit-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-pkix1implicit-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_pkix1implicit = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkix1implicit, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_pkix1implicit -------------------------------------------*/
+void proto_reg_handoff_pkix1implicit(void) {
+#include "packet-pkix1implicit-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/pkix1implicit/packet-pkix1implicit-template.h b/epan/dissectors/asn1/pkix1implicit/packet-pkix1implicit-template.h
new file mode 100644
index 00000000..894ce3ac
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1implicit/packet-pkix1implicit-template.h
@@ -0,0 +1,20 @@
+/* packet-pkix1implicit.h
+ * Routines for PKIX1Implicit packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PKIX1IMPLICIT_H
+#define PACKET_PKIX1IMPLICIT_H
+
+int dissect_pkix1implicit_GeneralName(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
+int dissect_pkix1implicit_ReasonFlags(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
+
+#include "packet-pkix1implicit-exp.h"
+
+#endif /* PACKET_PKIX1IMPLICIT_H */
+
diff --git a/epan/dissectors/asn1/pkix1implicit/pkix1implicit.cnf b/epan/dissectors/asn1/pkix1implicit/pkix1implicit.cnf
new file mode 100644
index 00000000..5ded0ffe
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1implicit/pkix1implicit.cnf
@@ -0,0 +1,76 @@
+# pkix1implicit.cnf
+# pkix1implicit conformation file
+
+#.MODULE_IMPORT
+PKIX1Explicit93 pkix1explicit
+
+#.INCLUDE ../pkix1explicit/pkix1explicit_exp.cnf
+#.IMPORT ../x509ce/x509ce-exp.cnf
+
+#.OMIT_ASSIGNMENT
+EDIPartyName
+#.END
+
+#.EXPORTS
+
+AuthorityInfoAccessSyntax
+KeyIdentifier
+UserNotice
+
+#.PDU
+
+#.REGISTER
+AuthorityInfoAccessSyntax B "1.3.6.1.5.5.7.1.1" "id-pe-authorityInfoAccess"
+Dummy B "1.3.6.1.5.5.7.48.1" "id-ad-ocsp"
+Dummy B "1.3.6.1.5.5.7.48.2" "id-ad-caIssuers"
+Dummy B "1.3.6.1.5.5.7.3.1" "id-kp-serverAuth"
+Dummy B "1.3.6.1.5.5.7.3.2" "id-kp-clientAuth"
+Dummy B "1.3.6.1.5.5.7.3.3" "id-kp-codeSigning"
+Dummy B "1.3.6.1.5.5.7.3.4" "id-kp-emailProtection"
+Dummy B "1.3.6.1.5.5.7.3.5" "id-kp-ip-kp-ipsecEndSystem"
+Dummy B "1.3.6.1.5.5.7.3.6" "id-kp-ipsecTunnel"
+Dummy B "1.3.6.1.5.5.7.3.7" "id-kp-ipsecUser"
+Dummy B "1.3.6.1.5.5.7.3.8" "id-kp-timeStamping"
+Dummy B "1.3.6.1.5.5.7.3.9" "OCSPSigning"
+
+# Additional MS Enhanced Key Usage OIDs (see http://msdn2.microsoft.com/en-us/library/aa378155.aspx)
+
+Dummy B "1.3.6.1.4.1.311.10.12.1" "id-ms-any-application-policy"
+Dummy B "1.3.6.1.4.1.311.10.3.1" "id-ms-kp-ctl-usage-signing"
+Dummy B "1.3.6.1.4.1.311.10.3.2" "id-ms-kp-time-stamp-signing"
+Dummy B "1.3.6.1.4.1.311.10.3.4" "id-ms-kp-efs"
+Dummy B "1.3.6.1.4.1.311.10.3.4.1" "id-ms-efs-recovery"
+Dummy B "1.3.6.1.4.1.311.10.3.5" "id-ms-whql-crypto"
+Dummy B "1.3.6.1.4.1.311.10.3.6" "id-ms-nt5-crypto"
+Dummy B "1.3.6.1.4.1.311.10.3.7" "id-ms-oem-whql-crypto"
+Dummy B "1.3.6.1.4.1.311.10.3.8" "id-ms-embedded-nt-crypto"
+Dummy B "1.3.6.1.4.1.311.10.3.9" "id-ms-root-list-signer"
+Dummy B "1.3.6.1.4.1.311.10.3.10" "id-ms-kp-qualified-subordination"
+Dummy B "1.3.6.1.4.1.311.10.3.11" "id-ms-kp-key-recovery"
+Dummy B "1.3.6.1.4.1.311.10.3.12" "id-ms-kp-document-signing"
+Dummy B "1.3.6.1.4.1.311.10.3.13" "id-ms-kp-lifetime-signing"
+
+Dummy B "1.3.6.1.4.1.311.10.5.1" "id-ms-drm"
+
+Dummy B "1.3.6.1.4.1.311.10.6.1" "id-ms-licenses"
+Dummy B "1.3.6.1.4.1.311.10.6.2" "id-ms-license-server"
+
+Dummy B "1.3.6.1.4.1.311.20.1" "id-ms-auto-enroll-ctl-usage"
+Dummy B "1.3.6.1.4.1.311.20.2.1" "id-ms-enrollment-agent"
+Dummy B "1.3.6.1.4.1.311.20.2.2" "id-ms-kp-smartcard-logon"
+Dummy B "1.3.6.1.4.1.311.21.5" "id-ms-kp-ca-exchange"
+Dummy B "1.3.6.1.4.1.311.21.6" "id-ms-kp-key-recovery-agent"
+Dummy B "1.3.6.1.4.1.311.21.19" "id-ms-ds-email-replication"
+
+Dummy B "1.3.6.1.5.5.8.2.2" "id-ms-ipsec-kp-ike-intermediate"
+
+UserNotice B "1.3.6.1.5.5.7.2.2" "id-qt-unotice"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
+
diff --git a/epan/dissectors/asn1/pkix1implicit/pkix1implicit_exp.cnf b/epan/dissectors/asn1/pkix1implicit/pkix1implicit_exp.cnf
new file mode 100644
index 00000000..98897dd6
--- /dev/null
+++ b/epan/dissectors/asn1/pkix1implicit/pkix1implicit_exp.cnf
@@ -0,0 +1,16 @@
+#.IMPORT_TAG
+AuthorityInfoAccessSyntax BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+GeneralName BER_CLASS_CON -1/*choice*/
+KeyIdentifier BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+ReasonFlags BER_CLASS_UNI BER_UNI_TAG_BITSTRING
+UserNotice BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+#.END
+
+#.TYPE_ATTR
+AuthorityInfoAccessSyntax TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+GeneralName TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+KeyIdentifier TYPE = FT_BYTES DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+ReasonFlags TYPE = FT_BYTES DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+UserNotice TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+#.END
+
diff --git a/epan/dissectors/asn1/pkixac/CMakeLists.txt b/epan/dissectors/asn1/pkixac/CMakeLists.txt
new file mode 100644
index 00000000..a6efdb01
--- /dev/null
+++ b/epan/dissectors/asn1/pkixac/CMakeLists.txt
@@ -0,0 +1,42 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pkixac )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PKIXAttributeCertificate.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ ../pkix1explicit/pkix1explicit_exp.cnf
+ ../pkix1implicit/pkix1implicit_exp.cnf
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkixac/PKIXAttributeCertificate.asn b/epan/dissectors/asn1/pkixac/PKIXAttributeCertificate.asn
new file mode 100644
index 00000000..5a99c7dd
--- /dev/null
+++ b/epan/dissectors/asn1/pkixac/PKIXAttributeCertificate.asn
@@ -0,0 +1,200 @@
+PKIXAttributeCertificate {iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-attribute-cert(12)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS ALL --
+
+IMPORTS
+
+ -- IMPORTed module OIDs MAY change if [PKIXPROF] changes
+ -- PKIX Certificate Extensions
+ Attribute, AlgorithmIdentifier, CertificateSerialNumber,
+ Extensions, UniqueIdentifier,
+ id-pkix, id-pe, id-kp, id-ad, id-at
+ FROM PKIX1Explicit88 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5)
+ pkix(7) id-mod(0) id-pkix1-explicit-88(1)}
+
+ GeneralName, GeneralNames, id-ce
+ FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
+ certificateExtensions(26) 5} ;
+-- FROM PKIX1Implicit88 {iso(1) identified-organization(3)
+-- dod(6) internet(1) security(5) mechanisms(5)
+-- pkix(7) id-mod(0) id-pkix1-implicit-88(2)} ;
+
+id-pe-ac-auditIdentity OBJECT IDENTIFIER ::= { id-pe 4 }
+id-pe-aaControls OBJECT IDENTIFIER ::= { id-pe 6 }
+id-pe-ac-proxying OBJECT IDENTIFIER ::= { id-pe 10 }
+id-ce-targetInformation OBJECT IDENTIFIER ::= { id-ce 55 }
+
+id-aca OBJECT IDENTIFIER ::= { id-pkix 10 }
+id-aca-authenticationInfo OBJECT IDENTIFIER ::= { id-aca 1 }
+id-aca-accessIdentity OBJECT IDENTIFIER ::= { id-aca 2 }
+id-aca-chargingIdentity OBJECT IDENTIFIER ::= { id-aca 3 }
+id-aca-group OBJECT IDENTIFIER ::= { id-aca 4 }
+-- { id-aca 5 } is reserved
+id-aca-encAttrs OBJECT IDENTIFIER ::= { id-aca 6 }
+
+id-at-role OBJECT IDENTIFIER ::= { id-at 72}
+id-at-clearance OBJECT IDENTIFIER ::=
+ { joint-iso-ccitt(2) ds(5) module(1)
+ selected-attribute-types(5) clearance (55) }
+
+ -- Uncomment this if using a 1988 level ASN.1 compiler
+ -- UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
+
+ AttributeCertificate ::= SEQUENCE {
+ acinfo AttributeCertificateInfo,
+ signatureAlgorithm AlgorithmIdentifier,
+ signatureValue BIT STRING
+ }
+
+ AttributeCertificateInfo ::= SEQUENCE {
+ version AttCertVersion, -- version is v2
+ holder Holder,
+ issuer AttCertIssuer,
+ signature AlgorithmIdentifier,
+ serialNumber CertificateSerialNumber,
+ attrCertValidityPeriod AttCertValidityPeriod,
+ attributes SEQUENCE OF Attribute,
+ issuerUniqueID UniqueIdentifier OPTIONAL,
+ extensions Extensions OPTIONAL
+ }
+
+ AttCertVersion ::= INTEGER { v2(1) }
+
+ Holder ::= SEQUENCE {
+ baseCertificateID [0] IssuerSerial OPTIONAL,
+ -- the issuer and serial number of
+ -- the holder's Public Key Certificate
+ entityName [1] GeneralNames OPTIONAL,
+ -- the name of the claimant or role
+ objectDigestInfo [2] ObjectDigestInfo OPTIONAL
+ -- used to directly authenticate the
+ -- holder, for example, an executable
+ }
+
+ ObjectDigestInfo ::= SEQUENCE {
+ digestedObjectType ENUMERATED {
+ publicKey (0),
+ publicKeyCert (1),
+ otherObjectTypes (2) },
+ -- otherObjectTypes MUST NOT
+ -- MUST NOT be used in this profile
+ otherObjectTypeID OBJECT IDENTIFIER OPTIONAL,
+ digestAlgorithm AlgorithmIdentifier,
+ objectDigest BIT STRING
+ }
+
+ AttCertIssuer ::= CHOICE {
+ v1Form GeneralNames, -- MUST NOT be used in this
+ -- profile
+ v2Form [0] V2Form -- v2 only
+ }
+
+ V2Form ::= SEQUENCE {
+ issuerName GeneralNames OPTIONAL,
+ baseCertificateID [0] IssuerSerial OPTIONAL,
+ objectDigestInfo [1] ObjectDigestInfo OPTIONAL
+ -- issuerName MUST be present in this profile
+ -- baseCertificateID and objectDigestInfo MUST
+ -- NOT be present in this profile
+ }
+
+ IssuerSerial ::= SEQUENCE {
+ issuer GeneralNames,
+ serial CertificateSerialNumber,
+ issuerUID UniqueIdentifier OPTIONAL
+ }
+
+ AttCertValidityPeriod ::= SEQUENCE {
+ notBeforeTime GeneralizedTime,
+ notAfterTime GeneralizedTime
+ }
+
+ Targets ::= SEQUENCE OF Target
+
+ Target ::= CHOICE {
+ targetName [0] GeneralName,
+ targetGroup [1] GeneralName,
+ targetCert [2] TargetCert
+ }
+
+ TargetCert ::= SEQUENCE {
+ targetCertificate IssuerSerial,
+ targetName GeneralName OPTIONAL,
+ certDigestInfo ObjectDigestInfo OPTIONAL
+ }
+
+ IetfAttrSyntax ::= SEQUENCE {
+ policyAuthority[0] GeneralNames OPTIONAL,
+ values SEQUENCE OF CHOICE {
+ octets OCTET STRING,
+ oid OBJECT IDENTIFIER,
+ string UTF8String
+ }
+ }
+
+ SvceAuthInfo ::= SEQUENCE {
+ service GeneralName,
+ ident GeneralName,
+ authInfo OCTET STRING OPTIONAL
+ }
+
+ RoleSyntax ::= SEQUENCE {
+ roleAuthority [0] GeneralNames OPTIONAL,
+ roleName [1] GeneralName
+ }
+
+ Clearance ::= SEQUENCE {
+ policyId OBJECT IDENTIFIER,
+ classList ClassList DEFAULT {unclassified},
+ securityCategories
+ SET OF SecurityCategory OPTIONAL
+ }
+
+ RFC3281Clearance ::= SEQUENCE {
+ policyId [0] OBJECT IDENTIFIER,
+ classList [1] ClassList DEFAULT {unclassified},
+ securityCategories
+ [2] SET OF SecurityCategory OPTIONAL
+ }
+
+
+ ClassList ::= BIT STRING {
+ unmarked (0),
+ unclassified (1),
+ restricted (2),
+ confidential (3),
+ secret (4),
+ topSecret (5)
+ }
+
+ SecurityCategory ::= SEQUENCE {
+ type [0] IMPLICIT OBJECT IDENTIFIER,
+ value [1] ANY DEFINED BY type
+ }
+
+ AAControls ::= SEQUENCE {
+ pathLenConstraint INTEGER (0..MAX) OPTIONAL,
+ permittedAttrs [0] AttrSpec OPTIONAL,
+ excludedAttrs [1] AttrSpec OPTIONAL,
+ permitUnSpecified BOOLEAN DEFAULT TRUE
+ }
+
+ AttrSpec::= SEQUENCE OF OBJECT IDENTIFIER
+
+ ACClearAttrs ::= SEQUENCE {
+ acIssuer GeneralName,
+ acSerial INTEGER,
+ attrs SEQUENCE OF Attribute
+ }
+
+ ProxyInfo ::= SEQUENCE OF Targets
+
+END
+
diff --git a/epan/dissectors/asn1/pkixac/packet-pkixac-template.c b/epan/dissectors/asn1/pkixac/packet-pkixac-template.c
new file mode 100644
index 00000000..e66153fa
--- /dev/null
+++ b/epan/dissectors/asn1/pkixac/packet-pkixac-template.c
@@ -0,0 +1,74 @@
+/* packet-pkixac.c
+ *
+ * Routines for PKIXAttributeCertificate (RFC3281) packet dissection.
+ *
+ * Copyright 2010, Stig Bjorlykke <stig@bjorlykke.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/asn1.h>
+#include "packet-ber.h"
+#include "packet-pkixac.h"
+#include "packet-pkix1explicit.h"
+#include "packet-pkix1implicit.h"
+#include "packet-x509ce.h"
+
+#define PNAME "PKIX Attribute Certificate"
+#define PSNAME "PKIXAC"
+#define PFNAME "pkixac"
+
+void proto_register_pkixac(void);
+void proto_reg_handoff_pkixac(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_pkixac = -1;
+#include "packet-pkixac-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_pkixac = -1;
+#include "packet-pkixac-ett.c"
+
+static const char *object_identifier_id;
+
+#include "packet-pkixac-fn.c"
+
+/*--- proto_register_pkixac ----------------------------------------------*/
+void proto_register_pkixac(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-pkixac-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_pkixac,
+#include "packet-pkixac-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_pkixac = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkixac, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+#include "packet-pkixac-syn-reg.c"
+
+}
+
+
+/*--- proto_reg_handoff_pkixac -------------------------------------------*/
+void proto_reg_handoff_pkixac(void) {
+#include "packet-pkixac-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/pkixac/packet-pkixac-template.h b/epan/dissectors/asn1/pkixac/packet-pkixac-template.h
new file mode 100644
index 00000000..ee14e4eb
--- /dev/null
+++ b/epan/dissectors/asn1/pkixac/packet-pkixac-template.h
@@ -0,0 +1,20 @@
+/* packet-pkixac.h
+ *
+ * Routines for PKIXAttributeCertificate (RFC3281) packet dissection.
+ *
+ * Copyright 2010, Stig Bjorlykke <stig@bjorlykke.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PKIXAC_H
+#define PACKET_PKIXAC_H
+
+/*#include "packet-pkixac-exp.h"*/
+
+#endif /* PACKET_PKIXAC_H */
+
diff --git a/epan/dissectors/asn1/pkixac/pkixac.cnf b/epan/dissectors/asn1/pkixac/pkixac.cnf
new file mode 100644
index 00000000..0ff6ed52
--- /dev/null
+++ b/epan/dissectors/asn1/pkixac/pkixac.cnf
@@ -0,0 +1,63 @@
+# pkixac.cnf
+# An Internet Attribute Certificate (RFC3281) conformation file
+
+#.MODULE_IMPORT
+PKIX1Explicit88 pkix1explicit
+PKIX1Implicit88 pkix1implicit
+CertificateExtensions x509ce
+
+#.IMPORT ../pkix1explicit/pkix1explicit_exp.cnf
+#.IMPORT ../pkix1implicit/pkix1implicit_exp.cnf
+#.IMPORT ../x509ce/x509ce-exp.cnf
+
+#.OMIT_ASSIGNMENT
+ACClearAttrs
+AttributeCertificate
+AttributeCertificateInfo
+AttCertVersion
+Holder
+AttCertIssuer
+AttCertValidityPeriod
+V2Form
+
+#.EXPORTS
+
+#.PDU
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.SYNTAX
+Clearance
+RFC3281Clearance
+
+#.REGISTER
+AAControls B "1.3.6.1.5.5.7.1.6" "id-pe-aaControls"
+ProxyInfo B "1.3.6.1.5.5.7.1.10" "id-pe-ac-proxying"
+SvceAuthInfo B "1.3.6.1.5.5.7.10.1" "id-aca-authenticationInfo"
+SvceAuthInfo B "1.3.6.1.5.5.7.10.2" "id-aca-accessIdentity"
+IetfAttrSyntax B "1.3.6.1.5.5.7.10.3" "id-aca-chargingIdentity"
+IetfAttrSyntax B "1.3.6.1.5.5.7.10.4" "id-aca-group"
+Clearance B "2.5.1.5.55" "id-at-clearance"
+Clearance B "2.5.4.55" "id-at-clearance"
+#AttributeCertificate B "2.5.4.58" "id-at-attributeCertificate"
+RoleSyntax B "2.5.4.72" "id-at-role"
+Targets B "2.5.29.55" "id-ce-targetInformation"
+#AuthorityKeyIdentifier B "2.5.29.35" "id-ce-authorityKeyIdentifier"
+
+#.FN_BODY SecurityCategory
+ object_identifier_id = NULL;
+ %(DEFAULT_BODY)s
+
+#.FN_PARS SecurityCategory/type
+ FN_VARIANT = _str VAL_PTR = &object_identifier_id
+
+#.FN_BODY SecurityCategory/value
+ if (object_identifier_id)
+ offset = call_ber_oid_callback (object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.END
+
diff --git a/epan/dissectors/asn1/pkixproxy/CMakeLists.txt b/epan/dissectors/asn1/pkixproxy/CMakeLists.txt
new file mode 100644
index 00000000..b5eb7c9f
--- /dev/null
+++ b/epan/dissectors/asn1/pkixproxy/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pkixproxy )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PKIXProxy.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkixproxy/PKIXProxy.asn b/epan/dissectors/asn1/pkixproxy/PKIXProxy.asn
new file mode 100644
index 00000000..c4f2956a
--- /dev/null
+++ b/epan/dissectors/asn1/pkixproxy/PKIXProxy.asn
@@ -0,0 +1,69 @@
+-- PKIXProxy
+-- This ASN.1 definition is taken from RFC3820 and modified to pass
+-- through the asn2wrs compiler.
+--
+-- The original copyright of the ASN.1 module follows below:
+--
+-- Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (2004). This document is subject
+-- to the rights, licenses and restrictions contained in BCP 78, and
+-- except as set forth therein, the authors retain all their rights.
+--
+-- This document and the information contained herein are provided on an
+-- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+-- OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+-- ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+-- INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+-- INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+-- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+PKIXproxy88 { iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ proxy-cert-extns(25) }
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS ALL --
+
+-- IMPORTS NONE --
+
+-- PKIX specific OIDs
+
+--id-pkix OBJECT IDENTIFIER ::=
+-- { iso(1) identified-organization(3)
+-- dod(6) internet(1) security(5) mechanisms(5) pkix(7) }
+
+-- private certificate extensions
+--id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
+
+-- Locally defined OIDs
+
+-- The proxy certificate extension
+--id-pe-proxyCertInfo OBJECT IDENTIFIER ::= { id-pe 14 }
+
+-- Proxy certificate policy languages
+--id-ppl OBJECT IDENTIFIER ::= { id-pkix 21 }
+
+-- Proxy certificate policies languages defined in
+--id-ppl-anyLanguage OBJECT IDENTIFIER ::= { id-ppl 0 }
+--id-ppl-inheritAll OBJECT IDENTIFIER ::= { id-ppl 1 }
+--id-ppl-independent OBJECT IDENTIFIER ::= { id-ppl 2 }
+
+-- The ProxyCertInfo Extension
+ProxyCertInfoExtension ::= SEQUENCE {
+ pCPathLenConstraint ProxyCertPathLengthConstraint
+ OPTIONAL,
+ proxyPolicy ProxyPolicy }
+
+ProxyCertPathLengthConstraint ::= INTEGER
+
+ProxyPolicy ::= SEQUENCE {
+ policyLanguage OBJECT IDENTIFIER,
+ policy OCTET STRING OPTIONAL }
+
+END
+
diff --git a/epan/dissectors/asn1/pkixproxy/packet-pkixproxy-template.c b/epan/dissectors/asn1/pkixproxy/packet-pkixproxy-template.c
new file mode 100644
index 00000000..99fb419b
--- /dev/null
+++ b/epan/dissectors/asn1/pkixproxy/packet-pkixproxy-template.c
@@ -0,0 +1,68 @@
+/* packet-pkixproxy.c
+ * Routines for RFC3820 PKIXProxy packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-pkixproxy.h"
+
+#define PNAME "PKIXProxy (RFC3820)"
+#define PSNAME "PKIXPROXY"
+#define PFNAME "pkixproxy"
+
+void proto_register_pkixproxy(void);
+void proto_reg_handoff_pkixproxy(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_pkixproxy = -1;
+#include "packet-pkixproxy-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-pkixproxy-ett.c"
+
+#include "packet-pkixproxy-fn.c"
+
+
+/*--- proto_register_pkixproxy ----------------------------------------------*/
+void proto_register_pkixproxy(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-pkixproxy-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-pkixproxy-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_pkixproxy = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkixproxy, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_pkixproxy -------------------------------------------*/
+void proto_reg_handoff_pkixproxy(void) {
+#include "packet-pkixproxy-dis-tab.c"
+ oid_add_from_string("id-ppl-anyLanguage","1.3.6.1.5.5.7.21.0");
+ oid_add_from_string("id-ppl-inheritAll","1.3.6.1.5.5.7.21.1");
+ oid_add_from_string("id-ppl-independent","1.3.6.1.5.5.7.21.2");
+}
+
diff --git a/epan/dissectors/asn1/pkixproxy/packet-pkixproxy-template.h b/epan/dissectors/asn1/pkixproxy/packet-pkixproxy-template.h
new file mode 100644
index 00000000..74e08ed7
--- /dev/null
+++ b/epan/dissectors/asn1/pkixproxy/packet-pkixproxy-template.h
@@ -0,0 +1,18 @@
+/* packet-pkixproxy.h
+ * Routines for RFC3820 PKIXProxy packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PKIXPROXY_H
+#define PACKET_PKIXPROXY_H
+
+/*#include "packet-pkixproxy-exp.h"*/
+
+#endif /* PACKET_PKIXPROXY_H */
+
diff --git a/epan/dissectors/asn1/pkixproxy/pkixproxy.cnf b/epan/dissectors/asn1/pkixproxy/pkixproxy.cnf
new file mode 100644
index 00000000..a80fbce5
--- /dev/null
+++ b/epan/dissectors/asn1/pkixproxy/pkixproxy.cnf
@@ -0,0 +1,19 @@
+# pkixproxy.cnf
+# PKIXProxy conformation file
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.PDU
+
+#.REGISTER
+ProxyCertInfoExtension B "1.3.6.1.5.5.7.1.14" "id-pe-proxyCertInfo"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
diff --git a/epan/dissectors/asn1/pkixqualified/CMakeLists.txt b/epan/dissectors/asn1/pkixqualified/CMakeLists.txt
new file mode 100644
index 00000000..1faf35af
--- /dev/null
+++ b/epan/dissectors/asn1/pkixqualified/CMakeLists.txt
@@ -0,0 +1,43 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pkixqualified )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PKIXqualified.asn
+ PKIXServiceNameSAN88.asn
+ PKIXServiceNameSAN93.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkixqualified/PKIXServiceNameSAN88.asn b/epan/dissectors/asn1/pkixqualified/PKIXServiceNameSAN88.asn
new file mode 100644
index 00000000..80e1da5e
--- /dev/null
+++ b/epan/dissectors/asn1/pkixqualified/PKIXServiceNameSAN88.asn
@@ -0,0 +1,32 @@
+-- Extracted from RFC 4985 Appendix A.1. 1988 ASN.1 Module
+--
+ PKIXServiceNameSAN88 {iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-dns-srv-name-88(39) }
+
+ DEFINITIONS EXPLICIT TAGS ::=
+
+ BEGIN
+
+ -- EXPORTS ALL --
+
+ IMPORTS
+
+ -- UTF8String, / move hyphens before slash if UTF8String does not
+ -- resolve with your compiler
+
+ id-pkix
+ FROM PKIX1Explicit88 { iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-explicit(18) } ;
+ -- from RFC3280 [N2]
+ -- Service Name Object Identifier and Syntax
+ -- id-pkix OBJECT IDENTIFIER ::= {1 3 6 1 5 5 7}
+
+ id-on OBJECT IDENTIFIER ::= { id-pkix 8 }
+
+ id-on-dnsSRV OBJECT IDENTIFIER ::= { id-on 7 }
+
+ SRVName ::= IA5String (SIZE (1..MAX))
+
+ END
diff --git a/epan/dissectors/asn1/pkixqualified/PKIXServiceNameSAN93.asn b/epan/dissectors/asn1/pkixqualified/PKIXServiceNameSAN93.asn
new file mode 100644
index 00000000..ce4b9943
--- /dev/null
+++ b/epan/dissectors/asn1/pkixqualified/PKIXServiceNameSAN93.asn
@@ -0,0 +1,39 @@
+-- Extracted from RFC 4985 Appendix A.2. 1993 ASN.1 Module
+--
+ PKIXServiceNameSAN93 {iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-dns-srv-name-93(40) }
+
+ DEFINITIONS EXPLICIT TAGS ::=
+
+ BEGIN
+
+ -- EXPORTS ALL --
+
+ IMPORTS
+
+ id-pkix
+ FROM PKIX1Explicit88 { iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-explicit(18) } ;
+ -- from RFC 3280 [N2]
+
+
+ -- In the GeneralName definition using the 1993 ASN.1 syntax
+ -- includes:
+
+ OTHER-NAME ::= TYPE-IDENTIFIER
+
+
+ -- Service Name Object Identifier
+
+-- id-on OBJECT IDENTIFIER ::= { id-pkix 8 }
+
+-- id-on-dnsSRV OBJECT IDENTIFIER ::= { id-on 7 }
+ -- Service Name
+
+ srvName OTHER-NAME ::= { SRVName IDENTIFIED BY { id-on-dnsSRV }}
+
+-- SRVName ::= IA5String (SIZE (1..MAX))
+
+ END \ No newline at end of file
diff --git a/epan/dissectors/asn1/pkixqualified/PKIXqualified.asn b/epan/dissectors/asn1/pkixqualified/PKIXqualified.asn
new file mode 100644
index 00000000..50c3200b
--- /dev/null
+++ b/epan/dissectors/asn1/pkixqualified/PKIXqualified.asn
@@ -0,0 +1,224 @@
+-- This ASN definition is taken from (and modified to pass through asn2wrs)
+-- RFC3739
+--
+-- RFC3739 contains the followin copyright statements:
+--
+-- Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (2004). This document is subject
+-- to the rights, licenses and restrictions contained in BCP 78 and
+-- except as set forth therein, the authors retain all their rights.
+--
+-- This document and the information contained herein are provided on an
+-- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
+-- REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
+-- INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
+-- IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
+-- THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+-- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+--
+-- Intellectual Property
+--
+-- The IETF takes no position regarding the validity or scope of any
+-- Intellectual Property Rights or other rights that might be claimed
+-- to pertain to the implementation or use of the technology
+-- described in this document or the extent to which any license
+-- under such rights might or might not be available; nor does it
+-- represent that it has made any independent effort to identify any
+-- such rights. Information on the procedures with respect to
+-- rights in RFC documents can be found in BCP 78 and BCP 79.
+--
+-- Copies of IPR disclosures made to the IETF Secretariat and any
+-- assurances of licenses to be made available, or the result of an
+-- attempt made to obtain a general license or permission for the use
+-- of such proprietary rights by implementers or users of this
+-- specification can be obtained from the IETF on-line IPR repository
+-- at http://www.ietf.org/ipr.
+--
+-- The IETF invites any interested party to bring to its attention
+-- any copyrights, patents or patent applications, or other
+-- proprietary rights that may cover technology that may be required
+-- to implement this standard. Please address the information to the
+-- IETF at ietf-ipr@ietf.org.
+--
+-- Acknowledgement
+--
+-- Funding for the RFC Editor function is currently provided by the
+-- Internet Society.
+--
+
+
+ PKIXqualified97 {iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-qualified-cert-97(35) }
+
+ DEFINITIONS EXPLICIT TAGS ::=
+
+ BEGIN
+
+ -- EXPORTS ALL --
+
+ IMPORTS
+
+ informationFramework, certificateExtensions, selectedAttributeTypes,
+ authenticationFramework, upperBounds, id-at
+ FROM UsefulDefinitions {joint-iso-itu-t(2) ds(5) module(1)
+ usefulDefinitions(0) 3 }
+
+ ub-name
+ FROM UpperBounds upperBounds
+
+ GeneralName
+ FROM CertificateExtensions certificateExtensions
+
+ ATTRIBUTE, AttributeType
+ FROM InformationFramework informationFramework
+
+ DirectoryString
+ FROM SelectedAttributeTypes selectedAttributeTypes
+
+ AlgorithmIdentifier, Extension, EXTENSION
+ FROM AuthenticationFramework authenticationFramework
+
+ id-pkix, id-pe
+ FROM PKIX1Explicit88 { iso(1) identified-organization(3) dod(6)
+ internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-pkix1-explicit(18) };
+
+ -- Locally defined OIDs
+
+ -- Arc for QC personal data attributes
+-- id-pda OBJECT IDENTIFIER ::= { id-pkix 9 }
+
+ -- Arc for QC statements
+-- id-qcs OBJECT IDENTIFIER ::= { id-pkix 11 }
+
+ -- Personal data attributes
+
+-- id-pda-dateOfBirth AttributeType ::= { id-pda 1 }
+-- id-pda-placeOfBirth AttributeType ::= { id-pda 2 }
+-- id-pda-gender AttributeType ::= { id-pda 3 }
+-- id-pda-countryOfCitizenship AttributeType ::= { id-pda 4 }
+-- id-pda-countryOfResidence AttributeType ::= { id-pda 5 }
+
+ -- Certificate extensions
+
+-- id-pe-biometricInfo OBJECT IDENTIFIER ::= { id-pe 2 }
+-- id-pe-qcStatements OBJECT IDENTIFIER ::= { id-pe 3 }
+
+ -- QC statements
+
+-- id-qcs-pkixQCSyntax-v1 OBJECT IDENTIFIER ::= { id-qcs 1 }
+-- id-qcs-pkixQCSyntax-v2 OBJECT IDENTIFIER ::= { id-qcs 2 }
+
+Generalizedtime ::= GeneralizedTime
+
+Directorystring ::= DirectoryString
+
+Printablestring ::= PrintableString
+
+ -- Personal data attributes
+--
+-- dateOfBirth ATTRIBUTE ::= {
+-- WITH SYNTAX GeneralizedTime
+-- ID id-pda-dateOfBirth }
+--
+-- placeOfBirth ATTRIBUTE ::= {
+-- WITH SYNTAX DirectoryString {ub-name}
+-- ID id-pda-placeOfBirth }
+--
+-- gender ATTRIBUTE ::= {
+-- WITH SYNTAX PrintableString (SIZE(1) ^ FROM("M"|"F"|"m"|"f"))
+-- ID id-pda-gender }
+--
+-- countryOfCitizenship ATTRIBUTE ::= {
+-- WITH SYNTAX PrintableString (SIZE (2))
+-- (CONSTRAINED BY { })
+-- ID id-pda-countryOfCitizenship }
+--
+-- countryOfResidence ATTRIBUTE ::= {
+-- WITH SYNTAX PrintableString (SIZE (2))
+-- (CONSTRAINED BY { })
+-- ID id-pda-countryOfResidence }
+--
+ -- Certificate extensions
+
+ -- Biometric info extension
+--
+-- biometricInfo EXTENSION ::= {
+-- SYNTAX BiometricSyntax
+-- IDENTIFIED BY id-pe-biometricInfo }
+
+ BiometricSyntax ::= SEQUENCE OF BiometricData
+
+ BiometricData ::= SEQUENCE {
+ typeOfBiometricData TypeOfBiometricData,
+ hashAlgorithm AlgorithmIdentifier,
+ biometricDataHash OCTET STRING,
+ sourceDataUri IA5String OPTIONAL,
+ ... }
+
+ TypeOfBiometricData ::= CHOICE {
+ predefinedBiometricType PredefinedBiometricType,
+ biometricDataOid OBJECT IDENTIFIER }
+
+ PredefinedBiometricType ::= INTEGER {
+ picture(0), handwritten-signature(1)}
+
+
+ -- QC Statements Extension
+ -- NOTE: This extension does not allow to mix critical and
+ -- non-critical Qualified Certificate Statements. Either all
+ -- statements must be critical or all statements must be
+ -- non-critical.
+--
+-- qcStatements EXTENSION ::= {
+-- SYNTAX QCStatements
+-- IDENTIFIED BY id-pe-qcStatements }
+
+ QCStatements ::= SEQUENCE OF QCStatement
+
+ QCStatement ::= SEQUENCE {
+ statementId OBJECT IDENTIFIER,
+ statementInfo ANY OPTIONAL }
+
+-- QC-STATEMENT ::= CLASS {
+-- &id OBJECT IDENTIFIER UNIQUE,
+-- &Type OPTIONAL }
+-- WITH SYNTAX {
+-- [SYNTAX &Type] IDENTIFIED BY &id }
+
+-- qcStatement-1 QC-STATEMENT ::= { SYNTAX SemanticsInformation
+-- IDENTIFIED BY id-qcs-pkixQCSyntax-v1}
+ -- This statement identifies conformance with requirements
+ -- defined in RFC 3039 (Version 1). This statement
+ -- may optionally contain additional semantics information
+ -- as specified below.
+
+-- qcStatement-2 QC-STATEMENT ::= { SYNTAX SemanticsInformation
+-- IDENTIFIED BY id-qcs-pkixQCSyntax-v2}
+ -- This statement identifies conformance with requirements
+ -- defined in this Qualified Certificate profile
+ -- (Version 2). This statement may optionally contain
+ -- additional semantics information as specified below.
+
+ SemanticsInformation ::= SEQUENCE {
+ semanticsIdentifier OBJECT IDENTIFIER OPTIONAL,
+ nameRegistrationAuthorities NameRegistrationAuthorities OPTIONAL
+ }
+
+ NameRegistrationAuthorities ::= SEQUENCE OF GeneralName
+
+ -- The following information object set is defined to constrain the
+ -- set of attributes applications are required to recognize as QCSs.
+-- SupportedStatements QC-STATEMENT ::= {
+-- qcStatement-1 |
+-- qcStatement-2 , ... }
+
+-- RFC 3920 added
+
+ XmppAddr ::= UTF8String
+
+ END
+
+
diff --git a/epan/dissectors/asn1/pkixqualified/packet-pkixqualified-template.c b/epan/dissectors/asn1/pkixqualified/packet-pkixqualified-template.c
new file mode 100644
index 00000000..2d4ebc3f
--- /dev/null
+++ b/epan/dissectors/asn1/pkixqualified/packet-pkixqualified-template.c
@@ -0,0 +1,70 @@
+/* packet-pkixqualified.c
+ * Routines for RFC3739 PKIXqualified packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-pkixqualified.h"
+#include "packet-x509af.h"
+#include "packet-x509ce.h"
+#include "packet-x509sat.h"
+
+#define PNAME "PKIX Qualified"
+#define PSNAME "PKIXQUALIFIED"
+#define PFNAME "pkixqualified"
+
+void proto_register_pkixqualified(void);
+void proto_reg_handoff_pkixqualified(void);
+
+
+/* Initialize the protocol and registered fields */
+static int proto_pkixqualified = -1;
+#include "packet-pkixqualified-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-pkixqualified-ett.c"
+
+static const char *object_identifier_id;
+
+#include "packet-pkixqualified-fn.c"
+
+
+/*--- proto_register_pkixqualified ----------------------------------------------*/
+void proto_register_pkixqualified(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-pkixqualified-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-pkixqualified-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_pkixqualified = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkixqualified, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_pkixqualified -------------------------------------------*/
+void proto_reg_handoff_pkixqualified(void) {
+#include "packet-pkixqualified-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/pkixqualified/packet-pkixqualified-template.h b/epan/dissectors/asn1/pkixqualified/packet-pkixqualified-template.h
new file mode 100644
index 00000000..24d343ae
--- /dev/null
+++ b/epan/dissectors/asn1/pkixqualified/packet-pkixqualified-template.h
@@ -0,0 +1,18 @@
+/* packet-pkixqualified.h
+ * Routines for RFC3739 PKIXqualified packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PKIXQUALIFIED_H
+#define PACKET_PKIXQUALIFIED_H
+
+/*#include "packet-pkixqualified-exp.h"*/
+
+#endif /* PACKET_PKIXQUALIFIED_H */
+
diff --git a/epan/dissectors/asn1/pkixqualified/pkixqualified.cnf b/epan/dissectors/asn1/pkixqualified/pkixqualified.cnf
new file mode 100644
index 00000000..a162dc7f
--- /dev/null
+++ b/epan/dissectors/asn1/pkixqualified/pkixqualified.cnf
@@ -0,0 +1,40 @@
+# PKIXqualified.cnf
+# PKIXqualified conformation file
+
+#.IMPORT ../x509ce/x509ce-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509sat/x509sat-exp.cnf
+
+#.EXPORTS
+
+#.REGISTER
+BiometricSyntax B "1.3.6.1.5.5.7.1.2" "id-pe-biometricInfo"
+QCStatements B "1.3.6.1.5.5.7.1.3" "id-pe-qcStatements"
+SemanticsInformation B "1.3.6.1.5.5.7.11.1" "id-qcs-pkixQCSyntax-v1"
+SemanticsInformation B "1.3.6.1.5.5.7.11.2" "id-qcs-pkixQCSyntax-v2"
+XmppAddr B "1.3.6.1.5.5.7.8.5" "id-on-xmppAddr"
+Generalizedtime B "1.3.6.1.5.5.7.9.1" "id-pda-dateOfBirth"
+Directorystring B "1.3.6.1.5.5.7.9.2" "id-pda-placeOfBirth"
+Printablestring B "1.3.6.1.5.5.7.9.3" "id-pda-gender"
+Printablestring B "1.3.6.1.5.5.7.9.4" "id-pda-countryOfCitizenship"
+Printablestring B "1.3.6.1.5.5.7.9.5" "id-pda-countryOfResidence"
+SRVName B "1.3.6.1.5.5.7.8.7" "id-on-dnsSRV"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.FN_HDR QCStatement
+ object_identifier_id = NULL;
+
+#.FN_PARS QCStatement/statementId
+ FN_VARIANT = _str HF_INDEX = hf_pkixqualified_statementId VAL_PTR = &object_identifier_id
+
+#.FN_BODY QCStatement/statementInfo
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/pkixtsp/CMakeLists.txt b/epan/dissectors/asn1/pkixtsp/CMakeLists.txt
new file mode 100644
index 00000000..a7899b25
--- /dev/null
+++ b/epan/dissectors/asn1/pkixtsp/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pkixtsp )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ PKIXTSP.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../cms/cms-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pkixtsp/PKIXTSP.asn b/epan/dissectors/asn1/pkixtsp/PKIXTSP.asn
new file mode 100644
index 00000000..d4f97d69
--- /dev/null
+++ b/epan/dissectors/asn1/pkixtsp/PKIXTSP.asn
@@ -0,0 +1,184 @@
+-- This ASN.1 definition defined the Time-Stamp Protocol
+-- as of RFC3161.
+-- This definition is taken from RFC3161 and modified to pass through
+-- the asn2wrs compiler.
+--
+-- Copyright statement of the original ASN.1 definition of RFC3161 as follows
+--
+--
+-- Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (2001). All Rights Reserved.
+--
+-- This document and translations of it may be copied and furnished to
+-- others, and derivative works that comment on or otherwise explain it
+-- or assist in its implementation may be prepared, copied, published
+-- and distributed, in whole or in part, without restriction of any
+-- kind, provided that the above copyright notice and this paragraph are
+-- included on all such copies and derivative works. However, this
+-- document itself may not be modified in any way, such as by removing
+-- the copyright notice or references to the Internet Society or other
+-- Internet organizations, except as needed for the purpose of
+-- developing Internet standards in which case the procedures for
+-- copyrights defined in the Internet Standards process must be
+-- followed, or as required to translate it into languages other than
+-- English.
+--
+-- The limited permissions granted above are perpetual and will not be
+-- revoked by the Internet Society or its successors or assigns.
+--
+-- This document and the information contained herein is provided on an
+-- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+-- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+-- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+PKIXTSP {iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-tsp(13)}
+
+DEFINITIONS IMPLICIT TAGS ::=
+
+BEGIN
+
+-- EXPORTS ALL --
+
+IMPORTS
+
+ Extensions, AlgorithmIdentifier
+ FROM PKIX1Explicit88 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-explicit-88(1)}
+
+ GeneralName FROM PKIX1Implicit88 {iso(1)
+ identified-organization(3) dod(6) internet(1) security(5)
+ mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-88(2)}
+
+ ContentInfo FROM CryptographicMessageSyntax {iso(1)
+ member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
+ smime(16) modules(0) cms(1)}
+
+ PKIFreeText FROM PKIXCMP {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-cmp(9)} ;
+
+ -- Locally defined OIDs --
+
+-- eContentType for a time-stamp token
+
+-- id-ct-TSTInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+-- us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4}
+
+-- 2.4.1
+
+TimeStampReq ::= SEQUENCE {
+ version INTEGER { v1(1) },
+ messageImprint MessageImprint,
+ --a hash algorithm OID and the hash value of the data to be
+ --time-stamped
+ reqPolicy TSAPolicyId OPTIONAL,
+ nonce INTEGER OPTIONAL,
+ certReq BOOLEAN DEFAULT FALSE,
+ extensions [0] IMPLICIT Extensions OPTIONAL }
+
+MessageImprint ::= SEQUENCE {
+ hashAlgorithm AlgorithmIdentifier,
+ hashedMessage OCTET STRING }
+
+TSAPolicyId ::= OBJECT IDENTIFIER
+
+
+-- 2.4.2
+
+TimeStampResp ::= SEQUENCE {
+ status PKIStatusInfo,
+ timeStampToken TimeStampToken OPTIONAL }
+
+-- The status is based on the definition of status
+-- in section 3.2.3 of [RFC2510]
+
+PKIStatusInfo ::= SEQUENCE {
+ status PKIStatus,
+--XXX dont implement PKIXCMP yet
+-- statusString PKIFreeText OPTIONAL,
+ failInfo PKIFailureInfo OPTIONAL }
+
+PKIStatus ::= INTEGER {
+ granted (0),
+ -- when the PKIStatus contains the value zero a TimeStampToken, as
+ -- requested, is present.
+ grantedWithMods (1),
+ -- when the PKIStatus contains the value one a TimeStampToken,
+ -- with modifications, is present.
+ rejection (2),
+ waiting (3),
+ revocationWarning (4),
+ -- this message contains a warning that a revocation is
+ -- imminent
+ revocationNotification (5)
+ -- notification that a revocation has occurred
+}
+
+ -- When the TimeStampToken is not present
+ -- failInfo indicates the reason why the
+ -- time-stamp request was rejected and
+ -- may be one of the following values.
+
+PKIFailureInfo ::= BIT STRING {
+ badAlg (0),
+ -- unrecognized or unsupported Algorithm Identifier
+ badRequest (2),
+ -- transaction not permitted or supported
+ badDataFormat (5),
+ -- the data submitted has the wrong format
+ timeNotAvailable (14),
+ -- the TSA's time source is not available
+ unacceptedPolicy (15),
+ -- the requested TSA policy is not supported by the TSA.
+ unacceptedExtension (16),
+ -- the requested extension is not supported by the TSA.
+ addInfoNotAvailable (17),
+ -- the additional information requested could not be understood
+ -- or is not available
+ systemFailure (25)
+ -- the request cannot be handled due to system failure
+}
+
+TimeStampToken ::= ContentInfo
+
+ -- contentType is id-signedData as defined in [CMS]
+ -- content is SignedData as defined in([CMS])
+ -- eContentType within SignedData is id-ct-TSTInfo
+ -- eContent within SignedData is TSTInfo
+
+TSTInfo ::= SEQUENCE {
+ version INTEGER { v1(1) },
+ policy TSAPolicyId,
+ messageImprint MessageImprint,
+ -- MUST have the same value as the similar field in
+ -- TimeStampReq
+ serialNumber INTEGER,
+ -- Time-Stamping users MUST be ready to accommodate integers
+ -- up to 160 bits.
+ genTime GeneralizedTime,
+ accuracy Accuracy OPTIONAL,
+ ordering BOOLEAN DEFAULT FALSE,
+ nonce INTEGER OPTIONAL,
+ -- MUST be present if the similar field was present
+ -- in TimeStampReq. In that case it MUST have the same value.
+ tsa [0] GeneralName OPTIONAL,
+ extensions [1] IMPLICIT Extensions OPTIONAL }
+
+Accuracy ::= SEQUENCE {
+ seconds INTEGER OPTIONAL,
+ millis [0] INTEGER (1..999) OPTIONAL,
+ micros [1] INTEGER (1..999) OPTIONAL }
+
+-- from Appendix A
+
+id-aa-timeStampToken OBJECT IDENTIFIER ::= { iso(1) member-body(2)
+ us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) aa(2) 14 }
+
+SignatureTimeStampToken ::= TimeStampToken
+
+END
diff --git a/epan/dissectors/asn1/pkixtsp/packet-pkixtsp-template.c b/epan/dissectors/asn1/pkixtsp/packet-pkixtsp-template.c
new file mode 100644
index 00000000..319e91d9
--- /dev/null
+++ b/epan/dissectors/asn1/pkixtsp/packet-pkixtsp-template.c
@@ -0,0 +1,127 @@
+/* packet-pkixtsp.c
+ * Routines for RFC2634 Extended Security Services packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/asn1.h>
+#include "packet-ber.h"
+#include "packet-pkixtsp.h"
+#include "packet-pkix1explicit.h"
+#include "packet-pkix1implicit.h"
+#include "packet-cms.h"
+
+#define PNAME "PKIX Time Stamp Protocol"
+#define PSNAME "PKIXTSP"
+#define PFNAME "pkixtsp"
+
+void proto_register_pkixtsp(void);
+void proto_reg_handoff_pkixtsp(void);
+
+static dissector_handle_t timestamp_reply_handle;
+static dissector_handle_t timestamp_query_handle;
+
+/* Initialize the protocol and registered fields */
+static int proto_pkixtsp = -1;
+#include "packet-pkixtsp-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_pkixtsp = -1;
+#include "packet-pkixtsp-ett.c"
+
+
+#include "packet-pkixtsp-fn.c"
+
+
+static int
+dissect_timestamp_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "PKIXTSP");
+
+ col_set_str(pinfo->cinfo, COL_INFO, "Reply");
+
+
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, proto_pkixtsp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_pkixtsp);
+ }
+
+ return dissect_pkixtsp_TimeStampResp(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static int
+dissect_timestamp_query(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "PKIXTSP");
+
+ col_set_str(pinfo->cinfo, COL_INFO, "Query");
+
+
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, proto_pkixtsp, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_pkixtsp);
+ }
+
+ return dissect_pkixtsp_TimeStampReq(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+
+/*--- proto_register_pkixtsp ----------------------------------------------*/
+void proto_register_pkixtsp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-pkixtsp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_pkixtsp,
+#include "packet-pkixtsp-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_pkixtsp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pkixtsp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ timestamp_reply_handle = register_dissector(PFNAME "_reply", dissect_timestamp_reply, proto_pkixtsp);
+ timestamp_query_handle = register_dissector(PFNAME "_query", dissect_timestamp_query, proto_pkixtsp);
+
+ register_ber_syntax_dissector("TimeStampReq", proto_pkixtsp, dissect_TimeStampReq_PDU);
+ register_ber_syntax_dissector("TimeStampResp", proto_pkixtsp, dissect_TimeStampResp_PDU);
+
+ register_ber_oid_syntax(".tsq", NULL, "TimeStampReq");
+ register_ber_oid_syntax(".tsr", NULL, "TimeStampResp");
+}
+
+
+/*--- proto_reg_handoff_pkixtsp -------------------------------------------*/
+void proto_reg_handoff_pkixtsp(void) {
+ dissector_add_string("media_type", "application/timestamp-reply", timestamp_reply_handle);
+ dissector_add_string("media_type", "application/timestamp-query", timestamp_query_handle);
+
+#include "packet-pkixtsp-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/pkixtsp/packet-pkixtsp-template.h b/epan/dissectors/asn1/pkixtsp/packet-pkixtsp-template.h
new file mode 100644
index 00000000..5d6d47a3
--- /dev/null
+++ b/epan/dissectors/asn1/pkixtsp/packet-pkixtsp-template.h
@@ -0,0 +1,18 @@
+/* packet-pkixtsp.h
+ * Routines for RFC3161 Time-Stamp Protocol packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PKIXTSP_H
+#define PACKET_PKIXTSP_H
+
+/*#include "packet-pkixtsp-exp.h"*/
+
+#endif /* PACKET_PKIXTSP_H */
+
diff --git a/epan/dissectors/asn1/pkixtsp/pkixtsp.cnf b/epan/dissectors/asn1/pkixtsp/pkixtsp.cnf
new file mode 100644
index 00000000..5d9a8cac
--- /dev/null
+++ b/epan/dissectors/asn1/pkixtsp/pkixtsp.cnf
@@ -0,0 +1,32 @@
+# pkixtsp.cnf
+# Time-Stamp Protocol (RFC3161) conformation file
+
+#.MODULE_IMPORT
+PKIX1Explicit88 pkix1explicit
+PKIX1Implicit88 pkix1implicit
+
+#.INCLUDE ../pkix1explicit/pkix1explicit_exp.cnf
+#.INCLUDE ../pkix1implicit/pkix1implicit_exp.cnf
+#.IMPORT ../cms/cms-exp.cnf
+
+#.EXPORTS
+
+#.PDU
+TimeStampReq
+TimeStampResp
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+TSTInfo/version Tst_version
+
+#.FIELD_RENAME
+PKIStatusInfo/status pki_status
+TSTInfo/version tst_version
+
+#.REGISTER
+SignatureTimeStampToken B "1.2.840.113549.1.9.16.2.14" "id-aa-timeStampToken"
+TSTInfo B "1.2.840.113549.1.9.16.1.4" "id-ct-TSTInfo"
+
+#.END
+
diff --git a/epan/dissectors/asn1/pres/CMakeLists.txt b/epan/dissectors/asn1/pres/CMakeLists.txt
new file mode 100644
index 00000000..2fdf26fd
--- /dev/null
+++ b/epan/dissectors/asn1/pres/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME pres )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ISO8823-PRESENTATION.asn
+ ISO9576-PRESENTATION.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../rtse/rtse-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/pres/ISO8823-PRESENTATION.asn b/epan/dissectors/asn1/pres/ISO8823-PRESENTATION.asn
new file mode 100644
index 00000000..99289066
--- /dev/null
+++ b/epan/dissectors/asn1/pres/ISO8823-PRESENTATION.asn
@@ -0,0 +1,388 @@
+-- Module ISO8823-PRESENTATION (X.226:07/1994)
+ISO8823-PRESENTATION DEFINITIONS ::=
+BEGIN
+
+--
+-- In X.410-1984 mode, the value of the SS-user data parameter of the S-CONNECT request and
+-- indication session-service primitives shall be a CP-type value.
+--
+-- In normal mode, the value of the SS-user data parameter of the S-CONNECT request and
+-- indication session-service primitives shall be a CP-type value, followed as a requestor's
+-- option by zero or more CPC-type values.
+IMPORTS
+ RTORQapdu, RTOACapdu, RTORJapdu, RTABapdu
+ FROM Reliable-Transfer-APDU {joint-iso-itu-t(2) reliable-transfer(3)
+ apdus(0)};
+
+CP-type ::= SET {
+ mode-selector [0] IMPLICIT Mode-selector,
+ x410-mode-parameters
+-- [1] IMPLICIT SET {COMPONENTS OF Reliable-Transfer-APDU.RTORQapdu} OPTIONAL This OPTIONAL element shall be absent for a
+ [1] IMPLICIT RTORQapdu OPTIONAL,
+-- This OPTIONAL element shall be absent for a
+ -- nested presentation connection.
+ -- Shall be used for X.410 mode only. Shall be bitwise
+ -- compatible with CCITT Recommendation X.410-1984.
+ -- This shall be the User data parameter of the CP PPDU1) --
+ normal-mode-parameters
+ [2] IMPLICIT SEQUENCE {protocol-version
+ [0] IMPLICIT Protocol-version DEFAULT {version-1},
+ calling-presentation-selector
+ [1] IMPLICIT Calling-presentation-selector
+ OPTIONAL,
+ called-presentation-selector
+ [2] IMPLICIT Called-presentation-selector OPTIONAL,
+ presentation-context-definition-list
+ [4] IMPLICIT Presentation-context-definition-list
+ OPTIONAL,
+ default-context-name
+ [6] IMPLICIT Default-context-name OPTIONAL,
+ presentation-requirements
+ [8] IMPLICIT Presentation-requirements OPTIONAL,
+ user-session-requirements
+ [9] IMPLICIT User-session-requirements OPTIONAL-- shall not be present if equal to the Revised session
+ -- requirements parameter --,
+ protocol-options
+ [11] Protocol-options DEFAULT {},
+ -- shall be absent if no options are offered
+ initiators-nominated-context
+ [12] Presentation-context-identifier OPTIONAL,
+ -- shall only be present if nominated-context is
+ -- offered in protocol-options
+ extensions
+ [14] SEQUENCE {...} OPTIONAL,
+ -- to allow for future extensions
+ user-data
+ User-data OPTIONAL} OPTIONAL
+ -- Shall be used for normal mode only.
+ -- Shall be the parameters of the CP PPDU.
+}
+
+--
+-- As an initiator's option, the presentation data values contained in a CP PPDU may be
+-- encoded more than once, using CPC-type values, to allow the transfer of the same
+-- presentation data values using a number of different transfer syntaxes.
+--
+CPC-type ::=
+ User-data
+
+-- Shall be used for normal mode only.
+-- Shall not be present if the Presentation context definition list parameter is not present
+-- in the CP PPDU. Each instance of this data type shall contain all of the presentation data
+-- values which were contained in the User data parameter of the CP PPDU.
+-- This shall be the same set of presentation data values which were contained in the CP-type.
+--
+-- The SS-user data parameter value of the S-CONNECT response
+-- and confirm session-service primitives shall be a CPA-PPDU
+-- value when the Result parameter value is "accept".
+--
+--
+CPA-PPDU ::= SET {
+ mode-selector [0] IMPLICIT Mode-selector,
+ x410-mode-parameters
+-- [1] IMPLICIT SET {COMPONENTS OF Reliable-Transfer-APDU.RTOACapdu} OPTIONAL
+-- This OPTIONAL element shall be absent for a
+ [1] IMPLICIT RTOACapdu OPTIONAL,
+-- This OPTIONAL element shall be absent for a
+ -- nested presentation connection.
+ -- Shall be used for X.410 mode only. Shall be bitwise
+ -- compatible with CCITT Recommendation X.410-1984.
+ -- This shall be the User data parameter of the CPA PPDU1) --
+ normal-mode-parameters
+ [2] IMPLICIT SEQUENCE {protocol-version
+ [0] IMPLICIT Protocol-version DEFAULT {version-1},
+ responding-presentation-selector
+ [3] IMPLICIT Responding-presentation-selector
+ OPTIONAL,
+ presentation-context-definition-result-list
+ [5] IMPLICIT Presentation-context-definition-result-list
+ OPTIONAL,
+ presentation-requirements
+ [8] IMPLICIT Presentation-requirements OPTIONAL,
+ user-session-requirements
+ [9] IMPLICIT User-session-requirements OPTIONAL,
+ -- shall not be present if equal to the Revised session
+ -- requirements parameter
+ protocol-options
+ [11] Protocol-options DEFAULT {},
+ -- shall be absent if no options are selected
+ responders-nominated-context
+ [13] Presentation-context-identifier OPTIONAL,
+ -- shall only be present if nominated-context is
+ -- selected in protocol-options
+ user-data
+ User-data OPTIONAL} OPTIONAL
+ -- Shall be used for normal mode only.
+}
+
+--
+--
+-- The SS-user data parameter value of the S-CONNECT response
+-- and confirm session-service primitives shall be a CPR-PPDU
+-- value when the Result parameter value is "reject by SS-provider"
+-- or "reject by called SS-user".
+--
+CPR-PPDU ::= CHOICE {
+-- x400-mode-parameters SET {COMPONENTS OF Reliable-Transfer-APDU.RTORJapdu}
+-- This OPTIONAL element shall be absent for a
+ x400-mode-parameters RTORJapdu,
+ -- This OPTIONAL element shall be absent for a
+ -- nested presentation connection.
+ -- Shall be used for X.410 mode only. Shall be bitwise
+ -- compatible with CCITT Recommendation X.410-1984.
+ -- This shall be the User data parameter of the CPR PPDU2) --
+ normal-mode-parameters
+ SEQUENCE {protocol-version
+ [0] IMPLICIT Protocol-version DEFAULT {version-1},
+ responding-presentation-selector
+ [3] IMPLICIT Responding-presentation-selector OPTIONAL,
+ presentation-context-definition-result-list
+ [5] IMPLICIT Presentation-context-definition-result-list
+ OPTIONAL,
+ default-context-result
+ [7] IMPLICIT Default-context-result OPTIONAL,
+ provider-reason
+ [10] IMPLICIT Provider-reason OPTIONAL,
+ user-data User-data OPTIONAL
+ }
+ -- Shall be used for normal mode only.
+}
+
+--
+--
+-- The SS-user data parameter of the S-U-ABORT request and indication
+-- service primitives shall be an Abort-type value.
+--
+Abort-type ::= CHOICE {
+ aru-ppdu ARU-PPDU-- for a P-U-ABORT -- ,
+ arp-ppdu ARP-PPDU -- for a P-P-ABORT
+}
+
+--
+ARU-PPDU ::= CHOICE {
+-- x400-mode-parameters SET {COMPONENTS OF Reliable-Transfer-APDU.RTABapdu}
+-- Shall be used for X.410 mode only. Shall be bitwise
+ x400-mode-parameters RTABapdu,
+-- Shall be used for X.410 mode only. Shall be bitwise
+ -- compatible with CCITT Recommendation X.410-1984.
+ -- This shall be the User data parameter of the ARU PPDU3. --
+ normal-mode-parameters
+ [0] IMPLICIT SEQUENCE {presentation-context-identifier-list
+ [0] IMPLICIT Presentation-context-identifier-list
+ OPTIONAL,
+ user-data
+ User-data OPTIONAL}
+ -- Shall be used for normal mode only.
+}
+
+--
+ARP-PPDU ::= SEQUENCE {
+ provider-reason [0] IMPLICIT Abort-reason OPTIONAL,
+ event-identifier [1] IMPLICIT Event-identifier OPTIONAL
+}
+
+--
+--
+-- The SS-user data parameter value of the S-TYPED-DATA request
+-- and indication service primitives shall be a Typed-data-type value.
+--
+Typed-data-type ::= CHOICE {
+ acPPDU [0] IMPLICIT AC-PPDU-- P-ALTER-CONTEXT request and indication -- ,
+ acaPPDU [1] IMPLICIT ACA-PPDU-- P-ALTER-CONTEXT response and confirm -- ,
+ ttdPPDU User-data -- P-TYPED-DATA request and indication
+}
+
+--
+AC-PPDU ::= SEQUENCE {
+ presentation-context-addition-list
+ [0] IMPLICIT Presentation-context-addition-list OPTIONAL,
+ presentation-context-deletion-list
+ [1] IMPLICIT Presentation-context-deletion-list OPTIONAL,
+ user-data User-data OPTIONAL
+}
+
+--
+ACA-PPDU ::= SEQUENCE {
+ presentation-context-addition-result-list
+ [0] IMPLICIT Presentation-context-addition-result-list OPTIONAL,
+ presentation-context-deletion-result-list
+ [1] IMPLICIT Presentation-context-deletion-result-list OPTIONAL,
+ user-data User-data OPTIONAL
+}
+
+--
+--
+-- The SS-user data parameter value of the S-RESYNCHRONIZE request and
+-- indication service primitives shall be an RS-PPDU value.
+--
+RS-PPDU ::= SEQUENCE {
+ presentation-context-identifier-list
+ [0] IMPLICIT Presentation-context-identifier-list OPTIONAL,
+ user-data User-data OPTIONAL
+}
+
+--
+-- The SS-user data parameter value of the S-RESYNCHRONIZE response and
+-- confirm service primitives shall be an RSA-PPDU value.
+--
+RSA-PPDU ::= SEQUENCE {
+ presentation-context-identifier-list
+ [0] IMPLICIT Presentation-context-identifier-list OPTIONAL,
+ user-data User-data OPTIONAL
+}
+
+--
+--
+-- The SS-user data parameter values of the S-DATA, S-CAPABILITY-DATA,
+-- S-EXPEDITED-DATA request and indication session-service primitives
+-- and S-CAPABILITY-DATA response and confirm session-service primitives
+-- shall be of type User-data.
+--
+-- The SS-user data parameter values of all other session-service
+-- primitives not described above shall be of type User-data.
+--
+--
+--
+Abort-reason ::= INTEGER {
+ reason-not-specified(0), unrecognized-ppdu(1), unexpected-ppdu(2),
+ unexpected-session-service-primitive(3), unrecognized-ppdu-parameter(4),
+ unexpected-ppdu-parameter(5), invalid-ppdu-parameter-value(6)}
+
+Abstract-syntax-name ::= OBJECT IDENTIFIER
+
+Called-presentation-selector ::= Presentation-selector
+
+Calling-presentation-selector ::= Presentation-selector
+
+Context-list ::=
+-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF
+ SEQUENCE OF
+ SEQUENCE {presentation-context-identifier Presentation-context-identifier,
+ abstract-syntax-name Abstract-syntax-name,
+ transfer-syntax-name-list SEQUENCE OF Transfer-syntax-name
+ }
+
+Default-context-name ::= SEQUENCE {
+ abstract-syntax-name [0] IMPLICIT Abstract-syntax-name,
+ transfer-syntax-name [1] IMPLICIT Transfer-syntax-name
+}
+
+Default-context-result ::= Result
+
+Event-identifier ::= INTEGER {
+ cp-PPDU(0), cpa-PPDU(1), cpr-PPDU(2), aru-PPDU(3), arp-PPDU(4), ac-PPDU(5),
+ aca-PPDU(6), td-PPDU(7), ttd-PPDU(8), te-PPDU(9), tc-PPDU(10), tcc-PPDU(11),
+ rs-PPDU(12), rsa-PPDU(13), s-release-indication(14), s-release-confirm(15),
+ s-token-give-indication(16), s-token-please-indication(17),
+ s-control-give-indication(18), s-sync-minor-indication(19),
+ s-sync-minor-confirm(20), s-sync-major-indication(21),
+ s-sync-major-confirm(22), s-p-exception-report-indication(23),
+ s-u-exception-report-indication(24), s-activity-start-indication(25),
+ s-activity-resume-indication(26), s-activity-interrupt-indication(27),
+ s-activity-interrupt-confirm(28), s-activity-discard-indication(29),
+ s-activity-discard-confirm(30), s-activity-end-indication(31),
+ s-activity-end-confirm(32)}
+
+Mode-selector ::= SET {
+ mode-value [0] IMPLICIT INTEGER {x410-1984-mode(0), normal-mode(1)}
+}
+
+Presentation-context-addition-list ::= Context-list
+
+Presentation-context-addition-result-list ::= Result-list
+
+Presentation-context-definition-list ::= Context-list
+
+Presentation-context-definition-result-list ::= Result-list
+
+Presentation-context-deletion-list ::=
+-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF Presentation-context-identifier
+ SEQUENCE OF Presentation-context-identifier
+
+Presentation-context-deletion-result-list ::=
+-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF
+ SEQUENCE OF
+ INTEGER {acceptance(0), user-rejection(1)}
+
+--Presentation-context-identifier ::= INTEGER(1..127, ..., 128..MAX)
+Presentation-context-identifier ::= INTEGER
+
+Presentation-context-identifier-list ::=
+-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF
+ SEQUENCE OF
+ SEQUENCE {presentation-context-identifier Presentation-context-identifier,
+ transfer-syntax-name Transfer-syntax-name}
+
+Presentation-requirements ::= BIT STRING {context-management(0), restoration(1)
+}
+
+--Presentation-selector ::= OCTET STRING(SIZE (1..4, ..., 5..MAX))
+Presentation-selector ::= OCTET STRING
+
+Protocol-options ::= BIT STRING {
+ nominated-context(0), short-encoding(1), packed-encoding-rules(2)}
+
+Protocol-version ::= BIT STRING {version-1(0)}
+
+Provider-reason ::= INTEGER {
+ reason-not-specified(0), temporary-congestion(1), local-limit-exceeded(2),
+ called-presentation-address-unknown(3), protocol-version-not-supported(4),
+ default-context-not-supported(5), user-data-not-readable(6),
+ no-PSAP-available(7)}
+
+Responding-presentation-selector ::= Presentation-selector
+
+Result ::= INTEGER {acceptance(0), user-rejection(1), provider-rejection(2)}
+
+Result-list ::=
+-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF
+ SEQUENCE OF
+ SEQUENCE {result [0] IMPLICIT Result,
+ transfer-syntax-name [1] IMPLICIT Transfer-syntax-name OPTIONAL,
+ provider-reason
+ [2] IMPLICIT INTEGER {reason-not-specified(0),
+ abstract-syntax-not-supported(1),
+ proposed-transfer-syntaxes-not-supported(2),
+ local-limit-on-DCS-exceeded(3)} OPTIONAL
+ }
+
+Transfer-syntax-name ::= OBJECT IDENTIFIER
+
+User-data ::= CHOICE {
+ simply-encoded-data [APPLICATION 0] IMPLICIT Simply-encoded-data,
+ fully-encoded-data [APPLICATION 1] IMPLICIT Fully-encoded-data,
+ ...
+}
+
+-- Subclause 8.4 defines when each of the two alternatives shall be used.
+Simply-encoded-data ::= OCTET STRING
+
+-- See 8.4.1.
+--Fully-encoded-data ::= SEQUENCE SIZE (1, ..., 2..MAX) OF PDV-list
+Fully-encoded-data ::= SEQUENCE OF PDV-list
+
+-- contains one or more PDV-list values.
+-- See 8.4.2.
+PDV-list ::= SEQUENCE {
+ transfer-syntax-name Transfer-syntax-name OPTIONAL,
+ presentation-context-identifier Presentation-context-identifier,
+ presentation-data-values
+ CHOICE {single-ASN1-type [0] ANY,
+-- [0] ABSTRACT-SYNTAX.&Type
+-- (CONSTRAINED BY {
+
+ -- Type corresponding to presentation context identifier }),
+ octet-aligned [1] IMPLICIT OCTET STRING,
+ arbitrary [2] IMPLICIT BIT STRING}
+ -- Contains one or more presentation data values from the same
+ -- presentation context.
+ -- See 8.4.2.
+}
+
+User-session-requirements ::= BIT STRING {
+ half-duplex(0), duplex(1), expedited-data(2), minor-synchronize(3),
+ major-synchronize(4), resynchronize(5), activity-management(6),
+ negotiated-release(7), capability-data(8), exceptions(9), typed-data(10),
+ symmetric-synchronize(11), data-separation(12)}
+
+END
diff --git a/epan/dissectors/asn1/pres/ISO9576-PRESENTATION.asn b/epan/dissectors/asn1/pres/ISO9576-PRESENTATION.asn
new file mode 100644
index 00000000..19e99dc3
--- /dev/null
+++ b/epan/dissectors/asn1/pres/ISO9576-PRESENTATION.asn
@@ -0,0 +1,36 @@
+-- Module ISO9576-PRESENTATION (X.236)
+ISO9576-CONNECTIONLESS-PRESENTATION DEFINITIONS ::=
+BEGIN
+
+--
+-- The value of the SS-user data parameter of the S-UNIT-DATA request and indication
+-- session-service primitives shall be a UD-type value, followed as a requestor's
+-- option by zero or more UDC-type values.
+--
+
+UD-type ::= SEQUENCE {
+ protocol-version [0] IMPLICIT Protocol-version DEFAULT {version-1},
+ calling-presentation-selector [1] IMPLICIT Calling-presentation-selector OPTIONAL,
+ called-presentation-selector [2] IMPLICIT Called-presentation-selector OPTIONAL,
+ presentation-context-definition-list [4] IMPLICIT
+ Presentation-context-definition-list OPTIONAL,
+ user-data User-data
+}
+
+-- Shall be the parameters of the UD PPDU.
+--
+-- As an initiator's option, the presentation data values contained in a UD PPDU may be
+-- encoded more than once, using UDC-type values, to allow the transfer of the same
+-- presentation data values using a number of different transfer syntaxes.
+--
+
+UDC-type ::= User-data
+-- Shall not be present if the Presentation context definition list parameter is not present
+-- in the UD PPDU. Each instance of this data type shall contain all of the presentation data
+-- values which were contained in the User data parameter of the UD PPDU.
+-- This shall be the same set of presentation data values which were contained in the UD-type.
+--
+
+-- WS: trunkated here as the rest is present in ISO8823-PRESENTATION.asn.
+
+END
diff --git a/epan/dissectors/asn1/pres/packet-pres-template.c b/epan/dissectors/asn1/pres/packet-pres-template.c
new file mode 100644
index 00000000..1b3c3fc5
--- /dev/null
+++ b/epan/dissectors/asn1/pres/packet-pres-template.c
@@ -0,0 +1,432 @@
+/* packet-pres.c
+ * Routine to dissect ISO 8823 OSI Presentation Protocol packets
+ * Based on the dissector by
+ * Yuriy Sidelnikov <YSidelnikov@hotmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/prefs.h>
+#include <epan/conversation.h>
+#include <epan/expert.h>
+#include <epan/uat.h>
+
+#include <epan/asn1.h>
+#include <epan/oids.h>
+#include "packet-ber.h"
+#include "packet-ses.h"
+#include "packet-pres.h"
+#include "packet-rtse.h"
+
+
+#define PNAME "ISO 8823 OSI Presentation Protocol"
+#define PSNAME "PRES"
+#define PFNAME "pres"
+
+#define CLPNAME "ISO 9576-1 OSI Connectionless Presentation Protocol"
+#define CLPSNAME "CLPRES"
+#define CLPFNAME "clpres"
+
+void proto_register_pres(void);
+void proto_reg_handoff_pres(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_pres = -1;
+
+/* Initialize the connectionles protocol */
+static int proto_clpres = -1;
+
+/* pointers for acse dissector */
+proto_tree *global_tree = NULL;
+packet_info *global_pinfo = NULL;
+
+static const char *abstract_syntax_name_oid;
+static guint32 presentation_context_identifier;
+
+/* to keep track of presentation context identifiers and protocol-oids */
+typedef struct _pres_ctx_oid_t {
+ guint32 ctx_id;
+ char *oid;
+ guint32 idx;
+} pres_ctx_oid_t;
+static wmem_map_t *pres_ctx_oid_table = NULL;
+
+typedef struct _pres_user_t {
+ guint ctx_id;
+ char *oid;
+} pres_user_t;
+
+static pres_user_t *pres_users;
+static guint num_pres_users;
+
+static int hf_pres_CP_type = -1;
+static int hf_pres_CPA_PPDU = -1;
+static int hf_pres_Abort_type = -1;
+static int hf_pres_CPR_PPDU = -1;
+static int hf_pres_Typed_data_type = -1;
+
+#include "packet-pres-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_pres = -1;
+
+#include "packet-pres-ett.c"
+
+static expert_field ei_pres_dissector_not_available = EI_INIT;
+static expert_field ei_pres_wrong_spdu_type = EI_INIT;
+static expert_field ei_pres_invalid_offset = EI_INIT;
+
+UAT_DEC_CB_DEF(pres_users, ctx_id, pres_user_t)
+UAT_CSTRING_CB_DEF(pres_users, oid, pres_user_t)
+
+static guint
+pres_ctx_oid_hash(gconstpointer k)
+{
+ const pres_ctx_oid_t *pco=(const pres_ctx_oid_t *)k;
+ return pco->ctx_id;
+}
+
+static gint
+pres_ctx_oid_equal(gconstpointer k1, gconstpointer k2)
+{
+ const pres_ctx_oid_t *pco1=(const pres_ctx_oid_t *)k1;
+ const pres_ctx_oid_t *pco2=(const pres_ctx_oid_t *)k2;
+ return (pco1->ctx_id==pco2->ctx_id && pco1->idx==pco2->idx);
+}
+
+static void
+register_ctx_id_and_oid(packet_info *pinfo _U_, guint32 idx, const char *oid)
+{
+ pres_ctx_oid_t *pco, *tmppco;
+ conversation_t *conversation;
+
+ if (!oid) {
+ /* we did not get any oid name, malformed packet? */
+ return;
+ }
+
+ pco=wmem_new(wmem_file_scope(), pres_ctx_oid_t);
+ pco->ctx_id=idx;
+ pco->oid=wmem_strdup(wmem_file_scope(), oid);
+ conversation=find_conversation_pinfo(pinfo, 0);
+ if (conversation) {
+ pco->idx = conversation->conv_index;
+ } else {
+ pco->idx = 0;
+ }
+
+ /* if this ctx already exists, remove the old one first */
+ tmppco=(pres_ctx_oid_t *)wmem_map_lookup(pres_ctx_oid_table, pco);
+ if (tmppco) {
+ wmem_map_remove(pres_ctx_oid_table, tmppco);
+ }
+ wmem_map_insert(pres_ctx_oid_table, pco, pco);
+}
+
+static char *
+find_oid_in_users_table(packet_info *pinfo, guint32 ctx_id)
+{
+ guint i;
+
+ for (i = 0; i < num_pres_users; i++) {
+ pres_user_t *u = &(pres_users[i]);
+
+ if (u->ctx_id == ctx_id) {
+ /* Register oid so other dissectors can find this connection */
+ register_ctx_id_and_oid(pinfo, u->ctx_id, u->oid);
+ return u->oid;
+ }
+ }
+
+ return NULL;
+}
+
+char *
+find_oid_by_pres_ctx_id(packet_info *pinfo, guint32 idx)
+{
+ pres_ctx_oid_t pco, *tmppco;
+ conversation_t *conversation;
+
+ pco.ctx_id=idx;
+ conversation=find_conversation_pinfo(pinfo, 0);
+ if (conversation) {
+ pco.idx = conversation->conv_index;
+ } else {
+ pco.idx = 0;
+ }
+
+ tmppco=(pres_ctx_oid_t *)wmem_map_lookup(pres_ctx_oid_table, &pco);
+ if (tmppco) {
+ return tmppco->oid;
+ }
+
+ return find_oid_in_users_table(pinfo, idx);
+}
+
+static void *
+pres_copy_cb(void *dest, const void *orig, size_t len _U_)
+{
+ pres_user_t *u = (pres_user_t *)dest;
+ const pres_user_t *o = (const pres_user_t *)orig;
+
+ u->ctx_id = o->ctx_id;
+ u->oid = g_strdup(o->oid);
+
+ return dest;
+}
+
+static void
+pres_free_cb(void *r)
+{
+ pres_user_t *u = (pres_user_t *)r;
+
+ g_free(u->oid);
+}
+
+
+#include "packet-pres-fn.c"
+
+
+/*
+ * Dissect an PPDU.
+ */
+static int
+dissect_ppdu(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, struct SESSION_DATA_STRUCTURE* local_session)
+{
+ proto_item *ti;
+ proto_tree *pres_tree;
+ struct SESSION_DATA_STRUCTURE* session;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* do we have spdu type from the session dissector? */
+ if (local_session == NULL) {
+ proto_tree_add_expert(tree, pinfo, &ei_pres_wrong_spdu_type, tvb, offset, -1);
+ return 0;
+ }
+
+ session = local_session;
+ if (session->spdu_type == 0) {
+ proto_tree_add_expert_format(tree, pinfo, &ei_pres_wrong_spdu_type, tvb, offset, -1,
+ "Internal error:wrong spdu type %x from session dissector.",session->spdu_type);
+ return 0;
+ }
+
+ /* set up type of PPDU */
+ col_add_str(pinfo->cinfo, COL_INFO,
+ val_to_str_ext(session->spdu_type, &ses_vals_ext, "Unknown PPDU type (0x%02x)"));
+
+ asn1_ctx.private_data = session;
+
+ ti = proto_tree_add_item(tree, proto_pres, tvb, offset, -1, ENC_NA);
+ pres_tree = proto_item_add_subtree(ti, ett_pres);
+
+ switch (session->spdu_type) {
+ case SES_CONNECTION_REQUEST:
+ offset = dissect_pres_CP_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_CP_type);
+ break;
+ case SES_CONNECTION_ACCEPT:
+ offset = dissect_pres_CPA_PPDU(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_CPA_PPDU);
+ break;
+ case SES_ABORT:
+ case SES_ABORT_ACCEPT:
+ offset = dissect_pres_Abort_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_Abort_type);
+ break;
+ case SES_DATA_TRANSFER:
+ offset = dissect_pres_CPC_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_user_data);
+ break;
+ case SES_TYPED_DATA:
+ offset = dissect_pres_Typed_data_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_Typed_data_type);
+ break;
+ case SES_RESYNCHRONIZE:
+ offset = dissect_pres_RS_PPDU(FALSE, tvb, offset, &asn1_ctx, pres_tree, -1);
+ break;
+ case SES_RESYNCHRONIZE_ACK:
+ offset = dissect_pres_RSA_PPDU(FALSE, tvb, offset, &asn1_ctx, pres_tree, -1);
+ break;
+ case SES_REFUSE:
+ offset = dissect_pres_CPR_PPDU(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_CPR_PPDU);
+ break;
+ default:
+ offset = dissect_pres_CPC_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_user_data);
+ break;
+ }
+
+ return offset;
+}
+
+static int
+dissect_pres(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ int offset = 0, old_offset;
+ struct SESSION_DATA_STRUCTURE* session;
+
+ session = ((struct SESSION_DATA_STRUCTURE*)data);
+
+ /* first, try to check length */
+ /* do we have at least 4 bytes */
+ if (!tvb_bytes_exist(tvb, 0, 4)) {
+ if (session && session->spdu_type != SES_MAJOR_SYNC_POINT) {
+ proto_tree_add_item(parent_tree, hf_pres_user_data, tvb, offset,
+ tvb_reported_length_remaining(tvb,offset), ENC_NA);
+ return 0; /* no, it isn't a presentation PDU */
+ }
+ }
+
+ /* save pointers for calling the acse dissector */
+ global_tree = parent_tree;
+ global_pinfo = pinfo;
+
+ /* if the session unit-data packet then we process it */
+ /* as a connectionless presentation protocol unit data */
+ if (session && session->spdu_type == CLSES_UNIT_DATA) {
+ proto_tree * clpres_tree = NULL;
+ proto_item *ti;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "CL-PRES");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ if (parent_tree) {
+ ti = proto_tree_add_item(parent_tree, proto_clpres, tvb, offset, -1, ENC_NA);
+ clpres_tree = proto_item_add_subtree(ti, ett_pres);
+ }
+
+ /* dissect the packet */
+ dissect_UD_type_PDU(tvb, pinfo, clpres_tree, NULL);
+ return tvb_captured_length(tvb);
+ }
+
+ /* we can't make any additional checking here */
+ /* postpone it before dissector will have more information */
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "PRES");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ if (session && session->spdu_type == SES_MAJOR_SYNC_POINT) {
+ /* This is a reassembly initiated in packet-ses */
+ char *oid = find_oid_by_pres_ctx_id (pinfo, session->pres_ctx_id);
+ if (oid) {
+ call_ber_oid_callback (oid, tvb, offset, pinfo, parent_tree, session);
+ } else {
+ proto_tree_add_item(parent_tree, hf_pres_user_data, tvb, offset,
+ tvb_reported_length_remaining(tvb,offset), ENC_NA);
+ }
+ return tvb_captured_length(tvb);
+ }
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0) {
+ old_offset = offset;
+ offset = dissect_ppdu(tvb, offset, pinfo, parent_tree, session);
+ if (offset <= old_offset) {
+ proto_tree_add_expert(parent_tree, pinfo, &ei_pres_invalid_offset, tvb, offset, -1);
+ break;
+ }
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+
+/*--- proto_register_pres -------------------------------------------*/
+void proto_register_pres(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_pres_CP_type,
+ { "CP-type", "pres.cptype",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_pres_CPA_PPDU,
+ { "CPA-PPDU", "pres.cpapdu",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_pres_Abort_type,
+ { "Abort type", "pres.aborttype",
+ FT_UINT32, BASE_DEC, VALS(pres_Abort_type_vals), 0,
+ NULL, HFILL }},
+ { &hf_pres_CPR_PPDU,
+ { "CPR-PPDU", "pres.cprtype",
+ FT_UINT32, BASE_DEC, VALS(pres_CPR_PPDU_vals), 0,
+ NULL, HFILL }},
+ { &hf_pres_Typed_data_type,
+ { "Typed data type", "pres.Typed_data_type",
+ FT_UINT32, BASE_DEC, VALS(pres_Typed_data_type_vals), 0,
+ NULL, HFILL }},
+
+#include "packet-pres-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_pres,
+#include "packet-pres-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_pres_dissector_not_available, { "pres.dissector_not_available", PI_UNDECODED, PI_WARN, "Dissector is not available", EXPFILL }},
+ { &ei_pres_wrong_spdu_type, { "pres.wrong_spdu_type", PI_PROTOCOL, PI_WARN, "Internal error:can't get spdu type from session dissector", EXPFILL }},
+ { &ei_pres_invalid_offset, { "pres.invalid_offset", PI_MALFORMED, PI_ERROR, "Internal error:can't get spdu type from session dissector", EXPFILL }},
+ };
+
+ static uat_field_t users_flds[] = {
+ UAT_FLD_DEC(pres_users,ctx_id,"Context Id","Presentation Context Identifier"),
+ UAT_FLD_CSTRING(pres_users,oid,"Syntax Name OID","Abstract Syntax Name (Object Identifier)"),
+ UAT_END_FIELDS
+ };
+
+ uat_t* users_uat = uat_new("PRES Users Context List",
+ sizeof(pres_user_t),
+ "pres_context_list",
+ TRUE,
+ &pres_users,
+ &num_pres_users,
+ UAT_AFFECTS_DISSECTION, /* affects dissection of packets, but not set of named fields */
+ "ChPresContextList",
+ pres_copy_cb,
+ NULL,
+ pres_free_cb,
+ NULL,
+ NULL,
+ users_flds);
+
+ expert_module_t* expert_pres;
+ module_t *pres_module;
+
+ /* Register protocol */
+ proto_pres = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("pres", dissect_pres, proto_pres);
+
+ /* Register connectionless protocol (just for the description) */
+ proto_clpres = proto_register_protocol(CLPNAME, CLPSNAME, CLPFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_pres, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_pres = expert_register_protocol(proto_pres);
+ expert_register_field_array(expert_pres, ei, array_length(ei));
+ pres_ctx_oid_table = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), pres_ctx_oid_hash, pres_ctx_oid_equal);
+
+ pres_module = prefs_register_protocol(proto_pres, NULL);
+
+ prefs_register_uat_preference(pres_module, "users_table", "Users Context List",
+ "A table that enumerates user protocols to be used against"
+ " specific presentation context identifiers",
+ users_uat);
+}
+
+
+/*--- proto_reg_handoff_pres ---------------------------------------*/
+void proto_reg_handoff_pres(void) {
+
+/* register_ber_oid_dissector("0.4.0.0.1.1.1.1", dissect_pres, proto_pres,
+ "itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) abstractSyntax(1) pres(1) version1(1)"); */
+
+}
diff --git a/epan/dissectors/asn1/pres/packet-pres-template.h b/epan/dissectors/asn1/pres/packet-pres-template.h
new file mode 100644
index 00000000..b7dd7ac9
--- /dev/null
+++ b/epan/dissectors/asn1/pres/packet-pres-template.h
@@ -0,0 +1,18 @@
+/* packet-pres.h
+ * Routines for pres packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_PRES_H
+#define PACKET_PRES_H
+
+/*#include "packet-pres-exp.h"*/
+
+extern char *find_oid_by_pres_ctx_id(packet_info *pinfo, guint32 idx);
+
+#endif /* PACKET_PRES_H */
diff --git a/epan/dissectors/asn1/pres/pres.cnf b/epan/dissectors/asn1/pres/pres.cnf
new file mode 100644
index 00000000..fecdf0a8
--- /dev/null
+++ b/epan/dissectors/asn1/pres/pres.cnf
@@ -0,0 +1,101 @@
+# pres.cnf
+# pres conformation file
+
+#.IMPORT ../rtse/rtse-exp.cnf
+
+#.EXPORTS
+
+#.PDU
+UD-type
+
+#.NO_EMIT
+UDC-type
+
+#.TYPE_RENAME
+CPA-PPDU/normal-mode-parameters T_CPA_PPDU_normal_mode_parameters
+CPR-PPDU/normal-mode-parameters T_CPR_PPDU_normal_mode_parameters
+ARU-PPDU/normal-mode-parameters T_ARU_PPDU_normal_mode_parameters
+
+#.FIELD_RENAME
+ARU-PPDU/normal-mode-parameters aRU_PPDU_normal_mode_parameters
+CPA-PPDU/normal-mode-parameters cPU_PPDU_normal_mode_parameters
+CPR-PPDU/normal-mode-parameters cPR_PPDU_normal_mode_parameters
+
+ARU-PPDU/x400-mode-parameters aRU_PPDU_x400_mode_parameters
+CPR-PPDU/x400-mode-parameters cPU_PPDU_x400_mode_parameters
+CPA-PPDU/x410-mode-parameters cPR_PPDU_x400_mode_parameters
+
+ARP-PPDU/provider-reason aRU_PPDU_provider-reason
+CPR-PPDU/normal-mode-parameters/provider-reason cPR_PPDU__provider-reason
+
+
+
+
+#.FN_BODY PDV-list/presentation-data-values/single-ASN1-type
+
+ tvbuff_t *next_tvb;
+ char *oid;
+
+ oid=find_oid_by_pres_ctx_id(actx->pinfo, presentation_context_identifier);
+ if(oid){
+ next_tvb = tvb_new_subset_remaining(tvb, offset);
+ call_ber_oid_callback(oid, next_tvb, offset, actx->pinfo, global_tree, actx->private_data);
+ } else {
+ proto_tree_add_expert(tree, actx->pinfo, &ei_pres_dissector_not_available,
+ tvb, offset, -1);
+ }
+
+#.FN_BODY PDV-list/presentation-data-values/octet-aligned
+
+ tvbuff_t *next_tvb;
+ char *oid;
+
+ oid=find_oid_by_pres_ctx_id(actx->pinfo, presentation_context_identifier);
+ if(oid){
+ dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &next_tvb);
+ call_ber_oid_callback(oid, next_tvb, offset, actx->pinfo, global_tree, actx->private_data);
+ } else {
+ proto_tree_add_expert(tree, actx->pinfo, &ei_pres_dissector_not_available,
+ tvb, offset, -1);
+ %(DEFAULT_BODY)s
+ }
+
+
+#.FN_PARS Abstract-syntax-name
+ FN_VARIANT = _str VAL_PTR = &abstract_syntax_name_oid
+
+#.FN_PARS Presentation-context-identifier
+ VAL_PTR = &presentation_context_identifier
+
+#.FN_BODY Presentation-context-identifier
+ const char *name;
+ char *oid;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+
+ %(DEFAULT_BODY)s
+
+ if(session)
+ session->pres_ctx_id = presentation_context_identifier;
+
+ oid = find_oid_by_pres_ctx_id(actx->pinfo, presentation_context_identifier);
+
+ if(oid && (name = oid_resolved_from_string(actx->pinfo->pool, oid))) {
+ proto_item_append_text(actx->created_item, " (%%s)", name);
+ }
+
+#.FN_PARS Abort-reason
+ VAL_PTR = &reason
+
+#.FN_BODY Abort-reason
+ guint32 reason;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(reason, pres_Abort_reason_vals, "unknown: %%d"));
+
+#.FN_HDR Context-list/_item
+ abstract_syntax_name_oid=NULL;
+#.END
+#.FN_FTR Context-list/_item
+ register_ctx_id_and_oid(actx->pinfo, presentation_context_identifier, abstract_syntax_name_oid);
+#.END
diff --git a/epan/dissectors/asn1/q932-ros/CMakeLists.txt b/epan/dissectors/asn1/q932-ros/CMakeLists.txt
new file mode 100644
index 00000000..5fe60733
--- /dev/null
+++ b/epan/dissectors/asn1/q932-ros/CMakeLists.txt
@@ -0,0 +1,42 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME q932-ros )
+
+set( PROTO_OPT -p q932.ros )
+
+set( EXT_ASN_FILE_LIST
+ ../ros/Remote-Operations-Information-Objects.asn
+)
+
+set( ASN_FILE_LIST
+ Facility-Information-Element-Components.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ ../ros/ros-inv.cnf
+ ../ros/ros-res.cnf
+ ../ros/ros-err.cnf
+ ../ros/ros-rej.cnf
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/q932-ros/Facility-Information-Element-Components.asn b/epan/dissectors/asn1/q932-ros/Facility-Information-Element-Components.asn
new file mode 100644
index 00000000..71c1adcd
--- /dev/null
+++ b/epan/dissectors/asn1/q932-ros/Facility-Information-Element-Components.asn
@@ -0,0 +1,163 @@
+-- Facility-Information-Element-Components.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/q/q932/1998-Amd1/Facility-Information-Element-Components.asn
+--
+
+-- Module Facility-Information-Element-Components (Q.932:05/1998)
+Facility-Information-Element-Components {itu-t recommendation q 932
+ facility-information-element-component(3)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- exports everything
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
+ CHOICE {
+ invoke [1] Invoke{{InvokeIdSet}, {Invokable}},
+ returnResult [2] ReturnResult{{Returnable}},
+ returnError [3] ReturnError{{Errors {{Returnable}}}},
+ reject [4] Reject
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-unrecognizedPDU)
+
+Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
+ invokeId
+ InvokeId(InvokeIdSet)
+ (CONSTRAINED BY {-- must be unambiguous -- } !
+ RejectProblem:invoke-duplicateInvocation),
+ linkedId
+ CHOICE {present [0] IMPLICIT present < InvokeId,
+ absent [1] IMPLICIT NULL
+ }
+ (CONSTRAINED BY { -- must identify an outstanding operation --} !
+ RejectProblem:invoke-unrecognizedLinkedId)
+ (CONSTRAINED BY { -- which has one or more linked operations--} !
+ RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
+ opcode
+ OPERATION.&operationCode
+ ({Operations} !RejectProblem:invoke-unrecognizedOperation),
+ argument
+ OPERATION.&ArgumentType
+ ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+(WITH COMPONENTS {
+ ...,
+ linkedId ABSENT
+ } |
+ WITH COMPONENTS {
+ ...,
+ linkedId PRESENT,
+ opcode (CONSTRAINED BY { -- must be in the &Linked field of the associated operation --
+ } !RejectProblem:invoke-unexpectedLinkedOperation)
+ })
+
+ReturnResult{OPERATION:Operations} ::= SEQUENCE {
+ invokeId
+ InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+ RejectProblem:returnResult-unrecognizedInvocation)
+ (CONSTRAINED BY {--which returns a result -- } !
+ RejectProblem:returnResult-resultResponseUnexpected),
+ result
+ SEQUENCE {opcode
+ OPERATION.&operationCode
+ ({Operations} !
+ RejectProblem:returnResult-unrecognizedInvocation),
+ result
+ OPERATION.&ResultType
+ ({Operations}{@.opcode} !
+ RejectProblem:returnResult-mistypedResult)} OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+ReturnError{ERROR:Errors} ::= SEQUENCE {
+ invokeId
+ InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+ RejectProblem:returnError-unrecognizedInvocation)
+ (CONSTRAINED BY {-- which returns an error -- } !
+ RejectProblem:returnError-errorResponseUnexpected),
+ errcode
+ ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
+ (CONSTRAINED BY {--must be in the &Errors field of the associated operation --
+ } !RejectProblem:returnError-unexpectedError),
+ parameter
+ ERROR.&ParameterType
+ ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
+ OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+Reject ::= SEQUENCE {
+ invokeId InvokeId,
+ problem
+ CHOICE {general [0] GeneralProblem,
+ invoke [1] InvokeProblem,
+ returnResult [2] ReturnResultProblem,
+ returnError [3] ReturnErrorProblem}
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+GeneralProblem ::= INTEGER {
+ unrecognizedComponent(0), mistypedComponent(1), badlyStructuredComponent(2)
+}
+
+InvokeProblem ::= INTEGER {
+ duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
+ resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
+ linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
+
+ReturnResultProblem ::= INTEGER {
+ unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
+}
+
+ReturnErrorProblem ::= INTEGER {
+ unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
+ unexpectedError(3), mistypedParameter(4)}
+
+RejectProblem ::= INTEGER {
+ general-unrecognizedPDU(0), general-mistypedPDU(1),
+ general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
+ invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
+ invoke-resourceLimitation(13), invoke-releaseInProgress(14),
+ invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
+ invoke-unexpectedLinkedOperation(17),
+ returnResult-unrecognizedInvocation(20),
+ returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
+ returnError-unrecognizedInvocation(30),
+ returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
+ returnError-unexpectedError(33), returnError-mistypedParameter(34)}
+
+InvokeId ::= CHOICE {present INTEGER,
+ absent NULL
+}
+
+noInvokeId InvokeId ::= absent:NULL
+
+NoInvokeId InvokeId ::= {noInvokeId}
+
+Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
+
+-- the Range of the Invoke-Id's must be restricted to -32768..32767
+Components{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
+ gfpROS ROS{{GFPInvokeIDSet}, {Invokable}, {Returnable}}
+}
+
+GFPInvokeIDSet ::= InvokeId(WITH COMPONENTS {
+ present (-32768..32767)
+ })
+
+END -- end of generic ROS PDU definitions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/q932-ros/packet-q932-ros-template.c b/epan/dissectors/asn1/q932-ros/packet-q932-ros-template.c
new file mode 100644
index 00000000..e8074eea
--- /dev/null
+++ b/epan/dissectors/asn1/q932-ros/packet-q932-ros-template.c
@@ -0,0 +1,99 @@
+/* packet-q932-ros.c
+ * Routines for Q.932 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+
+#include "packet-ber.h"
+
+#define PNAME "Q.932 Operations Service Element"
+#define PSNAME "Q932.ROS"
+#define PFNAME "q932.ros"
+
+void proto_register_q932_ros(void);
+void proto_reg_handoff_q932_ros(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_q932_ros = -1;
+#include "packet-q932-ros-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-q932-ros-ett.c"
+
+static expert_field ei_ros_undecoded = EI_INIT;
+
+/* Preferences */
+
+/* Subdissectors */
+static dissector_handle_t data_handle = NULL;
+
+/* Global variables */
+static rose_ctx_t *rose_ctx_tmp;
+
+static guint32 problem_val;
+static gchar problem_str[64];
+static tvbuff_t *arg_next_tvb, *res_next_tvb, *err_next_tvb;
+
+
+#include "packet-q932-ros-fn.c"
+
+/*--- dissect_q932_ros -----------------------------------------------------*/
+static int dissect_q932_ros(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rose_ctx_tmp = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rose_ctx_tmp);
+ return dissect_ROS_PDU(tvb, pinfo, tree, NULL);
+}
+
+/*--- proto_register_q932_ros -----------------------------------------------*/
+void proto_register_q932_ros(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-q932-ros-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-q932-ros-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_ros_undecoded, { "q932.ros.undecoded", PI_UNDECODED, PI_WARN, "Undecoded", EXPFILL }},
+ };
+
+ expert_module_t* expert_q932_ros;
+
+ /* Register protocol and dissector */
+ proto_q932_ros = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ proto_set_cant_toggle(proto_q932_ros);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_q932_ros, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_q932_ros = expert_register_protocol(proto_q932_ros);
+ expert_register_field_array(expert_q932_ros, ei, array_length(ei));
+
+ register_dissector(PFNAME, dissect_q932_ros, proto_q932_ros);
+}
+
+/*--- proto_reg_handoff_q932_ros --------------------------------------------*/
+void proto_reg_handoff_q932_ros(void) {
+ data_handle = find_dissector("data");
+}
+
+/*---------------------------------------------------------------------------*/
diff --git a/epan/dissectors/asn1/q932-ros/q932-ros.cnf b/epan/dissectors/asn1/q932-ros/q932-ros.cnf
new file mode 100644
index 00000000..1bc11692
--- /dev/null
+++ b/epan/dissectors/asn1/q932-ros/q932-ros.cnf
@@ -0,0 +1,120 @@
+#.PDU
+
+ROS
+
+#.OMIT_ASSIGNMENT
+
+Priority
+RejectProblem
+Components
+GFPInvokeIDSet
+
+#.TYPE_RENAME
+
+Invoke/argument InvokeArgument
+ReturnResult/result/result ResultArgument
+
+#.FIELD_RENAME
+
+Invoke/linkedId/present linkedIdPresent
+
+Reject/problem/invoke invokeProblem
+Reject/problem/returnError returnErrorProblem
+Reject/problem/returnResult returnResultProblem
+
+ReturnResult/result/result resultArgument
+
+#--- ROS ---
+
+#.FN_HDR ROS
+ /* will be moved to ROS_PDU when PDU function can be alternated from conformance file */
+ actx->rose_ctx = rose_ctx_tmp;
+ rose_ctx_clean_data(actx->rose_ctx);
+#.END
+
+#--- Code ---
+
+#.FN_PARS
+Code VAL_PTR = &%(ACTX)s->rose_ctx->d.code
+Code/local VAL_PTR = &%(ACTX)s->rose_ctx->d.code_local
+Code/global FN_VARIANT = _str VAL_PTR = &%(ACTX)s->rose_ctx->d.code_global
+#.FN_FTR Code
+ actx->rose_ctx->d.code_item = actx->created_item;
+#.END
+
+#--- Problem ---
+
+#.FN_PARS
+GeneralProblem VAL_PTR = &problem_val
+InvokeProblem VAL_PTR = &problem_val
+ReturnResultProblem VAL_PTR = &problem_val
+ReturnErrorProblem VAL_PTR = &problem_val
+#.FN_FTR GeneralProblem
+ (void) g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(q932_ros_GeneralProblem_vals), ""), 64);
+#.FN_FTR InvokeProblem
+ (void) g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(q932_ros_InvokeProblem_vals), ""), 64);
+#.FN_FTR ReturnResultProblem
+ (void) g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(q932_ros_ReturnResultProblem_vals), ""), 64);
+#.FN_FTR ReturnErrorProblem
+ (void) g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(q932_ros_ReturnErrorProblem_vals), ""), 64);
+#.END
+
+#--- INVOKE ---
+
+#.FIELD_ATTR
+Invoke/argument TYPE = FT_BYTES DISPLAY = BASE_NONE
+
+#.FN_BODY Invoke/argument
+ gint len;
+
+ len = tvb_reported_length_remaining(tvb, offset);
+ if (len)
+ proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA);
+ arg_next_tvb = tvb_new_subset_remaining(tvb, offset);
+
+ offset += tvb_reported_length_remaining(tvb, offset);
+#.END
+
+#.INCLUDE ../ros/ros-inv.cnf
+
+#--- RETURN RESULT ---
+
+#.FIELD_ATTR
+ReturnResult/result/result TYPE = FT_BYTES DISPLAY = BASE_NONE
+
+#.FN_BODY ReturnResult/result/result
+ gint len;
+
+ len = tvb_reported_length_remaining(tvb, offset);
+ if (len)
+ proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA);
+ res_next_tvb = tvb_new_subset_remaining(tvb, offset);
+
+ offset += tvb_reported_length_remaining(tvb, offset);
+
+#.END
+
+#.INCLUDE ../ros/ros-res.cnf
+
+#--- RETURN ERROR ---
+
+#.FIELD_ATTR
+ReturnError/parameter TYPE = FT_BYTES DISPLAY = BASE_NONE
+
+#.FN_BODY ReturnError/parameter
+
+ gint len;
+
+ len = tvb_reported_length_remaining(tvb, offset);
+ if (len)
+ proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA);
+ err_next_tvb = tvb_new_subset_remaining(tvb, offset);
+
+ offset += tvb_reported_length_remaining(tvb, offset);
+#.END
+
+#.INCLUDE ../ros/ros-err.cnf
+
+#--- REJECT ---
+
+#.INCLUDE ../ros/ros-rej.cnf
diff --git a/epan/dissectors/asn1/q932/Addressing-Data-Elements.asn b/epan/dissectors/asn1/q932/Addressing-Data-Elements.asn
new file mode 100644
index 00000000..f5903945
--- /dev/null
+++ b/epan/dissectors/asn1/q932/Addressing-Data-Elements.asn
@@ -0,0 +1,157 @@
+-- Addressing-Data-Elements.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/q/q932/1998-Amd1/Addressing-Data-Elements.asn
+--
+
+-- Module Addressing-Data-Elements (Q.932:05/1998)
+Addressing-Data-Elements {itu-t recommendation q 932
+ addressing-data-elements(7)} DEFINITIONS EXPLICIT TAGS ::=
+BEGIN
+
+EXPORTS
+ PresentedAddressScreened, PresentedAddressUnscreened,
+ PresentedNumberScreened, PresentedNumberUnscreened, Address, PartyNumber,
+ PartySubaddress, ScreeningIndicator, PresentationAllowedIndicator;
+
+PresentedAddressScreened ::= CHOICE {
+ presentationAlIowedAddress [0] IMPLICIT AddressScreened,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueTolnterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddress [3] IMPLICIT AddressScreened
+}
+
+PresentedAddressUnscreened ::= CHOICE {
+ presentationAllowedAddress [0] IMPLICIT Address,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueTolnterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddress [3] IMPLICIT Address
+}
+
+PresentedNumberScreened ::= CHOICE {
+ presentationAllowedNumber [0] IMPLICIT NumberScreened,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedNumber [3] IMPLICIT NumberScreened
+}
+
+PresentedNumberUnscreened ::= CHOICE {
+ presentationAllowedNumber [0] PartyNumber,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedNumber [3] PartyNumber
+}
+
+AddressScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeninglndicator ScreeningIndicator,
+ partySubaddress PartySubaddress OPTIONAL
+}
+
+NumberScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator
+}
+
+Address ::= SEQUENCE {
+ partyNumber PartyNumber,
+ partySubaddress PartySubaddress OPTIONAL
+}
+
+PartyNumber ::= CHOICE {
+ unknownPartyNumber [0] IMPLICIT NumberDigits,
+ -- the numbering plan is the default numbering plan
+ -- of the network. It is recommended that this value
+ -- is used.
+ publicPartyNumber [1] IMPLICIT PublicPartyNumber,
+ -- the numbering plan is according to ITU-T
+ -- Recommendation E.164.
+ nsapEncodedNumber [2] IMPLICIT NsapEncodedNumber,
+ -- ATM endsystem address encoded as an NSAP address.
+ dataPartyNumber [3] IMPLICIT NumberDigits,
+ -- not used, value reserved.
+ telexPartyNumber [4] IMPLICIT NumberDigits,
+ -- not used, value reserved.
+ privatePartyNumber [5] IMPLICIT PrivatePartyNumber,
+ nationalStandardPartyNumber [8] IMPLICIT NumberDigits
+}
+
+-- not used, value reserved.
+NsapEncodedNumber ::= OCTET STRING(SIZE (20))
+
+PublicPartyNumber ::= SEQUENCE {
+ publicTypeOfNumber PublicTypeOfNumber,
+ publicNumberDigits NumberDigits
+}
+
+PrivatePartyNumber ::= SEQUENCE {
+ privateTypeOfNumber PrivateTypeOfNumber,
+ privateNumberDigits NumberDigits
+}
+
+NumberDigits ::= NumericString(SIZE (1..20))
+
+PublicTypeOfNumber ::= ENUMERATED {
+ unknown(0),
+ -- if used number digits carry prefix indicating type
+ -- of number according to national
+ -- recommendations
+ internationalNumber(1), nationalNumber(2),
+ networkSpecificNumber(3),
+ -- not used, value reserved
+ subscriberNumber(4), abbreviatedNumber(6)}
+
+-- valid only for called party number at the
+-- outgoing access, network substitutes
+-- appropriate number
+PrivateTypeOfNumber ::= ENUMERATED {
+ unknown(0), level2RegionalNumber(1), level1RegionalNumber(2),
+ pTNSpecificNumber(3), localNumber(4), abbreviatedNumber(6)}
+
+PartySubaddress ::= CHOICE {
+ userSpecifiedSubaddress UserSpecifiedSubaddress,
+ -- not recommended
+ nSAPSubaddress NSAPSubaddress
+}
+
+-- according to ITU-T Recommendation X.213
+UserSpecifiedSubaddress ::= SEQUENCE {
+ subaddressInformation SubaddressInformation,
+ oddCountIndicator BOOLEAN OPTIONAL
+}
+
+-- used when the coding of subaddress is BCD
+NSAPSubaddress ::= OCTET STRING(SIZE (1..20))
+
+-- specified according to ITU-T Recommendation X.213. Some networks
+-- may limit the subaddress value to some other
+-- length, e.g. 4 octets
+SubaddressInformation ::= OCTET STRING(SIZE (1..20))
+
+-- coded according to user requirements. Some
+-- networks may limit the subaddress value to some
+-- other length, e.g. 4 octets
+ScreeningIndicator ::= ENUMERATED {
+ userProvidedNotScreened(0),
+ -- number was provided by a remote user terminal
+ -- equipment, and has been screened by a
+ -- network that is not the local public or local
+ -- private network.
+ userProvidedVerifiedAndPassed(1),
+ -- number was provided by a remote user terminal
+ -- equipment (or by a remote private network), and
+ -- has been screened by the local public or local
+ -- private network.
+ userProvidedVerifiedAndFailed(2),
+ -- not used, value reserved
+ networkProvided(3)}
+
+-- number was provided by local
+-- public or local
+-- private network
+PresentationAllowedIndicator ::= BOOLEAN
+
+END -- of addressing data elements
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/q932/CMakeLists.txt b/epan/dissectors/asn1/q932/CMakeLists.txt
new file mode 100644
index 00000000..c2d7961c
--- /dev/null
+++ b/epan/dissectors/asn1/q932/CMakeLists.txt
@@ -0,0 +1,42 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME q932 )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ Addressing-Data-Elements.asn
+ Network-Facility-Extension.asn
+ Network-Protocol-Profile-component.asn
+ Interpretation-component.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/q932/Interpretation-component.asn b/epan/dissectors/asn1/q932/Interpretation-component.asn
new file mode 100644
index 00000000..ebc96763
--- /dev/null
+++ b/epan/dissectors/asn1/q932/Interpretation-component.asn
@@ -0,0 +1,24 @@
+-- Interpretation-component.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/q/q932/1998-Amd1/Interpretation-component.asn
+--
+
+-- Module Interpretation-component (Q.932:05/1998)
+Interpretation-component {iso(1) standard(0) pss1-generic-procedures(11582)
+ interpretation-component(3)} DEFINITIONS ::=
+BEGIN
+
+EXPORTS InterpretationComponent;
+
+InterpretationComponent ::= [11] IMPLICIT ENUMERATED {
+ discardAnyUnrecognisedInvokePdu(0), clearCallIfAnyInvokePduNotRecognised(1),
+ rejectAnyUnrecognisedInvokePdu(2)
+ -- this coding is implied by the absence of an
+ -- Interpretation Component.
+ }
+
+END -- component
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/q932/Network-Facility-Extension.asn b/epan/dissectors/asn1/q932/Network-Facility-Extension.asn
new file mode 100644
index 00000000..eb1a007d
--- /dev/null
+++ b/epan/dissectors/asn1/q932/Network-Facility-Extension.asn
@@ -0,0 +1,33 @@
+-- Network-Facility-Extension.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/q/q932/1998-Amd1/Network-Facility-Extension.asn
+--
+
+-- Module Network-Facility-Extension (Q.932:05/1998)
+Network-Facility-Extension {iso(1) standard(0) pss1-generic-procedures(11582)
+ network-facility-extension(2)} DEFINITIONS ::=
+BEGIN
+
+EXPORTS NetworkFacilityExtension;
+
+IMPORTS
+ PartyNumber
+ FROM Addressing-Data-Elements {itu-t recommendation q 932
+ addressing-data-elements(7)};
+
+NetworkFacilityExtension ::= [10] IMPLICIT SEQUENCE {
+ sourceEntity [0] IMPLICIT EntityType,
+ sourceEntityAddress [1] AddressInformation OPTIONAL,
+ destinationEntity [2] IMPLICIT EntityType,
+ destinationEntityAddress [3] AddressInformation OPTIONAL
+}
+
+EntityType ::= ENUMERATED {endPINX(0), anyTypeOfPINX(1)}
+
+AddressInformation ::= PartyNumber
+
+END -- of Network Facility Extension
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/q932/Network-Protocol-Profile-component.asn b/epan/dissectors/asn1/q932/Network-Protocol-Profile-component.asn
new file mode 100644
index 00000000..6364214d
--- /dev/null
+++ b/epan/dissectors/asn1/q932/Network-Protocol-Profile-component.asn
@@ -0,0 +1,20 @@
+-- Network-Protocol-Profile-component.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/q/q932/1998-Amd1/Network-Protocol-Profile-component.asn
+--
+
+-- Module Network-Protocol-Profile-component (Q.932:05/1998)
+Network-Protocol-Profile-component {iso(1) standard(0)
+ pss1-generic-procedures(11582) network-protocol-profile-component(8)}
+DEFINITIONS ::=
+BEGIN
+
+EXPORTS NetworkProtocolProfile;
+
+NetworkProtocolProfile ::= [18] IMPLICIT INTEGER {acse(19), dse(32)}(0..254)
+
+END -- of Network-Protocol-Profile-component
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/q932/packet-q932-template.c b/epan/dissectors/asn1/q932/packet-q932-template.c
new file mode 100644
index 00000000..cecbfabb
--- /dev/null
+++ b/epan/dissectors/asn1/q932/packet-q932-template.c
@@ -0,0 +1,389 @@
+/* packet-q932.c
+ * Routines for Q.932 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+
+#include "packet-ber.h"
+#include "packet-q932.h"
+
+#define PNAME "Q.932"
+#define PSNAME "Q932"
+#define PFNAME "q932"
+
+void proto_register_q932(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_q932 = -1;
+static int hf_q932_ie_type = -1;
+static int hf_q932_ie_len = -1;
+static int hf_q932_ie_data = -1;
+static int hf_q932_pp = -1;
+static int hf_q932_nd = -1;
+#include "packet-q932-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_q932 = -1;
+static gint ett_q932_ie = -1;
+#include "packet-q932-ett.c"
+
+static expert_field ei_q932_dse_not_supported = EI_INIT;
+static expert_field ei_q932_acse_not_supported = EI_INIT;
+static expert_field ei_q932_unknown_component = EI_INIT;
+static expert_field ei_q932_asn1_encoded = EI_INIT;
+
+
+/* Preferences */
+
+/* ROSE context */
+static rose_ctx_t q932_rose_ctx;
+
+dissector_table_t qsig_arg_local_dissector_table;
+dissector_table_t qsig_res_local_dissector_table;
+dissector_table_t qsig_err_local_dissector_table;
+
+dissector_table_t etsi_arg_local_dissector_table;
+dissector_table_t etsi_res_local_dissector_table;
+dissector_table_t etsi_err_local_dissector_table;
+
+#define FACILITY_QSIG 0
+#define FACILITY_ETSI 1
+static gint g_facility_encoding = FACILITY_QSIG;
+
+void proto_reg_handoff_q932(void);
+
+static dissector_handle_t q932_ie_handle;
+
+/* Subdissectors */
+static dissector_handle_t q932_ros_handle;
+
+#define Q932_IE_EXTENDED_FACILITY 0x0D
+#define Q932_IE_FACILITY 0x1C
+#define Q932_IE_NOTIFICATION_INDICATOR 0x27
+#define Q932_IE_INFORMATION_REQUEST 0x32
+#define Q932_IE_FEATURE_ACTIVATION 0x38
+#define Q932_IE_FEATURE_INDICATION 0x39
+#define Q932_IE_SERVICE_PROFILE_ID 0x3A
+#define Q932_IE_ENDPOINT_IDENTIFIER 0x3B
+static const value_string q932_str_ie_type[] = {
+ { Q932_IE_EXTENDED_FACILITY , "Extended facility" },
+ { Q932_IE_FACILITY , "Facility" },
+ { Q932_IE_NOTIFICATION_INDICATOR, "Notification indicator" },
+ { Q932_IE_INFORMATION_REQUEST, "Information request" },
+ { Q932_IE_FEATURE_ACTIVATION , "Feature activation" },
+ { Q932_IE_FEATURE_INDICATION , "Feature indication" },
+ { Q932_IE_SERVICE_PROFILE_ID , "Service profile identification" },
+ { Q932_IE_ENDPOINT_IDENTIFIER, "Endpoint identifier" },
+ { 0, NULL}
+};
+
+static const value_string str_pp[] = {
+ { 0x11 , "Remote Operations Protocol" },
+ { 0x12 , "CMIP Protocol" },
+ { 0x13 , "ACSE Protocol" },
+ { 0x1F , "Networking extensions" },
+ { 0, NULL}
+};
+
+static const value_string str_nd[] = {
+ { 0x00 , "User suspended" },
+ { 0x01 , "User resume" },
+ { 0x02 , "Bearer service change" },
+ { 0x04 , "Call completion delay" },
+ { 0x03 , "Discriminator for extension to ASN.1 encoded component" },
+ { 0x40 , "Discriminator for extension to ASN.1 encoded component for ISO" },
+ { 0x42 , "Conference established" },
+ { 0x43 , "Conference disconnected" },
+ { 0x44 , "Other party added" },
+ { 0x45 , "Isolated" },
+ { 0x46 , "Reattached" },
+ { 0x47 , "Other party isolated" },
+ { 0x48 , "Other party reattached" },
+ { 0x49 , "Other party split" },
+ { 0x4A , "Other party disconnected" },
+ { 0x4B , "Conference floating" },
+ { 0x4C , "Conference disconnected, pre-emption" },
+ { 0x4F , "Conference floating, served user pre-empted" },
+ { 0x60 , "Call is a waiting call" },
+ { 0x68 , "Diversion activated" },
+ { 0x69 , "call transferred, alerting" },
+ { 0x6A , "call transferred, answered" },
+ { 0x6E , "reverse charging (whole call)" },
+ { 0x6F , "reverse charging (for the rest of the call)" },
+ { 0x74 , "service profile update" },
+ { 0x79 , "Remote hold" },
+ { 0x7A , "Remote retrieval" },
+ { 0x7B , "Call is diverting" },
+ { 0, NULL}
+};
+
+#include "packet-q932-fn.c"
+
+/*--- dissect_q932_facility_ie -------------------------------------------------------*/
+static void
+dissect_q932_facility_ie(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int length) {
+ gint8 appclass;
+ bool pc;
+ gint32 tag;
+ guint32 len;
+ int hoffset, eoffset;
+ int ie_end;
+ tvbuff_t *next_tvb;
+
+ ie_end = offset + length;
+ proto_tree_add_item(tree, hf_q932_pp, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ while (offset < ie_end) {
+ hoffset = offset;
+ offset = get_ber_identifier(tvb, offset, &appclass, &pc, &tag);
+ offset = get_ber_length(tvb, offset, &len, NULL);
+ eoffset = offset + len;
+ next_tvb = tvb_new_subset_length(tvb, hoffset, eoffset - hoffset);
+ switch (appclass) {
+ case BER_CLASS_CON:
+ switch (tag) {
+ case 10 : /* Network Facility Extension */
+ dissect_NetworkFacilityExtension_PDU(next_tvb, pinfo, tree, NULL);
+ break;
+ case 18 : /* Network Protocol Profile */
+ dissect_NetworkProtocolProfile_PDU(next_tvb, pinfo, tree, NULL);
+ break;
+ case 11 : /* Interpretation Component */
+ dissect_InterpretationComponent_PDU(next_tvb, pinfo, tree, NULL);
+ break;
+ /* ROSE APDU */
+ case 1 : /* invoke */
+ case 2 : /* returnResult */
+ case 3 : /* returnError */
+ case 4 : /* reject */
+ q932_rose_ctx.apdu_depth = 1;
+ call_dissector_with_data(q932_ros_handle, next_tvb, pinfo, tree, &q932_rose_ctx);
+ break;
+ /* DSE APDU */
+ case 12 : /* begin */
+ case 14 : /* end */
+ case 15 : /* continue */
+ case 17 : /* abort */
+ offset = dissect_ber_identifier(pinfo, tree, tvb, hoffset, NULL, NULL, NULL);
+ offset = dissect_ber_length(pinfo, tree, tvb, offset, NULL, NULL);
+ proto_tree_add_expert(tree, pinfo, &ei_q932_dse_not_supported, tvb, offset, len);
+ break;
+ default:
+ offset = dissect_ber_identifier(pinfo, tree, tvb, hoffset, NULL, NULL, NULL);
+ offset = dissect_ber_length(pinfo, tree, tvb, offset, NULL, NULL);
+ proto_tree_add_expert(tree, pinfo, &ei_q932_unknown_component, tvb, offset, len);
+ }
+ break;
+ case BER_CLASS_APP:
+ switch (tag) {
+ /* ACSE APDU */
+ case 0 : /* aarq */
+ case 1 : /* aare */
+ case 2 : /* rlrq */
+ case 3 : /* rlre */
+ case 4 : /* abrt */
+ offset = dissect_ber_identifier(pinfo, tree, tvb, hoffset, NULL, NULL, NULL);
+ offset = dissect_ber_length(pinfo, tree, tvb, offset, NULL, NULL);
+ proto_tree_add_expert(tree, pinfo, &ei_q932_acse_not_supported, tvb, offset, len);
+ break;
+ default:
+ offset = dissect_ber_identifier(pinfo, tree, tvb, hoffset, NULL, NULL, NULL);
+ offset = dissect_ber_length(pinfo, tree, tvb, offset, NULL, NULL);
+ proto_tree_add_expert(tree, pinfo, &ei_q932_unknown_component, tvb, offset, len);
+ }
+ break;
+ default:
+ offset = dissect_ber_identifier(pinfo, tree, tvb, hoffset, NULL, NULL, NULL);
+ offset = dissect_ber_length(pinfo, tree, tvb, offset, NULL, NULL);
+ proto_tree_add_expert(tree, pinfo, &ei_q932_unknown_component, tvb, offset, len);
+ }
+ offset = eoffset;
+ }
+}
+
+/*--- dissect_q932_ni_ie -------------------------------------------------------*/
+static void
+dissect_q932_ni_ie(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int length) {
+ int remain = length;
+ guint8 octet = 0;
+ guint32 value = 0;
+ proto_item* ti;
+
+ while ((remain > 0) && !(octet & 0x80)) {
+ octet = tvb_get_guint8(tvb, offset++);
+ remain--;
+ value <<= 7;
+ value |= octet & 0x7F;
+ }
+ ti = proto_tree_add_uint(tree, hf_q932_nd, tvb, offset - (length - remain), length - remain, value);
+
+ if (remain > 0) {
+ expert_add_info(pinfo, ti, &ei_q932_asn1_encoded);
+ }
+}
+
+/*--- dissect_q932_ie -------------------------------------------------------*/
+static int
+dissect_q932_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) {
+ gint offset;
+ proto_item *ti;
+ proto_tree *ie_tree;
+ guint8 ie_type, ie_len;
+
+ offset = 0;
+
+ ti = proto_tree_add_item(tree, proto_q932, tvb, offset, -1, ENC_NA);
+ proto_item_set_hidden(ti);
+
+ ie_type = tvb_get_guint8(tvb, offset);
+ ie_len = tvb_get_guint8(tvb, offset + 1);
+
+ ie_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_q932_ie, NULL,
+ val_to_str(ie_type, VALS(q932_str_ie_type), "unknown (0x%02X)"));
+
+ proto_tree_add_item(ie_tree, hf_q932_ie_type, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(ie_tree, hf_q932_ie_len, tvb, offset + 1, 1, ENC_BIG_ENDIAN);
+ offset += 2;
+ if (tvb_reported_length_remaining(tvb, offset) <= 0)
+ return offset;
+ switch (ie_type) {
+ case Q932_IE_FACILITY :
+ dissect_q932_facility_ie(tvb, offset, pinfo, ie_tree, ie_len);
+ break;
+ case Q932_IE_NOTIFICATION_INDICATOR :
+ dissect_q932_ni_ie(tvb, offset, pinfo, ie_tree, ie_len);
+ break;
+ default:
+ if (ie_len > 0) {
+ proto_tree_add_item(ie_tree, hf_q932_ie_data, tvb, offset, ie_len, ENC_NA);
+ }
+ }
+ return tvb_captured_length(tvb);
+}
+
+/*--- dissect_q932_apdu -----------------------------------------------------*/
+static int
+dissect_q932_apdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) {
+ return call_dissector(q932_ros_handle, tvb, pinfo, tree);
+}
+
+/*--- proto_register_q932 ---------------------------------------------------*/
+void proto_register_q932(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_q932_ie_type, { "Type", "q932.ie.type",
+ FT_UINT8, BASE_HEX, VALS(q932_str_ie_type), 0x0,
+ "Information Element Type", HFILL }},
+ { &hf_q932_ie_len, { "Length", "q932.ie.len",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ "Information Element Length", HFILL }},
+ { &hf_q932_ie_data, { "Data", "q932.ie.data",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_q932_pp, { "Protocol profile", "q932.pp",
+ FT_UINT8, BASE_HEX, VALS(str_pp), 0x1F,
+ NULL, HFILL }},
+ { &hf_q932_nd, { "Notification description", "q932.nd",
+ FT_UINT8, BASE_HEX, VALS(str_nd), 0x0,
+ NULL, HFILL }},
+#include "packet-q932-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_q932,
+ &ett_q932_ie,
+#include "packet-q932-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_q932_dse_not_supported, { "q932.dse_not_supported", PI_UNDECODED, PI_WARN, "DSE APDU (not supported)", EXPFILL }},
+ { &ei_q932_acse_not_supported, { "q932.acse_not_supported", PI_UNDECODED, PI_WARN, "ACSE APDU (not supported)", EXPFILL }},
+ { &ei_q932_unknown_component, { "q932.unknown_component", PI_UNDECODED, PI_WARN, "Unknown Component", EXPFILL }},
+ { &ei_q932_asn1_encoded, { "q932.asn1_encoded", PI_UNDECODED, PI_WARN, "ASN.1 Encoded Data Structure(NOT IMPLEMENTED)", EXPFILL }},
+ };
+
+ module_t *q932_module;
+ expert_module_t* expert_q932;
+
+ static const enum_val_t facility_encoding[] = {
+ {"Facility as QSIG", "Dissect facility as QSIG", FACILITY_QSIG},
+ {"Facility as ETSI", "Dissect facility as ETSI", FACILITY_ETSI},
+ {NULL, NULL, -1}
+ };
+
+ /* Register protocol and dissector */
+ proto_q932 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("q932.apdu", dissect_q932_apdu, proto_q932);
+ q932_ie_handle = register_dissector("q932.ie", dissect_q932_ie, proto_q932);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_q932, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_q932 = expert_register_protocol(proto_q932);
+ expert_register_field_array(expert_q932, ei, array_length(ei));
+
+ rose_ctx_init(&q932_rose_ctx);
+
+ /* Register dissector tables */
+ q932_rose_ctx.arg_global_dissector_table = register_dissector_table("q932.ros.global.arg", "Q.932 Operation Argument (global opcode)", proto_q932, FT_STRING, STRING_CASE_SENSITIVE);
+ q932_rose_ctx.res_global_dissector_table = register_dissector_table("q932.ros.global.res", "Q.932 Operation Result (global opcode)", proto_q932, FT_STRING, STRING_CASE_SENSITIVE);
+ q932_rose_ctx.err_global_dissector_table = register_dissector_table("q932.ros.global.err", "Q.932 Error (global opcode)", proto_q932, FT_STRING, STRING_CASE_SENSITIVE);
+
+ qsig_arg_local_dissector_table = register_dissector_table("q932.ros.local.arg", "Q.932 Operation Argument (local opcode)", proto_q932, FT_UINT32, BASE_HEX);
+ qsig_res_local_dissector_table = register_dissector_table("q932.ros.local.res", "Q.932 Operation Result (local opcode)", proto_q932, FT_UINT32, BASE_HEX);
+ qsig_err_local_dissector_table = register_dissector_table("q932.ros.local.err", "Q.932 Error (local opcode)", proto_q932, FT_UINT32, BASE_HEX);
+
+ etsi_arg_local_dissector_table = register_dissector_table("q932.ros.etsi.local.arg", "Q.932 ETSI Operation Argument (local opcode)", proto_q932, FT_UINT32, BASE_HEX);
+ etsi_res_local_dissector_table = register_dissector_table("q932.ros.etsi.local.res", "Q.932 ETSI Operation Result (local opcode)", proto_q932, FT_UINT32, BASE_HEX);
+ etsi_err_local_dissector_table = register_dissector_table("q932.ros.etsi.local.err", "Q.932 ETSI Error (local opcode)", proto_q932, FT_UINT32, BASE_HEX);
+
+ q932_module = prefs_register_protocol(proto_q932, proto_reg_handoff_q932);
+
+ prefs_register_enum_preference(q932_module, "facility_encoding",
+ "Type of Facility encoding",
+ "Type of Facility encoding",
+ &g_facility_encoding, facility_encoding, FALSE);
+}
+
+/*--- proto_reg_handoff_q932 ------------------------------------------------*/
+void proto_reg_handoff_q932(void) {
+ static gboolean q931_prefs_initialized = FALSE;
+
+ if (!q931_prefs_initialized) {
+ /* Facility */
+ dissector_add_uint("q931.ie", (0x00 << 8) | Q932_IE_FACILITY, q932_ie_handle);
+ /* Notification indicator */
+ dissector_add_uint("q931.ie", (0x00 << 8) | Q932_IE_NOTIFICATION_INDICATOR, q932_ie_handle);
+ q932_ros_handle = find_dissector_add_dependency("q932.ros", proto_q932);
+
+ q931_prefs_initialized = TRUE;
+ }
+
+ if(g_facility_encoding == FACILITY_QSIG){
+ q932_rose_ctx.arg_local_dissector_table = qsig_arg_local_dissector_table;
+ q932_rose_ctx.res_local_dissector_table = qsig_res_local_dissector_table;
+ q932_rose_ctx.err_local_dissector_table = qsig_err_local_dissector_table;
+ }else{
+ q932_rose_ctx.arg_local_dissector_table = etsi_arg_local_dissector_table;
+ q932_rose_ctx.res_local_dissector_table = etsi_res_local_dissector_table;
+ q932_rose_ctx.err_local_dissector_table = etsi_err_local_dissector_table;
+ }
+
+}
+
+/*---------------------------------------------------------------------------*/
diff --git a/epan/dissectors/asn1/q932/packet-q932-template.h b/epan/dissectors/asn1/q932/packet-q932-template.h
new file mode 100644
index 00000000..7e506e9e
--- /dev/null
+++ b/epan/dissectors/asn1/q932/packet-q932-template.h
@@ -0,0 +1,18 @@
+/* packet-q932.h
+ * Routines for Q.932 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_Q932_H
+#define PACKET_Q932_H
+
+#include "packet-q932-exp.h"
+
+#endif /* PACKET_Q932_H */
+
diff --git a/epan/dissectors/asn1/q932/q932.cnf b/epan/dissectors/asn1/q932/q932.cnf
new file mode 100644
index 00000000..90e6092e
--- /dev/null
+++ b/epan/dissectors/asn1/q932/q932.cnf
@@ -0,0 +1,32 @@
+# q932.cnf
+# Q.932 conformation file
+# 2007 Tomas Kukosa
+
+#.PDU
+
+InterpretationComponent
+NetworkFacilityExtension
+NetworkProtocolProfile
+
+#.EXPORTS EXTERN WS_DLL
+
+# Addressing-Data-Elements
+PresentedAddressScreened
+PresentedAddressUnscreened
+PresentedNumberScreened
+PresentedNumberUnscreened
+Address
+PartyNumber
+PartySubaddress
+ScreeningIndicator
+PresentationAllowedIndicator
+
+#.FIELD_RENAME
+
+# Addressing-Data-Elements
+PresentedNumberScreened/presentationAllowedNumber presentationAllowedNumberScreened
+PresentedAddressScreened/presentationRestrictedAddress presentationRestrictedAddressScreened
+PresentedNumberScreened/presentationRestrictedNumber presentationRestrictedNumberScreened
+
+#.END
+
diff --git a/epan/dissectors/asn1/qsig/CMakeLists.txt b/epan/dissectors/asn1/qsig/CMakeLists.txt
new file mode 100644
index 00000000..1056b89c
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/CMakeLists.txt
@@ -0,0 +1,68 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME qsig )
+
+set( PROTO_OPT _EMPTY_ )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ General-Error-List.asn
+ qsig-gf-ext.asn
+ qsig-gf-gp.asn
+ qsig-gf-ade.asn
+ QSIG-NA.asn
+ QSIG-CF.asn
+ QSIG-PR.asn
+ QSIG-CT.asn
+ QSIG-CC.asn
+ QSIG-CO.asn
+ QSIG-DND.asn
+ QSIG-CI.asn
+ QSIG-AOC.asn
+ QSIG-RE.asn
+ SYNC-SIG.asn
+ QSIG-CINT.asn
+ QSIG-CMN.asn
+ QSIG-CPI.asn
+ QSIG-PUMR.asn
+ QSIG-PUMCH.asn
+ QSIG-SSCT.asn
+ QSIG-WTMLR.asn
+ QSIG-WTMCH.asn
+ QSIG-WTMAU.asn
+ QSIG-SD.asn
+ QSIG-CIDL.asn
+ QSIG-SMS.asn
+ QSIG-MCR.asn
+ QSIG-MCM.asn
+ QSIG-MID.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/qsig/General-Error-List.asn b/epan/dissectors/asn1/qsig/General-Error-List.asn
new file mode 100644
index 00000000..56266f11
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/General-Error-List.asn
@@ -0,0 +1,84 @@
+-- Module General-Error-List (Q.950:06/2000)
+-- See also ITU-T Q.950 (06/2000)
+-- See also the index of all ASN.1 assignments needed in this document
+--
+
+General-Error-List {itu-t recommendation q 950 general-error-list(1)}
+DEFINITIONS ::=
+BEGIN
+
+EXPORTS
+ userNotSubscribed, rejectedByNetwork, rejectedByUser, notAvailable,
+ insufficientInformation, invalidServedUserNr, invalidCallState,
+ basicServiceNotProvided, notIncomingCall,
+ supplementaryServiceInteractionNotAllowed, resourceUnavailable,
+ callFailure, proceduralError;
+
+IMPORTS
+ ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+userNotSubscribed ERROR ::= {CODE local:0
+}
+
+-- is an indication that the user has not subscribed to this service.
+rejectedByNetwork ERROR ::= {CODE local:1
+}
+
+-- is an indication that the requested service is rejected by the network.
+rejectedByUser ERROR ::= {CODE local:2
+}
+
+-- is an indication that the requested service is provided by the network but that the remote user has rejected this
+-- service request.
+notAvailable ERROR ::= {CODE local:3
+}
+
+-- is an indication that the user has subscribed to this service but the requested service is not available combined
+-- with the basic service or the other services (e.g. operation).
+insufficientInformation ERROR ::= {CODE local:5
+}
+
+-- is an indication that the content of operation argument is incomplete, or absent entirely.
+invalidServedUserNr ERROR ::= {CODE local:6
+}
+
+-- is an indication that the requested service cannot be performed because of the usage of an invalid served user
+-- number.
+invalidCallState ERROR ::= {CODE local:7
+}
+
+-- is an indication that no match exists between the service request and the valid Basic, Call Control State; this
+-- applies also to invalid auxiliary states or an invalid combination of Basic call states and auxiliary states.
+basicServiceNotProvided ERROR ::= {CODE local:8
+}
+
+-- is an indication that the service request is directed to a Basic Service which is not provided (e.g. this return
+-- error value is used when a supplementary service is invoked with a SETUP message).
+notIncomingCall ERROR ::= {CODE local:9
+}
+
+-- is an indication that the service request has been invoked for an outgoing call, which is not permitted for that
+-- service.
+supplementaryServiceInteractionNotAllowed ERROR ::= {CODE local:10
+}
+
+-- is an indication that the service request is not permitted in combination with either a further requested or active
+-- supplementary service.
+resourceUnavailable ERROR ::= {CODE local:11
+}
+
+-- is an indication that the service provider has temporarily no resource available for the provision of the
+-- requested service.
+callFailure ERROR ::= {CODE local:25
+}
+
+-- is an indication that the requested supplementary service was not executable by virtue of a Basic Call Failure.
+proceduralError ERROR ::= {CODE local:43
+}
+
+-- is an indication that a transport message (e.g. SETUP, REGISTER etc.) is received which has one or more
+-- operation PDUs which have a valid content but which are not specified as valid information content of the
+-- transport message used.
+END
diff --git a/epan/dissectors/asn1/qsig/QSIG-AOC.asn b/epan/dissectors/asn1/qsig/QSIG-AOC.asn
new file mode 100644
index 00000000..15cca38a
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-AOC.asn
@@ -0,0 +1,305 @@
+-- QSIG-AOC.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-212, 3rd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-212.htm
+--
+
+SS-AOC-Operations-asn1-97
+{iso (1) standard (0) pss1-advice-of-charge (15050) advice-of-charge-operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11)}
+ notAvailable, supplementaryServiceInteractionNotAllowed
+ FROM General-Error-List
+ {ccitt recommendation q 950 general-error-list (1)}
+ PartyNumber FROM Addressing-Data-Elements-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582)
+ addressing-data-elements-asn1-97 (20) } ;
+
+AOC-Operations OPERATION ::= { chargeRequest | getFinalCharge | aocFinal | aocInterim | aocRate |
+ aocComplete | aocDivChargeReq }
+
+aocRate OPERATION ::= {
+ ARGUMENT AocRateArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 63}
+
+AocRateArg ::= SEQUENCE {
+ aocRate CHOICE {
+ chargeNotAvailable NULL,
+ aocSCurrencyInfoList AOCSCurrencyInfoList
+ },
+ rateArgExtension CHOICE {
+ extension [1] IMPLICIT Extension{{AOCExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF
+ Extension{{AOCExtSet}} } OPTIONAL
+ }
+
+aocInterim OPERATION ::= {
+ ARGUMENT AocInterimArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 62}
+
+AocInterimArg ::= SEQUENCE {
+ interimCharge CHOICE {
+ chargeNotAvailable [0] IMPLICIT NULL,
+ freeOfCharge [1] IMPLICIT NULL,
+ specificCurrency SEQUENCE {
+ recordedCurrency [1] IMPLICIT RecordedCurrency,
+ interimBillingId[2] IMPLICIT InterimBillingId OPTIONAL }
+ },
+ interimArgExtension CHOICE {
+ extension [1] IMPLICIT Extension{{AOCExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF
+ Extension{{AOCExtSet}} } OPTIONAL
+ }
+
+aocFinal OPERATION ::= {
+ ARGUMENT AocFinalArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 61}
+
+AocFinalArg ::= SEQUENCE {
+ finalCharge CHOICE {
+ chargeNotAvailable [0] IMPLICIT NULL,
+ freeOfCharge [1] IMPLICIT NULL,
+ specificCurrency SEQUENCE {
+ recordedCurrency [1] IMPLICIT RecordedCurrency,
+ finalBillingId[2] IMPLICIT FinalBillingId OPTIONAL }
+ },
+ chargingAssociation ChargingAssociation OPTIONAL,
+ finalArgExtension CHOICE {
+ extension [1] IMPLICIT Extension{{AOCExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF
+ Extension{{AOCExtSet}} } OPTIONAL
+ }
+
+AOCSCurrencyInfoList ::= SEQUENCE SIZE(1..10) OF AOCSCurrencyInfo
+
+AOCSCurrencyInfo ::= SEQUENCE {
+ chargedItem ChargedItem,
+ rateType CHOICE {
+ durationCurrency [1] IMPLICIT DurationCurrency,
+ flatRateCurrency [2] IMPLICIT FlatRateCurrency,
+ volumeRateCurrency [3] IMPLICIT VolumeRateCurrency,
+ specialChargingCode SpecialChargingCode,
+ freeOfCharge [4] IMPLICIT NULL,
+ currencyInfoNotAvailable [5] IMPLICIT NULL,
+ freeOfChargefromBeginning [6] IMPLICIT NULL
+ } }
+ChargedItem ::= ENUMERATED {
+ basicCommunication (0),
+ callAttempt (1),
+ callSetup (2),
+ userToUserInfo (3),
+ operationOfSupplementaryServ (4) }
+
+DurationCurrency ::= SEQUENCE {
+ dCurrency [1] IMPLICIT Currency,
+ dAmount [2] IMPLICIT Amount,
+ dChargingType [3] IMPLICIT ChargingType,
+ dTime [4] IMPLICIT Time,
+ dGranularity [5] IMPLICIT Time OPTIONAL }
+
+FlatRateCurrency ::= SEQUENCE {
+ fRCurrency [1] IMPLICIT Currency,
+ fRAmount [2] IMPLICIT Amount }
+
+VolumeRateCurrency ::= SEQUENCE {
+ vRCurrency [1] IMPLICIT Currency,
+ vRAmount [2] IMPLICIT Amount,
+ vRVolumeUnit [3] IMPLICIT VolumeUnit
+ }
+
+SpecialChargingCode ::= INTEGER (1..10)
+
+RecordedCurrency ::= SEQUENCE {
+ rCurrency [1] IMPLICIT Currency,
+ rAmount [2] IMPLICIT Amount }
+
+InterimBillingId ::= ENUMERATED {
+ normalCharging (0),
+ creditCardCharging (2) }
+
+FinalBillingId ::= ENUMERATED {
+ normalCharging (0),
+ creditCardCharging (2),
+ callForwardingUnconditional (3),
+ callForwardingBusy (4),
+ callForwardingNoReply (5),
+ callDeflection (6),
+ callTransfer (7) }
+
+Currency ::= IA5String (SIZE (0..10))
+ -- SIZE(0) shall indicate the default currency of the PISN
+ -- The representation of other currencies is outside the scope of this standard
+
+Amount ::= SEQUENCE {
+ currencyAmount [1] IMPLICIT CurrencyAmount,
+ multiplier [2] IMPLICIT Multiplier }
+
+CurrencyAmount ::= INTEGER (0..16777215)
+Multiplier ::= ENUMERATED {
+ oneThousandth (0),
+ oneHundredth (1),
+ oneTenth (2),
+ one (3),
+ ten (4),
+ hundred (5),
+ thousand (6) }
+
+Time ::= SEQUENCE {
+ lengthOfTimeUnit [1] IMPLICIT LengthOfTimeUnit,
+ scale [2] IMPLICIT Scale }
+
+LengthOfTimeUnit ::= INTEGER (0..16777215)
+
+Scale ::= ENUMERATED {
+ oneHundredthSecond (0),
+ oneTenthSecond (1),
+ oneSecond (2),
+ tenSeconds (3),
+ oneMinute (4),
+ oneHour (5),
+ twentyFourHours (6) }
+
+VolumeUnit ::= ENUMERATED {
+ octet (0),
+ segment (1),
+ message (2) }
+
+ChargingType ::= ENUMERATED {
+ continuousCharging (0),
+ stepFunction (1) }
+
+ChargingAssociation ::= CHOICE {
+ chargeNumber [0] PartyNumber,
+ chargeIdentifier ChargeIdentifier }
+
+ChargeIdentifier ::= INTEGER (-32768..32767)
+
+chargeRequest OPERATION ::= {
+ ARGUMENT ChargeRequestArg
+ RESULT ChargeRequestRes
+ ERRORS {
+ freeOfCharge |
+ supplementaryServiceInteractionNotAllowed |
+ notAvailable | unspecified }
+ CODE local: 59}
+
+getFinalCharge OPERATION ::= {
+ ARGUMENT DummyArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 60}
+
+ChargeRequestArg ::= SEQUENCE {
+ adviceModeCombinations SEQUENCE SIZE(0..7) OF
+ AdviceModeCombination,
+ chargeReqArgExtension CHOICE {
+ extension [1] IMPLICIT Extension{{AOCExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF
+ Extension{{AOCExtSet}} } OPTIONAL
+ }
+
+ChargeRequestRes ::= SEQUENCE {
+ adviceModeCombination AdviceModeCombination,
+ chargeReqResExtension CHOICE {
+ extension [1] IMPLICIT Extension{{AOCExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF
+ Extension{{AOCExtSet}} } OPTIONAL
+ }
+
+AdviceModeCombination ::= ENUMERATED { -- advice mode combination
+ rate (0), -- charge rate provision
+ rateInterim (1), -- charge rate and interim charge provision
+ rateFinal (2), -- charge rate and final charge provision
+ interim (3), -- interim charge provision
+ final (4), -- final charge provision
+ interimFinal (5), -- interim charge and final charge provision
+ rateInterimFinal (6)} -- charge rate, interim charge and final
+ -- charge provision
+
+DummyArg ::= CHOICE{
+ none NULL,
+ extension [1] IMPLICIT Extension{{AOCExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF Extension{{AOCExtSet}}
+ }
+
+
+-- The following OPERATION applies for the interaction with Call Transfer
+
+aocComplete OPERATION ::= {
+ ARGUMENT AocCompleteArg
+ RESULT AocCompleteRes
+ ERRORS {supplementaryServiceInteractionNotAllowed}
+ CODE local: 64}
+
+AocCompleteArg ::= SEQUENCE {
+ chargedUser PartyNumber,
+ chargingAssociation ChargingAssociation OPTIONAL,
+ completeArgExtension CHOICE {
+ extension [1] IMPLICIT Extension{{AOCExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF
+ Extension{{AOCExtSet}} } OPTIONAL
+ }
+
+AocCompleteRes::= SEQUENCE {
+ chargingOption ChargingOption,
+ completeResExtension CHOICE {
+ extension [1] IMPLICIT Extension{{AOCExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF Extension{{AOCExtSet}}
+ } OPTIONAL
+ }
+
+ChargingOption ::= ENUMERATED{
+ aocFreeOfCharge (0),
+ aocContinueCharging (1),
+ aocStopCharging (2)
+ }
+
+-- The following OPERATION applies for the interaction with Call Diversion
+
+aocDivChargeReq OPERATION::= {
+ ARGUMENT AocDivChargeReqArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 65}
+
+
+AocDivChargeReqArg ::= SEQUENCE {
+ divertingUser PartyNumber,
+ chargingAssociation ChargingAssociation OPTIONAL,
+ diversionType DiversionType,
+ aocDivChargeReqArgExt CHOICE {
+ extension [1] IMPLICIT Extension{{AOCExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF Extension{{AOCExtSet}}
+ } OPTIONAL
+ }
+
+
+DiversionType ::= ENUMERATED {
+ callForwardingUnconditional (0),
+ callForwardingBusy (1),
+ callForwardingNoReply (2),
+ callDeflection (3) }
+
+AOCExtSet EXTENSION ::= {...}
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{AOCExtSet}}
+ CODE local: 1008}
+
+freeOfCharge ERROR ::= { CODE local: 1016}
+
+END -- of SS-AOC-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-CC.asn b/epan/dissectors/asn1/qsig/QSIG-CC.asn
new file mode 100644
index 00000000..e8df6da3
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-CC.asn
@@ -0,0 +1,175 @@
+-- QSIG-CC.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-186, 4th edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-186.htm
+--
+
+SS-CC-Operations-asn1-97 { iso (1) standard (0) pss1-call-completion (13870) operations-asn1-97 (1)}
+DEFINITIONS EXPLICIT TAGS ::=
+BEGIN
+IMPORTS
+ OPERATION,
+ ERROR
+FROM Remote-Operations-Information-Objects
+{ joint-iso-itu-t remote-operations (4) informationObjects(5) version1 (0)}
+
+ EXTENSION, Extension{}
+FROM Manufacturer-specific-service-extension-class-asn1-97
+ { iso( 1) standard( 0) pss1-generic-procedures( 11582) msi-class-asn1-97( 11) }
+
+ PSS1InformationElement
+FROM PSS1-generic-parameters-definition-asn1-97
+ { iso standard pss1-generic-procedures (11582) pss1-generic-parameters-asn1-97(17)}
+
+ PartyNumber,
+ PartySubaddress,
+ PresentedNumberUnscreened
+FROM Addressing-Data-Elements-asn1-97
+ {iso standard pss1-generic-procedures (11582) addressing-data-elements-asn1-97 (20)}
+
+supplementaryServiceInteractionNotAllowed
+FROM General-Error-List
+ { ccitt (0) recommendation (0) q 950 general-error-list (1) } ;
+
+CC-Operations OPERATION ::= {ccbsRequest | ccnrRequest | ccCancel | ccExecPossible | ccPathReserve |
+ ccRingout | ccSuspend | ccResume }
+
+ ccbsRequest OPERATION ::= {
+ ARGUMENT CcRequestArg
+ RESULT CcRequestRes
+ ERRORS{
+ shortTermRejection |
+ longTermRejection |
+ unspecified |
+ supplementaryServiceInteractionNotAllowed
+ }
+ CODE local: 40
+ }
+
+ ccnrRequest OPERATION ::= {
+ ARGUMENT CcRequestArg
+ RESULT CcRequestRes
+ ERRORS{
+ shortTermRejection |
+ longTermRejection |
+ unspecified |
+ supplementaryServiceInteractionNotAllowed
+ }
+ CODE local: 27
+ }
+
+ ccCancel OPERATION ::= {
+ ARGUMENT CcOptionalArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 28
+ }
+
+ ccExecPossible OPERATION ::= {
+ ARGUMENT CcOptionalArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 29
+ }
+
+ ccPathReserve OPERATION ::= {
+ ARGUMENT CcExtension
+ RESULT CcExtension
+ ERRORS {
+ remoteUserBusyAgain |
+ failureToMatch |
+ failedDueToInterworking |
+ unspecified
+ }
+ CODE local: 30
+ }
+
+ ccRingout OPERATION ::= {
+ ARGUMENT CcExtension
+ RETURN RESULT FALSE
+ ERRORS{
+ remoteUserBusyAgain |
+ failureToMatch |
+ unspecified
+ }
+ ALWAYS RESPONDS FALSE
+ CODE local: 31
+ }
+
+ ccSuspend OPERATION ::= {
+ ARGUMENT CcExtension
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 32
+ }
+
+ ccResume OPERATION ::= {
+ ARGUMENT CcExtension
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 33
+ }
+
+-- TYPE DEFINITIONS FOR CC DATA TYPES FOLLOW
+CcRequestArg ::= SEQUENCE {
+ numberA PresentedNumberUnscreened,
+ numberB PartyNumber,
+ service PSS1InformationElement,
+ -- permitted information elements are:
+ -- Bearer capability; Low layer compatibility; High layer compatibility
+ subaddrA [10] PartySubaddress OPTIONAL,
+ subaddrB [11] PartySubaddress OPTIONAL,
+ can-retain-service [12] IMPLICIT BOOLEAN DEFAULT FALSE,
+ retain-sig-connection [13] IMPLICIT BOOLEAN OPTIONAL,
+ -- TRUE: signalling connection to be retained;
+ -- FALSE: signalling connection to be released;
+ -- omission: release or retain signalling connection--
+ extension CcExtension OPTIONAL
+ }
+
+CcRequestRes ::= SEQUENCE{
+ no-path-reservation [0] IMPLICIT BOOLEAN DEFAULT FALSE,
+ retain-service [1] IMPLICIT BOOLEAN DEFAULT FALSE,
+ extension CcExtension OPTIONAL
+ }
+
+CcOptionalArg ::= CHOICE{
+ fullArg [0] IMPLICIT SEQUENCE {
+ numberA PartyNumber,
+ numberB PartyNumber,
+ service PSS1InformationElement,
+ -- permitted information elements are:
+ --Bearer capability;
+ -- Low layer compatibility;
+ -- High layer compatibility.
+ subaddrA [10] PartySubaddress OPTIONAL,
+ subaddrB [11] PartySubaddress OPTIONAL,
+ extension CcExtension OPTIONAL
+ },
+ extArg CcExtension
+ }
+
+CcExtension ::= CHOICE {
+ none NULL,
+ single [14] IMPLICIT Extension{{CCExtSet}},
+ multiple [15] IMPLICIT SEQUENCE OF Extension{{CCExtSet}}
+ }
+
+CCExtSet EXTENSION ::= {...}
+
+-- DEFINITIONS FOR ERRORS FOLLOW
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{CCExtSet}}
+ CODE local: 1008
+ }
+
+shortTermRejection ERROR ::= { CODE local: 1010}
+longTermRejection ERROR ::= { CODE local: 1011}
+remoteUserBusyAgain ERROR ::= { CODE local: 1012}
+failureToMatch ERROR ::= { CODE local: 1013}
+failedDueToInterworking ERROR ::= { CODE local: 1014}
+
+
+END -- of SS-CC-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-CF.asn b/epan/dissectors/asn1/qsig/QSIG-CF.asn
new file mode 100644
index 00000000..1c090d58
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-CF.asn
@@ -0,0 +1,251 @@
+-- QSIG-CF.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-174, 3rd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-174.htm
+--
+
+Call-Diversion-Operations-asn1-97
+ { iso (1) standard (0) pss1-call-diversion (13873) call-diversion-operations-asn1-97 (1) }
+
+ DEFINITIONS EXPLICIT TAGS ::=
+
+ BEGIN
+
+ IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ { joint-iso-itu-t remote-operations (4) informationObjects(5) version1(0)}
+
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) }
+
+ PSS1InformationElement FROM PSS1-generic-parameters-definition-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582) pss1-generic-parameters-asn1-97 (17)
+}
+
+ Address, PartyNumber, PartySubaddress, PresentedNumberScreened,
+ PresentedNumberUnscreened, PresentationAllowedIndicator FROM
+ Addressing-Data-Elements-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582) addressing-data-elements-asn1-97 (20)
+}
+
+ Name FROM Name-Operations-asn1-97
+ { iso (1) standard (0) pss1-name (13868) name-operations-asn1-97 (1) }
+
+ userNotSubscribed, notAvailable, invalidServedUserNr, basicServiceNotProvided,
+ resourceUnavailable, supplementaryServiceInteractionNotAllowed FROM
+ General-Error-List
+ { ccitt recommendation q 950 general-error-list (1) };
+
+Call-Diversion-Operations OPERATION ::= {activateDiversionQ | deactivateDiversionQ | interrogateDiversionQ |
+checkRestriction | callRerouteing | divertingLegInformation1 | divertingLegInformation2 | divertingLegInformation3 |
+cfnrDivertedLegFailed}
+
+ activateDiversionQ OPERATION ::={
+ -- Sent from the Activating PINX to the Served User PINX
+ ARGUMENT SEQUENCE
+ { procedure Procedure,
+ basicService BasicService,
+ divertedToAddress Address,
+ servedUserNr PartyNumber,
+ activatingUserNr PartyNumber,
+ extension CHOICE {
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL
+}
+ RESULT CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}},
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} }
+ ERRORS { userNotSubscribed | notAvailable | invalidServedUserNr |
+ basicServiceNotProvided | resourceUnavailable | invalidDivertedToNr |
+ specialServiceNr | diversionToServedUserNr | temporarilyUnavailable |
+ notAuthorized | unspecified }
+ CODE local: 15}
+
+ deactivateDiversionQ OPERATION ::={
+ -- Sent from the Deactivating PINX to the Served User PINX
+ ARGUMENT SEQUENCE
+ { procedure Procedure,
+ basicService BasicService,
+ servedUserNr PartyNumber,
+ deactivatingUserNr PartyNumber,
+ extension CHOICE {
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL }
+ RESULT CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} }
+ ERRORS {userNotSubscribed | notAvailable| invalidServedUserNr |
+ temporarilyUnavailable | notAuthorized | unspecified }
+ CODE local: 16}
+
+ interrogateDiversionQ OPERATION ::={
+ -- Sent from the Interrogating PINX to the Served User PINX
+ ARGUMENT SEQUENCE
+ { procedure Procedure,
+ basicService BasicService DEFAULT allServices,
+ servedUserNr PartyNumber,
+ interrogatingUserNr PartyNumber,
+ extension CHOICE {
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL
+}
+ RESULT IntResultList
+ ERRORS {userNotSubscribed | notAvailable | invalidServedUserNr |
+ temporarilyUnavailable | notAuthorized | unspecified }
+ CODE local: 17}
+
+ checkRestriction OPERATION ::={
+ -- Sent from the Served User PINX to the Diverted-to PINX
+ ARGUMENT SEQUENCE
+ { servedUserNr PartyNumber,
+ basicService BasicService,
+ divertedToNr PartyNumber,
+ extension CHOICE {
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL }
+ RESULT CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}},
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} }
+ ERRORS {notAvailable | invalidServedUserNr |
+ invalidDivertedToNr | specialServiceNr | unspecified }
+ CODE local: 18}
+
+ callRerouteing OPERATION ::={
+ -- Sent from the Served User PINX to the Rerouteing PINX
+ ARGUMENT SEQUENCE
+ { rerouteingReason DiversionReason,
+ originalRerouteingReason [0] IMPLICIT DiversionReason OPTIONAL,
+ calledAddress Address,
+ diversionCounter INTEGER (1..15),
+ pSS1InfoElement PSS1InformationElement,
+ -- The basic call information elements Bearer capability, High layer compatibility, Low
+ -- layer compatibity and Progress indicator can be embedded in the
+ -- pSS1InfoElement in accordance with 6.5.3.1.5.
+
+ lastRerouteingNr [1] PresentedNumberUnscreened,
+ subscriptionOption [2] IMPLICIT SubscriptionOption,
+ callingPartySubaddress [3] PartySubaddress OPTIONAL,
+ callingNumber [4] PresentedNumberScreened,
+ callingName [5] Name OPTIONAL,
+ originalCalledNr [6] PresentedNumberUnscreened OPTIONAL,
+ redirectingName [7] Name OPTIONAL,
+ originalCalledName [8] Name OPTIONAL,
+ extension CHOICE {
+ single [9] IMPLICIT Extension{{DiversionExtensionSet}},
+ multiple[10] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL
+}
+ RESULT CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} }
+ ERRORS {userNotSubscribed | notAvailable | resourceUnavailable |
+ invalidDivertedToNr | specialServiceNr | diversionToServedUserNr |
+ numberOfDiversionsExceeded |
+ supplementaryServiceInteractionNotAllowed | unspecified }
+ -- The error value numberOfDiversionsExceeded applies only in case of partial rerouteing.
+ CODE local: 19}
+
+ divertingLegInformation1 OPERATION ::={
+ -- Sent from the Rerouteing PINX to the Originating PINX
+ ARGUMENT SEQUENCE
+ { diversionReason DiversionReason,
+ subscriptionOption SubscriptionOption,
+ nominatedNr PartyNumber,
+ extension CHOICE {
+ single [9] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple [10] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL
+}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 20}
+
+ divertingLegInformation2 OPERATION ::={
+ -- Sent from the Rerouteing PINX to the Diverted-to PINX
+ ARGUMENT SEQUENCE
+ { diversionCounter INTEGER (1..15),
+ diversionReason DiversionReason,
+ originalDiversionReason [0] IMPLICIT DiversionReason OPTIONAL,
+ divertingNr [1] PresentedNumberUnscreened OPTIONAL,
+ originalCalledNr [2] PresentedNumberUnscreened OPTIONAL,
+ redirectingName [3] Name OPTIONAL,
+ originalCalledName [4] Name OPTIONAL,
+ extension CHOICE {
+ single [5] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple[6] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL
+}
+ -- The divertingNr element is mandatory except in the case of interworking.
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 21}
+
+ divertingLegInformation3 OPERATION ::={
+ -- Sent from the Diverted-to PINX to the Originating PINX
+ ARGUMENT SEQUENCE
+ { presentationAllowedIndicator PresentationAllowedIndicator,
+ redirectionName [0] Name OPTIONAL,
+ extension CHOICE {
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} } OPTIONAL }
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 22}
+
+ cfnrDivertedLegFailed OPERATION ::={
+ -- Sent from the Rerouteing PINX to the Served User PINX
+ -- This indicates that the diverted-to leg has been cleared during SS-CFNR execution.
+ ARGUMENT CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{DiversionExtensionSet}} ,
+ multiple[2] IMPLICIT SEQUENCE OF Extension{{DiversionExtensionSet}} }
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 23}
+
+-- Definitions of general used data types:
+ DiversionReason ::= ENUMERATED { unknown (0), cfu (1), cfb (2), cfnr (3)}
+ -- The value unknown is only used if received from another network when interworking.
+
+ IntResultList ::= SET SIZE (0..29) OF IntResult
+ IntResult ::= SEQUENCE {
+ servedUserNr PartyNumber,
+ basicService BasicService,
+ procedure Procedure,
+ divertedToAddress Address,
+ remoteEnabled BOOLEAN DEFAULT FALSE,
+ extension CHOICE {
+ single [1] IMPLICIT
+ Extension{{DiversionExtensionSet}} ,
+ multiple[2] IMPLICIT SEQUENCE OF
+ Extension{{DiversionExtensionSet}} }
+ OPTIONAL }
+ Procedure ::= ENUMERATED { cfu (0), cfb (1), cfnr (2) }
+ SubscriptionOption ::= ENUMERATED {
+ noNotification (0),
+ notificationWithoutDivertedToNr (1),
+ notificationWithDivertedToNr (2) }
+
+ BasicService ::= ENUMERATED {
+ allServices (0),
+ speech (1),
+ unrestrictedDigitalInformation (2),
+ audio3100Hz (3),
+ telephony (32),
+ teletex (33),
+ telefaxGroup4Class1 (34),
+ videotexSyntaxBased (35),
+ videotelephony (36) }
+
+ DiversionExtensionSet EXTENSION ::= {...}
+ invalidDivertedToNr ERROR ::= {CODE local: 12}
+ specialServiceNr ERROR ::= {CODE local: 14}
+ diversionToServedUserNr ERROR ::= {CODE local: 15}
+ numberOfDiversionsExceeded ERROR ::= {CODE local: 24}
+ temporarilyUnavailable ERROR ::= {CODE local: 1000}
+ notAuthorized ERROR ::= {CODE local: 1007}
+ unspecified ERROR ::= {PARAMETER Extension{{DiversionExtensionSet}}
+ CODE local:1008}
+
+ END -- of Call-Diversion-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-CI.asn b/epan/dissectors/asn1/qsig/QSIG-CI.asn
new file mode 100644
index 00000000..827d207a
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-CI.asn
@@ -0,0 +1,176 @@
+-- QSIG-CI.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-203, 4th edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-203.htm
+--
+
+Call-Intrusion-Operations-asn1-97
+ {iso(1) standard(0) pss1-call-intrusion(14846) call-intrusion-operations-asn1-97 (2) }
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso(1) standard(0)
+ pss1-generic-procedures(11582) msi-class-asn1-97(11)}
+ notAvailable, supplementaryServiceInteractionNotAllowed
+ FROM General-Error-List
+ {ccitt recommendation q 950 general-error-list (1)};
+
+Call-Intrusion-Operations OPERATION ::= {pathRetain | serviceAvailable | callIntrusionRequest |
+callIntrusionGetCIPL | callIntrusionIsolate | callIntrusionForcedRelease | callIntrusionWOBRequest |
+callIntrusionCompleted | cfbOverride}
+
+pathRetain OPERATION ::= {
+ ARGUMENT PathRetainArg -- this operation may be used by other
+ -- Supplementary Services using other
+ -- values of the argument
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 41}
+
+serviceAvailable OPERATION ::= {
+ ARGUMENT ServiceAvailableArg -- this operation may be used by other
+ -- Supplementary Services using other
+ -- values of the argument
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 42}
+
+callIntrusionRequest OPERATION ::= {
+ ARGUMENT CIRequestArg
+ RESULT CIRequestRes
+ ERRORS {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
+ unspecified | supplementaryServiceInteractionNotAllowed}
+ CODE local: 43}
+
+callIntrusionGetCIPL OPERATION ::= {
+ ARGUMENT DummyArg
+ RESULT CIGetCIPLRes
+ ALWAYS RESPONDS FALSE
+ CODE local: 44}
+
+callIntrusionForcedRelease OPERATION ::= {
+ ARGUMENT DummyArg
+ RESULT DummyRes
+ ERRORS {notAvailable | unspecified |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local: 46}
+
+callIntrusionIsolate OPERATION ::= {
+ ARGUMENT DummyArg
+ RESULT DummyRes
+ ERRORS {notAvailable | unspecified |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local: 45}
+
+callIntrusionWOBRequest OPERATION ::= {
+ ARGUMENT DummyArg
+ RESULT DummyRes
+ ERRORS {notAvailable | unspecified |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local: 47}
+
+callIntrusionCompleted OPERATION ::= {
+ ARGUMENT DummyArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 48}
+
+PathRetainArg ::= CHOICE {
+ serviceList ServiceList,
+ extendedServiceList SEQUENCE {
+ serviceList ServiceList,
+ extension Extension{{CIExtSet}}
+ }
+ }
+
+ServiceAvailableArg ::= CHOICE {
+ serviceList ServiceList,
+ extendedServiceList SEQUENCE {
+ serviceList ServiceList,
+ extension Extension{{CIExtSet}}
+ }
+ }
+
+ServiceList ::= BIT STRING
+ {ci-low(4), ci-medium(5), ci-high(6)} (SIZE(1..32))
+ -- bits other than ci-low, ci-medium, ci-high are reserved
+ -- for other supplementary services
+
+DummyArg ::= CHOICE{
+ null NULL,
+ extension [1] IMPLICIT Extension{{CIExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}}}
+
+DummyRes ::= CHOICE{
+ null NULL,
+ extension [1] IMPLICIT Extension{{CIExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}}}
+
+CIRequestArg ::= SEQUENCE{
+ ciCapabilityLevel CICapabilityLevel,
+ argumentExtension CHOICE{
+ extension [1] IMPLICIT Extension{{CIExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}}
+ } OPTIONAL}
+
+CIRequestRes ::= SEQUENCE{
+ ciUnwantedUserStatus CIUnwantedUserStatus,
+ resultExtension CHOICE{
+ extension [1] IMPLICIT Extension{{CIExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}}
+ } OPTIONAL}
+
+CIGetCIPLRes ::= SEQUENCE{
+ ciProtectionLevel CIProtectionLevel,
+ resultExtension CHOICE{
+ extension [1] IMPLICIT Extension{{CIExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{CIExtSet}}
+ } OPTIONAL}
+
+CICapabilityLevel ::= ENUMERATED{
+ intrusionLowProt(1),
+ intrusionMediumProt(2),
+ intrusionHighProt(3)}
+
+CIProtectionLevel ::= ENUMERATED{
+ lowProtection(0),
+ mediumProtection(1),
+ highProtection(2),
+ fullProtection(3)}
+
+CIUnwantedUserStatus ::= ENUMERATED{
+ unwantedUserIntruded(0),
+ unwantedUserIsolated(1)}
+
+cfbOverride OPERATION ::= {
+ ARGUMENT DummyArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 49}
+ -- used in the interaction with Call Forwarding Busy
+
+CIExtSet EXTENSION ::= {...}
+
+notBusy ERROR ::= { CODE local: 1009}
+ -- used when an SS-CI request is received in
+ -- a Terminating PINX and the called user is not busy
+
+temporarilyUnavailable ERROR ::= { CODE local: 1000}
+ -- used when conditions for invocation of SS-CI
+ -- are momentarily not met
+
+notAuthorized ERROR ::= { CODE local: 1007}
+ --used when a SS-CI request is rejected
+ --because of insufficient CICL
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{CIExtSet}}
+ CODE local: 1008}
+
+END -- of Call-Intrusion-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-CIDL.asn b/epan/dissectors/asn1/qsig/QSIG-CIDL.asn
new file mode 100644
index 00000000..bcf79a9d
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-CIDL.asn
@@ -0,0 +1,78 @@
+-- QSIG-CIDL.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-314, 2nd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-314.htm
+--
+
+Call-Identification-and-Call-Linkage-Operations-asn1-97
+ {iso(1) standard (0) pss1-call-identification-and-call-linkage (21889)
+ call-identification-and-call-linkage-operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+BEGIN
+IMPORTS
+ OPERATION
+ FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-class-asn1-97
+ { iso standard pss1-generic-procedures (11582) msi-class-asn1-97 (11)};
+
+CallIdentification-Operations OPERATION ::= { callIdentificationAssign | callIdentificationUpdate }
+
+callIdentificationAssign OPERATION ::= {
+ ARGUMENT CallIdentificationAssignArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 105
+ }
+
+callIdentificationUpdate OPERATION ::= {
+ ARGUMENT CallIdentificationUpdateArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 106
+ }
+
+CallIdentificationAssignArg ::= SEQUENCE {
+ globalCallID [0] CallIdentificationData,
+ threadID [1] CallIdentificationData OPTIONAL,
+ legID [2] CallIdentificationData OPTIONAL,
+ extension ExtensionType OPTIONAL
+ }
+
+CallIdentificationUpdateArg ::= SEQUENCE {
+ globalCallID [0] CallIdentificationData OPTIONAL,
+ threadID [1] CallIdentificationData OPTIONAL,
+ legID [2] CallIdentificationData OPTIONAL,
+ extension ExtensionType OPTIONAL
+ }
+
+CallIdentificationData ::= SEQUENCE {
+-- this structure is according to ECMA-269, 12.2.5 (see annex D)
+ switchingSubDomainName [0] IMPLICIT SwitchingSubDomainName OPTIONAL,
+ linkageID CHOICE {
+ subDomainID [1] IMPLICIT SubDomainID,
+ globallyUniqueID [2] IMPLICIT GloballyUniqueID},
+ timeStamp [3] IMPLICIT TimeStamp OPTIONAL
+ }
+
+SwitchingSubDomainName ::= IA5String (SIZE(1..64))
+
+GloballyUniqueID ::= OCTET STRING (SIZE(1..16))
+-- the GloballyUniqueID shall be coded according to ITU-T Recommendation H.225, section 7.6 (see annex D)
+
+ExtensionType ::= CHOICE {
+ extension [3] Extension{{ExampleExtSet}},
+ sequenceOfExt [4] IMPLICIT SEQUENCE OF Extension{{ExampleExtSet}}
+ }
+
+ExampleExtSet EXTENSION ::= {...}
+
+SubDomainID ::= OCTET STRING (SIZE(1..8))
+
+TimeStamp ::= GeneralizedTime (SIZE(16..19))
+
+END -- of Call-Identification-and-Call-Linkage-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-CINT.asn b/epan/dissectors/asn1/qsig/QSIG-CINT.asn
new file mode 100644
index 00000000..29926a18
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-CINT.asn
@@ -0,0 +1,152 @@
+-- QSIG-CINT.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-221, 3rd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-221.htm
+--
+
+Call-Interception-Operations-asn1-97 {iso (1) standard (0) pss1-cint (15054) cint-operations-asn1-97 (1) }
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1(0)}
+
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11)}
+
+ PartyNumber, PresentedNumberUnscreened, PresentationAllowedIndicator
+ FROM Addressing-Data-Elements-asn1-97
+ {iso (1) standard (0) pss1-generic-procedures (11582)
+ addressing-data-elements-asn1-97 (20)}
+
+ Name FROM Name-Operations-asn1-97
+ {iso (1) standard (0) pss1-name (13868) name-operations-asn1-97 (1)};
+
+Call-Interception-Operations OPERATION ::= { cintLegInformation1 | cintLegInformation2 | cintCondition |
+cintDisable | cintEnable}
+
+
+cintLegInformation1 OPERATION ::= {
+ -- Sent from the Intercepting PINX to the Originating PINX --
+ ARGUMENT CintInformation1Arg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 66}
+
+
+cintLegInformation2 OPERATION ::= {
+ -- Sent from the Intercepting PINX to the Intercepted-to PINX --
+ ARGUMENT CintInformation2Arg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 67}
+
+cintCondition OPERATION ::= {
+ -- Sent to a preceding PINX to indicate a condition for possible interception
+ ARGUMENT CintCondArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 68}
+
+cintDisable OPERATION ::= {
+ -- Sent to a Preceding PINX to disable interception delayed --
+ ARGUMENT CintExtension
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 69}
+
+cintEnable OPERATION ::= {
+ -- Sent to a Preceding PINX to reenable interception --
+ ARGUMENT CintExtension
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 70}
+
+CintInformation1Arg ::= SEQUENCE
+ {
+ interceptionCause CintCause,
+ interceptedToNumber PartyNumber,
+ extension CintExtension OPTIONAL
+ }
+
+CintInformation2Arg ::= SEQUENCE
+ {
+ interceptionCause CintCause,
+ calledNumber [1]PresentedNumberUnscreened OPTIONAL,
+ originalCalledNumber [2]PresentedNumberUnscreened OPTIONAL,
+ calledName [3]Name OPTIONAL,
+ originalCalledName [4]Name OPTIONAL,
+ extension CintExtension OPTIONAL
+ }
+
+
+CintCondArg ::= SEQUENCE
+ {
+ interceptionCause Condition,
+ originalCalledNumber [1]PresentedNumberUnscreened OPTIONAL,
+ calledName [2]Name OPTIONAL,
+ originalCalledName [3]Name OPTIONAL,
+ extension CintExtension OPTIONAL
+ }
+
+CintExtension ::= CHOICE
+ {
+ none NULL,
+ single [5] IMPLICIT Extension{{CINTExtSet}},
+ multiple [6] IMPLICIT SEQUENCE OF Extension{{CINTExtSet}}
+ }
+
+CintCause ::= INTEGER {
+ unknown (0),
+ cintBnan (1), -- timeout in waiting on busy condition
+ cintBus (2), -- busy user
+ cintCug (3), -- closed user group rejection
+ cintDnd (4), -- do not disturb activated
+ cintIbd (5), -- incoming barred destination
+ cintInn (6), -- invalid number
+ cintMob1 (7), -- mobile user location not known
+ cintMob2 (8), -- mobile user no longer registered
+ cintMob3 (9), -- mobile terminal not responding
+ cintNcmp (10), -- no compatible destination
+ cintNcong (11), -- network congestion
+ cintNre (12), -- no reply (i.e. timeout during alerting)
+ cintOos (13), -- called user out of service
+ cintRrs (14), -- route restriction (calling user not authorized for
+ -- the route)
+ cintTbnan (15), -- timeout in wait on busy condition after transfer
+ cintTnre (16), -- no reply after transfer (i.e. timeout during alerting
+ -- after transfer
+ cintTrans (17), -- upper limit of transit counter reached
+ cintUpl (18), -- upper limit of number of diversions reached
+ cintInvDiv (19), -- invalid call diversion destination
+ cintHold (20) -- timeout after call hold
+ } (0..127)
+
+
+Condition ::= INTEGER {
+ unknown (0),
+ cintBus (2), -- busy user
+ cintCug (3), -- closed user group rejection
+ cintDnd (4), -- do not disturb activated
+ cintIbd (5), -- incoming barred destination
+ cintInn (6), -- invalid number
+ cintMob1 (7), -- mobile user location not known
+ cintMob2 (8), -- mobile user no longer registered
+ cintMob3 (9), -- mobile terminal not responding
+ cintNcmp (10), -- no compatible destination
+ cintNcong (11), -- network congestion
+ cintOos (13), -- called user out of service
+ cintRrs (14), -- route restriction (calling user not authorized for
+ -- the route
+ cintTrans (17), -- upper limit of transit counter reached
+ cintUpl (18), -- upper limit of number of diversions
+ -- reached
+ cintInvDiv (19) -- invalid call diversion destination
+ } (0..127)
+
+CINTExtSet EXTENSION ::= {...}
+
+END -- of Call-Interception-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-CMN.asn b/epan/dissectors/asn1/qsig/QSIG-CMN.asn
new file mode 100644
index 00000000..99bdb390
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-CMN.asn
@@ -0,0 +1,143 @@
+-- QSIG-CMN.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-251, 3rd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-251.htm
+--
+
+Common-Information-Operations-asn1-97
+ {iso (1) standard (0) pss1-common-information (15772) operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1 (0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11)};
+
+CMN-Operations OPERATION ::= {cmnRequest | cmnInform }
+
+cmnRequest OPERATION ::= {
+ ARGUMENT DummyArg
+ RESULT CmnArg
+ ALWAYS RESPONDS FALSE
+ CODE local: 84}
+
+cmnInform OPERATION ::= {
+ ARGUMENT CmnArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 85}
+
+CmnArg ::= SEQUENCE {
+ featureIdentifier [2] IMPLICIT FeatureIdList OPTIONAL,
+ ssDNDOprotectionLevel [3] IMPLICIT INTEGER (0..3) OPTIONAL,
+ -- Supplementary Service Do Not Disturb Override Protection level,
+ -- meaningful only in backward direction; inclusion indicates
+ -- support of SS-DNDO as well as the applicable protection level.
+ ssCIprotectionLevel [4] IMPLICIT INTEGER (0..3) OPTIONAL,
+ -- Supplementary Service Call Intrusion Protection level,
+ -- meaningful both in forward & backward direction; inclusion indicates support
+ -- of SS-CI as an Unwanted user PINX (forward direction) or as a Terminating
+ -- PINX (backward direction), as well as the applicable protection level.
+ equipmentIdentity [5] IMPLICIT EquipmentId OPTIONAL,
+ partyCategory [6] IMPLICIT PartyCategory OPTIONAL,
+ extension CHOICE {
+ single [7] IMPLICIT Extension{{CMNExtSet}},
+ multiple [8] IMPLICIT SEQUENCE OF
+ Extension{{CMNExtSet}}
+ } OPTIONAL }
+
+DummyArg ::= CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{CMNExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{CMNExtSet}}
+ }
+
+FeatureIdList ::= BIT STRING { -- bit set to ONE means the corresponding feature
+ -- is available for this call
+ reserved (0), -- this Bit shall be reserved
+ ssCFreRoutingSupported (1), -- Call Forwarding rerouting supported
+ -- meaningful only in forward direction
+ -- during call establishment
+ ssCTreRoutingSupported (2), -- Call Transfer rerouting supported
+ -- meaningful both in forward & backward
+ -- direction during call establishment
+ ssCCBSpossible (3), -- CCBS possible
+ -- meaningful only in backward direction
+ -- before receipt of ALERTING/CONNECT
+ ssCCNRpossible (4), -- CCNR possible
+ -- meaningful only in backward direction
+ -- before receipt of CONNECT
+ ssCOsupported (5), -- Call Offer supported
+ -- meaningful only in backward direction
+ -- during call establishment
+
+ -- Call Intrusion
+ ssCIforcedRelease (6), -- meaningful only in backward direction
+ ssCIisolation (7), -- meaningful only in backward direction
+ ssCIwaitOnBusy (8), -- meaningful only in backward direction
+
+ -- Advice of Charge
+ ssAOCsupportChargeRateProvAtGatewPinx (9), -- meaningful only in
+ -- backward direction
+ ssAOCsupportInterimChargeProvAtGatewPinx (10), -- meaningful only in
+ -- backward direction
+ ssAOCsupportFinalChargeProvAtGatewPinx (11), -- meaningful only in
+ -- backward direction
+
+ anfPRsupportedAtCooperatingPinx (12), -- Path replacement
+ -- meaningful both in forward &
+ -- backward direction
+
+ -- Call Interception
+ anfCINTcanInterceptImmediate (13), -- meaningful only in
+ -- forward direction
+ anfCINTcanInterceptDelayed (14), -- meaningful only in
+ -- forward direction
+
+ anfWTMIreRoutingSupported (15), -- Incoming WTM call
+ -- meaningful only in
+ -- forward direction
+ anfPUMIreRoutingSupported (16), -- Incoming PUM call
+ -- meaningful only in
+ -- forward direction
+ ssSSCTreRoutingSupported (17) -- Single Step Call Transfer rerouting
+ -- supported
+ -- meaningful both in forward and
+ -- backward direction during call
+ -- establishment
+ } (SIZE (1..64))
+
+EquipmentId ::= SEQUENCE {
+ nodeId [1] IMPLICIT IA5String (SIZE (1..10)) OPTIONAL,
+ groupId [2] IMPLICIT IA5String (SIZE (1..10)) OPTIONAL,
+ unitId [3] IMPLICIT IA5String (SIZE (1..10)) OPTIONAL
+ }
+-- NOTE:
+-- The purpose of the Equipment Id is to indicate, to another user or to another PINX, information about a
+-- calling or called party involved in a call.
+-- Assignment of network wide unique Equipment Id values is outside the scope of this Standard.
+
+PartyCategory ::= ENUMERATED {
+ unknown (0),
+ extension (1),
+ pisnAttendant (2),
+ emergExt (3)
+ }
+
+-- NOTE:
+-- The purpose of the Party category is to indicate, to another user or to another PINX, the category of a user
+-- involved in a call. An Originating PINX may include an indication of the calling user's category in the SETUP
+-- message sent across an inter-PINX link. A Terminating PINX may include an indication of the called user's
+-- category in an ALERTING message or CONNECT message sent across an inter-PINX link. A received
+-- Party category information may be used for display at the user's terminal or for PINX internal call handling,
+-- e.g. depending on whether the calling or called party is an extension or a PISN attendant, the PINX internal
+-- call handling may invoke different options of a supplementary service related to that call.
+
+CMNExtSet EXTENSION ::= {...}
+
+
+END -- of Common-Information-Operations-asn1-97 \ No newline at end of file
diff --git a/epan/dissectors/asn1/qsig/QSIG-CO.asn b/epan/dissectors/asn1/qsig/QSIG-CO.asn
new file mode 100644
index 00000000..8157d2bf
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-CO.asn
@@ -0,0 +1,102 @@
+-- QSIG-CO.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-192, 4th edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-192.htm
+--
+
+Call-Offer-Operations-asn1-97
+ {iso(1) standard(0) pss1-call-offer(14843) call-offer-operations-asn1-97 (2) }
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso(1) standard(0)
+ pss1-generic-procedures(11582) msi-class-asn1-97 (11)}
+ notAvailable, supplementaryServiceInteractionNotAllowed
+ FROM General-Error-List
+ {ccitt recommendation q 950 general-error-list (1)};
+
+Call-Offer-Operations OPERATION ::= { callOfferRequest | pathRetain | serviceAvailable | cfbOverride }
+
+pathRetain OPERATION ::= {
+ ARGUMENT PathRetainArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 41}
+ -- this operation may be used by other supplementary services
+ -- using other values of argument
+
+serviceAvailable OPERATION ::= {
+ ARGUMENT ServiceAvailableArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 42}
+ -- this operation may be used by other supplementary services
+ -- using other values of argument
+
+callOfferRequest OPERATION ::= {
+ ARGUMENT DummyArg
+ RESULT DummyRes
+ ERRORS {
+ notAvailable |
+ notBusy |
+ temporarilyUnavailable |
+ supplementaryServiceInteractionNotAllowed |
+ unspecified}
+ CODE local: 34}
+
+PathRetainArg ::= CHOICE {serviceList ServiceList,
+ extendedServiceList SEQUENCE{
+ serviceList ServiceList,
+ extension Extension{{COExtSet}}
+ }
+ }
+
+ServiceAvailableArg ::= CHOICE {serviceList ServiceList,
+ extendedServiceList SEQUENCE{
+ serviceList ServiceList,
+ extension Extension{{COExtSet}}
+ }
+ }
+
+ServiceList ::= BIT STRING {callOffer(0)} (SIZE(1..32))
+ -- bits other than callOffer(0) are reserved for
+ -- other supplementary services
+
+DummyArg ::= CHOICE{
+ null NULL,
+ extension [1] IMPLICIT Extension{{COExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{COExtSet}}}
+
+DummyRes ::= CHOICE{
+ null NULL,
+ extension [1] IMPLICIT Extension{{COExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{COExtSet}}}
+
+cfbOverride OPERATION ::= {
+ ARGUMENT DummyArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 49}
+ -- used in the interaction with Call Forwarding Busy
+COExtSet EXTENSION ::= {...}
+
+notBusy ERROR ::= { CODE local: 1009}
+ -- used when an SS-CO request is received in
+ -- a Terminating PINX and the called user is not busy
+
+temporarilyUnavailable ERROR ::= { CODE local: 1000}
+ -- used when conditions for invocation of SS-CO
+ -- are momentarily not met
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{ COExtSet}}
+ CODE local: 1008}
+
+
+END -- of Call-Offer-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-CPI.asn b/epan/dissectors/asn1/qsig/QSIG-CPI.asn
new file mode 100644
index 00000000..7014e015
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-CPI.asn
@@ -0,0 +1,67 @@
+-- QSIG-CPI.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-264, 3rd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-264.htm
+--
+
+Call-Interruption-Operations-asn1-97
+{iso (1) standard (0) pss1-call-interruption (15992) call-interruption-operations-asn1-97 (2) }
+
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1 (0)}
+
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11)};
+
+ -- The following operations are defined:
+
+Call-Interruption-Operations OPERATION ::= { callInterruptionRequest | callProtectionRequest }
+
+callInterruptionRequest OPERATION ::= {
+ ARGUMENT CPIRequestArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 87}
+
+callProtectionRequest OPERATION ::= {
+ ARGUMENT CPIPRequestArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 88}
+
+ -- The following arguments are defined:
+
+CPIRequestArg ::= SEQUENCE{
+ cpiCapabilityLevel CPICapabilityLevel,
+ argumentExtension CHOICE{
+ extension [1] IMPLICIT Extension{{CPIPExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF
+ Extension{{CPIPExtSet}}} OPTIONAL}
+
+CPIPRequestArg ::= SEQUENCE{
+ cpiProtectionLevel CPIProtectionLevel,
+ argumentExtension CHOICE{
+ extension [1] IMPLICIT Extension{{CPIPExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF
+ Extension{{CPIPExtSet}}} OPTIONAL}
+
+CPICapabilityLevel ::= ENUMERATED{
+ interruptionLowPriority (1),
+ interruptionMediumPriority (2),
+ interruptionHighPriority (3)}
+
+CPIProtectionLevel ::= ENUMERATED{
+ noProtection (0),
+ lowProtection (1),
+ mediumProtection (2),
+ totalProtection (3)}
+
+CPIPExtSet EXTENSION ::= {...}
+
+END -- of Call-Interruption-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-CT.asn b/epan/dissectors/asn1/qsig/QSIG-CT.asn
new file mode 100644
index 00000000..45fb81dc
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-CT.asn
@@ -0,0 +1,229 @@
+-- QSIG-CT.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-178, 3rd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-178.htm
+--
+
+Call-Transfer-Operations-asn1-97
+ {iso(1) standard(0) pss1-call-transfer(13869) call-transfer-operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+
+IMPORTS
+ OPERATION, ERROR FROM
+Remote-Operations-Information-Objects {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{} FROM
+Manufacturer-specific-service-extension-class-asn1-97 {iso(1) standard(0) pss1-generic-procedures (11582)
+msi-class-asn1-97(11)}
+ Name FROM
+Name-Operations-asn1-97 {iso(1) standard(0) pss1-name (13868) name-operations-asn1-97 (1)}
+ supplementaryServiceInteractionNotAllowed,
+ notAvailable,
+ invalidCallState FROM
+General-Error-List {ccitt (0) recommendation (0) q 950 general-error-list (1)}
+ PresentedAddressScreened,
+ PresentedNumberScreened,
+ PartyNumber,
+ PartySubaddress FROM
+Addressing-Data-Elements-asn1-97 {iso(1) standard(0) pss1-generic-procedures (11582)
+addressing-data-elements-asn1-97 (20)}
+ PSS1InformationElement
+FROM PSS1-generic-parameters-definition-asn1-97 { iso(1) standard (0) pss1-generic-procedures (11582)
+ pss1-generic-parameters-asn1-97 (17)};
+
+-- TYPE DEFINITIONS FOR CT OPERATIONS FOLLOW
+
+Call-Transfer-Operations OPERATION ::= {callTransferIdentify | callTransferAbandon | callTransferInitiate |
+callTransferSetup | callTransferActive | callTransferComplete | callTransferUpdate | subaddressTransfer}
+
+callTransferIdentify OPERATION ::= {
+ ARGUMENT DummyArg
+ RESULT CTIdentifyRes
+ ERRORS {
+ notAvailable |
+ invalidCallState |
+ unspecified |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local: 7}
+
+callTransferAbandon OPERATION ::= {
+ ARGUMENT DummyArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 8}
+
+callTransferInitiate OPERATION ::= {
+ ARGUMENT CTInitiateArg
+ RESULT DummyRes
+ ERRORS {
+ notAvailable |
+ invalidCallState |
+ invalidRerouteingNumber |
+ unrecognizedCallIdentity |
+ establishmentFailure |
+ unspecified |
+ supplementaryServiceInteractionNotAllowed }
+ CODE local: 9}
+
+callTransferSetup OPERATION ::= {
+ ARGUMENT CTSetupArg
+ RESULT DummyRes
+ ERRORS{
+ notAvailable |
+ invalidCallState |
+ invalidRerouteingNumber |
+ unrecognizedCallIdentity |
+ unspecified |
+ supplementaryServiceInteractionNotAllowed }
+ CODE local: 10}
+
+callTransferActive OPERATION::= {
+ ARGUMENT CTActiveArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 11}
+
+callTransferComplete OPERATION ::= {
+ ARGUMENT CTCompleteArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 12}
+
+callTransferUpdate OPERATION ::= {
+ ARGUMENT CTUpdateArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 13}
+
+subaddressTransfer OPERATION ::= {
+ ARGUMENT SubaddressTransferArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 14}
+
+-- TYPE DEFINITIONS FOR CT DATA TYPES FOLLOW
+
+DummyArg ::= CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{CTExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{CTExtSet}}
+ }
+
+DummyRes ::= CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{CTExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{CTExtSet}}
+ }
+
+CTIdentifyRes ::= SEQUENCE {
+ callIdentity CallIdentity,
+ rerouteingNumber PartyNumber,
+ resultExtension CHOICE {
+ single [6] IMPLICIT Extension{{CTExtSet}},
+ multiple [7] IMPLICIT SEQUENCE OF Extension{{CTExtSet}}
+ } OPTIONAL
+ }
+
+CTInitiateArg ::= SEQUENCE {
+ callIdentity CallIdentity,
+ rerouteingNumber PartyNumber,
+ argumentExtension CHOICE {
+ single [6] IMPLICIT Extension{{CTExtSet}},
+ multiple [7] IMPLICIT SEQUENCE OF Extension{{CTExtSet}}
+ } OPTIONAL
+ }
+
+CTSetupArg ::= SEQUENCE {
+ callIdentity CallIdentity,
+ argumentExtension CHOICE {
+ single [0] IMPLICIT Extension{{CTExtSet}},
+ multiple [1] IMPLICIT SEQUENCE OF Extension{{CTExtSet}}
+ } OPTIONAL
+ }
+
+CTActiveArg ::= SEQUENCE{
+ connectedAddress PresentedAddressScreened,
+ basicCallInfoElements PSS1InformationElement OPTIONAL,
+ -- ISO/IEC 11572 information element
+ -- Progress indicator is conveyed
+ connectedName Name OPTIONAL,
+ argumentExtension CHOICE {
+ single [9] IMPLICIT Extension{{CTExtSet}},
+ multiple [10] IMPLICIT SEQUENCE OF Extension{{CTExtSet}}
+ } OPTIONAL
+ }
+
+CTCompleteArg ::= SEQUENCE {
+ endDesignation EndDesignation,
+ redirectionNumber PresentedNumberScreened,
+ basicCallInfoElements PSS1InformationElement OPTIONAL,
+ -- ISO/IEC 11572 information element
+ -- Progress indicator is conveyed
+ redirectionName Name OPTIONAL,
+ callStatus CallStatus DEFAULT answered,
+ argumentExtension CHOICE {
+ single [9] IMPLICIT Extension{{CTExtSet}},
+ multiple [10] IMPLICIT SEQUENCE OF Extension{{CTExtSet}}
+ } OPTIONAL
+ }
+
+CTUpdateArg ::= SEQUENCE {
+ redirectionNumber PresentedNumberScreened,
+ redirectionName Name OPTIONAL,
+ basicCallInfoElements PSS1InformationElement OPTIONAL,
+ -- ISO/IEC 11572 information element
+ -- Progress indicator is conveyed
+ argumentExtension CHOICE {
+ single [9] IMPLICIT Extension{{CTExtSet}},
+ multiple [10] IMPLICIT SEQUENCE OF Extension{{CTExtSet}}
+ }OPTIONAL }
+
+SubaddressTransferArg ::= SEQUENCE {
+ redirectionSubaddress PartySubaddress,
+ argumentExtension CHOICE {
+ single [0] IMPLICIT Extension{{CTExtSet}},
+ multiple [1] IMPLICIT SEQUENCE OF Extension{{CTExtSet}}
+ } OPTIONAL
+ }
+
+CallStatus ::= ENUMERATED{
+ answered(0),
+ alerting(1)
+ }
+
+CallIdentity ::= NumericString (SIZE (1..4))
+
+EndDesignation ::= ENUMERATED {
+ primaryEnd(0),
+ secondaryEnd(1)
+ }
+
+CTExtSet EXTENSION ::= {...}
+
+unspecified ERROR ::= {
+ PARAMETER Extension {{CTExtSet}}
+ CODE local: 1008 }
+
+
+invalidRerouteingNumber ERROR ::= { CODE local: 1004}
+ -- used when establishment of the new
+ -- connection fails because
+ -- the rerouteingNumber is not a valid
+ -- PISN address
+
+unrecognizedCallIdentity ERROR ::= { CODE local: 1005}
+ -- used when establishment of the new
+ -- connection fails because it could not be
+ -- associated with a SS-CT entity
+ -- at the Secondary PINX
+
+establishmentFailure ERROR ::= { CODE local: 1006}
+ -- used when establishment of the new
+ -- connection fails and no other error applies
+ -- of Call-Transfer-Operations
+
+END -- of Call-Transfer-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-DND.asn b/epan/dissectors/asn1/qsig/QSIG-DND.asn
new file mode 100644
index 00000000..a0a57119
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-DND.asn
@@ -0,0 +1,211 @@
+-- QSIG-DND.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-194, 4th edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-194.htm
+--
+
+Do-Not-Disturb-Operations-asn1-97
+ {iso(1) standard(0) pss1-do-not-disturb(14844) do-not-disturb-operations-asn1-97 (2) }
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso(1) standard(0)
+ pss1-generic-procedures(11582) msi-class-asn1-97(11)}
+ basicServiceNotProvided, invalidServedUserNr, notAvailable,
+ userNotSubscribed, supplementaryServiceInteractionNotAllowed
+ FROM General-Error-List
+ {ccitt recommendation q 950 general-error-list (1)}
+ PartyNumber FROM Addressing-Data-Elements-asn1-97
+ {iso(1) standard(0) pss1-generic-procedures(11582)
+ addressing-data-elements-asn1-97 (20)}
+ BasicService FROM Call-Diversion-Operations-asn1-97
+ {iso(1) standard(0) pss1-call-diversion(13873) call-diversion-operations-asn1-97 (1) }
+ ;
+
+Do-Not-Disturb-Operations OPERATION ::= {doNotDisturbActivateQ | doNotDisturbDeactivateQ |
+doNotDisturbInterrogateQ | doNotDisturbOverrideQ | doNotDisturbOvrExecuteQ | pathRetain | serviceAvailable}
+
+doNotDisturbActivateQ OPERATION ::= {
+ ARGUMENT DNDActivateArg
+ RESULT DNDActivateRes
+ ERRORS { userNotSubscribed |
+ notAvailable |
+ invalidServedUserNr |
+ basicServiceNotProvided |
+ temporarilyUnavailable |
+ supplementaryServiceInteractionNotAllowed |
+ unspecified}
+ CODE local: 35}
+
+doNotDisturbDeactivateQ OPERATION ::= {
+ ARGUMENT DNDDeactivateArg
+ RESULT DummyRes
+ ERRORS { userNotSubscribed |
+ notAvailable |
+ invalidServedUserNr |
+ notActivated |
+ temporarilyUnavailable |
+ supplementaryServiceInteractionNotAllowed |
+ unspecified}
+ CODE local: 36}
+
+doNotDisturbInterrogateQ OPERATION ::= {
+ ARGUMENT DNDInterrogateArg
+ RESULT DNDInterrogateRes
+ ERRORS { userNotSubscribed |
+ notAvailable |
+ invalidServedUserNr |
+ temporarilyUnavailable |
+ supplementaryServiceInteractionNotAllowed |
+ unspecified}
+ CODE local: 37}
+
+doNotDisturbOverrideQ OPERATION ::= {
+ ARGUMENT DNDOverrideArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 38}
+
+pathRetain OPERATION ::= {
+ ARGUMENT PathRetainArg -- this operation may be used by other
+ -- Supplementary Services using other
+ -- values of the argument
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 41}
+
+serviceAvailable OPERATION ::= {
+ ARGUMENT ServiceAvailableArg -- this operation may be used by other
+ -- Supplementary Services using other
+ -- values of the argument
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 42}
+
+doNotDisturbOvrExecuteQ OPERATION ::= {
+ ARGUMENT DummyArg
+ RESULT DummyRes
+ ERRORS { notAvailable |
+ temporarilyUnavailable |
+ supplementaryServiceInteractionNotAllowed |
+ unspecified}
+ CODE local: 39}
+
+DummyArg ::= CHOICE {
+ null NULL,
+ extension [1] IMPLICIT Extension{{DNDExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}}
+ }
+
+DummyRes ::= CHOICE {
+ null NULL,
+ extension [1] IMPLICIT Extension{{DNDExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}}
+ }
+
+DNDActivateArg ::= SEQUENCE {
+ basicService BasicService,
+ servedUserNr PartyNumber,
+ argumentExtension CHOICE{
+ extension [1] IMPLICIT Extension{{DNDExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}}
+ } OPTIONAL
+ }
+
+DNDActivateRes ::= SEQUENCE {
+ status SET OF SEQUENCE{
+ basicService BasicService,
+ dndProtectionLevel DNDProtectionLevel OPTIONAL
+ } OPTIONAL,
+ resultExtension CHOICE{
+ extension [1] IMPLICIT Extension{{DNDExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}}
+ } OPTIONAL
+ }
+
+DNDDeactivateArg ::= SEQUENCE {
+ basicService BasicService,
+ servedUserNr PartyNumber,
+ argumentExtension CHOICE{
+ extension [1] IMPLICIT Extension{{DNDExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}}
+ } OPTIONAL
+ }
+
+DNDInterrogateArg ::= SEQUENCE {
+ servedUserNr PartyNumber,
+ argumentExtension CHOICE{
+ extension [1] IMPLICIT Extension{{DNDExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}}
+ } OPTIONAL
+ }
+
+DNDInterrogateRes ::= SEQUENCE {
+ status SET OF SEQUENCE {
+ basicService BasicService,
+ dndProtectionLevel DNDProtectionLevel OPTIONAL
+ } OPTIONAL,
+ resultExtension CHOICE{
+ extension [1] IMPLICIT Extension{{DNDExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}}
+ } OPTIONAL
+ }
+
+DNDOverrideArg ::= SEQUENCE {
+ dndoCapabilityLevel DNDOCapabilityLevel,
+ argumentExtension CHOICE{
+ extension [1] IMPLICIT Extension{{DNDExtSet}},
+ sequenceOfExtn [2] IMPLICIT SEQUENCE OF Extension{{DNDExtSet}}
+ } OPTIONAL
+ }
+
+PathRetainArg ::= CHOICE {
+ serviceList ServiceList,
+ extendedServiceList SEQUENCE {
+ serviceList ServiceList,
+ extension Extension{{DNDExtSet}}
+ }
+ }
+
+ServiceAvailableArg ::= CHOICE {
+ serviceList ServiceList,
+ extendedServiceList SEQUENCE {
+ serviceList ServiceList,
+ extension Extension{{DNDExtSet}}
+ }
+ }
+
+DNDProtectionLevel ::= ENUMERATED {
+ lowProtection(0),
+ mediumProtection(1),
+ highProtection(2),
+ fullProtection(3)
+ }
+
+DNDOCapabilityLevel ::= ENUMERATED {
+ overrideLowProt(1),
+ overrideMediumProt(2),
+ overrideHighProt(3)
+ }
+
+ServiceList ::= BIT STRING
+ { dndo-low(1), dndo-medium(2), dndo-high(3) } (SIZE (1..32))
+ -- bits other than dndo-low, dndo-medium, or dndo-high, are reserved
+ -- for other Supplementary Services
+
+temporarilyUnavailable ERROR ::= { CODE local: 1000}
+--notActivated ERROR ::= { CODE local: 43}
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{DNDExtSet}}
+ CODE local: 1008}
+
+DNDExtSet EXTENSION ::= {...}
+
+END -- of Do-Not-Disturb-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-MCM.asn b/epan/dissectors/asn1/qsig/QSIG-MCM.asn
new file mode 100644
index 00000000..680bdf35
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-MCM.asn
@@ -0,0 +1,399 @@
+-- QSIG-MCM.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-347, (June 2003)
+-- http://www.ecma-international.org/publications/standards/Ecma-347.htm
+--
+
+SS-MCM-Operations-asn1-97
+{iso (1) identified-organization (3) icd-ecma (12) standard (0)
+qsig-message-centre-monitoring (347)
+message-centre-monitoring-operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM
+ Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) informationObjects (5)
+ version1 (0)}
+
+ EXTENSION, Extension{} FROM
+ Manufacturer-specific-service-extension-class-asn1-97
+ {iso standard pss1-generic-procedures (11582)
+ msi-class-asn1-97 (11)}
+
+ basicServiceNotProvided, userNotSubscribed, invalidServedUserNr
+ FROM General-Error-List
+ {itu-t (0) recommendation (0) q (17) 950
+ general-error-list (1)}
+
+ PresentedAddressUnscreened, PartyNumber FROM
+ Addressing-Data-Elements-asn1-97
+ {iso standard pss1-generic-procedures (11582)
+ addressing-data-elements-asn1-97 (20)}
+ Name FROM Name-Operations-asn1-97
+ {iso standard pss1-name (13868) name-operations-asn1-97 (1)}
+ ;
+
+
+MCM-Operations OPERATION ::= {
+ mCMNewMsg |
+ mCMNoNewMsg |
+ mCMUpdate |
+ mCMUpdateReq |
+ mCMService |
+ mCMInterrogate |
+ mCMailboxFull }
+
+
+mCMNewMsg OPERATION ::= {
+ ARGUMENT MCMNewMsgArg
+ RESULT MCMDummyRes
+ ERRORS {userNotSubscribed |
+ invalidServedUserNr |
+ basicServiceNotProvided |
+ unspecified}
+ CODE local: 80} -- same code as for mWIActivate in SS-MWI
+
+
+mCMNoNewMsg OPERATION ::= {
+ ARGUMENT MCMNoNewMsgArg
+ RESULT MCMDummyRes
+ ERRORS {userNotSubscribed |
+ invalidServedUserNr |
+ basicServiceNotProvided |
+ unspecified}
+ CODE local: 81} -- same code as for mWIDeactivate in SS-MWI
+
+
+mCMUpdate OPERATION ::= {
+ ARGUMENT MCMUpdateArg
+ RESULT MCMDummyRes
+ ERRORS {userNotSubscribed |
+ invalidServedUserNr |
+ unspecified}
+ CODE local: 115}
+
+
+mCMUpdateReq OPERATION ::= {
+ ARGUMENT MCMUpdateReqArg
+ RESULT MCMUpdateReqRes
+ ERRORS {userNotSubscribed |
+ invalidServedUserNr |
+ basicServiceNotProvided |
+ unspecified}
+ CODE local: 82}
+ -- same code as for mWIInterrogate in SS-MWI
+
+mCMService OPERATION ::= {
+ ARGUMENT MCMServiceArg
+ RESULT MCMDummyRes
+ ERRORS {userNotSubscribed |
+ invalidServedUserNr |
+ basicServiceNotProvided |
+ mCMModeNotProvided |
+ unspecified}
+ CODE local: 116}
+
+
+mCMInterrogate OPERATION ::= {
+ ARGUMENT MCMInterrogateArg
+ RESULT MCMInterrogateRes
+ ERRORS {userNotSubscribed |
+ invalidServedUserNr |
+ basicServiceNotProvided |
+ mCMModeNotProvided |
+ unspecified}
+ CODE local: 117}
+
+
+mCMailboxFull OPERATION ::= {
+ ARGUMENT MCMailboxFullArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 118}
+
+
+MCMailboxFullArg ::= SEQUENCE
+ {
+ partyInfo PartyInfo,
+ mailboxFullFor MailboxFullFor,
+ extensions MCMExtensions OPTIONAL,
+ ...
+ }
+
+MailboxFullFor ::= SEQUENCE OF MailboxFullPar
+
+MailboxFullPar ::= SEQUENCE
+ {
+ messageType MessageType,
+ capacityReached INTEGER (0..100) OPTIONAL
+ -- percentage of storage capacity already used
+ }
+
+MCMServiceArg ::= SEQUENCE
+ {
+
+ partyInfo PartyInfo,
+ mCMChange MCMChange,
+ extensions MCMExtensions OPTIONAL,
+ ...
+ }
+
+MCMChange ::= CHOICE
+ {
+ activateMCM [1] IMPLICIT SEQUENCE OF MCMServiceInfo,
+ deactivateMCM [2] IMPLICIT SEQUENCE OF MessageType,
+ setToDefaultValues NULL
+ }
+
+MCMServiceInfo ::= SEQUENCE
+ {
+ messageType MessageType,
+ mCMModeNew [1] IMPLICIT MCMMode OPTIONAL,
+ mCMModeRetrieved [2] IMPLICIT MCMMode OPTIONAL
+ }
+
+MCMInterrogateArg ::= SEQUENCE
+ {
+ partyInfo PartyInfo,
+ interrogateInfo SEQUENCE OF MessageType,
+ extensions MCMExtensions OPTIONAL,
+ ...
+ }
+
+MCMInterrogateRes ::= SEQUENCE
+ {
+ interrogateResult SEQUENCE OF MCMServiceInfo,
+ extensions MCMExtensions OPTIONAL,
+ ...
+ }
+
+MCMNewMsgArg ::= SEQUENCE
+ {
+ servedUserNr PartyNumber,
+ specificMessageType MessageType,
+ msgCentreId MsgCentreId OPTIONAL,
+ nrOfMessages [3] IMPLICIT NrOfMessages OPTIONAL,
+ originatingNr [4] PartyNumber OPTIONAL,
+ timestamp TimeStamp OPTIONAL,
+ priority [5] IMPLICIT INTEGER (0..9) OPTIONAL,
+ argumentExt CHOICE {
+ extension [6] IMPLICIT Extension{{MCMExtSet}},
+ multipleExtension [7] IMPLICIT SEQUENCE OF
+ Extension{{MCMExtSet}}
+ } OPTIONAL
+ }
+
+
+MCMNoNewMsgArg ::= SEQUENCE
+ {
+ servedUserNr PartyNumber,
+ specificMessageType MessageType,
+ msgCentreId MsgCentreId OPTIONAL,
+ argumentExt CHOICE {
+ extension [3] IMPLICIT Extension{{MCMExtSet}},
+ multipleExtension [4] IMPLICIT SEQUENCE OF
+ Extension{{MCMExtSet}}
+ } OPTIONAL
+ }
+
+MCMUpdateArg ::= SEQUENCE
+ {
+ partyInfo PartyInfo,
+ messageType MessageType,
+ updateInfo UpdateInfo,
+ moreInfoFollows BOOLEAN DEFAULT FALSE,
+ extensions MCMExtensions OPTIONAL,
+ ...
+ }
+
+
+MCMUpdateReqArg ::= SEQUENCE
+ {
+ servedUserNr PartyNumber,
+ specificMessageType MessageType,
+ msgCentreId MsgCentreId OPTIONAL,
+ argumentExt CHOICE {
+ extension [3] IMPLICIT Extension{{MCMExtSet}},
+ multipleExtension [4] IMPLICIT SEQUENCE OF
+ Extension{{MCMExtSet}}
+ } OPTIONAL
+ }
+
+
+MCMUpdateReqRes ::= SEQUENCE SIZE (1..10) OF MCMUpdateReqResElt
+
+
+MCMUpdateReqResElt ::= SEQUENCE
+ {
+ specificMessageType MessageType,
+ msgCentreId MsgCentreId OPTIONAL,
+ nrOfMessages [3] IMPLICIT NrOfMessages OPTIONAL,
+ originatingNr [4] PartyNumber OPTIONAL,
+ timestamp TimeStamp OPTIONAL,
+ priority [5] IMPLICIT INTEGER (0..9) OPTIONAL,
+ argumentExt CHOICE {
+ extension [6] IMPLICIT Extension{{MCMExtSet}},
+ multipleExtension [7] IMPLICIT SEQUENCE OF
+ Extension{{MCMExtSet}}
+ } OPTIONAL
+ }
+
+
+MCMMode ::= INTEGER
+ {
+ compressed (0),
+ complete (1)
+ }
+
+MCMDummyRes ::= MCMExtensions
+
+
+PartyInfo ::= SEQUENCE
+ {
+ servedUserNr PartyNumber,
+ messageCentreID MsgCentreId
+ }
+
+UpdateInfo ::= CHOICE
+ {
+ newMsgInfoOnly [1] MessageInfo,
+ retrievedMsgInfoOnly [2] MessageInfo,
+ allMsgInfo AllMsgInfo
+ }
+
+
+AllMsgInfo ::= SEQUENCE
+ {
+ newMsgInfo MessageInfo,
+ retrievedMsgInfo MessageInfo
+ }
+
+
+MessageInfo ::= CHOICE
+ {
+ completeInfo [1] IMPLICIT CompleteInfo,
+ compressedInfo [2] IMPLICIT CompressedInfo,
+ noMsgsOfMsgType NULL
+ }
+
+
+CompleteInfo ::= SEQUENCE OF AddressHeader
+
+
+AddressHeader ::= SEQUENCE
+ {
+ originatorNr PartyNumber,
+ timeStamp [1] IMPLICIT TimeStamp OPTIONAL,
+ priority [2] IMPLICIT Priority OPTIONAL
+ }
+
+
+CompressedInfo ::= SEQUENCE
+ {
+ nrOfMessages NrOfMessages,
+ lastTimeStamp TimeStamp OPTIONAL,
+ highestPriority Priority OPTIONAL
+ }
+
+
+NrOfMessages ::= INTEGER (0..65535)
+
+
+Priority ::= INTEGER (0..9) -- the value 0 means the highest priority
+ -- and 9 the lowest
+
+MsgCentreId ::= CHOICE
+ {
+ integer [0] IMPLICIT INTEGER (0..65535),
+ partyNumber [1] PartyNumber,
+ numericString [2] IMPLICIT NumericString (SIZE(1..10))
+ }
+
+TimeStamp ::= GeneralizedTime (SIZE (12..19))
+ -- a VisibleString containing:
+ -- - the (local) date in 8 digits (YYYYMMDD),
+ -- - followed by (local) time of day in 4 or 6 digits (HHMM[SS]),
+ -- - optionally followed by the letter "Z" or
+ -- by a local time differential in 5 digits ("+"HHMM or "-"HHMM);
+ -- this date and time representation follows ISO 8601
+ -- Examples: 1) 19970621194530, meaning 21 June 1997, 19:45:30;
+ -- 2) 19970621194530Z, meaning the same as 1);
+ -- 3) 19970621194530-0500, meaning the same as 1),
+ -- 5 hours retarded in relation to UTC time
+
+
+MessageType ::= ENUMERATED
+ {
+ -- Note: for the following message type see also Annex D.4
+ allServices (0),
+ -- Note: for the following message types see also Annex D.1
+ -- For compatibility among vendors, speech is recommended for
+ -- voice mail indications
+ speech (1),
+ unrestrictedDigitalInformation (2),
+ audio3100Hz (3),
+ telephony (32),
+ teletex (33),
+ telefaxGroup4Class1 (34),
+ videotextSyntaxBased (35),
+ videotelephony (36),
+ telefaxGroup2-3 (37),
+ reservedNotUsed1 (38),
+ reservedNotUsed2 (39),
+ reservedNotUsed3 (40),
+ reservedNotUsed4 (41),
+ reservedNotUsed5 (42),
+ -- Note: for the following message types see also annex D.2
+ email (51),
+ video (52),
+ fileTransfer (53),
+ shortMessageService (54),
+ -- Note: for the following message types see also annex D.3
+ speechAndVideo (55),
+ speechAndFax (56),
+ speechAndEmail (57),
+ videoAndFax (58),
+ videoAndEmail (59),
+ faxAndEmail (60),
+ speechVideoAndFax (61),
+ speechVideoAndEmail (62),
+ speechFaxAndEmail (63),
+ videoFaxAndEmail (64),
+ speechVideoFaxAndEmail (65),
+ -- Note: for the following message types see also annex D.4
+ multimediaUnknown (66),
+ serviceUnknown (67),
+ futureReserve1 (68),
+ futureReserve2 (69),
+ futureReserve3 (70),
+ futureReserve4 (71),
+ futureReserve5 (72),
+ futureReserve6 (73),
+ futureReserve7 (74),
+ futureReserve8 (75)
+ }
+
+MCMExtensions ::= CHOICE
+ {
+ none NULL,
+ extension [1] IMPLICIT Extension {{MCMExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF
+ Extension {{ MCMExtSet }}
+ }
+
+mCMModeNotProvided ERROR ::= {
+ CODE local:1037}
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{MCMExtSet}}
+ CODE local:1008}
+
+MCMExtSet EXTENSION ::= {...}
+
+
+END -- of SS-MCM-Operations-asn1-97
+
diff --git a/epan/dissectors/asn1/qsig/QSIG-MCR.asn b/epan/dissectors/asn1/qsig/QSIG-MCR.asn
new file mode 100644
index 00000000..26944ac2
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-MCR.asn
@@ -0,0 +1,169 @@
+-- QSIG-MCR.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-344, (June 2003)
+-- http://www.ecma-international.org/publications/standards/Ecma-344.htm
+--
+
+SS-MCR-Operations-asn97
+{iso (1) identified-organization (3) icd-ecma (12) standard (0)
+ qsig-make-call-request (344) make-call-request-operations (0)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+OPERATION,
+ERROR
+FROM Remote-Operations-Information-Objects
+{ joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1 (0) }
+
+EXTENSION,
+Extension {}
+FROM Manufacturer-specific-service-extension-class-asn1-97
+{ iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) }
+
+Name
+FROM Name-Operations-asn1-97
+{ iso (1) standard (0) pss1-name (13868) name-operations-asn1-97 (1) }
+
+BasicService
+FROM Call-Diversion-Operations-asn1-97
+{ iso (1) standard (0) pss1-call-diversion (13873)
+ call-diversion-operations-asn1-97 (1) }
+
+basicServiceNotProvided,
+supplementaryServiceInteractionNotAllowed,
+userNotSubscribed
+FROM General-Error-List
+{itu-t (0) recommendation (0) q (17) 950 general-error-list (1)}
+
+PresentedAddressUnscreened
+FROM Addressing-Data-Elements-asn1-97
+{ iso (1) standard (0) pss1-generic-procedures (11582)
+ addressing-data-elements-asn1-97 (20) }
+
+CallIdentity, establishmentFailure
+FROM Path-Replacement-Operations-asn1-97
+{iso (1) standard (0) pss1-path-replacement (13874) pr-operations-asn1-97(1)}
+;
+
+Make-Call-Request-Operations OPERATION::= {
+ mCRequest | mCAlerting | mCInform }
+
+mCRequest OPERATION ::= {
+ ARGUMENT MCRequestArg
+ RESULT MCRequestResult
+ ERRORS {userNotSubscribed|
+ basicServiceNotProvided|
+ supplementaryServiceInteractionNotAllowed|
+ invalidDestinationNumber|
+ invalidCooperationNumber|
+ mCRequestNotAllowed|
+ mCExecutionNotAllowed|
+ mCDestUserBusy|
+ mCCoopUserBusy|
+ mCCoopUserRejected|
+ establishmentFailure|
+ unspecified}
+ CODE local: 112
+ }
+
+mCInform OPERATION ::= {
+ ARGUMENT MCInformArg
+ RETURN RESULT FALSE
+ ERRORS {userNotSubscribed|
+ basicServiceNotProvided|
+ supplementaryServiceInteractionNotAllowed|
+ invalidDestinationNumber|
+ mCExecutionNotAllowed|
+ mCDestUserBusy|
+ unspecified}
+ ALWAYS RESPONDS FALSE
+ CODE local: 113
+ }
+
+mCAlerting OPERATION ::= {
+ ARGUMENT MCAlertingArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 114
+ }
+
+MCRequestArg ::= SEQUENCE
+ {
+ callType CallType,
+ retainOrigCall BOOLEAN DEFAULT TRUE,
+ destinationAddress PresentedAddressUnscreened,
+ requestingAddress [0] PresentedAddressUnscreened OPTIONAL,
+ cooperatingAddress [1] PresentedAddressUnscreened OPTIONAL,
+ correlation Correlation,
+ extensions MCRExtensions OPTIONAL,
+ ...
+ }
+
+MCRequestResult ::= SEQUENCE
+ {
+ extensions MCRExtensions OPTIONAL,
+ ...
+ }
+
+MCInformArg ::= SEQUENCE
+ {
+ requestingAddress [0] PresentedAddressUnscreened OPTIONAL,
+ cooperatingAddress [1] PresentedAddressUnscreened OPTIONAL,
+ correlation Correlation,
+ extensions MCRExtensions OPTIONAL,
+ ...
+ }
+
+MCAlertingArg ::= SEQUENCE
+ {
+ correlation Correlation,
+ extensions MCRExtensions OPTIONAL,
+ ...
+ }
+CallType ::= CHOICE
+ {
+ basicService BasicService,
+ cisc NULL
+ }
+
+Correlation ::= SEQUENCE
+ {
+ correlationData CallIdentity,
+ correlationReason CorrelationReason OPTIONAL
+ }
+CorrelationReason ::= INTEGER
+ {
+ unknown (0),
+ mCACommunication (1),
+ cTIApplication (2)
+ } (0..255)
+
+MCRExtensions ::= CHOICE
+ {
+ none NULL,
+ single [0] IMPLICIT Extension
+ { { MakeCallRequestExtension } } ,
+ multiple [1] IMPLICIT SEQUENCE OF Extension
+ { { MakeCallRequestExtension } }
+ }
+
+MakeCallRequestExtension EXTENSION::= {...}
+
+invalidDestinationNumber ERROR ::= {CODE local : 1030}
+invalidCooperationNumber ERROR ::= {CODE local : 1031}
+mCRequestNotAllowed ERROR ::= {CODE local : 1032}
+mCExecutionNotAllowed ERROR ::= {CODE local : 1033}
+mCDestUserBusy ERROR ::= {CODE local : 1034}
+mCCoopUserBusy ERROR ::= {CODE local : 1035}
+mCCoopUserRejected ERROR ::= {CODE local : 1036}
+unspecified ERROR ::= {PARAMETER Extension
+ { { MakeCallRequestExtension } }
+ CODE local : 1008
+ }
+
+END -- of SS-MCR-Operations
diff --git a/epan/dissectors/asn1/qsig/QSIG-MID.asn b/epan/dissectors/asn1/qsig/QSIG-MID.asn
new file mode 100644
index 00000000..8e5bbe07
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-MID.asn
@@ -0,0 +1,129 @@
+-- QSIG-MID.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-347, (June 2003)
+-- http://www.ecma-international.org/publications/standards/Ecma-347.htm
+--
+
+SS-MID-Operations-asn1-97
+{iso (1) identified-organization (3) icd-ecma (12) standard (0)
+qsig-mailbox-identification (347) mailbox-identification-operations-asn1-97 (2)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM
+ Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) informationObjects (5)
+ version1 (0)}
+
+ EXTENSION, Extension{} FROM
+ Manufacturer-specific-service-extension-class-asn1-97
+ {iso standard pss1-generic-procedures (11582) msi-class-asn1-97
+ (11)}
+
+ basicServiceNotProvided, userNotSubscribed, invalidServedUserNr
+ FROM General-Error-List
+ {itu-t (0) recommendation (0) q (17) 950 general-error-list (1)}
+
+ PresentedAddressUnscreened FROM
+ Addressing-Data-Elements-asn1-97
+ {iso standard pss1-generic-procedures (11582) addressing-data-elements-asn1-97 (20)}
+
+ Name FROM
+ Name-Operations-asn1-97
+ {iso standard pss1-name (13868) name-operations-asn1-97 (1)}
+
+ MessageType, MsgCentreId FROM
+ SS-MCM-Operations-asn1-97
+ {iso (1) identified-organization (3) icd-ecma (12) standard (0)
+ qsig-message-centre-monitoring (347)
+ message-centre-monitoring-operations-asn1-97 (1)}
+ ;
+
+
+MID-Operations OPERATION ::= {mIDMailboxAuth |
+ mIDMailboxID}
+
+mIDMailboxAuth OPERATION ::= {
+ ARGUMENT MIDMailboxAuthArg
+ RESULT MIDDummyRes
+ ERRORS {userNotSubscribed |
+ invalidServedUserNr |
+ invalidMailbox |
+ authorizationFailed |
+ unspecified}
+ CODE local:119}
+
+mIDMailboxID OPERATION ::= {
+ ARGUMENT MIDMailboxIDArg
+ RESULT MIDDummyRes
+ ERRORS {userNotSubscribed |
+ invalidServedUserNr |
+ invalidMailbox |
+ unspecified}
+ CODE local:120}
+
+
+MIDMailboxAuthArg ::= SEQUENCE
+ {
+
+ partyInfo PartyInfo,
+ servedUserName Name OPTIONAL,
+ mailBox [8]String OPTIONAL,
+ password String,
+ extensions MIDExtensions OPTIONAL,
+ ...
+ }
+
+
+MIDMailboxIDArg ::= SEQUENCE
+ {
+
+ partyInfo PartyInfo,
+ servedUserName Name OPTIONAL,
+ mailBox String,
+ extensions MIDExtensions OPTIONAL,
+ ...
+ }
+
+
+MIDDummyRes ::= MIDExtensions
+
+PartyInfo ::= SEQUENCE
+ {
+ servedUserNr PresentedAddressUnscreened,
+ messageType MessageType OPTIONAL,
+ messageCentreID MsgCentreId
+ }
+
+String ::= CHOICE
+ {
+ stringBmp BMPString,
+ stringUtf8 UTF8String
+ }
+
+
+MIDExtensions ::= CHOICE
+ {
+ none NULL,
+ extension [1] IMPLICIT Extension {{MIDExtSet}},
+ multipleExtension [2] IMPLICIT SEQUENCE OF
+ Extension {{ MIDExtSet }}
+ }
+
+invalidMailbox ERROR ::= {
+ CODE local:1039}
+
+
+authorizationFailed ERROR ::= {
+ CODE local:1040}
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{MIDExtSet}}
+ CODE local:1008}
+
+MIDExtSet EXTENSION ::= {...}
+
+END -- of SS-MID-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-NA.asn b/epan/dissectors/asn1/qsig/QSIG-NA.asn
new file mode 100644
index 00000000..7b03b8b4
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-NA.asn
@@ -0,0 +1,135 @@
+-- QSIG-NA.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-164, 4th edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-164.htm
+--
+
+Name-Operations-asn1-97
+ { iso ( 1) standard ( 0) pss1-name (13868) name-operations-asn1-97( 1) }
+
+
+DEFINITIONS ::=
+
+BEGIN
+
+IMPORTS
+
+OPERATION FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+
+EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ { iso standard pss1-generic-procedures (11582) msi-class-asn1-97 ( 11) };
+
+Name-Operations OPERATION ::= { callingName | calledName | connectedName | busyName }
+
+callingName OPERATION ::= {
+ ARGUMENT NameArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 0
+ }
+
+calledName OPERATION ::= {
+ ARGUMENT NameArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 1
+ }
+
+connectedName OPERATION ::= {
+ ARGUMENT NameArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 2
+ }
+
+busyName OPERATION ::= {
+ ARGUMENT NameArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 3
+ }
+
+NameArg ::= CHOICE {
+ name Name,
+ nameSequence SEQUENCE {
+ name Name,
+ extension NameExtension OPTIONAL
+ }
+ }
+
+NameExtension ::= CHOICE {
+ single [5] IMPLICIT Extension{{NameExtensionSet}},
+ multiple [6] IMPLICIT SEQUENCE OF Extension{{NameExtensionSet}}
+ }
+
+NameExtensionSet EXTENSION ::= {...}
+
+Name ::= CHOICE
+ { namePresentationAllowed NamePresentationAllowed,
+ namePresentationRestricted NamePresentationRestricted,
+ nameNotAvailable NameNotAvailable }
+
+NamePresentationAllowed ::= CHOICE
+ { namePresentationAllowedSimple [0] IMPLICIT NameData,
+ namePresentationAllowedExtended [1] IMPLICIT NameSet }
+ -- iso8859-1 is implied in namePresentationAllowedSimple.
+
+NamePresentationRestricted ::= CHOICE
+ { namePresentationRestrictedSimple [2] IMPLICIT NameData,
+ namePresentationRestrictedExtended [3] IMPLICIT NameSet,
+ namePresentationRestrictedNull [7] IMPLICIT NULL}
+ -- iso8859-1 is implied in namePresentationRestrictedSimple.
+ -- namePresentationRestrictedNull shall only be used in the
+ -- case of interworking where the other network provides an
+ -- indication that the name is restricted without the name itself.
+
+NameNotAvailable ::= [4] IMPLICIT NULL
+
+NameData ::= OCTET STRING (SIZE (1..50))
+ -- The maximum allowed size of the name field is 50 octets.
+ -- The minimum required size of the name field is 1 octet.
+
+NameSet ::= SEQUENCE
+ { nameData NameData,
+ characterSet CharacterSet OPTIONAL }
+ -- If characterSet is not included, iso8859-1 is implied.
+
+CharacterSet ::= INTEGER
+ { unknown (0),
+ iso8859-1 (1),
+ -- The character set "iso8859-1" is specified in International
+ -- Standard ISO 8859-1
+ -- The value 2 was assigned for CCITT Rec. T.61
+ -- which has been withdrawn by ITU-T.
+ iso8859-2 (3),
+ -- The character set "iso8859-2" is specified in International
+ -- Standard ISO 8859-2
+ iso8859-3 (4),
+ --The character set "iso8859-3" is specified in International
+ -- Standard ISO 8859-3
+ iso8859-4 (5),
+ --The character set "iso8859-4" is specified in International
+ -- Standard ISO 8859-4
+ iso8859-5 (6),
+ --The character set "iso8859-5" is specified in International
+ -- Standard ISO 8859-5
+ iso8859-7 (7),
+ --The character set "iso8859-7" is specified in International
+ -- Standard ISO 8859-7
+ iso10646-BmpString (8),
+ -- The character set "iso10646-BmpString" is specified in International
+ -- Standard ISO 10646-1 and in ITU-T Rec. X.680
+ -- with this character set, each character occupies 2 octets in NameData
+ iso10646-utf-8String (9)
+ -- The character set "iso10646-utf-8String" is specified in International
+ -- Standard ISO 10646-1
+ -- UTF-8-String is defined in Annex R of ISO 10646-1
+ -- with this character set, each character occupies a variable
+ -- number of octets (1...6) in NameData
+ } (0..255)
+ -- Other character sets might be added in further editions of
+ -- this Standard
+
+END -- of Name-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-PR.asn b/epan/dissectors/asn1/qsig/QSIG-PR.asn
new file mode 100644
index 00000000..7274ea1b
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-PR.asn
@@ -0,0 +1,169 @@
+-- QSIG-PR.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-176, 4th edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-176.htm
+--
+
+Path-Replacement-Operations-asn1-97
+ {iso standard pss1-path-replacement (13874) pr-operations-asn1-97(1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso standard
+ pss1-generic-procedures (11582) msi-class-asn1-97 (11)}
+ notAvailable, supplementaryServiceInteractionNotAllowed
+ FROM General-Error-List
+ {ccitt recommendation q 950 general-error-list (1)}
+ PartyNumber FROM Addressing-Data-Elements-asn1-97
+ {iso(1) standard(0) pss1-generic-procedures(11582)
+ addressing-data-elements-asn1-97 (20)};
+
+Path-Replacement-Operations OPERATION ::={
+pathReplacePropose | pathReplaceSetup | pathReplaceRetain | pathReplaceInvite}
+
+pathReplaceInvite OPERATION ::= {
+ ARGUMENT DummyArg
+ RETURN RESULT FALSE
+ ERRORS {
+ notAvailable |
+ temporarilyUnavailable |
+ supplementaryServiceInteractionNotAllowed |
+ criteriaPermanentlyUnachievable |
+ criteriaTemporarilyUnachievable |
+ invalidRerouteingNumber |
+ unrecognizedCallIdentity |
+ establishmentFailure |
+ collision |
+ unspecified }
+ ALWAYS RESPONDS FALSE
+ CODE local: 86 }
+
+pathReplacePropose OPERATION ::= {
+ ARGUMENT PRProposeArg
+ RETURN RESULT FALSE
+ ERRORS {
+ notAvailable |
+ temporarilyUnavailable |
+ supplementaryServiceInteractionNotAllowed |
+ criteriaPermanentlyUnachievable |
+ criteriaTemporarilyUnachievable |
+ invalidRerouteingNumber |
+ unrecognizedCallIdentity |
+ establishmentFailure |
+ collision |
+ unspecified }
+ ALWAYS RESPONDS FALSE
+ CODE local: 4 }
+
+pathReplaceSetup OPERATION ::= {
+ ARGUMENT PRSetupArg
+ RESULT DummyResult
+ ERRORS {
+ criteriaPermanentlyUnachievable |
+ criteriaTemporarilyUnachievable |
+ invalidRerouteingNumber |
+ unrecognizedCallIdentity |
+ temporarilyUnavailable |
+ unspecified }
+ CODE local: 5 }
+
+pathReplaceRetain OPERATION ::= {
+ ARGUMENT PRRetainArg
+ RESULT DummyResult
+ ERRORS {
+ notAvailable |
+ temporarilyUnavailable |
+ supplementaryServiceInteractionNotAllowed |
+ criteriaPermanentlyUnachievable |
+ criteriaTemporarilyUnachievable |
+ invalidRerouteingNumber |
+ unrecognizedCallIdentity |
+ establishmentFailure |
+ unspecified }
+ CODE local: 6 }
+
+PRProposeArg ::= SEQUENCE {
+ callIdentity CallIdentity,
+ rerouteingNumber PartyNumber,
+ extension CHOICE {
+ single [1] IMPLICIT Extension{{PRExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}}
+ } OPTIONAL
+ }
+
+PRSetupArg ::= SEQUENCE {
+ callIdentity CallIdentity,
+ extension CHOICE {
+ single [1] IMPLICIT Extension{{PRExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}}
+ } OPTIONAL
+ }
+
+PRRetainArg ::= SEQUENCE {
+ callIdentity CallIdentity,
+ rerouteingNumber PartyNumber,
+ extension CHOICE {
+ single [1] IMPLICIT Extension{{PRExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}}
+ } OPTIONAL
+ }
+
+DummyResult ::= CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{PRExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}}
+ }
+
+DummyArg ::= CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{PRExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{PRExtSet}}
+ }
+
+PRExtSet EXTENSION ::= {...}
+
+CallIdentity ::= NumericString (SIZE(1..4))
+
+temporarilyUnavailable ERROR ::= {CODE local: 1000}
+ -- used when the operation is temporarily not available and none of
+ -- the other errors applies - a later attempt could be successful
+
+collision ERROR ::= {CODE local: 1001}
+ -- used when a pathReplacePropose invoke APDU is received by a PINX
+ -- which has sent a pathReplacePropose invoke APDU
+
+criteriaPermanentlyUnachievable ERROR ::= {CODE local: 1002}
+ -- used when the special criteria requested cannot be achieved
+ -- because the necessary resources are permanently unavailable
+
+criteriaTemporarilyUnachievable ERROR ::= {CODE local: 1003}
+ -- used when the special criteria requested cannot be achieved
+ -- because the necessary resources are temporarily unavailable
+ -- a later attempt could be successful
+
+invalidRerouteingNumber ERROR ::= {CODE local: 1004}
+ -- used when the establishment of the new connection fails because the
+ -- Called party number information element is not a valid number for
+ -- routeing the new connection to
+
+unrecognizedCallIdentity ERROR ::= {CODE local: 1005}
+ -- used when establishment of the new connection fails because it could
+ -- not be associated with the old connection at the Requesting PINX
+
+establishmentFailure ERROR ::= {CODE local: 1006}
+ -- used when establishment of the new connection fails and no other error
+ -- applies
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{PRExtSet}}
+ CODE local: 1008}
+ -- used to convey a manufacturer specific error, possibly with other information
+ -- of Path-Replacement-Operations
+
+END -- of Path-Replacement-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-PUMCH.asn b/epan/dissectors/asn1/qsig/QSIG-PUMCH.asn
new file mode 100644
index 00000000..dfe66975
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-PUMCH.asn
@@ -0,0 +1,135 @@
+-- QSIG-PUMCH.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-284, 3rd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-284.htm
+--
+
+Private-User-Mobility-Call-Handling-Operations-asn1-97
+ { iso (1) standard (0) pss1-pum-call-handling (17878) pum-call-handling-operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ { joint-iso-itu-t remote-operations (4) informationObjects (5) version1 (0) }
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ { iso (1) standard (0)
+ pss1-generic-procedures (11582) msi-class-asn1-97(11) }
+ PSS1InformationElement FROM PSS1-generic-parameters-definition-asn1-97
+ { iso (1) standard (0)
+ pss1-generic-procedures (11582) pss1-generic-parameters-asn1-97 (17) }
+ Name FROM Name-Operations-asn1-97
+ { iso (1) standard (0)
+ pss1-name (13868) name-operations-asn1-97 (1) }
+ basicServiceNotProvided, invalidServedUserNr, notAvailable FROM
+ General-Error-List
+ { ccitt recommendation q 950 general-error-list (1) }
+ Address, PartyNumber, PartySubaddress, PresentedNumberScreened FROM
+ Addressing-Data-Elements-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582)
+ addressing-data-elements-asn1-97 (20) };
+
+Private-User-Mobility-Call-Handling-Operations OPERATION ::= { pumiEnquiry | pumiDivert | pumiInform |
+pumoCall }
+
+-- Operations for ANF-PUMI: --
+pumiEnquiry OPERATION ::= {
+ -- Sent from the PUMI-detect PINX to the Home PINX.
+ ARGUMENT EnquiryArg
+ RESULT EnquiryRes
+ ERRORS { invalidServedUserNr | locationNotKnown |
+ notAvailable | basicServiceNotProvided | unspecified }
+ CODE local: 93}
+pumiDivert OPERATION ::= {
+ -- Sent from the PUMI-detect PINX to the Rerouteing PINX.
+ ARGUMENT DivertArg
+ RESULT DummyRes
+ ERRORS { notAvailable | unspecified }
+ CODE local: 94}
+
+pumiInform OPERATION ::= {
+ -- Sent from the Rerouteing PINX to the Visitor PINX.
+ ARGUMENT InformArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 95}
+EnquiryArg ::= SEQUENCE { pisnNumber PartyNumber,
+ -- The PISN number of the PUM user
+ qSIGInfoElement PSS1InformationElement,
+ -- The basic call information elements Bearer capability, High layer compatibility,
+ -- Low layer compatibility can be embedded in the qSIGInfoElement
+ -- in accordance with clause 6.5.2.1.
+ argExtension PumiExtension OPTIONAL }
+DivertArg ::= SEQUENCE { hostingAddr PartyNumber,
+ -- The PISN number of the hosting user,
+ -- always a Complete Number.
+ callingNumber PresentedNumberScreened,
+ pumIdentity PumIdentity,
+ -- The PISN number (always a Complete Number)
+ -- and/or an alternative identifier of the PUM user.
+ qSIGInfoElement PSS1InformationElement,
+ -- The basic call information elements Bearer capability, High layer compatibility,
+ -- Low layer compatibility, and Progress indicator
+ -- can be embedded in the qSIGInfoElement in accordance with clause 6.5.2.1.
+ callingUserSub [ 1 ] PartySubaddress OPTIONAL,
+ callingUserName [ 2 ] Name OPTIONAL,
+ pumUserSub [ 3 ] PartySubaddress OPTIONAL,
+ argExtension PumiExtension OPTIONAL }
+InformArg ::= SEQUENCE { pumIdentity PumIdentity,
+ -- The PISN number (always a Complete Number)
+ -- and/or an alternative identifier of the PUM user.
+ argExtension PumiExtension OPTIONAL }
+EnquiryRes ::= CHOICE { currLocation [ 1 ] IMPLICIT CurrLocation,
+ cfuActivated [ 2 ] IMPLICIT CfuActivated }
+CurrLocation ::= SEQUENCE { hostingAddr PartyNumber,
+ -- The PISN number of the hosting user,
+ -- always a Complete Number.
+ pumIdentity PumIdentity,
+ -- The PISN number (always a Complete Number)
+ -- and/or an alternative identifier of the PUM user.
+ argExtension PumiExtension OPTIONAL }
+CfuActivated ::= SEQUENCE { divToAddress Address,
+ divOptions SubscriptionOption,
+ pumName [ 1 ] Name OPTIONAL,
+ argExtension PumiExtension OPTIONAL }
+SubscriptionOption ::=ENUMERATED { noNotification (0),
+ notificationWithoutDivertedToNr (1),
+ notificationWithDivertedToNr (2) }
+
+DummyRes ::= CHOICE { null NULL,
+ extension [ 1 ] IMPLICIT Extension{{PUMCHExtSet}},
+ sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF
+ Extension{{PUMCHExtSet}} }
+PumiExtension ::= CHOICE { extension [ 4 ] IMPLICIT Extension{{PUMCHExtSet}},
+ sequOfExtn [ 5 ] IMPLICIT SEQUENCE OF
+ Extension{{PUMCHExtSet}} }
+PumIdentity ::= CHOICE { pisnNumber PartyNumber,
+ alternativeId [ 10 ] IMPLICIT AlternativeId,
+ both [ 11 ] IMPLICIT SEQUENCE
+ { pisnNumber PartyNumber,
+ alternativeId AlternativeId } }
+AlternativeId ::= OCTET STRING(SIZE(1..20))
+-- Operation for ANF-PUMO --
+pumoCall OPERATION ::= {
+ ARGUMENT PumoArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 96}
+PumoArg ::= SEQUENCE { destinationNumber [0] PartyNumber OPTIONAL,
+ pumIdentity [1] PumIdentity OPTIONAL,
+ -- The PISN number (always a Complete Number)
+ -- and/or an alternative identifier of the PUM user.
+ sendingComplete [2] IMPLICIT NULL OPTIONAL,
+ extension CHOICE
+ {single [3] IMPLICIT Extension{{PUMCHExtSet}},
+ multiple [4] IMPLICIT SEQUENCE OF
+ Extension{{PUMCHExtSet}} }
+ OPTIONAL }
+PUMCHExtSet EXTENSION ::= {...}
+
+locationNotKnown ERROR ::= { CODE local: 1015}
+unspecified ERROR ::= { PARAMETER Extension{{PUMCHExtSet}}
+ CODE local: 1008}
+
+END -- of Private-User-Mobility-Call-Handling-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-PUMR.asn b/epan/dissectors/asn1/qsig/QSIG-PUMR.asn
new file mode 100644
index 00000000..6134f436
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-PUMR.asn
@@ -0,0 +1,205 @@
+-- QSIG-PUMR.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-282, 3rd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-282.htm
+--
+
+PUM-Registration-Operations-asn1-97
+ { iso (1) standard (0) pss1-pum-registration (17876) pum-registration-operations-asn1-97 (1) }
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ { joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1(0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) }
+ notAvailable, invalidServedUserNr, supplementaryServiceInteractionNotAllowed
+ FROM General-Error-List
+ { ccitt recommendation q 950 general-error-list (1) }
+ PartyNumber FROM Addressing-Data-Elements-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582)
+ addressing-data-elements-asn1-97 (20) }
+ BasicService FROM Call-Diversion-Operations-asn1-97
+ { iso (1) standard (0) pss1-call-diversion (13873)
+ call-diversion-operations-asn1-97 (1) }
+ pisnEnquiry FROM WTM-Location-Registration-Operations-asn1-97
+ { iso (1) standard (0) pss1-location-registration (15429)
+ wtmlr-operations-asn1-97 (1) };
+
+PUM-Registration-Operations OPERATION ::= { pumRegistr | pumDelReg | pumDe-reg |
+ pumInterrog | pisnEnquiry }
+
+pumRegistr OPERATION ::= {
+ -- Registration (sent from the Visitor PINX to the Home PINX or
+ -- from a Remote PINX to the Visitor PINX)
+ ARGUMENT PumRegistrArg
+ RESULT PumRegistrRes
+ ERRORS { invalidServedUserNr | notAuthorized | unspecified |
+ notAvailable | temporarilyUnavailable |
+ supplementaryServiceInteractionNotAllowed |
+ pumUserNotSubscribedToThisServiceOpt |
+ pumUserFailedAuthentication | hostingAddrInvalid }
+ CODE local: 89}
+
+pumDelReg OPERATION ::= {
+ -- Delete Registration (sent from the Home PINX to the Previous Visitor PINX)
+ ARGUMENT PumDelRegArg
+ RESULT DummyRes
+ ERRORS { notAvailable | temporarilyUnavailable | unspecified |
+ supplementaryServiceInteractionNotAllowed }
+ CODE local: 90}
+pumDe-reg OPERATION ::= {
+ -- De-registration (sent from the Visitor PINX or Remote PINX to the Home PINX)
+ ARGUMENT PumDe-regArg
+ RESULT DummyRes
+ ERRORS { invalidServedUserNr | notAuthorized | unspecified |
+ supplementaryServiceInteractionNotAllowed |
+ pumUserNotSubscribedToThisServiceOpt |
+ pumUserFailedAuthentication | hostingAddrInvalid |
+ pumUserNotRegistered }
+ CODE local: 91}
+pumInterrog OPERATION ::= {
+ -- Interrogation (sent from the Visitor PINX or Remote PINX to the Home PINX and
+ -- from the Home PINX to the Visitor PINX)
+ ARGUMENT PumInterrogArg
+ RESULT PumInterrogRes
+ ERRORS { invalidServedUserNr | notAuthorized | unspecified |
+ supplementaryServiceInteractionNotAllowed |
+ pumUserFailedAuthentication | hostingAddrInvalid |
+ pumUserNotRegistered }
+ CODE local: 92}
+PumRegistrArg ::= SEQUENCE { pumUserId CHOICE { pumNumber PartyNumber,
+ -- The PISN number of the PUM user,
+ -- always a Complete Number.
+ alternativeId AlternativeId },
+ basicService BasicService,
+ -- specific basic service or all basic services,
+ hostingAddr PartyNumber,
+ -- The PISN number of the hosting user,
+ -- always a Complete Number.
+ activatingUserAddr [0] PartyNumber OPTIONAL,
+ -- The PISN number of the activating user,
+ -- always a Complete Number.
+ -- Mandatory if sent from a Remote PINX, else not included.
+ serviceOption ServiceOption DEFAULT inCallRegistration,
+ -- Type of registration (InCall, OutCall or AllCall)
+ sessionParams SessionParams OPTIONAL,
+ -- Duration of session, Number of outgoing calls
+ userPin CHOICE { pumUserPin [6] IMPLICIT UserPin,
+ activatingUserPin [7] IMPLICIT UserPin } OPTIONAL,
+ argExtension PumrExtension OPTIONAL }
+
+PumRegistrRes ::= SEQUENCE { pumNumber PartyNumber,
+ serviceOption ServiceOption OPTIONAL,
+ -- Type of registration (InCall, OutCall or AllCall)
+ sessionParams SessionParams OPTIONAL,
+ -- Duration of session, Number of outgoing calls
+ argExtension PumrExtension OPTIONAL }
+DummyRes ::= CHOICE { null NULL,
+ extension [ 1 ] IMPLICIT Extension{{PUMRExtSet}},
+ sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF
+ Extension{{PUMRExtSet}} }
+PumDelRegArg ::= SEQUENCE { pumUserId CHOICE { pumNumber PartyNumber,
+ -- The PISN number of the PUM user,
+ -- always a Complete Number.
+ alternativeId AlternativeId },
+ basicService BasicService,
+ -- specific basic service or all basic services,
+ hostingAddr PartyNumber,
+ -- The PISN number of the hosting user,
+ -- always a Complete Number.
+ serviceOption ServiceOption,
+ -- Type of registration session (InCall, OutCall or AllCall)
+ argExtension PumrExtension OPTIONAL }
+PumDe-regArg ::= SEQUENCE { pumUserId CHOICE { pumNumber PartyNumber,
+ -- The PISN number of the PUM user,
+ -- always a Complete Number.
+ alternativeId AlternativeId },
+ basicService BasicService,
+ -- specific basic service or all basic services,
+ hostingAddr [0] PartyNumber OPTIONAL,
+ -- The PISN number of the hosting user,
+ -- always a Complete Number.
+ -- Not included if serviceOption indicates 'inCallRegistration',
+ -- optional if serviceOption indicates 'outCallRegistration'
+ -- or 'allCallRegistration'.
+ activatingUserAddr [1] PartyNumber OPTIONAL,
+ -- The PISN number of the activating user,
+ -- always a Complete Number.
+ -- Mandatory if sent from a Remote PINX, else not included.
+ serviceOption ServiceOption DEFAULT inCallRegistration,
+ -- Type of registration session (InCall, OutCall or AllCall)
+ -- If serviceOption indicates 'outCallRegistration' and
+ -- hostingAddr is omitted, the de-registration applies to
+ -- all OutCall registrations of this PUM user.
+ -- If serviceOption indicates 'allCallRegistration' and
+ -- hostingAddr is omitted, the de-registration applies to the
+ -- AllCall and all OutCall registrations of this PUM user.
+ userPin CHOICE { pumUserPin [6] IMPLICIT UserPin,
+ activatingUserPin [7] IMPLICIT UserPin } OPTIONAL,
+ argExtension PumrExtension OPTIONAL }
+
+PumInterrogArg ::= SEQUENCE { pumUserId CHOICE { pumNumber PartyNumber,
+ -- The PISN number of the PUM user,
+ -- always a Complete Number.
+ alternativeId AlternativeId },
+ basicService BasicService,
+ -- specific basic service or all basic services,
+ hostingAddr [0] PartyNumber OPTIONAL,
+ -- The PISN number of the hosting user,
+ -- always a Complete Number.
+ -- Omission indicates 'all hosting addresses'.
+ activatingUserAddr [1] PartyNumber OPTIONAL,
+ -- The PISN number of the activating user,
+ -- always a Complete Number.
+ serviceOption [2] ServiceOption OPTIONAL,
+ homeInfoOnly BOOLEAN DEFAULT TRUE,
+ -- True = Only Home PINX information (default)
+ -- False = Complete information
+ userPin CHOICE { pumUserPin [6] IMPLICIT UserPin,
+ activatingUserPin [7] IMPLICIT UserPin } OPTIONAL,
+ argExtension PumrExtension OPTIONAL }
+PumInterrogRes ::= SET SIZE(1..8) OF
+ SEQUENCE { basicService [0] IMPLICIT BasicService OPTIONAL,
+ -- specific basic service or all basic services,
+ -- (Home PINX information)
+ hostingAddr [1] PartyNumber OPTIONAL,
+ -- The PISN number of the hosting user,
+ -- always a Complete Number.
+ -- (Home PINX information)
+ serviceOption [2] IMPLICIT ServiceOption OPTIONAL,
+ -- Type of registration session
+ -- (InCall, OutCall or AllCall)
+ -- (Home PINX information)
+ interrogParams SessionParams OPTIONAL,
+ -- Time left in registration session,
+ -- Number of outgoing calls left
+ -- (Visitor PINX information)
+ argExtension PumrExtension OPTIONAL }
+AlternativeId ::= OCTET STRING (SIZE(1..20))
+ServiceOption ::= ENUMERATED { inCallRegistration (0),
+ outCallRegistration (1),
+ allCallRegistration (2) }
+SessionParams ::= SEQUENCE { durationOfSession [ 1 ] IMPLICIT INTEGER OPTIONAL,
+ -- Duration of session in seconds,
+ -- default if omitted: duration of session unlimited.
+ numberOfOutgCalls [ 2 ] IMPLICIT INTEGER OPTIONAL }
+ -- Default if omitted: number of outgoing calls unlimited.
+UserPin ::= OCTET STRING (SIZE(1..20))
+
+PumrExtension ::= CHOICE {
+ extension [ 4 ] IMPLICIT Extension {{PUMRExtSet}},
+ sequOfExtn [ 5 ] IMPLICIT SEQUENCE OF
+ Extension{{PUMRExtSet}} }
+PUMRExtSet EXTENSION ::= {...}unspecified ERROR ::= { PARAMETER
+ Extension{{PUMRExtSet}}
+ CODE local: 1008}
+notAuthorized ERROR ::= { CODE local: 1007}
+temporarilyUnavailable ERROR ::= { CODE local: 1000}
+pumUserNotSubscribedToThisServiceOpt ERROR ::= { CODE local: 1019}
+pumUserFailedAuthentication ERROR ::= { CODE local: 1020}
+hostingAddrInvalid ERROR ::= { CODE local: 1021}
+pumUserNotRegistered ERROR ::= { CODE local: 1022}
+END -- of PUM-Registration-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-RE.asn b/epan/dissectors/asn1/qsig/QSIG-RE.asn
new file mode 100644
index 00000000..64df0fd5
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-RE.asn
@@ -0,0 +1,62 @@
+-- QSIG-RE.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-214, 3rd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-214.htm
+--
+
+Recall-Operations-asn1-97
+ { iso (1) standard (0) pss1-recall (15052) recall-operations-asn1-97 (1) }
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ { joint-iso-itu-t (2) remote-operations (4) informationObjects (5) version1(0) }
+
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) }
+
+ Name FROM Name-Operations-asn1-97
+ { iso (1) standard (0) pss1-name (13868) name-operations-asn1-97 (1) }
+
+ PresentedNumberScreened, PartySubaddress FROM Addressing-Data-Elements-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582) addressing-data-elements-asn1-97 (20) };
+
+Recall-Operations OPERATION ::= { recallAlerting | recallAnswered }
+
+recallAlerting OPERATION ::= {
+ -- Sent from the Served User PINX to the Primary PINX
+ ARGUMENT ReAlertingArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 57}
+
+recallAnswered OPERATION ::= {
+ -- Sent from the Served User PINX to the Primary PINX
+ ARGUMENT ReAnswerArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 58}
+
+ReAlertingArg ::= SEQUENCE {
+ alertedNumber [1] PresentedNumberScreened OPTIONAL,
+ alertedName [2] Name OPTIONAL,
+ argumentExtension CHOICE {
+ extension [6] IMPLICIT Extension{{REExtSet}},
+ multipleExtension [7] IMPLICIT SEQUENCE OF Extension{{REExtSet}}
+ } OPTIONAL }
+
+ReAnswerArg ::= SEQUENCE {
+ connectedNumber [1] PresentedNumberScreened,
+ connectedSubaddress [2] PartySubaddress OPTIONAL,
+ connectedName [3] Name OPTIONAL,
+ argumentExtension CHOICE {
+ extension [6] IMPLICIT Extension{{REExtSet}},
+ multipleExtension [7] IMPLICIT SEQUENCE OF Extension{{REExtSet}}
+ } OPTIONAL }
+REExtSet EXTENSION ::= {...}
+
+END -- of Recall-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-SD.asn b/epan/dissectors/asn1/qsig/QSIG-SD.asn
new file mode 100644
index 00000000..3c24e795
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-SD.asn
@@ -0,0 +1,89 @@
+-- QSIG-SD.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-311, 2nd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-311.htm
+--
+
+SS-SD-Operations-asn1-97
+{ iso (1) standard (0) pss1-simple-dialog (21407) simple-dialog-operations-asn1-97 (1)}
+
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t (2) remote-operations (4) informationObjects (5)
+ version1 (0)}
+
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso (1) standard (0) pss1-generic-procedures (11582)
+ msi-class-asn1-97(11)};
+
+SD-Operations OPERATION ::= { display | keypad}
+
+display OPERATION ::= {
+ ARGUMENT DisplayArg
+ RETURN RESULT FALSE
+ ERRORS {unspecified |
+ noDisplayAvailable |
+ displayTemporarilyNotAvailable |
+ notPresentable
+ }
+ ALWAYS RESPONDS FALSE
+ CODE local: 103}
+
+
+keypad OPERATION ::= {
+ ARGUMENT KeypadArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 104}
+
+
+DisplayArg ::= SEQUENCE {
+ displayString DisplayString,
+ extension SDExtension OPTIONAL
+ }
+
+
+DisplayString ::= CHOICE {
+ displayStringNormal [0] IMPLICIT BMPStringNormal,
+ displayStringExtended [1] IMPLICIT BMPStringExtended
+ }
+
+KeypadArg ::= SEQUENCE {
+ keypadString [0] IMPLICIT BMPStringNormal,
+ extension SDExtension OPTIONAL
+ }
+
+
+BMPStringNormal ::= OCTET STRING (SIZE(2..64)) -- shall be used according to
+ -- ISO/IEC 10646-1 (section 6.2)
+ -- coded as a BMP String according to
+ -- ITU-T Rec. X.690 (section 8.20.8)
+
+BMPStringExtended ::= OCTET STRING (SIZE(2..160)) -- shall be used according to ISO/IEC 10646-1
+ -- coded as a BMP String according to
+ -- ITU-T Rec. X.690
+
+
+SDExtension ::= CHOICE {
+ extension [2] IMPLICIT Extension{{SDExtSet}},
+ multipleExtension [3] IMPLICIT SEQUENCE OF Extension{{SDExtSet}}
+ }
+
+SDExtSet EXTENSION ::= {...}
+
+unspecified ERROR ::= { PARAMETER Extension{{SDExtSet}}
+ CODE local: 1008}
+
+noDisplayAvailable ERROR ::= { CODE local: 1023}
+
+displayTemporarilyNotAvailable ERROR ::= { CODE local: 1024}
+
+notPresentable ERROR ::= { CODE local: 1025}
+
+
+END -- of SS-SD-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-SMS.asn b/epan/dissectors/asn1/qsig/QSIG-SMS.asn
new file mode 100644
index 00000000..54304949
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-SMS.asn
@@ -0,0 +1,339 @@
+-- QSIG-SMS.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-325, (June 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-325.htm
+--
+
+Short-Message-Service-Operations-asn1-97
+{iso(1) identified-organization(3) icd-ecma(12) standard(0) qsig-short-message-service(325) short-message-service-operations-asn1-97(1)}
+
+DEFINITIONS::=
+BEGIN
+IMPORTS
+ OPERATION,
+ ERROR
+FROM Remote-Operations-Information-Objects
+{joint-iso-itu-t (2) remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+FROM Manufacturer-specific-service-extension-class-asn1-97
+{iso(1) standard(0) pss1-generic-procedures(11582) msi-class-asn1-97(11)}
+ Name
+FROM Name-Operations-asn1-97
+{iso(1) standard(0) pss1-name(13868) name-operations-asn1-97(1)}
+ supplementaryServiceInteractionNotAllowed
+FROM General-Error-List
+{ccitt recommendation q 950 general-error-list(1)}
+ PartyNumber
+FROM Addressing-Data-Elements-asn1-97
+{iso(1) standard(0) pss1-generic-procedures(11582) addressing-data-elements-asn1-97(20)};
+
+--TYPE DEFINITIONS FOR SMS OPERATIONS FOLLOW
+
+Sms-Operations OPERATION ::={
+
+ smsSubmit | smsDeliver | smsStatusReport | smsCommand | scAlert}
+
+smsSubmit OPERATION ::= {
+ -- sent from the Sending User PINX/ Sending User Message Centre to the Service Centre
+ ARGUMENT SmsSubmitArg
+ RESULT SmsSubmitRes
+ ERRORS {smsSubmitError |
+ unspecified}
+ CODE local:107}
+
+smsDeliver OPERATION ::= {
+ -- sent from the Service Centre to the Receiving User PINX or to the Receiving User Message Centre
+ ARGUMENT SmsDeliverArg
+ RESULT SmsDeliverRes
+ ERRORS {smsDeliverError |
+ unspecified}
+ CODE local:108}
+
+smsStatusReport OPERATION ::= {
+ -- sent from the Service Centre to the Sending User PINX or to the Sending User Message Centre
+ ARGUMENT SmsStatusReportArg
+ RESULT SmsStatusReportRes
+ ERRORS {smsStatusReportError |
+ unspecified}
+ CODE local:109}
+
+smsCommand OPERATION ::= {
+ -- sent from the Sending User PINX or the Sending User Message Centre to the Service Centre
+ ARGUMENT SmsCommandArg
+ RESULT SmsCommandRes
+ ERRORS {smsCommandError |
+ unspecified}
+ CODE local:110}
+
+scAlert OPERATION ::= {
+ -- sent from the Receiving User PINX or the Receiving User Message Centre to the Service Centre
+ ARGUMENT ScAlertArg
+ RESULT DummyRes
+ ERRORS {unspecified}
+ CODE local:111}
+
+--TYPE DEFINITIONS FOR SMS DATA TYPES FOLLOW
+
+SmsSubmitArg ::= SEQUENCE {
+ destinationAddress PartyNumber,
+ originatingAddress PartyNumber,
+ messageReference MessageReference,
+ smSubmitParameter SmSubmitParameter,
+ userData UserData,
+ smsExtension SmsExtension OPTIONAL}
+
+SmsSubmitRes ::= SEQUENCE {
+ serviceCentreTimeStamp ServiceCentreTimeStamp,
+ protocolIdentifier [3] IMPLICIT ProtocolIdentifier OPTIONAL,
+ userData [4] IMPLICIT UserData OPTIONAL,
+ smsExtension SmsExtension OPTIONAL}
+
+SmsDeliverArg ::= SEQUENCE {
+ originatingAddress PartyNumber,
+ destinationAddress PartyNumber,
+ originatingName Name OPTIONAL,
+ smDeliverParameter SmDeliverParameter,
+ userData UserData,
+ smsExtension SmsExtension OPTIONAL}
+
+SmsDeliverRes ::= SEQUENCE {
+ smsDeliverResponseChoice SmsDeliverResChoice,
+ smsExtension SmsExtension OPTIONAL}
+
+SmsStatusReportArg ::= SEQUENCE {
+ messageReference MessageReference,
+ serviceCentreTimeStamp ServiceCentreTimeStamp,
+ dischargeTime DischargeTime,
+ recipientAddress PartyNumber,
+ recipientName [10] Name OPTIONAL,
+ destinationAddress PartyNumber,
+ status Status,
+ priority [11] IMPLICIT BOOLEAN DEFAULT FALSE,
+ moreMessagesToSend [12] IMPLICIT BOOLEAN DEFAULT FALSE,
+ statusReportQualifier [13] IMPLICIT BOOLEAN DEFAULT FALSE,
+ protocolIdentifier ProtocolIdentifier OPTIONAL,
+ userData UserData OPTIONAL,
+ smsExtension SmsExtension OPTIONAL}
+
+SmsStatusReportRes ::= SEQUENCE {
+ smsStatusReportResponseChoice SmsStatusReportResponseChoice,
+ smsExtension SmsExtension OPTIONAL}
+
+SmsCommandArg ::= SEQUENCE {
+ destinationAddress PartyNumber,
+ messageReference MessageReference,
+ messageNumber MessageReference,
+ protocolIdentifier ProtocolIdentifier,
+ commandType CommandType,
+ commandData CommandData OPTIONAL,
+ statusReportRequest BOOLEAN OPTIONAL,
+ smsExtension SmsExtension OPTIONAL}
+
+SmsCommandRes ::= SEQUENCE {
+ serviceCentreTimeStamp ServiceCentreTimeStamp,
+ protocolIdentifier ProtocolIdentifier OPTIONAL,
+ userData UserData OPTIONAL,
+ smsExtension SmsExtension OPTIONAL}
+
+ScAlertArg ::= SEQUENCE {
+ originatingAddress PartyNumber,
+ smsExtension SmsExtension OPTIONAL}
+
+DummyRes ::= CHOICE{
+ null NULL,
+ smsExtension SmsExtension}
+
+SmSubmitParameter ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ validityPeriod ValidityPeriod OPTIONAL,
+ statusReportRequest [11] IMPLICIT BOOLEAN DEFAULT FALSE,
+ replyPath [12] IMPLICIT BOOLEAN DEFAULT FALSE,
+ rejectDuplicates [13] IMPLICIT BOOLEAN DEFAULT FALSE}
+
+SmDeliverParameter ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ serviceCentreTimeStamp ServiceCentreTimeStamp,
+ priority [11] IMPLICIT BOOLEAN DEFAULT FALSE,
+ moreMessagesToSend [12] IMPLICIT BOOLEAN DEFAULT FALSE,
+ statusReportIndication [13] IMPLICIT BOOLEAN DEFAULT FALSE,
+ replyPath [14] IMPLICIT BOOLEAN DEFAULT FALSE}
+
+SmsDeliverResChoice ::= CHOICE {
+ null NULL,
+ protocolIdentifier ProtocolIdentifier,
+ userData [0] IMPLICIT UserData,
+ resChoiceSeq [1] IMPLICIT ResChoiceSeq}
+
+ResChoiceSeq ::= SEQUENCE {
+ protocolIdentifier ProtocolIdentifier,
+ userData UserData}
+
+SmsStatusReportResponseChoice ::= CHOICE {
+ null NULL,
+ protocolIdentifier ProtocolIdentifier,
+ userData [0] IMPLICIT UserData,
+ resChoiceSeq [1] IMPLICIT ResChoiceSeq}
+
+MessageReference ::= INTEGER(0..255)
+
+SmsExtension ::= CHOICE{
+ single [1]IMPLICIT Extension{{SmsExtSet}},
+ multiple [2]IMPLICIT SEQUENCE OF
+ Extension{{SmsExtSet}}
+ }
+
+SmsExtSet EXTENSION ::= {...}
+
+ProtocolIdentifier ::= INTEGER (0..127)
+ -- definition of the ProtocolIdentifier values and default value can be found in annex E section
+ -- E.1.2.1
+
+ServiceCentreTimeStamp ::= GeneralizedTime(SIZE(12..19))
+ -- this date and time representation follows ISO 8601
+
+DischargeTime ::= GeneralizedTime(SIZE(12..19))
+ -- this date and time representation follows ISO 8601
+
+ValidityPeriod ::= CHOICE{
+ validityPeriodRel [0] IMPLICIT ValidityPeriodRel,
+ validityPeriodAbs [1] IMPLICIT ValidityPeriodAbs,
+ validityPeriodEnh [2] IMPLICIT ValidityPeriodEnh}
+
+ValidityPeriodAbs ::= GeneralizedTime(SIZE(12..19))
+ -- this date and time representation follows ISO 8601
+
+ValidityPeriodRel ::= INTEGER(0..255)
+ -- the rules for the encoding of ValidityPeriodRel are shown in annex E section E.1.2.2
+
+ValidityPeriodEnh ::= SEQUENCE{
+ singleShotSM BOOLEAN DEFAULT FALSE,
+ enhancedVP EnhancedVP OPTIONAL}
+
+EnhancedVP ::= CHOICE{
+ validityPeriodRel [0] IMPLICIT ValidityPeriodRel,
+ validityPeriodSec [1] IMPLICIT INTEGER(0..255),
+ validityPeriodSemi [2] IMPLICIT ValidityPeriodSemi}
+
+ValidityPeriodSemi ::= OCTET STRING (SIZE(3))
+ -- Validity Period is relative in semi-octet representation, see ETSI TS 100 901, section 9.1.2.3
+ -- and section 9.2.3.12.3
+
+UserData ::= SEQUENCE{
+ userDataHeader [0] IMPLICIT UserDataHeader OPTIONAL,
+ class [1] IMPLICIT INTEGER (0..3) OPTIONAL,
+ compressed [2] IMPLICIT BOOLEAN DEFAULT FALSE,
+ shortMessageText ShortMessageText}
+
+ShortMessageText ::= SEQUENCE{
+ shortMessageTextType ShortMessageTextType,
+ shortMessageTextData ShortMessageTextData}
+
+ShortMessageTextType ::= INTEGER{
+ iA5Coded (0), -- ShortMessageTextData shall contain data according to
+ octetCoded (1), -- the type given in ShortMessageTextType, for further
+ uniCoded (2), -- details see annex E. 1.3.4.
+ compressedCoded (3)} (0..8)
+
+ShortMessageTextData ::= OCTET STRING (SIZE(0..140))
+
+Status ::= INTEGER (0..255)
+ -- definition of status values can be found in section E.7.6 in annex E
+
+CommandType ::= INTEGER{
+ enquiry (0),
+ cancelSRR (1),
+ deletePreviouslySubmittedSM (2),
+ enableSRRrelatingToPreviouslySubmittedSM (3)} (0..255)
+
+CommandData ::= OCTET STRING (SIZE(0..157))
+
+FailureCause ::= INTEGER (0..255)
+ -- definition for failureCause values can be found in section E.3.1 in annex E
+
+UserDataHeader ::= SEQUENCE OF UserDataHeaderChoice
+
+UserDataHeaderChoice ::= CHOICE{
+ smscControlParameterHeader [0] IMPLICIT SmscControlParameterHeader,
+ concatenated8BitSMHeader [1] IMPLICIT Concatenated8BitSMHeader,
+ concatenated16BitSMHeader [2] IMPLICIT Concatenated16BitSMHeader,
+ applicationPort8BitHeader [3] IMPLICIT ApplicationPort8BitHeader,
+ applicationPort16BitHeader [4] IMPLICIT ApplicationPort16BitHeader,
+ dataHeaderSourceIndicator [5] IMPLICIT DataHeaderSourceIndicator,
+ wirelessControlHeader [6] IMPLICIT WirelessControlHeader,
+ genericUserValue [99] IMPLICIT GenericUserValue}
+
+SmscControlParameterHeader ::= BIT STRING {
+ sRforTransactionCompleted (0),
+ sRforPermanentError (1),
+ sRforTempErrorSCnotTrying (2),
+ sRforTempErrorSCstillTrying (3),
+ cancelSRRforConcatenatedSM (6),
+ includeOrigUDHintoSR (7)} (SIZE(8))
+
+Concatenated8BitSMHeader ::= SEQUENCE{
+ concatenated8BitSMReferenceNumber INTEGER(0..255),
+ maximumNumberOf8BitSMInConcatenatedSM INTEGER(0..255),
+ sequenceNumberOf8BitSM INTEGER(0..255)}
+
+Concatenated16BitSMHeader ::= SEQUENCE{
+ concatenated16BitSMReferenceNumber INTEGER(0..65536),
+ maximumNumberOf16BitSMInConcatenatedSM INTEGER(0..255),
+ sequenceNumberOf16BitSM INTEGER(0..255)}
+
+ApplicationPort8BitHeader ::= SEQUENCE{
+ destination8BitPort INTEGER(0..255),
+ originator8BitPort INTEGER(0..255)}
+
+ApplicationPort16BitHeader ::= SEQUENCE{
+ destination16BitPort INTEGER(0..65536),
+ originator16BitPort INTEGER(0..65536)}
+
+DataHeaderSourceIndicator ::= INTEGER{
+ originalSender (1), -- valid in case of Status Report
+ originalReceiver (2), -- valid in case of Status Report
+ sMSC (3)}(0..255) -- can occur in any message or report
+
+WirelessControlHeader ::= OCTET STRING
+
+GenericUserValue ::= SEQUENCE{
+ parameterValue INTEGER(0..255),
+ genericUserData OCTET STRING}
+
+smsDeliverError ERROR ::= {
+ PARAMETER SEQUENCE{
+ failureCause FailureCause,
+ protocolIdentifier [0] IMPLICIT ProtocolIdentifier OPTIONAL,
+ userData [1] IMPLICIT UserData OPTIONAL,
+ scAddressSaved [2] IMPLICIT BOOLEAN DEFAULT FALSE}
+ CODE local:1026}
+
+smsSubmitError ERROR ::= {
+ PARAMETER SEQUENCE{
+ failureCause FailureCause,
+ serviceCentreTimeStamp ServiceCentreTimeStamp,
+ protocolIdentifier [0] IMPLICIT ProtocolIdentifier OPTIONAL,
+ userData [1] IMPLICIT UserData OPTIONAL}
+ CODE local:1027}
+
+smsStatusReportError ERROR ::= {
+ PARAMETER SEQUENCE{
+ failureCause FailureCause,
+ protocolIdentifier [0] IMPLICIT ProtocolIdentifier OPTIONAL,
+ userData [1] IMPLICIT UserData OPTIONAL,
+ scAddressSaved [2] IMPLICIT BOOLEAN DEFAULT FALSE}
+ CODE local: 1028}
+
+smsCommandError ERROR ::= {
+ PARAMETER SEQUENCE{
+ failureCause FailureCause,
+ serviceCentreTimeStamp ServiceCentreTimeStamp,
+ protocolIdentifier [0] IMPLICIT ProtocolIdentifier OPTIONAL,
+ userData [1] IMPLICIT UserData OPTIONAL}
+ CODE local:1029}
+
+unspecified ERROR ::= {
+ PARAMETER SmsExtension
+ CODE local: 1008}
+
+END -- of Short-Message-Service-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-SSCT.asn b/epan/dissectors/asn1/qsig/QSIG-SSCT.asn
new file mode 100644
index 00000000..9e97a73b
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-SSCT.asn
@@ -0,0 +1,120 @@
+-- QSIG-SSCT.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-300, 2nd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-300.htm
+--
+
+Single-Step-Call-Transfer-Operations-asn1-97
+{ iso(1) standard (0) pss1-single-step-call-transfer (19460)
+single-step-call-transfer-operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+IMPORTS
+ OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ { joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0) }
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11) }
+ Name FROM Name-Operations-asn1-97
+ {iso(1) standard(0) pss1-name (13868) name-operations-asn1-97 (1)}
+ supplementaryServiceInteractionNotAllowed, notAvailable, invalidCallState
+ FROM General-Error-List
+ { ccitt recommendation q 950 general-error-list (1) }
+ PresentedAddressScreened, PartyNumber FROM Addressing-Data-Elements-asn1-97
+ {iso(1) standard (0) pss1-generic-procedures (11582)
+ addressing-data-elements-asn1-97 (20)}
+ PSS1InformationElement FROM PSS1-generic-parameters-definition-asn1-97
+ {iso(1) standard (0) pss1-generic-procedures (11582)
+ pss1-generic-parameters-asn1-97 (17)}
+ callTransferUpdate, callTransferComplete, callTransferActive, subaddressTransfer,
+ invalidRerouteingNumber, establishmentFailure FROM Call-Transfer-Operations-asn1-97
+ {iso(1) standard (0) pss1-call-transfer (13869) call-transfer-operations-asn1-97 (1)};
+
+Single-Step-Call-Transfer-Operations OPERATION ::= { ssctInitiate | ssctSetup | ssctPostDial |
+ssctDigitInfo }
+
+ssctInitiate OPERATION ::= {
+ -- sent from the Transferring PINX to the Rerouting PINX
+ ARGUMENT SSCTInitiateArg
+ RESULT DummyRes
+ ERRORS { notAvailable | invalidCallState | invalidRerouteingNumber |
+ establishmentFailure | unspecified |
+ supplementaryServiceInteractionNotAllowed }
+ CODE local: 99}
+
+ssctSetup OPERATION ::= {
+ -- sent from the Rerouting PINX to the Transferred-To PINX
+ ARGUMENT SSCTSetupArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 100}
+
+ssctPostDial OPERATION ::= {
+ -- sent from the Rerouting PINX to the Transferred PINX
+ ARGUMENT DummyArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 101}
+
+ssctDigitInfo OPERATION ::= {
+ -- sent from the Transferred PINX to the Rerouting PINX
+ ARGUMENT SSCTDigitInfoArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 102}
+
+DummyArg ::= CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{SSCTExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}}}
+
+DummyRes ::= CHOICE {
+ null NULL,
+ single [1] IMPLICIT Extension{{SSCTExtSet}},
+ multiple [2] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}}}
+
+SSCTInitiateArg ::= SEQUENCE {
+ rerouteingNumber PartyNumber, -- Transferred-To Number
+ transferredAddress PresentedAddressScreened,
+ awaitConnect AwaitConnect,
+ transferredName [1] Name OPTIONAL,
+ transferringAddress [2] PresentedAddressScreened OPTIONAL,
+ transferringName [3] Name OPTIONAL,
+ argumentExtension CHOICE {
+ single [4] IMPLICIT Extension{{SSCTExtSet}},
+ multiple [5] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}}
+ } OPTIONAL
+ }
+
+AwaitConnect ::= BOOLEAN
+ -- FALSE = release the original call upon ALERTING received
+ -- TRUE = release the original call upon CONNECT received
+
+SSCTSetupArg ::= SEQUENCE {
+ transferringAddress [1] PresentedAddressScreened OPTIONAL,
+ transferringName [2] Name OPTIONAL,
+ argumentExtension CHOICE {
+ single [3] IMPLICIT Extension{{SSCTExtSet}},
+ multiple [4] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}}
+ } OPTIONAL
+ }
+
+SSCTDigitInfoArg ::= SEQUENCE {
+ reroutingNumber [1] PartyNumber OPTIONAL,
+ -- remaining digits of the Transferred-To Number
+ sendingComplete [2] IMPLICIT NULL OPTIONAL,
+ argumentExtension CHOICE {
+ single [3] IMPLICIT Extension{{SSCTExtSet}},
+ multiple [4] IMPLICIT SEQUENCE OF Extension{{SSCTExtSet}}
+ } OPTIONAL
+ }
+
+SSCTExtSet EXTENSION ::= {...}
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{SSCTExtSet}}
+ CODE local: 1008}
+
+END -- of SSCT Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-WTMAU.asn b/epan/dissectors/asn1/qsig/QSIG-WTMAU.asn
new file mode 100644
index 00000000..c0dfea51
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-WTMAU.asn
@@ -0,0 +1,154 @@
+-- QSIG-WTMAU.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-306, 2nd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-306.htm
+--
+
+WTM-Authentication-Operations-asn1-97
+ {iso standard pss1-authentication (15433) authentication-operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso standard
+ pss1-generic-procedures (11582) msi-class-asn1-97 (11)}
+ invalidServedUserNr FROM General-Error-List
+ {ccitt recommendation q 950 general-error-list (1)}
+ PartyNumber FROM Addressing-Data-Elements-asn1-97
+ {iso(1) standard(0) pss1-generic-procedures(11582)
+ addressing-data-elements-asn1-97(20)};
+WTMAuth-Operations OPERATION ::= {authWtmUser | getWtatParam | wtatParamEnq | getWtanParam |
+ wtanParamEnq | transferAuthParam}
+-- The following three operations shall apply to SS-WTAT --
+authWtmUser OPERATION ::= { -- from Home PINX to Visitor PINX--
+ ARGUMENT AuthWtmArg
+ RESULT AuthWtmRes
+ ERRORS { temporarilyUnavailable | invalidServedUserNr |
+ notAuthorized | paramNotAvailable | unspecified}
+ CODE local : 72}
+getWtatParam OPERATION ::= { -- from Visitor PINX to Home PINX --
+ ARGUMENT WtatParamArg
+ RESULT WtatParamRes
+ ERRORS { invalidServedUserNr | notAuthorized |
+ paramNotAvailable | temporarilyUnavailable | unspecified}
+ CODE local : 73}
+wtatParamEnq OPERATION ::= { -- from Home PINX to Authentication Server PINX--
+ ARGUMENT WtatParamArg
+ RESULT WtatParamRes
+ ERRORS { invalidServedUserNr | paramNotAvailable | unspecified}
+ CODE local : 74}
+AuthWtmArg ::= SEQUENCE {
+ wtmUserId WtmUserId,
+ calcWtatInfo [ 1 ] IMPLICIT CalcWtatInfo OPTIONAL,
+ dummyExtension DummyExtension OPTIONAL}
+
+AuthWtmRes ::= SEQUENCE {
+ autWtmResValue ENUMERATED
+ {auth-res-correct (0),
+ auth-res-incorrect (1) },
+ dummyExtension DummyExtension OPTIONAL}
+WtatParamArg ::= SEQUENCE {
+ wtmUserId WtmUserId,
+ canCompute CanCompute OPTIONAL,
+ authChallenge AuthChallenge OPTIONAL,
+ dummyExtension DummyExtension OPTIONAL}
+ -- The presence of element canCompute indicates that the Visitor PINX is able to --
+ -- compute a challenge and the expected response from session key information --
+WtatParamRes ::= SEQUENCE {wtatParamInfo WtatParamInfo,
+ dummyExtension DummyExtension OPTIONAL}
+-- The following two operations shall apply to SS-WTAN --
+getWtanParam OPERATION ::= { -- from Visitor PINX to Home PINX --
+ ARGUMENT WtanParamArg
+ RESULT WtanParamRes
+ ERRORS { invalidServedUserNr | notAuthorized |
+ paramNotAvailable | temporarilyUnavailable | unspecified}
+ CODE local : 75}
+wtanParamEnq OPERATION ::= { -- from Home PINX to Authentication Server PINX--
+ ARGUMENT WtanParamArg
+ RESULT WtanParamRes
+ ERRORS { invalidServedUserNr | paramNotAvailable | unspecified}
+ CODE local : 76}
+WtanParamArg ::= SEQUENCE { wtmUserId WtmUserId,
+ authChallenge AuthChallenge,
+ authAlgorithm AuthAlgorithm,
+ canCompute CanCompute OPTIONAL,
+ dummyExtension DummyExtension OPTIONAL}
+ -- The presence of element canCompute indicates that the Visitor PINX is able to --
+ -- compute the response from session key information --
+WtmUserId ::= CHOICE { pisnNumber PartyNumber,
+ -- The PISN number of the WTM user,
+ -- always a Complete Number.
+ alternativeId AlternativeId }
+AlternativeId ::= OCTET STRING(SIZE(1..20))
+WtanParamRes ::= SEQUENCE {wtanParamInfo WtanParamInfo,
+ dummyExtension DummyExtension OPTIONAL}
+
+-- The following unconfirmed operation shall apply when interaction between SS-WTAT and ANF-WTINFO --
+transferAuthParam OPERATION ::= { -- from Home PINX to Visitor PINX --
+ ARGUMENT SEQUENCE {
+ wtatParamInfo WtatParamInfo,
+ dummyExtension DummyExtension OPTIONAL}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local : 77}
+WtatParamInfo ::= SEQUENCE {authAlgorithm AuthAlgorithm,
+ wtatParamInfoChoice CHOICE {
+ authSessionKeyInfo [ 1 ] IMPLICIT AuthSessionKeyInfo,
+ calcWtatInfo [ 2 ] IMPLICIT CalcWtatInfo,
+ authKey [ 3 ] IMPLICIT AuthKey,
+ challLen [ 4 ] IMPLICIT INTEGER(1..8) } }
+AuthKey ::= OCTET STRING (SIZE(1..16)) -- Authentication key --
+WtanParamInfo ::= CHOICE {authSessionKeyInfo [ 1 ] IMPLICIT AuthSessionKeyInfo,
+ calcWtanInfo [ 2 ] IMPLICIT CalcWtanInfo}
+AuthSessionKeyInfo ::= SEQUENCE {authSessionKey AuthSessionKey,
+ calculationParam CalculationParam}
+CalcWtatInfo ::= SEQUENCE SIZE(1..5) OF CalcWtatInfoUnit
+CalcWtatInfoUnit ::= SEQUENCE {authChallenge AuthChallenge,
+ authResponse AuthResponse,
+ derivedCipherKey [1] IMPLICIT DerivedCipherKey OPTIONAL,
+ calculationParam [2] IMPLICIT CalculationParam OPTIONAL}
+ -- included if required by the authentication algorithm in use --
+CalcWtanInfo ::= SEQUENCE {authResponse AuthResponse,
+ calculationParam CalculationParam OPTIONAL}
+ -- included if required by the authentication algorithm in use --
+DummyExtension ::= CHOICE {extension [5] IMPLICIT Extension{{WTMAuthExtSet}},
+ sequOfExtn [6] IMPLICIT SEQUENCE OF
+ Extension{{WTMAuthExtSet}} }
+AUTH-ALG ::= CLASS {
+ &id DefinedIDs UNIQUE,
+ &Type OPTIONAL
+ }
+DefinedIDs ::= INTEGER { ct2 (0), dect (1), gsm (2), pci (3), pwt (4), us-gsm (5), phs (6), tetra (7) } (0..255)
+AuthAlgSet AUTH-ALG ::= {...}
+AuthAlgorithm ::= SEQUENCE {
+ authAlg AUTH-ALG.&id({AuthAlgSet}),
+ param AUTH-ALG.&Type({AuthAlgSet}{@.authAlg}) OPTIONAL
+ }
+AuthChallenge ::= OCTET STRING (SIZE(1..8)) -- Randomly generated parameter --
+
+AuthResponse ::= OCTET STRING (SIZE(1..4)) -- WTAT: Expected response value --
+ -- WTAN: Response value from network --
+AuthSessionKey ::= OCTET STRING (SIZE(1..16)) -- Authentication session key--
+CalculationParam ::= OCTET STRING (SIZE(1..8)) -- Parameter used when calculating --
+ -- the authentication session key from --
+ -- the real authentication key. It may be --
+ -- transferred to the WTM user during --
+ -- both WTAT and WTAN. --
+CanCompute ::= NULL -- indicates capability of computing --
+ -- challenge and/or response value --
+DerivedCipherKey ::= OCTET STRING (SIZE(1..8)) -- derived cipher key may be computed --
+ -- when computing challenge and --
+ -- expected response values--
+WTMAuthExtSet EXTENSION ::= {...}
+notAuthorized ERROR ::= {CODE local : 1007 }
+paramNotAvailable ERROR ::= {CODE local : 1017 }
+temporarilyUnavailable ERROR ::= {CODE local : 1000 }
+unspecified ERROR ::={
+ PARAMETER Extension{{WTMAuthExtSet}}
+ CODE local : 1008}
+END -- of WTM-Authentication-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-WTMCH.asn b/epan/dissectors/asn1/qsig/QSIG-WTMCH.asn
new file mode 100644
index 00000000..efb8e09e
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-WTMCH.asn
@@ -0,0 +1,138 @@
+-- QSIG-WTMCH.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-304, 2nd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-304.htm
+--
+
+Wireless-Terminal-Call-Handling-Operations-asn1-97
+ { iso (1) standard (0) pss1-wtm-call-handling (15431) operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ { joint-iso-itu-t remote-operations (4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ { iso (1) standard (0)
+ pss1-generic-procedures (11582) msi-class-asn1-97 (11) }
+ PSS1InformationElement FROM PSS1-generic-parameters-definition-asn1-97
+ { iso (1) standard (0)
+ pss1-generic-procedures (11582) pss1-generic-parameters-asn1-97 (17) }
+ Name FROM Name-Operations-asn1-97
+ { iso (1) standard (0)
+ pss1-name (13868) name-operations-asn1-97 (1) }
+ basicServiceNotProvided, invalidServedUserNr, notAvailable FROM
+ General-Error-List
+ { ccitt (0) recommendation (0) q 950 general-error-list (1) }
+ Address, PartyNumber, PartySubaddress, PresentedNumberScreened FROM
+ Addressing-Data-Elements-asn1-97
+ { iso (1) standard (0) pss1-generic-procedures (11582)
+ addressing-data-elements-asn1-97 (20) };
+
+-- Operations for ANF-WTMI: --
+
+WTMCH-Operations OPERATION ::= {wtmiEnquiry | wtmiDivert | wtmiInform| wtmoCall}
+
+wtmiEnquiry OPERATION ::= {
+ -- Sent from the WTMI-detect PINX to the Home PINX.
+ ARGUMENT EnquiryArg
+ RESULT EnquiryRes
+ ERRORS { invalidServedUserNr | locationNotKnown |
+ notAvailable | basicServiceNotProvided | unspecified }
+ CODE local: 54}
+
+wtmiDivert OPERATION ::= {
+ -- Sent from the WTMI-detect PINX to the Rerouteing PINX.
+ ARGUMENT DivertArg
+ RESULT DummyRes
+ ERRORS { notAvailable | unspecified }
+ CODE local: 55}
+wtmiInform OPERATION ::= {
+ -- Sent from the Rerouteing PINX to the Visitor PINX.
+ ARGUMENT InformArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 56}
+
+EnquiryArg ::= SEQUENCE { pisnNumber PartyNumber,
+ -- The PISN number of the WTMI user
+ qSIGInfoElement PSS1InformationElement,
+ -- The basic call information elements Bearer capability, High layer compatibility,
+ -- Low layer compatibility can be embedded in the qSIGInfoElement
+ -- in accordance with clause 6.5.2.1.
+ argExtension WtmiExtension OPTIONAL }
+DivertArg ::= SEQUENCE { visitPINX PartyNumber,
+ -- The PISN number of the Visitor PINX,
+ -- always a Complete Number.
+ callingNumber PresentedNumberScreened,
+ wtmIdentity WtmIdentity,
+ -- The PISN number (always a Complete Number)
+ -- and/or an alternative identifier of the WTMI user.
+ qSIGInfoElement PSS1InformationElement,
+ -- The basic call information elements Bearer capability, High layer compatibility,
+ -- Low layer compatibility, and Progress indicator
+ -- can be embedded in the qSIGInfoElement in accordance with clause 6.5.2.1.
+ callingUserSub [ 1 ] PartySubaddress OPTIONAL,
+ callingName [ 2 ] Name OPTIONAL,
+ wtmUserSub [ 3 ] PartySubaddress OPTIONAL,
+ argExtension WtmiExtension OPTIONAL }
+InformArg ::= SEQUENCE { wtmIdentity WtmIdentity,
+ -- The PISN number (always a Complete Number)
+ -- and/or an alternative identifier of the WTMI user.
+ argExtension WtmiExtension OPTIONAL }
+EnquiryRes ::= CHOICE { currLocation [ 1 ] IMPLICIT CurrLocation,
+ cfuActivated [ 2 ] IMPLICIT CfuActivated }
+CurrLocation ::= SEQUENCE { visitPINX PartyNumber,
+ -- The PISN number of the Visitor PINX,
+ -- always a Complete Number.
+ wtmIdentity WtmIdentity,
+ -- The PISN number (always a Complete Number)
+ -- and/or an alternative identifier of the WTMI user
+ argExtension WtmiExtension OPTIONAL }
+
+CfuActivated ::= SEQUENCE { divToAddress Address,
+ divOptions SubscriptionOption,
+ wtmName [ 1 ] Name OPTIONAL,
+ argExtension WtmiExtension OPTIONAL }
+SubscriptionOption ::= ENUMERATED { noNotification (0),
+ notificationWithoutDivertedToNr (1),
+ notificationWithDivertedToNr (2) }
+DummyRes ::= CHOICE { null NULL,
+ extension [ 1 ] IMPLICIT Extension{{WTMCHExtSet}},
+ sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF
+ Extension{{WTMCHExtSet}} }
+WtmiExtension ::= CHOICE { extension [ 4 ] IMPLICIT Extension{{WTMCHExtSet}},
+ sequOfExtn [ 5 ] IMPLICIT SEQUENCE OF
+ Extension{{WTMCHExtSet}} }
+WtmIdentity ::= CHOICE { pisnNumber PartyNumber,
+ alternativeId [ 10 ] IMPLICIT AlternativeId,
+ both [ 11 ] IMPLICIT SEQUENCE
+ { pisnNumber PartyNumber,
+ alternativeId AlternativeId } }
+AlternativeId ::= OCTET STRING(SIZE(1..20))
+
+-- Operation for ANF-WTMO --
+wtmoCall OPERATION ::= {
+ ARGUMENT WtmoArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local: 71}
+WtmoArg ::= SEQUENCE {
+ destinationNumber [0] PartyNumber OPTIONAL,
+ sendingComplete [1] IMPLICIT NULL OPTIONAL,
+ extension CHOICE
+ {single [2] IMPLICIT Extension{{WTMCHExtSet}},
+ multiple [3] IMPLICIT SEQUENCE OF
+ Extension{{WTMCHExtSet}}
+ } OPTIONAL
+ }
+
+WTMCHExtSet EXTENSION ::= {...}
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{WTMCHExtSet}}
+ CODE local: 1008}
+locationNotKnown ERROR ::= { CODE local: 1015}
+
+END -- of Wireless-Terminal-Call-Handling-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/QSIG-WTMLR.asn b/epan/dissectors/asn1/qsig/QSIG-WTMLR.asn
new file mode 100644
index 00000000..509a2b5d
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/QSIG-WTMLR.asn
@@ -0,0 +1,122 @@
+-- QSIG-WTMLT.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-302, 2nd edition (December 2001)
+-- http://www.ecma-international.org/publications/standards/Ecma-302.htm
+--
+
+WTM-Location-Registration-Operations-asn1-97
+ {iso standard pss1-location-registration (15429) wtlr-operations-asn1-97 (1)}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
+ {iso standard
+ pss1-generic-procedures (11582) msi-class-asn1-97(11)}
+ notAvailable, invalidServedUserNr
+ FROM General-Error-List
+ {ccitt recommendation q 950 general-error-list (1)}
+ PartyNumber FROM Addressing-Data-Elements-asn1-97
+ {iso(1) standard(0) pss1-generic-procedures(11582)
+ addressing-data-elements-asn1-97(20)}
+ BasicService FROM Call-Diversion-Operations-asn1-97
+ { iso (1) standard (0) pss1-call-diversion (13873)
+ call-diversion-operations-asn1-97 (1) };
+WTMLR-Operations OPERATION ::= {locUpdate | locDelete | locDeReg | pisnEnquiry | getRRCInf | locInfoCheck}
+
+locUpdate OPERATION ::={
+ -- Sent from the Visitor PINX to the Home PINX.
+ ARGUMENT LocUpdArg
+ RESULT DummyRes
+ ERRORS { invalidServedUserNr | notAuthorized | unspecified }
+ CODE local: 50}
+
+locDelete OPERATION ::= {
+ -- Sent from the Home PINX to the previous Visitor PINX.
+ ARGUMENT LocDelArg
+ RESULT DummyRes
+ ERRORS { temporarilyUnavailable | unspecified }
+ CODE local: 51}
+locDeReg OPERATION ::= {
+ -- Sent from the Visitor PINX to the Home PINX.
+ ARGUMENT LocDeRegArg
+ RESULT DummyRes
+ ERRORS { notAvailable | unspecified }
+ CODE local: 52}
+pisnEnquiry OPERATION ::= {
+ -- Sent from the Visitor PINX to the previous Visitor PINX or a Directory PINX.
+ ARGUMENT PisnEnqArg
+ RESULT PisnEnqRes
+ ERRORS { invalidServedUserNr | unspecified}
+ CODE local: 53}
+getRRCInf OPERATION ::= {
+ -- Sent from the Visitor PINX to the Home PINX.
+ ARGUMENT GetRRCInfArg
+ RESULT GetRRCInfRes
+ ERRORS { notAvailable | unspecified }
+ CODE local: 97}
+locInfoCheck OPERATION ::= {
+ -- Sent from the Visitor PINX to the Home PINX or vice versa.
+ ARGUMENT LocInfoCheckArg
+ RESULT LocInfoCheckRes
+ ERRORS { notAvailable | unspecified }
+ CODE local: 98}
+LocUpdArg ::= SEQUENCE { wtmUserId WtmUserId,
+ basicService BasicService DEFAULT allServices,
+ visitPINX PartyNumber,
+ -- The pisnNumber of the Visitor PINX,
+ -- always a Complete Number.
+ argExtension LrExtension OPTIONAL }
+DummyRes ::= CHOICE { null NULL,
+ extension [ 1 ] IMPLICIT Extension{{WTMLRExtSet}},
+ sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF
+ Extension{{WTMLRExtSet}} }
+LocDelArg ::= SEQUENCE { wtmUserId WtmUserId,
+ basicService BasicService DEFAULT allServices,
+ argExtension LrExtension OPTIONAL }
+LocDeRegArg ::= SEQUENCE { wtmUserId WtmUserId,
+ basicService BasicService DEFAULT allServices,
+ argExtension LrExtension OPTIONAL }
+
+PisnEnqArg ::= SEQUENCE { alternativeId AlternativeId,
+ -- Can be a temporary identifier, e.g. Network Assigned
+ -- Identity structure, or a fixed handset identifier.
+ argExtension LrExtension OPTIONAL }
+PisnEnqRes ::= SEQUENCE { wtmUserId WtmUserId,
+ resExtension LrExtension OPTIONAL }
+GetRRCInfArg ::= SEQUENCE { wtmUserId WtmUserId,
+ basicService BasicService DEFAULT allServices,
+ argExtension LrExtension OPTIONAL }
+GetRRCInfRes ::= SEQUENCE { alternativeId AlternativeId OPTIONAL,
+ rrClass RRClass OPTIONAL,
+ argExtension LrExtension OPTIONAL }
+LocInfoCheckArg ::= SEQUENCE { wtmUserId WtmUserId,
+ basicService BasicService DEFAULT allServices,
+ visitPINX PartyNumber,
+ -- The PISN number of the Visitor PINX,
+ -- always a Complete Number.
+ argExtension LrExtension OPTIONAL }
+LocInfoCheckRes ::= SEQUENCE { checkResult CheckResult,
+ argExtension LrExtension OPTIONAL }
+WtmUserId ::= CHOICE { pisnNumber PartyNumber,
+ -- The PISN number of the WTM user,
+ -- always a Complete Number.
+ alternativeId AlternativeId }
+AlternativeId ::= OCTET STRING(SIZE(1..20))
+LrExtension ::= CHOICE { extension [ 1 ] IMPLICIT Extension{{WTMLRExtSet}},
+ sequOfExtn [ 2 ] IMPLICIT SEQUENCE OF
+ Extension{{WTMLRExtSet}} }
+RRClass ::= INTEGER (0..99)
+CheckResult ::= ENUMERATED { locInfChk-correct (0),
+ locInfChk-incorrect (1) }
+WTMLRExtSet EXTENSION ::= {...}
+notAuthorized ERROR ::= {CODE local: 1007}
+temporarilyUnavailable ERROR ::= {CODE local: 1000}
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{WTMLRExtSet}}
+ CODE local: 1008}
+END -- of WTM-Location-Registration-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/SYNC-SIG.asn b/epan/dissectors/asn1/qsig/SYNC-SIG.asn
new file mode 100644
index 00000000..d0f5f4d9
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/SYNC-SIG.asn
@@ -0,0 +1,72 @@
+-- SYNC-SIG.asn
+--
+-- Taken from Ecma International
+-- Standard ECMA-245, 2nd Edition - September 1997
+-- http://www.ecma-international.org/publications/standards/Ecma-245.htm
+--
+-- updated from macro notation to information object notation
+--
+
+Synchronization-Operations-asn1-97
+ { iso (1) standard (0) pinx-clock-synchronization (15507) synchronization-operations-asn1-97 (1) }
+
+DEFINITIONS EXPLICIT TAGS::=
+
+BEGIN
+
+IMPORTS OPERATION, ERROR FROM
+ Remote-Operations-Information-Objects
+ {joint-iso-itu-t remote-operations (4) informationObjects (5)
+ version1 (0)}
+
+ EXTENSION, Extension{} FROM
+ Manufacturer-specific-service-extension-class-asn1-97
+ {iso standard pss1-generic-procedures (11582)
+ msi-class-asn1-97 (11)} ;
+
+-- The following two operations shall apply to SYNC-SIG
+
+Synchronization-Operations OPERATION ::= { synchronizationRequest | synchronizationInfo }
+
+synchronizationRequest OPERATION ::= {
+ ARGUMENT SynchronizationReqArg
+ RESULT SynchronizationReqRes
+ ERRORS {unspecified}
+ CODE local:78
+}
+
+synchronizationInfo OPERATION ::= {
+ ARGUMENT SynchronizationInfoArg
+ CODE local:79
+}
+
+SynchronizationReqArg ::= SEQUENCE {
+ action Action,
+ argExtension ArgExtension OPTIONAL
+}
+
+SynchronizationReqRes ::= SEQUENCE {
+ action Action,
+ response BOOLEAN, -- TRUE = yes, FALSE = no
+ argExtension ArgExtension OPTIONAL
+}
+
+SynchronizationInfoArg ::= SEQUENCE {
+ stateinfo INTEGER { freerunning (0), idle (1)},
+ argExtension ArgExtension OPTIONAL
+}
+
+Action ::= INTEGER { enslavement(0), holdon (1)}
+
+ArgExtension::= CHOICE{
+ extension [1] IMPLICIT Extension{{SYNCExtSet}},
+ sequOfExtn [2] IMPLICIT SEQUENCE OF Extension{{SYNCExtSet}}
+}
+
+unspecified ERROR ::= {
+ PARAMETER Extension{{SYNCExtSet}}
+ CODE local:1008}
+
+SYNCExtSet EXTENSION ::= {...}
+
+END -- of Synchronization-Operations-asn1-97
diff --git a/epan/dissectors/asn1/qsig/packet-qsig-template.c b/epan/dissectors/asn1/qsig/packet-qsig-template.c
new file mode 100644
index 00000000..b7d3fb4a
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/packet-qsig-template.c
@@ -0,0 +1,714 @@
+/* packet-qsig.c
+ * Routines for QSIG packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <wsutil/strtoi.h>
+
+#include "packet-ber.h"
+#include "packet-qsig.h"
+
+#define PNAME "QSIG"
+#define PSNAME "QSIG"
+#define PFNAME "qsig"
+
+/* Shifted codeset values */
+#define CS0 0x000
+#define CS1 0x100
+#define CS2 0x200
+#define CS3 0x300
+#define CS4 0x400
+#define CS5 0x500
+#define CS6 0x600
+#define CS7 0x700
+
+#define QSIG_IE_TRANSIT_COUNTER 0x31
+#define QSIG_IE_PARTY_CATEGORY 0x32
+
+void proto_register_qsig(void);
+void proto_reg_handoff_qsig(void);
+
+static dissector_handle_t qsig_arg_handle;
+static dissector_handle_t qsig_res_handle;
+static dissector_handle_t qsig_err_handle;
+static dissector_handle_t qsig_ie4_handle;
+static dissector_handle_t qsig_ie5_handle;
+
+static const value_string qsig_str_ie_type_cs4[] = {
+ { QSIG_IE_TRANSIT_COUNTER , "Transit counter" },
+ { 0, NULL}
+};
+static const value_string qsig_str_ie_type_cs5[] = {
+ { QSIG_IE_PARTY_CATEGORY , "Party category" },
+ { 0, NULL}
+};
+/* Codeset array */
+static const value_string *qsig_str_ie_type[] = {
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ qsig_str_ie_type_cs4,
+ qsig_str_ie_type_cs5,
+ NULL,
+ NULL,
+};
+
+
+static const value_string qsig_str_pc[] = {
+ { 0x00 , "unknown" },
+ { 0x01 , "extension" },
+ { 0x02 , "operator" },
+ { 0x03 , "emergency extension" },
+ { 0, NULL}
+};
+
+static const value_string qsig_str_service[] = {
+ { 13868, "QSIG-NA" },
+ { 13873, "QSIG-CF" },
+ { 13874, "QSIG-PR" },
+ { 13869, "QSIG-CT" },
+ { 13870, "QSIG-CC" },
+ { 14843, "QSIG-CO" },
+ { 14844, "QSIG-DND(O)" },
+ { 14846, "QSIG-CI" },
+ { 15050, "QSIG-AOC" },
+ { 15052, "QSIG-RE" },
+ { 15054, "QSIG-CINT" },
+ { 15506, "QSIG-MWI" },
+ { 15507, "SYNC-SIG" },
+ { 15772, "QSIG-CMN" },
+ { 15992, "QSIG-CPI(P)" },
+ { 17876, "QSIG-PUMR" },
+ { 17878, "QSIG-PUMCH" },
+ { 19460, "QSIG-SSCT" },
+ { 15429, "QSIG-WTMLR" },
+ { 15431, "QSIG-WTMCH" },
+ { 15433, "QSIG-WTMAU" },
+ { 21407, "QSIG-SD" },
+ { 21889, "QSIG-CIDL" },
+ { 325, "QSIG-SMS" },
+ { 344, "QSIG-MCR" },
+ { 3471, "QSIG-MCM" },
+ { 3472, "QSIG-MID" },
+ { 0, NULL}
+};
+
+static const value_string qsig_str_service_name[] = {
+ { 13868, "Name-Operations" },
+ { 13873, "Call-Diversion-Operations" },
+ { 13874, "Path-Replacement-Operations" },
+ { 13869, "Call-Transfer-Operations" },
+ { 13870, "SS-CC-Operations" },
+ { 14843, "Call-Offer-Operations" },
+ { 14844, "Do-Not-Disturb-Operations" },
+ { 14846, "Call-Intrusion-Operations" },
+ { 15050, "SS-AOC-Operation" },
+ { 15052, "Recall-Operation" },
+ { 15054, "Call-Interception-Operations" },
+ { 15506, "SS-MWI-Operations" },
+ { 15507, "Synchronization-Operations" },
+ { 15772, "Common-Information-Operations" },
+ { 15992, "Call-Interruption-Operation" },
+ { 17876, "PUM-Registration-Operation" },
+ { 17878, "Private-User-Mobility-Call-Handling-Operations" },
+ { 19460, "Single-Step-Call-Transfer-Operations" },
+ { 15429, "WTM-Location-Registration-Operations" },
+ { 15431, "Wireless-Terminal-Call-Handling-Operations" },
+ { 15433, "WTM-Authentication-Operations" },
+ { 21407, "SS-SD-Operations" },
+ { 21889, "Call-Identification-and-Call-Linkage-Operations" },
+ { 325, "Short-Message-Service-Operations" },
+ { 344, "SS-MCR-Operations" },
+ { 3471, "SS-MCM-Operations" },
+ { 3472, "SS-MID-Operations" },
+ { 0, NULL}
+};
+
+#define NO_SRV (-1)
+static const gint32 op2srv_tab[] = {
+ /* 0 */ 13868,
+ /* 1 */ 13868,
+ /* 2 */ 13868,
+ /* 3 */ 13868,
+ /* 4 */ 13874,
+ /* 5 */ 13874,
+ /* 6 */ 13874,
+ /* 7 */ 13869,
+ /* 8 */ 13869,
+ /* 9 */ 13869,
+ /* 10 */ 13869,
+ /* 11 */ 13869,
+ /* 12 */ 13869,
+ /* 13 */ 13869,
+ /* 14 */ 13869,
+ /* 15 */ 13873,
+ /* 16 */ 13873,
+ /* 17 */ 13873,
+ /* 18 */ 13873,
+ /* 19 */ 13873,
+ /* 20 */ 13873,
+ /* 21 */ 13873,
+ /* 22 */ 13873,
+ /* 23 */ 13873,
+ /* 24 */ NO_SRV,
+ /* 25 */ NO_SRV,
+ /* 26 */ NO_SRV,
+ /* 27 */ 13870,
+ /* 28 */ 13870,
+ /* 29 */ 13870,
+ /* 30 */ 13870,
+ /* 31 */ 13870,
+ /* 32 */ 13870,
+ /* 33 */ 13870,
+ /* 34 */ 14843,
+ /* 35 */ 14844,
+ /* 36 */ 14844,
+ /* 37 */ 14844,
+ /* 38 */ 14844,
+ /* 39 */ 14844,
+ /* 40 */ 13870,
+ /* 41 */ 90001,
+ /* 42 */ 90001,
+ /* 43 */ 14846,
+ /* 44 */ 14846,
+ /* 45 */ 14846,
+ /* 46 */ 14846,
+ /* 47 */ 14846,
+ /* 48 */ 14846,
+ /* 49 */ 90001,
+ /* 50 */ 15429,
+ /* 51 */ 15429,
+ /* 52 */ 15429,
+ /* 53 */ 15429,
+ /* 54 */ 15431,
+ /* 55 */ 15431,
+ /* 56 */ 15431,
+ /* 57 */ 15052,
+ /* 58 */ 15052,
+ /* 59 */ 15050,
+ /* 60 */ 15050,
+ /* 61 */ 15050,
+ /* 62 */ 15050,
+ /* 63 */ 15050,
+ /* 64 */ 15050,
+ /* 65 */ 15050,
+ /* 66 */ 15054,
+ /* 67 */ 15054,
+ /* 68 */ 15054,
+ /* 69 */ 15054,
+ /* 70 */ 15054,
+ /* 71 */ 15431,
+ /* 72 */ 15433,
+ /* 73 */ 15433,
+ /* 74 */ 15433,
+ /* 75 */ 15433,
+ /* 76 */ 15433,
+ /* 77 */ 15433,
+ /* 78 */ 15507,
+ /* 79 */ 15507,
+ /* 80 */ 3471,
+ /* 81 */ 3471,
+ /* 82 */ 3471,
+ /* 83 */ NO_SRV,
+ /* 84 */ 15772,
+ /* 85 */ 15772,
+ /* 86 */ 13874,
+ /* 87 */ 15992,
+ /* 88 */ 15992,
+ /* 89 */ 17876,
+ /* 90 */ 17876,
+ /* 91 */ 17876,
+ /* 92 */ 17876,
+ /* 93 */ 17878,
+ /* 94 */ 17878,
+ /* 95 */ 17878,
+ /* 96 */ 17878,
+ /* 97 */ 15429,
+ /* 98 */ 15429,
+ /* 99 */ 19460,
+ /* 100 */ 19460,
+ /* 101 */ 19460,
+ /* 102 */ 19460,
+ /* 103 */ 21407,
+ /* 104 */ 21407,
+ /* 105 */ 21889,
+ /* 106 */ 21889,
+ /* 107 */ 325,
+ /* 108 */ 325,
+ /* 109 */ 325,
+ /* 110 */ 325,
+ /* 111 */ 325,
+ /* 112 */ 344,
+ /* 113 */ 344,
+ /* 114 */ 344,
+ /* 115 */ 3471,
+ /* 116 */ 3471,
+ /* 117 */ 3471,
+ /* 118 */ 3471,
+ /* 119 */ 3472,
+ /* 120 */ 3472,
+};
+
+static const value_string qsig_str_operation[] = {
+#include "packet-qsig-table10.c"
+ { 0, NULL}
+};
+
+static const value_string qsig_str_error[] = {
+#include "packet-qsig-table20.c"
+ { 0, NULL}
+};
+
+/* Initialize the protocol and registered fields */
+static int proto_qsig = -1;
+static int hf_qsig_operation = -1;
+static int hf_qsig_service = -1;
+static int hf_qsig_error = -1;
+static int hf_qsig_ie_type = -1;
+static int hf_qsig_ie_type_cs4 = -1;
+static int hf_qsig_ie_type_cs5 = -1;
+static int hf_qsig_ie_len = -1;
+static int hf_qsig_ie_data = -1;
+static int hf_qsig_tc = -1;
+static int hf_qsig_pc = -1;
+#include "packet-qsig-hf.c"
+
+static int *hf_qsig_ie_type_arr[] = {
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ &hf_qsig_ie_type_cs4,
+ &hf_qsig_ie_type_cs5,
+ NULL,
+ NULL,
+};
+
+/* Initialize the subtree pointers */
+static gint ett_qsig = -1;
+static gint ett_qsig_ie = -1;
+static gint ett_qsig_unknown_extension = -1;
+#include "packet-qsig-ett.c"
+static gint ett_cnq_PSS1InformationElement = -1;
+
+/* static expert_field ei_qsig_unsupported_arg_type = EI_INIT; */
+static expert_field ei_qsig_unsupported_result_type = EI_INIT;
+static expert_field ei_qsig_unsupported_error_type = EI_INIT;
+
+/* Preferences */
+
+/* Subdissectors */
+static dissector_handle_t q931_ie_handle = NULL;
+
+/* Global variables */
+static const char *extension_oid = NULL;
+
+/* Dissector tables */
+static dissector_table_t extension_dissector_table;
+
+#include "packet-qsig-fn.c"
+
+typedef struct _qsig_op_t {
+ gint32 opcode;
+ dissector_t arg_pdu;
+ dissector_t res_pdu;
+} qsig_op_t;
+
+static const qsig_op_t qsig_op_tab[] = {
+#include "packet-qsig-table11.c"
+};
+
+typedef struct _qsig_err_t {
+ gint32 errcode;
+ dissector_t err_pdu;
+} qsig_err_t;
+
+static const qsig_err_t qsig_err_tab[] = {
+#include "packet-qsig-table21.c"
+};
+
+static const qsig_op_t *get_op(gint32 opcode) {
+ int i;
+
+ /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
+ for (i = array_length(qsig_op_tab) - 1; i >= 0; i--)
+ if (qsig_op_tab[i].opcode == opcode)
+ return &qsig_op_tab[i];
+ return NULL;
+}
+
+static gint32 get_service(gint32 opcode) {
+ if ((opcode < 0) || (opcode >= (int)array_length(op2srv_tab)))
+ return NO_SRV;
+ return op2srv_tab[opcode];
+}
+
+static const qsig_err_t *get_err(gint32 errcode) {
+ int i;
+
+ /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
+ for (i = array_length(qsig_err_tab) - 1; i >= 0; i--)
+ if (qsig_err_tab[i].errcode == errcode)
+ return &qsig_err_tab[i];
+ return NULL;
+}
+
+/*--- dissect_qsig_arg ------------------------------------------------------*/
+static int
+dissect_qsig_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ int offset = 0;
+ rose_ctx_t *rctx;
+ gint32 opcode = 0, service, oid_num;
+ const qsig_op_t *op_ptr = NULL;
+ const gchar *p, *oid;
+ proto_item *ti, *ti_tmp;
+ proto_tree *qsig_tree;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rctx = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rctx);
+
+ if (rctx->d.pdu != 1) /* invoke */
+ return offset;
+ if (rctx->d.code == 0) { /* local */
+ opcode = rctx->d.code_local;
+ op_ptr = get_op(opcode);
+ } else if (rctx->d.code == 1) { /* global */
+ oid = g_strrstr(rctx->d.code_global, ".");
+ if (oid != NULL) {
+ if (ws_strtou32(oid+1, NULL, &oid_num))
+ op_ptr = get_op(oid_num);
+ }
+ if (op_ptr)
+ opcode = op_ptr->opcode;
+ } else {
+ return offset;
+ }
+ if (!op_ptr)
+ return offset;
+ service = get_service(opcode);
+
+ ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_captured_length(tvb), ENC_NA);
+ qsig_tree = proto_item_add_subtree(ti, ett_qsig);
+
+ proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
+ p = try_val_to_str(opcode, VALS(qsig_str_operation));
+ if (p) {
+ proto_item_append_text(ti, ": %s", p);
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
+
+ ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
+ p = try_val_to_str(service, VALS(qsig_str_service_name));
+ if (p) proto_item_append_text(ti_tmp, " - %s", p);
+
+ if (op_ptr->arg_pdu)
+ offset = op_ptr->arg_pdu(tvb, pinfo, qsig_tree, NULL);
+ else
+ if (tvb_reported_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_expert(tree, pinfo, &ei_qsig_unsupported_error_type, tvb, offset, -1);
+ offset += tvb_captured_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+/*--- dissect_qsig_res -------------------------------------------------------*/
+static int
+dissect_qsig_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ gint offset = 0;
+ rose_ctx_t *rctx;
+ gint32 opcode, service;
+ const qsig_op_t *op_ptr;
+ const gchar *p;
+ proto_item *ti, *ti_tmp;
+ proto_tree *qsig_tree;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rctx = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rctx);
+
+ if (rctx->d.pdu != 2) /* returnResult */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ opcode = rctx->d.code_local;
+ op_ptr = get_op(opcode);
+ if (!op_ptr)
+ return offset;
+ service = get_service(opcode);
+
+ ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_captured_length(tvb), ENC_NA);
+ qsig_tree = proto_item_add_subtree(ti, ett_qsig);
+
+ proto_tree_add_uint(qsig_tree, hf_qsig_operation, tvb, 0, 0, opcode);
+ p = try_val_to_str(opcode, VALS(qsig_str_operation));
+ if (p) {
+ proto_item_append_text(ti, ": %s", p);
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
+
+ ti_tmp = proto_tree_add_uint(qsig_tree, hf_qsig_service, tvb, 0, 0, service);
+ p = try_val_to_str(service, VALS(qsig_str_service_name));
+ if (p) proto_item_append_text(ti_tmp, " - %s", p);
+
+ if (op_ptr->res_pdu)
+ offset = op_ptr->res_pdu(tvb, pinfo, qsig_tree, NULL);
+ else
+ if (tvb_reported_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_expert(tree, pinfo, &ei_qsig_unsupported_result_type, tvb, offset, -1);
+ offset += tvb_captured_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+/*--- dissect_qsig_err ------------------------------------------------------*/
+static int
+dissect_qsig_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
+ int offset = 0;
+ rose_ctx_t *rctx;
+ gint32 errcode;
+ const qsig_err_t *err_ptr;
+ const gchar *p;
+ proto_item *ti;
+ proto_tree *qsig_tree;
+
+ /* Reject the packet if data is NULL */
+ if (data == NULL)
+ return 0;
+ rctx = get_rose_ctx(data);
+ DISSECTOR_ASSERT(rctx);
+
+ if (rctx->d.pdu != 3) /* returnError */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ errcode = rctx->d.code_local;
+ err_ptr = get_err(errcode);
+ if (!err_ptr)
+ return offset;
+
+ ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, tvb_captured_length(tvb), ENC_NA);
+ qsig_tree = proto_item_add_subtree(ti, ett_qsig);
+
+ proto_tree_add_uint(qsig_tree, hf_qsig_error, tvb, 0, 0, errcode);
+ p = try_val_to_str(errcode, VALS(qsig_str_error));
+ if (p) {
+ proto_item_append_text(ti, ": %s", p);
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
+
+ if (err_ptr->err_pdu)
+ offset = err_ptr->err_pdu(tvb, pinfo, qsig_tree, NULL);
+ else
+ if (tvb_reported_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_expert(tree, pinfo, &ei_qsig_unsupported_error_type, tvb, offset, -1);
+ offset += tvb_captured_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+/*--- dissect_qsig_transit_counter_ie ---------------------------------------*/
+static int
+dissect_qsig_transit_counter_ie(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int length _U_) {
+ proto_tree_add_item(tree, hf_qsig_tc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ return offset;
+}
+/*--- dissect_qsig_party_category_ie ----------------------------------------*/
+static int
+dissect_qsig_party_category_ie(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int length _U_) {
+ proto_tree_add_item(tree, hf_qsig_pc, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ return offset;
+}
+
+/*--- dissect_qsig_ie -------------------------------------------------------*/
+static void
+dissect_qsig_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int codeset) {
+ gint offset;
+ proto_item *ti, *hidden_item;
+ proto_tree *ie_tree;
+ guint8 ie_type, ie_len;
+
+ offset = 0;
+
+ ti = proto_tree_add_item(tree, proto_qsig, tvb, offset, -1, ENC_NA);
+ proto_item_set_hidden(ti);
+
+ ie_type = tvb_get_guint8(tvb, offset);
+ ie_len = tvb_get_guint8(tvb, offset + 1);
+
+ ie_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_qsig_ie, NULL,
+ val_to_str(ie_type, VALS(qsig_str_ie_type[codeset]), "unknown (0x%02X)"));
+
+ proto_tree_add_item(ie_tree, *hf_qsig_ie_type_arr[codeset], tvb, offset, 1, ENC_BIG_ENDIAN);
+ hidden_item = proto_tree_add_item(ie_tree, hf_qsig_ie_type, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_item_set_hidden(hidden_item);
+ proto_tree_add_item(ie_tree, hf_qsig_ie_len, tvb, offset + 1, 1, ENC_BIG_ENDIAN);
+ offset += 2;
+ if (tvb_reported_length_remaining(tvb, offset) <= 0)
+ return;
+ switch ((codeset << 8) | ie_type) {
+ case CS4 | QSIG_IE_TRANSIT_COUNTER :
+ dissect_qsig_transit_counter_ie(tvb, offset, pinfo, ie_tree, ie_len);
+ break;
+ case CS5 | QSIG_IE_PARTY_CATEGORY :
+ dissect_qsig_party_category_ie(tvb, offset, pinfo, ie_tree, ie_len);
+ break;
+ default:
+ if (ie_len > 0) {
+ if (tree) proto_tree_add_item(ie_tree, hf_qsig_ie_data, tvb, offset, ie_len, ENC_NA);
+ }
+ }
+}
+/*--- dissect_qsig_ie_cs4 ---------------------------------------------------*/
+static int
+dissect_qsig_ie_cs4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) {
+ dissect_qsig_ie(tvb, pinfo, tree, 4);
+ return tvb_captured_length(tvb);
+}
+/*--- dissect_qsig_ie_cs5 ---------------------------------------------------*/
+static int
+dissect_qsig_ie_cs5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) {
+ dissect_qsig_ie(tvb, pinfo, tree, 5);
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_qsig ---------------------------------------------------*/
+void proto_register_qsig(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_qsig_operation, { "Operation", "qsig.operation",
+ FT_UINT8, BASE_DEC, VALS(qsig_str_operation), 0x0,
+ NULL, HFILL }},
+ { &hf_qsig_service, { "Service", "qsig.service",
+ FT_UINT16, BASE_DEC, VALS(qsig_str_service), 0x0,
+ "Supplementary Service", HFILL }},
+ { &hf_qsig_error, { "Error", "qsig.error",
+ FT_UINT8, BASE_DEC, VALS(qsig_str_error), 0x0,
+ NULL, HFILL }},
+ { &hf_qsig_ie_type, { "Type", "qsig.ie.type",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ "Information Element Type", HFILL }},
+ { &hf_qsig_ie_type_cs4, { "Type", "qsig.ie.type.cs4",
+ FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs4), 0x0,
+ "Information Element Type (Codeset 4)", HFILL }},
+ { &hf_qsig_ie_type_cs5, { "Type", "qsig.ie.type.cs5",
+ FT_UINT8, BASE_HEX, VALS(qsig_str_ie_type_cs5), 0x0,
+ "Information Element Type (Codeset 5)", HFILL }},
+ { &hf_qsig_ie_len, { "Length", "qsig.ie.len",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ "Information Element Length", HFILL }},
+ { &hf_qsig_ie_data, { "Data", "qsig.ie.data",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_qsig_tc, { "Transit count", "qsig.tc",
+ FT_UINT8, BASE_DEC, NULL, 0x1F,
+ NULL, HFILL }},
+ { &hf_qsig_pc, { "Party category", "qsig.pc",
+ FT_UINT8, BASE_HEX, VALS(qsig_str_pc), 0x07,
+ NULL, HFILL }},
+#include "packet-qsig-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_qsig,
+ &ett_qsig_ie,
+ &ett_qsig_unknown_extension,
+#include "packet-qsig-ettarr.c"
+ &ett_cnq_PSS1InformationElement,
+ };
+
+ static ei_register_info ei[] = {
+#if 0
+ { &ei_qsig_unsupported_arg_type, { "qsig.unsupported.arg_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ARGUMENT TYPE (QSIG)", EXPFILL }},
+#endif
+ { &ei_qsig_unsupported_result_type, { "qsig.unsupported.result_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED RESULT TYPE (QSIG)", EXPFILL }},
+ { &ei_qsig_unsupported_error_type, { "qsig.unsupported.error_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ERROR TYPE (QSIG)", EXPFILL }},
+ };
+
+ expert_module_t* expert_qsig;
+
+ /* Register protocol and dissector */
+ proto_qsig = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_qsig, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_qsig = expert_register_protocol(proto_qsig);
+ expert_register_field_array(expert_qsig, ei, array_length(ei));
+
+ /* Register dissectors */
+ qsig_arg_handle = register_dissector(PFNAME "_arg", dissect_qsig_arg, proto_qsig);
+ qsig_res_handle = register_dissector(PFNAME "_res", dissect_qsig_res, proto_qsig);
+ qsig_err_handle = register_dissector(PFNAME "_err", dissect_qsig_err, proto_qsig);
+ qsig_ie4_handle = register_dissector(PFNAME "_ie_cs4", dissect_qsig_ie_cs4, proto_qsig);
+ qsig_ie5_handle = register_dissector(PFNAME "_ie_cs5", dissect_qsig_ie_cs5, proto_qsig);
+
+ /* Register dissector tables */
+ extension_dissector_table = register_dissector_table("qsig.ext", "QSIG Extension", proto_qsig, FT_STRING, STRING_CASE_SENSITIVE);
+}
+
+
+/*--- proto_reg_handoff_qsig ------------------------------------------------*/
+void proto_reg_handoff_qsig(void) {
+ int i;
+ gchar *oid;
+ dissector_handle_t q931_handle;
+
+ q931_handle = find_dissector_add_dependency("q931", proto_qsig);
+ q931_ie_handle = find_dissector_add_dependency("q931.ie", proto_qsig);
+
+ for (i=0; i<(int)array_length(qsig_op_tab); i++) {
+ dissector_add_uint("q932.ros.local.arg", qsig_op_tab[i].opcode, qsig_arg_handle);
+ dissector_add_uint("q932.ros.local.res", qsig_op_tab[i].opcode, qsig_res_handle);
+
+ oid = wmem_strdup_printf(NULL, "1.3.12.9.%d", qsig_op_tab[i].opcode);
+ dissector_add_string("q932.ros.global.arg", oid, qsig_arg_handle);
+ dissector_add_string("q932.ros.global.res", oid, qsig_res_handle);
+ wmem_free(NULL, oid);
+ }
+ for (i=0; i<(int)array_length(qsig_err_tab); i++) {
+ dissector_add_uint("q932.ros.local.err", qsig_err_tab[i].errcode, qsig_err_handle);
+ }
+
+ /* QSIG-TC - Transit counter */
+ dissector_add_uint("q931.ie", CS4 | QSIG_IE_TRANSIT_COUNTER, qsig_ie4_handle);
+
+ /* SSIG-BC - Party category */
+ dissector_add_uint("q931.ie", CS5 | QSIG_IE_PARTY_CATEGORY, qsig_ie5_handle);
+
+ /* RFC 3204, 3.2 QSIG Media Type */
+ dissector_add_string("media_type", "application/qsig", q931_handle);
+
+}
+
+/*---------------------------------------------------------------------------*/
diff --git a/epan/dissectors/asn1/qsig/packet-qsig-template.h b/epan/dissectors/asn1/qsig/packet-qsig-template.h
new file mode 100644
index 00000000..12c79f27
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/packet-qsig-template.h
@@ -0,0 +1,18 @@
+/* packet-qsig.h
+ * Routines for QSIG packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_QSIG_H
+#define PACKET_QSIG_H
+
+#include "packet-qsig-exp.h"
+
+#endif /* PACKET_QSIG_H */
+
diff --git a/epan/dissectors/asn1/qsig/qsig-gf-ade.asn b/epan/dissectors/asn1/qsig/qsig-gf-ade.asn
new file mode 100644
index 00000000..78a3c44c
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/qsig-gf-ade.asn
@@ -0,0 +1,132 @@
+-- QSIG-GF-ADE.asn
+--
+-- Taken from Ecma International
+-- http://www.ecma-international.org/publications/standards/Ecma-165.htm
+--
+-- B.1 Addressing information
+--
+
+Addressing-Data-Elements-asn1-97 {iso(1) standard(0)
+ pss1-generic-procedures(11582) addressing-data-elements-asn1-97(20)}
+DEFINITIONS EXPLICIT TAGS ::=
+BEGIN
+
+PresentedAddressScreened ::= CHOICE {
+ presentationAllowedAddressS [0] IMPLICIT AddressScreened,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddressS [3] IMPLICIT AddressScreened}
+
+PresentedAddressUnscreened ::= CHOICE {
+ presentationAllowedAddressU [0] IMPLICIT Address,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddressU [3] IMPLICIT Address}
+
+PresentedNumberScreened ::= CHOICE {
+ presentationAllowedAddressNS [0] IMPLICIT NumberScreened,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddressNS [3] IMPLICIT NumberScreened}
+
+PresentedNumberUnscreened ::= CHOICE {
+ presentationAllowedAddressNU [0] PartyNumber,
+ presentationRestricted [1] IMPLICIT NULL,
+ numberNotAvailableDueToInterworking [2] IMPLICIT NULL,
+ presentationRestrictedAddressNU [3] PartyNumber}
+
+AddressScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator,
+ partySubaddress PartySubaddress OPTIONAL}
+
+NumberScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator}
+
+Address ::= SEQUENCE {
+ partyNumber PartyNumber,
+ partySubaddress PartySubaddress OPTIONAL}
+
+PartyNumber ::= CHOICE {
+ unknownPartyNumber [0] IMPLICIT NumberDigits,
+ -- the numbering plan is the default numbering
+ -- plan of the network. It is recommanded that
+ -- this value is used.
+ publicPartyNumber [1] IMPLICIT PublicPartyNumber,
+ -- the numbering plan is according to
+ -- Recommendation E.163 and E.164.
+ dataPartyNumber [3] IMPLICIT NumberDigits,
+ -- not used, value reserved.
+ telexPartyNumber [4] IMPLICIT NumberDigits,
+ -- not used, value reserved.
+ privatePartyNumber [5] IMPLICIT PrivatePartyNumber,
+ nationalStandardPartyNumber [8] IMPLICIT NumberDigits}
+
+-- not used, value reserved.
+PublicPartyNumber ::= SEQUENCE {
+ publicTypeOfNumber PublicTypeOfNumber,
+ publicNumberDigits NumberDigits}
+
+PrivatePartyNumber ::= SEQUENCE {
+ privateTypeOfNumber PrivateTypeOfNumber,
+ privateNumberDigits NumberDigits}
+
+NumberDigits ::= NumericString(SIZE (1..20))
+
+PublicTypeOfNumber ::= ENUMERATED {
+ unknown(0),
+ -- if used number digits carry prefix indicating type
+ -- of number according to national recommendations.
+ internationalNumber(1), nationalNumber(2),
+ networkSpecificNumber(3),
+ -- not used, value reserved
+ subscriberNumber(4), abbreviatedNumber(6)}
+
+-- valid only for called party number at the outgoing
+-- access, network substitutes appropriate number.
+PrivateTypeOfNumber ::= ENUMERATED {
+ unknown(0), level2RegionalNumber(1), level1RegionalNumber(2),
+ pISNSpecificNumber(3), localNumber(4), abbreviatedNumber(6)}
+
+PartySubaddress ::= CHOICE {
+ userSpecifiedSubaddress UserSpecifiedSubaddress,
+ -- not recommended.
+ nSAPSubaddress NSAPSubaddress}
+
+-- according to Recommendation X.213.
+UserSpecifiedSubaddress ::= SEQUENCE {
+ subaddressInformation SubaddressInformation,
+ oddCountIndicator BOOLEAN OPTIONAL}
+
+-- used when the coding of subaddress is BCD
+NSAPSubaddress ::= OCTET STRING(SIZE (1..20))
+
+-- specified according to X.213. Some networks may
+-- limit the subaddress value to some other length
+-- e.g. 4 octets
+SubaddressInformation ::= OCTET STRING(SIZE (1..20))
+
+-- coded according to user requirements. Some networks
+-- may limit the subaddress value to some other length
+-- e.g. 4 octets
+ScreeningIndicator ::= ENUMERATED {
+ userProvidedNotScreened(0),
+ -- number was provided by a remote user terminal
+ -- equipment, and has been screened by a network that
+ -- is not the local public or the local private
+ -- network.
+ userProvidedVerifiedAndPassed(1),
+ -- number was provided by a remote user terminal
+ -- equipment (or by a remote private network), and has
+ -- been screened by the local public or the local
+ -- private network.
+ userProvidedVerifiedAndFailed(2),
+ -- not used, value reserved.
+ networkProvided(3)}
+
+-- number was provided by local public or local
+-- private network.
+PresentationAllowedIndicator ::= BOOLEAN
+
+END -- of Addressing-Data-Elements \ No newline at end of file
diff --git a/epan/dissectors/asn1/qsig/qsig-gf-ext.asn b/epan/dissectors/asn1/qsig/qsig-gf-ext.asn
new file mode 100644
index 00000000..3cee9f59
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/qsig-gf-ext.asn
@@ -0,0 +1,32 @@
+-- QSIG-GF-EXT.asn
+--
+-- Taken from Ecma International
+-- http://www.ecma-international.org/publications/standards/Ecma-165.htm
+--
+-- 9.2 Manufacturer specific additions to standardised operations
+--
+
+Manufacturer-specific-service-extension-class-asn1-97 {iso(1) standard(0)
+ pss1-generic-procedures(11582) msi-class-asn1-97(11)} DEFINITIONS ::=
+BEGIN
+
+EXTENSION ::= CLASS {
+ &ArgumentType ,
+ &extensionId OBJECT IDENTIFIER
+} WITH SYNTAX {
+ ARGUMENT &ArgumentType
+ IDENTIFIER &extensionId
+}
+
+Extension{EXTENSION:ExtensionSet} ::= SEQUENCE {
+ extensionId EXTENSION.&extensionId({Extensionset}),
+ extensionArgument EXTENSION.&ArgumentType({ExtensionSet}{@extensionId})
+}
+
+Extensionset EXTENSION ::= {...}
+
+-- ExtensionSet is a set of objects of class EXTENSION. Element extensionId is constrained to be
+-- the identifier of an object from that set, and element extensionArgument is constrained to be the
+-- argument type for that particular object.
+
+END -- of Manufacturer-specific-service-extension-class-asn1-97 \ No newline at end of file
diff --git a/epan/dissectors/asn1/qsig/qsig-gf-gp.asn b/epan/dissectors/asn1/qsig/qsig-gf-gp.asn
new file mode 100644
index 00000000..f0937122
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/qsig-gf-gp.asn
@@ -0,0 +1,15 @@
+-- QSIG-GF-EXT.asn
+--
+-- Taken from Ecma International
+-- http://www.ecma-international.org/publications/standards/Ecma-165.htm
+--
+-- B.3 PSS1InformationElement
+--
+
+PSS1-generic-parameters-definition-asn1-97 { iso( 1) standard( 0)
+ pss1-generic-procedures( 11582) pss1-generic-parameters-asn1-97( 17)} DEFINITIONS ::=
+BEGIN
+
+PSS1InformationElement ::= [APPLICATION 0] IMPLICIT OCTET STRING
+
+END -- of PSS1 Generic parameters definition-asn1-97 \ No newline at end of file
diff --git a/epan/dissectors/asn1/qsig/qsig.cnf b/epan/dissectors/asn1/qsig/qsig.cnf
new file mode 100644
index 00000000..abdd580b
--- /dev/null
+++ b/epan/dissectors/asn1/qsig/qsig.cnf
@@ -0,0 +1,189 @@
+# qsig.cnf
+# QSIG conformation file
+# 2007 Tomas Kukosa
+
+#.OPT
+BER
+GROUP_BY_PROT
+-o qsig
+#.END
+
+#.EXPORTS EXTERN VALS_WITH_TABLE WS_DLL
+
+Name
+PSS1InformationElement
+Extension
+
+#.MODULE
+Addressing-Data-Elements-asn1-97 qsig
+Manufacturer-specific-service-extension-class-asn1-97 qsig
+PSS1-generic-parameters-definition-asn1-97 qsig
+
+Name-Operations-asn1-97 qsig.na
+Call-Diversion-Operations-asn1-97 qsig.cf
+Path-Replacement-Operations-asn1-97 qsig.pr
+Call-Transfer-Operations-asn1-97 qsig.ct
+SS-CC-Operations-asn1-97 qsig.cc
+Call-Offer-Operations-asn1-97 qsig.co
+Do-Not-Disturb-Operations-asn1-97 qsig.dnd
+Call-Intrusion-Operations-asn1-97 qsig.ci
+SS-AOC-Operations-asn1-97 qsig.aoc
+Recall-Operations-asn1-97 qsig.re
+Call-Interception-Operations-asn1-97 qsig.cint
+Synchronization-Operations-asn1-97 qsig.sync
+Common-Information-Operations-asn1-97 qsig.cmn
+Call-Interruption-Operations-asn1-97 qsig.cpi
+PUM-Registration-Operations-asn1-97 qsig.pumr
+Private-User-Mobility-Call-Handling-Operations-asn1-97 qsig.pumch
+Single-Step-Call-Transfer-Operations-asn1-97 qsig.ssct
+WTM-Location-Registration-Operations-asn1-97 qsig.wtmlr
+Wireless-Terminal-Call-Handling-Operations-asn1-97 qsig.wtmch
+WTM-Authentication-Operations-asn1-97 qsig.wtmau
+SS-SD-Operations-asn1-97 qsig.sd
+Call-Identification-and-Call-Linkage-Operations-asn1-97 qsig.cidl
+Short-Message-Service-Operations-asn1-97 qsig.sms
+SS-MCR-Operations-asn97 qsig.mcr
+SS-MCM-Operations-asn1-97 qsig.mcm
+SS-MID-Operations-asn1-97 qsig.mid
+
+#.PDU
+
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+ERROR.&ParameterType
+
+#.END
+
+#.TYPE_RENAME
+ARG-activateDiversionQ/extension ADExtension
+ARG-deactivateDiversionQ/extension DDExtension
+ARG-interrogateDiversionQ/extension IDExtension
+ARG-checkRestriction/extension CHRExtension
+ARG-callRerouteing/extension CRRExtension
+ARG-divertingLegInformation1/extension DLI1Extension
+ARG-divertingLegInformation2/extension DLI2Extension
+ARG-divertingLegInformation3/extension DLI3Extension
+IntResult/extension IRExtension
+PRProposeArg/extension PRPExtension
+PRSetupArg/extension PRSExtension
+PRRetainArg/extension PRRExtension
+CTInitiateArg/argumentExtension CTIargumentExtension
+CTSetupArg/argumentExtension CTSargumentExtension
+CTActiveArg/argumentExtension CTAargumentExtension
+CTCompleteArg/argumentExtension CTCargumentExtension
+CTUpdateArg/argumentExtension CTUargumentExtension
+SubaddressTransferArg/argumentExtension STargumentExtension
+DNDActivateArg/argumentExtension DNDAargumentExtension
+DNDDeactivateArg/argumentExtension DNDDargumentExtension
+DNDInterrogateArg/argumentExtension DNDIargumentExtension
+DNDOverrideArg/argumentExtension DNDOargumentExtension
+SSCTInitiateArg/argumentExtension SSCTIargumentExtension
+SSCTSetupArg/argumentExtension SSCTSargumentExtension
+SSCTDigitInfoArg/argumentExtension SSCTDargumentExtension
+PumRegistrArg/pumUserId RpumUserId
+PumDelRegArg/pumUserId XpumUserId
+PumDe-regArg/pumUserId DpumUserId
+PumInterrogArg/pumUserId IpumUserId
+MCMNewMsgArg/argumentExt MCMNewArgumentExt
+MCMNoNewMsgArg/argumentExt MCMNoNewArgumentExt
+MCMUpdateReqArg/argumentExt MCMUpdArgArgumentExt
+MCMUpdateReqResElt/argumentExt MCMUpdResArgumentExt
+#.END
+
+#.FIELD_RENAME
+NameArg/nameSequence/extension extensionNA
+ARG-activateDiversionQ/extension extensionAD
+ARG-deactivateDiversionQ/extension extensionDD
+ARG-interrogateDiversionQ/extension extensionID
+ARG-checkRestriction/extension extensionCHR
+ARG-callRerouteing/extension extensionCRR
+ARG-divertingLegInformation1/extension extensionDLI1
+ARG-divertingLegInformation2/extension extensionDLI2
+ARG-divertingLegInformation3/extension extensionDLI3
+IntResult/extension extensionIR
+PRSetupArg/extension extensionPRS
+PRProposeArg/extension extensionPRP
+PRRetainArg/extension extensionPRR
+CTInitiateArg/argumentExtension argumentExtensionCTI
+CTSetupArg/argumentExtension argumentExtensionCTS
+CTActiveArg/argumentExtension argumentExtensionCTA
+CTCompleteArg/argumentExtension argumentExtensionCTC
+CTUpdateArg/argumentExtension argumentExtensionCTU
+SubaddressTransferArg/argumentExtension argumentExtensionST
+DNDActivateArg/argumentExtension argumentExtensionDNDA
+DNDDeactivateArg/argumentExtension argumentExtensionDNDD
+DNDInterrogateArg/argumentExtension argumentExtensionDNDI
+DNDOverrideArg/argumentExtension argumentExtensionDNDO
+SSCTInitiateArg/argumentExtension argumentExtensionSSCTI
+SSCTSetupArg/argumentExtension argumentExtensionSSCTS
+SSCTDigitInfoArg/argumentExtension argumentExtensionSSCTD
+PumRegistrArg/pumUserId pumRUserId
+PumDelRegArg/pumUserId pumXUserId
+PumDe-regArg/pumUserId pumDUserId
+PumInterrogArg/pumUserId pumIUserId
+MCMNewMsgArg/argumentExt argumentExtMCMNew
+MCMNoNewMsgArg/argumentExt argumentExtMCMNoNew
+MCMUpdateReqArg/argumentExt argumentExtMCMUpdArg
+MCMUpdateReqResElt/argumentExt argumentExtMCMUpdRes
+CallIdentificationAssignArg/extension extensiont
+CallIdentificationUpdateArg/extension extensiont
+DisplayArg/extension sdextension
+KeypadArg/extension sdextension
+AddressHeader/priority ahpriority
+WtmoArg/extension wtmoaextension
+PumoArg/extension pumoaextension
+#.END
+
+
+#.TYPE_ATTR
+NameData TYPE = FT_STRING DISPLAY = BASE_NONE
+#.END
+
+#.FN_HDR Extension
+ extension_oid = NULL;
+#.FN_PARS Extension/extensionId FN_VARIANT = _str VAL_PTR = &extension_oid
+#.FN_BODY Extension/extensionArgument
+ tvbuff_t *next_tvb;
+
+ next_tvb = tvb_new_subset_remaining(tvb, offset);
+ if (!dissector_try_string_new(extension_dissector_table, extension_oid, next_tvb, actx->pinfo, tree, FALSE, NULL)) {
+ proto_tree *next_tree;
+
+ next_tree=proto_tree_add_subtree_format(tree, next_tvb, 0, -1, ett_qsig_unknown_extension, NULL,
+ "QSIG: Dissector for extension with OID:%%s not implemented.", extension_oid);
+
+ dissect_unknown_ber(actx->pinfo, next_tvb, offset, next_tree);
+ }
+
+ offset+=tvb_reported_length_remaining(tvb, offset);
+#.END
+
+#.FN_BODY AuthAlgorithm/param
+
+#.END
+
+#.FN_BODY PSS1InformationElement/_untag VAL_PTR = &out_tvb
+ tvbuff_t *out_tvb = NULL;
+ proto_tree *data_tree;
+
+%(DEFAULT_BODY)s
+ data_tree = proto_item_add_subtree(%(ACTX)s->created_item, ett_cnq_PSS1InformationElement);
+ if (out_tvb && (tvb_reported_length(out_tvb) > 0) && q931_ie_handle)
+ call_dissector(q931_ie_handle, out_tvb, %(ACTX)s->pinfo, data_tree);
+#.END
+
+#.TABLE10_BODY OPERATION
+ { %(&operationCode)3s, "%(_name)s" },
+#.END
+
+#.TABLE11_BODY OPERATION
+ /* %(_name)-24s */ { %(&operationCode)3s, %(_argument_pdu)s, %(_result_pdu)s },
+#.END
+
+#.TABLE20_BODY ERROR
+ { %(&errorCode)4s, "%(_name)s" },
+#.END
+
+#.TABLE21_BODY ERROR
+ /* %(_name)-24s */ { %(&errorCode)4s, %(_parameter_pdu)s },
+#.END
diff --git a/epan/dissectors/asn1/ranap/CMakeLists.txt b/epan/dissectors/asn1/ranap/CMakeLists.txt
new file mode 100644
index 00000000..b37f5b75
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ranap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ RANAP-CommonDataTypes.asn
+ RANAP-Constants.asn
+ RANAP-Containers.asn
+ RANAP-IEs.asn
+ RANAP-PDU-Contents.asn
+ RANAP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ranap/RANAP-CommonDataTypes.asn b/epan/dissectors/asn1/ranap/RANAP-CommonDataTypes.asn
new file mode 100644
index 00000000..0287dfc9
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/RANAP-CommonDataTypes.asn
@@ -0,0 +1,40 @@
+-- RANAP-CommonDataTypes.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.5 Common Definitions
+--
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+RANAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0..65535),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolExtensionID ::= INTEGER (0..65535)
+
+ProtocolIE-ID ::= INTEGER (0..65535)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
+
+END
diff --git a/epan/dissectors/asn1/ranap/RANAP-Constants.asn b/epan/dissectors/asn1/ranap/RANAP-Constants.asn
new file mode 100644
index 00000000..46360d0f
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/RANAP-Constants.asn
@@ -0,0 +1,436 @@
+-- RANAP-Constants.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.6 Constant Definitions
+--
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+RANAP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-RAB-Assignment INTEGER ::= 0
+id-Iu-Release INTEGER ::= 1
+id-RelocationPreparation INTEGER ::= 2
+id-RelocationResourceAllocation INTEGER ::= 3
+id-RelocationCancel INTEGER ::= 4
+id-SRNS-ContextTransfer INTEGER ::= 5
+id-SecurityModeControl INTEGER ::= 6
+id-DataVolumeReport INTEGER ::= 7
+--WS Extension
+id-Not-Used-8 INTEGER ::= 8
+id-Reset INTEGER ::= 9
+id-RAB-ReleaseRequest INTEGER ::= 10
+id-Iu-ReleaseRequest INTEGER ::= 11
+id-RelocationDetect INTEGER ::= 12
+id-RelocationComplete INTEGER ::= 13
+id-Paging INTEGER ::= 14
+id-CommonID INTEGER ::= 15
+id-CN-InvokeTrace INTEGER ::= 16
+id-LocationReportingControl INTEGER ::= 17
+id-LocationReport INTEGER ::= 18
+id-InitialUE-Message INTEGER ::= 19
+id-DirectTransfer INTEGER ::= 20
+id-OverloadControl INTEGER ::= 21
+id-ErrorIndication INTEGER ::= 22
+id-SRNS-DataForward INTEGER ::= 23
+id-ForwardSRNS-Context INTEGER ::= 24
+id-privateMessage INTEGER ::= 25
+id-CN-DeactivateTrace INTEGER ::= 26
+id-ResetResource INTEGER ::= 27
+id-RANAP-Relocation INTEGER ::= 28
+id-RAB-ModifyRequest INTEGER ::= 29
+id-LocationRelatedData INTEGER ::= 30
+id-InformationTransfer INTEGER ::= 31
+id-UESpecificInformation INTEGER ::= 32
+id-UplinkInformationExchange INTEGER ::= 33
+id-DirectInformationTransfer INTEGER ::= 34
+id-MBMSSessionStart INTEGER ::= 35
+id-MBMSSessionUpdate INTEGER ::= 36
+id-MBMSSessionStop INTEGER ::= 37
+id-MBMSUELinking INTEGER ::= 38
+id-MBMSRegistration INTEGER ::= 39
+id-MBMSCNDe-Registration-Procedure INTEGER ::= 40
+id-MBMSRABEstablishmentIndication INTEGER ::= 41
+id-MBMSRABRelease INTEGER ::= 42
+id-enhancedRelocationComplete INTEGER ::= 43
+id-enhancedRelocationCompleteConfirm INTEGER ::= 44
+id-RANAPenhancedRelocation INTEGER ::= 45
+id-SRVCCPreparation INTEGER ::= 46
+id-UeRadioCapabilityMatch INTEGER ::= 47
+id-UeRegistrationQuery INTEGER ::= 48
+id-RerouteNASRequest INTEGER ::= 49
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxNrOfDTs INTEGER ::= 15
+maxNrOfErrors INTEGER ::= 256
+maxNrOfIuSigConIds INTEGER ::= 250
+maxNrOfPDPDirections INTEGER ::= 2
+maxNrOfPoints INTEGER ::= 15
+maxNrOfRABs INTEGER ::= 256
+maxNrOfSeparateTrafficDirections INTEGER ::= 2
+maxNrOfSRBs INTEGER ::= 8
+maxNrOfVol INTEGER ::= 2
+maxNrOfLevels INTEGER ::= 256
+maxNrOfAltValues INTEGER ::= 16
+maxNrOfPLMNsSN INTEGER ::= 32
+maxNrOfLAs INTEGER ::= 65536
+maxNrOfSNAs INTEGER ::= 65536
+maxNrOfUEsToBeTraced INTEGER ::= 64
+maxNrOfInterfaces INTEGER ::= 16
+maxRAB-Subflows INTEGER ::= 7
+maxRAB-SubflowCombination INTEGER ::= 64
+maxSet INTEGER ::= 9
+maxNrOfHSDSCHMACdFlows-1 INTEGER ::= 7
+maxnoofMulticastServicesPerUE INTEGER ::= 128
+maxnoofMulticastServicesPerRNC INTEGER ::= 512
+maxMBMSSA INTEGER ::= 256
+maxMBMSRA INTEGER ::= 65536
+maxNrOfEDCHMACdFlows-1 INTEGER ::= 7
+maxGANSSSet INTEGER ::= 9
+maxNrOfCSGs INTEGER ::= 256
+maxNrOfEUTRAFreqs INTEGER ::= 8
+maxNrOfCellIds INTEGER ::= 32
+maxNrOfRAIs INTEGER ::= 8
+maxNrOfLAIs INTEGER ::= 8
+maxSizeOfIMSInfo INTEGER ::= 32
+maxnoofMDTPLMNs INTEGER ::= 16
+maxAddPosSet INTEGER ::= 8
+maxnoofPLMNs INTEGER ::= 16
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-AreaIdentity INTEGER ::= 0
+-- WS Extension
+id-Not-Used-1 INTEGER ::= 1
+id-Not-Used-2 INTEGER ::= 2
+id-CN-DomainIndicator INTEGER ::= 3
+id-Cause INTEGER ::= 4
+id-ChosenEncryptionAlgorithm INTEGER ::= 5
+id-ChosenIntegrityProtectionAlgorithm INTEGER ::= 6
+id-ClassmarkInformation2 INTEGER ::= 7
+id-ClassmarkInformation3 INTEGER ::= 8
+id-CriticalityDiagnostics INTEGER ::= 9
+id-DL-GTP-PDU-SequenceNumber INTEGER ::= 10
+id-EncryptionInformation INTEGER ::= 11
+id-IntegrityProtectionInformation INTEGER ::= 12
+id-IuTransportAssociation INTEGER ::= 13
+id-L3-Information INTEGER ::= 14
+id-LAI INTEGER ::= 15
+id-NAS-PDU INTEGER ::= 16
+id-NonSearchingIndication INTEGER ::= 17
+id-NumberOfSteps INTEGER ::= 18
+id-OMC-ID INTEGER ::= 19
+id-OldBSS-ToNewBSS-Information INTEGER ::= 20
+id-PagingAreaID INTEGER ::= 21
+id-PagingCause INTEGER ::= 22
+id-PermanentNAS-UE-ID INTEGER ::= 23
+id-RAB-ContextItem INTEGER ::= 24
+id-RAB-ContextList INTEGER ::= 25
+id-RAB-DataForwardingItem INTEGER ::= 26
+id-RAB-DataForwardingItem-SRNS-CtxReq INTEGER ::= 27
+id-RAB-DataForwardingList INTEGER ::= 28
+id-RAB-DataForwardingList-SRNS-CtxReq INTEGER ::= 29
+id-RAB-DataVolumeReportItem INTEGER ::= 30
+id-RAB-DataVolumeReportList INTEGER ::= 31
+id-RAB-DataVolumeReportRequestItem INTEGER ::= 32
+id-RAB-DataVolumeReportRequestList INTEGER ::= 33
+id-RAB-FailedItem INTEGER ::= 34
+id-RAB-FailedList INTEGER ::= 35
+id-RAB-ID INTEGER ::= 36
+id-RAB-QueuedItem INTEGER ::= 37
+id-RAB-QueuedList INTEGER ::= 38
+id-RAB-ReleaseFailedList INTEGER ::= 39
+id-RAB-ReleaseItem INTEGER ::= 40
+id-RAB-ReleaseList INTEGER ::= 41
+id-RAB-ReleasedItem INTEGER ::= 42
+id-RAB-ReleasedList INTEGER ::= 43
+id-RAB-ReleasedList-IuRelComp INTEGER ::= 44
+id-RAB-RelocationReleaseItem INTEGER ::= 45
+id-RAB-RelocationReleaseList INTEGER ::= 46
+id-RAB-SetupItem-RelocReq INTEGER ::= 47
+id-RAB-SetupItem-RelocReqAck INTEGER ::= 48
+id-RAB-SetupList-RelocReq INTEGER ::= 49
+id-RAB-SetupList-RelocReqAck INTEGER ::= 50
+id-RAB-SetupOrModifiedItem INTEGER ::= 51
+id-RAB-SetupOrModifiedList INTEGER ::= 52
+id-RAB-SetupOrModifyItem INTEGER ::= 53
+id-RAB-SetupOrModifyList INTEGER ::= 54
+id-RAC INTEGER ::= 55
+id-RelocationType INTEGER ::= 56
+id-RequestType INTEGER ::= 57
+id-SAI INTEGER ::= 58
+id-SAPI INTEGER ::= 59
+id-SourceID INTEGER ::= 60
+id-Source-ToTarget-TransparentContainer INTEGER ::= 61
+id-TargetID INTEGER ::= 62
+id-Target-ToSource-TransparentContainer INTEGER ::= 63
+id-TemporaryUE-ID INTEGER ::= 64
+id-TraceReference INTEGER ::= 65
+id-TraceType INTEGER ::= 66
+id-TransportLayerAddress INTEGER ::= 67
+id-TriggerID INTEGER ::= 68
+id-UE-ID INTEGER ::= 69
+id-UL-GTP-PDU-SequenceNumber INTEGER ::= 70
+id-RAB-FailedtoReportItem INTEGER ::= 71
+id-RAB-FailedtoReportList INTEGER ::= 72
+-- WS Extension
+id-Not-Used-73 INTEGER ::= 73
+id-Not-Used-74 INTEGER ::= 74
+id-KeyStatus INTEGER ::= 75
+id-DRX-CycleLengthCoefficient INTEGER ::= 76
+id-IuSigConIdList INTEGER ::= 77
+id-IuSigConIdItem INTEGER ::= 78
+id-IuSigConId INTEGER ::= 79
+id-DirectTransferInformationItem-RANAP-RelocInf INTEGER ::= 80
+id-DirectTransferInformationList-RANAP-RelocInf INTEGER ::= 81
+id-RAB-ContextItem-RANAP-RelocInf INTEGER ::= 82
+id-RAB-ContextList-RANAP-RelocInf INTEGER ::= 83
+id-RAB-ContextFailedtoTransferItem INTEGER ::= 84
+id-RAB-ContextFailedtoTransferList INTEGER ::= 85
+id-GlobalRNC-ID INTEGER ::= 86
+id-RAB-ReleasedItem-IuRelComp INTEGER ::= 87
+id-MessageStructure INTEGER ::= 88
+id-Alt-RAB-Parameters INTEGER ::= 89
+id-Ass-RAB-Parameters INTEGER ::= 90
+id-RAB-ModifyList INTEGER ::= 91
+id-RAB-ModifyItem INTEGER ::= 92
+id-TypeOfError INTEGER ::= 93
+id-BroadcastAssistanceDataDecipheringKeys INTEGER ::= 94
+id-LocationRelatedDataRequestType INTEGER ::= 95
+id-GlobalCN-ID INTEGER ::= 96
+id-LastKnownServiceArea INTEGER ::= 97
+id-SRB-TrCH-Mapping INTEGER ::= 98
+id-InterSystemInformation-TransparentContainer INTEGER ::= 99
+id-NewBSS-To-OldBSS-Information INTEGER ::= 100
+-- WS extension
+id-Not-Used-101 INTEGER ::= 101
+id-Not-Used-102 INTEGER ::= 102
+id-SourceRNC-PDCP-context-info INTEGER ::= 103
+id-InformationTransferID INTEGER ::= 104
+id-SNA-Access-Information INTEGER ::= 105
+id-ProvidedData INTEGER ::= 106
+id-GERAN-BSC-Container INTEGER ::= 107
+id-GERAN-Classmark INTEGER ::= 108
+id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item INTEGER ::= 109
+id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse INTEGER ::= 110
+id-VerticalAccuracyCode INTEGER ::= 111
+id-ResponseTime INTEGER ::= 112
+id-PositioningPriority INTEGER ::= 113
+id-ClientType INTEGER ::= 114
+id-LocationRelatedDataRequestTypeSpecificToGERANIuMode INTEGER ::= 115
+id-SignallingIndication INTEGER ::= 116
+id-hS-DSCH-MAC-d-Flow-ID INTEGER ::= 117
+id-UESBI-Iu INTEGER ::= 118
+id-PositionData INTEGER ::= 119
+id-PositionDataSpecificToGERANIuMode INTEGER ::= 120
+id-CellLoadInformationGroup INTEGER ::= 121
+id-AccuracyFulfilmentIndicator INTEGER ::= 122
+id-InformationTransferType INTEGER ::= 123
+id-TraceRecordingSessionInformation INTEGER ::= 124
+id-TracePropagationParameters INTEGER ::= 125
+id-InterSystemInformationTransferType INTEGER ::= 126
+id-SelectedPLMN-ID INTEGER ::= 127
+id-RedirectionCompleted INTEGER ::= 128
+id-RedirectionIndication INTEGER ::= 129
+id-NAS-SequenceNumber INTEGER ::= 130
+id-RejectCauseValue INTEGER ::= 131
+id-APN INTEGER ::= 132
+id-CNMBMSLinkingInformation INTEGER ::= 133
+id-DeltaRAListofIdleModeUEs INTEGER ::= 134
+id-FrequenceLayerConvergenceFlag INTEGER ::= 135
+id-InformationExchangeID INTEGER ::= 136
+id-InformationExchangeType INTEGER ::= 137
+id-InformationRequested INTEGER ::= 138
+id-InformationRequestType INTEGER ::= 139
+id-IPMulticastAddress INTEGER ::= 140
+id-JoinedMBMSBearerServicesList INTEGER ::= 141
+id-LeftMBMSBearerServicesList INTEGER ::= 142
+id-MBMSBearerServiceType INTEGER ::= 143
+id-MBMSCNDe-Registration INTEGER ::= 144
+id-MBMSServiceArea INTEGER ::= 145
+id-MBMSSessionDuration INTEGER ::= 146
+id-MBMSSessionIdentity INTEGER ::= 147
+id-PDP-TypeInformation INTEGER ::= 148
+id-RAB-Parameters INTEGER ::= 149
+id-RAListofIdleModeUEs INTEGER ::= 150
+id-MBMSRegistrationRequestType INTEGER ::= 151
+id-SessionUpdateID INTEGER ::= 152
+id-TMGI INTEGER ::= 153
+id-TransportLayerInformation INTEGER ::= 154
+id-UnsuccessfulLinkingList INTEGER ::= 155
+id-MBMSLinkingInformation INTEGER ::= 156
+id-MBMSSessionRepetitionNumber INTEGER ::= 157
+id-AlternativeRABConfiguration INTEGER ::= 158
+id-AlternativeRABConfigurationRequest INTEGER ::= 159
+id-E-DCH-MAC-d-Flow-ID INTEGER ::= 160
+id-SourceBSS-ToTargetBSS-TransparentContainer INTEGER ::= 161
+id-TargetBSS-ToSourceBSS-TransparentContainer INTEGER ::= 162
+id-TimeToMBMSDataTransfer INTEGER ::= 163
+id-IncludeVelocity INTEGER ::= 164
+id-VelocityEstimate INTEGER ::= 165
+id-RedirectAttemptFlag INTEGER ::= 166
+id-RAT-Type INTEGER ::= 167
+id-PeriodicLocationInfo INTEGER ::= 168
+id-MBMSCountingInformation INTEGER ::= 169
+id-170-not-to-be-used-for-IE-ids INTEGER ::= 170
+id-ExtendedRNC-ID INTEGER ::= 171
+id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf INTEGER ::= 172
+id-Alt-RAB-Parameter-ExtendedMaxBitrateInf INTEGER ::= 173
+id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 174
+id-Ass-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 175
+id-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 176
+id-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 177
+id-Requested-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 178
+id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 179
+id-LAofIdleModeUEs INTEGER ::= 180
+id-newLAListofIdleModeUEs INTEGER ::= 181
+id-LAListwithNoIdleModeUEsAnyMore INTEGER ::= 182
+id-183-not-to-be-used-for-IE-ids INTEGER ::= 183
+id-GANSS-PositioningDataSet INTEGER ::= 184
+id-RequestedGANSSAssistanceData INTEGER ::= 185
+id-BroadcastGANSSAssistanceDataDecipheringKeys INTEGER ::= 186
+id-d-RNTI-for-NoIuCSUP INTEGER ::= 187
+id-RAB-SetupList-EnhancedRelocCompleteReq INTEGER ::= 188
+id-RAB-SetupItem-EnhancedRelocCompleteReq INTEGER ::= 189
+id-RAB-SetupList-EnhancedRelocCompleteRes INTEGER ::= 190
+id-RAB-SetupItem-EnhancedRelocCompleteRes INTEGER ::= 191
+id-RAB-SetupList-EnhRelocInfoReq INTEGER ::= 192
+id-RAB-SetupItem-EnhRelocInfoReq INTEGER ::= 193
+id-RAB-SetupList-EnhRelocInfoRes INTEGER ::= 194
+id-RAB-SetupItem-EnhRelocInfoRes INTEGER ::= 195
+id-OldIuSigConId INTEGER ::= 196
+id-RAB-FailedList-EnhRelocInfoRes INTEGER ::= 197
+id-RAB-FailedItem-EnhRelocInfoRes INTEGER ::= 198
+id-Global-ENB-ID INTEGER ::= 199
+id-UE-History-Information INTEGER ::= 200
+id-MBMSSynchronisationInformation INTEGER ::= 201
+id-SubscriberProfileIDforRFP INTEGER ::= 202
+id-CSG-Id INTEGER ::= 203
+id-OldIuSigConIdCS INTEGER ::= 204
+id-OldIuSigConIdPS INTEGER ::= 205
+id-GlobalCN-IDCS INTEGER ::= 206
+id-GlobalCN-IDPS INTEGER ::= 207
+id-SourceExtendedRNC-ID INTEGER ::= 208
+id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes INTEGER ::= 209
+id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes INTEGER ::= 210
+id-SourceRNC-ID INTEGER ::= 211
+id-Relocation-TargetRNC-ID INTEGER ::= 212
+id-Relocation-TargetExtendedRNC-ID INTEGER ::= 213
+id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf INTEGER ::= 214
+id-Alt-RAB-Parameter-SupportedMaxBitrateInf INTEGER ::= 215
+id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 216
+id-Ass-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 217
+id-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 218
+id-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 219
+id-Requested-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 220
+id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 221
+id-Relocation-SourceRNC-ID INTEGER ::= 222
+id-Relocation-SourceExtendedRNC-ID INTEGER ::= 223
+id-EncryptionKey INTEGER ::= 224
+id-IntegrityProtectionKey INTEGER ::= 225
+id-SRVCC-HO-Indication INTEGER ::= 226
+id-SRVCC-Information INTEGER ::= 227
+id-SRVCC-Operation-Possible INTEGER ::= 228
+id-CSG-Id-List INTEGER ::= 229
+id-PSRABtobeReplaced INTEGER ::= 230
+id-E-UTRAN-Service-Handover INTEGER ::= 231
+-- WS Extension
+id-Not-Used-232 INTEGER ::= 232
+id-UE-AggregateMaximumBitRate INTEGER ::= 233
+id-CSG-Membership-Status INTEGER ::= 234
+id-Cell-Access-Mode INTEGER ::= 235
+id-IP-Source-Address INTEGER ::= 236
+id-CSFB-Information INTEGER ::= 237
+id-PDP-TypeInformation-extension INTEGER ::= 238
+id-MSISDN INTEGER ::= 239
+id-Offload-RAB-Parameters INTEGER ::= 240
+id-LGW-TransportLayerAddress INTEGER ::= 241
+id-Correlation-ID INTEGER ::= 242
+id-IRAT-Measurement-Configuration INTEGER ::= 243
+id-MDT-Configuration INTEGER ::= 244
+id-Priority-Class-Indicator INTEGER ::= 245
+id-RNSAPRelocationParameters INTEGER ::= 247
+id-RABParametersList INTEGER ::= 248
+id-Management-Based-MDT-Allowed INTEGER ::= 249
+id-HigherBitratesThan16MbpsFlag INTEGER ::= 250
+id-Trace-Collection-Entity-IP-Addess INTEGER ::= 251
+id-End-Of-CSFB INTEGER ::= 252
+id-Time-UE-StayedInCell-EnhancedGranularity INTEGER ::= 253
+id-Out-Of-UTRAN INTEGER ::= 254
+id-TraceRecordingSessionReference INTEGER ::= 255
+id-IMSI INTEGER ::= 256
+id-HO-Cause INTEGER ::= 257
+id-VoiceSupportMatchIndicator INTEGER ::= 258
+id-RSRVCC-HO-Indication INTEGER ::= 259
+id-RSRVCC-Information INTEGER ::= 260
+id-AnchorPLMN-ID INTEGER ::= 261
+id-Tunnel-Information-for-BBF INTEGER ::= 262
+id-Management-Based-MDT-PLMN-List INTEGER ::= 263
+id-SignallingBasedMDTPLMNList INTEGER ::= 264
+id-M4Report INTEGER ::= 265
+id-M5Report INTEGER ::= 266
+id-M6Report INTEGER ::= 267
+id-M7Report INTEGER ::= 268
+id-TimingDifferenceULDL INTEGER ::= 269
+id-Serving-Cell-Identifier INTEGER ::= 270
+id-EARFCN-Extended INTEGER ::= 271
+id-RSRVCC-Operation-Possible INTEGER ::= 272
+id-SIPTO-LGW-TransportLayerAddress INTEGER ::= 273
+id-SIPTO-Correlation-ID INTEGER ::= 274
+id-LHN-ID INTEGER ::= 275
+id-Session-Re-establishment-Indicator INTEGER ::= 276
+id-LastE-UTRANPLMNIdentity INTEGER ::= 277
+id-RSRQ-Type INTEGER ::= 278
+id-RSRQ-Extension INTEGER ::= 279
+id-Additional-CSPS-coordination-information INTEGER ::= 280
+id-UERegistrationQueryResult INTEGER ::= 281
+id-IuSigConIdRangeEnd INTEGER ::= 282
+id-BarometricPressure INTEGER ::= 283
+id-Additional-PositioningDataSet INTEGER ::= 284
+id-CivicAddress INTEGER ::= 285
+id-SGSN-Group-Identity INTEGER ::= 286
+id-P-TMSI INTEGER ::= 287
+id-RANAP-Message INTEGER ::= 288
+id-PowerSavingIndicator INTEGER ::= 289
+id-UE-Usage-Type INTEGER ::= 290
+id-DCN-ID INTEGER ::= 291
+id-UE-Application-Layer-Measurement-Configuration INTEGER ::= 292
+id-UE-Application-Layer-Measurement-Configuration-For-Relocation INTEGER ::= 293
+
+END
diff --git a/epan/dissectors/asn1/ranap/RANAP-Containers.asn b/epan/dissectors/asn1/ranap/RANAP-Containers.asn
new file mode 100644
index 00000000..f920a62a
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/RANAP-Containers.asn
@@ -0,0 +1,202 @@
+-- RANAP-Containers.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.7 Container Definitions
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+RANAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolExtensionID,
+ ProtocolIE-ID
+FROM RANAP-CommonDataTypes
+
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM RANAP-Constants;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+RANAP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+RANAP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+RANAP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolExtensionID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+RANAP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id RANAP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::=
+ SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id RANAP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality RANAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value RANAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/ranap/RANAP-IEs.asn b/epan/dissectors/asn1/ranap/RANAP-IEs.asn
new file mode 100644
index 00000000..3b47d012
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/RANAP-IEs.asn
@@ -0,0 +1,2796 @@
+-- RANAP-IEs.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.4 Information Element Definitions
+--
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+RANAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ maxNrOfCSGs,
+ maxNrOfErrors,
+ maxNrOfPDPDirections,
+ maxNrOfPoints,
+ maxNrOfRABs,
+ maxNrOfSRBs,
+ maxNrOfSeparateTrafficDirections,
+ maxRAB-Subflows,
+ maxRAB-SubflowCombination,
+ maxNrOfLevels,
+ maxNrOfAltValues,
+ maxNrOfSNAs,
+ maxNrOfLAs,
+ maxNrOfPLMNsSN,
+ maxSet,
+ maxNrOfHSDSCHMACdFlows-1,
+ maxNrOfUEsToBeTraced,
+ maxNrOfInterfaces,
+ maxnoofMulticastServicesPerRNC,
+ maxMBMSSA,
+ maxMBMSRA,
+ maxnoofMulticastServicesPerUE,
+ maxNrOfEDCHMACdFlows-1,
+ maxGANSSSet,
+ maxNrOfEUTRAFreqs,
+ maxNrOfCellIds,
+ maxNrOfRAIs,
+ maxNrOfLAIs,
+ maxNrOfVol,
+ maxSizeOfIMSInfo,
+ maxnoofMDTPLMNs,
+ maxAddPosSet,
+ maxnoofPLMNs,
+
+ id-CN-DomainIndicator,
+ id-MessageStructure,
+ id-SRB-TrCH-Mapping,
+ id-TypeOfError,
+ id-hS-DSCH-MAC-d-Flow-ID,
+ id-SignallingIndication,
+ id-CellLoadInformationGroup,
+ id-TraceRecordingSessionInformation,
+ id-MBMSLinkingInformation,
+ id-AlternativeRABConfiguration,
+ id-AlternativeRABConfigurationRequest,
+ id-E-DCH-MAC-d-Flow-ID,
+ id-RAC,
+ id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf,
+ id-Alt-RAB-Parameter-ExtendedMaxBitrateInf,
+ id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList,
+ id-Ass-RAB-Parameter-ExtendedMaxBitrateList,
+ id-RAB-Parameter-ExtendedGuaranteedBitrateList,
+ id-RAB-Parameter-ExtendedMaxBitrateList,
+ id-Requested-RAB-Parameter-ExtendedMaxBitrateList,
+ id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList,
+ id-LAofIdleModeUEs,
+ id-newLAListofIdleModeUEs,
+ id-LAListwithNoIdleModeUEsAnyMore,
+ id-ExtendedRNC-ID,
+ id-GANSS-PositioningDataSet,
+ id-d-RNTI-for-NoIuCSUP,
+ id-UE-History-Information,
+ id-SubscriberProfileIDforRFP,
+ id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf,
+ id-Alt-RAB-Parameter-SupportedMaxBitrateInf,
+ id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList,
+ id-Ass-RAB-Parameter-SupportedMaxBitrateList,
+ id-RAB-Parameter-SupportedGuaranteedBitrateList,
+ id-RAB-Parameter-SupportedMaxBitrateList,
+ id-Requested-RAB-Parameter-SupportedMaxBitrateList,
+ id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList,
+ id-PSRABtobeReplaced,
+ id-SRVCC-Information,
+ id-CSG-Id,
+ id-CSFB-Information,
+ id-IRAT-Measurement-Configuration,
+ id-Management-Based-MDT-Allowed,
+ id-Time-UE-StayedInCell-EnhancedGranularity,
+ id-HO-Cause,
+ id-TraceRecordingSessionReference,
+ id-IMSI,
+ id-Management-Based-MDT-PLMN-List,
+ id-SignallingBasedMDTPLMNList,
+ id-M4Report,
+ id-M5Report,
+ id-M6Report,
+ id-M7Report,
+ id-TimingDifferenceULDL,
+ id-Trace-Collection-Entity-IP-Addess,
+ id-Serving-Cell-Identifier,
+ id-EARFCN-Extended,
+ id-LastE-UTRANPLMNIdentity,
+ id-RSRQ-Type,
+ id-RSRQ-Extension,
+ id-Additional-PositioningDataSet
+
+
+FROM RANAP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM RANAP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ RANAP-PROTOCOL-EXTENSION
+FROM RANAP-Containers;
+
+-- A
+
+AccuracyFulfilmentIndicator ::= ENUMERATED{
+ requested-Accuracy-Fulfilled,
+ requested-Accuracy-Not-Fulfilled,
+ ...
+}
+
+Additional-CSPS-coordination-information ::= SEQUENCE {
+ old-LAI LAI OPTIONAL,
+ old-RAC RAC OPTIONAL,
+ nRI BIT STRING (SIZE (10)) OPTIONAL,
+ uE-is-Attaching NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Additional-CSPS-coordination-information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-CSPS-coordination-information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-PositioningDataSet ::= SEQUENCE(SIZE(1..maxAddPosSet)) OF Additional-PositioningMethodAndUsage
+
+Additional-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+AllocationOrRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ queuingAllowed QueuingAllowed,
+ iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Alt-RAB-Parameters ::= SEQUENCE {
+ altMaxBitrateInf Alt-RAB-Parameter-MaxBitrateInf OPTIONAL,
+ altGuaranteedBitRateInf Alt-RAB-Parameter-GuaranteedBitrateInf OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Alt-RAB-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Alt-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to indicate an alternative RAB configuration --
+ { ID id-AlternativeRABConfiguration CRITICALITY ignore EXTENSION RAB-Parameters PRESENCE optional }|
+-- Extension for Release 7 to indicate an alternative list of Extended Guaranteed Bitrates --
+{ ID id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf PRESENCE optional }|
+-- Extension for Release 7 to indicate an alternative list of Extended Maximum Bitrates --
+{ ID id-Alt-RAB-Parameter-ExtendedMaxBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedMaxBitrateInf PRESENCE optional }|
+-- Extension for Release 8 to indicate an alternative list of Supported Maximum Bitrates --
+{ ID id-Alt-RAB-Parameter-SupportedMaxBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedMaxBitrateInf PRESENCE optional }|
+-- Extension for Release 8 to indicate an alternative list of Supported Guaranteed Bitrates --
+{ ID id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedGuaranteedBitrateInf PRESENCE optional },
+ ...
+}
+
+Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf ::= SEQUENCE {
+ altExtendedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType,
+ altExtendedGuaranteedBitrates Alt-RAB-Parameter-ExtendedGuaranteedBitrates OPTIONAL
+ -- This IE shall be present if the Type of Extended Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+ ...
+}
+
+Alt-RAB-Parameter-ExtendedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+ Alt-RAB-Parameter-ExtendedGuaranteedBitrateList
+
+Alt-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
+
+Alt-RAB-Parameter-GuaranteedBitrateInf ::= SEQUENCE {
+ altGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType,
+ altGuaranteedBitrates Alt-RAB-Parameter-GuaranteedBitrates OPTIONAL
+ -- This IE shall be present if the Type of Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+ ...
+}
+
+Alt-RAB-Parameter-GuaranteedBitrateType ::= ENUMERATED{
+ unspecified,
+ value-range,
+ discrete-values,
+ ...
+}
+
+Alt-RAB-Parameter-GuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+ Alt-RAB-Parameter-GuaranteedBitrateList
+
+
+Alt-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
+
+Alt-RAB-Parameter-SupportedGuaranteedBitrateInf ::= SEQUENCE {
+ altSupportedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType,
+ altSupportedGuaranteedBitrates Alt-RAB-Parameter-SupportedGuaranteedBitrates OPTIONAL
+ -- This IE shall be present if the Type of Supported Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+ iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+Alt-RAB-Parameter-SupportedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+ SupportedRAB-ParameterBitrateList
+
+
+Alt-RAB-Parameter-ExtendedMaxBitrateInf ::= SEQUENCE {
+ altExtendedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType,
+ altExtendedMaxBitrates Alt-RAB-Parameter-ExtendedMaxBitrates OPTIONAL
+ -- This IE shall be present if the Type of Extended Alternative Maximum Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+ ...
+}
+
+Alt-RAB-Parameter-ExtendedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+ Alt-RAB-Parameter-ExtendedMaxBitrateList
+
+Alt-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
+
+Alt-RAB-Parameter-MaxBitrateInf ::= SEQUENCE {
+ altMaxBitrateType Alt-RAB-Parameter-MaxBitrateType,
+ altMaxBitrates Alt-RAB-Parameter-MaxBitrates OPTIONAL
+ -- This IE shall be present if the Type of Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+ ...
+}
+
+Alt-RAB-Parameter-MaxBitrateType ::= ENUMERATED{
+ unspecified,
+ value-range,
+ discrete-values,
+ ...
+}
+
+Alt-RAB-Parameter-MaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+ Alt-RAB-Parameter-MaxBitrateList
+
+
+Alt-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
+
+
+Alt-RAB-Parameter-SupportedMaxBitrateInf ::= SEQUENCE {
+ altSupportedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType,
+ altSupportedMaxBitrates Alt-RAB-Parameter-SupportedMaxBitrates OPTIONAL
+ -- This IE shall be present if the Type of Supported Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+ iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs} } OPTIONAL,
+...
+}
+
+Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+
+Alt-RAB-Parameter-SupportedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+ SupportedRAB-ParameterBitrateList
+
+AlternativeRABConfigurationRequest ::= ENUMERATED{
+ alternative-RAB-configuration-Requested,
+ ...
+}
+
+UE-Application-Layer-Measurement-Configuration ::= SEQUENCE {
+ applicationLayerContainerForMeasurementConfiguration OCTET STRING ( SIZE (1..1000)),
+ areaScopeForUEApplicationLayerMeasurementConfiguration AreaScopeForUEApplicationLayerMeasurementConfiguration,
+ ...
+}
+
+UE-Application-Layer-Measurement-Configuration-For-Relocation ::= SEQUENCE {
+ areaScopeForUEApplicationLayerMeasurementConfiguration AreaScopeForUEApplicationLayerMeasurementConfiguration,
+ traceReference TraceReference,
+ tracePropagationParameters TracePropagationParameters OPTIONAL,
+ traceCollectionEntityIPAddress TransportLayerAddress OPTIONAL,
+ ...
+}
+
+
+APN ::= OCTET STRING (SIZE (1..255))
+-- Reference: 23.003
+
+AreaScopeForUEApplicationLayerMeasurementConfiguration ::= CHOICE {
+ cellbased CellBased,
+ labased LABased,
+ rabased RABased,
+ plmn-area-based PLMNBased,
+ ...
+}
+
+AreaIdentity ::= CHOICE {
+ sAI SAI,
+ geographicalArea GeographicalArea,
+ ...
+}
+
+Ass-RAB-Parameters ::= SEQUENCE {
+ assMaxBitrateInf Ass-RAB-Parameter-MaxBitrateList OPTIONAL,
+ assGuaranteedBitRateInf Ass-RAB-Parameter-GuaranteedBitrateList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Ass-RAB-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ass-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate an extended assigned Guaranteed Bitrate --
+ { ID id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }|
+-- Extension for Release 7 to indicate an extended assigned Maximum Bitrate --
+ { ID id-Ass-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }|
+-- Extension for Release 8 to indicate an supported assigned Maximum Bitrate --
+ { ID id-Ass-RAB-Parameter-SupportedMaxBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }|
+-- Extension for Release 8 to indicate an supported assigned Guaranteed Bitrate --
+ { ID id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional },
+ ...
+}
+
+Ass-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
+
+Ass-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
+
+
+Ass-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
+
+
+Ass-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
+
+AuthorisedPLMNs ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF
+ SEQUENCE {
+ pLMNidentity PLMNidentity,
+ authorisedSNAsList AuthorisedSNAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AuthorisedPLMNs-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+AuthorisedPLMNs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AuthorisedSNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC
+
+
+-- B
+
+BarometricPressure ::= INTEGER (30000..115000)
+
+BindingID ::= OCTET STRING (SIZE (4))
+
+BroadcastAssistanceDataDecipheringKeys ::= SEQUENCE {
+ cipheringKeyFlag BIT STRING (SIZE (1)),
+ currentDecipheringKey BIT STRING (SIZE (56)),
+ nextDecipheringKey BIT STRING (SIZE (56)),
+ ...
+}
+
+-- C
+
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transmissionNetwork CauseTransmissionNetwork,
+ nAS CauseNAS,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ non-Standard CauseNon-Standard,
+ ...,
+ radioNetworkExtension CauseRadioNetworkExtension
+}
+
+CauseMisc ::= INTEGER {
+ om-intervention (113),
+ no-resource-available (114),
+ unspecified-failure (115),
+ network-optimisation (116)
+} (113..128)
+
+CauseNAS ::= INTEGER {
+ user-restriction-start-indication (81),
+ user-restriction-end-indication (82),
+ normal-release (83),
+ csg-subscription-expiry(84)
+} (81..96)
+
+CauseProtocol ::= INTEGER {
+ transfer-syntax-error (97),
+ semantic-error (98),
+ message-not-compatible-with-receiver-state (99),
+ abstract-syntax-error-reject (100),
+ abstract-syntax-error-ignore-and-notify (101),
+ abstract-syntax-error-falsely-constructed-message (102)
+} (97..112)
+
+CauseRadioNetwork ::= INTEGER {
+ rab-pre-empted (1),
+ trelocoverall-expiry (2),
+ trelocprep-expiry (3),
+ treloccomplete-expiry (4),
+ tqueing-expiry (5),
+ relocation-triggered (6),
+ trellocalloc-expiry(7),
+ unable-to-establish-during-relocation (8),
+ unknown-target-rnc (9),
+ relocation-cancelled (10),
+ successful-relocation (11),
+ requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12),
+ conflict-with-already-existing-integrity-protection-and-or-ciphering-information (13),
+ failure-in-the-radio-interface-procedure (14),
+ release-due-to-utran-generated-reason (15),
+ user-inactivity (16),
+ time-critical-relocation (17),
+ requested-traffic-class-not-available (18),
+ invalid-rab-parameters-value (19),
+ requested-maximum-bit-rate-not-available (20),
+ requested-guaranteed-bit-rate-not-available (21),
+ requested-transfer-delay-not-achievable (22),
+ invalid-rab-parameters-combination (23),
+ condition-violation-for-sdu-parameters (24),
+ condition-violation-for-traffic-handling-priority (25),
+ condition-violation-for-guaranteed-bit-rate (26),
+ user-plane-versions-not-supported (27),
+ iu-up-failure (28),
+ relocation-failure-in-target-CN-RNC-or-target-system(29),
+ invalid-RAB-ID (30),
+ no-remaining-rab (31),
+ interaction-with-other-procedure (32),
+ requested-maximum-bit-rate-for-dl-not-available (33),
+ requested-maximum-bit-rate-for-ul-not-available (34),
+ requested-guaranteed-bit-rate-for-dl-not-available (35),
+ requested-guaranteed-bit-rate-for-ul-not-available (36),
+ repeated-integrity-checking-failure (37),
+ requested-request-type-not-supported (38),
+ request-superseded (39),
+ release-due-to-UE-generated-signalling-connection-release (40),
+ resource-optimisation-relocation (41),
+ requested-information-not-available (42),
+ relocation-desirable-for-radio-reasons (43),
+ relocation-not-supported-in-target-RNC-or-target-system (44),
+ directed-retry (45),
+ radio-connection-with-UE-Lost (46),
+ rNC-unable-to-establish-all-RFCs (47),
+ deciphering-keys-not-available(48),
+ dedicated-assistance-data-not-available(49),
+ relocation-target-not-allowed (50),
+ location-reporting-congestion (51),
+ reduce-load-in-serving-cell (52),
+ no-radio-resources-available-in-target-cell (53),
+ gERAN-Iumode-failure (54),
+ access-restricted-due-to-shared-networks (55),
+ incoming-relocation-not-supported-due-to-PUESBINE-feature (56),
+ traffic-load-in-the-target-cell-higher-than-in-the-source-cell (57),
+ mBMS-no-multicast-service-for-this-UE(58),
+ mBMS-unknown-UE-ID(59),
+ successful-MBMS-session-start-no-data-bearer-necessary(60),
+ mBMS-superseded-due-to-NNSF(61),
+ mBMS-UE-linking-already-done(62),
+ mBMS-UE-de-linking-failure-no-existing-UE-linking(63),
+ tMGI-unknown(64)
+} (1..64)
+
+CauseRadioNetworkExtension ::= INTEGER {
+ iP-multicast-address-and-APN-not-valid(257),
+ mBMS-de-registration-rejected-due-to-implicit-registration(258),
+ mBMS-request-superseded(259),
+ mBMS-de-registration-during-session-not-allowed(260),
+ mBMS-no-data-bearer-necessary(261),
+ periodicLocationInformationNotAvailable(262),
+ gTP-Resources-Unavailable(263),
+ tMGI-inUse-overlapping-MBMS-service-area(264),
+ mBMS-no-cell-in-MBMS-service-area(265),
+ no-Iu-CS-UP-relocation(266),
+ successful-MBMS-Session-Start-IP-Multicast-Bearer-established(267),
+ cS-fallback-triggered(268),
+ invalid-CSG-Id(269)
+} (257..512)
+
+CauseNon-Standard ::= INTEGER (129..256)
+-- Cause value 256 shall not be used --
+
+CauseTransmissionNetwork ::= INTEGER {
+ signalling-transport-resource-failure (65),
+ iu-transport-connection-failed-to-establish (66)
+} (65..80)
+
+Cell-Access-Mode::= ENUMERATED {
+ hybrid,
+ ...
+}
+
+CellBased::= SEQUENCE {
+ cellIdList CellIdList,
+ iE-Extensions ProtocolExtensionContainer { {CellBased-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIdList ::= SEQUENCE (SIZE (1..maxNrOfCellIds)) OF
+ Cell-Id
+
+Cell-Id ::= INTEGER (0..268435455)
+
+Cell-Capacity-Class-Value ::= INTEGER (1..100,...)
+
+CellLoadInformation ::= SEQUENCE {
+ cell-Capacity-Class-Value Cell-Capacity-Class-Value,
+ loadValue LoadValue,
+ rTLoadValue RTLoadValue OPTIONAL,
+ nRTLoadInformationValue NRTLoadInformationValue OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellLoadInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CellLoadInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellLoadInformationGroup ::= SEQUENCE {
+ sourceCellID SourceCellID,
+ uplinkCellLoadInformation CellLoadInformation OPTIONAL,
+ downlinkCellLoadInformation CellLoadInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellLoadInformationGroup-ExtIEs } } OPTIONAL,
+ ...
+}
+
+CellLoadInformationGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellType ::= ENUMERATED{
+ macro,
+ micro,
+ pico,
+ femto,
+ ...
+}
+
+CivicAddress ::= OCTET STRING
+
+ClientType ::= ENUMERATED {
+ emergency-Services,
+ value-Added-Services,
+ pLMN-Operator-Services,
+ lawful-Intercept-Services,
+ pLMN-Operator-Broadcast-Services,
+ pLMN-Operator-O-et-M,
+ pLMN-Operator-Anonymous-Statistics,
+ pLMN-Operator-Target-MS-Service-Support,
+ ...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber0 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 99 to enable reporting the message structure down to the erroneous IE --
+ { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional } |
+-- Extension for Release 99 to enable reporting if a reported error is due to a not understood or a missing IE --
+ { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
+ ...
+}
+
+MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
+ SEQUENCE {
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber1 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+MessageStructure-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CGI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ lAC LAC,
+ cI CI,
+ iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
+}
+
+CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
+ { ID id-RAC CRITICALITY ignore EXTENSION RAC PRESENCE optional },
+ ...
+}
+
+ChosenEncryptionAlgorithm ::= EncryptionAlgorithm
+
+ChosenIntegrityProtectionAlgorithm ::= IntegrityProtectionAlgorithm
+
+CI ::= OCTET STRING (SIZE (2))
+
+ClassmarkInformation2 ::= OCTET STRING
+
+ClassmarkInformation3 ::= OCTET STRING
+
+CN-DomainIndicator ::= ENUMERATED {
+ cs-domain,
+ ps-domain
+}
+
+CN-ID ::= INTEGER (0..4095)
+
+Correlation-ID ::= OCTET STRING (SIZE (4))
+
+CSFB-Information ::= ENUMERATED {
+ csfb,
+ csfb-high-priority,
+ ...
+}
+
+CSG-Id ::= BIT STRING (SIZE (27))
+
+CSG-Id-List ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF
+ CSG-Id
+
+CSG-Membership-Status ::= ENUMERATED {
+ member,
+ non-member,
+ ...
+}
+
+-- D
+
+DataPDUType ::= ENUMERATED {
+ pDUtype0,
+ pDUtype1,
+ ...
+ }
+
+DataVolumeReference ::= INTEGER (0..255)
+
+DataVolumeReportingIndication ::= ENUMERATED {
+ do-report,
+ do-not-report
+}
+
+DCH-ID ::= INTEGER (0..255)
+
+DCN-ID ::= INTEGER (0..65535)
+
+
+DeliveryOfErroneousSDU ::= ENUMERATED {
+ yes,
+ no,
+ no-error-detection-consideration
+}
+
+DeliveryOrder::= ENUMERATED {
+ delivery-order-requested,
+ delivery-order-not-requested
+}
+
+DeltaRAListofIdleModeUEs ::= SEQUENCE {
+ newRAListofIdleModeUEs NewRAListofIdleModeUEs OPTIONAL,
+ rAListwithNoIdleModeUEsAnyMore RAListwithNoIdleModeUEsAnyMore OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DeltaRAListofIdleModeUEs-ExtIEs} } OPTIONAL
+}
+
+NewRAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
+ RAC
+
+RAListwithNoIdleModeUEsAnyMore ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
+ RAC
+
+DeltaRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+{ ID id-newLAListofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }|
+ -- This IE shall be present if the New RA List of Idle Mode UEs IE is included. --
+{ ID id-LAListwithNoIdleModeUEsAnyMore CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional },
+ -- This IE shall be presentif the RA List with No Idle Mode UEs Any More IE is included. --
+ ...
+}
+
+ForwardingIndication::=ENUMERATED{
+ forwarding-admitted,
+ ...
+}
+
+DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
+
+DL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
+
+D-RNTI ::= INTEGER (0..1048575)
+
+DRX-CycleLengthCoefficient ::= INTEGER (6..9)
+
+DSCH-ID ::= INTEGER (0..255)
+
+
+-- E
+
+EARFCN-Extended ::= INTEGER (65536..262143, ...)
+
+E-DCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfEDCHMACdFlows-1)
+
+ENB-ID ::= CHOICE {
+ macroENB-ID BIT STRING (SIZE(20)),
+ homeENB-ID BIT STRING (SIZE(28)),
+ ...,
+ short-macroENB-ID BIT STRING (SIZE(18)),
+ long-macroENB-ID BIT STRING (SIZE(21))
+
+}
+
+EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1), standard-UMTS-encryption-algorithm-UEA2 (2) } (0..15)
+
+EncryptionInformation ::= SEQUENCE {
+ permittedAlgorithms PermittedEncryptionAlgorithms,
+ key EncryptionKey,
+ iE-Extensions ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL
+}
+
+EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EncryptionKey ::= BIT STRING (SIZE (128))
+-- Reference: 33.102
+
+End-Of-CSFB ::= ENUMERATED{
+ end-of-CSFB,
+ ...
+}
+
+EquipmentsToBeTraced ::= CHOICE {
+ iMEIlist IMEIList,
+ iMEISVlist IMEISVList,
+ iMEIgroup IMEIGroup,
+ iMEISVgroup IMEISVGroup,
+ ...
+}
+
+E-UTRAN-Service-Handover ::= ENUMERATED {
+ handover-to-E-UTRAN-shall-not-be-performed,
+ ...
+}
+
+Event ::= ENUMERATED {
+ stop-change-of-service-area,
+ direct,
+ change-of-servicearea,
+ ...,
+ stop-direct,
+ periodic,
+ stop-periodic
+}
+
+Event1F-Parameters ::= SEQUENCE {
+ measurementQuantity MeasurementQuantity,
+ threshold INTEGER(-120..165),
+ ...
+}
+
+Event1I-Parameters ::= SEQUENCE {
+ threshold INTEGER(-120..-25),
+ ...
+}
+
+ExtendedGuaranteedBitrate ::= INTEGER (16000001..256000000)
+-- Unit is bits per sec
+
+ExtendedMaxBitrate ::= INTEGER (16000001..256000000)
+-- Unit is bits per sec
+
+ExtendedRNC-ID ::= INTEGER (4096..65535)
+
+-- F
+
+FrameSequenceNumber ::= INTEGER(0..15)
+
+FrequenceLayerConvergenceFlag ::= ENUMERATED {
+ no-FLC-flag,
+ ...
+}
+
+-- G
+
+GANSS-PositioningDataSet ::= SEQUENCE(SIZE(1..maxGANSSSet)) OF GANSS-PositioningMethodAndUsage
+
+GANSS-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+GeographicalArea ::= CHOICE {
+ point GA-Point,
+ pointWithUnCertainty GA-PointWithUnCertainty,
+ polygon GA-Polygon,
+ ...,
+ pointWithUncertaintyEllipse GA-PointWithUnCertaintyEllipse,
+ pointWithAltitude GA-PointWithAltitude,
+ pointWithAltitudeAndUncertaintyEllipsoid GA-PointWithAltitudeAndUncertaintyEllipsoid,
+ ellipsoidArc GA-EllipsoidArc
+}
+
+GeographicalCoordinates ::= SEQUENCE {
+ latitudeSign ENUMERATED { north, south },
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-AltitudeAndDirection ::= SEQUENCE {
+ directionOfAltitude ENUMERATED {height, depth},
+ altitude INTEGER (0..32767),
+ ...
+}
+
+GA-EllipsoidArc ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ innerRadius INTEGER (0..65535),
+ uncertaintyRadius INTEGER (0..127),
+ offsetAngle INTEGER (0..179),
+ includedAngle INTEGER (0..179),
+ confidence INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { { GA-EllipsoidArc-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-EllipsoidArc-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-Point ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithAltitude ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ altitudeAndDirection GA-AltitudeAndDirection,
+ iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitude-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithAltitude-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ altitudeAndDirection GA-AltitudeAndDirection,
+ uncertaintyEllipse GA-UncertaintyEllipse,
+ uncertaintyAltitude INTEGER (0..127),
+ confidence INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithUnCertainty ::=SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL,
+ uncertaintyCode INTEGER (0..127)
+}
+
+GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithUnCertaintyEllipse ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ uncertaintyEllipse GA-UncertaintyEllipse,
+ confidence INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { { GA-PointWithUnCertaintyEllipse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithUnCertaintyEllipse-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
+ SEQUENCE {
+ geographicalCoordinates GeographicalCoordinates,
+ iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-UncertaintyEllipse ::= SEQUENCE {
+ uncertaintySemi-major INTEGER (0..127),
+ uncertaintySemi-minor INTEGER (0..127),
+ orientationOfMajorAxis INTEGER (0..179), -- The values 90..179 shall not be used.
+ ...
+}
+
+GERAN-BSC-Container ::= OCTET STRING
+ -- GERAN BSC Container as defined in TS 48.008 [11] --
+
+
+GERAN-Cell-ID ::= SEQUENCE {
+ lAI LAI,
+ rAC RAC,
+ cI CI,
+ iE-Extensions ProtocolExtensionContainer { {GERAN-Cell-ID-ExtIEs} } OPTIONAL
+}
+
+GERAN-Cell-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GERAN-Classmark ::= OCTET STRING
+ -- GERAN Classmark as defined in TS 48.008 [11] --
+
+GlobalCN-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ cN-ID CN-ID
+}
+
+
+GlobalRNC-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ rNC-ID RNC-ID
+}
+
+GTP-TEI ::= OCTET STRING (SIZE (4))
+
+GuaranteedBitrate ::= INTEGER (0..16000000)
+-- Unit is bits per sec
+
+-- H
+
+HigherBitratesThan16MbpsFlag ::= ENUMERATED{
+ allowed,
+ not-allowed,
+ ...
+}
+
+HS-DSCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfHSDSCHMACdFlows-1)
+
+-- I
+
+
+IMEI ::= OCTET STRING (SIZE (8))
+-- Reference: 23.003
+
+IMEIGroup ::= SEQUENCE {
+ iMEI IMEI,
+ iMEIMask BIT STRING (SIZE (7)),
+ iE-Extensions ProtocolExtensionContainer { { IMEIGroup-ExtIEs} } OPTIONAL
+}
+
+IMEIGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IMEIList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEI
+
+IMEISV ::= OCTET STRING (SIZE (8))
+-- Reference: 23.003
+
+IMEISVGroup ::= SEQUENCE {
+ iMEISV IMEISV,
+ iMEISVMask BIT STRING (SIZE (7)),
+ iE-Extensions ProtocolExtensionContainer { { IMEISVGroup-ExtIEs} } OPTIONAL
+}
+
+IMEISVGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IMEISVList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEISV
+
+ImmediateMDT ::= SEQUENCE {
+ measurementsToActivate MeasurementsToActivate,
+ m1report M1Report OPTIONAL,
+ -- Included in case of event-triggered reporting for measurement M1
+ m2report M2Report OPTIONAL,
+ -- Included in case of event-triggered reporting for measurement M2
+ ...,
+ iE-Extensions ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL
+}
+
+ImmediateMDT-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ {ID id-M4Report CRITICALITY ignore EXTENSION M4Report PRESENCE optional}|
+ -- Included in case that measurement M4 is activated
+ {ID id-M5Report CRITICALITY ignore EXTENSION M5Report PRESENCE optional}|
+ -- Included in case that measurement M5 is activated
+ {ID id-M6Report CRITICALITY ignore EXTENSION M6Report PRESENCE optional}|
+ -- Included in case that measurement M6 is activated
+ {ID id-M7Report CRITICALITY ignore EXTENSION M7Report PRESENCE optional},
+ -- Included in case that measurement M7 is activated
+ ...
+}
+
+IMSI ::= TBCD-STRING (SIZE (3..8))
+-- Reference: 23.003
+
+IncludeVelocity ::= ENUMERATED {
+ requested
+}
+
+InformationExchangeID ::= INTEGER (0.. 1048575)
+
+InformationExchangeType ::= ENUMERATED {
+ transfer,
+ request,
+ ...
+}
+
+InformationRequested ::= CHOICE {
+ requestedMBMSIPMulticastAddressandAPNRequest RequestedMBMSIPMulticastAddressandAPNRequest,
+ requestedMulticastServiceList RequestedMulticastServiceList,
+ ...
+}
+
+
+InformationRequestType ::= CHOICE {
+ mBMSIPMulticastAddressandAPNRequest MBMSIPMulticastAddressandAPNRequest,
+ permanentNAS-UE-ID PermanentNAS-UE-ID,
+ ...
+}
+
+InformationTransferID ::= INTEGER (0.. 1048575)
+
+InformationTransferType ::= CHOICE {
+ rNCTraceInformation RNCTraceInformation,
+ ...
+}
+
+IntegrityProtectionAlgorithm ::= INTEGER {
+ standard-UMTS-integrity-algorithm-UIA1 (0), standard-UMTS-integrity-algorithm-UIA2 (1),
+ no-value (15)
+} (0..15)
+
+IntegrityProtectionInformation ::= SEQUENCE {
+ permittedAlgorithms PermittedIntegrityProtectionAlgorithms,
+ key IntegrityProtectionKey,
+ iE-Extensions ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL
+}
+
+IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IntegrityProtectionKey ::= BIT STRING (SIZE (128))
+
+InterSystemInformationTransferType ::= CHOICE {
+ rIM-Transfer RIM-Transfer,
+ ...
+}
+
+InterSystemInformation-TransparentContainer ::= SEQUENCE {
+ downlinkCellLoadInformation CellLoadInformation OPTIONAL,
+ uplinkCellLoadInformation CellLoadInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { InterSystemInformation-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InterSystemInformation-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+IPMulticastAddress ::= OCTET STRING (SIZE (4..16))
+-- Reference: 23.003
+
+IuSignallingConnectionIdentifier ::= BIT STRING (SIZE (24))
+
+IuTransportAssociation ::= CHOICE {
+ gTP-TEI GTP-TEI,
+ bindingID BindingID,
+ ...
+}
+
+-- J
+-- K
+
+KeyStatus ::= ENUMERATED {
+ old,
+ new,
+ ...
+}
+-- L
+
+LA-LIST ::= SEQUENCE (SIZE (1..maxNrOfLAs)) OF
+ SEQUENCE {
+ lAC LAC,
+ listOF-SNAs ListOF-SNAs,
+ iE-Extensions ProtocolExtensionContainer { { LA-LIST-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+LA-LIST-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LAC ::= OCTET STRING (SIZE (2))
+
+LAI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ lAC LAC,
+ iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL
+}
+
+LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LastKnownServiceArea ::= SEQUENCE {
+ sAI SAI,
+ ageOfSAI INTEGER (0..32767),
+ iE-Extensions ProtocolExtensionContainer { {LastKnownServiceArea-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LastKnownServiceArea-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LastVisitedUTRANCell-Item ::= SEQUENCE {
+ uTRAN-CellID UTRAN-CellID,
+ cellType CellType,
+ time-UE-StayedInCell Time-UE-StayedInCell,
+ iE-Extensions ProtocolExtensionContainer { {LastVisitedUTRANCell-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LastVisitedUTRANCell-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Rel-11 to support enhanced granularity for time UE stayed in cell --
+ { ID id-Time-UE-StayedInCell-EnhancedGranularity CRITICALITY ignore EXTENSION Time-UE-StayedInCell-EnhancedGranularity PRESENCE optional }|
+ { ID id-HO-Cause CRITICALITY ignore EXTENSION Cause PRESENCE optional },
+ ...
+}
+
+LHN-ID ::= OCTET STRING (SIZE (32..256))
+
+Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}
+
+ListOF-SNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC
+
+ListOfInterfacesToTrace ::= SEQUENCE (SIZE (1..maxNrOfInterfaces)) OF InterfacesToTraceItem
+
+InterfacesToTraceItem ::= SEQUENCE {
+ interface ENUMERATED {iu-cs, iu-ps, iur, iub, uu, ...},
+ iE-Extensions ProtocolExtensionContainer { {InterfacesToTraceItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InterfacesToTraceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LoadValue ::= INTEGER (0..100)
+
+LocationRelatedDataRequestType ::= SEQUENCE {
+ requestedLocationRelatedDataType RequestedLocationRelatedDataType,
+ requestedGPSAssistanceData RequestedGPSAssistanceData OPTIONAL,
+ -- This IE shall be present if the Requested Location Related Data Type IE is set to ‘Dedicated Assistance Data for Assisted GPS’ or
+ -- `Dedicated Assistance Data for Assisted GPS and GANSS’
+ ...
+}
+
+LocationRelatedDataRequestTypeSpecificToGERANIuMode ::= ENUMERATED {
+ decipheringKeysEOTD,
+ dedicatedMobileAssistedEOTDAssistanceData,
+ dedicatedMobileBasedEOTDAssistanceData,
+ ...
+}
+
+LocationReportingTransferInformation ::= SEQUENCE {
+ reportChangeOfSAI ReportChangeOfSAI OPTIONAL,
+ periodicReportingIndicator PeriodicReportingIndicator OPTIONAL,
+ directReportingIndicator DirectReportingIndicator OPTIONAL,
+ verticalAccuracyCode VerticalAccuracyCode OPTIONAL,
+ positioningPriorityChangeSAI PositioningPriority OPTIONAL,
+ positioningPriorityDirect PositioningPriority OPTIONAL,
+ clientTypePeriodic ClientType OPTIONAL,
+ clientTypeDirect ClientType OPTIONAL,
+ responseTime ResponseTime OPTIONAL,
+ includeVelocity IncludeVelocity OPTIONAL,
+ periodicLocationInfo PeriodicLocationInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { LocationReportingTransferInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+LocationReportingTransferInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportChangeOfSAI ::= ENUMERATED {
+ requested,
+ ...
+ }
+
+PeriodicReportingIndicator::= ENUMERATED {
+ periodicSAI,
+ periodicGeo,
+ ...
+ }
+
+DirectReportingIndicator::= ENUMERATED {
+ directSAI,
+ directGeo,
+ ...
+ }
+
+L3-Information ::= OCTET STRING
+
+-- M
+
+M1Report ::= CHOICE {
+ periodic MDT-Report-Parameters,
+ event1F Event1F-Parameters,
+ ...
+}
+
+M2Report ::= CHOICE {
+ periodic MDT-Report-Parameters,
+ event1I Event1I-Parameters,
+ ...
+}
+
+M4Report ::= CHOICE {
+ all NULL,
+ m4-collection-parameters M4-Collection-Parameters,
+ ...
+}
+
+M4-Collection-Parameters ::= SEQUENCE {
+ m4-period M4-Period,
+ m4-threshold M4-Threshold OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { M4-Collection-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M4-Collection-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M4-Period ::= ENUMERATED {ms100, ms250, ms500, ms1000, ms2000, ms3000, ms4000, ms6000, ...}
+
+
+M4-Threshold ::= INTEGER (0..31)
+
+
+M5Report ::= CHOICE {
+ when-available NULL,
+ m5-period M5-Period,
+ ...
+}
+M5-Period ::= ENUMERATED {ms100, ms250, ms500, ms1000, ms2000, ms3000, ms4000, ms6000, ...}
+
+
+
+M6Report ::= SEQUENCE {
+ m6-period M6-Period,
+ m6-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M6Report-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M6Report-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M6-Period ::= ENUMERATED {ms1000, ms2000, ms3000, ms4000, ms6000, ms8000, ms12000, ms16000, ms20000, ms24000, ms28000, ms32000, ms64000, ...}
+
+M7Report ::= SEQUENCE {
+ m7-period M7-Period,
+ m7-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M7Report-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M7Report-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M7-Period ::= ENUMERATED {ms1000, ms2000, ms3000, ms4000, ms6000, ms8000, ms12000, ms16000, ms20000, ms24000, ms28000, ms32000, ms64000, ...}
+
+Management-Based-MDT-Allowed ::= ENUMERATED {
+ allowed, ... }
+
+MaxBitrate ::= INTEGER (1..16000000)
+-- Unit is bits per sec
+
+MaxSDU-Size ::= INTEGER (0..32768)
+-- MaxSDU-Size
+-- Unit is bit
+
+MBMS-PTP-RAB-ID ::= BIT STRING (SIZE (8))
+
+MBMSBearerServiceType ::= ENUMERATED {
+ multicast,
+ broadcast,
+ ...
+}
+
+MBMSCNDe-Registration ::= ENUMERATED {
+ normalsessionstop,
+ deregister,
+ ...
+}
+
+
+MBMSCountingInformation ::= ENUMERATED {
+ counting,
+ notcounting,
+ ...
+}
+
+MBMSHCIndicator ::= ENUMERATED {
+ uncompressed-header,
+ compressed-header,
+ ...
+}
+
+MBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF
+ TMGI
+
+MBMSLinkingInformation ::= ENUMERATED {
+ uE-has-joined-multicast-services,
+ ...
+}
+
+MBMSRegistrationRequestType ::= ENUMERATED {
+ register,
+ deregister,
+ ...
+}
+
+MBMSServiceArea ::= OCTET STRING
+
+MBMSSessionDuration ::= OCTET STRING (SIZE (3))
+
+
+
+MBMSSessionIdentity ::= OCTET STRING (SIZE (1))
+
+MBMSSessionRepetitionNumber ::= OCTET STRING (SIZE (1))
+
+MDT-Activation ::= ENUMERATED { immediateMDTonly,
+ loggedMDTonly,
+ immediateMDTandTrace,
+ ... }
+
+MDTAreaScope ::= CHOICE {
+ cellbased CellBased,
+ labased LABased,
+ rabased RABased,
+ plmn-area-based NULL,
+ ...
+}
+
+MDT-Configuration ::= SEQUENCE {
+ mdtActivation MDT-Activation,
+ mdtAreaScope MDTAreaScope,
+ mdtMode MDTMode,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MDT-Configuration-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SignallingBasedMDTPLMNList CRITICALITY ignore EXTENSION MDT-PLMN-List PRESENCE optional },
+...
+}
+
+MDTMode ::= CHOICE {
+ immediateMDT ImmediateMDT,
+ loggedMDT LoggedMDT,
+ ...
+}
+
+MDT-PLMN-List ::= SEQUENCE (SIZE (1..maxnoofMDTPLMNs)) OF
+ PLMNidentity
+
+MDT-Report-Parameters ::= SEQUENCE {
+ reportInterval ReportInterval,
+ reportAmount ReportAmount,
+ ...
+}
+
+MeasurementQuantity ::= ENUMERATED {
+ cpichEcNo,
+ cpichRSCP,
+ pathloss,
+ ...
+}
+
+MeasurementsToActivate::= BIT STRING (SIZE (8))
+
+MSISDN ::= OCTET STRING (SIZE (1..9))
+
+-- N
+
+
+NAS-PDU ::= OCTET STRING
+
+NAS-SequenceNumber ::= BIT STRING (SIZE (2))
+-- Reference: 24.008
+
+NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4))
+
+NewBSS-To-OldBSS-Information ::= OCTET STRING
+
+NonSearchingIndication ::= ENUMERATED {
+ non-searching,
+ searching
+}
+
+NRTLoadInformationValue ::= INTEGER (0..3)
+
+Null-NRI ::= BIT STRING (SIZE (10))
+
+NumberOfIuInstances ::= INTEGER (1..2)
+
+NumberOfSteps ::= INTEGER (1..16)
+
+-- O
+
+Offload-RAB-Parameters ::= SEQUENCE {
+ accessPointName Offload-RAB-Parameters-APN,
+ chargingCharacteristics Offload-RAB-Parameters-ChargingCharacteristics,
+ iE-Extensions ProtocolExtensionContainer { { Offload-RAB-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Offload-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Offload-RAB-Parameters-APN ::= OCTET STRING (SIZE (1..255))
+
+Offload-RAB-Parameters-ChargingCharacteristics ::= OCTET STRING (SIZE (2))
+
+OldBSS-ToNewBSS-Information ::= OCTET STRING
+
+OMC-ID ::= OCTET STRING (SIZE (3..22))
+-- Reference: GSM TS 12.20 [25]
+
+Out-Of-UTRAN ::= ENUMERATED{
+ cell-reselection-to-EUTRAN,
+ ...
+}
+
+-- P
+
+PagingAreaID ::= CHOICE {
+ lAI LAI,
+ rAI RAI,
+ ...
+}
+
+PagingCause ::= ENUMERATED {
+ terminating-conversational-call,
+ terminating-streaming-call,
+ terminating-interactive-call,
+ terminating-background-call,
+ terminating-low-priority-signalling,
+ ...,
+ terminating-high-priority-signalling
+}
+
+PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF
+ PDP-Type
+
+PDP-Type ::= ENUMERATED {
+ empty,
+ ppp,
+ osp-ihoss -- this value shall not be used -- ,
+ ipv4,
+ ipv6,
+ ...
+}
+PDP-TypeInformation-extension ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF
+ PDP-Type-extension
+
+PDP-Type-extension ::= ENUMERATED {
+ ipv4-and-ipv6,
+ ...
+}
+
+PDUType14FrameSequenceNumber ::= INTEGER(0..3)
+
+PeriodicLocationInfo ::= SEQUENCE {
+ reportingAmount INTEGER (1..8639999, ...),
+ reportingInterval INTEGER (1..8639999, ...),
+ iE-Extensions ProtocolExtensionContainer { { PeriodicLocationInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PeriodicLocationInfo-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PermanentNAS-UE-ID ::= CHOICE {
+ iMSI IMSI,
+ ...
+}
+
+PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
+ EncryptionAlgorithm
+
+PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
+ IntegrityProtectionAlgorithm
+
+LABased ::= SEQUENCE {
+ laiList LAI-List,
+ iE-Extensions ProtocolExtensionContainer { {LABased-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LABased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+LAI-List ::= SEQUENCE (SIZE (1..maxNrOfLAIs)) OF
+ LAI
+
+
+
+LoggedMDT ::= SEQUENCE {
+ loggingInterval LoggingInterval,
+ loggingDuration LoggingDuration,
+ iE-Extensions ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LoggedMDT-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LoggingInterval ::= ENUMERATED {
+ s1d28,
+ s2d56,
+ s5d12,
+ s10d24,
+ s20d48,
+ s30d72,
+ s40d96,
+ s61d44,
+ ...
+ }
+
+LoggingDuration ::= ENUMERATED {
+ min10,
+ min20,
+ min40,
+ min60,
+ min90,
+ min120,
+...}
+
+
+
+PLMNBased::= SEQUENCE {
+ plmnList PLMNList,
+ iE-Extensions ProtocolExtensionContainer { {PLMNBased-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLMNBased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PLMNList ::= SEQUENCE (SIZE (1.. maxnoofPLMNs)) OF
+ PLMNidentity
+
+
+
+PLMNidentity ::= TBCD-STRING (SIZE (3))
+
+PLMNs-in-shared-network ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF
+ SEQUENCE {
+ pLMNidentity PLMNidentity,
+ lA-LIST LA-LIST,
+ iE-Extensions ProtocolExtensionContainer { { PLMNs-in-shared-network-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+PLMNs-in-shared-network-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Port-Number ::= OCTET STRING (SIZE (2))
+
+PositioningDataDiscriminator ::= BIT STRING (SIZE(4))
+
+PositioningDataSet ::= SEQUENCE(SIZE(1..maxSet)) OF PositioningMethodAndUsage
+
+PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+PositioningPriority ::= ENUMERATED {
+ high-Priority,
+ normal-Priority,
+...
+}
+
+PositionData ::= SEQUENCE {
+ positioningDataDiscriminator PositioningDataDiscriminator,
+ positioningDataSet PositioningDataSet OPTIONAL,
+-- This IE shall be present if the PositioningDataDiscriminator IE is set to the value "0000" --
+ iE-Extensions ProtocolExtensionContainer { {PositionData-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PositionData-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-PositioningDataSet CRITICALITY ignore EXTENSION GANSS-PositioningDataSet PRESENCE optional}|
+ { ID id-Additional-PositioningDataSet CRITICALITY ignore EXTENSION Additional-PositioningDataSet PRESENCE optional},
+ ...
+}
+
+PositionDataSpecificToGERANIuMode ::= OCTET STRING
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable
+}
+
+PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
+
+Priority-Class-Indicator ::= BIT STRING (SIZE(8))
+
+ProvidedData ::= CHOICE {
+ shared-network-information Shared-Network-Information,
+ ...
+}
+
+PowerSavingIndicator ::= ENUMERATED {
+ psmConfigured,
+ eDRXConfigured,
+ ...
+}
+
+P-TMSI ::= OCTET STRING (SIZE (4))
+
+-- Q
+
+QueuingAllowed ::= ENUMERATED {
+ queueing-not-allowed,
+ queueing-allowed
+}
+
+-- R
+RAB-AsymmetryIndicator::= ENUMERATED {
+ symmetric-bidirectional,
+ asymmetric-unidirectional-downlink,
+ asymmetric-unidirectional-uplink,
+ asymmetric-bidirectional,
+ ...
+}
+
+RABased ::= SEQUENCE {
+ raiList RAI-List,
+ iE-Extensions ProtocolExtensionContainer { {RABased-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RABased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RAI-List ::= SEQUENCE (SIZE (1..maxNrOfRAIs)) OF
+ RAI
+
+RABDataVolumeReport ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF
+ SEQUENCE {
+ dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume,
+ dataVolumeReference DataVolumeReference OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RABDataVolumeReport-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+RABDataVolumeReport-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-ID ::= BIT STRING (SIZE (8))
+
+RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
+
+RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
+
+
+RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
+--This IE shall be ignored if Supported Guaranteed Bit rate is present--
+
+RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
+--This IE shall be ignored if Supported Maximum Bit rate is present--
+
+RAB-Parameters ::= SEQUENCE {
+ trafficClass TrafficClass,
+ rAB-AsymmetryIndicator RAB-AsymmetryIndicator,
+ maxBitrate RAB-Parameter-MaxBitrateList,
+ guaranteedBitRate RAB-Parameter-GuaranteedBitrateList OPTIONAL
+ -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
+ deliveryOrder DeliveryOrder,
+ maxSDU-Size MaxSDU-Size,
+ sDU-Parameters SDU-Parameters,
+ transferDelay TransferDelay OPTIONAL
+ -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
+ trafficHandlingPriority TrafficHandlingPriority OPTIONAL
+ -- This IE shall be present the traffic class IE is set to "Interactive" --,
+ allocationOrRetentionPriority AllocationOrRetentionPriority OPTIONAL,
+ sourceStatisticsDescriptor SourceStatisticsDescriptor OPTIONAL
+ -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
+ relocationRequirement RelocationRequirement OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable indication that Interactive User Plane data is of a signalling nature --
+ { ID id-SignallingIndication CRITICALITY ignore EXTENSION SignallingIndication PRESENCE optional }|
+-- Extension for Release 7 to indicate an Extended Guaranteed Bitrate --
+{ ID id-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }|
+-- Extension for Release 7 to indicate an Extended Maximum Bitrate --
+{ ID id-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }|
+-- Extension for Release 8 to indicate an Supported Maximum Bitrate --
+{ ID id-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }|
+-- Extension for Release 8 to indicate an Supported Guaranteed Bitrate --
+{ ID id-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional },
+ ...
+}
+
+RABParametersList ::= SEQUENCE (SIZE (1.. maxNrOfRABs)) OF SEQUENCE {
+ rab-Id RAB-ID,
+ cn-domain CN-DomainIndicator,
+ rabDataVolumeReport RABDataVolumeReport OPTIONAL,
+ upInformation UPInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RABParametersList-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RABParametersList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-SubflowCombinationBitRate ::= INTEGER (0..16000000)
+
+RAB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfRABs)) OF
+ RAB-TrCH-MappingItem
+
+RAB-TrCH-MappingItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ trCH-ID-List TrCH-ID-List,
+ iE-Extensions ProtocolExtensionContainer { { RAB-TrCH-MappingItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 99 to enable transfer of RAB Subflow mapping onto Iur transport channel Ids for a given indicated domain --
+ { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional },
+ ...
+}
+
+RAC ::= OCTET STRING (SIZE (1))
+
+RAI ::= SEQUENCE {
+ lAI LAI,
+ rAC RAC,
+ iE-Extensions ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAListofIdleModeUEs ::= CHOICE {
+ notEmptyRAListofIdleModeUEs NotEmptyRAListofIdleModeUEs,
+ emptyFullRAListofIdleModeUEs ENUMERATED {emptylist,fulllist,...},
+ ...
+}
+
+NotEmptyRAListofIdleModeUEs ::= SEQUENCE {
+ rAofIdleModeUEs RAofIdleModeUEs,
+ iE-Extensions ProtocolExtensionContainer { {NotEmptyRAListofIdleModeUEs-ExtIEs} } OPTIONAL
+}
+
+RAofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
+ RAC
+
+NotEmptyRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+{ ID id-LAofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional },
+ -- This IE shall be present if the RA of Idle Mode UEs IE is included. --
+ ...
+}
+
+LAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
+ LAI
+
+RAT-Type ::= ENUMERATED {
+ utran,
+ geran,
+ ...
+}
+
+RateControlAllowed ::= ENUMERATED {
+ not-allowed,
+ allowed
+}
+
+RedirectAttemptFlag ::= NULL
+
+RedirectionCompleted ::= ENUMERATED {
+ redirection-completed,
+ ...
+}
+
+RejectCauseValue ::= ENUMERATED {
+ pLMN-Not-Allowed,
+ location-Area-Not-Allowed,
+ roaming-Not-Allowed-In-This-Location-Area,
+ no-Suitable-Cell-In-Location-Area,
+ gPRS-Services-Not-Allowed-In-This-PLMN,
+ cS-PS-coordination-required,
+ ...,
+ network-failure,
+ not-authorized-for-this-CSG
+}
+
+
+RelocationRequirement ::= ENUMERATED {
+ lossless,
+ none,
+ ...,
+ realtime
+}
+
+RelocationType ::= ENUMERATED {
+ ue-not-involved,
+ ue-involved,
+ ...
+}
+
+RepetitionNumber0 ::= INTEGER (0..255)
+
+RepetitionNumber1 ::= INTEGER (1..256)
+
+
+ReportArea ::= ENUMERATED {
+ service-area,
+ geographical-area,
+ ...
+}
+
+ReportInterval ::= ENUMERATED {
+ ms250,
+ ms500,
+ ms1000,
+ ms2000,
+ ms3000,
+ ms4000,
+ ms6000,
+ ms12000,
+ ms16000,
+ ms20000,
+ ms24000,
+ ms32000,
+ ms64000,
+ ...,
+ ms8000,
+ ms28000
+}
+
+ReportAmount ::= ENUMERATED { n1, n2, n4, n8, n16, n32, n64, infinity, ... }
+
+RequestedGPSAssistanceData ::= OCTET STRING (SIZE (1 .. 38 ))
+ -- gpsAssistanceData as defined in 24.080 --
+
+RequestedGANSSAssistanceData ::= OCTET STRING (SIZE (1 .. 201 ))
+ -- ganssAssistanceData as defined in 24.080 --
+
+RequestedLocationRelatedDataType ::= ENUMERATED {
+ decipheringKeysUEBasedOTDOA,
+ decipheringKeysAssistedGPS,
+ dedicatedAssistanceDataUEBasedOTDOA,
+ dedicatedAssistanceDataAssistedGPS,
+ ...,
+-- Release 7 extension elements --
+ decipheringKeysAssistedGANSS,
+ dedicatedAssistanceDataAssistedGANSS,
+ decipheringKeysAssistedGPSandGANSS,
+ dedicatedAssistanceDataAssistedGPSandGANSS
+}
+
+RequestedMBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF
+ MBMSIPMulticastAddressandAPNlist
+
+MBMSIPMulticastAddressandAPNlist ::= SEQUENCE {
+ tMGI TMGI,
+ iPMulticastAddress IPMulticastAddress,
+ aPN APN,
+ iE-Extensions ProtocolExtensionContainer { {MBMSIPMulticastAddressandAPNlist-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMSIPMulticastAddressandAPNlist-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedMulticastServiceList ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
+ TMGI
+
+Requested-RAB-Parameter-Values ::= SEQUENCE {
+ requestedMaxBitrates Requested-RAB-Parameter-MaxBitrateList OPTIONAL,
+ requestedGuaranteedBitrates Requested-RAB-Parameter-GuaranteedBitrateList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Requested-RAB-Parameter-Values-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Requested-RAB-Parameter-Values-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable RNC to request the execution of an alternative RAB configuration --
+ { ID id-AlternativeRABConfigurationRequest CRITICALITY ignore EXTENSION AlternativeRABConfigurationRequest PRESENCE optional }|
+-- Extension for Release 7 to request an Extended Maximum Bitrate --
+ { ID id-Requested-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }|
+-- Extension for Release 7 to request an Extended Guaranteed Bitrate --
+ { ID id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }|
+-- Extension for Release 8 to request an Supported Maximum Bitrate --
+ { ID id-Requested-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }|
+-- Extension for Release 8 to request an Supported Guaranteed Bitrate --
+ { ID id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional },
+ ...
+}
+
+Requested-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
+
+Requested-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
+
+Requested-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
+
+Requested-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
+
+
+RequestType ::= SEQUENCE {
+ event Event,
+ reportArea ReportArea,
+ accuracyCode INTEGER (0..127) OPTIONAL,
+ ...
+}
+
+ResidualBitErrorRatio ::= SEQUENCE {
+ mantissa INTEGER (1..9),
+ exponent INTEGER (1..8),
+ iE-Extensions ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL
+}
+-- ResidualBitErrorRatio = mantissa * 10^-exponent
+
+ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResponseTime ::= ENUMERATED {
+ lowdelay,
+ delaytolerant,
+...
+}
+
+RIMInformation ::= OCTET STRING
+
+RIM-Transfer ::= SEQUENCE {
+ rIMInformation RIMInformation,
+ rIMRoutingAddress RIMRoutingAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RIM-Transfer-ExtIEs} } OPTIONAL
+}
+
+RIM-Transfer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RIMRoutingAddress ::= CHOICE {
+ targetRNC-ID TargetRNC-ID,
+ gERAN-Cell-ID GERAN-Cell-ID,
+ ... ,
+ targeteNB-ID TargetENB-ID
+}
+
+
+RNC-ID ::= INTEGER (0..4095)
+-- RNC-ID ::= BIT STRING (SIZE (12))
+-- Harmonized with RNSAP and NBAP definitions
+
+
+RNCTraceInformation::= SEQUENCE {
+ traceReference TraceReference,
+ traceActivationIndicator ENUMERATED {activated,deactivated},
+ equipmentsToBeTraced EquipmentsToBeTraced OPTIONAL,
+ -- This IE shall be present if the Trace Activation Indicator IE is set to "Activated".
+ iE-Extensions ProtocolExtensionContainer { { RNCTraceInformation-ExtIEs} } OPTIONAL
+}
+
+RNCTraceInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 11 to enable anonymization MDT for area based MDT --
+ {ID id-TraceRecordingSessionReference CRITICALITY ignore EXTENSION TraceRecordingSessionReference PRESENCE optional}|
+ {ID id-IMSI CRITICALITY ignore EXTENSION IMSI PRESENCE optional}|
+ {ID id-Trace-Collection-Entity-IP-Addess CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ {ID id-Serving-Cell-Identifier CRITICALITY ignore EXTENSION UTRAN-CellID PRESENCE optional},
+ ...
+}
+
+RNSAPRelocationParameters ::= SEQUENCE {
+ rabParmetersList RABParametersList OPTIONAL,
+ locationReporting LocationReportingTransferInformation OPTIONAL,
+ traceInformation TraceInformation OPTIONAL,
+ sourceSAI SAI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RNSAPRelocationParameters-ExtIEs } } OPTIONAL,
+ ...
+}
+
+RNSAPRelocationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RRC-Container ::= OCTET STRING
+
+RTLoadValue ::= INTEGER (0..100)
+
+RSRVCC-HO-Indication ::= ENUMERATED {
+ ps-only,
+ ...
+}
+
+RSRVCC-Information ::= SEQUENCE {
+ nonce BIT STRING (SIZE (128)),
+ iMSInformation OCTET STRING(SIZE(1.. maxSizeOfIMSInfo)),
+ iE-Extensions ProtocolExtensionContainer { { RSRVCC-Information-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+RSRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RSRVCC-Operation-Possible ::= ENUMERATED {
+ rsrvcc-possible,
+ ...
+}
+
+-- S
+
+SAC ::= OCTET STRING (SIZE (2))
+SAI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ lAC LAC,
+ sAC SAC,
+ iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL
+}
+
+SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SAPI ::= ENUMERATED {
+ sapi-0,
+ sapi-3,
+ ...
+}
+
+SessionUpdateID ::= INTEGER (0.. 1048575)
+Shared-Network-Information ::= SEQUENCE {
+ pLMNs-in-shared-network PLMNs-in-shared-network,
+ iE-Extensions ProtocolExtensionContainer { {Shared-Network-Information-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Session-Re-establishment-Indicator ::= ENUMERATED {true, ...}
+
+Shared-Network-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SignallingIndication ::= ENUMERATED {
+ signalling,
+ ...
+}
+
+SDU-ErrorRatio ::= SEQUENCE {
+ mantissa INTEGER (1..9),
+ exponent INTEGER (1..6),
+ iE-Extensions ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL
+}
+-- SDU-ErrorRatio = mantissa * 10^-exponent
+
+SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF
+ SEQUENCE {
+ subflowSDU-Size SubflowSDU-Size OPTIONAL,
+ rAB-SubflowCombinationBitRate RAB-SubflowCombinationBitRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
+ SEQUENCE {
+ sDU-ErrorRatio SDU-ErrorRatio OPTIONAL
+ -- This IE shall be present if the Delivery Of Erroneous SDU IE is set to "Yes" or "No" --,
+ residualBitErrorRatio ResidualBitErrorRatio,
+ deliveryOfErroneousSDU DeliveryOfErroneousSDU,
+ sDU-FormatInformationParameters SDU-FormatInformationParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SGSN-Group-Identity ::= CHOICE {
+ null-NRI Null-NRI,
+ sGSN-Group-ID SGSN-Group-ID
+}
+
+SGSN-Group-ID ::= OCTET STRING (SIZE (2))
+
+SNA-Access-Information ::= SEQUENCE {
+ authorisedPLMNs AuthorisedPLMNs,
+ iE-Extensions ProtocolExtensionContainer { {SNA-Access-Information-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+SNA-Access-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNAC ::= INTEGER (0..65535)
+
+Service-Handover ::= ENUMERATED {
+ handover-to-GSM-should-be-performed,
+ handover-to-GSM-should-not-be-performed,
+ handover-to-GSM-shall-not-be-performed,
+ ...
+}
+
+Source-ToTarget-TransparentContainer ::= OCTET STRING
+-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system.
+-- Note: In the current version of this specification, this IE may either carry the Source RNC to
+-- Target RNC Transparent Container or the Source eNB to Target eNB Transparent Container IE as
+-- defined in TS 36.413 [49]
+
+SourceeNodeB-ToTargeteNodeB-TransparentContainer ::= OCTET STRING
+
+
+SourceCellID ::= CHOICE {
+ sourceUTRANCellID SourceUTRANCellID,
+ sourceGERANCellID CGI,
+ ...
+}
+
+SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
+
+SourceID ::= CHOICE {
+ sourceRNC-ID SourceRNC-ID,
+ sAI SAI,
+ ...
+}
+
+
+SourceRNC-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ rNC-ID RNC-ID,
+ iE-Extensions ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL
+}
+
+SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE {
+ rRC-Container RRC-Container,
+ numberOfIuInstances NumberOfIuInstances,
+ relocationType RelocationType,
+ chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm OPTIONAL,
+ integrityProtectionKey IntegrityProtectionKey OPTIONAL,
+ chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm OPTIONAL,
+ cipheringKey EncryptionKey OPTIONAL,
+ chosenEncryptionAlgorithForCS ChosenEncryptionAlgorithm OPTIONAL,
+ chosenEncryptionAlgorithForPS ChosenEncryptionAlgorithm OPTIONAL,
+ d-RNTI D-RNTI OPTIONAL
+ -- This IE shall be present if the Relocation type IE is set to "UE not involved in relocation of SRNS" --,
+ targetCellId TargetCellId OPTIONAL
+ -- This IE shall be present if the Relocation type IE is set to "UE involved in relocation of SRNS" --,
+ rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 99 to enable transfer of SRB mapping onto Iur transport channel Ids --
+ {ID id-SRB-TrCH-Mapping CRITICALITY reject EXTENSION SRB-TrCH-Mapping PRESENCE optional}|
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+ {ID id-CellLoadInformationGroup CRITICALITY ignore EXTENSION CellLoadInformationGroup PRESENCE optional}|
+-- Extension for Release 6 to provide Trace Recording Session Information to the Target RNC --
+ {ID id-TraceRecordingSessionInformation CRITICALITY ignore EXTENSION TraceRecordingSessionInformation PRESENCE optional}|
+-- Extension for Release 6 to indicate to the Target RNC that the UE has activated Multicast Service --
+ {ID id-MBMSLinkingInformation CRITICALITY ignore EXTENSION MBMSLinkingInformation PRESENCE optional}|
+ {ID id-d-RNTI-for-NoIuCSUP CRITICALITY reject EXTENSION D-RNTI PRESENCE optional}|
+ {ID id-UE-History-Information CRITICALITY ignore EXTENSION UE-History-Information PRESENCE optional}|
+ {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}|
+-- Extension for Release 8 to transfer to the Target RNC parameters required for SRVCC operation --
+ {ID id-SRVCC-Information CRITICALITY reject EXTENSION SRVCC-Information PRESENCE optional}|
+ {ID id-PSRABtobeReplaced CRITICALITY reject EXTENSION RAB-ID PRESENCE optional}|
+-- Extension for Release 9 to transfer to the Target RNC parameters required for CSFB operation --
+ {ID id-CSFB-Information CRITICALITY ignore EXTENSION CSFB-Information PRESENCE optional}|
+-- Extension for Release 10 to indicate to the Target RNC the need of continued IRAT measurement --
+ {ID id-IRAT-Measurement-Configuration CRITICALITY ignore EXTENSION IRAT-Measurement-Configuration PRESENCE optional}|
+-- Extension for Release 10 to indicate Management Based MDT Allowed --
+ {ID id-Management-Based-MDT-Allowed CRITICALITY ignore EXTENSION Management-Based-MDT-Allowed PRESENCE optional}|
+-- Extension for Release 11 to indicate Management Based MDT PLMN List --
+ {ID id-Management-Based-MDT-PLMN-List CRITICALITY ignore EXTENSION MDT-PLMN-List PRESENCE optional}|
+-- Extension for Release 11 to indicate the last E-UTRAN PLMN Identity --
+ {ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional},
+ ...
+}
+
+IRAT-Measurement-Configuration ::= SEQUENCE {
+ rSRP INTEGER (0..97) OPTIONAL,
+ rSRQ INTEGER (0..34) OPTIONAL,
+ iRATmeasurementParameters IRATmeasurementParameters,
+ iE-Extensions ProtocolExtensionContainer { {IRAT-Measurement-Configuration-ExtIEs} } OPTIONAL}
+
+IRAT-Measurement-Configuration-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ {ID id-RSRQ-Type CRITICALITY ignore EXTENSION RSRQ-Type PRESENCE optional}|
+ {ID id-RSRQ-Extension CRITICALITY ignore EXTENSION RSRQ-Extension PRESENCE optional},
+ ...
+}
+
+IRATmeasurementParameters::= SEQUENCE {
+ measurementDuration INTEGER (1..100),
+ eUTRANFrequencies EUTRANFrequencies OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IRATmeasurementParameters-ExtIEs} } OPTIONAL}
+
+IRATmeasurementParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RSRQ-Type ::= SEQUENCE {
+ allSymbols BOOLEAN,
+ wideBand BOOLEAN
+}
+
+RSRQ-Extension ::= INTEGER (-30..46, ...)
+
+EUTRANFrequencies ::= SEQUENCE (SIZE (1..maxNrOfEUTRAFreqs)) OF SEQUENCE {
+ earfcn INTEGER (0..65535),
+ measBand MeasBand OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EUTRANFrequencies-ExtIEs} } OPTIONAL}
+
+MeasBand ::= ENUMERATED {
+ v6,
+ v15,
+ v25,
+ v50,
+ v75,
+ v100
+}
+
+EUTRANFrequencies-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-EARFCN-Extended CRITICALITY reject EXTENSION EARFCN-Extended PRESENCE optional},
+ ...
+}
+
+SubscriberProfileIDforRFP ::= INTEGER (1..256)
+
+SourceStatisticsDescriptor ::= ENUMERATED {
+ speech,
+ unknown,
+ ...
+}
+
+SupportedRAB-ParameterBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF SupportedBitrate
+
+SupportedBitrate ::= INTEGER (1..1000000000, ...)
+-- Unit is bits per sec
+
+SourceUTRANCellID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ uTRANcellID TargetCellId,
+ iE-Extensions ProtocolExtensionContainer { {SourceUTRANCellID-ExtIEs} } OPTIONAL
+}
+
+SourceUTRANCellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRB-ID ::= INTEGER (1..32)
+
+SRB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfSRBs)) OF
+ SRB-TrCH-MappingItem
+
+SRB-TrCH-MappingItem ::= SEQUENCE {
+ sRB-ID SRB-ID,
+ trCH-ID TrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { SRB-TrCH-MappingItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+SRB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRVCC-HO-Indication ::= ENUMERATED {
+ ps-and-cs,
+ cs-only,
+ ...
+}
+
+SRVCC-Information ::= SEQUENCE {
+ nonce BIT STRING (SIZE (128)),
+ iE-Extensions ProtocolExtensionContainer { { SRVCC-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRVCC-Operation-Possible ::= ENUMERATED {
+ srvcc-possible,
+ ...
+}
+
+SubflowSDU-Size ::= INTEGER (0..4095)
+-- Unit is bit
+
+
+-- T
+TAC ::= OCTET STRING (SIZE (2))
+
+TAI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ tAC TAC,
+ iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL
+}
+
+TAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Target-ToSource-TransparentContainer ::= OCTET STRING
+-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system.
+-- Note: In the current version of this specification, this IE may either carry the Target RNC to
+-- Source RNC Transparent Container or the Target eNB to Source eNB Transparent Container IE as
+-- defined in TS 36.413 [49]
+
+TargeteNodeB-ToSourceeNodeB-TransparentContainer ::= OCTET STRING
+
+TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
+
+TargetCellId ::= INTEGER (0..268435455)
+
+TargetID ::= CHOICE {
+ targetRNC-ID TargetRNC-ID,
+ cGI CGI,
+
+ ...,
+ targeteNB-ID TargetENB-ID
+}
+
+TargetENB-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ eNB-ID ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { {TargetENB-ID-ExtIEs} } OPTIONAL,
+ selectedTAI TAI,
+ ...
+}
+
+TargetENB-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TargetRNC-ID ::= SEQUENCE {
+ lAI LAI,
+ rAC RAC OPTIONAL,
+ rNC-ID RNC-ID,
+ iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL
+}
+
+TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE {
+ rRC-Container RRC-Container,
+ d-RNTI D-RNTI OPTIONAL
+ -- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --,
+ iE-Extensions ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TBCD-STRING ::= OCTET STRING
+
+TemporaryUE-ID ::= CHOICE {
+ tMSI TMSI,
+ p-TMSI P-TMSI,
+ ...
+}
+
+Time-UE-StayedInCell ::= INTEGER (0..4095)
+
+Time-UE-StayedInCell-EnhancedGranularity ::= INTEGER (0..40950)
+
+TimeToMBMSDataTransfer ::= OCTET STRING(SIZE(1))
+
+TimingDifferenceULDL ::= OCTET STRING (SIZE(1))
+
+TMGI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ serviceID OCTET STRING (SIZE (3)),
+ iE-Extensions ProtocolExtensionContainer { {TMGI-ExtIEs} } OPTIONAL
+}
+
+TMGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TMSI ::= OCTET STRING (SIZE (4))
+
+TraceDepth ::= ENUMERATED {
+ minimum,
+ medium,
+ maximum,
+ ...
+}
+
+TraceInformation ::= SEQUENCE {
+ traceReference TraceReference,
+ ue-identity UE-ID,
+ tracePropagationParameters TracePropagationParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TraceInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TraceInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+TracePropagationParameters ::= SEQUENCE {
+ traceRecordingSessionReference TraceRecordingSessionReference,
+ traceDepth TraceDepth,
+ listOfInterfacesToTrace ListOfInterfacesToTrace OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TracePropagationParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TracePropagationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TraceRecordingSessionInformation ::= SEQUENCE {
+ traceReference TraceReference,
+ traceRecordingSessionReference TraceRecordingSessionReference,
+ iE-Extensions ProtocolExtensionContainer { { TraceRecordingSessionInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TraceRecordingSessionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TraceRecordingSessionReference ::= INTEGER (0..65535)
+
+TraceReference ::= OCTET STRING (SIZE (2..3))
+
+TraceType ::= OCTET STRING (SIZE (1))
+-- Reference: GSM TS 12.08
+
+TrafficClass ::= ENUMERATED {
+ conversational,
+ streaming,
+ interactive,
+ background,
+ ...
+}
+
+TrafficHandlingPriority ::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15)
+
+TransferDelay ::= INTEGER (0..65535)
+-- Unit is millisecond
+
+UnsuccessfullyTransmittedDataVolume ::= INTEGER (0..4294967295)
+
+TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
+
+TrCH-ID ::= SEQUENCE {
+ dCH-ID DCH-ID OPTIONAL,
+ dSCH-ID DSCH-ID OPTIONAL,
+ uSCH-ID USCH-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TrCH-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrCH-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable transfer of HS-DSCH-MAC-d-Flow-ID onto Iur transport channel ID --
+ {ID id-hS-DSCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION HS-DSCH-MAC-d-Flow-ID PRESENCE optional}|
+-- Extension for Release 6 to enable transfer of E-DCH-MAC-d-Flow-ID onto Iur transport channel ID --
+ {ID id-E-DCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION E-DCH-MAC-d-Flow-ID PRESENCE optional},
+ ...
+}
+
+TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
+ TrCH-ID
+
+TriggerID ::= OCTET STRING (SIZE (3..22))
+
+TunnelInformation ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ uDP-Port-Number Port-Number OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Tunnel-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Tunnel-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+
+-- U
+
+UE-AggregateMaximumBitRate ::= SEQUENCE {
+ uE-AggregateMaximumBitRateDownlink UE-AggregateMaximumBitRateDownlink OPTIONAL,
+ uE-AggregateMaximumBitRateUplink UE-AggregateMaximumBitRateUplink OPTIONAL,
+ ...
+}
+
+UE-AggregateMaximumBitRateDownlink ::= INTEGER (1..1000000000)
+-- Unit is bits per sec
+
+UE-AggregateMaximumBitRateUplink ::= INTEGER (1..1000000000)
+-- Unit is bits per sec
+
+
+UE-History-Information ::= OCTET STRING
+
+UE-ID ::= CHOICE {
+ imsi IMSI,
+ imei IMEI,
+ ...,
+ imeisv IMEISV
+
+}
+
+UE-IsNotServed::= SEQUENCE {
+ permanentNAS-UE-ID PermanentNAS-UE-ID,
+ iE-Extensions ProtocolExtensionContainer { { UE-IsNotServed-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-IsNotServed-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UE-IsServed::= SEQUENCE {
+ permanentNAS-UE-ID PermanentNAS-UE-ID,
+ pLMNidentity PLMNidentity,
+ iE-Extensions ProtocolExtensionContainer { { UE-IsServed-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-IsServed-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-Usage-Type ::= INTEGER (0..255)
+
+UERegistrationQueryResult ::= CHOICE {
+ uE-IsServed UE-IsServed,
+ uE-IsNotServed UE-IsNotServed
+}
+
+UESBI-Iu ::= SEQUENCE {
+ uESBI-IuA UESBI-IuA OPTIONAL,
+ uESBI-IuB UESBI-IuB OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UESBI-Iu-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UESBI-Iu-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UESBI-IuA ::= BIT STRING (SIZE(1..128))
+-- Reference: TR25.994 --
+UESBI-IuB ::= BIT STRING (SIZE(1..128))
+-- Reference: TR25.995 --
+
+UL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
+
+UL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
+
+UPInformation ::= SEQUENCE {
+ frameSeqNoUL FrameSequenceNumber,
+ frameSeqNoDL FrameSequenceNumber,
+ pdu14FrameSeqNoUL PDUType14FrameSequenceNumber,
+ pdu14FrameSeqNoDL PDUType14FrameSequenceNumber,
+ dataPDUType DataPDUType,
+ upinitialisationFrame UPInitialisationFrame,
+ iE-Extensions ProtocolExtensionContainer { { UPInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UPInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TimingDifferenceULDL CRITICALITY ignore EXTENSION TimingDifferenceULDL PRESENCE optional},
+
+ ...
+}
+
+UPInitialisationFrame ::= OCTET STRING
+
+UP-ModeVersions ::= BIT STRING (SIZE (16))
+
+USCH-ID ::= INTEGER (0..255)
+
+UserPlaneMode ::= ENUMERATED {
+ transparent-mode,
+ support-mode-for-predefined-SDU-sizes,
+ ...
+}
+
+UTRAN-CellID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ cellID TargetCellId,
+ iE-Extensions ProtocolExtensionContainer { { UTRAN-CellID-ExtIEs} } OPTIONAL
+}
+
+UTRAN-CellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- V
+
+VelocityEstimate ::= CHOICE {
+ horizontalVelocity HorizontalVelocity,
+ horizontalWithVerticalVelocity HorizontalWithVerticalVelocity,
+ horizontalVelocityWithUncertainty HorizontalVelocityWithUncertainty,
+ horizontalWithVeritcalVelocityAndUncertainty HorizontalWithVerticalVelocityAndUncertainty,
+ ...
+}
+
+HorizontalVelocity ::= SEQUENCE {
+ horizontalSpeedAndBearing HorizontalSpeedAndBearing,
+ iE-Extensions ProtocolExtensionContainer { { HorizontalVelocity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HorizontalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HorizontalWithVerticalVelocity ::= SEQUENCE {
+ horizontalSpeedAndBearing HorizontalSpeedAndBearing,
+ veritcalVelocity VerticalVelocity,
+ iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HorizontalWithVerticalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+HorizontalVelocityWithUncertainty ::= SEQUENCE {
+ horizontalSpeedAndBearing HorizontalSpeedAndBearing,
+ uncertaintySpeed INTEGER (0..255),
+ iE-Extensions ProtocolExtensionContainer { { HorizontalVelocityWithUncertainty-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HorizontalVelocityWithUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
+ horizontalSpeedAndBearing HorizontalSpeedAndBearing,
+ veritcalVelocity VerticalVelocity,
+ horizontalUncertaintySpeed INTEGER (0..255),
+ verticalUncertaintySpeed INTEGER (0..255),
+ iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocityAndUncertainty-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HorizontalWithVerticalVelocityAndUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HorizontalSpeedAndBearing ::= SEQUENCE {
+ bearing INTEGER (0..359),
+ horizontalSpeed INTEGER (0..2047)
+}
+
+VerticalVelocity ::= SEQUENCE {
+ veritcalSpeed INTEGER (0..255),
+ veritcalSpeedDirection VerticalSpeedDirection
+}
+
+VerticalSpeedDirection ::= ENUMERATED {
+ upward,
+ downward
+}
+
+VerticalAccuracyCode ::= INTEGER (0..127)
+
+VoiceSupportMatchIndicator ::= ENUMERATED {
+ supported,
+ not-supported,
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/ranap/RANAP-PDU-Contents.asn b/epan/dissectors/asn1/ranap/RANAP-PDU-Contents.asn
new file mode 100644
index 00000000..840fd695
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/RANAP-PDU-Contents.asn
@@ -0,0 +1,3736 @@
+-- RANAP-PDU-Contents.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.3 PDU Definitions
+--
+
+-- **************************************************************
+--
+-- PDU definitions for RANAP.
+--
+-- **************************************************************
+
+RANAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ AccuracyFulfilmentIndicator,
+ UE-Application-Layer-Measurement-Configuration,
+ UE-Application-Layer-Measurement-Configuration-For-Relocation,
+ APN,
+ BroadcastAssistanceDataDecipheringKeys,
+ LocationRelatedDataRequestType,
+ LocationRelatedDataRequestTypeSpecificToGERANIuMode,
+ DataVolumeReference,
+ CellLoadInformation,
+ AreaIdentity,
+ CN-DomainIndicator,
+ Cause,
+ Cell-Access-Mode,
+ ClientType,
+ CriticalityDiagnostics,
+ ChosenEncryptionAlgorithm,
+ ChosenIntegrityProtectionAlgorithm,
+ ClassmarkInformation2,
+ ClassmarkInformation3,
+ CSG-Id,
+ CSG-Id-List,
+ CSG-Membership-Status,
+ DL-GTP-PDU-SequenceNumber,
+ DL-N-PDU-SequenceNumber,
+ DataVolumeReportingIndication,
+ DeltaRAListofIdleModeUEs,
+ DRX-CycleLengthCoefficient,
+ EncryptionInformation,
+ EncryptionKey,
+ E-UTRAN-Service-Handover,
+ ExtendedRNC-ID,
+ FrequenceLayerConvergenceFlag,
+ GERAN-BSC-Container,
+ GERAN-Classmark,
+ GlobalCN-ID,
+ GlobalRNC-ID,
+ GTP-TEI,
+ IncludeVelocity,
+ InformationExchangeID,
+ InformationExchangeType,
+ InformationRequested,
+ InformationRequestType,
+ InformationTransferID,
+ InformationTransferType,
+ InterSystemInformationTransferType,
+ IntegrityProtectionInformation,
+ IntegrityProtectionKey,
+ InterSystemInformation-TransparentContainer,
+ IPMulticastAddress,
+ IuSignallingConnectionIdentifier,
+ IuTransportAssociation,
+ KeyStatus,
+ L3-Information,
+ LAI,
+ LastKnownServiceArea,
+ Correlation-ID,
+ MBMS-PTP-RAB-ID,
+ MBMSBearerServiceType,
+ MBMSCountingInformation,
+ MBMSCNDe-Registration,
+ MBMSHCIndicator,
+ MBMSRegistrationRequestType,
+ MBMSServiceArea,
+ MBMSSessionDuration,
+ MBMSSessionIdentity,
+ MBMSSessionRepetitionNumber,
+ MSISDN,
+ NAS-PDU,
+ NAS-SequenceNumber,
+ NAS-SynchronisationIndicator,
+ NewBSS-To-OldBSS-Information,
+ NonSearchingIndication,
+ NumberOfSteps,
+ Offload-RAB-Parameters,
+ Offload-RAB-Parameters-APN,
+ Offload-RAB-Parameters-ChargingCharacteristics,
+ OMC-ID,
+ OldBSS-ToNewBSS-Information,
+ PagingAreaID,
+ PagingCause,
+ PDP-TypeInformation,
+ PDP-TypeInformation-extension,
+ PermanentNAS-UE-ID,
+ PLMNidentity,
+ PositionData,
+ PositionDataSpecificToGERANIuMode,
+ PositioningPriority,
+ ProvidedData,
+ PowerSavingIndicator,
+ RAB-ID,
+ RAB-Parameters,
+ RAC,
+ RAListofIdleModeUEs,
+ RAT-Type,
+ RedirectAttemptFlag,
+ RedirectionCompleted,
+ RejectCauseValue,
+ RelocationType,
+ RequestedGANSSAssistanceData,
+ RequestType,
+ Requested-RAB-Parameter-Values,
+ ResponseTime,
+ RRC-Container,
+ RSRVCC-Operation-Possible,
+ RSRQ-Type,
+ RSRQ-Extension,
+ SAI,
+ SAPI,
+ Service-Handover,
+ SessionUpdateID,
+ SNA-Access-Information,
+ SourceBSS-ToTargetBSS-TransparentContainer,
+ SourceID,
+ Source-ToTarget-TransparentContainer,
+ SourceRNC-ToTargetRNC-TransparentContainer,
+ SRVCC-HO-Indication,
+ SRVCC-Information,
+ SRVCC-Operation-Possible,
+ TargetBSS-ToSourceBSS-TransparentContainer,
+ TargetID,
+ Target-ToSource-TransparentContainer,
+ TargetRNC-ToSourceRNC-TransparentContainer,
+ TemporaryUE-ID,
+ TimeToMBMSDataTransfer,
+ TMGI,
+ TracePropagationParameters,
+ TraceReference,
+ TraceType,
+ UnsuccessfullyTransmittedDataVolume,
+ TransportLayerAddress,
+ TriggerID,
+ UE-AggregateMaximumBitRate,
+ UE-ID,
+ UESBI-Iu,
+ UL-GTP-PDU-SequenceNumber,
+ UL-N-PDU-SequenceNumber,
+ UP-ModeVersions,
+ UserPlaneMode,
+ VelocityEstimate,
+ VerticalAccuracyCode,
+ VoiceSupportMatchIndicator,
+ Alt-RAB-Parameters,
+ Ass-RAB-Parameters,
+ PeriodicLocationInfo,
+ SubscriberProfileIDforRFP,
+ RNSAPRelocationParameters,
+ RABParametersList,
+ MDT-Configuration,
+ Priority-Class-Indicator,
+ Management-Based-MDT-Allowed,
+ HigherBitratesThan16MbpsFlag,
+ End-Of-CSFB,
+ Out-Of-UTRAN,
+ RSRVCC-HO-Indication,
+ RSRVCC-Information,
+ MDT-PLMN-List,
+ TunnelInformation,
+ LHN-ID,
+ Session-Re-establishment-Indicator,
+ Additional-CSPS-coordination-information,
+ UERegistrationQueryResult,
+ SGSN-Group-Identity,
+ P-TMSI,
+ BarometricPressure,
+ CivicAddress,
+ UE-Usage-Type,
+ DCN-ID
+
+FROM RANAP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-ContainerPairList{},
+ ProtocolIE-Container{},
+ RANAP-PRIVATE-IES,
+ RANAP-PROTOCOL-EXTENSION,
+ RANAP-PROTOCOL-IES,
+ RANAP-PROTOCOL-IES-PAIR
+FROM RANAP-Containers
+
+ maxNrOfDTs,
+ maxNrOfErrors,
+ maxNrOfIuSigConIds,
+ maxNrOfRABs,
+ maxNrOfVol,
+ maxnoofMulticastServicesPerUE,
+
+ id-AccuracyFulfilmentIndicator,
+ id-UE-Application-Layer-Measurement-Configuration,
+ id-UE-Application-Layer-Measurement-Configuration-For-Relocation,
+ id-APN,
+ id-AreaIdentity,
+ id-Alt-RAB-Parameters,
+ id-Ass-RAB-Parameters,
+ id-BroadcastAssistanceDataDecipheringKeys,
+ id-LocationRelatedDataRequestType,
+ id-CN-DomainIndicator,
+ id-Cause,
+ id-Cell-Access-Mode,
+ id-ChosenEncryptionAlgorithm,
+ id-ChosenIntegrityProtectionAlgorithm,
+ id-ClassmarkInformation2,
+ id-ClassmarkInformation3,
+ id-ClientType,
+ id-CNMBMSLinkingInformation,
+ id-CriticalityDiagnostics,
+ id-CSG-Id,
+ id-CSG-Id-List,
+ id-CSG-Membership-Status,
+ id-DeltaRAListofIdleModeUEs,
+ id-DRX-CycleLengthCoefficient,
+ id-DirectTransferInformationItem-RANAP-RelocInf,
+ id-DirectTransferInformationList-RANAP-RelocInf,
+ id-DL-GTP-PDU-SequenceNumber,
+ id-EncryptionInformation,
+ id-EncryptionKey,
+ id-ExtendedRNC-ID,
+ id-FrequenceLayerConvergenceFlag,
+ id-GERAN-BSC-Container,
+ id-GERAN-Classmark,
+ id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item,
+ id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse,
+ id-GlobalCN-ID,
+ id-GlobalCN-IDCS,
+ id-GlobalCN-IDPS,
+ id-GlobalRNC-ID,
+ id-IncludeVelocity,
+ id-InformationExchangeID,
+ id-InformationExchangeType,
+ id-InformationRequested,
+ id-InformationRequestType,
+ id-InformationTransferID,
+ id-InformationTransferType,
+ id-IntegrityProtectionInformation,
+ id-IntegrityProtectionKey,
+ id-InterSystemInformationTransferType,
+ id-InterSystemInformation-TransparentContainer,
+ id-IPMulticastAddress,
+ id-IuSigConId,
+ id-OldIuSigConId,
+ id-OldIuSigConIdCS,
+ id-OldIuSigConIdPS,
+ id-IuSigConIdItem,
+ id-IuSigConIdList,
+ id-IuTransportAssociation,
+ id-JoinedMBMSBearerServicesList,
+ id-KeyStatus,
+ id-L3-Information,
+ id-LAI,
+ id-LastKnownServiceArea,
+ id-LeftMBMSBearerServicesList,
+ id-LocationRelatedDataRequestTypeSpecificToGERANIuMode,
+ id-MBMSBearerServiceType,
+ id-MBMSCountingInformation,
+ id-MBMSCNDe-Registration,
+ id-MBMSRegistrationRequestType,
+ id-MBMSSynchronisationInformation,
+ id-MBMSServiceArea,
+ id-MBMSSessionDuration,
+ id-MBMSSessionIdentity,
+ id-MBMSSessionRepetitionNumber,
+ id-MSISDN,
+ id-NAS-PDU,
+ id-NAS-SequenceNumber,
+ id-NewBSS-To-OldBSS-Information,
+ id-NonSearchingIndication,
+ id-NumberOfSteps,
+ id-Offload-RAB-Parameters,
+ id-OMC-ID,
+ id-OldBSS-ToNewBSS-Information,
+ id-PagingAreaID,
+ id-PagingCause,
+ id-PDP-TypeInformation,
+ id-PDP-TypeInformation-extension,
+ id-PermanentNAS-UE-ID,
+ id-PositionData,
+ id-PositionDataSpecificToGERANIuMode,
+ id-PositioningPriority,
+ id-ProvidedData,
+ id-RAB-ContextItem,
+ id-RAB-ContextList,
+ id-RAB-ContextFailedtoTransferItem,
+ id-RAB-ContextFailedtoTransferList,
+ id-RAB-ContextItem-RANAP-RelocInf,
+ id-RAB-ContextList-RANAP-RelocInf,
+ id-RAB-DataForwardingItem,
+ id-RAB-DataForwardingItem-SRNS-CtxReq,
+ id-RAB-DataForwardingList,
+ id-RAB-DataForwardingList-SRNS-CtxReq,
+ id-RAB-DataVolumeReportItem,
+ id-RAB-DataVolumeReportList,
+ id-RAB-DataVolumeReportRequestItem,
+ id-RAB-DataVolumeReportRequestList,
+ id-RAB-FailedItem,
+ id-RAB-FailedList,
+ id-RAB-FailedList-EnhRelocInfoRes,
+ id-RAB-FailedItem-EnhRelocInfoRes,
+ id-RAB-FailedtoReportItem,
+ id-RAB-FailedtoReportList,
+ id-RAB-ID,
+ id-RAB-ModifyList,
+ id-RAB-ModifyItem,
+ id-RAB-Parameters,
+ id-RAB-QueuedItem,
+ id-RAB-QueuedList,
+ id-RAB-ReleaseFailedList,
+ id-RAB-ReleaseItem,
+ id-RAB-ReleasedItem-IuRelComp,
+ id-RAB-ReleaseList,
+ id-RAB-ReleasedItem,
+ id-RAB-ReleasedList,
+ id-RAB-ReleasedList-IuRelComp,
+ id-RAB-RelocationReleaseItem,
+ id-RAB-RelocationReleaseList,
+ id-RAB-SetupItem-RelocReq,
+ id-RAB-SetupItem-RelocReqAck,
+ id-RAB-SetupList-RelocReq,
+ id-RAB-SetupList-RelocReqAck,
+ id-RAB-SetupList-EnhRelocInfoReq,
+ id-RAB-SetupItem-EnhRelocInfoReq,
+ id-RAB-SetupList-EnhRelocInfoRes,
+ id-RAB-SetupItem-EnhRelocInfoRes,
+ id-RAB-SetupList-EnhancedRelocCompleteReq,
+ id-RAB-SetupItem-EnhancedRelocCompleteReq,
+ id-RAB-SetupList-EnhancedRelocCompleteRes,
+ id-RAB-SetupItem-EnhancedRelocCompleteRes,
+ id-RAB-SetupOrModifiedItem,
+ id-RAB-SetupOrModifiedList,
+ id-RAB-SetupOrModifyItem,
+ id-RAB-SetupOrModifyList,
+ id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes,
+ id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes,
+ id-RAC,
+ id-RAListofIdleModeUEs,
+ id-RAT-Type,
+ id-RedirectAttemptFlag,
+ id-RedirectionCompleted,
+ id-RedirectionIndication,
+ id-RejectCauseValue,
+ id-RelocationType,
+ id-Relocation-SourceRNC-ID,
+ id-Relocation-SourceExtendedRNC-ID,
+ id-Relocation-TargetRNC-ID,
+ id-Relocation-TargetExtendedRNC-ID,
+ id-RequestedGANSSAssistanceData,
+ id-RequestType,
+ id-ResponseTime,
+ id-RSRVCC-Operation-Possible,
+ id-SAI,
+ id-SAPI,
+ id-SelectedPLMN-ID,
+ id-SessionUpdateID,
+ id-SNA-Access-Information,
+ id-SourceBSS-ToTargetBSS-TransparentContainer,
+ id-SourceRNC-ID,
+ id-SourceExtendedRNC-ID,
+ id-SourceID,
+ id-Source-ToTarget-TransparentContainer,
+ id-SourceRNC-PDCP-context-info,
+ id-SRVCC-HO-Indication,
+ id-SRVCC-Information,
+ id-SRVCC-Operation-Possible,
+ id-TargetBSS-ToSourceBSS-TransparentContainer,
+ id-TargetID,
+ id-Target-ToSource-TransparentContainer,
+ id-TemporaryUE-ID,
+ id-TimeToMBMSDataTransfer,
+ id-TMGI,
+ id-TracePropagationParameters,
+ id-TraceReference,
+ id-TraceType,
+ id-TransportLayerAddress,
+ id-TransportLayerInformation,
+ id-TriggerID,
+ id-UE-AggregateMaximumBitRate,
+ id-UE-ID,
+ id-UESBI-Iu,
+ id-UL-GTP-PDU-SequenceNumber,
+ id-UnsuccessfulLinkingList,
+ id-VelocityEstimate,
+ id-VerticalAccuracyCode,
+ id-VoiceSupportMatchIndicator,
+ id-PeriodicLocationInfo,
+ id-BroadcastGANSSAssistanceDataDecipheringKeys,
+ id-SubscriberProfileIDforRFP,
+ id-E-UTRAN-Service-Handover,
+ id-IP-Source-Address,
+ id-LGW-TransportLayerAddress,
+ id-Correlation-ID,
+ id-MDT-Configuration,
+ id-RNSAPRelocationParameters,
+ id-RABParametersList,
+ id-Priority-Class-Indicator,
+ id-Management-Based-MDT-Allowed,
+ id-HigherBitratesThan16MbpsFlag,
+ id-Trace-Collection-Entity-IP-Addess,
+ id-End-Of-CSFB,
+ id-Out-Of-UTRAN,
+ id-RSRVCC-HO-Indication,
+ id-RSRVCC-Information,
+ id-AnchorPLMN-ID,
+ id-Management-Based-MDT-PLMN-List,
+ id-Tunnel-Information-for-BBF,
+ id-SIPTO-Correlation-ID,
+ id-SIPTO-LGW-TransportLayerAddress,
+ id-LHN-ID,
+ id-LastE-UTRANPLMNIdentity,
+ id-Session-Re-establishment-Indicator,
+ id-Additional-CSPS-coordination-information,
+ id-UERegistrationQueryResult,
+ id-IuSigConIdRangeEnd,
+ id-SGSN-Group-Identity,
+ id-P-TMSI,
+ id-RANAP-Message,
+ id-PowerSavingIndicator,
+ id-BarometricPressure,
+ id-CivicAddress,
+ id-UE-Usage-Type,
+ id-DCN-ID
+
+FROM RANAP-Constants;
+
+-- **************************************************************
+--
+-- Common Container Lists
+--
+-- **************************************************************
+
+RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
+RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} }
+ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
+IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} }
+DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} }
+
+-- **************************************************************
+--
+-- Iu RELEASE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Iu Release Command
+--
+-- **************************************************************
+
+Iu-ReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} },
+ protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL,
+ ...
+}
+
+Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-End-Of-CSFB CRITICALITY ignore EXTENSION End-Of-CSFB PRESENCE optional }|
+ { ID id-Out-Of-UTRAN CRITICALITY ignore EXTENSION Out-Of-UTRAN PRESENCE optional }|
+ { ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Iu Release Complete
+--
+-- **************************************************************
+
+Iu-ReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} },
+ protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL,
+ ...
+}
+
+Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } |
+ { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RAB-DataVolumeReportList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} }
+
+RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-DataVolumeReportItem CRITICALITY ignore TYPE RAB-DataVolumeReportItem PRESENCE mandatory },
+ ...
+}
+
+RAB-DataVolumeReportItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ dl-UnsuccessfullyTransmittedDataVolume DataVolumeList OPTIONAL
+ -- This IE shall always be present although its presence is optional --,
+ iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-ReleasedList-IuRelComp ::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} }
+
+RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ReleasedItem-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedItem-IuRelComp PRESENCE mandatory },
+ ...
+}
+
+RAB-ReleasedItem-IuRelComp ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
+ uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RELOCATION PREPARATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Required
+--
+-- **************************************************************
+
+RelocationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL,
+...
+}
+
+RelocationRequiredIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RelocationType CRITICALITY reject TYPE RelocationType PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } |
+ { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } |
+ { ID id-ClassmarkInformation2 CRITICALITY reject TYPE ClassmarkInformation2 PRESENCE conditional
+ -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } |
+ { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional
+ -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } |
+ { ID id-Source-ToTarget-TransparentContainer
+ CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE conditional
+ -- This IE shall be present if the Target ID IE contains a RNC-ID IE or eNB-ID -- } |
+ { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE optional } ,
+ ...
+}
+
+RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+ { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional} |
+-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
+ { ID id-SourceBSS-ToTargetBSS-TransparentContainer CRITICALITY ignore EXTENSION SourceBSS-ToTargetBSS-TransparentContainer PRESENCE optional} |
+-- Extension for Release 8 for SRVCC operation --
+ { ID id-SRVCC-HO-Indication CRITICALITY reject EXTENSION SRVCC-HO-Indication PRESENCE optional} |
+-- Extension for Release 9 to communicate to the CN the CSG id of the target cell --
+ { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional} |
+-- Extension for Release 9 to communicate to the CN the hybrid access status of the target cell --
+ { ID id-Cell-Access-Mode CRITICALITY reject EXTENSION Cell-Access-Mode PRESENCE optional} |
+-- Extension for Release 11 for rSRVCC operation --
+ { ID id-RSRVCC-HO-Indication CRITICALITY reject EXTENSION RSRVCC-HO-Indication PRESENCE optional}|
+-- Extension for Release 14 to support QoE function --
+ {ID id-UE-Application-Layer-Measurement-Configuration-For-Relocation CRITICALITY ignore EXTENSION UE-Application-Layer-Measurement-Configuration-For-Relocation PRESENCE optional},
+
+ ...
+}
+
+-- **************************************************************
+--
+-- Relocation Command
+--
+-- **************************************************************
+
+RelocationCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationCommandIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL,
+ ...
+}
+
+RelocationCommandIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Target-ToSource-TransparentContainer
+ CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional } |
+ { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE optional } |
+ { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } |
+ { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RAB-RelocationReleaseList ::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} }
+
+RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-RelocationReleaseItem CRITICALITY ignore TYPE RAB-RelocationReleaseItem PRESENCE mandatory },
+ ...
+}
+
+RAB-RelocationReleaseItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-DataForwardingList ::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} }
+
+RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-DataForwardingItem CRITICALITY ignore TYPE RAB-DataForwardingItem PRESENCE mandatory },
+ ...
+}
+
+RAB-DataForwardingItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ transportLayerAddress TransportLayerAddress,
+ iuTransportAssociation IuTransportAssociation,
+ iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to allow transfer of a second pair of TLA and association --
+ {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} |
+ {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional},
+ ...
+}
+
+RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+ { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional} |
+-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
+ { ID id-TargetBSS-ToSourceBSS-TransparentContainer CRITICALITY ignore EXTENSION TargetBSS-ToSourceBSS-TransparentContainer PRESENCE optional} |
+-- Extension for Release 8 for SRVCC operation --
+ { ID id-SRVCC-Information CRITICALITY reject EXTENSION SRVCC-Information PRESENCE optional} |
+-- Extension for Release 11 for rSRVCC operation --
+ { ID id-RSRVCC-Information CRITICALITY reject EXTENSION RSRVCC-Information PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Relocation Preparation Failure
+--
+-- **************************************************************
+
+RelocationPreparationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL,
+...
+}
+
+RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+ { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Request
+--
+-- **************************************************************
+
+RelocationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL,
+ ...
+}
+
+RelocationRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-Source-ToTarget-TransparentContainer
+ CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } |
+ { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } |
+ { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE optional } |
+ { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
+ { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory },
+ ...
+}
+
+RAB-SetupList-RelocReq ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} }
+
+RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupItem-RelocReq CRITICALITY reject TYPE RAB-SetupItem-RelocReq PRESENCE mandatory },
+ ...
+}
+
+RAB-SetupItem-RelocReq ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL,
+ rAB-Parameters RAB-Parameters,
+ dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
+ -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
+ pDP-TypeInformation PDP-TypeInformation OPTIONAL
+ -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
+ userPlaneInformation UserPlaneInformation,
+ transportLayerAddress TransportLayerAddress,
+ iuTransportAssociation IuTransportAssociation,
+ service-Handover Service-Handover OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
+ { ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional}|
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+ { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional}|
+-- Extension for Release 8 to enable handover restriction to E-UTRAN --
+ { ID id-E-UTRAN-Service-Handover CRITICALITY ignore EXTENSION E-UTRAN-Service-Handover PRESENCE optional}|
+-- Extension for Release 9 to enable a new value --
+ { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional}|
+-- Extension for Release 10 to enable offload at Iu-PS for UTRAN --
+ { ID id-Offload-RAB-Parameters CRITICALITY ignore EXTENSION Offload-RAB-Parameters PRESENCE optional},
+ ...
+}
+
+UserPlaneInformation ::= SEQUENCE {
+ userPlaneMode UserPlaneMode,
+ uP-ModeVersions UP-ModeVersions,
+ iE-Extensions ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+ { ID id-GlobalCN-ID CRITICALITY reject EXTENSION GlobalCN-ID PRESENCE optional}|
+-- Extension for Release 5 to enable shared networks in connected mode --
+ { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional}|
+-- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling --
+ { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional}|
+-- Extension for Release 6 to convey the selected PLMN id in network sharing mobility scenarios --
+ { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}|
+-- Extension for Release 6 to enable MBMS UE linking at relocation --
+ { ID id-CNMBMSLinkingInformation CRITICALITY ignore EXTENSION CNMBMSLinkingInformation PRESENCE optional}|
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}|
+-- Extension for Release 9 to communicate to the target cell the CSG id reported by the source --
+ { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional}|
+-- Extension for Release 9 for enabling UE prioritisation during access to hybrid cells --
+ { ID id-CSG-Membership-Status CRITICALITY ignore EXTENSION CSG-Membership-Status PRESENCE optional}|
+-- Extension for Release 10 to enable offload at Iu-PS for UTRAN --
+ { ID id-MSISDN CRITICALITY ignore EXTENSION MSISDN PRESENCE optional}|
+-- Extension for Release 11 to support rSRVCC in case of network sharing –
+ { ID id-AnchorPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}|
+ { ID id-PowerSavingIndicator CRITICALITY ignore EXTENSION PowerSavingIndicator PRESENCE optional}|
+-- Extension for Release 14 to support QoE function --
+ {ID id-UE-Application-Layer-Measurement-Configuration-For-Relocation CRITICALITY ignore EXTENSION UE-Application-Layer-Measurement-Configuration-For-Relocation PRESENCE optional},
+
+ ...
+}
+
+CNMBMSLinkingInformation ::= SEQUENCE {
+ joinedMBMSBearerService-IEs JoinedMBMSBearerService-IEs,
+ iE-Extensions ProtocolExtensionContainer { {CNMBMSLinkingInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CNMBMSLinkingInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+JoinedMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
+ SEQUENCE {
+ tMGI TMGI,
+ mBMS-PTP-RAB-ID MBMS-PTP-RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {JoinedMBMSBearerService-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+JoinedMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Relocation Request Acknowledge
+--
+-- **************************************************************
+
+RelocationRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL,
+ ...
+}
+
+RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Target-ToSource-TransparentContainer
+ CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } |
+ { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} |
+ { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }|
+ { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE optional } |
+ { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RAB-SetupList-RelocReqAck ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} }
+
+RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupItem-RelocReqAck CRITICALITY reject TYPE RAB-SetupItem-RelocReqAck PRESENCE mandatory },
+ ...
+}
+
+RAB-SetupItem-RelocReqAck ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iuTransportAssociation IuTransportAssociation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
+ {ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional } |
+-- Extension for Release 5 to allow transfer of a second pair of TLA and association --
+ {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} |
+ {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional},
+ ...
+}
+
+RAB-FailedList ::= RAB-IE-ContainerList { {RAB-FailedItemIEs} }
+
+RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-FailedItem CRITICALITY ignore TYPE RAB-FailedItem PRESENCE mandatory },
+ ...
+}
+
+RAB-FailedItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+ {ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional }|
+ {ID id-CSG-Id CRITICALITY ignore EXTENSION CSG-Id PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Relocation Failure
+--
+-- **************************************************************
+
+RelocationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL,
+ ...
+}
+
+RelocationFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+ { ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional } |
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+ { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RELOCATION CANCEL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Cancel
+--
+-- **************************************************************
+
+RelocationCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationCancelIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL,
+ ...
+}
+
+RelocationCancelIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Relocation Cancel Acknowledge
+--
+-- **************************************************************
+
+RelocationCancelAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL,
+ ...
+}
+
+RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SRNS CONTEXT TRANSFER OPEARATION
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- SRNS Context Request
+--
+-- **************************************************************
+
+SRNS-ContextRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL,
+ ...
+}
+
+SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-DataForwardingList-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingList-SRNS-CtxReq PRESENCE mandatory },
+ ...
+}
+
+RAB-DataForwardingList-SRNS-CtxReq ::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} }
+
+RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-DataForwardingItem-SRNS-CtxReq CRITICALITY reject TYPE RAB-DataForwardingItem-SRNS-CtxReq PRESENCE mandatory },
+ ...
+}
+
+RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- The SGSN may include the IE, when available to indicate the RAT from which the context request originates, to correct measurement points in SRNC. --
+ {ID id-RAT-Type CRITICALITY ignore EXTENSION RAT-Type PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- SRNS Context Response
+--
+-- **************************************************************
+
+SRNS-ContextResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL,
+ ...
+}
+
+SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE optional } |
+ { ID id-RAB-ContextFailedtoTransferList CRITICALITY ignore TYPE RAB-ContextFailedtoTransferList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RAB-ContextList ::= RAB-IE-ContainerList { {RAB-ContextItemIEs} }
+
+RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ContextItem CRITICALITY ignore TYPE RAB-ContextItem PRESENCE mandatory },
+ ...
+}
+
+RAB-ContextItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
+ ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
+ dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL,
+ ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-ContextFailedtoTransferList ::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} }
+
+RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ContextFailedtoTransferItem CRITICALITY ignore TYPE RABs-ContextFailedtoTransferItem PRESENCE mandatory },
+ ...
+}
+
+RABs-ContextFailedtoTransferItem::= SEQUENCE {
+ rAB-ID RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SECURITY MODE CONTROL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Security Mode Command
+--
+-- **************************************************************
+
+SecurityModeCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} },
+ protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL,
+ ...
+}
+
+SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-IntegrityProtectionInformation CRITICALITY reject TYPE IntegrityProtectionInformation PRESENCE mandatory } |
+ { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
+ { ID id-KeyStatus CRITICALITY reject TYPE KeyStatus PRESENCE mandatory},
+ ...
+}
+
+SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Security Mode Complete
+--
+-- **************************************************************
+
+SecurityModeComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} },
+ protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL,
+ ...
+}
+
+SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY reject TYPE ChosenIntegrityProtectionAlgorithm PRESENCE mandatory } |
+ { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Security Mode Reject
+--
+-- **************************************************************
+
+SecurityModeReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} },
+ protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL,
+ ...
+}
+
+SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DATA VOLUME REPORT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Data Volume Report Request
+--
+-- **************************************************************
+
+DataVolumeReportRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL,
+ ...
+}
+
+DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-DataVolumeReportRequestList CRITICALITY ignore TYPE RAB-DataVolumeReportRequestList PRESENCE mandatory },
+ ...
+}
+
+RAB-DataVolumeReportRequestList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} }
+
+RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-DataVolumeReportRequestItem CRITICALITY reject TYPE RAB-DataVolumeReportRequestItem PRESENCE mandatory },
+ ...
+}
+
+RAB-DataVolumeReportRequestItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Data Volume Report
+--
+-- **************************************************************
+
+DataVolumeReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} },
+ protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL,
+ ...
+}
+
+DataVolumeReportIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } |
+ { ID id-RAB-FailedtoReportList CRITICALITY ignore TYPE RAB-FailedtoReportList PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-FailedtoReportList ::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} }
+
+RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-FailedtoReportItem CRITICALITY ignore TYPE RABs-failed-to-reportItem PRESENCE mandatory },
+ ...
+}
+
+RABs-failed-to-reportItem::= SEQUENCE {
+ rAB-ID RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RESET ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Reset
+--
+-- **************************************************************
+
+Reset ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL,
+ ...
+}
+
+ResetIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
+ ...
+}
+
+ResetExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+ { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Reset Acknowledge
+--
+-- **************************************************************
+
+ResetAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL,
+ ...
+}
+
+ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
+ ...
+}
+
+ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+ { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- RESET RESOURCE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- Reset Resource
+--
+-- **************************************************************
+
+ResetResource ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetResourceIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL,
+ ...
+}
+
+ResetResourceIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceList PRESENCE mandatory } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
+ ...
+}
+
+ResetResourceList ::= IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} }
+
+ResetResourceItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceItem PRESENCE mandatory },
+ ...
+}
+
+ResetResourceItem ::= SEQUENCE {
+ iuSigConId IuSignallingConnectionIdentifier,
+ iE-Extensions ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IuSigConIdRangeEnd CRITICALITY reject EXTENSION IuSignallingConnectionIdentifier PRESENCE optional},
+ ...
+}
+
+ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+ { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Reset Resource Acknowledge
+--
+-- **************************************************************
+
+ResetResourceAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL,
+ ...
+}
+
+ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceAckList PRESENCE mandatory } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+ResetResourceAckList ::= IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} }
+
+ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceAckItem PRESENCE mandatory },
+ ...
+}
+
+ResetResourceAckItem ::= SEQUENCE {
+ iuSigConId IuSignallingConnectionIdentifier,
+ iE-Extensions ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IuSigConIdRangeEnd CRITICALITY ignore EXTENSION IuSignallingConnectionIdentifier PRESENCE optional},
+ ...
+}
+
+ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+ { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RAB RELEASE REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RAB Release Request
+--
+-- **************************************************************
+
+RAB-ReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL,
+ ...
+}
+
+RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE mandatory },
+ ...
+}
+
+RAB-ReleaseList ::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} }
+
+RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ReleaseItem CRITICALITY ignore TYPE RAB-ReleaseItem PRESENCE mandatory },
+ ...
+}
+
+RAB-ReleaseItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Iu RELEASE REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Iu Release Request
+--
+-- **************************************************************
+
+Iu-ReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL,
+ ...
+}
+
+Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RELOCATION DETECT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Detect
+--
+-- **************************************************************
+
+RelocationDetect ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationDetectIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL,
+ ...
+}
+
+RelocationDetectIEs RANAP-PROTOCOL-IES ::= {
+ ...
+}
+
+RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RELOCATION COMPLETE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Complete
+--
+-- **************************************************************
+
+RelocationComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL,
+ ...
+}
+
+RelocationCompleteIEs RANAP-PROTOCOL-IES ::= {
+ ...
+}
+
+RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates --
+ { ID id-HigherBitratesThan16MbpsFlag CRITICALITY ignore EXTENSION HigherBitratesThan16MbpsFlag PRESENCE optional}|
+-- Extension for Release 11 to support BBAI --
+ { ID id-Tunnel-Information-for-BBF CRITICALITY ignore EXTENSION TunnelInformation PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN Stand-Alone --
+ { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION COMPLETE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Enhanced Relocation Complete Request
+--
+-- **************************************************************
+
+EnhancedRelocationCompleteRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteRequestExtensions} } OPTIONAL,
+ ...
+}
+
+EnhancedRelocationCompleteRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-OldIuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
+ { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
+ { ID id-Relocation-SourceRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } |
+ { ID id-Relocation-SourceExtendedRNC-ID CRITICALITY ignore TYPE ExtendedRNC-ID PRESENCE optional } |
+ { ID id-Relocation-TargetRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory } |
+ { ID id-Relocation-TargetExtendedRNC-ID CRITICALITY reject TYPE ExtendedRNC-ID PRESENCE optional } |
+ { ID id-RAB-SetupList-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupList-EnhancedRelocCompleteReq PRESENCE optional },
+ ...
+}
+
+RAB-SetupList-EnhancedRelocCompleteReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhancedRelocCompleteReq-IEs} }
+
+RAB-SetupItem-EnhancedRelocCompleteReq-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupItem-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteReq PRESENCE mandatory },
+ ...
+}
+
+RAB-SetupItem-EnhancedRelocCompleteReq ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ transportLayerAddressReq1 TransportLayerAddress OPTIONAL,
+ iuTransportAssociationReq1 IuTransportAssociation OPTIONAL,
+ ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EnhancedRelocationCompleteRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore EXTENSION ChosenIntegrityProtectionAlgorithm PRESENCE optional}|
+ { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore EXTENSION ChosenEncryptionAlgorithm PRESENCE optional}|
+-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates --
+ { ID id-HigherBitratesThan16MbpsFlag CRITICALITY ignore EXTENSION HigherBitratesThan16MbpsFlag PRESENCE optional}|
+-- Extensions for Release 11 to enable enhanced relocation from RNC to hybrid cell –
+ { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional}|
+ { ID id-Cell-Access-Mode CRITICALITY reject EXTENSION Cell-Access-Mode PRESENCE optional}|
+-- Extension for Release 11 to support BBAI --
+ { ID id-Tunnel-Information-for-BBF CRITICALITY ignore EXTENSION TunnelInformation PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN Stand-Alone --
+ { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Enhanced Relocation Complete Response
+--
+-- **************************************************************
+
+EnhancedRelocationCompleteResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteResponseExtensions} } OPTIONAL,
+ ...
+}
+
+EnhancedRelocationCompleteResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-SetupList-EnhancedRelocCompleteRes PRESENCE optional} |
+ { ID id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedList-EnhancedRelocCompleteRes PRESENCE optional} |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RAB-SetupList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-SetupItem-EnhancedRelocCompleteRes-IEs} }
+
+RAB-SetupItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupItem-EnhancedRelocCompleteRes CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteRes PRESENCE mandatory },
+ ...
+}
+
+RAB-SetupItem-EnhancedRelocCompleteRes ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ rAB-Parameters RAB-Parameters OPTIONAL,
+ userPlaneInformation UserPlaneInformation,
+ transportLayerAddressRes1 TransportLayerAddress OPTIONAL,
+ iuTransportAssociationRes1 IuTransportAssociation OPTIONAL,
+ rab2beReleasedList RAB-ToBeReleasedList-EnhancedRelocCompleteRes OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ -- Extension for Release 10 to enable Offload at Iu-ps for UTRAN --
+ { ID id-Offload-RAB-Parameters CRITICALITY ignore EXTENSION Offload-RAB-Parameters PRESENCE optional},
+ ...
+}
+
+RAB-ToBeReleasedList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs} }
+
+RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedItem-EnhancedRelocCompleteRes PRESENCE mandatory },
+ ...
+}
+
+RAB-ToBeReleasedItem-EnhancedRelocCompleteRes ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EnhancedRelocationCompleteResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}|
+-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN --
+ { ID id-MSISDN CRITICALITY ignore EXTENSION MSISDN PRESENCE optional}|
+-- Extension for Release 11 to enable ehnahced relocation from RNC to hybrid cell –
+ { ID id-CSG-Membership-Status CRITICALITY ignore EXTENSION CSG-Membership-Status PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Enhanced Relocation Complete Failure
+--
+-- **************************************************************
+
+EnhancedRelocationCompleteFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteFailureExtensions} } OPTIONAL,
+ ...
+}
+
+EnhancedRelocationCompleteFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+EnhancedRelocationCompleteFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Enhanced Relocation Complete Confirm
+--
+-- **************************************************************
+
+EnhancedRelocationCompleteConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteConfirmIEs} },
+ protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteConfirmExtensions} } OPTIONAL,
+ ...
+}
+
+EnhancedRelocationCompleteConfirmIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional },
+ ...
+}
+
+EnhancedRelocationCompleteConfirmExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PAGING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Paging
+--
+-- **************************************************************
+
+Paging ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PagingIEs} },
+ protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL,
+ ...
+}
+
+PagingIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } |
+ { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } |
+ { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } |
+ { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } |
+ { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } |
+ { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE optional } ,
+ ...
+}
+
+PagingExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable NNSF --
+ { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional } |
+-- Extension for Release 8 to support CSG --
+ { ID id-CSG-Id-List CRITICALITY ignore EXTENSION CSG-Id-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON ID ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Common ID
+--
+-- **************************************************************
+
+CommonID ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {CommonID-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL,
+ ...
+}
+
+CommonID-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory },
+ ...
+}
+
+CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable shared networks in connected mode --
+ { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional }|
+-- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling --
+ { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional }|
+-- Extension for Release 6 to indicate the selected plmn in GWCN configuration for network sharing non-supporting UEs --
+ { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }|
+-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority --
+ {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional }|
+-- Extension for Release 8 for SRVCC operation --
+ { ID id-SRVCC-Operation-Possible CRITICALITY ignore EXTENSION SRVCC-Operation-Possible PRESENCE optional }|
+-- Extension for Release 9 to allow for UE prioritisation during access to hybrid cells --
+ { ID id-CSG-Membership-Status CRITICALITY ignore EXTENSION CSG-Membership-Status PRESENCE optional }|
+-- Extension for Release 10 to indicate Management Based MDT Allowed --
+ { ID id-Management-Based-MDT-Allowed CRITICALITY ignore EXTENSION Management-Based-MDT-Allowed PRESENCE optional }|
+-- Extension for Release 11 to indicate MDT PLMN List --
+ { ID id-Management-Based-MDT-PLMN-List CRITICALITY ignore EXTENSION MDT-PLMN-List PRESENCE optional }|
+-- Extension for Release 11 rSRVCC operation --
+ { ID id-RSRVCC-Operation-Possible CRITICALITY ignore EXTENSION RSRVCC-Operation-Possible PRESENCE optional }|
+-- Extension for Release 11 to inidcate the last E-UTRAN PLMN Identity --
+ { ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }|
+ { ID id-PowerSavingIndicator CRITICALITY ignore EXTENSION PowerSavingIndicator PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CN INVOKE TRACE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- CN Invoke Trace
+--
+-- **************************************************************
+
+CN-InvokeTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} },
+ protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL,
+ ...
+}
+
+CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE optional } |
+ -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
+ { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
+ { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } |
+ -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
+ { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } |
+ -- This information is mandatory for UTRAN, optional for GERAN Iu mode --
+ { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional },
+ -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
+ ...
+}
+
+CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable signalling based activation for Subscriber and Equipment Trace over Iu interface --
+ { ID id-TracePropagationParameters CRITICALITY ignore EXTENSION TracePropagationParameters PRESENCE optional}|
+-- Extension for Release 10 to support MDT--
+ { ID id-MDT-Configuration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional}|
+-- Extension for Release 10 to support MDT--
+ { ID id-Trace-Collection-Entity-IP-Addess CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+-- Extension for Release 14 to support QoE function --
+ {ID id-UE-Application-Layer-Measurement-Configuration CRITICALITY ignore EXTENSION UE-Application-Layer-Measurement-Configuration PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- CN Deactivate Trace
+--
+-- **************************************************************
+
+CN-DeactivateTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} },
+ protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL,
+ ...
+}
+
+CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
+ { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional },
+ -- This information is optional for GERAN Iu Mode, not applicable to UTRAN --
+ ...
+}
+
+CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Location Reporting Control
+--
+-- **************************************************************
+
+LocationReportingControl ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} },
+ protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL,
+ ...
+}
+
+LocationReportingControlIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory },
+ ...
+}
+
+LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enhance the location request over Iu --
+ { ID id-VerticalAccuracyCode CRITICALITY ignore EXTENSION VerticalAccuracyCode PRESENCE optional } |
+-- Extension for Release 4 to enhance the location request over Iu --
+ { ID id-ResponseTime CRITICALITY ignore EXTENSION ResponseTime PRESENCE optional } |
+-- Extension for Release 4 to enhance the location request over Iu --
+ { ID id-PositioningPriority CRITICALITY ignore EXTENSION PositioningPriority PRESENCE optional } |
+-- Extension for Release 4 to enhance the location request over Iu --
+ { ID id-ClientType CRITICALITY ignore EXTENSION ClientType PRESENCE optional } |
+-- Extension for Release 7 to allow the request of velocity over Iu --
+ { ID id-IncludeVelocity CRITICALITY ignore EXTENSION IncludeVelocity PRESENCE optional } |
+-- Extension for Release 7 to allow periodic reporting over Iu --
+ { ID id-PeriodicLocationInfo CRITICALITY ignore EXTENSION PeriodicLocationInfo PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- LOCATION REPORT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Location Report
+--
+-- **************************************************************
+
+LocationReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {LocationReportIEs} },
+ protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL,
+ ...
+}
+
+LocationReportIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional } ,
+ ...
+}
+
+LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable report of Last Known Service Area with its Age over Iu --
+ { ID id-LastKnownServiceArea CRITICALITY ignore EXTENSION LastKnownServiceArea PRESENCE optional} |
+-- Extension for Release 5 to pass the positioning methods that have been used --
+ { ID id-PositionData CRITICALITY ignore EXTENSION PositionData PRESENCE optional}|
+-- Extension for Release 5 to pass the positioning methods that have been used for GERAN Iu mode --
+ { ID id-PositionDataSpecificToGERANIuMode CRITICALITY ignore EXTENSION PositionDataSpecificToGERANIuMode PRESENCE optional}|
+ -- This extension is optional for GERAN Iu mode only, not applicable for UTRAN --
+-- Extension for Release 6 to indicate whether the returned position estimate satisfies the requested accuracy or not --
+ { ID id-AccuracyFulfilmentIndicator CRITICALITY ignore EXTENSION AccuracyFulfilmentIndicator PRESENCE optional}|
+-- Extension for Release 7 to provide a velocity estimate --
+ { ID id-VelocityEstimate CRITICALITY ignore EXTENSION VelocityEstimate PRESENCE optional}|
+-- Extension for Release 13 to provide a barometric pressure --
+ { ID id-BarometricPressure CRITICALITY ignore EXTENSION BarometricPressure PRESENCE optional}|
+-- Extension for Release 13 to provide a civic address --
+ { ID id-CivicAddress CRITICALITY ignore EXTENSION CivicAddress PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- INITIAL UE MESSAGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Initial UE Message
+--
+-- **************************************************************
+
+InitialUE-Message ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} },
+ protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL,
+ ...
+}
+
+InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } |
+ { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional
+ -- This IE shall be present if the CN Domain Indicator IE is set to "PS domain" -- } |
+ { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } |
+ { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
+ { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
+ ...
+}
+
+InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+ { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional}|
+-- Extension for Release 6 to convey the selected PLMN id in shared networks --
+ { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}|
+-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
+ { ID id-PermanentNAS-UE-ID CRITICALITY ignore EXTENSION PermanentNAS-UE-ID PRESENCE optional}|
+-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
+ { ID id-NAS-SequenceNumber CRITICALITY ignore EXTENSION NAS-SequenceNumber PRESENCE optional}|
+-- Extension for Release 6 to indicate rerouting in MOCN configuration for network sharing non-supporting UEs --
+ { ID id-RedirectAttemptFlag CRITICALITY ignore EXTENSION RedirectAttemptFlag PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional}|
+-- Extension for Release 8 to support CSG --
+ { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional}|
+-- Extension for Release 9 to allow communication of the cell access mode --
+ { ID id-Cell-Access-Mode CRITICALITY reject EXTENSION Cell-Access-Mode PRESENCE optional}|
+-- Extension for Release 10 to support LIPA --
+ { ID id-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates --
+ { ID id-HigherBitratesThan16MbpsFlag CRITICALITY ignore EXTENSION HigherBitratesThan16MbpsFlag PRESENCE optional}|
+-- Extension for Release 11 to support BBAI --
+ { ID id-Tunnel-Information-for-BBF CRITICALITY ignore EXTENSION TunnelInformation PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN with collocated L-GW--
+ { ID id-SIPTO-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN Stand-Alone --
+ { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional}|
+-- Extension for Release 13 to support DCN --
+ { ID id-SGSN-Group-Identity CRITICALITY ignore EXTENSION SGSN-Group-Identity PRESENCE optional}|
+ { ID id-UE-Usage-Type CRITICALITY ignore EXTENSION UE-Usage-Type PRESENCE optional}|
+ { ID id-DCN-ID CRITICALITY ignore EXTENSION DCN-ID PRESENCE optional},
+
+ ...
+}
+
+-- **************************************************************
+--
+-- DIRECT TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Direct Transfer
+--
+-- **************************************************************
+
+DirectTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DirectTransferIEs} },
+ protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL,
+ ...
+}
+
+DirectTransferIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory}|
+ { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE optional}|
+ { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE optional}|
+ { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE optional}|
+ { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE optional},
+ ...
+}
+
+DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
+ { ID id-RedirectionIndication CRITICALITY ignore EXTENSION RedirectionIndication PRESENCE optional}|
+-- Extension for Release 6 to indicate the MOCN rerouting is completed --
+ { ID id-RedirectionCompleted CRITICALITY ignore EXTENSION RedirectionCompleted PRESENCE optional}|
+-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority --
+ { ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}|
+-- Extension for Release 10 to support LIPA --
+ { ID id-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN with collocated L-GW --
+ { ID id-SIPTO-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN Stand-Alone --
+ { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional},
+ ...
+}
+
+RedirectionIndication ::= ProtocolIE-Container { {RedirectionIndication-IEs} }
+
+RedirectionIndication-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory}|
+ { ID id-RejectCauseValue CRITICALITY ignore TYPE RejectCauseValue PRESENCE mandatory}|
+ { ID id-NAS-SequenceNumber CRITICALITY ignore TYPE NAS-SequenceNumber PRESENCE optional}|
+ { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional}|
+ { ID id-Additional-CSPS-coordination-information CRITICALITY reject TYPE Additional-CSPS-coordination-information PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- OVERLOAD CONTROL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Overload
+--
+-- **************************************************************
+
+Overload ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {OverloadIEs} },
+ protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL,
+ ...
+}
+
+OverloadIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-NumberOfSteps CRITICALITY ignore TYPE NumberOfSteps PRESENCE optional } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
+ ...
+}
+
+OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 99 to enable the indication to the RNC which CN domain is suffering the signalling traffic overload --
+ { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional} |
+-- Extension for Release 5 to enable NNSF --
+ { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional} |
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional} |
+-- Extension for Release 10 to support Low Priority overload --
+ { ID id-Priority-Class-Indicator CRITICALITY ignore EXTENSION Priority-Class-Indicator PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Error Indication
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL,
+ ...
+}
+
+ErrorIndicationIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
+ { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
+ ...
+}
+
+ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+ { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- SRNS DATA FORWARD ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- SRNS Data Forward Command
+--
+-- **************************************************************
+
+SRNS-DataForwardCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} },
+ protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL,
+ ...
+}
+
+SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional },
+ ...
+}
+
+SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Forward SRNS Context
+--
+-- **************************************************************
+
+ForwardSRNS-Context ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL,
+ ...
+}
+
+ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE mandatory },
+ ...
+}
+
+ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable relocation of Source RNC PDCP context info --
+ { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RAB ASSIGNMENT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RAB Assignment Request
+--
+-- **************************************************************
+
+RAB-AssignmentRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL,
+ ...
+}
+
+RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupOrModifyList CRITICALITY ignore TYPE RAB-SetupOrModifyList PRESENCE optional } |
+ { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE optional },
+ ...
+}
+
+RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} }
+
+RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= {
+ { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst
+ SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond
+ PRESENCE mandatory },
+ ...
+}
+
+RAB-SetupOrModifyItemFirst ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL,
+ rAB-Parameters RAB-Parameters OPTIONAL,
+ userPlaneInformation UserPlaneInformation OPTIONAL,
+ transportLayerInformation TransportLayerInformation OPTIONAL,
+ service-Handover Service-Handover OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransportLayerInformation ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ iuTransportAssociation IuTransportAssociation,
+ iE-Extensions ProtocolExtensionContainer { {TransportLayerInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransportLayerInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 8 to enable handover restriction to E-UTRAN --
+ { ID id-E-UTRAN-Service-Handover CRITICALITY ignore EXTENSION E-UTRAN-Service-Handover PRESENCE optional}|
+-- Extension for Release 10 to support LIPA --
+ { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN with collocated L-GW --
+ { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional},
+ ...
+}
+
+RAB-SetupOrModifyItemSecond ::= SEQUENCE {
+ pDP-TypeInformation PDP-TypeInformation OPTIONAL,
+ dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL,
+ dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
+ ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
+ dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL,
+ ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
+ { ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional}|
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+ { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional}|
+-- Extension for Release Release 9 to enable a new value --
+ { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional}|
+-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN --
+ { ID id-Offload-RAB-Parameters CRITICALITY ignore EXTENSION Offload-RAB-Parameters PRESENCE optional},
+ ...
+}
+
+RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}|
+-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN --
+ { ID id-MSISDN CRITICALITY ignore EXTENSION MSISDN PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RAB Assignment Response
+--
+-- **************************************************************
+
+RAB-AssignmentResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL,
+ ...
+}
+
+RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupOrModifiedList CRITICALITY ignore TYPE RAB-SetupOrModifiedList PRESENCE optional } |
+ { ID id-RAB-ReleasedList CRITICALITY ignore TYPE RAB-ReleasedList PRESENCE optional } |
+
+ { ID id-RAB-QueuedList CRITICALITY ignore TYPE RAB-QueuedList PRESENCE optional } |
+ { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional } |
+ { ID id-RAB-ReleaseFailedList CRITICALITY ignore TYPE RAB-ReleaseFailedList PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RAB-SetupOrModifiedList ::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} }
+
+RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupOrModifiedItem CRITICALITY ignore TYPE RAB-SetupOrModifiedItem PRESENCE mandatory },
+ ...
+}
+
+RAB-SetupOrModifiedItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iuTransportAssociation IuTransportAssociation OPTIONAL,
+ dl-dataVolumes DataVolumeList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
+ { ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional },
+ ...
+}
+
+RAB-ReleasedList ::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} }
+
+RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ReleasedItem CRITICALITY ignore TYPE RAB-ReleasedItem PRESENCE mandatory },
+ ...
+}
+
+RAB-ReleasedItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ dl-dataVolumes DataVolumeList OPTIONAL,
+ dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
+ uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF
+ SEQUENCE {
+ dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume,
+ dataVolumeReference DataVolumeReference OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DataVolumeList-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-QueuedList ::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} }
+
+RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-QueuedItem CRITICALITY ignore TYPE RAB-QueuedItem PRESENCE mandatory },
+ ...
+}
+
+RAB-QueuedItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-ReleaseFailedList ::= RAB-FailedList
+
+RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+ { ID id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse CRITICALITY ignore EXTENSION GERAN-Iumode-RAB-FailedList-RABAssgntResponse PRESENCE optional} ,
+ ...
+}
+
+GERAN-Iumode-RAB-FailedList-RABAssgntResponse ::= RAB-IE-ContainerList { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs} }
+
+GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item CRITICALITY ignore TYPE GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item PRESENCE mandatory },
+ ...
+}
+
+GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ cause Cause,
+ gERAN-Classmark GERAN-Classmark OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container { {PrivateMessage-IEs } },
+ ...
+}
+
+PrivateMessage-IEs RANAP-PRIVATE-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+RANAP-RelocationInformation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL,
+ ...
+}
+
+RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-DirectTransferInformationList-RANAP-RelocInf
+ CRITICALITY ignore TYPE DirectTransferInformationList-RANAP-RelocInf
+ PRESENCE optional } |
+ { ID id-RAB-ContextList-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextList-RANAP-RelocInf PRESENCE optional },
+ ...
+}
+
+DirectTransferInformationList-RANAP-RelocInf ::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} }
+
+DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
+ { ID id-DirectTransferInformationItem-RANAP-RelocInf
+ CRITICALITY ignore TYPE DirectTransferInformationItem-RANAP-RelocInf
+ PRESENCE mandatory },
+ ...
+}
+
+DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE {
+ nAS-PDU NAS-PDU,
+ sAPI SAPI,
+ cN-DomainIndicator CN-DomainIndicator,
+ iE-Extensions ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
+ ...
+}
+
+RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-ContextList-RANAP-RelocInf ::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} }
+
+RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ContextItem-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextItem-RANAP-RelocInf PRESENCE mandatory },
+ ...
+}
+
+RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
+ ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
+ dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL,
+ ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
+ ...
+}
+
+RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable relocation of Source RNC PDCP context info --
+ { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional} |
+-- Extension for Release 10 to enable RNSAP Relocation --
+ { ID id-RNSAPRelocationParameters CRITICALITY reject EXTENSION RNSAPRelocationParameters PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RANAP ENHANCED RELOCATION INFORMATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RANAP Enhanced Relocation Information Request
+--
+-- **************************************************************
+
+RANAP-EnhancedRelocationInformationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationRequestExtensions} } OPTIONAL,
+ ...
+}
+
+RANAP-EnhancedRelocationInformationRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Source-ToTarget-TransparentContainer
+ CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } |
+ { ID id-OldIuSigConIdCS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } |
+ { ID id-GlobalCN-IDCS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} |
+ { ID id-OldIuSigConIdPS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } |
+ { ID id-GlobalCN-IDPS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} |
+ { ID id-RAB-SetupList-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupList-EnhRelocInfoReq PRESENCE optional } |
+ { ID id-SNA-Access-Information CRITICALITY ignore TYPE SNA-Access-Information PRESENCE optional} |
+ { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional}|
+ { ID id-SelectedPLMN-ID CRITICALITY ignore TYPE PLMNidentity PRESENCE optional }|
+ { ID id-CNMBMSLinkingInformation CRITICALITY ignore TYPE CNMBMSLinkingInformation PRESENCE optional},
+ ...
+}
+
+RAB-SetupList-EnhRelocInfoReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoReq-IEs} }
+
+RAB-SetupItem-EnhRelocInfoReq-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupItem-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoReq PRESENCE mandatory },
+ ...
+}
+
+RAB-SetupItem-EnhRelocInfoReq ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ cN-DomainIndicator CN-DomainIndicator,
+ rAB-Parameters RAB-Parameters,
+ dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
+ -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
+ pDP-TypeInformation PDP-TypeInformation OPTIONAL
+ -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
+ userPlaneInformation UserPlaneInformation,
+ dataForwardingInformation TNLInformationEnhRelInfoReq OPTIONAL,
+ sourceSideIuULTNLInfo TNLInformationEnhRelInfoReq OPTIONAL,
+
+ service-Handover Service-Handover OPTIONAL,
+ alt-RAB-Parameters Alt-RAB-Parameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-SetupItem-EnhRelocInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 8 to enable handover restriction to E-UTRAN --
+ { ID id-E-UTRAN-Service-Handover CRITICALITY ignore EXTENSION E-UTRAN-Service-Handover PRESENCE optional }|
+-- Extension for Release Release 9 to enable a new value --
+ { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional },
+ ...
+}
+
+TNLInformationEnhRelInfoReq ::=SEQUENCE{
+ transportLayerAddress TransportLayerAddress,
+ iuTransportAssociation IuTransportAssociation,
+ iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNLInformationEnhRelInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RANAP-EnhancedRelocationInformationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IntegrityProtectionInformation CRITICALITY ignore EXTENSION IntegrityProtectionInformation PRESENCE optional} |
+ { ID id-EncryptionInformation CRITICALITY ignore EXTENSION EncryptionInformation PRESENCE optional} |
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional} |
+-- Extension for Release 10 to enable RNSAP Relocation --
+ { ID id-RABParametersList CRITICALITY reject EXTENSION RABParametersList PRESENCE optional} |
+ { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional} |
+ { ID id-CSG-Membership-Status CRITICALITY reject EXTENSION CSG-Membership-Status PRESENCE optional} |
+-- Extension for Release 11 to support rSRVCC in case of network sharing –
+ { ID id-AnchorPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RANAP Enhanced Relocation Information Response
+--
+-- **************************************************************
+
+RANAP-EnhancedRelocationInformationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationResponseExtensions} } OPTIONAL,
+ ...
+}
+
+RANAP-EnhancedRelocationInformationResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Target-ToSource-TransparentContainer
+ CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } |
+ { ID id-RAB-SetupList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-SetupList-EnhRelocInfoRes PRESENCE optional} |
+ { ID id-RAB-FailedList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-FailedList-EnhRelocInfoRes PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RAB-SetupList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoRes-IEs} }
+
+RAB-SetupItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-SetupItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoRes PRESENCE mandatory },
+ ...
+}
+
+RAB-SetupItem-EnhRelocInfoRes ::= SEQUENCE {
+ cN-DomainIndicator CN-DomainIndicator,
+ rAB-ID RAB-ID,
+ dataForwardingInformation TNLInformationEnhRelInfoRes OPTIONAL,
+ ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-SetupItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-FailedList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-FailedItem-EnhRelocInfoRes-IEs} }
+
+RAB-FailedItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-FailedItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-FailedItem-EnhRelocInfoRes PRESENCE mandatory },
+ ...
+}
+
+RAB-FailedItem-EnhRelocInfoRes ::= SEQUENCE {
+ cN-DomainIndicator CN-DomainIndicator,
+ rAB-ID RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { RAB-FailedItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-FailedItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+TNLInformationEnhRelInfoRes ::=SEQUENCE{
+ dl-forwardingTransportLayerAddress TransportLayerAddress,
+ dl-forwardingTransportAssociation IuTransportAssociation,
+ iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNLInformationEnhRelInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RANAP-EnhancedRelocationInformationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- RAB MODIFICATION REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RAB Modify Request
+--
+-- **************************************************************
+
+RAB-ModifyRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RAB-ModifyRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RAB-ModifyRequestExtensions} } OPTIONAL,
+ ...
+}
+
+RAB-ModifyRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ModifyList CRITICALITY ignore TYPE RAB-ModifyList PRESENCE mandatory},
+ ...
+}
+
+RAB-ModifyList ::= RAB-IE-ContainerList { {RAB-ModifyItemIEs} }
+
+RAB-ModifyItemIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RAB-ModifyItem CRITICALITY ignore TYPE RAB-ModifyItem PRESENCE mandatory },
+ ...
+}
+
+RAB-ModifyItem ::= SEQUENCE {
+ rAB-ID RAB-ID,
+ requested-RAB-Parameter-Values Requested-RAB-Parameter-Values,
+ iE-Extensions ProtocolExtensionContainer { {RAB-ModifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAB-ModifyItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAB-ModifyRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- LOCATION RELATED DATA ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Location Related Data Request
+--
+-- **************************************************************
+
+LocationRelatedDataRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {LocationRelatedDataRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {LocationRelatedDataRequestExtensions} } OPTIONAL,
+ ...
+}
+
+LocationRelatedDataRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-LocationRelatedDataRequestType CRITICALITY reject TYPE LocationRelatedDataRequestType PRESENCE optional },
+ -- This IE is mandatory for UTRAN, optional for GERAN Iu Mode –-
+ ...
+}
+
+LocationRelatedDataRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable LCS support for GERAN Iu mode --
+ { ID id-LocationRelatedDataRequestTypeSpecificToGERANIuMode CRITICALITY reject EXTENSION LocationRelatedDataRequestTypeSpecificToGERANIuMode PRESENCE optional }|
+ -- The previous extension is optional for GERAN Iu Mode only, not applicable for UTRAN --
+ -- Extension for Release 7 to request GANSS Assistance Data. This IE shall be present if the Requested Location Related Data Type IE is set to
+ -- ‘Dedicated Assistance Data for Assisted GANSS’ or `Dedicated Assistance Data for Assisted GPS and GANSS’--
+ { ID id-RequestedGANSSAssistanceData CRITICALITY reject EXTENSION RequestedGANSSAssistanceData PRESENCE conditional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Location Related Data Response
+--
+-- **************************************************************
+
+LocationRelatedDataResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { LocationRelatedDataResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataResponseExtensions} } OPTIONAL,
+ ...
+}
+
+LocationRelatedDataResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-BroadcastAssistanceDataDecipheringKeys CRITICALITY ignore TYPE BroadcastAssistanceDataDecipheringKeys PRESENCE optional },
+ ...
+}
+
+LocationRelatedDataResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for error handling
+ { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional }|
+ { ID id-BroadcastGANSSAssistanceDataDecipheringKeys CRITICALITY ignore EXTENSION BroadcastAssistanceDataDecipheringKeys PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Location Related Data Failure
+--
+-- **************************************************************
+
+LocationRelatedDataFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { LocationRelatedDataFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataFailureExtensions} } OPTIONAL,
+ ...
+}
+
+LocationRelatedDataFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+LocationRelatedDataFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for error handling
+ { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Information Transfer Indication
+--
+-- **************************************************************
+
+InformationTransferIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { InformationTransferIndicationIEs} },
+ protocolExtensions ProtocolExtensionContainer { { InformationTransferIndicationExtensions} } OPTIONAL,
+ ...
+}
+
+InformationTransferIndicationIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-InformationTransferID CRITICALITY reject TYPE InformationTransferID PRESENCE mandatory } |
+ { ID id-ProvidedData CRITICALITY reject TYPE ProvidedData PRESENCE mandatory } |
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional},
+ ...
+}
+
+InformationTransferIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Information Transfer Confirmation
+--
+-- **************************************************************
+
+InformationTransferConfirmation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { InformationTransferConfirmationIEs} },
+ protocolExtensions ProtocolExtensionContainer { { InformationTransferConfirmationExtensions} } OPTIONAL,
+ ...
+}
+
+InformationTransferConfirmationIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } |
+ { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
+ ...
+}
+
+InformationTransferConfirmationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Information Transfer Failure
+--
+-- **************************************************************
+
+InformationTransferFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { InformationTransferFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { { InformationTransferFailureExtensions} } OPTIONAL,
+ ...
+}
+
+InformationTransferFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } |
+ { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
+ ...
+}
+
+InformationTransferFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE SPECIFIC INFORMATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Specific Information Indication
+--
+-- **************************************************************
+
+UESpecificInformationIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UESpecificInformationIndicationIEs} },
+ protocolExtensions ProtocolExtensionContainer { {UESpecificInformationIndicationExtensions} } OPTIONAL,
+ ...
+}
+
+UESpecificInformationIndicationIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional },
+ ...
+}
+
+UESpecificInformationIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Direct Information Transfer
+--
+-- **************************************************************
+
+DirectInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { DirectInformationTransferIEs} },
+ protocolExtensions ProtocolExtensionContainer { { DirectInformationTransferExtensions} } OPTIONAL,
+ ...
+}
+
+DirectInformationTransferIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-InterSystemInformationTransferType CRITICALITY ignore TYPE InterSystemInformationTransferType PRESENCE optional } |
+ { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } |
+ { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional },
+ ...
+}
+
+DirectInformationTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK INFORMATION EXCHANGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Uplink Information Exchange Request
+--
+-- **************************************************************
+
+UplinkInformationExchangeRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UplinkInformationExchangeRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeRequestExtensions} } OPTIONAL,
+ ...
+}
+
+UplinkInformationExchangeRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory } |
+ { ID id-InformationExchangeType CRITICALITY reject TYPE InformationExchangeType PRESENCE mandatory } |
+ { ID id-InformationTransferType CRITICALITY reject TYPE InformationTransferType PRESENCE conditional
+ -- This IE shall be present if the Information Exchange Type IE is set to "transfer" -- } |
+ { ID id-InformationRequestType CRITICALITY reject TYPE InformationRequestType PRESENCE conditional
+ -- This IE shall be present if the Information Exchange Type IE is set to "request" -- } |
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory },
+ ...
+}
+
+UplinkInformationExchangeRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Uplink Information Exchange Response
+--
+-- **************************************************************
+
+UplinkInformationExchangeResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UplinkInformationExchangeResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeResponseExtensions} } OPTIONAL,
+ ...
+}
+
+UplinkInformationExchangeResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } |
+ { ID id-InformationRequested CRITICALITY ignore TYPE InformationRequested PRESENCE optional } |
+ { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+UplinkInformationExchangeResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Uplink Information Exchange Failure
+--
+-- **************************************************************
+
+UplinkInformationExchangeFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UplinkInformationExchangeFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeFailureExtensions} } OPTIONAL,
+ ...
+}
+
+UplinkInformationExchangeFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } |
+ { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+UplinkInformationExchangeFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION START PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS Session Start
+--
+-- **************************************************************
+
+MBMSSessionStart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSSessionStartIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSSessionStartIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } |
+ { ID id-MBMSSessionIdentity CRITICALITY ignore TYPE MBMSSessionIdentity PRESENCE optional } |
+ { ID id-MBMSBearerServiceType CRITICALITY reject TYPE MBMSBearerServiceType PRESENCE mandatory } |
+ { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }|
+ { ID id-RAB-Parameters CRITICALITY reject TYPE RAB-Parameters PRESENCE mandatory } |
+ { ID id-PDP-TypeInformation CRITICALITY ignore TYPE PDP-TypeInformation PRESENCE optional } |
+ { ID id-MBMSSessionDuration CRITICALITY reject TYPE MBMSSessionDuration PRESENCE mandatory } |
+ { ID id-MBMSServiceArea CRITICALITY reject TYPE MBMSServiceArea PRESENCE mandatory } |
+ { ID id-FrequenceLayerConvergenceFlag CRITICALITY ignore TYPE FrequenceLayerConvergenceFlag PRESENCE optional } |
+ { ID id-RAListofIdleModeUEs CRITICALITY ignore TYPE RAListofIdleModeUEs PRESENCE optional } |
+ { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional } |
+ { ID id-MBMSSessionRepetitionNumber CRITICALITY ignore TYPE MBMSSessionRepetitionNumber PRESENCE optional } |
+ { ID id-TimeToMBMSDataTransfer CRITICALITY reject TYPE TimeToMBMSDataTransfer PRESENCE mandatory },
+ ...
+}
+
+MBMSSessionStartExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable MBMS counting in broadcast mode --
+ { ID id-MBMSCountingInformation CRITICALITY ignore EXTENSION MBMSCountingInformation PRESENCE optional}|
+ { ID id-MBMSSynchronisationInformation CRITICALITY ignore EXTENSION MBMSSynchronisationInformation PRESENCE optional}|
+-- Extension for Release Release 9 to enable a new value --
+ { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional}|
+-- Extension for Release 12 to support Session re-establishment --
+ { ID id-Session-Re-establishment-Indicator CRITICALITY ignore EXTENSION Session-Re-establishment-Indicator PRESENCE optional},
+ ...
+}
+
+MBMSSynchronisationInformation ::= SEQUENCE {
+ mBMSHCIndicator MBMSHCIndicator,
+ iPMulticastAddress IPMulticastAddress,
+ gTPDLTEID GTP-TEI,
+ iE-Extensions ProtocolExtensionContainer { {MBMSSynchronisationInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMSSynchronisationInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IP-Source-Address CRITICALITY reject EXTENSION IPMulticastAddress PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Start Response
+--
+-- **************************************************************
+
+MBMSSessionStartResponse::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MBMSSessionStartResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {MBMSSessionStartResponseExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSSessionStartResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+MBMSSessionStartResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Start Failure
+--
+-- **************************************************************
+
+MBMSSessionStartFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSSessionStartFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartFailureExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSSessionStartFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+MBMSSessionStartFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION UPDATE PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS Session Update
+--
+-- **************************************************************
+
+MBMSSessionUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSSessionUpdateIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSSessionUpdateIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-SessionUpdateID CRITICALITY reject TYPE SessionUpdateID PRESENCE mandatory } |
+ { ID id-DeltaRAListofIdleModeUEs CRITICALITY reject TYPE DeltaRAListofIdleModeUEs PRESENCE mandatory },
+ ...
+}
+
+MBMSSessionUpdateExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Update Response
+--
+-- **************************************************************
+
+MBMSSessionUpdateResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSSessionUpdateResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateResponseExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSSessionUpdateResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } |
+ { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+MBMSSessionUpdateResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Update Failure
+--
+-- **************************************************************
+
+MBMSSessionUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSSessionUpdateFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateFailureExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSSessionUpdateFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+MBMSSessionUpdateFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION STOP PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS Session Stop
+--
+-- **************************************************************
+
+MBMSSessionStop ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSSessionStopIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSSessionStopIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-MBMSCNDe-Registration CRITICALITY reject TYPE MBMSCNDe-Registration PRESENCE mandatory },
+ ...
+}
+
+MBMSSessionStopExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Stop Response
+--
+-- **************************************************************
+
+MBMSSessionStopResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSSessionStopResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopResponseExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSSessionStopResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+MBMSSessionStopResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS UE LINKING PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS UE Linking Request
+--
+-- **************************************************************
+
+MBMSUELinkingRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSUELinkingRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingRequestExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSUELinkingRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-JoinedMBMSBearerServicesList CRITICALITY reject TYPE JoinedMBMSBearerService-IEs PRESENCE optional } |
+ { ID id-LeftMBMSBearerServicesList CRITICALITY reject TYPE LeftMBMSBearerService-IEs PRESENCE optional },
+ ...
+}
+
+LeftMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
+ SEQUENCE {
+ tMGI TMGI,
+ iE-Extensions ProtocolExtensionContainer { {LeftMBMSBearerService-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+LeftMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMSUELinkingRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS UE Linking Response
+--
+-- **************************************************************
+
+MBMSUELinkingResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSUELinkingResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingResponseExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSUELinkingResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-UnsuccessfulLinkingList CRITICALITY ignore TYPE UnsuccessfulLinking-IEs PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+UnsuccessfulLinking-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
+ SEQUENCE {
+ tMGI TMGI,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {UnsuccessfulLinking-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+UnsuccessfulLinking-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMSUELinkingResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS REGISTRATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS Registration Request
+--
+-- **************************************************************
+
+MBMSRegistrationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSRegistrationRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationRequestExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSRegistrationRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-MBMSRegistrationRequestType CRITICALITY reject TYPE MBMSRegistrationRequestType PRESENCE mandatory } |
+ { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } |
+ { ID id-IPMulticastAddress CRITICALITY reject TYPE IPMulticastAddress PRESENCE conditional
+ -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } |
+ { ID id-APN CRITICALITY reject TYPE APN PRESENCE conditional
+ -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } |
+ { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE optional },
+ ...
+}
+
+MBMSRegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS Registration Response
+--
+-- **************************************************************
+
+MBMSRegistrationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSRegistrationResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationResponseExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSRegistrationResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } |
+ { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+MBMSRegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS Registration Failure
+--
+-- **************************************************************
+
+MBMSRegistrationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSRegistrationFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationFailureExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSRegistrationFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } |
+ { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+MBMSRegistrationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS CN DE-REGISTRATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS CN De-Registration Request
+--
+-- **************************************************************
+
+MBMSCNDe-RegistrationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationRequestExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSCNDe-RegistrationRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } |
+ { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional },
+ ...
+}
+
+MBMSCNDe-RegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS CN De-Registration Response
+--
+-- **************************************************************
+
+MBMSCNDe-RegistrationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationResponseExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSCNDe-RegistrationResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE mandatory } |
+ { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
+ ...
+}
+
+MBMSCNDe-RegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS RAB ESTABLISHMENT INDICATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS RAB Establishment Indication
+--
+-- **************************************************************
+
+MBMSRABEstablishmentIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MBMSRABEstablishmentIndicationIEs} },
+ protocolExtensions ProtocolExtensionContainer { { MBMSRABEstablishmentIndicationExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSRABEstablishmentIndicationIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE mandatory } ,
+ ...
+}
+
+MBMSRABEstablishmentIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS RAB RELEASE PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS RAB Release Request
+--
+-- **************************************************************
+
+MBMSRABReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MBMSRABReleaseRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseRequestExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSRABReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+
+MBMSRABReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS RAB Release
+--
+-- **************************************************************
+
+MBMSRABRelease ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MBMSRABReleaseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSRABReleaseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+MBMSRABReleaseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS RAB Release Failure
+--
+-- **************************************************************
+
+MBMSRABReleaseFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MBMSRABReleaseFailureIEs} },
+ protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseFailureExtensions} } OPTIONAL,
+ ...
+}
+
+MBMSRABReleaseFailureIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+MBMSRABReleaseFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SRVCC PREPARATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- SRVCC CS Keys Request
+--
+-- **************************************************************
+
+SRVCC-CSKeysRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {SRVCC-CSKeysRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysRequestExtensions} } OPTIONAL,
+ ...
+}
+
+SRVCC-CSKeysRequestIEs RANAP-PROTOCOL-IES ::= {
+ ...
+}
+
+SRVCC-CSKeysRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SRVCC CS Keys Response
+--
+-- **************************************************************
+
+SRVCC-CSKeysResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {SRVCC-CSKeysResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysResponseExtensions} } OPTIONAL,
+ ...
+}
+
+SRVCC-CSKeysResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-IntegrityProtectionKey CRITICALITY reject TYPE IntegrityProtectionKey PRESENCE mandatory }|
+ { ID id-EncryptionKey CRITICALITY reject TYPE EncryptionKey PRESENCE mandatory }|
+ { ID id-SRVCC-Information CRITICALITY reject TYPE SRVCC-Information PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+SRVCC-CSKeysResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY MATCH PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- UE Radio Capability Match Request
+--
+-- **************************************************************
+
+UeRadioCapabilityMatchRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UeRadioCapabilityMatchRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {UeRadioCapabilityMatchRequestExtensions} } OPTIONAL,
+ ...
+}
+
+UeRadioCapabilityMatchRequestIEs RANAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UeRadioCapabilityMatchRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Radio Capability Match Response
+--
+-- **************************************************************
+
+UeRadioCapabilityMatchResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UeRadioCapabilityMatchResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {UeRadioCapabilityMatchResponseExtensions} } OPTIONAL,
+ ...
+}
+
+UeRadioCapabilityMatchResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-VoiceSupportMatchIndicator CRITICALITY reject TYPE VoiceSupportMatchIndicator PRESENCE mandatory },
+ ...
+}
+
+UeRadioCapabilityMatchResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE REGISTRATION QUERY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- UE Registration Query Request
+--
+-- **************************************************************
+
+UeRegistrationQueryRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UeRegistrationQueryRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {UeRegistrationQueryRequestExtensions} } OPTIONAL,
+ ...
+}
+
+UeRegistrationQueryRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory}|
+ { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory},
+ ...
+}
+
+UeRegistrationQueryRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Registration Query Response
+--
+-- **************************************************************
+
+UeRegistrationQueryResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UeRegistrationQueryResponseIEs} },
+ protocolExtensions ProtocolExtensionContainer { {UeRegistrationQueryResponseExtensions} } OPTIONAL,
+ ...
+}
+
+UeRegistrationQueryResponseIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-UERegistrationQueryResult CRITICALITY ignore TYPE UERegistrationQueryResult PRESENCE mandatory},
+ ...
+}
+
+UeRegistrationQueryResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- REROUTE NAS REQUEST PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- Reroute NAS Request
+--
+-- **************************************************************
+
+RerouteNASRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {RerouteNASRequestIEs} },
+ protocolExtensions ProtocolExtensionContainer { {RerouteNASRequestExtensions} } OPTIONAL,
+ ...
+}
+
+RerouteNASRequestIEs RANAP-PROTOCOL-IES ::= {
+ { ID id-RANAP-Message CRITICALITY ignore TYPE OCTET STRING PRESENCE mandatory}|
+ { ID id-SGSN-Group-Identity CRITICALITY ignore TYPE SGSN-Group-Identity PRESENCE mandatory}|
+ { ID id-P-TMSI CRITICALITY ignore TYPE P-TMSI PRESENCE optional}|
+ { ID id-UE-Usage-Type CRITICALITY ignore TYPE UE-Usage-Type PRESENCE optional},
+ ...
+}
+
+RerouteNASRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/ranap/RANAP-PDU-Descriptions.asn b/epan/dissectors/asn1/ranap/RANAP-PDU-Descriptions.asn
new file mode 100644
index 00000000..92d4b0f2
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/RANAP-PDU-Descriptions.asn
@@ -0,0 +1,646 @@
+-- RANAP-PDU-Descriptions.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.2 Elementary Procedure Definitions
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+RANAP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM RANAP-CommonDataTypes
+
+ Iu-ReleaseCommand,
+ Iu-ReleaseComplete,
+ RelocationCommand,
+ RelocationPreparationFailure,
+ RelocationRequired,
+ RelocationRequest,
+ RelocationRequestAcknowledge,
+ RelocationFailure,
+ RelocationCancel,
+ RelocationCancelAcknowledge,
+ EnhancedRelocationCompleteRequest,
+ EnhancedRelocationCompleteResponse,
+ EnhancedRelocationCompleteFailure,
+ EnhancedRelocationCompleteConfirm,
+ SRNS-ContextRequest,
+ SRNS-ContextResponse,
+ SecurityModeCommand,
+ SecurityModeComplete,
+ SecurityModeReject,
+ DataVolumeReportRequest,
+ DataVolumeReport,
+ Reset,
+ ResetAcknowledge,
+ RAB-ReleaseRequest,
+ Iu-ReleaseRequest,
+ RelocationDetect,
+ RelocationComplete,
+ Paging,
+ CommonID,
+ CN-InvokeTrace,
+ CN-DeactivateTrace,
+ LocationReportingControl,
+ LocationReport,
+ InitialUE-Message,
+ DirectTransfer,
+ Overload,
+ ErrorIndication,
+ SRNS-DataForwardCommand,
+ ForwardSRNS-Context,
+ RAB-AssignmentRequest,
+ RAB-AssignmentResponse,
+ RAB-ModifyRequest,
+ PrivateMessage,
+ ResetResource,
+ ResetResourceAcknowledge,
+ RANAP-RelocationInformation,
+ RANAP-EnhancedRelocationInformationRequest,
+ RANAP-EnhancedRelocationInformationResponse,
+ LocationRelatedDataRequest,
+ LocationRelatedDataResponse,
+ LocationRelatedDataFailure,
+ InformationTransferIndication,
+ InformationTransferConfirmation,
+ InformationTransferFailure,
+ UESpecificInformationIndication,
+ DirectInformationTransfer,
+ UplinkInformationExchangeRequest,
+ UplinkInformationExchangeResponse,
+ UplinkInformationExchangeFailure,
+ MBMSSessionStart,
+ MBMSSessionStartResponse,
+ MBMSSessionStartFailure,
+ MBMSSessionUpdate,
+ MBMSSessionUpdateResponse,
+ MBMSSessionUpdateFailure,
+ MBMSSessionStop,
+ MBMSSessionStopResponse,
+ MBMSUELinkingRequest,
+ MBMSUELinkingResponse,
+ MBMSRegistrationRequest,
+ MBMSRegistrationResponse,
+ MBMSRegistrationFailure,
+ MBMSCNDe-RegistrationRequest,
+ MBMSCNDe-RegistrationResponse,
+ MBMSRABEstablishmentIndication,
+ MBMSRABReleaseRequest,
+ MBMSRABRelease,
+ MBMSRABReleaseFailure,
+ SRVCC-CSKeysRequest,
+ SRVCC-CSKeysResponse,
+ UeRadioCapabilityMatchRequest,
+ UeRadioCapabilityMatchResponse,
+ UeRegistrationQueryRequest,
+ UeRegistrationQueryResponse,
+ RerouteNASRequest
+
+FROM RANAP-PDU-Contents
+
+ id-LocationRelatedData,
+ id-CN-DeactivateTrace,
+ id-CN-InvokeTrace,
+ id-CommonID,
+ id-DataVolumeReport,
+ id-DirectTransfer,
+ id-ErrorIndication,
+ id-ForwardSRNS-Context,
+ id-InformationTransfer,
+ id-InitialUE-Message,
+ id-Iu-Release,
+ id-Iu-ReleaseRequest,
+ id-LocationReport,
+ id-LocationReportingControl,
+ id-OverloadControl,
+ id-Paging,
+ id-privateMessage,
+ id-RAB-Assignment,
+ id-RAB-ReleaseRequest,
+ id-RAB-ModifyRequest,
+ id-RANAP-Relocation,
+ id-RANAPenhancedRelocation,
+ id-RelocationCancel,
+ id-RelocationComplete,
+ id-RelocationDetect,
+ id-RelocationPreparation,
+ id-RelocationResourceAllocation,
+ id-enhancedRelocationComplete,
+ id-enhancedRelocationCompleteConfirm,
+ id-Reset,
+ id-SRNS-ContextTransfer,
+ id-SRNS-DataForward,
+ id-SecurityModeControl,
+ id-ResetResource,
+ id-UESpecificInformation,
+ id-DirectInformationTransfer,
+ id-UplinkInformationExchange,
+ id-MBMSSessionStart,
+ id-MBMSSessionUpdate,
+ id-MBMSSessionStop,
+ id-MBMSUELinking,
+ id-MBMSRegistration,
+ id-MBMSCNDe-Registration-Procedure,
+ id-MBMSRABEstablishmentIndication,
+ id-MBMSRABRelease,
+ id-SRVCCPreparation,
+ id-UeRadioCapabilityMatch,
+ id-UeRegistrationQuery,
+ id-RerouteNASRequest
+
+FROM RANAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &Outcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ [OUTCOME &Outcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+RANAP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ outcome Outcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
+ criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
+ criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
+ criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+Outcome ::= SEQUENCE {
+ procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
+ criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
+ RANAP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
+ RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
+ ...
+}
+
+
+RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
+ iu-Release |
+ relocationPreparation |
+ relocationResourceAllocation |
+ relocationCancel |
+ sRNS-ContextTransfer |
+ securityModeControl |
+ dataVolumeReport |
+ reset |
+ resetResource ,
+ ...,
+ locationRelatedData |
+ informationTransfer |
+ uplinkInformationExchange |
+ mBMSSessionStart |
+ mBMSSessionUpdate |
+ mBMSSessionStop |
+ mBMSUELinking |
+ mBMSRegistration |
+ mBMSCNDe-Registration |
+ mBMSRABRelease |
+ enhancedRelocationComplete |
+ rANAP-enhancedRelocation |
+ sRVCCPreparation |
+ ueRadioCapabilityMatch |
+ ueRegistrationQuery }
+
+RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= {
+ rAB-ReleaseRequest |
+ iu-ReleaseRequest |
+ relocationDetect |
+ relocationComplete |
+ paging |
+ commonID |
+ cN-InvokeTrace |
+ cN-DeactivateTrace |
+ locationReportingControl |
+ locationReport |
+ initialUE-Message |
+ directTransfer |
+ overloadControl |
+ errorIndication |
+ sRNS-DataForward |
+ forwardSRNS-Context |
+ privateMessage |
+ rANAP-Relocation ,
+ ...,
+ rAB-ModifyRequest |
+ uESpecificInformation |
+ directInformationTransfer |
+ mBMSRABEstablishmentIndication |
+ enhancedRelocationCompleteConfirm |
+ rerouteNASRequest
+}
+
+RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= {
+ rAB-Assignment ,
+ ...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Iu-ReleaseCommand
+ SUCCESSFUL OUTCOME Iu-ReleaseComplete
+ PROCEDURE CODE id-Iu-Release
+ CRITICALITY reject
+}
+
+relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RelocationRequired
+ SUCCESSFUL OUTCOME RelocationCommand
+ UNSUCCESSFUL OUTCOME RelocationPreparationFailure
+ PROCEDURE CODE id-RelocationPreparation
+ CRITICALITY reject
+}
+
+relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RelocationRequest
+ SUCCESSFUL OUTCOME RelocationRequestAcknowledge
+ UNSUCCESSFUL OUTCOME RelocationFailure
+ PROCEDURE CODE id-RelocationResourceAllocation
+ CRITICALITY reject
+}
+
+relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RelocationCancel
+ SUCCESSFUL OUTCOME RelocationCancelAcknowledge
+ PROCEDURE CODE id-RelocationCancel
+ CRITICALITY reject
+}
+
+sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SRNS-ContextRequest
+ SUCCESSFUL OUTCOME SRNS-ContextResponse
+ PROCEDURE CODE id-SRNS-ContextTransfer
+ CRITICALITY reject
+}
+
+securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SecurityModeCommand
+ SUCCESSFUL OUTCOME SecurityModeComplete
+ UNSUCCESSFUL OUTCOME SecurityModeReject
+ PROCEDURE CODE id-SecurityModeControl
+ CRITICALITY reject
+}
+
+dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DataVolumeReportRequest
+ SUCCESSFUL OUTCOME DataVolumeReport
+ PROCEDURE CODE id-DataVolumeReport
+ CRITICALITY reject
+}
+
+
+reset RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Reset
+ SUCCESSFUL OUTCOME ResetAcknowledge
+ PROCEDURE CODE id-Reset
+ CRITICALITY reject
+}
+
+rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RAB-ReleaseRequest
+ PROCEDURE CODE id-RAB-ReleaseRequest
+ CRITICALITY ignore
+}
+
+iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Iu-ReleaseRequest
+ PROCEDURE CODE id-Iu-ReleaseRequest
+ CRITICALITY ignore
+}
+
+relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RelocationDetect
+ PROCEDURE CODE id-RelocationDetect
+ CRITICALITY ignore
+}
+
+relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RelocationComplete
+ PROCEDURE CODE id-RelocationComplete
+ CRITICALITY ignore
+}
+
+paging RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Paging
+ PROCEDURE CODE id-Paging
+ CRITICALITY ignore
+}
+
+commonID RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonID
+ PROCEDURE CODE id-CommonID
+ CRITICALITY ignore
+}
+
+cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CN-InvokeTrace
+ PROCEDURE CODE id-CN-InvokeTrace
+ CRITICALITY ignore
+}
+
+cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CN-DeactivateTrace
+ PROCEDURE CODE id-CN-DeactivateTrace
+ CRITICALITY ignore
+}
+
+locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LocationReportingControl
+ PROCEDURE CODE id-LocationReportingControl
+ CRITICALITY ignore
+}
+
+locationReport RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LocationReport
+ PROCEDURE CODE id-LocationReport
+ CRITICALITY ignore
+}
+
+initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InitialUE-Message
+ PROCEDURE CODE id-InitialUE-Message
+ CRITICALITY ignore
+}
+
+directTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DirectTransfer
+ PROCEDURE CODE id-DirectTransfer
+ CRITICALITY ignore
+}
+
+overloadControl RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Overload
+ PROCEDURE CODE id-OverloadControl
+ CRITICALITY ignore
+}
+
+errorIndication RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-ErrorIndication
+ CRITICALITY ignore
+}
+
+sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SRNS-DataForwardCommand
+ PROCEDURE CODE id-SRNS-DataForward
+ CRITICALITY ignore
+}
+
+forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ForwardSRNS-Context
+ PROCEDURE CODE id-ForwardSRNS-Context
+ CRITICALITY ignore
+}
+
+rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RAB-AssignmentRequest
+ OUTCOME RAB-AssignmentResponse
+ PROCEDURE CODE id-RAB-Assignment
+ CRITICALITY reject
+}
+
+privateMessage RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResetResource
+ SUCCESSFUL OUTCOME ResetResourceAcknowledge
+ PROCEDURE CODE id-ResetResource
+ CRITICALITY reject
+}
+
+rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RANAP-RelocationInformation
+ PROCEDURE CODE id-RANAP-Relocation
+ CRITICALITY ignore
+}
+
+rAB-ModifyRequest RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RAB-ModifyRequest
+ PROCEDURE CODE id-RAB-ModifyRequest
+ CRITICALITY ignore
+}
+
+locationRelatedData RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LocationRelatedDataRequest
+ SUCCESSFUL OUTCOME LocationRelatedDataResponse
+ UNSUCCESSFUL OUTCOME LocationRelatedDataFailure
+ PROCEDURE CODE id-LocationRelatedData
+ CRITICALITY reject
+}
+
+informationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationTransferIndication
+ SUCCESSFUL OUTCOME InformationTransferConfirmation
+ UNSUCCESSFUL OUTCOME InformationTransferFailure
+ PROCEDURE CODE id-InformationTransfer
+ CRITICALITY reject
+}
+
+uESpecificInformation RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UESpecificInformationIndication
+ PROCEDURE CODE id-UESpecificInformation
+ CRITICALITY ignore
+}
+
+directInformationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DirectInformationTransfer
+ PROCEDURE CODE id-DirectInformationTransfer
+ CRITICALITY ignore
+}
+
+uplinkInformationExchange RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkInformationExchangeRequest
+ SUCCESSFUL OUTCOME UplinkInformationExchangeResponse
+ UNSUCCESSFUL OUTCOME UplinkInformationExchangeFailure
+ PROCEDURE CODE id-UplinkInformationExchange
+ CRITICALITY reject
+}
+
+mBMSSessionStart RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSSessionStart
+ SUCCESSFUL OUTCOME MBMSSessionStartResponse
+ UNSUCCESSFUL OUTCOME MBMSSessionStartFailure
+ PROCEDURE CODE id-MBMSSessionStart
+ CRITICALITY reject
+}
+
+mBMSSessionUpdate RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSSessionUpdate
+ SUCCESSFUL OUTCOME MBMSSessionUpdateResponse
+ UNSUCCESSFUL OUTCOME MBMSSessionUpdateFailure
+ PROCEDURE CODE id-MBMSSessionUpdate
+ CRITICALITY reject
+}
+
+mBMSSessionStop RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSSessionStop
+ SUCCESSFUL OUTCOME MBMSSessionStopResponse
+ PROCEDURE CODE id-MBMSSessionStop
+ CRITICALITY reject
+}
+
+mBMSUELinking RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSUELinkingRequest
+ OUTCOME MBMSUELinkingResponse
+ PROCEDURE CODE id-MBMSUELinking
+ CRITICALITY reject
+}
+
+mBMSRegistration RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSRegistrationRequest
+ SUCCESSFUL OUTCOME MBMSRegistrationResponse
+ UNSUCCESSFUL OUTCOME MBMSRegistrationFailure
+ PROCEDURE CODE id-MBMSRegistration
+ CRITICALITY reject
+}
+
+mBMSCNDe-Registration RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSCNDe-RegistrationRequest
+ SUCCESSFUL OUTCOME MBMSCNDe-RegistrationResponse
+ PROCEDURE CODE id-MBMSCNDe-Registration-Procedure
+ CRITICALITY reject
+}
+
+mBMSRABEstablishmentIndication RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSRABEstablishmentIndication
+ PROCEDURE CODE id-MBMSRABEstablishmentIndication
+ CRITICALITY ignore
+}
+
+mBMSRABRelease RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSRABReleaseRequest
+ SUCCESSFUL OUTCOME MBMSRABRelease
+ UNSUCCESSFUL OUTCOME MBMSRABReleaseFailure
+ PROCEDURE CODE id-MBMSRABRelease
+ CRITICALITY reject
+}
+enhancedRelocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EnhancedRelocationCompleteRequest
+ SUCCESSFUL OUTCOME EnhancedRelocationCompleteResponse
+ UNSUCCESSFUL OUTCOME EnhancedRelocationCompleteFailure
+ PROCEDURE CODE id-enhancedRelocationComplete
+ CRITICALITY reject
+}
+
+enhancedRelocationCompleteConfirm RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EnhancedRelocationCompleteConfirm
+ PROCEDURE CODE id-enhancedRelocationCompleteConfirm
+ CRITICALITY ignore
+}
+
+rANAP-enhancedRelocation RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RANAP-EnhancedRelocationInformationRequest
+ SUCCESSFUL OUTCOME RANAP-EnhancedRelocationInformationResponse
+ PROCEDURE CODE id-RANAPenhancedRelocation
+ CRITICALITY reject
+}
+
+sRVCCPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SRVCC-CSKeysRequest
+ OUTCOME SRVCC-CSKeysResponse
+ PROCEDURE CODE id-SRVCCPreparation
+ CRITICALITY reject
+}
+
+ueRadioCapabilityMatch RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UeRadioCapabilityMatchRequest
+ OUTCOME UeRadioCapabilityMatchResponse
+ PROCEDURE CODE id-UeRadioCapabilityMatch
+ CRITICALITY ignore
+}
+
+ueRegistrationQuery RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UeRegistrationQueryRequest
+ OUTCOME UeRegistrationQueryResponse
+ PROCEDURE CODE id-UeRegistrationQuery
+ CRITICALITY ignore
+}
+
+rerouteNASRequest RANAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RerouteNASRequest
+ PROCEDURE CODE id-RerouteNASRequest
+ CRITICALITY reject
+}
+
+END
diff --git a/epan/dissectors/asn1/ranap/packet-ranap-template.c b/epan/dissectors/asn1/ranap/packet-ranap-template.c
new file mode 100644
index 00000000..ce8f0e14
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/packet-ranap-template.c
@@ -0,0 +1,474 @@
+/* packet-ranap.c
+ * Routines for UMTS Node B Application Part(RANAP) packet dissection
+ * Copyright 2005 - 2010, Anders Broman <anders.broman[AT]ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * References: 3GPP TS 25.413 version 10.4.0 Release 10
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-gsm_map.h"
+#include "packet-ranap.h"
+#include "packet-e212.h"
+#include "packet-sccp.h"
+#include "packet-gsm_a_common.h"
+#include "packet-isup.h"
+#include "packet-s1ap.h"
+#include "packet-rtp.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define SCCP_SSN_RANAP 142
+
+#define PNAME "Radio Access Network Application Part"
+#define PSNAME "RANAP"
+#define PFNAME "ranap"
+
+/* Highest Ranap_ProcedureCode_value, use in heuristics */
+#define RANAP_MAX_PC 49 /* id_RerouteNASRequest = 49 */
+
+#include "packet-ranap-val.h"
+
+void proto_register_ranap(void);
+void proto_reg_handoff_ranap(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_ranap = -1;
+
+/* initialise sub-dissector handles */
+static dissector_handle_t rrc_s_to_trnc_handle = NULL;
+static dissector_handle_t rrc_t_to_srnc_handle = NULL;
+static dissector_handle_t rrc_ho_to_utran_cmd = NULL;
+static dissector_handle_t bssgp_handle = NULL;
+
+static int hf_ranap_transportLayerAddress_ipv4 = -1;
+static int hf_ranap_transportLayerAddress_ipv6 = -1;
+static int hf_ranap_transportLayerAddress_nsap = -1;
+
+#include "packet-ranap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_ranap = -1;
+static int ett_ranap_transportLayerAddress = -1;
+static int ett_ranap_transportLayerAddress_nsap = -1;
+
+#include "packet-ranap-ett.c"
+
+/*****************************************************************************/
+/* Packet private data */
+/* For this dissector, all access to actx->private_data should be made */
+/* through this API, which ensures that they will not overwrite each other!! */
+/*****************************************************************************/
+
+
+typedef struct ranap_private_data_t
+{
+ guint32 transportLayerAddress_ipv4;
+ guint16 binding_id_port;
+ e212_number_type_t number_type;
+} ranap_private_data_t;
+
+
+/* Helper function to get or create the private data struct */
+static ranap_private_data_t* ranap_get_private_data(asn1_ctx_t *actx)
+{
+ packet_info *pinfo = actx->pinfo;
+ ranap_private_data_t *private_data = (ranap_private_data_t *)p_get_proto_data(pinfo->pool, pinfo, proto_ranap, 0);
+ if(private_data == NULL ) {
+ private_data = wmem_new0(pinfo->pool, ranap_private_data_t);
+ p_add_proto_data(pinfo->pool, pinfo, proto_ranap, 0, private_data);
+ }
+ return private_data;
+}
+
+/* Helper function to reset the private data struct */
+static void ranap_reset_private_data(packet_info *pinfo)
+{
+ p_remove_proto_data(pinfo->pool, pinfo, proto_ranap, 0);
+}
+
+static guint32 private_data_get_transportLayerAddress_ipv4(asn1_ctx_t *actx)
+{
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ return private_data->transportLayerAddress_ipv4;
+}
+
+static void private_data_set_transportLayerAddress_ipv4(asn1_ctx_t *actx, guint32 transportLayerAddress_ipv4)
+{
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ private_data->transportLayerAddress_ipv4 = transportLayerAddress_ipv4;
+}
+
+static guint16 private_data_get_binding_id_port(asn1_ctx_t *actx)
+{
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ return private_data->binding_id_port;
+}
+
+static void private_data_set_binding_id_port(asn1_ctx_t *actx, guint16 binding_id_port)
+{
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ private_data->binding_id_port = binding_id_port;
+}
+
+/*****************************************************************************/
+
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+static guint32 ProtocolExtensionID;
+static gboolean glbl_dissect_container = FALSE;
+
+static dissector_handle_t ranap_handle;
+
+/* Some IE:s identities uses the same value for different IE:s
+ * depending on PDU type:
+ * InitiatingMessage
+ * SuccessfulOutcome
+ * UnsuccessfulOutcome
+ * Outcome
+ * As a workarond a value is added to the IE:id in the .cnf file.
+ * Example:
+ * ResetResourceList N rnsap.ies IMSG||id-IuSigConIdList # no spaces are allowed in value as a space is delimiter
+ * PDU type is stored in a global variable and can is used in the IE decoding section.
+ */
+/*
+ * &InitiatingMessage ,
+ * &SuccessfulOutcome OPTIONAL,
+ * &UnsuccessfulOutcome OPTIONAL,
+ * &Outcome OPTIONAL,
+ *
+ * Only these two needed currently
+ */
+#define IMSG (1U<<16)
+#define SOUT (2U<<16)
+#define SPECIAL (4U<<16)
+
+int pdu_type = 0; /* 0 means wildcard */
+
+/* Dissector tables */
+static dissector_table_t ranap_ies_dissector_table;
+static dissector_table_t ranap_ies_p1_dissector_table;
+static dissector_table_t ranap_ies_p2_dissector_table;
+static dissector_table_t ranap_extension_dissector_table;
+static dissector_table_t ranap_proc_imsg_dissector_table;
+static dissector_table_t ranap_proc_sout_dissector_table;
+static dissector_table_t ranap_proc_uout_dissector_table;
+static dissector_table_t ranap_proc_out_dissector_table;
+static dissector_table_t nas_pdu_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static int dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+static int dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
+
+
+#include "packet-ranap-fn.c"
+
+static int
+dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+
+ int ret = 0;
+ int key;
+
+ /* Special handling, same ID used for different IE's depending on signal */
+ switch(ProcedureCode){
+ case id_RelocationPreparation:
+ if((ProtocolIE_ID == id_Source_ToTarget_TransparentContainer)||(ProtocolIE_ID == id_Target_ToSource_TransparentContainer)){
+ key = SPECIAL | ProtocolIE_ID;
+ ret = (dissector_try_uint_new(ranap_ies_dissector_table, key, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+ break;
+ }
+ /* Fall through */
+ default:
+ /* no special handling */
+ ret = (dissector_try_uint_new(ranap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+ if (ret == 0) {
+ key = pdu_type | ProtocolIE_ID;
+ ret = (dissector_try_uint_new(ranap_ies_dissector_table, key, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+ }
+ break;
+ }
+ return ret;
+}
+
+static int
+dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(ranap_ies_p1_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(ranap_ies_p2_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(ranap_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ gboolean ret;
+
+ pdu_type = IMSG;
+ ret = dissector_try_uint_new(ranap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL);
+ pdu_type = 0;
+ return ret ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ gboolean ret;
+
+ pdu_type = SOUT;
+ ret = dissector_try_uint_new(ranap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL);
+ pdu_type = 0;
+ return ret ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(ranap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(ranap_proc_out_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_ranap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ proto_item *ranap_item = NULL;
+ proto_tree *ranap_tree = NULL;
+ sccp_msg_info_t *sccp_msg_lcl = (sccp_msg_info_t *)data;
+
+ pdu_type = 0;
+ ProtocolIE_ID = 0;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "RANAP");
+
+ /* create the ranap protocol tree */
+ ranap_item = proto_tree_add_item(tree, proto_ranap, tvb, 0, -1, ENC_NA);
+ ranap_tree = proto_item_add_subtree(ranap_item, ett_ranap);
+
+ /* Save the sccp_msg_info_t data (if present) because it can't be passed
+ through function calls */
+ p_add_proto_data(pinfo->pool, pinfo, proto_ranap, pinfo->curr_layer_num, data);
+
+ /* Clearing any old 'private data' stored */
+ ranap_reset_private_data(pinfo);
+
+ dissect_RANAP_PDU_PDU(tvb, pinfo, ranap_tree, NULL);
+ if (sccp_msg_lcl) {
+
+ if (sccp_msg_lcl->data.co.assoc)
+ sccp_msg_lcl->data.co.assoc->payload = SCCP_PLOAD_RANAP;
+
+ if (! sccp_msg_lcl->data.co.label && ProcedureCode != 0xFFFFFFFF) {
+ const gchar* str = val_to_str_const(ProcedureCode, ranap_ProcedureCode_vals, "Unknown RANAP");
+ sccp_msg_lcl->data.co.label = wmem_strdup(wmem_file_scope(), str);
+ }
+ }
+
+ return tvb_reported_length(tvb);
+}
+
+#define RANAP_MSG_MIN_LENGTH 7
+static gboolean
+dissect_sccp_ranap_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ guint8 temp;
+ guint16 word;
+ guint length;
+ int offset;
+
+ /* Is it a ranap packet?
+ *
+ * 4th octet should be the length of the rest of the message.
+ * 3th octed is the Criticality field
+ * 2nd octet is the message-type e Z[0, 28]
+ * 1st octet is the PDU type (with the extension bit)
+ * (obviously there must be at least four octets)
+ *
+ * If all of them hold true we'll assume it's RANAP
+ */
+
+ #define LENGTH_OFFSET 3
+ #define CRIT_OFFSET 2
+ #define MSG_TYPE_OFFSET 1
+ #define PDU_TYPE_OFFSET 0
+ if (tvb_captured_length(tvb) < RANAP_MSG_MIN_LENGTH) { return FALSE; }
+
+ temp = tvb_get_guint8(tvb, PDU_TYPE_OFFSET);
+ if (temp & 0x1F) {
+ /* PDU Type byte is not 0x00 (initiatingMessage), 0x20 (succesfulOutcome),
+ 0x40 (unsuccesfulOutcome) or 0x60 (outcome), ignore extension bit (0x80) */
+ return FALSE;
+ }
+
+ temp = tvb_get_guint8(tvb, CRIT_OFFSET);
+ if (temp == 0xC0 || temp & 0x3F) {
+ /* Criticality byte is not 0x00 (reject), 0x40 (ignore) or 0x80 (notify) */
+ return FALSE;
+ }
+
+ /* compute aligned PER length determinant without calling dissect_per_length_determinant()
+ to avoid exceptions and info added to tree, info column and expert info */
+ offset = LENGTH_OFFSET;
+ length = tvb_get_guint8(tvb, offset);
+ offset += 1;
+ if ((length & 0x80) == 0x80) {
+ if ((length & 0xc0) == 0x80) {
+ length &= 0x3f;
+ length <<= 8;
+ length += tvb_get_guint8(tvb, offset);
+ offset += 1;
+ } else {
+ length = 0;
+ }
+ }
+ if (length!= (tvb_reported_length(tvb) - offset)){
+ return FALSE;
+ }
+
+ temp = tvb_get_guint8(tvb, MSG_TYPE_OFFSET);
+ if (temp > RANAP_MAX_PC) { return FALSE; }
+
+ /* Try to strengthen the heuristic further, by checking the byte following the length and the bitfield indicating extensions etc
+ * which usually is a sequence-of length
+ */
+ word = tvb_get_ntohs(tvb, offset + 1);
+ if (word > 0x1ff){
+ return FALSE;
+ }
+ dissect_ranap(tvb, pinfo, tree, data);
+
+ return TRUE;
+}
+
+/*--- proto_register_ranap -------------------------------------------*/
+void proto_register_ranap(void) {
+ module_t *ranap_module;
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_ranap_transportLayerAddress_ipv4,
+ { "transportLayerAddress IPv4", "ranap.transportLayerAddress_ipv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ranap_transportLayerAddress_ipv6,
+ { "transportLayerAddress IPv6", "ranap.transportLayerAddress_ipv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ranap_transportLayerAddress_nsap,
+ { "transportLayerAddress NSAP", "ranap.transportLayerAddress_NSAP",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+
+#include "packet-ranap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ranap,
+ &ett_ranap_transportLayerAddress,
+ &ett_ranap_transportLayerAddress_nsap,
+#include "packet-ranap-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_ranap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ranap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ ranap_handle = register_dissector("ranap", dissect_ranap, proto_ranap);
+
+ /* Register dissector tables */
+ ranap_ies_dissector_table = register_dissector_table("ranap.ies", "RANAP-PROTOCOL-IES", proto_ranap, FT_UINT32, BASE_DEC);
+ ranap_ies_p1_dissector_table = register_dissector_table("ranap.ies.pair.first", "RANAP-PROTOCOL-IES-PAIR FirstValue", proto_ranap, FT_UINT32, BASE_DEC);
+ ranap_ies_p2_dissector_table = register_dissector_table("ranap.ies.pair.second", "RANAP-PROTOCOL-IES-PAIR SecondValue", proto_ranap, FT_UINT32, BASE_DEC);
+ ranap_extension_dissector_table = register_dissector_table("ranap.extension", "RANAP-PROTOCOL-EXTENSION", proto_ranap, FT_UINT32, BASE_DEC);
+ ranap_proc_imsg_dissector_table = register_dissector_table("ranap.proc.imsg", "RANAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_ranap, FT_UINT32, BASE_DEC);
+ ranap_proc_sout_dissector_table = register_dissector_table("ranap.proc.sout", "RANAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_ranap, FT_UINT32, BASE_DEC);
+ ranap_proc_uout_dissector_table = register_dissector_table("ranap.proc.uout", "RANAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_ranap, FT_UINT32, BASE_DEC);
+ ranap_proc_out_dissector_table = register_dissector_table("ranap.proc.out", "RANAP-ELEMENTARY-PROCEDURE Outcome", proto_ranap, FT_UINT32, BASE_DEC);
+
+ nas_pdu_dissector_table = register_dissector_table("ranap.nas_pdu", "RANAP NAS PDU", proto_ranap, FT_UINT8, BASE_DEC);
+
+ ranap_module = prefs_register_protocol(proto_ranap, NULL);
+ prefs_register_bool_preference(ranap_module, "dissect_rrc_container",
+ "Attempt to dissect RRC-Container",
+ "Attempt to dissect RRC message embedded in RRC-Container IE",
+ &glbl_dissect_container);
+}
+
+
+/*--- proto_reg_handoff_ranap ---------------------------------------*/
+void
+proto_reg_handoff_ranap(void)
+{
+ rrc_s_to_trnc_handle = find_dissector_add_dependency("rrc.s_to_trnc_cont", proto_ranap);
+ rrc_t_to_srnc_handle = find_dissector_add_dependency("rrc.t_to_srnc_cont", proto_ranap);
+ rrc_ho_to_utran_cmd = find_dissector_add_dependency("rrc.irat.ho_to_utran_cmd", proto_ranap);
+ bssgp_handle = find_dissector("bssgp");
+ heur_dissector_add("sccp", dissect_sccp_ranap_heur, "RANAP over SCCP", "ranap_sccp", proto_ranap, HEURISTIC_ENABLE);
+ heur_dissector_add("sua", dissect_sccp_ranap_heur, "RANAP over SUA", "ranap_sua", proto_ranap, HEURISTIC_ENABLE);
+ dissector_add_uint_with_preference("sccp.ssn", SCCP_SSN_RANAP, ranap_handle);
+#include "packet-ranap-dis-tab.c"
+
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/ranap/packet-ranap-template.h b/epan/dissectors/asn1/ranap/packet-ranap-template.h
new file mode 100644
index 00000000..c690ddf8
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/packet-ranap-template.h
@@ -0,0 +1,29 @@
+/* packet-ranap-template.h
+ * Routines for GSM Supplementary Services dissection
+ * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_RANAP_H
+#define PACKET_RANAP_H
+#include "packet-ranap-exp.h"
+
+#endif /* PACKET_RANAP_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/ranap/ranap.cnf b/epan/dissectors/asn1/ranap/ranap.cnf
new file mode 100644
index 00000000..29b7bd1e
--- /dev/null
+++ b/epan/dissectors/asn1/ranap/ranap.cnf
@@ -0,0 +1,1657 @@
+# ranap.cnf
+# ranap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.EXPORTS
+EncryptionInformation
+IntegrityProtectionInformation
+InterSystemInformation-TransparentContainer_PDU
+LastVisitedUTRANCell-Item_PDU
+Service-Handover
+Source-ToTarget-TransparentContainer_PDU
+SourceCellID_PDU
+SourceRNC-ToTargetRNC-TransparentContainer_PDU
+TargetRNC-ToSourceRNC-TransparentContainer_PDU
+TargetRNC-ID
+TargetRNC-ID_PDU
+Cause_PDU
+
+#.PDU
+LastVisitedUTRANCell-Item
+RANAP-PDU
+SourceCellID
+SourceRNC-ToTargetRNC-TransparentContainer
+TargetRNC-ToSourceRNC-TransparentContainer
+TargetRNC-ID
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.USE_VALS_EXT
+ProtocolIE-ID
+CauseRadioNetwork
+ProcedureCode
+
+#.NO_EMIT
+TBCD-STRING
+#.END
+
+#.OMIT_ASSIGNMENT
+RateControlAllowed
+ProtocolError-IE-ContainerList
+Presence
+# NOTE when updating the asn1 spec check if these are used !!!!
+ForwardingIndication
+SourceeNodeB-ToTargeteNodeB-TransparentContainer
+TargeteNodeB-ToSourceeNodeB-TransparentContainer
+#.TYPE_RENAME
+
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+
+SDU-ErrorRatio/exponent exponent_1_8
+
+PrivateIE-Field/id private_id
+ProtocolExtensionField/id ext_id
+
+MessageStructure/_item/repetitionNumber item_repetitionNumber
+PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+RAB-DataVolumeReportItem/dl-UnsuccessfullyTransmittedDataVolume rab-dl-UnsuccessfullyTransmittedDataVolume
+
+#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &ranap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+#.FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue
+#.FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
+
+#.FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
+#.FN_FTR ProcedureCode
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
+ val_to_str_ext_const(ProcedureCode, &ranap_ProcedureCode_vals_ext,
+ "unknown message"));
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+#.FN_PARS Outcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_OutcomeValue
+
+
+#--- Parameterization is not supported in asn2wrs ---
+
+#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-Container {{IEsSetParam}}
+
+#.FN_PARS ProtocolIE-ContainerList
+MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+#.FN_HDR ProtocolIE-ContainerList
+ static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
+ { "lowerBound", ASN1_PAR_INTEGER },
+ { "upperBound", ASN1_PAR_INTEGER },
+ { NULL, (asn1_par_type)0 }
+ };
+ asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
+#.END
+
+#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-ContainerPair {{IEsSetParam}}
+
+#.FN_PARS ProtocolIE-ContainerPairList
+MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+#.FN_HDR ProtocolIE-ContainerPairList
+ static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
+ { "lowerBound", ASN1_PAR_INTEGER },
+ { "upperBound", ASN1_PAR_INTEGER },
+ { NULL, (asn1_par_type)0 }
+ };
+ asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
+#.END
+
+#RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
+#.FN_BODY RAB-IE-ContainerList
+ asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+ asn1_param_push_integer(%(ACTX)s, 1);
+ asn1_param_push_integer(%(ACTX)s, maxNrOfRABs);
+%(DEFAULT_BODY)s
+ asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+#.END
+#RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} }
+#.FN_BODY RAB-IE-ContainerPairList
+ asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerPairList");
+ asn1_param_push_integer(%(ACTX)s, 1);
+ asn1_param_push_integer(%(ACTX)s, maxNrOfRABs);
+%(DEFAULT_BODY)s
+ asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerPairList");
+#.END
+#ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
+# Not used ?
+# FN_BODY ProtocolError-IE-ContainerList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxNrOfRABs);
+#%(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+# END
+#IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} }
+#.FN_BODY IuSigConId-IE-ContainerList
+ asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+ asn1_param_push_integer(%(ACTX)s, 1);
+ asn1_param_push_integer(%(ACTX)s, maxNrOfIuSigConIds);
+%(DEFAULT_BODY)s
+ asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+#.END
+#DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} }
+#.FN_BODY DirectTransfer-IE-ContainerList
+ asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+ asn1_param_push_integer(%(ACTX)s, 1);
+ asn1_param_push_integer(%(ACTX)s, maxNrOfDTs);
+%(DEFAULT_BODY)s
+ asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+#.END
+
+
+
+# following construction is not supported by asn2wrs
+# IMSI ::= TBCD-STRING (SIZE (3..8))
+# TBCD-STRING ::= OCTET STRING
+
+#.FN_BODY IMSI
+ tvbuff_t* imsi_tvb;
+ const char *digit_str;
+ sccp_msg_info_t *sccp_info;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 8, FALSE, &imsi_tvb);
+
+ if(!imsi_tvb)
+ return offset;
+ /* Hide the octet string default printout */
+ proto_item_set_hidden(actx->created_item);
+ digit_str = dissect_e212_imsi(imsi_tvb, actx->pinfo, tree, 0, tvb_reported_length(imsi_tvb), FALSE);
+
+ sccp_info = (sccp_msg_info_t *)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_ranap, actx->pinfo->curr_layer_num);
+
+ if ( sccp_info && sccp_info->data.co.assoc && ! sccp_info->data.co.assoc->calling_party ) {
+
+ sccp_info->data.co.assoc->calling_party =
+ wmem_strdup_printf(wmem_file_scope(), "IMSI: %%s", digit_str );
+
+ sccp_info->data.co.assoc->imsi = wmem_strdup(wmem_file_scope(), digit_str );
+ }
+
+#.END
+
+#.FN_BODY NAS-PDU VAL_PTR = &nas_pdu_tvb
+ tvbuff_t *nas_pdu_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (nas_pdu_tvb)
+ dissector_try_uint(nas_pdu_dissector_table, 0x1, nas_pdu_tvb, %(ACTX)s->pinfo, proto_tree_get_root(tree));
+#.END
+
+#.FN_BODY RRC-Container VAL_PTR = &rrc_message_tvb
+ tvbuff_t *rrc_message_tvb=NULL;
+ guint8 container_choice=0;
+
+%(DEFAULT_BODY)s
+
+ if ((rrc_message_tvb)&&(tvb_reported_length(rrc_message_tvb)!=0)&&(glbl_dissect_container)){
+ switch(ProtocolIE_ID){
+ case id_Source_ToTarget_TransparentContainer: /* INTEGER ::= 61 */
+ /* 9.2.1.30a Source to Target Transparent Container
+ * Note: In the current version of this specification, this IE may
+ * either carry the Source RNC to Target RNC Transparent Container
+ * or the Source eNB to Target eNB Transparent Container IE as defined in [49]...
+ */
+ call_dissector(rrc_s_to_trnc_handle,rrc_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
+ break;
+ case id_Target_ToSource_TransparentContainer: /* INTEGER ::= 63 */
+ /* 9.2.1.30b Target to Source Transparent Container
+ * In the current version of this specification, this IE may
+ * either carry the Target RNC to Source RNC Transparent Container
+ * or the Target eNB to Source eNB Transparent Container IE as defined in [49]...
+ */
+
+ /* Assume a TargetRNC-ToSourceRNC-Container. Peek the RRC octetstream to guess the choice*/
+ container_choice = tvb_get_guint8(rrc_message_tvb, 0) >> 5;
+ if (container_choice < 7) {
+ /* Normal case (0-6): dissect as TargetRNC-ToSourceRNC-Container */
+ call_dissector(rrc_t_to_srnc_handle,rrc_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
+ } else {
+ /* Special case (7 extension): it would have been decoded as NULL. Attempt as HandoverToUTRANCommand instead*/
+ call_dissector(rrc_ho_to_utran_cmd,rrc_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
+ }
+ break;
+ default:
+ break;
+ }
+ }
+#.END
+
+#.FN_BODY OldBSS-ToNewBSS-Information VAL_PTR = &bss_info_tvb
+ tvbuff_t *bss_info_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (bss_info_tvb)
+ bssmap_old_bss_to_new_bss_info(bss_info_tvb, tree, actx->pinfo);
+#.END
+
+#.FN_BODY NewBSS-To-OldBSS-Information VAL_PTR = &bss_info_tvb
+ tvbuff_t *bss_info_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (bss_info_tvb)
+ bssmap_new_bss_to_old_bss_info(bss_info_tvb, tree, actx->pinfo);
+#.END
+
+#.FN_BODY L3-Information VAL_PTR = &l3_info_tvb
+ tvbuff_t *l3_info_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (l3_info_tvb)
+ dissector_try_uint(nas_pdu_dissector_table, 0x1, l3_info_tvb, %(ACTX)s->pinfo, proto_tree_get_root(tree));
+#.END
+
+# following construction is not supported by asn2wrs
+# PLMNidentity ::= TBCD-STRING (SIZE (3))
+# TBCD-STRING ::= OCTET STRING
+
+#.FN_BODY PLMNidentity VAL_PTR =
+ tvbuff_t *parameter_tvb=NULL;
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ e212_number_type_t number_type = private_data->number_type;
+ private_data->number_type = E212_NONE;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, &parameter_tvb);
+
+ if (!parameter_tvb)
+ return offset;
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, number_type, FALSE);
+#.END
+
+#.FN_BODY CGI
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ private_data->number_type = E212_CGI;
+
+%(DEFAULT_BODY)s
+
+#.FN_BODY LAI
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ /* The RANAP ASN.1 defines the RAI as being composed of the LAI and a RAC
+ * (cf. with the definition in the RNSAP ASN.1); don't override the fields
+ * in that case.
+ */
+ if (private_data->number_type != E212_RAI) {
+ private_data->number_type = E212_LAI;
+ }
+
+%(DEFAULT_BODY)s
+
+#.FN_BODY RAI
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ private_data->number_type = E212_RAI;
+
+%(DEFAULT_BODY)s
+
+#.FN_BODY SAI
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ private_data->number_type = E212_SAI;
+
+%(DEFAULT_BODY)s
+
+#.FN_BODY TAI
+ ranap_private_data_t *private_data = (ranap_private_data_t*)ranap_get_private_data(actx);
+ private_data->number_type = E212_TAI;
+
+%(DEFAULT_BODY)s
+
+# FN_BODY MBMSSessionDuration VAL_PTR = &parameter_tvb
+# tvbuff_t *nas_pdu_tvb=NULL;
+#
+#%(DEFAULT_BODY)s
+#
+# if (parameter_tvb)
+# dissect_gtp_mbms_ses_dur(parameter_tvb, actx->pinfo, tree);
+
+# 9.2.2.1 Transport Layer Address
+# For details on the Transport Layer Address, see ref
+# 3GPP TS 25.414: "UTRAN Iu interface data transport and transport signalling".
+#
+#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_item *item;
+ proto_tree *subtree, *nsap_tree;
+ guint8 *padded_nsap_bytes;
+ tvbuff_t *nsap_tvb;
+ gint tvb_len;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ /* Get the length */
+ tvb_len = tvb_reported_length(parameter_tvb);
+ subtree = proto_item_add_subtree(actx->created_item, ett_ranap_transportLayerAddress);
+ if (tvb_len == 4){
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv4, parameter_tvb, 0, tvb_len, ENC_BIG_ENDIAN);
+ private_data_set_transportLayerAddress_ipv4(actx, tvb_get_ipv4(parameter_tvb, 0));
+ }
+ if (tvb_len == 16){
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv6, parameter_tvb, 0, tvb_len, ENC_NA);
+ }
+ if (tvb_len == 20 || tvb_len == 7){
+ /* NSAP */
+ if (tvb_len == 7){
+ /* Unpadded IPv4 NSAP */
+ /* Creating a new TVB with padding */
+ padded_nsap_bytes = (guint8*) wmem_alloc0(actx->pinfo->pool, 20);
+ tvb_memcpy(parameter_tvb, padded_nsap_bytes, 0, tvb_len);
+ nsap_tvb = tvb_new_child_real_data(tvb, padded_nsap_bytes, 20, 20);
+ add_new_data_source(actx->pinfo, nsap_tvb, "Padded NSAP Data");
+ } else {
+ /* Padded NSAP*/
+ nsap_tvb = parameter_tvb;
+ }
+ item = proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_nsap, parameter_tvb, 0, tvb_len, ENC_NA);
+ nsap_tree = proto_item_add_subtree(item, ett_ranap_transportLayerAddress_nsap);
+
+ if(tvb_get_ntoh24(parameter_tvb,0) == 0x350001){
+ /* IPv4 */
+ private_data_set_transportLayerAddress_ipv4(actx, tvb_get_ipv4(parameter_tvb, 3));
+ }
+ dissect_nsap(nsap_tvb, 0, 20, nsap_tree);
+ }
+
+#.FN_BODY GTP-TEI VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ int saved_hf;
+
+ saved_hf = hf_index;
+ hf_index = -1;
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ proto_tree_add_item(tree, saved_hf, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+
+#.FN_HDR SourceRNC-ToTargetRNC-TransparentContainer
+/* If SourceRNC-ToTargetRNC-TransparentContainer is called through
+ dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU
+ ProtocolIE_ID may be unset
+ */
+
+
+ ProtocolIE_ID = id_Source_ToTarget_TransparentContainer;
+
+#.FN_HDR TargetRNC-ToSourceRNC-TransparentContainer
+/* If TargetRNC-ToSourceRNC-TransparentContainer is called through
+ dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU
+ ProtocolIE_ID may be unset
+ */
+
+
+ ProtocolIE_ID = id_Target_ToSource_TransparentContainer;
+
+#.FN_BODY Source-ToTarget-TransparentContainer VAL_PTR = &parameter_tvb
+# -- Note: In the current version of this specification, this IE may either carry the Source RNC to
+#-- Target RNC Transparent Container or the Source eNB to Target eNB Transparent Container IE as
+# -- defined in [49]
+# [49] 3GPP TS 36.413: "Evolved Universal Terrestrial Radio Access Network (E-UTRAN); S1
+# Application Protocol (S1AP)".
+
+ dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU );
+
+#.FN_BODY Target-ToSource-TransparentContainer VAL_PTR = &parameter_tvb
+#-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system.
+#-- Note: In the current version of this specification, this IE may either carry the Target RNC to
+#-- Source RNC Transparent Container or the Target eNB to Source eNB Transparent Container IE as
+#-- defined in [49]
+# [49] 3GPP TS 36.413: "Evolved Universal Terrestrial Radio Access Network (E-UTRAN); S1
+# Application Protocol (S1AP)".
+
+ dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU );
+
+
+#.FN_BODY BindingID VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb = NULL;
+%(DEFAULT_BODY)s
+ /* N.B. value_tvb is 4 bytes of OCTET STRING */
+ if (tvb_get_ntohs(value_tvb, 2) == 0) {
+ /* Will show first 2 bytes as an integer, as very likely to be a UDP port number */
+ guint16 port_number = tvb_get_ntohs(value_tvb, 0);
+ private_data_set_binding_id_port(actx, port_number);
+ proto_item_append_text(actx->created_item, " (%%u)", port_number);
+ }
+
+#.FN_BODY UE-History-Information VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (value_tvb)
+ dissect_s1ap_UE_HistoryInformation_PDU(value_tvb, %(ACTX)s->pinfo, tree, NULL);
+
+#.FN_BODY RAB-SetupOrModifyItemFirst
+ address ipv4_addr;
+ guint32 transportLayerAddress_ipv4;
+ guint16 binding_id;
+
+ private_data_set_transportLayerAddress_ipv4(actx, 0);
+ private_data_set_binding_id_port(actx, 0);
+%(DEFAULT_BODY)s
+ transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx);
+ binding_id = private_data_get_binding_id_port(actx);
+ if (actx->pinfo->fd->visited || transportLayerAddress_ipv4 == 0 || binding_id == 0){
+ return offset;
+ }
+ set_address(&ipv4_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+ /* Set RTP dissector for the UDP stream of this RAB */
+ rtp_add_address(actx->pinfo, PT_UDP, &ipv4_addr, binding_id, 0, "RANAP", actx->pinfo->num, FALSE, 0);
+
+#.FN_BODY RAB-SetupOrModifiedItem
+ address ipv4_addr;
+ guint32 transportLayerAddress_ipv4;
+ guint16 binding_id;
+
+ private_data_set_transportLayerAddress_ipv4(actx, 0);
+ private_data_set_binding_id_port(actx, 0);
+%(DEFAULT_BODY)s
+ transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx);
+ binding_id = private_data_get_binding_id_port(actx);
+ if (actx->pinfo->fd->visited || transportLayerAddress_ipv4 == 0 || binding_id == 0){
+ return offset;
+ }
+ set_address(&ipv4_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
+ /* Set RTP dissector for the UDP stream of this RAB */
+ rtp_add_address(actx->pinfo, PT_UDP, &ipv4_addr, binding_id, 0, "RANAP", actx->pinfo->num, FALSE, 0);
+
+# Contains the BSSGP RIM PDU as defined in TS 48.018 [36].
+#.FN_BODY RIMInformation VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb = NULL;
+
+ %(DEFAULT_BODY)s
+ if (value_tvb){
+ call_dissector_only(bssgp_handle, value_tvb, %(ACTX)s->pinfo, tree, NULL);
+ }
+
+#------ Pretify info column -----
+# Iu-ReleaseCommand
+#.FN_HDR Iu-ReleaseCommand
+col_set_str(actx->pinfo->cinfo, COL_INFO,"Iu-ReleaseCommand ");
+
+# Iu-ReleaseComplete
+#.FN_HDR Iu-ReleaseComplete
+col_set_str(actx->pinfo->cinfo, COL_INFO,"Iu-ReleaseComplete ");
+
+# RelocationRequired
+#.FN_HDR RelocationRequired
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationRequired ");
+
+# RelocationCommand
+#.FN_HDR RelocationCommand
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationCommand ");
+
+# RelocationPreparationFailure
+#.FN_HDR RelocationPreparationFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationPreparationFailure ");
+
+# RelocationRequest
+#.FN_HDR RelocationRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationRequest ");
+
+# RelocationRequestAcknowledge
+#.FN_HDR RelocationRequestAcknowledge
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationRequestAcknowledge ");
+
+# RelocationFailure
+#.FN_HDR RelocationFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationFailure ");
+
+# RelocationCancel
+#.FN_HDR RelocationCancel
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationCancel ");
+
+# RelocationCancelAcknowledge
+#.FN_HDR RelocationCancelAcknowledge
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationCancelAcknowledge ");
+
+# SRNS-ContextRequest
+#.FN_HDR SRNS-ContextRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SRNS-ContextRequest ");
+
+# SRNS-ContextResponse
+#.FN_HDR SRNS-ContextResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SRNS-ContextResponse ");
+
+# SecurityModeCommand
+#.FN_HDR SecurityModeCommand
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SecurityModeCommand ");
+
+# SecurityModeComplete
+#.FN_HDR SecurityModeComplete
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SecurityModeComplete ");
+
+# SecurityModeReject
+#.FN_HDR SecurityModeReject
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SecurityModeReject ");
+
+# DataVolumeReportRequest
+#.FN_HDR DataVolumeReportRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DataVolumeReportRequest ");
+
+# DataVolumeReport
+#.FN_HDR DataVolumeReport
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DataVolumeReport ");
+
+# Reset
+#.FN_HDR Reset
+col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset ");
+
+# ResetAcknowledge
+#.FN_HDR ResetAcknowledge
+col_set_str(actx->pinfo->cinfo, COL_INFO,"ResetAcknowledge ");
+
+# RAB-ReleaseRequest
+#.FN_HDR RAB-ReleaseRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RAB-ReleaseRequest ");
+
+# Iu-ReleaseRequest
+#.FN_HDR Iu-ReleaseRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"Iu-ReleaseRequest ");
+
+# RelocationDetect
+#.FN_HDR RelocationDetect
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationDetect ");
+
+# RelocationComplete
+#.FN_HDR RelocationComplete
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RelocationComplete ");
+
+# Paging
+#.FN_HDR Paging
+col_set_str(actx->pinfo->cinfo, COL_INFO,"Paging ");
+
+# CommonID
+#.FN_HDR CommonID
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonID ");
+
+# CN-InvokeTrace
+#.FN_HDR CN-InvokeTrace
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CN-InvokeTrace ");
+
+# CN-DeactivateTrace
+#.FN_HDR CN-DeactivateTrace
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CN-DeactivateTrace ");
+
+# LocationReportingControl
+#.FN_HDR LocationReportingControl
+col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationReportingControl ");
+
+# LocationReport
+#.FN_HDR LocationReport
+col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationReport ");
+
+# InitialUE-Message
+#.FN_HDR InitialUE-Message
+col_set_str(actx->pinfo->cinfo, COL_INFO,"InitialUE-Message ");
+
+# DirectTransfer
+#.FN_HDR DirectTransfer
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DirectTransfer ");
+
+# Overload
+#.FN_HDR Overload
+col_set_str(actx->pinfo->cinfo, COL_INFO,"Overload ");
+
+# ErrorIndication
+#.FN_HDR ErrorIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"ErrorIndication ");
+
+# SRNS-DataForwardCommand
+#.FN_HDR SRNS-DataForwardCommand
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SRNS-DataForwardCommand ");
+
+# ForwardSRNS-Context
+#.FN_HDR ForwardSRNS-Context
+col_set_str(actx->pinfo->cinfo, COL_INFO,"ForwardSRNS-Context ");
+
+# RAB-AssignmentRequest
+#.FN_HDR RAB-AssignmentRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RAB-AssignmentRequest ");
+
+# RAB-AssignmentResponse
+#.FN_HDR RAB-AssignmentResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RAB-AssignmentResponse ");
+
+# PrivateMessage
+#.FN_HDR PrivateMessage
+col_set_str(actx->pinfo->cinfo, COL_INFO,"PrivateMessage ");
+
+# ResetResource
+#.FN_HDR ResetResource
+col_set_str(actx->pinfo->cinfo, COL_INFO,"ResetResource ");
+
+# ResetResourceAcknowledge
+#.FN_HDR ResetResourceAcknowledge
+col_set_str(actx->pinfo->cinfo, COL_INFO,"ResetResourceAcknowledge ");
+
+# RANAP-RelocationInformation
+#.FN_HDR RANAP-RelocationInformation
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RANAP-RelocationInformation ");
+
+# RAB-ModifyRequest
+#.FN_HDR RAB-ModifyRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RAB-ModifyRequest ");
+
+# LocationRelatedDataRequest
+#.FN_HDR LocationRelatedDataRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationRelatedDataRequest ");
+
+# LocationRelatedDataResponse
+#.FN_HDR LocationRelatedDataResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationRelatedDataResponse ");
+
+# LocationRelatedDataFailure
+#.FN_HDR LocationRelatedDataFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"LocationRelatedDataFailure ");
+
+# InformationTransferIndication
+#.FN_HDR InformationTransferIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"InformationTransferIndication ");
+
+# InformationTransferConfirmation
+#.FN_HDR InformationTransferConfirmation
+col_set_str(actx->pinfo->cinfo, COL_INFO,"InformationTransferConfirmation ");
+
+# InformationTransferFailure
+#.FN_HDR InformationTransferFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"InformationTransferFailure ");
+
+# UESpecificInformationIndication
+#.FN_HDR UESpecificInformationIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"UESpecificInformationIndication ");
+
+# DirectInformationTransfer
+#.FN_HDR DirectInformationTransfer
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DirectInformationTransfer ");
+
+# UplinkInformationExchangeRequest
+#.FN_HDR UplinkInformationExchangeRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"UplinkInformationExchangeRequest ");
+
+# UplinkInformationExchangeResponse
+#.FN_HDR UplinkInformationExchangeResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"UplinkInformationExchangeResponse ");
+
+# UplinkInformationExchangeFailure
+#.FN_HDR UplinkInformationExchangeFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"UplinkInformationExchangeFailure ");
+
+# MBMSSessionStart
+#.FN_HDR MBMSSessionStart
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStart ");
+
+# MBMSSessionStartResponse
+#.FN_HDR MBMSSessionStartResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStartResponse ");
+
+# MBMSSessionStartFailure
+#.FN_HDR MBMSSessionStartFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStartFailure ");
+
+# MBMSSessionUpdate
+#.FN_HDR MBMSSessionUpdate
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionUpdate ");
+
+# MBMSSessionUpdateResponse
+#.FN_HDR MBMSSessionUpdateResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionUpdateResponse ");
+
+# MBMSSessionUpdateFailure
+#.FN_HDR MBMSSessionUpdateFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionUpdateFailure ");
+
+# MBMSSessionStop
+#.FN_HDR MBMSSessionStop
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStop ");
+
+# MBMSSessionStopResponse
+#.FN_HDR MBMSSessionStopResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSSessionStopResponse ");
+
+# MBMSUELinkingRequest
+#.FN_HDR MBMSUELinkingRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSUELinkingRequest ");
+
+# MBMSUELinkingResponse
+#.FN_HDR MBMSUELinkingResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSUELinkingResponse ");
+
+# MBMSRegistrationRequest
+#.FN_HDR MBMSRegistrationRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRegistrationRequest ");
+
+# MBMSRegistrationResponse
+#.FN_HDR MBMSRegistrationResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRegistrationResponse ");
+
+# MBMSRegistrationFailure
+#.FN_HDR MBMSRegistrationFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRegistrationFailure ");
+
+# MBMSCNDe-RegistrationRequest
+#.FN_HDR MBMSCNDe-RegistrationRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSCNDe-RegistrationRequest ");
+
+# MBMSCNDe-RegistrationResponse
+#.FN_HDR MBMSCNDe-RegistrationResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSCNDe-RegistrationResponse ");
+
+# MBMSRABEstablishmentIndication
+#.FN_HDR MBMSRABEstablishmentIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRABEstablishmentIndication ");
+
+# MBMSRABReleaseRequest
+#.FN_HDR MBMSRABReleaseRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRABReleaseRequest ");
+
+# MBMSRABRelease
+#.FN_HDR MBMSRABRelease
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRABRelease ");
+
+# MBMSRABReleaseFailure
+#.FN_HDR MBMSRABReleaseFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMSRABReleaseFailure ");
+
+# EnhancedRelocationCompleteRequest
+#.FN_HDR EnhancedRelocationCompleteRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"EnhancedRelocationCompleteRequest ");
+
+# EnhancedRelocationCompleteResponse
+#.FN_HDR EnhancedRelocationCompleteResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"EnhancedRelocationCompleteResponse ");
+
+# EnhancedRelocationCompleteFailure
+#.FN_HDR EnhancedRelocationCompleteFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"EnhancedRelocationCompleteFailure ");
+
+# EnhancedRelocationCompleteConfirm
+#.FN_HDR EnhancedRelocationCompleteConfirm
+col_set_str(actx->pinfo->cinfo, COL_INFO,"EnhancedRelocationCompleteConfirm ");
+
+# RANAP-EnhancedRelocationInformationRequest
+#.FN_HDR RANAP-EnhancedRelocationInformationRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RANAP-EnhancedRelocationInformationRequest ");
+
+# RANAP-EnhancedRelocationInformationResponse
+#.FN_HDR RANAP-EnhancedRelocationInformationResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RANAP-EnhancedRelocationInformationResponse ");
+
+# SRVCC-CSKeysRequest
+#.FN_HDR SRVCC-CSKeysRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SRVCC-CSKeysRequest ");
+
+# SRVCC-CSKeysResponse
+#.FN_HDR SRVCC-CSKeysResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"SRVCC-CSKeysResponse ");
+
+# UeRadioCapabilityMatchRequest
+#.FN_HDR UeRadioCapabilityMatchRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"UeRadioCapabilityMatchRequest ");
+
+# UeRadioCapabilityMatchResponse
+#.FN_HDR UeRadioCapabilityMatchResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"UeRadioCapabilityMatchResponse ");
+
+# UeRegistrationQueryRequest
+#.FN_HDR UeRegistrationQueryRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"UeRegistrationQueryRequest ");
+
+# UeRegistrationQueryResponse
+#.FN_HDR UeRegistrationQueryResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"UeRegistrationQueryResponse ");
+
+# RerouteNASRequest
+#.FN_HDR RerouteNASRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RerouteNASRequest ");
+
+#.TYPE_ATTR
+ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &ranap_ProtocolIE_ID_vals_ext
+GTP-TEI TYPE = FT_UINT32 DISPLAY = BASE_HEX_DEC STRINGS = NULL
+
+#.TYPE_ATTR
+Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
+#.FN_BODY Port-Number VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+LAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY LAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+RAC TYPE = FT_UINT8 DISPLAY = BASE_DEC_HEX
+#.FN_BODY RAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+SAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY SAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.ASSIGN_VALUE_TO_TYPE # RANAP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+id-RAB-Assignment ProcedureCode
+id-Iu-Release ProcedureCode
+id-RelocationPreparation ProcedureCode
+id-RelocationResourceAllocation ProcedureCode
+id-RelocationCancel ProcedureCode
+id-SRNS-ContextTransfer ProcedureCode
+id-SecurityModeControl ProcedureCode
+id-DataVolumeReport ProcedureCode
+id-Not-Used-8 ProcedureCode
+id-Reset ProcedureCode
+id-RAB-ReleaseRequest ProcedureCode
+id-Iu-ReleaseRequest ProcedureCode
+id-RelocationDetect ProcedureCode
+id-RelocationComplete ProcedureCode
+id-Paging ProcedureCode
+id-CommonID ProcedureCode
+id-CN-InvokeTrace ProcedureCode
+id-LocationReportingControl ProcedureCode
+id-LocationReport ProcedureCode
+id-InitialUE-Message ProcedureCode
+id-DirectTransfer ProcedureCode
+id-OverloadControl ProcedureCode
+id-ErrorIndication ProcedureCode
+id-SRNS-DataForward ProcedureCode
+id-ForwardSRNS-Context ProcedureCode
+id-privateMessage ProcedureCode
+id-CN-DeactivateTrace ProcedureCode
+id-ResetResource ProcedureCode
+id-RANAP-Relocation ProcedureCode
+id-RAB-ModifyRequest ProcedureCode
+id-LocationRelatedData ProcedureCode
+id-InformationTransfer ProcedureCode
+id-UESpecificInformation ProcedureCode
+id-UplinkInformationExchange ProcedureCode
+id-DirectInformationTransfer ProcedureCode
+id-MBMSSessionStart ProcedureCode
+id-MBMSSessionUpdate ProcedureCode
+id-MBMSSessionStop ProcedureCode
+id-MBMSUELinking ProcedureCode
+id-MBMSRegistration ProcedureCode
+id-MBMSCNDe-Registration-Procedure ProcedureCode
+id-MBMSRABEstablishmentIndication ProcedureCode
+id-MBMSRABRelease ProcedureCode
+id-enhancedRelocationComplete ProcedureCode
+id-enhancedRelocationCompleteConfirm ProcedureCode
+id-RANAPenhancedRelocation ProcedureCode
+id-SRVCCPreparation ProcedureCode
+id-UeRadioCapabilityMatch ProcedureCode
+id-UeRegistrationQuery ProcedureCode
+id-RerouteNASRequest ProcedureCode
+# When adding a new ProcedureCode, update RANAP_MAX_PC value in packet-ranap-template.c too
+
+# ProtocolIE-ID
+id-AreaIdentity ProtocolIE-ID
+id-Not-Used-1 ProtocolIE-ID
+id-Not-Used-2 ProtocolIE-ID
+id-CN-DomainIndicator ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-ChosenEncryptionAlgorithm ProtocolIE-ID
+id-ChosenIntegrityProtectionAlgorithm ProtocolIE-ID
+id-ClassmarkInformation2 ProtocolIE-ID
+id-ClassmarkInformation3 ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-DL-GTP-PDU-SequenceNumber ProtocolIE-ID
+id-EncryptionInformation ProtocolIE-ID
+id-IntegrityProtectionInformation ProtocolIE-ID
+id-IuTransportAssociation ProtocolIE-ID
+id-L3-Information ProtocolIE-ID
+id-LAI ProtocolIE-ID
+id-NAS-PDU ProtocolIE-ID
+id-NonSearchingIndication ProtocolIE-ID
+id-NumberOfSteps ProtocolIE-ID
+id-OMC-ID ProtocolIE-ID
+id-OldBSS-ToNewBSS-Information ProtocolIE-ID
+id-PagingAreaID ProtocolIE-ID
+id-PagingCause ProtocolIE-ID
+id-PermanentNAS-UE-ID ProtocolIE-ID
+id-RAB-ContextItem ProtocolIE-ID
+id-RAB-ContextList ProtocolIE-ID
+id-RAB-DataForwardingItem ProtocolIE-ID
+id-RAB-DataForwardingItem-SRNS-CtxReq ProtocolIE-ID
+id-RAB-DataForwardingList ProtocolIE-ID
+id-RAB-DataForwardingList-SRNS-CtxReq ProtocolIE-ID
+id-RAB-DataVolumeReportItem ProtocolIE-ID
+id-RAB-DataVolumeReportList ProtocolIE-ID
+id-RAB-DataVolumeReportRequestItem ProtocolIE-ID
+id-RAB-DataVolumeReportRequestList ProtocolIE-ID
+id-RAB-FailedItem ProtocolIE-ID
+id-RAB-FailedList ProtocolIE-ID
+id-RAB-ID ProtocolIE-ID
+id-RAB-QueuedItem ProtocolIE-ID
+id-RAB-QueuedList ProtocolIE-ID
+id-RAB-ReleaseFailedList ProtocolIE-ID
+id-RAB-ReleaseItem ProtocolIE-ID
+id-RAB-ReleaseList ProtocolIE-ID
+id-RAB-ReleasedItem ProtocolIE-ID
+id-RAB-ReleasedList ProtocolIE-ID
+id-RAB-ReleasedList-IuRelComp ProtocolIE-ID
+id-RAB-RelocationReleaseItem ProtocolIE-ID
+id-RAB-RelocationReleaseList ProtocolIE-ID
+id-RAB-SetupItem-RelocReq ProtocolIE-ID
+id-RAB-SetupItem-RelocReqAck ProtocolIE-ID
+id-RAB-SetupList-RelocReq ProtocolIE-ID
+id-RAB-SetupList-RelocReqAck ProtocolIE-ID
+id-RAB-SetupOrModifiedItem ProtocolIE-ID
+id-RAB-SetupOrModifiedList ProtocolIE-ID
+id-RAB-SetupOrModifyItem ProtocolIE-ID
+id-RAB-SetupOrModifyList ProtocolIE-ID
+id-RAC ProtocolIE-ID
+id-RelocationType ProtocolIE-ID
+id-RequestType ProtocolIE-ID
+id-SAI ProtocolIE-ID
+id-SAPI ProtocolIE-ID
+id-SourceID ProtocolIE-ID
+id-Source-ToTarget-TransparentContainer ProtocolIE-ID
+id-TargetID ProtocolIE-ID
+id-Target-ToSource-TransparentContainer ProtocolIE-ID
+id-TemporaryUE-ID ProtocolIE-ID
+id-TraceReference ProtocolIE-ID
+id-TraceType ProtocolIE-ID
+id-TransportLayerAddress ProtocolIE-ID
+id-TriggerID ProtocolIE-ID
+id-UE-ID ProtocolIE-ID
+id-UL-GTP-PDU-SequenceNumber ProtocolIE-ID
+id-RAB-FailedtoReportItem ProtocolIE-ID
+id-RAB-FailedtoReportList ProtocolIE-ID
+id-Not-Used-73 ProtocolIE-ID
+id-Not-Used-74 ProtocolIE-ID
+id-KeyStatus ProtocolIE-ID
+id-DRX-CycleLengthCoefficient ProtocolIE-ID
+id-IuSigConIdList ProtocolIE-ID
+id-IuSigConIdItem ProtocolIE-ID
+id-IuSigConId ProtocolIE-ID
+id-DirectTransferInformationItem-RANAP-RelocInf ProtocolIE-ID
+id-DirectTransferInformationList-RANAP-RelocInf ProtocolIE-ID
+id-RAB-ContextItem-RANAP-RelocInf ProtocolIE-ID
+id-RAB-ContextList-RANAP-RelocInf ProtocolIE-ID
+id-RAB-ContextFailedtoTransferItem ProtocolIE-ID
+id-RAB-ContextFailedtoTransferList ProtocolIE-ID
+id-GlobalRNC-ID ProtocolIE-ID
+id-RAB-ReleasedItem-IuRelComp ProtocolIE-ID
+id-MessageStructure ProtocolIE-ID
+id-Alt-RAB-Parameters ProtocolIE-ID
+id-Ass-RAB-Parameters ProtocolIE-ID
+id-RAB-ModifyList ProtocolIE-ID
+id-RAB-ModifyItem ProtocolIE-ID
+id-TypeOfError ProtocolIE-ID
+id-BroadcastAssistanceDataDecipheringKeys ProtocolIE-ID
+id-LocationRelatedDataRequestType ProtocolIE-ID
+id-GlobalCN-ID ProtocolIE-ID
+id-LastKnownServiceArea ProtocolIE-ID
+id-SRB-TrCH-Mapping ProtocolIE-ID
+id-InterSystemInformation-TransparentContainer ProtocolIE-ID
+id-NewBSS-To-OldBSS-Information ProtocolIE-ID
+id-Not-Used-101 ProtocolIE-ID
+id-Not-Used-102 ProtocolIE-ID
+id-SourceRNC-PDCP-context-info ProtocolIE-ID
+id-InformationTransferID ProtocolIE-ID
+id-SNA-Access-Information ProtocolIE-ID
+id-ProvidedData ProtocolIE-ID
+id-GERAN-BSC-Container ProtocolIE-ID
+id-GERAN-Classmark ProtocolIE-ID
+id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item ProtocolIE-ID
+id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse ProtocolIE-ID
+id-VerticalAccuracyCode ProtocolIE-ID
+id-ResponseTime ProtocolIE-ID
+id-PositioningPriority ProtocolIE-ID
+id-ClientType ProtocolIE-ID
+id-LocationRelatedDataRequestTypeSpecificToGERANIuMode ProtocolIE-ID
+id-SignallingIndication ProtocolIE-ID
+id-hS-DSCH-MAC-d-Flow-ID ProtocolIE-ID
+id-UESBI-Iu ProtocolIE-ID
+id-PositionData ProtocolIE-ID
+id-PositionDataSpecificToGERANIuMode ProtocolIE-ID
+id-CellLoadInformationGroup ProtocolIE-ID
+id-AccuracyFulfilmentIndicator ProtocolIE-ID
+id-InformationTransferType ProtocolIE-ID
+id-TraceRecordingSessionInformation ProtocolIE-ID
+id-TracePropagationParameters ProtocolIE-ID
+id-InterSystemInformationTransferType ProtocolIE-ID
+id-SelectedPLMN-ID ProtocolIE-ID
+id-RedirectionCompleted ProtocolIE-ID
+id-RedirectionIndication ProtocolIE-ID
+id-NAS-SequenceNumber ProtocolIE-ID
+id-RejectCauseValue ProtocolIE-ID
+id-APN ProtocolIE-ID
+id-CNMBMSLinkingInformation ProtocolIE-ID
+id-DeltaRAListofIdleModeUEs ProtocolIE-ID
+id-FrequenceLayerConvergenceFlag ProtocolIE-ID
+id-InformationExchangeID ProtocolIE-ID
+id-InformationExchangeType ProtocolIE-ID
+id-InformationRequested ProtocolIE-ID
+id-InformationRequestType ProtocolIE-ID
+id-IPMulticastAddress ProtocolIE-ID
+id-JoinedMBMSBearerServicesList ProtocolIE-ID
+id-LeftMBMSBearerServicesList ProtocolIE-ID
+id-MBMSBearerServiceType ProtocolIE-ID
+id-MBMSCNDe-Registration ProtocolIE-ID
+id-MBMSServiceArea ProtocolIE-ID
+id-MBMSSessionDuration ProtocolIE-ID
+id-MBMSSessionIdentity ProtocolIE-ID
+id-PDP-TypeInformation ProtocolIE-ID
+id-RAB-Parameters ProtocolIE-ID
+id-RAListofIdleModeUEs ProtocolIE-ID
+id-MBMSRegistrationRequestType ProtocolIE-ID
+id-SessionUpdateID ProtocolIE-ID
+id-TMGI ProtocolIE-ID
+id-TransportLayerInformation ProtocolIE-ID
+id-UnsuccessfulLinkingList ProtocolIE-ID
+id-MBMSLinkingInformation ProtocolIE-ID
+id-MBMSSessionRepetitionNumber ProtocolIE-ID
+id-AlternativeRABConfiguration ProtocolIE-ID
+id-AlternativeRABConfigurationRequest ProtocolIE-ID
+id-E-DCH-MAC-d-Flow-ID ProtocolIE-ID
+id-SourceBSS-ToTargetBSS-TransparentContainer ProtocolIE-ID
+id-TargetBSS-ToSourceBSS-TransparentContainer ProtocolIE-ID
+id-TimeToMBMSDataTransfer ProtocolIE-ID
+id-IncludeVelocity ProtocolIE-ID
+id-VelocityEstimate ProtocolIE-ID
+id-RedirectAttemptFlag ProtocolIE-ID
+id-RAT-Type ProtocolIE-ID
+id-PeriodicLocationInfo ProtocolIE-ID
+id-MBMSCountingInformation ProtocolIE-ID
+id-ExtendedRNC-ID ProtocolIE-ID
+id-170-not-to-be-used-for-IE-ids ProtocolIE-ID
+id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf ProtocolIE-ID
+id-Alt-RAB-Parameter-ExtendedMaxBitrateInf ProtocolIE-ID
+id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList ProtocolIE-ID
+id-Ass-RAB-Parameter-ExtendedMaxBitrateList ProtocolIE-ID
+id-RAB-Parameter-ExtendedGuaranteedBitrateList ProtocolIE-ID
+id-RAB-Parameter-ExtendedMaxBitrateList ProtocolIE-ID
+id-Requested-RAB-Parameter-ExtendedMaxBitrateList ProtocolIE-ID
+id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList ProtocolIE-ID
+id-LAofIdleModeUEs ProtocolIE-ID
+id-newLAListofIdleModeUEs ProtocolIE-ID
+id-LAListwithNoIdleModeUEsAnyMore ProtocolIE-ID
+id-183-not-to-be-used-for-IE-ids ProtocolIE-ID
+id-GANSS-PositioningDataSet ProtocolIE-ID
+id-RequestedGANSSAssistanceData ProtocolIE-ID
+id-BroadcastGANSSAssistanceDataDecipheringKeys ProtocolIE-ID
+id-d-RNTI-for-NoIuCSUP ProtocolIE-ID
+id-RAB-SetupList-EnhancedRelocCompleteReq ProtocolIE-ID
+id-RAB-SetupItem-EnhancedRelocCompleteReq ProtocolIE-ID
+id-RAB-SetupList-EnhancedRelocCompleteRes ProtocolIE-ID
+id-RAB-SetupItem-EnhancedRelocCompleteRes ProtocolIE-ID
+id-RAB-SetupList-EnhRelocInfoReq ProtocolIE-ID
+id-RAB-SetupItem-EnhRelocInfoReq ProtocolIE-ID
+id-RAB-SetupList-EnhRelocInfoRes ProtocolIE-ID
+id-RAB-SetupItem-EnhRelocInfoRes ProtocolIE-ID
+id-OldIuSigConId ProtocolIE-ID
+id-RAB-FailedList-EnhRelocInfoRes ProtocolIE-ID
+id-RAB-FailedItem-EnhRelocInfoRes ProtocolIE-ID
+
+id-Global-ENB-ID ProtocolIE-ID
+id-UE-History-Information ProtocolIE-ID
+id-MBMSSynchronisationInformation ProtocolIE-ID
+id-SubscriberProfileIDforRFP ProtocolIE-ID
+id-CSG-Id ProtocolIE-ID
+id-OldIuSigConIdCS ProtocolIE-ID
+id-OldIuSigConIdPS ProtocolIE-ID
+id-GlobalCN-IDCS ProtocolIE-ID
+id-GlobalCN-IDPS ProtocolIE-ID
+id-SourceExtendedRNC-ID ProtocolIE-ID
+id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes ProtocolIE-ID
+id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes ProtocolIE-ID
+id-SourceRNC-ID ProtocolIE-ID
+id-Relocation-TargetRNC-ID ProtocolIE-ID
+id-Relocation-TargetExtendedRNC-ID ProtocolIE-ID
+id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf ProtocolIE-ID
+id-Alt-RAB-Parameter-SupportedMaxBitrateInf ProtocolIE-ID
+id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList ProtocolIE-ID
+id-Ass-RAB-Parameter-SupportedMaxBitrateList ProtocolIE-ID
+id-RAB-Parameter-SupportedGuaranteedBitrateList ProtocolIE-ID
+id-RAB-Parameter-SupportedMaxBitrateList ProtocolIE-ID
+id-Requested-RAB-Parameter-SupportedMaxBitrateList ProtocolIE-ID
+id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList ProtocolIE-ID
+id-Relocation-SourceRNC-ID ProtocolIE-ID
+id-Relocation-SourceExtendedRNC-ID ProtocolIE-ID
+id-EncryptionKey ProtocolIE-ID
+id-IntegrityProtectionKey ProtocolIE-ID
+id-SRVCC-HO-Indication ProtocolIE-ID
+id-SRVCC-Information ProtocolIE-ID
+id-SRVCC-Operation-Possible ProtocolIE-ID
+id-CSG-Id-List ProtocolIE-ID
+id-PSRABtobeReplaced ProtocolIE-ID
+id-E-UTRAN-Service-Handover ProtocolIE-ID
+id-Not-Used-232 ProtocolIE-ID
+id-UE-AggregateMaximumBitRate ProtocolIE-ID
+id-CSG-Membership-Status ProtocolIE-ID
+id-Cell-Access-Mode ProtocolIE-ID
+id-IP-Source-Address ProtocolIE-ID
+id-CSFB-Information ProtocolIE-ID
+id-PDP-TypeInformation-extension ProtocolIE-ID
+id-MSISDN ProtocolIE-ID
+id-Offload-RAB-Parameters ProtocolIE-ID
+id-LGW-TransportLayerAddress ProtocolIE-ID
+id-Correlation-ID ProtocolIE-ID
+id-IRAT-Measurement-Configuration ProtocolIE-ID
+id-MDT-Configuration ProtocolIE-ID
+id-Priority-Class-Indicator ProtocolIE-ID
+# Ws Extension
+id-Not-Used-246 ProtocolIE-ID
+id-RNSAPRelocationParameters ProtocolIE-ID
+id-RABParametersList ProtocolIE-ID
+id-Management-Based-MDT-Allowed ProtocolIE-ID
+id-HigherBitratesThan16MbpsFlag ProtocolIE-ID
+id-Trace-Collection-Entity-IP-Addess ProtocolIE-ID
+id-End-Of-CSFB ProtocolIE-ID
+id-Time-UE-StayedInCell-EnhancedGranularity ProtocolIE-ID
+id-Out-Of-UTRAN ProtocolIE-ID
+id-TraceRecordingSessionReference ProtocolIE-ID
+id-IMSI ProtocolIE-ID
+id-HO-Cause ProtocolIE-ID
+id-VoiceSupportMatchIndicator ProtocolIE-ID
+id-RSRVCC-HO-Indication ProtocolIE-ID
+id-RSRVCC-Information ProtocolIE-ID
+id-AnchorPLMN-ID ProtocolIE-ID
+id-Tunnel-Information-for-BBF ProtocolIE-ID
+id-Management-Based-MDT-PLMN-List ProtocolIE-ID
+id-SignallingBasedMDTPLMNList ProtocolIE-ID
+id-M4Report ProtocolIE-ID
+id-M5Report ProtocolIE-ID
+id-M6Report ProtocolIE-ID
+id-M7Report ProtocolIE-ID
+id-TimingDifferenceULDL ProtocolIE-ID
+id-Serving-Cell-Identifier ProtocolIE-ID
+id-EARFCN-Extended ProtocolIE-ID
+id-RSRVCC-Operation-Possible ProtocolIE-ID
+id-SIPTO-LGW-TransportLayerAddress ProtocolIE-ID
+id-SIPTO-Correlation-ID ProtocolIE-ID
+id-LHN-ID ProtocolIE-ID
+id-Session-Re-establishment-Indicator ProtocolIE-ID
+id-LastE-UTRANPLMNIdentity ProtocolIE-ID
+id-RSRQ-Type ProtocolIE-ID
+id-RSRQ-Extension ProtocolIE-ID
+id-Additional-CSPS-coordination-information ProtocolIE-ID
+id-UERegistrationQueryResult ProtocolIE-ID
+id-IuSigConIdRangeEnd ProtocolIE-ID
+id-BarometricPressure ProtocolIE-ID
+id-Additional-PositioningDataSet ProtocolIE-ID
+id-CivicAddress ProtocolIE-ID
+id-SGSN-Group-Identity ProtocolIE-ID
+id-P-TMSI ProtocolIE-ID
+id-RANAP-Message ProtocolIE-ID
+id-PowerSavingIndicator ProtocolIE-ID
+id-UE-Usage-Type ProtocolIE-ID
+id-DCN-ID ProtocolIE-ID
+id-UE-Application-Layer-Measurement-Configuration ProtocolIE-ID
+id-UE-Application-Layer-Measurement-Configuration-For-Relocation ProtocolIE-ID
+#.END
+
+#.REGISTER
+
+#RANAP-PROTOCOL-IES
+Cause N ranap.ies id-Cause
+RAB-DataVolumeReportList N ranap.ies id-RAB-DataVolumeReportList
+RAB-ReleasedList-IuRelComp N ranap.ies id-RAB-ReleasedList-IuRelComp
+CriticalityDiagnostics N ranap.ies id-CriticalityDiagnostics
+RAB-DataVolumeReportItem N ranap.ies id-RAB-DataVolumeReportItem
+RAB-ReleasedItem-IuRelComp N ranap.ies id-RAB-ReleasedItem-IuRelComp
+RelocationType N ranap.ies id-RelocationType
+SourceID N ranap.ies id-SourceID
+SourceRNC-ToTargetRNC-TransparentContainer N ranap.ies id-Source-ToTarget-TransparentContainer
+Source-ToTarget-TransparentContainer N ranap.ies SPECIAL|id_Source_ToTarget_TransparentContainer
+TargetID N ranap.ies id-TargetID
+TargetRNC-ToSourceRNC-TransparentContainer N ranap.ies id-Target-ToSource-TransparentContainer
+Target-ToSource-TransparentContainer N ranap.ies SPECIAL|id_Target_ToSource_TransparentContainer
+ClassmarkInformation2 N ranap.ies id-ClassmarkInformation2
+ClassmarkInformation3 N ranap.ies id-ClassmarkInformation3
+OldBSS-ToNewBSS-Information N ranap.ies id-OldBSS-ToNewBSS-Information
+L3-Information N ranap.ies id-L3-Information
+RAB-RelocationReleaseList N ranap.ies id-RAB-RelocationReleaseList
+RAB-DataForwardingList N ranap.ies id-RAB-DataForwardingList
+RAB-RelocationReleaseItem N ranap.ies id-RAB-RelocationReleaseItem
+RAB-DataForwardingItem N ranap.ies id-RAB-DataForwardingItem
+PermanentNAS-UE-ID N ranap.ies id-PermanentNAS-UE-ID
+CN-DomainIndicator N ranap.ies id-CN-DomainIndicator
+RAB-SetupList-RelocReq N ranap.ies id-RAB-SetupList-RelocReq
+IntegrityProtectionInformation N ranap.ies id-IntegrityProtectionInformation
+EncryptionInformation N ranap.ies id-EncryptionInformation
+IuSignallingConnectionIdentifier N ranap.ies id-IuSigConId
+DirectTransferInformationList-RANAP-RelocInf N ranap.ies id-DirectTransferInformationList-RANAP-RelocInf
+DirectTransferInformationItem-RANAP-RelocInf N ranap.ies id-DirectTransferInformationItem-RANAP-RelocInf
+RAB-SetupItem-RelocReq N ranap.ies id-RAB-SetupItem-RelocReq
+RAB-SetupList-RelocReqAck N ranap.ies id-RAB-SetupList-RelocReqAck
+RAB-FailedList N ranap.ies id-RAB-FailedList
+ChosenIntegrityProtectionAlgorithm N ranap.ies id-ChosenIntegrityProtectionAlgorithm
+ChosenEncryptionAlgorithm N ranap.ies id-ChosenEncryptionAlgorithm
+RAB-SetupItem-RelocReqAck N ranap.ies id-RAB-SetupItem-RelocReqAck
+RAB-FailedItem N ranap.ies id-RAB-FailedItem
+RAB-DataForwardingList-SRNS-CtxReq N ranap.ies id-RAB-DataForwardingList-SRNS-CtxReq
+RAB-DataForwardingItem-SRNS-CtxReq N ranap.ies id-RAB-DataForwardingItem-SRNS-CtxReq
+RAB-ContextList N ranap.ies id-RAB-ContextList
+RAB-ContextFailedtoTransferList N ranap.ies id-RAB-ContextFailedtoTransferList
+RAB-ContextItem N ranap.ies id-RAB-ContextItem
+RABs-ContextFailedtoTransferItem N ranap.ies id-RAB-ContextFailedtoTransferItem
+KeyStatus N ranap.ies id-KeyStatus
+RAB-DataVolumeReportRequestList N ranap.ies id-RAB-DataVolumeReportRequestList
+RAB-DataVolumeReportRequestItem N ranap.ies id-RAB-DataVolumeReportRequestItem
+RAB-FailedtoReportList N ranap.ies id-RAB-FailedtoReportList
+RABs-failed-to-reportItem N ranap.ies id-RAB-FailedtoReportItem
+GlobalRNC-ID N ranap.ies id-GlobalRNC-ID
+ResetResourceList N ranap.ies IMSG|id_IuSigConIdList
+ResetResourceItem N ranap.ies IMSG|id_IuSigConIdItem
+ResetResourceAckList N ranap.ies SOUT|id_IuSigConIdList
+ResetResourceAckItem N ranap.ies SOUT|id_IuSigConIdItem
+RAB-ReleaseList N ranap.ies id-RAB-ReleaseList
+RAB-ReleaseItem N ranap.ies id-RAB-ReleaseItem
+TemporaryUE-ID N ranap.ies id-TemporaryUE-ID
+PagingAreaID N ranap.ies id-PagingAreaID
+PagingCause N ranap.ies id-PagingCause
+NonSearchingIndication N ranap.ies id-NonSearchingIndication
+DRX-CycleLengthCoefficient N ranap.ies id-DRX-CycleLengthCoefficient
+TraceType N ranap.ies id-TraceType
+TraceReference N ranap.ies id-TraceReference
+TriggerID N ranap.ies id-TriggerID
+UE-ID N ranap.ies id-UE-ID
+OMC-ID N ranap.ies id-OMC-ID
+RequestType N ranap.ies id-RequestType
+AreaIdentity N ranap.ies id-AreaIdentity
+LAI N ranap.ies id-LAI
+RAC N ranap.ies id-RAC
+SAI N ranap.ies id-SAI
+NAS-PDU N ranap.ies id-NAS-PDU
+SAPI N ranap.ies id-SAPI
+RejectCauseValue N ranap.ies id-RejectCauseValue
+NAS-SequenceNumber N ranap.ies id-NAS-SequenceNumber
+NumberOfSteps N ranap.ies id-NumberOfSteps
+RAB-SetupOrModifyList N ranap.ies id-RAB-SetupOrModifyList
+RAB-SetupOrModifiedList N ranap.ies id-RAB-SetupOrModifiedList
+RAB-ReleasedList N ranap.ies id-RAB-ReleasedList
+RAB-QueuedList N ranap.ies id-RAB-QueuedList
+RAB-ReleaseFailedList N ranap.ies id-RAB-ReleaseFailedList
+RAB-SetupOrModifiedItem N ranap.ies id-RAB-SetupOrModifiedItem
+RAB-ReleasedItem N ranap.ies id-RAB-ReleasedItem
+RAB-QueuedItem N ranap.ies id-RAB-QueuedItem
+GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item N ranap.ies id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item
+RAB-ContextList-RANAP-RelocInf N ranap.ies id-RAB-ContextList-RANAP-RelocInf
+RAB-ContextItem-RANAP-RelocInf N ranap.ies id-RAB-ContextItem-RANAP-RelocInf
+RAB-ModifyList N ranap.ies id-RAB-ModifyList
+RAB-ModifyItem N ranap.ies id-RAB-ModifyItem
+LocationRelatedDataRequestType N ranap.ies id-LocationRelatedDataRequestType
+BroadcastAssistanceDataDecipheringKeys N ranap.ies id-BroadcastAssistanceDataDecipheringKeys
+InformationTransferID N ranap.ies id-InformationTransferID
+ProvidedData N ranap.ies id-ProvidedData
+GlobalCN-ID N ranap.ies id-GlobalCN-ID
+UESBI-Iu N ranap.ies id-UESBI-Iu
+InterSystemInformationTransferType N ranap.ies id-InterSystemInformationTransferType
+InformationExchangeID N ranap.ies id-InformationExchangeID
+InformationExchangeType N ranap.ies id-InformationExchangeType
+InformationTransferType N ranap.ies id-InformationTransferType
+InformationRequestType N ranap.ies id-InformationRequestType
+InformationRequested N ranap.ies id-InformationRequested
+TMGI N ranap.ies id-TMGI
+MBMSSessionIdentity N ranap.ies id-MBMSSessionIdentity
+MBMSBearerServiceType N ranap.ies id-MBMSBearerServiceType
+RAB-Parameters N ranap.ies id-RAB-Parameters
+PDP-TypeInformation N ranap.ies id-PDP-TypeInformation
+MBMSSessionDuration N ranap.ies id-MBMSSessionDuration
+MBMSServiceArea N ranap.ies id-MBMSServiceArea
+FrequenceLayerConvergenceFlag N ranap.ies id-FrequenceLayerConvergenceFlag
+RAListofIdleModeUEs N ranap.ies id-RAListofIdleModeUEs
+MBMSSessionRepetitionNumber N ranap.ies id-MBMSSessionRepetitionNumber
+TimeToMBMSDataTransfer N ranap.ies id-TimeToMBMSDataTransfer
+TransportLayerInformation N ranap.ies id-TransportLayerInformation
+SessionUpdateID N ranap.ies id-SessionUpdateID
+DeltaRAListofIdleModeUEs N ranap.ies id-DeltaRAListofIdleModeUEs
+MBMSCNDe-Registration N ranap.ies id-MBMSCNDe-Registration
+JoinedMBMSBearerService-IEs N ranap.ies id-JoinedMBMSBearerServicesList
+LeftMBMSBearerService-IEs N ranap.ies id-LeftMBMSBearerServicesList
+UnsuccessfulLinking-IEs N ranap.ies id-UnsuccessfulLinkingList
+MBMSRegistrationRequestType N ranap.ies id-MBMSRegistrationRequestType
+IPMulticastAddress N ranap.ies id-IPMulticastAddress
+APN N ranap.ies id-APN
+RAB-SetupList-EnhancedRelocCompleteReq N ranap.ies id-RAB-SetupList-EnhancedRelocCompleteReq
+RAB-SetupItem-EnhancedRelocCompleteReq N ranap.ies id-RAB-SetupItem-EnhancedRelocCompleteReq
+RAB-SetupList-EnhancedRelocCompleteRes N ranap.ies id-RAB-SetupList-EnhancedRelocCompleteRes
+RAB-SetupItem-EnhancedRelocCompleteRes N ranap.ies id-RAB-SetupItem-EnhancedRelocCompleteRes
+RAB-SetupList-EnhRelocInfoReq N ranap.ies id-RAB-SetupList-EnhRelocInfoReq
+RAB-SetupItem-EnhRelocInfoReq N ranap.ies id-RAB-SetupItem-EnhRelocInfoReq
+RAB-SetupList-EnhRelocInfoRes N ranap.ies id-RAB-SetupList-EnhRelocInfoRes
+RAB-SetupItem-EnhRelocInfoRes N ranap.ies id-RAB-SetupItem-EnhRelocInfoRes
+IuSignallingConnectionIdentifier N ranap.ies id-OldIuSigConId
+RAB-FailedList-EnhRelocInfoRes N ranap.ies id-RAB-FailedList-EnhRelocInfoRes
+RAB-FailedItem-EnhRelocInfoRes N ranap.ies id-RAB-FailedItem-EnhRelocInfoRes
+IuSignallingConnectionIdentifier N ranap.ies id-OldIuSigConIdCS
+IuSignallingConnectionIdentifier N ranap.ies id-OldIuSigConIdPS
+GlobalCN-ID N ranap.ies id-GlobalCN-IDCS
+RAB-ToBeReleasedItem-EnhancedRelocCompleteRes N ranap.ies id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes
+RAB-ToBeReleasedList-EnhancedRelocCompleteRes N ranap.ies id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes
+GlobalRNC-ID N ranap.ies id-Relocation-TargetRNC-ID
+ExtendedRNC-ID N ranap.ies id-Relocation-TargetExtendedRNC-ID
+Alt-RAB-Parameter-SupportedGuaranteedBitrateInf N ranap.ies id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf
+Alt-RAB-Parameter-SupportedMaxBitrateInf N ranap.ies id-Alt-RAB-Parameter-SupportedMaxBitrateInf
+GlobalRNC-ID N ranap.ies id-Relocation-SourceRNC-ID
+ExtendedRNC-ID N ranap.ies id-Relocation-SourceExtendedRNC-ID
+EncryptionKey N ranap.ies id-EncryptionKey
+IntegrityProtectionKey N ranap.ies id-IntegrityProtectionKey
+SRVCC-Information N ranap.ies id-SRVCC-Information
+GlobalCN-ID N ranap.ies id-GlobalCN-IDPS
+VoiceSupportMatchIndicator N ranap.ies id-VoiceSupportMatchIndicator
+SGSN-Group-Identity N ranap.ies id-SGSN-Group-Identity
+P-TMSI N ranap.ies id-P-TMSI
+#N ranap.ies id-RANAP-Message
+UE-Usage-Type N ranap.ies id-UE-Usage-Type
+
+#RANAP-PROTOCOL-IES-PAIR
+RAB-SetupOrModifyItemFirst N ranap.ies.pair.first id-RAB-SetupOrModifyItem
+RAB-SetupOrModifyItemSecond N ranap.ies.pair.second id-RAB-SetupOrModifyItem
+
+#RANAP-PROTOCOL-EXTENSION
+RAB-Parameters N ranap.extension id-AlternativeRABConfiguration
+Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf N ranap.extension id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf
+Alt-RAB-Parameter-ExtendedMaxBitrateInf N ranap.extension id-Alt-RAB-Parameter-ExtendedMaxBitrateInf
+Ass-RAB-Parameter-ExtendedGuaranteedBitrateList N ranap.extension id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList
+Ass-RAB-Parameter-ExtendedMaxBitrateList N ranap.extension id-Ass-RAB-Parameter-ExtendedMaxBitrateList
+MessageStructure N ranap.extension id-MessageStructure
+TypeOfError N ranap.extension id-TypeOfError
+RAC N ranap.extension id-RAC
+LAListofIdleModeUEs N ranap.extension id-newLAListofIdleModeUEs
+LAListofIdleModeUEs N ranap.extension id-LAListwithNoIdleModeUEsAnyMore
+GANSS-PositioningDataSet N ranap.extension id-GANSS-PositioningDataSet
+SignallingIndication N ranap.extension id-SignallingIndication
+RAB-Parameter-ExtendedGuaranteedBitrateList N ranap.extension id-RAB-Parameter-ExtendedGuaranteedBitrateList
+RAB-Parameter-ExtendedMaxBitrateList N ranap.extension id-RAB-Parameter-ExtendedMaxBitrateList
+CN-DomainIndicator N ranap.extension id-CN-DomainIndicator
+LAListofIdleModeUEs N ranap.extension id-LAofIdleModeUEs
+AlternativeRABConfigurationRequest N ranap.extension id-AlternativeRABConfigurationRequest
+Requested-RAB-Parameter-ExtendedMaxBitrateList N ranap.extension id-Requested-RAB-Parameter-ExtendedMaxBitrateList
+Requested-RAB-Parameter-ExtendedGuaranteedBitrateList N ranap.extension id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList
+ExtendedRNC-ID N ranap.extension id-ExtendedRNC-ID
+SRB-TrCH-Mapping N ranap.extension id-SRB-TrCH-Mapping
+CellLoadInformationGroup N ranap.extension id-CellLoadInformationGroup
+TraceRecordingSessionInformation N ranap.extension id-TraceRecordingSessionInformation
+MBMSLinkingInformation N ranap.extension id-MBMSLinkingInformation
+HS-DSCH-MAC-d-Flow-ID N ranap.extension id-hS-DSCH-MAC-d-Flow-ID
+E-DCH-MAC-d-Flow-ID N ranap.extension id-E-DCH-MAC-d-Flow-ID
+GERAN-Classmark N ranap.extension id-GERAN-Classmark
+SourceBSS-ToTargetBSS-TransparentContainer N ranap.extension id-SourceBSS-ToTargetBSS-TransparentContainer
+TransportLayerAddress N ranap.extension id-TransportLayerAddress
+IuTransportAssociation N ranap.extension id-IuTransportAssociation
+InterSystemInformation-TransparentContainer N ranap.extension id-InterSystemInformation-TransparentContainer
+TargetBSS-ToSourceBSS-TransparentContainer N ranap.extension id-TargetBSS-ToSourceBSS-TransparentContainer
+Alt-RAB-Parameters N ranap.extension id-Alt-RAB-Parameters
+GERAN-BSC-Container N ranap.extension id-GERAN-BSC-Container
+GlobalCN-ID N ranap.extension id-GlobalCN-ID
+SNA-Access-Information N ranap.extension id-SNA-Access-Information
+UESBI-Iu N ranap.extension id-UESBI-Iu
+PLMNidentity N ranap.extension id-SelectedPLMN-ID
+CNMBMSLinkingInformation N ranap.extension id-CNMBMSLinkingInformation
+Ass-RAB-Parameters N ranap.extension id-Ass-RAB-Parameters
+NewBSS-To-OldBSS-Information N ranap.extension id-NewBSS-To-OldBSS-Information
+RAT-Type N ranap.extension id-RAT-Type
+TracePropagationParameters N ranap.extension id-TracePropagationParameters
+VerticalAccuracyCode N ranap.extension id-VerticalAccuracyCode
+ResponseTime N ranap.extension id-ResponseTime
+PositioningPriority N ranap.extension id-PositioningPriority
+ClientType N ranap.extension id-ClientType
+IncludeVelocity N ranap.extension id-IncludeVelocity
+PeriodicLocationInfo N ranap.extension id-PeriodicLocationInfo
+LastKnownServiceArea N ranap.extension id-LastKnownServiceArea
+PositionData N ranap.extension id-PositionData
+PositionDataSpecificToGERANIuMode N ranap.extension id-PositionDataSpecificToGERANIuMode
+AccuracyFulfilmentIndicator N ranap.extension id-AccuracyFulfilmentIndicator
+VelocityEstimate N ranap.extension id-VelocityEstimate
+PermanentNAS-UE-ID N ranap.extension id-PermanentNAS-UE-ID
+NAS-SequenceNumber N ranap.extension id-NAS-SequenceNumber
+RedirectAttemptFlag N ranap.extension id-RedirectAttemptFlag
+RedirectionIndication N ranap.extension id-RedirectionIndication
+RedirectionCompleted N ranap.extension id-RedirectionCompleted
+RRC-Container N ranap.extension id-SourceRNC-PDCP-context-info
+GERAN-Iumode-RAB-FailedList-RABAssgntResponse N ranap.extension id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse
+LocationRelatedDataRequestTypeSpecificToGERANIuMode N ranap.extension id-LocationRelatedDataRequestTypeSpecificToGERANIuMode
+RequestedGANSSAssistanceData N ranap.extension id-RequestedGANSSAssistanceData
+CriticalityDiagnostics N ranap.extension id-CriticalityDiagnostics
+MBMSCountingInformation N ranap.extension id-MBMSCountingInformation
+
+#N ranap.ies id-Global-ENB-ID
+UE-History-Information N ranap.extension id-UE-History-Information
+MBMSSynchronisationInformation N ranap.extension id-MBMSSynchronisationInformation
+SubscriberProfileIDforRFP N ranap.extension id-SubscriberProfileIDforRFP
+CSG-Id N ranap.extension id-CSG-Id
+#N ranap.extension id-SourceExtendedRNC-ID
+#N ranap.extension id-SourceRNC-ID
+SupportedRAB-ParameterBitrateList N ranap.extension id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList
+SupportedRAB-ParameterBitrateList N ranap.extension id-Ass-RAB-Parameter-SupportedMaxBitrateList
+SupportedRAB-ParameterBitrateList N ranap.extension id-RAB-Parameter-SupportedGuaranteedBitrateList
+SupportedRAB-ParameterBitrateList N ranap.extension id-RAB-Parameter-SupportedMaxBitrateList
+SupportedRAB-ParameterBitrateList N ranap.extension id-Requested-RAB-Parameter-SupportedMaxBitrateList
+SupportedRAB-ParameterBitrateList N ranap.extension id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList
+SRVCC-HO-Indication N ranap.extension id-SRVCC-HO-Indication
+SRVCC-Operation-Possible N ranap.extension id-SRVCC-Operation-Possible
+CSG-Id-List N ranap.extension id-CSG-Id-List
+RAB-ID N ranap.extension id-PSRABtobeReplaced
+E-UTRAN-Service-Handover N ranap.extension id-E-UTRAN-Service-Handover
+UE-AggregateMaximumBitRate N ranap.extension id-UE-AggregateMaximumBitRate
+CSG-Membership-Status N ranap.extension id-CSG-Membership-Status
+Cell-Access-Mode N ranap.extension id-Cell-Access-Mode
+IPMulticastAddress N ranap.extension id-IP-Source-Address
+CSFB-Information N ranap.extension id-CSFB-Information
+PDP-TypeInformation-extension N ranap.extension id-PDP-TypeInformation-extension
+
+MSISDN N ranap.extension id-MSISDN
+Offload-RAB-Parameters N ranap.extension id-Offload-RAB-Parameters
+TransportLayerAddress N ranap.extension id-LGW-TransportLayerAddress
+Correlation-ID N ranap.extension id-Correlation-ID
+IRAT-Measurement-Configuration N ranap.extension id-IRAT-Measurement-Configuration
+MDT-Configuration N ranap.extension id-MDT-Configuration
+Priority-Class-Indicator N ranap.extension id-Priority-Class-Indicator
+RNSAPRelocationParameters N ranap.extension id-RNSAPRelocationParameters
+RABParametersList N ranap.extension id-RABParametersList
+Management-Based-MDT-Allowed N ranap.extension id-Management-Based-MDT-Allowed
+HigherBitratesThan16MbpsFlag N ranap.extension id-HigherBitratesThan16MbpsFlag
+TransportLayerAddress N ranap.extension id-Trace-Collection-Entity-IP-Addess
+End-Of-CSFB N ranap.extension id-End-Of-CSFB
+Time-UE-StayedInCell-EnhancedGranularity N ranap.extension id-Time-UE-StayedInCell-EnhancedGranularity
+Out-Of-UTRAN N ranap.extension id-Out-Of-UTRAN
+
+TraceRecordingSessionReference N ranap.extension id-TraceRecordingSessionReference
+IMSI N ranap.extension id-IMSI
+Cause N ranap.extension id-HO-Cause
+RSRVCC-HO-Indication N ranap.extension id-RSRVCC-HO-Indication
+RSRVCC-Information N ranap.extension id-RSRVCC-Information
+PLMNidentity N ranap.extension id-AnchorPLMN-ID
+TunnelInformation N ranap.extension id-Tunnel-Information-for-BBF
+MDT-PLMN-List N ranap.extension id-Management-Based-MDT-PLMN-List
+MDT-PLMN-List N ranap.extension id-SignallingBasedMDTPLMNList
+M4Report N ranap.extension id-M4Report
+M5Report N ranap.extension id-M5Report
+M6Report N ranap.extension id-M6Report
+M7Report N ranap.extension id-M7Report
+TimingDifferenceULDL N ranap.extension id-TimingDifferenceULDL
+UTRAN-CellID N ranap.extension id-Serving-Cell-Identifier
+EARFCN-Extended N ranap.extension id-EARFCN-Extended
+RSRVCC-Operation-Possible N ranap.extension id-RSRVCC-Operation-Possible
+TransportLayerAddress N ranap.extension id-SIPTO-LGW-TransportLayerAddress
+Correlation-ID N ranap.extension id-SIPTO-Correlation-ID
+LHN-ID N ranap.extension id-LHN-ID
+Session-Re-establishment-Indicator N ranap.extension id-Session-Re-establishment-Indicator
+PLMNidentity N ranap.extension id-LastE-UTRANPLMNIdentity
+RSRQ-Type N ranap.extension id-RSRQ-Type
+RSRQ-Extension N ranap.extension id-RSRQ-Extension
+Additional-CSPS-coordination-information N ranap.extension id-Additional-CSPS-coordination-information
+UERegistrationQueryResult N ranap.extension id-UERegistrationQueryResult
+IuSignallingConnectionIdentifier N ranap.extension id-IuSigConIdRangeEnd
+BarometricPressure N ranap.extension id-BarometricPressure
+Additional-PositioningDataSet N ranap.extension id-Additional-PositioningDataSet
+CivicAddress N ranap.extension id-CivicAddress
+PowerSavingIndicator N ranap.extension id-PowerSavingIndicator
+DCN-ID N ranap.extension id-DCN-ID
+UE-Application-Layer-Measurement-Configuration N ranap.extension id-UE-Application-Layer-Measurement-Configuration
+UE-Application-Layer-Measurement-Configuration-For-Relocation N ranap.extension id-UE-Application-Layer-Measurement-Configuration-For-Relocation
+
+#RANAP-ELEMENTARY-PROCEDURE
+Iu-ReleaseCommand N ranap.proc.imsg id-Iu-Release
+Iu-ReleaseComplete N ranap.proc.sout id-Iu-Release
+RelocationRequired N ranap.proc.imsg id-RelocationPreparation
+RelocationCommand N ranap.proc.sout id-RelocationPreparation
+RelocationPreparationFailure N ranap.proc.uout id-RelocationPreparation
+RelocationRequest N ranap.proc.imsg id-RelocationResourceAllocation
+RelocationRequestAcknowledge N ranap.proc.sout id-RelocationResourceAllocation
+RelocationFailure N ranap.proc.uout id-RelocationResourceAllocation
+RelocationCancel N ranap.proc.imsg id-RelocationCancel
+RelocationCancelAcknowledge N ranap.proc.sout id-RelocationCancel
+SRNS-ContextRequest N ranap.proc.imsg id-SRNS-ContextTransfer
+SRNS-ContextResponse N ranap.proc.sout id-SRNS-ContextTransfer
+SecurityModeCommand N ranap.proc.imsg id-SecurityModeControl
+SecurityModeComplete N ranap.proc.sout id-SecurityModeControl
+SecurityModeReject N ranap.proc.uout id-SecurityModeControl
+DataVolumeReportRequest N ranap.proc.imsg id-DataVolumeReport
+DataVolumeReport N ranap.proc.sout id-DataVolumeReport
+Reset N ranap.proc.imsg id-Reset
+ResetAcknowledge N ranap.proc.sout id-Reset
+RAB-ReleaseRequest N ranap.proc.imsg id-RAB-ReleaseRequest
+Iu-ReleaseRequest N ranap.proc.imsg id-Iu-ReleaseRequest
+RelocationDetect N ranap.proc.imsg id-RelocationDetect
+RelocationComplete N ranap.proc.imsg id-RelocationComplete
+Paging N ranap.proc.imsg id-Paging
+CommonID N ranap.proc.imsg id-CommonID
+CN-InvokeTrace N ranap.proc.imsg id-CN-InvokeTrace
+CN-DeactivateTrace N ranap.proc.imsg id-CN-DeactivateTrace
+LocationReportingControl N ranap.proc.imsg id-LocationReportingControl
+LocationReport N ranap.proc.imsg id-LocationReport
+InitialUE-Message N ranap.proc.imsg id-InitialUE-Message
+DirectTransfer N ranap.proc.imsg id-DirectTransfer
+Overload N ranap.proc.imsg id-OverloadControl
+ErrorIndication N ranap.proc.imsg id-ErrorIndication
+SRNS-DataForwardCommand N ranap.proc.imsg id-SRNS-DataForward
+ForwardSRNS-Context N ranap.proc.imsg id-ForwardSRNS-Context
+RAB-AssignmentRequest N ranap.proc.imsg id-RAB-Assignment
+RAB-AssignmentResponse N ranap.proc.out id-RAB-Assignment
+PrivateMessage N ranap.proc.imsg id-privateMessage
+ResetResource N ranap.proc.imsg id-ResetResource
+ResetResourceAcknowledge N ranap.proc.sout id-ResetResource
+RANAP-RelocationInformation N ranap.proc.imsg id-RANAP-Relocation
+RAB-ModifyRequest N ranap.proc.imsg id-RAB-ModifyRequest
+LocationRelatedDataRequest N ranap.proc.imsg id-LocationRelatedData
+LocationRelatedDataResponse N ranap.proc.sout id-LocationRelatedData
+LocationRelatedDataFailure N ranap.proc.uout id-LocationRelatedData
+InformationTransferIndication N ranap.proc.imsg id-InformationTransfer
+InformationTransferConfirmation N ranap.proc.sout id-InformationTransfer
+InformationTransferFailure N ranap.proc.uout id-InformationTransfer
+UESpecificInformationIndication N ranap.proc.imsg id-UESpecificInformation
+DirectInformationTransfer N ranap.proc.imsg id-DirectInformationTransfer
+UplinkInformationExchangeRequest N ranap.proc.imsg id-UplinkInformationExchange
+UplinkInformationExchangeResponse N ranap.proc.sout id-UplinkInformationExchange
+UplinkInformationExchangeFailure N ranap.proc.uout id-UplinkInformationExchange
+MBMSSessionStart N ranap.proc.imsg id-MBMSSessionStart
+MBMSSessionStartResponse N ranap.proc.sout id-MBMSSessionStart
+MBMSSessionStartFailure N ranap.proc.uout id-MBMSSessionStart
+MBMSSessionUpdate N ranap.proc.imsg id-MBMSSessionUpdate
+MBMSSessionUpdateResponse N ranap.proc.sout id-MBMSSessionUpdate
+MBMSSessionUpdateFailure N ranap.proc.uout id-MBMSSessionUpdate
+MBMSSessionStop N ranap.proc.imsg id-MBMSSessionStop
+MBMSSessionStopResponse N ranap.proc.sout id-MBMSSessionStop
+MBMSUELinkingRequest N ranap.proc.imsg id-MBMSUELinking
+MBMSUELinkingResponse N ranap.proc.out id-MBMSUELinking
+MBMSRegistrationRequest N ranap.proc.imsg id-MBMSRegistration
+MBMSRegistrationResponse N ranap.proc.sout id-MBMSRegistration
+MBMSRegistrationFailure N ranap.proc.uout id-MBMSRegistration
+MBMSCNDe-RegistrationRequest N ranap.proc.imsg id-MBMSCNDe-Registration-Procedure
+MBMSCNDe-RegistrationResponse N ranap.proc.sout id-MBMSCNDe-Registration-Procedure
+MBMSRABEstablishmentIndication N ranap.proc.imsg id-MBMSRABEstablishmentIndication
+MBMSRABReleaseRequest N ranap.proc.imsg id-MBMSRABRelease
+MBMSRABRelease N ranap.proc.sout id-MBMSRABRelease
+MBMSRABReleaseFailure N ranap.proc.uout id-MBMSRABRelease
+EnhancedRelocationCompleteRequest N ranap.proc.imsg id-enhancedRelocationComplete
+EnhancedRelocationCompleteResponse N ranap.proc.sout id-enhancedRelocationComplete
+EnhancedRelocationCompleteFailure N ranap.proc.uout id-enhancedRelocationComplete
+EnhancedRelocationCompleteConfirm N ranap.proc.imsg id-enhancedRelocationCompleteConfirm
+RANAP-EnhancedRelocationInformationRequest N ranap.proc.imsg id-RANAPenhancedRelocation
+RANAP-EnhancedRelocationInformationResponse N ranap.proc.sout id-RANAPenhancedRelocation
+
+SRVCC-CSKeysRequest N ranap.proc.imsg id-SRVCCPreparation
+SRVCC-CSKeysResponse N ranap.proc.out id-SRVCCPreparation
+
+UeRadioCapabilityMatchRequest N ranap.proc.imsg id-UeRadioCapabilityMatch
+UeRadioCapabilityMatchResponse N ranap.proc.out id-UeRadioCapabilityMatch
+
+UeRegistrationQueryRequest N ranap.proc.imsg id-UeRegistrationQuery
+UeRegistrationQueryResponse N ranap.proc.out id-UeRegistrationQuery
+
+RerouteNASRequest N ranap.proc.imsg id-RerouteNASRequest
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/rnsap/CMakeLists.txt b/epan/dissectors/asn1/rnsap/CMakeLists.txt
new file mode 100644
index 00000000..5b909afc
--- /dev/null
+++ b/epan/dissectors/asn1/rnsap/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME rnsap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ RNSAP-CommonDataTypes.asn
+ RNSAP-Constants.asn
+ RNSAP-Containers.asn
+ RNSAP-IEs.asn
+ RNSAP-PDU-Contents.asn
+ RNSAP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/rnsap/RNSAP-CommonDataTypes.asn b/epan/dissectors/asn1/rnsap/RNSAP-CommonDataTypes.asn
new file mode 100644
index 00000000..8500e50c
--- /dev/null
+++ b/epan/dissectors/asn1/rnsap/RNSAP-CommonDataTypes.asn
@@ -0,0 +1,66 @@
+-- RNSAP-CommonDataTypes.asn
+--
+-- Taken from 3GPP TS 25.423 V13.1.0 (2015-12)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.423/25423-790.zip/25423-790.DOC
+--
+-- 9.3.5 Common Definitions
+--
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+
+RNSAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rnsap (1) version1 (1) rnsap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0.. maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProcedureID ::= SEQUENCE {
+ procedureCode ProcedureCode,
+ ddMode ENUMERATED { tdd, fdd, common, ... }
+}
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+TransactionID ::= CHOICE {
+ shortTransActionId INTEGER (0..127),
+ longTransActionId INTEGER (0..32767)
+}
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome, outcome }
+
+END
+
diff --git a/epan/dissectors/asn1/rnsap/RNSAP-Constants.asn b/epan/dissectors/asn1/rnsap/RNSAP-Constants.asn
new file mode 100644
index 00000000..933f9148
--- /dev/null
+++ b/epan/dissectors/asn1/rnsap/RNSAP-Constants.asn
@@ -0,0 +1,1280 @@
+-- RNSAP-Constants.asn
+--
+-- Taken from 3GPP TS 25.423 V13.1.0 (2015-12)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.423/25423-790.zip/25423-790.DOC
+--
+-- 9.3.6 Constant Definitions
+--
+
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+RNSAP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rnsap (1) version1 (1) rnsap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM RNSAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-commonTransportChannelResourcesInitialisation ProcedureCode ::= 0
+id-commonTransportChannelResourcesRelease ProcedureCode ::= 1
+id-compressedModeCommand ProcedureCode ::= 2
+id-downlinkPowerControl ProcedureCode ::= 3
+id-downlinkPowerTimeslotControl ProcedureCode ::= 4
+id-downlinkSignallingTransfer ProcedureCode ::= 5
+id-errorIndication ProcedureCode ::= 6
+id-dedicatedMeasurementFailure ProcedureCode ::= 7
+id-dedicatedMeasurementInitiation ProcedureCode ::= 8
+id-dedicatedMeasurementReporting ProcedureCode ::= 9
+id-dedicatedMeasurementTermination ProcedureCode ::= 10
+id-paging ProcedureCode ::= 11
+id-physicalChannelReconfiguration ProcedureCode ::= 12
+id-privateMessage ProcedureCode ::= 13
+id-radioLinkAddition ProcedureCode ::= 14
+id-radioLinkCongestion ProcedureCode ::= 34
+id-radioLinkDeletion ProcedureCode ::= 15
+id-radioLinkFailure ProcedureCode ::= 16
+id-radioLinkPreemption ProcedureCode ::= 17
+id-radioLinkRestoration ProcedureCode ::= 18
+id-radioLinkSetup ProcedureCode ::= 19
+id-relocationCommit ProcedureCode ::= 20
+id-synchronisedRadioLinkReconfigurationCancellation ProcedureCode ::= 21
+id-synchronisedRadioLinkReconfigurationCommit ProcedureCode ::= 22
+id-synchronisedRadioLinkReconfigurationPreparation ProcedureCode ::= 23
+id-unSynchronisedRadioLinkReconfiguration ProcedureCode ::= 24
+id-uplinkSignallingTransfer ProcedureCode ::= 25
+id-commonMeasurementFailure ProcedureCode ::= 26
+id-commonMeasurementInitiation ProcedureCode ::= 27
+id-commonMeasurementReporting ProcedureCode ::= 28
+id-commonMeasurementTermination ProcedureCode ::= 29
+id-informationExchangeFailure ProcedureCode ::= 30
+id-informationExchangeInitiation ProcedureCode ::= 31
+id-informationReporting ProcedureCode ::= 32
+id-informationExchangeTermination ProcedureCode ::= 33
+id-reset ProcedureCode ::= 35
+id-radioLinkActivation ProcedureCode ::= 36
+id-gERANuplinkSignallingTransfer ProcedureCode ::= 37
+id-radioLinkParameterUpdate ProcedureCode ::= 38
+id-uEMeasurementFailure ProcedureCode ::= 39
+id-uEMeasurementInitiation ProcedureCode ::= 40
+id-uEMeasurementReporting ProcedureCode ::= 41
+id-uEMeasurementTermination ProcedureCode ::= 42
+id-iurDeactivateTrace ProcedureCode ::= 43
+id-iurInvokeTrace ProcedureCode ::= 44
+id-mBMSAttach ProcedureCode ::= 45
+id-mBMSDetach ProcedureCode ::= 46
+--WS extension
+id-Not-used-47 ProcedureCode ::= 47
+id-directInformationTransfer ProcedureCode ::= 48
+id-enhancedRelocation ProcedureCode ::= 49
+id-enhancedRelocationCancel ProcedureCode ::= 50
+id-enhancedRelocationSignallingTransfer ProcedureCode ::= 51
+id-enhancedRelocationRelease ProcedureCode ::= 52
+id-mBSFNMCCHInformation ProcedureCode ::= 53
+id-secondaryULFrequencyReporting ProcedureCode ::= 54
+id-secondaryULFrequencyUpdate ProcedureCode ::= 55
+id-informationTransferControl ProcedureCode ::= 56
+--WS extension
+id-Not-used-57 ProcedureCode ::= 57
+id-Not-used-58 ProcedureCode ::= 58
+id-Not-used-59 ProcedureCode ::= 59
+id-enhancedRelocationResourceAllocation ProcedureCode ::= 60
+id-enhancedRelocationResourceRelease ProcedureCode ::= 61
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxCellSIB11OrSIB12 INTEGER ::= 32
+maxCellSIB11ter-ext INTEGER ::= 48
+maxCellSIB11ter-1 INTEGER ::= 79
+maxCellsMeas INTEGER ::= 8
+maxRateMatching INTEGER ::= 256
+maxNoOfDSCHs INTEGER ::= 10
+maxNoOfDSCHsLCR INTEGER ::= 10
+maxNoOfRB INTEGER ::= 32
+maxNoOfUSCHs INTEGER ::= 10
+maxNoOfUSCHsLCR INTEGER ::= 10
+maxNrOfTFCs INTEGER ::= 1024
+maxNrOfTFs INTEGER ::= 32
+maxNrOfCCTrCHs INTEGER ::= 16
+maxNrOfCCTrCHsLCR INTEGER ::= 16
+maxNrOfDCHs INTEGER ::= 128
+maxNrOfDL-Codes INTEGER ::= 8
+maxNrOfDPCHs INTEGER ::= 240
+maxNrOfDPCHsPerRL-1 INTEGER ::= 239 -- maxNrofCCTrCH*maxNrOfULTs-1
+maxNrOfDPCHsLCR INTEGER ::= 240
+maxNrOfDPCHsLCRPerRL-1 INTEGER ::= 95 -- maxNrofCCTrCH*maxNrOfULTsLCR-1
+maxNrOfDPCHs768 INTEGER ::= 480
+maxNrOfDPCHs768PerRL-1 INTEGER ::= 479
+maxNrOfErrors INTEGER ::= 256
+maxNrOfMACcshSDU-Length INTEGER ::= 16
+maxNrOfMBMSServices INTEGER ::= 128
+maxNrOfActiveMBMSServices INTEGER ::= 256
+maxNrOfPoints INTEGER ::= 15
+maxNrOfRLs INTEGER ::= 16
+maxNrOfRLSets INTEGER ::= maxNrOfRLs
+maxNrOfRLSets-1 INTEGER ::= 15 -- maxNrOfRLSets – 1
+maxNrOfRLs-1 INTEGER ::= 15 -- maxNrOfRLs – 1
+maxNrOfRLs-2 INTEGER ::= 14 -- maxNrOfRLs – 2
+maxNrOfUEs INTEGER ::= 4096
+maxNrOfULTs INTEGER ::= 15
+maxNrOfULTsLCR INTEGER ::= 6
+maxNrOfDLTs INTEGER ::= 15
+maxNrOfDLTsLCR INTEGER ::= 6
+maxRNCinURA-1 INTEGER ::= 15
+maxTTI-Count INTEGER ::= 4
+maxCTFC INTEGER ::= 16777215
+maxNrOfNeighbouringRNCs INTEGER ::= 10
+maxNrOfFDDNeighboursPerRNC INTEGER ::= 256
+maxNrOfGSMNeighboursPerRNC INTEGER ::= 256
+maxNrOfTDDNeighboursPerRNC INTEGER ::= 256
+maxNrOfFACHs INTEGER ::= 8
+maxNrOfLCRTDDNeighboursPerRNC INTEGER ::= 256
+maxIBSEG INTEGER ::= 16
+maxNrOfSCCPCHs INTEGER ::= 8
+maxNrOfSCCPCHs768 INTEGER ::= 16
+maxTGPS INTEGER ::= 6
+maxNrOfTS INTEGER ::= 15
+maxNrOfLevels INTEGER ::= 256
+maxNrOfTsLCR INTEGER ::= 6
+maxNoSat INTEGER ::= 16
+maxNoGPSTypes INTEGER ::= 8
+maxNrOfMeasNCell INTEGER ::= 96
+maxNrOfMeasNCell-1 INTEGER ::= 95 -- maxNrOfMeasNCell – 1
+maxResetContext INTEGER ::= 250
+maxResetContextGroup INTEGER ::= 32
+maxNrOfHARQProc INTEGER ::= 8
+maxNrOfHSSCCHCodes INTEGER ::= 4
+maxNrOfHSSICHs INTEGER ::= 4
+maxNrOfHSSICHs-1 INTEGER ::= 3
+maxNrOfMACdFlows INTEGER ::= 8
+maxNrOfMACdFlows-1 INTEGER ::= 7 -- maxNrOfMACdFlows – 1
+maxNrOfMACdPDUSize INTEGER ::= 32
+maxNrOfPDUIndexes INTEGER ::= 8
+maxNrOfPDUIndexes-1 INTEGER ::= 7 -- maxNrOfPDUIndexes – 1
+maxNrOfPrioQueues INTEGER ::= 8
+maxNrOfPrioQueues-1 INTEGER ::= 7 -- maxNrOfPrioQueues – 1
+maxNrOfSNAs INTEGER ::= 65536
+maxNrOfSatAlmanac-maxNoSat INTEGER ::= 16
+maxNrOfGERANSI INTEGER ::= 8
+maxNrOfInterfaces INTEGER ::= 16
+maxNrofSigSeqERGHICH-1 INTEGER ::= 39
+maxNrOfCells INTEGER ::= 65536
+maxNrOfAddFreq INTEGER ::= 8
+maxNrOfCellsPerFreq INTEGER ::= 65536
+maxNrOfEDCHMACdFlows-1 INTEGER ::= 7
+maxNrOfEDCH-HARQ-PO-QUANTSTEPs INTEGER ::= 6
+maxNrOfEDPCCH-PO-QUANTSTEPs INTEGER ::= 8
+maxNrOfEDCHHARQProcesses2msEDCH INTEGER ::= 8
+maxNrOfBits-MACe-PDU-non-scheduled INTEGER ::= 19982
+maxNrOfRefETFCIs INTEGER ::= 8
+maxNrOfRefETFCI-PO-QUANTSTEPs INTEGER ::= 29
+maxNrOfEDCHMACdFlows INTEGER ::= 8
+maxNoOfLogicalChannels INTEGER ::= 16 -- only maximum 15 can be used
+maxNrOfRefBetas INTEGER ::= 8
+maxNrOfEAGCHCodes INTEGER ::= 4
+maxNrOfHS-DSCHTBSs INTEGER ::= 90
+maxNrOfHS-DSCHTBSs-HS-SCCHless INTEGER ::= 4
+maxHS-PDSCHCodeNrComp-1 INTEGER ::= 15
+maxNrOfEHICHCodes INTEGER ::= 4
+maxGANSSSat INTEGER ::= 64
+maxNoGANSS INTEGER ::= 8
+maxSgnType INTEGER ::= 8
+maxNrOfBroadcastPLMNs INTEGER ::= 5
+maxHSDPAFrequency INTEGER ::= 8
+maxHSDPAFrequency-1 INTEGER ::= 7
+maxFrequencyinCell INTEGER ::= 12
+maxFrequencyinCell-1 INTEGER ::= 11
+maxGANSSSatAlmanac INTEGER ::= 36
+maxGANSSClockMod INTEGER ::= 4
+maxNrOfEDCHRLs INTEGER ::= 4
+maxEARFCN INTEGER ::= 65535
+maxEARFCN-Extended INTEGER ::= 262143
+maxNrOfEUTRANeighboursPerRNC INTEGER ::= 256
+maxNrOfMCCHMessages INTEGER ::= 5
+maxNrOfMBMSL3 INTEGER ::= 64
+maxNrOfEDCHMACdFlowsLCR INTEGER ::= 256
+maxNrOfEDCHMACdFlowsLCR-1 INTEGER ::= 255
+maxNrOfPreconfiguredNeighbours INTEGER ::= 256
+maxNrOfHSDSCH-1 INTEGER ::= 32
+maxNrOfHSDSCH INTEGER ::= 33
+maxGANSS-1 INTEGER ::= 7
+maxlengthMBMSconcatservlists INTEGER ::= 96
+maxNoOfTBSs-Mapping-HS-DSCH-SPS INTEGER ::= 4
+maxNoOfTBSs-Mapping-HS-DSCH-SPS-1 INTEGER ::= 3
+maxNoOfHS-DSCH-TBSsLCR INTEGER ::= 64
+maxNoOfRepetition-Period-LCR INTEGER ::= 4
+maxNoOfRepetitionPeriod-SPS-LCR-1 INTEGER ::= 3
+maxNoOf-HS-SICH-SPS INTEGER ::= 4
+maxNoOf-HS-SICH-SPS-1 INTEGER ::= 3
+maxNoOfNon-HS-SCCH-Assosiated-HS-SICH INTEGER ::= 4
+maxNrOfEDCH-1 INTEGER ::= 32
+maxNrOfDCHMeasurementOccasionPatternSequence INTEGER ::= 6
+maxNrOfULCarriersLCR-1 INTEGER ::= 5
+maxNrOfCellIds INTEGER ::= 32
+maxNrOfRAIs INTEGER ::= 8
+maxNrOfLAIs INTEGER ::= 8
+maxNrOfExtendedNeighbouringRNCs INTEGER ::= 64
+maxNoOfGsmCell INTEGER ::= 128
+maxNrOfANRCells INTEGER ::= 256
+maxFreqBandsTDD INTEGER ::= 16
+maxSCPICHCell INTEGER ::= 32
+maxSCPICHCell-1 INTEGER ::= 31
+maxNoOfCommonRGCells INTEGER ::= 256
+maxIGPInfo INTEGER ::= 320
+maxNrofConcatenatedDCH INTEGER ::= 3
+maxMultipleFrequencyBands INTEGER ::= 8
+maxMultipleFrequencyBandsEUTRA INTEGER ::= 8
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-AllowedQueuingTime ProtocolIE-ID ::= 4
+id-Allowed-Rate-Information ProtocolIE-ID ::= 42
+id-AntennaColocationIndicator ProtocolIE-ID ::= 309
+id-BindingID ProtocolIE-ID ::= 5
+id-C-ID ProtocolIE-ID ::= 6
+id-C-RNTI ProtocolIE-ID ::= 7
+id-Cell-Capacity-Class-Value ProtocolIE-ID ::= 303
+id-CFN ProtocolIE-ID ::= 8
+id-CN-CS-DomainIdentifier ProtocolIE-ID ::= 9
+id-CN-PS-DomainIdentifier ProtocolIE-ID ::= 10
+id-Cause ProtocolIE-ID ::= 11
+id-CoverageIndicator ProtocolIE-ID ::= 310
+id-CriticalityDiagnostics ProtocolIE-ID ::= 20
+id-ContextInfoItem-Reset ProtocolIE-ID ::= 211
+id-ContextGroupInfoItem-Reset ProtocolIE-ID ::= 515
+id-D-RNTI ProtocolIE-ID ::= 21
+id-D-RNTI-ReleaseIndication ProtocolIE-ID ::= 22
+id-DCHs-to-Add-FDD ProtocolIE-ID ::= 26
+id-DCHs-to-Add-TDD ProtocolIE-ID ::= 27
+id-DCH-DeleteList-RL-ReconfPrepFDD ProtocolIE-ID ::= 30
+id-DCH-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 31
+id-DCH-DeleteList-RL-ReconfRqstFDD ProtocolIE-ID ::= 32
+id-DCH-DeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 33
+id-DCH-FDD-Information ProtocolIE-ID ::= 34
+id-DCH-TDD-Information ProtocolIE-ID ::= 35
+id-FDD-DCHs-to-Modify ProtocolIE-ID ::= 39
+id-TDD-DCHs-to-Modify ProtocolIE-ID ::= 40
+id-DCH-InformationResponse ProtocolIE-ID ::= 43
+id-DCH-Rate-InformationItem-RL-CongestInd ProtocolIE-ID ::= 38
+id-DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 44
+id-DL-CCTrCH-InformationListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 45
+id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 46
+id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD ProtocolIE-ID ::= 47
+id-DL-CCTrCH-InformationListIE-PhyChReconfRqstTDD ProtocolIE-ID ::= 48
+id-DL-CCTrCH-InformationListIE-RL-AdditionRspTDD ProtocolIE-ID ::= 49
+id-DL-CCTrCH-InformationListIE-RL-SetupRspTDD ProtocolIE-ID ::= 50
+id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 51
+id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 52
+id-DL-CCTrCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 53
+id-FDD-DL-CodeInformation ProtocolIE-ID ::= 54
+id-DL-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 59
+id-DL-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 60
+id-DL-DPCH-Information-RL-ReconfRqstFDD ProtocolIE-ID ::= 61
+id-DL-DPCH-InformationItem-PhyChReconfRqstTDD ProtocolIE-ID ::= 62
+id-DL-DPCH-InformationItem-RL-AdditionRspTDD ProtocolIE-ID ::= 63
+id-DL-DPCH-InformationItem-RL-SetupRspTDD ProtocolIE-ID ::= 64
+id-DL-DPCH-TimingAdjustment ProtocolIE-ID ::= 278
+id-DLReferencePower ProtocolIE-ID ::= 67
+id-DLReferencePowerList-DL-PC-Rqst ProtocolIE-ID ::= 68
+id-DL-ReferencePowerInformation-DL-PC-Rqst ProtocolIE-ID ::= 69
+id-DPC-Mode ProtocolIE-ID ::= 12
+id-DRXCycleLengthCoefficient ProtocolIE-ID ::= 70
+id-DedicatedMeasurementObjectType-DM-Fail-Ind ProtocolIE-ID ::= 470
+id-DedicatedMeasurementObjectType-DM-Fail ProtocolIE-ID ::= 471
+id-DedicatedMeasurementObjectType-DM-Rprt ProtocolIE-ID ::= 71
+id-DedicatedMeasurementObjectType-DM-Rqst ProtocolIE-ID ::= 72
+id-DedicatedMeasurementObjectType-DM-Rsp ProtocolIE-ID ::= 73
+id-DedicatedMeasurementType ProtocolIE-ID ::= 74
+id-FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspFDD ProtocolIE-ID ::= 82
+id-FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspTDD ProtocolIE-ID ::= 83
+id-Guaranteed-Rate-Information ProtocolIE-ID ::= 41
+id-IMSI ProtocolIE-ID ::= 84
+id-HCS-Prio ProtocolIE-ID ::= 311
+id-L3-Information ProtocolIE-ID ::= 85
+id-AdjustmentPeriod ProtocolIE-ID ::= 90
+id-MaxAdjustmentStep ProtocolIE-ID ::= 91
+id-MeasurementFilterCoefficient ProtocolIE-ID ::= 92
+id-MessageStructure ProtocolIE-ID ::= 57
+id-MeasurementID ProtocolIE-ID ::= 93
+id-Neighbouring-GSM-CellInformation ProtocolIE-ID ::= 13
+id-Neighbouring-UMTS-CellInformationItem ProtocolIE-ID ::= 95
+--WS extension
+id-Unknown-305 ProtocolIE-ID ::= 304
+id-NRT-Load-Information-Value ProtocolIE-ID ::= 305
+id-NRT-Load-Information-Value-IncrDecrThres ProtocolIE-ID ::= 306
+id-PagingArea-PagingRqst ProtocolIE-ID ::= 102
+id-FACH-FlowControlInformation ProtocolIE-ID ::= 103
+id-PartialReportingIndicator ProtocolIE-ID ::= 472
+id-Permanent-NAS-UE-Identity ProtocolIE-ID ::= 17
+id-PowerAdjustmentType ProtocolIE-ID ::= 107
+--WS extension
+id-Unknown-108 ProtocolIE-ID ::= 108
+id-RANAP-RelocationInformation ProtocolIE-ID ::= 109
+id-RL-Information-PhyChReconfRqstFDD ProtocolIE-ID ::= 110
+id-RL-Information-PhyChReconfRqstTDD ProtocolIE-ID ::= 111
+id-RL-Information-RL-AdditionRqstFDD ProtocolIE-ID ::= 112
+id-RL-Information-RL-AdditionRqstTDD ProtocolIE-ID ::= 113
+id-RL-Information-RL-DeletionRqst ProtocolIE-ID ::= 114
+id-RL-Information-RL-FailureInd ProtocolIE-ID ::= 115
+id-RL-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 116
+id-RL-Information-RL-RestoreInd ProtocolIE-ID ::= 117
+id-RL-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 118
+id-RL-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 119
+id-RL-InformationItem-RL-CongestInd ProtocolIE-ID ::= 55
+id-RL-InformationItem-DM-Rprt ProtocolIE-ID ::= 120
+id-RL-InformationItem-DM-Rqst ProtocolIE-ID ::= 121
+id-RL-InformationItem-DM-Rsp ProtocolIE-ID ::= 122
+id-RL-InformationItem-RL-PreemptRequiredInd ProtocolIE-ID ::= 2
+id-RL-InformationItem-RL-SetupRqstFDD ProtocolIE-ID ::= 123
+id-RL-InformationList-RL-CongestInd ProtocolIE-ID ::= 56
+id-RL-InformationList-RL-AdditionRqstFDD ProtocolIE-ID ::= 124
+id-RL-InformationList-RL-DeletionRqst ProtocolIE-ID ::= 125
+id-RL-InformationList-RL-PreemptRequiredInd ProtocolIE-ID ::= 1
+id-RL-InformationList-RL-ReconfPrepFDD ProtocolIE-ID ::= 126
+id-RL-InformationResponse-RL-AdditionRspTDD ProtocolIE-ID ::= 127
+id-RL-InformationResponse-RL-ReconfReadyTDD ProtocolIE-ID ::= 128
+id-RL-InformationResponse-RL-SetupRspTDD ProtocolIE-ID ::= 129
+id-RL-InformationResponseItem-RL-AdditionRspFDD ProtocolIE-ID ::= 130
+id-RL-InformationResponseItem-RL-ReconfReadyFDD ProtocolIE-ID ::= 131
+id-RL-InformationResponseItem-RL-ReconfRspFDD ProtocolIE-ID ::= 132
+id-RL-InformationResponseItem-RL-SetupRspFDD ProtocolIE-ID ::= 133
+id-RL-InformationResponseList-RL-AdditionRspFDD ProtocolIE-ID ::= 134
+id-RL-InformationResponseList-RL-ReconfReadyFDD ProtocolIE-ID ::= 135
+id-RL-InformationResponseList-RL-ReconfRspFDD ProtocolIE-ID ::= 136
+id-RL-InformationResponse-RL-ReconfRspTDD ProtocolIE-ID ::= 28
+id-RL-InformationResponseList-RL-SetupRspFDD ProtocolIE-ID ::= 137
+id-RL-ReconfigurationFailure-RL-ReconfFail ProtocolIE-ID ::= 141
+id-RL-Set-InformationItem-DM-Rprt ProtocolIE-ID ::= 143
+id-RL-Set-InformationItem-DM-Rqst ProtocolIE-ID ::= 144
+id-RL-Set-InformationItem-DM-Rsp ProtocolIE-ID ::= 145
+id-RL-Set-Information-RL-FailureInd ProtocolIE-ID ::= 146
+id-RL-Set-Information-RL-RestoreInd ProtocolIE-ID ::= 147
+id-RL-Set-Successful-InformationItem-DM-Fail ProtocolIE-ID ::= 473
+id-RL-Set-Unsuccessful-InformationItem-DM-Fail ProtocolIE-ID ::= 474
+id-RL-Set-Unsuccessful-InformationItem-DM-Fail-Ind ProtocolIE-ID ::= 475
+id-RL-Successful-InformationItem-DM-Fail ProtocolIE-ID ::= 476
+id-RL-Unsuccessful-InformationItem-DM-Fail ProtocolIE-ID ::= 477
+id-RL-Unsuccessful-InformationItem-DM-Fail-Ind ProtocolIE-ID ::= 478
+id-ReportCharacteristics ProtocolIE-ID ::= 152
+id-Reporting-Object-RL-FailureInd ProtocolIE-ID ::= 153
+id-Reporing-Object-RL-RestoreInd ProtocolIE-ID ::= 154
+id-RT-Load-Value ProtocolIE-ID ::= 307
+id-RT-Load-Value-IncrDecrThres ProtocolIE-ID ::= 308
+id-S-RNTI ProtocolIE-ID ::= 155
+id-ResetIndicator ProtocolIE-ID ::= 244
+id-RNC-ID ProtocolIE-ID ::= 245
+id-SAI ProtocolIE-ID ::= 156
+id-SRNC-ID ProtocolIE-ID ::= 157
+id-SuccessfulRL-InformationResponse-RL-AdditionFailureFDD ProtocolIE-ID ::= 159
+id-SuccessfulRL-InformationResponse-RL-SetupFailureFDD ProtocolIE-ID ::= 160
+--WS extension
+id-Unknown-161 ProtocolIE-ID ::= 161
+id-Unknown-162 ProtocolIE-ID ::= 162
+id-TransportBearerID ProtocolIE-ID ::= 163
+id-TransportBearerRequestIndicator ProtocolIE-ID ::= 164
+id-TransportLayerAddress ProtocolIE-ID ::= 165
+id-TypeOfError ProtocolIE-ID ::= 140
+id-UC-ID ProtocolIE-ID ::= 166
+id-UL-CCTrCH-AddInformation-RL-ReconfPrepTDD ProtocolIE-ID ::= 167
+id-Unknown-168 ProtocolIE-ID ::= 168
+id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 169
+id-Unknown-170 ProtocolIE-ID ::= 170
+id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD ProtocolIE-ID ::= 171
+id-UL-CCTrCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 172
+id-UL-CCTrCH-InformationListIE-PhyChReconfRqstTDD ProtocolIE-ID ::= 173
+id-UL-CCTrCH-InformationListIE-RL-AdditionRspTDD ProtocolIE-ID ::= 174
+id-UL-CCTrCH-InformationListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 175
+id-UL-CCTrCH-InformationListIE-RL-SetupRspTDD ProtocolIE-ID ::= 176
+id-UL-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 177
+id-UL-DPCH-Information-RL-ReconfRqstFDD ProtocolIE-ID ::= 178
+id-UL-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 179
+id-UL-DPCH-InformationItem-PhyChReconfRqstTDD ProtocolIE-ID ::= 180
+id-UL-DPCH-InformationItem-RL-AdditionRspTDD ProtocolIE-ID ::= 181
+id-UL-DPCH-InformationItem-RL-SetupRspTDD ProtocolIE-ID ::= 182
+id-UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 183
+id-UL-SIRTarget ProtocolIE-ID ::= 184
+id-URA-Information ProtocolIE-ID ::= 185
+--WS extension
+id-Unknown-186 ProtocolIE-ID ::= 186
+id-Unknown-187 ProtocolIE-ID ::= 187
+id-UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD ProtocolIE-ID ::= 188
+id-UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD ProtocolIE-ID ::= 189
+id-UnsuccessfulRL-InformationResponse-RL-SetupFailureTDD ProtocolIE-ID ::= 190
+--WS extension
+id-Unknown-191 ProtocolIE-ID ::= 191
+id-Unknown-192 ProtocolIE-ID ::= 192
+id-Active-Pattern-Sequence-Information ProtocolIE-ID ::= 193
+id-AdjustmentRatio ProtocolIE-ID ::= 194
+--WS extension
+id-Unknown-195 ProtocolIE-ID ::= 195
+id-Unknown-196 ProtocolIE-ID ::= 196
+id-CauseLevel-RL-AdditionFailureFDD ProtocolIE-ID ::= 197
+id-CauseLevel-RL-AdditionFailureTDD ProtocolIE-ID ::= 198
+id-CauseLevel-RL-ReconfFailure ProtocolIE-ID ::= 199
+id-CauseLevel-RL-SetupFailureFDD ProtocolIE-ID ::= 200
+id-CauseLevel-RL-SetupFailureTDD ProtocolIE-ID ::= 201
+id-DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 205
+id-DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 206
+id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 207
+id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 208
+id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 209
+id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 210
+id-DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 212
+id-DL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 213
+id-DL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 214
+id-DSCHs-to-Add-TDD ProtocolIE-ID ::= 215
+id-Unused-ProtocolIE-ID-216 ProtocolIE-ID ::= 216
+id-DSCH-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 217
+id-Unused-ProtocolIE-ID-218 ProtocolIE-ID ::= 218
+id-Unused-ProtocolIE-ID-219 ProtocolIE-ID ::= 219
+id-DSCH-InformationListIE-RL-AdditionRspTDD ProtocolIE-ID ::= 220
+id-DSCH-InformationListIEs-RL-SetupRspTDD ProtocolIE-ID ::= 221
+id-DSCH-TDD-Information ProtocolIE-ID ::= 222
+id-Unused-ProtocolIE-ID-223 ProtocolIE-ID ::= 223
+id-Unused-ProtocolIE-ID-226 ProtocolIE-ID ::= 226
+id-DSCH-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 227
+id-Unused-ProtocolIE-ID-228 ProtocolIE-ID ::= 228
+id-Unused-ProtocolIE-ID-324 ProtocolIE-ID ::= 324
+id-Unused-ProtocolIE-ID-229 ProtocolIE-ID ::= 229
+id-DSCHToBeAddedOrModifiedList-RL-ReconfReadyTDD ProtocolIE-ID ::= 230
+--WS extension
+id-Unknown-231 ProtocolIE-ID ::= 231
+id-Unused-ProtocolIE-ID-29 ProtocolIE-ID ::= 29
+id-Unused-ProtocolIE-ID-225 ProtocolIE-ID ::= 225
+id-GA-Cell ProtocolIE-ID ::= 232
+id-GA-CellAdditionalShapes ProtocolIE-ID ::= 3
+id-Unused-ProtocolIE-ID-246 ProtocolIE-ID ::= 246
+--WS extension
+id-Unknown-254 ProtocolIE-ID ::= 254
+id-Transmission-Gap-Pattern-Sequence-Information ProtocolIE-ID ::= 255
+id-UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD ProtocolIE-ID ::= 256
+id-UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD ProtocolIE-ID ::= 257
+id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 258
+id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 259
+id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 260
+id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 261
+id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 262
+id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 263
+id-UL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 264
+id-UL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 265
+id-UnsuccessfulRL-InformationResponse-RL-AdditionFailureTDD ProtocolIE-ID ::= 266
+id-USCHs-to-Add ProtocolIE-ID ::= 267
+id-USCH-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 268
+id-USCH-InformationListIE-RL-AdditionRspTDD ProtocolIE-ID ::= 269
+id-USCH-InformationListIEs-RL-SetupRspTDD ProtocolIE-ID ::= 270
+id-USCH-Information ProtocolIE-ID ::= 271
+id-USCH-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 272
+id-USCHToBeAddedOrModifiedList-RL-ReconfReadyTDD ProtocolIE-ID ::= 273
+id-DL-Physical-Channel-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 274
+id-UL-Physical-Channel-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 275
+id-ClosedLoopMode1-SupportIndicator ProtocolIE-ID ::= 276
+id-Unused-ProtocolIE-ID-277 ProtocolIE-ID ::= 277
+id-STTD-SupportIndicator ProtocolIE-ID ::= 279
+id-CFNReportingIndicator ProtocolIE-ID ::= 14
+id-CNOriginatedPage-PagingRqst ProtocolIE-ID ::= 23
+id-InnerLoopDLPCStatus ProtocolIE-ID ::= 24
+id-PropagationDelay ProtocolIE-ID ::= 25
+id-RxTimingDeviationForTA ProtocolIE-ID ::= 36
+id-timeSlot-ISCP ProtocolIE-ID ::= 37
+id-CCTrCH-InformationItem-RL-FailureInd ProtocolIE-ID ::= 15
+id-CCTrCH-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 16
+id-CommonMeasurementAccuracy ProtocolIE-ID ::= 280
+id-CommonMeasurementObjectType-CM-Rprt ProtocolIE-ID ::= 281
+id-CommonMeasurementObjectType-CM-Rqst ProtocolIE-ID ::= 282
+id-CommonMeasurementObjectType-CM-Rsp ProtocolIE-ID ::= 283
+id-CommonMeasurementType ProtocolIE-ID ::= 284
+id-CongestionCause ProtocolIE-ID ::= 18
+id-SFN ProtocolIE-ID ::= 285
+id-SFNReportingIndicator ProtocolIE-ID ::= 286
+id-InformationExchangeID ProtocolIE-ID ::= 287
+id-InformationExchangeObjectType-InfEx-Rprt ProtocolIE-ID ::= 288
+id-InformationExchangeObjectType-InfEx-Rqst ProtocolIE-ID ::= 289
+id-InformationExchangeObjectType-InfEx-Rsp ProtocolIE-ID ::= 290
+id-InformationReportCharacteristics ProtocolIE-ID ::= 291
+id-InformationType ProtocolIE-ID ::= 292
+id-neighbouring-LCR-TDD-CellInformation ProtocolIE-ID ::= 58
+id-DL-Timeslot-ISCP-LCR-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 65
+id-RL-LCR-InformationResponse-RL-SetupRspTDD ProtocolIE-ID ::= 66
+id-UL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD ProtocolIE-ID ::= 75
+id-UL-DPCH-LCR-InformationItem-RL-SetupRspTDD ProtocolIE-ID ::= 76
+id-DL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD ProtocolIE-ID ::= 77
+id-DL-DPCH-LCR-InformationItem-RL-SetupRspTDD ProtocolIE-ID ::= 78
+id-DSCH-LCR-InformationListIEs-RL-SetupRspTDD ProtocolIE-ID ::= 79
+id-USCH-LCR-InformationListIEs-RL-SetupRspTDD ProtocolIE-ID ::= 80
+id-DL-Timeslot-ISCP-LCR-Information-RL-AdditionRqstTDD ProtocolIE-ID ::= 81
+id-RL-LCR-InformationResponse-RL-AdditionRspTDD ProtocolIE-ID ::= 86
+id-UL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD ProtocolIE-ID ::= 87
+id-UL-DPCH-LCR-InformationItem-RL-AdditionRspTDD ProtocolIE-ID ::= 88
+id-DL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD ProtocolIE-ID ::= 89
+id-DL-DPCH-LCR-InformationItem-RL-AdditionRspTDD ProtocolIE-ID ::= 94
+id-DSCH-LCR-InformationListIEs-RL-AdditionRspTDD ProtocolIE-ID ::= 96
+id-USCH-LCR-InformationListIEs-RL-AdditionRspTDD ProtocolIE-ID ::= 97
+id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 98
+--WS extension
+id-Unknown-99 ProtocolIE-ID ::= 99
+id-UL-Timeslot-LCR-InformationModifyList-RL-ReconfReadyTDD ProtocolIE-ID ::= 100
+id-DL-DPCH-LCR-InformationAddListIE-RL-ReconfReadyTDD ProtocolIE-ID ::= 101
+id-DL-Timeslot-LCR-InformationModifyList-RL-ReconfReadyTDD ProtocolIE-ID ::= 104
+id-UL-Timeslot-LCR-InformationList-PhyChReconfRqstTDD ProtocolIE-ID ::= 105
+id-DL-Timeslot-LCR-InformationList-PhyChReconfRqstTDD ProtocolIE-ID ::= 106
+id-timeSlot-ISCP-LCR-List-DL-PC-Rqst-TDD ProtocolIE-ID ::= 138
+id-TSTD-Support-Indicator-RL-SetupRqstTDD ProtocolIE-ID ::= 139
+id-RestrictionStateIndicator ProtocolIE-ID ::= 142
+id-Load-Value ProtocolIE-ID ::= 233
+id-Load-Value-IncrDecrThres ProtocolIE-ID ::= 234
+id-OnModification ProtocolIE-ID ::= 235
+id-Received-Total-Wideband-Power-Value ProtocolIE-ID ::= 236
+id-Received-Total-Wideband-Power-Value-IncrDecrThres ProtocolIE-ID ::= 237
+id-SFNSFNMeasurementThresholdInformation ProtocolIE-ID ::= 238
+id-Transmitted-Carrier-Power-Value ProtocolIE-ID ::= 239
+id-Transmitted-Carrier-Power-Value-IncrDecrThres ProtocolIE-ID ::= 240
+id-TUTRANGPSMeasurementThresholdInformation ProtocolIE-ID ::= 241
+id-UL-Timeslot-ISCP-Value ProtocolIE-ID ::= 242
+id-UL-Timeslot-ISCP-Value-IncrDecrThres ProtocolIE-ID ::= 243
+id-Rx-Timing-Deviation-Value-LCR ProtocolIE-ID ::= 293
+id-DPC-Mode-Change-SupportIndicator ProtocolIE-ID ::= 19
+id-Unused-ProtocolIE-ID-247 ProtocolIE-ID ::= 247
+--WS extension
+id-Unknown-294 ProtocolIE-ID ::= 294
+id-Unused-ProtocolIE-ID-295 ProtocolIE-ID ::= 295
+id-PrimaryCCPCH-RSCP-RL-ReconfPrepTDD ProtocolIE-ID ::= 202
+id-DL-TimeSlot-ISCP-Info-RL-ReconfPrepTDD ProtocolIE-ID ::= 203
+id-DL-Timeslot-ISCP-LCR-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 204
+id-DSCH-RNTI ProtocolIE-ID ::= 249
+id-DL-PowerBalancing-Information ProtocolIE-ID ::= 296
+id-DL-PowerBalancing-ActivationIndicator ProtocolIE-ID ::= 297
+id-DL-PowerBalancing-UpdatedIndicator ProtocolIE-ID ::= 298
+id-DL-ReferencePowerInformation ProtocolIE-ID ::= 299
+id-Enhanced-PrimaryCPICH-EcNo ProtocolIE-ID ::= 224
+id-IPDL-TDD-ParametersLCR ProtocolIE-ID ::= 252
+id-CellCapabilityContainer-FDD ProtocolIE-ID ::= 300
+id-CellCapabilityContainer-TDD ProtocolIE-ID ::= 301
+id-CellCapabilityContainer-TDD-LCR ProtocolIE-ID ::= 302
+id-RL-Specific-DCH-Info ProtocolIE-ID ::= 317
+id-RL-ReconfigurationRequestFDD-RL-InformationList ProtocolIE-ID ::= 318
+id-RL-ReconfigurationRequestFDD-RL-Information-IEs ProtocolIE-ID ::= 319
+--WS extension
+id-Unknown-320 ProtocolIE-ID ::= 320
+id-RL-ReconfigurationRequestTDD-RL-Information ProtocolIE-ID ::= 321
+--WS extension
+id-Unknown-322 ProtocolIE-ID ::= 322
+id-CommonTransportChannelResourcesInitialisationNotRequired ProtocolIE-ID ::= 250
+id-DelayedActivation ProtocolIE-ID ::= 312
+id-DelayedActivationList-RL-ActivationCmdFDD ProtocolIE-ID ::= 313
+id-DelayedActivationInformation-RL-ActivationCmdFDD ProtocolIE-ID ::= 314
+id-DelayedActivationList-RL-ActivationCmdTDD ProtocolIE-ID ::= 315
+id-DelayedActivationInformation-RL-ActivationCmdTDD ProtocolIE-ID ::= 316
+id-neighbouringTDDCellMeasurementInformationLCR ProtocolIE-ID ::= 251
+id-UL-SIR-Target-CCTrCH-InformationItem-RL-SetupRspTDD ProtocolIE-ID ::= 150
+id-UL-SIR-Target-CCTrCH-LCR-InformationItem-RL-SetupRspTDD ProtocolIE-ID ::= 151
+id-PrimCCPCH-RSCP-DL-PC-RqstTDD ProtocolIE-ID ::= 451
+id-HSDSCH-FDD-Information ProtocolIE-ID ::= 452
+id-HSDSCH-FDD-Information-Response ProtocolIE-ID ::= 453
+--WS extension
+id-Unknown-454 ProtocolIE-ID ::= 454
+id-Unknown-455 ProtocolIE-ID ::= 455
+id-HSDSCH-FDD-Update-Information ProtocolIE-ID ::= 466
+id-HSDSCH-Information-to-Modify ProtocolIE-ID ::= 456
+id-HSDSCHMacdFlowSpecificInformationList-RL-PreemptRequiredInd ProtocolIE-ID ::= 516
+id-HSDSCHMacdFlowSpecificInformationItem-RL-PreemptRequiredInd ProtocolIE-ID ::= 517
+id-HSDSCH-RNTI ProtocolIE-ID ::= 457
+id-HSDSCH-TDD-Information ProtocolIE-ID ::= 458
+id-HSDSCH-TDD-Information-Response ProtocolIE-ID ::= 459
+--WS extension
+id-Unknown-460 ProtocolIE-ID ::= 460
+id-Unknown-461 ProtocolIE-ID ::= 461
+id-Unknown-462 ProtocolIE-ID ::= 462
+id-HSDSCH-TDD-Update-Information ProtocolIE-ID ::= 467
+id-HSPDSCH-RL-ID ProtocolIE-ID ::= 463
+id-HSDSCH-MACdFlows-to-Add ProtocolIE-ID ::= 531
+id-HSDSCH-MACdFlows-to-Delete ProtocolIE-ID ::= 532
+id-Angle-Of-Arrival-Value-LCR ProtocolIE-ID ::= 148
+--WS extension
+id-Unknown-149 ProtocolIE-ID ::= 149
+id-TrafficClass ProtocolIE-ID ::= 158
+id-Unused-ProtocolIE-ID-248 ProtocolIE-ID ::= 248
+id-Unused-ProtocolIE-ID-253 ProtocolIE-ID ::= 253
+id-PDSCH-RL-ID ProtocolIE-ID ::= 323
+id-TimeSlot-RL-SetupRspTDD ProtocolIE-ID ::= 325
+--WS extension
+id-Unknown-326 ProtocolIE-ID ::= 326
+id-Unknown-327 ProtocolIE-ID ::= 327
+id-Unknown-328 ProtocolIE-ID ::= 328
+id-Unknown-329 ProtocolIE-ID ::= 329
+id-Unknown-330 ProtocolIE-ID ::= 330
+id-Unknown-331 ProtocolIE-ID ::= 331
+id-Unknown-332 ProtocolIE-ID ::= 332
+id-Unknown-333 ProtocolIE-ID ::= 333
+id-Unknown-334 ProtocolIE-ID ::= 334
+id-Unknown-335 ProtocolIE-ID ::= 335
+id-Unknown-336 ProtocolIE-ID ::= 336
+id-Unknown-337 ProtocolIE-ID ::= 337
+id-Unknown-338 ProtocolIE-ID ::= 338
+id-Unknown-339 ProtocolIE-ID ::= 339
+id-Unknown-340 ProtocolIE-ID ::= 340
+id-Unknown-341 ProtocolIE-ID ::= 341
+id-Unknown-342 ProtocolIE-ID ::= 342
+id-Unknown-343 ProtocolIE-ID ::= 343
+id-Unknown-344 ProtocolIE-ID ::= 344
+id-Unknown-345 ProtocolIE-ID ::= 345
+id-Unknown-346 ProtocolIE-ID ::= 346
+id-Unknown-347 ProtocolIE-ID ::= 347
+id-Unknown-348 ProtocolIE-ID ::= 348
+id-Unknown-349 ProtocolIE-ID ::= 349
+id-Unknown-350 ProtocolIE-ID ::= 350
+id-Unknown-351 ProtocolIE-ID ::= 351
+id-Unknown-352 ProtocolIE-ID ::= 352
+id-Unknown-353 ProtocolIE-ID ::= 353
+id-Unknown-354 ProtocolIE-ID ::= 354
+id-Unknown-355 ProtocolIE-ID ::= 355
+id-Unknown-356 ProtocolIE-ID ::= 356
+id-Unknown-357 ProtocolIE-ID ::= 357
+id-Unknown-358 ProtocolIE-ID ::= 358
+id-Unknown-359 ProtocolIE-ID ::= 359
+id-Unknown-360 ProtocolIE-ID ::= 360
+id-Unknown-361 ProtocolIE-ID ::= 361
+id-Unknown-362 ProtocolIE-ID ::= 362
+id-Unknown-363 ProtocolIE-ID ::= 363
+id-Unknown-364 ProtocolIE-ID ::= 364
+id-Unknown-365 ProtocolIE-ID ::= 365
+id-Unknown-366 ProtocolIE-ID ::= 366
+id-Unknown-367 ProtocolIE-ID ::= 367
+id-Unknown-368 ProtocolIE-ID ::= 368
+id-Unknown-369 ProtocolIE-ID ::= 369
+id-Unknown-370 ProtocolIE-ID ::= 370
+id-Unknown-371 ProtocolIE-ID ::= 371
+id-Unknown-372 ProtocolIE-ID ::= 372
+id-Unknown-373 ProtocolIE-ID ::= 373
+id-Unknown-374 ProtocolIE-ID ::= 374
+id-Unknown-375 ProtocolIE-ID ::= 375
+id-Unknown-376 ProtocolIE-ID ::= 376
+id-Unknown-377 ProtocolIE-ID ::= 377
+id-Unknown-378 ProtocolIE-ID ::= 378
+id-Unknown-379 ProtocolIE-ID ::= 379
+id-Unknown-380 ProtocolIE-ID ::= 380
+id-Unknown-381 ProtocolIE-ID ::= 381
+id-Unknown-382 ProtocolIE-ID ::= 382
+id-Unknown-383 ProtocolIE-ID ::= 383
+id-Unknown-384 ProtocolIE-ID ::= 384
+id-Unknown-385 ProtocolIE-ID ::= 385
+id-Unknown-386 ProtocolIE-ID ::= 386
+id-Unknown-387 ProtocolIE-ID ::= 387
+id-Unknown-388 ProtocolIE-ID ::= 388
+id-Unknown-389 ProtocolIE-ID ::= 389
+id-Unknown-390 ProtocolIE-ID ::= 390
+id-Unknown-391 ProtocolIE-ID ::= 391
+id-Unknown-392 ProtocolIE-ID ::= 392
+id-Unknown-393 ProtocolIE-ID ::= 393
+id-Unknown-394 ProtocolIE-ID ::= 394
+id-Unknown-395 ProtocolIE-ID ::= 395
+id-Unknown-396 ProtocolIE-ID ::= 396
+id-Unknown-397 ProtocolIE-ID ::= 397
+id-Unknown-398 ProtocolIE-ID ::= 398
+id-Unknown-399 ProtocolIE-ID ::= 399
+id-Unknown-400 ProtocolIE-ID ::= 400
+id-Unknown-401 ProtocolIE-ID ::= 401
+id-Unknown-402 ProtocolIE-ID ::= 402
+id-Unknown-403 ProtocolIE-ID ::= 403
+id-Unknown-404 ProtocolIE-ID ::= 404
+id-Unknown-405 ProtocolIE-ID ::= 405
+id-Unknown-406 ProtocolIE-ID ::= 406
+id-Unknown-407 ProtocolIE-ID ::= 407
+id-Unknown-408 ProtocolIE-ID ::= 408
+id-Unknown-409 ProtocolIE-ID ::= 409
+id-Unknown-410 ProtocolIE-ID ::= 410
+id-Unknown-411 ProtocolIE-ID ::= 411
+id-Unknown-412 ProtocolIE-ID ::= 412
+id-Unknown-413 ProtocolIE-ID ::= 413
+id-Unknown-414 ProtocolIE-ID ::= 414
+id-Unknown-415 ProtocolIE-ID ::= 415
+id-Unknown-416 ProtocolIE-ID ::= 416
+id-Unknown-417 ProtocolIE-ID ::= 417
+id-Unknown-418 ProtocolIE-ID ::= 418
+id-Unknown-419 ProtocolIE-ID ::= 419
+id-Unknown-420 ProtocolIE-ID ::= 420
+id-Unknown-421 ProtocolIE-ID ::= 421
+id-Unknown-422 ProtocolIE-ID ::= 422
+id-Unknown-423 ProtocolIE-ID ::= 423
+id-Unknown-424 ProtocolIE-ID ::= 424
+id-Unknown-425 ProtocolIE-ID ::= 425
+id-Unknown-426 ProtocolIE-ID ::= 426
+id-Unknown-427 ProtocolIE-ID ::= 427
+id-Unknown-428 ProtocolIE-ID ::= 428
+id-Unknown-429 ProtocolIE-ID ::= 429
+id-Unknown-430 ProtocolIE-ID ::= 430
+id-Unknown-431 ProtocolIE-ID ::= 431
+id-Unknown-432 ProtocolIE-ID ::= 432
+id-Unknown-433 ProtocolIE-ID ::= 433
+id-Unknown-434 ProtocolIE-ID ::= 434
+id-Unknown-435 ProtocolIE-ID ::= 435
+id-Unknown-436 ProtocolIE-ID ::= 436
+id-Unknown-437 ProtocolIE-ID ::= 437
+id-Unknown-438 ProtocolIE-ID ::= 438
+id-Unknown-439 ProtocolIE-ID ::= 439
+id-Unknown-440 ProtocolIE-ID ::= 440
+id-Unknown-441 ProtocolIE-ID ::= 441
+id-Unknown-442 ProtocolIE-ID ::= 442
+id-Unknown-443 ProtocolIE-ID ::= 443
+id-Unknown-444 ProtocolIE-ID ::= 444
+id-Unknown-445 ProtocolIE-ID ::= 445
+id-Unknown-446 ProtocolIE-ID ::= 446
+id-Unknown-447 ProtocolIE-ID ::= 447
+id-Unknown-448 ProtocolIE-ID ::= 448
+id-Unknown-449 ProtocolIE-ID ::= 449
+id-Unknown-450 ProtocolIE-ID ::= 450
+id-GERAN-Cell-Capability ProtocolIE-ID ::= 468
+id-GERAN-Classmark ProtocolIE-ID ::= 469
+id-DSCH-InitialWindowSize ProtocolIE-ID ::= 480
+id-UL-Synchronisation-Parameters-LCR ProtocolIE-ID ::= 464
+id-SNA-Information ProtocolIE-ID ::= 479
+id-MAChs-ResetIndicator ProtocolIE-ID ::= 465
+id-TDD-DL-DPCH-TimeSlotFormatModifyItem-LCR-RL-ReconfReadyTDD ProtocolIE-ID ::= 481
+id-TDD-UL-DPCH-TimeSlotFormatModifyItem-LCR-RL-ReconfReadyTDD ProtocolIE-ID ::= 482
+id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD ProtocolIE-ID ::= 483
+id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD ProtocolIE-ID ::= 484
+id-UL-CCTrCH-InformationItem-RL-AdditionRqstTDD ProtocolIE-ID ::= 485
+id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD ProtocolIE-ID ::= 486
+id-DL-CCTrCH-InformationItem-RL-AdditionRqstTDD ProtocolIE-ID ::= 487
+id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD ProtocolIE-ID ::= 488
+id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD ProtocolIE-ID ::= 489
+id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 490
+id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 491
+id-UL-TimingAdvanceCtrl-LCR ProtocolIE-ID ::= 492
+id-HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD ProtocolIE-ID ::= 493
+id-HSPDSCH-Timeslot-InformationListLCR-PhyChReconfRqstTDD ProtocolIE-ID ::= 494
+id-HS-SICH-Reception-Quality ProtocolIE-ID ::= 495
+id-HS-SICH-Reception-Quality-Measurement-Value ProtocolIE-ID ::= 496
+id-HSSICH-Info-DM-Rprt ProtocolIE-ID ::= 497
+id-HSSICH-Info-DM-Rqst ProtocolIE-ID ::= 498
+id-HSSICH-Info-DM ProtocolIE-ID ::= 499
+id-CCTrCH-Maximum-DL-Power-RL-SetupRspTDD ProtocolIE-ID ::= 500
+id-CCTrCH-Minimum-DL-Power-RL-SetupRspTDD ProtocolIE-ID ::= 501
+id-CCTrCH-Maximum-DL-Power-RL-AdditionRspTDD ProtocolIE-ID ::= 502
+id-CCTrCH-Minimum-DL-Power-RL-AdditionRspTDD ProtocolIE-ID ::= 503
+id-CCTrCH-Maximum-DL-Power-RL-ReconfReadyTDD ProtocolIE-ID ::= 504
+id-CCTrCH-Minimum-DL-Power-RL-ReconfReadyTDD ProtocolIE-ID ::= 505
+id-Maximum-DL-Power-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD ProtocolIE-ID ::= 506
+id-Minimum-DL-Power-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD ProtocolIE-ID ::= 507
+id-DL-CCTrCH-InformationList-RL-ReconfRspTDD ProtocolIE-ID ::= 508
+id-DL-DPCH-InformationModifyItem-LCR-RL-ReconfRspTDD ProtocolIE-ID ::= 509
+id-Maximum-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 510
+id-Minimum-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 511
+id-TDD-Support-8PSK ProtocolIE-ID ::= 512
+id-TDD-maxNrDLPhysicalchannels ProtocolIE-ID ::= 513
+id-ExtendedGSMCellIndividualOffset ProtocolIE-ID ::= 514
+id-RL-ParameterUpdateIndicationFDD-RL-InformationList ProtocolIE-ID ::= 518
+id-Primary-CPICH-Usage-For-Channel-Estimation ProtocolIE-ID ::= 519
+id-Secondary-CPICH-Information ProtocolIE-ID ::= 520
+id-Secondary-CPICH-Information-Change ProtocolIE-ID ::= 521
+id-Unused-ProtocolIE-ID-522 ProtocolIE-ID ::= 522
+id-Unused-ProtocolIE-ID-523 ProtocolIE-ID ::= 523
+id-RL-ParameterUpdateIndicationFDD-RL-Information-Item ProtocolIE-ID ::= 524
+id-Phase-Reference-Update-Indicator ProtocolIE-ID ::= 525
+id-Unidirectional-DCH-Indicator ProtocolIE-ID ::= 526
+id-RL-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 527
+id-Multiple-RL-InformationResponse-RL-ReconfReadyTDD ProtocolIE-ID ::= 528
+id-RL-ReconfigurationResponseTDD-RL-Information ProtocolIE-ID ::= 529
+id-Satellite-Almanac-Information-ExtItem ProtocolIE-ID ::= 530
+id-HSDSCH-Information-to-Modify-Unsynchronised ProtocolIE-ID ::= 533
+id-TnlQos ProtocolIE-ID ::= 534
+id-RTLoadValue ProtocolIE-ID ::= 535
+id-NRTLoadInformationValue ProtocolIE-ID ::= 536
+id-CellPortionID ProtocolIE-ID ::= 537
+id-UpPTSInterferenceValue ProtocolIE-ID ::= 538
+id-PrimaryCCPCH-RSCP-Delta ProtocolIE-ID ::= 539
+id-UEMeasurementType ProtocolIE-ID ::= 540
+id-UEMeasurementTimeslotInfoHCR ProtocolIE-ID ::= 541
+id-UEMeasurementTimeslotInfoLCR ProtocolIE-ID ::= 542
+id-UEMeasurementReportCharacteristics ProtocolIE-ID ::= 543
+id-UEMeasurementParameterModAllow ProtocolIE-ID ::= 544
+id-UEMeasurementValueInformation ProtocolIE-ID ::= 545
+id-InterfacesToTraceItem ProtocolIE-ID ::= 546
+id-ListOfInterfacesToTrace ProtocolIE-ID ::= 547
+id-TraceDepth ProtocolIE-ID ::= 548
+id-TraceRecordingSessionReference ProtocolIE-ID ::= 549
+id-TraceReference ProtocolIE-ID ::= 550
+id-UEIdentity ProtocolIE-ID ::= 551
+id-NACC-Related-Data ProtocolIE-ID ::= 552
+id-GSM-Cell-InfEx-Rqst ProtocolIE-ID ::= 553
+id-MeasurementRecoveryBehavior ProtocolIE-ID ::= 554
+id-MeasurementRecoveryReportingIndicator ProtocolIE-ID ::= 555
+id-MeasurementRecoverySupportIndicator ProtocolIE-ID ::= 556
+id-DL-DPCH-Power-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 557
+id-F-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 558
+id-F-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 559
+id-MBMS-Bearer-Service-List ProtocolIE-ID ::= 560
+id-MBMS-Bearer-Service-List-InfEx-Rsp ProtocolIE-ID ::= 561
+id-Active-MBMS-Bearer-ServiceFDD ProtocolIE-ID ::= 562
+id-Active-MBMS-Bearer-ServiceTDD ProtocolIE-ID ::= 563
+id-Old-URA-ID ProtocolIE-ID ::= 564
+--WS extension
+id-Unknown-565 ProtocolIE-ID ::= 565
+id-Unknown-566 ProtocolIE-ID ::= 566
+id-Unknown-567 ProtocolIE-ID ::= 567
+id-UE-State ProtocolIE-ID ::= 568
+id-URA-ID ProtocolIE-ID ::= 569
+--WS extension
+id-Unknown-570 ProtocolIE-ID ::= 570
+id-HARQ-Preamble-Mode ProtocolIE-ID ::= 571
+id-SynchronisationIndicator ProtocolIE-ID ::= 572
+id-UL-DPDCHIndicatorEDCH ProtocolIE-ID ::= 573
+id-EDPCH-Information ProtocolIE-ID ::= 574
+id-RL-Specific-EDCH-Information ProtocolIE-ID ::= 575
+id-EDCH-RL-Indication ProtocolIE-ID ::= 576
+id-EDCH-FDD-Information ProtocolIE-ID ::= 577
+id-EDCH-RLSet-Id ProtocolIE-ID ::= 578
+id-Serving-EDCHRL-Id ProtocolIE-ID ::= 579
+id-EDCH-FDD-DL-ControlChannelInformation ProtocolIE-ID ::= 580
+id-EDCH-FDD-InformationResponse ProtocolIE-ID ::= 581
+id-EDCH-MACdFlows-To-Add ProtocolIE-ID ::= 582
+id-EDCH-FDD-Information-To-Modify ProtocolIE-ID ::= 583
+id-EDCH-MACdFlows-To-Delete ProtocolIE-ID ::= 584
+id-EDPCH-Information-RLReconfRequest-FDD ProtocolIE-ID ::= 585
+id-EDCH-MacdFlowSpecificInformationList-RL-PreemptRequiredInd ProtocolIE-ID ::= 586
+id-EDCH-MacdFlowSpecificInformationItem-RL-PreemptRequiredInd ProtocolIE-ID ::= 587
+id-EDCH-MacdFlowSpecificInformationList-RL-CongestInd ProtocolIE-ID ::= 588
+id-EDCH-MacdFlowSpecificInformationItem-RL-CongestInd ProtocolIE-ID ::= 589
+id-MBMS-Bearer-Service-Full-Address ProtocolIE-ID ::= 590
+id-Initial-DL-DPCH-TimingAdjustment ProtocolIE-ID ::= 591
+id-Initial-DL-DPCH-TimingAdjustment-Allowed ProtocolIE-ID ::= 592
+id-User-Plane-Congestion-Fields-Inclusion ProtocolIE-ID ::= 593
+id-HARQ-Preamble-Mode-Activation-Indicator ProtocolIE-ID ::= 594
+id-multiple-DedicatedMeasurementValueList-TDD-DM-Rsp ProtocolIE-ID ::= 595
+id-multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp ProtocolIE-ID ::= 596
+id-ProvidedInformation ProtocolIE-ID ::= 597
+id-Active-MBMS-Bearer-ServiceFDD-PFL ProtocolIE-ID ::= 598
+id-Active-MBMS-Bearer-ServiceTDD-PFL ProtocolIE-ID ::= 599
+id-FrequencyBandIndicator ProtocolIE-ID ::= 600
+id-Serving-cell-change-CFN ProtocolIE-ID ::= 601
+id-HS-DSCH-serving-cell-change-information ProtocolIE-ID ::= 602
+id-HS-DSCH-serving-cell-change-informationResponse ProtocolIE-ID ::= 603
+id-E-DCH-Serving-cell-change-informationResponse ProtocolIE-ID ::= 604
+id-secondary-LCR-CCPCH-Info-TDD ProtocolIE-ID ::= 605
+id-E-DCH-FDD-Update-Information ProtocolIE-ID ::= 606
+id-Inter-Frequency-Cell-List ProtocolIE-ID ::= 607
+id-Inter-Frequency-Cell-Information ProtocolIE-ID ::= 608
+id-multiple-HSSICHMeasurementValueList-TDD-DM-Rsp ProtocolIE-ID ::= 609
+id-TDD-Support-PLCCH ProtocolIE-ID ::= 610
+id-PLCCH-Information-UL-TimeslotLCR-Info ProtocolIE-ID ::= 611
+id-PLCCH-Information-PhyChReconfRqstTDD ProtocolIE-ID ::= 612
+id-TDD768-maxNrDLPhysicalchannelsTS ProtocolIE-ID ::= 613
+id-RL-InformationResponse-RL-AdditionRspTDD768 ProtocolIE-ID ::= 614
+id-UL-CCTrCH-InformationListIE-RL-AdditionRspTDD768 ProtocolIE-ID ::= 615
+id-DL-CCTrCH-InformationListIE-RL-AdditionRspTDD768 ProtocolIE-ID ::= 616
+id-UL-DPCH-InformationItem-RL-AdditionRspTDD768 ProtocolIE-ID ::= 617
+id-DL-DPCH-InformationItem-RL-AdditionRspTDD768 ProtocolIE-ID ::= 618
+id-UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD768 ProtocolIE-ID ::= 619
+id-UL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768 ProtocolIE-ID ::= 620
+id-DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD768 ProtocolIE-ID ::= 621
+id-DL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768 ProtocolIE-ID ::= 622
+id-secondary-CCPCH-Info-RL-ReconfReadyTDD768 ProtocolIE-ID ::= 623
+id-hSSCCH-TDD-Specific-InfoList-Response768 ProtocolIE-ID ::= 624
+id-hSPDSCH-TDD-Specific-InfoList-Response768 ProtocolIE-ID ::= 625
+id-HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD768 ProtocolIE-ID ::= 626
+id-UL-Timeslot-InformationList-PhyChReconfRqstTDD768 ProtocolIE-ID ::= 627
+id-DL-Timeslot-InformationList-PhyChReconfRqstTDD768 ProtocolIE-ID ::= 628
+id-CellCapabilityContainer-TDD768 ProtocolIE-ID ::= 629
+id-multiple-DedicatedMeasurementValueList-TDD768-DM-Rsp ProtocolIE-ID ::= 630
+id-neighbouringTDDCellMeasurementInformation768 ProtocolIE-ID ::= 631
+id-UEMeasurementTimeslotInfo768 ProtocolIE-ID ::= 632
+id-Rx-Timing-Deviation-Value-768 ProtocolIE-ID ::= 633
+id-UEMeasurementValueTransmittedPowerList768 ProtocolIE-ID ::= 634
+id-UEMeasurementValueTimeslotISCPList768 ProtocolIE-ID ::= 635
+id-RL-InformationResponse-RL-SetupRspTDD768 ProtocolIE-ID ::= 636
+id-UL-CCTrCH-InformationListIE-RL-SetupRspTDD768 ProtocolIE-ID ::= 637
+id-DL-CCTrCH-InformationListIE-RL-SetupRspTDD768 ProtocolIE-ID ::= 638
+id-UL-DPCH-InformationItem-RL-SetupRspTDD768 ProtocolIE-ID ::= 639
+id-DL-DPCH-InformationItem-RL-SetupRspTDD768 ProtocolIE-ID ::= 640
+id-TDD768-minimumSpreadingFactor-UL ProtocolIE-ID ::= 641
+id-TDD768-minimumSpreadingFactor-DL ProtocolIE-ID ::= 642
+id-TDD768-maxNrDLPhysicalchannels ProtocolIE-ID ::= 643
+id-DL-DPCH-InformationDeleteList768-RL-ReconfReadyTDD ProtocolIE-ID ::= 644
+id-DPCH-ID768-DM-Rsp ProtocolIE-ID ::= 645
+id-DPCH-ID768-DM-Rqst ProtocolIE-ID ::= 646
+id-DPCH-ID768-DM-Rprt ProtocolIE-ID ::= 647
+id-EDPCH-Information-RLAdditionReq-FDD ProtocolIE-ID ::= 648
+id-HSDSCH-Configured-Indicator ProtocolIE-ID ::= 649
+id-RxTimingDeviationForTAext ProtocolIE-ID ::= 650
+id-RxTimingDeviationForTA768 ProtocolIE-ID ::= 651
+id-Rx-Timing-Deviation-Value-ext ProtocolIE-ID ::= 652
+id-E-DCH-PowerOffset-for-SchedulingInfo ProtocolIE-ID ::= 653
+id-TrCH-SrcStatisticsDescr ProtocolIE-ID ::= 654
+id-E-DCH-Information ProtocolIE-ID ::= 655
+id-E-DCH-Serving-RL-ID ProtocolIE-ID ::= 656
+id-E-DCH-Information-Reconfig ProtocolIE-ID ::= 657
+id-E-DCH-Information-Response ProtocolIE-ID ::= 658
+id-E-DCH-768-Information ProtocolIE-ID ::= 659
+id-E-DCH-768-Information-Reconfig ProtocolIE-ID ::= 660
+id-E-DCH-768-Information-Response ProtocolIE-ID ::= 661
+id-ExtendedPropagationDelay ProtocolIE-ID ::= 662
+id-Extended-Round-Trip-Time-Value ProtocolIE-ID ::= 663
+id-AlternativeFormatReportingIndicator ProtocolIE-ID ::= 664
+id-DCH-Indicator-For-E-DCH-HSDPA-Operation ProtocolIE-ID ::= 665
+id-E-RGCH-E-HICH-ChannelisationCodeValidityIndicator ProtocolIE-ID ::= 666
+id-E-DCH-Minimum-Set-E-TFCIValidityIndicator ProtocolIE-ID ::= 667
+id-Fast-Reconfiguration-Mode ProtocolIE-ID ::= 668
+id-Fast-Reconfiguration-Permission ProtocolIE-ID ::= 669
+id-Continuous-Packet-Connectivity-DTX-DRX-Information ProtocolIE-ID ::= 670
+id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information ProtocolIE-ID ::= 671
+id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response ProtocolIE-ID ::= 672
+id-CPC-Information ProtocolIE-ID ::= 673
+--WS extension
+id-Unknown-674 ProtocolIE-ID ::= 674
+id-MIMO-InformationResponse ProtocolIE-ID ::= 675
+--WS extension
+id-Unknown-676 ProtocolIE-ID ::= 676
+id-E-DCH-LCR-Information ProtocolIE-ID ::= 677
+id-E-DCH-LCR-Information-Reconfig ProtocolIE-ID ::= 678
+id-E-DCH-LCR-Information-Response ProtocolIE-ID ::= 679
+id-HS-PDSCH-Code-Change-Grant ProtocolIE-ID ::= 680
+id-HS-PDSCH-Code-Change-Indicator ProtocolIE-ID ::= 681
+id-Extended-SRNC-ID ProtocolIE-ID ::= 682
+id-Extended-RNC-ID ProtocolIE-ID ::= 683
+id-SixtyfourQAM-DL-SupportIndicator ProtocolIE-ID ::= 684
+id-Enhanced-FACH-Support-Indicator ProtocolIE-ID ::= 685
+id-Enhanced-FACH-Information-ResponseFDD ProtocolIE-ID ::= 686
+--WS extension
+id-Unknown-687 ProtocolIE-ID ::= 687
+id-Unknown-688 ProtocolIE-ID ::= 688
+id-Unknown-689 ProtocolIE-ID ::= 689
+id-HSDSCH-MACdPDUSizeFormat ProtocolIE-ID ::= 690
+id-MaximumMACdPDU-SizeExtended ProtocolIE-ID ::= 691
+id-F-DPCH-SlotFormat ProtocolIE-ID ::= 692
+id-F-DPCH-SlotFormatSupportRequest ProtocolIE-ID ::= 693
+id-eDCH-MACdFlow-Retransmission-Timer-LCR ProtocolIE-ID ::= 694
+id-Max-UE-DTX-Cycle ProtocolIE-ID ::= 695
+--WS extension
+id-Unknown-696 ProtocolIE-ID ::= 696
+id-Unknown-697 ProtocolIE-ID ::= 697
+id-Unknown-698 ProtocolIE-ID ::= 698
+id-GANSS-Common-Data ProtocolIE-ID ::= 699
+id-GANSS-Information ProtocolIE-ID ::= 700
+id-GANSS-Generic-Data ProtocolIE-ID ::= 701
+id-TUTRANGANSSMeasurementThresholdInformation ProtocolIE-ID ::= 702
+id-TUTRANGANSSMeasurementValueInformation ProtocolIE-ID ::= 703
+--WS extension
+id-Unknown-704 ProtocolIE-ID ::= 704
+id-Ext-Reference-E-TFCI-PO ProtocolIE-ID ::= 705
+id-Ext-Max-Bits-MACe-PDU-non-scheduled ProtocolIE-ID ::= 706
+id-HARQ-MemoryPartitioningInfoExtForMIMO ProtocolIE-ID ::= 707
+id-MIMO-ActivationIndicator ProtocolIE-ID ::= 708
+id-MIMO-Mode-Indicator ProtocolIE-ID ::= 709
+id-MIMO-N-M-Ratio ProtocolIE-ID ::= 710
+id-TransportBearerNotSetupIndicator ProtocolIE-ID ::= 711
+id-TransportBearerNotRequestedIndicator ProtocolIE-ID ::= 712
+id-PowerControlGAP ProtocolIE-ID ::= 713
+id-UARFCNforNt ProtocolIE-ID ::= 714
+id-LCRTDD-uplink-Physical-Channel-Capability ProtocolIE-ID ::= 715
+id-number-Of-Supported-Carriers ProtocolIE-ID ::= 716
+id-HSSICH-SIRTarget ProtocolIE-ID ::= 717
+id-HSSICH-TPC-StepSize ProtocolIE-ID ::= 718
+id-tSN-Length ProtocolIE-ID ::= 719
+id-HS-SICH-ID-Extension ProtocolIE-ID ::= 720
+id-HSSICH-Info-DM-Rqst-Extension ProtocolIE-ID ::= 721
+id-multipleFreq-HSPDSCH-InformationList-ResponseTDDLCR ProtocolIE-ID ::= 722
+id-multicarrier-number ProtocolIE-ID ::= 723
+id-UPPCHPositionLCR ProtocolIE-ID ::= 724
+id-UpPCH-InformationList-LCRTDD ProtocolIE-ID ::= 725
+id-UpPCH-InformationItem-LCRTDD ProtocolIE-ID ::= 726
+id-Multiple-PLMN-List ProtocolIE-ID ::= 727
+id-UE-Capabilities-Info ProtocolIE-ID ::= 728
+id-FrameOffset ProtocolIE-ID ::= 729
+id-ChipOffset ProtocolIE-ID ::= 730
+id-Enhanced-PCH-Capability ProtocolIE-ID ::= 731
+id-SixteenQAM-UL-Operation-Indicator ProtocolIE-ID ::= 732
+id-E-TFCI-Boost-Information ProtocolIE-ID ::= 733
+id-SixtyfourQAM-UsageAllowedIndicator ProtocolIE-ID ::= 734
+id-SixtyfourQAM-DL-UsageIndicator ProtocolIE-ID ::= 735
+id-Default-Serving-Grant-in-DTX-Cycle2 ProtocolIE-ID ::= 736
+id-E-DPDCH-PowerInterpolation ProtocolIE-ID ::= 737
+id-Extended-E-DCH-LCRTDD-PhysicalLayerCategory ProtocolIE-ID ::= 738
+id-E-DCH-MACdPDUSizeFormat ProtocolIE-ID ::= 739
+id-Continuous-Packet-Connectivity-HS-SCCH-Less-Deactivate-Indicator ProtocolIE-ID ::= 740
+id-E-DCH-DL-Control-Channel-Change-Information ProtocolIE-ID ::= 741
+id-E-DCH-DL-Control-Channel-Grant-Information ProtocolIE-ID ::= 742
+id-MaximumNumber-Of-Retransmission-For-SchedulingInfo-LCRTDD ProtocolIE-ID ::= 743
+id-E-DCH-RetransmissionTimer-For-SchedulingInfo-LCRTDD ProtocolIE-ID ::= 744
+id-E-PUCH-PowerControlGAP ProtocolIE-ID ::= 745
+id-HSDSCH-TBSizeTableIndicator ProtocolIE-ID ::= 746
+id-UE-with-enhanced-HS-SCCH-support-indicator ProtocolIE-ID ::= 747
+id-DGANSS-Corrections-Req ProtocolIE-ID ::= 748
+id-E-AGCH-Table-Choice ProtocolIE-ID ::= 749
+id-RANAP-EnhancedRelocationInformationRequest ProtocolIE-ID ::= 750
+id-RANAP-EnhancedRelocationInformationResponse ProtocolIE-ID ::= 751
+id-Common-EDCH-MAC-d-Flow-Specific-InformationFDD ProtocolIE-ID ::= 752
+id-Common-EDCH-Support-Indicator ProtocolIE-ID ::= 753
+id-E-RNTI ProtocolIE-ID ::= 754
+id-Released-CN-Domain ProtocolIE-ID ::= 755
+id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rqst ProtocolIE-ID ::= 756
+id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rsp ProtocolIE-ID ::= 757
+id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rprt ProtocolIE-ID ::= 758
+id-MBMS-Cell-InfEx-Rqst ProtocolIE-ID ::= 759
+id-MBMS-Cell-InfEx-Rsp ProtocolIE-ID ::= 760
+id-MBMS-Cell-InfEx-Rprt ProtocolIE-ID ::= 761
+id-Counting-Information ProtocolIE-ID ::= 762
+id-Transmission-Mode-Information ProtocolIE-ID ::= 763
+id-MBMS-Neighbouring-Cell-Information ProtocolIE-ID ::= 764
+id-MBMS-RLC-Sequence-Number-Information ProtocolIE-ID ::= 765
+id-RLC-Sequence-Number ProtocolIE-ID ::= 766
+id-Neighbouring-E-UTRA-CellInformation ProtocolIE-ID ::= 767
+--WS extension
+id-Unknown-768 ProtocolIE-ID ::= 768
+id-MBSFN-Cluster-Identity ProtocolIE-ID ::= 769
+id-MCCH-Configuration-Info ProtocolIE-ID ::= 770
+id-MCCH-Message-List ProtocolIE-ID ::= 771
+id-MBSFN-Scheduling-Transmission-Time-Interval-Info-List ProtocolIE-ID ::= 772
+id-GANSS-Time-ID ProtocolIE-ID ::= 773
+id-GANSS-AddIonoModelReq ProtocolIE-ID ::= 774
+id-GANSS-EarthOrientParaReq ProtocolIE-ID ::= 775
+id-GANSS-AddNavigationModelsReq ProtocolIE-ID ::= 776
+id-GANSS-AddUTCModelsReq ProtocolIE-ID ::= 777
+id-GANSS-AuxInfoReq ProtocolIE-ID ::= 778
+id-GANSS-SBAS-ID ProtocolIE-ID ::= 779
+id-GANSS-ID ProtocolIE-ID ::= 780
+id-GANSS-Additional-Ionospheric-Model ProtocolIE-ID ::= 781
+id-GANSS-Earth-Orientation-Parameters ProtocolIE-ID ::= 782
+id-GANSS-Additional-Time-Models ProtocolIE-ID ::= 783
+id-GANSS-Additional-Navigation-Models ProtocolIE-ID ::= 784
+id-GANSS-Additional-UTC-Models ProtocolIE-ID ::= 785
+id-GANSS-Auxiliary-Information ProtocolIE-ID ::= 786
+id-MinimumReducedE-DPDCH-GainFactor ProtocolIE-ID ::= 787
+id-Enhanced-FACH-Information-ResponseLCR ProtocolIE-ID ::= 788
+id-Common-EDCH-MAC-d-Flow-Specific-InformationLCR ProtocolIE-ID ::= 789
+id-HSDSCH-PreconfigurationSetup ProtocolIE-ID ::= 790
+id-HSDSCH-PreconfigurationInfo ProtocolIE-ID ::= 791
+id-NoOfTargetCellHS-SCCH-Order ProtocolIE-ID ::= 792
+id-EnhancedHSServingCC-Abort ProtocolIE-ID ::= 793
+id-Additional-HS-Cell-Information-RL-Setup ProtocolIE-ID ::= 794
+id-Additional-HS-Cell-Information-Response ProtocolIE-ID ::= 795
+id-Additional-HS-Cell-Information-RL-Addition ProtocolIE-ID ::= 796
+id-Additional-HS-Cell-Change-Information-Response ProtocolIE-ID ::= 797
+id-Additional-HS-Cell-Information-RL-Reconf-Prep ProtocolIE-ID ::= 798
+id-Additional-HS-Cell-Information-RL-Reconf-Req ProtocolIE-ID ::= 799
+id-Additional-HS-Cell-RL-Reconf-Response ProtocolIE-ID ::= 800
+id-Additional-HS-Cell-Information-RL-Param-Upd ProtocolIE-ID ::= 801
+id-Secondary-Serving-Cell-List ProtocolIE-ID ::= 802
+id-MultiCarrier-HSDSCH-Physical-Layer-Category ProtocolIE-ID ::= 803
+id-IdleIntervalInformation ProtocolIE-ID ::= 804
+id-NeedforIdleInterval ProtocolIE-ID ::= 805
+id-IdleIntervalConfigurationIndicator ProtocolIE-ID ::= 806
+id-ContinuousPacketConnectivity-DRX-InformationLCR ProtocolIE-ID ::= 807
+id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR ProtocolIE-ID ::= 808
+id-E-AGCH-UE-Inactivity-Monitor-Threshold ProtocolIE-ID ::= 809
+id-CPC-InformationLCR ProtocolIE-ID ::= 810
+id-E-DCH-Semi-PersistentScheduling-Information-LCR ProtocolIE-ID ::= 811
+id-HS-DSCH-Semi-PersistentScheduling-Information-LCR ProtocolIE-ID ::= 812
+id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR ProtocolIE-ID ::= 813
+id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR ProtocolIE-ID ::= 814
+id-MIMO-SFMode-For-HSPDSCHDualStream ProtocolIE-ID ::= 815
+id-MIMO-SFMode-Supported-For-HSPDSCHDualStream ProtocolIE-ID ::= 816
+id-MIMO-ReferenceSignal-InformationListLCR ProtocolIE-ID ::= 817
+id-GANSS-alm-keplerianNAVAlmanac ProtocolIE-ID ::= 818
+id-GANSS-alm-keplerianReducedAlmanac ProtocolIE-ID ::= 819
+id-GANSS-alm-keplerianMidiAlmanac ProtocolIE-ID ::= 820
+id-GANSS-alm-keplerianGLONASS ProtocolIE-ID ::= 821
+id-GANSS-alm-ecefSBASAlmanac ProtocolIE-ID ::= 822
+id-DL-RLC-PDU-Size-Format ProtocolIE-ID ::= 823
+id-MACes-Maximum-Bitrate-LCR ProtocolIE-ID ::= 824
+id-Single-Stream-MIMO-ActivationIndicator ProtocolIE-ID ::= 825
+id-Single-Stream-MIMO-Mode-Indicator ProtocolIE-ID ::= 826
+id-Dual-Band-Secondary-Serving-Cell-List ProtocolIE-ID ::= 827
+id-UE-AggregateMaximumBitRate ProtocolIE-ID ::= 828
+id-power-offset-for-S-CPICH-for-MIMO ProtocolIE-ID ::= 829
+id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator ProtocolIE-ID ::= 830
+id-UE-SupportIndicatorExtension ProtocolIE-ID ::= 831
+--WS extension
+id-Unknown-832 ProtocolIE-ID ::= 832
+id-Unknown-833 ProtocolIE-ID ::= 833
+id-Unknown-834 ProtocolIE-ID ::= 834
+id-ActivationInformation ProtocolIE-ID ::= 835
+id-CellPortionLCRID ProtocolIE-ID ::= 836
+id-Additional-EDCH-Cell-Information-RL-Setup-Req ProtocolIE-ID ::= 837
+id-Additional-EDCH-Cell-Information-Response ProtocolIE-ID ::= 838
+id-Additional-EDCH-Cell-Information-RL-Add-Req ProtocolIE-ID ::= 839
+id-Additional-EDCH-Cell-Information-Response-RLAdd ProtocolIE-ID ::= 840
+id-Additional-EDCH-Cell-Information-RL-Reconf-Prep ProtocolIE-ID ::= 841
+id-Additional-EDCH-Cell-Information-RL-Reconf-Req ProtocolIE-ID ::= 842
+id-Additional-EDCH-Cell-Information-RL-Param-Upd ProtocolIE-ID ::= 843
+id-Additional-EDCH-Preconfiguration-Information ProtocolIE-ID ::= 844
+id-MulticellEDCH-Information ProtocolIE-ID ::= 845
+--WS extension
+id-Unknown-846 ProtocolIE-ID ::= 846
+id-Unknown-847 ProtocolIE-ID ::= 847
+id-Unknown-848 ProtocolIE-ID ::= 848
+id-Unknown-849 ProtocolIE-ID ::= 849
+id-Unknown-850 ProtocolIE-ID ::= 850
+id-Unknown-851 ProtocolIE-ID ::= 851
+id-Unknown-852 ProtocolIE-ID ::= 852
+id-Unknown-853 ProtocolIE-ID ::= 853
+id-Additional-EDCH-Cell-Information-ResponseRLReconf ProtocolIE-ID ::= 854
+id-EDCH-Indicator ProtocolIE-ID ::= 855
+id-DiversityMode ProtocolIE-ID ::= 856
+id-TransmitDiversityIndicator ProtocolIE-ID ::= 857
+id-NonCellSpecificTxDiversity ProtocolIE-ID ::= 858
+id-CellCapabilityContainerExtension-FDD ProtocolIE-ID ::= 859
+id-HSDSCH-Physical-Layer-Category ProtocolIE-ID ::= 860
+id-E-RNTI-For-FACH ProtocolIE-ID ::= 861
+id-H-RNTI-For-FACH ProtocolIE-ID ::= 862
+id-RNTI-Allocation-Indicator ProtocolIE-ID ::= 863
+id-UE-AggregateMaximumBitRate-Enforcement-Indicator ProtocolIE-ID ::= 864
+id-DCH-MeasurementOccasion-Information ProtocolIE-ID ::= 865
+id-DCH-MeasurementType-Indicator ProtocolIE-ID ::= 866
+id-Out-of-Sychronization-Window ProtocolIE-ID ::= 867
+id-MulticellEDCH-RL-SpecificInformation ProtocolIE-ID ::= 868
+id-DGNSS-ValidityPeriod ProtocolIE-ID ::= 869
+id-TS0-HS-PDSCH-Indication-LCR ProtocolIE-ID ::= 870
+id-UE-TS0-CapabilityLCR ProtocolIE-ID ::= 871
+id-Non-Serving-RL-Preconfig-Info ProtocolIE-ID ::= 872
+id-Non-Serving-RL-Preconfig-Setup ProtocolIE-ID ::= 873
+id-Non-Serving-RL-Preconfig-Removal ProtocolIE-ID ::= 874
+id-Additional-E-DCH-Non-Serving-RL-Preconfiguration-Setup ProtocolIE-ID ::= 875
+id-Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList ProtocolIE-ID ::= 876
+id-CellListValidityIndicator ProtocolIE-ID ::= 877
+id-completeAlmanacProvided ProtocolIE-ID ::= 878
+id-ganss-Delta-T ProtocolIE-ID ::= 879
+id-OrdinalNumberOfFrequency ProtocolIE-ID ::= 880
+id-Multicell-EDCH-Restriction ProtocolIE-ID ::= 882
+id-CellCapabilityContainerExtension-TDD-LCR ProtocolIE-ID ::= 883
+id-Multi-Carrier-EDCH-Setup ProtocolIE-ID ::= 884
+id-Multi-Carrier-EDCH-Reconfigure ProtocolIE-ID ::= 885
+id-Multi-Carrier-EDCH-Response ProtocolIE-ID ::= 886
+id-SNPL-Carrier-Group-Indicator ProtocolIE-ID ::= 887
+id-MU-MIMO-InformationLCR ProtocolIE-ID ::= 888
+id-MU-MIMO-Indicator ProtocolIE-ID ::= 889
+id-HS-SCCH-Inactivity-Threshold-for-UE-DRX-Cycle-LCR-Ext ProtocolIE-ID ::= 890
+id-Usefulness-Of-Battery-Optimization ProtocolIE-ID ::= 891
+id-Multi-Carrier-E-DCH-LCRTDD-PhysicalLayerCategory ProtocolIE-ID ::= 892
+id-Measurement-Power-Offset ProtocolIE-ID ::= 893
+id-MDT-Configuration ProtocolIE-ID ::= 894
+id-Neighbouring-UMTS-CellInformation-Ext ProtocolIE-ID ::= 895
+id-Neighbouring-UMTS-CellInformationExtensionItem ProtocolIE-ID ::= 896
+id-Control-Type-InformationTransferControlReq ProtocolIE-ID ::= 897
+id-UMTS-Cells-Info ProtocolIE-ID ::= 898
+id-ANRReportIndication ProtocolIE-ID ::= 899
+id-ANR-Cell-InfEx-Rqst ProtocolIE-ID ::= 900
+id-ANR-Cell-InfEx-Rsp ProtocolIE-ID ::= 901
+id-ANR-Cell-Information ProtocolIE-ID ::= 902
+id-Trace-Collection-Entity-IP-Address ProtocolIE-ID ::= 904
+id-Affected-HSDSCH-Serving-Cell-List ProtocolIE-ID ::= 905
+id-UL-CLTD-Information ProtocolIE-ID ::= 906
+id-UL-CLTD-Information-Reconf ProtocolIE-ID ::= 907
+id-UL-CLTD-State-Update-Information ProtocolIE-ID ::= 908
+id-Support-of-Dynamic-DTXDRX-Related-HS-SCCH-Order ProtocolIE-ID ::= 909
+id-CPC-RecoveryReport ProtocolIE-ID ::= 910
+id-FTPICH-Information ProtocolIE-ID ::= 911
+id-FTPICH-Information-Reconf ProtocolIE-ID ::= 912
+id-UE-RF-Band-CapabilityLCR ProtocolIE-ID ::= 913
+id-Extended-S-RNTI ProtocolIE-ID ::= 914
+id-ExtendedAffectedUEInformationForMBMS ProtocolIE-ID ::= 915
+id-Extended-S-RNTI-Group ProtocolIE-ID ::= 916
+id-FTPICH-Information-Response ProtocolIE-ID ::= 917
+id-FTPICH-Reconfiguration-Information ProtocolIE-ID ::= 918
+id-MIMO-withfourtransmitantennas-ActivationIndicator ProtocolIE-ID ::= 919
+id-MIMO-withfourtransmitantennas-ModeIndicator ProtocolIE-ID ::= 920
+id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas ProtocolIE-ID ::= 921
+id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator ProtocolIE-ID ::= 922
+id-DualStream-MIMO-withfourtransmitantennas-ActivationIndicator ProtocolIE-ID ::= 923
+id-DualStream-MIMO-withfourtransmitantennas-ModeIndicator ProtocolIE-ID ::= 924
+id-Additional-Associated-Secondary-CPICH ProtocolIE-ID ::= 925
+id-UE-transmission-power-headroom ProtocolIE-ID ::= 926
+id-Multiflow-Information ProtocolIE-ID ::= 927
+id-Multiflow-Reconfiguration ProtocolIE-ID ::= 928
+id-Multiflow-OrdinalNumberOfFrequency ProtocolIE-ID ::= 929
+id-UL-MIMO-Information ProtocolIE-ID ::= 930
+id-UL-MIMO-Reconfiguration ProtocolIE-ID ::= 931
+id-UL-MIMO-DL-Control-Channel-Information ProtocolIE-ID ::= 932
+id-SixtyfourQAM-UL-Operation-Indicator ProtocolIE-ID ::= 933
+id-Common-E-RGCH-Cell-InfEx-Rqst ProtocolIE-ID ::= 935
+id-Common-E-RGCH-Cell-InfEx-Rsp ProtocolIE-ID ::= 936
+id-Common-E-RGCH-Cell-InfEx-Rprt ProtocolIE-ID ::= 937
+id-Common-E-RGCH-Cell-Information ProtocolIE-ID ::= 938
+id-PCI ProtocolIE-ID ::= 939
+id-TAC ProtocolIE-ID ::= 940
+id-PLMN-List ProtocolIE-ID ::= 941
+id-PrecoderWeightSetRestriction ProtocolIE-ID ::= 942
+id-EARFCN-FDD-Extended ProtocolIE-ID ::= 943
+id-EARFCN-TDD-Extended ProtocolIE-ID ::= 944
+id-Non-rectangular-resource-allocation-indicator ProtocolIE-ID ::= 945
+id-Non-rectangular-resource-timeslot-set ProtocolIE-ID ::= 946
+id-UE-Support-of-non-rectangular-resource-allocation ProtocolIE-ID ::= 947
+id-DBDS-CorrectionsReq ProtocolIE-ID ::= 948
+id-DBDS-Corrections ProtocolIE-ID ::= 949
+id-BDS-IonosphericGridModelReq ProtocolIE-ID ::= 950
+id-BDS-Ionospheric-Grid-Model ProtocolIE-ID ::= 951
+id-GANSS-alm-keplerianBDSAlmanac ProtocolIE-ID ::= 952
+id-Assisting-RepetitionFactors ProtocolIE-ID ::= 953
+id-E-DCH-Decoupling-Indication ProtocolIE-ID ::= 954
+id-UE-Measurement-Forwarding ProtocolIE-ID ::= 955
+id-UPH-Filtering-Measurement-Forwarding-Request ProtocolIE-ID ::= 956
+id-TTI-Update-Indicator ProtocolIE-ID ::= 957
+id-CQI-Feedback-Cycle2-k ProtocolIE-ID ::= 958
+id-CQI-Cycle-Switch-Timer ProtocolIE-ID ::= 959
+id-UE-DRX-Cycle2 ProtocolIE-ID ::= 960
+id-Inactivity-Threshold-for-UE-DRX-Cycle2 ProtocolIE-ID ::= 961
+id-DTX-Information2 ProtocolIE-ID ::= 962
+id-DCH-ENH-Information ProtocolIE-ID ::= 964
+id-DCH-ENH-Information-Reconf ProtocolIE-ID ::= 965
+id-Gainfactors-10ms-mode ProtocolIE-ID ::= 966
+id-Radio-Links-without-DPCH-FDPCH-Indication ProtocolIE-ID ::= 967
+id-UL-DPCCH2-Information ProtocolIE-ID ::= 968
+id-UL-DPCCH2-Information-Reconf ProtocolIE-ID ::= 969
+id-ImplicitGrantHandling ProtocolIE-ID ::= 970
+id-MinimumTEBSthreshold ProtocolIE-ID ::= 971
+id-MultipleFrequencyBandsIndicatorList-EUTRA ProtocolIE-ID ::= 972
+id-MultipleFrequencyBandsIndicatorList ProtocolIE-ID ::= 973
+id-ActivationDelay ProtocolIE-ID ::= 974
+id-Fast-TTI-switching-Mode-synchronized ProtocolIE-ID ::= 975
+id-Fast-TTI-switching-Mode-unsynchronized ProtocolIE-ID ::= 976
+id-Fast-TTI-switching-Mode-Supported ProtocolIE-ID ::= 977
+id-GANSS-BDSclockModel ProtocolIE-ID ::= 978
+id-GANSS-NavModel-BDSKeplerianSet ProtocolIE-ID ::= 979
+id-GANSS-UTCmodelSet4 ProtocolIE-ID ::= 980
+id-Inter-Frequency-Cell-Information-SIB11ter ProtocolIE-ID ::= 981
+id-Improved-Synchronized-Indicator ProtocolIE-ID ::= 982
+id-Downlink-TPC-enhancements-Information ProtocolIE-ID ::= 983
+id-Downlink-TPC-enhancements-Reconf ProtocolIE-ID ::= 984
+id-TPC-slot-position ProtocolIE-ID ::= 985
+id-DL-TBS ProtocolIE-ID ::= 986
+id-Selected-PLMN-Identity ProtocolIE-ID ::= 987
+id-SpeechVersion ProtocolIE-ID ::= 2048
+id-SourceID ProtocolIE-ID ::= 2049
+id-TargetID ProtocolIE-ID ::= 2050
+id-ClassmarkInformation2 ProtocolIE-ID ::= 2051
+id-ClassmarkInformation3 ProtocolIE-ID ::= 2052
+id-GSM-Cell-CM-Rqst ProtocolIE-ID ::= 2053
+id-Extension-CommonMeasurementObjectType-CM-Rprt ProtocolIE-ID ::= 2054
+id-Extension-CommonMeasurementObjectType-CM-Rqst ProtocolIE-ID ::= 2055
+id-Extension-CommonMeasurementObjectType-CM-Rsp ProtocolIE-ID ::= 2056
+id-Extension-FailureIndicationMeasurementList ProtocolIE-ID ::= 2057
+id-Extension-FailureMeasurementList ProtocolIE-ID ::= 2058
+id-Extension-TerminationMeasurementList ProtocolIE-ID ::= 2059
+id-GsmCellList-CM-Rprt ProtocolIE-ID ::= 2060
+id-GsmCellList-CM-Rqst ProtocolIE-ID ::= 2061
+id-GsmCellList-CM-Rsp ProtocolIE-ID ::= 2062
+id-LoadValue ProtocolIE-ID ::= 2063
+id-EventH ProtocolIE-ID ::= 2064
+END
+
diff --git a/epan/dissectors/asn1/rnsap/RNSAP-Containers.asn b/epan/dissectors/asn1/rnsap/RNSAP-Containers.asn
new file mode 100644
index 00000000..d11bac2e
--- /dev/null
+++ b/epan/dissectors/asn1/rnsap/RNSAP-Containers.asn
@@ -0,0 +1,202 @@
+-- RNSAP-Containers.asn
+--
+-- Taken from 3GPP TS 25.423 V13.1.0 (2015-12)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.423/25423-790.zip/25423-790.DOC
+--
+-- 9.3.7 Container Definitions
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+RNSAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rnsap (1) version1 (1) rnsap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+FROM RNSAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+RNSAP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IE Pairs
+--
+-- **************************************************************
+
+RNSAP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+RNSAP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+RNSAP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {RNSAP-PROTOCOL-IES : IesSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IesSetParam}}
+
+ProtocolIE-Single-Container {RNSAP-PROTOCOL-IES : IesSetParam} ::=
+ ProtocolIE-Field {{IesSetParam}}
+
+ProtocolIE-Field {RNSAP-PROTOCOL-IES : IesSetParam} ::= SEQUENCE {
+ id RNSAP-PROTOCOL-IES.&id ({IesSetParam}),
+ criticality RNSAP-PROTOCOL-IES.&criticality ({IesSetParam}{@id}),
+ value RNSAP-PROTOCOL-IES.&Value ({IesSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {RNSAP-PROTOCOL-IES-PAIR : IesSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IesSetParam}}
+
+ProtocolIE-FieldPair {RNSAP-PROTOCOL-IES-PAIR : IesSetParam} ::= SEQUENCE {
+ id RNSAP-PROTOCOL-IES-PAIR.&id ({IesSetParam}),
+ firstCriticality RNSAP-PROTOCOL-IES-PAIR.&firstCriticality ({IesSetParam}{@id}),
+ firstValue RNSAP-PROTOCOL-IES-PAIR.&FirstValue ({IesSetParam}{@id}),
+ secondCriticality RNSAP-PROTOCOL-IES-PAIR.&secondCriticality ({IesSetParam}{@id}),
+ secondValue RNSAP-PROTOCOL-IES-PAIR.&SecondValue ({IesSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RNSAP-PROTOCOL-IES : IesSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IesSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RNSAP-PROTOCOL-IES-PAIR : IesSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IesSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {RNSAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {RNSAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id RNSAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality RNSAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue RNSAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {RNSAP-PRIVATE-IES : IesSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IesSetParam}}
+
+PrivateIE-Field {RNSAP-PRIVATE-IES : IesSetParam} ::= SEQUENCE {
+ id RNSAP-PRIVATE-IES.&id ({IesSetParam}),
+ criticality RNSAP-PRIVATE-IES.&criticality ({IesSetParam}{@id}),
+ value RNSAP-PRIVATE-IES.&Value ({IesSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/rnsap/RNSAP-IEs.asn b/epan/dissectors/asn1/rnsap/RNSAP-IEs.asn
new file mode 100644
index 00000000..bcdea8a8
--- /dev/null
+++ b/epan/dissectors/asn1/rnsap/RNSAP-IEs.asn
@@ -0,0 +1,11607 @@
+-- RNSAP-IEs.asn
+--
+-- Taken from 3GPP TS 25.423 V13.1.0 (2015-12)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.423/25423-790.zip/25423-790.DOC
+--
+-- 9.3.4 Information Element Definitions
+--
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+RNSAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rnsap (1) version1 (1) rnsap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ maxCellSIB11OrSIB12,
+ maxCellSIB11ter-ext,
+ maxCellSIB11ter-1,
+ maxNrOfFACHs,
+ maxIBSEG,
+ maxIGPInfo,
+ maxCellsMeas,
+ maxNoOfDSCHs,
+ maxNoOfUSCHs,
+ maxNrOfDCHs,
+ maxNrOfDL-Codes,
+ maxNrOfDLTs,
+ maxNrOfDLTsLCR,
+ maxNrOfDPCHs,
+ maxNrOfDPCHs768,
+ maxNrOfDPCHsLCR,
+ maxNrOfEDCH-HARQ-PO-QUANTSTEPs,
+ maxNrOfEDCHHARQProcesses2msEDCH,
+ maxNrOfBits-MACe-PDU-non-scheduled,
+ maxNrOfEDPCCH-PO-QUANTSTEPs,
+ maxNrOfRefETFCI-PO-QUANTSTEPs,
+ maxNrOfRefETFCIs,
+ maxNrOfErrors,
+ maxNrOfFDDNeighboursPerRNC,
+ maxNrOfMACcshSDU-Length,
+ maxNrOfNeighbouringRNCs,
+ maxNrOfTDDNeighboursPerRNC,
+ maxNrOfLCRTDDNeighboursPerRNC,
+ maxNrOfTS,
+ maxNrOfTsLCR,
+ maxNrOfULTs,
+ maxNrOfULTsLCR,
+ maxNrOfGSMNeighboursPerRNC,
+ maxRateMatching,
+ maxNrOfPoints,
+ maxNoOfRB,
+ maxNrOfRLs,
+ maxNrOfTFCs,
+ maxNrOfTFs,
+ maxCTFC,
+ maxRNCinURA-1,
+ maxNrOfSCCPCHs,
+ maxNrOfSCCPCHs768,
+ maxTGPS,
+ maxTTI-Count,
+ maxNoGPSTypes,
+ maxNoSat,
+ maxNrOfActiveMBMSServices,
+ maxNrOfCells,
+ maxNrOfSNAs,
+ maxNrOfHARQProc,
+ maxNrOfHSSCCHCodes,
+ maxNrOfMACdFlows,
+ maxNrOfMACdFlows-1,
+ maxNrOfMACdPDUSize,
+ maxNrOfMBMSL3,
+ maxNrOfMCCHMessages,
+ maxNrOfEDCHMACdFlows,
+ maxNrOfEDCHMACdFlows-1,
+ maxNrOfEDCHMACdFlowsLCR,
+ maxNrOfEDCHMACdFlowsLCR-1,
+ maxNrOfMBMSServices,
+ maxNrOfPDUIndexes,
+ maxNrOfPDUIndexes-1,
+ maxNrOfPrioQueues,
+ maxNrOfPrioQueues-1,
+ maxNrOfSatAlmanac-maxNoSat,
+ maxNrOfGERANSI,
+ maxNrofSigSeqERGHICH-1,
+ maxNrOfUEs,
+ maxNrOfAddFreq,
+ maxNrOfCellsPerFreq,
+ maxNoOfLogicalChannels,
+ maxNrOfRefBetas,
+ maxNrOfEAGCHCodes,
+ maxNrOfHS-DSCHTBSs,
+ maxNrOfHS-DSCHTBSs-HS-SCCHless,
+ maxHS-PDSCHCodeNrComp-1,
+ maxNrOfEHICHCodes,
+ maxGANSSSat,
+ maxNoGANSS,
+ maxSgnType,
+ maxNrOfBroadcastPLMNs,
+ maxHSDPAFrequency,
+ maxHSDPAFrequency-1,
+ maxFrequencyinCell,
+ maxFrequencyinCell-1,
+ maxGANSSSatAlmanac,
+ maxGANSSClockMod,
+ maxNrOfEDCHRLs,
+ maxNrOfEUTRANeighboursPerRNC,
+ maxEARFCN,
+ maxEARFCN-Extended,
+ maxNrOfPreconfiguredNeighbours,
+ maxNrOfHSDSCH-1,
+ maxNrOfHSDSCH,
+ maxGANSS-1,
+ maxlengthMBMSconcatservlists,
+ maxNoOfTBSs-Mapping-HS-DSCH-SPS,
+ maxNoOfTBSs-Mapping-HS-DSCH-SPS-1,
+ maxNoOfHS-DSCH-TBSsLCR,
+ maxNoOfRepetition-Period-LCR,
+ maxNoOfRepetitionPeriod-SPS-LCR-1,
+ maxNoOf-HS-SICH-SPS,
+ maxNoOf-HS-SICH-SPS-1,
+ maxNoOfNon-HS-SCCH-Assosiated-HS-SICH,
+ maxNrOfEDCH-1,
+ maxNrOfDCHMeasurementOccasionPatternSequence,
+ maxNrOfULCarriersLCR-1,
+ maxNrOfCellIds,
+ maxNrOfRAIs,
+ maxNrOfLAIs,
+ maxNrOfExtendedNeighbouringRNCs,
+ maxFreqBandsTDD,
+ maxSCPICHCell,
+ maxSCPICHCell-1,
+ maxNrofConcatenatedDCH,
+ maxMultipleFrequencyBands,
+ maxMultipleFrequencyBandsEUTRA,
+
+ id-Allowed-Rate-Information,
+ id-AntennaColocationIndicator,
+ id-BindingID,
+ id-Cell-Capacity-Class-Value,
+ id-CellCapabilityContainer-FDD,
+ id-CellCapabilityContainer-TDD,
+ id-CellCapabilityContainer-TDD-LCR,
+ id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information,
+ id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response,
+ id-Counting-Information,
+ id-CoverageIndicator,
+ id-DPC-Mode-Change-SupportIndicator,
+ id-E-DCH-Minimum-Set-E-TFCIValidityIndicator,
+ id-E-RGCH-E-HICH-ChannelisationCodeValidityIndicator,
+ id-Extended-Round-Trip-Time-Value,
+ id-ExtendedPropagationDelay,
+ id-Extended-SRNC-ID,
+ id-Extended-RNC-ID,
+ id-ExtendedAffectedUEInformationForMBMS,
+ id-Additional-Associated-Secondary-CPICH,
+ id-MIMO-withfourtransmitantennas-ActivationIndicator,
+ id-MIMO-withfourtransmitantennas-ModeIndicator,
+ id-DualStream-MIMO-withfourtransmitantennas-ActivationIndicator,
+ id-DualStream-MIMO-withfourtransmitantennas-ModeIndicator,
+ id-GERAN-Cell-Capability,
+ id-GERAN-Classmark,
+ id-Guaranteed-Rate-Information,
+ id-HARQ-Preamble-Mode-Activation-Indicator,
+ id-HCS-Prio,
+ id-Inter-Frequency-Cell-Information,
+ id-Load-Value,
+ id-Load-Value-IncrDecrThres,
+ id-Neighbouring-GSM-CellInformation,
+ id-Neighbouring-UMTS-CellInformationItem,
+ id-neighbouring-LCR-TDD-CellInformation,
+ id-NRT-Load-Information-Value,
+ id-NRT-Load-Information-Value-IncrDecrThres,
+ id-OnModification,
+ id-PrecoderWeightSetRestriction,
+ id-Received-Total-Wideband-Power-Value,
+ id-Received-Total-Wideband-Power-Value-IncrDecrThres,
+ id-RT-Load-Value,
+ id-RT-Load-Value-IncrDecrThres,
+ id-SFNSFNMeasurementThresholdInformation,
+ id-SNA-Information,
+ id-TrafficClass,
+ id-Transmitted-Carrier-Power-Value,
+ id-Transmitted-Carrier-Power-Value-IncrDecrThres,
+ id-TUTRANGPSMeasurementThresholdInformation,
+ id-UL-Timeslot-ISCP-Value,
+ id-UL-Timeslot-ISCP-Value-IncrDecrThres,
+ maxNrOfLevels,
+ maxNrOfMeasNCell,
+ maxNrOfMeasNCell-1,
+ id-MessageStructure,
+ id-RestrictionStateIndicator,
+ id-Rx-Timing-Deviation-Value-LCR,
+ id-TransportLayerAddress,
+ id-Transmission-Mode-Information,
+ id-TypeOfError,
+ id-Angle-Of-Arrival-Value-LCR,
+ id-IPDL-TDD-ParametersLCR,
+ id-DSCH-InitialWindowSize,
+ id-Maximum-DL-Power-TimeslotLCR-InformationItem,
+ id-MBMS-Bearer-Service-Full-Address,
+ id-MBMS-Neighbouring-Cell-Information,
+ id-MBMS-RLC-Sequence-Number-Information,
+ id-MBSFN-Cluster-Identity,
+ id-MBSFN-Scheduling-Transmission-Time-Interval-Info-List,
+ id-MCCH-Configuration-Info,
+ id-MCCH-Message-List,
+ id-Minimum-DL-Power-TimeslotLCR-InformationItem,
+ id-HS-SICH-Reception-Quality,
+ id-HS-SICH-Reception-Quality-Measurement-Value,
+ id-HS-PDSCH-Code-Change-Grant,
+ id-HS-PDSCH-Code-Change-Indicator,
+ id-ExtendedGSMCellIndividualOffset,
+ id-Unidirectional-DCH-Indicator,
+ id-RTLoadValue,
+ id-RLC-Sequence-Number,
+ id-NRTLoadInformationValue,
+ id-Satellite-Almanac-Information-ExtItem,
+ id-TnlQos,
+ id-UpPTSInterferenceValue,
+ id-NACC-Related-Data,
+ id-HARQ-Preamble-Mode,
+ id-User-Plane-Congestion-Fields-Inclusion,
+ id-FrequencyBandIndicator,
+ id-PLCCH-Information-UL-TimeslotLCR-Info,
+ id-CellCapabilityContainer-TDD768,
+ id-hSSCCH-TDD-Specific-InfoList-Response768,
+ id-hSPDSCH-TDD-Specific-InfoList-Response768,
+ id-Rx-Timing-Deviation-Value-768,
+ id-UEMeasurementValueTransmittedPowerList768,
+ id-UEMeasurementValueTimeslotISCPList768,
+ id-E-DCH-PowerOffset-for-SchedulingInfo,
+ id-Rx-Timing-Deviation-Value-ext,
+ id-TrCH-SrcStatisticsDescr,
+ id-eDCH-MACdFlow-Retransmission-Timer-LCR,
+ id-MIMO-ActivationIndicator,
+ id-MIMO-InformationResponse,
+ id-MIMO-Mode-Indicator,
+ id-MIMO-N-M-Ratio,
+ id-SixteenQAM-UL-Operation-Indicator,
+ id-E-AGCH-Table-Choice,
+ id-E-TFCI-Boost-Information,
+ id-E-DPDCH-PowerInterpolation,
+ id-HSDSCH-MACdPDUSizeFormat,
+ id-MaximumMACdPDU-SizeExtended,
+ id-GANSS-Common-Data,
+ id-GANSS-Information,
+ id-GANSS-Generic-Data,
+ id-TUTRANGANSSMeasurementThresholdInformation,
+ id-TUTRANGANSSMeasurementValueInformation,
+ id-HARQ-MemoryPartitioningInfoExtForMIMO,
+ id-Ext-Reference-E-TFCI-PO,
+ id-Ext-Max-Bits-MACe-PDU-non-scheduled,
+ id-Multiple-PLMN-List,
+ id-TransportBearerNotSetupIndicator,
+ id-TransportBearerNotRequestedIndicator,
+ id-UARFCNforNt,
+ id-LCRTDD-uplink-Physical-Channel-Capability,
+ id-number-Of-Supported-Carriers,
+ id-HSSICH-SIRTarget,
+ id-HSSICH-TPC-StepSize,
+ id-tSN-Length,
+ id-HS-SICH-ID-Extension,
+ id-multipleFreq-HSPDSCH-InformationList-ResponseTDDLCR,
+ id-multicarrier-number,
+ id-UpPCH-InformationList-LCRTDD,
+ id-UpPCH-InformationItem-LCRTDD,
+ id-Max-UE-DTX-Cycle,
+ id-Default-Serving-Grant-in-DTX-Cycle2,
+ id-SixtyfourQAM-UsageAllowedIndicator,
+ id-SixtyfourQAM-DL-UsageIndicator,
+ id-UE-Capabilities-Info,
+ id-Extended-E-DCH-LCRTDD-PhysicalLayerCategory,
+ id-Continuous-Packet-Connectivity-HS-SCCH-Less-Deactivate-Indicator,
+ id-E-DCH-MACdPDUSizeFormat,
+ id-E-PUCH-PowerControlGAP,
+ id-MaximumNumber-Of-Retransmission-For-SchedulingInfo-LCRTDD,
+ id-E-DCH-RetransmissionTimer-For-SchedulingInfo-LCRTDD,
+ id-HSDSCH-TBSizeTableIndicator,
+ id-E-DCH-DL-Control-Channel-Change-Information,
+ id-E-DCH-DL-Control-Channel-Grant-Information,
+ id-DGANSS-Corrections-Req,
+ id-UE-with-enhanced-HS-SCCH-support-indicator,
+ id-EnhancedHSServingCC-Abort,
+ id-GANSS-Time-ID,
+ id-GANSS-AddIonoModelReq,
+ id-GANSS-EarthOrientParaReq,
+ id-GANSS-AddNavigationModelsReq,
+ id-GANSS-AddUTCModelsReq,
+ id-GANSS-AuxInfoReq,
+ id-GANSS-SBAS-ID,
+ id-GANSS-ID,
+ id-GANSS-Additional-Ionospheric-Model,
+ id-GANSS-Earth-Orientation-Parameters,
+ id-GANSS-Additional-Time-Models,
+ id-GANSS-Additional-Navigation-Models,
+ id-GANSS-Additional-UTC-Models,
+ id-GANSS-Auxiliary-Information,
+ id-GANSS-alm-keplerianNAVAlmanac,
+ id-GANSS-alm-keplerianReducedAlmanac,
+ id-GANSS-alm-keplerianMidiAlmanac,
+ id-GANSS-alm-keplerianGLONASS,
+ id-GANSS-alm-ecefSBASAlmanac,
+ id-GANSS-alm-keplerianBDSAlmanac,
+ id-DBDS-CorrectionsReq,
+ id-DBDS-Corrections,
+ id-BDS-IonosphericGridModelReq,
+ id-BDS-Ionospheric-Grid-Model,
+ id-Secondary-Serving-Cell-List,
+ id-MinimumReducedE-DPDCH-GainFactor,
+ id-E-AGCH-UE-Inactivity-Monitor-Threshold,
+ id-MACes-Maximum-Bitrate-LCR,
+ id-MultiCarrier-HSDSCH-Physical-Layer-Category,
+ id-MIMO-SFMode-For-HSPDSCHDualStream,
+ id-MIMO-SFMode-Supported-For-HSPDSCHDualStream,
+ id-MIMO-ReferenceSignal-InformationListLCR,
+ id-DL-RLC-PDU-Size-Format,
+ id-UE-SupportIndicatorExtension,
+ id-power-offset-for-S-CPICH-for-MIMO,
+ id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator,
+ id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas,
+ id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator,
+ id-Dual-Band-Secondary-Serving-Cell-List,
+ id-Single-Stream-MIMO-ActivationIndicator,
+ id-Single-Stream-MIMO-Mode-Indicator,
+ id-Additional-EDCH-Preconfiguration-Information,
+ id-MulticellEDCH-Information,
+ id-EDCH-Indicator,
+ id-DiversityMode,
+ id-TransmitDiversityIndicator,
+ id-NonCellSpecificTxDiversity,
+ id-CellCapabilityContainerExtension-FDD,
+ id-HSDSCH-Physical-Layer-Category,
+ id-TS0-HS-PDSCH-Indication-LCR,
+ id-UE-TS0-CapabilityLCR,
+ id-DGNSS-ValidityPeriod,
+ id-UE-AggregateMaximumBitRate-Enforcement-Indicator,
+ id-Out-of-Sychronization-Window,
+ id-MulticellEDCH-RL-SpecificInformation,
+ id-Continuous-Packet-Connectivity-DTX-DRX-Information,
+ id-Additional-E-DCH-Non-Serving-RL-Preconfiguration-Setup,
+ id-Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList,
+ id-OrdinalNumberOfFrequency,
+ id-Multicell-EDCH-Restriction,
+ id-CellListValidityIndicator,
+ id-completeAlmanacProvided,
+ id-ganss-Delta-T,
+ id-CellCapabilityContainerExtension-TDD-LCR,
+ id-SNPL-Carrier-Group-Indicator,
+ id-HS-SCCH-Inactivity-Threshold-for-UE-DRX-Cycle-LCR-Ext,
+ id-Measurement-Power-Offset,
+ id-Multi-Carrier-E-DCH-LCRTDD-PhysicalLayerCategory,
+ id-Neighbouring-UMTS-CellInformationExtensionItem,
+ id-EventH,
+ id-UMTS-Cells-Info,
+ id-ANRReportIndication,
+ id-ANR-Cell-Information,
+ id-Affected-HSDSCH-Serving-Cell-List,
+ id-Support-of-Dynamic-DTXDRX-Related-HS-SCCH-Order,
+ id-Inter-Frequency-Cell-Information-SIB11ter,
+ id-UE-RF-Band-CapabilityLCR,
+ id-UE-transmission-power-headroom,
+ id-Multiflow-Information,
+ id-Multiflow-Reconfiguration,
+ id-Multiflow-OrdinalNumberOfFrequency,
+ id-UL-MIMO-Information,
+ id-UL-MIMO-Reconfiguration,
+ id-UL-MIMO-DL-Control-Channel-Information,
+ id-SixtyfourQAM-UL-Operation-Indicator,
+ id-Common-E-RGCH-Cell-Information,
+ id-PCI,
+ id-TAC,
+ id-PLMN-List,
+ id-FTPICH-Information,
+ id-FTPICH-Information-Response,
+ id-UL-CLTD-Information,
+ id-EARFCN-FDD-Extended,
+ id-EARFCN-TDD-Extended,
+ id-Assisting-RepetitionFactors,
+ id-Gainfactors-10ms-mode,
+ id-UPH-Filtering-Measurement-Forwarding-Request,
+ id-TTI-Update-Indicator,
+ id-CQI-Feedback-Cycle2-k,
+ id-CQI-Cycle-Switch-Timer,
+ id-UE-DRX-Cycle2,
+ id-Inactivity-Threshold-for-UE-DRX-Cycle2,
+ id-DTX-Information2,
+ id-ImplicitGrantHandling,
+ id-MinimumTEBSthreshold,
+ id-MultipleFrequencyBandsIndicatorList,
+ id-MultipleFrequencyBandsIndicatorList-EUTRA,
+ id-Fast-TTI-switching-Mode-synchronized,
+ id-Fast-TTI-switching-Mode-unsynchronized,
+ id-Fast-TTI-switching-Mode-Supported,
+ id-GANSS-BDSclockModel,
+ id-GANSS-NavModel-BDSKeplerianSet,
+ id-GANSS-UTCmodelSet4,
+ id-TPC-slot-position,
+ id-DL-TBS
+
+
+FROM RNSAP-Constants
+
+ Criticality,
+ ProcedureID,
+ ProtocolIE-ID,
+ TransactionID,
+ TriggeringMessage
+FROM RNSAP-CommonDataTypes
+
+ ProtocolIE-Single-Container{},
+ ProtocolExtensionContainer{},
+ RNSAP-PROTOCOL-IES,
+ RNSAP-PROTOCOL-EXTENSION
+FROM RNSAP-Containers;
+
+-- A
+
+AccessPointName ::= OCTET STRING (SIZE (1..255))
+
+AckNack-RepetitionFactor ::= INTEGER (1..4,...)
+-- Step: 1
+
+Ack-Power-Offset ::= INTEGER (0..8,..., 9..10)
+-- According to mapping in TS 25.213 [21] subclause 4.2.1
+
+ActivationInformation ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF ActivationInformationItem
+
+ActivationInformationItem ::= SEQUENCE {
+ uU-ActivationState Uu-ActivationState,
+ iE-Extensions ProtocolExtensionContainer { { ActivationInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ActivationInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Active-MBMS-Bearer-Service-ListFDD ::= SEQUENCE (SIZE (1..maxNrOfActiveMBMSServices)) OF MBMS-Bearer-ServiceItemFDD
+
+Active-MBMS-Bearer-Service-ListFDD-PFL ::= SEQUENCE (SIZE (1..maxNrOfActiveMBMSServices)) OF MBMS-Bearer-ServiceItemFDD-PFL
+
+Active-MBMS-Bearer-Service-ListTDD ::= SEQUENCE (SIZE (1..maxNrOfActiveMBMSServices)) OF MBMS-Bearer-ServiceItemTDD
+
+Active-MBMS-Bearer-Service-ListTDD-PFL ::= SEQUENCE (SIZE (1..maxNrOfActiveMBMSServices)) OF MBMS-Bearer-ServiceItemTDD-PFL
+
+Active-Pattern-Sequence-Information ::= SEQUENCE {
+ cMConfigurationChangeCFN CFN,
+ transmission-Gap-Pattern-Sequence-Status Transmission-Gap-Pattern-Sequence-Status-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Active-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Active-Pattern-Sequence-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-Response-RLAddList ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Cell-Information-Response-RLAdd-ItemIEs
+
+Additional-EDCH-Cell-Information-Response-RLAdd-ItemIEs ::=SEQUENCE{
+ additional-EDCH-FDD-Information-Response Additional-EDCH-FDD-Information-Response-ItemIEs OPTIONAL,
+ additional-EDCH-Serving-Cell-Change-Information-Response-RLAdd E-DCH-Serving-cell-change-informationResponse OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-Response-RLAdd-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-Response-RLAdd-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Setup-Info ::=SEQUENCE{
+ multicell-EDCH-Transport-Bearer-Mode Multicell-EDCH-Transport-Bearer-Mode,
+ additional-EDCH-Cell-Information-Setup Additional-EDCH-Cell-Information-Setup,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Setup-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Setup-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ANRReportIndication ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ l3-Information L3-Information,
+ iE-Extensions ProtocolExtensionContainer { {ANRReportIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ANRReportIndication-ExtIEs RNSAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+Multicell-EDCH-Transport-Bearer-Mode ::= ENUMERATED {
+ separate-Iur-Transport-Bearer-Mode,
+ uL-Flow-Multiplexing-Mode
+}
+
+Additional-EDCH-Cell-Information-Setup ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-FDD-Setup-Cell-Information
+
+Additional-EDCH-FDD-Setup-Cell-Information ::=SEQUENCE{
+ additional-EDCH-UL-DPCH-Information-Setup Additional-EDCH-UL-DPCH-Information-Setup,
+ additional-EDCH-RL-Specific-Information-To-Setup Additional-EDCH-RL-Specific-Information-To-Setup-List,
+ additional-EDCH-FDD-Information Additional-EDCH-FDD-Information OPTIONAL,
+ additional-EDCH-F-DPCH-Information-Setup Additional-EDCH-F-DPCH-Information,
+ multicellEDCH-Information MulticellEDCH-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Setup-Cell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Setup-Cell-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Setup ::=SEQUENCE{
+ ul-ScramblingCode UL-ScramblingCode,
+ ul-SIR-Target UL-SIR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-UL-DPCH-Information-Setup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Setup-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-F-DPCH-Information ::=SEQUENCE{
+ fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ limitedPowerIncrease LimitedPowerIncrease,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ f-DPCH-SlotFormatSupportRequest F-DPCH-SlotFormatSupportRequest OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-F-DPCH-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-F-DPCH-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Setup-List ::= SEQUENCE (SIZE (1.. maxNrOfEDCHRLs)) OF Additional-EDCH-RL-Specific-Information-To-Setup-ItemIEs
+
+Additional-EDCH-RL-Specific-Information-To-Setup-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ c-ID C-ID OPTIONAL,
+ firstRLS-indicator FirstRLS-Indicator,
+ propagationDelay PropagationDelay OPTIONAL,
+ initialDL-transmissionPower DL-Power OPTIONAL,
+ primaryCPICH-EcNo PrimaryCPICH-EcNo OPTIONAL,
+ e-AGCH-PowerOffset E-AGCH-PowerOffset OPTIONAL,
+ e-RGCH-PowerOffset E-RGCH-PowerOffset OPTIONAL,
+ e-HICH-PowerOffset E-HICH-PowerOffset OPTIONAL,
+ additional-EDCH-MAC-d-Flows-Specific-Info-List Additional-EDCH-MAC-d-Flows-Specific-Info-List OPTIONAL,
+ multicellEDCH-RL-SpecificInformation MulticellEDCH-RL-SpecificInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-RL-Specific-Information-To-Setup-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Setup-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TPC-slot-position CRITICALITY ignore EXTENSION TPC-slot-position PRESENCE optional},
+ ...
+}
+
+Additional-EDCH-Cell-Information-To-Add-List ::= SEQUENCE (SIZE (1.. maxNrOfEDCH-1)) OF Additional-EDCH-Cell-Information-To-Add-ItemIEs
+
+Additional-EDCH-Cell-Information-To-Add-ItemIEs::=SEQUENCE{
+ additional-EDCH-UL-DPCH-Information-Setup Additional-EDCH-UL-DPCH-Information-Addition,
+ additional-EDCH-RL-Specific-Information-To-Add-List Additional-EDCH-RL-Specific-Information-To-Add-List,
+ additional-EDCH-FDD-Information Additional-EDCH-FDD-Information OPTIONAL,
+ multicellEDCH-Information MulticellEDCH-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-To-Add-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-To-Add-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Addition ::=SEQUENCE{
+ ul-SIR-Target UL-SIR,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-UL-DPCH-Information-Addition-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Addition-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Add-List ::= SEQUENCE (SIZE (1.. maxNrOfEDCHRLs)) OF Additional-EDCH-RL-Specific-Information-To-Add-ItemIEs
+
+Additional-EDCH-RL-Specific-Information-To-Add-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ c-ID C-ID,
+ primaryCPICH-EcNo PrimaryCPICH-EcNo OPTIONAL,
+ e-AGCH-PowerOffset E-AGCH-PowerOffset OPTIONAL,
+ e-RGCH-PowerOffset E-RGCH-PowerOffset OPTIONAL,
+ e-HICH-PowerOffset E-HICH-PowerOffset OPTIONAL,
+ additional-EDCH-MAC-d-Flows-Specific-Info-List Additional-EDCH-MAC-d-Flows-Specific-Info-List OPTIONAL,
+ multicellEDCH-RL-SpecificInformation MulticellEDCH-RL-SpecificInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-RL-Specific-Information-To-Add-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Add-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TPC-slot-position CRITICALITY ignore EXTENSION TPC-slot-position PRESENCE optional},
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Modify-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF Additional-EDCH-RL-Specific-Information-To-Modify-ItemIEs
+
+Additional-EDCH-RL-Specific-Information-To-Modify-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ e-AGCH-PowerOffset E-AGCH-PowerOffset OPTIONAL,
+ e-RGCH-PowerOffset E-RGCH-PowerOffset OPTIONAL,
+ e-HICH-PowerOffset E-HICH-PowerOffset OPTIONAL,
+ additional-EDCH-MAC-d-Flows-Specific-Info-List Additional-EDCH-MAC-d-Flows-Specific-Info-List OPTIONAL,
+ multicellEDCH-RL-SpecificInformation MulticellEDCH-RL-SpecificInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-RL-Specific-Information-To-Modify-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-RL-Specific-Information-To-Modify-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TPC-slot-position CRITICALITY ignore EXTENSION TPC-slot-position PRESENCE optional},
+ ...
+}
+
+Additional-EDCH-FDD-Information ::=SEQUENCE{
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ e-DCH-Maximum-Bitrate E-DCH-Maximum-Bitrate OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-Min-Set-E-TFCI E-TFCI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DTX-Information2 CRITICALITY ignore EXTENSION DTX-Information2 PRESENCE optional}|
+ { ID id-ImplicitGrantHandling CRITICALITY ignore EXTENSION Implicit-Grant-Handling PRESENCE optional}|
+ { ID id-MinimumTEBSthreshold CRITICALITY ignore EXTENSION Minimum-TEBS-threshold PRESENCE optional},
+ ...
+}
+
+DTX-Information2 ::= SEQUENCE {
+ uE-DTX-Cycle1 UE-DTX-Cycle1-2ms,
+ uE-DTX-Cycle2 UE-DTX-Cycle2-ext-2ms,
+ inactivity-Threshold-for-UE-DTX-Cycle2 Inactivity-Threshold-for-UE-DTX-Cycle2,
+ iE-Extensions ProtocolExtensionContainer { {DTX-Information2-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Information2-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Implicit-Grant-Handling ::= ENUMERATED {
+ true
+}
+
+Minimum-TEBS-threshold ::= ENUMERATED {v2, v4, v8, v16, v32, v64, v128, v256, v512, v1024, v2048, v4096, v8192, v16384, v32768, v65536, v131072, v262144, v524288, v1048576,...}
+
+Additional-EDCH-MAC-d-Flows-Specific-Info-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF Additional-EDCH-MAC-d-Flows-Specific-Info
+
+Additional-EDCH-MAC-d-Flows-Specific-Info ::= SEQUENCE {
+ e-DCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-MAC-d-Flows-Specific-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-MAC-d-Flows-Specific-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-MAC-d-Flow-Specific-Information-Response-List::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF Additional-EDCH-MAC-d-Flows-Specific-Info-Response
+
+Additional-EDCH-MAC-d-Flows-Specific-Info-Response ::= SEQUENCE {
+ e-DCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-MAC-d-Flows-Specific-Info-Response-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-MAC-d-Flows-Specific-Info-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-Response-List ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-FDD-Information-Response-ItemIEs
+
+Additional-EDCH-FDD-Information-Response-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-Specific-Information-Response EDCH-Additional-RL-Specific-Information-Response-List,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Information-Response-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-Additional-RL-Specific-Information-Response-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF EDCH-Additional-RL-Specific-Information-Response-ItemIEs
+
+EDCH-Additional-RL-Specific-Information-Response-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ received-total-wide-band-power Received-total-wide-band-power,
+ dL-PowerBalancing-ActivationIndicator DL-PowerBalancing-ActivationIndicator OPTIONAL,
+ rL-Set-ID RL-Set-ID,
+ e-DCH-RL-Set-ID RL-Set-ID,
+ eDCH-FDD-DL-ControlChannelInformation EDCH-FDD-DL-ControlChannelInformation,
+ dl-CodeInformation FDD-DL-CodeInformation,
+ additional-EDCH-MAC-d-Flow-Specific-Information-Response-List
+ Additional-EDCH-MAC-d-Flow-Specific-Information-Response-List OPTIONAL,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ maxUL-SIR UL-SIR,
+ minUL-SIR UL-SIR,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDL-power DL-Power,
+ minimumDL-power DL-Power,
+ primaryScramblingCode PrimaryScramblingCode OPTIONAL,
+ uL-UARFCN UARFCN OPTIONAL,
+ dL-UARFCN UARFCN OPTIONAL,
+ primaryCPICH-Power PrimaryCPICH-Power,
+ pC-Preamble PC-Preamble,
+ primary-CPICH-Usage-For-Channel-Estimation Primary-CPICH-Usage-For-Channel-Estimation OPTIONAL,
+ secondary-CPICH-Information Secondary-CPICH-Information OPTIONAL,
+ f-DPCH-SlotFormat F-DPCH-SlotFormat OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-Additional-RL-Specific-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDCH-Additional-RL-Specific-Information-Response-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-Response-RLReconf-List::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-FDD-Information-Response-RLReconf-Items
+
+Additional-EDCH-FDD-Information-Response-RLReconf-Items::=SEQUENCE{
+ eDCH-Additional-RL-Specific-Information-Response EDCH-Additional-RL-Specific-Information-Response-List OPTIONAL,
+ eDCH-Additional-RL-Specific-Modified-Information-Response EDCH-Additional-RL-Specific-Modified-Information-Response-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Information-Response-RLReconf-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Information-Response-RLReconf-Items-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-Additional-RL-Specific-Modified-Information-Response-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF EDCH-Additional-RL-Specific-Modified-Information-Response-ItemIEs
+
+EDCH-Additional-RL-Specific-Modified-Information-Response-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ dL-PowerBalancing-UpdatedIndicator DL-PowerBalancing-UpdatedIndicator OPTIONAL,
+ eDCH-FDD-DL-ControlChannelInformation EDCH-FDD-DL-ControlChannelInformation OPTIONAL,
+ additional-EDCH-MAC-d-Flow-Specific-Information-Response-List Additional-EDCH-MAC-d-Flow-Specific-Information-Response-List OPTIONAL,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ maxUL-SIR UL-SIR OPTIONAL,
+ minUL-SIR UL-SIR OPTIONAL,
+ maximumDL-power DL-Power OPTIONAL,
+ minimumDL-power DL-Power OPTIONAL,
+ primary-CPICH-Usage-For-Channel-Estimation Primary-CPICH-Usage-For-Channel-Estimation OPTIONAL,
+ secondary-CPICH-Information-Change Secondary-CPICH-Information-Change OPTIONAL,
+ f-DPCH-SlotFormat F-DPCH-SlotFormat OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-Additional-RL-Specific-Modified-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDCH-Additional-RL-Specific-Modified-Information-Response-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-ConfigurationChange-List ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-ConfigurationChange-Info-ItemIEs
+Additional-EDCH-ConfigurationChange-Info-ItemIEs ::=SEQUENCE{
+ additional-EDCH-UL-DPCH-Information-Modify Additional-EDCH-UL-DPCH-Information-Modify OPTIONAL,
+ additional-EDCH-RL-Specific-Information-To-Add Additional-EDCH-RL-Specific-Information-To-Add-List OPTIONAL,
+ additional-EDCH-RL-Specific-Information-To-Modify Additional-EDCH-RL-Specific-Information-To-Modify-List OPTIONAL,
+ additional-EDCH-FDD-Information-To-Modify Additional-EDCH-FDD-Information OPTIONAL,
+ additional-EDCH-F-DPCH-Information-Modify Additional-EDCH-F-DPCH-Information OPTIONAL,
+ multicellEDCH-Information MulticellEDCH-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-ConfigurationChange-Info-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-ConfigurationChange-Info-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Modify ::=SEQUENCE{
+ ul-ScramblingCode UL-ScramblingCode OPTIONAL,
+ ul-SIR-Target UL-SIR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-UL-DPCH-Information-Modify-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-UL-DPCH-Information-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-Removal-List ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Cell-Information-Removal-Info-ItemIEs
+
+Additional-EDCH-Cell-Information-Removal-Info-ItemIEs ::=SEQUENCE{
+ rL-on-Secondary-UL-Frequency RL-on-Secondary-UL-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-Removal-Info-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-Removal-Info-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-on-Secondary-UL-Frequency ::= ENUMERATED {
+ remove,
+ ...
+}
+
+Additional-EDCH-FDD-Update-Information ::=SEQUENCE{
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ additional-EDCH-DL-Control-Channel-Change-Information Additional-EDCH-DL-Control-Channel-Change-Information-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Update-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Update-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Additional-EDCH-DL-Control-Channel-Change-Information-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF Additional-EDCH-DL-Control-Channel-Change-Info-ItemIEs
+
+Additional-EDCH-DL-Control-Channel-Change-Info-ItemIEs ::=SEQUENCE{
+ eDCH-Additional-RL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-DL-Control-Channel-Change-Info-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-DL-Control-Channel-Change-Info-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AdditionalPreferredFrequency ::= SEQUENCE (SIZE (1..maxNrOfAddFreq)) OF AdditionalPreferredFrequencyItem
+
+AdditionalPreferredFrequencyItem ::= SEQUENCE {
+ dL-UARFCN UARFCN,
+ correspondingCells CorrespondingCells ,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalPreferredFrequencyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+AdditionalPreferredFrequencyItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdjustmentPeriod ::= INTEGER(1..256)
+-- Unit Frame
+
+AffectedUEInformationForMBMS ::= SEQUENCE (SIZE (1..maxNrOfUEs)) OF S-RNTI
+
+AllocationRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {AllocationRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllocationRetentionPriority-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Allowed-Rate-Information ::= SEQUENCE {
+ allowed-UL-Rate Allowed-Rate OPTIONAL,
+ allowed-DL-Rate Allowed-Rate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Allowed-Rate-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Allowed-Rate-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Allowed-Rate ::= INTEGER (1..maxNrOfTFs)
+-- “1”: TFI 0, “2”: TFI 1, “3”: TFI 2, ...
+
+AllowedQueuingTime ::= INTEGER (1..60)
+-- seconds
+
+AlphaValue ::= INTEGER (0..8)
+-- Actual value = Alpha / 8
+
+AlternativeFormatReportingIndicator ::= ENUMERATED {
+alternativeFormatAllowed,...
+}
+
+Angle-Of-Arrival-Value-LCR ::= SEQUENCE {
+ aOA-LCR AOA-LCR,
+ aOA-LCR-Accuracy-Class AOA-LCR-Accuracy-Class,
+ iE-Extensions ProtocolExtensionContainer { {Angle-Of-Arrival-Value-LCR-ExtIEs} } OPTIONAL,
+...
+}
+
+Angle-Of-Arrival-Value-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ANR-Cell-Information ::= SEQUENCE {
+ rNC-ID RNC-ID,
+ lAC LAC OPTIONAL,
+ rAC RAC OPTIONAL,
+ aNR-FDD-CellInformation ANR-FDD-CellInformation OPTIONAL,
+ aNR-TDD-CellInformation ANR-TDD-CellInformation OPTIONAL,
+ aNR-LCR-TDD-CellInformation ANR-LCR-TDD-CellInformation OPTIONAL,
+ extended-RNC-ID Extended-RNC-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ANR-Cell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ANR-Cell-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ANR-FDD-CellInformation ::= SEQUENCE {
+ primaryCPICH-Power PrimaryCPICH-Power OPTIONAL,
+ txDiversityIndicator TxDiversityIndicator,
+ sTTD-SupportIndicator STTD-SupportIndicator OPTIONAL,
+ closedLoopMode1-SupportIndicator ClosedLoopMode1-SupportIndicator OPTIONAL,
+ restrictionStateIndicator RestrictionStateIndicator OPTIONAL,
+ dpc-ModeChangeSupportIndicator DPC-Mode-Change-SupportIndicator OPTIONAL,
+ cellCapabilityContainerFDD CellCapabilityContainer-FDD OPTIONAL,
+ sNA-Information SNA-Information OPTIONAL,
+ frequencyBandIndicator FrequencyBandIndicator OPTIONAL,
+ max-UE-DTX-Cycle Max-UE-DTX-Cycle OPTIONAL,
+ aNR-Multiple-PLMN-List ANR-Multiple-PLMN-List OPTIONAL,
+ secondaryServingCellList Secondary-Serving-Cell-List OPTIONAL,
+ dualBandSecondaryServingCellList Secondary-Serving-Cell-List OPTIONAL,
+ cellCapabilityContainerExtensionFDD CellCapabilityContainerExtension-FDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ANR-FDD-CellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ANR-FDD-CellInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ANR-TDD-CellInformation ::= SEQUENCE {
+ syncCase SyncCase,
+ timeSlot TimeSlot OPTIONAL
+ -- This IE shall be present if Sync Case = Case1 -- ,
+ sCH-TimeSlot SCH-TimeSlot OPTIONAL
+ -- This IE shall be present if Sync Case = Case2 -- ,
+ sCTD-Indicator SCTD-Indicator,
+ dPCHConstantValue DPCHConstantValue OPTIONAL,
+ pCCPCH-Power PCCPCH-Power OPTIONAL,
+ restrictionStateIndicator RestrictionStateIndicator OPTIONAL,
+ cellCapabilityContainerTDD CellCapabilityContainer-TDD OPTIONAL,
+ -- Applicable to 3.84Mcps TDD only
+ cellCapabilityContainerTDD768 CellCapabilityContainer-TDD768 OPTIONAL,
+ -- Applicable to 7.68Mcps TDD only
+ sNA-Information SNA-Information OPTIONAL,
+ aNR-Multiple-PLMN-List ANR-Multiple-PLMN-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ANR-TDD-CellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ANR-TDD-CellInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ANR-LCR-TDD-CellInformation ::= SEQUENCE {
+ sCTD-Indicator SCTD-Indicator,
+ dPCHConstantValue DPCHConstantValue OPTIONAL,
+ pCCPCH-Power PCCPCH-Power OPTIONAL,
+ restrictionStateIndicator RestrictionStateIndicator OPTIONAL,
+ cellCapabilityContainerTDD-LCR CellCapabilityContainer-TDD-LCR OPTIONAL,
+ -- Applicable to 1.28Mcps TDD only
+ sNA-Information SNA-Information OPTIONAL,
+ aNR-Multiple-PLMN-List ANR-Multiple-PLMN-List OPTIONAL,
+ cellCapabilityContainerExternsionTDD-LCR CellCapabilityContainerExtension-TDD-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ANR-LCR-TDD-CellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ANR-LCR-TDD-CellInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+ANR-Multiple-PLMN-List ::= SEQUENCE {
+ list-Of-PLMNs List-Of-PLMNs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ANR-Multiple-PLMN-List-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+ANR-Multiple-PLMN-List-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AOA-LCR ::= INTEGER (0..719)
+-- Angle Of Arrival for 1.28Mcps TDD
+
+AOA-LCR-Accuracy-Class ::= ENUMERATED {a,b,c,d,e,f,g,h,...}
+
+AntennaColocationIndicator ::= ENUMERATED {
+ co-located,
+ ...
+}
+
+-- B
+
+BadSatellites ::= SEQUENCE {
+ badSatelliteInformation SEQUENCE (SIZE (1..maxNoSat)) OF
+ SEQUENCE {
+ badSAT-ID SAT-ID,
+ iE-Extensions ProtocolExtensionContainer { { BadSatelliteInformation-ExtIEs} } OPTIONAL,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { BadSatellites-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BadSatelliteInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BadSatellites-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Band-Indicator ::= ENUMERATED {
+ dcs1800Band,
+ pcs1900Band,
+ ...
+}
+
+BCC ::= BIT STRING (SIZE (3))
+
+BCCH-ARFCN ::= INTEGER (0..1023)
+
+BDS-IGPInfoList ::= SEQUENCE (SIZE (1..maxIGPInfo)) OF BDS-IGPInfo
+
+BDS-IGPInfo ::= SEQUENCE {
+ bds-IGPNumber INTEGER (1..320),
+ bds-VerticalDelay BIT STRING (SIZE (9)),
+ bds-GIVEI BIT STRING (SIZE (4)),
+ iE-Extensions ProtocolExtensionContainer { { BDS-IGPInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BDS-IGPInfo-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BDS-IonosphericGridModelReq ::= ENUMERATED {
+ requested,
+ ...
+}
+
+BDS-Ionospheric-Grid-Model ::= SEQUENCE {
+ bDS-RefTime INTEGER (0..119),
+-- Time = bDS-RefTime *30
+-- Range 0 to 3570, step 30
+ bds-IGPInfoList BDS-IGPInfoList,
+ iE-Extensions ProtocolExtensionContainer { { BDS-Ionospheric-Grid-Model-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BDS-Ionospheric-Grid-Model-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BetaCD ::= INTEGER (0..15)
+
+BindingID ::= OCTET STRING (SIZE (1..4,...))
+-- If the Binding ID includes an UDP port, the UDP port is included in octet 1 and 2.
+
+BLER ::= INTEGER (-63..0)
+-- Step 0.1 (Range -6.3..0). It is the Log10 of the BLER
+
+SCTD-Indicator ::= ENUMERATED {
+ active,
+ inactive
+}
+
+BSIC ::= SEQUENCE {
+ nCC NCC,
+ bCC BCC
+}
+
+BundlingModeIndicator ::= ENUMERATED {
+ bundling,
+ no-bundling
+}
+
+BurstModeParameters ::= SEQUENCE {
+ burstStart INTEGER (0..15),
+ burstLength INTEGER (10..25),
+ burstFreq INTEGER (1..16),
+ iE-Extensions ProtocolExtensionContainer { { BurstModeParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BurstModeParameters-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- C
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ hardware-failure,
+ om-intervention,
+ not-enough-user-plane-processing-resources,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ unspecified,
+ abstract-syntax-error-falsely-constructed-message,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unknown-C-ID,
+ cell-not-available,
+ power-level-not-supported,
+ ul-scrambling-code-already-in-use,
+ dl-radio-resources-not-available,
+ ul-radio-resources-not-available,
+ measurement-not-supported-for-the-object,
+ combining-resources-not-available,
+ combining-not-supported,
+ reconfiguration-not-allowed,
+ requested-configuration-not-supported,
+ synchronisation-failure,
+ requested-tx-diversity-mode-not-supported,
+ measurement-temporaily-not-available,
+ unspecified,
+ invalid-CM-settings,
+ reconfiguration-CFN-not-elapsed,
+ number-of-DL-codes-not-supported,
+ dedicated-transport-channel-type-not-supported,
+ dl-shared-channel-type-not-supported,
+ ul-shared-channel-type-not-supported,
+ common-transport-channel-type-not-supported,
+ ul-spreading-factor-not-supported,
+ dl-spreading-factor-not-supported,
+ cm-not-supported,
+ transaction-not-supported-by-destination-node-b,
+ rl-already-activated-or-alocated,
+ ...,
+ number-of-UL-codes-not-supported,
+ cell-reserved-for-operator-use,
+ dpc-mode-change-not-supported,
+ information-temporarily-not-available,
+ information-provision-not-supported-for-the-object,
+ power-balancing-status-not-compatible,
+ delayed-activation-not-supported,
+ rl-timing-adjustment-not-supported,
+ unknown-RNTI,
+ measurement-repetition-rate-not-compatible,
+ ue-not-capable-of-support,
+ f-dpch-not-supported,
+ e-dch-not-supported,
+ continuous-packet-connectivity-dtx-drx-operation-not-supported,
+ continuous-packet-connectivity-hs-scch-less-operation-not-supported,
+ mimo-not-supported,
+ e-dch-tti2ms-not-supported,
+ continuous-packet-connectivity-DTX-DRX-operation-not-available,
+ continuous-packet-connectivity-UE-DTX-Cycle-not-available,
+ mimo-not-available,
+ sixteenQAM-UL-not-Supported,
+ hSDSCH-MACdPDU-SizeFormatNotSupported,
+ f-dpch-slot-format-operation-not-supported,
+ e-DCH-MACdPDU-SizeFormat-not-available,
+ e-DPCCH-Power-Boosting-not-supported,
+ trelocprep-expiry,
+ directed-retry,
+ no-Iu-CS-UP-relocation,
+ reduce-load-in-serving-cell,
+ relocation-cancelled,
+ relocation-desirable-for-radio-reasons,
+ resource-optimisation-relocation,
+ time-critical-relocation,
+ traffic-load-in-the-target-cell-higher-than-in-the-source-cell,
+ sixtyfourQAM-DL-and-MIMO-Combined-not-available,
+ multi-Cell-operation-not-available,
+ multi-Cell-operation-not-supported,
+ semi-Persistent-scheduling-not-supported,
+ continuous-Packet-Connectivity-DRX-not-supported,
+ continuous-Packet-Connectivity-DRX-not-available,
+ enhanced-relocation-not-supported,
+ relocation-not-supported-due-to-PUESBINE-feature,
+ relocation-failure-in-target-RNC,
+ relocation-target-not-allowed,
+ requested-ciphering-and-or-integrity-protection-algorithms-not-supported,
+ sixtyfourQAM-DL-and-MIMO-Combined-not-supported,
+ tx-diversity-for-mimo-on-DL-control-channels-not-available,
+ single-Stream-MIMO-not-supported,
+ single-Stream-MIMO-not-available,
+ multi-Cell-operation-with-MIMO-not-supported,
+ multi-Cell-operation-with-MIMO-not-available,
+ multi-Cell-EDCH-operation-not-supported,
+ multi-Cell-EDCH-operation-not-available,
+ multi-Cell-operation-with-Single-Stream-MIMO-not-supported,
+ multi-Cell-operation-with-Single-Stream-MIMO-not-available,
+ cellSpecificTxDiversityHandlingForMultiCellOperationNotAvailable,
+ cellSpecificTxDiversityHandlingForMultiCellOperationNotSupported,
+ frequencySpecificCompressedModeNotAvailable,
+ uL-CLTD-Operation-not-available,
+ uL-CLTD-Operation-not-supported,
+ mimo-withfourtransmitantennas-not-supported,
+ mimo-withfourtransmitantennas-not-available,
+ dualstream-mimo-withfourtransmitantennas-not-supported,
+ dualstream-mimo-withfourtransmitantennas-not-available,
+ multiflow-operation-not-supported,
+ multiflow-operation-not-available,
+ ul-SixtyfourQAM-not-available,
+ ul-SixtyfourQAM-not-supported,
+ ul-MIMO-Operation-not-available,
+ uL-MIMO-Operation-not-supported,
+ ul-MIMO-SixteenQAM-Operation-not-available,
+ uL-MIMO-SixteenQAM-Operation-not-supported,
+ ul-MIMO-SixtyfourQAM-Operation-not-available,
+ uL-MIMO-SixtyfourQAM-Operation-not-supported,
+ e-DCH-Decoupling-operation-not-available,
+ e-DCH-Decoupling-operation-not-supported,
+ basic-dch-enh-not-available,
+ basic-dch-enh-not-supported,
+ full-dch-enh-not-available,
+ full-dch-enh-not-supported,
+ radio-Links-without-DPCH-FDPCH-Indication-operation-not-available,
+ radio-Links-without-DPCH-FDPCH-Indication-operation-not-supported,
+ uL-DPCCH2-operation-not-available,
+ uL-DPCCH2-operation-not-supported,
+ downlink-TPC-enhancements-operation-not-available,
+ downlink-TPC-enhancements-operation-not-supported
+
+}
+
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+CellBased::= SEQUENCE {
+ cellIdList CellIdList,
+ iE-Extensions ProtocolExtensionContainer { {CellBased-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBased-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CellIdList ::= SEQUENCE (SIZE (1..maxNrOfCellIds)) OF
+ Cell-Id
+
+Cell-Id ::= INTEGER (0..268435455)
+
+CellCapabilityContainer-FDD ::= BIT STRING (SIZE (32))
+-- First bit: Flexible Hard Split Support Indicator
+-- Second bit: Delayed Activation Support Indicator
+-- Third bit: HS-DSCH Support Indicator
+-- Fourth bit: DSCH Support Indicator
+-- Fifth bit: F-DPCH Support Indicator
+-- sixth bit: E-DCH Support Indicator
+-- Seventh bit: E-DCH TTI2ms Support Indicator
+-- Eighth bit: E-DCH 2sf2and2sf4 and all inferior SFs Support Indicator
+-- Ninth bit: E-DCH 2sf2 and all inferior SFs Support Indicator
+-- Tenth bit: E-DCH 2sf4 and all inferior SFs Support Indicator
+-- Eleventh bit: E-DCH sf4 and all inferior SFs Support Indicator
+-- Twelveth bit: E-DCH sf8 and all inferior SFs Support Indicator
+-- Thirteenth bit: E-DCH HARQ IR Combining Support Indicator
+-- Fourteenth bit: E-DCH HARQ Chase Combining Support Indicator
+-- Fifteenth bit: Continuous Packet Connectivity DTX-DRX Support Indicator
+-- Sixteenth bit: Continuous Packet Connectivity HS-SCCH less Support Indicator
+-- Seventeenth bit: MIMO Support Indicator
+-- Eighteenth bit: SixteenQAM UL Support Indicator
+-- Nineteenth bit: Flexible MAC-d PDU Size Support Indicator
+-- Twentieth bit: F-DPCH Slot Format Support Indicator
+-- Twentyfirst bit: SixtyfourQAM DL Support Indicator
+-- Twentysecond bit: Flexible E-DCH MAC-d PDU Size Support Indicator
+-- Twentythird bit: E-DPCCH Power Boosting Support Indicator
+-- Twentyfourth bit: SixtyfourQAM DL and MIMO Combined Support Indicator
+-- Twentyfifth bit: Multi Cell Support Indicator Support Indicator
+-- Twentysixth bit: MBMS Support Indicator
+-- Twentyseventh bit: DRNS Support STTD on DL ctrl ch when the RL is in MIMO P-CPICH + S-CPICH cell
+-- Twentyeighth bit: Dual Band Support Indicator (HS-DSCH)
+-- Twentyninth bit: Single Stream MIMO Support Indicator
+-- Thirtieth bit: Preferred Precoding Weight Set Restriction Support Indicator
+-- Thirtyfirst bit: Dual Band E-DCH Support Indicator
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+CellCapabilityContainerExtension-FDD ::= BIT STRING (SIZE (128))
+-- First bit: Cell Specific Tx Diversity Handling For Multi Cell Operation Support Indicator
+-- Second bit: Multi Cell and MIMO Support Indicator
+-- Third bit: Multi Cell and Single Stream MIMO Support Indicator
+-- Fourth bit: Multi Cell E-DCH Support Indicator
+-- Fifth bit: Separate Iub Transport Bearer Support Indicator
+-- Sixth bit: E-DCH UL Flow Multiplexing Support Indicator
+-- Seventh to eleventh bit: Maximum No of HSDPA Frequencies Support Indicator
+-- Twelfth bit: Dual Band and MIMO Support Indicator
+-- Thirteenth bit: 3 or more carrier HSDPA and MIMO Single Band Support Indicator
+-- Fourteenth bit: 3 or more carrier HSDPA and MIMO Dual Band Support Indicator
+-- Fifteenth bit : Dual Band and Single Stream MIMO Support Indicator
+-- Sixteenth bit : 3 or more carrier HSDPA and Single Stream MIMO Single Band Support Indicator
+-- Seventeenth bit : 3 or more carrier HSDPA and Single Stream MIMO Dual Band Support Indicator
+-- Eighteenth bit: Frequency specific Compressed Mode Support Indicator
+-- Nineteenth bit: UL CLTD Capability
+-- Twentieth to twenty-second bit: Supported MIMO transmit antennas (N).
+-- Twenty-third bit: MIMO with N transmit antennas Capability Adjacent-carrier.
+-- Twenty-fourth bit: MIMO with N transmit antennas Capability Dual Band/Dual Band.
+-- Twenty-fifth bit: Multi Cell and MIMO with N transmit antennas Capability Adjacent-carrier.
+-- Twenty-sixth bit: Multi Cell and MIMO with N transmit antennas Capability Dual Band/Dual Band.
+-- Twenty-seventh bit: HSPA 3 or more Carrier and MIMO with N transmit antennas Capability Adjacent-carrier.
+-- Twenty-eighth bit: HSPA 3 or more Carrier and MIMO with N transmit antennas Capability Dual Band/Dual Band.
+-- Twenty-ninth bit: Intra-site Multiflow
+-- Thirtieth bit: Inter-site Multiflow
+-- The thirty-first to thirty-third bits: Supported Multiflow configuration, where:
+-- value 0 indicates support for one frequency two cells
+-- value 1 indicates support for two frequencies three cells
+-- value 2 indicates support for two frequencies four cells
+-- value 3 indicates support for three frequencies four cells
+-- values 4-7 are reserved for future use.
+-- Thirty-fourth bit: Multiflow and MIMO
+-- Thirty-fifth bit: Cell Specific Tx Diversity Handling For Multiflow Cell Operation
+-- Thirty-sixth bit: Multiflow and single stream MIMO
+-- Thirty-seventh bit: UL 64QAM Capability
+-- Thirty-eighth bit: UL MIMO Capability
+-- Thirty-ninth bit: UL MIMO and 16QAM Capability
+-- Fortieth bit: UL MIMO and 64QAM Capability
+-- Forty-first bit: Common E-RGCH Capability
+-- Forty-second bit: E-DCH Decoupling capability
+-- Forty-third bit: Basic DCH Enhancements Capability
+-- Forty-fourth bit: Full DCH Enhancements Capability
+-- Forty-fifth bit: Radio Links without DPCH/F-DPCH operation Capability
+-- Forty-sixth bit: UL DPCCH2 operation Capability
+-- Forty-seventh bit: feEUL TTI switching Node B Autonomous Capability.
+-- Forty-eighth bit: feEUL TTI switching RNC notify Capability.
+-- Forty-ninth bit: downlink TPC enhancements Capability.
+-- Fiftieth bit: NAICS offloading Capability.
+-- Fifty-first bit: Multi Cell E-DCH with DPDCH Capability.
+
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+
+CellCapabilityContainer-TDD ::= BIT STRING (SIZE (32))
+-- First bit: Delayed Activation Support Indicator
+-- Second bit: HS-DSCH Support Indicator
+-- Third bit: DSCH Support Indicator
+-- The fourth bit: Flexible MAC-d PDU Size Support Indicator
+-- Fifth bit: MBMS Support Indicator
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+CellCapabilityContainer-TDD-LCR ::= BIT STRING (SIZE (32))
+-- First bit: Delayed Activation Support Indicator
+-- Second bit: HS-DSCH Support Indicator
+-- Third bit: DSCH Support Indicator
+-- The fourth bit: Flexible MAC-d PDU Size Support Indicator
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+CellCapabilityContainerExtension-TDD-LCR ::= BIT STRING (SIZE (32))
+-- First bit: Multi-Carrier E-DCH Operation Support Indicator
+-- Second bit: Separate Iur Transport Bearer Support Indicator
+-- Third bit: E-DCH UL flow Multiplexing Support Indicator
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+CellCapabilityContainer-TDD768 ::= BIT STRING (SIZE (32))
+-- First bit: Delayed Activation Support Indicator
+-- Second bit: HS-DSCH Support Indicator
+-- Third bit: DSCH Support Indicator
+-- The fourth bit: Flexible MAC-d PDU Size Support Indicator
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+C-ID ::= INTEGER (0..65535)
+
+CCTrCH-ID ::= INTEGER (0..15)
+
+Cell-Capacity-Class-Value ::= SEQUENCE {
+ uplinkCellCapacityClassValue INTEGER(1..100,...),
+ downlinkCellCapacityClassValue INTEGER(1..100,...)
+}
+
+
+CellIndividualOffset ::= INTEGER (-20..20)
+
+CellListValidityIndicator ::= ENUMERATED {
+ ignoreSecondaryServingCellList,
+ ignoreDualBandSecondaryServingCellList,
+ ignoreBoth
+}
+
+CellParameterID ::= INTEGER (0..127,...)
+
+CellPortionID ::= INTEGER (0..63,...)
+
+CellPortionLCRID ::= INTEGER (0..255,...)
+
+CFN ::= INTEGER (0..255)
+
+CGI ::= SEQUENCE {
+ lAI LAI,
+ cI CI,
+ iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
+}
+
+LAI-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CGI-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ChannelCodingType ::= ENUMERATED {
+ no-codingTDD,
+ convolutional-coding,
+ turbo-coding,
+ ...
+}
+
+ChipOffset ::= INTEGER (0..38399)
+
+CI ::= OCTET STRING (SIZE (2))
+
+ClassmarkInformation2 ::= OCTET STRING
+
+ClassmarkInformation3 ::= OCTET STRING
+
+ClosedLoopMode1-SupportIndicator ::= ENUMERATED {
+ closedLoop-Mode1-Supported,
+ closedLoop-Mode1-not-Supported
+}
+
+
+Closedlooptimingadjustmentmode ::= ENUMERATED {
+ adj-1-slot,
+ adj-2-slot,
+ ...
+}
+
+CodingRate ::= ENUMERATED {
+ half,
+ third,
+ ...
+}
+
+CommonMeasurementAccuracy ::= CHOICE {
+ tUTRANGPSMeasurementAccuracyClass TUTRANGPSAccuracyClass,
+ ...,
+ tUTRANGANSSMeasurementAccuracyClass TUTRANGANSSAccuracyClass
+}
+
+CommonMeasurementType ::= ENUMERATED {
+ uTRAN-GPS-timing-of-cell-frames-for-UE-Positioning,
+ sFN-SFN-observerd-time-difference,
+ load,
+ transmitted-carrier-power,
+ received-total-wide-band-power,
+ uplink-timeslot-iscp,
+ ...,
+ rT-load,
+ nRT-load-Information,
+ upPTSInterference,
+ uTRAN-GANSS-timing-of-cell-frames-for-UE-Positioning
+}
+-- For measurements on the Iur-g interface, only load, RT Load and NRT Load information are requested.
+
+CommonMeasurementValue ::= CHOICE {
+ tUTRANGPSMeasurementValueInformation TUTRANGPSMeasurementValueInformation,
+ sFNSFNMeasurementValueInformation SFNSFNMeasurementValueInformation,
+ loadValue LoadValue,
+ transmittedCarrierPowerValue INTEGER(0..100),
+ receivedTotalWideBandPowerValue INTEGER(0..621),
+ uplinkTimeslotISCPValue UL-TimeslotISCP,
+ ...,
+ extension-CommonMeasurementValue Extension-CommonMeasurementValue
+}
+
+Extension-CommonMeasurementValue ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementValueIE }}
+
+Extension-CommonMeasurementValueIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-RTLoadValue CRITICALITY ignore TYPE RTLoadValue PRESENCE mandatory }|
+ { ID id-NRTLoadInformationValue CRITICALITY ignore TYPE NRTLoadInformationValue PRESENCE mandatory }|
+ { ID id-UpPTSInterferenceValue CRITICALITY reject TYPE UpPTSInterferenceValue PRESENCE mandatory }|
+ { ID id-TUTRANGANSSMeasurementValueInformation CRITICALITY reject TYPE TUTRANGANSSMeasurementValueInformation PRESENCE mandatory }
+}
+
+-- For measurements on the Iur-g interface, only load, RT Load and NRT Load values are reported.
+
+CommonMeasurementValueInformation ::= CHOICE {
+ measurementAvailable CommonMeasurementAvailable,
+ measurementnotAvailable NULL
+}
+
+CommonMeasurementAvailable::= SEQUENCE {
+ commonMeasurementValue CommonMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { CommonMeasurementAvailableItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CommonMeasurementAvailableItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CongestionCause ::= ENUMERATED {
+ uTRAN-dynamic-resources,
+ uTRAN-semistatic-resources,
+ ...
+}
+
+CommonTransportChannelResourcesInitialisationNotRequired ::= ENUMERATED {
+ not-Required
+}
+
+
+Common-EDCH-MAC-d-Flow-Specific-InformationFDD ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF Common-EDCH-MAC-d-Flow-Specific-InformationFDDItem
+
+Common-EDCH-MAC-d-Flow-Specific-InformationFDDItem ::= SEQUENCE {
+ common-EDCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ maximum-Number-of-Retransmissions-For-E-DCH MaxNr-Retransmissions-EDCH,
+ eDCH-HARQ-PO-FDD E-DCH-HARQ-PO-FDD,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ common-E-DCHLogicalChannelInformation Common-E-DCH-LogicalChannelInformation,
+ iE-Extensions ProtocolExtensionContainer { { Common-EDCH-MAC-d-Flow-Specific-InformationFDDItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-EDCH-MAC-d-Flow-Specific-InformationFDDItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Common-EDCH-MAC-d-Flow-Specific-InformationLCR ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlowsLCR)) OF Common-EDCH-MAC-d-Flow-Specific-InformationItemLCR
+
+Common-EDCH-MAC-d-Flow-Specific-InformationItemLCR ::= SEQUENCE {
+ common-EDCH-MACdFlow-ID-LCR EDCH-MACdFlow-ID-LCR,
+ maximum-Number-of-Retransmissions-For-E-DCH MaxNr-Retransmissions-EDCH,
+ eDCH-HARQ-PO-TDD E-DCH-HARQ-PO-TDD,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ common-E-DCHLogicalChannelInformation Common-E-DCH-LogicalChannelInformation,
+ iE-Extensions ProtocolExtensionContainer { { Common-EDCH-MAC-d-Flow-Specific-InformationItemLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-EDCH-MAC-d-Flow-Specific-InformationItemLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-DCH-LogicalChannelInformation ::= SEQUENCE (SIZE (1..maxNoOfLogicalChannels)) OF Common-E-DCH-LogicalChannelInformationItem
+
+Common-E-DCH-LogicalChannelInformationItem ::= SEQUENCE {
+ logicalChannelId LogicalChannelID,
+ maximumMACdPDU-SizeExtended MAC-PDU-SizeExtended,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-DCH-LogicalChannelInformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Common-E-DCH-LogicalChannelInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Common-EDCH-Support-Indicator ::= NULL
+
+Common-E-RGCH-Cell-Information ::= CHOICE {
+ deActivation Common-E-RGCH-De-Activation,
+ common-E-RGCH-Cell-Info Common-E-RGCH-Cell-Info,
+ ...
+}
+
+Common-E-RGCH-Cell-Info ::= SEQUENCE {
+ eRGCH-ChannelisationCode FDD-DL-ChannelisationCodeNumber,
+ eRGCH-SignatureSequence ERGCH-SignatureSequence,
+ serving-Grant-Value E-Serving-Grant-Value OPTIONAL,
+ ...
+}
+
+Common-E-RGCH-De-Activation ::= NULL
+
+CompleteAlmanacProvided ::= BOOLEAN
+
+Continuous-Packet-Connectivity-DTX-DRX-Information ::= SEQUENCE {
+ uE-DTX-DRX-Offset UE-DTX-DRX-Offset,
+ enabling-Delay Enabling-Delay,
+ dTX-Information DTX-Information,
+ dRX-Information DRX-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Continuous-Packet-Connectivity-DTX-DRX-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Continuous-Packet-Connectivity-DTX-DRX-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Continuous-Packet-Connectivity-DTX-DRX-Information-to-Modify ::= SEQUENCE {
+ uE-DTX-DRX-Offset UE-DTX-DRX-Offset OPTIONAL,
+ enabling-Delay Enabling-Delay OPTIONAL,
+ dTX-Information-to-Modify DTX-Information-to-Modify OPTIONAL,
+ dRX-Information-to-Modify DRX-Information-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Continuous-Packet-Connectivity-DTX-DRX-Information-to-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Continuous-Packet-Connectivity-DTX-DRX-Information-to-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Continuous-Packet-Connectivity-HS-SCCH-Less-Information ::= SEQUENCE (SIZE (1..maxNrOfHS-DSCHTBSs-HS-SCCHless)) OF Continuous-Packet-Connectivity-HS-SCCH-Less-InformationItem
+
+Continuous-Packet-Connectivity-HS-SCCH-Less-InformationItem ::= SEQUENCE {
+ transport-Block-Size-Index Transport-Block-Size-Index,
+ hSPDSCH-Second-Code-Support HSPDSCH-Second-Code-Support,
+ iE-Extensions ProtocolExtensionContainer { { Continuous-Packet-Connectivity-HS-SCCH-Less-InformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Continuous-Packet-Connectivity-HS-SCCH-Less-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response ::= SEQUENCE {
+ hSPDSCH-First-Code-Index HSPDSCH-First-Code-Index,
+ hSPDSCH-Second-Code-Index HSPDSCH-Second-Code-Index OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CorrespondingCells ::= SEQUENCE (SIZE (1..maxNrOfCellsPerFreq)) OF C-ID
+
+
+CoverageIndicator ::= ENUMERATED {
+ overlap,
+ covers,
+ containedIn,
+ ...
+}
+
+
+
+CPC-Information ::= SEQUENCE {
+ continuous-Packet-Connectivity-DTX-DRX-Information Continuous-Packet-Connectivity-DTX-DRX-Information OPTIONAL,
+ continuous-Packet-Connectivity-DTX-DRX-Information-to-Modify Continuous-Packet-Connectivity-DTX-DRX-Information-to-Modify OPTIONAL,
+ continuous-Packet-Connectivity-HS-SCCH-Less-Information Continuous-Packet-Connectivity-HS-SCCH-Less-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CPC-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Continuous-Packet-Connectivity-HS-SCCH-Less-Deactivate-Indicator CRITICALITY reject EXTENSION Continuous-Packet-Connectivity-HS-SCCH-less-Deactivate-Indicator PRESENCE optional},
+ ...
+}
+
+CPC-RecoveryReport ::= ENUMERATED {
+ initiated,
+ ...
+}
+
+Continuous-Packet-Connectivity-HS-SCCH-less-Deactivate-Indicator ::= NULL
+
+Counting-Information ::= SEQUENCE ( SIZE (1..maxNrOfFDDNeighboursPerRNC,...)) OF Counting-Information-List
+
+Counting-Information-List ::= SEQUENCE {
+ c-ID C-ID,
+ counting-Result Counting-Result,
+ iE-Extensions ProtocolExtensionContainer { { Counting-Information-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Counting-Information-List-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Counting-Result ::= INTEGER (0..63)
+
+
+CRC-Size ::= ENUMERATED {
+ v0,
+ v8,
+ v12,
+ v16,
+ v24,
+ ...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureID ProcedureID OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ transactionID TransactionID OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber0 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CriticalityDiagnostics-IE-List-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }|
+{ ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
+ ...
+}
+
+MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
+ SEQUENCE {
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber1 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+
+MessageStructure-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CN-CS-DomainIdentifier ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ lAC LAC,
+ iE-Extensions ProtocolExtensionContainer { {CN-CS-DomainIdentifier-ExtIEs} } OPTIONAL
+}
+
+CN-CS-DomainIdentifier-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CN-PS-DomainIdentifier ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ lAC LAC,
+ rAC RAC,
+ iE-Extensions ProtocolExtensionContainer { {CN-PS-DomainIdentifier-ExtIEs} } OPTIONAL
+}
+
+CN-PS-DomainIdentifier-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CNDomainType ::= ENUMERATED {
+ cs-domain,
+ ps-domain,
+ i-care,
+ ...
+}
+-- See in TS 25.331 [16]
+
+CQI-DTX-Timer ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128, v256, v512, infinity}
+ -- Unit subframe
+
+CQI-Cycle-Switch-Timer ::= ENUMERATED {v4, v8, v16, v32, v64, v128, v256, v512, infinity}
+ -- Unit subframe
+
+ControlGAP ::= INTEGER (1..255)
+
+CQI-Feedback-Cycle ::= ENUMERATED {v0, v2, v4, v8, v10, v20, v40, v80, v160,..., v16, v32, v64}
+
+CQI-Feedback-Cycle2 ::= ENUMERATED {v0, v2, v4, v8, v16, v10, v20, v32, v40, v64, v80, v160,...}
+
+CQI-Power-Offset ::= INTEGER (0..8,..., 9..10)
+-- According to mapping in TS 25.213 [21] subclause 4.2.1
+
+CQI-RepetitionFactor ::= INTEGER (1..4,...)
+-- Step: 1
+
+C-RNTI ::= INTEGER (0..65535)
+
+CodeRate ::= INTEGER (0..63)
+
+CodeRate-short ::= INTEGER (0..10)
+
+CPC-InformationLCR ::= SEQUENCE {
+ continuousPacketConnectivity-DRX-InformationLCR ContinuousPacketConnectivity-DRX-InformationLCR OPTIONAL,
+ continuousPacketConnectivity-DRX-Information-to-Modify-LCR ContinuousPacketConnectivity-DRX-Information-to-Modify-LCR OPTIONAL,
+ hS-DSCH-Semi-PersistentScheduling-Information-LCR HS-DSCH-Semi-PersistentScheduling-Information-LCR OPTIONAL,
+ hS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR HS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR OPTIONAL,
+ hS-DSCH-SPS-Deactivate-Indicator-LCR NULL OPTIONAL,
+ e-DCH-Semi-PersistentScheduling-Information-LCR E-DCH-Semi-PersistentScheduling-Information-LCR OPTIONAL,
+ e-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR E-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR OPTIONAL,
+ e-DCH-SPS-Deactivate-Indicator-LCR NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CPC-InformationLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-InformationLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-InformationLCR ::= SEQUENCE {
+ enabling-Delay Enabling-Delay,
+ hS-SCCH-DRX-Information-LCR HS-SCCH-DRX-Information-LCR,
+ e-AGCH-DRX-Information-LCR E-AGCH-DRX-Information-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivity-DRX-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-InformationLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-DRX-Information-LCR ::= SEQUENCE {
+ hS-SCCH-UE-DRX-Cycle-LCR UE-DRX-Cycle-LCR,
+ hS-SCCH-Inactivity-Threshold-for-UE-DRX-Cycle-LCR Inactivity-Threshold-for-UE-DRX-Cycle-LCR OPTIONAL,
+ hS-SCCH-UE-DRX-Offset-LCR UE-DRX-Offset-LCR,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-DRX-Information-LCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-DRX-Information-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HS-SCCH-Inactivity-Threshold-for-UE-DRX-Cycle-LCR-Ext CRITICALITY ignore EXTENSION Inactivity-Threshold-for-UE-DRX-Cycle-LCR-Ext PRESENCE optional },
+ ...
+}
+
+E-AGCH-DRX-Information-LCR ::= CHOICE {
+ sameAsHS-SCCH NULL,
+ e-AGCH-DRX-Parameters E-AGCH-DRX-Parameters,
+ ...
+}
+
+E-AGCH-DRX-Parameters ::= SEQUENCE {
+ e-AGCH-UE-DRX-Cycle-LCR UE-DRX-Cycle-LCR,
+ e-AGCH-UE-Inactivity-Monitor-Threshold E-AGCH-UE-Inactivity-Monitor-Threshold OPTIONAL,
+ e-AGCH-UE-DRX-Offset-LCR UE-DRX-Offset-LCR,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-DRX-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-DRX-Parameters-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-DRX-Cycle-LCR ::= ENUMERATED {v1, v2, v4, v8, v16, v32, v64,...}
+ -- Unit subframe
+
+UE-DRX-Offset-LCR ::= INTEGER (0..63)
+ -- Unit subframe
+
+Inactivity-Threshold-for-UE-DRX-Cycle-LCR ::= ENUMERATED {v1, v2, v4, v8, v16, v32, v64,...}
+ -- Unit subframe
+
+Inactivity-Threshold-for-UE-DRX-Cycle-LCR-Ext ::= ENUMERATED {v128, v256, v512,...}
+ -- Unit subframe
+
+E-AGCH-UE-Inactivity-Monitor-Threshold ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128, v256, v512, infinity,...}
+ -- Unit subframe
+
+ContinuousPacketConnectivity-DRX-Information-to-Modify-LCR ::= SEQUENCE {
+ enabling-Delay Enabling-Delay OPTIONAL,
+ dRX-Information-to-Modify-LCR DRX-Information-to-Modify-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivity-DRX-Information-to-Modify-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-Information-to-Modify-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRX-Information-to-Modify-LCR ::= CHOICE {
+ modify DRX-Information-to-Modify-Items-LCR,
+ deactivate NULL,
+ ...
+}
+
+DRX-Information-to-Modify-Items-LCR ::= SEQUENCE {
+ hS-SCCH-DRX-Information-LCR HS-SCCH-DRX-Information-LCR OPTIONAL,
+ e-AGCH-DRX-Information-LCR E-AGCH-DRX-Information-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRX-Information-to-Modify-Items-LCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRX-Information-to-Modify-Items-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-Information-ResponseLCR ::= SEQUENCE {
+ enabling-Delay Enabling-Delay OPTIONAL,
+ hS-SCCH-DRX-Information-ResponseLCR HS-SCCH-DRX-Information-ResponseLCR OPTIONAL,
+ e-AGCH-DRX-Information-ResponseLCR E-AGCH-DRX-Information-ResponseLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ContinuousPacketConnectivity-DRX-Information-ResponseLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ContinuousPacketConnectivity-DRX-Information-ResponseLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-DRX-Information-ResponseLCR ::= SEQUENCE {
+ hS-SCCH-UE-DRX-Cycle-LCR UE-DRX-Cycle-LCR OPTIONAL,
+ hS-SCCH-Inactivity-Threshold-for-UE-DRX-Cycle-LCR Inactivity-Threshold-for-UE-DRX-Cycle-LCR OPTIONAL,
+ hS-SCCH-UE-DRX-Offset-LCR UE-DRX-Offset-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-DRX-Information-ResponseLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-DRX-Information-ResponseLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HS-SCCH-Inactivity-Threshold-for-UE-DRX-Cycle-LCR-Ext CRITICALITY ignore EXTENSION Inactivity-Threshold-for-UE-DRX-Cycle-LCR-Ext PRESENCE optional },
+ ...
+}
+
+E-AGCH-DRX-Information-ResponseLCR ::= CHOICE {
+ sameAsHS-SCCH NULL,
+ e-AGCH-DRX-Parameters-Response E-AGCH-DRX-Parameters-Response,
+ ...
+}
+
+E-AGCH-DRX-Parameters-Response ::= SEQUENCE {
+ e-AGCH-UE-DRX-Cycle-LCR UE-DRX-Cycle-LCR OPTIONAL,
+ e-AGCH-UE-Inactivity-Monitor-Threshold E-AGCH-UE-Inactivity-Monitor-Threshold OPTIONAL,
+ e-AGCH-UE-DRX-Offset-LCR UE-DRX-Offset-LCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-DRX-Parameters-Response-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-AGCH-DRX-Parameters-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Controlled-Object-Scope ::= SEQUENCE{
+ rNC-ID RNC-ID,
+ extended-RNC-ID Extended-RNC-ID OPTIONAL,
+ multiple-PLMN-List Multiple-PLMN-List OPTIONAL,
+ umts-cell-Info UMTS-Cells-Info-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Controlled-Object-Scope-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Controlled-Object-Scope-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- D
+
+DATA-ID ::= INTEGER (0..3)
+
+DBDS-CorrectionsReq ::= SEQUENCE {
+ dGANSS-Signal-ID BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { DBDS-CorrectionsReq-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DBDS-CorrectionsReq-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DBDS-Corrections ::= SEQUENCE {
+ bDS-RefTime INTEGER (0..119),
+ -- Time = bDS-RefTime *30
+ dBDS-InfoList DBDS-InfoList,
+ iE-Extensions ProtocolExtensionContainer { { DBDS-CorrectionsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DBDS-CorrectionsItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DBDS-Info ::= SEQUENCE {
+ dBDS-SignalID GANSS-Signal-ID OPTIONAL,
+ dBDS-SignalInfoList DBDS-SignalInfoList,
+ iE-Extensions ProtocolExtensionContainer { { DBDS-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DBDS-InfoItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DBDS-SignalInfoList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ DBDS-SignalInfo
+
+DBDS-SignalInfo ::= SEQUENCE {
+ svID INTEGER(0..63),
+ bds-UDREI INTEGER (0..15),
+ bds-RURAI INTEGER (0..15),
+ bds-ECC-DeltaT BIT STRING (SIZE (13)),
+ ie-Extensions ProtocolExtensionContainer { { DBDS-SignalInfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DBDS-SignalInfoItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DBDS-InfoList ::= SEQUENCE (SIZE (1..maxSgnType)) OF DBDS-Info
+
+DCH-ENH-Information ::= SEQUENCE {
+ pO2-SRB PowerOffset,
+ dl-FET-Mode DL-FET-Mode,
+ dCH-ENH-Concat DCH-ENH-Concat OPTIONAL
+-- This IE shall be present if dl-FET-Mode is equal to “full” --,
+ iE-Extensions ProtocolExtensionContainer { { DCH-ENH-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DCH-ENH-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-ENH-Information-to-Modify ::= SEQUENCE {
+ pO-SRB PowerOffset OPTIONAL,
+ dl-FET-Mode DL-FET-Mode OPTIONAL,
+ dCH-ENH-Concat DCH-ENH-Concat OPTIONAL
+-- This IE shall be present if dl-FET-Mode is equal to “full” --,
+ iE-Extensions ProtocolExtensionContainer { { DCH-ENH-Information-to-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DCH-ENH-Information-to-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-FET-Mode ::= ENUMERATED {
+ basic,
+ full,
+ ...
+}
+
+DCH-ENH-Concat ::= SEQUENCE (SIZE (1.. maxNrofConcatenatedDCH)) OF DCH-ID
+
+DCH-ENH-Information-Reconf ::=SEQUENCE{
+ setup-Or-ConfigurationChange-Or-Removal-Of-DCH-ENH Setup-Or-ConfigurationChange-Or-Removal-Of-DCH-ENH,
+ iE-Extensions ProtocolExtensionContainer { { DCH-ENH-Information-Reconf-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-ENH-Information-Reconf-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DCH-ENH-Information-Removal ::= ENUMERATED {
+ remove,
+ ...
+}
+
+DCH-FDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-FDD-InformationItem
+
+DCH-FDD-InformationItem ::= SEQUENCE {
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
+ ul-FP-Mode UL-FP-Mode,
+ toAWS ToAWS,
+ toAWE ToAWE,
+ dCH-SpecificInformationList DCH-Specific-FDD-InformationList,
+ iE-Extensions ProtocolExtensionContainer { {DCH-FDD-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-FDD-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+DCH-MeasurementOccasion-Information ::= SEQUENCE (SIZE (1.. maxNrOfDCHMeasurementOccasionPatternSequence)) OF DchMeasurementOccasionInformation-Item
+
+DchMeasurementOccasionInformation-Item ::= SEQUENCE {
+ pattern-Sequence-Identifier Pattern-Sequence-Identifier,
+ status-Flag Status-Flag,
+ measurement-Occasion-Pattern-Sequence-parameters Measurement-Occasion-Pattern-Sequence-parameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DCH-MeasurementOccasion-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DCH-MeasurementOccasion-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Measurement-Occasion-Pattern-Sequence-parameters ::= SEQUENCE {
+ measurement-Occasion-Pattern-Sequence-parameters-k INTEGER(1..9),
+ measurement-Occasion-Pattern-Sequence-parameters-offset INTEGER(0..511),
+ measurement-Occasion-Pattern-Sequence-parameters-M-Length INTEGER(1..512),
+ measurement-Occasion-Pattern-Sequence-parameters-Timeslot-Bitmap BIT STRING (SIZE (7)),
+ iE-Extensions ProtocolExtensionContainer { { Measurement-Occasion-Pattern-Sequence-parameters-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Measurement-Occasion-Pattern-Sequence-parameters-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-MeasurementType-Indicator ::= BIT STRING (SIZE (5))
+
+
+DCH-Specific-FDD-InformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-Specific-FDD-Item
+
+DCH-Specific-FDD-Item ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ trCH-SrcStatisticsDescr TrCH-SrcStatisticsDescr,
+ ul-transportFormatSet TransportFormatSet,
+ dl-transportFormatSet TransportFormatSet,
+ ul-BLER BLER,
+ dl-BLER BLER,
+ allocationRetentionPriority AllocationRetentionPriority,
+ frameHandlingPriority FrameHandlingPriority,
+ qE-Selector QE-Selector,
+ dRACControl DRACControl,
+ iE-Extensions ProtocolExtensionContainer { {DCH-FDD-SpecificItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-FDD-SpecificItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Guaranteed-Rate-Information CRITICALITY ignore EXTENSION Guaranteed-Rate-Information PRESENCE optional }|
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE mandatory}|
+ { ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional },
+ ...
+}
+
+DCH-Indicator-For-E-DCH-HSDPA-Operation ::= ENUMERATED {
+ dch-not-present
+}
+
+DCH-ID ::= INTEGER (0..255)
+
+DCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-InformationResponseItem
+
+DCH-InformationResponseItem ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DCH-InformationResponseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-InformationResponseItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Allowed-Rate-Information CRITICALITY ignore EXTENSION Allowed-Rate-Information PRESENCE optional }|
+ { ID id-TransportBearerNotSetupIndicator CRITICALITY ignore EXTENSION TransportBearerNotSetupIndicator PRESENCE optional }, -- FDD only
+ ...
+}
+
+DCH-TDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-TDD-InformationItem
+
+DCH-TDD-InformationItem ::= SEQUENCE {
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
+ ul-FP-Mode UL-FP-Mode,
+ toAWS ToAWS,
+ toAWE ToAWE,
+ dCH-SpecificInformationList DCH-Specific-TDD-InformationList,
+ iE-Extensions ProtocolExtensionContainer { {DCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-TDD-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+DCH-Specific-TDD-InformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-Specific-TDD-Item
+
+DCH-Specific-TDD-Item ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ ul-cCTrCH-ID CCTrCH-ID, -- UL CCTrCH in which the DCH is mapped
+ dl-cCTrCH-ID CCTrCH-ID, -- DL CCTrCH in which the DCH is mapped
+ trCH-SrcStatisticsDescr TrCH-SrcStatisticsDescr,
+ ul-transportFormatSet TransportFormatSet,
+ dl-transportFormatSet TransportFormatSet,
+ ul-BLER BLER,
+ dl-BLER BLER,
+ allocationRetentionPriority AllocationRetentionPriority,
+ frameHandlingPriority FrameHandlingPriority,
+ qE-Selector QE-Selector OPTIONAL,
+ -- This IE shall be present if DCH is part of set of Co-ordinated DCHs
+ iE-Extensions ProtocolExtensionContainer { {DCH-Specific-TDD-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-Specific-TDD-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Guaranteed-Rate-Information CRITICALITY ignore EXTENSION Guaranteed-Rate-Information PRESENCE optional }|
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE mandatory}|
+ { ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional },
+ ...
+}
+
+DecimationFactor ::= ENUMERATED {
+ slots3,
+ slots5
+}
+
+DedicatedMeasurementType ::= ENUMERATED {
+ sir,
+ sir-error,
+ transmitted-code-power,
+ rSCP,
+ rx-timing-deviation,
+ round-trip-time,
+ ...,
+ rx-timing-deviation-LCR,
+ angle-Of-Arrival-LCR,
+ hs-sich-quality,
+ rx-timing-deviation-768,
+ rx-timing-deviation-ext,
+ ue-transmission-power-headroom,
+ dl-TBS
+}
+
+DedicatedMeasurementValue ::= CHOICE {
+ sIR-Value SIR-Value,
+ sIR-ErrorValue SIR-Error-Value,
+ transmittedCodePowerValue Transmitted-Code-Power-Value,
+ rSCP RSCP-Value, -- TDD only
+ rxTimingDeviationValue Rx-Timing-Deviation-Value, -- 3.84Mcps TDD only
+ roundTripTime Round-Trip-Time-Value, -- FDD only
+ ...,
+ extension-DedicatedMeasurementValue Extension-DedicatedMeasurementValue
+}
+
+Extension-DedicatedMeasurementValue ::= ProtocolIE-Single-Container {{ Extension-DedicatedMeasurementValueIE }}
+
+Extension-DedicatedMeasurementValueIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-Rx-Timing-Deviation-Value-LCR CRITICALITY reject TYPE Rx-Timing-Deviation-Value-LCR PRESENCE mandatory}|
+ { ID id-Angle-Of-Arrival-Value-LCR CRITICALITY reject TYPE Angle-Of-Arrival-Value-LCR PRESENCE mandatory}|
+ { ID id-HS-SICH-Reception-Quality CRITICALITY reject TYPE HS-SICH-Reception-Quality-Value PRESENCE mandatory}|
+ { ID id-Rx-Timing-Deviation-Value-768 CRITICALITY reject TYPE Rx-Timing-Deviation-Value-768 PRESENCE mandatory}|
+ { ID id-Rx-Timing-Deviation-Value-ext CRITICALITY reject TYPE Rx-Timing-Deviation-Value-ext PRESENCE mandatory}|
+ { ID id-Extended-Round-Trip-Time-Value CRITICALITY reject TYPE Extended-Round-Trip-Time-Value PRESENCE mandatory}|
+ { ID id-UE-transmission-power-headroom CRITICALITY reject TYPE UE-transmission-power-headroom-Value PRESENCE mandatory}|
+ { ID id-DL-TBS CRITICALITY reject TYPE DL-TBS PRESENCE mandatory},
+ ...
+}
+
+DedicatedMeasurementValueInformation ::= CHOICE {
+ measurementAvailable DedicatedMeasurementAvailable,
+ measurementnotAvailable DedicatedMeasurementnotAvailable
+}
+
+DedicatedMeasurementAvailable::= SEQUENCE {
+ dedicatedmeasurementValue DedicatedMeasurementValue,
+ cFN CFN OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { DedicatedMeasurementAvailableItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementAvailableItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DedicatedMeasurementnotAvailable ::= NULL
+
+DelayedActivation ::= CHOICE {
+ cfn CFN,
+ separate-indication NULL
+}
+
+DelayedActivationUpdate ::= CHOICE {
+ activate Activate-Info,
+ deactivate Deactivate-Info
+}
+
+Activate-Info ::= SEQUENCE {
+ activation-type Execution-Type,
+ initial-dl-tx-power DL-Power,
+ firstRLS-Indicator FirstRLS-Indicator OPTIONAL, --FDD Only
+ propagation-delay PropagationDelay OPTIONAL, --FDD Only
+ iE-Extensions ProtocolExtensionContainer { { Activate-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Activate-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedPropagationDelay CRITICALITY ignore EXTENSION ExtendedPropagationDelay PRESENCE optional },
+ ...
+}
+
+Deactivate-Info ::= SEQUENCE {
+ deactivation-type Execution-Type,
+ iE-Extensions ProtocolExtensionContainer { { Deactivate-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Deactivate-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Execution-Type ::= CHOICE {
+ synchronised CFN,
+ unsynchronised NULL
+}
+
+DeltaSIR ::= INTEGER (0..30)
+-- Step 0.1 dB, Range 0..3 dB.
+
+DGANSSCorrections ::= SEQUENCE {
+ dGANSS-ReferenceTime INTEGER(0..119),
+ dGANSS-Information SEQUENCE (SIZE (1..maxSgnType)) OF SEQUENCE {
+ gANSS-SignalId GANSS-Signal-ID OPTIONAL,
+ gANSS-StatusHealth GANSS-StatusHealth,
+-- The following IE shall be present if the StatusHealth IE value is not equal to “no data” or “invalid data”
+ dGANSS-SignalInformation SEQUENCE (SIZE (1..maxGANSSSat)) OF SEQUENCE {
+ satId INTEGER(0..63),
+ gANSS-iod BIT STRING (SIZE (10)),
+ udre UDRE,
+ ganss-prc INTEGER(-2047..2047),
+ ganss-rrc INTEGER(-127..127),
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-SignalInformationItem-ExtIEs } } OPTIONAL,
+ ...
+ } OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-InformationItem-ExtIEs } } OPTIONAL,
+ ...
+ },
+ ie-Extensions ProtocolExtensionContainer { { DGANSSCorrections-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSSCorrections-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGANSS-Corrections-Req ::= SEQUENCE {
+ dGANSS-Signal-ID BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { DGANSS-Corrections-Req-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGANSS-Corrections-Req-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-ID CRITICALITY ignore EXTENSION GANSS-ID PRESENCE optional},
+ ...
+}
+
+DGANSS-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGANSS-SignalInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-DGNSS-ValidityPeriod CRITICALITY ignore EXTENSION DGNSS-ValidityPeriod PRESENCE optional},
+ ...
+}
+
+DGANSSThreshold ::= SEQUENCE {
+ pRCDeviation PRCDeviation,
+ ...
+}
+
+DGNSS-ValidityPeriod ::= SEQUENCE {
+ udreGrowthRate UDREGrowthRate,
+ udreValidityTime UDREValidityTime,
+ iE-Extensions ProtocolExtensionContainer { { DGNSS-ValidityPeriod-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DGNSS-ValidityPeriod-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGPSCorrections ::= SEQUENCE {
+ gPSTOW GPSTOW,
+ gPS-Status-Health GPS-Status-Health,
+ satellite-DGPSCorrections-Information SEQUENCE (SIZE (1..maxNoSat)) OF
+ SEQUENCE {
+ sAT-ID SAT-ID,
+ iode-dgps BIT STRING (SIZE (8)),
+ uDRE UDRE,
+ pRC PRC,
+ range-Correction-Rate Range-Correction-Rate,
+ iE-Extensions ProtocolExtensionContainer { { Satellite-DGPSCorrections-Information-ExtIEs} } OPTIONAL,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { DGPSCorrections-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Satellite-DGPSCorrections-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-DGNSS-ValidityPeriod CRITICALITY ignore EXTENSION DGNSS-ValidityPeriod PRESENCE optional},
+ ...
+}
+
+DGPSCorrections-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DGPSThreshold ::= SEQUENCE {
+ pRCDeviation PRCDeviation,
+ iE-Extensions ProtocolExtensionContainer { { DGPSThreshold-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DGPSThreshold-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DiscardTimer ::= ENUMERATED {v20,v40,v60,v80,v100,v120,v140,v160,v180,v200,v250,v300,v400,v500,v750,v1000,v1250,v1500,v1750,v2000,v2500,v3000,v3500,v4000,v4500,v5000,v7500,
+ ...
+}
+
+DiversityControlField ::= ENUMERATED {
+ may,
+ must,
+ must-not
+}
+
+DiversityMode ::= ENUMERATED {
+ none,
+ sTTD,
+ closedLoopMode1,
+ not-used-closedLoopMode2,
+ ...
+}
+
+DL-TBS ::= SEQUENCE {
+ hs-DSCH-Cell-List HS-DSCH-Cell-List,
+ iE-Extensions ProtocolExtensionContainer { { DL-TBS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-TBS-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCH-Cell-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF HS-DSCH-Cell
+
+HS-DSCH-Cell ::=SEQUENCE{
+ hs-DSCH-Cell-TBS DL-TBS-Value,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Cell-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Cell-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-TBS-Value ::= INTEGER (0..160000)
+
+DL-DPCH-SlotFormat ::= INTEGER (0..16,...)
+
+DL-DPCH-TimingAdjustment ::= ENUMERATED {
+ timing-advance,
+ timing-delay
+}
+
+DL-Power ::= INTEGER (-350..150)
+-- Value = DL-Power / 10
+-- Unit dB, Range –35dB .. +15dB, Step 0.1dB
+
+DL-PowerBalancing-Information ::= SEQUENCE {
+ powerAdjustmentType PowerAdjustmentType,
+ dLReferencePower DL-Power OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Common’
+ dLReferencePowerList DL-ReferencePowerInformationList OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Individual’
+ maxAdjustmentStep MaxAdjustmentStep OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Common’ or ‘Individual’
+ adjustmentPeriod AdjustmentPeriod OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Common’ or ‘Individual’
+ adjustmentRatio ScaledAdjustmentRatio OPTIONAL,
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Common’ or ‘Individual’
+ iE-Extensions ProtocolExtensionContainer { { DL-PowerBalancing-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DL-PowerBalancing-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-ReferencePowerInformationList ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF DL-ReferencePowerInformationItem
+
+DL-ReferencePowerInformationItem ::= SEQUENCE {
+ rL-ID RL-ID,
+ dl-Reference-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { {DL-ReferencePowerInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-ReferencePowerInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-PowerBalancing-ActivationIndicator ::= ENUMERATED {
+ dL-PowerBalancing-Activated
+}
+
+DL-PowerBalancing-UpdatedIndicator ::= ENUMERATED {
+ dL-PowerBalancing-Updated
+}
+
+DL-ReferencePowerInformation ::= SEQUENCE {
+ common-DL-ReferencePowerInformation DL-Power OPTIONAL,
+ individual-DL-ReferencePowerInformation DL-ReferencePowerInformationList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-ReferencePowerInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DL-ReferencePowerInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+D-RNTI ::= INTEGER (0..1048575)
+
+D-RNTI-ReleaseIndication ::= ENUMERATED {
+ release-D-RNTI,
+ not-release-D-RNTI
+}
+
+DL-ScramblingCode ::= INTEGER (0..15)
+
+DL-FrameType ::= ENUMERATED {
+ typeA,
+ typeB,
+ ...
+}
+
+DL-Timeslot-Information ::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF DL-Timeslot-InformationItem
+
+DL-Timeslot-InformationItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tFCI-Presence TFCI-Presence,
+ dL-Code-Information TDD-DL-Code-Information,
+ iE-Extensions ProtocolExtensionContainer { {DL-Timeslot-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-TimeslotLCR-Information ::= SEQUENCE (SIZE (1.. maxNrOfDLTsLCR)) OF DL-TimeslotLCR-InformationItem
+
+DL-TimeslotLCR-InformationItem ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tFCI-Presence TFCI-Presence,
+ dL-Code-LCR-Information TDD-DL-Code-LCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { DL-TimeslotLCR-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-TimeslotLCR-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Maximum-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-Minimum-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional},
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+DL-Timeslot-Information768 ::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF DL-Timeslot-InformationItem768
+
+DL-Timeslot-InformationItem768 ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tFCI-Presence TFCI-Presence,
+ dL-Code-Information768 TDD-DL-Code-Information768,
+ iE-Extensions ProtocolExtensionContainer { {DL-Timeslot-InformationItem768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationItem768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-TimeSlot-ISCP-Info ::= SEQUENCE (SIZE (1..maxNrOfDLTs)) OF DL-TimeSlot-ISCP-InfoItem
+
+DL-TimeSlot-ISCP-InfoItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ dL-TimeslotISCP DL-TimeslotISCP,
+ iE-Extensions ProtocolExtensionContainer { { DL-TimeSlot-ISCP-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-TimeSlot-ISCP-InfoItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-TimeSlot-ISCP-LCR-Information ::= SEQUENCE (SIZE (1..maxNrOfDLTsLCR)) OF DL-TimeSlot-ISCP-LCR-InfoItem
+
+DL-TimeSlot-ISCP-LCR-InfoItem ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ dL-TimeslotISCP DL-TimeslotISCP,
+ iE-Extensions ProtocolExtensionContainer { { DL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+DL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-TimeslotISCP ::= INTEGER (0..91)
+-- According to mapping in TS 25.123 [24]
+
+Downlink-Compressed-Mode-Method ::= ENUMERATED {
+ not-Used-puncturing,
+ sFdiv2,
+ higher-layer-scheduling,
+ ...
+}
+
+Downlink-TPC-enhancements-Information ::= SEQUENCE {
+ decimationFactorforPrimaryFrequency DecimationFactor OPTIONAL,
+ decimationFactorforSecFrequency DecimationFactor OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Downlink-TPC-enhancements-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Downlink-TPC-enhancements-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Downlink-TPC-enhancements-Reconf ::= SEQUENCE{
+ setup-Or-ConfigurationChange-Or-Removal-Of-Downlink-TPC-enhancements Setup-Or-ConfigurationChange-Or-Removal-Of-Downlink-TPC-enhancements,
+ iE-Extensions ProtocolExtensionContainer { { Downlink-TPC-enhancements-Reconf-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Downlink-TPC-enhancements-Reconf-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Downlink-TPC-enhancements-Information-Removal ::= ENUMERATED {
+ remove,
+ ...
+}
+
+DPC-Mode ::= ENUMERATED {
+ mode0,
+ mode1,
+ ...
+}
+
+DPC-Mode-Change-SupportIndicator ::= ENUMERATED {
+dPC-ModeChangeSupported
+}
+
+DPCH-ID ::= INTEGER (0..239)
+
+DPCH-ID768 ::= INTEGER (0..479)
+
+DPCHConstantValue ::= INTEGER (-10..10)
+-- Unit dB, Step 1dB
+
+DRACControl ::= ENUMERATED {
+ not-Used-requested,
+ not-requested
+}
+
+DRXCycleLengthCoefficient ::= INTEGER (3..9)
+-- See in TS 25.331 [16]
+
+
+DRX-Information ::= SEQUENCE {
+ uE-DRX-Cycle UE-DRX-Cycle,
+ inactivity-Threshold-for-UE-DRX-Cycle Inactivity-Threshold-for-UE-DRX-Cycle,
+ inactivity-Threshold-for-UE-Grant-Monitoring Inactivity-Threshold-for-UE-Grant-Monitoring,
+ uE-DRX-Grant-Monitoring UE-DRX-Grant-Monitoring,
+ iE-Extensions ProtocolExtensionContainer { {DRX-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRX-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UE-DRX-Cycle2 CRITICALITY ignore EXTENSION UE-DRX-Cycle PRESENCE optional}|
+ { ID id-Inactivity-Threshold-for-UE-DRX-Cycle2 CRITICALITY ignore EXTENSION Inactivity-Threshold-for-UE-DRX-Cycle PRESENCE optional},
+ ...
+}
+
+DRX-Information-to-Modify ::= CHOICE {
+ modify DRX-Information-to-Modify-Items,
+ deactivate NULL,
+ ...
+}
+
+
+DRX-Information-to-Modify-Items ::= SEQUENCE {
+ uE-DRX-Cycle UE-DRX-Cycle OPTIONAL,
+ inactivity-Threshold-for-UE-DRX-Cycle Inactivity-Threshold-for-UE-DRX-Cycle OPTIONAL,
+ inactivity-Threshold-for-UE-Grant-Monitoring Inactivity-Threshold-for-UE-Grant-Monitoring OPTIONAL,
+ uE-DRX-Grant-Monitoring UE-DRX-Grant-Monitoring OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRX-Information-to-Modify-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRX-Information-to-Modify-Items-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UE-DRX-Cycle2 CRITICALITY ignore EXTENSION UE-DRX-Cycle PRESENCE optional}|
+ { ID id-Inactivity-Threshold-for-UE-DRX-Cycle2 CRITICALITY ignore EXTENSION Inactivity-Threshold-for-UE-DRX-Cycle PRESENCE optional},
+ ...
+}
+
+DSCH-RNTI ::= INTEGER (0..65535)
+
+DSCH-FlowControlInformation ::= SEQUENCE (SIZE(1..16)) OF DSCH-FlowControlItem
+
+DSCH-FlowControlItem ::= SEQUENCE {
+ dSCH-SchedulingPriority SchedulingPriorityIndicator,
+ mAC-c-sh-SDU-Lengths MAC-c-sh-SDU-LengthList,
+ iE-Extensions ProtocolExtensionContainer { {DSCH-FlowControlItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCH-FlowControlItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DSCH-InitialWindowSize CRITICALITY ignore EXTENSION DSCH-InitialWindowSize PRESENCE optional },
+ ...
+}
+
+DSCH-ID ::= INTEGER (0..255)
+
+DSCH-InitialWindowSize ::= INTEGER (1..255)
+-- Number of MAC-c/sh SDUs.
+-- 255 = Unlimited number of MAC-c/sh SDUs
+
+DSCH-TDD-Information ::= SEQUENCE (SIZE (1..maxNoOfDSCHs)) OF DSCH-TDD-InformationItem
+
+DSCH-TDD-InformationItem ::= SEQUENCE {
+ dSCH-ID DSCH-ID,
+ dl-ccTrCHID CCTrCH-ID, -- DL CCTrCH in which the DSCH is mapped
+ trChSourceStatisticsDescriptor TrCH-SrcStatisticsDescr,
+ transportFormatSet TransportFormatSet,
+ allocationRetentionPriority AllocationRetentionPriority,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ bLER BLER,
+ iE-Extensions ProtocolExtensionContainer { {DSCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCH-TDD-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE mandatory}|
+ { ID id-BindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ -- Shall be ignored if bearer establishment with ALCAP.
+ ...
+}
+
+DsField ::= BIT STRING (SIZE (8))
+
+
+DTX-Cycle-2ms-Items ::= SEQUENCE {
+ uE-DTX-Cycle1-2ms UE-DTX-Cycle1-2ms,
+ uE-DTX-Cycle2-2ms UE-DTX-Cycle2-2ms,
+ mAC-DTX-Cycle-2ms MAC-DTX-Cycle-2ms,
+ iE-Extensions ProtocolExtensionContainer { { DTX-Cycle-2ms-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Cycle-2ms-Items-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DTX-Cycle-2ms-to-Modify-Items ::= SEQUENCE {
+ uE-DTX-Cycle1-2ms UE-DTX-Cycle1-2ms OPTIONAL,
+ uE-DTX-Cycle2-2ms UE-DTX-Cycle2-2ms OPTIONAL,
+ mAC-DTX-Cycle-2ms MAC-DTX-Cycle-2ms OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DTX-Cycle-2ms-to-Modify-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Cycle-2ms-to-Modify-Items-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DTX-Cycle-10ms-Items ::= SEQUENCE {
+ uE-DTX-Cycle1-10ms UE-DTX-Cycle1-10ms,
+ uE-DTX-Cycle2-10ms UE-DTX-Cycle2-10ms,
+ mAC-DTX-Cycle-10ms MAC-DTX-Cycle-10ms,
+ iE-Extensions ProtocolExtensionContainer { { DTX-Cycle-10ms-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Cycle-10ms-Items-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DTX-Cycle-10ms-to-Modify-Items ::= SEQUENCE {
+ uE-DTX-Cycle1-10ms UE-DTX-Cycle1-10ms OPTIONAL,
+ uE-DTX-Cycle2-10ms UE-DTX-Cycle2-10ms OPTIONAL,
+ mAC-DTX-Cycle-10ms MAC-DTX-Cycle-10ms OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DTX-Cycle-10ms-to-Modify-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Cycle-10ms-to-Modify-Items-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DTX-Information ::= SEQUENCE {
+ e-DCH-TTI-Length E-DCH-TTI-Length,
+ inactivity-Threshold-for-UE-DTX-Cycle2 Inactivity-Threshold-for-UE-DTX-Cycle2,
+ uE-DTX-Long-Preamble UE-DTX-Long-Preamble,
+ mAC-Inactivity-Threshold MAC-Inactivity-Threshold,
+ cQI-DTX-Timer CQI-DTX-Timer,
+ uE-DPCCH-burst1 UE-DPCCH-burst1,
+ uE-DPCCH-burst2 UE-DPCCH-burst2,
+ iE-Extensions ProtocolExtensionContainer { {DTX-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DTX-Information-to-Modify ::= CHOICE {
+ modify DTX-Information-to-Modify-Items,
+ deactivate NULL,
+ ...
+}
+
+
+DTX-Information-to-Modify-Items ::= SEQUENCE {
+ e-DCH-TTI-Length-to-Modify E-DCH-TTI-Length-to-Modify OPTIONAL,
+ inactivity-Threshold-for-UE-DTX-Cycle2 Inactivity-Threshold-for-UE-DTX-Cycle2 OPTIONAL,
+ uE-DTX-Long-Preamble UE-DTX-Long-Preamble OPTIONAL,
+ mAC-Inactivity-Threshold MAC-Inactivity-Threshold OPTIONAL,
+ cQI-DTX-Timer CQI-DTX-Timer OPTIONAL,
+ uE-DPCCH-burst1 UE-DPCCH-burst1 OPTIONAL,
+ uE-DPCCH-burst2 UE-DPCCH-burst2 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DTX-Information-to-Modify-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DTX-Information-to-Modify-Items-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- E
+
+
+EARFCN ::= INTEGER (0..maxEARFCN)
+
+EARFCN-Extended ::= INTEGER (0..maxEARFCN-Extended, ...)
+
+EARFCN-Information ::= CHOICE {
+ fDD EARFCN-FDD,
+ tDD EARFCN,
+ ...,
+ extension-EARFCN-Information Extension-EARFCN-Information
+}
+
+Extension-EARFCN-Information ::= ProtocolIE-Single-Container {{ Extension-EARFCN-InformationIE }}
+
+Extension-EARFCN-InformationIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-EARFCN-FDD-Extended CRITICALITY ignore TYPE EARFCN-FDD-Extended PRESENCE optional }|
+ { ID id-EARFCN-TDD-Extended CRITICALITY ignore TYPE EARFCN-Extended PRESENCE optional },
+ ...
+}
+
+EARFCN-FDD ::= SEQUENCE {
+ uL-EARFCN EARFCN,
+ dL-EARFCN EARFCN
+}
+
+EARFCN-FDD-Extended ::= SEQUENCE {
+ uL-EARFCN EARFCN-Extended,
+ dL-EARFCN EARFCN-Extended
+}
+
+E-AGCH-Table-Choice ::= ENUMERATED{table16B, table16B-1, ...}
+
+ECGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ e-UTRAN-Cell-ID BIT STRING (SIZE (28)),
+ iE-Extensions ProtocolExtensionContainer { {ECGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ECGI-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-DDI-Value ::= INTEGER (0..62)
+
+E-DCH-Decoupling-Indication ::= ENUMERATED {
+ serving-E-DCH-cell-only,
+ serving-HS-DSCH-cell-only,
+ ...
+}
+
+EDCH-FDD-DL-ControlChannelInformation ::= SEQUENCE {
+ eAGCH-ERGCH-EHICH-FDD-ScramblingCode DL-ScramblingCode OPTIONAL,
+ eAGCH-ChannelisationCode FDD-DL-ChannelisationCodeNumber OPTIONAL,
+ primary-e-RNTI E-RNTI OPTIONAL,
+ secondary-e-RNTI E-RNTI OPTIONAL,
+ eRGCH-EHICH-ChannelisationCode FDD-DL-ChannelisationCodeNumber,
+ eRGCH-SignatureSequence ERGCH-SignatureSequence OPTIONAL,
+ eHICH-SignatureSequence EHICH-SignatureSequence OPTIONAL,
+ serving-Grant-Value E-Serving-Grant-Value OPTIONAL,
+ primary-Secondary-Grant-Selector E-Primary-Secondary-Grant-Selector OPTIONAL,
+ e-RGCH-Release-Indicator E-RGCH-Release-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-FDD-DL-ControlChannelInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-FDD-DL-ControlChannelInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-RGCH-E-HICH-ChannelisationCodeValidityIndicator CRITICALITY ignore EXTENSION E-RGCH-E-HICH-ChannelisationCodeValidityIndicator PRESENCE optional }|
+ { ID id-Default-Serving-Grant-in-DTX-Cycle2 CRITICALITY ignore EXTENSION E-Serving-Grant-Value PRESENCE optional }|
+ { ID id-UL-MIMO-DL-Control-Channel-Information CRITICALITY ignore EXTENSION UL-MIMO-DL-Control-Channel-Information PRESENCE optional },
+ ...
+}
+E-RGCH-E-HICH-ChannelisationCodeValidityIndicator ::= ENUMERATED {
+ e-RGCH-E-HICH-Channelisation-Code-response-not-valid
+}
+
+EDCH-FDD-Information ::= SEQUENCE {
+ eDCH-MACdFlows-Information EDCH-MACdFlows-Information,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ e-DCH-Maximum-Bitrate E-DCH-Maximum-Bitrate OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-Reference-Power-Offset E-DCH-Reference-Power-Offset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-FDD-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-FDD-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-PowerOffset-for-SchedulingInfo CRITICALITY ignore EXTENSION E-DCH-PowerOffset-for-SchedulingInfo PRESENCE optional}|
+ { ID id-SixteenQAM-UL-Operation-Indicator CRITICALITY reject EXTENSION SixteenQAM-UL-Operation-Indicator PRESENCE optional}|
+ { ID id-E-AGCH-Table-Choice CRITICALITY ignore EXTENSION E-AGCH-Table-Choice PRESENCE conditional}|
+ -- The IE shall be present if the SixteenQAM UL Operation Indicator IE is set to “Activate”—
+ { ID id-SixtyfourQAM-UL-Operation-Indicator CRITICALITY reject EXTENSION SixtyfourQAM-UL-Operation-Indicator PRESENCE optional}|
+ { ID id-UL-MIMO-Information CRITICALITY reject EXTENSION UL-MIMO-Information PRESENCE optional}|
+ { ID id-UPH-Filtering-Measurement-Forwarding-Request CRITICALITY reject EXTENSION UPH-Filtering-Measurement-Forwarding-Request PRESENCE optional},
+ ...
+}
+
+UPH-Filtering-Measurement-Forwarding-Request ::= ENUMERATED {
+ requested,
+ notRequested
+}
+
+EDCH-FDD-InformationResponse ::= SEQUENCE {
+ eDCH-MACdFlow-Specific-InformationResponse EDCH-MACdFlow-Specific-InformationResponse,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-FDD-InformationResponse-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-FDD-InformationResponse-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Fast-TTI-switching-Mode-Supported CRITICALITY reject EXTENSION Fast-TTI-switching-Mode-Supported PRESENCE optional}, ...
+}
+
+
+EDCH-MACdFlow-Specific-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF EDCH-MACdFlow-Specific-InformationResponseItem
+
+EDCH-MACdFlow-Specific-InformationResponseItem ::= SEQUENCE {
+ eDCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ hARQ-Process-Allocation-NonSched-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EDCH-MACdFlow-Specific-InformationResponseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDCH-MACdFlow-Specific-InformationResponseItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportBearerNotSetupIndicator CRITICALITY ignore EXTENSION TransportBearerNotSetupIndicator PRESENCE optional}, -- FDD only
+ ...
+}
+
+EDCH-FDD-Information-To-Modify ::= SEQUENCE {
+ eDCH-MACdFlow-Specific-Information EDCH-MACdFlow-Specific-InfoToModifyList,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ e-DCH-Maximum-Bitrate E-DCH-Maximum-Bitrate OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-Reference-Power-Offset E-DCH-Reference-Power-Offset OPTIONAL,
+ mACeReset-Indicator MACeReset-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-FDD-Information-To-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-FDD-Information-To-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-E-DCH-PowerOffset-for-SchedulingInfo CRITICALITY ignore EXTENSION E-DCH-PowerOffset-for-SchedulingInfo PRESENCE optional}|
+{ ID id-SixteenQAM-UL-Operation-Indicator CRITICALITY reject EXTENSION SixteenQAM-UL-Operation-Indicator PRESENCE optional}|
+{ ID id-E-DCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION E-DCH-MACdPDUSizeFormat PRESENCE optional}|
+{ ID id-E-DCH-DL-Control-Channel-Grant-Information CRITICALITY ignore EXTENSION E-DCH-DL-Control-Channel-Grant-Information PRESENCE optional}|
+{ ID id-E-AGCH-Table-Choice CRITICALITY ignore EXTENSION E-AGCH-Table-Choice PRESENCE conditional}|
+-- The IE shall be present if the SixteenQAM UL Operation Indicator IE is set to “Activate”—
+{ ID id-SixtyfourQAM-UL-Operation-Indicator CRITICALITY reject EXTENSION SixtyfourQAM-UL-Operation-Indicator PRESENCE optional}|
+{ ID id-UL-MIMO-Information CRITICALITY reject EXTENSION UL-MIMO-Information PRESENCE optional}|
+{ ID id-Fast-TTI-switching-Mode-synchronized CRITICALITY reject EXTENSION Fast-TTI-switching-Mode-synchronized PRESENCE optional}|
+{ ID id-Fast-TTI-switching-Mode-unsynchronized CRITICALITY reject EXTENSION Fast-TTI-switching-Mode-unsynchronized PRESENCE optional},
+...
+}
+
+E-DCH-FDD-Update-Information ::= SEQUENCE {
+ e-DCH-MACdFlow-Specific-UpdateInformation E-DCH-MACdFlow-Specific-UpdateInformation OPTIONAL,
+ hARQ-Process-Allocation-Scheduled-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-FDD-Update-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-FDD-Update-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-DL-Control-Channel-Change-Information CRITICALITY ignore EXTENSION E-DCH-DL-Control-Channel-Change-Information PRESENCE optional}|
+ { ID id-TTI-Update-Indicator CRITICALITY ignore EXTENSION TTI-Update-Indicator PRESENCE optional},
+ ...
+}
+
+
+E-DCH-MACdFlow-Specific-UpdateInformation ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-Specific-UpdateInformation-Item
+
+E-DCH-MACdFlow-Specific-UpdateInformation-Item ::= SEQUENCE {
+ e-DCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ hARQ-Process-Allocation-NonSched-2ms-EDCH HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlow-Specific-UpdateInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-Specific-UpdateInformation-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-DL-Control-Channel-Change-Information ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF E-DCH-DL-Control-Channel-Change-Information-Item
+
+E-DCH-DL-Control-Channel-Change-Information-Item ::= SEQUENCE {
+ e-DCH-RL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-DL-Control-Channel-Change-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-DL-Control-Channel-Change-Information-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-DL-Control-Channel-Grant-Information ::= SEQUENCE (SIZE (1..maxNrOfEDCHRLs)) OF E-DCH-DL-Control-Channel-Grant-Information-Item
+
+E-DCH-DL-Control-Channel-Grant-Information-Item ::= SEQUENCE {
+ e-DCH-RL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-DL-Control-Channel-Grant-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-DL-Control-Channel-Grant-Information-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+E-DCH-Grant-Type-Information ::= CHOICE {
+ e-DCH-Non-Scheduled-Transmission-Grant E-DCH-Non-Scheduled-Transmission-Grant-Items,
+ e-DCH-Scheduled-Transmission-Grant NULL,
+ ...
+}
+
+E-DCH-HARQ-PO-FDD ::= INTEGER (0.. maxNrOfEDCH-HARQ-PO-QUANTSTEPs)
+
+
+E-DCH-LogicalChannelInformation ::= SEQUENCE (SIZE (1..maxNoOfLogicalChannels)) OF E-DCH-LogicalChannelInformationItem
+
+E-DCH-LogicalChannelInformationItem ::= SEQUENCE {
+ logicalChannelId LogicalChannelID,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ schedulingInformation SchedulingInformation,
+ mACes-GuaranteedBitRate MACes-Guaranteed-Bitrate OPTIONAL,
+ eDCH-DDI-Value EDCH-DDI-Value,
+ mACd-PDU-Size-List E-DCH-MACdPDU-SizeList,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LogicalChannelInformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-LogicalChannelInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional}|
+ { ID id-MACes-Maximum-Bitrate-LCR CRITICALITY ignore EXTENSION MACes-Maximum-Bitrate-LCR PRESENCE optional}| --1.28Mcps TDD only
+ { ID id-UE-AggregateMaximumBitRate-Enforcement-Indicator CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate-Enforcement-Indicator PRESENCE optional},
+ ...
+}
+
+E-DCH-Maximum-Bitrate ::= INTEGER (0..5742,...,5743..11498|11499..34507)
+
+E-DCH-PowerOffset-for-SchedulingInfo ::= INTEGER (0.. maxNrOfEDCH-HARQ-PO-QUANTSTEPs)
+
+E-DCH-Processing-Overload-Level ::= INTEGER (0..10,...)
+
+E-DCH-Reference-Power-Offset ::= INTEGER (0.. maxNrOfEDCH-HARQ-PO-QUANTSTEPs)
+
+E-DCH-MACdPDU-SizeList ::= SEQUENCE (SIZE (1..maxNrOfMACdPDUSize)) OF E-DCH-MACdPDU-SizeListItem
+
+E-DCH-MACdPDU-SizeListItem ::= SEQUENCE {
+ mACdPDU-Size MACdPDU-Size,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdPDU-SizeListItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdPDU-SizeListItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-MACdPDUSizeFormat ::= ENUMERATED {
+ fixedMACdPDU-Size,
+ flexibleMACdPDU-Size
+}
+
+
+
+E-DCH-LogicalChannelToModify ::= SEQUENCE (SIZE (1..maxNoOfLogicalChannels)) OF E-DCH-LogicalChannelToModifyItem
+
+E-DCH-LogicalChannelToModifyItem ::= SEQUENCE {
+ logicalChannelId LogicalChannelID,
+ schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
+ schedulingInformation SchedulingInformation OPTIONAL,
+ mACes-GuaranteedBitRate MACes-Guaranteed-Bitrate OPTIONAL,
+ eDCH-DDI-Value EDCH-DDI-Value OPTIONAL,
+ mACd-PDU-Size-List E-DCH-MACdPDU-SizeToModifyList,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LogicalChannelToModifyItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-LogicalChannelToModifyItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional}|
+ { ID id-MACes-Maximum-Bitrate-LCR CRITICALITY ignore EXTENSION MACes-Maximum-Bitrate-LCR PRESENCE optional},--1.28Mcps TDD only
+ ...
+}
+
+E-DCH-MACdPDU-SizeToModifyList ::= SEQUENCE (SIZE (0..maxNrOfMACdPDUSize)) OF E-DCH-MACdPDU-SizeListItem
+
+
+
+E-DCH-LogicalChannelToDelete ::= SEQUENCE (SIZE (1..maxNoOfLogicalChannels)) OF E-DCH-LogicalChannelToDeleteItem
+
+E-DCH-LogicalChannelToDeleteItem ::= SEQUENCE {
+ logicalChannelId LogicalChannelID,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LogicalChannelToDeleteItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-LogicalChannelToDeleteItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LogicalChannelID ::= INTEGER (1..15)
+
+
+
+EDCH-MACdFlow-ID ::= INTEGER (0..maxNrOfEDCHMACdFlows-1)
+EDCH-MACdFlow-ID-LCR ::= INTEGER (0..maxNrOfEDCHMACdFlowsLCR-1)
+
+EDCH-MACdFlows-Information ::= SEQUENCE {
+ eDCH-MACdFlow-Specific-Information EDCH-MACdFlow-Specific-InfoList,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-MACdFlow-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-Multiplexing-List ::= BIT STRING ( SIZE(maxNrOfEDCHMACdFlows) )
+
+EDCH-MACdFlow-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-MACdFlow-Specific-InfoList ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF EDCH-MACdFlow-Specific-InfoItem
+
+EDCH-MACdFlow-Specific-InfoItem ::= SEQUENCE {
+ eDCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ tnlQoS TnlQos OPTIONAL,
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
+ maxNr-Retransmissions-EDCH MaxNr-Retransmissions-EDCH,
+ trafficClass TrafficClass,
+ eDCH-HARQ-PO-FDD E-DCH-HARQ-PO-FDD,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ eDCH-Grant-Type-Information E-DCH-Grant-Type-Information OPTIONAL,
+ bundlingModeIndicator BundlingModeIndicator OPTIONAL,
+ eDCHLogicalChannelInformation E-DCH-LogicalChannelInformation,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-MACdFlow-Specific-InfoItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-MACdFlow-Specific-InfoItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TrCH-SrcStatisticsDescr CRITICALITY ignore EXTENSION TrCH-SrcStatisticsDescr PRESENCE optional },
+ ...
+}
+
+EDCH-MACdFlow-Specific-InfoToModifyList ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF EDCH-MACdFlow-Specific-InfoToModifyItem
+
+EDCH-MACdFlow-Specific-InfoToModifyItem ::= SEQUENCE {
+ eDCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ tnlQoS TnlQos OPTIONAL,
+ maxNr-Retransmissions-EDCH MaxNr-Retransmissions-EDCH OPTIONAL,
+ trafficClass TrafficClass OPTIONAL,
+ eDCH-HARQ-PO-FDD E-DCH-HARQ-PO-FDD OPTIONAL,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ eDCH-Grant-Type-Information E-DCH-Grant-Type-Information OPTIONAL,
+ bundlingModeIndicator BundlingModeIndicator OPTIONAL,
+ eDCH-LogicalChannelToAdd E-DCH-LogicalChannelInformation OPTIONAL,
+ eDCH-LogicalChannelToModify E-DCH-LogicalChannelToModify OPTIONAL,
+ eDCH-LogicalChannelToDelete E-DCH-LogicalChannelToDelete OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-MACdFlow-Specific-InfoToModifyItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-MACdFlow-Specific-InfoToModifyItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-MACdFlows-To-Delete ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF EDCH-MACdFlows-To-Delete-Item
+
+EDCH-MACdFlows-To-Delete-Item ::= SEQUENCE {
+ eDCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-MACdFlows-To-Delete-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDCH-MACdFlows-To-Delete-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-RL-Indication ::= ENUMERATED {
+ eDCH,
+ non-EDCH
+}
+
+E-DCH-Non-Scheduled-Transmission-Grant-Items ::= SEQUENCE {
+ -- The following IE shall be ignored if id-Ext-Max-Bits-MACe-PDU-non-scheduled is present in E-DCH-Non-Scheduled-Transmission-Grant-Items-ExtIEs
+ maxBits-MACe-PDU-non-scheduled Max-Bits-MACe-PDU-non-scheduled,
+ hARQ-Process-Allocation-NonSched-2ms HARQ-Process-Allocation-2ms-EDCH OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Non-Scheduled-Transmission-Grant-Items-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-Non-Scheduled-Transmission-Grant-Items-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ -- The following IE shall be present if the maximum number of bits to be signalled exceeds maxNrOfBits-MACe-PDU-non-scheduled
+ { ID id-Ext-Max-Bits-MACe-PDU-non-scheduled CRITICALITY reject EXTENSION Ext-Max-Bits-MACe-PDU-non-scheduled PRESENCE optional},
+ ...
+}
+
+E-DCH-TFCI-Table-Index ::= INTEGER (0..1,...,2..7)
+
+E-DCH-Serving-cell-change-informationResponse ::= SEQUENCE {
+ e-DCH-serving-cell-outcome-choice E-DCH-serving-cell-change-choice,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-serving-cell-change-informationResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-serving-cell-change-informationResponse-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-serving-cell-change-choice ::= CHOICE {
+ e-DCH-serving-cell-change-successful E-DCH-serving-cell-change-successful,
+ e-DCH-serving-cell-change-unsuccessful E-DCH-serving-cell-change-unsuccessful,
+ ...
+}
+
+E-DCH-serving-cell-change-successful ::= SEQUENCE {
+ e-DCH-RL-InformationList-Rsp E-DCH-RL-InformationList-Rsp,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-serving-cell-change-successful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-serving-cell-change-successful-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-RL-InformationList-Rsp ::= SEQUENCE (SIZE (0..maxNrOfRLs)) OF E-DCH-RL-InformationList-Rsp-Item
+
+E-DCH-RL-InformationList-Rsp-Item ::= SEQUENCE {
+ e-DCH-reconfigured-RL-Id RL-ID,
+ e-DCH-FDD-DL-Control-Channel-Info EDCH-FDD-DL-ControlChannelInformation,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-RL-InformationList-Rsp-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-RL-InformationList-Rsp-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+E-DCH-serving-cell-change-unsuccessful ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-serving-cell-change-unsuccessful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-serving-cell-change-unsuccessful-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TTI-Length ::= CHOICE {
+ two-ms DTX-Cycle-2ms-Items,
+ ten-ms DTX-Cycle-10ms-Items,
+ ...
+}
+
+E-DCH-TTI-Length-to-Modify ::= CHOICE {
+ two-ms DTX-Cycle-2ms-to-Modify-Items,
+ ten-ms DTX-Cycle-10ms-to-Modify-Items,
+ ...
+}
+
+EDPCH-Information-FDD ::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs,
+ punctureLimit PunctureLimit,
+ e-TFCS-Information E-TFCS-Information,
+ e-TTI E-TTI,
+ e-DPCCH-PO E-DPCCH-PO,
+ e-RGCH-2-IndexStepThreshold E-RGCH-2-IndexStepThreshold,
+ e-RGCH-3-IndexStepThreshold E-RGCH-3-IndexStepThreshold,
+ hARQ-Info-for-E-DCH HARQ-Info-for-E-DCH,
+ hSDSCH-Configured-Indicator HSDSCH-Configured-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { EDPCH-Information-FDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDPCH-Information-FDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MinimumReducedE-DPDCH-GainFactor CRITICALITY ignore EXTENSION MinimumReducedE-DPDCH-GainFactor PRESENCE optional },
+ ...
+}
+
+EDPCH-Information-RLReconfPrepare-FDD ::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs OPTIONAL,
+ punctureLimit PunctureLimit OPTIONAL,
+ e-TFCS-Information E-TFCS-Information OPTIONAL,
+ e-TTI E-TTI OPTIONAL,
+ e-DPCCH-PO E-DPCCH-PO OPTIONAL,
+ e-RGCH-2-IndexStepThreshold E-RGCH-2-IndexStepThreshold OPTIONAL,
+ e-RGCH-3-IndexStepThreshold E-RGCH-3-IndexStepThreshold OPTIONAL,
+ hARQ-Info-for-E-DCH HARQ-Info-for-E-DCH OPTIONAL,
+ hSDSCH-Configured-Indicator HSDSCH-Configured-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDPCH-Information-RLReconfPrepare-FDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDPCH-Information-RLReconfPrepare-FDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MinimumReducedE-DPDCH-GainFactor CRITICALITY ignore EXTENSION MinimumReducedE-DPDCH-GainFactor PRESENCE optional },
+ ...
+}
+
+EDPCH-Information-RLReconfRequest-FDD ::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs OPTIONAL,
+ punctureLimit PunctureLimit OPTIONAL,
+ e-TFCS-Information E-TFCS-Information OPTIONAL,
+ e-TTI E-TTI OPTIONAL,
+ e-DPCCH-PO E-DPCCH-PO OPTIONAL,
+ e-RGCH-2-IndexStepThreshold E-RGCH-2-IndexStepThreshold OPTIONAL,
+ e-RGCH-3-IndexStepThreshold E-RGCH-3-IndexStepThreshold OPTIONAL,
+ hARQ-Info-for-E-DCH HARQ-Info-for-E-DCH OPTIONAL,
+ hSDSCH-Configured-Indicator HSDSCH-Configured-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { EDPCH-Information-RLReconfRequest-FDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+EDPCH-Information-RLReconfRequest-FDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MinimumReducedE-DPDCH-GainFactor CRITICALITY ignore EXTENSION MinimumReducedE-DPDCH-GainFactor PRESENCE optional },
+ ...
+}
+
+E-DPCCH-PO ::= INTEGER (0..maxNrOfEDPCCH-PO-QUANTSTEPs)
+
+Extended-E-DPCCH-PO ::= INTEGER (9..15)
+
+E-DPDCH-PowerInterpolation ::= BOOLEAN
+
+E-Primary-Secondary-Grant-Selector ::= ENUMERATED {
+ primary,
+ secondary
+}
+
+EHICH-SignatureSequence ::= INTEGER (0..maxNrofSigSeqERGHICH-1)
+
+
+E-RGCH-Release-Indicator ::= ENUMERATED {e-RGCHreleased}
+
+ERGCH-SignatureSequence ::= INTEGER (0..maxNrofSigSeqERGHICH-1)
+
+E-Serving-Grant-Value ::= INTEGER (0..38)
+
+E-RGCH-2-IndexStepThreshold ::= INTEGER (0..37)
+
+E-RGCH-3-IndexStepThreshold ::= INTEGER (0..37)
+
+
+EDCH-Serving-RL ::= CHOICE {
+ e-DCH-Serving-RL-in-this-DRNS EDCH-Serving-RL-in-this-DRNS,
+ e-DCH-Serving-RL-not-in-this-DRNS NULL,
+ ...
+}
+
+EDCH-Serving-RL-in-this-DRNS ::= SEQUENCE {
+ e-DCH-Serving-RL-Id RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-Serving-RL-in-this-DRNS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDCH-Serving-RL-in-this-DRNS-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Enhanced-FACH-Information-ResponseFDD ::= SEQUENCE {
+ common-HS-DSCH-RNTI-priorityQueueInfo-EnhancedFACH PriorityQueue-InfoList-EnhancedFACH-PCH,
+ dedicated-HS-DSCH-RNTI-priorityQueueInfo-EnhancedFACH PriorityQueue-InfoList-EnhancedFACH-PCH,
+ priorityQueueInfo-EnhancedPCH PriorityQueue-InfoList-EnhancedFACH-PCH OPTIONAL,
+ hSDSCH-Initial-Capacity-Allocation HSDSCH-Initial-Capacity-Allocation,
+ hSDSCH-RNTI HSDSCH-RNTI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Enhanced-FACH-Information-ResponseFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Enhanced-FACH-Information-ResponseFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Enhanced-FACH-Information-ResponseLCR ::= SEQUENCE {
+ common-HS-DSCH-RNTI-priorityQueueInfo-EnhancedFACH PriorityQueue-InfoList-EnhancedFACH-PCH,
+ dedicated-HS-DSCH-RNTI-priorityQueueInfo-EnhancedFACH PriorityQueue-InfoList-EnhancedFACH-PCH,
+ priorityQueueInfo-EnhancedPCH PriorityQueue-InfoList-EnhancedFACH-PCH OPTIONAL,
+ hSDSCH-Initial-Capacity-Allocation HSDSCH-Initial-Capacity-Allocation,
+ hSDSCH-RNTI HSDSCH-RNTI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Enhanced-FACH-Information-ResponseLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Enhanced-FACH-Information-ResponseLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Enhanced-FACH-Support-Indicator ::= NULL
+
+EnhancedHSServingCC-Abort ::= ENUMERATED {abortEnhancedHSServingCC,...}
+
+
+Enhanced-PCH-Capability ::= ENUMERATED {
+ enhanced-pch-capable,
+ enhanced-pch-not-capable
+}
+
+
+E-RNTI ::= INTEGER (0..65535)
+
+E-ROCH-PowerOffset ::= INTEGER(0..255,...)
+
+E-TFCI ::= INTEGER (0..127)
+
+E-TFCI-BetaEC-Boost ::= INTEGER (0..127,...)
+
+
+E-TFCI-Boost-Information ::= SEQUENCE {
+ e-TFCI-BetaEC-Boost E-TFCI-BetaEC-Boost,
+ uL-Delta-T2TP UL-Delta-T2TP OPTIONAL,
+ -- This IE shall be present if the E-TFCI BetaEC Boost IE value is not set to 127.
+ iE-Extensions ProtocolExtensionContainer { { E-TFCI-Boost-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-TFCI-Boost-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-TFCS-Information ::= SEQUENCE {
+ e-DCH-TFCI-Table-Index E-DCH-TFCI-Table-Index,
+ e-DCH-Min-Set-E-TFCI E-TFCI,
+ reference-E-TFCI-Information Reference-E-TFCI-Information,
+ iE-Extensions ProtocolExtensionContainer { {E-TFCS-Information-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+E-TFCS-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-Minimum-Set-E-TFCIValidityIndicator CRITICALITY reject EXTENSION E-DCH-Minimum-Set-E-TFCIValidityIndicator PRESENCE optional}|
+ { ID id-E-TFCI-Boost-Information CRITICALITY reject EXTENSION E-TFCI-Boost-Information PRESENCE optional}|
+ { ID id-E-DPDCH-PowerInterpolation CRITICALITY reject EXTENSION E-DPDCH-PowerInterpolation PRESENCE optional},
+ ...
+}
+
+E-DCH-Minimum-Set-E-TFCIValidityIndicator ::= ENUMERATED {
+ e-DCH-Minimum-Set-E-TFCI-response-not-valid
+}
+
+E-TTI ::= ENUMERATED {
+ tti10,
+ tti2
+-- 10ms TTI, 2ms TTI
+}
+
+E-AGCH-PowerOffset ::= INTEGER (0..255,...)
+-- PowerOffset = -32 + offset * 0.25
+-- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
+
+E-RGCH-PowerOffset ::= INTEGER (0..255,...)
+-- PowerOffset = -32 + offset * 0.25
+-- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
+
+E-HICH-PowerOffset ::= INTEGER (0..255,...)
+-- PowerOffset = -32 + offset * 0.25
+-- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
+
+Enhanced-PrimaryCPICH-EcNo ::= INTEGER (0..49)
+
+EventA ::= SEQUENCE {
+ measurementTreshold MeasurementThreshold,
+ measurementHysteresisTime MeasurementHysteresisTime OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EventA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventA-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EventB ::= SEQUENCE {
+ measurementTreshold MeasurementThreshold,
+ measurementHysteresisTime MeasurementHysteresisTime OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EventB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventB-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+EventC ::= SEQUENCE {
+ measurementIncreaseDecreaseThreshold MeasurementIncreaseDecreaseThreshold,
+ measurementChangeTime MeasurementChangeTime,
+ iE-Extensions ProtocolExtensionContainer { {EventC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventC-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EventD ::= SEQUENCE {
+ measurementIncreaseDecreaseThreshold MeasurementIncreaseDecreaseThreshold,
+ measurementChangeTime MeasurementChangeTime,
+ iE-Extensions ProtocolExtensionContainer { {EventD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EventE ::= SEQUENCE {
+ measurementThreshold1 MeasurementThreshold,
+ measurementThreshold2 MeasurementThreshold OPTIONAL,
+ measurementHysteresisTime MeasurementHysteresisTime OPTIONAL,
+ reportPeriodicity ReportPeriodicity OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EventE-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventE-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EventF ::= SEQUENCE {
+ measurementThreshold1 MeasurementThreshold,
+ measurementThreshold2 MeasurementThreshold OPTIONAL,
+ measurementHysteresisTime MeasurementHysteresisTime OPTIONAL,
+ reportPeriodicity ReportPeriodicity OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EventF-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventF-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EventH ::= SEQUENCE {
+ measurementThreshold1 MeasurementThreshold,
+ measurementThreshold2 MeasurementThreshold OPTIONAL,
+ measurementHysteresisTime MeasurementHysteresisTime OPTIONAL,
+ reportPeriodicity ReportPeriodicity OPTIONAL,
+ measurementFluctuationRange INTEGER (0..100) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EventH-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventH-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Event1F-Parameters ::= SEQUENCE {
+ measurementQuantity MeasurementQuantity,
+ threshold INTEGER(-120..165),
+ ...
+}
+
+Event1I-Parameters ::= SEQUENCE {
+ threshold INTEGER(-120..-25),
+ ...
+}
+
+ExtendedGSMCellIndividualOffset ::= INTEGER (-50..-11|11..50)
+
+E-DCH-Information ::= SEQUENCE {
+ e-PUCH-Information E-PUCH-Information,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD,
+ e-DCH-MACdFlows-Information-TDD E-DCH-MACdFlows-Information-TDD,
+ e-DCH-TDD-Information E-DCH-TDD-Information,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-PUCH-Information ::= SEQUENCE {
+ minCR CodeRate,
+ maxCR CodeRate,
+ harqInfo HARQ-Info-for-E-DCH,
+ n-E-UCCH N-E-UCCH,
+ iE-Extensions ProtocolExtensionContainer { { E-PUCH-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-PUCH-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-TFCS-Information-TDD ::= SEQUENCE {
+ e-DCH-QPSK-RefBetaInfo E-DCH-QPSK-RefBetaInfo,
+ e-DCH-sixteenQAM-RefBetaInfo E-DCH-sixteenQAM-RefBetaInfo,
+ iE-Extensions ProtocolExtensionContainer { { E-TFCS-Information-TDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-TFCS-Information-TDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-QPSK-RefBetaInfo ::= SEQUENCE (SIZE (1..maxNrOfRefBetas)) OF E-DCH-RefBeta-Item
+
+E-DCH-sixteenQAM-RefBetaInfo ::= SEQUENCE (SIZE (1..maxNrOfRefBetas)) OF E-DCH-RefBeta-Item
+
+E-DCH-RefBeta-Item ::= SEQUENCE {
+ refCodeRate CodeRate-short,
+ refBeta RefBeta
+}
+
+E-DCH-MACdFlows-Information-TDD ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-InfoTDDItem
+
+E-DCH-MACdFlow-InfoTDDItem ::= SEQUENCE {
+ e-DCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority,
+ tnlQos TnlQos OPTIONAL,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
+ maximum-Number-of-Retransmissions-For-E-DCH MaxNr-Retransmissions-EDCH,
+ eDCH-HARQ-PO-TDD E-DCH-HARQ-PO-TDD,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ eDCH-Grant-TypeTDD E-DCH-Grant-TypeTDD,
+ eDCHLogicalChannelInformation E-DCH-LogicalChannelInformation,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-MACdFlow-InfoTDDItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-InfoTDDItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-eDCH-MACdFlow-Retransmission-Timer-LCR CRITICALITY ignore EXTENSION E-DCH-MACdFlow-Retransmission-Timer-LCR PRESENCE optional}|
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE mandatory},
+ ...
+}
+
+
+E-DCH-MACdFlow-Retransmission-Timer-LCR ::= ENUMERATED {
+ms10, ms15, ms20, ms25, ms30, ms35, ms40, ms45, ms50, ms55, ms60, ms65, ms70, ms75, ms80, ms85, ms90,
+ms95, ms100, ms110, ms120, ms140, ms160, ms200, ms240, ms280, ms320, ms400, ms480, ms560,...
+}
+
+E-DCH-HARQ-PO-TDD ::= INTEGER (0..6)
+
+E-DCH-Grant-TypeTDD ::= ENUMERATED {
+ scheduled,
+ non-scheduled
+}
+
+E-DCH-TimeslotResource ::= BIT STRING (SIZE (13))
+
+E-DCH-PowerResource ::= INTEGER(1..32)
+
+TddE-PUCH-Offset ::= INTEGER(0..255)
+
+E-DCH-TDD-Information ::= SEQUENCE {
+ e-DCH-TDD-Maximum-Bitrate E-DCH-TDD-Maximum-Bitrate OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-PowerOffset-for-SchedulingInfo E-DCH-PowerOffset-for-SchedulingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-TDD-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-TDD-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TDD-Maximum-Bitrate ::= INTEGER (0..9201,...)
+
+E-DCH-Information-Reconfig ::= SEQUENCE {
+ e-PUCH-Information E-PUCH-Information OPTIONAL,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Add E-DCH-MACdFlows-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Delete EDCH-MACdFlows-To-Delete OPTIONAL,
+ e-DCH-Non-Scheduled-Grant-Info E-DCH-Non-Scheduled-Grant-Info OPTIONAL,
+ e-DCH-TDD-Information E-DCH-TDD-Information OPTIONAL,
+ e-DCH-TDD-Information-to-Modify E-DCH-TDD-Information-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Information-Reconfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-Information-Reconfig-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TDD-Information-to-Modify ::= SEQUENCE {
+ e-DCH-TDD-Information-to-Modify-List E-DCH-TDD-Information-to-Modify-List OPTIONAL,
+ mACeReset-Indicator MACeReset-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-TDD-Information-to-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-TDD-Information-to-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION E-DCH-MACdPDUSizeFormat PRESENCE optional}|
+ { ID id-UE-TS0-CapabilityLCR CRITICALITY ignore EXTENSION UE-TS0-CapabilityLCR PRESENCE optional},
+ ...
+}
+E-DCH-TDD-Information-to-Modify-List ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-MACdFlow-ModifyTDDItem
+
+E-DCH-MACdFlow-ModifyTDDItem ::= SEQUENCE {
+ e-DCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ tnlQos TnlQos OPTIONAL,
+ maximum-Number-of-Retransmissions-For-E-DCH MaxNr-Retransmissions-EDCH OPTIONAL,
+ eDCH-HARQ-PO-TDD E-DCH-HARQ-PO-TDD OPTIONAL,
+ eDCH-MACdFlow-Multiplexing-List E-DCH-MACdFlow-Multiplexing-List OPTIONAL,
+ eDCH-Grant-TypeTDD E-DCH-Grant-TypeTDD OPTIONAL,
+ e-DCH-LogicalChannelToAdd E-DCH-LogicalChannelInformation OPTIONAL,
+ e-DCH-LogicalChannelToModify E-DCH-LogicalChannelToModify OPTIONAL,
+ e-DCH-LogicalChannelToDelete E-DCH-LogicalChannelToDelete OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-DCH-MACdFlow-ModifyTDDItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-MACdFlow-ModifyTDDItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-eDCH-MACdFlow-Retransmission-Timer-LCR CRITICALITY ignore EXTENSION E-DCH-MACdFlow-Retransmission-Timer-LCR PRESENCE optional}|
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE optional},
+ ...
+}
+
+E-DCH-Information-Response ::= SEQUENCE {
+ e-DCH-TDD-MACdFlow-Specific-InformationResp E-DCH-TDD-MACdFlow-Specific-InformationResp OPTIONAL,
+ e-AGCH-Specific-Information-ResponseTDD E-AGCH-Specific-InformationRespListTDD OPTIONAL,
+ e-HICH-Information-Response E-HICH-InformationResp OPTIONAL,
+ e-DCH-Non-Scheduled-Grant-Info E-DCH-Non-Scheduled-Grant-Info OPTIONAL,
+ e-RNTI E-RNTI,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Information-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ActivationDelay ::= ENUMERATED {v0, v1, v2, v3, v4, v5, ...}
+
+Fast-TTI-switching-Mode-synchronized ::= CHOICE {
+ mode1 Mode1-Ind,
+ mode2 CFN
+}
+
+Mode1-Ind ::= NULL
+
+Fast-TTI-switching-Mode-unsynchronized ::= CHOICE {
+ mode1 ActivationDelay,
+ mode2 CFN
+}
+
+Fast-TTI-switching-Mode-Supported ::= ENUMERATED {mode1, mode2}
+
+E-DCH-TDD-MACdFlow-Specific-InformationResp ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF E-DCH-TDD-MACdFlow-Specific-InformationResp-Item
+
+E-DCH-TDD-MACdFlow-Specific-InformationResp-Item ::= SEQUENCE {
+ e-DCH-MacdFlow-Id EDCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-TDD-MACdFlow-Specific-InformationRespItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-TDD-MACdFlow-Specific-InformationRespItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-Specific-InformationRespListTDD ::= SEQUENCE (SIZE (1..maxNrOfEAGCHCodes)) OF E-AGCH-Specific-InformationResp-ItemTDD
+
+E-AGCH-Specific-InformationResp-ItemTDD ::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-Specific-InformationResp-ItemTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-AGCH-Specific-InformationResp-ItemTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-InformationResp::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ e-HICH-TimeOffset E-HICH-TimeOffset,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-InformationResp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-HICH-InformationResp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-TimeOffset ::= INTEGER (4..44)
+
+E-DCH-Non-Scheduled-Grant-Info ::= SEQUENCE {
+ timeslotResource E-DCH-TimeslotResource,
+ powerResource E-DCH-PowerResource,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tddE-PUCH-Offset TddE-PUCH-Offset,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Non-Scheduled-Grant-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Non-Scheduled-Grant-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-DCH-768-Information ::= SEQUENCE {
+ e-PUCH-Information E-PUCH-Information,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD,
+ e-DCH-MACdFlows-Information-TDD E-DCH-MACdFlows-Information-TDD,
+ e-DCH-TDD-Information768 E-DCH-TDD-Information768,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-768-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-768-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TDD-Information768 ::= SEQUENCE {
+ e-DCH-TDD-Maximum-Bitrate768 E-DCH-TDD-Maximum-Bitrate768 OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-PowerOffset-for-SchedulingInfo E-DCH-PowerOffset-for-SchedulingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-TDD-Information768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-TDD-Information768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-TDD-Maximum-Bitrate768 ::= INTEGER (0..17713,...)
+
+E-DCH-768-Information-Reconfig ::= SEQUENCE {
+ e-PUCH-Information E-PUCH-Information OPTIONAL,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Add E-DCH-MACdFlows-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Delete EDCH-MACdFlows-To-Delete OPTIONAL,
+ e-DCH-Non-Scheduled-Grant-Info768 E-DCH-Non-Scheduled-Grant-Info768 OPTIONAL,
+ e-DCH-TDD-Information768 E-DCH-TDD-Information768 OPTIONAL,
+ e-DCH-TDD-Information-to-Modify E-DCH-TDD-Information-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-768-Information-Reconfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-768-Information-Reconfig-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+E-DCH-768-Information-Response ::= SEQUENCE {
+ e-DCH-TDD-MACdFlow-Specific-InformationResp E-DCH-TDD-MACdFlow-Specific-InformationResp OPTIONAL,
+ e-AGCH-Specific-Information-Response768TDD E-AGCH-Specific-InformationRespList768TDD OPTIONAL,
+ e-HICH-Information-Response768 E-HICH-InformationResp768 OPTIONAL,
+ e-DCH-Non-Scheduled-Grant-Info768 E-DCH-Non-Scheduled-Grant-Info768 OPTIONAL,
+ e-RNTI E-RNTI,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-768-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-768-Information-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-Specific-InformationRespList768TDD ::= SEQUENCE (SIZE (1..maxNrOfEAGCHCodes)) OF E-AGCH-Specific-InformationResp-Item768TDD
+
+E-AGCH-Specific-InformationResp-Item768TDD ::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-Specific-InformationResp-Item768TDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-AGCH-Specific-InformationResp-Item768TDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-InformationResp768 ::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768,
+ e-HICH-TimeOffset E-HICH-TimeOffset,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-InformationResp768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-HICH-InformationResp768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-Non-Scheduled-Grant-Info768 ::= SEQUENCE {
+ timeslotResource E-DCH-TimeslotResource,
+ powerResource E-DCH-PowerResource,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tddE-PUCH-Offset TddE-PUCH-Offset,
+ tdd-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Non-Scheduled-Grant-Info768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Non-Scheduled-Grant-Info768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-LCR-Information ::= SEQUENCE {
+ e-PUCH-LCR-Information E-PUCH-LCR-Information,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD,
+ e-DCH-MACdFlows-Information-TDD E-DCH-MACdFlows-Information-TDD,
+ e-DCH-LCR-TDD-Information E-DCH-LCR-TDD-Information,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Information-LCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-Information-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-PUCH-LCR-Information ::= SEQUENCE {
+ minCR CodeRate,
+ maxCR CodeRate,
+ harqInfo HARQ-Info-for-E-DCH,
+ pRxdesBase E-PUCH-PRXdesBase,
+ e-PUCH-TPC-Step-Size TDD-TPC-UplinkStepSize-LCR,
+ n-E-UCCH-LCR N-E-UCCH-LCR,
+ iE-Extensions ProtocolExtensionContainer { { E-PUCH-Information-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-PUCH-Information-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-PUCH-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional },
+ ...
+}
+
+E-PUCH-PRXdesBase ::= INTEGER(-112..-50)
+--SETP=1
+
+E-DCH-LCR-TDD-Information ::= SEQUENCE {
+ e-DCH-Physical-Layer-Category-LCR E-DCH-Physical-Layer-Category-LCR OPTIONAL,
+ e-DCH-Processing-Overload-Level E-DCH-Processing-Overload-Level OPTIONAL,
+ e-DCH-PowerOffset-for-SchedulingInfo E-DCH-PowerOffset-for-SchedulingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-LCR-TDD-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-LCR-TDD-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-E-DCH-LCRTDD-PhysicalLayerCategory CRITICALITY reject EXTENSION Extended-E-DCH-LCRTDD-PhysicalLayerCategory PRESENCE optional}|
+ -- This IE shall be used if the E-DCH Physical Layer Category has a value larger than 5.
+ { ID id-MaximumNumber-Of-Retransmission-For-SchedulingInfo-LCRTDD CRITICALITY ignore EXTENSION MaxNr-Retransmissions-EDCH PRESENCE optional}|
+ { ID id-E-DCH-RetransmissionTimer-For-SchedulingInfo-LCRTDD CRITICALITY ignore EXTENSION E-DCH-MACdFlow-Retransmission-Timer-LCR PRESENCE optional}|
+ { ID id-E-AGCH-UE-Inactivity-Monitor-Threshold CRITICALITY ignore EXTENSION E-AGCH-UE-Inactivity-Monitor-Threshold PRESENCE optional}|
+ { ID id-SNPL-Carrier-Group-Indicator CRITICALITY reject EXTENSION SNPL-Carrier-Group-Indicator PRESENCE optional}|
+ { ID id-Multi-Carrier-E-DCH-LCRTDD-PhysicalLayerCategory CRITICALITY reject EXTENSION Multi-Carrier-E-DCH-LCRTDD-PhysicalLayerCategory PRESENCE optional}|
+ { ID id-UE-TS0-CapabilityLCR CRITICALITY ignore EXTENSION UE-TS0-CapabilityLCR PRESENCE optional},
+ ...
+}
+
+E-DCH-Physical-Layer-Category-LCR ::= INTEGER (1..5)
+
+Extended-E-DCH-LCRTDD-PhysicalLayerCategory ::= INTEGER (6,...)
+
+Multi-Carrier-E-DCH-LCRTDD-PhysicalLayerCategory ::= INTEGER (1..8,...)
+
+E-DCH-LCR-Information-Reconfig ::= SEQUENCE {
+ e-PUCH-LCR-Information E-PUCH-LCR-Information OPTIONAL,
+ e-TFCS-Information-TDD E-TFCS-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Add E-DCH-MACdFlows-Information-TDD OPTIONAL,
+ e-DCH-MACdFlows-to-Delete EDCH-MACdFlows-To-Delete OPTIONAL,
+ e-DCH-LCR-TDD-Information E-DCH-LCR-TDD-Information OPTIONAL,
+ e-DCH-TDD-Information-to-Modify E-DCH-TDD-Information-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Information-Reconfig-LCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-DCH-Information-Reconfig-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-LCR-Information-Response ::= SEQUENCE {
+ e-DCH-TDD-MACdFlow-Specific-InformationResp E-DCH-TDD-MACdFlow-Specific-InformationResp OPTIONAL,
+ e-AGCH-Specific-Information-Response-LCR-TDD E-AGCH-Specific-InformationRespList-LCR-TDD OPTIONAL,
+ e-HICH-Specific-Information-Response-LCR E-HICH-Specific-InformationResp-LCR OPTIONAL,
+ e-DCH-Non-Scheduled-Grant-Info-LCR E-DCH-Non-Scheduled-Grant-Info-LCR OPTIONAL,
+ e-RNTI E-RNTI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Information-Response-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Information-Response-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-AGCH-Specific-InformationRespList-LCR-TDD ::= SEQUENCE (SIZE (1..maxNrOfEAGCHCodes)) OF E-AGCH-Specific-InformationResp-Item-LCR-TDD
+
+E-AGCH-Specific-InformationResp-Item-LCR-TDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { E-AGCH-Specific-InformationResp-ItemTDD-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-AGCH-Specific-InformationResp-ItemTDD-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-Specific-InformationResp-LCR::= SEQUENCE {
+ e-HICH-Scheduled-InformationResp-LCR E-HICH-Scheduled-InformationRespList-LCR-TDD OPTIONAL,
+ e-HICH-non-Scheduled-InformationResp-LCR E-HICH-InformationResp-LCR OPTIONAL,
+ e-HICH-TimeOffset-lcr E-HICH-TimeOffset-LCR,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-Specific-InformationResp-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-HICH-Specific-InformationResp-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-HICH-Scheduled-InformationRespList-LCR-TDD ::= SEQUENCE (SIZE (1..maxNrOfEHICHCodes)) OF E-HICH-Scheduled-InformationResp-Item-LCR-TDD
+
+E-HICH-Scheduled-InformationResp-Item-LCR-TDD ::= SEQUENCE {
+e-HICH-EI E-HICH-EI,
+e-HICH-Scheduled-InformationResp-LCR E-HICH-InformationResp-LCR,
+iE-Extensions ProtocolExtensionContainer { { E-HICH-Scheduled-InformationResp-LCR-ExtIEs } } OPTIONAL,
+...
+}
+
+E-HICH-Scheduled-InformationResp-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-HICH-EI ::= INTEGER (0..3)
+
+E-HICH-InformationResp-LCR::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ signatureSequenceGroupIndex SignatureSequenceGroupIndex,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-InformationResp-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+
+E-HICH-InformationResp-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-HICH-TimeOffset-LCR ::= INTEGER (4..15)
+
+E-DCH-SubframeNumber-LCR ::= ENUMERATED{s0,s1}
+
+E-DCH-TimeslotResource-LCR ::= BIT STRING (SIZE (5))
+
+E-DCH-Non-Scheduled-Grant-Info-LCR ::= SEQUENCE {
+ timeslotResource-LCR E-DCH-TimeslotResource-LCR,
+ powerResource E-DCH-PowerResource,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ subframenumber E-DCH-SubframeNumber-LCR,
+ tddE-PUCH-Offset TddE-PUCH-Offset,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Non-Scheduled-Grant-Info-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Non-Scheduled-Grant-Info-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Enabling-Delay ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128}
+-- Unit radio frame
+
+
+Ext-Reference-E-TFCI-PO ::= INTEGER(30..31,...)
+
+ExtendedPropagationDelay ::= INTEGER(255..1023)
+
+Radio-Links-without-DPCH-FDPCH-Indication ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF Radio-Links-without-DPCH-FDPCH-Information
+
+Radio-Links-without-DPCH-FDPCH-Information ::= SEQUENCE {
+ rL-ID RL-ID,
+ radio-Links-without-DPCH-FDPCH-Operation-Indicator ENUMERATED {true},
+ iE-Extensions ProtocolExtensionContainer { { Radio-Links-without-DPCH-FDPCH-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Radio-Links-without-DPCH-FDPCH-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extended-RNC-ID ::= INTEGER (4096..65535)
+
+Extended-RNTI ::= INTEGER (1048576..4194303,...)
+-- From 2^20 to 2^22-1
+
+Extended-Round-Trip-Time-Value ::= INTEGER(32767..103041)
+-- See also mapping in TS 25.133 [23]
+
+Extended-S-RNTI-Group ::= SEQUENCE {
+ extended-sRNTI Extended-RNTI,
+ extended-sRNTI-BitMaskIndex ENUMERATED {
+ b1,
+ b2,
+ b3,
+ b4,
+ b5,
+ b6,
+ b7,
+ b8,
+ b9,
+ b10,
+ b11,
+ b12,
+ b13,
+ b14,
+ b15,
+ b16,
+ b17,
+ b18,
+ b19,
+ b20,
+ b21,...
+}
+}
+
+ExtendedAffectedUEInformationForMBMS ::= SEQUENCE (SIZE (0..maxNrOfUEs)) OF Extended-RNTI
+
+Ext-Max-Bits-MACe-PDU-non-scheduled ::= INTEGER(19983..22978,... ,22979..34507)
+
+E-DCH-Semi-PersistentScheduling-Information-LCR ::= SEQUENCE {
+ repetition-Period-List-LCR Repetition-Period-List-LCR,
+ e-DCH-SPS-Indicator E-DCH-SPS-Indicator,
+ e-DCH-SPS-Reservation-Indicator SPS-Reservation-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Semi-PersistentScheduling-Information-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Semi-PersistentScheduling-Information-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-SPS-Indicator ::= BIT STRING (SIZE (16))
+
+E-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR ::= SEQUENCE {
+ repetition-Period-List-LCR Repetition-Period-List-LCR OPTIONAL,
+ e-DCH-SPS-Indicator E-DCH-SPS-Indicator OPTIONAL,
+ e-DCH-SPS-Reservation-Indicator SPS-Reservation-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Semi-PersistentScheduling-Information-to-Modify-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-Semi-PersistentScheduling-Information-ResponseLCR ::= SEQUENCE {
+ initial-E-DCH-SPS-resource Initial-E-DCH-SPS-resource OPTIONAL,
+ e-DCH-SPS-HICH-Information E-DCH-SPS-HICH-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-Semi-PersistentScheduling-Information-ResponseLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-Semi-PersistentScheduling-Information-ResponseLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Initial-E-DCH-SPS-resource ::= SEQUENCE {
+ timeslot-Resource-Related-Information E-DCH-TimeslotResource-LCR,
+ powerResource E-DCH-PowerResource,
+ repetitionPeriodIndex RepetitionPeriodIndex,
+ repetitionLength RepetitionLength,
+ subframeNumber ENUMERATED {v0, v1},
+ tddE-PUCH-Offset TddE-PUCH-Offset,
+ tdd-ChannelisationCode TDD-ChannelisationCode,
+ n-E-UCCHLCR N-E-UCCH-LCR,
+ iE-Extensions ProtocolExtensionContainer { { Initial-E-DCH-SPS-resource-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Initial-E-DCH-SPS-resource-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-DCH-SPS-HICH-Information ::= SEQUENCE {
+ e-HICH-Configuration E-HICH-Configuration,
+ signatureSequenceGroupIndex SignatureSequenceGroupIndex,
+ iE-Extensions ProtocolExtensionContainer { { E-DCH-SPS-HICH-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-DCH-SPS-HICH-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-HICH-Configuration ::= CHOICE {
+ same-As-Scheduled-E-HICH Same-As-Scheduled-E-HICH,
+ explicit E-HICH-InformationResp-ExplicitConfiguration-LCR,
+ ...
+}
+
+Same-As-Scheduled-E-HICH ::= SEQUENCE {
+ e-HICH-EI E-HICH-EI,
+ ...
+}
+
+E-HICH-InformationResp-ExplicitConfiguration-LCR ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { E-HICH-InformationResp-ExplicitConfiguration-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+E-HICH-InformationResp-ExplicitConfiguration-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- F
+
+FACH-FlowControlInformation ::= SEQUENCE (SIZE (1..16)) OF FACH-FlowControlInformationItem
+
+FACH-FlowControlInformationItem ::= SEQUENCE {
+ fACH-SchedulingPriority SchedulingPriorityIndicator,
+ mAC-c-sh-SDU-Lengths MAC-c-sh-SDU-LengthList,
+ fACH-InitialWindowSize FACH-InitialWindowSize,
+ iE-Extensions ProtocolExtensionContainer { {FACH-FlowControlInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FACH-FlowControlInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FACH-InitialWindowSize ::= INTEGER { unlimited(255) } (0..255)
+-- Number of frames MAC-c-sh SDUs.
+-- 255 = Unlimited number of FACH data frames
+
+FACH-InformationList ::= SEQUENCE (SIZE(0.. maxNrOfFACHs)) OF FACH-InformationItem
+
+FACH-InformationItem ::= SEQUENCE {
+ transportFormatSet TransportFormatSet,
+ iE-Extensions ProtocolExtensionContainer { { FACH-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FACH-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Fast-Reconfiguration-Mode ::= ENUMERATED {fast,...}
+Fast-Reconfiguration-Permission ::= ENUMERATED {allowed,...}
+
+FDD-DCHs-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF FDD-DCHs-to-ModifyItem
+
+FDD-DCHs-to-ModifyItem ::= SEQUENCE {
+ ul-FP-Mode UL-FP-Mode OPTIONAL,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ dCH-SpecificInformationList FDD-DCHs-to-ModifySpecificInformationList,
+ iE-Extensions ProtocolExtensionContainer { {FDD-DCHs-to-ModifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-DCHs-to-ModifyItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
+ ...
+}
+
+FDD-DCHs-to-ModifySpecificInformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF FDD-DCHs-to-ModifySpecificItem
+
+FDD-DCHs-to-ModifySpecificItem ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ ul-TransportformatSet TransportFormatSet OPTIONAL,
+ dl-TransportformatSet TransportFormatSet OPTIONAL,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ frameHandlingPriority FrameHandlingPriority OPTIONAL,
+ not-Used-dRACControl NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {FDD-DCHs-to-ModifySpecificItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-DCHs-to-ModifySpecificItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Guaranteed-Rate-Information CRITICALITY ignore EXTENSION Guaranteed-Rate-Information PRESENCE optional}|
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE optional}|
+ { ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional},
+ ...
+}
+
+FDD-DL-ChannelisationCodeNumber ::= INTEGER (0..511)
+-- According to the mapping in TS 25.213 [27]. The maximum value is equal to the DL spreading factor -1--
+
+FDD-DL-CodeInformation ::= SEQUENCE (SIZE (1..maxNrOfDL-Codes)) OF FDD-DL-CodeInformationItem
+
+FDD-DL-CodeInformationItem ::= SEQUENCE {
+ dl-ScramblingCode DL-ScramblingCode,
+ fDD-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+ transmission-Gap-Pattern-Sequence-ScramblingCode-Information Transmission-Gap-Pattern-Sequence-ScramblingCode-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {FDD-DL-CodeInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-DL-CodeInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FDD-TPC-DownlinkStepSize ::= ENUMERATED {
+ step-size0-5,
+ step-size1,
+ step-size1-5,
+ step-size2,
+ ...
+}
+
+SchedulingPriorityIndicator ::= INTEGER { lowest(0), highest(15) } (0..15)
+
+F-DPCH-Info ::= SEQUENCE {
+ f-DPCH-SlotFormat F-DPCH-SlotFormat,
+ fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+ extended-E-DPCCH-PO Extended-E-DPCCH-PO OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { F-DPCH-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+F-DPCH-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+F-DPCH-Info-To-Modify ::= SEQUENCE {
+ f-DPCH-SlotFormat F-DPCH-SlotFormat OPTIONAL,
+ fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber OPTIONAL,
+ extended-E-DPCCH-PO Extended-E-DPCCH-PO OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { F-DPCH-Info-To-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+F-DPCH-Info-To-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+F-DPCH-SlotFormat ::= INTEGER (0..9)
+
+F-DPCH-SlotFormatSupportRequest ::= NULL
+
+FirstRLS-Indicator ::= ENUMERATED {
+ first-RLS,
+ not-first-RLS
+}
+
+FNReportingIndicator ::= ENUMERATED {
+ fN-reporting-required,
+ fN-reporting-not-required
+}
+
+FPACH-Information ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ tDD-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ wT INTEGER (1..4),
+ ...
+ }
+
+FTPICH-Information ::= SEQUENCE {
+ fTPICH-Offset FTPICH-Offset,
+ iE-Extensions ProtocolExtensionContainer { { FTPICH-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+FTPICH-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FTPICH-SlotFormat ::= INTEGER (0..9,...)
+
+FTPICH-Offset ::= INTEGER (0..149)
+
+FTPICH-Information-Removal ::= ENUMERATED {
+ remove,
+ ...
+}
+
+FTPICH-Information-To-Modify ::= SEQUENCE {
+ fTPICH-Offset FTPICH-Offset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FTPICH-Information-To-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+FTPICH-Information-To-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FTPICH-Information-Reconf ::=SEQUENCE{
+ setup-Or-ConfigurationChange-Or-Removal-Of-FTPICH-Information Setup-Or-ConfigurationChange-Or-Removal-Of-FTPICH-Information,
+ iE-Extensions ProtocolExtensionContainer { { FTPICH-Information-Reconf-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FTPICH-Information-Reconf-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FTPICH-Reconfiguration-Information ::= SEQUENCE {
+ fTPICH-SlotFormat FTPICH-SlotFormat OPTIONAL,
+ fTPICH-ChannelisationCodenumber FDD-DL-ChannelisationCodeNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FTPICH-Reconfiguration-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+FTPICH-Reconfiguration-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FTPICH-Information-Response ::= SEQUENCE {
+ fTPICH-SlotFormat FTPICH-SlotFormat,
+ fTPICH-ChannelisationCodenumber FDD-DL-ChannelisationCodeNumber,
+ iE-Extensions ProtocolExtensionContainer { { FTPICH-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+FTPICH-Information-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FrameHandlingPriority ::= INTEGER { lowest(0), highest(15) } (0..15)
+
+FrameOffset ::= INTEGER (0..255)
+-- Frames
+
+FrequencyBandIndicator ::= ENUMERATED {
+ bandI,
+ bandII,
+ bandIII,
+ bandIV,
+ bandV,
+ bandVI,
+ bandVII,
+ bandVIII,
+ bandIX,
+ bandX,
+ bandXI,
+ bandXII,
+ bandXIII,
+ bandXIV,
+ bandXV,
+ bandXVI,
+ bandXVII,
+ bandXVIII,
+ bandXIX,
+ bandXX,
+ bandXXI,
+ bandXXII,
+ ...,
+ reserved23,
+ reserved24,
+ bandXXV,
+ bandXXVI,
+ reserved27,
+ reserved28,
+ reserved29,
+ reserved30,
+ reserved31,
+ bandXXXII
+}
+
+
+-- G
+
+GapLength ::= INTEGER (1..14)
+-- Unit Slot
+
+GapDuration ::= INTEGER (1..144,...)
+-- Unit Frame
+
+GA-Cell ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
+ SEQUENCE {
+ cell-GAIgeographicalCoordinate GeographicalCoordinate,
+ iE-Extensions ProtocolExtensionContainer { {GA-Cell-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+GA-Cell-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-CellAdditionalShapes ::= CHOICE {
+ pointWithUncertainty GA-PointWithUnCertainty,
+ pointWithUncertaintyEllipse GA-PointWithUnCertaintyEllipse,
+ pointWithAltitude GA-PointWithAltitude,
+ pointWithAltitudeAndUncertaintyEllipsoid GA-PointWithAltitudeAndUncertaintyEllipsoid,
+ ellipsoidArc GA-EllipsoidArc,
+ ...
+ }
+
+GA-AltitudeAndDirection ::= SEQUENCE {
+ directionOfAltitude ENUMERATED {height, depth},
+ altitude INTEGER (0..32767),
+ ...
+}
+
+GA-EllipsoidArc ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinate,
+ innerRadius INTEGER (0..65535),
+ uncertaintyRadius INTEGER (0..127),
+ offsetAngle INTEGER (0..179),
+ includedAngle INTEGER (0..179),
+ confidence INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { { GA-EllipsoidArc-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-EllipsoidArc-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Gainfactors-10ms-mode ::= CHOICE {
+ signalledGainFactors10ms SEQUENCE {
+ gain10ms-betaC BetaCD,
+ gain10ms-betaD BetaCD,
+ gain10ms-refTFCNumber RefTFCNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SignalledGainFactors10ms-ExtIEs } } OPTIONAL,
+ ...
+ },
+ computedGainFactors10ms RefTFCNumber,
+ ...
+}
+
+SignalledGainFactors10ms-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AddClockModels ::= CHOICE {
+ navClockModel GANSS-NAVclockModel,
+ cnavClockModel GANSS-CNAVclockModel,
+ glonassClockModel GANSS-GLONASSclockModel,
+ sbasClockModel GANSS-SBASclockModel,
+ ...,
+ extension-GANSS-AddClockModels Extension-GANSS-AddClockModels
+}
+
+Extension-GANSS-AddClockModels ::= ProtocolIE-Single-Container {{ Extension-GANSS-AddClockModels-IE }}
+
+Extension-GANSS-AddClockModels-IE RNSAP-PROTOCOL-IES ::= {
+ { ID id-GANSS-BDSclockModel CRITICALITY ignore TYPE GANSS-BDSclockModel PRESENCE mandatory}
+
+}
+
+GANSS-AddIonoModelReq ::= BIT STRING (SIZE(2))
+
+GANSS-AddNavigationModelsReq ::= BOOLEAN
+
+GANSS-AddOrbitModels ::= CHOICE {
+ navKeplerianSet GANSS-NavModel-NAVKeplerianSet,
+ cnavKeplerianSet GANSS-NavModel-CNAVKeplerianSet,
+ glonassECEF GANSS-NavModel-GLONASSecef,
+ sbasECEF GANSS-NavModel-SBASecef,
+ ...,
+ extension-GANSS-AddOrbitModels Extension-GANSS-AddOrbitModels
+}
+
+Extension-GANSS-AddOrbitModels ::= ProtocolIE-Single-Container {{ Extension-GANSS-AddOrbitModels-IE }}
+
+Extension-GANSS-AddOrbitModels-IE RNSAP-PROTOCOL-IES ::= {
+ { ID id-GANSS-NavModel-BDSKeplerianSet CRITICALITY ignore TYPE GANSS-NavModel-BDSKeplerianSet PRESENCE mandatory}
+
+}
+
+GANSS-AddUTCModelsReq ::= BOOLEAN
+
+GANSS-Additional-Ionospheric-Model ::= SEQUENCE {
+ dataID BIT STRING (SIZE(2)),
+ alpha-beta-parameters GPS-Ionospheric-Model,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Additional-Ionospheric-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Additional-Ionospheric-Model-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Additional-Navigation-Models ::= SEQUENCE {
+ ganss-Transmission-Time GANSS-Transmission-Time,
+ non-broadcastIndication ENUMERATED { true } OPTIONAL,
+ ganssSatInfoNavList Ganss-Sat-Info-AddNavList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Additional-Navigation-Models-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Additional-Navigation-Models-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Additional-Time-Models ::= SEQUENCE (SIZE (1..maxGANSS-1)) OF GANSS-Time-Model
+
+GANSS-Additional-UTC-Models ::= CHOICE {
+ utcModel1 GANSS-UTCmodelSet1,
+ utcModel2 GANSS-UTCmodelSet2,
+ utcModel3 GANSS-UTCmodelSet3,
+ ...,
+ extension-GANSS-Additional-UTC-Models Extension-GANSS-Additional-UTC-Models
+}
+
+Extension-GANSS-Additional-UTC-Models ::= ProtocolIE-Single-Container {{ Extension-GANSS-Additional-UTC-Models-IE }}
+
+Extension-GANSS-Additional-UTC-Models-IE RNSAP-PROTOCOL-IES ::= {
+ { ID id-GANSS-UTCmodelSet4 CRITICALITY ignore TYPE GANSS-UTCmodelSet4 PRESENCE mandatory}
+
+}
+
+GANSS-Almanac ::= SEQUENCE{
+ ganss-wk-number INTEGER(0..255),
+ gANSS-AlmanacModel CHOICE {
+ gANSS-keplerianParameters SEQUENCE {
+ t-oa INTEGER(0..1023),
+ iod-a INTEGER(0..15),
+ gANSS-SatelliteInformationKP GANSS-SatelliteInformationKP,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-KeplerianParametersAlm-ExtIEs } } OPTIONAL,
+ ...
+ },
+ ...,
+ extension-GANSS-AlmanacModel Extension-GANSS-AlmanacModel
+ },
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Almanac-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-KeplerianParametersAlm-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extension-GANSS-AlmanacModel ::= ProtocolIE-Single-Container {{ Extension-GANSS-AlmanacModel-IE }}
+
+Extension-GANSS-AlmanacModel-IE RNSAP-PROTOCOL-IES ::= {
+ { ID id-GANSS-alm-keplerianNAVAlmanac CRITICALITY ignore TYPE GANSS-alm-keplerianNAVAlmanac PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianReducedAlmanac CRITICALITY ignore TYPE GANSS-alm-keplerianReducedAlmanac PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianMidiAlmanac CRITICALITY ignore TYPE GANSS-alm-keplerianMidiAlmanac PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianGLONASS CRITICALITY ignore TYPE GANSS-alm-keplerianGLONASS PRESENCE mandatory}|
+ { ID id-GANSS-alm-ecefSBASAlmanac CRITICALITY ignore TYPE GANSS-alm-ecefSBASAlmanac PRESENCE mandatory}|
+ { ID id-GANSS-alm-keplerianBDSAlmanac CRITICALITY ignore TYPE GANSS-alm-KEPLERIANBDSALMANAC PRESENCE mandatory}
+
+}
+
+GANSS-alm-keplerianNAVAlmanac ::= SEQUENCE {
+ t-oa INTEGER (0..255),
+ sat-info-NAVkpList GANSS-SAT-Info-Almanac-NAVkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-NAVKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-NAVKeplerianSet-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-alm-KEPLERIANBDSALMANAC ::= SEQUENCE {
+ sat-info-BDSkpList GANSS-SAT-Info-Almanac-BDSkpList,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-alm-KEPLERIANBDSALMANAC-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-alm-KEPLERIANBDSALMANAC-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-alm-keplerianReducedAlmanac ::= SEQUENCE {
+ t-oa INTEGER (0..255),
+ sat-info-REDkpList GANSS-SAT-Info-Almanac-REDkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-ReducedKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+
+GANSS-ALM-ReducedKeplerianSet-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-alm-keplerianMidiAlmanac ::= SEQUENCE {
+ t-oa INTEGER (0..255),
+ sat-info-MIDIkpList GANSS-SAT-Info-Almanac-MIDIkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-MidiAlmanacSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-MidiAlmanacSet-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-alm-keplerianGLONASS ::= SEQUENCE {
+ sat-info-GLOkpList GANSS-SAT-Info-Almanac-GLOkpList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-GlonassAlmanacSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-GlonassAlmanacSet-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-alm-ecefSBASAlmanac ::= SEQUENCE {
+ sat-info-SBASecefList GANSS-SAT-Info-Almanac-SBASecefList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ALM-ECEFsbasAlmanacSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ALM-ECEFsbasAlmanacSet-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Almanac-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-completeAlmanacProvided CRITICALITY ignore EXTENSION CompleteAlmanacProvided PRESENCE optional},
+ ...
+}
+
+GANSS-Auxiliary-Information ::= CHOICE {
+ ganssID1 GANSS-AuxInfoGANSS-ID1, -- This choice may only be present if GANSS ID indicates Modernized GPS
+ ganssID3 GANSS-AuxInfoGANSS-ID3, -- This choice may only be present if GANSS ID indicates GLONASS
+ ...
+}
+
+GANSS-AuxInfoGANSS-ID1 ::= SEQUENCE (SIZE(1.. maxGANSSSat)) OF SEQUENCE {
+ svID INTEGER(0..63),
+ signalsAvailable BIT STRING (SIZE(8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-AuxInfoGANSS-ID1-element-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-AuxInfoGANSS-ID1-element-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AuxInfoGANSS-ID3 ::= SEQUENCE (SIZE(1.. maxGANSSSat)) OF SEQUENCE {
+ svID INTEGER(0..63),
+ signalsAvailable BIT STRING (SIZE(8)),
+ channelNumber INTEGER (-7..13),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-AuxInfoGANSS-ID3-element-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-AuxInfoGANSS-ID3-element-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-AuxInfoReq ::= BOOLEAN
+
+GANSS-BDSclockModel ::= SEQUENCE {
+ bdsToc BIT STRING (SIZE (17)),
+ bdsa0 BIT STRING (SIZE (24)),
+ bdsa1 BIT STRING (SIZE (22)),
+ bdsa2 BIT STRING (SIZE (11)),
+ bdsTgd1 BIT STRING (SIZE (10)),
+ bdsAODC BIT STRING (SIZE (5)),
+ iE-Extensions ProtocolExtensionContainer { { GANSS-BDSclockModelItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-BDSclockModelItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Clock-Model ::= SEQUENCE (SIZE (1..maxGANSSClockMod)) OF SEQUENCE {
+ t-oc BIT STRING (SIZE (14)),
+ a-i2 BIT STRING (SIZE (6)),
+ a-i1 BIT STRING (SIZE (21)),
+ a-i0 BIT STRING (SIZE (31)),
+ t-gd BIT STRING (SIZE (10)) OPTIONAL,
+ sisa BIT STRING (SIZE (8)),
+ model-id INTEGER(0..1,...) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-ClockModelItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-ClockModelItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-CNAVclockModel ::= SEQUENCE {
+ cnavToc BIT STRING (SIZE (11)),
+ cnavTop BIT STRING (SIZE (11)),
+ cnavURA0 BIT STRING (SIZE (5)),
+ cnavURA1 BIT STRING (SIZE (3)),
+ cnavURA2 BIT STRING (SIZE (3)),
+ cnavAf2 BIT STRING (SIZE (10)),
+ cnavAf1 BIT STRING (SIZE (20)),
+ cnavAf0 BIT STRING (SIZE (26)),
+ cnavTgd BIT STRING (SIZE (13)),
+ cnavISCl1cp BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl1cd BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl1ca BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl2c BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl5i5 BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl5q5 BIT STRING (SIZE (13)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-CNAVclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-CNAVclockModel-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Common-Data ::= SEQUENCE {
+ ganss-Ionospheric-Model GANSS-Ionospheric-Model OPTIONAL,
+ ganss-Rx-Pos GANSS-RX-Pos OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Common-Data-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Common-Data-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-Additional-Ionospheric-Model CRITICALITY ignore EXTENSION GANSS-Additional-Ionospheric-Model PRESENCE optional}|
+ { ID id-GANSS-Earth-Orientation-Parameters CRITICALITY ignore EXTENSION GANSS-Earth-Orientation-Parameters PRESENCE optional},
+ ...
+}
+
+GANSS-CommonDataInfoReq ::= SEQUENCE {
+ ionospheric-Model BOOLEAN OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-CommonDataInfoReq-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-CommonDataInfoReq-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-AddIonoModelReq CRITICALITY ignore EXTENSION GANSS-AddIonoModelReq PRESENCE optional}|
+ {ID id-GANSS-EarthOrientParaReq CRITICALITY ignore EXTENSION GANSS-EarthOrientParaReq PRESENCE optional},
+ ...
+}
+
+GANSS-Data-Bit-Assistance ::= SEQUENCE {
+ ganssTod INTEGER (0..59,...),
+ dataBitAssistancelist GANSS-DataBitAssistanceList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Data-Bit-Assistance-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-DataBitAssistanceList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF GANSS-DataBitAssistanceItem
+
+GANSS-DataBitAssistanceItem ::= SEQUENCE {
+ satId INTEGER(0..63),
+ dataBitAssistanceSgnList GANSS-DataBitAssistanceSgnList,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-DataBitAssistanceItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-DataBitAssistanceItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-DataBitAssistanceSgnList ::= SEQUENCE (SIZE (1..maxSgnType)) OF GANSS-DataBitAssistanceSgnItem
+
+GANSS-DataBitAssistanceSgnItem ::= SEQUENCE {
+ ganss-SignalId GANSS-Signal-ID,
+ ganssDataBits BIT STRING (SIZE (1..1024)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-DataBitAssistanceSgnItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-DataBitAssistanceSgnItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ReqItem ::= SEQUENCE {
+ ganssTod INTEGER (0..86399),
+ ganss-Data-Bit-Assistance-ReqList GANSS-Data-Bit-Assistance-ReqList,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-Data-Bit-Assistance-ReqItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ReqItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ReqList ::= SEQUENCE {
+ dGANSS-Signal-ID BIT STRING (SIZE (8)),
+ ganss-DataBitInterval INTEGER(0..15),
+ ganss-SatelliteInfo SEQUENCE (SIZE (1..maxGANSSSat)) OF INTEGER(0..63) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GANSS-Data-Bit-Assistance-ReqList-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Data-Bit-Assistance-ReqList-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Delta-T ::= INTEGER(-128..127)
+
+GANSS-DeltaUT1 ::= SEQUENCE {
+ b1 BIT STRING (SIZE(11)),
+ b2 BIT STRING (SIZE(10)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-DeltaUT1-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-DeltaUT1-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Earth-Orientation-Parameters ::= SEQUENCE {
+ teop BIT STRING (SIZE (16)),
+ pmX BIT STRING (SIZE (21)),
+ pmXdot BIT STRING (SIZE (15)),
+ pmY BIT STRING (SIZE (21)),
+ pmYdot BIT STRING (SIZE (15)),
+ deltaUT1 BIT STRING (SIZE (31)),
+ deltaUT1dot BIT STRING (SIZE (19)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Earth-Orientation-Parameters-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Earth-Orientation-Parameters-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-EarthOrientParaReq ::= BOOLEAN
+
+GANSS-GenericDataInfoReqList ::= SEQUENCE (SIZE(1..maxNoGANSS)) OF GANSS-GenericDataInfoReqItem
+
+GANSS-GenericDataInfoReqItem ::= SEQUENCE {
+ ganss-Id GANSS-ID OPTIONAL,
+ ganss-Navigation-Model-And-Time-Recovery BOOLEAN OPTIONAL,
+ ganss-Time-Model-GNSS-GNSS BIT STRING (SIZE (9)) OPTIONAL,
+ ganss-UTC-Model BOOLEAN OPTIONAL,
+ ganss-Almanac BOOLEAN OPTIONAL,
+ ganss-Real-Time-Integrity BOOLEAN OPTIONAL,
+ ganss-Data-Bit-Assistance-Req GANSS-Data-Bit-Assistance-ReqItem OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-GenericDataInfoReqItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-GenericDataInfoReqItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-GANSS-AddNavigationModelsReq CRITICALITY ignore EXTENSION GANSS-AddNavigationModelsReq PRESENCE optional}|
+ {ID id-GANSS-AddUTCModelsReq CRITICALITY ignore EXTENSION GANSS-AddUTCModelsReq PRESENCE optional}|
+ {ID id-GANSS-AuxInfoReq CRITICALITY ignore EXTENSION GANSS-AuxInfoReq PRESENCE optional}|
+ -- The following IE shall be present if ‘GANSS-ID’ in ‘GANSS-GenericDataInfoReqItem’ is ‘0’ (SBAS)
+ {ID id-GANSS-SBAS-ID CRITICALITY ignore EXTENSION GANSS-SBAS-ID PRESENCE optional}|
+ {ID id-DBDS-CorrectionsReq CRITICALITY ignore EXTENSION DBDS-CorrectionsReq PRESENCE optional}|
+ {ID id-BDS-IonosphericGridModelReq CRITICALITY ignore EXTENSION BDS-IonosphericGridModelReq PRESENCE optional},
+ ...
+}
+
+
+GANSS-Generic-Data ::= SEQUENCE (SIZE(1..maxNoGANSS)) OF GANSS-Generic-DataItem
+
+GANSS-Generic-DataItem ::= SEQUENCE {
+ ganss-Id GANSS-ID OPTIONAL,
+ dganss-Correction DGANSSCorrections OPTIONAL,
+ ganss-Navigation-Model-And-Time-Recovery GANSS-Navigation-Model-And-Time-Recovery OPTIONAL,
+ ganss-Time-Model GANSS-Time-Model OPTIONAL,
+ ganss-UTC-TIME GANSS-UTC-Model OPTIONAL,
+ ganss-Almanac GANSS-Almanac OPTIONAL,
+ ganss-Real-Time-Integrity GANSS-Real-Time-Integrity OPTIONAL,
+ ganss-Data-Bit-Assistance GANSS-Data-Bit-Assistance OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Generic-DataItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Generic-DataItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-Additional-Time-Models CRITICALITY ignore EXTENSION GANSS-Additional-Time-Models PRESENCE optional}|
+ { ID id-GANSS-Additional-Navigation-Models CRITICALITY ignore EXTENSION GANSS-Additional-Navigation-Models PRESENCE optional}|
+ { ID id-GANSS-Additional-UTC-Models CRITICALITY ignore EXTENSION GANSS-Additional-UTC-Models PRESENCE optional}|
+ { ID id-GANSS-Auxiliary-Information CRITICALITY ignore EXTENSION GANSS-Auxiliary-Information PRESENCE optional}|
+ -- The following element shall be present if ‘GANSS-ID’ in ‘GANSS-Generic-DataItem’ is ‘0’ (‘SBAS’)
+ { ID id-GANSS-SBAS-ID CRITICALITY ignore EXTENSION GANSS-SBAS-ID PRESENCE optional}|
+ { ID id-DBDS-Corrections CRITICALITY ignore EXTENSION DBDS-Corrections PRESENCE optional}|
+ { ID id-BDS-Ionospheric-Grid-Model CRITICALITY ignore EXTENSION BDS-Ionospheric-Grid-Model PRESENCE optional},
+ ...
+}
+
+GANSS-GLONASSclockModel ::= SEQUENCE {
+ gloTau BIT STRING (SIZE (22)),
+ gloGamma BIT STRING (SIZE (11)),
+ gloDeltaTau BIT STRING (SIZE (5)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-GLONASSclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-GLONASSclockModel-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-ID ::= INTEGER(0..7,...)
+
+GANSS-Information ::= SEQUENCE {
+ gANSS-CommonDataInfoReq GANSS-CommonDataInfoReq OPTIONAL,
+ gANSS-GenericDataInfoReqList GANSS-GenericDataInfoReqList OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Ionospheric-Model ::= SEQUENCE {
+ alpha-zero-ionos BIT STRING (SIZE (11)),
+ alpha-one-ionos BIT STRING (SIZE (11)),
+ alpha-two-ionos BIT STRING (SIZE (14)),
+ gANSS-IonosphereRegionalStormFlags GANSS-IonosphereRegionalStormFlags OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Ionospheric-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Ionospheric-Model-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-IonosphereRegionalStormFlags ::= SEQUENCE {
+ storm-flag-one BOOLEAN,
+ storm-flag-two BOOLEAN,
+ storm-flag-three BOOLEAN,
+ storm-flag-four BOOLEAN,
+ storm-flag-five BOOLEAN,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-IonosphereRegionalStormFlags-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-IonosphereRegionalStormFlags-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-NAVclockModel ::= SEQUENCE {
+ navToc BIT STRING (SIZE (16)),
+ navaf2 BIT STRING (SIZE (8)),
+ navaf1 BIT STRING (SIZE (16)),
+ navaf0 BIT STRING (SIZE (22)),
+ navTgd BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NAVclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NAVclockModel-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Navigation-Model-And-Time-Recovery ::= SEQUENCE {
+ ganss-Transmission-Time GANSS-Transmission-Time,
+ non-broadcastIndication ENUMERATED{true} OPTIONAL,
+ ganssSatInfoNav GANSS-Sat-Info-Nav,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Navigation-Model-And-Time-Recovery-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Navigation-Model-And-Time-Recovery-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-NavModel-BDSKeplerianSet ::= SEQUENCE {
+ bdsURAI BIT STRING (SIZE (4)),
+ bdsToe BIT STRING (SIZE (17)),
+ bdsAPowerHalf BIT STRING (SIZE (32)),
+ bdsE BIT STRING (SIZE (32)),
+ bdsW BIT STRING (SIZE (32)),
+ bdsDeltaN BIT STRING (SIZE (16)),
+ bdsM0 BIT STRING (SIZE (32)),
+ bdsOmega0 BIT STRING (SIZE (32)),
+ bdsOmegaDot BIT STRING (SIZE (24)),
+ bdsI0 BIT STRING (SIZE (32)),
+ bdsIDot BIT STRING (SIZE (14)),
+ bdsCuc BIT STRING (SIZE (18)),
+ bdsCus BIT STRING (SIZE (18)),
+ bdsCrc BIT STRING (SIZE (18)),
+ bdsCrs BIT STRING (SIZE (18)),
+ bdsCic BIT STRING (SIZE (18)),
+ bdsCis BIT STRING (SIZE (18)),
+ bdsAODE BIT STRING (SIZE (5)),
+ iE-Extensions ProtocolExtensionContainer { { GANSS-NavModel-BDSKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NavModel-BDSKeplerianSet-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-NavModel-CNAVKeplerianSet ::= SEQUENCE {
+ cnavTop BIT STRING (SIZE (11)),
+ cnavURAindex BIT STRING (SIZE (5)),
+ cnavDeltaA BIT STRING (SIZE (26)),
+ cnavAdot BIT STRING (SIZE (25)),
+ cnavDeltaNo BIT STRING (SIZE (17)),
+ cnavDeltaNoDot BIT STRING (SIZE (23)),
+ cnavMo BIT STRING (SIZE (33)),
+ cnavE BIT STRING (SIZE (33)),
+ cnavOmega BIT STRING (SIZE (33)),
+ cnavOMEGA0 BIT STRING (SIZE (33)),
+ cnavDeltaOmegaDot BIT STRING (SIZE (17)),
+ cnavIo BIT STRING (SIZE (33)),
+ cnavIoDot BIT STRING (SIZE (15)),
+ cnavCis BIT STRING (SIZE (16)),
+ cnavCic BIT STRING (SIZE (16)),
+ cnavCrs BIT STRING (SIZE (24)),
+ cnavCrc BIT STRING (SIZE (24)),
+ cnavCus BIT STRING (SIZE (21)),
+ cnavCuc BIT STRING (SIZE (21)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NavModel-CNAVKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NavModel-CNAVKeplerianSet-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-NavModel-GLONASSecef ::= SEQUENCE {
+ gloEn BIT STRING (SIZE (5)),
+ gloP1 BIT STRING (SIZE(2)),
+ gloP2 BIT STRING (SIZE (1)),
+ gloM BIT STRING (SIZE (2)) OPTIONAL,
+ gloX BIT STRING (SIZE (27)),
+ gloXdot BIT STRING (SIZE (24)),
+ gloXdotdot BIT STRING (SIZE (5)),
+ gloY BIT STRING (SIZE (27)),
+ gloYdot BIT STRING (SIZE (24)),
+ gloYdotdot BIT STRING (SIZE (5)),
+ gloZ BIT STRING (SIZE (27)),
+ gloZdot BIT STRING (SIZE (24)),
+ gloZdotdot BIT STRING (SIZE (5)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NavModel-GLONASSecef-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NavModel-GLONASSecef-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-NavModel-NAVKeplerianSet ::= SEQUENCE {
+ navURA BIT STRING (SIZE (4)),
+ navFitFlag BIT STRING (SIZE (1)),
+ navToe BIT STRING (SIZE (16)),
+ navOmega BIT STRING (SIZE (32)),
+ navDeltaN BIT STRING (SIZE (16)),
+ navM0 BIT STRING (SIZE (32)),
+ navOmegaADot BIT STRING (SIZE (24)),
+ navE BIT STRING (SIZE (32)),
+ navIDot BIT STRING (SIZE (14)),
+ navAPowerHalf BIT STRING (SIZE (32)),
+ navI0 BIT STRING (SIZE (32)),
+ navOmegaA0 BIT STRING (SIZE (32)),
+ navCrs BIT STRING (SIZE (16)),
+ navCis BIT STRING (SIZE (16)),
+ navCus BIT STRING (SIZE (16)),
+ navCrc BIT STRING (SIZE (16)),
+ navCic BIT STRING (SIZE (16)),
+ navCuc BIT STRING (SIZE (16)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NavModel-NAVKeplerianSet-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-NavModel-NAVKeplerianSet-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-NavModel-SBASecef ::= SEQUENCE {
+ -- the following IE shall be present if ‘GANSS-SBASclockModel’ in ‘GANSS-AddClockModels’ is not included in ‘Ganss-Sat-Info-AddNavList’
+ sbasTo BIT STRING (SIZE (13)) OPTIONAL,
+ sbasAccuracy BIT STRING (SIZE (4)),
+ sbasXg BIT STRING (SIZE (30)),
+ sbasYg BIT STRING (SIZE (30)),
+ sbasZg BIT STRING (SIZE (25)),
+ sbasXgDot BIT STRING (SIZE (17)),
+ sbasYgDot BIT STRING (SIZE (17)),
+ sbasZgDot BIT STRING (SIZE (18)),
+ sbasXgDotDot BIT STRING (SIZE (10)),
+ sbagYgDotDot BIT STRING (SIZE (10)),
+ sbasZgDotDot BIT STRING (SIZE (10)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-NavModel-SBASecef-ExtIEs } } OPTIONAL,
+ ...
+}
+
+
+GANSS-NavModel-SBASecef-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Orbit-Model ::= CHOICE {
+ gANSS-keplerianParameters SEQUENCE {
+ toe-nav BIT STRING (SIZE (14)),
+ ganss-omega-nav BIT STRING (SIZE (32)),
+ delta-n-nav BIT STRING (SIZE (16)),
+ m-zero-nav BIT STRING (SIZE (32)),
+ omegadot-nav BIT STRING (SIZE (24)),
+ ganss-e-nav BIT STRING (SIZE (32)),
+ idot-nav BIT STRING (SIZE (14)),
+ a-sqrt-nav BIT STRING (SIZE (32)),
+ i-zero-nav BIT STRING (SIZE (32)),
+ omega-zero-nav BIT STRING (SIZE (32)),
+ c-rs-nav BIT STRING (SIZE (16)),
+ c-is-nav BIT STRING (SIZE (16)),
+ c-us-nav BIT STRING (SIZE (16)),
+ c-rc-nav BIT STRING (SIZE (16)),
+ c-ic-nav BIT STRING (SIZE (16)),
+ c-uc-nav BIT STRING (SIZE (16)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-KeplerianParametersOrb-ExtIEs } } OPTIONAL,
+ ...
+ },
+ ...
+}
+
+GANSS-KeplerianParametersOrb-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Real-Time-Integrity ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF SEQUENCE {
+ bad-ganss-satId INTEGER(0..63),
+ bad-ganss-signalId BIT STRING(SIZE(8)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-RealTimeInformationItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-RealTimeInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-RX-Pos ::= SEQUENCE {
+ latitudeSign ENUMERATED{north,south},
+ degreesOfLatitude INTEGER(0..2147483647),
+ degreesOfLongitude INTEGER(-2147483648..2147483647),
+ directionOfAltitude ENUMERATED{height,depth},
+ altitude INTEGER(0..32767),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-RX-Pos-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-RX-Pos-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SatelliteInformationKP ::= SEQUENCE (SIZE (1..maxGANSSSatAlmanac)) OF SEQUENCE {
+ satId INTEGER(0..63),
+ ganss-e-alm BIT STRING (SIZE (11)),
+ ganss-delta-I-alm BIT STRING (SIZE (11)),
+ ganss-omegadot-alm BIT STRING (SIZE (11)),
+ ganss-svStatusINAV-alm BIT STRING (SIZE (4)),
+ ganss-svStatusFNAV-alm BIT STRING (SIZE (2)) OPTIONAL,
+ ganss-delta-a-sqrt-alm BIT STRING (SIZE (13)),
+ ganss-omegazero-alm BIT STRING (SIZE (16)),
+ ganss-m-zero-alm BIT STRING (SIZE (16)),
+ ganss-omega-alm BIT STRING (SIZE (16)),
+ ganss-af-zero-alm BIT STRING (SIZE (16)),
+ ganss-af-one-alm BIT STRING (SIZE (13)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SatelliteInformationKPItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SatelliteInformationKPItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Ganss-Sat-Info-AddNavList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF SEQUENCE {
+ satId INTEGER (0..63),
+ svHealth BIT STRING (SIZE (9)),
+ iod BIT STRING (SIZE (11)),
+ ganssAddClockModels GANSS-AddClockModels,
+ ganssAddOrbitModels GANSS-AddOrbitModels,
+ ie-Extensions ProtocolExtensionContainer { { Ganss-Sat-Info-AddNavList-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Ganss-Sat-Info-AddNavList-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-BDSkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF GANSS-SAT-Info-Almanac-BDS
+
+GANSS-SAT-Info-Almanac-BDS ::= SEQUENCE {
+ satId INTEGER(0..63),
+ bdsAlmToa BIT STRING (SIZE (8)),
+ bdsAlmSqrtA BIT STRING (SIZE (24)),
+ bdsAlmE BIT STRING (SIZE (17)),
+ bdsAlmW BIT STRING (SIZE (24)),
+ bdsAlmM0 BIT STRING (SIZE (24)),
+ bdsAlmOmega0 BIT STRING (SIZE (24)),
+ bdsAlmOmegaDot BIT STRING (SIZE (17)),
+ bdsAlmDeltaI BIT STRING (SIZE (16)),
+ bdsAlmA0 BIT STRING (SIZE (11)),
+ bdsAlmA1 BIT STRING (SIZE (11)),
+ bdsSvHealth BIT STRING (SIZE(9)) OPTIONAL,
+-- Mondatory if the IE “Sat ID” is between 0 and 29 and not needed otherwise
+ iE-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-BDS-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-BDS-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-GLOkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF SEQUENCE {
+ gloAlmNA BIT STRING (SIZE(11)),
+ gloAlmnA BIT STRING (SIZE(5)),
+ gloAlmHA BIT STRING (SIZE(5)),
+ gloAlmLambdaA BIT STRING (SIZE(21)),
+ gloAlmTlambdaA BIT STRING (SIZE(21)),
+ gloAlmDeltaIA BIT STRING (SIZE(18)),
+ gloAkmDeltaTA BIT STRING (SIZE(22)),
+ gloAlmDeltaTdotA BIT STRING (SIZE(7)),
+ gloAlmEpsilonA BIT STRING (SIZE(15)),
+ gloAlmOmegaA BIT STRING (SIZE(16)),
+ gloAlmTauA BIT STRING (SIZE(10)),
+ gloAlmCA BIT STRING (SIZE(1)),
+ gloAlmMA BIT STRING (SIZE(2)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-GLOkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-GLOkp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-MIDIkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF SEQUENCE {
+ svID INTEGER(0..63),
+ midiAlmE BIT STRING (SIZE (11)),
+ midiAlmDeltaI BIT STRING (SIZE (11)),
+ midiAlmOmegaDot BIT STRING (SIZE (11)),
+ midiAlmSqrtA BIT STRING (SIZE (17)),
+ midiAlmOmega0 BIT STRING (SIZE (16)),
+ midiAlmOmega BIT STRING (SIZE (16)),
+ midiAlmMo BIT STRING (SIZE (16)),
+ midiAlmaf0 BIT STRING (SIZE (11)),
+ midiAlmaf1 BIT STRING (SIZE (10)),
+ midiAlmL1Health BIT STRING (SIZE (1)),
+ midiAlmL2Health BIT STRING (SIZE (1)),
+ midiAlmL5Health BIT STRING (SIZE (1)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-MIDIkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-MIDIkp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-NAVkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF SEQUENCE {
+ svID INTEGER(0..63),
+ navAlmE BIT STRING (SIZE (16)),
+ navAlmDeltaI BIT STRING (SIZE (16)),
+ navAlmOMEGADOT BIT STRING (SIZE (16)),
+ navAlmSVHealth BIT STRING (SIZE (8)),
+ navAlmSqrtA BIT STRING (SIZE (24)),
+ navAlmOMEGAo BIT STRING (SIZE (24)),
+ navAlmOmega BIT STRING (SIZE (24)),
+ navAlmMo BIT STRING (SIZE (24)),
+ navAlmaf0 BIT STRING (SIZE (11)),
+ navAlmaf1 BIT STRING (SIZE (11)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-NAVkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-NAVkp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-REDkpList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF SEQUENCE {
+ svID INTEGER(0..63),
+ redAlmDeltaA BIT STRING (SIZE (8)),
+ redAlmOmega0 BIT STRING (SIZE (7)),
+ redAlmPhi0 BIT STRING (SIZE (7)),
+ redAlmL1Health BIT STRING (SIZE (1)),
+ redAlmL2Health BIT STRING (SIZE (1)),
+ redAlmL5Health BIT STRING (SIZE (1)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-REDkp-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-REDkp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SAT-Info-Almanac-SBASecefList ::= SEQUENCE (SIZE (1.. maxGANSSSatAlmanac)) OF SEQUENCE {
+ sbasAlmDataID BIT STRING (SIZE(2)),
+ svID INTEGER(0..63),
+ sbasAlmHealth BIT STRING (SIZE(8)),
+ sbasAlmXg BIT STRING (SIZE(15)),
+ sbasAlmYg BIT STRING (SIZE(15)),
+ sbasAlmZg BIT STRING (SIZE(9)),
+ sbasAlmXgdot BIT STRING (SIZE(3)),
+ sbasAlmYgDot BIT STRING (SIZE(3)),
+ sbasAlmZgDot BIT STRING (SIZE(4)),
+ sbasAlmTo BIT STRING (SIZE(11)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SAT-Info-Almanac-SBASecef-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SAT-Info-Almanac-SBASecef-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GANSS-Sat-Info-Nav ::= SEQUENCE (SIZE(1..maxGANSSSat)) OF SEQUENCE {
+ satId INTEGER(0..63),
+ svHealth BIT STRING (SIZE(5)),
+ iod BIT STRING (SIZE(10)),
+ ganssClockModel GANSS-Clock-Model,
+ ganssOrbitModel GANSS-Orbit-Model,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Sat-Info-Nav-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Sat-Info-Nav-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-SBAS-ID ::= ENUMERATED {
+ waas,
+ egnos,
+ msas,
+ gagan,
+ ...
+ }
+
+GANSS-SBASclockModel ::= SEQUENCE {
+ sbasTo BIT STRING (SIZE (13)),
+ sbasAgfo BIT STRING (SIZE (12)),
+ sbasAgf1 BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-SBASclockModel-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-SBASclockModel-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-Signal-ID ::= INTEGER(0..7,...)
+
+GANSS-StatusHealth ::= ENUMERATED {
+ udre-scale-1dot0,
+ udre-scale-0dot75,
+ udre-scale-0dot5,
+ udre-scale-0dot3,
+ udre-scale-0dot2,
+ udre-scale-0dot1,
+ no-data,
+ invalid-data
+}
+
+GANSS-Time-ID ::= INTEGER(0..7,...)
+
+GANSS-Time-Model ::= SEQUENCE {
+ ganss-time-model-Ref-Time INTEGER(0..37799),
+ ganss-t-a0 INTEGER(-2147483648..2147483647),
+ ganss-t-a1 INTEGER(-8388608..8388607) OPTIONAL,
+ ganss-t-a2 INTEGER(-64..63) OPTIONAL,
+ gnss-to-id ENUMERATED{gps,...,galileo,qzss,glonass,bds},
+ ganss-wk-number INTEGER(0..8191) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Time-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Time-Model-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ganss-Delta-T CRITICALITY ignore EXTENSION GANSS-Delta-T PRESENCE optional},
+ ...
+}
+
+GANSS-Transmission-Time ::= SEQUENCE {
+ ganssDay INTEGER(0..8191) OPTIONAL,
+ ganssTod INTEGER(0..86399),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-Transmission-Time-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-Transmission-Time-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTC-Model ::= SEQUENCE {
+ a-one-utc BIT STRING (SIZE (24)),
+ a-zero-utc BIT STRING (SIZE (32)),
+ t-ot-utc BIT STRING (SIZE (8)),
+ w-n-t-utc BIT STRING (SIZE (8)),
+ delta-t-ls-utc BIT STRING (SIZE (8)),
+ w-n-lsf-utc BIT STRING (SIZE (8)),
+ dn-utc BIT STRING (SIZE (8)),
+ delta-t-lsf-utc BIT STRING (SIZE (8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTC-Model-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTC-Model-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTCmodelSet1 ::= SEQUENCE {
+ utcA0 BIT STRING (SIZE(16)),
+ utcA1 BIT STRING (SIZE(13)),
+ utcA2 BIT STRING (SIZE(7)),
+ utcDeltaTls BIT STRING (SIZE(8)),
+ utcTot BIT STRING (SIZE(16)),
+ utcWNot BIT STRING (SIZE(13)),
+ utcWNlsf BIT STRING (SIZE(8)),
+ utcDN BIT STRING (SIZE(4)),
+ utcDeltaTlsf BIT STRING (SIZE(8)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTCmodelSet1-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTCmodelSet1-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTCmodelSet2 ::= SEQUENCE {
+ nA BIT STRING (SIZE(11)),
+ tauC BIT STRING (SIZE(32)),
+ deltaUT1 GANSS-DeltaUT1 OPTIONAL,
+ kp BIT STRING (SIZE(2)) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTCmodelSet2-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTCmodelSet2-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTCmodelSet3 ::= SEQUENCE {
+ utcA1wnt BIT STRING (SIZE(24)),
+ utcA0wnt BIT STRING (SIZE(32)),
+ utcTot BIT STRING (SIZE(8)),
+ utcWNt BIT STRING (SIZE(8)),
+ utcDeltaTls BIT STRING (SIZE(8)),
+ utcWNlsf BIT STRING (SIZE(8)),
+ utcDN BIT STRING (SIZE(8)),
+ utcDeltaTlsf BIT STRING (SIZE(8)),
+ utcStandardID BIT STRING (SIZE(3)),
+ ie-Extensions ProtocolExtensionContainer { { GANSS-UTCmodelSet3-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTCmodelSet3-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GANSS-UTCmodelSet4 ::= SEQUENCE {
+ utcA0 BIT STRING (SIZE (32)),
+ utcA1 BIT STRING (SIZE (24)),
+ utcDeltaTls BIT STRING (SIZE (8)),
+ utcWNlsf BIT STRING (SIZE (8)),
+ utcDN BIT STRING (SIZE (8)),
+ utcDeltaTlsf BIT STRING (SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { { GANSS-UTCmodelSet4-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GANSS-UTCmodelSet4-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithAltitude ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinate,
+ altitudeAndDirection GA-AltitudeAndDirection,
+ iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitude-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithAltitude-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinate,
+ altitudeAndDirection GA-AltitudeAndDirection,
+ uncertaintyEllipse GA-UncertaintyEllipse,
+ uncertaintyAltitude INTEGER (0..127),
+ confidence INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-PointWithUnCertaintyEllipse ::= SEQUENCE {
+ geographicalCoordinates GeographicalCoordinate,
+ uncertaintyEllipse GA-UncertaintyEllipse,
+ confidence INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { { GA-PointWithUnCertaintyEllipse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithUnCertaintyEllipse-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-UncertaintyEllipse ::= SEQUENCE {
+ uncertaintySemi-major INTEGER (0..127),
+ uncertaintySemi-minor INTEGER (0..127),
+ orientationOfMajorAxis INTEGER (0..179), -- The values 90..179 shall not be used.
+ ...
+}
+
+GA-PointWithUnCertainty ::=SEQUENCE {
+ geographicalCoordinates GeographicalCoordinate,
+ uncertaintyCode INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-PointWithUnCertainty-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GA-AccessPointPosition ::= SEQUENCE {
+ geographicalCoordinate GeographicalCoordinate,
+ iE-Extensions ProtocolExtensionContainer { {GA-AccessPoint-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-AccessPoint-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GeographicalCoordinate ::= SEQUENCE {
+ latitudeSign ENUMERATED { north, south },
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeographicalCoordinate-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GERAN-Cell-Capability ::= BIT STRING (SIZE (16))
+-- First bit: A/Gb mode --
+-- Second bit: Iu mode --
+-- Note: undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver. –
+
+GERAN-Classmark ::= OCTET STRING
+ -- GERAN Classmark as defined in (38) --
+
+GERAN-SI-Type ::= CHOICE {
+ sI GERAN-SystemInfo,
+ pSI GERAN-SystemInfo,
+ ...
+}
+
+GERAN-SystemInfo ::= SEQUENCE (SIZE (1..maxNrOfGERANSI)) OF
+ SEQUENCE {
+ gERAN-SI-block OCTET STRING (SIZE (1..23)),
+ iE-Extensions ProtocolExtensionContainer { { GERAN-SystemInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GERAN-SystemInfo-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GenericTrafficCategory ::= BIT STRING (SIZE (8))
+
+GPS-Almanac ::= SEQUENCE {
+ wna-alm BIT STRING (SIZE (8)),
+ satellite-Almanac-Information SEQUENCE (SIZE (1..maxNoSat)) OF
+ SEQUENCE {
+ dATA-ID DATA-ID,
+ sAT-ID SAT-ID,
+ gps-e-alm BIT STRING (SIZE (16)),
+ gps-toa-alm BIT STRING (SIZE (8)),
+ gps-delta-I-alm BIT STRING (SIZE (16)),
+ omegadot-alm BIT STRING (SIZE (16)),
+ svhealth-alm BIT STRING (SIZE (8)),
+ gps-a-sqrt-alm BIT STRING (SIZE (24)),
+ omegazero-alm BIT STRING (SIZE (24)),
+ m-zero-alm BIT STRING (SIZE (24)),
+ gps-omega-alm BIT STRING (SIZE (24)),
+ gps-af-zero-alm BIT STRING (SIZE (11)),
+ gps-af-one-alm BIT STRING (SIZE (11)),
+ iE-Extensions ProtocolExtensionContainer { { Satellite-Almanac-Information-ExtIEs} } OPTIONAL,
+ ...
+ },
+ -- This GPS-Almanac-Information is for the 1st 16 satellites
+ sVGlobalHealth-alm BIT STRING (SIZE (364)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GPS-Almanac-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Satellite-Almanac-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPS-Almanac-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Satellite-Almanac-Information-ExtItem CRITICALITY ignore EXTENSION Satellite-Almanac-Information-ExtItem PRESENCE optional}|
+ { ID id-completeAlmanacProvided CRITICALITY ignore EXTENSION CompleteAlmanacProvided PRESENCE optional},
+ ...
+}
+
+Satellite-Almanac-Information-ExtItem ::= SEQUENCE (SIZE (1..maxNrOfSatAlmanac-maxNoSat)) OF
+ SEQUENCE {
+ dATA-ID DATA-ID,
+ sAT-ID SAT-ID,
+ gps-e-alm BIT STRING (SIZE (16)),
+ gps-toa-alm BIT STRING (SIZE (8)),
+ gps-delta-I-alm BIT STRING (SIZE (16)),
+ omegadot-alm BIT STRING (SIZE (16)),
+ svhealth-alm BIT STRING (SIZE (8)),
+ gps-a-sqrt-alm BIT STRING (SIZE (24)),
+ omegazero-alm BIT STRING (SIZE (24)),
+ m-zero-alm BIT STRING (SIZE (24)),
+ gps-omega-alm BIT STRING (SIZE (24)),
+ gps-af-zero-alm BIT STRING (SIZE (11)),
+ gps-af-one-alm BIT STRING (SIZE (11)),
+ iE-Extensions ProtocolExtensionContainer { { Satellite-Almanac-Information-ExtItemIEs} } OPTIONAL,
+ ...
+ }
+-- Includes the GPS-Almanac-Information for the 17th through 32nd satellites.
+
+Satellite-Almanac-Information-ExtItemIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPSInformation ::= SEQUENCE (SIZE (1..maxNoGPSTypes)) OF
+ SEQUENCE {
+ gPSInformationItem ENUMERATED {
+ gPS-NavigationModel-and-TimeRecovery,
+ gPS-Ionospheric-Model,
+ gPS-UTC-Model,
+ gPS-Almanac,
+ gPS-RealTime-Integrity,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { GPSInformation-ExtIEs} } OPTIONAL,
+ ...
+ }
+-- This IE shall be present if the Information Type IE indicates ‘GPS Information’
+
+GPSInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPS-Ionospheric-Model ::= SEQUENCE {
+ alpha-zero-ionos BIT STRING (SIZE (8)),
+ alpha-one-ionos BIT STRING (SIZE (8)),
+ alpha-two-ionos BIT STRING (SIZE (8)),
+ alpha-three-ionos BIT STRING (SIZE (8)),
+ beta-zero-ionos BIT STRING (SIZE (8)),
+ beta-one-ionos BIT STRING (SIZE (8)),
+ beta-two-ionos BIT STRING (SIZE (8)),
+ beta-three-ionos BIT STRING (SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { { GPS-Ionospheric-Model-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GPS-Ionospheric-Model-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPS-NavigationModel-and-TimeRecovery ::= SEQUENCE (SIZE (1..maxNoSat)) OF
+ SEQUENCE {
+ tx-tow-nav INTEGER (0..1048575),
+ sAT-ID SAT-ID,
+ tlm-message-nav BIT STRING (SIZE (14)),
+ tlm-revd-c-nav BIT STRING (SIZE (2)),
+ ho-word-nav BIT STRING (SIZE (22)),
+ w-n-nav BIT STRING (SIZE (10)),
+ ca-or-p-on-l2-nav BIT STRING (SIZE (2)),
+ user-range-accuracy-index-nav BIT STRING (SIZE (4)),
+ sv-health-nav BIT STRING (SIZE (6)),
+ iodc-nav BIT STRING (SIZE (10)),
+ l2-p-dataflag-nav BIT STRING (SIZE (1)),
+ sf1-reserved-nav BIT STRING (SIZE (87)),
+ t-gd-nav BIT STRING (SIZE (8)),
+ t-oc-nav BIT STRING (SIZE (16)),
+ a-f-2-nav BIT STRING (SIZE (8)),
+ a-f-1-nav BIT STRING (SIZE (16)),
+ a-f-zero-nav BIT STRING (SIZE (22)),
+ c-rs-nav BIT STRING (SIZE (16)),
+ delta-n-nav BIT STRING (SIZE (16)),
+ m-zero-nav BIT STRING (SIZE (32)),
+ c-uc-nav BIT STRING (SIZE (16)),
+ gps-e-nav BIT STRING (SIZE (32)),
+ c-us-nav BIT STRING (SIZE (16)),
+ a-sqrt-nav BIT STRING (SIZE (32)),
+ t-oe-nav BIT STRING (SIZE (16)),
+ fit-interval-flag-nav BIT STRING (SIZE (1)),
+ aodo-nav BIT STRING (SIZE (5)),
+ c-ic-nav BIT STRING (SIZE (16)),
+ omega-zero-nav BIT STRING (SIZE (32)),
+ c-is-nav BIT STRING (SIZE (16)),
+ i-zero-nav BIT STRING (SIZE (32)),
+ c-rc-nav BIT STRING (SIZE (16)),
+ gps-omega-nav BIT STRING (SIZE (32)),
+ omegadot-nav BIT STRING (SIZE (24)),
+ idot-nav BIT STRING (SIZE (14)),
+ spare-zero-fill BIT STRING (SIZE (20)),
+ iE-Extensions ProtocolExtensionContainer { { GPS-NavigationModel-and-TimeRecoveryItem-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+GPS-NavigationModel-and-TimeRecoveryItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPS-RealTime-Integrity ::= CHOICE {
+ badSatellites BadSatellites,
+ noBadSatellite NULL
+}
+
+GPS-RX-POS ::= SEQUENCE {
+ geographicalCoordinate GeographicalCoordinate,
+ altitudeAndDirection GA-AltitudeAndDirection,
+ iE-Extensions ProtocolExtensionContainer { { GPS-RX-POS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GPS-RX-POS-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GPS-Status-Health ::= ENUMERATED {
+ udre-1-0,
+ udre-0-75,
+ udre-0-5,
+ udre-0-3,
+ udre-0-1,
+ no-data,
+ invalid-data
+}
+
+GPSTOW ::= INTEGER (0..604799)
+
+GPS-UTC-Model ::= SEQUENCE {
+ a-one-utc BIT STRING (SIZE (24)),
+ a-zero-utc BIT STRING (SIZE (32)),
+ t-ot-utc BIT STRING (SIZE (8)),
+ delta-t-ls-utc BIT STRING (SIZE (8)),
+ w-n-t-utc BIT STRING (SIZE (8)),
+ w-n-lsf-utc BIT STRING (SIZE (8)),
+ dn-utc BIT STRING (SIZE (8)),
+ delta-t-lsf-utc BIT STRING (SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { { GPS-UTC-Model-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GPS-UTC-Model-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Guaranteed-Rate-Information ::= SEQUENCE {
+ guaranteed-UL-Rate Guaranteed-Rate OPTIONAL,
+ guaranteed-DL-Rate Guaranteed-Rate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Guaranteed-Rate-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Guaranteed-Rate-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Guaranteed-Rate ::= INTEGER (1..maxNrOfTFs)
+-- “1”: TFI 0, “2”: TFI 1, “3”: TFI 2, ...
+
+-- H
+
+HARQ-Info-for-E-DCH ::= ENUMERATED {
+ rv0,
+ rvtable
+}
+
+HARQ-MemoryPartitioning ::= CHOICE {
+ implicit HARQ-MemoryPartitioning-Implicit,
+ explicit HARQ-MemoryPartitioning-Explicit,
+ ...
+ }
+
+HARQ-MemoryPartitioning-Implicit ::= SEQUENCE {
+ number-of-Processes INTEGER (1..8,...,12|14|16),
+ iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioning-Implicit-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HARQ-MemoryPartitioning-Implicit-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HARQ-MemoryPartitioning-Explicit ::= SEQUENCE {
+ hARQ-MemoryPartitioningList HARQ-MemoryPartitioningList,
+ iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioning-Explicit-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HARQ-MemoryPartitioning-Explicit-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-HARQ-MemoryPartitioningInfoExtForMIMO CRITICALITY ignore EXTENSION HARQ-MemoryPartitioningInfoExtForMIMO PRESENCE optional},
+ ...
+}
+
+HARQ-MemoryPartitioningList ::= SEQUENCE (SIZE (1..maxNrOfHARQProc)) OF HARQ-MemoryPartitioningItem
+
+HARQ-MemoryPartitioningInfoExtForMIMO ::= SEQUENCE (SIZE (4|6|8)) OF HARQ-MemoryPartitioningItem
+
+HARQ-MemoryPartitioningItem ::= SEQUENCE {
+ process-Memory-Size ENUMERATED {
+ hms800, hms1600, hms2400, hms3200, hms4000,
+ hms4800, hms5600, hms6400, hms7200, hms8000,
+ hms8800, hms9600, hms10400, hms11200, hms12000,
+ hms12800, hms13600, hms14400, hms15200, hms16000,
+ hms17600, hms19200, hms20800, hms22400, hms24000,
+ hms25600, hms27200, hms28800, hms30400, hms32000,
+ hms36000, hms40000, hms44000, hms48000, hms52000,
+ hms56000, hms60000, hms64000, hms68000, hms72000,
+ hms76000, hms80000, hms88000, hms96000, hms104000,
+ hms112000, hms120000, hms128000, hms136000, hms144000,
+ hms152000, hms160000, hms176000, hms192000, hms208000,
+ hms224000, hms240000, hms256000, hms272000, hms288000,
+ hms304000,...},
+ iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioningItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HARQ-MemoryPartitioningItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HARQ-Preamble-Mode ::= ENUMERATED {
+mode0,
+mode1
+}
+
+HARQ-Process-Allocation-2ms-EDCH ::= BIT STRING ( SIZE(maxNrOfEDCHHARQProcesses2msEDCH) )
+
+HARQ-Preamble-Mode-Activation-Indicator ::=ENUMERATED {
+ harqPreambleModeSupported
+}
+
+HCS-Prio ::= INTEGER (0..7)
+-- 0 = lowest priority, ...7 = highest priority
+
+HSDSCH-Configured-Indicator ::= ENUMERATED {
+ configured-HS-DSCH,
+ no-configured-HS-DSCH
+}
+
+HSDSCH-FDD-Information ::= SEQUENCE {
+ hSDSCH-MACdFlows-Information HSDSCH-MACdFlows-Information,
+ uE-Capabilities-Info UE-Capabilities-Info,
+ mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
+ cqiFeedback-CycleK CQI-Feedback-Cycle,
+ cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL,
+ -- This IE shall be present if the CQI Feedback Cycle k IE is set to a value greater than 0.
+ ackNackRepetitionFactor AckNack-RepetitionFactor,
+ cqiPowerOffset CQI-Power-Offset,
+ ackPowerOffset Ack-Power-Offset,
+ nackPowerOffset Nack-Power-Offset,
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-FDD-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-HARQ-Preamble-Mode CRITICALITY ignore EXTENSION HARQ-Preamble-Mode PRESENCE optional}|
+{ ID id-MIMO-ActivationIndicator CRITICALITY reject EXTENSION MIMO-ActivationIndicator PRESENCE optional}|
+{ ID id-HSDSCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION HSDSCH-MACdPDUSizeFormat PRESENCE optional}|
+{ ID id-SixtyfourQAM-UsageAllowedIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-UsageAllowedIndicator PRESENCE optional}|
+{ ID id-UE-with-enhanced-HS-SCCH-support-indicator CRITICALITY ignore EXTENSION NULL PRESENCE optional}|
+{ ID id-EnhancedHSServingCC-Abort CRITICALITY reject EXTENSION EnhancedHSServingCC-Abort PRESENCE optional}|
+{ ID id-UE-SupportIndicatorExtension CRITICALITY ignore EXTENSION UE-SupportIndicatorExtension PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMORequestIndicator PRESENCE optional}|
+{ ID id-Single-Stream-MIMO-ActivationIndicator CRITICALITY reject EXTENSION Single-Stream-MIMO-ActivationIndicator PRESENCE optional}|
+{ ID id-MIMO-withfourtransmitantennas-ActivationIndicator CRITICALITY reject EXTENSION MIMO-withfourtransmitantennas-ActivationIndicator PRESENCE optional}|
+{ ID id-DualStream-MIMO-withfourtransmitantennas-ActivationIndicator CRITICALITY reject EXTENSION DualStream-MIMO-withfourtransmitantennas-ActivationIndicator PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator PRESENCE optional}|
+{ ID id-Multiflow-Information CRITICALITY reject EXTENSION Multiflow-Information PRESENCE optional}|
+{ ID id-CQI-Feedback-Cycle2-k CRITICALITY ignore EXTENSION CQI-Feedback-Cycle2 PRESENCE optional}|
+{ ID id-CQI-Cycle-Switch-Timer CRITICALITY ignore EXTENSION CQI-Cycle-Switch-Timer PRESENCE optional},
+ ...
+}
+
+HSDSCH-FDD-Information-Response ::= SEQUENCE {
+ hSDSCH-MACdFlow-Specific-InfoList-Response HSDSCH-MACdFlow-Specific-InfoList-Response OPTIONAL,
+ hSSCCH-Specific-InfoList-Response HSSCCH-FDD-Specific-InfoList-Response OPTIONAL,
+ hSPDSCH-and-HSSCCH-ScramblingCode DL-ScramblingCode OPTIONAL,
+ measurement-Power-Offset Measurement-Power-Offset OPTIONAL,
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-FDD-Information-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-User-Plane-Congestion-Fields-Inclusion CRITICALITY ignore EXTENSION User-Plane-Congestion-Fields-Inclusion PRESENCE optional}|
+{ ID id-HARQ-Preamble-Mode-Activation-Indicator CRITICALITY ignore EXTENSION HARQ-Preamble-Mode-Activation-Indicator PRESENCE optional}|
+{ ID id-MIMO-InformationResponse CRITICALITY ignore EXTENSION MIMO-InformationResponse PRESENCE optional}|
+{ ID id-SixtyfourQAM-DL-UsageIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-DL-UsageIndicator PRESENCE optional}|
+{ ID id-HSDSCH-TBSizeTableIndicator CRITICALITY ignore EXTENSION HSDSCH-TBSizeTableIndicator PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMO PRESENCE optional}|
+{ ID id-Support-of-Dynamic-DTXDRX-Related-HS-SCCH-Order CRITICALITY ignore EXTENSION Support-of-Dynamic-DTXDRX-Related-HS-SCCH-Order PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennas PRESENCE optional}|
+{ ID id-PrecoderWeightSetRestriction CRITICALITY ignore EXTENSION Precoder-Weight-Set-Restriction PRESENCE optional},
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information ::= SEQUENCE {
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-FDD-Secondary-Serving-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ID id-MIMO-ActivationIndicator CRITICALITY reject EXTENSION MIMO-ActivationIndicator PRESENCE optional}|
+{ID id-Single-Stream-MIMO-ActivationIndicator CRITICALITY reject EXTENSION Single-Stream-MIMO-ActivationIndicator PRESENCE optional}|
+{ID id-DiversityMode CRITICALITY reject EXTENSION DiversityMode PRESENCE optional}|
+{ID id-TransmitDiversityIndicator CRITICALITY reject EXTENSION TransmitDiversityIndicator PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMORequestIndicator PRESENCE optional}|
+{ID id-OrdinalNumberOfFrequency CRITICALITY reject EXTENSION OrdinalNumberOfFrequency PRESENCE optional}|
+{ID id-MIMO-withfourtransmitantennas-ActivationIndicator CRITICALITY reject EXTENSION MIMO-withfourtransmitantennas-ActivationIndicator PRESENCE optional}|
+{ID id-DualStream-MIMO-withfourtransmitantennas-ActivationIndicator CRITICALITY reject EXTENSION DualStream-MIMO-withfourtransmitantennas-ActivationIndicator PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator PRESENCE optional}|
+{ID id-Multiflow-OrdinalNumberOfFrequency CRITICALITY reject EXTENSION Multiflow-OrdinalNumberOfFrequency PRESENCE optional},
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-Response ::= SEQUENCE {
+ hSSCCH-Specific-InfoList-Response HSSCCH-FDD-Specific-InfoList-Response OPTIONAL,
+ hSPDSCH-and-HSSCCH-ScramblingCode DL-ScramblingCode OPTIONAL,
+ measurement-Power-Offset Measurement-Power-Offset OPTIONAL,
+ sixtyfourQAM-DL-UsageIndicator SixtyfourQAM-DL-UsageIndicator OPTIONAL,
+ hSDSCH-TBSizeTableIndicator HSDSCH-TBSizeTableIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-FDD-Secondary-Serving-Information-Respons-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-Respons-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ID id-MIMO-InformationResponse CRITICALITY ignore EXTENSION MIMO-InformationResponse PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMO PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennas PRESENCE optional}|
+{ID id-PrecoderWeightSetRestriction CRITICALITY ignore EXTENSION Precoder-Weight-Set-Restriction PRESENCE optional},
+ ...
+}
+
+HS-DSCH-Secondary-Serving-Information-To-Modify ::= SEQUENCE {
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
+ hSSCCH-CodeChangeGrant HSSCCH-Code-Change-Grant OPTIONAL,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Secondary-Serving-Information-To-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Secondary-Serving-Information-To-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ID id-MIMO-Mode-Indicator CRITICALITY reject EXTENSION MIMO-Mode-Indicator PRESENCE optional}|
+{ID id-Single-Stream-MIMO-Mode-Indicator CRITICALITY reject EXTENSION Single-Stream-MIMO-Mode-Indicator PRESENCE optional}|
+{ID id-DiversityMode CRITICALITY reject EXTENSION DiversityMode PRESENCE optional}|
+{ID id-TransmitDiversityIndicator CRITICALITY reject EXTENSION TransmitDiversityIndicator PRESENCE optional}|
+-- This IE shall be present if Diversity Mode IE is present and is not set to “none”
+{ID id-NonCellSpecificTxDiversity CRITICALITY reject EXTENSION NonCellSpecificTxDiversity PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMORequestIndicator PRESENCE optional}|
+{ID id-OrdinalNumberOfFrequency CRITICALITY reject EXTENSION OrdinalNumberOfFrequency PRESENCE optional}|
+{ID id-MIMO-withfourtransmitantennas-ModeIndicator CRITICALITY reject EXTENSION MIMO-withfourtransmitantennas-ModeIndicator PRESENCE optional}|
+{ID id-DualStream-MIMO-withfourtransmitantennas-ModeIndicator CRITICALITY reject EXTENSION DualStream-MIMO-withfourtransmitantennas-ModeIndicator PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator PRESENCE optional}|
+ {ID id-Multiflow-OrdinalNumberOfFrequency CRITICALITY reject EXTENSION Multiflow-OrdinalNumberOfFrequency PRESENCE optional},
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised ::= SEQUENCE {
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ID id-MIMO-Mode-Indicator CRITICALITY reject EXTENSION MIMO-Mode-Indicator PRESENCE optional}|
+{ID id-Single-Stream-MIMO-Mode-Indicator CRITICALITY reject EXTENSION Single-Stream-MIMO-Mode-Indicator PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMORequestIndicator PRESENCE optional}|
+{ID id-OrdinalNumberOfFrequency CRITICALITY reject EXTENSION OrdinalNumberOfFrequency PRESENCE optional}|
+{ID id-MIMO-withfourtransmitantennas-ModeIndicator CRITICALITY reject EXTENSION MIMO-withfourtransmitantennas-ModeIndicator PRESENCE optional}|
+{ID id-DualStream-MIMO-withfourtransmitantennas-ModeIndicator CRITICALITY reject EXTENSION DualStream-MIMO-withfourtransmitantennas-ModeIndicator PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator PRESENCE optional}|
+ {ID id-Multiflow-OrdinalNumberOfFrequency CRITICALITY reject EXTENSION Multiflow-OrdinalNumberOfFrequency PRESENCE optional},
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Update-Information ::= SEQUENCE {
+ hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
+ hS-PDSCH-Code-Change-Indicator HS-PDSCH-Code-Change-Indicator OPTIONAL,
+ -- This IE shall never be included. If received it shall be ignored.
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-FDD-Secondary-Serving-Update-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-FDD-Secondary-Serving-Update-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PrecoderWeightSetRestriction CRITICALITY ignore EXTENSION Precoder-Weight-Set-Restriction PRESENCE optional},
+ ...
+}
+
+HS-DSCH-Secondary-Serving-Cell-Change-Information-Response ::= SEQUENCE {
+ hS-DSCH-Secondary-Serving-cell-choice HS-DSCH-Secondary-Serving-cell-change-choice,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Secondary-Serving-Cell-Change-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Secondary-Serving-Cell-Change-Information-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCH-Secondary-Serving-cell-change-choice ::= CHOICE {
+ hS-Secondary-Serving-cell-change-successful HS-Secondary-Serving-cell-change-successful,
+ hS-Secondary-Serving-cell-change-unsuccessful HS-Secondary-Serving-cell-change-unsuccessful,
+ ...
+}
+
+HS-Secondary-Serving-cell-change-successful ::= SEQUENCE {
+ hS-DSCH-FDD-Secondary-Serving-Information-Response HS-DSCH-FDD-Secondary-Serving-Information-Response,
+ hSDSCH-RNTI HSDSCH-RNTI,
+ iE-Extensions ProtocolExtensionContainer { { HS-Secondary-Serving-cell-change-successful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-Secondary-Serving-cell-change-successful-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-Secondary-Serving-cell-change-unsuccessful ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { HS-Secondary-Serving-cell-change-unsuccessful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-Secondary-Serving-cell-change-unsuccessful-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+HS-DSCH-Secondary-Serving-Remove ::= NULL
+
+
+HSDSCH-Information-to-Modify ::= SEQUENCE {
+ hSDSCH-MACdFlow-Specific-InfoList-to-Modify HSDSCH-MACdFlow-Specific-InfoList-to-Modify OPTIONAL,
+ priorityQueue-Info-to-Modify PriorityQueue-InfoList-to-Modify OPTIONAL,
+ mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM OPTIONAL,
+ cqiFeedback-CycleK CQI-Feedback-Cycle OPTIONAL, -- For FDD only
+ cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL, -- For FDD only
+ ackNackRepetitionFactor AckNack-RepetitionFactor OPTIONAL, -- For FDD only
+ cqiPowerOffset CQI-Power-Offset OPTIONAL, -- For FDD only
+ ackPowerOffset Ack-Power-Offset OPTIONAL, -- For FDD only
+ nackPowerOffset Nack-Power-Offset OPTIONAL, -- For FDD only
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL, -- For FDD only
+ hSSCCH-CodeChangeGrant HSSCCH-Code-Change-Grant OPTIONAL,
+ tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL, -- For TDD only
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Information-to-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Information-to-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-HARQ-Preamble-Mode CRITICALITY ignore EXTENSION HARQ-Preamble-Mode PRESENCE optional}|
+{ ID id-HS-PDSCH-Code-Change-Grant CRITICALITY ignore EXTENSION HS-PDSCH-Code-Change-Grant PRESENCE optional}|
+ -- Applicable to FDD only
+{ ID id-MIMO-Mode-Indicator CRITICALITY reject EXTENSION MIMO-Mode-Indicator PRESENCE optional}|
+{ ID id-HSDSCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION HSDSCH-MACdPDUSizeFormat PRESENCE optional}|
+{ ID id-SixtyfourQAM-UsageAllowedIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-UsageAllowedIndicator PRESENCE optional}|
+{ ID id-UE-Capabilities-Info CRITICALITY ignore EXTENSION UE-Capabilities-Info PRESENCE optional}|
+{ ID id-EnhancedHSServingCC-Abort CRITICALITY reject EXTENSION EnhancedHSServingCC-Abort PRESENCE optional}|
+{ ID id-UE-SupportIndicatorExtension CRITICALITY ignore EXTENSION UE-SupportIndicatorExtension PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMORequestIndicator PRESENCE optional}|
+{ ID id-Single-Stream-MIMO-Mode-Indicator CRITICALITY reject EXTENSION Single-Stream-MIMO-Mode-Indicator PRESENCE optional}|
+{ ID id-MIMO-withfourtransmitantennas-ModeIndicator CRITICALITY reject EXTENSION MIMO-withfourtransmitantennas-ModeIndicator PRESENCE optional}|
+{ ID id-DualStream-MIMO-withfourtransmitantennas-ModeIndicator CRITICALITY reject EXTENSION DualStream-MIMO-withfourtransmitantennas-ModeIndicator PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator PRESENCE optional}|
+{ ID id-Multiflow-Reconfiguration CRITICALITY reject EXTENSION Multiflow-Reconfiguration PRESENCE optional}|
+{ ID id-CQI-Feedback-Cycle2-k CRITICALITY ignore EXTENSION CQI-Feedback-Cycle2 PRESENCE optional}|
+{ ID id-CQI-Cycle-Switch-Timer CRITICALITY ignore EXTENSION CQI-Cycle-Switch-Timer PRESENCE optional},
+ ...
+}
+
+HSDSCH-Information-to-Modify-Unsynchronised ::= SEQUENCE {
+ hSDSCH-MACdFlow-Specific-InfoList-to-Modify HSDSCH-MACdFlow-Specific-InfoList-to-Modify OPTIONAL,
+ priorityQueueInfotoModifyUnsynchronised PriorityQueue-InfoList-to-Modify-Unsynchronised OPTIONAL,
+ cqiPowerOffset CQI-Power-Offset OPTIONAL, -- For FDD only
+ ackPowerOffset Ack-Power-Offset OPTIONAL, -- For FDD only
+ nackPowerOffset Nack-Power-Offset OPTIONAL, -- For FDD only
+ hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL, -- Only for FDD
+ tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL, -- For TDD only
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-Information-to-Modify-Unsynchronised-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-Information-to-Modify-Unsynchronised-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-HARQ-Preamble-Mode CRITICALITY ignore EXTENSION HARQ-Preamble-Mode PRESENCE optional}|
+{ ID id-MIMO-Mode-Indicator CRITICALITY reject EXTENSION MIMO-Mode-Indicator PRESENCE optional}|
+{ ID id-SixtyfourQAM-UsageAllowedIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-UsageAllowedIndicator PRESENCE optional}|
+{ ID id-EnhancedHSServingCC-Abort CRITICALITY reject EXTENSION EnhancedHSServingCC-Abort PRESENCE optional}|
+{ ID id-UE-SupportIndicatorExtension CRITICALITY ignore EXTENSION UE-SupportIndicatorExtension PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMORequestIndicator PRESENCE optional}|
+{ ID id-Single-Stream-MIMO-Mode-Indicator CRITICALITY reject EXTENSION Single-Stream-MIMO-Mode-Indicator PRESENCE optional}|
+{ ID id-MIMO-withfourtransmitantennas-ModeIndicator CRITICALITY reject EXTENSION MIMO-withfourtransmitantennas-ModeIndicator PRESENCE optional}|
+{ ID id-DualStream-MIMO-withfourtransmitantennas-ModeIndicator CRITICALITY reject EXTENSION DualStream-MIMO-withfourtransmitantennas-ModeIndicator PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator PRESENCE optional}|
+{ ID id-Multiflow-Reconfiguration CRITICALITY reject EXTENSION Multiflow-Reconfiguration PRESENCE optional},
+ ...
+}
+
+HSDSCH-MACdFlow-ID ::= INTEGER (0..maxNrOfMACdFlows-1)
+
+HSDSCH-MACdFlow-Specific-InfoList ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InfoItem
+
+HSDSCH-MACdPDUSizeFormat ::= ENUMERATED {
+ indexedMACdPDU-Size,
+ flexibleMACdPDU-Size
+}
+
+HSDSCH-MACdFlow-Specific-InfoItem ::= SEQUENCE {
+ hSDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority,
+ trafficClass TrafficClass,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InfoItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InfoItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional}|
+ {ID id-TrCH-SrcStatisticsDescr CRITICALITY ignore EXTENSION TrCH-SrcStatisticsDescr PRESENCE optional},
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InfoList-Response ::= SEQUENCE (SIZE (0..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InfoItem-Response
+
+HSDSCH-MACdFlow-Specific-InfoItem-Response ::= SEQUENCE {
+ hSDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ hSDSCH-Initial-Capacity-Allocation HSDSCH-Initial-Capacity-Allocation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InfoItem-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InfoItem-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InfoList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InfoItem-to-Modify
+
+HSDSCH-MACdFlow-Specific-InfoItem-to-Modify ::= SEQUENCE {
+ hSDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ trafficClass TrafficClass OPTIONAL,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+HSDSCH-MACdFlows-Information ::= SEQUENCE {
+ hSDSCH-MACdFlow-Specific-Info HSDSCH-MACdFlow-Specific-InfoList,
+ priorityQueue-Info PriorityQueue-InfoList,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlows-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+
+HSDSCH-MACdFlows-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-MACdFlows-to-Delete ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlows-to-Delete-Item
+
+HSDSCH-MACdFlows-to-Delete-Item ::= SEQUENCE {
+ hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlows-to-Delete-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-MACdFlows-to-Delete-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-Initial-Capacity-Allocation::= SEQUENCE (SIZE (1..maxNrOfPrioQueues)) OF HSDSCH-Initial-Capacity-AllocationItem
+
+HSDSCH-Initial-Capacity-AllocationItem ::= SEQUENCE {
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ maximum-MACdPDU-Size MACdPDU-Size,
+ hSDSCH-InitialWindowSize HSDSCH-InitialWindowSize,
+ iE-Extensions ProtocolExtensionContainer { {HSDSCH-Initial-Capacity-AllocationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-Initial-Capacity-AllocationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-MaximumMACdPDU-SizeExtended CRITICALITY ignore EXTENSION MAC-PDU-SizeExtended PRESENCE optional},
+ ...
+}
+
+HSDSCH-InitialWindowSize ::= INTEGER (1..255)
+-- Number of MAC-d PDUs.
+
+
+
+HSDSCH-PreconfigurationInfo ::= SEQUENCE {
+ setsOfHS-SCCH-Codes SetsOfHS-SCCH-Codes,
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning,
+ eDCH-FDD-DL-ControlChannelInformation EDCH-FDD-DL-ControlChannelInformation OPTIONAL,
+ hARQ-Preamble-Mode-Activation-Indicator HARQ-Preamble-Mode-Activation-Indicator OPTIONAL,
+ mIMO-N-M-Ratio MIMO-InformationResponse OPTIONAL,
+ continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-PreconfigurationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCH-PreconfigurationInfo-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-power-offset-for-S-CPICH-for-MIMO CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMO PRESENCE optional}|
+{ ID id-Additional-EDCH-Preconfiguration-Information CRITICALITY ignore EXTENSION Additional-EDCH-Preconfiguration-Information PRESENCE optional}|
+{ ID id-Support-of-Dynamic-DTXDRX-Related-HS-SCCH-Order CRITICALITY ignore EXTENSION Support-of-Dynamic-DTXDRX-Related-HS-SCCH-Order PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennas PRESENCE optional}|
+{ ID id-FTPICH-Information-Response CRITICALITY ignore EXTENSION FTPICH-Information-Response PRESENCE optional},
+ ...
+}
+
+Additional-EDCH-Preconfiguration-Information ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Preconfiguration-Information-ItemIEs
+
+Additional-EDCH-Preconfiguration-Information-ItemIEs ::= SEQUENCE {
+ eDCH-FDD-DL-ControlChannelInformation EDCH-FDD-DL-ControlChannelInformation,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Preconfiguration-Information-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Preconfiguration-Information-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+HSDSCH-PreconfigurationSetup ::= SEQUENCE {
+ mAChsResetScheme MAChsResetScheme,
+ hSDSCH-Physical-Layer-Category INTEGER (1..64,...),
+ mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
+ secondaryServingCells SecondaryServingCells OPTIONAL,
+ numPrimaryHS-SCCH-Codes NumHS-SCCH-Codes OPTIONAL,
+ hARQ-Preamble-Mode HARQ-Preamble-Mode OPTIONAL,
+ mIMO-ActivationIndicator MIMO-ActivationIndicator OPTIONAL,
+ hSDSCH-MACdPDUSizeFormat HSDSCH-MACdPDUSizeFormat OPTIONAL,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ uE-with-enhanced-HS-SCCH-support-indicator NULL OPTIONAL,
+ continuous-Packet-Connectivity-HS-SCCH-Less-Information Continuous-Packet-Connectivity-HS-SCCH-Less-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCHPreconfigurationSetup-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCHPreconfigurationSetup-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-UE-SupportIndicatorExtension CRITICALITY ignore EXTENSION UE-SupportIndicatorExtension PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMORequestIndicator PRESENCE optional}|
+{ ID id-MIMO-withfourtransmitantennas-ActivationIndicator CRITICALITY ignore EXTENSION MIMO-withfourtransmitantennas-ActivationIndicator PRESENCE optional}|
+{ ID id-DualStream-MIMO-withfourtransmitantennas-ActivationIndicator CRITICALITY ignore EXTENSION DualStream-MIMO-withfourtransmitantennas-ActivationIndicator PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator PRESENCE optional}|
+{ ID id-Multiflow-Information CRITICALITY ignore EXTENSION Multiflow-Information PRESENCE optional}|
+{ ID id-FTPICH-Information CRITICALITY ignore EXTENSION FTPICH-Information PRESENCE optional}|
+{ ID id-UL-CLTD-Information CRITICALITY ignore EXTENSION UL-CLTD-Information PRESENCE optional}|
+{ ID id-UL-MIMO-Information CRITICALITY ignore EXTENSION UL-MIMO-Information PRESENCE optional}|
+{ ID id-SixteenQAM-UL-Operation-Indicator CRITICALITY ignore EXTENSION SixteenQAM-UL-Operation-Indicator PRESENCE optional}|
+{ ID id-SixtyfourQAM-UL-Operation-Indicator CRITICALITY reject EXTENSION SixtyfourQAM-UL-Operation-Indicator PRESENCE optional},
+ ...
+}
+
+
+HS-SCCH-PreconfiguredCodes ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HS-SCCH-PreconfiguredCodesItem
+
+HS-SCCH-PreconfiguredCodesItem ::= SEQUENCE {
+ hS-SCCH-CodeNumber HS-SCCH-CodeNumber,
+ iE-Extensions ProtocolExtensionContainer { { HS-SCCH-PreconfiguredCodesItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-SCCH-PreconfiguredCodesItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SCCH-CodeNumber ::= INTEGER (0..127)
+
+
+HSDSCH-RNTI ::= INTEGER (0..65535)
+
+
+HS-DSCH-serving-cell-change-information ::= SEQUENCE {
+ hS-PDSCH-RLID RL-ID,
+ hSDSCH-FDD-Information HSDSCH-FDD-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-serving-cell-change-information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCH-serving-cell-change-information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information CRITICALITY reject EXTENSION Continuous-Packet-Connectivity-HS-SCCH-Less-Information PRESENCE optional}|
+{ ID id-Continuous-Packet-Connectivity-DTX-DRX-Information CRITICALITY reject EXTENSION Continuous-Packet-Connectivity-DTX-DRX-Information PRESENCE optional},
+ ...
+}
+
+
+HS-DSCH-serving-cell-change-informationResponse ::= SEQUENCE {
+ hS-DSCH-serving-cell-choice HS-DSCH-serving-cell-change-choice,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-serving-cell-change-informationResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-DSCH-serving-cell-change-informationResponse-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCH-serving-cell-change-choice ::= CHOICE {
+ hS-serving-cell-change-successful HS-serving-cell-change-successful,
+ hS-serving-cell-change-unsuccessful HS-serving-cell-change-unsuccessful,
+ ...
+}
+
+HSDSCH-TBSizeTableIndicator ::= ENUMERATED {
+ octet-aligned
+}
+
+HS-serving-cell-change-successful ::= SEQUENCE {
+ hSDSCH-FDD-Information-Response HSDSCH-FDD-Information-Response,
+ hSDSCH-RNTI HSDSCH-RNTI,
+ iE-Extensions ProtocolExtensionContainer { { HS-serving-cell-change-successful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-serving-cell-change-successful-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response CRITICALITY ignore EXTENSION Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response PRESENCE optional},
+ ...
+}
+
+HS-serving-cell-change-unsuccessful ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { HS-serving-cell-change-unsuccessful-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HS-serving-cell-change-unsuccessful-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSPDSCH-First-Code-Index ::= INTEGER (1..maxHS-PDSCHCodeNrComp-1)
+ -- index of first HS-PDSCH code
+
+HSPDSCH-Second-Code-Index ::= INTEGER (1..maxHS-PDSCHCodeNrComp-1)
+ -- index of second HS-PDSCH code
+
+HSPDSCH-Second-Code-Support ::= BOOLEAN
+ -- true: applied, false: not applied
+
+
+HSDSCH-TDD-Information ::= SEQUENCE {
+ hSDSCH-MACdFlows-Information HSDSCH-MACdFlows-Information,
+ uE-Capabilities-Info UE-Capabilities-Info,
+ mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
+ tDD-AckNack-Power-Offset TDD-AckNack-Power-Offset,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-TDD-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-HSDSCH-MACdPDUSizeFormat CRITICALITY reject EXTENSION HSDSCH-MACdPDUSizeFormat PRESENCE optional}|
+{ ID id-HSSICH-SIRTarget CRITICALITY ignore EXTENSION UL-SIR PRESENCE optional}|
+-- Applicable to 1.28Mcps TDD only
+{ ID id-HSSICH-TPC-StepSize CRITICALITY ignore EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional}|
+-- Mandatory for 1.28Mcps TDD only
+{ ID id-tSN-Length CRITICALITY reject EXTENSION TSN-Length PRESENCE optional}|
+-- Applicable for 1.28Mcps TDD when using multiple frequencies
+{ ID id-MIMO-ActivationIndicator CRITICALITY reject EXTENSION MIMO-ActivationIndicator PRESENCE optional},
+ ...
+}
+
+HSDSCH-TDD-Information-Response ::= SEQUENCE {
+ hSDSCH-MACdFlow-Specific-InfoList-Response HSDSCH-MACdFlow-Specific-InfoList-Response OPTIONAL,
+ hSSCCH-TDD-Specific-InfoList-Response HSSCCH-TDD-Specific-InfoList-Response OPTIONAL,
+ -- Not Applicable to 1.28Mcps TDD
+ hSSCCH-TDD-Specific-InfoList-Response-LCR HSSCCH-TDD-Specific-InfoList-Response-LCR OPTIONAL,
+ -- Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD. This HSSCCH Specific Information is for the first Frequency repetition, HSSCCH Specific Information for Frequency repetitions 2 and on, should be defined in MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR
+ hSPDSCH-TDD-Specific-InfoList-Response HSPDSCH-TDD-Specific-InfoList-Response OPTIONAL,
+ hSPDSCH-TDD-Specific-InfoList-Response-LCR HSPDSCH-TDD-Specific-InfoList-Response-LCR OPTIONAL,
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
+ -- For 1.28Mcps TDD, this HARQ Memory Partitioning Information is for the first Frequency repetition, HARQ Memory Partitioning Information for Frequency repetitions 2 and on, should be defined in MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Information-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-TDD-Information-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-User-Plane-Congestion-Fields-Inclusion CRITICALITY ignore EXTENSION User-Plane-Congestion-Fields-Inclusion PRESENCE optional}|
+{ ID id-hSSCCH-TDD-Specific-InfoList-Response768 CRITICALITY ignore EXTENSION HSSCCH-TDD-Specific-InfoList-Response768 PRESENCE optional}|
+{ ID id-hSPDSCH-TDD-Specific-InfoList-Response768 CRITICALITY ignore EXTENSION HSPDSCH-TDD-Specific-InfoList-Response768 PRESENCE optional}|
+{ ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional}|
+-- Applicable to 1.28Mcps TDD when using multiple frequencies ,This is the UARFCN for the first Frequency repetition
+{ ID id-multipleFreq-HSPDSCH-InformationList-ResponseTDDLCR CRITICALITY ignore EXTENSION MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR PRESENCE optional}|
+-- Applicable to 1.28Mcps TDD when using multiple frequencies ,This MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR is the HS-SCCH and HARQ Memory Partitioning information for the 2nd and beyond HS-PDSCH frequencies
+{ ID id-multicarrier-number CRITICALITY ignore EXTENSION Multicarrier-Number PRESENCE optional}|
+-- Applicable for 1.28Mcps TDD when using multiple frequencies
+{ID id-MIMO-SFMode-For-HSPDSCHDualStream CRITICALITY reject EXTENSION MIMO-SFMode-For-HSPDSCHDualStream PRESENCE optional}|
+{ID id-MIMO-ReferenceSignal-InformationListLCR CRITICALITY reject EXTENSION MIMO-ReferenceSignal-InformationListLCR PRESENCE optional}|
+{ ID id-TS0-HS-PDSCH-Indication-LCR CRITICALITY ignore EXTENSION TS0-HS-PDSCH-Indication-LCR PRESENCE optional}|
+{ ID id-Out-of-Sychronization-Window CRITICALITY reject EXTENSION Out-of-Sychronization-Window PRESENCE optional},
+ ...
+}
+
+Multicarrier-Number ::= INTEGER (1..maxHSDPAFrequency)
+
+HSPDSCH-TDD-Specific-InfoList-Response ::= SEQUENCE (SIZE (0..maxNrOfDLTs)) OF HSPDSCH-TDD-Specific-InfoItem-Response
+
+HSPDSCH-TDD-Specific-InfoItem-Response ::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ iE-Extensions ProtocolExtensionContainer { { HSPDSCH-TDD-Specific-InfoItem-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSPDSCH-TDD-Specific-InfoItem-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSPDSCH-TDD-Specific-InfoList-Response-LCR ::= SEQUENCE (SIZE (1.. maxNrOfDLTsLCR)) OF HSPDSCH-TDD-Specific-InfoItem-Response-LCR
+
+HSPDSCH-TDD-Specific-InfoItem-Response-LCR ::= SEQUENCE {
+ timeslotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ iE-Extensions ProtocolExtensionContainer { { HSPDSCH-TDD-Specific-InfoItem-Response-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSPDSCH-TDD-Specific-InfoItem-Response-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSPDSCH-TDD-Specific-InfoList-Response768 ::= SEQUENCE (SIZE (0..maxNrOfDLTs)) OF HSPDSCH-TDD-Specific-InfoItem-Response768
+
+HSPDSCH-TDD-Specific-InfoItem-Response768 ::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ iE-Extensions ProtocolExtensionContainer { { HSPDSCH-TDD-Specific-InfoItem-Response-768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSPDSCH-TDD-Specific-InfoItem-Response-768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSCCH-FDD-Specific-InfoList-Response ::= SEQUENCE (SIZE (0..maxNrOfHSSCCHCodes)) OF HSSCCH-FDD-Specific-InfoItem-Response
+
+HSSCCH-FDD-Specific-InfoItem-Response ::= SEQUENCE {
+ code-Number INTEGER (0..127),
+ iE-Extensions ProtocolExtensionContainer { { HSSCCH-FDD-Specific-InfoItem-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSCCH-FDD-Specific-InfoItem-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSCCH-PowerOffset ::= INTEGER (0..255)
+-- PowerOffset = -32 + offset * 0.25
+-- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
+
+HSSCCH-TDD-Specific-InfoList-Response ::= SEQUENCE (SIZE (0..maxNrOfHSSCCHCodes)) OF HSSCCH-TDD-Specific-InfoItem-Response
+
+HSSCCH-TDD-Specific-InfoItem-Response ::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ hSSICH-Info HSSICH-Info,
+ iE-Extensions ProtocolExtensionContainer { { HSSCCH-TDD-Specific-InfoItem-Response-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSCCH-TDD-Specific-InfoItem-Response-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSCCH-TDD-Specific-InfoList-Response-LCR ::= SEQUENCE (SIZE (0..maxNrOfHSSCCHCodes)) OF HSSCCH-TDD-Specific-InfoItem-Response-LCR
+
+HSSCCH-TDD-Specific-InfoItem-Response-LCR ::= SEQUENCE {
+ timeslotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ first-TDD-ChannelisationCode TDD-ChannelisationCode,
+ second-TDD-ChannelisationCode TDD-ChannelisationCode,
+ hSSICH-InfoLCR HSSICH-InfoLCR,
+ iE-Extensions ProtocolExtensionContainer { { HSSCCH-TDD-Specific-InfoItem-Response-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSCCH-TDD-Specific-InfoItem-Response-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSCCH-TDD-Specific-InfoList-Response768 ::= SEQUENCE (SIZE (0..maxNrOfHSSCCHCodes)) OF HSSCCH-TDD-Specific-InfoItem-Response768
+
+HSSCCH-TDD-Specific-InfoItem-Response768 ::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768,
+ hSSICH-Info768 HSSICH-Info768,
+ iE-Extensions ProtocolExtensionContainer { { HSSCCH-TDD-Specific-InfoItem-Response768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSCCH-TDD-Specific-InfoItem-Response768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSICH-Info ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeslot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSICH-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSSICH-InfoLCR ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeslotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSICH-Info-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HS-SICH-ID-Extension CRITICALITY ignore EXTENSION HS-SICH-ID-Extension PRESENCE optional},
+ -- Applicable for 1.28Mcps TDD only when the HS-SICH ID IE is more than 31
+ ...
+}
+
+HSSICH-Info768 ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ timeslot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSICH-Info-768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SICH-Reception-Quality-Value ::= SEQUENCE {
+ failed-HS-SICH HS-SICH-failed,
+ missed-HS-SICH HS-SICH-missed,
+ total-HS-SICH HS-SICH-total,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-Reception-Quality-Value-ExtIEs} } OPTIONAL,
+...
+}
+
+HS-SICH-Reception-Quality-Value-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SICH-failed ::= INTEGER (0..20)
+
+HS-SICH-missed ::= INTEGER (0..20)
+
+HS-SICH-total ::= INTEGER (0..20)
+
+HS-SICH-Reception-Quality-Measurement-Value ::= INTEGER (0..20)
+-- According to mapping in TS 25.133 [23]
+
+HS-SICH-ID ::= INTEGER (0..31)
+
+HS-SICH-ID-Extension ::= INTEGER (32..255,...)
+
+HSSCCH-CodeChangeIndicator ::= ENUMERATED {
+ hsSCCHCodeChangeNeeded
+}
+
+HSSCCH-Code-Change-Grant ::= ENUMERATED {
+ changeGranted
+}
+
+HS-PDSCH-Code-Change-Indicator ::= ENUMERATED {
+ hsPDSCHCodeChangeNeeded
+}
+
+HS-PDSCH-Code-Change-Grant ::= ENUMERATED {
+ changeGranted
+}
+
+HSDSCH-FDD-Update-Information ::= SEQUENCE {
+ hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
+ cqiFeedback-CycleK CQI-Feedback-Cycle OPTIONAL,
+ cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL,
+ ackNackRepetitionFactor AckNack-RepetitionFactor OPTIONAL,
+ cqiPowerOffset CQI-Power-Offset OPTIONAL,
+ ackPowerOffset Ack-Power-Offset OPTIONAL,
+ nackPowerOffset Nack-Power-Offset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Update-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-FDD-Update-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ID id-HS-PDSCH-Code-Change-Indicator CRITICALITY ignore EXTENSION HS-PDSCH-Code-Change-Indicator PRESENCE optional}|
+{ID id-PrecoderWeightSetRestriction CRITICALITY ignore EXTENSION Precoder-Weight-Set-Restriction PRESENCE optional}|
+{ID id-CQI-Feedback-Cycle2-k CRITICALITY ignore EXTENSION CQI-Feedback-Cycle2 PRESENCE optional}|
+{ID id-CQI-Cycle-Switch-Timer CRITICALITY ignore EXTENSION CQI-Cycle-Switch-Timer PRESENCE optional},
+ ...
+}
+
+HSDSCH-TDD-Update-Information ::= SEQUENCE {
+ hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
+ tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Update-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSDSCH-TDD-Update-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MIMO-ReferenceSignal-InformationListLCR ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSICH-ReferenceSignal-InformationLCR
+
+HSSICH-ReferenceSignal-InformationLCR ::= SEQUENCE {
+ midambleConfigurationLCR MidambleConfigurationLCR,
+ midambleShift INTEGER (0..15),
+ timeSlotLCR TimeSlotLCR,
+ iE-Extensions ProtocolExtensionContainer { { HSSICH-ReferenceSignal-InformationLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSSICH-ReferenceSignal-InformationLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCH-Semi-PersistentScheduling-Information-LCR ::= SEQUENCE {
+ transport-Block-Size-List Transport-Block-Size-List-LCR,
+ repetition-Period-List-LCR Repetition-Period-List-LCR,
+ hS-DSCH-SPS-Reservation-Indicator SPS-Reservation-Indicator OPTIONAL,
+ hS-DSCH-SPS-Operation-Indicator HS-DSCH-SPS-Operation-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Semi-PersistentScheduling-Information-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Semi-PersistentScheduling-Information-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSDSCH-Physical-Layer-Category ::= INTEGER (1..64)
+
+Transport-Block-Size-List-LCR ::= SEQUENCE (SIZE (1..maxNoOfTBSs-Mapping-HS-DSCH-SPS)) OF Transport-Block-Size-Item-LCR
+
+Transport-Block-Size-Item-LCR ::= SEQUENCE {
+ transport-Block-Size-maping-Index-LCR Transport-Block-Size-maping-Index-LCR,
+ transport-Block-Size-Index-LCR Transport-Block-Size-Index-LCR,
+ iE-Extensions ProtocolExtensionContainer { { Transport-Block-Size-Item-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Transport-Block-Size-Item-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transport-Block-Size-maping-Index-LCR ::= INTEGER (0..maxNoOfTBSs-Mapping-HS-DSCH-SPS-1)
+
+Transport-Block-Size-Index-LCR ::= INTEGER (1..maxNoOfHS-DSCH-TBSsLCR)
+
+TS0-HS-PDSCH-Indication-LCR ::= NULL
+
+Repetition-Period-List-LCR ::= SEQUENCE (SIZE (1..maxNoOfRepetition-Period-LCR)) OF Repetition-Period-Item-LCR
+
+Repetition-Period-Item-LCR ::= SEQUENCE {
+ repetitionPeriodIndex RepetitionPeriodIndex,
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Repetition-Period-Item-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Repetition-Period-Item-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RepetitionPeriodIndex ::= INTEGER (0..maxNoOfRepetitionPeriod-SPS-LCR-1)
+
+SPS-Reservation-Indicator ::= ENUMERATED {
+ reserve
+}
+
+HS-DSCH-SPS-Operation-Indicator ::= CHOICE {
+ logicalChannellevel LogicalChannellevel,
+ priorityQueuelevel PriorityQueuelevel,
+ ...
+}
+
+LogicalChannellevel ::= BIT STRING (SIZE (16))
+
+PriorityQueuelevel ::= BIT STRING (SIZE (8))
+
+HS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR ::= SEQUENCE {
+ transport-Block-Size-List Transport-Block-Size-List-LCR OPTIONAL,
+ repetition-Period-List-LCR Repetition-Period-List-LCR OPTIONAL,
+ hS-DSCH-SPS-Reservation-Indicator SPS-Reservation-Indicator OPTIONAL,
+ hS-DSCH-SPS-Operation-Indicator HS-DSCH-SPS-Operation-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Semi-PersistentScheduling-Information-to-Modify-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR ::= SEQUENCE {
+ hS-SICH-InformationList-for-HS-DSCH-SPS HS-SICH-InformationList-for-HS-DSCH-SPS,
+ initial-HS-PDSCH-SPS-Resource Initial-HS-PDSCH-SPS-Resource OPTIONAL,
+ buffer-Size-for-HS-DSCH-SPS Process-Memory-Size OPTIONAL,
+ number-of-Processes-for-HS-DSCH-SPS Number-of-Processes-for-HS-DSCH-SPS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+HS-SICH-InformationList-for-HS-DSCH-SPS ::= SEQUENCE (SIZE (1..maxNoOf-HS-SICH-SPS)) OF HS-SICH-InformationItem-for-HS-DSCH-SPS
+
+HS-SICH-InformationItem-for-HS-DSCH-SPS ::= SEQUENCE {
+ hS-SICH-Mapping-Index HS-SICH-Mapping-Index OPTIONAL,
+ hS-SICH-Type HS-SICH-Type,
+ iE-Extensions ProtocolExtensionContainer { { HS-SICH-InformationItem-for-HS-DSCH-SPS-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HS-SICH-InformationItem-for-HS-DSCH-SPS-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-SICH-Mapping-Index ::= INTEGER (0..maxNoOf-HS-SICH-SPS-1)
+
+HS-SICH-Type ::= CHOICE {
+ hS-SCCH-Associated-HS-SICH HS-SCCH-Associated-HS-SICH,
+ non-HS-SCCH-Associated-HS-SICH Non-HS-SCCH-Associated-HS-SICH,
+ ...
+}
+
+HS-SCCH-Associated-HS-SICH ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ extended-HS-SICH-ID HS-SICH-ID-Extension OPTIONAL,
+...
+}
+
+
+Non-HS-SCCH-Associated-HS-SICH::= SEQUENCE {
+ non-HS-SCCH-Aassociated-HS-SICH-ID Non-HS-SCCH-Aassociated-HS-SICH-ID,
+...
+}
+
+Non-HS-SCCH-Aassociated-HS-SICH-ID ::= INTEGER (0..255)
+
+Initial-HS-PDSCH-SPS-Resource::= SEQUENCE {
+ repetitionPeriodIndex RepetitionPeriodIndex,
+ repetitionLength RepetitionLength OPTIONAL,
+ hS-PDSCH-Offset TDD-PhysicalChannelOffset,
+ hS-PDSCH-Midamble-Configuation MidambleShiftLCR,
+ timeslot-Resource-Related-Information HS-DSCH-TimeslotResourceLCR,
+ startCode TDD-ChannelisationCode,
+ endCode TDD-ChannelisationCode,
+ transport-Block-Size-Index Transport-Block-Size-Index-LCR,
+ modulationType ModulationSPS-LCR,
+ hS-SICH-Mapping-Index HS-SICH-Mapping-Index,
+ iE-Extensions ProtocolExtensionContainer { { Initial-HS-PDSCH-SPS-Resource-ExtIEs } } OPTIONAL,
+...
+}
+
+Initial-HS-PDSCH-SPS-Resource-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HS-DSCH-TimeslotResourceLCR ::= BIT STRING (SIZE (5))
+
+ModulationSPS-LCR ::= ENUMERATED {
+ qPSK,
+ sixteenQAM,
+ ...
+}
+
+Number-of-Processes-for-HS-DSCH-SPS ::= INTEGER (1..16)
+
+-- I
+
+IMEI ::= OCTET STRING (SIZE(8))
+
+IMEISV ::= OCTET STRING (SIZE(8))
+
+IMSI ::= OCTET STRING (SIZE(3..8))
+
+Improved-Synchronized-Indicator ::= ENUMERATED {true}
+
+Inactivity-Threshold-for-UE-DTX-Cycle2 ::= ENUMERATED {v1, v4, v8, v16, v32, v64, v128, v256}
+-- Unit E-DCH TTI
+
+Inactivity-Threshold-for-UE-DRX-Cycle ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128, v256, v512}
+-- Unit subframe
+
+Inactivity-Threshold-for-UE-Grant-Monitoring ::= ENUMERATED {v0, v1, v2, v4, v8, v16, v32, v64, v128, v256}
+-- Unit E-DCH TTI
+
+
+
+InformationAvailable::= SEQUENCE {
+ requestedDataValue RequestedDataValue,
+ iE-Extensions ProtocolExtensionContainer { { InformationAvailable-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InformationAvailable-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationExchangeID ::= INTEGER (0..1048575)
+
+InformationNotAvailable ::= NULL
+
+InformationReportCharacteristics ::= CHOICE {
+ onDemand NULL,
+ periodic PeriodicInformation,
+ onModification OnModificationInformation,
+ ...
+}
+
+InformationReportPeriodicity ::= CHOICE {
+ min INTEGER (1..60,...),
+-- Unit min, Step 1min
+ hour INTEGER (1..24,...),
+-- Unit hour, Step 1hour
+ ...
+}
+
+InformationThreshold ::= CHOICE {
+ dGPSThreshold DGPSThreshold,
+ ...,
+ dGANSSThreshold DGANSSThreshold
+}
+
+
+InformationType ::= SEQUENCE {
+ informationTypeItem ENUMERATED {
+ gA-AccessPointPositionwithAltitude,
+ gA-AccessPointPosition,
+ iPDLParameters,
+ gPSInformation,
+ dGPSCorrections,
+ gPS-RX-POS,
+ sFNSFN-GA-AccessPointPosition,
+ ...,
+ cell-Capacity-Class,
+ nACC-Related-Data,
+ mBMSBearerServiceFullAddress,
+ interFrequencyCellInformation,
+ gANSSInformation,
+ dGANSSCorrections,
+ gANSS-RX-Pos,
+ mBMS-Counting-Information,
+ mBMS-Transmission-Mode,
+ mBMS-Neighbouring-Cell-Information,
+ mBMS-RLC-Sequence-Number,
+ aNR-Cell-Information,
+ cOmmonERGCH-Cell-Information
+ },
+ gPSInformation GPSInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { InformationType-ExtIEs} } OPTIONAL,
+ ...
+}
+
+-- The GPS Information IE shall be present if the Information Exchange Type IE indicates ‘GPS Information’
+-- For information exchange on the Iur-g interface, only the Cell Capacity Class is used.
+
+InformationType-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+-- The following IE shall be present if the Information Type Item IE indicates ‘GANSS Information’
+ { ID id-GANSS-Information CRITICALITY ignore EXTENSION GANSS-Information PRESENCE conditional}|
+-- The following IE shall be present if the Information Type Item IE indicates ‘DGANSS Corrections’
+ { ID id-DGANSS-Corrections-Req CRITICALITY ignore EXTENSION DGANSS-Corrections-Req PRESENCE conditional}|
+-- The following IE shall be present if the Information Type Item IE indicates ‘MBMS RLC Sequence Number’
+ { ID id-MBMS-RLC-Sequence-Number-Information CRITICALITY ignore EXTENSION MBMS-RLC-Sequence-Number-Information PRESENCE conditional},
+ ...
+}
+
+Initial-DL-DPCH-TimingAdjustment-Allowed ::= ENUMERATED {
+ initial-DL-DPCH-TimingAdjustment-Allowed
+}
+
+InnerLoopDLPCStatus ::= ENUMERATED {active, inactive}
+
+IPDLParameters ::= CHOICE {
+ iPDL-FDD-Parameters IPDL-FDD-Parameters,
+ iPDL-TDD-Parameters IPDL-TDD-Parameters, --3.84Mcps TDD and 7.68Mcps TDD only
+ ...,
+ extension-IPDLParameters Extension-IPDLParameters
+}
+
+Extension-IPDLParameters ::= ProtocolIE-Single-Container {{ Extension-IPDLParametersIE }}
+
+Extension-IPDLParametersIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-IPDL-TDD-ParametersLCR CRITICALITY reject TYPE IPDL-TDD-ParametersLCR PRESENCE mandatory },
+ ...
+}
+
+Inter-Frequency-Cell-List ::= SEQUENCE (SIZE (0..maxCellsMeas)) OF Inter-Frequency-Cell
+
+Inter-Frequency-Cell ::= SEQUENCE {
+ dL-UARFCN UARFCN,
+ uL-UARFCN UARFCN OPTIONAL,
+ primaryScramblingCode PrimaryScramblingCode,
+ iE-Extensions ProtocolExtensionContainer { {Inter-Frequency-Cell-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Inter-Frequency-Cell-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Inter-Frequency-Cell-Information ::= SEQUENCE {
+ inter-Frequency-Cell-Information-SIB11 Inter-Frequency-Cell-Information-SIB11,
+ inter-Frequency-Cell-Information-SIB12 Inter-Frequency-Cell-Information-SIB12,
+ iE-Extensions ProtocolExtensionContainer { {Inter-Frequency-Cell-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Inter-Frequency-Cell-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-Inter-Frequency-Cell-Information-SIB11ter CRITICALITY ignore EXTENSION Inter-Frequency-Cell-Information-SIB11ter PRESENCE optional},
+ ...
+}
+
+Inter-Frequency-Cell-Information-SIB11 ::= SEQUENCE (SIZE (0..2)) OF Inter-Frequency-Cells-Information-SIB11-Per-Indication
+
+Inter-Frequency-Cell-Information-SIB12 ::= SEQUENCE (SIZE (0..2)) OF Inter-Frequency-Cells-Information-SIB12-Per-Indication
+
+Inter-Frequency-Cell-Information-SIB11ter ::= SEQUENCE (SIZE (1..2)) OF Inter-Frequency-Cells-Information-SIB11ter-Per-Indication
+
+Inter-Frequency-Cells-Information-SIB11-Per-Indication ::= SEQUENCE {
+ inter-Frequency-Cell-Indication-SIB11 Inter-Frequency-Cell-Indication,
+ inter-Frequency-Cell-List-SIB11 Inter-Frequency-Cell-SIB11-or-SIB12-List,
+ iE-Extensions ProtocolExtensionContainer { { Inter-Frequency-Cells-Information-SIB11-Per-Indication-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Inter-Frequency-Cells-Information-SIB11-Per-Indication-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Inter-Frequency-Cells-Information-SIB12-Per-Indication ::= SEQUENCE {
+ inter-Frequency-Cell-Indication-SIB12 Inter-Frequency-Cell-Indication,
+ inter-Frequency-Cell-List-SIB12 Inter-Frequency-Cell-SIB11-or-SIB12-List,
+ iE-Extensions ProtocolExtensionContainer { { Inter-Frequency-Cells-Information-SIB12-Per-Indication-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Inter-Frequency-Cells-Information-SIB12-Per-Indication-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Inter-Frequency-Cells-Information-SIB11ter-Per-Indication ::= SEQUENCE {
+ inter-Frequency-Cell-Indication-SIB11ter Inter-Frequency-Cell-Indication,
+ inter-Frequency-Cell-List-SIB11ter Inter-Frequency-Cell-SIB11ter-List,
+ iE-Extensions ProtocolExtensionContainer { { Inter-Frequency-Cells-Information-SIB11ter-Per-Indication-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Inter-Frequency-Cell-SIB11ter-List ::= SEQUENCE (SIZE (1..maxCellSIB11ter-ext)) OF Inter-Frequency-Cell-SIB11ter
+
+Inter-Frequency-Cells-Information-SIB11ter-Per-Indication-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Inter-Frequency-Cell-SIB11ter ::= SEQUENCE {
+ interFrequencyCellID InterFrequencyCellID-Ext,
+ dL-UARFCN UARFCN,
+ uL-UARFCN UARFCN OPTIONAL,
+ primaryScramblingCode PrimaryScramblingCode,
+ iE-Extensions ProtocolExtensionContainer { { Inter-Frequency-Cell-SIB11ter-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InterFrequencyCellID-Ext ::= INTEGER(0..maxCellSIB11ter-1)
+
+Inter-Frequency-Cell-SIB11ter-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Inter-Frequency-Cell-Indication ::= INTEGER (0..1)
+
+Inter-Frequency-Cell-SIB11-or-SIB12-List ::= SEQUENCE (SIZE (0..maxCellSIB11OrSIB12)) OF Inter-Frequency-Cell-SIB11-or-SIB12
+
+Inter-Frequency-Cell-SIB11-or-SIB12 ::= SEQUENCE {
+ interFrequencyCellID InterFrequencyCellID,
+ dL-UARFCN UARFCN,
+ uL-UARFCN UARFCN OPTIONAL,
+ primaryScramblingCode PrimaryScramblingCode,
+ iE-Extensions ProtocolExtensionContainer { {Inter-Frequency-Cell-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InterFrequencyCellID ::= INTEGER (0..31)
+
+InterStream-Interference-Compensation ::= INTEGER(0..15,...)
+
+IPDL-FDD-Parameters ::= SEQUENCE {
+ iPSpacingFDD IPSpacingFDD,
+ iPLength IPLength,
+ iPOffset IPOffset,
+ seed Seed,
+ burstModeParameters BurstModeParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IPDL-FDD-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IPDL-FDD-Parameters-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDL-TDD-Parameters ::= SEQUENCE {
+ iPSpacingTDD IPSpacingTDD,
+ iPStart IPStart,
+ iPSlot IPSlot,
+ iP-P-CCPCH IP-P-CCPCH,
+ burstModeParameters BurstModeParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IPDL-TDD-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+-- The BurstModeParameters IE shall be included if the Idle Periods are arranged in Burst Mode.
+
+IPDL-TDD-Parameters-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPDL-TDD-ParametersLCR ::= SEQUENCE {
+ iPSpacingTDD IPSpacingTDD,
+ iPStart IPStart,
+ iPSub IPSub,
+ burstModeParameters BurstModeParameters OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IPDL-TDD-ParametersLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+-- The BurstModeParameters IE shall be included if the Idle Periods are arranged in Burst Mode.
+
+IPDL-TDD-ParametersLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IPLength ::= ENUMERATED {
+ ipl5,
+ ipl10,
+ ...
+}
+
+IPMulticastAddress ::= OCTET STRING (SIZE (4..16))
+
+IPOffset ::= INTEGER (0..9)
+
+IP-P-CCPCH ::= ENUMERATED {
+ switchOff-1-Frame,
+ switchOff-2-Frames
+}
+
+IPSlot ::= INTEGER (0..14)
+
+IPSpacingFDD ::= ENUMERATED {
+ ipsF5,
+ ipsF7,
+ ipsF10,
+ ipsF15,
+ ipsF20,
+ ipsF30,
+ ipsF40,
+ ipsF50,
+ ...
+}
+
+IPSpacingTDD ::= ENUMERATED {
+ ipsT30,
+ ipsT40,
+ ipsT50,
+ ipsT70,
+ ipsT100,
+ ...
+}
+
+IPStart ::= INTEGER (0..4095)
+
+IPSub ::= ENUMERATED {
+ first,
+ second,
+ both
+}
+
+IdleIntervalInformation ::= SEQUENCE {
+ idleIntervalInfo-k INTEGER(2..3),
+ idleIntervalInfo-offset INTEGER(0..7),
+ ...
+}
+
+-- J
+-- K
+-- L
+
+LABased ::= SEQUENCE {
+ laiList LAI-List,
+ iE-Extensions ProtocolExtensionContainer { {LABased-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LABased-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LAI-List ::= SEQUENCE (SIZE (1..maxNrOfLAIs)) OF
+ LAI
+
+LAC ::= OCTET STRING (SIZE (2)) --(EXCEPT (‘0000’H|’FFFE’H))
+
+LAI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ lAC LAC,
+ iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+LimitedPowerIncrease ::= ENUMERATED {
+ used,
+ not-used
+}
+
+List-Of-PLMNs ::= SEQUENCE (SIZE (1..maxNrOfBroadcastPLMNs)) OF PLMN-Identity
+
+L3-Information ::= BIT STRING
+
+Load-Value-IncrDecrThres ::= INTEGER(0..100)
+
+Load-Value ::= INTEGER(0..100)
+
+LoadValue ::= SEQUENCE {
+ uplinkLoadValue INTEGER(0..100),
+ downlinkLoadValue INTEGER(0..100)
+}
+
+LCRTDD-Uplink-Physical-Channel-Capability ::= SEQUENCE {
+ maxTimeslotsPerSubFrame INTEGER(1..6),
+ maxPhysChPerTimeslot ENUMERATED{ts1, ts2, ts3, ts4,...},
+ iE-Extensions ProtocolExtensionContainer { { LCRTDD-Uplink-Physical-Channel-Capability-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LCRTDD-Uplink-Physical-Channel-Capability-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- M
+
+M1Report ::= CHOICE {
+ periodic MDT-Report-Parameters,
+ event1F Event1F-Parameters,
+ ...
+}
+
+M2Report ::= CHOICE {
+ periodic MDT-Report-Parameters,
+ event1I Event1I-Parameters,
+ ...
+}
+
+MDT-Activation ::= ENUMERATED { mdt-only,
+ mdt-and-trace,
+ ... }
+
+MDTAreaScope ::= CHOICE {
+ cellbased CellBased,
+ labased LABased,
+ rabased RABased,
+ plmn-area-based NULL,
+ ...
+}
+
+MDT-Configuration ::= SEQUENCE {
+ mdtActivation MDT-Activation,
+ mdtAreaScope MDTAreaScope,
+ m1report M1Report OPTIONAL,
+ m2report M2Report OPTIONAL,
+ m3report NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MDT-Configuration-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+MDT-Report-Parameters ::= SEQUENCE {
+ reportInterval ReportInterval,
+ reportAmount ReportAmount,
+ ...
+}
+
+MeasurementQuantity ::= ENUMERATED {
+ cpichEcNo,
+ cpichRSCP,
+ pathloss,
+ ...
+}
+
+MaxNrOfUL-DPCHs ::= INTEGER (1..6)
+
+MAC-c-sh-SDU-Length ::= INTEGER (1..5000)
+
+MAC-c-sh-SDU-LengthList ::= SEQUENCE(SIZE(1..maxNrOfMACcshSDU-Length)) OF MAC-c-sh-SDU-Length
+
+MAC-DTX-Cycle-2ms ::= ENUMERATED {v1, v4, v5, v8, v10, v16, v20}
+
+MAC-DTX-Cycle-10ms ::= ENUMERATED {v5, v10, v20}
+
+MAC-ehs-Reset-Timer ::= ENUMERATED {v1, v2, v3, v4,...}
+
+MAC-Inactivity-Threshold ::= ENUMERATED {v1, v2, v4, v8, v16, v32, v64, v128, v256, v512, infinity}
+ -- Unit subframe
+
+MACdPDU-Size ::= INTEGER (1..5000,...)
+ -- In case of E-DCH value 8 and values not multiple of 8 shall not be used
+
+MAC-PDU-SizeExtended ::= INTEGER (1..1504,...,1505)
+ -- In case of E-DCH value 1 shall not be used
+
+MACdPDU-Size-IndexList ::= SEQUENCE (SIZE (1..maxNrOfPDUIndexes)) OF MACdPDU-Size-IndexItem
+
+MACdPDU-Size-IndexItem ::= SEQUENCE {
+ sID SID,
+ mACdPDU-Size MACdPDU-Size,
+ iE-Extensions ProtocolExtensionContainer { { MACdPDU-Size-IndexItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MACdPDU-Size-IndexItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MACdPDU-Size-IndexList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfPDUIndexes)) OF MACdPDU-Size-IndexItem-to-Modify
+
+MACdPDU-Size-IndexItem-to-Modify ::= SEQUENCE {
+ sID SID,
+ mACdPDU-Size MACdPDU-Size,
+ iE-Extensions ProtocolExtensionContainer { { MACdPDU-Size-IndexItem-to-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MACdPDU-Size-IndexItem-to-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MACes-Guaranteed-Bitrate ::= INTEGER (0..16777215,...,16777216..256000000)
+
+MACes-Maximum-Bitrate-LCR ::= INTEGER (0..256000000,...)
+
+MACeReset-Indicator ::= ENUMERATED {mACeReset}
+
+MAChsGuaranteedBitRate ::= INTEGER (0..16777215,...,16777216..1000000000)
+
+MAChsReorderingBufferSize-for-RLC-UM ::= INTEGER (0..300,...)
+-- Unit kBytes
+
+MAC-hsWindowSize ::= ENUMERATED {v4, v6, v8, v12, v16, v24, v32,... , v64, v128, v256}
+
+MAChsResetScheme ::= ENUMERATED {
+ always,
+ interNodeB-change
+}
+
+MaximumAllowedULTxPower ::= INTEGER (-50..33)
+
+Max-Bits-MACe-PDU-non-scheduled ::= INTEGER(1..maxNrOfBits-MACe-PDU-non-scheduled)
+
+MaxNrDLPhysicalchannels ::= INTEGER (1..224)
+-- 1.28Mcps TDD 97 – 224 are unused
+
+MaxNrDLPhysicalchannels768 ::= INTEGER (1..448)
+
+MaxNrDLPhysicalchannelsTS ::= INTEGER (1..16)
+
+MaxNrDLPhysicalchannelsTS768 ::= INTEGER (1..32)
+
+MaxNr-Retransmissions-EDCH ::= INTEGER (0..15)
+
+MaxNrTimeslots ::= INTEGER (1..14)
+-- 1.28Mcps values 7-14 are unused
+
+
+MaxNrULPhysicalchannels ::= INTEGER (1..2)
+
+Max-Set-E-DPDCHs ::= ENUMERATED {
+ vN256, vN128, vN64, vN32, vN16, vN8, vN4, v2xN4, v2xN2, v2xN2plus2xN4,
+ ...,
+ v2xM2plus2xM4
+ }
+-- Values releated to TS 25.212 [9]
+
+
+Max-UE-DTX-Cycle ::= ENUMERATED {
+ v5, v10, v20, v40, v64, v80, v128, v160,
+ ...,v256, v320, v512, v640, v1024, v1280
+ }
+
+MBMS-Bearer-Service-Full-Address ::= SEQUENCE {
+ accessPointName AccessPointName,
+ iPMulticastAddress IPMulticastAddress,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-Service-Full-Address-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBMS-Bearer-Service-Full-Address-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Bearer-Service-List ::= SEQUENCE (SIZE (1..maxNrOfMBMSServices)) OF TMGI
+
+MBMS-Bearer-ServiceItemFDD ::= SEQUENCE{
+ tmgi TMGI,
+ transmissionMode TransmissionMode,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-ServiceItemFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+MBMS-Bearer-ServiceItemFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Bearer-ServiceItemFDD-PFL ::=SEQUENCE{
+ tmgi TMGI,
+ transmissionMode TransmissionMode OPTIONAL,
+ preferredFrequencyLayer UARFCN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-ServiceItemFDD-PFL-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Bearer-ServiceItemFDD-PFL-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Bearer-ServiceItemTDD ::=SEQUENCE{
+ tmgi TMGI,
+ transmissionMode TransmissionMode,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-ServiceItemTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Bearer-ServiceItemTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Bearer-ServiceItemTDD-PFL ::=SEQUENCE{
+ tmgi TMGI,
+ transmissionMode TransmissionMode OPTIONAL,
+ preferredFrequencyLayer UARFCN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-ServiceItemTDD-PFL-ExtIEs} } OPTIONAL,
+ ...
+}
+MBMS-Bearer-ServiceItemTDD-PFL-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMSChannelTypeInfo ::= SEQUENCE {
+ tMGI TMGI,
+ pTM-Cell-List PTMCellList OPTIONAL,
+ pTP-Cell-List PTPCellList OPTIONAL,
+ not-Provided-Cell-List NotProvidedCellList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBMSChannelTypeInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMSChannelTypeInfo-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMSChannelTypeCellList ::= SEQUENCE {
+ c-ID C-ID,
+ affectedUEInformationForMBMS AffectedUEInformationForMBMS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBMSChannelTypeCellList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMSChannelTypeCellList-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ExtendedAffectedUEInformationForMBMS CRITICALITY ignore EXTENSION ExtendedAffectedUEInformationForMBMS PRESENCE optional},
+ ...
+}
+
+MBMSPreferredFreqLayerInfo ::= SEQUENCE {
+ tMGI TMGI,
+ preferredFrequencyLayerInfo PreferredFrequencyLayerInfo,
+ iE-Extensions ProtocolExtensionContainer { { MBMSPreferredFreqLayerInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+MBMSPreferredFreqLayerInfo-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Neighbouring-Cell-Information ::= SEQUENCE {
+ mBMS-ConcatenatedServiceList MBMS-ConcatenatedServiceList,
+ l3-Information-1 L3-Information OPTIONAL,
+-- This IE contains MBMS COMMON P-T-M RB INFORMATION defined in TS 25.331 [16]
+ l3-Information-2 L3-Information OPTIONAL,
+-- This IE contains MBMS CURRENT CELL P-T-M RB INFORMATION defined in TS 25.331 [16]
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Neighbouring-Cell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Neighbouring-Cell-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+MBMS-ConcatenatedServiceList ::= SEQUENCE (SIZE (1..maxlengthMBMSconcatservlists)) OF TMGI
+
+
+MBMS-RLC-Sequence-Number-Information ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF MBMS-RLC-Sequence-Number-Information-List
+
+MBMS-RLC-Sequence-Number-Information-List ::= SEQUENCE {
+ c-ID C-ID,
+ mBMS-Bearer-Service-List-RLC MBMS-Bearer-Service-List-RLC,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-RLC-Sequence-Number-Information-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-RLC-Sequence-Number-Information-List-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Bearer-Service-List-RLC::= SEQUENCE (SIZE (1..maxNrOfMBMSServices)) OF MBMS-Bearer-Service-List-RLCinfo
+
+MBMS-Bearer-Service-List-RLCinfo ::= SEQUENCE {
+ tmgi TMGI,
+ time-Stamp Time-Stamp,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-Service-List-RLCinfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Bearer-Service-List-RLCinfo-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBSFN-Cluster-Identity ::= INTEGER (0..65535)
+
+MCCH-Message-List ::= SEQUENCE (SIZE (1.. maxNrOfMCCHMessages)) OF L3-Information
+
+MCCH-Configuration-Info ::= SEQUENCE {
+ secondaryCCPCHSystemInformationMBMS Secondary-CCPCH-System-Information-MBMS,
+ ie-Extensions ProtocolExtensionContainer { {MCCH-Configuration-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MCCH-Configuration-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-System-Information-MBMS ::= BIT STRING
+
+MBSFN-Scheduling-Transmission-Time-Interval-Info-List ::= SEQUENCE (SIZE (1.. maxNrOfMBMSL3)) OF MBSFN-Scheduling-Transmission-Time-Interval-Item
+
+MBSFN-Scheduling-Transmission-Time-Interval-Item ::= SEQUENCE {
+ tMGI TMGI,
+ mbsfnSchedulingTransmissionTimeInterval MbsfnSchedulingTransmissionTimeInterval,
+ ie-Extensions ProtocolExtensionContainer { { MBSFN-Scheduling-Transmission-Time-Interval-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBSFN-Scheduling-Transmission-Time-Interval-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+MbsfnSchedulingTransmissionTimeInterval ::= ENUMERATED {tti4, tti8, tti16, tti32, tti64, tti128, tti256}
+
+MeasurementFilterCoefficient ::= ENUMERATED{k0, k1, k2, k3, k4, k5, k6, k7, k8, k9, k11, k13, k15, k17, k19,...}
+-- Measurement Filter Coefficient to be used for measurement
+
+MeasurementID ::= INTEGER (0..1048575)
+
+Measurement-Power-Offset ::= INTEGER(-12 .. 26)
+-- Actual value = IE value * 0.5
+
+MinimumSpreadingFactor ::= INTEGER (1..16)
+
+MinimumSpreadingFactor768 ::= INTEGER (1..32)
+
+MultipleURAsIndicator ::= ENUMERATED {
+ multiple-URAs-exist,
+ single-URA-exists
+}
+
+MaxAdjustmentStep ::= INTEGER(1..10)
+-- Unit Slot
+
+MeasurementChangeTime ::= INTEGER (1..6000,...)
+-- The MeasurementChangeTime gives the MeasurementChangeTime
+-- in number of 10 ms periods.
+-- E.g. Value 6000 means 60000ms(1min)
+-- Unit is ms, Step is 10 ms
+
+
+MeasurementHysteresisTime ::= INTEGER (1..6000,...)
+-- The MeasurementHysteresisTime gives the
+-- MeasurementHysteresisTime in number of 10 ms periods.
+-- E.g. Value 6000 means 60000ms(1min)
+-- Unit is ms, Step is 10ms
+
+MeasurementIncreaseDecreaseThreshold ::= CHOICE {
+ sir SIR-Value-IncrDecrThres,
+ sir-error SIR-Error-Value-IncrDecrThres,
+ transmitted-code-power Transmitted-Code-Power-Value-IncrDecrThres,
+ rscp RSCP-Value-IncrDecrThres,
+ round-trip-time Round-Trip-Time-IncrDecrThres,
+ ...,
+ extension-MeasurementIncreaseDecreaseThreshold Extension-MeasurementIncreaseDecreaseThreshold
+}
+
+Extension-MeasurementIncreaseDecreaseThreshold ::= ProtocolIE-Single-Container {{ Extension-MeasurementIncreaseDecreaseThresholdIE }}
+
+Extension-MeasurementIncreaseDecreaseThresholdIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-Load-Value-IncrDecrThres CRITICALITY reject TYPE Load-Value-IncrDecrThres PRESENCE mandatory }|
+ { ID id-Transmitted-Carrier-Power-Value-IncrDecrThres CRITICALITY reject TYPE Transmitted-Carrier-Power-Value-IncrDecrThres PRESENCE mandatory }|
+ { ID id-Received-Total-Wideband-Power-Value-IncrDecrThres CRITICALITY reject TYPE Received-Total-Wideband-Power-Value-IncrDecrThres PRESENCE mandatory }|
+ { ID id-UL-Timeslot-ISCP-Value-IncrDecrThres CRITICALITY reject TYPE UL-Timeslot-ISCP-Value-IncrDecrThres PRESENCE mandatory }|
+ { ID id-RT-Load-Value-IncrDecrThres CRITICALITY reject TYPE RT-Load-Value-IncrDecrThres PRESENCE mandatory }|
+ { ID id-NRT-Load-Information-Value-IncrDecrThres CRITICALITY reject TYPE NRT-Load-Information-Value-IncrDecrThres PRESENCE mandatory }|
+ { ID id-UpPTSInterferenceValue CRITICALITY reject TYPE UpPTSInterferenceValue PRESENCE mandatory }
+}
+
+MeasurementRecoveryBehavior ::= NULL
+
+MeasurementRecoveryReportingIndicator ::= NULL
+
+MeasurementRecoverySupportIndicator ::= NULL
+
+MeasurementThreshold ::= CHOICE {
+ sir SIR-Value,
+ sir-error SIR-Error-Value,
+ transmitted-code-power Transmitted-Code-Power-Value,
+ rscp RSCP-Value,
+ rx-timing-deviation Rx-Timing-Deviation-Value,
+ round-trip-time Round-Trip-Time-Value,
+ ...,
+ extension-MeasurementThreshold Extension-MeasurementThreshold
+}
+
+Extension-MeasurementThreshold ::= ProtocolIE-Single-Container {{ Extension-MeasurementThresholdIE }}
+
+Extension-MeasurementThresholdIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-TUTRANGPSMeasurementThresholdInformation CRITICALITY reject TYPE TUTRANGPSMeasurementThresholdInformation PRESENCE mandatory }|
+ { ID id-SFNSFNMeasurementThresholdInformation CRITICALITY reject TYPE SFNSFNMeasurementThresholdInformation PRESENCE mandatory }|
+ { ID id-Load-Value CRITICALITY reject TYPE Load-Value PRESENCE mandatory }|
+ { ID id-Transmitted-Carrier-Power-Value CRITICALITY reject TYPE Transmitted-Carrier-Power-Value PRESENCE mandatory }|
+ { ID id-Received-Total-Wideband-Power-Value CRITICALITY reject TYPE Received-Total-Wideband-Power-Value PRESENCE mandatory }|
+ { ID id-UL-Timeslot-ISCP-Value CRITICALITY reject TYPE UL-Timeslot-ISCP-Value PRESENCE mandatory }|
+ { ID id-RT-Load-Value CRITICALITY reject TYPE RT-Load-Value PRESENCE mandatory }|
+ { ID id-NRT-Load-Information-Value CRITICALITY reject TYPE NRT-Load-Information-Value PRESENCE mandatory }|
+ { ID id-Rx-Timing-Deviation-Value-LCR CRITICALITY reject TYPE Rx-Timing-Deviation-Value-LCR PRESENCE mandatory}|
+ { ID id-HS-SICH-Reception-Quality-Measurement-Value CRITICALITY reject TYPE HS-SICH-Reception-Quality-Measurement-Value PRESENCE mandatory }|
+ { ID id-UpPTSInterferenceValue CRITICALITY reject TYPE UpPTSInterferenceValue PRESENCE mandatory }|
+ { ID id-Rx-Timing-Deviation-Value-768 CRITICALITY reject TYPE Rx-Timing-Deviation-Value-768 PRESENCE mandatory }|
+ { ID id-Rx-Timing-Deviation-Value-ext CRITICALITY reject TYPE Rx-Timing-Deviation-Value-ext PRESENCE mandatory }|
+ { ID id-Extended-Round-Trip-Time-Value CRITICALITY reject TYPE Extended-Round-Trip-Time-Value PRESENCE mandatory }|
+ { ID id-TUTRANGANSSMeasurementThresholdInformation CRITICALITY reject TYPE TUTRANGANSSMeasurementThresholdInformation PRESENCE mandatory }|
+ { ID id-UE-transmission-power-headroom CRITICALITY reject TYPE UE-transmission-power-headroom-Value PRESENCE mandatory }
+}
+
+MidambleConfigurationBurstType1And3 ::= ENUMERATED {v4, v8, v16}
+
+MidambleConfigurationBurstType2 ::= ENUMERATED {v3, v6}
+
+MidambleConfigurationLCR ::= ENUMERATED {v2, v4, v6, v8, v10, v12, v14, v16, ...}
+
+MidambleShiftAndBurstType ::= CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2 MidambleConfigurationBurstType2,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftShort,
+ ...
+ },
+ ...
+ },
+ type3 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ ...
+}
+
+MidambleShiftLong ::= INTEGER (0..15)
+
+MidambleShiftShort ::= INTEGER (0..5)
+
+MidambleShiftLCR ::= SEQUENCE {
+ midambleAllocationMode MidambleAllocationMode,
+ midambleShift MidambleShiftLong OPTIONAL,
+ -- The IE shall be present if the Midamble Allocation Mode IE is set to “UE specific midamble”.
+midambleConfigurationLCR MidambleConfigurationLCR,
+ iE-Extensions ProtocolExtensionContainer { {MidambleShiftLCR-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+MidambleAllocationMode ::= ENUMERATED {
+ defaultMidamble,
+ commonMidamble,
+ uESpecificMidamble,
+ ...
+ }
+
+MidambleShiftLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MidambleShiftAndBurstType768 ::= CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2-768 MidambleConfigurationBurstType2-768,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble MidambleShiftShort768,
+ ...
+ },
+ ...
+ },
+ type3 SEQUENCE {
+ midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble MidambleShiftLong,
+ ...
+ },
+ ...
+ },
+ ...
+}
+
+MidambleConfigurationBurstType2-768 ::= ENUMERATED {v4, v8}
+
+MidambleShiftShort768 ::= INTEGER (0..7)
+
+MIMO-ActivationIndicator ::= NULL
+
+MIMO-InformationResponse ::= SEQUENCE {
+ mIMO-PilotConfiguration MIMO-PilotConfiguration,
+ mIMO-N-M-Ratio MIMO-N-M-Ratio,
+ iE-Extensions ProtocolExtensionContainer { { MIMO-InformationResponse-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MIMO-InformationResponse-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-Associated-Secondary-CPICH CRITICALITY reject EXTENSION Additional-Associated-Secondary-CPICH PRESENCE optional},
+ ...
+}
+
+
+MIMO-Mode-Indicator ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+MIMO-N-M-Ratio ::= ENUMERATED {v1-2, v2-3, v3-4, v4-5, v5-6, v6-7, v7-8, v8-9, v9-10, v1-1,...}
+
+MIMO-PilotConfiguration ::= CHOICE {
+ primary-and-secondary-CPICH MIMO-S-CPICH-Channelisation-Code,
+ normal-and-diversity-primary-CPICH NULL,
+ ...
+}
+
+MIMO-S-CPICH-Channelisation-Code ::= INTEGER (0..255)
+
+MIMO-withfourtransmitantennas-ActivationIndicator ::= NULL
+
+MIMO-withfourtransmitantennas-ModeIndicator ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+DualStream-MIMO-withfourtransmitantennas-ActivationIndicator ::= NULL
+
+DualStream-MIMO-withfourtransmitantennas-ModeIndicator ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+Additional-Associated-Secondary-CPICH ::= SEQUENCE (SIZE (1.. maxSCPICHCell-1)) OF Additional-Secondary-CPICH
+
+Additional-Secondary-CPICH ::= SEQUENCE{
+ additional-secondary-CPICH MIMO-S-CPICH-Channelisation-Code,
+ additional-D-CPICH MIMO-S-CPICH-Channelisation-Code OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-Secondary-CPICH-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-Secondary-CPICH-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MinUL-ChannelisationCodeLength ::= ENUMERATED {
+ v4,
+ v8,
+ v16,
+ v32,
+ v64,
+ v128,
+ v256
+}
+
+MinimumReducedE-DPDCH-GainFactor ::= ENUMERATED {m8-15, m11-15, m15-15, m21-15, m30-15, m42-15, m60-15, m84-15,...}
+
+
+ModifyPriorityQueue ::= CHOICE {
+ addPriorityQueue PriorityQueue-InfoItem-to-Add,
+ modifyPriorityQueue PriorityQueue-InfoItem-to-Modify,
+ deletePriorityQueue PriorityQueue-Id,
+ ...
+}
+
+Modulation ::= ENUMERATED {
+ qPSK,
+ eightPSK,
+ ...
+}
+
+MulticellEDCH-Information ::= ProtocolIE-Single-Container { {MulticellEDCH-InformationItem} }
+
+MulticellEDCH-InformationItem RNSAP-PROTOCOL-IES ::= {
+ { ID id-MulticellEDCH-Information CRITICALITY ignore TYPE MulticellEDCH-InformationItemIEs PRESENCE mandatory }
+}
+
+MulticellEDCH-InformationItemIEs::= SEQUENCE {
+ dL-PowerBalancing-Information DL-PowerBalancing-Information OPTIONAL,
+ minimumReducedE-DPDCH-GainFactor MinimumReducedE-DPDCH-GainFactor OPTIONAL,
+ secondary-UL-Frequency-Activation-State Secondary-UL-Frequency-Activation-State OPTIONAL,
+ f-DPCH-SlotFormat F-DPCH-SlotFormat OPTIONAL,
+ common-DL-ReferencePowerInformation DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MulticellEDCH-InformationItemIEs-ExtIEs } } OPTIONAL,
+ ...
+
+}
+
+MulticellEDCH-InformationItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MulticellEDCH-RL-SpecificInformation ::= ProtocolIE-Single-Container { {MulticellEDCH-RL-SpecificInformationItem} }
+
+MulticellEDCH-RL-SpecificInformationItem RNSAP-PROTOCOL-IES ::= {
+ { ID id-MulticellEDCH-RL-SpecificInformation CRITICALITY ignore TYPE MulticellEDCH-RL-SpecificInformationItemIEs PRESENCE mandatory }
+}
+
+MulticellEDCH-RL-SpecificInformationItemIEs::= SEQUENCE {
+ extendedPropagationDelay ExtendedPropagationDelay OPTIONAL,
+ enhanced-PrimaryCPICH-EcNo Enhanced-PrimaryCPICH-EcNo OPTIONAL,
+ dl-Reference-Power DL-Power OPTIONAL,
+ phase-Reference-Update-Indicator Phase-Reference-Update-Indicator OPTIONAL,
+ additional-e-DCH-DL-Control-Channel-Grant NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MulticellEDCH-RL-SpecificInformationItemIEs-ExtIEs } } OPTIONAL,
+ ...
+
+}
+
+MulticellEDCH-RL-SpecificInformationItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multicell-EDCH-Restriction ::= BOOLEAN
+
+Multiple-PLMN-List ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ list-Of-PLMNs List-Of-PLMNs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-PLMN-List-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+Multiple-PLMN-List-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MultiplexingPosition ::= ENUMERATED {
+ fixed,
+ flexible
+}
+
+MAChs-ResetIndicator ::= ENUMERATED{
+ mAChs-NotReset
+}
+
+MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR ::= SEQUENCE (SIZE (1.. maxHSDPAFrequency-1)) OF MultipleFreq-HSPDSCH-InformationItem-ResponseTDDLCR
+--Includes the 2nd through the max number of frequency repetitions
+
+MultipleFreq-HSPDSCH-InformationItem-ResponseTDDLCR ::= SEQUENCE{
+ hSSCCH-TDD-Specific-InfoList-Response-LCR HSSCCH-TDD-Specific-InfoList-Response-LCR OPTIONAL,
+ hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
+ uARFCN UARFCN,
+ -- This is the UARFCN for the second and beyond Frequency repetition.
+ iE-Extensions ProtocolExtensionContainer { { MultipleFreq-HSPDSCH-InformationItem-ResponseTDDLCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MultipleFreq-HSPDSCH-InformationItem-ResponseTDDLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+MIMO-SFMode-For-HSPDSCHDualStream ::= ENUMERATED {
+ sF1,
+ sF1SF16
+}
+
+Multi-Carrier-EDCH-Info ::= SEQUENCE{
+ multicarrier-EDCH-Transport-Bearer-Mode Multicarrier-EDCH-Transport-Bearer-Mode,
+ multi-carrier-EDCH-Information Multi-Carrier-EDCH-Information,
+ iE-Extensions ProtocolExtensionContainer { { Multi-Carrier-EDCH-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multi-Carrier-EDCH-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multicarrier-EDCH-Transport-Bearer-Mode ::= ENUMERATED {
+ separate-Iur-Transport-Bearer-Mode,
+ shared-Iur-Transport-Bearer-Mode
+}
+
+Multi-Carrier-EDCH-Information ::= SEQUENCE (SIZE (1..maxNrOfULCarriersLCR-1)) OF Multi-Carrier-EDCH-LCR-InformationItem
+
+Multi-Carrier-EDCH-LCR-InformationItem ::=SEQUENCE{
+ uARFCNforNt UARFCN,
+ sNPL-carrier-group-indicator SNPL-Carrier-Group-Indicator OPTIONAL,
+ pRxdesBase E-PUCH-PRXdesBase,
+ multi-Carrier-EDCH-MACdFlows-Information-TDD Multi-Carrier-EDCH-MACdFlows-Information-TDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multi-Carrier-EDCH-LCR-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multi-Carrier-EDCH-LCR-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNPL-Carrier-Group-Indicator ::= INTEGER (1..3)
+-- for multi-carrier E-DCH operation 1.28Mcps TDD only
+
+Multi-Carrier-EDCH-MACdFlows-Information-TDD ::= SEQUENCE (SIZE (1.. maxNrOfEDCHMACdFlows)) OF Multi-Carrier-EDCH-MACdFlows-Specific-Info
+
+Multi-Carrier-EDCH-MACdFlows-Specific-Info ::= SEQUENCE {
+ e-DCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ bindingID BindingID,
+ transportLayerAddress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { Multi-Carrier-EDCH-MACdFlows-Specific-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multi-Carrier-EDCH-MACdFlows-Specific-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multi-Carrier-EDCH-Reconfigure ::=SEQUENCE{
+ continue-setup-change-Of-Multi-Carrier-EDCH Continue-Setup-Change-Multi-Carrier-EDCH,
+ iE-Extensions ProtocolExtensionContainer { { Multi-Carrier-EDCH-Reconfigure-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multi-Carrier-EDCH-Reconfigure-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Continue-Setup-Change-Multi-Carrier-EDCH ::= CHOICE {
+ continue NULL,
+ setup Multi-Carrier-EDCH-Info,
+ change Multi-Carrier-EDCH-Change-Info,
+ ...
+}
+
+Multi-Carrier-EDCH-Change-Info ::=SEQUENCE{
+ multicarrier-EDCH-Transport-Bearer-Mode Multicarrier-EDCH-Transport-Bearer-Mode OPTIONAL,
+ multi-carrier-EDCH-Information Multi-Carrier-EDCH-Information OPTIONAL,
+ multi-Carrier-EDCH-Information-Removal-List Multi-Carrier-EDCH-Information-Removal-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multi-Carrier-EDCH-Change-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multi-Carrier-EDCH-Change-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multi-Carrier-EDCH-Information-Removal-List ::= SEQUENCE (SIZE (1..maxNrOfULCarriersLCR-1)) OF Multi-Carrier-EDCH-Information-Removal-Info-ItemIEs
+
+Multi-Carrier-EDCH-Information-Removal-Info-ItemIEs ::=SEQUENCE{
+ uARFCNforNt UARFCN,
+ iE-Extensions ProtocolExtensionContainer { { Multi-Carrier-EDCH-Information-Removal-Info-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multi-Carrier-EDCH-Information-Removal-Info-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multi-Carrier-EDCH-Information-Response ::= SEQUENCE (SIZE (1..maxNrOfULCarriersLCR-1)) OF Multi-Carrier-EDCH-LCR-Information-ResponseItem
+
+Multi-Carrier-EDCH-LCR-Information-ResponseItem ::=SEQUENCE{
+ uARFCNforNt UARFCN,
+ e-DCH-TDD-MACdFlow-Specific-InformationResp E-DCH-TDD-MACdFlow-Specific-InformationResp OPTIONAL,
+ e-AGCH-Specific-Information-Response-LCR-TDD E-AGCH-Specific-InformationRespList-LCR-TDD OPTIONAL,
+ e-HICH-Scheduled-InformationResp-LCR E-HICH-Scheduled-InformationRespList-LCR-TDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multi-Carrier-EDCH-LCR-Information-ResponseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multi-Carrier-EDCH-LCR-Information-ResponseItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multiflow-Reconfiguration ::= CHOICE {
+ setup Multiflow-Information,
+ configurationChange Multiflow-Information-To-Modify,
+ stop Multiflow-Stop,
+ ...
+}
+
+Multiflow-Information ::= SEQUENCE {
+ total-Number-of-HS-DSCH-Cells INTEGER (2..32,...),
+ mode Multiflow-Mode,
+ mimo Multiflow-MIMO,
+ timing Multiflow-Timing OPTIONAL,
+ max-Number-of-HS-SCCH-Sets-per-NodeB INTEGER (1..16,...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multiflow-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Multiflow-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ID id-Assisting-RepetitionFactors CRITICALITY ignore EXTENSION Multiflow-RepetitionFactors PRESENCE optional},
+ ...
+}
+
+Multiflow-Information-To-Modify ::= SEQUENCE {
+ total-Number-of-HS-DSCH-Cells INTEGER (2..32,...) OPTIONAL,
+ mode Multiflow-Mode OPTIONAL,
+ mimo Multiflow-MIMO OPTIONAL,
+ timing Multiflow-Timing OPTIONAL,
+ max-Number-of-HS-SCCH-Sets-per-NodeB INTEGER (1..16,...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multiflow-Information-To-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Multiflow-Information-To-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ID id-Assisting-RepetitionFactors CRITICALITY ignore EXTENSION Multiflow-RepetitionFactors PRESENCE optional},
+ ...
+}
+
+Multiflow-RepetitionFactors ::= SEQUENCE {
+ assisting-CQI-RepetitionFactor CQI-RepetitionFactor OPTIONAL,
+ assisting-AckNack-RepetitionFactor AckNack-RepetitionFactor OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Multiflow-RepetitionFactors-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Multiflow-RepetitionFactors-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multiflow-Stop ::= ENUMERATED {
+ stop,
+ ...
+}
+
+Multiflow-Mode ::= ENUMERATED {
+ primary,
+ assisting,
+ ...
+}
+
+Multiflow-MIMO ::= ENUMERATED {
+ on,
+ off,
+ ...
+}
+
+Multiflow-Timing ::= CHOICE {
+ time-Reference NULL,
+ non-Time-Reference INTEGER (0..30,...),
+ -- Unit: chip, step size 256 chips
+ -- example: 0 = 0chip, 1 = 256chips
+ ...
+}
+
+Multiflow-OrdinalNumberOfFrequency ::= INTEGER (1..32,...)
+
+MU-MIMO-InformationLCR ::= SEQUENCE {
+ mU-MIMO-Operation MU-MIMO-Operation,
+ standalone-Midamble-Channel-Information Standalone-Midamble-Channel-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MU-MIMO-InformationLCR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MU-MIMO-Operation ::= ENUMERATED {
+ mU-MIMO-Used,
+ mU-MIMO-Not-Used,
+ ...
+}
+
+MU-MIMO-Usage-Indicator ::= ENUMERATED {
+ ul-Only,
+ dl-Only,
+ ul-and-dl
+}
+
+Standalone-Midamble-Channel-Information ::= SEQUENCE {
+ standalone-Midamble-Configuration Standalone-Midamble-Configuration,
+ standalone-MidambleShift Standalone-MidambleShift,
+ timeslotLCR TimeSlotLCR,
+ repetitionPeriod Standalone-Midamble-RepetitionPeriod,
+ offset Standalone-Midamble-Offset,
+ referenceBeta ReferenceBeta OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Standalone-Midamble-Channel-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Standalone-Midamble-Configuration::= ENUMERATED {
+ v2,
+ v4,
+ v6,
+ v8,
+ v10,
+ v12,
+ v14,
+ v16,
+ ...
+}
+
+Standalone-MidambleShift ::= INTEGER (0..15)
+
+Standalone-Midamble-RepetitionPeriod ::= ENUMERATED {
+ v1,
+ v2,
+ v4,
+ v8,
+ v16,
+ v32,
+ v64,
+ ...
+}
+
+Standalone-Midamble-Offset ::= INTEGER (0..63)
+
+ReferenceBeta ::= INTEGER (-15..16)
+
+Standalone-Midamble-Channel-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MU-MIMO-InformationLCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MU-MIMO-Indicator ::= SEQUENCE {
+ mU-MIMO-Usage-Indicator MU-MIMO-Usage-Indicator,
+ standalone-Midamble-Channel-Indicator Standalone-Midamble-Channel-Indicator,
+ iE-Extensions ProtocolExtensionContainer { { MU-MIMO-Indicator-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MU-MIMO-Indicator-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- N
+
+NACC-Related-Data ::= SEQUENCE {
+ gERAN-SI-Type GERAN-SI-Type,
+ iE-Extensions ProtocolExtensionContainer { {NACC-Related-Data-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+NACC-Related-Data-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Nack-Power-Offset ::= INTEGER (0..8,..., 9..10)
+-- According to mapping in TS 25.213 [21] subclause 4.2.1
+
+NCC ::= BIT STRING (SIZE (3))
+
+Neighbouring-UMTS-CellInformation ::= SEQUENCE (SIZE (1..maxNrOfNeighbouringRNCs)) OF ProtocolIE-Single-Container {{ Neighbouring-UMTS-CellInformationItemIE }}
+
+Neighbouring-UMTS-CellInformation-Ext ::= SEQUENCE (SIZE (1..maxNrOfExtendedNeighbouringRNCs)) OF ProtocolIE-Single-Container {{ Neighbouring-UMTS-CellInformationExtensionItemIE }}
+
+Neighbouring-UMTS-CellInformationExtensionItemIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-Neighbouring-UMTS-CellInformationExtensionItem CRITICALITY ignore TYPE Neighbouring-UMTS-CellInformationExtensionItem PRESENCE mandatory }
+}
+
+Neighbouring-UMTS-CellInformationExtensionItem ::= SEQUENCE {
+ rNC-ID RNC-ID,
+ cN-PS-DomainIdentifier CN-PS-DomainIdentifier OPTIONAL,
+ cN-CS-DomainIdentifier CN-CS-DomainIdentifier OPTIONAL,
+ neighbouring-FDD-CellInformation Neighbouring-FDD-CellInformation OPTIONAL,
+ neighbouring-TDD-CellInformation Neighbouring-TDD-CellInformation OPTIONAL,
+ neighbouring-LCR-TDD-CellInformation Neighbouring-LCR-TDD-CellInformation OPTIONAL,
+ extended-RNC-ID Extended-RNC-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Neighbouring-UMTS-CellInformationExtensionItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Neighbouring-UMTS-CellInformationExtensionItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Neighbouring-UMTS-CellInformationItemIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-Neighbouring-UMTS-CellInformationItem CRITICALITY ignore TYPE Neighbouring-UMTS-CellInformationItem PRESENCE mandatory }
+}
+
+Neighbouring-UMTS-CellInformationItem ::= SEQUENCE {
+ rNC-ID RNC-ID,
+ cN-PS-DomainIdentifier CN-PS-DomainIdentifier OPTIONAL,
+ cN-CS-DomainIdentifier CN-CS-DomainIdentifier OPTIONAL,
+ neighbouring-FDD-CellInformation Neighbouring-FDD-CellInformation OPTIONAL,
+ neighbouring-TDD-CellInformation Neighbouring-TDD-CellInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Neighbouring-UMTS-CellInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Neighbouring-UMTS-CellInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-neighbouring-LCR-TDD-CellInformation CRITICALITY ignore EXTENSION Neighbouring-LCR-TDD-CellInformation PRESENCE optional}|
+ { ID id-Extended-RNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional},
+ ...
+}
+
+Neighbouring-FDD-CellInformation ::= SEQUENCE ( SIZE (1..maxNrOfFDDNeighboursPerRNC,...)) OF Neighbouring-FDD-CellInformationItem
+
+Neighbouring-FDD-CellInformationItem ::= SEQUENCE {
+ c-ID C-ID,
+ uARFCNforNu UARFCN,
+ uARFCNforNd UARFCN,
+ frameOffset FrameOffset OPTIONAL,
+ primaryScramblingCode PrimaryScramblingCode,
+ primaryCPICH-Power PrimaryCPICH-Power OPTIONAL,
+ cellIndividualOffset CellIndividualOffset OPTIONAL,
+ txDiversityIndicator TxDiversityIndicator,
+ sTTD-SupportIndicator STTD-SupportIndicator OPTIONAL,
+ closedLoopMode1-SupportIndicator ClosedLoopMode1-SupportIndicator OPTIONAL,
+ not-used-closedLoopMode2-SupportIndicator NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Neighbouring-FDD-CellInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Neighbouring-FDD-CellInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RestrictionStateIndicator CRITICALITY ignore EXTENSION RestrictionStateIndicator PRESENCE optional}|
+ { ID id-DPC-Mode-Change-SupportIndicator CRITICALITY ignore EXTENSION DPC-Mode-Change-SupportIndicator PRESENCE optional}|
+ { ID id-CoverageIndicator CRITICALITY ignore EXTENSION CoverageIndicator PRESENCE optional}|
+ { ID id-AntennaColocationIndicator CRITICALITY ignore EXTENSION AntennaColocationIndicator PRESENCE optional}|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional}|
+ { ID id-CellCapabilityContainer-FDD CRITICALITY ignore EXTENSION CellCapabilityContainer-FDD PRESENCE optional}|
+ { ID id-SNA-Information CRITICALITY ignore EXTENSION SNA-Information PRESENCE optional}|
+ { ID id-FrequencyBandIndicator CRITICALITY ignore EXTENSION FrequencyBandIndicator PRESENCE optional}|
+ { ID id-Max-UE-DTX-Cycle CRITICALITY ignore EXTENSION Max-UE-DTX-Cycle PRESENCE conditional}|
+ -- This IE shall be present if the the fifteenth bit Continuous Packet Connectivity DTX-DRX Support Indicator in the Cell Capability Container FDD IE is set to the value “1”.
+ { ID id-Multiple-PLMN-List CRITICALITY ignore EXTENSION Multiple-PLMN-List PRESENCE optional}|
+ { ID id-Secondary-Serving-Cell-List CRITICALITY ignore EXTENSION Secondary-Serving-Cell-List PRESENCE optional}|
+ { ID id-Dual-Band-Secondary-Serving-Cell-List CRITICALITY ignore EXTENSION Secondary-Serving-Cell-List PRESENCE optional}|
+-- This IE shall be present if the twenty-eighth bit Dual Band Support Indicator in the Cell Capability Container FDD IE is set to the value “1”.
+ { ID id-CellCapabilityContainerExtension-FDD CRITICALITY ignore EXTENSION CellCapabilityContainerExtension-FDD PRESENCE optional}|
+ { ID id-CellListValidityIndicator CRITICALITY ignore EXTENSION CellListValidityIndicator PRESENCE optional}|
+ { ID id-MultipleFrequencyBandsIndicatorList CRITICALITY ignore EXTENSION MultipleFrequencyBandsIndicatorList PRESENCE optional},
+ ...
+}
+
+MultipleFrequencyBandsIndicatorList ::= SEQUENCE (SIZE (0..maxMultipleFrequencyBands)) OF FrequencyBandIndicator
+
+NeighbouringFDDCellMeasurementInformation ::= SEQUENCE {
+ uC-ID UC-ID,
+ uARFCN UARFCN,
+ primaryScramblingCode PrimaryScramblingCode,
+ iE-Extensions ProtocolExtensionContainer { { NeighbouringFDDCellMeasurementInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbouringFDDCellMeasurementInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Neighbouring-GSM-CellInformation ::= ProtocolIE-Single-Container {{ Neighbouring-GSM-CellInformationIE }}
+
+Neighbouring-GSM-CellInformationIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-Neighbouring-GSM-CellInformation CRITICALITY ignore TYPE Neighbouring-GSM-CellInformationIEs PRESENCE mandatory }
+}
+
+Neighbouring-GSM-CellInformationIEs ::= SEQUENCE ( SIZE (1..maxNrOfGSMNeighboursPerRNC,...)) OF Neighbouring-GSM-CellInformationItem
+
+Neighbouring-GSM-CellInformationItem ::= SEQUENCE {
+ cGI CGI,
+ cellIndividualOffset CellIndividualOffset OPTIONAL,
+ bSIC BSIC,
+ band-Indicator Band-Indicator,
+ bCCH-ARFCN BCCH-ARFCN,
+ iE-Extensions ProtocolExtensionContainer { { Neighbouring-GSM-CellInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Neighbouring-GSM-CellInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CoverageIndicator CRITICALITY ignore EXTENSION CoverageIndicator PRESENCE optional}|
+ { ID id-AntennaColocationIndicator CRITICALITY ignore EXTENSION AntennaColocationIndicator PRESENCE optional}|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional}|
+ { ID id-SNA-Information CRITICALITY ignore EXTENSION SNA-Information PRESENCE optional}|
+ { ID id-GERAN-Cell-Capability CRITICALITY ignore EXTENSION GERAN-Cell-Capability PRESENCE optional}|
+ { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional}|
+ { ID id-ExtendedGSMCellIndividualOffset CRITICALITY ignore EXTENSION ExtendedGSMCellIndividualOffset PRESENCE optional}|
+ { ID id-PLMN-List CRITICALITY ignore EXTENSION PLMN-List PRESENCE optional},
+ ...
+}
+
+Neighbouring-TDD-CellInformation ::= SEQUENCE ( SIZE (1..maxNrOfTDDNeighboursPerRNC,...)) OF Neighbouring-TDD-CellInformationItem
+
+Neighbouring-TDD-CellInformationItem ::= SEQUENCE {
+ c-ID C-ID,
+ uARFCNforNt UARFCN,
+ frameOffset FrameOffset OPTIONAL,
+ cellParameterID CellParameterID,
+ syncCase SyncCase,
+ timeSlot TimeSlot OPTIONAL
+ -- This IE shall be present if Sync Case = Case1 -- ,
+ sCH-TimeSlot SCH-TimeSlot OPTIONAL
+ -- This IE shall be present if Sync Case = Case2 -- ,
+ sCTD-Indicator SCTD-Indicator,
+ cellIndividualOffset CellIndividualOffset OPTIONAL,
+ dPCHConstantValue DPCHConstantValue OPTIONAL,
+ pCCPCH-Power PCCPCH-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Neighbouring-TDD-CellInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Neighbouring-TDD-CellInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RestrictionStateIndicator CRITICALITY ignore EXTENSION RestrictionStateIndicator PRESENCE optional }|
+ { ID id-CoverageIndicator CRITICALITY ignore EXTENSION CoverageIndicator PRESENCE optional }|
+ { ID id-AntennaColocationIndicator CRITICALITY ignore EXTENSION AntennaColocationIndicator PRESENCE optional }|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional }|
+ { ID id-CellCapabilityContainer-TDD CRITICALITY ignore EXTENSION CellCapabilityContainer-TDD PRESENCE optional }|
+ { ID id-SNA-Information CRITICALITY ignore EXTENSION SNA-Information PRESENCE optional }|
+ { ID id-CellCapabilityContainer-TDD768 CRITICALITY ignore EXTENSION CellCapabilityContainer-TDD768 PRESENCE optional }|
+ { ID id-Multiple-PLMN-List CRITICALITY ignore EXTENSION Multiple-PLMN-List PRESENCE optional },
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformation ::= SEQUENCE {
+ uC-ID UC-ID,
+ uARFCN UARFCN,
+ cellParameterID CellParameterID,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformationLCR ::= SEQUENCE {
+ uC-ID UC-ID,
+ uARFCN UARFCN,
+ cellParameterID CellParameterID,
+ timeSlotLCR TimeSlotLCR OPTIONAL,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformationLCRItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformationLCRItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformation768 ::= SEQUENCE {
+ uC-ID UC-ID,
+ uARFCN UARFCN,
+ cellParameterID CellParameterID,
+ timeSlot TimeSlot OPTIONAL,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformationItem768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbouringTDDCellMeasurementInformationItem768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Neighbouring-LCR-TDD-CellInformation ::= SEQUENCE (SIZE (1.. maxNrOfLCRTDDNeighboursPerRNC,...)) OF Neighbouring-LCR-TDD-CellInformationItem
+
+Neighbouring-LCR-TDD-CellInformationItem ::= SEQUENCE {
+ c-ID C-ID,
+ uARFCNforNt UARFCN,
+ frameOffset FrameOffset OPTIONAL,
+ cellParameterID CellParameterID,
+ sCTD-Indicator SCTD-Indicator,
+ cellIndividualOffset CellIndividualOffset OPTIONAL,
+ dPCHConstantValue DPCHConstantValue OPTIONAL,
+ pCCPCH-Power PCCPCH-Power OPTIONAL,
+ restrictionStateIndicator RestrictionStateIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Neighbouring-LCR-TDD-CellInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Neighbouring-LCR-TDD-CellInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CoverageIndicator CRITICALITY ignore EXTENSION CoverageIndicator PRESENCE optional}|
+ { ID id-AntennaColocationIndicator CRITICALITY ignore EXTENSION AntennaColocationIndicator PRESENCE optional}|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional}|
+ { ID id-CellCapabilityContainer-TDD-LCR CRITICALITY ignore EXTENSION CellCapabilityContainer-TDD-LCR PRESENCE optional}|
+ { ID id-SNA-Information CRITICALITY ignore EXTENSION SNA-Information PRESENCE optional}|
+ { ID id-Multiple-PLMN-List CRITICALITY ignore EXTENSION Multiple-PLMN-List PRESENCE optional}|
+ { ID id-CellCapabilityContainerExtension-TDD-LCR CRITICALITY ignore EXTENSION CellCapabilityContainerExtension-TDD-LCR PRESENCE optional},
+ ...
+}
+
+
+Neighbouring-E-UTRA-CellInformation ::= SEQUENCE ( SIZE (1..maxNrOfEUTRANeighboursPerRNC,...)) OF Neighbouring-E-UTRA-CellInformationItem
+
+Neighbouring-E-UTRA-CellInformationItem ::= SEQUENCE {
+ eCGI ECGI,
+ eARFCN-Information EARFCN-Information,
+ iE-Extensions ProtocolExtensionContainer { { Neighbouring-E-UTRA-CellInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Neighbouring-E-UTRA-CellInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PCI CRITICALITY ignore EXTENSION PCI PRESENCE optional}|
+ { ID id-TAC CRITICALITY ignore EXTENSION TAC PRESENCE optional}|
+ { ID id-PLMN-List CRITICALITY ignore EXTENSION PLMN-List PRESENCE optional}|
+ { ID id-MultipleFrequencyBandsIndicatorList-EUTRA CRITICALITY ignore EXTENSION MultipleFrequencyBandsIndicatorList-EUTRA PRESENCE optional},
+ ...
+}
+
+MultipleFrequencyBandsIndicatorList-EUTRA ::= SEQUENCE (SIZE (0.. maxMultipleFrequencyBandsEUTRA)) OF RadioFrequencyBandEUTRA
+
+RadioFrequencyBandEUTRA ::= INTEGER (1..256)
+
+NonCellSpecificTxDiversity ::= ENUMERATED {
+ txDiversity,
+ ...
+}
+
+Non-rectangular-resource-allocation-indicator ::= ENUMERATED {
+ activate
+}
+
+Non-rectangular-resource-timeslot-set ::= BIT STRING (SIZE (7))
+
+NotProvidedCellList ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF MBMSChannelTypeCellList
+
+NrOfDLchannelisationcodes ::= INTEGER (1..8)
+
+NrOfTransportBlocks ::= INTEGER (0..512)
+
+NRT-Load-Information-Value-IncrDecrThres ::= INTEGER(0..3)
+
+NRT-Load-Information-Value ::= INTEGER(0..3)
+
+NRTLoadInformationValue ::= SEQUENCE {
+ uplinkNRTLoadInformationValue INTEGER(0..3),
+ downlinkNRTLoadInformationValue INTEGER(0..3)
+}
+
+N-E-UCCH ::= INTEGER (1..12)
+
+N-E-UCCH-LCR ::= INTEGER (1..8)
+
+Number-Of-Supported-Carriers ::= ENUMERATED {
+ one-one-carrier,
+ one-three-carrier,
+ three-three-carrier,
+ one-six-carrier,
+ three-six-carrier,
+ six-six-carrier,
+ ...,
+ one-two-carrier-discontiguous,
+ two-two-carrier-discontiguous,
+ one-two-carrier-contiguous,
+ two-two-carrier-contiguous
+}
+
+NumHS-SCCH-Codes ::= INTEGER (1..maxNrOfHSSCCHCodes)
+
+NoOfTargetCellHS-SCCH-Order::= INTEGER (1..30)
+
+Non-Serving-RL-Preconfig-Setup ::= SEQUENCE {
+ new-non-serving-RL-selection New-non-serving-RL-setup-selection,
+ iE-Extensions ProtocolExtensionContainer { {Non-Serving-RL-Preconfig-Setup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Non-Serving-RL-Preconfig-Setup-ExtIEs RNSAP-PROTOCOL-EXTENSION::= {
+ {ID id-Additional-E-DCH-Non-Serving-RL-Preconfiguration-Setup CRITICALITY ignore EXTENSION Additional-E-DCH-Non-Serving-RL-Preconfiguration-Setup PRESENCE optional }|
+ { ID id-FTPICH-Information CRITICALITY ignore EXTENSION FTPICH-Information PRESENCE optional},
+...
+}
+
+Additional-E-DCH-Non-Serving-RL-Preconfiguration-Setup ::= NULL
+
+New-non-serving-RL-setup-selection ::= CHOICE {
+ new-Serving-RL-in-DRNS NULL,
+ new-Serving-RL-Not-in-DRNS NULL,
+ new-Serving-RL-in-or-Not-in-DRNS NULL,
+ ...
+}
+
+
+Non-Serving-RL-Preconfig-Info ::= SEQUENCE {
+ new-non-serving-RL-E-DCH-FDD-DL-ControlChannelInformation-A EDCH-FDD-DL-ControlChannelInformation OPTIONAL,
+ new-non-serving-RL-E-DCH-FDD-DL-ControlChannelInformation-B EDCH-FDD-DL-ControlChannelInformation OPTIONAL,
+ new-non-serving-RL-E-DCH-FDD-DL-ControlChannelInformation-C EDCH-FDD-DL-ControlChannelInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Non-Serving-RL-Preconfig-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Non-Serving-RL-Preconfig-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList CRITICALITY ignore EXTENSION Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList PRESENCE optional}|
+ { ID id-FTPICH-Information-Response CRITICALITY ignore EXTENSION FTPICH-Information-Response PRESENCE optional},
+...
+}
+
+Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList ::= SEQUENCE(SIZE(1.. maxNrOfEDCH-1)) OF SEQUENCE {
+ new-non-serving-RL-E-DCH-FDD-DL-Control-Channel-Information-A EDCH-FDD-DL-ControlChannelInformation OPTIONAL,
+ new-non-serving-RL-E-DCH-FDD-DL-Control-Channel-Information-B EDCH-FDD-DL-ControlChannelInformation OPTIONAL,
+ new-non-serving-RL-E-DCH-FDD-DL-Control-Channel-Information-C EDCH-FDD-DL-ControlChannelInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+NeedforIdleInterval ::= ENUMERATED {
+ true,
+ false
+}
+
+
+-- O
+
+OnModification ::= SEQUENCE {
+ measurementThreshold MeasurementThreshold,
+ iE-Extensions ProtocolExtensionContainer { {OnModification-ExtIEs} } OPTIONAL,
+ ...
+}
+
+OnModification-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+OnModificationInformation ::= SEQUENCE {
+ informationThreshold InformationThreshold OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {OnModificationInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+OnModificationInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+OrdinalNumberOfFrequency ::= INTEGER (1..32,...)
+
+Out-of-Sychronization-Window ::= ENUMERATED {
+ms40,
+ms80,
+ms160,
+ms320,
+ms640,
+...
+}
+
+-- P
+
+PagingCause ::= ENUMERATED {
+ terminating-conversational-call,
+ terminating-streaming-call,
+ terminating-interactive-call,
+ terminating-background-call,
+ terminating-low-priority-signalling,
+ ...,
+ terminating-high-priority-signalling,
+ terminating-cause-unknown
+}
+-- See in TS 25.331 [16]
+
+PagingRecordType ::= ENUMERATED {
+ imsi-gsm-map,
+ tmsi-gsm-map,
+ p-tmsi-gsm-map,
+ imsi-ds-41,
+ tmsi-ds-41,
+ ...
+}
+-- See in TS 25.331 [16]
+
+PartialReportingIndicator ::= ENUMERATED {
+ partial-reporting-allowed
+}
+
+Pattern-Sequence-Identifier ::= INTEGER (1.. maxNrOfDCHMeasurementOccasionPatternSequence)
+
+PayloadCRC-PresenceIndicator ::= ENUMERATED {
+ crc-included,
+ crc-not-included
+}
+
+PCCPCH-Power ::= INTEGER (-150..400,...)
+-- PCCPCH-power = power * 10
+-- If power <= -15 PCCPCH shall be set to -150
+-- If power >= 40 PCCPCH shall be set to 400
+-- Unit dBm, Range -15dBm .. +40 dBm, Step 0.1dBm
+
+PCH-InformationList ::= SEQUENCE (SIZE(0..1)) OF PCH-InformationItem
+
+PCH-InformationItem ::= SEQUENCE {
+ transportFormatSet TransportFormatSet,
+ iE-Extensions ProtocolExtensionContainer { { PCH-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PCH-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC-Preamble ::= INTEGER(0..7,...)
+
+PCI ::= INTEGER (0..503,...)
+
+Periodic ::= SEQUENCE {
+ reportPeriodicity ReportPeriodicity,
+ iE-Extensions ProtocolExtensionContainer { {Periodic-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Periodic-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PeriodicInformation ::= SEQUENCE {
+ informationReportPeriodicity InformationReportPeriodicity,
+ iE-Extensions ProtocolExtensionContainer { {PeriodicInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PeriodicInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Permanent-NAS-UE-Identity ::= CHOICE {
+ imsi IMSI,
+ ...
+}
+
+Phase-Reference-Update-Indicator ::= ENUMERATED {
+ phase-reference-needs-to-be-changed
+}
+
+PLCCHsequenceNumber ::= INTEGER (0..14)
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+PLMN-List ::= SEQUENCE (SIZE(0..maxNrOfBroadcastPLMNs)) OF PLMN-Identity
+
+PowerAdjustmentType ::= ENUMERATED {
+ none,
+ common,
+ individual
+}
+
+PowerOffset ::= INTEGER (0..24)
+
+PowerOffsetForSecondaryCPICHforMIMO ::= INTEGER (-6..0)
+-- Unit dB, Range -10dB .. 5dB, Step +1dB
+
+PowerOffsetForSecondaryCPICHforMIMORequestIndicator ::= NULL
+
+PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennas ::= SEQUENCE (SIZE (1.. maxSCPICHCell)) OF Associated-Secondary-CPICH
+
+Associated-Secondary-CPICH ::= SEQUENCE{
+ associated-secondary-CPICH-channelId CommonPhysicalChannelID,
+ associated-secondary-CPICH PowerOffsetForSCPICH-DCPICHforMIMOwithfourtransmitantennas OPTIONAL,
+ associated-D-CPICH-channelId CommonPhysicalChannelID OPTIONAL,
+ associated-D-CPICH PowerOffsetForSCPICH-DCPICHforMIMOwithfourtransmitantennas OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Associated-Secondary-CPICH-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Associated-Secondary-CPICH-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CommonPhysicalChannelID ::= INTEGER (0..255)
+
+PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator ::= NULL
+
+PowerOffsetForSCPICH-DCPICHforMIMOwithfourtransmitantennas ::= INTEGER (-12..0)
+-- Unit dB, Range -10dB .. 5dB, Step +1dB
+
+PRC ::= INTEGER (-2047..2047)
+--pseudo range correction; scaling factor 0.32 meters
+
+PRCDeviation ::= ENUMERATED {
+ prcd1,
+ prcd2,
+ prcd5,
+ prcd10,
+ ...
+}
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable
+}
+
+Precoder-Weight-Set-Restriction ::= BIT STRING (SIZE (64))
+
+PredictedSFNSFNDeviationLimit ::= INTEGER (1..256)
+-- Unit chip, Step 1/16 chip, Range 1/16..16 chip
+
+PredictedTUTRANGPSDeviationLimit ::= INTEGER (1..256)
+-- Unit chip, Step 1/16 chip, Range 1/16..16 chip
+
+PreferredFrequencyLayerInfo ::= SEQUENCE {
+ defaultPreferredFrequency UARFCN,
+ additionalPreferredFrequency AdditionalPreferredFrequency OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PreferredFrequencyLayerInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+PreferredFrequencyLayerInfo-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PrimaryCPICH-Power ::= INTEGER (-100..500)
+-- step 0.1 (Range –10.0..50.0) Unit is dBm
+
+PrimaryCPICH-EcNo ::= INTEGER (-30..30)
+
+Primary-CPICH-Usage-For-Channel-Estimation ::= ENUMERATED {
+primary-CPICH-may-be-used,
+primary-CPICH-shall-not-be-used
+}
+
+PrimaryCCPCH-RSCP ::= INTEGER (0..91)
+-- Mapping of Non Negative values according to maping in TS 25.123 [24]
+
+PrimaryCCPCH-RSCP-Delta ::= INTEGER (-5..-1,...)
+-- Mapping of Negative values according to maping in TS 25.123 [24]
+
+PrimaryScramblingCode ::= INTEGER (0..511)
+
+PriorityLevel ::= INTEGER (0..15)
+-- 0 = spare, 1 = highest priority, ...14 = lowest priority and 15 = no priority
+
+PriorityQueue-Id ::= INTEGER (0..maxNrOfPrioQueues-1)
+
+PriorityQueue-InfoList ::= SEQUENCE (SIZE (1..maxNrOfPrioQueues)) OF PriorityQueue-InfoItem
+
+PriorityQueue-InfoItem ::= SEQUENCE {
+ priorityQueue-Id PriorityQueue-Id,
+ associatedHSDSCH-MACdFlow HSDSCH-MACdFlow-ID,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ t1 T1,
+ discardTimer DiscardTimer OPTIONAL,
+ mAC-hsWindowSize MAC-hsWindowSize,
+ mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
+ mACdPDU-Size-Index MACdPDU-Size-IndexList,
+ rLC-Mode RLC-Mode,
+ iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PriorityQueue-InfoItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional}|
+{ ID id-DL-RLC-PDU-Size-Format CRITICALITY ignore EXTENSION DL-RLC-PDU-Size-Format PRESENCE optional}|
+{ ID id-UE-AggregateMaximumBitRate-Enforcement-Indicator CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate-Enforcement-Indicator PRESENCE optional},
+ ...
+}
+
+PriorityQueue-InfoList-EnhancedFACH-PCH ::= SEQUENCE (SIZE (1..maxNrOfPrioQueues)) OF PriorityQueue-InfoItem-EnhancedFACH-PCH
+
+PriorityQueue-InfoItem-EnhancedFACH-PCH ::= SEQUENCE {
+ priorityQueue-Id PriorityQueue-Id,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ t1 T1,
+ mAC-ehs-Reset-Timer MAC-ehs-Reset-Timer,
+ discardTimer DiscardTimer OPTIONAL,
+ mAC-hsWindowSize MAC-hsWindowSize,
+ maximum-MACdPDU-Size MAC-PDU-SizeExtended,
+ iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-EnhancedFACH-PCH-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PriorityQueue-InfoItem-EnhancedFACH-PCH-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PriorityQueue-InfoList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfPrioQueues)) OF ModifyPriorityQueue
+
+PriorityQueue-InfoItem-to-Add ::= SEQUENCE {
+ priorityQueue-Id PriorityQueue-Id,
+ associatedHSDSCH-MACdFlow HSDSCH-MACdFlow-ID,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ t1 T1,
+ discardTimer DiscardTimer OPTIONAL,
+ mAC-hsWindowSize MAC-hsWindowSize,
+ mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
+ mACdPDU-Size-Index MACdPDU-Size-IndexList,
+ rLC-Mode RLC-Mode,
+ iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Add-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PriorityQueue-InfoItem-to-Add-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional}|
+{ ID id-DL-RLC-PDU-Size-Format CRITICALITY ignore EXTENSION DL-RLC-PDU-Size-Format PRESENCE optional},
+ ...
+}
+
+PriorityQueue-InfoItem-to-Modify ::= SEQUENCE {
+ priorityQueue-Id PriorityQueue-Id,
+ schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
+ t1 T1 OPTIONAL,
+ discardTimer DiscardTimer OPTIONAL,
+ mAC-hsWindowSize MAC-hsWindowSize OPTIONAL,
+ mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
+ mACdPDU-Size-Index-to-Modify MACdPDU-Size-IndexList-to-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+PriorityQueue-InfoItem-to-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-MaximumMACdPDU-SizeExtended CRITICALITY reject EXTENSION MAC-PDU-SizeExtended PRESENCE optional}|
+{ ID id-DL-RLC-PDU-Size-Format CRITICALITY ignore EXTENSION DL-RLC-PDU-Size-Format PRESENCE optional},
+ ...
+}
+
+PriorityQueue-InfoList-to-Modify-Unsynchronised ::= SEQUENCE (SIZE (0..maxNrOfPrioQueues)) OF PriorityQueue-InfoItem-to-Modify-Unsynchronised
+
+PriorityQueue-InfoItem-to-Modify-Unsynchronised ::= SEQUENCE {
+ priorityQueueId PriorityQueue-Id,
+ schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
+ discardTimer DiscardTimer OPTIONAL,
+ mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Modify-Unsynchronised-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PriorityQueue-InfoItem-to-Modify-Unsynchronised-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PropagationDelay ::= INTEGER (0..255)
+
+ProvidedInformation ::= SEQUENCE {
+ mBMSChannelTypeInfo MBMSChannelTypeInfo OPTIONAL,
+ mBMSPreferredFreqLayerInfo MBMSPreferredFreqLayerInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ProvideInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+ProvideInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UpPCH-InformationList-LCRTDD CRITICALITY ignore EXTENSION UpPCH-InformationList-LCRTDD PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-ANRReportIndication CRITICALITY ignore EXTENSION ANRReportIndication PRESENCE optional},
+ ...
+}
+
+
+UpPCH-InformationList-LCRTDD ::= SEQUENCE (SIZE (0.. maxFrequencyinCell)) OF ProtocolIE-Single-Container {{ UpPCH-InformationItemIE-LCRTDD }}
+
+UpPCH-InformationItemIE-LCRTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UpPCH-InformationItem-LCRTDD CRITICALITY ignore TYPE UpPCH-InformationItem-LCRTDD PRESENCE mandatory},
+ ...
+}
+
+UpPCH-InformationItem-LCRTDD ::= SEQUENCE {
+ uARFCNforNt UARFCN OPTIONAL,
+ uPPCHPositionLCR UPPCHPositionLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UpPCH-InformationItem-LCRTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UpPCH-InformationItem-LCRTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PunctureLimit ::= INTEGER (0..15)
+-- 0: 40%; 1: 44%; ... 14: 96%; 15: 100
+-- 0 is not applicable for E-DPCH
+
+
+PTMCellList ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF MBMSChannelTypeCellList
+
+PTPCellList ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF MBMSChannelTypeCellList
+
+
+-- Q
+
+QE-Selector ::= ENUMERATED {
+ selected,
+ non-selected
+}
+Process-Memory-Size ::= ENUMERATED {
+ hms800, hms1600, hms2400, hms3200, hms4000,
+ hms4800, hms5600, hms6400, hms7200, hms8000,
+ hms8800, hms9600, hms10400, hms11200, hms12000,
+ hms12800, hms13600, hms14400, hms15200, hms16000,
+ hms17600, hms19200, hms20800, hms22400, hms24000,
+ hms25600, hms27200, hms28800, hms30400, hms32000,
+ hms36000, hms40000, hms44000, hms48000, hms52000,
+ hms56000, hms60000, hms64000, hms68000, hms72000,
+ hms76000, hms80000, hms88000, hms96000, hms104000,
+ hms112000, hms120000, hms128000, hms136000, hms144000,
+ hms152000, hms160000, hms176000, hms192000, hms208000,
+ hms224000, hms240000, hms256000, hms272000, hms288000,
+ hms304000,...}
+
+-- R
+
+RABased ::= SEQUENCE {
+ raiList RAI-List,
+ iE-Extensions ProtocolExtensionContainer { {RABased-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RABased-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RAI-List ::= SEQUENCE (SIZE (1..maxNrOfRAIs)) OF
+ RAI
+
+
+ReportInterval ::= ENUMERATED {
+ ms250,
+ ms500,
+ ms1000,
+ ms2000,
+ ms3000,
+ ms4000,
+ ms6000,
+ ms12000,
+ ms16000,
+ ms20000,
+ ms24000,
+ ms32000,
+ ms64000,
+ ... }
+
+ReportAmount ::= ENUMERATED { n1, n2, n4, n8, n16, n32, n64, infinity, ... }
+
+RAC ::= OCTET STRING (SIZE(1))
+
+RAI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ lAC LAC,
+ rAC RAC
+}
+
+RANAP-EnhancedRelocationInformationRequest ::= BIT STRING
+
+RANAP-EnhancedRelocationInformationResponse ::= BIT STRING
+
+RANAP-RelocationInformation ::= BIT STRING
+
+Range-Correction-Rate ::= INTEGER (-127..127)
+-- scaling factor 0.032 m/s
+
+RateMatchingAttribute ::= INTEGER (1..maxRateMatching)
+
+RB-Identity ::= INTEGER (0..31)
+
+RB-Info ::= SEQUENCE (SIZE(1..maxNoOfRB)) OF RB-Identity
+
+Received-Total-Wideband-Power-Value ::= Received-total-wide-band-power
+
+Received-Total-Wideband-Power-Value-IncrDecrThres ::= INTEGER(0..620)
+-- Unit dB Step 0.1dB
+-- e.g. value 100 means 10dB
+
+Reference-E-TFCI-Information ::= SEQUENCE (SIZE (1..maxNrOfRefETFCIs)) OF Reference-E-TFCI-Information-Item
+
+Reference-E-TFCI-Information-Item ::= SEQUENCE {
+ reference-E-TFCI E-TFCI,
+ -- The following IE shall be ignored if id-Ext-Reference-E-TFCI-PO is present in Reference-E-TFCI-Information-Item-ExtIEs
+ reference-E-TFCI-PO Reference-E-TFCI-PO,
+ iE-Extensions ProtocolExtensionContainer { { Reference-E-TFCI-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Reference-E-TFCI-Information-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ -- The following IE shall be present if the ref E-TFCI power offset to be signalled exceeds maxNrOfRefETFCI-PO-QUANTSTEPs
+ { ID id-Ext-Reference-E-TFCI-PO CRITICALITY reject EXTENSION Ext-Reference-E-TFCI-PO PRESENCE optional},
+ ...
+}
+
+Reference-E-TFCI-PO ::= INTEGER (0.. maxNrOfRefETFCI-PO-QUANTSTEPs)
+
+RefTFCNumber ::= INTEGER (0..15)
+
+Released-CN-Domain ::= CHOICE {
+ pSDomain NULL,
+ cSDomain NULL,
+ pS-CSDomain NULL,
+ ...
+}
+
+
+RepetitionLength ::= INTEGER (1..63)
+
+RepetitionPeriod ::= ENUMERATED {
+ v1,
+ v2,
+ v4,
+ v8,
+ v16,
+ v32,
+ v64
+}
+
+RepetitionNumber0 ::= INTEGER (0..255)
+
+RepetitionNumber1 ::= INTEGER (1..256)
+
+ReportCharacteristics ::= CHOICE {
+ onDemand NULL,
+ periodic Periodic,
+ eventA EventA,
+ eventB EventB,
+ eventC EventC,
+ eventD EventD,
+ eventE EventE,
+ eventF EventF,
+ ...,
+ extension-ReportCharacteristics Extension-ReportCharacteristics
+}
+
+Extension-ReportCharacteristics ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsIE }}
+
+Extension-ReportCharacteristicsIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-OnModification CRITICALITY reject TYPE OnModification PRESENCE mandatory }|
+ { ID id-EventH CRITICALITY reject TYPE EventH PRESENCE mandatory }
+}
+
+ReportPeriodicity ::= CHOICE {
+ ten-msec INTEGER (1..6000,...),
+-- The Report Periodicity gives the reporting periodicity in number of 10 ms periods.
+-- E.g. value 6000 means 60000ms (i.e. 1min)
+-- Unit ms, Step 10ms
+ min INTEGER (1..60,...),
+-- Unit min, Step 1min
+ ...
+}
+
+RequestedDataValue ::= SEQUENCE {
+ gA-AccessPointPositionwithAltitude GA-AccessPointPositionwithOptionalAltitude OPTIONAL,
+ iPDLParameters IPDLParameters OPTIONAL,
+ dGPSCorrections DGPSCorrections OPTIONAL,
+ gPS-NavigationModel-and-TimeRecovery GPS-NavigationModel-and-TimeRecovery OPTIONAL,
+ gPS-Ionospheric-Model GPS-Ionospheric-Model OPTIONAL,
+ gPS-UTC-Model GPS-UTC-Model OPTIONAL,
+ gPS-Almanac GPS-Almanac OPTIONAL,
+ gPS-RealTime-Integrity GPS-RealTime-Integrity OPTIONAL,
+ gPS-RX-POS GPS-RX-POS OPTIONAL,
+ sFNSFN-GA-AccessPointPosition GA-AccessPointPositionwithOptionalAltitude OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RequestedDataValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RequestedDataValue-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Cell-Capacity-Class-Value CRITICALITY ignore EXTENSION Cell-Capacity-Class-Value PRESENCE optional }|
+ { ID id-NACC-Related-Data CRITICALITY ignore EXTENSION NACC-Related-Data PRESENCE optional }|
+ { ID id-MBMS-Bearer-Service-Full-Address CRITICALITY ignore EXTENSION MBMS-Bearer-Service-Full-Address PRESENCE optional }|
+ { ID id-Inter-Frequency-Cell-Information CRITICALITY ignore EXTENSION Inter-Frequency-Cell-Information PRESENCE optional }|
+ { ID id-GANSS-Common-Data CRITICALITY ignore EXTENSION GANSS-Common-Data PRESENCE optional }|
+ { ID id-GANSS-Generic-Data CRITICALITY ignore EXTENSION GANSS-Generic-Data PRESENCE optional }|
+ { ID id-Counting-Information CRITICALITY ignore EXTENSION Counting-Information PRESENCE optional }|
+ { ID id-Transmission-Mode-Information CRITICALITY ignore EXTENSION Transmission-Mode-Information PRESENCE optional }|
+ { ID id-MBMS-Neighbouring-Cell-Information CRITICALITY ignore EXTENSION MBMS-Neighbouring-Cell-Information PRESENCE optional }|
+ { ID id-RLC-Sequence-Number CRITICALITY ignore EXTENSION RLC-Sequence-Number PRESENCE optional }|
+ { ID id-ANR-Cell-Information CRITICALITY ignore EXTENSION ANR-Cell-Information PRESENCE optional }|
+ { ID id-Common-E-RGCH-Cell-Information CRITICALITY ignore EXTENSION Common-E-RGCH-Cell-Information PRESENCE optional },
+ ...
+}
+
+RequestedDataValueInformation ::= CHOICE {
+ informationAvailable InformationAvailable,
+ informationNotAvailable InformationNotAvailable
+}
+
+RestrictionStateIndicator ::= ENUMERATED {
+ cellNotResevedForOperatorUse,
+ cellResevedForOperatorUse,
+ ...
+}
+
+RL-ID ::= INTEGER (0..31)
+
+RL-Set-ID ::= INTEGER (0..31)
+
+RL-Specific-DCH-Info ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF RL-Specific-DCH-Info-Item
+
+RL-Specific-DCH-Info-Item ::= SEQUENCE {
+ dCH-id DCH-ID,
+ bindingID BindingID OPTIONAL,
+ -- Shall be ignored if bearer establishment with ALCAP.
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ -- Shall be ignored if bearer establishment with ALCAP.
+ iE-Extensions ProtocolExtensionContainer { { RL-Specific-DCH-Info-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Specific-DCH-Info-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportBearerNotRequestedIndicator CRITICALITY ignore EXTENSION TransportBearerNotRequestedIndicator PRESENCE optional }, -- FDD only
+ ...
+}
+
+RL-Specific-EDCH-Information ::= SEQUENCE {
+ rL-Specific-EDCH-Info RL-Specific-EDCH-Info,
+ e-AGCH-PowerOffset E-AGCH-PowerOffset OPTIONAL,
+ e-RGCH-PowerOffset E-RGCH-PowerOffset OPTIONAL,
+ e-HICH-PowerOffset E-HICH-PowerOffset OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-Specific-EDCH-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+RL-Specific-EDCH-Information-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RL-Specific-EDCH-Info ::= SEQUENCE (SIZE (1..maxNrOfEDCHMACdFlows)) OF RL-Specific-EDCH-InfoItem
+
+RL-Specific-EDCH-InfoItem ::= SEQUENCE {
+ eDCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ bindingID BindingID OPTIONAL,
+ -- Shall be ignored if bearer establishment with ALCAP.
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ -- Shall be ignored if bearer establishment with ALCAP.
+ iE-Extensions ProtocolExtensionContainer { { RL-Specific-EDCH-Info-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Specific-EDCH-Info-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportBearerNotRequestedIndicator CRITICALITY ignore EXTENSION TransportBearerNotRequestedIndicator PRESENCE optional }, -- FDD only
+ ...
+}
+
+RLC-Mode ::= ENUMERATED {
+ rLC-AM,
+ rLC-UM,
+ ...
+}
+DL-RLC-PDU-Size-Format ::= ENUMERATED {
+ fixed-RLC-PDU-Size,
+ flexible-RLC-PDU-Size,
+ ...
+}
+
+RLC-Sequence-Number ::= INTEGER (0..127)
+
+RNC-ID ::= INTEGER (0..4095)
+
+RNTI-Allocation-Indicator ::= ENUMERATED {
+ true
+}
+
+Round-Trip-Time-IncrDecrThres ::= INTEGER(0..32766)
+
+Round-Trip-Time-Value ::= INTEGER(0..32767)
+-- According to mapping in TS 25.133 [23]
+
+RSCP-Value ::= INTEGER (0..127)
+-- According to mapping in TS 25.123 [24]
+
+RSCP-Value-IncrDecrThres ::= INTEGER (0..126)
+
+Received-total-wide-band-power ::= INTEGER (0..621)
+-- According to mapping in TS 25.133 [23]
+
+RT-Load-Value-IncrDecrThres ::= INTEGER(0..100)
+
+RT-Load-Value ::= INTEGER(0..100)
+
+RTLoadValue ::= SEQUENCE {
+ uplinkRTLoadValue INTEGER(0..100),
+ downlinkRTLoadValue INTEGER(0..100)
+}
+
+RxTimingDeviationForTA ::= INTEGER (0..127)
+-- As specified in TS 25.435 [5], ch. 6.2.7.6
+-- For 1.28Mcps TDD this IE must be set to 0.
+
+RxTimingDeviationForTAext ::= INTEGER (0..511)
+-- As specified in TS 25.435 [5] [3.84 Mcps TDD only]
+
+RxTimingDeviationForTA768 ::= INTEGER (0.. 1023)
+-- As specified in TS 25.435 [5]
+
+Rx-Timing-Deviation-Value ::= INTEGER (0..8191)
+--According to mapping in TS 25.123 [24][3.84Mcps TDD only]
+
+Rx-Timing-Deviation-Value-ext ::= INTEGER (0..32767)
+--According to mapping in TS 25.123 [24][3.84Mcps TDD only]
+
+Rx-Timing-Deviation-Value-LCR ::= INTEGER (0..511)
+--According to mapping in TS 25.123 [24][1.28Mcps TDD only]
+
+Rx-Timing-Deviation-Value-768 ::= INTEGER (0..65535)
+--According to mapping in TS 25.123 [24][7.68Mcps TDD only]
+
+RefBeta ::= INTEGER (-15..16)
+
+-- S
+
+SAC ::= OCTET STRING (SIZE (2))
+
+SAI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ lAC LAC,
+ sAC SAC,
+ iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL
+}
+
+SAI-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SAT-ID ::= INTEGER (0..63)
+
+SCH-TimeSlot ::= INTEGER (0..6)
+
+ScaledAdjustmentRatio ::= INTEGER(0..100)
+-- AdjustmentRatio = ScaledAdjustmentRatio / 100
+
+SchedulingInformation ::= ENUMERATED {
+ included,
+ not-included
+}
+
+SDPCCH-PowerOffsetInformation ::= INTEGER (0..6,...)
+
+SecondaryServingCells ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF SecondaryServingCellsItem
+
+SecondaryServingCellsItem ::= SEQUENCE {
+ secondaryC-ID C-ID,
+ numSecondaryHS-SCCH-Codes NumHS-SCCH-Codes OPTIONAL,
+ sixtyfourQAM-UsageAllowedIndicator SixtyfourQAM-UsageAllowedIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SecondaryServingCellsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecondaryServingCellsItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ID id-MIMO-ActivationIndicator CRITICALITY ignore EXTENSION MIMO-ActivationIndicator PRESENCE optional}|
+{ID id-EDCH-Indicator CRITICALITY ignore EXTENSION NULL PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMORequestIndicator PRESENCE optional}|
+{ID id-OrdinalNumberOfFrequency CRITICALITY reject EXTENSION OrdinalNumberOfFrequency PRESENCE optional}|
+{ ID id-MIMO-withfourtransmitantennas-ActivationIndicator CRITICALITY ignore EXTENSION MIMO-withfourtransmitantennas-ActivationIndicator
+ PRESENCE optional}|
+{ ID id-DualStream-MIMO-withfourtransmitantennas-ActivationIndicator CRITICALITY ignore EXTENSION DualStream-MIMO-withfourtransmitantennas-ActivationIndicator PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator PRESENCE optional}|
+{ID id-Multiflow-OrdinalNumberOfFrequency CRITICALITY reject EXTENSION Multiflow-OrdinalNumberOfFrequency PRESENCE optional},
+ ...
+}
+
+
+Secondary-CCPCH-Info-TDD::= SEQUENCE {
+ dl-TFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ secondary-CCPCH-TDD-InformationList Secondary-CCPCH-TDD-InformationList,
+ fACH-InformationList FACH-InformationList,
+ pCH-InformationList PCH-InformationList,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-Info-TDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-Info-TDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CPICH-Information ::= SEQUENCE {
+dl-ScramblingCode DL-ScramblingCode,
+fDD-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
+iE-Extensions ProtocolExtensionContainer { { Secondary-CPICH-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CPICH-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CPICH-Information-Change ::= CHOICE {
+new-secondary-CPICH Secondary-CPICH-Information,
+secondary-CPICH-shall-not-be-used NULL,
+...
+}
+
+Secondary-LCR-CCPCH-Info-TDD::= SEQUENCE {
+ dl-TFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ secondary-LCR-CCPCH-TDD-InformationList Secondary-LCR-CCPCH-TDD-InformationList,
+ fACH-InformationList FACH-InformationList,
+ pCH-InformationList PCH-InformationList,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-LCR-CCPCH-Info-TDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-LCR-CCPCH-Info-TDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-Info-TDD768::= SEQUENCE {
+ dl-TFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ secondary-CCPCH-TDD-InformationList768 Secondary-CCPCH-TDD-InformationList768,
+ fACH-InformationList FACH-InformationList,
+ pCH-InformationList PCH-InformationList,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-Info-TDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-Info-TDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-TDD-InformationList ::= SEQUENCE (SIZE(0.. maxNrOfSCCPCHs)) OF Secondary-CCPCH-TDD-InformationItem
+
+Secondary-CCPCH-TDD-InformationItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tFCI-Presence TFCI-Presence,
+ secondary-CCPCH-TDD-Code-Information Secondary-CCPCH-TDD-Code-Information,
+ tDD-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionLength RepetitionLength,
+ repetitionPeriod RepetitionPeriod,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-TDD-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-LCR-CCPCH-TDD-InformationList ::= SEQUENCE (SIZE(0.. maxNrOfSCCPCHs)) OF Secondary-LCR-CCPCH-TDD-InformationItem
+
+Secondary-LCR-CCPCH-TDD-InformationItem ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tFCI-Presence TFCI-Presence,
+ secondary-LCR-CCPCH-TDD-Code-Information Secondary-LCR-CCPCH-TDD-Code-Information,
+ tDD-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionLength RepetitionLength,
+ repetitionPeriod RepetitionPeriod,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-LCR-CCPCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-LCR-CCPCH-TDD-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-TDD-InformationList768 ::= SEQUENCE (SIZE(0.. maxNrOfSCCPCHs768)) OF Secondary-CCPCH-TDD-InformationItem768
+
+Secondary-CCPCH-TDD-InformationItem768 ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tFCI-Presence TFCI-Presence,
+ secondary-CCPCH-TDD-Code-Information768 Secondary-CCPCH-TDD-Code-Information768,
+ tDD-PhysicalChannelOffset TDD-PhysicalChannelOffset,
+ repetitionLength RepetitionLength,
+ repetitionPeriod RepetitionPeriod,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-TDD-InformationItem768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-TDD-InformationItem768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-TDD-Code-Information ::= SEQUENCE ( SIZE (1..maxNrOfSCCPCHs)) OF Secondary-CCPCH-TDD-Code-InformationItem
+
+Secondary-CCPCH-TDD-Code-InformationItem ::= SEQUENCE {
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { {Secondary-CCPCH-TDD-Code-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-TDD-Code-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-LCR-CCPCH-TDD-Code-Information ::= SEQUENCE ( SIZE (1..maxNrOfSCCPCHs)) OF Secondary-LCR-CCPCH-TDD-Code-InformationItem
+
+Secondary-LCR-CCPCH-TDD-Code-InformationItem ::= SEQUENCE {
+ tDD-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ s-CCPCH-TimeSlotFormat-LCR TDD-DL-DPCH-TimeSlotFormat-LCR,
+ iE-Extensions ProtocolExtensionContainer { {Secondary-LCR-CCPCH-TDD-Code-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-LCR-CCPCH-TDD-Code-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Secondary-CCPCH-TDD-Code-Information768 ::= SEQUENCE ( SIZE (1..maxNrOfSCCPCHs768)) OF Secondary-CCPCH-TDD-Code-InformationItem768
+
+Secondary-CCPCH-TDD-Code-InformationItem768 ::= SEQUENCE {
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { {Secondary-CCPCH-TDD-Code-InformationItem768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Secondary-CCPCH-TDD-Code-InformationItem768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Secondary-Serving-Cell-List ::= SEQUENCE {
+ possible-Secondary-Serving-Cell-List Possible-Secondary-Serving-Cell-List,
+ iE-Extensions ProtocolExtensionContainer { { Secondary-Serving-Cell-List-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Secondary-Serving-Cell-List-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Multicell-EDCH-Restriction CRITICALITY ignore EXTENSION Multicell-EDCH-Restriction PRESENCE optional },
+ -- This IE shall never be included. If received it shall be ignored.
+ ...
+}
+
+--“maxNrOfHSDSCH-1” represents the maximum number of possible secondary serving cells for a Multi Cell/Dual-Band capable cell when it applies to the range of “Possible-Secondary-Serving-Cell-List”.
+
+Possible-Secondary-Serving-Cell-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Possible-Secondary-Serving-Cell
+
+Possible-Secondary-Serving-Cell ::= SEQUENCE {
+ c-ID C-ID,
+ iE-Extensions ProtocolExtensionContainer { { Possible-Secondary-Serving-Cell-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Possible-Secondary-Serving-Cell-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Multicell-EDCH-Restriction CRITICALITY ignore EXTENSION Multicell-EDCH-Restriction PRESENCE optional },
+ ...
+}
+
+SecondInterleavingMode ::= ENUMERATED {
+ frame-related,
+ timeslot-related,
+ ...
+}
+
+Secondary-UL-Frequency-Activation-State ::= ENUMERATED {
+ activated,
+ deactivated,
+ ...
+}
+
+S-E-DPCCH-PowerOffset ::= INTEGER(0..17,...)
+
+Seed ::= INTEGER (0..63)
+
+Service-ID ::= OCTET STRING (SIZE (3))
+
+S-E-ROCH-Release-Indicator ::= ENUMERATED {s-E-ROCHreleased}
+
+SetsOfHS-SCCH-Codes ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH)) OF SetsOfHS-SCCH-CodesItem
+
+SetsOfHS-SCCH-CodesItem ::= SEQUENCE {
+ hS-SCCH-PreconfiguredCodes HS-SCCH-PreconfiguredCodes,
+ hSDSCH-RNTI HSDSCH-RNTI,
+ hSPDSCH-and-HSSCCH-ScramblingCode DL-ScramblingCode,
+ sixtyfourQAM-DL-SupportIndicator SixtyfourQAM-DL-SupportIndicator OPTIONAL,
+ sixtyfourQAM-DL-UsageIndicator SixtyfourQAM-DL-UsageIndicator OPTIONAL,
+ hSDSCH-TBSizeTableIndicator HSDSCH-TBSizeTableIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SetsOfHS-SCCH-CodesItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SetsOfHS-SCCH-CodesItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ID id-MIMO-InformationResponse CRITICALITY ignore EXTENSION MIMO-InformationResponse PRESENCE optional}|
+{ID id-power-offset-for-S-CPICH-for-MIMO CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMO PRESENCE optional}|
+{ID id-Measurement-Power-Offset CRITICALITY ignore EXTENSION Measurement-Power-Offset PRESENCE optional}|
+{ ID id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas CRITICALITY ignore EXTENSION PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennas PRESENCE optional},
+ ...
+}
+
+Setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency::= CHOICE {
+ setup Additional-EDCH-Setup-Info,
+ configurationChange Additional-EDCH-Cell-Information-ConfigurationChange-List,
+ removal Additional-EDCH-Cell-Information-Removal-List,
+ ...
+}
+
+Setup-Or-ConfigurationChange-Or-Removal-Of-Downlink-TPC-enhancements ::= CHOICE {
+ setup Downlink-TPC-enhancements-Information,
+ configurationChange Downlink-TPC-enhancements-Information,
+ removal Downlink-TPC-enhancements-Information-Removal,
+ ...
+}
+
+Setup-Or-ConfigurationChange-Or-Removal-Of-UL-CLTD ::= CHOICE {
+ setup UL-CLTD-Information,
+ configurationChange UL-CLTD-Information-To-Modify,
+ removal UL-CLTD-Information-Removal,
+ ...
+}
+
+Setup-Or-ConfigurationChange-Or-Removal-Of-FTPICH-Information ::= CHOICE {
+ setup FTPICH-Information,
+ configurationChange FTPICH-Information-To-Modify,
+ removal FTPICH-Information-Removal,
+ ...
+}
+
+Setup-Or-ConfigurationChange-Or-Removal-Of-DCH-ENH ::= CHOICE {
+ setup DCH-ENH-Information,
+ configurationChange DCH-ENH-Information-to-Modify,
+ removal DCH-ENH-Information-Removal,
+ ...
+}
+
+Setup-Or-ConfigurationChange-Or-Removal-Of-UL-DPCCH2 ::= CHOICE {
+ setup UL-DPCCH2-Information,
+ configurationChange UL-DPCCH2-Information-To-Modify,
+ removal UL-DPCCH2-Information-Removal,
+ ...
+}
+
+SFN ::= INTEGER (0..4095)
+
+SFNSFN-FDD ::= INTEGER(0..614399)
+
+SFNSFN-TDD ::= INTEGER(0..40961)
+
+SFNSFN-TDD768 ::= INTEGER(0..81923)
+
+GA-AccessPointPositionwithOptionalAltitude ::= SEQUENCE {
+ geographicalCoordinate GeographicalCoordinate,
+ altitudeAndDirection GA-AltitudeAndDirection OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GA-AccessPointPositionwithOptionalAltitude-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GA-AccessPointPositionwithOptionalAltitude-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFNSFNChangeLimit ::= INTEGER (1..256)
+-- Unit chip, Step 1/16 chip, Range 1/16..16 chip
+
+SFNSFNDriftRate ::= INTEGER (-100..100)
+-- Unit chip/s, Step 1/256 chip/s, Range -100/256..+100/256 chip/s
+
+SFNSFNDriftRateQuality ::= INTEGER (0..100)
+-- Unit chip/s, Step 1/256 chip/s, Range 0..100/256 chip/s
+
+SFNSFNMeasurementThresholdInformation::= SEQUENCE {
+ sFNSFNChangeLimit SFNSFNChangeLimit OPTIONAL,
+ predictedSFNSFNDeviationLimit PredictedSFNSFNDeviationLimit OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SFNSFNMeasurementThresholdInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SFNSFNMeasurementThresholdInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFNSFNMeasurementValueInformation ::= SEQUENCE {
+ successfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformation SEQUENCE (SIZE(1..maxNrOfMeasNCell)) OF
+ SEQUENCE {
+ uC-ID UC-ID,
+ sFNSFNValue SFNSFNValue,
+ sFNSFNQuality SFNSFNQuality OPTIONAL,
+ sFNSFNDriftRate SFNSFNDriftRate,
+ sFNSFNDriftRateQuality SFNSFNDriftRateQuality OPTIONAL,
+ sFNSFNTimeStampInformation SFNSFNTimeStampInformation,
+ iE-Extensions ProtocolExtensionContainer { { SuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs} } OPTIONAL,
+ ...
+ },
+ unsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformation SEQUENCE (SIZE(0..maxNrOfMeasNCell-1)) OF
+ SEQUENCE {
+ uC-ID UC-ID,
+ iE-Extensions ProtocolExtensionContainer { { UnsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs} } OPTIONAL,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { SFNSFNMeasurementValueInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SFNSFNMeasurementValueInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UnsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFNSFNQuality ::= INTEGER (0..255)
+-- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
+
+SFNSFNTimeStampInformation ::= CHOICE {
+ sFNSFNTimeStamp-FDD SFN,
+ sFNSFNTimeStamp-TDD SFNSFNTimeStamp-TDD,
+ ...
+}
+
+SFNSFNTimeStamp-TDD::= SEQUENCE {
+ sFN SFN,
+ timeSlot TimeSlot,
+ iE-Extensions ProtocolExtensionContainer { { SFNSFNTimeStamp-ExtIEs}} OPTIONAL,
+ ...
+}
+
+SFNSFNTimeStamp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SFNSFNValue ::= CHOICE {
+ sFNSFN-FDD SFNSFN-FDD,
+ sFNSFN-TDD SFNSFN-TDD, -- LCR & HCR TDD
+ ...,
+ sFNSFN-TDD768 SFNSFN-TDD768
+}
+
+SID ::= INTEGER (0..maxNrOfPDUIndexes-1)
+
+Single-Stream-MIMO-ActivationIndicator ::= NULL
+
+Single-Stream-MIMO-Mode-Indicator ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+
+SIR-Error-Value ::= INTEGER (0..125)
+
+SIR-Error-Value-IncrDecrThres ::= INTEGER (0..124)
+
+SIR-Value ::= INTEGER (0..63)
+-- According to mapping in TS 25.215 [11]/TS 25.225 [14]
+
+SIR-Value-IncrDecrThres ::= INTEGER (0..62)
+
+
+SixteenQAM-UL-Operation-Indicator ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+SixtyfourQAM-UL-Operation-Indicator ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+SixtyfourQAM-UsageAllowedIndicator ::= ENUMERATED {
+ allowed,
+ not-allowed
+}
+
+SixtyfourQAM-DL-SupportIndicator ::= ENUMERATED {
+ sixtyfourQAM-DL-supported,
+ sixtyfourQAM-DL-not-supported
+}
+
+SixtyfourQAM-DL-UsageIndicator ::= ENUMERATED {
+ sixtyfourQAM-DL-used,
+ sixtyfourQAM-DL-not-used
+}
+
+SignatureSequenceGroupIndex ::= INTEGER (0..19)
+
+SNA-Information ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ listOfSNAs ListOfSNAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SNA-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SNA-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ListOfSNAs ::= SEQUENCE (SIZE (1.. maxNrOfSNAs)) OF SNACode
+
+SNACode ::= INTEGER (0..65535)
+
+SourceID ::= SAI
+
+SpecialBurstScheduling ::= INTEGER (1..256)
+
+SpeechVersion::= BIT STRING (SIZE (4))
+
+S-RNTI ::= INTEGER (0..1048575)
+-- From 0 to 2^20-1
+
+S-RNTI-Group ::= SEQUENCE {
+ sRNTI S-RNTI,
+ sRNTI-BitMaskIndex ENUMERATED {
+ b1,
+ b2,
+ b3,
+ b4,
+ b5,
+ b6,
+ b7,
+ b8,
+ b9,
+ b10,
+ b11,
+ b12,
+ b13,
+ b14,
+ b15,
+ b16,
+ b17,
+ b18,
+ b19,...
+}
+}
+
+SRB-Delay ::= INTEGER(0..7,...)
+
+
+
+SSDT-SupportIndicator ::= ENUMERATED {
+ not-Used-sSDT-supported,
+ sSDT-not-supported
+}
+
+Standalone-Midamble-Channel-Indicator ::= ENUMERATED {
+ used,
+ not-used
+}
+
+Status-Flag ::= ENUMERATED {
+ activate,
+ deactivate
+}
+
+STTD-SupportIndicator ::= ENUMERATED {
+ sTTD-Supported,
+ sTTD-not-Supported
+}
+
+Support-8PSK ::= ENUMERATED {
+ v8PSK-Supported
+}
+
+Support-PLCCH ::= ENUMERATED {
+ vPLCCH-Supported
+}
+
+Support-of-Dynamic-DTXDRX-Related-HS-SCCH-Order ::= ENUMERATED {
+ supported,
+ not-supported
+}
+
+SyncCase ::= INTEGER (1..2,...)
+
+SynchronisationConfiguration ::= SEQUENCE {
+ n-INSYNC-IND INTEGER (1..256),
+ n-OUTSYNC-IND INTEGER (1..256),
+ t-RLFAILURE INTEGER (0..255),
+-- Unit seconds, Range 0s .. 25.5s, Step 0.1s
+ iE-Extensions ProtocolExtensionContainer { { SynchronisationConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SynchronisationConfiguration-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SYNC-UL-ProcParameters ::= SEQUENCE {
+ maxSYNC-UL-transmissions ENUMERATED {v1, v2, v4, v8, ...},
+ powerRampStep INTEGER (0..3, ...),
+ ...
+ }
+
+-- T
+
+T1 ::= ENUMERATED {v10,v20,v30,v40,v50,v60,v70,v80,v90,v100,v120,v140,v160,v200,v300,v400,...}
+
+TAC ::= OCTET STRING (SIZE (2))
+
+TargetID ::= CGI
+
+TDD-AckNack-Power-Offset ::= INTEGER (-7..8,...)
+-- Unit dB, Range –7dB .. +8dB, Step 1dB
+
+TDD-ChannelisationCode ::= ENUMERATED {
+ chCode1div1,
+ chCode2div1,
+ chCode2div2,
+ chCode4div1,
+ chCode4div2,
+ chCode4div3,
+ chCode4div4,
+ chCode8div1,
+ chCode8div2,
+ chCode8div3,
+ chCode8div4,
+ chCode8div5,
+ chCode8div6,
+ chCode8div7,
+ chCode8div8,
+ chCode16div1,
+ chCode16div2,
+ chCode16div3,
+ chCode16div4,
+ chCode16div5,
+ chCode16div6,
+ chCode16div7,
+ chCode16div8,
+ chCode16div9,
+ chCode16div10,
+ chCode16div11,
+ chCode16div12,
+ chCode16div13,
+ chCode16div14,
+ chCode16div15,
+ chCode16div16,
+ ...
+}
+
+TDD-ChannelisationCode768 ::= ENUMERATED {
+ chCode1div1,
+ chCode2div1,
+ chCode2div2,
+ chCode4div1,
+ chCode4div2,
+ chCode4div3,
+ chCode4div4,
+ chCode8div1,
+ chCode8div2,
+ chCode8div3,
+ chCode8div4,
+ chCode8div5,
+ chCode8div6,
+ chCode8div7,
+ chCode8div8,
+ chCode16div1,
+ chCode16div2,
+ chCode16div3,
+ chCode16div4,
+ chCode16div5,
+ chCode16div6,
+ chCode16div7,
+ chCode16div8,
+ chCode16div9,
+ chCode16div10,
+ chCode16div11,
+ chCode16div12,
+ chCode16div13,
+ chCode16div14,
+ chCode16div15,
+ chCode16div16,
+ chCode32div1,
+ chCode32div2,
+ chCode32div3,
+ chCode32div4,
+ chCode32div5,
+ chCode32div6,
+ chCode32div7,
+ chCode32div8,
+ chCode32div9,
+ chCode32div10,
+ chCode32div11,
+ chCode32div12,
+ chCode32div13,
+ chCode32div14,
+ chCode32div15,
+ chCode32div16,
+ chCode32div17,
+ chCode32div18,
+ chCode32div19,
+ chCode32div20,
+ chCode32div21,
+ chCode32div22,
+ chCode32div23,
+ chCode32div24,
+ chCode32div25,
+ chCode32div26,
+ chCode32div27,
+ chCode32div28,
+ chCode32div29,
+ chCode32div30,
+ chCode32div31,
+ chCode32div32,
+ ...
+}
+
+TDD-ChannelisationCodeLCR ::= SEQUENCE {
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ modulation Modulation, -- Modulation options for 1.28Mcps TDD in contrast to 3.84Mcps TDD or 7.68Mcps TDD
+ ...
+}
+
+TDD-DCHs-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF TDD-DCHs-to-ModifyItem
+
+TDD-DCHs-to-ModifyItem ::= SEQUENCE {
+ ul-FP-Mode UL-FP-Mode OPTIONAL,
+ toAWS ToAWS OPTIONAL,
+ toAWE ToAWE OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ dCH-SpecificInformationList TDD-DCHs-to-ModifySpecificInformationList,
+ iE-Extensions ProtocolExtensionContainer { {TDD-DCHs-to-ModifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DCHs-to-ModifyItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+TDD-DCHs-to-ModifySpecificInformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF TDD-DCHs-to-ModifySpecificItem
+
+TDD-DCHs-to-ModifySpecificItem ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ ul-CCTrCH-ID CCTrCH-ID OPTIONAL,
+ dl-CCTrCH-ID CCTrCH-ID OPTIONAL,
+ ul-TransportformatSet TransportFormatSet OPTIONAL,
+ dl-TransportformatSet TransportFormatSet OPTIONAL,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ frameHandlingPriority FrameHandlingPriority OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TDD-DCHs-to-ModifySpecificItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DCHs-to-ModifySpecificItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Guaranteed-Rate-Information CRITICALITY ignore EXTENSION Guaranteed-Rate-Information PRESENCE optional}|
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE optional},
+ ...
+}
+
+TDD-DL-Code-Information ::= SEQUENCE ( SIZE (1..maxNrOfDPCHs)) OF TDD-DL-Code-InformationItem
+
+TDD-DL-Code-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { {TDD-DL-Code-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-DL-Code-LCR-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHsLCR)) OF TDD-DL-Code-LCR-InformationItem
+
+TDD-DL-Code-LCR-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ tdd-DL-DPCH-TimeSlotFormat-LCR TDD-DL-DPCH-TimeSlotFormat-LCR,
+ iE-Extensions ProtocolExtensionContainer { { TDD-DL-Code-LCR-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-LCR-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-DL-Code-Information768 ::= SEQUENCE ( SIZE (1..maxNrOfDPCHs768)) OF TDD-DL-Code-InformationItem768
+
+TDD-DL-Code-InformationItem768 ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { {TDD-DL-Code-InformationItem768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-InformationItem768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-DL-DPCH-TimeSlotFormat-LCR ::= CHOICE {
+ qPSK QPSK-DL-DPCH-TimeSlotFormatTDD-LCR,
+ eightPSK EightPSK-DL-DPCH-TimeSlotFormatTDD-LCR,
+ ...
+}
+
+QPSK-DL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
+
+EightPSK-DL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
+
+TDD-DPCHOffset ::= CHOICE {
+ initialOffset INTEGER (0..255),
+ noinitialOffset INTEGER (0..63)
+}
+
+TDD-PhysicalChannelOffset ::= INTEGER (0..63)
+
+TDD-TPC-DownlinkStepSize ::= ENUMERATED {
+ step-size1,
+ step-size2,
+ step-size3,
+ ...
+}
+
+TDD-TPC-UplinkStepSize-LCR ::= ENUMERATED {
+ step-size1,
+ step-size2,
+ step-size3,
+ ...
+}
+
+TDD-UL-Code-Information ::= SEQUENCE ( SIZE (1..maxNrOfDPCHs)) OF TDD-UL-Code-InformationItem
+
+TDD-UL-Code-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ iE-Extensions ProtocolExtensionContainer { {TDD-UL-Code-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-UL-Code-LCR-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHsLCR)) OF TDD-UL-Code-LCR-InformationItem
+
+TDD-UL-Code-LCR-InformationItem ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
+ tdd-UL-DPCH-TimeSlotFormat-LCR TDD-UL-DPCH-TimeSlotFormat-LCR,
+ iE-Extensions ProtocolExtensionContainer { { TDD-UL-Code-LCR-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-LCR-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-UL-Code-Information768 ::= SEQUENCE ( SIZE (1..maxNrOfDPCHs768)) OF TDD-UL-Code-InformationItem768
+
+TDD-UL-Code-InformationItem768 ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768,
+ iE-Extensions ProtocolExtensionContainer { {TDD-UL-Code-InformationItem768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-InformationItem768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-UL-DPCH-TimeSlotFormat-LCR ::= CHOICE {
+ qPSK QPSK-UL-DPCH-TimeSlotFormatTDD-LCR,
+ eightPSK EightPSK-UL-DPCH-TimeSlotFormatTDD-LCR,
+ ...
+}
+
+QPSK-UL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..69,...)
+
+EightPSK-UL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
+
+TFCI-Coding ::= ENUMERATED {
+ v4,
+ v8,
+ v16,
+ v32,
+ ...
+}
+
+TFCI-Presence ::= ENUMERATED {
+ present,
+ not-present
+}
+
+TFCI-SignallingMode ::= ENUMERATED {
+ normal,
+ not-Used-split
+}
+-- The value “Not Used” shall not be used by the SRNC. The procedure shall be rejected by the DRNC if the value “Not Used” is received.
+
+TGD ::= INTEGER (0|15..269)
+-- 0 = Undefined, only one transmission gap in the transmission gap pattern sequence
+
+TGPRC ::= INTEGER (0..511)
+-- 0 = infinity
+
+TGPSID ::= INTEGER (1.. maxTGPS)
+
+TGSN ::= INTEGER (0..14)
+
+TimeSlot ::= INTEGER (0..14)
+
+TimeSlotLCR ::= INTEGER (0..6)
+
+Time-Stamp ::= INTEGER (0..9999)
+-- Unit: 10ms
+
+
+
+TimingAdvanceApplied ::= ENUMERATED {
+ yes,
+ no
+}
+
+SynchronisationIndicator ::= ENUMERATED {
+ timingMaintainedSynchronisation,
+ ...
+}
+
+TMGI ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ service-id Service-ID,
+ iE-Extensions ProtocolExtensionContainer { { TMGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TMGI-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TnlQos ::= CHOICE {
+ dsField DsField,
+ genericTrafficCategory GenericTrafficCategory,
+ ...
+}
+
+ToAWE ::= INTEGER (0..2559)
+
+ToAWS ::= INTEGER (0..1279)
+
+TraceDepth ::= ENUMERATED {
+ minimum,
+ medium,
+ maximum,
+ ...
+}
+
+TraceRecordingSessionReference ::= INTEGER (0..65535)
+
+TraceReference ::= OCTET STRING (SIZE (2..3))
+
+TrafficClass ::= ENUMERATED {
+ conversational,
+ streaming,
+ interactive,
+ background,
+ ...
+}
+
+Transmission-Gap-Pattern-Sequence-Information ::= SEQUENCE (SIZE (1..maxTGPS)) OF
+ SEQUENCE {
+ tGPSID TGPSID,
+ tGSN TGSN,
+ tGL1 GapLength,
+ tGL2 GapLength OPTIONAL,
+ tGD TGD,
+ tGPL1 GapDuration,
+ not-to-be-used-1 GapDuration OPTIONAL,
+ -- This IE shall never be included in the SEQUENCE. If received it shall be ignored
+ uL-DL-mode UL-DL-mode,
+ downlink-Compressed-Mode-Method Downlink-Compressed-Mode-Method OPTIONAL,
+ -- This IE shall be present if the value of the UL/DL mode IE is “DL only” or “UL/DL”
+ uplink-Compressed-Mode-Method Uplink-Compressed-Mode-Method OPTIONAL,
+ -- This IE shall be present if the value of the UL/DL mode IE is “UL only” or “UL/DL”
+ dL-FrameType DL-FrameType,
+ delta-SIR1 DeltaSIR,
+ delta-SIR-after1 DeltaSIR,
+ delta-SIR2 DeltaSIR OPTIONAL,
+ delta-SIR-after2 DeltaSIR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Transmission-Gap-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Transmission-Gap-Pattern-Sequence-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transmission-Gap-Pattern-Sequence-ScramblingCode-Information ::= ENUMERATED{
+code-change,
+nocode-change
+}
+
+Transmission-Gap-Pattern-Sequence-Status-List ::= SEQUENCE (SIZE (0..maxTGPS)) OF
+ SEQUENCE {
+ tGPSID TGPSID,
+ tGPRC TGPRC,
+ tGCFN CFN,
+ iE-Extensions ProtocolExtensionContainer { { Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Affected-HSDSCH-Serving-Cell-List CRITICALITY reject EXTENSION Affected-HSDSCH-Serving-Cell-List PRESENCE optional},
+ ...
+}
+
+Affected-HSDSCH-Serving-Cell-List ::= SEQUENCE (SIZE (0.. maxNrOfHSDSCH)) OF C-ID
+
+TransmissionMode ::=ENUMERATED {
+ p-t-p,
+ p-t-m,
+ not-provided,
+ ...
+}
+
+Transmission-Mode-Information::= SEQUENCE ( SIZE (1..maxNrOfFDDNeighboursPerRNC,...)) OF Transmission-Mode-Information-List
+
+Transmission-Mode-Information-List ::= SEQUENCE {
+ c-ID C-ID,
+ transmissionMode TransmissionMode,
+ iE-Extensions ProtocolExtensionContainer { { Transmission-Mode-Information-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Transmission-Mode-Information-List-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmissionTimeIntervalDynamic ::= ENUMERATED {
+ msec-10,
+ msec-20,
+ msec-40,
+ msec-80,
+ ...
+}
+
+TransmissionTimeIntervalSemiStatic ::= ENUMERATED {
+ msec-10,
+ msec-20,
+ msec-40,
+ msec-80,
+ dynamic,
+ ...
+}
+
+TransmitDiversityIndicator ::= ENUMERATED {
+ active,
+ inactive
+}
+
+Transmitted-Carrier-Power-Value ::= INTEGER(0..100)
+-- according to mapping in TS 25.133 [23] and TS 25.123 [24]
+
+Transmitted-Carrier-Power-Value-IncrDecrThres ::= INTEGER(0..100)
+-- according to mapping in TS 25.133 [23] and TS 25.123 [24]
+
+Transport-Block-Size-Index ::= INTEGER(1..maxNrOfHS-DSCHTBSs)
+
+TUTRANGANSS ::= SEQUENCE {
+ mS INTEGER(0..16383),
+ lS INTEGER(0..4294967295)
+}
+
+TUTRANGANSSAccuracyClass ::= ENUMERATED {
+ ganssAccuracy-class-A,
+ ganssAccuracy-class-B,
+ ganssAccuracy-class-C,
+ ...
+}
+
+TUTRANGANSSMeasurementThresholdInformation ::= SEQUENCE {
+ tUTRANGANSSChangeLimit INTEGER(1..256) OPTIONAL,
+ predictedTUTRANGANSSDeviationLimit INTEGER(1..256) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { TUTRANGANSSMeasurementThresholdInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TUTRANGANSSMeasurementThresholdInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TUTRANGANSSMeasurementValueInformation ::= SEQUENCE {
+ tUTRANGANSS TUTRANGANSS,
+ tUTRANGANSSQuality INTEGER(0..255) OPTIONAL,
+ tUTRANGANSSDriftRate INTEGER(-50..50),
+ tUTRANGANSSDriftRateQuality INTEGER(0..50) OPTIONAL,
+ ie-Extensions ProtocolExtensionContainer { { TUTRANGANSSMeasurementValueInformation-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TUTRANGANSSMeasurementValueInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GANSS-Time-ID CRITICALITY ignore EXTENSION GANSS-Time-ID PRESENCE optional},
+ ...
+}
+
+TUTRANGPS ::= SEQUENCE {
+ ms-part INTEGER (0..16383),
+ ls-part INTEGER (0..4294967295)
+}
+
+TUTRANGPSChangeLimit ::= INTEGER (1..256)
+-- Unit chip, Step 1/16 chip, Range 1/16..16 chip
+
+TUTRANGPSDriftRate ::= INTEGER (-50..50)
+-- Unit chip/s, Step 1/256 chip/s, Range -50/256..+50/256 chip/s
+
+TUTRANGPSDriftRateQuality ::= INTEGER (0..50)
+-- Unit chip/s, Step 1/256 chip/s, Range 0..50/256 chip/s
+
+TUTRANGPSAccuracyClass ::= ENUMERATED {
+ accuracy-class-A,
+ accuracy-class-B,
+ accuracy-class-C,
+ ...
+}
+
+TUTRANGPSMeasurementThresholdInformation ::= SEQUENCE {
+ tUTRANGPSChangeLimit TUTRANGPSChangeLimit OPTIONAL,
+ predictedTUTRANGPSDeviationLimit PredictedTUTRANGPSDeviationLimit OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TUTRANGPSMeasurementThresholdInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TUTRANGPSMeasurementThresholdInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TUTRANGPSMeasurementValueInformation ::= SEQUENCE {
+ tUTRANGPS TUTRANGPS,
+ tUTRANGPSQuality TUTRANGPSQuality OPTIONAL,
+ tUTRANGPSDriftRate TUTRANGPSDriftRate,
+ tUTRANGPSDriftRateQuality TUTRANGPSDriftRateQuality OPTIONAL,
+ iEe-Extensions ProtocolExtensionContainer { { TUTRANGPSMeasurementValueInformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TUTRANGPSMeasurementValueInformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TUTRANGPSQuality ::= INTEGER (0..255)
+-- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
+
+TransportBearerID ::= INTEGER (0..4095)
+
+TransportBearerRequestIndicator ::= ENUMERATED {
+ bearer-requested,
+ bearer-not-requested,
+ ...
+}
+
+TransportBearerNotRequestedIndicator ::= ENUMERATED {
+ transport-bearer-shall-not-be-established,
+ transport-bearer-may-not-be-established
+}
+
+TransportBearerNotSetupIndicator ::= ENUMERATED {
+ transport-bearer-not-setup
+}
+
+TransportBlockSize ::= INTEGER (0..5000)
+-- Unit is bits
+
+TransportFormatCombination-Beta ::= CHOICE {
+ signalledGainFactors SEQUENCE {
+ betaC BetaCD,
+ betaD BetaCD,
+ refTFCNumber RefTFCNumber OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SignalledGainFactors-ExtIEs} } OPTIONAL,
+ ...
+ },
+ refTFCNumber RefTFCNumber,
+ ...
+}
+
+SignalledGainFactors-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TFCS ::= SEQUENCE {
+ tFCSvalues CHOICE {
+ no-Split-in-TFCI TFCS-TFCSList,
+ not-Used-split-in-TFCI NULL,
+ -- This choice shall never be made by the SRNC and the DRNC shall consider the procedure as failed if it is received.
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { { TFCS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TFCS-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TFCS-TFCSList ::= SEQUENCE (SIZE (1..maxNrOfTFCs)) OF
+ SEQUENCE {
+ cTFC TFCS-CTFC,
+ tFC-Beta TransportFormatCombination-Beta OPTIONAL,
+ -- The IE shall be present if the TFCS concerns a UL DPCH [FDD – or PRACH channel in FDD]
+ iE-Extensions ProtocolExtensionContainer { { TFCS-TFCSList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TFCS-TFCSList-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-Gainfactors-10ms-mode CRITICALITY reject EXTENSION Gainfactors-10ms-mode PRESENCE optional},
+ ...
+}
+
+TFCS-CTFC ::= CHOICE {
+ ctfc2bit INTEGER (0..3),
+ ctfc4bit INTEGER (0..15),
+ ctfc6bit INTEGER (0..63),
+ ctfc8bit INTEGER (0..255),
+ ctfc12bit INTEGER (0..4095),
+ ctfc16bit INTEGER (0..65535),
+ ctfcmaxbit INTEGER (0..maxCTFC)
+}
+
+TPC-slot-position ::= SEQUENCE {
+ slot-position INTEGER(0..4) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TPC-slot-position-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TPC-slot-position-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportFormatSet ::= SEQUENCE {
+ dynamicParts TransportFormatSet-DynamicPartList,
+ semi-staticPart TransportFormatSet-Semi-staticPart,
+ iE-Extensions ProtocolExtensionContainer { {TransportFormatSet-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransportFormatSet-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportFormatSet-DynamicPartList ::= SEQUENCE (SIZE (1..maxNrOfTFs)) OF
+ SEQUENCE {
+ nrOfTransportBlocks NrOfTransportBlocks,
+ transportBlockSize TransportBlockSize OPTIONAL
+ -- This IE shall be present if nrOfTransportBlocks is greater than 0 --,
+ mode TransportFormatSet-ModeDP,
+ iE-Extensions ProtocolExtensionContainer { {TransportFormatSet-DynamicPartList-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+TransportFormatSet-DynamicPartList-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportFormatSet-ModeDP ::= CHOICE {
+ tdd TDD-TransportFormatSet-ModeDP,
+ notApplicable NULL,
+ ...
+}
+
+TDD-TransportFormatSet-ModeDP ::= SEQUENCE {
+ transmissionTimeIntervalInformation TransmissionTimeIntervalInformation OPTIONAL,
+ -- This IE shall be present if the “Transmission Time Interval” of the “Semi-static Transport Format Information” is “dynamic”. Otherwise it is absent.
+ iE-Extensions ProtocolExtensionContainer { {TDD-TransportFormatSet-ModeDP-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+TDD-TransportFormatSet-ModeDP-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransmissionTimeIntervalInformation ::= SEQUENCE (SIZE (1..maxTTI-Count)) OF
+ SEQUENCE {
+ transmissionTimeInterval TransmissionTimeIntervalDynamic,
+ iE-Extensions ProtocolExtensionContainer { {TransmissionTimeIntervalInformation-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+TransmissionTimeIntervalInformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transmitted-Code-Power-Value ::= INTEGER (0..127)
+-- According to mapping in TS 25.215 [11]/TS 25.225 [14]
+
+Transmitted-Code-Power-Value-IncrDecrThres ::= INTEGER (0..112,...)
+
+TransportFormatManagement ::= ENUMERATED {
+ cell-based,
+ ue-based,
+ ...
+}
+
+TransportFormatSet-Semi-staticPart ::= SEQUENCE {
+ transmissionTime TransmissionTimeIntervalSemiStatic,
+ channelCoding ChannelCodingType,
+ codingRate CodingRate OPTIONAL
+ -- This IE shall be present if channelCoding is ‘convolutional’ or ‘turbo’ --,
+ rateMatcingAttribute RateMatchingAttribute,
+ cRC-Size CRC-Size,
+ mode TransportFormatSet-ModeSSP,
+ iE-Extensions ProtocolExtensionContainer { {TransportFormatSet-Semi-staticPart-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TransportFormatSet-Semi-staticPart-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TransportFormatSet-ModeSSP ::= CHOICE {
+ tdd SecondInterleavingMode,
+ notApplicable NULL,
+ ...
+}
+
+TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
+
+TrCH-SrcStatisticsDescr ::= ENUMERATED {
+ speech,
+ rRC,
+ unknown,
+ ...
+}
+
+TSN-Length ::= ENUMERATED {
+ tsn-6bits,
+ tsn-9bits
+}
+
+TSTD-Indicator ::= ENUMERATED {
+ active,
+ inactive
+}
+
+TSTD-Support-Indicator ::= ENUMERATED {
+ tSTD-supported,
+ tSTD-not-supported
+}
+
+TTI-Update-Indicator ::= CHOICE {
+ tTI-Update-CFN CFN,
+ tTI-Update-Ind TTI-Update-Ind
+}
+
+TTI-Update-Ind ::= NULL
+
+TxDiversityIndicator ::= ENUMERATED {
+ true,
+ false
+}
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+-- U
+
+UARFCN ::= INTEGER (0..16383,...)
+-- Corresponds to: 0.0Hz..3276.6Mhz. See TS 25.105 [7], TS 25.101 [43]
+
+UDRE ::= ENUMERATED {
+ lessThan1,
+ between1-and-4,
+ between4-and-8,
+ over8,
+ ...
+}
+
+UDREGrowthRate ::= ENUMERATED {
+ growth-1-point-5,
+ growth-2,
+ growth-4,
+ growth-6,
+ growth-8,
+ growth-10,
+ growth-12,
+ growth-16}
+
+UDREValidityTime ::= ENUMERATED {
+ val-20sec,
+ val-40sec,
+ val-80sec,
+ val-160sec,
+ val-320sec,
+ val-640sec,
+ val-1280sec,
+ val-2560sec}
+
+UE-AggregateMaximumBitRate ::= SEQUENCE {
+ uE-AggregateMaximumBitRateDownlink UE-AggregateMaximumBitRateDownlink OPTIONAL,
+ uE-AggregateMaximumBitRateUplink UE-AggregateMaximumBitRateUplink OPTIONAL,
+ ...
+}
+
+UE-AggregateMaximumBitRateDownlink ::= INTEGER (1..1000000000)
+-- Unit is bits per sec
+
+UE-AggregateMaximumBitRateUplink ::= INTEGER (1..1000000000)
+-- Unit is bits per sec
+
+UE-AggregateMaximumBitRate-Enforcement-Indicator ::= NULL
+
+UE-Capabilities-Info ::= SEQUENCE {
+ hSDSCH-Physical-Layer-Category INTEGER (1..64,...),
+ iE-Extensions ProtocolExtensionContainer { { UE-Capabilities-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UE-Capabilities-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-LCRTDD-uplink-Physical-Channel-Capability CRITICALITY ignore EXTENSION LCRTDD-Uplink-Physical-Channel-Capability PRESENCE optional}|
+ {ID id-number-Of-Supported-Carriers CRITICALITY reject EXTENSION Number-Of-Supported-Carriers PRESENCE optional}|
+ {ID id-MIMO-SFMode-Supported-For-HSPDSCHDualStream CRITICALITY ignore EXTENSION MIMO-SFMode-For-HSPDSCHDualStream PRESENCE optional}|
+ {ID id-MultiCarrier-HSDSCH-Physical-Layer-Category CRITICALITY ignore EXTENSION LCRTDD-HSDSCH-Physical-Layer-Category PRESENCE optional}|
+ {ID id-UE-TS0-CapabilityLCR CRITICALITY ignore EXTENSION UE-TS0-CapabilityLCR PRESENCE optional}|
+ {ID id-UE-RF-Band-CapabilityLCR CRITICALITY ignore EXTENSION UE-RF-Band-CapabilityLCR PRESENCE conditional},
+ ...
+}
+
+UE-Support-of-non-rectangular-resource-allocation ::= ENUMERATED {
+ support
+}
+
+UE-TS0-CapabilityLCR ::= ENUMERATED {
+ tS0-Capable,
+ tS0-Not-Capable
+}
+
+UE-RF-Band-CapabilityLCR ::= SEQUENCE (SIZE (1.. maxFreqBandsTDD)) OF Radio-Frequency-BandItem
+
+Radio-Frequency-BandItem ::= SEQUENCE {
+ radio-Frequency-Band Radio-Frequency-Band,
+ iE-Extensions ProtocolExtensionContainer { { Radio-Frequency-BandItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Radio-Frequency-Band ::= ENUMERATED {
+ a,
+ b,
+ c,
+ d,
+ e,
+ f,
+ g,
+ h,
+ i,
+ j,
+ k,
+ l,
+ m,
+ n,
+ o,
+ p,
+...
+}
+
+Radio-Frequency-BandItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LCRTDD-HSDSCH-Physical-Layer-Category ::= INTEGER (1..64)
+
+UE-DPCCH-burst1 ::= ENUMERATED {v1, v2, v5}
+ -- Unit subframe
+
+UE-DPCCH-burst2 ::= ENUMERATED {v1, v2, v5}
+ -- Unit subframe
+
+UE-DRX-Cycle ::= ENUMERATED {v4, v5, v8, v10, v16, v20}
+ -- Unit subframe
+
+UE-DRX-Grant-Monitoring ::= BOOLEAN
+ -- true: applied, false: not applied
+
+UE-DTX-Cycle1-2ms ::= ENUMERATED {v1, v4, v5, v8, v10, v16, v20}
+ -- Unit subframe
+
+UE-DTX-Cycle1-10ms ::= ENUMERATED {v1, v5, v10, v20}
+ -- Unit subframe
+
+UE-DTX-Cycle2-2ms ::= ENUMERATED {v4, v5, v8, v10, v16, v20, v32, v40, v64, v80, v128, v160}
+ -- Unit subframe
+
+UE-DTX-Cycle2-ext-2ms ::= ENUMERATED {v4, v5, v8, v10, v16, v20, v32, v40, v64, v80, v128, v160, v256, v320, v512, v640, v1024, v1280}
+ -- Unit subframe
+
+UE-DTX-Cycle2-10ms ::= ENUMERATED {v5, v10, v20, v40, v80, v160}
+ -- Unit subframe
+
+UE-DTX-DRX-Offset ::= INTEGER (0..159)
+ -- Unit subframe
+
+UE-DTX-Long-Preamble ::= ENUMERATED {v2, v4, v15}
+ -- Units of slots
+
+
+
+UEIdentity ::= CHOICE {
+ imsi IMSI,
+ imei IMEI,
+ imeisv IMEISV,
+ ...
+}
+
+UEMeasurementHysteresisTime ::= INTEGER (0..15)
+ -- Unit dB
+ -- Range 0..7.5 dB
+ -- Step 0.5 dB
+
+UEMeasurementParameterModAllow ::= ENUMERATED {
+ parameterModificationAllowed,
+ ...
+}
+
+UEMeasurementReportCharacteristics ::= CHOICE {
+ periodic UEMeasurementReportCharacteristicsPeriodic,
+ event1h UEMeasurementReportCharacteristicsEvent1h,
+ event1i UEMeasurementReportCharacteristicsEvent1i,
+ event6a UEMeasurementReportCharacteristicsEvent6a,
+ event6b UEMeasurementReportCharacteristicsEvent6b,
+ event6c UEMeasurementReportCharacteristicsEvent6c,
+ event6d UEMeasurementReportCharacteristicsEvent6d,
+ ...,
+ extension-ReportCharacteristics UEMeasurementReportCharacteristics-Extension
+}
+
+UEMeasurementReportCharacteristicsEvent1h ::= SEQUENCE {
+ uEMeasurementTreshold UEMeasurementThreshold,
+ uEMeasurementTimeToTrigger UEMeasurementTimeToTrigger,
+ uEMeasurementHysteresisTime UEMeasurementHysteresisTime,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementReportCharacteristicsEvent1h-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent1h-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent1i ::= SEQUENCE {
+ uEMeasurementTreshold UEMeasurementThreshold,
+ uEMeasurementTimeToTrigger UEMeasurementTimeToTrigger,
+ uEMeasurementHysteresisTime UEMeasurementHysteresisTime,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementReportCharacteristicsEvent1i-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent1i-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent6a ::= SEQUENCE {
+ uEMeasurementTreshold UEMeasurementThreshold,
+ uEMeasurementTimeToTrigger UEMeasurementTimeToTrigger,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementReportCharacteristicsEvent6a-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent6a-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent6b ::= SEQUENCE {
+ uEMeasurementTreshold UEMeasurementThreshold,
+ uEMeasurementTimeToTrigger UEMeasurementTimeToTrigger,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementReportCharacteristicsEvent6b-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent6b-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent6c ::= SEQUENCE {
+ uEMeasurementTimeToTrigger UEMeasurementTimeToTrigger,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementReportCharacteristicsEvent6c-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent6c-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent6d ::= SEQUENCE {
+ uEMeasurementTimeToTrigger UEMeasurementTimeToTrigger,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementReportCharacteristicsEvent6d-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementReportCharacteristicsEvent6d-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementReportCharacteristicsPeriodic ::= SEQUENCE {
+ amountofReporting UEMeasurementReportCharacteristicsPeriodicAmountofReporting,
+ reportingInterval UEMeasurementReportCharacteristicsPeriodicReportingInterval,
+ iE-Extensions ProtocolExtensionContainer { {UEMeasurementReportCharacteristicsPeriodic-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementReportCharacteristicsPeriodicAmountofReporting::= ENUMERATED {
+ r1,
+ r2,
+ r4,
+ r8,
+ r16,
+ r32,
+ r64,
+ rInfinity
+}
+
+UEMeasurementReportCharacteristicsPeriodicReportingInterval::= ENUMERATED {
+ r250,
+ r500,
+ r1000,
+ r2000,
+ r3000,
+ r4000,
+ r6000,
+ r8000,
+ r12000,
+ r16000,
+ r20000,
+ r24000,
+ r28000,
+ r32000,
+ r64000
+}
+
+UEMeasurementReportCharacteristicsPeriodic-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementReportCharacteristics-Extension ::= ProtocolIE-Single-Container {{ UEMeasurementReportCharacteristics-ExtensionIE }}
+
+UEMeasurementReportCharacteristics-ExtensionIE RNSAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UEMeasurementThreshold ::= CHOICE {
+ timeslotISCP UEMeasurementThresholdDLTimeslotISCP,
+ uETransmitPower UEMeasurementThresholdUETransmitPower,
+ ...,
+ extension-UEMeasurementThreshold UEMeasurementThreshold-Extension
+}
+
+UEMeasurementThresholdDLTimeslotISCP ::= INTEGER(-115..-25)
+
+UEMeasurementThresholdUETransmitPower ::= INTEGER(-50..33)
+
+UEMeasurementThreshold-Extension ::= ProtocolIE-Single-Container {{ UEMeasurementThreshold-ExtensionIE }}
+
+UEMeasurementThreshold-ExtensionIE RNSAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UEMeasurementTimeslotInfoHCR::= SEQUENCE (SIZE (1..maxNrOfTS)) OF UEMeasurementTimeslotInfoHCR-IEs
+
+UEMeasurementTimeslotInfoHCR-IEs ::= SEQUENCE {
+ timeSlot TimeSlot,
+ burstType UEMeasurementTimeslotInfoHCRBurstType,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementTimeslotInfoHCR-IEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementTimeslotInfoHCRBurstType ::= ENUMERATED {
+ type1,
+ type2,
+ type3,
+ ...
+}
+
+UEMeasurementTimeslotInfoHCR-IEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementTimeslotInfoLCR::= SEQUENCE (SIZE (1..maxNrOfTsLCR)) OF UEMeasurementTimeslotInfoLCR-IEs
+
+UEMeasurementTimeslotInfoLCR-IEs ::= SEQUENCE {
+ timeSlot TimeSlotLCR,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementTimeslotInfoLCR-IEs-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+UEMeasurementTimeslotInfoLCR-IEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementTimeslotInfo768::= SEQUENCE (SIZE (1..maxNrOfTS)) OF UEMeasurementTimeslotInfo768-IEs
+
+UEMeasurementTimeslotInfo768-IEs ::= SEQUENCE {
+ timeSlot TimeSlot,
+ burstType UEMeasurementTimeslotInfo768BurstType,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementTimeslotInfo768-IEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementTimeslotInfo768BurstType ::= ENUMERATED {
+ type1,
+ type2,
+ type3,
+ ...
+}
+
+UEMeasurementTimeslotInfo768-IEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementTimeToTrigger ::= ENUMERATED {
+ r0,
+ r10,
+ r20,
+ r40,
+ r60,
+ r80,
+ r100,
+ r120,
+ r160,
+ r200,
+ r240,
+ r320,
+ r640,
+ r1280,
+ r2560,
+ r5000
+}
+
+UEMeasurementType ::= ENUMERATED {
+ primary-CCPCH-RSCP,
+ dL-Timeslot-ISCP,
+ uE-Transmitted-power,
+ ...
+}
+
+UEMeasurementValue ::= CHOICE {
+ uE-Transmitted-Power UE-MeasurementValue-UE-Transmitted-Power,
+ primary-CCPCH-RSCP UE-MeasurementValue-Primary-CCPCH-RSCP,
+ dL-Timeslot-ISCP UE-MeasurementValue-DL-Timeslot-ISCP,
+ ...,
+ extension-UEMeasurementValue UEMeasurementValue-Extension
+}
+
+UE-MeasurementValue-UE-Transmitted-Power ::= SEQUENCE {
+ uEMeasurementTransmittedPowerListHCR UEMeasurementValueTransmittedPowerListHCR OPTIONAL,
+-- Mandatory for 3.84Mcps TDD, Not applicable for 1.28Mcps TDD or 7.68Mcps TDD
+ uEMeasurementTransmittedPowerListLCR UEMeasurementValueTransmittedPowerListLCR OPTIONAL,
+-- Mandatory for 1.28Mcps TDD, Not applicable for 3.84Mcps TDD or 7.68Mcps TDD
+ iE-Extensions ProtocolExtensionContainer { { UE-MeasurementValue-UE-Transmitted-Power-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-MeasurementValue-UE-Transmitted-Power-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UEMeasurementValueTransmittedPowerList768 CRITICALITY ignore EXTENSION UEMeasurementValueTransmittedPowerList768 PRESENCE optional},
+ ...
+}
+
+UEMeasurementValueTransmittedPowerListHCR ::= SEQUENCE (SIZE (1..maxNrOfTS)) OF UEMeasurementValueTransmittedPowerListHCR-IEs
+
+UEMeasurementValueTransmittedPowerListHCR-IEs ::= SEQUENCE {
+ timeSlot TimeSlot,
+ uETransmitPower INTEGER(0..104),
+ -- mapping according to TS 25.123 [24],values 0..20 not used
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementValueTransmittedPowerListHCR-IEs-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+UEMeasurementValueTransmittedPowerListHCR-IEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+UEMeasurementValueTransmittedPowerListLCR ::= SEQUENCE (SIZE (1..maxNrOfTsLCR)) OF UEMeasurementValueTransmittedPowerListLCR-IEs
+
+UEMeasurementValueTransmittedPowerListLCR-IEs ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ uETransmitPower INTEGER(0..104),
+ -- mapping according to TS 25.123 [24],values 0..20 not used
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementValueTransmittedPowerListLCR-IEs-ExtIEs} } OPTIONAL,
+ ...
+
+}
+UEMeasurementValueTransmittedPowerListLCR-IEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementValueTransmittedPowerList768 ::= SEQUENCE (SIZE (1..maxNrOfTS)) OF UEMeasurementValueTransmittedPowerList768-IEs
+
+UEMeasurementValueTransmittedPowerList768-IEs ::= SEQUENCE {
+ timeSlot TimeSlot,
+ uETransmitPower INTEGER(0..104),
+ -- mapping according to TS 25.123 [24],values 0..20 not used
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementValueTransmittedPowerList768-IEs-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+UEMeasurementValueTransmittedPowerList768-IEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-MeasurementValue-Primary-CCPCH-RSCP::= SEQUENCE {
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL,
+ primaryCCPCH-RSCP-Delta PrimaryCCPCH-RSCP-Delta OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-MeasurementValue-Primary-CCPCH-RSCP-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-MeasurementValue-Primary-CCPCH-RSCP-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-MeasurementValue-DL-Timeslot-ISCP ::= SEQUENCE {
+ uEMeasurementTimeslotISCPListHCR UEMeasurementValueTimeslotISCPListHCR OPTIONAL,
+-- Mandatory for 3.84Mcps TDD, Not applicable for 1.28Mcps TDD or 7.68Mcps TDD
+ uEMeasurementTimeslotISCPListLCR UEMeasurementValueTimeslotISCPListLCR OPTIONAL,
+-- Mandatory for 1.28Mcps TDD, Not applicable for 3.84Mcps TDD or 7.68Mcps TDD
+ iE-Extensions ProtocolExtensionContainer { { UE-MeasurementValue-DL-Timeslot-ISCP-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-MeasurementValue-DL-Timeslot-ISCP-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UEMeasurementValueTimeslotISCPList768 CRITICALITY ignore EXTENSION UEMeasurementValueTimeslotISCPList768 PRESENCE optional},
+ ...
+}
+
+UEMeasurementValueTimeslotISCPListHCR ::= SEQUENCE (SIZE (1..maxNrOfTS)) OF UEMeasurementValueTimeslotISCPListHCR-IEs
+
+UEMeasurementValueTimeslotISCPListHCR-IEs ::= SEQUENCE {
+ timeSlot TimeSlot,
+ dL-TimeslotISCP DL-TimeslotISCP,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementValueTimeslotISCPListHCR-IEs-ExtIEs} } OPTIONAL,
+ ...
+
+}
+UEMeasurementValueTimeslotISCPListHCR-IEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+UEMeasurementValueTimeslotISCPListLCR ::= SEQUENCE (SIZE (1..maxNrOfTsLCR)) OF UEMeasurementValueTimeslotISCPListLCR-IEs
+
+UEMeasurementValueTimeslotISCPListLCR-IEs ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ dL-TimeslotISCP DL-TimeslotISCP,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementValueTimeslotISCPListLCR-IEs-ExtIEs} } OPTIONAL,
+ ...
+
+}
+UEMeasurementValueTimeslotISCPListLCR-IEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementValueTimeslotISCPList768 ::= SEQUENCE (SIZE (1..maxNrOfTS)) OF UEMeasurementValueTimeslotISCPList768-IEs
+
+UEMeasurementValueTimeslotISCPList768-IEs ::= SEQUENCE {
+ timeSlot TimeSlot,
+ dL-TimeslotISCP DL-TimeslotISCP,
+ iE-Extensions ProtocolExtensionContainer { { UEMeasurementValueTimeslotISCPList768-IEs-ExtIEs} } OPTIONAL,
+ ...
+
+}
+UEMeasurementValueTimeslotISCPList768-IEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementValue-Extension ::= ProtocolIE-Single-Container {{ UEMeasurementValue-ExtensionIE }}
+
+UEMeasurementValue-ExtensionIE RNSAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UEMeasurementValueInformation ::= CHOICE {
+ measurementAvailable UEMeasurementValueInformationAvailable,
+ measurementnotAvailable UEMeasurementValueInformationnotAvailable
+}
+
+UEMeasurementValueInformationAvailable::= SEQUENCE {
+ uEmeasurementValue UEMeasurementValue,
+ ie-Extensions ProtocolExtensionContainer { { UEMeasurementValueInformationAvailableItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEMeasurementValueInformationAvailableItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEMeasurementValueInformationnotAvailable ::= NULL
+
+UE-Measurement-Value ::= CHOICE {
+ uPHFiltering-Value UPHFiltering-Value,
+ extension-UE-Measurement-Value Extension-UE-Measurement-Value
+}
+
+Extension-UE-Measurement-Value ::= ProtocolIE-Single-Container {{ Extension-UE-Measurement-ValueIE}}
+
+Extension-UE-Measurement-ValueIE RNSAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UPHFiltering-Value ::= INTEGER (0..32)
+-- According to mapping in TS 25.321
+
+UE-SupportIndicatorExtension ::= BIT STRING (SIZE (32))
+-- First bit: Different HS-SCCH In Consecutive TTIs Support Indicator
+-- Second bit: HS-SCCH orders in HS-SCCH-less Operation Support Indicator
+-- Third bit: RRC Rel-9 (onwards) handling of DL secondary HS-DSCH (de)activation state Support Indicator
+-- Fourth bit: UE DTX/DRX related HS-SCCH orders uniform behavior indicator
+-- Fifth bit: UE longer HARQ processing time for Multiflow and MIMO indicator
+-- Sixth bit: UE blind HARQ retransmissions indicator for HSDPA
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+UE-State ::= CHOICE {
+ cell-fach-pch Cell-Fach-Pch-State,
+ ura-pch Ura-Pch-State,
+ ...
+}
+
+UE-transmission-power-headroom-Value ::= INTEGER (0..31)
+
+Cell-Fach-Pch-State ::= SEQUENCE {
+ d-RNTI D-RNTI,
+ iE-Extensions ProtocolExtensionContainer { { Cell-Fach-Pch-State-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cell-Fach-Pch-State-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Ura-Pch-State ::= SEQUENCE {
+ srnc-id RNC-ID,
+ ura-id URA-ID,
+ iE-Extensions ProtocolExtensionContainer { { Ura-Pch-State-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Ura-Pch-State-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-SRNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional},
+ ...
+}
+
+UL-Delta-T2TP ::= INTEGER (0..6,...)
+
+UL-DL-mode ::= ENUMERATED {
+ ul-only,
+ dl-only,
+ both-ul-and-dl
+}
+
+UL-DPDCHIndicatorEDCH ::= ENUMERATED {
+ uL-DPDCH-present,
+ uL-DPDCH-not-present}
+
+UL-Timeslot-Information::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF UL-Timeslot-InformationItem
+
+UL-Timeslot-InformationItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ tFCI-Presence TFCI-Presence,
+ uL-Code-Information TDD-UL-Code-Information,
+ iE-Extensions ProtocolExtensionContainer { {UL-Timeslot-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-TimeslotLCR-Information ::= SEQUENCE (SIZE (1..maxNrOfULTsLCR)) OF UL-TimeslotLCR-InformationItem
+
+UL-TimeslotLCR-InformationItem ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ tFCI-Presence TFCI-Presence,
+ uL-Code-LCR-InformationList TDD-UL-Code-LCR-Information,
+ iE-Extensions ProtocolExtensionContainer { { UL-TimeslotLCR-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-TimeslotLCR-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PLCCH-Information-UL-TimeslotLCR-Info CRITICALITY ignore EXTENSION PLCCHinformation PRESENCE optional},
+ ...
+}
+PLCCHinformation ::= SEQUENCE {
+ tDD-ChannelisationCode TDD-ChannelisationCode,
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ sequenceNumber PLCCHsequenceNumber,
+ iE-Extensions ProtocolExtensionContainer { { PLCCHinformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLCCHinformation-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-Information768::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF UL-Timeslot-InformationItem768
+
+UL-Timeslot-InformationItem768 ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ tFCI-Presence TFCI-Presence,
+ uL-Code-Information768 TDD-UL-Code-Information768,
+ iE-Extensions ProtocolExtensionContainer { {UL-Timeslot-InformationItem768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationItem768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-TimeSlot-ISCP-Info ::= SEQUENCE (SIZE (1..maxNrOfULTs)) OF UL-TimeSlot-ISCP-InfoItem
+
+UL-TimeSlot-ISCP-InfoItem ::= SEQUENCE {
+ timeSlot TimeSlot,
+ uL-TimeslotISCP UL-TimeslotISCP,
+ iE-Extensions ProtocolExtensionContainer { { UL-TimeSlot-ISCP-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-TimeSlot-ISCP-InfoItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-TimeSlot-ISCP-LCR-Info ::= SEQUENCE (SIZE (1..maxNrOfULTsLCR)) OF UL-TimeSlot-ISCP-LCR-InfoItem
+
+UL-TimeSlot-ISCP-LCR-InfoItem ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ iSCP UL-Timeslot-ISCP-Value,
+ iE-Extensions ProtocolExtensionContainer { { UL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+UL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-ISCP-Value ::= UL-TimeslotISCP
+
+UL-Timeslot-ISCP-Value-IncrDecrThres ::= INTEGER(0..126)
+-- Unit dB. Step 0.5dB
+-- e.g. Value 100 means 50dB
+
+UL-TimingAdvanceCtrl-LCR ::= SEQUENCE {
+ sync-UL-codes-bitmap BIT STRING (SIZE(8)),
+ fPACH-info FPACH-Information,
+ prxUpPCHdes INTEGER (-120 .. -58, ...),
+ syncUL-procParameter SYNC-UL-ProcParameters,
+ mMax INTEGER (1..32),
+ ...
+ }
+
+Uplink-Compressed-Mode-Method ::= ENUMERATED {
+ sFdiv2,
+ higher-layer-scheduling,
+ ...
+}
+
+UL-SIR ::= INTEGER (-82..173)
+-- The UL-SIR gives the UL-SIR in number of 0.1 dB steps.
+-- E.g. Value 173 means 17.3 dB
+-- Unit dB. Step 0.1 dB.
+
+UC-ID ::= SEQUENCE {
+ rNC-ID RNC-ID,
+ c-ID C-ID,
+ iE-Extensions ProtocolExtensionContainer { {UC-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UC-ID-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-RNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional},
+ ...
+}
+
+UL-DPCCH-SlotFormat ::= INTEGER (0..5,...)
+
+UL-FP-Mode ::= ENUMERATED {
+ normal,
+ silent,
+ ...
+}
+
+UL-PhysCH-SF-Variation ::= ENUMERATED {
+ sf-variation-supported,
+ sf-variation-not-supported
+}
+
+UL-ScramblingCode ::= SEQUENCE {
+ ul-ScramblingCodeNumber UL-ScramblingCodeNumber,
+ ul-ScramblingCodeLength UL-ScramblingCodeLength,
+ iE-Extensions ProtocolExtensionContainer { {UL-ScramblingCode-ExtIEs} } OPTIONAL
+}
+
+UL-ScramblingCode-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-ScramblingCodeLength ::= ENUMERATED {
+ short,
+ long
+}
+
+UL-ScramblingCodeNumber ::= INTEGER (0..16777215)
+
+UL-Synchronisation-Parameters-LCR ::= SEQUENCE {
+ uL-Synchronisation-StepSize UL-Synchronisation-StepSize,
+ uL-Synchronisation-Frequency UL-Synchronisation-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { UL-Synchronisation-Parameters-LCR-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-Synchronisation-Parameters-LCR-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Synchronisation-StepSize ::= INTEGER (1..8)
+
+UL-Synchronisation-Frequency ::= INTEGER (1..8)
+
+UL-TimeslotISCP ::= INTEGER (0..127)
+-- According to mapping in TS 25.225 [14]
+
+UPPCHPositionLCR ::= INTEGER (0..127)
+
+UpPTSInterferenceValue ::= INTEGER (0..127,...)
+
+Unidirectional-DCH-Indicator ::= ENUMERATED {
+ downlink-DCH-only,
+ uplink-DCH-only
+}
+
+URA-ID ::= INTEGER (0..65535)
+
+URA-Information ::= SEQUENCE {
+ uRA-ID URA-ID,
+ multipleURAsIndicator MultipleURAsIndicator,
+ rNCsWithCellsInTheAccessedURA-List RNCsWithCellsInTheAccessedURA-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {URA-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+URA-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-RNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional},
+ ...
+}
+
+RNCsWithCellsInTheAccessedURA-List ::= SEQUENCE (SIZE (1..maxRNCinURA-1)) OF RNCsWithCellsInTheAccessedURA-Item
+
+RNCsWithCellsInTheAccessedURA-Item ::= SEQUENCE {
+ rNC-ID RNC-ID,
+ iE-Extensions ProtocolExtensionContainer { {RNCsWithCellsInTheAccessedURA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RNCsWithCellsInTheAccessedURA-Item-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+USCH-ID ::= INTEGER (0..255)
+
+USCH-Information ::= SEQUENCE (SIZE (1..maxNoOfUSCHs)) OF USCH-InformationItem
+
+USCH-InformationItem ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ ul-CCTrCH-ID CCTrCH-ID,
+ trChSourceStatisticsDescriptor TrCH-SrcStatisticsDescr,
+ transportFormatSet TransportFormatSet,
+ allocationRetentionPriority AllocationRetentionPriority,
+ schedulingPriorityIndicator SchedulingPriorityIndicator,
+ rb-Info RB-Info,
+ iE-Extensions ProtocolExtensionContainer { {USCH-InformationItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCH-InformationItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE mandatory}|
+ { ID id-BindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional}|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
+ ...
+}
+
+Usefulness-Of-Battery-Optimization ::= ENUMERATED {can-benefit, cannot-benefit}
+
+User-Plane-Congestion-Fields-Inclusion ::= ENUMERATED { shall-be-included }
+
+Uu-ActivationState ::= ENUMERATED {
+ activated,
+ de-activated,
+ ...,
+ changeRequest
+}
+
+UMTS-Cells-Info-List ::= SEQUENCE (SIZE (0..maxNrOfCells)) OF ProtocolIE-Single-Container { {UMTS-Cells-Info-IEs} }
+
+UMTS-Cells-Info-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UMTS-Cells-Info CRITICALITY ignore TYPE UMTS-Cell-Info PRESENCE optional }
+}
+
+UMTS-Cell-Info ::= SEQUENCE{
+ c-ID C-ID,
+ iE-Extensions ProtocolExtensionContainer { { UMTS-Cell-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UMTS-Cell-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-CLTD-Information ::= SEQUENCE {
+ sDPCCH-PowerOffsetInformation SDPCCH-PowerOffsetInformation,
+ c-ID C-ID OPTIONAL,
+-- The IE shall be present if there is no serving E-DCH RL or HS-DSCH RL configuration in the concerned UE Context.
+ uL-CLTD-Activation-Information UL-CLTD-Activation-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-CLTD-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-CLTD-Info-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-CLTD-Information-Reconf ::=SEQUENCE{
+ setup-Or-ConfigurationChange-Or-Removal-Of-UL-CLTD Setup-Or-ConfigurationChange-Or-Removal-Of-UL-CLTD,
+ iE-Extensions ProtocolExtensionContainer { { UL-CLTD-Information-Reconf-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CLTD-Information-Reconf-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-CLTD-Information-To-Modify ::= SEQUENCE {
+ sDPCCH-PowerOffsetInformation SDPCCH-PowerOffsetInformation OPTIONAL,
+ c-ID C-ID OPTIONAL,
+ uL-CLTD-Activation-Information UL-CLTD-Activation-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-CLTD-Information-To-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-CLTD-Information-To-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-CLTD-Information-Removal ::= ENUMERATED {
+ remove,
+ ...
+}
+
+UL-CLTD-State-Update-Information ::= ENUMERATED {
+ activate,
+ de-activate,
+ ...
+}
+
+UL-DPCCH2-Information ::= SEQUENCE {
+ f-DPCH-Info F-DPCH-Info,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCCH2-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-DPCCH2-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCCH2-Information-Reconf ::=SEQUENCE{
+ setup-Or-ConfigurationChange-Or-Removal-Of-UL-DPCCH2 Setup-Or-ConfigurationChange-Or-Removal-Of-UL-DPCCH2,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCCH2-Information-Reconf-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCCH2-Information-Reconf-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCCH2-Information-Removal ::= ENUMERATED {
+ remove,
+ ...
+}
+
+UL-DPCCH2-Information-To-Modify ::= SEQUENCE {
+ f-DPCH-Info F-DPCH-Info-To-Modify OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-DPCCH2-Information-To-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-DPCCH2-Information-To-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-CLTD-Activation-Information ::= ENUMERATED {
+ activated,
+ de-activated,
+ ...
+}
+
+UL-MIMO-Information ::= SEQUENCE {
+ e-roch-power-offset E-ROCH-PowerOffset OPTIONAL,
+ s-e-dpcch-power-offset S-E-DPCCH-PowerOffset,
+ interstream-compensation InterStream-Interference-Compensation,
+ minimum-E-TFCI-rank2 INTEGER(0..127),
+ iE-Extensions ProtocolExtensionContainer { { UL-MIMO-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-MIMO-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-MIMO-Information-To-Modify ::= SEQUENCE {
+ e-roch-power-offset E-ROCH-PowerOffset OPTIONAL,
+ s-e-dpcch-power-offset S-E-DPCCH-PowerOffset OPTIONAL,
+ interstream-compensation InterStream-Interference-Compensation OPTIONAL,
+ minimum-E-TFCI-rank2 INTEGER(0..127) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-MIMO-Information-To-Modify-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-MIMO-Information-To-Modify-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-MIMO-Reconfiguration ::= CHOICE {
+ setup UL-MIMO-Information,
+ configurationChange UL-MIMO-Information-To-Modify,
+ removal UL-MIMO-Removal
+}
+
+UL-MIMO-Removal ::= ENUMERATED {
+ remove,
+ ...
+}
+
+UL-MIMO-DL-Control-Channel-Information ::= SEQUENCE {
+ e-roch-channelization-code FDD-DL-ChannelisationCodeNumber,
+ s-e-rnti E-RNTI,
+ s-signature-sequence ERGCH-SignatureSequence,
+ s-e-roch-release-indicator S-E-ROCH-Release-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UL-MIMO-DL-Control-Channel-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+UL-MIMO-DL-Control-Channel-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- V
+-- W
+-- X
+-- Y
+-- Z
+
+END
diff --git a/epan/dissectors/asn1/rnsap/RNSAP-PDU-Contents.asn b/epan/dissectors/asn1/rnsap/RNSAP-PDU-Contents.asn
new file mode 100644
index 00000000..1733f81a
--- /dev/null
+++ b/epan/dissectors/asn1/rnsap/RNSAP-PDU-Contents.asn
@@ -0,0 +1,8774 @@
+-- RNSAP-PDU-Contents.asn
+--
+-- Taken from 3GPP TS 25.423 V13.1.0 (2015-12)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.423/25423-790.zip/25423-790.DOC
+--
+-- 9.3.3 PDU Definitions
+--
+
+-- **************************************************************
+--
+-- PDU definitions for RNSAP.
+--
+-- **************************************************************
+RNSAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rnsap (1) version1 (1) rnsap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Active-Pattern-Sequence-Information,
+ Active-MBMS-Bearer-Service-ListFDD,
+ Active-MBMS-Bearer-Service-ListFDD-PFL,
+ Active-MBMS-Bearer-Service-ListTDD,
+ Active-MBMS-Bearer-Service-ListTDD-PFL,
+ AllocationRetentionPriority,
+ AllowedQueuingTime,
+ Allowed-Rate-Information,
+ AlphaValue,
+ AlternativeFormatReportingIndicator,
+ AntennaColocationIndicator,
+ ActivationDelay,
+ BLER,
+ SCTD-Indicator,
+ BindingID,
+ C-ID,
+ C-RNTI,
+ CCTrCH-ID,
+ CFN,
+ CGI,
+ ClosedLoopMode1-SupportIndicator,
+ Closedlooptimingadjustmentmode,
+ CN-CS-DomainIdentifier,
+ CN-PS-DomainIdentifier,
+ CNDomainType,
+ Cause,
+ CellCapabilityContainer-FDD,
+ CellCapabilityContainerExtension-FDD,
+ CellCapabilityContainer-TDD,
+ CellCapabilityContainer-TDD-LCR,
+ CellCapabilityContainer-TDD768,
+ CellParameterID,
+ CellPortionID,
+ ChipOffset,
+ CommonMeasurementAccuracy,
+ CommonMeasurementType,
+ CommonMeasurementValue,
+ CommonMeasurementValueInformation,
+ CommonTransportChannelResourcesInitialisationNotRequired,
+ Common-EDCH-MAC-d-Flow-Specific-InformationFDD,
+ Common-EDCH-Support-Indicator,
+ CongestionCause,
+ Continuous-Packet-Connectivity-DTX-DRX-Information,
+ Continuous-Packet-Connectivity-HS-SCCH-Less-Information,
+ Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response,
+ CPC-Information,
+ CoverageIndicator,
+ CriticalityDiagnostics,
+ CellPortionLCRID,
+ D-RNTI,
+ D-RNTI-ReleaseIndication,
+ DCH-FDD-Information,
+ DCH-ID,
+ DCH-Indicator-For-E-DCH-HSDPA-Operation,
+ DPCH-ID768,
+ DCH-InformationResponse,
+ DCH-TDD-Information,
+ DL-DPCH-SlotFormat,
+ DL-TimeslotISCP,
+ DL-Power,
+ DL-PowerBalancing-Information,
+ DL-PowerBalancing-ActivationIndicator,
+ DL-PowerBalancing-UpdatedIndicator,
+ DL-ReferencePowerInformation,
+ DL-ScramblingCode,
+ DL-Timeslot-Information,
+ DL-Timeslot-Information768,
+ DL-TimeslotLCR-Information,
+ DL-TimeSlot-ISCP-Info,
+ DL-TimeSlot-ISCP-LCR-Information,
+ DPC-Mode,
+ DPC-Mode-Change-SupportIndicator,
+ DPCH-ID,
+ DL-DPCH-TimingAdjustment,
+ DRXCycleLengthCoefficient,
+ DedicatedMeasurementType,
+ DedicatedMeasurementValue,
+ DedicatedMeasurementValueInformation,
+ DelayedActivation,
+ DelayedActivationUpdate,
+ DiversityControlField,
+ DiversityMode,
+ DSCH-FlowControlInformation,
+ DSCH-FlowControlItem,
+ DSCH-TDD-Information,
+ DSCH-ID,
+ DSCH-RNTI,
+ EDCH-FDD-Information,
+ EDCH-FDD-InformationResponse,
+ EDCH-FDD-Information-To-Modify,
+ EDCH-FDD-DL-ControlChannelInformation,
+ EDCH-DDI-Value,
+ EDCH-MACdFlow-ID,
+ EDCH-MACdFlow-Specific-InfoList,
+ EDCH-MACdFlows-To-Delete,
+ EDCH-MACdFlows-Information,
+ EDCH-RL-Indication,
+ EDCH-Serving-RL,
+ E-DCH-Decoupling-Indication,
+ E-DCH-Serving-cell-change-informationResponse,
+ EDPCH-Information-FDD,
+ EDPCH-Information-RLReconfPrepare-FDD,
+ EDPCH-Information-RLReconfRequest-FDD,
+ E-DCH-FDD-Update-Information,
+ E-DPCCH-PO,
+ E-RGCH-2-IndexStepThreshold,
+ E-RGCH-3-IndexStepThreshold,
+ E-RNTI,
+ E-TFCS-Information,
+ E-TTI,
+ Enhanced-FACH-Support-Indicator,
+ Enhanced-FACH-Information-ResponseFDD,
+ Enhanced-PCH-Capability,
+ ExtendedPropagationDelay,
+ Extended-RNC-ID,
+ Extended-RNTI,
+ Extended-S-RNTI-Group,
+ SchedulingPriorityIndicator,
+ Enhanced-PrimaryCPICH-EcNo,
+ F-DPCH-SlotFormat,
+ F-DPCH-SlotFormatSupportRequest,
+ FACH-FlowControlInformation,
+ Fast-Reconfiguration-Mode,
+ Fast-Reconfiguration-Permission,
+ FDD-DCHs-to-Modify,
+ FDD-DL-ChannelisationCodeNumber,
+ FDD-DL-CodeInformation,
+ FDD-TPC-DownlinkStepSize,
+ FirstRLS-Indicator,
+ FNReportingIndicator,
+ FrameHandlingPriority,
+ FrameOffset,
+ GA-AccessPointPosition,
+ GA-Cell,
+ GA-CellAdditionalShapes,
+ HARQ-Info-for-E-DCH,
+ HCS-Prio,
+ HSDSCH-Configured-Indicator,
+ HSDSCH-FDD-Information,
+ HSDSCH-FDD-Information-Response,
+ HSDSCH-FDD-Update-Information,
+ HSDSCH-TDD-Update-Information,
+ HSDSCH-Information-to-Modify,
+ HSDSCH-Information-to-Modify-Unsynchronised,
+ HSDSCH-MACdFlow-ID,
+ HSDSCH-MACdFlows-Information,
+ HSDSCH-MACdFlows-to-Delete,
+ HSDSCH-Physical-Layer-Category,
+ HSDSCH-RNTI,
+ HS-DSCH-serving-cell-change-information,
+ HS-DSCH-serving-cell-change-informationResponse,
+ HSDSCH-TDD-Information,
+ HSDSCH-TDD-Information-Response,
+ HS-SICH-ID,
+ IMSI,
+ InformationExchangeID,
+ InformationReportCharacteristics,
+ InformationType,
+ Initial-DL-DPCH-TimingAdjustment-Allowed,
+ InnerLoopDLPCStatus,
+ Inter-Frequency-Cell-List,
+ L3-Information,
+ LimitedPowerIncrease,
+ MaximumAllowedULTxPower,
+ MaxNrDLPhysicalchannels,
+ MaxNrDLPhysicalchannelsTS,
+ MaxNrDLPhysicalchannels768,
+ MaxNrDLPhysicalchannelsTS768,
+ MaxNrOfUL-DPCHs,
+ MaxNrTimeslots,
+ MaxNrULPhysicalchannels,
+ MACes-Guaranteed-Bitrate,
+ MaxNr-Retransmissions-EDCH,
+ Max-Set-E-DPDCHs,
+ Max-UE-DTX-Cycle,
+ MeasurementFilterCoefficient,
+ MeasurementID,
+ MeasurementRecoveryBehavior,
+ MeasurementRecoveryReportingIndicator,
+ MeasurementRecoverySupportIndicator,
+ MBMS-Bearer-Service-List,
+ MBSFN-Cluster-Identity,
+ MCCH-Configuration-Info,
+ MCCH-Message-List,
+ MBSFN-Scheduling-Transmission-Time-Interval-Info-List,
+ MidambleAllocationMode,
+ MidambleShiftAndBurstType,
+ MidambleShiftAndBurstType768,
+ MidambleShiftLCR,
+ MinimumSpreadingFactor,
+ MinimumSpreadingFactor768,
+ MinUL-ChannelisationCodeLength,
+ Multiple-PLMN-List,
+ MultiplexingPosition,
+ NeighbouringFDDCellMeasurementInformation,
+ NeighbouringTDDCellMeasurementInformation,
+ NeighbouringTDDCellMeasurementInformation768,
+ Neighbouring-GSM-CellInformation,
+ Neighbouring-UMTS-CellInformation,
+ NeighbouringTDDCellMeasurementInformationLCR,
+ Neighbouring-E-UTRA-CellInformation,
+ Non-rectangular-resource-allocation-indicator,
+ Non-rectangular-resource-timeslot-set,
+ NrOfDLchannelisationcodes,
+ PagingCause,
+ PagingRecordType,
+ PartialReportingIndicator,
+ PayloadCRC-PresenceIndicator,
+ PCCPCH-Power,
+ PC-Preamble,
+ Permanent-NAS-UE-Identity,
+ Phase-Reference-Update-Indicator,
+ PowerAdjustmentType,
+ PowerOffset,
+ PrimaryCCPCH-RSCP,
+ PrimaryCPICH-EcNo,
+ PrimaryCPICH-Power,
+ Primary-CPICH-Usage-For-Channel-Estimation,
+ PrimaryScramblingCode,
+ PropagationDelay,
+ ProvidedInformation,
+ PunctureLimit,
+ QE-Selector,
+ RANAP-EnhancedRelocationInformationRequest,
+ RANAP-EnhancedRelocationInformationResponse,
+ RANAP-RelocationInformation,
+ RB-Info,
+ Released-CN-Domain,
+ RL-ID,
+ RL-Set-ID,
+ RL-Specific-EDCH-Information,
+ RNC-ID,
+ RepetitionLength,
+ RepetitionPeriod,
+ ReportCharacteristics,
+ Received-total-wide-band-power,
+ RequestedDataValue,
+ RequestedDataValueInformation,
+ RL-Specific-DCH-Info,
+ RxTimingDeviationForTA,
+ RxTimingDeviationForTA768,
+ S-RNTI,
+ S-RNTI-Group,
+ SCH-TimeSlot,
+ SAI,
+ SFN,
+ Secondary-CCPCH-Info-TDD,
+ Secondary-CCPCH-Info-TDD768,
+ Secondary-CCPCH-System-Information-MBMS,
+ Secondary-CPICH-Information,
+ Secondary-CPICH-Information-Change,
+ Secondary-LCR-CCPCH-Info-TDD,
+ Secondary-Serving-Cell-List,
+ SNA-Information,
+ SpecialBurstScheduling,
+ SSDT-SupportIndicator,
+ STTD-SupportIndicator,
+ AdjustmentPeriod,
+ ScaledAdjustmentRatio,
+ MaxAdjustmentStep,
+ SRB-Delay,
+ Support-8PSK,
+ SyncCase,
+ SynchronisationConfiguration,
+ SixtyfourQAM-DL-SupportIndicator,
+ TDD-ChannelisationCode,
+ TDD-ChannelisationCode768,
+ TDD-DCHs-to-Modify,
+ TDD-DL-Code-Information,
+ TDD-DPCHOffset,
+ TDD-PhysicalChannelOffset,
+ TDD-TPC-DownlinkStepSize,
+ TDD-ChannelisationCodeLCR,
+ TDD-DL-Code-LCR-Information,
+ TDD-DL-Code-Information768,
+ TDD-UL-Code-Information,
+ TDD-UL-Code-LCR-Information,
+ TDD-UL-Code-Information768,
+ TFCI-Coding,
+ TFCI-Presence,
+ TFCI-SignallingMode,
+ TimeSlot,
+ TimeSlotLCR,
+ TimingAdvanceApplied,
+ TMGI,
+ TnlQos,
+ ToAWE,
+ ToAWS,
+ TraceDepth,
+ TraceRecordingSessionReference,
+ TraceReference,
+ TrafficClass,
+ TransmitDiversityIndicator,
+ TransportBearerID,
+ TransportBearerRequestIndicator,
+ TFCS,
+ Transmission-Gap-Pattern-Sequence-Information,
+ TransportFormatManagement,
+ TransportFormatSet,
+ TransportLayerAddress,
+ TrCH-SrcStatisticsDescr,
+ TSTD-Indicator,
+ TSTD-Support-Indicator,
+ UARFCN,
+ UC-ID,
+ UE-AggregateMaximumBitRate,
+ UEIdentity,
+ UEMeasurementType,
+ UEMeasurementTimeslotInfoHCR,
+ UEMeasurementTimeslotInfoLCR,
+ UEMeasurementTimeslotInfo768,
+ UEMeasurementReportCharacteristics,
+ UEMeasurementParameterModAllow,
+ UEMeasurementValueInformation,
+ UE-State,
+ UE-Support-of-non-rectangular-resource-allocation,
+ UL-DPCCH-SlotFormat,
+ UL-DPDCHIndicatorEDCH,
+ UL-SIR,
+ UL-FP-Mode,
+ UL-PhysCH-SF-Variation,
+ UL-ScramblingCode,
+ UL-Timeslot-Information,
+ UL-Timeslot-Information768,
+ UL-TimeslotLCR-Information,
+ UL-TimeSlot-ISCP-Info,
+ UL-TimeSlot-ISCP-LCR-Info,
+ URA-ID,
+ URA-Information,
+ USCH-ID,
+ USCH-Information,
+ UL-Synchronisation-Parameters-LCR,
+ TDD-DL-DPCH-TimeSlotFormat-LCR,
+ TDD-UL-DPCH-TimeSlotFormat-LCR,
+ MAChs-ResetIndicator,
+ UL-TimingAdvanceCtrl-LCR,
+ TDD-TPC-UplinkStepSize-LCR,
+ PrimaryCCPCH-RSCP-Delta,
+ SynchronisationIndicator,
+ Support-PLCCH,
+ PLCCHinformation,
+ RxTimingDeviationForTAext,
+ E-DCH-Information,
+ E-DCH-Information-Reconfig,
+ E-DCH-Information-Response,
+ E-DCH-768-Information,
+ E-DCH-768-Information-Reconfig,
+ E-DCH-768-Information-Response,
+ E-DCH-LCR-Information,
+ E-DCH-LCR-Information-Reconfig,
+ E-DCH-LCR-Information-Response,
+ ControlGAP,
+ IdleIntervalInformation,
+ NeedforIdleInterval,
+ HS-SICH-ID-Extension,
+ TSN-Length,
+ UPPCHPositionLCR,
+ Common-EDCH-MAC-d-Flow-Specific-InformationLCR,
+ Enhanced-FACH-Information-ResponseLCR,
+ HSDSCH-PreconfigurationSetup,
+ HSDSCH-PreconfigurationInfo,
+ NoOfTargetCellHS-SCCH-Order,
+ EnhancedHSServingCC-Abort,
+ GANSS-Time-ID,
+ HS-DSCH-FDD-Secondary-Serving-Update-Information,
+ HS-DSCH-Secondary-Serving-Remove,
+ HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised,
+ HS-DSCH-Secondary-Serving-Information-To-Modify,
+ HS-DSCH-Secondary-Serving-Cell-Change-Information-Response,
+ HS-DSCH-FDD-Secondary-Serving-Information-Response,
+ HS-DSCH-FDD-Secondary-Serving-Information,
+ MinimumReducedE-DPDCH-GainFactor,
+ ContinuousPacketConnectivity-DRX-InformationLCR,
+ ContinuousPacketConnectivity-DRX-Information-ResponseLCR,
+ CPC-InformationLCR,
+ E-DCH-Semi-PersistentScheduling-Information-LCR,
+ HS-DSCH-Semi-PersistentScheduling-Information-LCR,
+ HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR,
+ E-DCH-Semi-PersistentScheduling-Information-ResponseLCR,
+ RNTI-Allocation-Indicator,
+ ActivationInformation,
+ Additional-EDCH-Setup-Info,
+ Additional-EDCH-Cell-Information-Response-List,
+ Additional-EDCH-FDD-Update-Information,
+ Additional-EDCH-Cell-Information-To-Add-List,
+ Additional-EDCH-Cell-Information-Response-RLReconf-List,
+ DCH-MeasurementOccasion-Information,
+ DCH-MeasurementType-Indicator,
+ Setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency,
+ Additional-EDCH-Cell-Information-Response-RLAddList,
+ Non-Serving-RL-Preconfig-Setup,
+ Non-Serving-RL-Preconfig-Info,
+ CellCapabilityContainerExtension-TDD-LCR,
+ Multi-Carrier-EDCH-Info,
+ Multi-Carrier-EDCH-Reconfigure,
+ Multi-Carrier-EDCH-Information-Response,
+ MU-MIMO-InformationLCR,
+ MU-MIMO-Indicator,
+ Usefulness-Of-Battery-Optimization,
+ MDT-Configuration,
+ Neighbouring-UMTS-CellInformation-Ext,
+ SourceID,
+ TargetID,
+ ClassmarkInformation2,
+ ClassmarkInformation3,
+ SpeechVersion,
+ Cell-Capacity-Class-Value,
+ LoadValue,
+ Controlled-Object-Scope,
+ CPC-RecoveryReport,
+ UL-CLTD-Information,
+ UL-CLTD-Information-Reconf,
+ UL-CLTD-State-Update-Information,
+ FTPICH-Information,
+ FTPICH-Information-Reconf,
+ FTPICH-Information-Response,
+ FTPICH-Reconfiguration-Information,
+ DCH-ENH-Information,
+ DCH-ENH-Information-Reconf,
+ Radio-Links-without-DPCH-FDPCH-Indication,
+ UL-DPCCH2-Information,
+ UL-DPCCH2-Information-Reconf,
+ UE-Measurement-Value,
+ Improved-Synchronized-Indicator,
+ PLMN-Identity,
+ Downlink-TPC-enhancements-Information,
+ Downlink-TPC-enhancements-Reconf,
+ TPC-slot-position
+
+
+
+FROM RNSAP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-ContainerPairList{},
+ ProtocolIE-Container{},
+ ProtocolIE-Single-Container{},
+ RNSAP-PRIVATE-IES,
+ RNSAP-PROTOCOL-EXTENSION,
+ RNSAP-PROTOCOL-IES,
+ RNSAP-PROTOCOL-IES-PAIR
+FROM RNSAP-Containers
+
+ maxCellsMeas,
+ maxNoOfDSCHs,
+ maxNoOfUSCHs,
+ maxNrOfCCTrCHs,
+ maxNoOfCommonRGCells,
+ maxNrOfDCHs,
+ maxNrOfTS,
+ maxNrOfDPCHs,
+ maxNrOfDPCHs768,
+ maxNrOfDPCHsPerRL-1,
+ maxNrOfDPCHs768PerRL-1,
+ maxNrOfInterfaces,
+ maxNrOfRLs,
+ maxNrOfRLSets,
+ maxNrOfRLSets-1,
+ maxNrOfRLs-1,
+ maxNrOfRLs-2,
+ maxNrOfULTs,
+ maxNrOfDLTs,
+ maxResetContext,
+ maxResetContextGroup,
+ maxNoOfDSCHsLCR,
+ maxNoOfUSCHsLCR,
+ maxNrOfCCTrCHsLCR,
+ maxNrOfTsLCR,
+ maxNrOfDLTsLCR,
+ maxNrOfULTsLCR,
+ maxNrOfDPCHsLCR,
+ maxNrOfDPCHsLCRPerRL-1,
+ maxNrOfLCRTDDNeighboursPerRNC,
+ maxNrOfMeasNCell,
+ maxNrOfMACdFlows,
+ maxNrOfMACdPDUSize,
+ maxNrOfMCCHMessages,
+ maxNrOfMBMSL3,
+ maxNrOfEDCHMACdFlows,
+ maxNrOfHSSICHs,
+ maxNrOfHSSICHs-1,
+ maxNrOfActiveMBMSServices,
+ maxNrOfMBMSServices,
+ maxNrofSigSeqERGHICH-1,
+ maxNrOfCells,
+ maxNrOfHSDSCH-1,
+ maxNrOfEDCH-1,
+ maxNrOfULCarriersLCR-1,
+ maxNoOfGsmCell,
+ maxNrOfANRCells,
+
+ id-Active-MBMS-Bearer-ServiceFDD,
+ id-Active-MBMS-Bearer-ServiceFDD-PFL,
+ id-Active-MBMS-Bearer-ServiceTDD,
+ id-Active-MBMS-Bearer-ServiceTDD-PFL,
+ id-Active-Pattern-Sequence-Information,
+ id-AdjustmentRatio,
+ id-AllowedQueuingTime,
+ id-AlternativeFormatReportingIndicator,
+ id-AntennaColocationIndicator,
+ id-BindingID,
+ id-C-ID,
+ id-C-RNTI,
+ id-CFN,
+ id-CFNReportingIndicator,
+ id-CN-CS-DomainIdentifier,
+ id-CN-PS-DomainIdentifier,
+ id-Cause,
+ id-CauseLevel-RL-AdditionFailureFDD,
+ id-CauseLevel-RL-AdditionFailureTDD,
+ id-CauseLevel-RL-ReconfFailure,
+ id-CauseLevel-RL-SetupFailureFDD,
+ id-CauseLevel-RL-SetupFailureTDD,
+ id-CCTrCH-InformationItem-RL-FailureInd,
+ id-CCTrCH-InformationItem-RL-RestoreInd,
+ id-CellCapabilityContainer-FDD,
+ id-CellCapabilityContainerExtension-FDD,
+ id-CellCapabilityContainer-TDD,
+ id-CellCapabilityContainer-TDD-LCR,
+ id-CellPortionID,
+ id-ChipOffset,
+ id-ClosedLoopMode1-SupportIndicator,
+ id-CNOriginatedPage-PagingRqst,
+ id-CommonMeasurementAccuracy,
+ id-CommonMeasurementObjectType-CM-Rprt,
+ id-CommonMeasurementObjectType-CM-Rqst,
+ id-CommonMeasurementObjectType-CM-Rsp,
+ id-CommonMeasurementType,
+ id-CommonTransportChannelResourcesInitialisationNotRequired,
+ id-Common-EDCH-MAC-d-Flow-Specific-InformationFDD,
+ id-Common-EDCH-Support-Indicator,
+ id-CongestionCause,
+ id-Continuous-Packet-Connectivity-DTX-DRX-Information,
+ id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information,
+ id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response,
+ id-CPC-Information,
+ id-CoverageIndicator,
+ id-CriticalityDiagnostics,
+ id-CellPortionLCRID,
+ id-D-RNTI,
+ id-D-RNTI-ReleaseIndication,
+ id-DCHs-to-Add-FDD,
+ id-DCHs-to-Add-TDD,
+ id-DCH-DeleteList-RL-ReconfPrepFDD,
+ id-DCH-DeleteList-RL-ReconfPrepTDD,
+ id-DCH-DeleteList-RL-ReconfRqstFDD,
+ id-DCH-DeleteList-RL-ReconfRqstTDD,
+ id-DCH-FDD-Information,
+ id-DCH-TDD-Information,
+ id-DCH-Indicator-For-E-DCH-HSDPA-Operation,
+ id-FDD-DCHs-to-Modify,
+ id-TDD-DCHs-to-Modify,
+ id-DCH-InformationResponse,
+ id-DCH-Rate-InformationItem-RL-CongestInd,
+ id-DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD,
+ id-DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD,
+ id-DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD,
+ id-DL-CCTrCH-InformationListIE-RL-ReconfReadyTDD,
+ id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD,
+ id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD,
+ id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD,
+ id-DL-CCTrCH-InformationListIE-PhyChReconfRqstTDD,
+ id-DL-CCTrCH-InformationListIE-RL-AdditionRspTDD,
+ id-DL-CCTrCH-InformationListIE-RL-SetupRspTDD,
+ id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD,
+ id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD,
+ id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD,
+ id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD,
+ id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD,
+ id-DL-CCTrCH-InformationList-RL-SetupRqstTDD,
+ id-FDD-DL-CodeInformation,
+ id-DL-DPCH-Information-RL-ReconfPrepFDD,
+ id-DL-DPCH-Information-RL-SetupRqstFDD,
+ id-DL-DPCH-Information-RL-ReconfRqstFDD,
+ id-DL-DPCH-InformationItem-PhyChReconfRqstTDD,
+ id-DL-DPCH-InformationItem-RL-AdditionRspTDD,
+ id-DL-DPCH-InformationItem-RL-SetupRspTDD,
+ id-DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD,
+ id-DL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD,
+ id-DL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD,
+ id-DL-DPCH-TimingAdjustment,
+ id-DL-DPCH-Power-Information-RL-ReconfPrepFDD,
+ id-DL-Physical-Channel-Information-RL-SetupRqstTDD,
+ id-DL-PowerBalancing-Information,
+ id-DL-PowerBalancing-ActivationIndicator,
+ id-DL-PowerBalancing-UpdatedIndicator,
+ id-DL-ReferencePowerInformation,
+ id-DLReferencePower,
+ id-DLReferencePowerList-DL-PC-Rqst,
+ id-DL-ReferencePowerInformation-DL-PC-Rqst,
+ id-DRXCycleLengthCoefficient,
+ id-DedicatedMeasurementObjectType-DM-Fail,
+ id-DedicatedMeasurementObjectType-DM-Fail-Ind,
+ id-DedicatedMeasurementObjectType-DM-Rprt,
+ id-DedicatedMeasurementObjectType-DM-Rqst,
+ id-DedicatedMeasurementObjectType-DM-Rsp,
+ id-DedicatedMeasurementType,
+ id-DelayedActivation,
+ id-DelayedActivationList-RL-ActivationCmdFDD,
+ id-DelayedActivationList-RL-ActivationCmdTDD,
+ id-DelayedActivationInformation-RL-ActivationCmdFDD,
+ id-DelayedActivationInformation-RL-ActivationCmdTDD,
+ id-DPC-Mode,
+ id-DPC-Mode-Change-SupportIndicator,
+ id-DSCHs-to-Add-TDD,
+ id-DSCH-DeleteList-RL-ReconfPrepTDD,
+ id-DSCH-InformationListIE-RL-AdditionRspTDD,
+ id-DSCH-InformationListIEs-RL-SetupRspTDD,
+ id-DSCH-TDD-Information,
+ id-DSCH-ModifyList-RL-ReconfPrepTDD,
+ id-DSCH-RNTI,
+ id-DSCHToBeAddedOrModifiedList-RL-ReconfReadyTDD,
+ id-Dual-Band-Secondary-Serving-Cell-List,
+ id-EDPCH-Information,
+ id-EDCH-RL-Indication,
+ id-EDCH-FDD-Information,
+ id-Serving-EDCHRL-Id,
+ id-E-DCH-Decoupling-Indication,
+ id-EDCH-FDD-DL-ControlChannelInformation,
+ id-EDCH-FDD-InformationResponse,
+ id-E-DCH-FDD-Update-Information,
+ id-EDCH-MACdFlows-To-Add,
+ id-EDCH-FDD-Information-To-Modify,
+ id-EDCH-MACdFlows-To-Delete,
+ id-EDPCH-Information-RLReconfRequest-FDD,
+ id-EDPCH-Information-RLAdditionReq-FDD,
+ id-EDCH-MacdFlowSpecificInformationList-RL-PreemptRequiredInd,
+ id-EDCH-MacdFlowSpecificInformationItem-RL-PreemptRequiredInd,
+ id-EDCH-MacdFlowSpecificInformationList-RL-CongestInd,
+ id-EDCH-MacdFlowSpecificInformationItem-RL-CongestInd,
+ id-Enhanced-FACH-Support-Indicator,
+ id-Enhanced-FACH-Information-ResponseFDD,
+ id-Enhanced-PCH-Capability,
+ id-ExtendedPropagationDelay,
+ id-Extended-SRNC-ID,
+ id-Extended-RNC-ID,
+ id-Extended-S-RNTI,
+ id-Extended-S-RNTI-Group,
+ id-Serving-cell-change-CFN,
+ id-E-DCH-Serving-cell-change-informationResponse,
+ id-E-RNTI-For-FACH,
+ id-H-RNTI-For-FACH,
+ id-RNTI-Allocation-Indicator,
+ id-Enhanced-PrimaryCPICH-EcNo,
+ id-E-RNTI,
+ id-F-DPCH-SlotFormat,
+ id-F-DPCH-SlotFormatSupportRequest,
+ id-FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspFDD,
+ id-FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspTDD,
+ id-Fast-Reconfiguration-Mode,
+ id-Fast-Reconfiguration-Permission,
+ id-FrameOffset,
+ id-F-DPCH-Information-RL-ReconfPrepFDD,
+ id-F-DPCH-Information-RL-SetupRqstFDD,
+ id-GA-Cell,
+ id-GA-CellAdditionalShapes,
+ id-GSM-Cell-InfEx-Rqst,
+ id-HCS-Prio,
+ id-HSDSCH-Configured-Indicator,
+ id-HSDSCH-FDD-Information,
+ id-HSDSCH-FDD-Information-Response,
+ id-HSDSCH-FDD-Update-Information,
+ id-HSDSCH-TDD-Update-Information,
+ id-HSDSCH-Information-to-Modify,
+ id-HSDSCH-Information-to-Modify-Unsynchronised,
+ id-HSDSCH-MACdFlows-to-Add,
+ id-HSDSCH-MACdFlows-to-Delete,
+ id-HSDSCHMacdFlowSpecificInformationList-RL-PreemptRequiredInd,
+ id-HSDSCHMacdFlowSpecificInformationItem-RL-PreemptRequiredInd,
+ id-HSDSCH-Physical-Layer-Category,
+ id-HSDSCH-RNTI,
+ id-HS-DSCH-serving-cell-change-information,
+ id-HS-DSCH-serving-cell-change-informationResponse,
+ id-HSDSCH-TDD-Information,
+ id-HSDSCH-TDD-Information-Response,
+ id-HSPDSCH-RL-ID,
+ id-HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD,
+ id-HSPDSCH-Timeslot-InformationListLCR-PhyChReconfRqstTDD,
+ id-HSSICH-Info-DM-Rprt,
+ id-HSSICH-Info-DM-Rqst,
+ id-HSSICH-Info-DM,
+ id-Improved-Synchronized-Indicator,
+ id-IMSI,
+ id-InformationExchangeID,
+ id-InformationExchangeObjectType-InfEx-Rprt,
+ id-InformationExchangeObjectType-InfEx-Rqst,
+ id-InformationExchangeObjectType-InfEx-Rsp,
+ id-InformationReportCharacteristics,
+ id-InformationType,
+ id-Initial-DL-DPCH-TimingAdjustment,
+ id-Initial-DL-DPCH-TimingAdjustment-Allowed,
+ id-InnerLoopDLPCStatus,
+ id-InterfacesToTraceItem,
+ id-Inter-Frequency-Cell-List,
+ id-L3-Information,
+ id-AdjustmentPeriod,
+ id-ListOfInterfacesToTrace,
+ id-MaxAdjustmentStep,
+ id-Max-UE-DTX-Cycle,
+ id-MBMS-Bearer-Service-List,
+ id-MBMS-Bearer-Service-List-InfEx-Rsp,
+ id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rqst,
+ id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rsp,
+ id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rprt,
+ id-MBMS-Cell-InfEx-Rqst,
+ id-MBMS-Cell-InfEx-Rsp,
+ id-MBMS-Cell-InfEx-Rprt,
+ id-MBSFN-Cluster-Identity,
+ id-MBSFN-Scheduling-Transmission-Time-Interval-Info-List,
+ id-MCCH-Configuration-Info,
+ id-MCCH-Message-List,
+ id-MeasurementFilterCoefficient,
+ id-MeasurementID,
+ id-MeasurementRecoveryBehavior,
+ id-MeasurementRecoveryReportingIndicator,
+ id-MeasurementRecoverySupportIndicator,
+ id-Multiple-PLMN-List,
+ id-Multiple-RL-InformationResponse-RL-ReconfReadyTDD,
+ id-NACC-Related-Data,
+ id-Neighbouring-E-UTRA-CellInformation,
+ id-Non-rectangular-resource-allocation-indicator,
+ id-Non-rectangular-resource-timeslot-set,
+ id-Old-URA-ID,
+ id-PagingArea-PagingRqst,
+ id-PartialReportingIndicator,
+ id-PDSCH-RL-ID,
+ id-Permanent-NAS-UE-Identity,
+ id-Phase-Reference-Update-Indicator,
+ id-FACH-FlowControlInformation,
+ id-PLCCH-Information-PhyChReconfRqstTDD,
+ id-PowerAdjustmentType,
+ id-PrimCCPCH-RSCP-DL-PC-RqstTDD,
+ id-Primary-CPICH-Usage-For-Channel-Estimation,
+ id-PropagationDelay,
+ id-ProvidedInformation,
+ id-RANAP-EnhancedRelocationInformationRequest,
+ id-RANAP-EnhancedRelocationInformationResponse,
+ id-RANAP-RelocationInformation,
+ id-ResetIndicator,
+ id-Released-CN-Domain,
+ id-EDCH-RLSet-Id,
+ id-RL-Information-PhyChReconfRqstFDD,
+ id-RL-Information-PhyChReconfRqstTDD,
+ id-RL-Information-RL-AdditionRqstFDD,
+ id-RL-Information-RL-AdditionRqstTDD,
+ id-RL-Information-RL-DeletionRqst,
+ id-RL-Information-RL-FailureInd,
+ id-RL-Information-RL-ReconfPrepFDD,
+ id-RL-Information-RL-ReconfPrepTDD,
+ id-RL-Information-RL-RestoreInd,
+ id-RL-Information-RL-SetupRqstFDD,
+ id-RL-Information-RL-SetupRqstTDD,
+ id-RL-InformationItem-RL-CongestInd,
+ id-RL-InformationItem-DM-Rprt,
+ id-RL-InformationItem-DM-Rqst,
+ id-RL-InformationItem-DM-Rsp,
+ id-RL-InformationItem-RL-PreemptRequiredInd,
+ id-RL-InformationItem-RL-SetupRqstFDD,
+ id-RL-InformationList-RL-CongestInd,
+ id-RL-InformationList-RL-AdditionRqstFDD,
+ id-RL-InformationList-RL-DeletionRqst,
+ id-RL-InformationList-RL-PreemptRequiredInd,
+ id-RL-InformationList-RL-ReconfPrepFDD,
+ id-RL-InformationResponse-RL-AdditionRspTDD,
+ id-RL-InformationResponse-RL-ReconfReadyTDD,
+ id-RL-InformationResponse-RL-ReconfRspTDD,
+ id-RL-InformationResponse-RL-SetupRspTDD,
+ id-RL-InformationResponseItem-RL-AdditionRspFDD,
+ id-RL-InformationResponseItem-RL-ReconfReadyFDD,
+ id-RL-InformationResponseItem-RL-ReconfRspFDD,
+ id-RL-InformationResponseItem-RL-SetupRspFDD,
+ id-RL-InformationResponseList-RL-AdditionRspFDD,
+ id-RL-InformationResponseList-RL-ReconfReadyFDD,
+ id-RL-InformationResponseList-RL-ReconfRspFDD,
+ id-RL-InformationResponseList-RL-SetupRspFDD,
+ id-RL-ParameterUpdateIndicationFDD-RL-Information-Item,
+ id-RL-ParameterUpdateIndicationFDD-RL-InformationList,
+ id-RL-ReconfigurationFailure-RL-ReconfFail,
+ id-RL-ReconfigurationRequestFDD-RL-InformationList,
+ id-RL-ReconfigurationRequestFDD-RL-Information-IEs,
+ id-RL-ReconfigurationRequestTDD-RL-Information,
+ id-RL-ReconfigurationResponseTDD-RL-Information,
+ id-RL-Specific-DCH-Info,
+ id-RL-Specific-EDCH-Information,
+ id-RL-Set-InformationItem-DM-Rprt,
+ id-RL-Set-InformationItem-DM-Rqst,
+ id-RL-Set-InformationItem-DM-Rsp,
+ id-RL-Set-Information-RL-FailureInd,
+ id-RL-Set-Information-RL-RestoreInd,
+ id-RL-Set-Successful-InformationItem-DM-Fail,
+ id-RL-Set-Unsuccessful-InformationItem-DM-Fail,
+ id-RL-Set-Unsuccessful-InformationItem-DM-Fail-Ind,
+ id-RL-Successful-InformationItem-DM-Fail,
+ id-RL-Unsuccessful-InformationItem-DM-Fail,
+ id-RL-Unsuccessful-InformationItem-DM-Fail-Ind,
+ id-ReportCharacteristics,
+ id-Reporting-Object-RL-FailureInd,
+ id-Reporing-Object-RL-RestoreInd,
+ id-RNC-ID,
+ id-RxTimingDeviationForTA,
+ id-S-RNTI,
+ id-SAI,
+ id-Secondary-CPICH-Information,
+ id-Secondary-CPICH-Information-Change,
+ id-Secondary-Serving-Cell-List,
+ id-SixtyfourQAM-DL-SupportIndicator,
+ id-SFN,
+ id-SFNReportingIndicator,
+ id-SNA-Information,
+ id-SRNC-ID,
+ id-STTD-SupportIndicator,
+ id-SuccessfulRL-InformationResponse-RL-AdditionFailureFDD,
+ id-SuccessfulRL-InformationResponse-RL-SetupFailureFDD,
+ id-TDD-maxNrDLPhysicalchannels,
+ id-TDD-Support-8PSK,
+ id-TDD-Support-PLCCH,
+ id-timeSlot-ISCP,
+ id-TimeSlot-RL-SetupRspTDD,
+ id-TnlQos,
+ id-TraceDepth,
+ id-TraceRecordingSessionReference,
+ id-TraceReference,
+ id-TransportBearerID,
+ id-TransportBearerRequestIndicator,
+ id-TransportLayerAddress,
+ id-UC-ID,
+ id-ContextInfoItem-Reset,
+ id-ContextGroupInfoItem-Reset,
+ id-Transmission-Gap-Pattern-Sequence-Information,
+ id-UE-AggregateMaximumBitRate,
+ id-UEIdentity,
+ id-UEMeasurementType,
+ id-UEMeasurementTimeslotInfoHCR,
+ id-UEMeasurementTimeslotInfoLCR,
+ id-UEMeasurementReportCharacteristics,
+ id-UEMeasurementParameterModAllow,
+ id-UEMeasurementValueInformation,
+ id-UE-State,
+ id-UE-Support-of-non-rectangular-resource-allocation,
+ id-UE-with-enhanced-HS-SCCH-support-indicator,
+ id-UL-CCTrCH-AddInformation-RL-ReconfPrepTDD,
+ id-UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD,
+ id-UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD,
+ id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD,
+ id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD,
+ id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD,
+ id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD,
+ id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD,
+ id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD,
+ id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD,
+ id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD,
+ id-UL-CCTrCH-InformationList-RL-SetupRqstTDD,
+ id-UL-CCTrCH-InformationListIE-PhyChReconfRqstTDD,
+ id-UL-CCTrCH-InformationListIE-RL-AdditionRspTDD,
+ id-UL-CCTrCH-InformationListIE-RL-ReconfReadyTDD,
+ id-UL-CCTrCH-InformationListIE-RL-SetupRspTDD,
+ id-UL-DPCH-Information-RL-ReconfPrepFDD,
+ id-UL-DPCH-Information-RL-ReconfRqstFDD,
+ id-UL-DPCH-Information-RL-SetupRqstFDD,
+ id-UL-DPDCHIndicatorEDCH,
+ id-UL-DPCH-InformationItem-PhyChReconfRqstTDD,
+ id-UL-DPCH-InformationItem-RL-AdditionRspTDD,
+ id-UL-DPCH-InformationItem-RL-SetupRspTDD,
+ id-UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD,
+ id-UL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD,
+ id-UL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD,
+ id-UL-Physical-Channel-Information-RL-SetupRqstTDD,
+ id-UL-SIRTarget,
+ id-URA-ID,
+ id-URA-Information,
+ id-UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD,
+ id-UnsuccessfulRL-InformationResponse-RL-AdditionFailureTDD,
+ id-UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD,
+ id-UnsuccessfulRL-InformationResponse-RL-SetupFailureTDD,
+ id-USCHs-to-Add,
+ id-USCH-DeleteList-RL-ReconfPrepTDD,
+ id-USCH-InformationListIE-RL-AdditionRspTDD,
+ id-USCH-InformationListIEs-RL-SetupRspTDD,
+ id-USCH-Information,
+ id-USCH-ModifyList-RL-ReconfPrepTDD,
+ id-USCHToBeAddedOrModifiedList-RL-ReconfReadyTDD,
+ id-DL-Timeslot-ISCP-LCR-Information-RL-SetupRqstTDD,
+ id-RL-LCR-InformationResponse-RL-SetupRspTDD,
+ id-UL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD,
+ id-UL-DPCH-LCR-InformationItem-RL-SetupRspTDD,
+ id-DL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD,
+ id-DL-DPCH-LCR-InformationItem-RL-SetupRspTDD,
+ id-DSCH-LCR-InformationListIEs-RL-SetupRspTDD,
+ id-USCH-LCR-InformationListIEs-RL-SetupRspTDD,
+ id-DL-Timeslot-ISCP-LCR-Information-RL-AdditionRqstTDD,
+ id-RL-LCR-InformationResponse-RL-AdditionRspTDD,
+ id-UL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD,
+ id-UL-DPCH-LCR-InformationItem-RL-AdditionRspTDD,
+ id-DL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD,
+ id-DL-DPCH-LCR-InformationItem-RL-AdditionRspTDD,
+ id-DSCH-LCR-InformationListIEs-RL-AdditionRspTDD,
+ id-USCH-LCR-InformationListIEs-RL-AdditionRspTDD,
+ id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfReadyTDD,
+ id-UL-Timeslot-LCR-InformationModifyList-RL-ReconfReadyTDD,
+ id-DL-DPCH-LCR-InformationAddListIE-RL-ReconfReadyTDD,
+ id-DL-Timeslot-LCR-InformationModifyList-RL-ReconfReadyTDD,
+ id-UL-Timeslot-LCR-InformationList-PhyChReconfRqstTDD,
+ id-DL-Timeslot-LCR-InformationList-PhyChReconfRqstTDD,
+ id-timeSlot-ISCP-LCR-List-DL-PC-Rqst-TDD,
+ id-TSTD-Support-Indicator-RL-SetupRqstTDD,
+ id-PrimaryCCPCH-RSCP-RL-ReconfPrepTDD,
+ id-DL-TimeSlot-ISCP-Info-RL-ReconfPrepTDD,
+ id-DL-Timeslot-ISCP-LCR-Information-RL-ReconfPrepTDD,
+ id-neighbouringTDDCellMeasurementInformationLCR,
+ id-UL-SIR-Target-CCTrCH-InformationItem-RL-SetupRspTDD,
+ id-UL-SIR-Target-CCTrCH-LCR-InformationItem-RL-SetupRspTDD,
+ id-TrafficClass,
+ id-UL-Synchronisation-Parameters-LCR,
+ id-TDD-DL-DPCH-TimeSlotFormatModifyItem-LCR-RL-ReconfReadyTDD,
+ id-TDD-UL-DPCH-TimeSlotFormatModifyItem-LCR-RL-ReconfReadyTDD,
+ id-MAChs-ResetIndicator,
+ id-UL-TimingAdvanceCtrl-LCR,
+ id-CCTrCH-Maximum-DL-Power-RL-SetupRspTDD,
+ id-CCTrCH-Minimum-DL-Power-RL-SetupRspTDD,
+ id-CCTrCH-Maximum-DL-Power-RL-AdditionRspTDD,
+ id-CCTrCH-Minimum-DL-Power-RL-AdditionRspTDD,
+ id-CCTrCH-Maximum-DL-Power-RL-ReconfReadyTDD,
+ id-CCTrCH-Minimum-DL-Power-RL-ReconfReadyTDD,
+ id-Maximum-DL-Power-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD,
+ id-Minimum-DL-Power-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD,
+ id-DL-CCTrCH-InformationList-RL-ReconfRspTDD,
+ id-DL-DPCH-InformationModifyItem-LCR-RL-ReconfRspTDD,
+ id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD,
+ id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD,
+ id-UL-CCTrCH-InformationItem-RL-AdditionRqstTDD,
+ id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD,
+ id-DL-CCTrCH-InformationItem-RL-AdditionRqstTDD,
+ id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD,
+ id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD,
+ id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD,
+ id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD,
+ id-PrimaryCCPCH-RSCP-Delta,
+ id-multiple-DedicatedMeasurementValueList-TDD-DM-Rsp,
+ id-multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp,
+ id-SynchronisationIndicator,
+ id-secondary-LCR-CCPCH-Info-TDD,
+ id-multiple-HSSICHMeasurementValueList-TDD-DM-Rsp,
+ id-CellCapabilityContainer-TDD768,
+ id-neighbouringTDDCellMeasurementInformation768,
+ id-RL-InformationResponse-RL-SetupRspTDD768,
+ id-UL-CCTrCH-InformationListIE-RL-SetupRspTDD768,
+ id-DL-CCTrCH-InformationListIE-RL-SetupRspTDD768,
+ id-UL-DPCH-InformationItem-RL-SetupRspTDD768,
+ id-DL-DPCH-InformationItem-RL-SetupRspTDD768,
+ id-TDD768-minimumSpreadingFactor-UL,
+ id-TDD768-minimumSpreadingFactor-DL,
+ id-TDD768-maxNrDLPhysicalchannels,
+ id-TDD768-maxNrDLPhysicalchannelsTS,
+ id-RL-InformationResponse-RL-AdditionRspTDD768,
+ id-UL-CCTrCH-InformationListIE-RL-AdditionRspTDD768,
+ id-DL-CCTrCH-InformationListIE-RL-AdditionRspTDD768,
+ id-UL-DPCH-InformationItem-RL-AdditionRspTDD768,
+ id-DL-DPCH-InformationItem-RL-AdditionRspTDD768,
+ id-UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD768,
+ id-UL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768,
+ id-DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD768,
+ id-DL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768,
+ id-secondary-CCPCH-Info-RL-ReconfReadyTDD768,
+ id-HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD768,
+ id-UL-Timeslot-InformationList-PhyChReconfRqstTDD768,
+ id-DL-Timeslot-InformationList-PhyChReconfRqstTDD768,
+ id-multiple-DedicatedMeasurementValueList-TDD768-DM-Rsp,
+ id-UEMeasurementTimeslotInfo768,
+ id-DL-DPCH-InformationDeleteList768-RL-ReconfReadyTDD,
+ id-DPCH-ID768-DM-Rsp,
+ id-DPCH-ID768-DM-Rqst,
+ id-DPCH-ID768-DM-Rprt,
+ id-RxTimingDeviationForTAext,
+ id-RxTimingDeviationForTA768,
+ id-E-DCH-Information,
+ id-E-DCH-Information-Reconfig,
+ id-E-DCH-Serving-RL-ID,
+ id-E-DCH-Information-Response,
+ id-E-DCH-768-Information,
+ id-E-DCH-768-Information-Reconfig,
+ id-E-DCH-768-Information-Response,
+ id-E-DCH-LCR-Information,
+ id-E-DCH-LCR-Information-Reconfig,
+ id-E-DCH-LCR-Information-Response,
+ id-PowerControlGAP,
+ id-IdleIntervalInformation,
+ id-NeedforIdleInterval,
+ id-IdleIntervalConfigurationIndicator,
+ id-UARFCNforNt,
+ id-HS-SICH-ID-Extension,
+ id-HSSICH-Info-DM-Rqst-Extension,
+ id-UPPCHPositionLCR,
+ id-Common-EDCH-MAC-d-Flow-Specific-InformationLCR,
+ id-Enhanced-FACH-Information-ResponseLCR,
+ id-HSDSCH-PreconfigurationSetup,
+ id-HSDSCH-PreconfigurationInfo,
+ id-NoOfTargetCellHS-SCCH-Order,
+ id-EnhancedHSServingCC-Abort,
+ id-GANSS-Time-ID,
+ id-Additional-HS-Cell-Information-RL-Setup,
+ id-Additional-HS-Cell-Information-Response,
+ id-Additional-HS-Cell-Information-RL-Addition,
+ id-Additional-HS-Cell-Change-Information-Response,
+ id-Additional-HS-Cell-Information-RL-Reconf-Prep,
+ id-Additional-HS-Cell-Information-RL-Reconf-Req,
+ id-Additional-HS-Cell-RL-Reconf-Response,
+ id-Additional-HS-Cell-Information-RL-Param-Upd,
+ id-MinimumReducedE-DPDCH-GainFactor,
+ id-ContinuousPacketConnectivity-DRX-InformationLCR,
+ id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR,
+ id-CPC-InformationLCR,
+ id-E-DCH-Semi-PersistentScheduling-Information-LCR,
+ id-HS-DSCH-Semi-PersistentScheduling-Information-LCR,
+ id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR,
+ id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR,
+ id-ActivationInformation,
+ id-Additional-EDCH-Cell-Information-RL-Setup-Req,
+ id-Additional-EDCH-Cell-Information-Response,
+ id-Additional-EDCH-Cell-Information-RL-Add-Req,
+ id-Additional-EDCH-Cell-Information-Response-RLAdd,
+ id-Additional-EDCH-Cell-Information-RL-Reconf-Prep,
+ id-Additional-EDCH-Cell-Information-RL-Reconf-Req,
+ id-Additional-EDCH-Cell-Information-RL-Param-Upd,
+ id-Additional-EDCH-Cell-Information-ResponseRLReconf,
+ id-DCH-MeasurementOccasion-Information,
+ id-DCH-MeasurementType-Indicator,
+ id-Non-Serving-RL-Preconfig-Info,
+ id-Non-Serving-RL-Preconfig-Setup,
+ id-Non-Serving-RL-Preconfig-Removal,
+ id-CellCapabilityContainerExtension-TDD-LCR,
+ id-Multi-Carrier-EDCH-Setup,
+ id-Multi-Carrier-EDCH-Reconfigure,
+ id-Multi-Carrier-EDCH-Response,
+ id-MU-MIMO-InformationLCR,
+ id-MU-MIMO-Indicator,
+ id-Usefulness-Of-Battery-Optimization,
+ id-MDT-Configuration,
+ id-Neighbouring-UMTS-CellInformation-Ext,
+ id-Extension-CommonMeasurementObjectType-CM-Rprt,
+ id-Extension-CommonMeasurementObjectType-CM-Rqst,
+ id-Extension-CommonMeasurementObjectType-CM-Rsp,
+ id-Extension-FailureIndicationMeasurementList,
+ id-Extension-FailureMeasurementList,
+ id-Extension-TerminationMeasurementList,
+ id-GsmCellList-CM-Rprt,
+ id-GsmCellList-CM-Rqst,
+ id-GsmCellList-CM-Rsp,
+ id-SpeechVersion,
+ id-SourceID,
+ id-TargetID,
+ id-ClassmarkInformation2,
+ id-ClassmarkInformation3,
+ id-GSM-Cell-CM-Rqst,
+ id-LoadValue,
+ id-EventH,
+ id-Cell-Capacity-Class-Value,
+ id-Control-Type-InformationTransferControlReq,
+ id-ANR-Cell-InfEx-Rqst,
+ id-ANR-Cell-InfEx-Rsp,
+ id-Trace-Collection-Entity-IP-Address,
+ id-CPC-RecoveryReport,
+ id-UL-CLTD-Information,
+ id-UL-CLTD-Information-Reconf,
+ id-UL-CLTD-State-Update-Information,
+ id-FTPICH-Information,
+ id-FTPICH-Information-Reconf,
+ id-FTPICH-Information-Response,
+ id-FTPICH-Reconfiguration-Information,
+ id-Common-E-RGCH-Cell-InfEx-Rqst,
+ id-Common-E-RGCH-Cell-InfEx-Rsp,
+ id-Common-E-RGCH-Cell-InfEx-Rprt,
+ id-DCH-ENH-Information,
+ id-DCH-ENH-Information-Reconf,
+ id-Radio-Links-without-DPCH-FDPCH-Indication,
+ id-UL-DPCCH2-Information,
+ id-UL-DPCCH2-Information-Reconf,
+ id-UE-Measurement-Forwarding,
+ id-ActivationDelay,
+ id-Selected-PLMN-Identity,
+ id-Downlink-TPC-enhancements-Information,
+ id-Downlink-TPC-enhancements-Reconf,
+ id-TPC-slot-position
+
+FROM RNSAP-Constants;
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP REQUEST FDD
+--
+-- **************************************************************
+
+RadioLinkSetupRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupRequestFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-SRNC-ID CRITICALITY reject TYPE RNC-ID PRESENCE mandatory} |
+ { ID id-S-RNTI CRITICALITY reject TYPE S-RNTI PRESENCE mandatory } |
+ { ID id-D-RNTI CRITICALITY reject TYPE D-RNTI PRESENCE optional } |
+ { ID id-AllowedQueuingTime CRITICALITY reject TYPE AllowedQueuingTime PRESENCE optional } |
+ { ID id-UL-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-SetupRqstFDD PRESENCE mandatory } |
+ { ID id-DL-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-SetupRqstFDD PRESENCE optional } |
+ { ID id-DCH-FDD-Information CRITICALITY reject TYPE DCH-FDD-Information PRESENCE mandatory } |
+ { ID id-RL-Information-RL-SetupRqstFDD CRITICALITY notify TYPE RL-InformationList-RL-SetupRqstFDD PRESENCE mandatory }|
+ { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional } |
+ { ID id-Active-Pattern-Sequence-Information CRITICALITY reject TYPE Active-Pattern-Sequence-Information PRESENCE optional },
+ ...
+}
+
+UL-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
+ ul-ScramblingCode UL-ScramblingCode,
+ minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength,
+ maxNrOfUL-DPCHs MaxNrOfUL-DPCHs OPTIONAL
+ -- This IE shall be present if minUL-ChannelisationCodeLength equals to 4 -- ,
+ ul-PunctureLimit PunctureLimit,
+ ul-TFCS TFCS,
+ ul-DPCCH-SlotFormat UL-DPCCH-SlotFormat,
+ ul-SIRTarget UL-SIR OPTIONAL,
+ diversityMode DiversityMode,
+ not-Used-sSDT-CellIdLength NULL OPTIONAL,
+ not-Used-s-FieldLength NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-Information-RL-SetupRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DPC-Mode CRITICALITY reject EXTENSION DPC-Mode PRESENCE optional }|
+ { ID id-UL-DPDCHIndicatorEDCH CRITICALITY reject EXTENSION UL-DPDCHIndicatorEDCH PRESENCE optional },
+ ...
+}
+
+DL-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
+ tFCS TFCS,
+ dl-DPCH-SlotFormat DL-DPCH-SlotFormat,
+ nrOfDLchannelisationcodes NrOfDLchannelisationcodes,
+ tFCI-SignallingMode TFCI-SignallingMode,
+ tFCI-Presence TFCI-Presence OPTIONAL
+ -- This IE shall be present if DL DPCH Slot Format IE is equal to any of the values from 12 to 16 --,
+ multiplexingPosition MultiplexingPosition,
+ powerOffsetInformation PowerOffsetInformation-RL-SetupRqstFDD,
+ fdd-dl-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ limitedPowerIncrease LimitedPowerIncrease,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-Information-RL-SetupRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PowerOffsetInformation-RL-SetupRqstFDD ::= SEQUENCE {
+ po1-ForTFCI-Bits PowerOffset,
+ po2-ForTPC-Bits PowerOffset,
+ po3-ForPilotBits PowerOffset,
+ iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PowerOffsetInformation-RL-SetupRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-InformationItemIEs-RL-SetupRqstFDD} }
+
+RL-InformationItemIEs-RL-SetupRqstFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-SetupRqstFDD CRITICALITY notify TYPE RL-InformationItem-RL-SetupRqstFDD PRESENCE mandatory }
+}
+
+RL-InformationItem-RL-SetupRqstFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ c-ID C-ID,
+ firstRLS-indicator FirstRLS-Indicator,
+ frameOffset FrameOffset,
+ chipOffset ChipOffset,
+ propagationDelay PropagationDelay OPTIONAL,
+ diversityControlField DiversityControlField OPTIONAL
+ -- This IE shall be present if the RL is not the first one in the RL-InformationList-RL-SetupRqstFDD --,
+ dl-InitialTX-Power DL-Power OPTIONAL,
+ primaryCPICH-EcNo PrimaryCPICH-EcNo OPTIONAL,
+ not-Used-sSDT-CellID NULL OPTIONAL,
+ transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
+ -- This IE shall be present unless Diversity Mode IE in UL DPCH Information group is “none”
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationItem-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-RL-SetupRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Enhanced-PrimaryCPICH-EcNo CRITICALITY ignore EXTENSION Enhanced-PrimaryCPICH-EcNo PRESENCE optional }|
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
+ { ID id-CellPortionID CRITICALITY ignore EXTENSION CellPortionID PRESENCE optional }|
+ { ID id-RL-Specific-EDCH-Information CRITICALITY reject EXTENSION RL-Specific-EDCH-Information PRESENCE optional }|
+ { ID id-EDCH-RL-Indication CRITICALITY reject EXTENSION EDCH-RL-Indication PRESENCE optional }|
+ { ID id-ExtendedPropagationDelay CRITICALITY ignore EXTENSION ExtendedPropagationDelay PRESENCE optional }|
+ { ID id-SynchronisationIndicator CRITICALITY reject EXTENSION SynchronisationIndicator PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationSetup CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationSetup PRESENCE optional }|
+ { ID id-Non-Serving-RL-Preconfig-Setup CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Setup PRESENCE optional }|
+ { ID id-FTPICH-Information CRITICALITY ignore EXTENSION FTPICH-Information PRESENCE optional }|
+ { ID id-TPC-slot-position CRITICALITY ignore EXTENSION TPC-slot-position PRESENCE optional },
+ ...
+}
+
+RadioLinkSetupRequestFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Permanent-NAS-UE-Identity CRITICALITY ignore EXTENSION Permanent-NAS-UE-Identity PRESENCE optional}|
+ { ID id-DL-PowerBalancing-Information CRITICALITY ignore EXTENSION DL-PowerBalancing-Information PRESENCE optional}|
+ { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional}|
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE conditional}|
+ -- This IE shall be present if HS-DSCH Information IE is present.
+ { ID id-MBMS-Bearer-Service-List CRITICALITY notify EXTENSION MBMS-Bearer-Service-List PRESENCE optional}|
+ { ID id-EDPCH-Information CRITICALITY reject EXTENSION EDPCH-Information-FDD PRESENCE optional}|
+ { ID id-EDCH-FDD-Information CRITICALITY reject EXTENSION EDCH-FDD-Information PRESENCE conditional}|
+ -- This IE is present if E-DPCH Information IE is present.
+ { ID id-Serving-EDCHRL-Id CRITICALITY reject EXTENSION EDCH-Serving-RL PRESENCE optional}|
+ -- This IE is present if E-DCHInformation IE is present.
+ { ID id-F-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject EXTENSION F-DPCH-Information-RL-SetupRqstFDD PRESENCE optional}|
+ { ID id-Initial-DL-DPCH-TimingAdjustment-Allowed CRITICALITY ignore EXTENSION Initial-DL-DPCH-TimingAdjustment-Allowed PRESENCE optional}|
+ { ID id-DCH-Indicator-For-E-DCH-HSDPA-Operation CRITICALITY reject EXTENSION DCH-Indicator-For-E-DCH-HSDPA-Operation PRESENCE optional}|
+ { ID id-Serving-cell-change-CFN CRITICALITY reject EXTENSION CFN PRESENCE optional}|
+ { ID id-Continuous-Packet-Connectivity-DTX-DRX-Information CRITICALITY reject EXTENSION Continuous-Packet-Connectivity-DTX-DRX-Information PRESENCE optional}|
+ { ID id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information CRITICALITY reject EXTENSION Continuous-Packet-Connectivity-HS-SCCH-Less-Information PRESENCE optional}|
+ { ID id-Extended-SRNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional}|
+ { ID id-Additional-HS-Cell-Information-RL-Setup CRITICALITY reject EXTENSION Additional-HS-Cell-Information-RL-Setup-List PRESENCE optional}|
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-RL-Setup-Req CRITICALITY reject EXTENSION Additional-EDCH-Setup-Info PRESENCE optional}|
+ { ID id-Usefulness-Of-Battery-Optimization CRITICALITY ignore EXTENSION Usefulness-Of-Battery-Optimization PRESENCE optional}|
+ { ID id-UL-CLTD-Information CRITICALITY reject EXTENSION UL-CLTD-Information PRESENCE optional}|
+ { ID id-Extended-S-RNTI CRITICALITY reject EXTENSION Extended-RNTI PRESENCE optional}|
+ { ID id-E-DCH-Decoupling-Indication CRITICALITY reject EXTENSION E-DCH-Decoupling-Indication PRESENCE optional}|
+ { ID id-DCH-ENH-Information CRITICALITY reject EXTENSION DCH-ENH-Information PRESENCE optional}|
+ { ID id-Radio-Links-without-DPCH-FDPCH-Indication CRITICALITY reject EXTENSION Radio-Links-without-DPCH-FDPCH-Indication PRESENCE optional}|
+ { ID id-UL-DPCCH2-Information CRITICALITY reject EXTENSION UL-DPCCH2-Information PRESENCE optional}|
+ { ID id-Selected-PLMN-Identity CRITICALITY ignore EXTENSION PLMN-Identity PRESENCE optional}|
+ { ID id-Downlink-TPC-enhancements-Information CRITICALITY reject EXTENSION Downlink-TPC-enhancements-Information PRESENCE optional},
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Setup-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Setup-ItemIEs
+
+
+
+Additional-HS-Cell-Information-RL-Setup-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ c-ID C-ID,
+ hS-DSCH-FDD-Secondary-Serving-Information HS-DSCH-FDD-Secondary-Serving-Information,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Setup-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Setup-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+F-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
+ powerOffsetInformation PowerOffsetInformation-F-DPCH-RL-SetupRqstFDD,
+ fdd-dl-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ limitedPowerIncrease LimitedPowerIncrease,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ iE-Extensions ProtocolExtensionContainer { { F-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+F-DPCH-Information-RL-SetupRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-F-DPCH-SlotFormatSupportRequest CRITICALITY reject EXTENSION F-DPCH-SlotFormatSupportRequest PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY ignore EXTENSION F-DPCH-SlotFormat PRESENCE optional},
+ ...
+}
+
+PowerOffsetInformation-F-DPCH-RL-SetupRqstFDD ::= SEQUENCE {
+ po2-ForTPC-Bits PowerOffset,
+ --This IE shall be ignored by DRNS
+ iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-F-DPCH-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PowerOffsetInformation-F-DPCH-RL-SetupRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP REQUEST TDD
+--
+-- **************************************************************
+
+RadioLinkSetupRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupRequestTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-SRNC-ID CRITICALITY reject TYPE RNC-ID PRESENCE mandatory } |
+ { ID id-S-RNTI CRITICALITY reject TYPE S-RNTI PRESENCE mandatory } |
+ { ID id-D-RNTI CRITICALITY reject TYPE D-RNTI PRESENCE optional } |
+ { ID id-UL-Physical-Channel-Information-RL-SetupRqstTDD CRITICALITY reject TYPE UL-Physical-Channel-Information-RL-SetupRqstTDD PRESENCE mandatory } |
+ { ID id-DL-Physical-Channel-Information-RL-SetupRqstTDD CRITICALITY reject TYPE DL-Physical-Channel-Information-RL-SetupRqstTDD PRESENCE mandatory } |
+ { ID id-AllowedQueuingTime CRITICALITY reject TYPE AllowedQueuingTime PRESENCE optional } |
+ { ID id-UL-CCTrCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationList-RL-SetupRqstTDD PRESENCE optional } |
+ { ID id-DL-CCTrCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationList-RL-SetupRqstTDD PRESENCE optional } |
+ { ID id-DCH-TDD-Information CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional } |
+ { ID id-DSCH-TDD-Information CRITICALITY reject TYPE DSCH-TDD-Information PRESENCE optional } |
+ { ID id-USCH-Information CRITICALITY reject TYPE USCH-Information PRESENCE optional } |
+ { ID id-RL-Information-RL-SetupRqstTDD CRITICALITY reject TYPE RL-Information-RL-SetupRqstTDD PRESENCE mandatory },
+ ...
+}
+
+UL-Physical-Channel-Information-RL-SetupRqstTDD ::= SEQUENCE {
+ maxNrTimeslots-UL MaxNrTimeslots,
+ minimumSpreadingFactor-UL MinimumSpreadingFactor,
+ maxNrULPhysicalchannels MaxNrULPhysicalchannels,
+ iE-Extensions ProtocolExtensionContainer { {UL-Physical-Channel-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Physical-Channel-InformationItem-RL-SetupRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TDD-Support-8PSK CRITICALITY ignore EXTENSION Support-8PSK PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-TDD768-minimumSpreadingFactor-UL CRITICALITY ignore EXTENSION MinimumSpreadingFactor768 PRESENCE optional },
+ ...
+}
+
+DL-Physical-Channel-Information-RL-SetupRqstTDD ::= SEQUENCE {
+ maxNrTimeslots-DL MaxNrTimeslots,
+ minimumSpreadingFactor-DL MinimumSpreadingFactor,
+ maxNrDLPhysicalchannels MaxNrDLPhysicalchannels,
+ iE-Extensions ProtocolExtensionContainer { {DL-Physical-Channel-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Physical-Channel-InformationItem-RL-SetupRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TDD-maxNrDLPhysicalchannels CRITICALITY ignore EXTENSION MaxNrDLPhysicalchannelsTS PRESENCE optional }|
+ { ID id-TDD-Support-8PSK CRITICALITY ignore EXTENSION Support-8PSK PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-TDD-Support-PLCCH CRITICALITY ignore EXTENSION Support-PLCCH PRESENCE optional }|
+ { ID id-TDD768-minimumSpreadingFactor-DL CRITICALITY ignore EXTENSION MinimumSpreadingFactor768 PRESENCE optional }|
+ { ID id-TDD768-maxNrDLPhysicalchannels CRITICALITY ignore EXTENSION MaxNrDLPhysicalchannels768 PRESENCE optional }|
+ { ID id-TDD768-maxNrDLPhysicalchannelsTS CRITICALITY ignore EXTENSION MaxNrDLPhysicalchannelsTS768 PRESENCE optional },
+ ...
+}
+
+UL-CCTrCH-InformationList-RL-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {UL-CCTrCH-InformationItemIEs-RL-SetupRqstTDD} }
+
+UL-CCTrCH-InformationItemIEs-RL-SetupRqstTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory }
+}
+
+UL-CCTrCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ ul-TFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ ul-PunctureLimit PunctureLimit,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional },
+ -- Mandatory for 1.28Mcps TDD, not applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ ...
+}
+
+DL-CCTrCH-InformationList-RL-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {DL-CCTrCH-InformationItemIEs-RL-SetupRqstTDD} }
+
+DL-CCTrCH-InformationItemIEs-RL-SetupRqstTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory }
+}
+
+DL-CCTrCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-TFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ dl-PunctureLimit PunctureLimit,
+ tdd-TPC-DownlinkStepSize TDD-TPC-DownlinkStepSize,
+ cCTrCH-TPCList CCTrCH-TPCList-RL-SetupRqstTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CCTrCH-TPCList-RL-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCItem-RL-SetupRqstTDD
+
+CCTrCH-TPCItem-RL-SetupRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CCTrCH-TPCItem-RL-SetupRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Information-RL-SetupRqstTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ c-ID C-ID,
+ frameOffset FrameOffset,
+ specialBurstScheduling SpecialBurstScheduling,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL,
+ dL-TimeSlot-ISCP DL-TimeSlot-ISCP-Info OPTIONAL,
+ --for 3.84Mcps TDD and 7.68Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-SetupRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-Timeslot-ISCP-LCR-Information-RL-SetupRqstTDD CRITICALITY reject EXTENSION DL-TimeSlot-ISCP-LCR-Information PRESENCE optional }|
+ { ID id-TSTD-Support-Indicator-RL-SetupRqstTDD CRITICALITY ignore EXTENSION TSTD-Support-Indicator PRESENCE optional }|
+ --for 1.28Mcps TDD only
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
+ { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY reject EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-PrimaryCCPCH-RSCP-Delta CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP-Delta PRESENCE optional }|
+ { ID id-IdleIntervalConfigurationIndicator CRITICALITY ignore EXTENSION NULL PRESENCE optional }|
+ { ID id-CellPortionLCRID CRITICALITY ignore EXTENSION CellPortionLCRID PRESENCE optional },
+ ...
+}
+
+RadioLinkSetupRequestTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Permanent-NAS-UE-Identity CRITICALITY ignore EXTENSION Permanent-NAS-UE-Identity PRESENCE optional}|
+ { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional}|
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE conditional}|
+ -- This IE shall be present if HS-DSCH Information IE is present.
+ { ID id-PDSCH-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional}|
+ { ID id-MBMS-Bearer-Service-List CRITICALITY notify EXTENSION MBMS-Bearer-Service-List PRESENCE optional}|
+ { ID id-E-DCH-Information CRITICALITY reject EXTENSION E-DCH-Information PRESENCE optional}|
+ { ID id-E-DCH-Serving-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional}|
+ { ID id-E-DCH-768-Information CRITICALITY reject EXTENSION E-DCH-768-Information PRESENCE optional}|
+ { ID id-E-DCH-LCR-Information CRITICALITY reject EXTENSION E-DCH-LCR-Information PRESENCE optional}|
+ { ID id-Extended-SRNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional}|
+ { ID id-ContinuousPacketConnectivity-DRX-InformationLCR CRITICALITY reject EXTENSION ContinuousPacketConnectivity-DRX-InformationLCR PRESENCE optional}|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-LCR CRITICALITY reject EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-LCR PRESENCE optional}|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-LCR CRITICALITY reject EXTENSION E-DCH-Semi-PersistentScheduling-Information-LCR PRESENCE optional}|
+ { ID id-RNTI-Allocation-Indicator CRITICALITY ignore EXTENSION RNTI-Allocation-Indicator PRESENCE optional}|
+ { ID id-DCH-MeasurementType-Indicator CRITICALITY reject EXTENSION DCH-MeasurementType-Indicator PRESENCE optional}|
+ { ID id-Multi-Carrier-EDCH-Setup CRITICALITY reject EXTENSION Multi-Carrier-EDCH-Info PRESENCE optional}|
+ { ID id-MU-MIMO-Indicator CRITICALITY reject EXTENSION MU-MIMO-Indicator PRESENCE optional}|
+ { ID id-Extended-S-RNTI CRITICALITY reject EXTENSION Extended-RNTI PRESENCE optional}|
+ { ID id-UE-Support-of-non-rectangular-resource-allocation CRITICALITY ignore EXTENSION UE-Support-of-non-rectangular-resource-allocation PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP RESPONSE FDD
+--
+-- **************************************************************
+
+RadioLinkSetupResponseFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupResponseFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupResponseFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupResponseFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE optional }|
+ { ID id-CN-PS-DomainIdentifier CRITICALITY ignore TYPE CN-PS-DomainIdentifier PRESENCE optional }|
+ { ID id-CN-CS-DomainIdentifier CRITICALITY ignore TYPE CN-CS-DomainIdentifier PRESENCE optional }|
+ { ID id-RL-InformationResponseList-RL-SetupRspFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-SetupRspFDD PRESENCE mandatory }|
+ { ID id-UL-SIRTarget CRITICALITY ignore TYPE UL-SIR PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RL-InformationResponseList-RL-SetupRspFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-InformationResponseItemIEs-RL-SetupRspFDD} }
+
+RL-InformationResponseItemIEs-RL-SetupRspFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseItem-RL-SetupRspFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-SetupRspFDD PRESENCE mandatory }
+}
+
+RL-InformationResponseItem-RL-SetupRspFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Set-ID RL-Set-ID,
+ uRA-Information URA-Information OPTIONAL,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ received-total-wide-band-power Received-total-wide-band-power,
+ not-Used-secondary-CCPCH-Info NULL OPTIONAL,
+ dl-CodeInformation FDD-DL-CodeInformation,
+ diversityIndication DiversityIndication-RL-SetupRspFDD,
+ sSDT-SupportIndicator SSDT-SupportIndicator,
+ maxUL-SIR UL-SIR,
+ minUL-SIR UL-SIR,
+ closedlooptimingadjustmentmode Closedlooptimingadjustmentmode OPTIONAL,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ primaryScramblingCode PrimaryScramblingCode OPTIONAL,
+ uL-UARFCN UARFCN OPTIONAL,
+ dL-UARFCN UARFCN OPTIONAL,
+ primaryCPICH-Power PrimaryCPICH-Power,
+ not-Used-dSCHInformationResponse NULL OPTIONAL,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ pC-Preamble PC-Preamble,
+ sRB-Delay SRB-Delay,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponseItem-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseItem-RL-SetupRspFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional }|
+ { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional }|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional }|
+ { ID id-Primary-CPICH-Usage-For-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-For-Channel-Estimation PRESENCE optional }|
+ { ID id-Secondary-CPICH-Information CRITICALITY ignore EXTENSION Secondary-CPICH-Information PRESENCE optional }|
+ { ID id-Active-MBMS-Bearer-ServiceFDD-PFL CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListFDD-PFL PRESENCE optional }|
+ { ID id-EDCH-RLSet-Id CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-EDCH-FDD-DL-ControlChannelInformation CRITICALITY ignore EXTENSION EDCH-FDD-DL-ControlChannelInformation PRESENCE optional }|
+ { ID id-Initial-DL-DPCH-TimingAdjustment CRITICALITY ignore EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY ignore EXTENSION F-DPCH-SlotFormat PRESENCE optional }|
+ { ID id-FrameOffset CRITICALITY ignore EXTENSION FrameOffset PRESENCE optional }|
+ { ID id-ChipOffset CRITICALITY ignore EXTENSION ChipOffset PRESENCE optional }|
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional }|
+ { ID id-Non-Serving-RL-Preconfig-Info CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Info PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional }|
+ { ID id-FTPICH-Information-Response CRITICALITY ignore EXTENSION FTPICH-Information-Response PRESENCE optional },
+ ...
+}
+
+DiversityIndication-RL-SetupRspFDD ::= CHOICE {
+ combining Combining-RL-SetupRspFDD,
+ nonCombiningOrFirstRL NonCombiningOrFirstRL-RL-SetupRspFDD
+}
+
+Combining-RL-SetupRspFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CombiningItem-RL-SetupRspFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore EXTENSION DCH-InformationResponse PRESENCE optional }|
+ { ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional },
+ ...
+}
+
+NonCombiningOrFirstRL-RL-SetupRspFDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { NonCombiningOrFirstRLItem-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NonCombiningOrFirstRLItem-RL-SetupRspFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional},
+ ...
+}
+
+RadioLinkSetupResponseFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-RNTI CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional }|
+ { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
+ { ID id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response CRITICALITY ignore EXTENSION Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response PRESENCE optional }|
+ { ID id-SixtyfourQAM-DL-SupportIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-DL-SupportIndicator PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Information-Response-List PRESENCE optional }|
+ { ID id-Additional-EDCH-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-List PRESENCE optional },
+ ...
+}
+
+Additional-HS-Cell-Information-Response-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-Response-ItemIEs
+
+
+
+Additional-HS-Cell-Information-Response-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ hSDSCH-RNTI HSDSCH-RNTI,
+ hS-DSCH-FDD-Secondary-Serving-Information-Response HS-DSCH-FDD-Secondary-Serving-Information-Response,
+ sixtyfourQAM-DL-SupportIndicator SixtyfourQAM-DL-SupportIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-Response-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP RESPONSE TDD
+--
+-- **************************************************************
+
+RadioLinkSetupResponseTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupResponseTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupResponseTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupResponseTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE optional } |
+ { ID id-CN-PS-DomainIdentifier CRITICALITY ignore TYPE CN-PS-DomainIdentifier PRESENCE optional } |
+ { ID id-CN-CS-DomainIdentifier CRITICALITY ignore TYPE CN-CS-DomainIdentifier PRESENCE optional } |
+ { ID id-RL-InformationResponse-RL-SetupRspTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-SetupRspTDD PRESENCE optional } |
+ --Mandatory for 3.84Mcps TDD only
+ { ID id-UL-SIRTarget CRITICALITY ignore TYPE UL-SIR PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RL-InformationResponse-RL-SetupRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ uRA-Information URA-Information OPTIONAL,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ ul-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
+ maxUL-SIR UL-SIR,
+ minUL-SIR UL-SIR,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ uARFCNforNt UARFCN OPTIONAL,
+ cellParameterID CellParameterID OPTIONAL,
+ syncCase SyncCase OPTIONAL,
+ sCH-TimeSlot SCH-TimeSlot OPTIONAL,
+ -- This IE shall be present if Sync Case IE is equal to “Case2”. --
+ sCTD-Indicator SCTD-Indicator OPTIONAL,
+ pCCPCH-Power PCCPCH-Power,
+ timingAdvanceApplied TimingAdvanceApplied,
+ alphaValue AlphaValue,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ synchronisationConfiguration SynchronisationConfiguration,
+ secondary-CCPCH-Info-TDD Secondary-CCPCH-Info-TDD OPTIONAL,
+ ul-CCTrCHInformation UL-CCTrCHInformationList-RL-SetupRspTDD OPTIONAL,
+ dl-CCTrCHInformation DL-CCTrCHInformationList-RL-SetupRspTDD OPTIONAL,
+ dCH-InformationResponse DCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
+ dsch-InformationResponse DSCH-InformationResponse-RL-SetupRspTDD OPTIONAL,
+ usch-InformationResponse USCH-InformationResponse-RL-SetupRspTDD OPTIONAL,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponse-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponse-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional }|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional }|
+ { ID id-TimeSlot-RL-SetupRspTDD CRITICALITY ignore EXTENSION TimeSlot PRESENCE conditional }|
+ -- This IE shall be present if Sync Case IE is Case1. --
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional },
+ ...
+}
+
+UL-CCTrCHInformationList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{UL-CCTrCHInformationListIEs-RL-SetupRspTDD}}
+
+UL-CCTrCHInformationListIEs-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationListIE-RL-SetupRspTDD CRITICALITY ignore TYPE UL-CCTrCHInformationListIE-RL-SetupRspTDD PRESENCE mandatory }
+}
+
+UL-CCTrCHInformationListIE-RL-SetupRspTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCHInformationItem-RL-SetupRspTDD
+
+UL-CCTrCHInformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ ul-DPCH-Information UL-DPCH-InformationList-RL-SetupRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCHInformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCHInformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-UL-SIR-Target-CCTrCH-InformationItem-RL-SetupRspTDD CRITICALITY ignore EXTENSION UL-SIR PRESENCE optional},
+ ...
+}
+
+UL-DPCH-InformationList-RL-SetupRspTDD ::= ProtocolIE-Single-Container { {UL-DPCH-InformationListIEs-RL-SetupRspTDD} }
+
+UL-DPCH-InformationListIEs-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationItem-RL-SetupRspTDD CRITICALITY ignore TYPE UL-DPCH-InformationItem-RL-SetupRspTDD PRESENCE mandatory}
+}
+
+
+UL-DPCH-InformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information UL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-InformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCHInformationList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{DL-CCTrCHInformationListIEs-RL-SetupRspTDD}}
+
+DL-CCTrCHInformationListIEs-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationListIE-RL-SetupRspTDD CRITICALITY ignore TYPE DL-CCTrCHInformationListIE-RL-SetupRspTDD PRESENCE mandatory}
+}
+
+DL-CCTrCHInformationListIE-RL-SetupRspTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCHInformationItem-RL-SetupRspTDD
+
+DL-CCTrCHInformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-DPCH-Information DL-DPCH-InformationList-RL-SetupRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCHInformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCHInformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CCTrCH-Maximum-DL-Power-RL-SetupRspTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }| -- this is a DCH type CCTrCH power
+ { ID id-CCTrCH-Minimum-DL-Power-RL-SetupRspTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }, -- this is a DCH type CCTrCH power
+ ...
+}
+
+DL-DPCH-InformationList-RL-SetupRspTDD ::= ProtocolIE-Single-Container { {DL-DPCH-InformationListIEs-RL-SetupRspTDD} }
+
+DL-DPCH-InformationListIEs-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationItem-RL-SetupRspTDD CRITICALITY ignore TYPE DL-DPCH-InformationItem-RL-SetupRspTDD PRESENCE mandatory}
+}
+
+DL-DPCH-InformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information DL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{DCH-InformationResponseListIEs-RL-SetupRspTDD}}
+
+DCH-InformationResponseListIEs-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory}
+}
+
+DSCH-InformationResponse-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{DSCH-InformationList-RL-SetupRspTDD}}
+
+DSCH-InformationList-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DSCH-InformationListIEs-RL-SetupRspTDD CRITICALITY ignore TYPE DSCH-InformationListIEs-RL-SetupRspTDD PRESENCE mandatory }
+}
+
+DSCH-InformationListIEs-RL-SetupRspTDD ::= SEQUENCE (SIZE(0..maxNoOfDSCHs)) OF DSCHInformationItem-RL-SetupRspTDD
+
+DSCHInformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ dsch-ID DSCH-ID,
+ dSCH-FlowControlInformation DSCH-FlowControlInformation,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ transportFormatManagement TransportFormatManagement,
+ iE-Extensions ProtocolExtensionContainer { {DSCHInformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCHInformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+USCH-InformationResponse-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{USCH-InformationList-RL-SetupRspTDD}}
+
+USCH-InformationList-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-USCH-InformationListIEs-RL-SetupRspTDD CRITICALITY ignore TYPE USCH-InformationListIEs-RL-SetupRspTDD PRESENCE mandatory }
+}
+
+USCH-InformationListIEs-RL-SetupRspTDD ::= SEQUENCE (SIZE(0..maxNoOfUSCHs)) OF USCHInformationItem-RL-SetupRspTDD
+
+USCHInformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ usch-ID USCH-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ transportFormatManagement TransportFormatManagement,
+ iE-Extensions ProtocolExtensionContainer { {USCHInformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCHInformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkSetupResponseTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RL-LCR-InformationResponse-RL-SetupRspTDD CRITICALITY ignore EXTENSION RL-LCR-InformationResponse-RL-SetupRspTDD PRESENCE optional}|
+ --Mandatory for 1.28Mcps TDD only
+ { ID id-HSDSCH-RNTI CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional}|
+ { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional}|
+ { ID id-DSCH-RNTI CRITICALITY ignore EXTENSION DSCH-RNTI PRESENCE optional}|
+ { ID id-Active-MBMS-Bearer-ServiceTDD-PFL CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListTDD-PFL PRESENCE optional}|
+ { ID id-RL-InformationResponse-RL-SetupRspTDD768 CRITICALITY ignore EXTENSION RL-InformationResponse-RL-SetupRspTDD768 PRESENCE optional}|
+ { ID id-E-DCH-Information-Response CRITICALITY ignore EXTENSION E-DCH-Information-Response PRESENCE optional}|
+ { ID id-E-DCH-768-Information-Response CRITICALITY ignore EXTENSION E-DCH-768-Information-Response PRESENCE optional}|
+ { ID id-E-DCH-LCR-Information-Response CRITICALITY ignore EXTENSION E-DCH-LCR-Information-Response PRESENCE optional}|
+ { ID id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-Information-ResponseLCR PRESENCE optional}|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION E-DCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-E-RNTI-For-FACH CRITICALITY ignore EXTENSION E-RNTI PRESENCE optional}|
+ { ID id-H-RNTI-For-FACH CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional}|
+ { ID id-DCH-MeasurementOccasion-Information CRITICALITY reject EXTENSION DCH-MeasurementOccasion-Information PRESENCE optional}|
+ { ID id-Multi-Carrier-EDCH-Response CRITICALITY ignore EXTENSION Multi-Carrier-EDCH-Information-Response PRESENCE optional}|
+ { ID id-MU-MIMO-InformationLCR CRITICALITY reject EXTENSION MU-MIMO-InformationLCR PRESENCE optional}|
+ { ID id-Non-rectangular-resource-allocation-indicator CRITICALITY reject EXTENSION Non-rectangular-resource-allocation-indicator PRESENCE optional}|
+ { ID id-Non-rectangular-resource-timeslot-set CRITICALITY reject EXTENSION Non-rectangular-resource-timeslot-set PRESENCE optional},
+ ...
+}
+
+RL-LCR-InformationResponse-RL-SetupRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ uRA-Information URA-Information,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ ul-TimeSlot-ISCP-LCR-Info UL-TimeSlot-ISCP-LCR-Info,
+ maxUL-SIR UL-SIR,
+ minUL-SIR UL-SIR,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ uARFCNforNt UARFCN OPTIONAL,
+ cellParameterID CellParameterID OPTIONAL,
+ sCTD-Indicator SCTD-Indicator OPTIONAL,
+ pCCPCH-Power PCCPCH-Power,
+ alphaValue AlphaValue,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ synchronisationConfiguration SynchronisationConfiguration,
+ secondary-LCR-CCPCH-Info-TDD Secondary-LCR-CCPCH-Info-TDD OPTIONAL,
+ ul-LCR-CCTrCHInformation UL-LCR-CCTrCHInformationList-RL-SetupRspTDD OPTIONAL,
+ dl-LCR-CCTrCHInformation DL-LCR-CCTrCHInformationList-RL-SetupRspTDD OPTIONAL,
+ dCH-InformationResponse DCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
+ dsch-LCR-InformationResponse DSCH-LCR-InformationResponse-RL-SetupRspTDD OPTIONAL,
+ usch-LCR-InformationResponse USCH-LCR-InformationResponse-RL-SetupRspTDD OPTIONAL,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-LCR-InformationResponseList-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-LCR-InformationResponseList-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional }|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional }|
+ { ID id-UL-TimingAdvanceCtrl-LCR CRITICALITY ignore EXTENSION UL-TimingAdvanceCtrl-LCR PRESENCE optional }|
+ --Mandatory for 1.28Mcps TDD only
+ { ID id-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-SixtyfourQAM-DL-SupportIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-DL-SupportIndicator PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-IdleIntervalInformation CRITICALITY ignore EXTENSION IdleIntervalInformation PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional },
+ ...
+}
+
+UL-LCR-CCTrCHInformationList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{UL-LCR-CCTrCHInformationListIEs-RL-SetupRspTDD}}
+
+UL-LCR-CCTrCHInformationListIEs-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD CRITICALITY ignore TYPE UL-LCR-CCTrCHInformationListIE-RL-SetupRspTDD PRESENCE mandatory }
+}
+
+UL-LCR-CCTrCHInformationListIE-RL-SetupRspTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHsLCR)) OF UL-LCR-CCTrCHInformationItem-RL-SetupRspTDD
+
+UL-LCR-CCTrCHInformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ ul-DPCH-LCR-Information UL-DPCH-LCR-InformationList-RL-SetupRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-LCR-CCTrCHInformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-LCR-CCTrCHInformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-UL-SIR-Target-CCTrCH-LCR-InformationItem-RL-SetupRspTDD CRITICALITY ignore EXTENSION UL-SIR PRESENCE optional},
+ ...
+}
+
+UL-DPCH-LCR-InformationList-RL-SetupRspTDD ::= ProtocolIE-Single-Container { {UL-DPCH-LCR-InformationListIEs-RL-SetupRspTDD} }
+
+UL-DPCH-LCR-InformationListIEs-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-LCR-InformationItem-RL-SetupRspTDD CRITICALITY ignore TYPE UL-DPCH-LCR-InformationItem-RL-SetupRspTDD PRESENCE mandatory}
+}
+
+UL-DPCH-LCR-InformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ uL-TimeslotLCR-Information UL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+DL-LCR-CCTrCHInformationList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{DL-LCR-CCTrCHInformationListIEs-RL-SetupRspTDD}}
+
+DL-LCR-CCTrCHInformationListIEs-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD CRITICALITY ignore TYPE DL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD PRESENCE mandatory}
+}
+
+DL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHsLCR)) OF DL-CCTrCH-LCR-InformationItem-RL-SetupRspTDD
+
+DL-CCTrCH-LCR-InformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-DPCH-LCR-Information DL-DPCH-LCR-InformationList-RL-SetupRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-LCR-InformationList-RL-SetupRspTDD ::= ProtocolIE-Single-Container { {DL-DPCH-LCR-InformationListIEs-RL-SetupRspTDD} }
+
+DL-DPCH-LCR-InformationListIEs-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-LCR-InformationItem-RL-SetupRspTDD CRITICALITY ignore TYPE DL-DPCH-LCR-InformationItem-RL-SetupRspTDD PRESENCE mandatory}
+}
+
+DL-DPCH-LCR-InformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-LCR-Information DL-TimeslotLCR-Information,
+ tSTD-Indicator TSTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DSCH-LCR-InformationResponse-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{DSCH-LCR-InformationList-RL-SetupRspTDD}}
+
+DSCH-LCR-InformationList-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DSCH-LCR-InformationListIEs-RL-SetupRspTDD CRITICALITY ignore TYPE DSCH-LCR-InformationListIEs-RL-SetupRspTDD PRESENCE mandatory }
+}
+
+DSCH-LCR-InformationListIEs-RL-SetupRspTDD ::= SEQUENCE (SIZE(0..maxNoOfDSCHsLCR)) OF DSCH-LCR-InformationItem-RL-SetupRspTDD
+
+DSCH-LCR-InformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ dsch-ID DSCH-ID,
+ dSCH-FlowControlInformation DSCH-FlowControlInformation,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ transportFormatManagement TransportFormatManagement,
+ iE-Extensions ProtocolExtensionContainer { {DSCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+USCH-LCR-InformationResponse-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{USCH-LCR-InformationList-RL-SetupRspTDD}}
+
+USCH-LCR-InformationList-RL-SetupRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-USCH-LCR-InformationListIEs-RL-SetupRspTDD CRITICALITY ignore TYPE USCH-LCR-InformationListIEs-RL-SetupRspTDD PRESENCE mandatory }
+}
+
+USCH-LCR-InformationListIEs-RL-SetupRspTDD ::= SEQUENCE (SIZE(0..maxNoOfUSCHsLCR)) OF USCH-LCR-InformationItem-RL-SetupRspTDD
+
+USCH-LCR-InformationItem-RL-SetupRspTDD ::= SEQUENCE {
+ usch-ID USCH-ID,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ transportFormatManagement TransportFormatManagement,
+ iE-Extensions ProtocolExtensionContainer { {USCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCH-LCR-InformationItem-RL-SetupRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationResponse-RL-SetupRspTDD768 ::= SEQUENCE {
+ rL-ID RL-ID,
+ uRA-Information URA-Information OPTIONAL,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ ul-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
+ maxUL-SIR UL-SIR,
+ minUL-SIR UL-SIR,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ uARFCNforNt UARFCN OPTIONAL,
+ cellParameterID CellParameterID OPTIONAL,
+ syncCase SyncCase OPTIONAL,
+ sCH-TimeSlot SCH-TimeSlot OPTIONAL,
+ -- This IE shall be present if Sync Case IE is equal to “Case2”. --
+ sCTD-Indicator SCTD-Indicator OPTIONAL,
+ pCCPCH-Power PCCPCH-Power,
+ timingAdvanceApplied TimingAdvanceApplied,
+ alphaValue AlphaValue,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ synchronisationConfiguration SynchronisationConfiguration,
+ secondary-CCPCH-Info-TDD768 Secondary-CCPCH-Info-TDD768 OPTIONAL,
+ ul-CCTrCHInformation768 UL-CCTrCHInformationList-RL-SetupRspTDD768 OPTIONAL,
+ dl-CCTrCHInformation768 DL-CCTrCHInformationList-RL-SetupRspTDD768 OPTIONAL,
+ dCH-InformationResponse DCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
+ dsch-InformationResponse DSCH-InformationResponse-RL-SetupRspTDD OPTIONAL,
+ usch-InformationResponse USCH-InformationResponse-RL-SetupRspTDD OPTIONAL,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ gA-CellAdditionalShapes GA-CellAdditionalShapes OPTIONAL,
+ hCS-Prio HCS-Prio OPTIONAL,
+ timeSlot-RL-SetupRspTDD TimeSlot OPTIONAL,
+ -- This IE shall be present if Sync Case IE is Case1. --
+
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponse-RL-SetupRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponse-RL-SetupRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional },
+ ...
+}
+
+UL-CCTrCHInformationList-RL-SetupRspTDD768 ::= ProtocolIE-Single-Container {{UL-CCTrCHInformationListIEs-RL-SetupRspTDD768}}
+
+UL-CCTrCHInformationListIEs-RL-SetupRspTDD768 RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationListIE-RL-SetupRspTDD768 CRITICALITY ignore TYPE UL-CCTrCHInformationListIE-RL-SetupRspTDD768 PRESENCE mandatory}
+}
+
+UL-CCTrCHInformationListIE-RL-SetupRspTDD768 ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCHInformationItem-RL-SetupRspTDD768
+
+UL-CCTrCHInformationItem-RL-SetupRspTDD768 ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ ul-DPCH-Information768 UL-DPCH-InformationList-RL-SetupRspTDD768 OPTIONAL,
+ uL-SIR-Target-CCTrCH-InformationItem-RL-SetupRspTDD768 UL-SIR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCHInformationItem-RL-SetupRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCHInformationItem-RL-SetupRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationList-RL-SetupRspTDD768 ::= ProtocolIE-Single-Container { {UL-DPCH-InformationListIEs-RL-SetupRspTDD768} }
+
+UL-DPCH-InformationListIEs-RL-SetupRspTDD768 RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationItem-RL-SetupRspTDD768 CRITICALITY ignore TYPE UL-DPCH-InformationItem-RL-SetupRspTDD768 PRESENCE mandatory}
+}
+
+UL-DPCH-InformationItem-RL-SetupRspTDD768 ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information768 UL-Timeslot-Information768,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-InformationItem-RL-SetupRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationItem-RL-SetupRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCHInformationList-RL-SetupRspTDD768 ::= ProtocolIE-Single-Container {{DL-CCTrCHInformationListIEs-RL-SetupRspTDD768}}
+
+DL-CCTrCHInformationListIEs-RL-SetupRspTDD768 RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationListIE-RL-SetupRspTDD768 CRITICALITY ignore TYPE DL-CCTrCHInformationListIE-RL-SetupRspTDD768 PRESENCE mandatory}
+}
+
+DL-CCTrCHInformationListIE-RL-SetupRspTDD768 ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCHInformationItem-RL-SetupRspTDD768
+
+DL-CCTrCHInformationItem-RL-SetupRspTDD768 ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-DPCH-Information768 DL-DPCH-InformationList-RL-SetupRspTDD768 OPTIONAL,
+ cCTrCH-Maximum-DL-Power DL-Power OPTIONAL, -- this is a DCH type CCTrCH power
+ cCTrCH-Minimum-DL-Power DL-Power OPTIONAL, -- this is a DCH type CCTrCH power
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCHInformationItem-RL-SetupRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCHInformationItem-RL-SetupRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationList-RL-SetupRspTDD768 ::= ProtocolIE-Single-Container { {DL-DPCH-InformationListIEs-RL-SetupRspTDD768} }
+
+DL-DPCH-InformationListIEs-RL-SetupRspTDD768 RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationItem-RL-SetupRspTDD768 CRITICALITY ignore TYPE DL-DPCH-InformationItem-RL-SetupRspTDD768 PRESENCE mandatory}
+}
+
+DL-DPCH-InformationItem-RL-SetupRspTDD768 ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information768 DL-Timeslot-Information768,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationItem-RL-SetupRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationItem-RL-SetupRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP FAILURE FDD
+--
+-- **************************************************************
+
+RadioLinkSetupFailureFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupFailureFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupFailureFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupFailureFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE optional } |
+ { ID id-CN-PS-DomainIdentifier CRITICALITY ignore TYPE CN-PS-DomainIdentifier PRESENCE optional } |
+ { ID id-CN-CS-DomainIdentifier CRITICALITY ignore TYPE CN-CS-DomainIdentifier PRESENCE optional } |
+ { ID id-CauseLevel-RL-SetupFailureFDD CRITICALITY ignore TYPE CauseLevel-RL-SetupFailureFDD PRESENCE mandatory }|
+ { ID id-UL-SIRTarget CRITICALITY ignore TYPE UL-SIR PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CauseLevel-RL-SetupFailureFDD ::= CHOICE {
+ generalCause GeneralCauseList-RL-SetupFailureFDD,
+ rLSpecificCause RLSpecificCauseList-RL-SetupFailureFDD,
+ ...
+}
+
+GeneralCauseList-RL-SetupFailureFDD ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-RL-SetupFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-SetupFailureFDD ::= SEQUENCE {
+ unsuccessful-RL-InformationRespList-RL-SetupFailureFDD UnsuccessfulRL-InformationResponseList-RL-SetupFailureFDD,
+ successful-RL-InformationRespList-RL-SetupFailureFDD SuccessfulRL-InformationResponseList-RL-SetupFailureFDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLSpecificCauseItem-RL-SetupFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-RNTI CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional }|
+ { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
+ { ID id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response CRITICALITY ignore EXTENSION Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response PRESENCE optional }|
+ { ID id-SixtyfourQAM-DL-SupportIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-DL-SupportIndicator PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Information-Response-List PRESENCE optional }|
+ { ID id-Additional-EDCH-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-List PRESENCE optional},
+ ...
+}
+
+UnsuccessfulRL-InformationResponseList-RL-SetupFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD-IEs} }
+
+UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD CRITICALITY ignore TYPE UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD PRESENCE mandatory }
+}
+
+UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Max-UE-DTX-Cycle CRITICALITY ignore EXTENSION Max-UE-DTX-Cycle PRESENCE conditional },
+ -- This IE shall be present if the Cause IE is set to “Continuous Packet Connectivity UE DTX Cycle not Available”.
+ ...
+}
+
+SuccessfulRL-InformationResponseList-RL-SetupFailureFDD ::= SEQUENCE (SIZE (0..maxNrOfRLs-1)) OF ProtocolIE-Single-Container { {SuccessfulRL-InformationResponse-RL-SetupFailureFDD-IEs} }
+
+SuccessfulRL-InformationResponse-RL-SetupFailureFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-SuccessfulRL-InformationResponse-RL-SetupFailureFDD CRITICALITY ignore TYPE SuccessfulRL-InformationResponse-RL-SetupFailureFDD PRESENCE mandatory }
+}
+
+SuccessfulRL-InformationResponse-RL-SetupFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Set-ID RL-Set-ID,
+ uRA-Information URA-Information OPTIONAL,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ received-total-wide-band-power Received-total-wide-band-power,
+ not-Used-secondary-CCPCH-Info NULL OPTIONAL,
+ dl-CodeInformation FDD-DL-CodeInformation,
+ diversityIndication DiversityIndication-RL-SetupFailureFDD,
+ sSDT-SupportIndicator SSDT-SupportIndicator,
+ maxUL-SIR UL-SIR,
+ minUL-SIR UL-SIR,
+ closedlooptimingadjustmentmode Closedlooptimingadjustmentmode OPTIONAL,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ primaryCPICH-Power PrimaryCPICH-Power,
+ primaryScramblingCode PrimaryScramblingCode OPTIONAL,
+ uL-UARFCN UARFCN OPTIONAL,
+ dL-UARFCN UARFCN OPTIONAL,
+ not-Used-dSCH-InformationResponse-RL-SetupFailureFDD NULL OPTIONAL,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ pC-Preamble PC-Preamble,
+ sRB-Delay SRB-Delay,
+ iE-Extensions ProtocolExtensionContainer { {SuccessfulRL-InformationResponse-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SuccessfulRL-InformationResponse-RL-SetupFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional }|
+ { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional }|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional }|
+ { ID id-Primary-CPICH-Usage-For-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-For-Channel-Estimation PRESENCE optional }|
+ { ID id-Secondary-CPICH-Information CRITICALITY ignore EXTENSION Secondary-CPICH-Information PRESENCE optional }|
+ { ID id-Active-MBMS-Bearer-ServiceFDD-PFL CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListFDD-PFL PRESENCE optional }|
+ { ID id-EDCH-RLSet-Id CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-EDCH-FDD-DL-ControlChannelInformation CRITICALITY ignore EXTENSION EDCH-FDD-DL-ControlChannelInformation PRESENCE optional }|
+ { ID id-Initial-DL-DPCH-TimingAdjustment CRITICALITY ignore EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY ignore EXTENSION F-DPCH-SlotFormat PRESENCE optional }|
+ { ID id-Non-Serving-RL-Preconfig-Info CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Info PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional },
+ ...
+}
+
+DiversityIndication-RL-SetupFailureFDD ::= CHOICE {
+ combining Combining-RL-SetupFailureFDD,
+ nonCombiningOrFirstRL NonCombiningOrFirstRL-RL-SetupFailureFDD
+}
+
+Combining-RL-SetupFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CombiningItem-RL-SetupFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore EXTENSION DCH-InformationResponse PRESENCE optional }|
+ { ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional },
+ ...
+}
+
+NonCombiningOrFirstRL-RL-SetupFailureFDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { NonCombiningOrFirstRLItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NonCombiningOrFirstRLItem-RL-SetupFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional },
+ ...
+}
+
+RadioLinkSetupFailureFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK SETUP FAILURE TDD
+--
+-- **************************************************************
+
+RadioLinkSetupFailureTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkSetupFailureTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupFailureTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkSetupFailureTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-CauseLevel-RL-SetupFailureTDD CRITICALITY ignore TYPE CauseLevel-RL-SetupFailureTDD PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CauseLevel-RL-SetupFailureTDD ::= CHOICE {
+ generalCause GeneralCauseList-RL-SetupFailureTDD,
+ rLSpecificCause RLSpecificCauseList-RL-SetupFailureTDD,
+ ...
+}
+
+GeneralCauseList-RL-SetupFailureTDD ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-RL-SetupFailureTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-SetupFailureTDD ::= SEQUENCE {
+ unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD Unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLSpecificCauseItem-RL-SetupFailureTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SixtyfourQAM-DL-SupportIndicator CRITICALITY ignore EXTENSION SixtyfourQAM-DL-SupportIndicator PRESENCE optional },
+ ...
+}
+
+Unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD ::= ProtocolIE-Single-Container { {Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureTDD} }
+
+Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UnsuccessfulRL-InformationResponse-RL-SetupFailureTDD CRITICALITY ignore TYPE UnsuccessfulRL-InformationResponse-RL-SetupFailureTDD PRESENCE mandatory }
+}
+
+UnsuccessfulRL-InformationResponse-RL-SetupFailureTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {UnsuccessfulRL-InformationResponse-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UnsuccessfulRL-InformationResponse-RL-SetupFailureTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkSetupFailureTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION REQUEST FDD
+--
+-- **************************************************************
+
+RadioLinkAdditionRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionRequestFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-SIRTarget CRITICALITY reject TYPE UL-SIR PRESENCE mandatory } |
+ { ID id-RL-InformationList-RL-AdditionRqstFDD CRITICALITY notify TYPE RL-InformationList-RL-AdditionRqstFDD PRESENCE mandatory }|
+ { ID id-Active-Pattern-Sequence-Information CRITICALITY reject TYPE Active-Pattern-Sequence-Information PRESENCE optional },
+ ...
+}
+
+RL-InformationList-RL-AdditionRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container { {RL-Information-RL-AdditionRqstFDD-IEs} }
+
+RL-Information-RL-AdditionRqstFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Information-RL-AdditionRqstFDD CRITICALITY notify TYPE RL-Information-RL-AdditionRqstFDD PRESENCE mandatory }
+}
+
+RL-Information-RL-AdditionRqstFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ c-ID C-ID,
+ frameOffset FrameOffset,
+ chipOffset ChipOffset,
+ diversityControlField DiversityControlField,
+ primaryCPICH-EcNo PrimaryCPICH-EcNo OPTIONAL,
+ not-Used-sSDT-CellID NULL OPTIONAL,
+ transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-RL-AdditionRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-AdditionRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
+ { ID id-Enhanced-PrimaryCPICH-EcNo CRITICALITY ignore EXTENSION Enhanced-PrimaryCPICH-EcNo PRESENCE optional }|
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
+ { ID id-RL-Specific-EDCH-Information CRITICALITY reject EXTENSION RL-Specific-EDCH-Information PRESENCE optional }|
+ { ID id-EDCH-RL-Indication CRITICALITY reject EXTENSION EDCH-RL-Indication PRESENCE optional }|
+ { ID id-SynchronisationIndicator CRITICALITY ignore EXTENSION SynchronisationIndicator PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationSetup CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationSetup PRESENCE optional }|
+ { ID id-Non-Serving-RL-Preconfig-Setup CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Setup PRESENCE optional }|
+ { ID id-FTPICH-Information CRITICALITY ignore EXTENSION FTPICH-Information PRESENCE optional }|
+ { ID id-TPC-slot-position CRITICALITY ignore EXTENSION TPC-slot-position PRESENCE optional},
+ ...
+}
+
+RadioLinkAdditionRequestFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DPC-Mode CRITICALITY reject EXTENSION DPC-Mode PRESENCE optional}|
+ { ID id-Permanent-NAS-UE-Identity CRITICALITY ignore EXTENSION Permanent-NAS-UE-Identity PRESENCE optional}|
+ { ID id-Serving-EDCHRL-Id CRITICALITY reject EXTENSION EDCH-Serving-RL PRESENCE optional}|
+ { ID id-Initial-DL-DPCH-TimingAdjustment-Allowed CRITICALITY ignore EXTENSION Initial-DL-DPCH-TimingAdjustment-Allowed PRESENCE optional}|
+ { ID id-HS-DSCH-serving-cell-change-information CRITICALITY reject EXTENSION HS-DSCH-serving-cell-change-information PRESENCE optional}|
+ { ID id-Serving-cell-change-CFN CRITICALITY reject EXTENSION CFN PRESENCE optional}|
+ { ID id-EDPCH-Information CRITICALITY reject EXTENSION EDPCH-Information-RLAdditionReq-FDD PRESENCE optional}|
+ { ID id-EDCH-FDD-Information CRITICALITY reject EXTENSION EDCH-FDD-Information PRESENCE optional}|
+ { ID id-Additional-HS-Cell-Information-RL-Addition CRITICALITY reject EXTENSION Additional-HS-Cell-Information-RL-Addition-List PRESENCE optional}|
+ -- This IE shall be present if E-DPCH Information is present
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-RL-Add-Req CRITICALITY reject EXTENSION Additional-EDCH-Cell-Information-RL-Add-Req PRESENCE optional}|
+ { ID id-UL-CLTD-Information CRITICALITY reject EXTENSION UL-CLTD-Information PRESENCE optional}|
+ { ID id-E-DCH-Decoupling-Indication CRITICALITY reject EXTENSION E-DCH-Decoupling-Indication PRESENCE optional}|
+ { ID id-Radio-Links-without-DPCH-FDPCH-Indication CRITICALITY reject EXTENSION Radio-Links-without-DPCH-FDPCH-Indication PRESENCE optional}|
+ { ID id-UL-DPCCH2-Information CRITICALITY reject EXTENSION UL-DPCCH2-Information PRESENCE optional}|
+ { ID id-Downlink-TPC-enhancements-Information CRITICALITY reject EXTENSION Downlink-TPC-enhancements-Information PRESENCE optional},
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Addition-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Addition-ItemIEs
+
+
+Additional-HS-Cell-Information-RL-Addition-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ c-ID C-ID,
+ hS-DSCH-FDD-Secondary-Serving-Information HS-DSCH-FDD-Secondary-Serving-Information,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Addition-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Addition-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Add-Req ::=SEQUENCE{
+ setup-Or-Addition-Of-EDCH-On-secondary-UL-Frequency Setup-Or-Addition-Of-EDCH-On-secondary-UL-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-RL-Add-Req-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Add-Req-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Setup-Or-Addition-Of-EDCH-On-secondary-UL-Frequency::= CHOICE {
+ setup Additional-EDCH-Setup-Info,
+ addition Additional-EDCH-Cell-Information-To-Add-List,
+ ...
+}
+
+EDPCH-Information-RLAdditionReq-FDD::= SEQUENCE {
+ maxSet-E-DPDCHs Max-Set-E-DPDCHs,
+ ul-PunctureLimit PunctureLimit,
+ e-TFCS-Information E-TFCS-Information,
+ e-TTI E-TTI,
+ e-DPCCH-PO E-DPCCH-PO,
+ e-RGCH-2-IndexStepThreshold E-RGCH-2-IndexStepThreshold,
+ e-RGCH-3-IndexStepThreshold E-RGCH-3-IndexStepThreshold,
+ hARQ-Info-for-E-DCH HARQ-Info-for-E-DCH,
+ iE-Extensions ProtocolExtensionContainer { { EDPCH-Information-RLAdditionReq-FDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDPCH-Information-RLAdditionReq-FDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-HSDSCH-Configured-Indicator CRITICALITY reject EXTENSION HSDSCH-Configured-Indicator PRESENCE mandatory}|
+-- This shall be present for EDPCH configuration with HSDCH
+{ ID id-MinimumReducedE-DPDCH-GainFactor CRITICALITY ignore EXTENSION MinimumReducedE-DPDCH-GainFactor PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION REQUEST TDD
+--
+-- **************************************************************
+
+RadioLinkAdditionRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionRequestTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Information-RL-AdditionRqstTDD CRITICALITY reject TYPE RL-Information-RL-AdditionRqstTDD PRESENCE mandatory },
+ ...
+}
+
+RL-Information-RL-AdditionRqstTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ c-ID C-ID,
+ frameOffset FrameOffset,
+ diversityControlField DiversityControlField,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL,
+ dL-TimeSlot-ISCP-Info DL-TimeSlot-ISCP-Info OPTIONAL,
+ --for 3.84Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-AdditionRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-Timeslot-ISCP-LCR-Information-RL-AdditionRqstTDD CRITICALITY reject EXTENSION DL-TimeSlot-ISCP-LCR-Information PRESENCE optional }|
+ --for 1.28Mcps TDD only
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
+ { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
+ { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY reject EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }|
+ -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-PrimaryCCPCH-RSCP-Delta CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP-Delta PRESENCE optional }|
+ { ID id-IdleIntervalConfigurationIndicator CRITICALITY ignore EXTENSION NULL PRESENCE optional },
+ ...
+}
+
+RadioLinkAdditionRequestTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Permanent-NAS-UE-Identity CRITICALITY ignore EXTENSION Permanent-NAS-UE-Identity PRESENCE optional}|
+ { ID id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD CRITICALITY notify EXTENSION UL-CCTrCH-InformationList-RL-AdditionRqstTDD PRESENCE optional}|
+ { ID id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD CRITICALITY notify EXTENSION DL-CCTrCH-InformationList-RL-AdditionRqstTDD PRESENCE optional}|
+ { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional}|
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional}|
+ { ID id-E-DCH-Information CRITICALITY reject EXTENSION E-DCH-Information PRESENCE optional}|
+ { ID id-E-DCH-Serving-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional}|
+ { ID id-E-DCH-768-Information CRITICALITY reject EXTENSION E-DCH-768-Information PRESENCE optional}|
+ { ID id-E-DCH-LCR-Information CRITICALITY reject EXTENSION E-DCH-LCR-Information PRESENCE optional}|
+ { ID id-ContinuousPacketConnectivity-DRX-InformationLCR CRITICALITY reject EXTENSION ContinuousPacketConnectivity-DRX-InformationLCR PRESENCE optional}|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-LCR CRITICALITY reject EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-LCR PRESENCE optional}|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-LCR CRITICALITY reject EXTENSION E-DCH-Semi-PersistentScheduling-Information-LCR PRESENCE optional}|
+ { ID id-DCH-MeasurementType-Indicator CRITICALITY reject EXTENSION DCH-MeasurementType-Indicator PRESENCE optional}|
+ { ID id-Multi-Carrier-EDCH-Setup CRITICALITY reject EXTENSION Multi-Carrier-EDCH-Info PRESENCE optional}|
+ { ID id-MU-MIMO-Indicator CRITICALITY reject EXTENSION MU-MIMO-Indicator PRESENCE optional}|
+ { ID id-UE-Support-of-non-rectangular-resource-allocation CRITICALITY ignore EXTENSION UE-Support-of-non-rectangular-resource-allocation PRESENCE optional},
+ ...
+}
+
+UL-CCTrCH-InformationList-RL-AdditionRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {UL-CCTrCH-InformationItemIEs-RL-AdditionRqstTDD} }
+
+UL-CCTrCH-InformationItemIEs-RL-AdditionRqstTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationItem-RL-AdditionRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationItem-RL-AdditionRqstTDD PRESENCE optional},
+ ...
+}
+
+UL-CCTrCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ uplinkStepSizeLCR TDD-TPC-UplinkStepSize-LCR OPTIONAL,
+ -- Applicable to 1.28Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationList-RL-AdditionRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {DL-CCTrCH-InformationItemIEs-RL-AdditionRqstTDD} }
+
+DL-CCTrCH-InformationItemIEs-RL-AdditionRqstTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationItem-RL-AdditionRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationItem-RL-AdditionRqstTDD PRESENCE optional},
+ ...
+}
+
+DL-CCTrCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ downlinkStepSize TDD-TPC-DownlinkStepSize OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION RESPONSE FDD
+--
+-- **************************************************************
+
+RadioLinkAdditionResponseFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionResponseFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionResponseFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionResponseFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseList-RL-AdditionRspFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-AdditionRspFDD PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RL-InformationResponseList-RL-AdditionRspFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container { {RL-InformationResponseItemIEs-RL-AdditionRspFDD} }
+
+RL-InformationResponseItemIEs-RL-AdditionRspFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseItem-RL-AdditionRspFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-AdditionRspFDD PRESENCE mandatory }
+}
+
+RL-InformationResponseItem-RL-AdditionRspFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Set-ID RL-Set-ID,
+ uRA-Information URA-Information OPTIONAL,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ received-total-wide-band-power Received-total-wide-band-power,
+ not-Used-secondary-CCPCH-Info NULL OPTIONAL,
+ dl-CodeInformation DL-CodeInformationList-RL-AdditionRspFDD,
+ diversityIndication DiversityIndication-RL-AdditionRspFDD,
+
+ sSDT-SupportIndicator SSDT-SupportIndicator,
+ minUL-SIR UL-SIR,
+ maxUL-SIR UL-SIR,
+ closedlooptimingadjustmentmode Closedlooptimingadjustmentmode OPTIONAL,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ pC-Preamble PC-Preamble,
+ sRB-Delay SRB-Delay,
+ primaryCPICH-Power PrimaryCPICH-Power,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponseItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseItem-RL-AdditionRspFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional }|
+ { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional }|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional }|
+ { ID id-Active-MBMS-Bearer-ServiceFDD-PFL CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListFDD-PFL PRESENCE optional }|
+ { ID id-EDCH-RLSet-Id CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-EDCH-FDD-DL-ControlChannelInformation CRITICALITY ignore EXTENSION EDCH-FDD-DL-ControlChannelInformation PRESENCE optional }|
+ { ID id-Initial-DL-DPCH-TimingAdjustment CRITICALITY ignore EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY ignore EXTENSION F-DPCH-SlotFormat PRESENCE optional }|
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional }|
+ { ID id-Non-Serving-RL-Preconfig-Info CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Info PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional }|
+ { ID id-FTPICH-Information-Response CRITICALITY ignore EXTENSION FTPICH-Information-Response PRESENCE optional },
+ ...
+}
+
+DL-CodeInformationList-RL-AdditionRspFDD ::= ProtocolIE-Single-Container {{ DL-CodeInformationListIEs-RL-AdditionRspFDD }}
+
+DL-CodeInformationListIEs-RL-AdditionRspFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-FDD-DL-CodeInformation CRITICALITY ignore TYPE FDD-DL-CodeInformation PRESENCE mandatory }
+}
+
+DiversityIndication-RL-AdditionRspFDD ::= CHOICE {
+ combining Combining-RL-AdditionRspFDD,
+ nonCombining NonCombining-RL-AdditionRspFDD
+}
+
+Combining-RL-AdditionRspFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CombiningItem-RL-AdditionRspFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore EXTENSION DCH-InformationResponse PRESENCE optional }|
+ { ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional },
+ ...
+}
+
+NonCombining-RL-AdditionRspFDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { NonCombiningItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NonCombiningItem-RL-AdditionRspFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional },
+ ...
+}
+
+RadioLinkAdditionResponseFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HS-DSCH-serving-cell-change-informationResponse CRITICALITY ignore EXTENSION HS-DSCH-serving-cell-change-informationResponse PRESENCE optional}|
+ { ID id-E-DCH-Serving-cell-change-informationResponse CRITICALITY ignore EXTENSION E-DCH-Serving-cell-change-informationResponse PRESENCE optional}|
+ { ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional}|
+ { ID id-Additional-HS-Cell-Change-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Change-Information-Response-List PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-Response-RLAdd CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-RLAddList PRESENCE optional },
+ ...
+}
+
+Additional-HS-Cell-Change-Information-Response-List ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Change-Information-Response-ItemIEs
+
+
+
+Additional-HS-Cell-Change-Information-Response-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ hSDSCH-RNTI HSDSCH-RNTI,
+ hS-DSCH-Secondary-Serving-Cell-Change-Information-Response HS-DSCH-Secondary-Serving-Cell-Change-Information-Response,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Change-Information-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Change-Information-Response-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION RESPONSE TDD
+--
+-- **************************************************************
+
+RadioLinkAdditionResponseTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionResponseTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionResponseTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionResponseTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponse-RL-AdditionRspTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-AdditionRspTDD PRESENCE optional } |
+ --Mandatory for 3.84Mcps TDD only
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RL-InformationResponse-RL-AdditionRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ uRA-Information URA-Information OPTIONAL,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ ul-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
+ minUL-SIR UL-SIR,
+ maxUL-SIR UL-SIR,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ pCCPCH-Power PCCPCH-Power,
+ timingAdvanceApplied TimingAdvanceApplied,
+ alphaValue AlphaValue,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ synchronisationConfiguration SynchronisationConfiguration,
+ secondary-CCPCH-Info-TDD Secondary-CCPCH-Info-TDD OPTIONAL,
+ ul-CCTrCHInformation UL-CCTrCHInformationList-RL-AdditionRspTDD OPTIONAL,
+ dl-CCTrCHInformation DL-CCTrCHInformationList-RL-AdditionRspTDD OPTIONAL,
+ dCH-Information DCH-Information-RL-AdditionRspTDD OPTIONAL,
+ dSCH-InformationResponse DSCH-InformationResponse-RL-AdditionRspTDD OPTIONAL,
+ uSCH-InformationResponse USCH-InformationResponse-RL-AdditionRspTDD OPTIONAL,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponse-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponse-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional }|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional }|
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional },
+ ...
+}
+
+UL-CCTrCHInformationList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{UL-CCTrCHInformationListIEs-RL-AdditionRspTDD}}
+
+UL-CCTrCHInformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationListIE-RL-AdditionRspTDD CRITICALITY ignore TYPE UL-CCTrCHInformationListIE-RL-AdditionRspTDD PRESENCE mandatory}
+}
+
+UL-CCTrCHInformationListIE-RL-AdditionRspTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCHInformationItem-RL-AdditionRspTDD
+
+UL-CCTrCHInformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ ul-DPCH-Information UL-DPCH-InformationList-RL-AdditionRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCHInformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCHInformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container { {UL-DPCH-InformationListIEs-RL-AdditionRspTDD} }
+
+UL-DPCH-InformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationItem-RL-AdditionRspTDD CRITICALITY ignore TYPE UL-DPCH-InformationItem-RL-AdditionRspTDD PRESENCE mandatory}
+}
+
+UL-DPCH-InformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information UL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-InformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCHInformationList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{DL-CCTrCHInformationListIEs-RL-AdditionRspTDD}}
+
+DL-CCTrCHInformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationListIE-RL-AdditionRspTDD CRITICALITY ignore TYPE DL-CCTrCHInformationListIE-RL-AdditionRspTDD PRESENCE mandatory }
+}
+
+DL-CCTrCHInformationListIE-RL-AdditionRspTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCHInformationItem-RL-AdditionRspTDD
+
+DL-CCTrCHInformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-DPCH-Information DL-DPCH-InformationList-RL-AdditionRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCHInformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCHInformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CCTrCH-Maximum-DL-Power-RL-AdditionRspTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional}| -- this is a DCH type CCTrCH power
+ { ID id-CCTrCH-Minimum-DL-Power-RL-AdditionRspTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional}, -- this is a DCH type CCTrCH power
+ ...
+}
+
+DL-DPCH-InformationList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container { {DL-DPCH-InformationListIEs-RL-AdditionRspTDD} }
+
+DL-DPCH-InformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationItem-RL-AdditionRspTDD CRITICALITY ignore TYPE DL-DPCH-InformationItem-RL-AdditionRspTDD PRESENCE mandatory}
+}
+
+DL-DPCH-InformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information DL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-Information-RL-AdditionRspTDD ::= SEQUENCE {
+ diversityIndication DiversityIndication-RL-AdditionRspTDD,
+
+ iE-Extensions ProtocolExtensionContainer { { DCH-Information-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-Information-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DiversityIndication-RL-AdditionRspTDD ::= CHOICE {
+ combining Combining-RL-AdditionRspTDD,
+ nonCombining NonCombining-RL-AdditionRspTDD
+}
+
+Combining-RL-AdditionRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CombiningItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore EXTENSION DCH-InformationResponse PRESENCE optional },
+ ...
+}
+
+NonCombining-RL-AdditionRspTDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { NonCombiningItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NonCombiningItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DSCH-InformationResponse-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{DSCH-InformationListIEs-RL-AdditionRspTDD}}
+
+DSCH-InformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DSCH-InformationListIE-RL-AdditionRspTDD CRITICALITY ignore TYPE DSCH-InformationListIE-RL-AdditionRspTDD PRESENCE mandatory }
+}
+
+DSCH-InformationListIE-RL-AdditionRspTDD ::= SEQUENCE (SIZE(0..maxNoOfDSCHs)) OF DSCHInformationItem-RL-AdditionRspTDD
+
+DSCHInformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ dsch-ID DSCH-ID,
+ transportFormatManagement TransportFormatManagement,
+ dSCH-FlowControlInformation DSCH-FlowControlInformation,
+ diversityIndication DiversityIndication-RL-AdditionRspTDD2 OPTIONAL,
+ -- diversityIndication present, if CHOICE = nonCombining
+ iE-Extensions ProtocolExtensionContainer { {DSCHInformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCHInformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DiversityIndication-RL-AdditionRspTDD2 ::= SEQUENCE {
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DiversityIndication-RL-AdditionRspTDD2-ExtIEs} } OPTIONAL,
+ ...
+}
+DiversityIndication-RL-AdditionRspTDD2-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+USCH-InformationResponse-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{USCH-InformationListIEs-RL-AdditionRspTDD}}
+
+USCH-InformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-USCH-InformationListIE-RL-AdditionRspTDD CRITICALITY ignore TYPE USCH-InformationListIE-RL-AdditionRspTDD PRESENCE mandatory }
+}
+
+USCH-InformationListIE-RL-AdditionRspTDD ::= SEQUENCE (SIZE(0..maxNoOfUSCHs)) OF USCHInformationItem-RL-AdditionRspTDD
+
+USCHInformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ transportFormatManagement TransportFormatManagement,
+ diversityIndication DiversityIndication-RL-AdditionRspTDD2 OPTIONAL,
+ -- diversityIndication present, if CHOICE = nonCombining
+ iE-Extensions ProtocolExtensionContainer { {USCHInformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCHInformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkAdditionResponseTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RL-LCR-InformationResponse-RL-AdditionRspTDD CRITICALITY ignore EXTENSION RL-LCR-InformationResponse-RL-AdditionRspTDD PRESENCE optional}|
+ --Mandatory for 1.28Mcps TDD only
+ { ID id-Active-MBMS-Bearer-ServiceTDD-PFL CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListTDD-PFL PRESENCE optional}|
+ { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional}|
+ { ID id-DSCH-RNTI CRITICALITY ignore EXTENSION DSCH-RNTI PRESENCE optional}|
+ { ID id-RL-InformationResponse-RL-AdditionRspTDD768 CRITICALITY ignore EXTENSION RL-InformationResponse-RL-AdditionRspTDD768 PRESENCE optional}|
+ { ID id-E-DCH-Information-Response CRITICALITY ignore EXTENSION E-DCH-Information-Response PRESENCE optional}|
+ { ID id-E-DCH-768-Information-Response CRITICALITY ignore EXTENSION E-DCH-768-Information-Response PRESENCE optional}|
+ { ID id-E-DCH-LCR-Information-Response CRITICALITY ignore EXTENSION E-DCH-LCR-Information-Response PRESENCE optional}|
+ { ID id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-Information-ResponseLCR PRESENCE optional}|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION E-DCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-DCH-MeasurementOccasion-Information CRITICALITY reject EXTENSION DCH-MeasurementOccasion-Information PRESENCE optional}|
+ { ID id-Multi-Carrier-EDCH-Response CRITICALITY ignore EXTENSION Multi-Carrier-EDCH-Information-Response PRESENCE optional}|
+ { ID id-MU-MIMO-InformationLCR CRITICALITY reject EXTENSION MU-MIMO-InformationLCR PRESENCE optional}|
+ { ID id-Non-rectangular-resource-allocation-indicator CRITICALITY reject EXTENSION Non-rectangular-resource-allocation-indicator PRESENCE optional}|
+ { ID id-Non-rectangular-resource-timeslot-set CRITICALITY reject EXTENSION Non-rectangular-resource-timeslot-set PRESENCE optional},
+ ...
+}
+
+RL-LCR-InformationResponse-RL-AdditionRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ uRA-Information URA-Information,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ ul-TimeSlot-ISCP-LCR-Info UL-TimeSlot-ISCP-LCR-Info,
+ maxUL-SIR UL-SIR,
+ minUL-SIR UL-SIR,
+ pCCPCH-Power PCCPCH-Power,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ alphaValue AlphaValue,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ synchronisationConfiguration SynchronisationConfiguration,
+ secondary-LCR-CCPCH-Info-TDD Secondary-LCR-CCPCH-Info-TDD OPTIONAL,
+ ul-CCTrCH-LCR-Information UL-CCTrCH-LCR-InformationList-RL-AdditionRspTDD OPTIONAL,
+ dl-CCTrCH-LCR-Information DL-CCTrCH-LCR-InformationList-RL-AdditionRspTDD OPTIONAL,
+ dCH-InformationResponse DCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
+ dsch-LCR-InformationResponse DSCH-LCR-InformationResponse-RL-AdditionRspTDD OPTIONAL,
+ usch-LCR-InformationResponse USCH-LCR-InformationResponse-RL-AdditionRspTDD OPTIONAL,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-LCR-InformationResponseList-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-LCR-InformationResponseList-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional }|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional }|
+ { ID id-UL-TimingAdvanceCtrl-LCR CRITICALITY ignore EXTENSION UL-TimingAdvanceCtrl-LCR PRESENCE optional }|
+ --Mandatory for 1.28Mcps TDD only
+ { ID id-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-IdleIntervalInformation CRITICALITY ignore EXTENSION IdleIntervalInformation PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional },
+ ...
+}
+
+UL-CCTrCH-LCR-InformationList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{UL-CCTrCH-LCR-InformationListIEs-RL-AdditionRspTDD }}
+
+UL-CCTrCH-LCR-InformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD CRITICALITY ignore TYPE UL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD PRESENCE mandatory}
+}
+
+UL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHsLCR)) OF UL-CCTrCH-LCR-InformationItem-RL-AdditionRspTDD
+
+UL-CCTrCH-LCR-InformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ ul-DPCH-LCR-Information UL-DPCH-LCR-InformationList-RL-AdditionRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-LCR-InformationList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container { {UL-DPCH-LCR-InformationListIEs-RL-AdditionRspTDD} }
+
+UL-DPCH-LCR-InformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-LCR-InformationItem-RL-AdditionRspTDD CRITICALITY ignore TYPE UL-DPCH-LCR-InformationItem-RL-AdditionRspTDD PRESENCE mandatory}
+}
+
+UL-DPCH-LCR-InformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ uL-TimeslotLCR-Information UL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-LCR-InformationList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{DL-CCTrCH-LCR-InformationListIEs-RL-AdditionRspTDD}}
+
+DL-CCTrCH-LCR-InformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD CRITICALITY ignore TYPE DL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD PRESENCE mandatory}
+}
+
+DL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHsLCR)) OF DL-CCTrCH-LCR-InformationItem-RL-AdditionRspTDD
+
+DL-CCTrCH-LCR-InformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-DPCH-LCR-Information DL-DPCH-LCR-InformationList-RL-AdditionRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-LCR-InformationList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container { {DL-DPCH-LCR-InformationListIEs-RL-AdditionRspTDD} }
+
+DL-DPCH-LCR-InformationListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-LCR-InformationItem-RL-AdditionRspTDD CRITICALITY ignore TYPE DL-DPCH-LCR-InformationItem-RL-AdditionRspTDD PRESENCE mandatory}
+}
+
+DL-DPCH-LCR-InformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ dL-TimeslotLCR-Information DL-TimeslotLCR-Information,
+ tSTD-Indicator TSTD-Indicator,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-InformationResponseList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{DCH-InformationResponseListIEs-RL-AdditionRspTDD}}
+
+DCH-InformationResponseListIEs-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory}
+}
+
+DSCH-LCR-InformationResponse-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{DSCH-LCR-InformationList-RL-AdditionRspTDD}}
+
+DSCH-LCR-InformationList-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DSCH-LCR-InformationListIEs-RL-AdditionRspTDD CRITICALITY ignore TYPE DSCH-LCR-InformationListIEs-RL-AdditionRspTDD PRESENCE mandatory }
+}
+
+DSCH-LCR-InformationListIEs-RL-AdditionRspTDD ::= SEQUENCE (SIZE(0..maxNoOfDSCHsLCR)) OF DSCH-LCR-InformationItem-RL-AdditionRspTDD
+
+DSCH-LCR-InformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ dsch-ID DSCH-ID,
+ dSCH-FlowControlInformation DSCH-FlowControlInformation,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ transportFormatManagement TransportFormatManagement,
+ iE-Extensions ProtocolExtensionContainer { {DSCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+USCH-LCR-InformationResponse-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{USCH-LCR-InformationList-RL-AdditionRspTDD}}
+
+USCH-LCR-InformationList-RL-AdditionRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-USCH-LCR-InformationListIEs-RL-AdditionRspTDD CRITICALITY ignore TYPE USCH-LCR-InformationListIEs-RL-AdditionRspTDD PRESENCE mandatory }
+}
+
+USCH-LCR-InformationListIEs-RL-AdditionRspTDD ::= SEQUENCE (SIZE(0..maxNoOfUSCHsLCR)) OF USCH-LCR-InformationItem-RL-AdditionRspTDD
+
+USCH-LCR-InformationItem-RL-AdditionRspTDD ::= SEQUENCE {
+ usch-ID USCH-ID,
+ transportFormatManagement TransportFormatManagement,
+ diversityIndication DiversityIndication-RL-AdditionRspTDD2 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {USCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCH-LCR-InformationItem-RL-AdditionRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationResponse-RL-AdditionRspTDD768 ::= SEQUENCE {
+ rL-ID RL-ID,
+ uRA-Information URA-Information OPTIONAL,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ ul-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
+ minUL-SIR UL-SIR,
+ maxUL-SIR UL-SIR,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ pCCPCH-Power PCCPCH-Power,
+ timingAdvanceApplied TimingAdvanceApplied,
+ alphaValue AlphaValue,
+ ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
+ synchronisationConfiguration SynchronisationConfiguration,
+ secondary-CCPCH-Info-TDD768 Secondary-CCPCH-Info-TDD768 OPTIONAL,
+ ul-CCTrCHInformation768 UL-CCTrCHInformationList-RL-AdditionRspTDD768 OPTIONAL,
+ dl-CCTrCHInformation768 DL-CCTrCHInformationList-RL-AdditionRspTDD768 OPTIONAL,
+ dCH-Information DCH-Information-RL-AdditionRspTDD OPTIONAL,
+ dSCH-InformationResponse DSCH-InformationResponse-RL-AdditionRspTDD OPTIONAL,
+ uSCH-InformationResponse USCH-InformationResponse-RL-AdditionRspTDD OPTIONAL,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ gA-CellAdditionalShapes GA-CellAdditionalShapes OPTIONAL,
+ hCS-Prio HCS-Prio OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponse-RL-AdditionRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponse-RL-AdditionRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional },
+ ...
+}
+
+UL-CCTrCHInformationList-RL-AdditionRspTDD768 ::= ProtocolIE-Single-Container {{UL-CCTrCHInformationListIEs-RL-AdditionRspTDD768}}
+
+UL-CCTrCHInformationListIEs-RL-AdditionRspTDD768 RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationListIE-RL-AdditionRspTDD768 CRITICALITY ignore TYPE UL-CCTrCHInformationListIE-RL-AdditionRspTDD768 PRESENCE mandatory}
+}
+
+UL-CCTrCHInformationListIE-RL-AdditionRspTDD768 ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCHInformationItem-RL-AdditionRspTDD768
+
+UL-CCTrCHInformationItem-RL-AdditionRspTDD768 ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ ul-DPCH-Information768 UL-DPCH-InformationList-RL-AdditionRspTDD768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCHInformationItem-RL-AdditionRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCHInformationItem-RL-AdditionRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationList-RL-AdditionRspTDD768 ::= ProtocolIE-Single-Container { {UL-DPCH-InformationListIEs-RL-AdditionRspTDD768} }
+
+UL-DPCH-InformationListIEs-RL-AdditionRspTDD768 RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationItem-RL-AdditionRspTDD CRITICALITY ignore TYPE UL-DPCH-InformationItem-RL-AdditionRspTDD768 PRESENCE mandatory}
+}
+
+UL-DPCH-InformationItem-RL-AdditionRspTDD768 ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ uL-Timeslot-Information768 UL-Timeslot-Information768,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-InformationItem-RL-AdditionRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationItem-RL-AdditionRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCHInformationList-RL-AdditionRspTDD768 ::= ProtocolIE-Single-Container {{DL-CCTrCHInformationListIEs-RL-AdditionRspTDD768}}
+
+DL-CCTrCHInformationListIEs-RL-AdditionRspTDD768 RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationListIE-RL-AdditionRspTDD768 CRITICALITY ignore TYPE DL-CCTrCHInformationListIE-RL-AdditionRspTDD768 PRESENCE mandatory}
+}
+
+DL-CCTrCHInformationListIE-RL-AdditionRspTDD768 ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCHInformationItem-RL-AdditionRspTDD768
+
+DL-CCTrCHInformationItem-RL-AdditionRspTDD768 ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-DPCH-Information768 DL-DPCH-InformationList-RL-AdditionRspTDD768 OPTIONAL,
+ cCTrCH-Maximum-DL-Power DL-Power OPTIONAL,-- this is a DCH type CCTrCH power
+ cCTrCH-Minimum-DL-Power DL-Power OPTIONAL, -- this is a DCH type CCTrCH power
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCHInformationItem-RL-AdditionRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCHInformationItem-RL-AdditionRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationList-RL-AdditionRspTDD768 ::= ProtocolIE-Single-Container { {DL-DPCH-InformationListIEs-RL-AdditionRspTDD768} }
+
+DL-DPCH-InformationListIEs-RL-AdditionRspTDD768 RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationItem-RL-AdditionRspTDD768 CRITICALITY ignore TYPE DL-DPCH-InformationItem-RL-AdditionRspTDD768 PRESENCE mandatory}
+}
+
+DL-DPCH-InformationItem-RL-AdditionRspTDD768 ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information768 DL-Timeslot-Information768,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationItem-RL-AdditionRspTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationItem-RL-AdditionRspTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION FAILURE FDD
+--
+-- **************************************************************
+
+RadioLinkAdditionFailureFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionFailureFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionFailureFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionFailureFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-CauseLevel-RL-AdditionFailureFDD CRITICALITY ignore TYPE CauseLevel-RL-AdditionFailureFDD PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+CauseLevel-RL-AdditionFailureFDD ::= CHOICE {
+ generalCause GeneralCauseList-RL-AdditionFailureFDD,
+ rLSpecificCause RLSpecificCauseList-RL-AdditionFailureFDD,
+ ...
+}
+
+GeneralCauseList-RL-AdditionFailureFDD ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-RL-AdditionFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-AdditionFailureFDD ::= SEQUENCE {
+ unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD UnsuccessfulRL-InformationResponseList-RL-AdditionFailureFDD,
+ successful-RL-InformationRespList-RL-AdditionFailureFDD SuccessfulRL-InformationResponseList-RL-AdditionFailureFDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLSpecificCauseItem-RL-AdditionFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UnsuccessfulRL-InformationResponseList-RL-AdditionFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container { {UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD-IEs} }
+
+UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD CRITICALITY ignore TYPE UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD PRESENCE mandatory }
+}
+
+UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SuccessfulRL-InformationResponseList-RL-AdditionFailureFDD ::= SEQUENCE (SIZE (0..maxNrOfRLs-2)) OF ProtocolIE-Single-Container { {SuccessfulRL-InformationResponse-RL-AdditionFailureFDD-IEs} }
+
+SuccessfulRL-InformationResponse-RL-AdditionFailureFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-SuccessfulRL-InformationResponse-RL-AdditionFailureFDD CRITICALITY ignore TYPE SuccessfulRL-InformationResponse-RL-AdditionFailureFDD PRESENCE mandatory }
+}
+
+SuccessfulRL-InformationResponse-RL-AdditionFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Set-ID RL-Set-ID,
+ uRA-Information URA-Information OPTIONAL,
+ sAI SAI,
+ gA-Cell GA-Cell OPTIONAL,
+ gA-AccessPointPosition GA-AccessPointPosition OPTIONAL,
+ received-total-wide-band-power Received-total-wide-band-power,
+ not-Used-secondary-CCPCH-Info NULL OPTIONAL,
+ dl-CodeInformation DL-CodeInformationList-RL-AdditionFailureFDD,
+ diversityIndication DiversityIndication-RL-AdditionFailureFDD,
+ -- This IE represents both the Diversity Indication IE and the choice based on the diversity indication as described in
+ -- the tabular message format in subclause 9.1.
+ sSDT-SupportIndicator SSDT-SupportIndicator,
+ minUL-SIR UL-SIR,
+ maxUL-SIR UL-SIR,
+ closedlooptimingadjustmentmode Closedlooptimingadjustmentmode OPTIONAL,
+ maximumAllowedULTxPower MaximumAllowedULTxPower,
+ maximumDLTxPower DL-Power,
+ minimumDLTxPower DL-Power,
+ neighbouring-UMTS-CellInformation Neighbouring-UMTS-CellInformation OPTIONAL,
+ neighbouring-GSM-CellInformation Neighbouring-GSM-CellInformation OPTIONAL,
+ primaryCPICH-Power PrimaryCPICH-Power,
+ pC-Preamble PC-Preamble,
+ sRB-Delay SRB-Delay,
+ iE-Extensions ProtocolExtensionContainer { {SuccessfulRL-InformationResponse-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SuccessfulRL-InformationResponse-RL-AdditionFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional }|
+ { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional }|
+ { ID id-HCS-Prio CRITICALITY ignore EXTENSION HCS-Prio PRESENCE optional }|
+ { ID id-Active-MBMS-Bearer-ServiceFDD-PFL CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListFDD-PFL PRESENCE optional }|
+ { ID id-EDCH-RLSet-Id CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-EDCH-FDD-DL-ControlChannelInformation CRITICALITY ignore EXTENSION EDCH-FDD-DL-ControlChannelInformation PRESENCE optional }|
+ { ID id-Initial-DL-DPCH-TimingAdjustment CRITICALITY ignore EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
+ { ID id-Neighbouring-E-UTRA-CellInformation CRITICALITY ignore EXTENSION Neighbouring-E-UTRA-CellInformation PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY ignore EXTENSION F-DPCH-SlotFormat PRESENCE optional }|
+ { ID id-Non-Serving-RL-Preconfig-Info CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Info PRESENCE optional }|
+ { ID id-Neighbouring-UMTS-CellInformation-Ext CRITICALITY ignore EXTENSION Neighbouring-UMTS-CellInformation-Ext PRESENCE optional },
+ ...
+}
+
+DL-CodeInformationList-RL-AdditionFailureFDD ::= ProtocolIE-Single-Container {{ DL-CodeInformationListIEs-RL-AdditionFailureFDD }}
+
+DL-CodeInformationListIEs-RL-AdditionFailureFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-FDD-DL-CodeInformation CRITICALITY ignore TYPE FDD-DL-CodeInformation PRESENCE mandatory }
+}
+
+DiversityIndication-RL-AdditionFailureFDD ::= CHOICE {
+ combining Combining-RL-AdditionFailureFDD,
+ nonCombining NonCombining-RL-AdditionFailureFDD
+}
+
+Combining-RL-AdditionFailureFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CombiningItem-RL-AdditionFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore EXTENSION DCH-InformationResponse PRESENCE optional }|
+ { ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional },
+ ...
+}
+
+NonCombining-RL-AdditionFailureFDD ::= SEQUENCE {
+ dCH-InformationResponse DCH-InformationResponse,
+ iE-Extensions ProtocolExtensionContainer { { NonCombiningItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NonCombiningItem-RL-AdditionFailureFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional },
+ ...
+}
+
+RadioLinkAdditionFailureFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HS-DSCH-serving-cell-change-informationResponse CRITICALITY ignore EXTENSION HS-DSCH-serving-cell-change-informationResponse PRESENCE optional}|
+ { ID id-E-DCH-Serving-cell-change-informationResponse CRITICALITY ignore EXTENSION E-DCH-Serving-cell-change-informationResponse PRESENCE optional}|
+ { ID id-Additional-HS-Cell-Change-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Change-Information-Response-List PRESENCE optional}|
+ { ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-Response-RLAdd CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-RLAddList PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ADDITION FAILURE TDD
+--
+-- **************************************************************
+
+RadioLinkAdditionFailureTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkAdditionFailureTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionFailureTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkAdditionFailureTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-CauseLevel-RL-AdditionFailureTDD CRITICALITY ignore TYPE CauseLevel-RL-AdditionFailureTDD PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CauseLevel-RL-AdditionFailureTDD ::= CHOICE {
+ generalCause GeneralCauseList-RL-AdditionFailureTDD,
+ rLSpecificCause RLSpecificCauseList-RL-AdditionFailureTDD,
+ ...
+}
+
+GeneralCauseList-RL-AdditionFailureTDD ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GeneralCauseItem-RL-AdditionFailureTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-AdditionFailureTDD ::= SEQUENCE {
+ unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD Unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLSpecificCauseItem-RL-AdditionFailureTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD ::= ProtocolIE-Single-Container { {Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureTDD} }
+
+Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UnsuccessfulRL-InformationResponse-RL-AdditionFailureTDD CRITICALITY ignore TYPE UnsuccessfulRL-InformationResponse-RL-AdditionFailureTDD PRESENCE mandatory}
+}
+
+UnsuccessfulRL-InformationResponse-RL-AdditionFailureTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {UnsuccessfulRL-InformationResponse-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UnsuccessfulRL-InformationResponse-RL-AdditionFailureTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkAdditionFailureTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK DELETION REQUEST
+--
+-- **************************************************************
+
+RadioLinkDeletionRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkDeletionRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkDeletionRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkDeletionRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationList-RL-DeletionRqst CRITICALITY notify TYPE RL-InformationList-RL-DeletionRqst PRESENCE mandatory },
+ ...
+}
+
+RL-InformationList-RL-DeletionRqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-Information-RL-DeletionRqst-IEs} }
+
+RL-Information-RL-DeletionRqst-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Information-RL-DeletionRqst CRITICALITY notify TYPE RL-Information-RL-DeletionRqst PRESENCE mandatory }
+}
+
+RL-Information-RL-DeletionRqst ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-RL-DeletionRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-DeletionRqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkDeletionRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK DELETION RESPONSE
+--
+-- **************************************************************
+
+RadioLinkDeletionResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkDeletionResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkDeletionResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkDeletionResponse-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RadioLinkDeletionResponse-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION PREPARE FDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationPrepareFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationPrepareFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationPrepareFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationPrepareFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-AllowedQueuingTime CRITICALITY reject TYPE AllowedQueuingTime PRESENCE optional } |
+ { ID id-UL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
+ { ID id-DL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
+ { ID id-FDD-DCHs-to-Modify CRITICALITY reject TYPE FDD-DCHs-to-Modify PRESENCE optional } |
+ { ID id-DCHs-to-Add-FDD CRITICALITY reject TYPE DCH-FDD-Information PRESENCE optional } |
+ { ID id-DCH-DeleteList-RL-ReconfPrepFDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfPrepFDD PRESENCE optional } |
+ { ID id-RL-InformationList-RL-ReconfPrepFDD CRITICALITY reject TYPE RL-InformationList-RL-ReconfPrepFDD PRESENCE optional }|
+ { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional },
+ ...
+}
+
+UL-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ ul-ScramblingCode UL-ScramblingCode OPTIONAL,
+ ul-SIRTarget UL-SIR OPTIONAL,
+ minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength OPTIONAL,
+ maxNrOfUL-DPDCHs MaxNrOfUL-DPCHs OPTIONAL
+ -- This IE shall be present if minUL-ChannelisationCodeLength equals to 4 --,
+ ul-PunctureLimit PunctureLimit OPTIONAL,
+ tFCS TFCS OPTIONAL,
+ ul-DPCCH-SlotFormat UL-DPCCH-SlotFormat OPTIONAL,
+ diversityMode DiversityMode OPTIONAL,
+ not-Used-sSDT-CellIDLength NULL OPTIONAL,
+ not-Used-s-FieldLength NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPDCHIndicatorEDCH CRITICALITY reject EXTENSION UL-DPDCHIndicatorEDCH PRESENCE optional },
+ ...
+}
+
+DL-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ tFCS TFCS OPTIONAL,
+ dl-DPCH-SlotFormat DL-DPCH-SlotFormat OPTIONAL,
+ nrOfDLchannelisationcodes NrOfDLchannelisationcodes OPTIONAL,
+ tFCI-SignallingMode TFCI-SignallingMode OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL
+ -- This IE shall be present if DL DPCH Slot Format IE is from 12 to 16 --,
+ multiplexingPosition MultiplexingPosition OPTIONAL,
+ limitedPowerIncrease LimitedPowerIncrease OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-Power-Information-RL-ReconfPrepFDD CRITICALITY reject EXTENSION DL-DPCH-Power-Information-RL-ReconfPrepFDD PRESENCE optional },
+ ...
+}
+
+DL-DPCH-Power-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ powerOffsetInformation PowerOffsetInformation-RL-ReconfPrepFDD,
+ fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Power-Information-RL-ReconfPrepFDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+DL-DPCH-Power-Information-RL-ReconfPrepFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PowerOffsetInformation-RL-ReconfPrepFDD ::= SEQUENCE {
+ pO1-ForTFCI-Bits PowerOffset,
+ pO2-ForTPC-Bits PowerOffset,
+ pO3-ForPilotBits PowerOffset,
+ iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PowerOffsetInformation-RL-ReconfPrepFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-DeleteList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (0..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfPrepFDD
+
+DCH-DeleteItem-RL-ReconfPrepFDD ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {DCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (0..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-Information-RL-ReconfPrepFDD-IEs} }
+
+RL-Information-RL-ReconfPrepFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Information-RL-ReconfPrepFDD CRITICALITY reject TYPE RL-Information-RL-ReconfPrepFDD PRESENCE mandatory }
+}
+
+RL-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ not-Used-sSDT-Indication NULL OPTIONAL,
+ not-Used-sSDT-CellIdentity NULL OPTIONAL,
+ transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
+ -- This IE shall be present if Diversity Mode IE is present in UL DPCH Information IE and is not equal to “none”
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-ReconfPrepFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional}|
+ { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional}|
+ { ID id-DL-DPCH-TimingAdjustment CRITICALITY reject EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional}|
+ { ID id-Phase-Reference-Update-Indicator CRITICALITY ignore EXTENSION Phase-Reference-Update-Indicator PRESENCE optional}|
+ { ID id-RL-Specific-EDCH-Information CRITICALITY reject EXTENSION RL-Specific-EDCH-Information PRESENCE optional}|
+ { ID id-EDCH-RL-Indication CRITICALITY reject EXTENSION EDCH-RL-Indication PRESENCE optional}|
+ { ID id-HSDSCH-PreconfigurationSetup CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationSetup PRESENCE optional}|
+ { ID id-Non-Serving-RL-Preconfig-Setup CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Setup PRESENCE optional}|
+ { ID id-Non-Serving-RL-Preconfig-Removal CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Setup PRESENCE optional}|
+ { ID id-FTPICH-Information-Reconf CRITICALITY ignore EXTENSION FTPICH-Information-Reconf PRESENCE optional}|
+ { ID id-TPC-slot-position CRITICALITY ignore EXTENSION TPC-slot-position PRESENCE optional},
+ ...
+}
+
+RadioLinkReconfigurationPrepareFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional}|
+ { ID id-HSDSCH-Information-to-Modify CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify PRESENCE optional}|
+ { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional}|
+ { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional}|
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional}|
+ { ID id-EDPCH-Information CRITICALITY reject EXTENSION EDPCH-Information-RLReconfPrepare-FDD PRESENCE optional}|
+ { ID id-EDCH-FDD-Information CRITICALITY reject EXTENSION EDCH-FDD-Information PRESENCE optional}|
+ { ID id-EDCH-FDD-Information-To-Modify CRITICALITY reject EXTENSION EDCH-FDD-Information-To-Modify PRESENCE optional}|
+ { ID id-EDCH-MACdFlows-To-Add CRITICALITY reject EXTENSION EDCH-MACdFlows-Information PRESENCE optional}|
+ { ID id-EDCH-MACdFlows-To-Delete CRITICALITY reject EXTENSION EDCH-MACdFlows-To-Delete PRESENCE optional}|
+ { ID id-Serving-EDCHRL-Id CRITICALITY reject EXTENSION EDCH-Serving-RL PRESENCE optional}|
+ { ID id-F-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject EXTENSION F-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional}|
+ { ID id-Fast-Reconfiguration-Mode CRITICALITY ignore EXTENSION Fast-Reconfiguration-Mode PRESENCE optional}|
+ { ID id-CPC-Information CRITICALITY reject EXTENSION CPC-Information PRESENCE optional}|
+ { ID id-Additional-HS-Cell-Information-RL-Reconf-Prep CRITICALITY reject EXTENSION Additional-HS-Cell-Information-RL-Reconf-Prep PRESENCE optional}|
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-RL-Reconf-Prep CRITICALITY reject EXTENSION Additional-EDCH-Cell-Information-RL-Reconf-Prep PRESENCE optional}|
+ { ID id-UL-CLTD-Information-Reconf CRITICALITY reject EXTENSION UL-CLTD-Information-Reconf PRESENCE optional}|
+ { ID id-E-DCH-Decoupling-Indication CRITICALITY reject EXTENSION E-DCH-Decoupling-Indication PRESENCE optional}|
+ { ID id-DCH-ENH-Information-Reconf CRITICALITY reject EXTENSION DCH-ENH-Information-Reconf PRESENCE optional}|
+ { ID id-Radio-Links-without-DPCH-FDPCH-Indication CRITICALITY reject EXTENSION Radio-Links-without-DPCH-FDPCH-Indication PRESENCE optional}|
+ { ID id-UL-DPCCH2-Information-Reconf CRITICALITY reject EXTENSION UL-DPCCH2-Information-Reconf PRESENCE optional}|
+ { ID id-Downlink-TPC-enhancements-Reconf CRITICALITY reject EXTENSION Downlink-TPC-enhancements-Reconf PRESENCE optional}|
+ { ID id-Improved-Synchronized-Indicator CRITICALITY reject EXTENSION Improved-Synchronized-Indicator PRESENCE optional},
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Reconf-Prep ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Reconf-Prep-ItemIEs
+
+Additional-HS-Cell-Information-RL-Reconf-Prep-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ c-ID C-ID OPTIONAL,
+ hS-DSCH-FDD-Secondary-Serving-Information HS-DSCH-FDD-Secondary-Serving-Information OPTIONAL,
+ hS-DSCH-Secondary-Serving-Information-To-Modify HS-DSCH-Secondary-Serving-Information-To-Modify OPTIONAL,
+ hS-HS-DSCH-Secondary-Serving-Remove HS-DSCH-Secondary-Serving-Remove OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Reconf-Prep-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Reconf-Prep-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Reconf-Prep ::=SEQUENCE{
+ setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency Setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-RL-Reconf-Prep-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Reconf-Prep-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+F-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
+ powerOffsetInformation PowerOffsetInformation-F-DPCH-RL-ReconfPrepFDD,
+ fdd-dl-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
+ limitedPowerIncrease LimitedPowerIncrease,
+ innerLoopDLPCStatus InnerLoopDLPCStatus,
+ iE-Extensions ProtocolExtensionContainer { { F-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+F-DPCH-Information-RL-ReconfPrepFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-F-DPCH-SlotFormatSupportRequest CRITICALITY reject EXTENSION F-DPCH-SlotFormatSupportRequest PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY ignore EXTENSION F-DPCH-SlotFormat PRESENCE optional},
+ ...
+}
+
+PowerOffsetInformation-F-DPCH-RL-ReconfPrepFDD ::= SEQUENCE {
+ po2-ForTPC-Bits PowerOffset,
+ --This IE shall be ignored by DRNS
+ iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-F-DPCH-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PowerOffsetInformation-F-DPCH-RL-ReconfPrepFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION PREPARE TDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationPrepareTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationPrepareTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationPrepareTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationPrepareTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-AllowedQueuingTime CRITICALITY reject TYPE AllowedQueuingTime PRESENCE optional } |
+ { ID id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD CRITICALITY notify TYPE UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional } |
+ { ID id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD CRITICALITY notify TYPE UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional } |
+ { ID id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD CRITICALITY notify TYPE UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD PRESENCE optional } |
+ { ID id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD CRITICALITY notify TYPE DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional } |
+ { ID id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional } |
+ { ID id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD PRESENCE optional } |
+ { ID id-TDD-DCHs-to-Modify CRITICALITY reject TYPE TDD-DCHs-to-Modify PRESENCE optional } |
+ { ID id-DCHs-to-Add-TDD CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional } |
+ { ID id-DCH-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
+ { ID id-DSCH-ModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE DSCH-ModifyList-RL-ReconfPrepTDD PRESENCE optional } |
+ { ID id-DSCHs-to-Add-TDD CRITICALITY reject TYPE DSCH-TDD-Information PRESENCE optional } |
+ { ID id-DSCH-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DSCH-DeleteList-RL-ReconfPrepTDD PRESENCE optional } |
+ { ID id-USCH-ModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE USCH-ModifyList-RL-ReconfPrepTDD PRESENCE optional } |
+ { ID id-USCHs-to-Add CRITICALITY reject TYPE USCH-Information PRESENCE optional } |
+ { ID id-USCH-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE USCH-DeleteList-RL-ReconfPrepTDD PRESENCE optional },
+ ...
+}
+
+UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {UL-CCTrCH-AddInformation-RL-ReconfPrepTDD-IEs} }
+
+UL-CCTrCH-AddInformation-RL-ReconfPrepTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-AddInformation-RL-ReconfPrepTDD CRITICALITY notify TYPE UL-CCTrCH-AddInformation-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+UL-CCTrCH-AddInformation-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ punctureLimit PunctureLimit,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-AddInformation-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-AddInformation-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional}|
+ -- This IE shall be mandatory for 1.28Mcps TDD, not applicable for 3.84Mcps TDD or 7.68Mcps TDD.
+{ ID id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional },
+ -- Mandatory for 1.28Mcps TDD, not applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ ...
+}
+
+UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD-IEs} }
+
+UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD CRITICALITY notify TYPE UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS OPTIONAL,
+ tFCI-Coding TFCI-Coding OPTIONAL,
+ punctureLimit PunctureLimit OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional}|
+ -- This IE shall be applicable for 1.28Mcps TDD only.
+{ ID id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD-IEs} }
+
+UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD CRITICALITY notify TYPE UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {DL-CCTrCH-AddInformation-RL-ReconfPrepTDD-IEs} }
+
+DL-CCTrCH-AddInformation-RL-ReconfPrepTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD CRITICALITY notify TYPE DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS,
+ tFCI-Coding TFCI-Coding,
+ punctureLimit PunctureLimit,
+ cCTrCH-TPCList CCTrCH-TPCAddList-RL-ReconfPrepTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional },
+ ...
+}
+
+CCTrCH-TPCAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCAddItem-RL-ReconfPrepTDD
+
+CCTrCH-TPCAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CCTrCH-TPCAddItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {DL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD-IEs} }
+
+DL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS OPTIONAL,
+ tFCI-Coding TFCI-Coding OPTIONAL,
+ punctureLimit PunctureLimit OPTIONAL,
+ cCTrCH-TPCList CCTrCH-TPCModifyList-RL-ReconfPrepTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional},
+ ...
+}
+
+CCTrCH-TPCModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCModifyItem-RL-ReconfPrepTDD
+
+CCTrCH-TPCModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CCTrCH-TPCModifyItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {DL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD-IEs} }
+
+DL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD PRESENCE mandatory }
+}
+
+DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfPrepTDD
+
+DCH-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {DCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DSCH-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE(0..maxNoOfDSCHs)) OF DSCH-ModifyItem-RL-ReconfPrepTDD
+
+DSCH-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dSCH-ID DSCH-ID,
+ dl-ccTrCHID CCTrCH-ID OPTIONAL,
+ trChSourceStatisticsDescriptor TrCH-SrcStatisticsDescr OPTIONAL,
+ transportFormatSet TransportFormatSet OPTIONAL,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
+ bLER BLER OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ iE-Extensions ProtocolExtensionContainer { {DSCH-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCH-ModifyItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE optional }|
+ { ID id-BindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ -- Shall be ignored if bearer establishment with ALCAP.
+ ...
+}
+
+DSCH-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE(0..maxNoOfDSCHs)) OF DSCH-DeleteItem-RL-ReconfPrepTDD
+
+DSCH-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ dSCH-ID DSCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {DSCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+USCH-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE(0..maxNoOfUSCHs)) OF USCH-ModifyItem-RL-ReconfPrepTDD
+
+USCH-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ ul-ccTrCHID CCTrCH-ID OPTIONAL,
+ trChSourceStatisticsDescriptor TrCH-SrcStatisticsDescr OPTIONAL,
+ transportFormatSet TransportFormatSet OPTIONAL,
+ allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
+ schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
+ bLER BLER OPTIONAL,
+ transportBearerRequestIndicator TransportBearerRequestIndicator,
+ rb-Info RB-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {USCH-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCH-ModifyItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TrafficClass CRITICALITY ignore EXTENSION TrafficClass PRESENCE optional }|
+ { ID id-BindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
+ ...
+}
+
+USCH-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE(0..maxNoOfUSCHs)) OF USCH-DeleteItem-RL-ReconfPrepTDD
+
+USCH-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {USCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkReconfigurationPrepareTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PrimaryCCPCH-RSCP-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP PRESENCE optional}|
+ { ID id-DL-TimeSlot-ISCP-Info-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-TimeSlot-ISCP-Info PRESENCE optional}|
+ { ID id-DL-Timeslot-ISCP-LCR-Information-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-TimeSlot-ISCP-LCR-Information PRESENCE optional}|
+ { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional}|
+ { ID id-HSDSCH-Information-to-Modify CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify PRESENCE optional}|
+ { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional}|
+ { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional}|
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional}|
+ { ID id-PDSCH-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional}|
+ { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional}|
+-- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-RL-Information-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION RL-Information-RL-ReconfPrepTDD PRESENCE optional}|
+ { ID id-PrimaryCCPCH-RSCP-Delta CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP-Delta PRESENCE optional}|
+ { ID id-E-DCH-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-Information-Reconfig PRESENCE optional}|
+ { ID id-E-DCH-Serving-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional}|
+ { ID id-E-DCH-768-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-768-Information-Reconfig PRESENCE optional}|
+ { ID id-E-DCH-LCR-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-LCR-Information-Reconfig PRESENCE optional}|
+ { ID id-NeedforIdleInterval CRITICALITY ignore EXTENSION NeedforIdleInterval PRESENCE optional}|
+ { ID id-CPC-InformationLCR CRITICALITY reject EXTENSION CPC-InformationLCR PRESENCE optional}|
+ { ID id-RNTI-Allocation-Indicator CRITICALITY ignore EXTENSION RNTI-Allocation-Indicator PRESENCE optional}|
+ { ID id-DCH-MeasurementType-Indicator CRITICALITY reject EXTENSION DCH-MeasurementType-Indicator PRESENCE optional}|
+ { ID id-Multi-Carrier-EDCH-Reconfigure CRITICALITY reject EXTENSION Multi-Carrier-EDCH-Reconfigure PRESENCE optional}|
+ { ID id-MU-MIMO-Indicator CRITICALITY reject EXTENSION MU-MIMO-Indicator PRESENCE optional}|
+ { ID id-UE-Support-of-non-rectangular-resource-allocation CRITICALITY ignore EXTENSION UE-Support-of-non-rectangular-resource-allocation PRESENCE optional},
+ ...
+}
+
+
+RL-Information-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF RL-InformationIE-RL-ReconfPrepTDD
+
+RL-InformationIE-RL-ReconfPrepTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Specific-DCH-Info RL-Specific-DCH-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-InformationIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationIE-RL-ReconfPrepTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION READY FDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationReadyFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationReadyFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationReadyFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationReadyFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseList-RL-ReconfReadyFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-ReconfReadyFDD PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RL-InformationResponseList-RL-ReconfReadyFDD ::= SEQUENCE (SIZE (0..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-InformationResponse-RL-ReconfReadyFDD-IEs} }
+
+RL-InformationResponse-RL-ReconfReadyFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseItem-RL-ReconfReadyFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-ReconfReadyFDD PRESENCE mandatory }
+}
+
+RL-InformationResponseItem-RL-ReconfReadyFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ max-UL-SIR UL-SIR OPTIONAL,
+ min-UL-SIR UL-SIR OPTIONAL,
+ maximumDLTxPower DL-Power OPTIONAL,
+ minimumDLTxPower DL-Power OPTIONAL,
+ not-Used-secondary-CCPCH-Info NULL OPTIONAL,
+ dl-CodeInformationList DL-CodeInformationList-RL-ReconfReadyFDD OPTIONAL,
+ dCHInformationResponse DCH-InformationResponseList-RL-ReconfReadyFDD OPTIONAL,
+ not-Used-dSCHsToBeAddedOrModified NULL OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponseItem-RL-ReconfReadyFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseItem-RL-ReconfReadyFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-PowerBalancing-UpdatedIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-UpdatedIndicator PRESENCE optional }|
+ { ID id-Primary-CPICH-Usage-For-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-For-Channel-Estimation PRESENCE optional }|
+ { ID id-Secondary-CPICH-Information-Change CRITICALITY ignore EXTENSION Secondary-CPICH-Information-Change PRESENCE optional }|
+ { ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional }|
+ { ID id-EDCH-RLSet-Id CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-EDCH-FDD-DL-ControlChannelInformation CRITICALITY ignore EXTENSION EDCH-FDD-DL-ControlChannelInformation PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY ignore EXTENSION F-DPCH-SlotFormat PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional }|
+ { ID id-Non-Serving-RL-Preconfig-Info CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Info PRESENCE optional }|
+ { ID id-FTPICH-Information-Response CRITICALITY ignore EXTENSION FTPICH-Information-Response PRESENCE optional },
+ ...
+}
+
+DL-CodeInformationList-RL-ReconfReadyFDD ::= ProtocolIE-Single-Container {{ DL-CodeInformationListIEs-RL-ReconfReadyFDD }}
+
+DL-CodeInformationListIEs-RL-ReconfReadyFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-FDD-DL-CodeInformation CRITICALITY ignore TYPE FDD-DL-CodeInformation PRESENCE mandatory}
+}
+
+DCH-InformationResponseList-RL-ReconfReadyFDD ::= ProtocolIE-Single-Container { {DCH-InformationResponseListIEs-RL-ReconfReadyFDD} }
+
+DCH-InformationResponseListIEs-RL-ReconfReadyFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory }
+}
+
+RadioLinkReconfigurationReadyFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-RNTI CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional}|
+ { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional}|
+ { ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional}|
+ { ID id-Fast-Reconfiguration-Permission CRITICALITY ignore EXTENSION Fast-Reconfiguration-Permission PRESENCE optional}|
+ { ID id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response CRITICALITY ignore EXTENSION Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response PRESENCE optional}|
+ { ID id-Additional-HS-Cell-RL-Reconf-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-RL-Reconf-Response PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-ResponseRLReconf CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-RLReconf-List PRESENCE optional},
+ ...
+}
+
+
+Additional-HS-Cell-RL-Reconf-Response ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-RL-Reconf-Response-ItemIEs
+
+Additional-HS-Cell-RL-Reconf-Response-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ hSDSCH-RNTI HSDSCH-RNTI,
+ hS-DSCH-FDD-Secondary-Serving-Information-Response HS-DSCH-FDD-Secondary-Serving-Information-Response,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-RL-Reconf-Response-ItemIEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-RL-Reconf-Response-ItemIEs-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION READY TDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationReadyTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationReadyTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationReadyTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationReadyTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponse-RL-ReconfReadyTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-ReconfReadyTDD PRESENCE optional} |
+ --This RL-InformationResponse-RL-ReconfReadyTDD is for the first RL repetition in the list.
+ --Repetitions 2 and on are defined in Multiple-RL-InformationResponse-RL-ReconfReadyTDD.
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+RL-InformationResponse-RL-ReconfReadyTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ max-UL-SIR UL-SIR OPTIONAL,
+ min-UL-SIR UL-SIR OPTIONAL,
+ maximumDLTxPower DL-Power OPTIONAL,
+ minimumDLTxPower DL-Power OPTIONAL,
+ secondary-CCPCH-Info-TDD Secondary-CCPCH-Info-TDD OPTIONAL,
+ ul-CCTrCH-Information UL-CCTrCH-InformationList-RL-ReconfReadyTDD OPTIONAL,
+ dl-CCTrCH-Information DL-CCTrCH-InformationList-RL-ReconfReadyTDD OPTIONAL,
+ dCHInformationResponse DCH-InformationResponseList-RL-ReconfReadyTDD OPTIONAL,
+ dSCHsToBeAddedOrModified DSCHToBeAddedOrModified-RL-ReconfReadyTDD OPTIONAL,
+ uSCHsToBeAddedOrModified USCHToBeAddedOrModified-RL-ReconfReadyTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponse-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponse-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-TimingAdvanceCtrl-LCR CRITICALITY ignore EXTENSION UL-TimingAdvanceCtrl-LCR PRESENCE optional}|
+ --For 1.28Mcps TDD only
+ { ID id-secondary-LCR-CCPCH-Info-TDD CRITICALITY ignore EXTENSION Secondary-LCR-CCPCH-Info-TDD PRESENCE optional}|
+ --For 1.28Mcps TDD only
+ { ID id-secondary-CCPCH-Info-RL-ReconfReadyTDD768 CRITICALITY ignore EXTENSION Secondary-CCPCH-Info-TDD768 PRESENCE optional}|
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional},
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+UL-CCTrCH-InformationList-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container {{UL-CCTrCHInformationListIEs-RL-ReconfReadyTDD}}
+
+UL-CCTrCHInformationListIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationListIE-RL-ReconfReadyTDD CRITICALITY ignore TYPE UL-CCTrCHInformationListIE-RL-ReconfReadyTDD PRESENCE mandatory}
+}
+
+UL-CCTrCHInformationListIE-RL-ReconfReadyTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationItem-RL-ReconfReadyTDD
+
+UL-CCTrCH-InformationItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ ul-DPCH-AddInformation UL-DPCH-InformationAddList-RL-ReconfReadyTDD OPTIONAL,
+ --For 3.84Mcps TDD only
+ ul-DPCH-ModifyInformation UL-DPCH-InformationModifyList-RL-ReconfReadyTDD OPTIONAL,
+ ul-DPCH-DeleteInformation UL-DPCH-InformationDeleteList-RL-ReconfReadyTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-InformationItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION UL-DPCH-LCR-InformationAddList-RL-ReconfReadyTDD PRESENCE optional }|
+ --For 1.28Mcps TDD only
+ { ID id-UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD768 CRITICALITY ignore EXTENSION UL-DPCH-InformationAddList-RL-ReconfReadyTDD768 PRESENCE optional },
+ --For 7.68Mcps TDD only
+ ...
+}
+
+UL-DPCH-LCR-InformationAddList-RL-ReconfReadyTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ uL-TimeslotLCR-Info UL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-LCR-InformationAddItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-LCR-InformationAddItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationAddList-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container {{UL-DPCH-InformationAddListIEs-RL-ReconfReadyTDD}}
+
+UL-DPCH-InformationAddListIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD CRITICALITY ignore TYPE UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD PRESENCE optional}
+}
+
+UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ rxTimingDeviationForTA RxTimingDeviationForTA OPTIONAL,
+ uL-Timeslot-Information UL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-InformationAddItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationAddItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RxTimingDeviationForTAext CRITICALITY ignore EXTENSION RxTimingDeviationForTAext PRESENCE optional },
+ ...
+}
+
+UL-DPCH-InformationAddList-RL-ReconfReadyTDD768 ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ rxTimingDeviationForTA768 RxTimingDeviationForTA768 OPTIONAL,
+ uL-Timeslot-Information768 UL-Timeslot-Information768,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-InformationAddItem-RL-ReconfReadyTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationAddItem-RL-ReconfReadyTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationModifyList-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container {{UL-DPCH-InformationModifyListIEs-RL-ReconfReadyTDD}}
+
+UL-DPCH-InformationModifyListIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD CRITICALITY ignore TYPE UL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD PRESENCE mandatory}
+}
+
+UL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tDD-DPCHOffset TDD-DPCHOffset OPTIONAL,
+ uL-Timeslot-InformationModifyList-RL-ReconfReadyTDD UL-Timeslot-InformationModifyList-RL-ReconfReadyTDD OPTIONAL,
+ --For 3.84Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-Timeslot-LCR-InformationModifyList-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION UL-TimeslotLCR-InformationModifyList-RL-ReconfReadyTDD PRESENCE optional}|
+ --For 1.28Mcps TDD only
+ { ID id-UL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768 CRITICALITY ignore EXTENSION UL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768 PRESENCE optional},
+ --For 7.68Mcps TDD only
+...
+}
+
+UL-TimeslotLCR-InformationModifyList-RL-ReconfReadyTDD::= SEQUENCE ( SIZE (1..maxNrOfTsLCR)) OF UL-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD
+
+UL-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ tDD-uL-Code-LCR-Information TDD-UL-Code-LCR-InformationModifyList-RL-ReconfReadyTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-LCR-InformationModifyList-RL-ReconfReadyTDD::= SEQUENCE ( SIZE (1..maxNrOfDPCHsLCR)) OF TDD-UL-Code-LCR-InformationModifyItem-RL-ReconfReadyTDD
+
+TDD-UL-Code-LCR-InformationModifyItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tDD-ChannelisationCodeLCR TDD-ChannelisationCodeLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TDD-UL-Code-LCR-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-LCR-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-TDD-UL-DPCH-TimeSlotFormatModifyItem-LCR-RL-ReconfReadyTDD CRITICALITY reject EXTENSION TDD-UL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
+ ...
+}
+
+UL-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-InformationModifyList-RL-ReconfReadyTDD::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF UL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD
+
+UL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-Information TDD-UL-Code-InformationModifyList-RL-ReconfReadyTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-UL-Code-InformationModifyList-RL-ReconfReadyTDD::= SEQUENCE ( SIZE (1..maxNrOfDPCHs)) OF TDD-UL-Code-InformationModifyItem-RL-ReconfReadyTDD
+
+TDD-UL-Code-InformationModifyItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TDD-UL-Code-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF UL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD768
+
+UL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD768 ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-Information768 TDD-UL-Code-InformationModifyList-RL-ReconfReadyTDD768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-UL-Code-InformationModifyList-RL-ReconfReadyTDD768::= SEQUENCE ( SIZE (1..maxNrOfDPCHs768)) OF TDD-UL-Code-InformationModifyItem-RL-ReconfReadyTDD768
+
+TDD-UL-Code-InformationModifyItem-RL-ReconfReadyTDD768 ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TDD-UL-Code-InformationModifyItem-RL-ReconfReadyTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-UL-Code-InformationModifyItem-RL-ReconfReadyTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UL-DPCH-InformationDeleteList-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container {{UL-DPCH-InformationDeleteListIEs-RL-ReconfReadyTDD}}
+
+UL-DPCH-InformationDeleteListIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD CRITICALITY ignore TYPE UL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD PRESENCE mandatory}
+}
+
+UL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD ::= SEQUENCE (SIZE (0..maxNrOfDPCHs)) OF UL-DPCH-InformationDeleteItem-RL-ReconfReadyTDD
+
+UL-DPCH-InformationDeleteItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-InformationDeleteList-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationDeleteList-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationList-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container {{DL-CCTrCHInformationListIEs-RL-ReconfReadyTDD}}
+
+DL-CCTrCHInformationListIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationListIE-RL-ReconfReadyTDD CRITICALITY ignore TYPE DL-CCTrCHInformationListIE-RL-ReconfReadyTDD PRESENCE mandatory}
+}
+
+DL-CCTrCHInformationListIE-RL-ReconfReadyTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationItem-RL-ReconfReadyTDD
+
+DL-CCTrCH-InformationItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-DPCH-AddInformation DL-DPCH-InformationAddList-RL-ReconfReadyTDD OPTIONAL,
+ --For 3.84Mcps TDD only
+ dl-DPCH-ModifyInformation DL-DPCH-InformationModifyList-RL-ReconfReadyTDD OPTIONAL,
+ dl-DPCH-DeleteInformation DL-DPCH-InformationDeleteList-RL-ReconfReadyTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-InformationItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-DPCH-LCR-InformationAddListIE-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION DL-DPCH-LCR-InformationAddList-RL-ReconfReadyTDD PRESENCE optional}|
+ --For 1.28Mcps TDD only
+ { ID id-CCTrCH-Maximum-DL-Power-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional}|
+ -- Applicable to 3.84Mcps TDD and 7.68Mcps TDD only, this is a DCH type CCTrCH power
+ { ID id-CCTrCH-Minimum-DL-Power-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional}|
+ -- Applicable to 3.84Mcps TDD and 7.68Mcps TDD only, this is a DCH type CCTrCH power
+ { ID id-DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD768 CRITICALITY ignore EXTENSION DL-DPCH-InformationAddList-RL-ReconfReadyTDD768 PRESENCE optional}|
+ --For 7.68Mcps TDD only
+ { ID id-DL-DPCH-InformationDeleteList768-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION DL-DPCH-InformationDeleteList768-RL-ReconfReadyTDD PRESENCE optional},
+ ...
+}
+
+DL-DPCH-LCR-InformationAddList-RL-ReconfReadyTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ dL-TimeslotLCR-Info DL-TimeslotLCR-Information,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-LCR-InformationAddItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-LCR-InformationAddItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationAddList-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container {{DL-DPCH-InformationAddListIEs-RL-ReconfReadyTDD}}
+
+DL-DPCH-InformationAddListIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD CRITICALITY ignore TYPE DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD PRESENCE mandatory}
+}
+
+DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information DL-Timeslot-Information,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationAddItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationAddItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationAddList-RL-ReconfReadyTDD768 ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod,
+ repetitionLength RepetitionLength,
+ tDD-DPCHOffset TDD-DPCHOffset,
+ dL-Timeslot-Information768 DL-Timeslot-Information768,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationAddItem-RL-ReconfReadyTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationAddItem-RL-ReconfReadyTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationModifyList-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container {{DL-DPCH-InformationModifyListIEs-RL-ReconfReadyTDD}}
+
+DL-DPCH-InformationModifyListIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD CRITICALITY ignore TYPE DL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD PRESENCE mandatory}
+}
+
+DL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tDD-DPCHOffset TDD-DPCHOffset OPTIONAL,
+ dL-Timeslot-InformationModifyList-RL-ReconfReadyTDD DL-Timeslot-InformationModifyList-RL-ReconfReadyTDD OPTIONAL,
+ --For 3.84Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-Timeslot-LCR-InformationModifyList-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION DL-TimeslotLCR-InformationModifyList-RL-ReconfReadyTDD PRESENCE optional}|
+ --For 1.28Mcps TDD only
+ { ID id-DL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768 CRITICALITY ignore EXTENSION DL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768 PRESENCE optional},
+ --For 7.68Mcps TDD only
+ ...
+}
+
+DL-TimeslotLCR-InformationModifyList-RL-ReconfReadyTDD::= SEQUENCE ( SIZE (1..maxNrOfTsLCR)) OF DL-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD
+
+DL-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ tDD-dL-Code-LCR-Information TDD-DL-Code-LCR-InformationModifyList-RL-ReconfReadyTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-LCR-InformationModifyList-RL-ReconfReadyTDD::= SEQUENCE ( SIZE (1..maxNrOfDPCHsLCR)) OF TDD-DL-Code-LCR-InformationModifyItem-RL-ReconfReadyTDD
+
+TDD-DL-Code-LCR-InformationModifyItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tDD-ChannelisationCodeLCR TDD-ChannelisationCodeLCR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TDD-DL-Code-LCR-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-LCR-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TDD-DL-DPCH-TimeSlotFormatModifyItem-LCR-RL-ReconfReadyTDD CRITICALITY reject EXTENSION TDD-DL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
+ ...
+}
+
+DL-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Maximum-DL-Power-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional}|
+ { ID id-Minimum-DL-Power-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional},
+ ...
+}
+
+DL-Timeslot-InformationModifyList-RL-ReconfReadyTDD::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF DL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD
+
+DL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-Information TDD-DL-Code-InformationModifyList-RL-ReconfReadyTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-DL-Code-InformationModifyList-RL-ReconfReadyTDD::= SEQUENCE ( SIZE (1..maxNrOfDPCHs)) OF TDD-DL-Code-InformationModifyItem-RL-ReconfReadyTDD
+
+TDD-DL-Code-InformationModifyItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ tDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TDD-DL-Code-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-InformationModifyItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TDD-DL-DPCH-TimeSlotFormatModifyItem-LCR-RL-ReconfReadyTDD CRITICALITY reject EXTENSION TDD-DL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
+ -- This IE shall not be used
+ ...
+}
+
+DL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF DL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD768
+
+DL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD768 ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-Information768 TDD-DL-Code-InformationModifyList-RL-ReconfReadyTDD768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationModifyItem-RL-ReconfReadyTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TDD-DL-Code-InformationModifyList-RL-ReconfReadyTDD768::= SEQUENCE ( SIZE (1..maxNrOfDPCHs768)) OF TDD-DL-Code-InformationModifyItem-RL-ReconfReadyTDD768
+
+TDD-DL-Code-InformationModifyItem-RL-ReconfReadyTDD768 ::= SEQUENCE {
+ dPCH-ID768 DPCH-ID768,
+ tDD-ChannelisationCode768 TDD-ChannelisationCode768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TDD-DL-Code-InformationModifyItem-RL-ReconfReadyTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-DL-Code-InformationModifyItem-RL-ReconfReadyTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationDeleteList-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container {{DL-DPCH-InformationDeleteListIEs-RL-ReconfReadyTDD}}
+
+DL-DPCH-InformationDeleteListIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD CRITICALITY ignore TYPE DL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD PRESENCE mandatory}
+}
+
+DL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD ::= SEQUENCE (SIZE (0..maxNrOfDPCHs)) OF DL-DPCH-InformationDeleteItem-RL-ReconfReadyTDD
+
+DL-DPCH-InformationDeleteItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationDeleteList-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationDeleteList-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationDeleteList768-RL-ReconfReadyTDD ::= SEQUENCE (SIZE (0..maxNrOfDPCHs768)) OF DL-DPCH-InformationDeleteItem768-RL-ReconfReadyTDD
+
+DL-DPCH-InformationDeleteItem768-RL-ReconfReadyTDD ::= SEQUENCE {
+ dPCH-ID768 DPCH-ID768,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationDeleteList768-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationDeleteList768-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-InformationResponseList-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container { {DCH-InformationResponseListIEs-RL-ReconfReadyTDD} }
+
+DCH-InformationResponseListIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory }
+}
+
+DSCHToBeAddedOrModified-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container { {DSCHToBeAddedOrModifiedIEs-RL-ReconfReadyTDD} }
+
+DSCHToBeAddedOrModifiedIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DSCHToBeAddedOrModifiedList-RL-ReconfReadyTDD CRITICALITY ignore TYPE DSCHToBeAddedOrModifiedList-RL-ReconfReadyTDD PRESENCE mandatory }
+}
+
+DSCHToBeAddedOrModifiedList-RL-ReconfReadyTDD ::= SEQUENCE (SIZE (0..maxNoOfDSCHs)) OF DSCHToBeAddedOrModifiedItem-RL-ReconfReadyTDD
+
+DSCHToBeAddedOrModifiedItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ dsch-ID DSCH-ID,
+ transportFormatManagement TransportFormatManagement,
+ dSCH-FlowControlInformation DSCH-FlowControlInformation,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DSCHToBeAddedOrModifiedItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DSCHToBeAddedOrModifiedItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+USCHToBeAddedOrModified-RL-ReconfReadyTDD ::= ProtocolIE-Single-Container { {USCHToBeAddedOrModifiedIEs-RL-ReconfReadyTDD} }USCHToBeAddedOrModifiedIEs-RL-ReconfReadyTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-USCHToBeAddedOrModifiedList-RL-ReconfReadyTDD CRITICALITY ignore TYPE USCHToBeAddedOrModifiedList-RL-ReconfReadyTDD PRESENCE mandatory }
+}
+
+USCHToBeAddedOrModifiedList-RL-ReconfReadyTDD ::= SEQUENCE (SIZE (0..maxNoOfUSCHs)) OF USCHToBeAddedOrModifiedItem-RL-ReconfReadyTDD
+
+USCHToBeAddedOrModifiedItem-RL-ReconfReadyTDD ::= SEQUENCE {
+ uSCH-ID USCH-ID,
+ transportFormatManagement TransportFormatManagement,
+ bindingID BindingID OPTIONAL,
+ transportLayerAddress TransportLayerAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {USCHToBeAddedOrModifiedItem-RL-ReconfReadyTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+USCHToBeAddedOrModifiedItem-RL-ReconfReadyTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkReconfigurationReadyTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-RNTI CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional}|
+ { ID id-DSCH-RNTI CRITICALITY ignore EXTENSION DSCH-RNTI PRESENCE optional}|
+ { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional}|
+ { ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional}|
+ { ID id-Multiple-RL-InformationResponse-RL-ReconfReadyTDD CRITICALITY ignore EXTENSION Multiple-RL-InformationResponse-RL-ReconfReadyTDD PRESENCE optional}|
+-- This is for RL repetitions 2 and on in RL list.
+ { ID id-E-DCH-Information-Response CRITICALITY ignore EXTENSION E-DCH-Information-Response PRESENCE optional}|
+ { ID id-E-DCH-768-Information-Response CRITICALITY ignore EXTENSION E-DCH-768-Information-Response PRESENCE optional}|
+ { ID id-E-DCH-LCR-Information-Response CRITICALITY ignore EXTENSION E-DCH-LCR-Information-Response PRESENCE optional}|
+ { ID id-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-IdleIntervalInformation CRITICALITY ignore EXTENSION IdleIntervalInformation PRESENCE optional}|
+ { ID id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-Information-ResponseLCR PRESENCE optional}|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION E-DCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-E-RNTI-For-FACH CRITICALITY ignore EXTENSION E-RNTI PRESENCE optional}|
+ { ID id-H-RNTI-For-FACH CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional}|
+ { ID id-DCH-MeasurementOccasion-Information CRITICALITY reject EXTENSION DCH-MeasurementOccasion-Information PRESENCE optional}|
+ { ID id-Multi-Carrier-EDCH-Response CRITICALITY ignore EXTENSION Multi-Carrier-EDCH-Information-Response PRESENCE optional}|
+ { ID id-MU-MIMO-InformationLCR CRITICALITY reject EXTENSION MU-MIMO-InformationLCR PRESENCE optional}|
+ { ID id-Non-rectangular-resource-allocation-indicator CRITICALITY reject EXTENSION Non-rectangular-resource-allocation-indicator PRESENCE optional}|
+ { ID id-Non-rectangular-resource-timeslot-set CRITICALITY reject EXTENSION Non-rectangular-resource-timeslot-set PRESENCE optional},
+ ...
+}
+
+Multiple-RL-InformationResponse-RL-ReconfReadyTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF RL-InformationResponse-RL-ReconfReadyTDD
+
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION COMMIT
+--
+-- **************************************************************
+
+RadioLinkReconfigurationCommit ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationCommit-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationCommit-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationCommit-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-CFN CRITICALITY ignore TYPE CFN PRESENCE mandatory}|
+ { ID id-Active-Pattern-Sequence-Information CRITICALITY ignore TYPE Active-Pattern-Sequence-Information PRESENCE optional},--FDD only
+ ...
+}
+
+RadioLinkReconfigurationCommit-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Fast-Reconfiguration-Mode CRITICALITY reject EXTENSION Fast-Reconfiguration-Mode PRESENCE optional}|--FDD only
+ { ID id-ActivationDelay CRITICALITY reject EXTENSION ActivationDelay PRESENCE optional},--FDD only
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION FAILURE
+--
+-- **************************************************************
+
+RadioLinkReconfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-CauseLevel-RL-ReconfFailure CRITICALITY ignore TYPE CauseLevel-RL-ReconfFailure PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CauseLevel-RL-ReconfFailure ::= CHOICE {
+ generalCause GeneralCauseList-RL-ReconfFailure,
+ rLSpecificCause RLSpecificCauseList-RL-ReconfFailure,
+ ...
+}
+
+GeneralCauseList-RL-ReconfFailure ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+GeneralCauseItem-RL-ReconfFailure-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLSpecificCauseList-RL-ReconfFailure ::= SEQUENCE {
+ rL-ReconfigurationFailureList-RL-ReconfFailure RL-ReconfigurationFailureList-RL-ReconfFailure OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+RLSpecificCauseItem-RL-ReconfFailure-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-ReconfigurationFailureList-RL-ReconfFailure ::= SEQUENCE (SIZE (0..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-ReconfigurationFailure-RL-ReconfFailure-IEs} }
+
+RL-ReconfigurationFailure-RL-ReconfFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-ReconfigurationFailure-RL-ReconfFail CRITICALITY ignore TYPE RL-ReconfigurationFailure-RL-ReconfFail PRESENCE mandatory }
+}
+
+RL-ReconfigurationFailure-RL-ReconfFail ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {RL-ReconfigurationFailure-RL-ReconfFailure-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-ReconfigurationFailure-RL-ReconfFailure-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Max-UE-DTX-Cycle CRITICALITY ignore EXTENSION Max-UE-DTX-Cycle PRESENCE conditional },
+ -- This IE shall be present if the Cause IE is set to “Continuous Packet Connectivity UE DTX Cycle not Available”.
+ ...
+}
+
+RadioLinkReconfigurationFailure-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION CANCEL
+--
+-- **************************************************************
+
+RadioLinkReconfigurationCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationCancel-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationCancel-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationCancel-IEs RNSAP-PROTOCOL-IES ::= {
+ ...
+}
+
+RadioLinkReconfigurationCancel-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION REQUEST FDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationRequestFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-AllowedQueuingTime CRITICALITY reject TYPE AllowedQueuingTime PRESENCE optional}|
+ { ID id-UL-DPCH-Information-RL-ReconfRqstFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-ReconfRqstFDD PRESENCE optional}|
+ { ID id-DL-DPCH-Information-RL-ReconfRqstFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-ReconfRqstFDD PRESENCE optional}|
+ { ID id-FDD-DCHs-to-Modify CRITICALITY reject TYPE FDD-DCHs-to-Modify PRESENCE optional}|
+ { ID id-DCHs-to-Add-FDD CRITICALITY reject TYPE DCH-FDD-Information PRESENCE optional}|
+ { ID id-DCH-DeleteList-RL-ReconfRqstFDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfRqstFDD PRESENCE optional}|
+ { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional},
+ ...
+}
+
+UL-DPCH-Information-RL-ReconfRqstFDD ::= SEQUENCE {
+ tFCS TFCS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-DPDCHIndicatorEDCH CRITICALITY reject EXTENSION UL-DPDCHIndicatorEDCH PRESENCE optional },
+ ...
+}
+
+DL-DPCH-Information-RL-ReconfRqstFDD ::= SEQUENCE {
+ tFCS TFCS OPTIONAL,
+ tFCI-SignallingMode TFCI-SignallingMode OPTIONAL,
+ limitedPowerIncrease LimitedPowerIncrease OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-DeleteList-RL-ReconfRqstFDD ::= SEQUENCE (SIZE (0..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfRqstFDD
+
+DCH-DeleteItem-RL-ReconfRqstFDD ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {DCH-DeleteItem-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-DeleteItem-RL-ReconfRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkReconfigurationRequestFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RL-ReconfigurationRequestFDD-RL-InformationList CRITICALITY ignore EXTENSION RL-ReconfigurationRequestFDD-RL-InformationList PRESENCE optional}|
+ { ID id-DL-ReferencePowerInformation CRITICALITY ignore EXTENSION DL-ReferencePowerInformation PRESENCE optional}|
+ { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional}|
+ { ID id-HSDSCH-Information-to-Modify-Unsynchronised CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify-Unsynchronised PRESENCE optional}|
+ { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional}|
+ { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional}|
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional}|
+ { ID id-EDPCH-Information-RLReconfRequest-FDD CRITICALITY reject EXTENSION EDPCH-Information-RLReconfRequest-FDD PRESENCE optional}|
+ { ID id-EDCH-FDD-Information CRITICALITY reject EXTENSION EDCH-FDD-Information PRESENCE optional}|
+ { ID id-EDCH-FDD-Information-To-Modify CRITICALITY reject EXTENSION EDCH-FDD-Information-To-Modify PRESENCE optional}|
+ { ID id-EDCH-MACdFlows-To-Add CRITICALITY reject EXTENSION EDCH-MACdFlows-Information PRESENCE optional}|
+ { ID id-EDCH-MACdFlows-To-Delete CRITICALITY reject EXTENSION EDCH-MACdFlows-To-Delete PRESENCE optional}|
+ { ID id-Serving-EDCHRL-Id CRITICALITY reject EXTENSION EDCH-Serving-RL PRESENCE optional}|
+ { ID id-CPC-Information CRITICALITY reject EXTENSION CPC-Information PRESENCE optional}|
+ { ID id-NoOfTargetCellHS-SCCH-Order CRITICALITY ignore EXTENSION NoOfTargetCellHS-SCCH-Order PRESENCE optional}|
+ { ID id-Additional-HS-Cell-Information-RL-Reconf-Req CRITICALITY reject EXTENSION Additional-HS-Cell-Information-RL-Reconf-Req PRESENCE optional}|
+ { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-RL-Reconf-Req CRITICALITY reject EXTENSION Additional-EDCH-Cell-Information-RL-Reconf-Req PRESENCE optional}|
+ { ID id-UL-CLTD-Information-Reconf CRITICALITY reject EXTENSION UL-CLTD-Information-Reconf PRESENCE optional}|
+ { ID id-E-DCH-Decoupling-Indication CRITICALITY reject EXTENSION E-DCH-Decoupling-Indication PRESENCE optional}|
+ { ID id-Radio-Links-without-DPCH-FDPCH-Indication CRITICALITY reject EXTENSION Radio-Links-without-DPCH-FDPCH-Indication PRESENCE optional}|
+ { ID id-UL-DPCCH2-Information-Reconf CRITICALITY reject EXTENSION UL-DPCCH2-Information-Reconf PRESENCE optional}|
+ { ID id-Downlink-TPC-enhancements-Reconf CRITICALITY reject EXTENSION Downlink-TPC-enhancements-Reconf PRESENCE optional},
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Reconf-Req ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Reconf-Req-ItemIEs
+
+Additional-HS-Cell-Information-RL-Reconf-Req-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ c-ID C-ID OPTIONAL,
+ hS-DSCH-FDD-Secondary-Serving-Information HS-DSCH-FDD-Secondary-Serving-Information OPTIONAL,
+ hS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised HS-DSCH-FDD-Secondary-Serving-Information-To-Modify-Unsynchronised OPTIONAL,
+ hS-DSCH-Secondary-Serving-Remove HS-DSCH-Secondary-Serving-Remove OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Reconf-Req-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Reconf-Req-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Reconf-Req ::=SEQUENCE{
+ setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency Setup-Or-ConfigurationChange-Or-Removal-Of-EDCH-On-secondary-UL-Frequency,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-Cell-Information-RL-Reconf-Req-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Reconf-Req-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-ReconfigurationRequestFDD-RL-InformationList ::= SEQUENCE (SIZE (0..maxNrOfRLs)) OF ProtocolIE-Single-Container {
+ {RL-ReconfigurationRequestFDD-RL-Information-ListItem} }
+
+RL-ReconfigurationRequestFDD-RL-Information-ListItem RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-ReconfigurationRequestFDD-RL-Information-IEs CRITICALITY ignore TYPE RL-ReconfigurationRequestFDD-RL-Information-IEs PRESENCE optional }
+}
+
+RL-ReconfigurationRequestFDD-RL-Information-IEs ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Specific-DCH-Info RL-Specific-DCH-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-ReconfigurationRequestFDD-RL-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-ReconfigurationRequestFDD-RL-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RL-Specific-EDCH-Information CRITICALITY reject EXTENSION RL-Specific-EDCH-Information PRESENCE optional}|
+ { ID id-EDCH-RL-Indication CRITICALITY reject EXTENSION EDCH-RL-Indication PRESENCE optional}|
+ { ID id-HSDSCH-PreconfigurationSetup CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationSetup PRESENCE optional}|
+ { ID id-Non-Serving-RL-Preconfig-Setup CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Setup PRESENCE optional}|
+ { ID id-Non-Serving-RL-Preconfig-Removal CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Setup PRESENCE optional}|
+ { ID id-FTPICH-Information-Reconf CRITICALITY ignore EXTENSION FTPICH-Information-Reconf PRESENCE optional}|
+ { ID id-Downlink-TPC-enhancements-Reconf CRITICALITY reject EXTENSION Downlink-TPC-enhancements-Reconf PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION REQUEST TDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationRequestTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-AllowedQueuingTime CRITICALITY reject TYPE AllowedQueuingTime PRESENCE optional } |
+ { ID id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD PRESENCE optional } |
+ { ID id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD PRESENCE optional } |
+ { ID id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD PRESENCE optional } |
+ { ID id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD PRESENCE optional } |
+ { ID id-TDD-DCHs-to-Modify CRITICALITY reject TYPE TDD-DCHs-to-Modify PRESENCE optional } |
+ { ID id-DCHs-to-Add-TDD CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional } |
+ { ID id-DCH-DeleteList-RL-ReconfRqstTDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfRqstTDD PRESENCE optional },
+ ...
+}
+
+UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD-IEs} }
+
+UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD PRESENCE mandatory }
+}
+
+UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional},
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD-IEs} }
+
+UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD PRESENCE mandatory }
+}
+
+UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD-IEs} }
+
+DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD PRESENCE mandatory }
+}
+
+DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ tFCS TFCS OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (0..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container { {DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD-IEs} }
+
+DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD PRESENCE mandatory }
+}
+
+DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-DeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE(0..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfRqstTDD
+
+DCH-DeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ iE-Extensions ProtocolExtensionContainer { {DCH-DeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-DeleteItem-RL-ReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkReconfigurationRequestTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+{ ID id-RL-ReconfigurationRequestTDD-RL-Information CRITICALITY ignore EXTENSION Multiple-RL-ReconfigurationRequestTDD-RL-Information PRESENCE optional}|
+ { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional}|
+ { ID id-HSDSCH-Information-to-Modify-Unsynchronised CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify-Unsynchronised PRESENCE optional}|
+ { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional}|
+ { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional}|
+ { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional}|
+ { ID id-E-DCH-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-Information-Reconfig PRESENCE optional}|
+ { ID id-E-DCH-Serving-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional}|
+ { ID id-E-DCH-768-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-768-Information-Reconfig PRESENCE optional}|
+ { ID id-E-DCH-LCR-Information-Reconfig CRITICALITY reject EXTENSION E-DCH-LCR-Information-Reconfig PRESENCE optional}|
+ { ID id-CPC-InformationLCR CRITICALITY reject EXTENSION CPC-InformationLCR PRESENCE optional}|
+ { ID id-RNTI-Allocation-Indicator CRITICALITY ignore EXTENSION RNTI-Allocation-Indicator PRESENCE optional}|
+ { ID id-DCH-MeasurementType-Indicator CRITICALITY reject EXTENSION DCH-MeasurementType-Indicator PRESENCE optional}|
+ { ID id-Multi-Carrier-EDCH-Reconfigure CRITICALITY reject EXTENSION Multi-Carrier-EDCH-Reconfigure PRESENCE optional}|
+ { ID id-MU-MIMO-Indicator CRITICALITY reject EXTENSION MU-MIMO-Indicator PRESENCE optional}|
+ { ID id-UE-Support-of-non-rectangular-resource-allocation CRITICALITY ignore EXTENSION UE-Support-of-non-rectangular-resource-allocation PRESENCE optional},
+ ...
+}
+
+Multiple-RL-ReconfigurationRequestTDD-RL-Information ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF RL-ReconfigurationRequestTDD-RL-Information
+
+RL-ReconfigurationRequestTDD-RL-Information ::= SEQUENCE {
+ rL-ID RL-ID,
+ rL-Specific-DCH-Info RL-Specific-DCH-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-ReconfigurationRequestTDD-RL-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-ReconfigurationRequestTDD-RL-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD or 7.68Mcps TDD
+ { ID id-NeedforIdleInterval CRITICALITY ignore EXTENSION NeedforIdleInterval PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION RESPONSE FDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationResponseFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationResponseFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationResponseFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationResponseFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseList-RL-ReconfRspFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-ReconfRspFDD PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RL-InformationResponseList-RL-ReconfRspFDD ::= SEQUENCE (SIZE (0..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-InformationResponse-RL-ReconfRspFDD-IEs} }
+
+RL-InformationResponse-RL-ReconfRspFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponseItem-RL-ReconfRspFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-ReconfRspFDD PRESENCE mandatory }
+}
+
+RL-InformationResponseItem-RL-ReconfRspFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ max-UL-SIR UL-SIR OPTIONAL,
+ min-UL-SIR UL-SIR OPTIONAL,
+ maximumDLTxPower DL-Power OPTIONAL,
+ minimumDLTxPower DL-Power OPTIONAL,
+ not-Used-secondary-CCPCH-Info NULL OPTIONAL,
+ dCHsInformationResponseList DCH-InformationResponseList-RL-ReconfRspFDD OPTIONAL,
+ dL-CodeInformationList-RL-ReconfResp DL-CodeInformationList-RL-ReconfRspFDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponseItem-RL-ReconfRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponseItem-RL-ReconfRspFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-PowerBalancing-UpdatedIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-UpdatedIndicator PRESENCE optional }|
+ { ID id-EDCH-FDD-InformationResponse CRITICALITY ignore EXTENSION EDCH-FDD-InformationResponse PRESENCE optional }|
+ { ID id-EDCH-RLSet-Id CRITICALITY ignore EXTENSION RL-Set-ID PRESENCE optional }|
+ { ID id-EDCH-FDD-DL-ControlChannelInformation CRITICALITY ignore EXTENSION EDCH-FDD-DL-ControlChannelInformation PRESENCE optional }|
+ { ID id-F-DPCH-SlotFormat CRITICALITY ignore EXTENSION F-DPCH-SlotFormat PRESENCE optional }|
+ { ID id-HSDSCH-PreconfigurationInfo CRITICALITY ignore EXTENSION HSDSCH-PreconfigurationInfo PRESENCE optional }|
+ { ID id-Non-Serving-RL-Preconfig-Info CRITICALITY ignore EXTENSION Non-Serving-RL-Preconfig-Info PRESENCE optional }|
+ { ID id-FTPICH-Information-Response CRITICALITY ignore EXTENSION FTPICH-Information-Response PRESENCE optional },
+ ...
+}
+
+DCH-InformationResponseList-RL-ReconfRspFDD ::= ProtocolIE-Single-Container { {DCH-InformationResponseListIEs-RL-ReconfRspFDD} }
+
+DCH-InformationResponseListIEs-RL-ReconfRspFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory }
+}
+
+DL-CodeInformationList-RL-ReconfRspFDD ::= ProtocolIE-Single-Container {{ DL-CodeInformationListIEs-RL-ReconfRspFDD }}
+
+DL-CodeInformationListIEs-RL-ReconfRspFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-FDD-DL-CodeInformation CRITICALITY ignore TYPE FDD-DL-CodeInformation PRESENCE optional}
+}
+
+RadioLinkReconfigurationResponseFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-RNTI CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional }|
+ { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
+ { ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional }|
+ { ID id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response CRITICALITY ignore EXTENSION Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response PRESENCE optional }|
+ { ID id-Additional-HS-Cell-Information-Response CRITICALITY ignore EXTENSION Additional-HS-Cell-Information-Response-List PRESENCE optional }|
+ { ID id-Additional-EDCH-Cell-Information-ResponseRLReconf CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-Response-RLReconf-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK RECONFIGURATION RESPONSE TDD
+--
+-- **************************************************************
+
+RadioLinkReconfigurationResponseTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationResponseTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationResponseTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkReconfigurationResponseTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationResponse-RL-ReconfRspTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-ReconfRspTDD PRESENCE optional } |
+ --This RL-InformationResponse-RL-ReconfRspTDD is for the first RL repetition in the list.
+ --Repetitions 2 and on are defined in Multiple-RL-InformationResponse-RL-ReconfRspTDD.
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+RL-InformationResponse-RL-ReconfRspTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ max-UL-SIR UL-SIR OPTIONAL,
+ min-UL-SIR UL-SIR OPTIONAL,
+ maximumDLTxPower DL-Power OPTIONAL,
+ minimumDLTxPower DL-Power OPTIONAL,
+ dCHsInformationResponseList DCH-InformationResponseList-RL-ReconfRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationResponse-RL-ReconfRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationResponse-RL-ReconfRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-CCTrCH-InformationList-RL-ReconfRspTDD CRITICALITY ignore EXTENSION DL-CCTrCH-InformationList-RL-ReconfRspTDD PRESENCE optional }|
+ { ID id-UL-TimingAdvanceCtrl-LCR CRITICALITY ignore EXTENSION UL-TimingAdvanceCtrl-LCR PRESENCE optional },
+ --For 1.28Mcps TDD only
+ ...
+}
+
+DL-CCTrCH-InformationList-RL-ReconfRspTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationItem-RL-ReconfRspTDD
+
+DL-CCTrCH-InformationItem-RL-ReconfRspTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-DPCH-ModifyInformation-LCR DL-DPCH-InformationModifyList-LCR-RL-ReconfRspTDD OPTIONAL,
+ --For 1.28Mcps TDD only
+ cCTrCH-Maximum-DL-Power DL-Power OPTIONAL,
+ --For 3.84Mcps TDD and 7.68Mcps TDD only, this is a DCH type CCTrCH power
+ cCTrCH-Minimum-DL-Power DL-Power OPTIONAL,
+ --For 3.84Mcps TDD and 7.68Mcps TDD only, this is a DCH type CCTrCH power
+ iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationItem-RL-ReconfRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationItem-RL-ReconfRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationModifyList-LCR-RL-ReconfRspTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModifyListIEs-LCR-RL-ReconfRspTDD }}
+
+DL-DPCH-InformationModifyListIEs-LCR-RL-ReconfRspTDD RNSAP-PROTOCOL-IES ::= {
+ {ID id-DL-DPCH-InformationModifyItem-LCR-RL-ReconfRspTDD CRITICALITY ignore TYPE DL-DPCH-InformationModifyItem-LCR-RL-ReconfRspTDD PRESENCE optional},
+ ...
+}
+
+DL-DPCH-InformationModifyItem-LCR-RL-ReconfRspTDD ::= SEQUENCE {
+ dL-Timeslot-LCR-InformationModifyList-RL-ReconfRqstTDD DL-Timeslot-LCR-InformationModifyList-RL-ReconfRspTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModifyItem-LCR-RL-ReconfRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationModifyItem-LCR-RL-ReconfRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-LCR-InformationModifyList-RL-ReconfRspTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTsLCR)) OF DL-Timeslot-LCR-InformationModifyItem-RL-ReconfRspTDD
+
+DL-Timeslot-LCR-InformationModifyItem-RL-ReconfRspTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ maxPowerLCR DL-Power OPTIONAL,
+ minPowerLCR DL-Power OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModifyItem-RL-ReconfRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-LCR-InformationModifyItem-RL-ReconfRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DCH-InformationResponseList-RL-ReconfRspTDD ::= ProtocolIE-Single-Container { {DCH-InformationResponseListIEs-RL-ReconfRspTDD} }
+
+DCH-InformationResponseListIEs-RL-ReconfRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE optional }
+}
+
+RadioLinkReconfigurationResponseTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCH-RNTI CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional}|
+ { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional}|
+ { ID id-MAChs-ResetIndicator CRITICALITY ignore EXTENSION MAChs-ResetIndicator PRESENCE optional}|
+ { ID id-RL-ReconfigurationResponseTDD-RL-Information CRITICALITY ignore EXTENSION Multiple-RL-InformationResponse-RL-ReconfRspTDD PRESENCE optional}|
+ { ID id-E-DCH-Information-Response CRITICALITY ignore EXTENSION E-DCH-Information-Response PRESENCE optional}|
+ { ID id-E-DCH-768-Information-Response CRITICALITY ignore EXTENSION E-DCH-768-Information-Response PRESENCE optional}|
+ { ID id-E-DCH-LCR-Information-Response CRITICALITY ignore EXTENSION E-DCH-LCR-Information-Response PRESENCE optional}|
+ { ID id-PowerControlGAP CRITICALITY ignore EXTENSION ControlGAP PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-IdleIntervalInformation CRITICALITY ignore EXTENSION IdleIntervalInformation PRESENCE optional}|
+ { ID id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR CRITICALITY ignore EXTENSION ContinuousPacketConnectivity-DRX-Information-ResponseLCR PRESENCE optional}|
+ { ID id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR CRITICALITY ignore EXTENSION E-DCH-Semi-PersistentScheduling-Information-ResponseLCR PRESENCE optional}|
+ { ID id-E-RNTI-For-FACH CRITICALITY ignore EXTENSION E-RNTI PRESENCE optional}|
+ { ID id-H-RNTI-For-FACH CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional}|
+ { ID id-DCH-MeasurementOccasion-Information CRITICALITY reject EXTENSION DCH-MeasurementOccasion-Information PRESENCE optional}|
+ { ID id-Multi-Carrier-EDCH-Response CRITICALITY ignore EXTENSION Multi-Carrier-EDCH-Information-Response PRESENCE optional}|
+ { ID id-MU-MIMO-InformationLCR CRITICALITY reject EXTENSION MU-MIMO-InformationLCR PRESENCE optional}|
+ { ID id-Non-rectangular-resource-allocation-indicator CRITICALITY reject EXTENSION Non-rectangular-resource-allocation-indicator PRESENCE optional}|
+ { ID id-Non-rectangular-resource-timeslot-set CRITICALITY reject EXTENSION Non-rectangular-resource-timeslot-set PRESENCE optional},
+ ...
+}
+
+Multiple-RL-InformationResponse-RL-ReconfRspTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF RL-InformationResponse-RL-ReconfRspTDD
+--Includes the 2nd through the max number of radio link information repetitions.
+
+-- **************************************************************
+--
+-- RADIO LINK FAILURE INDICATION
+--
+-- **************************************************************
+
+RadioLinkFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkFailureIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Reporting-Object-RL-FailureInd CRITICALITY ignore TYPE Reporting-Object-RL-FailureInd PRESENCE mandatory },
+ ...
+}
+
+Reporting-Object-RL-FailureInd ::= CHOICE {
+ rL RL-RL-FailureInd,
+ rL-Set RL-Set-RL-FailureInd, --FDD only
+ ...,
+ cCTrCH CCTrCH-RL-FailureInd --TDD only
+}
+
+RL-RL-FailureInd ::= SEQUENCE {
+ rL-InformationList-RL-FailureInd RL-InformationList-RL-FailureInd,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-RL-FailureInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLItem-RL-FailureInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-Information-RL-FailureInd-IEs} }
+
+RL-Information-RL-FailureInd-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Information-RL-FailureInd CRITICALITY ignore TYPE RL-Information-RL-FailureInd PRESENCE mandatory }
+}
+
+RL-Information-RL-FailureInd ::= SEQUENCE {
+ rL-ID RL-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-RL-FailureInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-FailureInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-RL-FailureInd ::= SEQUENCE {
+ rL-Set-InformationList-RL-FailureInd RL-Set-InformationList-RL-FailureInd,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-RL-FailureInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-SetItem-RL-FailureInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container { {RL-Set-Information-RL-FailureInd-IEs} }
+
+RL-Set-Information-RL-FailureInd-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-Information-RL-FailureInd CRITICALITY ignore TYPE RL-Set-Information-RL-FailureInd PRESENCE mandatory }
+}
+
+RL-Set-Information-RL-FailureInd ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {RL-Set-Information-RL-FailureInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-Information-RL-FailureInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkFailureIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CCTrCH-RL-FailureInd ::= SEQUENCE {
+ rL-ID RL-ID,
+ cCTrCH-InformationList-RL-FailureInd CCTrCH-InformationList-RL-FailureInd,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCHItem-RL-FailureInd-ExtIEs } } OPTIONAL,
+ ...
+ }
+
+CCTrCHItem-RL-FailureInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CCTrCH-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ CCTrCH-InformationItemIE-RL-FailureInd}}
+
+CCTrCH-InformationItemIE-RL-FailureInd RNSAP-PROTOCOL-IES ::= {
+ { ID id-CCTrCH-InformationItem-RL-FailureInd CRITICALITY ignore TYPE CCTrCH-InformationItem-RL-FailureInd PRESENCE mandatory}
+ }
+
+CCTrCH-InformationItem-RL-FailureInd ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-InformationItem-RL-FailureInd-ExtIEs } } OPTIONAL,
+ ...
+ }
+
+CCTrCH-InformationItem-RL-FailureInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK PREEMPTION REQUIRED INDICATION
+--
+-- **************************************************************
+
+RadioLinkPreemptionRequiredIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkPreemptionRequiredIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkPreemptionRequiredIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkPreemptionRequiredIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationList-RL-PreemptRequiredInd CRITICALITY ignore TYPE RL-InformationList-RL-PreemptRequiredInd PRESENCE optional },
+ ...
+}
+
+RL-InformationList-RL-PreemptRequiredInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-InformationItemIEs-RL-PreemptRequiredInd} }
+
+RL-InformationItemIEs-RL-PreemptRequiredInd RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-PreemptRequiredInd CRITICALITY ignore TYPE RL-InformationItem-RL-PreemptRequiredInd PRESENCE mandatory }
+}
+
+RL-InformationItem-RL-PreemptRequiredInd::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-RL-PreemptRequiredInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-PreemptRequiredInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-EDCH-MacdFlowSpecificInformationList-RL-PreemptRequiredInd CRITICALITY ignore EXTENSION EDCH-MacdFlowSpecificInformationList-RL-PreemptRequiredInd PRESENCE optional},
+ ...
+}
+
+RadioLinkPreemptionRequiredIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSDSCHMacdFlowSpecificInformationList-RL-PreemptRequiredInd CRITICALITY ignore EXTENSION HSDSCHMacdFlowSpecificInformationList-RL-PreemptRequiredInd PRESENCE optional},
+ ...
+}
+
+HSDSCHMacdFlowSpecificInformationList-RL-PreemptRequiredInd ::= SEQUENCE (SIZE (1.. maxNrOfMACdFlows)) OF ProtocolIE-Single-Container { {HSDSCHMacdFlowSpecificInformationItemIEs-RL-PreemptRequiredInd} }
+
+HSDSCHMacdFlowSpecificInformationItemIEs-RL-PreemptRequiredInd RNSAP-PROTOCOL-IES ::= {
+ { ID id-HSDSCHMacdFlowSpecificInformationItem-RL-PreemptRequiredInd CRITICALITY ignore TYPE HSDSCHMacdFlowSpecificInformationItem-RL-PreemptRequiredInd PRESENCE mandatory }
+}
+
+HSDSCHMacdFlowSpecificInformationItem-RL-PreemptRequiredInd ::= SEQUENCE {
+ hSDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { HSDSCHMacdFlowSpecificInformation-RL-PreemptRequiredInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HSDSCHMacdFlowSpecificInformation-RL-PreemptRequiredInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-MacdFlowSpecificInformationList-RL-PreemptRequiredInd ::= SEQUENCE (SIZE (1.. maxNrOfEDCHMACdFlows)) OF ProtocolIE-Single-Container { {EDCH-MacdFlowSpecificInformationItemIEs-RL-PreemptRequiredInd} }
+
+EDCH-MacdFlowSpecificInformationItemIEs-RL-PreemptRequiredInd RNSAP-PROTOCOL-IES ::= {
+ { ID id-EDCH-MacdFlowSpecificInformationItem-RL-PreemptRequiredInd CRITICALITY ignore TYPE EDCH-MacdFlowSpecificInformationItem-RL-PreemptRequiredInd PRESENCE mandatory }
+}
+
+EDCH-MacdFlowSpecificInformationItem-RL-PreemptRequiredInd ::= SEQUENCE {
+ eDCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-MacdFlowSpecificInformation-RL-PreemptRequiredInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDCH-MacdFlowSpecificInformation-RL-PreemptRequiredInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RADIO LINK RESTORE INDICATION
+--
+-- **************************************************************
+
+RadioLinkRestoreIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkRestoreIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkRestoreIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkRestoreIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Reporing-Object-RL-RestoreInd CRITICALITY ignore TYPE Reporting-Object-RL-RestoreInd PRESENCE mandatory },
+ ...
+}
+
+Reporting-Object-RL-RestoreInd ::= CHOICE {
+ rL RL-RL-RestoreInd, --TDD only
+ rL-Set RL-Set-RL-RestoreInd, --FDD only
+ ...,
+ cCTrCH CCTrCH-RL-RestoreInd --TDD only
+}
+
+RL-RL-RestoreInd ::= SEQUENCE {
+ rL-InformationList-RL-RestoreInd RL-InformationList-RL-RestoreInd,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-RL-RestoreInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLItem-RL-RestoreInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-Information-RL-RestoreInd-IEs} }
+
+RL-Information-RL-RestoreInd-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Information-RL-RestoreInd CRITICALITY ignore TYPE RL-Information-RL-RestoreInd PRESENCE mandatory }
+}
+
+RL-Information-RL-RestoreInd ::= SEQUENCE {
+ rL-ID RL-ID,
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-RL-RestoreInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-RL-RestoreInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-RL-RestoreInd ::= SEQUENCE {
+ rL-Set-InformationList-RL-RestoreInd RL-Set-InformationList-RL-RestoreInd,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-RL-RestoreInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-SetItem-RL-RestoreInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container { {RL-Set-Information-RL-RestoreInd-IEs} }
+
+RL-Set-Information-RL-RestoreInd-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-Information-RL-RestoreInd CRITICALITY ignore TYPE RL-Set-Information-RL-RestoreInd PRESENCE mandatory }
+}
+
+RL-Set-Information-RL-RestoreInd ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ iE-Extensions ProtocolExtensionContainer { {RL-Set-Information-RL-RestoreInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-Information-RL-RestoreInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkRestoreIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CCTrCH-RL-RestoreInd ::= SEQUENCE {
+ rL-ID RL-ID,
+ cCTrCH-InformationList-RL-RestoreInd CCTrCH-InformationList-RL-RestoreInd,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCHItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
+ ...
+ }
+
+CCTrCHItem-RL-RestoreInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CCTrCH-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ CCTrCH-InformationItemIE-RL-RestoreInd}}
+
+CCTrCH-InformationItemIE-RL-RestoreInd RNSAP-PROTOCOL-IES ::= {
+ { ID id-CCTrCH-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE CCTrCH-InformationItem-RL-RestoreInd PRESENCE mandatory}
+ }
+
+CCTrCH-InformationItem-RL-RestoreInd ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ iE-Extensions ProtocolExtensionContainer { { CCTrCH-InformationItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
+ ...
+ }
+
+CCTrCH-InformationItem-RL-RestoreInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK POWER CONTROL REQUEST
+--
+-- **************************************************************
+
+DL-PowerControlRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DL-PowerControlRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DL-PowerControlRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+DL-PowerControlRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-PowerAdjustmentType CRITICALITY ignore TYPE PowerAdjustmentType PRESENCE mandatory} |
+ { ID id-DLReferencePower CRITICALITY ignore TYPE DL-Power PRESENCE conditional} |
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Common’
+ { ID id-InnerLoopDLPCStatus CRITICALITY ignore TYPE InnerLoopDLPCStatus PRESENCE optional } |
+ { ID id-DLReferencePowerList-DL-PC-Rqst CRITICALITY ignore TYPE DL-ReferencePowerInformationList-DL-PC-Rqst PRESENCE conditional} |
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Individual’
+ { ID id-MaxAdjustmentStep CRITICALITY ignore TYPE MaxAdjustmentStep PRESENCE conditional } |
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Common’ or ‘Individual’
+ { ID id-AdjustmentPeriod CRITICALITY ignore TYPE AdjustmentPeriod PRESENCE conditional }|
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Common’ or ‘Individual’
+ { ID id-AdjustmentRatio CRITICALITY ignore TYPE ScaledAdjustmentRatio PRESENCE conditional },
+ -- This IE shall be present if Power Adjustment Type IE equals to ‘Common’ or ‘Individual’
+ ...
+}
+
+DL-ReferencePowerInformationList-DL-PC-Rqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {DL-ReferencePowerInformation-DL-PC-Rqst-IEs} }
+
+DL-ReferencePowerInformation-DL-PC-Rqst-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-ReferencePowerInformation-DL-PC-Rqst CRITICALITY ignore TYPE DL-ReferencePowerInformation-DL-PC-Rqst PRESENCE mandatory }
+}
+
+DL-ReferencePowerInformation-DL-PC-Rqst ::= SEQUENCE {
+ rL-ID RL-ID,
+ dl-Reference-Power DL-Power,
+ iE-Extensions ProtocolExtensionContainer { {DL-ReferencePowerInformation-DL-PC-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-ReferencePowerInformation-DL-PC-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-PowerControlRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK POWER TIMESLOT CONTROL REQUEST TDD
+--
+-- **************************************************************
+
+DL-PowerTimeslotControlRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DL-PowerTimeslotControlRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DL-PowerTimeslotControlRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+DL-PowerTimeslotControlRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-timeSlot-ISCP CRITICALITY ignore TYPE DL-TimeSlot-ISCP-Info PRESENCE optional},
+ --Mandatory for 3.84Mcps TDD and 7.68 Mcps TDD only
+ ...
+}
+
+DL-PowerTimeslotControlRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-timeSlot-ISCP-LCR-List-DL-PC-Rqst-TDD CRITICALITY ignore EXTENSION DL-TimeSlot-ISCP-LCR-Information PRESENCE optional}|
+ --Mandatory for 1.28Mcps TDD only
+ { ID id-PrimCCPCH-RSCP-DL-PC-RqstTDD CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP PRESENCE optional}|
+ { ID id-PrimaryCCPCH-RSCP-Delta CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP-Delta PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PHYSICAL CHANNEL RECONFIGURATION REQUEST FDD
+--
+-- **************************************************************
+
+PhysicalChannelReconfigurationRequestFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PhysicalChannelReconfigurationRequestFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PhysicalChannelReconfigurationRequestFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+PhysicalChannelReconfigurationRequestFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Information-PhyChReconfRqstFDD CRITICALITY reject TYPE RL-Information-PhyChReconfRqstFDD PRESENCE mandatory},
+ ...
+}
+
+RL-Information-PhyChReconfRqstFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ dl-CodeInformation DL-CodeInformationList-PhyChReconfRqstFDD,
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-PhyChReconfRqstFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-PhyChReconfRqstFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-F-DPCH-SlotFormat CRITICALITY ignore EXTENSION F-DPCH-SlotFormat PRESENCE optional}|
+ { ID id-FTPICH-Reconfiguration-Information CRITICALITY ignore EXTENSION FTPICH-Reconfiguration-Information PRESENCE optional},
+ ...
+}
+
+DL-CodeInformationList-PhyChReconfRqstFDD ::= ProtocolIE-Single-Container { {DL-CodeInformationListIEs-PhyChReconfRqstFDD} }
+
+DL-CodeInformationListIEs-PhyChReconfRqstFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-FDD-DL-CodeInformation CRITICALITY notify TYPE FDD-DL-CodeInformation PRESENCE mandatory }
+}
+
+PhysicalChannelReconfigurationRequestFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PHYSICAL CHANNEL RECONFIGURATION REQUEST TDD
+--
+-- **************************************************************
+
+PhysicalChannelReconfigurationRequestTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PhysicalChannelReconfigurationRequestTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PhysicalChannelReconfigurationRequestTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+PhysicalChannelReconfigurationRequestTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Information-PhyChReconfRqstTDD CRITICALITY reject TYPE RL-Information-PhyChReconfRqstTDD PRESENCE mandatory },
+ ...
+}
+
+RL-Information-PhyChReconfRqstTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ ul-CCTrCH-Information UL-CCTrCH-InformationList-PhyChReconfRqstTDD OPTIONAL,
+ dl-CCTrCH-Information DL-CCTrCH-InformationList-PhyChReconfRqstTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-PhyChReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Information-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD CRITICALITY reject EXTENSION HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD PRESENCE optional } |
+ --For 3.84Mcps TDD only
+ { ID id-HSPDSCH-Timeslot-InformationListLCR-PhyChReconfRqstTDD CRITICALITY reject EXTENSION HSPDSCH-Timeslot-InformationListLCR-PhyChReconfRqstTDD PRESENCE optional }|
+ --For 1.28Mcps TDD only
+ { ID id-HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD768 CRITICALITY reject EXTENSION HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD768 PRESENCE optional }|
+ --For 7.68Mcps TDD only
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional },
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+
+UL-CCTrCH-InformationList-PhyChReconfRqstTDD ::= ProtocolIE-Single-Container { {UL-CCTrCH-InformationListIEs-PhyChReconfRqstTDD} }
+
+UL-CCTrCH-InformationListIEs-PhyChReconfRqstTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-CCTrCH-InformationListIE-PhyChReconfRqstTDD CRITICALITY reject TYPE UL-CCTrCH-InformationListIE-PhyChReconfRqstTDD PRESENCE mandatory }
+}
+
+UL-CCTrCH-InformationListIE-PhyChReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationItem-PhyChReconfRqstTDD
+
+UL-CCTrCH-InformationItem-PhyChReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ ul-DPCH-Information UL-DPCH-InformationList-PhyChReconfRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { {UL-CCTrCH-InformationItem-PhyChReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CCTrCH-InformationItem-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-DPCH-InformationList-PhyChReconfRqstTDD ::= ProtocolIE-Single-Container {{UL-DPCH-InformationListIEs-PhyChReconfRqstTDD}}
+
+UL-DPCH-InformationListIEs-PhyChReconfRqstTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-UL-DPCH-InformationItem-PhyChReconfRqstTDD CRITICALITY notify TYPE UL-DPCH-InformationItem-PhyChReconfRqstTDD PRESENCE mandatory}
+}
+
+UL-DPCH-InformationItem-PhyChReconfRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tDD-DPCHOffset TDD-DPCHOffset OPTIONAL,
+ uL-Timeslot-InformationList-PhyChReconfRqstTDD UL-Timeslot-InformationList-PhyChReconfRqstTDD OPTIONAL,
+ --For 3.84Mcps TDD only
+ iE-Extensions ProtocolExtensionContainer { {UL-DPCH-InformationItem-PhyChReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-DPCH-InformationItem-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-Timeslot-LCR-InformationList-PhyChReconfRqstTDD CRITICALITY reject EXTENSION UL-TimeslotLCR-InformationList-PhyChReconfRqstTDD PRESENCE optional}|
+ --For 1.28Mcps TDD only
+ { ID id-UL-Timeslot-InformationList-PhyChReconfRqstTDD768 CRITICALITY reject EXTENSION UL-Timeslot-InformationList-PhyChReconfRqstTDD768 PRESENCE optional},
+ --For 7.68Mcps TDD only
+ ...
+}
+
+UL-TimeslotLCR-InformationList-PhyChReconfRqstTDD::= SEQUENCE ( SIZE (1..maxNrOfTsLCR)) OF UL-TimeslotLCR-InformationItem-PhyChReconfRqstTDD
+
+UL-TimeslotLCR-InformationItem-PhyChReconfRqstTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-LCR-Information TDD-UL-Code-LCR-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-TimeslotLCR-InformationItem-PhyChReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-TimeslotLCR-InformationItem-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PLCCH-Information-PhyChReconfRqstTDD CRITICALITY reject EXTENSION PLCCHinformation PRESENCE optional },
+ ...
+}
+
+UL-Timeslot-InformationList-PhyChReconfRqstTDD::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF UL-Timeslot-InformationItem-PhyChReconfRqstTDD
+
+UL-Timeslot-InformationItem-PhyChReconfRqstTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-Information TDD-UL-Code-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-Timeslot-InformationItem-PhyChReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationItem-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-Timeslot-InformationList-PhyChReconfRqstTDD768::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF UL-Timeslot-InformationItem-PhyChReconfRqstTDD768
+
+UL-Timeslot-InformationItem-PhyChReconfRqstTDD768 ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ uL-Code-Information768 TDD-UL-Code-Information768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UL-Timeslot-InformationItem-PhyChReconfRqstTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-Timeslot-InformationItem-PhyChReconfRqstTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CCTrCH-InformationList-PhyChReconfRqstTDD ::= ProtocolIE-Single-Container { {DL-CCTrCH-InformationListIEs-PhyChReconfRqstTDD} }
+
+DL-CCTrCH-InformationListIEs-PhyChReconfRqstTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-CCTrCH-InformationListIE-PhyChReconfRqstTDD CRITICALITY reject TYPE DL-CCTrCH-InformationListIE-PhyChReconfRqstTDD PRESENCE mandatory }
+}
+
+DL-CCTrCH-InformationListIE-PhyChReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationItem-PhyChReconfRqstTDD
+
+DL-CCTrCH-InformationItem-PhyChReconfRqstTDD ::= SEQUENCE {
+ cCTrCH-ID CCTrCH-ID,
+ dl-DPCH-Information DL-DPCH-InformationList-PhyChReconfRqstTDD,
+ iE-Extensions ProtocolExtensionContainer { {DL-CCTrCH-InformationItem-PhyChReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CCTrCH-InformationItem-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-DPCH-InformationList-PhyChReconfRqstTDD ::= ProtocolIE-Single-Container {{DL-DPCH-InformationListIEs-PhyChReconfRqstTDD}}
+
+DL-DPCH-InformationListIEs-PhyChReconfRqstTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-DL-DPCH-InformationItem-PhyChReconfRqstTDD CRITICALITY notify TYPE DL-DPCH-InformationItem-PhyChReconfRqstTDD PRESENCE mandatory}
+}
+
+DL-DPCH-InformationItem-PhyChReconfRqstTDD ::= SEQUENCE {
+ repetitionPeriod RepetitionPeriod OPTIONAL,
+ repetitionLength RepetitionLength OPTIONAL,
+ tDD-DPCHOffset TDD-DPCHOffset OPTIONAL,
+ dL-Timeslot-InformationList-PhyChReconfRqstTDD DL-Timeslot-InformationList-PhyChReconfRqstTDD OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-DPCH-InformationItem-PhyChReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-DPCH-InformationItem-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-Timeslot-LCR-InformationList-PhyChReconfRqstTDD CRITICALITY reject EXTENSION DL-TimeslotLCR-InformationList-PhyChReconfRqstTDD PRESENCE optional }|
+ --For 1.28Mcps TDD only
+ { ID id-DL-Timeslot-InformationList-PhyChReconfRqstTDD768 CRITICALITY reject EXTENSION DL-Timeslot-InformationList-PhyChReconfRqstTDD768 PRESENCE optional },
+ --For 7.68Mcps TDD only
+ ...
+}
+
+DL-TimeslotLCR-InformationList-PhyChReconfRqstTDD ::= SEQUENCE ( SIZE (1..maxNrOfTsLCR)) OF DL-TimeslotLCR-InformationItem-PhyChReconfRqstTDD
+
+DL-TimeslotLCR-InformationItem-PhyChReconfRqstTDD ::= SEQUENCE {
+ timeSlotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-LCR-Information TDD-DL-Code-LCR-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-TimeslotLCR-InformationItem-PhyChReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-TimeslotLCR-InformationItem-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-InformationList-PhyChReconfRqstTDD::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF DL-Timeslot-InformationItem-PhyChReconfRqstTDD
+
+DL-Timeslot-InformationItem-PhyChReconfRqstTDD ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-Information TDD-DL-Code-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-Timeslot-InformationItem-PhyChReconfRqstTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationItem-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Timeslot-InformationList-PhyChReconfRqstTDD768::= SEQUENCE ( SIZE (1..maxNrOfTS)) OF DL-Timeslot-InformationItem-PhyChReconfRqstTDD768
+
+DL-Timeslot-InformationItem-PhyChReconfRqstTDD768 ::= SEQUENCE {
+ timeSlot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768 OPTIONAL,
+ tFCI-Presence TFCI-Presence OPTIONAL,
+ dL-Code-Information768 TDD-DL-Code-Information768 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DL-Timeslot-InformationItem-PhyChReconfRqstTDD768-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-Timeslot-InformationItem-PhyChReconfRqstTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTs)) OF HSPDSCH-Timeslot-InformationItem-PhyChReconfRqstTDD
+
+HSPDSCH-Timeslot-InformationItem-PhyChReconfRqstTDD::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ iE-Extensions ProtocolExtensionContainer { { HSPDSCH-Timeslot-InformationItem-PhyChReconfRqstTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSPDSCH-Timeslot-InformationItem-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSPDSCH-Timeslot-InformationListLCR-PhyChReconfRqstTDD::= SEQUENCE (SIZE (1..maxNrOfDLTsLCR)) OF HSPDSCH-Timeslot-InformationItemLCR-PhyChReconfRqstTDD
+
+HSPDSCH-Timeslot-InformationItemLCR-PhyChReconfRqstTDD::= SEQUENCE {
+ timeslotLCR TimeSlotLCR,
+ midambleShiftLCR MidambleShiftLCR,
+ iE-Extensions ProtocolExtensionContainer { { HSPDSCH-Timeslot-InformationItemLCR-PhyChReconfRqstTDD-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSPDSCH-Timeslot-InformationItemLCR-PhyChReconfRqstTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD768 ::= SEQUENCE (SIZE (1..maxNrOfDLTs)) OF HSPDSCH-Timeslot-InformationItem-PhyChReconfRqstTDD768
+
+HSPDSCH-Timeslot-InformationItem-PhyChReconfRqstTDD768::= SEQUENCE {
+ timeslot TimeSlot,
+ midambleShiftAndBurstType768 MidambleShiftAndBurstType768,
+ iE-Extensions ProtocolExtensionContainer { { HSPDSCH-Timeslot-InformationItem-PhyChReconfRqstTDD768-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSPDSCH-Timeslot-InformationItem-PhyChReconfRqstTDD768-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PhysicalChannelReconfigurationRequestTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PHYSICAL CHANNEL RECONFIGURATION COMMAND
+--
+-- **************************************************************
+
+PhysicalChannelReconfigurationCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PhysicalChannelReconfigurationCommand-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PhysicalChannelReconfigurationCommand-Extensions}} OPTIONAL,
+ ...
+}
+
+PhysicalChannelReconfigurationCommand-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-CFN CRITICALITY ignore TYPE CFN PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+PhysicalChannelReconfigurationCommand-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PHYSICAL CHANNEL RECONFIGURATION FAILURE
+--
+-- **************************************************************
+
+PhysicalChannelReconfigurationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PhysicalChannelReconfigurationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PhysicalChannelReconfigurationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+PhysicalChannelReconfigurationFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+PhysicalChannelReconfigurationFailure-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK CONGESTION INDICATION
+--
+-- **************************************************************
+
+RadioLinkCongestionIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkCongestionIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkCongestionIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkCongestionIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-CongestionCause CRITICALITY ignore TYPE CongestionCause PRESENCE optional}|
+ { ID id-RL-InformationList-RL-CongestInd CRITICALITY ignore TYPE RL-InformationList-RL-CongestInd PRESENCE mandatory},
+ ...
+}
+
+RL-InformationList-RL-CongestInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-InformationItemIEs-RL-CongestInd} }
+
+RL-InformationItemIEs-RL-CongestInd RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-RL-CongestInd CRITICALITY ignore TYPE RL-InformationItem-RL-CongestInd PRESENCE mandatory }
+}
+
+RL-InformationItem-RL-CongestInd ::= SEQUENCE {
+ rL-ID RL-ID,
+ dCH-Rate-Information DCH-Rate-Information-RL-CongestInd,
+ iE-Extensions ProtocolExtensionContainer { {RL-Information-RL-CongestInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-Rate-Information-RL-CongestInd ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF ProtocolIE-Single-Container { {DCH-Rate-InformationItemIEs-RL-CongestInd} }
+
+DCH-Rate-InformationItemIEs-RL-CongestInd RNSAP-PROTOCOL-IES ::= {
+ { ID id-DCH-Rate-InformationItem-RL-CongestInd CRITICALITY ignore TYPE DCH-Rate-InformationItem-RL-CongestInd PRESENCE mandatory }
+}
+
+DCH-Rate-InformationItem-RL-CongestInd ::= SEQUENCE {
+ dCH-ID DCH-ID,
+ allowed-Rate-Information Allowed-Rate-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DCH-Rate-InformationItem-RL-CongestInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DCH-Rate-InformationItem-RL-CongestInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Information-RL-CongestInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-EDCH-MacdFlowSpecificInformationList-RL-CongestInd CRITICALITY ignore EXTENSION EDCH-MacdFlowSpecificInformationList-RL-CongestInd PRESENCE optional}|
+ { ID id-DCH-Indicator-For-E-DCH-HSDPA-Operation CRITICALITY ignore EXTENSION DCH-Indicator-For-E-DCH-HSDPA-Operation PRESENCE optional},
+ ...
+}
+
+RadioLinkCongestionIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EDCH-MacdFlowSpecificInformationList-RL-CongestInd ::= SEQUENCE (SIZE (1.. maxNrOfEDCHMACdFlows)) OF ProtocolIE-Single-Container { {EDCH-MacdFlowSpecificInformationItemIEs-RL-CongestInd} }
+
+EDCH-MacdFlowSpecificInformationItemIEs-RL-CongestInd RNSAP-PROTOCOL-IES ::= {
+ { ID id-EDCH-MacdFlowSpecificInformationItem-RL-CongestInd CRITICALITY ignore TYPE EDCH-MacdFlowSpecificInformationItem-RL-CongestInd PRESENCE mandatory }
+}
+
+EDCH-MacdFlowSpecificInformationItem-RL-CongestInd ::= SEQUENCE {
+ eDCH-MACdFlow-ID EDCH-MACdFlow-ID,
+ iE-Extensions ProtocolExtensionContainer { { EDCH-MacdFlowSpecificInformation-RL-CongestInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EDCH-MacdFlowSpecificInformation-RL-CongestInd-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK SIGNALLING TRANSFER INDICATION FDD
+--
+-- **************************************************************
+
+UplinkSignallingTransferIndicationFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UplinkSignallingTransferIndicationFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UplinkSignallingTransferIndicationFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+UplinkSignallingTransferIndicationFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UC-ID CRITICALITY ignore TYPE UC-ID PRESENCE mandatory} |
+ { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory} |
+ { ID id-GA-Cell CRITICALITY ignore TYPE GA-Cell PRESENCE optional} |
+ { ID id-C-RNTI CRITICALITY ignore TYPE C-RNTI PRESENCE mandatory} |
+ { ID id-S-RNTI CRITICALITY ignore TYPE S-RNTI PRESENCE mandatory} |
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE optional} |
+ { ID id-PropagationDelay CRITICALITY ignore TYPE PropagationDelay PRESENCE mandatory} |
+ { ID id-STTD-SupportIndicator CRITICALITY ignore TYPE STTD-SupportIndicator PRESENCE mandatory} |
+ { ID id-ClosedLoopMode1-SupportIndicator CRITICALITY ignore TYPE ClosedLoopMode1-SupportIndicator PRESENCE mandatory} |
+ { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE mandatory} |
+ { ID id-CN-PS-DomainIdentifier CRITICALITY ignore TYPE CN-PS-DomainIdentifier PRESENCE optional} |
+ { ID id-CN-CS-DomainIdentifier CRITICALITY ignore TYPE CN-CS-DomainIdentifier PRESENCE optional} |
+ { ID id-URA-Information CRITICALITY ignore TYPE URA-Information PRESENCE optional},
+ ...
+}
+
+UplinkSignallingTransferIndicationFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional}|
+ { ID id-DPC-Mode-Change-SupportIndicator CRITICALITY ignore EXTENSION DPC-Mode-Change-SupportIndicator PRESENCE optional}|
+ { ID id-CommonTransportChannelResourcesInitialisationNotRequired CRITICALITY ignore EXTENSION CommonTransportChannelResourcesInitialisationNotRequired PRESENCE optional}|
+ { ID id-CellCapabilityContainer-FDD CRITICALITY ignore EXTENSION CellCapabilityContainer-FDD PRESENCE optional}|
+ { ID id-SNA-Information CRITICALITY ignore EXTENSION SNA-Information PRESENCE optional}|
+ { ID id-CellPortionID CRITICALITY ignore EXTENSION CellPortionID PRESENCE optional}|
+ { ID id-Active-MBMS-Bearer-ServiceFDD CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListFDD PRESENCE optional}|
+ { ID id-Inter-Frequency-Cell-List CRITICALITY ignore EXTENSION Inter-Frequency-Cell-List PRESENCE optional}|
+ { ID id-ExtendedPropagationDelay CRITICALITY ignore EXTENSION ExtendedPropagationDelay PRESENCE optional}|
+ { ID id-HSDSCH-RNTI CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional}|
+ { ID id-Multiple-PLMN-List CRITICALITY ignore EXTENSION Multiple-PLMN-List PRESENCE optional}|
+ { ID id-E-RNTI CRITICALITY ignore EXTENSION E-RNTI PRESENCE optional}|
+ { ID id-Max-UE-DTX-Cycle CRITICALITY ignore EXTENSION Max-UE-DTX-Cycle PRESENCE conditional}|
+ -- This IE shall be present if the Continuous Packet Connectivity DTX-DRX Support Indicator IE in Cell Capability Container FDD IE is set to 1.
+ { ID id-CellCapabilityContainerExtension-FDD CRITICALITY ignore EXTENSION CellCapabilityContainerExtension-FDD PRESENCE optional}|
+ { ID id-Secondary-Serving-Cell-List CRITICALITY ignore EXTENSION Secondary-Serving-Cell-List PRESENCE optional}|
+ { ID id-Dual-Band-Secondary-Serving-Cell-List CRITICALITY ignore EXTENSION Secondary-Serving-Cell-List PRESENCE optional}|
+ { ID id-Extended-S-RNTI CRITICALITY ignore EXTENSION Extended-RNTI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK SIGNALLING TRANSFER INDICATION TDD
+--
+-- **************************************************************
+
+UplinkSignallingTransferIndicationTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UplinkSignallingTransferIndicationTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UplinkSignallingTransferIndicationTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+UplinkSignallingTransferIndicationTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UC-ID CRITICALITY ignore TYPE UC-ID PRESENCE mandatory} |
+ { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory} |
+ { ID id-GA-Cell CRITICALITY ignore TYPE GA-Cell PRESENCE optional} |
+ { ID id-C-RNTI CRITICALITY ignore TYPE C-RNTI PRESENCE mandatory} |
+ { ID id-S-RNTI CRITICALITY ignore TYPE S-RNTI PRESENCE mandatory} |
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE optional} |
+ { ID id-RxTimingDeviationForTA CRITICALITY ignore TYPE RxTimingDeviationForTA PRESENCE mandatory} |
+ { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE mandatory} |
+ { ID id-CN-PS-DomainIdentifier CRITICALITY ignore TYPE CN-PS-DomainIdentifier PRESENCE optional} |
+ { ID id-CN-CS-DomainIdentifier CRITICALITY ignore TYPE CN-CS-DomainIdentifier PRESENCE optional} |
+ { ID id-URA-Information CRITICALITY ignore TYPE URA-Information PRESENCE optional},
+ ...
+}
+
+UplinkSignallingTransferIndicationTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-GA-CellAdditionalShapes CRITICALITY ignore EXTENSION GA-CellAdditionalShapes PRESENCE optional }|
+ { ID id-CommonTransportChannelResourcesInitialisationNotRequired CRITICALITY ignore EXTENSION CommonTransportChannelResourcesInitialisationNotRequired PRESENCE optional }|
+ { ID id-CellCapabilityContainer-TDD CRITICALITY ignore EXTENSION CellCapabilityContainer-TDD PRESENCE optional }|
+ -- Applicable to 3.84Mcps TDD only
+ { ID id-CellCapabilityContainer-TDD-LCR CRITICALITY ignore EXTENSION CellCapabilityContainer-TDD-LCR PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-SNA-Information CRITICALITY ignore EXTENSION SNA-Information PRESENCE optional }|
+ { ID id-Active-MBMS-Bearer-ServiceTDD CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListTDD PRESENCE optional }|
+ { ID id-CellCapabilityContainer-TDD768 CRITICALITY ignore EXTENSION CellCapabilityContainer-TDD768 PRESENCE optional }|
+ -- Applicable to 7.68Mcps TDD only
+ { ID id-RxTimingDeviationForTA768 CRITICALITY ignore EXTENSION RxTimingDeviationForTA768 PRESENCE optional }|
+ { ID id-RxTimingDeviationForTAext CRITICALITY ignore EXTENSION RxTimingDeviationForTAext PRESENCE optional }|
+ { ID id-Multiple-PLMN-List CRITICALITY ignore EXTENSION Multiple-PLMN-List PRESENCE optional }|
+ { ID id-HSDSCH-RNTI CRITICALITY ignore EXTENSION HSDSCH-RNTI PRESENCE optional }|
+ { ID id-E-RNTI CRITICALITY ignore EXTENSION E-RNTI PRESENCE optional }|
+ { ID id-CellPortionLCRID CRITICALITY ignore EXTENSION CellPortionLCRID PRESENCE optional }|
+ { ID id-CellCapabilityContainerExtension-TDD-LCR CRITICALITY ignore EXTENSION CellCapabilityContainerExtension-TDD-LCR PRESENCE optional }|
+ { ID id-Extended-S-RNTI CRITICALITY ignore EXTENSION Extended-RNTI PRESENCE optional },
+ ...
+
+}
+
+-- **************************************************************
+--
+-- DOWNLINK SIGNALLING TRANSFER REQUEST
+--
+-- **************************************************************
+
+DownlinkSignallingTransferRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DownlinkSignallingTransferRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DownlinkSignallingTransferRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+DownlinkSignallingTransferRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory } |
+ -- May be a GERAN cell identifier
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE mandatory } |
+ { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE mandatory } |
+ { ID id-D-RNTI-ReleaseIndication CRITICALITY ignore TYPE D-RNTI-ReleaseIndication PRESENCE mandatory },
+ ...
+}
+
+DownlinkSignallingTransferRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-URA-ID CRITICALITY ignore EXTENSION URA-ID PRESENCE optional}|
+ { ID id-MBMS-Bearer-Service-List CRITICALITY ignore EXTENSION MBMS-Bearer-Service-List PRESENCE optional}|
+ { ID id-Old-URA-ID CRITICALITY ignore EXTENSION URA-ID PRESENCE optional}|
+ { ID id-SRNC-ID CRITICALITY ignore EXTENSION RNC-ID PRESENCE conditional}|
+ -- This IE shall be present if the URA-ID IE or Old URA-ID IE is present.
+ { ID id-Extended-SRNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional}|
+ { ID id-Enhanced-PCH-Capability CRITICALITY ignore EXTENSION Enhanced-PCH-Capability PRESENCE optional},
+ -- FDD and 1.28Mcps TDD only
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RELOCATION COMMIT
+--
+-- **************************************************************
+
+RelocationCommit ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RelocationCommit-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RelocationCommit-Extensions}} OPTIONAL,
+ ...
+}
+
+RelocationCommit-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE optional } |
+ { ID id-RANAP-RelocationInformation CRITICALITY ignore TYPE RANAP-RelocationInformation PRESENCE optional },
+ ...
+}
+
+RelocationCommit-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PAGING REQUEST
+--
+-- **************************************************************
+
+PagingRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PagingRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{PagingRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+PagingRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-PagingArea-PagingRqst CRITICALITY ignore TYPE PagingArea-PagingRqst PRESENCE mandatory}|
+ { ID id-SRNC-ID CRITICALITY ignore TYPE RNC-ID PRESENCE mandatory}| -- May be a BSC-Id.
+ { ID id-S-RNTI CRITICALITY ignore TYPE S-RNTI PRESENCE mandatory}|
+ { ID id-IMSI CRITICALITY ignore TYPE IMSI PRESENCE mandatory}|
+ { ID id-DRXCycleLengthCoefficient CRITICALITY ignore TYPE DRXCycleLengthCoefficient PRESENCE mandatory}|
+ { ID id-CNOriginatedPage-PagingRqst CRITICALITY ignore TYPE CNOriginatedPage-PagingRqst PRESENCE optional},
+ ...
+}
+
+PagingArea-PagingRqst ::= CHOICE {
+ uRA URA-PagingRqst, -- May be a GRA-ID.
+ cell Cell-PagingRqst, -- UTRAN only
+ ...
+}
+
+URA-PagingRqst ::= SEQUENCE {
+ uRA-ID URA-ID,
+ iE-Extensions ProtocolExtensionContainer { { URAItem-PagingRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+URAItem-PagingRqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cell-PagingRqst ::= SEQUENCE {
+ c-ID C-ID,
+ iE-Extensions ProtocolExtensionContainer { { CellItem-PagingRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellItem-PagingRqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CNOriginatedPage-PagingRqst::= SEQUENCE {
+ pagingCause PagingCause,
+ cNDomainType CNDomainType,
+ pagingRecordType PagingRecordType,
+ iE-Extensions ProtocolExtensionContainer { { CNOriginatedPage-PagingRqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CNOriginatedPage-PagingRqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PagingRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-SRNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional}|
+ { ID id-Enhanced-PCH-Capability CRITICALITY ignore EXTENSION Enhanced-PCH-Capability PRESENCE optional}|
+ -- FDD and 1.28Mcps TDD only
+ { ID id-Extended-S-RNTI CRITICALITY ignore EXTENSION Extended-RNTI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT INITIATION REQUEST
+--
+-- **************************************************************
+
+DedicatedMeasurementInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementInitiationRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY reject TYPE MeasurementID PRESENCE mandatory } |
+ { ID id-DedicatedMeasurementObjectType-DM-Rqst CRITICALITY reject TYPE DedicatedMeasurementObjectType-DM-Rqst PRESENCE mandatory } |
+
+ { ID id-DedicatedMeasurementType CRITICALITY reject TYPE DedicatedMeasurementType PRESENCE mandatory } |
+ { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional } |
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory }|
+ { ID id-CFNReportingIndicator CRITICALITY reject TYPE FNReportingIndicator PRESENCE mandatory }|
+ { ID id-CFN CRITICALITY reject TYPE CFN PRESENCE optional },
+ ...
+}
+
+DedicatedMeasurementObjectType-DM-Rqst ::= CHOICE {
+ rL RL-DM-Rqst,
+ rLS RL-Set-DM-Rqst,
+ allRL All-RL-DM-Rqst,
+ allRLS All-RL-Set-DM-Rqst,
+ ...
+}
+
+RL-DM-Rqst ::= SEQUENCE {
+ rL-InformationList-DM-Rqst RL-InformationList-DM-Rqst,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+RLItem-DM-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-Information-DM-Rqst-IEs} }
+
+RL-Information-DM-Rqst-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-DM-Rqst CRITICALITY reject TYPE RL-InformationItem-DM-Rqst PRESENCE mandatory }
+}
+
+RL-InformationItem-DM-Rqst ::= SEQUENCE {
+ rL-ID RL-ID,
+ dPCH-ID DPCH-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationItem-DM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-DM-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HSSICH-Info-DM-Rqst CRITICALITY reject EXTENSION HSSICH-Info-DM-Rqst PRESENCE optional}|
+ -- TDD only
+ { ID id-DPCH-ID768-DM-Rqst CRITICALITY reject EXTENSION DPCH-ID768 PRESENCE optional}|
+ { ID id-HSSICH-Info-DM-Rqst-Extension CRITICALITY reject EXTENSION HSSICH-Info-DM-Rqst-Extension PRESENCE optional},
+ -- Applicable for 1.28Mcps TDD only when the HS-SICH ID IE is more than 31
+ ...
+}
+
+HSSICH-Info-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfHSSICHs)) OF HS-SICH-ID
+
+HSSICH-Info-DM-Rqst-Extension ::= SEQUENCE (SIZE (1..maxNrOfHSSICHs)) OF HS-SICH-ID-Extension
+
+RL-Set-DM-Rqst ::= SEQUENCE {
+ rL-Set-InformationList-DM-Rqst RL-Set-InformationList-DM-Rqst,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+RL-SetItem-DM-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-InformationList-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container { {RL-Set-Information-DM-Rqst-IEs} }
+
+RL-Set-Information-DM-Rqst-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-InformationItem-DM-Rqst CRITICALITY reject TYPE RL-Set-InformationItem-DM-Rqst PRESENCE mandatory }
+}
+
+RL-Set-InformationItem-DM-Rqst ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ iE-Extensions ProtocolExtensionContainer { {RL-Set-InformationItem-DM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-InformationItem-DM-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+All-RL-DM-Rqst ::= NULL
+
+All-RL-Set-DM-Rqst ::= NULL
+
+DedicatedMeasurementInitiationRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PartialReportingIndicator CRITICALITY ignore EXTENSION PartialReportingIndicator PRESENCE optional }|
+ { ID id-MeasurementRecoveryBehavior CRITICALITY ignore EXTENSION MeasurementRecoveryBehavior PRESENCE optional }|
+ { ID id-AlternativeFormatReportingIndicator CRITICALITY ignore EXTENSION AlternativeFormatReportingIndicator PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT INITIATION RESPONSE
+--
+-- **************************************************************
+
+DedicatedMeasurementInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementInitiationResponse-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory} |
+ { ID id-DedicatedMeasurementObjectType-DM-Rsp CRITICALITY ignore TYPE DedicatedMeasurementObjectType-DM-Rsp PRESENCE optional} |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+DedicatedMeasurementObjectType-DM-Rsp ::= CHOICE {
+ rLs RL-DM-Rsp,
+ rLS RL-Set-DM-Rsp,
+ allRL RL-DM-Rsp,
+ allRLS RL-Set-DM-Rsp,
+ ...
+}
+
+RL-DM-Rsp ::= SEQUENCE {
+ rL-InformationList-DM-Rsp RL-InformationList-DM-Rsp,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLItem-DM-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-DM-Rsp ::= SEQUENCE {
+ rL-Set-InformationList-DM-Rsp RL-Set-InformationList-DM-Rsp,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-SetItem-DM-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-Information-DM-Rsp-IEs} }
+
+RL-Information-DM-Rsp-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-DM-Rsp CRITICALITY ignore TYPE RL-InformationItem-DM-Rsp PRESENCE mandatory }
+}
+
+RL-InformationItem-DM-Rsp ::= SEQUENCE {
+ rL-ID RL-ID,
+ dPCH-ID DPCH-ID OPTIONAL,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ cFN CFN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationItem-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-DM-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-HSSICH-Info-DM CRITICALITY reject EXTENSION HS-SICH-ID PRESENCE optional}|
+ -- TDD only
+ { ID id-multiple-DedicatedMeasurementValueList-TDD-DM-Rsp CRITICALITY ignore EXTENSION Multiple-DedicatedMeasurementValueList-TDD-DM-Rsp PRESENCE optional}|
+ -- Applicable to 3.84Mcps TDD only. This list of dedicated measurement values is used for the 2nd and beyond measurements of a RL when multiple dedicated measurement values need to be reported.
+ { ID id-multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp CRITICALITY ignore EXTENSION Multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp PRESENCE optional}|
+ -- Applicable to 1.28Mcps TDD only. This list of dedicated measurement values is used for the 2nd and beyond measurements of a RL when multiple dedicated measurement values need to be reported.
+ { ID id-multiple-HSSICHMeasurementValueList-TDD-DM-Rsp CRITICALITY ignore EXTENSION Multiple-HSSICHMeasurementValueList-TDD-DM-Rsp PRESENCE optional}|
+ -- TDD only. This list of HS-SICH measurement values is used for the 2nd and beyond measurements of a RL when multiple HS-SICH measurement values need to be reported.
+ { ID id-multiple-DedicatedMeasurementValueList-TDD768-DM-Rsp CRITICALITY ignore EXTENSION Multiple-DedicatedMeasurementValueList-TDD768-DM-Rsp PRESENCE optional}|
+ -- Applicable to 7.68Mcps TDD only. This list of dedicated measurement values is used for the 2nd and beyond measurements of a RL when multiple dedicated measurement values need to be reported.
+ { ID id-DPCH-ID768-DM-Rsp CRITICALITY ignore EXTENSION DPCH-ID768 PRESENCE optional}|
+ { ID id-HS-SICH-ID-Extension CRITICALITY ignore EXTENSION HS-SICH-ID-Extension PRESENCE optional},
+ -- Applicable for 1.28Mcps TDD only when the HS-SICH ID IE is more than 31
+ ...
+}
+
+RL-Set-InformationList-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container { {RL-Set-Information-DM-Rsp-IEs} }
+
+RL-Set-Information-DM-Rsp-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-InformationItem-DM-Rsp CRITICALITY ignore TYPE RL-Set-InformationItem-DM-Rsp PRESENCE mandatory }
+}
+
+RL-Set-InformationItem-DM-Rsp ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ cFN CFN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-Set-InformationItem-DM-Rspns-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-InformationItem-DM-Rspns-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DedicatedMeasurementInitiationResponse-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MeasurementRecoverySupportIndicator CRITICALITY ignore EXTENSION MeasurementRecoverySupportIndicator PRESENCE optional
+ },
+ ...
+}
+
+Multiple-DedicatedMeasurementValueList-TDD-DM-Rsp ::= SEQUENCE (SIZE (1.. maxNrOfDPCHsPerRL-1)) OF Multiple-DedicatedMeasurementValueItem-TDD-DM-Rsp
+
+Multiple-DedicatedMeasurementValueItem-TDD-DM-Rsp ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-DedicatedMeasurementValueItem-TDD-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+Multiple-DedicatedMeasurementValueItem-TDD-DM-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp ::= SEQUENCE (SIZE (1.. maxNrOfDPCHsLCRPerRL-1)) OF Multiple-DedicatedMeasurementValueItem-LCR-TDD-DM-Rsp
+
+Multiple-DedicatedMeasurementValueItem-LCR-TDD-DM-Rsp ::= SEQUENCE {
+ dPCH-ID DPCH-ID,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-DedicatedMeasurementValueItem-LCR-TDD-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Multiple-DedicatedMeasurementValueItem-LCR-TDD-DM-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Multiple-HSSICHMeasurementValueList-TDD-DM-Rsp ::= SEQUENCE (SIZE (1.. maxNrOfHSSICHs-1)) OF Multiple-HSSICHMeasurementValueItem-TDD-DM-Rsp
+
+Multiple-HSSICHMeasurementValueItem-TDD-DM-Rsp ::= SEQUENCE {
+ hsSICH-ID HS-SICH-ID,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-HSSICHMeasurementValueItem-TDD-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+Multiple-HSSICHMeasurementValueItem-TDD-DM-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-HS-SICH-ID-Extension CRITICALITY ignore EXTENSION HS-SICH-ID-Extension PRESENCE optional},
+ -- Applicable for 1.28Mcps TDD only when the HS-SICH ID IE is more than 31
+ ...
+}
+
+Multiple-DedicatedMeasurementValueList-TDD768-DM-Rsp ::= SEQUENCE (SIZE (1.. maxNrOfDPCHs768PerRL-1)) OF Multiple-DedicatedMeasurementValueItem-TDD768-DM-Rsp
+
+Multiple-DedicatedMeasurementValueItem-TDD768-DM-Rsp ::= SEQUENCE {
+ dPCH-ID768 DPCH-ID768,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { Multiple-DedicatedMeasurementValueItem-TDD768-DM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+
+}
+
+Multiple-DedicatedMeasurementValueItem-TDD768-DM-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT INITIATION FAILURE
+--
+-- **************************************************************
+
+DedicatedMeasurementInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementInitiationFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+DedicatedMeasurementInitiationFailure-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DedicatedMeasurementObjectType-DM-Fail CRITICALITY ignore EXTENSION DedicatedMeasurementObjectType-DM-Fail PRESENCE optional },
+ ...
+}
+
+DedicatedMeasurementObjectType-DM-Fail ::= CHOICE {
+ rL RL-DM-Fail,
+ rLS RL-Set-DM-Fail,
+ allRL RL-DM-Fail,
+ allRLS RL-Set-DM-Fail,
+ ...
+}
+
+RL-DM-Fail ::= SEQUENCE {
+ rL-unsuccessful-InformationRespList-DM-Fail RL-Unsuccessful-InformationRespList-DM-Fail,
+ rL-successful-InformationRespList-DM-Fail RL-Successful-InformationRespList-DM-Fail OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Fail-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLItem-DM-Fail-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-DM-Fail ::= SEQUENCE {
+ rL-Set-unsuccessful-InformationRespList-DM-Fail RL-Set-Unsuccessful-InformationRespList-DM-Fail,
+ rL-Set-successful-InformationRespList-DM-Fail RL-Set-Successful-InformationRespList-DM-Fail OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Fail-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-SetItem-DM-Fail-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Unsuccessful-InformationRespList-DM-Fail ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-Unsuccessful-InformationResp-DM-Fail-IEs} }
+
+RL-Unsuccessful-InformationResp-DM-Fail-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Unsuccessful-InformationItem-DM-Fail CRITICALITY ignore TYPE RL-Unsuccessful-InformationItem-DM-Fail PRESENCE mandatory }
+}
+
+RL-Unsuccessful-InformationItem-DM-Fail ::= SEQUENCE {
+ rL-ID RL-ID,
+ individualcause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-Unsuccessful-InformationItem-DM-Fail-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Unsuccessful-InformationItem-DM-Fail-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Successful-InformationRespList-DM-Fail ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container { {RL-Successful-InformationResp-DM-Fail-IEs} }
+
+RL-Successful-InformationResp-DM-Fail-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Successful-InformationItem-DM-Fail CRITICALITY ignore TYPE RL-Successful-InformationItem-DM-Fail PRESENCE mandatory }
+}
+
+RL-Successful-InformationItem-DM-Fail ::= SEQUENCE {
+ rL-ID RL-ID,
+ dPCH-ID DPCH-ID OPTIONAL,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ cFN CFN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-Successful-InformationItem-DM-Fail-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Successful-InformationItem-DM-Fail-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-HSSICH-Info-DM CRITICALITY reject EXTENSION HS-SICH-ID PRESENCE optional}|
+ -- TDD only
+ { ID id-HS-SICH-ID-Extension CRITICALITY ignore EXTENSION HS-SICH-ID-Extension PRESENCE optional},
+ -- Applicable for 1.28Mcps TDD only when the HS-SICH ID IE is more than 31
+ ...
+}
+
+RL-Set-Unsuccessful-InformationRespList-DM-Fail ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container { {RL-Set-Unsuccessful-InformationResp-DM-Fail-IEs} }
+
+RL-Set-Unsuccessful-InformationResp-DM-Fail-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-Unsuccessful-InformationItem-DM-Fail CRITICALITY ignore TYPE RL-Set-Unsuccessful-InformationItem-DM-Fail PRESENCE mandatory }
+}
+
+RL-Set-Unsuccessful-InformationItem-DM-Fail ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ individualcause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-Set-Unsuccessful-InformationItem-DM-Failns-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-Unsuccessful-InformationItem-DM-Failns-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-Successful-InformationRespList-DM-Fail ::= SEQUENCE (SIZE (1..maxNrOfRLSets-1)) OF ProtocolIE-Single-Container { {RL-Set-Successful-InformationResp-DM-Fail-IEs} }
+
+RL-Set-Successful-InformationResp-DM-Fail-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-Successful-InformationItem-DM-Fail CRITICALITY ignore TYPE RL-Set-Successful-InformationItem-DM-Fail PRESENCE mandatory }
+}
+
+RL-Set-Successful-InformationItem-DM-Fail ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ dedicatedMeasurementValue DedicatedMeasurementValue,
+ cFN CFN OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-Set-Successful-InformationItem-DM-Failns-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-Successful-InformationItem-DM-Failns-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT REPORT
+--
+-- **************************************************************
+
+DedicatedMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementReport-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementReport-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
+ { ID id-DedicatedMeasurementObjectType-DM-Rprt CRITICALITY ignore TYPE DedicatedMeasurementObjectType-DM-Rprt PRESENCE mandatory },
+ ...
+}
+
+DedicatedMeasurementObjectType-DM-Rprt ::= CHOICE {
+ rLs RL-DM-Rprt,
+ rLS RL-Set-DM-Rprt,
+ allRL RL-DM-Rprt,
+ allRLS RL-Set-DM-Rprt,
+ ...
+}
+
+RL-DM-Rprt ::= SEQUENCE {
+ rL-InformationList-DM-Rprt RL-InformationList-DM-Rprt,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLItem-DM-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-DM-Rprt ::= SEQUENCE {
+ rL-Set-InformationList-DM-Rprt RL-Set-InformationList-DM-Rprt,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-SetItem-DM-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-InformationList-DM-Rprt ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-Information-DM-Rprt-IEs} }
+
+RL-Information-DM-Rprt-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-InformationItem-DM-Rprt CRITICALITY ignore TYPE RL-InformationItem-DM-Rprt PRESENCE mandatory }
+}
+
+RL-InformationItem-DM-Rprt ::= SEQUENCE {
+ rL-ID RL-ID,
+ dPCH-ID DPCH-ID OPTIONAL,
+ dedicatedMeasurementValueInformation DedicatedMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer { {RL-InformationItem-DM-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-InformationItem-DM-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-HSSICH-Info-DM-Rprt CRITICALITY ignore EXTENSION HS-SICH-ID PRESENCE optional}|
+ -- TDD only
+ { ID id-DPCH-ID768-DM-Rprt CRITICALITY ignore EXTENSION DPCH-ID768 PRESENCE optional}|
+ { ID id-HS-SICH-ID-Extension CRITICALITY ignore EXTENSION HS-SICH-ID-Extension PRESENCE optional},
+ -- Applicable for 1.28Mcps TDD only when the HS-SICH ID IE is more than 31
+ ...
+}
+
+RL-Set-InformationList-DM-Rprt ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container { {RL-Set-Information-DM-Rprt-IEs} }
+
+RL-Set-Information-DM-Rprt-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-InformationItem-DM-Rprt CRITICALITY ignore TYPE RL-Set-InformationItem-DM-Rprt PRESENCE mandatory }
+}
+
+RL-Set-InformationItem-DM-Rprt ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ dedicatedMeasurementValueInformation DedicatedMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer { {RL-Set-InformationItem-DM-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-InformationItem-DM-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DedicatedMeasurementReport-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MeasurementRecoveryReportingIndicator CRITICALITY ignore EXTENSION MeasurementRecoveryReportingIndicator PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT TERMINATION REQUEST
+--
+-- **************************************************************
+
+DedicatedMeasurementTerminationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementTerminationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementTerminationRequest-Extensions}}OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementTerminationRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory },
+ ...
+}
+
+DedicatedMeasurementTerminationRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DEDICATED MEASUREMENT FAILURE INDICATION
+--
+-- **************************************************************
+
+DedicatedMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DedicatedMeasurementFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+DedicatedMeasurementFailureIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+DedicatedMeasurementFailureIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DedicatedMeasurementObjectType-DM-Fail-Ind CRITICALITY ignore EXTENSION DedicatedMeasurementObjectType-DM-Fail-Ind PRESENCE optional },
+ ...
+}
+
+DedicatedMeasurementObjectType-DM-Fail-Ind ::= CHOICE {
+ rL RL-DM-Fail-Ind,
+ rLS RL-Set-DM-Fail-Ind,
+ allRL RL-DM-Fail-Ind,
+ allRLS RL-Set-DM-Fail-Ind,
+ ...
+}
+
+RL-DM-Fail-Ind ::= SEQUENCE {
+ rL-unsuccessful-InformationRespList-DM-Fail-Ind RL-Unsuccessful-InformationRespList-DM-Fail-Ind,
+ iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Fail-Ind-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLItem-DM-Fail-Ind-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-DM-Fail-Ind ::= SEQUENCE {
+ rL-Set-unsuccessful-InformationRespList-DM-Fail-Ind RL-Set-Unsuccessful-InformationRespList-DM-Fail-Ind,
+ iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Fail-Ind-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-SetItem-DM-Fail-Ind-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Unsuccessful-InformationRespList-DM-Fail-Ind ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-Unsuccessful-InformationResp-DM-Fail-Ind-IEs} }
+
+RL-Unsuccessful-InformationResp-DM-Fail-Ind-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Unsuccessful-InformationItem-DM-Fail-Ind CRITICALITY ignore TYPE RL-Unsuccessful-InformationItem-DM-Fail-Ind PRESENCE mandatory }
+}
+
+RL-Unsuccessful-InformationItem-DM-Fail-Ind ::= SEQUENCE {
+ rL-ID RL-ID,
+ individualcause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-Unsuccessful-InformationItem-DM-Fail-Ind-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Unsuccessful-InformationItem-DM-Fail-Ind-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RL-Set-Unsuccessful-InformationRespList-DM-Fail-Ind ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container { {RL-Set-Unsuccessful-InformationResp-DM-Fail-Ind-IEs} }
+
+RL-Set-Unsuccessful-InformationResp-DM-Fail-Ind-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-Set-Unsuccessful-InformationItem-DM-Fail-Ind CRITICALITY ignore TYPE RL-Set-Unsuccessful-InformationItem-DM-Fail-Ind PRESENCE mandatory }
+}
+
+RL-Set-Unsuccessful-InformationItem-DM-Fail-Ind ::= SEQUENCE {
+ rL-Set-ID RL-Set-ID,
+ individualcause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RL-Set-Unsuccessful-InformationItem-DM-Fail-Indns-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-Set-Unsuccessful-InformationItem-DM-Fail-Indns-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL RESOURCES RELEASE REQUEST
+--
+-- **************************************************************
+
+CommonTransportChannelResourcesReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelResourcesReleaseRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelResourcesReleaseRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelResourcesReleaseRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE mandatory},
+ ...
+}
+
+CommonTransportChannelResourcesReleaseRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL RESOURCES REQUEST
+--
+-- **************************************************************
+
+CommonTransportChannelResourcesRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelResourcesRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelResourcesRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelResourcesRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-D-RNTI CRITICALITY reject TYPE D-RNTI PRESENCE mandatory } |
+ { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE optional } |
+ { ID id-TransportBearerRequestIndicator CRITICALITY reject TYPE TransportBearerRequestIndicator PRESENCE mandatory } |
+ { ID id-TransportBearerID CRITICALITY reject TYPE TransportBearerID PRESENCE mandatory },
+ ...
+}
+
+CommonTransportChannelResourcesRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Permanent-NAS-UE-Identity CRITICALITY ignore EXTENSION Permanent-NAS-UE-Identity PRESENCE optional }|
+ { ID id-BindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
+ -- Shall be ignored if bearer establishment with ALCAP.
+ { ID id-MBMS-Bearer-Service-List CRITICALITY notify EXTENSION MBMS-Bearer-Service-List PRESENCE optional }|
+ { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional }|
+ { ID id-Enhanced-FACH-Support-Indicator CRITICALITY ignore EXTENSION Enhanced-FACH-Support-Indicator PRESENCE optional }|
+ -- FDD and 1.28Mcps TDD only
+ { ID id-Common-EDCH-Support-Indicator CRITICALITY ignore EXTENSION Common-EDCH-Support-Indicator PRESENCE optional }|
+ -- FDD only
+ { ID id-HSDSCH-Physical-Layer-Category CRITICALITY ignore EXTENSION HSDSCH-Physical-Layer-Category PRESENCE optional }|
+ { ID id-UE-with-enhanced-HS-SCCH-support-indicator CRITICALITY ignore EXTENSION NULL PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL RESOURCES RESPONSE FDD
+--
+-- **************************************************************
+
+CommonTransportChannelResourcesResponseFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelResourcesResponseFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelResourcesResponseFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelResourcesResponseFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-S-RNTI CRITICALITY ignore TYPE S-RNTI PRESENCE mandatory } |
+ { ID id-C-RNTI CRITICALITY ignore TYPE C-RNTI PRESENCE optional } |
+ { ID id-FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspFDD CRITICALITY ignore TYPE FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspFDD PRESENCE mandatory } |
+ { ID id-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional } |
+ { ID id-BindingID CRITICALITY ignore TYPE BindingID PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspFDD ::= SEQUENCE {
+ fACH-FlowControlInformation FACH-FlowControlInformation-CTCH-ResourceRspFDD,
+-- If the Enhanced FACH Information Response IE is included in the message, the FACH Flow Control Information IE shall be ignored.
+ iE-Extensions ProtocolExtensionContainer { {FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FACH-FlowControlInformation-CTCH-ResourceRspFDD ::= ProtocolIE-Single-Container {{ FACH-FlowControlInformationIEs-CTCH-ResourceRspFDD }}
+
+FACH-FlowControlInformationIEs-CTCH-ResourceRspFDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-FACH-FlowControlInformation CRITICALITY ignore TYPE FACH-FlowControlInformation PRESENCE mandatory }
+}
+
+CommonTransportChannelResourcesResponseFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-C-ID CRITICALITY ignore EXTENSION C-ID PRESENCE mandatory}|
+ { ID id-Active-MBMS-Bearer-ServiceFDD CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListFDD PRESENCE optional}|
+ { ID id-Enhanced-FACH-Information-ResponseFDD CRITICALITY ignore EXTENSION Enhanced-FACH-Information-ResponseFDD PRESENCE optional}|
+ { ID id-Common-EDCH-MAC-d-Flow-Specific-InformationFDD CRITICALITY ignore EXTENSION Common-EDCH-MAC-d-Flow-Specific-InformationFDD PRESENCE optional}|
+ { ID id-E-RNTI CRITICALITY ignore EXTENSION E-RNTI PRESENCE optional}|
+ { ID id-Extended-S-RNTI CRITICALITY ignore EXTENSION Extended-RNTI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL RESOURCES RESPONSE TDD
+--
+-- **************************************************************
+
+CommonTransportChannelResourcesResponseTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelResourcesResponseTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelResourcesResponseTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelResourcesResponseTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-S-RNTI CRITICALITY ignore TYPE S-RNTI PRESENCE mandatory } |
+ { ID id-C-RNTI CRITICALITY ignore TYPE C-RNTI PRESENCE optional } |
+ { ID id-FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspTDD CRITICALITY ignore TYPE FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspTDD PRESENCE mandatory } |
+ { ID id-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional } |
+ { ID id-BindingID CRITICALITY ignore TYPE BindingID PRESENCE optional } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspTDD ::= SEQUENCE {
+ fACH-FlowControlInformation FACH-FlowControlInformation-CTCH-ResourceRspTDD,
+ iE-Extensions ProtocolExtensionContainer { {FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FACH-FlowControlInformation-CTCH-ResourceRspTDD ::= ProtocolIE-Single-Container {{ FACH-FlowControlInformationIEs-CTCH-ResourceRspTDD }}
+
+FACH-FlowControlInformationIEs-CTCH-ResourceRspTDD RNSAP-PROTOCOL-IES ::= {
+ { ID id-FACH-FlowControlInformation CRITICALITY ignore TYPE FACH-FlowControlInformation PRESENCE mandatory }
+}
+
+CommonTransportChannelResourcesResponseTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-C-ID CRITICALITY ignore EXTENSION C-ID PRESENCE mandatory}|
+ { ID id-Active-MBMS-Bearer-ServiceTDD CRITICALITY ignore EXTENSION Active-MBMS-Bearer-Service-ListTDD PRESENCE optional}|
+ { ID id-Enhanced-FACH-Information-ResponseLCR CRITICALITY ignore EXTENSION Enhanced-FACH-Information-ResponseLCR PRESENCE optional}|
+ { ID id-Common-EDCH-MAC-d-Flow-Specific-InformationLCR CRITICALITY ignore EXTENSION Common-EDCH-MAC-d-Flow-Specific-InformationLCR PRESENCE optional}|
+ { ID id-Extended-S-RNTI CRITICALITY ignore EXTENSION Extended-RNTI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON TRANSPORT CHANNEL RESOURCES FAILURE
+--
+-- **************************************************************
+
+CommonTransportChannelResourcesFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonTransportChannelResourcesFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelResourcesFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonTransportChannelResourcesFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-S-RNTI CRITICALITY ignore TYPE S-RNTI PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CommonTransportChannelResourcesFailure-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-S-RNTI CRITICALITY ignore EXTENSION Extended-RNTI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- COMPRESSED MODE COMMAND
+--
+-- **************************************************************
+
+CompressedModeCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CompressedModeCommand-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CompressedModeCommand-Extensions}} OPTIONAL,
+ ...
+}
+
+CompressedModeCommand-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Active-Pattern-Sequence-Information CRITICALITY ignore TYPE Active-Pattern-Sequence-Information PRESENCE mandatory },
+ ...
+}
+
+CompressedModeCommand-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ErrorIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+ErrorIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+ErrorIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-S-RNTI CRITICALITY ignore EXTENSION S-RNTI PRESENCE optional}|
+ { ID id-D-RNTI CRITICALITY ignore EXTENSION D-RNTI PRESENCE optional}|
+ { ID id-Extended-S-RNTI CRITICALITY ignore EXTENSION Extended-RNTI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT INITIATION REQUEST
+--
+-- **************************************************************
+
+CommonMeasurementInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementInitiationRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY reject TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-CommonMeasurementObjectType-CM-Rqst CRITICALITY reject TYPE CommonMeasurementObjectType-CM-Rqst PRESENCE mandatory }|
+ { ID id-CommonMeasurementType CRITICALITY reject TYPE CommonMeasurementType PRESENCE mandatory }|
+ { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional }|
+ -- UTRAN only
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory }|
+ { ID id-SFNReportingIndicator CRITICALITY reject TYPE FNReportingIndicator PRESENCE mandatory } |
+ { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional }|
+ -- UTRAN only
+ { ID id-CommonMeasurementAccuracy CRITICALITY reject TYPE CommonMeasurementAccuracy PRESENCE optional },
+ -- UTRAN only
+ ...
+}
+
+CommonMeasurementInitiationRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MeasurementRecoveryBehavior CRITICALITY ignore EXTENSION MeasurementRecoveryBehavior PRESENCE optional
+ }|
+ -- UTRAN only
+ { ID id-GANSS-Time-ID CRITICALITY ignore EXTENSION GANSS-Time-ID PRESENCE optional}|
+ { ID id-Extension-CommonMeasurementObjectType-CM-Rqst CRITICALITY ignore EXTENSION Extension-CommonMeasurementObjectType-CM-Rqst PRESENCE optional},
+ ...
+}
+
+CommonMeasurementObjectType-CM-Rqst ::= CHOICE {
+ cell Cell-CM-Rqst,
+ ...,
+ additional-CommonMeasurementObjectType-CM-Rqst Additional-CommonMeasurementObjectType-CM-Rqst
+}
+
+Cell-CM-Rqst ::= SEQUENCE {
+ uC-ID UC-ID,
+ -- May be a GERAN cell identifier
+ timeSlot TimeSlot OPTIONAL, --3.84Mcps TDD and 7.68Mcps TDD only
+ timeSlotLCR TimeSlotLCR OPTIONAL, --1.28Mcps TDD only
+ neighbouringCellMeasurementInformation NeighbouringCellMeasurementInfo OPTIONAL,
+ -- UTRAN only
+ iE-Extensions ProtocolExtensionContainer { { CellItem-CM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbouringCellMeasurementInfo ::= SEQUENCE (SIZE (1..maxNrOfMeasNCell)) OF
+ CHOICE {
+ neighbouringFDDCellMeasurementInformation NeighbouringFDDCellMeasurementInformation,
+ neighbouringTDDCellMeasurementInformation NeighbouringTDDCellMeasurementInformation,
+ ...,
+ extension-neighbouringCellMeasurementInformation Extension-neighbouringCellMeasurementInformation,
+ extension-neighbouringCellMeasurementInformation768 Extension-neighbouringCellMeasurementInformation768
+ }
+
+Extension-neighbouringCellMeasurementInformation ::= ProtocolIE-Single-Container {{ Extension-neighbouringCellMeasurementInformationIE }}
+
+Extension-neighbouringCellMeasurementInformationIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-neighbouringTDDCellMeasurementInformationLCR CRITICALITY reject TYPE NeighbouringTDDCellMeasurementInformationLCR PRESENCE mandatory },
+ ...
+}
+
+
+Extension-neighbouringCellMeasurementInformation768 ::= ProtocolIE-Single-Container {{ Extension-neighbouringCellMeasurementInformation768IE }}
+
+Extension-neighbouringCellMeasurementInformation768IE RNSAP-PROTOCOL-IES ::= {
+ { ID id-neighbouringTDDCellMeasurementInformation768 CRITICALITY reject TYPE NeighbouringTDDCellMeasurementInformation768 PRESENCE mandatory },
+ ...
+}
+
+CellItem-CM-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UARFCNforNt CRITICALITY ignore EXTENSION UARFCN PRESENCE optional }|
+ -- Applicable to 1.28Mcps TDD only
+ { ID id-UPPCHPositionLCR CRITICALITY reject EXTENSION UPPCHPositionLCR PRESENCE optional},
+ -- Applicable to 1.28Mcps TDD only
+ ...
+}
+Additional-CommonMeasurementObjectType-CM-Rqst ::= ProtocolIE-Single-Container {{ Additional-CommonMeasurementObjectType-CM-RqstIE }}
+
+Additional-CommonMeasurementObjectType-CM-RqstIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-GSM-Cell-CM-Rqst CRITICALITY ignore TYPE GSM-Cell-CM-Rqst PRESENCE mandatory },
+ ...
+}
+
+GSM-Cell-CM-Rqst ::= SEQUENCE {
+ cGI CGI,
+ iE-Extensions ProtocolExtensionContainer { { GSMCell-CM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GSMCell-CM-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extension-CommonMeasurementObjectType-CM-Rqst ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementObjectType-CM-RqstIE }}
+
+Extension-CommonMeasurementObjectType-CM-RqstIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-GsmCellList-CM-Rqst CRITICALITY ignore TYPE GsmCellList-CM-Rqst PRESENCE mandatory },
+ ...
+}
+
+GsmCellList-CM-Rqst ::= SEQUENCE (SIZE (1..maxNoOfGsmCell)) OF GsmCellItem-CM-Rqst
+
+GsmCellItem-CM-Rqst ::= SEQUENCE {
+ measurementID MeasurementID,
+ gsmCell GSM-Cell-CM-Rqst,
+ iE-Extensions ProtocolExtensionContainer { { GsmCellItem-CM-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GsmCellItem-CM-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT INITIATION RESPONSE
+--
+-- **************************************************************
+
+CommonMeasurementInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementInitiationResponse-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-CommonMeasurementObjectType-CM-Rsp CRITICALITY ignore TYPE CommonMeasurementObjectType-CM-Rsp PRESENCE optional }|
+ { ID id-SFN CRITICALITY ignore TYPE SFN PRESENCE optional }|
+ -- UTRAN only
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-CommonMeasurementAccuracy CRITICALITY reject TYPE CommonMeasurementAccuracy PRESENCE optional },
+ -- UTRAN only
+ ...
+}
+
+CommonMeasurementInitiationResponse-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MeasurementRecoverySupportIndicator CRITICALITY ignore EXTENSION MeasurementRecoverySupportIndicator PRESENCE optional }|
+ -- UTRAN only
+ { ID id-Extension-CommonMeasurementObjectType-CM-Rsp CRITICALITY ignore EXTENSION Extension-CommonMeasurementObjectType-CM-Rsp PRESENCE optional},
+ ...
+}
+
+CommonMeasurementObjectType-CM-Rsp ::= CHOICE {
+ cell Cell-CM-Rsp,
+ ...
+}
+
+Cell-CM-Rsp ::= SEQUENCE {
+ commonMeasurementValue CommonMeasurementValue,
+ iE-Extensions ProtocolExtensionContainer { { CellItem-CM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellItem-CM-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+Extension-CommonMeasurementObjectType-CM-Rsp ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementObjectType-CM-RspIE }}
+
+Extension-CommonMeasurementObjectType-CM-RspIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-GsmCellList-CM-Rsp CRITICALITY ignore TYPE GsmCellList-CM-Rsp PRESENCE mandatory },
+ ...
+}
+
+GsmCellList-CM-Rsp ::= SEQUENCE (SIZE (1..maxNoOfGsmCell)) OF GsmCellItem-CM-Rsp
+
+GsmCellItem-CM-Rsp ::= SEQUENCE {
+ measurementID MeasurementID,
+ commonMeasurementValue CommonMeasurementValue OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GsmCellItem-CM-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GsmCellItem-CM-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT INITIATION FAILURE
+--
+-- **************************************************************
+
+CommonMeasurementInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementInitiationFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+CommonMeasurementInitiationFailure-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extension-FailureMeasurementList CRITICALITY ignore EXTENSION Extension-FailureMeasurementList PRESENCE optional },
+ ...
+}
+
+Extension-FailureMeasurementList ::= SEQUENCE (SIZE (1..maxNoOfGsmCell)) OF Extension-FailureMeasurementItem
+Extension-FailureMeasurementItem ::= SEQUENCE {
+ measurementID MeasurementID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { Extension-FailureMeasurementItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Extension-FailureMeasurementItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT REPORT
+--
+-- **************************************************************
+
+CommonMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementReport-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementReport-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-CommonMeasurementObjectType-CM-Rprt CRITICALITY ignore TYPE CommonMeasurementObjectType-CM-Rprt PRESENCE mandatory }|
+ { ID id-SFN CRITICALITY ignore TYPE SFN PRESENCE optional },
+ -- UTRAN only
+ ...
+}
+
+CommonMeasurementReport-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-MeasurementRecoveryReportingIndicator CRITICALITY ignore EXTENSION MeasurementRecoveryReportingIndicator PRESENCE optional }|
+ -- UTRAN only
+ { ID id-Extension-CommonMeasurementObjectType-CM-Rprt CRITICALITY ignore EXTENSION Extension-CommonMeasurementObjectType-CM-Rprt PRESENCE optional },
+ ...
+}
+
+CommonMeasurementObjectType-CM-Rprt ::= CHOICE {
+ cell Cell-CM-Rprt,
+ ...
+ }
+
+Cell-CM-Rprt ::= SEQUENCE {
+ commonMeasurementValueInformation CommonMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer {{ CellItem-CM-Rprt-ExtIEs }} OPTIONAL,
+ ...
+
+ }
+
+CellItem-CM-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+Extension-CommonMeasurementObjectType-CM-Rprt ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementObjectType-CM-RprtIE }}
+
+Extension-CommonMeasurementObjectType-CM-RprtIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-GsmCellList-CM-Rprt CRITICALITY ignore TYPE GsmCellList-CM-Rprt PRESENCE mandatory },
+ ...
+}
+
+GsmCellList-CM-Rprt ::= SEQUENCE (SIZE (1..maxNoOfGsmCell)) OF GsmCellItem-CM-Rprt
+
+GsmCellItem-CM-Rprt ::= SEQUENCE {
+ measurementID MeasurementID,
+ commonMeasurementValueInformation CommonMeasurementValueInformation,
+ iE-Extensions ProtocolExtensionContainer { { GsmCellItem-CM-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GsmCellItem-CM-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT TERMINATION REQUEST
+--
+-- **************************************************************
+
+CommonMeasurementTerminationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementTerminationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementTerminationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementTerminationRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory},
+ ...
+}
+
+CommonMeasurementTerminationRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extension-TerminationMeasurementList CRITICALITY ignore EXTENSION Extension-TerminationMeasurementList PRESENCE optional },
+ ...
+}
+
+Extension-TerminationMeasurementList ::= SEQUENCE (SIZE (1..maxNoOfGsmCell)) OF Extension-TerminationMeasurementItem
+
+Extension-TerminationMeasurementItem ::= SEQUENCE {
+ measurementID MeasurementID,
+ iE-Extensions ProtocolExtensionContainer { { Extension-TerminationMeasurementItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Extension-TerminationMeasurementItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- COMMON MEASUREMENT FAILURE INDICATION
+--
+-- **************************************************************
+
+CommonMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CommonMeasurementFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{CommonMeasurementFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+CommonMeasurementFailureIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+CommonMeasurementFailureIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extension-FailureIndicationMeasurementList CRITICALITY ignore EXTENSION Extension-FailureIndicationMeasurementList PRESENCE optional },
+ ...
+}
+
+Extension-FailureIndicationMeasurementList ::= SEQUENCE (SIZE (1..maxNoOfGsmCell)) OF Extension-FailureIndicationMeasurementItem
+
+Extension-FailureIndicationMeasurementItem ::= SEQUENCE {
+ measurementID MeasurementID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { Extension-FailureIndicationMeasurementItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Extension-FailureIndicationMeasurementItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE INITIATION REQUEST
+--
+-- **************************************************************
+
+InformationExchangeInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeInitiationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeInitiationRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-InformationExchangeObjectType-InfEx-Rqst CRITICALITY reject TYPE InformationExchangeObjectType-InfEx-Rqst PRESENCE mandatory }|
+
+ { ID id-InformationType CRITICALITY reject TYPE InformationType PRESENCE mandatory }|
+ { ID id-InformationReportCharacteristics CRITICALITY reject TYPE InformationReportCharacteristics PRESENCE mandatory },
+ ...
+}
+
+InformationExchangeInitiationRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationExchangeObjectType-InfEx-Rqst ::= CHOICE {
+ cell Cell-InfEx-Rqst,
+ ...,
+ extension-InformationExchangeObjectType-InfEx-Rqst Extension-InformationExchangeObjectType-InfEx-Rqst
+
+}
+
+Cell-InfEx-Rqst ::= SEQUENCE {
+ c-ID C-ID, --May be a GERAN cell identifier
+ iE-Extensions ProtocolExtensionContainer { { CellItem-InfEx-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellItem-InfEx-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extension-InformationExchangeObjectType-InfEx-Rqst ::= ProtocolIE-Single-Container {{ Extension-InformationExchangeObjectType-InfEx-RqstIE }}
+
+Extension-InformationExchangeObjectType-InfEx-RqstIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-GSM-Cell-InfEx-Rqst CRITICALITY reject TYPE GSM-Cell-InfEx-Rqst PRESENCE mandatory}|
+ { ID id-MBMS-Bearer-Service-List CRITICALITY reject TYPE MBMS-Bearer-Service-List PRESENCE mandatory}|
+ { ID id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rqst CRITICALITY reject TYPE MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rqst PRESENCE mandatory}|
+ { ID id-MBMS-Cell-InfEx-Rqst CRITICALITY reject TYPE MBMS-Cell-InfEx-Rqst PRESENCE mandatory}|
+ { ID id-ANR-Cell-InfEx-Rqst CRITICALITY reject TYPE ANR-Cell-InfEx-Rqst PRESENCE mandatory}|
+ { ID id-Common-E-RGCH-Cell-InfEx-Rqst CRITICALITY reject TYPE Common-E-RGCH-Cell-InfEx-Rqst PRESENCE mandatory}
+
+}
+
+GSM-Cell-InfEx-Rqst ::= SEQUENCE {
+ cGI CGI,
+ iE-Extensions ProtocolExtensionContainer { { GSMCellItem-InfEx-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GSMCellItem-InfEx-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rqst ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rqst
+
+MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rqst ::= SEQUENCE {
+ c-ID C-ID,
+ mBMS-Bearer-Service-List-InfEx-Rqst MBMS-Bearer-Service-List-InfEx-Rqst,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rqst-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rqst-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Bearer-Service-List-InfEx-Rqst ::= SEQUENCE (SIZE (1..maxNrOfMBMSServices)) OF TMGI
+
+MBMS-Cell-InfEx-Rqst ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF C-ID
+
+ANR-Cell-InfEx-Rqst ::= SEQUENCE (SIZE (1..maxNrOfANRCells)) OF C-ID
+
+Common-E-RGCH-Cell-InfEx-Rqst ::= SEQUENCE (SIZE (1..maxNoOfCommonRGCells)) OF C-ID
+
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE INITIATION RESPONSE
+--
+-- **************************************************************
+
+InformationExchangeInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeInitiationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeInitiationResponse-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-InformationExchangeObjectType-InfEx-Rsp CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rsp PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+InformationExchangeInitiationResponse-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationExchangeObjectType-InfEx-Rsp ::= CHOICE {
+ cell Cell-InfEx-Rsp,
+ ...,
+ extension-InformationExchangeObjectType-InfEx-Rsp Extension-InformationExchangeObjectType-InfEx-Rsp
+}
+
+Cell-InfEx-Rsp ::= SEQUENCE {
+ requestedDataValue RequestedDataValue,
+ iE-Extensions ProtocolExtensionContainer { { CellItem-InfEx-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellItem-InfEx-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Extension-InformationExchangeObjectType-InfEx-Rsp ::= ProtocolIE-Single-Container {{ Extension-InformationExchangeObjectType-InfEx-RspIE }}
+
+Extension-InformationExchangeObjectType-InfEx-RspIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Bearer-Service-List-InfEx-Rsp CRITICALITY ignore TYPE MBMS-Bearer-Service-List-InfEx-Rsp PRESENCE mandatory}|
+ { ID id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rsp CRITICALITY ignore TYPE MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rsp PRESENCE mandatory}|
+ { ID id-MBMS-Cell-InfEx-Rsp CRITICALITY ignore TYPE MBMS-Cell-InfEx-Rsp PRESENCE mandatory}|
+ { ID id-ANR-Cell-InfEx-Rsp CRITICALITY ignore TYPE ANR-Cell-InfEx-Rsp PRESENCE mandatory}|
+ { ID id-Common-E-RGCH-Cell-InfEx-Rsp CRITICALITY ignore TYPE Common-E-RGCH-Cell-InfEx-Rsp PRESENCE mandatory}
+
+}
+
+MBMS-Bearer-Service-List-InfEx-Rsp ::= SEQUENCE (SIZE (1..maxNrOfMBMSServices)) OF MBMS-Bearer-ServiceItemIEs-InfEx-Rsp
+
+
+
+MBMS-Bearer-ServiceItemIEs-InfEx-Rsp ::=SEQUENCE{
+ tmgi TMGI,
+ requestedDataValue RequestedDataValue,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-ServiceItem-InfEx-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Bearer-ServiceItem-InfEx-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rsp ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rsp
+
+MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rsp ::= SEQUENCE {
+ c-ID C-ID,
+ mBMS-Bearer-Service-List-InfEx-Rsp MBMS-Bearer-Service-List-InfEx-Rsp,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Cell-InfEx-Rsp ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF MBMS-Cell-Item-InfEx-Rsp
+
+MBMS-Cell-Item-InfEx-Rsp ::= SEQUENCE {
+ c-ID C-ID,
+ requestedDataValue RequestedDataValue,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Cell-Item-InfEx-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Cell-Item-InfEx-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ANR-Cell-InfEx-Rsp ::= SEQUENCE (SIZE (1..maxNrOfANRCells)) OF ANR-Cell-ItemIEs-InfEx-Rsp
+
+ANR-Cell-ItemIEs-InfEx-Rsp ::=SEQUENCE{
+ c-ID C-ID,
+ requestedDataValue RequestedDataValue,
+ iE-Extensions ProtocolExtensionContainer { { ANR-Cell-ItemIEs-InfEx-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ANR-Cell-ItemIEs-InfEx-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-RGCH-Cell-InfEx-Rsp ::= SEQUENCE (SIZE (1.. maxNoOfCommonRGCells)) OF Common-E-RGCH-Cell-ItemIEs-InfEx-Rsp
+
+Common-E-RGCH-Cell-ItemIEs-InfEx-Rsp ::=SEQUENCE{
+ c-ID C-ID,
+ requestedDataValue RequestedDataValue,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-RGCH-Cell-ItemIEs-InfEx-Rsp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-RGCH-Cell-ItemIEs-InfEx-Rsp-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE INITIATION FAILURE
+--
+-- **************************************************************
+
+InformationExchangeInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeInitiationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeInitiationFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+InformationExchangeInitiationFailure-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION REPORT
+--
+-- **************************************************************
+
+InformationReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationReport-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationReport-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
+ { ID id-InformationExchangeObjectType-InfEx-Rprt CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rprt PRESENCE mandatory },
+ ...
+}
+
+InformationReport-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InformationExchangeObjectType-InfEx-Rprt ::= CHOICE {
+ cell Cell-InfEx-Rprt,
+ ...,
+ extension-InformationExchangeObjectType-InfEx-Rprt Extension-InformationExchangeObjectType-InfEx-Rprt
+
+ }
+
+Extension-InformationExchangeObjectType-InfEx-Rprt ::= ProtocolIE-Single-Container {{ Extension-InformationExchangeObjectType-InfEx-RprtIE }}
+
+Extension-InformationExchangeObjectType-InfEx-RprtIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rprt CRITICALITY ignore TYPE MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rprt PRESENCE mandatory}|
+ { ID id-MBMS-Cell-InfEx-Rprt CRITICALITY ignore TYPE MBMS-Cell-InfEx-Rprt PRESENCE mandatory}|
+ { ID id-Common-E-RGCH-Cell-InfEx-Rprt CRITICALITY ignore TYPE Common-E-RGCH-Cell-InfEx-Rprt PRESENCE mandatory}
+
+}
+
+
+Cell-InfEx-Rprt ::= SEQUENCE {
+ requestedDataValueInformation RequestedDataValueInformation,
+ iE-Extensions ProtocolExtensionContainer {{ CellItem-InfEx-Rprt-ExtIEs }} OPTIONAL,
+ ...
+
+ }
+
+CellItem-InfEx-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rprt ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rprt
+
+MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rprt ::= SEQUENCE {
+ c-ID C-ID,
+ mBMS-Bearer-Service-List-InfEx-Rprt MBMS-Bearer-Service-List-InfEx-Rprt,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Bearer-Service-in-MBMS-Cell-Item-InfEx-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Bearer-Service-List-InfEx-Rprt ::= SEQUENCE (SIZE (1..maxNrOfMBMSServices)) OF MBMS-Bearer-Service-List-Item-InfEx-Rprt
+
+MBMS-Bearer-Service-List-Item-InfEx-Rprt ::= SEQUENCE {
+ tmgi TMGI,
+ requestedDataValueInformation RequestedDataValueInformation,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Bearer-Service-List-Item-InfEx-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Bearer-Service-List-Item-InfEx-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBMS-Cell-InfEx-Rprt ::= SEQUENCE (SIZE (1..maxNrOfCells)) OF MBMS-Cell-Item-InfEx-Rprt
+
+MBMS-Cell-Item-InfEx-Rprt ::= SEQUENCE {
+ c-ID C-ID,
+ requestedDataValueInformation RequestedDataValueInformation,
+ iE-Extensions ProtocolExtensionContainer { { MBMS-Cell-Item-InfEx-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBMS-Cell-Item-InfEx-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Common-E-RGCH-Cell-InfEx-Rprt ::= SEQUENCE (SIZE (1.. maxNoOfCommonRGCells)) OF Common-E-RGCH-Cell-Item-InfEx-Rprt
+
+Common-E-RGCH-Cell-Item-InfEx-Rprt ::= SEQUENCE {
+ c-ID C-ID,
+ requestedDataValueInformation RequestedDataValueInformation,
+ iE-Extensions ProtocolExtensionContainer { { Common-E-RGCH-Cell-Item-InfEx-Rprt-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Common-E-RGCH-Cell-Item-InfEx-Rprt-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE TERMINATION REQUEST
+--
+-- **************************************************************
+
+InformationExchangeTerminationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeTerminationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeTerminationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeTerminationRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory},
+ ...
+}
+
+InformationExchangeTerminationRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INFORMATION EXCHANGE FAILURE INDICATION
+--
+-- **************************************************************
+
+InformationExchangeFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InformationExchangeFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{InformationExchangeFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationExchangeFailureIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+InformationExchangeFailureIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET REQUEST
+--
+-- **************************************************************
+
+ResetRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ResetRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+ResetRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RNC-ID CRITICALITY reject TYPE RNC-ID PRESENCE mandatory}|
+ { ID id-ResetIndicator CRITICALITY reject TYPE ResetIndicator PRESENCE mandatory},
+ ...
+}
+
+ResetRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-RNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional},
+ ...
+}
+
+ResetIndicator ::= CHOICE {
+ context ContextList-Reset,
+ all-contexts NULL,
+ ...,
+ contextGroup ContextGroupList-Reset
+}
+
+ContextList-Reset ::= SEQUENCE {
+ contextInfoList-Reset ContextInfoList-Reset,
+ iE-Extensions ProtocolExtensionContainer { {ContextItem-Reset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ContextItem-Reset-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ContextInfoList-Reset ::= SEQUENCE (SIZE (1.. maxResetContext)) OF ProtocolIE-Single-Container {{ ContextInfoItemIE-Reset }}
+
+ContextInfoItemIE-Reset RNSAP-PROTOCOL-IES ::= {
+ {ID id-ContextInfoItem-Reset CRITICALITY reject TYPE ContextInfoItem-Reset PRESENCE mandatory}
+}
+
+ContextInfoItem-Reset ::= SEQUENCE {
+ contextType-Reset ContextType-Reset,
+ iE-Extensions ProtocolExtensionContainer { { ContextInfoItem-Reset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ContextInfoItem-Reset-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ContextType-Reset ::= CHOICE {
+ sRNTI S-RNTI,
+ dRNTI D-RNTI,
+ ...,
+ extension-ContextType-Reset Extension-ContextType-Reset
+}
+
+Extension-ContextType-Reset ::= ProtocolIE-Single-Container {{ Extension-ContextType-ResetIE }}
+
+Extension-ContextType-ResetIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-Extended-S-RNTI CRITICALITY reject TYPE Extended-RNTI PRESENCE mandatory },
+ ...
+}
+
+ContextGroupList-Reset ::= SEQUENCE {
+ contextGroupInfoList-Reset ContextGroupInfoList-Reset,
+ iE-Extensions ProtocolExtensionContainer { {ContextGroupItem-Reset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ContextGroupItem-Reset-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ContextGroupInfoList-Reset ::= SEQUENCE (SIZE (1.. maxResetContextGroup)) OF ProtocolIE-Single-Container {{ ContextGroupInfoItemIE-Reset }}
+
+ContextGroupInfoItemIE-Reset RNSAP-PROTOCOL-IES ::= {
+ {ID id-ContextGroupInfoItem-Reset CRITICALITY reject TYPE ContextGroupInfoItem-Reset PRESENCE mandatory}
+}
+
+ContextGroupInfoItem-Reset ::= SEQUENCE {
+ s-RNTI-Group S-RNTI-Group,
+ iE-Extensions ProtocolExtensionContainer { { ContextGroupInfoItem-Reset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ContextGroupInfoItem-Reset-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-S-RNTI-Group CRITICALITY reject EXTENSION Extended-S-RNTI-Group PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET RESPONSE
+--
+-- **************************************************************
+
+ResetResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ResetResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+ResetResponse-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RNC-ID CRITICALITY ignore TYPE RNC-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+ResetResponse-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-RNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ACTIVATION COMMAND FDD
+--
+-- **************************************************************
+
+RadioLinkActivationCommandFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkActivationCommandFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkActivationCommandFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkActivationCommandFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DelayedActivationList-RL-ActivationCmdFDD CRITICALITY ignore TYPE DelayedActivationInformationList-RL-ActivationCmdFDD PRESENCE mandatory},
+ ...
+}
+
+RadioLinkActivationCommandFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DelayedActivationInformationList-RL-ActivationCmdFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {
+ { DelayedActivationInformation-RL-ActivationCmdFDD-IEs} }
+
+DelayedActivationInformation-RL-ActivationCmdFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DelayedActivationInformation-RL-ActivationCmdFDD CRITICALITY ignore TYPE DelayedActivationInformation-RL-ActivationCmdFDD PRESENCE optional }
+}
+
+DelayedActivationInformation-RL-ActivationCmdFDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ delayed-activation-update DelayedActivationUpdate,
+ iE-Extensions ProtocolExtensionContainer { { DelayedActivationInformation-RL-ActivationCmdFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DelayedActivationInformation-RL-ActivationCmdFDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK ACTIVATION COMMAND TDD
+--
+-- **************************************************************
+
+RadioLinkActivationCommandTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkActivationCommandTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkActivationCommandTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkActivationCommandTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DelayedActivationList-RL-ActivationCmdTDD CRITICALITY ignore TYPE DelayedActivationInformationList-RL-ActivationCmdTDD PRESENCE mandatory},
+ ...
+}
+
+RadioLinkActivationCommandTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DelayedActivationInformationList-RL-ActivationCmdTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {
+ { DelayedActivationInformation-RL-ActivationCmdTDD-IEs} }
+
+DelayedActivationInformation-RL-ActivationCmdTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-DelayedActivationInformation-RL-ActivationCmdTDD CRITICALITY ignore TYPE DelayedActivationInformation-RL-ActivationCmdTDD PRESENCE optional}
+}
+
+DelayedActivationInformation-RL-ActivationCmdTDD ::= SEQUENCE {
+ rL-ID RL-ID,
+ delayed-activation-update DelayedActivationUpdate,
+ iE-Extensions ProtocolExtensionContainer { { DelayedActivationInformation-RL-ActivationCmdTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DelayedActivationInformation-RL-ActivationCmdTDD-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- GERAN UPLINK SIGNALLING TRANSFER INDICATION
+--
+-- **************************************************************
+
+GERANUplinkSignallingTransferIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{GERANUplinkSignallingTransferIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{GERANUplinkSignallingTransferIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+GERANUplinkSignallingTransferIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-UC-ID CRITICALITY ignore TYPE UC-ID PRESENCE mandatory}|
+ -- UC-Id may be GERAN cell identifier.
+ { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory}|
+ { ID id-S-RNTI CRITICALITY ignore TYPE S-RNTI PRESENCE mandatory}|
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE optional}|
+ { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE mandatory}|
+ { ID id-CN-PS-DomainIdentifier CRITICALITY ignore TYPE CN-PS-DomainIdentifier PRESENCE optional}|
+ { ID id-CN-CS-DomainIdentifier CRITICALITY ignore TYPE CN-CS-DomainIdentifier PRESENCE optional}|
+ { ID id-URA-Information CRITICALITY ignore TYPE URA-Information PRESENCE optional},
+ -- URA information may be GRA information
+ ...
+}
+
+GERANUplinkSignallingTransferIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Extended-S-RNTI CRITICALITY ignore EXTENSION Extended-RNTI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK PARAMETER UPDATE INDICATION FDD
+--
+-- **************************************************************
+
+RadioLinkParameterUpdateIndicationFDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkParameterUpdateIndicationFDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkParameterUpdateIndicationFDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkParameterUpdateIndicationFDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-HSDSCH-FDD-Update-Information CRITICALITY ignore TYPE HSDSCH-FDD-Update-Information PRESENCE optional}|
+ { ID id-RL-ParameterUpdateIndicationFDD-RL-InformationList CRITICALITY ignore TYPE RL-ParameterUpdateIndicationFDD-RL-InformationList PRESENCE optional},
+ ...
+}
+
+RL-ParameterUpdateIndicationFDD-RL-InformationList ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { { RL-ParameterUpdateIndicationFDD-RL-InformationList-IEs} }
+
+RL-ParameterUpdateIndicationFDD-RL-InformationList-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RL-ParameterUpdateIndicationFDD-RL-Information-Item CRITICALITY ignore TYPE RL-ParameterUpdateIndicationFDD-RL-Information-Item PRESENCE mandatory}
+}
+
+RL-ParameterUpdateIndicationFDD-RL-Information-Item::= SEQUENCE {
+ rL-ID RL-ID,
+ phase-Reference-Update-Indicator Phase-Reference-Update-Indicator OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RL-ParameterUpdateIndicationFDD-RL-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RL-ParameterUpdateIndicationFDD-RL-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RadioLinkParameterUpdateIndicationFDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-E-DCH-FDD-Update-Information CRITICALITY ignore EXTENSION E-DCH-FDD-Update-Information PRESENCE optional}|
+ { ID id-Additional-HS-Cell-Information-RL-Param-Upd CRITICALITY ignore EXTENSION Additional-HS-Cell-Information-RL-Param-Upd PRESENCE optional}|
+ { ID id-Additional-EDCH-Cell-Information-RL-Param-Upd CRITICALITY ignore EXTENSION Additional-EDCH-Cell-Information-RL-Param-Upd PRESENCE optional}|
+ { ID id-CPC-RecoveryReport CRITICALITY ignore EXTENSION CPC-RecoveryReport PRESENCE optional}|
+ { ID id-UL-CLTD-State-Update-Information CRITICALITY ignore EXTENSION UL-CLTD-State-Update-Information PRESENCE optional}|
+ { ID id-UE-Measurement-Forwarding CRITICALITY ignore EXTENSION UE-Measurement-Forwarding PRESENCE optional}|
+ { ID id-CFN CRITICALITY ignore EXTENSION CFN PRESENCE optional},
+ ...
+}
+
+UE-Measurement-Forwarding ::= SEQUENCE {
+ measurementID MeasurementID,
+ uE-Measurement-Value UE-Measurement-Value,
+ iE-Extensions ProtocolExtensionContainer { {UE-Measurement-Forwarding-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-Measurement-Forwarding-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Param-Upd ::= SEQUENCE (SIZE (1..maxNrOfHSDSCH-1)) OF Additional-HS-Cell-Information-RL-Param-Upd-ItemIEs
+
+
+Additional-HS-Cell-Information-RL-Param-Upd-ItemIEs ::=SEQUENCE{
+ hSPDSCH-RL-ID RL-ID,
+ hS-DSCH-FDD-Secondary-Serving-Update-Information HS-DSCH-FDD-Secondary-Serving-Update-Information,
+ iE-Extensions ProtocolExtensionContainer { { Additional-HS-Cell-Information-RL-Setup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-HS-Cell-Information-RL-Setup-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-EDCH-Cell-Information-RL-Param-Upd ::= SEQUENCE (SIZE (1..maxNrOfEDCH-1)) OF Additional-EDCH-Cell-Information-RL-Param-Upd-ItemIEs
+
+Additional-EDCH-Cell-Information-RL-Param-Upd-ItemIEs ::=SEQUENCE{
+ additional-EDCH-FDD-Update-Information Additional-EDCH-FDD-Update-Information,
+ iE-Extensions ProtocolExtensionContainer { { Additional-EDCH-FDD-Update-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-EDCH-FDD-Update-Information-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK PARAMETER UPDATE INDICATION TDD
+--
+-- **************************************************************
+
+RadioLinkParameterUpdateIndicationTDD ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RadioLinkParameterUpdateIndicationTDD-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{RadioLinkParameterUpdateIndicationTDD-Extensions}} OPTIONAL,
+ ...
+}
+
+RadioLinkParameterUpdateIndicationTDD-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-HSDSCH-TDD-Update-Information CRITICALITY ignore TYPE HSDSCH-TDD-Update-Information PRESENCE optional},
+ ...
+}
+
+RadioLinkParameterUpdateIndicationTDD-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE MEASUREMENT INITIATION REQUEST
+--
+-- **************************************************************
+
+UEMeasurementInitiationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEMeasurementInitiationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UEMeasurementInitiationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+UEMeasurementInitiationRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-AllowedQueuingTime CRITICALITY reject TYPE AllowedQueuingTime PRESENCE optional}|
+ { ID id-MeasurementID CRITICALITY reject TYPE MeasurementID PRESENCE mandatory}|
+ { ID id-UEMeasurementType CRITICALITY reject TYPE UEMeasurementType PRESENCE mandatory}|
+ { ID id-UEMeasurementTimeslotInfoHCR CRITICALITY reject TYPE UEMeasurementTimeslotInfoHCR PRESENCE optional}|
+ { ID id-UEMeasurementTimeslotInfoLCR CRITICALITY reject TYPE UEMeasurementTimeslotInfoLCR PRESENCE optional}|
+ { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional}|
+ { ID id-UEMeasurementReportCharacteristics CRITICALITY reject TYPE UEMeasurementReportCharacteristics PRESENCE mandatory}|
+ { ID id-UEMeasurementParameterModAllow CRITICALITY reject TYPE UEMeasurementParameterModAllow PRESENCE mandatory },
+ ...
+}
+
+UEMeasurementInitiationRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UEMeasurementTimeslotInfo768 CRITICALITY reject EXTENSION UEMeasurementTimeslotInfo768 PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE MEASUREMENT INITIATION RESPONSE
+--
+-- **************************************************************
+
+UEMeasurementInitiationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEMeasurementInitiationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UEMeasurementInitiationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+UEMeasurementInitiationResponse-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory}|
+ { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional}|
+ { ID id-UEMeasurementReportCharacteristics CRITICALITY reject TYPE UEMeasurementReportCharacteristics PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+UEMeasurementInitiationResponse-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE MEASUREMENT INITIATION FAILURE
+--
+-- **************************************************************
+
+UEMeasurementInitiationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEMeasurementInitiationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UEMeasurementInitiationFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+UEMeasurementInitiationFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+UEMeasurementInitiationFailure-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE MEASUREMENT REPORT
+--
+-- **************************************************************
+
+UEMeasurementReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEMeasurementReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UEMeasurementReport-Extensions}} OPTIONAL,
+ ...
+}
+
+UEMeasurementReport-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory}|
+ { ID id-UEMeasurementValueInformation CRITICALITY ignore TYPE UEMeasurementValueInformation PRESENCE mandatory},
+ ...
+}
+
+UEMeasurementReport-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE MEASUREMENT TERMINATION REQUEST
+--
+-- **************************************************************
+
+UEMeasurementTerminationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEMeasurementTerminationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UEMeasurementTerminationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+UEMeasurementTerminationRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory},
+ ...
+}
+
+UEMeasurementTerminationRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE MEASUREMENT FAILURE INDICATION
+--
+-- **************************************************************
+
+UEMeasurementFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEMeasurementFailureIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{UEMeasurementFailureIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+UEMeasurementFailureIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+UEMeasurementFailureIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- IUR INVOKE TRACE
+--
+-- **************************************************************
+
+IurInvokeTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{IurInvokeTrace-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{IurInvokeTrace-Extensions}} OPTIONAL,
+ ...
+}
+
+IurInvokeTrace-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE optional}|
+ { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory}|
+ { ID id-UEIdentity CRITICALITY ignore TYPE UEIdentity PRESENCE mandatory}|
+ { ID id-TraceRecordingSessionReference CRITICALITY ignore TYPE TraceRecordingSessionReference PRESENCE mandatory}|
+ { ID id-ListOfInterfacesToTrace CRITICALITY ignore TYPE ListOfInterfacesToTrace PRESENCE optional}|
+ { ID id-TraceDepth CRITICALITY ignore TYPE TraceDepth PRESENCE mandatory},
+ ...
+}
+
+ListOfInterfacesToTrace ::= SEQUENCE (SIZE (1..maxNrOfInterfaces)) OF ProtocolIE-Single-Container {{ InterfacesToBeTracedItemIE }}
+
+InterfacesToBeTracedItemIE RNSAP-PROTOCOL-IES ::= {
+ { ID id-InterfacesToTraceItem CRITICALITY ignore TYPE InterfacesToTraceItem PRESENCE mandatory}
+}
+
+InterfacesToTraceItem ::= SEQUENCE {
+ interface ENUMERATED {iub,iur,...},
+ iE-Extensions ProtocolExtensionContainer { {InterfacesToTraceItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InterfacesToTraceItem-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+IurInvokeTrace-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 10 to support MDT
+ {ID id-MDT-Configuration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional}|
+-- Extension for Release 10 to support MDT
+ {ID id-Trace-Collection-Entity-IP-Address CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- IUR DEACTIVATE TRACE
+--
+-- **************************************************************
+
+IurDeactivateTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{IurDeactivateTrace-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{IurDeactivateTrace-Extensions}} OPTIONAL,
+ ...
+}
+
+IurDeactivateTrace-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE optional}|
+ { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory},
+ ...
+}
+
+IurDeactivateTrace-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS ATTACH COMMAND
+--
+-- **************************************************************
+
+MBMSAttachCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MBMSAttachCommand-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{MBMSAttachCommand-Extensions}} OPTIONAL,
+ ...
+}
+
+MBMSAttachCommand-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Bearer-Service-List CRITICALITY ignore TYPE MBMS-Bearer-Service-List PRESENCE mandatory}|
+ { ID id-UE-State CRITICALITY ignore TYPE UE-State PRESENCE optional},
+ ...
+}
+
+MBMSAttachCommand-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBMS DETACH COMMAND
+--
+-- **************************************************************
+
+MBMSDetachCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MBMSDetachCommand-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{MBMSDetachCommand-Extensions}} OPTIONAL,
+ ...
+}
+
+MBMSDetachCommand-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MBMS-Bearer-Service-List CRITICALITY ignore TYPE MBMS-Bearer-Service-List PRESENCE mandatory}|
+ { ID id-UE-State CRITICALITY ignore TYPE UE-State PRESENCE optional},
+ ...
+}
+
+MBMSDetachCommand-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- DIRECT INFORMATION TRANSFER
+--
+-- **************************************************************
+
+DirectInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DirectInformationTransfer-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{DirectInformationTransfer-Extensions}}OPTIONAL,
+ ...
+}
+
+DirectInformationTransfer-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RNC-ID CRITICALITY ignore TYPE RNC-ID PRESENCE mandatory}|
+ { ID id-ProvidedInformation CRITICALITY ignore TYPE ProvidedInformation PRESENCE mandatory},
+ ...
+}
+
+DirectInformationTransfer-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Extended-RNC-ID CRITICALITY reject EXTENSION Extended-RNC-ID PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION REQUEST
+--
+-- **************************************************************
+
+EnhancedRelocationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory}|
+ { ID id-Permanent-NAS-UE-Identity CRITICALITY reject TYPE Permanent-NAS-UE-Identity PRESENCE mandatory}|
+ { ID id-SRNC-ID CRITICALITY reject TYPE RNC-ID PRESENCE optional}|
+ -- This IE shall be present if the Relocation type IE is set to “UE involved in relocation of SRNS” --
+ { ID id-Extended-SRNC-ID CRITICALITY reject TYPE Extended-RNC-ID PRESENCE optional}|
+ { ID id-S-RNTI CRITICALITY reject TYPE S-RNTI PRESENCE mandatory}|
+ { ID id-RANAP-EnhancedRelocationInformationRequest CRITICALITY reject TYPE RANAP-EnhancedRelocationInformationRequest PRESENCE mandatory},
+ ...
+}
+
+EnhancedRelocationRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Extended-S-RNTI CRITICALITY reject EXTENSION Extended-RNTI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION RESPONSE
+--
+-- **************************************************************
+
+EnhancedRelocationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationResponse-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-RANAP-EnhancedRelocationInformationResponse CRITICALITY ignore TYPE RANAP-EnhancedRelocationInformationResponse PRESENCE mandatory},
+ ...
+}
+
+EnhancedRelocationResponse-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION FAILURE
+--
+-- **************************************************************
+
+EnhancedRelocationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationFailure-Extensions}}OPTIONAL,
+ ...
+}
+
+EnhancedRelocationFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+EnhancedRelocationFailure-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION CANCEL
+--
+-- **************************************************************
+
+EnhancedRelocationCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationCancel-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationCancel-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationCancel-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+EnhancedRelocationCancel-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION SIGNALLING TRANSFER
+--
+-- **************************************************************
+
+EnhancedRelocationSignallingTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationSignallingTransfer-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationSignallingTransfer-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationSignallingTransfer-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE mandatory},
+ ...
+}
+
+EnhancedRelocationSignallingTransfer-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION RELEASE
+--
+-- **************************************************************
+
+EnhancedRelocationRelease ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationRelease-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationRelease-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationRelease-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Released-CN-Domain CRITICALITY ignore TYPE Released-CN-Domain PRESENCE mandatory},
+ ...
+}
+
+EnhancedRelocationRelease-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MBSFN MCCH INFORMATION
+--
+-- **************************************************************
+
+MBSFNMCCHInformation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MBSFNMCCHInformation-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{MBSFNMCCHInformation-Extensions}} OPTIONAL,
+ ...
+}
+
+MBSFNMCCHInformation-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-MBSFN-Cluster-Identity CRITICALITY ignore TYPE MBSFN-Cluster-Identity PRESENCE mandatory}|
+ { ID id-MCCH-Message-List CRITICALITY reject TYPE MCCH-Message-List PRESENCE mandatory}|
+ { ID id-CFN CRITICALITY reject TYPE CFN PRESENCE mandatory}|
+ { ID id-MCCH-Configuration-Info CRITICALITY ignore TYPE MCCH-Configuration-Info PRESENCE optional}|
+ { ID id-MBSFN-Scheduling-Transmission-Time-Interval-Info-List CRITICALITY ignore TYPE MBSFN-Scheduling-Transmission-Time-Interval-Info-List PRESENCE optional},
+ ...
+}
+
+MBSFNMCCHInformation-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SECONDARY UL FREQUENCY REPORT
+--
+-- **************************************************************
+
+SecondaryULFrequencyReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SecondaryULFrequencyReport-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{SecondaryULFrequencyReport-Extensions}} OPTIONAL,
+ ...
+}
+
+SecondaryULFrequencyReport-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-ActivationInformation CRITICALITY ignore TYPE ActivationInformation PRESENCE mandatory},
+ ...
+}
+
+SecondaryULFrequencyReport-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SECONDARY UL FREQUENCY UPDATE INDICATION
+--
+-- **************************************************************
+
+SecondaryULFrequencyUpdateIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SecondaryULFrequencyUpdateIndication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{SecondaryULFrequencyUpdateIndication-Extensions}} OPTIONAL,
+ ...
+}
+
+
+SecondaryULFrequencyUpdateIndication-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-ActivationInformation CRITICALITY ignore TYPE ActivationInformation PRESENCE mandatory},
+ ...
+}
+
+SecondaryULFrequencyUpdateIndication-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION RESOURCE REQUEST
+--
+-- **************************************************************
+
+EnhancedRelocationResourceRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ EnhancedRelocationResourceRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ EnhancedRelocationResourceRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationResourceRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-IMSI CRITICALITY reject TYPE IMSI PRESENCE optional}|
+ { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory}|
+ { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory}|
+ { ID id-ClassmarkInformation2 CRITICALITY reject TYPE ClassmarkInformation2 PRESENCE mandatory}|
+ { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE mandatory}|
+ { ID id-SpeechVersion CRITICALITY ignore TYPE SpeechVersion PRESENCE mandatory},
+ ...
+}
+EnhancedRelocationResourceRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION RESOURCE RESPONSE
+--
+-- **************************************************************
+
+EnhancedRelocationResourceResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationResourceResponse-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationResourceResponse-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationResourceResponse-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-D-RNTI CRITICALITY ignore TYPE D-RNTI PRESENCE mandatory }|
+ { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE mandatory }|
+ { ID id-Cell-Capacity-Class-Value CRITICALITY ignore TYPE Cell-Capacity-Class-Value PRESENCE optional }|
+ { ID id-LoadValue CRITICALITY ignore TYPE LoadValue PRESENCE optional },
+ ...
+}
+
+EnhancedRelocationResourceResponse-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION RESOURCE FAILURE
+--
+-- **************************************************************
+
+EnhancedRelocationResourceFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationResourceFailure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationResourceFailure-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationResourceFailure-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-Cell-Capacity-Class-Value CRITICALITY ignore TYPE Cell-Capacity-Class-Value PRESENCE optional }|
+ { ID id-LoadValue CRITICALITY ignore TYPE LoadValue PRESENCE optional },
+ ...
+}
+
+EnhancedRelocationResourceFailure-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION RESOURCE RELEASE COMMAND
+--
+-- **************************************************************
+
+EnhancedRelocationResourceReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationResourceReleaseCommand-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationResourceReleaseCommand-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationResourceReleaseCommand-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+EnhancedRelocationResourceReleaseCommand-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION RESOURCE RELEASE COMPLETE
+--
+-- **************************************************************
+
+EnhancedRelocationResourceReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EnhancedRelocationResourceReleaseComplete-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{EnhancedRelocationResourceReleaseComplete-Extensions}} OPTIONAL,
+ ...
+}
+
+EnhancedRelocationResourceReleaseComplete-IEs RNSAP-PROTOCOL-IES ::= {
+ ...
+}
+
+EnhancedRelocationResourceReleaseComplete-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs RNSAP-PRIVATE-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- INFORMATION TRANSFER CONTROL REQUEST
+--
+-- **************************************************************
+
+InformationTransferControlRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ InformationTransferControlRequest-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{ InformationTransferControlRequest-Extensions}} OPTIONAL,
+ ...
+}
+
+InformationTransferControlRequest-IEs RNSAP-PROTOCOL-IES ::= {
+ { ID id-Control-Type-InformationTransferControlReq CRITICALITY ignore TYPE Control-Type-InformationTransferControlReq PRESENCE mandatory },
+ ...
+}
+
+InformationTransferControlRequest-Extensions RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Control-Type-InformationTransferControlReq ::= CHOICE {
+ suspension Suspension-Control-Type,
+ resume Resume-Control-Type,
+ ...
+}
+
+Suspension-Control-Type ::= SEQUENCE {
+ controlled-Object-Scope Controlled-Object-Scope,
+ iE-Extensions ProtocolExtensionContainer {{ Suspension-Control-Type-ExtIEs}},
+ ...
+}
+
+Suspension-Control-Type-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Resume-Control-Type ::= SEQUENCE {
+ controlled-Object-Scope Controlled-Object-Scope,
+ iE-Extensions ProtocolExtensionContainer { { Resume-Control-Type-ExtIEs}},
+ ...
+}
+
+Resume-Control-Type-ExtIEs RNSAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/rnsap/RNSAP-PDU-Descriptions.asn b/epan/dissectors/asn1/rnsap/RNSAP-PDU-Descriptions.asn
new file mode 100644
index 00000000..3475c51a
--- /dev/null
+++ b/epan/dissectors/asn1/rnsap/RNSAP-PDU-Descriptions.asn
@@ -0,0 +1,804 @@
+-- RNSAP-PDU-Descriptions.asn
+--
+-- Taken from 3GPP TS 25.423 V13.1.0 (2015-12)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.423/25423-790.zip/25423-790.DOC
+--
+-- 9.3.2 Elementary Procedure Definitions
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+RNSAP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rnsap (1) version1 (1) rnsap-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureID,
+ TransactionID
+FROM RNSAP-CommonDataTypes
+
+ CommonMeasurementFailureIndication,
+ CommonMeasurementInitiationFailure,
+ CommonMeasurementInitiationRequest,
+ CommonMeasurementInitiationResponse,
+ CommonMeasurementReport,
+ CommonMeasurementTerminationRequest,
+ CommonTransportChannelResourcesFailure,
+ CommonTransportChannelResourcesRequest,
+ CommonTransportChannelResourcesReleaseRequest,
+ CommonTransportChannelResourcesResponseFDD,
+ CommonTransportChannelResourcesResponseTDD,
+ CompressedModeCommand,
+ DedicatedMeasurementFailureIndication,
+ DedicatedMeasurementInitiationFailure,
+ DedicatedMeasurementInitiationRequest,
+ DedicatedMeasurementInitiationResponse,
+ DedicatedMeasurementReport,
+ DedicatedMeasurementTerminationRequest,
+ DirectInformationTransfer,
+ DL-PowerControlRequest,
+ DL-PowerTimeslotControlRequest,
+ DownlinkSignallingTransferRequest,
+ ErrorIndication,
+ EnhancedRelocationCancel,
+ EnhancedRelocationFailure,
+ EnhancedRelocationRequest,
+ EnhancedRelocationResponse,
+ EnhancedRelocationSignallingTransfer,
+ EnhancedRelocationRelease,
+ EnhancedRelocationResourceRequest,
+ EnhancedRelocationResourceResponse,
+ EnhancedRelocationResourceFailure,
+ EnhancedRelocationResourceReleaseCommand,
+ EnhancedRelocationResourceReleaseComplete,
+ InformationExchangeFailureIndication,
+ InformationExchangeInitiationFailure,
+ InformationExchangeInitiationRequest,
+ InformationExchangeInitiationResponse,
+ InformationExchangeTerminationRequest,
+ InformationReport,
+ InformationTransferControlRequest,
+ IurDeactivateTrace,
+ IurInvokeTrace,
+ MBMSAttachCommand,
+ MBMSDetachCommand,
+ MBSFNMCCHInformation,
+ PagingRequest,
+ PhysicalChannelReconfigurationCommand,
+ PhysicalChannelReconfigurationFailure,
+ PhysicalChannelReconfigurationRequestFDD,
+ PhysicalChannelReconfigurationRequestTDD,
+ PrivateMessage,
+ RadioLinkActivationCommandFDD,
+ RadioLinkActivationCommandTDD,
+ RadioLinkAdditionFailureFDD,
+ RadioLinkAdditionFailureTDD,
+ RadioLinkAdditionRequestFDD,
+ RadioLinkAdditionRequestTDD,
+ RadioLinkAdditionResponseFDD,
+ RadioLinkAdditionResponseTDD,
+ RadioLinkCongestionIndication,
+ RadioLinkDeletionRequest,
+ RadioLinkDeletionResponse,
+ RadioLinkFailureIndication,
+ RadioLinkParameterUpdateIndicationFDD,
+ RadioLinkParameterUpdateIndicationTDD,
+ RadioLinkPreemptionRequiredIndication,
+ RadioLinkReconfigurationCancel,
+ RadioLinkReconfigurationCommit,
+ RadioLinkReconfigurationFailure,
+ RadioLinkReconfigurationPrepareFDD,
+ RadioLinkReconfigurationPrepareTDD,
+ RadioLinkReconfigurationReadyFDD,
+ RadioLinkReconfigurationReadyTDD,
+ RadioLinkReconfigurationRequestFDD,
+ RadioLinkReconfigurationRequestTDD,
+ RadioLinkReconfigurationResponseFDD,
+ RadioLinkReconfigurationResponseTDD,
+ RadioLinkRestoreIndication,
+ RadioLinkSetupFailureFDD,
+ RadioLinkSetupFailureTDD,
+ RadioLinkSetupRequestFDD,
+ RadioLinkSetupRequestTDD,
+ RadioLinkSetupResponseFDD,
+ RadioLinkSetupResponseTDD,
+ RelocationCommit,
+ ResetRequest,
+ ResetResponse,
+ UEMeasurementFailureIndication,
+ UEMeasurementInitiationFailure,
+ UEMeasurementInitiationRequest,
+ UEMeasurementInitiationResponse,
+ UEMeasurementReport,
+ UEMeasurementTerminationRequest,
+ SecondaryULFrequencyReport,
+ SecondaryULFrequencyUpdateIndication,
+ UplinkSignallingTransferIndicationFDD,
+ UplinkSignallingTransferIndicationTDD,
+ GERANUplinkSignallingTransferIndication
+FROM RNSAP-PDU-Contents
+
+ id-commonMeasurementFailure,
+ id-commonMeasurementInitiation,
+ id-commonMeasurementReporting,
+ id-commonMeasurementTermination,
+ id-commonTransportChannelResourcesInitialisation,
+ id-commonTransportChannelResourcesRelease,
+ id-compressedModeCommand,
+ id-downlinkPowerControl,
+ id-downlinkSignallingTransfer,
+ id-downlinkPowerTimeslotControl,
+ id-enhancedRelocation,
+ id-enhancedRelocationCancel,
+ id-enhancedRelocationSignallingTransfer,
+ id-enhancedRelocationRelease,
+ id-errorIndication,
+ id-informationExchangeFailure,
+ id-informationExchangeInitiation,
+ id-informationReporting,
+ id-informationExchangeTermination,
+ id-informationTransferControl,
+ id-iurDeactivateTrace,
+ id-iurInvokeTrace,
+ id-dedicatedMeasurementFailure,
+ id-dedicatedMeasurementInitiation,
+ id-dedicatedMeasurementReporting,
+ id-dedicatedMeasurementTermination,
+ id-directInformationTransfer,
+ id-mBMSAttach,
+ id-mBMSDetach,
+ id-mBSFNMCCHInformation,
+ id-paging,
+ id-physicalChannelReconfiguration,
+ id-privateMessage,
+ id-radioLinkActivation,
+ id-radioLinkAddition,
+ id-radioLinkCongestion,
+ id-radioLinkDeletion,
+ id-radioLinkFailure,
+ id-radioLinkParameterUpdate,
+ id-radioLinkPreemption,
+ id-radioLinkRestoration,
+ id-radioLinkSetup,
+ id-relocationCommit,
+ id-reset,
+ id-synchronisedRadioLinkReconfigurationCancellation,
+ id-synchronisedRadioLinkReconfigurationCommit,
+ id-synchronisedRadioLinkReconfigurationPreparation,
+ id-uEMeasurementFailure,
+ id-uEMeasurementInitiation,
+ id-uEMeasurementReporting,
+ id-uEMeasurementTermination,
+ id-secondaryULFrequencyReporting,
+ id-secondaryULFrequencyUpdate,
+ id-unSynchronisedRadioLinkReconfiguration,
+ id-uplinkSignallingTransfer,
+ id-gERANuplinkSignallingTransfer,
+ id-enhancedRelocationResourceAllocation,
+ id-enhancedRelocationResourceRelease
+
+FROM RNSAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+RNSAP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &Outcome OPTIONAL,
+ &procedureID ProcedureID UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ [OUTCOME &Outcome]
+ PROCEDURE ID &procedureID
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+RNSAP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ outcome Outcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureID RNSAP-ELEMENTARY-PROCEDURE.&procedureID ({RNSAP-ELEMENTARY-PROCEDURES}),
+ criticality RNSAP-ELEMENTARY-PROCEDURE.&criticality ({RNSAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ transactionID TransactionID,
+ value RNSAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RNSAP-ELEMENTARY-PROCEDURES}{@procedureID})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureID RNSAP-ELEMENTARY-PROCEDURE.&procedureID ({RNSAP-ELEMENTARY-PROCEDURES}),
+ criticality RNSAP-ELEMENTARY-PROCEDURE.&criticality ({RNSAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ transactionID TransactionID,
+ value RNSAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RNSAP-ELEMENTARY-PROCEDURES}{@procedureID})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureID RNSAP-ELEMENTARY-PROCEDURE.&procedureID ({RNSAP-ELEMENTARY-PROCEDURES}),
+ criticality RNSAP-ELEMENTARY-PROCEDURE.&criticality ({RNSAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ transactionID TransactionID,
+ value RNSAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RNSAP-ELEMENTARY-PROCEDURES}{@procedureID})
+}
+
+Outcome ::= SEQUENCE {
+ procedureID RNSAP-ELEMENTARY-PROCEDURE.&procedureID ({RNSAP-ELEMENTARY-PROCEDURES}),
+ criticality RNSAP-ELEMENTARY-PROCEDURE.&criticality ({RNSAP-ELEMENTARY-PROCEDURES}{@procedureID}),
+ transactionID TransactionID,
+ value RNSAP-ELEMENTARY-PROCEDURE.&Outcome ({RNSAP-ELEMENTARY-PROCEDURES}{@procedureID})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+RNSAP-ELEMENTARY-PROCEDURES RNSAP-ELEMENTARY-PROCEDURE ::= {
+ RNSAP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ RNSAP-ELEMENTARY-PROCEDURES-CLASS-2 |
+ RNSAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
+ ...
+}
+
+RNSAP-ELEMENTARY-PROCEDURES-CLASS-1 RNSAP-ELEMENTARY-PROCEDURE ::= {
+ radioLinkSetupFDD |
+ radioLinkSetupTDD |
+ radioLinkAdditionFDD |
+ radioLinkAdditionTDD |
+ radioLinkDeletion |
+ synchronisedRadioLinkReconfigurationPreparationFDD |
+ synchronisedRadioLinkReconfigurationPreparationTDD |
+ unSynchronisedRadioLinkReconfigurationFDD |
+ unSynchronisedRadioLinkReconfigurationTDD |
+ physicalChannelReconfigurationFDD |
+ physicalChannelReconfigurationTDD |
+ dedicatedMeasurementInitiation |
+ commonTransportChannelResourcesInitialisationFDD |
+ commonTransportChannelResourcesInitialisationTDD ,
+ ...,
+ commonMeasurementInitiation |
+ informationExchangeInitiation |
+ reset |
+ uEMeasurementInitiation |
+ enhancedRelocation |
+ enhancedRelocationResourceAllocation |
+ enhancedRelocationResourceRelease
+}
+
+RNSAP-ELEMENTARY-PROCEDURES-CLASS-2 RNSAP-ELEMENTARY-PROCEDURE ::= {
+ uplinkSignallingTransferFDD |
+ uplinkSignallingTransferTDD |
+ downlinkSignallingTransfer |
+ relocationCommit |
+ paging |
+ synchronisedRadioLinkReconfigurationCommit |
+ synchronisedRadioLinkReconfigurationCancellation |
+ radioLinkFailure |
+ radioLinkPreemption |
+ radioLinkRestoration |
+ dedicatedMeasurementReporting |
+ dedicatedMeasurementTermination |
+ dedicatedMeasurementFailure |
+ downlinkPowerControlFDD |
+ downlinkPowerTimeslotControl |
+ compressedModeCommandFDD |
+ commonTransportChannelResourcesRelease |
+ errorIndication |
+ privateMessage ,
+ ...,
+ radioLinkCongestion |
+ commonMeasurementFailure |
+ commonMeasurementReporting |
+ commonMeasurementTermination |
+ informationExchangeFailure |
+ informationExchangeTermination |
+ informationReporting |
+ radioLinkActivationFDD |
+ radioLinkActivationTDD |
+ gERANuplinkSignallingTransfer |
+ radioLinkParameterUpdateFDD |
+ radioLinkParameterUpdateTDD |
+ uEMeasurementReporting |
+ uEMeasurementTermination |
+ uEMeasurementFailure |
+ iurInvokeTrace |
+ iurDeactivateTrace |
+ mBMSAttach |
+ mBMSDetach |
+ directInformationTransfer |
+ enhancedRelocationCancel |
+ enhancedRelocationSignallingTransfer |
+ enhancedRelocationRelease |
+ mBSFNMCCHInformation |
+ secondaryULFrequencyReportingFDD |
+ secondaryULFrequencyUpdateFDD |
+ informationTransferControl
+
+
+
+
+}
+
+RNSAP-ELEMENTARY-PROCEDURES-CLASS-3 RNSAP-ELEMENTARY-PROCEDURE ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+radioLinkSetupFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkSetupRequestFDD
+ SUCCESSFUL OUTCOME RadioLinkSetupResponseFDD
+ UNSUCCESSFUL OUTCOME RadioLinkSetupFailureFDD
+ PROCEDURE ID { procedureCode id-radioLinkSetup, ddMode fdd }
+ CRITICALITY reject
+}
+
+radioLinkSetupTDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkSetupRequestTDD
+ SUCCESSFUL OUTCOME RadioLinkSetupResponseTDD
+ UNSUCCESSFUL OUTCOME RadioLinkSetupFailureTDD
+ PROCEDURE ID { procedureCode id-radioLinkSetup, ddMode tdd }
+ CRITICALITY reject
+}
+
+radioLinkAdditionFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkAdditionRequestFDD
+ SUCCESSFUL OUTCOME RadioLinkAdditionResponseFDD
+ UNSUCCESSFUL OUTCOME RadioLinkAdditionFailureFDD
+ PROCEDURE ID { procedureCode id-radioLinkAddition , ddMode fdd }
+ CRITICALITY reject
+}
+
+radioLinkAdditionTDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkAdditionRequestTDD
+ SUCCESSFUL OUTCOME RadioLinkAdditionResponseTDD
+ UNSUCCESSFUL OUTCOME RadioLinkAdditionFailureTDD
+ PROCEDURE ID { procedureCode id-radioLinkAddition , ddMode tdd }
+ CRITICALITY reject
+}
+
+radioLinkDeletion RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkDeletionRequest
+ SUCCESSFUL OUTCOME RadioLinkDeletionResponse
+ PROCEDURE ID { procedureCode id-radioLinkDeletion, ddMode common }
+ CRITICALITY reject
+}
+
+synchronisedRadioLinkReconfigurationPreparationFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationPrepareFDD
+ SUCCESSFUL OUTCOME RadioLinkReconfigurationReadyFDD
+ UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
+ PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationPreparation, ddMode fdd }
+ CRITICALITY reject
+}
+
+synchronisedRadioLinkReconfigurationPreparationTDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationPrepareTDD
+ SUCCESSFUL OUTCOME RadioLinkReconfigurationReadyTDD
+ UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
+ PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationPreparation, ddMode tdd }
+ CRITICALITY reject
+}
+
+unSynchronisedRadioLinkReconfigurationFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationRequestFDD
+ SUCCESSFUL OUTCOME RadioLinkReconfigurationResponseFDD
+ UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
+ PROCEDURE ID { procedureCode id-unSynchronisedRadioLinkReconfiguration, ddMode fdd }
+ CRITICALITY reject
+}
+
+unSynchronisedRadioLinkReconfigurationTDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationRequestTDD
+ SUCCESSFUL OUTCOME RadioLinkReconfigurationResponseTDD
+ UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
+ PROCEDURE ID { procedureCode id-unSynchronisedRadioLinkReconfiguration, ddMode tdd }
+ CRITICALITY reject
+}
+
+physicalChannelReconfigurationFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PhysicalChannelReconfigurationRequestFDD
+ SUCCESSFUL OUTCOME PhysicalChannelReconfigurationCommand
+ UNSUCCESSFUL OUTCOME PhysicalChannelReconfigurationFailure
+ PROCEDURE ID { procedureCode id-physicalChannelReconfiguration, ddMode fdd }
+ CRITICALITY reject
+}
+
+physicalChannelReconfigurationTDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PhysicalChannelReconfigurationRequestTDD
+ SUCCESSFUL OUTCOME PhysicalChannelReconfigurationCommand
+ UNSUCCESSFUL OUTCOME PhysicalChannelReconfigurationFailure
+ PROCEDURE ID { procedureCode id-physicalChannelReconfiguration, ddMode tdd }
+ CRITICALITY reject
+}
+
+dedicatedMeasurementInitiation RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DedicatedMeasurementInitiationRequest
+ SUCCESSFUL OUTCOME DedicatedMeasurementInitiationResponse
+ UNSUCCESSFUL OUTCOME DedicatedMeasurementInitiationFailure
+ PROCEDURE ID { procedureCode id-dedicatedMeasurementInitiation, ddMode common }
+ CRITICALITY reject
+}
+
+commonTransportChannelResourcesInitialisationFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonTransportChannelResourcesRequest
+ SUCCESSFUL OUTCOME CommonTransportChannelResourcesResponseFDD
+ UNSUCCESSFUL OUTCOME CommonTransportChannelResourcesFailure
+ PROCEDURE ID { procedureCode id-commonTransportChannelResourcesInitialisation, ddMode fdd }
+ CRITICALITY reject
+}
+
+commonTransportChannelResourcesInitialisationTDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonTransportChannelResourcesRequest
+ SUCCESSFUL OUTCOME CommonTransportChannelResourcesResponseTDD
+ UNSUCCESSFUL OUTCOME CommonTransportChannelResourcesFailure
+ PROCEDURE ID { procedureCode id-commonTransportChannelResourcesInitialisation, ddMode tdd }
+ CRITICALITY reject
+}
+
+uplinkSignallingTransferFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkSignallingTransferIndicationFDD
+ PROCEDURE ID { procedureCode id-uplinkSignallingTransfer, ddMode fdd }
+ CRITICALITY ignore
+}
+
+uplinkSignallingTransferTDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkSignallingTransferIndicationTDD
+ PROCEDURE ID { procedureCode id-uplinkSignallingTransfer, ddMode tdd }
+ CRITICALITY ignore
+}
+
+downlinkSignallingTransfer RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkSignallingTransferRequest
+ PROCEDURE ID { procedureCode id-downlinkSignallingTransfer, ddMode common }
+ CRITICALITY ignore
+}
+
+relocationCommit RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RelocationCommit
+ PROCEDURE ID { procedureCode id-relocationCommit, ddMode common }
+ CRITICALITY ignore
+}
+
+paging RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PagingRequest
+ PROCEDURE ID { procedureCode id-paging, ddMode common }
+ CRITICALITY ignore
+}
+
+synchronisedRadioLinkReconfigurationCommit RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationCommit
+ PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationCommit, ddMode common }
+ CRITICALITY ignore
+}
+
+synchronisedRadioLinkReconfigurationCancellation RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkReconfigurationCancel
+ PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationCancellation, ddMode common }
+ CRITICALITY ignore
+}
+
+radioLinkFailure RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkFailureIndication
+ PROCEDURE ID { procedureCode id-radioLinkFailure, ddMode common }
+ CRITICALITY ignore
+}
+
+radioLinkPreemption RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkPreemptionRequiredIndication
+ PROCEDURE ID { procedureCode id-radioLinkPreemption, ddMode common }
+ CRITICALITY ignore
+}
+
+radioLinkRestoration RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkRestoreIndication
+ PROCEDURE ID { procedureCode id-radioLinkRestoration, ddMode common }
+ CRITICALITY ignore
+}
+
+dedicatedMeasurementReporting RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DedicatedMeasurementReport
+ PROCEDURE ID { procedureCode id-dedicatedMeasurementReporting, ddMode common }
+ CRITICALITY ignore
+}
+
+dedicatedMeasurementTermination RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DedicatedMeasurementTerminationRequest
+ PROCEDURE ID { procedureCode id-dedicatedMeasurementTermination, ddMode common }
+ CRITICALITY ignore
+}
+
+dedicatedMeasurementFailure RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DedicatedMeasurementFailureIndication
+ PROCEDURE ID { procedureCode id-dedicatedMeasurementFailure, ddMode common }
+ CRITICALITY ignore
+}
+
+radioLinkCongestion RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkCongestionIndication
+ PROCEDURE ID { procedureCode id-radioLinkCongestion, ddMode common }
+ CRITICALITY ignore
+}
+
+downlinkPowerControlFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DL-PowerControlRequest
+ PROCEDURE ID { procedureCode id-downlinkPowerControl, ddMode fdd }
+ CRITICALITY ignore
+}
+
+downlinkPowerTimeslotControl RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DL-PowerTimeslotControlRequest
+ PROCEDURE ID { procedureCode id-downlinkPowerTimeslotControl, ddMode tdd }
+ CRITICALITY ignore
+}
+
+compressedModeCommandFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CompressedModeCommand
+ PROCEDURE ID { procedureCode id-compressedModeCommand, ddMode fdd }
+ CRITICALITY ignore
+}
+
+commonTransportChannelResourcesRelease RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonTransportChannelResourcesReleaseRequest
+ PROCEDURE ID { procedureCode id-commonTransportChannelResourcesRelease, ddMode common }
+ CRITICALITY ignore
+}
+
+errorIndication RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE ID { procedureCode id-errorIndication, ddMode common }
+ CRITICALITY ignore
+}
+
+commonMeasurementInitiation RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonMeasurementInitiationRequest
+ SUCCESSFUL OUTCOME CommonMeasurementInitiationResponse
+ UNSUCCESSFUL OUTCOME CommonMeasurementInitiationFailure
+ PROCEDURE ID { procedureCode id-commonMeasurementInitiation, ddMode common }
+ CRITICALITY reject
+}
+
+commonMeasurementReporting RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonMeasurementReport
+ PROCEDURE ID { procedureCode id-commonMeasurementReporting, ddMode common }
+ CRITICALITY ignore
+}
+
+commonMeasurementTermination RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonMeasurementTerminationRequest
+ PROCEDURE ID { procedureCode id-commonMeasurementTermination, ddMode common }
+ CRITICALITY ignore
+}
+
+commonMeasurementFailure RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CommonMeasurementFailureIndication
+ PROCEDURE ID { procedureCode id-commonMeasurementFailure, ddMode common }
+ CRITICALITY ignore
+}
+
+informationExchangeInitiation RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationExchangeInitiationRequest
+ SUCCESSFUL OUTCOME InformationExchangeInitiationResponse
+ UNSUCCESSFUL OUTCOME InformationExchangeInitiationFailure
+ PROCEDURE ID { procedureCode id-informationExchangeInitiation, ddMode common }
+ CRITICALITY reject
+}
+
+informationReporting RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationReport
+ PROCEDURE ID { procedureCode id-informationReporting, ddMode common }
+ CRITICALITY ignore
+}
+
+informationExchangeTermination RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationExchangeTerminationRequest
+ PROCEDURE ID { procedureCode id-informationExchangeTermination, ddMode common }
+ CRITICALITY ignore
+}
+
+informationExchangeFailure RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationExchangeFailureIndication
+ PROCEDURE ID { procedureCode id-informationExchangeFailure, ddMode common }
+ CRITICALITY ignore
+}
+
+privateMessage RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE ID { procedureCode id-privateMessage, ddMode common }
+ CRITICALITY ignore
+}
+
+reset RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResetRequest
+ SUCCESSFUL OUTCOME ResetResponse
+ PROCEDURE ID { procedureCode id-reset, ddMode common }
+ CRITICALITY reject
+}
+
+radioLinkActivationFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkActivationCommandFDD
+ PROCEDURE ID { procedureCode id-radioLinkActivation, ddMode fdd }
+ CRITICALITY ignore
+}
+
+radioLinkActivationTDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkActivationCommandTDD
+ PROCEDURE ID { procedureCode id-radioLinkActivation, ddMode tdd }
+ CRITICALITY ignore
+}
+
+gERANuplinkSignallingTransfer RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GERANUplinkSignallingTransferIndication
+ PROCEDURE ID { procedureCode id-gERANuplinkSignallingTransfer, ddMode common }
+ CRITICALITY ignore
+}
+
+radioLinkParameterUpdateFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkParameterUpdateIndicationFDD
+ PROCEDURE ID { procedureCode id-radioLinkParameterUpdate, ddMode fdd }
+ CRITICALITY ignore
+}
+
+radioLinkParameterUpdateTDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RadioLinkParameterUpdateIndicationTDD
+ PROCEDURE ID { procedureCode id-radioLinkParameterUpdate, ddMode tdd }
+ CRITICALITY ignore
+}
+
+uEMeasurementInitiation RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEMeasurementInitiationRequest
+ SUCCESSFUL OUTCOME UEMeasurementInitiationResponse
+ UNSUCCESSFUL OUTCOME UEMeasurementInitiationFailure
+ PROCEDURE ID { procedureCode id-uEMeasurementInitiation, ddMode tdd }
+ CRITICALITY reject
+}
+
+uEMeasurementReporting RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEMeasurementReport
+ PROCEDURE ID { procedureCode id-uEMeasurementReporting, ddMode tdd }
+ CRITICALITY ignore
+}
+
+uEMeasurementTermination RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEMeasurementTerminationRequest
+ PROCEDURE ID { procedureCode id-uEMeasurementTermination, ddMode tdd }
+ CRITICALITY ignore
+}
+
+uEMeasurementFailure RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEMeasurementFailureIndication
+ PROCEDURE ID { procedureCode id-uEMeasurementFailure, ddMode tdd }
+ CRITICALITY ignore
+}
+
+iurInvokeTrace RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE IurInvokeTrace
+ PROCEDURE ID { procedureCode id-iurInvokeTrace, ddMode common }
+ CRITICALITY ignore
+}
+
+iurDeactivateTrace RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE IurDeactivateTrace
+ PROCEDURE ID { procedureCode id-iurDeactivateTrace, ddMode common }
+ CRITICALITY ignore
+}
+
+mBMSAttach RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSAttachCommand
+ PROCEDURE ID { procedureCode id-mBMSAttach, ddMode common }
+ CRITICALITY ignore
+}
+
+mBMSDetach RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBMSDetachCommand
+ PROCEDURE ID { procedureCode id-mBMSDetach, ddMode common }
+ CRITICALITY ignore
+}
+
+directInformationTransfer RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DirectInformationTransfer
+ PROCEDURE ID { procedureCode id-directInformationTransfer, ddMode common }
+ CRITICALITY ignore
+}
+
+enhancedRelocation RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EnhancedRelocationRequest
+ SUCCESSFUL OUTCOME EnhancedRelocationResponse
+ UNSUCCESSFUL OUTCOME EnhancedRelocationFailure
+ PROCEDURE ID { procedureCode id-enhancedRelocation, ddMode common }
+ CRITICALITY reject
+}
+
+enhancedRelocationCancel RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EnhancedRelocationCancel
+ PROCEDURE ID { procedureCode id-enhancedRelocationCancel, ddMode common }
+ CRITICALITY ignore
+}
+
+enhancedRelocationSignallingTransfer RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EnhancedRelocationSignallingTransfer
+ PROCEDURE ID { procedureCode id-enhancedRelocationSignallingTransfer, ddMode common }
+ CRITICALITY ignore
+}
+
+enhancedRelocationRelease RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EnhancedRelocationRelease
+ PROCEDURE ID { procedureCode id-enhancedRelocationRelease, ddMode common }
+ CRITICALITY ignore
+}
+
+mBSFNMCCHInformation RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MBSFNMCCHInformation
+ PROCEDURE ID { procedureCode id-mBSFNMCCHInformation, ddMode common }
+ CRITICALITY reject
+}
+
+secondaryULFrequencyReportingFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SecondaryULFrequencyReport
+ PROCEDURE ID { procedureCode id-secondaryULFrequencyReporting, ddMode fdd }
+ CRITICALITY ignore
+}
+
+secondaryULFrequencyUpdateFDD RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SecondaryULFrequencyUpdateIndication
+ PROCEDURE ID { procedureCode id-secondaryULFrequencyUpdate, ddMode fdd }
+ CRITICALITY ignore
+}
+enhancedRelocationResourceAllocation RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EnhancedRelocationResourceRequest
+ SUCCESSFUL OUTCOME EnhancedRelocationResourceResponse
+ UNSUCCESSFUL OUTCOME EnhancedRelocationResourceFailure
+ PROCEDURE ID { procedureCode id-enhancedRelocationResourceAllocation, ddMode tdd }
+ CRITICALITY reject
+}
+
+enhancedRelocationResourceRelease RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EnhancedRelocationResourceReleaseCommand
+ SUCCESSFUL OUTCOME EnhancedRelocationResourceReleaseComplete
+ PROCEDURE ID { procedureCode id-enhancedRelocationResourceRelease, ddMode tdd }
+ CRITICALITY reject
+}
+
+informationTransferControl RNSAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InformationTransferControlRequest
+ PROCEDURE ID { procedureCode id-informationTransferControl, ddMode common }
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/rnsap/packet-rnsap-template.c b/epan/dissectors/asn1/rnsap/packet-rnsap-template.c
new file mode 100644
index 00000000..fc08e17b
--- /dev/null
+++ b/epan/dissectors/asn1/rnsap/packet-rnsap-template.c
@@ -0,0 +1,301 @@
+/* packet-rnsap.c
+ * Routines for dissecting Universal Mobile Telecommunications System (UMTS);
+ * UTRAN Iur interface Radio Network Subsystem
+ * Application Part (RNSAP) signalling
+ * (3GPP TS 25.423 version 6.7.0 Release 6) packet dissection
+ * Copyright 2005 - 2006, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref: 3GPP TS 25.423 version 6.7.0 Release 6
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+
+#include "packet-isup.h"
+#include "packet-per.h"
+#include "packet-ber.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "UTRAN Iur interface Radio Network Subsystem Application Part"
+#define PSNAME "RNSAP"
+#define PFNAME "rnsap"
+
+#define SCCP_SSN_RNSAP 143
+
+#include "packet-rnsap-val.h"
+
+void proto_register_rnsap(void);
+void proto_reg_handoff_rnsap(void);
+
+typedef struct {
+ guint32 ProcedureCode;
+ guint32 ProtocolIE_ID;
+ guint32 ddMode;
+ const char *ProcedureID;
+ const char *obj_id;
+} rnsap_private_data_t;
+
+static dissector_handle_t ranap_handle = NULL;
+static dissector_handle_t rrc_dl_ccch_handle = NULL;
+static dissector_handle_t rrc_ul_ccch_handle = NULL;
+
+/* Initialize the protocol and registered fields */
+static int proto_rnsap = -1;
+
+static int hf_rnsap_transportLayerAddress_ipv4 = -1;
+static int hf_rnsap_transportLayerAddress_ipv6 = -1;
+static int hf_rnsap_transportLayerAddress_nsap = -1;
+#include "packet-rnsap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_rnsap = -1;
+static int ett_rnsap_transportLayerAddress = -1;
+static int ett_rnsap_transportLayerAddress_nsap = -1;
+
+#include "packet-rnsap-ett.c"
+
+
+/* Dissector tables */
+static dissector_table_t rnsap_ies_dissector_table;
+static dissector_table_t rnsap_extension_dissector_table;
+static dissector_table_t rnsap_proc_imsg_dissector_table;
+static dissector_table_t rnsap_proc_sout_dissector_table;
+static dissector_table_t rnsap_proc_uout_dissector_table;
+
+static dissector_handle_t rnsap_handle;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_PrivateIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static rnsap_private_data_t *
+rnsap_get_private_data(packet_info *pinfo)
+{
+
+ rnsap_private_data_t *pdata = (rnsap_private_data_t *)p_get_proto_data(pinfo->pool, pinfo, proto_rnsap, 0);
+ if (!pdata) {
+ pdata = wmem_new0(pinfo->pool, rnsap_private_data_t);
+ pdata->ProcedureCode = 0xFFFF;
+ pdata->ddMode = 0xFFFF;
+ p_add_proto_data(pinfo->pool, pinfo, proto_rnsap, 0, pdata);
+ }
+ return pdata;
+}
+
+#include "packet-rnsap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ rnsap_private_data_t *pdata = rnsap_get_private_data(pinfo);
+ return (dissector_try_uint(rnsap_ies_dissector_table, pdata->ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ rnsap_private_data_t *pdata = rnsap_get_private_data(pinfo);
+ return (dissector_try_uint(rnsap_extension_dissector_table, pdata->ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_PrivateIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ rnsap_private_data_t *pdata = rnsap_get_private_data(pinfo);
+ return (call_ber_oid_callback(pdata->obj_id, tvb, 0, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ rnsap_private_data_t *pdata = rnsap_get_private_data(pinfo);
+ if (!pdata->ProcedureID) return 0;
+ return (dissector_try_string(rnsap_proc_imsg_dissector_table, pdata->ProcedureID, tvb, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ rnsap_private_data_t *pdata = rnsap_get_private_data(pinfo);
+ if (!pdata->ProcedureID) return 0;
+ return (dissector_try_string(rnsap_proc_sout_dissector_table, pdata->ProcedureID, tvb, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ rnsap_private_data_t *pdata = rnsap_get_private_data(pinfo);
+ if (!pdata->ProcedureID) return 0;
+ return (dissector_try_string(rnsap_proc_uout_dissector_table, pdata->ProcedureID, tvb, pinfo, tree, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_rnsap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_item *rnsap_item = NULL;
+ proto_tree *rnsap_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "RNSAP");
+
+ /* create the rnsap protocol tree */
+ rnsap_item = proto_tree_add_item(tree, proto_rnsap, tvb, 0, -1, ENC_NA);
+ rnsap_tree = proto_item_add_subtree(rnsap_item, ett_rnsap);
+
+ /* remove any rnsap_private_data_t state from previous PDUs in this packet. */
+ p_remove_proto_data(pinfo->pool, pinfo, proto_rnsap, 0);
+
+ return dissect_RNSAP_PDU_PDU(tvb, pinfo, rnsap_tree, data);
+}
+
+/* Highest ProcedureCode value, used in heuristics */
+#define RNSAP_MAX_PC 61 /* id-enhancedRelocationResourceRelease = 61*/
+#define RNSAP_MSG_MIN_LENGTH 7
+static gboolean
+dissect_sccp_rnsap_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ guint8 pdu_type;
+ guint8 procedure_id;
+ guint8 dd_mode;
+ guint8 criticality;
+ guint8 transaction_id_type;
+ guint length;
+ int length_field_offset;
+
+ #define PDU_TYPE_OFFSET 0
+ #define PROC_CODE_OFFSET 1
+ #define DD_CRIT_OFFSET 2
+ if (tvb_captured_length(tvb) < RNSAP_MSG_MIN_LENGTH) {
+ return FALSE;
+ }
+
+ pdu_type = tvb_get_guint8(tvb, PDU_TYPE_OFFSET);
+ if (pdu_type & 0x1F) {
+ /* pdu_type is not 0x00 (initiatingMessage), 0x20 (succesfulOutcome),
+ 0x40 (unsuccesfulOutcome) or 0x60 (outcome), ignore extension bit (0x80) */
+ return FALSE;
+ }
+
+ procedure_id = tvb_get_guint8(tvb, PROC_CODE_OFFSET);
+ if (procedure_id > RNSAP_MAX_PC) {
+ return FALSE;
+ }
+
+ dd_mode = tvb_get_guint8(tvb, DD_CRIT_OFFSET) >> 5;
+ if (dd_mode >= 0x03) {
+ /* dd_mode is not 0x00 (tdd), 0x01 (fdd) or 0x02 (common) */
+ return FALSE;
+ }
+
+ criticality = (tvb_get_guint8(tvb, DD_CRIT_OFFSET) & 0x18) >> 3;
+ if (criticality == 0x03) {
+ /* criticality is not 0x00 (reject), 0x01 (ignore) or 0x02 (notify) */
+ return FALSE;
+ }
+
+ /* Finding the offset for the length field - depends on wether the transaction id is long or short */
+ transaction_id_type = (tvb_get_guint8(tvb, DD_CRIT_OFFSET) & 0x04) >> 2;
+ if(transaction_id_type == 0x00) { /* Short transaction id - 1 byte*/
+ length_field_offset = 4;
+ }
+ else { /* Long transaction id - 2 bytes*/
+ length_field_offset = 5;
+ }
+
+ /* compute aligned PER length determinant without calling dissect_per_length_determinant()
+ to avoid exceptions and info added to tree, info column and expert info */
+ length = tvb_get_guint8(tvb, length_field_offset);
+ length_field_offset += 1;
+ if (length & 0x80) {
+ if ((length & 0xc0) == 0x80) {
+ length &= 0x3f;
+ length <<= 8;
+ length += tvb_get_guint8(tvb, length_field_offset);
+ length_field_offset += 1;
+ } else {
+ length = 0;
+ }
+ }
+ if (length!= (tvb_reported_length(tvb) - length_field_offset)){
+ return FALSE;
+ }
+
+ dissect_rnsap(tvb, pinfo, tree, data);
+
+ return TRUE;
+}
+
+
+/*--- proto_register_rnsap -------------------------------------------*/
+void proto_register_rnsap(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_rnsap_transportLayerAddress_ipv4,
+ { "transportLayerAddress IPv4", "rnsap.transportLayerAddress_ipv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_rnsap_transportLayerAddress_ipv6,
+ { "transportLayerAddress IPv6", "rnsap.transportLayerAddress_ipv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_rnsap_transportLayerAddress_nsap,
+ { "transportLayerAddress NSAP", "rnsap.transportLayerAddress_NSAP",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-rnsap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_rnsap,
+ &ett_rnsap_transportLayerAddress,
+ &ett_rnsap_transportLayerAddress_nsap,
+#include "packet-rnsap-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_rnsap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_rnsap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ rnsap_handle = register_dissector("rnsap", dissect_rnsap, proto_rnsap);
+
+ /* Register dissector tables */
+ rnsap_ies_dissector_table = register_dissector_table("rnsap.ies", "RNSAP-PROTOCOL-IES", proto_rnsap, FT_UINT32, BASE_DEC);
+ rnsap_extension_dissector_table = register_dissector_table("rnsap.extension", "RNSAP-PROTOCOL-EXTENSION", proto_rnsap, FT_UINT32, BASE_DEC);
+ rnsap_proc_imsg_dissector_table = register_dissector_table("rnsap.proc.imsg", "RNSAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_rnsap, FT_STRING, STRING_CASE_SENSITIVE);
+ rnsap_proc_sout_dissector_table = register_dissector_table("rnsap.proc.sout", "RNSAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_rnsap, FT_STRING, STRING_CASE_SENSITIVE);
+ rnsap_proc_uout_dissector_table = register_dissector_table("rnsap.proc.uout", "RNSAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_rnsap, FT_STRING, STRING_CASE_SENSITIVE);
+
+}
+
+
+/*--- proto_reg_handoff_rnsap ---------------------------------------*/
+void
+proto_reg_handoff_rnsap(void)
+{
+ ranap_handle = find_dissector("ranap");
+ rrc_dl_ccch_handle = find_dissector_add_dependency("rrc.dl.ccch", proto_rnsap);
+ rrc_ul_ccch_handle = find_dissector_add_dependency("rrc.ul.ccch", proto_rnsap);
+
+ dissector_add_uint("sccp.ssn", SCCP_SSN_RNSAP, rnsap_handle);
+ heur_dissector_add("sccp", dissect_sccp_rnsap_heur, "RNSAP over SCCP", "rnsap_sccp", proto_rnsap, HEURISTIC_ENABLE);
+
+#include "packet-rnsap-dis-tab.c"
+}
+
+
diff --git a/epan/dissectors/asn1/rnsap/rnsap.cnf b/epan/dissectors/asn1/rnsap/rnsap.cnf
new file mode 100644
index 00000000..060d6ee6
--- /dev/null
+++ b/epan/dissectors/asn1/rnsap/rnsap.cnf
@@ -0,0 +1,1192 @@
+# rnsap.cnf
+# rnsap conformation file
+# Copyright 2005 Anders Broman
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.OMIT_ASSIGNMENT
+EDPCH-Information-RLReconfPrepare-FDD
+Non-Serving-RL-Preconfig-Info
+
+#.PDU
+RNSAP-PDU
+
+#.MAKE_DEFINES
+ProcedureCode
+
+#.MAKE_ENUM
+ProtocolIE-ID
+ProcedureID/ddMode
+
+#.USE_VALS_EXT
+ProtocolIE-ID
+CauseRadioNetwork
+TDD-ChannelisationCode768
+Process-Memory-Size
+ProcedureCode
+TDD-ChannelisationCode
+E-DCH-MACdFlow-Retransmission-Timer-LCR
+DiscardTimer
+FrequencyBandIndicator
+MeasurementFilterCoefficient
+
+#.TYPE_RENAME
+ProcedureID/ddMode DdMode
+
+ProtocolIE-Field/value ProtocolIE_Field_value
+PrivateIE-Field/value PrivateIE_Field_value
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+Outcome/value Outcome_value
+
+MidambleShiftAndBurstType/type1 Type1
+MidambleShiftAndBurstType768/type1 Type7681
+MidambleShiftAndBurstType/type2 Type2
+MidambleShiftAndBurstType768/type2 Type7682
+MidambleShiftAndBurstType/type3 Type3
+MidambleShiftAndBurstType768/type3 Type7683
+
+MidambleShiftAndBurstType/type1/midambleAllocationMode MidambleAllocationMode1
+MidambleShiftAndBurstType/type2/midambleAllocationMode MidambleAllocationMode2
+MidambleShiftAndBurstType/type3/midambleAllocationMode MidambleAllocationMode3
+MidambleShiftAndBurstType768/type1/midambleAllocationMode MidambleAllocationMode7681
+MidambleShiftAndBurstType768/type2/midambleAllocationMode MidambleAllocationMode7682
+MidambleShiftAndBurstType768/type3/midambleAllocationMode MidambleAllocationMode7683
+
+#.FIELD_RENAME
+UEMeasurementTimeslotInfoLCR-IEs/timeSlot timeSlotLCR
+
+
+#.OMIT_ASSIGNMENT
+Presence
+ProtocolIE-FieldPair
+ProtocolIE-ContainerList
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+#.END
+
+#.FN_PARS ProtocolIE-ID VAL_PTR = &rnsap_get_private_data(actx->pinfo)->ProtocolIE_ID
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS PrivateIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_PrivateIEFieldValue
+
+#.FN_HDR ProcedureCode
+ rnsap_private_data_t *pdata = rnsap_get_private_data(actx->pinfo);
+#.END
+#.FN_PARS ProcedureCode VAL_PTR = &pdata->ProcedureCode
+#.FN_FTR ProcedureCode
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
+ val_to_str_ext_const(pdata->ProcedureCode, &rnsap_ProcedureCode_vals_ext,
+ "unknown message"));
+#.END
+#.FN_PARS ProcedureID/ddMode VAL_PTR = &rnsap_get_private_data(actx->pinfo)->ddMode
+
+#.FN_HDR ProcedureID
+ rnsap_private_data_t *pdata = rnsap_get_private_data(actx->pinfo);
+#.END
+
+#.FN_FTR ProcedureID
+ pdata->ProcedureID = wmem_strdup_printf(actx->pinfo->pool, "%s/%s",
+ val_to_str_ext(pdata->ProcedureCode, &rnsap_ProcedureCode_vals_ext, "unknown(%u)"),
+ val_to_str(pdata->ddMode, rnsap_DdMode_vals, "unknown(%u)"));
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+
+#.FN_BODY L3-Information VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ dissector_handle_t parameter_handle = NULL;
+ rnsap_private_data_t *pdata = rnsap_get_private_data(actx->pinfo);
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ switch (pdata->ProcedureCode) {
+
+ case RNSAP_ID_DOWNLINKSIGNALLINGTRANSFER:
+ /* TODO: seperate into Iur and Iur-g cases: */
+ /* For the Iur-g interface, L3 message is a GERAN-RRC message for which a dissector does not currently exist */
+ /* For the Iur interface, L3 message is a UMTS RRC DL-CCCH message */
+ parameter_handle = rrc_dl_ccch_handle;
+ break;
+ case RNSAP_ID_UPLINKSIGNALLINGTRANSFER:
+ parameter_handle = rrc_ul_ccch_handle;
+ break;
+ default:
+ break;
+ }
+
+ if (parameter_handle)
+ call_dissector(parameter_handle, parameter_tvb, %(ACTX)s->pinfo, tree);
+
+#.END
+
+#.FN_PARS PrivateIE-ID/global FN_VARIANT = _str VAL_PTR = &rnsap_get_private_data(actx->pinfo)->obj_id
+
+#.FN_BODY RANAP-RelocationInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ /* Calling RANAP dissector but preventing changes to the protocol column */
+ col_set_writable(actx->pinfo->cinfo, COL_PROTOCOL, FALSE);
+ call_dissector_only(ranap_handle, parameter_tvb, actx->pinfo, tree, NULL);
+ col_set_writable(actx->pinfo->cinfo, COL_PROTOCOL, TRUE);
+
+#.TYPE_ATTR
+BLER TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = NULL
+#.END
+
+#.FN_BODY BindingID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ guint16 binding_id_port;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+# BindingID ::= OCTET STRING (SIZE (1..4,...))
+# -- If the Binding ID includes an UDP port, the UDP port is included in octet 1 and 2.
+ if(tvb_reported_length(parameter_tvb)>=2){
+ binding_id_port = tvb_get_ntohs(parameter_tvb,0);
+ proto_item_append_text(actx->created_item, " (%%u)",binding_id_port);
+ }
+
+#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_item *item;
+ proto_tree *subtree, *nsap_tree;
+ guint8 *padded_nsap_bytes;
+ tvbuff_t *nsap_tvb;
+ gint tvb_len;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ /* Get the length */
+ tvb_len = tvb_reported_length(parameter_tvb);
+ subtree = proto_item_add_subtree(actx->created_item, ett_rnsap_transportLayerAddress);
+ if (tvb_len == 4){
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_rnsap_transportLayerAddress_ipv4, parameter_tvb, 0, tvb_len, ENC_BIG_ENDIAN);
+ }
+ if (tvb_len == 16){
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_rnsap_transportLayerAddress_ipv6, parameter_tvb, 0, tvb_len, ENC_NA);
+ }
+ if (tvb_len == 20 || tvb_len == 7){
+ /* NSAP */
+ if (tvb_len == 7){
+ /* Unpadded IPv4 NSAP */
+ /* Creating a new TVB with padding */
+ padded_nsap_bytes = (guint8*) wmem_alloc0(actx->pinfo->pool, 20);
+ tvb_memcpy(parameter_tvb, padded_nsap_bytes, 0, tvb_len);
+ nsap_tvb = tvb_new_child_real_data(tvb, padded_nsap_bytes, 20, 20);
+ add_new_data_source(actx->pinfo, nsap_tvb, "Padded NSAP Data");
+ }else{
+ /* Padded NSAP*/
+ nsap_tvb = parameter_tvb;
+ }
+ item = proto_tree_add_item(subtree, hf_rnsap_transportLayerAddress_nsap, parameter_tvb, 0, tvb_len, ENC_NA);
+ nsap_tree = proto_item_add_subtree(item, ett_rnsap_transportLayerAddress_nsap);
+ dissect_nsap(nsap_tvb, 0, 20, nsap_tree);
+ }
+
+#.TYPE_ATTR
+LAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY LAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+RAC TYPE = FT_UINT8 DISPLAY = BASE_DEC_HEX
+#.FN_BODY RAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+SAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY SAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.REGISTER
+
+#RNSAP-PROTOCOL-IES
+RTLoadValue N rnsap.ies id-RTLoadValue
+NRTLoadInformationValue N rnsap.ies id-NRTLoadInformationValue
+UpPTSInterferenceValue N rnsap.ies id-UpPTSInterferenceValue
+TUTRANGANSSMeasurementValueInformation N rnsap.ies id-TUTRANGANSSMeasurementValueInformation
+Rx-Timing-Deviation-Value-LCR N rnsap.ies id-Rx-Timing-Deviation-Value-LCR
+Angle-Of-Arrival-Value-LCR N rnsap.ies id-Angle-Of-Arrival-Value-LCR
+HS-SICH-Reception-Quality-Value N rnsap.ies id-HS-SICH-Reception-Quality
+Rx-Timing-Deviation-Value-768 N rnsap.ies id-Rx-Timing-Deviation-Value-768
+Rx-Timing-Deviation-Value-ext N rnsap.ies id-Rx-Timing-Deviation-Value-ext
+Extended-Round-Trip-Time-Value N rnsap.ies id-Extended-Round-Trip-Time-Value
+IPDL-TDD-ParametersLCR N rnsap.ies id-IPDL-TDD-ParametersLCR
+Load-Value-IncrDecrThres N rnsap.ies id-Load-Value-IncrDecrThres
+Transmitted-Carrier-Power-Value-IncrDecrThres N rnsap.ies id-Transmitted-Carrier-Power-Value-IncrDecrThres
+Received-Total-Wideband-Power-Value-IncrDecrThres N rnsap.ies id-Received-Total-Wideband-Power-Value-IncrDecrThres
+UL-Timeslot-ISCP-Value-IncrDecrThres N rnsap.ies id-UL-Timeslot-ISCP-Value-IncrDecrThres
+RT-Load-Value-IncrDecrThres N rnsap.ies id-RT-Load-Value-IncrDecrThres
+NRT-Load-Information-Value-IncrDecrThres N rnsap.ies id-NRT-Load-Information-Value-IncrDecrThres
+TUTRANGPSMeasurementThresholdInformation N rnsap.ies id-TUTRANGPSMeasurementThresholdInformation
+SFNSFNMeasurementThresholdInformation N rnsap.ies id-SFNSFNMeasurementThresholdInformation
+Load-Value N rnsap.ies id-Load-Value
+Transmitted-Carrier-Power-Value N rnsap.ies id-Transmitted-Carrier-Power-Value
+Received-Total-Wideband-Power-Value N rnsap.ies id-Received-Total-Wideband-Power-Value
+UL-Timeslot-ISCP-Value N rnsap.ies id-UL-Timeslot-ISCP-Value
+RT-Load-Value N rnsap.ies id-RT-Load-Value
+NRT-Load-Information-Value N rnsap.ies id-NRT-Load-Information-Value
+HS-SICH-Reception-Quality-Measurement-Value N rnsap.ies id-HS-SICH-Reception-Quality-Measurement-Value
+TUTRANGANSSMeasurementThresholdInformation N rnsap.ies id-TUTRANGANSSMeasurementThresholdInformation
+Neighbouring-UMTS-CellInformationItem N rnsap.ies id-Neighbouring-UMTS-CellInformationItem
+Neighbouring-GSM-CellInformationIEs N rnsap.ies id-Neighbouring-GSM-CellInformation
+OnModification N rnsap.ies id-OnModification
+RNC-ID N rnsap.ies id-SRNC-ID
+S-RNTI N rnsap.ies id-S-RNTI
+D-RNTI N rnsap.ies id-D-RNTI
+AllowedQueuingTime N rnsap.ies id-AllowedQueuingTime
+UL-DPCH-Information-RL-SetupRqstFDD N rnsap.ies id-UL-DPCH-Information-RL-SetupRqstFDD
+DL-DPCH-Information-RL-SetupRqstFDD N rnsap.ies id-DL-DPCH-Information-RL-SetupRqstFDD
+DCH-FDD-Information N rnsap.ies id-DCH-FDD-Information
+RL-InformationList-RL-SetupRqstFDD N rnsap.ies id-RL-Information-RL-SetupRqstFDD
+Transmission-Gap-Pattern-Sequence-Information N rnsap.ies id-Transmission-Gap-Pattern-Sequence-Information
+Active-Pattern-Sequence-Information N rnsap.ies id-Active-Pattern-Sequence-Information
+RL-InformationItem-RL-SetupRqstFDD N rnsap.ies id-RL-InformationItem-RL-SetupRqstFDD
+UL-Physical-Channel-Information-RL-SetupRqstTDD N rnsap.ies id-UL-Physical-Channel-Information-RL-SetupRqstTDD
+DL-Physical-Channel-Information-RL-SetupRqstTDD N rnsap.ies id-DL-Physical-Channel-Information-RL-SetupRqstTDD
+UL-CCTrCH-InformationList-RL-SetupRqstTDD N rnsap.ies id-UL-CCTrCH-InformationList-RL-SetupRqstTDD
+DL-CCTrCH-InformationList-RL-SetupRqstTDD N rnsap.ies id-DL-CCTrCH-InformationList-RL-SetupRqstTDD
+DCH-TDD-Information N rnsap.ies id-DCH-TDD-Information
+DSCH-TDD-Information N rnsap.ies id-DSCH-TDD-Information
+USCH-Information N rnsap.ies id-USCH-Information
+RL-Information-RL-SetupRqstTDD N rnsap.ies id-RL-Information-RL-SetupRqstTDD
+UL-CCTrCH-InformationItem-RL-SetupRqstTDD N rnsap.ies id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD
+DL-CCTrCH-InformationItem-RL-SetupRqstTDD N rnsap.ies id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD
+CN-PS-DomainIdentifier N rnsap.ies id-CN-PS-DomainIdentifier
+CN-CS-DomainIdentifier N rnsap.ies id-CN-CS-DomainIdentifier
+RL-InformationResponseList-RL-SetupRspFDD N rnsap.ies id-RL-InformationResponseList-RL-SetupRspFDD
+UL-SIR N rnsap.ies id-UL-SIRTarget
+CriticalityDiagnostics N rnsap.ies id-CriticalityDiagnostics
+RL-InformationResponseItem-RL-SetupRspFDD N rnsap.ies id-RL-InformationResponseItem-RL-SetupRspFDD
+RL-InformationResponse-RL-SetupRspTDD N rnsap.ies id-RL-InformationResponse-RL-SetupRspTDD
+UL-CCTrCHInformationListIE-RL-SetupRspTDD N rnsap.ies id-UL-CCTrCH-InformationListIE-RL-SetupRspTDD
+UL-DPCH-InformationItem-RL-SetupRspTDD N rnsap.ies id-UL-DPCH-InformationItem-RL-SetupRspTDD
+DL-CCTrCHInformationListIE-RL-SetupRspTDD N rnsap.ies id-DL-CCTrCH-InformationListIE-RL-SetupRspTDD
+DL-DPCH-InformationItem-RL-SetupRspTDD N rnsap.ies id-DL-DPCH-InformationItem-RL-SetupRspTDD
+DCH-InformationResponse N rnsap.ies id-DCH-InformationResponse
+DSCH-InformationListIEs-RL-SetupRspTDD N rnsap.ies id-DSCH-InformationListIEs-RL-SetupRspTDD
+USCH-InformationListIEs-RL-SetupRspTDD N rnsap.ies id-USCH-InformationListIEs-RL-SetupRspTDD
+UL-LCR-CCTrCHInformationListIE-RL-SetupRspTDD N rnsap.ies id-UL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD
+UL-DPCH-LCR-InformationItem-RL-SetupRspTDD N rnsap.ies id-UL-DPCH-LCR-InformationItem-RL-SetupRspTDD
+DL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD N rnsap.ies id-DL-CCTrCH-LCR-InformationListIE-RL-SetupRspTDD
+DL-DPCH-LCR-InformationItem-RL-SetupRspTDD N rnsap.ies id-DL-DPCH-LCR-InformationItem-RL-SetupRspTDD
+DSCH-LCR-InformationListIEs-RL-SetupRspTDD N rnsap.ies id-DSCH-LCR-InformationListIEs-RL-SetupRspTDD
+USCH-LCR-InformationListIEs-RL-SetupRspTDD N rnsap.ies id-USCH-LCR-InformationListIEs-RL-SetupRspTDD
+UL-CCTrCHInformationListIE-RL-SetupRspTDD768 N rnsap.ies id-UL-CCTrCH-InformationListIE-RL-SetupRspTDD768
+UL-DPCH-InformationItem-RL-SetupRspTDD768 N rnsap.ies id-UL-DPCH-InformationItem-RL-SetupRspTDD768
+DL-CCTrCHInformationListIE-RL-SetupRspTDD768 N rnsap.ies id-DL-CCTrCH-InformationListIE-RL-SetupRspTDD768
+DL-DPCH-InformationItem-RL-SetupRspTDD768 N rnsap.ies id-DL-DPCH-InformationItem-RL-SetupRspTDD768
+CauseLevel-RL-SetupFailureFDD N rnsap.ies id-CauseLevel-RL-SetupFailureFDD
+UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD N rnsap.ies id-UnsuccessfulRL-InformationResponse-RL-SetupFailureFDD
+SuccessfulRL-InformationResponse-RL-SetupFailureFDD N rnsap.ies id-SuccessfulRL-InformationResponse-RL-SetupFailureFDD
+CauseLevel-RL-SetupFailureTDD N rnsap.ies id-CauseLevel-RL-SetupFailureTDD
+UnsuccessfulRL-InformationResponse-RL-SetupFailureTDD N rnsap.ies id-UnsuccessfulRL-InformationResponse-RL-SetupFailureTDD
+RL-InformationList-RL-AdditionRqstFDD N rnsap.ies id-RL-InformationList-RL-AdditionRqstFDD
+RL-Information-RL-AdditionRqstFDD N rnsap.ies id-RL-Information-RL-AdditionRqstFDD
+RL-Information-RL-AdditionRqstTDD N rnsap.ies id-RL-Information-RL-AdditionRqstTDD
+UL-CCTrCH-InformationItem-RL-AdditionRqstTDD N rnsap.ies id-UL-CCTrCH-InformationItem-RL-AdditionRqstTDD
+DL-CCTrCH-InformationItem-RL-AdditionRqstTDD N rnsap.ies id-DL-CCTrCH-InformationItem-RL-AdditionRqstTDD
+RL-InformationResponseList-RL-AdditionRspFDD N rnsap.ies id-RL-InformationResponseList-RL-AdditionRspFDD
+RL-InformationResponseItem-RL-AdditionRspFDD N rnsap.ies id-RL-InformationResponseItem-RL-AdditionRspFDD
+FDD-DL-CodeInformation N rnsap.ies id-FDD-DL-CodeInformation
+RL-InformationResponse-RL-AdditionRspTDD N rnsap.ies id-RL-InformationResponse-RL-AdditionRspTDD
+UL-CCTrCHInformationListIE-RL-AdditionRspTDD N rnsap.ies id-UL-CCTrCH-InformationListIE-RL-AdditionRspTDD
+UL-DPCH-InformationItem-RL-AdditionRspTDD N rnsap.ies id-UL-DPCH-InformationItem-RL-AdditionRspTDD
+DL-CCTrCHInformationListIE-RL-AdditionRspTDD N rnsap.ies id-DL-CCTrCH-InformationListIE-RL-AdditionRspTDD
+DL-DPCH-InformationItem-RL-AdditionRspTDD N rnsap.ies id-DL-DPCH-InformationItem-RL-AdditionRspTDD
+DSCH-InformationListIE-RL-AdditionRspTDD N rnsap.ies id-DSCH-InformationListIE-RL-AdditionRspTDD
+USCH-InformationListIE-RL-AdditionRspTDD N rnsap.ies id-USCH-InformationListIE-RL-AdditionRspTDD
+UL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD N rnsap.ies id-UL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD
+UL-DPCH-LCR-InformationItem-RL-AdditionRspTDD N rnsap.ies id-UL-DPCH-LCR-InformationItem-RL-AdditionRspTDD
+DL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD N rnsap.ies id-DL-CCTrCH-LCR-InformationListIE-RL-AdditionRspTDD
+DL-DPCH-LCR-InformationItem-RL-AdditionRspTDD N rnsap.ies id-DL-DPCH-LCR-InformationItem-RL-AdditionRspTDD
+DSCH-LCR-InformationListIEs-RL-AdditionRspTDD N rnsap.ies id-DSCH-LCR-InformationListIEs-RL-AdditionRspTDD
+USCH-LCR-InformationListIEs-RL-AdditionRspTDD N rnsap.ies id-USCH-LCR-InformationListIEs-RL-AdditionRspTDD
+UL-CCTrCHInformationListIE-RL-AdditionRspTDD768 N rnsap.ies id-UL-CCTrCH-InformationListIE-RL-AdditionRspTDD768
+UL-DPCH-InformationItem-RL-AdditionRspTDD768 N rnsap.ies id-UL-DPCH-InformationItem-RL-AdditionRspTDD768
+DL-CCTrCHInformationListIE-RL-AdditionRspTDD768 N rnsap.ies id-DL-CCTrCH-InformationListIE-RL-AdditionRspTDD768
+DL-DPCH-InformationItem-RL-AdditionRspTDD768 N rnsap.ies id-DL-DPCH-InformationItem-RL-AdditionRspTDD768
+CauseLevel-RL-AdditionFailureFDD N rnsap.ies id-CauseLevel-RL-AdditionFailureFDD
+UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD N rnsap.ies id-UnsuccessfulRL-InformationResponse-RL-AdditionFailureFDD
+SuccessfulRL-InformationResponse-RL-AdditionFailureFDD N rnsap.ies id-SuccessfulRL-InformationResponse-RL-AdditionFailureFDD
+CauseLevel-RL-AdditionFailureTDD N rnsap.ies id-CauseLevel-RL-AdditionFailureTDD
+UnsuccessfulRL-InformationResponse-RL-AdditionFailureTDD N rnsap.ies id-UnsuccessfulRL-InformationResponse-RL-AdditionFailureTDD
+RL-InformationList-RL-DeletionRqst N rnsap.ies id-RL-InformationList-RL-DeletionRqst
+RL-Information-RL-DeletionRqst N rnsap.ies id-RL-Information-RL-DeletionRqst
+UL-DPCH-Information-RL-ReconfPrepFDD N rnsap.ies id-UL-DPCH-Information-RL-ReconfPrepFDD
+DL-DPCH-Information-RL-ReconfPrepFDD N rnsap.ies id-DL-DPCH-Information-RL-ReconfPrepFDD
+FDD-DCHs-to-Modify N rnsap.ies id-FDD-DCHs-to-Modify
+DCH-FDD-Information N rnsap.ies id-DCHs-to-Add-FDD
+DCH-DeleteList-RL-ReconfPrepFDD N rnsap.ies id-DCH-DeleteList-RL-ReconfPrepFDD
+RL-InformationList-RL-ReconfPrepFDD N rnsap.ies id-RL-InformationList-RL-ReconfPrepFDD
+RL-Information-RL-ReconfPrepFDD N rnsap.ies id-RL-Information-RL-ReconfPrepFDD
+UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD N rnsap.ies id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD
+UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD N rnsap.ies id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD
+UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD N rnsap.ies id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD
+DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD N rnsap.ies id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD
+DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD N rnsap.ies id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD
+DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD N rnsap.ies id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD
+TDD-DCHs-to-Modify N rnsap.ies id-TDD-DCHs-to-Modify
+DCH-TDD-Information N rnsap.ies id-DCHs-to-Add-TDD
+DCH-DeleteList-RL-ReconfPrepTDD N rnsap.ies id-DCH-DeleteList-RL-ReconfPrepTDD
+DSCH-ModifyList-RL-ReconfPrepTDD N rnsap.ies id-DSCH-ModifyList-RL-ReconfPrepTDD
+DSCH-TDD-Information N rnsap.ies id-DSCHs-to-Add-TDD
+DSCH-DeleteList-RL-ReconfPrepTDD N rnsap.ies id-DSCH-DeleteList-RL-ReconfPrepTDD
+USCH-ModifyList-RL-ReconfPrepTDD N rnsap.ies id-USCH-ModifyList-RL-ReconfPrepTDD
+USCH-Information N rnsap.ies id-USCHs-to-Add
+USCH-DeleteList-RL-ReconfPrepTDD N rnsap.ies id-USCH-DeleteList-RL-ReconfPrepTDD
+UL-CCTrCH-AddInformation-RL-ReconfPrepTDD N rnsap.ies id-UL-CCTrCH-AddInformation-RL-ReconfPrepTDD
+UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD N rnsap.ies id-UL-CCTrCH-ModifyInformation-RL-ReconfPrepTDD
+UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD N rnsap.ies id-UL-CCTrCH-DeleteInformation-RL-ReconfPrepTDD
+DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD N rnsap.ies id-DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD
+DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD N rnsap.ies id-DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD
+DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD N rnsap.ies id-DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD
+RL-InformationResponseList-RL-ReconfReadyFDD N rnsap.ies id-RL-InformationResponseList-RL-ReconfReadyFDD
+RL-InformationResponseItem-RL-ReconfReadyFDD N rnsap.ies id-RL-InformationResponseItem-RL-ReconfReadyFDD
+UL-CCTrCHInformationListIE-RL-ReconfReadyTDD N rnsap.ies id-UL-CCTrCH-InformationListIE-RL-ReconfReadyTDD
+UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD N rnsap.ies id-UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD
+UL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD N rnsap.ies id-UL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD
+UL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD N rnsap.ies id-UL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD
+DL-CCTrCHInformationListIE-RL-ReconfReadyTDD N rnsap.ies id-DL-CCTrCH-InformationListIE-RL-ReconfReadyTDD
+DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD N rnsap.ies id-DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD
+DL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD N rnsap.ies id-DL-DPCH-InformationModifyListIE-RL-ReconfReadyTDD
+DL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD N rnsap.ies id-DL-DPCH-InformationDeleteListIE-RL-ReconfReadyTDD
+DSCHToBeAddedOrModifiedList-RL-ReconfReadyTDD N rnsap.ies id-DSCHToBeAddedOrModifiedList-RL-ReconfReadyTDD
+USCHToBeAddedOrModifiedList-RL-ReconfReadyTDD N rnsap.ies id-USCHToBeAddedOrModifiedList-RL-ReconfReadyTDD
+CFN N rnsap.ies id-CFN
+CauseLevel-RL-ReconfFailure N rnsap.ies id-CauseLevel-RL-ReconfFailure
+RL-ReconfigurationFailure-RL-ReconfFail N rnsap.ies id-RL-ReconfigurationFailure-RL-ReconfFail
+UL-DPCH-Information-RL-ReconfRqstFDD N rnsap.ies id-UL-DPCH-Information-RL-ReconfRqstFDD
+DL-DPCH-Information-RL-ReconfRqstFDD N rnsap.ies id-DL-DPCH-Information-RL-ReconfRqstFDD
+DCH-DeleteList-RL-ReconfRqstFDD N rnsap.ies id-DCH-DeleteList-RL-ReconfRqstFDD
+RL-ReconfigurationRequestFDD-RL-Information-IEs N rnsap.ies id-RL-ReconfigurationRequestFDD-RL-Information-IEs
+UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD N rnsap.ies id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD
+UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD N rnsap.ies id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD
+DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD N rnsap.ies id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD
+DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD N rnsap.ies id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD
+DCH-DeleteList-RL-ReconfRqstTDD N rnsap.ies id-DCH-DeleteList-RL-ReconfRqstTDD
+UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD N rnsap.ies id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD
+UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD N rnsap.ies id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD
+DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD N rnsap.ies id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD
+DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD N rnsap.ies id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD
+RL-InformationResponseList-RL-ReconfRspFDD N rnsap.ies id-RL-InformationResponseList-RL-ReconfRspFDD
+RL-InformationResponseItem-RL-ReconfRspFDD N rnsap.ies id-RL-InformationResponseItem-RL-ReconfRspFDD
+RL-InformationResponse-RL-ReconfRspTDD N rnsap.ies id-RL-InformationResponse-RL-ReconfRspTDD
+DL-DPCH-InformationModifyItem-LCR-RL-ReconfRspTDD N rnsap.ies id-DL-DPCH-InformationModifyItem-LCR-RL-ReconfRspTDD
+Reporting-Object-RL-FailureInd N rnsap.ies id-Reporting-Object-RL-FailureInd
+RL-Information-RL-FailureInd N rnsap.ies id-RL-Information-RL-FailureInd
+RL-Set-Information-RL-FailureInd N rnsap.ies id-RL-Set-Information-RL-FailureInd
+CCTrCH-InformationItem-RL-FailureInd N rnsap.ies id-CCTrCH-InformationItem-RL-FailureInd
+RL-InformationList-RL-PreemptRequiredInd N rnsap.ies id-RL-InformationList-RL-PreemptRequiredInd
+RL-InformationItem-RL-PreemptRequiredInd N rnsap.ies id-RL-InformationItem-RL-PreemptRequiredInd
+HSDSCHMacdFlowSpecificInformationItem-RL-PreemptRequiredInd N rnsap.ies id-HSDSCHMacdFlowSpecificInformationItem-RL-PreemptRequiredInd
+EDCH-MacdFlowSpecificInformationItem-RL-PreemptRequiredInd N rnsap.ies id-EDCH-MacdFlowSpecificInformationItem-RL-PreemptRequiredInd
+Reporting-Object-RL-RestoreInd N rnsap.ies id-Reporing-Object-RL-RestoreInd
+RL-Information-RL-RestoreInd N rnsap.ies id-RL-Information-RL-RestoreInd
+RL-Set-Information-RL-RestoreInd N rnsap.ies id-RL-Set-Information-RL-RestoreInd
+CCTrCH-InformationItem-RL-RestoreInd N rnsap.ies id-CCTrCH-InformationItem-RL-RestoreInd
+PowerAdjustmentType N rnsap.ies id-PowerAdjustmentType
+DL-Power N rnsap.ies id-DLReferencePower
+InnerLoopDLPCStatus N rnsap.ies id-InnerLoopDLPCStatus
+DL-ReferencePowerInformationList-DL-PC-Rqst N rnsap.ies id-DLReferencePowerList-DL-PC-Rqst
+MaxAdjustmentStep N rnsap.ies id-MaxAdjustmentStep
+AdjustmentPeriod N rnsap.ies id-AdjustmentPeriod
+ScaledAdjustmentRatio N rnsap.ies id-AdjustmentRatio
+DL-ReferencePowerInformation-DL-PC-Rqst N rnsap.ies id-DL-ReferencePowerInformation-DL-PC-Rqst
+DL-TimeSlot-ISCP-Info N rnsap.ies id-timeSlot-ISCP
+RL-Information-PhyChReconfRqstFDD N rnsap.ies id-RL-Information-PhyChReconfRqstFDD
+RL-Information-PhyChReconfRqstTDD N rnsap.ies id-RL-Information-PhyChReconfRqstTDD
+UL-CCTrCH-InformationListIE-PhyChReconfRqstTDD N rnsap.ies id-UL-CCTrCH-InformationListIE-PhyChReconfRqstTDD
+UL-DPCH-InformationItem-PhyChReconfRqstTDD N rnsap.ies id-UL-DPCH-InformationItem-PhyChReconfRqstTDD
+DL-CCTrCH-InformationListIE-PhyChReconfRqstTDD N rnsap.ies id-DL-CCTrCH-InformationListIE-PhyChReconfRqstTDD
+DL-DPCH-InformationItem-PhyChReconfRqstTDD N rnsap.ies id-DL-DPCH-InformationItem-PhyChReconfRqstTDD
+Cause N rnsap.ies id-Cause
+CongestionCause N rnsap.ies id-CongestionCause
+RL-InformationList-RL-CongestInd N rnsap.ies id-RL-InformationList-RL-CongestInd
+RL-InformationItem-RL-CongestInd N rnsap.ies id-RL-InformationItem-RL-CongestInd
+DCH-Rate-InformationItem-RL-CongestInd N rnsap.ies id-DCH-Rate-InformationItem-RL-CongestInd
+EDCH-MacdFlowSpecificInformationItem-RL-CongestInd N rnsap.ies id-EDCH-MacdFlowSpecificInformationItem-RL-CongestInd
+UC-ID N rnsap.ies id-UC-ID
+SAI N rnsap.ies id-SAI
+GA-Cell N rnsap.ies id-GA-Cell
+C-RNTI N rnsap.ies id-C-RNTI
+PropagationDelay N rnsap.ies id-PropagationDelay
+STTD-SupportIndicator N rnsap.ies id-STTD-SupportIndicator
+ClosedLoopMode1-SupportIndicator N rnsap.ies id-ClosedLoopMode1-SupportIndicator
+L3-Information N rnsap.ies id-L3-Information
+URA-Information N rnsap.ies id-URA-Information
+RxTimingDeviationForTA N rnsap.ies id-RxTimingDeviationForTA
+C-ID N rnsap.ies id-C-ID
+D-RNTI-ReleaseIndication N rnsap.ies id-D-RNTI-ReleaseIndication
+RANAP-RelocationInformation N rnsap.ies id-RANAP-RelocationInformation
+PagingArea-PagingRqst N rnsap.ies id-PagingArea-PagingRqst
+IMSI N rnsap.ies id-IMSI
+DRXCycleLengthCoefficient N rnsap.ies id-DRXCycleLengthCoefficient
+CNOriginatedPage-PagingRqst N rnsap.ies id-CNOriginatedPage-PagingRqst
+MeasurementID N rnsap.ies id-MeasurementID
+DedicatedMeasurementObjectType-DM-Rqst N rnsap.ies id-DedicatedMeasurementObjectType-DM-Rqst
+DedicatedMeasurementType N rnsap.ies id-DedicatedMeasurementType
+MeasurementFilterCoefficient N rnsap.ies id-MeasurementFilterCoefficient
+ReportCharacteristics N rnsap.ies id-ReportCharacteristics
+FNReportingIndicator N rnsap.ies id-CFNReportingIndicator
+RL-InformationItem-DM-Rqst N rnsap.ies id-RL-InformationItem-DM-Rqst
+RL-Set-InformationItem-DM-Rqst N rnsap.ies id-RL-Set-InformationItem-DM-Rqst
+DedicatedMeasurementObjectType-DM-Rsp N rnsap.ies id-DedicatedMeasurementObjectType-DM-Rsp
+RL-InformationItem-DM-Rsp N rnsap.ies id-RL-InformationItem-DM-Rsp
+RL-Set-InformationItem-DM-Rsp N rnsap.ies id-RL-Set-InformationItem-DM-Rsp
+RL-Unsuccessful-InformationItem-DM-Fail N rnsap.ies id-RL-Unsuccessful-InformationItem-DM-Fail
+RL-Successful-InformationItem-DM-Fail N rnsap.ies id-RL-Successful-InformationItem-DM-Fail
+RL-Set-Unsuccessful-InformationItem-DM-Fail N rnsap.ies id-RL-Set-Unsuccessful-InformationItem-DM-Fail
+RL-Set-Successful-InformationItem-DM-Fail N rnsap.ies id-RL-Set-Successful-InformationItem-DM-Fail
+DedicatedMeasurementObjectType-DM-Rprt N rnsap.ies id-DedicatedMeasurementObjectType-DM-Rprt
+RL-InformationItem-DM-Rprt N rnsap.ies id-RL-InformationItem-DM-Rprt
+RL-Set-InformationItem-DM-Rprt N rnsap.ies id-RL-Set-InformationItem-DM-Rprt
+RL-Unsuccessful-InformationItem-DM-Fail-Ind N rnsap.ies id-RL-Unsuccessful-InformationItem-DM-Fail-Ind
+RL-Set-Unsuccessful-InformationItem-DM-Fail-Ind N rnsap.ies id-RL-Set-Unsuccessful-InformationItem-DM-Fail-Ind
+TransportBearerRequestIndicator N rnsap.ies id-TransportBearerRequestIndicator
+TransportBearerID N rnsap.ies id-TransportBearerID
+FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspFDD N rnsap.ies id-FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspFDD
+TransportLayerAddress N rnsap.ies id-TransportLayerAddress
+BindingID N rnsap.ies id-BindingID
+FACH-FlowControlInformation N rnsap.ies id-FACH-FlowControlInformation
+FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspTDD N rnsap.ies id-FACH-InfoForUESelectedS-CCPCH-CTCH-ResourceRspTDD
+CommonMeasurementObjectType-CM-Rqst N rnsap.ies id-CommonMeasurementObjectType-CM-Rqst
+CommonMeasurementType N rnsap.ies id-CommonMeasurementType
+FNReportingIndicator N rnsap.ies id-SFNReportingIndicator
+SFN N rnsap.ies id-SFN
+CommonMeasurementAccuracy N rnsap.ies id-CommonMeasurementAccuracy
+NeighbouringTDDCellMeasurementInformationLCR N rnsap.ies id-neighbouringTDDCellMeasurementInformationLCR
+NeighbouringTDDCellMeasurementInformation768 N rnsap.ies id-neighbouringTDDCellMeasurementInformation768
+CommonMeasurementObjectType-CM-Rsp N rnsap.ies id-CommonMeasurementObjectType-CM-Rsp
+CommonMeasurementObjectType-CM-Rprt N rnsap.ies id-CommonMeasurementObjectType-CM-Rprt
+InformationExchangeID N rnsap.ies id-InformationExchangeID
+InformationExchangeObjectType-InfEx-Rqst N rnsap.ies id-InformationExchangeObjectType-InfEx-Rqst
+InformationType N rnsap.ies id-InformationType
+InformationReportCharacteristics N rnsap.ies id-InformationReportCharacteristics
+GSM-Cell-InfEx-Rqst N rnsap.ies id-GSM-Cell-InfEx-Rqst
+MBMS-Bearer-Service-List N rnsap.ies id-MBMS-Bearer-Service-List
+InformationExchangeObjectType-InfEx-Rsp N rnsap.ies id-InformationExchangeObjectType-InfEx-Rsp
+MBMS-Bearer-Service-List-InfEx-Rsp N rnsap.ies id-MBMS-Bearer-Service-List-InfEx-Rsp
+InformationExchangeObjectType-InfEx-Rprt N rnsap.ies id-InformationExchangeObjectType-InfEx-Rprt
+RNC-ID N rnsap.ies id-RNC-ID
+ResetIndicator N rnsap.ies id-ResetIndicator
+ContextInfoItem-Reset N rnsap.ies id-ContextInfoItem-Reset
+ContextGroupInfoItem-Reset N rnsap.ies id-ContextGroupInfoItem-Reset
+DelayedActivationInformationList-RL-ActivationCmdFDD N rnsap.ies id-DelayedActivationList-RL-ActivationCmdFDD
+DelayedActivationInformation-RL-ActivationCmdFDD N rnsap.ies id-DelayedActivationInformation-RL-ActivationCmdFDD
+DelayedActivationInformationList-RL-ActivationCmdTDD N rnsap.ies id-DelayedActivationList-RL-ActivationCmdTDD
+DelayedActivationInformation-RL-ActivationCmdTDD N rnsap.ies id-DelayedActivationInformation-RL-ActivationCmdTDD
+HSDSCH-FDD-Update-Information N rnsap.ies id-HSDSCH-FDD-Update-Information
+RL-ParameterUpdateIndicationFDD-RL-InformationList N rnsap.ies id-RL-ParameterUpdateIndicationFDD-RL-InformationList
+RL-ParameterUpdateIndicationFDD-RL-Information-Item N rnsap.ies id-RL-ParameterUpdateIndicationFDD-RL-Information-Item
+HSDSCH-TDD-Update-Information N rnsap.ies id-HSDSCH-TDD-Update-Information
+UEMeasurementType N rnsap.ies id-UEMeasurementType
+UEMeasurementTimeslotInfoHCR N rnsap.ies id-UEMeasurementTimeslotInfoHCR
+UEMeasurementTimeslotInfoLCR N rnsap.ies id-UEMeasurementTimeslotInfoLCR
+UEMeasurementReportCharacteristics N rnsap.ies id-UEMeasurementReportCharacteristics
+UEMeasurementParameterModAllow N rnsap.ies id-UEMeasurementParameterModAllow
+UEMeasurementValueInformation N rnsap.ies id-UEMeasurementValueInformation
+TraceReference N rnsap.ies id-TraceReference
+UEIdentity N rnsap.ies id-UEIdentity
+TraceRecordingSessionReference N rnsap.ies id-TraceRecordingSessionReference
+ListOfInterfacesToTrace N rnsap.ies id-ListOfInterfacesToTrace
+TraceDepth N rnsap.ies id-TraceDepth
+InterfacesToTraceItem N rnsap.ies id-InterfacesToTraceItem
+UE-State N rnsap.ies id-UE-State
+ProvidedInformation N rnsap.ies id-ProvidedInformation
+Neighbouring-UMTS-CellInformationExtensionItem N rnsap.ies id-Neighbouring-UMTS-CellInformationExtensionItem
+Control-Type-InformationTransferControlReq N rnsap.ies id-Control-Type-InformationTransferControlReq
+UMTS-Cell-Info N rnsap.ies id-UMTS-Cells-Info
+ANR-Cell-InfEx-Rqst N rnsap.ies id-ANR-Cell-InfEx-Rqst
+ANR-Cell-InfEx-Rsp N rnsap.ies id-ANR-Cell-InfEx-Rsp
+ANR-Cell-Information N rnsap.ies id-ANR-Cell-Information
+UE-transmission-power-headroom-Value N rnsap.ies id-UE-transmission-power-headroom
+Common-E-RGCH-Cell-InfEx-Rqst N rnsap.ies id-Common-E-RGCH-Cell-InfEx-Rqst
+Common-E-RGCH-Cell-InfEx-Rsp N rnsap.ies id-Common-E-RGCH-Cell-InfEx-Rsp
+
+
+#RNSAP-PROTOCOL-EXTENSION
+MessageStructure N rnsap.extension id-MessageStructure
+TypeOfError N rnsap.extension id-TypeOfError
+TnlQos N rnsap.extension id-TnlQos
+Guaranteed-Rate-Information N rnsap.extension id-Guaranteed-Rate-Information
+TrafficClass N rnsap.extension id-TrafficClass
+Unidirectional-DCH-Indicator N rnsap.extension id-Unidirectional-DCH-Indicator
+Allowed-Rate-Information N rnsap.extension id-Allowed-Rate-Information
+ExtendedPropagationDelay N rnsap.extension id-ExtendedPropagationDelay
+DL-Power N rnsap.extension id-Maximum-DL-Power-TimeslotLCR-InformationItem
+DL-Power N rnsap.extension id-Minimum-DL-Power-TimeslotLCR-InformationItem
+DSCH-InitialWindowSize N rnsap.extension id-DSCH-InitialWindowSize
+BindingID N rnsap.extension id-BindingID
+TransportLayerAddress N rnsap.extension id-TransportLayerAddress
+E-RGCH-E-HICH-ChannelisationCodeValidityIndicator N rnsap.extension id-E-RGCH-E-HICH-ChannelisationCodeValidityIndicator
+E-DCH-PowerOffset-for-SchedulingInfo N rnsap.extension id-E-DCH-PowerOffset-for-SchedulingInfo
+TrCH-SrcStatisticsDescr N rnsap.extension id-TrCH-SrcStatisticsDescr
+E-DCH-Minimum-Set-E-TFCIValidityIndicator N rnsap.extension id-E-DCH-Minimum-Set-E-TFCIValidityIndicator
+E-DCH-MACdFlow-Retransmission-Timer-LCR N rnsap.extension id-eDCH-MACdFlow-Retransmission-Timer-LCR
+Satellite-Almanac-Information-ExtItem N rnsap.extension id-Satellite-Almanac-Information-ExtItem
+HARQ-Preamble-Mode N rnsap.extension id-HARQ-Preamble-Mode
+HSDSCH-MACdPDUSizeFormat N rnsap.extension id-HSDSCH-MACdPDUSizeFormat
+User-Plane-Congestion-Fields-Inclusion N rnsap.extension id-User-Plane-Congestion-Fields-Inclusion
+HARQ-Preamble-Mode-Activation-Indicator N rnsap.extension id-HARQ-Preamble-Mode-Activation-Indicator
+MIMO-InformationResponse N rnsap.extension id-MIMO-InformationResponse
+HS-PDSCH-Code-Change-Grant N rnsap.extension id-HS-PDSCH-Code-Change-Grant
+MAC-PDU-SizeExtended N rnsap.extension id-MaximumMACdPDU-SizeExtended
+Continuous-Packet-Connectivity-HS-SCCH-Less-Information N rnsap.extension id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information
+Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response N rnsap.extension id-Continuous-Packet-Connectivity-HS-SCCH-Less-Information-Response
+HSSCCH-TDD-Specific-InfoList-Response768 N rnsap.extension id-hSSCCH-TDD-Specific-InfoList-Response768
+HSPDSCH-TDD-Specific-InfoList-Response768 N rnsap.extension id-hSPDSCH-TDD-Specific-InfoList-Response768
+HS-PDSCH-Code-Change-Indicator N rnsap.extension id-HS-PDSCH-Code-Change-Indicator
+GANSS-Information N rnsap.extension id-GANSS-Information
+Neighbouring-LCR-TDD-CellInformation N rnsap.extension id-neighbouring-LCR-TDD-CellInformation
+Extended-RNC-ID N rnsap.extension id-Extended-RNC-ID
+RestrictionStateIndicator N rnsap.extension id-RestrictionStateIndicator
+DPC-Mode-Change-SupportIndicator N rnsap.extension id-DPC-Mode-Change-SupportIndicator
+CoverageIndicator N rnsap.extension id-CoverageIndicator
+AntennaColocationIndicator N rnsap.extension id-AntennaColocationIndicator
+HCS-Prio N rnsap.extension id-HCS-Prio
+CellCapabilityContainer-FDD N rnsap.extension id-CellCapabilityContainer-FDD
+SNA-Information N rnsap.extension id-SNA-Information
+FrequencyBandIndicator N rnsap.extension id-FrequencyBandIndicator
+GERAN-Cell-Capability N rnsap.extension id-GERAN-Cell-Capability
+GERAN-Classmark N rnsap.extension id-GERAN-Classmark
+ExtendedGSMCellIndividualOffset N rnsap.extension id-ExtendedGSMCellIndividualOffset
+CellCapabilityContainer-TDD N rnsap.extension id-CellCapabilityContainer-TDD
+CellCapabilityContainer-TDD768 N rnsap.extension id-CellCapabilityContainer-TDD768
+CellCapabilityContainer-TDD-LCR N rnsap.extension id-CellCapabilityContainer-TDD-LCR
+Cell-Capacity-Class-Value N rnsap.extension id-Cell-Capacity-Class-Value
+NACC-Related-Data N rnsap.extension id-NACC-Related-Data
+MBMS-Bearer-Service-Full-Address N rnsap.extension id-MBMS-Bearer-Service-Full-Address
+Inter-Frequency-Cell-Information N rnsap.extension id-Inter-Frequency-Cell-Information
+GANSS-Common-Data N rnsap.extension id-GANSS-Common-Data
+GANSS-Generic-Data N rnsap.extension id-GANSS-Generic-Data
+UEMeasurementValueTransmittedPowerList768 N rnsap.extension id-UEMeasurementValueTransmittedPowerList768
+UEMeasurementValueTimeslotISCPList768 N rnsap.extension id-UEMeasurementValueTimeslotISCPList768
+Extended-RNC-ID N rnsap.extension id-Extended-SRNC-ID
+PLCCHinformation N rnsap.extension id-PLCCH-Information-UL-TimeslotLCR-Info
+DPC-Mode N rnsap.extension id-DPC-Mode
+UL-DPDCHIndicatorEDCH N rnsap.extension id-UL-DPDCHIndicatorEDCH
+Enhanced-PrimaryCPICH-EcNo N rnsap.extension id-Enhanced-PrimaryCPICH-EcNo
+RL-Specific-DCH-Info N rnsap.extension id-RL-Specific-DCH-Info
+DelayedActivation N rnsap.extension id-DelayedActivation
+CellPortionID N rnsap.extension id-CellPortionID
+RL-Specific-EDCH-Information N rnsap.extension id-RL-Specific-EDCH-Information
+EDCH-RL-Indication N rnsap.extension id-EDCH-RL-Indication
+Permanent-NAS-UE-Identity N rnsap.extension id-Permanent-NAS-UE-Identity
+DL-PowerBalancing-Information N rnsap.extension id-DL-PowerBalancing-Information
+HSDSCH-FDD-Information N rnsap.extension id-HSDSCH-FDD-Information
+RL-ID N rnsap.extension id-HSPDSCH-RL-ID
+MBMS-Bearer-Service-List N rnsap.extension id-MBMS-Bearer-Service-List
+EDPCH-Information-FDD N rnsap.extension id-EDPCH-Information
+
+# Double assignments
+#EDPCH-Information-RLAdditionReq-FDD N rnsap.extension id-EDPCH-Information
+#EDPCH-Information-RLReconfPrepare-FDD N rnsap.extension id-EDPCH-Information
+
+EDCH-FDD-Information N rnsap.extension id-EDCH-FDD-Information
+EDCH-Serving-RL N rnsap.extension id-Serving-EDCHRL-Id
+F-DPCH-Information-RL-SetupRqstFDD N rnsap.extension id-F-DPCH-Information-RL-SetupRqstFDD
+Initial-DL-DPCH-TimingAdjustment-Allowed N rnsap.extension id-Initial-DL-DPCH-TimingAdjustment-Allowed
+DCH-Indicator-For-E-DCH-HSDPA-Operation N rnsap.extension id-DCH-Indicator-For-E-DCH-HSDPA-Operation
+CFN N rnsap.extension id-Serving-cell-change-CFN
+Continuous-Packet-Connectivity-DTX-DRX-Information N rnsap.extension id-Continuous-Packet-Connectivity-DTX-DRX-Information
+F-DPCH-SlotFormatSupportRequest N rnsap.extension id-F-DPCH-SlotFormatSupportRequest
+Support-8PSK N rnsap.extension id-TDD-Support-8PSK
+MinimumSpreadingFactor768 N rnsap.extension id-TDD768-minimumSpreadingFactor-UL
+MaxNrDLPhysicalchannelsTS N rnsap.extension id-TDD-maxNrDLPhysicalchannels
+Support-PLCCH N rnsap.extension id-TDD-Support-PLCCH
+MinimumSpreadingFactor768 N rnsap.extension id-TDD768-minimumSpreadingFactor-DL
+MaxNrDLPhysicalchannels768 N rnsap.extension id-TDD768-maxNrDLPhysicalchannels
+MaxNrDLPhysicalchannelsTS768 N rnsap.extension id-TDD768-maxNrDLPhysicalchannelsTS
+TDD-TPC-UplinkStepSize-LCR N rnsap.extension id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD
+DL-TimeSlot-ISCP-LCR-Information N rnsap.extension id-DL-Timeslot-ISCP-LCR-Information-RL-SetupRqstTDD
+TSTD-Support-Indicator N rnsap.extension id-TSTD-Support-Indicator-RL-SetupRqstTDD
+UL-Synchronisation-Parameters-LCR N rnsap.extension id-UL-Synchronisation-Parameters-LCR
+PrimaryCCPCH-RSCP-Delta N rnsap.extension id-PrimaryCCPCH-RSCP-Delta
+HSDSCH-TDD-Information N rnsap.extension id-HSDSCH-TDD-Information
+RL-ID N rnsap.extension id-PDSCH-RL-ID
+E-DCH-Information N rnsap.extension id-E-DCH-Information
+RL-ID N rnsap.extension id-E-DCH-Serving-RL-ID
+E-DCH-768-Information N rnsap.extension id-E-DCH-768-Information
+E-DCH-LCR-Information N rnsap.extension id-E-DCH-LCR-Information
+GA-CellAdditionalShapes N rnsap.extension id-GA-CellAdditionalShapes
+DL-PowerBalancing-ActivationIndicator N rnsap.extension id-DL-PowerBalancing-ActivationIndicator
+Primary-CPICH-Usage-For-Channel-Estimation N rnsap.extension id-Primary-CPICH-Usage-For-Channel-Estimation
+Secondary-CPICH-Information N rnsap.extension id-Secondary-CPICH-Information
+Active-MBMS-Bearer-Service-ListFDD-PFL N rnsap.extension id-Active-MBMS-Bearer-ServiceFDD-PFL
+RL-Set-ID N rnsap.extension id-EDCH-RLSet-Id
+EDCH-FDD-DL-ControlChannelInformation N rnsap.extension id-EDCH-FDD-DL-ControlChannelInformation
+DL-DPCH-TimingAdjustment N rnsap.extension id-Initial-DL-DPCH-TimingAdjustment
+F-DPCH-SlotFormat N rnsap.extension id-F-DPCH-SlotFormat
+DCH-InformationResponse N rnsap.extension id-DCH-InformationResponse
+EDCH-FDD-InformationResponse N rnsap.extension id-EDCH-FDD-InformationResponse
+HSDSCH-RNTI N rnsap.extension id-HSDSCH-RNTI
+HSDSCH-FDD-Information-Response N rnsap.extension id-HSDSCH-FDD-Information-Response
+SixtyfourQAM-DL-SupportIndicator N rnsap.extension id-SixtyfourQAM-DL-SupportIndicator
+TimeSlot N rnsap.extension id-TimeSlot-RL-SetupRspTDD
+UL-SIR N rnsap.extension id-UL-SIR-Target-CCTrCH-InformationItem-RL-SetupRspTDD
+DL-Power N rnsap.extension id-CCTrCH-Maximum-DL-Power-RL-SetupRspTDD
+DL-Power N rnsap.extension id-CCTrCH-Minimum-DL-Power-RL-SetupRspTDD
+RL-LCR-InformationResponse-RL-SetupRspTDD N rnsap.extension id-RL-LCR-InformationResponse-RL-SetupRspTDD
+HSDSCH-TDD-Information-Response N rnsap.extension id-HSDSCH-TDD-Information-Response
+DSCH-RNTI N rnsap.extension id-DSCH-RNTI
+Active-MBMS-Bearer-Service-ListTDD-PFL N rnsap.extension id-Active-MBMS-Bearer-ServiceTDD-PFL
+RL-InformationResponse-RL-SetupRspTDD768 N rnsap.extension id-RL-InformationResponse-RL-SetupRspTDD768
+E-DCH-Information-Response N rnsap.extension id-E-DCH-Information-Response
+E-DCH-768-Information-Response N rnsap.extension id-E-DCH-768-Information-Response
+E-DCH-LCR-Information-Response N rnsap.extension id-E-DCH-LCR-Information-Response
+UL-TimingAdvanceCtrl-LCR N rnsap.extension id-UL-TimingAdvanceCtrl-LCR
+UL-SIR N rnsap.extension id-UL-SIR-Target-CCTrCH-LCR-InformationItem-RL-SetupRspTDD
+Max-UE-DTX-Cycle N rnsap.extension id-Max-UE-DTX-Cycle
+DL-Power N rnsap.extension id-DLReferencePower
+SynchronisationIndicator N rnsap.extension id-SynchronisationIndicator
+HS-DSCH-serving-cell-change-information N rnsap.extension id-HS-DSCH-serving-cell-change-information
+EDPCH-Information-RLAdditionReq-FDD N rnsap.extension id-EDPCH-Information-RLAdditionReq-FDD
+HSDSCH-Configured-Indicator N rnsap.extension id-HSDSCH-Configured-Indicator
+DL-TimeSlot-ISCP-LCR-Information N rnsap.extension id-DL-Timeslot-ISCP-LCR-Information-RL-AdditionRqstTDD
+UL-CCTrCH-InformationList-RL-AdditionRqstTDD N rnsap.extension id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD
+DL-CCTrCH-InformationList-RL-AdditionRqstTDD N rnsap.extension id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD
+HS-DSCH-serving-cell-change-informationResponse N rnsap.extension id-HS-DSCH-serving-cell-change-informationResponse
+E-DCH-Serving-cell-change-informationResponse N rnsap.extension id-E-DCH-Serving-cell-change-informationResponse
+MAChs-ResetIndicator N rnsap.extension id-MAChs-ResetIndicator
+DL-Power N rnsap.extension id-CCTrCH-Maximum-DL-Power-RL-AdditionRspTDD
+DL-Power N rnsap.extension id-CCTrCH-Minimum-DL-Power-RL-AdditionRspTDD
+RL-LCR-InformationResponse-RL-AdditionRspTDD N rnsap.extension id-RL-LCR-InformationResponse-RL-AdditionRspTDD
+RL-InformationResponse-RL-AdditionRspTDD768 N rnsap.extension id-RL-InformationResponse-RL-AdditionRspTDD768
+DL-DPCH-Power-Information-RL-ReconfPrepFDD N rnsap.extension id-DL-DPCH-Power-Information-RL-ReconfPrepFDD
+DL-DPCH-TimingAdjustment N rnsap.extension id-DL-DPCH-TimingAdjustment
+Phase-Reference-Update-Indicator N rnsap.extension id-Phase-Reference-Update-Indicator
+HSDSCH-Information-to-Modify N rnsap.extension id-HSDSCH-Information-to-Modify
+HSDSCH-MACdFlows-Information N rnsap.extension id-HSDSCH-MACdFlows-to-Add
+HSDSCH-MACdFlows-to-Delete N rnsap.extension id-HSDSCH-MACdFlows-to-Delete
+EDCH-FDD-Information-To-Modify N rnsap.extension id-EDCH-FDD-Information-To-Modify
+EDCH-MACdFlows-Information N rnsap.extension id-EDCH-MACdFlows-To-Add
+EDCH-MACdFlows-To-Delete N rnsap.extension id-EDCH-MACdFlows-To-Delete
+EDPCH-Information-RLReconfRequest-FDD N rnsap.extension id-EDPCH-Information-RLReconfRequest-FDD
+F-DPCH-Information-RL-ReconfPrepFDD N rnsap.extension id-F-DPCH-Information-RL-ReconfPrepFDD
+Fast-Reconfiguration-Mode N rnsap.extension id-Fast-Reconfiguration-Mode
+CPC-Information N rnsap.extension id-CPC-Information
+UL-SIR N rnsap.extension id-UL-SIRTarget
+TDD-TPC-UplinkStepSize-LCR N rnsap.extension id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD
+TDD-TPC-UplinkStepSize-LCR N rnsap.extension id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD
+TDD-TPC-DownlinkStepSize N rnsap.extension id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD
+TDD-TPC-DownlinkStepSize N rnsap.extension id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD
+PrimaryCCPCH-RSCP N rnsap.extension id-PrimaryCCPCH-RSCP-RL-ReconfPrepTDD
+DL-TimeSlot-ISCP-Info N rnsap.extension id-DL-TimeSlot-ISCP-Info-RL-ReconfPrepTDD
+DL-TimeSlot-ISCP-LCR-Information N rnsap.extension id-DL-Timeslot-ISCP-LCR-Information-RL-ReconfPrepTDD
+RL-Information-RL-ReconfPrepTDD N rnsap.extension id-RL-Information-RL-ReconfPrepTDD
+E-DCH-Information-Reconfig N rnsap.extension id-E-DCH-Information-Reconfig
+E-DCH-768-Information-Reconfig N rnsap.extension id-E-DCH-768-Information-Reconfig
+E-DCH-LCR-Information-Reconfig N rnsap.extension id-E-DCH-LCR-Information-Reconfig
+DL-PowerBalancing-UpdatedIndicator N rnsap.extension id-DL-PowerBalancing-UpdatedIndicator
+Secondary-CPICH-Information-Change N rnsap.extension id-Secondary-CPICH-Information-Change
+Fast-Reconfiguration-Permission N rnsap.extension id-Fast-Reconfiguration-Permission
+Secondary-LCR-CCPCH-Info-TDD N rnsap.extension id-secondary-LCR-CCPCH-Info-TDD
+Secondary-CCPCH-Info-TDD768 N rnsap.extension id-secondary-CCPCH-Info-RL-ReconfReadyTDD768
+UL-DPCH-LCR-InformationAddList-RL-ReconfReadyTDD N rnsap.extension id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfReadyTDD
+UL-DPCH-InformationAddList-RL-ReconfReadyTDD768 N rnsap.extension id-UL-DPCH-InformationAddListIE-RL-ReconfReadyTDD768
+RxTimingDeviationForTAext N rnsap.extension id-RxTimingDeviationForTAext
+UL-TimeslotLCR-InformationModifyList-RL-ReconfReadyTDD N rnsap.extension id-UL-Timeslot-LCR-InformationModifyList-RL-ReconfReadyTDD
+UL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768 N rnsap.extension id-UL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768
+TDD-UL-DPCH-TimeSlotFormat-LCR N rnsap.extension id-TDD-UL-DPCH-TimeSlotFormatModifyItem-LCR-RL-ReconfReadyTDD
+DL-DPCH-LCR-InformationAddList-RL-ReconfReadyTDD N rnsap.extension id-DL-DPCH-LCR-InformationAddListIE-RL-ReconfReadyTDD
+DL-Power N rnsap.extension id-CCTrCH-Maximum-DL-Power-RL-ReconfReadyTDD
+DL-Power N rnsap.extension id-CCTrCH-Minimum-DL-Power-RL-ReconfReadyTDD
+DL-DPCH-InformationAddList-RL-ReconfReadyTDD768 N rnsap.extension id-DL-DPCH-InformationAddListIE-RL-ReconfReadyTDD768
+DL-DPCH-InformationDeleteList768-RL-ReconfReadyTDD N rnsap.extension id-DL-DPCH-InformationDeleteList768-RL-ReconfReadyTDD
+DL-TimeslotLCR-InformationModifyList-RL-ReconfReadyTDD N rnsap.extension id-DL-Timeslot-LCR-InformationModifyList-RL-ReconfReadyTDD
+DL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768 N rnsap.extension id-DL-Timeslot-InformationModifyList-RL-ReconfReadyTDD768
+TDD-DL-DPCH-TimeSlotFormat-LCR N rnsap.extension id-TDD-DL-DPCH-TimeSlotFormatModifyItem-LCR-RL-ReconfReadyTDD
+DL-Power N rnsap.extension id-Maximum-DL-Power-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD
+DL-Power N rnsap.extension id-Minimum-DL-Power-TimeslotLCR-InformationModifyItem-RL-ReconfReadyTDD
+Multiple-RL-InformationResponse-RL-ReconfReadyTDD N rnsap.extension id-Multiple-RL-InformationResponse-RL-ReconfReadyTDD
+RL-ReconfigurationRequestFDD-RL-InformationList N rnsap.extension id-RL-ReconfigurationRequestFDD-RL-InformationList
+DL-ReferencePowerInformation N rnsap.extension id-DL-ReferencePowerInformation
+HSDSCH-Information-to-Modify-Unsynchronised N rnsap.extension id-HSDSCH-Information-to-Modify-Unsynchronised
+Multiple-RL-ReconfigurationRequestTDD-RL-Information N rnsap.extension id-RL-ReconfigurationRequestTDD-RL-Information
+DL-CCTrCH-InformationList-RL-ReconfRspTDD N rnsap.extension id-DL-CCTrCH-InformationList-RL-ReconfRspTDD
+Multiple-RL-InformationResponse-RL-ReconfRspTDD N rnsap.extension id-RL-ReconfigurationResponseTDD-RL-Information
+EDCH-MacdFlowSpecificInformationList-RL-PreemptRequiredInd N rnsap.extension id-EDCH-MacdFlowSpecificInformationList-RL-PreemptRequiredInd
+HSDSCHMacdFlowSpecificInformationList-RL-PreemptRequiredInd N rnsap.extension id-HSDSCHMacdFlowSpecificInformationList-RL-PreemptRequiredInd
+DL-TimeSlot-ISCP-LCR-Information N rnsap.extension id-timeSlot-ISCP-LCR-List-DL-PC-Rqst-TDD
+PrimaryCCPCH-RSCP N rnsap.extension id-PrimCCPCH-RSCP-DL-PC-RqstTDD
+HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD N rnsap.extension id-HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD
+HSPDSCH-Timeslot-InformationListLCR-PhyChReconfRqstTDD N rnsap.extension id-HSPDSCH-Timeslot-InformationListLCR-PhyChReconfRqstTDD
+HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD768 N rnsap.extension id-HSPDSCH-Timeslot-InformationList-PhyChReconfRqstTDD768
+UL-TimeslotLCR-InformationList-PhyChReconfRqstTDD N rnsap.extension id-UL-Timeslot-LCR-InformationList-PhyChReconfRqstTDD
+UL-Timeslot-InformationList-PhyChReconfRqstTDD768 N rnsap.extension id-UL-Timeslot-InformationList-PhyChReconfRqstTDD768
+PLCCHinformation N rnsap.extension id-PLCCH-Information-PhyChReconfRqstTDD
+DL-TimeslotLCR-InformationList-PhyChReconfRqstTDD N rnsap.extension id-DL-Timeslot-LCR-InformationList-PhyChReconfRqstTDD
+DL-Timeslot-InformationList-PhyChReconfRqstTDD768 N rnsap.extension id-DL-Timeslot-InformationList-PhyChReconfRqstTDD768
+EDCH-MacdFlowSpecificInformationList-RL-CongestInd N rnsap.extension id-EDCH-MacdFlowSpecificInformationList-RL-CongestInd
+CommonTransportChannelResourcesInitialisationNotRequired N rnsap.extension id-CommonTransportChannelResourcesInitialisationNotRequired
+Active-MBMS-Bearer-Service-ListFDD N rnsap.extension id-Active-MBMS-Bearer-ServiceFDD
+Inter-Frequency-Cell-List N rnsap.extension id-Inter-Frequency-Cell-List
+Active-MBMS-Bearer-Service-ListTDD N rnsap.extension id-Active-MBMS-Bearer-ServiceTDD
+RxTimingDeviationForTA768 N rnsap.extension id-RxTimingDeviationForTA768
+URA-ID N rnsap.extension id-URA-ID
+URA-ID N rnsap.extension id-Old-URA-ID
+RNC-ID N rnsap.extension id-SRNC-ID
+HSSICH-Info-DM-Rqst N rnsap.extension id-HSSICH-Info-DM-Rqst
+DPCH-ID768 N rnsap.extension id-DPCH-ID768-DM-Rqst
+PartialReportingIndicator N rnsap.extension id-PartialReportingIndicator
+MeasurementRecoveryBehavior N rnsap.extension id-MeasurementRecoveryBehavior
+AlternativeFormatReportingIndicator N rnsap.extension id-AlternativeFormatReportingIndicator
+HS-SICH-ID N rnsap.extension id-HSSICH-Info-DM
+Multiple-DedicatedMeasurementValueList-TDD-DM-Rsp N rnsap.extension id-multiple-DedicatedMeasurementValueList-TDD-DM-Rsp
+Multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp N rnsap.extension id-multiple-DedicatedMeasurementValueList-LCR-TDD-DM-Rsp
+Multiple-HSSICHMeasurementValueList-TDD-DM-Rsp N rnsap.extension id-multiple-HSSICHMeasurementValueList-TDD-DM-Rsp
+Multiple-DedicatedMeasurementValueList-TDD768-DM-Rsp N rnsap.extension id-multiple-DedicatedMeasurementValueList-TDD768-DM-Rsp
+DPCH-ID768 N rnsap.extension id-DPCH-ID768-DM-Rsp
+MeasurementRecoverySupportIndicator N rnsap.extension id-MeasurementRecoverySupportIndicator
+DedicatedMeasurementObjectType-DM-Fail N rnsap.extension id-DedicatedMeasurementObjectType-DM-Fail
+HS-SICH-ID N rnsap.extension id-HSSICH-Info-DM-Rprt
+DPCH-ID768 N rnsap.extension id-DPCH-ID768-DM-Rprt
+MeasurementRecoveryReportingIndicator N rnsap.extension id-MeasurementRecoveryReportingIndicator
+DedicatedMeasurementObjectType-DM-Fail-Ind N rnsap.extension id-DedicatedMeasurementObjectType-DM-Fail-Ind
+Enhanced-FACH-Support-Indicator N rnsap.extension id-Enhanced-FACH-Support-Indicator
+C-ID N rnsap.extension id-C-ID
+Enhanced-FACH-Information-ResponseFDD N rnsap.extension id-Enhanced-FACH-Information-ResponseFDD
+S-RNTI N rnsap.extension id-S-RNTI
+D-RNTI N rnsap.extension id-D-RNTI
+E-DCH-FDD-Update-Information N rnsap.extension id-E-DCH-FDD-Update-Information
+UEMeasurementTimeslotInfo768 N rnsap.extension id-UEMeasurementTimeslotInfo768
+Ext-Reference-E-TFCI-PO N rnsap.extension id-Ext-Reference-E-TFCI-PO
+Ext-Max-Bits-MACe-PDU-non-scheduled N rnsap.extension id-Ext-Max-Bits-MACe-PDU-non-scheduled
+HARQ-MemoryPartitioningInfoExtForMIMO N rnsap.extension id-HARQ-MemoryPartitioningInfoExtForMIMO
+MIMO-ActivationIndicator N rnsap.extension id-MIMO-ActivationIndicator
+MIMO-Mode-Indicator N rnsap.extension id-MIMO-Mode-Indicator
+MIMO-N-M-Ratio N rnsap.extension id-MIMO-N-M-Ratio
+TransportBearerNotSetupIndicator N rnsap.extension id-TransportBearerNotSetupIndicator
+TransportBearerNotRequestedIndicator N rnsap.extension id-TransportBearerNotRequestedIndicator
+
+UARFCN N rnsap.extension id-UARFCNforNt
+LCRTDD-Uplink-Physical-Channel-Capability N rnsap.extension id-LCRTDD-uplink-Physical-Channel-Capability
+Number-Of-Supported-Carriers N rnsap.extension id-number-Of-Supported-Carriers
+UL-SIR N rnsap.extension id-HSSICH-SIRTarget
+TDD-TPC-UplinkStepSize-LCR N rnsap.extension id-HSSICH-TPC-StepSize
+TSN-Length N rnsap.extension id-tSN-Length
+HS-SICH-ID-Extension N rnsap.extension id-HS-SICH-ID-Extension
+HSSICH-Info-DM-Rqst-Extension N rnsap.extension id-HSSICH-Info-DM-Rqst-Extension
+MultipleFreq-HSPDSCH-InformationList-ResponseTDDLCR N rnsap.extension id-multipleFreq-HSPDSCH-InformationList-ResponseTDDLCR
+Multicarrier-Number N rnsap.extension id-multicarrier-number
+UPPCHPositionLCR N rnsap.extension id-UPPCHPositionLCR
+UpPCH-InformationList-LCRTDD N rnsap.extension id-UpPCH-InformationList-LCRTDD
+UpPCH-InformationItem-LCRTDD N rnsap.extension id-UpPCH-InformationItem-LCRTDD
+Multiple-PLMN-List N rnsap.extension id-Multiple-PLMN-List
+UE-Capabilities-Info N rnsap.extension id-UE-Capabilities-Info
+FrameOffset N rnsap.extension id-FrameOffset
+ChipOffset N rnsap.extension id-ChipOffset
+Enhanced-PCH-Capability N rnsap.extension id-Enhanced-PCH-Capability
+SixteenQAM-UL-Operation-Indicator N rnsap.extension id-SixteenQAM-UL-Operation-Indicator
+E-TFCI-Boost-Information N rnsap.extension id-E-TFCI-Boost-Information
+SixtyfourQAM-UsageAllowedIndicator N rnsap.extension id-SixtyfourQAM-UsageAllowedIndicator
+SixtyfourQAM-DL-UsageIndicator N rnsap.extension id-SixtyfourQAM-DL-UsageIndicator
+E-Serving-Grant-Value N rnsap.extension id-Default-Serving-Grant-in-DTX-Cycle2
+E-DPDCH-PowerInterpolation N rnsap.extension id-E-DPDCH-PowerInterpolation
+Extended-E-DCH-LCRTDD-PhysicalLayerCategory N rnsap.extension id-Extended-E-DCH-LCRTDD-PhysicalLayerCategory
+E-DCH-MACdPDUSizeFormat N rnsap.extension id-E-DCH-MACdPDUSizeFormat
+Continuous-Packet-Connectivity-HS-SCCH-less-Deactivate-Indicator N rnsap.extension id-Continuous-Packet-Connectivity-HS-SCCH-Less-Deactivate-Indicator
+E-DCH-DL-Control-Channel-Change-Information N rnsap.extension id-E-DCH-DL-Control-Channel-Change-Information
+E-DCH-DL-Control-Channel-Grant-Information N rnsap.extension id-E-DCH-DL-Control-Channel-Grant-Information
+MaxNr-Retransmissions-EDCH N rnsap.extension id-MaximumNumber-Of-Retransmission-For-SchedulingInfo-LCRTDD
+E-DCH-MACdFlow-Retransmission-Timer-LCR N rnsap.extension id-E-DCH-RetransmissionTimer-For-SchedulingInfo-LCRTDD
+ControlGAP N rnsap.extension id-E-PUCH-PowerControlGAP
+NULL N rnsap.extension id-UE-with-enhanced-HS-SCCH-support-indicator
+HSDSCH-TBSizeTableIndicator N rnsap.extension id-HSDSCH-TBSizeTableIndicator
+DGANSS-Corrections-Req N rnsap.extension id-DGANSS-Corrections-Req
+E-AGCH-Table-Choice N rnsap.extension id-E-AGCH-Table-Choice
+RANAP-EnhancedRelocationInformationRequest N rnsap.ies id-RANAP-EnhancedRelocationInformationRequest
+RANAP-EnhancedRelocationInformationResponse N rnsap.ies id-RANAP-EnhancedRelocationInformationResponse
+Common-EDCH-MAC-d-Flow-Specific-InformationFDD N rnsap.extension id-Common-EDCH-MAC-d-Flow-Specific-InformationFDD
+Common-EDCH-Support-Indicator N rnsap.extension id-Common-EDCH-Support-Indicator
+E-RNTI N rnsap.extension id-E-RNTI
+Released-CN-Domain N rnsap.ies id-Released-CN-Domain
+MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rqst N rnsap.ies id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rqst
+MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rsp N rnsap.ies id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rsp
+MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rprt N rnsap.ies id-MBMS-Bearer-Service-in-MBMS-Cell-InfEx-Rprt
+MBMS-Cell-InfEx-Rqst N rnsap.ies id-MBMS-Cell-InfEx-Rqst
+MBMS-Cell-InfEx-Rsp N rnsap.ies id-MBMS-Cell-InfEx-Rsp
+MBMS-Cell-InfEx-Rprt N rnsap.ies id-MBMS-Cell-InfEx-Rprt
+Counting-Information N rnsap.extension id-Counting-Information
+Transmission-Mode-Information N rnsap.extension id-Transmission-Mode-Information
+MBMS-Neighbouring-Cell-Information N rnsap.extension id-MBMS-Neighbouring-Cell-Information
+MBMS-RLC-Sequence-Number-Information N rnsap.extension id-MBMS-RLC-Sequence-Number-Information
+RLC-Sequence-Number N rnsap.extension id-RLC-Sequence-Number
+Neighbouring-E-UTRA-CellInformation N rnsap.extension id-Neighbouring-E-UTRA-CellInformation
+MBSFN-Cluster-Identity N rnsap.ies id-MBSFN-Cluster-Identity
+MCCH-Configuration-Info N rnsap.ies id-MCCH-Configuration-Info
+MCCH-Message-List N rnsap.ies id-MCCH-Message-List
+MBSFN-Scheduling-Transmission-Time-Interval-Info-List N rnsap.ies id-MBSFN-Scheduling-Transmission-Time-Interval-Info-List
+GANSS-Time-ID N rnsap.extension id-GANSS-Time-ID
+GANSS-AddIonoModelReq N rnsap.extension id-GANSS-AddIonoModelReq
+GANSS-EarthOrientParaReq N rnsap.extension id-GANSS-EarthOrientParaReq
+GANSS-AddNavigationModelsReq N rnsap.extension id-GANSS-AddNavigationModelsReq
+GANSS-AddUTCModelsReq N rnsap.extension id-GANSS-AddUTCModelsReq
+GANSS-AuxInfoReq N rnsap.extension id-GANSS-AuxInfoReq
+GANSS-SBAS-ID N rnsap.extension id-GANSS-SBAS-ID
+GANSS-ID N rnsap.extension id-GANSS-ID
+GANSS-Additional-Ionospheric-Model N rnsap.extension id-GANSS-Additional-Ionospheric-Model
+GANSS-Earth-Orientation-Parameters N rnsap.extension id-GANSS-Earth-Orientation-Parameters
+GANSS-Additional-Time-Models N rnsap.extension id-GANSS-Additional-Time-Models
+GANSS-Additional-Navigation-Models N rnsap.extension id-GANSS-Additional-Navigation-Models
+GANSS-Additional-UTC-Models N rnsap.extension id-GANSS-Additional-UTC-Models
+GANSS-Auxiliary-Information N rnsap.extension id-GANSS-Auxiliary-Information
+MinimumReducedE-DPDCH-GainFactor N rnsap.extension id-MinimumReducedE-DPDCH-GainFactor
+Enhanced-FACH-Information-ResponseLCR N rnsap.extension id-Enhanced-FACH-Information-ResponseLCR
+Common-EDCH-MAC-d-Flow-Specific-InformationLCR N rnsap.extension id-Common-EDCH-MAC-d-Flow-Specific-InformationLCR
+HSDSCH-PreconfigurationSetup N rnsap.extension id-HSDSCH-PreconfigurationSetup
+HSDSCH-PreconfigurationInfo N rnsap.extension id-HSDSCH-PreconfigurationInfo
+NoOfTargetCellHS-SCCH-Order N rnsap.extension id-NoOfTargetCellHS-SCCH-Order
+EnhancedHSServingCC-Abort N rnsap.extension id-EnhancedHSServingCC-Abort
+Additional-HS-Cell-Information-RL-Setup-List N rnsap.extension id-Additional-HS-Cell-Information-RL-Setup
+Additional-HS-Cell-Information-Response-List N rnsap.extension id-Additional-HS-Cell-Information-Response
+Additional-HS-Cell-Information-RL-Addition-List N rnsap.extension id-Additional-HS-Cell-Information-RL-Addition
+Additional-HS-Cell-Change-Information-Response-List N rnsap.extension id-Additional-HS-Cell-Change-Information-Response
+Additional-HS-Cell-Information-RL-Reconf-Prep N rnsap.extension id-Additional-HS-Cell-Information-RL-Reconf-Prep
+Additional-HS-Cell-Information-RL-Reconf-Req N rnsap.extension id-Additional-HS-Cell-Information-RL-Reconf-Req
+Additional-HS-Cell-RL-Reconf-Response N rnsap.extension id-Additional-HS-Cell-RL-Reconf-Response
+Additional-HS-Cell-Information-RL-Param-Upd N rnsap.extension id-Additional-HS-Cell-Information-RL-Param-Upd
+Secondary-Serving-Cell-List N rnsap.extension id-Secondary-Serving-Cell-List
+LCRTDD-HSDSCH-Physical-Layer-Category N rnsap.extension id-MultiCarrier-HSDSCH-Physical-Layer-Category
+IdleIntervalInformation N rnsap.extension id-IdleIntervalInformation
+NeedforIdleInterval N rnsap.extension id-NeedforIdleInterval
+NULL N rnsap.extension id-IdleIntervalConfigurationIndicator
+ContinuousPacketConnectivity-DRX-InformationLCR N rnsap.extension id-ContinuousPacketConnectivity-DRX-InformationLCR
+ContinuousPacketConnectivity-DRX-Information-ResponseLCR N rnsap.extension id-ContinuousPacketConnectivity-DRX-Information-ResponseLCR
+E-AGCH-UE-Inactivity-Monitor-Threshold N rnsap.extension id-E-AGCH-UE-Inactivity-Monitor-Threshold
+CPC-InformationLCR N rnsap.extension id-CPC-InformationLCR
+E-DCH-Semi-PersistentScheduling-Information-LCR N rnsap.extension id-E-DCH-Semi-PersistentScheduling-Information-LCR
+HS-DSCH-Semi-PersistentScheduling-Information-LCR N rnsap.extension id-HS-DSCH-Semi-PersistentScheduling-Information-LCR
+HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR N rnsap.extension id-HS-DSCH-Semi-PersistentScheduling-Information-ResponseLCR
+E-DCH-Semi-PersistentScheduling-Information-ResponseLCR N rnsap.extension id-E-DCH-Semi-PersistentScheduling-Information-ResponseLCR
+MIMO-SFMode-For-HSPDSCHDualStream N rnsap.extension id-MIMO-SFMode-For-HSPDSCHDualStream
+MIMO-SFMode-For-HSPDSCHDualStream N rnsap.extension id-MIMO-SFMode-Supported-For-HSPDSCHDualStream
+MIMO-ReferenceSignal-InformationListLCR N rnsap.extension id-MIMO-ReferenceSignal-InformationListLCR
+GANSS-alm-keplerianNAVAlmanac N rnsap.ies id-GANSS-alm-keplerianNAVAlmanac
+GANSS-alm-keplerianReducedAlmanac N rnsap.ies id-GANSS-alm-keplerianReducedAlmanac
+GANSS-alm-keplerianMidiAlmanac N rnsap.ies id-GANSS-alm-keplerianMidiAlmanac
+GANSS-alm-keplerianGLONASS N rnsap.ies id-GANSS-alm-keplerianGLONASS
+GANSS-alm-ecefSBASAlmanac N rnsap.ies id-GANSS-alm-ecefSBASAlmanac
+DL-RLC-PDU-Size-Format N rnsap.extension id-DL-RLC-PDU-Size-Format
+MACes-Maximum-Bitrate-LCR N rnsap.extension id-MACes-Maximum-Bitrate-LCR
+Single-Stream-MIMO-ActivationIndicator N rnsap.extension id-Single-Stream-MIMO-ActivationIndicator
+Single-Stream-MIMO-Mode-Indicator N rnsap.extension id-Single-Stream-MIMO-Mode-Indicator
+Secondary-Serving-Cell-List N rnsap.extension id-Dual-Band-Secondary-Serving-Cell-List
+UE-AggregateMaximumBitRate N rnsap.extension id-UE-AggregateMaximumBitRate
+PowerOffsetForSecondaryCPICHforMIMO N rnsap.extension id-power-offset-for-S-CPICH-for-MIMO
+PowerOffsetForSecondaryCPICHforMIMORequestIndicator N rnsap.extension id-power-offset-for-S-CPICH-for-MIMO-Request-Indicator
+UE-SupportIndicatorExtension N rnsap.extension id-UE-SupportIndicatorExtension
+ActivationInformation N rnsap.ies id-ActivationInformation
+CellPortionLCRID N rnsap.extension id-CellPortionLCRID
+Additional-EDCH-Setup-Info N rnsap.extension id-Additional-EDCH-Cell-Information-RL-Setup-Req
+Additional-EDCH-Cell-Information-Response-List N rnsap.extension id-Additional-EDCH-Cell-Information-Response
+Additional-EDCH-Cell-Information-RL-Add-Req N rnsap.extension id-Additional-EDCH-Cell-Information-RL-Add-Req
+Additional-EDCH-Cell-Information-Response-RLAddList N rnsap.extension id-Additional-EDCH-Cell-Information-Response-RLAdd
+Additional-EDCH-Cell-Information-RL-Reconf-Prep N rnsap.extension id-Additional-EDCH-Cell-Information-RL-Reconf-Prep
+Additional-EDCH-Cell-Information-RL-Reconf-Req N rnsap.extension id-Additional-EDCH-Cell-Information-RL-Reconf-Req
+Additional-EDCH-Cell-Information-RL-Param-Upd N rnsap.extension id-Additional-EDCH-Cell-Information-RL-Param-Upd
+Additional-EDCH-Preconfiguration-Information N rnsap.extension id-Additional-EDCH-Preconfiguration-Information
+MulticellEDCH-InformationItemIEs N rnsap.ies id-MulticellEDCH-Information
+Additional-EDCH-Cell-Information-Response-RLReconf-List N rnsap.extension id-Additional-EDCH-Cell-Information-ResponseRLReconf
+NULL N rnsap.extension id-EDCH-Indicator
+DiversityMode N rnsap.extension id-DiversityMode
+TransmitDiversityIndicator N rnsap.extension id-TransmitDiversityIndicator
+NonCellSpecificTxDiversity N rnsap.extension id-NonCellSpecificTxDiversity
+CellCapabilityContainerExtension-FDD N rnsap.extension id-CellCapabilityContainerExtension-FDD
+HSDSCH-Physical-Layer-Category N rnsap.extension id-HSDSCH-Physical-Layer-Category
+E-RNTI N rnsap.extension id-E-RNTI-For-FACH
+HSDSCH-RNTI N rnsap.extension id-H-RNTI-For-FACH
+RNTI-Allocation-Indicator N rnsap.extension id-RNTI-Allocation-Indicator
+UE-AggregateMaximumBitRate-Enforcement-Indicator N rnsap.extension id-UE-AggregateMaximumBitRate-Enforcement-Indicator
+DCH-MeasurementOccasion-Information N rnsap.extension id-DCH-MeasurementOccasion-Information
+DCH-MeasurementType-Indicator N rnsap.extension id-DCH-MeasurementType-Indicator
+Out-of-Sychronization-Window N rnsap.extension id-Out-of-Sychronization-Window
+MulticellEDCH-RL-SpecificInformationItemIEs N rnsap.ies id-MulticellEDCH-RL-SpecificInformation
+DGNSS-ValidityPeriod N rnsap.extension id-DGNSS-ValidityPeriod
+TS0-HS-PDSCH-Indication-LCR N rnsap.extension id-TS0-HS-PDSCH-Indication-LCR
+UE-TS0-CapabilityLCR N rnsap.extension id-UE-TS0-CapabilityLCR
+Non-Serving-RL-Preconfig-Setup N rnsap.extension id-Non-Serving-RL-Preconfig-Setup
+Additional-E-DCH-Non-Serving-RL-Preconfiguration-Setup N rnsap.extension id-Additional-E-DCH-Non-Serving-RL-Preconfiguration-Setup
+Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList N rnsap.extension id-Additional-E-DCH-New-non-serving-RL-E-DCH-FDD-DL-Control-Channel-InfoList
+CellListValidityIndicator N rnsap.extension id-CellListValidityIndicator
+
+CompleteAlmanacProvided N rnsap.extension id-completeAlmanacProvided
+GANSS-Delta-T N rnsap.extension id-ganss-Delta-T
+OrdinalNumberOfFrequency N rnsap.extension id-OrdinalNumberOfFrequency
+Multicell-EDCH-Restriction N rnsap.extension id-Multicell-EDCH-Restriction
+CellCapabilityContainerExtension-TDD-LCR N rnsap.extension id-CellCapabilityContainerExtension-TDD-LCR
+Multi-Carrier-EDCH-Info N rnsap.extension id-Multi-Carrier-EDCH-Setup
+Multi-Carrier-EDCH-Reconfigure N rnsap.extension id-Multi-Carrier-EDCH-Reconfigure
+Multi-Carrier-EDCH-Information-Response N rnsap.extension id-Multi-Carrier-EDCH-Response
+SNPL-Carrier-Group-Indicator N rnsap.extension id-SNPL-Carrier-Group-Indicator
+MU-MIMO-InformationLCR N rnsap.extension id-MU-MIMO-InformationLCR
+MU-MIMO-Indicator N rnsap.extension id-MU-MIMO-Indicator
+Inactivity-Threshold-for-UE-DRX-Cycle-LCR-Ext N rnsap.extension id-HS-SCCH-Inactivity-Threshold-for-UE-DRX-Cycle-LCR-Ext
+Usefulness-Of-Battery-Optimization N rnsap.extension id-Usefulness-Of-Battery-Optimization
+Multi-Carrier-E-DCH-LCRTDD-PhysicalLayerCategory N rnsap.extension id-Multi-Carrier-E-DCH-LCRTDD-PhysicalLayerCategory
+Measurement-Power-Offset N rnsap.extension id-Measurement-Power-Offset
+MDT-Configuration N rnsap.extension id-MDT-Configuration
+Neighbouring-UMTS-CellInformation-Ext N rnsap.extension id-Neighbouring-UMTS-CellInformation-Ext
+ANRReportIndication N rnsap.extension id-ANRReportIndication
+TransportLayerAddress N rnsap.extension id-Trace-Collection-Entity-IP-Address
+Affected-HSDSCH-Serving-Cell-List N rnsap.extension id-Affected-HSDSCH-Serving-Cell-List
+UL-CLTD-Information N rnsap.extension id-UL-CLTD-Information
+UL-CLTD-Information-Reconf N rnsap.extension id-UL-CLTD-Information-Reconf
+UL-CLTD-State-Update-Information N rnsap.extension id-UL-CLTD-State-Update-Information
+Support-of-Dynamic-DTXDRX-Related-HS-SCCH-Order N rnsap.extension id-Support-of-Dynamic-DTXDRX-Related-HS-SCCH-Order
+CPC-RecoveryReport N rnsap.extension id-CPC-RecoveryReport
+FTPICH-Information N rnsap.extension id-FTPICH-Information
+FTPICH-Information-Reconf N rnsap.extension id-FTPICH-Information-Reconf
+UE-RF-Band-CapabilityLCR N rnsap.extension id-UE-RF-Band-CapabilityLCR
+Extended-RNTI N rnsap.extension id-Extended-S-RNTI
+ExtendedAffectedUEInformationForMBMS N rnsap.extension id-ExtendedAffectedUEInformationForMBMS
+Extended-S-RNTI-Group N rnsap.extension id-Extended-S-RNTI-Group
+FTPICH-Information-Response N rnsap.extension id-FTPICH-Information-Response
+FTPICH-Reconfiguration-Information N rnsap.extension id-FTPICH-Reconfiguration-Information
+MIMO-withfourtransmitantennas-ActivationIndicator N rnsap.extension id-MIMO-withfourtransmitantennas-ActivationIndicator
+MIMO-withfourtransmitantennas-ModeIndicator N rnsap.extension id-MIMO-withfourtransmitantennas-ModeIndicator
+PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennas N rnsap.extension id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas
+PowerOffsetForSecondaryCPICHforMIMOwithfourtransmitantennasRequestIndicator N rnsap.extension id-power-offset-for-S-CPICH-for-MIMO-withfourtransmitantennas-Request-Indicator
+DualStream-MIMO-withfourtransmitantennas-ActivationIndicator N rnsap.extension id-DualStream-MIMO-withfourtransmitantennas-ActivationIndicator
+DualStream-MIMO-withfourtransmitantennas-ModeIndicator N rnsap.extension id-DualStream-MIMO-withfourtransmitantennas-ModeIndicator
+Additional-Associated-Secondary-CPICH N rnsap.extension id-Additional-Associated-Secondary-CPICH
+Multiflow-Information N rnsap.extension id-Multiflow-Information
+Multiflow-Reconfiguration N rnsap.extension id-Multiflow-Reconfiguration
+Multiflow-OrdinalNumberOfFrequency N rnsap.extension id-Multiflow-OrdinalNumberOfFrequency
+UL-MIMO-Information N rnsap.extension id-UL-MIMO-Information
+UL-MIMO-Reconfiguration N rnsap.extension id-UL-MIMO-Reconfiguration
+UL-MIMO-DL-Control-Channel-Information N rnsap.extension id-UL-MIMO-DL-Control-Channel-Information
+SixtyfourQAM-UL-Operation-Indicator N rnsap.extension id-SixtyfourQAM-UL-Operation-Indicator
+Common-E-RGCH-Cell-InfEx-Rprt N rnsap.ies id-Common-E-RGCH-Cell-InfEx-Rprt
+Common-E-RGCH-Cell-Information N rnsap.extension id-Common-E-RGCH-Cell-Information
+
+PCI N rnsap.extension id-PCI
+TAC N rnsap.extension id-TAC
+PLMN-List N rnsap.extension id-PLMN-List
+Precoder-Weight-Set-Restriction N rnsap.extension id-PrecoderWeightSetRestriction
+EARFCN-FDD-Extended N rnsap.ies id-EARFCN-FDD-Extended
+EARFCN-Extended N rnsap.extension id-EARFCN-TDD-Extended
+Non-rectangular-resource-allocation-indicator N rnsap.extension id-Non-rectangular-resource-allocation-indicator
+Non-rectangular-resource-timeslot-set N rnsap.extension id-Non-rectangular-resource-timeslot-set
+UE-Support-of-non-rectangular-resource-allocation N rnsap.extension id-UE-Support-of-non-rectangular-resource-allocation
+DBDS-CorrectionsReq N rnsap.extension id-DBDS-CorrectionsReq
+DBDS-Corrections N rnsap.extension id-DBDS-Corrections
+BDS-IonosphericGridModelReq N rnsap.extension id-BDS-IonosphericGridModelReq
+BDS-Ionospheric-Grid-Model N rnsap.extension id-BDS-Ionospheric-Grid-Model
+GANSS-alm-KEPLERIANBDSALMANAC N rnsap.ies id-GANSS-alm-keplerianBDSAlmanac
+Multiflow-RepetitionFactors N rnsap.extension id-Assisting-RepetitionFactors
+E-DCH-Decoupling-Indication N rnsap.extension id-E-DCH-Decoupling-Indication
+UE-Measurement-Forwarding N rnsap.extension id-UE-Measurement-Forwarding
+UPH-Filtering-Measurement-Forwarding-Request N rnsap.extension id-UPH-Filtering-Measurement-Forwarding-Request
+TTI-Update-Indicator N rnsap.extension id-TTI-Update-Indicator
+CQI-Feedback-Cycle2 N rnsap.extension id-CQI-Feedback-Cycle2-k
+CQI-Cycle-Switch-Timer N rnsap.extension id-CQI-Cycle-Switch-Timer
+UE-DRX-Cycle N rnsap.extension id-UE-DRX-Cycle2
+Inactivity-Threshold-for-UE-DRX-Cycle N rnsap.extension id-Inactivity-Threshold-for-UE-DRX-Cycle2
+DTX-Information2 N rnsap.extension id-DTX-Information2
+DCH-ENH-Information N rnsap.extension id-DCH-ENH-Information
+DCH-ENH-Information-Reconf N rnsap.extension id-DCH-ENH-Information-Reconf
+Gainfactors-10ms-mode N rnsap.extension id-Gainfactors-10ms-mode
+Radio-Links-without-DPCH-FDPCH-Indication N rnsap.extension id-Radio-Links-without-DPCH-FDPCH-Indication
+UL-DPCCH2-Information N rnsap.extension id-UL-DPCCH2-Information
+UL-DPCCH2-Information-Reconf N rnsap.extension id-UL-DPCCH2-Information-Reconf
+Implicit-Grant-Handling N rnsap.extension id-ImplicitGrantHandling
+Minimum-TEBS-threshold N rnsap.extension id-MinimumTEBSthreshold
+MultipleFrequencyBandsIndicatorList-EUTRA N rnsap.extension id-MultipleFrequencyBandsIndicatorList-EUTRA
+MultipleFrequencyBandsIndicatorList N rnsap.extension id-MultipleFrequencyBandsIndicatorList
+ActivationDelay N rnsap.extension id-ActivationDelay
+Fast-TTI-switching-Mode-synchronized N rnsap.extension id-Fast-TTI-switching-Mode-synchronized
+Fast-TTI-switching-Mode-unsynchronized N rnsap.extension id-Fast-TTI-switching-Mode-unsynchronized
+Fast-TTI-switching-Mode-Supported N rnsap.extension id-Fast-TTI-switching-Mode-Supported
+GANSS-BDSclockModel N rnsap.ies id-GANSS-BDSclockModel
+GANSS-NavModel-BDSKeplerianSet N rnsap.ies id-GANSS-NavModel-BDSKeplerianSet
+GANSS-UTCmodelSet4 N rnsap.ies id-GANSS-UTCmodelSet4
+Inter-Frequency-Cell-Information-SIB11ter N rnsap.extension id-Inter-Frequency-Cell-Information-SIB11ter
+Improved-Synchronized-Indicator N rnsap.extension id-Improved-Synchronized-Indicator
+Downlink-TPC-enhancements-Information N rnsap.extension id-Downlink-TPC-enhancements-Information
+Downlink-TPC-enhancements-Reconf N rnsap.extension id-Downlink-TPC-enhancements-Reconf
+TPC-slot-position N rnsap.extension id-TPC-slot-position
+DL-TBS N rnsap.ies id-DL-TBS
+PLMN-Identity N rnsap.extension id-Selected-PLMN-Identity
+SpeechVersion N rnsap.ies id-SpeechVersion
+SourceID N rnsap.ies id-SourceID
+TargetID N rnsap.ies id-TargetID
+ClassmarkInformation2 N rnsap.ies id-ClassmarkInformation2
+ClassmarkInformation3 N rnsap.ies id-ClassmarkInformation3
+GSM-Cell-CM-Rqst N rnsap.ies id-GSM-Cell-CM-Rqst
+Extension-CommonMeasurementObjectType-CM-Rprt N rnsap.extension id-Extension-CommonMeasurementObjectType-CM-Rprt
+Extension-CommonMeasurementObjectType-CM-Rqst N rnsap.extension id-Extension-CommonMeasurementObjectType-CM-Rqst
+Extension-CommonMeasurementObjectType-CM-Rsp N rnsap.extension id-Extension-CommonMeasurementObjectType-CM-Rsp
+Extension-FailureIndicationMeasurementList N rnsap.extension id-Extension-FailureIndicationMeasurementList
+Extension-FailureMeasurementList N rnsap.extension id-Extension-FailureMeasurementList
+Extension-TerminationMeasurementList N rnsap.extension id-Extension-TerminationMeasurementList
+GsmCellList-CM-Rprt N rnsap.ies id-GsmCellList-CM-Rprt
+GsmCellList-CM-Rqst N rnsap.ies id-GsmCellList-CM-Rqst
+GsmCellList-CM-Rsp N rnsap.ies id-GsmCellList-CM-Rsp
+LoadValue N rnsap.ies id-LoadValue
+EventH N rnsap.ies id-EventH
+
+#RNSAP-ELEMENTARY-PROCEDURE
+RadioLinkSetupRequestFDD S rnsap.proc.imsg "id-radioLinkSetup/fdd"
+RadioLinkSetupResponseFDD S rnsap.proc.sout "id-radioLinkSetup/fdd"
+RadioLinkSetupFailureFDD S rnsap.proc.uout "id-radioLinkSetup/fdd"
+RadioLinkSetupRequestTDD S rnsap.proc.imsg "id-radioLinkSetup/tdd"
+RadioLinkSetupResponseTDD S rnsap.proc.sout "id-radioLinkSetup/tdd"
+RadioLinkSetupFailureTDD S rnsap.proc.uout "id-radioLinkSetup/tdd"
+RadioLinkAdditionRequestFDD S rnsap.proc.imsg "id-radioLinkAddition/fdd"
+RadioLinkAdditionResponseFDD S rnsap.proc.sout "id-radioLinkAddition/fdd"
+RadioLinkAdditionFailureFDD S rnsap.proc.uout "id-radioLinkAddition/fdd"
+RadioLinkAdditionRequestTDD S rnsap.proc.imsg "id-radioLinkAddition/tdd"
+RadioLinkAdditionResponseTDD S rnsap.proc.sout "id-radioLinkAddition/tdd"
+RadioLinkAdditionFailureTDD S rnsap.proc.uout "id-radioLinkAddition/tdd"
+RadioLinkDeletionRequest S rnsap.proc.imsg "id-radioLinkDeletion/common"
+RadioLinkDeletionResponse S rnsap.proc.sout "id-radioLinkDeletion/common"
+RadioLinkReconfigurationPrepareFDD S rnsap.proc.imsg "id-synchronisedRadioLinkReconfigurationPreparation/fdd"
+RadioLinkReconfigurationReadyFDD S rnsap.proc.sout "id-synchronisedRadioLinkReconfigurationPreparation/fdd"
+RadioLinkReconfigurationFailure S rnsap.proc.uout "id-synchronisedRadioLinkReconfigurationPreparation/fdd"
+RadioLinkReconfigurationPrepareTDD S rnsap.proc.imsg "id-synchronisedRadioLinkReconfigurationPreparation/tdd"
+RadioLinkReconfigurationReadyTDD S rnsap.proc.sout "id-synchronisedRadioLinkReconfigurationPreparation/tdd"
+RadioLinkReconfigurationFailure S rnsap.proc.uout "id-synchronisedRadioLinkReconfigurationPreparation/tdd"
+RadioLinkReconfigurationRequestFDD S rnsap.proc.imsg "id-unSynchronisedRadioLinkReconfiguration/fdd"
+RadioLinkReconfigurationResponseFDD S rnsap.proc.sout "id-unSynchronisedRadioLinkReconfiguration/fdd"
+RadioLinkReconfigurationFailure S rnsap.proc.uout "id-unSynchronisedRadioLinkReconfiguration/fdd"
+RadioLinkReconfigurationRequestTDD S rnsap.proc.imsg "id-unSynchronisedRadioLinkReconfiguration/tdd"
+RadioLinkReconfigurationResponseTDD S rnsap.proc.sout "id-unSynchronisedRadioLinkReconfiguration/tdd"
+RadioLinkReconfigurationFailure S rnsap.proc.uout "id-unSynchronisedRadioLinkReconfiguration/tdd"
+PhysicalChannelReconfigurationRequestFDD S rnsap.proc.imsg "id-physicalChannelReconfiguration/fdd"
+PhysicalChannelReconfigurationCommand S rnsap.proc.sout "id-physicalChannelReconfiguration/fdd"
+PhysicalChannelReconfigurationFailure S rnsap.proc.uout "id-physicalChannelReconfiguration/fdd"
+PhysicalChannelReconfigurationRequestTDD S rnsap.proc.imsg "id-physicalChannelReconfiguration/tdd"
+PhysicalChannelReconfigurationCommand S rnsap.proc.sout "id-physicalChannelReconfiguration/tdd"
+PhysicalChannelReconfigurationFailure S rnsap.proc.uout "id-physicalChannelReconfiguration/tdd"
+DedicatedMeasurementInitiationRequest S rnsap.proc.imsg "id-dedicatedMeasurementInitiation/common"
+DedicatedMeasurementInitiationResponse S rnsap.proc.sout "id-dedicatedMeasurementInitiation/common"
+DedicatedMeasurementInitiationFailure S rnsap.proc.uout "id-dedicatedMeasurementInitiation/common"
+CommonTransportChannelResourcesRequest S rnsap.proc.imsg "id-commonTransportChannelResourcesInitialisation/fdd"
+CommonTransportChannelResourcesResponseFDD S rnsap.proc.sout "id-commonTransportChannelResourcesInitialisation/fdd"
+CommonTransportChannelResourcesFailure S rnsap.proc.uout "id-commonTransportChannelResourcesInitialisation/fdd"
+CommonTransportChannelResourcesRequest S rnsap.proc.imsg "id-commonTransportChannelResourcesInitialisation/tdd"
+CommonTransportChannelResourcesResponseTDD S rnsap.proc.sout "id-commonTransportChannelResourcesInitialisation/tdd"
+CommonTransportChannelResourcesFailure S rnsap.proc.uout "id-commonTransportChannelResourcesInitialisation/tdd"
+UplinkSignallingTransferIndicationFDD S rnsap.proc.imsg "id-uplinkSignallingTransfer/fdd"
+UplinkSignallingTransferIndicationTDD S rnsap.proc.imsg "id-uplinkSignallingTransfer/tdd"
+DownlinkSignallingTransferRequest S rnsap.proc.imsg "id-downlinkSignallingTransfer/common"
+RelocationCommit S rnsap.proc.imsg "id-relocationCommit/common"
+PagingRequest S rnsap.proc.imsg "id-paging/common"
+RadioLinkReconfigurationCommit S rnsap.proc.imsg "id-synchronisedRadioLinkReconfigurationCommit/common"
+RadioLinkReconfigurationCancel S rnsap.proc.imsg "id-synchronisedRadioLinkReconfigurationCancellation/common"
+RadioLinkFailureIndication S rnsap.proc.imsg "id-radioLinkFailure/common"
+RadioLinkPreemptionRequiredIndication S rnsap.proc.imsg "id-radioLinkPreemption/common"
+RadioLinkRestoreIndication S rnsap.proc.imsg "id-radioLinkRestoration/common"
+DedicatedMeasurementReport S rnsap.proc.imsg "id-dedicatedMeasurementReporting/common"
+DedicatedMeasurementTerminationRequest S rnsap.proc.imsg "id-dedicatedMeasurementTermination/common"
+DedicatedMeasurementFailureIndication S rnsap.proc.imsg "id-dedicatedMeasurementFailure/common"
+RadioLinkCongestionIndication S rnsap.proc.imsg "id-radioLinkCongestion/common"
+DL-PowerControlRequest S rnsap.proc.imsg "id-downlinkPowerControl/fdd"
+DL-PowerTimeslotControlRequest S rnsap.proc.imsg "id-downlinkPowerTimeslotControl/tdd"
+CompressedModeCommand S rnsap.proc.imsg "id-compressedModeCommand/fdd"
+CommonTransportChannelResourcesReleaseRequest S rnsap.proc.imsg "id-commonTransportChannelResourcesRelease/common"
+ErrorIndication S rnsap.proc.imsg "id-errorIndication/common"
+CommonMeasurementInitiationRequest S rnsap.proc.imsg "id-commonMeasurementInitiation/common"
+CommonMeasurementInitiationResponse S rnsap.proc.sout "id-commonMeasurementInitiation/common"
+CommonMeasurementInitiationFailure S rnsap.proc.uout "id-commonMeasurementInitiation/common"
+CommonMeasurementReport S rnsap.proc.imsg "id-commonMeasurementReporting/common"
+CommonMeasurementTerminationRequest S rnsap.proc.imsg "id-commonMeasurementTermination/common"
+CommonMeasurementFailureIndication S rnsap.proc.imsg "id-commonMeasurementFailure/common"
+InformationExchangeInitiationRequest S rnsap.proc.imsg "id-informationExchangeInitiation/common"
+InformationExchangeInitiationResponse S rnsap.proc.sout "id-informationExchangeInitiation/common"
+InformationExchangeInitiationFailure S rnsap.proc.uout "id-informationExchangeInitiation/common"
+InformationReport S rnsap.proc.imsg "id-informationReporting/common"
+InformationExchangeTerminationRequest S rnsap.proc.imsg "id-informationExchangeTermination/common"
+InformationExchangeFailureIndication S rnsap.proc.imsg "id-informationExchangeFailure/common"
+PrivateMessage S rnsap.proc.imsg "id-privateMessage/common"
+ResetRequest S rnsap.proc.imsg "id-reset/common"
+ResetResponse S rnsap.proc.sout "id-reset/common"
+RadioLinkActivationCommandFDD S rnsap.proc.imsg "id-radioLinkActivation/fdd"
+RadioLinkActivationCommandTDD S rnsap.proc.imsg "id-radioLinkActivation/tdd"
+GERANUplinkSignallingTransferIndication S rnsap.proc.imsg "id-gERANuplinkSignallingTransfer/common"
+RadioLinkParameterUpdateIndicationFDD S rnsap.proc.imsg "id-radioLinkParameterUpdate/fdd"
+RadioLinkParameterUpdateIndicationTDD S rnsap.proc.imsg "id-radioLinkParameterUpdate/tdd"
+UEMeasurementInitiationRequest S rnsap.proc.imsg "id-uEMeasurementInitiation/tdd"
+UEMeasurementInitiationResponse S rnsap.proc.sout "id-uEMeasurementInitiation/tdd"
+UEMeasurementInitiationFailure S rnsap.proc.uout "id-uEMeasurementInitiation/tdd"
+UEMeasurementReport S rnsap.proc.imsg "id-uEMeasurementReporting/tdd"
+UEMeasurementTerminationRequest S rnsap.proc.imsg "id-uEMeasurementTermination/tdd"
+UEMeasurementFailureIndication S rnsap.proc.imsg "id-uEMeasurementFailure/tdd"
+IurInvokeTrace S rnsap.proc.imsg "id-iurInvokeTrace/common"
+IurDeactivateTrace S rnsap.proc.imsg "id-iurDeactivateTrace/common"
+MBMSAttachCommand S rnsap.proc.imsg "id-mBMSAttach/common"
+MBMSDetachCommand S rnsap.proc.imsg "id-mBMSDetach/common"
+DirectInformationTransfer S rnsap.proc.imsg "id-directInformationTransfer/common"
+
+EnhancedRelocationRequest S rnsap.proc.imsg "id-enhancedRelocation/common"
+EnhancedRelocationResponse S rnsap.proc.sout "id-enhancedRelocation/common"
+EnhancedRelocationFailure S rnsap.proc.uout "id-enhancedRelocation/common"
+
+EnhancedRelocationCancel S rnsap.proc.imsg "id-enhancedRelocationCancel/common"
+EnhancedRelocationSignallingTransfer S rnsap.proc.imsg "id-enhancedRelocationSignallingTransfer/common"
+EnhancedRelocationRelease S rnsap.proc.imsg "id-enhancedRelocationRelease/common"
+MBSFNMCCHInformation S rnsap.proc.imsg "id-mBSFNMCCHInformation/common"
+SecondaryULFrequencyReport S rnsap.proc.imsg "id-secondaryULFrequencyReporting/fdd"
+SecondaryULFrequencyUpdateIndication S rnsap.proc.imsg "id-secondaryULFrequencyUpdate/fdd"
+
+EnhancedRelocationResourceRequest S rnsap.proc.imsg "id-enhancedRelocationResourceAllocation/tdd"
+EnhancedRelocationResourceResponse S rnsap.proc.sout "id-enhancedRelocationResourceAllocation/tdd"
+EnhancedRelocationResourceFailure S rnsap.proc.uout "id-enhancedRelocationResourceAllocation/tdd"
+
+EnhancedRelocationResourceReleaseCommand S rnsap.proc.imsg "id-enhancedRelocationResourceRelease/tdd"
+EnhancedRelocationResourceReleaseComplete S rnsap.proc.sout "id-enhancedRelocationResourceRelease/tdd"
+
+InformationTransferControlRequest S rnsap.proc.imsg "id-informationTransferControl/common"
+
+#.END
diff --git a/epan/dissectors/asn1/ros/CMakeLists.txt b/epan/dissectors/asn1/ros/CMakeLists.txt
new file mode 100644
index 00000000..0223f41e
--- /dev/null
+++ b/epan/dissectors/asn1/ros/CMakeLists.txt
@@ -0,0 +1,47 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ros )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+ Remote-Operations-Information-Objects.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+ Remote-Operations-Generic-ROS-PDUs.asn
+ Remote-Operations-Information-Objects.asn
+ Remote-Operations-Useful-Definitions.asn
+ ros-err.cnf
+ ros-inv.cnf
+ ros-rej.cnf
+ ros-res.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ros/Remote-Operations-Generic-ROS-PDUs.asn b/epan/dissectors/asn1/ros/Remote-Operations-Generic-ROS-PDUs.asn
new file mode 100644
index 00000000..e55ea3c0
--- /dev/null
+++ b/epan/dissectors/asn1/ros/Remote-Operations-Generic-ROS-PDUs.asn
@@ -0,0 +1,163 @@
+-- Module Remote-Operations-Generic-ROS-PDUs (X.880:07/1994)
+
+Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4)
+ generic-ROS-PDUs(6) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- exports everything
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
+ CHOICE {
+ invoke [1] Invoke{{InvokeIdSet}, {Invokable}},
+ returnResult [2] ReturnResult{{Returnable}},
+ returnError [3] ReturnError{{Errors {{Returnable}}}},
+ reject [4] Reject
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-unrecognizedPDU)
+
+Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
+ invokeId
+ InvokeId(InvokeIdSet)
+ (CONSTRAINED BY { -- must be unambiguous --} !
+ RejectProblem:invoke-duplicateInvocation),
+ linkedId
+ CHOICE {present [0] IMPLICIT present < InvokeId,
+ absent [1] IMPLICIT NULL
+ }
+ (CONSTRAINED BY { -- must identify an outstanding operation --} !
+ RejectProblem:invoke-unrecognizedLinkedId)
+ (CONSTRAINED BY { -- which has one or more linked operations--} !
+ RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
+ opcode
+ OPERATION.&operationCode
+ ({Operations} !RejectProblem:invoke-unrecognizedOperation),
+ argument
+ OPERATION.&ArgumentType
+ ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+(WITH COMPONENTS {
+ ...,
+ linkedId ABSENT
+ } |
+ WITH COMPONENTS {
+ ...,
+ linkedId PRESENT,
+ opcode (CONSTRAINED BY { -- must be in the &Linked field of the associated operation --
+ } !RejectProblem:invoke-unexpectedLinkedOperation)
+ })
+
+-- continued on the next page
+ReturnResult{OPERATION:Operations} ::= SEQUENCE {
+ invokeId
+ InvokeId
+ (CONSTRAINED BY { -- must be that for an outstanding operation --} !
+ RejectProblem:returnResult-unrecognizedInvocation)
+ (CONSTRAINED BY { -- which returns a result --} !
+ RejectProblem:returnResult-resultResponseUnexpected),
+ result
+ SEQUENCE {opcode
+ OPERATION.&operationCode({Operations})
+ (CONSTRAINED BY { -- identified by invokeId --} !
+ RejectProblem:returnResult-unrecognizedInvocation),
+ result
+ OPERATION.&ResultType
+ ({Operations}{@.opcode} !
+ RejectProblem:returnResult-mistypedResult)} OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+ReturnError{ERROR:Errors} ::= SEQUENCE {
+ invokeId
+ InvokeId
+ (CONSTRAINED BY { -- must be that for an outstanding operation --} !
+ RejectProblem:returnError-unrecognizedInvocation)
+ (CONSTRAINED BY { -- which returns an error --} !
+ RejectProblem:returnError-errorResponseUnexpected),
+ errcode
+ ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
+ (CONSTRAINED BY { -- must be in the &Errors field of the associated operation --
+ } !RejectProblem:returnError-unexpectedError),
+ parameter
+ ERROR.&ParameterType
+ ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
+ OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+Reject ::= SEQUENCE {
+ invokeId InvokeId,
+ problem
+ CHOICE {general [0] GeneralProblem,
+ invoke [1] InvokeProblem,
+ returnResult [2] ReturnResultProblem,
+ returnError [3] ReturnErrorProblem}
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+GeneralProblem ::= INTEGER {
+ unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)}
+
+-- continued on the next page
+InvokeProblem ::= INTEGER {
+ duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
+ resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
+ linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
+
+ReturnResultProblem ::= INTEGER {
+ unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
+}
+
+ReturnErrorProblem ::= INTEGER {
+ unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
+ unexpectedError(3), mistypedParameter(4)}
+
+RejectProblem ::= INTEGER {
+ general-unrecognizedPDU(0), general-mistypedPDU(1),
+ general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
+ invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
+ invoke-resourceLimitation(13), invoke-releaseInProgress(14),
+ invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
+ invoke-unexpectedLinkedOperation(17),
+ returnResult-unrecognizedInvocation(20),
+ returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
+ returnError-unrecognizedInvocation(30),
+ returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
+ returnError-unexpectedError(33), returnError-mistypedParameter(34)}
+
+InvokeId ::= CHOICE {present INTEGER,
+ absent NULL
+}
+
+noInvokeId InvokeId ::= absent:NULL
+
+NoInvokeId InvokeId ::= {noInvokeId}
+
+Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
+
+-- continued on the next page
+Bind{OPERATION:operation} ::= CHOICE {
+ bind-invoke [16] OPERATION.&ArgumentType({operation}),
+ bind-result [17] OPERATION.&ResultType({operation}),
+ bind-error [18] OPERATION.&Errors.&ParameterType({operation})
+}
+
+Unbind{OPERATION:operation} ::= CHOICE {
+ unbind-invoke [19] OPERATION.&ArgumentType({operation}),
+ unbind-result [20] OPERATION.&ResultType({operation}),
+ unbind-error [21] OPERATION.&Errors.&ParameterType({operation})
+}
+
+END -- end of generic ROS PDU definitions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/ros/Remote-Operations-Information-Objects.asn b/epan/dissectors/asn1/ros/Remote-Operations-Information-Objects.asn
new file mode 100644
index 00000000..40ae4041
--- /dev/null
+++ b/epan/dissectors/asn1/ros/Remote-Operations-Information-Objects.asn
@@ -0,0 +1,125 @@
+-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
+-- Module Remote-Operations-Information-Objects (Rec. X.880:07/1994)
+Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
+ informationObjects(5) version1(0)} DEFINITIONS
+IMPLICIT TAGS -- WS: Don't know why I need to add this - but if it isn't, the ROS operationCode is not successfully decoded - even though it doesn't have any tags! An asn2wrs issue?
+::=
+BEGIN
+
+-- exports everything
+IMPORTS
+ emptyBind, emptyUnbind
+ FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
+ remote-operations(4) useful-definitions(7) version1(0)};
+
+OPERATION ::= CLASS {
+ &ArgumentType OPTIONAL,
+ &argumentTypeOptional BOOLEAN OPTIONAL,
+ &returnResult BOOLEAN DEFAULT TRUE,
+ &ResultType OPTIONAL,
+ &resultTypeOptional BOOLEAN OPTIONAL,
+ &Errors ERROR OPTIONAL,
+ &Linked OPERATION OPTIONAL,
+ &synchronous BOOLEAN DEFAULT FALSE,
+ &alwaysReturns BOOLEAN DEFAULT TRUE,
+ &InvokePriority Priority OPTIONAL,
+ &ResultPriority Priority OPTIONAL,
+ &operationCode Code UNIQUE OPTIONAL
+}
+WITH SYNTAX {
+ [ARGUMENT &ArgumentType
+ [OPTIONAL &argumentTypeOptional]]
+ [RESULT &ResultType
+ [OPTIONAL &resultTypeOptional]]
+ [RETURN RESULT &returnResult]
+ [ERRORS &Errors]
+ [LINKED &Linked]
+ [SYNCHRONOUS &synchronous]
+ [ALWAYS RESPONDS &alwaysReturns]
+ [INVOKE PRIORITY &InvokePriority]
+ [RESULT-PRIORITY &ResultPriority]
+ [CODE &operationCode]
+}
+
+ERROR ::= CLASS {
+ &ParameterType OPTIONAL,
+ &parameterTypeOptional BOOLEAN OPTIONAL,
+ &ErrorPriority Priority OPTIONAL,
+ &errorCode Code UNIQUE OPTIONAL
+}
+WITH SYNTAX {
+ [PARAMETER &ParameterType
+ [OPTIONAL &parameterTypeOptional]]
+ [PRIORITY &ErrorPriority]
+ [CODE &errorCode]
+}
+
+OPERATION-PACKAGE ::= CLASS {
+ &Both OPERATION OPTIONAL,
+ &Consumer OPERATION OPTIONAL,
+ &Supplier OPERATION OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE OPTIONAL
+}
+-- continued on the next page
+WITH SYNTAX {
+ [OPERATIONS &Both]
+ [CONSUMER INVOKES &Supplier]
+ [SUPPLIER INVOKES &Consumer]
+ [ID &id]
+}
+
+CONNECTION-PACKAGE ::= CLASS {
+ &bind OPERATION DEFAULT emptyBind,
+ &unbind OPERATION DEFAULT emptyUnbind,
+ &responderCanUnbind BOOLEAN DEFAULT FALSE,
+ &unbindCanFail BOOLEAN DEFAULT FALSE,
+ &id OBJECT IDENTIFIER UNIQUE OPTIONAL
+}
+WITH SYNTAX {
+ [BIND &bind]
+ [UNBIND &unbind]
+ [RESPONDER UNBIND &responderCanUnbind]
+ [FAILURE TO UNBIND &unbindCanFail]
+ [ID &id]
+}
+
+CONTRACT ::= CLASS {
+ &connection CONNECTION-PACKAGE OPTIONAL,
+ &OperationsOf OPERATION-PACKAGE OPTIONAL,
+ &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
+ &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE OPTIONAL
+}
+WITH SYNTAX {
+ [CONNECTION &connection]
+ [OPERATIONS OF &OperationsOf]
+ [INITIATOR CONSUMER OF &InitiatorConsumerOf]
+ [RESPONDER CONSUMER OF &InitiatorSupplierOf]
+ [ID &id]
+}
+
+ROS-OBJECT-CLASS ::= CLASS {
+ &Is ROS-OBJECT-CLASS OPTIONAL,
+ &Initiates CONTRACT OPTIONAL,
+ &Responds CONTRACT OPTIONAL,
+ &InitiatesAndResponds CONTRACT OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ [IS &Is]
+ [BOTH &InitiatesAndResponds]
+ [INITIATES &Initiates]
+ [RESPONDS &Responds]
+ ID &id
+}
+
+Code ::= CHOICE {local INTEGER,
+ global OBJECT IDENTIFIER
+}
+
+Priority ::= INTEGER(0..MAX)
+
+END -- end of Information Object specifications
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/ros/Remote-Operations-Useful-Definitions.asn b/epan/dissectors/asn1/ros/Remote-Operations-Useful-Definitions.asn
new file mode 100644
index 00000000..e526ff46
--- /dev/null
+++ b/epan/dissectors/asn1/ros/Remote-Operations-Useful-Definitions.asn
@@ -0,0 +1,95 @@
+-- Module Remote-Operations-Useful-Definitions (X.880:07/1994)
+
+Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4)
+ useful-definitions(7) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- exports everything
+IMPORTS
+ OPERATION, ERROR, OPERATION-PACKAGE, Code
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ InvokeId, ROS{}
+ FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
+ remote-operations(4) generic-ROS-PDUs(6) version1(0)};
+
+emptyBind OPERATION ::= {ERRORS {refuse}
+ SYNCHRONOUS TRUE
+}
+
+emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE
+}
+
+refuse ERROR ::= {CODE local:-1
+}
+
+no-op OPERATION ::= {ALWAYS RESPONDS FALSE
+ CODE local:-1
+}
+
+Forward{OPERATION:OperationSet} OPERATION ::=
+ {OperationSet | OperationSet.&Linked.&Linked |
+ OperationSet.&Linked.&Linked.&Linked.&Linked}
+
+Reverse{OPERATION:OperationSet} OPERATION ::= {Forward{{OperationSet.&Linked}}}
+
+ConsumerPerforms{OPERATION-PACKAGE:package} OPERATION ::=
+ {Forward{{package.&Consumer}} | Forward{{package.&Both}} |
+ Reverse{{package.&Supplier}} | Reverse{{package.&Both}}}
+
+SupplierPerforms{OPERATION-PACKAGE:package} OPERATION ::=
+ {Forward{{package.&Supplier}} | Forward{{package.&Both}} |
+ Reverse{{package.&Consumer}} | Reverse{{package.&Both}}}
+
+AllOperations{OPERATION-PACKAGE:package} OPERATION ::=
+ {ConsumerPerforms{package} | SupplierPerforms{package}}
+
+-- continued on the next page
+recode{OPERATION:operation, Code:code} OPERATION ::= {
+ ARGUMENT operation.&ArgumentType
+ OPTIONAL operation.&argumentTypeOptional
+ RESULT operation.&ResultType
+ OPTIONAL operation.&resultTypeOptional
+ RETURN RESULT operation.&returnResult
+ ERRORS {operation.&Errors}
+ LINKED {operation.&Linked}
+ SYNCHRONOUS operation.&synchronous
+ ALWAYS RESPONDS operation.&alwaysReturns
+ INVOKE PRIORITY {operation.&InvokePriority}
+ RESULT-PRIORITY {operation.&ResultPriority}
+ CODE code
+}
+
+switch{OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
+{
+ OPERATIONS {package.&Both}
+ CONSUMER INVOKES {package.&Consumer}
+ SUPPLIER INVOKES {package.&Supplier}
+ ID id
+}
+
+combine{OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies,
+ OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= {
+ OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
+ CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
+ SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
+ ID base.&id
+}
+
+ROS-SingleAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
+ ROS{{InvokeIdSet}, {AllOperations {package}}, {AllOperations {package}}}
+
+ROS-ConsumerAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
+ ROS
+ {{InvokeIdSet}, {ConsumerPerforms {package}},
+ {SupplierPerforms {package}}}
+
+ROS-SupplierAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
+ ROS
+ {{InvokeIdSet}, {SupplierPerforms {package}},
+ {ConsumerPerforms {package}}}
+
+END -- end of useful definitions.
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/ros/packet-ros-template.c b/epan/dissectors/asn1/ros/packet-ros-template.c
new file mode 100644
index 00000000..e7519cda
--- /dev/null
+++ b/epan/dissectors/asn1/ros/packet-ros-template.c
@@ -0,0 +1,489 @@
+/* packet-ros_asn1.c
+ * Routines for ROS packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+
+#include "packet-ber.h"
+#include "packet-pres.h"
+#include "packet-ros.h"
+
+#define PNAME "X.880 OSI Remote Operations Service"
+#define PSNAME "ROS"
+#define PFNAME "ros"
+
+void proto_register_ros(void);
+void proto_reg_handoff_ros(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_ros = -1;
+
+static proto_tree *top_tree=NULL;
+static guint32 opcode;
+static guint32 invokeid;
+
+static dissector_handle_t ros_handle = NULL;
+
+typedef struct ros_conv_info_t {
+ wmem_map_t *unmatched; /* unmatched operations */
+ wmem_map_t *matched; /* matched operations */
+} ros_conv_info_t;
+
+typedef struct ros_call_response {
+ gboolean is_request;
+ guint32 req_frame;
+ nstime_t req_time;
+ guint32 rep_frame;
+ guint invokeId;
+} ros_call_response_t;
+
+static int hf_ros_response_in = -1;
+static int hf_ros_response_to = -1;
+static int hf_ros_time = -1;
+
+
+#include "packet-ros-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_ros = -1;
+static gint ett_ros_unknown = -1;
+static gint ett_ros_invoke_argument = -1;
+static gint ett_ros_return_result = -1;
+static gint ett_ros_bind_invoke = -1;
+static gint ett_ros_bind_result = -1;
+static gint ett_ros_bind_error = -1;
+static gint ett_ros_unbind_invoke = -1;
+static gint ett_ros_unbind_result = -1;
+static gint ett_ros_unbind_error = -1;
+#include "packet-ros-ett.c"
+
+static expert_field ei_ros_dissector_oid_not_implemented = EI_INIT;
+static expert_field ei_ros_unknown_ros_pdu = EI_INIT;
+
+static dissector_table_t ros_oid_dissector_table=NULL;
+
+static wmem_map_t *protocol_table=NULL;
+
+void
+register_ros_oid_dissector_handle(const char *oid, dissector_handle_t dissector, int proto _U_, const char *name, gboolean uses_rtse)
+{
+ dissector_add_string("ros.oid", oid, dissector);
+
+ if(!uses_rtse)
+ /* if we are not using RTSE, then we must register ROS with BER (ACSE) */
+ register_ber_oid_dissector_handle(oid, ros_handle, proto, name);
+}
+
+void
+register_ros_protocol_info(const char *oid, const ros_info_t *rinfo, int proto _U_, const char *name, gboolean uses_rtse)
+{
+ wmem_map_insert(protocol_table, (gpointer)oid, (gpointer)rinfo);
+
+ if(!uses_rtse)
+ /* if we are not using RTSE, then we must register ROS with BER (ACSE) */
+ register_ber_oid_dissector_handle(oid, ros_handle, proto, name);
+}
+
+static dissector_t ros_lookup_opr_dissector(gint32 opcode_lcl, const ros_opr_t *operations, gboolean argument)
+{
+ /* we don't know what order asn2wrs/module definition is, so ... */
+ if(operations) {
+ for(;operations->arg_pdu != (dissector_t)(-1); operations++)
+ if(operations->opcode == opcode_lcl)
+ return argument ? operations->arg_pdu : operations->res_pdu;
+
+ }
+ return NULL;
+}
+
+static dissector_t ros_lookup_err_dissector(gint32 errcode, const ros_err_t *errors)
+{
+ /* we don't know what order asn2wrs/module definition is, so ... */
+ if(errors) {
+ for(;errors->err_pdu != (dissector_t) (-1); errors++) {
+ if(errors->errcode == errcode)
+ return errors->err_pdu;
+ }
+ }
+ return NULL;
+}
+
+
+static int
+ros_try_string(const char *oid, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, struct SESSION_DATA_STRUCTURE* session)
+{
+ ros_info_t *rinfo;
+ gint32 opcode_lcl = 0;
+ const gchar *opname = NULL;
+ const gchar *suffix = NULL;
+ dissector_t opdissector = NULL;
+ const value_string *lookup;
+ proto_item *item=NULL;
+ proto_tree *ros_tree=NULL;
+
+ if((session != NULL) && (oid != NULL) && ((rinfo = (ros_info_t*)wmem_map_lookup(protocol_table, oid)) != NULL)) {
+
+ if(tree){
+ item = proto_tree_add_item(tree, *(rinfo->proto), tvb, 0, -1, ENC_NA);
+ ros_tree = proto_item_add_subtree(item, *(rinfo->ett_proto));
+ }
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, rinfo->name);
+
+ /* if this is a bind operation */
+ if((session->ros_op & ROS_OP_TYPE_MASK) == ROS_OP_BIND) {
+ /* use the in-built operation codes */
+ if((session->ros_op & ROS_OP_PDU_MASK) == ROS_OP_ERROR)
+ opcode_lcl = err_ros_bind;
+ else
+ opcode_lcl = op_ros_bind;
+ } else
+ /* otherwise just take the opcode */
+ opcode_lcl = session->ros_op & ROS_OP_OPCODE_MASK;
+
+ /* default lookup in the operations */
+ lookup = rinfo->opr_code_strings;
+
+ switch(session->ros_op & ROS_OP_PDU_MASK) {
+ case ROS_OP_ARGUMENT:
+ opdissector = ros_lookup_opr_dissector(opcode_lcl, rinfo->opr_code_dissectors, TRUE);
+ suffix = "_argument";
+ break;
+ case ROS_OP_RESULT:
+ opdissector = ros_lookup_opr_dissector(opcode_lcl, rinfo->opr_code_dissectors, FALSE);
+ suffix = "_result";
+ break;
+ case ROS_OP_ERROR:
+ opdissector = ros_lookup_err_dissector(opcode_lcl, rinfo->err_code_dissectors);
+ lookup = rinfo->err_code_strings;
+ break;
+ default:
+ break;
+ }
+
+ if(opdissector) {
+
+ opname = val_to_str(opcode_lcl, lookup, "Unknown opcode (%d)");
+
+ col_set_str(pinfo->cinfo, COL_INFO, opname);
+ if(suffix)
+ col_append_str(pinfo->cinfo, COL_INFO, suffix);
+
+ return (*opdissector)(tvb, pinfo, ros_tree, NULL);
+ }
+ }
+
+ return 0;
+}
+
+int
+call_ros_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, struct SESSION_DATA_STRUCTURE* session)
+{
+ tvbuff_t *next_tvb;
+ int len;
+
+ next_tvb = tvb_new_subset_remaining(tvb, offset);
+
+ if(((len = ros_try_string(oid, next_tvb, pinfo, tree, session)) == 0) &&
+ ((len = dissector_try_string(ros_oid_dissector_table, oid, next_tvb, pinfo, tree, session)) == 0)) {
+ proto_item *item;
+ proto_tree *next_tree;
+
+ next_tree = proto_tree_add_subtree_format(tree, next_tvb, 0, -1, ett_ros_unknown, &item,
+ "ROS: Dissector for OID:%s not implemented. Contact Wireshark developers if you want this supported", oid);
+
+ expert_add_info_format(pinfo, item, &ei_ros_dissector_oid_not_implemented,
+ "ROS: Dissector for OID %s not implemented", oid);
+ len = dissect_unknown_ber(pinfo, next_tvb, offset, next_tree);
+ }
+
+ offset += len;
+
+ return offset;
+}
+
+
+static guint
+ros_info_hash_matched(gconstpointer k)
+{
+ const ros_call_response_t *key = (const ros_call_response_t *)k;
+
+ return key->invokeId;
+}
+
+static gint
+ros_info_equal_matched(gconstpointer k1, gconstpointer k2)
+{
+ const ros_call_response_t *key1 = (const ros_call_response_t *)k1;
+ const ros_call_response_t *key2 = (const ros_call_response_t *)k2;
+
+ if( key1->req_frame && key2->req_frame && (key1->req_frame!=key2->req_frame) ){
+ return 0;
+ }
+ /* a response may span multiple frames
+ if( key1->rep_frame && key2->rep_frame && (key1->rep_frame!=key2->rep_frame) ){
+ return 0;
+ }
+ */
+
+ return key1->invokeId==key2->invokeId;
+}
+
+static guint
+ros_info_hash_unmatched(gconstpointer k)
+{
+ const ros_call_response_t *key = (const ros_call_response_t *)k;
+
+ return key->invokeId;
+}
+
+static gint
+ros_info_equal_unmatched(gconstpointer k1, gconstpointer k2)
+{
+ const ros_call_response_t *key1 = (const ros_call_response_t *)k1;
+ const ros_call_response_t *key2 = (const ros_call_response_t *)k2;
+
+ return key1->invokeId==key2->invokeId;
+}
+
+static ros_call_response_t *
+ros_match_call_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint invokeId, gboolean isInvoke)
+{
+ ros_call_response_t rcr, *rcrp=NULL;
+ ros_conv_info_t *ros_info;
+ conversation_t *conversation;
+
+ /* first see if we have already matched this */
+ conversation = find_conversation_pinfo(pinfo, 0);
+ if (conversation == NULL)
+ return NULL;
+
+ ros_info = (ros_conv_info_t *)conversation_get_proto_data(conversation, proto_ros);
+ if (ros_info == NULL)
+ return NULL;
+
+ rcr.invokeId=invokeId;
+ rcr.is_request = isInvoke;
+
+ if(isInvoke) {
+ rcr.req_frame=pinfo->num;
+ rcr.rep_frame=0;
+ } else {
+ rcr.req_frame=0;
+ rcr.rep_frame=pinfo->num;
+ }
+
+ rcrp=(ros_call_response_t *)wmem_map_lookup(ros_info->matched, &rcr);
+
+ if(rcrp) {
+ /* we have found a match */
+ rcrp->is_request=rcr.is_request;
+
+ } else {
+
+ /* we haven't found a match - try and match it up */
+
+ if(isInvoke) {
+ /* this is a request - add it to the unmatched list */
+
+ /* check that we don't already have one of those in the
+ unmatched list and if so remove it */
+
+ rcr.invokeId=invokeId;
+
+ rcrp=(ros_call_response_t *)wmem_map_lookup(ros_info->unmatched, &rcr);
+
+ if(rcrp){
+ wmem_map_remove(ros_info->unmatched, rcrp);
+ }
+
+ /* if we can't reuse the old one, grab a new chunk */
+ if(!rcrp){
+ rcrp=wmem_new(wmem_file_scope(), ros_call_response_t);
+ }
+ rcrp->invokeId=invokeId;
+ rcrp->req_frame=pinfo->num;
+ rcrp->req_time=pinfo->abs_ts;
+ rcrp->rep_frame=0;
+ rcrp->is_request=TRUE;
+ wmem_map_insert(ros_info->unmatched, rcrp, rcrp);
+ return NULL;
+
+ } else {
+
+ /* this is a result - it should be in our unmatched list */
+
+ rcr.invokeId=invokeId;
+ rcrp=(ros_call_response_t *)wmem_map_lookup(ros_info->unmatched, &rcr);
+
+ if(rcrp){
+
+ if(!rcrp->rep_frame){
+ wmem_map_remove(ros_info->unmatched, rcrp);
+ rcrp->rep_frame=pinfo->num;
+ rcrp->is_request=FALSE;
+ wmem_map_insert(ros_info->matched, rcrp, rcrp);
+ }
+ }
+ }
+ }
+
+ if(rcrp){ /* we have found a match */
+ proto_item *item = NULL;
+
+ if(rcrp->is_request){
+ item=proto_tree_add_uint(tree, hf_ros_response_in, tvb, 0, 0, rcrp->rep_frame);
+ proto_item_set_generated (item);
+ } else {
+ nstime_t ns;
+ item=proto_tree_add_uint(tree, hf_ros_response_to, tvb, 0, 0, rcrp->req_frame);
+ proto_item_set_generated (item);
+ nstime_delta(&ns, &pinfo->abs_ts, &rcrp->req_time);
+ item=proto_tree_add_time(tree, hf_ros_time, tvb, 0, 0, &ns);
+ proto_item_set_generated (item);
+ }
+ }
+
+ return rcrp;
+}
+
+#include "packet-ros-fn.c"
+
+/*
+* Dissect ROS PDUs inside a PPDU.
+*/
+static int
+dissect_ros(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ int offset = 0;
+ int old_offset;
+ proto_item *item;
+ proto_tree *tree;
+ proto_tree *next_tree=NULL;
+ conversation_t *conversation;
+ ros_conv_info_t *ros_info = NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* do we have application context from the acse dissector? */
+ if (data == NULL)
+ return 0;
+ asn1_ctx.private_data = data;
+
+ /* save parent_tree so subdissectors can create new top nodes */
+ top_tree=parent_tree;
+
+ conversation = find_or_create_conversation(pinfo);
+
+ /*
+ * Do we already have our info
+ */
+ ros_info = (ros_conv_info_t *)conversation_get_proto_data(conversation, proto_ros);
+ if (ros_info == NULL) {
+
+ /* No. Attach that information to the conversation. */
+
+ ros_info = (ros_conv_info_t *)wmem_new0(wmem_file_scope(), ros_conv_info_t);
+ ros_info->matched=wmem_map_new(wmem_file_scope(), ros_info_hash_matched, ros_info_equal_matched);
+ ros_info->unmatched=wmem_map_new(wmem_file_scope(), ros_info_hash_unmatched, ros_info_equal_unmatched);
+
+ conversation_add_proto_data(conversation, proto_ros, ros_info);
+ }
+
+ item = proto_tree_add_item(parent_tree, proto_ros, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_ros);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ROS");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0){
+ old_offset=offset;
+ offset=dissect_ros_ROS(FALSE, tvb, offset, &asn1_ctx , tree, -1);
+ if(offset == old_offset){
+ next_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_ros_unknown, &item, "Unknown ROS PDU");
+
+ expert_add_info(pinfo, item, &ei_ros_unknown_ros_pdu);
+ dissect_unknown_ber(pinfo, tvb, offset, next_tree);
+ break;
+ }
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_ros -------------------------------------------*/
+void proto_register_ros(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+ { &hf_ros_response_in,
+ { "Response In", "ros.response_in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "The response to this remote operation invocation is in this frame", HFILL }},
+ { &hf_ros_response_to,
+ { "Response To", "ros.response_to",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "This is a response to the remote operation invocation in this frame", HFILL }},
+ { &hf_ros_time,
+ { "Time", "ros.time",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "The time between the Invoke and the Response", HFILL }},
+
+#include "packet-ros-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ros,
+ &ett_ros_unknown,
+ &ett_ros_invoke_argument,
+ &ett_ros_return_result,
+ &ett_ros_bind_invoke,
+ &ett_ros_bind_result,
+ &ett_ros_bind_error,
+ &ett_ros_unbind_invoke,
+ &ett_ros_unbind_result,
+ &ett_ros_unbind_error,
+
+#include "packet-ros-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_ros_dissector_oid_not_implemented, { "ros.dissector_oid_not_implemented", PI_UNDECODED, PI_WARN, "ROS: Dissector for OID not implemented", EXPFILL }},
+ { &ei_ros_unknown_ros_pdu, { "ros.unknown_ros_pdu", PI_UNDECODED, PI_WARN, "Unknown ROS PDU", EXPFILL }},
+ };
+
+ expert_module_t* expert_ros;
+
+ /* Register protocol */
+ proto_ros = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ ros_handle = register_dissector("ros", dissect_ros, proto_ros);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ros, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_ros = expert_register_protocol(proto_ros);
+ expert_register_field_array(expert_ros, ei, array_length(ei));
+
+ ros_oid_dissector_table = register_dissector_table("ros.oid", "ROS OID Dissectors", proto_ros, FT_STRING, STRING_CASE_SENSITIVE);
+ protocol_table = wmem_map_new(wmem_epan_scope(), wmem_str_hash, g_str_equal);
+}
+
+
+/*--- proto_reg_handoff_ros --- */
+void proto_reg_handoff_ros(void) {
+
+
+}
diff --git a/epan/dissectors/asn1/ros/packet-ros-template.h b/epan/dissectors/asn1/ros/packet-ros-template.h
new file mode 100644
index 00000000..6c499edb
--- /dev/null
+++ b/epan/dissectors/asn1/ros/packet-ros-template.h
@@ -0,0 +1,66 @@
+/* packet-ros.h
+ * Routines for ROS packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_ROS_H
+#define PACKET_ROS_H
+
+#include "packet-ros-exp.h"
+
+# include "packet-ses.h"
+
+/* for use in the SESSION_DATA_STRUCTURE ros_op argument
+ top byte indicates ROS invocation
+ bottom three bytes indicate operation code */
+
+# define ROS_OP_MASK 0xff000000
+
+# define ROS_OP_PDU_MASK 0xf0000000
+# define ROS_OP_ARGUMENT 0x10000000
+# define ROS_OP_RESULT 0x20000000
+# define ROS_OP_ERROR 0x30000000
+# define ROS_OP_REJECT 0x40000000
+
+# define ROS_OP_TYPE_MASK 0x0f000000
+# define ROS_OP_BIND 0x01000000
+# define ROS_OP_UNBIND 0x02000000
+# define ROS_OP_INVOKE 0x03000000
+
+# define ROS_OP_OPCODE_MASK (~ROS_OP_MASK)
+
+# define op_ros_bind (-1) /* pseudo operation code for asn2wrs generated binds */
+# define err_ros_bind (-2) /* pseudo error code for asn2wrs generated binds */
+
+typedef struct _ros_opr_t {
+ gint32 opcode;
+ dissector_t arg_pdu;
+ dissector_t res_pdu;
+} ros_opr_t;
+
+typedef struct _ros_err_t {
+ gint32 errcode;
+ dissector_t err_pdu;
+} ros_err_t;
+
+typedef struct _ros_info_t {
+ const gchar *name;
+ int *proto;
+ gint *ett_proto;
+ const value_string *opr_code_strings;
+ const ros_opr_t *opr_code_dissectors;
+ const value_string *err_code_strings;
+ const ros_err_t *err_code_dissectors;
+} ros_info_t;
+
+void register_ros_oid_dissector_handle(const char *oid, dissector_handle_t dissector, int proto _U_, const char *name, gboolean uses_rtse);
+void register_ros_protocol_info(const char *oid, const ros_info_t *rinfo, int proto _U_, const char *name, gboolean uses_rtse);
+int call_ros_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, struct SESSION_DATA_STRUCTURE* session);
+
+#endif /* PACKET_ROS_H */
diff --git a/epan/dissectors/asn1/ros/ros-err.cnf b/epan/dissectors/asn1/ros/ros-err.cnf
new file mode 100644
index 00000000..21146da0
--- /dev/null
+++ b/epan/dissectors/asn1/ros/ros-err.cnf
@@ -0,0 +1,46 @@
+# ros-err.cnf
+# ROS ReturnError common code
+# Copyright 2007 Tomas Kukosa
+
+#.FN_HDR ReturnError
+ dissector_handle_t err_handle = NULL;
+ const gchar *descr = "";
+
+ err_next_tvb = NULL;
+#.FN_FTR ReturnError
+ actx->rose_ctx->d.pdu = 3;
+
+ if ((actx->rose_ctx->d.code == 0) && actx->rose_ctx->err_local_dissector_table) {
+ err_handle = dissector_get_uint_handle(actx->rose_ctx->err_local_dissector_table, actx->rose_ctx->d.code_local);
+ } else if ((actx->rose_ctx->d.code == 1) && actx->rose_ctx->err_global_dissector_table) {
+ err_handle = dissector_get_string_handle(actx->rose_ctx->err_global_dissector_table, actx->rose_ctx->d.code_global);
+ } else {
+ err_handle = NULL;
+ }
+
+ if (!err_handle ||
+ !proto_is_protocol_enabled(find_protocol_by_id(dissector_handle_get_protocol_index(err_handle)))) {
+ if (actx->rose_ctx->d.code == 0)
+ descr = wmem_strdup_printf(actx->pinfo->pool, "ERR: %d", actx->rose_ctx->d.code_local);
+ else if (actx->rose_ctx->d.code == 1)
+ descr = wmem_strdup_printf(actx->pinfo->pool, "ERR: %s", actx->rose_ctx->d.code_global);
+ } else {
+ descr = wmem_strdup(actx->pinfo->pool, "ERR:");
+ }
+
+ if (actx->rose_ctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %s", descr);
+ if (actx->rose_ctx->fillin_info)
+ col_append_str(actx->pinfo->cinfo, COL_INFO, descr);
+ if (actx->rose_ctx->fillin_ptr)
+ (void) g_strlcat(actx->rose_ctx->fillin_ptr, descr, actx->rose_ctx->fillin_buf_size);
+
+ if (!err_next_tvb) { /* empty error */
+ err_next_tvb = tvb_new_subset_length_caplen(tvb, (actx->encoding==ASN1_ENC_PER)?offset>>3:offset, 0, 0);
+ }
+
+ call_dissector_with_data((err_handle)?err_handle:data_handle, err_next_tvb, actx->pinfo, tree, actx->rose_ctx);
+ if (!err_handle) {
+ expert_add_info_format(actx->pinfo, tree, &ei_ros_undecoded, "Undecoded %s", descr);
+ }
+#.END
diff --git a/epan/dissectors/asn1/ros/ros-inv.cnf b/epan/dissectors/asn1/ros/ros-inv.cnf
new file mode 100644
index 00000000..24f20053
--- /dev/null
+++ b/epan/dissectors/asn1/ros/ros-inv.cnf
@@ -0,0 +1,46 @@
+# ros-inv.cnf
+# ROS Invoke common code
+# Copyright 2007 Tomas Kukosa
+
+#.FN_HDR Invoke
+ dissector_handle_t arg_handle = NULL;
+ const gchar *descr = "";
+
+ arg_next_tvb = NULL;
+#.FN_FTR Invoke
+ actx->rose_ctx->d.pdu = 1;
+
+ if ((actx->rose_ctx->d.code == 0) && actx->rose_ctx->arg_local_dissector_table) {
+ arg_handle = dissector_get_uint_handle(actx->rose_ctx->arg_local_dissector_table, actx->rose_ctx->d.code_local);
+ } else if ((actx->rose_ctx->d.code == 1) && actx->rose_ctx->arg_global_dissector_table) {
+ arg_handle = dissector_get_string_handle(actx->rose_ctx->arg_global_dissector_table, actx->rose_ctx->d.code_global);
+ } else {
+ arg_handle = NULL;
+ }
+
+ if (!arg_handle ||
+ !proto_is_protocol_enabled(find_protocol_by_id(dissector_handle_get_protocol_index(arg_handle)))) {
+ if (actx->rose_ctx->d.code == 0)
+ descr = wmem_strdup_printf(actx->pinfo->pool, "INV: %d", actx->rose_ctx->d.code_local);
+ else if (actx->rose_ctx->d.code == 1)
+ descr = wmem_strdup_printf(actx->pinfo->pool, "INV: %s", actx->rose_ctx->d.code_global);
+ } else {
+ descr = wmem_strdup(actx->pinfo->pool, "INV:");
+ }
+
+ if (actx->rose_ctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %s", descr);
+ if (actx->rose_ctx->fillin_info)
+ col_append_str(actx->pinfo->cinfo, COL_INFO, descr);
+ if (actx->rose_ctx->fillin_ptr)
+ (void) g_strlcat(actx->rose_ctx->fillin_ptr, descr, actx->rose_ctx->fillin_buf_size);
+
+ if (!arg_next_tvb) { /* empty argument */
+ arg_next_tvb = tvb_new_subset_length_caplen(tvb, (actx->encoding==ASN1_ENC_PER)?offset>>3:offset, 0, 0);
+ }
+
+ call_dissector_with_data((arg_handle)?arg_handle:data_handle, arg_next_tvb, actx->pinfo, tree, actx->rose_ctx);
+ if (!arg_handle) {
+ expert_add_info_format(actx->pinfo, tree, &ei_ros_undecoded, "Undecoded %s", descr);
+ }
+#.END
diff --git a/epan/dissectors/asn1/ros/ros-rej.cnf b/epan/dissectors/asn1/ros/ros-rej.cnf
new file mode 100644
index 00000000..9b7a7639
--- /dev/null
+++ b/epan/dissectors/asn1/ros/ros-rej.cnf
@@ -0,0 +1,18 @@
+# ros-rej.cnf
+# ROS Reject common code
+# Copyright 2007 Tomas Kukosa
+
+#.FN_HDR Reject
+ const gchar *descr;
+
+ problem_str[0] = '\0';
+#.FN_FTR Reject
+ descr = wmem_strdup_printf(actx->pinfo->pool, "REJ: %s", problem_str);
+
+ if (actx->rose_ctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %s", descr);
+ if (actx->rose_ctx->fillin_info)
+ col_append_str(actx->pinfo->cinfo, COL_INFO, descr);
+ if (actx->rose_ctx->fillin_ptr)
+ (void) g_strlcat(actx->rose_ctx->fillin_ptr, descr, actx->rose_ctx->fillin_buf_size);
+#.END
diff --git a/epan/dissectors/asn1/ros/ros-res.cnf b/epan/dissectors/asn1/ros/ros-res.cnf
new file mode 100644
index 00000000..d8d892bd
--- /dev/null
+++ b/epan/dissectors/asn1/ros/ros-res.cnf
@@ -0,0 +1,49 @@
+# ros-res.cnf
+# ROS ReturnResult common code
+# Copyright 2007 Tomas Kukosa
+
+#.FN_HDR ReturnResult
+ dissector_handle_t res_handle = NULL;
+ const gchar *descr = "";
+
+ actx->rose_ctx->d.code = -1;
+ res_next_tvb = NULL;
+#.FN_FTR ReturnResult
+ actx->rose_ctx->d.pdu = 2;
+
+ if ((actx->rose_ctx->d.code == 0) && actx->rose_ctx->res_local_dissector_table) {
+ res_handle = dissector_get_uint_handle(actx->rose_ctx->res_local_dissector_table, actx->rose_ctx->d.code_local);
+ } else if ((actx->rose_ctx->d.code == 1) && actx->rose_ctx->res_global_dissector_table) {
+ res_handle = dissector_get_string_handle(actx->rose_ctx->res_global_dissector_table, actx->rose_ctx->d.code_global);
+ } else {
+ res_handle = NULL;
+ }
+
+ if (!res_handle ||
+ !proto_is_protocol_enabled(find_protocol_by_id(dissector_handle_get_protocol_index(res_handle)))) {
+ if (actx->rose_ctx->d.code == 0)
+ descr = wmem_strdup_printf(actx->pinfo->pool, "RES: %d", actx->rose_ctx->d.code_local);
+ else if (actx->rose_ctx->d.code == 1)
+ descr = wmem_strdup_printf(actx->pinfo->pool, "RES: %s", actx->rose_ctx->d.code_global);
+ } else {
+ descr = wmem_strdup(actx->pinfo->pool, "RES:");
+ }
+
+ if (actx->rose_ctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %s", descr);
+ if (actx->rose_ctx->fillin_info)
+ col_append_str(actx->pinfo->cinfo, COL_INFO, descr);
+ if (actx->rose_ctx->fillin_ptr)
+ (void) g_strlcat(actx->rose_ctx->fillin_ptr, descr, actx->rose_ctx->fillin_buf_size);
+
+ if (actx->rose_ctx->d.code != -1) {
+ if (!res_next_tvb) { /* empty result */
+ res_next_tvb = tvb_new_subset_length_caplen(tvb, (actx->encoding==ASN1_ENC_PER)?offset>>3:offset, 0, 0);
+ }
+
+ call_dissector_with_data((res_handle)?res_handle:data_handle, res_next_tvb, actx->pinfo, tree, actx->rose_ctx);
+ if (!res_handle) {
+ expert_add_info_format(actx->pinfo, tree, &ei_ros_undecoded, "Undecoded %s", descr);
+ }
+ }
+#.END
diff --git a/epan/dissectors/asn1/ros/ros.asn b/epan/dissectors/asn1/ros/ros.asn
new file mode 100644
index 00000000..262e9b23
--- /dev/null
+++ b/epan/dissectors/asn1/ros/ros.asn
@@ -0,0 +1,190 @@
+-- Module Remote-Operations-Generic-ROS-PDUs (X.880:07/1994)
+-- See also the README file
+-- See also the index of all ASN.1 assignments needed in this Recommendation
+
+
+Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4)
+ generic-ROS-PDUs(6) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- exports everything
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+
+
+ROS --{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} -- ::=
+ CHOICE {
+ invoke [1] Invoke --{{InvokeIdSet}, {Invokable}}--,
+ returnResult [2] ReturnResult --{{Returnable}}--,
+ returnError [3] ReturnError --{{Errors {{Returnable}}}}--,
+ reject [4] Reject,
+
+ bind-invoke [16] --OPERATION.&ArgumentType({operation})-- ANY,
+ bind-result [17] --OPERATION.&ResultType({operation})-- ANY,
+ bind-error [18] --OPERATION.&Errors.&ParameterType({operation}) -- ANY,
+
+ unbind-invoke [19] --OPERATION.&ArgumentType({operation})-- ANY,
+ unbind-result [20] --OPERATION.&ResultType({operation})-- ANY,
+ unbind-error [21] --OPERATION.&Errors.&ParameterType({operation}) -- ANY
+}
+
+
+--(CONSTRAINED BY { - - must conform to the above definition - -} !
+-- RejectProblem:general-unrecognizedPDU)
+
+Invoke --{InvokeId:InvokeIdSet, OPERATION:Operations}-- ::= SEQUENCE {
+ invokeId
+ InvokeId --(InvokeIdSet)
+-- (CONSTRAINED BY { - - must be unambiguous - -} !
+-- RejectProblem:invoke-duplicateInvocation)--,
+ linkedId
+-- CHOICE {present [0] IMPLICIT present < InvokeId,
+-- absent [1] IMPLICIT NULL
+-- }
+ [0] INTEGER
+-- (CONSTRAINED BY { - - must identify an outstanding operation - -} !
+-- RejectProblem:invoke-unrecognizedLinkedId)
+-- (CONSTRAINED BY { - - which has one or more linked operations- -} !
+-- RejectProblem:invoke-linkedResponseUnexpected)-- OPTIONAL,
+ opcode OperationCode
+-- OPERATION.&operationCode
+-- ({Operations} !RejectProblem:invoke-unrecognizedOperation)--,
+ argument
+-- OPERATION.&ArgumentType
+-- ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) -- ANY OPTIONAL
+}
+OperationCode ::= INTEGER
+
+--(CONSTRAINED BY { - - must conform to the above definition - -} !
+-- RejectProblem:general-mistypedPDU)
+--(WITH COMPONENTS {
+-- ...,
+-- linkedId ABSENT
+-- } |
+-- WITH COMPONENTS {
+-- ...,
+-- linkedId PRESENT,
+-- opcode (CONSTRAINED BY { - - must be in the &Linked field of the associated operation - -
+-- } !RejectProblem:invoke-unexpectedLinkedOperation)
+-- })
+
+-- continued on the next page
+ReturnResult --{OPERATION:Operations}-- ::= SEQUENCE {
+ invokeId
+ InvokeId
+-- (CONSTRAINED BY { - - must be that for an outstanding operation - -} !
+-- RejectProblem:returnResult-unrecognizedInvocation)
+-- (CONSTRAINED BY { - - which returns a result - -} !
+-- RejectProblem:returnResult-resultResponseUnexpected)--,
+ result
+ SEQUENCE {opcode OperationCode
+-- OPERATION.&operationCode({Operations})
+-- (CONSTRAINED BY { - - identified by invokeId - -} !
+-- RejectProblem:returnResult-unrecognizedInvocation)--,
+ result ANY
+-- OPERATION.&ResultType
+-- ({Operations}{@.opcode} !
+-- RejectProblem:returnResult-mistypedResult) -- } OPTIONAL
+}
+--(CONSTRAINED BY { - - must conform to the above definition - -} !
+-- RejectProblem:general-mistypedPDU)
+
+ReturnError --{ERROR:Errors}-- ::= SEQUENCE {
+ invokeId
+ InvokeId
+-- (CONSTRAINED BY { - - must be that for an outstanding operation - -} !
+-- RejectProblem:returnError-unrecognizedInvocation)
+-- (CONSTRAINED BY { - - which returns an error - -} !
+-- RejectProblem:returnError-errorResponseUnexpected) --,
+ errcode ErrorCode
+-- ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
+-- (CONSTRAINED BY { - - must be in the &Errors field of the associated operation - -
+-- } !RejectProblem:returnError-unexpectedError)--,
+ parameter ANY
+-- ERROR.&ParameterType
+-- ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
+ OPTIONAL
+}
+--(CONSTRAINED BY { - - must conform to the above definition - -} !
+-- RejectProblem:general-mistypedPDU)
+
+ErrorCode ::= INTEGER
+
+Reject ::= SEQUENCE {
+ invokeId InvokeId,
+ problem
+ CHOICE {general [0] GeneralProblem,
+ invoke [1] InvokeProblem,
+ returnResult [2] ReturnResultProblem,
+ returnError [3] ReturnErrorProblem}
+}
+--(CONSTRAINED BY { - - must conform to the above definition - -} !
+-- RejectProblem:general-mistypedPDU)
+
+GeneralProblem ::= INTEGER {
+ unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)}
+
+-- continued on the next page
+InvokeProblem ::= INTEGER {
+ duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
+ resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
+ linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
+
+ReturnResultProblem ::= INTEGER {
+ unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
+}
+
+ReturnErrorProblem ::= INTEGER {
+ unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
+ unexpectedError(3), mistypedParameter(4)}
+
+--RejectProblem ::= INTEGER {
+-- general-unrecognizedPDU(0), general-mistypedPDU(1),
+-- general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
+-- invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
+-- invoke-resourceLimitation(13), invoke-releaseInProgress(14),
+-- invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
+-- invoke-unexpectedLinkedOperation(17),
+-- returnResult-unrecognizedInvocation(20),
+-- returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
+-- returnError-unrecognizedInvocation(30),
+-- returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
+-- returnError-unexpectedError(33), returnError-mistypedParameter(34)}
+
+InvokeId ::= CHOICE {present INTEGER,
+ absent NULL
+}
+
+--noInvokeId InvokeId ::= absent:NULL
+
+--NoInvokeId InvokeId ::= {noInvokeId}
+
+--Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
+
+-- continued on the next page
+--Bind{OPERATION:operation} ::= CHOICE {
+-- bind-invoke [16] OPERATION.&ArgumentType({operation}),
+-- bind-result [17] OPERATION.&ResultType({operation}),
+-- bind-error [18] OPERATION.&Errors.&ParameterType({operation})
+--}
+
+--Unbind{OPERATION:operation} ::= CHOICE {
+-- unbind-invoke [19] OPERATION.&ArgumentType({operation}),
+-- unbind-result [20] OPERATION.&ResultType({operation}),
+-- unbind-error [21] OPERATION.&Errors.&ParameterType({operation})
+--}
+
+
+--Code ::= CHOICE {
+-- local INTEGER,
+-- global OBJECT IDENTIFIER
+--}
+
+--Priority ::= INTEGER
+
+END -- end of generic ROS PDU definitions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/ros/ros.cnf b/epan/dissectors/asn1/ros/ros.cnf
new file mode 100644
index 00000000..8511a8e2
--- /dev/null
+++ b/epan/dissectors/asn1/ros/ros.cnf
@@ -0,0 +1,207 @@
+#.EXPORTS
+OPERATION
+ERROR
+OPERATION-PACKAGE
+CONTRACT
+InvokeId
+Code
+ROS
+
+#.OMIT_ASSIGNMENT
+Priority
+#.END
+
+#.TYPE_RENAME
+ReturnResult/result/result OperationResult
+
+#.FIELD_RENAME
+Reject/problem/invoke invokeProblem
+ReturnResult/result/result operationResult
+Reject/problem/returnError rejectError
+Reject/problem/returnResult rejectResult
+
+#.FN_PARS OperationCode VAL_PTR = &opcode
+
+#.FN_PARS ErrorCode VAL_PTR = &opcode
+
+#.FN_PARS InvokeId/present VAL_PTR = &invokeid
+
+#.FN_BODY Invoke/argument
+ char *oid;
+ proto_tree* subtree;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data;
+
+ /* not sure what the length should be - -1 for now */
+ subtree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_ros_invoke_argument, NULL, "invoke argument");
+
+ ros_match_call_response(tvb, actx->pinfo, subtree, invokeid, TRUE);
+
+ if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) {
+ /* this should be ROS! */
+ session->ros_op = (ROS_OP_INVOKE | ROS_OP_ARGUMENT);
+ /* now add the opcode */
+ session->ros_op |= opcode;
+ offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session);
+ }
+
+#.FN_BODY ReturnResult/result/result
+ char *oid;
+ proto_tree* subtree;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data;
+
+ /* not sure what the length should be - -1 for now */
+ subtree = proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_return_result, NULL, "return result");
+
+ ros_match_call_response(tvb, actx->pinfo, subtree, invokeid, FALSE);
+
+ if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) {
+ /* this should be ROS! */
+ session->ros_op = (ROS_OP_INVOKE | ROS_OP_RESULT);
+ /* now add the opcode */
+ session->ros_op |= opcode;
+ offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session);
+ }
+
+#.FN_BODY ReturnError/parameter
+ char *oid;
+ proto_tree* subtree;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data;
+
+ /* not sure what the length should be - -1 for now */
+ subtree = proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_return_result, NULL, "return result");
+
+ ros_match_call_response(tvb, actx->pinfo, subtree, invokeid, FALSE);
+
+ if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) {
+ /* this should be ROS! */
+ session->ros_op = (ROS_OP_INVOKE | ROS_OP_ERROR);
+ /* now add the opcode (really the error code) */
+ session->ros_op |= opcode;
+ offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session);
+ }
+
+#.FN_BODY ROS/bind-invoke
+ char *oid;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data;
+
+ /* not sure what the length should be - -1 for now */
+ proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_bind_result, NULL, "bind-invoke");
+
+ if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) {
+ /* this should be ROS! */
+ session->ros_op = (ROS_OP_BIND | ROS_OP_ARGUMENT);
+ offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session);
+ }
+
+#.FN_BODY ROS/bind-result
+ char *oid;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data;
+
+ /* not sure what the length should be - -1 for now */
+ proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_bind_result, NULL, "bind-result");
+
+ if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) {
+ /* this should be ROS! */
+ session->ros_op = (ROS_OP_BIND | ROS_OP_RESULT);
+ offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session);
+ }
+
+#.FN_BODY ROS/bind-error
+ char *oid;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data;
+
+ /* not sure what the length should be - -1 for now */
+ proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_bind_error, NULL, "bind-error");
+
+ if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) {
+ /* this should be ROS! */
+ session->ros_op = (ROS_OP_BIND | ROS_OP_ERROR);
+ offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session);
+ }
+
+
+#.FN_BODY ROS/unbind-invoke
+ char *oid;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data;
+
+ /* not sure what the length should be - -1 for now */
+ proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_unbind_invoke, NULL, "unbind-invoke");
+
+ if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) {
+ /* this should be ROS! */
+ session->ros_op = (ROS_OP_UNBIND | ROS_OP_ARGUMENT);
+ offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session);
+ }
+
+
+#.FN_BODY ROS/unbind-result
+ char *oid;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data;
+
+ /* not sure what the length should be - -1 for now */
+ proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_unbind_result, NULL, "unbind-result");
+
+ if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) {
+ /* this should be ROS! */
+ session->ros_op = (ROS_OP_UNBIND | ROS_OP_RESULT);
+ offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session);
+ }
+
+#.FN_BODY ROS/unbind-error
+ char *oid;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data;
+
+ /* not sure what the length should be - -1 for now */
+ proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_unbind_error, NULL, "unbind-error");
+
+ if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) {
+ /* this should be ROS! */
+ session->ros_op = (ROS_OP_UNBIND | ROS_OP_ERROR);
+ offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session);
+ }
+
+#.FN_BODY ROS/reject
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "Reject");
+ %(DEFAULT_BODY)s
+
+#.FN_PARS GeneralProblem
+ VAL_PTR = &problem
+
+#.FN_BODY GeneralProblem
+ guint32 problem;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, ros_GeneralProblem_vals, "GeneralProblem(%%d)"));
+
+#.FN_PARS InvokeProblem
+ VAL_PTR = &problem
+
+#.FN_BODY InvokeProblem
+ guint32 problem;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, ros_InvokeProblem_vals, "InvokeProblem(%%d)"));
+
+#.FN_PARS ReturnResultProblem
+ VAL_PTR = &problem
+
+#.FN_BODY ReturnResultProblem
+ guint32 problem;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, ros_ReturnResultProblem_vals, "ReturnResultProblem(%%d)"));
+
+#.FN_PARS ReturnErrorProblem
+ VAL_PTR = &problem
+
+#.FN_BODY ReturnErrorProblem
+ guint32 problem;
+
+ %(DEFAULT_BODY)s
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, ros_ReturnErrorProblem_vals, "ReturnErrorProblem(%%d)"));
+
+#.END
diff --git a/epan/dissectors/asn1/rrc/CMakeLists.txt b/epan/dissectors/asn1/rrc/CMakeLists.txt
new file mode 100644
index 00000000..fffc7f4d
--- /dev/null
+++ b/epan/dissectors/asn1/rrc/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME rrc )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ Class-definitions.asn
+ PDU-definitions.asn
+ InformationElements.asn
+ Constant-definitions.asn
+ Internode-definitions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/rrc/Class-definitions.asn b/epan/dissectors/asn1/rrc/Class-definitions.asn
new file mode 100644
index 00000000..5e83bb23
--- /dev/null
+++ b/epan/dissectors/asn1/rrc/Class-definitions.asn
@@ -0,0 +1,400 @@
+-- 3GPP TS 25.331 V16.1.0 (2020-09)
+--
+-- 11.1 General message structure
+--
+Class-definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ ActiveSetUpdate,
+ ActiveSetUpdateComplete,
+ ActiveSetUpdateFailure,
+ AssistanceDataDelivery,
+ CellChangeOrderFromUTRAN,
+ CellChangeOrderFromUTRANFailure,
+ CellUpdate,
+ CellUpdateFDD-r11,
+ CellUpdateConfirm-CCCH,
+ CellUpdateConfirm,
+ CounterCheck,
+ CounterCheckResponse,
+ DownlinkDirectTransfer,
+ ETWSPrimaryNotificationWithSecurity,
+ HandoverToUTRANComplete,
+ InitialDirectTransfer,
+ HandoverFromUTRANCommand-EUTRA,
+ HandoverFromUTRANCommand-GERANIu,
+ HandoverFromUTRANCommand-GSM,
+ HandoverFromUTRANCommand-CDMA2000,
+ HandoverFromUTRANFailure,
+ LoggingMeasurementConfiguration,
+ MBMSAccessInformation,
+ MBMSCommonPTMRBInformation,
+ MBMSCurrentCellPTMRBInformation,
+ MBMSGeneralInformation,
+ MBMSModificationRequest,
+ MBMSModifiedServicesInformation,
+ MBMSNeighbouringCellPTMRBInformation,
+ MBMSSchedulingInformation,
+ MBMSUnmodifiedServicesInformation,
+ MeasurementControl,
+ MeasurementControlFailure,
+ MeasurementReport,
+ PagingType1,
+ PagingType2,
+ PhysicalChannelReconfiguration,
+ PhysicalChannelReconfigurationComplete,
+ PhysicalChannelReconfigurationFailure,
+ PhysicalSharedChannelAllocation,
+ PUSCHCapacityRequest,
+ RadioBearerReconfiguration,
+ RadioBearerReconfigurationComplete,
+ RadioBearerReconfigurationFailure,
+ RadioBearerRelease,
+ RadioBearerReleaseComplete,
+ RadioBearerReleaseFailure,
+ RadioBearerSetup,
+ RadioBearerSetupComplete,
+ RadioBearerSetupFailure,
+ RRCConnectionReject,
+ RRCConnectionRelease,
+ RRCConnectionRelease-CCCH,
+ RRCConnectionReleaseComplete,
+ RRCConnectionRequest,
+ RRCConnectionSetup,
+ RRCConnectionSetupComplete,
+ RRCStatus,
+ SecurityModeCommand,
+ SecurityModeComplete,
+ SecurityModeFailure,
+ SignallingConnectionRelease,
+ SignallingConnectionReleaseIndication,
+ SystemInformation-BCH,
+ SystemInformation2-BCH,
+ SystemInformation-FACH,
+ SystemInformationChangeIndication,
+ TransportChannelReconfiguration,
+ TransportChannelReconfigurationComplete,
+ TransportChannelReconfigurationFailure,
+ TransportFormatCombinationControl,
+ TransportFormatCombinationControlFailure,
+ UECapabilityEnquiry,
+ UECapabilityInformation,
+ UECapabilityInformationConfirm,
+ UEInformationRequest,
+ UEInformationResponse,
+ UplinkDirectTransfer,
+ UplinkPhysicalChannelControl,
+ URAUpdate,
+ URAUpdateConfirm,
+ URAUpdateConfirm-CCCH,
+ UTRANMobilityInformation,
+ UTRANMobilityInformationConfirm,
+ UTRANMobilityInformationFailure
+FROM PDU-definitions
+
+-- User Equipment IEs :
+ IntegrityCheckInfo
+FROM InformationElements;
+
+--**************************************************************
+--
+-- Downlink DCCH messages
+--
+--**************************************************************
+
+DL-DCCH-Message ::= SEQUENCE {
+ integrityCheckInfo IntegrityCheckInfo OPTIONAL,
+ message DL-DCCH-MessageType
+}
+
+DL-DCCH-MessageType ::= CHOICE {
+ activeSetUpdate ActiveSetUpdate,
+ assistanceDataDelivery AssistanceDataDelivery,
+ cellChangeOrderFromUTRAN CellChangeOrderFromUTRAN,
+ cellUpdateConfirm CellUpdateConfirm,
+ counterCheck CounterCheck,
+ downlinkDirectTransfer DownlinkDirectTransfer,
+ handoverFromUTRANCommand-GSM HandoverFromUTRANCommand-GSM,
+ handoverFromUTRANCommand-CDMA2000 HandoverFromUTRANCommand-CDMA2000,
+ measurementControl MeasurementControl,
+ pagingType2 PagingType2,
+ physicalChannelReconfiguration PhysicalChannelReconfiguration,
+ physicalSharedChannelAllocation PhysicalSharedChannelAllocation,
+ radioBearerReconfiguration RadioBearerReconfiguration,
+ radioBearerRelease RadioBearerRelease,
+ radioBearerSetup RadioBearerSetup,
+ rrcConnectionRelease RRCConnectionRelease,
+ securityModeCommand SecurityModeCommand,
+ signallingConnectionRelease SignallingConnectionRelease,
+ transportChannelReconfiguration TransportChannelReconfiguration,
+ transportFormatCombinationControl TransportFormatCombinationControl,
+ ueCapabilityEnquiry UECapabilityEnquiry,
+ ueCapabilityInformationConfirm UECapabilityInformationConfirm,
+ uplinkPhysicalChannelControl UplinkPhysicalChannelControl,
+ uraUpdateConfirm URAUpdateConfirm,
+ utranMobilityInformation UTRANMobilityInformation,
+ handoverFromUTRANCommand-GERANIu HandoverFromUTRANCommand-GERANIu,
+ mbmsModifiedServicesInformation MBMSModifiedServicesInformation,
+ etwsPrimaryNotificationWithSecurity ETWSPrimaryNotificationWithSecurity,
+ handoverFromUTRANCommand-EUTRA HandoverFromUTRANCommand-EUTRA,
+ ueInformationRequest UEInformationRequest,
+ loggingMeasurementConfiguration LoggingMeasurementConfiguration,
+ spare1 NULL
+}
+
+--**************************************************************
+--
+-- Uplink DCCH messages
+--
+--**************************************************************
+
+UL-DCCH-Message ::= SEQUENCE {
+ integrityCheckInfo IntegrityCheckInfo OPTIONAL,
+ message UL-DCCH-MessageType
+}
+
+UL-DCCH-MessageType ::= CHOICE {
+ activeSetUpdateComplete ActiveSetUpdateComplete,
+ activeSetUpdateFailure ActiveSetUpdateFailure,
+ cellChangeOrderFromUTRANFailure CellChangeOrderFromUTRANFailure,
+ counterCheckResponse CounterCheckResponse,
+ handoverToUTRANComplete HandoverToUTRANComplete,
+ initialDirectTransfer InitialDirectTransfer,
+ handoverFromUTRANFailure HandoverFromUTRANFailure,
+ measurementControlFailure MeasurementControlFailure,
+ measurementReport MeasurementReport,
+ physicalChannelReconfigurationComplete
+ PhysicalChannelReconfigurationComplete,
+ physicalChannelReconfigurationFailure
+ PhysicalChannelReconfigurationFailure,
+ radioBearerReconfigurationComplete RadioBearerReconfigurationComplete,
+ radioBearerReconfigurationFailure RadioBearerReconfigurationFailure,
+ radioBearerReleaseComplete RadioBearerReleaseComplete,
+ radioBearerReleaseFailure RadioBearerReleaseFailure,
+ radioBearerSetupComplete RadioBearerSetupComplete,
+ radioBearerSetupFailure RadioBearerSetupFailure,
+ rrcConnectionReleaseComplete RRCConnectionReleaseComplete,
+ rrcConnectionSetupComplete RRCConnectionSetupComplete,
+ rrcStatus RRCStatus,
+ securityModeComplete SecurityModeComplete,
+ securityModeFailure SecurityModeFailure,
+ signallingConnectionReleaseIndication
+ SignallingConnectionReleaseIndication,
+ transportChannelReconfigurationComplete
+ TransportChannelReconfigurationComplete,
+ transportChannelReconfigurationFailure
+ TransportChannelReconfigurationFailure,
+ transportFormatCombinationControlFailure
+ TransportFormatCombinationControlFailure,
+ ueCapabilityInformation UECapabilityInformation,
+ uplinkDirectTransfer UplinkDirectTransfer,
+ utranMobilityInformationConfirm UTRANMobilityInformationConfirm,
+ utranMobilityInformationFailure UTRANMobilityInformationFailure,
+ mbmsModificationRequest MBMSModificationRequest,
+ ul-DCCH-MessageType-ext UL-DCCH-MessageType-ext
+}
+
+UL-DCCH-MessageType-ext ::= CHOICE {
+ ueInformationResponse UEInformationResponse,
+ spare15 NULL,
+ spare14 NULL,
+ spare13 NULL,
+ spare12 NULL,
+ spare11 NULL,
+ spare10 NULL,
+ spare9 NULL,
+ spare8 NULL,
+ spare7 NULL,
+ spare6 NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+--**************************************************************
+--
+-- Downlink CCCH messages
+--
+--**************************************************************
+
+DL-CCCH-Message ::= SEQUENCE {
+ integrityCheckInfo IntegrityCheckInfo OPTIONAL,
+ message DL-CCCH-MessageType
+}
+
+DL-CCCH-MessageType ::= CHOICE {
+ cellUpdateConfirm CellUpdateConfirm-CCCH,
+ rrcConnectionReject RRCConnectionReject,
+ rrcConnectionRelease RRCConnectionRelease-CCCH,
+ rrcConnectionSetup RRCConnectionSetup,
+ uraUpdateConfirm URAUpdateConfirm-CCCH,
+ -- dummy is not used in the specification. If received it is ignored by the UE.
+ -- See TS 23.041 for handling of warning security information by Cell Broadcast Center.
+ dummy ETWSPrimaryNotificationWithSecurity,
+ spare2 NULL,
+ spare1 NULL
+}
+
+--**************************************************************
+--
+-- Uplink CCCH messages
+--
+--**************************************************************
+
+UL-CCCH-Message ::= SEQUENCE {
+ integrityCheckInfo IntegrityCheckInfo OPTIONAL,
+ message UL-CCCH-MessageType
+}
+
+UL-CCCH-MessageType ::= CHOICE {
+ cellUpdate CellUpdate,
+ rrcConnectionRequest RRCConnectionRequest,
+ uraUpdate URAUpdate,
+ uL-CCCH-MessageType-r11 UL-CCCH-MessageType-r11
+}
+
+UL-CCCH-MessageType-r11 ::= CHOICE {
+ cellUpdate CellUpdateFDD-r11,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+--**************************************************************
+--
+-- PCCH messages
+--
+--**************************************************************
+
+PCCH-Message ::= SEQUENCE {
+ message PCCH-MessageType
+}
+
+PCCH-MessageType ::= CHOICE {
+ pagingType1 PagingType1,
+ spare NULL
+}
+
+--**************************************************************
+--
+-- Downlink SHCCH messages
+--
+--**************************************************************
+
+DL-SHCCH-Message ::= SEQUENCE {
+ message DL-SHCCH-MessageType
+}
+
+DL-SHCCH-MessageType ::= CHOICE {
+ physicalSharedChannelAllocation PhysicalSharedChannelAllocation,
+ spare NULL
+}
+
+--**************************************************************
+--
+-- Uplink SHCCH messages
+--
+--**************************************************************
+
+UL-SHCCH-Message ::= SEQUENCE {
+ message UL-SHCCH-MessageType
+}
+
+UL-SHCCH-MessageType ::= CHOICE {
+ puschCapacityRequest PUSCHCapacityRequest,
+ spare NULL
+}
+
+
+--**************************************************************
+--
+-- BCCH messages sent on FACH
+--
+--**************************************************************
+
+BCCH-FACH-Message ::= SEQUENCE {
+ message BCCH-FACH-MessageType
+}
+
+BCCH-FACH-MessageType ::= CHOICE {
+-- dummy is not used in this version of the specification, it should
+-- not be sent and if received UE behaviour is unspecified.
+ dummy SystemInformation-FACH,
+ systemInformationChangeIndication SystemInformationChangeIndication,
+ spare2 NULL,
+ spare1 NULL
+}
+
+--**************************************************************
+--
+-- BCCH messages sent on BCH
+--
+--**************************************************************
+
+BCCH-BCH-Message ::= SEQUENCE {
+ message SystemInformation-BCH
+}
+
+--**************************************************************
+--
+-- BCCH messages sent on BCH2
+--
+--**************************************************************
+
+BCCH-BCH2-Message ::= SEQUENCE {
+ message SystemInformation2-BCH
+}
+
+--**************************************************************
+--
+-- MCCH messages
+--
+--**************************************************************
+
+MCCH-Message ::= SEQUENCE {
+ message MCCH-MessageType
+}
+
+MCCH-MessageType ::= CHOICE {
+ mbmsAccessInformation MBMSAccessInformation,
+ mbmsCommonPTMRBInformation MBMSCommonPTMRBInformation,
+ mbmsCurrentCellPTMRBInformation MBMSCurrentCellPTMRBInformation,
+ mbmsGeneralInformation MBMSGeneralInformation,
+ mbmsModifiedServicesInformation MBMSModifiedServicesInformation,
+ mbmsNeighbouringCellPTMRBInformation
+ MBMSNeighbouringCellPTMRBInformation,
+ mbmsUnmodifiedServicesInformation MBMSUnmodifiedServicesInformation,
+ spare9 NULL,
+ spare8 NULL,
+ spare7 NULL,
+ spare6 NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+--**************************************************************
+--
+-- MSCH messages
+--
+--**************************************************************
+
+MSCH-Message ::= SEQUENCE {
+ message MSCH-MessageType
+}
+
+MSCH-MessageType ::= CHOICE {
+ mbmsSchedulingInformation MBMSSchedulingInformation,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+END
diff --git a/epan/dissectors/asn1/rrc/Constant-definitions.asn b/epan/dissectors/asn1/rrc/Constant-definitions.asn
new file mode 100644
index 00000000..5a3cde06
--- /dev/null
+++ b/epan/dissectors/asn1/rrc/Constant-definitions.asn
@@ -0,0 +1,205 @@
+-- 3GPP TS 25.331 V17.1.0 (2022-06)
+--
+-- 11.4 Constant definitions
+--
+Constant-definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+hiPDSCHidentities INTEGER ::= 64
+hiPUSCHidentities INTEGER ::= 64
+hiRM INTEGER ::= 256
+maxAC INTEGER ::= 16
+maxAdditionalMeas INTEGER ::= 4
+maxAddPos INTEGER ::= 8
+maxASC INTEGER ::= 8
+maxASCmap INTEGER ::= 7
+maxASCpersist INTEGER ::= 6
+maxBeacons INTEGER ::= 64
+maxBTs INTEGER ::= 32
+maxCCTrCH INTEGER ::= 8
+maxCellMeas INTEGER ::= 32
+maxCellMeas-ext INTEGER ::= 80
+maxCellMeas-ext2 INTEGER ::= 48
+maxCellMeasOnSecULFreq INTEGER ::= 32
+maxCellMeas-1 INTEGER ::= 31
+maxCellMeas-ext-1 INTEGER ::= 79
+maxCellMeasOnSecULFreq-1 INTEGER ::= 31
+maxCNdomains INTEGER ::= 4
+maxCommonHRNTI INTEGER ::= 4
+maxCommonQueueID INTEGER ::= 2
+maxCPCHsets INTEGER ::= 16
+maxDedicatedCSGFreq INTEGER ::= 4
+maxDPCH-DLchan INTEGER ::= 8
+maxDPDCH-UL INTEGER ::= 6
+maxDRACclasses INTEGER ::= 8
+maxExcludedDetectedSetCells INTEGER ::= 64
+maxE-DCHMACdFlow INTEGER ::= 8
+maxE-DCHMACdFlow-1 INTEGER ::= 7
+maxMultipleFrequencyBandsFDD INTEGER ::= 8
+maxMultipleFrequencyBandsEUTRA INTEGER ::= 8
+maxEUTRACellPerFreq INTEGER ::= 16
+maxEUTRATargetFreqs INTEGER ::= 8
+maxEDCHRL INTEGER ::= 4
+maxEDCHRL-1 INTEGER ::= 3
+maxEDCHs INTEGER ::= 32
+maxEDCHs-1 INTEGER ::= 31
+maxEDCHTxPattern-TDD128 INTEGER ::= 4 -- maxEDCHTxPattern-TDD128 should be 3
+maxEDCHTxPattern-TDD128-1 INTEGER ::= 3 -- maxEDCHTxPattern-TDD128-1 should be 2
+maxERNTIgroup INTEGER ::= 32
+maxERNTIperGroup INTEGER ::= 2
+maxERUCCH INTEGER ::= 256
+maxFACHPCH INTEGER ::= 8
+maxFreq INTEGER ::= 8
+maxFreqBandsEUTRA INTEGER ::= 16
+maxFreqBandsEUTRA-ext INTEGER ::= 48
+maxFreqBandsFDD INTEGER ::= 8
+maxFreqBandsFDD2 INTEGER ::= 22
+maxFreqBandsFDD3 INTEGER ::= 86
+maxFreqBandsFDD-ext INTEGER ::= 15 -- maxFreqBandsFDD-ext ::= 22 - (maxFreqBandsFDD - 1)
+maxFreqBandsFDD-ext2 INTEGER ::= 64 -- maxFreqBandsFDD-ext2 ::= 86 - maxFreqBandsFDD2
+maxFreqBandsFDD-ext3 INTEGER ::= 78 -- maxFreqBandsFDD-ext3 ::= 86 - maxFreqBandsFDD
+maxFreqBandsIndicatorSupport INTEGER ::= 2
+maxFreqBandsTDD INTEGER ::= 4
+maxFreqBandsTDD-ext INTEGER ::= 16
+maxFreqBandsGSM INTEGER ::= 16
+maxFreqMeasWithoutCM INTEGER ::= 2
+maxGANSS INTEGER ::= 8
+maxGANSS-1 INTEGER ::= 7
+maxGANSSSat INTEGER ::= 64
+maxGANSSSat-1 INTEGER ::= 63
+maxGERAN-SI INTEGER ::= 8
+maxGSMTargetCells INTEGER ::= 32
+maxHNBNameSize INTEGER ::= 48
+maxHProcesses INTEGER ::= 8
+maxHS-SCCHLessTrBlk INTEGER ::= 4
+maxHSDSCHTBIndex INTEGER ::= 64
+maxHSDSCHTBIndex-tdd384 INTEGER ::= 512
+maxHSSCCHs INTEGER ::= 4
+maxHSSCCHs-1 INTEGER ::= 3
+maxHSSICH-TDD128 INTEGER ::= 4
+maxHSSICH-TDD128-1 INTEGER ::= 3
+maxIGPInfo INTEGER ::= 320
+maxInterSysMessages INTEGER ::= 4
+maxLoCHperRLC INTEGER ::= 2
+maxLoggedMeasReport INTEGER ::= 128
+maxMAC-d-PDUsizes INTEGER ::= 8
+maxMBMS-CommonCCTrCh INTEGER ::= 32
+maxMBMS-CommonPhyCh INTEGER ::= 32
+maxMBMS-CommonRB INTEGER ::= 32
+maxMBMS-CommonTrCh INTEGER ::= 32
+maxMBMS-Freq INTEGER ::= 4
+maxMBMS-L1CP INTEGER ::= 4
+maxMBMSservCount INTEGER ::= 8
+maxMBMSservModif INTEGER ::= 32
+maxMBMSservSched INTEGER ::= 16
+maxMBMSservSelect INTEGER ::= 8
+maxMBMSservUnmodif INTEGER ::= 64
+maxMBMSTransmis INTEGER ::= 4
+maxMBSFNClusters INTEGER ::= 16
+maxMeasCSGRange INTEGER ::= 4
+maxMeasEvent INTEGER ::= 8
+maxMeasEventOnSecULFreq INTEGER ::= 8
+maxMeasIdentity INTEGER ::= 32
+maxMeasIntervals INTEGER ::= 3
+maxMeasOccasionPattern INTEGER ::= 5
+maxMeasOccasionPattern-1 INTEGER ::= 4
+maxMeasParEvent INTEGER ::= 2
+maxNonContiguousMultiCellCombinations INTEGER ::= 3
+maxNumAccessGroups INTEGER ::= 16
+maxNumAcdcCategory INTEGER ::= 16
+maxNumCDMA2000Freqs INTEGER ::= 8
+maxNumE-AGCH INTEGER ::= 4
+maxNumE-HICH INTEGER ::= 4
+maxNumEUTRAFreqs INTEGER ::= 8
+maxNumEUTRAFreqs-FACH INTEGER ::= 4
+maxNumEUTRAFreqs-FACH-ext INTEGER ::= 8
+maxNumGSMCellGroup INTEGER ::= 16
+maxNumGSMFreqRanges INTEGER ::= 32
+maxNumFDDFreqs INTEGER ::= 8
+maxNumANRLoggedItems INTEGER ::= 4
+maxnumLoggedMeas INTEGER ::= 8
+maxNumMDTPLMN INTEGER ::= 15
+maxNumTDDFreqs INTEGER ::= 8
+maxNoOfMeas INTEGER ::= 16
+maxOtherRAT INTEGER ::= 15
+maxOtherRAT-16 INTEGER ::= 16
+maxPage1 INTEGER ::= 8
+maxPCPCH-APsig INTEGER ::= 16
+maxPCPCH-APsubCh INTEGER ::= 12
+maxPCPCH-CDsig INTEGER ::= 16
+maxPCPCH-CDsubCh INTEGER ::= 12
+maxPCPCH-SF INTEGER ::= 7
+maxPCPCHs INTEGER ::= 64
+maxPDCPAlgoType INTEGER ::= 8
+maxPDSCH INTEGER ::= 8
+maxPDSCH-TFCIgroups INTEGER ::= 256
+maxPRACH INTEGER ::= 16
+maxPRACH-EUL INTEGER ::= 4
+maxPRACH-FPACH INTEGER ::= 8
+maxPredefConfig INTEGER ::= 16
+maxOtherStateConfig INTEGER ::= 4
+maxOtherStateConfig-1 INTEGER ::= 3
+maxPrio INTEGER ::= 8
+maxPrio-1 INTEGER ::= 7
+maxPrio-ext INTEGER ::= 16
+maxPUSCH INTEGER ::= 8
+maxQueueIDs INTEGER ::= 8
+maxRABsetup INTEGER ::= 16
+maxRAT INTEGER ::= 16
+maxRB INTEGER ::= 32
+maxRBallRABs INTEGER ::= 27
+maxRBMuxOptions INTEGER ::= 8
+maxRBperRAB INTEGER ::= 8
+maxRBperTrCh INTEGER ::= 16
+maxReportedEUTRACellPerFreq INTEGER ::= 4
+maxReportedEUTRAFreqs INTEGER ::= 4
+maxReportedEUTRAFreqs-ext INTEGER ::= 8
+maxReportedGSMCells INTEGER ::= 8
+maxRetrievConfig INTEGER ::= 8
+maxRetrievConfig-1 INTEGER ::= 7
+maxRL INTEGER ::= 8
+maxRL-1 INTEGER ::= 7
+maxRLCPDUsizePerLogChan INTEGER ::= 32
+maxRMPfrequencies INTEGER ::= 8
+maxRFC3095-CID INTEGER ::= 16384
+maxROHC-PacketSizes-r4 INTEGER ::= 16
+maxROHC-Profile-r4 INTEGER ::= 8
+maxRxPatternForHSDSCH-TDD128 INTEGER ::= 4 -- maxRxPatternForHSDSCH-TDD128 should be 3
+maxRxPatternForHSDSCH-TDD128-1 INTEGER ::= 3 -- maxRxPatternForHSDSCH-TDD128-1 should be 2
+maxSat INTEGER ::= 16
+maxSatClockModels INTEGER ::= 4
+maxSCCPCH INTEGER ::= 16
+maxSgnType INTEGER ::= 8
+maxSIB INTEGER ::= 32
+maxSIB2 INTEGER ::= 64
+maxSIB-FACH INTEGER ::= 8
+maxSIBperMsg INTEGER ::= 16
+maxSIrequest INTEGER ::= 4
+maxSRBsetup INTEGER ::= 8
+maxSystemCapability INTEGER ::= 16
+maxTDD128Carrier INTEGER ::= 6
+maxTDD128Carrier-1 INTEGER ::= 5
+maxTbsForHSDSCH-TDD128 INTEGER ::= 4
+maxTbsForHSDSCH-TDD128-1 INTEGER ::= 3
+maxTF INTEGER ::= 32
+maxTF-CPCH INTEGER ::= 16
+maxTFC INTEGER ::= 1024
+maxTFCsub INTEGER ::= 1024
+maxTFCI-2-Combs INTEGER ::= 512
+maxTGPS INTEGER ::= 6
+maxTrCH INTEGER ::= 32
+maxTrCHConcat INTEGER ::= 3
+-- maxTrCHpreconf should be 16 but has been set to 32 for compatibility
+maxTrCHpreconf INTEGER ::= 32
+maxTS INTEGER ::= 14
+maxTS-1 INTEGER ::= 13
+maxTS-2 INTEGER ::= 12
+maxTS-LCR INTEGER ::= 6
+maxTS-LCR-1 INTEGER ::= 5
+maxURA INTEGER ::= 8
+maxURNTI-Group INTEGER ::= 8
+maxWLANID INTEGER ::= 16
+maxWLANs INTEGER ::= 64
+
+END
diff --git a/epan/dissectors/asn1/rrc/InformationElements.asn b/epan/dissectors/asn1/rrc/InformationElements.asn
new file mode 100644
index 00000000..67dccd7a
--- /dev/null
+++ b/epan/dissectors/asn1/rrc/InformationElements.asn
@@ -0,0 +1,25729 @@
+-- 3GPP TS 25.331 V17.1.0 (2022-06)
+--
+-- 11.3 Information element definitions
+--
+InformationElements DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ hiPDSCHidentities,
+ hiPUSCHidentities,
+ hiRM,
+ maxAC,
+ maxAdditionalMeas,
+ maxAddPos,
+ maxMultipleFrequencyBandsEUTRA,
+ maxMultipleFrequencyBandsFDD,
+ maxASC,
+ maxASCmap,
+ maxASCpersist,
+ maxBeacons,
+ maxBTs,
+ maxCCTrCH,
+ maxCellMeas,
+ maxCellMeas-1,
+ maxCellMeas-ext,
+ maxCellMeas-ext2,
+ maxCellMeas-ext-1,
+ maxCellMeasOnSecULFreq,
+ maxCellMeasOnSecULFreq-1,
+ maxCNdomains,
+ maxCommonHRNTI,
+ maxCommonQueueID,
+ maxCPCHsets,
+ maxDedicatedCSGFreq,
+ maxDPCH-DLchan,
+ maxDPDCH-UL,
+ maxDRACclasses,
+ maxE-DCHMACdFlow,
+ maxE-DCHMACdFlow-1,
+ maxEDCHs,
+ maxEDCHs-1,
+ maxEDCHTxPattern-TDD128,
+ maxEDCHTxPattern-TDD128-1,
+ maxERNTIgroup,
+ maxERNTIperGroup,
+ maxERUCCH,
+ maxEUTRACellPerFreq,
+ maxEUTRATargetFreqs,
+ maxExcludedDetectedSetCells,
+ maxFACHPCH,
+ maxFreq,
+ maxFreqBandsEUTRA,
+ maxFreqBandsEUTRA-ext,
+ maxFreqBandsFDD,
+ maxFreqBandsFDD2,
+ maxFreqBandsFDD3,
+ maxFreqBandsFDD-ext,
+ maxFreqBandsFDD-ext2,
+ maxFreqBandsFDD-ext3,
+ maxFreqBandsIndicatorSupport,
+ maxFreqBandsTDD,
+ maxFreqBandsTDD-ext,
+ maxFreqBandsGSM,
+ maxFreqMeasWithoutCM,
+ maxGANSS,
+ maxGANSS-1,
+ maxGANSSSat,
+ maxGANSSSat-1,
+ maxGERAN-SI,
+ maxHNBNameSize,
+ maxHProcesses,
+ maxHSDSCHTBIndex,
+ maxHSDSCHTBIndex-tdd384,
+ maxHSSCCHs,
+ maxHSSCCHs-1,
+ maxHSSICH-TDD128,
+ maxHSSICH-TDD128-1,
+ maxHS-SCCHLessTrBlk,
+ maxIGPInfo,
+ maxInterSysMessages,
+ maxLoCHperRLC,
+ maxLoggedMeasReport,
+ maxnumLoggedMeas,
+ maxMAC-d-PDUsizes,
+ maxMBMS-CommonCCTrCh,
+ maxMBMS-CommonPhyCh,
+ maxMBMS-CommonRB,
+ maxMBMS-CommonTrCh,
+ maxMBMS-Freq,
+ maxMBMS-L1CP,
+ maxMBMSservCount,
+ maxMBMSservModif,
+ maxMBMSservSched,
+ maxMBMSservSelect,
+ maxMBMSservUnmodif,
+ maxMBMSTransmis,
+ maxMBSFNClusters,
+ maxMeasCSGRange,
+ maxMeasEvent,
+ maxMeasEventOnSecULFreq,
+ maxMeasIdentity,
+ maxMeasIntervals,
+ maxMeasParEvent,
+ maxNonContiguousMultiCellCombinations,
+ maxMeasOccasionPattern,
+ maxMeasOccasionPattern-1,
+ maxNumAccessGroups,
+ maxNumAcdcCategory,
+ maxNumCDMA2000Freqs,
+ maxNumE-AGCH,
+ maxNumE-HICH,
+ maxNumEUTRAFreqs,
+ maxNumEUTRAFreqs-FACH,
+ maxNumEUTRAFreqs-FACH-ext,
+ maxNumFDDFreqs,
+ maxNumGSMCellGroup,
+ maxNumGSMFreqRanges,
+ maxGSMTargetCells,
+ maxNumMDTPLMN,
+ maxNumTDDFreqs,
+ maxNumANRLoggedItems,
+ maxOtherRAT,
+ maxOtherRAT-16,
+ maxPage1,
+ maxPCPCH-APsig,
+ maxPCPCH-APsubCh,
+ maxPCPCH-CDsig,
+ maxPCPCH-CDsubCh,
+ maxPCPCH-SF,
+ maxPCPCHs,
+ maxPDCPAlgoType,
+ maxPDSCH,
+ maxPDSCH-TFCIgroups,
+ maxPRACH,
+ maxPRACH-EUL,
+ maxPRACH-FPACH,
+ maxPredefConfig,
+ maxOtherStateConfig,
+ maxOtherStateConfig-1,
+ maxPrio,
+ maxPrio-1,
+ maxPrio-ext,
+ maxPUSCH,
+ maxQueueIDs,
+ maxRABsetup,
+ maxRAT,
+ maxRB,
+ maxRBallRABs,
+ maxRBperTrCh,
+ maxRBMuxOptions,
+ maxRBperRAB,
+ maxReportedEUTRAFreqs,
+ maxReportedEUTRAFreqs-ext,
+ maxReportedEUTRACellPerFreq,
+ maxReportedGSMCells,
+ maxRetrievConfig,
+ maxRetrievConfig-1,
+ maxRLCPDUsizePerLogChan,
+ maxRMPfrequencies,
+ maxSRBsetup,
+ maxRL,
+ maxRL-1,
+ maxEDCHRL,
+ maxEDCHRL-1,
+ maxROHC-PacketSizes-r4,
+ maxROHC-Profile-r4,
+ maxRxPatternForHSDSCH-TDD128,
+ maxRxPatternForHSDSCH-TDD128-1,
+ maxSat,
+ maxSatClockModels,
+ maxSCCPCH,
+ maxSgnType,
+ maxSIB,
+ maxSIB2,
+ maxSIB-FACH,
+ maxSIrequest,
+ maxSystemCapability,
+ maxTDD128Carrier,
+ maxTDD128Carrier-1,
+ maxTbsForHSDSCH-TDD128,
+ maxTbsForHSDSCH-TDD128-1,
+ maxTF,
+ maxTF-CPCH,
+ maxTFC,
+ maxTFCsub,
+ maxTFCI-2-Combs,
+ maxTGPS,
+ maxTrCH,
+ maxTrCHConcat,
+ maxTrCHpreconf,
+ maxTS,
+ maxTS-1,
+ maxTS-2,
+ maxTS-LCR,
+ maxTS-LCR-1,
+ maxURA,
+ maxURNTI-Group,
+ maxWLANs,
+ maxWLANID
+FROM Constant-definitions;
+
+-- ***************************************************
+--
+-- CORE NETWORK INFORMATION ELEMENTS (10.3.1)
+--
+-- ***************************************************
+
+Ansi-41-IDNNS ::= BIT STRING (SIZE (14))
+
+CN-DomainIdentity ::= ENUMERATED {
+ cs-domain,
+ ps-domain }
+
+CN-DomainInformation ::= SEQUENCE {
+ cn-DomainIdentity CN-DomainIdentity,
+ cn-DomainSpecificNAS-Info NAS-SystemInformationGSM-MAP
+}
+
+CN-DomainInformationFull ::= SEQUENCE {
+ cn-DomainIdentity CN-DomainIdentity,
+ cn-DomainSpecificNAS-Info NAS-SystemInformationGSM-MAP,
+ cn-DRX-CycleLengthCoeff CN-DRX-CycleLengthCoefficient
+}
+
+CN-DomainInformationList ::= SEQUENCE (SIZE (1..maxCNdomains)) OF
+ CN-DomainInformation
+
+CN-DomainInformationListFull ::= SEQUENCE (SIZE (1..maxCNdomains)) OF
+ CN-DomainInformationFull
+
+CN-DomainSysInfo ::= SEQUENCE {
+ cn-DomainIdentity CN-DomainIdentity,
+ cn-Type CHOICE {
+ gsm-MAP NAS-SystemInformationGSM-MAP,
+ ansi-41 NAS-SystemInformationANSI-41
+ },
+ cn-DRX-CycleLengthCoeff CN-DRX-CycleLengthCoefficient
+}
+
+CN-DomainSysInfoList ::= SEQUENCE (SIZE (1..maxCNdomains)) OF
+ CN-DomainSysInfo
+
+CN-InformationInfo ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL,
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP OPTIONAL,
+ cn-DomainInformationList CN-DomainInformationList OPTIONAL
+}
+
+CN-InformationInfo-r6 ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL,
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP OPTIONAL,
+ cn-DomainInformationList CN-DomainInformationList OPTIONAL,
+ primary-plmn-Identity PLMN-Identity OPTIONAL
+}
+
+CN-InformationInfoFull ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL,
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP OPTIONAL,
+ cn-DomainInformationListFull CN-DomainInformationListFull OPTIONAL
+}
+
+Digit ::= INTEGER (0..9)
+
+DomainSpecificEAB-Parameters ::= SEQUENCE {
+ cs-DomainSpecificEAB-Parameters EAB-Configuration OPTIONAL,
+ ps-DomainSpecificEAB-Parameters EAB-Configuration OPTIONAL,
+ commonEAB-Parameters EAB-Configuration OPTIONAL
+}
+
+EAB-AccessClassBarredList ::= SEQUENCE (SIZE (10)) OF
+ AccessClassBarred
+
+EAB-Configuration ::= SEQUENCE {
+ eab-Category ENUMERATED {a,b,c},
+ eab-AccessClassBarredList EAB-AccessClassBarredList
+}
+
+EAB-Parameters ::= CHOICE {
+ eab-ParametersPerPLMN-List EAB-ParametersPerPLMN-List,
+ eab-ParametersForAll DomainSpecificEAB-Parameters
+}
+
+EAB-ParametersPerPLMN ::= SEQUENCE {
+ domainSpecificEAB-Parameters DomainSpecificEAB-Parameters OPTIONAL
+}
+
+EAB-ParametersPerPLMN-List ::= SEQUENCE (SIZE (1..6)) OF EAB-ParametersPerPLMN
+
+Ec-N0forANR ::= SEQUENCE {
+ ec-N0 INTEGER (-24..0) OPTIONAL
+}
+
+Gsm-map-IDNNS ::= SEQUENCE {
+ routingbasis CHOICE {
+ localPTMSI SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ tMSIofsamePLMN SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ tMSIofdifferentPLMN SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ iMSIresponsetopaging SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ iMSIcauseUEinitiatedEvent SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ iMEI SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ spare2 SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ spare1 SEQUENCE {
+ routingparameter RoutingParameter
+ }
+ },
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy BOOLEAN
+}
+
+IMEI ::= SEQUENCE (SIZE (15)) OF
+ IMEI-Digit
+
+IMEI-Digit ::= INTEGER (0..15)
+
+IMSI-GSM-MAP ::= SEQUENCE (SIZE (6..21)) OF
+ Digit
+
+IntraDomainNasNodeSelector ::= SEQUENCE {
+ version CHOICE {
+ release99 SEQUENCE {
+ cn-Type CHOICE {
+ gsm-Map-IDNNS Gsm-map-IDNNS,
+ ansi-41-IDNNS Ansi-41-IDNNS
+ }
+ },
+ later SEQUENCE {
+ futurecoding BIT STRING (SIZE (15))
+ }
+ }
+}
+
+LAI ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ lac BIT STRING (SIZE (16))
+}
+
+LocationRegistrationAccessClassBarredList ::= SEQUENCE (SIZE (15)) OF
+ AccessClassBarred
+
+LocationRegistrationParameters ::= CHOICE {
+ noRestriction NULL,
+ restriction LocationRegistrationAccessClassBarredList
+}
+
+MCC ::= SEQUENCE (SIZE (3)) OF
+ Digit
+
+MNC ::= SEQUENCE (SIZE (2..3)) OF
+ Digit
+
+MultiplePLMN-List-r6 ::= SEQUENCE {
+ mibPLMN-Identity BOOLEAN,
+ multiplePLMNs SEQUENCE (SIZE (1..5)) OF
+ PLMN-IdentityWithOptionalMCC-r6
+}
+
+NAS-Message ::= OCTET STRING (SIZE (1..4095))
+
+NAS-Synchronisation-Indicator ::= BIT STRING(SIZE(4))
+
+NAS-SystemInformationGSM-MAP ::= OCTET STRING (SIZE (1..8))
+
+P-TMSI-GSM-MAP ::= BIT STRING (SIZE (32))
+
+PagingPermissionWithAccessControlForSharedNetwork ::= CHOICE {
+ pagingPermissionWithAccessControlList PagingPermissionWithAccessControlList,
+ pagingPermissionWithAccessControlForAll PagingPermissionWithAccessControlParameters
+}
+
+PagingPermissionWithAccessControlList ::= SEQUENCE {
+ pagingPermissionWithAccessControlParametersForOperator1
+ PagingPermissionWithAccessControlParameters OPTIONAL,
+ pagingPermissionWithAccessControlParametersForOperator2
+ PagingPermissionWithAccessControlParameters OPTIONAL,
+ pagingPermissionWithAccessControlParametersForOperator3
+ PagingPermissionWithAccessControlParameters OPTIONAL,
+ pagingPermissionWithAccessControlParametersForOperator4
+ PagingPermissionWithAccessControlParameters OPTIONAL,
+ pagingPermissionWithAccessControlParametersForOperator5
+ PagingPermissionWithAccessControlParameters OPTIONAL
+}
+
+PagingPermissionWithAccessControlParameters ::= SEQUENCE {
+ pagingResponseRestrictionIndicator ENUMERATED {all, cS, pS, none},
+ locationRegistrationRestrictionIndicator ENUMERATED {all, cS, pS},
+ locationRegistration LocationRegistrationParameters
+}
+
+PagingRecordTypeID ::= ENUMERATED {
+ imsi-GSM-MAP,
+ tmsi-GSM-MAP-P-TMSI,
+ imsi-DS-41,
+ tmsi-DS-41 }
+
+PLMN-Identity ::= SEQUENCE {
+ mcc MCC,
+ mnc MNC
+}
+
+PLMN-IdentityWithOptionalMCC-r6 ::= SEQUENCE {
+ mcc MCC OPTIONAL,
+ mnc MNC
+}
+
+PLMN-Type ::= CHOICE {
+ gsm-MAP SEQUENCE {
+ plmn-Identity PLMN-Identity
+ },
+ ansi-41 SEQUENCE {
+ p-REV P-REV,
+ min-P-REV Min-P-REV,
+ sid SID,
+ nid NID
+ },
+ gsm-MAP-and-ANSI-41 SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ p-REV P-REV,
+ min-P-REV Min-P-REV,
+ sid SID,
+ nid NID
+ },
+ spare NULL
+}
+
+RAB-Identity ::= CHOICE {
+ gsm-MAP-RAB-Identity BIT STRING (SIZE (8)),
+ ansi-41-RAB-Identity BIT STRING (SIZE (8))
+}
+
+RAI ::= SEQUENCE {
+ lai LAI,
+ rac RoutingAreaCode
+}
+
+RoutingAreaCode ::= BIT STRING (SIZE (8))
+
+RoutingParameter ::= BIT STRING (SIZE (10))
+
+TMSI-GSM-MAP ::= BIT STRING (SIZE (32))
+
+-- ***************************************************
+--
+-- UTRAN MOBILITY INFORMATION ELEMENTS (10.3.2)
+--
+-- ***************************************************
+
+AccessClassBarred ::= ENUMERATED {
+ barred, notBarred }
+
+AccessClassBarredList ::= SEQUENCE (SIZE (maxAC)) OF
+ AccessClassBarred
+
+AllowedIndicator ::= ENUMERATED {
+ allowed, notAllowed }
+
+CellAccessRestriction ::= SEQUENCE {
+ cellBarred CellBarred,
+ cellReservedForOperatorUse ReservedIndicator,
+ cellReservationExtension ReservedIndicator,
+ -- NOTE: IE accessClassBarredList should not be included if the IE CellAccessRestriction
+ -- is included in the IE SysInfoType4
+ accessClassBarredList AccessClassBarredList OPTIONAL
+}
+
+CellAccessRestriction-v870ext ::= SEQUENCE {
+ cellReservedForCSG ENUMERATED { true } OPTIONAL
+}
+
+CellBarred ::= CHOICE {
+ barred SEQUENCE {
+ intraFreqCellReselectionInd AllowedIndicator,
+ t-Barred T-Barred
+ },
+ notBarred NULL
+}
+
+CellIdentity ::= BIT STRING (SIZE (28))
+
+CellIdentity-PerRL-List ::= SEQUENCE (SIZE (1..maxRL)) OF CellIdentity
+
+CellIDListItem ::= SEQUENCE {
+ cell-Identity CellIdentity,
+ plmn-Identity PLMN-Identity OPTIONAL
+}
+
+CellSelectReselectInfoSIB-3-4 ::= SEQUENCE {
+ mappingInfo MappingInfo OPTIONAL,
+ cellSelectQualityMeasure CHOICE {
+ cpich-Ec-N0 SEQUENCE {
+ -- Default value for q-HYST-2-S is q-HYST-1-S
+ q-HYST-2-S Q-Hyst-S OPTIONAL
+ },
+ cpich-RSCP NULL
+ },
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ s-Intrasearch S-SearchQual OPTIONAL,
+ s-Intersearch S-SearchQual OPTIONAL,
+ s-SearchHCS S-SearchRXLEV OPTIONAL,
+ rat-List RAT-FDD-InfoList OPTIONAL,
+ q-QualMin Q-QualMin,
+ q-RxlevMin Q-RxlevMin
+ },
+ tdd SEQUENCE {
+ s-Intrasearch S-SearchRXLEV OPTIONAL,
+ s-Intersearch S-SearchRXLEV OPTIONAL,
+ s-SearchHCS S-SearchRXLEV OPTIONAL,
+ rat-List RAT-TDD-InfoList OPTIONAL,
+ q-RxlevMin Q-RxlevMin
+ }
+ },
+ q-Hyst-l-S Q-Hyst-S,
+ t-Reselection-S T-Reselection-S,
+ hcs-ServingCellInformation HCS-ServingCellInformation OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+CSG-DedicatedFrequencyInfoList ::= SEQUENCE (SIZE (1..maxDedicatedCSGFreq)) OF
+ FrequencyInfo
+
+CSG-Identity ::= BIT STRING (SIZE (27))
+
+CSG-PSCSplitInfo ::= SEQUENCE {
+ -- Actual value = IE value * 8
+ startPSC INTEGER (0..63),
+ numberOfPSCs ENUMERATED { psc5, psc10, psc15, psc20,
+ psc30, psc40, psc50, psc64, psc80,
+ psc120, psc160, psc256, alltheRest,
+ spare3, spare2, spare1 },
+ -- Actual value = IE value * 8
+ pscRange2Offset INTEGER (1..63) OPTIONAL
+}
+
+DedicatedWLANOffloadInformation ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ t-330 T-330 OPTIONAL,
+ wlanOffloadInformation WLANOffloadInformation
+ }
+ }
+}
+
+DomainSpecificAccessRestrictionForSharedNetwork-v670ext ::= CHOICE {
+ domainSpecificAccessRestictionList DomainSpecificAccessRestrictionList-v670ext,
+ domainSpecificAccessRestictionParametersForAll
+ DomainSpecificAccessRestrictionParam-v670ext
+}
+
+DomainSpecificAccessRestrictionList-v670ext ::= SEQUENCE {
+ domainSpecificAccessRestrictionParametersForOperator1
+ DomainSpecificAccessRestrictionParam-v670ext OPTIONAL,
+ domainSpecificAccessRestrictionParametersForOperator2
+ DomainSpecificAccessRestrictionParam-v670ext OPTIONAL,
+ domainSpecificAccessRestrictionParametersForOperator3
+ DomainSpecificAccessRestrictionParam-v670ext OPTIONAL,
+ domainSpecificAccessRestrictionParametersForOperator4
+ DomainSpecificAccessRestrictionParam-v670ext OPTIONAL,
+ domainSpecificAccessRestrictionParametersForOperator5
+ DomainSpecificAccessRestrictionParam-v670ext OPTIONAL
+}
+
+DomainSpecificAccessRestrictionParam-v670ext ::= SEQUENCE {
+ cSDomainSpecificAccessRestriction DomainSpecificAccessRestriction-v670ext,
+ pSDomainSpecificAccessRestriction DomainSpecificAccessRestriction-v670ext
+}
+
+DomainSpecificAccessRestriction-v670ext ::= CHOICE {
+ noRestriction NULL,
+ restriction SEQUENCE {
+ domainSpecficAccessClassBarredList AccessClassBarredList OPTIONAL
+ }
+}
+
+MapParameter ::= INTEGER (0..127)
+
+Mapping ::= SEQUENCE {
+ rat RAT,
+ mappingFunctionParameterList MappingFunctionParameterList
+}
+
+Mapping-LCR-r4 ::= SEQUENCE {
+ mappingFunctionParameterList MappingFunctionParameterList
+}
+
+MappingFunctionParameter ::= SEQUENCE {
+ functionType MappingFunctionType,
+ mapParameter1 MapParameter OPTIONAL,
+ mapParameter2 MapParameter,
+ -- The presence of upperLimit is conditional on the number of repetition
+ upperLimit UpperLimit OPTIONAL
+}
+
+MappingFunctionParameterList ::= SEQUENCE (SIZE (1..maxMeasIntervals)) OF
+ MappingFunctionParameter
+
+MappingFunctionType ::= ENUMERATED {
+ linear,
+ functionType2,
+ functionType3,
+ functionType4 }
+
+-- In MappingInfo list, mapping for FDD and 3.84Mcps TDD is defined.
+-- For 1.28Mcps TDD, Mapping-LCR-r4 is used instead.
+MappingInfo ::= SEQUENCE (SIZE (1..maxRAT)) OF
+ Mapping
+
+OccurrenceSequenceNumberOfPICH ::= INTEGER (1..maxSCCPCH)
+
+DedicatedPriorityInformation ::= SEQUENCE {
+ action CHOICE {
+ clearDedicatedPriorities NULL,
+ configureDedicatedPriorities SEQUENCE {
+ t-322 T-322 OPTIONAL,
+ priorityLevelList PriorityLevelList OPTIONAL,
+ eutraDetection BOOLEAN
+ }
+ }
+}
+
+DedicatedPriorityInformation-r11 ::= SEQUENCE {
+ action CHOICE {
+ clearDedicatedPriorities NULL,
+ configureDedicatedPriorities SEQUENCE {
+ t-322 T-322 OPTIONAL,
+ priorityLevelList PriorityLevelList-r11 OPTIONAL,
+ eutraDetection BOOLEAN
+ }
+ }
+}
+
+DedicatedPriorityInformation-r13 ::= SEQUENCE {
+ action CHOICE {
+ clearDedicatedPriorities NULL,
+ configureDedicatedPriorities SEQUENCE {
+ t-322 T-322 OPTIONAL,
+ priorityLevelList PriorityLevelList-r13 OPTIONAL,
+ eutraDetection BOOLEAN
+ }
+ }
+}
+
+PriorityLevel ::= SEQUENCE {
+ priority INTEGER (0..maxPrio-1) OPTIONAL,
+ radioAccessTechnology CHOICE {
+ utraFDD SEQUENCE (SIZE (1..maxNumFDDFreqs)) OF SEQUENCE{
+ uarfcn UARFCN
+ },
+ utraTDD SEQUENCE (SIZE (1..maxNumTDDFreqs)) OF SEQUENCE{
+ uarfcn UARFCN
+ },
+ eutra SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF SEQUENCE{
+ earfcn EARFCN
+ },
+ gsm SEQUENCE {
+ gsm-CellGroup GSM-CellGroup
+ }
+ }
+}
+
+PriorityLevel-r11 ::= SEQUENCE {
+ priority INTEGER (0..maxPrio-1) OPTIONAL,
+ radioAccessTechnology CHOICE {
+ utraFDD SEQUENCE (SIZE (1..maxNumFDDFreqs)) OF SEQUENCE{
+ uarfcn UARFCN
+ },
+ utraTDD SEQUENCE (SIZE (1..maxNumTDDFreqs)) OF SEQUENCE{
+ uarfcn UARFCN
+ },
+ eutra SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EARFCNRange,
+ gsm SEQUENCE {
+ gsm-CellGroup GSM-CellGroup
+ }
+ }
+}
+
+PriorityLevel-r13 ::= SEQUENCE {
+ priority INTEGER (0..maxPrio-1) OPTIONAL,
+ subpriority ENUMERATED {oDot2,oDot4,oDot6,oDot8} OPTIONAL, radioAccessTechnology CHOICE {
+ utraFDD SEQUENCE (SIZE (1..maxNumFDDFreqs)) OF SEQUENCE{
+ uarfcn UARFCN
+ },
+ utraTDD SEQUENCE (SIZE (1..maxNumTDDFreqs)) OF SEQUENCE{
+ uarfcn UARFCN
+ },
+ eutra SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EARFCNRange,
+ gsm SEQUENCE {
+ gsm-CellGroup GSM-CellGroup
+ }
+ }
+}
+
+PriorityLevelList ::= SEQUENCE (SIZE (1..maxPrio)) OF
+ PriorityLevel
+
+PriorityLevelList-r11 ::= SEQUENCE (SIZE (1..maxPrio)) OF
+ PriorityLevel-r11
+
+PriorityLevelList-r13 ::= SEQUENCE (SIZE (1..maxPrio-ext)) OF
+ PriorityLevel-r13
+
+
+-- Actual value Q-Hyst-S = IE value * 2
+Q-Hyst-S ::= INTEGER (0..20)
+
+Q-Hyst-S-Fine ::= INTEGER (0..40)
+
+RAT ::= ENUMERATED {
+ utra-FDD,
+ utra-TDD,
+ gsm,
+ cdma2000 }
+
+RAT-FDD-Info ::= SEQUENCE {
+ rat-Identifier RAT-Identifier,
+ s-SearchRAT S-SearchQual,
+ s-HCS-RAT S-SearchRXLEV OPTIONAL,
+ s-Limit-SearchRAT S-SearchQual
+}
+
+RAT-FDD-InfoList ::= SEQUENCE (SIZE (1..maxOtherRAT)) OF
+ RAT-FDD-Info
+
+RAT-Identifier ::= ENUMERATED {
+ gsm, cdma2000 }
+
+RAT-TDD-Info ::= SEQUENCE {
+ rat-Identifier RAT-Identifier,
+ s-SearchRAT S-SearchRXLEV,
+ s-HCS-RAT S-SearchRXLEV OPTIONAL,
+ s-Limit-SearchRAT S-SearchRXLEV
+}
+
+RAT-TDD-InfoList ::= SEQUENCE (SIZE (1..maxOtherRAT)) OF
+ RAT-TDD-Info
+
+ReservedIndicator ::= ENUMERATED {
+ reserved,
+ notReserved }
+
+-- Actual value S-SearchQual = IE value * 2
+S-SearchQual ::= INTEGER (-16..10)
+
+-- Actual value S-SearchRXLEV = (IE value * 2) + 1
+S-SearchRXLEV ::= INTEGER (-53..45)
+
+-- Actual value ScalingFactor = IE value * 0.1
+SpeedDependentScalingFactor ::= INTEGER (0..10)
+
+T-Barred ::= ENUMERATED {
+ s10, s20, s40, s80,
+ s160, s320, s640, s1280 }
+
+T-Reselection-S ::= INTEGER (0..31)
+
+-- Actual value T-Reselection-S-Fine = IE value * 0.2
+T-Reselection-S-Fine ::= INTEGER (0..31)
+
+-- Actual value ScalingFactor = IE value * 0.25
+TreselectionScalingFactor ::= INTEGER (4..19)
+
+-- Actual value ScalingFactor2 = IE value * 0.25
+TreselectionScalingFactor2 ::= INTEGER (1..16)
+
+-- For UpperLimit, the used range depends on the RAT used.
+UpperLimit ::= INTEGER (1..91)
+
+URA-Identity ::= BIT STRING (SIZE (16))
+
+URA-IdentityList ::= SEQUENCE (SIZE (1..maxURA)) OF
+ URA-Identity
+
+-- ***************************************************
+--
+-- USER EQUIPMENT INFORMATION ELEMENTS (10.3.3)
+--
+-- ***************************************************
+
+AccessGroupIdentity ::= INTEGER (0..15)
+
+AccessStratumReleaseIndicator ::= ENUMERATED {
+ rel-4, rel-5, rel-6, rel-7, rel-8,
+ rel-9, rel-10, rel-11, rel-12,
+ rel-13, rel-14, rel-15, rel-16, spare3,
+ spare2, spare1 }
+
+-- TABULAR : for ActivationTime, value 'now' always appear as default, and is encoded
+-- by absence of the field
+ActivationTime ::= INTEGER (0..255)
+
+BackoffControlParams ::= SEQUENCE {
+ n-AP-RetransMax N-AP-RetransMax,
+ n-AccessFails N-AccessFails,
+ nf-BO-NoAICH NF-BO-NoAICH,
+ ns-BO-Busy NS-BO-Busy,
+ nf-BO-AllBusy NF-BO-AllBusy,
+ nf-BO-Mismatch NF-BO-Mismatch,
+ t-CPCH T-CPCH
+}
+
+BandComb ::= INTEGER (1..256)
+
+C-RNTI ::= BIT STRING (SIZE (16))
+
+CapabilityUpdateRequirement ::= SEQUENCE {
+ ue-RadioCapabilityFDDUpdateRequirement BOOLEAN,
+ -- ue-RadioCapabilityTDDUpdateRequirement is for 3.84Mcps TDD update requirement
+ ue-RadioCapabilityTDDUpdateRequirement BOOLEAN,
+ systemSpecificCapUpdateReqList SystemSpecificCapUpdateReqList OPTIONAL
+}
+
+CapabilityUpdateRequirement-r4-ext ::= SEQUENCE {
+ ue-RadioCapabilityUpdateRequirement-TDD128 BOOLEAN
+}
+
+CapabilityUpdateRequirement-r4 ::= SEQUENCE {
+ ue-RadioCapabilityFDDUpdateRequirement-FDD BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD384 BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD128 BOOLEAN,
+ systemSpecificCapUpdateReqList SystemSpecificCapUpdateReqList OPTIONAL
+}
+
+CapabilityUpdateRequirement-r5 ::= SEQUENCE {
+ ue-RadioCapabilityFDDUpdateRequirement-FDD BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD384 BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD128 BOOLEAN,
+ systemSpecificCapUpdateReqList SystemSpecificCapUpdateReqList-r5 OPTIONAL
+}
+
+CapabilityUpdateRequirement-v770ext ::= SEQUENCE {
+ ue-RadioCapabilityTDDUpdateRequirement-TDD768 BOOLEAN
+}
+
+CapabilityUpdateRequirement-r7 ::= SEQUENCE {
+ ue-RadioCapabilityFDDUpdateRequirement-FDD BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD384 BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD768 BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD128 BOOLEAN,
+ systemSpecificCapUpdateReqList SystemSpecificCapUpdateReqList-r5 OPTIONAL
+}
+
+CapabilityUpdateRequirement-v860ext ::= SEQUENCE {
+ -- If both IEs are present, the elements in the IE SystemSpecificCapUpdateReqList-r8
+ -- shall be appended to the elements in the IE SystemSpecificCapUpdateReqList
+ systemSpecificCapUpdateReqList SystemSpecificCapUpdateReqList-r8 OPTIONAL
+}
+
+CapabilityUpdateRequirement-r8 ::= SEQUENCE {
+ ue-RadioCapabilityFDDUpdateRequirement-FDD BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD384 BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD768 BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD128 BOOLEAN,
+ systemSpecificCapUpdateReqList SystemSpecificCapUpdateReqList-r8 OPTIONAL
+}
+
+CapabilityUpdateRequirement-vaj0ext ::= SEQUENCE {
+ eUTRAbandSpecificCapUpdateReqList EUTRAbandSpecificCapUpdateReqList
+}
+
+CapabilityUpdateRequirement-r12 ::= SEQUENCE {
+ ue-RadioCapabilityFDDUpdateRequirement-FDD BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD384 BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD768 BOOLEAN,
+ ue-RadioCapabilityTDDUpdateRequirement-TDD128 BOOLEAN,
+ systemSpecificCapUpdateReqList SystemSpecificCapUpdateReqList-r8 OPTIONAL,
+ eUTRAbandSpecificCapUpdateReqList EUTRAbandSpecificCapUpdateReqList OPTIONAL
+}
+
+
+-- If the IE CellUpdateCause has the value 'cellUpdateCause-ext', the actual value is
+-- defined in the IE CellUpdateCause-ext.
+CellUpdateCause ::= ENUMERATED {
+ cellReselection,
+ periodicalCellUpdate,
+ uplinkDataTransmission,
+ utran-pagingResponse,
+ re-enteredServiceArea,
+ radiolinkFailure,
+ rlc-unrecoverableError,
+ cellUpdateCause-ext }
+
+-- The IE CellUpdateCause-ext shall be present, if the IE CellUpdateCause has the
+-- value 'cellUpdateCause-ext'.
+-- dummy is not used in this version of the specification, it should not be sent
+-- and if received it should be ignored by the receiver.
+CellUpdateCause-ext ::= ENUMERATED {
+ mbms-Reception,
+ mbms-PTP-RB-Request,
+ dummy,
+ cellUpdateCause-ext2 }
+
+-- The IE CellUpdateCause-ext2 shall be present, if the IE CellUpdateCause-ext has the
+-- value 'cellUpdateCause-ext2'.
+
+CellUpdateCause-ext2 ::= ENUMERATED {
+ applicationLayerMeasurementReportAvailable,
+ spare3,
+ spare2,
+ spare1 }
+
+ChipRateCapability ::= ENUMERATED {
+ mcps3-84, mcps1-28 }
+
+CipheringAlgorithm ::= ENUMERATED {
+ uea0, uea1 }
+
+CipheringAlgorithm-r7 ::= ENUMERATED {
+ uea0, uea1, uea2 }
+
+CipheringModeCommand ::= CHOICE {
+ startRestart CipheringAlgorithm,
+ dummy NULL
+}
+
+CipheringModeCommand-r7 ::= SEQUENCE {
+ startRestart CipheringAlgorithm-r7
+}
+
+CipheringModeInfo ::= SEQUENCE {
+ -- TABULAR: The ciphering algorithm is included in the CipheringModeCommand.
+ cipheringModeCommand CipheringModeCommand,
+ activationTimeForDPCH ActivationTime OPTIONAL,
+ rb-DL-CiphActivationTimeInfo RB-ActivationTimeInfoList OPTIONAL
+}
+
+CipheringModeInfo-r7 ::= SEQUENCE {
+ -- TABULAR: The ciphering algorithm is included in the CipheringModeCommand.
+ cipheringModeCommand CipheringModeCommand-r7,
+ activationTimeForDPCH ActivationTime OPTIONAL,
+ rb-DL-CiphActivationTimeInfo RB-ActivationTimeInfoList OPTIONAL
+}
+
+CN-DRX-CycleLengthCoefficient ::= INTEGER (6..9)
+
+CN-PagedUE-Identity ::= CHOICE {
+ imsi-GSM-MAP IMSI-GSM-MAP,
+ tmsi-GSM-MAP TMSI-GSM-MAP,
+ p-TMSI-GSM-MAP P-TMSI-GSM-MAP,
+ imsi-DS-41 IMSI-DS-41,
+ tmsi-DS-41 TMSI-DS-41,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+CompressedModeMeasCapability ::= SEQUENCE {
+ fdd-Measurements BOOLEAN,
+ -- TABULAR: The IEs tdd-Measurements, gsm-Measurements and multiCarrierMeasurements
+ -- are made optional since they are conditional based on another information element.
+ -- Their absence corresponds to the case where the condition is not true.
+ -- The IE 'tdd-Measurements' applies to either or both TDD 3.84 Mcps and TDD 7.68 Mcps,
+ -- depending on the RF capability conditions.
+ tdd-Measurements BOOLEAN OPTIONAL,
+ gsm-Measurements GSM-Measurements OPTIONAL,
+ multiCarrierMeasurements BOOLEAN OPTIONAL
+}
+
+CompressedModeMeasCapability-LCR-r4 ::= SEQUENCE {
+ tdd128-Measurements BOOLEAN OPTIONAL
+}
+
+CompressedModeMeasCapability-v860ext ::= SEQUENCE {
+ adjacentFrequencyMeasurements ENUMERATED { true } OPTIONAL
+}
+
+CompressedModeMeasCapability-v920ext ::= SEQUENCE {
+ interBandMeasurements ENUMERATED { true } OPTIONAL
+}
+
+CompressedModeMeasCapability-va40ext ::= SEQUENCE {
+ enhancedInterFrequencyMeasurements ENUMERATED { true } OPTIONAL,
+ freqSpecificCompressedMode ENUMERATED { true } OPTIONAL
+}
+
+CompressedModeMeasCapabEUTRA ::= SEQUENCE {
+ radioFrequencyBandEUTRA RadioFrequencyBandEUTRA,
+ compressedMode BOOLEAN
+}
+
+CompressedModeMeasCapabEUTRAExt ::=SEQUENCE {
+ radioFrequencyBandEUTRA RadioFrequencyBandEUTRAExt
+}
+
+CompressedModeMeasCapabEUTRAExt2 ::=SEQUENCE {
+ radioFrequencyBandEUTRA RadioFrequencyBandEUTRAExt2,
+ compressedMode BOOLEAN
+}
+
+CompressedModeMeasCapabEUTRAList ::= SEQUENCE (SIZE (1..maxFreqBandsEUTRA)) OF
+ CompressedModeMeasCapabEUTRA
+
+CompressedModeMeasCapabEUTRAList2 ::= SEQUENCE (SIZE (1..maxFreqBandsEUTRA)) OF
+ CompressedModeMeasCapabEUTRAExt
+
+CompressedModeMeasCapabEUTRAList3 ::= SEQUENCE (SIZE (1..maxFreqBandsEUTRA-ext)) OF
+ CompressedModeMeasCapabEUTRAExt2
+
+CompressedModeMeasCapabFDDList ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ CompressedModeMeasCapabFDD
+
+CompressedModeMeasCapabFDDList2 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ CompressedModeMeasCapabFDD2
+
+CompressedModeMeasCapabFDDList3 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD-ext2)) OF
+ CompressedModeMeasCapabFDD3
+
+CompressedModeMeasCapabFDDList-ext ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ CompressedModeMeasCapabFDD-ext
+
+CompressedModeMeasCapabFDD ::= SEQUENCE {
+ radioFrequencyBandFDD RadioFrequencyBandFDD OPTIONAL,
+ dl-MeasurementsFDD BOOLEAN,
+ ul-MeasurementsFDD BOOLEAN
+}
+
+CompressedModeMeasCapabFDD2 ::= SEQUENCE {
+ -- UE may omit both IEs if this IE indicates the compressed mode capability within the same
+ -- frequency band. Otherwise, the UE shall include either one of the following OPTIONAL IEs.
+ radioFrequencyBandFDD RadioFrequencyBandFDD OPTIONAL,
+ radioFrequencyBandFDD2 RadioFrequencyBandFDD2 OPTIONAL,
+ dl-MeasurementsFDD BOOLEAN,
+ ul-MeasurementsFDD BOOLEAN
+}
+
+CompressedModeMeasCapabFDD3 ::= SEQUENCE {
+ -- UE may omit radioFrequencyBandFDD3 if this IE indicates the compressed mode capability within
+ -- the same frequency band. Otherwise, the UE shall include the IE.
+ radioFrequencyBandFDD3 RadioFrequencyBandFDD3 OPTIONAL,
+ dl-MeasurementsFDD BOOLEAN,
+ ul-MeasurementsFDD BOOLEAN
+}
+
+CompressedModeMeasCapabFDD-ext ::= SEQUENCE {
+ radioFrequencyBandFDD2 RadioFrequencyBandFDD2,
+ dl-MeasurementsFDD BOOLEAN,
+ ul-MeasurementsFDD BOOLEAN
+}
+
+CompressedModeMeasCapabTDDList ::= SEQUENCE (SIZE (1..maxFreqBandsTDD)) OF
+ CompressedModeMeasCapabTDD
+
+CompressedModeMeasCapabTDD ::= SEQUENCE {
+ radioFrequencyBandTDD RadioFrequencyBandTDD,
+ dl-MeasurementsTDD BOOLEAN,
+ ul-MeasurementsTDD BOOLEAN
+}
+
+CompressedModeMeasCapabGSMList ::= SEQUENCE (SIZE (1..maxFreqBandsGSM)) OF
+ CompressedModeMeasCapabGSM
+
+CompressedModeMeasCapabGSM ::= SEQUENCE {
+ radioFrequencyBandGSM RadioFrequencyBandGSM,
+ dl-MeasurementsGSM BOOLEAN,
+ ul-MeasurementsGSM BOOLEAN
+}
+
+CompressedModeMeasCapabMC ::= SEQUENCE {
+ dl-MeasurementsMC BOOLEAN,
+ ul-MeasurementsMC BOOLEAN
+}
+
+CPCH-Parameters ::= SEQUENCE {
+ initialPriorityDelayList InitialPriorityDelayList OPTIONAL,
+ backoffControlParams BackoffControlParams,
+ -- TABULAR: TPC step size nested inside PowerControlAlgorithm
+ powerControlAlgorithm PowerControlAlgorithm,
+ dl-DPCCH-BER DL-DPCCH-BER
+}
+
+CSG-ProximityIndicationCapability ::= SEQUENCE {
+ supportOfIntraFreqProximityIndication ENUMERATED { true } OPTIONAL,
+ supportOfInterFreqProximityIndication ENUMERATED { true } OPTIONAL,
+ supportOfE-UtraProximityIndication ENUMERATED { true } OPTIONAL
+}
+
+DL-CapabilityWithSimultaneousHS-DSCHConfig ::= ENUMERATED{kbps32, kbps64, kbps128, kbps384}
+
+DL-DPCCH-BER ::= INTEGER (0..63)
+
+DL-InformationPerSecondaryRL-List ::= SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ DL-InformationPerSecondaryRL
+
+DL-InformationPerSecondaryRL-List-r12 ::= SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ DL-InformationPerSecondaryRL-r12
+
+DL-InformationPerSecondaryRL-List-r13 ::= SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ DL-InformationPerSecondaryRL-r13
+
+DL-InformationPerSecondaryRL ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-id CellIdentity OPTIONAL,
+ dl-FDPCHInfoPerRL-SecULFreq DL-FDPCH-InfoPerRL-r7,
+ e-AGCH-Information E-AGCH-Information OPTIONAL,
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+}
+
+DL-InformationPerSecondaryRL-r12 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-id CellIdentity OPTIONAL,
+ dl-FDPCHInfoPerRL-SecULFreq DL-FDPCH-InfoPerRL-r7,
+ e-AGCH-Information E-AGCH-Information OPTIONAL,
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ secondary-Serving-E-DCHRL-Indicator ENUMERATED { true } OPTIONAL,
+ radioLinkswithoutDPCHFDPCHIndicator NULL OPTIONAL
+}
+
+DL-InformationPerSecondaryRL-r13 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-id CellIdentity OPTIONAL,
+ dl-FDPCHInfoPerRL-SecULFreq DL-FDPCH-InfoPerRL-r13,
+ e-AGCH-Information E-AGCH-Information OPTIONAL,
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ secondary-Serving-E-DCHRL-Indicator ENUMERATED { true } OPTIONAL,
+ radioLinkswithoutDPCHFDPCHIndicator NULL OPTIONAL
+}
+
+DL-PhysChCapabilityFDD ::= SEQUENCE {
+ -- The IE "maxNoDPCH-PDSCH-Codes" only gives information on the maximum number of DPCH Codes.
+ maxNoDPCH-PDSCH-Codes INTEGER (1..8),
+ maxNoPhysChBitsReceived MaxNoPhysChBitsReceived,
+ supportForSF-512 BOOLEAN,
+ -- dummy and dummy2 are not used in this version of the specification
+ -- and if received they should be ignored.
+ dummy BOOLEAN,
+ dummy2 SimultaneousSCCPCH-DPCH-Reception
+}
+
+DL-PhysChCapabilityFDD-v380ext ::= SEQUENCE {
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SupportOfDedicatedPilotsForChEstimation OPTIONAL
+}
+
+SupportOfDedicatedPilotsForChEstimation ::= ENUMERATED { true }
+
+DL-PhysChCapabilityFDD-v770ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext HSDSCH-physical-layer-category-ext OPTIONAL,
+ hsscchlessHsdschOperation ENUMERATED { true } OPTIONAL,
+ enhancedFdpch ENUMERATED { true } OPTIONAL,
+ hsdschReception-CellFach ENUMERATED { true } OPTIONAL,
+ hsdschReception-CellUraPch ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-v860ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext2 HSDSCH-physical-layer-category-ext2 OPTIONAL,
+ supportOfTargetCellPreConfig ENUMERATED { true } OPTIONAL,
+ supportOfHsdschDrxOperation ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-v920ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext3 HSDSCH-physical-layer-category-ext3 OPTIONAL,
+ supportOfMimoOnlySingleStream ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-va40ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext4 HSDSCH-physical-layer-category-ext4 OPTIONAL,
+ hsdsch-physical-layer-category-ext5 HSDSCH-physical-layer-category-ext5 OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-vb50ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext6 HSDSCH-physical-layer-category-ext6 OPTIONAL,
+ hsdsch-physical-layer-category-ext7 HSDSCH-physical-layer-category-ext7 OPTIONAL,
+ hsdsch-physical-layer-category-ext8 HSDSCH-physical-layer-category-ext8 OPTIONAL,
+ supportOf4x4MimoDualStreamRestriction ENUMERATED { true } OPTIONAL,
+ supportOfHS-DSCHSecondDRXOperation ENUMERATED { true } OPTIONAL,
+ supportOfNodeBTrigHS-DPCCHTransmission ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-vb80ext ::= SEQUENCE {
+ non-ContiguousMulti-CellWithMIMO ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-vc50ext ::= SEQUENCE {
+ supportforDCHEnhancements ENUMERATED { basic, full } OPTIONAL,
+ simultaneousSupportforDCHEnhancementsAndCM ENUMERATED { true } OPTIONAL,
+ simultaneousSupportforDCHEnhancementsAndDPCCHDiscntTx ENUMERATED { true } OPTIONAL,
+ drx-enhancements ENUMERATED { true } OPTIONAL,
+ hs-dpcchOverheadReduction ENUMERATED { true } OPTIONAL,
+ supportofEnhancedServingCellChangeForEvent1C ENUMERATED { true } OPTIONAL,
+ supportofDPCCH2 ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-vd20ext ::= SEQUENCE {
+ supportofPowerControlAlgorithm3 ENUMERATED { true } OPTIONAL,
+ supportofBlindHarqRetransmissionsforHsdpa ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-ve30ext ::= SEQUENCE {
+ supportofHS-SCCHDrxOperation ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-vf10ext ::= SEQUENCE {
+ supportofSimplifiedHS-SCCHType1Operation ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityTDD ::= SEQUENCE {
+ maxTS-PerFrame MaxTS-PerFrame,
+ maxPhysChPerFrame MaxPhysChPerFrame,
+ minimumSF MinimumSF-DL,
+ supportOfPDSCH BOOLEAN,
+ maxPhysChPerTS MaxPhysChPerTS
+}
+
+DL-PhysChCapabilityTDD-LCR-r4 ::= SEQUENCE {
+ maxTS-PerSubFrame MaxTS-PerSubFrame-r4,
+ maxPhysChPerFrame MaxPhysChPerSubFrame-r4,
+ minimumSF MinimumSF-DL,
+ supportOfPDSCH BOOLEAN,
+ maxPhysChPerTS MaxPhysChPerTS,
+ supportOf8PSK BOOLEAN
+}
+
+DL-PhysChCapabilityTDD-128-v770ext ::= SEQUENCE {
+ multiCarrier-physical-layer-category MultiCarrier-HSDSCH-physical-layer-category OPTIONAL
+}
+
+DL-PhysChCapabilityTDD-128-v860ext ::= SEQUENCE {
+ hSDSCH-physical-layer-category-extension
+ HSDSCH-physical-layer-category-extension OPTIONAL,
+ multiCarrier-physical-layer-category-extension
+ MultiCarrier-HSDSCH-physical-layer-category-extension OPTIONAL,
+ supportOfSFModeForHSPDSCHDualStream ENUMERATED { sf1, sf1sf16 } OPTIONAL
+}
+
+DL-PhysChCapabilityInfoTDD-128-va40ext::= SEQUENCE {
+ multiCarrier-physical-layer-category-extension2
+ MultiCarrier-HSDSCH-physical-layer-category-extension2 OPTIONAL
+}
+
+DL-PhysChCapabilityInfoTDD-128-vc50ext::= SEQUENCE {
+ supportofNon-rectResourceAllocation ENUMERATED { true } OPTIONAL
+}
+
+DL-PhysChCapabilityTDD-768 ::= SEQUENCE {
+ maxTS-PerFrame MaxTS-PerFrame,
+ maxPhysChPerFrame MaxPhysChPerFrame-768,
+ minimumSF MinimumSF-DL-768,
+ supportOfPDSCH BOOLEAN,
+ tdd768-hspdsch CHOICE {
+ supported HSDSCH-physical-layer-category,
+ unsupported NULL
+ },
+ maxPhysChPerTS MaxPhysChPerTS-768
+}
+
+DL-PhysChCapabilityInfoTDD-768 ::= SEQUENCE {
+ maxTS-PerFrame MaxTS-PerFrame,
+ maxPhysChPerFrame MaxPhysChPerFrame-768,
+ minimumSF MinimumSF-DL-768,
+ supportOfPDSCH BOOLEAN,
+ maxPhysChPerTS MaxPhysChPerTS-768
+}
+
+DL-TransChCapability ::= SEQUENCE {
+ maxNoBitsReceived MaxNoBits,
+ maxConvCodeBitsReceived MaxNoBits,
+ turboDecodingSupport TurboSupport,
+ maxSimultaneousTransChs MaxSimultaneousTransChsDL,
+ maxSimultaneousCCTrCH-Count MaxSimultaneousCCTrCH-Count,
+ maxReceivedTransportBlocks MaxTransportBlocksDL,
+ maxNumberOfTFC MaxNumberOfTFC-DL,
+ maxNumberOfTF MaxNumberOfTF
+}
+
+DRAC-SysInfo ::= SEQUENCE {
+ transmissionProbability TransmissionProbability,
+ maximumBitRate MaximumBitRate
+}
+
+DRAC-SysInfoList ::= SEQUENCE (SIZE (1..maxDRACclasses)) OF
+ DRAC-SysInfo
+
+DSCH-RNTI ::= BIT STRING (SIZE (16))
+
+DelayRestrictionFlag ::= ENUMERATED { true }
+
+DynamicActivationTime ::= SEQUENCE {
+ activationOffset INTEGER (0..15) OPTIONAL
+}
+
+E-RNTI ::= BIT STRING (SIZE (16))
+
+ESN-DS-41 ::= BIT STRING (SIZE (32))
+
+EstablishmentCause ::= ENUMERATED {
+ originatingConversationalCall,
+ originatingStreamingCall,
+ originatingInteractiveCall,
+ originatingBackgroundCall,
+ originatingSubscribedTrafficCall,
+ terminatingConversationalCall,
+ terminatingStreamingCall,
+ terminatingInteractiveCall,
+ terminatingBackgroundCall,
+ emergencyCall,
+ interRAT-CellReselection,
+ interRAT-CellChangeOrder,
+ registration,
+ detach,
+ originatingHighPrioritySignalling,
+ originatingLowPrioritySignalling,
+ callRe-establishment,
+ terminatingHighPrioritySignalling,
+ terminatingLowPrioritySignalling,
+ terminatingCauseUnknown,
+ mbms-Reception,
+ mbms-PTP-RB-Request,
+ delayTolerantAccess,
+ spare9,
+ spare8,
+ spare7,
+ spare6,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+ExtendedWaitTime ::= INTEGER (1..1800)
+
+EUTRAbandSpecificCapUpdateReqList ::= SEQUENCE (SIZE (1..16)) OF RadioFrequencyBandEUTRAExt2
+
+FailureCauseWithProtErr ::= CHOICE {
+ configurationUnsupported NULL,
+ physicalChannelFailure NULL,
+ incompatibleSimultaneousReconfiguration
+ NULL,
+ compressedModeRuntimeError TGPSI,
+ protocolError ProtocolErrorInformation,
+ cellUpdateOccurred NULL,
+ invalidConfiguration NULL,
+ configurationIncomplete NULL,
+ unsupportedMeasurement NULL,
+ mbmsSessionAlreadyReceivedCorrectly NULL,
+ lowerPriorityMBMSService NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+FailureCauseWithProtErrTrId ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr
+}
+
+FrequencyBandsIndicatorSupport ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ frequencyBandsSupportFDD FrequencyBandsRedirectionFDD
+ },
+ tdd SEQUENCE {
+ frequencyBandsSupportTDD128 FrequencyBandsIndicatorTDD128
+ }
+ }
+}
+
+FrequencyBandsIndicatorTDD128 ::= SEQUENCE (SIZE (1..maxFreqBandsIndicatorSupport)) OF
+ FrequencyBandsIndicatorSupportTDD128
+
+FrequencyBandsIndicatorSupportTDD128 ::= SEQUENCE {
+ frequencyBandsIndicatorTDD RadioFrequencyBandTDD-r10
+}
+
+FrequencyBandsRedirectionFDD ::= SEQUENCE (SIZE (1..maxFreqBandsIndicatorSupport)) OF
+ FrequencyBandsIndicatorFDD
+
+FrequencyBandsIndicatorFDD ::= CHOICE {
+ frequencyBandsIndicator1 RadioFrequencyBandFDD,
+ frequencyBandsIndicator2 RadioFrequencyBandFDD2,
+ frequencyBandsIndicator3 RadioFrequencyBandFDD3
+}
+
+GANSS-Mode ::= ENUMERATED {
+ networkBased,
+ uEBased,
+ both,
+ none }
+
+GroupIdentityWithReleaseInformation ::= SEQUENCE {
+ rrc-ConnectionReleaseInformation RRC-ConnectionReleaseInformation,
+ groupReleaseInformation GroupReleaseInformation
+ }
+
+GroupReleaseInformation ::= SEQUENCE {
+ uRNTI-Group U-RNTI-Group
+}
+
+GSM-Measurements ::= SEQUENCE {
+ gsm900 BOOLEAN,
+ dcs1800 BOOLEAN,
+ gsm1900 BOOLEAN
+}
+
+H-RNTI ::= BIT STRING (SIZE (16))
+
+High-MobilityDetected ::= ENUMERATED { high-MobilityDetected }
+
+HSDSCH-physical-layer-category ::= INTEGER (1..64)
+
+HSDSCH-physical-layer-category-ext ::= INTEGER (1..20)
+
+HSDSCH-physical-layer-category-ext2 ::= INTEGER (21..24)
+
+HSDSCH-physical-layer-category-ext3 ::= INTEGER (25..28)
+
+HSDSCH-physical-layer-category-ext4 ::= INTEGER (29..30)
+
+HSDSCH-physical-layer-category-ext5 ::= INTEGER (31..32)
+
+HSDSCH-physical-layer-category-ext6 ::= INTEGER (33..34)
+
+HSDSCH-physical-layer-category-ext7 ::= INTEGER (35..36)
+
+HSDSCH-physical-layer-category-ext8 ::= INTEGER (37..38)
+
+HSDSCH-physical-layer-category-extension ::= INTEGER (1..64)
+
+MultiCarrier-HSDSCH-physical-layer-category ::= INTEGER (1..64)
+
+MultiCarrier-HSDSCH-physical-layer-category-extension ::= INTEGER (1..36)
+
+MultiCarrier-HSDSCH-physical-layer-category-extension2 ::= INTEGER (37..64)
+
+MultiflowCapabBandCombination ::= SEQUENCE {
+ numberOfCellsBandA INTEGER(1..6),
+ numberOfFrequenciesBandA INTEGER(1..3),
+ numberOfCellsBandB INTEGER(1..6),
+ numberOfFrequenciesBandB INTEGER(1..3)
+}
+
+MultiflowCapabBandCombList ::= SEQUENCE (SIZE (1..16)) OF MultiflowCapabBandCombination
+
+MultiflowCapability ::= SEQUENCE {
+ mimoInDifferentBands MultiflowMIMOCapability OPTIONAL,
+ longerHARQProcessing ENUMERATED { true } OPTIONAL
+}
+
+MultiflowPerBandCapability ::= SEQUENCE {
+ numberOfCells INTEGER(2..8),
+ numberOfFrequencies INTEGER(1..4),
+ mimo MultiflowMIMOCapability OPTIONAL,
+ nonContiguousCapability MultiflowNonContiguousCapability OPTIONAL
+}
+
+MultiflowMIMOCapability ::= ENUMERATED { single-stream, dual-stream }
+
+MultiflowNonContiguousCapability ::= SEQUENCE {
+ gapSize ENUMERATED { fiveMHz, tenMHz, anyGapSize,
+ spare5, spare4, spare3, spare2, spare1 }
+}
+
+UESpecificBehaviourInformation1idle ::= BIT STRING (SIZE (4))
+
+UESpecificBehaviourInformation1interRAT ::= BIT STRING (SIZE (8))
+
+IdleIntervalMeasCapabEUTRA ::= SEQUENCE {
+ radioFrequencyBandEUTRA RadioFrequencyBandEUTRA,
+ idleInterval BOOLEAN
+}
+
+IdleIntervalMeasCapabEUTRAExtension ::= SEQUENCE {
+ radioFrequencyBandEUTRA RadioFrequencyBandEUTRAExt
+}
+
+IdleIntervalMeasCapabEUTRAList ::= SEQUENCE (SIZE (1..maxFreqBandsEUTRA)) OF
+ IdleIntervalMeasCapabEUTRA
+
+IdleIntervalMeasCapabEUTRAExtensionList ::= SEQUENCE (SIZE (1..maxFreqBandsEUTRA)) OF
+ IdleIntervalMeasCapabEUTRAExtension
+
+IMSI-and-ESN-DS-41 ::= SEQUENCE {
+ imsi-DS-41 IMSI-DS-41,
+ esn-DS-41 ESN-DS-41
+}
+
+IMSI-DS-41 ::= OCTET STRING (SIZE (5..7))
+
+InitialPriorityDelayList ::= SEQUENCE (SIZE (1..maxASC)) OF
+ NS-IP
+
+InitialUE-Identity ::= CHOICE {
+ imsi IMSI-GSM-MAP,
+ tmsi-and-LAI TMSI-and-LAI-GSM-MAP,
+ p-TMSI-and-RAI P-TMSI-and-RAI-GSM-MAP,
+ imei IMEI,
+ esn-DS-41 ESN-DS-41,
+ imsi-DS-41 IMSI-DS-41,
+ imsi-and-ESN-DS-41 IMSI-and-ESN-DS-41,
+ tmsi-DS-41 TMSI-DS-41
+}
+
+IntegrityCheckInfo ::= SEQUENCE {
+ messageAuthenticationCode MessageAuthenticationCode,
+ rrc-MessageSequenceNumber RRC-MessageSequenceNumber
+}
+
+IntegrityProtActivationInfo ::= SEQUENCE {
+ rrc-MessageSequenceNumberList RRC-MessageSequenceNumberList
+}
+
+IntegrityProtectionAlgorithm ::= ENUMERATED {
+ uia1 }
+
+IntegrityProtectionAlgorithm-r7 ::= ENUMERATED {
+ uia1, uia2 }
+
+IntegrityProtectionModeCommand ::= CHOICE {
+ startIntegrityProtection SEQUENCE {
+ integrityProtInitNumber IntegrityProtInitNumber
+ },
+ modify SEQUENCE {
+ dl-IntegrityProtActivationInfo IntegrityProtActivationInfo
+ }
+}
+
+IntegrityProtectionModeInfo ::= SEQUENCE {
+ -- TABULAR: DL integrity protection activation info and Integrity
+ -- protection intialisation number have been nested inside
+ -- IntegrityProtectionModeCommand.
+ integrityProtectionModeCommand IntegrityProtectionModeCommand,
+ integrityProtectionAlgorithm IntegrityProtectionAlgorithm OPTIONAL
+}
+
+IntegrityProtectionModeInfo-r7 ::= SEQUENCE {
+ -- TABULAR: DL integrity protection activation info and Integrity
+ -- protection intialisation number have been nested inside
+ -- IntegrityProtectionModeCommand.
+ integrityProtectionModeCommand IntegrityProtectionModeCommand,
+ integrityProtectionAlgorithm IntegrityProtectionAlgorithm-r7 OPTIONAL
+}
+
+IntegrityProtInitNumber ::= BIT STRING (SIZE (32))
+
+-- dummy is not used in this version of the specification, it should
+-- not be sent and if received it should be ignored.
+MaxHcContextSpace ::= ENUMERATED {
+ dummy, by1024, by2048, by4096,
+ by8192 }
+
+MaxHcContextSpace-r5-ext ::= ENUMERATED {
+ by16384, by32768, by65536, by131072 }
+
+
+MaxROHC-ContextSessions-r4 ::= ENUMERATED {
+ s2, s4, s8, s12, s16, s24, s32, s48,
+ s64, s128, s256, s512, s1024, s16384 }
+
+MaximumAM-EntityNumberRLC-Cap ::= ENUMERATED {
+ dummy, am4, am5, am6,
+ am8, am16, am30 }
+
+-- Actual value MaximumBitRate = IE value * 16
+MaximumBitRate ::= INTEGER (0..32)
+
+MaximumRLC-WindowSize ::= ENUMERATED { mws2047, mws4095 }
+
+MaxNoDPDCH-BitsTransmitted ::= ENUMERATED {
+ b600, b1200, b2400, b4800,
+ b9600, b19200, b28800, b38400,
+ b48000, b57600 }
+
+MaxNoBits ::= ENUMERATED {
+ b640, b1280, b2560, b3840, b5120,
+ b6400, b7680, b8960, b10240,
+ b20480, b40960, b81920, b163840 }
+
+MaxNoPhysChBitsReceived ::= ENUMERATED {
+ dummy, b1200, b2400, b3600,
+ b4800, b7200, b9600, b14400,
+ b19200, b28800, b38400, b48000,
+ b57600, b67200, b76800 }
+
+MaxNoSCCPCH-RL ::= ENUMERATED {
+ rl1 }
+
+MaxNumberOfTF ::= ENUMERATED {
+ tf32, tf64, tf128, tf256,
+ tf512, tf1024 }
+
+MaxNumberOfTFC-DL ::= ENUMERATED {
+ tfc16, tfc32, tfc48, tfc64, tfc96,
+ tfc128, tfc256, tfc512, tfc1024 }
+
+MaxNumberOfTFC-UL ::= ENUMERATED {
+ dummy1, dummy2, tfc16, tfc32, tfc48, tfc64,
+ tfc96, tfc128, tfc256, tfc512, tfc1024 }
+
+-- the values 1 to 4 for MaxPhysChPerFrame are not used in this version of the protocol
+MaxPhysChPerFrame ::= INTEGER (1..224)
+
+MaxPhysChPerFrame-768 ::= INTEGER (1..448)
+
+MaxPhysChPerSubFrame-r4 ::= INTEGER (1..96)
+
+MaxPhysChPerTimeslot ::= ENUMERATED {
+ ts1, ts2 }
+
+MaxPhysChPerTimeslot-LCR-r7 ::= INTEGER (1..4)
+
+-- the values 1 to 4 for MaxPhysChPerTS are not used in this version of the protocol
+MaxPhysChPerTS ::= INTEGER (1..16)
+
+MaxPhysChPerTS-768 ::= INTEGER (1..32)
+
+MaxSimultaneousCCTrCH-Count ::= INTEGER (1..8)
+
+MaxSimultaneousTransChsDL ::= ENUMERATED {
+ e4, e8, e16, e32 }
+
+MaxSimultaneousTransChsUL ::= ENUMERATED {
+ dummy, e4, e8, e16, e32 }
+
+MaxTransportBlocksDL ::= ENUMERATED {
+ tb4, tb8, tb16, tb32, tb48,
+ tb64, tb96, tb128, tb256, tb512 }
+
+MaxTransportBlocksUL ::= ENUMERATED {
+ dummy, tb4, tb8, tb16, tb32, tb48,
+ tb64, tb96, tb128, tb256, tb512 }
+
+MaxTS-PerFrame ::= INTEGER (1..14)
+
+MaxTS-PerSubFrame-r4 ::= INTEGER (1..6)
+
+-- TABULAR: MeasurementCapability contains dependencies to UE-MultiModeRAT-Capability,
+-- the conditional fields have been left mandatory for now.
+MeasurementCapability ::= SEQUENCE {
+ downlinkCompressedMode CompressedModeMeasCapability,
+ uplinkCompressedMode CompressedModeMeasCapability
+}
+
+MeasurementCapabilityExt ::= SEQUENCE{
+ compressedModeMeasCapabFDDList CompressedModeMeasCapabFDDList,
+ compressedModeMeasCapabTDDList CompressedModeMeasCapabTDDList OPTIONAL,
+ compressedModeMeasCapabGSMList CompressedModeMeasCapabGSMList OPTIONAL,
+ compressedModeMeasCapabMC CompressedModeMeasCapabMC OPTIONAL
+}
+
+MeasurementCapabilityExt2 ::= SEQUENCE{
+ compressedModeMeasCapabFDDList CompressedModeMeasCapabFDDList2,
+ compressedModeMeasCapabTDDList CompressedModeMeasCapabTDDList OPTIONAL,
+ compressedModeMeasCapabGSMList CompressedModeMeasCapabGSMList OPTIONAL,
+ compressedModeMeasCapabMC CompressedModeMeasCapabMC OPTIONAL
+}
+
+MeasurementCapabilityExt3 ::= SEQUENCE {
+ compressedModeMeasCapabEUTRAList CompressedModeMeasCapabEUTRAList OPTIONAL
+}
+
+MeasurementCapabilityExt4 ::= SEQUENCE{
+ compressedModeMeasCapabFDDList2 CompressedModeMeasCapabFDDList2 OPTIONAL,
+ compressedModeMeasCapabFDDList3 CompressedModeMeasCapabFDDList3 OPTIONAL,
+ compressedModeMeasCapabTDDList CompressedModeMeasCapabTDDList OPTIONAL,
+ compressedModeMeasCapabGSMList CompressedModeMeasCapabGSMList OPTIONAL,
+ compressedModeMeasCapabMC CompressedModeMeasCapabMC OPTIONAL,
+ compressedModeMeasCapabEUTRAList CompressedModeMeasCapabEUTRAList OPTIONAL
+}
+
+MeasurementCapabilityExt5 ::= SEQUENCE {
+ compressedModeMeasCapabEUTRAList CompressedModeMeasCapabEUTRAList2 OPTIONAL
+}
+
+MeasurementCapabilityExt6 ::= SEQUENCE{
+ compressedModeMeasCapabEUTRAList CompressedModeMeasCapabEUTRAList3 OPTIONAL
+}
+
+MeasurementCapability-r4-ext ::= SEQUENCE {
+ downlinkCompressedMode-LCR CompressedModeMeasCapability-LCR-r4,
+ uplinkCompressedMode-LCR CompressedModeMeasCapability-LCR-r4
+}
+
+MeasurementCapability-v860ext ::= SEQUENCE {
+ downlinkCompressedMode CompressedModeMeasCapability-v860ext
+}
+
+MeasurementCapability-v920ext ::= SEQUENCE {
+ downlinkCompressedMode CompressedModeMeasCapability-v920ext
+}
+
+MeasurementCapability-va40ext ::= SEQUENCE {
+ interFrequencyDetectedSetMeasurements ENUMERATED { true } OPTIONAL,
+ downlinkCompressedMode CompressedModeMeasCapability-va40ext
+}
+
+MeasurementCapability-vb50ext ::= SEQUENCE {
+ interFrequencyMeasOnConfigCarriersWithoutCompMode ENUMERATED { true } OPTIONAL,
+ cellsExcludedFromDetectedSetMeasurements ENUMERATED { true } OPTIONAL
+}
+
+MeasurementCapabilityTDD ::= SEQUENCE {
+ idleIntervalMeasCapabEUTRAList IdleIntervalMeasCapabEUTRAList OPTIONAL
+}
+
+MeasurementCapabilityTDD-vb50ext ::= SEQUENCE {
+ idleIntervalMeasCapabEUTRAList IdleIntervalMeasCapabEUTRAExtensionList OPTIONAL
+}
+
+MeasurementCapability-vb70ext ::= SEQUENCE {
+ widebandRSRQFDDMeasurements ENUMERATED { true } OPTIONAL,
+ widebandRSRQTDDMeasurements ENUMERATED { true } OPTIONAL
+}
+
+MeasurementCapability-vc50ext ::= SEQUENCE {
+ event2gReportingOnaConfiguredSecDLFrequency ENUMERATED { true } OPTIONAL,
+ extendedRsrqLowerValueRange ENUMERATED { true } OPTIONAL,
+ rsrqOnAllSymbols ENUMERATED { true } OPTIONAL,
+ increasedUECarrierMonitoringUTRA ENUMERATED { true } OPTIONAL,
+ increasedUECarrierMonitoringE-UTRA ENUMERATED { true } OPTIONAL,
+ enhancedUPHReporting ENUMERATED { true } OPTIONAL
+}
+
+MeasurementCapability-ve30ext ::= SEQUENCE {
+ rrcEventsforUPHReporting ENUMERATED { true } OPTIONAL,
+ qoEMeasurementCollectionForStreamingServices ENUMERATED { true } OPTIONAL
+}
+
+MeasurementCapability-vf20ext ::= SEQUENCE {
+ qoEMeasurementCollectionForMTSIServices ENUMERATED { true } OPTIONAL
+}
+
+MessageAuthenticationCode ::= BIT STRING (SIZE (32))
+
+MinimumSF-DL ::= ENUMERATED {
+ sf1, sf16 }
+
+MinimumSF-DL-768 ::= ENUMERATED {
+ sf1, sf32 }
+
+MinimumSF-UL ::= ENUMERATED {
+ sf1, sf2, sf4, sf8, dummy }
+
+NonContiguousMultiCellCombinationList ::= SEQUENCE (SIZE (1..maxNonContiguousMultiCellCombinations)) OF
+ NonContiguousMultiCell
+
+NonContiguousMultiCell ::= SEQUENCE {
+ aggregatedCells ENUMERATED { nc-2c, nc-3c, nc-4c },
+ gapSize ENUMERATED { fiveMHz, tenMHz, anyGapSize,
+ spare5, spare4, spare3, spare2, spare1 },
+ nonContiguousMultiCellCombination22 ENUMERATED { true } OPTIONAL,
+ nonContiguousMultiCellCombination31-13 ENUMERATED { true } OPTIONAL
+}
+
+MultiModeCapability ::= ENUMERATED {
+ tdd, fdd, fdd-tdd }
+
+MultiRAT-Capability ::= SEQUENCE {
+ supportOfGSM BOOLEAN,
+ supportOfMulticarrier BOOLEAN
+}
+
+MultiModeRAT-Capability-v590ext ::= SEQUENCE {
+ supportOfUTRAN-ToGERAN-NACC BOOLEAN
+}
+
+MultiModeRAT-Capability-v680ext ::= SEQUENCE {
+ supportOfHandoverToGAN ENUMERATED { doesSupportHandoverToGAN } OPTIONAL
+}
+
+MultiModeRAT-Capability-v770ext ::= SEQUENCE {
+ supportOfPSHandoverToGAN ENUMERATED { doesSupportPSHandoverToGAN } OPTIONAL
+}
+
+MultiModeRAT-Capability-v860ext ::= SEQUENCE {
+ supportOfEUTRAFDD ENUMERATED { doesSupportEUTRAFDD } OPTIONAL,
+ supportOfInterRATHOToEUTRAFDD ENUMERATED { doesSupportInterRATHOToEUTRAFDD } OPTIONAL,
+ supportOfEUTRATDD ENUMERATED { doesSupportEUTRATDD } OPTIONAL,
+ supportOfInterRATHOToEUTRATDD ENUMERATED { doesSupportInterRATHOToEUTRATDD } OPTIONAL,
+ eutraFeatureGroupIndicators BIT STRING (SIZE (4)) OPTIONAL
+}
+
+MultiModeRAT-Capability-vae0ext ::= SEQUENCE {
+ eutraSupportOfMFBI ENUMERATED { true } OPTIONAL
+}
+
+MultiModeRAT-Capability-vb50ext ::= SEQUENCE {
+ supportOfEUTRAFDDMeasurementReportingInCELLFACH ENUMERATED { doesSupportOfEUTRAFDDMeasurementReportingInCELLFACH } OPTIONAL,
+ supportOfEUTRATDDMeasurementReportingInCELLFACH ENUMERATED { doesSupportOfEUTRATDDMeasurementReportingInCELLFACH } OPTIONAL
+}
+
+MultiModeRAT-Capability-vc50ext ::= SEQUENCE {
+ supportOfRAN-AssistedWLAN-Interworking-RAN-Rules ENUMERATED { true } OPTIONAL,
+ supportOfRAN-AssistedWLAN-Interworking-ANDSF-Policies ENUMERATED { true } OPTIONAL
+}
+
+MultiModeRAT-Capability-vd20ext ::= SEQUENCE {
+ supportOfExtendedEUTRAFrequencyPriority ENUMERATED { true } OPTIONAL
+}
+
+N-300 ::= INTEGER (0..7)
+
+N-301 ::= INTEGER (0..7)
+
+N-302 ::= INTEGER (0..7)
+
+N-304 ::= INTEGER (0..7)
+
+N-308 ::= INTEGER (1..8)
+
+N-310 ::= INTEGER (0..7)
+
+N-312 ::= ENUMERATED {
+ s1, s50, s100, s200, s400,
+ s600, s800, s1000 }
+
+N-312ext ::= ENUMERATED {
+ s2, s4, s10, s20 }
+
+N-312-r5 ::= ENUMERATED {
+ s1, s2, s4, s10, s20,
+ s50, s100, s200, s400,
+ s600, s800, s1000 }
+
+N-313 ::= ENUMERATED {
+ s1, s2, s4, s10, s20,
+ s50, s100, s200 }
+
+N-315 ::= ENUMERATED {
+ s1, s50, s100, s200, s400,
+ s600, s800, s1000 }
+
+N-315ext ::= ENUMERATED {
+ s2, s4, s10, s20 }
+
+N-315-r5 ::= ENUMERATED {
+ s1, s2, s4, s10, s20,
+ s50, s100, s200, s400,
+ s600, s800, s1000 }
+
+
+N-AccessFails ::= INTEGER (1..64)
+
+N-AP-RetransMax ::= INTEGER (1..64)
+
+NeighCellSI-AcquisitionCapability ::= SEQUENCE {
+ supportOfIntraFreqSIAcquisitionForHO ENUMERATED { true } OPTIONAL,
+ supportOfInterFreqSIAcquisitionForHO ENUMERATED { true } OPTIONAL,
+ supportOfE-UtraSIAcquisitionForHO ENUMERATED { true } OPTIONAL
+}
+
+NetworkAssistedGANSS-Supported-List ::= SEQUENCE (SIZE (1..maxGANSS)) OF SEQUENCE {
+ gANSS-Id ENUMERATED {
+ sbas, modernizedGPS, qzss, glonass, bds,
+ spare3, spare2, spare1 } OPTIONAL,
+ gANSS-Mode GANSS-Mode,
+ gANSS-SignalId GANSS-Signal-Id OPTIONAL,
+ supportForUE-GANSS-TimingOfCellFrames BOOLEAN,
+ supportForUE-GANSS-CarrierPhaseMeasurement BOOLEAN OPTIONAL
+}
+
+-- Each element in the NetworkAssistedGANSS-Supported-List-v860ext provides extension information
+-- to the corresponding element (position) in the NetworkAssistedGANSS-Supported-List
+NetworkAssistedGANSS-Supported-List-v860ext ::= SEQUENCE (SIZE (1..maxGANSS)) OF SEQUENCE {
+ sbas-Ids BIT STRING (SIZE (8)) OPTIONAL,
+ gANSS-SignalIds BIT STRING (SIZE (8)) OPTIONAL,
+ non-native-AD-choices-supported ENUMERATED { true } OPTIONAL
+}
+
+NetworkAssistedGPS-Supported ::= ENUMERATED {
+ networkBased,
+ ue-Based,
+ bothNetworkAndUE-Based,
+ noNetworkAssistedGPS }
+
+NF-BO-AllBusy ::= INTEGER (0..31)
+
+NF-BO-NoAICH ::= INTEGER (0..31)
+
+NF-BO-Mismatch ::= INTEGER (0..127)
+
+NS-BO-Busy ::= INTEGER (0..63)
+
+NS-IP ::= INTEGER (0..28)
+
+P-TMSI-and-RAI-GSM-MAP ::= SEQUENCE {
+ p-TMSI P-TMSI-GSM-MAP,
+ rai RAI
+}
+
+PagingCause ::= ENUMERATED {
+ terminatingConversationalCall,
+ terminatingStreamingCall,
+ terminatingInteractiveCall,
+ terminatingBackgroundCall,
+ terminatingHighPrioritySignalling,
+ terminatingLowPrioritySignalling,
+ terminatingCauseUnknown,
+ spare
+ }
+
+PagingRecord ::= CHOICE {
+ cn-Identity SEQUENCE {
+ pagingCause PagingCause,
+ cn-DomainIdentity CN-DomainIdentity,
+ cn-pagedUE-Identity CN-PagedUE-Identity
+ },
+ utran-Identity SEQUENCE {
+ u-RNTI U-RNTI,
+ cn-OriginatedPage-connectedMode-UE SEQUENCE {
+ pagingCause PagingCause,
+ cn-DomainIdentity CN-DomainIdentity,
+ pagingRecordTypeID PagingRecordTypeID
+ } OPTIONAL
+ }
+}
+
+PagingRecord2-r5 ::= CHOICE {
+ utran-SingleUE-Identity SEQUENCE {
+ u-RNTI U-RNTI,
+ cn-OriginatedPage-connectedMode-UE SEQUENCE {
+ pagingCause PagingCause,
+ cn-DomainIdentity CN-DomainIdentity,
+ pagingRecordTypeID PagingRecordTypeID
+ } OPTIONAL,
+ rrc-ConnectionReleaseInformation RRC-ConnectionReleaseInformation
+ },
+ utran-GroupIdentity SEQUENCE ( SIZE (1 .. maxURNTI-Group) ) OF
+ GroupIdentityWithReleaseInformation
+}
+
+PagingRecordList ::= SEQUENCE (SIZE (1..maxPage1)) OF
+ PagingRecord
+
+PagingRecord2List-r5 ::= SEQUENCE (SIZE (1..maxPage1)) OF
+ PagingRecord2-r5
+
+PDCP-Capability ::= SEQUENCE {
+ losslessSRNS-RelocationSupport BOOLEAN,
+ -- If present, the "maxHcContextSpace" in the IE "PDCP-Capability-r5-ext" overrides the
+ -- "supported" value in this IE. The value in this IE may be used by a pre-REL-5 UTRAN.
+ supportForRfc2507 CHOICE {
+ notSupported NULL,
+ supported MaxHcContextSpace
+ }
+}
+
+PDCP-Capability-r4-ext ::= SEQUENCE {
+ supportForRfc3095 CHOICE {
+ notSupported NULL,
+ supported SEQUENCE {
+ maxROHC-ContextSessions MaxROHC-ContextSessions-r4 DEFAULT s16,
+ reverseCompressionDepth INTEGER (0..65535) DEFAULT 0
+ }
+ }
+}
+
+PDCP-Capability-r5-ext ::= SEQUENCE {
+ supportForRfc3095ContextRelocation BOOLEAN,
+ maxHcContextSpace MaxHcContextSpace-r5-ext OPTIONAL
+}
+
+PDCP-Capability-r5-ext2 ::= SEQUENCE {
+ losslessDLRLC-PDUSizeChange ENUMERATED { true } OPTIONAL
+}
+
+PDCP-Capability-v770ext ::= SEQUENCE {
+ supportForCSVoiceoverHSPA ENUMERATED { true } OPTIONAL
+}
+
+PhysicalChannelCapability ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD,
+ uplinkPhysChCapability UL-PhysChCapabilityFDD
+ } OPTIONAL,
+ -- tddPhysChCapability describes the 3.84Mcps TDD physical channel capability
+ tddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityTDD,
+ uplinkPhysChCapability UL-PhysChCapabilityTDD
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-v770ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-v770ext,
+ uplinkPhysChCapability UL-PhysChCapabilityFDD-v770ext
+ } OPTIONAL,
+ tddPhysChCapability-384 SEQUENCE {
+ -- No TDD384 DL physical channel capability extension
+ uplinkPhysChCapability UL-PhysChCapabilityTDD-384-v770ext
+ } OPTIONAL,
+ tddPhysChCapability-768 SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityTDD-768,
+ uplinkPhysChCapability UL-PhysChCapabilityTDD-768
+ } OPTIONAL,
+ tddPhysChCapability-128 SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityTDD-128-v770ext,
+ uplinkPhysChCapability UL-PhysChCapabilityTDD-128-v770ext
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-v860ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-v860ext
+ } OPTIONAL,
+ tddPhysChCapability-128 SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityTDD-128-v860ext
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-v920ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-v920ext,
+ uplinkPhysChCapability UL-PhysChCapabilityFDD-v920ext
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-va40ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-va40ext
+ } OPTIONAL,
+ tddPhysChCapability-128 SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityInfoTDD-128-va40ext,
+ uplinkPhysChCapability UL-PhysChCapabilityInfoTDD-128-va40ext
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-vb50ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-vb50ext,
+ uplinkPhysChCapability UL-PhysChCapabilityFDD-vb50ext
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-vb80ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-vb80ext
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-vc50ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-vc50ext OPTIONAL,
+ uplinkPhysChCapability UL-PhysChCapabilityFDD-vc50ext OPTIONAL
+ } OPTIONAL,
+ tddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityInfoTDD-128-vc50ext
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-vd20ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-vd20ext OPTIONAL,
+ uplinkPhysChCapability UL-PhysChCapabilityFDD-vd20ext OPTIONAL
+ } OPTIONAL
+}
+PhysicalChannelCapability-ve30ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-ve30ext OPTIONAL,
+ uplinkPhysChCapability UL-PhysChCapabilityFDD-ve30ext OPTIONAL
+ } OPTIONAL
+}
+
+PhysicalChannelCapabilityInfo-v770ext ::= SEQUENCE {
+ tddPhysChCapability-768 SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityInfoTDD-768,
+ uplinkPhysChCapability UL-PhysChCapabilityTDD
+ } OPTIONAL,
+ tddPhysChCapability-128 SEQUENCE {
+ uplinkPhysChCapability UL-PhysChCapabilityInfoTDD-128-v770ext
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-vf10ext ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-vf10ext OPTIONAL
+ }
+}
+
+-- PhysicalChannelCapability-LCR-r4 describes the 1.28Mcps TDD physical channel capability
+PhysicalChannelCapability-LCR-r4 ::= SEQUENCE {
+ tdd128-PhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityTDD-LCR-r4,
+ uplinkPhysChCapability UL-PhysChCapabilityTDD-LCR-r4
+ } OPTIONAL
+}
+
+-- PhysicalChannelCapability-hspdsch-r5 describes the HS-PDSCH physical channel capability
+PhysicalChannelCapability-hspdsch-r5 ::= SEQUENCE {
+ fdd-hspdsch CHOICE {
+ supported SEQUENCE {
+ -- hsdsch-physical-layer-category values shall be restricted to the range [1..12]
+ -- even if the UE physical capability category is above 12.
+ hsdsch-physical-layer-category HSDSCH-physical-layer-category,
+ -- dummy and dummy2 are not used in this version of the specification
+ -- and if received they should be ignored.
+ dummy BOOLEAN,
+ dummy2 BOOLEAN
+ },
+ unsupported NULL
+ },
+ tdd384-hspdsch CHOICE {
+ supported HSDSCH-physical-layer-category,
+ unsupported NULL
+ },
+ tdd128-hspdsch CHOICE {
+ supported HSDSCH-physical-layer-category,
+ unsupported NULL
+ }
+}
+
+PNBSCH-Allocation-r4 ::= SEQUENCE {
+ numberOfRepetitionsPerSFNPeriod ENUMERATED {
+ c2, c3, c4, c5, c6, c7, c8, c9, c10,
+ c12, c14, c16, c18, c20, c24, c28, c32,
+ c36, c40, c48, c56, c64, c72, c80 }
+}
+
+Pre-RedirectionInfo ::= SEQUENCE {
+ supportEUTRA-FDD BOOLEAN,
+ supportEUTRA-TDD BOOLEAN
+}
+
+ProtocolErrorCause ::= ENUMERATED {
+ asn1-ViolationOrEncodingError,
+ messageTypeNonexistent,
+ messageNotCompatibleWithReceiverState,
+ ie-ValueNotComprehended,
+ informationElementMissing,
+ messageExtensionNotComprehended,
+ spare2, spare1 }
+
+ProtocolErrorIndicator ::= ENUMERATED {
+ noError, errorOccurred }
+
+ProtocolErrorIndicatorWithMoreInfo ::= CHOICE {
+ noError NULL,
+ errorOccurred SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ protocolErrorInformation ProtocolErrorInformation
+ }
+}
+
+ProtocolErrorMoreInformation ::= SEQUENCE {
+ diagnosticsType CHOICE {
+ type1 CHOICE {
+ asn1-ViolationOrEncodingError NULL,
+ messageTypeNonexistent NULL,
+ messageNotCompatibleWithReceiverState
+ IdentificationOfReceivedMessage,
+ ie-ValueNotComprehended IdentificationOfReceivedMessage,
+ conditionalInformationElementError IdentificationOfReceivedMessage,
+ messageExtensionNotComprehended IdentificationOfReceivedMessage,
+ spare1 NULL,
+ spare2 NULL
+ },
+ spare NULL
+ }
+}
+
+RadioFrequencyBandEUTRA ::= INTEGER (1..64)
+
+RadioFrequencyBandEUTRAExt ::= INTEGER (65..256)
+
+RadioFrequencyBandEUTRAExt2 ::= INTEGER (1..256)
+
+RadioFrequencyBandFDD ::= ENUMERATED {
+ -- fdd2100, fdd1900, fdd1800 correspond to Band I, Band II and Band III respectively
+ fdd2100,
+ fdd1900,
+ fdd1800,
+ bandVI,
+ bandIV,
+ bandV,
+ bandVII,
+ extension-indicator }
+
+RadioFrequencyBandFDD2 ::= ENUMERATED {
+ bandVIII,
+ bandIX,
+ bandX,
+ bandXI,
+ bandXII,
+ bandXIII,
+ bandXIV,
+ bandXV,
+ bandXVI,
+ bandXVII,
+ bandXVIII,
+ bandXIX,
+ bandXX,
+ bandXXI,
+ bandXXII,
+ extension-indicator }
+
+RadioFrequencyBandFDD3 ::= ENUMERATED {spare64, spare63, bandXXV, bandXXVI, spare60, spare59, spare58, spare57, spare56, bandXXXII, spare54, spare53, spare52, spare51, spare50, spare49, spare48, spare47, spare46, spare45, spare44, spare43, spare42, spare41, spare40, spare39, spare38, spare37, spare36, spare35, spare34, spare33, spare32, spare31, spare30, spare29, spare28, spare27, spare26, spare25, spare24, spare23, spare22, spare21, spare20, spare19, spare18, spare17, spare16, spare15, spare14, spare13, spare12, spare11, spare10, spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, extension-indicator }
+
+RadioFrequencyBandTDDList ::= ENUMERATED {
+ a, b, c, ab, ac, bc, abc, spare }
+
+RadioFrequencyBandTDDList-r7 ::= ENUMERATED {
+ a, b, c, d, ab, ac, ad, bc, bd, cd, abc, abd, acd, bcd,
+ abcd, notabcd }
+
+RadioFrequencyBandTDDext ::= ENUMERATED {
+ e, f, g, h, i, j, k, l, m, n, o, p, spare4, spare3,
+ spare2, spare1 }
+
+RadioFrequencyBandTDDextList ::= SEQUENCE (SIZE (1..maxFreqBandsTDD-ext)) OF
+ RadioFrequencyBandTDDext
+
+RadioFrequencyBandTDD ::= ENUMERATED {
+ a, b, c, d }
+
+RadioFrequencyBandTDD-r10 ::= ENUMERATED {
+ a, b, c, d, e, f, spare2, spare1 }
+
+RadioFrequencyBandGSM ::= ENUMERATED {
+ gsm450,
+ gsm480,
+ gsm850,
+ gsm900P,
+ gsm900E,
+ gsm1800,
+ gsm1900,
+ spare9, spare8, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1}
+
+Rb-timer-indicator ::= SEQUENCE {
+ t314-expired BOOLEAN,
+ t315-expired BOOLEAN }
+
+Re-EstablishmentTimer ::= ENUMERATED {
+ useT314, useT315
+}
+
+RedirectionInfo ::= CHOICE {
+ frequencyInfo FrequencyInfo,
+ interRATInfo InterRATInfo
+}
+
+RedirectionInfo-r6 ::= CHOICE {
+ frequencyInfo FrequencyInfo,
+ interRATInfo InterRATInfo-r6
+}
+
+RedirectionInfo-v860ext ::= CHOICE {
+ -- CHOICE frequencyInfo is provided in IE RedirectionInfo or IE RedirectionInfo-r6
+ frequencyInfo NULL,
+ interRATInfo InterRATInfo-v860ext
+}
+
+RejectionCause ::= ENUMERATED {
+ congestion,
+ unspecified }
+
+ReleaseCause ::= ENUMERATED {
+ normalEvent,
+ unspecified,
+ pre-emptiveRelease,
+ congestion,
+ re-establishmentReject,
+ directedsignallingconnectionre-establishment,
+ userInactivity,
+ spare }
+
+RF-Capability ::= SEQUENCE {
+ fddRF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClass,
+ txRxFrequencySeparation TxRxFrequencySeparation
+ } OPTIONAL,
+ tddRF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClass,
+ radioFrequencyTDDBandList RadioFrequencyBandTDDList,
+ chipRateCapability ChipRateCapability
+ } OPTIONAL
+}
+
+RF-Capability-r4-ext ::= SEQUENCE {
+ tddRF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClass,
+ radioFrequencyBandTDDList RadioFrequencyBandTDDList,
+ chipRateCapability ChipRateCapability
+ } OPTIONAL
+}
+
+RF-Capability-v770ext ::= SEQUENCE {
+ -- If TDD384 and/or TDD128 RF capability is indicated in IEs 'RF-Capability' or
+ -- 'RF-Capability-r4-ext', the corresponding IE 'RadioFrequencyBandTDDList-r7' shall
+ -- be included in this IE.
+ tdd384RF-Capability RadioFrequencyBandTDDList-r7 OPTIONAL,
+ tdd768RF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClass,
+ radioFrequencyBandTDDList RadioFrequencyBandTDDList-r7
+ -- The element 'chipRateCapability' = 'mcps7-68'
+ } OPTIONAL,
+ tdd128RF-Capability RadioFrequencyBandTDDList-r7 OPTIONAL
+}
+
+RF-Capability-v860ext ::= SEQUENCE {
+ tdd128RF-Capability RadioFrequencyBandTDDextList OPTIONAL,
+ tdd384RF-Capability RadioFrequencyBandTDDextList OPTIONAL,
+ tdd768RF-Capability RadioFrequencyBandTDDextList OPTIONAL
+}
+
+RF-Capability-vaa0ext ::= SEQUENCE {
+ supportOfMFBI ENUMERATED { true } OPTIONAL
+}
+
+RLC-Capability ::= SEQUENCE {
+ -- If present, the "totalRLC-AM-BufferSize" in the IE "RLC-Capability-r5-ext" overrides the
+ -- corresponding value in this IE. The value in this IE may be used by a pre-REL-5 UTRAN.
+ totalRLC-AM-BufferSize TotalRLC-AM-BufferSize,
+ maximumRLC-WindowSize MaximumRLC-WindowSize,
+ maximumAM-EntityNumber MaximumAM-EntityNumberRLC-Cap
+}
+
+RLC-Capability-r5-ext ::= SEQUENCE {
+ totalRLC-AM-BufferSize TotalRLC-AM-BufferSize-r5-ext OPTIONAL
+}
+
+RLC-Capability-v770ext ::= SEQUENCE {
+ supportOfTwoLogicalChannel BOOLEAN
+}
+
+RLC-Capability-v920ext ::= SEQUENCE {
+ totalRLC-AM-BufferSize TotalRLC-AM-BufferSize-v920ext OPTIONAL
+}
+
+RLC-Capability-va40ext ::= SEQUENCE {
+ totalRLC-AM-BufferSize TotalRLC-AM-BufferSize-va40ext OPTIONAL
+}
+
+RLC-Capability-vb50ext ::= SEQUENCE {
+ totalRLC-AM-BufferSize TotalRLC-AM-BufferSize-vb50ext OPTIONAL
+}
+
+RRC-ConnectionReleaseInformation ::= CHOICE {
+ noRelease NULL,
+ release SEQUENCE {
+ releaseCause ReleaseCause
+ }
+}
+
+RRC-MessageSequenceNumber ::= INTEGER (0..15)
+
+
+RRC-MessageSequenceNumberList ::= SEQUENCE (SIZE (4..5)) OF
+ RRC-MessageSequenceNumber
+
+RRC-StateIndicator ::= ENUMERATED {
+ cell-DCH, cell-FACH, cell-PCH, ura-PCH }
+
+RRC-TransactionIdentifier ::= INTEGER (0..3)
+
+RSR-VCC-Info ::= SEQUENCE {
+ nonce BIT STRING (SIZE (128)) OPTIONAL,
+ ims-Information OCTET STRING (SIZE (1.. 32))
+}
+
+S-RNTI ::= BIT STRING (SIZE (20))
+
+S-RNTI-2 ::= BIT STRING (SIZE (10))
+
+SecurityCapability ::= SEQUENCE {
+ cipheringAlgorithmCap BIT STRING {
+ -- For each bit value "0" means false/ not supported
+ spare15(0),
+ spare14(1),
+ spare13(2),
+ spare12(3),
+ spare11(4),
+ spare10(5),
+ spare9(6),
+ spare8(7),
+ spare7(8),
+ spare6(9),
+ spare5(10),
+ spare4(11),
+ spare3(12),
+ uea2(13),
+ uea1(14),
+ uea0(15)
+ } (SIZE (16)),
+ integrityProtectionAlgorithmCap BIT STRING {
+ -- For each bit value "0" means false/ not supported
+ spare15(0),
+ spare14(1),
+ spare13(2),
+ spare12(3),
+ spare11(4),
+ spare10(5),
+ spare9(6),
+ spare8(7),
+ spare7(8),
+ spare6(9),
+ spare5(10),
+ spare4(11),
+ spare3(12),
+ uia2(13),
+ uia1(14),
+ spare0(15)
+ } (SIZE (16))
+}
+
+SecondaryServingEDCHCell-Info ::= SEQUENCE {
+ primary-E-RNTI E-RNTI OPTIONAL,
+ secondary-E-RNTI E-RNTI OPTIONAL
+ }
+
+SecondaryEDCH-Info-Common ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ scramblingCodeType ScramblingCodeType,
+ scramblingCodeNumber UL-ScramblingCode,
+ ms2-SchedTransmGrantHARQAlloc BIT STRING (SIZE (8)) OPTIONAL,
+ servingGrant SEQUENCE {
+ primary-Secondary-GrantSelector ENUMERATED { primary, secondary }
+ } OPTIONAL,
+ minReduced-E-DPDCH-GainFactor MinReduced-E-DPDCH-GainFactor OPTIONAL,
+ e-DCH-minimumSet-E-TFCI E-DCH-MinimumSet-E-TFCI OPTIONAL,
+ dpcchPowerOffset-SecondaryULFrequency INTEGER(0..7),
+ pc-Preamble PC-Preamble
+}
+
+SecondaryEDCH-Info-Common-r12 ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ scramblingCodeType ScramblingCodeType,
+ scramblingCodeNumber UL-ScramblingCode,
+ ms2-SchedTransmGrantHARQAlloc BIT STRING (SIZE (8)) OPTIONAL,
+ servingGrant SEQUENCE {
+ primary-Secondary-GrantSelector ENUMERATED { primary, secondary }
+ } OPTIONAL,
+ minReduced-E-DPDCH-GainFactor MinReduced-E-DPDCH-GainFactor OPTIONAL,
+ e-DCH-minimumSet-E-TFCI E-DCH-MinimumSet-E-TFCI OPTIONAL,
+ minimumTEBS-threshold MinimumTEBS-threshold OPTIONAL,
+ implicitGrantHandling ENUMERATED { true } OPTIONAL,
+ dpcchPowerOffset-SecondaryULFrequency INTEGER(0..7),
+ pc-Preamble PC-Preamble,
+ ue-DPCCHPowerResetAfterDTXOnSecUplink UE-DPCCHPowerResetAfterDTXOnSecUplink OPTIONAL
+}
+
+SecondaryEDCH-Info-Common-r14 ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ scramblingCodeType ScramblingCodeType,
+ scramblingCodeNumber UL-ScramblingCode,
+ ms2-SchedTransmGrantHARQAlloc BIT STRING (SIZE (8)) OPTIONAL,
+ servingGrant SEQUENCE {
+ primary-Secondary-GrantSelector ENUMERATED { primary, secondary }
+ } OPTIONAL,
+ minReduced-E-DPDCH-GainFactor MinReduced-E-DPDCH-GainFactor OPTIONAL,
+ e-DCH-minimumSet-E-TFCI E-DCH-MinimumSet-E-TFCI OPTIONAL,
+ minimumTEBS-threshold MinimumTEBS-threshold OPTIONAL,
+ implicitGrantHandling ENUMERATED { true } OPTIONAL,
+ dpcchPowerOffset-SecondaryULFrequency INTEGER(0..7),
+ pc-Preamble PC-Preamble,
+ ue-DPCCHPowerResetAfterDTXOnSecUplink UE-DPCCHPowerResetAfterDTXOnSecUplink OPTIONAL,
+ additionalSecondaryCellInfoForMixedTTIConfiguration AdditionalSecondaryCellInfoForMixedTTIConfiguration OPTIONAL
+}
+
+Serving-HSDSCH-CellInformation ::= SEQUENCE {
+ deltaACK DeltaACK OPTIONAL,
+ deltaNACK DeltaNACK OPTIONAL,
+ harq-Preamble-Mode HARQ-Preamble-Mode,
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ dl-hspdsch-Information DL-HSPDSCH-Information OPTIONAL,
+ harqInfo HARQ-Info OPTIONAL,
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL
+}
+
+Serving-HSDSCH-CellInformation-r7 ::= SEQUENCE {
+ deltaACK DeltaACK OPTIONAL,
+ deltaNACK DeltaNACK OPTIONAL,
+ harq-Preamble-Mode HARQ-Preamble-Mode,
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ dl-hspdsch-Information DL-HSPDSCH-Information-r7 OPTIONAL,
+ harqInfo HARQ-Info-r7 OPTIONAL,
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL
+}
+
+Serving-HSDSCH-CellInformation-r8 ::= SEQUENCE {
+ deltaACK DeltaACK OPTIONAL,
+ deltaNACK DeltaNACK OPTIONAL,
+ harq-Preamble-Mode HARQ-Preamble-Mode,
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ dl-hspdsch-Information DL-HSPDSCH-Information-r8 OPTIONAL,
+ harqInfo HARQ-Info-r7 OPTIONAL,
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL
+}
+
+Serving-HSDSCH-CellInformation-r9 ::= SEQUENCE {
+ deltaACK DeltaACK OPTIONAL,
+ deltaNACK DeltaNACK OPTIONAL,
+ harq-Preamble-Mode HARQ-Preamble-Mode,
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ dl-hspdsch-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ harqInfo HARQ-Info-r7 OPTIONAL,
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL
+}
+
+Serving-HSDSCH-CellInformation-r11 ::= SEQUENCE {
+ deltaACK DeltaACK-r11 OPTIONAL,
+ deltaNACK DeltaNACK-r11 OPTIONAL,
+ harq-Preamble-Mode HARQ-Preamble-Mode,
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ dl-hspdsch-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ harqInfo HARQ-Info-r11 OPTIONAL,
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL,
+ mac-hsResetIndicator-assisting ENUMERATED { true } OPTIONAL
+}
+
+Serving-HSDSCH-CellInformation-r12 ::= SEQUENCE {
+ deltaACK DeltaACK-r11 OPTIONAL,
+ deltaNACK DeltaNACK-r11 OPTIONAL,
+ harq-Preamble-Mode HARQ-Preamble-Mode,
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ dl-hspdsch-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ harqInfo HARQ-Info-r11 OPTIONAL,
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL,
+ mac-hsResetIndicator-assisting ENUMERATED { true } OPTIONAL
+}
+
+SimultaneousSCCPCH-DPCH-Reception ::= CHOICE {
+ notSupported NULL,
+ supported SEQUENCE {
+ maxNoSCCPCH-RL MaxNoSCCPCH-RL,
+ -- simultaneousSCCPCH-DPCH-DPDCH-Reception is applicable only if
+ -- the IE Support of PDSCH = TRUE
+ -- Note: the reference to DPDCH in the element name below is incorrect (see tabular). The
+ -- name is not changed, to keep it aligned with R99.
+ simultaneousSCCPCH-DPCH-DPDCH-Reception BOOLEAN
+ }
+}
+
+SRNC-Identity ::= BIT STRING (SIZE (12))
+
+SR-VCC-Info ::= SEQUENCE {
+ nonce BIT STRING (SIZE (128)) OPTIONAL
+}
+
+SR-VCC-SecurityRABInfo-v860ext ::= SEQUENCE {
+ sr-vcc-Info SR-VCC-Info,
+ rab-InfoReplace RAB-InfoReplace
+}
+
+START-Value ::= BIT STRING (SIZE (20))
+
+STARTList ::= SEQUENCE (SIZE (1..maxCNdomains)) OF
+ STARTSingle
+
+STARTSingle ::= SEQUENCE {
+ cn-DomainIdentity CN-DomainIdentity,
+ start-Value START-Value
+}
+
+SystemSpecificCapUpdateReq ::= ENUMERATED {
+ gsm }
+
+SystemSpecificCapUpdateReq-v590ext ::= ENUMERATED {
+ geranIu }
+
+SystemSpecificCapUpdateReq-r5 ::= ENUMERATED {
+ gsm, geranIu }
+
+SystemSpecificCapUpdateReq-r8 ::= ENUMERATED {
+ gsm, geranIu, eutra, spare5,
+ spare4, spare3, spare2, spare1 }
+
+SystemSpecificCapUpdateReqList ::= SEQUENCE (SIZE (1..maxSystemCapability)) OF
+ SystemSpecificCapUpdateReq
+
+SystemSpecificCapUpdateReqList-r5 ::= SEQUENCE (SIZE (1..maxSystemCapability)) OF
+ SystemSpecificCapUpdateReq-r5
+
+SystemSpecificCapUpdateReqList-r8 ::= SEQUENCE (SIZE (1..maxSystemCapability)) OF
+ SystemSpecificCapUpdateReq-r8
+
+T-300 ::= ENUMERATED {
+ ms100, ms200, ms400, ms600, ms800,
+ ms1000, ms1200, ms1400, ms1600,
+ ms1800, ms2000, ms3000, ms4000,
+ ms6000, ms8000 }
+
+T-301 ::= ENUMERATED {
+ ms100, ms200, ms400, ms600, ms800,
+ ms1000, ms1200, ms1400, ms1600,
+ ms1800, ms2000, ms3000, ms4000,
+ ms6000, ms8000, spare }
+
+T-302 ::= ENUMERATED {
+ ms100, ms200, ms400, ms600, ms800,
+ ms1000, ms1200, ms1400, ms1600,
+ ms1800, ms2000, ms3000, ms4000,
+ ms6000, ms8000, spare }
+
+T-304 ::= ENUMERATED {
+ ms100, ms200, ms400,
+ ms1000, ms2000, spare3, spare2, spare1 }
+
+T-305 ::= ENUMERATED {
+ noUpdate, m5, m10, m30,
+ m60, m120, m360, m720 }
+
+T-307 ::= ENUMERATED {
+ s5, s10, s15, s20,
+ s30, s40, s50, spare }
+
+T-308 ::= ENUMERATED {
+ ms40, ms80, ms160, ms320 }
+
+T-309 ::= INTEGER (1..8)
+
+T-310 ::= ENUMERATED {
+ ms40, ms80, ms120, ms160,
+ ms200, ms240, ms280, ms320 }
+
+T-311 ::= ENUMERATED {
+ ms250, ms500, ms750, ms1000,
+ ms1250, ms1500, ms1750, ms2000 }
+
+-- The value 0 for T-312 is not used in this version of the specification
+T-312 ::= INTEGER (0..15)
+
+T-313 ::= INTEGER (0..15)
+
+T-314 ::= ENUMERATED {
+ s0, s2, s4, s6, s8,
+ s12, s16, s20 }
+
+T-315 ::= ENUMERATED {
+ s0, s10, s30, s60, s180,
+ s600, s1200, s1800 }
+
+T-316 ::= ENUMERATED {
+ s0, s10, s20, s30, s40,
+ s50, s-inf, spare }
+
+-- All the values are changed to "infinity" in Rel-5
+T-317 ::= ENUMERATED {
+ infinity0, infinity1, infinity2, infinity3, infinity4,
+ infinity5, infinity6, infinity7}
+
+T-318 ::= ENUMERATED {
+ ms250, ms500, ms750, ms1000, ms1250, ms1500,
+ ms1750, ms2000, ms3000, ms4000, ms6000, ms8000,
+ ms10000, ms12000, ms16000 }
+
+T-319 ::= ENUMERATED {
+ ms80, ms160, ms320, ms640, ms1280, ms2560, ms5120 }
+
+T-321 ::= ENUMERATED {
+ ms100, ms200, ms400, ms800 }
+
+T-322 ::= ENUMERATED { m5, m10, m20, m30, m60,
+ m120, m180, spare1 }
+
+T-323 ::= ENUMERATED { s0, s5, s10, s20, s30, s60, s90, s120 }
+
+T-328 ::= ENUMERATED { ms20, ms40, ms60, ms80 }
+
+T-329 ::= ENUMERATED { s05p, s1, s2, s4 }
+T-330 ::= ENUMERATED { m5, m10, m20, m30,
+ m60, m120, m180, spare1 }
+
+T-CPCH ::= ENUMERATED {
+ ct0, ct1 }
+
+TMSI-and-LAI-GSM-MAP ::= SEQUENCE {
+ tmsi TMSI-GSM-MAP,
+ lai LAI
+}
+
+TMSI-DS-41 ::= OCTET STRING (SIZE (2..17))
+
+TotalRLC-AM-BufferSize ::= ENUMERATED {
+ dummy, kb10, kb50, kb100,
+ kb150, kb500, kb1000, spare }
+
+TotalRLC-AM-BufferSize-r5-ext ::= ENUMERATED {
+ kb200, kb300, kb400, kb750 }
+
+TotalRLC-AM-BufferSize-v920ext ::= ENUMERATED {
+ kb1150, kb1250 }
+
+TotalRLC-AM-BufferSize-va40ext ::= ENUMERATED {
+ kb1500, kb1800, kb2300, kb2550 }
+
+TotalRLC-AM-BufferSize-vb50ext ::= ENUMERATED {
+ kb3400, kb3500, kb4400, kb4500, kb5000, spare3, spare2, spare1 }
+
+-- Actual value TransmissionProbability = IE value * 0.125
+TransmissionProbability ::= INTEGER (1..8)
+
+TransportChannelCapability ::= SEQUENCE {
+ dl-TransChCapability DL-TransChCapability,
+ ul-TransChCapability UL-TransChCapability
+}
+
+TurboSupport ::= CHOICE {
+ notSupported NULL,
+ supported MaxNoBits
+}
+
+-- Values defined as spare shall not be sent in this version of the protocol. If a spare value is
+-- received, it should be interpreted as 'default-RxTX-sparation'.
+TxRxFrequencySeparation ::= ENUMERATED {
+ default-TxRx-separation, spare2, spare1 }
+
+U-RNTI ::= SEQUENCE {
+ srnc-Identity SRNC-Identity,
+ s-RNTI S-RNTI
+}
+
+U-RNTI-Group ::= CHOICE {
+-- TABULAR: not following the tabular strictly, but this will most likely save bits
+ all NULL,
+ u-RNTI-BitMaskIndex-b1 BIT STRING (SIZE (31)),
+ u-RNTI-BitMaskIndex-b2 BIT STRING (SIZE (30)),
+ u-RNTI-BitMaskIndex-b3 BIT STRING (SIZE (29)),
+ u-RNTI-BitMaskIndex-b4 BIT STRING (SIZE (28)),
+ u-RNTI-BitMaskIndex-b5 BIT STRING (SIZE (27)),
+ u-RNTI-BitMaskIndex-b6 BIT STRING (SIZE (26)),
+ u-RNTI-BitMaskIndex-b7 BIT STRING (SIZE (25)),
+ u-RNTI-BitMaskIndex-b8 BIT STRING (SIZE (24)),
+ u-RNTI-BitMaskIndex-b9 BIT STRING (SIZE (23)),
+ u-RNTI-BitMaskIndex-b10 BIT STRING (SIZE (22)),
+ u-RNTI-BitMaskIndex-b11 BIT STRING (SIZE (21)),
+ u-RNTI-BitMaskIndex-b12 BIT STRING (SIZE (20)),
+ u-RNTI-BitMaskIndex-b13 BIT STRING (SIZE (19)),
+ u-RNTI-BitMaskIndex-b14 BIT STRING (SIZE (18)),
+ u-RNTI-BitMaskIndex-b15 BIT STRING (SIZE (17)),
+ u-RNTI-BitMaskIndex-b16 BIT STRING (SIZE (16)),
+ u-RNTI-BitMaskIndex-b17 BIT STRING (SIZE (15)),
+ u-RNTI-BitMaskIndex-b18 BIT STRING (SIZE (14)),
+ u-RNTI-BitMaskIndex-b19 BIT STRING (SIZE (13)),
+ u-RNTI-BitMaskIndex-b20 BIT STRING (SIZE (12)),
+ u-RNTI-BitMaskIndex-b21 BIT STRING (SIZE (11)),
+ u-RNTI-BitMaskIndex-b22 BIT STRING (SIZE (10)),
+ u-RNTI-BitMaskIndex-b23 BIT STRING (SIZE (9)),
+ u-RNTI-BitMaskIndex-b24 BIT STRING (SIZE (8)),
+ u-RNTI-BitMaskIndex-b25 BIT STRING (SIZE (7)),
+ u-RNTI-BitMaskIndex-b26 BIT STRING (SIZE (6)),
+ u-RNTI-BitMaskIndex-b27 BIT STRING (SIZE (5)),
+ u-RNTI-BitMaskIndex-b28 BIT STRING (SIZE (4)),
+ u-RNTI-BitMaskIndex-b29 BIT STRING (SIZE (3)),
+ u-RNTI-BitMaskIndex-b30 BIT STRING (SIZE (2)),
+ u-RNTI-BitMaskIndex-b31 BIT STRING (SIZE (1))
+}
+
+U-RNTI-Short ::= SEQUENCE {
+ srnc-Identity SRNC-Identity,
+ s-RNTI-2 S-RNTI-2
+}
+
+UE-AddPos-Supported-List ::= SEQUENCE (SIZE (1..maxAddPos)) OF UE-AddPos-element
+
+UE-AddPos-element ::= SEQUENCE{
+ addPos-ID ENUMERATED {barometricPressure, wlan, bt, mbs,
+ spare4, spare3, spare2, spare1 },
+ addPos-Mode ENUMERATED {standalone, ue-assisted,
+ both, spare1 }
+
+}
+
+UE-BasedNetworkPerformanceMeasurementsParameters ::= SEQUENCE {
+ supportOfLoggedMeasurementsIdlePCH ENUMERATED { true } OPTIONAL
+}
+
+UE-CapabilityContainer-IEs ::= SEQUENCE {
+-- Container for transparent transfer of capability information not related to
+-- features for which early implementation is desired
+ ue-RadioAccessCapability-v690ext UE-RadioAccessCapability-v690ext,
+ ue-RATSpecificCapability-v690ext InterRAT-UE-RadioAccessCapability-v690ext OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v6b0ext UE-RadioAccessCapability-v6b0ext-IEs,
+ v6e0NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v6e0ext UE-RadioAccessCapability-v6e0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v770ext UE-RadioAccessCapability-v770ext-IEs,
+ v790NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v790ext UE-RadioAccessCapability-v790ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v860ext
+ UE-RadioAccessCapability-v860ext-IEs,
+ ue-RATSpecificCapability-v860ext
+ InterRAT-UE-RadioAccessCapability-v860ext OPTIONAL,
+ v880NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v880ext
+ UE-RadioAccessCapability-v880ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v890ext
+ UE-RadioAccessCapability-v890ext-IEs,
+ v920NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v920ext
+ UE-RadioAccessCapability-v920ext-IEs,
+ v970NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v970ext
+ UE-RadioAccessCapability-v970ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-va40ext
+ UE-RadioAccessCapability-va40ext-IEs,
+ va60NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-va60ext
+ UE-RadioAccessCapability-va60ext-IEs,
+ va80NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-va80ext
+ UE-RadioAccessCapability-va80ext-IEs,
+ laterNonCriticalExtensions
+ UE-RadioAccessCapability-LaterNonCriticalExtensions OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+UE-RadioAccessCapability-v6b0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForSIB11bis ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v6e0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForFDPCH ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ pdcp-Capability PDCP-Capability-v770ext OPTIONAL,
+ rlc-Capability RLC-Capability-v770ext,
+ rf-Capability RF-Capability-v770ext OPTIONAL,
+ physicalChannelCapability PhysicalChannelCapability-v770ext,
+ multiModeRAT-Capability MultiModeRAT-Capability-v770ext,
+ ue-PositioningCapability UE-PositioningCapability-v770ext,
+ mac-ehsSupport ENUMERATED { true } OPTIONAL,
+ ue-specificCapabilityInformation UE-SpecificCapabilityInformation-LCRTDD OPTIONAL
+}
+
+UE-RadioAccessCapability-v790ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForEDPCCHPowerBoosting ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v860ext-IEs ::= SEQUENCE {
+ -- UE radio access capability
+ rf-Capability RF-Capability-v860ext OPTIONAL,
+ physicalChannelCapability PhysicalChannelCapability-v860ext,
+ multiModeRAT-Capability MultiModeRAT-Capability-v860ext,
+ ue-PositioningCapability UE-PositioningCapability-v860ext,
+ measurementCapability MeasurementCapability-v860ext OPTIONAL,
+ measurementCapabilityTDD MeasurementCapabilityTDD OPTIONAL,
+ supportOfCommonEDCH ENUMERATED { true } OPTIONAL,
+ supportOfMACiis ENUMERATED { true } OPTIONAL,
+ supportOfSPSOperation ENUMERATED { true } OPTIONAL,
+ supportOfControlChannelDRXOperation ENUMERATED { true } OPTIONAL,
+ supportOfCSG ENUMERATED { true } OPTIONAL,
+ -- UE radio access capability extension
+ ue-RadioAccessCapabBandFDDList3 UE-RadioAccessCapabBandFDDList3 OPTIONAL
+}
+
+UE-RadioAccessCapability-v880ext-IEs ::= SEQUENCE {
+ -- UE radio access capability
+ supportForPriorityReselectionInUTRAN ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v890ext-IEs ::= SEQUENCE {
+ -- UE radio access capability
+ supportCellSpecificTxDiversityinDC-Operation ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v920ext-IEs ::= SEQUENCE {
+ -- UE physical channel capability,
+ ue-RadioAccessCapabBandCombList UE-RadioAccessCapabBandCombList OPTIONAL,
+ physicalChannelCapability PhysicalChannelCapability-v920ext,
+ rlc-Capability RLC-Capability-v920ext,
+ supportOfenhancedTS0 ENUMERATED { true } OPTIONAL,
+ measurementCapability MeasurementCapability-v920ext OPTIONAL,
+ -- UE radio access capability
+ csgProximityIndicationCapability CSG-ProximityIndicationCapability OPTIONAL,
+ neighCellSI-AcquisitionCapability NeighCellSI-AcquisitionCapability OPTIONAL
+}
+
+UE-RadioAccessCapability-v970ext-IEs ::= SEQUENCE {
+ -- UE physical channel capability
+ ue-ExtendedMeasurementSupport ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v9c0ext-IEs ::= SEQUENCE {
+ -- UE voice over IMS related capability
+ voiceOverUTRA-PS-HS-Support ENUMERATED { true } OPTIONAL,
+ srvcc-SupportFromUTRA-to-UTRA ENUMERATED { true } OPTIONAL,
+ srvcc-SupportFromUTRA-to-GERAN ENUMERATED { true } OPTIONAL,
+ -- UE radio access capability
+ ue-supportMac-ehsWindowSizeExtension ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-LaterNonCriticalExtensions ::= SEQUENCE {
+ v9c0NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-v9c0ext UE-RadioAccessCapability-v9c0ext-IEs,
+ vaa0NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-vaa0ext UE-RadioAccessCapability-vaa0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-vb50ext UE-RadioAccessCapability-vb50ext-IEs,
+ vb70NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-vb70ext UE-RadioAccessCapability-vb70ext-IEs,
+ vae0NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-vae0ext UE-RadioAccessCapability-vae0ext-IEs,
+ vb80NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-vb80ext UE-RadioAccessCapability-vb80ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-vc50ext
+ UE-RadioAccessCapability-vc50ext-IEs,
+ vd20NonCriticalExtensions SEQUENCE {
+ ue-RadioAccessCapability-vd20ext
+ UE-RadioAccessCapability-vd20ext-IEs,
+ ve30NonCriticalExtensions UE-RadioAccessCapability-ve30ext-IEs OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ }
+}
+
+
+UE-RadioAccessCapability-va40ext-IEs ::= SEQUENCE {
+ -- UE physical channel capability
+ ue-RadioAccessCapabBandCombList-va40ext UE-RadioAccessCapabBandCombList-va40ext OPTIONAL,
+ physicalChannelCapability PhysicalChannelCapability-va40ext,
+ rlc-Capability RLC-Capability-va40ext,
+ measurementCapability MeasurementCapability-va40ext OPTIONAL,
+ supportOfMUMIMO ENUMERATED { uplink, uplink-and-downlink } OPTIONAL,
+ supportForDualCellMimoInDifferentBands ENUMERATED { true } OPTIONAL,
+ ue-BasedNetworkPerformanceMeasurementsParameters
+ UE-BasedNetworkPerformanceMeasurementsParameters OPTIONAL,
+ supportOfUTRANANR ENUMERATED { true } OPTIONAL,
+ -- UE radio access capability extension
+ ue-RadioAccessCapabBandFDDList4 UE-RadioAccessCapabBandFDDList4 OPTIONAL
+}
+
+UE-RadioAccessCapability-va60ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList4 UE-RadioAccessCapabBandFDDList4-va60ext OPTIONAL
+}
+
+UE-RadioAccessCapability-va80ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList4 UE-RadioAccessCapabBandFDDList4-va80ext OPTIONAL
+}
+
+UE-RadioAccessCapability-vaa0ext-IEs ::= SEQUENCE {
+ supportOfUMRLCre-establish-via-reconfig ENUMERATED { true } OPTIONAL,
+ rf-capability RF-Capability-vaa0ext OPTIONAL
+}
+
+UE-RadioAccessCapability-vae0ext-IEs ::= SEQUENCE {
+ -- UE radio access capability
+ multiModeRAT-Capability MultiModeRAT-Capability-vae0ext OPTIONAL
+}
+
+UE-RadioAccessCapability-vb50ext-IEs ::= SEQUENCE {
+ multiModeRAT-Capability MultiModeRAT-Capability-vb50ext,
+ supportOfCommonERGCHBasedInterferenceControl ENUMERATED { true } OPTIONAL,
+ supportOfFallbackToR99PRACH ENUMERATED { true } OPTIONAL,
+ supportOfConcurrentDeployment ENUMERATED { true } OPTIONAL,
+ supportOfTTIalignmentAndPerHARQProcess ENUMERATED { true } OPTIONAL,
+ -- UE physical channel capability
+ ue-RadioAccessCapabBandCombList-vb50ext UE-RadioAccessCapabBandCombList-vb50ext OPTIONAL,
+ multiflowCapabBandCombList MultiflowCapabBandCombList OPTIONAL,
+ physicalChannelCapability PhysicalChannelCapability-vb50ext,
+ rlc-Capability RLC-Capability-vb50ext,
+ multiflowCapability MultiflowCapability OPTIONAL,
+ -- UE radio access capability extension
+ ue-RadioAccessCapabBandFDDList6 UE-RadioAccessCapabBandFDDList6 OPTIONAL,
+ -- Measurement capability
+ measurementCapability MeasurementCapability-vb50ext OPTIONAL,
+ measurementCapabilityTDD MeasurementCapabilityTDD-vb50ext OPTIONAL,
+ -- UE voice over IMS related capability
+ rsrvcc-SupportFromUTRA-CS-to-EUTRA-FDD ENUMERATED { true } OPTIONAL,
+ rsrvcc-SupportFromUTRA-CS-to-EUTRA-TDD ENUMERATED { true } OPTIONAL,
+ supportOfHSDPCCHPowerOffsetExtension ENUMERATED { true } OPTIONAL,
+ supportOfSTTDOnDLControlChannelsWhenMultiflowOperationIsActive
+ ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-vb70ext-IEs ::= SEQUENCE {
+ measurementCapability MeasurementCapability-vb70ext OPTIONAL,
+ ue-RadioAccessCapabBandFDDList7 UE-RadioAccessCapabBandFDDList7 OPTIONAL
+}
+
+UE-RadioAccessCapability-vb80ext-IEs ::= SEQUENCE {
+ -- UE physical channel capability
+ physicalChannelCapability PhysicalChannelCapability-vb80ext
+}
+
+UE-RadioAccessCapability-vc50ext-IEs ::= SEQUENCE {
+ --the capability is for FDD only
+ measurementCapability MeasurementCapability-vc50ext OPTIONAL,
+ supportofDsacAndPpacInCellDch ENUMERATED { true } OPTIONAL,
+ supportOfMultiflowWithFTPICHFromAssisting ENUMERATED { true } OPTIONAL,
+ multiModeRAT-Capability MultiModeRAT-Capability-vc50ext OPTIONAL,
+ -- UE physical channel capability
+ physicalChannelCapability PhysicalChannelCapability-vc50ext OPTIONAL
+}
+
+UE-RadioAccessCapability-vd20ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabBandCombList UE-RadioAccessCapabBandCombList-vd20ext OPTIONAL,
+ multiModeRAT-Capability MultiModeRAT-Capability-vd20ext OPTIONAL,
+ -- UE physical channel capability
+ physicalChannelCapability PhysicalChannelCapability-vd20ext OPTIONAL,
+ -- UE positioning capability
+ ue-PositioningCapability UE-PositioningCapability-vd20ext OPTIONAL,
+ -- the capability is for FDD only
+ supportofRetrievableConfigurations ENUMERATED { true } OPTIONAL,
+ supportofURAPCHwithSeamlessTransition ENUMERATED { true } OPTIONAL,
+ supportofImprovedSynchronizedRRCProcedures ENUMERATED { true } OPTIONAL,
+ supportofEnhancedStateTransition ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-ve30ext-IEs ::= SEQUENCE {
+ measurementCapability MeasurementCapability-ve30ext OPTIONAL,
+ supportofSimultaneousSetupandReleaseofRABsRBs ENUMERATED { true } OPTIONAL,
+ physicalChannelCapability PhysicalChannelCapability-ve30ext OPTIONAL,
+ ue-RadioAccessCapability-vf10ext UE-RadioAccessCapability-vf10ext-IEs OPTIONAL
+}
+
+UE-RadioAccessCapability-vf10ext-IEs ::= SEQUENCE {
+ physicalChannelCapability PhysicalChannelCapability-vf10ext OPTIONAL,
+ ue-RadioAccessCapability-vf20ext-IEs UE-RadioAccessCapability-vf20ext-IEs OPTIONAL
+}
+
+UE-RadioAccessCapability-vf20ext-IEs ::= SEQUENCE {
+ measurementCapability MeasurementCapability-vf20ext OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+
+UE-ConnTimersAndConstants ::= SEQUENCE {
+-- Optional is used also for parameters for which the default value is the last one read in SIB1
+-- t-301 and n-301 should not be used by the UE in this version of the specification
+ t-301 T-301 DEFAULT ms2000,
+ n-301 N-301 DEFAULT 2,
+ t-302 T-302 DEFAULT ms4000,
+ n-302 N-302 DEFAULT 3,
+ t-304 T-304 DEFAULT ms2000,
+ n-304 N-304 DEFAULT 2,
+ t-305 T-305 DEFAULT m30,
+ t-307 T-307 DEFAULT s30,
+ t-308 T-308 DEFAULT ms160,
+ t-309 T-309 DEFAULT 5,
+ t-310 T-310 DEFAULT ms160,
+ n-310 N-310 DEFAULT 4,
+ t-311 T-311 DEFAULT ms2000,
+ t-312 T-312 DEFAULT 1,
+ -- n-312 shall be ignored if n-312 in UE-ConnTimersAndConstants-v3a0ext is present, and the
+ -- value of that element shall be used instead.
+ n-312 N-312 DEFAULT s1,
+ t-313 T-313 DEFAULT 3,
+ n-313 N-313 DEFAULT s20,
+ t-314 T-314 DEFAULT s12,
+ t-315 T-315 DEFAULT s180,
+ -- n-315 shall be ignored if n-315 in UE-ConnTimersAndConstants-v3a0ext is present, and the
+ -- value of that element shall be used instead.
+ n-315 N-315 DEFAULT s1,
+ t-316 T-316 DEFAULT s30,
+ t-317 T-317 DEFAULT infinity4
+}
+
+UE-ConnTimersAndConstants-v3a0ext ::= SEQUENCE {
+ n-312 N-312ext OPTIONAL,
+ n-315 N-315ext OPTIONAL
+}
+
+UE-ConnTimersAndConstants-r5 ::= SEQUENCE {
+-- Optional is used also for parameters for which the default value is the last one read in SIB1
+-- t-301 and n-301 should not be used by the UE in this version of the specification
+ t-301 T-301 DEFAULT ms2000,
+ n-301 N-301 DEFAULT 2,
+ t-302 T-302 DEFAULT ms4000,
+ n-302 N-302 DEFAULT 3,
+ t-304 T-304 DEFAULT ms2000,
+ n-304 N-304 DEFAULT 2,
+ t-305 T-305 DEFAULT m30,
+ t-307 T-307 DEFAULT s30,
+ t-308 T-308 DEFAULT ms160,
+ t-309 T-309 DEFAULT 5,
+ t-310 T-310 DEFAULT ms160,
+ n-310 N-310 DEFAULT 4,
+ t-311 T-311 DEFAULT ms2000,
+ t-312 T-312 DEFAULT 1,
+ n-312 N-312-r5 DEFAULT s1,
+ t-313 T-313 DEFAULT 3,
+ n-313 N-313 DEFAULT s20,
+ t-314 T-314 DEFAULT s12,
+ t-315 T-315 DEFAULT s180,
+ n-315 N-315-r5 DEFAULT s1,
+ t-316 T-316 DEFAULT s30,
+ t-317 T-317 DEFAULT infinity4
+}
+
+UE-ConnTimersAndConstants-v860ext ::= SEQUENCE {
+ t-323 T-323 OPTIONAL
+}
+
+UE-ConnTimersAndConstants-r11 ::= SEQUENCE {
+-- Optional is used also for parameters for which the default value is the last one read in SIB1
+-- t-301 and n-301 should not be used by the UE in this version of the specification
+ t-301 T-301 DEFAULT ms2000,
+ n-301 N-301 DEFAULT 2,
+ t-302 T-302 DEFAULT ms4000,
+ n-302 N-302 DEFAULT 3,
+ t-304 T-304 DEFAULT ms2000,
+ n-304 N-304 DEFAULT 2,
+ t-305 T-305 DEFAULT m30,
+ t-307 T-307 DEFAULT s30,
+ t-308 T-308 DEFAULT ms160,
+ t-309 T-309 DEFAULT 5,
+ t-310 T-310 DEFAULT ms160,
+ n-310 N-310 DEFAULT 4,
+ t-311 T-311 DEFAULT ms2000,
+ t-312 T-312 DEFAULT 1,
+ n-312 N-312-r5 DEFAULT s1,
+ t-313 T-313 DEFAULT 3,
+ n-313 N-313 DEFAULT s20,
+ t-314 T-314 DEFAULT s12,
+ t-315 T-315 DEFAULT s180,
+ n-315 N-315-r5 DEFAULT s1,
+ t-316 T-316 DEFAULT s30,
+ t-317 T-317 DEFAULT infinity4,
+ t-323 T-323 OPTIONAL
+}
+
+UE-GANSSPositioning-Capability ::= SEQUENCE {
+ networkAssistedGANSS-supportedList NetworkAssistedGANSS-Supported-List OPTIONAL
+}
+
+UE-GANSSPositioning-Capability-v860ext-IEs ::= SEQUENCE {
+ networkAssistedGANSS-supportedList NetworkAssistedGANSS-Supported-List-v860ext OPTIONAL
+}
+
+UE-IdleTimersAndConstants ::= SEQUENCE {
+ t-300 T-300,
+ n-300 N-300,
+ t-312 T-312,
+ -- n-312 shall be ignored if n-312 in UE-IdleTimersAndConstants-v3a0ext is present, and the
+ -- value of that element shall be used instead.
+ n-312 N-312
+}
+
+UE-HSPA-Identities-r6 ::= SEQUENCE {
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL
+}
+
+UE-IdleTimersAndConstants-v3a0ext ::= SEQUENCE {
+ n-312 N-312ext OPTIONAL
+}
+
+UE-MultiModeRAT-Capability ::= SEQUENCE {
+ multiRAT-CapabilityList MultiRAT-Capability,
+ multiModeCapability MultiModeCapability
+}
+
+UE-PowerClass ::= INTEGER (1..4)
+
+UE-PowerClassExt ::= ENUMERATED {class1, class2, class3, class4,
+ spare4, spare3, spare2, spare1 }
+
+UE-RadioAccessCapability ::= SEQUENCE {
+ -- UE-RadioAccessCapability is compatible with R99, although accessStratumReleaseIndicator
+ -- is removed from this IE, since its encoding did not result in bits. The
+ -- accessStratumReleaseIndicator is provided in the relevant REL-4 extension IEs.
+ pdcp-Capability PDCP-Capability,
+ rlc-Capability RLC-Capability,
+ transportChannelCapability TransportChannelCapability,
+ rf-Capability RF-Capability,
+ physicalChannelCapability PhysicalChannelCapability,
+ ue-MultiModeRAT-Capability UE-MultiModeRAT-Capability,
+ securityCapability SecurityCapability,
+ ue-positioning-Capability UE-Positioning-Capability,
+ measurementCapability MeasurementCapability OPTIONAL
+}
+
+UE-RadioAccessCapabilityInfo ::= SEQUENCE {
+ ue-RadioAccessCapability UE-RadioAccessCapability,
+ ue-RadioAccessCapability-v370ext UE-RadioAccessCapability-v370ext
+}
+
+UE-RadioAccessCapability-v370ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList UE-RadioAccessCapabBandFDDList
+}
+
+UE-RadioAccessCapability-v380ext ::= SEQUENCE {
+ ue-PositioningCapabilityExt-v380 UE-PositioningCapabilityExt-v380
+}
+
+UE-RadioAccessCapability-v3a0ext ::= SEQUENCE {
+ ue-PositioningCapabilityExt-v3a0 UE-PositioningCapabilityExt-v3a0
+}
+
+UE-RadioAccessCapability-v3g0ext ::= SEQUENCE {
+ ue-PositioningCapabilityExt-v3g0 UE-PositioningCapabilityExt-v3g0
+}
+
+UE-RadioAccessCapability-v650ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList2 UE-RadioAccessCapabBandFDDList2,
+ -- This IE shall be included if the UE also supports Band I-VII
+ ue-RadioAccessCapabBandFDDList-ext UE-RadioAccessCapabBandFDDList-ext OPTIONAL
+}
+
+UE-RadioAccessCapability-v690ext ::= SEQUENCE {
+ physicalchannelcapability-edch PhysicalChannelCapability-edch-r6,
+ -- TABULAR: deviceType is MD in tabular description
+ -- Default value is 'doesBenefitFromBatteryConsumptionOptimisation'
+ deviceType ENUMERATED { doesNotBenefitFromBatteryConsumptionOptimisation } OPTIONAL
+}
+
+UE-RadioAccessCapability-v7e0ext ::= SEQUENCE {
+ -- User equipment IEs
+ supportForTwoDRXSchemesInPCH ENUMERATED { true } OPTIONAL,
+ supportEDPDCHPowerInterpolation ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v7f0ext ::= SEQUENCE {
+ supportofTxDivOnNonMIMOChannel ENUMERATED { true } OPTIONAL,
+ -- IE physicalChannelCapability-LCR and ue-RadioAccessCapabilityComp-TDD128 shall only be
+ -- included in InterRATHandoverInfo for 1.28 Mcps TDD, otherwise these IEs are not needed here.
+ physicalChannelCapability-LCR PhysicalChannelCapability-LCR-r4 OPTIONAL,
+ ue-RadioAccessCapabilityComp-TDD128 UE-RadioAccessCapabilityComp-TDD128-v7f0ext OPTIONAL
+}
+
+UE-RadioAccessCapabilityInfo-v770ext ::= SEQUENCE {
+ rf-Capability RF-Capability-v770ext OPTIONAL,
+ physicalChannelCapability PhysicalChannelCapabilityInfo-v770ext,
+ ganssSupportIndication ENUMERATED { true } OPTIONAL,
+ mac-ehsSupport ENUMERATED { true } OPTIONAL,
+ ue-SpecificCapabilityInformation UE-SpecificCapabilityInformation-LCRTDD OPTIONAL
+}
+
+UE-RadioAccessCapabilityInfo-TDD128-v8b0ext ::= SEQUENCE {
+ -- INTER RAT HANDOVER INFO
+ measurementCapabilityTDD MeasurementCapabilityTDD OPTIONAL,
+ hSDSCH-physical-layer-category-extension
+ HSDSCH-physical-layer-category-extension OPTIONAL
+}
+
+UE-RadioAccessCapabilityInfo-TDD128-vb50ext ::= SEQUENCE {
+ -- INTER RAT HANDOVER INFO
+ measurementCapabilityTDD MeasurementCapabilityTDD-vb50ext OPTIONAL
+}
+
+UE-RadioAccessCapability-v860ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList3 UE-RadioAccessCapabBandFDDList3
+}
+
+UE-RadioAccessCapability-v880ext ::= SEQUENCE {
+ -- INTER RAT HANDOVER INFO
+ supportForPriorityReselectionInUTRAN ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v890ext ::= SEQUENCE {
+ -- UE radio access capability
+ supportCellSpecificTxDiversityinDC-Operation ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v920ext ::= SEQUENCE {
+ supportOfenhancedTS0 ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-va40ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList4 UE-RadioAccessCapabBandFDDList4
+}
+
+UE-RadioAccessCapability-va60ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList4 UE-RadioAccessCapabBandFDDList4-va60ext OPTIONAL
+}
+
+UE-RadioAccessCapability-va80ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList4-va60ext UE-RadioAccessCapabBandFDDList4-va60ext OPTIONAL,
+ ue-RadioAccessCapabBandFDDList4-va80ext UE-RadioAccessCapabBandFDDList4-va80ext OPTIONAL
+}
+
+UE-RadioAccessCapability-vb50ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList6 UE-RadioAccessCapabBandFDDList6 OPTIONAL
+}
+
+UE-RadioAccessCapability-vb70ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList7 UE-RadioAccessCapabBandFDDList7 OPTIONAL
+}
+
+UE-RadioAccessCapability-vbc0ext ::= SEQUENCE {
+ interRATsupportMultiCellConfiguration ENUMERATED { true } OPTIONAL,
+ ue-RadioAccessCapabBandCombList UE-RadioAccessCapabBandCombList OPTIONAL,
+ ue-RadioAccessCapabBandCombList-va40ext UE-RadioAccessCapabBandCombList-va40ext OPTIONAL
+}
+
+UE-RadioAccessCapability-vd20ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandCombList UE-RadioAccessCapabBandCombList-vd20ext OPTIONAL
+}
+
+
+UE-RadioAccessCapabBand-va40ext ::= SEQUENCE {
+ ue-RadioAccessCapabBandFDDList5 UE-RadioAccessCapabBandFDDList5,
+ -- This IE shall be included if the UE also supports Band I – Band XXII
+ ue-RadioAccessCapabBandFDDList-ext2 UE-RadioAccessCapabBandFDDList-ext2 OPTIONAL
+}
+
+UE-RadioAccessCapabBandFDDList2 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ UE-RadioAccessCapabBandFDD2
+
+UE-RadioAccessCapabBandFDDList3 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ UE-RadioAccessCapabBandFDD3
+
+UE-RadioAccessCapabBandFDDList4 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ UE-RadioAccessCapabBandFDD4
+
+UE-RadioAccessCapabBandFDDList4-va60ext ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ UE-RadioAccessCapabBandFDD4-va60ext
+
+UE-RadioAccessCapabBandFDDList4-va80ext ::= SEQUENCE (SIZE (1..maxFreqBandsFDD-ext3)) OF
+ UE-RadioAccessCapabBandFDD4-va80ext
+
+UE-RadioAccessCapabBandFDDList5 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD-ext2)) OF
+ UE-RadioAccessCapabBandFDD5
+
+UE-RadioAccessCapabBandFDDList6 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD3)) OF
+ UE-RadioAccessCapabBandFDD6
+
+UE-RadioAccessCapabBandFDDList7 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD3)) OF
+ UE-RadioAccessCapabBandFDD7
+
+UE-RadioAccessCapabBandFDD2 ::= SEQUENCE {
+ radioFrequencyBandFDD2 RadioFrequencyBandFDD2,
+ fddRF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClassExt,
+ txRxFrequencySeparation TxRxFrequencySeparation
+ } OPTIONAL,
+ measurementCapability2 MeasurementCapabilityExt2
+}
+
+UE-RadioAccessCapabBandFDD3 ::= SEQUENCE {
+ -- UE may omit both IEs if this IE indicates the same EUTRA compressed
+ -- mode capability for all supported UTRA bands
+ -- Otherwise, the UE shall include either one of the following OPTIONAL IEs.
+ radioFrequencyBandFDD RadioFrequencyBandFDD OPTIONAL,
+ radioFrequencyBandFDD2 RadioFrequencyBandFDD2 OPTIONAL,
+ measurementCapability3 MeasurementCapabilityExt3
+}
+
+UE-RadioAccessCapabBandFDD4 ::= SEQUENCE {
+ -- UE may omit all the radioFrequencyBand IEs if this IE indicates the same
+ -- capability for all supported UTRA bands
+ -- Otherwise, the UE shall include either one of the following OPTIONAL IEs.
+ radioFrequencyBandFDD RadioFrequencyBandFDD OPTIONAL,
+ radioFrequencyBandFDD2 RadioFrequencyBandFDD2 OPTIONAL,
+ radioFrequencyBandFDD3 RadioFrequencyBandFDD3 OPTIONAL,
+ additionalSecondaryCells ENUMERATED { a1, a2 } OPTIONAL,
+ nonContiguousMultiCellCombinationList NonContiguousMultiCellCombinationList OPTIONAL
+}
+
+UE-RadioAccessCapabBandFDD4-va60ext ::= SEQUENCE {
+ supportofULOLTD ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapabBandFDD4-va80ext ::= SEQUENCE {
+ -- UE may omit all the radioFrequencyBand IEs if this IE indicates the same
+ -- capability for all supported UTRA bands
+ -- Otherwise, the UE shall include either one of the following OPTIONAL IEs.
+ radioFrequencyBandFDD RadioFrequencyBandFDD OPTIONAL,
+ radioFrequencyBandFDD2 RadioFrequencyBandFDD2 OPTIONAL,
+ radioFrequencyBandFDD3 RadioFrequencyBandFDD3 OPTIONAL,
+ additionalSecondaryCells ENUMERATED { a1, a2 } OPTIONAL,
+ nonContiguousMultiCellCombinationList NonContiguousMultiCellCombinationList OPTIONAL,
+ supportofULOLTD ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapabBandFDD5 ::= SEQUENCE {
+ radioFrequencyBandFDD3 RadioFrequencyBandFDD3,
+ fddRF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClassExt,
+ txRxFrequencySeparation TxRxFrequencySeparation
+ } OPTIONAL,
+ measurementCapability4 MeasurementCapabilityExt4
+}
+
+UE-RadioAccessCapabBandFDD6 ::= SEQUENCE {
+ -- UE may omit all the radioFrequencyBand IEs if this IE indicates the same
+ -- capability for all supported UTRA bands
+ -- Otherwise, the UE shall include either one of the following OPTIONAL IEs.
+ radioFrequencyBandFDD RadioFrequencyBandFDD OPTIONAL,
+ radioFrequencyBandFDD2 RadioFrequencyBandFDD2 OPTIONAL,
+ radioFrequencyBandFDD3 RadioFrequencyBandFDD3 OPTIONAL,
+ additionalSecondaryCells2 ENUMERATED { a3, a4, a5, a6 } OPTIONAL,
+ supportOfULCLTD ENUMERATED { true } OPTIONAL,
+ multiflowCapability MultiflowPerBandCapability OPTIONAL,
+ mimo4x4CapabilityBand ENUMERATED { true } OPTIONAL,
+ supportOfULMIMO ENUMERATED { true } OPTIONAL,
+ measurementCapability5 MeasurementCapabilityExt5,
+ freqSpecificCompressedModeForNonContiguous ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapabBandFDD7 ::= SEQUENCE {
+ -- UE may omit all the radioFrequencyBand IEs if this IE indicates the same
+ -- capability for all supported UTRA bands
+ -- Otherwise, the UE shall include either one of the following OPTIONAL IEs.
+ radioFrequencyBandFDD RadioFrequencyBandFDD OPTIONAL,
+ radioFrequencyBandFDD2 RadioFrequencyBandFDD2 OPTIONAL,
+ radioFrequencyBandFDD3 RadioFrequencyBandFDD3 OPTIONAL,
+ measurementCapability6 MeasurementCapabilityExt6
+}
+
+UE-PositioningCapabilityExt-v380 ::= SEQUENCE {
+ rx-tx-TimeDifferenceType2Capable BOOLEAN
+}
+
+UE-PositioningCapabilityExt-v3a0 ::= SEQUENCE {
+ validity-CellPCH-UraPCH ENUMERATED { true }
+}
+
+UE-PositioningCapabilityExt-v3g0 ::= SEQUENCE {
+ sfn-sfnType2Capability ENUMERATED { true }
+}
+
+UE-PositioningCapability-v770ext ::= SEQUENCE {
+ ue-GANSSPositioning-Capability UE-GANSSPositioning-Capability OPTIONAL
+}
+
+UE-PositioningCapability-v860ext ::= SEQUENCE {
+ ue-GANSSPositioning-Capability-v860ext
+ UE-GANSSPositioning-Capability-v860ext-IEs OPTIONAL
+}
+
+UE-PositioningCapability-vd20ext ::= SEQUENCE {
+ ue-Positioning-AddPos-Capability UE-AddPos-Supported-List OPTIONAL
+}
+
+UE-RadioAccessCapabBandCombList ::= SEQUENCE (SIZE (1..16)) OF BandComb
+
+UE-RadioAccessCapabBandFDDList ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ UE-RadioAccessCapabBandFDD
+
+UE-RadioAccessCapabBandFDDList-ext ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ UE-RadioAccessCapabBandFDD-ext
+
+UE-RadioAccessCapabBandFDDList-ext2 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD2)) OF
+ UE-RadioAccessCapabBandFDD-ext2
+
+UE-RadioAccessCapabBandFDD ::= SEQUENCE{
+ radioFrequencyBandFDD RadioFrequencyBandFDD,
+ fddRF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClassExt,
+ txRxFrequencySeparation TxRxFrequencySeparation
+ } OPTIONAL,
+ measurementCapability MeasurementCapabilityExt
+}
+
+UE-RadioAccessCapabBandFDD-ext ::= SEQUENCE {
+ radioFrequencyBandFDD RadioFrequencyBandFDD,
+ compressedModeMeasCapabFDDList-ext CompressedModeMeasCapabFDDList-ext
+}
+
+UE-RadioAccessCapabBandFDD-ext2 ::= SEQUENCE {
+ radioFrequencyBandFDD RadioFrequencyBandFDD OPTIONAL,
+ radioFrequencyBandFDD2 RadioFrequencyBandFDD2 OPTIONAL,
+ compressedModeMeasCapabFDDList3 CompressedModeMeasCapabFDDList3
+}
+
+UE-RadioAccessCapability-v4b0ext ::= SEQUENCE {
+ pdcp-Capability-r4-ext PDCP-Capability-r4-ext,
+ tdd-CapabilityExt SEQUENCE {
+ rf-Capability RF-Capability-r4-ext,
+ physicalChannelCapability-LCR PhysicalChannelCapability-LCR-r4,
+ measurementCapability-r4-ext MeasurementCapability-r4-ext
+ } OPTIONAL,
+ -- IE " AccessStratumReleaseIndicator" is not needed in RRC CONNECTION SETUP COMPLETE
+ accessStratumReleaseIndicator AccessStratumReleaseIndicator OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp ::= SEQUENCE {
+ totalAM-RLCMemoryExceeds10kB BOOLEAN,
+ rf-CapabilityComp RF-CapabilityComp
+}
+
+UE-RadioAccessCapabilityComp-ext ::= SEQUENCE {
+ rf-CapabilityFDDComp RF-CapabBandListFDDComp-ext
+}
+
+UE-RadioAccessCapabilityComp-TDD128-v7f0ext ::= SEQUENCE {
+ hSDSCH-physical-layer-category
+ HSDSCH-physical-layer-category OPTIONAL,
+ multiCarrier-physical-layer-category
+ MultiCarrier-HSDSCH-physical-layer-category OPTIONAL,
+ tdd-edch-PhysicalLayerCategory INTEGER (1..6) OPTIONAL,
+ dl-CapabilityWithSimultaneousHS-DSCHConfig
+ DL-CapabilityWithSimultaneousHS-DSCHConfig OPTIONAL,
+ supportForCSVoiceoverHSPA ENUMERATED { true } OPTIONAL,
+ totalRLC-AM-BufferSize TotalRLC-AM-BufferSize-r5-ext OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp-v770ext ::= SEQUENCE {
+ rf-CapabilityComp RF-CapabilityComp-v770ext,
+ securityCapabilityIndication ENUMERATED { true } OPTIONAL,
+ ganssSupportIndication ENUMERATED { true } OPTIONAL,
+ mac-ehsSupport ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp2 ::= SEQUENCE {
+ fddPhysicalChannelCapab-hspdsch-edch SEQUENCE {
+ dl-CapabilityWithSimultaneousHS-DSCHConfig
+ DL-CapabilityWithSimultaneousHS-DSCHConfig OPTIONAL,
+ physicalChannelCapabComp-hspdsch-r6 HSDSCH-physical-layer-category,
+ physicalChannelCapability-edch-r6 PhysicalChannelCapability-edch-r6
+ } OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp2-v770ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext HSDSCH-physical-layer-category-ext OPTIONAL,
+ edch-PhysicalLayerCategory-extension INTEGER (7) OPTIONAL,
+ hsscchlessHsdschOperation ENUMERATED { true } OPTIONAL,
+ enhancedFdpch ENUMERATED { true } OPTIONAL,
+ hsdschReception-CellFach ENUMERATED { true } OPTIONAL,
+ hsdschReception-CellUraPch ENUMERATED { true } OPTIONAL,
+ discontinuousDpcchTransmission ENUMERATED { true } OPTIONAL,
+ slotFormat4 ENUMERATED { true } OPTIONAL,
+ pdcp-Capability PDCP-Capability-v770ext OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp2-v7f0ext ::= SEQUENCE {
+ supportofTxDivOnNonMIMOChannel ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp2-v860ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext2 HSDSCH-physical-layer-category-ext2 OPTIONAL,
+ supportOfMACiis ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp2-v920ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext3 HSDSCH-physical-layer-category-ext3 OPTIONAL,
+ edch-PhysicalLayerCategory-extension2 INTEGER (8..9) OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp2-va40ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext4 HSDSCH-physical-layer-category-ext4 OPTIONAL,
+ hsdsch-physical-layer-category-ext5 HSDSCH-physical-layer-category-ext5 OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp2-vb50ext ::= SEQUENCE {
+ hsdsch-physical-layer-category-ext6 HSDSCH-physical-layer-category-ext6 OPTIONAL,
+ hsdsch-physical-layer-category-ext7 HSDSCH-physical-layer-category-ext7 OPTIONAL,
+ hsdsch-physical-layer-category-ext8 HSDSCH-physical-layer-category-ext8 OPTIONAL,
+ edch-PhysicalLayerCategory-extension3 INTEGER (10..12) OPTIONAL,
+ supportOfHSDPCCHPowerOffsetExtension ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp2-vc50ext ::= SEQUENCE {
+ supportofDsacAndPpacInCellDch ENUMERATED { true } OPTIONAL,
+ supportforDCHEnhancements ENUMERATED { basic, full } OPTIONAL,
+ simultaneousSupportforDCHEnhancementsAndCM ENUMERATED { true } OPTIONAL,
+ simultaneousSupportforDCHEnhancementsAndDPCCHDiscntTx ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp2-vd20ext ::= SEQUENCE {
+ supportOfDualCellEDCHwithDPDCH ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapabilityComp-TDD128 ::= SEQUENCE {
+ tdd128RF-Capability RadioFrequencyBandTDDextList OPTIONAL,
+ supportOfSFModeForHSPDSCHDualStream ENUMERATED { sf1, sf1sf16 } OPTIONAL,
+ supportOfCommonEDCH ENUMERATED { true } OPTIONAL,
+ supportOfMACiis ENUMERATED { true } OPTIONAL,
+ supportOfSPSOperation ENUMERATED { true } OPTIONAL,
+ supportOfControlChannelDRXOperation ENUMERATED { true } OPTIONAL
+}
+
+RF-CapabilityComp ::= SEQUENCE {
+ fdd CHOICE {
+ notSupported NULL,
+ supported RF-CapabBandListFDDComp
+ },
+ tdd384-RF-Capability CHOICE {
+ notSupported NULL,
+ supported RadioFrequencyBandTDDList
+ },
+ tdd128-RF-Capability CHOICE {
+ notSupported NULL,
+ supported RadioFrequencyBandTDDList
+ }
+}
+
+RF-CapabilityComp-v770ext ::= SEQUENCE {
+ -- If support of TDD384 and/or TDD128 RF capability is indicated in IEs 'RF-CapabilityComp',
+ -- the corresponding IE 'RadioFrequencyBandTDDList-r7' shall be included in this IE.
+ tdd384-RF-Capability RadioFrequencyBandTDDList-r7 OPTIONAL,
+ tdd768-RF-Capability CHOICE {
+ notSupported NULL,
+ supported RadioFrequencyBandTDDList-r7
+ },
+ tdd128-RF-Capability RadioFrequencyBandTDDList-r7 OPTIONAL
+}
+
+-- NOTE: This IE defines the supported TX/RX frequency separation for the respective supported
+-- frequency band. Values defined as spare shall not be sent in this version of the protocol.
+-- If a spare value is received, it should be interpreted as 'default-RxTX-sparation'.
+RF-CapabBandFDDComp ::= ENUMERATED { notSupported,
+ default-TxRx-separation, spare2, spare1 }
+
+RF-CapabBandListFDDComp ::= SEQUENCE (SIZE (1..maxFreqBandsFDD)) OF
+ -- The first entry corresponds with the first value of IE RadioFrequencyBandFDD,
+ -- fdd2100, and so on. No more than seven entries should be included in this IE. The
+ -- 8'th entry, if present, shall be ignored.
+ -- An extension of this IE may be provided using the IE 'RF-CapabBandListFDDComp-ext'.
+ RF-CapabBandFDDComp
+
+RF-CapabBandListFDDComp-ext ::= SEQUENCE (SIZE (1..maxFreqBandsFDD-ext)) OF
+ -- The first entry corresponds with the first value of IE RadioFrequencyBandFDD2,
+ -- bandVIII, and so on.
+ RF-CapabBandFDDComp
+
+RF-CapabBandListFDDComp-ext2 ::= SEQUENCE (SIZE (1..maxFreqBandsFDD-ext2)) OF
+ -- The first entry corresponds with the first value of IE RadioFrequencyBandFDD3,
+ -- 23 (Band XXIII), and so on.
+ RF-CapabBandFDDComp
+
+UE-RadioAccessCapabBandCombList-va40ext ::= SEQUENCE (SIZE (1..16)) OF SupportedCarrierCombination
+
+UE-RadioAccessCapabBandCombList-vb50ext ::= SEQUENCE (SIZE (1..16)) OF
+ SupportedCarrierCombination-ext
+
+
+UE-RadioAccessCapabBandCombList-vd20ext ::= SEQUENCE (SIZE (1..16)) OF
+ SupportDualBandDualCellEdch
+
+SupportedCarrierCombination ::= SEQUENCE {
+ carrierCombination12 BOOLEAN,
+ carrierCombination21 BOOLEAN,
+ carrierCombination13 BOOLEAN,
+ carrierCombination31 BOOLEAN,
+ carrierCombination22 BOOLEAN
+}
+
+SupportedCarrierCombination-ext ::= SEQUENCE {
+ carrierCombination14 BOOLEAN,
+ carrierCombination41 BOOLEAN,
+ carrierCombination15 BOOLEAN,
+ carrierCombination51 BOOLEAN,
+ carrierCombination16 BOOLEAN,
+ carrierCombination61 BOOLEAN,
+ carrierCombination17 BOOLEAN,
+ carrierCombination71 BOOLEAN,
+ carrierCombination23 BOOLEAN,
+ carrierCombination32 BOOLEAN,
+ carrierCombination24 BOOLEAN,
+ carrierCombination42 BOOLEAN,
+ carrierCombination25 BOOLEAN,
+ carrierCombination52 BOOLEAN,
+ carrierCombination26 BOOLEAN,
+ carrierCombination62 BOOLEAN,
+ carrierCombination33 BOOLEAN,
+ carrierCombination34 BOOLEAN,
+ carrierCombination43 BOOLEAN,
+ carrierCombination44 BOOLEAN,
+ carrierCombination35 BOOLEAN,
+ carrierCombination53 BOOLEAN
+}
+
+SupportDualBandDualCellEdch ::= SEQUENCE {
+ dualBandDualCellEdchIndication ENUMERATED { true } OPTIONAL
+}
+
+UE-RadioAccessCapability-v590ext ::= SEQUENCE {
+ dl-CapabilityWithSimultaneousHS-DSCHConfig
+ DL-CapabilityWithSimultaneousHS-DSCHConfig OPTIONAL,
+ pdcp-Capability-r5-ext PDCP-Capability-r5-ext,
+ rlc-Capability-r5-ext RLC-Capability-r5-ext,
+ physicalChannelCapability PhysicalChannelCapability-hspdsch-r5,
+ multiModeRAT-Capability-v590ext MultiModeRAT-Capability-v590ext
+}
+
+UE-RadioAccessCapability-v5c0ext ::= SEQUENCE {
+ pdcp-Capability-r5-ext2 PDCP-Capability-r5-ext2
+}
+
+UE-RadioAccessCapability-v680ext ::= SEQUENCE {
+ multiModeRAT-Capability-v680ext MultiModeRAT-Capability-v680ext
+}
+
+UL-OLTD-InfoFDD ::= SEQUENCE {
+ ulOLTDActivation ENUMERATED {true}
+}
+
+UL-PhysChCapabilityFDD ::= SEQUENCE {
+ maxNoDPDCH-BitsTransmitted MaxNoDPDCH-BitsTransmitted,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy BOOLEAN
+}
+
+UL-PhysChCapabilityFDD-r6 ::= SEQUENCE {
+ maxNoDPDCH-BitsTransmitted MaxNoDPDCH-BitsTransmitted,
+ physicalchannelcapability-edch PhysicalChannelCapability-edch-r6
+}
+
+UL-PhysChCapabilityFDD-v770ext ::= SEQUENCE {
+ edch-PhysicalLayerCategory-extension INTEGER (7) OPTIONAL,
+ discontinuousDpcchTransmission ENUMERATED { true } OPTIONAL,
+ slotFormat4 ENUMERATED { true } OPTIONAL
+}
+
+UL-PhysChCapabilityFDD-v920ext ::= SEQUENCE {
+ edch-PhysicalLayerCategory-extension2 INTEGER (8..9) OPTIONAL
+}
+UL-PhysChCapabilityFDD-vb50ext ::= SEQUENCE {
+ edch-PhysicalLayerCategory-extension3 INTEGER (10..12) OPTIONAL
+}
+
+UL-PhysChCapabilityFDD-vc50ext ::= SEQUENCE {
+ supportofCellReselectionIndicationReporting ENUMERATED { true } OPTIONAL,
+ supportofRadioLinkswithoutDPCHFDPCH ENUMERATED { true } OPTIONAL,
+ supportofServingE-DCHCellDecoupling ENUMERATED { true } OPTIONAL,
+ accessGroupsAccessControl ENUMERATED { true } OPTIONAL,
+ enhancedTTISwitching ENUMERATED { true } OPTIONAL,
+ implicitGrantHandling ENUMERATED { true } OPTIONAL,
+ dtx-enhancements ENUMERATED { true } OPTIONAL
+}
+
+UL-PhysChCapabilityFDD-vd20ext ::= SEQUENCE {
+ supportOfDualCellEDCHwithDPDCH ENUMERATED { true } OPTIONAL
+}
+
+UL-PhysChCapabilityFDD-ve30ext ::= SEQUENCE {
+ supportOfDualCellEDCHOperationEnhancements ENUMERATED { true } OPTIONAL
+}
+
+UL-PhysChCapabilityTDD ::= SEQUENCE {
+ maxTS-PerFrame MaxTS-PerFrame,
+ maxPhysChPerTimeslot MaxPhysChPerTimeslot,
+ minimumSF MinimumSF-UL,
+ supportOfPUSCH BOOLEAN
+}
+
+UL-PhysChCapabilityTDD-384-v770ext ::= SEQUENCE {
+ tdd384-edch CHOICE {
+ supported SEQUENCE {
+ tdd-edch-PhysicalLayerCategory INTEGER (1..16)
+ },
+ unsupported NULL
+ }
+}
+
+UL-PhysChCapabilityTDD-LCR-r4 ::= SEQUENCE {
+ maxTS-PerSubFrame MaxTS-PerSubFrame-r4,
+ maxPhysChPerTimeslot MaxPhysChPerTimeslot,
+ minimumSF MinimumSF-UL,
+ supportOfPUSCH BOOLEAN,
+ supportOf8PSK BOOLEAN
+}
+
+UL-PhysChCapabilityTDD-128-v770ext ::= SEQUENCE {
+ maxPhysChPerTimeslot MaxPhysChPerTimeslot-LCR-r7,
+ tdd128-edch CHOICE {
+ supported SEQUENCE {
+ tdd-edch-PhysicalLayerCategory INTEGER (1..6)
+ },
+ unsupported NULL
+ }
+}
+
+UL-PhysChCapabilityInfoTDD-128-v770ext ::= SEQUENCE {
+ maxPhysChPerTimeslot MaxPhysChPerTimeslot-LCR-r7
+}
+
+UL-PhysChCapabilityInfoTDD-128-va40ext ::= SEQUENCE {
+ multiCarrier-EdchPhysicalLayerCategory-128 INTEGER (1..8) OPTIONAL,
+ maxNumberCarrierForMCHSUPA-TDD ENUMERATED {nf-2, nf-3, nf-6, spare} OPTIONAL
+}
+
+UL-PhysChCapabilityTDD-768 ::= SEQUENCE {
+ maxTS-PerFrame MaxTS-PerFrame,
+ maxPhysChPerTimeslot MaxPhysChPerTimeslot,
+ minimumSF MinimumSF-UL,
+ supportOfPUSCH BOOLEAN,
+ tdd384-edch CHOICE {
+ supported SEQUENCE {
+ tdd-edch-PhysicalLayerCategory INTEGER (1..16)
+ },
+ unsupported NULL
+ }
+}
+
+UL-OtherTTIConfiguration-Information ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ ul-EDCH-Information UL-EDCH-Information-r11,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL
+ }
+ },
+ activationDelay ActivationDelay OPTIONAL
+}
+
+UL-OtherTTIConfigurationInfo-Sec ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ secondaryEDCH-Info-Common SecondaryEDCH-Info-Common-r14,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r14
+ }
+ },
+ activationDelay ActivationDelay OPTIONAL
+}
+
+UL-SecondaryCellInfoFDD ::= CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ secondaryServingEDCHCell-Info SecondaryServingEDCHCell-Info OPTIONAL,
+ secondaryEDCH-Info-Common SecondaryEDCH-Info-Common OPTIONAL,
+ dl-InformationPerSecondaryRL-List DL-InformationPerSecondaryRL-List OPTIONAL
+ }
+}
+
+UL-SecondaryCellInfoFDD-r12 ::= CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ secondaryServingEDCHCell-Info SecondaryServingEDCHCell-Info OPTIONAL,
+ secondaryEDCH-Info-Common SecondaryEDCH-Info-Common-r12 OPTIONAL,
+ dl-InformationPerSecondaryRL-List DL-InformationPerSecondaryRL-List-r12 OPTIONAL
+ }
+}
+
+UL-SecondaryCellInfoFDD-r13 ::= CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ secondaryServingEDCHCell-Info SecondaryServingEDCHCell-Info OPTIONAL,
+ secondaryEDCH-Info-Common SecondaryEDCH-Info-Common-r12 OPTIONAL,
+ dl-InformationPerSecondaryRL-List DL-InformationPerSecondaryRL-List-r13 OPTIONAL
+ }
+}
+
+UL-SecondaryCellInfoFDD-r14 ::= CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ secondaryServingEDCHCell-Info SecondaryServingEDCHCell-Info OPTIONAL,
+ secondaryEDCH-Info-Common SecondaryEDCH-Info-Common-r14 OPTIONAL,
+ dl-InformationPerSecondaryRL-List DL-InformationPerSecondaryRL-List-r13 OPTIONAL
+ }
+}
+
+PhysicalChannelCapability-edch-r6 ::= SEQUENCE {
+ fdd-edch CHOICE {
+ supported SEQUENCE {
+ edch-PhysicalLayerCategory INTEGER (1..16)
+ },
+ unsupported NULL
+ }
+}
+
+UL-TransChCapability ::= SEQUENCE {
+ maxNoBitsTransmitted MaxNoBits,
+ maxConvCodeBitsTransmitted MaxNoBits,
+ turboEncodingSupport TurboSupport,
+ maxSimultaneousTransChs MaxSimultaneousTransChsUL,
+ modeSpecificInfo CHOICE {
+ fdd NULL,
+ tdd SEQUENCE {
+ maxSimultaneousCCTrCH-Count MaxSimultaneousCCTrCH-Count
+ }
+ },
+ maxTransmittedBlocks MaxTransportBlocksUL,
+ maxNumberOfTFC MaxNumberOfTFC-UL,
+ maxNumberOfTF MaxNumberOfTF
+}
+
+UE-Positioning-Capability ::= SEQUENCE {
+ standaloneLocMethodsSupported BOOLEAN,
+ ue-BasedOTDOA-Supported BOOLEAN,
+ networkAssistedGPS-Supported NetworkAssistedGPS-Supported,
+ supportForUE-GPS-TimingOfCellFrames BOOLEAN,
+ supportForIPDL BOOLEAN
+}
+
+UE-SecurityInformation ::= SEQUENCE {
+ start-CS START-Value
+}
+
+UE-SecurityInformation2 ::= SEQUENCE {
+ start-PS START-Value
+}
+
+UE-SpecificCapabilityInformation-LCRTDD ::= ENUMERATED {
+ nF,
+ nFMc-TriRx-UniTx,
+ nFMc-TriRx-TriTx,
+ nFMc-HexRx-UniTx,
+ nFMc-HexRx-TriTx,
+ nFMc-HexRx-HexTx,
+ nFMc-TwoRx-UniTx-Discontiguous,
+ nFMc-TwoRx-TwoTx-Discontiguous,
+ nFMc-TwoRx-UniTx-Contiguous,
+ nFMc-TwoRx-TwoTx-Contiguous,
+ spare6,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+URA-UpdateCause ::= ENUMERATED {
+ changeOfURA,
+ periodicURAUpdate,
+ dummy,
+ spare1 }
+
+UTRAN-DRX-CycleLengthCoefficient ::= INTEGER (3..9)
+
+UTRAN-DRX-CycleLengthCoefficient-r7 ::= SEQUENCE {
+ drx-CycleLengthCoefficient INTEGER (3..9),
+ drx-CycleLengthCoefficient2 INTEGER (3..9) OPTIONAL,
+ timeForDRXCycle2 T-319 OPTIONAL
+}
+
+WaitTime ::= INTEGER (0..15)
+
+-- ***************************************************
+--
+-- RADIO BEARER INFORMATION ELEMENTS (10.3.4)
+--
+-- ***************************************************
+
+AlgorithmSpecificInfo ::= CHOICE {
+ rfc2507-Info RFC2507-Info
+}
+
+AlgorithmSpecificInfo-r4 ::= CHOICE {
+ rfc2507-Info RFC2507-Info,
+ rfc3095-Info RFC3095-Info-r4
+}
+
+CID-InclusionInfo-r4 ::= ENUMERATED {
+ pdcp-Header,
+ rfc3095-PacketFormat }
+
+CommonRBMappingInfo ::= SEQUENCE {
+ logicalChannelIdentity LogicalChannelIdentity,
+ mac-ehs-QueueId MAC-ehs-QueueId
+}
+
+-- Upper limit of COUNT-C is 2^32 - 1
+COUNT-C ::= INTEGER (0..4294967295)
+
+-- Upper limit of COUNT-C-MSB is 2^25 - 1
+COUNT-C-MSB ::= INTEGER (0..33554431)
+
+CS-HSPA-Information ::= SEQUENCE {
+ ul-AMR-Rate UL-AMR-Rate OPTIONAL,
+ maxCS-Delay MaxCS-Delay
+}
+
+DefaultConfigForCellFACH ::= SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdForCellFACH DefaultConfigIdForCellFACH
+}
+
+DefaultConfigIdentity ::= INTEGER (0..10)
+
+DefaultConfigIdentity-r4 ::= INTEGER (0..12)
+
+DefaultConfigIdentity-r5 ::= INTEGER (0..13)
+
+-- DefaultConfigIdentity-r6 values 25..31 are spare and shall not be used in this version of
+-- the protocol
+DefaultConfigIdentity-r6 ::= INTEGER (0..31)
+
+-- DefaultConfigIdForCellFACH values 1..15 are spare and shall not be used in this version of
+-- the protocol
+DefaultConfigIdForCellFACH ::= INTEGER (0..15)
+
+DefaultConfigMode ::= ENUMERATED {
+ fdd,
+ tdd }
+
+DDI ::= INTEGER (0..62)
+
+DL-AM-RLC-Mode ::= SEQUENCE {
+ inSequenceDelivery BOOLEAN,
+ receivingWindowSize ReceivingWindowSize,
+ dl-RLC-StatusInfo DL-RLC-StatusInfo
+}
+
+DL-AM-RLC-Mode-r5 ::= SEQUENCE {
+ dl-RLC-PDU-size OctetModeRLC-SizeInfoType1,
+ inSequenceDelivery BOOLEAN,
+ receivingWindowSize ReceivingWindowSize,
+ dl-RLC-StatusInfo DL-RLC-StatusInfo
+}
+
+DL-AM-RLC-Mode-r7 ::= SEQUENCE {
+ dl-RLC-PDU-size CHOICE {
+ fixedSize OctetModeRLC-SizeInfoType1,
+ flexibleSize ENUMERATED { size7, size15 }
+ },
+ inSequenceDelivery BOOLEAN,
+ receivingWindowSize ReceivingWindowSize,
+ dl-RLC-StatusInfo DL-RLC-StatusInfo
+}
+
+DL-AM-RLC-Mode-r11 ::= SEQUENCE {
+ dl-RLC-PDU-size CHOICE {
+ fixedSize OctetModeRLC-SizeInfoType1,
+ flexibleSize ENUMERATED { size7, size15 }
+ },
+ inSequenceDelivery BOOLEAN,
+ receivingWindowSize ReceivingWindowSize,
+ dl-RLC-StatusInfo DL-RLC-StatusInfo-r11
+}
+
+DL-CounterSynchronisationInfo ::= SEQUENCE {
+ rB-WithPDCP-InfoList RB-WithPDCP-InfoList OPTIONAL
+}
+
+DL-CounterSynchronisationInfo-r5 ::= SEQUENCE {
+ rb-WithPDCP-InfoList RB-WithPDCP-InfoList OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL
+}
+
+DL-LogicalChannelMapping ::= SEQUENCE {
+ -- TABULAR: DL-TransportChannelType contains TransportChannelIdentity as well.
+ dl-TransportChannelType DL-TransportChannelType,
+ logicalChannelIdentity LogicalChannelIdentity OPTIONAL
+}
+
+DL-LogicalChannelMapping-r5 ::= SEQUENCE {
+ -- TABULAR: DL-TransportChannelType contains TransportChannelIdentity as well.
+ dl-TransportChannelType DL-TransportChannelType-r5,
+ logicalChannelIdentity LogicalChannelIdentity OPTIONAL
+}
+
+DL-LogicalChannelMapping-r7 ::= SEQUENCE {
+ -- TABULAR: DL-TransportChannelType contains TransportChannelIdentity as well.
+ dl-TransportChannelType DL-TransportChannelType-r7,
+ logicalChannelIdentity LogicalChannelIdentity OPTIONAL
+}
+
+DL-LogicalChannelMappingList ::= SEQUENCE (SIZE (1..maxLoCHperRLC)) OF
+ DL-LogicalChannelMapping
+
+DL-LogicalChannelMappingList-r5 ::= SEQUENCE (SIZE (1..maxLoCHperRLC)) OF
+ DL-LogicalChannelMapping-r5
+
+DL-LogicalChannelMappingList-r7 ::= SEQUENCE (SIZE (1..maxLoCHperRLC)) OF
+ DL-LogicalChannelMapping-r7
+
+DL-Reception-Window-Size-r6 ::= ENUMERATED { size32, size48, size64, size80, size96, size112 }
+
+DL-RFC3095-r4 ::= SEQUENCE {
+ -- dummy is not used in this version of the specification and shall be ignored by the receiver.
+ dummy CID-InclusionInfo-r4,
+ max-CID INTEGER (1..16383) DEFAULT 15,
+ reverseDecompressionDepth INTEGER (0..65535) DEFAULT 0
+}
+
+DL-RLC-Mode ::= CHOICE {
+ dl-AM-RLC-Mode DL-AM-RLC-Mode,
+ dl-UM-RLC-Mode NULL,
+ dl-TM-RLC-Mode DL-TM-RLC-Mode
+}
+
+DL-RLC-Mode-r5 ::= CHOICE {
+ dl-AM-RLC-Mode DL-AM-RLC-Mode-r5,
+ dl-UM-RLC-Mode DL-UM-RLC-Mode-r5,
+ dl-TM-RLC-Mode DL-TM-RLC-Mode
+}
+
+DL-RLC-Mode-r6 ::= CHOICE {
+ dl-AM-RLC-Mode DL-AM-RLC-Mode-r5,
+ dl-UM-RLC-Mode DL-UM-RLC-Mode-r6,
+ dl-TM-RLC-Mode DL-TM-RLC-Mode
+}
+
+DL-RLC-Mode-r7 ::= CHOICE {
+ dl-AM-RLC-Mode DL-AM-RLC-Mode-r7,
+ dl-UM-RLC-Mode DL-UM-RLC-Mode-r6,
+ dl-TM-RLC-Mode DL-TM-RLC-Mode
+}
+
+DL-RLC-Mode-r11 ::= CHOICE {
+ dl-AM-RLC-Mode DL-AM-RLC-Mode-r11,
+ dl-UM-RLC-Mode DL-UM-RLC-Mode-r6,
+ dl-TM-RLC-Mode DL-TM-RLC-Mode
+}
+
+DL-RLC-StatusInfo ::= SEQUENCE {
+ timerStatusProhibit TimerStatusProhibit OPTIONAL,
+ -- dummy is not used in this version of the specification, it should not be sent
+ -- and if received they should be ignored.
+ dummy TimerEPC OPTIONAL,
+ missingPDU-Indicator BOOLEAN,
+ timerStatusPeriodic TimerStatusPeriodic OPTIONAL
+}
+
+DL-RLC-StatusInfo-r11 ::= SEQUENCE {
+ timerStatusProhibit TimerStatusProhibit OPTIONAL,
+ missingPDU-Indicator BOOLEAN,
+ timerStatusPeriodic TimerStatusPeriodic OPTIONAL,
+ timerReordering TimerReordering OPTIONAL
+}
+
+DL-TM-RLC-Mode ::= SEQUENCE {
+ segmentationIndication BOOLEAN
+}
+
+DL-TransportChannelType ::= CHOICE {
+ dch TransportChannelIdentity,
+ fach NULL,
+ -- The choice "dsch" should not be used in FDD mode, and if received
+ -- the UE behaviour is unspecified.
+ dsch TransportChannelIdentity,
+ -- The choice "dch-and-dsch" should not be used in FDD mode, and if received the UE
+ -- behaviour is unspecified
+ dch-and-dsch TransportChannelIdentityDCHandDSCH
+}
+
+DL-TransportChannelType-r5 ::= CHOICE {
+ dch TransportChannelIdentity,
+ fach NULL,
+ -- The choice "dsch" should not be used in FDD mode, and if received
+ -- the UE behaviour is unspecified.
+ dsch TransportChannelIdentity,
+ -- The choice "dch-and-dsch" should not be used in FDD mode, and if received the UE
+ -- behaviour is unspecified
+ dch-and-dsch TransportChannelIdentityDCHandDSCH,
+ hsdsch MAC-d-FlowIdentity,
+ dch-and-hsdsch MAC-d-FlowIdentityDCHandHSDSCH
+}
+
+DL-TransportChannelType-r7 ::= CHOICE {
+ dch TransportChannelIdentity,
+ fach NULL,
+ -- The choice "dsch" should not be used in FDD mode, and if received
+ -- the UE behaviour is unspecified.
+ dsch TransportChannelIdentity,
+ -- The choice "dch-and-dsch" should not be used in FDD mode, and if received the UE
+ -- behaviour is unspecified
+ dch-and-dsch TransportChannelIdentityDCHandDSCH,
+ hsdsch CHOICE {
+ mac-hs MAC-d-FlowIdentity,
+ mac-ehs MAC-ehs-QueueId
+ },
+ dch-and-hsdsch CHOICE {
+ mac-hs MAC-d-FlowIdentityDCHandHSDSCH,
+ mac-ehs MAC-ehs-QueueIdDCHandHSDSCH
+ }
+}
+
+DL-UM-RLC-LI-size ::= ENUMERATED {
+ size7, size15 }
+
+DL-UM-RLC-Mode-r5 ::= SEQUENCE {
+ dl-UM-RLC-LI-size DL-UM-RLC-LI-size
+}
+
+DL-UM-RLC-Mode-r6 ::= SEQUENCE {
+ dl-UM-RLC-LI-size DL-UM-RLC-LI-size,
+ dl-Reception-Window-Size DL-Reception-Window-Size-r6 OPTIONAL
+}
+
+ExpectReordering ::= ENUMERATED {
+ reorderingNotExpected,
+ reorderingExpected }
+
+ExplicitDiscard ::= SEQUENCE {
+ timerMRW TimerMRW,
+ timerDiscard TimerDiscard,
+ maxMRW MaxMRW
+}
+
+HeaderCompressionInfo ::= SEQUENCE {
+ algorithmSpecificInfo AlgorithmSpecificInfo
+}
+
+HeaderCompressionInfoList ::= SEQUENCE (SIZE (1..maxPDCPAlgoType)) OF
+ HeaderCompressionInfo
+
+HeaderCompressionInfo-r4 ::= SEQUENCE {
+ algorithmSpecificInfo AlgorithmSpecificInfo-r4
+}
+
+HeaderCompressionInfoList-r4 ::= SEQUENCE (SIZE (1..maxPDCPAlgoType)) OF
+ HeaderCompressionInfo-r4
+
+HS-SCCH-DrxCellfach-info ::= SEQUENCE {
+ hs-scch-DrxCycleFach ENUMERATED {sf20, sf40, sf80, sf160, sf320, sf640, spare2, spare1},
+ hs-scch-RxBurstFach ENUMERATED {sf1, sf2},
+ t333 ENUMERATED {ms100, ms200, ms400, ms800}
+}
+
+LogicalChannelIdentity ::= INTEGER (1..15)
+
+LosslessSRNS-RelocSupport ::= CHOICE {
+ supported MaxPDCP-SN-WindowSize,
+ notSupported NULL
+}
+
+MAC-d-HFN-initial-value ::= BIT STRING (SIZE (24))
+
+MAC-LogicalChannelPriority ::= INTEGER (1..8)
+
+-- Actual value MaxCS-Delay = (IE value * 10) + 20
+MaxCS-Delay ::= INTEGER (0..18)
+
+MaxDAT ::= ENUMERATED {
+ dat1, dat2, dat3, dat4, dat5, dat6,
+ dat7, dat8, dat9, dat10, dat15, dat20,
+ dat25, dat30, dat35, dat40 }
+
+MaxDAT-Retransmissions ::= SEQUENCE {
+ maxDAT MaxDAT,
+ timerMRW TimerMRW,
+ maxMRW MaxMRW
+}
+
+MaxMRW ::= ENUMERATED {
+ mm1, mm4, mm6, mm8, mm12, mm16,
+ mm24, mm32 }
+
+MaxPDCP-SN-WindowSize ::= ENUMERATED {
+ sn255, sn65535 }
+
+MaxRST ::= ENUMERATED {
+ rst1, rst4, rst6, rst8, rst12,
+ rst16, rst24, rst32 }
+
+NoExplicitDiscard ::= ENUMERATED {
+ dt10, dt20, dt30, dt40, dt50,
+ dt60, dt70, dt80, dt90, dt100 }
+
+PDCP-Info ::= SEQUENCE {
+ losslessSRNS-RelocSupport LosslessSRNS-RelocSupport OPTIONAL,
+ -- TABULAR: pdcp-PDU-Header is MD in the tabular format and it can be encoded
+ -- in one bit, so the OPTIONAL is removed for compactness.
+ pdcp-PDU-Header PDCP-PDU-Header,
+ headerCompressionInfoList HeaderCompressionInfoList OPTIONAL
+}
+
+PDCP-Info-r4 ::= SEQUENCE {
+ losslessSRNS-RelocSupport LosslessSRNS-RelocSupport OPTIONAL,
+ -- TABULAR: pdcp-PDU-Header is MD in the tabular format and it can be encoded
+ -- in one bit, so the OPTIONAL is removed for compactness.
+ pdcp-PDU-Header PDCP-PDU-Header,
+ headerCompressionInfoList HeaderCompressionInfoList-r4 OPTIONAL
+}
+
+PDCP-InfoReconfig ::= SEQUENCE {
+ pdcp-Info PDCP-Info,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored.
+ dummy INTEGER (0..65535)
+}
+
+PDCP-InfoReconfig-r4 ::= SEQUENCE {
+ pdcp-Info PDCP-Info-r4
+}
+
+PDCP-PDU-Header ::= ENUMERATED {
+ present, absent }
+
+PDCP-ROHC-TargetMode ::= ENUMERATED { o-Mode, r-Mode }
+
+PDCP-SN-Info ::= INTEGER (0..65535)
+
+Poll-PDU ::= ENUMERATED {
+ pdu1, pdu2, pdu4, pdu8, pdu16,
+ pdu32, pdu64, pdu128 }
+
+Poll-SDU ::= ENUMERATED {
+ sdu1, sdu4, sdu16, sdu64 }
+
+PollingInfo ::= SEQUENCE {
+ timerPollProhibit TimerPollProhibit OPTIONAL,
+ timerPoll TimerPoll OPTIONAL,
+ poll-PDU Poll-PDU OPTIONAL,
+ poll-SDU Poll-SDU OPTIONAL,
+ lastTransmissionPDU-Poll BOOLEAN,
+ lastRetransmissionPDU-Poll BOOLEAN,
+ pollWindow PollWindow OPTIONAL,
+ timerPollPeriodic TimerPollPeriodic OPTIONAL
+}
+
+PollWindow ::= ENUMERATED {
+ pw50, pw60, pw70, pw80, pw85,
+ pw90, pw95, pw99 }
+
+PredefinedConfigIdentity ::= INTEGER (0..15)
+
+PredefinedConfigValueTag ::= INTEGER (0..15)
+
+PredefinedRB-Configuration ::= SEQUENCE {
+ re-EstablishmentTimer Re-EstablishmentTimer,
+ srb-InformationList SRB-InformationSetupList,
+ rb-InformationList RB-InformationSetupList
+}
+
+PreDefRadioConfiguration ::= SEQUENCE {
+ -- Radio bearer IEs
+ predefinedRB-Configuration PredefinedRB-Configuration,
+ -- Transport channel IEs
+ preDefTransChConfiguration PreDefTransChConfiguration,
+ -- Physical channel IEs
+ preDefPhyChConfiguration PreDefPhyChConfiguration
+}
+
+PreDefRadioConfiguration-v770ext ::= SEQUENCE {
+ -- Physical channel IEs
+ preDefPhyChConfiguration PreDefPhyChConfiguration-v770ext
+}
+
+PreDefRadioConfiguration-v920ext ::= SEQUENCE {
+ -- Transport channel IEs
+ mac-ehsWindowSize MAC-hs-WindowSize-r9
+}
+
+PredefinedConfigStatusList ::= SEQUENCE (SIZE (maxPredefConfig)) OF
+ PredefinedConfigStatusInfo
+
+PredefinedConfigStatusInfo ::= CHOICE {
+ storedWithValueTagSameAsPrevius NULL,
+ other CHOICE {
+ notStored NULL,
+ storedWithDifferentValueTag PredefinedConfigValueTag
+ }
+}
+
+PredefinedConfigStatusListComp ::= SEQUENCE {
+ setsWithDifferentValueTag PredefinedConfigSetsWithDifferentValueTag,
+ otherEntries PredefinedConfigStatusListVarSz OPTIONAL
+}
+
+PredefinedConfigSetsWithDifferentValueTag ::= SEQUENCE (SIZE (1..2)) OF
+ PredefinedConfigSetWithDifferentValueTag
+
+PredefinedConfigSetWithDifferentValueTag ::= SEQUENCE {
+ startPosition INTEGER (0..10) DEFAULT 0,
+ -- numberOfEntries INTEGER (6..16),
+ -- numberOfEntries is covered by the size of the list in IE PredefinedConfigValueTagList
+ valueTagList PredefinedConfigValueTagList
+}
+
+
+PredefinedConfigValueTagList ::= SEQUENCE (SIZE (1..maxPredefConfig)) OF
+ PredefinedConfigValueTag
+
+PredefinedConfigStatusListVarSz ::= SEQUENCE (SIZE (1..maxPredefConfig)) OF
+ PredefinedConfigStatusInfo
+
+RAB-Info ::= SEQUENCE {
+ rab-Identity RAB-Identity,
+ cn-DomainIdentity CN-DomainIdentity,
+ nas-Synchronisation-Indicator NAS-Synchronisation-Indicator OPTIONAL,
+ re-EstablishmentTimer Re-EstablishmentTimer
+}
+
+RAB-Info-r6-ext ::= SEQUENCE {
+ mbms-SessionIdentity MBMS-SessionIdentity OPTIONAL
+}
+
+RAB-Info-v6b0ext ::= SEQUENCE {
+ mbms-ServiceIdentity OCTET STRING (SIZE (3))
+}
+
+RAB-Info-r6 ::= SEQUENCE {
+ rab-Identity RAB-Identity,
+ mbms-SessionIdentity MBMS-SessionIdentity OPTIONAL,
+ cn-DomainIdentity CN-DomainIdentity,
+ nas-Synchronisation-Indicator NAS-Synchronisation-Indicator OPTIONAL,
+ re-EstablishmentTimer Re-EstablishmentTimer
+}
+
+RAB-Info-r7 ::= SEQUENCE {
+ rab-Identity RAB-Identity,
+ mbms-SessionIdentity MBMS-SessionIdentity OPTIONAL,
+ mbms-ServiceIdentity OCTET STRING (SIZE (3)) OPTIONAL,
+ cn-DomainIdentity CN-DomainIdentity,
+ nas-Synchronisation-Indicator NAS-Synchronisation-Indicator OPTIONAL,
+ re-EstablishmentTimer Re-EstablishmentTimer
+}
+
+RAB-InfoReplace ::= SEQUENCE {
+ rab-Identity RAB-Identity,
+ cn-DomainIdentity CN-DomainIdentity
+}
+
+RAB-InformationList ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-Info
+
+RAB-InformationList-r6 ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-Info-r6
+
+RAB-InformationReconfigList ::= SEQUENCE (SIZE (1.. maxRABsetup)) OF
+ RAB-InformationReconfig
+
+RAB-InformationReconfigList-r8 ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationReconfig-r8
+
+RAB-InformationReconfig ::= SEQUENCE {
+ rab-Identity RAB-Identity,
+ cn-DomainIdentity CN-DomainIdentity,
+ nas-Synchronisation-Indicator NAS-Synchronisation-Indicator
+}
+
+RAB-InformationReconfig-r8 ::= SEQUENCE {
+ rab-Identity RAB-Identity,
+ cn-DomainIdentity CN-DomainIdentity,
+ nas-Synchronisation-Indicator NAS-Synchronisation-Indicator,
+ cs-HSPA-Information CS-HSPA-Information OPTIONAL
+}
+
+RAB-Info-Post ::= SEQUENCE {
+ rab-Identity RAB-Identity,
+ cn-DomainIdentity CN-DomainIdentity,
+ nas-Synchronisation-Indicator NAS-Synchronisation-Indicator OPTIONAL
+}
+
+RAB-InformationMBMSPtp ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ mbms-ServiceIdentity OCTET STRING (SIZE (3)),
+ mbms-SessionIdentity MBMS-SessionIdentity OPTIONAL
+}
+
+RAB-InformationMBMSPtpList ::= SEQUENCE (SIZE (1..maxMBMSservSelect)) OF
+ RAB-InformationMBMSPtp
+
+RAB-InformationSetup ::= SEQUENCE {
+ rab-Info RAB-Info,
+ rb-InformationSetupList RB-InformationSetupList
+}
+
+RAB-InformationSetup-r4 ::= SEQUENCE {
+ rab-Info RAB-Info,
+ rb-InformationSetupList RB-InformationSetupList-r4
+}
+
+RAB-InformationSetup-r5 ::= SEQUENCE {
+ rab-Info RAB-Info,
+ rb-InformationSetupList RB-InformationSetupList-r5
+}
+
+RAB-InformationSetup-r6-ext ::= SEQUENCE {
+ rab-Info-r6-ext RAB-Info-r6-ext
+}
+
+RAB-InformationSetup-r6 ::= SEQUENCE {
+ rab-Info RAB-Info-r6,
+ rb-InformationSetupList RB-InformationSetupList-r6
+}
+
+RAB-InformationSetup-v6b0ext ::= SEQUENCE {
+ rab-Info-v6b0ext RAB-Info-v6b0ext OPTIONAL
+}
+
+RAB-InformationSetup-r7 ::= SEQUENCE {
+ rab-Info RAB-Info-r7,
+ rb-InformationSetupList RB-InformationSetupList-r7
+}
+
+RAB-InformationSetup-r8 ::= SEQUENCE {
+ rab-Info RAB-Info-r7,
+ cs-HSPA-Information CS-HSPA-Information OPTIONAL,
+ rab-InfoReplace RAB-InfoReplace OPTIONAL,
+ rb-InformationSetupList RB-InformationSetupList-r8
+}
+
+RAB-InformationSetup-v820ext ::= SEQUENCE {
+ cs-HSPA-Information CS-HSPA-Information OPTIONAL
+}
+
+RAB-InformationSetup-r11 ::= SEQUENCE {
+ rab-Info RAB-Info-r7,
+ cs-HSPA-Information CS-HSPA-Information OPTIONAL,
+ rab-InfoReplace RAB-InfoReplace OPTIONAL,
+ rb-InformationSetupList RB-InformationSetupList-r11
+}
+
+RAB-InformationSetupList ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup
+
+RAB-InformationSetupList-r4 ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup-r4
+
+RAB-InformationSetupList-r5 ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup-r5
+
+RAB-InformationSetupList-r6 ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup-r6
+
+-- The IE 'RAB-InformationSetupList-r6-ext' provides elements of extension information, which
+-- are added to the corresponding elements of the IE 'RAB-InformationSetupList/-r4/-r5'.
+RAB-InformationSetupList-r6-ext ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup-r6-ext
+
+RAB-InformationSetupList-v6b0ext ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup-v6b0ext
+
+RAB-InformationSetupList-r7 ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup-r7
+
+RAB-InformationSetupList-r8 ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup-r8
+
+RAB-InformationSetupList-v820ext ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup-v820ext
+
+RAB-InformationSetupList-r11 ::= SEQUENCE (SIZE (1..maxRABsetup)) OF
+ RAB-InformationSetup-r11
+
+RB-ActivationTimeInfo ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ rlc-SequenceNumber RLC-SequenceNumber
+}
+
+RB-ActivationTimeInfoList ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-ActivationTimeInfo
+
+RB-COUNT-C-Information ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ count-C-UL COUNT-C,
+ count-C-DL COUNT-C
+}
+
+RB-COUNT-C-InformationList ::= SEQUENCE (SIZE (1..maxRBallRABs)) OF
+ RB-COUNT-C-Information
+
+RB-COUNT-C-MSB-Information ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ count-C-MSB-UL COUNT-C-MSB,
+ count-C-MSB-DL COUNT-C-MSB
+}
+
+RB-COUNT-C-MSB-InformationList ::= SEQUENCE (SIZE (1..maxRBallRABs)) OF
+ RB-COUNT-C-MSB-Information
+
+RB-Identity ::= INTEGER (1..32)
+
+RB-IdentityList ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-Identity
+
+RB-InformationAffected ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ rb-MappingInfo RB-MappingInfo
+}
+
+RB-InformationAffected-r5 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ rb-MappingInfo RB-MappingInfo-r5
+}
+
+RB-InformationAffected-r6 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ rb-MappingInfo RB-MappingInfo-r6
+}
+
+RB-InformationAffected-r7 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ rb-MappingInfo RB-MappingInfo-r7
+}
+
+RB-InformationAffected-r8 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ rb-MappingInfo RB-MappingInfo-r8
+}
+
+RB-InformationAffectedList ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationAffected
+
+RB-InformationAffectedList-r5 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationAffected-r5
+
+RB-InformationAffectedList-r6 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationAffected-r6
+
+RB-InformationAffectedList-r7 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationAffected-r7
+
+RB-InformationAffectedList-r8 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationAffected-r8
+
+RB-InformationChanged-r6 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ rb-Change CHOICE {
+ release NULL,
+ re-mapToDefaultRb RB-Identity
+ }
+}
+
+RB-InformationChangedList-r6 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationChanged-r6
+
+RB-InformationReconfig ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-InfoReconfig OPTIONAL,
+ pdcp-SN-Info PDCP-SN-Info OPTIONAL,
+ rlc-Info RLC-Info OPTIONAL,
+ rb-MappingInfo RB-MappingInfo OPTIONAL,
+ rb-StopContinue RB-StopContinue OPTIONAL
+}
+
+RB-InformationReconfig-r4 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-InfoReconfig-r4 OPTIONAL,
+ pdcp-SN-Info PDCP-SN-Info OPTIONAL,
+ rlc-Info RLC-Info OPTIONAL,
+ rb-MappingInfo RB-MappingInfo OPTIONAL,
+ rb-StopContinue RB-StopContinue OPTIONAL
+}
+
+RB-InformationReconfig-r5 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-InfoReconfig-r4 OPTIONAL,
+ pdcp-SN-Info PDCP-SN-Info OPTIONAL,
+ rlc-Info RLC-Info-r5 OPTIONAL,
+ rb-MappingInfo RB-MappingInfo-r5 OPTIONAL,
+ rb-StopContinue RB-StopContinue OPTIONAL
+}
+
+RB-InformationReconfig-r6 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-InfoReconfig-r4 OPTIONAL,
+ pdcp-SN-Info PDCP-SN-Info OPTIONAL,
+ rlc-Info RLC-Info-r6 OPTIONAL,
+ rb-MappingInfo RB-MappingInfo-r6 OPTIONAL,
+ rb-StopContinue RB-StopContinue OPTIONAL
+}
+
+RB-InformationReconfig-r7 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-InfoReconfig-r4 OPTIONAL,
+ pdcp-SN-Info PDCP-SN-Info OPTIONAL,
+ rlc-Info RLC-Info-r7 OPTIONAL,
+ rb-MappingInfo RB-MappingInfo-r7 OPTIONAL,
+ rb-StopContinue RB-StopContinue OPTIONAL
+}
+
+RB-InformationReconfig-r8 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-InfoReconfig-r4 OPTIONAL,
+ pdcp-SN-Info PDCP-SN-Info OPTIONAL,
+ rlc-Info RLC-Info-r7 OPTIONAL,
+ rb-MappingInfo RB-MappingInfo-r8 OPTIONAL,
+ rb-StopContinue RB-StopContinue OPTIONAL
+}
+
+RB-InformationReconfig-r11 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-InfoReconfig-r4 OPTIONAL,
+ pdcp-SN-Info PDCP-SN-Info OPTIONAL,
+ rlc-Info RLC-Info-r11 OPTIONAL,
+ rb-MappingInfo RB-MappingInfo-r8 OPTIONAL,
+ rb-StopContinue RB-StopContinue OPTIONAL
+}
+
+RB-InformationReconfigList ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationReconfig
+
+RB-InformationReconfigList-r4 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationReconfig-r4
+
+RB-InformationReconfigList-r5 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationReconfig-r5
+
+RB-InformationReconfigList-r6 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationReconfig-r6
+
+RB-InformationReconfigList-r7 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationReconfig-r7
+
+RB-InformationReconfigList-r8 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationReconfig-r8
+
+RB-InformationReconfigList-r11 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-InformationReconfig-r11
+
+RB-InformationReleaseList ::= SEQUENCE (SIZE (1..maxRB)) OF
+ RB-Identity
+
+RB-InformationSetup ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-Info OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice,
+ rb-MappingInfo RB-MappingInfo
+}
+
+RB-InformationSetup-r4 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-Info-r4 OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice,
+ rb-MappingInfo RB-MappingInfo
+}
+
+RB-InformationSetup-r5 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-Info-r4 OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r5,
+ rb-MappingInfo RB-MappingInfo-r5
+}
+
+RB-InformationSetup-r6 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-Info-r4 OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r6,
+ rb-MappingInfo RB-MappingInfo-r6
+}
+
+RB-InformationSetup-r7 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-Info-r4 OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r7,
+ rb-MappingInfo RB-MappingInfo-r7
+}
+
+RB-InformationSetup-r8 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-Info-r4 OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r7,
+ rb-MappingInfo RB-MappingInfo-r8
+}
+
+RB-InformationSetup-r11 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-Info PDCP-Info-r4 OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r11,
+ rb-MappingInfo RB-MappingInfo-r8
+}
+
+RB-InformationSetupList ::= SEQUENCE (SIZE (1..maxRBperRAB)) OF
+ RB-InformationSetup
+
+RB-InformationSetupList-r4 ::= SEQUENCE (SIZE (1..maxRBperRAB)) OF
+ RB-InformationSetup-r4
+
+RB-InformationSetupList-r5 ::= SEQUENCE (SIZE (1..maxRBperRAB)) OF
+ RB-InformationSetup-r5
+
+RB-InformationSetupList-r6 ::= SEQUENCE (SIZE (1..maxRBperRAB)) OF
+ RB-InformationSetup-r6
+
+RB-InformationSetupList-r7 ::= SEQUENCE (SIZE (1..maxRBperRAB)) OF
+ RB-InformationSetup-r7
+
+RB-InformationSetupList-r8 ::= SEQUENCE (SIZE (1..maxRBperRAB)) OF
+ RB-InformationSetup-r8
+
+RB-InformationSetupList-r11 ::= SEQUENCE (SIZE (1..maxRBperRAB)) OF
+ RB-InformationSetup-r11
+
+RB-MappingInfo ::= SEQUENCE (SIZE (1..maxRBMuxOptions)) OF
+ RB-MappingOption
+
+RB-MappingInfo-r5 ::= SEQUENCE (SIZE (1..maxRBMuxOptions)) OF
+ RB-MappingOption-r5
+
+RB-MappingInfo-r6 ::= SEQUENCE (SIZE (1..maxRBMuxOptions)) OF
+ RB-MappingOption-r6
+
+RB-MappingInfo-r7 ::= SEQUENCE (SIZE (1..maxRBMuxOptions)) OF
+ RB-MappingOption-r7
+
+RB-MappingInfo-r8 ::= SEQUENCE (SIZE (1..maxRBMuxOptions)) OF
+ RB-MappingOption-r8
+
+RB-MappingOption ::= SEQUENCE {
+ ul-LogicalChannelMappings UL-LogicalChannelMappings OPTIONAL,
+ dl-LogicalChannelMappingList DL-LogicalChannelMappingList OPTIONAL
+}
+
+RB-MappingOption-r5 ::= SEQUENCE {
+ ul-LogicalChannelMappings UL-LogicalChannelMappings OPTIONAL,
+ dl-LogicalChannelMappingList DL-LogicalChannelMappingList-r5 OPTIONAL
+}
+
+RB-MappingOption-r6 ::= SEQUENCE {
+ ul-LogicalChannelMappings UL-LogicalChannelMappings-r6 OPTIONAL,
+ dl-LogicalChannelMappingList DL-LogicalChannelMappingList-r5 OPTIONAL
+}
+
+RB-MappingOption-r7 ::= SEQUENCE {
+ ul-LogicalChannelMappings UL-LogicalChannelMappings-r6 OPTIONAL,
+ dl-LogicalChannelMappingList DL-LogicalChannelMappingList-r7 OPTIONAL
+}
+
+RB-MappingOption-r8 ::= SEQUENCE {
+ ul-LogicalChannelMappings UL-LogicalChannelMappings-r8 OPTIONAL,
+ dl-LogicalChannelMappingList DL-LogicalChannelMappingList-r7 OPTIONAL
+}
+
+RB-PDCPContextRelocation ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ dl-RFC3095-Context-Relocation BOOLEAN,
+ ul-RFC3095-Context-Relocation BOOLEAN
+}
+
+RB-PDCPContextRelocationList ::= SEQUENCE (SIZE (1..maxRBallRABs)) OF
+ RB-PDCPContextRelocation
+
+RB-StopContinue ::= ENUMERATED {
+ stopRB, continueRB }
+
+RB-WithPDCP-Info ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ pdcp-SN-Info PDCP-SN-Info
+}
+
+RB-WithPDCP-InfoList ::= SEQUENCE (SIZE (1..maxRBallRABs)) OF
+ RB-WithPDCP-Info
+
+ReceivingWindowSize ::= ENUMERATED {
+ rw1, rw8, rw16, rw32, rw64, rw128, rw256,
+ rw512, rw768, rw1024, rw1536, rw2047,
+ rw2560, rw3072, rw3584, rw4095 }
+
+RetrievableConfig ::= SEQUENCE {
+ retrievableConfigIdentity RetrievableConfigIdentity,
+ retrievableConfigData RetrievableConfigData
+}
+
+RetrievableConfigData ::= SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r11 OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL
+}
+
+RetrievableConfigIdentity ::= INTEGER (0..maxRetrievConfig-1)
+
+RetrievableConfigInfo ::= SEQUENCE {
+ retrievableConfigToBeInvoked RetrievableConfigIdentity OPTIONAL,
+ retrievableConfigToBeStored RetrievableConfigIdentity OPTIONAL,
+ retrievableConfigToBeRemoved RetrievableConfigListToRemove OPTIONAL,
+ preconfiguredRetrievableConfig RetrievableConfig-List OPTIONAL
+}
+
+RetrievableConfig-List ::= SEQUENCE (SIZE(1.. maxRetrievConfig)) OF
+ RetrievableConfig
+
+RetrievableConfigListToRemove ::= SEQUENCE (SIZE (1..maxRetrievConfig)) OF
+ RetrievableConfigIdentity
+
+
+
+RFC2507-Info ::= SEQUENCE {
+ f-MAX-PERIOD INTEGER (1..65535) DEFAULT 256,
+ f-MAX-TIME INTEGER (1..255) DEFAULT 5,
+ max-HEADER INTEGER (60..65535) DEFAULT 168,
+ tcp-SPACE INTEGER (3..255) DEFAULT 15,
+ non-TCP-SPACE INTEGER (3..65535) DEFAULT 15,
+ -- TABULAR: expectReordering has only two possible values, so using Optional or Default
+ -- would be wasteful
+ expectReordering ExpectReordering
+}
+
+RFC3095-Info-r4 ::= SEQUENCE {
+ rohcProfileList ROHC-ProfileList-r4,
+ ul-RFC3095 UL-RFC3095-r4 OPTIONAL,
+ dl-RFC3095 DL-RFC3095-r4 OPTIONAL
+}
+
+RLC-Info ::= SEQUENCE {
+ ul-RLC-Mode UL-RLC-Mode OPTIONAL,
+ dl-RLC-Mode DL-RLC-Mode OPTIONAL
+}
+
+RLC-Info-r5 ::= SEQUENCE {
+ ul-RLC-Mode UL-RLC-Mode OPTIONAL,
+ dl-RLC-Mode DL-RLC-Mode-r5 OPTIONAL,
+ rlc-OneSidedReEst BOOLEAN
+}
+
+RLC-Info-r6 ::= SEQUENCE {
+ ul-RLC-Mode UL-RLC-Mode OPTIONAL,
+ dl-RLC-Mode DL-RLC-Mode-r6 OPTIONAL,
+ rlc-OneSidedReEst BOOLEAN,
+ altE-bitInterpretation ENUMERATED { true } OPTIONAL
+}
+
+RLC-Info-r7 ::= SEQUENCE {
+ ul-RLC-Mode UL-RLC-Mode OPTIONAL,
+ dl-RLC-Mode DL-RLC-Mode-r7 OPTIONAL,
+ rlc-OneSidedReEst BOOLEAN,
+ altE-bitInterpretation ENUMERATED { true } OPTIONAL,
+ useSpecialValueOfHEField ENUMERATED { true } OPTIONAL
+}
+
+RLC-Info-r11 ::= SEQUENCE {
+ ul-RLC-Mode UL-RLC-Mode OPTIONAL,
+ dl-RLC-Mode DL-RLC-Mode-r11 OPTIONAL,
+ rlc-OneSidedReEst BOOLEAN,
+ altE-bitInterpretation ENUMERATED { true } OPTIONAL,
+ useSpecialValueOfHEField ENUMERATED { true } OPTIONAL
+}
+
+RLC-Info-MCCH-r6 ::= SEQUENCE {
+ dl-UM-RLC-LI-size DL-UM-RLC-LI-size,
+ dl-UM-RLC-OutOSeqDelivery-Info UM-RLC-OutOSeqDelivery-Info-r6 OPTIONAL
+}
+
+RLC-Info-MSCH-r6 ::= SEQUENCE {
+ dl-UM-RLC-LI-size DL-UM-RLC-LI-size
+}
+
+RLC-Info-MTCH-r6 ::= SEQUENCE {
+ dl-UM-RLC-LI-size DL-UM-RLC-LI-size,
+ dl-UM-RLC-DuplAvoid-Reord-Info UM-RLC-DuplAvoid-Reord-Info-r6 OPTIONAL
+}
+
+RLC-InfoChoice ::= CHOICE {
+ rlc-Info RLC-Info,
+ same-as-RB RB-Identity
+}
+
+RLC-InfoChoice-r5 ::= CHOICE {
+ rlc-Info RLC-Info-r5,
+ same-as-RB RB-Identity
+}
+
+RLC-InfoChoice-r6 ::= CHOICE {
+ rlc-Info RLC-Info-r6,
+ same-as-RB RB-Identity
+}
+
+RLC-InfoChoice-r7 ::= CHOICE {
+ rlc-Info RLC-Info-r7,
+ same-as-RB RB-Identity
+}
+
+RLC-InfoChoice-r11 ::= CHOICE {
+ rlc-Info RLC-Info-r11,
+ same-as-RB RB-Identity
+}
+
+RLC-PDU-Size ::= OctetModeRLC-SizeInfoType1
+
+RLC-PDU-SizeConstraint ::= SEQUENCE {
+ lengthIndicatorSize ENUMERATED { size7, size15 } OPTIONAL,
+ -- the actual values are (IE value * 8) + 16
+ minRLC-PDU-Size INTEGER (0..1503),
+ largestRLC-PDU-Size INTEGER (0..1503)
+}
+
+RLC-PDU-SizeList ::= SEQUENCE (SIZE (1..maxRLCPDUsizePerLogChan)) OF
+ RLC-PDU-Size
+
+RLC-SequenceNumber ::= INTEGER (0..4095)
+
+RLC-SizeInfo ::= SEQUENCE {
+ rlc-SizeIndex INTEGER (1..maxTF)
+}
+
+RLC-SizeExplicitList ::= SEQUENCE (SIZE (1..maxTF)) OF
+ RLC-SizeInfo
+
+ROHC-Profile-r4 ::= INTEGER (1..3)
+
+ROHC-ProfileList-r4 ::= SEQUENCE (SIZE (1..maxROHC-Profile-r4)) OF
+ ROHC-Profile-r4
+
+ROHC-PacketSize-r4 ::= INTEGER (2..1500)
+
+ROHC-PacketSizeList-r4 ::= SEQUENCE (SIZE (1..maxROHC-PacketSizes-r4)) OF
+ ROHC-PacketSize-r4
+
+SRB-InformationSetup ::= SEQUENCE {
+ -- The default value for rb-Identity is the smallest value not used yet.
+ rb-Identity RB-Identity OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice,
+ rb-MappingInfo RB-MappingInfo
+}
+
+SRB-InformationSetup-r5 ::= SEQUENCE {
+ -- The default value for rb-Identity is the smallest value not used yet.
+ rb-Identity RB-Identity OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r5,
+ rb-MappingInfo RB-MappingInfo-r5
+}
+
+SRB-InformationSetup-r6 ::= SEQUENCE {
+ -- The default value for rb-Identity is the smallest value not used yet.
+ rb-Identity RB-Identity OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r6,
+ rb-MappingInfo RB-MappingInfo-r6
+}
+
+SRB-InformationSetup-r7 ::= SEQUENCE {
+ -- The default value for rb-Identity is the smallest value not used yet.
+ rb-Identity RB-Identity OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r7,
+ rb-MappingInfo RB-MappingInfo-r7
+}
+
+SRB-InformationSetup-r8 ::= SEQUENCE {
+ -- The default value for rb-Identity is the smallest value not used yet.
+ rb-Identity RB-Identity OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r7,
+ rb-MappingInfo RB-MappingInfo-r8
+}
+
+SRB-InformationSetup-r11 ::= SEQUENCE {
+ -- The default value for rb-Identity is the smallest value not used yet.
+ rb-Identity RB-Identity OPTIONAL,
+ rlc-InfoChoice RLC-InfoChoice-r11,
+ rb-MappingInfo RB-MappingInfo-r8
+}
+
+SRB-InformationSetupList ::= SEQUENCE (SIZE (1..maxSRBsetup)) OF
+ SRB-InformationSetup
+
+SRB-InformationSetupList-r5 ::= SEQUENCE (SIZE (1..maxSRBsetup)) OF
+ SRB-InformationSetup-r5
+
+SRB-InformationSetupList-r6 ::= SEQUENCE (SIZE (1..maxSRBsetup)) OF
+ SRB-InformationSetup-r6
+
+SRB-InformationSetupList-r7 ::= SEQUENCE (SIZE (1..maxSRBsetup)) OF
+ SRB-InformationSetup-r7
+
+SRB-InformationSetupList-r8 ::= SEQUENCE (SIZE (1..maxSRBsetup)) OF
+ SRB-InformationSetup-r8
+
+SRB-InformationSetupList-r11 ::= SEQUENCE (SIZE (1..maxSRBsetup)) OF
+ SRB-InformationSetup-r11
+
+SRB-InformationSetupList2 ::= SEQUENCE (SIZE (3..4)) OF
+ SRB-InformationSetup
+
+SRB-InformationSetupList2-r6 ::= SEQUENCE (SIZE (3..4)) OF
+ SRB-InformationSetup-r6
+
+SRB-InformationSetupList2-r7 ::= SEQUENCE (SIZE (3..4)) OF
+ SRB-InformationSetup-r7
+
+SRB-InformationSetupList2-r8 ::= SEQUENCE (SIZE (3..4)) OF
+ SRB-InformationSetup-r8
+
+TimerDAR-r6 ::= ENUMERATED {
+ ms40, ms80, ms120, ms160, ms240, ms320, ms480, ms640,
+ ms960, ms1280, ms1920, ms2560, ms3840, ms5120 }
+
+TimerDiscard ::= ENUMERATED {
+ td0-1, td0-25, td0-5, td0-75,
+ td1, td1-25, td1-5, td1-75,
+ td2, td2-5, td3, td3-5, td4,
+ td4-5, td5, td7-5 }
+
+TimerEPC ::= ENUMERATED {
+ te50, te60, te70, te80, te90,
+ te100, te120, te140, te160, te180,
+ te200, te300, te400, te500, te700,
+ te900 }
+
+TimerMRW ::= ENUMERATED {
+ te50, te60, te70, te80, te90, te100,
+ te120, te140, te160, te180, te200,
+ te300, te400, te500, te700, te900 }
+
+TimerOSD-r6 ::= ENUMERATED {
+ ms40, ms80, ms120, ms160, ms240, ms320, ms480, ms640,
+ ms960, ms1280, ms1920, ms2560, ms3840, ms5120 }
+
+TimerPoll ::= ENUMERATED {
+ tp10, tp20, tp30, tp40, tp50,
+ tp60, tp70, tp80, tp90, tp100,
+ tp110, tp120, tp130, tp140, tp150,
+ tp160, tp170, tp180, tp190, tp200,
+ tp210, tp220, tp230, tp240, tp250,
+ tp260, tp270, tp280, tp290, tp300,
+ tp310, tp320, tp330, tp340, tp350,
+ tp360, tp370, tp380, tp390, tp400,
+ tp410, tp420, tp430, tp440, tp450,
+ tp460, tp470, tp480, tp490, tp500,
+ tp510, tp520, tp530, tp540, tp550,
+ tp600, tp650, tp700, tp750, tp800,
+ tp850, tp900, tp950, tp1000 }
+
+TimerPollPeriodic ::= ENUMERATED {
+ tper100, tper200, tper300, tper400,
+ tper500, tper750, tper1000, tper2000 }
+
+TimerPollProhibit ::= ENUMERATED {
+ tpp10, tpp20, tpp30, tpp40, tpp50,
+ tpp60, tpp70, tpp80, tpp90, tpp100,
+ tpp110, tpp120, tpp130, tpp140, tpp150,
+ tpp160, tpp170, tpp180, tpp190, tpp200,
+ tpp210, tpp220, tpp230, tpp240, tpp250,
+ tpp260, tpp270, tpp280, tpp290, tpp300,
+ tpp310, tpp320, tpp330, tpp340, tpp350,
+ tpp360, tpp370, tpp380, tpp390, tpp400,
+ tpp410, tpp420, tpp430, tpp440, tpp450,
+ tpp460, tpp470, tpp480, tpp490, tpp500,
+ tpp510, tpp520, tpp530, tpp540, tpp550,
+ tpp600, tpp650, tpp700, tpp750, tpp800,
+ tpp850, tpp900, tpp950, tpp1000 }
+
+TimerReordering ::= ENUMERATED {
+ tr50, tr100, tr150, tr200, tr400, tr600, tr800, tr1000 }
+
+TimerRST ::= ENUMERATED {
+ tr50, tr100, tr150, tr200, tr250, tr300,
+ tr350, tr400, tr450, tr500, tr550,
+ tr600, tr700, tr800, tr900, tr1000 }
+
+TimerStatusPeriodic ::= ENUMERATED {
+ tsp100, tsp200, tsp300, tsp400, tsp500,
+ tsp750, tsp1000, tsp2000 }
+
+TimerStatusProhibit ::= ENUMERATED {
+ tsp10,tsp20,tsp30,tsp40,tsp50,
+ tsp60,tsp70,tsp80,tsp90,tsp100,
+ tsp110,tsp120,tsp130,tsp140,tsp150,
+ tsp160,tsp170,tsp180,tsp190,tsp200,
+ tsp210,tsp220,tsp230,tsp240,tsp250,
+ tsp260,tsp270,tsp280,tsp290,tsp300,
+ tsp310,tsp320,tsp330,tsp340,tsp350,
+ tsp360,tsp370,tsp380,tsp390,tsp400,
+ tsp410,tsp420,tsp430,tsp440,tsp450,
+ tsp460,tsp470,tsp480,tsp490,tsp500,
+ tsp510,tsp520,tsp530,tsp540,tsp550,
+ tsp600,tsp650,tsp700,tsp750,tsp800,
+ tsp850,tsp900,tsp950,tsp1000 }
+
+TransmissionRLC-Discard ::= CHOICE {
+ timerBasedExplicit ExplicitDiscard,
+ timerBasedNoExplicit NoExplicitDiscard,
+ maxDAT-Retransmissions MaxDAT-Retransmissions,
+ noDiscard MaxDAT
+}
+
+TransmissionWindowSize ::= ENUMERATED {
+ tw1, tw8, tw16, tw32, tw64, tw128, tw256,
+ tw512, tw768, tw1024, tw1536, tw2047,
+ tw2560, tw3072, tw3584, tw4095 }
+
+-- Actual bit rate per each value is defined in [62] and [63]
+UL-AMR-Rate ::= ENUMERATED {
+ t0, t1, t2, t3, t4, t5, t6, t7, t8, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1 }
+
+UL-AM-RLC-Mode ::= SEQUENCE {
+ transmissionRLC-Discard TransmissionRLC-Discard,
+ transmissionWindowSize TransmissionWindowSize,
+ timerRST TimerRST,
+ max-RST MaxRST,
+ pollingInfo PollingInfo OPTIONAL
+}
+
+UL-CounterSynchronisationInfo ::= SEQUENCE {
+ rB-WithPDCP-InfoList RB-WithPDCP-InfoList OPTIONAL,
+ startList STARTList
+}
+
+UL-LogicalChannelMapping ::= SEQUENCE {
+ -- TABULAR: UL-TransportChannelType contains TransportChannelIdentity as well.
+ ul-TransportChannelType UL-TransportChannelType,
+ logicalChannelIdentity LogicalChannelIdentity OPTIONAL,
+ rlc-SizeList CHOICE {
+ allSizes NULL,
+ configured NULL,
+ explicitList RLC-SizeExplicitList
+ },
+ mac-LogicalChannelPriority MAC-LogicalChannelPriority
+}
+
+UL-LogicalChannelMapping-r6 ::= SEQUENCE {
+ ul-TrCH-Type CHOICE {
+ dch-rach-usch SEQUENCE {
+ -- TABULAR: UL-TransportChannelType contains TransportChannelIdentity as well.
+ ul-TransportChannelType UL-TransportChannelType,
+ logicalChannelIdentity LogicalChannelIdentity OPTIONAL,
+ rlc-SizeList CHOICE {
+ allSizes NULL,
+ configured NULL,
+ explicitList RLC-SizeExplicitList
+ }
+ },
+ e-dch SEQUENCE {
+ logicalChannelIdentity LogicalChannelIdentity,
+ e-DCH-MAC-d-FlowIdentity E-DCH-MAC-d-FlowIdentity,
+ ddi DDI,
+ rlc-PDU-SizeList RLC-PDU-SizeList,
+ includeInSchedulingInfo BOOLEAN
+ }
+ },
+ mac-LogicalChannelPriority MAC-LogicalChannelPriority
+}
+
+UL-LogicalChannelMapping-r8 ::= SEQUENCE {
+ ul-TrCH-Type CHOICE {
+ dch-rach-usch SEQUENCE {
+ -- TABULAR: UL-TransportChannelType contains TransportChannelIdentity as well.
+ ul-TransportChannelType UL-TransportChannelType,
+ logicalChannelIdentity LogicalChannelIdentity OPTIONAL,
+ rlc-SizeList CHOICE {
+ allSizes NULL,
+ configured NULL,
+ explicitList RLC-SizeExplicitList
+ }
+ },
+ e-dch SEQUENCE {
+ logicalChannelIdentity LogicalChannelIdentity,
+ e-DCH-MAC-d-FlowIdentity E-DCH-MAC-d-FlowIdentity,
+ rlc-PDU-Size CHOICE {
+ fixedSize SEQUENCE {
+ ddi DDI,
+ rlc-PDU-SizeList RLC-PDU-SizeList
+ },
+ flexibleSize RLC-PDU-SizeConstraint
+ },
+ includeInSchedulingInfo BOOLEAN
+ }
+ },
+ mac-LogicalChannelPriority MAC-LogicalChannelPriority
+}
+
+UL-LogicalChannelMappingList ::= SEQUENCE {
+ -- rlc-LogicalChannelMappingIndicator shall be set to TRUE in this version
+ -- of the specification
+ rlc-LogicalChannelMappingIndicator BOOLEAN,
+ ul-LogicalChannelMapping SEQUENCE (SIZE (maxLoCHperRLC)) OF
+ UL-LogicalChannelMapping
+}
+
+UL-LogicalChannelMappingList-r6 ::= SEQUENCE {
+ -- rlc-LogicalChannelMappingIndicator shall be set to TRUE in this version
+ -- of the specification
+ rlc-LogicalChannelMappingIndicator BOOLEAN,
+ ul-LogicalChannelMapping SEQUENCE (SIZE (maxLoCHperRLC)) OF
+ UL-LogicalChannelMapping-r6
+}
+
+UL-LogicalChannelMappingList-r8 ::= SEQUENCE {
+ -- rlc-LogicalChannelMappingIndicator shall be set to TRUE in this version
+ -- of the specification
+ rlc-LogicalChannelMappingIndicator BOOLEAN,
+ ul-LogicalChannelMapping SEQUENCE (SIZE (maxLoCHperRLC)) OF
+ UL-LogicalChannelMapping-r8
+}
+
+UL-LogicalChannelMappings ::= CHOICE {
+ oneLogicalChannel UL-LogicalChannelMapping,
+ twoLogicalChannels UL-LogicalChannelMappingList
+}
+
+UL-LogicalChannelMappings-r6 ::= CHOICE {
+ oneLogicalChannel UL-LogicalChannelMapping-r6,
+ twoLogicalChannels UL-LogicalChannelMappingList-r6
+}
+
+UL-LogicalChannelMappings-r8 ::= CHOICE {
+ oneLogicalChannel UL-LogicalChannelMapping-r8,
+ twoLogicalChannels UL-LogicalChannelMappingList-r8
+}
+
+UL-RFC3095-r4 ::= SEQUENCE {
+ -- dummy1 is not used in this version of the specification and shall be ignored by the receiver.
+ dummy1 CID-InclusionInfo-r4,
+ max-CID INTEGER (1..16383) DEFAULT 15,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy ROHC-PacketSizeList-r4
+}
+
+UL-RLC-Mode ::= CHOICE {
+ ul-AM-RLC-Mode UL-AM-RLC-Mode,
+ ul-UM-RLC-Mode UL-UM-RLC-Mode,
+ ul-TM-RLC-Mode UL-TM-RLC-Mode,
+ spare NULL
+}
+
+UL-TM-RLC-Mode ::= SEQUENCE {
+ transmissionRLC-Discard TransmissionRLC-Discard OPTIONAL,
+ segmentationIndication BOOLEAN
+}
+
+UL-UM-RLC-Mode ::= SEQUENCE {
+ transmissionRLC-Discard TransmissionRLC-Discard OPTIONAL
+}
+
+UL-TransportChannelType ::= CHOICE {
+ dch TransportChannelIdentity,
+ rach NULL,
+ -- dummy is not used in this version of the specification and
+ -- if received the UE behaviour is not specified.
+ dummy NULL,
+ usch TransportChannelIdentity
+}
+
+UM-RLC-DuplAvoid-Reord-Info-r6 ::= SEQUENCE {
+ timer-DAR TimerDAR-r6,
+ widowSize-DAR WindowSizeDAR-r6
+}
+
+UM-RLC-OutOSeqDelivery-Info-r6 ::= SEQUENCE {
+ timer-OSD TimerOSD-r6 OPTIONAL,
+ windowSize-OSD WindowSizeOSD-r6
+}
+
+WindowSizeDAR-r6 ::= ENUMERATED {
+ ws4, ws8, ws16, ws32, ws40, ws48,
+ ws56, ws64 }
+
+WindowSizeOSD-r6 ::= ENUMERATED {
+ ws8, ws16, ws32, ws40, ws48,
+ ws56, ws64 }
+
+-- ***************************************************
+--
+-- TRANSPORT CHANNEL INFORMATION ELEMENTS (10.3.5)
+--
+-- ***************************************************
+
+AddOrReconfMAC-dFlow ::= SEQUENCE {
+ mac-hs-AddReconfQueue-List MAC-hs-AddReconfQueue-List OPTIONAL,
+ mac-hs-DelQueue-List MAC-hs-DelQueue-List OPTIONAL
+}
+
+AddOrReconfMAC-ehs-ReordQ ::= SEQUENCE {
+ mac-ehs-AddReconfQueue-List MAC-ehs-AddReconfReordQ-List OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy MAC-ehs-DelReordQ-List OPTIONAL
+}
+
+AddOrReconfMAC-ehs-ReordQ-r9 ::= SEQUENCE {
+ mac-ehs-AddReconfQueue-List MAC-ehs-AddReconfReordQ-List-r9 OPTIONAL
+}
+
+AddOrReconfMAC-ehs-ReordQ-TDD128-v9c0ext ::= SEQUENCE {
+ mac-ehs-AddReconfQueue-List MAC-ehs-AddReconfReordQ-List-TDD128-v9c0ext OPTIONAL
+}
+
+AddOrReconfMAC-ehs-ReordQ-r11 ::= SEQUENCE {
+ mac-ehs-AddReconfQueue-List MAC-ehs-AddReconfReordQ-List-r11 OPTIONAL
+}
+
+AllowedTFC-List ::= SEQUENCE (SIZE (1..maxTFC)) OF
+ TFC-Value
+
+AllowedTFI-List ::= SEQUENCE (SIZE (1..maxTF)) OF
+ INTEGER (0..31)
+
+BitModeRLC-SizeInfo ::= CHOICE {
+ sizeType1 INTEGER (0..127),
+ -- Actual value sizeType2 = (part1 * 8) + 128 + part2
+ sizeType2 SEQUENCE {
+ part1 INTEGER (0..15),
+ part2 INTEGER (1..7) OPTIONAL
+ },
+ -- Actual value sizeType3 = (part1 * 16) + 256 + part2
+ sizeType3 SEQUENCE {
+ part1 INTEGER (0..47),
+ part2 INTEGER (1..15) OPTIONAL
+ },
+ -- Actual value sizeType4 = (part1 * 64) + 1024 + part2
+ sizeType4 SEQUENCE {
+ part1 INTEGER (0..62),
+ part2 INTEGER (1..63) OPTIONAL
+ }
+}
+
+-- Actual value BLER-QualityValue = IE value * 0.1
+BLER-QualityValue ::= INTEGER (-63..0)
+
+ChannelCodingType ::= CHOICE {
+ -- noCoding is only used for TDD in this version of the specification,
+ -- otherwise it should be ignored
+ noCoding NULL,
+ convolutional CodingRate,
+ turbo NULL
+}
+
+CodingRate ::= ENUMERATED {
+ half,
+ third }
+
+Common-E-DCH-MAC-d-Flow ::= SEQUENCE {
+ mac-d-FlowIdentity E-DCH-MAC-d-FlowIdentity,
+ mac-d-FlowPowerOffset E-DCH-MAC-d-FlowPowerOffset,
+ mac-d-FlowMaxRetrans E-DCH-MAC-d-FlowMaxRetrans,
+ mac-d-FlowMultiplexingList E-DCH-MAC-d-FlowMultiplexingList OPTIONAL,
+ e-dch-mac-d-flow-retransmission-timer E-DCH-MAC-d-FlowRetransTimer OPTIONAL
+}
+
+Common-E-DCH-MAC-d-FlowList ::= SEQUENCE (SIZE (1..maxE-DCHMACdFlow)) OF
+ Common-E-DCH-MAC-d-Flow
+
+Common-E-DCH-MAC-d-Flow-Info-ConcurrentTTI ::= SEQUENCE {
+ mac-d-FlowIdentity E-DCH-MAC-d-FlowIdentity,
+ mac-d-FlowPowerOffset E-DCH-MAC-d-FlowPowerOffset OPTIONAL,
+ mac-d-FlowMaxRetrans E-DCH-MAC-d-FlowMaxRetrans OPTIONAL
+}
+
+Common-E-DCH-MAC-d-Flow-Info-List-ConcurrentTTI ::= SEQUENCE (SIZE (1..maxE-DCHMACdFlow)) OF
+ Common-E-DCH-MAC-d-Flow-Info-ConcurrentTTI
+
+CommonDynamicTF-Info ::= SEQUENCE {
+ rlc-Size CHOICE {
+ fdd SEQUENCE {
+ octetModeRLC-SizeInfoType2 OctetModeRLC-SizeInfoType2
+ },
+ tdd SEQUENCE {
+ commonTDD-Choice CHOICE {
+ bitModeRLC-SizeInfo BitModeRLC-SizeInfo,
+ octetModeRLC-SizeInfoType1 OctetModeRLC-SizeInfoType1
+ }
+ }
+ },
+ numberOfTbSizeList SEQUENCE (SIZE (1..maxTF)) OF
+ NumberOfTransportBlocks,
+ logicalChannelList LogicalChannelList
+}
+
+CommonDynamicTF-Info-DynamicTTI ::= SEQUENCE {
+ commonTDD-Choice CHOICE {
+ bitModeRLC-SizeInfo BitModeRLC-SizeInfo,
+ octetModeRLC-SizeInfoType1 OctetModeRLC-SizeInfoType1
+ },
+ numberOfTbSizeAndTTIList NumberOfTbSizeAndTTIList,
+ logicalChannelList LogicalChannelList
+}
+
+CommonDynamicTF-InfoList ::= SEQUENCE (SIZE (1..maxTF)) OF
+ CommonDynamicTF-Info
+
+CommonDynamicTF-InfoList-DynamicTTI ::= SEQUENCE (SIZE (1..maxTF)) OF
+ CommonDynamicTF-Info-DynamicTTI
+
+CommonTransChTFS ::= SEQUENCE {
+ tti CHOICE {
+ tti10 CommonDynamicTF-InfoList,
+ tti20 CommonDynamicTF-InfoList,
+ tti40 CommonDynamicTF-InfoList,
+ tti80 CommonDynamicTF-InfoList,
+ dynamic CommonDynamicTF-InfoList-DynamicTTI
+ },
+ semistaticTF-Information SemistaticTF-Information
+}
+
+CommonTransChTFS-LCR ::= SEQUENCE {
+ tti CHOICE {
+ tti5 CommonDynamicTF-InfoList,
+ tti10 CommonDynamicTF-InfoList,
+ tti20 CommonDynamicTF-InfoList,
+ tti40 CommonDynamicTF-InfoList,
+ tti80 CommonDynamicTF-InfoList,
+ dynamic CommonDynamicTF-InfoList-DynamicTTI
+ },
+ semistaticTF-Information SemistaticTF-Information
+}
+
+Common-MAC-ehs-ReorderingQueue ::= SEQUENCE {
+ mac-ehs-QueueId MAC-ehs-QueueId,
+ t1-ReleaseTimer T1-ReleaseTimer,
+ reorderingResetTimer Treset-ResetTimer OPTIONAL,
+ mac-ehsWindowSize MAC-hs-WindowSize
+}
+
+Common-MAC-ehs-ReorderingQueueList ::= SEQUENCE (SIZE (1.. maxCommonQueueID)) OF
+ Common-MAC-ehs-ReorderingQueue
+
+Concurrent-Deployment-2ms-10ms-TTI ::= SEQUENCE {
+ tti-selection CHOICE {
+ fixed SEQUENCE {
+ fixed-TTI-Selection ENUMERATED { tti2, tti10 }
+ },
+ threshold-based SEQUENCE {
+ common-E-DCH-TTI-Selection-Thresh INTEGER (0..15)
+ }
+ },
+ concurrent-TTI-Partition-Index INTEGER (0..maxEDCHs-1),
+ commonEDCHSystemInfoParamConcurrentTTI CommonEDCHSystemInfoParamConcurrentTTI OPTIONAL
+}
+
+CPCH-SetID ::= INTEGER (1..maxCPCHsets)
+
+CRC-Size ::= ENUMERATED {
+ crc0, crc8, crc12, crc16, crc24 }
+
+DedicatedDynamicTF-Info ::= SEQUENCE {
+ rlc-Size CHOICE {
+ bitMode BitModeRLC-SizeInfo,
+ octetModeType1 OctetModeRLC-SizeInfoType1
+ },
+ numberOfTbSizeList SEQUENCE (SIZE (1..maxTF)) OF
+ NumberOfTransportBlocks,
+ logicalChannelList LogicalChannelList
+}
+
+DedicatedDynamicTF-Info-DynamicTTI ::= SEQUENCE {
+ rlc-Size CHOICE {
+ bitMode BitModeRLC-SizeInfo,
+ octetModeType1 OctetModeRLC-SizeInfoType1
+ },
+ numberOfTbSizeAndTTIList NumberOfTbSizeAndTTIList,
+ logicalChannelList LogicalChannelList
+}
+
+DedicatedDynamicTF-InfoList ::= SEQUENCE (SIZE (1..maxTF)) OF
+ DedicatedDynamicTF-Info
+
+DedicatedDynamicTF-InfoList-DynamicTTI ::= SEQUENCE (SIZE (1..maxTF)) OF
+ DedicatedDynamicTF-Info-DynamicTTI
+
+DedicatedTransChTFS ::= SEQUENCE {
+ tti CHOICE {
+ tti10 DedicatedDynamicTF-InfoList,
+ tti20 DedicatedDynamicTF-InfoList,
+ tti40 DedicatedDynamicTF-InfoList,
+ tti80 DedicatedDynamicTF-InfoList,
+ dynamic DedicatedDynamicTF-InfoList-DynamicTTI
+ },
+ semistaticTF-Information SemistaticTF-Information
+}
+
+-- The maximum allowed size of DL-AddReconfTransChInfo2List sequence is 16
+DL-AddReconfTransChInfo2List ::= SEQUENCE (SIZE (1..maxTrCHpreconf)) OF
+ DL-AddReconfTransChInformation2
+
+-- The maximum allowed size of DL-AddReconfTransChInfoList sequence is 16
+DL-AddReconfTransChInfoList ::= SEQUENCE (SIZE (1..maxTrCHpreconf)) OF
+ DL-AddReconfTransChInformation
+
+-- The maximum allowed size of DL-AddReconfTransChInfoList-r4 sequence is 16
+DL-AddReconfTransChInfoList-r4 ::= SEQUENCE (SIZE (1..maxTrCHpreconf)) OF
+ DL-AddReconfTransChInformation-r4
+
+-- The maximum allowed size of DL-AddReconfTransChInfoList-r5 sequence is 16
+DL-AddReconfTransChInfoList-r5 ::= SEQUENCE (SIZE (1..maxTrCHpreconf)) OF
+ DL-AddReconfTransChInformation-r5
+
+-- The maximum allowed size of DL-AddReconfTransChInfoList-r7 sequence is 16
+DL-AddReconfTransChInfoList-r7 ::= SEQUENCE (SIZE (1..maxTrCHpreconf)) OF
+ DL-AddReconfTransChInformation-r7
+
+DL-AddReconfTransChInfoList-r9 ::= SEQUENCE (SIZE (1..maxTrCHpreconf)) OF
+ DL-AddReconfTransChInformation-r9
+
+DL-AddReconfTransChInfoList-r11 ::= SEQUENCE (SIZE (1..maxTrCHpreconf)) OF
+ DL-AddReconfTransChInformation-r11
+
+DL-AddReconfTransChInfoList-r13 ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ DL-AddReconfTransChInformation-r13
+
+DL-AddReconfTransChInfoList-TDD128-v9c0ext ::= SEQUENCE (SIZE (1..maxTrCHpreconf)) OF
+ DL-AddReconfTransChInformation-TDD128-v9c0ext
+
+
+-- ASN.1 for IE "Added or Reconfigured DL TrCH information"
+-- in case of messages other than: Radio Bearer Release message and
+-- Radio Bearer Reconfiguration message
+DL-AddReconfTransChInformation ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-Type,
+ dl-transportChannelIdentity TransportChannelIdentity,
+ tfs-SignallingMode CHOICE {
+ explicit-config TransportFormatSet,
+ sameAsULTrCH UL-TransportChannelIdentity
+ },
+ dch-QualityTarget QualityTarget OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy TM-SignallingInfo OPTIONAL
+}
+
+DL-AddReconfTransChInformation-r4 ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-Type,
+ dl-transportChannelIdentity TransportChannelIdentity,
+ tfs-SignallingMode CHOICE {
+ explicit-config TransportFormatSet,
+ sameAsULTrCH UL-TransportChannelIdentity
+ },
+ dch-QualityTarget QualityTarget OPTIONAL
+}
+
+DL-AddReconfTransChInformation-r5 ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-TypeId1-r5,
+ tfs-SignallingMode CHOICE {
+ explicit-config TransportFormatSet,
+ sameAsULTrCH UL-TransportChannelIdentity,
+ hsdsch HSDSCH-Info
+ },
+ dch-QualityTarget QualityTarget OPTIONAL
+}
+
+DL-AddReconfTransChInformation-r7 ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-TypeId1-r5,
+ tfs-SignallingMode CHOICE {
+ explicit-config TransportFormatSet,
+ sameAsULTrCH UL-TransportChannelIdentity,
+ hsdsch HSDSCH-Info-r7
+ },
+ dch-QualityTarget QualityTarget OPTIONAL
+}
+
+DL-AddReconfTransChInformation-r9 ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-TypeId1-r5,
+ tfs-SignallingMode CHOICE {
+ explicit-config TransportFormatSet,
+ sameAsULTrCH UL-TransportChannelIdentity,
+ hsdsch HSDSCH-Info-r9
+ },
+ dch-QualityTarget QualityTarget OPTIONAL
+}
+
+DL-AddReconfTransChInformation-r11 ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-TypeId1-r5,
+ tfs-SignallingMode CHOICE {
+ explicit-config TransportFormatSet,
+ sameAsULTrCH UL-TransportChannelIdentity,
+ hsdsch HSDSCH-Info-r11
+ },
+ dch-QualityTarget QualityTarget OPTIONAL
+}
+
+DL-AddReconfTransChInformation-r13 ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-TypeId1-r5,
+ tfs-SignallingMode CHOICE {
+ explicit-config TransportFormatSet,
+ sameAsULTrCH UL-TransportChannelIdentity,
+ hsdsch HSDSCH-Info-r13
+ },
+ dch-QualityTarget QualityTarget OPTIONAL
+}
+
+DL-AddReconfTransChInformation-TDD128-v9c0ext ::= SEQUENCE {
+ hsdsch HSDSCH-Info-TDD128-v9c0ext OPTIONAL
+}
+
+-- ASN.1 for IE "Added or Reconfigured DL TrCH information"
+-- in case of Radio Bearer Release message and
+-- Radio Bearer Reconfiguration message
+DL-AddReconfTransChInformation2 ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-Type,
+ transportChannelIdentity TransportChannelIdentity,
+ tfs-SignallingMode CHOICE {
+ explicit-config TransportFormatSet,
+ sameAsULTrCH UL-TransportChannelIdentity
+ },
+ qualityTarget QualityTarget OPTIONAL
+}
+
+DL-CommonTransChInfo ::= SEQUENCE {
+ sccpch-TFCS TFCS OPTIONAL,
+ -- modeSpecificInfo should be optional. A new version of this IE should be defined
+ -- to be used in later versions of messages using this IE
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ dl-Parameters CHOICE {
+ dl-DCH-TFCS TFCS,
+ sameAsUL NULL
+ } OPTIONAL
+ },
+ tdd SEQUENCE {
+ individualDL-CCTrCH-InfoList IndividualDL-CCTrCH-InfoList
+ OPTIONAL
+ }
+ }
+}
+
+DL-CommonTransChInfo-r4 ::= SEQUENCE {
+ sccpch-TFCS TFCS OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ dl-Parameters CHOICE {
+ dl-DCH-TFCS SEQUENCE {
+ tfcs TFCS OPTIONAL
+ },
+ sameAsUL NULL
+ } OPTIONAL
+ },
+ tdd SEQUENCE {
+ individualDL-CCTrCH-InfoList IndividualDL-CCTrCH-InfoList
+ OPTIONAL
+ }
+ } OPTIONAL
+}
+
+DL-DeletedTransChInfoList ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ DL-TransportChannelIdentity
+
+DL-DeletedTransChInfoList-r5 ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ DL-TransportChannelIdentity-r5
+
+DL-DeletedTransChInfoList-r7 ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ DL-TransportChannelIdentity-r7
+
+DL-TransportChannelIdentity ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-Type,
+ dl-TransportChannelIdentity TransportChannelIdentity
+}
+
+DL-TransportChannelIdentity-r5 ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-TypeId2-r5
+}
+
+DL-TransportChannelIdentity-r7 ::= SEQUENCE {
+ dl-TransportChannelType DL-TrCH-TypeId2-r7
+}
+
+-- The choice "dsch" should not be used in FDD mode, and if received the UE behaviour is unspecified
+DL-TrCH-Type ::= ENUMERATED {dch, dsch}
+
+DL-TrCH-TypeId1-r5 ::= CHOICE {
+ dch TransportChannelIdentity,
+ -- The choice "dsch" should not be used in FDD mode, and if received
+ -- the UE behaviour is unspecified.
+ dsch TransportChannelIdentity,
+ hsdsch NULL
+}
+
+DL-TrCH-TypeId2-r5 ::= CHOICE {
+ dch TransportChannelIdentity,
+ -- The choice "dsch" should not be used in FDD mode, and if received
+ -- the UE behaviour is unspecified.
+ dsch TransportChannelIdentity,
+ hsdsch MAC-d-FlowIdentity
+}
+
+DL-TrCH-TypeId2-r7 ::= CHOICE {
+ dch TransportChannelIdentity,
+ -- The choice "dsch" should not be used in FDD mode, and if received
+ -- the UE behaviour is unspecified.
+ dsch TransportChannelIdentity,
+ hsdsch CHOICE {
+ mac-hs MAC-d-FlowIdentity,
+ mac-ehs MAC-ehs-QueueId
+ }
+}
+
+DRAC-ClassIdentity ::= INTEGER (1..maxDRACclasses)
+
+DRAC-StaticInformation ::= SEQUENCE {
+ transmissionTimeValidity TransmissionTimeValidity,
+ timeDurationBeforeRetry TimeDurationBeforeRetry,
+ drac-ClassIdentity DRAC-ClassIdentity
+}
+
+DRAC-StaticInformationList ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ DRAC-StaticInformation
+
+E-DCH-AddReconf-MAC-d-Flow ::= SEQUENCE {
+ mac-d-FlowIdentity E-DCH-MAC-d-FlowIdentity,
+ mac-d-FlowPowerOffset E-DCH-MAC-d-FlowPowerOffset OPTIONAL,
+ mac-d-FlowMaxRetrans E-DCH-MAC-d-FlowMaxRetrans OPTIONAL,
+ mac-d-FlowMultiplexingList E-DCH-MAC-d-FlowMultiplexingList OPTIONAL,
+ transmissionGrantType CHOICE {
+ non-ScheduledTransGrantInfo SEQUENCE {
+ maxMAC-e-PDUContents INTEGER (1..19982),
+ ms2-NonSchedTransmGrantHARQAlloc BIT STRING (SIZE (8)) OPTIONAL
+ },
+ scheduledTransmissionGrantInfo NULL
+ } OPTIONAL
+}
+
+E-DCH-AddReconf-MAC-d-Flow-r7 ::= SEQUENCE {
+ mac-d-FlowIdentity E-DCH-MAC-d-FlowIdentity,
+ mac-d-FlowPowerOffset E-DCH-MAC-d-FlowPowerOffset OPTIONAL,
+ mac-d-FlowMaxRetrans E-DCH-MAC-d-FlowMaxRetrans OPTIONAL,
+ mac-d-FlowRetransTimer E-DCH-MAC-d-FlowRetransTimer OPTIONAL,
+ mac-d-FlowMultiplexingList E-DCH-MAC-d-FlowMultiplexingList OPTIONAL,
+ transmissionGrantType CHOICE {
+ non-ScheduledTransGrantInfo SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ maxMAC-e-PDUContents INTEGER (1..19982),
+ ms2-NonSchedTransmGrantHARQAlloc BIT STRING (SIZE (8)) OPTIONAL
+ },
+ tdd NULL
+ }
+ },
+ scheduledTransmissionGrantInfo NULL
+ } OPTIONAL
+}
+
+E-DCH-AddReconf-MAC-d-FlowList ::= SEQUENCE (SIZE (1..maxE-DCHMACdFlow)) OF
+ E-DCH-AddReconf-MAC-d-Flow
+
+E-DCH-AddReconf-MAC-d-FlowList-r7 ::= SEQUENCE (SIZE (1..maxE-DCHMACdFlow)) OF
+ E-DCH-AddReconf-MAC-d-Flow-r7
+
+E-DCH-MAC-d-FlowIdentity ::= INTEGER (0..maxE-DCHMACdFlow-1)
+
+E-DCH-MAC-d-FlowMaxRetrans ::= INTEGER (0..15)
+
+E-DCH-MAC-d-FlowMultiplexingList ::= BIT STRING (SIZE (maxE-DCHMACdFlow))
+
+E-DCH-MAC-d-FlowPowerOffset ::= INTEGER (0..6)
+
+E-DCH-MAC-d-FlowRetransTimer ::= ENUMERATED {
+ ms10, ms15, ms20, ms25, ms30, ms35, ms40, ms45, ms50,
+ ms55, ms60, ms65, ms70, ms75, ms80, ms85, ms90, ms95,
+ ms100, ms110, ms120, ms140, ms160, ms200, ms240, ms280,
+ ms320, ms400, ms480, ms560 }
+
+E-DCH-TTI ::= ENUMERATED { tti2, tti10 }
+
+ExplicitTFCS-Configuration ::= CHOICE {
+ complete TFCS-ReconfAdd,
+ addition TFCS-ReconfAdd,
+ removal TFCS-RemovalList,
+ replacement SEQUENCE {
+ tfcsRemoval TFCS-RemovalList,
+ tfcsAdd TFCS-ReconfAdd
+ }
+}
+
+ExplicitTFCS-Configuration-r12 ::= CHOICE {
+ complete TFCS-ReconfAdd-r12,
+ addition TFCS-ReconfAdd-r12,
+ removal TFCS-RemovalList,
+ replacement SEQUENCE {
+ tfcsRemoval TFCS-RemovalList,
+ tfcsAdd TFCS-ReconfAdd-r12
+ }
+}
+
+GainFactor ::= INTEGER (0..15)
+
+GainFactorInformation ::= CHOICE {
+ signalledGainFactors SignalledGainFactors,
+ computedGainFactors ReferenceTFC-ID
+}
+
+GainFactorInformation-10msMode ::= CHOICE {
+ signalledGainFactors SEQUENCE {
+ gainFactorBetaC GainFactor,
+ gainFactorBetaD GainFactor,
+ referenceTFC-ID ReferenceTFC-ID OPTIONAL
+ },
+ computedGainFactors ReferenceTFC-ID
+}
+
+
+HSDSCH-Info ::= SEQUENCE {
+ harqInfo HARQ-Info OPTIONAL,
+ addOrReconfMAC-dFlow AddOrReconfMAC-dFlow OPTIONAL
+}
+
+HSDSCH-Info-r7 ::= SEQUENCE {
+ harqInfo HARQ-Info-r7 OPTIONAL,
+ dl-MAC-HeaderType CHOICE {
+ mac-hs AddOrReconfMAC-dFlow,
+ mac-ehs AddOrReconfMAC-ehs-ReordQ
+ } OPTIONAL
+}
+
+HSDSCH-Info-r9 ::= SEQUENCE {
+ harqInfo HARQ-Info-r7 OPTIONAL,
+ dl-MAC-HeaderType CHOICE {
+ mac-hs AddOrReconfMAC-dFlow,
+ mac-ehs AddOrReconfMAC-ehs-ReordQ-r9
+ } OPTIONAL
+}
+
+HSDSCH-Info-r11 ::= SEQUENCE {
+ harqInfo HARQ-Info-r11 OPTIONAL,
+ dl-MAC-HeaderType CHOICE {
+ mac-hs AddOrReconfMAC-dFlow,
+ mac-ehs AddOrReconfMAC-ehs-ReordQ-r11
+ } OPTIONAL
+}
+
+HSDSCH-Info-r13 ::= SEQUENCE {
+ harqInfo HARQ-Info-r13 OPTIONAL,
+ dl-MAC-HeaderType CHOICE {
+ mac-hs AddOrReconfMAC-dFlow,
+ mac-ehs AddOrReconfMAC-ehs-ReordQ-r11
+ } OPTIONAL
+}
+
+HSDSCH-Info-TDD128-v9c0ext ::= SEQUENCE {
+ mac-ehs AddOrReconfMAC-ehs-ReordQ-TDD128-v9c0ext OPTIONAL
+}
+
+HARQ-Info ::= SEQUENCE {
+ numberOfProcesses INTEGER (1..8),
+ memoryPartitioning CHOICE {
+ implicit NULL,
+ explicit SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize
+ }
+}
+
+HARQ-Info-r7 ::= SEQUENCE {
+ numberOfProcesses ENUMERATED { n1, n2, n3, n4, n5, n6, n7, n8,
+ n12, n14, n16 },
+ memoryPartitioning CHOICE {
+ implicit NULL,
+ explicit SEQUENCE {
+ memorySize SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize,
+ additionalMemorySizesForMIMO SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize OPTIONAL
+ }
+ }
+}
+
+HARQ-Info-r11 ::= SEQUENCE {
+ numberOfProcesses ENUMERATED { n1, n2, n3, n4, n5, n6, n7, n8,
+ n12, n14, n16, n24, n28, n32 },
+ memoryPartitioning CHOICE {
+ implicit NULL,
+ explicit SEQUENCE {
+ memorySize SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize,
+ additionalMemorySizesForMIMO SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize OPTIONAL,
+ additionalMemorySizesThirdMIMOStream SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize OPTIONAL,
+ additionalMemorySizesFourthMIMOStream SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize OPTIONAL
+ }
+ }
+}
+
+HARQ-Info-r13 ::= SEQUENCE {
+ numberOfProcesses ENUMERATED { n1, n2, n3, n4, n5, n6, n7, n8,
+ n12, n14, n16, n24, n28, n32 },
+ memoryPartitioning CHOICE {
+ implicit NULL,
+ explicit SEQUENCE {
+ memorySize SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize,
+ additionalMemorySizesForMIMO SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize OPTIONAL,
+ additionalMemorySizesThirdMIMOStream SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize OPTIONAL,
+ additionalMemorySizesFourthMIMOStream SEQUENCE (SIZE (1..maxHProcesses)) OF
+ HARQMemorySize OPTIONAL
+ }
+ },
+ blindHARQRetransmissionsForHSDPA ENUMERATED { true } OPTIONAL
+}
+
+HARQMemorySize ::= ENUMERATED {
+ hms800, hms1600, hms2400, hms3200, hms4000,
+ hms4800, hms5600, hms6400, hms7200, hms8000,
+ hms8800, hms9600, hms10400, hms11200, hms12000,
+ hms12800, hms13600, hms14400, hms15200, hms16000,
+ hms17600, hms19200, hms20800, hms22400, hms24000,
+ hms25600, hms27200, hms28800, hms30400, hms32000,
+ hms36000, hms40000, hms44000, hms48000, hms52000,
+ hms56000, hms60000, hms64000, hms68000, hms72000,
+ hms76000, hms80000, hms88000, hms96000, hms104000,
+ hms112000, hms120000, hms128000, hms136000, hms144000,
+ hms152000, hms160000, hms176000, hms192000, hms208000,
+ hms224000, hms240000, hms256000, hms272000, hms288000,
+ hms304000 }
+
+IndividualDL-CCTrCH-Info ::= SEQUENCE {
+ dl-TFCS-Identity TFCS-Identity,
+ tfcs-SignallingMode CHOICE {
+ explicit-config TFCS,
+ sameAsUL TFCS-Identity
+ }
+}
+
+IndividualDL-CCTrCH-InfoList ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ IndividualDL-CCTrCH-Info
+
+IndividualUL-CCTrCH-Info ::= SEQUENCE {
+ ul-TFCS-Identity TFCS-Identity,
+ ul-TFCS TFCS ,
+ tfc-Subset TFC-Subset
+}
+
+IndividualUL-CCTrCH-InfoList ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ IndividualUL-CCTrCH-Info
+
+LogicalChannelByRB ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ logChOfRb INTEGER (0..1) OPTIONAL
+}
+
+LogicalChannelList ::= CHOICE {
+ allSizes NULL,
+ configured NULL,
+ explicitList SEQUENCE (SIZE (1..15)) OF
+ LogicalChannelByRB
+}
+
+MAC-d-FlowIdentityDCHandHSDSCH ::= SEQUENCE {
+ dch-transport-ch-id TransportChannelIdentity,
+ hsdsch-mac-d-flow-id MAC-d-FlowIdentity
+}
+
+MAC-d-FlowIdentity ::= INTEGER (0..7)
+
+MAC-d-PDU-SizeInfo-List ::= SEQUENCE (SIZE(1.. maxMAC-d-PDUsizes)) OF
+ MAC-d-PDUsizeInfo
+
+--MAC-d-Pdu sizes need to be defined
+MAC-d-PDUsizeInfo ::= SEQUENCE{
+ mac-d-PDU-Size INTEGER (1..5000),
+ mac-d-PDU-Index INTEGER(0..7)
+}
+
+MAC-hs-AddReconfQueue-List ::= SEQUENCE (SIZE(1..maxQueueIDs)) OF
+ MAC-hs-AddReconfQueue
+
+MAC-hs-AddReconfQueue ::= SEQUENCE {
+ mac-hsQueueId INTEGER(0..7),
+ mac-dFlowId MAC-d-FlowIdentity,
+ reorderingReleaseTimer T1-ReleaseTimer,
+ mac-hsWindowSize MAC-hs-WindowSize,
+ mac-d-PDU-SizeInfo-List MAC-d-PDU-SizeInfo-List OPTIONAL
+}
+
+MAC-hs-DelQueue-List ::= SEQUENCE (SIZE(1..maxQueueIDs)) OF
+ MAC-hs-DelQueue
+
+MAC-hs-DelQueue ::= SEQUENCE {
+ mac-hsQueueId INTEGER(0..7)
+}
+
+MAC-ehs-AddReconfReordQ-List ::= SEQUENCE (SIZE(1..maxQueueIDs)) OF
+ MAC-ehs-AddReconfReordQ
+
+MAC-ehs-AddReconfReordQ-List-r9 ::= SEQUENCE (SIZE(1..maxQueueIDs)) OF
+ MAC-ehs-AddReconfReordQ-r9
+
+MAC-ehs-AddReconfReordQ-List-TDD128-v9c0ext ::= SEQUENCE (SIZE(1..maxQueueIDs)) OF
+ MAC-ehs-AddReconfReordQ-TDD128-v9c0ext
+
+MAC-ehs-AddReconfReordQ-List-r11 ::= SEQUENCE (SIZE(1..maxQueueIDs)) OF
+ MAC-ehs-AddReconfReordQ-r11
+
+MAC-ehs-AddReconfReordQ ::= SEQUENCE {
+ mac-ehs-QueueId MAC-ehs-QueueId,
+ reorderingReleaseTimer T1-ReleaseTimer,
+ reorderingResetTimer Treset-ResetTimer OPTIONAL,
+ mac-ehsWindowSize MAC-hs-WindowSize
+}
+
+MAC-ehs-AddReconfReordQ-r9 ::= SEQUENCE {
+ mac-ehs-QueueId MAC-ehs-QueueId,
+ reorderingReleaseTimer T1-ReleaseTimer,
+ reorderingResetTimer Treset-ResetTimer OPTIONAL,
+ mac-ehsWindowSize MAC-hs-WindowSize-r9
+}
+
+MAC-ehs-AddReconfReordQ-TDD128-v9c0ext ::= SEQUENCE {
+ mac-ehsWindowSize-extension MAC-ehs-WindowSize-TDD128-v9c0ext OPTIONAL
+}
+
+MAC-ehs-AddReconfReordQ-r11 ::= SEQUENCE {
+ mac-ehs-QueueId MAC-ehs-QueueId,
+ reorderingReleaseTimer T1-ReleaseTimer,
+ reorderingResetTimer Treset-ResetTimer OPTIONAL,
+ mac-ehsWindowSize MAC-hs-WindowSize-r11,
+ -- For 1.28Mcps TDD only
+ mac-ehsWindowSize-extension MAC-ehs-WindowSize-TDD128-v9c0ext OPTIONAL
+}
+
+MAC-ehs-DelReordQ-List ::= SEQUENCE (SIZE(1..maxQueueIDs)) OF
+ MAC-ehs-DelReordQ
+
+MAC-ehs-DelReordQ ::= SEQUENCE {
+ mac-ehs-QueueId MAC-ehs-QueueId
+}
+
+MAC-ehs-QueueIdDCHandHSDSCH ::= SEQUENCE {
+ dch-transport-ch-id TransportChannelIdentity,
+ hsdsch-mac-ehs-QueueId MAC-ehs-QueueId
+}
+
+MAC-ehs-QueueId ::= INTEGER (0..7)
+
+MAC-hs-WindowSize ::= ENUMERATED {
+ mws4, mws6, mws8, mws12, mws16, mws24, mws32 }
+
+MAC-hs-WindowSize-r9 ::= ENUMERATED {
+ mws4, mws6, mws8, mws12, mws16, mws24, mws32,
+ mw64, mw128 }
+
+MAC-ehs-WindowSize-TDD128-v9c0ext ::= ENUMERATED {
+ mws96, mws160, mws192, mws256 }
+
+MAC-hs-WindowSize-r11 ::= ENUMERATED {
+ mws4, mws6, mws8, mws12, mws16, mws24, mws32,
+ mws64, mws128, mws256, spare6, spare5, spare4,
+ spare3, spare2, spare1 }
+
+NumberOfTbSizeAndTTIList ::= SEQUENCE (SIZE (1..maxTF)) OF SEQUENCE {
+ numberOfTransportBlocks NumberOfTransportBlocks,
+ transmissionTimeInterval TransmissionTimeInterval
+}
+
+MessType ::= ENUMERATED {
+ transportFormatCombinationControl }
+
+MinimumTEBS-threshold ::= ENUMERATED {
+ pl2, pl4, pl8, pl16, pl32,
+ pl64, pl128, pl256, pl512, pl1024,
+ pl2k, pl4k, pl8k, pl16k, pl32k,
+ pl64k, pl128k, pl256k, pl512k, pl1024k,
+ spare12, spare11, spare10, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3,
+ spare2, spare1 }
+
+Non-allowedTFC-List ::= SEQUENCE (SIZE (1..maxTFC)) OF
+ TFC-Value
+
+NumberOfTransportBlocks ::= CHOICE {
+ zero NULL,
+ one NULL,
+ small INTEGER (2..17),
+ large INTEGER (18..512)
+}
+
+OctetModeRLC-SizeInfoType1 ::= CHOICE {
+ -- Actual size = (8 * sizeType1) + 16
+ sizeType1 INTEGER (0..31),
+ sizeType2 SEQUENCE {
+ -- Actual size = (32 * part1) + 272 + (part2 * 8)
+ part1 INTEGER (0..23),
+ part2 INTEGER (1..3) OPTIONAL
+ },
+ sizeType3 SEQUENCE {
+ -- Actual size = (64 * part1) + 1040 + (part2 * 8)
+ part1 INTEGER (0..61),
+ part2 INTEGER (1..7) OPTIONAL
+ }
+}
+
+OctetModeRLC-SizeInfoType2 ::= CHOICE {
+ -- Actual size = (sizeType1 * 8) + 48
+ sizeType1 INTEGER (0..31),
+ -- Actual size = (sizeType2 * 16) + 312
+ sizeType2 INTEGER (0..63),
+ -- Actual size = (sizeType3 *64) + 1384
+ sizeType3 INTEGER (0..56)
+}
+
+PowerOffsetInfoShort ::= SEQUENCE {
+ referenceTFC TFC-Value,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ gainFactorBetaC GainFactor
+ },
+ tdd NULL
+ },
+ gainFactorBetaD GainFactor
+}
+
+PowerOffsetInformation ::= SEQUENCE {
+ gainFactorInformation GainFactorInformation,
+ -- PowerOffsetPp-m is always absent in TDD
+ powerOffsetPp-m PowerOffsetPp-m OPTIONAL
+}
+
+PowerOffsetInformation-10msMode ::= SEQUENCE {
+ gainFactorInformation GainFactorInformation-10msMode
+}
+
+PowerOffsetPp-m ::= INTEGER (-5..10)
+
+PreDefTransChConfiguration ::= SEQUENCE {
+ ul-CommonTransChInfo UL-CommonTransChInfo,
+ ul-AddReconfTrChInfoList UL-AddReconfTransChInfoList,
+ dl-CommonTransChInfo DL-CommonTransChInfo,
+ dl-TrChInfoList DL-AddReconfTransChInfoList
+}
+
+QualityTarget ::= SEQUENCE {
+ bler-QualityValue BLER-QualityValue
+}
+
+RateMatchingAttribute ::= INTEGER (1..hiRM)
+
+
+ReferenceTFC-ID ::= INTEGER (0..3)
+
+RestrictedTrChInfo ::= SEQUENCE {
+ ul-TransportChannelType UL-TrCH-Type,
+ restrictedTrChIdentity TransportChannelIdentity,
+ allowedTFI-List AllowedTFI-List OPTIONAL
+}
+
+RestrictedTrChInfoList ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ RestrictedTrChInfo
+
+SemistaticTF-Information ::= SEQUENCE {
+ -- TABULAR: Transmission time interval has been included in the IE CommonTransChTFS.
+ channelCodingType ChannelCodingType,
+ rateMatchingAttribute RateMatchingAttribute,
+ crc-Size CRC-Size
+}
+
+SignalledGainFactors ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ gainFactorBetaC GainFactor
+ },
+ tdd NULL
+ },
+ gainFactorBetaD GainFactor,
+ referenceTFC-ID ReferenceTFC-ID OPTIONAL
+}
+
+SplitTFCI-Signalling ::= SEQUENCE {
+ splitType SplitType OPTIONAL,
+ tfci-Field2-Length INTEGER (1..10) OPTIONAL,
+ tfci-Field1-Information ExplicitTFCS-Configuration OPTIONAL,
+ tfci-Field2-Information TFCI-Field2-Information OPTIONAL
+}
+
+SplitType ::= ENUMERATED {
+ hardSplit, logicalSplit }
+
+T1-ReleaseTimer ::= ENUMERATED {
+ rt10, rt20, rt30, rt40, rt50,
+ rt60, rt70, rt80, rt90, rt100,
+ rt120, rt140, rt160, rt200, rt300,
+ rt400 }
+
+TFC-Subset ::= CHOICE {
+ minimumAllowedTFC-Number TFC-Value,
+ allowedTFC-List AllowedTFC-List,
+ non-allowedTFC-List Non-allowedTFC-List,
+ restrictedTrChInfoList RestrictedTrChInfoList,
+ fullTFCS NULL
+}
+
+TFC-SubsetList ::= SEQUENCE (SIZE (1.. maxTFCsub)) OF SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd NULL,
+ tdd SEQUENCE {
+ tfcs-ID TFCS-Identity OPTIONAL
+ }
+ },
+ tfc-Subset TFC-Subset
+}
+
+TFC-Value ::= INTEGER (0..1023)
+
+TFCI-Field2-Information ::= CHOICE {
+ tfci-Range TFCI-RangeList,
+ explicit-config ExplicitTFCS-Configuration
+}
+
+TFCI-Range ::= SEQUENCE {
+ maxTFCIField2Value INTEGER (1..1023),
+ tfcs-InfoForDSCH TFCS-InfoForDSCH
+}
+
+TFCI-RangeList ::= SEQUENCE (SIZE (1..maxPDSCH-TFCIgroups)) OF
+ TFCI-Range
+
+TFCS ::= CHOICE {
+ normalTFCI-Signalling ExplicitTFCS-Configuration,
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received the UE behaviour is not specified.
+ dummy SplitTFCI-Signalling
+}
+
+TFCS-r12 ::= CHOICE {
+ normalTFCI-Signalling ExplicitTFCS-Configuration-r12
+}
+
+TFCS-Identity ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ sharedChannelIndicator BOOLEAN
+}
+
+TFCS-IdentityPlain ::= INTEGER (1..8)
+
+TFCS-InfoForDSCH ::= CHOICE {
+ ctfc2bit INTEGER (0..3),
+ ctfc4bit INTEGER (0..15),
+ ctfc6bit INTEGER (0..63),
+ ctfc8bit INTEGER (0..255),
+ ctfc12bit INTEGER (0..4095),
+ ctfc16bit INTEGER (0..65535),
+ ctfc24bit INTEGER (0..16777215)
+}
+
+TFCS-ReconfAdd ::= SEQUENCE{
+ ctfcSize CHOICE{
+ ctfc2Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc2 INTEGER (0..3),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL
+ },
+ ctfc4Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc4 INTEGER (0..15),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL
+ },
+ ctfc6Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc6 INTEGER (0..63),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL
+ },
+ ctfc8Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc8 INTEGER (0..255),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL
+ },
+ ctfc12Bit SEQUENCE (SIZE(1..maxTFC)) OF SEQUENCE {
+ ctfc12 INTEGER (0..4095),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL
+ },
+ ctfc16Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc16 INTEGER(0..65535),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL
+ },
+ ctfc24Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc24 INTEGER(0..16777215),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL
+ }
+ }
+}
+
+TFCS-ReconfAdd-r12 ::= SEQUENCE{
+ ctfcSize CHOICE{
+ ctfc2Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc2 INTEGER (0..3),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL,
+ powerOffsetInformation-10msMode PowerOffsetInformation-10msMode OPTIONAL
+ },
+ ctfc4Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc4 INTEGER (0..15),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL,
+ powerOffsetInformation-10msMode PowerOffsetInformation-10msMode OPTIONAL
+ },
+ ctfc6Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc6 INTEGER (0..63),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL,
+ powerOffsetInformation-10msMode PowerOffsetInformation-10msMode OPTIONAL
+ },
+ ctfc8Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc8 INTEGER (0..255),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL,
+ powerOffsetInformation-10msMode PowerOffsetInformation-10msMode OPTIONAL
+ },
+ ctfc12Bit SEQUENCE (SIZE(1..maxTFC)) OF SEQUENCE {
+ ctfc12 INTEGER (0..4095),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL,
+ powerOffsetInformation-10msMode PowerOffsetInformation-10msMode OPTIONAL
+ },
+ ctfc16Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc16 INTEGER(0..65535),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL,
+ powerOffsetInformation-10msMode PowerOffsetInformation-10msMode OPTIONAL
+ },
+ ctfc24Bit SEQUENCE (SIZE (1..maxTFC)) OF SEQUENCE {
+ ctfc24 INTEGER(0..16777215),
+ powerOffsetInformation PowerOffsetInformation OPTIONAL,
+ powerOffsetInformation-10msMode PowerOffsetInformation-10msMode OPTIONAL
+ }
+ }
+}
+
+TFCS-Removal ::= SEQUENCE {
+ tfci INTEGER (0..1023)
+}
+
+TFCS-RemovalList ::= SEQUENCE (SIZE (1..maxTFC)) OF
+ TFCS-Removal
+
+TimeDurationBeforeRetry ::= INTEGER (1..256)
+
+TM-SignallingInfo ::= SEQUENCE {
+ messType MessType,
+ tm-SignallingMode CHOICE {
+ mode1 NULL,
+ mode2 SEQUENCE {
+ -- in ul-controlledTrChList, TrCH-Type is always DCH
+ ul-controlledTrChList UL-ControlledTrChList
+ }
+ }
+}
+
+TransmissionTimeInterval ::= ENUMERATED {
+ tti10, tti20, tti40, tti80 }
+
+TransmissionTimeValidity ::= INTEGER (1..256)
+
+TransportChannelConcatInfo ::= SEQUENCE (SIZE (1..maxTrCHConcat)) OF
+ TransportChannelIdentity
+
+TransportChannelIdentity ::= INTEGER (1..32)
+
+TransportChannelIdentityDCHandDSCH ::= SEQUENCE {
+ dch-transport-ch-id TransportChannelIdentity,
+ dsch-transport-ch-id TransportChannelIdentity
+}
+
+
+TransportFormatSet ::= CHOICE {
+ dedicatedTransChTFS DedicatedTransChTFS,
+ commonTransChTFS CommonTransChTFS
+}
+
+TransportFormatSet-LCR ::= CHOICE {
+ dedicatedTransChTFS DedicatedTransChTFS,
+ commonTransChTFS-LCR CommonTransChTFS-LCR
+}
+
+Treset-ResetTimer ::= ENUMERATED {
+ rt1, rt2, rt3, rt4 }
+
+-- The maximum allowed size of UL-AddReconfTransChInfoList sequence is 16
+UL-AddReconfTransChInfoList ::= SEQUENCE (SIZE (1..maxTrCHpreconf)) OF
+ UL-AddReconfTransChInformation
+
+-- The maximum allowed size of UL-AddReconfTransChInfoList-r6 sequence is 32
+UL-AddReconfTransChInfoList-r6 ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ UL-AddReconfTransChInformation-r6
+
+-- The maximum allowed size of UL-AddReconfTransChInfoList-r7 sequence is 32
+UL-AddReconfTransChInfoList-r7 ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ UL-AddReconfTransChInformation-r7
+
+-- The maximum allowed size of UL-AddReconfTransChInfoList-r8 sequence is 32
+UL-AddReconfTransChInfoList-r8 ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ UL-AddReconfTransChInformation-r8
+
+-- The maximum allowed size of UL-AddReconfTransChInfoList-r14 sequence is 32
+UL-AddReconfTransChInfoList-r14 ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ UL-AddReconfTransChInformation-r14
+
+UL-AddReconfTransChInformation ::= SEQUENCE {
+ ul-TransportChannelType UL-TrCH-Type,
+ transportChannelIdentity TransportChannelIdentity,
+ transportFormatSet TransportFormatSet
+}
+
+UL-AddReconfTransChInformation-r6 ::= CHOICE {
+ dch-usch SEQUENCE {
+ ul-TransportChannelType UL-TrCH-Type,
+ transportChannelIdentity TransportChannelIdentity,
+ transportFormatSet TransportFormatSet
+ },
+ e-dch SEQUENCE {
+ tti E-DCH-TTI,
+ harq-Info ENUMERATED { rv0, rvtable },
+ addReconf-MAC-d-FlowList E-DCH-AddReconf-MAC-d-FlowList OPTIONAL
+ }
+}
+
+UL-AddReconfTransChInformation-r7 ::= CHOICE {
+ dch-usch SEQUENCE {
+ ul-TransportChannelType UL-TrCH-Type,
+ transportChannelIdentity TransportChannelIdentity,
+ transportFormatSet TransportFormatSet
+ },
+ e-dch SEQUENCE {
+ modeSpecific CHOICE {
+ fdd SEQUENCE {
+ tti E-DCH-TTI
+ },
+ tdd NULL
+ },
+ harq-Info ENUMERATED { rv0, rvtable },
+ addReconf-MAC-d-FlowList E-DCH-AddReconf-MAC-d-FlowList-r7 OPTIONAL
+ }
+}
+
+UL-AddReconfTransChInformation-r8 ::= CHOICE {
+ dch-usch SEQUENCE {
+ ul-TransportChannelType UL-TrCH-Type,
+ transportChannelIdentity TransportChannelIdentity,
+ transportFormatSet TransportFormatSet
+ },
+ e-dch SEQUENCE {
+ ul-MAC-HeaderType ENUMERATED { mac-iis } OPTIONAL,
+ modeSpecific CHOICE {
+ fdd SEQUENCE {
+ tti E-DCH-TTI
+ },
+ tdd NULL
+ },
+ harq-Info ENUMERATED { rv0, rvtable },
+ addReconf-MAC-d-FlowList E-DCH-AddReconf-MAC-d-FlowList-r7 OPTIONAL
+ }
+}
+
+UL-AddReconfTransChInformation-r14 ::= CHOICE {
+ dch-usch SEQUENCE {
+ ul-TransportChannelType UL-TrCH-Type,
+ transportChannelIdentity TransportChannelIdentity,
+ transportFormatSet TransportFormatSet
+ },
+ e-dch SEQUENCE {
+ ul-MAC-HeaderType ENUMERATED { mac-iis } OPTIONAL,
+ modeSpecific CHOICE {
+ fdd SEQUENCE {
+ tti E-DCH-TTI,
+ secondaryTTI E-DCH-TTI OPTIONAL
+ },
+ tdd NULL
+ },
+ harq-Info ENUMERATED { rv0, rvtable },
+ addReconf-MAC-d-FlowList E-DCH-AddReconf-MAC-d-FlowList-r7 OPTIONAL
+ }
+}
+
+UL-CommonTransChInfo ::= SEQUENCE {
+ -- TABULAR: tfc-subset is applicable to FDD only, TDD specifies tfc-subset in individual
+ -- CCTrCH Info.
+ tfc-Subset TFC-Subset OPTIONAL,
+ prach-TFCS TFCS OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-TFCS TFCS
+ },
+ tdd SEQUENCE {
+
+ individualUL-CCTrCH-InfoList IndividualUL-CCTrCH-InfoList
+ OPTIONAL
+ }
+ } OPTIONAL
+}
+
+UL-CommonTransChInfo-r4 ::= SEQUENCE {
+ -- TABULAR: tfc-subset is applicable to FDD only, TDD specifies tfc-subset in individual
+ -- CCTrCH Info.
+ tfc-Subset TFC-Subset OPTIONAL,
+ prach-TFCS TFCS OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-TFCS TFCS
+ },
+ tdd SEQUENCE {
+ individualUL-CCTrCH-InfoList IndividualUL-CCTrCH-InfoList OPTIONAL
+ }
+ } OPTIONAL,
+ tfc-SubsetList TFC-SubsetList OPTIONAL
+}
+
+UL-CommonTransChInfo-r12 ::= SEQUENCE {
+ -- TABULAR: tfc-subset is applicable to FDD only, TDD specifies tfc-subset in individual
+ -- CCTrCH Info.
+ tfc-Subset TFC-Subset OPTIONAL,
+ prach-TFCS TFCS OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-TFCS TFCS-r12
+ },
+ tdd SEQUENCE {
+ individualUL-CCTrCH-InfoList IndividualUL-CCTrCH-InfoList OPTIONAL
+ }
+ } OPTIONAL,
+ tfc-SubsetList TFC-SubsetList OPTIONAL
+}
+
+-- In UL-ControlledTrChList, TrCH-Type is always DCH
+UL-ControlledTrChList ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ TransportChannelIdentity
+
+UL-DeletedTransChInfoList ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ UL-TransportChannelIdentity
+
+UL-DeletedTransChInfoList-r6 ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ UL-TransportChannelIdentity-r6
+
+UL-TransportChannelIdentity ::= SEQUENCE {
+ ul-TransportChannelType UL-TrCH-Type,
+ ul-TransportChannelIdentity TransportChannelIdentity
+}
+
+UL-TransportChannelIdentity-r6 ::= CHOICE {
+ dch-usch SEQUENCE {
+ ul-TransportChannelType UL-TrCH-Type,
+ ul-TransportChannelIdentity TransportChannelIdentity
+ },
+ e-dch E-DCH-MAC-d-FlowIdentity
+}
+
+UL-TrCH-Type ::= ENUMERATED {dch, usch}
+
+USCH-TransportChannelsInfo ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ SEQUENCE {
+ usch-TransportChannelIdentity TransportChannelIdentity,
+ usch-TFS TransportFormatSet
+}
+
+-- ***************************************************
+--
+-- PHYSICAL CHANNEL INFORMATION ELEMENTS (10.3.6)
+--
+-- ***************************************************
+
+ACK-NACK-repetitionFactor ::= INTEGER(1..4)
+
+ActivationDelay::= ENUMERATED {
+ radio-frames-0,
+ radio-frames-1,
+ radio-frames-2,
+ radio-frames-3,
+ radio-frames-4,
+ radio-frames-5,
+ spare2,
+ spare1 }
+
+AC-To-ASC-Mapping ::= INTEGER (0..7)
+
+AC-To-ASC-MappingTable ::= SEQUENCE (SIZE (maxASCmap)) OF
+ AC-To-ASC-Mapping
+
+AccessServiceClass-FDD ::= SEQUENCE {
+ availableSignatureStartIndex INTEGER (0..15),
+ availableSignatureEndIndex INTEGER (0..15),
+
+ assignedSubChannelNumber BIT STRING {
+ b3(0),
+ b2(1),
+ b1(2),
+ b0(3)
+ } (SIZE(4))
+}
+
+AccessServiceClass-TDD ::= SEQUENCE {
+ channelisationCodeIndices BIT STRING {
+ chCodeIndex7(0),
+ chCodeIndex6(1),
+ chCodeIndex5(2),
+ chCodeIndex4(3),
+ chCodeIndex3(4),
+ chCodeIndex2(5),
+ chCodeIndex1(6),
+ chCodeIndex0(7)
+ } (SIZE(8)) OPTIONAL,
+ subchannelSize CHOICE {
+ size1 NULL,
+ size2 SEQUENCE {
+ -- subch0 means bitstring '01' in the tabular, subch1 means bitsring '10'
+ subchannels ENUMERATED { subch0, subch1 } OPTIONAL
+ },
+ size4 SEQUENCE {
+ subchannels BIT STRING {
+ subCh3(0),
+ subCh2(1),
+ subCh1(2),
+ subCh0(3)
+ } (SIZE(4)) OPTIONAL
+ },
+ size8 SEQUENCE {
+ subchannels BIT STRING {
+ subCh7(0),
+ subCh6(1),
+ subCh5(2),
+ subCh4(3),
+ subCh3(4),
+ subCh2(5),
+ subCh1(6),
+ subCh0(7)
+ } (SIZE(8)) OPTIONAL
+ }
+ }
+}
+
+AccessServiceClass-TDD-r7 ::= SEQUENCE {
+ channelisationCodeIndices BIT STRING {
+ chCodeIndex15(0),
+ chCodeIndex14(1),
+ chCodeIndex13(2),
+ chCodeIndex12(3),
+ chCodeIndex11(4),
+ chCodeIndex10(5),
+ chCodeIndex9(6),
+ chCodeIndex8(7),
+ chCodeIndex7(8),
+ chCodeIndex6(9),
+ chCodeIndex5(10),
+ chCodeIndex4(11),
+ chCodeIndex3(12),
+ chCodeIndex2(13),
+ chCodeIndex1(14),
+ chCodeIndex0(15)
+ } (SIZE(16)) OPTIONAL,
+ subchannelSize CHOICE {
+ size1 NULL,
+ size2 SEQUENCE {
+ -- subch0 means bitstring '01' in the tabular, subch1 means bitsring '10'
+ subchannels ENUMERATED { subch0, subch1 } OPTIONAL
+ },
+ size4 SEQUENCE {
+ subchannels BIT STRING {
+ subCh3(0),
+ subCh2(1),
+ subCh1(2),
+ subCh0(3)
+ } (SIZE(4)) OPTIONAL
+ },
+ size8 SEQUENCE {
+ subchannels BIT STRING {
+ subCh7(0),
+ subCh6(1),
+ subCh5(2),
+ subCh4(3),
+ subCh3(4),
+ subCh2(5),
+ subCh1(6),
+ subCh0(7)
+ } (SIZE(8)) OPTIONAL
+ },
+ size16 SEQUENCE {
+ subchannels BIT STRING {
+ subCh15(0),
+ subCh14(1),
+ subCh13(2),
+ subCh12(3),
+ subCh11(4),
+ subCh10(5),
+ subCh9(6),
+ subCh8(7),
+ subCh7(8),
+ subCh6(9),
+ subCh5(10),
+ subCh4(11),
+ subCh3(12),
+ subCh2(13),
+ subCh1(14),
+ subCh0(15)
+ } (SIZE(16)) OPTIONAL
+ }
+ }
+}
+
+AccessServiceClass-TDD-LCR-r4 ::= SEQUENCE {
+ availableSYNC-UlCodesIndics BIT STRING {
+ sulCodeIndex7(0),
+ sulCodeIndex6(1),
+ sulCodeIndex5(2),
+ sulCodeIndex4(3),
+ sulCodeIndex3(4),
+ sulCodeIndex2(5),
+ sulCodeIndex1(6),
+ sulCodeIndex0(7)
+ } (SIZE(8)) OPTIONAL,
+ subchannelSize CHOICE {
+ size1 NULL,
+ size2 SEQUENCE {
+ -- subch0 means bitstring '01' in the tabular, subch1 means bitsring '10'.
+ subchannels ENUMERATED { subch0, subch1 } OPTIONAL
+ },
+ size4 SEQUENCE {
+ subchannels BIT STRING {
+ subCh3(0),
+ subCh2(1),
+ subCh1(2),
+ subCh0(3)
+ } (SIZE(4)) OPTIONAL
+ },
+ size8 SEQUENCE {
+ subchannels BIT STRING {
+ subCh7(0),
+ subCh6(1),
+ subCh5(2),
+ subCh4(3),
+ subCh3(4),
+ subCh2(5),
+ subCh1(6),
+ subCh0(7)
+ } (SIZE(8)) OPTIONAL
+ }
+ }
+
+}
+
+ActivationTimeOffset ::= INTEGER (0 .. 255)
+
+AdditionalPRACH-TF-and-TFCS-CCCH-IEs ::= SEQUENCE {
+ powerOffsetInformation PowerOffsetInformation,
+ dynamicTFInformationCCCH DynamicTFInformationCCCH
+}
+
+AdditionalPRACH-TF-and-TFCS-CCCH ::= SEQUENCE {
+ additionalPRACH-TF-and-TFCS-CCCH-IEs AdditionalPRACH-TF-and-TFCS-CCCH-IEs OPTIONAL
+}
+
+-- The order is the same as in the PRACH-SystemInformationList
+AdditionalPRACH-TF-and-TFCS-CCCH-List ::= SEQUENCE (SIZE (1..maxPRACH)) OF
+ AdditionalPRACH-TF-and-TFCS-CCCH
+
+AdditionalDLSecCellInfoListFDD ::= SEQUENCE (SIZE (2)) OF
+ AdditionalDLSecCellInfoFDD
+
+AdditionalDLSecCellInfoListFDD-r11 ::= SEQUENCE (SIZE (2)) OF
+ AdditionalDLSecCellInfoFDD-r11
+
+AdditionalDLSecCellInfoListFDD2 ::= SEQUENCE (SIZE (4)) OF
+ AdditionalDLSecCellInfoFDD-r11
+
+AdditionalDLSecCellInfoHandoverToUtranListFDD ::= SEQUENCE (SIZE (2)) OF
+ AdditionalDLSecCellInfoFDD-HandoverToUtran
+
+-- AdditionalDLSecCellInfoFDD is introduced to avoid a SEQUENCE of SEQUENCE, a convention in RAN2.
+AdditionalDLSecCellInfoFDD ::= SEQUENCE {
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL
+}
+
+AdditionalDLSecCellInfoFDD-r11 ::= SEQUENCE {
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL
+}
+
+AdditionalDLSecCellInfoFDD-HandoverToUtran::= SEQUENCE {
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-HandoverToUtran OPTIONAL
+}
+
+AdditionalSecondaryCellInfoForMixedTTIConfiguration ::= SEQUENCE {
+ eDPCCH-DPCCH-PowerOffset E-DPCCH-DPCCH-PowerOffset OPTIONAL,
+ happyBit-DelayCondition HappyBit-DelayCondition OPTIONAL,
+ e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
+ e-TFCI-TableIndex E-TFCI-TableIndex OPTIONAL,
+ reference-E-TFCIs E-DPDCH-Reference-E-TFCIList-r7 OPTIONAL,
+ maxChannelisationCodes E-DPDCH-MaxChannelisationCodes OPTIONAL,
+ schedulingInfoConfiguration E-DPDCH-SchedulingInfoConfiguration OPTIONAL
+}
+
+AICH-Info ::= SEQUENCE {
+ channelisationCode256 ChannelisationCode256,
+ sttd-Indicator BOOLEAN,
+ aich-TransmissionTiming AICH-TransmissionTiming
+}
+
+AICH-Info-Compressed ::= SEQUENCE {
+ channelisationCode256 ChannelisationCode256
+}
+
+AICH-PowerOffset ::= INTEGER (-22..5)
+
+AICH-TransmissionTiming ::= ENUMERATED {
+ e0, e1 }
+
+AllocationPeriodInfo ::= SEQUENCE {
+ allocationActivationTime INTEGER (0..255),
+ allocationDuration INTEGER (1..256)
+}
+
+-- Actual value Alpha = IE value * 0.125
+Alpha ::= INTEGER (0..8)
+
+Antenna3And4 ::= SEQUENCE {
+ antenna3And4-S-CPICH Antenna3And4-S-CPICH OPTIONAL,
+ antenna3And4-D-CPICH Antenna3And4-D-CPICH OPTIONAL
+}
+
+Antenna3And4-S-CPICH ::= SEQUENCE {
+ antenna3-S-CPICH Antenna3-S-CPICH OPTIONAL,
+ antenna4-S-CPICH Antenna4-S-CPICH OPTIONAL,
+ s-cpich-PowerOffset-Mimo S-CPICH-PowerOffset-4x4MIMO OPTIONAL
+}
+
+Antenna3And4-D-CPICH ::= SEQUENCE {
+ antenna3-D-CPICH Antenna3-D-CPICH OPTIONAL,
+ antenna4-D-CPICH Antenna4-D-CPICH OPTIONAL,
+ d-cpich-PowerOffset-Mimo D-CPICH-PowerOffset-4x4MIMO OPTIONAL,
+ initialD-CPICHStatus ENUMERATED { activated } OPTIONAL
+}
+
+Antenna3-D-CPICH ::= SEQUENCE {
+ channelisationCode ChannelisationCode256
+}
+
+Antenna4-D-CPICH ::= SEQUENCE {
+ channelisationCode ChannelisationCode256
+}
+
+Antenna3-S-CPICH ::= SEQUENCE {
+ channelisationCode ChannelisationCode256
+}
+
+Antenna4-S-CPICH ::= SEQUENCE {
+ channelisationCode ChannelisationCode256
+}
+
+AP-AICH-ChannelisationCode ::= INTEGER (0..255)
+
+AP-PreambleScramblingCode ::= INTEGER (0..79)
+
+AP-Signature ::= INTEGER (0..15)
+
+AP-Signature-VCAM ::= SEQUENCE {
+ ap-Signature AP-Signature,
+ availableAP-SubchannelList AvailableAP-SubchannelList OPTIONAL
+}
+
+AP-Subchannel ::= INTEGER (0..11)
+
+ASCSetting-FDD ::= SEQUENCE {
+ -- TABULAR: accessServiceClass-FDD is MD in tabular description
+ -- Default value is previous ASC
+ -- If this is the first ASC, the default value is all available signature and sub-channels
+ accessServiceClass-FDD AccessServiceClass-FDD OPTIONAL
+}
+
+ASCSetting-TDD ::= SEQUENCE {
+ -- TABULAR: accessServiceClass-TDD is MD in tabular description
+ -- Default value is previous ASC
+ -- If this is the first ASC, the default value is all available channelisation codes and
+ -- all available sub-channels with subchannelSize=size1.
+ accessServiceClass-TDD AccessServiceClass-TDD OPTIONAL
+}
+
+ASCSetting-TDD-r7 ::= SEQUENCE {
+ -- TABULAR: accessServiceClass-TDD is MD in tabular description
+ -- Default value is previous ASC
+ -- If this is the first ASC, the default value is all available channelisation codes and
+ -- all available sub-channels with subchannelSize=size1.
+ accessServiceClass-TDD AccessServiceClass-TDD-r7 OPTIONAL
+}
+
+ASCSetting-TDD-LCR-r4 ::= SEQUENCE {
+ -- TABULAR: accessServiceClass-TDD-LCR is MD in tabular description
+ -- Default value is previous ASC
+ -- If this is the first ASC, the default value is all available SYNC_UL codes and
+ -- all available sub-channels with subchannelSize=size1.
+ accessServiceClass-TDD-LCR AccessServiceClass-TDD-LCR-r4 OPTIONAL
+}
+
+AvailableAP-Signature-VCAMList ::= SEQUENCE (SIZE (1..maxPCPCH-APsig)) OF
+ AP-Signature-VCAM
+
+AvailableAP-SignatureList ::= SEQUENCE (SIZE (1..maxPCPCH-APsig)) OF
+ AP-Signature
+
+AvailableAP-SubchannelList ::= SEQUENCE (SIZE (1..maxPCPCH-APsubCh)) OF
+ AP-Subchannel
+
+AvailableMinimumSF-ListVCAM ::= SEQUENCE (SIZE (1..maxPCPCH-SF)) OF
+ AvailableMinimumSF-VCAM
+
+AvailableMinimumSF-VCAM ::= SEQUENCE {
+ minimumSpreadingFactor MinimumSpreadingFactor,
+ nf-Max NF-Max,
+ maxAvailablePCPCH-Number MaxAvailablePCPCH-Number,
+ availableAP-Signature-VCAMList AvailableAP-Signature-VCAMList
+}
+
+AvailableSignatures ::= BIT STRING {
+ signature15(0),
+ signature14(1),
+ signature13(2),
+ signature12(3),
+ signature11(4),
+ signature10(5),
+ signature9(6),
+ signature8(7),
+ signature7(8),
+ signature6(9),
+ signature5(10),
+ signature4(11),
+ signature3(12),
+ signature2(13),
+ signature1(14),
+ signature0(15)
+ } (SIZE(16))
+
+AvailableSubChannelNumbers ::= BIT STRING {
+ subCh11(0),
+ subCh10(1),
+ subCh9(2),
+ subCh8(3),
+ subCh7(4),
+ subCh6(5),
+ subCh5(6),
+ subCh4(7),
+ subCh3(8),
+ subCh2(9),
+ subCh1(10),
+ subCh0(11)
+ } (SIZE(12))
+
+BEACON-PL-Est ::= ENUMERATED { true }
+
+BurstType ::= ENUMERATED {
+ type1, type2 }
+
+-- Actual value Bler-Target = IE value * 0.05
+Bler-Target ::= INTEGER (-63..0)
+
+CCTrCH-PowerControlInfo ::= SEQUENCE {
+ tfcs-Identity TFCS-Identity OPTIONAL,
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo
+}
+
+CCTrCH-PowerControlInfo-r4 ::= SEQUENCE {
+ tfcs-Identity TFCS-Identity OPTIONAL,
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo-r4
+}
+
+CCTrCH-PowerControlInfo-r5 ::= SEQUENCE {
+ tfcs-Identity TFCS-Identity OPTIONAL,
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo-r5
+}
+
+CCTrCH-PowerControlInfo-r7 ::= SEQUENCE {
+ tfcs-Identity TFCS-Identity OPTIONAL,
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo-r7
+}
+
+CD-AccessSlotSubchannel ::= INTEGER (0..11)
+
+CD-AccessSlotSubchannelList ::= SEQUENCE (SIZE (1..maxPCPCH-CDsubCh)) OF
+ CD-AccessSlotSubchannel
+
+CD-CA-ICH-ChannelisationCode ::= INTEGER (0..255)
+
+CD-PreambleScramblingCode ::= INTEGER (0..79)
+
+CD-SignatureCode ::= INTEGER (0..15)
+
+CD-SignatureCodeList ::= SEQUENCE (SIZE (1..maxPCPCH-CDsig)) OF
+ CD-SignatureCode
+
+CellAndChannelIdentity ::= SEQUENCE {
+ -- burstType may be set to either value and should be ignored by the receiver for 1.28 Mcps TDD.
+ burstType BurstType,
+ midambleShift MidambleShiftLong,
+ timeslot TimeslotNumber,
+ cellParametersID CellParametersID
+ }
+
+CellParametersID ::= INTEGER (0..127)
+
+Cfntargetsfnframeoffset ::= INTEGER(0..255)
+
+ChannelAssignmentActive ::= CHOICE {
+ notActive NULL,
+ isActive AvailableMinimumSF-ListVCAM
+}
+
+ChannelisationCode256 ::= INTEGER (0..255)
+
+ChannelReqParamsForUCSM ::= SEQUENCE {
+ availableAP-SignatureList AvailableAP-SignatureList,
+ availableAP-SubchannelList AvailableAP-SubchannelList OPTIONAL
+}
+
+ClosedLoopTimingAdjMode ::= ENUMERATED {
+ slot1, slot2 }
+
+CodeNumberDSCH ::= INTEGER (0..255)
+
+CodeRange ::= SEQUENCE {
+ pdsch-CodeMapList PDSCH-CodeMapList
+}
+
+CodeResourceInformation-TDD128 ::= SEQUENCE {
+ start-code HS-ChannelisationCode-LCR,
+ stop-code HS-ChannelisationCode-LCR
+}
+
+CodeWordSet ::= ENUMERATED {
+ longCWS,
+ mediumCWS,
+ shortCWS,
+ ssdtOff }
+
+Common-E-DCH-ResourceInfoList ::= SEQUENCE {
+ s-offset INTEGER (0..9) OPTIONAL,
+ f-dpch-ChannelisationCodeNumber INTEGER (0..255) OPTIONAL,
+ e-RGCH-Information E-RGCH-Information-CommonEdch OPTIONAL,
+ e-hich-Info E-HICH-Information-CommonEdch,
+ ul-DPCH-CodeInfoForCommonEDCH UL-DPCH-CodeInfoForCommonEDCH
+}
+
+Common-E-DCH-ResourceInfoListExt ::= SEQUENCE {
+ twoMsHarqConfiguration TwoMsHarqConfiguration
+}
+
+Common-E-RNTI-Info ::= SEQUENCE (SIZE (1..maxERUCCH)) OF
+ SEQUENCE {
+ starting-E-RNTI E-RNTI,
+ number-of-group INTEGER (1..maxERNTIgroup),
+ number-of-ENRTI-per-group INTEGER (1..maxERNTIperGroup)
+}
+
+CommonEDCHResourceConfigInfoListExt::= SEQUENCE {
+ scheduledTransmissionConfiguration ScheduledTransmissionConfiguration OPTIONAL,
+ cOffset INTEGER (0..29) OPTIONAL
+}
+
+ -- For FDD, the network should not include the IE CommonEDCHSystemInfo.
+ -- Instead, the IE commonEDCHSystemInfoFDD should be used.
+ -- If included, the UE behavior is unspecified.
+CommonEDCHSystemInfo ::= SEQUENCE {
+ ul-InterferenceForCommonEDCH UL-Interference OPTIONAL,
+ common-E-DCH-MAC-d-FlowList Common-E-DCH-MAC-d-FlowList,
+ modeSpecificInfo CHOICE {
+ dummy SEQUENCE {},
+ tdd CHOICE {
+ tdd768 NULL,
+ tdd384 NULL,
+ tdd128 SEQUENCE {
+ e-RUCCH-Info E-RUCCH-Info-TDD128,
+ e-PUCH-Info E-PUCH-Info-TDD128,
+ e-hich-Information E-HICH-Information-TDD128,
+ e-agch-Information E-AGCH-Information-TDD128,
+ harq-Info ENUMERATED { rv0, rvtable },
+ ccch-transmission-Info SEQUENCE {
+ common-e-rnti-Info Common-E-RNTI-Info,
+ harq-MaximumNumberOfRetransmissions INTEGER (0..7),
+ harq-retransmission-timer ENUMERATED {
+ ms10, ms15, ms20, ms25,
+ ms30, ms35, ms40, ms45,
+ ms50, ms55, ms60, ms65,
+ ms70, ms75, ms80, ms85,
+ ms90, ms95, ms100, ms110,
+ ms120, ms140, ms160 },
+ harq-power-offset INTEGER (0..6)
+ }
+ }
+ }
+ }
+}
+
+CommonEDCHSystemInfoFDD ::= SEQUENCE {
+ ul-InterferenceForCommonEDCH UL-Interference OPTIONAL,
+ common-E-DCH-MAC-d-FlowList Common-E-DCH-MAC-d-FlowList,
+ prach-PreambleForEnhancedUplink PRACH-PreambleForEnhancedUplink,
+ initialServingGrantValue INTEGER (0..37),
+ e-dch-TTI E-DCH-TTI,
+ e-agch-Information E-AGCH-Information,
+ harq-Info ENUMERATED { rv0, rvtable },
+ ul-DPCHpowerControlInfoForCommonEDCH
+ UL-DPCHpowerControlInfoForCommonEDCH,
+ e-dpcch-Info E-DPCCH-Info-r7,
+ e-dpdch-Info E-DPDCH-Info-r8,
+ -- Actual value dl-FDPCH-TPCcommandErrorRate = IE value * 0.01
+ dl-FDPCH-TPCcommandErrorRate INTEGER (1..10),
+ additional-E-DCH-TransmitBackoff INTEGER (0..15),
+ max-CCCH-ResourceAllocation ENUMERATED {
+ tti8, tti12, tti16, tti20, tti24, tti32,
+ tti40, tti80 },
+ max-PeriodForCollisionResolution INTEGER (8..24),
+ e-dch-TransmitContinuationOffset ENUMERATED {
+ tti0, tti4, tti8, tti16, tti24, tti40,
+ tti80,infinity },
+ ack-nack-support-on-HS-DPCCH BOOLEAN,
+ measurement-Feedback-Info Measurement-Feedback-Info-r7 OPTIONAL,
+ common-E-DCH-ResourceInfoList SEQUENCE (SIZE (1..maxEDCHs)) OF
+ Common-E-DCH-ResourceInfoList
+}
+
+CommonEDCHSystemInfoParamConcurrentTTI ::= SEQUENCE {
+ common-E-DCH-MAC-d-Flow-Info-List-ConcurrentTTI
+ Common-E-DCH-MAC-d-Flow-Info-List-ConcurrentTTI OPTIONAL,
+ initialServingGrantValue INTEGER (0..37) OPTIONAL,
+ e-agch-Information E-AGCH-Information OPTIONAL,
+ ul-DPCHpowerControlInfoConcurrentTTI
+ UL-DPCHpowerControlInfoConcurrentTTI OPTIONAL,
+ e-DPCCH-DPCCH-PowerOffset E-DPCCH-DPCCH-PowerOffset OPTIONAL,
+ e-dpdch-Info E-DPDCH-Info-r8,
+ additional-E-DCH-TransmitBackoff INTEGER (0..15) OPTIONAL,
+ max-CCCH-ResourceAllocation ENUMERATED {
+ tti8, tti12, tti16, tti20, tti24, tti32,
+ tti40, tti80 } OPTIONAL,
+ max-PeriodForCollisionResolution INTEGER (8..24) OPTIONAL,
+ e-dch-TransmitContinuationOffset ENUMERATED {
+ tti0, tti4, tti8, tti16, tti24, tti40,
+ tti80,infinity } OPTIONAL,
+ measurement-Feedback-Info-ConcurrentTTI Measurement-Feedback-Info-ConcurrentTTI OPTIONAL
+}
+
+CommonERGCHChannelConfig ::= SEQUENCE {
+ channelisationCode INTEGER (0..127) OPTIONAL,
+ signatureSequence INTEGER (0..39) OPTIONAL
+}
+
+CommonERGCHInfoFDD ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ eRGCHNeighbourCellList BIT STRING (SIZE (maxCellMeas)),
+ commonERGCHChannelConfigList SEQUENCE (SIZE (1.. maxCellMeas)) OF
+ CommonERGCHChannelConfig,
+ minimumServingGrantValue INTEGER (0..37) OPTIONAL,
+ reportingRange ReportingRange,
+ filterCoefficient FilterCoefficient DEFAULT fc0
+ }
+ }
+}
+
+CommonTimeslotInfo ::= SEQUENCE {
+ -- TABULAR: secondInterleavingMode is MD, but since it can be encoded in a single
+ -- bit it is not defined as OPTIONAL.
+ secondInterleavingMode SecondInterleavingMode,
+ tfci-Coding TFCI-Coding OPTIONAL,
+ puncturingLimit PuncturingLimit,
+ repetitionPeriodAndLength RepetitionPeriodAndLength OPTIONAL
+}
+
+CommonTimeslotInfoMBMS ::= SEQUENCE {
+ -- TABULAR: secondInterleavingMode is MD, but since it can be encoded in a single
+ -- bit it is not defined as OPTIONAL.
+ secondInterleavingMode SecondInterleavingMode,
+ tfci-Coding TFCI-Coding OPTIONAL,
+ puncturingLimit PuncturingLimit
+}
+
+CommonTimeslotInfoSCCPCH ::= SEQUENCE {
+ -- TABULAR: secondInterleavingMode is MD, but since it can be encoded in a single
+ -- bit it is not defined as OPTIONAL.
+ secondInterleavingMode SecondInterleavingMode,
+ tfci-Coding TFCI-Coding OPTIONAL,
+ puncturingLimit PuncturingLimit,
+ repetitionPeriodLengthAndOffset RepetitionPeriodLengthAndOffset OPTIONAL
+}
+
+ConstantValue ::= INTEGER (-35..-10)
+
+ConstantValueTdd ::= INTEGER (-35..10)
+
+ControlChannelDRXCycle-TDD128 ::= ENUMERATED {
+ sub-frames-1, sub-frames-2, sub-frames-4, sub-frames-8,
+ sub-frames-16, sub-frames-32, sub-frames-64, spare1 }
+
+ControlChannelDRXInfo-TDD128-r8 ::= SEQUENCE {
+ controlChannelDrxOperation CHOICE {
+ continue SEQUENCE {
+ enablingDelay EnablingDelay-TDD128 OPTIONAL
+ },
+ newOperation SEQUENCE {
+ hS-SCCH-Drx-Info HS-SCCH-DRX-Info-TDD128,
+ e-AGCH-Drx-Info E-AGCH-DRX-Info-TDD128 OPTIONAL,
+ enablingDelay EnablingDelay-TDD128
+ }
+ }
+}
+
+CPCH-PersistenceLevels ::= SEQUENCE {
+ cpch-SetID CPCH-SetID,
+ dynamicPersistenceLevelTF-List DynamicPersistenceLevelTF-List
+}
+
+CPCH-PersistenceLevelsList ::= SEQUENCE (SIZE (1..maxCPCHsets)) OF
+ CPCH-PersistenceLevels
+
+CPCH-SetInfo ::= SEQUENCE {
+ cpch-SetID CPCH-SetID,
+ transportFormatSet TransportFormatSet,
+ tfcs TFCS,
+ ap-PreambleScramblingCode AP-PreambleScramblingCode,
+ ap-AICH-ChannelisationCode AP-AICH-ChannelisationCode,
+ cd-PreambleScramblingCode CD-PreambleScramblingCode,
+ cd-CA-ICH-ChannelisationCode CD-CA-ICH-ChannelisationCode,
+ cd-AccessSlotSubchannelList CD-AccessSlotSubchannelList OPTIONAL,
+ cd-SignatureCodeList CD-SignatureCodeList OPTIONAL,
+ deltaPp-m DeltaPp-m,
+ ul-DPCCH-SlotFormat UL-DPCCH-SlotFormat,
+ n-StartMessage N-StartMessage,
+ n-EOT N-EOT,
+ -- TABULAR: VCAM info has been nested inside ChannelAssignmentActive,
+ -- which in turn is mandatory since it's only a binary choice.
+ channelAssignmentActive ChannelAssignmentActive,
+ cpch-StatusIndicationMode CPCH-StatusIndicationMode,
+ pcpch-ChannelInfoList PCPCH-ChannelInfoList
+}
+
+CPCH-SetInfoList ::= SEQUENCE (SIZE (1..maxCPCHsets)) OF
+ CPCH-SetInfo
+
+CPCH-StatusIndicationMode ::= ENUMERATED {
+ pa-mode,
+ pamsf-mode }
+
+CQI-CycleSwitchTimer ::= ENUMERATED {
+ sub-frames-4,
+ sub-frames-8,
+ sub-frames-16,
+ sub-frames-32,
+ sub-frames-64,
+ sub-frames-128,
+ sub-frames-256,
+ sub-frames-512,
+ sub-frames-Infinity,
+ spare7,
+ spare6,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+CQI-DTX-Timer ::= ENUMERATED {
+ sub-frames-0,
+ sub-frames-1,
+ sub-frames-2,
+ sub-frames-4,
+ sub-frames-8,
+ sub-frames-16,
+ sub-frames-32,
+ sub-frames-64,
+ sub-frames-128,
+ sub-frames-256,
+ sub-frames-512,
+ sub-frames-Infinity,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+CQI-RepetitionFactor ::= INTEGER(1..4)
+
+CSICH-PowerOffset ::= INTEGER (-10..5)
+
+D-CPICH-PowerOffset-4x4MIMO ::= INTEGER (-12..0)
+
+DCH-Enhancements-Info-FDD ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ ulTransmissionMode CHOICE {
+ tenMSOnly NULL,
+ twentyMSOnly NULL,
+ tenORtwentyMS SEQUENCE {
+ ul-TransModeSwitchingParam UL-TransModeSwitchingParam
+ }
+ },
+ dlFETMode CHOICE {
+ basic NULL,
+ full SEQUENCE {
+ early-dch-QualityTarget QualityTarget,
+ early-dch-TargetSlot INTEGER (11..28),
+ trChConcatInfo TransportChannelConcatInfo
+ }
+ }
+ }
+ }
+}
+
+-- DefaultDPCH-OffsetValueFDD and DefaultDPCH-OffsetValueTDD corresponds to
+-- IE "Default DPCH Offset Value" depending on the mode.
+-- Actual value DefaultDPCH-OffsetValueFDD = IE value * 512
+
+DefaultDPCH-OffsetValueFDD ::= INTEGER (0..599)
+
+DefaultDPCH-OffsetValueTDD ::= INTEGER (0..7)
+
+DeltaPp-m ::= INTEGER (-10..10)
+
+DeltaCQI ::= INTEGER (0..8)
+
+DeltaCQI-r11 ::= INTEGER (0..10)
+
+DeltaNACK ::= INTEGER (0..8)
+
+DeltaNACK-r11 ::= INTEGER (0..10)
+
+DeltaACK ::= INTEGER (0..8)
+
+DeltaACK-r11 ::= INTEGER (0..10)
+
+-- Actual value DeltaSIR = IE value * 0.1
+DeltaSIR ::= INTEGER (0..30)
+
+DesignatedNonServingHS-DSCHCellInfo ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+}
+
+DHS-Sync ::= INTEGER (-20..10)
+
+DL-CCTrCh ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ timeInfo TimeInfo,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ dl-CCTrCH-TimeslotsCodes DownlinkTimeslotsCodes OPTIONAL,
+ ul-CCTrChTPCList UL-CCTrChTPCList OPTIONAL
+}
+
+DL-CCTrCh-r4 ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ timeInfo TimeInfo,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ dl-CCTrCH-TimeslotsCodes DownlinkTimeslotsCodes OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ dl-CCTrCH-TimeslotsCodes DownlinkTimeslotsCodes-LCR-r4 OPTIONAL
+ }
+ },
+ ul-CCTrChTPCList UL-CCTrChTPCList OPTIONAL
+}
+
+DL-CCTrCh-r7 ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ timeInfo TimeInfo,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ dl-CCTrCH-TimeslotsCodes DownlinkTimeslotsCodes-r7 OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ dl-CCTrCH-TimeslotsCodes DownlinkTimeslotsCodes-VHCR OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ dl-CCTrCH-TimeslotsCodes DownlinkTimeslotsCodes-LCR-r4 OPTIONAL
+ }
+ },
+ ul-CCTrChTPCList UL-CCTrChTPCList OPTIONAL
+}
+
+DL-CCTrChList ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ DL-CCTrCh
+
+DL-CCTrChList-r7 ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ DL-CCTrCh-r7
+
+DL-CCTrChList-r4 ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ DL-CCTrCh-r4
+
+DL-CCTrChListToRemove ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ TFCS-IdentityPlain
+
+DL-ChannelisationCode ::= SEQUENCE {
+ secondaryScramblingCode SecondaryScramblingCode OPTIONAL,
+ sf-AndCodeNumber SF512-AndCodeNumber,
+ scramblingCodeChange ScramblingCodeChange OPTIONAL
+}
+
+DL-ChannelisationCodeList ::= SEQUENCE (SIZE (1..maxDPCH-DLchan)) OF
+ DL-ChannelisationCode
+
+DL-CommonInformation ::= SEQUENCE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommon OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueFDD OPTIONAL,
+ dpch-CompressedModeInfo DPCH-CompressedModeInfo OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-Information OPTIONAL
+ },
+ tdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueTDD OPTIONAL
+ }
+ }
+}
+
+DL-CommonInformation-r4 ::= SEQUENCE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommon-r4 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueFDD OPTIONAL,
+ dpch-CompressedModeInfo DPCH-CompressedModeInfo OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-Information-r4 OPTIONAL
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd128 SEQUENCE {
+ tstd-Indicator BOOLEAN
+ }
+ },
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueTDD OPTIONAL
+ }
+ }
+}
+
+
+DL-CommonInformation-r5 ::= SEQUENCE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommon-r4 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueFDD OPTIONAL,
+ dpch-CompressedModeInfo DPCH-CompressedModeInfo OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-Information-r4 OPTIONAL
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd128 SEQUENCE {
+ tstd-Indicator BOOLEAN
+ }
+ },
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueTDD OPTIONAL
+ }
+ },
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL
+}
+
+DL-CommonInformation-r6 ::= SEQUENCE {
+ dl-dpchInfoCommon CHOICE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommon-r6,
+ dl-FDPCH-InfoCommon DL-FDPCH-InfoCommon-r6
+ } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueFDD OPTIONAL,
+ dpch-CompressedModeInfo DPCH-CompressedModeInfo OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd128 SEQUENCE {
+ tstd-Indicator BOOLEAN
+ }
+ },
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueTDD OPTIONAL
+ }
+ },
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL
+}
+
+DL-CommonInformation-r7 ::= SEQUENCE {
+ dl-dpchInfoCommon CHOICE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommon-r6,
+ dl-FDPCH-InfoCommon DL-FDPCH-InfoCommon-r6
+ } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueFDD OPTIONAL,
+ dpch-CompressedModeInfo DPCH-CompressedModeInfo OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd768 NULL,
+ tdd128 SEQUENCE {
+ tstd-Indicator BOOLEAN
+ }
+ },
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueTDD OPTIONAL
+ }
+ },
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL
+}
+
+DL-CommonInformation-r8 ::= SEQUENCE {
+ dl-dpchInfoCommon CHOICE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommon-r6,
+ dl-FDPCH-InfoCommon DL-FDPCH-InfoCommon-r6
+ } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueFDD OPTIONAL,
+ dpch-CompressedModeInfo DPCH-CompressedModeInfo-r8 OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd768 NULL,
+ tdd128 SEQUENCE {
+ tstd-Indicator BOOLEAN
+ }
+ },
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueTDD OPTIONAL
+ }
+ },
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL
+}
+
+DL-CommonInformation-r10 ::= SEQUENCE {
+ dl-dpchInfoCommon CHOICE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommon-r6,
+ dl-FDPCH-InfoCommon DL-FDPCH-InfoCommon-r6
+ } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueFDD OPTIONAL,
+ dpch-CompressedModeInfo DPCH-CompressedModeInfo-r10 OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd768 NULL,
+ tdd128 SEQUENCE {
+ tstd-Indicator BOOLEAN
+ }
+ },
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueTDD OPTIONAL
+ }
+ },
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL
+}
+
+DL-CommonInformation-r11 ::= SEQUENCE {
+ dl-dpchInfoCommon CHOICE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommon-r6,
+ dl-FDPCH-InfoCommon DL-FDPCH-InfoCommon-r6
+ } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueFDD OPTIONAL,
+ dpch-CompressedModeInfo DPCH-CompressedModeInfo-r10 OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd768 NULL,
+ tdd128 SEQUENCE {
+ tstd-Indicator BOOLEAN
+ }
+ },
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueTDD OPTIONAL
+ }
+ },
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL,
+ mac-hsResetIndicator-assisting ENUMERATED { true } OPTIONAL
+}
+
+DL-CommonInformation-r12 ::= SEQUENCE {
+ dl-dpchInfoCommon CHOICE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommon-r12,
+ dl-FDPCH-InfoCommon DL-FDPCH-InfoCommon-r6
+ } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueFDD OPTIONAL,
+ dpch-CompressedModeInfo DPCH-CompressedModeInfo-r10 OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd768 NULL,
+ tdd128 SEQUENCE {
+ tstd-Indicator BOOLEAN
+ }
+ },
+ defaultDPCH-OffsetValue DefaultDPCH-OffsetValueTDD OPTIONAL
+ }
+ },
+ mac-hsResetIndicator ENUMERATED { true } OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL,
+ mac-hsResetIndicator-assisting ENUMERATED { true } OPTIONAL
+}
+
+DL-CommonInformationPost ::= SEQUENCE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommonPost
+}
+
+DL-CommonInformationPredef ::= SEQUENCE {
+ dl-DPCH-InfoCommon DL-DPCH-InfoCommonPredef OPTIONAL
+}
+
+DL-CompressedModeMethod ::= ENUMERATED {
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received the UE behaviour is not specified.
+ dummy, sf-2,
+ higherLayerScheduling }
+
+DL-DPCH-InfoCommon ::= SEQUENCE {
+ cfnHandling CHOICE {
+ maintain NULL,
+ initialise SEQUENCE {
+ -- IE dummy is not used in this version of the specification
+ -- The IE should not be sent and if received it should be ignored
+ dummy Cfntargetsfnframeoffset OPTIONAL
+ }
+ },
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ dl-DPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL,
+ powerOffsetPilot-pdpdch PowerOffsetPilot-pdpdch,
+ dl-rate-matching-restriction Dl-rate-matching-restriction OPTIONAL,
+ -- TABULAR: The number of pilot bits is nested inside the spreading factor.
+ spreadingFactorAndPilot SF512-AndPilot,
+ positionFixedOrFlexible PositionFixedOrFlexible,
+ tfci-Existence BOOLEAN
+ },
+ tdd SEQUENCE {
+ dl-DPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL
+ }
+ }
+}
+
+DL-DPCH-InfoCommon-r4 ::= SEQUENCE {
+ cfnHandling CHOICE {
+ maintain NULL,
+ initialise SEQUENCE {
+ -- IE dummy is not used in this version of the specification
+ -- The IE should not be sent and if received it should be ignored
+ dummy Cfntargetsfnframeoffset OPTIONAL
+ }
+ },
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ dl-DPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL,
+ powerOffsetPilot-pdpdch PowerOffsetPilot-pdpdch,
+ dl-rate-matching-restriction Dl-rate-matching-restriction OPTIONAL,
+ -- TABULAR: The number of pilot bits is nested inside the spreading factor.
+ spreadingFactorAndPilot SF512-AndPilot,
+ positionFixedOrFlexible PositionFixedOrFlexible,
+ tfci-Existence BOOLEAN
+ },
+ tdd SEQUENCE {
+ dl-DPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL
+ }
+ },
+-- The IE mac-d-HFN-initial-value should be absent in the RRCConnectionSetup-r4-IEs or
+-- RRCConnectionSetup-r5-IEs or HandoverToUTRANCommand-r4-IEs or HandoverToUTRANCommand-r5-IEs and
+-- if the IE is included, the general error handling for conditional IEs applies.
+ mac-d-HFN-initial-value MAC-d-HFN-initial-value OPTIONAL
+
+}
+
+DL-DPCH-InfoCommon-r6 ::= SEQUENCE {
+ cfnHandling CHOICE {
+ maintain SEQUENCE {
+ timingmaintainedsynchind TimingMaintainedSynchInd OPTIONAL
+ },
+ initialise NULL
+ },
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ dl-DPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL,
+ powerOffsetPilot-pdpdch PowerOffsetPilot-pdpdch,
+ dl-rate-matching-restriction Dl-rate-matching-restriction OPTIONAL,
+ -- TABULAR: The number of pilot bits is nested inside the spreading factor.
+ spreadingFactorAndPilot SF512-AndPilot,
+ positionFixedOrFlexible PositionFixedOrFlexible,
+ tfci-Existence BOOLEAN
+ },
+ tdd SEQUENCE {
+ dl-DPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL
+ }
+ },
+ -- The IE mac-d-HFN-initial-value should be absent in the RRCConnectionSetup and the
+ -- HandoverToUTRANCommand messages. If the IE is included, the general error handling
+ -- for conditional IEs applies.
+ mac-d-HFN-initial-value MAC-d-HFN-initial-value OPTIONAL
+}
+
+DL-DPCH-InfoCommon-r12 ::= SEQUENCE {
+ cfnHandling CHOICE {
+ maintain SEQUENCE {
+ timingmaintainedsynchind TimingMaintainedSynchInd OPTIONAL
+ },
+ initialise NULL
+ },
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ dl-DPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL,
+ powerOffsetPilot-pdpdch PowerOffsetPilot-pdpdch,
+ dl-rate-matching-restriction Dl-rate-matching-restriction OPTIONAL,
+ -- TABULAR: The number of pilot bits is nested inside the spreading factor.
+ spreadingFactorAndPilot SF512-AndPilot-r12,
+ positionFixedOrFlexible PositionFixedOrFlexible,
+ tfci-Existence BOOLEAN
+ },
+ tdd SEQUENCE {
+ dl-DPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL
+ }
+ },
+ -- The IE mac-d-HFN-initial-value should be absent in the RRCConnectionSetup and the
+ -- HandoverToUTRANCommand messages. If the IE is included, the general error handling
+ -- for conditional IEs applies.
+ mac-d-HFN-initial-value MAC-d-HFN-initial-value OPTIONAL
+}
+
+DL-DPCH-InfoCommonPost ::= SEQUENCE {
+ dl-DPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL
+}
+
+DL-DPCH-InfoCommonPredef ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ -- TABULAR: The number of pilot bits is nested inside the spreading factor.
+ spreadingFactorAndPilot SF512-AndPilot,
+ positionFixedOrFlexible PositionFixedOrFlexible,
+ tfci-Existence BOOLEAN
+ },
+ tdd SEQUENCE {
+ commonTimeslotInfo CommonTimeslotInfo
+ }
+ }
+}
+
+DL-DPCH-InfoPerRL ::= CHOICE {
+ fdd SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ dpch-FrameOffset DPCH-FrameOffset,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ dl-ChannelisationCodeList DL-ChannelisationCodeList,
+ tpc-CombinationIndex TPC-CombinationIndex,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-CellIdentity OPTIONAL,
+ closedLoopTimingAdjMode ClosedLoopTimingAdjMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ dl-CCTrChListToEstablish DL-CCTrChList OPTIONAL,
+ dl-CCTrChListToRemove DL-CCTrChListToRemove OPTIONAL
+ }
+}
+
+DL-DPCH-InfoPerRL-r4 ::= CHOICE {
+ fdd SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ dpch-FrameOffset DPCH-FrameOffset,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ dl-ChannelisationCodeList DL-ChannelisationCodeList,
+ tpc-CombinationIndex TPC-CombinationIndex,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-CellIdentity OPTIONAL,
+ closedLoopTimingAdjMode ClosedLoopTimingAdjMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ dl-CCTrChListToEstablish DL-CCTrChList-r4 OPTIONAL,
+ dl-CCTrChListToRemove DL-CCTrChListToRemove OPTIONAL
+ }
+}
+
+DL-DPCH-InfoPerRL-r5 ::= CHOICE {
+ fdd SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ dpch-FrameOffset DPCH-FrameOffset,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ dl-ChannelisationCodeList DL-ChannelisationCodeList,
+ tpc-CombinationIndex TPC-CombinationIndex,
+ powerOffsetTPC-pdpdch PowerOffsetTPC-pdpdch OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-CellIdentity OPTIONAL,
+ closedLoopTimingAdjMode ClosedLoopTimingAdjMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ dl-CCTrChListToEstablish DL-CCTrChList-r4 OPTIONAL,
+ dl-CCTrChListToRemove DL-CCTrChListToRemove OPTIONAL
+ }
+}
+
+DL-DPCH-InfoPerRL-r6 ::= CHOICE {
+ fdd SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ dpch-FrameOffset DPCH-FrameOffset,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ dl-ChannelisationCodeList DL-ChannelisationCodeList,
+ tpc-CombinationIndex TPC-CombinationIndex,
+ powerOffsetTPC-pdpdch PowerOffsetTPC-pdpdch OPTIONAL,
+ closedLoopTimingAdjMode ClosedLoopTimingAdjMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ dl-CCTrChListToEstablish DL-CCTrChList-r4 OPTIONAL,
+ dl-CCTrChListToRemove DL-CCTrChListToRemove OPTIONAL
+ }
+}
+
+DL-DPCH-InfoPerRL-r7 ::= CHOICE {
+ fdd SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ dpch-FrameOffset DPCH-FrameOffset,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ dl-ChannelisationCodeList DL-ChannelisationCodeList,
+ tpc-CombinationIndex TPC-CombinationIndex,
+ powerOffsetTPC-pdpdch PowerOffsetTPC-pdpdch OPTIONAL,
+ closedLoopTimingAdjMode ClosedLoopTimingAdjMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ dl-CCTrChListToEstablish DL-CCTrChList-r7 OPTIONAL,
+ dl-CCTrChListToRemove DL-CCTrChListToRemove OPTIONAL
+ }
+}
+
+DL-DPCH-InfoPerRL-r12 ::= CHOICE {
+ fdd SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ dpch-FrameOffset DPCH-FrameOffset,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ dl-ChannelisationCodeList DL-ChannelisationCodeList,
+ tpc-CombinationIndex TPC-CombinationIndex,
+ powerOffsetTPC-pdpdch PowerOffsetTPC-pdpdch OPTIONAL,
+ powerOffsetPO-SRB PowerOffsetPO-SRB OPTIONAL,
+ closedLoopTimingAdjMode ClosedLoopTimingAdjMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ dl-CCTrChListToEstablish DL-CCTrChList-r7 OPTIONAL,
+ dl-CCTrChListToRemove DL-CCTrChListToRemove OPTIONAL
+ }
+}
+
+
+DL-DPCH-InfoPerRL-ASU ::= CHOICE {
+ fdd SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ dpch-FrameOffset DPCH-FrameOffset,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ dl-ChannelisationCodeList DL-ChannelisationCodeList,
+ tpc-CombinationIndex TPC-CombinationIndex,
+ powerOffsetTPC-pdpdch PowerOffsetTPC-pdpdch OPTIONAL,
+ powerOffsetPO-SRB PowerOffsetPO-SRB OPTIONAL,
+ closedLoopTimingAdjMode ClosedLoopTimingAdjMode OPTIONAL
+ },
+ tdd SEQUENCE {
+ dl-CCTrChListToEstablish DL-CCTrChList-r4 OPTIONAL,
+ dl-CCTrChListToRemove DL-CCTrChListToRemove OPTIONAL
+ }
+}
+
+DL-FDPCH-InfoPerRL-r6 ::= SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ fdpch-FrameOffset DPCH-FrameOffset,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ secondaryScramblingCode SecondaryScramblingCode OPTIONAL,
+ dl-ChannelisationCode INTEGER (0..255),
+ tpc-CombinationIndex TPC-CombinationIndex
+}
+
+DL-FDPCH-InfoPerRL-r7 ::= SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ fdpch-FrameOffset DPCH-FrameOffset,
+ fdpch-SlotFormat FDPCH-SlotFormat OPTIONAL,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ secondaryScramblingCode SecondaryScramblingCode OPTIONAL,
+ dl-ChannelisationCode INTEGER (0..255),
+ tpc-CombinationIndex TPC-CombinationIndex,
+ sttdIndication STTDIndication OPTIONAL
+}
+
+DL-FDPCH-InfoPerRL-r13 ::= SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ fdpch-FrameOffset DPCH-FrameOffset,
+ fdpch-SlotFormat FDPCH-SlotFormat OPTIONAL,
+ secondaryCPICH-Info SecondaryCPICH-Info OPTIONAL,
+ secondaryScramblingCode SecondaryScramblingCode OPTIONAL,
+ dl-ChannelisationCode INTEGER (0..255),
+ tpc-CombinationIndex TPC-CombinationIndex,
+ sttdIndication STTDIndication OPTIONAL,
+ powerControlAlgorithm3-Config PowerControlAlgorithm3-Config OPTIONAL
+}
+
+DL-DPCH-InfoPerRL-PostFDD ::= SEQUENCE {
+ pCPICH-UsageForChannelEst PCPICH-UsageForChannelEst,
+ dl-ChannelisationCode DL-ChannelisationCode,
+ tpc-CombinationIndex TPC-CombinationIndex
+}
+
+DL-DPCH-InfoPerRL-PostTDD ::= SEQUENCE {
+ dl-DPCH-TimeslotsCodes DownlinkTimeslotsCodes
+}
+
+DL-DPCH-InfoPerRL-PostTDD-LCR-r4 ::= SEQUENCE {
+ dl-CCTrCH-TimeslotsCodes DownlinkTimeslotsCodes-LCR-r4
+}
+
+DL-DPCH-PowerControlInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ dpc-Mode DPC-Mode
+ },
+ tdd SEQUENCE {
+ tpc-StepSizeTDD TPC-StepSizeTDD OPTIONAL
+ }
+ }
+}
+
+DL-FDPCH-InfoCommon-r6 ::= SEQUENCE {
+ cfnHandling CHOICE {
+ maintain SEQUENCE {
+ timingmaintainedsynchind TimingMaintainedSynchInd OPTIONAL
+ },
+ initialise NULL
+ },
+ dl-FDPCH-PowerControlInfo DL-DPCH-PowerControlInfo OPTIONAL,
+ -- Actual value dl-FDPCH-TPCcommandErrorRate = IE value * 0.01
+ -- dl-FDPCH-TPCcommandErrorRate values 11..16 are spare and shall not be used in this version of
+ -- the protocol.
+ -- In addition, this IE shall always be included otherwise the UE behaviour is unspecified.
+ dl-FDPCH-TPCcommandErrorRate INTEGER (1..16) OPTIONAL
+}
+
+DL-FrameType ::= ENUMERATED {
+ dl-FrameTypeA, dl-FrameTypeB }
+
+DL-HSPDSCH-Information ::= SEQUENCE {
+ hs-scch-Info HS-SCCH-Info OPTIONAL,
+ measurement-feedback-Info Measurement-Feedback-Info OPTIONAL,
+ modeSpecificInfo CHOICE {
+ tdd CHOICE{
+ tdd384 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ hs-PDSCH-Midamble-Configuration-tdd128
+ HS-PDSCH-Midamble-Configuration-TDD128 OPTIONAL
+ }
+ },
+ fdd NULL
+ }
+}
+
+DL-HSPDSCH-Information-r6 ::= SEQUENCE {
+ hs-scch-Info HS-SCCH-Info-r6 OPTIONAL,
+ measurement-feedback-Info Measurement-Feedback-Info OPTIONAL,
+ modeSpecificInfo CHOICE {
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ hs-PDSCH-Midamble-Configuration-tdd128
+ HS-PDSCH-Midamble-Configuration-TDD128 OPTIONAL
+ }
+ },
+ fdd NULL
+ }
+}
+
+DL-HSPDSCH-Information-r7 ::= SEQUENCE {
+ hs-scch-Info HS-SCCH-Info-r7 OPTIONAL,
+ measurement-feedback-Info Measurement-Feedback-Info-r7 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration-VHCR OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ hs-PDSCH-Midamble-Configuration-tdd128
+ HS-PDSCH-Midamble-Configuration-TDD128 OPTIONAL,
+ dl-MultiCarrier-Information DL-MultiCarrier-Information OPTIONAL
+ }
+ },
+ fdd SEQUENCE {
+ dl-64QAM-Configured ENUMERATED { true } OPTIONAL
+ }
+ }
+}
+
+DL-HSPDSCH-Information-r8 ::= SEQUENCE {
+ hs-scch-Info HS-SCCH-Info-r7 OPTIONAL,
+ measurement-feedback-Info Measurement-Feedback-Info-r7 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration-VHCR OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ hs-PDSCH-Midamble-Configuration-tdd128
+ HS-PDSCH-Midamble-Configuration-TDD128 OPTIONAL,
+ dl-MultiCarrier-Information DL-MultiCarrier-Information OPTIONAL
+ }
+ },
+ fdd SEQUENCE {
+ dl-64QAM-Configured ENUMERATED { true } OPTIONAL,
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+ }
+ }
+}
+
+DL-HSPDSCH-Information-r8-ext ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ tdd CHOICE {
+ tdd384 NULL,
+ tdd768 NULL,
+ tdd128 SEQUENCE {
+ outofSyncWindow OutofSyncWindow OPTIONAL
+ }
+ },
+ fdd NULL
+ }
+}
+
+DL-HSPDSCH-Information-r8-ext2 ::= SEQUENCE {
+ hs-scch-Info HS-SCCH-Info-r8-ext OPTIONAL
+}
+
+DL-HSPDSCH-Information-r9 ::= SEQUENCE {
+ hs-scch-Info HS-SCCH-Info-r9 OPTIONAL,
+ measurement-feedback-Info Measurement-Feedback-Info-r7 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration-VHCR OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ hs-PDSCH-Midamble-Configuration-tdd128
+ HS-PDSCH-Midamble-Configuration-TDD128 OPTIONAL,
+ dl-MultiCarrier-Information DL-MultiCarrier-Information OPTIONAL,
+ tS0-Indicator ENUMERATED { true } OPTIONAL,
+ outofSyncWindow OutofSyncWindow OPTIONAL
+ }
+ },
+ fdd SEQUENCE {
+ dl-64QAM-Configured ENUMERATED { true } OPTIONAL,
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+ }
+ }
+}
+
+DL-HSPDSCH-Information-r11 ::= SEQUENCE {
+ hs-scch-Info HS-SCCH-Info-r9 OPTIONAL,
+ measurement-feedback-Info Measurement-Feedback-Info-r11 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration-VHCR OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ hs-PDSCH-Midamble-Configuration-tdd128
+ HS-PDSCH-Midamble-Configuration-TDD128 OPTIONAL,
+ dl-MultiCarrier-Information DL-MultiCarrier-Information OPTIONAL,
+ tS0-Indicator ENUMERATED { true } OPTIONAL,
+ outofSyncWindow OutofSyncWindow OPTIONAL
+ }
+ },
+ fdd SEQUENCE {
+ dl-64QAM-Configured ENUMERATED { true } OPTIONAL,
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+ }
+ }
+}
+
+DL-HSPDSCH-Information-r12 ::= SEQUENCE {
+ hs-scch-Info HS-SCCH-Info-r9 OPTIONAL,
+ measurement-feedback-Info Measurement-Feedback-Info-r12 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ dl-HSPDSCH-TS-Configuration DL-HSPDSCH-TS-Configuration-VHCR OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ hs-PDSCH-Midamble-Configuration-tdd128
+ HS-PDSCH-Midamble-Configuration-TDD128 OPTIONAL,
+ dl-MultiCarrier-Information DL-MultiCarrier-Information OPTIONAL,
+ tS0-Indicator ENUMERATED { true } OPTIONAL,
+ outofSyncWindow OutofSyncWindow OPTIONAL,
+ ts0ChannelizationCodes DL-TS-ChannelisationCodesShort OPTIONAL
+ }
+ },
+ fdd SEQUENCE {
+ dl-64QAM-Configured ENUMERATED { true } OPTIONAL,
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+ }
+ }
+}
+
+OutofSyncWindow ::= ENUMERATED {
+ ms40, ms80, ms160, ms320,
+ ms640, spare3, spare2, spare1 }
+
+DL-HSPDSCH-MultiCarrier-Information ::= SEQUENCE (SIZE (1..maxTDD128Carrier)) OF
+ SEQUENCE {
+ uarfcn-Carrier UARFCN,
+ harqInfo HARQ-Info OPTIONAL,
+ hs-PDSCH-Midamble-Configuration HS-PDSCH-Midamble-Configuration-TDD128 OPTIONAL,
+ hs-SCCH-TDD128-MultiCarrier SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD128-MultiCarrier OPTIONAL
+ }
+
+-- The IE 'DL-HSPDSCH-TS-Configuration' applies to tdd-384 REL-5 onward
+DL-HSPDSCH-TS-Configuration ::= SEQUENCE (SIZE (1..maxTS-1)) OF
+ SEQUENCE {
+ timeslot TimeslotNumber,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-DL
+}
+
+-- The IE 'DL-HSPDSCH-TS-Configuration-VHCR' applies to tdd-768 REL-7 onward
+DL-HSPDSCH-TS-Configuration-VHCR ::= SEQUENCE (SIZE (1..maxTS-1)) OF
+ SEQUENCE {
+ timeslot TimeslotNumber,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-DL-VHCR
+}
+
+DL-InformationPerRL ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ -- dummy1 and dummy 2 are not used in this version of specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy1 PDSCH-SHO-DCH-Info OPTIONAL,
+ dummy2 PDSCH-CodeMapping OPTIONAL
+ },
+ tdd PrimaryCCPCH-Info
+ },
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SCCPCH-InfoForFACH OPTIONAL
+}
+
+DL-InformationPerRL-r4 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ -- dummy1 and dummy 2 are not used in this version of specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy1 PDSCH-SHO-DCH-Info OPTIONAL,
+ dummy2 PDSCH-CodeMapping OPTIONAL
+ },
+ tdd PrimaryCCPCH-Info-r4
+ },
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r4 OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SCCPCH-InfoForFACH-r4 OPTIONAL,
+ cell-id CellIdentity OPTIONAL
+}
+
+DL-InformationPerRL-r5 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ -- dummy1 and dummy 2 are not used in this version of specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy1 PDSCH-SHO-DCH-Info OPTIONAL,
+ dummy2 PDSCH-CodeMapping OPTIONAL,
+ servingHSDSCH-RL-indicator BOOLEAN
+ },
+ tdd PrimaryCCPCH-Info-r4
+ },
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r5 OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SCCPCH-InfoForFACH-r4 OPTIONAL,
+ cell-id CellIdentity OPTIONAL
+}
+
+DL-InformationPerRL-r5bis ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ -- dummy1 and dummy 2 are not used in this version of specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy1 PDSCH-SHO-DCH-Info OPTIONAL,
+ dummy2 PDSCH-CodeMapping OPTIONAL
+ },
+ tdd PrimaryCCPCH-Info-r4
+ },
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r5 OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SCCPCH-InfoForFACH-r4 OPTIONAL,
+ cell-id CellIdentity OPTIONAL
+}
+
+DL-InformationPerRL-r6 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ servingHSDSCH-RL-indicator BOOLEAN,
+ servingEDCH-RL-indicator BOOLEAN
+ },
+ tdd PrimaryCCPCH-Info-r4
+ },
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r6,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r6
+ } OPTIONAL,
+ e-AGCH-Information E-AGCH-Information OPTIONAL,
+ e-HICH-Info CHOICE {
+ e-HICH-Information E-HICH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ cell-id CellIdentity OPTIONAL
+}
+
+DL-InformationPerRL-v6b0ext ::= SEQUENCE {
+ sttdIndication STTDIndication OPTIONAL
+}
+
+DL-InformationPerRL-r7 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ servingHSDSCH-RL-indicator BOOLEAN,
+ servingEDCH-RL-indicator BOOLEAN
+ },
+ tdd PrimaryCCPCH-Info-r4
+ },
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r7,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7
+ } OPTIONAL,
+ e-AGCH-Information E-AGCH-Information-r7 OPTIONAL,
+ modeSpecificInfo2 CHOICE {
+ fdd SEQUENCE {
+ e-HICH-Info CHOICE {
+ e-HICH-Information E-HICH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+ },
+ tdd CHOICE {
+ tdd384-tdd768 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD384-768 OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD128 OPTIONAL
+ }
+ }
+ },
+ cell-id CellIdentity OPTIONAL
+}
+
+DL-InformationPerRL-r8 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ servingHSDSCH-RL-indicator BOOLEAN,
+ servingEDCH-RL-indicator BOOLEAN
+ },
+ tdd PrimaryCCPCH-Info-r4
+ },
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r7,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7
+ } OPTIONAL,
+ e-AGCH-Information E-AGCH-Information-r8 OPTIONAL,
+ modeSpecificInfo2 CHOICE {
+ fdd SEQUENCE {
+ e-HICH-Info CHOICE {
+ e-HICH-Information E-HICH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+ },
+ tdd CHOICE {
+ tdd384-tdd768 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD384-768 OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD128 OPTIONAL
+ }
+ }
+ },
+ cell-id CellIdentity OPTIONAL
+}
+
+DL-InformationPerRL-r11 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ servingHSDSCH-RL-indicator BOOLEAN,
+ servingEDCH-RL-indicator BOOLEAN
+ },
+ tdd PrimaryCCPCH-Info-r4
+ },
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r7,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7
+ } OPTIONAL,
+ e-AGCH-Information E-AGCH-Information-r8 OPTIONAL,
+ e-ROCH-Information E-ROCH-Information OPTIONAL,
+ modeSpecificInfo2 CHOICE {
+ fdd SEQUENCE {
+ e-HICH-Info CHOICE {
+ e-HICH-Information E-HICH-Information-r11,
+ releaseIndicator NULL,
+ secondaryReleaseIndicator NULL
+ } OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ f-TPICH-Info CHOICE {
+ f-TPICH-Information F-TPICH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+ },
+ tdd CHOICE {
+ tdd384-tdd768 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD384-768 OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD128 OPTIONAL
+ }
+ }
+ },
+ cell-id CellIdentity OPTIONAL
+}
+
+DL-InformationPerRL-r12 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ servingHSDSCH-RL-indicator BOOLEAN,
+ servingEDCH-RL-indicator BOOLEAN
+ },
+ tdd PrimaryCCPCH-Info-r4
+ },
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r12,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7,
+ radioLinkswithoutDPCHFDPCHInfo RadioLinkswithoutDPCHFDPCHInfo
+ } OPTIONAL,
+ e-AGCH-Information E-AGCH-Information-r8 OPTIONAL,
+ e-ROCH-Information E-ROCH-Information OPTIONAL,
+ modeSpecificInfo2 CHOICE {
+ fdd SEQUENCE {
+ e-HICH-Info CHOICE {
+ e-HICH-Information E-HICH-Information-r11,
+ releaseIndicator NULL,
+ secondaryReleaseIndicator NULL
+ } OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ f-TPICH-Info CHOICE {
+ f-TPICH-Information F-TPICH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+ },
+ tdd CHOICE {
+ tdd384-tdd768 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD384-768 OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD128 OPTIONAL
+ }
+ }
+ },
+ cell-id CellIdentity OPTIONAL
+}
+
+DL-InformationPerRL-r13 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ servingHSDSCH-RL-indicator BOOLEAN,
+ servingEDCH-RL-indicator BOOLEAN
+ },
+ tdd PrimaryCCPCH-Info-r4
+ },
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r12,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r13,
+ radioLinkswithoutDPCHFDPCHInfo RadioLinkswithoutDPCHFDPCHInfo
+ } OPTIONAL,
+ e-AGCH-Information E-AGCH-Information-r8 OPTIONAL,
+ e-ROCH-Information E-ROCH-Information OPTIONAL,
+ modeSpecificInfo2 CHOICE {
+ fdd SEQUENCE {
+ e-HICH-Info CHOICE {
+ e-HICH-Information E-HICH-Information-r11,
+ releaseIndicator NULL,
+ secondaryReleaseIndicator NULL
+ } OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ f-TPICH-Info CHOICE {
+ f-TPICH-Information F-TPICH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+ },
+ tdd CHOICE {
+ tdd384-tdd768 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD384-768 OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ e-HICH-Info E-HICH-Information-TDD128 OPTIONAL
+ }
+ }
+ },
+ cell-id CellIdentity OPTIONAL
+}
+
+DL-InformationPerRL-List ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL
+
+DL-InformationPerRL-List-r4 ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-r4
+
+DL-InformationPerRL-List-r5 ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-r5
+
+DL-InformationPerRL-List-r6 ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-r6
+
+DL-InformationPerRL-List-v6b0ext ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-v6b0ext
+
+DL-InformationPerRL-List-r5bis ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-r5bis
+
+DL-InformationPerRL-List-r7 ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-r7
+
+DL-InformationPerRL-List-r8 ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-r8
+
+DL-InformationPerRL-List-r11 ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-r11
+
+DL-InformationPerRL-List-r12 ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-r12
+
+DL-InformationPerRL-List-r13 ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-r13
+
+DL-InformationPerRL-ListPostFDD ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-InformationPerRL-PostFDD
+
+DL-InformationPerRL-PostFDD ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-PostFDD
+}
+
+DL-InformationPerRL-PostTDD ::= SEQUENCE {
+ primaryCCPCH-Info PrimaryCCPCH-InfoPost,
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-PostTDD
+}
+
+DL-InformationPerRL-PostTDD-LCR-r4 ::= SEQUENCE {
+ primaryCCPCH-Info PrimaryCCPCH-InfoPostTDD-LCR-r4,
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-PostTDD-LCR-r4
+}
+
+--for 1.28Mcps TDD Multi-Carrier
+DL-MultiCarrier-Information ::= SEQUENCE {
+ tsn-Length ENUMERATED { tsn-6bits, tsn-9bits } OPTIONAL,
+ multiCarrierNumber INTEGER (1..maxTDD128Carrier) OPTIONAL,
+ dl-HSPDSCH-MultiCarrier-Information DL-HSPDSCH-MultiCarrier-Information OPTIONAL
+}
+
+DL-PDSCH-Information ::= SEQUENCE {
+ -- dummy1 and dummy 2 are not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy1 PDSCH-SHO-DCH-Info OPTIONAL,
+ dummy2 PDSCH-CodeMapping OPTIONAL
+}
+
+Dl-rate-matching-restriction ::= SEQUENCE {
+ restrictedTrCH-InfoList RestrictedTrCH-InfoList OPTIONAL
+}
+
+DL-SecondaryCellInfoFDD ::= CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ new-H-RNTI H-RNTI,
+ dl-64QAM-Configured ENUMERATED { true } OPTIONAL,
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL,
+ primaryCPICH-Info PrimaryCPICH-Info,
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL,
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes,
+ measurementPowerOffset MeasurementPowerOffset,
+ uarfcn-DL UARFCN
+ }
+}
+
+DL-SecondaryCellInfoFDD-v890ext ::= SEQUENCE {
+ differentTxModeFromServingHS-DSCHCell ENUMERATED { different } OPTIONAL
+}
+
+DL-SecondaryCellInfoFDD-r9 ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ new-H-RNTI H-RNTI,
+ dl-64QAM-Configured ENUMERATED { true } OPTIONAL,
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL,
+ primaryCPICH-Info PrimaryCPICH-Info,
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL,
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes,
+ measurementPowerOffset MeasurementPowerOffset,
+ uarfcn-DL UARFCN,
+ differentTxModeFromServingHS-DSCHCell ENUMERATED { different } OPTIONAL
+ }
+ },
+ secondaryCellMIMOparameters SecondaryCellMIMOparametersFDD OPTIONAL
+}
+
+DL-SecondaryCellInfoFDD-r10 ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ new-H-RNTI H-RNTI,
+ dl-64QAM-Configured ENUMERATED { true } OPTIONAL,
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL,
+ primaryCPICH-Info PrimaryCPICH-Info,
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL,
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes,
+ measurementPowerOffset MeasurementPowerOffset,
+ uarfcn-DL UARFCN,
+ differentTxModeFromServingHS-DSCHCell ENUMERATED { different } OPTIONAL
+ }
+ },
+ secondaryCellMIMOparameters SecondaryCellMIMOparametersFDD-r10 OPTIONAL
+}
+
+DL-SecondaryCellInfoFDD-r11 ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ new-H-RNTI H-RNTI,
+ dl-64QAM-Configured ENUMERATED { true } OPTIONAL,
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL,
+ primaryCPICH-Info PrimaryCPICH-Info,
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL,
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes,
+ measurementPowerOffset MeasurementPowerOffset,
+ measurementPowerOffset1 MeasurementPowerOffset OPTIONAL,
+ uarfcn-DL UARFCN,
+ differentTxModeFromServingHS-DSCHCell ENUMERATED { different } OPTIONAL,
+ multiflowConfigurationInfo MultiflowConfigurationInfo OPTIONAL
+ }
+ },
+ secondaryCellMIMOparameters SecondaryCellMIMOparametersFDD-r10 OPTIONAL,
+ secondaryCell4x4MIMOparameters SecondaryCell4x4MIMOparametersFDD OPTIONAL
+}
+
+DL-SecondaryCellInfoFDD-HandoverToUtran ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ new-H-RNTI H-RNTI,
+ primaryCPICH-Info PrimaryCPICH-Info,
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL,
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes,
+ measurementPowerOffset MeasurementPowerOffset,
+ uarfcn-DL UARFCN,
+ differentTxModeFromServingHS-DSCHCell ENUMERATED { different } OPTIONAL
+ }
+ }
+}
+
+DL-TPC-PowerOffsetPerRL ::= SEQUENCE {
+ powerOffsetTPC-pdpdch PowerOffsetTPC-pdpdch OPTIONAL
+}
+
+-- NOTE: The radio links in the following list have a one-to-one mapping with the
+-- radio links in the message.
+DL-TPC-PowerOffsetPerRL-List ::= SEQUENCE (SIZE (1..maxRL)) OF
+ DL-TPC-PowerOffsetPerRL
+
+DL-TS-ChannelisationCode ::= ENUMERATED {
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16 }
+
+DL-TS-ChannelisationCode-VHCR ::= ENUMERATED {
+ cc32-1, cc32-2, cc32-3, cc32-4,
+ cc132-5, cc32-6, cc32-7, cc32-8,
+ cc32-9, cc32-10, cc32-11, cc32-12,
+ cc32-13, cc32-14, cc32-15, cc32-16,
+ cc32-17, cc32-18, cc32-19, cc32-20,
+ cc32-21, cc32-22, cc32-23, cc32-24,
+ cc32-25, cc32-26, cc32-27, cc32-28,
+ cc32-29, cc32-30, cc32-31, cc32-32 }
+
+DL-TS-ChannelisationCodesShort ::= SEQUENCE {
+ codesRepresentation CHOICE {
+ consecutive SEQUENCE {
+ firstChannelisationCode DL-TS-ChannelisationCode,
+ lastChannelisationCode DL-TS-ChannelisationCode
+ },
+ bitmap BIT STRING {
+ chCode16-SF16(0),
+ chCode15-SF16(1),
+ chCode14-SF16(2),
+ chCode13-SF16(3),
+ chCode12-SF16(4),
+ chCode11-SF16(5),
+ chCode10-SF16(6),
+ chCode9-SF16(7),
+ chCode8-SF16(8),
+ chCode7-SF16(9),
+ chCode6-SF16(10),
+ chCode5-SF16(11),
+ chCode4-SF16(12),
+ chCode3-SF16(13),
+ chCode2-SF16(14),
+ chCode1-SF16(15)
+ } (SIZE (16))
+ }
+}
+
+DL-TS-ChannelisationCodesShort-VHCR ::= SEQUENCE {
+ codesRepresentation CHOICE {
+ consecutive SEQUENCE {
+ firstChannelisationCode DL-TS-ChannelisationCode-VHCR,
+ lastChannelisationCode DL-TS-ChannelisationCode-VHCR
+ },
+ bitmap BIT STRING {
+ chCode32-SF32(0),
+ chCode31-SF32(1),
+ chCode30-SF32(2),
+ chCode29-SF32(3),
+ chCode28-SF32(4),
+ chCode27-SF32(5),
+ chCode26-SF32(6),
+ chCode25-SF32(7),
+ chCode24-SF32(8),
+ chCode23-SF32(9),
+ chCode22-SF32(10),
+ chCode21-SF32(11),
+ chCode20-SF32(12),
+ chCode19-SF32(13),
+ chCode18-SF32(14),
+ chCode17-SF32(15),
+ chCode16-SF32(16),
+ chCode15-SF32(17),
+ chCode14-SF32(18),
+ chCode13-SF32(19),
+ chCode12-SF32(20),
+ chCode11-SF32(21),
+ chCode10-SF32(22),
+ chCode9-SF32(23),
+ chCode8-SF32(24),
+ chCode7-SF32(25),
+ chCode6-SF32(26),
+ chCode5-SF32(27),
+ chCode4-SF32(28),
+ chCode3-SF32(29),
+ chCode2-SF32(30),
+ chCode1-SF32(31)
+ } (SIZE (32))
+ }
+}
+
+DL-ChannelCodes-MBSFN-IMB384 ::= SEQUENCE {
+ firstChannelisationCode INTEGER (1..15),
+ lastChannelisationCode INTEGER (1..15) OPTIONAL
+}
+
+DLUL-HSPA-Information-r8 ::= SEQUENCE {
+ ul-EDCH-Information UL-EDCH-Information-r8,
+ dl-CommonInformation DL-CommonInformation-r8,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8
+}
+
+DLUL-HSPA-Information-r9 ::= SEQUENCE {
+ ul-EDCH-Information UL-EDCH-Information-r9,
+ dl-CommonInformation DL-CommonInformation-r8,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9
+}
+
+DLUL-HSPA-Information-r10 ::= SEQUENCE {
+ ul-EDCH-Information UL-EDCH-Information-r9,
+ dl-CommonInformation DL-CommonInformation-r10,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9
+}
+
+DownlinkAdditionalTimeslots ::= SEQUENCE {
+ parameters CHOICE {
+ sameAsLast SEQUENCE {
+ timeslotNumber TimeslotNumber
+ },
+ newParameters SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo,
+ dl-TS-ChannelisationCodesShort DL-TS-ChannelisationCodesShort
+ }
+ }
+}
+
+DownlinkAdditionalTimeslots-VHCR ::= SEQUENCE {
+ parameters CHOICE {
+ sameAsLast SEQUENCE {
+ timeslotNumber TimeslotNumber
+ },
+ newParameters SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo-VHCR,
+ dl-TS-ChannelisationCodesShort DL-TS-ChannelisationCodesShort-VHCR
+ }
+ }
+}
+
+DownlinkAdditionalTimeslots-LCR-r4 ::= SEQUENCE {
+ parameters CHOICE {
+ sameAsLast SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4
+ },
+ newParameters SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo-LCR-r4,
+ dl-TS-ChannelisationCodesShort DL-TS-ChannelisationCodesShort
+ }
+ }
+}
+
+DownlinkAdditionalTimeslots-r7 ::= SEQUENCE {
+ parameters CHOICE {
+ sameAsLast SEQUENCE {
+ timeslotNumber TimeslotNumber
+ },
+ newParameters SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo-r7,
+ dl-TS-ChannelisationCodesShort DL-TS-ChannelisationCodesShort
+ }
+ }
+}
+
+DownlinkTimeslotsCodes ::= SEQUENCE {
+ firstIndividualTimeslotInfo IndividualTimeslotInfo,
+ dl-TS-ChannelisationCodesShort DL-TS-ChannelisationCodesShort,
+ moreTimeslots CHOICE {
+ noMore NULL,
+ additionalTimeslots CHOICE {
+ consecutive INTEGER (1..maxTS-1),
+ timeslotList SEQUENCE (SIZE (1..maxTS-1)) OF
+ DownlinkAdditionalTimeslots
+ }
+ }
+}
+
+DownlinkTimeslotsCodes-VHCR ::= SEQUENCE {
+ firstIndividualTimeslotInfo IndividualTimeslotInfo-VHCR,
+ dl-TS-ChannelisationCodesShort DL-TS-ChannelisationCodesShort-VHCR,
+ moreTimeslots CHOICE {
+ noMore NULL,
+ additionalTimeslots CHOICE {
+ consecutive INTEGER (1..maxTS-1),
+ timeslotList SEQUENCE (SIZE (1..maxTS-1)) OF
+ DownlinkAdditionalTimeslots-VHCR
+ }
+ }
+}
+
+DownlinkTimeslotsCodes-LCR-r4 ::= SEQUENCE {
+ firstIndividualTimeslotInfo IndividualTimeslotInfo-LCR-r4,
+ dl-TS-ChannelisationCodesShort DL-TS-ChannelisationCodesShort,
+ moreTimeslots CHOICE {
+ noMore NULL,
+ additionalTimeslots CHOICE {
+ consecutive INTEGER (1..maxTS-LCR-1),
+ timeslotList SEQUENCE (SIZE (1..maxTS-LCR-1)) OF
+ DownlinkAdditionalTimeslots-LCR-r4
+ }
+ }
+}
+DownlinkTimeslotsCodes-r7 ::= SEQUENCE {
+ firstIndividualTimeslotInfo IndividualTimeslotInfo-r7,
+ dl-TS-ChannelisationCodesShort DL-TS-ChannelisationCodesShort,
+ moreTimeslots CHOICE {
+ noMore NULL,
+ additionalTimeslots CHOICE {
+ consecutive INTEGER (1..maxTS-1),
+ timeslotList SEQUENCE (SIZE (1..maxTS-1)) OF
+ DownlinkAdditionalTimeslots-r7
+ }
+ }
+}
+
+DPC-Mode ::= ENUMERATED {
+ singleTPC,
+ tpcTripletInSoft }
+
+DPCCH2Info ::= SEQUENCE {
+ dpcch2TxPowerOffset Dpcch2TxPowerOffset
+}
+
+DPCCH2InfoFDD ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ dpcch2Info DPCCH2Info OPTIONAL,
+ f-dpchInfo F-DPCHInfo OPTIONAL,
+ extended-E-DPCCH-DPCCHPO Extended-E-DPCCH-DPCCH-PowerOffset OPTIONAL,
+ designatedNonServingHS-DSCHCellInfo DesignatedNonServingHS-DSCHCellInfo OPTIONAL
+ }
+ }
+}
+
+Dpcch2TxPowerOffset ::= INTEGER (0..20)
+
+-- Actual value DPCCH-PowerOffset = IE value * 2
+DPCCH-PowerOffset ::= INTEGER (-82..-3)
+
+-- Actual value DPCCH-PowerOffset2 = 2 + (IE value * 4)
+DPCCH-PowerOffset2 ::= INTEGER (-28..-13)
+
+DPCH-CompressedModeInfo ::= SEQUENCE {
+ tgp-SequenceList TGP-SequenceList
+}
+
+DPCH-CompressedModeInfo-r8 ::= SEQUENCE {
+ tgp-SequenceList TGP-SequenceList-r8
+}
+
+DPCH-CompressedModeInfo-r10 ::= SEQUENCE {
+ tgp-SequenceList TGP-SequenceList-r10
+}
+
+DPCH-CompressedModeStatusInfo ::= SEQUENCE {
+ tgps-Reconfiguration-CFN TGPS-Reconfiguration-CFN,
+ tgp-SequenceShortList SEQUENCE (SIZE (1..maxTGPS)) OF
+ TGP-SequenceShort
+}
+
+DPCH-CompressedModeStatusInfo-r10 ::= SEQUENCE {
+ tgps-Reconfiguration-CFN TGPS-Reconfiguration-CFN,
+ tgp-SequenceShortList SEQUENCE (SIZE (1..maxTGPS)) OF
+ TGP-SequenceShort-r10
+}
+
+-- Actual value DPCH-FrameOffset = IE value * 256
+DPCH-FrameOffset ::= INTEGER (0..149)
+
+FDPCH-SlotFormat ::= INTEGER (0..9)
+
+UE-DRX-Cycle-InactivityThreshold ::= ENUMERATED {
+ sub-frames-0,
+ sub-frames-1,
+ sub-frames-2,
+ sub-frames-4,
+ sub-frames-8,
+ sub-frames-16,
+ sub-frames-32,
+ sub-frames-64,
+ sub-frames-128,
+ sub-frames-256,
+ sub-frames-512,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+DRX-Info ::= SEQUENCE {
+ ue-drx-Cycle UE-DRX-Cycle,
+ ue-drx-Cycle-InactivityThreshold UE-DRX-Cycle-InactivityThreshold,
+ ue-GrantMonitoring-InactivityThreshold
+ UE-GrantMonitoring-InactivityThreshold,
+ ue-drx-GrantMonitoring BOOLEAN
+}
+
+DRX-Info-r12 ::= SEQUENCE {
+ ue-drx-Cycle UE-DRX-Cycle,
+ ue-drx-Cycle2 UE-DRX-Cycle2 OPTIONAL,
+ ue-drx-Cycle-InactivityThreshold UE-DRX-Cycle-InactivityThreshold,
+ ue-drx-Cycle2-InactivityThreshold UE-DRX-Cycle-InactivityThreshold OPTIONAL,
+ ue-GrantMonitoring-InactivityThreshold
+ UE-GrantMonitoring-InactivityThreshold,
+ ue-drx-GrantMonitoring BOOLEAN
+}
+
+DSCH-Mapping ::= SEQUENCE {
+ maxTFCI-Field2Value MaxTFCI-Field2Value,
+ spreadingFactor SF-PDSCH,
+ codeNumber CodeNumberDSCH,
+ multiCodeInfo MultiCodeInfo
+}
+
+DSCH-MappingList ::= SEQUENCE (SIZE (1..maxPDSCH-TFCIgroups)) OF
+ DSCH-Mapping
+
+DSCH-RadioLinkIdentifier ::= INTEGER (0..511)
+
+DSCH-TransportChannelsInfo ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ SEQUENCE {
+ dsch-transport-channel-identity TransportChannelIdentity,
+ dsch-TFS TransportFormatSet
+}
+
+DTX-DRX-Info-r7 ::= SEQUENCE {
+ dtx-Info DTX-Info OPTIONAL,
+ drx-Info DRX-Info OPTIONAL,
+ uplink-DPCCHSlotFormatInformation Uplink-DPCCH-Slot-Format-Information
+}
+
+DTX-DRX-Info-r12 ::= SEQUENCE {
+ dtx-Info DTX-Info OPTIONAL,
+ dtx-Info-SecondaryUplinkFrequency DTX-Info-SecondaryUplinkFrequency OPTIONAL,
+ drx-Info DRX-Info-r12 OPTIONAL,
+ uplink-DPCCHSlotFormatInformation Uplink-DPCCH-Slot-Format-Information
+}
+
+DTX-E-DCH-TTI-10ms ::= SEQUENCE {
+ ue-dtx-Cycle1-10ms UE-DTX-Cycle1-10ms,
+ ue-dtx-Cycle2-10ms UE-DTX-Cycle2-10ms,
+ mac-dtx-Cycle-10ms MAC-DTX-Cycle-10ms
+}
+
+DTX-E-DCH-TTI-2ms ::= SEQUENCE {
+ ue-dtx-Cycle1-2ms UE-DTX-Cycle1-2ms,
+ ue-dtx-Cycle2-2ms UE-DTX-Cycle2-2ms,
+ mac-dtx-Cycle-2ms MAC-DTX-Cycle-2ms
+}
+
+DTX-Info ::= SEQUENCE {
+ e-dch-TTI-Length CHOICE {
+ dtx-e-dch-TTI-10ms DTX-E-DCH-TTI-10ms,
+ dtx-e-dch-TTI-2ms DTX-E-DCH-TTI-2ms
+ },
+ ue-dtx-cycle2InactivityThreshold UE-DTX-Cycle2InactivityThreshold,
+ ue-dtx-cycle2DefaultSG INTEGER (0..38) OPTIONAL,
+ -- if ue-dtx-long-preamble-length is not present, the value is '2 slots'
+ ue-dtx-long-preamble-length UE-DTX-long-preamble-length OPTIONAL,
+ mac-InactivityThreshold MAC-InactivityThreshold,
+ cqi-dtx-Timer CQI-DTX-Timer,
+ ue-dpcch-Burst1 UE-DPCCH-Burst,
+ ue-dpcch-Burst2 UE-DPCCH-Burst
+}
+
+DTX-Info-SecondaryUplinkFrequency ::= SEQUENCE {
+ e-dch-TTI-Length CHOICE {
+ dtx-e-dch-TTI-10ms NULL,
+ dtx-e-dch-TTI-2ms SEQUENCE {
+ ue-dtx-Cycle1-2ms-Secondary UE-DTX-Cycle1-2ms OPTIONAL,
+ ue-dtx-Cycle2-2ms-Secondary UE-DTX-Cycle2-2ms-Secondary }
+ },
+ ue-dtx-cycle2InactivityThreshold-Secondary UE-DTX-Cycle2InactivityThreshold OPTIONAL,
+ -- if ue-dtx-long-preamble-length is not present, the value is '2 slots'
+ ue-dtx-long-preamble-length-Secondary UE-DTX-long-preamble-length OPTIONAL,
+ ue-dpcch-Burst1-Secondary UE-DPCCH-Burst OPTIONAL,
+ ue-dpcch-Burst2-Secondary UE-DPCCH-Burst OPTIONAL
+}
+
+DurationTimeInfo ::= INTEGER (1..4096)
+
+DynamicPersistenceLevel ::= INTEGER (1..8)
+
+DynamicPersistenceLevelList ::= SEQUENCE (SIZE (1..maxPRACH)) OF
+ DynamicPersistenceLevel
+
+DynamicPersistenceLevelTF-List ::= SEQUENCE (SIZE (1..maxTF-CPCH)) OF
+ DynamicPersistenceLevel
+
+DynamicTFInformationCCCH ::= SEQUENCE {
+ octetModeRLC-SizeInfoType2 OctetModeRLC-SizeInfoType2
+}
+
+E-AGCH-ChannelisationCode ::= INTEGER (0..255)
+
+E-AGCH-DRX-Info-TDD128 ::= SEQUENCE {
+ e-AGCH-DRX-InfoType CHOICE {
+ sameAsHS-SCCH NULL,
+ e-AGCH-DRX-Parameters SEQUENCE {
+ e-AGCH-DRX-Cycle ControlChannelDRXCycle-TDD128,
+ e-AGCH-InactivityMonitorThreshold E-AGCH-InactivityMonitorThreshold-TDD128
+ OPTIONAL,
+ e-AGCH-DRX-Offset INTEGER (0..63)
+ }
+ }
+}
+
+E-AGCH-InactivityMonitorThreshold-TDD128 ::= ENUMERATED {
+ radio-frames-0, radio-frames-1, radio-frames-2,
+ radio-frames-4, radio-frames-8, radio-frames-16,
+ radio-frames-32, radio-frames-64, radio-frames-128,
+ radio-frames-256, radio-frames-512,
+ spare5, spare4, spare3, spare2, infinity }
+
+E-AGCH-Individual ::= SEQUENCE {
+ tS-number INTEGER (0..14),
+ channelisation-code DL-TS-ChannelisationCode,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-EDCH
+}
+
+E-AGCH-Individual-VHCR ::= SEQUENCE {
+ tS-number INTEGER (0..14),
+ channelisation-code DL-TS-ChannelisationCode-VHCR,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-EDCH
+}
+
+E-AGCH-Individual-LCR ::= SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4,
+ firstChannelisationCode HS-ChannelisationCode-LCR,
+ secondChannelisationCode HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble INTEGER (0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8)
+}
+
+E-AGCH-Information ::= SEQUENCE {
+ e-AGCH-ChannelisationCode E-AGCH-ChannelisationCode
+}
+
+E-AGCH-Information-r7 ::= SEQUENCE {
+ modeSpecific CHOICE {
+ fdd SEQUENCE {
+ e-AGCH-ChannelisationCode E-AGCH-ChannelisationCode
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ long-Term-Grant-Indicator BOOLEAN OPTIONAL,
+ length-of-TTRI-field INTEGER (1..12),
+ e-AGCH-Set-Config E-AGCH-Set-Config,
+ e-AGCH-BLER-Target Bler-Target
+ },
+ tdd768 SEQUENCE {
+ long-Term-Grant-Indicator BOOLEAN OPTIONAL,
+ length-of-TTRI-field INTEGER (1..12),
+ e-AGCH-Set-Config E-AGCH-Set-Config-VHCR,
+ e-AGCH-BLER-Target Bler-Target
+ },
+ tdd128 SEQUENCE {
+ rdi-Indicator BOOLEAN,
+ tpc-StepSize TPC-StepSizeTDD,
+ e-AGCH-Set-Config E-AGCH-Set-Config-LCR,
+ e-AGCH-BLER-Target Bler-Target
+ }
+ }
+ }
+}
+
+E-AGCH-Information-r8 ::= SEQUENCE {
+ modeSpecific CHOICE {
+ fdd SEQUENCE {
+ e-AGCH-ChannelisationCode E-AGCH-ChannelisationCode
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ long-Term-Grant-Indicator BOOLEAN OPTIONAL,
+ length-of-TTRI-field INTEGER (1..12),
+ e-AGCH-Set-Config E-AGCH-Set-Config,
+ e-AGCH-BLER-Target Bler-Target
+ },
+ tdd768 SEQUENCE {
+ long-Term-Grant-Indicator BOOLEAN OPTIONAL,
+ length-of-TTRI-field INTEGER (1..12),
+ e-AGCH-Set-Config E-AGCH-Set-Config-VHCR,
+ e-AGCH-BLER-Target Bler-Target
+ },
+ tdd128 SEQUENCE {
+ rdi-Indicator BOOLEAN,
+ tpc-StepSize TPC-StepSizeTDD,
+ e-AGCH-Set-Config E-AGCH-Set-Config-LCR,
+ e-AGCH-BLER-Target Bler-Target,
+ e-AGCH-InactivityMonitorThreshold E-AGCH-InactivityMonitorThreshold-TDD128
+ OPTIONAL
+ }
+ }
+ }
+}
+
+E-AGCH-Information-TDD128 ::= SEQUENCE {
+ rdi-Indicator BOOLEAN,
+ tpc-StepSize TPC-StepSizeTDD,
+ e-AGCH-Set-Config E-AGCH-Set-Config-LCR,
+ e-AGCH-BLER-Target Bler-Target
+}
+
+E-AGCH-Set-Config ::= SEQUENCE (SIZE (1..maxNumE-AGCH)) OF
+ E-AGCH-Individual
+
+E-AGCH-Set-Config-VHCR ::= SEQUENCE (SIZE (1..maxNumE-AGCH)) OF
+ E-AGCH-Individual-VHCR
+
+E-AGCH-Set-Config-LCR ::= SEQUENCE (SIZE (1..maxNumE-AGCH)) OF
+ E-AGCH-Individual-LCR
+
+E-ROCH-ChannelisationCode ::= INTEGER (0..255)
+
+E-ROCH-Information ::= SEQUENCE {
+ e-ROCH-ChannelisationCode E-ROCH-ChannelisationCode,
+ e-roch-e-rnti E-RNTI
+}
+
+E-DCH-MinimumSet-E-TFCI ::= INTEGER (0..127)
+
+E-DCH-ReconfigurationInfo ::= SEQUENCE {
+ e-DCH-RL-InfoNewServingCell E-DCH-RL-InfoNewServingCell OPTIONAL,
+ e-DCH-RL-InfoOtherCellList SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ E-DCH-RL-InfoOtherCell OPTIONAL
+}
+
+E-DCH-ReconfigurationInfo-r7 ::= SEQUENCE {
+ e-DCH-RL-InfoNewServingCell E-DCH-RL-InfoNewServingCell-r7 OPTIONAL,
+ e-DCH-RL-InfoOtherCellList SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ E-DCH-RL-InfoOtherCell OPTIONAL
+}
+
+E-DCH-ReconfigurationInfo-r11 ::= SEQUENCE {
+ e-DCH-RL-InfoNewServingCell E-DCH-RL-InfoNewServingCell-r11 OPTIONAL,
+ e-DCH-RL-InfoOtherCellList SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ E-DCH-RL-InfoOtherCell-r11 OPTIONAL
+}
+
+E-DCH-ReconfigurationInfo-SecULFrequency ::= SEQUENCE {
+ e-DCH-RL-InfoNewSecServingCell E-DCH-RL-InfoNewSecServingCell OPTIONAL,
+ e-DCH-RL-InfoOtherCellList-SecULFreq SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ E-DCH-RL-InfoOtherCell-SecULFreq OPTIONAL
+}
+
+E-DCH-RL-InfoNewServingCell ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ e-AGCH-Information E-AGCH-Information,
+ servingGrant SEQUENCE {
+ value INTEGER (0..38) OPTIONAL,
+ primary-Secondary-GrantSelector ENUMERATED { primary, secondary }
+ } OPTIONAL,
+ e-DPCCH-DPCCH-PowerOffset E-DPCCH-DPCCH-PowerOffset OPTIONAL,
+ reference-E-TFCIs E-DPDCH-Reference-E-TFCIList OPTIONAL,
+ powerOffsetForSchedInfo INTEGER (0..6) OPTIONAL,
+ threeIndexStepThreshold INTEGER (0..37) OPTIONAL,
+ twoIndexStepThreshold INTEGER (0..37) OPTIONAL,
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+}
+
+E-DCH-RL-InfoNewServingCell-r7 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ e-AGCH-Information E-AGCH-Information,
+ servingGrant SEQUENCE {
+ value INTEGER (0..38) OPTIONAL,
+ primary-Secondary-GrantSelector ENUMERATED { primary, secondary }
+ } OPTIONAL,
+ e-DPCCH-DPCCH-PowerOffset E-DPCCH-DPCCH-PowerOffset OPTIONAL,
+ reference-E-TFCIs E-DPDCH-Reference-E-TFCIList-r7 OPTIONAL,
+ powerOffsetForSchedInfo INTEGER (0..6) OPTIONAL,
+ threeIndexStepThreshold INTEGER (0..37) OPTIONAL,
+ twoIndexStepThreshold INTEGER (0..37) OPTIONAL,
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+}
+
+E-DCH-RL-InfoNewServingCell-r11 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ e-AGCH-Information E-AGCH-Information,
+ e-ROCH-Information E-ROCH-Information OPTIONAL,
+ servingGrant SEQUENCE {
+ value INTEGER (0..38) OPTIONAL,
+ primary-Secondary-GrantSelector ENUMERATED { primary, secondary }
+ } OPTIONAL,
+ e-DPCCH-DPCCH-PowerOffset E-DPCCH-DPCCH-PowerOffset OPTIONAL,
+ reference-E-TFCIs E-DPDCH-Reference-E-TFCIList-r7 OPTIONAL,
+ powerOffsetForSchedInfo INTEGER (0..6) OPTIONAL,
+ threeIndexStepThreshold INTEGER (0..37) OPTIONAL,
+ twoIndexStepThreshold INTEGER (0..37) OPTIONAL,
+ e-HICH-Information E-HICH-Information-r11 OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+}
+
+E-DCH-RL-InfoNewSecServingCell ::= SEQUENCE {
+ e-AGCH-Information E-AGCH-Information,
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+}
+
+E-DCH-RL-InfoOtherCell ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ e-HICH-Info CHOICE {
+ e-HICH-Information E-HICH-Information,
+ releaseIndicator NULL
+ } OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+}
+
+E-DCH-RL-InfoOtherCell-r11 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ e-HICH-Info CHOICE {
+ e-HICH-Information E-HICH-Information-r11,
+ releaseIndicator NULL,
+ secondaryReleaseIndicator NULL
+ } OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+}
+
+E-DCH-RL-InfoOtherCell-SecULFreq ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Info CHOICE {
+ e-RGCH-Information E-RGCH-Information,
+ releaseIndicator NULL
+ } OPTIONAL
+}
+
+E-DCH-RL-InfoSameServingCell ::= SEQUENCE {
+ e-DPCCH-DPCCH-PowerOffset E-DPCCH-DPCCH-PowerOffset OPTIONAL,
+ reference-E-TFCIs E-DPDCH-Reference-E-TFCIList-r7 OPTIONAL
+}
+
+E-DCH-SPS-Information-TDD128 ::= SEQUENCE {
+ e-dch-SPS-Operation CHOICE {
+ continue NULL,
+ newOperation E-DCH-SPS-NewOperation-TDD128
+ }
+}
+
+E-DCH-SPS-NewOperation-TDD128 ::= SEQUENCE {
+ e-hich-Info E-HICH-Information-For-SPS-TDD128,
+ e-dch-TxPattern E-DCH-TxPatternList-TDD128 OPTIONAL,
+ initialSPSInfoForEDCH SEQUENCE {
+ n-E-UCCH INTEGER (1..8),
+ codeResourceInfo UL-TS-ChannelisationCode,
+ timeslotResourceRelatedInfo BIT STRING (SIZE (5)),
+ powerResourceRelatedInfo INTEGER (1..32),
+ activationTime ActivationTime,
+ subframeNum INTEGER (0..1),
+ initialTxPatternIndex INTEGER (0..maxEDCHTxPattern-TDD128-1)
+ } OPTIONAL
+}
+
+E-DCH-TxPatternList-TDD128 ::= SEQUENCE (SIZE (1..maxEDCHTxPattern-TDD128)) OF
+ SEQUENCE {
+ repetitionPeriodAndLength RepetitionPeriodAndLengthForSPS
+}
+
+E-DPCCH-Info ::= SEQUENCE {
+ e-DPCCH-DPCCH-PowerOffset E-DPCCH-DPCCH-PowerOffset,
+ happyBit-DelayCondition HappyBit-DelayCondition
+}
+
+E-DPCCH-Info-r7 ::= SEQUENCE {
+ e-DPCCH-DPCCH-PowerOffset E-DPCCH-DPCCH-PowerOffset,
+ happyBit-DelayCondition HappyBit-DelayCondition,
+ e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
+ e-DPDCH-PowerInterpolation E-DPDCH-PowerInterpolation OPTIONAL
+}
+
+E-DPCCH-DPCCH-PowerOffset ::= INTEGER (0..8)
+
+Extended-E-DPCCH-DPCCH-PowerOffset ::= INTEGER (9..15)
+
+E-DPDCH-Info ::= SEQUENCE {
+ e-TFCI-TableIndex E-TFCI-TableIndex,
+ e-DCH-MinimumSet-E-TFCI E-DCH-MinimumSet-E-TFCI OPTIONAL,
+ reference-E-TFCIs E-DPDCH-Reference-E-TFCIList,
+ maxChannelisationCodes E-DPDCH-MaxChannelisationCodes,
+ pl-NonMax E-DPDCH-PL-NonMax,
+ schedulingInfoConfiguration E-DPDCH-SchedulingInfoConfiguration,
+ threeIndexStepThreshold INTEGER (0..37) OPTIONAL,
+ twoIndexStepThreshold INTEGER (0..37) OPTIONAL
+}
+
+E-DPDCH-Info-r7 ::= SEQUENCE {
+ e-TFCI-TableIndex E-TFCI-TableIndex,
+ e-DCH-MinimumSet-E-TFCI E-DCH-MinimumSet-E-TFCI OPTIONAL,
+ reference-E-TFCIs E-DPDCH-Reference-E-TFCIList-r7,
+ maxChannelisationCodes E-DPDCH-MaxChannelisationCodes,
+ pl-NonMax E-DPDCH-PL-NonMax,
+ schedulingInfoConfiguration E-DPDCH-SchedulingInfoConfiguration,
+ threeIndexStepThreshold INTEGER (0..37) OPTIONAL,
+ twoIndexStepThreshold INTEGER (0..37) OPTIONAL
+}
+
+E-DPDCH-Info-r8 ::= SEQUENCE {
+ e-TFCI-TableIndex E-TFCI-TableIndex,
+ e-DCH-MinimumSet-E-TFCI E-DCH-MinimumSet-E-TFCI OPTIONAL,
+ reference-E-TFCIs E-DPDCH-Reference-E-TFCIList-r7,
+ minReduced-E-DPDCH-GainFactor MinReduced-E-DPDCH-GainFactor OPTIONAL,
+ maxChannelisationCodes E-DPDCH-MaxChannelisationCodes,
+ pl-NonMax E-DPDCH-PL-NonMax,
+ schedulingInfoConfiguration E-DPDCH-SchedulingInfoConfiguration,
+ threeIndexStepThreshold INTEGER (0..37) OPTIONAL,
+ twoIndexStepThreshold INTEGER (0..37) OPTIONAL
+}
+
+E-DPDCH-PeriodicyOfSchedInfo ::= ENUMERATED {
+ everyEDCHTTI, ms4, ms10, ms20, ms50, ms100, ms200, ms500,
+ ms1000 }
+
+-- The actual value of E-DPDCH-PL-NonMax is: IE value * 0.04
+E-DPDCH-PL-NonMax ::= INTEGER (11..25)
+
+E-DPDCH-PowerInterpolation ::= BOOLEAN
+
+E-DPDCH-Reference-E-TFCI ::= SEQUENCE {
+ reference-E-TFCI INTEGER (0..127),
+ reference-E-TFCI-PO INTEGER (0..29)
+}
+
+E-DPDCH-Reference-E-TFCI-r7 ::= SEQUENCE {
+ reference-E-TFCI INTEGER (0..127),
+ reference-E-TFCI-PO-r7 INTEGER (0..31)
+}
+
+E-DPDCH-Reference-E-TFCIList ::= SEQUENCE (SIZE (1..8)) OF E-DPDCH-Reference-E-TFCI
+
+E-DPDCH-Reference-E-TFCIList-r7 ::= SEQUENCE (SIZE (1..8)) OF E-DPDCH-Reference-E-TFCI-r7
+
+E-DPDCH-SchedulingInfoConfiguration ::= SEQUENCE {
+ periodicityOfSchedInfo-NoGrant E-DPDCH-PeriodicyOfSchedInfo OPTIONAL,
+ periodicityOfSchedInfo-Grant E-DPDCH-PeriodicyOfSchedInfo OPTIONAL,
+ powerOffsetForSchedInfo INTEGER (0..6)
+}
+
+E-DPDCH-SchedulingTransmConfiguration ::= SEQUENCE {
+ ms2-SchedTransmGrantHARQAlloc BIT STRING (SIZE (8)) OPTIONAL,
+ servingGrant SEQUENCE {
+ value INTEGER (0..38),
+ primary-Secondary-GrantSelector ENUMERATED { primary, secondary }
+ } OPTIONAL
+}
+
+E-DPDCH-MaxChannelisationCodes ::= ENUMERATED {
+ sf256, sf128, sf64, sf32, sf16, sf8, sf4, sf4x2,
+ sf2x2, sf4x2-and-sf2x2 }
+
+E-HICH-ChannelisationCode ::= INTEGER (0..127)
+
+E-HICH-Information ::= SEQUENCE {
+ channelisationCode E-HICH-ChannelisationCode,
+ signatureSequence E-HICH-RGCH-SignatureSequence
+}
+
+E-HICH-Information-r11 ::= SEQUENCE {
+ channelisationCode E-HICH-ChannelisationCode,
+ signatureSequence E-HICH-RGCH-SignatureSequence,
+ secondarySignatureSequence E-HICH-RGCH-SignatureSequence OPTIONAL
+}
+
+E-HICH-Information-CommonEdch ::= SEQUENCE {
+ channelisationCode E-HICH-ChannelisationCode OPTIONAL,
+ signatureSequence E-HICH-RGCH-SignatureSequence OPTIONAL
+}
+
+E-HICH-Information-TDD384-768 ::= SEQUENCE {
+ n-E-HICH INTEGER (4..44),
+ tS-Number INTEGER (0..14),
+ modeSpecificInfo CHOICE {
+ tdd384 DL-TS-ChannelisationCode,
+ tdd768 DL-TS-ChannelisationCode-VHCR
+ },
+ burst-Type ENUMERATED { type1, type2 },
+ midamble-Allocation-Mode ENUMERATED { default, common }
+}
+
+E-HICH-Information-LCR ::= SEQUENCE {
+ ei INTEGER (0..3),
+ timeslotNumber TimeslotNumber-LCR-r4,
+ channelisation-Code HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble INTEGER (0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8)
+}
+
+E-HICH-Information-TDD128 ::= SEQUENCE {
+ n-E-HICH INTEGER (4..15),
+ e-HICH-InfoList E-HICH-Information-LCR-List
+}
+
+E-HICH-Information-LCR-List ::= SEQUENCE (SIZE (1..maxNumE-HICH)) OF
+ E-HICH-Information-LCR
+
+E-HICH-RGCH-SignatureSequence ::= INTEGER (0..39)
+
+E-HICH-Information-For-SPS-TDD128 ::= SEQUENCE {
+ configurationmode CHOICE{
+ implicit SEQUENCE {
+ ei INTEGER (0..3) OPTIONAL
+ },
+ explicit SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4,
+ channelisation-Code HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble INTEGER (0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8)
+ }
+ },
+ signatureSequenceGroupIndex INTEGER (0..19)
+}
+
+
+E-PUCH-Info ::= SEQUENCE {
+ e-TFCS-Info E-TFCS-Info,
+ modeSpecificInfo CHOICE {
+ tdd348-tdd768 SEQUENCE {
+ noSlotsForTFCIandTPC INTEGER (1..12),
+ e-PUCH-ContantValue INTEGER (-35..10),
+ e-PUCH-TS-ConfigurationList SEQUENCE (SIZE (1..maxTS-2)) OF E-PUCH-TS-Slots,
+ e-PUCH-CodeHopping BOOLEAN,
+ e-PUCH-TPC-Step-Size INTEGER (1..3),
+ minimum-Allowed-Code-Rate INTEGER (0..63),
+ maximum-Allowed-Code-Rate INTEGER (0..63)
+ },
+ tdd128 SEQUENCE {
+ snpl-ReportType ENUMERATED { type1, type2 } OPTIONAL,
+ prxdes-base INTEGER (-112..-50),
+ beaconPLEst BOOLEAN OPTIONAL,
+ tpc-StepSize TPC-StepSizeTDD,
+ pebase-PowerControlGAP PowerControlGAP OPTIONAL,
+ ul-SynchronisationParameters UL-SynchronisationParameters-r4 OPTIONAL,
+ e-PUCH-TS-ConfigurationList SEQUENCE (SIZE (1..maxTS-LCR-1)) OF
+ E-PUCH-TS-Slots-LCR,
+ minimum-Allowed-Code-Rate INTEGER (0..63),
+ maximum-Allowed-Code-Rate INTEGER (0..63),
+ maximumNumOfRetransSchedInfo INTEGER (0..15),
+ retransTimerForSchedInfo ENUMERATED { ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70, ms75,
+ ms80, ms85, ms90, ms95, ms100, ms110, ms120,
+ ms140, ms160, ms200, ms240,ms280, ms320, ms400,
+ ms480, ms560 }
+ }
+ },
+ -- For 3.84/7.68 TDD only, should be ignored for 1.28Mcps TDD mode
+ powerOffsetForSchedInfo INTEGER (0..6) OPTIONAL
+}
+
+E-PUCH-Info-TDD128 ::= SEQUENCE {
+ e-TFCS-Info E-TFCS-Info,
+ snpl-ReportType ENUMERATED { type1, type2 } OPTIONAL,
+ prxdes-base INTEGER (-112..-50),
+ beaconPLEst BOOLEAN OPTIONAL,
+ tpc-StepSize TPC-StepSizeTDD,
+ pebase-PowerControlGAP INTEGER (1..255) OPTIONAL,
+ ul-SynchronisationParameters UL-SynchronisationParameters-r4 OPTIONAL,
+ e-PUCH-TS-ConfigurationList SEQUENCE (SIZE (1..maxTS-LCR-1)) OF
+ E-PUCH-TS-Slots-LCR,
+ minimum-Allowed-Code-Rate INTEGER (0..63),
+ maximum-Allowed-Code-Rate INTEGER (0..63),
+ maximumNumOfRetransSchedInfo INTEGER (0..15),
+ retransTimerForSchedInfo ENUMERATED { ms10, ms15, ms20, ms25, ms30, ms35,
+ ms40, ms45, ms50, ms55, ms60, ms65, ms70, ms75,
+ ms80, ms85, ms90, ms95, ms100, ms110, ms120,
+ ms140, ms160, ms200, ms240,ms280, ms320, ms400,
+ ms480, ms560 },
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy INTEGER (0..6) OPTIONAL
+}
+
+E-PUCH-Info-MulticarrierEDCH-TDD128 ::= SEQUENCE {
+ e-PUCH-TS-ConfigurationList SEQUENCE (SIZE (1..maxTS-LCR-1)) OF
+ E-PUCH-TS-Slots-LCR
+}
+
+E-PUCH-TS-Slots ::= SEQUENCE {
+ ts-Number INTEGER (0..14),
+ midambleShiftAndBurstType MidambleShiftAndBurstType-EDCH
+}
+
+E-PUCH-TS-Slots-LCR ::= SEQUENCE {
+ -- Note: For 1.28Mcps TDD operation, valid value for timeslotNumber is INTEGER (1..5)
+ timeslotNumber TimeslotNumber-LCR-r4,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble INTEGER (0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8)
+}
+
+E-RGCH-CombinationIndex ::= INTEGER (0..5)
+
+E-RGCH-Information ::= SEQUENCE {
+ signatureSequence E-HICH-RGCH-SignatureSequence,
+ rg-CombinationIndex E-RGCH-CombinationIndex
+}
+
+E-RGCH-Information-CommonEdch ::= SEQUENCE {
+ signatureSequence E-HICH-RGCH-SignatureSequence OPTIONAL
+}
+
+E-RUCCH-AccessServiceClass ::= PRACH-Partitioning-LCR-r4
+
+E-RUCCH-Info ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ tdd384-tdd768 SEQUENCE {
+ e-RUCCH-ConstantValue INTEGER (-35..10),
+ e-RUCCH-PersistenceScalingFactor PersistenceScalingFactor,
+ t-RUCCH ENUMERATED {ms40, ms80, ms120, ms160, ms200,
+ ms240, ms280, ms320} OPTIONAL,
+ e-RUCCH-TS-Number INTEGER (0..14) OPTIONAL,
+ e-RUCCH-Midamble ENUMERATED {direct, direct-Inverted} OPTIONAL,
+ t-adv ENUMERATED { sec1, sec2, sec4, sec8, sec16,
+ sec32, sec128, infinity } OPTIONAL,
+ t-SCHED ENUMERATED { zero, ms40, ms80, ms160, ms250,
+ sec1, sec2, sec4 } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ tdd384 CHOICE {
+ sF16 SEQUENCE (SIZE (1..8)) OF SF16Codes,
+ sF8 SEQUENCE (SIZE (1..8)) OF SF8Codes
+ },
+ tdd768 CHOICE {
+ sF32 SEQUENCE (SIZE (1..16)) OF SF32Codes,
+ sF816 SEQUENCE (SIZE (1..16)) OF SF16Codes2
+ }
+ }
+ },
+ tdd128 SEQUENCE {
+ t-RUCCH ENUMERATED { ms20, ms40, ms60, ms80, ms120,
+ ms160, ms200, ms240, ms280, ms320,
+ ms400, ms500, ms600, ms800, ms1000,
+ ms2000 } OPTIONAL,
+ n-RUCCH INTEGER (0..7) OPTIONAL,
+ t-WAIT ENUMERATED { everyEDCHTTI, ms40, ms80, ms160,
+ ms320, ms640, ms1000, ms2000 } OPTIONAL,
+ t-SI ENUMERATED { everyEDCHTTI, ms20, ms40, ms60, ms80,
+ ms160, ms200 } OPTIONAL,
+ extendedEstimationWindow INTEGER (2..5) OPTIONAL,
+ e-RUCCH-AccessServiceClass E-RUCCH-AccessServiceClass OPTIONAL,
+ e-RUCCH-PersistenceScalingFactor PersistenceScalingFactorList OPTIONAL,
+ sync-UL-InfoForE-RUCCH SYNC-UL-InfoForE-RUCCH OPTIONAL,
+ prach-information PRACH-Information-LCR-List OPTIONAL
+ }
+ }
+}
+
+E-RUCCH-Info-TDD128 ::= SEQUENCE {
+ t-RUCCH ENUMERATED { ms20, ms40, ms60, ms80, ms120,
+ ms160, ms200, ms240, ms280, ms320,
+ ms400, ms500, ms600, ms800, ms1000,
+ ms2000 } OPTIONAL,
+ n-RUCCH INTEGER (0..7) OPTIONAL,
+ t-WAIT ENUMERATED { everyEDCHTTI, ms40, ms80, ms160,
+ ms320, ms640, ms1000, ms2000 } OPTIONAL,
+ t-SI ENUMERATED { everyEDCHTTI, ms20, ms40, ms60, ms80,
+ ms160, ms200 } OPTIONAL,
+ extendedEstimationWindow INTEGER (2..5) OPTIONAL,
+ e-RUCCH-AccessServiceClass E-RUCCH-AccessServiceClass OPTIONAL,
+ e-RUCCH-PersistenceScalingFactor PersistenceScalingFactorList OPTIONAL,
+ sync-UL-InfoForE-RUCCH SYNC-UL-InfoForE-RUCCH OPTIONAL,
+ prach-information PRACH-Information-LCR-List OPTIONAL
+}
+
+E-TFC-Boost-Info-r7 ::= SEQUENCE {
+ e-TFCI-Boost INTEGER (0..127),
+ delta-T2TP INTEGER (0..6) OPTIONAL
+}
+
+E-TFCI-TableIndex ::= INTEGER (0..1)
+
+E-TFCS-Info ::= SEQUENCE {
+ reference-Beta-QPSK-List SEQUENCE (SIZE (1..8)) OF Reference-Beta-QPSK,
+ reference-Beta-16QAM-List SEQUENCE (SIZE (1..8)) OF Reference-Beta-16QAM
+}
+
+EARFCN ::= INTEGER (0..65535)
+
+EARFCNExtension ::= INTEGER (65536..262143)
+
+EARFCNExtension2 ::= INTEGER (0..262143)
+
+EARFCNRange ::= SEQUENCE {
+-- If the IE earfcn is set to a value of 65535, then the EARFCN
+-- value for that instance shall be read from the IE earfcnExt.
+ earfcn EARFCN,
+ earfcnExt EARFCNExtension OPTIONAL
+}
+
+EnablingDelay ::= ENUMERATED {
+ radio-frames-0,
+ radio-frames-1,
+ radio-frames-2,
+ radio-frames-4,
+ radio-frames-8,
+ radio-frames-16,
+ radio-frames-32,
+ radio-frames-64,
+ radio-frames-128,
+ spare7,
+ spare6,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+EnablingDelay-TDD128 ::= ENUMERATED {
+ radio-frames-0, radio-frames-1, radio-frames-2,
+ radio-frames-4, radio-frames-8, radio-frames-16,
+ radio-frames-32, radio-frames-64, radio-frames-128,
+ spare7, spare6, spare5, spare4, spare3, spare2,
+ infinity }
+
+EXT-UL-TimingAdvance ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ tdd384 SEQUENCE {
+ ex-ul-TimingAdvance INTEGER (0..255)
+ },
+ tdd768 SEQUENCE {
+ ex-ul-TimingAdvance INTEGER (0..511)
+ }
+ }
+}
+
+F-DPCHInfo ::= SEQUENCE {
+ fdpch-SlotFormat INTEGER (0..9) OPTIONAL,
+ codeNumber INTEGER (0..255) OPTIONAL,
+ -- Actual value dl-FDPCH-TPCcommandErrorRate = IE value * 0.01
+ dl-FDPCH-TPCcommandErrorRate INTEGER (1..10) OPTIONAL
+}
+
+FACH-PCH-Information ::= SEQUENCE {
+ transportFormatSet TransportFormatSet,
+ transportChannelIdentity TransportChannelIdentity,
+ ctch-Indicator BOOLEAN
+}
+
+FACH-PCH-InformationList ::= SEQUENCE (SIZE (1..maxFACHPCH)) OF
+ FACH-PCH-Information
+
+Fallback-R99-PRACH-info-IEs::= SEQUENCE {
+ cCCH-Fallback BOOLEAN,
+ dCCH-Fallback BOOLEAN
+}
+
+Feedback-cycle ::= ENUMERATED {
+ fc0, fc2, fc4, fc8, fc10, fc20, fc40, fc80, fc160}
+
+Feedback-cycle2 ::= ENUMERATED {
+ fc0, fc8, fc10, fc16,
+ fc20, f32, fc40, f64,
+ fc80, fc160, spare6, spare5,
+ spare4, spare3, spare2, spare1}
+
+Feedback-cycle-r7 ::= ENUMERATED {
+ fc0, fc2, fc4, fc8, fc10, fc20, fc40, fc80, fc160,
+ fc16, fc32, fc64, spare4, spare3, spare2, spare1 }
+
+FPACH-Info-r4 ::= SEQUENCE {
+ timeslot TimeslotNumber-LCR-r4,
+ channelisationCode TDD-FPACH-CCode16-r4,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-LCR-r4,
+ wi Wi-LCR
+}
+
+F-TPICH-InfoNewServingCell ::= SEQUENCE {
+ f-tpich-Information F-TPICH-Information
+}
+
+F-TPICH-InfoOtherCell ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ f-tpich-Info CHOICE {
+ f-tpich-Information F-TPICH-Information,
+ releaseIndicator NULL
+ }
+}
+
+F-TPICH-Information ::= SEQUENCE {
+ ftpich-SlotFormat FTPICH-SlotFormat,
+ ftpich-CodeNumber INTEGER (0..255),
+ ftpich-FrameOffset FTPICH-FrameOffset
+}
+
+F-TPICH-ReconfigurationInfo ::= SEQUENCE {
+ f-tpich-InfoNewServingCell F-TPICH-InfoNewServingCell OPTIONAL,
+ f-tpich-InfoOtherCellList SEQUENCE (SIZE (1..maxRL)) OF
+ F-TPICH-InfoOtherCell OPTIONAL
+}
+
+-- Actual value FTPICH-FrameOffset = IE value * 256
+FTPICH-FrameOffset ::= INTEGER (0..149)
+
+FTPICH-SlotFormat ::= INTEGER (0..9)
+
+FreqIndexListForEnhancedMeas ::= SEQUENCE (SIZE (1..maxFreqMeasWithoutCM)) OF
+ FrequencyIndexForEnhancedMeas
+
+FreqIndexListForEnhancedMeas-r12 ::= SEQUENCE (SIZE (1..maxFreqMeasWithoutCM)) OF
+ FrequencyIndexForEnhancedMeas-r12
+
+FrequencyInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd FrequencyInfoFDD,
+ tdd FrequencyInfoTDD }
+}
+
+FrequencyInfoFDD ::= SEQUENCE {
+ uarfcn-UL UARFCN OPTIONAL,
+ uarfcn-DL UARFCN
+}
+
+FrequencyInfoTDD ::= SEQUENCE {
+ uarfcn-Nt UARFCN
+}
+
+FrequencyIndexForEnhancedMeas ::= INTEGER (0..maxCellMeas-1)
+
+FrequencyIndexForEnhancedMeas-r12 ::= INTEGER (0..maxCellMeas-ext-1)
+
+HappyBit-DelayCondition ::= ENUMERATED {
+ ms2, ms10, ms20, ms50, ms100, ms200, ms500, ms1000 }
+
+HARQ-Preamble-Mode ::= INTEGER (0..1)
+
+HS-ChannelisationCode-LCR ::= ENUMERATED {
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16 }
+
+HS-ChannelisationCodeSetInfo-LCR ::= SEQUENCE {
+ startCode HS-ChannelisationCode-LCR,
+ stopCode HS-ChannelisationCode-LCR
+}
+
+HS-DSCH-CommonSystemInformation ::= SEQUENCE {
+ ccch-MappingInfo CommonRBMappingInfo,
+ srb1-MappingInfo CommonRBMappingInfo OPTIONAL,
+ common-MAC-ehs-ReorderingQueueList Common-MAC-ehs-ReorderingQueueList,
+ hs-scch-SystemInfo HS-SCCH-SystemInfo,
+ harq-SystemInfo HARQ-Info,
+ common-H-RNTI-information SEQUENCE (SIZE (1..maxCommonHRNTI)) OF
+ H-RNTI,
+ bcchSpecific-H-RNTI H-RNTI
+}
+
+HS-DSCH-CommonSystemInformation-TDD128 ::= SEQUENCE {
+ ccch-MappingInfo CommonRBMappingInfo,
+ srb1-MappingInfo CommonRBMappingInfo OPTIONAL,
+ common-MAC-ehs-ReorderingQueueList Common-MAC-ehs-ReorderingQueueList,
+ hs-scch-SystemInfo-tdd128 HS-SCCH-SystemInfo-TDD128,
+ harq-SystemInfo HARQ-Info,
+ hs-pdsch-MidambleConfiguration HS-PDSCH-Midamble-Configuration-TDD128,
+ common-H-RNTI-information SEQUENCE (SIZE (1..maxCommonHRNTI)) OF H-RNTI,
+ bcchSpecific-H-RNTI H-RNTI
+}
+
+HS-DSCH-DrxBurstFach ::= ENUMERATED {
+ f1, f2, f4, f8, f16, spare3, spare2, spare1 }
+
+HS-DSCH-DrxCellfach-info ::= SEQUENCE {
+ t-321 T-321,
+ hs-dsch-DrxCycleFach HS-DSCH-DrxCycleFach,
+ hs-dsch-DrxBurstFach HS-DSCH-DrxBurstFach,
+ drxInterruption-hs-dsch BOOLEAN
+}
+
+HS-DSCH-DrxCellfach-info-TDD128 ::= SEQUENCE {
+ t-321 T-321,
+ hs-dsch-DrxCycleFach HS-DSCH-DrxCycleFach,
+ hs-dsch-DrxBurstFach HS-DSCH-DrxBurstFach
+}
+
+HS-DSCH-DrxCellfach-SecondDrx-info ::= SEQUENCE {
+ hs-dsch-SecondDrx-CycleFach HS-DSCH-SecondDrx-CycleFach,
+ drx-level CHOICE {
+ one-level-DRX SEQUENCE {
+ hs-dsch-Second-Rx-BurstFach HS-DSCH-Second-Rx-BurstFach OPTIONAL,
+ t329 T-329 OPTIONAL
+ },
+ two-level-DRX SEQUENCE {
+ t328 T-328 OPTIONAL,
+ hs-dsch-First-Rx-BurstFach HS-DSCH-First-Rx-BurstFach OPTIONAL,
+ hs-dsch-First-Drx-CycleFach HS-DSCH-First-Drx-CycleFach OPTIONAL,
+ hs-dsch-Second-Rx-BurstFach HS-DSCH-Second-Rx-BurstFach OPTIONAL,
+ t329 T-329 OPTIONAL
+ }
+ }
+}
+
+HS-DSCH-DrxCycleFach ::= ENUMERATED {
+ f4, f8, f16, f32 }
+
+HS-DSCH-First-Drx-CycleFach ::= ENUMERATED {
+ f2, f4, f8, f16, f32, f64 }
+
+HS-DSCH-First-Rx-BurstFach ::= ENUMERATED {
+ f0p4, f0p8 }
+
+HS-DSCH-PagingSystemInformation ::= SEQUENCE {
+ dlScramblingCode SecondaryScramblingCode OPTIONAL,
+ pich-ForHSDPASupportedPagingList SEQUENCE (SIZE (1..maxSCCPCH)) OF
+ PICH-ForHSDPASupportedPaging,
+ numberOfPcchTransmissions INTEGER(1..5),
+ transportBlockSizeList SEQUENCE (SIZE (1..2)) OF
+ TransportBlockSizeIndex
+}
+
+HS-DSCH-PagingSystemInformation-TDD128 ::= SEQUENCE {
+ pich-ForHsdschList SEQUENCE (SIZE (1..maxSCCPCH)) OF
+ PICH-ForHSDPASupportedPaging-TDD128,
+ dtch-DCCH-reception-window-size INTEGER (1..16),
+ pcch-InformationList PCCH-InformationList OPTIONAL
+}
+
+HS-DSCH-RxPatternList-TDD128 ::= SEQUENCE (SIZE (1..maxRxPatternForHSDSCH-TDD128)) OF
+ SEQUENCE {
+ repetitionPeriodAndLength RepetitionPeriodAndLengthForSPS
+}
+
+HS-DSCH-Second-Rx-BurstFach ::= ENUMERATED {
+ f1, f2 }
+
+HS-DSCH-SecondDrx-CycleFach ::= ENUMERATED {
+ f4, f8, f16, f32, f64, f128, f256, f512 }
+
+HS-DSCH-TBSizeTable ::= ENUMERATED { octetAligned }
+
+HS-DSCH-TbsList-TDD128 ::= SEQUENCE (SIZE (1..maxTbsForHSDSCH-TDD128)) OF
+ SEQUENCE {
+ hs-dsch-TBSizeIndex INTEGER (1..63)
+}
+
+HS-DSCH-SPS-Information-TDD128 ::= SEQUENCE {
+ hs-dsch-SPS-Operation CHOICE {
+ continue NULL,
+ newOperation HS-DSCH-SPS-NewOperation-TDD128
+ }
+}
+
+HS-DSCH-SPS-NewOperation-TDD128 ::= SEQUENCE {
+ hs-dsch-TbsList HS-DSCH-TbsList-TDD128 OPTIONAL,
+ hs-dsch-RxPatternList HS-DSCH-RxPatternList-TDD128 OPTIONAL,
+ hARQInfoForSPS SEQUENCE {
+ numberOfProcesses INTEGER (1..8),
+ memorySize HARQMemorySize
+ } OPTIONAL,
+ hs-sich-List HS-SICH-List-TDD128,
+ initialSPSInfoForHSDSCH SEQUENCE {
+ timeslotInfo BIT STRING (SIZE (5)),
+ codeResourceInfo HS-ChannelisationCodeSetInfo-LCR,
+ activationTime ActivationTime,
+ sfnNum INTEGER (0..1),
+ initialRxPatternIndex INTEGER (0..maxRxPatternForHSDSCH-TDD128-1),
+ initialTfsIndex INTEGER (0..maxTbsForHSDSCH-TDD128-1),
+ modulation ENUMERATED { modQPSK, mod16QAM },
+ hs-sich-Index INTEGER (0..maxHSSICH-TDD128-1)
+ } OPTIONAL
+}
+
+HS-DPCCHOverheadReduction ::= SEQUENCE {
+ hs-dpcch-ReductionType ENUMERATED { reductionType1, reductionType2} OPTIONAL,
+ feedback-cycle2 Feedback-cycle2,
+ cqi-CycleSwitchTimer CQI-CycleSwitchTimer
+}
+
+HS-PDSCH-Midamble-Configuration-TDD128 ::= SEQUENCE {
+ midambleAllocationMode CHOICE{
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble INTEGER (0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8)
+}
+
+HS-SCCH-Info ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes,
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ nack-ack-power-offset INTEGER (-7..8),
+ hs-SICH-PowerControl-Info HS-SICH-Power-Control-Info-TDD384,
+ hS-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD384
+ },
+ tdd128 SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD128
+ }
+ }
+}
+
+HS-SCCH-Info-r6 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes,
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ nack-ack-power-offset INTEGER (-7..8),
+ hs-SICH-PowerControl-Info HS-SICH-Power-Control-Info-TDD384,
+ dhs-sync DHS-Sync OPTIONAL,
+ bler-target Bler-Target,
+ hS-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD384-r6
+ },
+ tdd128 SEQUENCE {
+ nack-ack-power-offset INTEGER (-7..8),
+ power-level-HSSICH INTEGER (-120..-58),
+ tpc-step-size ENUMERATED { s1, s2, s3 , spare1 },
+ bler-target Bler-Target,
+ hS-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD128-r6
+ }
+ }
+ }
+}
+
+HS-SCCH-Info-r7 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes,
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ nack-ack-power-offset INTEGER (-7..8),
+ hs-SICH-PowerControl-Info HS-SICH-Power-Control-Info-TDD384,
+ dhs-sync DHS-Sync OPTIONAL,
+ bler-target Bler-Target,
+ hS-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD384-r6
+ },
+ tdd768 SEQUENCE {
+ nack-ack-power-offset INTEGER (-7..8),
+ hs-SICH-PowerControl-Info HS-SICH-Power-Control-Info-TDD768,
+ dhs-sync DHS-Sync OPTIONAL,
+ bler-target Bler-Target,
+ hS-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD768
+ },
+ tdd128 SEQUENCE {
+ nack-ack-power-offset INTEGER (-7..8),
+ power-level-HSSICH INTEGER (-120..-58),
+ tpc-step-size ENUMERATED { s1, s2, s3 , spare1 },
+ bler-target Bler-Target,
+ powerControlGAP PowerControlGAP OPTIONAL,
+ pathlossCompensationSwitch BOOLEAN OPTIONAL,
+ hS-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD128-r6
+ }
+ }
+ }
+}
+
+HS-SCCH-Info-r8-ext ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd NULL,
+ tdd CHOICE {
+ tdd384 NULL,
+ tdd768 NULL,
+ tdd128 SEQUENCE {
+ hS-SCCH-tpc-step-size ENUMERATED { s1, s2, s3, spare1 } OPTIONAL
+ }
+ }
+ }
+}
+
+HS-SCCH-Info-r9 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes,
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ nack-ack-power-offset INTEGER (-7..8),
+ hs-SICH-PowerControl-Info HS-SICH-Power-Control-Info-TDD384,
+ dhs-sync DHS-Sync OPTIONAL,
+ bler-target Bler-Target,
+ hS-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD384-r6
+ },
+ tdd768 SEQUENCE {
+ nack-ack-power-offset INTEGER (-7..8),
+ hs-SICH-PowerControl-Info HS-SICH-Power-Control-Info-TDD768,
+ dhs-sync DHS-Sync OPTIONAL,
+ bler-target Bler-Target,
+ hS-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD768
+ },
+ tdd128 SEQUENCE {
+ nack-ack-power-offset INTEGER (-7..8),
+ power-level-HSSICH INTEGER (-120..-58),
+ tpc-step-size ENUMERATED { s1, s2, s3, spare1 },
+ bler-target Bler-Target,
+ hS-SCCH-tpc-step-size ENUMERATED { s1, s2, s3, spare1 } OPTIONAL,
+ powerControlGAP PowerControlGAP OPTIONAL,
+ pathlossCompensationSwitch BOOLEAN OPTIONAL,
+ hS-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD128-r6
+ }
+ }
+ }
+}
+
+HS-SCCH-DRX-InactivityThreshold-TDD128 ::= ENUMERATED {
+ sub-frames-1, sub-frames-2, sub-frames-4,
+ sub-frames-8, sub-frames-16, sub-frames-32,
+ sub-frames-64, sub-frames-128, sub-frames-256,
+ sub-frames-512,
+ spare6, spare5, spare4, spare3, spare2,
+ infinity }
+
+HS-SCCH-DRX-Info-TDD128 ::= SEQUENCE {
+ hS-SCCH-DRX-Cycle ControlChannelDRXCycle-TDD128,
+ hS-SCCH-DRX-InactivityThreshold HS-SCCH-DRX-InactivityThreshold-TDD128 OPTIONAL,
+ hS-SCCH-DRX-Offset INTEGER (0..63)
+}
+
+HS-SCCH-Codes ::= INTEGER (0..127)
+
+HS-SCCH-Less-NewOperation ::= SEQUENCE {
+ hs-pdsch-CodeIndex INTEGER (1..15),
+ hs-scch-LessTFS HS-SCCH-LessTFSList
+}
+
+HS-SCCH-LessInfo-r7 ::= SEQUENCE {
+ hs-scchLessOperation CHOICE {
+ continue NULL,
+ newOperation HS-SCCH-Less-NewOperation
+ }
+}
+
+HS-SCCH-LessTFSList ::= SEQUENCE (SIZE (1..maxHS-SCCHLessTrBlk)) OF
+ SEQUENCE {
+ hs-scch-LessTFSI INTEGER (1..90),
+ hs-scch-LessSecondCodeSupport BOOLEAN
+}
+
+HS-SCCH-SystemInfo ::= SEQUENCE {
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL,
+ hS-SCCHChannelisationCodeInfo SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-Codes
+}
+
+HS-SCCH-SystemInfo-TDD128 ::= SEQUENCE {
+ hs-SCCH-SetConfiguration SEQUENCE (SIZE (1..maxHSSCCHs)) OF
+ HS-SCCH-TDD128-r6,
+ power-level-HSSICH INTEGER (-120..-58),
+ nack-ack-power-offset INTEGER (-7..8),
+ tpc-step-size ENUMERATED { s1, s2, s3 , spare1 },
+ bler-target Bler-Target,
+ power-control-gap INTEGER (1..255) OPTIONAL,
+ pathloss-compensation-switch BOOLEAN OPTIONAL
+}
+
+HS-SCCH-TDD128 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4,
+ firstChannelisationCode HS-ChannelisationCode-LCR,
+ secondChannelisationCode HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble INTEGER(0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8),
+ bler-target Bler-Target,
+ hs-sich-configuration HS-SICH-Configuration-TDD128
+}
+
+HS-SCCH-TDD128-r6 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4,
+ firstChannelisationCode HS-ChannelisationCode-LCR,
+ secondChannelisationCode HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble INTEGER(0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8),
+ hs-sich-configuration HS-SICH-Configuration-TDD128-r6
+}
+
+--for TDD128 Multi-Carrier
+HS-SCCH-TDD128-MultiCarrier ::= SEQUENCE {
+ uarfcn-HS-SCCH-Rx UARFCN,
+ timeslotNumber TimeslotNumber-LCR-r4,
+ firstChannelisationCode HS-ChannelisationCode-LCR,
+ secondChannelisationCode HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble INTEGER(0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8),
+ bler-target Bler-Target,
+ hs-sich-configuration HS-SICH-Configuration-TDD128
+}
+
+HS-SICH-Configuration-TDD128 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4,
+ channelisationCode HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8),
+ nack-ack-power-offset INTEGER (-7..8),
+ power-level-HSSICH INTEGER (-120..-58),
+ tpc-step-size ENUMERATED { s1, s2, s3 , spare1}
+}
+
+HS-SICH-Configuration-TDD128-r6 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4,
+ channelisationCode HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8)
+}
+
+HS-SICH-List-TDD128 ::= SEQUENCE (SIZE (1..maxHSSICH-TDD128)) OF
+ CHOICE {
+ implicit SEQUENCE {
+ hS-SCCH-Index INTEGER (0..maxHSSCCHs-1)
+ },
+ explicit SEQUENCE {
+ hS-SICH-Info HS-SICH-Configuration-TDD128-r6
+ }
+}
+
+--The order of the list corresponds to the order of HS-SCCHs in HS-SCCH info
+HS-SICH-ReferenceSignalInfoList ::= SEQUENCE ( SIZE (1.. maxHSSCCHs)) OF
+ SEQUENCE {
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8),
+ midambleShift INTEGER (0..15),
+ timeSlot INTEGER (1..5)
+}
+
+HS-SCCH-TDD384 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber,
+ channelisationCode DL-TS-ChannelisationCode,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ },
+ midambleconfiguration MidambleConfigurationBurstType1and3,
+ bler-target Bler-Target,
+ hs-sich-configuration HS-SICH-Configuration-TDD384
+}
+
+HS-SCCH-TDD384-r6 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber,
+ channelisationCode DL-TS-ChannelisationCode,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ },
+ midambleconfiguration MidambleConfigurationBurstType1and3,
+ hs-sich-configuration HS-SICH-Configuration-TDD384
+}
+
+HS-SCCH-TDD768 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber,
+ channelisationCode DL-TS-ChannelisationCode-VHCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ },
+ midambleconfiguration MidambleConfigurationBurstType1and3,
+ hs-sich-configuration HS-SICH-Configuration-TDD768
+}
+
+HS-SICH-Configuration-TDD384 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber,
+ channelisationCode DL-TS-ChannelisationCode,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ },
+ midambleconfiguration MidambleConfigurationBurstType1and3
+}
+
+HS-SICH-Configuration-TDD768 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber,
+ channelisationCode DL-TS-ChannelisationCode-VHCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ },
+ midambleconfiguration MidambleConfigurationBurstType1and3
+}
+
+HS-SICH-Power-Control-Info-TDD384 ::= SEQUENCE {
+ -- Actual value ul-target-SIR = IE value * 0.5
+ ul-target-SIR INTEGER (-22..40),
+ -- Note: IE 'ConstantValue' is used (instead of IE 'ConstantValueTDD') to keep
+ -- compatibility with REL-5
+ hs-sich-ConstantValue ConstantValue
+}
+
+HS-SICH-Power-Control-Info-TDD768 ::= SEQUENCE {
+ -- Actual value ul-target-SIR = IE value * 0.5
+ ul-target-SIR INTEGER (-22..40),
+ -- Note: IE 'ConstantValue' is used (instead of IE 'ConstantValueTDD') to keep
+ -- compatibility with REL-5
+ hs-sich-ConstantValue ConstantValue
+}
+
+IndividualTimeslotInfo ::= SEQUENCE {
+ timeslotNumber TimeslotNumber,
+ tfci-Existence BOOLEAN,
+ midambleShiftAndBurstType MidambleShiftAndBurstType
+}
+
+IndividualTimeslotInfo-VHCR ::= SEQUENCE {
+ timeslotNumber TimeslotNumber,
+ tfci-Existence BOOLEAN,
+ midambleShiftAndBurstType-VHCR MidambleShiftAndBurstType-VHCR
+}
+
+IndividualTimeslotInfo-LCR-r4 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4,
+ tfci-Existence BOOLEAN,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-LCR-r4,
+ modulation ENUMERATED { mod-QPSK, mod-8PSK },
+ ss-TPC-Symbols ENUMERATED { zero, one, sixteenOverSF },
+ additionalSS-TPC-Symbols INTEGER(1..15) OPTIONAL
+}
+
+IndividualTimeslotInfo-LCR-r4-ext ::= SEQUENCE {
+-- timeslotNumber and tfci-Existence is taken from IndividualTimeslotInfo.
+-- midambleShiftAndBurstType in IndividualTimeslotInfo shall be ignored.
+ midambleShiftAndBurstType MidambleShiftAndBurstType-LCR-r4,
+ modulation ENUMERATED { mod-QPSK, mod-8PSK },
+ ss-TPC-Symbols ENUMERATED { zero, one, sixteenOverSF }
+}
+
+IndividualTimeslotInfo-r7 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber,
+ tfci-Existence BOOLEAN,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-r7
+}
+
+IndividualTS-Interference ::= SEQUENCE {
+ timeslot TimeslotNumber,
+ ul-TimeslotInterference TDD-UL-Interference
+}
+
+IndividualTS-InterferenceList ::= SEQUENCE (SIZE (1..maxTS)) OF
+ IndividualTS-Interference
+
+ITP ::= ENUMERATED {
+ mode0, mode1 }
+
+NidentifyAbort ::= INTEGER (1..128)
+
+MAC-DTX-Cycle-10ms ::= ENUMERATED {
+ sub-frames-5,
+ sub-frames-10,
+ sub-frames-20,
+ spare1 }
+
+MAC-DTX-Cycle-2ms ::= ENUMERATED {
+ sub-frames-1,
+ sub-frames-4,
+ sub-frames-5,
+ sub-frames-8,
+ sub-frames-10,
+ sub-frames-16,
+ sub-frames-20,
+ spare1 }
+
+MAC-InactivityThreshold ::= ENUMERATED {
+ e-dch-tti-1,
+ e-dch-tti-2,
+ e-dch-tti-4,
+ e-dch-tti-8,
+ e-dch-tti-16,
+ e-dch-tti-32,
+ e-dch-tti-64,
+ e-dch-tti-128,
+ e-dch-tti-256,
+ e-dch-tti-512,
+ e-dch-tti-Infinity,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+MaxAllowedUL-TX-Power ::= INTEGER (-50..33)
+
+MaxAvailablePCPCH-Number ::= INTEGER (1..64)
+MaxPowerIncrease-r4 ::= INTEGER (0..3)
+
+MaxTFCI-Field2Value ::= INTEGER (1..1023)
+
+Measurement-Feedback-Info ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ measurementPowerOffset MeasurementPowerOffset,
+ feedback-cycle Feedback-cycle,
+ cqi-RepetitionFactor CQI-RepetitionFactor,
+ deltaCQI DeltaCQI
+ },
+ tdd NULL
+ }
+}
+
+Measurement-Feedback-Info-r7 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ measurementPowerOffset MeasurementPowerOffset,
+ feedback-cycle Feedback-cycle-r7,
+ cqi-RepetitionFactor CQI-RepetitionFactor,
+ deltaCQI DeltaCQI
+ },
+ tdd NULL
+ }
+}
+
+Measurement-Feedback-Info-r11 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ measurementPowerOffset MeasurementPowerOffset,
+ feedback-cycle Feedback-cycle-r7,
+ cqi-RepetitionFactor CQI-RepetitionFactor,
+ cqi-RepetitionFactor-Assisting CQI-RepetitionFactor OPTIONAL,
+ deltaCQI DeltaCQI-r11
+ },
+ tdd NULL
+ }
+}
+
+Measurement-Feedback-Info-r12 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ measurementPowerOffset MeasurementPowerOffset,
+ feedback-cycle Feedback-cycle-r7,
+ hs-DPCCHOverheadReduction HS-DPCCHOverheadReduction OPTIONAL,
+ cqi-RepetitionFactor CQI-RepetitionFactor,
+ cqi-RepetitionFactor-Assisting CQI-RepetitionFactor OPTIONAL,
+ deltaCQI DeltaCQI-r11
+ },
+ tdd NULL
+ }
+}
+
+Measurement-Feedback-Info-ConcurrentTTI ::= SEQUENCE {
+ feedback-cycle Feedback-cycle-r7 OPTIONAL,
+ cqi-RepetitionFactor CQI-RepetitionFactor OPTIONAL,
+ deltaCQI DeltaCQI OPTIONAL
+}
+
+MidambleConfigurationBurstType1and3 ::= ENUMERATED {ms4, ms8, ms16}
+
+MidambleConfigurationBurstType1 ::= ENUMERATED {ms4, ms8, ms16}
+
+MidambleConfigurationBurstType2 ::= ENUMERATED {ms3, ms6}
+
+MidambleConfigurationBurstType2-VHCR ::= ENUMERATED {ms4, ms8}
+
+MidambleShiftAndBurstType ::= SEQUENCE {
+ burstType CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1and3 MidambleConfigurationBurstType1and3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ }
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2 MidambleConfigurationBurstType2,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftShort
+ }
+ }
+ },
+ type3 SEQUENCE {
+ midambleConfigurationBurstType1and3 MidambleConfigurationBurstType1and3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ }
+ }
+ }
+}
+
+MidambleShiftAndBurstType-VHCR ::= SEQUENCE {
+ burstType CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1and3 MidambleConfigurationBurstType1and3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ }
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2 MidambleConfigurationBurstType2-VHCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftShort-VHCR
+ }
+ }
+ },
+ type3 SEQUENCE {
+ midambleConfigurationBurstType1and3 MidambleConfigurationBurstType1and3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ }
+ },
+ -- mbsfnBurstType4 is only used DL
+ mbsfnBurstType4 NULL
+ }
+}
+
+MidambleShiftAndBurstType-r7 ::= SEQUENCE {
+ burstType CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1and3 MidambleConfigurationBurstType1and3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ }
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2 MidambleConfigurationBurstType2,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftShort
+ }
+ }
+ },
+ type3 SEQUENCE {
+ midambleConfigurationBurstType1and3 MidambleConfigurationBurstType1and3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ }
+ },
+ -- mbsfnBurstType4 is only used DL
+ mbsfnBurstType4 NULL
+ }
+}
+
+MidambleShiftAndBurstType-DL ::= SEQUENCE {
+ burstType CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1and3 MidambleConfigurationBurstType1and3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ }
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2 MidambleConfigurationBurstType2,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftShort
+ }
+ }
+ }
+ }
+}
+
+MidambleShiftAndBurstType-DL-VHCR ::= SEQUENCE {
+ burstType CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1and3 MidambleConfigurationBurstType1and3,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ }
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2 MidambleConfigurationBurstType2-VHCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftShort-VHCR
+ }
+ }
+ }
+ }
+}
+
+MidambleShiftAndBurstType-LCR-r4 ::= SEQUENCE {
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift INTEGER (0..15)
+ }
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8)
+}
+
+MidambleShiftAndBurstType-EDCH ::= SEQUENCE {
+ burstType CHOICE {
+ type1 SEQUENCE {
+ midambleConfigurationBurstType1 MidambleConfigurationBurstType1,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftLong
+ }
+ }
+ },
+ type2 SEQUENCE {
+ midambleConfigurationBurstType2 MidambleConfigurationBurstType2,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ commonMidamble NULL,
+ ueSpecificMidamble SEQUENCE {
+ midambleShift MidambleShiftShort
+ }
+ }
+ }
+ }
+}
+
+MidambleShiftLong ::= INTEGER (0..15)
+
+
+MidambleShiftShort ::= INTEGER (0..5)
+
+MidambleShiftShort-VHCR ::= INTEGER (0..7)
+
+MIMO-N-M-Ratio ::= ENUMERATED {
+ mnm1-2, mnm2-3, mnm3-4, mnm4-5, mnm5-6,
+ mnm6-7, mnm7-8, mnm8-9, mnm9-10, mnm1-1 }
+
+MIMO-Operation ::= ENUMERATED {
+ start, continue }
+
+MIMO-Parameters-r7 ::= SEQUENCE {
+ mimoOperation MIMO-Operation,
+ mimoN-M-Ratio MIMO-N-M-Ratio OPTIONAL,
+ mimoPilotConfiguration MIMO-PilotConfiguration OPTIONAL
+}
+
+MIMO4x4-Parameters ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ mimo4x4N-M-Ratio MIMO-N-M-Ratio OPTIONAL,
+ mimo4x4PilotConfiguration MIMO4x4-PilotConfiguration OPTIONAL,
+ precodingWeightSetRestriction BIT STRING (SIZE (64)) OPTIONAL
+ }
+ }
+}
+
+MIMO-Parameters-v7f0ext ::= MIMO-PilotConfiguration-v7f0ext
+
+MIMO-Parameters-v7g0ext ::= SEQUENCE {
+ precodingWeightSetRestriction ENUMERATED { true } OPTIONAL
+}
+
+MIMO-Parameters-r8 ::= SEQUENCE {
+ mimoOperation MIMO-Operation,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ mimoN-M-Ratio MIMO-N-M-Ratio OPTIONAL,
+ mimoPilotConfiguration MIMO-PilotConfiguration OPTIONAL
+ },
+ tdd CHOICE {
+ tdd128 SEQUENCE {
+ mimoSFModeForHSPDSCHDualStream ENUMERATED {sf1, sf1sf16},
+ hs-sich-ReferenceSignalInfoList HS-SICH-ReferenceSignalInfoList OPTIONAL
+ },
+ tdd384-tdd768 NULL
+ }
+ }
+}
+
+MIMO-Parameters-r9 ::= SEQUENCE {
+ mimoOperation MIMO-Operation,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ mimoN-M-Ratio MIMO-N-M-Ratio OPTIONAL,
+ mimoPilotConfiguration MIMO-PilotConfiguration-r9 OPTIONAL,
+ precodingWeightSetRestriction ENUMERATED { true } OPTIONAL
+ },
+ tdd CHOICE {
+ tdd128 SEQUENCE {
+ mimoSFModeForHSPDSCHDualStream ENUMERATED {sf1, sf1sf16},
+ hs-sich-ReferenceSignalInfoList HS-SICH-ReferenceSignalInfoList OPTIONAL
+ },
+ tdd384-tdd768 NULL
+ }
+ }
+}
+
+MIMO-PilotConfiguration ::= SEQUENCE {
+ secondCPICH-Pattern CHOICE {
+ normalPattern NULL,
+ diversityPattern SEQUENCE {
+ channelisationCode ChannelisationCode256
+ }
+ }
+}
+
+MIMO-PilotConfiguration-v7f0ext ::= SEQUENCE {
+ s-cpich-PowerOffset-Mimo S-CPICH-PowerOffset-MIMO OPTIONAL
+}
+
+MIMO-PilotConfiguration-r9 ::= SEQUENCE {
+ secondCPICH-Pattern CHOICE {
+ normalPattern NULL,
+ diversityPattern SEQUENCE {
+ channelisationCode ChannelisationCode256,
+ s-cpich-PowerOffset-Mimo S-CPICH-PowerOffset-MIMO OPTIONAL
+ }
+ }
+}
+
+MIMO4x4-PilotConfiguration ::= SEQUENCE {
+ antenna2 MIMO-PilotConfiguration-r9 OPTIONAL,
+ antenna3And4 Antenna3And4 OPTIONAL
+}
+
+MinimumSpreadingFactor ::= ENUMERATED {
+ sf4, sf8, sf16, sf32,
+ sf64, sf128, sf256 }
+
+MinReduced-E-DPDCH-GainFactor ::= ENUMERATED {
+ m8-15, m11-15, m15-15, m21-15, m30-15,
+ m42-15, m60-15, m84-15 }
+
+MultiCodeInfo ::= INTEGER (1..16)
+
+-- These IEs are applied for 1.28 Mcps TDD only
+Multi-frequencyInfo-LCR-r7 ::= SEQUENCE {
+ -- If the secondary frequency is present, it indicates working frequency
+ secondFrequencyInfo FrequencyInfoTDD OPTIONAL,
+ fPachFrequencyInfo FrequencyInfoTDD OPTIONAL,
+ --If a cell UpPCH uses other uplink service timeslot, it indicates the UpPCH position
+ upPCHpositionInfo UpPCHposition-LCR OPTIONAL
+}
+
+MultiflowCellType ::= ENUMERATED { intra-nodeB, inter-nodeB }
+
+MultiflowConfigurationInfo ::= SEQUENCE {
+ cellType MultiflowCellType,
+ timeReferenceCell ENUMERATED { true } OPTIONAL
+}
+
+MU-MIMO-Info-TDD128 ::= CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ mu-MIMO-Operation MU-MIMO-Operation,
+ standaloneMidambleInfo StandaloneMidambleInfo-TDD128 OPTIONAL
+ }
+}
+
+MU-MIMO-Operation ::= ENUMERATED {
+ uL, dL, uLandDL, spare }
+
+N-EOT ::= INTEGER (0..7)
+
+N-GAP ::= ENUMERATED {
+ f2, f4, f8 }
+
+N-PCH ::= INTEGER (1..8)
+
+N-StartMessage ::= INTEGER (1..8)
+
+NB01 ::= INTEGER (0..50)
+
+NewTiming ::= SEQUENCE {
+ enablingDelay EnablingDelay,
+ ue-dtx-drx-Offset UE-DTX-DRX-Offset
+}
+
+NF-Max ::= INTEGER (1..64)
+
+NodeB-Trigger-HS-DPCCH-Transmission ::= SEQUENCE {
+ hs-dpcch-TransmitContinuationOffset ENUMERATED {
+ ms10, ms20, ms30, ms40, ms80, ms160,
+ ms320, ms800} OPTIONAL
+}
+
+Non-ScheduledTransGrantInfoTDD ::= CHOICE {
+ tdd384-768 SEQUENCE {
+ timeslotResourceRelatedInfo BIT STRING (SIZE (13)),
+ powerResourceRelatedInfo INTEGER (1..32),
+ activationTime ActivationTime,
+ repetitionPeriodAndLength RepetitionPeriodAndLength OPTIONAL,
+ codeResourceInfo UL-TS-ChannelisationCode
+ },
+ tdd128 SEQUENCE {
+ n-E-UCCH INTEGER (1..8) OPTIONAL,
+ n-E-HICH INTEGER (4..15) OPTIONAL,
+ timeslotResourceRelatedInfo BIT STRING (SIZE (5)),
+ powerResourceRelatedInfo INTEGER (1..32),
+ activationTime ActivationTime,
+ sfnNum INTEGER (0..1),
+ repetitionPeriodAndLength RepetitionPeriodAndLength OPTIONAL,
+ codeResourceInfo UL-TS-ChannelisationCode,
+ e-HICH-Info SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4,
+ channelisation-Code HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble INTEGER (0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8),
+ signatureSequenceGroupIndex INTEGER (0..19)
+ }
+ }
+}
+
+Non-ScheduledTransGrantInfoTDD-ext ::= CHOICE {
+ tdd384-768 NULL,
+ tdd128 SEQUENCE {
+ t-SI-nst ENUMERATED {
+ everyEDCHTTI, ms20, ms40, ms60, ms80, ms160,
+ ms200 } OPTIONAL
+ }
+}
+
+Non-ScheduledTransGrantInfoTDD-r9 ::= CHOICE {
+ tdd384-768 SEQUENCE {
+ timeslotResourceRelatedInfo BIT STRING (SIZE (13)),
+ powerResourceRelatedInfo INTEGER (1..32),
+ activationTime ActivationTime,
+ repetitionPeriodAndLength RepetitionPeriodAndLength OPTIONAL,
+ codeResourceInfo UL-TS-ChannelisationCode
+ },
+ tdd128 SEQUENCE {
+ n-E-UCCH INTEGER (1..8) OPTIONAL,
+ n-E-HICH INTEGER (4..15) OPTIONAL,
+ timeslotResourceRelatedInfo BIT STRING (SIZE (5)),
+ powerResourceRelatedInfo INTEGER (1..32),
+ activationTime ActivationTime,
+ sfnNum INTEGER (0..1),
+ repetitionPeriodAndLength RepetitionPeriodAndLength OPTIONAL,
+ codeResourceInfo UL-TS-ChannelisationCode,
+ e-HICH-Info SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4,
+ channelisation-Code HS-ChannelisationCode-LCR,
+ midambleAllocationMode CHOICE {
+ defaultMidamble NULL,
+ ueSpecificMidamble INTEGER (0..15)
+ },
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8),
+ signatureSequenceGroupIndex INTEGER (0..19)
+ },
+ t-SI-nst ENUMERATED {
+ everyEDCHTTI, ms20, ms40, ms60, ms80, ms160,
+ ms200 } OPTIONAL
+ }
+}
+
+Non-rectResAllocInd-TDD128 ::= ENUMERATED { true }
+
+Non-rectResSpecTSset-TDD128 ::= BIT STRING (SIZE (7))
+
+NumberOfDPDCH ::= INTEGER (1..maxDPDCH-UL)
+
+NumberOfFBI-Bits ::= INTEGER (1..2)
+
+NumberOfTPC-Bits ::= ENUMERATED { tpc4 }
+
+OpenLoopPowerControl-TDD ::= SEQUENCE {
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power,
+ -- alpha, prach-ConstantValue, dpch-ConstantValue and pusch-ConstantValue
+ -- shall be ignored in 1.28Mcps TDD mode.
+ alpha Alpha OPTIONAL,
+ prach-ConstantValue ConstantValueTdd,
+ dpch-ConstantValue ConstantValueTdd,
+ pusch-ConstantValue ConstantValueTdd OPTIONAL
+}
+
+OpenLoopPowerControl-IPDL-TDD-r4 ::= SEQUENCE {
+ ipdl-alpha Alpha,
+ maxPowerIncrease MaxPowerIncrease-r4
+}
+
+OtherStateConfig ::= SEQUENCE {
+ otherStateConfigList OtherStateConfigList OPTIONAL,
+ otherStateRemoveList OtherStateRemoveList OPTIONAL
+}
+
+OtherStateConfigList ::= SEQUENCE (SIZE(1..maxOtherStateConfig)) OF
+ OtherStateConfigData
+
+OtherStateConfigData ::= SEQUENCE {
+ otherStateConfigIdentity OtherStateConfigIdentity,
+ source-rrc-StateIndicator RRC-StateIndicator,
+ target-rrc-StateIndicator RRC-StateIndicator,
+ ura-Identity URA-Identity OPTIONAL,
+ rntis CHOICE {
+ clear NULL,
+ continue NULL,
+ new SEQUENCE {
+ new-C-RNTI C-RNTI,
+ new-H-RNTI H-RNTI,
+ newPrimary-E-RNTI E-RNTI
+ }
+ },
+ configuration CHOICE {
+ id INTEGER (0..maxRetrievConfig-1),
+ full RetrievableConfigData
+ } OPTIONAL
+}
+
+OtherStateRemoveList ::= SEQUENCE (SIZE (1..maxOtherStateConfig)) OF
+ OtherStateConfigIdentity
+
+OtherStateConfigIdentity ::= INTEGER (0..maxOtherStateConfig-1)
+
+PagingIndicatorLength ::= ENUMERATED {
+ pi4, pi8, pi16 }
+
+PC-Preamble ::= INTEGER (0..7)
+
+PCCH-InformationList ::= SEQUENCE {
+ paging-associatedHspdschInfo SEQUENCE (SIZE (1.. maxSCCPCH)) OF
+ SEQUENCE {
+ hs-pdsch-MidambleConfiguration HS-PDSCH-Midamble-Configuration-TDD128,
+ timeslotResourceRelatedInfo BIT STRING (SIZE (6)),
+ codeResourceInformation CodeResourceInformation-TDD128
+ },
+ paging-sub-Channel-size INTEGER (1..3),
+ transportBlockSizeList SEQUENCE (SIZE (1..2)) OF TransportBlockSizeIndex
+}
+
+PCP-Length ::= ENUMERATED {
+ as0, as8 }
+
+PCPCH-ChannelInfo ::= SEQUENCE {
+ pcpch-UL-ScramblingCode INTEGER (0..79),
+ pcpch-DL-ChannelisationCode INTEGER (0..511),
+ pcpch-DL-ScramblingCode SecondaryScramblingCode OPTIONAL,
+ pcp-Length PCP-Length,
+ ucsm-Info UCSM-Info OPTIONAL
+}
+
+PCPCH-ChannelInfoList ::= SEQUENCE (SIZE (1..maxPCPCHs)) OF
+ PCPCH-ChannelInfo
+
+PCPICH-UsageForChannelEst ::= ENUMERATED {
+ mayBeUsed,
+ shallNotBeUsed }
+
+PDSCH-CapacityAllocationInfo ::= SEQUENCE {
+ -- pdsch-PowerControlInfo is conditional on new-configuration branch below, if this
+ -- selected the IE is OPTIONAL otherwise it should not be sent
+ pdsch-PowerControlInfo PDSCH-PowerControlInfo OPTIONAL,
+ pdsch-AllocationPeriodInfo AllocationPeriodInfo,
+ configuration CHOICE {
+ old-Configuration SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ pdsch-Identity PDSCH-Identity
+ },
+ new-Configuration SEQUENCE {
+ pdsch-Info PDSCH-Info,
+ pdsch-Identity PDSCH-Identity OPTIONAL
+ }
+ }
+}
+
+PDSCH-CapacityAllocationInfo-r4 ::= SEQUENCE {
+ pdsch-AllocationPeriodInfo AllocationPeriodInfo,
+ configuration CHOICE {
+ old-Configuration SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ pdsch-Identity PDSCH-Identity
+ },
+ new-Configuration SEQUENCE {
+ pdsch-Info PDSCH-Info-r4,
+ pdsch-Identity PDSCH-Identity OPTIONAL,
+ pdsch-PowerControlInfo PDSCH-PowerControlInfo OPTIONAL
+ }
+ }
+}
+
+PDSCH-CapacityAllocationInfo-r7 ::= SEQUENCE {
+ pdsch-AllocationPeriodInfo AllocationPeriodInfo,
+ configuration CHOICE {
+ old-Configuration SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ pdsch-Identity PDSCH-Identity
+ },
+ new-Configuration SEQUENCE {
+ pdsch-Info PDSCH-Info-r7,
+ pdsch-Identity PDSCH-Identity OPTIONAL,
+ pdsch-PowerControlInfo PDSCH-PowerControlInfo OPTIONAL
+ }
+ }
+}
+
+PDSCH-CodeInfo ::= SEQUENCE {
+ spreadingFactor SF-PDSCH,
+ codeNumber CodeNumberDSCH,
+ multiCodeInfo MultiCodeInfo
+}
+
+PDSCH-CodeInfoList ::= SEQUENCE (SIZE (1..maxTFCI-2-Combs)) OF
+ PDSCH-CodeInfo
+
+PDSCH-CodeMap ::= SEQUENCE {
+ spreadingFactor SF-PDSCH,
+ multiCodeInfo MultiCodeInfo,
+ codeNumberStart CodeNumberDSCH,
+ codeNumberStop CodeNumberDSCH
+}
+
+PDSCH-CodeMapList ::= SEQUENCE (SIZE (1..maxPDSCH-TFCIgroups)) OF
+ PDSCH-CodeMap
+
+PDSCH-CodeMapping ::= SEQUENCE {
+ dl-ScramblingCode SecondaryScramblingCode OPTIONAL,
+ signallingMethod CHOICE {
+ codeRange CodeRange,
+ tfci-Range DSCH-MappingList,
+ explicit-config PDSCH-CodeInfoList,
+ replace ReplacedPDSCH-CodeInfoList
+ }
+}
+
+PDSCH-Identity ::= INTEGER (1..hiPDSCHidentities)
+
+PDSCH-Info ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ pdsch-TimeslotsCodes DownlinkTimeslotsCodes OPTIONAL
+}
+
+PDSCH-Info-r4 ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ pdsch-TimeslotsCodes DownlinkTimeslotsCodes OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ pdsch-TimeslotsCodes DownlinkTimeslotsCodes-LCR-r4 OPTIONAL
+ }
+ }
+}
+
+PDSCH-Info-r7 ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ pdsch-TimeslotsCodes DownlinkTimeslotsCodes OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ pdsch-TimeslotsCodes DownlinkTimeslotsCodes-VHCR OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ pdsch-TimeslotsCodes DownlinkTimeslotsCodes-LCR-r4 OPTIONAL
+ }
+ }
+}
+
+PDSCH-Info-LCR-r4 ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ pdsch-TimeslotsCodes DownlinkTimeslotsCodes-LCR-r4 OPTIONAL
+}
+
+PDSCH-PowerControlInfo ::= SEQUENCE {
+ tpc-StepSizeTDD TPC-StepSizeTDD OPTIONAL,
+ ul-CCTrChTPCList UL-CCTrChTPCList OPTIONAL
+}
+
+PDSCH-SHO-DCH-Info ::= SEQUENCE {
+ dsch-RadioLinkIdentifier DSCH-RadioLinkIdentifier,
+ rl-IdentifierList RL-IdentifierList OPTIONAL
+}
+
+PDSCH-SysInfo ::= SEQUENCE {
+ pdsch-Identity PDSCH-Identity,
+ pdsch-Info PDSCH-Info,
+ dsch-TFS TransportFormatSet OPTIONAL,
+ dsch-TFCS TFCS OPTIONAL
+}
+
+PDSCH-SysInfo-VHCR-r7 ::= SEQUENCE {
+ pdsch-Identity PDSCH-Identity,
+ pdsch-Info PDSCH-Info-r7,
+ dsch-TransportChannelsInfo DSCH-TransportChannelsInfo OPTIONAL,
+ dsch-TFCS TFCS OPTIONAL
+}
+
+PDSCH-SysInfo-HCR-r5 ::= SEQUENCE {
+ pdsch-Identity PDSCH-Identity,
+ pdsch-Info PDSCH-Info,
+ dsch-TransportChannelsInfo DSCH-TransportChannelsInfo OPTIONAL,
+ dsch-TFCS TFCS OPTIONAL
+}
+
+PDSCH-SysInfo-LCR-r4 ::= SEQUENCE {
+ pdsch-Identity PDSCH-Identity,
+ pdsch-Info PDSCH-Info-LCR-r4,
+ dsch-TFS TransportFormatSet OPTIONAL,
+ dsch-TFCS TFCS OPTIONAL
+}
+
+PDSCH-SysInfoList ::= SEQUENCE (SIZE (1..maxPDSCH)) OF
+ PDSCH-SysInfo
+
+PDSCH-SysInfoList-VHCR-r7 ::= SEQUENCE (SIZE (1..maxPDSCH)) OF PDSCH-SysInfo-VHCR-r7
+
+PDSCH-SysInfoList-HCR-r5 ::= SEQUENCE (SIZE (1..maxPDSCH)) OF PDSCH-SysInfo-HCR-r5
+
+PDSCH-SysInfoList-LCR-r4 ::= SEQUENCE (SIZE (1..maxPDSCH)) OF
+ PDSCH-SysInfo-LCR-r4
+
+PDSCH-SysInfoList-SFN ::= SEQUENCE (SIZE (1..maxPDSCH)) OF
+ SEQUENCE {
+ pdsch-SysInfo PDSCH-SysInfo,
+ sfn-TimeInfo SFN-TimeInfo OPTIONAL
+}
+
+PDSCH-SysInfoList-SFN-HCR-r5 ::= SEQUENCE (SIZE (1..maxPDSCH)) OF
+ SEQUENCE {
+ pdsch-SysInfo PDSCH-SysInfo-HCR-r5,
+ sfn-TimeInfo SFN-TimeInfo OPTIONAL
+}
+
+PDSCH-SysInfoList-SFN-LCR-r4 ::= SEQUENCE (SIZE (1..maxPDSCH)) OF
+ SEQUENCE {
+ pdsch-SysInfo PDSCH-SysInfo-LCR-r4,
+ sfn-TimeInfo SFN-TimeInfo OPTIONAL
+}
+
+PersistenceScalingFactor ::= ENUMERATED {
+ psf0-9, psf0-8, psf0-7, psf0-6,
+ psf0-5, psf0-4, psf0-3, psf0-2 }
+
+PersistenceScalingFactorList ::= SEQUENCE (SIZE (1..maxASCpersist)) OF
+ PersistenceScalingFactor
+
+PI-CountPerFrame ::= ENUMERATED {
+ e18, e36, e72, e144 }
+
+PichChannelisationCodeList-LCR-r4 ::= SEQUENCE (SIZE (1..2)) OF
+ DL-TS-ChannelisationCode
+
+PICH-ForHSDPASupportedPaging ::= SEQUENCE {
+ hsdpa-AssociatedPichInfo PICH-Info,
+ hs-pdschChannelisationCode INTEGER(1..15)
+}
+
+PICH-ForHSDPASupportedPaging-TDD128 ::= CHOICE {
+ implicit SEQUENCE {
+ occurrenceSequenceNumberOfPICH OccurrenceSequenceNumberOfPICH OPTIONAL
+ },
+ explicit PICH-Info-LCR-r4
+}
+
+PICH-Info ::= CHOICE {
+ fdd SEQUENCE {
+ channelisationCode256 ChannelisationCode256,
+ pi-CountPerFrame PI-CountPerFrame,
+ sttd-Indicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ channelisationCode TDD-PICH-CCode OPTIONAL,
+ timeslot TimeslotNumber OPTIONAL,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ repetitionPeriodLengthOffset RepPerLengthOffset-PICH OPTIONAL,
+ pagingIndicatorLength PagingIndicatorLength DEFAULT pi4,
+ n-GAP N-GAP DEFAULT f4,
+ n-PCH N-PCH DEFAULT 2
+ }
+}
+
+PICH-Info-HCR-VHCR-r7 ::= SEQUENCE {
+ channelisationCode CHOICE {
+ tdd384 TDD-PICH-CCode,
+ tdd768 TDD768-PICH-CCode
+ } OPTIONAL,
+ timeslot TimeslotNumber OPTIONAL,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ repetitionPeriodLengthOffset RepPerLengthOffset-PICH OPTIONAL,
+ pagingIndicatorLength PagingIndicatorLength DEFAULT pi4,
+ n-GAP N-GAP DEFAULT f4,
+ n-PCH N-PCH DEFAULT 2
+}
+
+PICH-Info-LCR-r4 ::= SEQUENCE {
+ timeslot TimeslotNumber-LCR-r4 OPTIONAL,
+ pichChannelisationCodeList-LCR-r4 PichChannelisationCodeList-LCR-r4,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-LCR-r4,
+ repetitionPeriodLengthOffset RepPerLengthOffset-PICH OPTIONAL,
+ pagingIndicatorLength PagingIndicatorLength DEFAULT pi4,
+ n-GAP N-GAP DEFAULT f4,
+ n-PCH N-PCH DEFAULT 2
+}
+
+PICH-PowerOffset ::= INTEGER (-10..5)
+
+PilotBits128 ::= ENUMERATED {
+ pb4, pb8 }
+
+PilotBits128-r12 ::= ENUMERATED {
+ pb0, pb4, pb8 }
+
+PilotBits256 ::= ENUMERATED {
+ pb2, pb4, pb8 }
+
+PilotBits256-r12 ::= ENUMERATED {
+ pb0, pb2, pb4, pb8 }
+
+ -- Actual measurement power offset value = IE value * 0.5
+MeasurementPowerOffset ::= INTEGER (-12..26)
+
+PLCCH-Info ::= SEQUENCE {
+ plcchSequenceNumber INTEGER(1..14),
+ timeslotNumber TimeslotNumber-LCR-r4,
+ channelisationCode DL-TS-ChannelisationCode,
+ tpcCommandTargetRate TPC-CommandTargetRate
+}
+
+PositionFixedOrFlexible ::= ENUMERATED {
+ fixed,
+ flexible }
+
+PowerControlAlgorithm ::= CHOICE {
+ algorithm1 TPC-StepSizeFDD,
+ algorithm2 NULL
+}
+
+PowerControlAlgorithm3-Config ::= SEQUENCE {
+ tpcSlotPosition INTEGER (0..4) OPTIONAL,
+ tpcStepSize TPC-StepSizeFDD OPTIONAL,
+ decimationFactor ENUMERATED {slots3, slots5} OPTIONAL
+}
+
+PowerControlGAP ::= INTEGER (0..255)
+
+PowerOffsetPilot-pdpdch ::= INTEGER (0..24)
+
+PowerOffsetPO-SRB ::= INTEGER (0..24)
+
+PowerOffsetTPC-pdpdch ::= INTEGER (0..24)
+
+PowerRampStep ::= INTEGER (1..8)
+
+PRACH-ChanCodes-LCR-r4 ::= SEQUENCE (SIZE (1..4)) OF
+ TDD-PRACH-CCode-LCR-r4
+
+PRACH-ChanCodes-List-LCR ::= SEQUENCE (SIZE (1..2)) OF
+ TDD-PRACH-CCode-LCR-r4
+
+PRACH-Definition-LCR-r4 ::= SEQUENCE {
+ timeslot TimeslotNumber-PRACH-LCR-r4,
+ prach-ChanCodes-LCR PRACH-ChanCodes-LCR-r4,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-LCR-r4,
+ fpach-Info FPACH-Info-r4
+}
+
+PRACH-Information-LCR ::= SEQUENCE {
+ timeslot TimeslotNumber-PRACH-LCR-r4,
+ prach-ChanCodes-list-LCR PRACH-ChanCodes-List-LCR,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-LCR-r4,
+ fpach-Info FPACH-Info-r4 OPTIONAL
+}
+
+PRACH-Information-LCR-List ::= SEQUENCE (SIZE (1..maxPRACH-FPACH)) OF
+ PRACH-Information-LCR
+
+PRACH-Midamble ::= ENUMERATED {
+ direct,
+ direct-Inverted }
+
+PRACH-Partitioning ::= CHOICE {
+ fdd SEQUENCE (SIZE (1..maxASC)) OF
+ -- TABULAR: If only "NumASC+1" (with, NumASC+1 < maxASC) ASCSetting-FDD are listed,
+ -- the remaining (NumASC+2 through maxASC) ASCs are unspecified.
+ ASCSetting-FDD,
+ tdd SEQUENCE (SIZE (1..maxASC)) OF
+ -- TABULAR: If only "NumASC+1" (with, NumASC+1 < maxASC) ASCSetting-TDD are listed,
+ -- the remaining (NumASC+2 through maxASC) ASCs are unspecified.
+ ASCSetting-TDD
+}
+
+PRACH-Partitioning-r7 ::= CHOICE {
+ fdd SEQUENCE (SIZE (1..maxASC)) OF
+ -- TABULAR: If only "NumASC+1" (with, NumASC+1 < maxASC) ASCSetting-FDD are listed,
+ -- the remaining (NumASC+2 through maxASC) ASCs are unspecified.
+ ASCSetting-FDD,
+ tdd SEQUENCE (SIZE (1..maxASC)) OF
+ -- TABULAR: If only "NumASC+1" (with, NumASC+1 < maxASC) ASCSetting-TDD are listed,
+ -- the remaining (NumASC+2 through maxASC) ASCs are unspecified.
+ ASCSetting-TDD-r7
+}
+
+PRACH-Partitioning-LCR-r4 ::= SEQUENCE (SIZE (1..maxASC)) OF
+ -- TABULAR: If only "NumASC+1" (with, NumASC+1 < maxASC) ASCSetting-TDD-LCR-r4 are listed,
+ -- the remaining (NumASC+2 through maxASC) ASCs are unspecified.
+ ASCSetting-TDD-LCR-r4
+
+PRACH-PowerOffset ::= SEQUENCE {
+ powerRampStep PowerRampStep,
+ preambleRetransMax PreambleRetransMax
+}
+
+PRACH-PreambleForEnhancedUplink ::= SEQUENCE {
+ availableSignatures AvailableSignatures OPTIONAL,
+ e-ai-Indication BOOLEAN,
+ preambleScramblingCodeWordNumber PreambleScramblingCodeWordNumber OPTIONAL,
+ availableSubChannelNumbers AvailableSubChannelNumbers OPTIONAL,
+ prach-Partitioning PRACH-Partitioning-r7 OPTIONAL,
+ persistenceScalingFactorList PersistenceScalingFactorList OPTIONAL,
+ ac-To-ASC-MappingTable AC-To-ASC-MappingTable OPTIONAL,
+ primaryCPICH-TX-Power PrimaryCPICH-TX-Power OPTIONAL,
+ constantValue ConstantValue OPTIONAL,
+ prach-PowerOffset PRACH-PowerOffset OPTIONAL,
+ rach-TransmissionParameters RACH-TransmissionParameters OPTIONAL,
+ aich-Info AICH-Info OPTIONAL,
+ powerOffsetPp-e INTEGER (-5..10)
+}
+PRACH-PreambleForEnhancedUplinkExt ::= SEQUENCE {
+ availableSignatures AvailableSignatures,
+ preambleScramblingCodeWordNumber PreambleScramblingCodeWordNumber,
+ aich-Info AICH-Info-Compressed OPTIONAL
+}
+
+PRACH-PreambleForEnhancedUplinkExtList ::= SEQUENCE (SIZE (1..maxPRACH-EUL)) OF
+ PRACH-PreambleForEnhancedUplinkExtWithWeight
+
+
+PRACH-PreambleForEnhancedUplinkExtWithWeight ::= SEQUENCE {
+ prach-PreambleForEnhancedUplinkExt PRACH-PreambleForEnhancedUplinkExt,
+ -- Actual value weight = IE value * 0.2
+ weight INTEGER (1..5) OPTIONAL
+}
+
+PRACH-RACH-Info ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ availableSignatures AvailableSignatures,
+ availableSF SF-PRACH,
+ preambleScramblingCodeWordNumber PreambleScramblingCodeWordNumber,
+ puncturingLimit PuncturingLimit,
+ availableSubChannelNumbers AvailableSubChannelNumbers
+ },
+ tdd SEQUENCE {
+ timeslot TimeslotNumber,
+ channelisationCodeList TDD-PRACH-CCodeList,
+ prach-Midamble PRACH-Midamble
+ }
+ }
+}
+
+PRACH-RACH-Info-VHCR-r7 ::= SEQUENCE {
+ timeslot TimeslotNumber,
+ channelisationCodeList TDD768-PRACH-CCodeList,
+ prach-Midamble PRACH-Midamble
+}
+
+PRACH-RACH-Info-LCR-v770ext ::= SEQUENCE {
+ e-RUCCH-Sync-UL-Codes-Bitmap Sync-UL-Codes-Bitmap
+}
+
+PRACH-RACH-Info-LCR-r4 ::= SEQUENCE {
+ sync-UL-Info SYNC-UL-Info-r4,
+ prach-DefinitionList SEQUENCE (SIZE (1..maxPRACH-FPACH)) OF
+ PRACH-Definition-LCR-r4
+}
+
+PRACH-SystemInformation ::= SEQUENCE {
+ prach-RACH-Info PRACH-RACH-Info,
+ transportChannelIdentity TransportChannelIdentity,
+ rach-TransportFormatSet TransportFormatSet OPTIONAL,
+ rach-TFCS TFCS OPTIONAL,
+ prach-Partitioning PRACH-Partitioning OPTIONAL,
+ persistenceScalingFactorList PersistenceScalingFactorList OPTIONAL,
+ ac-To-ASC-MappingTable AC-To-ASC-MappingTable OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-TX-Power PrimaryCPICH-TX-Power OPTIONAL,
+ constantValue ConstantValue OPTIONAL,
+ prach-PowerOffset PRACH-PowerOffset OPTIONAL,
+ rach-TransmissionParameters RACH-TransmissionParameters OPTIONAL,
+ aich-Info AICH-Info OPTIONAL
+ },
+ tdd NULL
+ }
+}
+
+PRACH-SystemInformation-VHCR-r7 ::= SEQUENCE {
+ prach-RACH-Info PRACH-RACH-Info-VHCR-r7,
+ prach-Partitioning PRACH-Partitioning-r7 OPTIONAL
+}
+
+PRACH-SystemInformation-LCR-r4 ::= SEQUENCE {
+ prach-RACH-Info-LCR PRACH-RACH-Info-LCR-r4,
+ rach-TransportFormatSet-LCR TransportFormatSet-LCR OPTIONAL,
+ prach-Partitioning-LCR PRACH-Partitioning-LCR-r4 OPTIONAL
+}
+
+PRACH-SystemInformation-LCR-v770ext ::= SEQUENCE {
+ prach-RACH-Info-LCR PRACH-RACH-Info-LCR-v770ext
+}
+
+PRACH-SystemInformationList ::= SEQUENCE (SIZE (1..maxPRACH)) OF
+ PRACH-SystemInformation
+
+PRACH-SystemInformationList-VHCR-r7 ::= SEQUENCE (SIZE (1..maxPRACH)) OF
+ PRACH-SystemInformation-VHCR-r7
+
+PRACH-SystemInformationList-LCR-r4 ::= SEQUENCE (SIZE (1..maxPRACH)) OF
+ PRACH-SystemInformation-LCR-r4
+
+PRACH-SystemInformationList-LCR-v770ext ::= SEQUENCE (SIZE (1..maxPRACH)) OF
+ PRACH-SystemInformation-LCR-v770ext
+
+PreambleRetransMax ::= INTEGER (1..64)
+
+PreambleScramblingCodeWordNumber ::= INTEGER (0..15)
+
+PreDefPhyChConfiguration ::= SEQUENCE {
+ ul-DPCH-InfoPredef UL-DPCH-InfoPredef,
+ dl-CommonInformationPredef DL-CommonInformationPredef OPTIONAL
+}
+
+PreDefPhyChConfiguration-v770ext ::= SEQUENCE {
+ ul-DPCH-InfoPredef UL-DPCH-InfoPredef-v770ext
+}
+
+PrimaryCCPCH-Info ::= CHOICE {
+ fdd SEQUENCE {
+ tx-DiversityIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ -- syncCase should be ignored for 1.28Mcps TDD mode
+ syncCase CHOICE {
+ syncCase1 SEQUENCE {
+ timeslot TimeslotNumber
+ },
+ syncCase2 SEQUENCE {
+ timeslotSync2 TimeslotSync2
+ }
+ } OPTIONAL,
+ cellParametersID CellParametersID OPTIONAL,
+ sctd-Indicator BOOLEAN
+ }
+}
+
+PrimaryCCPCH-Info-r4 ::= CHOICE {
+ fdd SEQUENCE {
+ tx-DiversityIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ tdd384-tdd768 SEQUENCE {
+ syncCase CHOICE {
+ syncCase1 SEQUENCE {
+ timeslot TimeslotNumber
+ },
+ syncCase2 SEQUENCE {
+ timeslotSync2 TimeslotSync2
+ }
+ } OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ tstd-Indicator BOOLEAN
+ }
+ },
+ cellParametersID CellParametersID OPTIONAL,
+ sctd-Indicator BOOLEAN
+ }
+}
+
+PrimaryCCPCH-Info-LCR-r4 ::= SEQUENCE {
+ tstd-Indicator BOOLEAN,
+ cellParametersID CellParametersID OPTIONAL,
+ sctd-Indicator BOOLEAN
+}
+
+-- For 1.28Mcps TDD, the following IE includes elements for the PCCPCH Info additional to those
+-- in PrimaryCCPCH-Info
+PrimaryCCPCH-Info-LCR-r4-ext ::= SEQUENCE {
+ tstd-Indicator BOOLEAN
+}
+
+PrimaryCCPCH-InfoPost ::= SEQUENCE {
+ syncCase CHOICE {
+ syncCase1 SEQUENCE {
+ timeslot TimeslotNumber
+ },
+ syncCase2 SEQUENCE {
+ timeslotSync2 TimeslotSync2
+ }
+ },
+ cellParametersID CellParametersID,
+ sctd-Indicator BOOLEAN
+}
+
+PrimaryCCPCH-InfoPostTDD-LCR-r4 ::= SEQUENCE {
+ tstd-Indicator BOOLEAN,
+ cellParametersID CellParametersID,
+ sctd-Indicator BOOLEAN
+}
+
+PrimaryCCPCH-TX-Power ::= INTEGER (6..43)
+
+PrimaryCPICH-Info ::= SEQUENCE {
+ primaryScramblingCode PrimaryScramblingCode
+}
+
+PrimaryCPICH-TX-Power ::= INTEGER (-10..50)
+
+PrimaryScramblingCode ::= INTEGER (0..511)
+
+PuncturingLimit ::= ENUMERATED {
+ pl0-40, pl0-44, pl0-48, pl0-52, pl0-56,
+ pl0-60, pl0-64, pl0-68, pl0-72, pl0-76,
+ pl0-80, pl0-84, pl0-88, pl0-92, pl0-96, pl1 }
+
+PUSCH-CapacityAllocationInfo ::= SEQUENCE {
+ pusch-Allocation CHOICE {
+ pusch-AllocationPending NULL,
+ pusch-AllocationAssignment SEQUENCE {
+ pusch-AllocationPeriodInfo AllocationPeriodInfo,
+ pusch-PowerControlInfo UL-TargetSIR OPTIONAL,
+ configuration CHOICE {
+ old-Configuration SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ pusch-Identity PUSCH-Identity
+ },
+ new-Configuration SEQUENCE {
+ pusch-Info PUSCH-Info,
+ pusch-Identity PUSCH-Identity OPTIONAL
+ }
+ }
+ }
+ }
+}
+
+PUSCH-CapacityAllocationInfo-r4 ::= SEQUENCE {
+ pusch-Allocation CHOICE {
+ pusch-AllocationPending NULL,
+ pusch-AllocationAssignment SEQUENCE {
+ pusch-AllocationPeriodInfo AllocationPeriodInfo,
+ pusch-PowerControlInfo PUSCH-PowerControlInfo-r4 OPTIONAL,
+ configuration CHOICE {
+ old-Configuration SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ pusch-Identity PUSCH-Identity
+ },
+ new-Configuration SEQUENCE {
+ pusch-Info PUSCH-Info-r4,
+ pusch-Identity PUSCH-Identity OPTIONAL
+ }
+ }
+ }
+ }
+}
+
+PUSCH-CapacityAllocationInfo-r7 ::= SEQUENCE {
+ pusch-Allocation CHOICE {
+ pusch-AllocationPending NULL,
+ pusch-AllocationAssignment SEQUENCE {
+ pusch-AllocationPeriodInfo AllocationPeriodInfo,
+ pusch-PowerControlInfo PUSCH-PowerControlInfo-r7 OPTIONAL,
+ configuration CHOICE {
+ old-Configuration SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ pusch-Identity PUSCH-Identity
+ },
+ new-Configuration SEQUENCE {
+ pusch-Info PUSCH-Info-VHCR,
+ pusch-Identity PUSCH-Identity OPTIONAL
+ }
+ }
+ }
+ }
+}
+
+PUSCH-Identity ::= INTEGER (1..hiPUSCHidentities)
+
+PUSCH-Info ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ pusch-TimeslotsCodes UplinkTimeslotsCodes OPTIONAL
+}
+
+PUSCH-Info-r4 ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ pusch-TimeslotsCodes UplinkTimeslotsCodes OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ pusch-TimeslotsCodes UplinkTimeslotsCodes-LCR-r4 OPTIONAL
+ }
+ }
+}
+
+PUSCH-Info-VHCR ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ pusch-TimeslotsCodes-VHCR UplinkTimeslotsCodes-VHCR OPTIONAL
+}
+
+PUSCH-Info-LCR-r4 ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ pusch-TimeslotsCodes UplinkTimeslotsCodes-LCR-r4 OPTIONAL
+}
+
+PUSCH-PowerControlInfo-r4 ::= SEQUENCE {
+ -- The IE ul-TargetSIR corresponds to PRX-PUSCHdes for 1.28Mcps TDD
+ -- Actual value PRX-PUSCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR,
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd128 SEQUENCE {
+ tpc-StepSize TPC-StepSizeTDD OPTIONAL
+ }
+ }
+}
+
+PUSCH-PowerControlInfo-r7 ::= SEQUENCE {
+ -- The IE ul-TargetSIR corresponds to PRX-PUSCHdes for 1.28Mcps TDD
+ -- Actual value PRX-PUSCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR,
+ tddOption CHOICE {
+ tdd384 NULL,
+ tdd768 NULL,
+ tdd128 SEQUENCE {
+ tpc-StepSize TPC-StepSizeTDD OPTIONAL
+ }
+ }
+}
+
+PUSCH-SysInfo ::= SEQUENCE {
+ pusch-Identity PUSCH-Identity,
+ pusch-Info PUSCH-Info,
+ usch-TFS TransportFormatSet OPTIONAL,
+ usch-TFCS TFCS OPTIONAL
+}
+
+PUSCH-SysInfo-VHCR ::= SEQUENCE {
+ pusch-Identity PUSCH-Identity,
+ pusch-Info-VHCR PUSCH-Info-VHCR,
+ usch-TransportChannelsInfo USCH-TransportChannelsInfo OPTIONAL,
+ usch-TFCS TFCS OPTIONAL
+}
+
+PUSCH-SysInfo-HCR-r5 ::= SEQUENCE {
+ pusch-Identity PUSCH-Identity,
+ pusch-Info PUSCH-Info,
+ usch-TransportChannelsInfo USCH-TransportChannelsInfo OPTIONAL,
+ usch-TFCS TFCS OPTIONAL
+}
+
+PUSCH-SysInfo-LCR-r4 ::= SEQUENCE {
+ pusch-Identity PUSCH-Identity,
+ pusch-Info PUSCH-Info-LCR-r4,
+ usch-TFS TransportFormatSet OPTIONAL,
+ usch-TFCS TFCS OPTIONAL
+}
+
+PUSCH-SysInfoList ::= SEQUENCE (SIZE (1..maxPUSCH)) OF
+ PUSCH-SysInfo
+
+PUSCH-SysInfoList-HCR-r5 ::= SEQUENCE (SIZE (1..maxPUSCH)) OF PUSCH-SysInfo-HCR-r5
+
+PUSCH-SysInfoList-LCR-r4 ::= SEQUENCE (SIZE (1..maxPUSCH)) OF
+ PUSCH-SysInfo-LCR-r4
+
+PUSCH-SysInfoList-SFN ::= SEQUENCE (SIZE (1..maxPUSCH)) OF
+ SEQUENCE {
+ pusch-SysInfo PUSCH-SysInfo,
+ sfn-TimeInfo SFN-TimeInfo OPTIONAL
+}
+
+PUSCH-SysInfoList-SFN-HCR-r5 ::= SEQUENCE (SIZE (1..maxPUSCH)) OF
+ SEQUENCE {
+ pusch-SysInfo PUSCH-SysInfo-HCR-r5,
+ sfn-TimeInfo SFN-TimeInfo OPTIONAL
+}
+
+PUSCH-SysInfoList-SFN-LCR-r4 ::= SEQUENCE (SIZE (1..maxPUSCH)) OF
+ SEQUENCE {
+ pusch-SysInfo PUSCH-SysInfo-LCR-r4,
+ sfn-TimeInfo SFN-TimeInfo OPTIONAL
+}
+
+PUSCH-SysInfoList-SFN-VHCR ::= SEQUENCE (SIZE (1..maxPUSCH)) OF
+ SEQUENCE {
+ pusch-SysInfo-VHCR PUSCH-SysInfo-VHCR,
+ sfn-TimeInfo SFN-TimeInfo OPTIONAL
+}
+
+RACH-TransmissionParameters ::= SEQUENCE {
+ mmax INTEGER (1..32),
+ nb01Min NB01,
+ nb01Max NB01
+}
+
+RadioLinkswithoutDPCHFDPCHInfo ::= SEQUENCE {
+ frameOffset DPCH-FrameOffset
+}
+
+ReducedScramblingCodeNumber ::= INTEGER (0..8191)
+
+Reference-Beta-QPSK ::= SEQUENCE {
+ reference-Code-Rate INTEGER (0..10),
+ reference-Beta INTEGER (-15..16)
+}
+
+Reference-Beta-16QAM ::= SEQUENCE {
+ reference-Code-Rate INTEGER (0..10),
+ reference-Beta INTEGER (-15..16)
+}
+
+RepetitionPeriodAndLength ::= CHOICE {
+ repetitionPeriod1 NULL,
+ -- repetitionPeriod2 could just as well be NULL also.
+ repetitionPeriod2 INTEGER (1..1),
+ repetitionPeriod4 INTEGER (1..3),
+ repetitionPeriod8 INTEGER (1..7),
+ repetitionPeriod16 INTEGER (1..15),
+ repetitionPeriod32 INTEGER (1..31),
+ repetitionPeriod64 INTEGER (1..63)
+}
+
+RepetitionPeriodLengthAndOffset ::= CHOICE {
+ repetitionPeriod1 NULL,
+ repetitionPeriod2 SEQUENCE {
+ length NULL,
+ offset INTEGER (0..1)
+ },
+ repetitionPeriod4 SEQUENCE {
+ length INTEGER (1..3),
+ offset INTEGER (0..3)
+ },
+ repetitionPeriod8 SEQUENCE {
+ length INTEGER (1..7),
+ offset INTEGER (0..7)
+ },
+ repetitionPeriod16 SEQUENCE {
+ length INTEGER (1..15),
+ offset INTEGER (0..15)
+ },
+ repetitionPeriod32 SEQUENCE {
+ length INTEGER (1..31),
+ offset INTEGER (0..31)
+ },
+ repetitionPeriod64 SEQUENCE {
+ length INTEGER (1..63),
+ offset INTEGER (0..63)
+ }
+}
+
+RepetitionPeriodAndLengthForSPS ::= CHOICE {
+ repetitionPeriod1 NULL,
+ -- repetitionPeriod2 could just as well be NULL also.
+ repetitionPeriod2 INTEGER (1..1),
+ repetitionPeriod4 INTEGER (1..3),
+ repetitionPeriod8 INTEGER (1..7),
+ repetitionPeriod16 INTEGER (1..15),
+ repetitionPeriod32 INTEGER (1..31)
+}
+
+ReplacedPDSCH-CodeInfo ::= SEQUENCE {
+ tfci-Field2 MaxTFCI-Field2Value,
+ spreadingFactor SF-PDSCH,
+ codeNumber CodeNumberDSCH,
+ multiCodeInfo MultiCodeInfo
+}
+
+ReplacedPDSCH-CodeInfoList ::= SEQUENCE (SIZE (1..maxTFCI-2-Combs)) OF
+ ReplacedPDSCH-CodeInfo
+
+RepPerLengthOffset-PICH ::= CHOICE {
+ rpp4-2 INTEGER (0..3),
+ rpp8-2 INTEGER (0..7),
+ rpp8-4 INTEGER (0..7),
+ rpp16-2 INTEGER (0..15),
+ rpp16-4 INTEGER (0..15),
+ rpp32-2 INTEGER (0..31),
+ rpp32-4 INTEGER (0..31),
+ rpp64-2 INTEGER (0..63),
+ rpp64-4 INTEGER (0..63)
+}
+
+RepPerLengthOffset-MICH ::= CHOICE {
+ rpp4-2 INTEGER (0..3),
+ rpp8-2 INTEGER (0..7),
+ rpp8-4 INTEGER (0..7),
+ rpp16-2 INTEGER (0..15),
+ rpp16-4 INTEGER (0..15),
+ rpp32-2 INTEGER (0..31),
+ rpp32-4 INTEGER (0..31),
+ rpp64-2 INTEGER (0..63),
+ rpp64-4 INTEGER (0..63)
+}
+
+RestrictedTrCH ::= SEQUENCE {
+ dl-restrictedTrCh-Type DL-TrCH-Type,
+ restrictedDL-TrCH-Identity TransportChannelIdentity,
+ allowedTFIList AllowedTFI-List
+}
+
+RestrictedTrCH-InfoList ::= SEQUENCE (SIZE(1..maxTrCH)) OF
+ RestrictedTrCH
+
+RL-AdditionInformation ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL,
+ -- dummy and dummy2 are not used in this version of specification
+ -- and the IEs should be ignored.
+ dummy BOOLEAN,
+ dummy2 SCCPCH-InfoForFACH OPTIONAL
+}
+
+RL-AdditionInformation-r6 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-Id CellIdentity OPTIONAL,
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r5,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r6
+ },
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Information E-RGCH-Information OPTIONAL
+}
+
+RL-AdditionInformation-r7 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-Id CellIdentity OPTIONAL,
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r5,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7
+ },
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Information E-RGCH-Information OPTIONAL
+}
+
+RL-AdditionInformation-r8 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-Id CellIdentity OPTIONAL,
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r5,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7
+ },
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Information E-RGCH-Information OPTIONAL,
+ targetCellPreconfigInfo TargetCellPreconfigInfo OPTIONAL
+}
+
+RL-AdditionInformation-r9 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-Id CellIdentity OPTIONAL,
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r5,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7
+ },
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Information E-RGCH-Information OPTIONAL,
+ targetCellPreconfigInfo TargetCellPreconfigInfo-r9 OPTIONAL
+}
+
+RL-AdditionInformation-r10 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-Id CellIdentity OPTIONAL,
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r5,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7
+ },
+ e-HICH-Information E-HICH-Information OPTIONAL,
+ e-RGCH-Information E-RGCH-Information OPTIONAL,
+ targetCellPreconfigInfo TargetCellPreconfigInfo-r10 OPTIONAL
+}
+
+RL-AdditionInformation-vb50ext ::= SEQUENCE {
+ targetCellPreconfigInfo TargetCellPreconfigInfo-vb50ext OPTIONAL
+}
+
+RL-AdditionInformation-r11 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-Id CellIdentity OPTIONAL,
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-r5,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7
+ },
+ e-HICH-Information E-HICH-Information-r11 OPTIONAL,
+ e-RGCH-Information E-RGCH-Information OPTIONAL,
+ f-TPICH-Information F-TPICH-Information OPTIONAL,
+ targetCellPreconfigInfo TargetCellPreconfigInfo-r11 OPTIONAL
+}
+
+RL-AdditionInformation-r12 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-Id CellIdentity OPTIONAL,
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-ASU,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7,
+ radioLinkswithoutDPCHFDPCHInfo RadioLinkswithoutDPCHFDPCHInfo
+ },
+ e-HICH-Information E-HICH-Information-r11 OPTIONAL,
+ e-RGCH-Information E-RGCH-Information OPTIONAL,
+ f-TPICH-Information F-TPICH-Information OPTIONAL,
+ targetCellPreconfigInfo TargetCellPreconfigInfo-r12 OPTIONAL
+}
+
+RL-AdditionInformation-r13 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-Id CellIdentity OPTIONAL,
+ dl-dpchInfo CHOICE {
+ dl-DPCH-InfoPerRL DL-DPCH-InfoPerRL-ASU,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r13,
+ radioLinkswithoutDPCHFDPCHInfo RadioLinkswithoutDPCHFDPCHInfo
+ },
+ e-HICH-Information E-HICH-Information-r11 OPTIONAL,
+ e-RGCH-Information E-RGCH-Information OPTIONAL,
+ f-TPICH-Information F-TPICH-Information OPTIONAL,
+ targetCellPreconfigInfo TargetCellPreconfigInfo-r13 OPTIONAL
+}
+
+RL-AdditionInformation-v6b0ext ::= SEQUENCE {
+ sttdIndication STTDIndication OPTIONAL
+}
+
+RL-AdditionInformation-v890ext ::= SEQUENCE {
+ targetCellPreconfigInfo TargetCellPreconfigInfo-v890ext OPTIONAL
+}
+
+RL-AdditionInformation-v950ext ::= SEQUENCE {
+ targetCellPreconfigInfo TargetCellPreconfigInfo-v950ext OPTIONAL
+}
+
+RL-AdditionInformationList ::= SEQUENCE (SIZE (1..maxRL-1)) OF
+ RL-AdditionInformation
+
+RL-AdditionInformationList-r6 ::= SEQUENCE (SIZE (1..maxRL-1)) OF
+ RL-AdditionInformation-r6
+
+RL-AdditionInformationList-r7 ::= SEQUENCE (SIZE (1..maxRL-1)) OF
+ RL-AdditionInformation-r7
+
+RL-AdditionInformation-list-v6b0ext ::= SEQUENCE (SIZE (1..maxRL)) OF
+ RL-AdditionInformation-v6b0ext
+
+RL-AdditionInformationList-r8 ::= SEQUENCE (SIZE(1..maxRL-1)) OF
+ RL-AdditionInformation-r8
+
+RL-AdditionInformationList-v890ext ::= SEQUENCE (SIZE (1..maxRL-1)) OF
+ RL-AdditionInformation-v890ext
+
+RL-AdditionInformationList-r9 ::= SEQUENCE (SIZE(1..maxRL-1)) OF
+ RL-AdditionInformation-r9
+
+RL-AdditionInformationList-v950ext ::= SEQUENCE (SIZE(1..maxRL-1)) OF
+ RL-AdditionInformation-v950ext
+
+RL-AdditionInformationList-r10 ::= SEQUENCE (SIZE(1..maxRL-1)) OF
+ RL-AdditionInformation-r10
+
+RL-AdditionInformationList-vb50ext ::= SEQUENCE (SIZE(1..maxRL-1)) OF
+ RL-AdditionInformation-vb50ext
+
+RL-AdditionInformationList-r11 ::= SEQUENCE (SIZE(1..maxRL-1)) OF
+ RL-AdditionInformation-r11
+
+RL-AdditionInformationList-r12 ::= SEQUENCE (SIZE(1..maxRL-1)) OF
+ RL-AdditionInformation-r12
+
+RL-AdditionInformationList-r13 ::= SEQUENCE (SIZE(1..maxRL-1)) OF
+ RL-AdditionInformation-r13
+
+RL-AdditionInformationList-SecULFreq ::= SEQUENCE (SIZE(1..maxEDCHRL-1)) OF
+ RL-AdditionInformation-SecULFreq
+
+RL-AdditionInformationList-SecULFreq-r12 ::= SEQUENCE (SIZE(1..maxEDCHRL-1)) OF
+ RL-AdditionInformation-SecULFreq-r12
+
+RL-AdditionInformationList-SecULFreq-r13 ::= SEQUENCE (SIZE(1..maxEDCHRL-1)) OF
+ RL-AdditionInformation-SecULFreq-r13
+
+RL-AdditionInformation-SecULFreq ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-id CellIdentity OPTIONAL,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7,
+ e-HICH-Information E-HICH-Information,
+ e-RGCH-Information E-RGCH-Information OPTIONAL
+}
+
+RL-AdditionInformation-SecULFreq-r12 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-id CellIdentity OPTIONAL,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r7,
+ e-HICH-Information E-HICH-Information,
+ e-RGCH-Information E-RGCH-Information OPTIONAL,
+ radioLinkswithoutDPCHFDPCHIndicator NULL OPTIONAL
+}
+
+RL-AdditionInformation-SecULFreq-r13 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cell-id CellIdentity OPTIONAL,
+ dl-FDPCH-InfoPerRL DL-FDPCH-InfoPerRL-r13,
+ e-HICH-Information E-HICH-Information,
+ e-RGCH-Information E-RGCH-Information OPTIONAL,
+ radioLinkswithoutDPCHFDPCHIndicator NULL OPTIONAL
+}
+
+RL-IdentifierList ::= SEQUENCE (SIZE (1..maxRL)) OF
+ PrimaryCPICH-Info
+
+RL-RemovalInformationList ::= SEQUENCE (SIZE (1..maxRL)) OF
+ PrimaryCPICH-Info
+
+RL-RemovalInformationList-SecULFreq ::= SEQUENCE (SIZE(1..maxEDCHRL)) OF
+ PrimaryCPICH-Info
+
+RPP ::= ENUMERATED {
+ mode0, mode1 }
+
+S-Field ::= ENUMERATED {
+ e1bit, e2bits }
+
+SCCPCH-ChannelisationCode ::= ENUMERATED {
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16 }
+
+SCCPCH-ChannelisationCode-VHCR ::= ENUMERATED {
+ cc32-1, cc32-2, cc32-3, cc32-4,
+ cc32-5, cc32-6, cc32-7, cc32-8,
+ cc32-9, cc32-10, cc32-11, cc32-12,
+ cc32-13, cc32-14, cc32-15, cc32-16,
+ cc32-17, cc32-18, cc32-19, cc32-20,
+ cc32-21, cc32-22, cc32-23, cc32-24,
+ cc32-25, cc32-26, cc32-27, cc32-28,
+ cc32-29, cc32-30, cc32-31, cc32-32 }
+
+SCCPCH-ChannelisationCodeList ::= SEQUENCE (SIZE (1..16)) OF
+ SCCPCH-ChannelisationCode
+
+SCCPCH-ChannelisationCodeList-VHCR ::= SEQUENCE (SIZE (1..32)) OF
+ SCCPCH-ChannelisationCode-VHCR
+
+SCCPCH-InfoForFACH ::= SEQUENCE {
+ secondaryCCPCH-Info SecondaryCCPCH-Info,
+ tfcs TFCS,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ fach-PCH-InformationList FACH-PCH-InformationList,
+ sib-ReferenceListFACH SIB-ReferenceListFACH
+ },
+ tdd SEQUENCE {
+ fach-PCH-InformationList FACH-PCH-InformationList
+ }
+ }
+}
+
+SCCPCH-InfoForFACH-r4 ::= SEQUENCE {
+ secondaryCCPCH-Info SecondaryCCPCH-Info-r4,
+ tfcs TFCS,
+ fach-PCH-InformationList FACH-PCH-InformationList,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ sib-ReferenceListFACH SIB-ReferenceListFACH
+ },
+ tdd NULL
+ }
+}
+
+SCCPCH-SystemInformation ::= SEQUENCE {
+ secondaryCCPCH-Info SecondaryCCPCH-Info,
+ tfcs TFCS OPTIONAL,
+ fach-PCH-InformationList FACH-PCH-InformationList OPTIONAL,
+ pich-Info PICH-Info OPTIONAL
+}
+
+SCCPCH-SystemInformation-LCR-r4-ext ::= SEQUENCE {
+ secondaryCCPCH-LCR-Extensions SecondaryCCPCH-Info-LCR-r4-ext,
+ -- pich-Info in the SCCPCH-SystemInformation IE shall be absent,
+ -- and instead the following used.
+ pich-Info PICH-Info-LCR-r4 OPTIONAL
+}
+
+SCCPCH-SystemInformation-HCR-VHCR-r7 ::= SEQUENCE {
+ secondaryCCPCH-Info SecondaryCCPCH-Info-HCR-VHCR-r7,
+ tfcs TFCS OPTIONAL,
+ fach-PCH-InformationList FACH-PCH-InformationList OPTIONAL,
+ pich-Info PICH-Info-HCR-VHCR-r7 OPTIONAL
+}
+
+SCCPCH-SystemInformationList ::= SEQUENCE (SIZE (1..maxSCCPCH)) OF
+ SCCPCH-SystemInformation
+
+SCCPCH-SystemInformationList-HCR-VHCR-r7 ::= SEQUENCE (SIZE (1..maxSCCPCH)) OF
+ SCCPCH-SystemInformation-HCR-VHCR-r7
+
+-- SCCPCH-SystemInformationList-LCR-r4-ext includes elements additional to those in
+-- SCCPCH-SystemInformationList for the 1.28Mcps TDD. The order of the IEs
+-- indicates which SCCPCH-SystemInformation-LCR-r4-ext IE extends which
+-- SCCPCH-SystemInformation IE.
+SCCPCH-SystemInformationList-LCR-r4-ext ::= SEQUENCE (SIZE (1..maxSCCPCH)) OF
+ SCCPCH-SystemInformation-LCR-r4-ext
+
+-- The SCCPCH-SystemInformation-MBMS-r6 is used for an S-CCPCH dedicated for MBMS purposes.
+SCCPCH-SystemInformation-MBMS-r6 ::= SEQUENCE {
+ secondaryCCPCHInfo-MBMS SecondaryCCPCHInfo-MBMS-r6,
+ transportFormatCombinationSet TFCS,
+ fachCarryingMCCH SEQUENCE {
+ mcch-transportFormatSet TransportFormatSet,
+ mcch-ConfigurationInfo MBMS-MCCH-ConfigurationInfo-r6
+ },
+ fachCarryingMTCH-List MBMS-FACHCarryingMTCH-List OPTIONAL,
+ -- If schedulingInformation is provided
+ fachCarryingMSCH SEQUENCE {
+ msch-transportFormatSet TransportFormatSet,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy MBMS-MSCH-ConfigurationInfo-r6
+ } OPTIONAL
+}
+
+-- The SCCPCH-SystemInformation-MBMS-r7 is used for an S-CCPCH dedicated for MBMS purposes.
+SCCPCH-SystemInformation-MBMS-r7 ::= SEQUENCE {
+ secondaryCCPCHInfo-MBMS SecondaryCCPCHInfo-MBMS-r7,
+ transportFormatCombinationSet TFCS,
+ fachCarryingMCCH SEQUENCE {
+ mcch-transportFormatSet TransportFormatSet,
+ mcch-ConfigurationInfo MBMS-MCCH-ConfigurationInfo-r6
+ },
+ fachCarryingMTCH-List MBMS-FACHCarryingMTCH-List OPTIONAL,
+ -- If schedulingInformation is provided
+ fachCarryingMSCH SEQUENCE {
+ msch-transportFormatSet TransportFormatSet
+ } OPTIONAL
+}
+
+S-CPICH-PowerOffset-MIMO ::= INTEGER (-6..0)
+
+S-CPICH-PowerOffset-4x4MIMO ::= INTEGER (-12..0)
+
+ScheduledTransmissionConfiguration ::= SEQUENCE {
+ common-E-DCH-ResourceInfoListExt SEQUENCE (SIZE (1..maxEDCHs)) OF
+ Common-E-DCH-ResourceInfoListExt
+}
+
+ScramblingCodeChange ::= ENUMERATED {
+ codeChange, noCodeChange }
+
+ScramblingCodeType ::= ENUMERATED {
+ shortSC,
+ longSC }
+
+SecondaryCCPCH-Info ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy1 is not used in this version of the specification and should be ignored.
+ dummy1 PCPICH-UsageForChannelEst,
+ -- dummy2 is not used in this version of the specification. It should not
+ -- be sent and if received it should be ignored.
+ dummy2 SecondaryCPICH-Info OPTIONAL,
+ secondaryScramblingCode SecondaryScramblingCode OPTIONAL,
+ sttd-Indicator BOOLEAN,
+ sf-AndCodeNumber SF256-AndCodeNumber,
+ pilotSymbolExistence BOOLEAN,
+ tfci-Existence BOOLEAN,
+ positionFixedOrFlexible PositionFixedOrFlexible,
+ timingOffset TimingOffset DEFAULT 0
+ },
+ tdd SEQUENCE {
+ -- TABULAR: the offset is included in CommonTimeslotInfoSCCPCH
+ commonTimeslotInfo CommonTimeslotInfoSCCPCH,
+ individualTimeslotInfo IndividualTimeslotInfo,
+ channelisationCode SCCPCH-ChannelisationCodeList
+ }
+ }
+}
+
+SecondaryCCPCH-Info-r4 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ secondaryScramblingCode SecondaryScramblingCode OPTIONAL,
+ sttd-Indicator BOOLEAN,
+ sf-AndCodeNumber SF256-AndCodeNumber,
+ pilotSymbolExistence BOOLEAN,
+ tfci-Existence BOOLEAN,
+ positionFixedOrFlexible PositionFixedOrFlexible,
+ timingOffset TimingOffset DEFAULT 0
+ },
+ tdd SEQUENCE {
+ -- TABULAR: the offset is included in CommonTimeslotInfoSCCPCH
+ commonTimeslotInfo CommonTimeslotInfoSCCPCH,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo
+ },
+ tdd128 SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo-LCR-r4
+ }
+ },
+ channelisationCode SCCPCH-ChannelisationCodeList
+ }
+ }
+}
+
+SecondaryCCPCH-Info-HCR-VHCR-r7 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ tdd384 SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo-r7,
+ channelisationCode SCCPCH-ChannelisationCodeList
+ },
+ tdd768 SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo-VHCR,
+ channelisationCode SCCPCH-ChannelisationCodeList-VHCR
+ }
+ }
+}
+
+SecondaryCCPCH-Info-LCR-r4-ext ::= SEQUENCE {
+ individualTimeslotLCR-Ext IndividualTimeslotInfo-LCR-r4-ext
+}
+
+SecondaryCCPCHFrameType2Info ::= SEQUENCE {
+ subFrameNumber INTEGER (0..4),
+ dl-ChannelisationCodes DL-ChannelCodes-MBSFN-IMB384,
+ modulation CHOICE {
+ modQPSK NULL,
+ mod16QAM SEQUENCE {
+ cpich-SecCCPCH-PowerOffset INTEGER (-11..4)
+ }
+ }
+}
+
+SecondaryCCPCHInfo-MBMS-r6 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ secondaryScramblingCode SecondaryScramblingCode OPTIONAL,
+ sttd-Indicator BOOLEAN,
+ sf-AndCodeNumber SF256-AndCodeNumber,
+ timingOffset TimingOffset DEFAULT 0
+ },
+ tdd384 SEQUENCE {
+ commonTimeslotInfoMBMS CommonTimeslotInfoMBMS,
+ downlinkTimeslotsCodes DownlinkTimeslotsCodes
+ },
+ tdd128 SEQUENCE {
+ commonTimeslotInfoMBMS CommonTimeslotInfoMBMS,
+ downlinkTimeslotsCodes DownlinkTimeslotsCodes-LCR-r4
+ }
+ }
+}
+
+SecondaryCCPCHInfo-MBMS-r7 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ -- The CHOICE fdd is used for both "fdd" and "3.84 Mcps TDD MBSFN IMB"
+ fdd SEQUENCE {
+ -- The IE secondaryScramblingCode is not applicable for "3.84 Mcps TDD MBSFN IMB"
+ secondaryScramblingCode SecondaryScramblingCode OPTIONAL,
+ -- The IE sttd-Indicator is not applicable for cells operating in MBSFN mode,
+ -- the UE behaviour is unspecified
+ sttd-Indicator BOOLEAN,
+ sf-AndCodeNumber SF256-AndCodeNumber,
+ -- The IE timingOffset is not applicable for "3.84 Mcps TDD MBSFN IMB"
+ timingOffset TimingOffset DEFAULT 0,
+ modulation CHOICE {
+ modQPSK NULL,
+ -- The CHOICE mod16QAM is not applicable for MCCH in "3.84 Mcps TDD MBSFN IMB"
+ mod16QAM INTEGER (-11..4)
+ } OPTIONAL
+ },
+ tdd384 SEQUENCE {
+ commonTimeslotInfoMBMS CommonTimeslotInfoMBMS,
+ downlinkTimeslotsCodes DownlinkTimeslotsCodes-r7,
+ modulation ENUMERATED { modQPSK, mod16QAM }
+ },
+ tdd768 SEQUENCE {
+ commonTimeslotInfoMBMS CommonTimeslotInfoMBMS,
+ downlinkTimeslotsCodes DownlinkTimeslotsCodes-VHCR,
+ modulation ENUMERATED { modQPSK, mod16QAM }
+ },
+ tdd128 SEQUENCE {
+ commonTimeslotInfoMBMS CommonTimeslotInfoMBMS,
+ downlinkTimeslotsCodes DownlinkTimeslotsCodes-LCR-r4,
+ mbsfnSpecialTimeSlot TimeSlotLCR-ext OPTIONAL,
+ modulation ENUMERATED { modQPSK, mod16QAM }
+ }
+ }
+}
+
+SecondaryCCPCHInfoDiff-MBMS ::= SEQUENCE {
+ secondaryScramblingCode SecondaryScramblingCode OPTIONAL,
+ sttd-Indicator BOOLEAN,
+ sf-AndCodeNumber SF256-AndCodeNumber OPTIONAL,
+ timingOffset TimingOffset OPTIONAL
+}
+
+SecondaryCPICH-Info ::= SEQUENCE {
+ secondaryDL-ScramblingCode SecondaryScramblingCode OPTIONAL,
+ channelisationCode ChannelisationCode256
+}
+
+SecondaryScramblingCode ::= INTEGER (1..15)
+
+SecondaryCellMIMOparametersFDD ::= CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ mimoN-M-Ratio MIMO-N-M-Ratio OPTIONAL,
+ mimoPilotConfiguration MIMO-PilotConfiguration-r9 OPTIONAL
+ }
+}
+
+SecondaryCellMIMOparametersFDD-v950ext ::= SEQUENCE {
+ precodingWeightSetRestriction ENUMERATED { true } OPTIONAL
+}
+
+SecondaryCellMIMOparametersFDD-r10 ::= CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ mimoN-M-Ratio MIMO-N-M-Ratio OPTIONAL,
+ mimoPilotConfiguration MIMO-PilotConfiguration-r9 OPTIONAL,
+ precodingWeightSetRestriction ENUMERATED { true } OPTIONAL
+ }
+}
+
+SecondaryCell4x4MIMOparametersFDD ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ mimoN-M-Ratio MIMO-N-M-Ratio OPTIONAL,
+ mimoPilotConfiguration MIMO4x4-PilotConfiguration OPTIONAL,
+ precodingWeightSetRestriction BIT STRING (SIZE (64)) OPTIONAL
+ }
+ }
+}
+
+SecondInterleavingMode ::= ENUMERATED {
+ frameRelated, timeslotRelated }
+
+ServingCellChangeMACreset ::= BOOLEAN
+
+ServingCellChangeMsgType ::= ENUMERATED {
+ radioBearerSetup,
+ radioBearerReconfiguration,
+ transportChannelReconfiguration,
+ physicalChannelReconfiguration }
+
+ServingCellChangeParameters ::= SEQUENCE {
+ servingCellChangeMACreset ServingCellChangeMACreset,
+ servingCellChangeMsgType ServingCellChangeMsgType,
+ servingCellChangeTrId ServingCellChangeTrId
+}
+
+ServingCellChangeParameters-r12 ::= SEQUENCE {
+ servingCellChangeMACreset ServingCellChangeMACreset,
+ servingCellChangeMsgType ServingCellChangeMsgType,
+ servingCellChangeTrId ServingCellChangeTrId,
+ enhancedServingCellChangeforEvent1CsupportIndicator ENUMERATED { true } OPTIONAL
+}
+ServingCellChangeTrId ::= INTEGER (0..3)
+
+SF8Codes ::= ENUMERATED {
+ cc8-1, cc8-2, cc8-3, cc8-4, cc8-5, cc8-6, cc8-7, cc8-8}
+
+SF16Codes ::= ENUMERATED {
+ cc16-1, cc16-2, cc16-3, cc16-4, cc16-5, cc16-6, cc16-7,
+ cc16-8}
+
+SF16Codes2 ::= ENUMERATED {
+ cc16-1, cc16-2, cc16-3, cc16-4, cc16-5, cc16-6, cc16-7,
+ cc16-8, cc16-9, cc16-10, cc16-11, cc16-12, cc16-13, cc16-14,
+ cc16-15, cc16-16}
+
+SF32Codes ::= ENUMERATED {
+ cc32-1, cc32-2, cc32-3, cc32-4, cc32-5, cc32-6, cc32-7,
+ cc32-8, cc32-9, cc32-10, cc32-11, cc32-12, cc32-13, cc32-14,
+ cc32-15, cc32-16}
+
+-- SF256-AndCodeNumber encodes both "Spreading factor" and "Code Number"
+SF256-AndCodeNumber ::= CHOICE {
+ sf4 INTEGER (0..3),
+ sf8 INTEGER (0..7),
+ sf16 INTEGER (0..15),
+ sf32 INTEGER (0..31),
+ sf64 INTEGER (0..63),
+ sf128 INTEGER (0..127),
+ sf256 INTEGER (0..255)
+}
+
+-- SF512-AndCodeNumber encodes both "Spreading factor" and "Code Number"
+SF512-AndCodeNumber ::= CHOICE {
+ sf4 INTEGER (0..3),
+ sf8 INTEGER (0..7),
+ sf16 INTEGER (0..15),
+ sf32 INTEGER (0..31),
+ sf64 INTEGER (0..63),
+ sf128 INTEGER (0..127),
+ sf256 INTEGER (0..255),
+ sf512 INTEGER (0..511)
+}
+
+-- SF512-AndPilot encodes both "Spreading factor" and "Number of bits for Pilot bits"
+SF512-AndPilot ::= CHOICE {
+ sfd4 NULL,
+ sfd8 NULL,
+ sfd16 NULL,
+ sfd32 NULL,
+ sfd64 NULL,
+ sfd128 PilotBits128,
+ sfd256 PilotBits256,
+ sfd512 NULL
+}
+
+SF512-AndPilot-r12 ::= CHOICE {
+ sfd4 NULL,
+ sfd8 NULL,
+ sfd16 NULL,
+ sfd32 NULL,
+ sfd64 NULL,
+ sfd128 PilotBits128-r12,
+ sfd256 PilotBits256-r12,
+ sfd512 NULL
+}
+
+SF-PDSCH ::= ENUMERATED {
+ sfp4, sfp8, sfp16, sfp32,
+ sfp64, sfp128, sfp256 }
+
+SF-PRACH ::= ENUMERATED {
+ sfpr32, sfpr64, sfpr128, sfpr256 }
+
+SFN-TimeInfo ::= SEQUENCE {
+ activationTimeSFN INTEGER (0..4095),
+ physChDuration DurationTimeInfo
+}
+
+-- actual scheduling value = 2(signalled value +1) and is the periodicity of sending
+-- special burst frames
+SpecialBurstScheduling ::= INTEGER (0..7)
+
+SpreadingFactor ::= ENUMERATED {
+ sf4, sf8, sf16, sf32,
+ sf64, sf128, sf256 }
+
+SPS-Information-TDD128-r8 ::= SEQUENCE {
+ e-dch-SPS-Info E-DCH-SPS-Information-TDD128 OPTIONAL,
+ hs-dsch-SPS-Info HS-DSCH-SPS-Information-TDD128 OPTIONAL
+}
+
+SRB-delay ::= INTEGER (0..7)
+
+SSDT-CellIdentity ::= ENUMERATED {
+ ssdt-id-a, ssdt-id-b, ssdt-id-c,
+ ssdt-id-d, ssdt-id-e, ssdt-id-f,
+ ssdt-id-g, ssdt-id-h }
+
+SSDT-Information ::= SEQUENCE {
+ s-Field S-Field,
+ codeWordSet CodeWordSet
+}
+
+SSDT-Information-r4 ::= SEQUENCE {
+ s-Field S-Field,
+ codeWordSet CodeWordSet,
+ ssdt-UL-r4 SSDT-UL OPTIONAL
+}
+
+SSDT-UL ::= ENUMERATED {
+ ul, ul-AndDL }
+
+StandaloneMidambleInfo-TDD128 ::= SEQUENCE {
+ -- Actual value midambleConfiguration = IE value * 2
+ midambleConfiguration INTEGER (1..8),
+ midambleShift INTEGER (0..15),
+ timeSlotInformation BIT STRING (SIZE (5)),
+ activationTime ActivationTime,
+ subframeNum INTEGER (0..1),
+ repetitionPeriod ENUMERATED {
+ v1, v2, v4, v8,
+ v16, v32, v64, spare},
+ referenceBeta INTEGER (-15..16) OPTIONAL
+}
+
+STTDIndication ::= ENUMERATED { true }
+
+SynchronisationParameters-r4 ::= SEQUENCE {
+ sync-UL-CodesBitmap BIT STRING {
+ code7(0),
+ code6(1),
+ code5(2),
+ code4(3),
+ code3(4),
+ code2(5),
+ code1(6),
+ code0(7)
+ } (SIZE (8)),
+ fpach-Info FPACH-Info-r4,
+ -- Actual value prxUpPCHdes = IE value - 120
+ prxUpPCHdes INTEGER (0..62),
+ sync-UL-Procedure SYNC-UL-Procedure-r4 OPTIONAL
+}
+
+Sync-UL-Codes-Bitmap ::= BIT STRING {
+ code7(0),
+ code6(1),
+ code5(2),
+ code4(3),
+ code3(4),
+ code2(5),
+ code1(6),
+ code0(7)
+ } (SIZE (8))
+
+SYNC-UL-Procedure-r4 ::= SEQUENCE {
+ max-SYNC-UL-Transmissions ENUMERATED { tr1, tr2, tr4, tr8 },
+ powerRampStep INTEGER (0..3)
+}
+
+SYNC-UL-Info-r4 ::= SEQUENCE {
+ sync-UL-Codes-Bitmap Sync-UL-Codes-Bitmap,
+ -- Actual value prxUpPCHdes = IE value - 120
+ prxUpPCHdes INTEGER (0..62),
+ powerRampStep INTEGER (0..3),
+ max-SYNC-UL-Transmissions ENUMERATED { tr1, tr2, tr4, tr8 },
+ mmax INTEGER(1..32)
+}
+
+SYNC-UL-InfoForE-RUCCH ::= SEQUENCE {
+ prxUpPCHdes INTEGER (0..62) OPTIONAL,
+ powerRampStep INTEGER (0..3) OPTIONAL,
+ max-SYNC-UL-Transmissions ENUMERATED { tr1, tr2, tr4, tr8 } OPTIONAL,
+ e-RUCCH-Sync-UL-Codes-Bitmap Sync-UL-Codes-Bitmap,
+ mmax INTEGER(1..32)
+}
+
+TargetCellPreconfigInfo ::= SEQUENCE {
+ activationTimeOffset ActivationTimeOffset OPTIONAL,
+ new-H-RNTI H-RNTI,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r8,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r7,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD OPTIONAL
+}
+
+TargetCellPreconfigInfo-v890ext ::= MIMO-Parameters-v7f0ext
+
+TargetCellPreconfigInfo-r9 ::= SEQUENCE {
+ activationTimeOffset ActivationTimeOffset OPTIONAL,
+ new-H-RNTI H-RNTI,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r9,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r7,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL
+}
+
+TargetCellPreconfigInfo-v950ext ::= SecondaryCellMIMOparametersFDD-v950ext
+
+TargetCellPreconfigInfo-r10 ::= SEQUENCE {
+ activationTimeOffset ActivationTimeOffset OPTIONAL,
+ new-H-RNTI H-RNTI,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r9,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r7,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL
+}
+
+TargetCellPreconfigInfo-vb50ext ::= SEQUENCE {
+ ulOLTDInfoFDD UL-OLTD-InfoFDD OPTIONAL
+}
+
+TargetCellPreconfigInfo-r11 ::= SEQUENCE {
+ activationTimeOffset ActivationTimeOffset OPTIONAL,
+ new-H-RNTI H-RNTI,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r11,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r11,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ f-tpich-ReconfigurationInfo F-TPICH-ReconfigurationInfo OPTIONAL,
+ uL-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ ul-64QAM-Config UL-64QAM-Config OPTIONAL,
+ ul-MIMO-Info UL-MIMO-InfoFDD OPTIONAL
+}
+
+TargetCellPreconfigInfo-r12 ::= SEQUENCE {
+ activationTimeOffset ActivationTimeOffset OPTIONAL,
+ new-H-RNTI H-RNTI,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r12,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r11,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r12 OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ f-tpich-ReconfigurationInfo F-TPICH-ReconfigurationInfo OPTIONAL,
+ uL-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ ul-64QAM-Config UL-64QAM-Config OPTIONAL,
+ ul-MIMO-Info UL-MIMO-InfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL
+}
+
+TargetCellPreconfigInfo-r13 ::= SEQUENCE {
+ activationTimeOffset ActivationTimeOffset OPTIONAL,
+ new-H-RNTI H-RNTI,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r12,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r11,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ f-tpich-ReconfigurationInfo F-TPICH-ReconfigurationInfo OPTIONAL,
+ uL-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ ul-64QAM-Config UL-64QAM-Config OPTIONAL,
+ ul-MIMO-Info UL-MIMO-InfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL
+}
+
+
+TDD-FPACH-CCode16-r4 ::= ENUMERATED {
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16 }
+
+TDD-UL-Interference ::= INTEGER (-110..-52)
+
+TDD-PICH-CCode ::= ENUMERATED {
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16 }
+
+TDD768-PICH-CCode ::= ENUMERATED {
+ cc32-1, cc32-2, cc32-3, cc32-4,
+ cc32-5, cc32-6, cc32-7, cc32-8,
+ cc32-9, cc32-10, cc32-11, cc32-12,
+ cc32-13, cc32-14, cc32-15, cc32-16,
+ cc32-17, cc32-18, cc32-19, cc32-20,
+ cc32-21, cc32-22, cc32-23, cc32-24,
+ cc32-25, cc32-26, cc32-27, cc32-28,
+ cc32-29, cc32-30, cc32-31, cc32-32 }
+
+TDD-MBSFNInformation ::= SEQUENCE (SIZE (1..maxTS)) OF
+ TDD-MBSFNTSlotInfo
+
+TDD-MBSFNTSlotInfo ::= SEQUENCE {
+ timeSlotNumber TimeslotNumber,
+ cellParametersID CellParametersID
+}
+
+TDD-PRACH-CCode8 ::= ENUMERATED {
+ cc8-1, cc8-2, cc8-3, cc8-4,
+ cc8-5, cc8-6, cc8-7, cc8-8 }
+
+TDD-PRACH-CCode16 ::= ENUMERATED {
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16 }
+
+TDD-PRACH-CCode-LCR-r4 ::= ENUMERATED {
+ cc4-1, cc4-2, cc4-3, cc4-4,
+ cc8-1, cc8-2, cc8-3, cc8-4,
+ cc8-5, cc8-6, cc8-7, cc8-8,
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16 }
+
+TDD-PRACH-CCodeList ::= CHOICE {
+ sf8 SEQUENCE (SIZE (1..8)) OF
+ TDD-PRACH-CCode8,
+-- Channelisation codes cc16-9, cc16-10, cc16-11, cc16-12, cc16-13, cc16-14,
+-- cc16-15 and cc16-16 shall not be used
+ sf16 SEQUENCE (SIZE (1..8)) OF
+ TDD-PRACH-CCode16
+}
+
+TDD768-PRACH-CCode16 ::= ENUMERATED {
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16 }
+
+TDD768-PRACH-CCode32 ::= ENUMERATED {
+ cc32-1, cc32-2, cc32-3, cc32-4,
+ cc32-5, cc32-6, cc32-7, cc32-8,
+ cc32-9, cc32-10, cc32-11, cc32-12,
+ cc32-13, cc32-14, cc32-15, cc32-16 }
+
+TDD768-PRACH-CCodeList ::= CHOICE {
+ sf32 SEQUENCE (SIZE (1..16)) OF
+ TDD768-PRACH-CCode32,
+-- Channelisation codes cc32-17, cc32-18, cc32-19, cc32-20, cc32-21, cc32-22,
+-- cc32-23, cc32-24, cc32-25, cc32-26, cc32-27, cc32-28, cc32-29, cc32-30, cc32-31
+-- and cc32-32 shall not be used
+ sf16 SEQUENCE (SIZE (1..16)) OF
+ TDD768-PRACH-CCode16
+}
+
+TFC-ControlDuration ::= ENUMERATED {
+ tfc-cd1, tfc-cd2, tfc-cd4, tfc-cd8,
+ tfc-cd16, tfc-cd24, tfc-cd32,
+ tfc-cd48, tfc-cd64, tfc-cd128,
+ tfc-cd192, tfc-cd256, tfc-cd512 }
+
+TFCI-Coding ::= ENUMERATED {
+ tfci-bits-4, tfci-bits-8,
+ tfci-bits-16, tfci-bits-32 }
+
+TGCFN ::= INTEGER (0..255)
+
+-- In TGD, value 270 represents "undefined" in the tabular description.
+TGD ::= INTEGER (15..270)
+
+TGL ::= INTEGER (1..14)
+
+TGMP ::= ENUMERATED {
+ tdd-Measurement, fdd-Measurement,
+ gsm-CarrierRSSIMeasurement,
+ gsm-initialBSICIdentification, gsmBSICReconfirmation,
+ multi-carrier }
+
+TGMP-r8 ::= ENUMERATED {
+ tdd-Measurement, fdd-Measurement,
+ gsm-CarrierRSSIMeasurement,
+ gsm-initialBSICIdentification, gsmBSICReconfirmation,
+ multi-carrier, e-UTRA, spare }
+
+TGP-Sequence ::= SEQUENCE {
+ tgpsi TGPSI,
+ tgps-Status CHOICE {
+ activate SEQUENCE {
+ tgcfn TGCFN
+ },
+ deactivate NULL
+ },
+ tgps-ConfigurationParams TGPS-ConfigurationParams OPTIONAL
+}
+
+TGP-Sequence-r8 ::= SEQUENCE {
+ tgpsi TGPSI,
+ tgps-Status CHOICE {
+ activate SEQUENCE {
+ tgcfn TGCFN
+ },
+ deactivate NULL
+ },
+ tgps-ConfigurationParams TGPS-ConfigurationParams-r8 OPTIONAL
+}
+
+TGP-Sequence-r10 ::= SEQUENCE {
+ tgpsi TGPSI,
+ tgps-Status CHOICE {
+ activate SEQUENCE {
+ tgcfn TGCFN
+ },
+ deactivate NULL
+ },
+ tgps-ConfigurationParams TGPS-ConfigurationParams-r10 OPTIONAL
+}
+
+TGPS-Reconfiguration-CFN ::= INTEGER (0..255)
+
+TGP-SequenceList ::= SEQUENCE (SIZE (1..maxTGPS)) OF
+ TGP-Sequence
+
+TGP-SequenceList-r8 ::= SEQUENCE (SIZE (1..maxTGPS)) OF
+ TGP-Sequence-r8
+
+TGP-SequenceList-r10 ::= SEQUENCE (SIZE (1..maxTGPS)) OF
+ TGP-Sequence-r10
+
+TGP-SequenceShort ::= SEQUENCE {
+ tgpsi TGPSI,
+ tgps-Status CHOICE {
+ activate SEQUENCE {
+ tgcfn TGCFN
+ },
+ deactivate NULL
+ }
+}
+
+TGP-SequenceShort-r10 ::= SEQUENCE {
+ tgpsi TGPSI,
+ tgps-Status CHOICE {
+ activate SEQUENCE {
+ tgcfn TGCFN
+ },
+ deactivate NULL
+ },
+ freqSpecificCompressedMode ENUMERATED { true } OPTIONAL
+}
+
+TGPL ::= INTEGER (1..144)
+
+-- TABULAR: In TGPRC, value 0 represents "infinity" in the tabular description.
+TGPRC ::= INTEGER (0..511)
+
+TGPS-ConfigurationParams ::= SEQUENCE {
+ tgmp TGMP,
+ tgprc TGPRC,
+ tgsn TGSN,
+ tgl1 TGL,
+ tgl2 TGL OPTIONAL,
+ tgd TGD,
+ tgpl1 TGPL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it shall be ignored.
+ dummy TGPL OPTIONAL,
+ rpp RPP,
+ itp ITP,
+ -- TABULAR: Compressed mode method is nested inside UL-DL-Mode
+ ul-DL-Mode UL-DL-Mode,
+ dl-FrameType DL-FrameType,
+ deltaSIR1 DeltaSIR,
+ deltaSIRAfter1 DeltaSIR,
+ deltaSIR2 DeltaSIR OPTIONAL,
+ deltaSIRAfter2 DeltaSIR OPTIONAL,
+ nidentifyAbort NidentifyAbort OPTIONAL,
+ treconfirmAbort TreconfirmAbort OPTIONAL
+}
+
+TGPS-ConfigurationParams-r8 ::= SEQUENCE {
+ tgmp TGMP-r8,
+ tgprc TGPRC,
+ tgsn TGSN,
+ tgl1 TGL,
+ tgl2 TGL OPTIONAL,
+ tgd TGD,
+ tgpl1 TGPL,
+ rpp RPP,
+ itp ITP,
+ -- TABULAR: Compressed mode method is nested inside UL-DL-Mode
+ ul-DL-Mode UL-DL-Mode,
+ dl-FrameType DL-FrameType,
+ deltaSIR1 DeltaSIR,
+ deltaSIRAfter1 DeltaSIR,
+ deltaSIR2 DeltaSIR OPTIONAL,
+ deltaSIRAfter2 DeltaSIR OPTIONAL,
+ nidentifyAbort NidentifyAbort OPTIONAL,
+ treconfirmAbort TreconfirmAbort OPTIONAL
+}
+
+TGPS-ConfigurationParams-r10 ::= SEQUENCE {
+ tgmp TGMP-r8,
+ freqSpecificCompressedMode ENUMERATED { true } OPTIONAL,
+ tgprc TGPRC,
+ tgsn TGSN,
+ tgl1 TGL,
+ tgl2 TGL OPTIONAL,
+ tgd TGD,
+ tgpl1 TGPL,
+ rpp RPP,
+ itp ITP,
+ -- TABULAR: Compressed mode method is nested inside UL-DL-Mode
+ ul-DL-Mode UL-DL-Mode,
+ dl-FrameType DL-FrameType,
+ deltaSIR1 DeltaSIR,
+ deltaSIRAfter1 DeltaSIR,
+ deltaSIR2 DeltaSIR OPTIONAL,
+ deltaSIRAfter2 DeltaSIR OPTIONAL,
+ nidentifyAbort NidentifyAbort OPTIONAL,
+ treconfirmAbort TreconfirmAbort OPTIONAL
+}
+
+TGPSI ::= INTEGER (1..maxTGPS)
+
+TGSN ::= INTEGER (0..14)
+
+TimeInfo ::= SEQUENCE {
+ activationTime ActivationTime OPTIONAL,
+ durationTimeInfo DurationTimeInfo OPTIONAL
+}
+
+TimeSlotLCR-ext ::= ENUMERATED {
+ ts7, spare3, spare2, spare1 }
+
+TimeslotList ::= SEQUENCE (SIZE (1..maxTS)) OF
+ TimeslotNumber
+
+TimeslotList-r4 ::= CHOICE {
+-- the choice for 7.68 Mcps TDD is as for 3.84 Mcps TDD --
+ tdd384 SEQUENCE (SIZE (1..maxTS)) OF
+ TimeslotNumber,
+ tdd128 SEQUENCE (SIZE (1..maxTS-LCR)) OF
+ TimeslotNumber-LCR-r4
+}
+
+-- If TimeslotNumber is included for a 1.28Mcps TDD description, it shall take values from 0..6
+TimeslotNumber ::= INTEGER (0..14)
+
+TimeslotNumber-LCR-r4 ::= INTEGER (0..6)
+
+TimeslotNumber-PRACH-LCR-r4 ::= INTEGER (1..6)
+
+TimeslotSync2 ::= INTEGER (0..6)
+
+DTX-DRX-TimingInfo-r7 ::= SEQUENCE {
+ timing CHOICE {
+ continue NULL,
+ newTiming NewTiming
+ }
+}
+
+-- Actual value TimingOffset = IE value * 256
+TimingOffset ::= INTEGER (0..149)
+
+TimingMaintainedSynchInd ::= ENUMERATED { false }
+
+TPC-CombinationIndex ::= INTEGER (0..5)
+
+TPC-CommandTargetRate ::= INTEGER (0..10)
+
+-- Actual value TPC-StepSizeFDD = IE value + 1
+TPC-StepSizeFDD ::= INTEGER (0..1)
+
+TPC-StepSizeTDD ::= INTEGER (1..3)
+
+TransportBlockSizeIndex ::= INTEGER (1..32)
+
+-- Actual value TreconfirmAbort = IE value * 0.5 seconds
+TreconfirmAbort ::= INTEGER (1..20)
+
+TwoMsHarqConfiguration ::= SEQUENCE {
+ harqProcessAllocation BIT STRING (SIZE (8)) OPTIONAL
+}
+
+TX-DiversityMode ::= ENUMERATED {
+ noDiversity,
+ sttd,
+ closedLoopMode1,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy }
+
+UARFCN ::= INTEGER (0..16383)
+
+UCSM-Info ::= SEQUENCE {
+ minimumSpreadingFactor MinimumSpreadingFactor,
+ nf-Max NF-Max,
+ channelReqParamsForUCSM ChannelReqParamsForUCSM
+}
+
+UE-DPCCH-Burst ::= ENUMERATED {
+ sub-frames-1,
+ sub-frames-2,
+ sub-frames-5,
+ spare1 }
+
+UE-DPCCHPowerResetAfterDTXOnSecUplink ::= SEQUENCE {
+ filterCoefficient INTEGER (0..5),
+ -- Actual value range powerOffset = (-4..10) * 2
+ powerOffset INTEGER (-8..20),
+ inactivityThresholdForResetPower ENUMERATED {
+ ms10, ms20, ms30, ms40,
+ ms50, ms60, ms80, ms120} OPTIONAL
+}
+
+UE-DRX-Cycle ::= ENUMERATED {
+ sub-frames-4,
+ sub-frames-5,
+ sub-frames-8,
+ sub-frames-10,
+ sub-frames-16,
+ sub-frames-20,
+ spare2,
+ spare1 }
+
+UE-DRX-Cycle2 ::= ENUMERATED {
+ sub-frames-4,
+ sub-frames-5,
+ sub-frames-8,
+ sub-frames-10,
+ sub-frames-16,
+ sub-frames-20,
+ sub-frames-32,
+ sub-frames-40,
+ sub-frames-64,
+ sub-frames-80,
+ spare6,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+UE-DTX-Cycle1-10ms ::= ENUMERATED {
+ sub-frames-1,
+ sub-frames-5,
+ sub-frames-10,
+ sub-frames-20 }
+
+UE-DTX-Cycle1-2ms ::= ENUMERATED {
+ sub-frames-1,
+ sub-frames-4,
+ sub-frames-5,
+ sub-frames-8,
+ sub-frames-10,
+ sub-frames-16,
+ sub-frames-20,
+ spare1 }
+
+UE-DTX-Cycle2-10ms ::= ENUMERATED {
+ sub-frames-5,
+ sub-frames-10,
+ sub-frames-20,
+ sub-frames-40,
+ sub-frames-80,
+ sub-frames-160,
+ spare2,
+ spare1 }
+
+UE-DTX-Cycle2-2ms ::= ENUMERATED {
+ sub-frames-4,
+ sub-frames-5,
+ sub-frames-8,
+ sub-frames-10,
+ sub-frames-16,
+ sub-frames-20,
+ sub-frames-32,
+ sub-frames-40,
+ sub-frames-64,
+ sub-frames-80,
+ sub-frames-128,
+ sub-frames-160,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+UE-DTX-Cycle2-2ms-Secondary ::= ENUMERATED {
+ sub-frames-4,
+ sub-frames-5,
+ sub-frames-8,
+ sub-frames-10,
+ sub-frames-16,
+ sub-frames-20,
+ sub-frames-32,
+ sub-frames-40,
+ sub-frames-64,
+ sub-frames-80,
+ sub-frames-128,
+ sub-frames-160,
+ sub-frames-256,
+ sub-frames-320,
+ sub-frames-512,
+ sub-frames-640,
+ sub-frames-1024,
+ sub-frames-1280,
+ spare14,
+ spare13,
+ spare12,
+ spare11,
+ spare10,
+ spare9,
+ spare8,
+ spare7,
+ spare6,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+UE-DTX-Cycle2InactivityThreshold ::= ENUMERATED {
+ e-dch-tti-1,
+ e-dch-tti-4,
+ e-dch-tti-8,
+ e-dch-tti-16,
+ e-dch-tti-32,
+ e-dch-tti-64,
+ e-dch-tti-128,
+ e-dch-tti-256,
+ spare8,
+ spare7,
+ spare6,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+UE-DTX-long-preamble-length ::= ENUMERATED {
+ slots-4,
+ slots-15 }
+
+UE-DTX-DRX-Offset ::= INTEGER (0..159)
+
+UE-GrantMonitoring-InactivityThreshold ::= ENUMERATED {
+ e-dch-tti-0,
+ e-dch-tti-1,
+ e-dch-tti-2,
+ e-dch-tti-4,
+ e-dch-tti-8,
+ e-dch-tti-16,
+ e-dch-tti-32,
+ e-dch-tti-64,
+ e-dch-tti-128,
+ e-dch-tti-256,
+ spare6,
+ spare5,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+UL-16QAM-Config ::= SEQUENCE {
+ ul-16QAM-Settings UL-16QAM-Settings OPTIONAL,
+ e-TFCI-TableIndex E-TFCI-TableIndex OPTIONAL,
+ mac-es-e-resetIndicator ENUMERATED { true } OPTIONAL
+}
+
+UL-16QAM-Settings ::= SEQUENCE {
+ beta-Ed-Gain-E-AGCH-Table-Selection INTEGER (0..1)
+}
+
+UL-64QAM-Config ::= SEQUENCE {
+ ul-64QAM-Settings UL-64QAM-Settings OPTIONAL,
+ mac-is-i-resetIndicator ENUMERATED { true } OPTIONAL
+}
+
+UL-64QAM-Settings ::= SEQUENCE {
+ beta-Ed-Gain-E-AGCH-Table-Selection INTEGER (0..1)
+}
+
+UL-CCTrCH ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ ul-TargetSIR UL-TargetSIR,
+ timeInfo TimeInfo,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ ul-CCTrCH-TimeslotsCodes UplinkTimeslotsCodes OPTIONAL
+}
+
+UL-CCTrCH-r4 ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ -- The IE ul-TargetSIR corresponds to PRX-DPCHdes for 1.28Mcps TDD
+ -- Actual value PRX-DPCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR,
+ timeInfo TimeInfo,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ ul-CCTrCH-TimeslotsCodes UplinkTimeslotsCodes OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ ul-CCTrCH-TimeslotsCodes UplinkTimeslotsCodes-LCR-r4 OPTIONAL
+ }
+ }
+}
+
+UL-CCTrCH-r7 ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain DEFAULT 1,
+ -- The IE ul-TargetSIR corresponds to PRX-DPCHdes for 1.28Mcps TDD
+ -- Actual value PRX-DPCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR,
+ timeInfo TimeInfo,
+ commonTimeslotInfo CommonTimeslotInfo OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ ul-CCTrCH-TimeslotsCodes UplinkTimeslotsCodes OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ ul-CCTrCH-TimeslotsCodes UplinkTimeslotsCodes-VHCR OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ ul-CCTrCH-TimeslotsCodes UplinkTimeslotsCodes-LCR-r7 OPTIONAL
+ }
+ }
+}
+
+UL-CCTrCHList ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ UL-CCTrCH
+
+UL-CCTrCHList-r4 ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ UL-CCTrCH-r4
+
+UL-CCTrCHList-r7 ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ UL-CCTrCH-r7
+
+UL-CCTrCHListToRemove ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ TFCS-IdentityPlain
+
+UL-CCTrChTPCList ::= SEQUENCE (SIZE (0..maxCCTrCH)) OF
+ TFCS-Identity
+
+UL-ChannelRequirement ::= CHOICE {
+ ul-DPCH-Info UL-DPCH-Info,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received the UE behaviour is not specified.
+ dummy CPCH-SetInfo
+}
+
+UL-ChannelRequirement-r4 ::= CHOICE {
+ ul-DPCH-Info UL-DPCH-Info-r4,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received the UE behaviour is not specified.
+ dummy CPCH-SetInfo
+}
+
+UL-ChannelRequirement-r5 ::= CHOICE {
+ ul-DPCH-Info UL-DPCH-Info-r5,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received the UE behaviour is not specified.
+ dummy CPCH-SetInfo
+}
+
+-- Note: the reference to CPCH in the element name below is incorrect. The name is not
+-- changed to keep it aligned with R99.
+UL-ChannelRequirementWithCPCH-SetID ::= CHOICE {
+ ul-DPCH-Info UL-DPCH-Info,
+ -- dummy1 and dummy 2 are not used in this version of the specification, they should
+ -- not be sent and if received the UE behaviour is not specified.
+ dummy1 CPCH-SetInfo,
+ dummy2 CPCH-SetID
+}
+
+-- Note: the reference to CPCH in the element name below is incorrect. The name is not
+-- changed to keep it aligned with R99.
+UL-ChannelRequirementWithCPCH-SetID-r4 ::= CHOICE {
+ ul-DPCH-Info UL-DPCH-Info-r4,
+ -- dummy1 and dummy2 are not used in this version of the specification, they
+ -- should not be sent and if received the UE behaviour is not specified.
+ dummy1 CPCH-SetInfo,
+ dummy2 CPCH-SetID
+}
+
+-- Note: the reference to CPCH in the element name below is incorrect. The name is not
+-- changed to keep it aligned with R99.
+UL-ChannelRequirementWithCPCH-SetID-r5 ::= CHOICE {
+ ul-DPCH-Info UL-DPCH-Info-r5,
+ -- dummy1 and dummy2 are not used in this version of the specification, they should
+ -- not be sent and if received the UE behaviour is not specified.
+ dummy1 CPCH-SetInfo,
+ dummy2 CPCH-SetID
+}
+
+
+UL-CLTD-InfoFDD ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ s-dpcch-Info S-DPCCH-Information,
+ initial-CLTD-ActivationState ENUMERATED { first-state, second-state } OPTIONAL,
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL
+ }
+ }
+}
+
+UL-CompressedModeMethod ::= ENUMERATED {
+ sf-2,
+ higherLayerScheduling }
+
+UL-DL-Mode ::= CHOICE {
+ ul UL-CompressedModeMethod,
+ dl DL-CompressedModeMethod,
+ ul-and-dl SEQUENCE {
+ ul UL-CompressedModeMethod,
+ dl DL-CompressedModeMethod
+ }}
+
+UL-DPCCH-SlotFormat ::= ENUMERATED {
+ slf0, slf1, slf2 }
+
+UL-DPCH-CodeInfoForCommonEDCH ::= SEQUENCE {
+ ul-DPCCHscramblingCodeType ScramblingCodeType,
+ ul-DPCCHscramblingCode UL-ScramblingCode OPTIONAL
+}
+
+UL-DPCH-Info ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ scramblingCodeType ScramblingCodeType,
+ scramblingCode UL-ScramblingCode,
+ numberOfDPDCH NumberOfDPDCH DEFAULT 1,
+ spreadingFactor SpreadingFactor,
+ tfci-Existence BOOLEAN,
+ -- numberOfFBI-Bits is conditional based on history
+ numberOfFBI-Bits NumberOfFBI-Bits OPTIONAL,
+ puncturingLimit PuncturingLimit
+ },
+ tdd SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvanceControl OPTIONAL,
+ ul-CCTrCHList UL-CCTrCHList OPTIONAL,
+ ul-CCTrCHListToRemove UL-CCTrCHListToRemove OPTIONAL
+ }
+ }
+}
+
+UL-DPCH-Info-r4 ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo-r4 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ scramblingCodeType ScramblingCodeType,
+ scramblingCode UL-ScramblingCode,
+ numberOfDPDCH NumberOfDPDCH DEFAULT 1,
+ spreadingFactor SpreadingFactor,
+ tfci-Existence BOOLEAN,
+ -- numberOfFBI-Bits is conditional based on history
+ numberOfFBI-Bits NumberOfFBI-Bits OPTIONAL,
+ puncturingLimit PuncturingLimit
+ },
+ tdd SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvanceControl-r4 OPTIONAL,
+ ul-CCTrCHList UL-CCTrCHList-r4 OPTIONAL,
+ ul-CCTrCHListToRemove UL-CCTrCHListToRemove OPTIONAL
+ }
+ }
+}
+
+UL-DPCH-Info-r5 ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo-r5 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ scramblingCodeType ScramblingCodeType,
+ scramblingCode UL-ScramblingCode,
+ numberOfDPDCH NumberOfDPDCH DEFAULT 1,
+ spreadingFactor SpreadingFactor,
+ tfci-Existence BOOLEAN,
+ -- numberOfFBI-Bits is conditional based on history
+ numberOfFBI-Bits NumberOfFBI-Bits OPTIONAL,
+ puncturingLimit PuncturingLimit
+ },
+ tdd SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvanceControl-r4 OPTIONAL,
+ ul-CCTrCHList UL-CCTrCHList-r4 OPTIONAL,
+ ul-CCTrCHListToRemove UL-CCTrCHListToRemove OPTIONAL
+ }
+ }
+}
+
+UL-DPCH-Info-r6 ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo-r6 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ scramblingCodeType ScramblingCodeType,
+ scramblingCode UL-ScramblingCode,
+ dpdchPresence CHOICE {
+ present SEQUENCE {
+ numberOfDPDCH NumberOfDPDCH DEFAULT 1,
+ spreadingFactor SpreadingFactor,
+ tfci-Existence BOOLEAN,
+ -- numberOfFBI-Bits is conditional based on history
+ numberOfFBI-Bits NumberOfFBI-Bits OPTIONAL,
+ puncturingLimit PuncturingLimit
+ },
+ notPresent SEQUENCE {
+ tfci-Existence BOOLEAN,
+ -- numberOfFBI-Bits is conditional based on history
+ numberOfFBI-Bits NumberOfFBI-Bits OPTIONAL
+ }
+ }
+ },
+ tdd SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvanceControl-r4 OPTIONAL,
+ ul-CCTrCHList UL-CCTrCHList-r4 OPTIONAL,
+ ul-CCTrCHListToRemove UL-CCTrCHListToRemove OPTIONAL
+ }
+ }
+}
+
+UL-DPCH-Info-r7 ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo-r7 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ scramblingCodeType ScramblingCodeType,
+ scramblingCode UL-ScramblingCode,
+ dpdchPresence CHOICE {
+ present SEQUENCE {
+ numberOfDPDCH NumberOfDPDCH DEFAULT 1,
+ spreadingFactor SpreadingFactor,
+ tfci-Existence BOOLEAN,
+ -- numberOfFBI-Bits is conditional based on history
+ numberOfFBI-Bits NumberOfFBI-Bits OPTIONAL,
+ numberOfTPC-Bits NumberOfTPC-Bits OPTIONAL,
+ puncturingLimit PuncturingLimit
+ },
+ notPresent SEQUENCE {
+ tfci-Existence BOOLEAN,
+ -- numberOfFBI-Bits is conditional based on history
+ numberOfFBI-Bits NumberOfFBI-Bits OPTIONAL,
+ numberOfTPC-Bits NumberOfTPC-Bits OPTIONAL
+ }
+ }
+ },
+ tdd SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvanceControl-r7 OPTIONAL,
+ ul-CCTrCHList UL-CCTrCHList-r7 OPTIONAL,
+ ul-CCTrCHListToRemove UL-CCTrCHListToRemove OPTIONAL
+ }
+ }
+}
+
+UL-DPCH-Info-r11 ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfo-r11 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ scramblingCodeType ScramblingCodeType,
+ scramblingCode UL-ScramblingCode,
+ dpdchPresence CHOICE {
+ present SEQUENCE {
+ numberOfDPDCH NumberOfDPDCH DEFAULT 1,
+ spreadingFactor SpreadingFactor,
+ tfci-Existence BOOLEAN,
+ -- numberOfFBI-Bits is conditional based on history
+ numberOfFBI-Bits NumberOfFBI-Bits OPTIONAL,
+ numberOfTPC-Bits NumberOfTPC-Bits OPTIONAL,
+ puncturingLimit PuncturingLimit
+ },
+ notPresent SEQUENCE {
+ tfci-Existence BOOLEAN,
+ -- numberOfFBI-Bits is conditional based on history
+ numberOfFBI-Bits NumberOfFBI-Bits OPTIONAL,
+ numberOfTPC-Bits NumberOfTPC-Bits OPTIONAL
+ }
+ }
+ },
+ tdd SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvanceControl-r7 OPTIONAL,
+ ul-CCTrCHList UL-CCTrCHList-r7 OPTIONAL,
+ ul-CCTrCHListToRemove UL-CCTrCHListToRemove OPTIONAL
+ }
+ }
+}
+
+UL-DPCH-InfoPostFDD ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfoPostFDD,
+ scramblingCodeType ScramblingCodeType,
+ reducedScramblingCodeNumber ReducedScramblingCodeNumber,
+ spreadingFactor SpreadingFactor
+
+}
+
+UL-DPCH-InfoPostTDD ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfoPostTDD,
+ ul-TimingAdvance UL-TimingAdvanceControl OPTIONAL,
+ ul-CCTrCH-TimeslotsCodes UplinkTimeslotsCodes
+}
+
+UL-DPCH-InfoPostTDD-LCR-r4 ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfoPostTDD-LCR-r4,
+ ul-TimingAdvance UL-TimingAdvanceControl-LCR-r4 OPTIONAL,
+ ul-CCTrCH-TimeslotsCodes UplinkTimeslotsCodes-LCR-r4
+}
+
+UL-DPCH-InfoPredef ::= SEQUENCE {
+ ul-DPCH-PowerControlInfo UL-DPCH-PowerControlInfoPredef,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ tfci-Existence BOOLEAN,
+ puncturingLimit PuncturingLimit
+ },
+ tdd SEQUENCE {
+ commonTimeslotInfo CommonTimeslotInfo
+ }
+ }
+}
+
+UL-DPCH-InfoPredef-v770ext ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ numberOfTPC-Bits NumberOfTPC-Bits OPTIONAL
+ },
+ tdd NULL }
+}
+
+UL-DPCH-PowerControlInfo ::= CHOICE {
+ fdd SEQUENCE {
+ dpcch-PowerOffset DPCCH-PowerOffset,
+ pc-Preamble PC-Preamble,
+ sRB-delay SRB-delay,
+ -- TABULAR: TPC step size nested inside PowerControlAlgorithm
+ powerControlAlgorithm PowerControlAlgorithm
+ },
+ tdd SEQUENCE {
+ ul-TargetSIR UL-TargetSIR OPTIONAL,
+ ul-OL-PC-Signalling CHOICE {
+ broadcast-UL-OL-PC-info NULL,
+ individuallySignalled SEQUENCE {
+ individualTS-InterferenceList IndividualTS-InterferenceList,
+ dpch-ConstantValue ConstantValueTdd,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ } OPTIONAL
+ }
+}
+
+UL-DPCH-PowerControlInfo-r4 ::= CHOICE {
+ fdd SEQUENCE {
+ dpcch-PowerOffset DPCCH-PowerOffset,
+ pc-Preamble PC-Preamble,
+ sRB-delay SRB-delay,
+ -- TABULAR: TPC step size nested inside PowerControlAlgorithm
+ powerControlAlgorithm PowerControlAlgorithm
+ },
+ tdd SEQUENCE {
+ -- The IE ul-TargetSIR corresponds to PRX-DPCHdes for 1.28Mcps TDD
+ -- Actual value PRX-DPCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR OPTIONAL,
+ ul-OL-PC-Signalling CHOICE {
+ broadcast-UL-OL-PC-info NULL,
+ individuallySignalled SEQUENCE {
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ individualTS-InterferenceList IndividualTS-InterferenceList,
+ dpch-ConstantValue ConstantValue
+ },
+ tdd128 SEQUENCE {
+ tpc-StepSize TPC-StepSizeTDD
+ }
+ },
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+}
+
+UL-DPCH-PowerControlInfo-r5 ::= CHOICE {
+ fdd SEQUENCE {
+ dpcch-PowerOffset DPCCH-PowerOffset,
+ pc-Preamble PC-Preamble,
+ sRB-delay SRB-delay,
+ -- TABULAR: TPC step size nested inside PowerControlAlgorithm
+ powerControlAlgorithm PowerControlAlgorithm,
+ deltaACK DeltaACK OPTIONAL,
+ deltaNACK DeltaNACK OPTIONAL,
+ ack-NACK-repetition-factor ACK-NACK-repetitionFactor OPTIONAL
+ },
+ tdd SEQUENCE {
+ -- The IE ul-TargetSIR corresponds to PRX-DPCHdes for 1.28Mcps TDD
+ -- Actual value PRX-DPCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR OPTIONAL,
+ ul-OL-PC-Signalling CHOICE {
+ broadcast-UL-OL-PC-info NULL,
+ individuallySignalled SEQUENCE {
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ individualTS-InterferenceList IndividualTS-InterferenceList,
+ dpch-ConstantValue ConstantValue
+ },
+ tdd128 SEQUENCE {
+ tpc-StepSize TPC-StepSizeTDD
+ }
+ },
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+}
+
+UL-DPCH-PowerControlInfo-r6 ::= CHOICE {
+ fdd SEQUENCE {
+ dpcch-PowerOffset DPCCH-PowerOffset,
+ pc-Preamble PC-Preamble,
+ sRB-delay SRB-delay,
+ -- TABULAR: TPC step size nested inside PowerControlAlgorithm
+ powerControlAlgorithm PowerControlAlgorithm,
+ deltaACK DeltaACK OPTIONAL,
+ deltaNACK DeltaNACK OPTIONAL,
+ ack-NACK-repetition-factor ACK-NACK-repetitionFactor OPTIONAL,
+ harq-Preamble-Mode HARQ-Preamble-Mode
+ },
+ tdd SEQUENCE {
+ -- The IE ul-TargetSIR corresponds to PRX-DPCHdes for 1.28Mcps TDD
+ -- Actual value PRX-DPCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR OPTIONAL,
+ ul-OL-PC-Signalling CHOICE {
+ broadcast-UL-OL-PC-info NULL,
+ individuallySignalled SEQUENCE {
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ individualTS-InterferenceList IndividualTS-InterferenceList,
+ dpch-ConstantValue ConstantValue
+ },
+ tdd128 SEQUENCE {
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ tpc-StepSize TPC-StepSizeTDD
+ }
+ },
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+}
+
+UL-DPCH-PowerControlInfo-r7 ::= CHOICE {
+ fdd SEQUENCE {
+ dpcch-PowerOffset DPCCH-PowerOffset,
+ pc-Preamble PC-Preamble,
+ sRB-delay SRB-delay,
+ -- TABULAR: TPC step size nested inside PowerControlAlgorithm
+ powerControlAlgorithm PowerControlAlgorithm,
+ deltaACK DeltaACK OPTIONAL,
+ deltaNACK DeltaNACK OPTIONAL,
+ ack-NACK-repetition-factor ACK-NACK-repetitionFactor OPTIONAL,
+ harq-Preamble-Mode HARQ-Preamble-Mode
+ },
+ tdd SEQUENCE {
+ -- The IE ul-TargetSIR corresponds to PRX-DPCHdes for 1.28Mcps TDD
+ -- Actual value PRX-DPCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR OPTIONAL,
+ ul-OL-PC-Signalling CHOICE {
+ broadcast-UL-OL-PC-info NULL,
+ individuallySignalled SEQUENCE {
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ individualTS-InterferenceList IndividualTS-InterferenceList,
+ dpch-ConstantValue ConstantValue
+ },
+ tdd768 SEQUENCE {
+ individualTS-InterferenceList IndividualTS-InterferenceList,
+ dpch-ConstantValue ConstantValue
+ },
+ tdd128 SEQUENCE {
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ tpc-StepSize TPC-StepSizeTDD
+ }
+ },
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+}
+
+UL-DPCH-PowerControlInfo-r11 ::= CHOICE {
+ fdd SEQUENCE {
+ dpcch-PowerOffset DPCCH-PowerOffset,
+ pc-Preamble PC-Preamble,
+ sRB-delay SRB-delay,
+ -- TABULAR: TPC step size nested inside PowerControlAlgorithm
+ powerControlAlgorithm PowerControlAlgorithm,
+ deltaACK DeltaACK-r11 OPTIONAL,
+ deltaNACK DeltaNACK-r11 OPTIONAL,
+ ack-NACK-repetition-factor ACK-NACK-repetitionFactor OPTIONAL,
+ ack-NACK-repetition-factor-assisting ACK-NACK-repetitionFactor OPTIONAL,
+ harq-Preamble-Mode HARQ-Preamble-Mode
+ },
+ tdd SEQUENCE {
+ -- The IE ul-TargetSIR corresponds to PRX-DPCHdes for 1.28Mcps TDD
+ -- Actual value PRX-DPCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR OPTIONAL,
+ ul-OL-PC-Signalling CHOICE {
+ broadcast-UL-OL-PC-info NULL,
+ individuallySignalled SEQUENCE {
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ individualTS-InterferenceList IndividualTS-InterferenceList,
+ dpch-ConstantValue ConstantValue
+ },
+ tdd768 SEQUENCE {
+ individualTS-InterferenceList IndividualTS-InterferenceList,
+ dpch-ConstantValue ConstantValue
+ },
+ tdd128 SEQUENCE {
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ tpc-StepSize TPC-StepSizeTDD
+ }
+ },
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+}
+
+UL-DPCHpowerControlInfoConcurrentTTI ::= SEQUENCE {
+ deltaACK DeltaACK OPTIONAL,
+ deltaNACK DeltaNACK OPTIONAL,
+ ack-NACK-repetition-factor ACK-NACK-repetitionFactor OPTIONAL
+}
+
+UL-DPCHpowerControlInfoForCommonEDCH ::= SEQUENCE {
+ -- TABULAR: TPC step size nested inside PowerControlAlgorithm
+ powerControlAlgorithm PowerControlAlgorithm,
+ deltaACK DeltaACK OPTIONAL,
+ deltaNACK DeltaNACK OPTIONAL,
+ ack-NACK-repetition-factor ACK-NACK-repetitionFactor OPTIONAL
+}
+
+UL-DPCH-PowerControlInfoPostFDD ::= SEQUENCE {
+ -- DPCCH-PowerOffset2 has a smaller range to save bits
+ dpcch-PowerOffset DPCCH-PowerOffset2,
+ pc-Preamble PC-Preamble,
+ sRB-delay SRB-delay
+}
+
+UL-DPCH-PowerControlInfoPostTDD ::= SEQUENCE {
+ ul-TargetSIR UL-TargetSIR,
+ ul-TimeslotInterference TDD-UL-Interference
+}
+
+UL-DPCH-PowerControlInfoPostTDD-LCR-r4 ::= SEQUENCE {
+ -- The IE ul-TargetSIR corresponds to PRX-DPCHdes for 1.28Mcps TDD
+ -- Actual value PRX-DPCHdes = (value of IE "ul-TargetSIR" - 120)
+ ul-TargetSIR UL-TargetSIR
+}
+
+UL-DPCH-PowerControlInfoPredef ::= CHOICE {
+ fdd SEQUENCE {
+ -- TABULAR: TPC step size nested inside PowerControlAlgorithm
+ powerControlAlgorithm PowerControlAlgorithm
+ },
+ tdd SEQUENCE {
+ -- dpch-ConstantValue shall be ignored if in 1.28Mcps TDD mode.
+ dpch-ConstantValue ConstantValueTdd
+ }
+}
+
+
+UL-EDCH-Information-ext ::= CHOICE {
+ fdd NULL,
+ tdd SEQUENCE {
+ non-ScheduledTransGrantInfo Non-ScheduledTransGrantInfoTDD-ext OPTIONAL
+ }
+}
+
+UL-EDCH-Information-r6 ::= SEQUENCE {
+ mac-es-e-resetIndicator ENUMERATED { true } OPTIONAL,
+ e-DPCCH-Info E-DPCCH-Info OPTIONAL,
+ e-DPDCH-Info E-DPDCH-Info OPTIONAL,
+ schedulingTransmConfiguration E-DPDCH-SchedulingTransmConfiguration OPTIONAL
+}
+
+UL-EDCH-Information-r7 ::= SEQUENCE {
+ mac-es-e-resetIndicator ENUMERATED { true } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ e-DPCCH-Info E-DPCCH-Info-r7 OPTIONAL,
+ e-DPDCH-Info E-DPDCH-Info-r7 OPTIONAL,
+ schedulingTransmConfiguration E-DPDCH-SchedulingTransmConfiguration OPTIONAL,
+ ul-16QAM-Settings UL-16QAM-Settings OPTIONAL
+ },
+ tdd SEQUENCE {
+ e-RUCCH-Info E-RUCCH-Info OPTIONAL,
+ e-PUCH-Info E-PUCH-Info OPTIONAL,
+ non-ScheduledTransGrantInfo Non-ScheduledTransGrantInfoTDD OPTIONAL
+ }
+ }
+}
+
+UL-EDCH-Information-r8 ::= SEQUENCE {
+ mac-es-e-resetIndicator ENUMERATED { true } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ e-DPCCH-Info E-DPCCH-Info-r7 OPTIONAL,
+ e-DPDCH-Info E-DPDCH-Info-r8 OPTIONAL,
+ schedulingTransmConfiguration E-DPDCH-SchedulingTransmConfiguration OPTIONAL,
+ ul-16QAM-Settings UL-16QAM-Settings OPTIONAL
+ },
+ tdd SEQUENCE {
+ e-RUCCH-Info E-RUCCH-Info OPTIONAL,
+ e-PUCH-Info E-PUCH-Info OPTIONAL,
+ non-ScheduledTransGrantInfo Non-ScheduledTransGrantInfoTDD OPTIONAL
+ }
+ }
+}
+
+UL-EDCH-Information-r9 ::= SEQUENCE {
+ mac-es-e-resetIndicator ENUMERATED { true } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ e-DPCCH-Info E-DPCCH-Info-r7 OPTIONAL,
+ e-DPDCH-Info E-DPDCH-Info-r8 OPTIONAL,
+ schedulingTransmConfiguration E-DPDCH-SchedulingTransmConfiguration OPTIONAL,
+ ul-16QAM-Settings UL-16QAM-Settings OPTIONAL
+ },
+ tdd SEQUENCE {
+ e-RUCCH-Info E-RUCCH-Info OPTIONAL,
+ e-PUCH-Info E-PUCH-Info OPTIONAL,
+ non-ScheduledTransGrantInfo Non-ScheduledTransGrantInfoTDD-r9 OPTIONAL
+ }
+ }
+}
+
+UL-EDCH-Information-r11 ::= SEQUENCE {
+ mac-es-e-resetIndicator ENUMERATED { true } OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ e-DPCCH-Info E-DPCCH-Info-r7 OPTIONAL,
+ e-DPDCH-Info E-DPDCH-Info-r8 OPTIONAL,
+ ul-MIMO-Info UL-MIMO-InfoFDD OPTIONAL,
+ schedulingTransmConfiguration E-DPDCH-SchedulingTransmConfiguration OPTIONAL,
+ ul-16QAM-Settings UL-16QAM-Settings OPTIONAL,
+ ul-64QAM-Settings UL-64QAM-Settings OPTIONAL
+ },
+ tdd SEQUENCE {
+ e-RUCCH-Info E-RUCCH-Info OPTIONAL,
+ e-PUCH-Info E-PUCH-Info OPTIONAL,
+ non-ScheduledTransGrantInfo Non-ScheduledTransGrantInfoTDD-r9 OPTIONAL
+ }
+ }
+}
+
+UL-MIMO-InfoFDD ::= SEQUENCE {
+ configurationInfo CHOICE {
+ continue NULL,
+ newConfiguration SEQUENCE {
+ s-e-dpcch-power-offset INTEGER(0..17),
+ rank2-minimum-E-TFCI E-DCH-MinimumSet-E-TFCI,
+ inter-stream-compensation INTEGER(0..15) OPTIONAL
+ }
+ }
+}
+
+UL-MulticarrierEDCH-InfolistItem-TDD128 ::= SEQUENCE {
+ uarfcn UARFCN,
+ prxdes-base INTEGER (-112..-50),
+ e-PUCH-info E-PUCH-Info-MulticarrierEDCH-TDD128 OPTIONAL,
+ e-AGCH-info E-AGCH-Information-TDD128 OPTIONAL,
+ e-HICH-info E-HICH-Information-TDD128 OPTIONAL
+}
+
+UL-MulticarrierEDCH-Infolist-TDD128 ::= SEQUENCE (SIZE (1..maxTDD128Carrier-1)) OF
+ UL-MulticarrierEDCH-InfolistItem-TDD128
+
+UL-MulticarrierEDCH-Deletelist-TDD128 ::= SEQUENCE (SIZE (1..maxTDD128Carrier-1)) OF
+ UARFCN
+
+UL-MulticarrierEDCHInfo-TDD128 ::= SEQUENCE {
+ configuration-info CHOICE {
+ continue NULL,
+ newConfiguration UL-MulticarrierEDCH-NewConfigurationInfo-TDD128
+ }
+}
+
+UL-MulticarrierEDCH-NewConfigurationInfo-TDD128 ::= SEQUENCE {
+ tsn-Length ENUMERATED { tsn-14bits } OPTIONAL,
+ ul-MulticarrierEDCH-Infolist UL-MulticarrierEDCH-Infolist-TDD128 OPTIONAL,
+ ul-MulticarrierEDCH-Deletelist UL-MulticarrierEDCH-Deletelist-TDD128 OPTIONAL
+}
+
+UL-Interference ::= INTEGER (-110..-70)
+
+UL-ScramblingCode ::= INTEGER (0..16777215)
+
+
+UL-SynchronisationParameters-r4 ::= SEQUENCE {
+ stepSize INTEGER (1..8),
+ frequency INTEGER (1..8)
+}
+
+-- Actual value UL-TargetSIR = (IE value * 0.5) - 11
+UL-TargetSIR ::= INTEGER (0..62)
+
+UL-TimingAdvance ::= INTEGER (0..63)
+
+UL-TimingAdvanceControl ::= CHOICE {
+ disabled NULL,
+ enabled SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvance OPTIONAL,
+ activationTime ActivationTime OPTIONAL
+ }
+}
+
+UL-TimingAdvanceControl-r4 ::= CHOICE {
+ disabled NULL,
+ enabled SEQUENCE {
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvance OPTIONAL,
+ activationTime ActivationTime OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ ul-SynchronisationParameters UL-SynchronisationParameters-r4 OPTIONAL,
+ synchronisationParameters SynchronisationParameters-r4 OPTIONAL
+ }
+ }
+ }
+}
+
+UL-TimingAdvanceControl-r7 ::= CHOICE {
+ disabled NULL,
+ enabled SEQUENCE {
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvance OPTIONAL,
+ ext-UL-TimingAdvance EXT-UL-TimingAdvance OPTIONAL,
+ activationTime ActivationTime OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ ext-UL-TimingAdvance EXT-UL-TimingAdvance OPTIONAL,
+ activationTime ActivationTime OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ ul-SynchronisationParameters UL-SynchronisationParameters-r4 OPTIONAL,
+ synchronisationParameters SynchronisationParameters-r4 OPTIONAL
+ }
+ }
+ }
+}
+
+UL-TimingAdvanceControl-LCR-r4 ::= CHOICE {
+ disabled NULL,
+ enabled SEQUENCE {
+ ul-SynchronisationParameters UL-SynchronisationParameters-r4 OPTIONAL,
+ synchronisationParameters SynchronisationParameters-r4 OPTIONAL
+ }
+}
+
+UL-TransModeSwitchingParam ::= SEQUENCE {
+ k INTEGER (1..32),
+ l INTEGER (1..32),
+ m INTEGER (1..32)
+}
+
+UL-TS-ChannelisationCode ::= ENUMERATED {
+ cc1-1, cc2-1, cc2-2,
+ cc4-1, cc4-2, cc4-3, cc4-4,
+ cc8-1, cc8-2, cc8-3, cc8-4,
+ cc8-5, cc8-6, cc8-7, cc8-8,
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16 }
+
+UL-TS-ChannelisationCodeList ::= SEQUENCE (SIZE (1..2)) OF
+ UL-TS-ChannelisationCode
+
+UL-TS-ChannelisationCodeList-r7 ::= SEQUENCE (SIZE (1..2)) OF
+ SEQUENCE {
+ ul-TS-Channelisation-Code UL-TS-ChannelisationCode,
+ plcch-info PLCCH-Info OPTIONAL
+}
+
+UL-TS-ChannelisationCode-VHCR ::= ENUMERATED {
+ cc1-1, cc2-1, cc2-2,
+ cc4-1, cc4-2, cc4-3, cc4-4,
+ cc8-1, cc8-2, cc8-3, cc8-4,
+ cc8-5, cc8-6, cc8-7, cc8-8,
+ cc16-1, cc16-2, cc16-3, cc16-4,
+ cc16-5, cc16-6, cc16-7, cc16-8,
+ cc16-9, cc16-10, cc16-11, cc16-12,
+ cc16-13, cc16-14, cc16-15, cc16-16,
+ cc32-1, cc32-2, cc32-3, cc32-4,
+ cc32-5, cc32-6, cc32-7, cc32-8,
+ cc32-9, cc32-10, cc32-11, cc32-12,
+ cc32-13, cc32-14, cc32-15, cc32-16,
+ cc32-17, cc32-18, cc32-19, cc32-20,
+ cc32-21, cc32-22, cc32-23, cc32-24,
+ cc32-25, cc32-26, cc32-27, cc32-28,
+ cc32-29, cc32-30, cc32-31, cc32-32 }
+
+UL-TS-ChannelisationCodeList-VHCR ::= SEQUENCE (SIZE (1..2)) OF
+ UL-TS-ChannelisationCode-VHCR
+
+Uplink-DPCCH-Slot-Format-Information ::= ENUMERATED {
+ slot-format-1,
+ -- dummy is not used in this version of
+ -- specification, it should not be sent and if
+ -- received it should be ignored.
+ dummy,
+ slot-format-4,
+ spare1 }
+
+UplinkAdditionalTimeslots ::= SEQUENCE {
+ parameters CHOICE {
+ sameAsLast SEQUENCE {
+ timeslotNumber TimeslotNumber
+ },
+ newParameters SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo,
+ ul-TS-ChannelisationCodeList UL-TS-ChannelisationCodeList
+ }
+ }
+}
+
+UplinkAdditionalTimeslots-LCR-r4 ::= SEQUENCE {
+ parameters CHOICE {
+ sameAsLast SEQUENCE {
+ timeslotNumber TimeslotNumber
+ },
+ newParameters SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo-LCR-r4,
+ ul-TS-ChannelisationCodeList UL-TS-ChannelisationCodeList
+ }
+ }
+}
+
+UplinkAdditionalTimeslots-LCR-r7 ::= SEQUENCE {
+ parameters CHOICE {
+ sameAsLast SEQUENCE {
+ timeslotNumber TimeslotNumber
+ -- plcch-info assigned as previously defined slot
+ },
+ newParameters SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo-LCR-r4,
+ ul-TS-ChannelisationCodeList UL-TS-ChannelisationCodeList-r7
+ }
+ }
+}
+
+UplinkAdditionalTimeslots-VHCR ::= SEQUENCE {
+ parameters CHOICE {
+ sameAsLast SEQUENCE {
+ timeslotNumber TimeslotNumber
+ },
+ newParameters SEQUENCE {
+ individualTimeslotInfo IndividualTimeslotInfo-VHCR,
+ ul-TS-ChannelisationCodeList UL-TS-ChannelisationCodeList
+ }
+ }
+}
+
+UplinkTimeslotsCodes ::= SEQUENCE {
+ dynamicSFusage BOOLEAN,
+ firstIndividualTimeslotInfo IndividualTimeslotInfo,
+ ul-TS-ChannelisationCodeList UL-TS-ChannelisationCodeList,
+ moreTimeslots CHOICE {
+ noMore NULL,
+ additionalTimeslots CHOICE {
+ consecutive SEQUENCE {
+ numAdditionalTimeslots INTEGER (1..maxTS-1)
+ },
+ timeslotList SEQUENCE (SIZE (1..maxTS-1)) OF
+ UplinkAdditionalTimeslots
+ }
+ }
+}
+
+UplinkTimeslotsCodes-VHCR ::= SEQUENCE {
+ dynamicSFusage BOOLEAN,
+ firstIndividualTimeslotInfo IndividualTimeslotInfo-VHCR,
+ ul-TS-ChannelisationCodeList UL-TS-ChannelisationCodeList-VHCR,
+ moreTimeslots CHOICE {
+ noMore NULL,
+ additionalTimeslots CHOICE {
+ consecutive SEQUENCE {
+ numAdditionalTimeslots INTEGER (1..maxTS-1)
+ },
+ timeslotList SEQUENCE (SIZE (1..maxTS-1)) OF
+ UplinkAdditionalTimeslots-VHCR
+ }
+ }
+}
+
+UplinkTimeslotsCodes-LCR-r4 ::= SEQUENCE {
+ dynamicSFusage BOOLEAN,
+ firstIndividualTimeslotInfo IndividualTimeslotInfo-LCR-r4,
+ ul-TS-ChannelisationCodeList UL-TS-ChannelisationCodeList,
+ moreTimeslots CHOICE {
+ noMore NULL,
+ additionalTimeslots CHOICE {
+ consecutive SEQUENCE {
+ numAdditionalTimeslots INTEGER (1..maxTS-LCR-1)
+ },
+ timeslotList SEQUENCE (SIZE (1..maxTS-LCR-1)) OF
+ UplinkAdditionalTimeslots-LCR-r4
+ }
+ }
+}
+
+UplinkTimeslotsCodes-LCR-r7 ::= SEQUENCE {
+ dynamicSFusage BOOLEAN,
+ firstIndividualTimeslotInfo IndividualTimeslotInfo-LCR-r4,
+ ul-TS-ChannelisationCodeList UL-TS-ChannelisationCodeList-r7,
+ moreTimeslots CHOICE {
+ noMore NULL,
+ additionalTimeslots CHOICE {
+ consecutive SEQUENCE {
+ -- the choice of 'consecutive' is not needed because there is only 1 option.
+ numAdditionalTimeslots INTEGER (1..maxTS-LCR-1)
+ },
+ timeslotList SEQUENCE (SIZE (1..maxTS-LCR-1)) OF
+ UplinkAdditionalTimeslots-LCR-r7
+ }
+ }
+}
+
+UpPCHposition-LCR ::= INTEGER (0..127)
+
+Wi-LCR ::= INTEGER (1..4)
+
+-- ***************************************************
+--
+-- MEASUREMENT INFORMATION ELEMENTS (10.3.7)
+--
+-- ***************************************************
+
+AcquisitionSatInfo ::= SEQUENCE {
+ satID SatID,
+ -- Actual value dopplerOthOrder = IE value * 2.5
+ doppler0thOrder INTEGER (-2048..2047),
+ extraDopplerInfo ExtraDopplerInfo OPTIONAL,
+ codePhase INTEGER (0..1022),
+ integerCodePhase INTEGER (0..19),
+ gps-BitNumber INTEGER (0..3),
+ codePhaseSearchWindow CodePhaseSearchWindow,
+ azimuthAndElevation AzimuthAndElevation OPTIONAL
+}
+
+AcquisitionSatInfo-va40ext ::= SEQUENCE {
+ azimuthAndElevation AzimuthAndElevation-va40ext OPTIONAL
+}
+
+AcquisitionSatInfo-r10 ::= SEQUENCE {
+ satID SatID,
+ -- Actual value dopplerOthOrder = IE value * 2.5
+ doppler0thOrder INTEGER (-2048..2047),
+ extraDopplerInfo ExtraDopplerInfo OPTIONAL,
+ codePhase INTEGER (0..1022),
+ integerCodePhase INTEGER (0..19),
+ gps-BitNumber INTEGER (0..3),
+ codePhaseSearchWindow CodePhaseSearchWindow,
+ azimuthAndElevation AzimuthAndElevation-r10 OPTIONAL
+}
+AcquisitionSatInfo-vc50ext ::= SEQUENCE {
+ extraDopplerInfoExtension ExtraDopplerInfoExtension OPTIONAL
+}
+
+AcquisitionSatInfo-r12 ::= SEQUENCE {
+ satID SatID,
+ -- Actual value dopplerOthOrder = IE value * 2.5
+ doppler0thOrder INTEGER (-2048..2047),
+ extraDopplerInfo ExtraDopplerInfo OPTIONAL,
+-- If the extraDopplerInfoExtension is present, the extraDopplerInfo should not be present
+ extraDopplerInfoExtension ExtraDopplerInfoExtension OPTIONAL,
+ codePhase INTEGER (0..1022),
+ integerCodePhase INTEGER (0..19),
+ gps-BitNumber INTEGER (0..3),
+ codePhaseSearchWindow CodePhaseSearchWindow,
+ azimuthAndElevation AzimuthAndElevation-r10 OPTIONAL
+}
+
+AcquisitionSatInfoList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ AcquisitionSatInfo
+
+AcquisitionSatInfoList-va40ext ::= SEQUENCE (SIZE (1..maxSat)) OF
+ AcquisitionSatInfo-va40ext
+
+AcquisitionSatInfoList-r10 ::= SEQUENCE (SIZE (1..maxSat)) OF
+ AcquisitionSatInfo-r10
+
+AcquisitionSatInfoList-vc50ext ::= SEQUENCE (SIZE (1..maxSat)) OF
+ AcquisitionSatInfo-vc50ext
+
+AcquisitionSatInfoList-r12 ::= SEQUENCE (SIZE (1..maxSat)) OF
+ AcquisitionSatInfo-r12
+
+AdditionalMeasurementID-List ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
+ MeasurementIdentity
+
+AdditionalMeasurementID-List-r9 ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
+ MeasurementIdentity-r9
+
+AlmanacSatInfo ::= SEQUENCE {
+ dataID INTEGER (0..3),
+ satID SatID,
+ e BIT STRING (SIZE (16)),
+ t-oa BIT STRING (SIZE (8)),
+ deltaI BIT STRING (SIZE (16)),
+ omegaDot BIT STRING (SIZE (16)),
+ satHealth BIT STRING (SIZE (8)),
+ a-Sqrt BIT STRING (SIZE (24)),
+ omega0 BIT STRING (SIZE (24)),
+ m0 BIT STRING (SIZE (24)),
+ omega BIT STRING (SIZE (24)),
+ af0 BIT STRING (SIZE (11)),
+ af1 BIT STRING (SIZE (11))
+}
+
+AlmanacSatInfoList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ AlmanacSatInfo
+
+ALM-BDSKeplerianSet ::= SEQUENCE {
+ sat-info-BDSkpList GANSS-SAT-Info-Almanac-BDSkpList
+}
+
+ALM-ECEFsbasAlmanacSet ::= SEQUENCE {
+ sat-info-SBASecefList GANSS-SAT-Info-Almanac-SBASecefList
+}
+
+ALM-GlonassAlmanacSet ::= SEQUENCE {
+ sat-info-GLOkpList GANSS-SAT-Info-Almanac-GLOkpList
+}
+
+ALM-keplerianParameters ::= SEQUENCE {
+ -- time of week by 600s steps
+ t-oa INTEGER (0..1023),
+ iod-a INTEGER (0..15),
+ sat-info-kpList GANSS-SAT-Info-Almanac-KpList
+}
+
+ALM-MidiAlmanacSet ::= SEQUENCE {
+ -- time of week by 4096s steps
+ t-oa INTEGER (0..147),
+ sat-info-MIDIkpList GANSS-SAT-Info-Almanac-MIDIkpList
+}
+
+ALM-NAVKeplerianSet ::= SEQUENCE {
+ -- time of week by 4096s steps
+ t-oa INTEGER (0..147),
+ sat-info-NAVkpList GANSS-SAT-Info-Almanac-NAVkpList
+}
+
+ALM-ReducedKeplerianSet ::= SEQUENCE {
+ -- time of week by 4096s steps
+ t-oa INTEGER (0..147),
+ sat-info-REDkpList GANSS-SAT-Info-Almanac-REDkpList
+}
+
+AuxInfoGANSS-ID1 ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF AuxInfoGANSS-ID1-element
+
+AuxInfoGANSS-ID1-element ::= SEQUENCE {
+ svID INTEGER(0..63),
+ signalsAvailable BIT STRING (SIZE(8))
+}
+
+AuxInfoGANSS-ID3 ::= SEQUENCE (SIZE (1.. maxGANSSSat)) OF AuxInfoGANSS-ID3-element
+
+AuxInfoGANSS-ID3-element ::= SEQUENCE {
+ svID INTEGER (0..63),
+ signalsAvailable BIT STRING (SIZE (8)),
+ channelNumber INTEGER (-7..13)
+}
+
+AverageRLC-BufferPayload ::= ENUMERATED {
+ pla0, pla4, pla8, pla16, pla32,
+ pla64, pla128, pla256, pla512,
+ pla1024, pla2k, pla4k, pla8k, pla16k,
+ pla32k, pla64k, pla128k, pla256k,
+ pla512k, pla1024k, spare12, spare11,
+ spare10, spare9, spare8, spare7, spare6,
+ spare5, spare4, spare3, spare2, spare1 }
+
+AzimuthAndElevation ::= SEQUENCE {
+ -- Actual value azimuth = IE value * 11.25 + IE value of azimuthLSB * 0.703125 degrees
+ azimuth INTEGER (0..31),
+ -- Actual value elevation = IE value * 11.25 + IE value of elevationLSB * 0.703125 degrees
+ elevation INTEGER (0..7)
+}
+
+AzimuthAndElevation-va40ext ::= SEQUENCE {
+ azimuthLSB INTEGER (0..15),
+ elevationLSB INTEGER (0..15)
+}
+
+AzimuthAndElevation-r10 ::= SEQUENCE {
+ -- Actual value azimuth = IE value * 11.25 + IE value of azimuthLSB * 0.703125 degrees
+ azimuth INTEGER (0..31),
+ -- Actual value elevation = IE value * 11.25 + IE value of elevationLSB * 0.703125 degrees
+ elevation INTEGER (0..7),
+ azimuthLSB INTEGER (0..15),
+ elevationLSB INTEGER (0..15)
+}
+
+BadSatList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ INTEGER (0..63)
+
+Frequency-Band ::= ENUMERATED {
+ dcs1800BandUsed, pcs1900BandUsed }
+
+BCCH-ARFCN ::= INTEGER (0..1023)
+
+BDSclockModel ::= SEQUENCE {
+ bdsAODC BIT STRING (SIZE (5)),
+ bdsToc BIT STRING (SIZE (17)),
+ bdsa0 BIT STRING (SIZE (24)),
+ bdsa1 BIT STRING (SIZE (22)),
+ bdsa2 BIT STRING (SIZE (11)),
+ bdsTgd1 BIT STRING (SIZE (10))
+}
+
+BDS-IGPInfoList ::= SEQUENCE (SIZE (1..maxIGPInfo)) OF SEQUENCE {
+ bds-IGPNumber INTEGER (1..320),
+ bds-VerticalDelay BIT STRING (SIZE (9)),
+ bds-GIVEI BIT STRING (SIZE (4))
+}
+
+DBDS-InfoList ::= SEQUENCE (SIZE (1..maxSgnType)) OF DBDS-Info
+
+DBDS-Info ::= SEQUENCE {
+ bds-SignalID GANSS-Signal-Id OPTIONAL,
+ dbds-SignalInfoList DBDS-SignalInfoList
+}
+
+DBDS-SignalInfoList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ DBDS-SignalInfo
+
+DBDS-SignalInfo ::= SEQUENCE {
+ svID INTEGER(0..63),
+ bds-UDREI INTEGER (0..15),
+ bds-RURAI INTEGER (0..15),
+ bds-ECC-DeltaT BIT STRING (SIZE (13))
+}
+
+BLER-MeasurementResults ::= SEQUENCE {
+ transportChannelIdentity TransportChannelIdentity,
+ dl-TransportChannelBLER DL-TransportChannelBLER OPTIONAL
+}
+
+BLER-MeasurementResultsList ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ BLER-MeasurementResults
+
+BLER-TransChIdList ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ TransportChannelIdentity
+
+BSIC-VerificationRequired ::= ENUMERATED {
+ required, notRequired }
+
+BSICReported ::= CHOICE {
+ -- Value maxCellMeas is not allowed for verifiedBSIC
+ verifiedBSIC INTEGER (0..maxCellMeas),
+ nonVerifiedBSIC BCCH-ARFCN
+}
+
+BurstModeParameters ::= SEQUENCE {
+ burstStart INTEGER (0..15),
+ burstLength INTEGER (10..25),
+ burstFreq INTEGER (1..16)
+}
+
+CellDCH-ReportCriteria ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria,
+ periodicalReportingCriteria PeriodicalReportingCriteria
+}
+
+CellDCH-ReportCriteria-LCR-r4 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-LCR-r4,
+ periodicalReportingCriteria PeriodicalReportingCriteria
+}
+
+CellDCHMeasOccasionPattern-LCR ::= SEQUENCE {
+ patternIdentifier INTEGER(0..maxMeasOccasionPattern-1),
+ statusFlag ENUMERATED {
+ activate, deactivate},
+ measurementPurpose BIT STRING (SIZE (5)) OPTIONAL,
+ measurementOccasionPatternParameter MeasurementOccasionPatternParameter OPTIONAL
+}
+CellDCHMeasOccasionInfo-TDD128-r9::= SEQUENCE {
+ cellDCHMeasOccasionSequenceList SEQUENCE (SIZE (1..maxMeasOccasionPattern)) OF
+ CellDCHMeasOccasionPattern-LCR
+}
+
+-- Actual value CellIndividualOffset = IE value * 0.5
+CellIndividualOffset ::= INTEGER (-20..20)
+
+
+CellInfo ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ primaryCPICH-TX-Power PrimaryCPICH-TX-Power OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ tx-DiversityIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ primaryCCPCH-Info PrimaryCCPCH-Info,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList OPTIONAL,
+ readSFN-Indicator BOOLEAN
+ }
+ }
+}
+
+CellInfo-r4 ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ primaryCPICH-TX-Power PrimaryCPICH-TX-Power OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ tx-DiversityIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ primaryCCPCH-Info PrimaryCCPCH-Info-r4,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList-r4 OPTIONAL,
+ readSFN-Indicator BOOLEAN
+
+ }
+ }
+}
+
+CellInfo-LCR-r8-ext ::= SEQUENCE {
+ cellSelectionReselectionInfo CellSelectReselectInfoMC-RSCP OPTIONAL
+}
+
+CellInfo-r9 ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ primaryCPICH-TX-Power PrimaryCPICH-TX-Power OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ tx-DiversityIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ primaryCCPCH-Info PrimaryCCPCH-Info-r4,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList-r4 OPTIONAL,
+ readSFN-Indicator BOOLEAN
+ }
+ },
+ -- For 1.28 Mcps TDD, cellSelectionReselectionInfo is optional present when sent
+ -- in Measurement Control.For FDD, this IE is not needed.
+ cellSelectionReselectionInfo CellSelectReselectInfoMC-RSCP OPTIONAL
+}
+
+CellInfoListToBeExcluded::= SEQUENCE (SIZE (1..maxExcludedDetectedSetCells )) OF
+ PrimaryCPICH-Info
+
+CellInfoSI-RSCP ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ primaryCPICH-TX-Power PrimaryCPICH-TX-Power OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ tx-DiversityIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ primaryCCPCH-Info PrimaryCCPCH-Info,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList OPTIONAL,
+ readSFN-Indicator BOOLEAN
+ }
+ },
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12-RSCP OPTIONAL
+}
+
+CellInfoSI-RSCP-LCR-r4 ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ primaryCCPCH-Info PrimaryCCPCH-Info-LCR-r4,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList-LCR-r4 OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12-RSCP OPTIONAL
+}
+
+CellInfoSI-ECN0 ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ primaryCPICH-TX-Power PrimaryCPICH-TX-Power OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ tx-DiversityIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ primaryCCPCH-Info PrimaryCCPCH-Info,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList OPTIONAL,
+ readSFN-Indicator BOOLEAN
+ }
+ },
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12-ECN0 OPTIONAL
+}
+
+CellInfoSI-ECN0-LCR-r4 ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ primaryCCPCH-Info PrimaryCCPCH-Info-LCR-r4,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList-LCR-r4 OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12-ECN0 OPTIONAL
+}
+
+CellInfoSI-HCS-RSCP ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ primaryCPICH-TX-Power PrimaryCPICH-TX-Power OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ tx-DiversityIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ primaryCCPCH-Info PrimaryCCPCH-Info,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList OPTIONAL,
+ readSFN-Indicator BOOLEAN
+ }
+ },
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12-HCS-RSCP OPTIONAL
+}
+
+CellInfoSI-HCS-RSCP-LCR-r4 ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ primaryCCPCH-Info PrimaryCCPCH-Info-LCR-r4,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList-LCR-r4 OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12-HCS-RSCP OPTIONAL
+}
+
+CellInfoSI-HCS-ECN0 ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info OPTIONAL,
+ primaryCPICH-TX-Power PrimaryCPICH-TX-Power OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ tx-DiversityIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ primaryCCPCH-Info PrimaryCCPCH-Info,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList OPTIONAL,
+ readSFN-Indicator BOOLEAN
+ }
+ },
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12-HCS-ECN0 OPTIONAL
+}
+
+CellInfoSI-HCS-ECN0-LCR-r4 ::= SEQUENCE {
+ cellIndividualOffset CellIndividualOffset DEFAULT 0,
+ referenceTimeDifferenceToCell ReferenceTimeDifferenceToCell OPTIONAL,
+ primaryCCPCH-Info PrimaryCCPCH-Info-LCR-r4,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power OPTIONAL,
+ timeslotInfoList TimeslotInfoList-LCR-r4 OPTIONAL,
+ readSFN-Indicator BOOLEAN,
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12-HCS-ECN0 OPTIONAL
+}
+
+CellMeasuredResults ::= SEQUENCE {
+ cellIdentity CellIdentity OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SFN-SFN-ObsTimeDifference OPTIONAL,
+ cellSynchronisationInfo CellSynchronisationInfo OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cpich-Ec-N0 CPICH-Ec-N0 OPTIONAL,
+ cpich-RSCP CPICH-RSCP OPTIONAL,
+ pathloss Pathloss OPTIONAL
+ },
+ tdd SEQUENCE {
+ cellParametersID CellParametersID,
+ proposedTGSN TGSN OPTIONAL,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL,
+ pathloss Pathloss OPTIONAL,
+ timeslotISCP-List TimeslotISCP-List OPTIONAL
+ }
+ }
+}
+
+-- The IE is created in order to add missing DeltaRSCPPerCell IE from Rel-5.
+CellMeasuredResults-r9 ::= SEQUENCE {
+ cellIdentity CellIdentity OPTIONAL,
+ cellSynchronisationInfo CellSynchronisationInfo OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cpich-Ec-N0 CPICH-Ec-N0 OPTIONAL,
+ cpich-RSCP CPICH-RSCP OPTIONAL,
+ deltaRSCPPerCell DeltaRSCPPerCell OPTIONAL,
+ pathloss Pathloss OPTIONAL
+ },
+ tdd SEQUENCE {
+ cellParametersID CellParametersID,
+ proposedTGSN TGSN OPTIONAL,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL,
+ pathloss Pathloss OPTIONAL,
+ timeslotISCP-List TimeslotISCP-List OPTIONAL
+ }
+ }
+}
+
+CellMeasuredResults-v920ext ::= SEQUENCE {
+ csgIdentity CSG-Identity OPTIONAL,
+ csgMemberIndication ENUMERATED { member } OPTIONAL
+}
+
+CellMeasuredResults-vc50ext ::= SEQUENCE {
+ csg-MemberPLMNList CSG-MemberPLMNList OPTIONAL
+}
+
+CellMeasurementEventResults ::= CHOICE {
+ fdd SEQUENCE (SIZE (1..maxCellMeas)) OF
+ PrimaryCPICH-Info,
+ tdd SEQUENCE (SIZE (1..maxCellMeas)) OF
+ PrimaryCCPCH-Info
+}
+
+CellMeasurementEventResultsOnSecUlFreq ::= CHOICE {
+ fdd SEQUENCE (SIZE (1.. maxCellMeasOnSecULFreq)) OF
+ PrimaryCPICH-Info,
+ spare NULL
+}
+
+CellMeasurementEventResults-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ PrimaryCCPCH-Info-LCR-r4
+
+CellReportingQuantities ::= SEQUENCE {
+ -- dummy is not used in this version of the specification
+ -- and if received it should be ignored.
+ dummy SFN-SFN-OTD-Type,
+ cellIdentity-reportingIndicator BOOLEAN,
+ cellSynchronisationInfoReportingIndicator BOOLEAN,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ cpich-Ec-N0-reportingIndicator BOOLEAN,
+ cpich-RSCP-reportingIndicator BOOLEAN,
+ pathloss-reportingIndicator BOOLEAN
+ },
+ tdd SEQUENCE {
+ timeslotISCP-reportingIndicator BOOLEAN,
+ proposedTGSN-ReportingRequired BOOLEAN,
+ primaryCCPCH-RSCP-reportingIndicator BOOLEAN,
+ pathloss-reportingIndicator BOOLEAN
+ }
+ }
+}
+
+CellSelectReselectInfoMC-RSCP ::= SEQUENCE {
+ q-OffsetS-N Q-OffsetS-N DEFAULT 0,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ hcs-NeighbouringCellInformation-RSCP
+ HCS-NeighbouringCellInformation-RSCP OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ q-QualMin Q-QualMin OPTIONAL,
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ tdd SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ gsm SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ }
+ }
+}
+
+CellSelectReselectInfoSIB-11-12 ::= SEQUENCE {
+ q-Offset1S-N Q-OffsetS-N DEFAULT 0,
+ q-Offset2S-N Q-OffsetS-N OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ hcs-NeighbouringCellInformation-RSCP
+ HCS-NeighbouringCellInformation-RSCP OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ q-QualMin Q-QualMin OPTIONAL,
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ tdd SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ gsm SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ }
+ }
+}
+
+CellSelectReselectInfoSIB-11-12-RSCP ::= SEQUENCE {
+ q-OffsetS-N Q-OffsetS-N DEFAULT 0,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ q-QualMin Q-QualMin OPTIONAL,
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ tdd SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ gsm SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ }
+ }
+}
+
+CellSelectReselectInfoSIB-11-12-ECN0 ::= SEQUENCE {
+ q-Offset1S-N Q-OffsetS-N DEFAULT 0,
+ q-Offset2S-N Q-OffsetS-N DEFAULT 0,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ q-QualMin Q-QualMin OPTIONAL,
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ tdd SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ gsm SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ }
+ }
+}
+
+CellSelectReselectInfoSIB-11-12-HCS-RSCP ::= SEQUENCE {
+ q-OffsetS-N Q-OffsetS-N DEFAULT 0,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ hcs-NeighbouringCellInformation-RSCP
+ HCS-NeighbouringCellInformation-RSCP OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ q-QualMin Q-QualMin OPTIONAL,
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ tdd SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ gsm SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ }
+ }
+}
+
+CellSelectReselectInfoSIB-11-12-HCS-ECN0 ::= SEQUENCE {
+ q-Offset1S-N Q-OffsetS-N DEFAULT 0,
+ q-Offset2S-N Q-OffsetS-N DEFAULT 0,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ hcs-NeighbouringCellInformation-ECN0
+ HCS-NeighbouringCellInformation-ECN0 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ q-QualMin Q-QualMin OPTIONAL,
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ tdd SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ },
+ gsm SEQUENCE {
+ q-RxlevMin Q-RxlevMin OPTIONAL
+ }
+ }
+}
+
+CellSelectReselectInfo-v590ext ::= SEQUENCE {
+ deltaQrxlevmin DeltaQrxlevmin OPTIONAL,
+ deltaQhcs DeltaRSCP OPTIONAL
+}
+
+CellSelectReselectInfoPCHFACH-v5b0ext ::= SEQUENCE {
+ q-Hyst-l-S-PCH Q-Hyst-S-Fine OPTIONAL,
+ q-Hyst-l-S-FACH Q-Hyst-S-Fine OPTIONAL,
+ q-Hyst-2-S-PCH Q-Hyst-S-Fine OPTIONAL,
+ q-Hyst-2-S-FACH Q-Hyst-S-Fine OPTIONAL,
+ t-Reselection-S-PCH T-Reselection-S OPTIONAL,
+ t-Reselection-S-FACH T-Reselection-S-Fine OPTIONAL
+}
+
+CellSelectReselectInfoTreselectionScaling-v5c0ext ::= SEQUENCE {
+ -- For speed detection, the same HCS parameters are utilised
+ non-HCS-t-CR-Max T-CRMax OPTIONAL,
+ speedDependentScalingFactor SpeedDependentScalingFactor OPTIONAL,
+ interFrequencyTreselectionScalingFactor TreselectionScalingFactor OPTIONAL,
+ interRATTreselectionScalingFactor TreselectionScalingFactor OPTIONAL
+}
+
+CellsForInterFreqMeasList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ InterFreqCellID
+
+CellsForInterFreqMeasList-r12 ::= SEQUENCE (SIZE (1..maxCellMeas-ext)) OF
+ InterFreqCellID-r12
+
+CellsForInterRATMeasList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ InterRATCellID
+
+CellsForIntraFreqMeasList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ IntraFreqCellID
+
+CellsForIntraFreqMeasListOnSecULFreq ::= SEQUENCE (SIZE (1..maxCellMeasOnSecULFreq)) OF
+ IntraFreqCellIDOnSecULFreq
+
+CellSynchronisationInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ countC-SFN-Frame-difference CountC-SFN-Frame-difference OPTIONAL,
+ tm INTEGER(0..38399)
+ },
+ tdd SEQUENCE {
+ countC-SFN-Frame-difference CountC-SFN-Frame-difference OPTIONAL
+ }
+ }
+}
+
+CellToReport ::= SEQUENCE {
+ bsicReported BSICReported
+}
+
+CellToReportList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellToReport
+
+CNAVclockModel ::= SEQUENCE {
+ cnavToc BIT STRING (SIZE (11)),
+ cnavTop BIT STRING (SIZE (11)),
+ cnavURA0 BIT STRING (SIZE (5)),
+ cnavURA1 BIT STRING (SIZE (3)),
+ cnavURA2 BIT STRING (SIZE (3)),
+ cnavAf2 BIT STRING (SIZE (10)),
+ cnavAf1 BIT STRING (SIZE (20)),
+ cnavAf0 BIT STRING (SIZE (26)),
+ cnavTgd BIT STRING (SIZE (13)),
+ cnavISCl1cp BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl1cd BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl1ca BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl2c BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl5i5 BIT STRING (SIZE (13)) OPTIONAL,
+ cnavISCl5q5 BIT STRING (SIZE (13)) OPTIONAL
+}
+
+CodePhaseSearchWindow ::= ENUMERATED {
+ w1023, w1, w2, w3, w4, w6, w8,
+ w12, w16, w24, w32, w48, w64,
+ w96, w128, w192 }
+
+CountC-SFN-Frame-difference ::= SEQUENCE {
+ -- Actual value countC-SFN-High = IE value * 256
+ countC-SFN-High INTEGER(0..15),
+ off INTEGER(0..255)
+}
+
+-- SPARE: CPICH-Ec-No, Max = 49
+-- Values above Max are spare
+CPICH-Ec-N0 ::= INTEGER (0..63)
+
+-- SPARE: CPICH- RSCP, Max = 91
+-- Values above Max are spare
+CPICH-RSCP ::= INTEGER (0..127)
+
+CPICH-Ec-N0-RSCP ::= SEQUENCE {
+ cpich-Ec-N0 CPICH-Ec-N0,
+ cpich-RSCP CPICH-RSCP
+}
+
+CSG-MemberPLMNList ::= SEQUENCE(SIZE (1..6)) OF
+ PLMN-Identity
+
+CSGCellInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ startPSC PrimaryCPICH-Info,
+ numberOfPSCs INTEGER (1..512)
+ },
+ tdd NULL
+ }
+}
+
+CSGCellInfoList ::= SEQUENCE (SIZE (1..maxMeasCSGRange)) OF
+ CSGCellInfo
+
+CSGInterFreqCellInfo ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ cSGInterFreqCellInfoListperFreq CSGCellInfoList
+}
+
+CSGInterFreqCellInfoList ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ CSGInterFreqCellInfo
+
+CSGIntraFreqCellInfoList ::= CSGCellInfoList
+
+CSGProximityDetection ::= SEQUENCE {
+ uTRACSGProximityDetec ENUMERATED { enable } OPTIONAL,
+ e-UTRACSGProximityDetec ENUMERATED { enable } OPTIONAL
+}
+
+CSGProximityIndication ::= SEQUENCE {
+ cSGproximityInd ENUMERATED {entering, leaving },
+ radioAccessTechnology CHOICE {
+ uTRA SEQUENCE {
+ cSGFrequencyInfoUTRA FrequencyInfo
+ },
+ e-UTRA SEQUENCE {
+ cSGFrequencyInfoEUTRA EARFCN
+ }
+ }
+}
+
+CSGProximityIndication-vb50ext ::= SEQUENCE {
+ cSGFrequencyInfoEUTRA EARFCNExtension OPTIONAL
+}
+
+DataBitAssistance ::= SEQUENCE {
+ ganss-signal-id GANSS-Signal-Id,
+ data-bits BIT STRING (SIZE (1..1024))
+}
+
+DataBitAssistanceList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ DataBitAssistanceSat
+
+DataBitAssistanceSat ::= SEQUENCE {
+ satID INTEGER(0..63),
+ dataBitAssistanceSgnList DataBitAssistanceSgnList
+}
+
+DataBitAssistanceSgnList ::= SEQUENCE (SIZE (1..maxSgnType)) OF
+ DataBitAssistance
+
+DeltaPRC ::= INTEGER (-127..127)
+
+--Actual value DeltaQrxlevmin = IE value * 2
+DeltaQrxlevmin ::= INTEGER (-2..-1)
+
+DeltaRSCP ::= INTEGER (-5..-1)
+
+DeltaRSCPPerCell ::= SEQUENCE {
+ deltaRSCP DeltaRSCP OPTIONAL
+}
+
+-- Actual value DeltaRRC = IE value * 0.032
+DeltaRRC ::= INTEGER (-7..7)
+
+DeltaUT1 ::= SEQUENCE {
+ b1 BIT STRING (SIZE (11)),
+ b2 BIT STRING (SIZE (10))
+}
+
+DGANSSInfo ::= SEQUENCE {
+ ganssSignalId GANSS-Signal-Id OPTIONAL,
+ ganssStatusHealth GANSS-Status-Health,
+ dgansssignalInformationList DGANSSSignalInformationList OPTIONAL
+}
+
+DGANSSInfo-r9 ::= SEQUENCE {
+ ganssSignalId GANSS-Signal-Id OPTIONAL,
+ ganssStatusHealth GANSS-Status-Health,
+ dgansssignalInformationList DGANSSSignalInformationList-r9 OPTIONAL
+}
+
+DGANSSInfo-v920ext ::= SEQUENCE {
+ dgansssignalInformationList DGANSSSignalInformationList-v920ext OPTIONAL
+}
+
+DGANSSInfoList ::= SEQUENCE (SIZE (1..maxSgnType)) OF
+ DGANSSInfo
+
+DGANSSInfoList-r9 ::= SEQUENCE (SIZE (1..maxSgnType)) OF
+ DGANSSInfo-r9
+
+DGANSSInfoList-v920ext ::= SEQUENCE (SIZE (1..maxSgnType)) OF
+ DGANSSInfo-v920ext
+
+DGANSSSignalInformation ::= SEQUENCE {
+ satId INTEGER (0..63),
+ iode-dganss BIT STRING (SIZE (10)),
+ udre UDRE,
+ ganss-prc INTEGER (-2047..2047), -- scale factor 0.32
+ ganss-rrc INTEGER (-127..127) -- scale factor 0.032
+}
+
+DGANSSSignalInformation-r9 ::= SEQUENCE {
+ satId INTEGER (0..63),
+ iode-dganss BIT STRING (SIZE (10)),
+ udre UDRE,
+ ganss-prc INTEGER (-2047..2047), -- scale factor 0.32
+ ganss-rrc INTEGER (-127..127), -- scale factor 0.032
+ udreGrowthRate UDREGrowthRate OPTIONAL,
+ udreValidityTime UDREValidityTime OPTIONAL
+}
+
+DGANSSSignalInformation-v920ext ::= SEQUENCE {
+ udreGrowthRate UDREGrowthRate OPTIONAL,
+ udreValidityTime UDREValidityTime OPTIONAL
+}
+
+DGANSSSignalInformationList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ DGANSSSignalInformation
+
+DGANSSSignalInformationList-r9 ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ DGANSSSignalInformation-r9
+
+DGANSSSignalInformationList-v920ext ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ DGANSSSignalInformation-v920ext
+
+DGANSS-Sig-Id-Req ::= BIT STRING (SIZE (8))
+
+DGPS-CorrectionSatInfo ::= SEQUENCE {
+ satID SatID,
+ iode IODE,
+ udre UDRE,
+ prc PRC,
+ rrc RRC,
+-- dummy1 and dummy2 are not used in this version of the specification and should be ignored.
+ dummy1 DeltaPRC,
+ dummy2 DeltaRRC,
+ -- dummy3 and dummy4 are not used in this version of the specification. They should not
+ -- be sent and if received they should be ignored.
+ dummy3 DeltaPRC OPTIONAL,
+ dummy4 DeltaRRC OPTIONAL
+}
+
+DGPS-CorrectionSatInfo-r9 ::= SEQUENCE {
+ satID SatID,
+ iode IODE,
+ udre UDRE,
+ prc PRC,
+ rrc RRC,
+ udreGrowthRate UDREGrowthRate OPTIONAL,
+ udreValidityTime UDREValidityTime OPTIONAL
+}
+
+DGPS-CorrectionSatInfo-v920ext ::= SEQUENCE {
+ udreGrowthRate UDREGrowthRate OPTIONAL,
+ udreValidityTime UDREValidityTime OPTIONAL
+}
+
+DGPS-CorrectionSatInfoList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ DGPS-CorrectionSatInfo
+
+DGPS-CorrectionSatInfoList-r9 ::= SEQUENCE (SIZE (1..maxSat)) OF
+ DGPS-CorrectionSatInfo-r9
+
+DGPS-CorrectionSatInfoList-v920ext ::= SEQUENCE (SIZE (1..maxSat)) OF
+ DGPS-CorrectionSatInfo-v920ext
+
+DiffCorrectionStatus ::= ENUMERATED {
+ udre-1-0, udre-0-75, udre-0-5, udre-0-3,
+ udre-0-2, udre-0-1, noData, invalidData }
+
+DL-TransportChannelBLER ::= INTEGER (0..63)
+
+DopplerUncertainty ::= ENUMERATED {
+ hz12-5, hz25, hz50, hz100, hz200,
+ spare3, spare2, spare1 }
+
+DopplerUncertaintyExt ::= ENUMERATED {
+ hz300, hz400, hz500, hz600, noInformation,
+ spare3, spare2, spare1 }
+
+EllipsoidPoint ::= SEQUENCE {
+ latitudeSign ENUMERATED { north, south },
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607)
+}
+
+
+EllipsoidPointAltitude ::= SEQUENCE {
+ latitudeSign ENUMERATED { north, south },
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ altitudeDirection ENUMERATED {height, depth},
+ altitude INTEGER (0..32767)
+}
+
+
+EllipsoidPointAltitudeEllipsoide ::= SEQUENCE {
+ latitudeSign ENUMERATED { north, south },
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ altitudeDirection ENUMERATED {height, depth},
+ altitude INTEGER (0..32767),
+ uncertaintySemiMajor INTEGER (0..127),
+ uncertaintySemiMinor INTEGER (0..127),
+ -- Actual value orientationMajorAxis = IE value * 2
+ orientationMajorAxis INTEGER (0..89),
+ uncertaintyAltitude INTEGER (0..127),
+ confidence INTEGER (0..100)
+}
+
+
+EllipsoidPointUncertCircle ::= SEQUENCE {
+ latitudeSign ENUMERATED { north, south },
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ uncertaintyCode INTEGER (0..127)
+}
+
+
+EllipsoidPointUncertEllipse ::= SEQUENCE {
+ latitudeSign ENUMERATED { north, south },
+ latitude INTEGER (0..8388607),
+ longitude INTEGER (-8388608..8388607),
+ uncertaintySemiMajor INTEGER (0..127),
+ uncertaintySemiMinor INTEGER (0..127),
+ -- Actual value orientationMajorAxis = IE value * 2
+ orientationMajorAxis INTEGER (0..89),
+ confidence INTEGER (0..100)
+}
+
+
+EnvironmentCharacterisation ::= ENUMERATED {
+ possibleHeavyMultipathNLOS,
+ lightMultipathLOS,
+ notDefined,
+ spare }
+
+EUTRA-CSGMemberPLMNList ::= SEQUENCE(SIZE (1..5)) OF
+ PLMN-Identity
+
+Eutra-EventResult ::= SEQUENCE {
+ earfcn EARFCN,
+ reportedCells SEQUENCE (SIZE (1..maxReportedEUTRACellPerFreq)) OF
+ EUTRA-PhysicalCellIdentity
+}
+
+EUTRA-EventResult-vb50ext ::= SEQUENCE {
+ earfcn EARFCNExtension OPTIONAL
+}
+
+EUTRA-EventResult-vc50ext ::= SEQUENCE {
+ earfcn EARFCNExtension2,
+ reportedCells SEQUENCE (SIZE (1..maxReportedEUTRACellPerFreq)) OF
+ EUTRA-PhysicalCellIdentity
+}
+
+Eutra-EventResultList ::= SEQUENCE (SIZE (1..maxReportedEUTRAFreqs)) OF
+ Eutra-EventResult
+
+EUTRA-EventResultList-vb50ext ::= SEQUENCE (SIZE (1..maxReportedEUTRAFreqs)) OF
+ EUTRA-EventResult-vb50ext
+
+EUTRA-EventResultList-vc50ext ::= SEQUENCE (SIZE (1..maxReportedEUTRAFreqs-ext)) OF
+ EUTRA-EventResult-vc50ext
+
+EUTRA-EventResults ::= SEQUENCE {
+ eventID EventIDInterRAT,
+ eutra-EventResultsList Eutra-EventResultList
+}
+
+EUTRA-EventResults-vb50ext ::= SEQUENCE {
+ eutra-EventResultsList EUTRA-EventResultList-vb50ext
+}
+
+EUTRA-EventResults-vc50ext ::= SEQUENCE {
+ eutra-EventResultsList EUTRA-EventResultList-vc50ext
+}
+
+EUTRA-EventResultsForCELLFACH ::= SEQUENCE {
+ eutraFrequencyIndicator BIT STRING (SIZE (maxNumEUTRAFreqs-FACH))
+}
+
+EUTRA-EventResultsForCELLFACH-vc50ext ::= SEQUENCE {
+ eutraFrequencyIndicator BIT STRING (SIZE (maxNumEUTRAFreqs-FACH))
+}
+
+EUTRA-FrequencyAndPriorityInfo ::= SEQUENCE {
+ earfcn EARFCN,
+ measurementBandwidth EUTRA-MeasurementBandwidth OPTIONAL,
+ priority INTEGER (0..maxPrio-1),
+ -- Actual value = IE value * 2
+ qRxLevMinEUTRA INTEGER (-70..-22),
+ -- Actual value = IE value * 2
+ threshXhigh INTEGER (0..31),
+ -- Actual value = IE value * 2
+ threshXlow INTEGER (0..31),
+ eutra-exclude-ListedCellList EUTRA-Exclude-listedCellPerFreqList OPTIONAL,
+ eutraDetection BOOLEAN
+}
+
+EUTRA-FrequencyAndPriorityInfo-v920ext ::= SEQUENCE {
+ qqualMinEUTRA INTEGER (-34..-3) OPTIONAL,
+ threshXhigh2 INTEGER (0..31) OPTIONAL,
+ threshXlow2 INTEGER (0..31) OPTIONAL
+}
+
+EUTRA-FrequencyAndPriorityInfo-vb50ext ::= SEQUENCE {
+ qqualMinEUTRA-WB INTEGER (-34..-3) OPTIONAL
+}
+
+EUTRA-FrequencyAndPriorityInfo-vc50ext ::= SEQUENCE {
+ qqualMinRSRQ-OnAllSymbols INTEGER (-34..-3) OPTIONAL,
+ reducedMeasurementPerformance ENUMERATED {true} OPTIONAL
+}
+
+EUTRA-FrequencyAndPriorityInfo-vd20ext ::= SEQUENCE {
+ subpriority ENUMERATED {oDot2,oDot4,oDot6,oDot8} OPTIONAL
+}
+
+EUTRA-FrequencyAndPriorityInfoExtension-vb50ext ::= SEQUENCE {
+ earfcn EARFCNExtension,
+ measurementBandwidth EUTRA-MeasurementBandwidth OPTIONAL,
+ priority INTEGER (0..maxPrio-1),
+ -- Actual value = IE value * 2
+ qRxLevMinEUTRA INTEGER (-70..-22),
+ -- Actual value = IE value * 2
+ threshXhigh INTEGER (0..31),
+ -- Actual value = IE value * 2
+ threshXlow INTEGER (0..31),
+ qqualMinEUTRA INTEGER (-34..-3) OPTIONAL,
+ threshXhigh2 INTEGER (0..31) OPTIONAL,
+ threshXlow2 INTEGER (0..31) OPTIONAL,
+ eutra-exclude-listedCellList EUTRA-Exclude-listedCellPerFreqList OPTIONAL,
+ eutraDetection BOOLEAN
+}
+
+EUTRA-FrequencyAndPriorityInfoExtension-vb80ext ::= SEQUENCE {
+ qqualMinEUTRA-WB INTEGER (-34..-3) OPTIONAL
+}
+
+EUTRA-FrequencyAndPriorityInfoExtension-vc50ext ::= SEQUENCE {
+ qqualMinRSRQ-OnAllSymbols INTEGER (-34..-3) OPTIONAL,
+ reducedMeasurementPerformance ENUMERATED {true} OPTIONAL
+}
+
+EUTRA-FrequencyAndPriorityInfoExtension-vd20ext ::= SEQUENCE {
+ subpriority ENUMERATED {oDot2,oDot4,oDot6,oDot8} OPTIONAL
+}
+
+EUTRA-FrequencyAndPriorityInfoExtensionList ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyAndPriorityInfoExtension-vb50ext
+
+EUTRA-FrequencyAndPriorityInfoExtensionList-vb80ext ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyAndPriorityInfoExtension-vb80ext
+
+EUTRA-FrequencyAndPriorityInfoExtensionList-vc50ext ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyAndPriorityInfoExtension-vc50ext
+
+EUTRA-FrequencyAndPriorityInfoExtensionList-vd20ext ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyAndPriorityInfoExtension-vd20ext
+
+EUTRA-FrequencyAndPriorityInfoList ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyAndPriorityInfo
+
+EUTRA-FrequencyAndPriorityInfoList-v920ext ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyAndPriorityInfo-v920ext
+
+EUTRA-FrequencyAndPriorityInfoList-vb50ext ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyAndPriorityInfo-vb50ext
+
+EUTRA-FrequencyAndPriorityInfoList-vc50ext ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyAndPriorityInfo-vc50ext
+
+EUTRA-FrequencyAndPriorityInfoList-vd20ext ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyAndPriorityInfo-vd20ext
+
+EUTRA-FrequencyList ::= SEQUENCE {
+ eutraFrequencyRemoval EUTRA-FrequencyRemoval,
+ eutraNewFrequencies EUTRA-FrequencyInfoList OPTIONAL
+}
+
+EUTRA-FrequencyList-r9 ::= SEQUENCE {
+ eutraFrequencyRemoval EUTRA-FrequencyRemoval,
+ eutraNewFrequencies EUTRA-FrequencyInfoList OPTIONAL,
+ eutraSIAcquisition EUTRA-SIAcquisition OPTIONAL
+}
+
+EUTRA-FrequencyList-r11 ::= SEQUENCE {
+ eutraFrequencyRemoval EUTRA-FrequencyRemoval-r11,
+ eutraNewFrequencies EUTRA-FrequencyInfoList-r11 OPTIONAL,
+ eutraSIAcquisition EUTRA-SIAcquisition-r11 OPTIONAL
+}
+
+EUTRA-FrequencyList-r12 ::= SEQUENCE {
+ eutraFrequencyRemoval EUTRA-FrequencyRemoval-r11,
+ eutraNewFrequencies EUTRA-FrequencyInfoList-r12 OPTIONAL,
+ eutraSIAcquisition EUTRA-SIAcquisition-r11 OPTIONAL,
+ rsrqMeasOnAllSymbols BOOLEAN OPTIONAL
+}
+
+EUTRA-SIAcquisition ::= SEQUENCE {
+ earfcn EARFCN,
+ physicalCellIdentity EUTRA-PhysicalCellIdentity
+}
+
+EUTRA-SIAcquisition-r11 ::= SEQUENCE {
+-- If the IE earfcn is set to a value of 65535, then the EARFCN
+-- value for that instance shall be read from the IE earfcnExt.
+ earfcn EARFCN,
+ earfcnExt EARFCNExtension OPTIONAL,
+ physicalCellIdentity EUTRA-PhysicalCellIdentity
+}
+
+EUTRA-MeasuredCells ::= SEQUENCE {
+ physicalCellIdentity EUTRA-PhysicalCellIdentity,
+ rSRP INTEGER (0..97) OPTIONAL,
+ rSRQ INTEGER (0..33) OPTIONAL
+}
+
+Eutra-MeasuredResult ::= SEQUENCE {
+ earfcn EARFCN,
+ measuredEUTRACells SEQUENCE (SIZE (1..maxReportedEUTRACellPerFreq)) OF
+ EUTRA-MeasuredCells
+}
+
+EUTRA-MeasuredResult-vb50ext ::= SEQUENCE {
+ earfcn EARFCNExtension OPTIONAL
+}
+
+Eutra-MeasuredResultList ::= SEQUENCE (SIZE (1..maxReportedEUTRAFreqs)) OF
+ Eutra-MeasuredResult
+
+EUTRA-MeasuredResultList-vb50ext ::= SEQUENCE (SIZE (1..maxReportedEUTRAFreqs)) OF
+ EUTRA-MeasuredResult-vb50ext
+
+EUTRA-MeasuredResults ::= SEQUENCE {
+ eutraMeasuredResultList Eutra-MeasuredResultList
+}
+
+EUTRA-MeasuredResults-vb50ext ::= SEQUENCE {
+ eutraMeasuredResultList EUTRA-MeasuredResultList-vb50ext
+}
+
+EUTRA-MeasuredCells-v920ext ::= SEQUENCE {
+ eutraSIacquisitionResults EUTRA-SIacquisitionResults
+}
+
+EUTRA-MeasuredCells-vc50ext ::= SEQUENCE {
+ physicalCellIdentity EUTRA-PhysicalCellIdentity OPTIONAL,
+ rSRP INTEGER (0..97) OPTIONAL,
+ rSRQ INTEGER (0..33) OPTIONAL,
+ eutraSIacquisitionResults EUTRA-SIacquisitionResults-vc50ext,
+ rsrqExtension INTEGER (-30..46) OPTIONAL
+}
+
+Eutra-MeasuredResult-v920ext ::= SEQUENCE {
+ measuredEUTRACells-v920ext SEQUENCE (SIZE (1..maxReportedEUTRACellPerFreq)) OF
+ EUTRA-MeasuredCells-v920ext
+}
+
+Eutra-MeasuredResult-vc50ext ::= SEQUENCE {
+ earfcn EARFCNExtension2 OPTIONAL,
+ measuredEUTRACells-vc50ext SEQUENCE (SIZE (1..maxReportedEUTRACellPerFreq)) OF
+ EUTRA-MeasuredCells-vc50ext
+}
+
+Eutra-MeasuredResultList-v920ext ::= SEQUENCE (SIZE (1..maxReportedEUTRAFreqs)) OF
+ Eutra-MeasuredResult-v920ext
+
+Eutra-MeasuredResultList-vc50ext ::= SEQUENCE (SIZE (1..maxReportedEUTRAFreqs)) OF
+ Eutra-MeasuredResult-vc50ext
+
+EUTRA-MeasuredResults-v920ext ::= SEQUENCE {
+ eutraMeasuredResultList-v920ext Eutra-MeasuredResultList-v920ext
+}
+
+EUTRA-MeasuredResults-vc50ext ::= SEQUENCE {
+ eutraMeasuredResultList-vc50ext Eutra-MeasuredResultList-vc50ext
+}
+
+EUTRA-SIacquisitionResults ::= SEQUENCE {
+ cgiInfo SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellIdentity BIT STRING (SIZE (28)),
+ trackingAreaCode BIT STRING (SIZE (16))
+ },
+ csgIdentity CSG-Identity OPTIONAL,
+ csgMemberIndication ENUMERATED { member } OPTIONAL
+}
+
+EUTRA-SIacquisitionResults-vc50ext ::= SEQUENCE {
+ cgiInfo CGI-Info OPTIONAL,
+ csgIdentity CSG-Identity OPTIONAL,
+ csgMemberIndication ENUMERATED { member } OPTIONAL,
+ csgMemberPLMN EUTRA-CSGMemberPLMNList OPTIONAL,
+ primaryPLMNSuitable ENUMERATED { true } OPTIONAL
+}
+
+CGI-Info ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellIdentity BIT STRING (SIZE (28)),
+ trackingAreaCode BIT STRING (SIZE (16))
+}
+
+EUTRA-FrequencyRemoval ::= CHOICE {
+ removeAllFrequencies NULL,
+ removeSomeFrequencies SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EARFCN,
+ removeNoFrequencies NULL
+}
+
+EUTRA-FrequencyRemoval-r11 ::= CHOICE {
+ removeAllFrequencies NULL,
+ removeSomeFrequencies FrequenciesToRemove,
+ removeNoFrequencies NULL
+}
+
+EUTRA-FrequencyInfoList ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyInfo
+
+EUTRA-FrequencyInfoList-r11 ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyInfo-r11
+
+EUTRA-FrequencyInfoList-r12 ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EUTRA-FrequencyInfo-r12
+
+EUTRA-FrequencyInfo ::= SEQUENCE {
+ earfcn EARFCN,
+ measurementBandwidth EUTRA-MeasurementBandwidth OPTIONAL,
+ eutra-exclude-listedCellList EUTRA-Exclude-listedCellPerFreqList OPTIONAL
+}
+
+EUTRA-FrequencyInfo-r11 ::= SEQUENCE {
+-- If the IE earfcn is set to a value of 65535, then the EARFCN
+-- value for that instance shall be read from the IE earfcnExt.
+ earfcn EARFCN,
+ earfcnExt EARFCNExtension OPTIONAL,
+ measurementBandwidth EUTRA-MeasurementBandwidth OPTIONAL,
+ eutra-exclude-listedCellList EUTRA-Exclude-listedCellPerFreqList OPTIONAL,
+ widebandRSRQMeasurements ENUMERATED {true} OPTIONAL
+}
+
+EUTRA-FrequencyInfo-r12 ::= SEQUENCE {
+ earfcn EARFCNExtension2,
+ reducedMeasurementPerformance ENUMERATED {true} OPTIONAL,
+ measurementBandwidth EUTRA-MeasurementBandwidth OPTIONAL,
+ eutra-exclude-listedCellList EUTRA-Exclude-listedCellPerFreqList OPTIONAL,
+ widebandRSRQMeasurements ENUMERATED {true} OPTIONAL
+}
+
+EUTRA-FrequencyRACHReportingInfo ::= SEQUENCE {
+ eutra-FrequencyListIndicator BIT STRING (SIZE (maxNumEUTRAFreqs)),
+ eutra-FrequencyRepQuantityRACH ENUMERATED { rsrp, rsrq },
+ eutra-FrequencyRACHReportingThreshold INTEGER (0..97),
+ rachReportingPriority ENUMERATED { intraEUTRAInter, interIntraEUTRA,
+ interEUTRAIntra, eUTRAIntraInter,
+ eUTRAInterIntra, spare3,
+ spare2, spare1 } OPTIONAL
+}
+
+EUTRA-FrequencyRACHReportingInfo-vc50ext ::= SEQUENCE {
+ eutra-FrequencyListIndicator BIT STRING (SIZE (maxNumEUTRAFreqs)),
+ eutra-FrequencyRACHReportingThresholdExtension INTEGER (-30..-1) OPTIONAL
+}
+
+EUTRA-MeasurementBandwidth ::= ENUMERATED { mbw6, mbw15, mbw25, mbw50, mbw75, mbw100 }
+
+EUTRA-MeasurementForCELLFACH ::= SEQUENCE {
+ eutraFrequenciesForMeasurement SEQUENCE (SIZE (1..maxNumEUTRAFreqs-FACH)) OF
+ EARFCNRange,
+ reportCriteria ENUMERATED { event-triggeredreporting, periodicalReporting },
+ measurementQuantity ENUMERATED { rsrp, rsrq },
+ reportingThreshold INTEGER (0..97)
+}
+
+EUTRA-MeasurementForCELLFACH-r12 ::= SEQUENCE {
+ eutraFrequenciesForMeasurement SEQUENCE (SIZE (1..maxNumEUTRAFreqs-FACH-ext)) OF
+ EARFCNRange,
+ reportCriteria ENUMERATED { event-triggeredreporting, periodicalReporting },
+ measurementQuantity ENUMERATED { rsrp, rsrq },
+ reportingThreshold INTEGER (-30..97)
+}
+FrequenciesToRemove ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ EARFCNRange
+
+Event1a ::= SEQUENCE {
+ triggeringCondition TriggeringCondition2,
+ reportingRange ReportingRange,
+ forbiddenAffectCellList ForbiddenAffectCellList OPTIONAL,
+ w W,
+ reportDeactivationThreshold ReportDeactivationThreshold,
+ reportingAmount ReportingAmount,
+ reportingInterval ReportingInterval
+}
+
+Event1a-r4 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition2,
+ reportingRange ReportingRange,
+ forbiddenAffectCellList ForbiddenAffectCellList-r4 OPTIONAL,
+ w W,
+ reportDeactivationThreshold ReportDeactivationThreshold,
+ reportingAmount ReportingAmount,
+ reportingInterval ReportingInterval
+}
+
+Event1a-OnSecUlFreq-r9 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition2,
+ reportingRange ReportingRange,
+ forbiddenAffectCellListOnSecULFreq ForbiddenAffectCellListOnSecULFreq OPTIONAL,
+ w W,
+ reportDeactivationThreshold ReportDeactivationThreshold,
+ reportingAmount ReportingAmount,
+ reportingInterval ReportingInterval
+}
+
+Event1a-LCR-r4 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition2,
+ reportingRange ReportingRange,
+ forbiddenAffectCellList ForbiddenAffectCellList-LCR-r4 OPTIONAL,
+ w W,
+ reportDeactivationThreshold ReportDeactivationThreshold,
+ reportingAmount ReportingAmount,
+ reportingInterval ReportingInterval
+}
+
+Event1b ::= SEQUENCE {
+ triggeringCondition TriggeringCondition1,
+ reportingRange ReportingRange,
+ forbiddenAffectCellList ForbiddenAffectCellList OPTIONAL,
+ w W
+}
+
+Event1b-r4 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition1,
+ reportingRange ReportingRange,
+ forbiddenAffectCellList ForbiddenAffectCellList-r4 OPTIONAL,
+ w W
+}
+
+Event1b-r7 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition1,
+ reportingRange ReportingRange,
+ forbiddenAffectCellList ForbiddenAffectCellList-r4 OPTIONAL,
+ w W,
+ periodicReportingInfo-1b PeriodicReportingInfo-1b OPTIONAL
+}
+
+Event1b-OnSecUlFreq-r9 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition1,
+ reportingRange ReportingRange,
+ forbiddenAffectCellListOnSecULFreq ForbiddenAffectCellListOnSecULFreq OPTIONAL,
+ w W,
+ periodicReportingInfo-1b PeriodicReportingInfo-1b OPTIONAL
+}
+
+Event1b-LCR-r4 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition1,
+ reportingRange ReportingRange,
+ forbiddenAffectCellList ForbiddenAffectCellList-LCR-r4 OPTIONAL,
+ w W
+}
+
+Event1c ::= SEQUENCE {
+ replacementActivationThreshold ReplacementActivationThreshold,
+ reportingAmount ReportingAmount,
+ reportingInterval ReportingInterval
+}
+
+Event1d ::= SEQUENCE {
+ triggeringCondition TriggeringCondition2 OPTIONAL,
+ useCIO BOOLEAN OPTIONAL
+}
+
+Event1e ::= SEQUENCE {
+ triggeringCondition TriggeringCondition2,
+ thresholdUsedFrequency ThresholdUsedFrequency
+}
+
+Event1e-r6 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition2,
+ thresholdUsedFrequency ThresholdUsedFrequency-r6
+}
+
+Event1f ::= SEQUENCE {
+ triggeringCondition TriggeringCondition1,
+ thresholdUsedFrequency ThresholdUsedFrequency
+}
+
+Event1f-r6 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition1,
+ thresholdUsedFrequency ThresholdUsedFrequency-r6
+}
+
+Event1j-r6 ::= SEQUENCE {
+ replacementActivationThreshold ReplacementActivationThreshold,
+ reportingAmount ReportingAmount,
+ reportingInterval ReportingInterval
+}
+
+Event2a ::= SEQUENCE {
+ -- dummy is not used in this version of the specification and should be ignored
+ dummy Threshold,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList OPTIONAL
+}
+
+Event2a-r6 ::= SEQUENCE {
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqWList-r6 OPTIONAL
+}
+
+Event2a-r10 ::= SEQUENCE {
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreq2aParameterList-r10 OPTIONAL
+}
+
+Event2a-r11 ::= SEQUENCE {
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreq2aParameterList-r11 OPTIONAL
+}
+
+Event2b ::= SEQUENCE {
+ usedFreqThreshold Threshold,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList OPTIONAL
+}
+
+Event2b-r6 ::= SEQUENCE {
+ usedFreqThreshold Threshold-r6,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList-r6 OPTIONAL
+}
+
+Event2b-r10 ::= SEQUENCE {
+ usedFreqThreshold Threshold-r6,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList-r10 OPTIONAL
+}
+
+Event2b-r11 ::= SEQUENCE {
+ usedFreqThreshold Threshold-r6,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList-r11 OPTIONAL
+}
+
+Event2c ::= SEQUENCE {
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList OPTIONAL
+}
+
+Event2c-r6 ::= SEQUENCE {
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList-r6 OPTIONAL
+}
+
+Event2c-r10 ::= SEQUENCE {
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList-r10 OPTIONAL
+}
+
+Event2c-r11 ::= SEQUENCE {
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList-r11 OPTIONAL
+}
+
+Event2d ::= SEQUENCE {
+ usedFreqThreshold Threshold,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+Event2d-r6 ::= SEQUENCE {
+ usedFreqThreshold Threshold-r6,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+Event2d-r10 ::= SEQUENCE {
+ usedFreqThreshold Threshold-r6,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL
+}
+
+Event2e ::= SEQUENCE {
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList OPTIONAL
+}
+
+Event2e-r6 ::= SEQUENCE {
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList-r6 OPTIONAL
+}
+
+Event2e-r10 ::= SEQUENCE {
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList-r10 OPTIONAL
+}
+
+Event2e-r11 ::= SEQUENCE {
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL,
+ nonUsedFreqParameterList NonUsedFreqParameterList-r11 OPTIONAL
+}
+
+Event2f ::= SEQUENCE {
+ usedFreqThreshold Threshold,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+Event2f-r6 ::= SEQUENCE {
+ usedFreqThreshold Threshold-r6,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+Event2f-r10 ::= SEQUENCE {
+ usedFreqThreshold Threshold-r6,
+ usedFreqW W,
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL
+}
+
+
+Event2g ::= SEQUENCE {
+ hysteresis HysteresisInterFreq,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL,
+ useCIO ENUMERATED {true} OPTIONAL
+}
+
+Event3a ::= SEQUENCE {
+ thresholdOwnSystem Threshold,
+ w W,
+ thresholdOtherSystem Threshold,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+Event3b ::= SEQUENCE {
+ thresholdOtherSystem Threshold,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+
+}
+
+Event3c ::= SEQUENCE {
+ thresholdOtherSystem Threshold,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+Event3d ::= SEQUENCE {
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+Event3a-r12 ::= SEQUENCE {
+ thresholdOwnSystem Threshold,
+ w W,
+ thresholdOtherSystem Threshold-r12,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+Event3b-r12 ::= SEQUENCE {
+ thresholdOtherSystem Threshold-r12,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+
+}
+
+Event3c-r12 ::= SEQUENCE {
+ thresholdOtherSystem Threshold-r12,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+EventIDInterFreq ::= ENUMERATED {
+ e2a, e2b, e2c, e2d, e2e, e2f, e2g, spare1 }
+
+EventIDInterRAT ::= ENUMERATED {
+ e3a, e3b, e3c, e3d }
+
+EventIDIntraFreq ::= ENUMERATED {
+ e1a, e1b, e1c, e1d, e1e,
+ e1f, e1g, e1h, e1i, e1j,
+ spare6, spare5, spare4, spare3, spare2,
+ spare1 }
+
+EventResults ::= CHOICE {
+ intraFreqEventResults IntraFreqEventResults,
+ interFreqEventResults InterFreqEventResults,
+ interRATEventResults InterRATEventResults,
+ trafficVolumeEventResults TrafficVolumeEventResults,
+ qualityEventResults QualityEventResults,
+ ue-InternalEventResults UE-InternalEventResults,
+ ue-positioning-MeasurementEventResults UE-Positioning-MeasurementEventResults,
+ spare NULL
+}
+
+EventResults-v770ext ::= CHOICE {
+ ue-positioning-MeasurementEventResults UE-Positioning-MeasurementEventResults-v770ext
+}
+
+EventResults-v860ext ::= CHOICE {
+ ue-positioning-MeasurementEventResults UE-Positioning-MeasurementEventResults-v860ext
+}
+
+EventResults-va40ext ::= CHOICE {
+ interFreqEventResults InterFreqEventResults-va40ext
+}
+
+EventResultsOnSecUlFreq ::= SEQUENCE {
+ intraFreqEventResults IntraFreqEventResultsOnSecUlFreq
+}
+
+ExtraDoppler ::= SEQUENCE {
+ -- Doppler 1st order term, -0.2..+0.1 m/s2
+ -- ( = -42..+21 with 1/210 m/s2 resolution)
+ dopplerFirstOrder INTEGER (-42.. 21),
+ dopplerUncertainty ENUMERATED { dopU40, dopU20, dopU10, dopU5, dopU2-5,
+ spare3, spare2, spare1 }
+}
+
+ExtraDopplerExtension ::= SEQUENCE {
+ -- Doppler 1st order term, -0.2..+0.1 m/s2
+ -- ( = -42..+21 with 1/210 m/s2 resolution)
+ dopplerFirstOrder INTEGER (-42.. 21),
+ dopplerUncertaintyExt ENUMERATED { dopU60, dopU80, dopU100, dopU120,
+ noInformation, spare3, spare2, spare1 }
+}
+
+
+ExtraDopplerInfo ::= SEQUENCE {
+ -- Actual value doppler1stOrder = IE value * 0.023
+ doppler1stOrder INTEGER (-42..21),
+ dopplerUncertainty DopplerUncertainty
+}
+
+ExtraDopplerInfoExtension ::= SEQUENCE {
+ -- Actual value doppler1stOrder = IE value * 0.023
+ doppler1stOrder INTEGER (-42..21),
+ dopplerUncertaintyExt DopplerUncertaintyExt
+}
+
+FACH-MeasurementOccasionInfo ::= SEQUENCE {
+ fACH-meas-occasion-coeff INTEGER (1..12) OPTIONAL,
+ inter-freq-FDD-meas-ind BOOLEAN,
+ -- inter-freq-TDD-meas-ind is for 3.84Mcps TDD and 7.68 Mcps TDD. For 1.28Mcps TDD, the IE in
+ -- FACH-MeasurementOccasionInfo-LCR-r4-ext is used.
+ inter-freq-TDD-meas-ind BOOLEAN,
+ inter-RAT-meas-ind SEQUENCE (SIZE (1..maxOtherRAT)) OF
+ RAT-Type OPTIONAL
+}
+
+FACH-MeasurementOccasionInfo-LCR-r4-ext ::= SEQUENCE {
+ inter-freq-TDD128-meas-ind BOOLEAN
+}
+
+FilterCoefficient ::= ENUMERATED {
+ fc0, fc1, fc2, fc3, fc4, fc5,
+ fc6, fc7, fc8, fc9, fc11, fc13,
+ fc15, fc17, fc19, spare1 }
+
+FilteredUEPowerHeadroomReportInfo ::= SEQUENCE {
+ timeToTrigger TimeToTrigger,
+ hysteresis1 Hysteresis OPTIONAL,
+ hysteresis2 Hysteresis OPTIONAL,
+ uePowerHeadroomThreshold1 UE-PowerHeadroomThreshold OPTIONAL,
+ uePowerHeadroomThreshold2 UE-PowerHeadroomThreshold OPTIONAL,
+ filterCoefficient FilterCoefficient OPTIONAL
+}
+
+-- Actual value FineSFN-SFN = IE value * 0.0625
+FineSFN-SFN ::= INTEGER (0..15)
+
+ForbiddenAffectCell ::= CHOICE {
+ fdd PrimaryCPICH-Info,
+ tdd PrimaryCCPCH-Info
+}
+
+ForbiddenAffectCell-r4 ::= CHOICE {
+ fdd PrimaryCPICH-Info,
+ tdd PrimaryCCPCH-Info-r4
+}
+
+ForbiddenAffectCell-LCR-r4 ::= SEQUENCE {
+ tdd PrimaryCCPCH-Info-LCR-r4
+}
+
+ForbiddenAffectCellList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ ForbiddenAffectCell
+
+ForbiddenAffectCellList-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ ForbiddenAffectCell-r4
+
+ForbiddenAffectCellList-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ ForbiddenAffectCell-LCR-r4
+
+ForbiddenAffectCellListOnSecULFreq ::= SEQUENCE (SIZE (1.. maxCellMeasOnSecULFreq)) OF
+ ForbiddenAffectCellOnSecULFreq
+
+ForbiddenAffectCellOnSecULFreq ::= SEQUENCE {
+ primaryCPICH PrimaryCPICH-Info
+}
+
+FreqQualityEstimateQuantity-FDD ::= ENUMERATED {
+ cpich-Ec-N0,
+ cpich-RSCP }
+
+FreqQualityEstimateQuantity-TDD ::= ENUMERATED {
+ primaryCCPCH-RSCP }
+
+GanssDataBits ::= SEQUENCE {
+ ganssTod INTEGER (0..86399),
+ dataBitAssistance ReqDataBitAssistance
+}
+
+GANSSDecipheringKeys ::= SEQUENCE {
+ currentDecipheringKey BIT STRING (SIZE (56)),
+ nextDecipheringKey BIT STRING (SIZE (56))
+}
+
+GANSSGenericData ::= SEQUENCE {
+ ganssId INTEGER (0..7) OPTIONAL,
+ ganssTimeModelsList GANSSTimeModelsList OPTIONAL,
+ uePositioningDGANSSCorrections UE-Positioning-DGANSSCorrections OPTIONAL,
+ uePositioningGANSSNavigationModel UE-Positioning-GANSS-NavigationModel OPTIONAL,
+ uePositioningGANSSRealTimeIntegrity UE-Positioning-GANSS-RealTimeIntegrity OPTIONAL,
+ uePositioningGANSSDataBitAssistance UE-Positioning-GANSS-Data-Bit-Assistance OPTIONAL,
+ uePositioningGANSSReferenceMeasurementInfo
+ UE-Positioning-GANSS-ReferenceMeasurementInfo OPTIONAL,
+ uePositioningGANSSAlmanac UE-Positioning-GANSS-Almanac OPTIONAL,
+ uePositioningGANSSUTCModel UE-Positioning-GANSS-UTCModel OPTIONAL
+}
+
+GANSSGenericData-v860ext ::= SEQUENCE {
+ uePositiningGANSSsbasID UE-Positioning-GANSS-SBAS-ID OPTIONAL,
+ uePositioningGANSSAddNavigationModels
+ UE-Positioning-GANSS-AddNavigationModels OPTIONAL,
+ uePositioningGANSSAlmanac UE-Positioning-GANSS-Almanac-v860ext OPTIONAL,
+ uePositioningGANSSAddUTCModels UE-Positioning-GANSS-AddUTCModels OPTIONAL,
+ uePositioningGANSSAuxiliaryInfo UE-Positioning-GANSS-AuxiliaryInfo OPTIONAL
+}
+
+GANSSGenericData-r8 ::= SEQUENCE {
+ ganssId INTEGER (0..7) OPTIONAL,
+ uePositiningGANSSsbasID UE-Positioning-GANSS-SBAS-ID OPTIONAL,
+ ganssTimeModelsList GANSSTimeModelsList OPTIONAL,
+ uePositioningDGANSSCorrections UE-Positioning-DGANSSCorrections OPTIONAL,
+ uePositioningGANSSNavigationModel UE-Positioning-GANSS-NavigationModel OPTIONAL,
+ uePositioningGANSSAddNavigationModels
+ UE-Positioning-GANSS-AddNavigationModels OPTIONAL,
+ uePositioningGANSSRealTimeIntegrity UE-Positioning-GANSS-RealTimeIntegrity OPTIONAL,
+ uePositioningGANSSDataBitAssistance UE-Positioning-GANSS-Data-Bit-Assistance OPTIONAL,
+ uePositioningGANSSReferenceMeasurementInfo
+ UE-Positioning-GANSS-ReferenceMeasurementInfo OPTIONAL,
+ uePositioningGANSSAlmanac UE-Positioning-GANSS-Almanac-r8 OPTIONAL,
+ uePositioningGANSSUTCModel UE-Positioning-GANSS-UTCModel OPTIONAL,
+ uePositioningGANSSAddUTCModels UE-Positioning-GANSS-AddUTCModels OPTIONAL,
+ uePositioningGANSSAuxiliaryInfo UE-Positioning-GANSS-AuxiliaryInfo OPTIONAL
+}
+
+GANSSGenericData-r9 ::= SEQUENCE {
+ ganssId INTEGER (0..7) OPTIONAL,
+ uePositiningGANSSsbasID UE-Positioning-GANSS-SBAS-ID OPTIONAL,
+ ganssTimeModelsList GANSSTimeModelsList OPTIONAL,
+ uePositioningDGANSSCorrections UE-Positioning-DGANSSCorrections-r9 OPTIONAL,
+ uePositioningGANSSNavigationModel UE-Positioning-GANSS-NavigationModel OPTIONAL,
+ uePositioningGANSSAddNavigationModels
+ UE-Positioning-GANSS-AddNavigationModels OPTIONAL,
+ uePositioningGANSSRealTimeIntegrity UE-Positioning-GANSS-RealTimeIntegrity OPTIONAL,
+ uePositioningGANSSDataBitAssistance UE-Positioning-GANSS-Data-Bit-Assistance OPTIONAL,
+ uePositioningGANSSReferenceMeasurementInfo
+ UE-Positioning-GANSS-ReferenceMeasurementInfo OPTIONAL,
+ uePositioningGANSSAlmanac UE-Positioning-GANSS-Almanac-r8 OPTIONAL,
+ uePositioningGANSSUTCModel UE-Positioning-GANSS-UTCModel OPTIONAL,
+ uePositioningGANSSAddUTCModels UE-Positioning-GANSS-AddUTCModels OPTIONAL,
+ uePositioningGANSSAuxiliaryInfo UE-Positioning-GANSS-AuxiliaryInfo OPTIONAL
+}
+
+GANSSGenericData-v920ext ::= SEQUENCE {
+ uePositioningDGANSSCorrections UE-Positioning-DGANSSCorrections-v920ext OPTIONAL
+}
+
+GANSSGenericData-va40ext ::= SEQUENCE {
+ ganssTimeModelsList GANSSTimeModelsList-va40ext OPTIONAL,
+ uePositioningGANSSReferenceMeasurementInfo
+ UE-Positioning-GANSS-ReferenceMeasurementInfo-va40ext
+ OPTIONAL,
+ uePositioningGANSSAlmanac UE-Positioning-GANSS-Almanac-va40ext OPTIONAL
+}
+
+GANSSGenericData-vc50ext ::= SEQUENCE {
+ uePositioningDBDSCorrections UE-Positioning-DBDSCorrections OPTIONAL,
+ uePositioningBDSIonoGridModel UE-Positioning-BDS-IonoGridModel OPTIONAL,
+ ue-positioning-GANSS-AddNavigationModels
+ UE-Positioning-GANSS-AddNavigationModels-vc50ext
+ OPTIONAL, uePositioningGANSSReferenceMeasurementInfo
+ UE-Positioning-GANSS-ReferenceMeasurementInfo-vc50ext
+ OPTIONAL,
+ ue-Positioning-GANSS-Almanac UE-Positioning-GANSS-Almanac-vc50ext OPTIONAL,
+ ue-Positioning-GANSS-AddUTCModels UE-Positioning-GANSS-AddUTCModels-vc50ext OPTIONAL
+}
+
+GANSSGenericData-r10 ::= SEQUENCE {
+ ganssId INTEGER (0..7) OPTIONAL,
+ uePositiningGANSSsbasID UE-Positioning-GANSS-SBAS-ID OPTIONAL,
+ ganssTimeModelsList GANSSTimeModelsList-r10 OPTIONAL,
+ uePositioningDGANSSCorrections UE-Positioning-DGANSSCorrections-r9 OPTIONAL,
+ uePositioningGANSSNavigationModel UE-Positioning-GANSS-NavigationModel OPTIONAL,
+ uePositioningGANSSAddNavigationModels
+ UE-Positioning-GANSS-AddNavigationModels OPTIONAL,
+ uePositioningGANSSRealTimeIntegrity UE-Positioning-GANSS-RealTimeIntegrity OPTIONAL,
+ uePositioningGANSSDataBitAssistance UE-Positioning-GANSS-Data-Bit-Assistance OPTIONAL,
+ uePositioningGANSSReferenceMeasurementInfo
+ UE-Positioning-GANSS-ReferenceMeasurementInfo-r10
+ OPTIONAL,
+ uePositioningGANSSAlmanac UE-Positioning-GANSS-Almanac-r10 OPTIONAL,
+ uePositioningGANSSUTCModel UE-Positioning-GANSS-UTCModel OPTIONAL,
+ uePositioningGANSSAddUTCModels UE-Positioning-GANSS-AddUTCModels OPTIONAL,
+ uePositioningGANSSAuxiliaryInfo UE-Positioning-GANSS-AuxiliaryInfo OPTIONAL
+}
+
+GANSSGenericData-r12 ::= SEQUENCE {
+ ganssId INTEGER (0..7) OPTIONAL,
+ uePositiningGANSSsbasID UE-Positioning-GANSS-SBAS-ID OPTIONAL,
+ ganssTimeModelsList GANSSTimeModelsList-r10 OPTIONAL,
+ uePositioningDGANSSCorrections UE-Positioning-DGANSSCorrections-r9 OPTIONAL,
+ uePositioningDBDSCorrections UE-Positioning-DBDSCorrections OPTIONAL,
+ uePositioningBDSIonoGridModel UE-Positioning-BDS-IonoGridModel OPTIONAL,
+ uePositioningGANSSNavigationModel UE-Positioning-GANSS-NavigationModel OPTIONAL,
+ uePositioningGANSSAddNavigationModels UE-Positioning-GANSS-AddNavigationModels-r12
+ OPTIONAL,
+ uePositioningGANSSRealTimeIntegrity UE-Positioning-GANSS-RealTimeIntegrity OPTIONAL,
+ uePositioningGANSSDataBitAssistance UE-Positioning-GANSS-Data-Bit-Assistance OPTIONAL,
+ uePositioningGANSSReferenceMeasurementInfo
+ UE-Positioning-GANSS-ReferenceMeasurementInfo-r12
+ OPTIONAL,
+ uePositioningGANSSAlmanac UE-Positioning-GANSS-Almanac-r12 OPTIONAL,
+ uePositioningGANSSUTCModel UE-Positioning-GANSS-UTCModel OPTIONAL,
+ uePositioningGANSSAddUTCModels UE-Positioning-GANSS-AddUTCModels-r12 OPTIONAL,
+ uePositioningGANSSAuxiliaryInfo UE-Positioning-GANSS-AuxiliaryInfo OPTIONAL
+}
+
+GANSSGenericDataList ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GANSSGenericData
+
+GANSSGenericDataList-v860ext ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GANSSGenericData-v860ext
+
+GANSSGenericDataList-r8 ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GANSSGenericData-r8
+
+GANSSGenericDataList-r9 ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GANSSGenericData-r9
+
+GANSSGenericDataList-v920ext ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GANSSGenericData-v920ext
+
+GANSSGenericDataList-va40ext ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GANSSGenericData-va40ext
+
+GANSSGenericDataList-vc50ext ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GANSSGenericData-vc50ext
+
+GANSSGenericDataList-r10 ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GANSSGenericData-r10
+
+GANSSGenericDataList-r12 ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GANSSGenericData-r12
+
+GANSSGenericMeasurementInfo ::= SEQUENCE (SIZE (1..maxGANSS)) OF SEQUENCE {
+ ganssId INTEGER (0..7) OPTIONAL,
+ ganssMeasurementSignalList GANSSMeasurementSignalList
+}
+
+GANSSGenericMeasurementInfo-v860ext ::= SEQUENCE (SIZE (1..maxGANSS)) OF SEQUENCE {
+ ganssMeasurementSignalList GANSSMeasurementSignalList-v860ext
+}
+
+GANSSMeasurementParameters ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF SEQUENCE {
+ satId INTEGER (0..63),
+ cSurNzero INTEGER (0..63),
+ multipathIndicator ENUMERATED { nm, low, medium, high },
+ carrierQualityIndication BIT STRING (SIZE (2)) OPTIONAL,
+ ganssCodePhase INTEGER (0..2097151),
+ ganssIntegerCodePhase INTEGER (0..63) OPTIONAL,
+ codePhaseRmsError INTEGER (0..63),
+ doppler INTEGER (-32768..32767),
+ adr INTEGER (0..33554431) OPTIONAL
+}
+
+GANSSMeasurementParameters-v860ext ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF SEQUENCE {
+ ganssIntegerCodePhaseExt INTEGER (64..127) OPTIONAL
+}
+
+GANSSMeasurementSignalList ::= SEQUENCE (SIZE (1..maxSgnType)) OF SEQUENCE {
+ ganssSignalId GANSS-Signal-Id OPTIONAL,
+ ganssCodePhaseAmbiguity INTEGER (0..31) OPTIONAL,
+ ganssMeasurementParameters GANSSMeasurementParameters
+}
+
+GANSSMeasurementSignalList-v860ext ::= SEQUENCE (SIZE (1..maxSgnType)) OF SEQUENCE {
+ ganssCodePhaseAmbiguityExt INTEGER (32..127) OPTIONAL,
+ ganssMeasurementParameters GANSSMeasurementParameters-v860ext
+}
+
+GanssNavigationModelAdditionalData ::= SEQUENCE {
+ ganssWeek INTEGER (0..4095),
+ ganssToe INTEGER (0..167),
+ t-toeLimit INTEGER (0..10),
+ satellitesListRelatedDataList SatellitesListRelatedDataList OPTIONAL
+}
+
+GANSSReferenceTimeOnly ::= SEQUENCE {
+ gANSS-tod INTEGER (0..3599999),
+ gANSS-timeId INTEGER (0..7) OPTIONAL,
+ gANSS-tod-uncertainty INTEGER (0..127) OPTIONAL
+}
+
+GanssReqGenericData ::= SEQUENCE {
+ ganssId INTEGER (0..7) OPTIONAL,
+ ganssRealTimeIntegrity BOOLEAN,
+ ganssDifferentialCorrection DGANSS-Sig-Id-Req OPTIONAL,
+ ganssAlmanac BOOLEAN,
+ ganssNavigationModel BOOLEAN,
+ ganssTimeModelGNSS-GNSS BIT STRING (SIZE (8)) OPTIONAL,
+ ganssReferenceMeasurementInfo BOOLEAN,
+ ganssDataBits GanssDataBits OPTIONAL,
+ ganssUTCModel BOOLEAN,
+ ganssNavigationModelAdditionalData GanssNavigationModelAdditionalData OPTIONAL
+}
+
+GanssReqGenericData-v860ext ::= SEQUENCE {
+ sbasId UE-Positioning-GANSS-SBAS-ID OPTIONAL,
+ ganssAddNavigationModel ENUMERATED { true } OPTIONAL,
+ ganssAddUTCmodel ENUMERATED { true } OPTIONAL,
+ ganssAuxInfo ENUMERATED { true } OPTIONAL,
+ ganssAddADchoices SEQUENCE {
+ orbitModelID INTEGER (0..7) OPTIONAL,
+ clockModelID INTEGER (0..7) OPTIONAL,
+ utcModelID INTEGER (0..7) OPTIONAL,
+ almanacModelID INTEGER (0..7) OPTIONAL
+ } OPTIONAL
+}
+
+GanssReqGenericData-vc50ext ::= SEQUENCE {
+ bdsIonoGridModelReq ENUMERATED { true } OPTIONAL,
+ bdsCorrectionsReq DGANSS-Sig-Id-Req OPTIONAL
+}
+
+GanssRequestedGenericAssistanceDataList ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GanssReqGenericData
+
+GanssRequestedGenericAssistanceDataList-v860ext ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GanssReqGenericData-v860ext
+
+GanssRequestedGenericAssistanceDataList-vc50ext ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ GanssReqGenericData-vc50ext
+
+GANSSSatelliteInformation ::= SEQUENCE {
+ ganssSatId INTEGER (0..63),
+ dopplerZeroOrder INTEGER (-2048..2047), -- scale factor 0.5m/s
+ extraDoppler ExtraDoppler OPTIONAL,
+ codePhase INTEGER (0..1023),
+ integerCodePhase INTEGER (0..127),
+ codePhaseSearchWindow BIT STRING (SIZE (5)),
+ azimuthandElevation AzimuthAndElevation OPTIONAL
+}
+
+GANSSSatelliteInformation-va40ext ::= SEQUENCE {
+ azimuthAndElevation AzimuthAndElevation-va40ext OPTIONAL
+}
+
+GANSSSatelliteInformation-r10 ::= SEQUENCE {
+ ganssSatId INTEGER (0..63),
+ dopplerZeroOrder INTEGER (-2048..2047), -- scale factor 0.5m/s
+ extraDoppler ExtraDoppler OPTIONAL,
+ codePhase INTEGER (0..1023),
+ integerCodePhase INTEGER (0..127),
+ codePhaseSearchWindow BIT STRING (SIZE (5)),
+ azimuthandElevation AzimuthAndElevation-r10 OPTIONAL
+}
+
+GANSSSatelliteInformation-vc50ext ::= SEQUENCE {
+ extraDopplerExtension ExtraDopplerExtension OPTIONAL
+}
+
+GANSSSatelliteInformation-r12 ::= SEQUENCE {
+ ganssSatId INTEGER (0..63),
+ dopplerZeroOrder INTEGER (-2048..2047), -- scale factor 0.5m/s
+ extraDoppler ExtraDoppler OPTIONAL,
+-- If the extraDopplerExtension is present, the extraDoppler should not be present
+ extraDopplerExtension ExtraDopplerExtension OPTIONAL,
+ codePhase INTEGER (0..1023),
+ integerCodePhase INTEGER (0..127),
+ codePhaseSearchWindow BIT STRING (SIZE (5)),
+ azimuthandElevation AzimuthAndElevation-r10 OPTIONAL
+}
+
+GANSSSatelliteInformationList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSSSatelliteInformation
+
+GANSSSatelliteInformationList-va40ext ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSSSatelliteInformation-va40ext
+
+GANSSSatelliteInformationList-r10 ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSSSatelliteInformation-r10
+
+GANSSSatelliteInformationList-vc50ext ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSSSatelliteInformation-vc50ext
+
+GANSSSatelliteInformationList-r12 ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSSSatelliteInformation-r12
+
+GANSSTimeModelsList ::= SEQUENCE (SIZE (1..maxGANSS-1)) OF
+ UE-Positioning-GANSS-TimeModel
+
+GANSSTimeModelsList-va40ext ::= SEQUENCE (SIZE (1.. maxGANSS-1)) OF
+ UE-Positioning-GANSS-TimeModel-va40ext
+
+GANSSTimeModelsList-r10 ::= SEQUENCE (SIZE (1..maxGANSS-1)) OF
+ UE-Positioning-GANSS-TimeModel-r10
+
+GANSS-SAT-Info-Almanac-BDSkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ bdsAlmToa BIT STRING (SIZE (8)),
+ bdsAlmSqrtA BIT STRING (SIZE (24)),
+ bdsAlmE BIT STRING (SIZE (17)),
+ bdsAlmW BIT STRING (SIZE (24)),
+ bdsAlmM0 BIT STRING (SIZE (24)),
+ bdsAlmOmega0 BIT STRING (SIZE (24)),
+ bdsAlmOmegaDot BIT STRING (SIZE (17)),
+ bdsAlmDeltaI BIT STRING (SIZE (16)),
+ bdsAlmA0 BIT STRING (SIZE (11)),
+ bdsAlmA1 BIT STRING (SIZE (11)),
+ bdsSvHealth BIT STRING (SIZE(9)) OPTIONAL
+}
+
+GANSS-SAT-Info-Almanac-GLOkp ::= SEQUENCE {
+ gloAlmNA BIT STRING (SIZE (11)),
+ gloAlmnA BIT STRING (SIZE (5)),
+ gloAlmHA BIT STRING (SIZE (5)),
+ gloAlmLambdaA BIT STRING (SIZE (21)),
+ gloAlmTlambdaA BIT STRING (SIZE (21)),
+ gloAlmDeltaIA BIT STRING (SIZE (18)),
+ gloAkmDeltaTA BIT STRING (SIZE (22)),
+ gloAlmDeltaTdotA BIT STRING (SIZE (7)),
+ gloAlmEpsilonA BIT STRING (SIZE (15)),
+ gloAlmOmegaA BIT STRING (SIZE (16)),
+ gloAlmTauA BIT STRING (SIZE (10)),
+ gloAlmCA BIT STRING (SIZE (1)),
+ gloAlmMA BIT STRING (SIZE (2)) OPTIONAL
+}
+
+GANSS-SAT-Info-Almanac-Kp ::= SEQUENCE {
+ svId INTEGER(0..63),
+ ganss-alm-e BIT STRING (SIZE (11)),
+ ganss-delta-I-alm BIT STRING (SIZE (11)),
+ ganss-omegadot-alm BIT STRING (SIZE (11)),
+ ganss-svstatusINAV-alm BIT STRING (SIZE (4)),
+ ganss-svstatusFNAV-alm BIT STRING (SIZE (2)) OPTIONAL,
+ ganss-delta-a-sqrt-alm BIT STRING (SIZE (13)),
+ ganss-omegazero-alm BIT STRING (SIZE (16)),
+ ganss-m-zero-alm BIT STRING (SIZE (16)),
+ ganss-omega-alm BIT STRING (SIZE (16)),
+ ganss-af-zero-alm BIT STRING (SIZE (16)),
+ ganss-af-one-alm BIT STRING (SIZE (13))
+}
+
+GANSS-SAT-Info-Almanac-MIDIkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ midiAlmE BIT STRING (SIZE (11)),
+ midiAlmDeltaI BIT STRING (SIZE (11)),
+ midiAlmOmegaDot BIT STRING (SIZE (11)),
+ midiAlmSqrtA BIT STRING (SIZE (17)),
+ midiAlmOmega0 BIT STRING (SIZE (16)),
+ midiAlmOmega BIT STRING (SIZE (16)),
+ midiAlmMo BIT STRING (SIZE (16)),
+ midiAlmaf0 BIT STRING (SIZE (11)),
+ midiAlmaf1 BIT STRING (SIZE (10)),
+ midiAlmL1Health BIT STRING (SIZE (1)),
+ midiAlmL2Health BIT STRING (SIZE (1)),
+ midiAlmL5Health BIT STRING (SIZE (1))
+}
+
+GANSS-SAT-Info-Almanac-NAVkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ navAlmE BIT STRING (SIZE (16)),
+ navAlmDeltaI BIT STRING (SIZE (16)),
+ navAlmOMEGADOT BIT STRING (SIZE (16)),
+ navAlmSVHealth BIT STRING (SIZE (8)),
+ navAlmSqrtA BIT STRING (SIZE (24)),
+ navAlmOMEGAo BIT STRING (SIZE (24)),
+ navAlmOmega BIT STRING (SIZE (24)),
+ navAlmMo BIT STRING (SIZE (24)),
+ navAlmaf0 BIT STRING (SIZE (11)),
+ navAlmaf1 BIT STRING (SIZE (11))
+}
+
+GANSS-SAT-Info-Almanac-REDkp ::= SEQUENCE {
+ svID INTEGER(0..63),
+ redAlmDeltaA BIT STRING (SIZE (8)),
+ redAlmOmega0 BIT STRING (SIZE (7)),
+ redAlmPhi0 BIT STRING (SIZE (7)),
+ redAlmL1Health BIT STRING (SIZE (1)),
+ redAlmL2Health BIT STRING (SIZE (1)),
+ redAlmL5Health BIT STRING (SIZE (1))
+}
+
+GANSS-SAT-Info-Almanac-SBASecef ::= SEQUENCE {
+ sbasAlmDataID BIT STRING (SIZE (2)),
+ svID INTEGER (0..63),
+ sbasAlmHealth BIT STRING (SIZE (8)),
+ sbasAlmXg BIT STRING (SIZE (15)),
+ sbasAlmYg BIT STRING (SIZE (15)),
+ sbasAlmZg BIT STRING (SIZE (9)),
+ sbasAlmXgdot BIT STRING (SIZE (3)),
+ sbasAlmYgDot BIT STRING (SIZE (3)),
+ sbasAlmZgDot BIT STRING (SIZE (4)),
+ sbasAlmTo BIT STRING (SIZE (11))
+}
+
+GANSS-SAT-Info-Almanac-BDSkpList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSS-SAT-Info-Almanac-BDSkp
+
+GANSS-SAT-Info-Almanac-GLOkpList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSS-SAT-Info-Almanac-GLOkp
+
+GANSS-SAT-Info-Almanac-KpList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSS-SAT-Info-Almanac-Kp
+
+GANSS-SAT-Info-Almanac-MIDIkpList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSS-SAT-Info-Almanac-MIDIkp
+
+GANSS-SAT-Info-Almanac-NAVkpList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSS-SAT-Info-Almanac-NAVkp
+
+GANSS-SAT-Info-Almanac-REDkpList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSS-SAT-Info-Almanac-REDkp
+
+GANSS-SAT-Info-Almanac-SBASecefList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ GANSS-SAT-Info-Almanac-SBASecef
+
+Ganss-Sat-Info-AddNav ::= SEQUENCE {
+ satId INTEGER (0..63),
+ svHealth BIT STRING (SIZE (6)),
+ iod BIT STRING (SIZE (11)),
+ ganssClockModel UE-Positioning-GANSS-AddClockModels,
+ ganssOrbitModel UE-Positioning-GANSS-AddOrbitModels
+}
+
+Ganss-Sat-Info-AddNav-r12 ::= SEQUENCE {
+ satId INTEGER (0..63),
+ svHealth BIT STRING (SIZE (6)),
+ iod BIT STRING (SIZE (11)),
+ ganssClockModel UE-Positioning-GANSS-AddClockModels-r12,
+ ganssOrbitModel UE-Positioning-GANSS-AddOrbitModels-r12
+}
+
+Ganss-Sat-Info-AddNav-vc50ext ::= SEQUENCE {
+ ganssClockModel UE-Positioning-GANSS-AddClockModels-vc50ext,
+ ganssOrbitModel UE-Positioning-GANSS-AddOrbitModels-vc50ext
+}
+
+Ganss-Sat-Info-Nav ::= SEQUENCE {
+ satId INTEGER (0..63),
+ svHealth BIT STRING (SIZE (9)),
+ iod BIT STRING (SIZE (10)),
+ ganssClockModel UE-Positioning-GANSS-ClockModel,
+ ganssOrbitModel UE-Positioning-GANSS-OrbitModel
+}
+
+Ganss-Sat-Info-AddNavList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ Ganss-Sat-Info-AddNav
+
+Ganss-Sat-Info-AddNavList-r12 ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ Ganss-Sat-Info-AddNav-r12
+
+Ganss-Sat-Info-AddNavList-vc50ext ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ Ganss-Sat-Info-AddNav-vc50ext
+
+Ganss-Sat-Info-NavList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ Ganss-Sat-Info-Nav
+
+GANSS-Signal-Id ::= INTEGER (0..7)
+
+GANSS-Status-Health ::= ENUMERATED {
+ udre-scale-1dot0,
+ udre-scale-0dot75,
+ udre-scale-0dot5,
+ udre-scale-0dot3,
+ udre-scale-0dot2,
+ udre-scale-0dot1,
+ no-data,
+ invalid-data }
+
+GANSS-Storm-Flag ::= SEQUENCE {
+ storm-flag-one BOOLEAN,
+ storm-flag-two BOOLEAN,
+ storm-flag-three BOOLEAN,
+ storm-flag-four BOOLEAN,
+ storm-flag-five BOOLEAN
+}
+
+GLONASSclockModel ::= SEQUENCE {
+ gloTau BIT STRING (SIZE (22)),
+ gloGamma BIT STRING (SIZE (11)),
+ gloDeltaTau BIT STRING (SIZE (5)) OPTIONAL
+}
+
+GPS-MeasurementParam ::= SEQUENCE {
+ satelliteID INTEGER (0..63),
+ c-N0 INTEGER (0..63),
+ doppler INTEGER (-32768..32768),
+ wholeGPS-Chips INTEGER (0..1022),
+ fractionalGPS-Chips INTEGER (0..1023),
+ multipathIndicator MultipathIndicator,
+ pseudorangeRMS-Error INTEGER (0..63)
+}
+
+GPS-MeasurementParamList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ GPS-MeasurementParam
+
+GSM-CarrierRSSI ::= BIT STRING (SIZE (6))
+
+GSM-CellGroup ::= SEQUENCE {
+ startingARFCN BCCH-ARFCN,
+ bandIndicator ENUMERATED { dcs1800, pcs1900 },
+ followingARFCNs CHOICE {
+ explicitListOfARFCNs SEQUENCE (SIZE (0..31)) OF BCCH-ARFCN,
+ equallySpacedARFCNs SEQUENCE {
+ arfcn-Spacing INTEGER (1..8),
+ numberOfFollowingARFCNs INTEGER (0..31)
+ },
+ variableBitMapOfARFCNs OCTET STRING (SIZE (1..16)),
+ continuousRangeOfARFCNs SEQUENCE {
+ endingARFCN BCCH-ARFCN
+ }
+ }
+}
+
+GSM-MeasuredResults ::= SEQUENCE {
+ gsm-CarrierRSSI GSM-CarrierRSSI OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy INTEGER (46..173) OPTIONAL,
+ bsicReported BSICReported,
+ -- dummy2 is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy2 ObservedTimeDifferenceToGSM OPTIONAL
+}
+
+GSM-MeasuredResultsList ::= SEQUENCE (SIZE (1..maxReportedGSMCells)) OF
+ GSM-MeasuredResults
+
+GPS-TOW-1msec ::= INTEGER (0..604799999)
+
+GPS-TOW-1sec ::= INTEGER (0..604799)
+
+GPS-TOW-Assist ::= SEQUENCE {
+ satID SatID,
+ tlm-Message BIT STRING (SIZE (14)),
+ tlm-Reserved BIT STRING (SIZE (2)),
+ alert BOOLEAN,
+ antiSpoof BOOLEAN
+}
+
+GPS-TOW-AssistList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ GPS-TOW-Assist
+
+GSM-CellID ::= SEQUENCE {
+ gsm-CellID INTEGER (0..maxCellMeas-1)
+}
+
+GSM-PriorityInfo ::= SEQUENCE {
+ gsmCellGroup GSM-CellGroup,
+ priority INTEGER (0..maxPrio-1),
+ -- Actual value = IE value * 2 + 1
+ qRxLevMinGSM INTEGER (-58..-13),
+ -- Actual value = IE value * 2
+ threshXhigh INTEGER (0..31),
+ -- Actual value = IE value * 2
+ threshXlow INTEGER (0..31)
+}
+
+GSM-PriorityInfoList ::= SEQUENCE (SIZE (1..maxNumGSMCellGroup)) OF
+ GSM-PriorityInfo
+
+GSMCellGroupingList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ GSM-CellID
+
+HCS-CellReselectInformation-RSCP ::= SEQUENCE {
+ -- TABULAR: The default value for penaltyTime is "notUsed"
+ -- Temporary offset is nested inside PenaltyTime-RSCP
+ penaltyTime PenaltyTime-RSCP
+}
+
+HCS-CellReselectInformation-ECN0 ::= SEQUENCE {
+ -- TABULAR: The default value for penaltyTime is "notUsed"
+ -- Temporary offset is nested inside PenaltyTime-ECN0
+ penaltyTime PenaltyTime-ECN0
+}
+
+HCS-NeighbouringCellInformation-RSCP ::= SEQUENCE {
+ hcs-PRIO HCS-PRIO DEFAULT 0,
+ q-HCS Q-HCS DEFAULT 0,
+ hcs-CellReselectInformation HCS-CellReselectInformation-RSCP
+}
+
+HCS-NeighbouringCellInformation-ECN0 ::= SEQUENCE {
+ hcs-PRIO HCS-PRIO DEFAULT 0,
+ q-HCS Q-HCS DEFAULT 0,
+ hcs-CellReselectInformation HCS-CellReselectInformation-ECN0
+}
+
+HCS-PRIO ::= INTEGER (0..7)
+
+HCS-ServingCellInformation ::= SEQUENCE {
+ hcs-PRIO HCS-PRIO DEFAULT 0,
+ q-HCS Q-HCS DEFAULT 0,
+ t-CR-Max T-CRMax OPTIONAL
+}
+
+HorizontalVelocity ::= SEQUENCE {
+ bearing INTEGER (0..359),
+ horizontalSpeed INTEGER (0..2047)
+ }
+
+HorizontalWithVerticalVelocity ::= SEQUENCE {
+ verticalSpeedDirection ENUMERATED { upward, downward },
+ bearing INTEGER (0..359),
+ horizontalSpeed INTEGER (0..2047),
+ verticalSpeed INTEGER (0..255)
+}
+
+HorizontalVelocityWithUncertainty ::= SEQUENCE {
+ bearing INTEGER (0..359),
+ horizontalSpeed INTEGER (0..2047),
+ horizontalSpeedUncertainty INTEGER (0..255)
+}
+
+HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
+ verticalSpeedDirection ENUMERATED { upward, downward },
+ bearing INTEGER (0..359),
+ horizontalSpeed INTEGER (0..2047),
+ verticalSpeed INTEGER (0..255),
+ horizontalUncertaintySpeed INTEGER (0..255),
+ verticalUncertaintySpeed INTEGER (0..255)
+}
+
+-- Actual value Hysteresis = IE value * 0.5
+Hysteresis ::= INTEGER (0..15)
+
+-- Actual value HysteresisInterFreq = IE value * 0.5
+HysteresisInterFreq ::= INTEGER (0..29)
+
+IdleIntervalInfo ::= SEQUENCE {
+ k INTEGER (2..3) OPTIONAL,
+ offset INTEGER (0..7) OPTIONAL
+}
+
+InterFreqCell ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ nonFreqRelatedEventResults CellMeasurementEventResults
+}
+
+InterFreqCell-LCR-r4 ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ nonFreqRelatedEventResults CellMeasurementEventResults-LCR-r4
+}
+
+InterFreqCellID ::= INTEGER (0..maxCellMeas-1)
+
+InterFreqCellID-r12 ::= INTEGER (0..maxCellMeas-ext-1)
+
+InterFreqCellInfoList ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellList OPTIONAL,
+ cellsForInterFreqMeasList CellsForInterFreqMeasList OPTIONAL
+}
+
+InterFreqCellInfoList-r4 ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellList-r4 OPTIONAL,
+ cellsForInterFreqMeasList CellsForInterFreqMeasList OPTIONAL
+}
+
+InterFreqCellInfoList-r8 ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellList-r8 OPTIONAL,
+ cellsForInterFreqMeasList CellsForInterFreqMeasList OPTIONAL
+}
+
+InterFreqCellInfoList-r9 ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellList-r9 OPTIONAL,
+ cellsForInterFreqMeasList CellsForInterFreqMeasList OPTIONAL,
+ cSGInterFreqCellInfoList CSGInterFreqCellInfoList OPTIONAL,
+ interFreqSIAcquisition InterFreqSIAcquisition OPTIONAL
+}
+
+InterFreqCellInfoList-r10 ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellList-r10 OPTIONAL,
+ cellsForInterFreqMeasList CellsForInterFreqMeasList OPTIONAL,
+ cSGInterFreqCellInfoList CSGInterFreqCellInfoList OPTIONAL,
+ interFreqSIAcquisition InterFreqSIAcquisition OPTIONAL
+}
+
+InterFreqCellInfoList-r12 ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList-r12 OPTIONAL,
+ newInterFreqCellList NewInterFreqCellList-r12 OPTIONAL,
+ cellsForInterFreqMeasList CellsForInterFreqMeasList-r12 OPTIONAL,
+ cSGInterFreqCellInfoList CSGInterFreqCellInfoList OPTIONAL,
+ interFreqSIAcquisition InterFreqSIAcquisition OPTIONAL,
+ rmp-Frequency-List RMP-Frequency-List OPTIONAL
+}
+
+InterFreqSIAcquisition ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryScramblingCode PrimaryCPICH-Info
+ },
+ tdd NULL
+ }
+}
+
+
+InterFreqCellInfoSI-List-RSCP ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-RSCP OPTIONAL
+}
+
+InterFreqCellInfoSI-List-ECN0 ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-ECN0 OPTIONAL
+}
+
+InterFreqCellInfoSI-List-HCS-RSCP ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-RSCP OPTIONAL
+}
+InterFreqCellInfoSI-List-HCS-ECN0 ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-ECN0 OPTIONAL
+}
+
+InterFreqCellInfoSI-List-RSCP-LCR ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-RSCP-LCR-r4 OPTIONAL
+}
+
+InterFreqCellInfoSI-List-ECN0-LCR ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-ECN0-LCR-r4 OPTIONAL
+}
+
+InterFreqCellInfoSI-List-HCS-RSCP-LCR ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-RSCP-LCR-r4 OPTIONAL
+}
+InterFreqCellInfoSI-List-HCS-ECN0-LCR ::= SEQUENCE {
+ removedInterFreqCellList RemovedInterFreqCellList OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-ECN0-LCR-r4 OPTIONAL
+}
+
+InterFreqCellList ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ InterFreqCell
+
+InterFreqCellList-LCR-r4-ext ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ InterFreqCell-LCR-r4
+
+InterFreqCellMeasuredResultsList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellMeasuredResults
+
+InterFreqCellMeasuredResultsList-v920ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellMeasuredResults-v920ext
+
+InterFreqCellMeasuredResultsList-vc50ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellMeasuredResults-vc50ext
+
+InterFreqEvent ::= CHOICE {
+ event2a Event2a,
+ event2b Event2b,
+ event2c Event2c,
+ event2d Event2d,
+ event2e Event2e,
+ event2f Event2f
+}
+
+InterFreqEvent-r6 ::= CHOICE {
+ event2a Event2a-r6,
+ event2b Event2b-r6,
+ event2c Event2c-r6,
+ event2d Event2d-r6,
+ event2e Event2e-r6,
+ event2f Event2f-r6
+}
+
+InterFreqEvent-r10 ::= CHOICE {
+ event2a Event2a-r10,
+ event2b Event2b-r10,
+ event2c Event2c-r10,
+ event2d Event2d-r10,
+ event2e Event2e-r10,
+ event2f Event2f-r10
+}
+
+InterFreqEvent-r11 ::= CHOICE {
+ event2a Event2a-r11,
+ event2b Event2b-r11,
+ event2c Event2c-r11,
+ event2d Event2d-r10,
+ event2e Event2e-r11,
+ event2f Event2f-r10
+}
+
+InterFreqEvent-r12 ::= CHOICE {
+ event2a Event2a-r11,
+ event2b Event2b-r11,
+ event2c Event2c-r11,
+ event2d Event2d-r10,
+ event2e Event2e-r11,
+ event2f Event2f-r10,
+ event2g Event2g
+}
+
+InterFreqEventList ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ InterFreqEvent
+
+InterFreqEventList-r6 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ InterFreqEvent-r6
+
+InterFreqEventList-r10 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ InterFreqEvent-r10
+
+InterFreqEventList-r11 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ InterFreqEvent-r11
+
+
+InterFreqEventList-r12 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ InterFreqEvent-r12
+
+--Following IE shall be used regardless of CPICH RSCP(FDD) or Primary CCPCH RSCP(TDD)
+--The order of the list corresponds to the order of the cells in InterFrequencyMeasuredResultsList
+--The IE is only used for measured results and not for additional measured results.
+InterFrequencyMeasuredResultsList-v590ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ DeltaRSCPPerCell
+
+Inter-FreqEventCriteria-v590ext ::= SEQUENCE {
+ threholdUsedFrequency-delta DeltaRSCP,
+ threholdNonUsedFrequency-deltaList ThreholdNonUsedFrequency-deltaList OPTIONAL
+}
+
+--The order of the list corresponds to the order of the events in Inter-FreqEventList
+Inter-FreqEventCriteriaList-v590ext ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ Inter-FreqEventCriteria-v590ext
+
+--The order of the list corresponds to the order of relevant events in Intra-FreqEventCriteriaList
+--i.e. the first element of the list corresponds to the first occurance of event 1e, 1f, 1h, 1i,
+--the second element of the list corresponds to the second occurance of event 1e, 1f, 1h, 1i
+Intra-FreqEventCriteriaList-v590ext ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ DeltaRSCP
+
+--Following IE shall be used regardless of CPICH RSCP(FDD) or Primary CCPCH RSCP(TDD)
+--The order of the list corresponds to the order of the cells in IntraFrequencyMeasuredResultsList
+--The IE is only used for measured results and not for additional measured results.
+IntraFrequencyMeasuredResultsList-v590ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ DeltaRSCPPerCell
+
+
+InterFreqEventResults ::= SEQUENCE {
+ eventID EventIDInterFreq,
+ interFreqCellList InterFreqCellList OPTIONAL
+}
+
+InterFreqEventResults-va40ext ::= SEQUENCE {
+ detectedSetTrigger ENUMERATED {true} OPTIONAL
+}
+
+InterFreqEventResults-LCR-r4-ext ::= SEQUENCE {
+ eventID EventIDInterFreq,
+ interFreqCellList InterFreqCellList-LCR-r4-ext OPTIONAL
+}
+
+InterFreqMeasQuantity ::= SEQUENCE {
+ reportingCriteria CHOICE {
+ intraFreqReportingCriteria SEQUENCE {
+ intraFreqMeasQuantity IntraFreqMeasQuantity
+ },
+ interFreqReportingCriteria SEQUENCE {
+ filterCoefficient FilterCoefficient DEFAULT fc0,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ freqQualityEstimateQuantity-FDD FreqQualityEstimateQuantity-FDD
+ },
+ tdd SEQUENCE {
+ freqQualityEstimateQuantity-TDD FreqQualityEstimateQuantity-TDD
+ }
+ }
+ }
+ }
+}
+
+InterFreqMeasuredResults ::= SEQUENCE {
+ frequencyInfo FrequencyInfo OPTIONAL,
+ utra-CarrierRSSI UTRA-CarrierRSSI OPTIONAL,
+ interFreqCellMeasuredResultsList InterFreqCellMeasuredResultsList OPTIONAL
+}
+
+InterFreqMeasuredResults-v920ext ::= SEQUENCE {
+ interFreqCellMeasuredResultsList InterFreqCellMeasuredResultsList-v920ext OPTIONAL
+}
+InterFreqMeasuredResults-vc50ext ::= SEQUENCE {
+ interFreqCellMeasuredResultsList InterFreqCellMeasuredResultsList-vc50ext OPTIONAL
+}
+
+InterFreqMeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ InterFreqMeasuredResults
+
+InterFreqMeasuredResultsList-v920ext ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ InterFreqMeasuredResults-v920ext
+
+InterFreqMeasuredResultsList-vc50ext ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ InterFreqMeasuredResults-vc50ext
+
+InterFreqMeasurementSysInfo-RSCP ::= SEQUENCE {
+ interFreqCellInfoSI-List InterFreqCellInfoSI-List-RSCP OPTIONAL
+}
+
+InterFreqMeasurementSysInfo-ECN0 ::= SEQUENCE {
+ interFreqCellInfoSI-List InterFreqCellInfoSI-List-ECN0 OPTIONAL
+}
+
+InterFreqMeasurementSysInfo-HCS-RSCP ::= SEQUENCE {
+ interFreqCellInfoSI-List InterFreqCellInfoSI-List-HCS-RSCP OPTIONAL
+}
+
+InterFreqMeasurementSysInfo-HCS-ECN0 ::= SEQUENCE {
+ interFreqCellInfoSI-List InterFreqCellInfoSI-List-HCS-ECN0 OPTIONAL
+}
+
+InterFreqMeasurementSysInfo-RSCP-LCR-r4 ::= SEQUENCE {
+ interFreqCellInfoSI-List InterFreqCellInfoSI-List-RSCP-LCR OPTIONAL
+}
+
+InterFreqMeasurementSysInfo-ECN0-LCR-r4 ::= SEQUENCE {
+ interFreqCellInfoSI-List InterFreqCellInfoSI-List-ECN0-LCR OPTIONAL
+}
+
+InterFreqMeasurementSysInfo-HCS-RSCP-LCR-r4 ::= SEQUENCE {
+ interFreqCellInfoSI-List InterFreqCellInfoSI-List-HCS-RSCP-LCR OPTIONAL
+}
+
+InterFreqMeasurementSysInfo-HCS-ECN0-LCR-r4 ::= SEQUENCE {
+ interFreqCellInfoSI-List InterFreqCellInfoSI-List-HCS-ECN0-LCR OPTIONAL
+}
+
+InterFreqRACHRepCellsList ::= SEQUENCE (SIZE (1..maxFreq)) OF
+InterFreqCellID
+
+InterFreqRACHRepCellsList-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF
+InterFreqCellID-r12
+
+Dummy-InterFreqRACHReportingInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ interFreqRepQuantityRACH-FDD InterFreqRepQuantityRACH-FDD
+ },
+ tdd SEQUENCE {
+ interFreqRepQuantityRACH-TDDList InterFreqRepQuantityRACH-TDDList
+ },
+ interFreqRACHReportingThreshold Threshold,
+ maxReportedCellsOnRACHinterFreq MaxReportedCellsOnRACHinterFreq
+ }
+}
+
+InterFreqRACHReportingInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ interFreqRepQuantityRACH-FDD InterFreqRepQuantityRACH-FDD
+ },
+ tdd SEQUENCE {
+ interFreqRepQuantityRACH-TDDList InterFreqRepQuantityRACH-TDDList
+ }
+ },
+ interFreqRACHReportingThreshold Threshold,
+ maxReportedCellsOnRACHinterFreq MaxReportedCellsOnRACHinterFreq
+}
+
+InterFreqExclude-listedCellsList-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ InterFreqExclude-listedCells-r12
+
+InterFreqExclude-listedCells-r12 ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ excludedCellInfoList CellInfoListToBeExcluded
+}
+
+InterFreqReportCriteria ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria,
+ interFreqReportingCriteria InterFreqReportingCriteria,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+InterFreqReportCriteria-r4 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r4,
+ interFreqReportingCriteria InterFreqReportingCriteria,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+InterFreqReportCriteria-r6 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r6,
+ interFreqReportingCriteria InterFreqReportingCriteria-r6,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+InterFreqReportCriteria-r7 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r7,
+ interFreqReportingCriteria InterFreqReportingCriteria-r6,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+InterFreqReportCriteria-r9 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r9,
+ interFreqReportingCriteria InterFreqReportingCriteria-r6,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+InterFreqReportCriteria-r10 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r9,
+ interFreqReportingCriteria InterFreqReportingCriteria-r10,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus-r10,
+ noReporting ReportingCellStatusOpt-r10
+}
+
+InterFreqReportCriteria-r11 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r11,
+ interFreqReportingCriteria InterFreqReportingCriteria-r11,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus-r10,
+ noReporting ReportingCellStatusOpt-r10
+}
+
+
+InterFreqReportCriteria-r12 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r11,
+ interFreqReportingCriteria InterFreqReportingCriteria-r12,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus-r10,
+ noReporting ReportingCellStatusOpt-r10
+}
+
+InterFreqReportingCriteria ::= SEQUENCE {
+ interFreqEventList InterFreqEventList OPTIONAL
+}
+
+InterFreqReportingCriteria-r6 ::= SEQUENCE {
+ interFreqEventList InterFreqEventList-r6 OPTIONAL
+}
+
+InterFreqReportingCriteria-r10 ::= SEQUENCE {
+ interFreqEventList InterFreqEventList-r10 OPTIONAL
+}
+
+InterFreqReportingCriteria-r11 ::= SEQUENCE {
+ interFreqEventList InterFreqEventList-r11 OPTIONAL
+}
+
+InterFreqReportingCriteria-r12 ::= SEQUENCE {
+ interFreqEventList InterFreqEventList-r12 OPTIONAL,
+ interFreqExclude-listedCellsList InterFreqExclude-listedCellsList-r12 OPTIONAL
+}
+
+InterFreqReportingQuantity ::= SEQUENCE {
+ utra-Carrier-RSSI BOOLEAN,
+ frequencyQualityEstimate BOOLEAN,
+ nonFreqRelatedQuantities CellReportingQuantities
+}
+
+InterFreqRepQuantityRACH-FDD ::= ENUMERATED {
+ cpich-EcN0, cpich-RSCP }
+
+-- dummy is not used in this version of the specification, it should
+-- not be sent and if received the UE behaviour is not specified.
+InterFreqRepQuantityRACH-TDD ::= ENUMERATED {
+ dummy,
+ primaryCCPCH-RSCP }
+
+InterFreqRepQuantityRACH-TDDList ::= SEQUENCE (SIZE (1..2)) OF
+ InterFreqRepQuantityRACH-TDD
+
+InterFrequencyMeasurement ::= SEQUENCE {
+ interFreqCellInfoList InterFreqCellInfoList,
+ interFreqMeasQuantity InterFreqMeasQuantity OPTIONAL,
+ interFreqReportingQuantity InterFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ interFreqSetUpdate UE-AutonomousUpdateMode OPTIONAL,
+ reportCriteria InterFreqReportCriteria
+}
+
+
+InterFrequencyMeasurement-r4 ::= SEQUENCE {
+ interFreqCellInfoList InterFreqCellInfoList-r4,
+ interFreqMeasQuantity InterFreqMeasQuantity OPTIONAL,
+ interFreqReportingQuantity InterFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ interFreqSetUpdate UE-AutonomousUpdateMode OPTIONAL,
+ reportCriteria InterFreqReportCriteria-r4
+}
+
+InterFrequencyMeasurement-r6 ::= SEQUENCE {
+ interFreqCellInfoList InterFreqCellInfoList-r4,
+ interFreqMeasQuantity InterFreqMeasQuantity OPTIONAL,
+ interFreqReportingQuantity InterFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ interFreqSetUpdate UE-AutonomousUpdateMode OPTIONAL,
+ reportCriteria InterFreqReportCriteria-r6
+}
+
+InterFrequencyMeasurement-r7 ::= SEQUENCE {
+ interFreqCellInfoList InterFreqCellInfoList-r4,
+ interFreqMeasQuantity InterFreqMeasQuantity OPTIONAL,
+ interFreqReportingQuantity InterFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ interFreqSetUpdate UE-AutonomousUpdateMode OPTIONAL,
+ reportCriteria InterFreqReportCriteria-r7
+}
+
+InterFrequencyMeasurement-r8 ::= SEQUENCE {
+ interFreqCellInfoList InterFreqCellInfoList-r8,
+ interFreqMeasQuantity InterFreqMeasQuantity OPTIONAL,
+ interFreqReportingQuantity InterFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ interFreqSetUpdate UE-AutonomousUpdateMode OPTIONAL,
+ adjacentFrequencyIndex INTEGER (0..31) OPTIONAL,
+ reportCriteria InterFreqReportCriteria-r7
+}
+
+InterFrequencyMeasurement-r9 ::= SEQUENCE {
+ interFreqCellInfoList InterFreqCellInfoList-r9,
+ interFreqMeasQuantity InterFreqMeasQuantity OPTIONAL,
+ interFreqReportingQuantity InterFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ interFreqSetUpdate UE-AutonomousUpdateMode OPTIONAL,
+ adjacentFrequencyIndex INTEGER (0..31) OPTIONAL,
+ interBandFrequencyIndex INTEGER (0..31) OPTIONAL,
+ reportCriteria InterFreqReportCriteria-r9
+}
+
+InterFrequencyMeasurement-r10 ::= SEQUENCE {
+ interFreqCellInfoList InterFreqCellInfoList-r10,
+ interFreqMeasQuantity InterFreqMeasQuantity OPTIONAL,
+ interFreqReportingQuantity InterFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ interFreqSetUpdate UE-AutonomousUpdateMode OPTIONAL,
+ adjacentFrequencyIndex INTEGER (0..31) OPTIONAL,
+ interBandFrequencyIndex INTEGER (0..31) OPTIONAL,
+ freqIndexListForEnhancedMeas FreqIndexListForEnhancedMeas OPTIONAL,
+ reportCriteria InterFreqReportCriteria-r10
+}
+
+InterFrequencyMeasurement-r11 ::= SEQUENCE {
+ interFreqCellInfoList InterFreqCellInfoList-r10,
+ interFreqMeasQuantity InterFreqMeasQuantity OPTIONAL,
+ interFreqReportingQuantity InterFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ interFreqSetUpdate UE-AutonomousUpdateMode OPTIONAL,
+ adjacentFrequencyIndex INTEGER (0..31) OPTIONAL,
+ interBandFrequencyIndex INTEGER (0..31) OPTIONAL,
+ freqIndexListForEnhancedMeas FreqIndexListForEnhancedMeas OPTIONAL,
+ reportCriteria InterFreqReportCriteria-r11
+}
+
+
+InterFrequencyMeasurement-r12 ::= SEQUENCE {
+ interFreqCellInfoList InterFreqCellInfoList-r12,
+ interFreqMeasQuantity InterFreqMeasQuantity OPTIONAL,
+ interFreqReportingQuantity InterFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ interFreqSetUpdate UE-AutonomousUpdateMode OPTIONAL,
+ adjacentFrequencyIndex INTEGER (0..79) OPTIONAL,
+ interBandFrequencyIndex INTEGER (0..79) OPTIONAL,
+ freqIndexListForEnhancedMeas FreqIndexListForEnhancedMeas-r12 OPTIONAL,
+ reportCriteria InterFreqReportCriteria-r12
+}
+
+InterRAT-TargetCellDescription ::= SEQUENCE {
+ technologySpecificInfo CHOICE {
+ gsm SEQUENCE {
+ bsic BSIC,
+ frequency-band Frequency-Band,
+ bcch-ARFCN BCCH-ARFCN,
+ ncMode NC-Mode OPTIONAL
+ },
+ is-2000 NULL,
+ spare2 NULL,
+ spare1 NULL
+ }
+}
+
+InterRATCellID ::= INTEGER (0..maxCellMeas-1)
+
+InterRATCellInfoIndication ::= INTEGER (0..3)
+
+InterRATCellInfoList ::= SEQUENCE {
+ removedInterRATCellList RemovedInterRATCellList,
+ -- NOTE: Future revisions of dedicated messages including IE newInterRATCellList
+ -- should use a corrected version of this IE
+ newInterRATCellList NewInterRATCellList,
+ cellsForInterRATMeasList CellsForInterRATMeasList OPTIONAL
+}
+
+InterRATCellInfoList-B ::= SEQUENCE {
+ removedInterRATCellList RemovedInterRATCellList,
+ -- NOTE: IE newInterRATCellList should be optional. However, system information
+ -- does not support message versions. Hence, this can not be corrected
+ newInterRATCellList NewInterRATCellList-B
+}
+
+InterRATCellInfoList-r4 ::= SEQUENCE {
+ removedInterRATCellList RemovedInterRATCellList,
+ newInterRATCellList NewInterRATCellList OPTIONAL,
+ cellsForInterRATMeasList CellsForInterRATMeasList OPTIONAL
+}
+
+InterRATCellInfoList-r6 ::= SEQUENCE {
+ removedInterRATCellList RemovedInterRATCellList,
+ newInterRATCellList NewInterRATCellList OPTIONAL,
+ cellsForInterRATMeasList CellsForInterRATMeasList OPTIONAL,
+ interRATCellInfoIndication-r6 InterRATCellInfoIndication OPTIONAL
+}
+
+InterRATCellIndividualOffset ::= INTEGER (-50..50)
+
+InterRATEvent ::= CHOICE {
+ event3a Event3a,
+ event3b Event3b,
+ event3c Event3c,
+ event3d Event3d
+}
+
+InterRATEvent-r12 ::= CHOICE {
+ event3a Event3a-r12,
+ event3b Event3b-r12,
+ event3c Event3c-r12,
+ event3d Event3d
+}
+
+InterRATEventList ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ InterRATEvent
+
+InterRATEventList-r12 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ InterRATEvent-r12
+
+InterRATEventResults ::= SEQUENCE {
+ eventID EventIDInterRAT,
+ cellToReportList CellToReportList
+}
+
+InterRATInfo ::= ENUMERATED {
+ gsm }
+
+InterRATInfo-r6 ::= SEQUENCE {
+ rat InterRATInfo,
+ gsm-TargetCellInfoList GSM-TargetCellInfoList OPTIONAL
+}
+
+InterRATInfo-v860ext ::= CHOICE {
+ -- CHOICE gsm is provided in IE InterRATInfo or IE InterRATInfo-r6
+ gsm NULL,
+ eutra SEQUENCE {
+ eutra-TargetFreqInfoList EUTRA-TargetFreqInfoList
+ }
+}
+
+InterRATMeasQuantity ::= SEQUENCE {
+ measQuantityUTRAN-QualityEstimate IntraFreqMeasQuantity OPTIONAL,
+ ratSpecificInfo CHOICE {
+ gsm SEQUENCE {
+ measurementQuantity MeasurementQuantityGSM,
+ filterCoefficient FilterCoefficient DEFAULT fc0,
+ bsic-VerificationRequired BSIC-VerificationRequired
+ },
+ is-2000 SEQUENCE {
+ tadd-EcIo INTEGER (0..63),
+ tcomp-EcIo INTEGER (0..15),
+ softSlope INTEGER (0..63) OPTIONAL,
+ addIntercept INTEGER (0..63) OPTIONAL
+ }
+ }
+}
+
+InterRATMeasQuantity-r8 ::= SEQUENCE {
+ measQuantityUTRAN-QualityEstimate IntraFreqMeasQuantity OPTIONAL,
+ ratSpecificInfo CHOICE {
+ gsm SEQUENCE {
+ measurementQuantity MeasurementQuantityGSM,
+ filterCoefficient FilterCoefficient DEFAULT fc0,
+ bsic-VerificationRequired BSIC-VerificationRequired
+ },
+ is-2000 SEQUENCE {
+ tadd-EcIo INTEGER (0..63),
+ tcomp-EcIo INTEGER (0..15),
+ softSlope INTEGER (0..63) OPTIONAL,
+ addIntercept INTEGER (0..63) OPTIONAL
+ },
+ e-UTRA SEQUENCE {
+ measurementQuantity MeasurementQuantityEUTRA,
+ filterCoefficient FilterCoefficient DEFAULT fc0
+ }
+ }
+}
+
+InterRATMeasuredResults ::= CHOICE {
+ gsm GSM-MeasuredResultsList,
+ spare NULL
+}
+
+InterRATMeasuredResultsList ::= SEQUENCE (SIZE (1..maxOtherRAT-16)) OF
+ InterRATMeasuredResults
+
+InterRATMeasurement ::= SEQUENCE {
+ interRATCellInfoList InterRATCellInfoList OPTIONAL,
+ interRATMeasQuantity InterRATMeasQuantity OPTIONAL,
+ interRATReportingQuantity InterRATReportingQuantity OPTIONAL,
+ reportCriteria InterRATReportCriteria
+}
+
+InterRATMeasurement-r4 ::= SEQUENCE {
+ interRATCellInfoList InterRATCellInfoList-r4 OPTIONAL,
+ interRATMeasQuantity InterRATMeasQuantity OPTIONAL,
+ interRATReportingQuantity InterRATReportingQuantity OPTIONAL,
+ reportCriteria InterRATReportCriteria
+}
+
+InterRATMeasurement-r6 ::= SEQUENCE {
+ interRATCellInfoList InterRATCellInfoList-r6 OPTIONAL,
+ interRATMeasQuantity InterRATMeasQuantity OPTIONAL,
+ interRATReportingQuantity InterRATReportingQuantity OPTIONAL,
+ reportCriteria InterRATReportCriteria
+}
+
+InterRATMeasurement-r8 ::= SEQUENCE {
+ interRATMeasurementObjects CHOICE {
+ interRATCellInfoList InterRATCellInfoList-r6,
+ eutra-FrequencyList EUTRA-FrequencyList
+ } OPTIONAL,
+ interRATMeasQuantity InterRATMeasQuantity-r8 OPTIONAL,
+ interRATReportingQuantity InterRATReportingQuantity-r8 OPTIONAL,
+ reportCriteria InterRATReportCriteria,
+ idleIntervalInfo IdleIntervalInfo OPTIONAL
+}
+
+InterRATMeasurement-r9 ::= SEQUENCE {
+ interRATMeasurementObjects CHOICE {
+ interRATCellInfoList InterRATCellInfoList-r6,
+ eutra-FrequencyList EUTRA-FrequencyList-r9
+ } OPTIONAL,
+ interRATMeasQuantity InterRATMeasQuantity-r8 OPTIONAL,
+ interRATReportingQuantity InterRATReportingQuantity-r8 OPTIONAL,
+ reportCriteria InterRATReportCriteria,
+ idleIntervalInfo IdleIntervalInfo OPTIONAL
+}
+
+InterRATMeasurement-r11 ::= SEQUENCE {
+ interRATMeasurementObjects CHOICE {
+ interRATCellInfoList InterRATCellInfoList-r6,
+ eutra-FrequencyList EUTRA-FrequencyList-r11
+ } OPTIONAL,
+ interRATMeasQuantity InterRATMeasQuantity-r8 OPTIONAL,
+ interRATReportingQuantity InterRATReportingQuantity-r8 OPTIONAL,
+ reportCriteria InterRATReportCriteria,
+ idleIntervalInfo IdleIntervalInfo OPTIONAL
+}
+
+InterRATMeasurement-r12 ::= SEQUENCE {
+ interRATMeasurementObjects CHOICE {
+ interRATCellInfoList InterRATCellInfoList-r6,
+ eutra-FrequencyList EUTRA-FrequencyList-r12
+ } OPTIONAL,
+ interRATMeasQuantity InterRATMeasQuantity-r8 OPTIONAL,
+ interRATReportingQuantity InterRATReportingQuantity-r8 OPTIONAL,
+ reportCriteria InterRATReportCriteria-r12,
+ idleIntervalInfo IdleIntervalInfo OPTIONAL
+}
+
+
+InterRATMeasurementSysInfo ::= SEQUENCE {
+ interRATCellInfoList InterRATCellInfoList OPTIONAL
+}
+
+InterRATMeasurementSysInfo-B ::= SEQUENCE {
+ interRATCellInfoList InterRATCellInfoList-B OPTIONAL
+}
+
+InterRATReportCriteria ::= CHOICE {
+ interRATReportingCriteria InterRATReportingCriteria,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+InterRATReportCriteria-r12 ::= CHOICE {
+ interRATReportingCriteria InterRATReportingCriteria-r12,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+InterRATReportingCriteria ::= SEQUENCE {
+ interRATEventList InterRATEventList OPTIONAL
+}
+
+InterRATReportingCriteria-r12 ::= SEQUENCE {
+ interRATEventList InterRATEventList-r12 OPTIONAL
+}
+
+InterRATReportingQuantity ::= SEQUENCE {
+ utran-EstimatedQuality BOOLEAN,
+ ratSpecificInfo CHOICE {
+ gsm SEQUENCE {
+ -- dummy and dummy2 are not used in this version of the specification
+ -- and when received they should be ignored.
+ dummy BOOLEAN,
+ dummy2 BOOLEAN,
+ gsm-Carrier-RSSI BOOLEAN
+ }
+ }
+}
+
+InterRATReportingQuantity-r8 ::= SEQUENCE {
+ utran-EstimatedQuality BOOLEAN,
+ ratSpecificInfo CHOICE {
+ gsm SEQUENCE {
+ gsm-Carrier-RSSI BOOLEAN
+ },
+ eutra SEQUENCE {
+ reportingQuantity ENUMERATED { measurementQuantity,
+ both }
+ }
+ }
+}
+
+IntraFreqCellID ::= INTEGER (0..maxCellMeas-1)
+
+IntraFreqCellIDOnSecULFreq ::= INTEGER (0..maxCellMeasOnSecULFreq-1)
+
+IntraFreqCellInfoList ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellList OPTIONAL,
+ cellsForIntraFreqMeasList CellsForIntraFreqMeasList OPTIONAL
+}
+
+IntraFreqCellInfoList-r4 ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellList-r4 OPTIONAL,
+ cellsForIntraFreqMeasList CellsForIntraFreqMeasList OPTIONAL
+}
+
+IntraFreqCellInfoListInfoOnSecULFreq ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellListOnSecULFreq OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellListOnSecULFreq OPTIONAL,
+ cellsForIntraFreqMeasList CellsForIntraFreqMeasListOnSecULFreq OPTIONAL
+}
+
+IntraFreqCellInfoListOnSecULFreq ::= SEQUENCE {
+ intraFreqCellInfoListOnSecULFreq IntraFreqCellInfoListInfoOnSecULFreq
+}
+
+IntraFreqCellInfoList-r9 ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellList-r9 OPTIONAL,
+ cellsForIntraFreqMeasList CellsForIntraFreqMeasList OPTIONAL,
+ cSGIntraFreqCellInfoList CSGIntraFreqCellInfoList OPTIONAL,
+ intraFreqSIAcquisition IntraFreqSIAcquisition OPTIONAL
+
+}
+
+IntraFreqCellInfoList-r10 ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellList-r10 OPTIONAL,
+ cellsForIntraFreqMeasList CellsForIntraFreqMeasList OPTIONAL,
+ cSGIntraFreqCellInfoList CSGIntraFreqCellInfoList OPTIONAL,
+ intraFreqSIAcquisition IntraFreqSIAcquisition OPTIONAL
+}
+
+IntraFreqSIAcquisitionInfo::= SEQUENCE (SIZE (1..maxSIrequest)) OF
+ PrimaryCPICH-Info
+
+IntraFreqSIAcquisition ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ intraFreqSIAcquisitionInfo IntraFreqSIAcquisitionInfo OPTIONAL
+ },
+ tdd NULL
+ }
+}
+
+IntraFreqCellInfoSI-List-RSCP ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellSI-List-RSCP
+}
+
+IntraFreqCellInfoSI-List-ECN0 ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellSI-List-ECN0
+}
+
+IntraFreqCellInfoSI-List-HCS-RSCP ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellSI-List-HCS-RSCP
+}
+
+IntraFreqCellInfoSI-List-HCS-ECN0 ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellSI-List-HCS-ECN0
+}
+
+IntraFreqCellInfoSI-List-RSCP-LCR-r4 ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellSI-List-RSCP-LCR-r4
+}
+
+IntraFreqCellInfoSI-List-ECN0-LCR-r4 ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellSI-List-ECN0-LCR-r4
+}
+
+IntraFreqCellInfoSI-List-HCS-RSCP-LCR-r4 ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellSI-List-HCS-RSCP-LCR-r4
+}
+
+IntraFreqCellInfoSI-List-HCS-ECN0-LCR-r4 ::= SEQUENCE {
+ removedIntraFreqCellList RemovedIntraFreqCellList OPTIONAL,
+ newIntraFreqCellList NewIntraFreqCellSI-List-HCS-ECN0-LCR-r4
+}
+
+IntraFreqEvent ::= CHOICE {
+ e1a Event1a,
+ e1b Event1b,
+ e1c Event1c,
+ e1d NULL,
+ e1e Event1e,
+ e1f Event1f,
+ e1g NULL,
+ e1h ThresholdUsedFrequency,
+ e1i ThresholdUsedFrequency
+}
+
+IntraFreqEvent-r4 ::= CHOICE {
+ e1a Event1a-r4,
+ e1b Event1b-r4,
+ e1c Event1c,
+ e1d NULL,
+ e1e Event1e,
+ e1f Event1f,
+ e1g NULL,
+ e1h ThresholdUsedFrequency,
+ e1i ThresholdUsedFrequency
+}
+
+IntraFreqEvent-LCR-r4 ::= CHOICE {
+ e1a Event1a-LCR-r4,
+ e1b Event1b-LCR-r4,
+ e1c Event1c,
+ e1d NULL,
+ e1e Event1e,
+ e1f Event1f,
+ e1g NULL,
+ e1h ThresholdUsedFrequency,
+ e1i ThresholdUsedFrequency
+}
+
+IntraFreqEvent-r6 ::= CHOICE {
+ e1a Event1a-r4,
+ e1b Event1b-r4,
+ e1c Event1c,
+ e1d Event1d,
+ e1e Event1e-r6,
+ e1f Event1f-r6,
+ e1g NULL,
+ e1h ThresholdUsedFrequency-r6,
+ e1i ThresholdUsedFrequency-r6,
+ e1j Event1j-r6
+}
+
+IntraFreqEvent-r7 ::= CHOICE {
+ e1a Event1a-r4,
+ e1b Event1b-r7,
+ e1c Event1c,
+ e1d Event1d,
+ e1e Event1e-r6,
+ e1f Event1f-r6,
+ e1g NULL,
+ e1h ThresholdUsedFrequency-r6,
+ e1i ThresholdUsedFrequency-r6,
+ e1j Event1j-r6
+}
+
+IntraFreqEventOnSecULFreq ::= CHOICE {
+ e1a Event1a-OnSecUlFreq-r9,
+ e1b Event1b-OnSecUlFreq-r9,
+ e1c Event1c,
+ e1e Event1e-r6,
+ e1f Event1f-r6
+}
+
+IntraFreqEvent-1d-r5 ::= SEQUENCE {
+ triggeringCondition TriggeringCondition2 OPTIONAL,
+ useCIO BOOLEAN OPTIONAL
+}
+
+IntraFreqEventCriteria ::= SEQUENCE {
+ event IntraFreqEvent,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+IntraFreqEventCriteria-r4 ::= SEQUENCE {
+ event IntraFreqEvent-r4,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+IntraFreqEventCriteria-LCR-r4 ::= SEQUENCE {
+ event IntraFreqEvent-LCR-r4,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+IntraFreqEventCriteria-r6 ::= SEQUENCE {
+ event IntraFreqEvent-r6,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+IntraFreqEventCriteria-r7 ::= SEQUENCE {
+ event IntraFreqEvent-r7,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+IntraFreqEventCriteriaOnSecULFreq ::= SEQUENCE {
+ event IntraFreqEventOnSecULFreq,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+IntraFreqEventCriteriaList ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ IntraFreqEventCriteria
+
+IntraFreqEventCriteriaList-r4 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ IntraFreqEventCriteria-r4
+
+IntraFreqEventCriteriaList-LCR-r4 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ IntraFreqEventCriteria-LCR-r4
+
+IntraFreqEventCriteriaList-r6 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ IntraFreqEventCriteria-r6
+
+IntraFreqEventCriteriaList-r7 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ IntraFreqEventCriteria-r7
+
+IntraFreqEventCriteriaListOnSecULFreq ::= SEQUENCE{
+ frequencyInfo FrequencyInfo,
+ intraFreqEventCriteria SEQUENCE (SIZE (1..maxMeasEventOnSecULFreq)) OF
+ IntraFreqEventCriteriaOnSecULFreq
+}
+
+IntraFreqEventResults ::= SEQUENCE {
+ eventID EventIDIntraFreq,
+ cellMeasurementEventResults CellMeasurementEventResults
+}
+
+IntraFreqEventResultsOnSecUlFreq ::= SEQUENCE {
+ eventID EventIDIntraFreq,
+ cellMeasurementEventResultsOnSecUlFreq CellMeasurementEventResultsOnSecUlFreq
+}
+
+IntraFreqMeasQuantity ::= SEQUENCE {
+ filterCoefficient FilterCoefficient DEFAULT fc0,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ intraFreqMeasQuantity-FDD IntraFreqMeasQuantity-FDD
+ },
+ tdd SEQUENCE {
+ intraFreqMeasQuantity-TDDList IntraFreqMeasQuantity-TDDList
+ }
+ }
+}
+
+-- If IntraFreqMeasQuantity-FDD is used in InterRATMeasQuantity, then only
+-- cpich-Ec-N0 and cpich-RSCP are allowed.
+-- dummy is not used in this version of the specification, it should
+-- not be sent and if received the UE behaviour is not specified.
+IntraFreqMeasQuantity-FDD ::= ENUMERATED {
+ cpich-Ec-N0,
+ cpich-RSCP,
+ pathloss,
+ dummy }
+
+IntraFreqMeasQuantity-FDD-sib3 ::= ENUMERATED {
+ cpich-Ec-N0, cpich-RSCP }
+
+-- dummy is not used in this version of the specification, it should
+-- not be sent and if received the UE behaviour is not specified.
+IntraFreqMeasQuantity-TDD ::= ENUMERATED {
+ primaryCCPCH-RSCP,
+ pathloss,
+ timeslotISCP,
+ dummy }
+
+IntraFreqMeasQuantity-TDDList ::= SEQUENCE (SIZE (1..4)) OF
+ IntraFreqMeasQuantity-TDD
+
+IntraFreqMeasQuantity-TDD-sib3List ::= SEQUENCE (SIZE (1..2)) OF
+ ENUMERATED { primaryCCPCH-RSCP, timeslotISCP }
+
+IntraFreqMeasuredResultsList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellMeasuredResults
+
+IntraFreqMeasuredResultsList-v920ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellMeasuredResults-v920ext
+
+IntraFreqMeasuredResultsList-vc50ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellMeasuredResults-vc50ext
+
+IntraFreqMeasurementSysInfo-RSCP ::= SEQUENCE {
+ intraFreqMeasurementID MeasurementIdentity DEFAULT 1,
+ intraFreqCellInfoSI-List IntraFreqCellInfoSI-List-RSCP OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantityForRACH IntraFreqReportingQuantityForRACH OPTIONAL,
+ maxReportedCellsOnRACH MaxReportedCellsOnRACH OPTIONAL,
+ reportingInfoForCellDCH ReportingInfoForCellDCH OPTIONAL
+}
+
+IntraFreqMeasurementSysInfo-ECN0 ::= SEQUENCE {
+ intraFreqMeasurementID MeasurementIdentity DEFAULT 1,
+ intraFreqCellInfoSI-List IntraFreqCellInfoSI-List-ECN0 OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantityForRACH IntraFreqReportingQuantityForRACH OPTIONAL,
+ maxReportedCellsOnRACH MaxReportedCellsOnRACH OPTIONAL,
+ reportingInfoForCellDCH ReportingInfoForCellDCH OPTIONAL
+}
+
+IntraFreqMeasurementSysInfo-HCS-RSCP ::= SEQUENCE {
+ intraFreqMeasurementID MeasurementIdentity DEFAULT 1,
+ intraFreqCellInfoSI-List IntraFreqCellInfoSI-List-HCS-RSCP OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantityForRACH IntraFreqReportingQuantityForRACH OPTIONAL,
+ maxReportedCellsOnRACH MaxReportedCellsOnRACH OPTIONAL,
+ reportingInfoForCellDCH ReportingInfoForCellDCH OPTIONAL
+}
+
+IntraFreqMeasurementSysInfo-HCS-ECN0 ::= SEQUENCE {
+ intraFreqMeasurementID MeasurementIdentity DEFAULT 1,
+ intraFreqCellInfoSI-List IntraFreqCellInfoSI-List-HCS-ECN0 OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantityForRACH IntraFreqReportingQuantityForRACH OPTIONAL,
+ maxReportedCellsOnRACH MaxReportedCellsOnRACH OPTIONAL,
+ reportingInfoForCellDCH ReportingInfoForCellDCH OPTIONAL
+}
+
+IntraFreqMeasurementSysInfo-RSCP-LCR-r4 ::= SEQUENCE {
+ intraFreqMeasurementID MeasurementIdentity DEFAULT 1,
+ intraFreqCellInfoSI-List IntraFreqCellInfoSI-List-RSCP-LCR-r4 OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantityForRACH IntraFreqReportingQuantityForRACH OPTIONAL,
+ maxReportedCellsOnRACH MaxReportedCellsOnRACH OPTIONAL,
+ reportingInfoForCellDCH ReportingInfoForCellDCH-LCR-r4 OPTIONAL
+}
+
+IntraFreqMeasurementSysInfo-ECN0-LCR-r4 ::= SEQUENCE {
+ intraFreqMeasurementID MeasurementIdentity DEFAULT 1,
+ intraFreqCellInfoSI-List IntraFreqCellInfoSI-List-ECN0-LCR-r4 OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantityForRACH IntraFreqReportingQuantityForRACH OPTIONAL,
+ maxReportedCellsOnRACH MaxReportedCellsOnRACH OPTIONAL,
+ reportingInfoForCellDCH ReportingInfoForCellDCH-LCR-r4 OPTIONAL
+}
+
+IntraFreqMeasurementSysInfo-HCS-RSCP-LCR-r4 ::= SEQUENCE {
+ intraFreqMeasurementID MeasurementIdentity DEFAULT 1,
+ intraFreqCellInfoSI-List IntraFreqCellInfoSI-List-HCS-RSCP-LCR-r4 OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantityForRACH IntraFreqReportingQuantityForRACH OPTIONAL,
+ maxReportedCellsOnRACH MaxReportedCellsOnRACH OPTIONAL,
+ reportingInfoForCellDCH ReportingInfoForCellDCH-LCR-r4 OPTIONAL
+}
+
+IntraFreqMeasurementSysInfo-HCS-ECN0-LCR-r4 ::= SEQUENCE {
+ intraFreqMeasurementID MeasurementIdentity DEFAULT 1,
+ intraFreqCellInfoSI-List IntraFreqCellInfoSI-List-HCS-ECN0-LCR-r4 OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantityForRACH IntraFreqReportingQuantityForRACH OPTIONAL,
+ maxReportedCellsOnRACH MaxReportedCellsOnRACH OPTIONAL,
+ reportingInfoForCellDCH ReportingInfoForCellDCH-LCR-r4 OPTIONAL
+}
+
+IntraFreqReportCriteria ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+IntraFreqReportCriteria-r4 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r4,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+IntraFreqReportCriteria-r6 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r6,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+IntraFreqReportCriteria-r7 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r7,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+IntraFreqReportCriteria-r9 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r9,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+IntraFreqReportCriteria-r11 ::= CHOICE {
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r11,
+ periodicalReportingCriteria PeriodicalWithReportingCellStatus,
+ noReporting ReportingCellStatusOpt
+}
+
+IntraFreqReportingCriteria ::= SEQUENCE {
+ eventCriteriaList IntraFreqEventCriteriaList OPTIONAL
+}
+
+IntraFreqReportingCriteria-r4 ::= SEQUENCE {
+ eventCriteriaList IntraFreqEventCriteriaList-r4 OPTIONAL
+}
+
+IntraFreqReportingCriteria-LCR-r4 ::= SEQUENCE {
+ eventCriteriaList IntraFreqEventCriteriaList-LCR-r4 OPTIONAL
+}
+
+IntraFreqReportingCriteria-r6 ::= SEQUENCE {
+ eventCriteriaList IntraFreqEventCriteriaList-r6 OPTIONAL
+}
+
+IntraFreqReportingCriteria-r7 ::= SEQUENCE {
+ eventCriteriaList IntraFreqEventCriteriaList-r7 OPTIONAL
+}
+
+IntraFreqReportingCriteria-r9 ::= SEQUENCE {
+ eventCriteriaList IntraFreqEventCriteriaList-r7 OPTIONAL,
+ eventCriteriaListOnSecULFreq IntraFreqEventCriteriaListOnSecULFreq OPTIONAL
+}
+
+IntraFreqReportingCriteria-r11 ::= SEQUENCE {
+ eventCriteriaList IntraFreqEventCriteriaList-r7 OPTIONAL,
+ eventCriteriaListOnSecULFreq IntraFreqEventCriteriaListOnSecULFreq OPTIONAL,
+ excludedCellInfoList CellInfoListToBeExcluded OPTIONAL
+}
+
+IntraFreqReportingCriteria-1b-r5 ::= SEQUENCE {
+ periodicReportingInfo-1b PeriodicReportingInfo-1b
+}
+
+IntraFreqReportingQuantity ::= SEQUENCE {
+ activeSetReportingQuantities CellReportingQuantities,
+ monitoredSetReportingQuantities CellReportingQuantities,
+ detectedSetReportingQuantities CellReportingQuantities OPTIONAL
+}
+
+IntraFreqReportingQuantityForRACH ::= SEQUENCE {
+ sfn-SFN-OTD-Type SFN-SFN-OTD-Type,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ intraFreqRepQuantityRACH-FDD IntraFreqRepQuantityRACH-FDD
+ },
+ tdd SEQUENCE {
+ intraFreqRepQuantityRACH-TDDList IntraFreqRepQuantityRACH-TDDList
+ }
+ }
+}
+
+IntraFreqReportingQuantityForRACH-vc50ext ::= SEQUENCE {
+ intraFreqRepQuantityRACH-FDD ENUMERATED {
+ cpich-EcN0-RSCP, spare1}
+}
+
+IntraFreqRepQuantityRACH-FDD ::= ENUMERATED {
+ cpich-EcN0, cpich-RSCP,
+ pathloss, noReport }
+
+IntraFreqRepQuantityRACH-TDD ::= ENUMERATED {
+ timeslotISCP,
+ primaryCCPCH-RSCP,
+ noReport }
+
+IntraFreqRepQuantityRACH-TDDList ::= SEQUENCE (SIZE (1..2)) OF
+ IntraFreqRepQuantityRACH-TDD
+
+IntraFrequencyMeasurement ::= SEQUENCE {
+ intraFreqCellInfoList IntraFreqCellInfoList OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantity IntraFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria IntraFreqReportCriteria OPTIONAL
+}
+
+IntraFrequencyMeasurement-r4 ::= SEQUENCE {
+ intraFreqCellInfoList IntraFreqCellInfoList-r4 OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantity IntraFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria IntraFreqReportCriteria-r4 OPTIONAL
+}
+
+IntraFrequencyMeasurement-r6 ::= SEQUENCE {
+ intraFreqCellInfoList IntraFreqCellInfoList-r4 OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantity IntraFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ -- reportCriteria is optional in later versions of this message
+ reportCriteria IntraFreqReportCriteria-r6
+}
+
+IntraFrequencyMeasurement-r7 ::= SEQUENCE {
+ intraFreqCellInfoList IntraFreqCellInfoList-r4 OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantity IntraFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria IntraFreqReportCriteria-r7 OPTIONAL
+}
+
+IntraFrequencyMeasurement-r9 ::= SEQUENCE {
+ intraFreqCellInfoList IntraFreqCellInfoList-r9 OPTIONAL,
+ intraFreqCellInfoListOnSecULFreq IntraFreqCellInfoListOnSecULFreq OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantity IntraFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria IntraFreqReportCriteria-r9 OPTIONAL
+}
+
+IntraFrequencyMeasurement-r10 ::= SEQUENCE {
+ intraFreqCellInfoList IntraFreqCellInfoList-r10 OPTIONAL,
+ intraFreqCellInfoListOnSecULFreq IntraFreqCellInfoListOnSecULFreq OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantity IntraFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria IntraFreqReportCriteria-r9 OPTIONAL
+}
+
+IntraFrequencyMeasurement-r11 ::= SEQUENCE {
+ intraFreqCellInfoList IntraFreqCellInfoList-r10 OPTIONAL,
+ intraFreqCellInfoListOnSecULFreq IntraFreqCellInfoListOnSecULFreq OPTIONAL,
+ intraFreqMeasQuantity IntraFreqMeasQuantity OPTIONAL,
+ intraFreqReportingQuantity IntraFreqReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria IntraFreqReportCriteria-r11 OPTIONAL,
+ periodicalReportingCriteriaOnSecULFreq
+ PeriodicalWithReportingCellStatusOnSecULFreq OPTIONAL
+}
+
+IntraFrequencyMeasuredResultsListOnSecULFreq ::= SEQUENCE (SIZE (1..maxCellMeasOnSecULFreq)) OF
+ CellMeasuredResults-r9
+
+IntraFrequencyMeasuredResultsListOnSecULFreq-vc50ext ::= SEQUENCE (SIZE (1..maxCellMeasOnSecULFreq))
+ OF CellMeasuredResults-vc50ext
+
+IntraUTRAANR ::= SEQUENCE {
+ loggingAbsoluteThreshold LoggingAbsoluteThreshold,
+ loggingRelativeThreshold LoggingRelativeThreshold OPTIONAL
+}
+
+IODE ::= INTEGER (0..255)
+
+IP-Length ::= ENUMERATED {
+ ipl5, ipl10 }
+
+IP-PCCPCH-r4 ::= BOOLEAN
+
+IP-Spacing ::= ENUMERATED {
+ e5, e7, e10, e15, e20,
+ e30, e40, e50 }
+
+IP-Spacing-TDD ::= ENUMERATED {
+ e30, e40, e50, e70, e100}
+
+IS-2000SpecificMeasInfo ::= ENUMERATED {
+ frequency, timeslot, colourcode,
+ outputpower, pn-Offset }
+
+LoggedANRConfigurationInfo ::= SEQUENCE {
+ loggingDuration ENUMERATED { min10, min30, hr1, spare2, spare1 },
+ intraUTRAANR IntraUTRAANR OPTIONAL,
+ interRATANRforEUTRAIndicator ENUMERATED { true } OPTIONAL,
+ interRATANRforGSMIndicator ENUMERATED { true } OPTIONAL
+}
+
+LoggedANRReportInfoList ::= SEQUENCE (SIZE (1..maxNumANRLoggedItems)) OF
+ LoggedANRReportInfo
+
+LoggedANRReportInfoList-vb50ext ::= SEQUENCE (SIZE (1..maxNumANRLoggedItems)) OF
+ LoggedANRReportInfo-vb50ext
+
+LoggedANRReportInfo ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ servingCell CellIdentity,
+ loggedCellInfo LoggedCellInfo
+}
+
+LoggedANRReportInfo-vb50ext ::= SEQUENCE {
+ loggedCellInfo LoggedCellInfo-vb50ext
+}
+
+LoggedCellInfo ::= CHOICE {
+ loggedUTRACellInfo LoggedUTRACellInfo,
+ loggedEUTRACellInfo LoggedEUTRACellInfo,
+ loggedGSMCellInfo LoggedGSMCellInfo
+}
+
+LoggedCellInfo-vb50ext ::= CHOICE {
+ loggedEUTRACellInfo LoggedEUTRACellInfo-vb50ext
+}
+
+LoggedConnectionEstablishmentFailureInfo-FDD ::= SEQUENCE {
+ loggedConnectionEstablishmentFailureAccessInfo-FDD
+ LoggedConnectionEstablishmentFailureAccessInfo-FDD,
+ loggedMeasFailedCellMeas LoggedMeasServingCellMeas-FDD,
+ loggedMeasIntrafreqNeighbourList LoggedMeasIntrafreqNeighbourList-FDD OPTIONAL,
+ loggedMeasInterfreqList LoggedMeasInterfreqList-FDD OPTIONAL,
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-vb50ext OPTIONAL,
+ loggedConnectionEstablishmentFailureLocationInfo
+ LoggedConnectionEstablishmentFailureLocationInfo OPTIONAL
+}
+
+LoggedConnectionEstablishmentFailureInfo-FDD-vc50ext ::= SEQUENCE {
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-vc50ext OPTIONAL
+}
+
+LoggedConnectionEstablishmentFailureInfo-FDD-r11 ::= SEQUENCE {
+ loggedConnectionEstablishmentFailureAccessInfo-FDD
+ LoggedConnectionEstablishmentFailureAccessInfo-FDD,
+ loggedMeasFailedCellMeas LoggedMeasServingCellMeas-FDD,
+ loggedMeasIntrafreqNeighbourList LoggedMeasIntrafreqNeighbourList-FDD OPTIONAL,
+ loggedMeasInterfreqList LoggedMeasInterfreqList-FDD OPTIONAL,
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-r11 OPTIONAL,
+ loggedConnectionEstablishmentFailureLocationInfo
+ LoggedConnectionEstablishmentFailureLocationInfo OPTIONAL
+}
+
+LoggedConnectionEstablishmentFailureInfo-TDD128 ::= SEQUENCE {
+ loggedConnectionEstablishmentFailureAccessInfo-TDD
+ LoggedConnectionEstablishmentFailureAccessInfo-TDD,
+ loggedMeasFailedCellMeas LoggedMeasServingCellMeas-TDD128,
+ loggedMeasIntrafreqNeighbourList LoggedMeasIntrafreqNeighbourMeasList-TDD128 OPTIONAL,
+ loggedMeasInterfreqList LoggedMeasInterfreqList-TDD128 OPTIONAL,
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-vb50ext OPTIONAL,
+ loggedConnectionEstablishmentFailureLocationInfo
+ LoggedConnectionEstablishmentFailureLocationInfo OPTIONAL
+}
+
+LoggedConnectionEstablishmentFailureInfo-TDD128-r11 ::= SEQUENCE {
+ loggedConnectionEstablishmentFailureAccessInfo-TDD
+ LoggedConnectionEstablishmentFailureAccessInfo-TDD,
+ loggedMeasFailedCellMeas LoggedMeasServingCellMeas-TDD128,
+ loggedMeasIntrafreqNeighbourList LoggedMeasIntrafreqNeighbourMeasList-TDD128 OPTIONAL,
+ loggedMeasInterfreqList LoggedMeasInterfreqList-TDD128 OPTIONAL,
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-r11 OPTIONAL,
+ loggedConnectionEstablishmentFailureLocationInfo
+ LoggedConnectionEstablishmentFailureLocationInfo OPTIONAL
+}
+
+LoggedConnectionEstablishmentFailureInfo-TDD128-vc50ext ::= SEQUENCE {
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-vc50ext OPTIONAL
+}
+
+
+LoggedConnectionEstablishmentFailureAccessInfo-FDD ::= SEQUENCE {
+ numberOfRRCMsgTransmitted INTEGER (0..8)
+}
+
+LoggedConnectionEstablishmentFailureAccessInfo-TDD ::= SEQUENCE {
+ numberOfRRCMsgTransmitted INTEGER (0..8),
+ fpachReceived BOOLEAN,
+ e-RUCCHFailure BOOLEAN OPTIONAL
+}
+
+LoggedConnectionEstablishmentFailureLocationInfo ::= SEQUENCE {
+ location CHOICE {
+ ellipsoidPoint EllipsoidPoint,
+ ellipsoidPointUncertCircle EllipsoidPointUncertCircle,
+ ellipsoidPointUncertEllipse EllipsoidPointUncertEllipse,
+ ellipsoidPointAltitude EllipsoidPointAltitude,
+ ellipsoidPointAltitudeEllipse EllipsoidPointAltitudeEllipsoide
+ },
+ horizontalVelocity HorizontalVelocity OPTIONAL
+}
+
+ConnectionEstablishmentFailureReport ::= SEQUENCE {
+ timeSinceFailure INTEGER (0..172800),
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ loggedConnectionEstablishmentFailureInfo
+ LoggedConnectionEstablishmentFailureInfo-FDD
+ },
+ tdd SEQUENCE {
+ loggedConnectionEstablishmentFailureInfo
+ LoggedConnectionEstablishmentFailureInfo-TDD128
+ }
+ }
+}
+
+ConnectionEstablishmentFailureReport-r11 ::= SEQUENCE {
+ timeSinceFailure INTEGER (0..172800),
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ loggedConnectionEstablishmentFailureInfo
+ LoggedConnectionEstablishmentFailureInfo-FDD-r11
+ },
+ tdd SEQUENCE {
+ loggedConnectionEstablishmentFailureInfo
+ LoggedConnectionEstablishmentFailureInfo-TDD128-r11
+ }
+ }
+}
+
+ConnectionEstablishmentFailureReport-vc50ext ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ loggedConnectionEstablishmentFailureInfo
+ LoggedConnectionEstablishmentFailureInfo-FDD-vc50ext
+ },
+ tdd SEQUENCE {
+ loggedConnectionEstablishmentFailureInfo
+ LoggedConnectionEstablishmentFailureInfo-TDD128-vc50ext
+ }
+
+ }
+}
+
+LoggedEUTRACellInfo ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ trackingAreaCode BIT STRING (SIZE (16)),
+ eutraCellIdentity BIT STRING (SIZE (28)),
+ earfcn EARFCN,
+ physicalCellIdentity EUTRA-PhysicalCellIdentity
+}
+
+LoggedEUTRACellInfo-vb50ext ::= SEQUENCE {
+ earfcn EARFCNExtension OPTIONAL
+}
+
+LoggedGSMCellInfo ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ lac BIT STRING (SIZE (16)),
+ gsmCellIdentity BIT STRING (SIZE (16)),
+ bcch-ARFCN BCCH-ARFCN,
+ bandIndicator Frequency-Band,
+ bsic BSIC
+}
+
+LoggedMeasurementsConfigurationInfo ::= SEQUENCE {
+ absoluteTimeInfo BIT STRING (SIZE(48)),
+ loggingDuration ENUMERATED {min10, min20, min40, hr1, hr1min30,hr2,spare2,spare1},
+ loggingInterval ENUMERATED {li128,li256,li512,li1024,li2048,li3072,li4096,li6144},
+ traceReference TraceReference,
+ traceRecordingSession TraceRecordingSession,
+ tce-Id TCE-Id,
+ areaConfiguration CHOICE {
+ cellIDList SEQUENCE (SIZE (1..32)) OF
+ CellIdentity,
+ locationAreaList SEQUENCE (SIZE (1..8)) OF
+ LAI,
+ routingAreaList SEQUENCE (SIZE (1..8)) OF
+ RAI
+ } OPTIONAL
+}
+
+LoggedMeasurementsConfigurationInfo-r11 ::= SEQUENCE {
+ absoluteTimeInfo BIT STRING (SIZE(48)),
+ loggingDuration ENUMERATED {min10, min20, min40, hr1, hr1min30,hr2,spare2,spare1},
+ loggingInterval ENUMERATED {li128,li256,li512,li1024,li2048,li3072,li4096,li6144},
+ traceReference TraceReference,
+ traceRecordingSession TraceRecordingSession,
+ tce-Id TCE-Id,
+ plmnList PlmnList OPTIONAL,
+ areaConfiguration CHOICE {
+ cellIDList SEQUENCE (SIZE (1..32)) OF CellIDListItem,
+ locationAreaList SEQUENCE (SIZE (1..8)) OF
+ LAI,
+ routingAreaList SEQUENCE (SIZE (1..8)) OF
+ RAI
+ } OPTIONAL
+}
+
+LoggedMeasInterfreqList-FDD ::= SEQUENCE (SIZE (1..maxNumFDDFreqs)) OF
+ LoggedMeasInterfreqInfo-FDD
+
+LoggedMeasInterfreqInfo-FDD ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ loggedMeasInterfreqNeighbourList SEQUENCE (SIZE (1..maxnumLoggedMeas)) OF
+ LoggedMeasNeighbourInfo-FDD
+}
+
+LoggedMeasInterfreqInfo-TDD128 ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ loggedMeasInterfreqNeighbourList LoggedMeasInterfreqNeighbourList-TDD128
+}
+
+LoggedMeasInterRATNeighbourMeas ::= SEQUENCE {
+ loggedMeasEUTRAFreqList LoggedMeasEUTRAFreqList OPTIONAL,
+ loggedMeasGSMNeighbourCellsList LoggedMeasGSMNeighbourCellsList OPTIONAL
+}
+
+LoggedMeasInterRATNeighbourMeas-vb50ext ::= SEQUENCE {
+ loggedMeasEUTRAFreqList LoggedMeasEUTRAFreqList-vb50ext
+}
+
+LoggedMeasInterRATNeighbourMeas-vc50ext ::= SEQUENCE {
+ loggedMeasEUTRAFreqList LoggedMeasEUTRAFreqList-vc50ext OPTIONAL
+}
+
+LoggedMeasInterRATNeighbourMeas-r11 ::= SEQUENCE {
+ loggedMeasEUTRAFreqList LoggedMeasEUTRAFreqList-r11 OPTIONAL,
+ loggedMeasGSMNeighbourCellsList LoggedMeasGSMNeighbourCellsList OPTIONAL
+}
+
+LoggedMeasIntrafreqNeighbourList-FDD ::= SEQUENCE (SIZE (1..maxnumLoggedMeas)) OF
+ LoggedMeasNeighbourInfo-FDD
+
+LoggedMeasNeighbourInfo-FDD ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ cpich-RSCP CPICH-RSCP,
+ cpich-Ec-N0 CPICH-Ec-N0
+}
+
+LoggedMeasIntrafreqNeighbourMeasList-TDD128 ::= SEQUENCE (SIZE (1..maxnumLoggedMeas)) OF
+ LoggedMeasNeighbourMeas-TDD128
+
+LoggedMeasNeighbourMeas-TDD128 ::= SEQUENCE {
+ cellParametersID CellParametersID,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP
+}
+
+LoggedMeasGSMNeighbourCellsList ::= SEQUENCE (SIZE (1..maxnumLoggedMeas)) OF
+ LoggedMeasGSMNeighbourCellsinfo
+
+LoggedMeasGSMNeighbourCellsinfo ::= SEQUENCE {
+ bsic BSIC,
+ frequency-band Frequency-Band,
+ bcch-ARFCN BCCH-ARFCN,
+ gsm-CarrierRSSI GSM-CarrierRSSI
+}
+
+LoggedMeasEUTRAFreqList ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs))OF
+ LoggedMeasEUTRAFreqInfo
+
+LoggedMeasEUTRAFreqList-vb50ext ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ LoggedMeasEUTRAFreqInfo-vb50ext
+
+LoggedMeasEUTRAFreqList-r11 ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ LoggedMeasEUTRAFreqInfo-r11
+
+LoggedMeasEUTRAFreqList-vc50ext ::= SEQUENCE (SIZE (1..maxNumEUTRAFreqs)) OF
+ LoggedMeasEUTRAFreqInfo-vc50ext
+
+LoggedMeasEUTRAFreqInfo ::= SEQUENCE {
+ earfcn EARFCN,
+ loggedMeasEUTRAFreqNeighbourInfoList SEQUENCE (SIZE (1.. maxnumLoggedMeas)) OF
+ LoggedMeasEUTRAFreqNeighbourInfo
+}
+
+LoggedMeasEUTRAFreqInfo-vb50ext ::= SEQUENCE {
+ earfcn EARFCNExtension OPTIONAL
+}
+
+LoggedMeasEUTRAFreqInfo-r11 ::= SEQUENCE {
+ earfcn EARFCNRange,
+ loggedMeasEUTRAFreqNeighbourInfoList SEQUENCE (SIZE (1.. maxnumLoggedMeas)) OF
+ LoggedMeasEUTRAFreqNeighbourInfo
+}
+
+LoggedMeasEUTRAFreqInfo-vc50ext ::= SEQUENCE {
+ rSRQType RsrqType OPTIONAL,
+ loggedMeasEUTRAFreqNeighbourInfoList SEQUENCE (SIZE (1.. maxnumLoggedMeas)) OF
+ LoggedMeasEUTRAFreqNeighbourInfo-vc50ext
+}
+
+LoggedMeasEUTRAFreqNeighbourInfo ::= SEQUENCE {
+ physicalCellIdentity EUTRA-PhysicalCellIdentity,
+ rSRP INTEGER (0..97) ,
+ rSRQ INTEGER (0..33)
+}
+
+LoggedMeasEUTRAFreqNeighbourInfo-vc50ext ::= SEQUENCE {
+ rSRQExtension INTEGER (-30..46) OPTIONAL
+}
+
+LoggedMeasInfo-FDD ::= SEQUENCE {
+ relativeTimeStamp INTEGER (0..7200),
+ loggedMeasServingCellMeas LoggedMeasServingCellMeas-FDD,
+ loggedMeasIntrafreqNeighbourList LoggedMeasIntrafreqNeighbourList-FDD OPTIONAL,
+ loggedMeasInterfreqList LoggedMeasInterfreqList-FDD OPTIONAL,
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas OPTIONAL,
+ loggedMeasLocationInfo LoggedMeasLocationInfo OPTIONAL
+}
+
+LoggedMeasInfo-FDD-vb50ext ::= SEQUENCE {
+ loggedMeasServingCellMeas LoggedMeasServingCellMeas-FDD-vb50ext OPTIONAL,
+ loggedMeasLocationInfo LoggedMeasLocationInfo-vb50ext OPTIONAL,
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-vb50ext OPTIONAL
+}
+
+LoggedMeasInfo-FDD-vc50ext ::= SEQUENCE {
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-vc50ext OPTIONAL
+}
+
+LoggedMeasInfo-TDD128 ::= SEQUENCE {
+ relativeTimeStamp INTEGER (0..7200),
+ loggedMeasServingCellMeas LoggedMeasServingCellMeas-TDD128,
+ loggedMeasIntrafreqNeighbourList LoggedMeasIntrafreqNeighbourMeasList-TDD128 OPTIONAL,
+ loggedMeasInterfreqList LoggedMeasInterfreqList-TDD128 OPTIONAL,
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas OPTIONAL,
+ loggedMeasLocationInfo LoggedMeasLocationInfo OPTIONAL
+}
+
+LoggedMeasInfo-TDD128-vb50ext ::= SEQUENCE {
+ loggedMeasServingCellMeas LoggedMeasServingCellMeas-TDD128-vb50ext OPTIONAL,
+ loggedMeasLocationInfo LoggedMeasLocationInfo-vb50ext OPTIONAL,
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-vb50ext OPTIONAL
+}
+
+LoggedMeasInfo-TDD128-vc50ext ::= SEQUENCE {
+ loggedMeasInterRATNeighbourMeas LoggedMeasInterRATNeighbourMeas-vc50ext OPTIONAL
+}
+
+LoggedMeasInfoList-FDD ::= SEQUENCE (SIZE (1.. maxLoggedMeasReport)) OF LoggedMeasInfo-FDD
+
+LoggedMeasInfoList-FDD-vb50ext ::= SEQUENCE (SIZE (1..maxLoggedMeasReport)) OF LoggedMeasInfo-FDD-vb50ext
+
+LoggedMeasInfoList-FDD-vc50ext ::= SEQUENCE (SIZE (1..maxLoggedMeasReport)) OF LoggedMeasInfo-FDD-vc50ext
+
+LoggedMeasInfoList-TDD128 ::= SEQUENCE (SIZE (1.. maxLoggedMeasReport)) OF LoggedMeasInfo-TDD128
+
+LoggedMeasInfoList-TDD128-vb50ext ::= SEQUENCE (SIZE (1..maxLoggedMeasReport)) OF LoggedMeasInfo-TDD128-vb50ext
+
+LoggedMeasInfoList-TDD128-vc50ext ::= SEQUENCE (SIZE (1..maxLoggedMeasReport)) OF LoggedMeasInfo-TDD128-vc50ext
+
+LoggedMeasInfoList ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ loggedMeasInfoList LoggedMeasInfoList-FDD
+ },
+ tdd SEQUENCE {
+ loggedMeasInfoList LoggedMeasInfoList-TDD128
+ }
+ }
+}
+
+LoggedMeasInfoList-vb50ext ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ loggedMeasInfoList LoggedMeasInfoList-FDD-vb50ext
+ },
+ tdd SEQUENCE {
+ loggedMeasInfoList LoggedMeasInfoList-TDD128-vb50ext
+ }
+ }
+}
+
+LoggedMeasInfoList-vc50ext ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ loggedMeasInfoList LoggedMeasInfoList-FDD-vc50ext
+ },
+ tdd SEQUENCE {
+ loggedMeasInfoList LoggedMeasInfoList-TDD128-vc50ext
+ }
+ }
+}
+
+LoggedMeasInterfreqList-TDD128 ::= SEQUENCE (SIZE (1..maxNumTDDFreqs)) OF
+ LoggedMeasInterfreqInfo-TDD128
+
+LoggedMeasInterfreqNeighbourList-TDD128 ::= SEQUENCE (SIZE (1..maxnumLoggedMeas)) OF
+ LoggedMeasNeighbourMeas-TDD128
+
+LoggedMeasLocationInfo ::= CHOICE {
+ ellipsoidPoint EllipsoidPoint,
+ ellipsoidPointAltitude EllipsoidPointAltitude
+}
+
+LoggedMeasLocationInfo-vb50ext ::= CHOICE {
+ ellipsoidPointUncertCircle EllipsoidPointUncertCircle,
+ ellipsoidPointUncertEllipse EllipsoidPointUncertEllipse,
+ ellipsoidPointAltitudeEllipse EllipsoidPointAltitudeEllipsoide
+}
+
+LoggedMeasReport ::= SEQUENCE {
+ absoluteTimeInfo BIT STRING (SIZE(48)),
+ traceReference TraceReference,
+ traceRecordingSession TraceRecordingSession,
+ tce-Id TCE-Id,
+ loggedMeasInfoList LoggedMeasInfoList OPTIONAL,
+ loggedMeasAvailable ENUMERATED { true } OPTIONAL
+}
+
+LoggedMeasReport-vb50ext ::= SEQUENCE {
+ loggedMeasInfoList LoggedMeasInfoList-vb50ext OPTIONAL
+}
+
+LoggedMeasReport-vc50ext ::= SEQUENCE {
+ loggedMeasInfoList LoggedMeasInfoList-vc50ext OPTIONAL
+}
+
+LoggedMeasServingCellMeas-FDD ::= SEQUENCE {
+ cellIdentity CellIdentity,
+ cpich-RSCP CPICH-RSCP,
+ cpich-Ec-N0 CPICH-Ec-N0
+}
+
+LoggedMeasServingCellMeas-FDD-vb50ext ::= SEQUENCE {
+ plmnIdentity PLMN-Identity OPTIONAL
+}
+
+LoggedMeasServingCellMeas-TDD128 ::= SEQUENCE {
+ cellIdentity CellIdentity,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP
+}
+
+LoggedMeasServingCellMeas-TDD128-vb50ext ::= SEQUENCE {
+ plmnIdentity PLMN-Identity OPTIONAL
+}
+
+LoggedUTRACellInfo ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellIdentity CellIdentity,
+ uarfcn UARFCN,
+ cellParametersID CellParametersID OPTIONAL,
+ primaryScramblingCode PrimaryScramblingCode OPTIONAL
+}
+
+LoggingAbsoluteThreshold ::= CHOICE {
+ rscpforANR RSCPforANR,
+ ec-N0forANR Ec-N0forANR
+}
+
+-- it applies to RSCP by step of 2 and Ec/N0 by step of 1
+-- Actual value LoggingRelativeThreshold = IE value * 2 (RSCP)
+-- Actual value LoggingRelativeThreshold = IE value (Ec/N0)
+LoggingRelativeThreshold ::= INTEGER (-4..16)
+
+KeplerianParameters ::= SEQUENCE {
+ toe-nav BIT STRING (SIZE (14)),
+ ganss-omega-nav BIT STRING (SIZE (32)),
+ delta-n-nav BIT STRING (SIZE (16)),
+ m-zero-nav BIT STRING (SIZE (32)),
+ omegadot-nav BIT STRING (SIZE (24)),
+ ganss-e-nav BIT STRING (SIZE (32)),
+ idot-nav BIT STRING (SIZE (14)),
+ a-sqrt-nav BIT STRING (SIZE (32)),
+ i-zero-nav BIT STRING (SIZE (32)),
+ omega-zero-nav BIT STRING (SIZE (32)),
+ c-rs-nav BIT STRING (SIZE (16)),
+ c-is-nav BIT STRING (SIZE (16)),
+ c-us-nav BIT STRING (SIZE (16)),
+ c-rc-nav BIT STRING (SIZE (16)),
+ c-ic-nav BIT STRING (SIZE (16)),
+ c-uc-nav BIT STRING (SIZE (16))
+}
+
+MaxNumberOfReportingCellsType1 ::= ENUMERATED {
+ e1, e2, e3, e4, e5, e6}
+
+MaxNumberOfReportingCellsType2 ::= ENUMERATED {
+ e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12}
+
+MaxNumberOfReportingCellsType3 ::= ENUMERATED {
+ viactCellsPlus1,
+ viactCellsPlus2,
+ viactCellsPlus3,
+ viactCellsPlus4,
+ viactCellsPlus5,
+ viactCellsPlus6 }
+
+MaxReportedCellsOnRACH ::= ENUMERATED {
+ noReport,
+ currentCell,
+ currentAnd-1-BestNeighbour,
+ currentAnd-2-BestNeighbour,
+ currentAnd-3-BestNeighbour,
+ currentAnd-4-BestNeighbour,
+ currentAnd-5-BestNeighbour,
+ currentAnd-6-BestNeighbour }
+
+MaxReportedCellsOnRACHinterFreq ::= INTEGER (1..8)
+
+MeasuredResults ::= CHOICE {
+ intraFreqMeasuredResultsList IntraFreqMeasuredResultsList,
+ interFreqMeasuredResultsList InterFreqMeasuredResultsList,
+ interRATMeasuredResultsList InterRATMeasuredResultsList,
+ trafficVolumeMeasuredResultsList TrafficVolumeMeasuredResultsList,
+ qualityMeasuredResults QualityMeasuredResults,
+ ue-InternalMeasuredResults UE-InternalMeasuredResults,
+ ue-positioning-MeasuredResults UE-Positioning-MeasuredResults,
+ spare NULL
+}
+
+MeasuredResultsOnSecUlFreq ::= SEQUENCE {
+ intraFreqMeasuredResultsList IntraFrequencyMeasuredResultsListOnSecULFreq
+}
+
+MeasuredResultsOnSecUlFreq-vc50ext ::= SEQUENCE {
+ intraFreqMeasuredResultsList IntraFrequencyMeasuredResultsListOnSecULFreq-vc50ext
+}
+
+MeasuredResults-v390ext ::= SEQUENCE {
+ ue-positioning-MeasuredResults-v390ext UE-Positioning-MeasuredResults-v390ext
+}
+
+
+MeasuredResults-v590ext ::= CHOICE {
+ intraFrequencyMeasuredResultsList IntraFrequencyMeasuredResultsList-v590ext,
+ interFrequencyMeasuredResultsList InterFrequencyMeasuredResultsList-v590ext
+}
+
+MeasuredResults-v770ext ::= CHOICE {
+ ueInternalMeasuredResults UE-InternalMeasuredResults-v770ext,
+ ue-positioning-MeasuredResults UE-Positioning-MeasuredResults-v770ext
+}
+
+MeasuredResults-v860ext ::= CHOICE {
+ ue-positioning-MeasuredResults UE-Positioning-MeasuredResults-v860ext
+}
+
+MeasuredResults-vd20ext ::= CHOICE {
+ ue-positioning-MeasuredResults UE-Positioning-MeasuredResults-vd20ext
+}
+
+MeasuredResults-ve30ext ::= CHOICE {
+ ueInternalMeasuredResults UE-InternalMeasuredResults-ve30ext
+}
+
+
+MeasuredResultsList-v920ext ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
+ MeasuredResults-v920ext
+
+MeasuredResultsList-vc50ext ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
+ MeasuredResults-vc50ext
+
+MeasuredResultsList-vd20ext ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
+ MeasuredResults-vd20ext
+
+MeasuredResultsListOnSecUlFreq ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
+ MeasuredResultsOnSecUlFreq
+
+MeasuredResultsListOnSecUlFreq-vc50ext ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
+ MeasuredResultsOnSecUlFreq-vc50ext
+
+MeasuredResults-v920ext ::= CHOICE {
+ intraFreqMeasuredResultsList IntraFreqMeasuredResultsList-v920ext,
+ interFreqMeasuredResultsList InterFreqMeasuredResultsList-v920ext
+}
+
+MeasuredResults-vc50ext ::= CHOICE {
+ intraFreqMeasuredResultsList IntraFreqMeasuredResultsList-vc50ext,
+ interFreqMeasuredResultsList InterFreqMeasuredResultsList-vc50ext,
+ ue-positioning-MeasuredResults UE-Positioning-MeasuredResults-vc50ext
+}
+
+MeasuredResults-LCR-r4 ::= CHOICE {
+ intraFreqMeasuredResultsList IntraFreqMeasuredResultsList,
+ interFreqMeasuredResultsList InterFreqMeasuredResultsList,
+ interRATMeasuredResultsList InterRATMeasuredResultsList,
+ trafficVolumeMeasuredResultsList TrafficVolumeMeasuredResultsList,
+ qualityMeasuredResults QualityMeasuredResults,
+ ue-InternalMeasuredResults UE-InternalMeasuredResults-LCR-r4,
+ ue-positioniing-MeasuredResults UE-Positioning-MeasuredResults,
+ spare NULL
+}
+
+MeasuredResultsList ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
+ MeasuredResults
+
+MeasuredResultsList-LCR-r4-ext ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
+ MeasuredResults-LCR-r4
+
+MeasuredResultsList-v770xet ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF SEQUENCE {
+ -- The 'measuredResults' element shall be present, if 'v770' extended measurement results
+ -- associated with the corresponding element in the IE 'MeasuredResultList' shall be
+ -- provided, otherwise it is not needed
+ measuredResults MeasuredResults-v770ext OPTIONAL
+}
+
+MeasuredResultsList-v860ext ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF SEQUENCE {
+ -- The 'measuredResults' element shall be present, if 'v860' extended measurement results
+ -- associated with the corresponding element in the IE 'MeasuredResultList' shall be
+ -- provided, otherwise it is not needed
+ measuredResults MeasuredResults-v860ext OPTIONAL
+}
+
+MeasuredResultsOnRACH ::= SEQUENCE {
+ currentCell SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ measurementQuantity CHOICE {
+ cpich-Ec-N0 CPICH-Ec-N0,
+ cpich-RSCP CPICH-RSCP,
+ pathloss Pathloss,
+ cpich-Ec-N0-RSCP CPICH-Ec-N0-RSCP
+ }
+ },
+ tdd SEQUENCE {
+ -- For 3.84 Mcps, 7.68 Mcps and 1.28 Mcps TDD
+ timeslotISCP TimeslotISCP-List OPTIONAL,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL
+ }
+ }
+ },
+ monitoredCells MonitoredCellRACH-List OPTIONAL
+}
+
+MeasuredResultsOnRACH-v7g0ext ::= SEQUENCE {
+ currentCell-DeltaRSCP DeltaRSCPPerCell OPTIONAL,
+ monitoredCellRACH-List-v7g0ext MonitoredCellRACH-List-v7g0ext OPTIONAL
+}
+
+--The order of the list corresponds to the order of the cells in MonitoredCellRACH-List
+MonitoredCellRACH-List-v7g0ext ::= SEQUENCE (SIZE (1..8)) OF
+ DeltaRSCPPerCell
+
+--TDD choice is removed, compared to tabular, in order to optimise FDD format
+MeasuredResultsOnRACHFDD-r11 ::= SEQUENCE {
+ currentCell SEQUENCE {
+ measurementQuantity CHOICE {
+ cpich-Ec-N0 CPICH-Ec-N0,
+ cpich-RSCP CPICH-RSCP,
+ pathloss Pathloss,
+ cpich-Ec-N0-RSCP CPICH-Ec-N0-RSCP
+ }
+ },
+ measuredResultsUsedFreq MonitoredCellRACH-ListFDD-r11 OPTIONAL,
+ measuredResultsNonUsedFreq MeasuredResultsOnRACHinterFreq OPTIONAL,
+ measuredResultsEUTRAFreq MeasuredResultsOnRACH-EUTRAFreq OPTIONAL
+}
+
+MeasuredResultsOnRACHinterFreq ::= SEQUENCE {
+ interFreqCellIndication-SIB11 INTEGER (0..1),
+ interFreqCellIndication-SIB12 INTEGER (0..1),
+ interFreqRACHRepCellsList InterFreqRACHRepCellsList
+}
+
+MeasuredResultsOnRACHinterFreq-vc50ext ::= SEQUENCE {
+ interFreqRACHRepCellsList InterFreqRACHRepCellsList-r12
+}
+
+MeasuredResultsOnRACH-vc50ext ::= SEQUENCE {
+ measuredResultsNonUsedFreq MeasuredResultsOnRACHinterFreq-vc50ext OPTIONAL,
+ measuredResultsEUTRAFreq MeasuredResultsOnRACH-EUTRAFreq-vc50ext OPTIONAL
+}
+
+MeasuredResultsOnRACH-EUTRAFreq ::= SEQUENCE {
+ eutraFrequencyIndication-SIB19 INTEGER (0..1),
+ eutraFrequencyIndicator BIT STRING (SIZE (maxNumEUTRAFreqs-FACH))
+}
+
+MeasuredResultsOnRACH-EUTRAFreq-vc50ext ::= SEQUENCE {
+ eutraFrequencyIndicator BIT STRING (SIZE (maxNumEUTRAFreqs-FACH))
+}
+
+MeasurementCommand ::= CHOICE {
+ setup MeasurementType,
+ modify SEQUENCE {
+ measurementType MeasurementType OPTIONAL
+ },
+ release NULL
+}
+
+MeasurementCommand-r4 ::= CHOICE {
+ setup MeasurementType-r4,
+ modify SEQUENCE {
+ measurementType MeasurementType-r4 OPTIONAL
+ },
+ release NULL
+}
+
+MeasurementCommand-r6 ::= CHOICE {
+ setup MeasurementType-r6,
+ modify SEQUENCE {
+ measurementType MeasurementType-r6 OPTIONAL
+ },
+ release NULL
+}
+
+MeasurementCommand-r7 ::= CHOICE {
+ setup MeasurementType-r7,
+ modify SEQUENCE {
+ measurementType MeasurementType-r7 OPTIONAL
+ },
+ release NULL
+}
+
+MeasurementCommand-r8 ::= CHOICE {
+ setup MeasurementType-r8,
+ modify SEQUENCE {
+ measurementType MeasurementType-r8 OPTIONAL
+ },
+ release NULL
+}
+
+MeasurementCommand-r9 ::= CHOICE {
+ setup MeasurementType-r9,
+ modify SEQUENCE {
+ measurementType MeasurementType-r9 OPTIONAL
+ },
+ release NULL
+}
+
+MeasurementCommand-r10 ::= CHOICE {
+ setup MeasurementType-r10,
+ modify SEQUENCE {
+ measurementType MeasurementType-r10 OPTIONAL
+ },
+ release NULL
+}
+
+MeasurementCommand-r11 ::= CHOICE {
+ setup MeasurementType-r11,
+ modify SEQUENCE {
+ measurementType MeasurementType-r11 OPTIONAL
+ },
+ release NULL
+}
+
+MeasurementCommand-r12 ::= CHOICE {
+ setup MeasurementType-r12,
+ modify SEQUENCE {
+ measurementType MeasurementType-r12 OPTIONAL
+ },
+ release NULL,
+ releaseAll NULL,
+ releaseSome MeasurementsToRelease
+}
+
+MeasurementCommand-r13 ::= CHOICE {
+ setup MeasurementType-r13,
+ modify SEQUENCE {
+ measurementType MeasurementType-r13 OPTIONAL
+ },
+ release NULL,
+ releaseAll NULL,
+ releaseSome MeasurementsToRelease
+}
+
+MeasurementCommand-r14 ::= CHOICE {
+ setup MeasurementType-r14,
+ modify SEQUENCE {
+ measurementType MeasurementType-r14 OPTIONAL
+ },
+ release NULL,
+ releaseAll NULL,
+ releaseSome MeasurementsToRelease
+}
+
+MeasurementCommand-r15 ::= CHOICE {
+ setup MeasurementType-r15,
+ modify SEQUENCE {
+ measurementType MeasurementType-r15 OPTIONAL
+ },
+ release NULL,
+ releaseAll NULL,
+ releaseSome MeasurementsToRelease
+}
+
+MeasurementControlSysInfo ::= SEQUENCE {
+ -- CHOICE cellSelectQualityMeasure represents PCCPCH-RSCP in TDD mode.
+ use-of-HCS CHOICE {
+ hcs-not-used SEQUENCE {
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ intraFreqMeasurementSysInfo IntraFreqMeasurementSysInfo-RSCP OPTIONAL,
+ interFreqMeasurementSysInfo InterFreqMeasurementSysInfo-RSCP OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ intraFreqMeasurementSysInfo IntraFreqMeasurementSysInfo-ECN0 OPTIONAL,
+ interFreqMeasurementSysInfo InterFreqMeasurementSysInfo-ECN0 OPTIONAL
+ }
+ },
+ interRATMeasurementSysInfo InterRATMeasurementSysInfo-B OPTIONAL
+ },
+ hcs-used SEQUENCE {
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ intraFreqMeasurementSysInfo IntraFreqMeasurementSysInfo-HCS-RSCP OPTIONAL,
+ interFreqMeasurementSysInfo InterFreqMeasurementSysInfo-HCS-RSCP OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ intraFreqMeasurementSysInfo IntraFreqMeasurementSysInfo-HCS-ECN0 OPTIONAL,
+ interFreqMeasurementSysInfo InterFreqMeasurementSysInfo-HCS-ECN0 OPTIONAL
+ }
+ },
+ interRATMeasurementSysInfo InterRATMeasurementSysInfo OPTIONAL
+ }
+ },
+ trafficVolumeMeasSysInfo TrafficVolumeMeasSysInfo OPTIONAL,
+ -- dummy is not used in this version of specification and it shall be ignored by the UE.
+ dummy UE-InternalMeasurementSysInfo OPTIONAL
+}
+
+MeasurementControlSysInfo-vc50ext ::= SEQUENCE {
+ intraFreqReportingQuantityForRACH IntraFreqReportingQuantityForRACH-vc50ext OPTIONAL,
+ rmp-Frequency-List RMP-Frequency-List OPTIONAL
+}
+
+MeasurementControlSysInfoExtension ::= SEQUENCE {
+ -- CHOICE cellSelectQualityMeasure represents PCCPCH-RSCP in TDD mode.
+ use-of-HCS CHOICE {
+ hcs-not-used SEQUENCE {
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ newIntraFreqCellList NewIntraFreqCellSI-List-RSCP OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-RSCP OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ newIntraFreqCellList NewIntraFreqCellSI-List-ECN0 OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-ECN0 OPTIONAL
+ }
+ },
+ newInterRATCellList NewInterRATCellList OPTIONAL
+ },
+ hcs-used SEQUENCE {
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ newIntraFreqCellList NewIntraFreqCellSI-List-HCS-RSCP OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-RSCP OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ newIntraFreqCellList NewIntraFreqCellSI-List-HCS-ECN0 OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-ECN0 OPTIONAL
+ }
+ },
+ newInterRATCellList NewInterRATCellList OPTIONAL
+ }
+ }
+}
+
+MeasurementControlSysInfoExtensionAddon-r5 ::= SEQUENCE {
+ --The order of the list corresponds to the order of cell in newIntraFrequencyCellInfoList
+ newIntraFrequencyCellInfoListAddon-r5 SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellSelectReselectInfo-v590ext OPTIONAL,
+ --The order of the list corresponds to the order of cell in newInterFrequencyCellInfoList
+ newInterFrequencyCellInfoListAddon-r5 SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellSelectReselectInfo-v590ext OPTIONAL,
+ --The order of the list corresponds to the order of cell in newInterRATCellInfoList
+ newInterRATCellInfoListAddon-r5 SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellSelectReselectInfo-v590ext OPTIONAL
+}
+
+MeasureControlSysInfoInterFreqExt ::= SEQUENCE {
+ -- CHOICE cellSelectQualityMeasure represents PCCPCH-RSCP in TDD mode.
+ use-of-HCS CHOICE {
+ hcs-not-used SEQUENCE {
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ newInterFreqCellList NewInterFreqCellSI-List-RSCP-ext OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ newInterFreqCellList NewInterFreqCellSI-List-ECN0-ext OPTIONAL
+ }
+ }
+ },
+ hcs-used SEQUENCE {
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-RSCP-ext OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-ECN0-ext OPTIONAL
+ }
+ }
+ }
+ },
+ rmp-Frequency-List RMP-Frequency-List OPTIONAL
+}
+
+MeasurementControlSysInfoExtension-LCR-r4 ::= SEQUENCE {
+ -- CHOICE cellSelectQualityMeasure represents PCCPCH-RSCP in TDD mode.
+ use-of-HCS CHOICE {
+ hcs-not-used SEQUENCE {
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ newIntraFreqCellList NewIntraFreqCellSI-List-RSCP-LCR-r4 OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-RSCP-LCR-r4 OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ newIntraFreqCellList NewIntraFreqCellSI-List-ECN0-LCR-r4 OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-ECN0-LCR-r4 OPTIONAL
+ }
+ },
+ newInterRATCellList NewInterRATCellList OPTIONAL
+ },
+ hcs-used SEQUENCE {
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ newIntraFreqCellList NewIntraFreqCellSI-List-HCS-RSCP-LCR-r4 OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-RSCP-LCR-r4 OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ newIntraFreqCellList NewIntraFreqCellSI-List-HCS-ECN0-LCR-r4 OPTIONAL,
+ newInterFreqCellList NewInterFreqCellSI-List-HCS-ECN0-LCR-r4 OPTIONAL
+ }
+ },
+ newInterRATCellList NewInterRATCellList OPTIONAL
+ }
+ }
+}
+
+MeasurementControlSysInfo-LCR-r4-ext ::= SEQUENCE {
+ -- CHOICE use-of-HCS shall have the same value as the use-of-HCS
+ -- in MeasurementControlSysInfo
+ -- CHOICE cellSelectQualityMeasure represents PCCPCH-RSCP in TDD mode.
+ use-of-HCS CHOICE {
+ hcs-not-used SEQUENCE {
+ -- CHOICE cellSelectQualityMeasure shall have the same value as the
+ -- cellSelectQualityMeasure in MeasurementControlSysInfo
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ intraFreqMeasurementSysInfo IntraFreqMeasurementSysInfo-RSCP-LCR-r4 OPTIONAL,
+ interFreqMeasurementSysInfo InterFreqMeasurementSysInfo-RSCP-LCR-r4 OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ intraFreqMeasurementSysInfo IntraFreqMeasurementSysInfo-ECN0-LCR-r4 OPTIONAL,
+ interFreqMeasurementSysInfo InterFreqMeasurementSysInfo-ECN0-LCR-r4 OPTIONAL
+ }
+ }
+ },
+ hcs-used SEQUENCE {
+ -- CHOICE cellSelectQualityMeasure shall have the same value as the
+ -- cellSelectQualityMeasure in MeasurementControlSysInfo
+ cellSelectQualityMeasure CHOICE {
+ cpich-RSCP SEQUENCE {
+ intraFreqMeasurementSysInfo IntraFreqMeasurementSysInfo-HCS-RSCP-LCR-r4 OPTIONAL,
+ interFreqMeasurementSysInfo InterFreqMeasurementSysInfo-HCS-RSCP-LCR-r4 OPTIONAL
+ },
+ cpich-Ec-N0 SEQUENCE {
+ intraFreqMeasurementSysInfo IntraFreqMeasurementSysInfo-HCS-ECN0-LCR-r4 OPTIONAL,
+ interFreqMeasurementSysInfo InterFreqMeasurementSysInfo-HCS-ECN0-LCR-r4 OPTIONAL
+ }
+ }
+ }
+ }
+}
+
+MeasurementIdentity ::= INTEGER (1..16)
+
+MeasurementIdentityExt ::= INTEGER (17..32)
+
+MeasurementIdentity-r9 ::= INTEGER (1..32)
+
+MeasurementOccasionPatternParameter ::= SEQUENCE {
+ measurement-Occasion-Coeff INTEGER (1..9),
+ measurement-Occasion-Offset INTEGER (0..511),
+ measurement-Occasion-Length INTEGER (1..512),
+ timeslotBitmap BIT STRING (SIZE (7)) OPTIONAL
+}
+
+MeasurementReleaseEnhancement ::= CHOICE {
+ releaseAllMeasurements NULL,
+ releaseSomeMeasurements MeasurementsToRelease
+}
+
+MeasurementsToRelease ::= SEQUENCE (SIZE (1..maxMeasIdentity)) OF
+ MeasurementIdentity-r9
+
+MeasurementQuantityGSM ::= ENUMERATED {
+ gsm-CarrierRSSI,
+ dummy }
+
+MeasurementQuantityEUTRA ::= ENUMERATED {
+ rsrp,
+ rsrq }
+
+MeasurementReportingMode ::= SEQUENCE {
+ measurementReportTransferMode TransferMode,
+ periodicalOrEventTrigger PeriodicalOrEventTrigger
+}
+
+MeasurementType ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement,
+ interFrequencyMeasurement InterFrequencyMeasurement,
+ interRATMeasurement InterRATMeasurement,
+ ue-positioning-Measurement UE-Positioning-Measurement,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement
+}
+
+MeasurementType-r4 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r4,
+ interFrequencyMeasurement InterFrequencyMeasurement-r4,
+ interRATMeasurement InterRATMeasurement-r4,
+ up-Measurement UE-Positioning-Measurement-r4,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r4
+}
+
+MeasurementType-r6 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r6,
+ interFrequencyMeasurement InterFrequencyMeasurement-r6,
+ interRATMeasurement InterRATMeasurement-r6,
+ up-Measurement UE-Positioning-Measurement-r4,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r4
+}
+
+MeasurementType-r7 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r7,
+ interFrequencyMeasurement InterFrequencyMeasurement-r7,
+ interRATMeasurement InterRATMeasurement-r6,
+ up-Measurement UE-Positioning-Measurement-r7,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r4
+}
+
+MeasurementType-r8 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r7,
+ interFrequencyMeasurement InterFrequencyMeasurement-r8,
+ interRATMeasurement InterRATMeasurement-r8,
+ up-Measurement UE-Positioning-Measurement-r8,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r4
+}
+
+MeasurementType-r9 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r9,
+ interFrequencyMeasurement InterFrequencyMeasurement-r9,
+ interRATMeasurement InterRATMeasurement-r9,
+ up-Measurement UE-Positioning-Measurement-r9,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r4,
+ csgProximityDetection CSGProximityDetection
+}
+
+MeasurementType-r10 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r10,
+ interFrequencyMeasurement InterFrequencyMeasurement-r10,
+ interRATMeasurement InterRATMeasurement-r9,
+ up-Measurement UE-Positioning-Measurement-r10,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r4,
+ csgProximityDetection CSGProximityDetection
+}
+
+MeasurementType-r11 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r11,
+ interFrequencyMeasurement InterFrequencyMeasurement-r11,
+ interRATMeasurement InterRATMeasurement-r11,
+ up-Measurement UE-Positioning-Measurement-r10,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r4,
+ csgProximityDetection CSGProximityDetection,
+ eutraMeasurementForCELLFACH EUTRA-MeasurementForCELLFACH
+}
+
+MeasurementType-r12 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r11,
+ interFrequencyMeasurement InterFrequencyMeasurement-r12,
+ interRATMeasurement InterRATMeasurement-r12,
+ up-Measurement UE-Positioning-Measurement-r12,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r4,
+ csgProximityDetection CSGProximityDetection,
+ eutraMeasurementForCELLFACH EUTRA-MeasurementForCELLFACH-r12
+}
+
+MeasurementType-r13 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r11,
+ interFrequencyMeasurement InterFrequencyMeasurement-r12,
+ interRATMeasurement InterRATMeasurement-r12,
+ up-Measurement UE-Positioning-Measurement-r13,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r4,
+ csgProximityDetection CSGProximityDetection,
+ eutraMeasurementForCELLFACH EUTRA-MeasurementForCELLFACH-r12
+}
+
+MeasurementType-r14 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r11,
+ interFrequencyMeasurement InterFrequencyMeasurement-r12,
+ interRATMeasurement InterRATMeasurement-r12,
+ up-Measurement UE-Positioning-Measurement-r13,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r14,
+ csgProximityDetection CSGProximityDetection,
+ eutraMeasurementForCELLFACH EUTRA-MeasurementForCELLFACH-r12,
+ applicationLayerMeasurementConfiguration ApplicationLayerMeasurementConfiguration
+}
+
+MeasurementType-r15 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r11,
+ interFrequencyMeasurement InterFrequencyMeasurement-r12,
+ interRATMeasurement InterRATMeasurement-r12,
+ up-Measurement UE-Positioning-Measurement-r13,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r14,
+ csgProximityDetection CSGProximityDetection,
+ eutraMeasurementForCELLFACH EUTRA-MeasurementForCELLFACH-r12,
+ applicationLayerMeasurementConfiguration ApplicationLayerMeasurementConfiguration,
+ applicationLayerMeasurementConfiguration-r15 ApplicationLayerMeasurementConfiguration-r15
+}
+
+
+MeasurementType-Relocation-r14 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r11,
+ interFrequencyMeasurement InterFrequencyMeasurement-r12,
+ interRATMeasurement InterRATMeasurement-r12,
+ up-Measurement UE-Positioning-Measurement-r13,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r14,
+ csgProximityDetection CSGProximityDetection,
+ eutraMeasurementForCELLFACH EUTRA-MeasurementForCELLFACH-r12,
+ applicationLayerMeasurement NULL
+}
+
+MeasurementType-Relocation-r15 ::= CHOICE {
+ intraFrequencyMeasurement IntraFrequencyMeasurement-r11,
+ interFrequencyMeasurement InterFrequencyMeasurement-r12,
+ interRATMeasurement InterRATMeasurement-r12,
+ up-Measurement UE-Positioning-Measurement-r13,
+ trafficVolumeMeasurement TrafficVolumeMeasurement,
+ qualityMeasurement QualityMeasurement,
+ ue-InternalMeasurement UE-InternalMeasurement-r14,
+ csgProximityDetection CSGProximityDetection,
+ eutraMeasurementForCELLFACH EUTRA-MeasurementForCELLFACH-r12,
+ applicationLayerMeasurement NULL,
+ applicationLayerMeasurement-r15 NULL
+
+}
+
+MeasurementValidity ::= SEQUENCE {
+ ue-State ENUMERATED {
+ cell-DCH, all-But-Cell-DCH, all-States }
+}
+
+MonitoredCellRACH-List ::= SEQUENCE (SIZE (1..8)) OF
+ MonitoredCellRACH-Result
+
+MonitoredCellRACH-Result ::= SEQUENCE {
+ sfn-SFN-ObsTimeDifference SFN-SFN-ObsTimeDifference OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ measurementQuantity CHOICE {
+ cpich-Ec-N0 CPICH-Ec-N0,
+ cpich-RSCP CPICH-RSCP,
+ pathloss Pathloss,
+ spare NULL
+ } OPTIONAL
+ },
+ tdd SEQUENCE {
+ cellParametersID CellParametersID,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP
+ }
+ }
+}
+
+MonitoredCellRACH-ListFDD-r11 ::= SEQUENCE (SIZE (1..8)) OF
+ MonitoredCellRACH-ResultFDD-r11
+
+--TDD choice is removed, compared to tabular, in order to optimise FDD format
+MonitoredCellRACH-ResultFDD-r11 ::= SEQUENCE {
+ sfn-SFN-ObsTimeDifference SFN-SFN-ObsTimeDifference OPTIONAL,
+ primaryCPICH-Info PrimaryCPICH-Info,
+ measurementQuantity CHOICE {
+ cpich-Ec-N0 CPICH-Ec-N0,
+ cpich-RSCP CPICH-RSCP,
+ pathloss Pathloss,
+ spare NULL
+ }
+}
+
+MultipathIndicator ::= ENUMERATED {
+ nm,
+ low,
+ medium,
+ high }
+
+MultipleEUTRAFrequencyBandIndicatorList ::= SEQUENCE (SIZE (1.. maxMultipleFrequencyBandsEUTRA)) OF
+ RadioFrequencyBandEUTRA
+
+MultipleEUTRAFrequencyBandIndicatorExtensionList ::= SEQUENCE (SIZE (1.. maxMultipleFrequencyBandsEUTRA))
+ OF RadioFrequencyBandEUTRAExt
+
+MultipleEUTRAFrequencyBandInfo ::= SEQUENCE {
+ multipleEUTRAFrequencyBandIndicatorlist MultipleEUTRAFrequencyBandIndicatorList OPTIONAL
+}
+
+MultipleEUTRAFrequencyBandExtensionInfo ::= SEQUENCE {
+ multipleEUTRAFrequencyBandIndicatorlist MultipleEUTRAFrequencyBandIndicatorExtensionList OPTIONAL
+}
+
+MultipleEUTRAFrequencyInfoList ::= SEQUENCE (SIZE (1.. maxNumEUTRAFreqs)) OF
+ MultipleEUTRAFrequencyBandInfo
+
+MultipleEUTRAFrequencyInfoExtensionList ::= SEQUENCE (SIZE (1.. maxNumEUTRAFreqs)) OF
+ MultipleEUTRAFrequencyBandExtensionInfo
+
+MultipleFrequencyBandIndicatorListFDD::= SEQUENCE (SIZE (1..maxMultipleFrequencyBandsFDD)) OF
+ FrequencyBandsIndicatorFDD
+
+MultipleFrequencyBandInfo ::= SEQUENCE {
+ multipleFrequencyBandIndicatorListFDD MultipleFrequencyBandIndicatorListFDD OPTIONAL
+}
+
+MultipleFrequencyInfoListFDD ::= SEQUENCE (SIZE (1.. maxNumFDDFreqs)) OF
+ MultipleFrequencyBandInfo
+
+N-CR-T-CRMaxHyst ::= SEQUENCE {
+ n-CR INTEGER (1..16) DEFAULT 8,
+ t-CRMaxHyst T-CRMaxHyst
+}
+
+NAVclockModel ::= SEQUENCE {
+ navToc BIT STRING (SIZE (16)),
+ navaf2 BIT STRING (SIZE (8)),
+ navaf1 BIT STRING (SIZE (16)),
+ navaf0 BIT STRING (SIZE (22)),
+ navTgd BIT STRING (SIZE (8))
+}
+
+NavigationModelSatInfo ::= SEQUENCE {
+ satID SatID,
+ satelliteStatus SatelliteStatus,
+ ephemerisParameter EphemerisParameter OPTIONAL
+}
+
+NavigationModelSatInfoList ::= SEQUENCE (SIZE (1..maxSat)) OF
+ NavigationModelSatInfo
+
+NavModel-BDSKeplerianSet ::= SEQUENCE {
+ bdsAODE BIT STRING (SIZE (5)),
+ bdsURAI BIT STRING (SIZE (4)),
+ bdsToe BIT STRING (SIZE (17)),
+ bdsAPowerHalf BIT STRING (SIZE (32)),
+ bdsE BIT STRING (SIZE (32)),
+ bdsW BIT STRING (SIZE (32)),
+ bdsDeltaN BIT STRING (SIZE (16)),
+ bdsM0 BIT STRING (SIZE (32)),
+ bdsOmega0 BIT STRING (SIZE (32)),
+ bdsOmegaDot BIT STRING (SIZE (24)),
+ bdsI0 BIT STRING (SIZE (32)),
+ bdsIDot BIT STRING (SIZE (14)),
+ bdsCuc BIT STRING (SIZE (18)),
+ bdsCus BIT STRING (SIZE (18)),
+ bdsCrc BIT STRING (SIZE (18)),
+ bdsCrs BIT STRING (SIZE (18)),
+ bdsCic BIT STRING (SIZE (18)),
+ bdsCis BIT STRING (SIZE (18))
+}
+
+NavModel-CNAVKeplerianSet ::= SEQUENCE {
+ cnavTop BIT STRING (SIZE (11)),
+ cnavURAindex BIT STRING (SIZE (5)),
+ cnavDeltaA BIT STRING (SIZE (26)),
+ cnavAdot BIT STRING (SIZE (25)),
+ cnavDeltaNo BIT STRING (SIZE (17)),
+ cnavDeltaNoDot BIT STRING (SIZE (23)),
+ cnavMo BIT STRING (SIZE (33)),
+ cnavE BIT STRING (SIZE (33)),
+ cnavOmega BIT STRING (SIZE (33)),
+ cnavOMEGA0 BIT STRING (SIZE (33)),
+ cnavDeltaOmegaDot BIT STRING (SIZE (17)),
+ cnavIo BIT STRING (SIZE (33)),
+ cnavIoDot BIT STRING (SIZE (15)),
+ cnavCis BIT STRING (SIZE (16)),
+ cnavCic BIT STRING (SIZE (16)),
+ cnavCrs BIT STRING (SIZE (24)),
+ cnavCrc BIT STRING (SIZE (24)),
+ cnavCus BIT STRING (SIZE (21)),
+ cnavCuc BIT STRING (SIZE (21))
+}
+
+NavModel-GLONASSecef ::= SEQUENCE {
+ gloEn BIT STRING (SIZE (5)),
+ gloP1 BIT STRING (SIZE (2)),
+ gloP2 BIT STRING (SIZE (1)),
+ gloM BIT STRING (SIZE (2)) OPTIONAL,
+ gloX BIT STRING (SIZE (27)),
+ gloXdot BIT STRING (SIZE (24)),
+ gloXdotdot BIT STRING (SIZE (5)),
+ gloY BIT STRING (SIZE (27)),
+ gloYdot BIT STRING (SIZE (24)),
+ gloYdotdot BIT STRING (SIZE (5)),
+ gloZ BIT STRING (SIZE (27)),
+ gloZdot BIT STRING (SIZE (24)),
+ gloZdotdot BIT STRING (SIZE (5))
+}
+
+NavModel-NAVKeplerianSet ::= SEQUENCE {
+ navURA BIT STRING (SIZE (4)),
+ navFitFlag BIT STRING (SIZE (1)),
+ navToe BIT STRING (SIZE (16)),
+ navOmega BIT STRING (SIZE (32)),
+ navDeltaN BIT STRING (SIZE (16)),
+ navM0 BIT STRING (SIZE (32)),
+ navOmegaADot BIT STRING (SIZE (24)),
+ navE BIT STRING (SIZE (32)),
+ navIDot BIT STRING (SIZE (14)),
+ navAPowerHalf BIT STRING (SIZE (32)),
+ navI0 BIT STRING (SIZE (32)),
+ navOmegaA0 BIT STRING (SIZE (32)),
+ navCrs BIT STRING (SIZE (16)),
+ navCis BIT STRING (SIZE (16)),
+ navCus BIT STRING (SIZE (16)),
+ navCrc BIT STRING (SIZE (16)),
+ navCic BIT STRING (SIZE (16)),
+ navCuc BIT STRING (SIZE (16))
+}
+
+NavModel-SBASecef ::= SEQUENCE {
+ sbasTo BIT STRING (SIZE (13)) OPTIONAL,
+ sbasAccuracy BIT STRING (SIZE (4)),
+ sbasXg BIT STRING (SIZE (30)),
+ sbasYg BIT STRING (SIZE (30)),
+ sbasZg BIT STRING (SIZE (25)),
+ sbasXgDot BIT STRING (SIZE (17)),
+ sbasYgDot BIT STRING (SIZE (17)),
+ sbasZgDot BIT STRING (SIZE (18)),
+ sbasXgDotDot BIT STRING (SIZE (10)),
+ sbagYgDotDot BIT STRING (SIZE (10)),
+ sbasZgDotDot BIT STRING (SIZE (10))
+}
+
+EphemerisParameter ::= SEQUENCE {
+ codeOnL2 BIT STRING (SIZE (2)),
+ uraIndex BIT STRING (SIZE (4)),
+ satHealth BIT STRING (SIZE (6)),
+ iodc BIT STRING (SIZE (10)),
+ l2Pflag BIT STRING (SIZE (1)),
+ sf1Revd SubFrame1Reserved,
+ t-GD BIT STRING (SIZE (8)),
+ t-oc BIT STRING (SIZE (16)),
+ af2 BIT STRING (SIZE (8)),
+ af1 BIT STRING (SIZE (16)),
+ af0 BIT STRING (SIZE (22)),
+ c-rs BIT STRING (SIZE (16)),
+ delta-n BIT STRING (SIZE (16)),
+ m0 BIT STRING (SIZE (32)),
+ c-uc BIT STRING (SIZE (16)),
+ e BIT STRING (SIZE (32)),
+ c-us BIT STRING (SIZE (16)),
+ a-Sqrt BIT STRING (SIZE (32)),
+ t-oe BIT STRING (SIZE (16)),
+ fitInterval BIT STRING (SIZE (1)),
+ aodo BIT STRING (SIZE (5)),
+ c-ic BIT STRING (SIZE (16)),
+ omega0 BIT STRING (SIZE (32)),
+ c-is BIT STRING (SIZE (16)),
+ i0 BIT STRING (SIZE (32)),
+ c-rc BIT STRING (SIZE (16)),
+ omega BIT STRING (SIZE (32)),
+ omegaDot BIT STRING (SIZE (24)),
+ iDot BIT STRING (SIZE (14))
+}
+NC-Mode ::= BIT STRING (SIZE (3))
+
+Neighbour ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ neighbourIdentity PrimaryCPICH-Info OPTIONAL,
+ uE-RX-TX-TimeDifferenceType2Info UE-RX-TX-TimeDifferenceType2Info OPTIONAL
+ },
+ tdd SEQUENCE {
+ neighbourAndChannelIdentity CellAndChannelIdentity OPTIONAL
+ }
+ },
+ neighbourQuality NeighbourQuality,
+ sfn-SFN-ObsTimeDifference2 SFN-SFN-ObsTimeDifference2}
+
+Neighbour-v390ext ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ frequencyInfo FrequencyInfo
+ },
+ tdd NULL
+ }
+}
+
+NeighbourList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ Neighbour
+
+Neighbour-TDD-r7 ::= SEQUENCE {
+ uarfcn UARFCN OPTIONAL
+}
+
+-- The order of the cells in IE NeighbourList-TDD-r7 shall be the
+-- same as the order in IE NeighbourList
+NeighbourList-TDD-r7 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF Neighbour-TDD-r7
+
+-- The order of the cells in IE NeighbourList-v390ext shall be the
+-- same as the order in IE NeighbourList
+NeighbourList-v390ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ Neighbour-v390ext
+
+NeighbourQuality ::= SEQUENCE {
+ ue-Positioning-OTDOA-Quality UE-Positioning-OTDOA-Quality
+}
+
+NewInterFreqCell ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfo
+}
+
+NewInterFreqCell-r4 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfo-r4
+}
+
+NewInterFreqCell-v7b0ext ::= SEQUENCE {
+ intraSecondaryFreqIndicator BOOLEAN
+}
+
+NewInterFreqCell-LCR-v8a0ext ::= SEQUENCE {
+ cellInfo-LCR-r8 CellInfo-LCR-r8-ext OPTIONAL
+}
+
+NewInterFreqCell-r8 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfo-r4,
+ modeSpecificInfo CHOICE {
+ noInfo NULL,
+ tdd128 SEQUENCE {
+ intraSecondaryFreqIndicator BOOLEAN
+ }
+ }
+}
+
+NewInterFreqCell-r9 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfo-r9,
+ modeSpecificInfo CHOICE {
+ noInfo NULL,
+ tdd128 SEQUENCE {
+ intraSecondaryFreqIndicator BOOLEAN
+ }
+ }
+}
+
+NewInterFreqCell-r10 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfo-r9,
+ modeSpecificInfo CHOICE {
+ noInfo NULL,
+ tdd128 SEQUENCE {
+ intraSecondaryFreqIndicator BOOLEAN,
+ sNPLMonitorSetIndicator-TDD128 BIT STRING (SIZE (5)) OPTIONAL
+ }
+ }
+}
+
+NewInterFreqCell-r12 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID-r12 OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfo-r9,
+ modeSpecificInfo CHOICE {
+ noInfo NULL,
+ tdd128 SEQUENCE {
+ intraSecondaryFreqIndicator BOOLEAN,
+ sNPLMonitorSetIndicator-TDD128 BIT STRING (SIZE (5)) OPTIONAL
+ }
+ }
+}
+
+NewInterFreqCellList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCell
+
+NewInterFreqCellList-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCell-r4
+
+NewInterFreqCellList-r12 ::= SEQUENCE (SIZE (1..maxCellMeas-ext)) OF
+ NewInterFreqCell-r12
+
+-- The order of the list corresponds to the order of cells in newInterFreqCellList
+NewInterFreqCellList-v7b0ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCell-v7b0ext
+
+-- The order of the list corresponds to the order of cells in newInterFreqCellList
+NewInterFreqCellList-LCR-v8a0ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCell-LCR-v8a0ext
+
+NewInterFreqCellList-r8 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCell-r8
+
+NewInterFreqCellList-r9 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCell-r9
+
+NewInterFreqCellList-r10 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCell-r10
+
+NewInterFreqCellSI-RSCP ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-RSCP
+}
+
+NewInterFreqCellSI-RSCP-ext ::= SEQUENCE {
+ interFreqCellID InterFreqCellID-r12 OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-RSCP
+}
+
+NewInterFreqCellSI-ECN0 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-ECN0
+}
+
+NewInterFreqCellSI-ECN0-ext ::= SEQUENCE {
+ interFreqCellID InterFreqCellID-r12 OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-ECN0
+}
+
+NewInterFreqCellSI-HCS-RSCP ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-HCS-RSCP
+}
+
+NewInterFreqCellSI-HCS-RSCP-ext ::= SEQUENCE {
+ interFreqCellID InterFreqCellID-r12 OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-HCS-RSCP
+}
+
+NewInterFreqCellSI-HCS-ECN0 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-HCS-ECN0
+}
+
+NewInterFreqCellSI-HCS-ECN0-ext ::= SEQUENCE {
+ interFreqCellID InterFreqCellID-r12 OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-HCS-ECN0
+}
+
+NewInterFreqCellSI-RSCP-LCR-r4 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-RSCP-LCR-r4
+}
+
+NewInterFreqCellSI-ECN0-LCR-r4 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-ECN0-LCR-r4
+}
+
+NewInterFreqCellSI-HCS-RSCP-LCR-r4 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-HCS-RSCP-LCR-r4
+}
+
+NewInterFreqCellSI-HCS-ECN0-LCR-r4 ::= SEQUENCE {
+ interFreqCellID InterFreqCellID OPTIONAL,
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellInfo CellInfoSI-HCS-ECN0-LCR-r4
+}
+
+NewInterFreqCellSI-List-ECN0 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCellSI-ECN0
+
+NewInterFreqCellSI-List-ECN0-ext ::= SEQUENCE (SIZE (1..maxCellMeas-ext2)) OF
+ NewInterFreqCellSI-ECN0-ext
+
+NewInterFreqCellSI-List-HCS-RSCP ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCellSI-HCS-RSCP
+
+NewInterFreqCellSI-List-HCS-RSCP-ext ::= SEQUENCE (SIZE (1..maxCellMeas-ext2)) OF
+ NewInterFreqCellSI-HCS-RSCP-ext
+
+NewInterFreqCellSI-List-HCS-ECN0 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCellSI-HCS-ECN0
+
+NewInterFreqCellSI-List-HCS-ECN0-ext ::= SEQUENCE (SIZE (1..maxCellMeas-ext2)) OF
+ NewInterFreqCellSI-HCS-ECN0-ext
+
+NewInterFreqCellSI-List-RSCP ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCellSI-RSCP
+
+NewInterFreqCellSI-List-RSCP-ext ::= SEQUENCE (SIZE (1..maxCellMeas-ext2)) OF
+ NewInterFreqCellSI-RSCP-ext
+
+NewInterFreqCellSI-List-ECN0-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCellSI-ECN0-LCR-r4
+
+NewInterFreqCellSI-List-HCS-RSCP-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCellSI-HCS-RSCP-LCR-r4
+
+NewInterFreqCellSI-List-HCS-ECN0-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCellSI-HCS-ECN0-LCR-r4
+
+NewInterFreqCellSI-List-RSCP-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterFreqCellSI-RSCP-LCR-r4
+
+NewInterRATCell ::= SEQUENCE {
+ interRATCellID InterRATCellID OPTIONAL,
+ technologySpecificInfo CHOICE {
+ gsm SEQUENCE {
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12 OPTIONAL,
+ interRATCellIndividualOffset InterRATCellIndividualOffset,
+ bsic BSIC,
+ frequency-band Frequency-Band,
+ bcch-ARFCN BCCH-ARFCN,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy NULL OPTIONAL
+ },
+ is-2000 SEQUENCE {
+ is-2000SpecificMeasInfo IS-2000SpecificMeasInfo
+ },
+ -- ASN.1 inconsistency: NewInterRATCellList should be optional within
+ -- InterRATCellInfoList. The UE shall consider IE NewInterRATCell with
+ -- technologySpecificInfo set to "absent" as valid and handle the
+ -- message as if the IE NewInterRATCell was absent
+ absent NULL,
+ spare1 NULL
+ }
+}
+
+NewInterRATCell-B ::= SEQUENCE {
+ interRATCellID InterRATCellID OPTIONAL,
+ technologySpecificInfo CHOICE {
+ gsm SEQUENCE {
+ cellSelectionReselectionInfo CellSelectReselectInfoSIB-11-12 OPTIONAL,
+ interRATCellIndividualOffset InterRATCellIndividualOffset,
+ bsic BSIC,
+ frequency-band Frequency-Band,
+ bcch-ARFCN BCCH-ARFCN,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy NULL OPTIONAL
+ },
+ is-2000 SEQUENCE {
+ is-2000SpecificMeasInfo IS-2000SpecificMeasInfo
+ },
+ -- ASN.1 inconsistency: NewInterRATCellList-B should be optional within
+ -- InterRATCellInfoList-B. The UE shall consider IE NewInterRATCell-B with
+ -- technologySpecificInfo set to "absent" as valid and handle the
+ -- message as if the IE NewInterRATCell-B was absent
+ absent NULL,
+ spare1 NULL
+ }
+}
+
+NewInterRATCellList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterRATCell
+
+NewInterRATCellList-B ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewInterRATCell-B
+
+NewIntraFreqCell ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfo
+}
+
+NewIntraFreqCell-r4 ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfo-r4
+}
+NewIntraFreqCell-r9 ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfo-r9
+}
+
+NewIntraFreqCell-r10 ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfo-r9,
+ modeSpecificInfo CHOICE {
+ noInfo NULL,
+ tdd128 SEQUENCE {
+ sNPLMonitorSetIndicator-TDD128 BIT STRING (SIZE (5)) OPTIONAL
+ }
+ }
+}
+
+NewIntraFreqCellOnSecULFreq ::= SEQUENCE {
+ intraFreqCellIDOnSecULFreq IntraFreqCellIDOnSecULFreq OPTIONAL,
+ cellInfo CellInfo-r4
+}
+
+NewIntraFreqCellList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCell
+
+NewIntraFreqCellList-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCell-r4
+
+NewIntraFreqCellList-r9 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCell-r9
+
+NewIntraFreqCellList-r10 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCell-r10
+
+NewIntraFreqCell-LCR-v8a0ext ::= SEQUENCE {
+ cellInfo-LCR-r8 CellInfo-LCR-r8-ext OPTIONAL
+}
+
+-- The order of the list corresponds to the order of cells in newIntraFreqCellList
+NewIntraFreqCellList-LCR-v8a0ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCell-LCR-v8a0ext
+
+NewIntraFreqCellListOnSecULFreq ::= SEQUENCE (SIZE (1..maxCellMeasOnSecULFreq)) OF
+ NewIntraFreqCellOnSecULFreq
+
+NewIntraFreqCellSI-RSCP ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfoSI-RSCP
+}
+
+NewIntraFreqCellSI-ECN0 ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfoSI-ECN0
+}
+NewIntraFreqCellSI-HCS-RSCP ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfoSI-HCS-RSCP
+}
+
+NewIntraFreqCellSI-HCS-ECN0 ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfoSI-HCS-ECN0
+}
+
+NewIntraFreqCellSI-RSCP-LCR-r4 ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfoSI-RSCP-LCR-r4
+}
+
+NewIntraFreqCellSI-ECN0-LCR-r4 ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfoSI-ECN0-LCR-r4
+}
+NewIntraFreqCellSI-HCS-RSCP-LCR-r4 ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfoSI-HCS-RSCP-LCR-r4
+}
+
+NewIntraFreqCellSI-HCS-ECN0-LCR-r4 ::= SEQUENCE {
+ intraFreqCellID IntraFreqCellID OPTIONAL,
+ cellInfo CellInfoSI-HCS-ECN0-LCR-r4
+}
+
+NewIntraFreqCellSI-List-RSCP ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCellSI-RSCP
+
+NewIntraFreqCellSI-List-ECN0 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCellSI-ECN0
+
+NewIntraFreqCellSI-List-HCS-RSCP ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCellSI-HCS-RSCP
+
+NewIntraFreqCellSI-List-HCS-ECN0 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCellSI-HCS-ECN0
+
+NewIntraFreqCellSI-List-RSCP-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCellSI-RSCP-LCR-r4
+
+NewIntraFreqCellSI-List-ECN0-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCellSI-ECN0-LCR-r4
+
+NewIntraFreqCellSI-List-HCS-RSCP-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCellSI-HCS-RSCP-LCR-r4
+
+NewIntraFreqCellSI-List-HCS-ECN0-LCR-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ NewIntraFreqCellSI-HCS-ECN0-LCR-r4
+
+ -- IE "nonUsedFreqThreshold" is not needed in case of event 2a
+ -- In case of event 2a UTRAN should include value 0 within IE "nonUsedFreqThreshold"
+ -- In case of event 2a, the UE shall be ignore IE "nonUsedFreqThreshold"
+ -- In later versions of the message including this IE, a special version of
+ -- IE "NonUsedFreqParameterList" may be defined for event 2a, namely a
+ -- version not including IE "nonUsedFreqThreshold"
+NonUsedFreqParameter ::= SEQUENCE {
+ nonUsedFreqThreshold Threshold,
+ nonUsedFreqW W
+}
+
+NonUsedFreqParameter-r6 ::= SEQUENCE {
+ nonUsedFreqThreshold Threshold-r6,
+ nonUsedFreqW W
+}
+
+NonUsedFreqParameter-r10 ::= SEQUENCE {
+ nonUsedFreqThreshold Threshold-r6,
+ nonUsedFreqW W,
+ nonUsedFreqTriggeringConditionDetectedCells ENUMERATED { true } OPTIONAL
+}
+
+NonUsedFreqParameter-r11 ::= SEQUENCE {
+ nonUsedFreqThreshold Threshold-r6,
+ nonUsedFreqW W,
+ nonUsedFreqTriggeringConditionDetectedCells ENUMERATED { true } OPTIONAL,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy CellInfoListToBeExcluded OPTIONAL
+}
+
+NonUsedFreq2aParameter-r10 ::= SEQUENCE {
+ nonUsedFreqW W,
+ nonUsedFreqTriggeringConditionDetectedCells ENUMERATED { true } OPTIONAL
+}
+
+NonUsedFreq2aParameter-r11 ::= SEQUENCE {
+ nonUsedFreqW W,
+ nonUsedFreqTriggeringConditionDetectedCells ENUMERATED { true } OPTIONAL,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy CellInfoListToBeExcluded OPTIONAL
+}
+
+NonUsedFreqParameterList ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ NonUsedFreqParameter
+
+NonUsedFreqParameterList-r6 ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ NonUsedFreqParameter-r6
+
+NonUsedFreqParameterList-r10 ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ NonUsedFreqParameter-r10
+
+NonUsedFreqParameterList-r11 ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ NonUsedFreqParameter-r11
+
+NonUsedFreq2aParameterList-r10 ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ NonUsedFreq2aParameter-r10
+
+NonUsedFreq2aParameterList-r11 ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ NonUsedFreq2aParameter-r11
+
+NonUsedFreqWList-r6 ::= SEQUENCE (SIZE (1..maxFreq)) OF W
+
+ApplicationLayerMeasurementConfiguration ::= SEQUENCE {
+ containerForApplicationLayerMeasurementConfiguration OCTET STRING ( SIZE (1..1000))
+}
+
+ApplicationLayerMeasurementConfiguration-r15 ::= SEQUENCE {
+ containerForApplicationLayerMeasurementConfiguration OCTET STRING ( SIZE (1..1000)),
+ serviceType ENUMERATED { qoe, qoemtsi }
+}
+
+ApplicationLayerMeasurementReporting ::= SEQUENCE {
+ containerForApplicationLayerMeasurementReporting OCTET STRING ( SIZE (1..8000))
+}
+
+ApplicationLayerMeasurementReporting-r15 ::= SEQUENCE {
+ containerForApplicationLayerMeasurementReporting OCTET STRING ( SIZE (1..8000)),
+ serviceType ENUMERATED { qoe, qoemtsi }
+}
+
+ObservedTimeDifferenceToGSM ::= INTEGER (0..4095)
+
+OTDOA-SearchWindowSize ::= ENUMERATED {
+ c20, c40, c80, c160, c320,
+ c640, c1280, moreThan1280 }
+
+-- SPARE: Pathloss, Max = 158
+-- Values above Max are spare
+Pathloss ::= INTEGER (46..173)
+
+PenaltyTime-RSCP ::= CHOICE {
+ notUsed NULL,
+ pt10 TemporaryOffset1,
+ pt20 TemporaryOffset1,
+ pt30 TemporaryOffset1,
+ pt40 TemporaryOffset1,
+ pt50 TemporaryOffset1,
+ pt60 TemporaryOffset1
+}
+
+PenaltyTime-ECN0 ::= CHOICE {
+ notUsed NULL,
+ pt10 TemporaryOffsetList,
+ pt20 TemporaryOffsetList,
+ pt30 TemporaryOffsetList,
+ pt40 TemporaryOffsetList,
+ pt50 TemporaryOffsetList,
+ pt60 TemporaryOffsetList
+}
+
+PendingTimeAfterTrigger ::= ENUMERATED {
+ ptat0-25, ptat0-5, ptat1,
+ ptat2, ptat4, ptat8, ptat16 }
+
+PeriodicalOrEventTrigger ::= ENUMERATED {
+ periodical,
+ eventTrigger }
+
+PeriodicalReportingCriteria ::= SEQUENCE {
+ reportingAmount ReportingAmount DEFAULT ra-Infinity,
+ reportingInterval ReportingIntervalLong
+}
+
+PeriodicReportingInfo-1b ::= SEQUENCE {
+ reportingAmount ReportingAmount,
+ reportingInterval ReportingInterval
+}
+
+PeriodicalWithReportingCellStatus ::= SEQUENCE {
+ periodicalReportingCriteria PeriodicalReportingCriteria,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+PeriodicalWithReportingCellStatus-r10 ::= SEQUENCE {
+ periodicalReportingCriteria PeriodicalReportingCriteria,
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL
+}
+
+PeriodicalWithReportingCellStatusOnSecULFreq ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ periodicalWithReportingCellStatus PeriodicalWithReportingCellStatus-r10
+}
+
+PLMNIdentitiesOfNeighbourCells ::= SEQUENCE {
+ plmnsOfIntraFreqCellsList PLMNsOfIntraFreqCellsList OPTIONAL,
+ plmnsOfInterFreqCellsList PLMNsOfInterFreqCellsList OPTIONAL,
+ plmnsOfInterRATCellsList PLMNsOfInterRATCellsList OPTIONAL
+}
+
+PLMNIdentitiesOfNeighbourCells-v860ext ::= SEQUENCE {
+ multipleplmnsOfIntraFreqCellsList MultiplePLMNsOfIntraFreqCellsList OPTIONAL,
+ multipleplmnsOfInterFreqCellsList MultiplePLMNsOfInterFreqCellsList OPTIONAL
+}
+
+PLMNIdentitiesOfNeighbourCells-vc50ext ::= SEQUENCE {
+ plmnsOfInterFreqCellsList PLMNsOfInterFreqCellsList-vc50ext OPTIONAL,
+ multipleplmnsOfInterFreqCellsList MultiplePLMNsOfInterFreqCellsList-vc50ext OPTIONAL
+}
+
+PlmnList ::= SEQUENCE (SIZE (1..maxNumMDTPLMN)) OF PLMN-Identity
+
+PLMNsOfInterFreqCellsList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL
+}
+
+PLMNsOfInterFreqCellsList-vc50ext ::= SEQUENCE (SIZE (1..maxCellMeas-ext)) OF InterFreqCellPLMN
+
+InterFreqCellPLMN ::= SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL
+}
+
+MultiplePLMNsOfInterFreqCellsList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ SEQUENCE {
+ multiplePLMN-list SEQUENCE (SIZE (1..6)) OF
+ PLMN-IdentityWithOptionalMCC-r6 OPTIONAL
+}
+
+MultiplePLMNsOfInterFreqCellsList-vc50ext ::= SEQUENCE (SIZE (1..maxCellMeas-ext)) OF MultiplePLMNInfo
+
+MultiplePLMNInfo ::= SEQUENCE {
+ multiplePLMN-list MultiplePLMN-List OPTIONAL
+}
+
+MultiplePLMN-List ::= SEQUENCE (SIZE (1..6)) OF PLMN-IdentityWithOptionalMCC-r6
+
+PLMNsOfIntraFreqCellsList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL
+}
+
+MultiplePLMNsOfIntraFreqCellsList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ SEQUENCE {
+ multiplePLMN-list SEQUENCE (SIZE (1..6)) OF
+ PLMN-IdentityWithOptionalMCC-r6 OPTIONAL
+}
+
+PLMNsOfInterRATCellsList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ SEQUENCE {
+ plmn-Identity PLMN-Identity OPTIONAL
+}
+
+PositionEstimate ::= CHOICE {
+ ellipsoidPoint EllipsoidPoint,
+ ellipsoidPointUncertCircle EllipsoidPointUncertCircle,
+ ellipsoidPointUncertEllipse EllipsoidPointUncertEllipse,
+ ellipsoidPointAltitude EllipsoidPointAltitude,
+ ellipsoidPointAltitudeEllipse EllipsoidPointAltitudeEllipsoide
+}
+
+PositioningMethod ::= ENUMERATED {
+ otdoa,
+ gps,
+ otdoaOrGPS, cellID }
+
+-- Actual value PRC = IE value * 0.32
+PRC ::= INTEGER (-2047..2047)
+
+-- SPARE: PrimaryCCPCH-RSCP, Max = 91
+-- Values above Max are spare
+PrimaryCCPCH-RSCP ::= INTEGER (0..127)
+
+Q-HCS ::= INTEGER (0..99)
+
+Q-OffsetS-N ::= INTEGER (-50..50)
+
+Q-QualMin ::= INTEGER (-24..0)
+
+Q-QualMin-Offset ::= INTEGER (1..16)
+
+-- Actual value Q-RxlevMin = (IE value * 2) + 1
+Q-RxlevMin ::= INTEGER (-58..-13)
+
+-- Actual value Q-RxlevMin-Offset = (IE value * 2)
+Q-RxlevMin-Offset ::= INTEGER (1..8)
+
+QualityEventResults ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ TransportChannelIdentity
+
+QualityMeasuredResults ::= SEQUENCE {
+ blerMeasurementResultsList BLER-MeasurementResultsList OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd NULL,
+ tdd SEQUENCE {
+ sir-MeasurementResults SIR-MeasurementList OPTIONAL
+ }
+ }
+}
+
+QualityMeasurement ::= SEQUENCE {
+ qualityReportingQuantity QualityReportingQuantity OPTIONAL,
+ reportCriteria QualityReportCriteria
+}
+
+QualityReportCriteria ::= CHOICE {
+ qualityReportingCriteria QualityReportingCriteria,
+ periodicalReportingCriteria PeriodicalReportingCriteria,
+ noReporting NULL
+}
+
+QualityReportingCriteria ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ QualityReportingCriteriaSingle
+
+QualityReportingCriteriaSingle ::= SEQUENCE {
+ transportChannelIdentity TransportChannelIdentity,
+ totalCRC INTEGER (1..512),
+ badCRC INTEGER (1..512),
+ pendingAfterTrigger INTEGER (1..512)
+}
+
+QualityReportingQuantity ::= SEQUENCE {
+ dl-TransChBLER BOOLEAN,
+ bler-dl-TransChIdList BLER-TransChIdList OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd NULL,
+ tdd SEQUENCE {
+ sir-TFCS-List SIR-TFCS-List OPTIONAL
+ }
+ }
+}
+
+RAT-Type ::= ENUMERATED {
+ gsm, is2000 }
+
+ReferenceCellPosition ::= CHOICE {
+ ellipsoidPoint EllipsoidPoint,
+ ellipsoidPointWithAltitude EllipsoidPointAltitude
+}
+
+-- ReferenceLocation, as defined in 23.032
+ReferenceLocation ::= SEQUENCE {
+ ellipsoidPointAltitudeEllipsoide EllipsoidPointAltitudeEllipsoide
+}
+
+ReferenceLocationGANSS ::= SEQUENCE {
+ ellipsoidPointAltitudeEllipsoide EllipsoidPointAltitudeEllipsoide
+}
+
+ReferenceTimeDifferenceToCell ::= CHOICE {
+ -- Actual value accuracy40 = IE value * 40
+ accuracy40 INTEGER (0..960),
+ -- Actual value accuracy256 = IE value * 256
+ accuracy256 INTEGER (0..150),
+ -- Actual value accuracy2560 = IE value * 2560
+ accuracy2560 INTEGER (0..15)
+}
+
+RemovedInterFreqCellList ::= CHOICE {
+ removeAllInterFreqCells NULL,
+ removeSomeInterFreqCells SEQUENCE (SIZE (1..maxCellMeas)) OF
+ InterFreqCellID,
+ removeNoInterFreqCells NULL
+}
+
+RemovedInterFreqCellList-r12 ::= CHOICE {
+ removeAllInterFreqCells NULL,
+ removeSomeInterFreqCells SEQUENCE (SIZE (1..maxCellMeas-ext)) OF
+ InterFreqCellID-r12,
+ removeNoInterFreqCells NULL
+}
+
+RemovedInterRATCellList ::= CHOICE {
+ removeAllInterRATCells NULL,
+ removeSomeInterRATCells SEQUENCE (SIZE (1..maxCellMeas)) OF
+ InterRATCellID,
+ removeNoInterRATCells NULL
+}
+
+RemovedIntraFreqCellList ::= CHOICE {
+ removeAllIntraFreqCells NULL,
+ removeSomeIntraFreqCells SEQUENCE (SIZE (1..maxCellMeas)) OF
+ IntraFreqCellID,
+ removeNoIntraFreqCells NULL
+}
+
+RemovedIntraFreqCellListOnSecULFreq ::= CHOICE {
+ removeAllIntraFreqCells NULL,
+ removeSomeIntraFreqCells SEQUENCE (SIZE (1..maxCellMeasOnSecULFreq)) OF
+ IntraFreqCellIDOnSecULFreq,
+ removeNoIntraFreqCells NULL
+}
+
+ReplacementActivationThreshold ::= ENUMERATED {
+ notApplicable, t1, t2,
+ t3, t4, t5, t6, t7 }
+
+ReportDeactivationThreshold ::= ENUMERATED {
+ notApplicable, t1, t2,
+ t3, t4, t5, t6, t7 }
+
+ReportingAmount ::= ENUMERATED {
+ ra1, ra2, ra4, ra8, ra16, ra32,
+ ra64, ra-Infinity }
+
+ReportingCellStatus ::= CHOICE{
+ withinActiveSet MaxNumberOfReportingCellsType1,
+ withinMonitoredSetUsedFreq MaxNumberOfReportingCellsType1,
+ withinActiveAndOrMonitoredUsedFreq MaxNumberOfReportingCellsType1,
+ withinDetectedSetUsedFreq MaxNumberOfReportingCellsType1,
+ withinMonitoredAndOrDetectedUsedFreq
+ MaxNumberOfReportingCellsType1,
+ allActiveplusMonitoredSet MaxNumberOfReportingCellsType3,
+ allActivePlusDetectedSet MaxNumberOfReportingCellsType3,
+ allActivePlusMonitoredAndOrDetectedSet
+ MaxNumberOfReportingCellsType3,
+ withinVirtualActSet MaxNumberOfReportingCellsType1,
+ withinMonitoredSetNonUsedFreq MaxNumberOfReportingCellsType1,
+ withinMonitoredAndOrVirtualActiveSetNonUsedFreq
+ MaxNumberOfReportingCellsType1,
+ allVirtualActSetplusMonitoredSetNonUsedFreq
+ MaxNumberOfReportingCellsType3,
+ withinActSetOrVirtualActSet-InterRATcells
+ MaxNumberOfReportingCellsType2,
+ withinActSetAndOrMonitoredUsedFreqOrVirtualActSetAndOrMonitoredNonUsedFreq
+ MaxNumberOfReportingCellsType2
+}
+
+ReportingCellStatus-r10 ::= CHOICE{
+ withinActiveSet MaxNumberOfReportingCellsType1,
+ withinMonitoredSetUsedFreq MaxNumberOfReportingCellsType1,
+ withinActiveAndOrMonitoredUsedFreq MaxNumberOfReportingCellsType1,
+ withinDetectedSetUsedFreq MaxNumberOfReportingCellsType1,
+ withinMonitoredAndOrDetectedUsedFreq
+ MaxNumberOfReportingCellsType1,
+ allActiveplusMonitoredSet MaxNumberOfReportingCellsType3,
+ allActivePlusDetectedSet MaxNumberOfReportingCellsType3,
+ allActivePlusMonitoredAndOrDetectedSet
+ MaxNumberOfReportingCellsType3,
+ withinVirtualActSet MaxNumberOfReportingCellsType1,
+ withinMonitoredSetNonUsedFreq MaxNumberOfReportingCellsType1,
+ withinMonitoredAndOrVirtualActiveSetNonUsedFreq
+ MaxNumberOfReportingCellsType1,
+ allVirtualActSetplusMonitoredSetNonUsedFreq
+ MaxNumberOfReportingCellsType3,
+ withinActSetOrVirtualActSet-InterRATcells
+ MaxNumberOfReportingCellsType2,
+ withinActSetAndOrMonitoredUsedFreqOrVirtualActSetAndOrMonitoredNonUsedFreq
+ MaxNumberOfReportingCellsType2,
+ allVirtualActSetplusMonitoredSetplusDetectedSetNonUsedFreq
+ MaxNumberOfReportingCellsType3
+}
+
+ReportingCellStatusOpt ::= SEQUENCE {
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+ReportingCellStatusOpt-r10 ::= SEQUENCE {
+ reportingCellStatus ReportingCellStatus-r10 OPTIONAL
+}
+
+ReportingInfoForCellDCH ::= SEQUENCE {
+ intraFreqReportingQuantity IntraFreqReportingQuantity,
+ measurementReportingMode MeasurementReportingMode,
+ reportCriteria CellDCH-ReportCriteria
+}
+
+ReportingInfoForCellDCH-LCR-r4 ::= SEQUENCE {
+ intraFreqReportingQuantity IntraFreqReportingQuantity,
+ measurementReportingMode MeasurementReportingMode,
+ reportCriteria CellDCH-ReportCriteria-LCR-r4
+}
+
+ReportingInterval ::= ENUMERATED {
+ noPeriodicalreporting, ri0-25,
+ ri0-5, ri1, ri2, ri4, ri8, ri16 }
+
+ReportingIntervalLong ::= ENUMERATED {
+ ril0, ril0-25, ril0-5, ril1,
+ ril2, ril3, ril4, ril6, ril8,
+ ril12, ril16, ril20, ril24,
+ ril28, ril32, ril64 }
+ -- When the value "ril0" is used, the UE behaviour is not
+ -- defined.
+
+-- Actual value ReportingRange = IE value * 0.5
+ReportingRange ::= INTEGER (0..29)
+
+ReqDataBitAssistance ::= SEQUENCE {
+ ganssSignalID DGANSS-Sig-Id-Req,
+ ganssDataBitInterval INTEGER(0..15),
+ ganssSatelliteInfo SEQUENCE (SIZE (1..maxGANSSSat)) OF INTEGER(0..63) OPTIONAL
+}
+
+RL-AdditionInfoList ::= SEQUENCE (SIZE (1..maxRL)) OF
+ PrimaryCPICH-Info
+
+RL-InformationLists ::= SEQUENCE {
+ rl-AdditionInfoList RL-AdditionInfoList OPTIONAL,
+ rL-RemovalInformationList RL-RemovalInformationList OPTIONAL
+}
+
+RLC-BuffersPayload ::= ENUMERATED {
+ pl0, pl4, pl8, pl16, pl32,
+ pl64, pl128, pl256, pl512, pl1024,
+ pl2k, pl4k, pl8k, pl16k, pl32k,
+ pl64k, pl128k, pl256k, pl512k, pl1024k,
+ spare12, spare11, spare10, spare9, spare8,
+ spare7, spare6, spare5, spare4, spare3,
+ spare2, spare1 }
+
+
+RMP-Frequency-List ::= SEQUENCE (SIZE (1..maxRMPfrequencies)) OF
+ BOOLEAN
+
+-- Actual value RRC = IE value * 0.032
+RRC ::= INTEGER (-127..127)
+
+RSCPforANR ::= SEQUENCE {
+ rSCP INTEGER (-120..-25) OPTIONAL
+}
+
+RsrqType ::= SEQUENCE{
+ allSymbols BOOLEAN,
+ wideBand BOOLEAN
+}
+
+
+SatData ::= SEQUENCE{
+ satID SatID,
+ iode IODE
+}
+
+SatDataList ::= SEQUENCE (SIZE (0..maxSat)) OF
+ SatData
+
+SatellitesListRelatedData ::= SEQUENCE {
+ satId INTEGER (0..63),
+ iod INTEGER (0..1023)
+}
+
+SatellitesListRelatedDataList ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF
+ SatellitesListRelatedData
+
+SatelliteStatus ::= ENUMERATED {
+ ns-NN-U,
+ es-SN,
+ es-NN-U,
+ rev2,
+ rev }
+
+Satellite-clock-model ::= SEQUENCE {
+ t-oc BIT STRING (SIZE (14)),
+ af2 BIT STRING (SIZE (6)),
+ af1 BIT STRING (SIZE (21)),
+ af0 BIT STRING (SIZE (31)),
+ tgd BIT STRING (SIZE (10)) OPTIONAL,
+ sisa BIT STRING (SIZE (8)),
+ model-id INTEGER (0..1) OPTIONAL
+}
+
+Satellite-clock-modelList ::= SEQUENCE (SIZE (1..maxSatClockModels)) OF Satellite-clock-model
+
+-- Identifies the satellite and is equal to (SV ID No - 1) where SV ID No is defined in [12].
+SatID ::= INTEGER (0..63)
+
+SBASclockModel ::= SEQUENCE {
+ sbasTo BIT STRING (SIZE (13)),
+ sbasAgfo BIT STRING (SIZE (12)),
+ sbasAgf1 BIT STRING (SIZE (8))
+}
+
+S-DPCCH-Information ::= SEQUENCE {
+ s-DPCCH-DPCCH-PowerOffset S-DPCCH-DPCCH-PowerOffset
+}
+
+S-DPCCH-DPCCH-PowerOffset ::= INTEGER (0..6)
+
+SFN-Offset-Validity ::= ENUMERATED { false }
+
+SFN-SFN-Drift ::= ENUMERATED {
+ sfnsfndrift0, sfnsfndrift1, sfnsfndrift2,
+ sfnsfndrift3, sfnsfndrift4, sfnsfndrift5,
+ sfnsfndrift8, sfnsfndrift10, sfnsfndrift15,
+ sfnsfndrift25, sfnsfndrift35, sfnsfndrift50,
+ sfnsfndrift65, sfnsfndrift80, sfnsfndrift100,
+ sfnsfndrift-1, sfnsfndrift-2, sfnsfndrift-3,
+ sfnsfndrift-4, sfnsfndrift-5, sfnsfndrift-8,
+ sfnsfndrift-10, sfnsfndrift-15, sfnsfndrift-25,
+ sfnsfndrift-35, sfnsfndrift-50, sfnsfndrift-65,
+ sfnsfndrift-80, sfnsfndrift-100}
+
+SFN-SFN-ObsTimeDifference ::= CHOICE {
+ type1 SFN-SFN-ObsTimeDifference1,
+ type2 SFN-SFN-ObsTimeDifference2
+}
+
+-- SPARE: SFN-SFN-ObsTimeDifference1, Max = 9830399
+-- For 1.28Mcps TDD, Max value of SFN-SFN-ObsTimeDifference1 is 3276799.
+-- Values above Max are spare
+SFN-SFN-ObsTimeDifference1 ::= INTEGER (0..16777215)
+
+-- SPARE: SFN-SFN-ObsTimeDifference2, Max = 40961
+-- For 1.28Mcps TDD, Max value of SFN-SFN-ObsTimeDifference2 is 27649.
+-- Values above Max are spare
+SFN-SFN-ObsTimeDifference2 ::= INTEGER (0..65535)
+
+SFN-SFN-OTD-Type ::= ENUMERATED {
+ noReport,
+ type1,
+ type2 }
+
+SFN-SFN-RelTimeDifference1 ::= SEQUENCE {
+ sfn-Offset INTEGER (0 .. 4095),
+ sfn-sfn-Reltimedifference INTEGER (0.. 38399)
+}
+
+SFN-TOW-Uncertainty ::= ENUMERATED {
+ lessThan10,
+ moreThan10 }
+
+
+SIR ::= INTEGER (0..63)
+
+
+SIR-MeasurementList ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ SIR-MeasurementResults
+
+
+SIR-MeasurementResults ::= SEQUENCE {
+ tfcs-ID TFCS-IdentityPlain,
+ sir-TimeslotList SIR-TimeslotList
+}
+
+SIR-TFCS ::= TFCS-IdentityPlain
+
+
+SIR-TFCS-List ::= SEQUENCE (SIZE (1..maxCCTrCH)) OF
+ SIR-TFCS
+
+SIR-TimeslotList ::= SEQUENCE (SIZE (1..maxTS)) OF
+ SIR
+
+-- SubFrame1Reserved, reserved bits in subframe 1 of the GPS navigation message
+SubFrame1Reserved ::= SEQUENCE {
+ reserved1 BIT STRING (SIZE (23)),
+ reserved2 BIT STRING (SIZE (24)),
+ reserved3 BIT STRING (SIZE (24)),
+ reserved4 BIT STRING (SIZE (16))
+}
+
+T-ADVinfo ::= SEQUENCE {
+ t-ADV INTEGER(0..2047),
+ sfn INTEGER(0..4095)
+}
+
+T-ADVinfo-ext ::= SEQUENCE {
+ t-ADV INTEGER (0..8191),
+ sfn INTEGER (0..4095)
+}
+
+T-CRMax ::= CHOICE {
+ notUsed NULL,
+ t30 N-CR-T-CRMaxHyst,
+ t60 N-CR-T-CRMaxHyst,
+ t120 N-CR-T-CRMaxHyst,
+ t180 N-CR-T-CRMaxHyst,
+ t240 N-CR-T-CRMaxHyst
+}
+
+T-CRMaxHyst ::= ENUMERATED {
+ notUsed, t10, t20, t30,
+ t40, t50, t60, t70 }
+
+TCE-Id ::= SEQUENCE {
+ tce-Id OCTET STRING (SIZE (1))
+}
+
+TemporaryOffset1 ::= ENUMERATED {
+ to3, to6, to9, to12, to15,
+ to18, to21, infinite }
+
+TemporaryOffset2 ::= ENUMERATED {
+ to2, to3, to4, to6, to8,
+ to10, to12, infinite }
+
+TemporaryOffsetList ::= SEQUENCE {
+ temporaryOffset1 TemporaryOffset1,
+ temporaryOffset2 TemporaryOffset2
+}
+
+Threshold ::= INTEGER (-115..0)
+
+Threshold-r12 ::= INTEGER (-115..6)
+
+Threshold-r6 ::= INTEGER (-120..0)
+
+-- The order of the list corresponds to the order of frequency defined in Inter-FreqEventCriteria
+ThreholdNonUsedFrequency-deltaList ::= SEQUENCE (SIZE (1..maxFreq)) OF
+ DeltaRSCPPerCell
+
+ThresholdPositionChange ::= ENUMERATED {
+ pc10, pc20, pc30, pc40, pc50,
+ pc100, pc200, pc300, pc500,
+ pc1000, pc2000, pc5000, pc10000,
+ pc20000, pc50000, pc100000 }
+
+ThresholdSFN-GANSS-TOW ::= ENUMERATED {
+ us1, us2, us3, us5, us10,
+ us20, us50, us100 }
+
+ThresholdSFN-GPS-TOW ::= ENUMERATED {
+ ms1, ms2, ms3, ms5, ms10,
+ ms20, ms50, ms100 }
+
+ThresholdSFN-GPS-TOW-us ::= ENUMERATED {
+ us1, us2, us3, us5, us10,
+ us20, us50, us100 }
+
+ThresholdSFN-SFN-Change ::= ENUMERATED {
+ c0-25, c0-5, c1, c2, c3, c4, c5,
+ c10, c20, c50, c100, c200, c500,
+ c1000, c2000, c5000 }
+
+ThresholdUsedFrequency ::= INTEGER (-115..165)
+
+ThresholdUsedFrequency-r6 ::= INTEGER (-120..165)
+
+-- Actual value TimeInterval = IE value * 20.
+TimeInterval ::= INTEGER (1..13)
+
+
+TimeslotInfo ::= SEQUENCE {
+ timeslotNumber TimeslotNumber,
+ burstType BurstType
+}
+
+TimeslotInfo-LCR-r4 ::= SEQUENCE {
+ timeslotNumber TimeslotNumber-LCR-r4
+}
+
+TimeslotInfoList ::= SEQUENCE (SIZE (1..maxTS)) OF
+ TimeslotInfo
+
+TimeslotInfoList-LCR-r4 ::= SEQUENCE (SIZE (1..maxTS-LCR)) OF
+ TimeslotInfo-LCR-r4
+
+TimeslotInfoList-r4 ::= CHOICE {
+ -- the choice for 7.68 Mcps TDD is the same as for 3.84 Mcps TDD --
+ tdd384 SEQUENCE (SIZE (1..maxTS)) OF
+ TimeslotInfo,
+ tdd128 SEQUENCE (SIZE (1..maxTS-LCR)) OF
+ TimeslotInfo-LCR-r4
+}
+
+-- SPARE: TimeslotISCP, Max = 91
+-- Values above Max are spare
+TimeslotISCP ::= INTEGER (0..127)
+
+
+-- TimeslotISCP-List shall not include more than 6 elements in 1.28Mcps TDD mode.
+TimeslotISCP-List ::= SEQUENCE (SIZE (1..maxTS)) OF
+ TimeslotISCP
+
+TimeslotListWithISCP ::= SEQUENCE (SIZE (1..maxTS)) OF
+ TimeslotWithISCP
+
+TimeslotWithISCP ::= SEQUENCE {
+ timeslot TimeslotNumber,
+ timeslotISCP TimeslotISCP
+}
+
+TimeToTrigger ::= ENUMERATED {
+ ttt0, ttt10, ttt20, ttt40, ttt60,
+ ttt80, ttt100, ttt120, ttt160,
+ ttt200, ttt240, tt320, ttt640,
+ ttt1280, ttt2560, ttt5000 }
+
+TraceReference ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ traceId OCTET STRING (SIZE (3))
+}
+
+TraceRecordingSession ::= SEQUENCE {
+ traceRecordingSession OCTET STRING (SIZE (2))
+}
+
+TrafficVolumeEventParam ::= SEQUENCE {
+ eventID TrafficVolumeEventType,
+ reportingThreshold TrafficVolumeThreshold,
+ timeToTrigger TimeToTrigger OPTIONAL,
+ pendingTimeAfterTrigger PendingTimeAfterTrigger OPTIONAL,
+ tx-InterruptionAfterTrigger TX-InterruptionAfterTrigger OPTIONAL
+}
+
+TrafficVolumeEventResults ::= SEQUENCE {
+ ul-transportChannelCausingEvent UL-TrCH-Identity,
+ trafficVolumeEventIdentity TrafficVolumeEventType
+}
+
+TrafficVolumeEventType ::= ENUMERATED {
+ e4a,
+ e4b }
+
+TrafficVolumeMeasQuantity ::= CHOICE {
+ rlc-BufferPayload NULL,
+ averageRLC-BufferPayload TimeInterval,
+ varianceOfRLC-BufferPayload TimeInterval
+}
+
+TrafficVolumeMeasSysInfo ::= SEQUENCE {
+ trafficVolumeMeasurementID MeasurementIdentity DEFAULT 4,
+ trafficVolumeMeasurementObjectList TrafficVolumeMeasurementObjectList OPTIONAL,
+ trafficVolumeMeasQuantity TrafficVolumeMeasQuantity OPTIONAL,
+ trafficVolumeReportingQuantity TrafficVolumeReportingQuantity OPTIONAL,
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy TrafficVolumeReportingCriteria OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ measurementReportingMode MeasurementReportingMode,
+ reportCriteriaSysInf TrafficVolumeReportCriteriaSysInfo
+
+}
+
+TrafficVolumeMeasuredResults ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ rlc-BuffersPayload RLC-BuffersPayload OPTIONAL,
+ averageRLC-BufferPayload AverageRLC-BufferPayload OPTIONAL,
+ varianceOfRLC-BufferPayload VarianceOfRLC-BufferPayload OPTIONAL
+}
+
+TrafficVolumeMeasuredResultsList ::= SEQUENCE (SIZE (1..maxRB)) OF
+ TrafficVolumeMeasuredResults
+
+TrafficVolumeMeasurement ::= SEQUENCE {
+ trafficVolumeMeasurementObjectList TrafficVolumeMeasurementObjectList OPTIONAL,
+ trafficVolumeMeasQuantity TrafficVolumeMeasQuantity OPTIONAL,
+ trafficVolumeReportingQuantity TrafficVolumeReportingQuantity OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria TrafficVolumeReportCriteria
+}
+
+TrafficVolumeMeasurementObjectList ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ UL-TrCH-Identity
+
+TrafficVolumeReportCriteria ::= CHOICE {
+ trafficVolumeReportingCriteria TrafficVolumeReportingCriteria,
+ periodicalReportingCriteria PeriodicalReportingCriteria,
+ noReporting NULL
+}
+
+TrafficVolumeReportCriteriaSysInfo ::= CHOICE {
+ trafficVolumeReportingCriteria TrafficVolumeReportingCriteria,
+ periodicalReportingCriteria PeriodicalReportingCriteria
+}
+
+TrafficVolumeReportingCriteria ::= SEQUENCE {
+ -- NOTE: transChCriteriaList should be mandatory in later versions of this message
+ transChCriteriaList TransChCriteriaList OPTIONAL
+}
+
+TrafficVolumeReportingQuantity ::= SEQUENCE {
+ rlc-RB-BufferPayload BOOLEAN,
+ rlc-RB-BufferPayloadAverage BOOLEAN,
+ rlc-RB-BufferPayloadVariance BOOLEAN
+}
+
+TrafficVolumeThreshold ::= ENUMERATED {
+ th8, th16, th32, th64, th128,
+ th256, th512, th1024, th2k, th3k,
+ th4k, th6k, th8k, th12k, th16k,
+ th24k, th32k, th48k, th64k, th96k,
+ th128k, th192k, th256k, th384k,
+ th512k, th768k }
+
+TransChCriteria ::= SEQUENCE {
+ ul-transportChannelID UL-TrCH-Identity OPTIONAL,
+ eventSpecificParameters SEQUENCE (SIZE (1..maxMeasParEvent)) OF
+ TrafficVolumeEventParam OPTIONAL
+}
+
+TransChCriteriaList ::= SEQUENCE (SIZE (1..maxTrCH)) OF
+ TransChCriteria
+
+TransferMode ::= ENUMERATED {
+ acknowledgedModeRLC,
+ unacknowledgedModeRLC }
+
+TransmittedPowerThreshold ::= INTEGER (-50..33)
+
+TriggeringCondition1 ::= ENUMERATED {
+ activeSetCellsOnly,
+ monitoredSetCellsOnly,
+ activeSetAndMonitoredSetCells }
+
+TriggeringCondition2 ::= ENUMERATED {
+ activeSetCellsOnly,
+ monitoredSetCellsOnly,
+ activeSetAndMonitoredSetCells,
+ detectedSetCellsOnly,
+ detectedSetAndMonitoredSetCells }
+
+Tutran-Ganss-DriftRate ::= ENUMERATED {
+ ugdr0, ugdr1, ugdr2, ugdr5, ugdr10, ugdr15 , ugdr25,
+ ugdr50, ugdr-1, ugdr-2, ugdr-5, ugdr-10, ugdr-15,
+ ugdr-25, ugdr-50, spare }
+
+TX-InterruptionAfterTrigger ::= ENUMERATED {
+ txiat0-25, txiat0-5, txiat1,
+ txiat2, txiat4, txiat8, txiat16 }
+
+UDRE ::= ENUMERATED {
+ lessThan1,
+ between1-and-4,
+ between4-and-8,
+ over8 }
+
+UDREGrowthRate ::= ENUMERATED {
+ growth-1-5,
+ growth-2,
+ growth-4,
+ growth-6,
+ growth-8,
+ growth-10,
+ growth-12,
+ growth-16 }
+
+UDREValidityTime ::= ENUMERATED {
+ val-20sec,
+ val-40sec,
+ val-80sec,
+ val-160sec,
+ val-320sec,
+ val-640sec,
+ val-1280sec,
+ val-2560sec }
+
+UE-6AB-Event ::= SEQUENCE {
+ timeToTrigger TimeToTrigger,
+ transmittedPowerThreshold TransmittedPowerThreshold
+}
+
+UE-6FG-Event ::= SEQUENCE {
+ timeToTrigger TimeToTrigger,
+ -- in 1.28 Mcps TDD ue-RX-TX-TimeDifferenceThreshold corresponds to TADV Threshold
+ ue-RX-TX-TimeDifferenceThreshold UE-RX-TX-TimeDifferenceThreshold
+}
+
+UE-6HI-Event ::= SEQUENCE {
+ timeToTrigger TimeToTrigger,
+ hysteresis Hysteresis,
+ ue-powerheadroomthreshold UE-PowerHeadroomThreshold,
+ filtercoefficient FilterCoefficient,
+ pendingtimeaftertrigger PendingTimeAfterTrigger OPTIONAL
+}
+
+-- dummy and dummy2 are not used in this version of the specification, they should
+-- not be sent and if received the UE behaviour is not specified.
+UE-AutonomousUpdateMode ::= CHOICE {
+ dummy NULL,
+ onWithNoReporting NULL,
+ dummy2 RL-InformationLists
+}
+
+UE-InternalEventParam ::= CHOICE {
+ event6a UE-6AB-Event,
+ event6b UE-6AB-Event,
+ event6c TimeToTrigger,
+ event6d TimeToTrigger,
+ event6e TimeToTrigger,
+ event6f UE-6FG-Event,
+ event6g UE-6FG-Event
+}
+
+UE-InternalEventParam-r14::= CHOICE {
+ event6a UE-6AB-Event,
+ event6b UE-6AB-Event,
+ event6c TimeToTrigger,
+ event6d TimeToTrigger,
+ event6e TimeToTrigger,
+ event6f UE-6FG-Event,
+ event6g UE-6FG-Event,
+ event6h UE-6HI-Event,
+ event6i UE-6HI-Event,
+ spare7 NULL,
+ spare6 NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+
+UE-InternalEventParamList ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ UE-InternalEventParam
+
+UE-InternalEventParamList-r14 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ UE-InternalEventParam-r14
+
+UE-InternalEventResults ::= CHOICE {
+ event6a NULL,
+ event6b NULL,
+ event6c NULL,
+ event6d NULL,
+ event6e NULL,
+ event6f PrimaryCPICH-Info,
+ event6g PrimaryCPICH-Info,
+ ue-InternalEventResults-v30ext UE-InternalEventResults-v30ext-IEs
+}
+
+UE-InternalEventResults-v30ext-IEs ::= CHOICE {
+ event6h NULL,
+ event6i NULL,
+ spare6 NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+UE-InternalMeasQuantity ::= SEQUENCE {
+ measurementQuantity UE-MeasurementQuantity,
+ filterCoefficient FilterCoefficient DEFAULT fc0
+}
+
+UE-InternalMeasQuantity-r14 ::= SEQUENCE {
+ measurementQuantity UE-MeasurementQuantity-r14,
+ filterCoefficient FilterCoefficient DEFAULT fc0
+}
+
+UE-InternalMeasuredResults ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ue-TransmittedPowerFDD UE-TransmittedPower OPTIONAL,
+ ue-RX-TX-ReportEntryList UE-RX-TX-ReportEntryList OPTIONAL
+ },
+ tdd SEQUENCE {
+ ue-TransmittedPowerTDD-List UE-TransmittedPowerTDD-List OPTIONAL,
+ appliedTA UL-TimingAdvance OPTIONAL
+ }
+ }
+}
+
+UE-InternalMeasuredResults-ve30ext ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ue-powerheadroom UE-PowerHeadroom OPTIONAL
+ },
+ tdd NULL
+ }
+}
+
+UE-InternalMeasuredResults-LCR-r4 ::= SEQUENCE {
+ ue-TransmittedPowerTDD-List UE-TransmittedPowerTDD-List OPTIONAL,
+ -- If TA value is not greater than 2047, then use this IE to report.
+ t-ADVinfo T-ADVinfo OPTIONAL
+}
+
+UE-InternalMeasuredResults-v770ext ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ tdd384-768 SEQUENCE {
+ appliedTA EXT-UL-TimingAdvance OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ -- If TA value is greater than 2047, then use this IE to report
+ t-ADVinfo T-ADVinfo-ext OPTIONAL
+ }
+ }
+}
+
+UE-InternalMeasurement ::= SEQUENCE {
+ ue-InternalMeasQuantity UE-InternalMeasQuantity OPTIONAL,
+ ue-InternalReportingQuantity UE-InternalReportingQuantity OPTIONAL,
+ reportCriteria UE-InternalReportCriteria
+}
+
+UE-InternalMeasurement-r4 ::= SEQUENCE {
+ ue-InternalMeasQuantity UE-InternalMeasQuantity OPTIONAL,
+ ue-InternalReportingQuantity UE-InternalReportingQuantity-r4 OPTIONAL,
+ reportCriteria UE-InternalReportCriteria
+}
+
+UE-InternalMeasurement-r14 ::= SEQUENCE {
+ ue-InternalMeasQuantity UE-InternalMeasQuantity-r14 OPTIONAL,
+ ue-InternalReportingQuantity UE-InternalReportingQuantity-r14 OPTIONAL,
+ reportCriteria UE-InternalReportCriteria-r14
+}
+
+UE-InternalMeasurementSysInfo ::= SEQUENCE {
+ ue-InternalMeasurementID MeasurementIdentity DEFAULT 5,
+ ue-InternalMeasQuantity UE-InternalMeasQuantity
+}
+
+UE-InternalReportCriteria ::= CHOICE {
+ ue-InternalReportingCriteria UE-InternalReportingCriteria,
+ periodicalReportingCriteria PeriodicalReportingCriteria,
+ noReporting NULL
+}
+
+UE-InternalReportCriteria-r14 ::= CHOICE {
+ ue-InternalReportingCriteria UE-InternalReportingCriteria-r14,
+ periodicalReportingCriteria PeriodicalReportingCriteria,
+ noReporting NULL
+}
+
+UE-InternalReportingCriteria ::= SEQUENCE {
+ ue-InternalEventParamList UE-InternalEventParamList OPTIONAL
+}
+
+UE-InternalReportingCriteria-r14 ::= SEQUENCE {
+ ue-InternalEventParamList UE-InternalEventParamList-r14 OPTIONAL
+}
+
+UE-InternalReportingQuantity ::= SEQUENCE {
+ ue-TransmittedPower BOOLEAN,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ue-RX-TX-TimeDifference BOOLEAN
+ },
+ tdd SEQUENCE {
+ appliedTA BOOLEAN
+ }
+ }
+}
+
+UE-InternalReportingQuantity-r4 ::= SEQUENCE {
+ ue-TransmittedPower BOOLEAN,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ue-RX-TX-TimeDifference BOOLEAN
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ -- appliedTA applies to both 3.84 Mcps TDD and to 7.68 Mcps TDD.
+ -- Therefore, no additional choice of TDD mode is necessary
+ tdd384 SEQUENCE {
+ appliedTA BOOLEAN
+ },
+ tdd128 SEQUENCE {
+ t-ADVinfo BOOLEAN
+ }
+ }
+ }
+ }
+}
+
+UE-InternalReportingQuantity-r14 ::= SEQUENCE {
+ ue-TransmittedPower BOOLEAN,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ue-RX-TX-TimeDifference BOOLEAN,
+ ue-powerheadroom BOOLEAN
+ },
+ tdd SEQUENCE {
+ tddOption CHOICE {
+ -- appliedTA applies to both 3.84 Mcps TDD and to 7.68 Mcps TDD.
+ -- Therefore, no additional choice of TDD mode is necessary
+ tdd384 SEQUENCE {
+ appliedTA BOOLEAN
+ },
+ tdd128 SEQUENCE {
+ t-ADVinfo BOOLEAN
+ }
+ }
+ }
+ }
+}
+
+-- TABULAR: UE-MeasurementQuantity, for 3.84 Mcps TDD only the first two values
+-- ue-TransmittedPower and utra-Carrier-RSSI are used.
+-- For 1.28 Mcps TDD ue-RX-TX-TimeDifference corresponds to T-ADV in the tabular
+UE-MeasurementQuantity ::= ENUMERATED {
+ ue-TransmittedPower,
+ utra-Carrier-RSSI,
+ ue-RX-TX-TimeDifference }
+
+UE-MeasurementQuantity-r14 ::= ENUMERATED {
+ ue-TransmittedPower,
+ utra-Carrier-RSSI,
+ ue-RX-TX-TimeDifference,
+ ue-powerheadroom }
+
+UE-PowerHeadroom ::= INTEGER (0..31)
+
+UE-PowerHeadroomThreshold ::= INTEGER (-50..33)
+
+UE-RX-TX-ReportEntry ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ ue-RX-TX-TimeDifferenceType1 UE-RX-TX-TimeDifferenceType1
+}
+
+UE-RX-TX-ReportEntryList ::= SEQUENCE (SIZE (1..maxRL)) OF
+ UE-RX-TX-ReportEntry
+
+-- SPARE: UE-RX-TX-TimeDifferenceType1, Max = 1280
+-- Values above Max are spare
+UE-RX-TX-TimeDifferenceType1 ::= INTEGER (768..1791)
+
+
+UE-RX-TX-TimeDifferenceType2 ::= INTEGER (0..8191)
+
+UE-RX-TX-TimeDifferenceType2Info ::= SEQUENCE {
+ ue-RX-TX-TimeDifferenceType2 UE-RX-TX-TimeDifferenceType2,
+ neighbourQuality NeighbourQuality
+}
+
+-- In 1.28 Mcps TDD, actual value for
+-- T-ADV Threshold = (UE-RX-TX-TimeDifferenceThreshold - 768) * 0.125
+UE-RX-TX-TimeDifferenceThreshold ::= INTEGER (768..1280)
+
+UE-TransmittedPower ::= INTEGER (0..104)
+
+UE-TransmittedPowerTDD-List ::= SEQUENCE (SIZE (1..maxTS)) OF
+ UE-TransmittedPower
+
+UL-TrCH-Identity ::= CHOICE{
+ dch TransportChannelIdentity,
+ -- Note: the reference to CPCH in the element name below is incorrect. The name is not changed
+ -- to keep it aligned with R99.
+ rachorcpch NULL,
+ usch TransportChannelIdentity
+}
+
+UE-Positioning-Accuracy ::= BIT STRING (SIZE (7))
+
+UE-Positioning-DBDSCorrections ::= SEQUENCE {
+ bds-RefTime INTEGER (0..119),
+ bds-DBDS-InfoList DBDS-InfoList
+}
+
+UE-Positioning-CipherParameters ::= SEQUENCE {
+ cipheringKeyFlag BIT STRING (SIZE (1)),
+ cipheringSerialNumber INTEGER (0..65535)
+}
+
+UE-Positioning-DGANSSCorrections ::= SEQUENCE {
+ dganssreferencetime INTEGER (0..119), -- scale factor 30s
+ dganssInfoList DGANSSInfoList
+}
+
+UE-Positioning-DGANSSCorrections-r9 ::= SEQUENCE {
+ dganssreferencetime INTEGER (0..119), -- scale factor 30s
+ dganssInfoList DGANSSInfoList-r9
+}
+
+UE-Positioning-DGANSSCorrections-v920ext ::= SEQUENCE {
+ dganssInfoList DGANSSInfoList-v920ext
+}
+
+UE-Positioning-Error ::= SEQUENCE {
+ errorReason UE-Positioning-ErrorCause,
+ ue-positioning-GPS-additionalAssistanceDataRequest
+ UE-Positioning-GPS-AdditionalAssistanceDataRequest OPTIONAL
+}
+
+UE-Positioning-Error-r7 ::= SEQUENCE {
+ errorReason UE-Positioning-ErrorCause-r7,
+ ue-positioning-GPS-additionalAssistanceDataRequest
+ UE-Positioning-GPS-AdditionalAssistanceDataRequest OPTIONAL,
+ ue-positioning-GANSS-additionalAssistanceDataRequest
+ UE-Positioning-GANSS-AdditionalAssistanceDataRequest OPTIONAL
+}
+
+UE-Positioning-Error-v860ext ::= SEQUENCE {
+ ue-positioning-GANSS-additionalAssistanceDataRequest
+ UE-Positioning-GANSS-AdditionalAssistanceDataRequest-v860ext OPTIONAL
+}
+
+UE-Positioning-Error-vc50ext ::= SEQUENCE {
+ ue-positioning-GANSS-additionalAssistanceDataRequest
+ UE-Positioning-GANSS-AdditionalAssistanceDataRequest-vc50ext OPTIONAL
+}
+
+UE-Positioning-ErrorCause ::= ENUMERATED {
+ notEnoughOTDOA-Cells,
+ notEnoughGPS-Satellites,
+ assistanceDataMissing,
+ notAccomplishedGPS-TimingOfCellFrames,
+ undefinedError,
+ requestDeniedByUser,
+ notProcessedAndTimeout,
+ referenceCellNotServingCell }
+
+UE-Positioning-ErrorCause-r7 ::= ENUMERATED {
+ notEnoughOTDOA-Cells,
+ notEnoughGPS-Satellites,
+ assistanceDataMissing,
+ notAccomplishedGPS-TimingOfCellFrames,
+ undefinedError,
+ requestDeniedByUser,
+ notProcessedAndTimeout,
+ referenceCellNotServingCell,
+ notEnoughGANSS-Satellites,
+ notAccomplishedGANSS-TimingOfCellFrames,
+ spare6, spare5, spare4, spare3, spare2, spare1 }
+
+UE-Positioning-EventParam ::= SEQUENCE {
+ reportingAmount ReportingAmount,
+ reportFirstFix BOOLEAN,
+ measurementInterval UE-Positioning-MeasurementInterval,
+ eventSpecificInfo UE-Positioning-EventSpecificInfo
+}
+
+UE-Positioning-EventParam-r7 ::= SEQUENCE {
+ reportingAmount ReportingAmount,
+ reportFirstFix BOOLEAN,
+ measurementInterval UE-Positioning-MeasurementInterval,
+ eventSpecificInfo UE-Positioning-EventSpecificInfo-r7
+}
+
+UE-Positioning-EventParamList ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ UE-Positioning-EventParam
+
+UE-Positioning-EventParamList-r7 ::= SEQUENCE (SIZE (1..maxMeasEvent)) OF
+ UE-Positioning-EventParam-r7
+
+UE-Positioning-EventSpecificInfo ::= CHOICE {
+ e7a ThresholdPositionChange,
+ e7b ThresholdSFN-SFN-Change,
+ e7c ThresholdSFN-GPS-TOW
+}
+
+UE-Positioning-EventSpecificInfo-r7 ::= CHOICE {
+ e7a ThresholdPositionChange,
+ e7b ThresholdSFN-SFN-Change,
+ e7c ThresholdSFN-GPS-TOW-us,
+ e7d ThresholdSFN-GANSS-TOW
+}
+
+-- This IE, if included, shall contain exactly one of the optional elements
+UE-Positioning-GANSS-AddUTCModels ::= SEQUENCE {
+ utcModel1 UTCmodelSet1 OPTIONAL,
+ utcModel2 UTCmodelSet2 OPTIONAL,
+ utcModel3 UTCmodelSet3 OPTIONAL
+}
+
+-- This IE, if included, shall contain exactly one of the optional elements
+UE-Positioning-GANSS-AddUTCModels-r12 ::= SEQUENCE {
+ utcModel1 UTCmodelSet1 OPTIONAL,
+ utcModel2 UTCmodelSet2 OPTIONAL,
+ utcModel3 UTCmodelSet3 OPTIONAL,
+ utcModel4 UTCmodelSet4 OPTIONAL
+}
+
+UE-Positioning-GANSS-AddUTCModels-vc50ext ::= SEQUENCE {
+ utcModel4 UTCmodelSet4 OPTIONAL
+}
+
+UE-Positioning-GANSS-Almanac ::= SEQUENCE{
+ ganss-wk-number INTEGER (0..255),
+ alm-keplerianParameters ALM-keplerianParameters OPTIONAL
+}
+
+-- This IE, if included, shall contain exactly one of the optional elements
+UE-Positioning-GANSS-Almanac-v860ext ::= SEQUENCE {
+ alm-keplerianNAVAlmanac ALM-NAVKeplerianSet OPTIONAL,
+ alm-keplerianReducedAlmanac ALM-ReducedKeplerianSet OPTIONAL,
+ alm-keplerianMidiAlmanac ALM-MidiAlmanacSet OPTIONAL,
+ alm-keplerianGLONASS ALM-GlonassAlmanacSet OPTIONAL,
+ alm-ecefSBASAlmanac ALM-ECEFsbasAlmanacSet OPTIONAL
+}
+
+UE-Positioning-GANSS-Almanac-r8 ::= SEQUENCE{
+ ganss-wk-number INTEGER (0..255),
+ alm-keplerianParameters ALM-keplerianParameters OPTIONAL,
+ alm-keplerianNAVAlmanac ALM-NAVKeplerianSet OPTIONAL,
+ alm-keplerianReducedAlmanac ALM-ReducedKeplerianSet OPTIONAL,
+ alm-keplerianMidiAlmanac ALM-MidiAlmanacSet OPTIONAL,
+ alm-keplerianGLONASS ALM-GlonassAlmanacSet OPTIONAL,
+ alm-ecefSBASAlmanac ALM-ECEFsbasAlmanacSet OPTIONAL
+}
+
+UE-Positioning-GANSS-Almanac-va40ext ::= SEQUENCE {
+ complete-Almanac-Provided BOOLEAN OPTIONAL
+}
+
+UE-Positioning-GANSS-Almanac-r10 ::= SEQUENCE{
+ ganss-wk-number INTEGER (0..255),
+ complete-Almanac-Provided BOOLEAN OPTIONAL,
+ alm-keplerianParameters ALM-keplerianParameters OPTIONAL,
+ alm-keplerianNAVAlmanac ALM-NAVKeplerianSet OPTIONAL,
+ alm-keplerianReducedAlmanac ALM-ReducedKeplerianSet OPTIONAL,
+ alm-keplerianMidiAlmanac ALM-MidiAlmanacSet OPTIONAL,
+ alm-keplerianGLONASS ALM-GlonassAlmanacSet OPTIONAL,
+ alm-ecefSBASAlmanac ALM-ECEFsbasAlmanacSet OPTIONAL
+}
+
+UE-Positioning-GANSS-Almanac-r12 ::= SEQUENCE{
+ ganss-wk-number INTEGER (0..255),
+ complete-Almanac-Provided BOOLEAN OPTIONAL,
+ alm-keplerianParameters ALM-keplerianParameters OPTIONAL,
+ alm-keplerianNAVAlmanac ALM-NAVKeplerianSet OPTIONAL,
+ alm-keplerianReducedAlmanac ALM-ReducedKeplerianSet OPTIONAL,
+ alm-keplerianMidiAlmanac ALM-MidiAlmanacSet OPTIONAL,
+ alm-keplerianGLONASS ALM-GlonassAlmanacSet OPTIONAL,
+ alm-ecefSBASAlmanac ALM-ECEFsbasAlmanacSet OPTIONAL,
+ alm-keplerianBDSAlmanac ALM-BDSKeplerianSet OPTIONAL
+}
+
+UE-Positioning-GANSS-Almanac-vc50ext ::= SEQUENCE {
+ alm-keplerianBDSAlmanac ALM-BDSKeplerianSet OPTIONAL
+}
+
+UE-Positioning-GANSS-AdditionalAssistanceDataRequest ::= SEQUENCE {
+ ganssReferenceTime BOOLEAN,
+ ganssreferenceLocation BOOLEAN,
+ ganssIonosphericModel BOOLEAN,
+ ganssRequestedGenericAssistanceDataList GanssRequestedGenericAssistanceDataList
+}
+
+UE-Positioning-GANSS-AdditionalAssistanceDataRequest-v860ext ::= SEQUENCE {
+ ganssAddIonoModelReq BIT STRING (SIZE (2)) OPTIONAL,
+ ganssEOPreq ENUMERATED { true } OPTIONAL,
+ ganssRequestedGenericAssistanceDataList
+ GanssRequestedGenericAssistanceDataList-v860ext
+}
+
+UE-Positioning-GANSS-AdditionalAssistanceDataRequest-vc50ext ::= SEQUENCE {
+ ganssRequestedGenericAssistanceDataList
+ GanssRequestedGenericAssistanceDataList-vc50ext
+}
+
+UE-Positioning-GANSS-AddIonoModel ::= SEQUENCE {
+ dataID BIT STRING (SIZE (2)),
+ alpha-beta-parameters UE-Positioning-GPS-IonosphericModel
+}
+
+UE-Positioning-GANSS-AddNavigationModels ::= SEQUENCE {
+ non-broadcastIndication ENUMERATED { true } OPTIONAL,
+ ganssSatInfoNavList Ganss-Sat-Info-AddNavList
+}
+
+UE-Positioning-GANSS-AddNavigationModels-r12 ::= SEQUENCE {
+ non-broadcastIndication ENUMERATED { true } OPTIONAL,
+ ganssSatInfoNavList Ganss-Sat-Info-AddNavList-r12
+}
+
+UE-Positioning-GANSS-AddNavigationModels-vc50ext ::= SEQUENCE {
+ ganssSatInfoNavList Ganss-Sat-Info-AddNavList-vc50ext
+}
+
+UE-Positioning-GANSS-AssistanceData ::= SEQUENCE {
+ ue-positioning-GANSS-ReferenceTime UE-Positioning-GANSS-ReferenceTime OPTIONAL,
+ uePositioningGanssReferencePosition ReferenceLocationGANSS OPTIONAL,
+ uePositioningGanssIonosphericModel UE-Positioning-GANSS-IonosphericModel OPTIONAL,
+ ganssGenericDataList GANSSGenericDataList OPTIONAL
+}
+
+UE-Positioning-GANSS-AssistanceData-v860ext ::= SEQUENCE {
+ uePositioningGanssAddIonoModel UE-Positioning-GANSS-AddIonoModel OPTIONAL,
+ uePositioningGanssEarthOrientationPara UE-Positioning-GANSS-EarthOrientPara OPTIONAL,
+ ganssGenericDataList GANSSGenericDataList-v860ext OPTIONAL
+}
+
+UE-Positioning-GANSS-AssistanceData-r8 ::= SEQUENCE {
+ ue-positioning-GANSS-ReferenceTime UE-Positioning-GANSS-ReferenceTime OPTIONAL,
+ uePositioningGanssReferencePosition ReferenceLocationGANSS OPTIONAL,
+ uePositioningGanssIonosphericModel UE-Positioning-GANSS-IonosphericModel OPTIONAL,
+ uePositioningGanssAddIonoModel UE-Positioning-GANSS-AddIonoModel OPTIONAL,
+ uePositioningGanssEarthOrientationPara
+ UE-Positioning-GANSS-EarthOrientPara OPTIONAL,
+ ganssGenericDataList GANSSGenericDataList-r8 OPTIONAL
+}
+
+UE-Positioning-GANSS-AssistanceData-r9 ::= SEQUENCE {
+ ue-positioning-GANSS-ReferenceTime UE-Positioning-GANSS-ReferenceTime OPTIONAL,
+ uePositioningGanssReferencePosition ReferenceLocationGANSS OPTIONAL,
+ uePositioningGanssIonosphericModel UE-Positioning-GANSS-IonosphericModel OPTIONAL,
+ uePositioningGanssAddIonoModel UE-Positioning-GANSS-AddIonoModel OPTIONAL,
+ uePositioningGanssEarthOrientationPara
+ UE-Positioning-GANSS-EarthOrientPara OPTIONAL,
+ ganssGenericDataList GANSSGenericDataList-r9 OPTIONAL
+}
+
+UE-Positioning-GANSS-AssistanceData-v920ext ::= SEQUENCE {
+ ganssGenericDataList GANSSGenericDataList-v920ext OPTIONAL
+}
+
+UE-Positioning-GANSS-AssistanceData-va40ext ::= SEQUENCE {
+ ue-positioning-GANSS-ReferenceTime UE-Positioning-GANSS-ReferenceTime-va40ext OPTIONAL,
+ ganssGenericDataList GANSSGenericDataList-va40ext OPTIONAL
+}
+
+UE-Positioning-GANSS-AssistanceData-vc50ext ::= SEQUENCE {
+ ganssGenericDataList GANSSGenericDataList-vc50ext OPTIONAL
+}
+
+UE-Positioning-GANSS-AssistanceData-r10 ::= SEQUENCE {
+ ue-positioning-GANSS-ReferenceTime UE-Positioning-GANSS-ReferenceTime-r10 OPTIONAL,
+ uePositioningGanssReferencePosition ReferenceLocationGANSS OPTIONAL,
+ uePositioningGanssIonosphericModel UE-Positioning-GANSS-IonosphericModel OPTIONAL,
+ uePositioningGanssAddIonoModel UE-Positioning-GANSS-AddIonoModel OPTIONAL,
+ uePositioningGanssEarthOrientationPara
+ UE-Positioning-GANSS-EarthOrientPara OPTIONAL,
+ ganssGenericDataList GANSSGenericDataList-r10 OPTIONAL
+}
+
+UE-Positioning-GANSS-AssistanceData-r12 ::= SEQUENCE {
+ ue-positioning-GANSS-ReferenceTime UE-Positioning-GANSS-ReferenceTime-r10 OPTIONAL,
+ uePositioningGanssReferencePosition ReferenceLocationGANSS OPTIONAL,
+ uePositioningGanssIonosphericModel UE-Positioning-GANSS-IonosphericModel OPTIONAL,
+ uePositioningGanssAddIonoModel UE-Positioning-GANSS-AddIonoModel OPTIONAL,
+ uePositioningGanssEarthOrientationPara UE-Positioning-GANSS-EarthOrientPara OPTIONAL,
+ ganssGenericDataList GANSSGenericDataList-r12 OPTIONAL
+}
+
+UE-Positioning-GANSS-AuxiliaryInfo ::= CHOICE {
+ -- This choice may only be present if GANSS ID indicates Modernized GPS
+ ganssID1 AuxInfoGANSS-ID1,
+ -- This choice may only be present if GANSS ID indicates GLONASS
+ ganssID3 AuxInfoGANSS-ID3
+}
+
+UE-Positioning-GANSS-ClockModel ::= SEQUENCE {
+ satellite-clock-modelList Satellite-clock-modelList
+}
+
+-- This IE, if included, shall contain exactly one of the optional elements
+UE-Positioning-GANSS-AddClockModels ::= SEQUENCE {
+ navClockModel NAVclockModel OPTIONAL,
+ cnavClockModel CNAVclockModel OPTIONAL,
+ glonassClockModel GLONASSclockModel OPTIONAL,
+ sbasClockModel SBASclockModel OPTIONAL
+}
+
+-- This IE, if included, shall contain exactly one of the optional elements
+UE-Positioning-GANSS-AddClockModels-r12 ::= SEQUENCE {
+ navClockModel NAVclockModel OPTIONAL,
+ cnavClockModel CNAVclockModel OPTIONAL,
+ glonassClockModel GLONASSclockModel OPTIONAL,
+ sbasClockModel SBASclockModel OPTIONAL,
+ bdsClockModel BDSclockModel OPTIONAL
+}
+
+UE-Positioning-GANSS-AddClockModels-vc50ext ::= SEQUENCE {
+ bdsClockModel BDSclockModel OPTIONAL
+}
+
+-- This IE, if included, shall contain exactly one of the optional elements
+UE-Positioning-GANSS-AddOrbitModels ::= SEQUENCE {
+ navKeplerianSet NavModel-NAVKeplerianSet OPTIONAL,
+ cnavKeplerianSet NavModel-CNAVKeplerianSet OPTIONAL,
+ glonassECEF NavModel-GLONASSecef OPTIONAL,
+ sbasECEF NavModel-SBASecef OPTIONAL
+}
+
+UE-Positioning-GANSS-AddOrbitModels-r12 ::= SEQUENCE {
+ navKeplerianSet NavModel-NAVKeplerianSet OPTIONAL,
+ cnavKeplerianSet NavModel-CNAVKeplerianSet OPTIONAL,
+ glonassECEF NavModel-GLONASSecef OPTIONAL,
+ sbasECEF NavModel-SBASecef OPTIONAL,
+ bdsKeplerianSet NavModel-BDSKeplerianSet OPTIONAL
+}
+
+UE-Positioning-GANSS-AddOrbitModels-vc50ext ::= SEQUENCE {
+ bdsKeplerianSet NavModel-BDSKeplerianSet OPTIONAL
+}
+
+UE-Positioning-GANSS-Data ::= SEQUENCE {
+ ganssDataCipheringInfo UE-Positioning-CipherParameters OPTIONAL,
+ ganssDecipheringKeys GANSSDecipheringKeys OPTIONAL,
+ uePositioningGanssReferenceTime UE-Positioning-GANSS-ReferenceTime OPTIONAL,
+ uePositioningGanssReferencePosition ReferenceLocationGANSS OPTIONAL,
+ uePositioningGanssIonosphericModel UE-Positioning-GANSS-IonosphericModel OPTIONAL,
+ ganssGenericDataList GANSSGenericDataList OPTIONAL
+}
+
+UE-Positioning-GANSS-Data-Bit-Assistance ::= SEQUENCE {
+ ganss-tod INTEGER (0..59),
+ dataBitAssistanceList DataBitAssistanceList
+}
+
+UE-Positioning-GANSS-EarthOrientPara ::= SEQUENCE {
+ teop BIT STRING (SIZE (16)),
+ pmX BIT STRING (SIZE (21)),
+ pmXdot BIT STRING (SIZE (15)),
+ pmY BIT STRING (SIZE (21)),
+ pmYdot BIT STRING (SIZE (15)),
+ deltaUT1 BIT STRING (SIZE (31)),
+ deltaUT1dot BIT STRING (SIZE (19))
+}
+
+UE-Positioning-GANSS-IonosphericModel ::= SEQUENCE {
+ alpha-zero-ionos BIT STRING (SIZE (11)),
+ alpha-one-ionos BIT STRING (SIZE (11)),
+ alpha-two-ionos BIT STRING (SIZE (14)),
+ gANSS-storm-flags GANSS-Storm-Flag OPTIONAL
+}
+
+UE-Positioning-BDS-IonoGridModel ::= SEQUENCE {
+-- Actual value bds-RefTime = ((30..3600) / 30) - 1.
+ bds-RefTime INTEGER (0..119),
+ bds-IGPInfoList BDS-IGPInfoList
+}
+
+UE-Positioning-GANSS-MeasuredResults ::= SEQUENCE {
+ referenceTime CHOICE {
+ utran-GANSSReferenceTimeResult UTRAN-GANSSReferenceTime,
+ ganssReferenceTimeOnly GANSSReferenceTimeOnly
+ },
+ ganssGenericMeasurementInfo GANSSGenericMeasurementInfo
+}
+
+UE-Positioning-GANSS-MeasuredResults-v860ext ::= SEQUENCE {
+ ganssGenericMeasurementInfo GANSSGenericMeasurementInfo-v860ext
+}
+
+UE-Positioning-GANSS-NavigationModel ::= SEQUENCE {
+ non-broadcastIndication ENUMERATED { true } OPTIONAL,
+ ganssSatInfoNavList Ganss-Sat-Info-NavList
+}
+
+UE-Positioning-GANSS-OrbitModel ::= SEQUENCE {
+ keplerianParameters KeplerianParameters OPTIONAL
+}
+
+UE-Positioning-GANSS-RealTimeIntegrity ::= SEQUENCE (SIZE (1..maxGANSSSat)) OF SEQUENCE {
+ bad-ganss-satId INTEGER (0..63),
+ bad-ganss-signalId BIT STRING (SIZE (8)) OPTIONAL
+}
+
+UE-Positioning-GANSS-ReferenceMeasurementInfo ::= SEQUENCE {
+ ganssSignalId GANSS-Signal-Id OPTIONAL,
+ satelliteInformationList GANSSSatelliteInformationList
+}
+
+UE-Positioning-GANSS-ReferenceMeasurementInfo-va40ext ::= SEQUENCE {
+ satelliteInformationList GANSSSatelliteInformationList-va40ext
+}
+
+UE-Positioning-GANSS-ReferenceMeasurementInfo-r10 ::= SEQUENCE {
+ ganssSignalId GANSS-Signal-Id OPTIONAL,
+ satelliteInformationList GANSSSatelliteInformationList-r10
+}
+
+UE-Positioning-GANSS-ReferenceMeasurementInfo-vc50ext ::= SEQUENCE {
+ confidence INTEGER (0..100) OPTIONAL,
+ satelliteInformationList GANSSSatelliteInformationList-vc50ext
+}
+
+UE-Positioning-GANSS-ReferenceMeasurementInfo-r12 ::= SEQUENCE {
+ ganssSignalId GANSS-Signal-Id OPTIONAL,
+ confidence INTEGER (0..100) OPTIONAL,
+ satelliteInformationList GANSSSatelliteInformationList-r12
+}
+
+UE-Positioning-GANSS-ReferenceTime ::= SEQUENCE {
+ ganssDay INTEGER (0..8191) OPTIONAL,
+ ganssTod INTEGER (0..86399),
+ ganssTodUncertainty INTEGER (0..127) OPTIONAL,
+ ganssTimeId INTEGER (0..7) OPTIONAL,
+ utran-ganssreferenceTime SEQUENCE {
+ timingOfCellFrames INTEGER (0..3999999),
+ mode CHOICE {
+ fdd SEQUENCE {
+ primary-CPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE {
+ cellParameters CellParametersID
+ }
+ },
+ referenceSfn INTEGER (0..4095)
+ } OPTIONAL,
+ tutran-ganss-driftRate Tutran-Ganss-DriftRate OPTIONAL
+}
+
+UE-Positioning-GANSS-ReferenceTime-va40ext ::= SEQUENCE {
+ ganss-Day-Cycle-Number INTEGER (0..7) OPTIONAL
+}
+
+UE-Positioning-GANSS-ReferenceTime-r10 ::= SEQUENCE {
+ ganssDay INTEGER (0..8191) OPTIONAL,
+ ganss-Day-Cycle-Number INTEGER (0..7) OPTIONAL,
+ ganssTod INTEGER (0..86399),
+ ganssTodUncertainty INTEGER (0..127) OPTIONAL,
+ ganssTimeId INTEGER (0..7) OPTIONAL,
+ utran-ganssreferenceTime SEQUENCE {
+ timingOfCellFrames INTEGER (0..3999999),
+ mode CHOICE {
+ fdd SEQUENCE {
+ primary-CPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE {
+ cellParameters CellParametersID
+ }
+ },
+ referenceSfn INTEGER (0..4095)
+ } OPTIONAL,
+ tutran-ganss-driftRate Tutran-Ganss-DriftRate OPTIONAL
+}
+
+UE-Positioning-GANSS-SBAS-ID ::= ENUMERATED {
+ waas,
+ egnos,
+ msas,
+ gagan,
+ spare4,
+ spare3,
+ spare2,
+ spare1 }
+
+UE-Positioning-GANSS-TimeModel ::= SEQUENCE {
+ ganss-timeModelreferenceTime INTEGER (0..37799), -- scale factor 16s
+ ganss-t-a0 INTEGER (-2147483648..2147483647), -- scale factor 2-35
+ -- 'ganss-t-al' scale factor 2-51
+ ganss-t-a1 INTEGER (-8388608..8388607) OPTIONAL,
+ -- 'ganss-t-a2' scale factor 2-68
+ ganss-t-a2 INTEGER (-64..63) OPTIONAL,
+ gnss-to-id ENUMERATED { gps, galileo, qzss,
+ glonass, spare4, spare3, spare2, spare1 },
+ ganss-wk-number INTEGER (0..8191) OPTIONAL
+}
+
+UE-Positioning-GANSS-TimeModel-va40ext ::= SEQUENCE {
+ deltaT INTEGER (-128..127) OPTIONAL
+}
+
+UE-Positioning-GANSS-TimeModel-r10 ::= SEQUENCE {
+ ganss-timeModelreferenceTime INTEGER (0..37799), -- scale factor 16s
+ ganss-t-a0 INTEGER (-2147483648..2147483647), -- scale factor 2-35
+ -- 'ganss-t-al' scale factor 2-51
+ ganss-t-a1 INTEGER (-8388608..8388607) OPTIONAL,
+ -- 'ganss-t-a2' scale factor 2-68
+ ganss-t-a2 INTEGER (-64..63) OPTIONAL,
+ gnss-to-id ENUMERATED { gps, galileo, qzss,
+ glonass, bds, spare3, spare2, spare1 },
+ ganss-wk-number INTEGER (0..8191) OPTIONAL,
+ deltaT INTEGER (-128..127) OPTIONAL
+}
+
+UE-Positioning-GANSS-TimeModels ::= SEQUENCE (SIZE (1..maxGANSS-1)) OF
+ UE-Positioning-GANSS-TimeModel
+
+UE-Positioning-GANSS-TimeModels-va40ext ::= SEQUENCE (SIZE (1..maxGANSS-1)) OF
+ UE-Positioning-GANSS-TimeModel-va40ext
+
+UE-Positioning-GANSS-UTCModel ::= SEQUENCE {
+ a-one-utc BIT STRING (SIZE (24)),
+ a-zero-utc BIT STRING (SIZE (32)),
+ t-ot-utc BIT STRING (SIZE (8)),
+ delta-t-ls-utc BIT STRING (SIZE (8)),
+ w-n-t-utc BIT STRING (SIZE (8)),
+ w-n-lsf-utc BIT STRING (SIZE (8)),
+ dn-utc BIT STRING (SIZE (8)),
+ delta-t-lsf-utc BIT STRING (SIZE (8))
+}
+
+UE-Positioning-GPS-AcquisitionAssistance ::= SEQUENCE {
+ gps-ReferenceTime GPS-TOW-1msec,
+ utran-GPSReferenceTime UTRAN-GPSReferenceTime OPTIONAL,
+ satelliteInformationList AcquisitionSatInfoList
+}
+
+UE-Positioning-GPS-AcquisitionAssistance-v770ext ::= SEQUENCE {
+ ue-Positioning-GPS-ReferenceTimeUncertainty
+ UE-Positioning-GPS-ReferenceTimeUncertainty OPTIONAL
+}
+
+UE-Positioning-GPS-AcquisitionAssistance-r7 ::= SEQUENCE {
+ gps-ReferenceTime GPS-TOW-1msec,
+ utran-GPSReferenceTime UTRAN-GPSReferenceTime OPTIONAL,
+ ue-Positioning-GPS-ReferenceTimeUncertainty
+ UE-Positioning-GPS-ReferenceTimeUncertainty OPTIONAL,
+ satelliteInformationList AcquisitionSatInfoList
+}
+
+UE-Positioning-GPS-AcquisitionAssistance-va40ext ::= SEQUENCE {
+ satelliteInformationList AcquisitionSatInfoList-va40ext
+}
+
+UE-Positioning-GPS-AcquisitionAssistance-r10 ::= SEQUENCE {
+ gps-ReferenceTime GPS-TOW-1msec,
+ utran-GPSReferenceTime UTRAN-GPSReferenceTime OPTIONAL,
+ ue-Positioning-GPS-ReferenceTimeUncertainty
+ UE-Positioning-GPS-ReferenceTimeUncertainty
+ OPTIONAL,
+ satelliteInformationList AcquisitionSatInfoList-r10
+}
+
+UE-Positioning-GPS-AcquisitionAssistance-vc50ext ::= SEQUENCE {
+ confidence INTEGER (0..100) OPTIONAL,
+ satelliteInformationList AcquisitionSatInfoList-vc50ext
+}
+
+UE-Positioning-GPS-AcquisitionAssistance-r12 ::= SEQUENCE {
+ gps-ReferenceTime GPS-TOW-1msec,
+ utran-GPSReferenceTime UTRAN-GPSReferenceTime OPTIONAL,
+ ue-Positioning-GPS-ReferenceTimeUncertainty
+ UE-Positioning-GPS-ReferenceTimeUncertainty
+ OPTIONAL,
+ confidence INTEGER (0..100) OPTIONAL,
+ satelliteInformationList AcquisitionSatInfoList-r12
+}
+
+UE-Positioning-GPS-AdditionalAssistanceDataRequest ::= SEQUENCE {
+ almanacRequest BOOLEAN,
+ utcModelRequest BOOLEAN,
+ ionosphericModelRequest BOOLEAN,
+ navigationModelRequest BOOLEAN,
+ dgpsCorrectionsRequest BOOLEAN,
+ referenceLocationRequest BOOLEAN,
+ referenceTimeRequest BOOLEAN,
+ aquisitionAssistanceRequest BOOLEAN,
+ realTimeIntegrityRequest BOOLEAN,
+ navModelAddDataRequest UE-Positioning-GPS-NavModelAddDataReq OPTIONAL
+}
+
+UE-Positioning-GPS-Almanac ::= SEQUENCE {
+ wn-a BIT STRING (SIZE (8)),
+ almanacSatInfoList AlmanacSatInfoList,
+ sv-GlobalHealth BIT STRING (SIZE (364)) OPTIONAL
+}
+
+UE-Positioning-GPS-Almanac-va40ext ::= SEQUENCE {
+ complete-Almanac-Provided BOOLEAN OPTIONAL
+}
+
+UE-Positioning-GPS-Almanac-r10 ::= SEQUENCE {
+ wn-a BIT STRING (SIZE (8)),
+ complete-Almanac-Provided BOOLEAN OPTIONAL,
+ almanacSatInfoList AlmanacSatInfoList,
+ sv-GlobalHealth BIT STRING (SIZE (364)) OPTIONAL
+}
+
+UE-Positioning-GPS-AssistanceData ::= SEQUENCE {
+ ue-positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime OPTIONAL,
+ ue-positioning-GPS-ReferenceLocation ReferenceLocation OPTIONAL,
+ ue-positioning-GPS-DGPS-Corrections UE-Positioning-GPS-DGPS-Corrections OPTIONAL,
+ ue-positioning-GPS-NavigationModel UE-Positioning-GPS-NavigationModel OPTIONAL,
+ ue-positioning-GPS-IonosphericModel UE-Positioning-GPS-IonosphericModel OPTIONAL,
+ ue-positioning-GPS-UTC-Model UE-Positioning-GPS-UTC-Model OPTIONAL,
+ ue-positioning-GPS-Almanac UE-Positioning-GPS-Almanac OPTIONAL,
+ ue-positioning-GPS-AcquisitionAssistance
+ UE-Positioning-GPS-AcquisitionAssistance OPTIONAL,
+ ue-positioning-GPS-Real-timeIntegrity BadSatList OPTIONAL,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy UE-Positioning-GPS-ReferenceCellInfo OPTIONAL
+}
+
+UE-Positioning-GPS-AssistanceData-v770ext ::= SEQUENCE {
+ ue-positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime-v770ext OPTIONAL,
+ ue-positioning-GPS-AcquisitionAssistance
+ UE-Positioning-GPS-AcquisitionAssistance-v770ext OPTIONAL
+}
+
+UE-Positioning-GPS-AssistanceData-r7 ::= SEQUENCE {
+ ue-positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime-r7 OPTIONAL,
+ ue-positioning-GPS-ReferenceLocation ReferenceLocation OPTIONAL,
+ ue-positioning-GPS-DGPS-Corrections UE-Positioning-GPS-DGPS-Corrections OPTIONAL,
+ ue-positioning-GPS-NavigationModel UE-Positioning-GPS-NavigationModel OPTIONAL,
+ ue-positioning-GPS-IonosphericModel UE-Positioning-GPS-IonosphericModel OPTIONAL,
+ ue-positioning-GPS-UTC-Model UE-Positioning-GPS-UTC-Model OPTIONAL,
+ ue-positioning-GPS-Almanac UE-Positioning-GPS-Almanac OPTIONAL,
+ ue-positioning-GPS-AcquisitionAssistance
+ UE-Positioning-GPS-AcquisitionAssistance-r7 OPTIONAL,
+ ue-positioning-GPS-Real-timeIntegrity BadSatList OPTIONAL
+}
+
+UE-Positioning-GPS-AssistanceData-r9 ::= SEQUENCE {
+ ue-positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime-r7 OPTIONAL,
+ ue-positioning-GPS-ReferenceLocation ReferenceLocation OPTIONAL,
+ ue-positioning-GPS-DGPS-Corrections UE-Positioning-GPS-DGPS-Corrections-r9 OPTIONAL,
+ ue-positioning-GPS-NavigationModel UE-Positioning-GPS-NavigationModel OPTIONAL,
+ ue-positioning-GPS-IonosphericModel UE-Positioning-GPS-IonosphericModel OPTIONAL,
+ ue-positioning-GPS-UTC-Model UE-Positioning-GPS-UTC-Model OPTIONAL,
+ ue-positioning-GPS-Almanac UE-Positioning-GPS-Almanac OPTIONAL,
+ ue-positioning-GPS-AcquisitionAssistance
+ UE-Positioning-GPS-AcquisitionAssistance-r7 OPTIONAL,
+ ue-positioning-GPS-Real-timeIntegrity BadSatList OPTIONAL
+}
+
+UE-Positioning-GPS-AssistanceData-v920ext ::= SEQUENCE {
+ ue-positioning-GPS-DGPS-Corrections UE-Positioning-GPS-DGPS-Corrections-v920ext OPTIONAL
+}
+
+UE-Positioning-GPS-AssistanceData-va40ext ::= SEQUENCE {
+ ue-positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime-va40ext OPTIONAL,
+ ue-positioning-GPS-Almanac UE-Positioning-GPS-Almanac-va40ext OPTIONAL,
+ ue-positioning-GPS-AcquisitionAssistance
+ UE-Positioning-GPS-AcquisitionAssistance-va40ext
+ OPTIONAL
+}
+
+UE-Positioning-GPS-AssistanceData-r10 ::= SEQUENCE {
+ ue-positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime-r10 OPTIONAL,
+ ue-positioning-GPS-ReferenceLocation ReferenceLocation OPTIONAL,
+ ue-positioning-GPS-DGPS-Corrections UE-Positioning-GPS-DGPS-Corrections-r9 OPTIONAL,
+ ue-positioning-GPS-NavigationModel UE-Positioning-GPS-NavigationModel OPTIONAL,
+ ue-positioning-GPS-IonosphericModel UE-Positioning-GPS-IonosphericModel OPTIONAL,
+ ue-positioning-GPS-UTC-Model UE-Positioning-GPS-UTC-Model OPTIONAL,
+ ue-positioning-GPS-Almanac UE-Positioning-GPS-Almanac-r10 OPTIONAL,
+ ue-positioning-GPS-AcquisitionAssistance
+ UE-Positioning-GPS-AcquisitionAssistance-r10
+ OPTIONAL,
+ ue-positioning-GPS-Real-timeIntegrity BadSatList OPTIONAL
+}
+
+UE-Positioning-GPS-AssistanceData-vc50ext ::= SEQUENCE {
+ ue-positioning-GPS-AcquisitionAssistance
+ UE-Positioning-GPS-AcquisitionAssistance-vc50ext
+ OPTIONAL
+}
+
+UE-Positioning-GPS-AssistanceData-r12 ::= SEQUENCE {
+ ue-positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime-r10 OPTIONAL,
+ ue-positioning-GPS-ReferenceLocation ReferenceLocation OPTIONAL,
+ ue-positioning-GPS-DGPS-Corrections UE-Positioning-GPS-DGPS-Corrections-r9 OPTIONAL,
+ ue-positioning-GPS-NavigationModel UE-Positioning-GPS-NavigationModel OPTIONAL,
+ ue-positioning-GPS-IonosphericModel UE-Positioning-GPS-IonosphericModel OPTIONAL,
+ ue-positioning-GPS-UTC-Model UE-Positioning-GPS-UTC-Model OPTIONAL,
+ ue-positioning-GPS-Almanac UE-Positioning-GPS-Almanac-r10 OPTIONAL,
+ ue-positioning-GPS-AcquisitionAssistance
+ UE-Positioning-GPS-AcquisitionAssistance-r12
+ OPTIONAL,
+ ue-positioning-GPS-Real-timeIntegrity BadSatList OPTIONAL
+}
+
+UE-Positioning-GPS-DGPS-Corrections ::= SEQUENCE {
+ gps-TOW GPS-TOW-1sec,
+ statusHealth DiffCorrectionStatus,
+ dgps-CorrectionSatInfoList DGPS-CorrectionSatInfoList
+}
+
+UE-Positioning-GPS-DGPS-Corrections-r9 ::= SEQUENCE {
+ gps-TOW GPS-TOW-1sec,
+ statusHealth DiffCorrectionStatus,
+ dgps-CorrectionSatInfoList DGPS-CorrectionSatInfoList-r9
+}
+
+UE-Positioning-GPS-DGPS-Corrections-v920ext ::= SEQUENCE {
+ dgps-CorrectionSatInfoList DGPS-CorrectionSatInfoList-v920ext
+}
+
+UE-Positioning-GPS-IonosphericModel ::= SEQUENCE {
+ alpha0 BIT STRING (SIZE (8)),
+ alpha1 BIT STRING (SIZE (8)),
+ alpha2 BIT STRING (SIZE (8)),
+ alpha3 BIT STRING (SIZE (8)),
+ beta0 BIT STRING (SIZE (8)),
+ beta1 BIT STRING (SIZE (8)),
+ beta2 BIT STRING (SIZE (8)),
+ beta3 BIT STRING (SIZE (8))
+}
+
+UE-Positioning-GPS-MeasurementResults ::= SEQUENCE {
+ referenceTime CHOICE {
+ utran-GPSReferenceTimeResult UTRAN-GPSReferenceTimeResult,
+ gps-ReferenceTimeOnly GPS-TOW-1msec
+ },
+ gps-MeasurementParamList GPS-MeasurementParamList
+}
+
+UE-Positioning-GPS-MeasurementResults-v770ext ::= SEQUENCE {
+ ue-Positioning-GPS-ReferenceTimeUncertainty
+ UE-Positioning-GPS-ReferenceTimeUncertainty OPTIONAL
+}
+
+UE-Positioning-GPS-NavigationModel ::= SEQUENCE {
+ navigationModelSatInfoList NavigationModelSatInfoList
+}
+
+UE-Positioning-GPS-NavModelAddDataReq ::= SEQUENCE {
+ gps-Week INTEGER (0..1023),
+ -- SPARE: gps-Toe, Max = 167
+ -- Values above Max are spare
+ gps-Toe INTEGER (0..255),
+ -- SPARE: tToeLimit, Max = 10
+ -- Values above Max are spare
+ tToeLimit INTEGER (0..15),
+ satDataList SatDataList
+}
+
+UE-Positioning-GPS-ReferenceCellInfo ::= SEQUENCE{
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info
+ },
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID
+ }
+ }
+}
+
+UE-Positioning-GPS-ReferenceTime ::= SEQUENCE {
+ gps-Week INTEGER (0..1023),
+ gps-tow-1msec GPS-TOW-1msec,
+ utran-GPSReferenceTime UTRAN-GPSReferenceTime OPTIONAL,
+ sfn-tow-Uncertainty SFN-TOW-Uncertainty OPTIONAL,
+ utran-GPS-DriftRate UTRAN-GPS-DriftRate OPTIONAL,
+ gps-TOW-AssistList GPS-TOW-AssistList OPTIONAL
+}
+
+UE-Positioning-GPS-ReferenceTime-v770ext ::= SEQUENCE {
+ ue-Positioning-GPS-ReferenceTimeUncertainty
+ UE-Positioning-GPS-ReferenceTimeUncertainty OPTIONAL
+}
+
+UE-Positioning-GPS-ReferenceTime-r7 ::= SEQUENCE {
+ gps-Week INTEGER (0..1023),
+ gps-tow-1msec GPS-TOW-1msec,
+ utran-GPSReferenceTime UTRAN-GPSReferenceTime OPTIONAL,
+ ue-Positioning-GPS-ReferenceTimeUncertainty
+ UE-Positioning-GPS-ReferenceTimeUncertainty OPTIONAL,
+ sfn-tow-Uncertainty SFN-TOW-Uncertainty OPTIONAL,
+ utran-GPS-DriftRate UTRAN-GPS-DriftRate OPTIONAL,
+ gps-TOW-AssistList GPS-TOW-AssistList OPTIONAL
+}
+
+UE-Positioning-GPS-ReferenceTime-va40ext ::= SEQUENCE {
+ gps-Week-Cycle-Number INTEGER (0..7) OPTIONAL
+}
+
+UE-Positioning-GPS-ReferenceTime-r10 ::= SEQUENCE {
+ gps-Week INTEGER (0..1023),
+ gps-Week-Cycle-Number INTEGER (0..7) OPTIONAL,
+ gps-tow-1msec GPS-TOW-1msec,
+ utran-GPSReferenceTime UTRAN-GPSReferenceTime OPTIONAL,
+ ue-Positioning-GPS-ReferenceTimeUncertainty
+ UE-Positioning-GPS-ReferenceTimeUncertainty
+ OPTIONAL,
+ sfn-tow-Uncertainty SFN-TOW-Uncertainty OPTIONAL,
+ utran-GPS-DriftRate UTRAN-GPS-DriftRate OPTIONAL,
+ gps-TOW-AssistList GPS-TOW-AssistList OPTIONAL
+}
+
+UE-Positioning-GPS-ReferenceTimeUncertainty ::= INTEGER (0..127)
+
+UE-Positioning-GPS-UTC-Model ::= SEQUENCE {
+ a1 BIT STRING (SIZE (24)),
+ a0 BIT STRING (SIZE (32)),
+ t-ot BIT STRING (SIZE (8)),
+ wn-t BIT STRING (SIZE (8)),
+ delta-t-LS BIT STRING (SIZE (8)),
+ wn-lsf BIT STRING (SIZE (8)),
+ dn BIT STRING (SIZE (8)),
+ delta-t-LSF BIT STRING (SIZE (8))
+}
+
+UE-Positioning-IPDL-Parameters ::= SEQUENCE {
+ ip-Spacing IP-Spacing,
+ ip-Length IP-Length,
+ ip-Offset INTEGER (0..9),
+ seed INTEGER (0..63),
+ burstModeParameters BurstModeParameters OPTIONAL
+}
+
+UE-Positioning-IPDL-Parameters-r4 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ip-Spacing IP-Spacing,
+ ip-Length IP-Length,
+ ip-Offset INTEGER (0..9),
+ seed INTEGER (0..63)
+ },
+ tdd SEQUENCE {
+ ip-Spacing-TDD IP-Spacing-TDD,
+ ip-slot INTEGER (0..14),
+ ip-Start INTEGER (0..4095),
+ ip-PCCPCG IP-PCCPCH-r4 OPTIONAL
+ }
+ },
+ burstModeParameters BurstModeParameters OPTIONAL
+}
+
+UE-Positioning-IPDL-Parameters-TDD-r4-ext ::= SEQUENCE {
+ ip-Spacing IP-Spacing-TDD,
+ ip-slot INTEGER (0..14),
+ ip-Start INTEGER (0..4095),
+ ip-PCCPCG IP-PCCPCH-r4 OPTIONAL,
+ burstModeParameters BurstModeParameters
+}
+
+UE-Positioning-MeasuredResults ::= SEQUENCE {
+ ue-positioning-OTDOA-Measurement UE-Positioning-OTDOA-Measurement OPTIONAL,
+ -- Extended 'ue-positioning-PositionEstimateInfo' information may be provided using IE
+ -- 'UE-Positioning-PositionEstimateInfo-v770ext' in IE 'UE-Positioning-MeasuredResults-v770ext'.
+ ue-positioning-PositionEstimateInfo UE-Positioning-PositionEstimateInfo OPTIONAL,
+ ue-positioning-GPS-Measurement UE-Positioning-GPS-MeasurementResults OPTIONAL,
+ -- The 'ue-positioning-Error' information may be provided using IE 'UE-Positioning-Error-r7' in
+ -- IE 'UE-Positioning-MeasuredResults-v770ext'.
+ -- If IE 'UE-Positioning-Error-r7' is present, the corresponding IE 'UE-Positioning-Error' shall
+ -- be excluded.
+ ue-positioning-Error UE-Positioning-Error OPTIONAL
+}
+
+UE-Positioning-MeasuredResults-v770ext ::= SEQUENCE {
+ ue-positioning-PositionEstimateInfo UE-Positioning-PositionEstimateInfo-v770ext OPTIONAL,
+ ue-positioning-GPS-Measurement UE-Positioning-GPS-MeasurementResults-v770ext
+ OPTIONAL,
+ ue-positioning-Error UE-Positioning-Error-r7 OPTIONAL,
+ ue-positioning-Ganss-MeasuredResults UE-Positioning-GANSS-MeasuredResults OPTIONAL
+}
+
+UE-Positioning-MeasuredResults-v390ext ::= SEQUENCE {
+ ue-Positioning-OTDOA-Measurement-v390ext UE-Positioning-OTDOA-Measurement-v390ext
+}
+
+UE-Positioning-MeasuredResults-v860ext ::= SEQUENCE {
+ ue-positioning-Error UE-Positioning-Error-v860ext OPTIONAL,
+ ue-positioning-Ganss-MeasurementResults UE-Positioning-GANSS-MeasuredResults-v860ext OPTIONAL
+}
+
+UE-Positioning-MeasuredResults-vc50ext ::= SEQUENCE {
+ ue-positioning-Error UE-Positioning-Error-vc50ext OPTIONAL
+}
+
+UE-Positioning-MeasuredResults-vd20ext ::= SEQUENCE {
+ ue-positioning-AddPos-MeasurementResults UE-Positioning-AddPos-MeasuredResults OPTIONAL,
+ ue-positioning-PositionEstimateInfo UE-Positioning-PositionEstimateInfo-vd20ext
+ OPTIONAL
+}
+
+UE-Positioning-Measurement ::= SEQUENCE {
+ ue-positioning-ReportingQuantity UE-Positioning-ReportingQuantity,
+ reportCriteria UE-Positioning-ReportCriteria,
+ ue-positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData OPTIONAL,
+ ue-positioning-GPS-AssistanceData UE-Positioning-GPS-AssistanceData OPTIONAL
+}
+
+UE-Positioning-Measurement-v390ext ::= SEQUENCE {
+ ue-positioning-ReportingQuantity-v390ext
+ UE-Positioning-ReportingQuantity-v390ext OPTIONAL,
+ measurementValidity MeasurementValidity OPTIONAL,
+ ue-positioning-OTDOA-AssistanceData-UEB UE-Positioning-OTDOA-AssistanceData-UEB OPTIONAL
+}
+
+UE-Positioning-Measurement-r4 ::= SEQUENCE {
+ ue-positioning-ReportingQuantity UE-Positioning-ReportingQuantity-r4,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria UE-Positioning-ReportCriteria,
+ ue-positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData-r4 OPTIONAL,
+ ue-positioning-GPS-AssistanceData UE-Positioning-GPS-AssistanceData OPTIONAL
+}
+
+UE-Positioning-Measurement-r7 ::= SEQUENCE {
+ ue-positioning-ReportingQuantity UE-Positioning-ReportingQuantity-r7,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria UE-Positioning-ReportCriteria-r7,
+ ue-positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData-r7 OPTIONAL,
+ ue-positioning-GPS-AssistanceData UE-Positioning-GPS-AssistanceData-r7 OPTIONAL,
+ ue-positioning-GANSS-AssistanceData UE-Positioning-GANSS-AssistanceData OPTIONAL
+}
+
+UE-Positioning-Measurement-r8 ::= SEQUENCE {
+ ue-positioning-ReportingQuantity UE-Positioning-ReportingQuantity-r8,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria UE-Positioning-ReportCriteria-r7,
+ ue-positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData-r7 OPTIONAL,
+ ue-positioning-GPS-AssistanceData UE-Positioning-GPS-AssistanceData-r7 OPTIONAL,
+ ue-positioning-GANSS-AssistanceData UE-Positioning-GANSS-AssistanceData-r8 OPTIONAL
+}
+
+UE-Positioning-Measurement-r9 ::= SEQUENCE {
+ ue-positioning-ReportingQuantity UE-Positioning-ReportingQuantity-r8,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria UE-Positioning-ReportCriteria-r7,
+ ue-positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData-r7 OPTIONAL,
+ ue-positioning-GPS-AssistanceData UE-Positioning-GPS-AssistanceData-r9 OPTIONAL,
+ ue-positioning-GANSS-AssistanceData UE-Positioning-GANSS-AssistanceData-r9 OPTIONAL
+}
+
+UE-Positioning-Measurement-r10 ::= SEQUENCE {
+ ue-positioning-ReportingQuantity UE-Positioning-ReportingQuantity-r8,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria UE-Positioning-ReportCriteria-r7,
+ ue-positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData-r7 OPTIONAL,
+ ue-positioning-GPS-AssistanceData UE-Positioning-GPS-AssistanceData-r10 OPTIONAL,
+ ue-positioning-GANSS-AssistanceData UE-Positioning-GANSS-AssistanceData-r10 OPTIONAL
+}
+
+UE-Positioning-Measurement-r12 ::= SEQUENCE {
+ ue-positioning-ReportingQuantity UE-Positioning-ReportingQuantity-r8,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria UE-Positioning-ReportCriteria-r7,
+ ue-positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData-r7 OPTIONAL,
+ ue-positioning-GPS-AssistanceData UE-Positioning-GPS-AssistanceData-r12 OPTIONAL,
+ ue-positioning-GANSS-AssistanceData UE-Positioning-GANSS-AssistanceData-r12 OPTIONAL
+}
+
+UE-Positioning-Measurement-r13 ::= SEQUENCE {
+ ue-positioning-ReportingQuantity UE-Positioning-ReportingQuantity-r13,
+ measurementValidity MeasurementValidity OPTIONAL,
+ reportCriteria UE-Positioning-ReportCriteria-r7,
+ ue-positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData-r7 OPTIONAL,
+ ue-positioning-GPS-AssistanceData UE-Positioning-GPS-AssistanceData-r12 OPTIONAL,
+ ue-positioning-GANSS-AssistanceData UE-Positioning-GANSS-AssistanceData-r12 OPTIONAL
+}
+
+UE-Positioning-MeasurementEventResults ::= CHOICE {
+ -- In case of 'event7a' reporting, if IE 'UE-Positioning-PositionEstimateInfo' is not needed,
+ -- CHOICE shall be set to 'additionalOrReplacedPosMeasEvent'and the 'event7a' shall be included
+ -- in IE 'UE-Positioning-MeasurementEventResults-v770ext'.
+ event7a UE-Positioning-PositionEstimateInfo,
+ event7b UE-Positioning-OTDOA-Measurement,
+ event7c UE-Positioning-GPS-MeasurementResults,
+ -- If CHOICE is set to 'additionalOrReplacedPosMeasEvent',
+ -- IE 'UE-Positioning-MeasurementEventResults-v770ext' shall be present.
+ additionalOrReplacedPosMeasEvent NULL
+}
+
+UE-Positioning-MeasurementEventResults-v770ext ::= CHOICE {
+ event7a UE-Positioning-PositionEstimateInfo-v770ext,
+ event7c UE-Positioning-GPS-MeasurementResults-v770ext,
+ event7d UE-Positioning-GANSS-MeasuredResults,
+ spare NULL
+}
+
+UE-Positioning-MeasurementEventResults-v860ext ::= CHOICE {
+ event7d UE-Positioning-GANSS-MeasuredResults-v860ext
+}
+
+UE-Positioning-MeasurementInterval ::= ENUMERATED {
+ e5, e15, e60, e300,
+ e900, e1800, e3600, e7200 }
+
+UE-Positioning-MethodType ::= ENUMERATED {
+ ue-Assisted,
+ ue-Based,
+ ue-BasedPreferred,
+ ue-AssistedPreferred }
+
+UE-Positioning-OTDOA-AssistanceData ::= SEQUENCE {
+ ue-positioning-OTDOA-ReferenceCellInfo
+ UE-Positioning-OTDOA-ReferenceCellInfo OPTIONAL,
+ ue-positioning-OTDOA-NeighbourCellList
+ UE-Positioning-OTDOA-NeighbourCellList OPTIONAL
+}
+
+UE-Positioning-OTDOA-AssistanceData-r4 ::= SEQUENCE {
+ ue-positioning-OTDOA-ReferenceCellInfo
+ UE-Positioning-OTDOA-ReferenceCellInfo-r4 OPTIONAL,
+ ue-positioning-OTDOA-NeighbourCellList
+ UE-Positioning-OTDOA-NeighbourCellList-r4 OPTIONAL
+}
+
+UE-Positioning-OTDOA-AssistanceData-r4ext ::= SEQUENCE {
+ -- In case of TDD these IPDL parameters shall be used for the reference cell instead of
+ -- IPDL Parameters in IE UE-Positioning-OTDOA-ReferenceCellInfo
+ ue-Positioning-IPDL-Parameters-TDD-r4-ext
+ UE-Positioning-IPDL-Parameters-TDD-r4-ext OPTIONAL,
+ -- These IPDL parameters shall be used for the neighbour cells in case of TDD instead of
+ -- IPDL Parameters in IE UE-Positioning-OTDOA-NeighbourCellInfoList. The cells shall be
+ -- listed in the same order as in IE UE-Positioning-OTDOA-NeighbourCellInfoList
+ ue-Positioning-IPDL-Parameters-TDDList-r4-ext
+ UE-Positioning-IPDL-Parameters-TDDList-r4-ext OPTIONAL
+}
+
+UE-Positioning-OTDOA-AssistanceData-UEB ::= SEQUENCE {
+ ue-positioning-OTDOA-ReferenceCellInfo-UEB
+ UE-Positioning-OTDOA-ReferenceCellInfo-UEB OPTIONAL,
+ ue-positioning-OTDOA-NeighbourCellList-UEB
+ UE-Positioning-OTDOA-NeighbourCellList-UEB OPTIONAL
+}
+
+UE-Positioning-OTDOA-AssistanceData-UEB-ext ::= SEQUENCE {
+ ue-positioning-OTDOA-ReferenceCellInfo-UEB-ext
+ UE-Positioning-OTDOA-ReferenceCellInfo-UEB-ext OPTIONAL,
+ ue-positioning-OTDOA-NeighbourCellList-UEB-ext
+ UE-Positioning-OTDOA-NeighbourCellList-UEB-ext OPTIONAL
+}
+
+UE-Positioning-OTDOA-AssistanceData-r7 ::= SEQUENCE {
+ ue-positioning-OTDOA-ReferenceCellInfo UE-Positioning-OTDOA-ReferenceCellInfo-r7 OPTIONAL,
+ ue-positioning-OTDOA-NeighbourCellList UE-Positioning-OTDOA-NeighbourCellList-r7 OPTIONAL
+}
+
+UE-Positioning-IPDL-Parameters-TDDList-r4-ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ UE-Positioning-IPDL-Parameters-TDD-r4-ext
+
+UE-Positioning-OTDOA-MeasuredResultsTDD-ext ::= SEQUENCE {
+ neighbourList NeighbourList-TDD-r7 OPTIONAL
+}
+
+UE-Positioning-OTDOA-Measurement ::= SEQUENCE {
+ sfn INTEGER (0..4095),
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceCellIDentity PrimaryCPICH-Info,
+ ue-RX-TX-TimeDifferenceType2Info UE-RX-TX-TimeDifferenceType2Info
+ },
+ tdd SEQUENCE {
+ referenceCellIdentity CellParametersID
+ }
+ },
+ neighbourList NeighbourList OPTIONAL
+}
+
+UE-Positioning-OTDOA-Measurement-v390ext ::= SEQUENCE {
+ neighbourList-v390ext NeighbourList-v390ext
+}
+
+UE-Positioning-OTDOA-NeighbourCellInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE{
+ cellAndChannelIdentity CellAndChannelIdentity
+ }
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters OPTIONAL,
+ sfn-SFN-RelTimeDifference SFN-SFN-RelTimeDifference1,
+ sfn-SFN-Drift SFN-SFN-Drift OPTIONAL,
+ searchWindowSize OTDOA-SearchWindowSize,
+ positioningMode CHOICE{
+ ueBased SEQUENCE {},
+ ueAssisted SEQUENCE {}
+ }
+}
+
+UE-Positioning-OTDOA-NeighbourCellInfo-r4 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE{
+ cellAndChannelIdentity CellAndChannelIdentity
+ }
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters-r4 OPTIONAL,
+ sfn-SFN-RelTimeDifference SFN-SFN-RelTimeDifference1,
+ sfn-Offset-Validity SFN-Offset-Validity OPTIONAL,
+ sfn-SFN-Drift SFN-SFN-Drift OPTIONAL,
+ searchWindowSize OTDOA-SearchWindowSize,
+ positioningMode CHOICE {
+ ueBased SEQUENCE {
+ relativeNorth INTEGER (-20000..20000) OPTIONAL,
+ relativeEast INTEGER (-20000..20000) OPTIONAL,
+ relativeAltitude INTEGER (-4000..4000) OPTIONAL,
+ fineSFN-SFN FineSFN-SFN OPTIONAL,
+ -- actual value roundTripTime = (IE value * 0.0625) + 876
+ roundTripTime INTEGER (0.. 32766) OPTIONAL
+ },
+ ueAssisted SEQUENCE {}
+ }
+}
+
+UE-Positioning-OTDOA-NeighbourCellInfo-UEB ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE{
+ cellAndChannelIdentity CellAndChannelIdentity
+ }
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters OPTIONAL,
+ sfn-SFN-RelTimeDifference SFN-SFN-RelTimeDifference1,
+ sfn-SFN-Drift SFN-SFN-Drift OPTIONAL,
+ searchWindowSize OTDOA-SearchWindowSize,
+ relativeNorth INTEGER (-20000..20000) OPTIONAL,
+ relativeEast INTEGER (-20000..20000) OPTIONAL,
+ relativeAltitude INTEGER (-4000..4000) OPTIONAL,
+ fineSFN-SFN FineSFN-SFN,
+ -- actual value roundTripTime = (IE value * 0.0625) + 876
+ roundTripTime INTEGER (0..32766) OPTIONAL
+}
+
+UE-Positioning-OTDOA-NeighbourCellInfo-UEB-ext ::= SEQUENCE {
+ -- actual value roundTripTimeExtension = (IE value * 0.0625)
+ roundTripTimeExtension INTEGER (0..70274) OPTIONAL
+}
+
+UE-Positioning-OTDOA-NeighbourCellInfo-r7 ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE{
+ cellAndChannelIdentity CellAndChannelIdentity
+ }
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters-r4 OPTIONAL,
+ sfn-SFN-RelTimeDifference SFN-SFN-RelTimeDifference1,
+ sfn-Offset-Validity SFN-Offset-Validity OPTIONAL,
+ sfn-SFN-Drift SFN-SFN-Drift OPTIONAL,
+ searchWindowSize OTDOA-SearchWindowSize,
+ positioningMode CHOICE {
+ ueBased SEQUENCE {
+ relativeNorth INTEGER (-20000..20000) OPTIONAL,
+ relativeEast INTEGER (-20000..20000) OPTIONAL,
+ relativeAltitude INTEGER (-4000..4000) OPTIONAL,
+ fineSFN-SFN FineSFN-SFN OPTIONAL,
+ -- actual value roundTripTime = (IE value * 0.0625) + 876
+ roundTripTime INTEGER (0.. 32766) OPTIONAL,
+ -- actual value roundTripTimeExtension = (IE value * 0.0625)
+ roundTripTimeExtension INTEGER (0..70274) OPTIONAL
+ },
+ ueAssisted SEQUENCE {}
+ }
+}
+
+UE-Positioning-OTDOA-NeighbourCellList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ UE-Positioning-OTDOA-NeighbourCellInfo
+
+UE-Positioning-OTDOA-NeighbourCellList-r4 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ UE-Positioning-OTDOA-NeighbourCellInfo-r4
+
+UE-Positioning-OTDOA-NeighbourCellList-UEB ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ UE-Positioning-OTDOA-NeighbourCellInfo-UEB
+
+-- The order of the list corresponds to the order of UE-Positioning-OTDOA-NeighbourCellInfo-UEB
+-- in UE-Positioning-OTDOA-NeighbourCellList-UEB
+UE-Positioning-OTDOA-NeighbourCellList-UEB-ext ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ UE-Positioning-OTDOA-NeighbourCellInfo-UEB-ext
+
+UE-Positioning-OTDOA-NeighbourCellList-r7 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF
+ UE-Positioning-OTDOA-NeighbourCellInfo-r7
+
+UE-Positioning-OTDOA-Quality ::= SEQUENCE {
+ stdResolution BIT STRING (SIZE (2)),
+ numberOfOTDOA-Measurements BIT STRING (SIZE (3)),
+ stdOfOTDOA-Measurements BIT STRING (SIZE (5))
+}
+
+UE-Positioning-OTDOA-ReferenceCellInfo ::= SEQUENCE {
+ sfn INTEGER (0..4095) OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE{
+ cellAndChannelIdentity CellAndChannelIdentity
+ }
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ positioningMode CHOICE {
+ ueBased SEQUENCE {},
+ ueAssisted SEQUENCE {}
+ },
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters OPTIONAL
+}
+
+UE-Positioning-OTDOA-ReferenceCellInfo-r4 ::= SEQUENCE {
+ sfn INTEGER (0..4095) OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE{
+ cellAndChannelIdentity CellAndChannelIdentity
+ }
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ positioningMode CHOICE {
+ ueBased SEQUENCE {
+ cellPosition ReferenceCellPosition OPTIONAL,
+ -- actual value roundTripTime = (IE value * 0.0625) + 876
+ roundTripTime INTEGER (0..32766) OPTIONAL
+ },
+ ueAssisted SEQUENCE {}
+ },
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters-r4 OPTIONAL
+}
+
+UE-Positioning-OTDOA-ReferenceCellInfo-UEB ::= SEQUENCE {
+ sfn INTEGER (0..4095) OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE{
+ cellAndChannelIdentity CellAndChannelIdentity
+ }
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ cellPosition ReferenceCellPosition OPTIONAL,
+ -- actual value roundTripTime = (IE value * 0.0625) + 876
+ roundTripTime INTEGER (0..32766) OPTIONAL,
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters OPTIONAL
+}
+
+UE-Positioning-OTDOA-ReferenceCellInfo-UEB-ext ::= SEQUENCE {
+ -- actual value roundTripTimeExtension = (IE value * 0.0625)
+ roundTripTimeExtension INTEGER (0..70274) OPTIONAL
+}
+
+UE-Positioning-OTDOA-ReferenceCellInfo-r7 ::= SEQUENCE {
+ sfn INTEGER (0..4095) OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE{
+ cellAndChannelIdentity CellAndChannelIdentity
+ }
+ },
+ frequencyInfo FrequencyInfo OPTIONAL,
+ positioningMode CHOICE {
+ ueBased SEQUENCE {
+ cellPosition ReferenceCellPosition OPTIONAL,
+ -- actual value roundTripTime = (IE value * 0.0625) + 876
+ roundTripTime INTEGER (0..32766) OPTIONAL,
+ -- actual value roundTripTimeExtension = (IE value * 0.0625)
+ roundTripTimeExtension INTEGER (0..70274) OPTIONAL
+ },
+ ueAssisted SEQUENCE {}
+ },
+ ue-positioning-IPDL-Paremeters UE-Positioning-IPDL-Parameters-r4 OPTIONAL
+}
+
+UE-Positioning-PositionEstimateInfo ::= SEQUENCE {
+ referenceTime CHOICE {
+ utran-GPSReferenceTimeResult UTRAN-GPSReferenceTimeResult,
+ gps-ReferenceTimeOnly GPS-TOW-1msec,
+ cell-Timing SEQUENCE {
+ sfn INTEGER (0..4095),
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE{
+ cellAndChannelIdentity CellAndChannelIdentity
+ }
+ }
+ }
+ },
+ positionEstimate PositionEstimate
+}
+
+UE-Positioning-PositionEstimateInfo-v770ext ::= SEQUENCE {
+ referenceTimeOptions CHOICE {
+ -- If 'earlier-than-r7', IE 'UE-Positioning-PositionEstimateInfo' shall be included.
+ earlier-than-r7 NULL,
+ -- If 'r7', the corresponding IE 'UE-Positioning-PositionEstimateInfo' shall be excluded.
+ r7 SEQUENCE {
+ referenceTime CHOICE {
+ utran-GANSSReferenceTimeResult UTRAN-GANSSReferenceTime,
+ ganssReferenceTimeOnly GANSSReferenceTimeOnly
+ },
+ positionEstimate PositionEstimate
+ }
+ },
+ positionData BIT STRING (SIZE (16)),
+ velocityEstimate VelocityEstimate OPTIONAL,
+ ue-Positioning-GPS-ReferenceTimeUncertainty
+ UE-Positioning-GPS-ReferenceTimeUncertainty OPTIONAL
+}
+
+UE-Positioning-PositionEstimateInfo-vd20ext ::= SEQUENCE {
+ locationTimeStamp UTCTime OPTIONAL
+}
+
+UE-Positioning-ReportCriteria ::= CHOICE {
+ ue-positioning-ReportingCriteria UE-Positioning-EventParamList,
+ periodicalReportingCriteria PeriodicalReportingCriteria,
+ noReporting NULL
+}
+
+UE-Positioning-ReportCriteria-r7 ::= CHOICE {
+ ue-positioning-ReportingCriteria UE-Positioning-EventParamList-r7,
+ periodicalReportingCriteria PeriodicalReportingCriteria,
+ noReporting NULL
+}
+
+UE-Positioning-ReportingQuantity ::= SEQUENCE {
+ methodType UE-Positioning-MethodType,
+ positioningMethod PositioningMethod,
+ -- dummy1 is not used in this version of specification and it should
+ -- be ignored.
+ dummy1 UE-Positioning-ResponseTime,
+ horizontal-Accuracy UE-Positioning-Accuracy OPTIONAL,
+ gps-TimingOfCellWanted BOOLEAN,
+ -- dummy2 is not used in this version of specification and it should
+ -- be ignored.
+ dummy2 BOOLEAN,
+ additionalAssistanceDataRequest BOOLEAN,
+ environmentCharacterisation EnvironmentCharacterisation OPTIONAL
+}
+
+UE-Positioning-ReportingQuantity-v390ext ::= SEQUENCE {
+ vertical-Accuracy UE-Positioning-Accuracy
+}
+
+UE-Positioning-ReportingQuantity-r4 ::= SEQUENCE {
+ methodType UE-Positioning-MethodType,
+ positioningMethod PositioningMethod,
+ horizontalAccuracy UE-Positioning-Accuracy OPTIONAL,
+ verticalAccuracy UE-Positioning-Accuracy OPTIONAL,
+ gps-TimingOfCellWanted BOOLEAN,
+ additionalAssistanceDataReq BOOLEAN,
+ environmentCharacterisation EnvironmentCharacterisation OPTIONAL
+}
+
+UE-Positioning-ReportingQuantity-r7 ::= SEQUENCE {
+ methodType UE-Positioning-MethodType,
+ positioningMethod PositioningMethod,
+ horizontalAccuracy UE-Positioning-Accuracy OPTIONAL,
+ verticalAccuracy UE-Positioning-Accuracy OPTIONAL,
+ gps-TimingOfCellWanted BOOLEAN,
+ additionalAssistanceDataReq BOOLEAN,
+ environmentCharacterisation EnvironmentCharacterisation OPTIONAL,
+ velocityRequested ENUMERATED { true } OPTIONAL,
+ gANSSPositioningMethods BIT STRING (SIZE (16)) OPTIONAL,
+ gANSSTimingOfCellWanted BIT STRING (SIZE (8)) OPTIONAL,
+ gANSSCarrierPhaseMeasurementRequested
+ BIT STRING (SIZE (8)) OPTIONAL
+}
+
+UE-Positioning-ReportingQuantity-r8 ::= SEQUENCE {
+ methodType UE-Positioning-MethodType,
+ positioningMethod PositioningMethod,
+ horizontalAccuracy UE-Positioning-Accuracy OPTIONAL,
+ verticalAccuracy UE-Positioning-Accuracy OPTIONAL,
+ gps-TimingOfCellWanted BOOLEAN,
+ additionalAssistanceDataReq BOOLEAN,
+ environmentCharacterisation EnvironmentCharacterisation OPTIONAL,
+ velocityRequested ENUMERATED { true } OPTIONAL,
+ gANSSPositioningMethods BIT STRING (SIZE (16)) OPTIONAL,
+ gANSSTimingOfCellWanted BIT STRING (SIZE (8)) OPTIONAL,
+ gANSSCarrierPhaseMeasurementRequested
+ BIT STRING (SIZE (8)) OPTIONAL,
+ gANSSMultiFreqMeasurementRequested BIT STRING (SIZE (8)) OPTIONAL
+}
+
+UE-Positioning-ReportingQuantity-r13 ::= SEQUENCE {
+ methodType UE-Positioning-MethodType,
+ positioningMethod PositioningMethod,
+ horizontalAccuracy UE-Positioning-Accuracy OPTIONAL,
+ verticalAccuracy UE-Positioning-Accuracy OPTIONAL,
+ gps-TimingOfCellWanted BOOLEAN,
+ additionalAssistanceDataReq BOOLEAN,
+ environmentCharacterisation EnvironmentCharacterisation OPTIONAL,
+ velocityRequested ENUMERATED { true } OPTIONAL,
+ gANSSPositioningMethods BIT STRING (SIZE (16)) OPTIONAL,
+ gANSSTimingOfCellWanted BIT STRING (SIZE (8)) OPTIONAL,
+ gANSSCarrierPhaseMeasurementRequested
+ BIT STRING (SIZE (8)) OPTIONAL,
+ gANSSMultiFreqMeasurementRequested BIT STRING (SIZE (8)) OPTIONAL,
+ additionalPositioningMethods BIT STRING (SIZE (8)) OPTIONAL
+}
+
+UE-Positioning-ResponseTime ::= ENUMERATED {
+ s1, s2, s4, s8, s16,
+ s32, s64, s128 }
+
+UE-Positioning-AddPos-MeasuredResults ::= SEQUENCE (SIZE (1..maxAddPos)) OF
+ UE-Positioning-AddPos-MeasuredResults-element
+
+UE-Positioning-AddPos-MeasuredResults-element ::=SEQUENCE {
+ timestamp UTCTime OPTIONAL,
+ addPos-ID CHOICE {
+ barometricPressure UE-Positioning-BarometricPressureMeasurement,
+ wlan UE-Positioning-WLANMeasurementList,
+ bt UE-Positioning-BTMeasurementList,
+ mbs UE-Positioning-MBSMeasurementList,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+ }
+}
+
+UE-Positioning-BarometricPressureMeasurement ::= SEQUENCE {
+ ubpMeasurement INTEGER (30000..115000)
+}
+
+UE-Positioning-WLANMeasurementList ::= SEQUENCE (SIZE (1..maxWLANs))OF
+ UE-Positioning-WLANMeasurementList-element
+
+UE-Positioning-WLANMeasurementList-element ::= SEQUENCE {
+ wlanBSSID OCTET STRING (SIZE (6)),
+ wlanSSID OCTET STRING (SIZE(1..32)) OPTIONAL,
+ wlanRSSI INTEGER(-127..128) OPTIONAL,
+ wlanRTTvalue INTEGER(0..16777215) OPTIONAL,
+ wlanRTTunits ENUMERATED { microseconds,hundredsofnanoseconds,
+ tensofnanoseconds,nanoseconds,
+ tenthsofnanosecond,
+ spare3, spare2, spare1} OPTIONAL,
+ wlanRTTaccuracy INTEGER(0..255) OPTIONAL,
+ wlanAPChannelFrequency INTEGER(0..256) OPTIONAL,
+ wlanServingFlag BOOLEAN OPTIONAL
+}
+
+UE-Positioning-BTMeasurementList ::= SEQUENCE (SIZE (1..maxBTs)) OF
+ UE-Positioning-BTMeasurementList-element
+
+UE-Positioning-BTMeasurementList-element ::= SEQUENCE {
+ btAddr OCTET STRING (SIZE(6)),
+ -- Actual value = IE value - 1
+ btRSSI INTEGER(-127..128) OPTIONAL
+}
+
+UE-Positioning-MBSMeasurementList ::= SEQUENCE (SIZE (1..maxBeacons)) OF
+ UE-Positioning-MBSMeasurementList-element
+
+UE-Positioning-MBSMeasurementList-element ::= SEQUENCE {
+ transmitterId INTEGER (0..32767),
+ codePhase INTEGER (0..2097151),
+ codePhaseRmsError INTEGER (0..63)
+}
+
+UTCmodelSet1 ::= SEQUENCE {
+ utcA0 BIT STRING (SIZE (16)),
+ utcA1 BIT STRING (SIZE (13)),
+ utcA2 BIT STRING (SIZE (7)),
+ utcDeltaTls BIT STRING (SIZE (8)),
+ utcTot BIT STRING (SIZE (16)),
+ utcWNot BIT STRING (SIZE (13)),
+ utcWNlsf BIT STRING (SIZE (8)),
+ utcDN BIT STRING (SIZE (4)),
+ utcDeltaTlsf BIT STRING (SIZE (8))
+}
+
+UTCmodelSet2 ::= SEQUENCE {
+ nA BIT STRING (SIZE (11)),
+ tauC BIT STRING (SIZE (32)),
+ deltaUT1 DeltaUT1 OPTIONAL,
+ kp BIT STRING (SIZE (2)) OPTIONAL
+}
+
+UTCmodelSet3 ::= SEQUENCE {
+ utcA1wnt BIT STRING (SIZE (24)),
+ utcA0wnt BIT STRING (SIZE (32)),
+ utcTot BIT STRING (SIZE (8)),
+ utcWNt BIT STRING (SIZE (8)),
+ utcDeltaTls BIT STRING (SIZE (8)),
+ utcWNlsf BIT STRING (SIZE (8)),
+ utcDN BIT STRING (SIZE (8)),
+ utcDeltaTlsf BIT STRING (SIZE (8)),
+ utcStandardID BIT STRING (SIZE (3))
+}
+
+UTCmodelSet4 ::= SEQUENCE {
+ utcA0 BIT STRING (SIZE (32)),
+ utcA1 BIT STRING (SIZE (24)),
+ utcDeltaTls BIT STRING (SIZE (8)),
+ utcWNlsf BIT STRING (SIZE (8)),
+ utcDN BIT STRING (SIZE (8)),
+ utcDeltaTlsf BIT STRING (SIZE (8))
+}
+
+-- SPARE: UTRA-CarrierRSSI, Max = 76
+-- Values above Max are spare
+UTRA-CarrierRSSI ::= INTEGER (0..127)
+
+UTRAN-GANSSReferenceTime ::= SEQUENCE {
+ ue-GANSSTimingOfCellFrames SEQUENCE {
+ -- Actual value [ns] = (ms-Part * 4294967296 + ls-Part) * 250
+ -- Actual values [ns] > 86399999999750 are reserved and are considered a protocol error
+ ms-Part INTEGER (0..80),
+ ls-Part INTEGER (0..4294967295)
+ },
+ gANSS-TimeId INTEGER (0..7) OPTIONAL,
+ gANSS-TimeUncertainty INTEGER (0..127) OPTIONAL,
+ mode CHOICE {
+ fdd SEQUENCE {
+ primary-CPICH-Info PrimaryCPICH-Info
+ },
+ tdd SEQUENCE {
+ cellParameters CellParametersID
+ }
+ },
+ referenceSfn INTEGER (0..4095)
+}
+
+UTRAN-FDD-FrequencyList ::= SEQUENCE (SIZE(1..maxNumFDDFreqs)) OF
+ UTRAN-FDD-Frequency
+
+UTRAN-FDD-Frequency ::= SEQUENCE {
+ uarfcn UARFCN,
+ priority INTEGER (0..maxPrio-1),
+ -- Actual value = IE value * 2
+ threshXhigh INTEGER (0..31),
+ -- Actual value = IE value * 2
+ threshXlow INTEGER (0..31),
+ qQualMinFDD INTEGER (-24..0) OPTIONAL,
+ -- Actual value = IE value * 2 + 1
+ qRxLevMinFDD INTEGER (-60..-13) OPTIONAL
+}
+
+UTRAN-TDD-FrequencyList ::= SEQUENCE (SIZE(1..maxNumTDDFreqs)) OF
+ UTRAN-TDD-Frequency
+
+UTRAN-TDD-Frequency ::= SEQUENCE {
+ uarfcn UARFCN,
+ priority INTEGER (0..maxPrio-1),
+ -- Actual value = IE value * 2
+ threshXhigh INTEGER (0..31),
+ -- Actual value = IE value * 2
+ threshXlow INTEGER (0..31),
+ -- Actual value = IE value * 2 + 1
+ qRxLevMinTDD INTEGER (-60..-13) OPTIONAL
+}
+
+UTRAN-GPS-DriftRate ::= ENUMERATED {
+ utran-GPSDrift0, utran-GPSDrift1, utran-GPSDrift2,
+ utran-GPSDrift5, utran-GPSDrift10, utran-GPSDrift15,
+ utran-GPSDrift25, utran-GPSDrift50, utran-GPSDrift-1,
+ utran-GPSDrift-2, utran-GPSDrift-5, utran-GPSDrift-10,
+ utran-GPSDrift-15, utran-GPSDrift-25, utran-GPSDrift-50}
+
+UTRAN-GPSReferenceTime ::= SEQUENCE {
+ -- For utran-GPSTimingOfCell values above 2322431999999 are not
+ -- used in this version of the specification
+ -- Actual value utran-GPSTimingOfCell = (ms-part * 4294967296) + ls-part
+ utran-GPSTimingOfCell SEQUENCE {
+ ms-part INTEGER (0..1023),
+ ls-part INTEGER (0..4294967295)
+ },
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info
+ },
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID
+ }
+ } OPTIONAL,
+ sfn INTEGER (0..4095)
+}
+
+UTRAN-GPSReferenceTimeResult ::= SEQUENCE {
+ -- For ue-GPSTimingOfCell values above 37158911999999 are not
+ -- used in this version of the specification
+ -- Actual value ue-GPSTimingOfCell = (ms-part * 4294967296) + ls-part
+ ue-GPSTimingOfCell SEQUENCE {
+ ms-part INTEGER (0.. 16383),
+ ls-part INTEGER (0..4294967295)
+ },
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info
+ },
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID
+ }
+ },
+ sfn INTEGER (0..4095)
+}
+
+UTRA-PriorityInfoList ::= SEQUENCE {
+ utra-ServingCell SEQUENCE {
+ priority INTEGER (0..maxPrio-1),
+ -- Actual value = IE value * 2
+ s-PrioritySearch1 INTEGER (0..31),
+ -- Actual value = IE value, default value is 0
+ s-PrioritySearch2 INTEGER (0..7) OPTIONAL,
+ -- Actual value = IE value * 2
+ threshServingLow INTEGER (0..31)
+ },
+ utran-FDD-FrequencyList UTRAN-FDD-FrequencyList OPTIONAL,
+ utran-TDD-FrequencyList UTRAN-TDD-FrequencyList OPTIONAL
+}
+
+UTRA-PriorityInfoList-v920ext ::= SEQUENCE {
+ threshServingLow2 INTEGER (0..31) OPTIONAL
+}
+
+VarianceOfRLC-BufferPayload ::= ENUMERATED {
+ plv0, plv4, plv8, plv16, plv32, plv64,
+ plv128, plv256, plv512, plv1024,
+ plv2k, plv4k, plv8k, plv16k, spare2, spare1 }
+
+VelocityEstimate ::= CHOICE {
+ horizontalVelocity HorizontalVelocity,
+ horizontalWithVerticalVelocity HorizontalWithVerticalVelocity,
+ horizontalVelocityWithUncertainty HorizontalVelocityWithUncertainty,
+ horizontalWithVerticalVelocityAndUncertainty HorizontalWithVerticalVelocityAndUncertainty
+}
+
+-- Actual value W = IE value * 0.1
+W ::= INTEGER (0..20)
+
+-- ***************************************************
+--
+-- OTHER INFORMATION ELEMENTS (10.3.8)
+--
+-- ***************************************************
+
+ACDC-Barring ::= CHOICE {
+ acdc-Barred ENUMERATED {true, false},
+ acdc-acb-barringBitmap BIT STRING (SIZE (10))
+}
+
+ACDC-Parameters ::= SEQUENCE {
+ barringRepresentation CHOICE {
+ acdc-ParametersPerPLMN-List ACDC-ParametersPerPLMN-List,
+ acdc-ParametersForAll ACDC-ParametersForAll
+ }
+}
+
+ACDC-ParametersForAll ::= SEQUENCE {
+ acdc-Information SpecificACDC-BarringInformation OPTIONAL,
+ acdcApplicableForRoamer ENUMERATED { true } OPTIONAL
+}
+
+ACDC-ParametersPerPLMN-List ::= SEQUENCE (SIZE (1..6)) OF
+ SEQUENCE {
+ plmnSpecificACDC-Parameters SpecificACDC-BarringInformation OPTIONAL,
+ acdcApplicableForRoamer ENUMERATED { true } OPTIONAL
+}
+
+BCC ::= INTEGER (0..7)
+
+BCCH-ModificationInfo ::= SEQUENCE {
+ mib-ValueTag MIB-ValueTag,
+ bcch-ModificationTime BCCH-ModificationTime OPTIONAL
+}
+
+BCCH-ModificationInfo-vc50ext ::= SEQUENCE {
+ mib-ValueTagExt MIB-ValueTagExt OPTIONAL,
+ sb3-ValueTag CellValueTag2 OPTIONAL
+}
+
+-- Actual value BCCH-ModificationTime = IE value * 8
+BCCH-ModificationTime ::= INTEGER (0..511)
+
+BSIC ::= SEQUENCE {
+ ncc NCC,
+ bcc BCC
+}
+
+CBS-DRX-Level1Information ::= SEQUENCE {
+ ctch-AllocationPeriod INTEGER (1..256),
+ cbs-FrameOffset INTEGER (0..255)
+}
+
+CBS-DRX-Level1Information-extension-r6 ::= ENUMERATED {p8, p16, p32, p64, p128, p256}
+
+CDMA2000-Message ::= SEQUENCE {
+ msg-Type BIT STRING (SIZE (8)),
+ payload BIT STRING (SIZE (1..512))
+}
+
+CDMA2000-MessageList ::= SEQUENCE (SIZE (1..maxInterSysMessages)) OF
+ CDMA2000-Message
+
+CDMA2000-UMTS-Frequency-List ::= SEQUENCE (SIZE (1..maxNumCDMA2000Freqs)) OF
+ FrequencyInfoCDMA2000
+
+CellValueTag ::= INTEGER (1..4)
+
+CellValueTag2 ::= INTEGER (1..16)
+
+CellValueTagExt ::= INTEGER (0..3)
+
+CellValueTag3 ::= SEQUENCE {
+ cellValueTag CellValueTag,
+ cellValueTagExt CellValueTagExt OPTIONAL
+}
+
+DataTransmFrequency ::= SEQUENCE {
+ dataTransmFreqGranularity ENUMERATED { ms100, ms250, ms500, ms1000,
+ ms2000, ms5000, ms10000, ms60000 },
+ numberOfDataTransmOcc INTEGER (1..610)
+}
+
+DataVolumeHistory ::= SEQUENCE {
+ dataVolumeMontoringWindow INTEGER (1..120),
+ dataTransmFrequency DataTransmFrequency OPTIONAL,
+ dataVolumePerRB DataVolumePerRB-List OPTIONAL
+}
+
+DataVolumePerRB ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ dataVolume INTEGER (0..4294967295)
+}
+
+DataVolumePerRB-List ::= SEQUENCE (SIZE (1..maxRB)) OF DataVolumePerRB
+
+DeferredMeasurementControlReadingSupport ::= SEQUENCE {
+ -- If modeSpecificInfo is not present, deferred SIB11, SIB11bis and SIB12 reading
+ -- with default measurement quantities applies
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ intraFreqMeasQuantity-FDD IntraFreqMeasQuantity-FDD-sib3
+ },
+ tdd SEQUENCE {
+ intraFreqMeasQuantity-TDDList IntraFreqMeasQuantity-TDD-sib3List
+ }
+ } OPTIONAL
+}
+
+ETWS-Information ::= SEQUENCE {
+ warningType OCTET STRING (SIZE (1..2)),
+ messageIdentifier OCTET STRING (SIZE (2)),
+ serialNumber OCTET STRING (SIZE (2))
+}
+
+-- This IE is not used in the specification.
+ETWS-WarningSecurityInfo ::= OCTET STRING
+
+EUTRA-Exclude-listedCell ::= SEQUENCE {
+ physicalCellIdentity EUTRA-PhysicalCellIdentity
+}
+
+EUTRA-Exclude-listedCellPerFreqList ::= SEQUENCE (SIZE (1..maxEUTRACellPerFreq)) OF
+ EUTRA-Exclude-listedCell
+
+EUTRA-PhysicalCellIdentity ::= INTEGER (0..503)
+
+EUTRA-RadioAccessCapability ::= SEQUENCE {
+ ue-EUTRA-Capability OCTET STRING
+}
+
+EUTRA-TargetFreqInfoList ::= SEQUENCE (SIZE (1..maxEUTRATargetFreqs)) OF
+ EUTRA-TargetFreqInfo
+
+EUTRA-TargetFreqInfoList-vb50ext ::= SEQUENCE (SIZE (1..maxEUTRATargetFreqs)) OF
+ EUTRA-TargetFreqInfo-vb50ext
+
+EUTRA-TargetFreqInfo ::= SEQUENCE {
+ dlEUTRACarrierFreq EARFCN,
+ eutraExclude-listedCellPerFreqList EUTRA-Exclude-listedCellPerFreqList OPTIONAL
+}
+
+EUTRA-TargetFreqInfo-vb50ext ::= SEQUENCE {
+ earfcn EARFCNExtension OPTIONAL
+}
+
+--Actual value = 2^(IE value)
+ExpirationTimeFactor ::= INTEGER (1..8)
+
+ExpirationTimeFactor2 ::= INTEGER (0..15)
+
+
+ExtGANSS-SchedulingInfo ::= SEQUENCE {
+ extensionGANSS-SIBType SIB-TypeExtGANSS,
+ schedulingInfo SchedulingInformation,
+ valueTagInfo ValueTagInfo
+}
+
+-- For each extended GANSS SIB type the value tag information is added at the end
+ExtGANSS-SIBTypeInfoSchedulingInfoList ::= SEQUENCE (SIZE (1..maxGANSS)) OF
+ ExtGANSS-SIBTypeInfoSchedulingInfo
+
+ExtGANSS-SIBTypeInfoSchedulingInfo ::= SEQUENCE {
+ ganssID INTEGER (0..7) OPTIONAL,
+ sbasID UE-Positioning-GANSS-SBAS-ID OPTIONAL,
+ ganssScheduling SEQUENCE (SIZE (1..maxSIB)) OF
+ ExtGANSS-SchedulingInfo
+}
+
+-- For each extended SIB type the value tag information is added at the end
+ExtSIBTypeInfoSchedulingInfo-List ::= SEQUENCE (SIZE (1..maxSIB)) OF
+ ExtSIBTypeInfoSchedulingInfo
+
+ExtSIBTypeInfoSchedulingInfo ::= SEQUENCE {
+ extensionSIB-Type SIB-TypeExt,
+ schedulingInfo SchedulingInformation,
+ valueTagInfo ValueTagInfo
+}
+
+-- For each extended SIB type the value tag information is added at the end
+ExtSIBTypeInfoSchedulingInfo-List2 ::= SEQUENCE (SIZE (1..maxSIB)) OF
+ ExtSIBTypeInfoSchedulingInfo2
+
+ExtSIBTypeInfoSchedulingInfo-List3 ::= SEQUENCE (SIZE (1..maxSIB)) OF
+ ExtSIBTypeInfoSchedulingInfo3
+
+ExtSIBTypeInfoSchedulingInfo2 ::= SEQUENCE {
+ extensionSIB-Type2 SIB-TypeExt2,
+ schedulingInfo SchedulingInformation,
+ valueTagInfo ValueTagInfo
+}
+
+ExtSIBTypeInfoSchedulingInfo3 ::= SEQUENCE {
+ extensionSIB-Type3 SIB-TypeExt3,
+ schedulingInfo SchedulingInformation2,
+ valueTagInfo ValueTagInfoExtValueTag
+}
+
+FDD-UMTS-Frequency-List ::= SEQUENCE (SIZE (1..maxNumFDDFreqs)) OF
+ -- NOTE1: The IE "UARFCN (Nlow)" corresponds to
+ -- "uarfcn-DL" in FrequencyInfoFDD.
+ -- NOTE2: The IE "UARFCN (Nupper)" corresponds to
+ -- "uarfcn-UL" in FrequencyInfoFDD.
+ FrequencyInfoFDD
+
+FrequencyInfoCDMA2000 ::= SEQUENCE {
+ band-Class BIT STRING (SIZE (5)),
+ cdma-Freq BIT STRING (SIZE(11))
+}
+
+GERAN-SystemInfoBlock ::= OCTET STRING (SIZE (1..23))
+
+GERAN-SystemInformation ::= SEQUENCE (SIZE (1..maxGERAN-SI)) OF GERAN-SystemInfoBlock
+
+GSM-BA-Range ::= SEQUENCE {
+ gsmLowRangeUARFCN UARFCN,
+ gsmUpRangeUARFCN UARFCN
+}
+
+GSM-BA-Range-List ::= SEQUENCE (SIZE (1..maxNumGSMFreqRanges)) OF
+ GSM-BA-Range
+
+
+-- This IE is formatted as 'TLV' and is coded in the same way as the Mobile Station Classmark 2
+-- information element in [5]. The first octet is the Mobile station classmark 2 IEI and its value
+-- shall be set to 33H. The second octet is the Length of mobile station classmark 2 and its value
+-- shall be set to 3. The octet 3 contains the first octet of the value part of the Mobile Station
+-- Classmark 2 information element, the octet 4 contains the second octet of the value part of the
+-- Mobile Station Classmark 2 information element and so on. For each of these octets, the first/
+-- leftmost/ most significant bit of the octet contains b8 of the corresponding octet of the Mobile
+-- Station Classmark 2.
+GSM-Classmark2 ::= OCTET STRING (SIZE (5))
+
+-- This IE is formatted as 'V' and is coded in the same way as the value part in the Mobile station
+-- classmark 3 information element in [5]
+-- The value part is specified by means of CSN.1, which encoding results in a bit string, to which
+-- final padding may be appended upto the next octet boundary [5]. The first/ leftmost bit of the
+-- CSN.1 bit string is placed in the first/ leftmost/ most significant bit of the first
+-- octet. This continues until the last bit of the CSN.1 bit string, which is placed in the last/
+-- rightmost/ least significant bit of the last octet.
+GSM-Classmark3 ::= OCTET STRING (SIZE (1..32))
+
+GSM-MessageList ::= SEQUENCE (SIZE (1..maxInterSysMessages)) OF
+ BIT STRING (SIZE (1..512))
+
+GSM-MS-RadioAccessCapability ::= OCTET STRING (SIZE (1..64))
+
+GsmSecurityCapability ::= BIT STRING {
+ -- For each bit value "0" means false/ not supported
+ a5-7(0),
+ a5-6(1),
+ a5-5(2),
+ a5-4(3),
+ a5-3(4),
+ a5-2(5),
+ a5-1(6)
+ } (SIZE (7))
+
+GSM-TargetCellInfoList ::= SEQUENCE (SIZE (1..maxGSMTargetCells)) OF
+ GSM-TargetCellInfo
+
+
+GSM-TargetCellInfo ::= SEQUENCE {
+ bcch-ARFCN BCCH-ARFCN,
+ frequency-band Frequency-Band,
+ bsic BSIC OPTIONAL
+}
+
+HNBName ::= OCTET STRING (SIZE(1..maxHNBNameSize))
+
+IdentificationOfReceivedMessage ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ receivedMessageType ReceivedMessageType
+}
+
+InterRAT-ChangeFailureCause ::= CHOICE {
+ configurationUnacceptable NULL,
+ physicalChannelFailure NULL,
+ protocolError ProtocolErrorInformation,
+ unspecified NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+GERANIu-MessageList ::= SEQUENCE (SIZE (1..maxInterSysMessages)) OF
+ BIT STRING (SIZE (1..32768))
+
+GERANIu-RadioAccessCapability ::= BIT STRING (SIZE (1..170))
+
+InterRAT-UE-RadioAccessCapability ::= CHOICE {
+ gsm SEQUENCE {
+ gsm-Classmark2 GSM-Classmark2,
+ gsm-Classmark3 GSM-Classmark3
+ },
+ cdma2000 SEQUENCE {
+ cdma2000-MessageList CDMA2000-MessageList
+ }
+}
+
+InterRAT-UE-RadioAccessCapabilityList ::= SEQUENCE (SIZE(1..maxInterSysMessages)) OF
+ InterRAT-UE-RadioAccessCapability
+
+InterRAT-UE-RadioAccessCapability-v590ext ::= SEQUENCE {
+ geranIu-RadioAccessCapability GERANIu-RadioAccessCapability
+}
+
+InterRAT-UE-RadioAccessCapability-v690ext ::= SEQUENCE {
+ supportOfInter-RAT-PS-Handover ENUMERATED { doesSupporInter-RAT-PS-Handover } OPTIONAL,
+ gsm-MS-RadioAccessCapability GSM-MS-RadioAccessCapability
+}
+
+InterRAT-UE-RadioAccessCapability-v860ext ::= SEQUENCE {
+ eutra-RadioAccessCapability EUTRA-RadioAccessCapability OPTIONAL
+}
+
+InterRAT-UE-SecurityCapability ::= CHOICE {
+ gsm SEQUENCE {
+ gsmSecurityCapability GsmSecurityCapability
+ }
+}
+
+InterRAT-UE-SecurityCapList ::= SEQUENCE (SIZE(1..maxInterSysMessages)) OF
+ InterRAT-UE-SecurityCapability
+
+InterRAT-HO-FailureCause ::= CHOICE {
+ configurationUnacceptable NULL,
+ physicalChannelFailure NULL,
+ protocolError ProtocolErrorInformation,
+ interRAT-ProtocolError NULL,
+ unspecified NULL,
+ spare11 NULL,
+ spare10 NULL,
+ spare9 NULL,
+ spare8 NULL,
+ spare7 NULL,
+ spare6 NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+MasterInformationBlock ::= SEQUENCE {
+ mib-ValueTag MIB-ValueTag,
+ -- TABULAR: The PLMN identity and ANSI-41 core network information
+ -- are included in PLMN-Type.
+ plmn-Type PLMN-Type,
+ sibSb-ReferenceList SIBSb-ReferenceList,
+ -- Extension mechanism for non- release99 information
+ v690NonCriticalExtensions SEQUENCE {
+ masterInformationBlock-v690ext MasterInformationBlock-v690ext,
+ v6b0NonCriticalExtensions SEQUENCE {
+ masterInformationBlock-v6b0ext MasterInformationBlock-v6b0ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ masterInformationBlock-v860ext MasterInformationBlock-v860ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ masterInformationBlock-vc50ext MasterInformationBlock-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+MasterInformationBlock-v690ext ::= SEQUENCE {
+ multiplePLMN-List MultiplePLMN-List-r6 OPTIONAL
+}
+
+MasterInformationBlock-v6b0ext-IEs ::= SEQUENCE {
+ extSIBTypeInfoSchedulingInfo-List ExtSIBTypeInfoSchedulingInfo-List OPTIONAL
+}
+
+MasterInformationBlock-v860ext-IEs ::= SEQUENCE {
+ extSIBTypeInfoSchedulingInfo-List ExtSIBTypeInfoSchedulingInfo-List2 OPTIONAL,
+ extGANSS-SIBTypeInfoSchedulingInfoList
+ ExtGANSS-SIBTypeInfoSchedulingInfoList OPTIONAL,
+ csg-Indicator ENUMERATED { true } OPTIONAL
+}
+
+MasterInformationBlock-vc50ext-IEs ::= SEQUENCE {
+ mib-ValueTagExt MIB-ValueTagExt OPTIONAL,
+ sibSb-ReferenceList SIBSb-ReferenceList2 OPTIONAL,
+ extSIBTypeInfoSchedulingInfo-List ExtSIBTypeInfoSchedulingInfo-List3 OPTIONAL,
+ sb3-Information SB3-Information OPTIONAL
+}
+
+SB3-Information ::= SEQUENCE {
+ sb3-SegCount SegCount DEFAULT 1,
+ sb3-Sib-Rep SIB-Rep,
+ second-BCH-Channelizationcode BCH-Channelizationcode
+}
+
+MIB-ValueTag ::= INTEGER (1..8)
+
+MIB-ValueTagExt ::= INTEGER (0..1)
+
+NCC ::= INTEGER (0..7)
+
+PLMN-ValueTag ::= INTEGER (1..256)
+
+
+PredefinedConfigIdentityAndValueTag ::= SEQUENCE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ predefinedConfigValueTag PredefinedConfigValueTag
+}
+
+ProtocolErrorInformation ::= SEQUENCE {
+ diagnosticsType CHOICE {
+ type1 SEQUENCE {
+ protocolErrorCause ProtocolErrorCause
+ },
+ spare NULL
+ }
+}
+
+ReceivedMessageType ::= ENUMERATED {
+ activeSetUpdate,
+ cellChangeOrderFromUTRAN,
+ cellUpdateConfirm,
+ counterCheck,
+ downlinkDirectTransfer,
+ interRATHandoverCommand,
+ measurementControl,
+ pagingType2,
+ physicalChannelReconfiguration,
+ physicalSharedChannelAllocation,
+ radioBearerReconfiguration,
+ radioBearerRelease,
+ radioBearerSetup,
+ rrcConnectionRelease,
+ rrcConnectionReject,
+ rrcConnectionSetup,
+ securityModeCommand,
+ signallingConnectionRelease,
+ transportChannelReconfiguration,
+ transportFormatCombinationControl,
+ ueCapabilityEnquiry,
+ ueCapabilityInformationConfirm,
+ uplinkPhysicalChannelControl,
+ uraUpdateConfirm,
+ utranMobilityInformation,
+ assistanceDataDelivery,
+ spare6, spare5, spare4, spare3, spare2,
+ spare1
+}
+
+Rplmn-Information ::= SEQUENCE {
+ gsm-BA-Range-List GSM-BA-Range-List OPTIONAL,
+ fdd-UMTS-Frequency-List FDD-UMTS-Frequency-List OPTIONAL,
+ tdd-UMTS-Frequency-List TDD-UMTS-Frequency-List OPTIONAL,
+ cdma2000-UMTS-Frequency-List CDMA2000-UMTS-Frequency-List OPTIONAL
+}
+
+Rplmn-Information-r4 ::= SEQUENCE {
+ gsm-BA-Range-List GSM-BA-Range-List OPTIONAL,
+ fdd-UMTS-Frequency-List FDD-UMTS-Frequency-List OPTIONAL,
+ -- the option is the same for 7.68 Mcps TDD as for 3.84 Mcps TDD
+ -- i.e. TDD-UMTS-Frequency-List applies
+ tdd384-UMTS-Frequency-List TDD-UMTS-Frequency-List OPTIONAL,
+ tdd128-UMTS-Frequency-List TDD-UMTS-Frequency-List OPTIONAL,
+ cdma2000-UMTS-Frequency-List CDMA2000-UMTS-Frequency-List OPTIONAL
+}
+
+SIB-Rep::= ENUMERATED {
+ frame-8,
+ frame-16,
+ frame-32,
+ frame-64
+}
+
+BCH-Channelizationcode ::= INTEGER (2..33)
+
+SchedulingInformation ::= SEQUENCE {
+ scheduling SEQUENCE {
+ segCount SegCount DEFAULT 1,
+ sib-Pos CHOICE {
+ -- The element name indicates the repetition period and the value
+ -- (multiplied by two) indicates the position of the first segment.
+ rep4 INTEGER (0..1),
+ rep8 INTEGER (0..3),
+ rep16 INTEGER (0..7),
+ rep32 INTEGER (0..15),
+ rep64 INTEGER (0..31),
+ rep128 INTEGER (0..63),
+ rep256 INTEGER (0..127),
+ rep512 INTEGER (0..255),
+ rep1024 INTEGER (0..511),
+ rep2048 INTEGER (0..1023),
+ rep4096 INTEGER (0..2047)
+ },
+ sib-PosOffsetInfo SibOFF-List OPTIONAL
+ }
+}
+
+SchedulingInformation2 ::= CHOICE {
+ scheduling SEQUENCE {
+ segCount SegCount OPTIONAL,
+ sib-Pos CHOICE {
+ -- The element name indicates the repetition period and the value
+ -- (multiplied by two) indicates the position of the first segment.
+ rep4 INTEGER (0..1),
+ rep8 INTEGER (0..3),
+ rep16 INTEGER (0..7),
+ rep32 INTEGER (0..15),
+ rep64 INTEGER (0..31),
+ rep128 INTEGER (0..63),
+ rep256 INTEGER (0..127),
+ rep512 INTEGER (0..255),
+ rep1024 INTEGER (0..511),
+ rep2048 INTEGER (0..1023),
+ rep4096 INTEGER (0..2047)
+ },
+ sib-PosOffsetInfo SibOFF-List2 OPTIONAL
+ }
+}
+
+SchedulingInformationSIB ::= SEQUENCE {
+ sib-Type SIB-TypeAndTag,
+ scheduling SchedulingInformation
+}
+
+SchedulingInformationSIB2 ::= SEQUENCE {
+ sib-Type SIB-TypeAndTag2,
+ scheduling SchedulingInformation2
+}
+
+SchedulingInformationSIBSb ::= SEQUENCE {
+ sibSb-Type SIBSb-TypeAndTag,
+ scheduling SchedulingInformation
+}
+
+SchedulingInformationSIBSb2 ::= SEQUENCE {
+ sibSb-Type SIBSb-TypeAndTagExtValueTag
+}
+
+SegCount ::= INTEGER (1..16)
+
+SegmentIndex ::= INTEGER (1..15)
+
+-- Actual value SFN-Prime = 2 * IE value
+SFN-Prime ::= INTEGER (0..2047)
+
+
+SIB-Data-fixed ::= BIT STRING (SIZE (222))
+
+SIB-Data2-fixed ::= BIT STRING (SIZE (232))
+
+SIB-Data-variable ::= BIT STRING (SIZE (1..214))
+
+SIB-Data2-variable ::= BIT STRING (SIZE (1..224))
+
+SIBOccurIdentity ::= INTEGER (0..15)
+
+SIBOccurrenceIdentityAndValueTag ::= SEQUENCE {
+ sibOccurIdentity SIBOccurIdentity,
+ sibOccurValueTag SIBOccurValueTag
+}
+
+SIBOccurValueTag ::= INTEGER (0..15)
+
+SIB-ReferenceList ::= SEQUENCE (SIZE (1..maxSIB)) OF
+ SchedulingInformationSIB
+
+SIB-ReferenceList2 ::= SEQUENCE (SIZE (1..maxSIB2)) OF
+ SchedulingInformationSIB2
+
+SIBSb-ReferenceList ::= SEQUENCE (SIZE (1..maxSIB)) OF
+ SchedulingInformationSIBSb
+
+SIBSb-ReferenceList2 ::= SEQUENCE (SIZE (1..maxSIB)) OF
+ SchedulingInformationSIBSb2
+
+SIB-ReferenceListFACH ::= SEQUENCE (SIZE (1..maxSIB-FACH)) OF
+ SchedulingInformationSIB
+
+SIB-Type ::= ENUMERATED {
+ masterInformationBlock,
+ systemInformationBlockType1,
+ systemInformationBlockType2,
+ systemInformationBlockType3,
+ systemInformationBlockType4,
+ systemInformationBlockType5,
+ systemInformationBlockType6,
+ systemInformationBlockType7,
+ -- dummy, dummy2 and dummy3 are not used in this version of the specification,
+ -- they should not be sent. If they are received they should be ignored
+ dummy,
+ dummy2,
+ dummy3,
+ systemInformationBlockType11,
+ systemInformationBlockType12,
+ systemInformationBlockType13,
+ systemInformationBlockType13-1,
+ systemInformationBlockType13-2,
+ systemInformationBlockType13-3,
+ systemInformationBlockType13-4,
+ systemInformationBlockType14,
+ systemInformationBlockType15,
+ systemInformationBlockType15-1,
+ systemInformationBlockType15-2,
+ systemInformationBlockType15-3,
+ systemInformationBlockType16,
+ systemInformationBlockType17,
+ systemInformationBlockType15-4,
+ systemInformationBlockType18,
+ schedulingBlock1,
+ schedulingBlock2,
+ systemInformationBlockType15-5,
+ systemInformationBlockType5bis,
+ extensionType }
+
+SIB-Type2 ::= ENUMERATED {
+ schedulingBlock3,
+ systemInformationBlockType1,
+ systemInformationBlockType2,
+ systemInformationBlockType3,
+ systemInformationBlockType4,
+ systemInformationBlockType5,
+ systemInformationBlockType5bis,
+ systemInformationBlockType6,
+ systemInformationBlockType7,
+ systemInformationBlockType11,
+ systemInformationBlockType11bis,
+ systemInformationBlockType12,
+ systemInformationBlockType13,
+ systemInformationBlockType13-1,
+ systemInformationBlockType13-2,
+ systemInformationBlockType13-3,
+ systemInformationBlockType13-4,
+ systemInformationBlockType14,
+ systemInformationBlockType15,
+ systemInformationBlockType15bis,
+ systemInformationBlockType15-1,
+ systemInformationBlockType15-1bis,
+ systemInformationBlockType15-1ter,
+ systemInformationBlockType15-2,
+ systemInformationBlockType15-2bis,
+ systemInformationBlockType15-2ter,
+ systemInformationBlockType15-3,
+ systemInformationBlockType15-3bis,
+ systemInformationBlockType15-4,
+ systemInformationBlockType15-5,
+ systemInformationBlockType15-6,
+ systemInformationBlockType15-7,
+ systemInformationBlockType15-8,
+ systemInformationBlockType16,
+ systemInformationBlockType17,
+ systemInformationBlockType18,
+ systemInformationBlockType19,
+ systemInformationBlockType20,
+ systemInformationBlockType21,
+ systemInformationBlockType22,
+ systemInformationBlockType23,
+ systemInformationBlockType24,
+ systemInformationBlockType11ter,
+ systemInformationBlockType25,
+ spare20, spare19, spare18,
+ spare17, spare16, spare15, spare14, spare13, spare12,
+ spare11, spare10, spare9, spare8, spare7, spare6,
+ spare5,
+ spare4, spare3, spare2, spare1 }
+
+SIB-TypeAndTag ::= CHOICE {
+ sysInfoType1 PLMN-ValueTag,
+ sysInfoType2 CellValueTag,
+ sysInfoType3 CellValueTag,
+ sysInfoType4 CellValueTag,
+ sysInfoType5 CellValueTag,
+ sysInfoType6 CellValueTag,
+ sysInfoType7 NULL,
+ -- dummy, dummy2 and dummy3 are not used in this version of the specification,
+ -- they should not be sent. If they are received the UE behaviour is not specified.
+ dummy CellValueTag,
+ dummy2 NULL,
+ dummy3 NULL,
+ sysInfoType11 CellValueTag,
+ sysInfoType12 CellValueTag,
+ sysInfoType13 CellValueTag,
+ sysInfoType13-1 CellValueTag,
+ sysInfoType13-2 CellValueTag,
+ sysInfoType13-3 CellValueTag,
+ sysInfoType13-4 CellValueTag,
+ sysInfoType14 NULL,
+ sysInfoType15 CellValueTag,
+ sysInfoType16 PredefinedConfigIdentityAndValueTag,
+ sysInfoType17 NULL,
+ sysInfoType15-1 CellValueTag,
+ sysInfoType15-2 SIBOccurrenceIdentityAndValueTag,
+ sysInfoType15-3 SIBOccurrenceIdentityAndValueTag,
+ sysInfoType15-4 CellValueTag,
+ sysInfoType18 CellValueTag,
+ sysInfoType15-5 CellValueTag,
+ sysInfoType5bis CellValueTag,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+SIB-TypeAndTag2 ::= CHOICE {
+ sysInfoType1 PLMN-ValueTag,
+ sysInfoType2 CellValueTag,
+ sysInfoType3 CellValueTag3,
+ sysInfoType4 CellValueTag,
+ sysInfoType5 CellValueTag3,
+ sysInfoType5bis CellValueTag3,
+ sysInfoType6 CellValueTag,
+ sysInfoType7 NULL,
+ sysInfoType11 CellValueTag,
+ sysInfoType11bis CellValueTag,
+ sysInfoType12 CellValueTag,
+ sysInfoType13 CellValueTag,
+ sysInfoType13-1 CellValueTag,
+ sysInfoType13-2 CellValueTag,
+ sysInfoType13-3 CellValueTag,
+ sysInfoType13-4 CellValueTag,
+ sysInfoType14 NULL,
+ sysInfoType15 CellValueTag,
+ sysInfoType15bis CellValueTag,
+ sysInfoType15-1 CellValueTag,
+ sysInfoType15-1bis CellValueTag,
+ sysInfoType15-1ter CellValueTag,
+ sysInfoType15-2 SIBOccurrenceIdentityAndValueTag,
+ sysInfoType15-2bis SIBOccurrenceIdentityAndValueTag,
+ sysInfoType15-2ter SIBOccurrenceIdentityAndValueTag,
+ sysInfoType15-3 SIBOccurrenceIdentityAndValueTag,
+ sysInfoType15-3bis SIBOccurrenceIdentityAndValueTag,
+ sysInfoType15-4 CellValueTag,
+ sysInfoType15-5 CellValueTag,
+ sysInfoType15-6 CellValueTag,
+ sysInfoType15-7 CellValueTag,
+ sysInfoType15-8 CellValueTag,
+ sysInfoType16 PredefinedConfigIdentityAndValueTag,
+ sysInfoType17 NULL,
+ sysInfoType18 CellValueTag,
+ sysInfoType19 CellValueTag,
+ sysInfoType20 CellValueTag,
+ sysInfoType21 CellValueTag3,
+ sysInfoType22 CellValueTag3,
+ sysInfoType23 CellValueTag,
+ sysInfoType24 NULL,
+ sysInfoType11ter CellValueTag3,
+ sysInfoType25 NULL,
+ spare21 NULL,
+ spare20 NULL,
+ spare19 NULL,
+ spare18 NULL,
+ spare17 NULL,
+ spare16 NULL,
+ spare15 NULL,
+ spare14 NULL,
+ spare13 NULL,
+ spare12 NULL,
+ spare11 NULL,
+ spare10 NULL,
+ spare9 NULL,
+ spare8 NULL,
+ spare7 NULL,
+ spare6 NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+SIBSb-TypeAndTag ::= CHOICE {
+ sysInfoType1 PLMN-ValueTag,
+ sysInfoType2 CellValueTag,
+ sysInfoType3 CellValueTag,
+ sysInfoType4 CellValueTag,
+ sysInfoType5 CellValueTag,
+ sysInfoType6 CellValueTag,
+ sysInfoType7 NULL,
+ -- dummy, dummy2 and dummy3 are not used in this version of the specification,
+ -- they should not be sent. If they are received the UE behaviour is not specified.
+ dummy CellValueTag,
+ dummy2 NULL,
+ dummy3 NULL,
+ sysInfoType11 CellValueTag,
+ sysInfoType12 CellValueTag,
+ sysInfoType13 CellValueTag,
+ sysInfoType13-1 CellValueTag,
+ sysInfoType13-2 CellValueTag,
+ sysInfoType13-3 CellValueTag,
+ sysInfoType13-4 CellValueTag,
+ sysInfoType14 NULL,
+ sysInfoType15 CellValueTag,
+ sysInfoType16 PredefinedConfigIdentityAndValueTag,
+ sysInfoType17 NULL,
+ sysInfoTypeSB1 CellValueTag,
+ sysInfoTypeSB2 CellValueTag,
+ sysInfoType15-1 CellValueTag,
+ sysInfoType15-2 SIBOccurrenceIdentityAndValueTag,
+ sysInfoType15-3 SIBOccurrenceIdentityAndValueTag,
+ sysInfoType15-4 CellValueTag,
+ sysInfoType18 CellValueTag,
+ sysInfoType15-5 CellValueTag,
+ sysInfoType5bis CellValueTag,
+ spare2 NULL,
+ spare1 NULL
+}
+
+
+SIBSb-TypeAndTagExtValueTag ::= CHOICE {
+ sysInfoType3 CellValueTagExt,
+ sysInfoType5 CellValueTagExt,
+ sysInfoType5bis CellValueTagExt,
+ sysInfoType21 CellValueTagExt,
+ sysInfoType22 CellValueTagExt,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+SIB-TypeExt ::= CHOICE {
+ systemInfoType11bis NULL,
+ systemInfoType15bis NULL,
+ systemInfoType15-1bis NULL,
+ systemInfoType15-2bis NULL,
+ systemInfoType15-3bis NULL,
+ systemInfoType15-6 NULL,
+ systemInfoType15-7 NULL,
+ systemInfoType15-8 NULL
+}
+
+SIB-TypeExt2 ::= CHOICE {
+ systemInfoType19 NULL,
+ systemInfoType15-2ter NULL,
+ systemInfoType20 NULL,
+ systemInfoType21 NULL,
+ systemInfoType22 NULL,
+ systemInfoType15-1ter NULL,
+ systemInfoType23 NULL,
+ systemInfoType24 NULL
+}
+
+SIB-TypeExt3 ::= CHOICE {
+ systemInfoType11ter NULL,
+ systemInfoType25 NULL,
+ spare6 NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+SIB-TypeExtGANSS ::= CHOICE {
+ systemInfoType15-1bis NULL,
+ systemInfoType15-2bis NULL,
+ systemInfoType15-2ter NULL,
+ systemInfoType15-3bis NULL,
+ systemInfoType15-6 NULL,
+ systemInfoType15-7 NULL,
+ systemInfoType15-8 NULL,
+ spare9 NULL,
+ spare8 NULL,
+ spare7 NULL,
+ spare6 NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+}
+
+SibOFF ::= ENUMERATED {
+ so2, so4, so6, so8, so10,
+ so12, so14, so16, so18,
+ so20, so22, so24, so26,
+ so28, so30, so32 }
+
+SibOFF-vc50ext ::= SEQUENCE {
+ sibOFF SibOFF OPTIONAL
+}
+
+SibOFF-List ::= SEQUENCE (SIZE (1..15)) OF
+ SibOFF
+
+SibOFF-List2 ::= SEQUENCE (SIZE (1..15)) OF
+ SibOFF-vc50ext
+
+SpecificACDC-BarringInformation ::= SEQUENCE (SIZE (1.. maxNumAcdcCategory)) OF
+ SEQUENCE {
+ acdc-Barring ACDC-Barring OPTIONAL,
+ expirationTimeFactor ExpirationTimeFactor2 OPTIONAL
+}
+
+SysInfoType1 ::= SEQUENCE {
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainSysInfoList CN-DomainSysInfoList,
+ -- User equipment IEs
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants OPTIONAL,
+ ue-IdleTimersAndConstants UE-IdleTimersAndConstants OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ v3a0NonCriticalExtensions SEQUENCE {
+ sysInfoType1-v3a0ext SysInfoType1-v3a0ext-IEs,
+ v860NonCriticalExtentions SEQUENCE {
+ sysInfoType1-v860ext SysInfoType1-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType1-v3a0ext-IEs ::= SEQUENCE {
+ ue-ConnTimersAndConstants-v3a0ext UE-ConnTimersAndConstants-v3a0ext,
+ ue-IdleTimersAndConstants-v3a0ext UE-IdleTimersAndConstants-v3a0ext
+}
+
+SysInfoType1-v860ext-IEs ::= SEQUENCE {
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants-v860ext
+}
+
+SysInfoType2 ::= SEQUENCE {
+ -- UTRAN mobility IEs
+ ura-IdentityList URA-IdentityList,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType3 ::= SEQUENCE {
+ sib4indicator BOOLEAN,
+ -- UTRAN mobility IEs
+ cellIdentity CellIdentity,
+ cellSelectReselectInfo CellSelectReselectInfoSIB-3-4,
+ cellAccessRestriction CellAccessRestriction,
+ -- Extension mechanism for non- release99 information
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType3-v4b0ext SysInfoType3-v4b0ext-IEs,
+ v590NonCriticalExtension SEQUENCE {
+ sysInfoType3-v590ext SysInfoType3-v590ext,
+ v5c0NoncriticalExtension SEQUENCE {
+ sysInfoType3-v5c0ext SysInfoType3-v5c0ext-IEs,
+ v670NonCriticalExtension SEQUENCE {
+ sysInfoType3-v670ext SysInfoType3-v670ext,
+ v770NonCriticalExtension SEQUENCE {
+ sysInfoType3-v770ext SysInfoType3-v770ext-IEs,
+ v830NonCriticalExtension SEQUENCE {
+ sysInfoType3-v830ext SysInfoType3-v830ext-IEs,
+ v860NonCriticalExtension SEQUENCE {
+ sysInfoType3-v860ext SysInfoType3-v860ext-IEs,
+ v870NonCriticalExtension SEQUENCE {
+ sysInfoType3-v870ext SysInfoType3-v870ext-IEs,
+ v900NonCriticalExtension SEQUENCE {
+ sysInfoType3-v920ext SysInfoType3-v920ext-IEs,
+ vc50NonCriticalExtension SEQUENCE {
+ sysInfoType3-vc50ext SysInfoType3-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType3-v4b0ext-IEs ::= SEQUENCE {
+ mapping-LCR Mapping-LCR-r4 OPTIONAL
+}
+
+SysInfoType3-v590ext ::= SEQUENCE {
+ cellSelectReselectInfo-v590ext CellSelectReselectInfo-v590ext OPTIONAL
+}
+
+SysInfoType3-v5c0ext-IEs ::= SEQUENCE {
+ cellSelectReselectInfoTreselectionScaling-v5c0ext
+ CellSelectReselectInfoTreselectionScaling-v5c0ext OPTIONAL
+}
+
+SysInfoType3-v670ext ::= SEQUENCE {
+ domainSpecificAccessRestrictionParametersForPLMNOfMIB
+ DomainSpecificAccessRestrictionParam-v670ext OPTIONAL,
+ domainSpecificAccessRestictionForSharedNetwork
+ DomainSpecificAccessRestrictionForSharedNetwork-v670ext OPTIONAL
+}
+
+SysInfoType3-v770ext-IEs ::= SEQUENCE {
+ deferredMeasurementControlReadingSupport
+ DeferredMeasurementControlReadingSupport OPTIONAL,
+ q-QualMin-Offset Q-QualMin-Offset OPTIONAL,
+ q-RxlevMin-Offset Q-RxlevMin-Offset OPTIONAL,
+ mbsfnOnlyService MBSFNOnlyService OPTIONAL
+}
+
+SysInfoType3-v830ext-IEs ::= SEQUENCE {
+ pagingPermissionWithAccessControlParametersForPLMNOfMIB
+ PagingPermissionWithAccessControlParameters OPTIONAL,
+ pagingPermissionWithAccessControlParametersForSharedNetwork
+ PagingPermissionWithAccessControlForSharedNetwork OPTIONAL
+}
+
+SysInfoType3-v860ext-IEs ::= SEQUENCE {
+ csgIdentity CSG-Identity OPTIONAL,
+ csg-PSCSplitInfo CSG-PSCSplitInfo OPTIONAL
+}
+
+SysInfoType3-v870ext-IEs ::= SEQUENCE {
+ cellAccessRestriction CellAccessRestriction-v870ext OPTIONAL
+}
+
+SysInfoType3-v920ext-IEs ::= SEQUENCE {
+ imsEmergencySupportIndicator ENUMERATED { supported } OPTIONAL
+}
+
+SysInfoType3-vc50ext-IEs ::= SEQUENCE {
+ txFailParams TxFailParams OPTIONAL
+}
+
+SysInfoType4 ::= SEQUENCE {
+ -- UTRAN mobility IEs
+ cellIdentity CellIdentity,
+ cellSelectReselectInfo CellSelectReselectInfoSIB-3-4,
+ cellAccessRestriction CellAccessRestriction,
+ -- Extension mechanism for non- release99 information
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType4-v4b0ext SysInfoType4-v4b0ext-IEs,
+ v590NonCriticalExtension SEQUENCE {
+ sysInfoType4-v590ext SysInfoType4-v590ext,
+ v5b0NonCriticalExtension SEQUENCE {
+ sysInfoType4-v5b0ext SysInfoType4-v5b0ext-IEs,
+ v5c0NonCriticalExtension SEQUENCE {
+ sysInfoType4-v5c0ext SysInfoType4-v5c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType4-v4b0ext-IEs ::= SEQUENCE {
+ mapping-LCR Mapping-LCR-r4 OPTIONAL
+}
+
+
+SysInfoType4-v590ext ::= SEQUENCE {
+ cellSelectReselectInfo-v590ext CellSelectReselectInfo-v590ext OPTIONAL
+}
+
+SysInfoType4-v5b0ext-IEs ::= SEQUENCE {
+ cellSelectReselectInfoPCHFACH-v5b0ext CellSelectReselectInfoPCHFACH-v5b0ext OPTIONAL
+}
+
+SysInfoType4-v5c0ext-IEs ::= SEQUENCE {
+ cellSelectReselectInfoTreselectionScaling-v5c0ext
+ CellSelectReselectInfoTreselectionScaling-v5c0ext OPTIONAL
+}
+
+SysInfoType5 ::= SEQUENCE {
+ sib6indicator BOOLEAN,
+ -- Physical channel IEs
+ pich-PowerOffset PICH-PowerOffset,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ aich-PowerOffset AICH-PowerOffset
+ },
+ tdd SEQUENCE {
+ -- If PDSCH/PUSCH is configured for 1.28Mcps or 7.68Mcps TDD, the following IEs should be absent
+ -- and the info included in the respective tdd128SpecificInfo or tdd768SpecificInfo instead.
+ -- If PDSCH/PUSCH is configured for 3.84Mcps TDD in R5, HCR-r5-SpecificInfo should also be
+ -- included.
+ pusch-SysInfoList-SFN PUSCH-SysInfoList-SFN OPTIONAL,
+ pdsch-SysInfoList-SFN PDSCH-SysInfoList-SFN OPTIONAL,
+ openLoopPowerControl-TDD OpenLoopPowerControl-TDD
+ }
+ },
+ primaryCCPCH-Info PrimaryCCPCH-Info OPTIONAL,
+ prach-SystemInformationList PRACH-SystemInformationList,
+ sCCPCH-SystemInformationList SCCPCH-SystemInformationList,
+ -- cbs-DRX-Level1Information is conditional on any of the CTCH indicator IEs in
+ -- sCCPCH-SystemInformationList
+ cbs-DRX-Level1Information CBS-DRX-Level1Information OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v4b0ext SysInfoType5-v4b0ext-IEs OPTIONAL,
+ -- Extension mechanism for non- rel-4 information
+ v590NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v590ext SysInfoType5-v590ext-IEs OPTIONAL,
+ v650NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v650ext SysInfoType5-v650ext-IEs OPTIONAL,
+ v680NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v680ext SysInfoType5-v680ext-IEs OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v690ext SysInfoType5-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v770ext SysInfoType5-v770ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v860ext SysInfoType5-v860ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v890ext SysInfoType5-v890ext-IEs,
+ v8b0NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v8b0ext
+ SysInfoType5-v8b0ext-IEs,
+ v8d0NonCriticalExtensions SEQUENCE {
+ sysInfoType5-v8d0ext
+ SysInfoType5-v8d0ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ sysInfoType5-va40ext
+ SysInfoType5-va40ext-IEs,
+ va80NonCriticalExtensions SEQUENCE {
+ sysInfoType5-va80ext SysInfoType5-va80ext-IEs,
+ vb50NonCriticalExtensions
+ SysInfoType5-NonCriticalExtensions-vb50-IEs
+ OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType5-v4b0ext-IEs ::= SEQUENCE {
+ --The following IE PNBSCH-Allocation-r4 shall be used for 3.84Mcps TDD only.
+ pNBSCH-Allocation-r4 PNBSCH-Allocation-r4 OPTIONAL,
+ -- In case of TDD, the following IE is included instead of the
+ -- IE up-IPDL-Parameter in up-OTDOA-AssistanceData.
+ openLoopPowerControl-IPDL-TDD OpenLoopPowerControl-IPDL-TDD-r4 OPTIONAL,
+-- If SysInfoType5 is sent to describe a 1.28Mcps TDD cell, the IE PRACH-RACH-Info included in
+-- PRACH-SystemInformationList shall be ignored, the IE PRACH-Partitioning and the
+-- IE rach-TransportFormatSet shall be absent and the corresponding IE in the following
+-- PRACH-SystemInformationList-LCR-r4 shall be used
+ prach-SystemInformationList-LCR-r4 PRACH-SystemInformationList-LCR-r4 OPTIONAL,
+ tdd128SpecificInfo SEQUENCE {
+ pusch-SysInfoList-SFN PUSCH-SysInfoList-SFN-LCR-r4 OPTIONAL,
+ pdsch-SysInfoList-SFN PDSCH-SysInfoList-SFN-LCR-r4 OPTIONAL,
+ pCCPCH-LCR-Extensions PrimaryCCPCH-Info-LCR-r4-ext OPTIONAL,
+ sCCPCH-LCR-ExtensionsList SCCPCH-SystemInformationList-LCR-r4-ext
+ } OPTIONAL,
+ frequencyBandIndicator RadioFrequencyBandFDD OPTIONAL
+}
+
+SysInfoType5-v590ext-IEs ::= SEQUENCE {
+ hcr-r5-SpecificInfo SEQUENCE {
+ pusch-SysInfoList-SFN PUSCH-SysInfoList-SFN-HCR-r5 OPTIONAL,
+ pdsch-SysInfoList-SFN PDSCH-SysInfoList-SFN-HCR-r5 OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType5-v650ext-IEs ::= SEQUENCE {
+ frequencyBandIndicator2 RadioFrequencyBandFDD2
+}
+
+SysInfoType5-v680ext-IEs ::= SEQUENCE {
+ -- TABULAR: HSDPA Cell Indicator is MD in tabular description
+ -- Default value is 'HSDPA Capability not indicated'
+ hsdpa-CellIndicator ENUMERATED { hsdpa-CapableCell } OPTIONAL
+}
+
+SysInfoType5-v690ext-IEs ::= SEQUENCE {
+ -- TABULAR: E-DCH Cell Indicator is MD in tabular description
+ -- Default value is 'E-DCH Capability not indicated'
+ edch-CellIndicator ENUMERATED { edch-CapableCell } OPTIONAL,
+ sccpch-SystemInformation-MBMS CHOICE {
+ mcchOnSCCPCHusedForNonMBMS MBMS-MCCH-ConfigurationInfo-r6,
+ mcchOnSCCPCHusedOnlyForMBMS SCCPCH-SystemInformation-MBMS-r6
+ } OPTIONAL,
+ additionalPRACH-TF-and-TFCS-CCCH-List AdditionalPRACH-TF-and-TFCS-CCCH-List OPTIONAL,
+ cBS-DRX-Level1Information-extension CBS-DRX-Level1Information-extension-r6 OPTIONAL
+}
+
+SysInfoType5-v770ext-IEs ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ hs-dsch-CommonSystemInformation HS-DSCH-CommonSystemInformation,
+ hs-dsch-PagingSystemInformation HS-DSCH-PagingSystemInformation OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ pusch-SysInfoList-SFN PUSCH-SysInfoList-SFN-VHCR OPTIONAL,
+ pdsch-SysInfoList-SFN PDSCH-SysInfoList-VHCR-r7 OPTIONAL,
+ -- If SysInfoType5 is sent to configure a 7.68Mcps TDD cell, the 'prach-RACH-Info' in
+ -- IE PRACH-SystemInformationList shall be ignored, 'prach-Partitioning' shall be absent
+ -- and the corresponding IE in the following IE PRACH-SystemInformationList-VHCR-r7
+ -- shall be used instead.
+ prach-SystemInformationList PRACH-SystemInformationList-VHCR-r7 OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ prach-SystemInformationList PRACH-SystemInformationList-LCR-v770ext OPTIONAL
+ }
+ } OPTIONAL,
+ -- If SysInfoType5 is sent to configure a 7.68 Mcps TDD cell (in any mode) or a 3.84 Mcps TDD
+ -- cell operating in MBSFN mode, IE SCCPCH-SystemInformationList-HCR-VHCR-r7 is used, otherwise
+ -- IE SCCPCH-SystemInformationList-r6 is used.
+ sccpch-SystemInformationList SCCPCH-SystemInformationList-HCR-VHCR-r7 OPTIONAL,
+ sccpch-SystemInformation-MBMS CHOICE {
+ -- If choice is 'mcchOnSCCPCHusedForNonMBMS', IE MBMS-MCCH-ConfigurationInfo-r6 is used.
+ -- If choice is 'mcchOnSCCPCHusedOnlyForMBMS', IE MBMS-MCCH-ConfigurationInfo-r7 is used
+ -- to configure a 7.68Mcps TDD cell or a cell operating in MBSFN mode, otherwise IE
+ -- SCCPCH-SystemInformation-MBMS-r6 is used.
+ mcchOnSCCPCHusedOnlyForMBMS SCCPCH-SystemInformation-MBMS-r7
+ } OPTIONAL,
+ tDD-MBSFNInformation TDD-MBSFNInformation OPTIONAL
+}
+
+SysInfoType5-v860ext-IEs ::= SEQUENCE {
+ -- The field 'dummy' shall be marked absent in SysInfoType5 and SysInfoType5bis. A failure to
+ -- comply with this requirement may prevent the UE to receive any service in the cell. The UE
+ -- may treat the cell as barred.
+ dummy SEQUENCE {} OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ hs-dsch-DrxCellfach-info HS-DSCH-DrxCellfach-info OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ hs-dsch-CommonSysInfo SEQUENCE {
+ hs-dsch-CommonSystemInformation HS-DSCH-CommonSystemInformation-TDD128,
+ hs-dsch-PagingSystemInformation HS-DSCH-PagingSystemInformation-TDD128 OPTIONAL
+ } OPTIONAL,
+ hs-dsch-DrxCellfach-info HS-DSCH-DrxCellfach-info-TDD128 OPTIONAL
+ }
+ }
+}
+
+SysInfoType5-v890ext-IEs ::= SEQUENCE {
+ secondFrequencyInfo FrequencyInfoTDD OPTIONAL,
+ commonEDCHSystemInfo CommonEDCHSystemInfo OPTIONAL
+}
+
+SysInfoType5-v8b0ext-IEs ::= SEQUENCE {
+ tresetUsageIndicator ENUMERATED { true } OPTIONAL,
+ upPCHpositionInfo UpPCHposition-LCR OPTIONAL
+}
+
+SysInfoType5-v8d0ext-IEs ::= SEQUENCE {
+ commonEDCHSystemInfoFDD CommonEDCHSystemInfoFDD OPTIONAL
+}
+
+SysInfoType5-va40ext-IEs ::= SEQUENCE {
+ frequencyBandsIndicatorSupport FrequencyBandsIndicatorSupport OPTIONAL,
+ frequencyBandIndicator3 RadioFrequencyBandFDD3 OPTIONAL
+}
+
+SysInfoType5-va80ext-IEs ::= SEQUENCE {
+ multipleFrequencyBandIndicatorListFDD MultipleFrequencyBandIndicatorListFDD OPTIONAL
+}
+
+SysInfoType5-NonCriticalExtensions-vb50-IEs::= SEQUENCE {
+ sysInfoType5-vb50ext SysInfoType5-vb50ext-IEs,
+ ve30NonCriticalExtensions SysInfoType5-NonCriticalExtensions-ve30-IEs OPTIONAL
+
+}
+
+SysInfoType5-NonCriticalExtensions-ve30-IEs::= SEQUENCE {
+ sysInfoType5-ve30ext SysInfoType5-ve30ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+
+}
+
+SysInfoType5-ve30ext-IEs ::= SEQUENCE {
+ adjacentchannelinterferencelevel ENUMERATED { moderate, high } OPTIONAL
+}
+
+SysInfoType5-vb50ext-IEs ::= SEQUENCE {
+ sib22indicator BOOLEAN,
+ cellUpdateMessageOptimisedEncoding ENUMERATED { true } OPTIONAL
+}
+
+-- SysInfoType5bis uses the same structure as SysInfoType5
+SysInfoType5bis ::= SysInfoType5
+
+SysInfoType6 ::= SEQUENCE {
+ -- Physical channel IEs
+ pich-PowerOffset PICH-PowerOffset,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ aich-PowerOffset AICH-PowerOffset,
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy CSICH-PowerOffset OPTIONAL
+ },
+ tdd SEQUENCE {
+ -- If PDSCH/PUSCH is configured for 1.28Mcps TDD, pusch-SysInfoList-SFN,
+ -- pdsch-SysInfoList-SFN and openLoopPowerControl-TDD should be absent
+ -- and the info included in the tdd128SpecificInfo instead.
+ -- If PDSCH/PUSCH is configured for 7.68Mcps TDD, pusch-SysInfoList-SFN
+ -- and pdsch-SysInfoList-SFN should be absent and the info included in the
+ -- tdd768SpecificInfo instead.
+ -- If PDSCH/PUSCH is configured for 3.84Mcps TDD in R5, HCR-r5-SpecificInfo should
+ -- also be included.
+ pusch-SysInfoList-SFN PUSCH-SysInfoList-SFN OPTIONAL,
+ pdsch-SysInfoList-SFN PDSCH-SysInfoList-SFN OPTIONAL,
+ openLoopPowerControl-TDD OpenLoopPowerControl-TDD
+ }
+ },
+ primaryCCPCH-Info PrimaryCCPCH-Info OPTIONAL,
+ prach-SystemInformationList PRACH-SystemInformationList OPTIONAL,
+ sCCPCH-SystemInformationList SCCPCH-SystemInformationList OPTIONAL,
+ cbs-DRX-Level1Information CBS-DRX-Level1Information OPTIONAL,
+ -- Conditional on any of the CTCH indicator IEs in
+ -- sCCPCH-SystemInformationList
+ -- Extension mechanism for non- release99 information
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType6-v4b0ext SysInfoType6-v4b0ext-IEs OPTIONAL,
+ -- Extension mechanism for non- rel-4 information
+ v590NonCriticalExtensions SEQUENCE {
+ sysInfoType6-v590ext SysInfoType6-v590ext-IEs OPTIONAL,
+ v650nonCriticalExtensions SEQUENCE {
+ sysInfoType6-v650ext SysInfoType6-v650ext-IEs OPTIONAL,
+ v690nonCriticalExtensions SEQUENCE {
+ sysInfoType6-v690ext SysInfoType6-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ sysInfoType6-v770ext SysInfoType6-v770ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ sysInfoType6-va40ext SysInfoType6-va40ext-IEs,
+ va80NonCriticalExtensions SEQUENCE {
+ sysInfoType6-va80ext SysInfoType6-va80ext-IEs,
+ ve30NonCriticalExtensions SysInfoType6-NonCriticalExtensions-ve30-IEs OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType6-NonCriticalExtensions-ve30-IEs::= SEQUENCE {
+ sysInfoType6-ve30ext SysInfoType6-ve30ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType6-ve30ext-IEs ::= SEQUENCE {
+ adjacentchannelinterferencelevel ENUMERATED { moderate, high } OPTIONAL
+}
+
+SysInfoType6-v4b0ext-IEs ::= SEQUENCE {
+ -- openLoopPowerControl-IPDL-TDD is present only if IPDLs are applied for TDD
+ openLoopPowerControl-IPDL-TDD OpenLoopPowerControl-IPDL-TDD-r4 OPTIONAL,
+ -- If SysInfoType6 is sent to describe a 1.28Mcps TDD cell, the IE PRACH-RACH-Info included
+ -- in PRACH-SystemInformationList shall be ignored, the IE PRACH-Partitioning and the
+ -- IE rach-TransportFormatSet shall be absent and the corresponding IEs in the following
+ -- PRACH-SystemInformationList-LCR-r4 shall be used
+ prach-SystemInformationList-LCR-r4 PRACH-SystemInformationList-LCR-r4 OPTIONAL,
+ tdd128SpecificInfo SEQUENCE {
+ pusch-SysInfoList-SFN PUSCH-SysInfoList-SFN-LCR-r4 OPTIONAL,
+ pdsch-SysInfoList-SFN PDSCH-SysInfoList-SFN-LCR-r4 OPTIONAL,
+ pCCPCH-LCR-Extensions PrimaryCCPCH-Info-LCR-r4-ext OPTIONAL,
+ sCCPCH-LCR-ExtensionsList SCCPCH-SystemInformationList-LCR-r4-ext OPTIONAL
+ } OPTIONAL,
+ frequencyBandIndicator RadioFrequencyBandFDD OPTIONAL
+}
+
+SysInfoType6-v590ext-IEs ::= SEQUENCE {
+ hcr-r5-SpecificInfo SEQUENCE {
+ pusch-SysInfoList-SFN PUSCH-SysInfoList-SFN-HCR-r5 OPTIONAL,
+ pdsch-SysInfoList-SFN PDSCH-SysInfoList-SFN-HCR-r5 OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType6-v650ext-IEs ::= SEQUENCE {
+ frequencyBandIndicator2 RadioFrequencyBandFDD2
+}
+
+SysInfoType6-v690ext-IEs ::= SEQUENCE {
+ additionalPRACH-TF-and-TFCS-CCCH-List AdditionalPRACH-TF-and-TFCS-CCCH-List OPTIONAL
+}
+
+SysInfoType6-v770ext-IEs ::= SEQUENCE {
+ tdd768SpecificInfo SEQUENCE {
+ pusch-SysInfoList-SFN PUSCH-SysInfoList-SFN-VHCR OPTIONAL,
+ pdsch-SysInfoList-SFN PDSCH-SysInfoList-VHCR-r7 OPTIONAL,
+ -- If SysInfoType6 is sent to configure a 7.68Mcps TDD cell, the 'prach-RACH-Info' in
+ -- IE PRACH-SystemInformationList shall be ignored, 'prach-Partitioning' shall be absent
+ -- and the corresponding IE in the following IE PRACH-SystemInformationList-VHCR-r7
+ -- shall be used instead.
+ prach-SystemInformationList PRACH-SystemInformationList-VHCR-r7 OPTIONAL
+ } OPTIONAL,
+ -- If SysInfoType6 is sent to configure a 7.68 Mcps TDD cell,
+ -- IE SCCPCH-SystemInformationList-HCR-VHCR-r7 is used, otherwise
+ -- IE SCCPCH-SystemInformationList-r6 is used.
+ sccpch-SystemInformationList SCCPCH-SystemInformationList-HCR-VHCR-r7 OPTIONAL
+}
+
+SysInfoType6-va40ext-IEs ::= SEQUENCE {
+ frequencyBandIndicator3 RadioFrequencyBandFDD3 OPTIONAL
+}
+
+SysInfoType6-va80ext-IEs ::= SEQUENCE {
+ multipleFrequencyBandIndicatorListFDD MultipleFrequencyBandIndicatorListFDD OPTIONAL
+}
+
+SysInfoType7 ::= SEQUENCE {
+ -- Physical channel IEs
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-Interference UL-Interference
+ },
+ tdd NULL
+ },
+ prach-Information-SIB5-List DynamicPersistenceLevelList,
+ prach-Information-SIB6-List DynamicPersistenceLevelList OPTIONAL,
+ expirationTimeFactor ExpirationTimeFactor OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+-- This IE is not used in this version of the specification.
+-- It was kept only for backwards compatibility reasons
+SysInfoType8 ::= SEQUENCE {
+ -- User equipment IEs
+ -- dummy1, dummy2, dummy3 are not used in this version of the specification and
+ -- they should be ignored by the receiver.
+ dummy1 CPCH-Parameters,
+ -- Physical channel IEs
+ dummy2 CPCH-SetInfoList,
+ dummy3 CSICH-PowerOffset,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+-- This IE is not used in this version of the specification.
+-- It was kept only for backwards compatibility reasons
+SysInfoType9 ::= SEQUENCE {
+ -- Physical channel IEs
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy CPCH-PersistenceLevelsList,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+-- This IE is not used in this version of the specification.
+-- It was kept only for backwards compatibility reasons
+SysInfoType10 ::= SEQUENCE {
+ -- User equipment IEs
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DRAC-SysInfoList,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType11 ::= SEQUENCE {
+ sib12indicator BOOLEAN,
+ -- Measurement IEs
+ fach-MeasurementOccasionInfo FACH-MeasurementOccasionInfo OPTIONAL,
+ measurementControlSysInfo MeasurementControlSysInfo,
+ -- Extension mechanism for non- release99 information
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType11-v4b0ext SysInfoType11-v4b0ext-IEs OPTIONAL,
+ v590NonCriticalExtension SEQUENCE {
+ sysInfoType11-v590ext SysInfoType11-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ sysInfoType11-v690ext SysInfoType11-v690ext-IEs,
+ v6b0NonCriticalExtensions SEQUENCE {
+ sysInfoType11-v6b0ext SysInfoType11-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ sysInfoType11-v770ext SysInfoType11-v770ext-IEs,
+ v7b0NonCriticalExtensions SEQUENCE {
+ sysInfoType11-v7b0ext SysInfoType11-v7b0ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ sysInfoType11-v860ext SysInfoType11-v860ext-IEs,
+ va80NonCriticalExtensions SEQUENCE {
+ sysInfoType11-va80ext SysInfoType11-va80ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoType11-vc50ext SysInfoType11-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType11-v4b0ext-IEs ::= SEQUENCE {
+ fach-MeasurementOccasionInfo-LCR-Ext FACH-MeasurementOccasionInfo-LCR-r4-ext OPTIONAL,
+ measurementControlSysInfo-LCR MeasurementControlSysInfo-LCR-r4-ext
+}
+
+SysInfoType11-v590ext-IEs ::= SEQUENCE {
+ --The order of the list corresponds to the order of cell in newIntraFrequencyCellInfoList
+ newIntraFrequencyCellInfoList-v590ext SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellSelectReselectInfo-v590ext OPTIONAL,
+ --The order of the list corresponds to the order of cell in newInterFrequencyCellInfoList
+ newInterFrequencyCellInfoList-v590ext SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellSelectReselectInfo-v590ext OPTIONAL,
+ --The order of the list corresponds to the order of cell in newInterRATCellInfoList
+ newInterRATCellInfoList-v590ext SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellSelectReselectInfo-v590ext OPTIONAL,
+ intraFreqEventCriteriaList-v590ext Intra-FreqEventCriteriaList-v590ext OPTIONAL,
+ intraFreqReportingCriteria-1b-r5 IntraFreqReportingCriteria-1b-r5 OPTIONAL,
+ intraFreqEvent-1d-r5 IntraFreqEvent-1d-r5 OPTIONAL
+}
+
+SysInfoType11-v690ext-IEs ::= SEQUENCE {
+ -- dummy is not used in this version of the specification. If received, the UE behaviour
+ -- is not specified.
+ dummy Dummy-InterFreqRACHReportingInfo OPTIONAL
+}
+
+SysInfoType11-v6b0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ interFreqRACHReportingInfo InterFreqRACHReportingInfo OPTIONAL
+}
+
+SysInfoType11-v770ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ mbsfnFrequencyList MBSFNFrequencyList OPTIONAL
+}
+
+SysInfoType11-v7b0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ newInterFreqCellList NewInterFreqCellList-v7b0ext OPTIONAL
+}
+
+SysInfoType11-v860ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ mbsfnFrequencyList MBSFNFrequencyList-v860ext OPTIONAL
+}
+
+SysInfoType11-va80ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ multipleFrequencyInfoListFDD MultipleFrequencyInfoListFDD OPTIONAL
+}
+
+SysInfoType11-vc50ext-IEs ::= SEQUENCE {
+ measurementControlSysInfo MeasurementControlSysInfo-vc50ext OPTIONAL,
+ -- Measurement IEs
+ measurementScalingFactor MeasurementScalingFactor OPTIONAL
+}
+
+MeasurementScalingFactor ::= ENUMERATED {
+ sf-utra-cf1, sf-utra-cf2}
+
+
+SysInfoType11bis ::= SEQUENCE {
+ -- Measurement IEs
+ measurementControlSysInfo MeasurementControlSysInfoExtension OPTIONAL,
+ measurementControlSysInfo-LCR MeasurementControlSysInfoExtension-LCR-r4 OPTIONAL,
+ measurementControlSysInfoExtensionAddon-r5
+ MeasurementControlSysInfoExtensionAddon-r5 OPTIONAL,
+ -- Extension mechanism for non-release99 information
+ v7b0NonCriticalExtensions SEQUENCE {
+ sysInfoType11bis-v7b0ext SysInfoType11bis-v7b0ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ sysInfoType11bis-v860ext SysInfoType11bis-v860ext-IEs,
+ va80NonCriticalExtensions SEQUENCE {
+ sysInfoType11bis-va80ext SysInfoType11bis-va80ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoType11bis-vc50ext SysInfoType11bis-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType11bis-v7b0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ newInterFreqCellList NewInterFreqCellList-v7b0ext OPTIONAL
+}
+
+SysInfoType11bis-v860ext-IEs ::= SEQUENCE {
+ -- UTRAN mobility IEs
+ csg-PSCSplitInfo CSG-PSCSplitInfo OPTIONAL,
+ csg-DedicatedFrequencyInfoList CSG-DedicatedFrequencyInfoList OPTIONAL
+}
+
+SysInfoType11bis-va80ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ multipleFrequencyInfoListFDD MultipleFrequencyInfoListFDD OPTIONAL
+}
+
+SysInfoType11bis-vc50ext-IEs ::= SEQUENCE {
+ measurementControlSysInfo MeasurementControlSysInfo-vc50ext OPTIONAL
+}
+
+SysInfoType11ter ::= SEQUENCE {
+ -- Measurement IEs
+ measureControlSysInfoInterFreqExt MeasureControlSysInfoInterFreqExt OPTIONAL,
+ multipleFrequencyInfoListFDD MultipleFrequencyInfoListFDD OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType12 ::= SEQUENCE {
+ -- Measurement IEs
+ fach-MeasurementOccasionInfo FACH-MeasurementOccasionInfo OPTIONAL,
+ measurementControlSysInfo MeasurementControlSysInfo,
+ -- Extension mechanism for non- release99 information
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType12-v4b0ext SysInfoType12-v4b0ext-IEs OPTIONAL,
+ v590NonCriticalExtension SEQUENCE {
+ sysInfoType12-v590ext SysInfoType12-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ sysInfoType12-v690ext SysInfoType12-v690ext-IEs,
+ v6b0NonCriticalExtensions SEQUENCE {
+ sysInfoType12-v6b0ext SysInfoType12-v6b0ext-IEs,
+ v7b0NonCriticalExtensions SEQUENCE {
+ sysInfoType12-v7b0ext SysInfoType12-v7b0ext-IEs,
+ va80NonCriticalExtensions SEQUENCE {
+ sysInfoType12-va80ext SysInfoType12-va80ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoType12-vc50ext SysInfoType12-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType12-v4b0ext-IEs ::= SEQUENCE {
+ fach-MeasurementOccasionInfo-LCR-Ext FACH-MeasurementOccasionInfo-LCR-r4-ext OPTIONAL,
+ measurementControlSysInfo-LCR MeasurementControlSysInfo-LCR-r4-ext
+}
+
+SysInfoType12-v590ext-IEs ::= SEQUENCE {
+ --The order of the list corresponds to the order of cell in newIntraFrequencyCellInfoList
+ newIntraFrequencyCellInfoList-v590ext SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellSelectReselectInfo-v590ext OPTIONAL,
+ --The order of the list corresponds to the order of cell in newInterFrequencyCellInfoList
+ newInterFrequencyCellInfoList-v590ext SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellSelectReselectInfo-v590ext OPTIONAL,
+ --The order of the list corresponds to the order of cell in newInterRATCellInfoList
+ newInterRATCellInfoList-v590ext SEQUENCE (SIZE (1..maxCellMeas)) OF
+ CellSelectReselectInfo-v590ext OPTIONAL,
+ intraFreqEventCriteriaList-v590ext Intra-FreqEventCriteriaList-v590ext OPTIONAL,
+ intraFreqReportingCriteria-1b-r5 IntraFreqReportingCriteria-1b-r5 OPTIONAL,
+ intraFreqEvent-1d-r5 IntraFreqEvent-1d-r5 OPTIONAL
+}
+
+SysInfoType12-v690ext-IEs ::= SEQUENCE {
+ -- dummy is not used in this version of the specification. If received, the UE behaviour
+ -- is not specified.
+ dummy Dummy-InterFreqRACHReportingInfo OPTIONAL
+}
+
+SysInfoType12-v6b0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ interFreqRACHReportingInfo InterFreqRACHReportingInfo OPTIONAL
+}
+
+SysInfoType12-v7b0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ newInterFreqCellList NewInterFreqCellList-v7b0ext OPTIONAL
+}
+
+SysInfoType12-va80ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ multipleFrequencyInfoListFDD MultipleFrequencyInfoListFDD OPTIONAL
+}
+
+SysInfoType12-vc50ext-IEs ::= SEQUENCE {
+ measurementControlSysInfo MeasurementControlSysInfo-vc50ext OPTIONAL
+}
+
+SysInfoType13 ::= SEQUENCE {
+ -- Core network IEs
+ cn-DomainSysInfoList CN-DomainSysInfoList,
+ -- User equipment IEs
+ ue-IdleTimersAndConstants UE-IdleTimersAndConstants OPTIONAL,
+ capabilityUpdateRequirement CapabilityUpdateRequirement OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ v3a0NonCriticalExtensions SEQUENCE {
+ sysInfoType13-v3a0ext SysInfoType13-v3a0ext-IEs,
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType13-v4b0ext SysInfoType13-v4b0ext-IEs,
+ -- Extension mechanism for non- release99 information
+ v770NonCriticalExtensions SEQUENCE {
+ sysInfoType13-v770ext SysInfoType13-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType13-v3a0ext-IEs ::= SEQUENCE {
+ ue-IdleTimersAndConstants-v3a0ext UE-IdleTimersAndConstants-v3a0ext
+}
+
+SysInfoType13-v4b0ext-IEs ::= SEQUENCE {
+ capabilityUpdateRequirement-r4Ext CapabilityUpdateRequirement-r4-ext OPTIONAL
+}
+
+SysInfoType13-v770ext-IEs ::= SEQUENCE {
+ capabilityUpdateRequirement CapabilityUpdateRequirement-v770ext OPTIONAL
+}
+
+SysInfoType13-1 ::= SEQUENCE {
+ -- ANSI-41 IEs
+ ansi-41-RAND-Information ANSI-41-RAND-Information,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType13-2 ::= SEQUENCE {
+ -- ANSI-41 IEs
+ ansi-41-UserZoneID-Information ANSI-41-UserZoneID-Information,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType13-3 ::= SEQUENCE {
+ -- ANSI-41 IEs
+ ansi-41-PrivateNeighbourListInfo ANSI-41-PrivateNeighbourListInfo,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType13-4 ::= SEQUENCE {
+ -- ANSI-41 IEs
+ ansi-41-GlobalServiceRedirectInfo
+ ANSI-41-GlobalServiceRedirectInfo,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType14 ::= SEQUENCE {
+ -- Physical channel IEs
+ individualTS-InterferenceList IndividualTS-InterferenceList,
+ expirationTimeFactor ExpirationTimeFactor OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType15 ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GPS-CipherParameters UE-Positioning-CipherParameters OPTIONAL,
+ ue-positioning-GPS-ReferenceLocation ReferenceLocation,
+ ue-positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime,
+ ue-positioning-GPS-Real-timeIntegrity BadSatList OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType15-v4b0ext SysInfoType15-v4b0ext-IEs,
+ -- Extension mechanism for non- release4 information
+ v770NonCriticalExtensions SEQUENCE {
+ sysInfoType15-v770ext SysInfoType15-v770ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ sysInfoType15-va40ext SysInfoType15-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15-v4b0ext-IEs ::= SEQUENCE {
+ up-Ipdl-Parameters-TDD UE-Positioning-IPDL-Parameters-TDD-r4-ext OPTIONAL
+}
+
+SysInfoType15-v770ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-Positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime-v770ext
+}
+
+SysInfoType15-va40ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-Positioning-GPS-ReferenceTime UE-Positioning-GPS-ReferenceTime-va40ext
+}
+
+SysInfoType15bis ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-ReferencePosition ReferenceLocationGANSS,
+ ue-positioning-GANSS-ReferenceTime UE-Positioning-GANSS-ReferenceTime,
+ ue-positioning-GANSS-IonosphericModel UE-Positioning-GANSS-IonosphericModel OPTIONAL,
+ -- Extension mechanism for non-release99 information
+ v860NonCriticalExtensions SEQUENCE {
+ sysInfoType15bis-v860ext SysInfoType15bis-v860ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ sysInfoType15bis-va40ext SysInfoType15bis-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15bis-v860ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-Positioning-GANSS-AddIonoModel UE-Positioning-GANSS-AddIonoModel OPTIONAL,
+ ue-Positioning-GANSS-EarthOrientationPara
+ UE-Positioning-GANSS-EarthOrientPara OPTIONAL
+}
+
+SysInfoType15bis-va40ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-ReferenceTime UE-Positioning-GANSS-ReferenceTime-va40ext
+}
+
+SysInfoType15-1 ::= SEQUENCE {
+ -- DGPS corrections
+ ue-positioning-GPS-DGPS-Corrections UE-Positioning-GPS-DGPS-Corrections,
+ -- Extension mechanism for non- release99 information
+ v920NonCriticalExtensions SEQUENCE {
+ sysInfoType15-1-v920ext SysInfoType15-1-v920ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15-1-v920ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GPS-DGPS-Corrections UE-Positioning-GPS-DGPS-Corrections-v920ext
+}
+
+SysInfoType15-1bis ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-DGANSS-Corrections UE-Positioning-DGANSSCorrections,
+ -- Extension mechanism for non-release99 information
+ v920NonCriticalExtensions SEQUENCE {
+ sysInfoType15-1bis-v920ext SysInfoType15-1bis-v920ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15-1bis-v920ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-DGANSS-Corrections UE-Positioning-DGANSSCorrections-v920ext
+}
+
+SysInfoType15-1ter ::= SEQUENCE {
+ -- Measurement IEs
+ uePositioning-BDSCorrections UE-Positioning-DBDSCorrections OPTIONAL,
+ uePositioningBDSIonoGridModel UE-Positioning-BDS-IonoGridModel OPTIONAL,
+ -- Extension mechanism for non-release12 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType15-2 ::= SEQUENCE {
+ -- Ephemeris and clock corrections
+ transmissionTOW GPS-TOW-1sec,
+ satID SatID,
+ ephemerisParameter EphemerisParameter,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType15-2bis ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-navigationModel UE-Positioning-GANSS-NavigationModel,
+ -- Extension mechanism for non-release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType15-2ter ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-AddNavigationModels UE-Positioning-GANSS-AddNavigationModels,
+ -- Extension mechanism for non-release99 information
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoType15-2ter-vc50ext SysInfoType15-2ter-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15-2ter-vc50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-AddNavigationModels UE-Positioning-GANSS-AddNavigationModels-vc50ext OPTIONAL
+}
+
+SysInfoType15-3 ::= SEQUENCE {
+ -- Almanac and other data
+ transmissionTOW GPS-TOW-1sec,
+ ue-positioning-GPS-Almanac UE-Positioning-GPS-Almanac OPTIONAL,
+ ue-positioning-GPS-IonosphericModel UE-Positioning-GPS-IonosphericModel OPTIONAL,
+ ue-positioning-GPS-UTC-Model UE-Positioning-GPS-UTC-Model OPTIONAL,
+ satMask BIT STRING (SIZE (1..32)) OPTIONAL,
+ lsbTOW BIT STRING (SIZE (8)) OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ va40NonCriticalExtensions SEQUENCE {
+ sysInfoType15-3-va40ext SysInfoType15-3-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15-3-va40ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GPS-Almanac UE-Positioning-GPS-Almanac-va40ext OPTIONAL
+}
+
+SysInfoType15-3bis ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-Almanac UE-Positioning-GANSS-Almanac OPTIONAL,
+ ue-positioning-GANSS-TimeModels UE-Positioning-GANSS-TimeModels OPTIONAL,
+ ue-positioning-GANSS-UTC-Model UE-Positioning-GANSS-UTCModel OPTIONAL,
+ -- Extension mechanism for non-release99 information
+ v860NonCriticalExtensions SEQUENCE {
+ sysInfoType15-3bis-v860ext SysInfoType15-3bis-v860ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ sysInfoType15-3bis-va40ext SysInfoType15-3bis-va40ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoType15-3bis-vc50ext SysInfoType15-3bis-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15-3bis-v860ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-Positioning-GANSS-Almanac UE-Positioning-GANSS-Almanac-v860ext OPTIONAL,
+ ue-Positioning-GANSS-AddUTCModels UE-Positioning-GANSS-AddUTCModels OPTIONAL,
+ ue-Positioning-GANSS-AuxiliaryInfo UE-Positioning-GANSS-AuxiliaryInfo OPTIONAL
+}
+
+SysInfoType15-3bis-va40ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-Positioning-GANSS-Almanac UE-Positioning-GANSS-Almanac-va40ext OPTIONAL,
+ ue-positioning-GANSS-TimeModels UE-Positioning-GANSS-TimeModels-va40ext OPTIONAL
+}
+
+SysInfoType15-3bis-vc50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ue-Positioning-GANSS-Almanac UE-Positioning-GANSS-Almanac-vc50ext OPTIONAL,
+ ue-Positioning-GANSS-AddUTCModels UE-Positioning-GANSS-AddUTCModels-vc50ext OPTIONAL
+}
+
+SysInfoType15-4 ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-OTDOA-CipherParameters UE-Positioning-CipherParameters OPTIONAL,
+ ue-positioning-OTDOA-AssistanceData UE-Positioning-OTDOA-AssistanceData,
+ v3a0NonCriticalExtensions SEQUENCE {
+ sysInfoType15-4-v3a0ext SysInfoType15-4-v3a0ext,
+ -- Extension mechanism for non- release99 information
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType15-4-v4b0ext SysInfoType15-4-v4b0ext,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15-4-v3a0ext ::= SEQUENCE {
+ sfn-Offset-Validity SFN-Offset-Validity OPTIONAL
+}
+
+SysInfoType15-4-v4b0ext ::= SEQUENCE {
+ ue-Positioning-OTDOA-AssistanceData-r4ext UE-Positioning-OTDOA-AssistanceData-r4ext OPTIONAL
+}
+
+SysInfoType15-5 ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-OTDOA-AssistanceData-UEB UE-Positioning-OTDOA-AssistanceData-UEB,
+ v3a0NonCriticalExtensions SEQUENCE {
+ sysInfoType15-5-v3a0ext SysInfoType15-5-v3a0ext,
+ -- Extension mechanism for non- release99 information
+ v770NonCriticalExtensions SEQUENCE {
+ sysInfoType15-5-v770ext SysInfoType15-5-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15-5-v3a0ext ::= SEQUENCE {
+ sfn-Offset-Validity SFN-Offset-Validity OPTIONAL
+}
+
+SysInfoType15-5-v770ext-IEs ::= SEQUENCE {
+ ue-Positioning-OTDOA-AssistanceData-UEB-ext
+ UE-Positioning-OTDOA-AssistanceData-UEB-ext OPTIONAL
+}
+
+SysInfoType15-6 ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-TOD INTEGER (0..86399),
+ ue-positioning-GANSS-ReferenceMeasurementInformation
+ UE-Positioning-GANSS-ReferenceMeasurementInfo,
+ -- Extension mechanism for non-release99 information
+ va40NonCriticalExtensions SEQUENCE {
+ sysInfoType15-6-va40ext SysInfoType15-6-va40ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoType15-6-vc50ext SysInfoType15-6-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType15-6-va40ext-IEs ::= SEQUENCE {
+ ue-positioning-GANSS-ReferenceMeasurementInformation
+ UE-Positioning-GANSS-ReferenceMeasurementInfo-va40ext
+}
+
+SysInfoType15-6-vc50ext-IEs ::= SEQUENCE {
+ ue-positioning-GANSS-ReferenceMeasurementInformation
+ UE-Positioning-GANSS-ReferenceMeasurementInfo-vc50ext
+}
+
+SysInfoType15-7 ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-DataBitAssistance UE-Positioning-GANSS-Data-Bit-Assistance,
+ -- Extension mechanism for non-release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType15-8 ::= SEQUENCE {
+ -- Measurement IEs
+ ue-positioning-GANSS-DataCipheringInfo UE-Positioning-CipherParameters OPTIONAL,
+ ue-positioning-GANSS-realTimeIntegrity UE-Positioning-GANSS-RealTimeIntegrity OPTIONAL,
+ -- Extension mechanism for non-release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType16 ::= SEQUENCE {
+ -- Radio bearer IEs
+ preDefinedRadioConfiguration PreDefRadioConfiguration,
+ -- Extension mechanism for non- release99 information
+ v770NonCriticalExtensions SEQUENCE {
+ sysInfoType16-v770ext SysInfoType16-v770ext-IEs,
+ v920NonCriticalExtensions SEQUENCE {
+ sysInfoType16-v920ext SysInfoType16-v920ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType16-v770ext-IEs ::= SEQUENCE {
+ preDefinedRadioConfiguration PreDefRadioConfiguration-v770ext
+}
+
+SysInfoType16-v920ext-IEs ::= SEQUENCE {
+ preDefinedRadioConfiguration PreDefRadioConfiguration-v920ext
+}
+
+SysInfoType17 ::= SEQUENCE {
+ -- Physical channel IEs
+ -- If PDSCH/PUSCH is configured for 1.28Mcps or 7.68Mcps TDD, pusch-SysInfoList and
+ -- pdsch-SysInfoList should be absent and the info included in the respective
+ -- tdd128SpecificInfo or tdd768SpecificInfo instead.
+ -- If PDSCH/PUSCH is configured for 3.84Mcps TDD in R5, HCR-r5-SpecificInfo should also be
+ -- included.
+ pusch-SysInfoList PUSCH-SysInfoList OPTIONAL,
+ pdsch-SysInfoList PDSCH-SysInfoList OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ v4b0NonCriticalExtensions SEQUENCE {
+ sysInfoType17-v4b0ext SysInfoType17-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ sysInfoType17-v590ext SysInfoType17-v590ext-IEs OPTIONAL,
+ v770NonCriticalExtensions SEQUENCE {
+ sysInfoType17-v770ext SysInfoType17-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType17-v4b0ext-IEs ::= SEQUENCE {
+ tdd128SpecificInfo SEQUENCE {
+ pusch-SysInfoList PUSCH-SysInfoList-LCR-r4 OPTIONAL,
+ pdsch-SysInfoList PDSCH-SysInfoList-LCR-r4 OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType17-v590ext-IEs ::= SEQUENCE {
+ hcr-r5-SpecificInfo SEQUENCE {
+ pusch-SysInfoList PUSCH-SysInfoList-HCR-r5 OPTIONAL,
+ pdsch-SysInfoList PDSCH-SysInfoList-HCR-r5 OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType17-v770ext-IEs ::= SEQUENCE {
+ tdd768SpecificInfo SEQUENCE {
+ pusch-SysInfoList-SFN PUSCH-SysInfoList-SFN-VHCR OPTIONAL,
+ pdsch-SysInfoList-SFN PDSCH-SysInfoList-VHCR-r7 OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType18 ::= SEQUENCE {
+ idleModePLMNIdentities PLMNIdentitiesOfNeighbourCells OPTIONAL,
+ connectedModePLMNIdentities PLMNIdentitiesOfNeighbourCells OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ v6b0NonCriticalExtensions SEQUENCE {
+ sysInfoType18-v6b0ext SysInfoType18-v6b0ext,
+ v860NonCriticalExtensions SEQUENCE {
+ sysInfoType18-v860ext SysInfoType18-v860ext,
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoType18-vc50ext SysInfoType18-vc50ext,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType18-v6b0ext ::= SEQUENCE {
+ idleModePLMNIdentitiesSIB11bis PLMNIdentitiesOfNeighbourCells OPTIONAL,
+ connectedModePLMNIdentitiesSIB11bis PLMNIdentitiesOfNeighbourCells OPTIONAL
+}
+
+SysInfoType18-v860ext ::= SEQUENCE {
+ idleModePLMNIdentities PLMNIdentitiesOfNeighbourCells-v860ext OPTIONAL,
+ connectedModePLMNIdentities PLMNIdentitiesOfNeighbourCells-v860ext OPTIONAL
+}
+
+SysInfoType18-vc50ext ::= SEQUENCE {
+ idleModePLMNIdentitiesSIB11ter PLMNIdentitiesOfNeighbourCells-vc50ext OPTIONAL,
+ connectedModePLMNIdentitiesSIB11ter PLMNIdentitiesOfNeighbourCells-vc50ext OPTIONAL
+}
+
+SysInfoType19 ::= SEQUENCE {
+ -- Measurement IEs
+ utra-PriorityInfoList UTRA-PriorityInfoList,
+ gsm-PriorityInfoList GSM-PriorityInfoList OPTIONAL,
+ eutra-FrequencyAndPriorityInfoList EUTRA-FrequencyAndPriorityInfoList OPTIONAL,
+ -- Extension mechanism for non-release8 information
+ v920NonCriticalExtensions SEQUENCE {
+ sysInfoType19-v920ext SysInfoType19-v920ext,
+ va80NonCriticalExtensions SEQUENCE {
+ sysInfoType19-va80ext SysInfoType19-va80ext,
+ vb30NonCriticalExtensions SEQUENCE {
+ sysInfoType19-vb30ext SysInfoType19-vb30ext,
+ vb50NonCriticalExtensions SEQUENCE {
+ sysInfoType19-vb50ext SysInfoType19-vb50ext,
+ vb80NonCriticalExtensions SEQUENCE {
+ sysInfoType19-vb80ext SysInfoType19-vb80ext,
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoType19-vc50ext SysInfoType19-vc50ext,
+ vd20NonCriticalExtensions SEQUENCE {
+ sysInfoType19-vd20ext SysInfoType19-vd20ext,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType19-v920ext ::= SEQUENCE {
+ utra-PriorityInfoList-v920ext UTRA-PriorityInfoList-v920ext,
+ eutra-FrequencyAndPriorityInfoList-v920ext EUTRA-FrequencyAndPriorityInfoList-v920ext
+}
+
+SysInfoType19-va80ext ::= SEQUENCE {
+ multipleEutraFrequencyInfoList MultipleEUTRAFrequencyInfoList OPTIONAL
+}
+
+SysInfoType19-vb30ext ::= SEQUENCE {
+ cell-fach-meas-ind ENUMERATED { high-priority-layers, all-layers } OPTIONAL
+}
+
+SysInfoType19-vb50ext ::= SEQUENCE {
+ gsmTreselectionScalingFactor TreselectionScalingFactor2 OPTIONAL,
+ eutraTreselectionScalingFactor TreselectionScalingFactor2 OPTIONAL,
+ numberOfApplicableEARFCN INTEGER (0..7) OPTIONAL,
+ eutra-FrequencyAndPriorityInfoList-vb50ext EUTRA-FrequencyAndPriorityInfoList-vb50ext OPTIONAL,
+ eutra-FrequencyAndPriorityInfoExtensionList EUTRA-FrequencyAndPriorityInfoExtensionList OPTIONAL,
+ multipleEutraFrequencyInfoExtensionList MultipleEUTRAFrequencyInfoExtensionList OPTIONAL,
+ -- Measurement IEs
+ eutra-FrequencyRACHReportingInfo EUTRA-FrequencyRACHReportingInfo OPTIONAL
+}
+
+SysInfoType19-vb80ext ::= SEQUENCE {
+ eutra-FrequencyAndPriorityInfoExtensionList-vb80ext EUTRA-FrequencyAndPriorityInfoExtensionList-vb80ext OPTIONAL
+}
+
+SysInfoType19-vc50ext ::= SEQUENCE {
+ eutra-FrequencyRACHReportingInfo-vc50ext EUTRA-FrequencyRACHReportingInfo-vc50ext OPTIONAL,
+ eutra-FrequencyAndPriorityInfoList-vc50ext EUTRA-FrequencyAndPriorityInfoList-vc50ext OPTIONAL,
+ eutra-FrequencyAndPriorityInfoExtensionList-vc50ext
+ EUTRA-FrequencyAndPriorityInfoExtensionList-vc50ext OPTIONAL
+}
+
+SysInfoType19-vd20ext ::= SEQUENCE {
+ eutra-FrequencyAndPriorityInfoList-vd20ext EUTRA-FrequencyAndPriorityInfoList-vd20ext OPTIONAL,
+ eutra-FrequencyAndPriorityInfoExtensionList-vd20ext
+ EUTRA-FrequencyAndPriorityInfoExtensionList-vd20ext OPTIONAL
+}
+
+SysInfoType20 ::= SEQUENCE {
+ hNBName HNBName OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType21 ::= SEQUENCE {
+ eab-Parameters EAB-Parameters OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType22 ::= SEQUENCE {
+-- In the Tabular there are separate definitions for prach-PreambleForEnhancedUplinkListType1Ext
+-- and prach-PreambleForEnhancedUplinkListType2Ext/prach-PreambleForEnhancedUplinkListType3Ext even
+-- though the contents are the same. The only difference is in how the IE “Weight†is used in
+-- calculating the weight for each signalled PRACH Control Parameters.
+-- To simplify the ASN.1, a single definition is used here for all three cases.
+ prach-PreambleForEnhancedUplinkListType1Ext
+ PRACH-PreambleForEnhancedUplinkExtList OPTIONAL,
+ prach-PreambleForEnhancedUplinkListType2Ext
+ PRACH-PreambleForEnhancedUplinkExtList OPTIONAL,
+ prach-PreambleForEnhancedUplinkListType3Ext
+ PRACH-PreambleForEnhancedUplinkExtList OPTIONAL,
+ concurrent-Deployment-2ms-10ms-TTI Concurrent-Deployment-2ms-10ms-TTI OPTIONAL,
+ nodeB-Trigger-HS-DPCCH-Transmission NodeB-Trigger-HS-DPCCH-Transmission OPTIONAL,
+ fallback-R99-PRACH-info Fallback-R99-PRACH-info-IEs OPTIONAL,
+ commonEDCHResourceConfigInfoListExt CommonEDCHResourceConfigInfoListExt OPTIONAL,
+ hs-dsch-DrxCellfach-SecondDrx-info HS-DSCH-DrxCellfach-SecondDrx-info OPTIONAL,
+ -- Extension mechanism for non- release11 information
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoType22-vc50ext SysInfoType22-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoType22-vc50ext-IEs ::= SEQUENCE {
+ cell-Reselection-indication-reporting ENUMERATED { true } OPTIONAL
+}
+
+SysInfoType23 ::= SEQUENCE {
+ wlanRepresentation CHOICE {
+ wlanOffloadInformationPerPLMN-List WLANOffloadInformationPerPLMN-List,
+ wlanOffloadInformationForAll WLANOffloadInformation
+ },
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType24 ::= SEQUENCE {
+ dtchTransmissionBlocked BIT STRING (SIZE (maxNumAccessGroups)) OPTIONAL,
+ expirationTimeFactor ExpirationTimeFactor2 OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoType25 ::= SEQUENCE {
+ acdc-Parameters ACDC-Parameters,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+SysInfoTypeSB1 ::= SEQUENCE {
+ -- Other IEs
+ sib-ReferenceList SIB-ReferenceList,
+ -- Extension mechanism for non- release99 information
+ v6b0NonCriticalExtensions SEQUENCE {
+ sysInfoTypeSB1-v6b0ext SysInfoTypeSB1-v6b0ext,
+ v860NonCriticalExtensions SEQUENCE {
+ sysInfoTypeSB1-v860ext SysInfoTypeSB1-v860ext,
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoTypeSB1-vc50ext SysInfoTypeSB1-vc50ext,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoTypeSB1-v6b0ext ::= SEQUENCE {
+ extSIBTypeInfoSchedulingInfo-List ExtSIBTypeInfoSchedulingInfo-List OPTIONAL
+}
+
+SysInfoTypeSB1-v860ext ::= SEQUENCE {
+ extSIBTypeInfoSchedulingInfo-List ExtSIBTypeInfoSchedulingInfo-List2 OPTIONAL,
+ extGANSS-SIBTypeInfoSchedulingInfoList
+ ExtGANSS-SIBTypeInfoSchedulingInfoList OPTIONAL
+}
+
+SysInfoTypeSB1-vc50ext ::= SEQUENCE {
+ sib-ReferenceList SIBSb-ReferenceList2 OPTIONAL,
+ extSIBTypeInfoSchedulingInfo-List ExtSIBTypeInfoSchedulingInfo-List3 OPTIONAL
+}
+
+SysInfoTypeSB2 ::= SEQUENCE {
+ -- Other IEs
+ sib-ReferenceList SIB-ReferenceList,
+ -- Extension mechanism for non- release99 information
+ v6b0NonCriticalExtensions SEQUENCE {
+ sysInfoTypeSB2-v6b0ext SysInfoTypeSB2-v6b0ext,
+ v860NonCriticalExtensions SEQUENCE {
+ sysInfoTypeSB2-v860ext SysInfoTypeSB2-v860ext,
+ vc50NonCriticalExtensions SEQUENCE {
+ sysInfoTypeSB2-vc50ext SysInfoTypeSB2-vc50ext,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SysInfoTypeSB2-v6b0ext ::= SEQUENCE {
+ extSIBTypeInfoSchedulingInfo-List ExtSIBTypeInfoSchedulingInfo-List OPTIONAL
+}
+
+SysInfoTypeSB2-v860ext ::= SEQUENCE {
+ extSIBTypeInfoSchedulingInfo-List ExtSIBTypeInfoSchedulingInfo-List2 OPTIONAL,
+ extGANSS-SIBTypeInfoSchedulingInfoList
+ ExtGANSS-SIBTypeInfoSchedulingInfoList OPTIONAL
+}
+
+SysInfoTypeSB2-vc50ext ::= SEQUENCE {
+ sib-ReferenceList SIBSb-ReferenceList2 OPTIONAL,
+ extSIBTypeInfoSchedulingInfo-List ExtSIBTypeInfoSchedulingInfo-List3 OPTIONAL
+}
+
+
+SysInfoTypeSB3 ::= SEQUENCE {
+ -- Other IEs
+ sb3-ValueTag CellValueTag2,
+ sib-ReferenceList SIB-ReferenceList2,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+TDD-UMTS-Frequency-List ::= SEQUENCE (SIZE (1..maxNumTDDFreqs)) OF
+ FrequencyInfoTDD
+
+TxFailParams ::= SEQUENCE {
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ connEstFailCount ENUMERATED {n1, n2, n3, n4},
+ offsetValidity ENUMERATED {s30, s60, s120, s240,
+ s300, s420, s600, s900},
+ connEstFailTempQoffset INTEGER (0..15) OPTIONAL
+ },
+ tdd NULL
+ }
+}
+
+UE-HistoryInformation ::= SEQUENCE {
+ ue-InactivityPeriod INTEGER (1..120),
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ ul-dataVolumeHistory DataVolumeHistory OPTIONAL,
+ dl-dataVolumeHistory DataVolumeHistory OPTIONAL
+}
+
+-- For systemInformationBlockType11bis the Value Tag Info "CellValueTag" is used
+ValueTagInfo ::= CHOICE {
+ none NULL,
+ cellValueTag CellValueTag,
+ plmn-ValueTag PLMN-ValueTag,
+ sIBOccurrenceIdentityAndValueTag SIBOccurrenceIdentityAndValueTag
+}
+
+ValueTagInfoExtValueTag ::= CHOICE {
+ cellValueTag CellValueTag2
+}
+
+-- ***************************************************
+--
+-- ANSI-41 INFORMATION ELEMENTS (10.3.9)
+--
+-- ***************************************************
+
+ANSI-41-GlobalServiceRedirectInfo ::= ANSI-41-NAS-Parameter
+ANSI-41-PrivateNeighbourListInfo ::= ANSI-41-NAS-Parameter
+ANSI-41-RAND-Information ::= ANSI-41-NAS-Parameter
+ANSI-41-UserZoneID-Information ::= ANSI-41-NAS-Parameter
+ANSI-41-NAS-Parameter ::= BIT STRING (SIZE (1..2048))
+
+Min-P-REV ::= BIT STRING (SIZE (8))
+
+NAS-SystemInformationANSI-41 ::= ANSI-41-NAS-Parameter
+NID ::= BIT STRING (SIZE (16))
+
+P-REV ::= BIT STRING (SIZE (8))
+
+SID ::= BIT STRING (SIZE (15))
+
+-- ***************************************************
+--
+-- MBMS INFORMATION ELEMENTS (10.3.9a)
+--
+-- ***************************************************
+
+MBMS-AccessProbabilityFactor ::= ENUMERATED {
+ apf0, apf32, apf64, apf96, apf128, apf160, apf192,
+ apf224, apf256, apf288, apf320, apf352, apf384, apf416,
+ apf448, apf480, apf512, apf544, apf576, apf608, apf640,
+ apf672, apf704, apf736, apf768, apf800, apf832, apf864,
+ apf896, apf928, apf960, apf1000 }
+
+MBMS-CellGroupIdentity-r6 ::= BIT STRING (SIZE (12))
+
+MBMS-CommonCCTrChIdentity ::= INTEGER (1..32)
+
+MBMS-CommonPhyChIdentity ::= INTEGER (1..32)
+
+MBMS-CommonRBIdentity ::= INTEGER (1..32)
+
+MBMS-CommonRBInformation-r6 ::= SEQUENCE {
+ commonRBIdentity MBMS-CommonRBIdentity,
+ pdcp-Info PDCP-Info-r4,
+ rlc-Info RLC-Info-MTCH-r6
+}
+
+MBMS-CommonRBInformationList-r6 ::= SEQUENCE (SIZE (1..maxMBMS-CommonRB)) OF
+ MBMS-CommonRBInformation-r6
+
+MBMS-CommonTrChIdentity ::= INTEGER (1..32)
+
+MBMS-ConnectedModeCountingScope ::= SEQUENCE {
+ countingForUraPCH BOOLEAN,
+ countingForCellPCH BOOLEAN,
+ countingForCellFACH BOOLEAN
+}
+
+MBMS-CurrentCell-SCCPCH-r6 ::= SEQUENCE {
+ sccpchIdentity MBMS-SCCPCHIdentity OPTIONAL,
+ secondaryCCPCH-Info MBMS-CommonPhyChIdentity,
+ softComb-TimingOffset MBMS-SoftComb-TimingOffset OPTIONAL,
+ -- If the IE transpCh-InfoCommonForAllTrCh is absent, the default TFCS as specified
+ -- in 14.10.1 applies
+ transpCh-InfoCommonForAllTrCh MBMS-CommonCCTrChIdentity OPTIONAL,
+ transpCHInformation MBMS-TrCHInformation-CurrList
+}
+
+MBMS-CurrentCell-SCCPCHList-r6 ::= SEQUENCE (SIZE (1..maxSCCPCH)) OF
+ MBMS-CurrentCell-SCCPCH-r6
+
+MBMS-FACHCarryingMTCH-List ::= SEQUENCE (SIZE (1..maxFACHPCH)) OF
+ TransportFormatSet
+
+MBMS-JoinedInformation-r6 ::= SEQUENCE {
+ p-TMSI P-TMSI-GSM-MAP OPTIONAL
+}
+
+MBMS-L1CombiningSchedule-32 ::= SEQUENCE {
+ -- Actual L1 combining schedule values (offset, start, duration) = IE value * 4
+ cycleOffset INTEGER (0..7) OPTIONAL,
+ mtch-L1CombiningPeriodList SEQUENCE (SIZE (1..maxMBMS-L1CP)) OF SEQUENCE {
+ periodStart INTEGER (0..7),
+ periodDuration INTEGER (1..8)
+ }
+}
+
+MBMS-L1CombiningSchedule-64 ::= SEQUENCE {
+ -- Actual L1 combining schedule values (offset, start, duration) = IE value * 4
+ cycleOffset INTEGER (0..15) OPTIONAL,
+ mtch-L1CombiningPeriodList SEQUENCE (SIZE (1..maxMBMS-L1CP)) OF SEQUENCE {
+ periodStart INTEGER (0..15),
+ periodDuration INTEGER (1..16)
+ }
+}
+
+MBMS-L1CombiningSchedule-128 ::= SEQUENCE {
+ -- Actual L1 combining schedule values (offset, start, duration) = IE value * 4
+ cycleOffset INTEGER (0..31) OPTIONAL,
+ mtch-L1CombiningPeriodList SEQUENCE (SIZE (1..maxMBMS-L1CP)) OF SEQUENCE {
+ periodStart INTEGER (0..31),
+ periodDuration INTEGER (1..32)
+ }
+}
+
+MBMS-L1CombiningSchedule-256 ::= SEQUENCE {
+ -- Actual L1 combining schedule values (offset, start, duration) = IE value * 4
+ cycleOffset INTEGER (0..63) OPTIONAL,
+ mtch-L1CombiningPeriodList SEQUENCE (SIZE (1..maxMBMS-L1CP)) OF SEQUENCE {
+ periodStart INTEGER (0..63),
+ periodDuration INTEGER (1..64)
+ }
+}
+
+MBMS-L1CombiningSchedule-512 ::= SEQUENCE {
+ -- Actual L1 combining schedule values (offset, start, duration) = IE value * 4
+ cycleOffset INTEGER (0..127) OPTIONAL,
+ mtch-L1CombiningPeriodList SEQUENCE (SIZE (1..maxMBMS-L1CP)) OF SEQUENCE {
+ periodStart INTEGER (0..127),
+ periodDuration INTEGER (1..128)
+ }
+}
+
+MBMS-L1CombiningSchedule-1024 ::= SEQUENCE {
+ -- Actual L1 combining schedule values (offset, start, duration) = IE value * 4
+ cycleOffset INTEGER (0..255) OPTIONAL,
+ mtch-L1CombiningPeriodList SEQUENCE (SIZE (1..maxMBMS-L1CP)) OF SEQUENCE {
+ periodStart INTEGER (0..255),
+ periodDuration INTEGER (1..256)
+ }
+}
+
+MBMS-L1CombiningSchedule ::= CHOICE {
+ cycleLength-32 MBMS-L1CombiningSchedule-32,
+ cycleLength-64 MBMS-L1CombiningSchedule-64,
+ cycleLength-128 MBMS-L1CombiningSchedule-128,
+ cycleLength-256 MBMS-L1CombiningSchedule-256,
+ cycleLength-512 MBMS-L1CombiningSchedule-512,
+ cycleLength-1024 MBMS-L1CombiningSchedule-1024
+}
+
+MBMS-L1CombiningTransmTimeDiff ::= INTEGER (0..3)
+
+MBMS-L23Configuration ::= CHOICE {
+ sameAsCurrent SEQUENCE {
+ currentCell-SCCPCH MBMS-SCCPCHIdentity,
+ msch-ConfigurationInfo MBMS-MSCH-ConfigurationInfo-r6 OPTIONAL
+ },
+ different SEQUENCE {
+ -- If the IE transpCh-InfoCommonForAllTrCh is absent, the default TFCS as specified
+ -- in 14.10.1 applies
+ transpCh-InfoCommonForAllTrCh MBMS-CommonCCTrChIdentity OPTIONAL,
+ transpCHInformation MBMS-TrCHInformation-NeighbList
+ }
+}
+
+MBMS-LogicalChIdentity ::= INTEGER (1..15)
+
+MBMS-MCCH-ConfigurationInfo-r6 ::= SEQUENCE {
+ accessInfoPeriodCoefficient INTEGER (0..3),
+ repetitionPeriodCoefficient INTEGER (0..3),
+ modificationPeriodCoefficient INTEGER (7..10),
+ rlc-Info RLC-Info-MCCH-r6,
+ tctf-Presence MBMS-TCTF-Presence OPTIONAL
+}
+
+MBMS-MICHConfigurationInfo-r6 ::= SEQUENCE {
+ michPowerOffset MBMS-MICHPowerOffset,
+ mode CHOICE {
+ fdd SEQUENCE {
+ channelisationCode256 ChannelisationCode256,
+ ni-CountPerFrame MBMS-NI-CountPerFrame,
+ sttd-Indicator BOOLEAN
+ },
+ -- The CHOICE tdd384 is used for both tdd384 and tdd768. If IE
+ -- 'MBMS-MICHConfigurationInfo-v770ext' is not present, tdd384 applies.
+ tdd384 SEQUENCE {
+ timeslot TimeslotNumber,
+ midambleShiftAndBurstType MidambleShiftAndBurstType,
+ channelisationCode DL-TS-ChannelisationCode,
+ repetitionPeriodLengthOffset RepPerLengthOffset-MICH OPTIONAL,
+ mbmsNotificationIndLength MBMS-MICHNotificationIndLength DEFAULT mn4
+ },
+ tdd128 SEQUENCE {
+ timeslot TimeslotNumber-LCR-r4,
+ midambleShiftAndBurstType MidambleShiftAndBurstType-LCR-r4,
+ channelisationCodeList SEQUENCE (SIZE (1..2)) OF
+ DL-TS-ChannelisationCode,
+ repetitionPeriodLengthOffset RepPerLengthOffset-MICH OPTIONAL,
+ mbmsNotificationIndLength MBMS-MICHNotificationIndLength DEFAULT mn4
+ }
+ }
+}
+
+MBMS-MICHConfigurationInfo-v770ext ::= SEQUENCE {
+ mode CHOICE {
+ -- For tdd384, IE 'MidambleShiftAndBurstType-r7' replaces IE 'MidambleShiftAndBurstType'
+ -- in IE 'MBMS-MICHConfigurationInfo-r6'. IE 'MidambleShiftAndBurstType' shall be ignored.
+ tdd384 SEQUENCE {
+ midambleShiftAndBurstType MidambleShiftAndBurstType-r7
+ },
+ -- For tdd768, the CHIOCE tdd384 in IE 'MBMS-MICHConfigurationInfo-r6' applies, except
+ -- that IE 'MidambleShiftAndBurstType-VHCR' replaces IE 'MidambleShiftAndBurstType'. IE
+ -- 'MidambleShiftAndBurstType' shall be ignored.
+ tdd768 SEQUENCE {
+ midambleShiftAndBurstType MidambleShiftAndBurstType-VHCR
+ },
+ tdd128 SEQUENCE {
+ mbsfnSpecialTimeSlot TimeSlotLCR-ext OPTIONAL
+ }
+ }
+}
+
+MBMS-MICHConfigurationInfo-v890ext ::= SEQUENCE {
+ mode CHOICE {
+ imb384 SEQUENCE {
+ channelisationCode256 ChannelisationCode256,
+ ni-CountPerFrame MBMS-NI-CountPerFrame-IMB384
+ }
+ }
+}
+
+MBMS-MICHNotificationIndLength ::= ENUMERATED { mn4, mn8, mn16 }
+
+MBMS-MICHPowerOffset ::= INTEGER (-10..5)
+
+MBMS-ModifedService-r6 ::= SEQUENCE {
+ mbms-TransmissionIdentity MBMS-TransmissionIdentity,
+ mbms-RequiredUEAction MBMS-RequiredUEAction-Mod,
+ mbms-PreferredFrequency CHOICE {
+ mcch MBMS-PFLIndex,
+ dcch MBMS-PFLInfo
+ } OPTIONAL,
+ --dummy is not used. If received it shall be ignored.
+ dummy ENUMERATED { true } OPTIONAL,
+ continueMCCHReading BOOLEAN
+}
+
+MBMS-ModifedServiceList-r6 ::= SEQUENCE (SIZE (1..maxMBMSservModif)) OF
+ MBMS-ModifedService-r6
+
+MBMS-ModifiedService-v770ext ::= SEQUENCE {
+ mbsfnClusterFrequency MBSFN-ClusterFrequency-r7 OPTIONAL
+}
+
+MBMS-ModifiedService-LCR-v7c0ext ::= SEQUENCE {
+ rbReleaseCause MBMS-PTM-RBReleaseCause-LCR-r7 OPTIONAL
+}
+
+-- IE 'MBMS-ModifiedServiceList-v770ext' contains a list of extension data
+-- associated with the MBMS transmission identities at the corresponding
+-- positions in IE 'MBMS-ModifedServiceList-r6'
+MBMS-ModifiedServiceList-v770ext ::= SEQUENCE (SIZE (1..maxMBMSservModif)) OF
+ MBMS-ModifiedService-v770ext
+
+-- IE 'MBMS-ModifiedServiceList-LCR-v7c0ext' contains a list of extension data
+-- associated with the MBMS transmission identities at the corresponding
+-- positions in IE 'MBMS-ModifedServiceList-r6'
+MBMS-ModifiedServiceList-LCR-v7c0ext ::= SEQUENCE (SIZE (1..maxMBMSservModif)) OF
+ MBMS-ModifiedService-LCR-v7c0ext
+
+MBMS-MSCH-ConfigurationInfo-r6 ::= SEQUENCE {
+ mschShedulingInfo MBMS-MSCHSchedulingInfo OPTIONAL,
+ rlc-Info RLC-Info-MSCH-r6 OPTIONAL,
+ tctf-Presence MBMS-TCTF-Presence OPTIONAL
+}
+
+MBMS-MSCHSchedulingInfo ::= CHOICE {
+ schedulingPeriod-32-Offset INTEGER (0..31),
+ schedulingPeriod-64-Offset INTEGER (0..63),
+ schedulingPeriod-128-Offset INTEGER (0..127),
+ schedulingPeriod-256-Offset INTEGER (0..255),
+ schedulingPeriod-512-Offset INTEGER (0..511),
+ schedulingPeriod-1024-Offset INTEGER (0..1023)
+}
+
+MBMS-NeighbouringCellSCCPCH-r6 ::= SEQUENCE {
+ secondaryCCPCH-Info MBMS-CommonPhyChIdentity,
+ secondaryCCPCHPwrOffsetDiff MBMS-SCCPCHPwrOffsetDiff OPTIONAL,
+ layer1Combining CHOICE {
+ fdd SEQUENCE {
+ softComb-TimingOffset MBMS-SoftComb-TimingOffset,
+ mbms-L1CombiningTransmTimeDiff MBMS-L1CombiningTransmTimeDiff,
+ mbms-L1CombiningSchedule MBMS-L1CombiningSchedule OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ mbms-L23Configuration MBMS-L23Configuration
+}
+
+MBMS-NeighbouringCellSCCPCH-v770ext ::= SEQUENCE {
+ secondaryCCPCH-Info MBMS-CommonPhyChIdentity OPTIONAL,
+ secondaryCCPCH-InfoDiff SecondaryCCPCHInfoDiff-MBMS,
+ secondaryCCPCHPwrOffsetDiff MBMS-SCCPCHPwrOffsetDiff OPTIONAL,
+ layer1Combining CHOICE {
+ fdd SEQUENCE {
+ softComb-TimingOffset MBMS-SoftComb-TimingOffset,
+ mbms-L1CombiningTransmTimeDiff MBMS-L1CombiningTransmTimeDiff,
+ mbms-L1CombiningSchedule MBMS-L1CombiningSchedule OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ mbms-L23Configuration MBMS-L23Configuration
+}
+
+MBMS-NeighbouringCellSCCPCHList-r6 ::= SEQUENCE (SIZE (1..maxSCCPCH)) OF
+ MBMS-NeighbouringCellSCCPCH-r6
+
+-- IE "MBMS-NeighbouringCellSCCPCHList-v770ext" may be received as an extension of the IE
+-- "MBMS-NeighbouringCellSCCPCHList-r6". When both lists are received in the same message
+-- and the total number of list elements is greater than constant value 'maxSCCPCH', the
+-- UE behaviour is unspecified.
+MBMS-NeighbouringCellSCCPCHList-v770ext ::= SEQUENCE (SIZE (1..maxSCCPCH)) OF
+ MBMS-NeighbouringCellSCCPCH-v770ext
+
+MBMS-NetworkStandardTimeInformation-LCR-v890ext ::= SEQUENCE {
+ networkStandardTime BIT STRING (SIZE (40)),
+ correlativeSFN INTEGER (0..4095) OPTIONAL
+}
+
+MBMS-NI-CountPerFrame ::= ENUMERATED { ni18, ni36, ni72, ni144 }
+
+MBMS-NI-CountPerFrame-IMB384 ::= ENUMERATED { ni16, ni32, ni64, ni128 }
+
+MBMS-NumberOfNeighbourCells-r6 ::= INTEGER (0..32)
+
+MBMS-PFLIndex ::= INTEGER (1..maxMBMS-Freq)
+
+MBMS-PFLInfo ::= FrequencyInfo
+
+MBMS-PhyChInformation-IMB384 ::= SEQUENCE {
+ mbms-CommonPhyChIdentity MBMS-CommonPhyChIdentity,
+ secondaryCCPCHInfo-MBMS SecondaryCCPCHFrameType2Info
+}
+
+MBMS-PhyChInformationList-IMB384 ::= SEQUENCE (SIZE (1..maxMBMS-CommonPhyCh)) OF
+ MBMS-PhyChInformation-IMB384
+
+MBMS-PhyChInformation-r6 ::= SEQUENCE {
+ mbms-CommonPhyChIdentity MBMS-CommonPhyChIdentity,
+ secondaryCCPCHInfo-MBMS SecondaryCCPCHInfo-MBMS-r6
+}
+
+MBMS-PhyChInformation-r7 ::= SEQUENCE {
+ mbms-CommonPhyChIdentity MBMS-CommonPhyChIdentity,
+ secondaryCCPCHInfo-MBMS SecondaryCCPCHInfo-MBMS-r7
+}
+
+MBMS-PhyChInformationList-r6 ::= SEQUENCE (SIZE (1..maxMBMS-CommonPhyCh)) OF
+ MBMS-PhyChInformation-r6
+
+MBMS-PhyChInformationList-r7 ::= SEQUENCE (SIZE (1..maxMBMS-CommonPhyCh)) OF
+ MBMS-PhyChInformation-r7
+
+MBMS-PL-ServiceRestrictInfo-r6 ::= ENUMERATED { true }
+
+MBMS-PreferredFrequencyInfo-r6 ::= SEQUENCE {
+ mbmsPreferredFrequency INTEGER (1..maxMBMS-Freq) OPTIONAL,
+ layerConvergenceInformation CHOICE {
+ mbms-Qoffset MBMS-Qoffset,
+ mbms-HCSoffset INTEGER (0..7)
+ },
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+MBMS-PreferredFrequencyList-r6 ::= SEQUENCE (SIZE (1..maxMBMS-Freq)) OF
+ MBMS-PreferredFrequencyInfo-r6
+
+MBMS-PTMActivationTime-r6 ::= INTEGER (0..2047)
+
+MBMS-PTM-RBInformation-C ::= SEQUENCE {
+ rbInformation MBMS-CommonRBIdentity,
+ shortTransmissionID MBMS-ShortTransmissionID,
+ logicalChIdentity MBMS-LogicalChIdentity
+}
+
+MBMS-PTM-RBInformation-CList ::= SEQUENCE (SIZE (1..maxRBperTrCh)) OF
+ MBMS-PTM-RBInformation-C
+
+MBMS-PTM-RBInformation-N ::= SEQUENCE {
+ shortTransmissionID MBMS-ShortTransmissionID,
+ logicalChIdentity MBMS-LogicalChIdentity,
+ layer1-CombiningStatus BOOLEAN}
+
+MBMS-PTM-RBInformation-NList ::= SEQUENCE (SIZE (1..maxRBperTrCh)) OF
+ MBMS-PTM-RBInformation-N
+
+MBMS-PTM-RBReleaseCause-LCR-r7 ::= ENUMERATED {
+ normalRelease, outOfMBMSServiceCoverageInRAN,
+ networkAbnormalRelease,
+ spare5, spare4, spare3, spare2, spare1 }
+
+MBMS-Qoffset ::= ENUMERATED { q4, q8, q12, q16, q20, q30, q40, qInfinity }
+
+MBMS-RequiredUEAction-Mod ::= ENUMERATED {
+ none,
+ acquireCountingInfo,
+ acquireCountingInfoPTM-RBsUnmodified,
+ acquirePTM-RBInfo,
+ requestPTPRB,
+ releasePTM-RB }
+
+MBMS-RequiredUEAction-UMod ::= ENUMERATED {
+ none,
+ acquirePTM-RBInfo,
+ requestPTPRB }
+
+MBMS-SCCPCHIdentity ::= INTEGER (1..maxSCCPCH)
+
+MBMS-SCCPCHPwrOffsetDiff ::= ENUMERATED { mcpo-minus6, mcpo-minus3, mcpo-plus3, mcpo-plus6 }
+
+MBMS-SelectedServiceInfo ::= SEQUENCE {
+ status CHOICE {
+ none NULL,
+ some MBMS-SelectedServicesListFull
+ }
+}
+
+MBMS-SelectedServicesListFull ::= SEQUENCE (SIZE (1..maxMBMSservSelect)) OF
+ MBMS-ServiceIdentity-r6
+
+MBMS-SelectedServicesListShort ::= SEQUENCE (SIZE (1..maxMBMSservSelect)) OF
+ MBMS-ShortTransmissionID
+
+MBMS-SelectedServicesShort ::= SEQUENCE {
+ mbms-SelectedServicesList MBMS-SelectedServicesListShort,
+ modificationPeriodIdentity INTEGER (0..1)
+}
+
+MBMS-ServiceAccessInfo-r6 ::= SEQUENCE {
+ shortTransmissionID MBMS-ShortTransmissionID,
+ accessprobabilityFactor-Idle MBMS-AccessProbabilityFactor,
+ accessprobabilityFactor-Connected MBMS-AccessProbabilityFactor OPTIONAL,
+ mbms-ConnectedModeCountingScope MBMS-ConnectedModeCountingScope
+}
+
+MBMS-ServiceAccessInfoList-r6 ::= SEQUENCE (SIZE (1..maxMBMSservCount)) OF
+ MBMS-ServiceAccessInfo-r6
+
+MBMS-ServiceIdentity-r6 ::= SEQUENCE {
+ serviceIdentity OCTET STRING (SIZE (3)),
+ plmn-Identity CHOICE {
+ -- The 'sameAsMIB-PLMN-Id' choice refers to the 'PLMN Identity' (R99) in MIB.
+ sameAsMIB-PLMN-Id NULL,
+ other CHOICE {
+ -- The 'sameAsMIB-MultiPLMN-Id' choice refers to one of the (1..5) PLMN Identities
+ -- provided in the 'Multiple PLMN List' (REL-6) in MIB.
+ sameAsMIB-MultiPLMN-Id INTEGER (1..5),
+ explicitPLMN-Id PLMN-Identity
+ }
+ }
+}
+
+MBMS-ServiceSchedulingInfo-r6 ::= SEQUENCE {
+ mbms-TransmissionIdentity MBMS-TransmissionIdentity,
+ mbms-ServiceTransmInfoList MBMS-ServiceTransmInfoList OPTIONAL,
+ nextSchedulingperiod INTEGER (0..31)
+}
+
+MBMS-ServiceSchedulingInfoList-r6 ::= SEQUENCE (SIZE (1..maxMBMSservSched)) OF
+ MBMS-ServiceSchedulingInfo-r6
+
+MBMS-ServiceTransmInfo ::= SEQUENCE {
+ -- Actual values (start, duration) = IE values * 4
+ start INTEGER (0..255),
+ duration INTEGER (1..256)
+}
+
+MBMS-ServiceTransmInfoList ::= SEQUENCE (SIZE (1..maxMBMSTransmis)) OF
+ MBMS-ServiceTransmInfo
+
+MBMS-SessionIdentity ::= OCTET STRING (SIZE (1))
+
+MBMS-ShortTransmissionID ::= INTEGER (1..maxMBMSservUnmodif)
+
+MBMS-SIBType5-SCCPCH-r6 ::= SEQUENCE {
+ sccpchIdentity MBMS-SCCPCHIdentity,
+ transpCHInformation MBMS-TrCHInformation-SIB5List
+}
+
+MBMS-SIBType5-SCCPCHList-r6 ::= SEQUENCE (SIZE (1..maxSCCPCH)) OF
+ MBMS-SIBType5-SCCPCH-r6
+
+MBMS-SoftComb-TimingOffset ::= ENUMERATED { ms0, ms10, ms20, ms40 }
+
+MBMS-TCTF-Presence ::= ENUMERATED { false }
+
+MBMS-TimersAndCounters-r6 ::= SEQUENCE {
+ t-318 T-318 DEFAULT ms1000
+}
+
+MBMS-TransmissionIdentity ::= SEQUENCE {
+ mbms-ServiceIdentity MBMS-ServiceIdentity-r6,
+ mbms-SessionIdentity MBMS-SessionIdentity OPTIONAL
+}
+
+MBMS-TranspChInfoForCCTrCh-r6 ::= SEQUENCE {
+ commonCCTrChIdentity MBMS-CommonCCTrChIdentity,
+ transportFormatCombinationSet TFCS
+}
+
+
+MBMS-TranspChInfoForEachCCTrCh-r6 ::= SEQUENCE (SIZE (1..maxMBMS-CommonCCTrCh)) OF
+ MBMS-TranspChInfoForCCTrCh-r6
+
+MBMS-TranspChInfoForEachTrCh-r6 ::= SEQUENCE (SIZE (1..maxMBMS-CommonTrCh)) OF
+ MBMS-TranspChInfoForTrCh-r6
+
+MBMS-TranspChInfoForTrCh-r6 ::= SEQUENCE {
+ commonTrChIdentity MBMS-CommonTrChIdentity,
+ transportFormatSet TransportFormatSet
+}
+
+MBMS-TrCHInformation-Curr ::= SEQUENCE {
+ transpCh-Info MBMS-CommonTrChIdentity,
+ rbInformation MBMS-PTM-RBInformation-CList OPTIONAL,
+ msch-ConfigurationInfo MBMS-MSCH-ConfigurationInfo-r6 OPTIONAL
+}
+
+MBMS-TrCHInformation-CurrList ::= SEQUENCE (SIZE (1..maxFACHPCH)) OF
+ MBMS-TrCHInformation-Curr
+
+MBMS-TrCHInformation-Neighb ::= SEQUENCE {
+ transpCh-Info MBMS-CommonTrChIdentity,
+ transpCh-CombiningStatus BOOLEAN,
+ rbInformation MBMS-PTM-RBInformation-NList OPTIONAL,
+ msch-ConfigurationInfo MBMS-MSCH-ConfigurationInfo-r6 OPTIONAL
+}
+
+MBMS-TrCHInformation-NeighbList ::= SEQUENCE (SIZE (1..maxFACHPCH)) OF
+ MBMS-TrCHInformation-Neighb
+
+MBMS-TrCHInformation-SIB5 ::= SEQUENCE {
+ transpCh-Identity INTEGER (1..maxFACHPCH),
+ rbInformation MBMS-PTM-RBInformation-CList OPTIONAL,
+ msch-ConfigurationInfo MBMS-MSCH-ConfigurationInfo-r6 OPTIONAL
+}
+
+MBMS-TrCHInformation-SIB5List ::= SEQUENCE (SIZE (1..maxFACHPCH)) OF
+ MBMS-TrCHInformation-SIB5
+
+MBMS-UnmodifiedService-r6 ::= SEQUENCE {
+ mbms-TransmissionIdentity MBMS-TransmissionIdentity,
+ mbms-RequiredUEAction MBMS-RequiredUEAction-UMod,
+ mbms-PreferredFrequency MBMS-PFLIndex OPTIONAL
+}
+
+MBMS-UnmodifiedServiceList-r6 ::= SEQUENCE (SIZE (1..maxMBMSservUnmodif)) OF
+ MBMS-UnmodifiedService-r6
+
+MBMS-UnmodifiedService-v770ext ::= SEQUENCE {
+ mbsfnClusterFrequency MBSFN-ClusterFrequency-r7 OPTIONAL
+}
+
+-- IE 'MBMS-UnmodifiedServiceList-v770ext' contains a list of extension data
+-- associated with the MBMS transmission identities at the corresponding
+-- positions in IE 'MBMS-UnmodifiedServiceList-r6'
+MBMS-UnmodifiedServiceList-v770ext ::= SEQUENCE (SIZE (1..maxMBMSservUnmodif)) OF
+ MBMS-UnmodifiedService-v770ext
+
+MBSFN-ClusterFrequency-r7 ::= INTEGER (1..maxMBSFNClusters)
+
+MBSFNFrequency ::= SEQUENCE {
+ frequencyInfo FrequencyInfo,
+ -- IE "cellParameterID" is used only for MBSFN clusters operating in 1.28 Mcps TDD mode.
+ cellParametersID CellParametersID OPTIONAL
+}
+
+MBSFNFrequency-v860ext ::= SEQUENCE {
+ imb-Indication ENUMERATED { true } OPTIONAL
+}
+
+MBSFNFrequencyList ::= SEQUENCE (SIZE (0..maxMBSFNClusters)) OF
+ MBSFNFrequency
+
+-- List of extensions to the corresponding elements of IE "MBSFNFrequencyList"
+MBSFNFrequencyList-v860ext ::= SEQUENCE (SIZE (0..maxMBSFNClusters)) OF
+ MBSFNFrequency-v860ext
+
+MBSFNOnlyService ::= ENUMERATED {true}
+
+MBSFNservicesNotNotified-r7 ::= SEQUENCE {
+ notificationOfAllMBSFNServicesInTheBand
+ ENUMERATED { true } OPTIONAL
+}
+
+MBSFNInterFrequencyNeighbour-r7 ::= SEQUENCE {
+ mbsfnFrequency FrequencyInfo,
+ mbsfnServicesNotification CHOICE {
+ mbsfnServicesNotified NULL,
+ mbsfnServicesNotNotified MBSFNservicesNotNotified-r7
+ }
+}
+
+MBSFNInterFrequencyNeighbour-v860ext ::= SEQUENCE {
+ imb-Indication ENUMERATED { true } OPTIONAL
+}
+
+MBSFN-InterFrequencyNeighbourList-r7 ::= SEQUENCE (SIZE (1..maxMBSFNClusters)) OF
+ MBSFNInterFrequencyNeighbour-r7
+
+-- List of extensions to the corresponding elements of IE "MBSFN-InterFrequencyNeighbourList-r7"
+MBSFN-InterFrequencyNeighbourList-v860ext ::= SEQUENCE (SIZE (1..maxMBSFNClusters)) OF
+ MBSFNInterFrequencyNeighbour-v860ext
+
+MBSFN-TDDInformation ::= SEQUENCE (SIZE (1..maxTS)) OF
+ MBSFN-TDDTimeSlotInfo
+
+MBSFN-TDDInformation-LCR ::= SEQUENCE (SIZE (1..maxMBSFNClusters)) OF
+ MBSFN-TDDTimeSlotInfo-LCR
+
+MBSFN-TDDTimeSlotInfo ::= SEQUENCE {
+ timeSlotNumber TimeslotNumber-LCR-r4,
+ cellParametersID CellParametersID
+}
+
+MBSFN-TDDTimeSlotInfo-LCR ::= SEQUENCE {
+ frequencyIndex INTEGER (1..maxMBSFNClusters),
+ timeSlotList MBSFN-TDDInformation
+}
+
+MBSFN-TDM-Info ::= SEQUENCE {
+ shortTransmissionID MBMS-ShortTransmissionID,
+ tDMPeriod INTEGER (2..9),
+ tDMOffset INTEGER (0..8),
+ tDMLength INTEGER (1..8)
+}
+
+MBSFN-TDM-Info-List ::= SEQUENCE (SIZE (1..maxMBMSservUnmodif)) OF
+ MBSFN-TDM-Info
+
+-- ***************************************************
+--
+-- WLAN Offload INFORMATION ELEMENTS (10.3.9b)
+--
+-- ***************************************************
+
+WLANOffloadConfig ::= SEQUENCE {
+ threshServingRSCP WLANThreshServingRSCP OPTIONAL,
+ threshServingECNO WLANThreshServingECNO OPTIONAL,
+ threshChannelUtilization WLANThreshChannelUtilization OPTIONAL,
+ threshBackhaulBandwidth WLANThreshBackhaulBandwidth OPTIONAL,
+ threshBeaconRSSI WLANThreshBeaconRSSI OPTIONAL,
+ offloadPreferenceIndicator BIT STRING (SIZE (16)) OPTIONAL,
+ t-SteeringWLAN T-Reselection-S OPTIONAL
+}
+
+WLANThreshServingRSCP ::= SEQUENCE {
+ -- Actual value = IE value * 2 + 1
+ threshServingLow INTEGER (-60..-13),
+ -- Actual value = IE value * 2 + 1
+ threshServingHigh INTEGER (-60..-13)
+}
+
+WLANThreshServingECNO ::= SEQUENCE {
+ threshServingLow2 INTEGER (-24..0),
+ threshServingHigh2 INTEGER (-24..0)
+}
+
+WLANThreshChannelUtilization ::= SEQUENCE {
+ threshChannelUtilizationLow INTEGER (0..255),
+ threshChannelUtilizationHigh INTEGER (0..255)
+}
+
+WLANThreshBackhaulBandwidth ::= SEQUENCE {
+ threshBackhaulDLBandwidthLow WLANThreshBackhaulRate,
+ threshBackhaulDLBandwidthHigh WLANThreshBackhaulRate,
+ threshBackhaulULBandwidthLow WLANThreshBackhaulRate,
+ threshBackhaulULBandwidthHigh WLANThreshBackhaulRate
+}
+
+WLANThreshBeaconRSSI ::= SEQUENCE {
+ -- Actual value = IE value - 128
+threshBeaconRSSILow INTEGER (0..255),
+ -- Actual value = IE value - 128
+threshBeaconRSSIHigh INTEGER (0..255)
+}
+
+WLANIdentifierList ::= SEQUENCE (SIZE (1..maxWLANID)) OF
+ WLANIdentifier
+
+WLANIdentifier ::= SEQUENCE {
+ ssid OCTET STRING (SIZE (1..32)) OPTIONAL,
+ bssid OCTET STRING (SIZE (6)) OPTIONAL,
+ hessid OCTET STRING (SIZE (6)) OPTIONAL
+}
+
+WLANOffloadInformationPerPLMN-List ::= SEQUENCE (SIZE (1..6)) OF WLANOffloadInformation
+
+WLANOffloadInformation ::= SEQUENCE {
+ wlanOffloadConfig WLANOffloadConfig OPTIONAL,
+ wlanIdentifierList WLANIdentifierList OPTIONAL
+}
+
+WLANThreshBackhaulRate ::= ENUMERATED { r0, r4, r8, r16, r32, r64, r128, r256,
+ r512, r1024, r2048, r4096, r8192, r16384, r32768,
+ r65536, r131072, r262144, r524288, r1048576,
+ r2097152, r4194304, r8388608, r16777216,
+ r33554432, r67108864, r134217728, r268435456,
+ r536870912, r1073741824, r2147483648, r4294967296
+}
+
+END
diff --git a/epan/dissectors/asn1/rrc/Internode-definitions.asn b/epan/dissectors/asn1/rrc/Internode-definitions.asn
new file mode 100644
index 00000000..95f96cdb
--- /dev/null
+++ b/epan/dissectors/asn1/rrc/Internode-definitions.asn
@@ -0,0 +1,2553 @@
+-- 3GPP TS 25.331 V17.1.0 (2022-06)
+--
+-- 11.5 RRC information between network nodes
+--
+Internode-definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ HandoverToUTRANCommand,
+ MeasurementReport,
+ PhysicalChannelReconfiguration,
+ RadioBearerReconfiguration,
+ RadioBearerRelease,
+ RadioBearerSetup,
+ RRCConnectionSetupComplete-r3-add-ext-IEs,
+ RRC-FailureInfo,
+ TransportChannelReconfiguration,
+ UECapabilityInformation-r3-add-ext-IEs
+FROM PDU-definitions
+
+-- Core Network IEs :
+ CN-DomainIdentity,
+ CN-DomainInformationList,
+ CN-DomainInformationListFull,
+ CN-DRX-CycleLengthCoefficient,
+ NAS-SystemInformationGSM-MAP,
+-- UTRAN Mobility IEs :
+ CellIdentity,
+ URA-Identity,
+-- User Equipment IEs :
+ AccessStratumReleaseIndicator,
+ C-RNTI,
+ ChipRateCapability,
+ DL-CapabilityWithSimultaneousHS-DSCHConfig,
+ DL-PhysChCapabilityFDD-v380ext,
+ DL-PhysChCapabilityTDD,
+ DL-PhysChCapabilityTDD-LCR-r4,
+ GSM-Measurements,
+ HSDSCH-physical-layer-category,
+ FailureCauseWithProtErr,
+ MaxHcContextSpace,
+ MaximumAM-EntityNumberRLC-Cap,
+ MaximumRLC-WindowSize,
+ MaxNoPhysChBitsReceived,
+ MaxNoDPDCH-BitsTransmitted,
+ MaxPhysChPerFrame,
+ MaxPhysChPerSubFrame-r4,
+ MaxPhysChPerTS,
+ MaxROHC-ContextSessions-r4,
+ MaxTS-PerFrame,
+ MaxTS-PerSubFrame-r4,
+ MinimumSF-DL,
+ MultiModeCapability,
+ MultiRAT-Capability,
+ NetworkAssistedGPS-Supported,
+ PhysicalChannelCapability-edch-r6,
+ RadioFrequencyBandTDDList,
+ RLC-Capability,
+ RRC-MessageSequenceNumber,
+ SecurityCapability,
+ SimultaneousSCCPCH-DPCH-Reception,
+ STARTList,
+ STARTSingle,
+ START-Value,
+ SupportOfDedicatedPilotsForChEstimation,
+ T-305,
+ TransportChannelCapability,
+ TxRxFrequencySeparation,
+ U-RNTI,
+ UE-CapabilityContainer-IEs,
+ UE-GANSSPositioning-Capability,
+ UE-MultiModeRAT-Capability,
+ UE-PowerClassExt,
+ UE-RadioAccessCapabBandFDDList,
+ UE-RadioAccessCapabBandFDDList2,
+ UE-RadioAccessCapabBandFDDList-ext,
+ UE-RadioAccessCapability,
+ UE-RadioAccessCapability-v370ext,
+ UE-RadioAccessCapability-v380ext,
+ UE-RadioAccessCapability-v3a0ext,
+ UE-RadioAccessCapability-v3g0ext,
+ UE-RadioAccessCapability-v4b0ext,
+ UE-RadioAccessCapability-v590ext,
+ UE-RadioAccessCapability-v5c0ext,
+ UE-RadioAccessCapability-v7e0ext,
+ UE-RadioAccessCapability-v7f0ext,
+ UL-PhysChCapabilityFDD,
+ UL-PhysChCapabilityFDD-r6,
+ UL-PhysChCapabilityTDD,
+ UL-PhysChCapabilityTDD-LCR-r4,
+-- Radio Bearer IEs :
+ PDCP-ROHC-TargetMode,
+ PredefinedConfigStatusList,
+ PredefinedConfigValueTag,
+ RAB-InformationSetupList,
+ RAB-InformationSetupList-r4,
+ RAB-InformationSetupList-r5,
+ RAB-InformationSetupList-r6-ext,
+ RAB-InformationSetupList-r6,
+ RAB-InformationSetupList-v6b0ext,
+ RAB-InformationSetupList-r7,
+ RAB-InformationSetupList-r8,
+ RAB-InformationSetupList-v820ext,
+ RAB-InformationSetupList-r11,
+ RB-Identity,
+ SRB-InformationSetupList,
+ SRB-InformationSetupList-r5,
+ SRB-InformationSetupList-r6,
+ SRB-InformationSetupList-r7,
+ SRB-InformationSetupList-r8,
+ SRB-InformationSetupList-r11,
+-- Transport Channel IEs :
+ CPCH-SetID,
+ DL-CommonTransChInfo,
+ DL-CommonTransChInfo-r4,
+ DL-AddReconfTransChInfoList,
+ DL-AddReconfTransChInfoList-r4,
+ DL-AddReconfTransChInfoList-r5,
+ DL-AddReconfTransChInfoList-r7,
+ DL-AddReconfTransChInfoList-r9,
+ DL-AddReconfTransChInfoList-TDD128-v9c0ext,
+ DL-AddReconfTransChInfoList-r11,
+ DRAC-StaticInformationList,
+ UL-CommonTransChInfo,
+ UL-CommonTransChInfo-r4,
+ UL-CommonTransChInfo-r12,
+ UL-AddReconfTransChInfoList,
+ UL-AddReconfTransChInfoList-r6,
+ UL-AddReconfTransChInfoList-r7,
+ UL-AddReconfTransChInfoList-r8,
+-- Physical Channel IEs :
+ DCH-Enhancements-Info-FDD,
+ DL-CommonInformation-r12,
+ DL-InformationPerRL-List-r12,
+ DL-InformationPerRL-List-r13,
+ DTX-DRX-Info-r12,
+ FrequencyInfo,
+ PrimaryCPICH-Info,
+ TPC-CombinationIndex,
+ ScramblingCodeChange,
+ Serving-HSDSCH-CellInformation-r12,
+ TGCFN,
+ TGPSI,
+ TGPS-ConfigurationParams,
+ TGPS-ConfigurationParams-r8,
+ UL-SecondaryCellInfoFDD-r12,
+ UL-SecondaryCellInfoFDD-r13,
+-- Measurement IEs :
+ Event1j-r6,
+ Hysteresis,
+ Inter-FreqEventCriteriaList-v590ext,
+ Intra-FreqEventCriteriaList-v590ext,
+ IntraFreqEvent-1d-r5,
+ IntraFreqReportingCriteria-1b-r5,
+ InterRATCellInfoIndication,
+ MeasuredResultsOnRACHinterFreq,
+ MeasurementIdentity,
+ MeasurementIdentity-r9,
+ MeasurementReportingMode,
+ MeasurementType,
+ MeasurementType-r4,
+ MeasurementType-r6,
+ MeasurementType-r7,
+ MeasurementType-r8,
+ MeasurementType-r9,
+ MeasurementType-r10,
+ MeasurementType-r11,
+ MeasurementType-r12,
+ MeasurementType-r13,
+ MeasurementType-r14,
+ MeasurementType-Relocation-r14,
+ MeasurementType-Relocation-r15,
+ AdditionalMeasurementID-List,
+ AdditionalMeasurementID-List-r9,
+ PositionEstimate,
+ ReportingCellStatus,
+ ThresholdSFN-GPS-TOW-us,
+ TimeToTrigger,
+-- MBMS IEs :
+ MBMS-JoinedInformation-r6,
+ MBMS-SelectedServiceInfo,
+-- Other IEs :
+ GERANIu-RadioAccessCapability,
+ GSM-MS-RadioAccessCapability,
+ InterRAT-UE-RadioAccessCapabilityList,
+ InterRAT-UE-RadioAccessCapability-v590ext,
+ InterRAT-UE-RadioAccessCapability-v690ext,
+ InterRAT-UE-RadioAccessCapability-v860ext,
+ UE-HistoryInformation,
+ UESpecificBehaviourInformation1idle,
+ UESpecificBehaviourInformation1interRAT
+
+FROM InformationElements
+
+
+ maxCNdomains,
+ maxEDCHRL,
+ maxGANSS,
+ maxNoOfMeas,
+ maxRB,
+ maxRBallRABs,
+ maxRFC3095-CID,
+ maxSRBsetup,
+ maxRL,
+ maxTGPS
+FROM Constant-definitions;
+
+-- Part 1: Class definitions similar to what has been defined in 11.1 for RRC messages
+-- Information that is tranferred in the same direction and across the same path is grouped
+
+-- ***************************************************
+--
+-- RRC information, to target RNC
+--
+-- ***************************************************
+-- RRC Information to target RNC sent either from source RNC or from another RAT
+
+ToTargetRNC-Container ::= CHOICE {
+ interRATHandoverInfo InterRATHandoverInfoWithInterRATCapabilities-r3,
+ srncRelocation SRNC-RelocationInfo-r3,
+ rfc3095-ContextInfo RFC3095-ContextInfo-r5,
+ extension NULL
+}
+
+-- ***************************************************
+--
+-- RRC information, target RNC to source RNC
+--
+-- ***************************************************
+
+
+TargetRNC-ToSourceRNC-Container ::= CHOICE {
+ radioBearerSetup RadioBearerSetup,
+ radioBearerReconfiguration RadioBearerReconfiguration,
+ radioBearerRelease RadioBearerRelease,
+ transportChannelReconfiguration TransportChannelReconfiguration,
+ physicalChannelReconfiguration PhysicalChannelReconfiguration,
+ rrc-FailureInfo RRC-FailureInfo,
+ -- IE dl-DCCHmessage consists of an octet string that includes the IE DL-DCCH-Message
+ dL-DCCHmessage OCTET STRING,
+ extension NULL
+}
+
+-- Part 2: Container definitions, similar to the PDU definitions in 11.2 for RRC messages
+-- In alphabetical order
+
+
+-- ***************************************************
+--
+-- Handover to UTRAN information
+--
+-- ***************************************************
+
+InterRATHandoverInfoWithInterRATCapabilities-r3 ::= CHOICE {
+ r3 SEQUENCE {
+ -- IE InterRATHandoverInfoWithInterRATCapabilities-r3-IEs also
+ -- includes non critical extensions
+ interRATHandoverInfo-r3 InterRATHandoverInfoWithInterRATCapabilities-r3-IEs,
+ v390NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfoWithInterRATCapabilities-v390ext
+ InterRATHandoverInfoWithInterRATCapabilities-v390ext-IEs,
+ -- Reserved for future non critical extension
+ v690NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfoWithInterRATCapabilities-v690ext
+ InterRATHandoverInfoWithInterRATCapabilities-v690ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfoWithInterRATCapabilities-v860ext
+ InterRATHandoverInfoWithInterRATCapabilities-v860ext-IEs,
+ v920NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfoWithInterRATCapabilities-v920ext
+ InterRATHandoverInfoWithInterRATCapabilities-v920ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+}
+
+InterRATHandoverInfoWithInterRATCapabilities-r3-IEs ::= SEQUENCE {
+ -- The order of the IEs may not reflect the tabular format
+ -- but has been chosen to simplify the handling of the information in the BSC
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList OPTIONAL,
+ -- interRATHandoverInfo, Octet string is used to obtain 8 bit length field prior to
+ -- actual information. This makes it possible for BSS to transparently handle information
+ -- received via GSM air interface even when it includes non critical extensions.
+ -- The octet string shall include the InterRATHandoverInfo information
+ -- The BSS can re-use the 44.018 length field received from the MS
+ interRATHandoverInfo OCTET STRING (SIZE (0..255))
+}
+
+InterRATHandoverInfoWithInterRATCapabilities-v390ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ failureCauseWithProtErr FailureCauseWithProtErr OPTIONAL
+}
+
+InterRATHandoverInfoWithInterRATCapabilities-v690ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ ue-RATSpecificCapability-v690ext InterRAT-UE-RadioAccessCapability-v690ext OPTIONAL
+}
+
+InterRATHandoverInfoWithInterRATCapabilities-v860ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapability-v860ext OPTIONAL
+}
+
+InterRATHandoverInfoWithInterRATCapabilities-v920ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ ue-Inactivity-Period INTEGER (1..120) OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RFC3095 context, source RNC to target RNC
+--
+-- ***************************************************
+
+RFC3095-ContextInfo-r5 ::= CHOICE {
+ r5 SEQUENCE {
+ rFC3095-ContextInfoList-r5 RFC3095-ContextInfoList-r5,
+ -- Reserved for future non critical extension
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+}
+
+RFC3095-ContextInfoList-r5 ::= SEQUENCE (SIZE (1..maxRBallRABs)) OF
+ RFC3095-ContextInfo
+
+
+-- ***************************************************
+--
+-- SRNC Relocation information
+--
+-- ***************************************************
+
+SRNC-RelocationInfo-r3 ::= CHOICE {
+ r3 SEQUENCE {
+ sRNC-RelocationInfo-r3 SRNC-RelocationInfo-r3-IEs,
+ v380NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v380ext SRNC-RelocationInfo-v380ext-IEs,
+ -- Reserved for future non critical extension
+ v390NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v390ext SRNC-RelocationInfo-v390ext-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v3a0ext SRNC-RelocationInfo-v3a0ext-IEs,
+ v3b0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v3b0ext SRNC-RelocationInfo-v3b0ext-IEs,
+ v3c0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v3c0ext SRNC-RelocationInfo-v3c0ext-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v3d0ext SRNC-RelocationInfo-v3d0ext-IEs,
+ -- Container for additional R99 extensions
+ sRNC-RelocationInfo-r3-add-ext BIT STRING
+ (CONTAINING SRNC-RelocationInfo-v3h0ext-IEs) OPTIONAL,
+ v3g0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v3g0ext SRNC-RelocationInfo-v3g0ext-IEs,
+ v4b0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v4b0ext SRNC-RelocationInfo-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v590ext
+ SRNC-RelocationInfo-v590ext-IEs,
+ v5a0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v5a0ext
+ SRNC-RelocationInfo-v5a0ext-IEs,
+ v5b0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v5b0ext
+ SRNC-RelocationInfo-v5b0ext-IEs,
+ v5c0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v5c0ext
+ SRNC-RelocationInfo-v5c0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v690ext
+ SRNC-RelocationInfo-v690ext-IEs,
+ v6b0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v6b0ext
+ SRNC-RelocationInfo-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v770ext
+ SRNC-RelocationInfo-v770ext-IEs,
+ v7e0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7e0ext
+ SRNC-RelocationInfo-v7e0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7f0ext
+ SRNC-RelocationInfo-v7f0ext-IEs,
+ nonCriticalExtensions
+ SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 CHOICE {
+ r4 SEQUENCE {
+ sRNC-RelocationInfo-r4 SRNC-RelocationInfo-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v4d0ext SRNC-RelocationInfo-v4d0ext-IEs,
+ -- Container for adding non critical extensions after freezing REL-5
+ sRNC-RelocationInfo-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v590ext SRNC-RelocationInfo-v590ext-IEs,
+ v5a0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v5a0ext SRNC-RelocationInfo-v5a0ext-IEs,
+ v5b0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v5b0ext SRNC-RelocationInfo-v5b0ext-IEs,
+ v5c0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v5c0ext SRNC-RelocationInfo-v5c0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v690ext SRNC-RelocationInfo-v690ext-IEs,
+ v6b0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v6b0ext
+ SRNC-RelocationInfo-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v770ext
+ SRNC-RelocationInfo-v770ext-IEs,
+ v7e0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7e0ext
+ SRNC-RelocationInfo-v7e0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7f0ext
+ SRNC-RelocationInfo-v7f0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ sRNC-RelocationInfo-r5 SRNC-RelocationInfo-r5-IEs,
+ sRNC-RelocationInfo-r5-add-ext BIT STRING OPTIONAL,
+ v5a0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v5a0ext SRNC-RelocationInfo-v5a0ext-IEs,
+ v5b0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v5b0ext SRNC-RelocationInfo-v5b0ext-IEs,
+ v5c0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v5c0ext SRNC-RelocationInfo-v5c0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v690ext SRNC-RelocationInfo-v690ext-IEs,
+ v6b0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v6b0ext SRNC-RelocationInfo-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v770ext
+ SRNC-RelocationInfo-v770ext-IEs,
+ v7e0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7e0ext
+ SRNC-RelocationInfo-v7e0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7f0ext
+ SRNC-RelocationInfo-v7f0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ sRNC-RelocationInfo-r6 SRNC-RelocationInfo-r6-IEs,
+ sRNC-RelocationInfo-r6-add-ext BIT STRING
+ (CONTAINING SRNC-RelocationInfo-r6-add-ext-IEs) OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v6b0ext SRNC-RelocationInfo-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v770ext SRNC-RelocationInfo-v770ext-IEs,
+ v820NonCriticalExtensions SEQUENCE {
+ srnc-RelocationInfo-v820ext SRNC-RelocationInfo-v820ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v860ext SRNC-RelocationInfo-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ sRNC-RelocationInfo-r7 SRNC-RelocationInfo-r7-IEs,
+ sRNC-RelocationInfo-r7-add-ext BIT STRING
+ (CONTAINING SRNC-RelocationInfo-r7-add-ext-IEs) OPTIONAL,
+ v820NonCriticalExtensions SEQUENCE {
+ srnc-RelocationInfo-v820ext SRNC-RelocationInfo-v820ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v860ext SRNC-RelocationInfo-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ sRNC-RelocationInfo-r8 SRNC-RelocationInfo-r8-IEs,
+ sRNC-RelocationInfo-r8-add-ext BIT STRING OPTIONAL,
+ v7e0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7e0ext SRNC-RelocationInfo-v7e0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7f0ext
+ SRNC-RelocationInfo-v7f0ext-IEs,
+ v8d0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v8d0ext
+ SRNC-RelocationInfo-v8d0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ sRNC-RelocationInfo-r9 SRNC-RelocationInfo-r9-IEs,
+ sRNC-RelocationInfo-r9-add-ext BIT STRING OPTIONAL,
+ v8d0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v8d0ext SRNC-RelocationInfo-v8d0ext-IEs,
+ v970NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v970ext
+ SRNC-RelocationInfo-v970ext-IEs,
+ v9c0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v9c0ext
+ SRNC-RelocationInfo-v9c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ sRNC-RelocationInfo-r10 SRNC-RelocationInfo-r10-IEs,
+ sRNC-RelocationInfo-r10-add-ext BIT STRING OPTIONAL,
+ v9c0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v9c0ext
+ SRNC-RelocationInfo-v9c0ext-IEs,
+ vab0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-vab0ext
+ SRNC-RelocationInfo-vab0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ sRNC-RelocationInfo-r11 SRNC-RelocationInfo-r11-IEs,
+ sRNC-RelocationInfo-r11-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ sRNC-RelocationInfo-r12 SRNC-RelocationInfo-r12-IEs,
+ sRNC-RelocationInfo-r12-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ sRNC-RelocationInfo-r13 SRNC-RelocationInfo-r13-IEs,
+ sRNC-RelocationInfo-r13-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SRNC-RelocationInfo-LaterCriticalExtensions
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+SRNC-RelocationInfo-r3-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ -- If the extension v380 is included use the extension for the ciphering status per CN domain
+ cipheringStatus CipheringStatus,
+ -- If ciphering status is started and the IE latestConfiguredCN-Domain should be included,
+ -- the IE cn-DomainIdentity (in SRNC-RelocationInfo-v380ext-IEs) shall be used instead.
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ -- The order of occurrence in the IE cipheringInfoPerRB-List is the
+ -- same as the RBs in SRB-InformationSetupList in RAB-InformationSetupList.
+ -- The signalling RBs are supposed to be listed
+ -- first. Only UM and AM RBs that are ciphered are listed here
+ cipheringInfoPerRB-List CipheringInfoPerRB-List OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ integrityProtectionStatus IntegrityProtectionStatus,
+ -- In the IE srb-SpecificIntegrityProtInfo, the first information listed corresponds to
+ -- signalling radio bearer RB0 and after the order of occurrence is the same as the SRBs in
+ -- SRB-InformationSetupList
+ -- The target RNC may ignore the IE srb-SpecificIntegrityProtInfo if the
+ -- IE integrityProtectionStatus has the value "not started".
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ ue-RadioAccessCapability UE-RadioAccessCapability,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationList OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList,
+ rab-InformationList RAB-InformationSetupList OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy and dummy2 are not used in this version of the specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonTransChInfo DL-CommonTransChInfo OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList OPTIONAL,
+ -- Measurement report
+ measurementReport MeasurementReport OPTIONAL
+}
+
+SRNC-RelocationInfo-v380ext-IEs ::= SEQUENCE {
+ -- Ciphering related information IEs
+ -- In the SRNC-RelocationInfo-r3-IEs, the IE 'cn-DomainIdentity' is used to represent the
+ -- IE 'Latest configured CN domain' in the tabular.
+ cn-DomainIdentity CN-DomainIdentity,
+ cipheringStatusList CipheringStatusList
+}
+
+SRNC-RelocationInfo-v390ext-IEs ::= SEQUENCE {
+ cn-DomainInformationList-v390ext CN-DomainInformationList-v390ext OPTIONAL,
+ ue-RadioAccessCapability-v370ext UE-RadioAccessCapability-v370ext OPTIONAL,
+ ue-RadioAccessCapability-v380ext UE-RadioAccessCapability-v380ext OPTIONAL,
+ dl-PhysChCapabilityFDD-v380ext DL-PhysChCapabilityFDD-v380ext,
+ failureCauseWithProtErr FailureCauseWithProtErr OPTIONAL
+}
+
+SRNC-RelocationInfo-v3a0ext-IEs ::= SEQUENCE {
+ cipheringInfoForSRB1-v3a0ext CipheringInfoPerRB-List-v3a0ext,
+ ue-RadioAccessCapability-v3a0ext UE-RadioAccessCapability-v3a0ext OPTIONAL,
+ -- cn-domain identity for IE startValueForCiphering-v3a0ext is specified
+ -- in subsequent extension (SRNC-RelocationInfo-v3b0ext-IEs)
+ startValueForCiphering-v3a0ext START-Value
+}
+
+SRNC-RelocationInfo-v3b0ext-IEs ::= SEQUENCE {
+ -- cn-domain identity for IE startValueForCiphering-v3a0ext included in previous extension
+ cn-DomainIdentity CN-DomainIdentity,
+ -- the IE startValueForCiphering-v3b0ext contains the start values for each CN Domain. The
+ -- value of start indicated by the IE startValueForCiphering-v3a0ext should be set to the
+ -- same value as the start-Value for the corresponding cn-DomainIdentity in the IE
+ -- startValueForCiphering-v3b0ext
+ startValueForCiphering-v3b0ext STARTList2 OPTIONAL
+}
+
+SRNC-RelocationInfo-v3c0ext-IEs ::= SEQUENCE {
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL
+}
+
+SRNC-RelocationInfo-v3d0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ uESpecificBehaviourInformation1idle UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT UESpecificBehaviourInformation1interRAT OPTIONAL
+}
+
+SRNC-RelocationInfo-v3g0ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapability-v3g0ext UE-RadioAccessCapability-v3g0ext OPTIONAL
+}
+
+SRNC-RelocationInfo-v3h0ext-IEs ::= SEQUENCE {
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+SRNC-RelocationInfo-v4d0ext-IEs ::= SEQUENCE {
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL
+}
+
+TPC-CombinationInfoList ::= SEQUENCE (SIZE (1..maxRL)) OF
+ TPC-Combination-Info
+
+TPC-CombinationInfoList-r9 ::= SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ TPC-Combination-Info-r9
+
+STARTList2 ::= SEQUENCE (SIZE (2..maxCNdomains)) OF
+ STARTSingle
+
+SRNC-RelocationInfo-v4b0ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapability-v4b0ext UE-RadioAccessCapability-v4b0ext OPTIONAL
+}
+
+SRNC-RelocationInfo-v590ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapability-v590ext UE-RadioAccessCapability-v590ext OPTIONAL,
+ ue-RATSpecificCapability-v590ext InterRAT-UE-RadioAccessCapability-v590ext OPTIONAL
+}
+
+SRNC-RelocationInfo-v5a0ext-IEs ::= SEQUENCE {
+ storedCompressedModeInfo StoredCompressedModeInfo OPTIONAL
+}
+
+SRNC-RelocationInfo-v5b0ext-IEs ::= SEQUENCE {
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL
+}
+
+SRNC-RelocationInfo-v5c0ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapability-v5c0ext UE-RadioAccessCapability-v5c0ext OPTIONAL
+}
+
+CipheringInfoPerRB-List-v3a0ext ::= SEQUENCE {
+ dl-UM-SN BIT STRING (SIZE (7))
+}
+
+CipheringStatusList ::= SEQUENCE (SIZE (1..maxCNdomains)) OF
+ CipheringStatusCNdomain
+
+CipheringStatusCNdomain ::= SEQUENCE {
+ cn-DomainIdentity CN-DomainIdentity,
+ cipheringStatus CipheringStatus
+}
+
+CodeChangeStatusList ::= SEQUENCE (SIZE (1..maxRL)) OF
+ CodeChangeStatus
+
+CodeChangeStatus ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ scramblingCodeChange ScramblingCodeChange
+}
+
+StoredCompressedModeInfo ::= SEQUENCE {
+ storedTGP-SequenceList StoredTGP-SequenceList,
+ codeChangeStatusList CodeChangeStatusList OPTIONAL
+}
+
+StoredCompressedModeInfo-r8 ::= SEQUENCE {
+ storedTGP-SequenceList StoredTGP-SequenceList-r8,
+ codeChangeStatusList CodeChangeStatusList OPTIONAL
+}
+
+StoredTGP-SequenceList ::= SEQUENCE (SIZE (1..maxTGPS)) OF
+ StoredTGP-Sequence
+
+StoredTGP-SequenceList-r8 ::= SEQUENCE (SIZE (1..maxTGPS)) OF
+ StoredTGP-Sequence-r8
+
+StoredTGP-Sequence ::= SEQUENCE {
+ tgpsi TGPSI,
+ current-tgps-Status CHOICE {
+ active SEQUENCE {
+ tgcfn TGCFN
+ },
+ inactive NULL
+ },
+ tgps-ConfigurationParams TGPS-ConfigurationParams OPTIONAL
+}
+
+StoredTGP-Sequence-r8 ::= SEQUENCE {
+ tgpsi TGPSI,
+ current-tgps-Status CHOICE {
+ active SEQUENCE {
+ tgcfn TGCFN
+ },
+ inactive NULL
+ },
+ tgps-ConfigurationParams TGPS-ConfigurationParams-r8 OPTIONAL
+}
+
+SRNC-RelocationInfo-r4-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ -- The target RNC may ignore the IE srb-SpecificIntegrityProtInfo if the
+ -- IE integrityProtectionStatus has the value "not started".
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ ue-RadioAccessCapability UE-RadioAccessCapability-r4,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r4 OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList,
+ rab-InformationList RAB-InformationSetupList-r4 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r4 OPTIONAL,
+ -- Measurement report
+ measurementReport MeasurementReport OPTIONAL,
+ failureCause FailureCauseWithProtErr OPTIONAL
+}
+
+SRNC-RelocationInfo-r5-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ ue-RadioAccessCapability UE-RadioAccessCapability-r5,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r5 OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r5,
+ rab-InformationList RAB-InformationSetupList-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ -- Measurement report
+ measurementReport MeasurementReport OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL
+}
+
+SRNC-RelocationInfo-v690ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability information
+ -- received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was introduced
+ -- in a release independent manner, i.e., transferred within a VLEC. These UE capabilities
+ -- are included both in the RRC CONNECTION SETUP COMPLETE and the UE CAPABILITY INFORMATION
+ -- messages. Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationSetupList RAB-InformationSetupList-r6-ext OPTIONAL,
+ -- Measurement report
+ measuredResultsOnRACHinterFreq MeasuredResultsOnRACHinterFreq OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ -- Measurement IEs
+ intraFreqReportingCriteria IntraFreqReportingCriteria-r6-ext OPTIONAL
+}
+
+SRNC-RelocationInfo-r6-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability information
+ -- received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was introduced
+ -- in a release independent manner, i.e., transferred within a VLEC. These UE capabilities
+ -- are included both in the RRC CONNECTION SETUP COMPLETE and the UE CAPABILITY INFORMATION
+ -- messages. Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r6 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r6,
+ rab-InformationList RAB-InformationSetupList-r6 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r6 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL
+}
+
+SRNC-RelocationInfo-r6-add-ext-IEs ::= SEQUENCE {
+ sRNC-RelocationInfo-v7e0ext SRNC-RelocationInfo-v7e0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7f0ext SRNC-RelocationInfo-v7f0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+SRNC-RelocationInfo-v6b0ext-IEs ::= SEQUENCE {
+ -- The order of the RABs in IE rab-InformationSetupListExt is the same as
+ -- in IE rab-InformationSetupList that is included in this message
+ rab-InformationSetupListExt RAB-InformationSetupList-v6b0ext OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo
+}
+
+SRNC-RelocationInfo-r7-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ -- IE 'UE-RadioAccessCapability-r6' includes the Rel-5 radio access capability extensions
+ -- and earlier. Rel-6 and later extensions are included in IE 'UE-CapabilityContainer-IEs'.
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability information
+ -- received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was introduced
+ -- in a release independent manner, i.e., transferred within a VLEC. These UE capabilities
+ -- are included both in the RRC CONNECTION SETUP COMPLETE and the UE CAPABILITY INFORMATION
+ -- messages. Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ srns-t-305 T-305 OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r7 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r7,
+ rab-InformationList RAB-InformationSetupList-r7 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r7 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
+}
+
+SRNC-RelocationInfo-r7-add-ext-IEs ::= SEQUENCE {
+ sRNC-RelocationInfo-v7e0ext SRNC-RelocationInfo-v7e0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ sRNC-RelocationInfo-v7f0ext SRNC-RelocationInfo-v7f0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+SRNC-RelocationInfo-v770ext-IEs ::= SEQUENCE {
+ thresholdSFN-GPS-TOW-us ThresholdSFN-GPS-TOW-us OPTIONAL,
+ srns-t-305 T-305 OPTIONAL
+}
+
+SRNC-RelocationInfo-v7e0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability UE-RadioAccessCapability-v7e0ext
+}
+
+SRNC-RelocationInfo-v7f0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability UE-RadioAccessCapability-v7f0ext OPTIONAL
+}
+
+SRNC-RelocationInfo-r8-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ -- IE 'UE-RadioAccessCapability-r6' includes the Rel-5 radio access capability extensions
+ -- and earlier. Rel-6 and later extensions are included in IE 'UE-CapabilityContainer-IEs'.
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability information
+ -- received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was introduced
+ -- in a release independent manner, i.e., transferred within a VLEC. These UE capabilities
+ -- are included both in the RRC CONNECTION SETUP COMPLETE and the UE CAPABILITY INFORMATION
+ -- messages. Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ srns-t-305 T-305 OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r8 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r8,
+ rab-InformationList RAB-InformationSetupList-r8 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo-r8 OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ ue-HistoryInformation UE-HistoryInformation OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
+}
+
+SRNC-RelocationInfo-v820ext-IEs ::= SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationList RAB-InformationSetupList-v820ext OPTIONAL
+}
+
+SRNC-RelocationInfo-v860ext-IEs ::= SEQUENCE {
+ -- PhyCH IEs
+ e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL
+}
+
+SRNC-RelocationInfo-v8d0ext-IEs ::= SEQUENCE {
+ --Radio Bearer IEs
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL
+}
+
+SRNC-RelocationInfo-r9-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ -- IE 'UE-RadioAccessCapability-r6' includes the Rel-5 radio access capability extensions
+ -- and earlier. Rel-6 and later extensions are included in IE 'UE-CapabilityContainer-IEs'.
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability information
+ -- received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was introduced
+ -- in a release independent manner, i.e., transferred within a VLEC. These UE capabilities
+ -- are included both in the RRC CONNECTION SETUP COMPLETE and the UE CAPABILITY INFORMATION
+ -- messages. Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ srns-t-305 T-305 OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r9 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r8,
+ rab-InformationList RAB-InformationSetupList-r8 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo-r8 OPTIONAL,
+ secondary-tpc-CombinationInfoList TPC-CombinationInfoList-r9 OPTIONAL,
+ secondary-e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList-r9 OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ ue-HistoryInformation UE-HistoryInformation OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
+}
+
+SRNC-RelocationInfo-v970ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-v970ext-IE OPTIONAL
+}
+
+SRNC-RelocationInfo-v9c0ext-IEs ::= SEQUENCE {
+ -- For 1.28Mcps TDD only
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-TDD128-v9c0ext OPTIONAL
+}
+
+SRNC-RelocationInfo-r10-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ -- IE 'UE-RadioAccessCapability-r6' includes the Rel-5 radio access capability extensions
+ -- and earlier. Rel-6 and later extensions are included in IE 'UE-CapabilityContainer-IEs'.
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability information
+ -- received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was introduced
+ -- in a release independent manner, i.e., transferred within a VLEC. These UE capabilities
+ -- are included both in the RRC CONNECTION SETUP COMPLETE and the UE CAPABILITY INFORMATION
+ -- messages. Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ srns-t-305 T-305 OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r10 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r8,
+ rab-InformationList RAB-InformationSetupList-r8 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo-r8 OPTIONAL,
+ secondary-tpc-CombinationInfoList TPC-CombinationInfoList-r9 OPTIONAL,
+ secondary-e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList-r9 OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ ue-HistoryInformation UE-HistoryInformation OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
+}
+
+SRNC-RelocationInfo-vab0ext-IEs ::= SRNC-RelocationInfo-v970ext-IEs
+
+SRNC-RelocationInfo-r11-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ -- IE 'UE-RadioAccessCapability-r6' includes the Rel-5 radio access capability extensions
+ -- and earlier. Rel-6 and later extensions are included in IE 'UE-CapabilityContainer-IEs'.
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability information
+ -- received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was introduced
+ -- in a release independent manner, i.e., transferred within a VLEC. These UE capabilities
+ -- are included both in the RRC CONNECTION SETUP COMPLETE and the UE CAPABILITY INFORMATION
+ -- messages. Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ srns-t-305 T-305 OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r11 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r11,
+ rab-InformationList RAB-InformationSetupList-r11 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo-r8 OPTIONAL,
+ secondary-tpc-CombinationInfoList TPC-CombinationInfoList-r9 OPTIONAL,
+ secondary-e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList-r9 OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ ue-HistoryInformation UE-HistoryInformation OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
+}
+
+SRNC-RelocationInfo-r12-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ -- IE 'UE-RadioAccessCapability-r6' includes the Rel-5 radio access capability extensions
+ -- and earlier. Rel-6 and later extensions are included in IE 'UE-CapabilityContainer-IEs'.
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability information
+ -- received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was introduced
+ -- in a release independent manner, i.e., transferred within a VLEC. These UE capabilities
+ -- are included both in the RRC CONNECTION SETUP COMPLETE and the UE CAPABILITY INFORMATION
+ -- messages. Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ srns-t-305 T-305 OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r12 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r11,
+ rab-InformationList RAB-InformationSetupList-r11 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo-r8 OPTIONAL,
+ secondary-tpc-CombinationInfoList TPC-CombinationInfoList-r9 OPTIONAL,
+ secondary-e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList-r9 OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r12 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r12 OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r12 OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ ue-HistoryInformation UE-HistoryInformation OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
+}
+
+SRNC-RelocationInfo-r13-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ -- IE 'UE-RadioAccessCapability-r6' includes the Rel-5 radio access capability
+ -- extensions and earlier. Rel-6 and later extensions are included in IE 'UE-CapabilityContainer-IEs'.
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability
+ -- information received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was
+ -- introduced in a release independent manner, i.e., transferred within a VLEC.
+ -- These UE capabilities are included both in the RRC CONNECTION SETUP COMPLETE and
+ -- the UE CAPABILITY INFORMATION messages.
+ -- Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ srns-t-305 T-305 OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r13 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r11,
+ rab-InformationList RAB-InformationSetupList-r11 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo-r8 OPTIONAL,
+ secondary-tpc-CombinationInfoList TPC-CombinationInfoList-r9 OPTIONAL,
+ secondary-e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList-r9 OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r12 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ ue-HistoryInformation UE-HistoryInformation OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
+}
+
+SRNC-RelocationInfo-LaterCriticalExtensions ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ r14 SEQUENCE {
+ sRNC-RelocationInfo-r14 SRNC-RelocationInfo-r14-IEs,
+ sRNC-RelocationInfo-r14-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ sRNC-RelocationInfo-CriticalExtensions-r15-IEs SRNC-RelocationInfo-CriticalExtensions-r15-IEs
+ }
+}
+
+SRNC-RelocationInfo-CriticalExtensions-r15-IEs ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ r15 SEQUENCE {
+ sRNC-RelocationInfo-r15 SRNC-RelocationInfo-r15-IEs,
+ sRNC-RelocationInfo-r15-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+SRNC-RelocationInfo-r14-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ -- IE 'UE-RadioAccessCapability-r6' includes the Rel-5 radio access capability
+ -- extensions and earlier. Rel-6 and later extensions are included in IE 'UE-CapabilityContainer-IEs'.
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability
+ -- information received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was
+ -- introduced in a release independent manner, i.e., transferred within a VLEC.
+ -- These UE capabilities are included both in the RRC CONNECTION SETUP COMPLETE and
+ -- the UE CAPABILITY INFORMATION messages.
+ -- Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ srns-t-305 T-305 OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r14 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r11,
+ rab-InformationList RAB-InformationSetupList-r11 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo-r8 OPTIONAL,
+ secondary-tpc-CombinationInfoList TPC-CombinationInfoList-r9 OPTIONAL,
+ secondary-e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList-r9 OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r12 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ ue-HistoryInformation UE-HistoryInformation OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
+}
+
+SRNC-RelocationInfo-r15-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ -- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
+ -- to send the message contained in the IE "TargetRNC-ToSourceRNC-Container".
+ -- Only included if type is "UE involved"
+ rb-IdentityForHOMessage RB-Identity OPTIONAL,
+ stateOfRRC StateOfRRC,
+ stateOfRRC-Procedure StateOfRRC-Procedure,
+ -- Ciphering related information IEs
+ cipheringStatusList CipheringStatusList-r4,
+ latestConfiguredCN-Domain CN-DomainIdentity,
+ calculationTimeForCiphering CalculationTimeForCiphering OPTIONAL,
+ count-C-List COUNT-C-List OPTIONAL,
+ cipheringInfoPerRB-List CipheringInfoPerRB-List-r4 OPTIONAL,
+ -- Integrity protection related information IEs
+ integrityProtectionStatus IntegrityProtectionStatus,
+ srb-SpecificIntegrityProtInfo SRB-SpecificIntegrityProtInfoList OPTIONAL,
+ implementationSpecificParams ImplementationSpecificParams OPTIONAL,
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ c-RNTI C-RNTI OPTIONAL,
+ -- IE 'UE-RadioAccessCapability-r6' includes the Rel-5 radio access capability
+ -- extensions and earlier. Rel-6 and later extensions are included in IE 'UE-CapabilityContainer-IEs'.
+ ue-RadioAccessCapability UE-RadioAccessCapability-r6,
+ ue-RadioAccessCapability-ext UE-RadioAccessCapabBandFDDList OPTIONAL,
+ ue-Positioning-LastKnownPos UE-Positioning-LastKnownPos OPTIONAL,
+ uESpecificBehaviourInformation1idle
+ UESpecificBehaviourInformation1idle OPTIONAL,
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL,
+ -- IE ueCapabilityContainer is used for the transparent transfer of capability
+ -- information received from the UE
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL,
+ -- IE ueCapabilityContainer-RSC and IE ueCapabilityContainer-UCI are used for the
+ -- transparent transfer of capability information received from the UE that was
+ -- introduced in a release independent manner, i.e., transferred within a VLEC.
+ -- These UE capabilities are included both in the RRC CONNECTION SETUP COMPLETE and
+ -- the UE CAPABILITY INFORMATION messages.
+ -- Only the VLEC of one message needs to be included i.e. the one from these
+ -- messages that was last received.
+ -- Case 1: If the last received message was a RRC CONNECTION SETUP COMPLETE (RSC)
+ ueCapabilityContainer-RSC BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ -- Case 2: If the last received message was a UE CAPABILITY INFORMATION (UCI)
+ ueCapabilityContainer-UCI BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList-r5 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ srns-t-305 T-305 OPTIONAL,
+ -- Core network IEs
+ cn-CommonGSM-MAP-NAS-SysInfo NAS-SystemInformationGSM-MAP,
+ cn-DomainInformationList CN-DomainInformationListFull OPTIONAL,
+ -- Measurement IEs
+ ongoingMeasRepList OngoingMeasRepList-r15 OPTIONAL,
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL,
+ -- Radio bearer IEs
+ predefinedConfigStatusList PredefinedConfigStatusList,
+ srb-InformationList SRB-InformationSetupList-r11,
+ rab-InformationList RAB-InformationSetupList-r11 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-TransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-TransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- PhyCH IEs
+ tpc-CombinationInfoList TPC-CombinationInfoList OPTIONAL,
+ e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL,
+ storedCompressedModeInfo StoredCompressedModeInfo-r8 OPTIONAL,
+ secondary-tpc-CombinationInfoList TPC-CombinationInfoList-r9 OPTIONAL,
+ secondary-e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList-r9 OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r12 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ -- Measurement report
+ measurementReport BIT STRING
+ (CONTAINING MeasurementReport) OPTIONAL,
+ -- Other IEs
+ failureCause FailureCauseWithProtErr OPTIONAL,
+ ue-HistoryInformation UE-HistoryInformation OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL,
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
+}
+
+-- IE definitions
+
+CalculationTimeForCiphering ::= SEQUENCE {
+ cell-Id CellIdentity,
+ sfn INTEGER (0..4095)
+}
+
+CipheringInfoPerRB ::= SEQUENCE {
+ dl-HFN BIT STRING (SIZE (20..25)),
+ ul-HFN BIT STRING (SIZE (20..25))
+}
+
+CipheringInfoPerRB-r4 ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ dl-HFN BIT STRING (SIZE (20..25)),
+ dl-UM-SN BIT STRING (SIZE (7)) OPTIONAL,
+ ul-HFN BIT STRING (SIZE (20..25))
+}
+
+-- TABULAR: CipheringInfoPerRB-List, multiplicity value numberOfRadioBearers
+-- has been replaced with maxRB.
+CipheringInfoPerRB-List ::= SEQUENCE (SIZE (1..maxRB)) OF
+ CipheringInfoPerRB
+
+CipheringInfoPerRB-List-r4 ::= SEQUENCE (SIZE (1..maxRB)) OF
+ CipheringInfoPerRB-r4
+
+
+CipheringStatus ::= ENUMERATED {
+ started, notStarted }
+
+CipheringStatusList-r4 ::= SEQUENCE (SIZE (1..maxCNdomains)) OF
+ CipheringStatusCNdomain-r4
+
+CipheringStatusCNdomain-r4 ::= SEQUENCE {
+ cn-DomainIdentity CN-DomainIdentity,
+ cipheringStatus CipheringStatus,
+ start-Value START-Value
+}
+
+CN-DomainInformation-v390ext ::= SEQUENCE {
+ cn-DRX-CycleLengthCoeff CN-DRX-CycleLengthCoefficient
+}
+
+CN-DomainInformationList-v390ext ::= SEQUENCE (SIZE (1..maxCNdomains)) OF
+ CN-DomainInformation-v390ext
+
+CompressedModeMeasCapability-r4 ::= SEQUENCE {
+ fdd-Measurements BOOLEAN,
+ -- TABULAR: The IEs tdd-Measurements, gsm-Measurements and multiCarrierMeasurements
+ -- are made optional since they are conditional based on another information element.
+ -- Their absence corresponds to the case where the condition is not true.
+ tdd384-Measurements BOOLEAN OPTIONAL,
+ tdd128-Measurements BOOLEAN OPTIONAL,
+ gsm-Measurements GSM-Measurements OPTIONAL,
+ multiCarrierMeasurements BOOLEAN OPTIONAL
+}
+
+COUNT-C-List ::= SEQUENCE (SIZE (1..maxCNdomains)) OF
+ COUNT-CSingle
+
+COUNT-CSingle ::= SEQUENCE {
+ cn-DomainIdentity CN-DomainIdentity,
+ count-C BIT STRING (SIZE (32))
+}
+
+DL-PhysChCapabilityFDD-r4 ::= SEQUENCE {
+ -- The IE "maxNoDPCH-PDSCH-Codes" only gives information on the maximum number of DPCH Codes.
+ maxNoDPCH-PDSCH-Codes INTEGER (1..8),
+ maxNoPhysChBitsReceived MaxNoPhysChBitsReceived,
+ supportForSF-512 BOOLEAN,
+ -- dummy, dummy2 and dummy3 are not used in this version of the specification
+ -- and if received they should be ignored.
+ dummy BOOLEAN,
+ dummy2 SimultaneousSCCPCH-DPCH-Reception,
+ dummy3 SupportOfDedicatedPilotsForChEstimation OPTIONAL
+}
+
+DL-PhysChCapabilityFDD-r5 ::= SEQUENCE {
+ -- The IE "maxNoDPCH-PDSCH-Codes" only gives information on the maximum number of DPCH Codes.
+ maxNoDPCH-PDSCH-Codes INTEGER (1..8),
+ maxNoPhysChBitsReceived MaxNoPhysChBitsReceived,
+ supportForSF-512 BOOLEAN,
+ -- dummy, dumy2 and dummy3 are not used in this version of the specification
+ -- and if received they should be ignored.
+ dummy BOOLEAN,
+ dummy2 SimultaneousSCCPCH-DPCH-Reception,
+ dummy3 SupportOfDedicatedPilotsForChEstimation OPTIONAL,
+ fdd-hspdsch CHOICE {
+ supported SEQUENCE {
+ hsdsch-physical-layer-category HSDSCH-physical-layer-category,
+ -- dummy and dummy2 are not used in this version of the specification
+ -- and if received they should be ignored.
+ dummy BOOLEAN,
+ dummy2 BOOLEAN
+ },
+ unsupported NULL
+ }
+}
+
+DL-PhysChCapabilityTDD-r5 ::= SEQUENCE {
+ maxTS-PerFrame MaxTS-PerFrame,
+ maxPhysChPerFrame MaxPhysChPerFrame,
+ minimumSF MinimumSF-DL,
+ supportOfPDSCH BOOLEAN,
+ maxPhysChPerTS MaxPhysChPerTS,
+ tdd384-hspdsch CHOICE {
+ supported HSDSCH-physical-layer-category,
+ unsupported NULL
+ }
+}
+
+DL-PhysChCapabilityTDD-LCR-r5 ::= SEQUENCE {
+ maxTS-PerSubFrame MaxTS-PerSubFrame-r4,
+ maxPhysChPerFrame MaxPhysChPerSubFrame-r4,
+ minimumSF MinimumSF-DL,
+ supportOfPDSCH BOOLEAN,
+ maxPhysChPerTS MaxPhysChPerTS,
+ supportOf8PSK BOOLEAN,
+ tdd128-hspdsch CHOICE {
+ supported HSDSCH-physical-layer-category,
+ unsupported NULL
+ }
+}
+
+DL-RFC3095-Context ::= SEQUENCE {
+ rfc3095-Context-Identity INTEGER (0..16383),
+ dl-mode ENUMERATED {u, o, r},
+ dl-ref-ir OCTET STRING ( SIZE (1..3000)),
+ dl-ref-time INTEGER (0..4294967295) OPTIONAL,
+ dl-curr-time INTEGER (0..4294967295) OPTIONAL,
+ dl-syn-offset-id INTEGER (0..65535) OPTIONAL,
+ dl-syn-slope-ts INTEGER (0..4294967295) OPTIONAL,
+ dl-dyn-changed BOOLEAN
+}
+
+E-RGCH-Combination-Info ::= SEQUENCE{
+ primaryCPICH-Info PrimaryCPICH-Info,
+ rg-CombinationIndex INTEGER (0..5)
+}
+
+E-RGCH-Combination-Info-r9 ::= SEQUENCE{
+ primaryCPICH-Info PrimaryCPICH-Info,
+ rg-CombinationIndex INTEGER (0..5)
+}
+
+E-RGCH-CombinationInfoList ::= SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ E-RGCH-Combination-Info
+
+E-RGCH-CombinationInfoList-r9 ::= SEQUENCE (SIZE (1..maxEDCHRL)) OF
+ E-RGCH-Combination-Info-r9
+
+ImplementationSpecificParams ::= BIT STRING (SIZE (1..512))
+
+IntegrityProtectionStatus ::= ENUMERATED {
+ started, notStarted }
+
+InterRAT-UE-RadioAccessCapabilityList-r5 ::= SEQUENCE {
+ interRAT-UE-RadioAccessCapability InterRAT-UE-RadioAccessCapabilityList,
+ geranIu-RadioAccessCapability GERANIu-RadioAccessCapability OPTIONAL
+}
+
+IntraFreqReportingCriteria-r6-ext ::= SEQUENCE {
+ -- The content of the v690 non-critical extension should be
+ -- considered as an extension of IE IntraFreqEventCriteriaList
+ event Event1j-r6,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ reportingCellStatus ReportingCellStatus OPTIONAL
+}
+
+-- dummy is not used in this version of the specification, it should
+-- not be sent and if received it should be ignored.
+MaxHcContextSpace-r5 ::= ENUMERATED {
+ dummy, by1024, by2048, by4096, by8192,
+ by16384, by32768, by65536, by131072 }
+
+MeasurementCapability-r4 ::= SEQUENCE {
+ downlinkCompressedMode CompressedModeMeasCapability-r4,
+ uplinkCompressedMode CompressedModeMeasCapability-r4
+}
+
+MeasurementCommandWithType ::= CHOICE {
+ setup MeasurementType,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r4 ::= CHOICE {
+ setup MeasurementType-r4,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r6 ::= CHOICE {
+ setup MeasurementType-r6,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r7 ::= CHOICE {
+ setup MeasurementType-r7,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r8 ::= CHOICE {
+ setup MeasurementType-r8,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r9 ::= CHOICE {
+ setup MeasurementType-r9,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r10 ::= CHOICE {
+ setup MeasurementType-r10,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r11 ::= CHOICE {
+ setup MeasurementType-r11,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r12 ::= CHOICE {
+ setup MeasurementType-r12,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r13 ::= CHOICE {
+ setup MeasurementType-r13,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r14 ::= CHOICE {
+ setup MeasurementType-Relocation-r14,
+ modify NULL,
+ release NULL
+}
+
+MeasurementCommandWithType-r15 ::= CHOICE {
+ setup MeasurementType-Relocation-r15,
+ modify NULL,
+ release NULL
+}
+
+OngoingMeasRep ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The CHOICE Measurement in the tabular description is included
+ -- in MeasurementCommandWithType
+ measurementCommandWithType MeasurementCommandWithType,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List OPTIONAL
+}
+
+OngoingMeasRep-r4 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The CHOICE Measurement in the tabular description is included
+ -- in MeasurementCommandWithType-r4.
+ measurementCommandWithType MeasurementCommandWithType-r4,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List OPTIONAL
+}
+
+OngoingMeasRep-r5 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The CHOICE Measurement in the tabular description is included
+ -- in MeasurementCommandWithType-r4.
+ measurementCommandWithType MeasurementCommandWithType-r4,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List OPTIONAL,
+ measurementCommand-v590ext CHOICE {
+ -- the choice "intra-frequency" shall be used for the case of intra-frequency measurement,
+ -- as well as when intra-frequency events are configured for inter-frequency measurement
+ intra-frequency Intra-FreqEventCriteriaList-v590ext,
+ inter-frequency Inter-FreqEventCriteriaList-v590ext
+ } OPTIONAL,
+ intraFreqReportingCriteria-1b-r5 IntraFreqReportingCriteria-1b-r5 OPTIONAL,
+ intraFreqEvent-1d-r5 IntraFreqEvent-1d-r5 OPTIONAL
+}
+
+OngoingMeasRep-r6 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity,
+ measurementCommandWithType MeasurementCommandWithType-r6,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List OPTIONAL
+}
+
+OngoingMeasRep-r7 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity,
+ measurementCommandWithType MeasurementCommandWithType-r7,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List OPTIONAL
+}
+
+OngoingMeasRep-r8 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity,
+ measurementCommandWithType MeasurementCommandWithType-r8,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List OPTIONAL
+}
+
+OngoingMeasRep-r9 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity,
+ measurementCommandWithType MeasurementCommandWithType-r9,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ -- if any of the additional measurement ID is within the range 17 to 32,
+ -- "OngoingMeasRep-v970ext-IEs" should be present and should include
+ -- the IE "measurementIdentity" and "additionalMeasurementID-List".
+ -- The value of the IE "measurementIdentity" in "OngoingMeasRep-v970ext-IEs"
+ -- should be the same as the "measurementIdentity" value in "OngoingMeasRep-r9",
+ -- and "additionalMeasurementID-List" should contain the complete list.
+ -- The IE "additionalMeasurementID-List" in "OngoingMeasRep-r9" should still
+ -- contain the additional measurement ID which value is within the range 1 to 16.
+ additionalMeasurementID-List AdditionalMeasurementID-List OPTIONAL
+}
+
+-- The IE "OngoingMeasRep-v970ext-IEs" should be included to report
+-- measurementIdentity values within the range 17 to 32 and when a
+-- "measurementIdentity" in "OngoingMeasRep-r9" needs to contain one of the
+-- values within the range 17 to 32 in the IE "additionalMeasurementID-List".
+
+OngoingMeasRep-v970ext-IEs ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity-r9 OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List-r9 OPTIONAL
+}
+
+OngoingMeasRep-r10 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity,
+ measurementCommandWithType MeasurementCommandWithType-r10,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ -- if any of the additional measurement ID is within the range 17 to 32,
+ -- "OngoingMeasRep-v970ext-IEs" (in SRNC-RelocationInfo-vab0ext-IEs)should be present
+ -- and should include the IE "measurementIdentity" and
+ -- "additionalMeasurementID-List". In this case, the value of the IE "measurementIdentity" in
+ -- "OngoingMeasRep-v970ext-IEs" (in SRNC-RelocationInfo-vab0ext-IEs) should be the same as the
+ -- "measurementIdentity" value in "OngoingMeasRep-r10", and "additionalMeasurementID-List"
+ -- should contain the complete list.
+ -- The IE "additionalMeasurementID-List" in "OngoingMeasRep-r10" should still
+ -- contain the additional measurement ID which value is within the range 1 to 16.
+ additionalMeasurementID-List AdditionalMeasurementID-List OPTIONAL
+}
+
+OngoingMeasRep-r11 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity-r9,
+ measurementCommandWithType MeasurementCommandWithType-r11,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List-r9 OPTIONAL
+}
+
+OngoingMeasRep-r12 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity-r9,
+ measurementCommandWithType MeasurementCommandWithType-r12,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List-r9 OPTIONAL
+}
+
+OngoingMeasRep-r13 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity-r9,
+ measurementCommandWithType MeasurementCommandWithType-r13,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List-r9 OPTIONAL
+}
+
+OngoingMeasRep-r14 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity-r9,
+ measurementCommandWithType MeasurementCommandWithType-r14,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List-r9 OPTIONAL
+}
+
+OngoingMeasRep-r15 ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity-r9,
+ measurementCommandWithType MeasurementCommandWithType-r15,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementID-List AdditionalMeasurementID-List-r9 OPTIONAL
+}
+
+OngoingMeasRepList ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep
+
+OngoingMeasRepList-r4 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r4
+
+OngoingMeasRepList-r5 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r5
+
+OngoingMeasRepList-r6 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r6
+
+OngoingMeasRepList-r7 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r7
+
+OngoingMeasRepList-r8 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r8
+
+OngoingMeasRepList-r9 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r9
+
+OngoingMeasRepList-v970ext-IE ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-v970ext-IEs
+
+OngoingMeasRepList-r10 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r10
+
+OngoingMeasRepList-r11 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r11
+
+OngoingMeasRepList-r12 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r12
+
+OngoingMeasRepList-r13 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r13
+
+OngoingMeasRepList-r14 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r14
+
+OngoingMeasRepList-r15 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
+ OngoingMeasRep-r15
+
+PDCP-Capability-r4 ::= SEQUENCE {
+ losslessSRNS-RelocationSupport BOOLEAN,
+ supportForRfc2507 CHOICE {
+ notSupported NULL,
+ supported MaxHcContextSpace
+ },
+ supportForRfc3095 CHOICE {
+ notSupported NULL,
+ supported SEQUENCE {
+ maxROHC-ContextSessions MaxROHC-ContextSessions-r4 DEFAULT s16,
+ reverseCompressionDepth INTEGER (0..65535) DEFAULT 0
+ }
+ }
+}
+
+PDCP-Capability-r5 ::= SEQUENCE {
+ losslessSRNS-RelocationSupport BOOLEAN,
+ supportForRfc2507 CHOICE {
+ notSupported NULL,
+ supported MaxHcContextSpace-r5
+ },
+ supportForRfc3095 CHOICE {
+ notSupported NULL,
+ supported SEQUENCE {
+ maxROHC-ContextSessions MaxROHC-ContextSessions-r4 DEFAULT s16,
+ reverseCompressionDepth INTEGER (0..65535) DEFAULT 0,
+ supportForRfc3095ContextRelocation BOOLEAN
+ }
+ }
+}
+
+PDCP-Capability-r6 ::= SEQUENCE {
+ losslessSRNS-RelocationSupport BOOLEAN,
+ losslessDLRLC-PDUSizeChange ENUMERATED { true } OPTIONAL,
+ supportForRfc2507 CHOICE {
+ notSupported NULL,
+ supported MaxHcContextSpace-r5
+ },
+ supportForRfc3095 CHOICE {
+ notSupported NULL,
+ supported SEQUENCE {
+ maxROHC-ContextSessions MaxROHC-ContextSessions-r4 DEFAULT s16,
+ reverseCompressionDepth INTEGER (0..65535) DEFAULT 0,
+ supportForRfc3095ContextRelocation BOOLEAN
+ }
+ }
+}
+
+PhysicalChannelCapability-r4 ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-r4,
+ uplinkPhysChCapability UL-PhysChCapabilityFDD
+ } OPTIONAL,
+ tdd384-PhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityTDD,
+ uplinkPhysChCapability UL-PhysChCapabilityTDD
+ } OPTIONAL,
+ tdd128-PhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityTDD-LCR-r4,
+ uplinkPhysChCapability UL-PhysChCapabilityTDD-LCR-r4
+ } OPTIONAL
+}
+
+PhysicalChannelCapability-r5 ::= SEQUENCE {
+ fddPhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityFDD-r5,
+ uplinkPhysChCapability UL-PhysChCapabilityFDD
+ } OPTIONAL,
+ tdd384-PhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityTDD-r5,
+ uplinkPhysChCapability UL-PhysChCapabilityTDD
+ } OPTIONAL,
+ tdd128-PhysChCapability SEQUENCE {
+ downlinkPhysChCapability DL-PhysChCapabilityTDD-LCR-r5,
+ uplinkPhysChCapability UL-PhysChCapabilityTDD-LCR-r4
+ } OPTIONAL
+}
+
+RF-Capability-r4 ::= SEQUENCE {
+ fddRF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClassExt,
+ txRxFrequencySeparation TxRxFrequencySeparation
+ } OPTIONAL,
+ tdd384-RF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClassExt,
+ radioFrequencyBandTDDList RadioFrequencyBandTDDList,
+ chipRateCapability ChipRateCapability
+ } OPTIONAL,
+ tdd128-RF-Capability SEQUENCE {
+ ue-PowerClass UE-PowerClassExt,
+ radioFrequencyBandTDDList RadioFrequencyBandTDDList,
+ chipRateCapability ChipRateCapability
+ } OPTIONAL
+}
+
+RFC3095-ContextInfo ::= SEQUENCE {
+ rb-Identity RB-Identity,
+ rfc3095-Context-List RFC3095-Context-List
+}
+
+RFC3095-Context-List ::= SEQUENCE (SIZE (1..maxRFC3095-CID)) OF SEQUENCE {
+ dl-RFC3095-Context DL-RFC3095-Context OPTIONAL,
+ ul-RFC3095-Context UL-RFC3095-Context OPTIONAL
+}
+
+RLC-Capability-r5 ::= SEQUENCE {
+ totalRLC-AM-BufferSize TotalRLC-AM-BufferSize-r5,
+ maximumRLC-WindowSize MaximumRLC-WindowSize,
+ maximumAM-EntityNumber MaximumAM-EntityNumberRLC-Cap
+}
+
+
+SRB-SpecificIntegrityProtInfo ::= SEQUENCE {
+ ul-RRC-HFN BIT STRING (SIZE (28)),
+ dl-RRC-HFN BIT STRING (SIZE (28)),
+ ul-RRC-SequenceNumber RRC-MessageSequenceNumber,
+ dl-RRC-SequenceNumber RRC-MessageSequenceNumber
+}
+
+SRB-SpecificIntegrityProtInfoList ::= SEQUENCE (SIZE (4..maxSRBsetup)) OF
+ SRB-SpecificIntegrityProtInfo
+
+StateOfRRC ::= ENUMERATED {
+ cell-DCH, cell-FACH,
+ cell-PCH, ura-PCH }
+
+StateOfRRC-Procedure ::= ENUMERATED {
+ awaitNoRRC-Message,
+ awaitRB-ReleaseComplete,
+ awaitRB-SetupComplete,
+ awaitRB-ReconfigurationComplete,
+ awaitTransportCH-ReconfigurationComplete,
+ awaitPhysicalCH-ReconfigurationComplete,
+ awaitActiveSetUpdateComplete,
+ awaitHandoverComplete,
+ sendCellUpdateConfirm,
+ sendUraUpdateConfirm,
+ -- dummy is not used in this version of specification
+ -- It should not be sent
+ dummy,
+ otherStates
+}
+
+TotalRLC-AM-BufferSize-r5 ::= ENUMERATED {
+ kb10, kb50, kb100, kb150, kb200,
+ kb300, kb400, kb500, kb750, kb1000 }
+
+TPC-Combination-Info ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ tpc-CombinationIndex TPC-CombinationIndex
+}
+
+TPC-Combination-Info-r9 ::= SEQUENCE {
+ primaryCPICH-Info PrimaryCPICH-Info,
+ tpc-CombinationIndex TPC-CombinationIndex
+}
+
+UE-MultiModeRAT-Capability-r5 ::= SEQUENCE {
+ multiRAT-CapabilityList MultiRAT-Capability,
+ multiModeCapability MultiModeCapability,
+ supportOfUTRAN-ToGERAN-NACC BOOLEAN
+}
+
+UE-Positioning-Capability-r4 ::= SEQUENCE {
+ standaloneLocMethodsSupported BOOLEAN,
+ ue-BasedOTDOA-Supported BOOLEAN,
+ networkAssistedGPS-Supported NetworkAssistedGPS-Supported,
+ supportForUE-GPS-TimingOfCellFrames BOOLEAN,
+ supportForIPDL BOOLEAN,
+ rx-tx-TimeDifferenceType2Capable BOOLEAN,
+ validity-CellPCH-UraPCH ENUMERATED { true } OPTIONAL,
+ sfn-sfnType2Capability ENUMERATED { true } OPTIONAL
+}
+
+UE-Positioning-LastKnownPos ::= SEQUENCE {
+ sfn INTEGER (0..4095),
+ cell-id CellIdentity,
+ positionEstimate PositionEstimate
+}
+
+UE-RadioAccessCapability-r4 ::= SEQUENCE {
+ accessStratumReleaseIndicator AccessStratumReleaseIndicator,
+ pdcp-Capability PDCP-Capability-r4,
+ rlc-Capability RLC-Capability,
+ transportChannelCapability TransportChannelCapability,
+ rf-Capability RF-Capability-r4,
+ physicalChannelCapability PhysicalChannelCapability-r4,
+ ue-MultiModeRAT-Capability UE-MultiModeRAT-Capability,
+ securityCapability SecurityCapability,
+ ue-positioning-Capability UE-Positioning-Capability-r4,
+ measurementCapability MeasurementCapability-r4 OPTIONAL
+}
+
+UE-RadioAccessCapability-r5 ::= SEQUENCE {
+ accessStratumReleaseIndicator AccessStratumReleaseIndicator,
+ dl-CapabilityWithSimultaneousHS-DSCHConfig
+ DL-CapabilityWithSimultaneousHS-DSCHConfig OPTIONAL,
+ pdcp-Capability PDCP-Capability-r5,
+ rlc-Capability RLC-Capability-r5,
+ transportChannelCapability TransportChannelCapability,
+ rf-Capability RF-Capability-r4,
+ physicalChannelCapability PhysicalChannelCapability-r5,
+ ue-MultiModeRAT-Capability UE-MultiModeRAT-Capability-r5,
+ securityCapability SecurityCapability,
+ ue-positioning-Capability UE-Positioning-Capability-r4,
+ measurementCapability MeasurementCapability-r4 OPTIONAL
+}
+
+UE-RadioAccessCapability-r6 ::= SEQUENCE {
+ accessStratumReleaseIndicator AccessStratumReleaseIndicator,
+ dl-CapabilityWithSimultaneousHS-DSCHConfig
+ DL-CapabilityWithSimultaneousHS-DSCHConfig OPTIONAL,
+ pdcp-Capability PDCP-Capability-r6,
+ rlc-Capability RLC-Capability-r5,
+ transportChannelCapability TransportChannelCapability,
+ rf-Capability RF-Capability-r4,
+ physicalChannelCapability PhysicalChannelCapability-r5,
+ ue-MultiModeRAT-Capability UE-MultiModeRAT-Capability-r5,
+ securityCapability SecurityCapability,
+ ue-positioning-Capability UE-Positioning-Capability-r4,
+ measurementCapability MeasurementCapability-r4 OPTIONAL
+}
+
+UL-RFC3095-Context ::= SEQUENCE {
+ rfc3095-Context-Identity INTEGER (0..16383),
+ ul-mode ENUMERATED {u, o, r},
+ ul-ref-ir OCTET STRING ( SIZE (1..3000)),
+ ul-ref-time INTEGER (0..4294967295) OPTIONAL,
+ ul-curr-time INTEGER (0..4294967295) OPTIONAL,
+ ul-syn-offset-id INTEGER (0..65535) OPTIONAL,
+ ul-syn-slope-ts INTEGER (0..4294967295) OPTIONAL,
+ ul-ref-sn-1 INTEGER (0..65535) OPTIONAL
+}
+
+END
diff --git a/epan/dissectors/asn1/rrc/PDU-definitions.asn b/epan/dissectors/asn1/rrc/PDU-definitions.asn
new file mode 100644
index 00000000..fca2613f
--- /dev/null
+++ b/epan/dissectors/asn1/rrc/PDU-definitions.asn
@@ -0,0 +1,13970 @@
+-- 3GPP TS 25.331 V17.1.0 (2022-06)
+--
+-- 11.2 PDU definitions
+--
+
+PDU-definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+--**************************************************************
+--
+-- IE parameter types from other modules
+--
+--**************************************************************
+
+IMPORTS
+
+-- Core Network IEs :
+ CN-DomainIdentity,
+ CN-InformationInfo,
+ CN-InformationInfo-r6,
+ CN-InformationInfoFull,
+ DomainSpecificAccessRestrictionParam-v670ext,
+ NAS-Message,
+ PagingRecordTypeID,
+ PagingPermissionWithAccessControlParameters,
+ PLMN-Identity,
+-- UTRAN Mobility IEs :
+ CellIdentity,
+ CellIdentity-PerRL-List,
+ DedicatedPriorityInformation,
+ DedicatedPriorityInformation-r11,
+ DedicatedPriorityInformation-r13,
+ DedicatedWLANOffloadInformation,
+ URA-Identity,
+-- User Equipment IEs :
+ AccessGroupIdentity,
+ AccessStratumReleaseIndicator,
+ ActivationTime,
+ C-RNTI,
+ CapabilityUpdateRequirement,
+ CapabilityUpdateRequirement-r4,
+ CapabilityUpdateRequirement-r4-ext,
+ CapabilityUpdateRequirement-r5,
+ CapabilityUpdateRequirement-v770ext,
+ CapabilityUpdateRequirement-v860ext,
+ CapabilityUpdateRequirement-vaj0ext,
+ CapabilityUpdateRequirement-r7,
+ CapabilityUpdateRequirement-r8,
+ CapabilityUpdateRequirement-r12,
+ CellUpdateCause,
+ CellUpdateCause-ext,
+ CellUpdateCause-ext2,
+ CipheringAlgorithm,
+ CipheringAlgorithm-r7,
+ CipheringModeInfo,
+ CipheringModeInfo-r7,
+ DelayRestrictionFlag,
+ DL-PhysChCapabilityFDD-v380ext,
+ DSCH-RNTI,
+ DynamicActivationTime,
+ E-RNTI,
+ EstablishmentCause,
+ ExtendedWaitTime,
+ FailureCauseWithProtErr,
+ FailureCauseWithProtErrTrId,
+ FrequencyBandsIndicatorSupport,
+ GroupReleaseInformation,
+ H-RNTI,
+ High-MobilityDetected,
+ InitialUE-Identity,
+ IntegrityProtActivationInfo,
+ IntegrityProtectionModeInfo,
+ IntegrityProtectionModeInfo-r7,
+ N-308,
+ PagingCause,
+ PagingRecordList,
+ PagingRecord2List-r5,
+ PDCP-Capability-r4-ext,
+ PDCP-Capability-v770ext,
+ Pre-RedirectionInfo,
+ ProtocolErrorIndicator,
+ ProtocolErrorIndicatorWithMoreInfo,
+ RadioFrequencyBandTDDList,
+ Rb-timer-indicator,
+ RedirectionInfo,
+ RedirectionInfo-r6,
+ RedirectionInfo-v860ext,
+ RejectionCause,
+ ReleaseCause,
+ RF-CapabBandListFDDComp-ext2,
+ RF-CapabilityComp,
+ RRC-StateIndicator,
+ RRC-TransactionIdentifier,
+ RSR-VCC-Info,
+ SecurityCapability,
+ SR-VCC-Info,
+ SR-VCC-SecurityRABInfo-v860ext,
+ START-Value,
+ STARTList,
+ SystemSpecificCapUpdateReq-v590ext,
+ U-RNTI,
+ U-RNTI-Short,
+ UESpecificBehaviourInformation1idle,
+ UESpecificBehaviourInformation1interRAT,
+ UE-CapabilityContainer-IEs,
+ UE-ConnTimersAndConstants,
+ UE-ConnTimersAndConstants-v3a0ext,
+ UE-ConnTimersAndConstants-v860ext,
+ UE-ConnTimersAndConstants-r5,
+ UE-ConnTimersAndConstants-r11,
+ UE-HSPA-Identities-r6,
+ UE-RadioAccessCapabBandFDDList2,
+ UE-RadioAccessCapabBandFDDList-ext,
+ UE-RadioAccessCapabBand-va40ext,
+ UE-RadioAccessCapability,
+ UE-RadioAccessCapability-v370ext,
+ UE-RadioAccessCapability-v380ext,
+ UE-RadioAccessCapability-v3a0ext,
+ UE-RadioAccessCapability-v3g0ext,
+ UE-RadioAccessCapability-v4b0ext,
+ UE-RadioAccessCapability-v590ext,
+ UE-RadioAccessCapability-v5c0ext,
+ UE-RadioAccessCapability-v650ext,
+ UE-RadioAccessCapability-v680ext,
+ UE-RadioAccessCapability-v7e0ext,
+ UE-RadioAccessCapability-v7f0ext,
+ UE-RadioAccessCapability-v860ext,
+ UE-RadioAccessCapability-v880ext,
+ UE-RadioAccessCapability-v890ext,
+ UE-RadioAccessCapability-v920ext,
+ UE-RadioAccessCapability-va40ext,
+ UE-RadioAccessCapability-va80ext,
+ UE-RadioAccessCapability-va60ext,
+ UE-RadioAccessCapability-vb50ext,
+ UE-RadioAccessCapability-vb70ext,
+ UE-RadioAccessCapability-vbc0ext,
+ UE-RadioAccessCapability-vd20ext,
+ UE-RadioAccessCapabilityComp,
+ UE-RadioAccessCapabilityComp-ext,
+ UE-RadioAccessCapabilityComp-v770ext,
+ UE-RadioAccessCapabilityComp2,
+ UE-RadioAccessCapabilityComp2-v770ext,
+ UE-RadioAccessCapabilityComp2-v7f0ext,
+ UE-RadioAccessCapabilityComp2-v860ext,
+ UE-RadioAccessCapabilityComp2-v920ext,
+ UE-RadioAccessCapabilityComp2-va40ext,
+ UE-RadioAccessCapabilityComp2-vb50ext,
+ UE-RadioAccessCapabilityComp2-vc50ext,
+ UE-RadioAccessCapabilityComp2-vd20ext,
+ UE-RadioAccessCapabilityComp-TDD128,
+ UE-RadioAccessCapabilityInfo-v770ext,
+ UE-RadioAccessCapabilityInfo-TDD128-v8b0ext,
+ UE-RadioAccessCapabilityInfo-TDD128-vb50ext,
+ UE-SecurityInformation,
+ UE-SecurityInformation2,
+ UE-SpecificCapabilityInformation-LCRTDD,
+ URA-UpdateCause,
+ UTRAN-DRX-CycleLengthCoefficient,
+ UTRAN-DRX-CycleLengthCoefficient-r7,
+ WaitTime,
+-- Radio Bearer IEs :
+ DefaultConfigIdentity,
+ DefaultConfigIdentity-r4,
+ DefaultConfigIdentity-r5,
+ DefaultConfigIdentity-r6,
+ DefaultConfigForCellFACH,
+ DefaultConfigMode,
+ DL-CounterSynchronisationInfo,
+ DL-CounterSynchronisationInfo-r5,
+ PDCP-ROHC-TargetMode,
+ PredefinedConfigIdentity,
+ PredefinedConfigStatusList,
+ PredefinedConfigStatusListComp,
+ PredefinedConfigSetWithDifferentValueTag,
+ RAB-Info,
+ RAB-Info-r6,
+ RAB-Info-r7,
+ RAB-Info-Post,
+ RAB-InformationList,
+ RAB-InformationList-r6,
+ RAB-InformationReconfigList,
+ RAB-InformationReconfigList-r8,
+ RAB-InformationMBMSPtpList,
+ RAB-InformationSetup-r7,
+ RAB-InformationSetup-r8,
+ RAB-InformationSetup-v820ext,
+ RAB-InformationSetup-r11,
+ RAB-InformationSetupList,
+ RAB-InformationSetupList-r4,
+ RAB-InformationSetupList-r5,
+ RAB-InformationSetupList-r6-ext,
+ RAB-InformationSetupList-r6,
+ RAB-InformationSetupList-v6b0ext,
+ RAB-InformationSetupList-r7,
+ RAB-InformationSetupList-r8,
+ RAB-InformationSetupList-v820ext,
+ RAB-InformationSetupList-r11,
+ RB-ActivationTimeInfoList,
+ RB-COUNT-C-InformationList,
+ RB-COUNT-C-MSB-InformationList,
+ RB-IdentityList,
+ RB-InformationAffectedList,
+ RB-InformationAffectedList-r5,
+ RB-InformationAffectedList-r6,
+ RB-InformationAffectedList-r7,
+ RB-InformationAffectedList-r8,
+ RB-InformationChangedList-r6,
+ RB-InformationReconfigList,
+ RB-InformationReconfigList-r4,
+ RB-InformationReconfigList-r5,
+ RB-InformationReconfigList-r6,
+ RB-InformationReconfigList-r7,
+ RB-InformationReconfigList-r8,
+ RB-InformationReconfigList-r11,
+ RB-InformationReleaseList,
+ RB-PDCPContextRelocationList,
+ RetrievableConfigInfo,
+ SRB-InformationSetupList,
+ SRB-InformationSetupList-r5,
+ SRB-InformationSetupList-r6,
+ SRB-InformationSetupList-r7,
+ SRB-InformationSetupList-r8,
+ SRB-InformationSetupList-r11,
+ SRB-InformationSetupList2,
+ SRB-InformationSetupList2-r6,
+ SRB-InformationSetupList2-r7,
+ SRB-InformationSetupList2-r8,
+ UL-AMR-Rate,
+ UL-CounterSynchronisationInfo,
+-- Transport Channel IEs:
+ CPCH-SetID,
+ DL-AddReconfTransChInfo2List,
+ DL-AddReconfTransChInfoList,
+ DL-AddReconfTransChInfoList-r4,
+ DL-AddReconfTransChInfoList-r5,
+ DL-AddReconfTransChInfoList-r7,
+ DL-AddReconfTransChInfoList-r9,
+ DL-AddReconfTransChInfoList-r13,
+ DL-AddReconfTransChInfoList-TDD128-v9c0ext,
+ DL-AddReconfTransChInfoList-r11,
+ DL-CommonTransChInfo,
+ DL-CommonTransChInfo-r4,
+ DL-DeletedTransChInfoList,
+ DL-DeletedTransChInfoList-r5,
+ DL-DeletedTransChInfoList-r7,
+ DRAC-StaticInformationList,
+ HARQ-Info-r7,
+ HARQ-Info-r11,
+ HARQ-Info-r13,
+ PowerOffsetInfoShort,
+ TFC-Subset,
+ TFCS-Identity,
+ UL-AddReconfTransChInfoList,
+ UL-AddReconfTransChInfoList-r6,
+ UL-AddReconfTransChInfoList-r7,
+ UL-AddReconfTransChInfoList-r8,
+ UL-AddReconfTransChInfoList-r14,
+ UL-CommonTransChInfo,
+ UL-CommonTransChInfo-r4,
+ UL-CommonTransChInfo-r12,
+ UL-DeletedTransChInfoList,
+ UL-DeletedTransChInfoList-r6,
+-- Physical Channel IEs :
+ AdditionalDLSecCellInfoListFDD,
+ AdditionalDLSecCellInfoListFDD-r11,
+ AdditionalDLSecCellInfoListFDD2,
+ AdditionalDLSecCellInfoHandoverToUtranListFDD,
+ Alpha,
+ BEACON-PL-Est,
+ CCTrCH-PowerControlInfo,
+ CCTrCH-PowerControlInfo-r4,
+ CCTrCH-PowerControlInfo-r5,
+ CCTrCH-PowerControlInfo-r7,
+ CommonERGCHInfoFDD,
+ ConstantValue,
+ ConstantValueTdd,
+ ControlChannelDRXInfo-TDD128-r8,
+ CPCH-SetInfo,
+ DCH-Enhancements-Info-FDD,
+ DHS-Sync,
+ DL-CommonInformation,
+ DL-CommonInformation-r4,
+ DL-CommonInformation-r5,
+ DL-CommonInformation-r6,
+ DL-CommonInformation-r7,
+ DL-CommonInformation-r8,
+ DL-CommonInformation-r10,
+ DL-CommonInformation-r11,
+ DL-CommonInformation-r12,
+ DL-CommonInformationPost,
+ DL-HSPDSCH-Information,
+ DL-HSPDSCH-Information-r6,
+ DL-HSPDSCH-Information-r7,
+ DL-HSPDSCH-Information-r8,
+ DL-HSPDSCH-Information-r8-ext,
+ DL-HSPDSCH-Information-r9,
+ DL-HSPDSCH-Information-r8-ext2,
+ DL-HSPDSCH-Information-r11,
+ DL-HSPDSCH-Information-r12,
+ DL-HSPDSCH-MultiCarrier-Information,
+ DL-InformationPerRL-List,
+ DL-InformationPerRL-List-r4,
+ DL-InformationPerRL-List-r5,
+ DL-InformationPerRL-List-r5bis,
+ DL-InformationPerRL-List-r6,
+ DL-InformationPerRL-List-r7,
+ DL-InformationPerRL-List-r8,
+ DL-InformationPerRL-List-v6b0ext,
+ DL-InformationPerRL-List-r11,
+ DL-InformationPerRL-List-r12,
+ DL-InformationPerRL-List-r13,
+ DL-InformationPerRL-ListPostFDD,
+ DL-InformationPerRL-PostTDD,
+ DL-InformationPerRL-PostTDD-LCR-r4,
+ DL-MultiCarrier-Information,
+ DL-PDSCH-Information,
+ DL-SecondaryCellInfoFDD,
+ DL-SecondaryCellInfoFDD-v890ext,
+ DL-SecondaryCellInfoFDD-r9,
+ DL-SecondaryCellInfoFDD-r10,
+ DL-SecondaryCellInfoFDD-r11,
+ DL-SecondaryCellInfoFDD-HandoverToUtran,
+ DL-TPC-PowerOffsetPerRL-List,
+ DLUL-HSPA-Information-r8,
+ DLUL-HSPA-Information-r9,
+ DLUL-HSPA-Information-r10,
+ DPC-Mode,
+ DPCCH2InfoFDD,
+ DPCH-CompressedModeStatusInfo,
+ DPCH-CompressedModeStatusInfo-r10,
+ DTX-DRX-TimingInfo-r7,
+ DTX-DRX-Info-r7,
+ DTX-DRX-Info-r12,
+ DynamicPersistenceLevel,
+ E-DCH-ReconfigurationInfo,
+ E-DCH-ReconfigurationInfo-SecULFrequency,
+ E-DCH-ReconfigurationInfo-r7,
+ E-DCH-ReconfigurationInfo-r11,
+ E-DCH-RL-InfoSameServingCell,
+ E-TFC-Boost-Info-r7,
+ E-DPDCH-PowerInterpolation,
+ EUTRA-TargetFreqInfoList-vb50ext,
+ EXT-UL-TimingAdvance,
+ Feedback-cycle-r7,
+ FilteredUEPowerHeadroomReportInfo,
+ FrequencyInfo,
+ FrequencyInfoFDD,
+ FrequencyInfoTDD,
+ F-TPICH-ReconfigurationInfo,
+ HARQ-Preamble-Mode,
+ HS-DSCH-TBSizeTable,
+ HS-SCCH-LessInfo-r7,
+ HS-SCCH-DrxCellfach-info,
+ HS-SICH-Power-Control-Info-TDD384,
+ HS-SICH-Power-Control-Info-TDD768,
+ MaxAllowedUL-TX-Power,
+ MIMO-Parameters-r7,
+ MIMO-Parameters-v7f0ext,
+ MIMO-Parameters-v7g0ext,
+ MIMO-Parameters-r8,
+ MIMO-Parameters-r9,
+ MIMO4x4-Parameters,
+ Multi-frequencyInfo-LCR-r7,
+ MU-MIMO-Info-TDD128,
+ Non-rectResAllocInd-TDD128,
+ Non-rectResSpecTSset-TDD128,
+ OpenLoopPowerControl-IPDL-TDD-r4,
+ PDSCH-CapacityAllocationInfo,
+ PDSCH-CapacityAllocationInfo-r4,
+ PDSCH-CapacityAllocationInfo-r7,
+ PDSCH-Identity,
+ OtherStateConfig,
+ PrimaryCPICH-Info,
+ PrimaryCCPCH-TX-Power,
+ PUSCH-CapacityAllocationInfo,
+ PUSCH-CapacityAllocationInfo-r4,
+ PUSCH-CapacityAllocationInfo-r7,
+ PUSCH-Identity,
+ PUSCH-SysInfoList-HCR-r5,
+ PDSCH-SysInfoList-HCR-r5,
+ RL-AdditionInformationList,
+ RL-AdditionInformationList-r6,
+ RL-AdditionInformation-list-v6b0ext,
+ RL-AdditionInformationList-r7,
+ RL-AdditionInformationList-r8,
+ RL-AdditionInformationList-v890ext,
+ RL-AdditionInformationList-r9,
+ RL-AdditionInformationList-v950ext,
+ RL-AdditionInformationList-r10,
+ RL-AdditionInformationList-vb50ext,
+ RL-AdditionInformationList-r11,
+ RL-AdditionInformationList-r12,
+ RL-AdditionInformationList-r13,
+ RL-AdditionInformationList-SecULFreq,
+ RL-AdditionInformationList-SecULFreq-r12,
+ RL-AdditionInformationList-SecULFreq-r13,
+ RL-RemovalInformationList,
+ RL-RemovalInformationList-SecULFreq,
+ SecondaryCellMIMOparametersFDD-v950ext,
+ Serving-HSDSCH-CellInformation,
+ Serving-HSDSCH-CellInformation-r7,
+ Serving-HSDSCH-CellInformation-r8,
+ Serving-HSDSCH-CellInformation-r9,
+ Serving-HSDSCH-CellInformation-r11,
+ Serving-HSDSCH-CellInformation-r12,
+ ServingCellChangeParameters,
+ ServingCellChangeParameters-r12,
+ SpecialBurstScheduling,
+ SPS-Information-TDD128-r8,
+ SSDT-Information,
+ SSDT-Information-r4,
+ SSDT-UL,
+ StandaloneMidambleInfo-TDD128,
+ TFC-ControlDuration,
+ TimeslotList,
+ TimeslotList-r4,
+ TimingMaintainedSynchInd,
+ TX-DiversityMode,
+ UL-16QAM-Config,
+ UL-64QAM-Config,
+ UL-ChannelRequirement,
+ UL-ChannelRequirement-r4,
+ UL-ChannelRequirement-r5,
+ UL-ChannelRequirementWithCPCH-SetID,
+ UL-ChannelRequirementWithCPCH-SetID-r4,
+ UL-ChannelRequirementWithCPCH-SetID-r5,
+ UL-CLTD-InfoFDD,
+ UL-MIMO-InfoFDD,
+ UL-DPCH-Info,
+ UL-DPCH-Info-r4,
+ UL-DPCH-Info-r5,
+ UL-DPCH-Info-r6,
+ UL-DPCH-Info-r7,
+ UL-DPCH-Info-r11,
+ UL-DPCH-InfoPostFDD,
+ UL-DPCH-InfoPostTDD,
+ UL-DPCH-InfoPostTDD-LCR-r4,
+ UL-EDCH-Information-ext,
+ UL-EDCH-Information-r6,
+ UL-EDCH-Information-r7,
+ UL-EDCH-Information-r8,
+ UL-EDCH-Information-r9,
+ UL-EDCH-Information-r11,
+ UL-MulticarrierEDCHInfo-TDD128,
+ UL-OLTD-InfoFDD,
+ UL-OtherTTIConfiguration-Information,
+ UL-OtherTTIConfigurationInfo-Sec,
+ UL-SecondaryCellInfoFDD,
+ UL-SecondaryCellInfoFDD-r12,
+ UL-SecondaryCellInfoFDD-r13,
+ UL-SecondaryCellInfoFDD-r14,
+ UL-SynchronisationParameters-r4,
+ UL-TimingAdvance,
+ UL-TimingAdvanceControl,
+ UL-TimingAdvanceControl-r4,
+ UL-TimingAdvanceControl-r7,
+ UpPCHposition-LCR,
+-- Measurement IEs :
+ AdditionalMeasurementID-List,
+ AdditionalMeasurementID-List-r9,
+ ApplicationLayerMeasurementReporting,
+ ApplicationLayerMeasurementReporting-r15,
+ CellDCHMeasOccasionInfo-TDD128-r9,
+ CSGProximityIndication,
+ CSGProximityIndication-vb50ext,
+ DeltaRSCP,
+ Frequency-Band,
+ EventResults,
+ EventResults-v770ext,
+ EventResults-v860ext,
+ EventResults-va40ext,
+ EventResultsOnSecUlFreq,
+ EUTRA-EventResults,
+ EUTRA-EventResults-vb50ext,
+ EUTRA-EventResults-vc50ext,
+ EUTRA-MeasuredResults,
+ EUTRA-MeasuredResults-v920ext,
+ EUTRA-MeasuredResults-vb50ext,
+ EUTRA-MeasuredResults-vc50ext,
+ EUTRA-EventResultsForCELLFACH,
+ EUTRA-EventResultsForCELLFACH-vc50ext,
+ Inter-FreqEventCriteriaList-v590ext,
+ Intra-FreqEventCriteriaList-v590ext,
+ IntraFreqReportingCriteria-1b-r5,
+ IntraFreqEvent-1d-r5,
+ IntraFreqCellID,
+ InterFreqEventResults-LCR-r4-ext,
+ InterRATCellInfoIndication,
+ InterRATMeasurement-r11,
+ InterRATMeasurement-r12,
+ InterRAT-TargetCellDescription,
+ MeasuredResults,
+ MeasuredResults-v390ext,
+ MeasuredResults-v590ext,
+ MeasuredResults-v770ext,
+ MeasuredResults-v860ext,
+ MeasuredResults-v920ext,
+ MeasuredResults-vc50ext,
+ MeasuredResults-vd20ext,
+ MeasuredResults-ve30ext,
+ MeasuredResultsOnSecUlFreq,
+ MeasuredResultsOnSecUlFreq-vc50ext,
+ MeasuredResultsListOnSecUlFreq,
+ MeasuredResultsListOnSecUlFreq-vc50ext,
+ MeasuredResultsList,
+ MeasuredResultsList-LCR-r4-ext,
+ MeasuredResultsList-v770xet,
+ MeasuredResultsList-v860ext,
+ MeasuredResultsList-v920ext,
+ MeasuredResultsList-vc50ext,
+ MeasuredResultsList-vd20ext,
+ MeasuredResultsOnRACH,
+ MeasuredResultsOnRACHFDD-r11,
+ MeasuredResultsOnRACH-v7g0ext,
+ MeasuredResultsOnRACHinterFreq,
+ MeasuredResultsOnRACH-vc50ext,
+ MeasuredResultsOnRACH-EUTRAFreq,
+ MeasurementCommand,
+ MeasurementCommand-r4,
+ MeasurementCommand-r6,
+ MeasurementCommand-r7,
+ MeasurementCommand-r8,
+ MeasurementCommand-r9,
+ MeasurementCommand-r10,
+ MeasurementCommand-r11,
+ MeasurementReleaseEnhancement,
+ MeasurementCommand-r12,
+ MeasurementCommand-r13,
+ MeasurementCommand-r14,
+ MeasurementCommand-r15,
+ MeasurementIdentity,
+ MeasurementIdentity-r9,
+ MeasurementIdentityExt,
+ MeasurementReportingMode,
+ MeasurementScalingFactor,
+ NewInterFreqCellList-v7b0ext,
+ NewInterFreqCellList-LCR-v8a0ext,
+ NewIntraFreqCellList-LCR-v8a0ext,
+ PeriodicalWithReportingCellStatusOnSecULFreq,
+ PrimaryCCPCH-RSCP,
+ SFN-Offset-Validity,
+ TimeslotListWithISCP,
+ TrafficVolumeMeasuredResultsList,
+ UE-Positioning-GPS-AssistanceData,
+ UE-Positioning-GPS-AssistanceData-v770ext,
+ UE-Positioning-GPS-AssistanceData-v920ext,
+ UE-Positioning-GPS-AssistanceData-va40ext,
+ UE-Positioning-GPS-AssistanceData-vc50ext,
+ UE-Positioning-GPS-ReferenceTimeUncertainty,
+ UE-Positioning-Measurement-v390ext,
+ UE-Positioning-OTDOA-AssistanceData,
+ UE-Positioning-OTDOA-AssistanceData-r4ext,
+ UE-Positioning-OTDOA-AssistanceData-UEB,
+ UE-Positioning-OTDOA-AssistanceData-UEB-ext,
+ UE-Positioning-OTDOA-MeasuredResultsTDD-ext,
+ UE-Positioning-GANSS-AssistanceData,
+ UE-Positioning-GANSS-AssistanceData-v860ext,
+ UE-Positioning-GANSS-AssistanceData-v920ext,
+ UE-Positioning-GANSS-AssistanceData-va40ext,
+ UE-Positioning-GANSS-AssistanceData-vc50ext,
+-- Other IEs :
+ BCCH-ModificationInfo,
+ BCCH-ModificationInfo-vc50ext,
+ CDMA2000-MessageList,
+ CellValueTag2,
+ ETWS-Information,
+ ETWS-WarningSecurityInfo,
+ GSM-TargetCellInfoList,
+ GERANIu-MessageList,
+ GERAN-SystemInformation,
+ GSM-MessageList,
+ InterRAT-ChangeFailureCause,
+ InterRAT-HO-FailureCause,
+ InterRAT-UE-RadioAccessCapabilityList,
+ InterRAT-UE-RadioAccessCapability-v590ext,
+ InterRAT-UE-SecurityCapList,
+ IntraDomainNasNodeSelector,
+ MasterInformationBlock,
+ MIB-ValueTag,
+ ProtocolErrorMoreInformation,
+ RMP-Frequency-List,
+ Rplmn-Information,
+ Rplmn-Information-r4,
+ SegCount,
+ SegmentIndex,
+ SFN-Prime,
+ SIB-Data-fixed,
+ SIB-Data2-fixed,
+ SIB-Data-variable,
+ SIB-Data2-variable,
+ SIB-Type,
+ SIB-Type2,
+ SysInfoType1,
+ SysInfoType3,
+ SysInfoType5,
+ SysInfoType7,
+ SysInfoType11,
+ SysInfoType11bis,
+ SysInfoType11ter,
+ SysInfoType12,
+ SysInfoTypeSB1,
+ SysInfoTypeSB2,
+ SysInfoType22,
+-- MBMS IEs:
+ MBMS-CellGroupIdentity-r6,
+ MBMS-CommonRBInformationList-r6,
+ MBMS-CurrentCell-SCCPCHList-r6,
+ MBMS-JoinedInformation-r6,
+ MBMS-MICHConfigurationInfo-r6,
+ MBMS-MICHConfigurationInfo-v770ext,
+ MBMS-MICHConfigurationInfo-v890ext,
+ MBMS-ModifedServiceList-r6,
+ MBMS-ModifiedServiceList-LCR-v7c0ext,
+ MBMS-ModifiedServiceList-v770ext,
+ MBMS-MSCH-ConfigurationInfo-r6,
+ MBMS-NeighbouringCellSCCPCHList-r6,
+ MBMS-NeighbouringCellSCCPCHList-v770ext,
+ MBMS-NumberOfNeighbourCells-r6,
+ MBMS-PhyChInformationList-r6,
+ MBMS-PhyChInformationList-r7,
+ MBMS-PhyChInformationList-IMB384,
+ MBMS-PL-ServiceRestrictInfo-r6,
+ MBMS-PreferredFrequencyList-r6,
+ MBMS-PTMActivationTime-r6,
+ MBMS-SelectedServiceInfo,
+ MBMS-SelectedServicesShort,
+ MBMS-ServiceAccessInfoList-r6,
+ MBMS-ServiceIdentity-r6,
+ MBMS-ServiceSchedulingInfoList-r6,
+ MBMS-SIBType5-SCCPCHList-r6,
+ MBMS-TimersAndCounters-r6,
+ MBMS-TranspChInfoForEachCCTrCh-r6,
+ MBMS-TranspChInfoForEachTrCh-r6,
+ MBMS-UnmodifiedServiceList-r6,
+ MBMS-UnmodifiedServiceList-v770ext,
+ MBSFN-ClusterFrequency-r7,
+ MBSFN-InterFrequencyNeighbourList-r7,
+ MBSFN-InterFrequencyNeighbourList-v860ext,
+ MBMS-NetworkStandardTimeInformation-LCR-v890ext,
+ MBSFN-TDDInformation-LCR,
+ MBSFN-TDM-Info-List,
+-- MDT IEs
+ LoggedMeasurementsConfigurationInfo,
+ LoggedMeasurementsConfigurationInfo-r11,
+ LoggedMeasReport,
+ LoggedMeasReport-vb50ext,
+ LoggedMeasReport-vc50ext,
+ ConnectionEstablishmentFailureReport,
+ ConnectionEstablishmentFailureReport-r11,
+ ConnectionEstablishmentFailureReport-vc50ext,
+ RsrqType,
+-- UTRAN ANR IEs
+ LoggedANRConfigurationInfo,
+ LoggedANRReportInfoList,
+ LoggedANRReportInfoList-vb50ext,
+-- WLAN Offload IEs
+ WLANOffloadConfig,
+ WLANOffloadInformation
+
+
+FROM InformationElements
+
+ maxSIBperMsg,
+ maxURNTI-Group
+FROM Constant-definitions;
+
+-- ***************************************************
+--
+-- ACTIVE SET UPDATE (FDD only)
+--
+-- ***************************************************
+
+ActiveSetUpdate ::= CHOICE {
+ r3 SEQUENCE {
+ activeSetUpdate-r3 ActiveSetUpdate-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ activeSetUpdate-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ activeSetUpdate-v4b0ext ActiveSetUpdate-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ activeSetUpdate-v590ext ActiveSetUpdate-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ activeSetUpdate-v690ext ActiveSetUpdate-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ activeSetUpdate-r6 ActiveSetUpdate-r6-IEs,
+ activeSetUpdate-r6-add-ext BIT STRING OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ activeSetUpdate-v6b0ext ActiveSetUpdate-v6b0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ activeSetUpdate-r7 ActiveSetUpdate-r7-IEs,
+ activeSetUpdate-r7-add-ext BIT STRING OPTIONAL,
+ v780NonCriticalExtensions SEQUENCE {
+ activeSetUpdate-v780ext ActiveSetUpdate-v780ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ activeSetUdpate-v7f0ext ActiveSetUpdate-v7f0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ activeSetUdpate-v7g0ext ActiveSetUpdate-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ activeSetUpdate-r8 ActiveSetUpdate-r8-IEs,
+ -- Container for adding non critical extensions after freezing REL-9
+ activeSetUpdate-r8-add-ext BIT STRING OPTIONAL,
+ v890NonCriticalExtensions SEQUENCE {
+ activeSetUpdate-v890ext ActiveSetUpdate-v890ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ activeSetUpdate-v7g0ext ActiveSetUpdate-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ activeSetUpdate-r9 ActiveSetUpdate-r9-IEs,
+ -- Container for adding non critical extensions after freezing REL-10
+ activeSetUpdate-r9-add-ext BIT STRING OPTIONAL,
+ v950NonCriticalExtensions SEQUENCE {
+ activeSetUpdate-v950ext ActiveSetUpdate-v950ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ activeSetUpdate-r10 ActiveSetUpdate-r10-IEs,
+ -- Container for adding non critical extensions after freezing
+ -- REL-11
+ activeSetUpdate-r10-add-ext BIT STRING OPTIONAL,
+ vb50NonCriticalExtensions SEQUENCE {
+ activeSetUpdate-vb50ext ActiveSetUpdate-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ activeSetUpdate-r11 ActiveSetUpdate-r11-IEs,
+ -- Container for adding non critical extensions after freezing
+ -- REL-12
+ activeSetUpdate-r11-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ activeSetUpdate-r12 ActiveSetUpdate-r12-IEs,
+ -- Container for adding non critical extensions after freezing
+ -- REL-13
+ activeSetUpdate-r12-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ activeSetUpdate-r13 ActiveSetUpdate-r13-IEs,
+ -- Container for adding non critical extensions after freezing
+ -- REL-14
+ activeSetUpdate-r13-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+ActiveSetUpdate-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- dummy and dummy2 are not used in this version of the specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy IntegrityProtectionModeInfo OPTIONAL,
+ dummy2 CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ newU-RNTI U-RNTI OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- Radio bearer IEs
+ -- dummy3 is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy3 DL-CounterSynchronisationInfo OPTIONAL,
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList OPTIONAL,
+ rl-RemovalInformationList RL-RemovalInformationList OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ -- dummy4 is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy4 SSDT-Information OPTIONAL
+}
+
+ActiveSetUpdate-v4b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-UL OPTIONAL,
+ -- The order of the RLs in IE cell-id-PerRL-List is the same as
+ -- in IE RL-AdditionInformationList included in this message
+ cell-id-PerRL-List CellIdentity-PerRL-List OPTIONAL
+}
+
+ActiveSetUpdate-v590ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dpc-Mode DPC-Mode,
+ dl-TPC-PowerOffsetPerRL-List DL-TPC-PowerOffsetPerRL-List OPTIONAL
+}
+
+ActiveSetUpdate-v690ext-IEs ::= SEQUENCE {
+ -- Core network IEs
+ primary-plmn-Identity PLMN-Identity OPTIONAL
+}
+
+ActiveSetUpdate-r6-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ newU-RNTI U-RNTI OPTIONAL,
+ newH-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-r6 OPTIONAL,
+ rl-RemovalInformationList RL-RemovalInformationList OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ dpc-Mode DPC-Mode OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation OPTIONAL,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo OPTIONAL
+}
+
+ActiveSetUpdate-v6b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ rl-AdditionInformation-list-v6b0ext RL-AdditionInformation-list-v6b0ext OPTIONAL
+}
+
+ActiveSetUpdate-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ newU-RNTI U-RNTI OPTIONAL,
+ newH-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Physical channel IEs
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-r7 OPTIONAL,
+ rl-RemovalInformationList RL-RemovalInformationList OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ dpc-Mode DPC-Mode OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r7 OPTIONAL,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r7 OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ e-dch-ReconfInfoSameCell E-DCH-RL-InfoSameServingCell OPTIONAL,
+ e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
+ e-DPDCH-PowerInterpolation E-DPDCH-PowerInterpolation OPTIONAL
+}
+
+ActiveSetUpdate-v780ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+}
+
+ActiveSetUpdate-v7f0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7f0ext OPTIONAL
+}
+
+ActiveSetUpdate-v7g0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7g0ext OPTIONAL
+}
+
+ActiveSetUpdate-r8-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ newU-RNTI U-RNTI OPTIONAL,
+ newH-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Physical channel IEs
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-r8 OPTIONAL,
+ servingCellChangeParameters ServingCellChangeParameters OPTIONAL,
+ rl-RemovalInformationList RL-RemovalInformationList OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ dpc-Mode DPC-Mode OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r8 OPTIONAL,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r7 OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ e-dch-ReconfInfoSameCell E-DCH-RL-InfoSameServingCell OPTIONAL,
+ e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
+ e-DPDCH-PowerInterpolation E-DPDCH-PowerInterpolation OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD OPTIONAL
+}
+
+ActiveSetUpdate-v890ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-SecondaryCellInfoFDD-v890ext DL-SecondaryCellInfoFDD-v890ext OPTIONAL,
+ mimoParameters MIMO-Parameters-v7f0ext OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-v890ext OPTIONAL
+}
+
+ActiveSetUpdate-r9-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ newU-RNTI U-RNTI OPTIONAL,
+ newH-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Physical channel IEs
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-r9 OPTIONAL,
+ rl-AdditionInformationList-SecULFreq
+ RL-AdditionInformationList-SecULFreq OPTIONAL,
+ servingCellChangeParameters ServingCellChangeParameters OPTIONAL,
+ rl-RemovalInformationList RL-RemovalInformationList OPTIONAL,
+ rl-RemovalInformationList-SecULFreq
+ RL-RemovalInformationList-SecULFreq OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ dpc-Mode DPC-Mode OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r9 OPTIONAL,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r7 OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ e-dch-ReconfInfoSameCell E-DCH-RL-InfoSameServingCell OPTIONAL,
+ e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
+ e-DPDCH-PowerInterpolation E-DPDCH-PowerInterpolation OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL
+}
+
+ActiveSetUpdate-v950ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-v950ext OPTIONAL
+}
+
+ActiveSetUpdate-r10-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ newU-RNTI U-RNTI OPTIONAL,
+ newH-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Physical channel IEs
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-r10 OPTIONAL,
+ rl-AdditionInformationList-SecULFreq
+ RL-AdditionInformationList-SecULFreq OPTIONAL,
+ servingCellChangeParameters ServingCellChangeParameters OPTIONAL,
+ rl-RemovalInformationList RL-RemovalInformationList OPTIONAL,
+ rl-RemovalInformationList-SecULFreq
+ RL-RemovalInformationList-SecULFreq OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ dpc-Mode DPC-Mode OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r9 OPTIONAL,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r7 OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ e-dch-ReconfInfoSameCell E-DCH-RL-InfoSameServingCell OPTIONAL,
+ e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
+ e-DPDCH-PowerInterpolation E-DPDCH-PowerInterpolation OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD OPTIONAL
+}
+
+ActiveSetUpdate-vb50ext-IEs ::= SEQUENCE {
+ ulOLTDInfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-vb50ext OPTIONAL
+}
+
+ActiveSetUpdate-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ newU-RNTI U-RNTI OPTIONAL,
+ newH-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Physical channel IEs
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ f-tpich-ReconfigurationInfo F-TPICH-ReconfigurationInfo OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-r11 OPTIONAL,
+ rl-AdditionInformationList-SecULFreq
+ RL-AdditionInformationList-SecULFreq OPTIONAL,
+ servingCellChangeParameters ServingCellChangeParameters OPTIONAL,
+ rl-RemovalInformationList RL-RemovalInformationList OPTIONAL,
+ rl-RemovalInformationList-SecULFreq
+ RL-RemovalInformationList-SecULFreq OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ dpc-Mode DPC-Mode OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r11 OPTIONAL,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r11 OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ ul-64QAM-Config UL-64QAM-Config OPTIONAL,
+ ul-MIMO-InfoFDD UL-MIMO-InfoFDD OPTIONAL,
+ e-dch-ReconfInfoSameCell E-DCH-RL-InfoSameServingCell OPTIONAL,
+ e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
+ e-DPDCH-PowerInterpolation E-DPDCH-PowerInterpolation OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL
+}
+
+ActiveSetUpdate-r12-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ newU-RNTI U-RNTI OPTIONAL,
+ newH-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Physical channel IEs
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r12 OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ f-tpich-ReconfigurationInfo F-TPICH-ReconfigurationInfo OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-r12 OPTIONAL,
+ rl-AdditionInformationList-SecULFreq
+ RL-AdditionInformationList-SecULFreq-r12 OPTIONAL,
+ servingCellChangeParameters ServingCellChangeParameters-r12 OPTIONAL,
+ rl-RemovalInformationList RL-RemovalInformationList OPTIONAL,
+ rl-RemovalInformationList-SecULFreq
+ RL-RemovalInformationList-SecULFreq OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ dpc-Mode DPC-Mode OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r12 OPTIONAL,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r11 OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ ul-64QAM-Config UL-64QAM-Config OPTIONAL,
+ ul-MIMO-InfoFDD UL-MIMO-InfoFDD OPTIONAL,
+ e-dch-ReconfInfoSameCell E-DCH-RL-InfoSameServingCell OPTIONAL,
+ e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
+ e-DPDCH-PowerInterpolation E-DPDCH-PowerInterpolation OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL
+}
+
+ActiveSetUpdate-r13-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ newU-RNTI U-RNTI OPTIONAL,
+ newH-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Physical channel IEs
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ e-dch-ReconfigurationInfo-SecULFrequency
+ E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ f-tpich-ReconfigurationInfo F-TPICH-ReconfigurationInfo OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ rl-AdditionInformationList RL-AdditionInformationList-r13 OPTIONAL,
+ rl-AdditionInformationList-SecULFreq
+ RL-AdditionInformationList-SecULFreq-r13 OPTIONAL,
+ servingCellChangeParameters ServingCellChangeParameters-r12 OPTIONAL,
+ rl-RemovalInformationList RL-RemovalInformationList OPTIONAL,
+ rl-RemovalInformationList-SecULFreq
+ RL-RemovalInformationList-SecULFreq OPTIONAL,
+ tx-DiversityMode TX-DiversityMode OPTIONAL,
+ dpc-Mode DPC-Mode OPTIONAL,
+ serving-HSDSCH-CellInformation Serving-HSDSCH-CellInformation-r12 OPTIONAL,
+ e-dch-ReconfigurationInfo E-DCH-ReconfigurationInfo-r11 OPTIONAL,
+ ul-16QAM-Config UL-16QAM-Config OPTIONAL,
+ ul-64QAM-Config UL-64QAM-Config OPTIONAL,
+ ul-MIMO-InfoFDD UL-MIMO-InfoFDD OPTIONAL,
+ e-dch-ReconfInfoSameCell E-DCH-RL-InfoSameServingCell OPTIONAL,
+ e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
+ e-DPDCH-PowerInterpolation E-DPDCH-PowerInterpolation OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL
+}
+
+-- ***************************************************
+--
+-- ACTIVE SET UPDATE COMPLETE (FDD only)
+--
+-- ***************************************************
+
+ActiveSetUpdateComplete ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy IntegrityProtActivationInfo OPTIONAL,
+ -- Radio bearer IEs
+ -- dummy2 and dummy3 are not used in this version of the specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy2 RB-ActivationTimeInfoList OPTIONAL,
+ dummy3 UL-CounterSynchronisationInfo OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ activeSetUpdateComplete-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- ACTIVE SET UPDATE FAILURE (FDD only)
+--
+-- ***************************************************
+
+ActiveSetUpdateFailure ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ activeSetUpdateFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- ASSISTANCE DATA DELIVERY--
+-- ***************************************************
+
+AssistanceDataDelivery ::= CHOICE {
+ r3 SEQUENCE {
+ assistanceDataDelivery-r3 AssistanceDataDelivery-r3-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ assistanceDataDelivery-v3a0ext AssistanceDataDelivery-v3a0ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ assistanceDataDelivery-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ assistanceDataDelivery-v4b0ext AssistanceDataDelivery-v4b0ext-IEs,
+ v770NonCriticalExtension SEQUENCE {
+ assistanceDataDelivery-v770ext AssistanceDataDelivery-v770ext-IEs,
+ v860NonCriticalExtension SEQUENCE {
+ assistanceDataDelivery-v860ext AssistanceDataDelivery-v860ext-IEs,
+ v920NonCriticalExtension SEQUENCE {
+ assistanceDataDelivery-v920ext AssistanceDataDelivery-v920ext-IEs,
+ va40NonCriticalExtension SEQUENCE {
+ assistanceDataDelivery-va40ext
+ AssistanceDataDelivery-va40ext-IEs,
+ vc50NonCriticalExtension SEQUENCE {
+ assistanceDataDelivery-vc50ext
+ AssistanceDataDelivery-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+AssistanceDataDelivery-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- Measurement Information Elements
+ ue-positioning-GPS-AssistanceData UE-Positioning-GPS-AssistanceData OPTIONAL,
+ ue-positioning-OTDOA-AssistanceData-UEB UE-Positioning-OTDOA-AssistanceData-UEB OPTIONAL
+}
+
+AssistanceDataDelivery-v3a0ext ::= SEQUENCE {
+ sfn-Offset-Validity SFN-Offset-Validity OPTIONAL
+}
+
+AssistanceDataDelivery-v4b0ext-IEs ::= SEQUENCE {
+ ue-Positioning-OTDOA-AssistanceData-r4ext UE-Positioning-OTDOA-AssistanceData-r4ext OPTIONAL
+}
+
+AssistanceDataDelivery-v770ext-IEs ::= SEQUENCE {
+ ue-Positioning-OTDOA-AssistanceData-UEB-ext
+ UE-Positioning-OTDOA-AssistanceData-UEB-ext OPTIONAL,
+ ue-Positioning-GPS-AssistanceData
+ UE-Positioning-GPS-AssistanceData-v770ext OPTIONAL,
+ ue-positioning-GANSS-AssistanceData
+ UE-Positioning-GANSS-AssistanceData OPTIONAL
+}
+
+AssistanceDataDelivery-v860ext-IEs ::= SEQUENCE {
+ ue-positioning-GANSS-AssistanceData-v860ext
+ UE-Positioning-GANSS-AssistanceData-v860ext OPTIONAL
+}
+
+AssistanceDataDelivery-v920ext-IEs ::= SEQUENCE {
+ ue-positioning-GPS-AssistanceData-v920ext
+ UE-Positioning-GPS-AssistanceData-v920ext OPTIONAL,
+ ue-positioning-GANSS-AssistanceData-v920ext
+ UE-Positioning-GANSS-AssistanceData-v920ext OPTIONAL
+}
+
+AssistanceDataDelivery-va40ext-IEs ::= SEQUENCE {
+ ue-positioning-GPS-AssistanceData-va40ext
+ UE-Positioning-GPS-AssistanceData-va40ext OPTIONAL,
+ ue-positioning-GANSS-AssistanceData-va40ext
+ UE-Positioning-GANSS-AssistanceData-va40ext OPTIONAL
+}
+
+AssistanceDataDelivery-vc50ext-IEs ::= SEQUENCE {
+ ue-positioning-GPS-AssistanceData-vc50ext
+ UE-Positioning-GPS-AssistanceData-vc50ext OPTIONAL,
+ ue-positioning-GANSS-AssistanceData-vc50ext
+ UE-Positioning-GANSS-AssistanceData-vc50ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- CELL CHANGE ORDER FROM UTRAN
+--
+-- ***************************************************
+
+CellChangeOrderFromUTRAN ::= CHOICE {
+ r3 SEQUENCE {
+ cellChangeOrderFromUTRAN-IEs CellChangeOrderFromUTRAN-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ cellChangeOrderFromUTRAN-r3-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ cellChangeOrderFromUTRAN-v590ext CellChangeOrderFromUTRAN-v590ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+CellChangeOrderFromUTRAN-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy IntegrityProtectionModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ -- the IE rab-InformationList is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored. The IE may be used in a later
+ -- version of the protocol and hence it is not changed into a dummy
+ rab-InformationList RAB-InformationList OPTIONAL,
+ interRAT-TargetCellDescription InterRAT-TargetCellDescription
+}
+
+CellChangeOrderFromUTRAN-v590ext-IEs ::= SEQUENCE {
+ geran-SystemInfoType CHOICE {
+ sI GERAN-SystemInformation,
+ pSI GERAN-SystemInformation
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- CELL CHANGE ORDER FROM UTRAN FAILURE
+--
+-- ***************************************************
+
+CellChangeOrderFromUTRANFailure ::= CHOICE {
+ r3 SEQUENCE {
+ cellChangeOrderFromUTRANFailure-r3
+ CellChangeOrderFromUTRANFailure-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ cellChangeOrderFromUTRANFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ -- dummy is not used in this version of the specification and it
+ -- should be ignored.
+ dummy SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+CellChangeOrderFromUTRANFailure-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy IntegrityProtectionModeInfo OPTIONAL,
+ interRAT-ChangeFailureCause InterRAT-ChangeFailureCause
+}
+
+-- ***************************************************
+--
+-- CELL UPDATE
+--
+-- ***************************************************
+
+CellUpdate ::= SEQUENCE {
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ startList STARTList,
+ am-RLC-ErrorIndicationRb2-3or4 BOOLEAN,
+ am-RLC-ErrorIndicationRb5orAbove BOOLEAN,
+ cellUpdateCause CellUpdateCause,
+ -- TABULAR: RRC transaction identifier is nested in FailureCauseWithProtErrTrId
+ failureCause FailureCauseWithProtErrTrId OPTIONAL,
+ rb-timer-indicator Rb-timer-indicator,
+ -- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACH OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ -- The cellUpdate-r3-add-ext can be omitted if its inclusion would result in the
+ -- size of the message exceeding the maximum PDU size possible for CCCH
+ -- transmission
+ cellUpdate-r3-add-ext BIT STRING
+ (CONTAINING CellUpdate-r3-add-ext-IEs) OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ cellUpdate-v590ext CellUpdate-v590ext,
+ v690NonCriticalExtensions SEQUENCE {
+ cellUpdate-v690ext CellUpdate-v690ext-IEs,
+ v6b0NonCriticalExtensions SEQUENCE {
+ cellUpdate-v6b0ext CellUpdate-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ cellUpdate-v770ext CellUpdate-v770ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ cellUpdate-v860ext CellUpdate-v860ext-IEs,
+ -- The va40NonCriticalExtensions can be omitted if its inclusion
+ -- would result in the size of the message exceeding the maximum PDU
+ -- size possible for CCCH transmission
+ va40NonCriticalExtensions SEQUENCE {
+ cellUpdate-va40ext CellUpdate-va40ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ cellUpdate-vb50ext CellUpdate-vb50ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ cellUpdate-vc50ext CellUpdate-vc50ext-IEs,
+ ve30LaterNonCriticalExtensions CellUpdate-ve30ext-IEs OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+CellUpdate-ve30ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ cellUpdateCause-ext2 CellUpdateCause-ext2 OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+CellUpdate-r3-add-ext-IEs ::= SEQUENCE {
+ cellUpdate-v7e0ext CellUpdate-v7e0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ cellUpdate-v7g0ext CellUpdate-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+CellUpdate-v590ext ::= SEQUENCE {
+ establishmentCause EstablishmentCause OPTIONAL
+}
+
+CellUpdate-v690ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ cellUpdateCause-ext CellUpdateCause-ext OPTIONAL,
+ trafficVolumeIndicator ENUMERATED { true } OPTIONAL,
+ -- Measurement IEs
+ measuredResultsOnRACHinterFreq MeasuredResultsOnRACHinterFreq OPTIONAL,
+ reconfigurationStatusIndicator ENUMERATED { true } OPTIONAL
+}
+
+CellUpdate-v6b0ext-IEs ::= SEQUENCE {
+ -- MBMS IEs
+ -- The mbmsSelectedServices can be omitted if its inclusion would result in the
+ -- size of the message exceeding the maximum PDU size possible for CCCH transmission
+ mbmsSelectedServices MBMS-SelectedServicesShort OPTIONAL
+}
+
+CellUpdate-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ csCallType ENUMERATED { speech, video, other, spare } OPTIONAL,
+ hspdschReception-CellFach ENUMERATED { true } OPTIONAL,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ capabilityChangeIndicator ENUMERATED { true } OPTIONAL
+}
+
+CellUpdate-v7e0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForTwoDRXSchemesInPCH ENUMERATED { true } OPTIONAL
+}
+
+CellUpdate-v7g0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACH-v7g0ext MeasuredResultsOnRACH-v7g0ext OPTIONAL
+}
+
+CellUpdate-v860ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportOfCommonEDCH ENUMERATED { true } OPTIONAL,
+ supportOfHS-DSCHDRXOperation ENUMERATED { true } OPTIONAL,
+ supportOfMACiis ENUMERATED { true } OPTIONAL,
+ supportOfSPSOperation ENUMERATED { true } OPTIONAL,
+ supportOfControlChannelDRXOperation
+ ENUMERATED { true } OPTIONAL
+}
+
+CellUpdate-va40ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ securityRevertStatusIndicator
+ ENUMERATED { revertedBack, normalOperation } OPTIONAL,
+ -- Other IEs
+ loggedMeasAvailable ENUMERATED { true } OPTIONAL,
+ loggedANRResultsAvailable ENUMERATED { true } OPTIONAL
+}
+
+-- TABULAR: TDD related IEs, MBMS IEs, and supportForTwoDRXSchemesInPCH are omitted compared to
+-- tabular for the purpose of coding optimisation
+CellUpdateFDD-r11 ::= SEQUENCE {
+-- User equipment IEs
+ u-RNTI U-RNTI,
+ startList STARTList,
+ am-RLC-ErrorIndicationRb2-3or4 BOOLEAN,
+ am-RLC-ErrorIndicationRb5orAbove BOOLEAN,
+ cellUpdateCause CellUpdateCause,
+ -- TABULAR: RRC transaction identifier is nested in FailureCauseWithProtErrTrId
+ failureCause FailureCauseWithProtErrTrId OPTIONAL,
+ rb-timer-indicator Rb-timer-indicator,
+ establishmentCause EstablishmentCause OPTIONAL,
+ trafficVolumeIndicator ENUMERATED { true } OPTIONAL,
+ reconfigurationStatusIndicator ENUMERATED { true } OPTIONAL,
+ csCallType ENUMERATED { speech, video, other, spare } OPTIONAL,
+ hspdschReception-CellFach ENUMERATED { true } OPTIONAL,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ capabilityChangeIndicator ENUMERATED { true } OPTIONAL,
+ supportOfCommonEDCH ENUMERATED { true } OPTIONAL,
+ supportOfHS-DSCHDRXOperation ENUMERATED { true } OPTIONAL,
+ supportOfMACiis ENUMERATED { true } OPTIONAL,
+ securityRevertStatusIndicator ENUMERATED { revertedBack, normalOperation } OPTIONAL,
+ applicationLayerMeasurementReportAvailable ENUMERATED { true } OPTIONAL,
+ spare3 ENUMERATED { true } OPTIONAL,
+ spare2 ENUMERATED { true } OPTIONAL,
+ spare1 ENUMERATED { true } OPTIONAL,
+-- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACHFDD-r11 OPTIONAL,
+-- Other IEs
+ loggedMeasAvailable ENUMERATED { true } OPTIONAL,
+ loggedANRResultsAvailable ENUMERATED { true } OPTIONAL
+}
+
+CellUpdate-vb50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACHEUTRAFreq MeasuredResultsOnRACH-EUTRAFreq OPTIONAL
+}
+
+CellUpdate-vc50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACH-vc50ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- CELL UPDATE CONFIRM
+--
+-- ***************************************************
+
+CellUpdateConfirm ::= CHOICE {
+ r3 SEQUENCE {
+ cellUpdateConfirm-r3 CellUpdateConfirm-r3-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v3a0ext CellUpdateConfirm-v3a0ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ cellUpdateConfirm-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v4b0ext CellUpdateConfirm-v4b0ext-IEs,
+ v590NonCriticalExtenstions SEQUENCE {
+ cellUpdateConfirm-v590ext CellUpdateConfirm-v590ext-IEs,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ cellUpdateConfirm-v5d0ext CellUpdateConfirm-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v690ext CellUpdateConfirm-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ cellUpdateConfirm-r4 CellUpdateConfirm-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ cellUpdateConfirm-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtenstions SEQUENCE {
+ cellUpdateConfirm-v590ext CellUpdateConfirm-v590ext-IEs,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ cellUpdateConfirm-v5d0ext CellUpdateConfirm-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v690ext CellUpdateConfirm-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ cellUpdateConfirm-r5 CellUpdateConfirm-r5-IEs,
+ -- Container for adding non critical extensions after freezing REL-6
+ cellUpdateConfirm-r5-add-ext BIT STRING OPTIONAL,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ cellUpdateConfirm-v5d0ext CellUpdateConfirm-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v690ext CellUpdateConfirm-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ cellUpdateConfirm-r6 CellUpdateConfirm-r6-IEs,
+ -- Container for adding non critical extensions after freezing REL-7
+ cellUpdateConfirm-r6-add-ext BIT STRING OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v6b0ext CellUpdateConfirm-v6b0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ cellUpdateConfirm-r7 CellUpdateConfirm-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-8
+ cellUpdateConfirm-r7-add-ext BIT STRING
+ (CONTAINING CellUpdateConfirm-r7-add-ext-IEs) OPTIONAL,
+ v780NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v780ext CellUpdateConfirm-v780ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v860ext CellUpdateConfirm-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ cellUpdateConfirm-r8 CellUpdateConfirm-r8-IEs,
+ -- Container for adding non critical extensions after freezing REL-9
+ cellUpdateConfirm-r8-add-ext BIT STRING OPTIONAL,
+ v7d0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v7d0ext CellUpdateConfirm-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v7f0ext CellUpdateConfirm-v7f0ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v890ext
+ CellUpdateConfirm-v890ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v7g0ext
+ CellUpdateConfirm-v7g0ext-IEs,
+ v8a0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v8a0ext
+ CellUpdateConfirm-v8a0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ cellUpdateConfirm-r9 CellUpdateConfirm-r9-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-10
+ cellUpdateConfirm-r9-add-ext BIT STRING OPTIONAL,
+ v950NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v950ext CellUpdateConfirm-v950ext-IEs,
+ v9c0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v9c0ext CellUpdateConfirm-v9c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ cellUpdateConfirm-r10 CellUpdateConfirm-r10-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-11
+ cellUpdateConfirm-r10-add-ext BIT STRING OPTIONAL,
+ v9c0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v9c0ext CellUpdateConfirm-v9c0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-vb50ext
+ CellUpdateConfirm-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ cellUpdateConfirm-r11 CellUpdateConfirm-r11-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-12
+ cellUpdateConfirm-r11-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ cellUpdateConfirm-r12 CellUpdateConfirm-r12-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-13
+ cellUpdateConfirm-r12-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ cellUpdateConfirm-r13 CellUpdateConfirm-r13-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-14
+ cellUpdateConfirm-r13-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CellUpdateConfirm-CriticalExtension-r14-IEs
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+CellUpdateConfirm-CriticalExtension-r14-IEs ::= CHOICE {
+ r14 SEQUENCE {
+ cellUpdateConfrim-r14 CellUpdateConfirm-r14-IEs,
+ -- Container for adding non critical extensions after freezing REL-15
+ cellUpdateConfirm-r14-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+}
+CellUpdateConfirm-r14-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rntiHandlingAtCellReselection ENUMERATED { true } OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ waitTime WaitTime OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Specification mode information
+ -- Radio bearer IEs
+ rab-InformationSetup RAB-InformationSetup-r11 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL,
+ otherStateConfig OtherStateConfig OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ nonrectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ nonrectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ hs-scch-DrxCellfach-info HS-SCCH-DrxCellfach-info OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ -- WLAN IEs
+ dedicatedWLANOffloadInformation DedicatedWLANOffloadInformation OPTIONAL
+}
+
+CellUpdateConfirm-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ modeSpecificTransChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy and dummy2 are not used in this version of the specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonTransChInfo DL-CommonTransChInfo OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List OPTIONAL
+}
+
+CellUpdateConfirm-v3a0ext ::= SEQUENCE {
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received the UE behaviour
+ -- is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL
+}
+
+CellUpdateConfirm-v4b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-UL OPTIONAL,
+ -- The order of the RLs in IE cell-id-PerRL-List is the same as
+ -- in IE DL-InformationPerRL-List included in this message
+ cell-id-PerRL-List CellIdentity-PerRL-List OPTIONAL
+}
+
+CellUpdateConfirm-v590ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-TPC-PowerOffsetPerRL-List DL-TPC-PowerOffsetPerRL-List OPTIONAL
+}
+
+CellUpdateConfirm-v5d0ext-IEs ::= SEQUENCE {
+ --Radio Bearer IEs
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL
+}
+CellUpdateConfirm-r4-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r4 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ modeSpecificTransChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy and dummy2 are not used in this version of the specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r4 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r4 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation-r4 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r4 OPTIONAL
+}
+
+CellUpdateConfirm-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r5 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r5 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ modeSpecificTransChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy and dummy2 are not used in this version of the specification, they should
+ -- not be sent and if received they should be ignored.
+ dummy CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r5 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r5 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-HSPDSCH-Information DL-HSPDSCH-Information OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r5 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r5 OPTIONAL
+}
+
+CellUpdateConfirm-r6-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r6 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r6 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r6 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r5 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r6 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r6 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r6 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r6 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r6 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+CellUpdateConfirm-v690ext-IEs ::= SEQUENCE {
+ -- Core network IEs
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ -- Physical channel IEs
+ -- The IE harq-Preamble-Mode should not be used in the r3 and r4 versions of the message
+ -- If included in the r3 or r4 version of the message, the UE should ignore the IE
+ harq-Preamble-Mode HARQ-Preamble-Mode OPTIONAL,
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL,
+ dhs-sync DHS-Sync OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+CellUpdateConfirm-v6b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-InformationPerRL-List-v6b0ext DL-InformationPerRL-List-v6b0ext OPTIONAL
+}
+
+CellUpdateConfirm-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ waitTime WaitTime OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r7 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r7 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r7 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r7 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r7 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r7 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+CellUpdateConfirm-r7-add-ext-IEs ::= SEQUENCE {
+ cellUpdateConfirm-v7d0ext CellUpdateConfirm-v7d0ext-IEs OPTIONAL,
+ v7f0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v7f0ext CellUpdateConfirm-v7f0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v7g0ext CellUpdateConfirm-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+CellUpdateConfirm-v780ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+}
+
+CellUpdateConfirm-v7d0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ul-EDCH-Information UL-EDCH-Information-ext OPTIONAL
+}
+
+CellUpdateConfirm-v7f0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7f0ext OPTIONAL
+}
+
+CellUpdateConfirm-v7g0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7g0ext OPTIONAL
+}
+
+CellUpdateConfirm-r8-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ waitTime WaitTime OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationSetup RAB-InformationSetup-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r8 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+CellUpdateConfirm-v860ext-IEs ::= SEQUENCE {
+ rab-InformationSetup SEQUENCE {
+ rab-InformationSetup-r7 RAB-InformationSetup-r7,
+ rab-InformationSetup-v820ext RAB-InformationSetup-v820ext
+ } OPTIONAL
+}
+
+CellUpdateConfirm-v890ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-SecondaryCellInfoFDD-v890ext DL-SecondaryCellInfoFDD-v890ext OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext OPTIONAL
+}
+
+CellUpdateConfirm-v8a0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext2 OPTIONAL
+}
+
+CellUpdateConfirm-r9-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ waitTime WaitTime OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationSetup RAB-InformationSetup-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+CellUpdateConfirm-v950ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
+}
+
+CellUpdateConfirm-v9c0ext-IEs ::= SEQUENCE {
+ -- For 1.28Mcps TDD only
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-TDD128-v9c0ext OPTIONAL
+}
+
+CellUpdateConfirm-r10-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ -- dummy2 is not used in this version of the specification, it should
+ -- not be sent.
+ dummy2 SR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ waitTime WaitTime OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationSetup RAB-InformationSetup-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+CellUpdateConfirm-vb50ext-IEs ::= SEQUENCE {
+ ulOLTDInfoFDD UL-OLTD-InfoFDD OPTIONAL
+}
+
+CellUpdateConfirm-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ -- dummy2 is not used in this version of the specification, it should
+ -- not be sent.
+ dummy2 SR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ waitTime WaitTime OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationSetup RAB-InformationSetup-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r11 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r11 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+CellUpdateConfirm-r12-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ waitTime WaitTime OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Specification mode information
+ -- Radio bearer IEs
+ rab-InformationSetup RAB-InformationSetup-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r12 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r12 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ nonrectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ nonrectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ -- WLAN IEs
+ dedicatedWLANOffloadInformation DedicatedWLANOffloadInformation OPTIONAL
+}
+
+
+CellUpdateConfirm-r13-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rntiHandlingAtCellReselection ENUMERATED { true } OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ waitTime WaitTime OPTIONAL,
+ rlc-Re-establishIndicatorRb2-3or4 BOOLEAN,
+ rlc-Re-establishIndicatorRb5orAbove BOOLEAN,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Specification mode information
+ -- Radio bearer IEs
+ rab-InformationSetup RAB-InformationSetup-r11 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL,
+ otherStateConfig OtherStateConfig OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ nonrectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ nonrectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ -- WLAN IEs
+ dedicatedWLANOffloadInformation DedicatedWLANOffloadInformation OPTIONAL
+}
+
+-- ***************************************************
+--
+-- CELL UPDATE CONFIRM for CCCH
+--
+-- ***************************************************
+
+CellUpdateConfirm-CCCH ::= CHOICE {
+ r3 SEQUENCE {
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ -- The rest of the message is identical to the one sent on DCCH.
+ cellUpdateConfirm-r3 CellUpdateConfirm-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ cellUpdateConfirm-CCCH-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v4b0ext CellUpdateConfirm-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v590ext CellUpdateConfirm-v590ext-IEs,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ cellUpdateConfirm-v5d0ext CellUpdateConfirm-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v690ext CellUpdateConfirm-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ u-RNTI U-RNTI,
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ -- The rest of the message is identical to the one sent on DCCH.
+ cellUpdateConfirm-r4 CellUpdateConfirm-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ cellUpdateConfirm-CCCH-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v590ext CellUpdateConfirm-v590ext-IEs,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ cellUpdateConfirm-v5d0ext CellUpdateConfirm-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v690ext CellUpdateConfirm-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ cellUpdateConfirm-r5 CellUpdateConfirm-r5-IEs,
+ cellUpdateConfirm-CCCH-r5-add-ext BIT STRING OPTIONAL,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ cellUpdateConfirm-v5d0ext CellUpdateConfirm-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v690ext CellUpdateConfirm-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ cellUpdateConfirm-r6 CellUpdateConfirm-r6-IEs,
+ cellUpdateConfirm-r6-add-ext BIT STRING OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v6b0ext CellUpdateConfirm-v6b0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ cellUpdateConfirm-r7 CellUpdateConfirm-r7-IEs,
+ cellUpdateConfirm-r7-add-ext BIT STRING
+ (CONTAINING CellUpdateConfirm-r7-add-ext-IEs) OPTIONAL,
+ v780NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v780ext CellUpdateConfirm-v780ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v860ext CellUpdateConfirm-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ cellUpdateConfirm-r8 CellUpdateConfirm-r8-IEs,
+ cellUpdateConfirm-r8-add-ext BIT STRING OPTIONAL,
+ v7d0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v7d0ext CellUpdateConfirm-v7d0ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v890ext
+ CellUpdateConfirm-v890ext-IEs,
+ v8a0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v8a0ext
+ CellUpdateConfirm-v8a0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v7f0ext
+ CellUpdateConfirm-v7f0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-v7g0ext
+ CellUpdateConfirm-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ cellUpdateConfirm-r9 CellUpdateConfirm-r9-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-10
+ cellUpdateConfirm-r9-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ cellUpdateConfirm-r10 CellUpdateConfirm-r10-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-11
+ cellUpdateConfirm-r10-add-ext BIT STRING OPTIONAL,
+ vb50NonCriticalExtensions SEQUENCE {
+ cellUpdateConfirm-vb50ext
+ CellUpdateConfirm-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ cellUpdateConfirm-r11 CellUpdateConfirm-r11-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-12
+ cellUpdateConfirm-r11-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ cellUpdateConfirm-r12 CellUpdateConfirm-r12-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-13
+ cellUpdateConfirm-r12-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ }, criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ cellUpdateConfirm-r13 CellUpdateConfirm-r13-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-14
+ cellUpdateConfirm-r13-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ }, criticalExtensions SEQUENCE {}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+-- ***************************************************
+--
+-- COUNTER CHECK
+--
+-- ***************************************************
+
+CounterCheck ::= CHOICE {
+ r3 SEQUENCE {
+ counterCheck-r3 CounterCheck-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ counterCheck-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+CounterCheck-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- Radio bearer IEs
+ rb-COUNT-C-MSB-InformationList RB-COUNT-C-MSB-InformationList
+}
+
+-- ***************************************************
+--
+-- COUNTER CHECK RESPONSE
+--
+-- ***************************************************
+
+CounterCheckResponse ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- Radio bearer IEs
+ rb-COUNT-C-InformationList RB-COUNT-C-InformationList OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ counterCheckResponse-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- DOWNLINK DIRECT TRANSFER
+--
+-- ***************************************************
+
+DownlinkDirectTransfer ::= CHOICE {
+ r3 SEQUENCE {
+ downlinkDirectTransfer-r3 DownlinkDirectTransfer-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ downlinkDirectTransfer-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+DownlinkDirectTransfer-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- Core network IEs
+ cn-DomainIdentity CN-DomainIdentity,
+ nas-Message NAS-Message
+}
+
+-- ***************************************************
+--
+-- ETWS PRIMARY NOTIFICATION WITH SECURITY
+--
+-- ***************************************************
+
+ETWSPrimaryNotificationWithSecurity ::= SEQUENCE {
+ -- Other IEs
+ etws-Information ETWS-Information,
+ -- dummy is not used in the specification. If received it is ignored by the UE.
+ -- See TS 23.041 for handling of warning security information by Cell Broadcast Center.
+ dummy ETWS-WarningSecurityInfo OPTIONAL,
+ -- Non critical extensions
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+-- ***************************************************
+--
+-- HANDOVER TO UTRAN COMMAND
+--
+-- ***************************************************
+
+HandoverToUTRANCommand ::= CHOICE {
+ r3 SEQUENCE {
+ handoverToUTRANCommand-r3 HandoverToUTRANCommand-r3-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ handoverToUTRANCommand-r4 HandoverToUTRANCommand-r4-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ handoverToUTRANCommand-r5 HandoverToUTRANCommand-r5-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ handoverToUTRANCommand-r6 HandoverToUTRANCommand-r6-IEs,
+ v6b0NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-v6b0ext HandoverToUTRANCommand-v6b0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ handoverToUTRANCommand-r7 HandoverToUTRANCommand-r7-IEs,
+ v780NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-v780ext HandoverToUTRANCommand-v780ext-IEs,
+ v820NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-v820ext HandoverToUTRANCommand-v820ext-IEs,
+ v7d0NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-v7d0ext
+ HandoverToUTRANCommand-v7d0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ handoverToUTRANCommand-r8 HandoverToUTRANCommand-r8-IEs,
+ v7d0NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-v7d0ext HandoverToUTRANCommand-v7d0ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-v890ext
+ HandoverToUTRANCommand-v890ext-IEs,
+ v8a0NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-v8a0ext
+ HandoverToUTRANCommand-v8a0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ handoverToUTRANCommand-r9 HandoverToUTRANCommand-r9-IEs,
+ v9c0NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-v9c0ext
+ HandoverToUTRANCommand-v9c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions HandoverToUTRANCommand-LaterCriticalExtensions
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+
+HandoverToUTRANCommand-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy ActivationTime OPTIONAL,
+ cipheringAlgorithm CipheringAlgorithm OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList,
+ rab-InformationSetupList RAB-InformationSetupList OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList,
+ dl-CommonTransChInfo DL-CommonTransChInfo,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList,
+ ul-DPCH-Info UL-DPCH-Info,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy and dummy2 are not used in this version of specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL,
+ dummy2 CPCH-SetInfo OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation,
+ dl-InformationPerRL-List DL-InformationPerRL-List,
+ frequencyInfo FrequencyInfo
+ },
+ preconfiguration SEQUENCE {
+-- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+-- one for the FDD only elements and one for the TDD only elements, so that one
+-- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+HandoverToUTRANCommand-r4-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ cipheringAlgorithm CipheringAlgorithm OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList,
+ rab-InformationSetupList RAB-InformationSetupList-r4 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r4,
+ ul-DPCH-Info UL-DPCH-Info-r4,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy and dummy2 are not used in this version of specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL,
+ dummy2 CPCH-SetInfo OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation-r4,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r4,
+ frequencyInfo FrequencyInfo
+ },
+ preconfiguration SEQUENCE {
+-- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+-- one for the FDD only elements and one for the TDD only elements, so that one
+-- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r4
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ },
+ tdd128 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD-LCR-r4,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD-LCR-r4,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+HandoverToUTRANCommand-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ cipheringAlgorithm CipheringAlgorithm OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList-r5,
+ rab-InformationSetupList RAB-InformationSetupList-r5 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5,
+ ul-DPCH-Info UL-DPCH-Info-r5,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy and dummy2 are not used in this version of specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL,
+ dummy2 CPCH-SetInfo OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation-r4,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r5,
+ frequencyInfo FrequencyInfo
+ },
+ preconfiguration SEQUENCE {
+-- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+-- one for the FDD only elements and one for the TDD only elements, so that one
+-- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r5
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ },
+ tdd128 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD-LCR-r4,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD-LCR-r4,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+HandoverToUTRANCommand-r6-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ cipheringAlgorithm CipheringAlgorithm OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList-r6,
+ rab-InformationSetupList RAB-InformationSetupList-r6 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r6,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5,
+ ul-DPCH-Info UL-DPCH-Info-r6,
+ ul-EDCH-Information UL-EDCH-Information-r6 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r6 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r6,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r6,
+ frequencyInfo FrequencyInfo
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ },
+ tdd128 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD-LCR-r4,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD-LCR-r4,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+HandoverToUTRANCommand-v6b0ext-IEs ::= SEQUENCE {
+ ue-hspa-identities UE-HSPA-Identities-r6 OPTIONAL
+}
+
+HandoverToUTRANCommand-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ cipheringAlgorithm CipheringAlgorithm-r7 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList-r7,
+ rab-InformationSetupList RAB-InformationSetupList-r7 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r7,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7,
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ ul-EDCH-Information UL-EDCH-Information-r7 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r7 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r7,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfo,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ },
+ tdd128 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD-LCR-r4,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+HandoverToUTRANCommand-v780ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+}
+
+HandoverToUTRANCommand-v7d0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ul-EDCH-Information UL-EDCH-Information-ext OPTIONAL
+}
+
+HandoverToUTRANCommand-r8-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ cipheringAlgorithm CipheringAlgorithm-r7 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList-r8,
+ rab-InformationSetupList RAB-InformationSetupList-r8 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7,
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ ul-EDCH-Information UL-EDCH-Information-r8 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfo,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored
+ dummy DLUL-HSPA-Information-r8 OPTIONAL
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ },
+ tdd128 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD-LCR-r4,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+HandoverToUTRANCommand-v820ext-IEs ::= SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationSetupList RAB-InformationSetupList-v820ext OPTIONAL
+}
+
+HandoverToUTRANCommand-v890ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext OPTIONAL
+}
+
+HandoverToUTRANCommand-v8a0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext2 OPTIONAL
+}
+
+HandoverToUTRANCommand-r9-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ cipheringAlgorithm CipheringAlgorithm-r7 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received UE behaviour is unspecified.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList-r8,
+ rab-InformationSetupList RAB-InformationSetupList-r8 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9,
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfo,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored
+ dummy DLUL-HSPA-Information-r9 OPTIONAL
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ },
+ tdd128 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD-LCR-r4,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+HandoverToUTRANCommand-v9c0ext-IEs ::= SEQUENCE {
+ -- For 1.28Mcps TDD only
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-TDD128-v9c0ext OPTIONAL
+}
+
+HandoverToUTRANCommand-LaterCriticalExtensions ::= CHOICE {
+ r10 SEQUENCE {
+ handoverToUTRANCommand-r10 HandoverToUTRANCommand-r10-IEs,
+ v9c0NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-v9c0ext
+ HandoverToUTRANCommand-v9c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ handoverToUTRANCommand-r11 HandoverToUTRANCommand-r11-IEs,
+ -- Container for adding non critical extensions after freezing REL-12
+ handoverToUTRANCommand-r11-add-ext BIT STRING OPTIONAL,
+ vbc0NonCriticalExtensions SEQUENCE {
+ handoverToUTRANCommand-vbc0ext HandoverToUTRANCommand-vbc0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ handoverToUTRANCommand-r12 HandoverToUTRANCommand-r12-IEs,
+ -- Container for adding non critical extensions after freezing REL-13
+ handoverToUTRANCommand-r12-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+}
+
+HandoverToUTRANCommand-r10-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ cipheringAlgorithm CipheringAlgorithm-r7 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received UE behaviour is unspecified.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList-r8,
+ rab-InformationSetupList RAB-InformationSetupList-r8 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9,
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfo,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6,
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored
+ dummy DLUL-HSPA-Information-r10 OPTIONAL
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ },
+ tdd128 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD-LCR-r4,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+HandoverToUTRANCommand-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ cipheringAlgorithm CipheringAlgorithm-r7 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ defaultConfigForCellFACH DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList-r8,
+ rab-InformationSetupList RAB-InformationSetupList-r8 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11,
+ ul-DPCH-Info UL-DPCH-Info-r11,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r11,
+ frequencyInfo FrequencyInfo,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ },
+ tdd128 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD-LCR-r4,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+HandoverToUTRANCommand-vbc0ext-IEs ::= SEQUENCE {
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-HandoverToUtran OPTIONAL,
+ ulSecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ additionalDLSecCellInfoHandoverToUtranListFDD AdditionalDLSecCellInfoHandoverToUtranListFDD OPTIONAL
+ }
+ }
+}
+
+HandoverToUTRANCommand-r12-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-U-RNTI U-RNTI-Short,
+ cipheringAlgorithm CipheringAlgorithm-r7 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ -- Radio bearer IEs
+ -- Specification mode information
+ defaultConfigForCellFACH DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ srb-InformationSetupList SRB-InformationSetupList-r8,
+ rab-InformationSetupList RAB-InformationSetupList-r8 OPTIONAL,
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11,
+ ul-DPCH-Info UL-DPCH-Info-r11,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r12,
+ -- Physical channel IEs
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ frequencyInfo FrequencyInfo,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dl-SecondaryCellInfoFDD
+ DL-SecondaryCellInfoFDD-HandoverToUtran OPTIONAL,
+ ulSecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ additionalDLSecCellInfoHandoverToUtranListFDD AdditionalDLSecCellInfoHandoverToUtranListFDD OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ },
+ rab-Info RAB-Info-Post OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostFDD,
+ dl-CommonInformationPost DL-CommonInformationPost,
+ dl-InformationPerRL-List DL-InformationPerRL-ListPostFDD,
+ frequencyInfo FrequencyInfoFDD
+ },
+ tdd CHOICE {
+ tdd384 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-InfoPostTDD,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ },
+ tdd128 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-PostTDD-LCR-r4,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ ul-DPCH-Info UL-DPCH-Info-r7,
+ dl-InformationPerRL DL-InformationPerRL-List-r7,
+ frequencyInfo FrequencyInfoTDD,
+ primaryCCPCH-TX-Power PrimaryCCPCH-TX-Power
+ }
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power
+}
+
+-- ***************************************************
+--
+-- HANDOVER TO UTRAN COMPLETE
+--
+-- ***************************************************
+
+HandoverToUTRANComplete ::= SEQUENCE {
+ --TABULAR: Integrity protection shall not be performed on this message.
+ -- User equipment IEs
+ -- TABULAR: startList is conditional on history.
+ startList STARTList OPTIONAL,
+ -- Radio bearer IEs
+ count-C-ActivationTime ActivationTime OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ handoverToUTRANComplete-r3-add-ext BIT STRING OPTIONAL,
+ va40NonCriticalExtensions SEQUENCE {
+ handoverToUTRANComplete-va40ext HandoverToUTRANComplete-va40ext,
+ vb50NonCriticalExtensions SEQUENCE {
+ handoverToUTRANComplete-vb50ext HandoverToUTRANComplete-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+HandoverToUTRANComplete-va40ext ::= SEQUENCE {
+ loggedMeasAvailable ENUMERATED { true } OPTIONAL
+}
+
+HandoverToUTRANComplete-vb50ext-IEs ::= SEQUENCE {
+ connEstFailInfoAvailable ENUMERATED { true } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- INITIAL DIRECT TRANSFER
+--
+-- ***************************************************
+
+InitialDirectTransfer ::= SEQUENCE {
+ -- Core network IEs
+ cn-DomainIdentity CN-DomainIdentity,
+ intraDomainNasNodeSelector IntraDomainNasNodeSelector,
+ nas-Message NAS-Message,
+ -- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACH OPTIONAL,
+ v3a0NonCriticalExtensions SEQUENCE {
+ initialDirectTransfer-v3a0ext InitialDirectTransfer-v3a0ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ initialDirectTransfer-r3-add-ext BIT STRING
+ (CONTAINING InitialDirectTransfer-r3-add-ext-IEs) OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ initialDirectTransfer-v590ext InitialDirectTransfer-v590ext,
+ v690NonCriticalExtensions SEQUENCE {
+ initialDirectTransfer-v690ext InitialDirectTransfer-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ initialDirectTransfer-v770ext InitialDirectTransfer-v770ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ initialDirectTransfer-v860ext InitialDirectTransfer-v860ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ initialDirectTransfer-vb50ext InitialDirectTransfer-vb50ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ initialDirectTransfer-vc50ext InitialDirectTransfer-vc50ext-IEs,
+ ve30NonCriticalExtensions InitialDirectTransfer-ve30ext-IEs OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+InitialDirectTransfer-v3a0ext ::= SEQUENCE {
+ -- start-value shall always be included in this version of the protocol
+ start-Value START-Value OPTIONAL
+}
+InitialDirectTransfer-v590ext ::= SEQUENCE {
+ establishmentCause EstablishmentCause OPTIONAL
+}
+
+InitialDirectTransfer-v690ext-IEs ::= SEQUENCE {
+ -- Core network IEs
+ plmn-Identity PLMN-Identity OPTIONAL,
+ -- Measurement IEs
+ measuredResultsOnRACHinterFreq MeasuredResultsOnRACHinterFreq OPTIONAL,
+ -- MBMS IEs
+ mbms-JoinedInformation MBMS-JoinedInformation-r6 OPTIONAL
+}
+
+InitialDirectTransfer-v770ext-IEs ::= SEQUENCE {
+ csCallType ENUMERATED { speech, video, other, spare } OPTIONAL
+}
+
+InitialDirectTransfer-v860ext-IEs ::= SEQUENCE {
+ supportOfCSG ENUMERATED { true } OPTIONAL
+}
+
+InitialDirectTransfer-r3-add-ext-IEs ::= SEQUENCE {
+ initialDirectTransfer-v7g0ext InitialDirectTransfer-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+InitialDirectTransfer-v7g0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACH-v7g0ext MeasuredResultsOnRACH-v7g0ext OPTIONAL
+}
+
+InitialDirectTransfer-vb50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACHEUTRAFreq MeasuredResultsOnRACH-EUTRAFreq OPTIONAL
+}
+
+InitialDirectTransfer-vc50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACH-vc50ext OPTIONAL
+}
+
+InitialDirectTransfer-ve30ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ dcnIdentity INTEGER (0..65535) OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+-- ***************************************************
+--
+-- HANDOVER FROM UTRAN COMMAND
+--
+-- ***************************************************
+
+HandoverFromUTRANCommand-GSM ::= CHOICE {
+ r3 SEQUENCE {
+ handoverFromUTRANCommand-GSM-r3
+ HandoverFromUTRANCommand-GSM-r3-IEs,
+ -- UTRAN should not include the IE laterNonCriticalExtensions when it sets the IE
+ -- gsm-message included in handoverFromUTRANCommand-GSM-r3 to single-GSM-Message. The UE
+ -- behaviour upon receiving a message with this combination of IE values is unspecified.
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ handoverFromUTRANCommand-GSM-r3-add-ext BIT STRING OPTIONAL,
+ -- UTRAN may apply the r3 version of the message to perform PS handover
+ -- for a single RAB only
+ v690NonCriticalExtensions SEQUENCE {
+ handoverFromUTRANCommand-GSM-v690ext HandoverFromUTRANCommand-GSM-v690ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ handoverFromUTRANCommand-GSM-v860ext
+ HandoverFromUTRANCommand-GSM-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ handoverFromUTRANCommand-GSM-r6 HandoverFromUTRANCommand-GSM-r6-IEs,
+ handoverFromUTRANCommand-GSM-r6-add-ext BIT STRING OPTIONAL,
+ v860NonCriticalExtensions SEQUENCE {
+ handoverFromUTRANCommand-GSM-v860ext
+ HandoverFromUTRANCommand-GSM-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+}
+
+HandoverFromUTRANCommand-GSM-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ activationTime ActivationTime OPTIONAL,
+ -- Radio bearer IEs
+ toHandoverRAB-Info RAB-Info OPTIONAL,
+ -- Measurement IEs
+ frequency-band Frequency-Band,
+ -- Other IEs
+ gsm-message CHOICE {
+ -- In the single-GSM-Message case the following rules apply:
+ -- 1> the GSM message directly follows the basic production; the final padding that
+ -- results when PER encoding the abstract syntax value is removed prior to appending
+ -- the GSM message.
+ -- 2> the RRC message excluding the GSM part, does not contain a length determinant;
+ -- there is no explicit parameter indicating the size of the included GSM message.
+ -- 3> depending on need, final padding (all "0"s) is added to ensure the final result
+ -- comprises a full number of octets
+ single-GSM-Message SEQUENCE {},
+ gsm-MessageList SEQUENCE {
+ gsm-Messages GSM-MessageList
+ }
+ }
+}
+
+HandoverFromUTRANCommand-GSM-r6-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ -- Radio bearer IEs
+ toHandoverRAB-Info RAB-InformationList-r6 OPTIONAL,
+ -- Measurement IEs
+ frequency-band Frequency-Band,
+ -- Other IEs
+ gsm-message CHOICE {
+ -- In the single-GSM-Message case the following rules apply:
+ -- 1> the GSM message directly follows the basic production; the final padding that
+ -- results when PER encoding the abstract syntax value is removed prior to appending
+ -- the GSM message.
+ -- 2> the RRC message excluding the GSM part, does not contain a length determinant;
+ -- there is no explicit parameter indicating the size of the included GSM message.
+ -- 3> depending on need, final padding (all "0"s) is added to ensure the final result
+ -- comprises a full number of octets
+ single-GSM-Message SEQUENCE {},
+ gsm-MessageList SEQUENCE {
+ gsm-Messages GSM-MessageList
+ }
+ },
+ geran-SystemInfoType CHOICE {
+ sI GERAN-SystemInformation,
+ pSI GERAN-SystemInformation
+ } OPTIONAL
+}
+
+HandoverFromUTRANCommand-GSM-v690ext-IEs ::= SEQUENCE {
+ geran-SystemInfoType CHOICE {
+ sI GERAN-SystemInformation,
+ pSI GERAN-SystemInformation
+ } OPTIONAL
+}
+
+HandoverFromUTRANCommand-GSM-v860ext-IEs ::= SEQUENCE {
+ sr-vcc-SecurityRABInfo SR-VCC-SecurityRABInfo-v860ext OPTIONAL
+}
+
+HandoverFromUTRANCommand-GERANIu ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ handoverFromUTRANCommand-GERANIu CHOICE {
+ r5 SEQUENCE {
+ handoverFromUTRANCommand-GERANIu-r5
+ HandoverFromUTRANCommand-GERANIu-r5-IEs,
+ -- UTRAN should not include the IE nonCriticalExtensions when it sets
+ -- the IE geranIu-message included in handoverFromUTRANCommand-GERANIu-r5 to
+ -- single-GERANIu-Message
+ -- The UE behaviour upon receiving a message including this combination of IE values is
+ -- not specified
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ later-than-r5 SEQUENCE {
+ criticalExtensions SEQUENCE {}
+ }
+ }
+}
+
+HandoverFromUTRANCommand-GERANIu-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ -- Measurement IEs
+ frequency-Band Frequency-Band,
+ -- Other IEs
+ geranIu-Message CHOICE {
+ -- In the single-GERANIu-Message case the following rules apply:
+ -- 1> the GERAN Iu message directly follows the basic production; the final padding that
+ -- results when PER encoding the abstract syntax value is removed prior to appending
+ -- the GERAN Iu message.
+ -- 2> the RRC message excluding the GERAN Iu part does not contain a length determinant;
+-- there is no explicit parameter indicating the size of the included GERAN Iu
+-- message.
+ -- 3> depending on need, final padding (all "0"s) is added to ensure the final result
+ -- comprises a full number of octets.
+ single-GERANIu-Message SEQUENCE {},
+ geranIu-MessageList SEQUENCE {
+ geranIu-Messages GERANIu-MessageList
+ }
+ }
+}
+
+HandoverFromUTRANCommand-CDMA2000 ::= CHOICE {
+ r3 SEQUENCE {
+ handoverFromUTRANCommand-CDMA2000-r3
+ HandoverFromUTRANCommand-CDMA2000-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ handoverFromUTRANCommand-CDMA2000-r3-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+HandoverFromUTRANCommand-CDMA2000-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ activationTime ActivationTime OPTIONAL,
+ -- Radio bearer IEs
+ toHandoverRAB-Info RAB-Info OPTIONAL,
+ -- Other IEs
+ cdma2000-MessageList CDMA2000-MessageList
+}
+
+HandoverFromUTRANCommand-EUTRA ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ handoverFromUTRANCommand-EUTRA-r8 HandoverFromUTRANCommand-EUTRA-r8-IEs,
+ handoverFromUTRANCommand-EUTRA-r8-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ handoverFromUTRANCommand-EUTRA-r11 HandoverFromUTRANCommand-EUTRA-r11-IEs,
+ handoverFromUTRANCommand-EUTRA-r11-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+}
+
+HandoverFromUTRANCommand-EUTRA-r8-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ activationTime ActivationTime OPTIONAL,
+ -- Radio bearer IEs
+ toHandoverRAB-Info RAB-InformationList OPTIONAL,
+ -- Other IEs
+ eutra-Message OCTET STRING
+}
+
+HandoverFromUTRANCommand-EUTRA-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rsr-vcc-Info RSR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ -- Radio bearer IEs
+ toHandoverRAB-Info RAB-InformationList OPTIONAL,
+ -- Other IEs
+ eutra-Message OCTET STRING
+}
+
+-- ***************************************************
+--
+-- HANDOVER FROM UTRAN FAILURE
+--
+-- ***************************************************
+
+HandoverFromUTRANFailure ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- Other IEs
+ interRAT-HO-FailureCause InterRAT-HO-FailureCause OPTIONAL,
+ -- In case the interRATMessage to be transferred is for GERAN Iu mode, the
+ -- message should be placed in the HandoverFromUtranFailure-v590ext-IEs
+ -- non-critical extension container.
+ -- In case the interRATMessage to be transferred is for E-UTRA, the
+ -- message should be placed in the HandoverFromUtranFailure-v860ext-IEs
+ -- non-critical extension container.
+ interRATMessage CHOICE {
+ gsm SEQUENCE {
+ gsm-MessageList GSM-MessageList
+ },
+ cdma2000 SEQUENCE {
+ cdma2000-MessageList CDMA2000-MessageList
+ }
+ } OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ handoverFromUTRANFailure-r3-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ handoverFromUTRANFailure-v590ext HandoverFromUtranFailure-v590ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ handoverFromUTRANFailure-v860ext HandoverFromUtranFailure-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+HandoverFromUtranFailure-v590ext-IEs ::= SEQUENCE {
+ geranIu-MessageList GERANIu-MessageList OPTIONAL
+}
+
+HandoverFromUtranFailure-v860ext-IEs ::= SEQUENCE {
+ eutra-Message OCTET STRING OPTIONAL
+}
+
+-- ***************************************************
+--
+-- INTER RAT HANDOVER INFO
+--
+-- ***************************************************
+
+InterRATHandoverInfo ::= SEQUENCE {
+ -- This structure is defined for historical reasons, backward compatibility with 44.018
+ predefinedConfigStatusList CHOICE {
+ absent NULL,
+ present PredefinedConfigStatusList
+ },
+ uE-SecurityInformation CHOICE {
+ absent NULL,
+ present UE-SecurityInformation
+ },
+ ue-CapabilityContainer CHOICE {
+ absent NULL,
+ -- present is an octet aligned string containing IE UE-RadioAccessCapabilityInfo
+ present OCTET STRING (SIZE (0..63))
+ },
+ -- Non critical extensions
+ v390NonCriticalExtensions CHOICE {
+ absent NULL,
+ present SEQUENCE {
+ interRATHandoverInfo-v390ext InterRATHandoverInfo-v390ext-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v3a0ext InterRATHandoverInfo-v3a0ext-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v3d0ext InterRATHandoverInfo-v3d0ext-IEs,
+ -- Container for additional R99 extensions
+ interRATHandoverInfo-r3-add-ext BIT STRING
+ (CONTAINING InterRATHandoverInfo-r3-add-ext-IEs) OPTIONAL,
+ v3g0NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v3g0ext InterRATHandoverInfo-v3g0ext-IEs,
+ v4b0NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v4b0ext InterRATHandoverInfo-v4b0ext-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v4d0ext InterRATHandoverInfo-v4d0ext-IEs,
+ -- Reserved for future non critical extension
+ v590NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v590ext
+ InterRATHandoverInfo-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v690ext
+ InterRATHandoverInfo-v690ext-IEs,
+ v6b0NonCriticalExtensions
+ InterRATHandoverInfo-NonCriticalExtension-v6b0-IEs OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ }
+ }
+}
+
+InterRATHandoverInfo-v390ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v380ext UE-RadioAccessCapability-v380ext OPTIONAL,
+ dl-PhysChCapabilityFDD-v380ext DL-PhysChCapabilityFDD-v380ext
+}
+
+InterRATHandoverInfo-v3a0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v3a0ext UE-RadioAccessCapability-v3a0ext OPTIONAL
+}
+
+InterRATHandoverInfo-v3d0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ uESpecificBehaviourInformation1interRAT
+ UESpecificBehaviourInformation1interRAT OPTIONAL
+}
+
+InterRATHandoverInfo-v3g0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v3g0ext UE-RadioAccessCapability-v3g0ext OPTIONAL
+}
+
+InterRATHandoverInfo-r3-add-ext-IEs ::= SEQUENCE {
+ interRATHandoverInfo-v690ext1 InterRATHandoverInfo-v690ext1-IEs,
+ v7e0NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v7e0ext InterRATHandoverInfo-v7e0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v7f0ext InterRATHandoverInfo-v7f0ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-va40ext InterRATHandoverInfoBand-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+InterRATHandoverInfo-v4b0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ accessStratumReleaseIndicator AccessStratumReleaseIndicator
+}
+
+InterRATHandoverInfo-v4d0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ tdd128-RF-Capability RadioFrequencyBandTDDList OPTIONAL
+}
+
+InterRATHandoverInfo-v590ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ predefinedConfigStatusListComp PredefinedConfigStatusListComp OPTIONAL,
+ ue-RadioAccessCapabilityComp UE-RadioAccessCapabilityComp OPTIONAL
+}
+
+InterRATHandoverInfo-v690ext1-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v650ext UE-RadioAccessCapability-v650ext OPTIONAL
+}
+
+InterRATHandoverInfo-v690ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-SecurityInformation2 UE-SecurityInformation2 OPTIONAL,
+ ue-RadioAccessCapabilityComp UE-RadioAccessCapabilityComp-ext OPTIONAL,
+ ue-RadioAccessCapabilityComp2 UE-RadioAccessCapabilityComp2
+}
+
+InterRATHandoverInfo-NonCriticalExtension-v6b0-IEs ::= SEQUENCE {
+ interRATHandoverInfo-v6b0ext InterRATHandoverInfo-v6b0ext-IEs,
+ v6e0NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v6e0ext InterRATHandoverInfo-v6e0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v770ext InterRATHandoverInfo-v770ext-IEs,
+ v790nonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v790ext InterRATHandoverInfo-v790ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v860ext InterRATHandoverInfo-v860ext-IEs,
+ v880NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v880ext InterRATHandoverInfo-v880ext-IEs,
+ v920NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v920ext InterRATHandoverInfo-v920ext-IEs,
+ v8b0NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v8b0ext
+ InterRATHandoverInfo-v8b0ext-IEs,
+ v950NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-v950ext
+ InterRATHandoverInfo-v950ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-va40ext
+ InterRATHandoverInfo-va40ext-IEs,
+ va80NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-va80ext
+ InterRATHandoverInfo-va80ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-vb50ext
+ InterRATHandoverInfo-vb50ext-IEs,
+ vb70NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-vb70ext
+ InterRATHandoverInfo-vb70ext-IEs,
+ laterNonCriticalExtensions
+ InterRATHandoverInfo-LaterNonCriticalExtensions
+ OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+InterRATHandoverInfo-v6b0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForSIB11bis ENUMERATED { true } OPTIONAL
+}
+
+InterRATHandoverInfo-v6e0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForFDPCH ENUMERATED { true } OPTIONAL
+}
+
+InterRATHandoverInfo-v770ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo UE-RadioAccessCapabilityInfo-v770ext OPTIONAL,
+ ue-RadioAccessCapabilityComp UE-RadioAccessCapabilityComp-v770ext OPTIONAL,
+ ue-RadioAccessCapabilityComp2 UE-RadioAccessCapabilityComp2-v770ext OPTIONAL
+}
+
+InterRATHandoverInfo-v790ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForEDPCCHPowerBoosting ENUMERATED { true } OPTIONAL
+}
+
+InterRATHandoverInfo-v7e0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability UE-RadioAccessCapability-v7e0ext OPTIONAL
+}
+
+InterRATHandoverInfo-v7f0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability UE-RadioAccessCapability-v7f0ext OPTIONAL,
+ ue-RadioAccessCapabilityComp2 UE-RadioAccessCapabilityComp2-v7f0ext OPTIONAL
+}
+
+InterRATHandoverInfo-v860ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo UE-RadioAccessCapability-v860ext OPTIONAL,
+ ue-RadioAccessCapabilityComp2 UE-RadioAccessCapabilityComp2-v860ext OPTIONAL
+}
+
+InterRATHandoverInfo-v880ext-IEs ::= SEQUENCE {
+ -- UE radio access capability
+ ue-RadioAccessCapabilityInfo UE-RadioAccessCapability-v880ext OPTIONAL,
+ ue-RadioAccessCapabilityInfo-TDD128 UE-RadioAccessCapabilityComp-TDD128 OPTIONAL
+}
+
+InterRATHandoverInfo-v920ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo UE-RadioAccessCapability-v920ext OPTIONAL,
+ ue-RadioAccessCapabilityComp2 UE-RadioAccessCapabilityComp2-v920ext OPTIONAL
+}
+
+InterRATHandoverInfo-v8b0ext-IEs ::= SEQUENCE {
+ -- UE radio access capability
+ ue-RadioAccessCapabilityInfo UE-RadioAccessCapabilityInfo-TDD128-v8b0ext OPTIONAL
+}
+
+InterRATHandoverInfo-v950ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ pdcp-Capability PDCP-Capability-r4-ext OPTIONAL
+}
+
+InterRATHandoverInfo-va40ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo UE-RadioAccessCapability-va40ext OPTIONAL,
+ ue-RadioAccessCapabilityComp2 UE-RadioAccessCapabilityComp2-va40ext OPTIONAL
+}
+
+InterRATHandoverInfoBand-va40ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapabBand UE-RadioAccessCapabBand-va40ext OPTIONAL,
+ rf-CapabilityFDDComp RF-CapabBandListFDDComp-ext2 OPTIONAL
+}
+
+InterRATHandoverInfo-va80ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo-va80ext UE-RadioAccessCapability-va80ext OPTIONAL
+}
+
+InterRATHandoverInfo-vb50ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo-vb50ext
+ UE-RadioAccessCapability-vb50ext OPTIONAL,
+ ue-RadioAccessCapabilityComp2
+ UE-RadioAccessCapabilityComp2-vb50ext OPTIONAL,
+ ue-RadioAccessCapabilityInfo-TDD128
+ UE-RadioAccessCapabilityInfo-TDD128-vb50ext OPTIONAL
+}
+
+InterRATHandoverInfo-vb70ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo-vb70ext UE-RadioAccessCapability-vb70ext OPTIONAL
+}
+
+InterRATHandoverInfo-vbc0ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo-vbc0ext UE-RadioAccessCapability-vbc0ext OPTIONAL
+}
+
+InterRATHandoverInfo-LaterNonCriticalExtensions ::= SEQUENCE {
+ interRATHandoverInfo-vbc0ext InterRATHandoverInfo-vbc0ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-vc50ext InterRATHandoverInfo-vc50ext-IEs,
+ vd20NonCriticalExtensions SEQUENCE {
+ interRATHandoverInfo-vd20ext InterRATHandoverInfo-vd20ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+InterRATHandoverInfo-vc50ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityComp2 UE-RadioAccessCapabilityComp2-vc50ext OPTIONAL
+}
+
+InterRATHandoverInfo-vd20ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapabilityInfo UE-RadioAccessCapability-vd20ext OPTIONAL,
+ ue-RadioAccessCapabilityComp2 UE-RadioAccessCapabilityComp2-vd20ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MEASUREMENT CONTROL
+--
+-- ***************************************************
+
+MeasurementControl ::= CHOICE {
+ -- The Rel-4 functionality of UE Positioning OTDOA AssistanceData TDD is only available
+ -- in the later-than-r3 branch of this message (i.e. through the use of the IE
+ -- ue-Positioning-OTDOA-AssistanceData-r4)
+ r3 SEQUENCE {
+ measurementControl-r3 MeasurementControl-r3-IEs,
+ v390nonCriticalExtensions SEQUENCE {
+ measurementControl-v390ext MeasurementControl-v390ext,
+ v3a0NonCriticalExtensions SEQUENCE {
+ measurementControl-v3a0ext MeasurementControl-v3a0ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ measurementControl-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE{
+ -- The content of the v4b0 non-critical extension has been removed. If sent
+ -- to a UE of AS release 4, the UE behaviour is unspecified. A UE of AS
+ -- release 5 onward shall comply with the v4b0 and later extensions in this
+ -- branch of the message.
+ v590NonCriticalExtensions SEQUENCE {
+ measurementControl-v590ext MeasurementControl-v590ext-IEs,
+ v5b0NonCriticalExtensions SEQUENCE {
+ measurementControl-v5b0ext MeasurementControl-v5b0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ -- Least significant part of extended "RRC transaction identifier" (Rel-5 onward)
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ measurementControl-r4 MeasurementControl-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ measurementControl-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE{
+ measurementControl-v590ext MeasurementControl-v590ext-IEs,
+ v5b0NonCriticalExtensions SEQUENCE {
+ measurementControl-v5b0ext MeasurementControl-v5b0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r4 SEQUENCE {
+ -- Most significant part of extended "RRC transaction identifier" (MSP):
+ -- extended "RRC transaction identifier" =
+ -- rrc-TransactionIdentifier-MSP * 4 + rrc-TransactionIdentifier
+ rrc-TransactionIdentifier-MSP RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ measurementControl-r6 MeasurementControl-r6-IEs,
+ v6a0NonCriticalExtensions SEQUENCE {
+ measurementControl-v6a0ext MeasurementControl-v6a0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ measurementControl-r7 MeasurementControl-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-7
+ measurementControl-r7-add-ext BIT STRING OPTIONAL,
+ v7b0NonCriticalExtensions SEQUENCE {
+ measurementControl-v7b0ext MeasurementControl-v7b0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ measurementControl-r8 MeasurementControl-r8-IEs,
+ -- Container for adding non critical extensions after freezing REL-9
+ measurementControl-r8-add-ext BIT STRING OPTIONAL,
+ v8a0NonCriticalExtensions SEQUENCE {
+ measurementControl-v8a0ext MeasurementControl-v8a0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ measurementControl-vb50ext MeasurementControl-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ measurementControl-r9 MeasurementControl-r9-IEs,
+ -- Container for adding non critical extensions after freezing REL-10
+ measurementControl-r9-add-ext BIT STRING OPTIONAL,
+ v970NonCriticalExtensions SEQUENCE {
+ measurementControl-v970ext
+ MeasurementControl-v970ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ measurementControl-vb50ext
+ MeasurementControl-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ measurementControl-r10 MeasurementControl-r10-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-11
+ measurementControl-r10-add-ext BIT STRING OPTIONAL,
+ vaa0NonCriticalExtensions SEQUENCE {
+ measurementControl-vaa0ext
+ MeasurementControl-vaa0ext-IEs,
+ vab0NonCriticalExtensions SEQUENCE {
+ measurementControl-vab0ext
+ MeasurementControl-vab0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ measurementControl-vb50ext
+ MeasurementControl-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ measurementControl-r11
+ MeasurementControl-r11-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-12
+ measurementControl-r11-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ measurementControl-r12
+ MeasurementControl-r12-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-13
+ measurementControl-r12-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ measurementControl-r13
+ MeasurementControl-r13-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-14
+ measurementControl-r13-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r14 SEQUENCE {
+ measurementControl-r14
+ MeasurementControl-r14-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-15
+ measurementControl-r14-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ laterCriticalExtensions MeasurementControl-LaterCriticalExtensions-r14-IEs
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+MeasurementControl-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The measurement type is included in MeasurementCommand.
+ measurementCommand MeasurementCommand,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo OPTIONAL
+}
+
+MeasurementControl-v390ext ::= SEQUENCE {
+ ue-Positioning-Measurement-v390ext
+ UE-Positioning-Measurement-v390ext OPTIONAL
+}
+
+MeasurementControl-v3a0ext ::= SEQUENCE {
+ sfn-Offset-Validity SFN-Offset-Validity OPTIONAL
+}
+
+MeasurementControl-r4-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r4,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo OPTIONAL
+}
+
+MeasurementControl-v590ext-IEs ::= SEQUENCE {
+ measurementCommand-v590ext CHOICE {
+ -- the choice "intra-frequency" shall be used for the case of intra-frequency measurement,
+ -- as well as when intra-frequency events are configured for inter-frequency measurement
+ intra-frequency Intra-FreqEventCriteriaList-v590ext,
+ inter-frequency Inter-FreqEventCriteriaList-v590ext
+ } OPTIONAL,
+ intraFreqReportingCriteria-1b-r5 IntraFreqReportingCriteria-1b-r5 OPTIONAL,
+ intraFreqEvent-1d-r5 IntraFreqEvent-1d-r5 OPTIONAL,
+ -- Most significant part of extended "RRC transaction identifier" (MSP):
+ -- extended "RRC transaction identifier" =
+ -- rrc-TransactionIdentifier-MSP-v590ext * 4 + rrc-TransactionIdentifier
+ rrc-TransactionIdentifier-MSP-v590ext RRC-TransactionIdentifier
+}
+
+MeasurementControl-v5b0ext-IEs ::= SEQUENCE {
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL
+}
+
+MeasurementControl-r6-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r6,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo OPTIONAL
+}
+
+MeasurementControl-v6a0ext-IEs ::= SEQUENCE {
+ intraFreqReportingCriteria-1b-r5 IntraFreqReportingCriteria-1b-r5 OPTIONAL
+}
+
+
+MeasurementControl-r7-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r7,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo OPTIONAL
+}
+
+MeasurementControl-v7b0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ newInterFreqCellList NewInterFreqCellList-v7b0ext OPTIONAL
+}
+
+MeasurementControl-r8-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r8,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo OPTIONAL
+}
+
+MeasurementControl-v8a0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ newIntraFreqCellList NewIntraFreqCellList-LCR-v8a0ext OPTIONAL,
+ newInterFreqCellList NewInterFreqCellList-LCR-v8a0ext OPTIONAL
+}
+
+MeasurementControl-r9-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ -- if the UE supports extended measurements, "measurementIdentity"
+ -- shall be ignored if "measurementIdentity" in MeasurementControl-v970ext-IEs
+ -- is present, and the value of that element shall be used instead.
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r9,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ -- if the UE supports extended measurements, "additionalMeasurementList"
+ -- shall be ignored if "additionalMeasurementList" in MeasurementControl-v970ext-IEs
+ -- is present, and the value of that element shall be used instead.
+ additionalMeasurementList AdditionalMeasurementID-List OPTIONAL,
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo OPTIONAL
+}
+
+MeasurementControl-v970ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity-r9 OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List-r9 OPTIONAL
+}
+
+MeasurementControl-r10-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ -- if the UE supports extended measurements, "measurementIdentity"
+ -- shall be ignored if "measurementIdentity" in MeasurementControl-vab0ext-IEs
+ -- is present, and the value of that element shall be used instead.
+ measurementIdentity MeasurementIdentity,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r10,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ -- if the UE supports extended measurements, "additionalMeasurementList"
+ -- shall be ignored if "additionalMeasurementList" in MeasurementControl-vab0ext-IEs
+ -- is present, and the value of that element shall be used instead.
+ additionalMeasurementList AdditionalMeasurementID-List OPTIONAL,
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo-r10 OPTIONAL
+}
+
+MeasurementControl-vaa0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ periodicalReportingCriteriaOnSecULFreq
+ PeriodicalWithReportingCellStatusOnSecULFreq OPTIONAL
+}
+
+MeasurementControl-vab0ext-IEs ::= MeasurementControl-v970ext-IEs
+
+MeasurementControl-r11-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity-r9,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r11,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List-r9 OPTIONAL,
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo-r10 OPTIONAL
+}
+
+MeasurementControl-vb50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ interRATMeasurement InterRATMeasurement-r11 OPTIONAL
+}
+
+MeasurementControl-r12-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity-r9 OPTIONAL,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r12,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List-r9 OPTIONAL,
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ measurementScalingFactor MeasurementScalingFactor OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo-r10 OPTIONAL
+}
+
+MeasurementControl-r13-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity-r9 OPTIONAL,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r13,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List-r9 OPTIONAL,
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ measurementScalingFactor MeasurementScalingFactor OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo-r10 OPTIONAL
+}
+
+MeasurementControl-r14-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity-r9 OPTIONAL,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r14,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List-r9 OPTIONAL,
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ measurementScalingFactor MeasurementScalingFactor OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo-r10 OPTIONAL
+}
+
+MeasurementControl-LaterCriticalExtensions-r14-IEs ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ r14 SEQUENCE {
+ measurementControl-r14 MeasurementControl-r14-IEs,
+ -- Container for adding non critical extensions after freezing REL-15
+ measurementControl-r14-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ measurementControl-LaterCriticalExtensions-r15-IEs MeasurementControl-LaterCriticalExtensions-r15-IEs
+ }
+}
+
+MeasurementControl-LaterCriticalExtensions-r15-IEs ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ r15 SEQUENCE {
+ measurementControl-r15 MeasurementControl-r15-IEs,
+ -- Container for adding non critical extensions after freezing REL-16
+ measurementControl-r15-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+MeasurementControl-r15-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measurementIdentity MeasurementIdentity-r9 OPTIONAL,
+ -- TABULAR: The measurement type is included in measurementCommand.
+ measurementCommand MeasurementCommand-r15,
+ measurementReportingMode MeasurementReportingMode OPTIONAL,
+ additionalMeasurementList AdditionalMeasurementID-List-r9 OPTIONAL,
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
+ measurementScalingFactor MeasurementScalingFactor OPTIONAL,
+ -- Physical channel IEs
+ dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo-r10 OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MEASUREMENT CONTROL FAILURE
+--
+-- ***************************************************
+
+MeasurementControlFailure ::= SEQUENCE {
+ -- User equipment IEs
+ -- Least significant part of extended "RRC transaction identifier" (Rel-5 onward)
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ measurementControlFailure-r3-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ measurementControlFailure-v590ext MeasurementControlFailure-v590ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ measurementControlFailure-vc50ext MeasurementControlFailure-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+
+ } OPTIONAL
+ } OPTIONAL
+}
+
+MeasurementControlFailure-v590ext-IEs ::= SEQUENCE {
+ -- Most significant part of extended "RRC transaction identifier" (MSP):
+ -- extended "RRC transaction identifier" =
+ -- rrc-TransactionIdentifier-MSP-v590ext * 4 + rrc-TransactionIdentifier
+ -- If the rrc-TransactionIdentifier-MSP-v590ext was not received in the MEASUREMENT CONTROL
+ -- message, then the rrc-TransactionIdentifier-MSP-v590ext shall be set to zero
+ rrc-TransactionIdentifier-MSP-v590ext RRC-TransactionIdentifier
+}
+
+MeasurementControlFailure-vc50ext-IEs ::= SEQUENCE {
+ measurementIdentity MeasurementIdentity-r9 OPTIONAL
+}
+-- ***************************************************
+--
+-- MEASUREMENT REPORT
+--
+-- ***************************************************
+
+MeasurementReport ::= SEQUENCE {
+ -- Measurement IEs
+ -- if the UE supports extended measurements, "measurementIdentity"
+ -- shall be ignored if "measurementIdentity" in MeasurementReport-v970ext-IEs
+ -- is present, and the value of that element shall be used instead.
+ measurementIdentity MeasurementIdentity,
+ measuredResults MeasuredResults OPTIONAL,
+ measuredResultsOnRACH MeasuredResultsOnRACH OPTIONAL,
+ additionalMeasuredResults MeasuredResultsList OPTIONAL,
+ eventResults EventResults OPTIONAL,
+ -- Non-critical extensions
+ v390nonCriticalExtensions SEQUENCE {
+ measurementReport-v390ext MeasurementReport-v390ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ measurementReport-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ measurementReport-v4b0ext MeasurementReport-v4b0ext-IEs,
+ -- Extension mechanism for non-Rel4 information
+ v590NonCriticalExtensions SEQUENCE {
+ measurementReport-v590ext MeasurementReport-v590ext-IEs,
+ v5b0NonCriticalExtensions SEQUENCE {
+ measurementReport-v5b0ext MeasurementReport-v5b0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ measurementReport-v690ext MeasurementReport-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ measurementReport-v770ext MeasurementReport-v770ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ measurementReport-v860ext MeasurementReport-v860ext-IEs,
+ v920NonCriticalExtensions SEQUENCE {
+ measurementReport-v920ext MeasurementReport-v920ext-IEs,
+ v970NonCriticalExtensions SEQUENCE {
+ measurementReport-v970ext-IE
+ MeasurementReport-v970ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ measurementReport-va40ext
+ MeasurementReport-va40ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ measurementReport-vb50ext
+ MeasurementReport-vb50ext-IEs,
+ laterNonCriticalExtensions
+ MeasurementReport-LaterNonCriticalExtensions OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+MeasurementReport-v390ext ::= SEQUENCE {
+ measuredResults-v390ext MeasuredResults-v390ext OPTIONAL
+}
+
+MeasurementReport-v4b0ext-IEs ::= SEQUENCE {
+ interFreqEventResults-LCR InterFreqEventResults-LCR-r4-ext OPTIONAL,
+ -- additionalMeasuredResults-LCR shall contain measurement results and additional measurement
+ -- results list.
+ additionalMeasuredResults-LCR MeasuredResultsList-LCR-r4-ext OPTIONAL,
+ -- dummy is not used in this version of the specification. It should not be sent and
+ -- if received it should be ignored.
+ dummy PrimaryCPICH-Info OPTIONAL
+}
+
+MeasurementReport-v590ext-IEs ::= SEQUENCE {
+ measuredResults-v590ext MeasuredResults-v590ext OPTIONAL
+}
+
+MeasurementReport-v5b0ext-IEs ::= SEQUENCE {
+ interRATCellInfoIndication InterRATCellInfoIndication OPTIONAL
+}
+
+MeasurementReport-v690ext-IEs ::= SEQUENCE {
+ measuredResultsOnRACHinterFreq MeasuredResultsOnRACHinterFreq OPTIONAL
+}
+
+MeasurementReport-v770ext-IEs ::= SEQUENCE {
+ measuredResults MeasuredResults-v770ext OPTIONAL,
+ additionalMeasuredResults MeasuredResultsList-v770xet OPTIONAL,
+ eventResults EventResults-v770ext OPTIONAL,
+ ue-Positioning-OTDOA-MeasuredResults
+ UE-Positioning-OTDOA-MeasuredResultsTDD-ext OPTIONAL
+}
+
+MeasurementReport-v860ext-IEs ::= SEQUENCE {
+ activationTime ActivationTime OPTIONAL,
+ measuredResults MeasuredResults-v860ext OPTIONAL,
+ additionalMeasuredResults MeasuredResultsList-v860ext OPTIONAL,
+ eventResults EventResults-v860ext OPTIONAL,
+ eutra-MeasuredResults EUTRA-MeasuredResults OPTIONAL,
+ eutra-EventResults EUTRA-EventResults OPTIONAL
+}
+
+MeasurementReport-v920ext-IEs ::= SEQUENCE {
+ cSGProximityIndication CSGProximityIndication OPTIONAL,
+ measuredResults MeasuredResults-v920ext OPTIONAL,
+ measuredResultsOnSecUlFreq MeasuredResultsOnSecUlFreq OPTIONAL,
+ additionalMeasuredResults MeasuredResultsList-v920ext OPTIONAL,
+ additionalMeasuredResultsOnSecUlFreq
+ MeasuredResultsListOnSecUlFreq OPTIONAL,
+ eventResultsOnSecUlFreq EventResultsOnSecUlFreq OPTIONAL,
+ eutra-MeasuredResults EUTRA-MeasuredResults-v920ext OPTIONAL
+}
+
+MeasurementReport-v970ext-IEs ::= SEQUENCE {
+ measurementIdentity MeasurementIdentityExt OPTIONAL
+}
+
+MeasurementReport-va40ext-IEs ::= SEQUENCE {
+ eventResults EventResults-va40ext OPTIONAL,
+ loggedMeasAvailable ENUMERATED { true } OPTIONAL,
+ loggedANRResultsAvailable ENUMERATED { true } OPTIONAL
+}
+
+MeasurementReport-vb50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACHEUTRAFreq MeasuredResultsOnRACH-EUTRAFreq OPTIONAL,
+ eutra-EventResultsForCELLFACH EUTRA-EventResultsForCELLFACH OPTIONAL,
+ cSGProximityIndication CSGProximityIndication-vb50ext OPTIONAL,
+ eutra-MeasuredResults EUTRA-MeasuredResults-vb50ext OPTIONAL,
+ eutra-EventResults EUTRA-EventResults-vb50ext OPTIONAL
+}
+
+MeasurementReport-LaterNonCriticalExtensions ::= SEQUENCE {
+ measurementReport-vc50ext MeasurementReport-vc50ext-IEs,
+ vd20NonCriticalExtensions SEQUENCE {
+ measurementReport-vd20ext MeasurementReport-vd20ext-IEs,
+ ve30NonCriticalExtensions MeasurementReport-ve30ext-IEs OPTIONAL
+ } OPTIONAL
+}
+
+MeasurementReport-vc50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACH-vc50ext OPTIONAL,
+ measuredResults MeasuredResults-vc50ext OPTIONAL,
+ measuredResultsOnSecUlFreq MeasuredResultsOnSecUlFreq-vc50ext OPTIONAL,
+ additionalMeasuredResults MeasuredResultsList-vc50ext OPTIONAL,
+ additionalMeasuredResultsOnSecUlFreq
+ MeasuredResultsListOnSecUlFreq-vc50ext OPTIONAL,
+ eutra-MeasuredResults EUTRA-MeasuredResults-vc50ext OPTIONAL,
+ eutra-EventResults EUTRA-EventResults-vc50ext OPTIONAL,
+ eutra-EventResultsForCELLFACH EUTRA-EventResultsForCELLFACH-vc50ext OPTIONAL
+}
+
+MeasurementReport-vd20ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResults MeasuredResults-vd20ext OPTIONAL
+}
+
+MeasurementReport-ve30ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResults MeasuredResults-ve30ext OPTIONAL,
+ applicationLayerMeasurementReporting ApplicationLayerMeasurementReporting OPTIONAL,
+ measurementReport-vf20ext MeasurementReport-vf20ext-IEs OPTIONAL
+}
+
+MeasurementReport-vf20ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ applicationLayerMeasurementReporting-r15 ApplicationLayerMeasurementReporting-r15 OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+-- ***************************************************
+--
+-- PAGING TYPE 1
+--
+-- ***************************************************
+
+PagingType1 ::= SEQUENCE {
+ -- User equipment IEs
+ pagingRecordList PagingRecordList OPTIONAL,
+ -- Other IEs
+ bcch-ModificationInfo BCCH-ModificationInfo OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ pagingType1-r3-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ pagingType1-v590ext PagingType1-v590ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ pagingType1-v860ext PagingType1-v860ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ pagingType1-vc50ext PagingType1-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+PagingType1-v590ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ pagingRecord2List PagingRecord2List-r5 OPTIONAL
+}
+
+PagingType1-v860ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ etws-Information ETWS-Information OPTIONAL
+}
+
+PagingType1-vc50ext-IEs ::= SEQUENCE {
+ bcch-ModificationInfo-vc50ext BCCH-ModificationInfo-vc50ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- PAGING TYPE 2
+--
+-- ***************************************************
+
+PagingType2 ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ pagingCause PagingCause,
+ -- Core network IEs
+ cn-DomainIdentity CN-DomainIdentity,
+ pagingRecordTypeID PagingRecordTypeID,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ pagingType2-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- PHYSICAL CHANNEL RECONFIGURATION
+--
+-- ***************************************************
+
+PhysicalChannelReconfiguration ::= CHOICE {
+ r3 SEQUENCE {
+ physicalChannelReconfiguration-r3
+ PhysicalChannelReconfiguration-r3-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v3a0ext PhysicalChannelReconfiguration-v3a0ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ physicalChannelReconfiguration-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtenstions SEQUENCE {
+ physicalChannelReconfiguration-v4b0ext
+ PhysicalChannelReconfiguration-v4b0ext-IEs,
+ v590NonCriticalExtenstions SEQUENCE {
+ physicalChannelReconfiguration-v590ext
+ PhysicalChannelReconfiguration-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v690ext
+ PhysicalChannelReconfiguration-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v770ext
+ PhysicalChannelReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ physicalChannelReconfiguration-r4
+ PhysicalChannelReconfiguration-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ physicalChannelReconfiguration-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtenstions SEQUENCE {
+ physicalChannelReconfiguration-v590ext
+ PhysicalChannelReconfiguration-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v690ext
+ PhysicalChannelReconfiguration-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v770ext
+ PhysicalChannelReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ physicalChannelReconfiguration-r5
+ PhysicalChannelReconfiguration-r5-IEs,
+ -- Container for adding non critical extensions after freezing REL-6
+ physicalChannelReconfiguration-r5-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v690ext
+ PhysicalChannelReconfiguration-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v770ext
+ PhysicalChannelReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ physicalChannelReconfiguration-r6
+ PhysicalChannelReconfiguration-r6-IEs,
+ -- Container for adding non critical extensions after freezing REL-7
+ physicalChannelReconfiguration-r6-add-ext BIT STRING OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v6b0ext
+ PhysicalChannelReconfiguration-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v770ext
+ PhysicalChannelReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ physicalChannelReconfiguration-r7
+ PhysicalChannelReconfiguration-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-7
+ physicalChannelReconfiguration-r7-add-ext BIT STRING OPTIONAL,
+ v780NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v780ext
+ PhysicalChannelReconfiguration-v780ext-IEs,
+ v7d0NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v7d0ext
+ PhysicalChannelReconfiguration-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v7f0ext
+ PhysicalChannelReconfiguration-v7f0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v7g0ext
+ PhysicalChannelReconfiguration-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ physicalChannelReconfiguration-r8
+ PhysicalChannelReconfiguration-r8-IEs,
+ -- Container for adding non critical extensions after freezing REL-9
+ physicalChannelReconfiguration-r8-add-ext BIT STRING OPTIONAL,
+ v7d0NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v7d0ext
+ PhysicalChannelReconfiguration-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v7f0ext
+ PhysicalChannelReconfiguration-v7f0ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v890ext
+ PhysicalChannelReconfiguration-v890ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v7g0ext
+ PhysicalChannelReconfiguration-v7g0ext-IEs,
+ v8a0NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v8a0ext
+ PhysicalChannelReconfiguration-v8a0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ physicalChannelReconfiguration-r9
+ PhysicalChannelReconfiguration-r9-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-10
+ physicalChannelReconfiguration-r9-add-ext
+ BIT STRING OPTIONAL,
+ v950NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-v950ext
+ PhysicalChannelReconfiguration-v950ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ physicalChannelReconfiguration-r10
+ PhysicalChannelReconfiguration-r10-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-11
+ physicalChannelReconfiguration-r10-add-ext
+ BIT STRING OPTIONAL,
+ vb50NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfiguration-vb50ext
+ PhysicalChannelReconfiguration-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ physicalChannelReconfiguration-r11
+ PhysicalChannelReconfiguration-r11-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-12
+ physicalChannelReconfiguration-r11-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions
+ SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ physicalChannelReconfiguration-r12
+ PhysicalChannelReconfiguration-r12-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-13
+ physicalChannelReconfiguration-r12-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ physicalChannelReconfiguration-r13
+ PhysicalChannelReconfiguration-r13-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-14
+ physicalChannelReconfiguration-r13-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+PhysicalChannelReconfiguration-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ -- Note: the reference to CPCH in the element name below is incorrect. The name is not
+ -- changed to keep it aligned with R99.
+ ul-ChannelRequirement UL-ChannelRequirementWithCPCH-SetID OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v3a0ext ::= SEQUENCE {
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received the UE behaviour
+ -- is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v4b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-UL OPTIONAL,
+ -- The order of the RLs in IE cell-id-PerRL-List is the same as
+ -- in IE DL-InformationPerRL-List included in this message
+ cell-id-PerRL-List CellIdentity-PerRL-List OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v590ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-TPC-PowerOffsetPerRL-List DL-TPC-PowerOffsetPerRL-List OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r4-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ -- Note: the reference to CPCH in the element name below is incorrect. The name is not
+ -- changed to keep it aligned with R99.
+ ul-ChannelRequirement UL-ChannelRequirementWithCPCH-SetID-r4 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation-r4 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r4 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ -- Note: the reference to CPCH in the element name below is incorrect. The name is not
+ -- changed to keep it aligned with R99.
+ ul-ChannelRequirement UL-ChannelRequirementWithCPCH-SetID-r5 OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-HSPDSCH-Information DL-HSPDSCH-Information OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r5 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r5 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r6-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r6 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r6 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r6 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r6 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r6 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v690ext-IEs ::= SEQUENCE {
+ -- User Equipment IEs
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ -- Core network IEs
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ -- Physical channel IEs
+ -- The IE harq-Preamble-Mode should not be used in the r3 and r4 versions of the message
+ -- If included in the r3 or r4 version of the message, the UE should ignore the IE
+ harq-Preamble-Mode HARQ-Preamble-Mode OPTIONAL,
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL,
+ dhs-sync DHS-Sync OPTIONAL,
+ timingMaintainedSynchInd TimingMaintainedSynchInd OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v6b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-InformationPerRL-List-v6b0ext DL-InformationPerRL-List-v6b0ext OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r7 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r7 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r7 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v780ext-IEs ::= SEQUENCE {
+ -- Transport channel IEs
+ harqInfo HARQ-Info-r7 OPTIONAL,
+ -- Physical channel IEs
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v7d0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ul-EDCH-Information UL-EDCH-Information-ext OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v7f0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7f0ext OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v7g0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7g0ext OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r8-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ harqInfo HARQ-Info-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r8 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v890ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-SecondaryCellInfoFDD-v890ext DL-SecondaryCellInfoFDD-v890ext OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v8a0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext2 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r9-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ harqInfo HARQ-Info-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-v950ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r10-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ harqInfo HARQ-Info-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-vb50ext-IEs ::= SEQUENCE {
+ ulOLTDInfoFDD UL-OLTD-InfoFDD OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ harqInfo HARQ-Info-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r11 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r11 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r12-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ harqInfo HARQ-Info-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r12 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r12 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ nonrectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ nonrectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+PhysicalChannelReconfiguration-r13-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL,
+ -- Transport channel IEs
+ harqInfo HARQ-Info-r13 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ nonrectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ nonrectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+-- ***************************************************
+--
+-- PHYSICAL CHANNEL RECONFIGURATION COMPLETE
+--
+-- ***************************************************
+
+PhysicalChannelReconfigurationComplete ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ ul-IntegProtActivationInfo IntegrityProtActivationInfo OPTIONAL,
+ -- TABULAR: UL-TimingAdvance is applicable for TDD mode only.
+ ul-TimingAdvance UL-TimingAdvance OPTIONAL,
+ -- Radio bearer IEs
+ count-C-ActivationTime ActivationTime OPTIONAL,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy RB-ActivationTimeInfoList OPTIONAL,
+ ul-CounterSynchronisationInfo UL-CounterSynchronisationInfo OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ physicalChannelReconfigurationComplete-r3-add-ext BIT STRING OPTIONAL,
+ v770NonCriticalExtensions SEQUENCE {
+ physicalChannelReconfigurationComplete-v770ext
+ PhysicalChannelReconfigurationComplete-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+PhysicalChannelReconfigurationComplete-v770ext-IEs ::= SEQUENCE {
+ -- TABULAR: EXT-UL-TimingAdvance is applicable for TDD mode only.
+ ext-UL-TimingAdvance EXT-UL-TimingAdvance OPTIONAL,
+ deferredMeasurementControlReading ENUMERATED { true } OPTIONAL
+}
+
+
+-- ***************************************************
+--
+-- PHYSICAL CHANNEL RECONFIGURATION FAILURE
+--
+-- ***************************************************
+
+PhysicalChannelReconfigurationFailure ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier OPTIONAL,
+ failureCause FailureCauseWithProtErr,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ physicalChannelReconfigurationFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- PHYSICAL SHARED CHANNEL ALLOCATION (TDD only)
+--
+-- ***************************************************
+
+PhysicalSharedChannelAllocation ::= CHOICE {
+ r3 SEQUENCE {
+ physicalSharedChannelAllocation-r3
+ PhysicalSharedChannelAllocation-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ physicalSharedChannelAllocation-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ dsch-RNTI DSCH-RNTI OPTIONAL,
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ physicalSharedChannelAllocation-r4
+ PhysicalSharedChannelAllocation-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ physicalSharedChannelAllocation-r4-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ physicalSharedChannelAllocation-v690ext
+ PhysicalSharedChannelAllocation-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ physicalSharedChannelAllocation-v770ext
+ PhysicalSharedChannelAllocation-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+}
+
+PhysicalSharedChannelAllocation-r3-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ -- User equipment IEs
+ dsch-RNTI DSCH-RNTI OPTIONAL,
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- Physical channel IEs
+ ul-TimingAdvance UL-TimingAdvanceControl OPTIONAL,
+ pusch-CapacityAllocationInfo PUSCH-CapacityAllocationInfo OPTIONAL,
+ pdsch-CapacityAllocationInfo PDSCH-CapacityAllocationInfo OPTIONAL,
+ -- TABULAR: If confirmRequest is not present, the default value "No Confirm"
+ -- shall be used as specified in 10.2.25.
+ confirmRequest ENUMERATED {
+ confirmPDSCH, confirmPUSCH } OPTIONAL,
+ trafficVolumeReportRequest INTEGER (0..255) OPTIONAL,
+ iscpTimeslotList TimeslotList OPTIONAL,
+ requestPCCPCHRSCP BOOLEAN
+}
+
+PhysicalSharedChannelAllocation-r4-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ -- Physical channel IEs
+ ul-TimingAdvance UL-TimingAdvanceControl-r4 OPTIONAL,
+ pusch-CapacityAllocationInfo PUSCH-CapacityAllocationInfo-r4 OPTIONAL,
+ pdsch-CapacityAllocationInfo PDSCH-CapacityAllocationInfo-r4 OPTIONAL,
+ -- TABULAR: If confirmRequest is not present, the default value "No Confirm"
+ -- shall be used as specified in 10.2.25.
+ confirmRequest ENUMERATED {
+ confirmPDSCH, confirmPUSCH } OPTIONAL,
+ trafficVolumeReportRequest INTEGER (0..255) OPTIONAL,
+ iscpTimeslotList TimeslotList-r4 OPTIONAL,
+ requestPCCPCHRSCP BOOLEAN
+}
+
+PhysicalSharedChannelAllocation-v690ext-IEs ::= SEQUENCE {
+ -- Physical Channel IEs
+ beaconPLEst BEACON-PL-Est OPTIONAL
+}
+
+PhysicalSharedChannelAllocation-v770ext-IEs ::= SEQUENCE {
+ ul-TimingAdvance UL-TimingAdvanceControl-r7 OPTIONAL,
+ pusch-CapacityAllocationInfo PUSCH-CapacityAllocationInfo-r7 OPTIONAL,
+ pdsch-CapacityAllocationInfo PDSCH-CapacityAllocationInfo-r7 OPTIONAL
+}
+
+-- ***************************************************
+--
+-- PUSCH CAPACITY REQUEST (TDD only)
+--
+-- ***************************************************
+
+PUSCHCapacityRequest ::= SEQUENCE {
+ -- User equipment IEs
+ dsch-RNTI DSCH-RNTI OPTIONAL,
+ -- Measurement IEs
+ trafficVolume TrafficVolumeMeasuredResultsList OPTIONAL,
+ timeslotListWithISCP TimeslotListWithISCP OPTIONAL,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL,
+ allocationConfirmation CHOICE {
+ pdschConfirmation PDSCH-Identity,
+ puschConfirmation PUSCH-Identity
+ } OPTIONAL,
+ protocolErrorIndicator ProtocolErrorIndicatorWithMoreInfo,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ puschCapacityRequest-r3-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ puschCapacityRequest-v590ext PUSCHCapacityRequest-v590ext,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+PUSCHCapacityRequest-v590ext ::= SEQUENCE {
+ primaryCCPCH-RSCP-delta DeltaRSCP OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RADIO BEARER RECONFIGURATION
+--
+-- ***************************************************
+
+RadioBearerReconfiguration ::= CHOICE {
+ r3 SEQUENCE {
+ radioBearerReconfiguration-r3 RadioBearerReconfiguration-r3-IEs,
+ -- Prefix "v3ao" is used (in one instance) to keep alignment with R99
+ v3aoNonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v3a0ext RadioBearerReconfiguration-v3a0ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ radioBearerReconfiguration-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v4b0ext
+ RadioBearerReconfiguration-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v590ext
+ RadioBearerReconfiguration-v590ext-IEs,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ radioBearerReconfiguration-v5d0ext
+ RadioBearerReconfiguration-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v690ext
+ RadioBearerReconfiguration-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v770ext
+ RadioBearerReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ radioBearerReconfiguration-r4 RadioBearerReconfiguration-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ radioBearerReconfiguration-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v590ext
+ RadioBearerReconfiguration-v590ext-IEs,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ radioBearerReconfiguration-v5d0ext
+ RadioBearerReconfiguration-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v690ext
+ RadioBearerReconfiguration-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v770ext
+ RadioBearerReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ radioBearerReconfiguration-r5 RadioBearerReconfiguration-r5-IEs,
+ -- Container for adding non critical extensions after freezing REL-6
+ radioBearerReconfiguration-r5-add-ext BIT STRING OPTIONAL,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ radioBearerReconfiguration-v5d0ext RadioBearerReconfiguration-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v690ext
+ RadioBearerReconfiguration-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v770ext
+ RadioBearerReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ radioBearerReconfiguration-r6 RadioBearerReconfiguration-r6-IEs,
+ -- Container for adding non critical extensions after freezing REL-7
+ radioBearerReconfiguration-r6-add-ext BIT STRING OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v6b0ext
+ RadioBearerReconfiguration-v6b0ext-IEs,
+ v6f0NonCriticalExtensions SEQUENCE {
+ radioBearerRconfiguration-v6f0ext
+ RadioBearerReconfiguration-v6f0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v770ext
+ RadioBearerReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ radioBearerReconfiguration-r7 RadioBearerReconfiguration-r7-IEs,
+ v780NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v780ext
+ RadioBearerReconfiguration-v780ext-IEs,
+ v790NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v790ext
+ RadioBearerReconfiguration-v790ext-IEs,
+ v7d0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v7d0ext
+ RadioBearerReconfiguration-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v7f0ext
+ RadioBearerReconfiguration-v7f0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v7g0ext
+ RadioBearerReconfiguration-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ radioBearerReconfiguration-r8 RadioBearerReconfiguration-r8-IEs,
+ -- Container for adding non critical extensions after freezing REL-9
+ radioBearerReconfiguration-r8-add-ext BIT STRING OPTIONAL,
+ v7d0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v7d0ext
+ RadioBearerReconfiguration-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v7f0ext
+ RadioBearerReconfiguration-v7f0ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v890ext
+ RadioBearerReconfiguration-v890ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v7g0ext
+ RadioBearerReconfiguration-v7g0ext-IEs,
+ v8a0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v8a0ext
+ RadioBearerReconfiguration-v8a0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ radioBearerReconfiguration-r9
+ RadioBearerReconfiguration-r9-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-10
+ radioBearerReconfiguration-r9-add-ext
+ BIT STRING OPTIONAL,
+ v950NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v950ext
+ RadioBearerReconfiguration-v950ext-IEs,
+ v9c0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v9c0ext
+ RadioBearerReconfiguration-v9c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ radioBearerReconfiguration-r10
+ RadioBearerReconfiguration-r10-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-11
+ radioBearerReconfiguration-r10-add-ext
+ BIT STRING OPTIONAL,
+ v9c0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-v9c0ext
+ RadioBearerReconfiguration-v9c0ext-IEs,
+ vaa0NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-vaa0ext
+ RadioBearerReconfiguration-vaa0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ radioBearerReconfiguration-vb50ext
+ RadioBearerReconfiguration-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ radioBearerReconfiguration-r11
+ RadioBearerReconfiguration-r11-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-12
+ radioBearerReconfiguration-r11-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ radioBearerReconfiguration-r12
+ RadioBearerReconfiguration-r12-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-13
+ radioBearerReconfiguration-r12-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ radioBearerReconfiguration-r13
+ RadioBearerReconfiguration-r13-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-14
+ radioBearerReconfiguration-r13-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r14 SEQUENCE {
+ radioBearerReconfiguration-r14
+ RadioBearerReconfiguration-r14-IEs,
+ -- Container for adding non critical
+ -- extensions after freezing REL-15
+ radioBearerReconfiguration-r14-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ laterCriticalExtensions RadioBearerReconfiguration-LaterCriticalExtensions-r15-IEs
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+
+RadioBearerReconfiguration-vaa0ext-IEs ::= SEQUENCE {
+ um-RLC-ReEstablishmentRBList RB-IdentityList OPTIONAL
+}
+
+RadioBearerReconfiguration-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ -- NOTE: IE rb-InformationReconfigList should be optional in later versions
+ -- of this message
+ rb-InformationReconfigList RB-InformationReconfigList,
+ rb-InformationAffectedList RB-InformationAffectedList OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfo2List OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation OPTIONAL,
+ -- NOTE: IE dl-InformationPerRL-List is optional in later versions
+ -- of this message
+ dl-InformationPerRL-List DL-InformationPerRL-List
+}
+
+RadioBearerReconfiguration-v3a0ext ::= SEQUENCE {
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received the UE behaviour
+ -- is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL
+}
+
+RadioBearerReconfiguration-v4b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-UL OPTIONAL,
+ -- The order of the RLs in IE cell-id-PerRL-List is the same as
+ -- in IE DL-InformationPerRL-List included in this message
+ cell-id-PerRL-List CellIdentity-PerRL-List OPTIONAL
+}
+
+RadioBearerReconfiguration-v590ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-TPC-PowerOffsetPerRL-List DL-TPC-PowerOffsetPerRL-List OPTIONAL
+}
+
+RadioBearerReconfiguration-v5d0ext-IEs ::= SEQUENCE {
+ --Radio Bearer IEs
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL
+}
+
+RadioBearerReconfiguration-r4-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r4 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r4 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r4 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation-r4 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r4 OPTIONAL
+}
+
+RadioBearerReconfiguration-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r5 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r5 OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the
+ -- specification, they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r5 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r5
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r5 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-HSPDSCH-Information DL-HSPDSCH-Information OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r5 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r5 OPTIONAL
+}
+
+RadioBearerReconfiguration-r6-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r6 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r6 OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r6 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r5 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r6 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r6 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r6 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r6 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r6 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+RadioBearerReconfiguration-v690ext-IEs ::= SEQUENCE {
+ -- User Equipment IEs
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ -- Core network IEs
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ -- Physical channel IEs
+ -- The IE harq-Preamble-Mode should not be used in the r3 and r4 versions of the message
+ -- If included in the r3 or r4 version of the message, the UE should ignore the IE
+ harq-Preamble-Mode HARQ-Preamble-Mode OPTIONAL,
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL,
+ dhs-sync DHS-Sync OPTIONAL,
+ timingMaintainedSynchInd TimingMaintainedSynchInd OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+RadioBearerReconfiguration-v6b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-InformationPerRL-List-v6b0ext DL-InformationPerRL-List-v6b0ext OPTIONAL
+}
+
+RadioBearerReconfiguration-v6f0ext-IEs ::= SEQUENCE {
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL
+ }
+ }
+}
+
+RadioBearerReconfiguration-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r7 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r7 OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r7 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r7 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r7 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r7 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+RadioBearerReconfiguration-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL
+}
+
+RadioBearerReconfiguration-v780ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+}
+
+RadioBearerReconfiguration-v790ext-IEs ::= SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-8
+ radioBearerReconfiguration-r7-add-ext BIT STRING OPTIONAL
+}
+
+RadioBearerReconfiguration-v7d0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ul-EDCH-Information UL-EDCH-Information-ext OPTIONAL
+}
+
+RadioBearerReconfiguration-v7f0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7f0ext OPTIONAL
+}
+
+RadioBearerReconfiguration-v7g0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7g0ext OPTIONAL
+}
+
+RadioBearerReconfiguration-r8-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r8 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+RadioBearerReconfiguration-v890ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-SecondaryCellInfoFDD-v890ext DL-SecondaryCellInfoFDD-v890ext OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext OPTIONAL
+}
+
+RadioBearerReconfiguration-v8a0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext2 OPTIONAL
+}
+
+RadioBearerReconfiguration-r9-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received UE behaviour is unspecified.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+
+RadioBearerReconfiguration-v950ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
+}
+
+RadioBearerReconfiguration-v9c0ext-IEs ::= SEQUENCE {
+ -- For 1.28Mcps TDD only
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-TDD128-v9c0ext OPTIONAL
+}
+
+RadioBearerReconfiguration-r10-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received UE behaviour is unspecified.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerReconfiguration-vb50ext-IEs ::= SEQUENCE {
+ ulOLTDInfoFDD UL-OLTD-InfoFDD OPTIONAL
+}
+
+RadioBearerReconfiguration-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Specification mode information
+ defaultConfigForCellFACH DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ umRlc-ReEstablishmentRBList RB-IdentityList OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r11 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r11 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerReconfiguration-r12-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Specification mode information
+ defaultConfigForCellFACH DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ umRlc-ReEstablishmentRBList RB-IdentityList OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r12 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r12 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ nonrectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ nonrectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerReconfiguration-r13-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rntiHandlingAtCellReselection ENUMERATED { true } OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Specification mode information
+ defaultConfigForCellFACH DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ umRlc-ReEstablishmentRBList RB-IdentityList OPTIONAL,
+ otherStateConfig OtherStateConfig OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Retrievable configuration
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ nonrectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ nonrectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerReconfiguration-r14-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rntiHandlingAtCellReselection ENUMERATED { true } OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Specification mode information
+ defaultConfigForCellFACH DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationSetupList RAB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ umRlc-ReEstablishmentRBList RB-IdentityList OPTIONAL,
+ otherStateConfig OtherStateConfig OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r14 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Retrievable configuration
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r14 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ ul-OtherTTIConfigurationInfo-Sec UL-OtherTTIConfigurationInfo-Sec OPTIONAL,
+ filteredUPHReportInfo-Sec FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ nonrectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ nonrectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ hs-scch-DrxCellfach-info HS-SCCH-DrxCellfach-info OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerReconfiguration-LaterCriticalExtensions-r15-IEs ::= SEQUENCE {
+ r15 SEQUENCE {
+ radioBearerReconfiguration-r15
+ RadioBearerReconfiguration-r15-IEs,
+ -- Container for adding non critical
+ -- extensions after freezing REL-16
+ radioBearerReconfiguration-r15-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {}
+ OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+}
+
+RadioBearerReconfiguration-r15-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rntiHandlingAtCellReselection ENUMERATED { true } OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Specification mode information
+ defaultConfigForCellFACH DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationSetupList RAB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rab-InformationMBMSPtpList RAB-InformationMBMSPtpList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ rb-PDCPContextRelocationList RB-PDCPContextRelocationList OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ umRlc-ReEstablishmentRBList RB-IdentityList OPTIONAL,
+ otherStateConfig OtherStateConfig OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r14 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Retrievable configuration
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r14 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ ul-OtherTTIConfigurationInfo-Sec UL-OtherTTIConfigurationInfo-Sec OPTIONAL,
+ filteredUPHReportInfo-Sec FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ nonrectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ nonrectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ hs-scch-DrxCellfach-info HS-SCCH-DrxCellfach-info OPTIONAL,
+ simplified-HS-SCCH-type1-operation ENUMERATED { true } OPTIONAL,
+
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RADIO BEARER RECONFIGURATION COMPLETE
+--
+-- ***************************************************
+
+RadioBearerReconfigurationComplete ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ ul-IntegProtActivationInfo IntegrityProtActivationInfo OPTIONAL,
+ -- TABULAR: UL-TimingAdvance is applicable for TDD mode only.
+ ul-TimingAdvance UL-TimingAdvance OPTIONAL,
+ -- Radio bearer IEs
+ count-C-ActivationTime ActivationTime OPTIONAL,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy RB-ActivationTimeInfoList OPTIONAL,
+ ul-CounterSynchronisationInfo UL-CounterSynchronisationInfo OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ radioBearerReconfigurationComplete-r3-add-ext BIT STRING OPTIONAL,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerReconfigurationComplete-v770ext
+ RadioBearerReconfigurationComplete-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+RadioBearerReconfigurationComplete-v770ext-IEs ::= SEQUENCE {
+ -- TABULAR: EXT-UL-TimingAdvance is applicable for TDD mode only.
+ ext-UL-TimingAdvance EXT-UL-TimingAdvance OPTIONAL,
+ deferredMeasurementControlReading ENUMERATED { true } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RADIO BEARER RECONFIGURATION FAILURE
+--
+-- ***************************************************
+
+RadioBearerReconfigurationFailure ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr,
+ -- Radio bearer IEs
+ potentiallySuccesfulBearerList RB-IdentityList OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ radioBearerReconfigurationFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RADIO BEARER RELEASE
+--
+-- ***************************************************
+
+RadioBearerRelease ::= CHOICE {
+ r3 SEQUENCE {
+ radioBearerRelease-r3 RadioBearerRelease-r3-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v3a0ext RadioBearerRelease-v3a0ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ radioBearerRelease-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v4b0ext RadioBearerRelease-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v590ext RadioBearerRelease-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v690ext RadioBearerRelease-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v770ext RadioBearerRelease-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ radioBearerRelease-r4 RadioBearerRelease-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ radioBearerRelease-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v590ext RadioBearerRelease-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v690ext RadioBearerRelease-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v770ext RadioBearerRelease-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ radioBearerRelease-r5 RadioBearerRelease-r5-IEs,
+ -- Container for adding non critical extensions after freezing REL-6
+ radioBearerRelease-r5-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v690ext RadioBearerRelease-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v770ext RadioBearerRelease-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ radioBearerRelease-r6 RadioBearerRelease-r6-IEs,
+ -- Container for adding non critical extensions after freezing REL-7
+ radioBearerRelease-r6-add-ext BIT STRING OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v6b0ext RadioBearerRelease-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v770ext RadioBearerRelease-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ radioBearerRelease-r7 RadioBearerRelease-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-8
+ radioBearerRelease-r7-add-ext BIT STRING OPTIONAL,
+ v780NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v780ext RadioBearerRelease-v780ext-IEs,
+ v7d0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v7d0ext RadioBearerRelease-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v7f0ext RadioBearerRelease-v7f0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v7g0ext
+ RadioBearerRelease-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ radioBearerRelease-r8 RadioBearerRelease-r8-IEs,
+ -- Container for adding non critical extensions after freezing REL-9
+ radioBearerRelease-r8-add-ext BIT STRING OPTIONAL,
+ v7d0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v7d0ext RadioBearerRelease-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v7f0ext RadioBearerRelease-v7f0ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v890ext
+ RadioBearerRelease-v890ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v7g0ext
+ RadioBearerRelease-v7g0ext-IEs,
+ v8a0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v8a0ext
+ RadioBearerRelease-v8a0ext-IEs,
+ nonCriticalExtensions
+ SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ radioBearerRelease-r9 RadioBearerRelease-r9-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-10
+ radioBearerRelease-r9-add-ext BIT STRING OPTIONAL,
+ v950NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v950ext RadioBearerRelease-v950ext-IEs,
+ v970NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v970ext RadioBearerRelease-v970ext-IEs,
+ v9c0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v9c0ext RadioBearerRelease-v9c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ radioBearerRelease-r10 RadioBearerRelease-r10-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-11
+ radioBearerRelease-r10-add-ext BIT STRING OPTIONAL,
+ v9c0NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-v9c0ext RadioBearerRelease-v9c0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ radioBearerRelease-vb50ext
+ RadioBearerRelease-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ radioBearerRelease-r11
+ RadioBearerRelease-r11-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-12
+ radioBearerRelease-r11-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ radioBearerRelease-r12
+ RadioBearerRelease-r12-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-13
+ radioBearerRelease-r11-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ radioBearerRelease-r13
+ RadioBearerRelease-r13-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-14
+ radioBearerRelease-r13-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ laterCriticalExtensions
+ RadioBearerRelease-LaterCriticalExtensions-r15-IEs
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+
+RadioBearerRelease-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationAffectedList RB-InformationAffectedList OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfo2List OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List OPTIONAL
+}
+
+RadioBearerRelease-v3a0ext ::= SEQUENCE {
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received the UE behaviour
+ -- is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL
+}
+
+RadioBearerRelease-v4b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-UL OPTIONAL,
+ -- The order of the RLs in IE cell-id-PerRL-List is the same as
+ -- in IE DL-InformationPerRL-List included in this message
+ cell-id-PerRL-List CellIdentity-PerRL-List OPTIONAL
+}
+
+RadioBearerRelease-v590ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-TPC-PowerOffsetPerRL-List DL-TPC-PowerOffsetPerRL-List OPTIONAL
+}
+
+RadioBearerRelease-r4-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationAffectedList RB-InformationAffectedList OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r4 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r4 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation-r4 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r4 OPTIONAL
+}
+
+RadioBearerRelease-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationAffectedList RB-InformationAffectedList-r5 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r5 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r5 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-HSPDSCH-Information DL-HSPDSCH-Information OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r5 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r5 OPTIONAL
+}
+
+RadioBearerRelease-v690ext-IEs ::= SEQUENCE {
+ -- Core network IEs
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ -- Physical channel IEs
+ -- The IE harq-Preamble-Mode should not be used in the r3 and r4 versions of the message
+ -- If included in the r3 or r4 version of the message, the UE should ignore the IE
+ harq-Preamble-Mode HARQ-Preamble-Mode OPTIONAL,
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL,
+ dhs-sync DHS-Sync OPTIONAL,
+ timingMaintainedSynchInd TimingMaintainedSynchInd OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL
+}
+
+RadioBearerRelease-r6-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationReconfigList RB-InformationReconfigList-r6 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r6 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r6 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r5 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r6 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r6 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r6 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r6 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r6 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL
+}
+
+RadioBearerRelease-v6b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-InformationPerRL-List-v6b0ext DL-InformationPerRL-List-v6b0ext OPTIONAL
+}
+
+RadioBearerRelease-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationReconfigList RB-InformationReconfigList-r7 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r7 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r7 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r7 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r7 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r7 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL
+}
+
+RadioBearerRelease-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL
+}
+
+RadioBearerRelease-v780ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+}
+
+RadioBearerRelease-v7d0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ul-EDCH-Information UL-EDCH-Information-ext OPTIONAL
+}
+
+RadioBearerRelease-v7f0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7f0ext OPTIONAL
+}
+
+RadioBearerRelease-v7g0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7g0ext OPTIONAL
+}
+
+RadioBearerRelease-r8-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r8 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL
+}
+
+RadioBearerRelease-v890ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-SecondaryCellInfoFDD-v890ext DL-SecondaryCellInfoFDD-v890ext OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext OPTIONAL
+}
+
+RadioBearerRelease-v8a0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext2 OPTIONAL
+}
+
+RadioBearerRelease-r9-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL
+}
+
+RadioBearerRelease-v950ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
+}
+
+RadioBearerRelease-v970ext-IEs ::= SEQUENCE {
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerRelease-v9c0ext-IEs ::= SEQUENCE {
+ -- For 1.28Mcps TDD only
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-TDD128-v9c0ext OPTIONAL
+}
+
+RadioBearerRelease-r10-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerRelease-vb50ext-IEs ::= SEQUENCE {
+ ulOLTDInfoFDD UL-OLTD-InfoFDD OPTIONAL
+}
+
+RadioBearerRelease-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r11 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r11 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerRelease-r12-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r12 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r12 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ non-rectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ non-rectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerRelease-r13-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ non-rectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ non-rectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerRelease-LaterCriticalExtensions-r15-IEs ::= SEQUENCE {
+ r15 SEQUENCE {
+ radioBearerRelease-r15 RadioBearerRelease-r15-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-16
+ radioBearerRelease-r15-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+}
+
+
+RadioBearerRelease-r15-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ signallingConnectionRelIndication CN-DomainIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ non-rectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ non-rectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ simplified-HS-SCCH-type1-operation ENUMERATED { true } OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ mbms-RB-ListReleasedToChangeTransferMode
+ RB-InformationReleaseList OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RADIO BEARER RELEASE COMPLETE
+--
+-- ***************************************************
+
+RadioBearerReleaseComplete ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ ul-IntegProtActivationInfo IntegrityProtActivationInfo OPTIONAL,
+ -- TABULAR: UL-TimingAdvance is applicable for TDD mode only.
+ ul-TimingAdvance UL-TimingAdvance OPTIONAL,
+ -- Radio bearer IEs
+ count-C-ActivationTime ActivationTime OPTIONAL,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy RB-ActivationTimeInfoList OPTIONAL,
+ ul-CounterSynchronisationInfo UL-CounterSynchronisationInfo OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ radioBearerReleaseComplete-r3-add-ext BIT STRING OPTIONAL,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerReleaseComplete-v770ext
+ RadioBearerReleaseComplete-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+RadioBearerReleaseComplete-v770ext-IEs ::= SEQUENCE {
+ -- TABULAR: EXT-UL-TimingAdvance is applicable for TDD mode only.
+ ext-UL-TimingAdvance EXT-UL-TimingAdvance OPTIONAL,
+ deferredMeasurementControlReading ENUMERATED { true } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RADIO BEARER RELEASE FAILURE
+--
+-- ***************************************************
+
+RadioBearerReleaseFailure ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr,
+ -- Radio bearer IEs
+ potentiallySuccesfulBearerList RB-IdentityList OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ radioBearerReleaseFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RADIO BEARER SETUP
+--
+-- ***************************************************
+
+RadioBearerSetup ::= CHOICE {
+ r3 SEQUENCE {
+ radioBearerSetup-r3 RadioBearerSetup-r3-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v3a0ext RadioBearerSetup-v3a0ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ radioBearerSetup-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v4b0ext RadioBearerSetup-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v590ext RadioBearerSetup-v590ext-IEs,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ radioBearerSetup-v5d0ext RadioBearerSetup-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v690ext RadioBearerSetup-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ radioBearerSetup-r4 RadioBearerSetup-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ radioBearerSetup-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v590ext RadioBearerSetup-v590ext-IEs,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ radioBearerSetup-v5d0ext RadioBearerSetup-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v690ext RadioBearerSetup-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ radioBearerSetup-r5 RadioBearerSetup-r5-IEs,
+ -- Container for adding non critical extensions after freezing REL-6
+ radioBearerSetup-r5-add-ext BIT STRING OPTIONAL,
+ v5d0NonCriticalExtenstions SEQUENCE {
+ radioBearerSetup-v5d0ext RadioBearerSetup-v5d0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v690ext RadioBearerSetup-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ radioBearerSetup-r6 RadioBearerSetup-r6-IEs,
+ -- Container for adding non critical extensions after freezing REL-7
+ radioBearerSetup-r6-add-ext BIT STRING OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v6b0ext RadioBearerSetup-v6b0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ radioBearerSetup-r7 RadioBearerSetup-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-8
+ radioBearerSetup-r7-add-ext BIT STRING
+ (CONTAINING RadioBearerSetup-r7-add-ext-IEs) OPTIONAL,
+ v780NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v780ext RadioBearerSetup-v780ext-IEs,
+ v820NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v820ext RadioBearerSetup-v820ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ radioBearerSetup-r8 RadioBearerSetup-r8-IEs,
+ -- Container for adding non critical extensions after freezing REL-9
+ radioBearerSetup-r8-add-ext BIT STRING OPTIONAL,
+ v7d0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v7d0ext RadioBearerSetup-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v7f0ext RadioBearerSetup-v7f0ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v890ext
+ RadioBearerSetup-v890ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v7g0ext
+ RadioBearerSetup-v7g0ext-IEs,
+ v8a0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v8a0ext
+ RadioBearerSetup-v8a0ext-IEs,
+ nonCriticalExtensions
+ SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ radioBearerSetup-r9 RadioBearerSetup-r9-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-10
+ radioBearerSetup-r9-add-ext BIT STRING OPTIONAL,
+ v950NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v950ext RadioBearerSetup-v950ext-IEs,
+ v9c0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v9c0ext RadioBearerSetup-v9c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ radioBearerSetup-r10 RadioBearerSetup-r10-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-11
+ radioBearerSetup-r10-add-ext BIT STRING OPTIONAL,
+ v9c0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v9c0ext RadioBearerSetup-v9c0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-vb50ext
+ RadioBearerSetup-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ radioBearerSetup-r11 RadioBearerSetup-r11-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-12
+ radioBearerSetup-r11-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ radioBearerSetup-r12 RadioBearerSetup-r12-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-13
+ radioBearerSetup-r13-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ radioBearerSetup-r13 RadioBearerSetup-r13-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-14
+ radioBearerSetup-r13-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ laterCriticalExtensions RadioBearerSetup-LaterCriticalExtensions-r15-IEs
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+RadioBearerSetup-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List OPTIONAL
+}
+
+RadioBearerSetup-v3a0ext ::= SEQUENCE {
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received the UE behaviour
+ -- is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL
+}
+
+RadioBearerSetup-v4b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-UL OPTIONAL,
+ -- The order of the RLs in IE cell-id-PerRL-List is the same as
+ -- in IE DL-InformationPerRL-List included in this message
+ cell-id-PerRL-List CellIdentity-PerRL-List OPTIONAL
+}
+
+RadioBearerSetup-v590ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-TPC-PowerOffsetPerRL-List DL-TPC-PowerOffsetPerRL-List OPTIONAL
+}
+
+RadioBearerSetup-v5d0ext-IEs ::= SEQUENCE {
+ --Radio Bearer IEs
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL
+}
+
+RadioBearerSetup-r4-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r4 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r4 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r4 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation-r4 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r4 OPTIONAL
+}
+
+RadioBearerSetup-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r5 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r5 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r5 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r5 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r5 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-HSPDSCH-Information DL-HSPDSCH-Information OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r5 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r5 OPTIONAL
+}
+
+RadioBearerSetup-v690ext-IEs ::= SEQUENCE {
+ -- Core network IEs
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ -- Physical channel IEs
+ -- The IE harq-Preamble-Mode should not be used in the r3 and r4 versions of the message
+ -- If included in the r3 or r4 version of the message, the UE should ignore the IE
+ harq-Preamble-Mode HARQ-Preamble-Mode OPTIONAL,
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL,
+ dhs-sync DHS-Sync OPTIONAL,
+ timingMaintainedSynchInd TimingMaintainedSynchInd OPTIONAL,
+ -- Radio bearer IEs
+ rab-InformationSetupList RAB-InformationSetupList-r6-ext OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+RadioBearerSetup-r6-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r6 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r6 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r6 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r6 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r6 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r5 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL
+ },
+ -- dummy is not used in this version of the specification
+ -- if it is sent, the UE behaviour is unspecified.
+ dummy SEQUENCE {
+ rab-Info RAB-Info-r6,
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6,
+ rb-InformationChangedList RB-InformationChangedList-r6 OPTIONAL,
+ powerOffsetInfoShort PowerOffsetInfoShort
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r6 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r6 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r6 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r6 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r6 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+RadioBearerSetup-v6b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-InformationPerRL-List-v6b0ext DL-InformationPerRL-List-v6b0ext OPTIONAL,
+ -- MBMS IEs
+ -- The order of the RABs in IE rab-InformationSetupListExt is the same as
+ -- in IE rab-InformationSetupList that is included in this message
+ rab-InformationSetupListExt RAB-InformationSetupList-v6b0ext OPTIONAL
+}
+
+RadioBearerSetup-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r7 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r7 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r7 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r7 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r7 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL
+ },
+ -- dummy is not used in this version of the specification
+ -- if it is sent, the UE behaviour is unspecified.
+ dummy NULL
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r7 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r7 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r7 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+RadioBearerSetup-r7-add-ext-IEs ::= SEQUENCE {
+ radioBearerSetup-v7d0ext RadioBearerSetup-v7d0ext-IEs OPTIONAL,
+ v7f0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v7f0ext RadioBearerSetup-v7f0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ radioBearerSetup-v7g0ext RadioBearerSetup-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+RadioBearerSetup-v780ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+}
+
+RadioBearerSetup-v7d0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ul-EDCH-Information UL-EDCH-Information-ext OPTIONAL
+}
+
+RadioBearerSetup-v7f0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7f0ext OPTIONAL
+}
+
+RadioBearerSetup-v7g0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7g0ext OPTIONAL
+}
+
+RadioBearerSetup-r8-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ sr-vcc-Info SR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r8 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r8 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r8 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+RadioBearerSetup-v820ext-IEs ::= SEQUENCE {
+ -- Radio bearer IEs
+ rab-InformationSetupList RAB-InformationSetupList-v820ext OPTIONAL
+}
+
+RadioBearerSetup-v890ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-SecondaryCellInfoFDD-v890ext DL-SecondaryCellInfoFDD-v890ext OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext OPTIONAL
+}
+
+RadioBearerSetup-v8a0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext2 OPTIONAL
+}
+
+RadioBearerSetup-r9-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ sr-vcc-Info SR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r8 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r8 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerSetup-v950ext-IEs::= SEQUENCE {
+ -- Physical channel IEs
+ secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
+}
+
+RadioBearerSetup-v9c0ext-IEs::= SEQUENCE {
+ -- For 1.28Mcps TDD only
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-TDD128-v9c0ext OPTIONAL
+}
+
+RadioBearerSetup-r10-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ sr-vcc-Info SR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r8 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r8 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerSetup-vb50ext-IEs ::= SEQUENCE {
+ ulOLTDInfoFDD UL-OLTD-InfoFDD OPTIONAL
+}
+
+RadioBearerSetup-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ sr-vcc-Info SR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r11 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r11 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerSetup-r12-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ sr-vcc-Info SR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r12 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r12 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ non-rectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ non-rectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerSetup-r13-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ sr-vcc-Info SR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Retrievable configuration
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ non-rectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ non-rectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+RadioBearerSetup-LaterCriticalExtensions-r15-IEs ::= SEQUENCE {
+ r15 SEQUENCE {
+ radioBearerSetup-r15 RadioBearerSetup-r15-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-16
+ radioBearerSetup-r15-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+}
+
+RadioBearerSetup-r15-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ sr-vcc-Info SR-VCC-Info OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ accessGroupIdentity AccessGroupIdentity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationSetupList RAB-InformationSetupList-r11 OPTIONAL,
+ rab-InformationReconfigList RAB-InformationReconfigList-r8 OPTIONAL,
+ rb-InformationReconfigList RB-InformationReconfigList-r11 OPTIONAL,
+ rb-InformationAffectedList RB-InformationAffectedList-r8 OPTIONAL,
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-deletedTransChInfoList UL-DeletedTransChInfoList-r6 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-DeletedTransChInfoList DL-DeletedTransChInfoList-r7 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Retrievable configuration
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ non-rectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ non-rectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ simplified-HS-SCCH-type1-operation ENUMERATED { true } OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RADIO BEARER SETUP COMPLETE
+--
+-- ***************************************************
+
+RadioBearerSetupComplete ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ ul-IntegProtActivationInfo IntegrityProtActivationInfo OPTIONAL,
+ -- TABULAR: UL-TimingAdvance is applicable for TDD mode only.
+ ul-TimingAdvance UL-TimingAdvance OPTIONAL,
+ start-Value START-Value OPTIONAL,
+ -- Radio bearer IEs
+ count-C-ActivationTime ActivationTime OPTIONAL,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy RB-ActivationTimeInfoList OPTIONAL,
+ ul-CounterSynchronisationInfo UL-CounterSynchronisationInfo OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ radioBearerSetupComplete-r3-add-ext BIT STRING OPTIONAL,
+ v770NonCriticalExtensions SEQUENCE {
+ radioBearerSetupComplete-v770ext
+ RadioBearerSetupComplete-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+RadioBearerSetupComplete-v770ext-IEs ::= SEQUENCE {
+ -- TABULAR: EXT-UL-TimingAdvance is applicable for TDD mode only.
+ ext-UL-TimingAdvance EXT-UL-TimingAdvance OPTIONAL,
+ deferredMeasurementControlReading ENUMERATED { true } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RADIO BEARER SETUP FAILURE
+--
+-- ***************************************************
+
+RadioBearerSetupFailure ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr,
+ -- Radio bearer IEs
+ potentiallySuccesfulBearerList RB-IdentityList OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ radioBearerSetupFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RRC CONNECTION REJECT
+--
+-- ***************************************************
+
+RRCConnectionReject ::= CHOICE {
+ r3 SEQUENCE {
+ rrcConnectionReject-r3 RRCConnectionReject-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ rrcConnectionReject-r3-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionReject-v690ext RRCConnectionReject-v690ext-IEs,
+ v6f0NonCriticalExtensions SEQUENCE {
+ rrcConnectionReject-v6f0ext RRCConnectionReject-v6f0ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ rrcConnectionReject-v860ext RRCConnectionReject-v860ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ rrcConnectionReject-va40ext RRCConnectionReject-va40ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ rrcConnectionReject-vb50ext RRCConnectionReject-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ initialUE-Identity InitialUE-Identity,
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+RRCConnectionReject-r3-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ -- User equipment IEs
+ initialUE-Identity InitialUE-Identity,
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ rejectionCause RejectionCause,
+ waitTime WaitTime,
+ redirectionInfo RedirectionInfo OPTIONAL
+}
+
+RRCConnectionReject-v690ext-IEs ::= SEQUENCE {
+ redirectionInfo-v690ext GSM-TargetCellInfoList OPTIONAL
+}
+
+RRCConnectionReject-v6f0ext-IEs ::= SEQUENCE {
+ countingCompletion ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionReject-v860ext-IEs ::= SEQUENCE {
+ redirectionInfo RedirectionInfo-v860ext OPTIONAL
+}
+
+RRCConnectionReject-va40ext-IEs ::= SEQUENCE {
+ extendedWaitTime ExtendedWaitTime OPTIONAL
+}
+
+RRCConnectionReject-vb50ext-IEs ::= SEQUENCE {
+ eutra-TargetFreqInfoList EUTRA-TargetFreqInfoList-vb50ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RRC CONNECTION RELEASE
+--
+-- ***************************************************
+
+RRCConnectionRelease ::= CHOICE {
+ r3 SEQUENCE {
+ rrcConnectionRelease-r3 RRCConnectionRelease-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ rrcConnectionRelease-r3-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v690ext RRCConnectionRelease-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v770ext RRCConnectionRelease-v770ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v860ext RRCConnectionRelease-v860ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-va40ext RRCConnectionRelease-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ rrcConnectionRelease-r4 RRCConnectionRelease-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-6
+ rrcConnectionRelease-r4-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v690ext RRCConnectionRelease-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v770ext RRCConnectionRelease-v770ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v860ext RRCConnectionRelease-v860ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-va40ext
+ RRCConnectionRelease-va40ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-vb50ext
+ RRCConnectionRelease-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+}
+
+RRCConnectionRelease-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- n-308 is conditional on the UE state
+ n-308 N-308 OPTIONAL,
+ releaseCause ReleaseCause,
+ rplmn-information Rplmn-Information OPTIONAL
+}
+
+RRCConnectionRelease-r4-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ -- n-308 is conditional on the UE state.
+ n-308 N-308 OPTIONAL,
+ releaseCause ReleaseCause,
+ rplmn-information Rplmn-Information-r4 OPTIONAL
+}
+
+RRCConnectionRelease-v690ext-IEs ::= SEQUENCE {
+ redirectionInfo-v690ext RedirectionInfo-r6 OPTIONAL
+}
+
+RRCConnectionRelease-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL
+}
+
+RRCConnectionRelease-v860ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ redirectionInfo RedirectionInfo-v860ext OPTIONAL
+}
+
+RRCConnectionRelease-va40ext-IEs ::= SEQUENCE {
+ extendedWaitTime ExtendedWaitTime OPTIONAL
+}
+
+RRCConnectionRelease-vb50ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ eutra-TargetFreqInfoList EUTRA-TargetFreqInfoList-vb50ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RRC CONNECTION RELEASE for CCCH
+--
+-- ***************************************************
+
+RRCConnectionRelease-CCCH ::= CHOICE {
+ r3 SEQUENCE {
+ rrcConnectionRelease-CCCH-r3 RRCConnectionRelease-CCCH-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ rrcConnectionRelease-CCCH-r3-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v690ext RRCConnectionRelease-CCCH-v690ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v860ext RRCConnectionRelease-CCCH-v860ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-va40ext RRCConnectionRelease-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ u-RNTI U-RNTI,
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ rrcConnectionRelease-CCCH-r4 RRCConnectionRelease-CCCH-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ rrcConnectionRelease-CCCH-r4-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v690ext RRCConnectionRelease-CCCH-v690ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v860ext RRCConnectionRelease-CCCH-v860ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-va40ext
+ RRCConnectionRelease-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions SEQUENCE {
+ -- TABULAR: CHOICE IdentityType (U-RNTI, GroupIdentity) is replaced with the
+ -- optional element groupIdentity, since the U-RNTI is mandatory in ASN.1.
+ -- In case CHOICE IdentityType is equal to GroupIdentity the value of the U-RNTI
+ -- shall be ignored by a UE complying with this version of the message.
+ groupIdentity SEQUENCE ( SIZE (1 .. maxURNTI-Group) ) OF
+ GroupReleaseInformation OPTIONAL,
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ rrcConnectionRelease-CCCH-r5 RRCConnectionRelease-CCCH-r5-IEs,
+ -- Container for adding non critical extensions after freezing REL-6
+ rrcConnectionRelease-CCCH-r5-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v690ext RRCConnectionRelease-CCCH-v690ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-v860ext
+ RRCConnectionRelease-CCCH-v860ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-va40ext
+ RRCConnectionRelease-va40ext-IEs,
+ vd20NonCriticalExtensions SEQUENCE {
+ rrcConnectionRelease-vd20ext
+ RRCConnectionRelease-CCCH-vd20ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+ }
+ }
+}
+
+RRCConnectionRelease-CCCH-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ -- The rest of the message is identical to the one sent on DCCH.
+ rrcConnectionRelease RRCConnectionRelease-r3-IEs
+}
+
+RRCConnectionRelease-CCCH-r4-IEs ::= SEQUENCE {
+ -- The rest of the message is identical to the one sent on DCCH.
+ rrcConnectionRelease RRCConnectionRelease-r4-IEs
+}
+
+-- The R5 and R4 sequence of IEs are identical in this message
+RRCConnectionRelease-CCCH-r5-IEs ::= RRCConnectionRelease-CCCH-r4-IEs
+
+-- The R6 non-critical extension is identical to the one sent on DCCH.
+RRCConnectionRelease-CCCH-v690ext-IEs ::= RRCConnectionRelease-v690ext-IEs
+
+-- The R8 non-critical extension is identical to the one sent on DCCH.
+RRCConnectionRelease-CCCH-v860ext-IEs ::= RRCConnectionRelease-v860ext-IEs
+
+-- The R10 non-critical extension is identical to the one sent on DCCH.
+RRCConnectionRelease-CCCH-va40ext-IEs ::= RRCConnectionRelease-va40ext-IEs
+
+-- The R11 non-critical extension is identical to the one sent on DCCH.
+RRCConnectionRelease-CCCH-vd20ext-IEs ::= RRCConnectionRelease-vb50ext-IEs
+
+-- ***************************************************
+--
+-- RRC CONNECTION RELEASE COMPLETE
+--
+-- ***************************************************
+
+RRCConnectionReleaseComplete ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ errorIndication FailureCauseWithProtErr OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ rrcConnectionReleaseComplete-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RRC CONNECTION REQUEST
+--
+-- ***************************************************
+
+RRCConnectionRequest ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ -- User equipment IEs
+ initialUE-Identity InitialUE-Identity,
+ establishmentCause EstablishmentCause,
+ -- protocolErrorIndicator is MD, but for compactness reasons no default value
+ -- has been assigned to it.
+ protocolErrorIndicator ProtocolErrorIndicator,
+ -- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACH OPTIONAL,
+ -- Non critical Extensions
+ v3d0NonCriticalExtensions SEQUENCE {
+ rRCConnectionRequest-v3d0ext RRCConnectionRequest-v3d0ext-IEs,
+ -- Reserved for future non critical extension
+ v4b0NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v4b0ext RRCConnectionRequest-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v590ext RRCConnectionRequest-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v690ext RRCConnectionRequest-v690ext-IEs,
+ -- Reserved for future non critical extension
+ v6b0NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v6b0ext RRCConnectionRequest-v6b0ext-IEs,
+ v6e0NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v6e0ext RRCConnectionRequest-v6e0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v770ext
+ RRCConnectionRequest-v770ext-IEs,
+ v7b0NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v7b0ext
+ RRCConnectionRequest-v7b0ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v860ext
+ RRCConnectionRequest-v860ext-IEs,
+ v7e0NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v7e0ext
+ RRCConnectionRequest-v7e0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v7g0ext
+ RRCConnectionRequest-v7g0ext-IEs,
+ v920NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v920ext
+ RRCConnectionRequest-v920ext-IEs,
+ v940NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v940ext
+ RRCConnectionRequest-v940ext-IEs,
+ va40NonCriticalExtensions
+ RRCConnectionRequest-NonCriticalExts-va40-IEs
+ OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+RRCConnectionRequest-v3d0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ uESpecificBehaviourInformation1idle UESpecificBehaviourInformation1idle OPTIONAL
+}
+
+RRCConnectionRequest-v4b0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ accessStratumReleaseIndicator AccessStratumReleaseIndicator
+}
+
+RRCConnectionRequest-v590ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ predefinedConfigStatusInfo BOOLEAN
+}
+
+RRCConnectionRequest-v690ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ueCapabilityIndication ENUMERATED { hsdch, hsdch-edch } OPTIONAL,
+ -- Measurement IEs
+ measuredResultsOnRACHinterFreq MeasuredResultsOnRACHinterFreq OPTIONAL,
+ domainIndicator CHOICE {
+ cs-domain SEQUENCE {
+ csCallType ENUMERATED {speech, video, other, spare }
+ },
+ ps-domain NULL
+ }
+}
+
+RRCConnectionRequest-v6b0ext-IEs ::= SEQUENCE {
+ -- MBMS IEs
+ mbmsSelectedServices MBMS-SelectedServicesShort OPTIONAL
+}
+
+RRCConnectionRequest-v6e0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForFDPCH ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionRequest-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ hspdschReception-CellFach ENUMERATED { true } OPTIONAL,
+ mac-ehsSupport ENUMERATED { true } OPTIONAL,
+ discontinuousDpcchTransmission ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionRequest-v7b0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForE-FDPCH ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionRequest-v7e0ext-IEs ::= SEQUENCE {
+ supportForCSVoiceoverHSPA ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionRequest-v7g0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACH-v7g0ext MeasuredResultsOnRACH-v7g0ext OPTIONAL
+}
+
+RRCConnectionRequest-v860ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportOfCommonEDCH ENUMERATED { true } OPTIONAL,
+ multiCellSupport ENUMERATED { true } OPTIONAL,
+ pre-redirectionInfo Pre-RedirectionInfo OPTIONAL,
+ supportOfMACiis ENUMERATED { true } OPTIONAL,
+ supportOfSPSOperation ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionRequest-v920ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportOfDualCellMIMO ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionRequest-v940ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ systemInformationContainerStoredIndicator ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionRequest-v9b0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ cSFBIndication ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionRequest-NonCriticalExts-va40-IEs ::= SEQUENCE {
+ rrcConnectionRequest-va40ext RRCConnectionRequest-va40ext-IEs,
+ v9b0NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-v9b0ext RRCConnectionRequest-v9b0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-vb50ext RRCConnectionRequest-vb50ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ rrcConnectionRequest-vc50ext RRCConnectionRequest-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+RRCConnectionRequest-va40ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ -- For 1.28 Mcps TDD, IE â€supportOfMoreThanTwoCellsOrMIMO4x4†represent MU-MIMO capability,
+ -- higherRate indicates uplink and downlink MU-MIMO, lowerRate indicates uplink MU-MIMO
+ supportOfMoreThanTwoCellsOrMIMO4x4 ENUMERATED { higherRate, lowerRate } OPTIONAL,
+ supportOf1stFrequencyBand ENUMERATED { true } OPTIONAL,
+ supportOf2ndFrequencyBand ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionRequest-vb50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACHEUTRAFreq MeasuredResultsOnRACH-EUTRAFreq OPTIONAL
+}
+
+RRCConnectionRequest-vc50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACH-vc50ext OPTIONAL
+}
+-- ***************************************************
+--
+-- RRC CONNECTION SETUP
+--
+-- ***************************************************
+
+RRCConnectionSetup ::= CHOICE {
+ r3 SEQUENCE {
+ rrcConnectionSetup-r3 RRCConnectionSetup-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ rrcConnectionSetup-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v4b0ext RRCConnectionSetup-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v590ext RRCConnectionSetup-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v690ext RRCConnectionSetup-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ initialUE-Identity InitialUE-Identity,
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ rrcConnectionSetup-r4 RRCConnectionSetup-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ rrcConnectionSetup-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v590ext RRCConnectionSetup-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v690ext RRCConnectionSetup-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ rrcConnectionSetup-r5 RRCConnectionSetup-r5-IEs,
+ -- Container for adding non critical extensions after freezing REL-6
+ rrcConnectionSetup-r5-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v690ext RRCConnectionSetup-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ rrcConnectionSetup-r6 RRCConnectionSetup-r6-IEs,
+ -- Container for adding non critical extensions after freezing REL-7
+ rrcConnectionSetup-r6-add-ext BIT STRING OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v6b0ext RRCConnectionSetup-v6b0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ rrcConnectionSetup-r7 RRCConnectionSetup-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-8
+ rrcConnectionSetup-r7-add-ext BIT STRING OPTIONAL,
+ v780NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v780ext RRCConnectionSetup-v780ext-IEs,
+ v7d0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v7d0ext RRCConnectionSetup-v7d0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ rrcConnectionSetup-r8 RRCConnectionSetup-r8-IEs,
+ -- Container for adding non critical extensions after freezing REL-9
+ rrcConnectionSetup-r8-add-ext BIT STRING OPTIONAL,
+ v7d0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v7d0ext RRCConnectionSetup-v7d0ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v890ext
+ RRCConnectionSetup-v890ext-IEs,
+ v8a0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v8a0ext
+ RRCConnectionSetup-v8a0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ rrcConnectionSetup-r9 RRCConnectionSetup-r9-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-10
+ rrcConnectionSetup-r9-add-ext
+ BIT STRING OPTIONAL,
+ v950NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-v950ext RRCConnectionSetup-v950ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ rrcConnectionSetup-r10 RRCConnectionSetup-r10-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-11
+ rrcConnectionSetup-r10-add-ext
+ BIT STRING OPTIONAL,
+ vaj0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-vaj0ext RRCConnectionSetup-vaj0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ rrcConnectionSetup-r11
+ RRCConnectionSetup-r11-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-12
+ rrcConnectionSetup-r11-add-ext
+ BIT STRING OPTIONAL,
+ vaj0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetup-vaj0ext RRCConnectionSetup-vaj0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ rrcConnectionSetup-r12
+ RRCConnectionSetup-r12-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-13
+ rrcConnectionSetup-r12-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+RRCConnectionSetup-r3-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ -- User equipment IEs
+ initialUE-Identity InitialUE-Identity,
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo OPTIONAL,
+ -- NOTE: ul-AddReconfTransChInfoList should be optional in later versions of
+ -- this message
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList,
+ dl-CommonTransChInfo DL-CommonTransChInfo OPTIONAL,
+ -- NOTE: dl-AddReconfTransChInfoList should be optional in later versions
+ -- of this message
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement OPTIONAL,
+ dl-CommonInformation DL-CommonInformation OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List OPTIONAL
+}
+
+RRCConnectionSetup-v4b0ext-IEs ::= SEQUENCE {
+ capabilityUpdateRequirement-r4-ext CapabilityUpdateRequirement-r4-ext OPTIONAL,
+ -- Physical channel IEs
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-UL OPTIONAL,
+ -- The order of the RLs in IE cell-id-PerRL-List is the same as
+ -- in IE DL-InformationPerRL-List included in this message
+ cell-id-PerRL-List CellIdentity-PerRL-List OPTIONAL
+}
+
+RRCConnectionSetup-v590ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ systemSpecificCapUpdateReq SystemSpecificCapUpdateReq-v590ext OPTIONAL,
+ -- Physical channel IEs
+ dl-TPC-PowerOffsetPerRL-List DL-TPC-PowerOffsetPerRL-List OPTIONAL
+}
+
+RRCConnectionSetup-r4-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement-r4 OPTIONAL,
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r4 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r4 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r4 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r4 OPTIONAL
+}
+
+RRCConnectionSetup-r5-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement-r5 OPTIONAL,
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r4 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r5
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r4 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r4 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r5bis OPTIONAL
+}
+
+RRCConnectionSetup-v690ext-IEs ::= SEQUENCE {
+ -- Physical Channel IEs
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionSetup-r6-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement-r5 OPTIONAL,
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2-r6,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r6 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r6 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r6 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r6 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r6 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r6 OPTIONAL
+}
+
+RRCConnectionSetup-v6b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-InformationPerRL-List-v6b0ext DL-InformationPerRL-List-v6b0ext OPTIONAL
+}
+
+RRCConnectionSetup-r7-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement-r7 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ -- Specification mode information
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2-r7,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r7 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r7 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r7 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r7 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7 OPTIONAL
+}
+
+RRCConnectionSetup-v780ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+}
+
+RRCConnectionSetup-v7d0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ul-EDCH-Information UL-EDCH-Information-ext OPTIONAL
+}
+
+RRCConnectionSetup-r8-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement-r8 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2-r8,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r8 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL
+}
+
+RRCConnectionSetup-v890ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-SecondaryCellInfoFDD-v890ext DL-SecondaryCellInfoFDD-v890ext OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext OPTIONAL
+}
+
+RRCConnectionSetup-v8a0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext2 OPTIONAL
+}
+
+RRCConnectionSetup-r9-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement-r8 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received UE behaviour is unspecified.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2-r8,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL
+}
+
+RRCConnectionSetup-v950ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
+}
+
+RRCConnectionSetup-r10-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement-r8 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received UE behaviour is unspecified.
+ dummy DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2-r8,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL
+}
+
+RRCConnectionSetup-vaj0ext-IEs ::= SEQUENCE {
+ capabilityUpdateRequirement CapabilityUpdateRequirement-vaj0ext OPTIONAL
+}
+
+RRCConnectionSetup-r11-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement-r8 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ -- Specification mode information
+ defaultConfigForCellFACH DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2-r8,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL
+}
+
+RRCConnectionSetup-r12-IEs ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI,
+ new-c-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7,
+ -- TABULAR: If capabilityUpdateRequirement is not present, the default value
+ -- defined in 10.3.3.2 shall be used.
+ capabilityUpdateRequirement CapabilityUpdateRequirement-r12 OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN,
+ -- Specification mode information
+ defaultConfigForCellFACH DefaultConfigForCellFACH OPTIONAL,
+ specificationMode CHOICE {
+ complete SEQUENCE {
+ -- Radio bearer IEs
+ srb-InformationSetupList SRB-InformationSetupList2-r8,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL
+ },
+ preconfiguration SEQUENCE {
+ -- All IEs that include an FDD/TDD choice are split in two IEs for this message,
+ -- one for the FDD only elements and one for the TDD only elements, so that one
+ -- FDD/TDD choice in this level is sufficient.
+ preConfigMode CHOICE {
+ predefinedConfigIdentity PredefinedConfigIdentity,
+ defaultConfig SEQUENCE {
+ defaultConfigMode DefaultConfigMode,
+ defaultConfigIdentity DefaultConfigIdentity-r6
+ }
+ }
+ }
+ },
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ non-rectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ non-rectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RRC CONNECTION SETUP COMPLETE
+--
+-- ***************************************************
+
+RRCConnectionSetupComplete ::= SEQUENCE {
+ -- TABULAR: Integrity protection shall not be performed on this message.
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ startList STARTList,
+ ue-RadioAccessCapability UE-RadioAccessCapability OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList OPTIONAL,
+ -- Non critical extensions
+ v370NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v370ext RRCConnectionSetupComplete-v370ext,
+ v380NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v380ext RRCConnectionSetupComplete-v380ext-IEs,
+ -- Reserved for future non critical extension
+ v3a0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v3a0ext RRCConnectionSetupComplete-v3a0ext-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ rrcConnectionSetupComplete-r3-add-ext BIT STRING
+ (CONTAINING RRCConnectionSetupComplete-r3-add-ext-IEs) OPTIONAL,
+ v3g0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v3g0ext RRCConnectionSetupComplete-v3g0ext-IEs,
+ v4b0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v4b0ext
+ RRCConnectionSetupComplete-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v590ext
+ RRCConnectionSetupComplete-v590ext-IEs,
+ v5c0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v5c0ext
+ RRCConnectionSetupComplete-v5c0ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v690ext
+ RRCConnectionSetupComplete-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ rrcConectionSetupComplete-v770ext
+ RRCConnectionSetupComplete-v770ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ rrcConectionSetupComplete-va40ext
+ RRCConnectionSetupComplete-va40ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-vb50ext
+ RRCConnectionSetupComplete-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+RRCConnectionSetupComplete-v370ext ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v370ext UE-RadioAccessCapability-v370ext OPTIONAL
+}
+
+RRCConnectionSetupComplete-v380ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v380ext UE-RadioAccessCapability-v380ext OPTIONAL,
+ dl-PhysChCapabilityFDD-v380ext DL-PhysChCapabilityFDD-v380ext
+}
+
+RRCConnectionSetupComplete-v3a0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v3a0ext UE-RadioAccessCapability-v3a0ext OPTIONAL
+}
+
+RRCConnectionSetupComplete-v3g0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v3g0ext UE-RadioAccessCapability-v3g0ext OPTIONAL
+}
+
+RRCConnectionSetupComplete-r3-add-ext-IEs ::= SEQUENCE {
+ rrcConnectionSetupComplete-v650ext RRCConnectionSetupComplete-v650ext-IEs OPTIONAL,
+ v680NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v680ext RRCConnectionSetupComplete-v680ext-IEs,
+ v7e0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v7e0ext RRCConnectionSetupComplete-v7e0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupComplete-v7f0ext
+ RRCConnectionSetupComplete-v7f0ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ rrcConnectionSetupCompleteBand-va40ext
+ RRCConnectionSetupCompleteBand-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+RRCConnectionSetupComplete-v4b0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v4b0ext UE-RadioAccessCapability-v4b0ext OPTIONAL
+}
+
+RRCConnectionSetupComplete-v590ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v590ext UE-RadioAccessCapability-v590ext OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability-v590ext InterRAT-UE-RadioAccessCapability-v590ext OPTIONAL
+}
+
+RRCConnectionSetupComplete-v5c0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v5c0ext UE-RadioAccessCapability-v5c0ext OPTIONAL
+}
+
+RRCConnectionSetupComplete-v650ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v650ext UE-RadioAccessCapability-v650ext
+}
+
+RRCConnectionSetupComplete-v680ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v680ext UE-RadioAccessCapability-v680ext
+}
+
+RRCConnectionSetupComplete-v690ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL
+}
+
+RRCConnectionSetupComplete-v770ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ deferredMeasurementControlReading ENUMERATED { true } OPTIONAL
+}
+
+RRCConnectionSetupComplete-v7e0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability UE-RadioAccessCapability-v7e0ext
+}
+
+RRCConnectionSetupComplete-v7f0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability UE-RadioAccessCapability-v7f0ext OPTIONAL
+}
+
+RRCConnectionSetupComplete-va40ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ loggedMeasAvailable ENUMERATED { true } OPTIONAL,
+ loggedANRResultsAvailable ENUMERATED { true } OPTIONAL}
+
+RRCConnectionSetupCompleteBand-va40ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapabBand UE-RadioAccessCapabBand-va40ext OPTIONAL
+}
+
+RRCConnectionSetupComplete-vb50ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ connEstFailInfoAvailable ENUMERATED { true } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- RRC FAILURE INFO
+--
+-- ***************************************************
+
+RRC-FailureInfo ::= CHOICE {
+ r3 SEQUENCE {
+ rRC-FailureInfo-r3 RRC-FailureInfo-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ rrc-FailureInfo-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+}
+
+RRC-FailureInfo-r3-IEs ::= SEQUENCE {
+ -- Non-RRC IEs
+ failureCauseWithProtErr FailureCauseWithProtErr
+}
+
+-- ***************************************************
+--
+-- RRC STATUS
+--
+-- ***************************************************
+
+RRCStatus ::= SEQUENCE {
+ -- Other IEs
+ -- TABULAR: Identification of received message is nested in
+ -- ProtocolErrorMoreInformation
+ protocolErrorInformation ProtocolErrorMoreInformation,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ rrcStatus-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- SECURITY MODE COMMAND
+--
+-- ***************************************************
+
+SecurityModeCommand ::= CHOICE {
+ r3 SEQUENCE {
+ securityModeCommand-r3 SecurityModeCommand-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ securityModeCommand-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r7 SEQUENCE{
+ securityModeCommand-r7 SecurityModeCommand-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-8
+ securityModeCommand-r7-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+}
+
+SecurityModeCommand-r3-IEs ::= SEQUENCE {
+-- TABULAR: Integrity protection shall always be performed on this message.
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ securityCapability SecurityCapability,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ -- Core network IEs
+ cn-DomainIdentity CN-DomainIdentity,
+ -- Other IEs
+ ue-SystemSpecificSecurityCap InterRAT-UE-SecurityCapList OPTIONAL
+}
+
+SecurityModeCommand-r7-IEs ::= SEQUENCE {
+-- TABULAR: Integrity protection shall always be performed on this message.
+ -- User equipment IEs
+ securityCapability SecurityCapability,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ -- Core network IEs
+ cn-DomainIdentity CN-DomainIdentity,
+ -- Other IEs
+ ue-SystemSpecificSecurityCap InterRAT-UE-SecurityCapList OPTIONAL
+}
+
+-- ***************************************************
+--
+-- SECURITY MODE COMPLETE
+--
+-- ***************************************************
+
+SecurityModeComplete ::= SEQUENCE {
+-- TABULAR: Integrity protection shall always be performed on this message.
+
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ ul-IntegProtActivationInfo IntegrityProtActivationInfo OPTIONAL,
+ -- Radio bearer IEs
+ rb-UL-CiphActivationTimeInfo RB-ActivationTimeInfoList OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ securityModeComplete-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- SECURITY MODE FAILURE
+--
+-- ***************************************************
+
+SecurityModeFailure ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ securityModeFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- SIGNALLING CONNECTION RELEASE
+--
+-- ***************************************************
+
+SignallingConnectionRelease ::= CHOICE {
+ r3 SEQUENCE {
+ signallingConnectionRelease-r3 SignallingConnectionRelease-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ signallingConnectionRelease-r3-add-ext BIT STRING OPTIONAL,
+ va40NonCriticalExtensions SEQUENCE {
+ signallingConnectionRelease-va40ext SignallingConnectionRelease-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+SignallingConnectionRelease-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- Core network IEs
+ cn-DomainIdentity CN-DomainIdentity
+}
+
+SignallingConnectionRelease-va40ext-IEs ::= SEQUENCE {
+ extendedWaitTime ExtendedWaitTime OPTIONAL
+}
+
+-- ***************************************************
+--
+-- SIGNALLING CONNECTION RELEASE INDICATION
+--
+-- ***************************************************
+
+SignallingConnectionReleaseIndication ::= SEQUENCE {
+ -- Core network IEs
+ cn-DomainIdentity CN-DomainIdentity,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ signallingConnectionReleaseIndication-r3-add-ext BIT STRING OPTIONAL,
+ v860nonCriticalExtentions SEQUENCE {
+ signallingConnectionReleaseIndication-v860ext
+ SignallingConnectionReleaseIndication-v860ext,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SignallingConnectionReleaseIndication-v860ext ::= SEQUENCE {
+ signallingConnectionReleaseIndicationCause
+ ENUMERATED { uERequestedPSDataSessionEnd, anyOtherCause }
+}
+
+-- ***************************************************
+--
+-- SYSTEM INFORMATION for BCH
+--
+-- ***************************************************
+
+SystemInformation-BCH ::= SEQUENCE {
+ -- Other information elements
+ sfn-Prime SFN-Prime,
+ payload CHOICE {
+ noSegment NULL,
+ firstSegment FirstSegment,
+ subsequentSegment SubsequentSegment,
+ lastSegmentShort LastSegmentShort,
+ lastAndFirst SEQUENCE {
+ lastSegmentShort LastSegmentShort,
+ firstSegment FirstSegmentShort
+ },
+ lastAndComplete SEQUENCE {
+ lastSegmentShort LastSegmentShort,
+ completeSIB-List CompleteSIB-List
+ },
+ lastAndCompleteAndFirst SEQUENCE {
+ lastSegmentShort LastSegmentShort,
+ completeSIB-List CompleteSIB-List,
+ firstSegment FirstSegmentShort
+ },
+ completeSIB-List CompleteSIB-List,
+ completeAndFirst SEQUENCE {
+ completeSIB-List CompleteSIB-List,
+ firstSegment FirstSegmentShort
+ },
+ completeSIB CompleteSIB,
+ lastSegment LastSegment,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+ }
+}
+
+-- ***************************************************
+--
+-- SYSTEM INFORMATION2 for BCH
+--
+-- ***************************************************
+
+SystemInformation2-BCH ::= SEQUENCE {
+ segmentCombination CHOICE {
+ combination2 FirstSegment2,
+ combination3 SubsequentSegment2,
+ combination4 LastSegmentShort2,
+ combination5 SEQUENCE {
+ lastSegmentShort LastSegmentShort2,
+ firstSegmentShort FirstSegmentShort2
+ },
+ combination6 SEQUENCE {
+ lastSegmentShort LastSegmentShort2,
+ completeSIB-List CompleteSIB2-List
+ },
+ combination7 SEQUENCE {
+ lastSegmentShort LastSegmentShort2,
+ completeSIB-List CompleteSIB2-List,
+ firstSegment FirstSegmentShort2
+ },
+ combination8 CompleteSIB2-List,
+ combination9 SEQUENCE {
+ completeSIB-List CompleteSIB2-List,
+ firstSegment FirstSegmentShort2
+ },
+ combination10 CompleteSIB2,
+ combination11 LastSegment2,
+ spare6 NULL,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+ }
+}
+
+-- ***************************************************
+--
+-- SYSTEM INFORMATION for FACH
+--
+-- ***************************************************
+
+-- this IE is not used in this version of the specification.
+SystemInformation-FACH ::= SEQUENCE {
+ -- Other information elements
+ payload CHOICE {
+ noSegment NULL,
+ firstSegment FirstSegment,
+ subsequentSegment SubsequentSegment,
+ lastSegmentShort LastSegmentShort,
+ lastAndFirst SEQUENCE {
+ lastSegmentShort LastSegmentShort,
+ firstSegment FirstSegmentShort
+ },
+ lastAndComplete SEQUENCE {
+ lastSegmentShort LastSegmentShort,
+ completeSIB-List CompleteSIB-List
+ },
+ lastAndCompleteAndFirst SEQUENCE {
+ lastSegmentShort LastSegmentShort,
+ completeSIB-List CompleteSIB-List,
+ firstSegment FirstSegmentShort
+ },
+ completeSIB-List CompleteSIB-List,
+ completeAndFirst SEQUENCE {
+ completeSIB-List CompleteSIB-List,
+ firstSegment FirstSegmentShort
+ },
+ completeSIB CompleteSIB,
+ lastSegment LastSegment,
+ spare5 NULL,
+ spare4 NULL,
+ spare3 NULL,
+ spare2 NULL,
+ spare1 NULL
+ }
+}
+
+-- ***************************************************
+--
+-- First segment
+--
+-- ***************************************************
+
+FirstSegment ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type,
+ seg-Count SegCount,
+ sib-Data-fixed SIB-Data-fixed
+}
+
+FirstSegment2 ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type2,
+ seg-Count SegCount,
+ sib-Data-fixed SIB-Data2-fixed
+}
+
+-- ***************************************************
+--
+-- First segment (short)
+--
+-- ***************************************************
+
+FirstSegmentShort ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type,
+ seg-Count SegCount,
+ sib-Data-variable SIB-Data-variable
+}
+
+FirstSegmentShort2 ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type2,
+ seg-Count SegCount,
+ sib-Data-variable SIB-Data2-variable
+}
+
+-- ***************************************************
+--
+-- Subsequent segment
+--
+-- ***************************************************
+
+SubsequentSegment ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type,
+ segmentIndex SegmentIndex,
+ sib-Data-fixed SIB-Data-fixed
+}
+
+SubsequentSegment2 ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type2,
+ segmentIndex SegmentIndex,
+ sib-Data-fixed SIB-Data2-fixed
+}
+
+-- ***************************************************
+--
+-- Last segment
+--
+-- ***************************************************
+
+LastSegment ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type,
+ segmentIndex SegmentIndex,
+ -- For sib-Data-fixed, in case the SIB data is less than 222 bits, padding
+ -- shall be used. The same padding bits shall be used as defined in clause 12.1
+ sib-Data-fixed SIB-Data-fixed
+}
+
+LastSegment2 ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type2,
+ segmentIndex SegmentIndex,
+ -- For sib-Data-fixed, in case the SIB data is less than 232 bits, padding
+ -- shall be used. The same padding bits shall be used as defined in clause 12.1
+ sib-Data-fixed SIB-Data2-fixed
+}
+
+LastSegmentShort ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type,
+ segmentIndex SegmentIndex,
+ sib-Data-variable SIB-Data-variable
+}
+
+LastSegmentShort2 ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type2,
+ segmentIndex SegmentIndex,
+ sib-Data-variable SIB-Data2-variable
+}
+
+-- ***************************************************
+--
+-- Complete SIB
+--
+-- ***************************************************
+
+CompleteSIB-List ::= SEQUENCE (SIZE (1..maxSIBperMsg)) OF
+ CompleteSIBshort
+
+CompleteSIB2-List ::= SEQUENCE (SIZE (1..maxSIBperMsg)) OF
+ CompleteSIBshort2
+
+CompleteSIB ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type,
+ -- For sib-Data-fixed, in case the SIB data is less than 226 bits, padding
+ -- shall be used. The same padding bits shall be used as defined in clause 12.1
+ sib-Data-fixed BIT STRING (SIZE (226))
+}
+
+CompleteSIB2 ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type2,
+ -- For sib-Data-fixed, in case the SIB data is less than 236 bits, padding
+ -- shall be used. The same padding bits shall be used as defined in clause 12.1
+ sib-Data-fixed BIT STRING (SIZE (236))
+}
+
+CompleteSIBshort ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type,
+ sib-Data-variable SIB-Data-variable
+}
+
+CompleteSIBshort2 ::= SEQUENCE {
+ -- Other information elements
+ sib-Type SIB-Type2,
+ sib-Data-variable SIB-Data2-variable
+}
+
+-- ***************************************************
+--
+-- SYSTEM INFORMATION CHANGE INDICATION
+--
+-- ***************************************************
+
+SystemInformationChangeIndication ::= SEQUENCE {
+ -- Other IEs
+ bcch-ModificationInfo BCCH-ModificationInfo,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ systemInformationChangeIndication-r3-add-ext BIT STRING OPTIONAL,
+ v860NonCriticalExtensions SEQUENCE {
+ systemInformationChangeIndication-v860ext
+ SystemInformationChangeIndication-v860ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ systemInformationChangeIndication-vc50ext
+ SystemInformationChangeIndication-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+SystemInformationChangeIndication-v860ext-IEs ::= SEQUENCE {
+ -- Other IEs
+ etws-Information ETWS-Information OPTIONAL
+}
+
+SystemInformationChangeIndication-vc50ext-IEs ::= SEQUENCE {
+ bcch-ModificationInfo-vc50ext BCCH-ModificationInfo-vc50ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- TRANSPORT CHANNEL RECONFIGURATION
+--
+-- ***************************************************
+
+TransportChannelReconfiguration ::= CHOICE {
+ r3 SEQUENCE {
+ transportChannelReconfiguration-r3
+ TransportChannelReconfiguration-r3-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v3a0ext
+ TransportChannelReconfiguration-v3a0ext,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ transportChannelReconfiguration-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v4b0ext
+ TransportChannelReconfiguration-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v590ext
+ TransportChannelReconfiguration-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v690ext
+ TransportChannelReconfiguration-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v770ext
+ TransportChannelReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ transportChannelReconfiguration-r4
+ TransportChannelReconfiguration-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ transportChannelReconfiguration-r4-add-ext BIT STRING OPTIONAL,
+ v590NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v590ext
+ TransportChannelReconfiguration-v590ext-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v690ext
+ TransportChannelReconfiguration-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v770ext
+ TransportChannelReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ transportChannelReconfiguration-r5
+ TransportChannelReconfiguration-r5-IEs,
+ -- Container for adding non critical extensions after freezing REL-6
+ transportChannelReconfiguration-r5-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v690ext
+ TransportChannelReconfiguration-v690ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v770ext
+ TransportChannelReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r6 SEQUENCE {
+ transportChannelReconfiguration-r6
+ TransportChannelReconfiguration-r6-IEs,
+ -- Container for adding non critical extensions after freezing REL-7
+ transportChannelReconfiguration-r6-add-ext BIT STRING OPTIONAL,
+ v6b0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v6b0ext
+ TransportChannelReconfiguration-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v770ext
+ TransportChannelReconfiguration-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ transportChannelReconfiguration-r7
+ TransportChannelReconfiguration-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-8
+ transportChannelReconfiguration-r7-add-ext BIT STRING OPTIONAL,
+ v780NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v780ext
+ TransportChannelReconfiguration-v780ext-IEs,
+ v7d0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v7d0ext
+ TransportChannelReconfiguration-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v7f0ext
+ TransportChannelReconfiguration-v7f0ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v7g0ext
+ TransportChannelReconfiguration-v7g0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r8 SEQUENCE {
+ transportChannelReconfiguration-r8
+ TransportChannelReconfiguration-r8-IEs,
+ -- Container for adding non critical extensions after freezing REL-9
+ transportChannelReconfiguration-r8-add-ext
+ BIT STRING OPTIONAL,
+ v7d0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v7d0ext
+ TransportChannelReconfiguration-v7d0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v7f0ext
+ TransportChannelReconfiguration-v7f0ext-IEs,
+ v890NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v890ext
+ TransportChannelReconfiguration-v890ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v7g0ext
+ TransportChannelReconfiguration-v7g0ext-IEs,
+ v8a0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v8a0ext
+ TransportChannelReconfiguration-v8a0ext-IEs,
+ nonCriticalExtensions
+ SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r9 SEQUENCE {
+ transportChannelReconfiguration-r9
+ TransportChannelReconfiguration-r9-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-10
+ transportChannelReconfiguration-r9-add-ext
+ BIT STRING OPTIONAL,
+ v950NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v950ext
+ TransportChannelReconfiguration-v950ext-IEs,
+ v9c0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v9c0ext
+ TransportChannelReconfiguration-v9c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ transportChannelReconfiguration-r10
+ TransportChannelReconfiguration-r10-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-11
+ transportChannelReconfiguration-r10-add-ext
+ BIT STRING OPTIONAL,
+ v9c0NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-v9c0ext
+ TransportChannelReconfiguration-v9c0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ transportChannelReconfiguration-vb50ext
+ TransportChannelReconfiguration-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ transportChannelReconfiguration-r11
+ TransportChannelReconfiguration-r11-IEs,
+ -- Container for adding non critical extensions after
+ -- freezing REL-12
+ transportChannelReconfiguration-r11-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ transportChannelReconfiguration-r12
+ TransportChannelReconfiguration-r12-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-13
+ transportChannelReconfiguration-r12-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ transportChannelReconfiguration-r13
+ TransportChannelReconfiguration-r13-IEs,
+ -- Container for adding non critical extensions
+ -- after freezing REL-14
+ transportChannelReconfiguration-r13-add-ext
+ BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+TransportChannelReconfiguration-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List OPTIONAL
+}
+
+TransportChannelReconfiguration-v3a0ext ::= SEQUENCE {
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL
+}
+
+TransportChannelReconfiguration-v4b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy SSDT-UL OPTIONAL,
+ -- The order of the RLs in IE cell-id-PerRL-List is the same as
+ -- in IE DL-InformationPerRL-List included in this message
+ cell-id-PerRL-List CellIdentity-PerRL-List OPTIONAL
+}
+
+TransportChannelReconfiguration-v590ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-TPC-PowerOffsetPerRL-List DL-TPC-PowerOffsetPerRL-List OPTIONAL
+}
+
+TransportChannelReconfiguration-r4-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r4 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r4 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-CommonInformation DL-CommonInformation-r4 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r4 OPTIONAL
+}
+
+TransportChannelReconfiguration-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode, and if received
+ -- the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList OPTIONAL,
+ -- 'dummy', 'dummy1' and 'dummy2' are not used in this version of the specification,
+ -- they should not be sent and if received they should be ignored.
+ dummy CHOICE {
+ fdd SEQUENCE {
+ dummy1 CPCH-SetID OPTIONAL,
+ dummy2 DRAC-StaticInformationList OPTIONAL
+ },
+ tdd NULL
+ } OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-ChannelRequirement UL-ChannelRequirement-r5 OPTIONAL,
+ modeSpecificPhysChInfo CHOICE {
+ fdd SEQUENCE {
+ -- dummy is not used in this version of specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DL-PDSCH-Information OPTIONAL
+ },
+ tdd NULL
+ },
+ dl-HSPDSCH-Information DL-HSPDSCH-Information OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r5 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r5 OPTIONAL
+}
+
+TransportChannelReconfiguration-v690ext-IEs ::= SEQUENCE {
+ -- User Equipment IEs
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ -- Core network IEs
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ -- Physical channel IEs
+ -- The IE harq-Preamble-Mode should not be used in the r3 and r4 versions of the message
+ -- If included in the r3 or r4 version of the message, the UE should ignore the IE
+ harq-Preamble-Mode HARQ-Preamble-Mode OPTIONAL,
+ beaconPLEst BEACON-PL-Est OPTIONAL,
+ postVerificationPeriod ENUMERATED { true } OPTIONAL,
+ dhs-sync DHS-Sync OPTIONAL,
+ timingMaintainedSynchInd TimingMaintainedSynchInd OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+TransportChannelReconfiguration-r6-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r6 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r5 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r6 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r6 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r6 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r6 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r6 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+TransportChannelReconfiguration-v6b0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-InformationPerRL-List-v6b0ext DL-InformationPerRL-List-v6b0ext OPTIONAL
+}
+
+TransportChannelReconfiguration-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r7 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r7 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r7 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r7 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r7 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r7 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+TransportChannelReconfiguration-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL
+}
+
+TransportChannelReconfiguration-v780ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ hs-DSCH-TBSizeTable HS-DSCH-TBSizeTable OPTIONAL
+}
+
+TransportChannelReconfiguration-v7d0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ul-EDCH-Information UL-EDCH-Information-ext OPTIONAL
+}
+
+TransportChannelReconfiguration-v7f0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7f0ext OPTIONAL
+}
+
+TransportChannelReconfiguration-v7g0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ mimoParameters MIMO-Parameters-v7g0ext OPTIONAL
+}
+
+TransportChannelReconfiguration-r8-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r7 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r8 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r8 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL
+}
+
+TransportChannelReconfiguration-v890ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-SecondaryCellInfoFDD-v890ext DL-SecondaryCellInfoFDD-v890ext OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext OPTIONAL
+}
+
+TransportChannelReconfiguration-v8a0ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r8-ext2 OPTIONAL
+}
+
+TransportChannelReconfiguration-r9-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r8 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+TransportChannelReconfiguration-v950ext-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
+}
+
+TransportChannelReconfiguration-v9c0ext-IEs ::= SEQUENCE {
+ -- For 1.28Mcps TDD only
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-TDD128-v9c0ext OPTIONAL
+}
+
+TransportChannelReconfiguration-r10-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r9 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r7 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r9 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r9 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r10 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r8 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r10 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+TransportChannelReconfiguration-vb50ext-IEs ::= SEQUENCE {
+ ulOLTDInfoFDD UL-OLTD-InfoFDD OPTIONAL
+}
+
+TransportChannelReconfiguration-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r4 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r7 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r11 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r11 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r11 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+TransportChannelReconfiguration-r12-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r11 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r12 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r12 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ non-rectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ non-rectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+TransportChannelReconfiguration-r13-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ activationTime ActivationTime OPTIONAL,
+ dynamicActivationTime DynamicActivationTime OPTIONAL,
+ delayRestrictionFlag DelayRestrictionFlag OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ -- The IE "new-DSCH-RNTI" should not be included in FDD mode,
+ -- and if received the UE behaviour is unspecified
+ new-DSCH-RNTI DSCH-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ newSecondary-E-RNTI E-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ ueMobilityStateIndicator High-MobilityDetected OPTIONAL,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- Core network IEs
+ cn-InformationInfo CN-InformationInfo-r6 OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ responseToChangeOfUE-Capability ENUMERATED { true } OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ retrievableConfigInfo RetrievableConfigInfo OPTIONAL,
+ -- Transport channel IEs
+ ul-CommonTransChInfo UL-CommonTransChInfo-r12 OPTIONAL,
+ ul-AddReconfTransChInfoList UL-AddReconfTransChInfoList-r8 OPTIONAL,
+ dl-CommonTransChInfo DL-CommonTransChInfo-r4 OPTIONAL,
+ dl-AddReconfTransChInfoList DL-AddReconfTransChInfoList-r13 OPTIONAL,
+ -- Physical channel IEs
+ frequencyInfo FrequencyInfo OPTIONAL,
+ multi-frequencyInfo Multi-frequencyInfo-LCR-r7 OPTIONAL,
+ dtx-drx-TimingInfo DTX-DRX-TimingInfo-r7 OPTIONAL,
+ dtx-drx-Info DTX-DRX-Info-r12 OPTIONAL,
+ hs-scch-LessInfo HS-SCCH-LessInfo-r7 OPTIONAL,
+ mimoParameters MIMO-Parameters-r9 OPTIONAL,
+ mimo4x4Parameters MIMO4x4-Parameters OPTIONAL,
+ dch-Enhancements-Info-FDD DCH-Enhancements-Info-FDD OPTIONAL,
+ maxAllowedUL-TX-Power MaxAllowedUL-TX-Power OPTIONAL,
+ ul-DPCH-Info UL-DPCH-Info-r11 OPTIONAL,
+ ul-EDCH-Information UL-EDCH-Information-r11 OPTIONAL,
+ ul-SecondaryCellInfoFDD UL-SecondaryCellInfoFDD-r13 OPTIONAL,
+ ul-MulticarrierEDCHInfo-TDD128 UL-MulticarrierEDCHInfo-TDD128 OPTIONAL,
+ ul-CLTD-InfoFDD UL-CLTD-InfoFDD OPTIONAL,
+ ul-OLTD-InfoFDD UL-OLTD-InfoFDD OPTIONAL,
+ ul-OtherTTIConfiguration-Info UL-OtherTTIConfiguration-Information OPTIONAL,
+ filteredUPHReportInfo FilteredUEPowerHeadroomReportInfo OPTIONAL,
+ dl-HSPDSCH-Information DL-HSPDSCH-Information-r12 OPTIONAL,
+ dl-CommonInformation DL-CommonInformation-r12 OPTIONAL,
+ dl-InformationPerRL-List DL-InformationPerRL-List-r13 OPTIONAL,
+ dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD AdditionalDLSecCellInfoListFDD-r11 OPTIONAL,
+ additionalDLSecCellInfoListFDD2 AdditionalDLSecCellInfoListFDD2 OPTIONAL,
+ commonERGCHInfoFDD CommonERGCHInfoFDD OPTIONAL,
+ dPCCH2InfoFDD DPCCH2InfoFDD OPTIONAL,
+ controlChannelDRXInfo-TDD128 ControlChannelDRXInfo-TDD128-r8 OPTIONAL,
+ sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL,
+ mu-MIMO-Info-TDD128 MU-MIMO-Info-TDD128 OPTIONAL,
+ non-rectResAllocInd-TDD128 Non-rectResAllocInd-TDD128 OPTIONAL,
+ non-rectResSpecTSset-TDD128 Non-rectResSpecTSset-TDD128 OPTIONAL,
+ -- MBMS IEs
+ mbms-PL-ServiceRestrictInfo MBMS-PL-ServiceRestrictInfo-r6 OPTIONAL,
+ -- Measurement IEs for LCR
+ cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
+}
+
+-- ***************************************************
+--
+-- TRANSPORT CHANNEL RECONFIGURATION COMPLETE
+--
+-- ***************************************************
+
+TransportChannelReconfigurationComplete ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ ul-IntegProtActivationInfo IntegrityProtActivationInfo OPTIONAL,
+ -- TABULAR: UL-TimingAdvance is applicable for TDD mode only.
+ ul-TimingAdvance UL-TimingAdvance OPTIONAL,
+ -- Radio bearer IEs
+ count-C-ActivationTime ActivationTime OPTIONAL,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy RB-ActivationTimeInfoList OPTIONAL,
+ ul-CounterSynchronisationInfo UL-CounterSynchronisationInfo OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ transportChannelReconfigurationComplete-r3-add-ext BIT STRING OPTIONAL,
+ v770NonCriticalExtensions SEQUENCE {
+ transportChannelReconfigurationComplete-v770ext
+ TransportChannelReconfigurationComplete-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+TransportChannelReconfigurationComplete-v770ext-IEs ::= SEQUENCE {
+ -- TABULAR: EXT-UL-TimingAdvance is applicable for TDD mode only.
+ ext-UL-TimingAdvance EXT-UL-TimingAdvance OPTIONAL,
+ deferredMeasurementControlReading ENUMERATED { true } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- TRANSPORT CHANNEL RECONFIGURATION FAILURE
+--
+-- ***************************************************
+
+TransportChannelReconfigurationFailure ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ transportChannelReconfigurationFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- *********************************************************
+--
+-- TRANSPORT FORMAT COMBINATION CONTROL in AM or UM RLC mode
+--
+-- *********************************************************
+
+TransportFormatCombinationControl ::= SEQUENCE {
+ -- rrc-TransactionIdentifier is always included in this version of the specification
+ rrc-TransactionIdentifier RRC-TransactionIdentifier OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd NULL,
+ tdd SEQUENCE {
+ tfcs-ID TFCS-Identity OPTIONAL
+ }
+ },
+ dpch-TFCS-InUplink TFC-Subset,
+ activationTimeForTFCSubset ActivationTime OPTIONAL,
+ tfc-ControlDuration TFC-ControlDuration OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ transportFormatCombinationControl-r3-add-ext BIT STRING OPTIONAL,
+ v820NonCriticalExtensions SEQUENCE {
+ transportformatcombinationcontrol-v820ext
+ TransportFormatCombinationControl-v820ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+TransportFormatCombinationControl-v820ext-IEs ::= SEQUENCE {
+ -- Transport Format Combination Control IEs
+ ul-AMR-Rate UL-AMR-Rate OPTIONAL
+}
+
+-- ***************************************************
+--
+-- TRANSPORT FORMAT COMBINATION CONTROL FAILURE
+--
+-- ***************************************************
+
+TransportFormatCombinationControlFailure ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ transportFormatCombinationControlFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- UE CAPABILITY ENQUIRY
+--
+-- ***************************************************
+
+UECapabilityEnquiry ::= CHOICE {
+ r3 SEQUENCE {
+ ueCapabilityEnquiry-r3 UECapabilityEnquiry-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ ueCapabilityEnquiry-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ ueCapabilityEnquiry-v4b0ext UECapabilityEnquiry-v4b0ext-IEs,
+ v590NonCriticalExtensions SEQUENCE {
+ ueCapabilityEnquiry-v590ext UECapabilityEnquiry-v590ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ ueCapabilityEnquiry-v770ext UECapabilityEnquiry-v770ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ ueCapabilityEnquiry-v860ext UECapabilityEnquiry-v860ext-IEs,
+ vaj0NonCriticalExtensions SEQUENCE {
+ ueCapabilityEnquiry-vaj0ext UECapabilityEnquiry-vaj0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+UECapabilityEnquiry-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ capabilityUpdateRequirement CapabilityUpdateRequirement
+}
+
+UECapabilityEnquiry-v4b0ext-IEs ::= SEQUENCE {
+ capabilityUpdateRequirement-r4-ext CapabilityUpdateRequirement-r4-ext
+}
+
+UECapabilityEnquiry-v590ext-IEs ::= SEQUENCE {
+ systemSpecificCapUpdateReq SystemSpecificCapUpdateReq-v590ext
+}
+
+UECapabilityEnquiry-v770ext-IEs ::= SEQUENCE {
+ capabilityUpdateRequirement CapabilityUpdateRequirement-v770ext OPTIONAL
+}
+
+UECapabilityEnquiry-v860ext-IEs ::= SEQUENCE {
+ capabilityUpdateRequirement CapabilityUpdateRequirement-v860ext OPTIONAL
+}
+
+UECapabilityEnquiry-vaj0ext-IEs ::= SEQUENCE {
+ capabilityUpdateRequirement CapabilityUpdateRequirement-vaj0ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- UE CAPABILITY INFORMATION
+--
+-- ***************************************************
+
+UECapabilityInformation ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier OPTIONAL,
+ ue-RadioAccessCapability UE-RadioAccessCapability OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability InterRAT-UE-RadioAccessCapabilityList OPTIONAL,
+ v370NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v370ext UECapabilityInformation-v370ext,
+ v380NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v380ext UECapabilityInformation-v380ext-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v3a0ext UECapabilityInformation-v3a0ext-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ ueCapabilityInformation-r3-add-ext BIT STRING
+ (CONTAINING UECapabilityInformation-r3-add-ext-IEs) OPTIONAL,
+ -- Reserved for future non critical extension
+ v4b0NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v4b0ext UECapabilityInformation-v4b0ext,
+ v590NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v590ext UECapabilityInformation-v590ext,
+ v5c0NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v5c0ext
+ UECapabilityInformation-v5c0ext,
+ v690NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v690ext
+ UECapabilityInformation-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+UECapabilityInformation-v370ext ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v370ext UE-RadioAccessCapability-v370ext OPTIONAL
+}
+
+UECapabilityInformation-v380ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v380ext UE-RadioAccessCapability-v380ext OPTIONAL,
+ dl-PhysChCapabilityFDD-v380ext DL-PhysChCapabilityFDD-v380ext
+}
+
+UECapabilityInformation-v3a0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v3a0ext UE-RadioAccessCapability-v3a0ext OPTIONAL
+}
+
+UECapabilityInformation-r3-add-ext-IEs ::= SEQUENCE {
+ ueCapabilityInformation-v650ext UECapabilityInformation-v650ext-IEs OPTIONAL,
+ v680NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v680ext UECapabilityInformation-v680ext-IEs,
+ v7e0NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v7e0ext UECapabilityInformation-v7e0ext-IEs,
+ v7f0NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-v7f0ext UECapabilityInformation-v7f0ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformation-va40ext
+ UECapabilityInformation-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+UECapabilityInformation-v4b0ext ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v4b0ext UE-RadioAccessCapability-v4b0ext OPTIONAL
+}
+
+UECapabilityInformation-v590ext ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v3g0ext UE-RadioAccessCapability-v3g0ext OPTIONAL,
+ ue-RadioAccessCapability-v590ext UE-RadioAccessCapability-v590ext OPTIONAL,
+ -- Other IEs
+ ue-RATSpecificCapability-v590ext InterRAT-UE-RadioAccessCapability-v590ext OPTIONAL
+}
+
+UECapabilityInformation-v5c0ext ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v5c0ext UE-RadioAccessCapability-v5c0ext OPTIONAL
+}
+
+UECapabilityInformation-v650ext-IEs ::= SEQUENCE {
+ ue-RadioAccessCapability-v650ext UE-RadioAccessCapability-v650ext
+}
+
+UECapabilityInformation-v680ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability-v680ext UE-RadioAccessCapability-v680ext
+}
+
+UECapabilityInformation-v690ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ueCapabilityContainer BIT STRING
+ (CONTAINING UE-CapabilityContainer-IEs) OPTIONAL
+}
+
+UECapabilityInformation-v7e0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability UE-RadioAccessCapability-v7e0ext
+}
+
+UECapabilityInformation-v7f0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapability UE-RadioAccessCapability-v7f0ext OPTIONAL
+}
+
+UECapabilityInformation-va40ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ ue-RadioAccessCapabBand UE-RadioAccessCapabBand-va40ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- UE CAPABILITY INFORMATION CONFIRM
+--
+-- ***************************************************
+
+UECapabilityInformationConfirm ::= CHOICE {
+ r3 SEQUENCE {
+ ueCapabilityInformationConfirm-r3
+ UECapabilityInformationConfirm-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ ueCapabilityInformationConfirm-r3-add-ext BIT STRING OPTIONAL,
+ v770NonCriticalExtensions SEQUENCE {
+ ueCapabilityInformationConfirm-v770ext UECapabilityInformationConfirm-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+UECapabilityInformationConfirm-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier
+}
+
+UECapabilityInformationConfirm-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ acceptanceOfChangeOfCapability ENUMERATED {
+ refused, accepted, acceptedWithReconfigurationToFollow
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- UPLINK DIRECT TRANSFER
+--
+-- ***************************************************
+
+UplinkDirectTransfer ::= SEQUENCE {
+ -- Core network IEs
+ cn-DomainIdentity CN-DomainIdentity,
+ nas-Message NAS-Message,
+ -- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACH OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ uplinkDirectTransfer-r3-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ uplinkDirectTransfer-v690ext UplinkDirectTransfer-v690ext-IEs,
+ v7g0NonCriticalExtensions SEQUENCE {
+ uplinkDirectTransfer-v7g0ext UplinkDirectTransfer-v7g0ext-IEs,
+ vb50NonCriticalExtensions SEQUENCE {
+ uplinkDirectTransfer-vb50ext UplinkDirectTransfer-vb50ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ uplinkDirectTransfer-vc50ext UplinkDirectTransfer-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+UplinkDirectTransfer-v690ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACHinterFreq MeasuredResultsOnRACHinterFreq OPTIONAL
+}
+
+UplinkDirectTransfer-v7g0ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACH-v7g0ext MeasuredResultsOnRACH-v7g0ext OPTIONAL
+}
+
+UplinkDirectTransfer-vb50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACHEUTRAFreq MeasuredResultsOnRACH-EUTRAFreq OPTIONAL
+}
+
+UplinkDirectTransfer-vc50ext-IEs ::= SEQUENCE {
+ -- Measurement IEs
+ measuredResultsOnRACH MeasuredResultsOnRACH-vc50ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- UPLINK PHYSICAL CHANNEL CONTROL
+--
+-- ***************************************************
+
+UplinkPhysicalChannelControl ::= CHOICE {
+ r3 SEQUENCE {
+ uplinkPhysicalChannelControl-r3 UplinkPhysicalChannelControl-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ uplinkPhysicalChannelControl-r3-add-ext BIT STRING OPTIONAL,
+ v4b0NonCriticalExtensions SEQUENCE {
+ uplinkPysicalChannelControl-v4b0ext UplinkPhysicalChannelControl-v4b0ext-IEs,
+ -- Extension mechanism for non-release 4 information
+ noncriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r4 SEQUENCE {
+ uplinkPhysicalChannelControl-r4 UplinkPhysicalChannelControl-r4-IEs,
+ v4d0NonCriticalExtensions SEQUENCE {
+ -- Container for adding non critical extensions after freezing REL-5
+ uplinkPhysicalChannelControl-r4-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ uplinkPhysicalChannelControl-v690ext
+ UplinkPhysicalChannelControl-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ uplinkPhysicalChannelControl-r5 UplinkPhysicalChannelControl-r5-IEs,
+ -- Container for adding non critical extensions after freezing REL-6
+ uplinkPhysicalChannelControl-r5-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ uplinkPhysicalChannelControl-v690ext
+ UplinkPhysicalChannelControl-v690ext-IEs,
+ v6a0NonCriticalExtensions SEQUENCE{
+ uplinkPhysicalChannelControl-v6a0ext
+ UplinkPhysicalChannelControl-v6a0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ uplinkPhysicalChannelControl-r7 UplinkPhysicalChannelControl-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-8
+ uplinkPhysicalChannelControl-r7-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+ }
+ }
+}
+
+UplinkPhysicalChannelControl-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ -- Physical channel IEs
+ ccTrCH-PowerControlInfo CCTrCH-PowerControlInfo OPTIONAL,
+ timingAdvance UL-TimingAdvanceControl OPTIONAL,
+ alpha Alpha OPTIONAL,
+ specialBurstScheduling SpecialBurstScheduling OPTIONAL,
+ prach-ConstantValue ConstantValueTdd OPTIONAL,
+ pusch-ConstantValue ConstantValueTdd OPTIONAL
+}
+
+UplinkPhysicalChannelControl-v4b0ext-IEs ::= SEQUENCE {
+ -- In case of TDD, openLoopPowerControl-IPDL-TDD is included instead of IE
+ -- up-IPDL-Parameters in up-OTDOA-AssistanceData
+ openLoopPowerControl-IPDL-TDD OpenLoopPowerControl-IPDL-TDD-r4 OPTIONAL
+}
+
+UplinkPhysicalChannelControl-r4-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ccTrCH-PowerControlInfo CCTrCH-PowerControlInfo-r4 OPTIONAL,
+ specialBurstScheduling SpecialBurstScheduling OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ timingAdvance UL-TimingAdvanceControl-r4 OPTIONAL,
+ alpha Alpha OPTIONAL,
+ prach-ConstantValue ConstantValueTdd OPTIONAL,
+ pusch-ConstantValue ConstantValueTdd OPTIONAL,
+ openLoopPowerControl-IPDL-TDD OpenLoopPowerControl-IPDL-TDD-r4 OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ ul-SynchronisationParameters UL-SynchronisationParameters-r4 OPTIONAL
+ }
+ }
+}
+
+UplinkPhysicalChannelControl-r5-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ccTrCH-PowerControlInfo CCTrCH-PowerControlInfo-r5 OPTIONAL,
+ specialBurstScheduling SpecialBurstScheduling OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ timingAdvance UL-TimingAdvanceControl-r4 OPTIONAL,
+ alpha Alpha OPTIONAL,
+ prach-ConstantValue ConstantValueTdd OPTIONAL,
+ pusch-ConstantValue ConstantValueTdd OPTIONAL,
+ openLoopPowerControl-IPDL-TDD OpenLoopPowerControl-IPDL-TDD-r4 OPTIONAL,
+ hs-SICH-PowerControl HS-SICH-Power-Control-Info-TDD384 OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ ul-SynchronisationParameters UL-SynchronisationParameters-r4 OPTIONAL
+ }
+ }
+}
+
+UplinkPhysicalChannelControl-v690ext-IEs ::= SEQUENCE {
+ -- Physical Channel IEs
+ beaconPLEst BEACON-PL-Est OPTIONAL
+}
+
+UplinkPhysicalChannelControl-v6a0ext-IEs ::= SEQUENCE {
+ -- Physical Channel IEs
+ desired-HS-SICH-PowerLevel INTEGER (-120..-58) OPTIONAL,
+ tpc-Step-Size ENUMERATED { s1, s2, s3 , spare1 } OPTIONAL
+}
+
+UplinkPhysicalChannelControl-r7-IEs ::= SEQUENCE {
+ -- Physical channel IEs
+ ccTrCH-PowerControlInfo CCTrCH-PowerControlInfo-r7 OPTIONAL,
+ specialBurstScheduling SpecialBurstScheduling OPTIONAL,
+ tddOption CHOICE {
+ tdd384 SEQUENCE {
+ timingAdvance UL-TimingAdvanceControl-r4 OPTIONAL,
+ alpha Alpha OPTIONAL,
+ prach-ConstantValue ConstantValueTdd OPTIONAL,
+ pusch-ConstantValue ConstantValueTdd OPTIONAL,
+ openLoopPowerControl-IPDL-TDD OpenLoopPowerControl-IPDL-TDD-r4 OPTIONAL,
+ hs-SICH-PowerControl HS-SICH-Power-Control-Info-TDD384 OPTIONAL
+ },
+ tdd768 SEQUENCE {
+ timingAdvance UL-TimingAdvanceControl-r7 OPTIONAL,
+ alpha Alpha OPTIONAL,
+ prach-ConstantValue ConstantValueTdd OPTIONAL,
+ pusch-ConstantValue ConstantValueTdd OPTIONAL,
+ openLoopPowerControl-IPDL-TDD OpenLoopPowerControl-IPDL-TDD-r4 OPTIONAL,
+ hs-SICH-PowerControl HS-SICH-Power-Control-Info-TDD768 OPTIONAL
+ },
+ tdd128 SEQUENCE {
+ ul-SynchronisationParameters UL-SynchronisationParameters-r4 OPTIONAL,
+ desired-HS-SICH-PowerLevel INTEGER (-120..-58) OPTIONAL,
+ tpc-Step-Size ENUMERATED { s1, s2, s3 , spare1 } OPTIONAL
+ }
+ }
+}
+
+-- ***************************************************
+--
+-- URA UPDATE
+--
+-- ***************************************************
+
+URAUpdate ::= SEQUENCE {
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ ura-UpdateCause URA-UpdateCause,
+ protocolErrorIndicator ProtocolErrorIndicatorWithMoreInfo,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ uraUpdate-r3-add-ext BIT STRING
+ (CONTAINING URAUpdate-r3-add-ext-IEs) OPTIONAL,
+ v770NonCriticalExtensions SEQUENCE {
+ uraUpdate-v770ext UraUpdate-v770ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ uraUpdate-v860ext URAUpdate-v860ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ uraUpdate-va40ext URAUpdate-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+URAUpdate-r3-add-ext-IEs ::= SEQUENCE {
+ uraUpdate-v7e0ext URAUpdate-v7e0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+UraUpdate-v770ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ support-hsdschReception-CellUraPch ENUMERATED { true } OPTIONAL,
+ support-hsdschReception-CellFach ENUMERATED { true } OPTIONAL
+}
+
+URAUpdate-v7e0ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportForTwoDRXSchemesInPCH ENUMERATED { true } OPTIONAL
+}
+
+URAUpdate-v860ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ supportOfHS-DSCHDRXOperation ENUMERATED { true } OPTIONAL,
+ supportOfCommonEDCH ENUMERATED { true } OPTIONAL,
+ supportOfMACiis ENUMERATED { true } OPTIONAL
+}
+
+URAUpdate-va40ext-IEs ::= SEQUENCE {
+ loggedMeasAvailable ENUMERATED { true } OPTIONAL,
+ loggedANRResultsAvailable ENUMERATED { true } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- URA UPDATE CONFIRM
+--
+-- ***************************************************
+
+URAUpdateConfirm ::= CHOICE {
+ r3 SEQUENCE {
+ uraUpdateConfirm-r3 URAUpdateConfirm-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ uraUpdateConfirm-r3-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ uraUpdateConfirm-v690ext URAUpdateConfirm-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ uraUpdateConfirm-r5 URAUpdateConfirm-r5-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ uraUpdateConfirm-v690ext URAUpdateConfirm-v690ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE {
+ uraUpdateConfirm-r7 URAUpdateConfirm-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-8
+ uraUpdateConfirm-r7-add-ext BIT STRING OPTIONAL,
+ v860NonCriticalExtensions SEQUENCE {
+ uraUpdateConfirm-v860ext URAUpdateConfirm-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+ }
+}
+
+URAUpdateConfirm-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL
+}
+
+URAUpdateConfirm-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient OPTIONAL,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL
+}
+
+URAUpdateConfirm-v690ext-IEs ::= SEQUENCE {
+ -- Core network IEs
+ primary-plmn-Identity PLMN-Identity OPTIONAL
+}
+
+URAUpdateConfirm-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ rrc-StateIndicator RRC-StateIndicator,
+ utran-DRX-CycleLengthCoeff UTRAN-DRX-CycleLengthCoefficient-r7 OPTIONAL,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfo OPTIONAL,
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL
+}
+
+URAUpdateConfirm-v860ext-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ -- Specification mode information
+ -- dummy is not used in this version of the specification, it should
+ -- not be sent and if received it should be ignored.
+ dummy DefaultConfigForCellFACH OPTIONAL
+}
+
+-- ***************************************************
+--
+-- URA UPDATE CONFIRM for CCCH
+--
+-- ***************************************************
+
+URAUpdateConfirm-CCCH ::= CHOICE {
+ r3 SEQUENCE {
+ uraUpdateConfirm-CCCH-r3 URAUpdateConfirm-CCCH-r3-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ uraUpdateConfirm-CCCH-r3-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ uraUpdateConfirm-v690ext URAUpdateConfirm-v690ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ uraUpdateConfirm-v860ext URAUpdateConfirm-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ u-RNTI U-RNTI,
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions SEQUENCE {}
+ }
+}
+
+URAUpdateConfirm-CCCH-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ u-RNTI U-RNTI,
+ -- The rest of the message is identical to the one sent on DCCH.
+ uraUpdateConfirm URAUpdateConfirm-r3-IEs
+}
+
+-- ***************************************************
+--
+-- UTRAN MOBILITY INFORMATION
+--
+-- ***************************************************
+
+UTRANMobilityInformation ::= CHOICE {
+ r3 SEQUENCE {
+ utranMobilityInformation-r3 UTRANMobilityInformation-r3-IEs,
+ v3a0NonCriticalExtensions SEQUENCE {
+ utranMobilityInformation-v3a0ext UTRANMobilityInformation-v3a0ext-IEs,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ utranMobilityInformation-r3-add-ext BIT STRING OPTIONAL,
+ v690NonCriticalExtensions SEQUENCE {
+ utranMobilityInformation-v690ext UtranMobilityInformation-v690ext-IEs,
+ v860NonCriticalExtentions SEQUENCE {
+ utranMobilityInformation-v860ext UTRANMobilityInformation-v860ext1-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ later-than-r3 SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r5 SEQUENCE {
+ utranMobilityInformation-r5 UTRANMobilityInformation-r5-IEs,
+ v690NonCriticalExtensions SEQUENCE {
+ utranMobilityInformation-v690ext UtranMobilityInformation-v690ext-IEs,
+ v860NonCriticalExtentions SEQUENCE {
+ utranMobilityInformation-v860ext UTRANMobilityInformation-v860ext1-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r7 SEQUENCE{
+ utranMobilityInformation-r7 UTRANMobilityInformation-r7-IEs,
+ -- Container for adding non critical extensions after freezing REL-8
+ utranMobilityInformation-r7-add-ext BIT STRING OPTIONAL,
+ v860NonCriticalExtensions SEQUENCE {
+ utranMobilityInformation-v860ext UTRANMobilityInformation-v860ext2-IEs,
+ vb50NonCriticalExtentions SEQUENCE {
+ utranMobilityInformation-vb50ext
+ UTRANMobilityInformation-vb50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE{
+ utranMobilityInformation-r11 UTRANMobilityInformation-r11-IEs,
+ -- Container for adding non critical extensions after freezing REL-12
+ utranMobilityInformation-r11-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r12 SEQUENCE {
+ utranMobilityInformation-r12 UTRANMobilityInformation-r12-IEs,
+ -- Container for adding non critical extensions after freezing REL-13
+ utranMobilityInformation-r12-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r13 SEQUENCE {
+ utranMobilityInformation-r13 UTRANMobilityInformation-r13-IEs,
+ -- Container for adding non critical extensions after freezing REL-14
+ utranMobilityInformation-r13-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+
+ }
+ }
+ }
+ }
+}
+
+UTRANMobilityInformation-r3-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants OPTIONAL,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfoFull OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo OPTIONAL,
+ -- Extension mechanism for non- release99 information
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+UTRANMobilityInformation-v3a0ext-IEs ::= SEQUENCE {
+ ue-ConnTimersAndConstants-v3a0ext UE-ConnTimersAndConstants-v3a0ext
+}
+
+UTRANMobilityInformation-r5-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo OPTIONAL,
+ cipheringModeInfo CipheringModeInfo OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants-r5 OPTIONAL,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfoFull OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL
+}
+
+UtranMobilityInformation-v690ext-IEs ::= SEQUENCE {
+ -- Core network IEs
+ primary-plmn-Identity PLMN-Identity OPTIONAL
+}
+
+UTRANMobilityInformation-r7-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants-r5 OPTIONAL,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfoFull OPTIONAL,
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL
+}
+
+UTRANMobilityInformation-v860ext1-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ -- UE shall take into account the following ue-ConnTimersAndConstants
+ -- only when ue-ConnTimersAndConstants IE is present in
+ -- UTRANMobilityInformation-r3-IEs or UTRANMobilityInformation-r5-IEs.
+ -- Otherwise, UE shall discard it.
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants-v860ext
+}
+
+UTRANMobilityInformation-v860ext2-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ -- UE shall take into account the following ue-ConnTimersAndConstants
+ -- only when ue-ConnTimersAndConstants IE is present in
+ -- UTRANMobilityInformation-r7-IEs. Otherwise, UE shall discard it.
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants-v860ext,
+ -- UTRAN Mobility IEs
+ dedicatedPriorityInformation DedicatedPriorityInformation OPTIONAL
+}
+
+UTRANMobilityInformation-vb50ext-IEs ::= SEQUENCE {
+ -- UTRAN Mobility IEs
+ dedicatedPriorityInformation DedicatedPriorityInformation-r11 OPTIONAL
+}
+
+UTRANMobilityInformation-r11-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants-r11 OPTIONAL,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfoFull OPTIONAL,
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ dedicatedPriorityInformation DedicatedPriorityInformation-r11 OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL
+}
+
+UTRANMobilityInformation-r12-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants-r11 OPTIONAL,
+ measurementReleaseEnhancement MeasurementReleaseEnhancement OPTIONAL,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfoFull OPTIONAL,
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ domainSpecificAccessRestrictionParametersUpdate
+ DomainSpecificAccessRestrictionParam-v670ext OPTIONAL,
+ pagingPermissionWithAccessControlParametersUpdate
+ PagingPermissionWithAccessControlParameters OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ dedicatedPriorityInformation DedicatedPriorityInformation-r11 OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- WLAN IEs
+ dedicatedWLANOffloadInformation DedicatedWLANOffloadInformation OPTIONAL
+}
+UTRANMobilityInformation-r13-IEs ::= SEQUENCE {
+ -- User equipment IEs
+ integrityProtectionModeInfo IntegrityProtectionModeInfo-r7 OPTIONAL,
+ cipheringModeInfo CipheringModeInfo-r7 OPTIONAL,
+ new-U-RNTI U-RNTI OPTIONAL,
+ new-C-RNTI C-RNTI OPTIONAL,
+ new-H-RNTI H-RNTI OPTIONAL,
+ newPrimary-E-RNTI E-RNTI OPTIONAL,
+ ue-ConnTimersAndConstants UE-ConnTimersAndConstants-r11 OPTIONAL,
+ measurementReleaseEnhancement MeasurementReleaseEnhancement OPTIONAL,
+ -- CN information elements
+ cn-InformationInfo CN-InformationInfoFull OPTIONAL,
+ primary-plmn-Identity PLMN-Identity OPTIONAL,
+ domainSpecificAccessRestrictionParametersUpdate
+ DomainSpecificAccessRestrictionParam-v670ext OPTIONAL,
+ pagingPermissionWithAccessControlParametersUpdate
+ PagingPermissionWithAccessControlParameters OPTIONAL,
+ -- UTRAN mobility IEs
+ ura-Identity URA-Identity OPTIONAL,
+ supportForChangeOfUE-Capability BOOLEAN OPTIONAL,
+ extendedDedicatedPriorityInformation DedicatedPriorityInformation-r13 OPTIONAL,
+ -- Radio bearer IEs
+ dl-CounterSynchronisationInfo DL-CounterSynchronisationInfo-r5 OPTIONAL,
+ -- WLAN IEs
+ dedicatedWLANOffloadInformation DedicatedWLANOffloadInformation OPTIONAL
+}
+
+-- ***************************************************
+--
+-- UTRAN MOBILITY INFORMATION CONFIRM
+--
+-- ***************************************************
+
+UTRANMobilityInformationConfirm ::= SEQUENCE {
+ -- User equipment IEs
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ ul-IntegProtActivationInfo IntegrityProtActivationInfo OPTIONAL,
+ -- Radio bearer IEs
+ count-C-ActivationTime ActivationTime OPTIONAL,
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy RB-ActivationTimeInfoList OPTIONAL,
+ ul-CounterSynchronisationInfo UL-CounterSynchronisationInfo OPTIONAL,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ utranMobilityInformationConfirm-r3-add-ext BIT STRING OPTIONAL,
+ v770NonCriticalExtension SEQUENCE {
+ utranMobilityInformationConfirm-v770ext
+ UTRANMobilityInformationConfirm-v770ext-IEs,
+ va40NonCriticalExtensions SEQUENCE {
+ utranMobilityInformationConfirm-va40ext
+ UTRANMobilityInformationConfirm-va40ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+UTRANMobilityInformationConfirm-v770ext-IEs ::= SEQUENCE {
+ deferredMeasurementControlReading ENUMERATED { true } OPTIONAL
+}
+
+UTRANMobilityInformationConfirm-va40ext-IEs ::= SEQUENCE {
+ loggedMeasAvailable ENUMERATED { true } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- UTRAN MOBILITY INFORMATION FAILURE
+--
+-- ***************************************************
+
+UTRANMobilityInformationFailure ::= SEQUENCE {
+ -- UE information elements
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ failureCause FailureCauseWithProtErr,
+ laterNonCriticalExtensions SEQUENCE {
+ -- Container for additional R99 extensions
+ utranMobilityInformationFailure-r3-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MBMS ACCESS INFORMATION
+--
+-- ***************************************************
+
+MBMSAccessInformation ::= SEQUENCE {
+ -- Access Information IEs
+ mbms-ServiceAccessInfoList MBMS-ServiceAccessInfoList-r6,
+ -- Non critical extensions
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MBMS COMMON PTM RB INFORMATION
+--
+-- ***************************************************
+
+MBMSCommonPTMRBInformation ::= SEQUENCE {
+ -- Common PTM RB Information IEs
+ mbms-CommonRBInformationList MBMS-CommonRBInformationList-r6,
+ mbms-TranspChInfoForEachTrCh MBMS-TranspChInfoForEachTrCh-r6,
+ mbms-TranspChInfoForEachCCTrCh MBMS-TranspChInfoForEachCCTrCh-r6 OPTIONAL,
+ -- For FDD and TDD 3.84Mcps in a cell operating in MBSFN only mode and for TDD 7.68Mcps the
+ -- IE mbms-PhyChInformationList shall be ignored.
+ mbms-PhyChInformationList MBMS-PhyChInformationList-r6,
+ -- Non critical extensions
+ v770NonCriticalExtensions SEQUENCE {
+ mbmsCommonPTMRBInformation-v770ext
+ MBMSCommonPTMRBInformation-v770ext-IEs,
+ v780NonCriticalExtensions SEQUENCE {
+ mbmsCommonPTMRBInformation-v780ext
+ MBMSCommonPTMRBInformation-v780ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ mbmsCommonPTMRBInformation-v860ext
+ MBMSCommonPTMRBInformation-v860ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+MBMSCommonPTMRBInformation-v770ext-IEs ::= SEQUENCE {
+ -- TABULAR: CHOICE mode == "FDD or TDD"
+ mbms-PhyChInformationList-r7 MBMS-PhyChInformationList-r7 OPTIONAL
+}
+
+MBMSCommonPTMRBInformation-v780ext-IEs ::= SEQUENCE {
+ mbsfn-TDDInformation-LCR MBSFN-TDDInformation-LCR OPTIONAL
+}
+
+MBMSCommonPTMRBInformation-v860ext-IEs ::= SEQUENCE {
+ -- TABULAR: CHOICE mode == "3.84 Mcps TDD IMB"
+ mbms-PhyChInformationList MBMS-PhyChInformationList-IMB384 OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MBMS CURRENT CELL PTM RB INFORMATION
+--
+-- ***************************************************
+
+MBMSCurrentCellPTMRBInformation ::= SEQUENCE {
+ -- Current Cell PTM RB Information IEs
+ mbms-CurrentCell-SCCPCHList MBMS-CurrentCell-SCCPCHList-r6 OPTIONAL,
+ mbms-SIBType5-SCCPCHList MBMS-SIBType5-SCCPCHList-r6 OPTIONAL,
+ -- Non critical extensions
+ v770NonCriticalExtensions SEQUENCE {
+ mbmsCurrentCellPTMRBInfo-v770ext
+ MBMSCurrentCellPTMRBInfo-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+MBMSCurrentCellPTMRBInfo-v770ext-IEs ::= SEQUENCE {
+ mbsfn-TDM-Info-List MBSFN-TDM-Info-List OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MBMS GENERAL INFORMATION
+--
+-- ***************************************************
+
+MBMSGeneralInformation ::= SEQUENCE {
+ -- MBMS General Information IEs
+ mbms-PreferredFrequencyInfo MBMS-PreferredFrequencyList-r6 OPTIONAL,
+ mbms-TimersAndCounters MBMS-TimersAndCounters-r6,
+ michConfigurationInfo MBMS-MICHConfigurationInfo-r6,
+ cellGroupIdentity MBMS-CellGroupIdentity-r6,
+ mschDefaultConfigurationInfo MBMS-MSCH-ConfigurationInfo-r6 OPTIONAL,
+ -- Non critical extensions
+ v6b0NonCriticalExtensions SEQUENCE {
+ mbmsGeneralInformation-v6b0ext MBMSGeneralInformation-v6b0ext-IEs,
+ v770NonCriticalExtensions SEQUENCE {
+ mbmsGeneralInformation-v770ext MBMSGeneralInformation-v770ext-IEs,
+ v860NonCriticalExtensions SEQUENCE {
+ mbmsGeneralInformation-v860ext MBMSGeneralInformation-v860ext-IEs,
+ v890NoncriticalExtensions SEQUENCE {
+ mbmsGeneralInformation-v890ext MBMSGeneralInformation-v890ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+MBMSGeneralInformation-v6b0ext-IEs ::= SEQUENCE {
+ indicateChangeInSelectedServices BOOLEAN
+}
+
+MBMSGeneralInformation-v770ext-IEs ::= SEQUENCE {
+ mbmsMICHConfiguration MBMS-MICHConfigurationInfo-v770ext OPTIONAL,
+ mbsfnInterFrequencyNeighbourList
+ MBSFN-InterFrequencyNeighbourList-r7 OPTIONAL
+}
+
+MBMSGeneralInformation-v860ext-IEs ::= SEQUENCE {
+ mbsfnInterFrequencyNeighbourList
+ MBSFN-InterFrequencyNeighbourList-v860ext OPTIONAL
+}
+
+MBMSGeneralInformation-v890ext-IEs ::= SEQUENCE {
+ mbmsNetworkStandardTimeInformation-LCR
+ MBMS-NetworkStandardTimeInformation-LCR-v890ext OPTIONAL,
+ mbmsMICHConfiguration MBMS-MICHConfigurationInfo-v890ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MBMS MODIFICATION REQUEST
+--
+-- ***************************************************
+
+MBMSModificationRequest ::= SEQUENCE {
+ -- MBMS Modification Request IEs
+ mbms-PreferredFreqRequest MBMS-ServiceIdentity-r6 OPTIONAL,
+ rb-InformationReleaseList RB-InformationReleaseList OPTIONAL,
+ -- Non critical extensions
+ v6b0NonCriticalExtensions SEQUENCE {
+ mbmsModificationRequest-v6b0ext MBMSModificationRequest-v6b0ext-IEs,
+ v6f0NonCriticalExtensions SEQUENCE {
+ mbmsModificationRequest-v6f0ext MBMSModificationRequest-v6f0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+MBMSModificationRequest-v6b0ext-IEs ::= SEQUENCE {
+ mbmsSelectedServiceInfo MBMS-SelectedServiceInfo
+}
+
+MBMSModificationRequest-v6f0ext-IEs ::= SEQUENCE {
+ mbmsSupportOfServiceChangeForAPtpRB ENUMERATED { true } OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MBMS MODIFIED SERVICES INFORMATION
+--
+-- ***************************************************
+
+MBMSModifiedServicesInformation ::= SEQUENCE {
+ -- MBMS Modified Services Information IEs
+ modifedServiceList MBMS-ModifedServiceList-r6 OPTIONAL,
+ mbms-ReacquireMCCH ENUMERATED { true } OPTIONAL,
+ mbms-DynamicPersistenceLevel DynamicPersistenceLevel OPTIONAL,
+ endOfModifiedMCCHInformation INTEGER (1..16) OPTIONAL,
+ mbmsNumberOfNeighbourCells MBMS-NumberOfNeighbourCells-r6,
+ mbms-AllUnmodifiedPTMServices ENUMERATED { true } OPTIONAL,
+ mbms-PTMActivationTime MBMS-PTMActivationTime-r6 OPTIONAL,
+ -- Non critical extensions
+ v770NonCriticalExtensions SEQUENCE {
+ mbmsModifiedServicesInformation-v770ext
+ MBMSModifiedServicesInformation-v770ext-IEs,
+ v7c0NonCriticalExtensions SEQUENCE {
+ mbmsModifiedServicesInformation-v7c0ext
+ MBMSModifiedServicesInformation-v7c0ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+MBMSModifiedServicesInformation-v770ext-IEs ::= SEQUENCE {
+ modifiedServiceList MBMS-ModifiedServiceList-v770ext OPTIONAL,
+ mib-ValueTag MIB-ValueTag OPTIONAL
+}
+
+MBMSModifiedServicesInformation-v7c0ext-IEs ::= SEQUENCE {
+ modifiedServiceList MBMS-ModifiedServiceList-LCR-v7c0ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MBMS NEIGHBOURING CELL PTM RB INFORMATION
+--
+-- ***************************************************
+
+MBMSNeighbouringCellPTMRBInformation ::= SEQUENCE {
+ -- MBMS Neighbouring Cell PTM RB Information IEs
+ neighbouringCellIdentity IntraFreqCellID,
+ neighbouringCellSCCPCHList MBMS-NeighbouringCellSCCPCHList-r6,
+ -- Non critical extensions
+ v770NonCriticalExtensions SEQUENCE {
+ mbmsNeighbouringCellPTMRBInformation-v770ext
+ MBMSNeighbouringCellPTMRBInformation-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+MBMSNeighbouringCellPTMRBInformation-v770ext-IEs ::= SEQUENCE {
+ -- The "choice_PhyCH" in the tabular is realized by using the following IE due to the
+ -- constraint in the ASN.1 implementation.
+ neighbouringCellSCCPCHList MBMS-NeighbouringCellSCCPCHList-v770ext OPTIONAL
+}
+
+
+-- ***************************************************
+--
+-- MBMS SCHEDULING INFORMATION
+--
+-- ***************************************************
+
+MBMSSchedulingInformation ::= SEQUENCE {
+ -- MBMS Scheduling Information IEs
+ serviceSchedulingInfoList MBMS-ServiceSchedulingInfoList-r6,
+ -- Non critical extensions
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+}
+
+-- ***************************************************
+--
+-- MBMS UNMODIFIED SERVICES INFORMATION
+--
+-- ***************************************************
+
+MBMSUnmodifiedServicesInformation ::= SEQUENCE {
+ -- MBMS Unmodified Services Information IEs
+ unmodifiedServiceList MBMS-UnmodifiedServiceList-r6 OPTIONAL,
+ -- Non critical extensions
+ v770NonCriticalExtensions SEQUENCE {
+ mbmsUnmodifiedServicesInformation-v770ext
+ MBMSUnmodifiedServicesInformation-v770ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+}
+
+MBMSUnmodifiedServicesInformation-v770ext-IEs ::= SEQUENCE {
+ unmodifiedServiceList MBMS-UnmodifiedServiceList-v770ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- System Information Container
+--
+-- ***************************************************
+
+System-Information-Container ::= SEQUENCE {
+ mib OCTET STRING (CONTAINING MasterInformationBlock),
+ sysInfoTypeSB1 OCTET STRING (CONTAINING SysInfoTypeSB1) OPTIONAL,
+ sysInfoTypeSB2 OCTET STRING (CONTAINING SysInfoTypeSB2) OPTIONAL,
+ sysInfoType1 OCTET STRING (CONTAINING SysInfoType1),
+ sysInfoType3 OCTET STRING (CONTAINING SysInfoType3),
+ sysInfoType5 OCTET STRING (CONTAINING SysInfoType5),
+ sysInfoType7 OCTET STRING (CONTAINING SysInfoType7),
+ sysInfoType11 OCTET STRING (CONTAINING SysInfoType11) OPTIONAL,
+ sysInfoType11bis OCTET STRING (CONTAINING SysInfoType11bis) OPTIONAL,
+ sysInfoType12 OCTET STRING (CONTAINING SysInfoType12) OPTIONAL,
+ vb50NonCriticalExtensions SEQUENCE {
+ system-Information-Container-vb50ext System-Information-Container-vb50ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ system-Information-Container-vc50ext System-Information-Container-vc50ext-IEs,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+System-Information-Container-vb50ext-IEs ::= SEQUENCE {
+ sysInfoType22 OCTET STRING (CONTAINING SysInfoType22) OPTIONAL
+}
+
+System-Information-Container-vc50ext-IEs ::= SEQUENCE {
+ sysInfoType11ter OCTET STRING (CONTAINING SysInfoType11ter) OPTIONAL
+}
+-- ***************************************************
+--
+-- LOGGING MEASUREMENT CONFIGURATION
+--
+-- ***************************************************
+
+LoggingMeasurementConfiguration ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ loggingMeasurementConfiguration-r10-IEs LoggingMeasurementConfiguration-r10-IEs,
+ -- Container for additional R10 extensions
+ loggingMeasurementConfiguration-r10-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ loggingMeasurementConfiguration-r11-IEs LoggingMeasurementConfiguration-r11-IEs,
+ loggingMeasurementConfiguration-r11-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+}
+
+LoggingMeasurementConfiguration-r10-IEs ::= SEQUENCE {
+ loggedMeasurementsConfigurationInfo LoggedMeasurementsConfigurationInfo OPTIONAL,
+ loggedANRConfigurationInfo LoggedANRConfigurationInfo OPTIONAL
+}
+
+LoggingMeasurementConfiguration-r11-IEs ::= SEQUENCE {
+ loggedMeasurementsConfigurationInfo LoggedMeasurementsConfigurationInfo-r11 OPTIONAL,
+ loggedANRConfigurationInfo LoggedANRConfigurationInfo OPTIONAL
+}
+
+-- ***************************************************
+--
+-- UE INFORMATION RESPONSE
+--
+-- ***************************************************
+
+UEInformationResponse ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ loggedMeasReport LoggedMeasReport OPTIONAL,
+ loggedANRReportInfoList LoggedANRReportInfoList OPTIONAL,
+ vb50NonCriticalExtensions SEQUENCE {
+ ueInformationResponse-vb50ext UEInformationResponse-vb50ext-IEs,
+ vbb0NonCriticalExtensions SEQUENCE {
+ ueInformationResponse-vbb0ext UEInformationResponse-vbb0ext-IEs,
+ vc50NonCriticalExtensions SEQUENCE {
+ ueInformationResponse-vc50ext UEInformationResponse-vc50ext-IEs, nonCriticalExtensions SEQUENCE {} OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+ } OPTIONAL
+}
+
+UEInformationResponse-vb50ext-IEs ::= SEQUENCE {
+ loggedMeasReport LoggedMeasReport-vb50ext OPTIONAL,
+ -- dummy is not used in this version of the specification. It should not be sent and
+ -- if received it should be ignored.
+ dummy ConnectionEstablishmentFailureReport OPTIONAL,
+ loggedANRReportInfoList LoggedANRReportInfoList-vb50ext OPTIONAL
+}
+
+UEInformationResponse-vbb0ext-IEs ::= SEQUENCE {
+ connectionEstablishmentFailureReport
+ ConnectionEstablishmentFailureReport-r11 OPTIONAL
+}
+
+UEInformationResponse-vc50ext-IEs ::= SEQUENCE {
+ loggedMeasReport LoggedMeasReport-vc50ext OPTIONAL,
+ connectionEstablishmentFailureReport
+ ConnectionEstablishmentFailureReport-vc50ext OPTIONAL
+}
+
+-- ***************************************************
+--
+-- UE INFORMATION REQUEST
+--
+-- ***************************************************
+
+UEInformationRequest ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ r10 SEQUENCE {
+ ueInformationRequest-r10 UEInformationRequest-r10-IEs,
+ -- Container for additional R10 extensions
+ ueInformationRequest-r10-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions CHOICE {
+ r11 SEQUENCE {
+ ueInformationRequest-r11 UEInformationRequest-r11-IEs,
+ -- Container for additional R11 extensions
+ ueInformationRequest-r11-add-ext BIT STRING OPTIONAL,
+ nonCriticalExtensions SEQUENCE {} OPTIONAL
+ },
+ criticalExtensions SEQUENCE {}
+ }
+ }
+}
+
+UEInformationRequest-r10-IEs ::= SEQUENCE {
+ loggedMeasReportRequest ENUMERATED { true } OPTIONAL,
+ loggedANRReportRequest ENUMERATED { true } OPTIONAL
+}
+
+UEInformationRequest-r11-IEs ::= SEQUENCE {
+ loggedMeasReportRequest ENUMERATED { true } OPTIONAL,
+ loggedANRReportRequest ENUMERATED { true } OPTIONAL,
+ connectionEstablishmentFailureRequest ENUMERATED { true } OPTIONAL
+}
+
+END
diff --git a/epan/dissectors/asn1/rrc/packet-rrc-template.c b/epan/dissectors/asn1/rrc/packet-rrc-template.c
new file mode 100644
index 00000000..9df0bb60
--- /dev/null
+++ b/epan/dissectors/asn1/rrc/packet-rrc-template.c
@@ -0,0 +1,662 @@
+/* packet-rrc.c
+ * Routines for Universal Mobile Telecommunications System (UMTS);
+ * Radio Resource Control (RRC) protocol specification
+ * (3GPP TS 25.331 packet dissection)
+ * Copyright 2006-2010, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref: 3GPP TS 25.331 V17.1.0 (2022-06)
+ */
+
+/**
+ *
+ * TODO:
+ * - Fix ciphering information for circuit switched stuff
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/conversation.h>
+#include <epan/expert.h>
+#include <epan/proto_data.h>
+#include <epan/prefs.h>
+
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-rrc.h"
+#include "packet-gsm_a_common.h"
+#include "packet-nbap.h"
+#include "packet-umts_fp.h"
+#include "packet-umts_mac.h"
+#include "packet-umts_rlc.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4049: compiler limit : terminating line number emission" */
+#pragma warning(disable:4049)
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "Radio Resource Control (RRC) protocol"
+#define PSNAME "RRC"
+#define PFNAME "rrc"
+
+extern int proto_fp; /*Handler to FP*/
+extern int proto_umts_mac; /*Handler to MAC*/
+extern int proto_umts_rlc; /*Handler to RLC*/
+
+GTree * hsdsch_muxed_flows = NULL;
+GTree * rrc_ciph_info_tree = NULL;
+wmem_tree_t* rrc_global_urnti_crnti_map = NULL;
+static int msg_type _U_;
+static gboolean rrc_nas_in_root_tree;
+
+enum rrc_sib_segment_type {
+ RRC_SIB_SEG_NO_SEGMENT = 0,
+ RRC_SIB_SEG_FIRST = 1,
+ RRC_SIB_SEG_SUBSEQUENT = 2,
+ RRC_SIB_SEG_LAST_SHORT = 3,
+ RRC_SIB_SEG_LAST_AND_FIRST = 4,
+ RRC_SIB_SEG_LAST_AND_COMP = 5,
+ RRC_SIB_SEG_LAST_AND_COMP_AND_FIRST = 6,
+ RRC_SIB_SEG_COMP_LIST = 7,
+ RRC_SIB_SEG_COMP_AND_FIRST = 8,
+ RRC_SIB_SEG_COMP = 10,
+};
+
+/*****************************************************************************/
+/* Packet private data */
+/* For this dissector, all access to actx->private_data should be made */
+/* through this API, which ensures that they will not overwrite each other!! */
+/*****************************************************************************/
+
+typedef struct umts_rrc_private_data_t
+{
+ guint32 s_rnc_id; /* The S-RNC ID part of a U-RNTI */
+ guint32 s_rnti; /* The S-RNTI part of a U-RNTI */
+ guint32 new_u_rnti;
+ guint32 current_u_rnti;
+ guint32 scrambling_code;
+ enum nas_sys_info_gsm_map cn_domain;
+ wmem_strbuf_t* digits_strbuf; /* A collection of digits in a string. Used for reconstructing IMSIs or MCC-MNC pairs */
+ wmem_strbuf_t* last_mcc_strbuf; /* Last seen MCC digits string */
+ gboolean digits_strbuf_parsing_failed_flag; /* Whether an error occurred when creating the IMSI/MCC-MNC pair string */
+ guint32 rbid;
+ guint32 rlc_ciphering_sqn; /* Sequence number where ciphering starts in a given bearer */
+ rrc_ciphering_info* ciphering_info;
+ enum rrc_ue_state rrc_state_indicator;
+ enum rrc_sib_segment_type curr_sib_segment_type;
+ guint32 curr_sib_type;
+} umts_rrc_private_data_t;
+
+
+/* Helper function to get or create a struct that will be actx->private_data */
+static umts_rrc_private_data_t* umts_rrc_get_private_data(asn1_ctx_t *actx)
+{
+ if (actx->private_data == NULL) {
+ actx->private_data = wmem_new0(actx->pinfo->pool, umts_rrc_private_data_t);
+ }
+ return (umts_rrc_private_data_t*)actx->private_data;
+}
+
+static guint32 private_data_get_s_rnc_id(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->s_rnc_id;
+}
+
+static void private_data_set_s_rnc_id(asn1_ctx_t *actx, guint32 s_rnc_id)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->s_rnc_id = s_rnc_id;
+}
+
+static guint32 private_data_get_s_rnti(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->s_rnti;
+}
+
+static void private_data_set_s_rnti(asn1_ctx_t *actx, guint32 s_rnti)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->s_rnti = s_rnti;
+}
+
+static guint32 private_data_get_new_u_rnti(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->new_u_rnti;
+}
+
+static void private_data_set_new_u_rnti(asn1_ctx_t *actx, guint32 new_u_rnti)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->new_u_rnti = new_u_rnti;
+}
+
+static guint32 private_data_get_current_u_rnti(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->current_u_rnti;
+}
+
+static void private_data_set_current_u_rnti(asn1_ctx_t *actx, guint32 current_u_rnti)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->current_u_rnti = current_u_rnti;
+}
+
+static guint32 private_data_get_scrambling_code(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->scrambling_code;
+}
+
+static void private_data_set_scrambling_code(asn1_ctx_t *actx, guint32 scrambling_code)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->scrambling_code = scrambling_code;
+}
+
+static enum nas_sys_info_gsm_map private_data_get_cn_domain(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->cn_domain;
+}
+
+static void private_data_set_cn_domain(asn1_ctx_t *actx, enum nas_sys_info_gsm_map cn_domain)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->cn_domain = cn_domain;
+}
+
+static wmem_strbuf_t* private_data_get_digits_strbuf(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->digits_strbuf;
+}
+
+static void private_data_set_digits_strbuf(asn1_ctx_t *actx, wmem_strbuf_t* digits_strbuf)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->digits_strbuf = digits_strbuf;
+}
+
+static gboolean private_data_get_digits_strbuf_parsing_failed_flag(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->digits_strbuf_parsing_failed_flag;
+}
+
+static void private_data_set_digits_strbuf_parsing_failed_flag(asn1_ctx_t *actx, gboolean digits_strbuf_parsing_failed_flag)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->digits_strbuf_parsing_failed_flag = digits_strbuf_parsing_failed_flag;
+}
+
+static wmem_strbuf_t* private_data_get_last_mcc_strbuf(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->last_mcc_strbuf;
+}
+
+static void private_data_set_last_mcc_strbuf(asn1_ctx_t *actx, wmem_strbuf_t* last_mcc_strbuf)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->last_mcc_strbuf = last_mcc_strbuf;
+}
+
+static guint32 private_data_get_rbid(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->rbid;
+}
+
+static void private_data_set_rbid(asn1_ctx_t *actx, guint32 rbid)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->rbid = rbid;
+}
+
+static guint32 private_data_get_rlc_ciphering_sqn(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->rlc_ciphering_sqn;
+}
+
+static void private_data_set_rlc_ciphering_sqn(asn1_ctx_t *actx, guint32 rlc_ciphering_sqn)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->rlc_ciphering_sqn = rlc_ciphering_sqn;
+}
+
+static rrc_ciphering_info* private_data_get_ciphering_info(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->ciphering_info;
+}
+
+static void private_data_set_ciphering_info(asn1_ctx_t *actx, rrc_ciphering_info* ciphering_info)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->ciphering_info = ciphering_info;
+}
+
+static enum rrc_ue_state private_data_get_rrc_state_indicator(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->rrc_state_indicator;
+}
+
+static void private_data_set_rrc_state_indicator(asn1_ctx_t *actx, enum rrc_ue_state rrc_state_indicator)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->rrc_state_indicator = rrc_state_indicator;
+}
+
+static enum rrc_sib_segment_type private_data_get_curr_sib_segment_type(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->curr_sib_segment_type;
+}
+
+static void private_data_set_curr_sib_segment_type(asn1_ctx_t *actx, enum rrc_sib_segment_type curr_sib_segment_type)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->curr_sib_segment_type = curr_sib_segment_type;
+}
+
+static guint32 private_data_get_curr_sib_type(asn1_ctx_t *actx)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ return private_data->curr_sib_type;
+}
+
+static void private_data_set_curr_sib_type(asn1_ctx_t *actx, guint32 curr_sib_type)
+{
+ umts_rrc_private_data_t *private_data = (umts_rrc_private_data_t*)umts_rrc_get_private_data(actx);
+ private_data->curr_sib_type = curr_sib_type;
+}
+
+/*****************************************************************************/
+
+static dissector_handle_t gsm_a_dtap_handle;
+static dissector_handle_t rrc_ue_radio_access_cap_info_handle=NULL;
+static dissector_handle_t rrc_pcch_handle=NULL;
+static dissector_handle_t rrc_ul_ccch_handle=NULL;
+static dissector_handle_t rrc_dl_ccch_handle=NULL;
+static dissector_handle_t rrc_ul_dcch_handle=NULL;
+static dissector_handle_t rrc_dl_dcch_handle=NULL;
+static dissector_handle_t rrc_bcch_fach_handle=NULL;
+static dissector_handle_t lte_rrc_ue_eutra_cap_handle=NULL;
+static dissector_handle_t lte_rrc_dl_dcch_handle=NULL;
+static dissector_handle_t gsm_rlcmac_dl_handle=NULL;
+
+/* Forward declarations */
+void proto_register_rrc(void);
+void proto_reg_handoff_rrc(void);
+static int dissect_UE_RadioAccessCapabilityInfo_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SysInfoType11bis_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SysInfoType11ter_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SysInfoType22_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+/* Include constants */
+#include "packet-rrc-val.h"
+
+/* Initialize the protocol and registered fields */
+int proto_rrc = -1;
+static int hf_test;
+static int hf_urnti;
+static int hf_urnti_new;
+static int hf_urnti_current;
+#include "packet-rrc-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_rrc = -1;
+
+#include "packet-rrc-ett.c"
+
+static gint ett_rrc_eutraFeatureGroupIndicators = -1;
+static gint ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo = -1;
+static gint ett_rrc_ims_info = -1;
+static gint ett_rrc_cellIdentity = -1;
+static gint ett_rrc_sib_data_var = -1;
+
+static expert_field ei_rrc_no_hrnti = EI_INIT;
+
+/* Global variables */
+static proto_tree *top_tree;
+
+static int hf_rrc_eutra_feat_group_ind_1 = -1;
+static int hf_rrc_eutra_feat_group_ind_2 = -1;
+static int hf_rrc_eutra_feat_group_ind_3 = -1;
+static int hf_rrc_eutra_feat_group_ind_4 = -1;
+static int hf_rrc_ims_info_atgw_trans_det_cont_type = -1;
+static int hf_rrc_ims_info_atgw_udp_port = -1;
+static int hf_rrc_ims_info_atgw_ipv4 = -1;
+static int hf_rrc_ims_info_atgw_ipv6 = -1;
+static int hf_rrc_cellIdentity_rnc_id = -1;
+static int hf_rrc_cellIdentity_c_id = -1;
+
+static const true_false_string rrc_eutra_feat_group_ind_1_val = {
+ "UTRA CELL_PCH to EUTRA RRC_IDLE cell reselection - Supported",
+ "UTRA CELL_PCH to EUTRA RRC_IDLE cell reselection - Not supported"
+};
+static const true_false_string rrc_eutra_feat_group_ind_2_val = {
+ "EUTRAN measurements and reporting in connected mode - Supported",
+ "EUTRAN measurements and reporting in connected mode - Not supported"
+};
+static const true_false_string rrc_eutra_feat_group_ind_3_val = {
+ "UTRA CELL_FACH absolute priority cell reselection for high priority layers - Supported",
+ "UTRA CELL_FACH absolute priority cell reselection for high priority layers - Not supported"
+};
+static const true_false_string rrc_eutra_feat_group_ind_4_val = {
+ "UTRA CELL_FACH absolute priority cell reselection for all layers - Supported",
+ "UTRA CELL_FACH absolute priority cell reselection for all layers - Not supported"
+};
+static const value_string rrc_ims_info_atgw_trans_det_cont_type[] = {
+ {0, "ATGW-IPv4-address-and-port"},
+ {1, "ATGW-IPv6-address-and-port"},
+ {2, "ATGW-not-available"},
+ {0, NULL}
+};
+static int flowd,type;
+
+/*Stores how many channels we have detected for a HS-DSCH MAC-flow*/
+#define RRC_MAX_NUM_HSDHSCH_MACDFLOW 8
+static guint8 num_chans_per_flow[RRC_MAX_NUM_HSDHSCH_MACDFLOW];
+
+/**
+ * Return the maximum counter, useful for initiating counters
+ */
+#if 0
+static int get_max_counter(int com_context){
+ int i;
+ guint32 max = 0;
+ rrc_ciphering_info * ciphering_info;
+
+ if( (ciphering_info = g_tree_lookup(rrc_ciph_info_tree, GINT_TO_POINTER((gint)com_context))) == NULL ){
+ return 0;
+ }
+ for(i = 0; i<31; i++){
+ max = MAX(ciphering_info->ps_conf_counters[i][0], max);
+ max = MAX(ciphering_info->ps_conf_counters[i][1], max);
+ }
+ return max;
+}
+#endif
+/** Utility functions used for various comparisons/cleanups in tree **/
+static gint rrc_key_cmp(gconstpointer b_ptr, gconstpointer a_ptr, gpointer ignore _U_){
+ if( GPOINTER_TO_INT(a_ptr) > GPOINTER_TO_INT(b_ptr) ){
+ return -1;
+ }
+ return GPOINTER_TO_INT(a_ptr) < GPOINTER_TO_INT(b_ptr);
+}
+
+static void rrc_free_value(gpointer value ){
+ g_free(value);
+}
+
+static rrc_ciphering_info*
+get_or_create_cipher_info(fp_info *fpinf, rlc_info *rlcinf) {
+ rrc_ciphering_info *cipher_info = NULL;
+ guint32 ueid;
+ int i;
+
+ if (!fpinf || !rlcinf)
+ return NULL;
+
+ ueid = rlcinf->ueid[fpinf->cur_tb];
+ cipher_info = (rrc_ciphering_info *)g_tree_lookup(rrc_ciph_info_tree, GINT_TO_POINTER((gint)ueid));
+
+ if( cipher_info == NULL ){
+ cipher_info = g_new0(rrc_ciphering_info,1);
+
+ /*Initiate tree with START_PS values.*/
+ if(!cipher_info->start_ps)
+ cipher_info->start_ps = g_tree_new_full(rrc_key_cmp,
+ NULL,NULL,rrc_free_value);
+
+ /*Clear and initialize seq_no matrix*/
+ for(i = 0; i< 31; i++){
+ cipher_info->seq_no[i][0] = -1;
+ cipher_info->seq_no[i][1] = -1;
+ }
+
+ /* Set algorithms to 'unknown' since 0s are valid values */
+ cipher_info->ciphering_algorithm = -1;
+ cipher_info->integrity_algorithm = -1;
+
+ g_tree_insert(rrc_ciph_info_tree, GINT_TO_POINTER((gint)rlcinf->ueid[fpinf->cur_tb]), cipher_info);
+ }
+ return cipher_info;
+}
+
+/* Try to find the NBAP C-RNC Context and, if found, pair it with a given U-RNTI */
+static void
+rrc_try_map_urnti_to_crncc(guint32 u_rnti, asn1_ctx_t *actx)
+{
+ guint32 scrambling_code, crnc_context;
+ /* Getting the user's Uplink Scrambling Code*/
+ scrambling_code = private_data_get_scrambling_code(actx);
+ if (u_rnti != 0 && scrambling_code != 0) {
+ /* Looking for the C-RNC Context mapped to this Scrambling Code */
+ crnc_context = GPOINTER_TO_UINT(wmem_tree_lookup32(nbap_scrambling_code_crncc_map,scrambling_code));
+ if (crnc_context != 0) {
+ /* Mapping the U-RNTI to the C-RNC context*/
+ wmem_tree_insert32(nbap_crncc_urnti_map,crnc_context,GUINT_TO_POINTER(u_rnti));
+ }
+ }
+}
+
+#include "packet-rrc-fn.c"
+
+
+static int
+dissect_rrc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ /* FIX ME Currently don't know the 'starting point' of this protocol
+ * exported DL-DCCH-Message is the entry point.
+ */
+ proto_item *rrc_item = NULL;
+ proto_tree *rrc_tree = NULL;
+ struct rrc_info *rrcinf;
+
+ top_tree = tree;
+ rrcinf = (struct rrc_info *)p_get_proto_data(wmem_file_scope(), pinfo, proto_rrc, 0);
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "RRC");
+
+ /*Clear memory*/
+ memset(num_chans_per_flow,0,sizeof(guint8)*RRC_MAX_NUM_HSDHSCH_MACDFLOW);
+
+ /* create the rrc protocol tree */
+ rrc_item = proto_tree_add_item(tree, proto_rrc, tvb, 0, -1, ENC_NA);
+ rrc_tree = proto_item_add_subtree(rrc_item, ett_rrc);
+
+ if (rrcinf) {
+ switch (rrcinf->msgtype[pinfo->fd->subnum]) {
+ case RRC_MESSAGE_TYPE_PCCH:
+ call_dissector(rrc_pcch_handle, tvb, pinfo, rrc_tree);
+ break;
+ case RRC_MESSAGE_TYPE_UL_CCCH:
+ call_dissector(rrc_ul_ccch_handle, tvb, pinfo, rrc_tree);
+ break;
+ case RRC_MESSAGE_TYPE_DL_CCCH:
+ call_dissector(rrc_dl_ccch_handle, tvb, pinfo, rrc_tree);
+ break;
+ case RRC_MESSAGE_TYPE_UL_DCCH:
+ call_dissector(rrc_ul_dcch_handle, tvb, pinfo, rrc_tree);
+ break;
+ case RRC_MESSAGE_TYPE_DL_DCCH:
+ call_dissector(rrc_dl_dcch_handle, tvb, pinfo, rrc_tree);
+ break;
+ case RRC_MESSAGE_TYPE_BCCH_FACH:
+ call_dissector(rrc_bcch_fach_handle, tvb, pinfo, rrc_tree);
+ break;
+ default:
+ ;
+ }
+ }
+ return tvb_captured_length(tvb);
+}
+
+static void
+rrc_init(void) {
+ /*Initialize structure for muxed flow indication*/
+ hsdsch_muxed_flows = g_tree_new_full(rrc_key_cmp,
+ NULL, /* data pointer, optional */
+ NULL,
+ rrc_free_value);
+
+ rrc_ciph_info_tree = g_tree_new_full(rrc_key_cmp,
+ NULL, /* data pointer, optional */
+ NULL,
+ rrc_free_value);
+
+ /* Global U-RNTI / C-RNTI map to be used in RACH channels */
+ rrc_global_urnti_crnti_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
+}
+
+static void
+rrc_cleanup(void) {
+ /*Cleanup*/
+ g_tree_destroy(hsdsch_muxed_flows);
+ g_tree_destroy(rrc_ciph_info_tree);
+}
+
+/*--- proto_register_rrc -------------------------------------------*/
+void proto_register_rrc(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-rrc-hfarr.c"
+ { &hf_test,
+ { "RAB Test", "rrc.RAB.test",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ "rrc.RAB_Info_r6", HFILL }},
+ { &hf_urnti,
+ { "U-RNTI", "rrc.urnti",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_urnti_new,
+ { "New U-RNTI", "rrc.urnti_new",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_urnti_current,
+ { "Current U-RNTI", "rrc.urnti_current",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_rrc_eutra_feat_group_ind_1,
+ { "Indicator 1", "rrc.eutra_feat_group_ind_1",
+ FT_BOOLEAN, BASE_NONE, TFS(&rrc_eutra_feat_group_ind_1_val), 0,
+ "EUTRA Feature Group Indicator 1", HFILL }},
+ { &hf_rrc_eutra_feat_group_ind_2,
+ { "Indicator 2", "rrc.eutra_feat_group_ind_2",
+ FT_BOOLEAN, BASE_NONE, TFS(&rrc_eutra_feat_group_ind_2_val), 0,
+ "EUTRA Feature Group Indicator 2", HFILL }},
+ { &hf_rrc_eutra_feat_group_ind_3,
+ { "Indicator 3", "rrc.eutra_feat_group_ind_3",
+ FT_BOOLEAN, BASE_NONE, TFS(&rrc_eutra_feat_group_ind_3_val), 0,
+ "EUTRA Feature Group Indicator 3", HFILL }},
+ { &hf_rrc_eutra_feat_group_ind_4,
+ { "Indicator 4", "rrc.eutra_feat_group_ind_4",
+ FT_BOOLEAN, BASE_NONE, TFS(&rrc_eutra_feat_group_ind_4_val), 0,
+ "EUTRA Feature Group Indicator 4", HFILL }},
+ { &hf_rrc_ims_info_atgw_trans_det_cont_type,
+ { "ATGW transfer details content type", "rrc.rsrvcc_info.ims_info_atgw_trans_det_cont",
+ FT_UINT8, BASE_DEC, VALS(rrc_ims_info_atgw_trans_det_cont_type), 0x3,
+ "rSR-VCC IMS information ATGW transfer details content type", HFILL }},
+ {&hf_rrc_ims_info_atgw_udp_port,
+ {"ATGW UDP port","rrc.rsrvcc_info.ims_info_atgw_udp_port",
+ FT_UINT16,BASE_DEC, NULL, 0x0,
+ "rSR-VCC IMS information ATGW UDP port", HFILL }},
+ { &hf_rrc_ims_info_atgw_ipv4,
+ {"ATGW IPv4", "rrc.rsrvcc_info.ims_info_atgw_ipv4",
+ FT_IPv4, BASE_NONE, NULL, 0x0,
+ "rSR-VCC IMS information ATGW IPv4", HFILL}},
+ { &hf_rrc_ims_info_atgw_ipv6,
+ {"ATGW IPv6", "rrc.rsrvcc_info.ims_info_atgw_ipv6",
+ FT_IPv6, BASE_NONE, NULL, 0x0,
+ "rSR-VCC IMS information ATGW IPv6", HFILL}},
+ { &hf_rrc_cellIdentity_rnc_id,
+ {"RNC Identifier", "rrc.cellIdentity.rnc_id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "The RNC Identifier (RNC-Id) part of the Cell Identity", HFILL }},
+ { &hf_rrc_cellIdentity_c_id,
+ {"Cell Identifier", "rrc.cellIdentity.c_id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "The Cell Identifier (C-Id) part of the Cell Identity", HFILL }}
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_rrc,
+#include "packet-rrc-ettarr.c"
+ &ett_rrc_eutraFeatureGroupIndicators,
+ &ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo,
+ &ett_rrc_ims_info,
+ &ett_rrc_cellIdentity,
+ &ett_rrc_sib_data_var,
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_rrc_no_hrnti, { "rrc.no_hrnti", PI_SEQUENCE, PI_NOTE, "Did not detect any H-RNTI", EXPFILL }},
+ };
+
+ expert_module_t* expert_rrc;
+ module_t *rrc_module;
+
+ /* Register protocol */
+ proto_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_rrc, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_rrc = expert_register_protocol(proto_rrc);
+ expert_register_field_array(expert_rrc, ei, array_length(ei));
+
+ register_dissector("rrc", dissect_rrc, proto_rrc);
+
+#include "packet-rrc-dis-reg.c"
+
+ register_init_routine(rrc_init);
+ register_cleanup_routine(rrc_cleanup);
+
+ /* Register configuration preferences */
+ rrc_module = prefs_register_protocol(proto_rrc, NULL);
+ prefs_register_bool_preference(rrc_module, "nas_in_root_tree",
+ "Show NAS PDU in root packet details",
+ "Whether the NAS PDU should be shown in the root packet details tree",
+ &rrc_nas_in_root_tree);
+}
+
+
+/*--- proto_reg_handoff_rrc ---------------------------------------*/
+void
+proto_reg_handoff_rrc(void)
+{
+ gsm_a_dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_rrc);
+ rrc_pcch_handle = find_dissector("rrc.pcch");
+ rrc_ul_ccch_handle = find_dissector("rrc.ul.ccch");
+ rrc_dl_ccch_handle = find_dissector("rrc.dl.ccch");
+ rrc_ul_dcch_handle = find_dissector("rrc.ul.dcch");
+ rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch");
+ rrc_ue_radio_access_cap_info_handle = find_dissector("rrc.ue_radio_access_cap_info");
+ rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch");
+ lte_rrc_ue_eutra_cap_handle = find_dissector_add_dependency("lte-rrc.ue_eutra_cap", proto_rrc);
+ lte_rrc_dl_dcch_handle = find_dissector_add_dependency("lte-rrc.dl.dcch", proto_rrc);
+ rrc_bcch_fach_handle = find_dissector("rrc.bcch.fach");
+ gsm_rlcmac_dl_handle = find_dissector_add_dependency("gsm_rlcmac_dl", proto_rrc);
+}
+
+
diff --git a/epan/dissectors/asn1/rrc/packet-rrc-template.h b/epan/dissectors/asn1/rrc/packet-rrc-template.h
new file mode 100644
index 00000000..2b38d273
--- /dev/null
+++ b/epan/dissectors/asn1/rrc/packet-rrc-template.h
@@ -0,0 +1,68 @@
+/* packet-rrc-template.h
+ * Copyright 2009, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_RRC_H
+#define PACKET_RRC_H
+
+#include <epan/asn1.h> /* Needed for non asn1 dissectors?*/
+
+extern int proto_rrc;
+#include "packet-rrc-exp.h"
+
+enum rrc_message_type {
+ RRC_MESSAGE_TYPE_INVALID = 0,
+ RRC_MESSAGE_TYPE_PCCH = 1,
+ RRC_MESSAGE_TYPE_UL_CCCH,
+ RRC_MESSAGE_TYPE_DL_CCCH,
+ RRC_MESSAGE_TYPE_UL_DCCH,
+ RRC_MESSAGE_TYPE_DL_DCCH,
+ RRC_MESSAGE_TYPE_BCCH_FACH
+};
+
+enum nas_sys_info_gsm_map {
+ RRC_NAS_SYS_UNKNOWN = 0,
+ RRC_NAS_SYS_INFO_CS,
+ RRC_NAS_SYS_INFO_PS,
+ RRC_NAS_SYS_INFO_CN_COMMON
+};
+
+enum rrc_ue_state {
+ RRC_UE_STATE_UNKNOWN = 0,
+ RRC_UE_STATE_CELL_DCH,
+ RRC_UE_STATE_CELL_FACH,
+ RRC_UE_STATE_CELL_PCH,
+ RRC_UE_STATE_URA_PCH
+};
+
+#define MAX_RRC_FRAMES 64
+typedef struct rrc_info
+{
+ enum rrc_message_type msgtype[MAX_RRC_FRAMES];
+ guint16 hrnti[MAX_RRC_FRAMES];
+} rrc_info;
+
+/*Struct for storing ciphering information*/
+typedef struct rrc_ciphering_info
+{
+ int seq_no[31][2]; /*Indicates for each Rbid when ciphering starts - Indexers are [BearerID][Direction]*/
+ GTree * /*guint32*/ start_cs; /*Start value for CS counter*/
+ GTree * /*guint32*/ start_ps; /*Start value for PS counter*/
+ gint32 ciphering_algorithm; /*Indicates which type of ciphering algorithm used*/
+ gint32 integrity_algorithm; /*Indicates which type of integrity algorithm used*/
+ guint32 setup_frame[2]; /*Store which frame contained this information - Indexer is [Direction]*/
+ guint32 ps_conf_counters[31][2]; /*This should also be made for CS*/
+
+} rrc_ciphering_info;
+
+extern GTree * hsdsch_muxed_flows;
+extern GTree * rrc_ciph_info_tree;
+extern wmem_tree_t* rrc_global_urnti_crnti_map;
+
+#endif /* PACKET_RRC_H */
diff --git a/epan/dissectors/asn1/rrc/rrc.cnf b/epan/dissectors/asn1/rrc/rrc.cnf
new file mode 100644
index 00000000..381c274c
--- /dev/null
+++ b/epan/dissectors/asn1/rrc/rrc.cnf
@@ -0,0 +1,1792 @@
+# rrc.cnf
+# rrc conformation file
+# Copyright 2006 Anders Broman
+
+#.OPT
+PER
+UNALIGNED
+PROTO_ROOT_NAME proto_rrc
+#.END
+
+#.USE_VALS_EXT
+AverageRLC-BufferPayload
+DL-DCCH-MessageType
+DL-TS-ChannelisationCode-VHCR
+EstablishmentCause
+E-DCH-MAC-d-FlowRetransTimer
+HARQMemorySize
+CommonEDCHSystemInfo/modeSpecificInfo/tdd/tdd128/ccch-transmission-Info/harq-retransmission-timer
+MBMS-AccessProbabilityFactor
+PNBSCH-Allocation-r4/numberOfRepetitionsPerSFNPeriod
+RadioFrequencyBandFDD3
+E-PUCH-Info/modeSpecificInfo/tdd128/retransTimerForSchedInfo
+E-PUCH-Info-TDD128/retransTimerForSchedInfo
+ReceivedMessageType
+RLC-BuffersPayload
+SCCPCH-ChannelisationCode-VHCR
+SFN-SFN-Drift
+SIBSb-TypeAndTag
+SIB-Type
+SIB-TypeAndTag
+SIB-TypeAndTag2
+TDD768-PICH-CCode
+TDD-PRACH-CCode-LCR-r4
+TimerPoll
+TimerPollProhibit
+TimerStatusProhibit
+TrafficVolumeThreshold
+U-RNTI-Group
+UL-DCCH-MessageType
+UL-TS-ChannelisationCode
+UL-TS-ChannelisationCode-VHCR
+MinimumTEBS-threshold
+UE-DTX-Cycle2-2ms-Secondary
+SIB-Type2
+WLANThreshBackhaulRate
+
+#.EXPORTS
+InterRATHandoverInfo
+InterRATHandoverInfo_PDU
+ToTargetRNC-Container_PDU
+TargetRNC-ToSourceRNC-Container_PDU
+HandoverToUTRANCommand_PDU
+SysInfoType1_PDU
+SysInfoType2_PDU
+SysInfoType3_PDU
+SysInfoType4_PDU
+SysInfoType5_PDU
+SysInfoType6_PDU
+SysInfoType7_PDU
+SysInfoType11_PDU
+SysInfoType12_PDU
+SysInfoType13_PDU
+SysInfoType13-1_PDU
+SysInfoType13-2_PDU
+SysInfoType13-3_PDU
+SysInfoType13-4_PDU
+SysInfoType14_PDU
+SysInfoType15_PDU
+SysInfoType15-1_PDU
+SysInfoType15-2_PDU
+SysInfoType15-3_PDU
+SysInfoType15-4_PDU
+SysInfoType16_PDU
+SysInfoType17_PDU
+SysInfoType18_PDU
+SysInfoType19_PDU
+SysInfoTypeSB1_PDU
+SysInfoTypeSB2_PDU
+MasterInformationBlock_PDU
+MeasurementReport_PDU
+
+#.OMIT_ASSIGNMENT
+# Omit System-Information-Container for now it messes up the
+# MasterInformationBlock @si.mib
+# :
+# for some reason
+UE-RadioAccessCapability-v890ext
+UE-RadioAccessCapability-va60ext
+UL-PhysChCapabilityFDD-r6
+GSMCellGroupingList
+UE-Positioning-GANSS-Data
+GANSSDecipheringKeys
+GSM-CellID
+RRCConnectionRelease-CCCH-va40ext-IEs
+MeasuredResultsList-vd20ext
+#.END
+
+#.PDU
+
+DL-DCCH-Message @dl.dcch
+UL-DCCH-Message @ul.dcch
+DL-CCCH-Message @dl.ccch
+UL-CCCH-Message @ul.ccch
+PCCH-Message @pcch
+DL-SHCCH-Message @dl.shcch
+UL-SHCCH-Message @ul.shcch
+BCCH-FACH-Message @bcch.fach
+BCCH-BCH-Message @bcch.bch
+BCCH-BCH2-Message @bcch.bch2
+MCCH-Message @mcch
+MSCH-Message @msch
+SystemInformation-BCH @sysinfo
+SystemInformation2-BCH @sysinfo2
+System-Information-Container @sysinfo.cont
+MasterInformationBlock @si.mib
+MeasurementReport
+SysInfoType1 @si.sib1
+SysInfoType2 @si.sib2
+SysInfoType3 @si.sib3
+SysInfoType4 @si.sib4
+SysInfoType5 @si.sib5
+SysInfoType5bis @si.sib5bis
+SysInfoType6 @si.sib6
+SysInfoType7 @si.sib7
+SysInfoType8 @si.sib8
+SysInfoType9 @si.sib9
+SysInfoType10 @si.sib10
+SysInfoType11 @si.sib11
+SysInfoType11bis @si.sib11bis
+SysInfoType11ter @si.sib11ter
+SysInfoType12 @si.sib12
+SysInfoType13 @si.sib13
+SysInfoType13-1 @si.sib13-1
+SysInfoType13-2 @si.sib13-2
+SysInfoType13-3 @si.sib13-3
+SysInfoType13-4 @si.sib13-4
+SysInfoType14 @si.sib14
+SysInfoType15 @si.sib15
+SysInfoType15bis @si.sib15bis
+SysInfoType15-1 @si.sib15-1
+SysInfoType15-1bis @si.sib15-1bis
+SysInfoType15-1ter @si.sib15-1ter
+SysInfoType15-2 @si.sib15-2
+SysInfoType15-2bis @si.sib15-2bis
+SysInfoType15-2ter @si.sib15-2ter
+SysInfoType15-3 @si.sib15-3
+SysInfoType15-3bis @si.sib15-3bis
+SysInfoType15-4 @si.sib15-4
+SysInfoType15-5 @si.sib15-5
+SysInfoType15-6 @si.sib15-6
+SysInfoType15-7 @si.sib15-7
+SysInfoType15-8 @si.sib15-8
+SysInfoType16 @si.sib16
+SysInfoType17 @si.sib17
+SysInfoType18 @si.sib18
+SysInfoType19 @si.sib19
+SysInfoType20 @si.sib20
+SysInfoType21 @si.sib21
+SysInfoType22 @si.sib22
+SysInfoType23 @si.sib23
+SysInfoType24 @si.sib24
+SysInfoType25 @si.sib25
+SysInfoTypeSB1 @si.sb1
+SysInfoTypeSB2 @si.sb2
+SysInfoTypeSB3 @si.sb3
+HandoverToUTRANCommand @irat.ho_to_utran_cmd
+InterRATHandoverInfo @irat.irat_ho_info
+UE-RadioAccessCapabilityInfo @ue_radio_access_cap_info
+ToTargetRNC-Container @s_to_trnc_cont
+TargetRNC-ToSourceRNC-Container @t_to_srnc_cont
+
+#.FIELD_RENAME
+HandoverFromUTRANCommand-GSM-r3-IEs/gsm-message/gsm-MessageList gsm-MessageList-r3
+HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/gsm-MessageList gsm-MessageList-r6
+HandoverFromUTRANFailure/interRATMessage/gsm/gsm-MessageList gsm-MessageList-gsm
+
+HandoverFromUTRANCommand-GSM-r3-IEs/gsm-message/single-GSM-Message single-GSM-Message-r3
+HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/single-GSM-Message single-GSM-Message-r6
+
+#.END
+
+#.FN_BODY NAS-Message VAL_PTR = &nas_message_tvb
+ tvbuff_t *nas_message_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (nas_message_tvb && gsm_a_dtap_handle) {
+ proto_tree *nas_tree = rrc_nas_in_root_tree ? proto_tree_get_root(tree) : tree;
+ call_dissector(gsm_a_dtap_handle,nas_message_tvb,%(ACTX)s->pinfo, nas_tree);
+ }
+
+#.FN_BODY InterRATHandoverInfo/ue-CapabilityContainer/present VAL_PTR = &ue_radio_access_cap_info_tvb
+ tvbuff_t *ue_radio_access_cap_info_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (ue_radio_access_cap_info_tvb)
+ call_dissector(rrc_ue_radio_access_cap_info_handle,ue_radio_access_cap_info_tvb,%(ACTX)s->pinfo, tree);
+
+#.END
+
+#.FN_BODY ActiveSetUpdate
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "ActiveSetUpdate");
+%(DEFAULT_BODY)s
+
+#.FN_BODY ActiveSetUpdateComplete
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "ActiveSetUpdateComplete");
+%(DEFAULT_BODY)s
+
+#.FN_BODY ActiveSetUpdateFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "ActiveSetUpdateFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY AssistanceDataDelivery
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "AssistanceDataDelivery");
+%(DEFAULT_BODY)s
+
+#.FN_BODY CellChangeOrderFromUTRAN
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CellChangeOrderFromUTRAN");
+%(DEFAULT_BODY)s
+
+#.FN_BODY CellChangeOrderFromUTRANFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CellChangeOrderFromUTRANFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY CellUpdate
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CellUpdate");
+%(DEFAULT_BODY)s
+
+#.FN_BODY CellUpdateFDD-r11
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CellUpdateFDD-r11");
+%(DEFAULT_BODY)s
+
+#.FN_BODY CellUpdateConfirm-CCCH
+ fp_info *fpinf = NULL;
+ rlc_info *rlcinf = NULL;
+ guint32 u_rnti;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CellUpdateConfirm-CCCH");
+%(DEFAULT_BODY)s
+ if(PINFO_FD_VISITED(actx->pinfo)) {
+ return offset;
+ }
+
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+
+ /*If FP info or RLC info is missing , skip all this*/
+ if(fpinf == NULL || rlcinf == NULL){
+ return offset;
+ }
+
+ /* If UE is moving to CELL_DCH we need to map it's U-RNTI to the new CRNC context in NBAP */
+ if (private_data_get_rrc_state_indicator(actx) == RRC_UE_STATE_CELL_DCH) {
+ u_rnti = private_data_get_current_u_rnti(actx);
+ rrc_try_map_urnti_to_crncc(u_rnti, actx);
+ }
+
+#.FN_BODY CellUpdateConfirm
+ fp_info *fpinf = NULL;
+ rlc_info *rlcinf = NULL;
+ guint32 u_rnti;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CellUpdateConfirm");
+%(DEFAULT_BODY)s
+ if(PINFO_FD_VISITED(actx->pinfo)) {
+ return offset;
+ }
+
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+
+ /*If FP info or RLC info is missing , skip all this*/
+ if(fpinf == NULL || rlcinf == NULL){
+ return offset;
+ }
+
+ /* If UE is moving to CELL_DCH we need to map it's U-RNTI to the new CRNC context in NBAP */
+ if (private_data_get_rrc_state_indicator(actx) == RRC_UE_STATE_CELL_DCH) {
+ u_rnti = rlcinf->ueid[fpinf->cur_tb]; /* Hopefully a U-RNTI, might be C-RNTI */
+ rrc_try_map_urnti_to_crncc(u_rnti, actx);
+ }
+
+#.FN_BODY CounterCheck
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CounterCheck");
+%(DEFAULT_BODY)s
+
+#.FN_BODY CounterCheckResponse
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "CounterCheckResponse");
+%(DEFAULT_BODY)s
+
+#.FN_BODY DownlinkDirectTransfer
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "DownlinkDirectTransfer");
+%(DEFAULT_BODY)s
+
+#.FN_BODY ETWSPrimaryNotificationWithSecurity
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "ETWSPrimaryNotificationWithSecurity");
+%(DEFAULT_BODY)s
+
+#.FN_BODY HandoverToUTRANComplete
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverToUTRANComplete");
+%(DEFAULT_BODY)s
+
+#.FN_BODY InitialDirectTransfer
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "InitialDirectTransfer");
+%(DEFAULT_BODY)s
+
+#.FN_BODY HandoverFromUTRANCommand-EUTRA
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANCommand-EUTRA");
+%(DEFAULT_BODY)s
+
+#.FN_BODY HandoverFromUTRANCommand-GERANIu
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANCommand-GERANIu");
+%(DEFAULT_BODY)s
+
+#.FN_BODY HandoverFromUTRANCommand-GSM
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANCommand-GSM");
+%(DEFAULT_BODY)s
+
+#.FN_BODY HandoverFromUTRANCommand-CDMA2000
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANCommand-CDMA2000");
+%(DEFAULT_BODY)s
+
+#.FN_BODY HandoverFromUTRANFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY LoggingMeasurementConfiguration
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "LoggingMeasurementConfiguration");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MBMSAccessInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSAccessInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MBMSCommonPTMRBInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSCommonPTMRBInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MBMSCurrentCellPTMRBInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSCurrentCellPTMRBInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MBMSGeneralInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSGeneralInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MBMSModificationRequest
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSModificationRequest");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MBMSModifiedServicesInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSModifiedServicesInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MBMSNeighbouringCellPTMRBInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSNeighbouringCellPTMRBInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MBMSSchedulingInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSSchedulingInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MBMSUnmodifiedServicesInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSUnmodifiedServicesInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MeasurementControl
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MeasurementControl");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MeasurementControlFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MeasurementControlFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY MeasurementReport
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MeasurementReport");
+%(DEFAULT_BODY)s
+
+#.FN_BODY PagingType1
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "PagingType1");
+%(DEFAULT_BODY)s
+
+#.FN_BODY PagingType2
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "PagingType2");
+%(DEFAULT_BODY)s
+
+#.FN_BODY PhysicalChannelReconfiguration
+ fp_info *fpinf = NULL;
+ rlc_info *rlcinf = NULL;
+ guint32 u_rnti;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "PhysicalChannelReconfiguration");
+%(DEFAULT_BODY)s
+ if(PINFO_FD_VISITED(actx->pinfo)) {
+ return offset;
+ }
+
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+
+ /*If FP info or RLC info is missing , skip all this*/
+ if(fpinf == NULL || rlcinf == NULL){
+ return offset;
+ }
+
+ /* If we receive this message on FACH and UE is moving to CELL_DCH */
+ /* we need to map it's U-RNTI to the new CRNC context in NBAP */
+ if (fpinf->channel == CHANNEL_FACH_FDD && private_data_get_rrc_state_indicator(actx) == RRC_UE_STATE_CELL_DCH) {
+ u_rnti = rlcinf->ueid[fpinf->cur_tb]; /* Hopefully a U-RNTI, might be C-RNTI */
+ rrc_try_map_urnti_to_crncc(u_rnti, actx);
+ }
+
+#.FN_BODY PhysicalChannelReconfigurationComplete
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "PhysicalChannelReconfigurationComplete");
+%(DEFAULT_BODY)s
+
+#.FN_BODY PhysicalChannelReconfigurationFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "PhysicalChannelReconfigurationFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY PhysicalSharedChannelAllocation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "PhysicalSharedChannelAllocation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY PUSCHCapacityRequest
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "PUSCHCapacityRequest");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RadioBearerReconfiguration
+ fp_info *fpinf = NULL;
+ rlc_info *rlcinf = NULL;
+ guint32 u_rnti;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReconfiguration");
+%(DEFAULT_BODY)s
+ if(PINFO_FD_VISITED(actx->pinfo)) {
+ return offset;
+ }
+
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+
+ /*If FP info or RLC info is missing , skip all this*/
+ if(fpinf == NULL || rlcinf == NULL){
+ return offset;
+ }
+
+ /* If we receive this message on FACH and UE is moving to CELL_DCH */
+ /* we need to map it's U-RNTI to the new CRNC context in NBAP */
+ if (fpinf->channel == CHANNEL_FACH_FDD && private_data_get_rrc_state_indicator(actx) == RRC_UE_STATE_CELL_DCH) {
+ u_rnti = rlcinf->ueid[fpinf->cur_tb]; /* Hopefully a U-RNTI, might be C-RNTI */
+ rrc_try_map_urnti_to_crncc(u_rnti, actx);
+ }
+
+#.FN_BODY RadioBearerReconfigurationComplete
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReconfigurationComplete");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RadioBearerReconfigurationFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReconfigurationFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RadioBearerRelease
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerRelease");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RadioBearerReleaseComplete
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReleaseComplete");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RadioBearerReleaseFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReleaseFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RadioBearerSetup
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerSetup");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RadioBearerSetupComplete
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerSetupComplete");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RadioBearerSetupFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerSetupFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RRCConnectionReject
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReject");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RRCConnectionRelease
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRelease");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RRCConnectionRelease-CCCH
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRelease-CCCH");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RRCConnectionReleaseComplete
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReleaseComplete");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RRCConnectionRequest
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRequest");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RRCConnectionSetup
+ guint32 new_u_rnti;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetup");
+%(DEFAULT_BODY)s
+ if (PINFO_FD_VISITED(actx->pinfo)) {
+ return offset;
+ }
+
+ /* Trying to map the U-RNTI assigned to the user to CRNC Context from NBAP*/
+ new_u_rnti = private_data_get_new_u_rnti(actx);
+ rrc_try_map_urnti_to_crncc(new_u_rnti, actx);
+
+#.FN_BODY RRCConnectionSetupComplete
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetupComplete");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RRCStatus
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCStatus");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SecurityModeCommand
+ fp_info *fpinf;
+ rlc_info *rlcinf;
+ rrc_ciphering_info *ciphering_info = NULL;
+ guint8 direction;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeCommand");
+
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+
+ /*If FP info or RLC info is missing , skip all this*/
+ if(fpinf != NULL && rlcinf != NULL){
+ ciphering_info = get_or_create_cipher_info(fpinf, rlcinf);
+ private_data_set_ciphering_info(actx, ciphering_info);
+ }
+%(DEFAULT_BODY)s
+ if( ciphering_info != NULL ){
+ direction = P2P_DIR_DL; /* Security Mode Command is from the RNC, direction is always downlink */
+ ciphering_info->setup_frame[direction] = actx->pinfo->num;
+ }
+
+#.FN_BODY SecurityModeComplete
+ fp_info *fpinf;
+ rlc_info *rlcinf;
+ rrc_ciphering_info *ciphering_info = NULL;
+ guint8 direction;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeComplete");
+
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+
+ /*If FP info or RLC info is missing , skip all this*/
+ if(fpinf != NULL || rlcinf != NULL){
+ ciphering_info = get_or_create_cipher_info(fpinf, rlcinf);
+ private_data_set_ciphering_info(actx, ciphering_info);
+ }
+
+%(DEFAULT_BODY)s
+ if( ciphering_info != NULL ){
+ direction = P2P_DIR_UL; /* Security Mode Complete is from the UE, direction is always uplink */
+ ciphering_info->setup_frame[direction] = actx->pinfo->num;
+ }
+
+
+#.FN_BODY SecurityModeFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SignallingConnectionRelease
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SignallingConnectionRelease");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SignallingConnectionReleaseIndication
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SignallingConnectionReleaseIndication");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SystemInformation-BCH
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation-BCH");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SystemInformation-FACH
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation-FACH");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SystemInformationChangeIndication
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationChangeIndication");
+%(DEFAULT_BODY)s
+
+#.FN_BODY TransportChannelReconfiguration
+ fp_info *fpinf = NULL;
+ rlc_info *rlcinf = NULL;
+ guint32 u_rnti;
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportChannelReconfiguration");
+%(DEFAULT_BODY)s
+ if(PINFO_FD_VISITED(actx->pinfo)) {
+ return offset;
+ }
+
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+
+ /*If FP info or RLC info is missing , skip all this*/
+ if(fpinf == NULL || rlcinf == NULL){
+ return offset;
+ }
+
+ /* If we receive this message on FACH and UE is moving to CELL_DCH */
+ /* we need to map it's U-RNTI to the new CRNC context in NBAP */
+ if (fpinf->channel == CHANNEL_FACH_FDD && private_data_get_rrc_state_indicator(actx) == RRC_UE_STATE_CELL_DCH) {
+ u_rnti = rlcinf->ueid[fpinf->cur_tb]; /* Hopefully a U-RNTI, might be C-RNTI */
+ rrc_try_map_urnti_to_crncc(u_rnti, actx);
+ }
+
+#.FN_BODY TransportChannelReconfigurationComplete
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportChannelReconfigurationComplete");
+%(DEFAULT_BODY)s
+
+#.FN_BODY TransportChannelReconfigurationFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportChannelReconfigurationFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY TransportFormatCombinationControl
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportFormatCombinationControl");
+%(DEFAULT_BODY)s
+
+#.FN_BODY TransportFormatCombinationControlFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportFormatCombinationControlFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UECapabilityEnquiry
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityEnquiry");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UECapabilityInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UECapabilityInformationConfirm
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityInformationConfirm");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UEInformationRequest
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UEInformationRequest");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UEInformationResponse
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UEInformationResponse");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UplinkDirectTransfer
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UplinkDirectTransfer");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UplinkPhysicalChannelControl
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UplinkPhysicalChannelControl");
+%(DEFAULT_BODY)s
+
+#.FN_BODY URAUpdate
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "URAUpdate");
+%(DEFAULT_BODY)s
+
+#.FN_BODY URAUpdateConfirm
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "URAUpdateConfirm");
+%(DEFAULT_BODY)s
+
+#.FN_BODY URAUpdateConfirm-CCCH
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "URAUpdateConfirm-CCCH");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UTRANMobilityInformation
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformation");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UTRANMobilityInformationConfirm
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformationConfirm");
+%(DEFAULT_BODY)s
+
+#.FN_BODY UTRANMobilityInformationFailure
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformationFailure");
+%(DEFAULT_BODY)s
+
+#.FN_BODY TargetRNC-ToSourceRNC-Container/dL-DCCHmessage VAL_PTR = &dl_dcch_message_tvb
+ tvbuff_t *dl_dcch_message_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (dl_dcch_message_tvb)
+ call_dissector(rrc_dl_dcch_handle,dl_dcch_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
+
+#.FN_BODY GSM-MessageList/_item VAL_PTR = &gsm_messagelist_tvb
+ tvbuff_t *gsm_messagelist_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if (gsm_messagelist_tvb && gsm_a_dtap_handle)
+ call_dissector(gsm_a_dtap_handle,gsm_messagelist_tvb,actx->pinfo, tree);
+
+#.FN_BODY HandoverFromUTRANCommand-GSM-r3-IEs/gsm-message/single-GSM-Message single-GSM-Message-r3
+ tvbuff_t *gsm_message_tvb=NULL;
+ guint bits_remaining, whole_octets_remaining;
+
+%(DEFAULT_BODY)s
+
+ bits_remaining = 8*tvb_reported_length(tvb) - offset;
+ whole_octets_remaining = bits_remaining / 8;
+
+ gsm_message_tvb = tvb_new_octet_aligned(tvb, offset, 8*whole_octets_remaining);
+
+ if (gsm_message_tvb) {
+ add_new_data_source(actx->pinfo,gsm_message_tvb,"GSM Message(aligned)");
+ call_dissector(gsm_a_dtap_handle,gsm_message_tvb,actx->pinfo, tree);
+ }
+#.FN_BODY HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/single-GSM-Message single-GSM-Message-r6
+ tvbuff_t *gsm_message_tvb=NULL;
+ guint bits_remaining, whole_octets_remaining;
+
+%(DEFAULT_BODY)s
+
+ bits_remaining = 8*tvb_reported_length(tvb) - offset;
+ whole_octets_remaining = bits_remaining / 8;
+
+ gsm_message_tvb = tvb_new_octet_aligned(tvb, offset, 8*whole_octets_remaining);
+
+ if (gsm_message_tvb && gsm_a_dtap_handle) {
+ add_new_data_source(actx->pinfo,gsm_message_tvb,"GSM Message(aligned)");
+ call_dissector(gsm_a_dtap_handle,gsm_message_tvb,actx->pinfo, tree);
+ }
+
+#.FN_BODY GERAN-SystemInfoBlock VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ guint8 byte = tvb_get_guint8(parameter_tvb, 0);
+ if (byte == 0x06) {
+ if (gsm_a_dtap_handle) {
+ call_dissector(gsm_a_dtap_handle, parameter_tvb, actx->pinfo, tree);
+ }
+ } else {
+ if (gsm_rlcmac_dl_handle) {
+ call_dissector(gsm_rlcmac_dl_handle, parameter_tvb, actx->pinfo, tree);
+ }
+ }
+ }
+
+#.FN_BODY GSM-Classmark2 VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ de_ms_cm_2(parameter_tvb, tree, actx->pinfo, 2, tvb_get_guint8(parameter_tvb,1), NULL, 0);
+ }
+
+#.FN_BODY GSM-Classmark3 VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ de_ms_cm_3(parameter_tvb, tree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+ }
+
+#.FN_BODY GSM-MS-RadioAccessCapability VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ de_gmm_ms_radio_acc_cap(parameter_tvb, tree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+ }
+
+#.FN_BODY InterRATHandoverInfoWithInterRATCapabilities-r3-IEs/interRATHandoverInfo VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb){
+ dissect_rrc_InterRATHandoverInfo_PDU(parameter_tvb, actx->pinfo, tree, NULL);
+ }
+
+#.FN_BODY EUTRA-RadioAccessCapability/ue-EUTRA-Capability VAL_PTR = &ue_eutra_cap_tvb
+ tvbuff_t *ue_eutra_cap_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ue_eutra_cap_tvb && lte_rrc_ue_eutra_cap_handle)
+ call_dissector(lte_rrc_ue_eutra_cap_handle, ue_eutra_cap_tvb, actx->pinfo, tree);
+
+#.FN_BODY HandoverFromUTRANCommand-EUTRA-r8-IEs/eutra-Message VAL_PTR = &eutra_message_tvb
+ tvbuff_t *eutra_message_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (eutra_message_tvb && lte_rrc_dl_dcch_handle)
+ call_dissector(lte_rrc_dl_dcch_handle, eutra_message_tvb, actx->pinfo, tree);
+
+#.FN_BODY HandoverFromUTRANCommand-EUTRA-r11-IEs/eutra-Message VAL_PTR = &eutra_message_tvb
+ tvbuff_t *eutra_message_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (eutra_message_tvb && lte_rrc_dl_dcch_handle)
+ call_dissector(lte_rrc_dl_dcch_handle, eutra_message_tvb, actx->pinfo, tree);
+
+#.FN_BODY HandoverFromUtranFailure-v860ext-IEs/eutra-Message VAL_PTR = &eutra_message_tvb
+ tvbuff_t *eutra_message_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (eutra_message_tvb && lte_rrc_dl_dcch_handle)
+ call_dissector(lte_rrc_dl_dcch_handle, eutra_message_tvb, actx->pinfo, tree);
+
+#.FN_BODY MultiModeRAT-Capability-v860ext/eutraFeatureGroupIndicators VAL_PTR = &eutraFeatureGroupIndicators_tvb
+ tvbuff_t *eutraFeatureGroupIndicators_tvb=NULL;
+%(DEFAULT_BODY)s
+ if(eutraFeatureGroupIndicators_tvb){
+ /* Dissect eutraFeatureGroupIndicators */
+ proto_tree *subtree;
+ gint curr_bit_offset = 0;
+ subtree = proto_item_add_subtree(actx->created_item, ett_rrc_eutraFeatureGroupIndicators);
+ proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_1, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
+ curr_bit_offset++;
+ proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_2, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
+ curr_bit_offset++;
+ proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_3, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
+ curr_bit_offset++;
+ proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_4, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
+}
+
+#.FN_BODY PLMN-Identity
+ wmem_strbuf_t* mcc_mnc_strbuf;
+ wmem_strbuf_t* mcc_strbuf;
+ guint32 string_len;
+ gchar* mcc_mnc_string;
+ tvbuff_t* mcc_mnc_tvb;
+
+ /* Reset the digits string in the private data struct */
+ /* Maximal length: 7 = 3 digits MCC + 3 digits MNC + trailing '\0' */
+ mcc_mnc_strbuf = wmem_strbuf_new_sized(actx->pinfo->pool,7);
+ private_data_set_digits_strbuf(actx, mcc_mnc_strbuf);
+ /* Reset parsing failure flag*/
+ private_data_set_digits_strbuf_parsing_failed_flag(actx, FALSE);
+%(DEFAULT_BODY)s
+ private_data_set_digits_strbuf(actx, NULL);
+ /* Check for parsing errors */
+ if(private_data_get_digits_strbuf_parsing_failed_flag(actx)) {
+ return offset;
+ }
+
+ /* Extracting the string collected in the strbuf */
+ string_len = (guint32)wmem_strbuf_get_len(mcc_mnc_strbuf);
+ mcc_mnc_string = wmem_strbuf_finalize(mcc_mnc_strbuf);
+
+ if(string_len >= 3)
+ {
+ /* 3 MCC digits were found, keep for later in case MCC is missing in other PLMN ids*/
+ mcc_strbuf = wmem_strbuf_new_sized(actx->pinfo->pool,4);
+ wmem_strbuf_append_c(mcc_strbuf,mcc_mnc_string[0]);
+ wmem_strbuf_append_c(mcc_strbuf,mcc_mnc_string[1]);
+ wmem_strbuf_append_c(mcc_strbuf,mcc_mnc_string[2]);
+ wmem_strbuf_append_c(mcc_strbuf,'\0');
+ private_data_set_last_mcc_strbuf(actx,mcc_strbuf);
+ }
+
+ /* Creating TVB from extracted string*/
+ mcc_mnc_tvb = tvb_new_child_real_data(tvb, (guint8*)mcc_mnc_string, string_len, string_len);
+ add_new_data_source(actx->pinfo, mcc_mnc_tvb, "MCC-MNC");
+
+ /* Calling E.212 */
+ dissect_e212_mcc_mnc_in_utf8_address(mcc_mnc_tvb, actx->pinfo, tree, 0);
+
+#.FN_BODY PLMN-IdentityWithOptionalMCC-r6
+ wmem_strbuf_t* mcc_mnc_strbuf;
+ wmem_strbuf_t* temp_strbuf;
+ wmem_strbuf_t* last_mcc_strbuf;
+ guint32 string_len;
+ gchar* mcc_mnc_string;
+ tvbuff_t* mcc_mnc_tvb;
+
+ /* Reset the digits string in the private data struct */
+ /* Maximal length: 7 = 3 digits MCC + 3 digits MNC + trailing '\0' */
+ mcc_mnc_strbuf = wmem_strbuf_new_sized(actx->pinfo->pool,7);
+ private_data_set_digits_strbuf(actx, mcc_mnc_strbuf);
+ /* Reset parsing failure flag*/
+ private_data_set_digits_strbuf_parsing_failed_flag(actx, FALSE);
+%(DEFAULT_BODY)s
+ private_data_set_digits_strbuf(actx, NULL);
+ /* Check for parsing errors */
+ if(private_data_get_digits_strbuf_parsing_failed_flag(actx)) {
+ return offset;
+ }
+
+ /* Extracting the string collected in the strbuf */
+ string_len = (guint32)wmem_strbuf_get_len(mcc_mnc_strbuf);
+ mcc_mnc_string = wmem_strbuf_finalize(mcc_mnc_strbuf);
+ if (string_len > 3) {
+ /* 3 MCC digits and at least 1 MNC digit were found, keep MCC for later
+ in case it's missing in other PLMN ids*/
+ temp_strbuf = wmem_strbuf_new_sized(actx->pinfo->pool,4);
+ wmem_strbuf_append_c(temp_strbuf,mcc_mnc_string[0]);
+ wmem_strbuf_append_c(temp_strbuf,mcc_mnc_string[1]);
+ wmem_strbuf_append_c(temp_strbuf,mcc_mnc_string[2]);
+ wmem_strbuf_append_c(temp_strbuf,'\0');
+ private_data_set_last_mcc_strbuf(actx,temp_strbuf);
+ }
+ else {
+ /* mcc_mnc_strbuf Probably only has 3/2 digits of MNC */
+ /* Try to fill MCC form "last MCC" if we have it stored */
+ last_mcc_strbuf = private_data_get_last_mcc_strbuf(actx);
+ if(last_mcc_strbuf)
+ {
+ /* Concat MCC and MNC in temp buffer */
+ temp_strbuf = wmem_strbuf_new_sized(actx->pinfo->pool,7);
+ wmem_strbuf_append_printf(temp_strbuf,"%%s",wmem_strbuf_get_str(last_mcc_strbuf));
+ wmem_strbuf_append_printf(temp_strbuf,"%%s",mcc_mnc_string);
+ /* Update length of recovered MCC-MNC pair */
+ string_len = (guint32)wmem_strbuf_get_len(temp_strbuf);
+ mcc_mnc_string = wmem_strbuf_finalize(temp_strbuf);
+ }
+ }
+
+ if (string_len >= 5) {
+ /* optional MCC was present (or restored above), we can call E.212 dissector */
+
+ /* Creating TVB from extracted string*/
+ mcc_mnc_tvb = tvb_new_child_real_data(tvb, (guint8*)mcc_mnc_string, string_len, string_len);
+ add_new_data_source(actx->pinfo, mcc_mnc_tvb, "MCC-MNC");
+
+ /* Calling E.212 */
+ dissect_e212_mcc_mnc_in_utf8_address(mcc_mnc_tvb, actx->pinfo, tree, 0);
+ }
+
+#.FN_BODY IMSI-GSM-MAP
+ wmem_strbuf_t* imsi_strbuf;
+ guint32 string_len;
+ gchar* imsi_string;
+ tvbuff_t* imsi_tvb;
+
+ /* Reset the digits string in the private data struct */
+ imsi_strbuf = wmem_strbuf_new_sized(actx->pinfo->pool,16);
+ private_data_set_digits_strbuf(actx, imsi_strbuf);
+ /* Reset parsing failure flag*/
+ private_data_set_digits_strbuf_parsing_failed_flag(actx, FALSE);
+%(DEFAULT_BODY)s
+ private_data_set_digits_strbuf(actx, NULL);
+ /* Check for parsing errors */
+ if(private_data_get_digits_strbuf_parsing_failed_flag(actx)) {
+ return offset;
+ }
+
+ /* Extracting the string collected in the strbuf */
+ string_len = (guint32)wmem_strbuf_get_len(imsi_strbuf);
+ imsi_string = wmem_strbuf_finalize(imsi_strbuf);
+
+ /* Creating TVB from extracted string*/
+ imsi_tvb = tvb_new_child_real_data(tvb, (guint8*)imsi_string, string_len, string_len);
+ add_new_data_source(actx->pinfo, imsi_tvb, "IMSI");
+
+ /* Calling E.212 */
+ dissect_e212_utf8_imsi(imsi_tvb,actx->pinfo,tree,0,string_len);
+
+#.FN_BODY Digit VAL_PTR = &digit
+ guint32 digit;
+ wmem_strbuf_t* digits_strbuf; /* The string of either an IMSI or a MCC-MNC pair */
+%(DEFAULT_BODY)s
+
+ if(private_data_get_digits_strbuf_parsing_failed_flag(actx)) {
+ return offset;
+ }
+
+ digits_strbuf = private_data_get_digits_strbuf(actx);
+ if (digits_strbuf) {
+ gchar digit_char;
+
+ if(digit > 9) {
+ private_data_set_digits_strbuf_parsing_failed_flag(actx, TRUE);
+ return offset;
+ }
+
+ /* Converting to the matching gchar */
+ digit_char = (gchar)(digit + '0');
+
+ /* Appending to the digits string */
+ wmem_strbuf_append_c(digits_strbuf, digit_char);
+ }
+
+#.FN_BODY CompleteSIBshort
+ private_data_set_curr_sib_segment_type(actx,RRC_SIB_SEG_COMP);
+%(DEFAULT_BODY)s
+ private_data_set_curr_sib_segment_type(actx,RRC_SIB_SEG_NO_SEGMENT); /* Resetting value */
+
+#.FN_BODY SIB-Type VAL_PTR = &sib_type
+ guint32 sib_type;
+%(DEFAULT_BODY)s
+ private_data_set_curr_sib_type(actx,sib_type);
+
+#.FN_BODY SIB-Data-variable VAL_PTR = &sib_data_tvb
+ tvbuff_t *sib_data_tvb;
+ guint32 sib_type;
+ proto_tree *subtree;
+ guint32 seg_type;
+
+%(DEFAULT_BODY)s
+
+ seg_type = (guint32)private_data_get_curr_sib_segment_type(actx);
+ if(seg_type != RRC_SIB_SEG_COMP) {
+ /* TODO: The Dissector only handles 'complete SIBs' right now.
+ * Reassembly logic should be implemented, taking into acocunt that
+ * different fragments might arrive in different frames.
+ */
+ return offset;
+ }
+
+ /* This is a complete SIB - Call handler according to previous SIB-Type field*/
+ subtree = proto_item_add_subtree(actx->created_item, ett_rrc_sib_data_var);
+ sib_type = private_data_get_curr_sib_type(actx);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ col_append_str(actx->pinfo->cinfo, COL_INFO," (");
+ switch(sib_type){
+ case 0:
+ /* mIB */
+ dissect_rrc_MasterInformationBlock_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 1:
+ dissect_rrc_SysInfoType1_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 2:
+ dissect_rrc_SysInfoType2_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 3:
+ dissect_rrc_SysInfoType3_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 4:
+ dissect_rrc_SysInfoType4_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 5:
+ dissect_rrc_SysInfoType5_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 6:
+ dissect_rrc_SysInfoType6_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 7:
+ dissect_rrc_SysInfoType7_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 11:
+ dissect_rrc_SysInfoType11_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 12:
+ dissect_rrc_SysInfoType12_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 13:
+ dissect_rrc_SysInfoType13_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 14:
+ /* SIB-Type: systemInformationBlockType13-1 */
+ dissect_rrc_SysInfoType13_1_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 15:
+ /* SIB-Type: systemInformationBlockType13-2 */
+ dissect_rrc_SysInfoType13_2_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 16:
+ /* SIB-Type: systemInformationBlockType13-3 */
+ dissect_rrc_SysInfoType13_3_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 17:
+ /* SIB-Type: systemInformationBlockType13-4 */
+ dissect_rrc_SysInfoType13_4_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 18:
+ /* SIB-Type: systemInformationBlockType14 */
+ dissect_rrc_SysInfoType14_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 19:
+ /* SIB-Type: systemInformationBlockType15 */
+ dissect_rrc_SysInfoType15_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 20:
+ /* SIB-Type: systemInformationBlockType15-1 */
+ dissect_rrc_SysInfoType15_1_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 21:
+ /* SIB-Type: systemInformationBlockType15-2 */
+ dissect_rrc_SysInfoType15_2_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 22:
+ /* SIB-Type: systemInformationBlockType15-3 */
+ dissect_rrc_SysInfoType15_3_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 23:
+ /* SIB-Type: systemInformationBlockType16 */
+ dissect_rrc_SysInfoType16_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 24:
+ /* SIB-Type: systemInformationBlockType17 */
+ dissect_rrc_SysInfoType17_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 25:
+ /* SIB-Type: systemInformationBlockType15-4 */
+ dissect_rrc_SysInfoType15_4_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 26:
+ /* SIB-Type: systemInformationBlockType18 */
+ dissect_rrc_SysInfoType18_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 27:
+ /* SIB-Type: schedulingBlock1 */
+ dissect_rrc_SysInfoTypeSB1_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case 28:
+ /* SIB-Type: schedulingBlock2 */
+ dissect_rrc_SysInfoTypeSB2_PDU(sib_data_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO,")");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+
+#.FN_BODY RSR-VCC-Info/ims-Information VAL_PTR = &imsInformation_tvb
+ tvbuff_t *imsInformation_tvb=NULL;
+%(DEFAULT_BODY)s
+ if(imsInformation_tvb){
+ /* Dissect ims-Information
+ Decoding specified in TS 124 237 V11.4.0 Annex D.5.3.3 ATGW transfer details
+ */
+ proto_tree *subtree;
+ gint curr_offset = 0;
+ guint32 atgw_trans_det_cont;
+ subtree = proto_item_add_subtree(actx->created_item, ett_rrc_ims_info);
+ proto_tree_add_item_ret_uint(subtree, hf_rrc_ims_info_atgw_trans_det_cont_type, imsInformation_tvb, curr_offset, 1, ENC_BIG_ENDIAN, &atgw_trans_det_cont);
+ curr_offset++;
+ switch (atgw_trans_det_cont) {
+ case 0:
+ proto_tree_add_item(subtree, hf_rrc_ims_info_atgw_udp_port, imsInformation_tvb, curr_offset, 2, ENC_BIG_ENDIAN);
+ curr_offset+=2;
+ proto_tree_add_item(subtree, hf_rrc_ims_info_atgw_ipv4, imsInformation_tvb, curr_offset, 4, ENC_BIG_ENDIAN);
+ break;
+ case 1:
+ proto_tree_add_item(subtree, hf_rrc_ims_info_atgw_udp_port, imsInformation_tvb, curr_offset, 2, ENC_BIG_ENDIAN);
+ curr_offset+=2;
+ proto_tree_add_item(subtree, hf_rrc_ims_info_atgw_ipv6, imsInformation_tvb, curr_offset, 16, ENC_NA);
+ break;
+ default:
+ break;
+ }
+}
+
+#.TYPE_ATTR
+HNBName TYPE=FT_STRING DISPLAY=BASE_NONE
+
+#.FN_BODY HNBName VAL_PTR = &hnbname_tvb HF_INDEX = -1
+ tvbuff_t *hnbname_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, hnbname_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+
+#.FN_BODY CN-DomainIdentity VAL_PTR = &nas_sys_info
+ guint32 nas_sys_info;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "(%%s)", val_to_str_const(nas_sys_info,rrc_CN_DomainIdentity_vals,"Unknown"));
+ nas_sys_info++; /* CS = 0, PS = 1 but the enum defines 0 as Unknown and CS = 1, PS = 2 */
+ private_data_set_cn_domain(actx, (enum nas_sys_info_gsm_map) nas_sys_info);
+
+#.FN_BODY CN-InformationInfo/cn-CommonGSM-MAP-NAS-SysInfo
+ private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
+%(DEFAULT_BODY)s
+
+#.FN_BODY CN-InformationInfo-r6/cn-CommonGSM-MAP-NAS-SysInfo
+ private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
+%(DEFAULT_BODY)s
+
+#.FN_BODY CN-InformationInfoFull/cn-CommonGSM-MAP-NAS-SysInfo
+ private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType1/cn-CommonGSM-MAP-NAS-SysInfo
+ private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
+%(DEFAULT_BODY)s
+
+#.FN_BODY NAS-SystemInformationGSM-MAP VAL_PTR = &nas_sys_info_gsm_map_tvb
+ tvbuff_t *nas_sys_info_gsm_map_tvb = NULL;
+ guint32 length;
+ enum nas_sys_info_gsm_map cn_domain;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ length = tvb_reported_length(nas_sys_info_gsm_map_tvb);
+ if (length) {
+ cn_domain = private_data_get_cn_domain(actx);
+ switch (cn_domain) {
+ case RRC_NAS_SYS_INFO_CN_COMMON:
+ subtree = proto_tree_add_subtree(tree, nas_sys_info_gsm_map_tvb, 0, length,
+ ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, NULL, "CN Common GSM-MAP NAS system information");
+ de_cn_common_gsm_map_nas_sys_info(nas_sys_info_gsm_map_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
+ break;
+ case RRC_NAS_SYS_INFO_CS:
+ subtree = proto_tree_add_subtree(tree, nas_sys_info_gsm_map_tvb, 0, length,
+ ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, NULL, "CS domain specific system information");
+ de_cs_domain_spec_sys_info(nas_sys_info_gsm_map_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
+ break;
+ case RRC_NAS_SYS_INFO_PS:
+ subtree = proto_tree_add_subtree(tree, nas_sys_info_gsm_map_tvb, 0, length,
+ ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, NULL, "PS domain specific system information");
+ de_ps_domain_spec_sys_info(nas_sys_info_gsm_map_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
+ break;
+ default:
+ break;
+ }
+ private_data_set_cn_domain(actx, RRC_NAS_SYS_UNKNOWN);
+ }
+
+#.FN_BODY SRNC-Identity VAL_PTR = &s_rnc_id_tvb
+ tvbuff_t * s_rnc_id_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (s_rnc_id_tvb) {
+ private_data_set_s_rnc_id(actx, tvb_get_ntohs(s_rnc_id_tvb, 0) >> 4);
+ }
+
+#.FN_BODY S-RNTI VAL_PTR = &s_rnti_tvb
+ tvbuff_t * s_rnti_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (s_rnti_tvb) {
+ private_data_set_s_rnti(actx, tvb_get_ntoh24(s_rnti_tvb, 0) >> 4);
+ }
+
+#.FN_BODY U-RNTI
+ private_data_set_s_rnc_id(actx, 0);
+ private_data_set_s_rnti(actx, 0);
+ guint32 s_rnc_id;
+ guint32 s_rnti;
+ guint32 u_rnti_value;
+ guint32 original_offset;
+ proto_item *ti;
+ guint32 item_len;
+ proto_tree *sub_tree;
+ gboolean is_new_urnti;
+ int generated_field_hf;
+ original_offset = offset;
+%(DEFAULT_BODY)s
+
+ /* Reconstructing the U-RNTI from the parsed components */
+ s_rnc_id = private_data_get_s_rnc_id(actx);
+ s_rnti = private_data_get_s_rnti(actx);
+ u_rnti_value = (s_rnc_id << 20) | s_rnti;
+
+ /* Distinguishing between new allocated U-RNTIs and previously used ones */
+ /* hf_rrc_u_RNTI is for current U-RNTI, any other hf is for new U-RNTI */
+ is_new_urnti = hf_index != hf_rrc_u_RNTI;
+ if (is_new_urnti) {
+ private_data_set_new_u_rnti(actx, u_rnti_value);
+ generated_field_hf = hf_urnti_new;
+ }
+ else {
+ private_data_set_current_u_rnti(actx, u_rnti_value);
+ generated_field_hf = hf_urnti_current;
+ }
+
+ /* Adding a "Current U-RNTI" or "New U-RNTI" as generated field */
+ sub_tree = proto_item_get_subtree(actx->created_item);
+ item_len = proto_item_get_len(actx->created_item);
+ ti = proto_tree_add_uint(sub_tree, generated_field_hf, tvb, original_offset/8, item_len, u_rnti_value);
+ proto_item_set_generated(ti);
+ ti = proto_tree_add_uint(sub_tree, hf_urnti, tvb, original_offset/8, item_len, u_rnti_value);
+ proto_item_set_hidden(ti);
+
+ private_data_set_s_rnc_id(actx, 0);
+ private_data_set_s_rnti(actx, 0);
+
+#.FN_BODY C-RNTI VAL_PTR = &c_rnti_tvb
+ fp_info *fpinf = NULL;
+ umts_mac_info *macinf = NULL;
+ rlc_info *rlcinf = NULL;
+ conversation_t *p_conv;
+ umts_fp_conversation_info_t *umts_fp_conversation_info = NULL;
+ fp_fach_channel_info_t *fp_fach_channel_info = NULL;
+ tvbuff_t * c_rnti_tvb = NULL;
+ guint16 c_rnti = 0;
+ guint32 u_rnti = 0;
+ fp_crnti_allocation_info_t *fp_crnti_allocation_info = NULL;
+%(DEFAULT_BODY)s
+ if (!c_rnti_tvb)
+ return offset;
+
+ if(tvb_reported_length(c_rnti_tvb)>=2){
+ c_rnti = tvb_get_ntohs(c_rnti_tvb,0);
+ }
+
+ if(PINFO_FD_VISITED(actx->pinfo)) /* Frame was already checked*/
+ return offset;
+
+ /* Trying to figure where to get the U-RNTI from Either from an ASN.1 field (if this is CCCH) or RLC's attached info (if this is DCCH) */
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ macinf = (umts_mac_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_mac, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+ if (fpinf && macinf && rlcinf) {
+ switch(macinf->content[fpinf->cur_tb]){
+ case MAC_CONTENT_DCCH:
+ u_rnti = rlcinf->ueid[fpinf->cur_tb];
+ break;
+ case MAC_CONTENT_CCCH:
+ default:
+ u_rnti = private_data_get_current_u_rnti(actx);
+ break;
+ }
+ }
+ else {
+ /* Either FP, MAC or RLC info is missing - looking for ASN.1 field as last resort*/
+ u_rnti = private_data_get_current_u_rnti(actx);
+ }
+
+ if(u_rnti == 0 || c_rnti == 0) /* U-RNTI missing or failed to parse C-RNTI */
+ return offset;
+
+ /* Both U-RNTI and C-RNTI present - storing the match*/
+ fp_crnti_allocation_info = wmem_new(wmem_file_scope(), fp_crnti_allocation_info_t);
+ fp_crnti_allocation_info->urnti = u_rnti;
+ fp_crnti_allocation_info->alloc_frame_number = actx->pinfo->num;
+ fp_crnti_allocation_info->global_retrieval_count = 0;
+
+ /* Finding FP conversation info */
+ p_conv = (conversation_t *)find_conversation(actx->pinfo->num, &actx->pinfo->net_dst, &actx->pinfo->net_src,
+ conversation_pt_to_conversation_type(actx->pinfo->ptype),
+ actx->pinfo->destport, actx->pinfo->srcport, NO_ADDR_B);
+
+ /* If the current FP channel is FACH, Adding the C-RNTI / U-RNTI match to the FACH's RNTIs map*/
+ if (p_conv != NULL) {
+ umts_fp_conversation_info = (umts_fp_conversation_info_t *)conversation_get_proto_data(p_conv, proto_fp);
+ if (umts_fp_conversation_info && umts_fp_conversation_info->channel == CHANNEL_FACH_FDD) {
+ fp_fach_channel_info = (fp_fach_channel_info_t *)umts_fp_conversation_info->channel_specific_info;
+ if(fp_fach_channel_info) {
+ wmem_tree_insert32(fp_fach_channel_info->crnti_to_urnti_map, c_rnti, (void *)fp_crnti_allocation_info);
+ }
+ }
+ }
+
+ /* Also adding the C-RNTI / U-RNTI match to the global RNTIs map for the RACH channel */
+ wmem_tree_insert32(rrc_global_urnti_crnti_map, c_rnti, (void *)fp_crnti_allocation_info);
+
+#.FN_BODY UL-ScramblingCode VAL_PTR = &scrambling_code
+guint32 scrambling_code;
+%(DEFAULT_BODY)s
+private_data_set_scrambling_code(actx,scrambling_code);
+
+#.FN_BODY RRC-StateIndicator VAL_PTR = &state_dec
+gint32 state_dec = -1;
+%(DEFAULT_BODY)s
+if(state_dec >= 0 && state_dec <= 3) {
+ state_dec++; /* Encoded values are 0-based, Values in the enum are 1-based*/
+ private_data_set_rrc_state_indicator(actx,(enum rrc_ue_state)state_dec);
+}
+
+#.FN_BODY CellIdentity VAL_PTR = &cell_id_tvb
+ tvbuff_t * cell_id_tvb = NULL;
+ proto_item *temp_ti;
+ proto_tree *cell_identity_tree;
+
+%(DEFAULT_BODY)s
+ if(cell_id_tvb != NULL) {
+ cell_identity_tree = proto_item_add_subtree(actx->created_item, ett_rrc_cellIdentity);
+ temp_ti = proto_tree_add_bits_item(cell_identity_tree, hf_rrc_cellIdentity_rnc_id,cell_id_tvb, 0, 12, ENC_BIG_ENDIAN);
+ proto_item_set_generated(temp_ti);
+ temp_ti = proto_tree_add_bits_item(cell_identity_tree, hf_rrc_cellIdentity_c_id, cell_id_tvb, 12, 16, ENC_BIG_ENDIAN);
+ proto_item_set_generated(temp_ti);
+ }
+
+#.FN_BODY DL-TransportChannelType-r5 VAL_PTR = &type
+/*Here we try to figure out which HS-DSCH channels are multiplexed*/
+ guint *flowd_p;
+ guint *cur_val=NULL;
+ struct rrc_info *rrcinf;
+
+ %(DEFAULT_BODY)s
+
+ /*TODO: This should probably be done better*/
+ if(type == 4){ /*If this is type HS-DSCH*/
+ num_chans_per_flow[flowd]++;
+
+ if(num_chans_per_flow[flowd] > 1 ){
+ rrcinf = (rrc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rrc, 0);
+ if((rrcinf == NULL) || (rrcinf->hrnti[actx->pinfo->fd->subnum] == 0)){
+ expert_add_info(actx->pinfo, actx->created_item, &ei_rrc_no_hrnti);
+ }
+ else{
+ /*If it doesn't exists, insert it*/
+ if( (cur_val=(gint *)g_tree_lookup(hsdsch_muxed_flows, GUINT_TO_POINTER((guint)rrcinf->hrnti[actx->pinfo->fd->subnum]))) == NULL ){
+
+ flowd_p = g_new0(guint, 1);
+ *flowd_p = (1U<<flowd); /*Set the bit to mark it as true*/
+ g_tree_insert(hsdsch_muxed_flows, GUINT_TO_POINTER((guint)rrcinf->hrnti[actx->pinfo->fd->subnum]), flowd_p);
+
+ }else{
+ *cur_val = (1U<<flowd) | *cur_val;
+
+ }
+ }
+
+ }
+
+ }
+
+#.FN_BODY DL-TransportChannelType-r7 VAL_PTR = &type
+/*Here we try to figure out which HS-DSCH channels are multiplexed*/
+ guint *flowd_p;
+ guint *cur_val=NULL;
+ struct rrc_info *rrcinf;
+
+ %(DEFAULT_BODY)s
+
+ /*TODO: This should probably be done better*/
+ if(type == 4){ /*If this is type HS-DSCH*/
+ num_chans_per_flow[flowd]++;
+
+
+ if(num_chans_per_flow[flowd] > 1 ){
+ rrcinf = (rrc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rrc, 0);
+ if((rrcinf == NULL) || (rrcinf->hrnti[actx->pinfo->fd->subnum] == 0)){
+ expert_add_info(actx->pinfo, actx->created_item, &ei_rrc_no_hrnti);
+ }
+ else{
+ /*If it doesn't exists, insert it*/
+ if( (cur_val=(gint *)g_tree_lookup(hsdsch_muxed_flows, GUINT_TO_POINTER((guint)rrcinf->hrnti[actx->pinfo->fd->subnum]))) == NULL ){
+
+ flowd_p = g_new0(guint, 1);
+ *flowd_p = (1U<<flowd); /* Set the bit to mark it as true*/
+ g_tree_insert(hsdsch_muxed_flows, GUINT_TO_POINTER((guint)rrcinf->hrnti[actx->pinfo->fd->subnum]), flowd_p);
+
+ }else{
+ *cur_val = (1U<<flowd) | *cur_val;
+
+ }
+ }
+
+ }
+
+ }
+
+#.FN_BODY MAC-d-FlowIdentity VAL_PTR = &flowd
+%(DEFAULT_BODY)s
+
+#.FN_BODY H-RNTI VAL_PTR = &hrnti_tvb
+ tvbuff_t *hrnti_tvb;
+ struct rrc_info *rrcinf;
+%(DEFAULT_BODY)s
+
+#.FN_FTR H-RNTI
+ rrcinf = (struct rrc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rrc, 0);
+ if (!rrcinf) {
+ rrcinf = wmem_new0(wmem_file_scope(), struct rrc_info);
+ p_add_proto_data(wmem_file_scope(), actx->pinfo, proto_rrc, 0, rrcinf);
+ }
+ rrcinf->hrnti[actx->pinfo->fd->subnum] = tvb_get_ntohs(hrnti_tvb, 0);
+
+#.FN_BODY START-Value VAL_PTR = &start_val
+ tvbuff_t * start_val;
+ fp_info *fpinf;
+ rlc_info *rlcinf;
+ rrc_ciphering_info * ciphering_info;
+ guint32 * start;
+ enum nas_sys_info_gsm_map cn_domain;
+
+%(DEFAULT_BODY)s
+
+ /*We base this map on User Identity from RLC*/
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+
+ /*If FP info or RLC info is missing , skip all this*/
+ if(fpinf == NULL || rlcinf == NULL){
+ return offset;
+ }
+ /*Retrieve the start value for the two ciphering domains*/
+ cn_domain = private_data_get_cn_domain(actx);
+ switch(cn_domain){
+ case RRC_NAS_SYS_INFO_CS:
+ /*
+ ws_warning("Not implemented");
+ */
+ break;
+ case RRC_NAS_SYS_INFO_PS:
+
+ /*Find the entry for the UE ID(taken from RLC)*/
+ ciphering_info = get_or_create_cipher_info(fpinf, rlcinf);
+ private_data_set_ciphering_info(actx, ciphering_info);
+
+ /*Retrieve and store the value*/
+ if(ciphering_info && ciphering_info->start_ps) {
+ start = g_new(guint32,1);
+ *start = tvb_get_bits32(start_val,0,20,ENC_BIG_ENDIAN);
+ /*Insert the value based on current frame num since this might vary over time*/
+ g_tree_insert(ciphering_info->start_ps, GUINT_TO_POINTER(actx->pinfo->num), start);
+ }
+ break;
+ default:
+ break;
+ }
+ private_data_set_cn_domain(actx, RRC_NAS_SYS_UNKNOWN);
+
+#.FN_BODY RB-ActivationTimeInfo
+ fp_info *fpinf;
+ rlc_info *rlcinf;
+ rrc_ciphering_info *ciphering_info;
+ guint32 rbid;
+ guint32 rlc_ciphering_sqn;
+ guint32 direction;
+
+ fpinf = (fp_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_fp, 0);
+ rlcinf = (rlc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_umts_rlc, 0);
+
+%(DEFAULT_BODY)s
+
+ /*If FP info or RLC info is missing , skip all this*/
+ if(fpinf == NULL || rlcinf == NULL){
+ return offset;
+ }
+
+ ciphering_info = private_data_get_ciphering_info(actx);
+ if( ciphering_info == NULL ){
+ return offset;
+ }
+
+ rbid = private_data_get_rbid(actx);
+ rlc_ciphering_sqn = private_data_get_rlc_ciphering_sqn(actx);
+ direction = fpinf->is_uplink ? P2P_DIR_UL : P2P_DIR_DL;
+ /*Set the ciphering activation frame information*/
+ ciphering_info->seq_no[rbid][direction] = rlc_ciphering_sqn;
+
+
+#.FN_BODY RB-Identity VAL_PTR = &rbid
+guint32 rbid;
+%(DEFAULT_BODY)s
+private_data_set_rbid(actx, rbid);
+
+
+#.FN_BODY RLC-SequenceNumber VAL_PTR = &rlc_ciphering_sqn
+guint32 rlc_ciphering_sqn;
+%(DEFAULT_BODY)s
+private_data_set_rlc_ciphering_sqn(actx, rlc_ciphering_sqn);
+
+#.FN_BODY CipheringAlgorithm VAL_PTR = &ciphering_algo
+ rrc_ciphering_info *ciphering_info;
+ gint32 ciphering_algo;
+
+%(DEFAULT_BODY)s
+
+ ciphering_info = private_data_get_ciphering_info(actx);
+ if (ciphering_info == NULL) {
+ return offset;
+ }
+ ciphering_info->ciphering_algorithm = ciphering_algo;
+
+#.FN_BODY CipheringAlgorithm-r7 VAL_PTR = &ciphering_algo
+ rrc_ciphering_info *ciphering_info;
+ gint32 ciphering_algo;
+
+%(DEFAULT_BODY)s
+
+ ciphering_info = private_data_get_ciphering_info(actx);
+ if (ciphering_info == NULL) {
+ return offset;
+ }
+ ciphering_info->ciphering_algorithm = ciphering_algo;
+
+#.FN_BODY IntegrityProtectionAlgorithm VAL_PTR = &integrity_algo
+ rrc_ciphering_info *ciphering_info;
+ gint32 integrity_algo;
+
+%(DEFAULT_BODY)s
+
+ ciphering_info = private_data_get_ciphering_info(actx);
+ if (ciphering_info == NULL) {
+ return offset;
+ }
+ ciphering_info->integrity_algorithm = integrity_algo;
+
+#.FN_BODY IntegrityProtectionAlgorithm-r7 VAL_PTR = &integrity_algo
+ rrc_ciphering_info *ciphering_info;
+ gint32 integrity_algo;
+
+%(DEFAULT_BODY)s
+
+ ciphering_info = private_data_get_ciphering_info(actx);
+ if (ciphering_info == NULL) {
+ return offset;
+ }
+ ciphering_info->integrity_algorithm = integrity_algo;
+
+#.FN_BODY DL-DCCH-MessageType VAL_PTR = &msg_type
+%(DEFAULT_BODY)s
+
+#.FN_BODY DL-DCCH-Message
+%(DEFAULT_BODY)s
+
+#.FN_BODY HandoverToUTRANCommand
+%(DEFAULT_BODY)s
+
+#.FN_BODY UE-SecurityInformation
+ private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CS);
+%(DEFAULT_BODY)s
+
+#.FN_BODY UE-SecurityInformation2
+ private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_PS);
+%(DEFAULT_BODY)s
+
+#.FN_BODY ReleaseCause VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [cause=%%s]",
+ val_to_str(value, rrc_ReleaseCause_vals, "Unknown"));
+
+#.FN_BODY MasterInformationBlock
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "MasterInformationBlock");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType1
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 1");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType2
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 2");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType3
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 3");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType4
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 4");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType5
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 5");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType5bis
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 5bis");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType6
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 6");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType7
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 7");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType11
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 11");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType11bis
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 11bis");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType11ter
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 11ter");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType12
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 12");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType13
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 13");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType13-1
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 13.1");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType13-2
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 13.2");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType13-3
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 13.3");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType13-4
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 13.4");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType14
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 14");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15bis
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15bis");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-1
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.1");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-1bis
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.1bis");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-1ter
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.1ter");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-2
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.2");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-2bis
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.2bis");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-2ter
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.2ter");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-3
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.3");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-3bis
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.3bis");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-4
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.4");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-5
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.5");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-6
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.6");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-7
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.7");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType15-8
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 15.8");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType16
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 16");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType17
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 17");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType18
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 18");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType19
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 19");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType20
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 20");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType21
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 21");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType22
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 22");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType23
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 23");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType24
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 24");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoType25
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "SysInfoType 25");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoTypeSB1
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Scheduling Block 1");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoTypeSB2
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Scheduling Block 2");
+%(DEFAULT_BODY)s
+
+#.FN_BODY SysInfoTypeSB3
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Scheduling Block 3");
+%(DEFAULT_BODY)s
+
+#.END
diff --git a/epan/dissectors/asn1/rrlp/CMakeLists.txt b/epan/dissectors/asn1/rrlp/CMakeLists.txt
new file mode 100644
index 00000000..1253f692
--- /dev/null
+++ b/epan/dissectors/asn1/rrlp/CMakeLists.txt
@@ -0,0 +1,37 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME rrlp )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+ ../gsm_map/MAP-ExtensionDataTypes.asn
+ ../gsm_map/MAP-LCS-DataTypes.asn
+)
+
+set( ASN_FILE_LIST
+ RRLP-Messages.asn
+ RRLP-Components.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/rrlp/RRLP-Components.asn b/epan/dissectors/asn1/rrlp/RRLP-Components.asn
new file mode 100644
index 00000000..11b13eee
--- /dev/null
+++ b/epan/dissectors/asn1/rrlp/RRLP-Components.asn
@@ -0,0 +1,2413 @@
+-- RRLP-Components.asn
+-- Taken from 3GPP TS 44.031 V11.0.0 (2012-09)
+-- http://www.3gpp.org/ftp/Specs/archive/44_series/44.031/44031-b00.zip/44031-b00.doc
+--
+-- 4 Components
+-- 5 Elements of Components
+--
+
+RRLP-Components
+-- { RRLP-Components }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ Ext-GeographicalInformation, VelocityEstimate
+FROM
+ MAP-LCS-DataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-LCS-DataTypes (25) version10 (10)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ itu-t identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version10 (10)}
+;
+
+-- Measurement Position request component
+MsrPosition-Req ::= SEQUENCE {
+ positionInstruct PositionInstruct,
+ referenceAssistData ReferenceAssistData OPTIONAL,
+ msrAssistData MsrAssistData OPTIONAL,
+ systemInfoAssistData SystemInfoAssistData OPTIONAL,
+ gps-AssistData GPS-AssistData OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ -- Release 98 extension element
+rel98-MsrPosition-Req-extension Rel98-MsrPosition-Req-Extension OPTIONAL,
+ -- Release 5 extension element
+rel5-MsrPosition-Req-extension Rel5-MsrPosition-Req-Extension OPTIONAL,
+ -- Release 7 extension element
+rel7-MsrPosition-Req-extension Rel7-MsrPosition-Req-Extension OPTIONAL
+}
+
+-- Measurement Position response component
+MsrPosition-Rsp ::= SEQUENCE {
+ multipleSets MultipleSets OPTIONAL,
+ referenceIdentity ReferenceIdentity OPTIONAL,
+ otd-MeasureInfo OTD-MeasureInfo OPTIONAL,
+ locationInfo LocationInfo OPTIONAL,
+ gps-MeasureInfo GPS-MeasureInfo OPTIONAL,
+ locationError LocationError OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ -- Release extension here
+ rel-98-MsrPosition-Rsp-Extension
+ Rel-98-MsrPosition-Rsp-Extension OPTIONAL,
+ rel-5-MsrPosition-Rsp-Extension
+ Rel-5-MsrPosition-Rsp-Extension OPTIONAL,
+ -- When RRLP pseudo-segmentation is used, rel-5-MsrPosition-Rsp-Extension
+ -- and other possible future extensions should be the ones included in
+ -- the 2nd MsrPosition-Rsp component.
+ rel-7-MsrPosition-Rsp-Extension
+ Rel-7-MsrPosition-Rsp-Extension OPTIONAL
+}
+
+-- Assistance Data component
+AssistanceData ::= SEQUENCE {
+ referenceAssistData ReferenceAssistData OPTIONAL,
+ msrAssistData MsrAssistData OPTIONAL,
+ systemInfoAssistData SystemInfoAssistData OPTIONAL,
+ gps-AssistData GPS-AssistData OPTIONAL,
+ moreAssDataToBeSent MoreAssDataToBeSent OPTIONAL, -- If not present, interpret as only
+ -- Assistance Data component used to
+ -- deliver entire set of assistance
+ -- data.
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ -- Release extension here
+ rel98-AssistanceData-Extension Rel98-AssistanceData-Extension OPTIONAL,
+ rel5-AssistanceData-Extension Rel5-AssistanceData-Extension OPTIONAL,
+ rel7-AssistanceData-Extension Rel7-AssistanceData-Extension OPTIONAL
+}
+
+-- Protocol Error component
+ProtocolError ::= SEQUENCE {
+ errorCause ErrorCodes,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ -- Release extensions here
+ rel-5-ProtocolError-Extension Rel-5-ProtocolError-Extension OPTIONAL
+}
+
+-- Positioning Capability request component
+PosCapability-Req ::= SEQUENCE {
+ extended-reference Extended-reference,
+ gANSSPositionMethods GANSSPositionMethods OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...
+}
+
+-- Positioning Capability response component
+PosCapability-Rsp ::= SEQUENCE {
+ extended-reference Extended-reference,
+ posCapabilities PosCapabilities,
+
+-- assistanceSupported shall be included if and only if any of the assistance data is supported
+ assistanceSupported AssistanceSupported OPTIONAL,
+ assistanceNeeded AssistanceNeeded OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...
+}
+
+-- Position instructions
+PositionInstruct ::= SEQUENCE {
+ -- Method type
+ methodType MethodType,
+ positionMethod PositionMethod,
+ measureResponseTime MeasureResponseTime,
+ useMultipleSets UseMultipleSets,
+ environmentCharacter EnvironmentCharacter OPTIONAL
+}
+
+--
+MethodType ::= CHOICE {
+ msAssisted AccuracyOpt, -- accuracy is optional
+ msBased Accuracy, -- accuracy is mandatory
+ msBasedPref Accuracy, -- accuracy is mandatory
+ msAssistedPref Accuracy -- accuracy is mandatory
+}
+
+-- Accuracy of the location estimation
+AccuracyOpt ::= SEQUENCE {
+ accuracy Accuracy OPTIONAL
+}
+
+-- The values of this field are defined in 3GPP TS 23.032 (Uncertainty code)
+Accuracy ::= INTEGER (0..127)
+
+-- Position Method
+PositionMethod ::= ENUMERATED {
+ eotd (0),
+ gps (1),
+ gpsOrEOTD (2)
+}
+
+-- Measurement request response time
+MeasureResponseTime ::= INTEGER (0..7)
+
+-- useMultiple Sets, FFS!
+UseMultipleSets ::= ENUMERATED {
+ multipleSets (0), -- multiple sets are allowed
+ oneSet (1) -- sending of multiple is not allowed
+}
+
+-- Environment characterization
+EnvironmentCharacter ::= ENUMERATED {
+ badArea (0), -- bad urban or suburban, heavy multipath and NLOS
+ notBadArea (1), -- light multipath and NLOS
+ mixedArea (2), -- not defined or mixed environment
+ ...
+}
+
+-- E-OTD reference BTS for Assitance data IE
+ReferenceAssistData ::= SEQUENCE {
+ bcchCarrier BCCHCarrier, -- BCCH carrier
+ bsic BSIC, -- BSIC
+ timeSlotScheme TimeSlotScheme, -- Timeslot scheme
+ btsPosition BTSPosition OPTIONAL
+}
+
+-- ellipsoid point and
+-- ellipsoid point with altitude and uncertainty ellipsoid shapes are supported
+BTSPosition ::= Ext-GeographicalInformation
+
+-- RF channel number of BCCH
+BCCHCarrier ::= INTEGER (0..1023)
+
+-- Base station Identity Code
+BSIC ::= INTEGER (0..63)
+
+-- Timeslot scheme
+TimeSlotScheme ::= ENUMERATED {
+ equalLength (0),
+ variousLength (1)
+}
+
+-- Time slot (modulo)
+ModuloTimeSlot ::= INTEGER (0..3)
+
+-- E-OTD measurement assistance data IE
+-- The total number of neighbors in this element (MsrAssistData)
+-- and in SystemInfoAssistData element (presented neighbors
+-- can be at a maximum 15!)
+MsrAssistData ::= SEQUENCE {
+ msrAssistList SeqOfMsrAssistBTS
+}
+SeqOfMsrAssistBTS ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS
+
+MsrAssistBTS ::= SEQUENCE {
+ bcchCarrier BCCHCarrier, -- BCCH carrier
+ bsic BSIC, -- BSIC
+ multiFrameOffset MultiFrameOffset, -- multiframe offset
+ timeSlotScheme TimeSlotScheme, -- Timeslot scheme
+ roughRTD RoughRTD, -- rough RTD value
+
+ -- Location Calculation Assistance data is moved here
+ calcAssistanceBTS CalcAssistanceBTS OPTIONAL
+}
+
+-- Multiframe offset
+MultiFrameOffset ::= INTEGER (0..51)
+-- The Multiframe Offset value 51 shall not be encoded by the transmitting entity and
+-- shall be treated by the receiving entity as 0.
+
+-- Rough RTD value between one base station and reference BTS
+RoughRTD ::= INTEGER (0..1250)
+-- The RoughRTD value 1250 shall not be encoded by the transmitting entity and shall
+-- be treated by the receiving entity as 0.
+
+-- E-OTD Measurement assistance data for system information List IE
+-- The total number of base stations in this element (SystemInfoAssistData
+-- presented neighbors) and in MsrAssistData element can be at a maximum 15.
+SystemInfoAssistData ::= SEQUENCE {
+ systemInfoAssistList SeqOfSystemInfoAssistBTS
+}
+SeqOfSystemInfoAssistBTS::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS
+
+-- whether n.th is present or not ?
+SystemInfoAssistBTS ::= CHOICE {
+ notPresent NULL,
+ present AssistBTSData
+}
+
+-- Actual assistance data for system information base station
+AssistBTSData ::= SEQUENCE {
+ bsic BSIC, -- BSIC
+ multiFrameOffset MultiFrameOffset, -- multiframe offset
+ timeSlotScheme TimeSlotScheme, -- Timeslot scheme
+ roughRTD RoughRTD, -- rough RTD value
+
+ -- Location Calculation Assistance data
+ calcAssistanceBTS CalcAssistanceBTS OPTIONAL
+}
+
+-- E-OTD Location calculation assistance data,
+-- CalcAssistanceBTS element is optional not subfields
+CalcAssistanceBTS ::= SEQUENCE {
+ fineRTD FineRTD, -- fine RTD value between base stations
+ referenceWGS84 ReferenceWGS84 -- reference coordinates
+}
+
+-- Coordinates of neighbour BTS, WGS-84 ellipsoid
+ReferenceWGS84 ::= SEQUENCE {
+ relativeNorth RelDistance, -- relative distance (south negative)
+ relativeEast RelDistance, -- relative distance (west negative)
+ -- Relative Altitude is not always known
+ relativeAlt RelativeAlt OPTIONAL -- relative altitude
+}
+
+-- Fine RTD value between this BTS and the reference BTS
+FineRTD ::= INTEGER (0..255)
+
+-- Relative north/east distance
+RelDistance ::= INTEGER (-200000..200000)
+
+-- Relative altitude
+RelativeAlt ::= INTEGER (-4000..4000)
+
+-- Measure position response IEs
+-- Reference Identity
+-- Multiple sets
+MultipleSets ::= SEQUENCE {
+ -- number of reference sets
+ nbrOfSets INTEGER (2..3),
+
+ -- This field actually tells the number of reference BTSs
+ nbrOfReferenceBTSs INTEGER (1..3),
+
+ -- This field is conditional and included optionally only if
+ -- nbrOfSets is 3 and number of reference BTSs is 2.
+ referenceRelation ReferenceRelation OPTIONAL
+}
+
+-- Relation between refence BTSs and sets
+ReferenceRelation ::= ENUMERATED {
+ secondBTSThirdSet (0), -- 1st BTS related to 1st and 2nd sets
+ secondBTSSecondSet (1), -- 1st BTS related to 1st and 3rd sets
+ firstBTSFirstSet (2) -- 1st BTS related to 1st set
+}
+
+-- Reference BTS Identity, this element contains number of
+-- BTSs told nbrOfReferenceBTSs field in Multiple sets element)
+ReferenceIdentity ::= SEQUENCE {
+ -- Reference BTS list
+ refBTSList SeqOfReferenceIdentityType
+}
+SeqOfReferenceIdentityType ::= SEQUENCE (SIZE(1..3)) OF ReferenceIdentityType
+
+-- Cell identity
+ReferenceIdentityType ::= CHOICE {
+ bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
+ ci CellID, -- Cell ID, LAC not needed
+ requestIndex RequestIndex, -- Index to Requested Neighbor List
+ systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of ref. identity
+ -- shall not be used by the MS unless it has received
+ -- the SystemInfoAssistData from the SMLC for this cell.
+ ciAndLAC CellIDAndLAC -- CI and LAC
+}
+
+BSICAndCarrier ::= SEQUENCE {
+ carrier BCCHCarrier,
+ bsic BSIC
+}
+
+RequestIndex ::= INTEGER (1..16)
+
+SystemInfoIndex ::= INTEGER (1..32)
+
+CellIDAndLAC ::= SEQUENCE {
+ referenceLAC LAC, -- Location area code
+ referenceCI CellID -- Cell identity
+}
+CellID ::= INTEGER (0..65535)
+LAC ::= INTEGER (0..65535)
+
+-- OTD-MeasureInfo
+OTD-MeasureInfo ::= SEQUENCE {
+ -- Measurement info elements, OTD-MsrElement is repeated number of times
+ -- told in nbrOfReferenceBTSs in MultipleSets, default value is 1
+ otdMsrFirstSets OTD-MsrElementFirst,
+
+ -- if more than one sets are present this element is repeated
+ -- NumberOfSets - 1 (-1 = first set)
+ otdMsrRestSets SeqOfOTD-MsrElementRest OPTIONAL
+}
+
+SeqOfOTD-MsrElementRest ::= SEQUENCE (SIZE(1..2)) OF OTD-MsrElementRest
+
+-- OTD measurent information for 1 set
+OTD-MsrElementFirst ::= SEQUENCE {
+ refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
+ referenceTimeSlot ModuloTimeSlot,
+ toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
+ stdResolution StdResolution,
+ taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
+
+ -- measured neighbors in OTD measurements
+ otd-FirstSetMsrs SeqOfOTD-FirstSetMsrs OPTIONAL
+}
+SeqOfOTD-FirstSetMsrs ::= SEQUENCE (SIZE(1..10)) OF OTD-FirstSetMsrs
+
+-- OTD measurent information 2 and 3 sets if exist
+OTD-MsrElementRest ::= SEQUENCE {
+ refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
+ referenceTimeSlot ModuloTimeSlot,
+ toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
+ stdResolution StdResolution,
+ taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
+
+ -- measured neighbors in OTD measurements
+ otd-MsrsOfOtherSets SeqOfOTD-MsrsOfOtherSets OPTIONAL
+}
+SeqOfOTD-MsrsOfOtherSets ::= SEQUENCE (SIZE(1..10)) OF OTD-MsrsOfOtherSets
+
+-- Standard deviation of the TOA measurements from the reference BTS
+TOA-MeasurementsOfRef ::= SEQUENCE {
+ refQuality RefQuality,
+ numOfMeasurements NumOfMeasurements
+}
+
+RefQuality ::= INTEGER (0..31) -- St Dev of TOA of reference as defined in annex
+NumOfMeasurements ::= INTEGER (0..7) -- No. of measurements for RefQuality as defined in annex
+StdResolution ::= INTEGER (0..3) -- Values of resolution are defined in annex
+
+OTD-FirstSetMsrs ::= OTD-MeasurementWithID
+
+-- Neighbour info in OTD measurements 0-10 times in TD measurement info
+OTD-MsrsOfOtherSets ::= CHOICE {
+ identityNotPresent OTD-Measurement,
+ identityPresent OTD-MeasurementWithID
+}
+
+-- For this OTD measurement identity is same as the identity of BTS
+-- in the first set with same sequence number
+OTD-Measurement ::= SEQUENCE {
+ nborTimeSlot ModuloTimeSlot,
+ eotdQuality EOTDQuality,
+ otdValue OTDValue
+}
+
+-- This measurement contains the BTS identity and measurement
+OTD-MeasurementWithID ::=SEQUENCE {
+ neighborIdentity NeighborIdentity,
+ nborTimeSlot ModuloTimeSlot,
+ eotdQuality EOTDQuality,
+ otdValue OTDValue
+}
+
+EOTDQuality ::= SEQUENCE {
+ nbrOfMeasurements INTEGER (0..7),
+ stdOfEOTD INTEGER (0..31)
+}
+
+NeighborIdentity ::= CHOICE {
+ bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
+ ci CellID, -- Cell ID, LAC not needed
+ multiFrameCarrier MultiFrameCarrier, -- MultiFrameOffest and BSIC
+ requestIndex RequestIndex, -- Index to Requested Neighbor List
+ systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of neighbour
+ -- identity shall not be used by the MS unless it has
+ -- received the SystemInfoAssistData from the SMLC for
+ -- this cell.
+ ciAndLAC CellIDAndLAC -- CI and LAC
+}
+
+-- Multiframe and carrier
+MultiFrameCarrier ::= SEQUENCE {
+ bcchCarrier BCCHCarrier,
+ multiFrameOffset MultiFrameOffset
+}
+
+-- OTD measurement value for neighbour
+OTDValue ::= INTEGER (0..39999)
+
+-- Location information IE
+LocationInfo ::= SEQUENCE {
+ refFrame INTEGER (0..65535), -- Reference Frame number
+ -- If refFrame is within (42432..65535), it shall be ignored by the receiver
+ -- in that case the MS should provide GPS TOW if available
+ gpsTOW INTEGER (0..14399999) OPTIONAL, -- GPS TOW
+ fixType FixType,
+ -- Note that applicable range for refFrame is 0 - 42431
+ -- Possible shapes carried in posEstimate are
+ -- ellipsoid point,
+ -- ellipsoid point with uncertainty circle
+ -- ellipsoid point with uncertainty ellipse
+ -- ellipsoid point with altitude and uncertainty ellipsoid
+ posEstimate Ext-GeographicalInformation
+}
+
+FixType ::= INTEGER {
+ twoDFix (0),
+ threeDFix (1)
+} (0..1)
+
+-- GPS-Measurement information
+GPS-MeasureInfo ::= SEQUENCE {
+ -- Measurement info elements
+ -- user has to make sure that in this element is number of elements
+ -- defined in reference BTS identity
+ gpsMsrSetList SeqOfGPS-MsrSetElement
+}
+SeqOfGPS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GPS-MsrSetElement
+
+-- OTD measurent information 1-3 times in message
+GPS-MsrSetElement ::= SEQUENCE {
+ refFrame INTEGER (0..65535) OPTIONAL, -- Reference Frame number
+ gpsTOW GPSTOW24b, -- GPS TOW
+ -- Note that applicable range for refFrame is 0 - 42431
+
+--N_SAT can be read from number of elements of gps-msrList
+
+ gps-msrList SeqOfGPS-MsrElement
+}
+
+-- 24 bit presentation for GPSTOW
+GPSTOW24b ::= INTEGER (0..14399999)
+
+-- measured elements in measurement parameters field
+SeqOfGPS-MsrElement ::= SEQUENCE (SIZE(1..16)) OF GPS-MsrElement
+
+GPS-MsrElement ::= SEQUENCE {
+ satelliteID SatelliteID, -- Satellite identifier
+ cNo INTEGER (0..63), -- carrier noise ratio
+ doppler INTEGER (-32768..32767), -- doppler, mulltiply by 0.2
+ wholeChips INTEGER (0..1022), -- whole value of the code phase measurement
+ fracChips INTEGER (0..1024), -- fractional value of the code phase measurement
+ -- a value of 1024 shall not be encoded by the sender
+ -- the receiver shall consider a value of 1024 to be
+ -- invalid data
+ mpathIndic MpathIndic, -- multipath indicator
+ pseuRangeRMSErr INTEGER (0..63) -- index
+}
+
+-- Multipath indicator
+MpathIndic ::= ENUMERATED {
+ notMeasured (0),
+ low (1),
+ medium (2),
+ high (3)
+}
+
+-- Location error IE
+LocationError ::= SEQUENCE {
+ locErrorReason LocErrorReason,
+ additionalAssistanceData AdditionalAssistanceData OPTIONAL,
+ ...
+}
+
+LocErrorReason ::= ENUMERATED {
+ unDefined (0),
+ notEnoughBTSs (1),
+ notEnoughSats (2),
+ eotdLocCalAssDataMissing (3),
+ eotdAssDataMissing (4),
+ gpsLocCalAssDataMissing (5),
+ gpsAssDataMissing (6),
+ methodNotSupported (7),
+ notProcessed (8),
+ refBTSForGPSNotServingBTS (9),
+ refBTSForEOTDNotServingBTS (10),
+ ...,
+ notEnoughGANSSSats (11),
+ ganssAssDataMissing (12),
+ refBTSForGANSSNotServingBTS (13)
+}
+
+-- exception handling:
+-- an unrecognized value shall be treated the same as value 0
+
+
+-- defines additional assistance data needed for any new location attempt
+-- MS shall retain any assistance data already received
+AdditionalAssistanceData ::= SEQUENCE {
+ gpsAssistanceData GPSAssistanceData OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ ganssAssistanceData GANSSAssistanceData OPTIONAL
+}
+
+
+GPSAssistanceData ::= OCTET STRING (SIZE (1..maxGPSAssistanceData))
+-- GPSAssistanceData has identical structure and encoding to octets 3 to n of the
+-- GPS Assistance Data IE in 3GPP TS 49.031
+
+maxGPSAssistanceData INTEGER ::= 40
+
+GANSSAssistanceData ::= OCTET STRING (SIZE (1..maxGANSSAssistanceData))
+-- GANSSAssistanceData has identical structure and encoding to octets 3 to n of the
+-- GANSS Assistance Data IE in 3GPP TS 49.031
+
+maxGANSSAssistanceData INTEGER ::= 40
+
+-- Protocol Error Causes
+ErrorCodes ::= ENUMERATED {
+ unDefined (0),
+missingComponet (1),
+incorrectData (2),
+missingIEorComponentElement (3),
+messageTooShort (4),
+unknowReferenceNumber (5),
+...
+}
+
+-- exception handling:
+-- an unrecognized value shall be treated the same as value 0
+
+-- GPS assistance data IE
+GPS-AssistData ::= SEQUENCE {
+ controlHeader ControlHeader
+}
+
+-- More Assistance Data To Be Sent IE
+-- More Assistance Data Components On the Way indication for delivery of an entire set of assistance
+-- data in multiple Assistance Data components.
+
+MoreAssDataToBeSent ::= ENUMERATED {
+ noMoreMessages (0), -- This is the only or last Assistance Data message used to deliver
+ -- the entire set of assistance data.
+ moreMessagesOnTheWay (1) -- The SMLC will send more Assistance Data messages or a final RRLP
+ -- Measure Position Request message to deliver the
+ -- the entire set of assistance data.
+}
+
+-- Control header of the GPS assistance data
+ControlHeader ::= SEQUENCE {
+
+ -- Field type Present information
+ referenceTime ReferenceTime OPTIONAL,
+ refLocation RefLocation OPTIONAL,
+ dgpsCorrections DGPSCorrections OPTIONAL,
+ navigationModel NavigationModel OPTIONAL,
+ ionosphericModel IonosphericModel OPTIONAL,
+ utcModel UTCModel OPTIONAL,
+ almanac Almanac OPTIONAL,
+ acquisAssist AcquisAssist OPTIONAL,
+ realTimeIntegrity SeqOf-BadSatelliteSet OPTIONAL
+}
+
+ReferenceTime ::= SEQUENCE {
+ gpsTime GPSTime,
+ gsmTime GSMTime OPTIONAL,
+ gpsTowAssist GPSTOWAssist OPTIONAL
+}
+
+-- GPS Time includes week number and time-of-week (TOW)
+GPSTime ::= SEQUENCE {
+ gpsTOW23b GPSTOW23b,
+ gpsWeek GPSWeek
+}
+
+-- GPSTOW, range 0-604799.92, resolution 0.08 sec, 23-bit presentation
+GPSTOW23b ::= INTEGER (0..7559999)
+
+-- GPS week number
+GPSWeek ::= INTEGER (0..1023)
+
+-- GPSTOWAssist consists of TLM message, Anti-spoof flag, Alert flag, and 2 reserved bits in TLM Word
+-- for each visible satellite.
+-- N_SAT can be read from number of elements in GPSTOWAssist
+GPSTOWAssist ::= SEQUENCE (SIZE(1..12)) OF GPSTOWAssistElement
+
+GPSTOWAssistElement ::= SEQUENCE {
+ satelliteID SatelliteID,
+ tlmWord TLMWord,
+ antiSpoof AntiSpoofFlag,
+ alert AlertFlag,
+ tlmRsvdBits TLMReservedBits
+}
+
+-- TLM Word, 14 bits
+TLMWord ::= INTEGER (0..16383)
+
+-- Anti-Spoof flag
+AntiSpoofFlag ::= INTEGER (0..1)
+
+-- Alert flag
+AlertFlag ::= INTEGER (0..1)
+
+-- Reserved bits in TLM word, MSB occurs earlier in TLM Word transmitted by satellite
+TLMReservedBits ::= INTEGER (0..3)
+
+GSMTime ::= SEQUENCE {
+ bcchCarrier BCCHCarrier, -- BCCH carrier
+ bsic BSIC, -- BSIC
+ frameNumber FrameNumber,
+ timeSlot TimeSlot,
+ bitNumber BitNumber
+}
+
+-- Frame number
+FrameNumber ::= INTEGER (0..2097151)
+
+-- Time slot number
+TimeSlot ::= INTEGER (0..7)
+
+-- Bit number
+BitNumber ::= INTEGER (0..156)
+
+
+-- Reference Location IE
+RefLocation ::= SEQUENCE {
+ threeDLocation Ext-GeographicalInformation
+}
+
+-- DGPS Corrections IE
+DGPSCorrections ::= SEQUENCE {
+
+ gpsTOW INTEGER (0..604799), -- DGPS reference time
+ status INTEGER (0..7),
+ -- N_SAT can be read from number of elements of satList
+ satList SeqOfSatElement
+}
+SeqOfSatElement ::= SEQUENCE (SIZE (1..16)) OF SatElement
+
+-- number of correction for satellites
+SatElement ::= SEQUENCE {
+ satelliteID SatelliteID,
+
+--- Sequence number for ephemeris
+ iode INTEGER (0..239),
+ -- User Differential Range Error
+ udre INTEGER (0..3),
+
+ -- Pseudo Range Correction, range is
+ -- -655.04 - +655.04,
+ pseudoRangeCor INTEGER (-2047..2047),
+
+ -- Pseudo Range Rate Correction, range is
+ -- -4.064 - +4.064,
+ rangeRateCor INTEGER (-127..127),
+
+-- Delta Pseudo Range Correction 2
+ deltaPseudoRangeCor2 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
+ -- set to zero by the sender
+ -- Delta Pseudo Range Correction 2
+ deltaRangeRateCor2 INTEGER (-7..7), -- This IE shall be ignored by the receiver and
+ -- set to zero by the sender
+ -- Delta Pseudo Range Correction 3
+ deltaPseudoRangeCor3 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
+ -- set to zero by the sender
+ -- Delta Pseudo Range Correction 3
+ deltaRangeRateCor3 INTEGER (-7..7) -- This IE shall be ignored by the receiver and
+ -- set to zero by the sender
+}
+
+SatelliteID ::= INTEGER (0..63) -- identifies satellite
+
+-- Navigation Model IE
+NavigationModel ::= SEQUENCE {
+ navModelList SeqOfNavModelElement
+}
+
+-- navigation model satellite list
+SeqOfNavModelElement ::= SEQUENCE (SIZE(1..16)) OF NavModelElement
+
+NavModelElement ::= SEQUENCE {
+ satelliteID SatelliteID,
+ satStatus SatStatus -- satellite status
+}
+
+-- the Status of the navigation model
+SatStatus ::= CHOICE {
+ -- New satellite, new Navigation Model
+ newSatelliteAndModelUC UncompressedEphemeris,
+
+ -- Existing satellite, Existing Navigation Model
+ oldSatelliteAndModel NULL,
+
+ -- Existing satellite, new Navigation Model
+ newNaviModelUC UncompressedEphemeris,
+ ...
+}
+
+-- Uncompressed satellite emhemeris and clock corrections
+UncompressedEphemeris ::= SEQUENCE {
+ ephemCodeOnL2 INTEGER (0..3),
+ ephemURA INTEGER (0..15),
+ ephemSVhealth INTEGER (0..63),
+ ephemIODC INTEGER (0..1023),
+ ephemL2Pflag INTEGER (0..1),
+ ephemSF1Rsvd EphemerisSubframe1Reserved,
+ ephemTgd INTEGER (-128..127),
+ ephemToc INTEGER (0..37799),
+ ephemAF2 INTEGER (-128..127),
+ ephemAF1 INTEGER (-32768..32767),
+ ephemAF0 INTEGER (-2097152..2097151),
+ ephemCrs INTEGER (-32768..32767),
+ ephemDeltaN INTEGER (-32768..32767),
+ ephemM0 INTEGER (-2147483648..2147483647),
+ ephemCuc INTEGER (-32768..32767),
+ ephemE INTEGER (0..4294967295),
+ ephemCus INTEGER (-32768..32767),
+ ephemAPowerHalf INTEGER (0..4294967295),
+ ephemToe INTEGER (0..37799),
+ ephemFitFlag INTEGER (0..1),
+ ephemAODA INTEGER (0..31),
+ ephemCic INTEGER (-32768..32767),
+ ephemOmegaA0 INTEGER (-2147483648..2147483647),
+ ephemCis INTEGER (-32768..32767),
+ ephemI0 INTEGER (-2147483648..2147483647),
+ ephemCrc INTEGER (-32768..32767),
+ ephemW INTEGER (-2147483648..2147483647),
+ ephemOmegaADot INTEGER (-8388608..8388607),
+ ephemIDot INTEGER (-8192..8191)
+}
+
+-- Reserved bits in subframe 1 of navigation message
+EphemerisSubframe1Reserved ::= SEQUENCE {
+ reserved1 INTEGER (0..8388607), -- 23-bit field
+ reserved2 INTEGER (0..16777215), -- 24-bit field
+ reserved3 INTEGER (0..16777215), -- 24-bit field
+ reserved4 INTEGER (0..65535) -- 16-bit field
+}
+
+-- Ionospheric Model IE
+IonosphericModel ::= SEQUENCE {
+ alfa0 INTEGER (-128..127),
+ alfa1 INTEGER (-128..127),
+ alfa2 INTEGER (-128..127),
+ alfa3 INTEGER (-128..127),
+ beta0 INTEGER (-128..127),
+ beta1 INTEGER (-128..127),
+ beta2 INTEGER (-128..127),
+ beta3 INTEGER (-128..127)
+}
+
+-- Universal Time Coordinate Model
+UTCModel ::= SEQUENCE {
+ utcA1 INTEGER (-8388608..8388607),
+ utcA0 INTEGER (-2147483648..2147483647),
+ utcTot INTEGER (0..255),
+ utcWNt INTEGER (0..255),
+ utcDeltaTls INTEGER (-128..127),
+ utcWNlsf INTEGER (0..255),
+ utcDN INTEGER (-128..127),
+ utcDeltaTlsf INTEGER (-128..127)
+}
+
+-- Almanac, Long term model
+-- NOTE: These are parameters are subset of the ephemeris
+-- NOTE: But with reduced resolution and accuracy
+Almanac ::= SEQUENCE {
+ alamanacWNa INTEGER (0..255), -- Once per message
+
+ -- navigation model satellite list.
+ -- The size of almanacList is actually Nums_Sats_Total field
+ almanacList SeqOfAlmanacElement
+}
+SeqOfAlmanacElement ::= SEQUENCE (SIZE(1..64)) OF AlmanacElement
+
+-- Almanac info once per satellite
+AlmanacElement ::= SEQUENCE {
+ satelliteID SatelliteID,
+ almanacE INTEGER (0..65535),
+ alamanacToa INTEGER (0..255),
+ almanacKsii INTEGER (-32768..32767),
+ almanacOmegaDot INTEGER (-32768..32767),
+ almanacSVhealth INTEGER (0..255),
+ almanacAPowerHalf INTEGER (0..16777215),
+ almanacOmega0 INTEGER (-8388608..8388607),
+ almanacW INTEGER (-8388608..8388607),
+ almanacM0 INTEGER (-8388608..8388607),
+ almanacAF0 INTEGER (-1024..1023),
+ almanacAF1 INTEGER (-1024..1023)
+}
+
+-- Acquisition Assistance
+AcquisAssist ::= SEQUENCE {
+
+ -- Number of Satellites can be read from acquistList
+ timeRelation TimeRelation,
+
+ -- Acquisition assistance list
+ -- The size of Number of Satellites is actually Number of Satellites field
+ acquisList SeqOfAcquisElement
+}
+SeqOfAcquisElement ::= SEQUENCE (SIZE(1..16)) OF AcquisElement
+
+-- the relationship between GPS time and air-interface timing
+TimeRelation ::= SEQUENCE {
+ --
+ gpsTOW GPSTOW23b, -- 23b presentation
+ gsmTime GSMTime OPTIONAL
+}
+
+-- data occuring per number of satellites
+AcquisElement ::= SEQUENCE {
+ svid SatelliteID,
+
+ -- Doppler 0th order term,
+ -- -5120.0 - 5117.5 Hz (= -2048 - 2047 with 2.5 Hz resolution)
+ doppler0 INTEGER (-2048..2047),
+ addionalDoppler AddionalDopplerFields OPTIONAL,
+ codePhase INTEGER (0..1022), -- Code Phase
+ intCodePhase INTEGER (0..19), -- Integer Code Phase
+ gpsBitNumber INTEGER (0..3), -- GPS bit number
+ codePhaseSearchWindow INTEGER (0..15), -- Code Phase Search Window
+ addionalAngle AddionalAngleFields OPTIONAL
+}
+
+AddionalDopplerFields ::= SEQUENCE {
+ -- Doppler 1st order term, -1.0 - +0.5 Hz/sec
+ -- (= -42 + (0 to 63) with 1/42 Hz/sec. resolution)
+ doppler1 INTEGER (0..63),
+ dopplerUncertainty INTEGER (0..7)
+ -- a sender shall not encode any DopplerUncertainty value in the range 5 to 7
+ -- a receiver shall ignore any value between 5 and 7.
+}
+
+AddionalAngleFields ::= SEQUENCE {
+ -- azimuth angle, 0 - 348.75 deg (= 0 - 31 with 11.25 deg resolution)
+ azimuth INTEGER (0..31),
+ -- elevation angle, 0 - 78.75 deg (= 0 - 7 with 11.25 deg resolution)
+ elevation INTEGER (0..7)
+}
+
+-- Real-Time Integrity
+-- number of bad satellites can be read from this element
+SeqOf-BadSatelliteSet ::= SEQUENCE (SIZE(1..16)) OF SatelliteID
+
+-- Extension Elements
+
+-- Release 98 Extensions here
+Rel98-MsrPosition-Req-Extension ::= SEQUENCE {
+ rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
+ ...,
+ gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
+ gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
+
+-- Further R98 extensions here
+}
+Rel98-AssistanceData-Extension ::= SEQUENCE {
+ rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
+ ...,
+ gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
+ gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
+
+-- Further R98 extensions here
+}
+
+-- Release 98 ExpOTD extension
+Rel98-Ext-ExpOTD ::= SEQUENCE {
+-- If MsrAssistBTS is included in message, msrAssistData-R98-ExpOTD shall be included.
+ msrAssistData-R98-ExpOTD MsrAssistData-R98-ExpOTD OPTIONAL,
+
+-- If SystemInfoAssistaData is included in message, systemInfoAssistData-R98-ExpOTD shall be
+-- included.
+ systemInfoAssistData-R98-ExpOTD SystemInfoAssistData-R98-ExpOTD OPTIONAL
+}
+
+-- MsrAssistData R98 extension
+MsrAssistData-R98-ExpOTD ::= SEQUENCE {
+ msrAssistList-R98-ExpOTD SeqOfMsrAssistBTS-R98-ExpOTD
+}
+
+-- Indexes in SeqOfMsrAssistBTS-R98-ExpOTD refer to SeqOfMsrAssistBTS
+-- If the index exceeds the SegOfMsrAssistBTS range or if there is other
+-- inconsistencies between the BTS indices, the MS shall apply protocol
+-- error cause incorrectData
+SeqOfMsrAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS-R98-ExpOTD
+
+-- This element completes MsrAssistBTS IE
+MsrAssistBTS-R98-ExpOTD ::= SEQUENCE {
+ expectedOTD ExpectedOTD,
+ expOTDUncertainty ExpOTDUncertainty
+}
+
+-- SystemInfoAssistData R98 extension
+SystemInfoAssistData-R98-ExpOTD ::= SEQUENCE {
+ systemInfoAssistListR98-ExpOTD SeqOfSystemInfoAssistBTS-R98-ExpOTD
+}
+
+-- SeqOfSystemInfoAssistBTS-R98-ExpOTD index refer to SeqOfSystemInfoAssistBTS
+-- If the index exceeds the SegOfSystemInfoAssistBTS range or if there is other
+-- inconsistencies between the BTS indices, the MS shall apply protocol
+-- error cause incorrectData
+SeqOfSystemInfoAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS-R98-ExpOTD
+
+-- whether n.th is present or not ?
+SystemInfoAssistBTS-R98-ExpOTD ::= CHOICE {
+ notPresent NULL,
+ present AssistBTSData-R98-ExpOTD
+}
+
+-- This element completes AssistBTSData IE
+AssistBTSData-R98-ExpOTD ::= SEQUENCE {
+ expectedOTD ExpectedOTD,
+ expOTDuncertainty ExpOTDUncertainty -- Uncertainty of expected OTD
+}
+
+-- Expected OTD value between nbor base station and reference BTS
+-- at MS's current estimated location.
+ExpectedOTD ::= INTEGER (0..1250)
+-- The ExpectedOTD value 1250 shall not be encoded by the transmitting entity and
+-- shall be treated by the receiving entity as 0.
+-- Uncertainty of Exptected OTD in bits
+ExpOTDUncertainty ::= INTEGER(0..7)
+
+-- Release 98 extensions
+
+GPSReferenceTimeUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
+
+GPSTimeAssistanceMeasurements ::= SEQUENCE {
+ referenceFrameMSB INTEGER (0 .. 63) OPTIONAL, -- MSB of frame number
+ gpsTowSubms INTEGER (0 .. 9999) OPTIONAL, -- in units of 100ns, for MS based AGPS
+ deltaTow INTEGER (0 .. 127) OPTIONAL, -- for MS assisted AGPS
+ gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
+}
+
+Rel-98-MsrPosition-Rsp-Extension ::= SEQUENCE {
+
+ -- First extension to Release 98
+ rel-98-Ext-MeasureInfo SEQUENCE {
+ otd-MeasureInfo-R98-Ext OTD-MeasureInfo-R98-Ext OPTIONAL
+ },
+ ...,
+ timeAssistanceMeasurements GPSTimeAssistanceMeasurements OPTIONAL
+ -- Further R98 extensions here
+}
+
+-- This is an addition to OTD-MeasureInfo element defined in original message,
+-- If OTD-MeasureInfo is absent, or if one or more OTD-MsrElementRest are present
+-- OTD-MeasureInfo-R98-Ext shall be absent.
+-- OTD-MeasureInfo-R98-Ext
+OTD-MeasureInfo-R98-Ext ::= SEQUENCE {
+ -- Measurement info elements
+ otdMsrFirstSets-R98-Ext OTD-MsrElementFirst-R98-Ext
+}
+
+-- OTD measurement information Ext for the first set only
+OTD-MsrElementFirst-R98-Ext ::= SEQUENCE {
+ -- additional measured neighbors in OTD measurements
+ otd-FirstSetMsrs-R98-Ext SeqOfOTD-FirstSetMsrs-R98-Ext OPTIONAL
+}
+SeqOfOTD-FirstSetMsrs-R98-Ext ::= SEQUENCE (SIZE(1..5)) OF OTD-FirstSetMsrs
+
+Rel-5-MsrPosition-Rsp-Extension ::= SEQUENCE {
+
+ extended-reference Extended-reference OPTIONAL,
+ -- The extended-reference shall be included by the MS if and only if previously
+ -- received from the SMLC in a Measure Position Request. When included, the value sent
+ -- by the MS shall equal the value received from the SMLC.
+
+ -- extension to Release 5, for RRLP pseudo-segmentation here
+ otd-MeasureInfo-5-Ext OTD-MeasureInfo-5-Ext OPTIONAL,
+ ulPseudoSegInd UlPseudoSegInd OPTIONAL, -- Included when uplink RRLP
+ -- Pseudo-segmentation is used, not included when no uplink pseudo-segmentation is used
+ ...
+ -- Possibly more extensions for Release 5 here later
+}
+
+Extended-reference ::= SEQUENCE {
+ smlc-code INTEGER (0..63),
+ transaction-ID INTEGER (0..262143)
+}
+
+OTD-MeasureInfo-5-Ext ::= SeqOfOTD-MsrElementRest
+ -- if more than one measurement sets are present this element is repeated
+ -- NumberOfSets - 1 (-1 = first set) combined in OTD-MeasureInfo-5-Ext and
+ -- OTD-MeasureInfo (e.g. if NumberOfSets is 3, then one otdMsrRestSets may
+ -- be sent in OTD-MeasureInfo-5-Ext and one in OTD-MeasureInfo)
+
+-- First part of Uplink RRLP Pseudo-segmentation indication, possibly more may be defined
+-- in the future for segmentation with more than two segments.
+UlPseudoSegInd ::= ENUMERATED {
+ firstOfMany (0),
+ secondOfMany(1)
+}
+
+Rel5-MsrPosition-Req-Extension ::= SEQUENCE {
+ extended-reference Extended-reference,
+ ...
+ -- Possibly more extensions for Release 5 here later
+}
+
+Rel5-AssistanceData-Extension ::= SEQUENCE {
+ extended-reference Extended-reference,
+ ...
+
+-- Possibly more extensions for Release 5 here later
+}
+
+Rel-5-ProtocolError-Extension::= SEQUENCE {
+ extended-reference Extended-reference OPTIONAL,
+ -- The extended-reference shall be included by the MS if and only if previously
+ -- received from the SMLC.
+ -- When included, the value sent by the MS shall equal the value received from the SMLC.
+ ...
+
+ -- Possibly more extensions for Release 5 here later
+}
+
+-- Release 7 Extensions here
+
+Rel7-MsrPosition-Req-Extension ::= SEQUENCE {
+ velocityRequested NULL OPTIONAL,
+ ganssPositionMethod GANSSPositioningMethod OPTIONAL,
+ ganss-AssistData GANSS-AssistData OPTIONAL,
+ ganssCarrierPhaseMeasurementRequest NULL OPTIONAL,
+ ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
+ requiredResponseTime RequiredResponseTime OPTIONAL,
+ add-GPS-AssistData Add-GPS-AssistData OPTIONAL,
+ ganssMultiFreqMeasurementRequest NULL OPTIONAL,
+ ...
+ -- Further Release 7 extensions here
+}
+
+-- additional satellite systems may be added in future versions of the protocol
+-- Bit 0 of GANSSPositioningMethod bit map shall not be the only one set to TRUE ('1')
+GANSSPositioningMethod ::= BIT STRING {
+ gps (0),
+ galileo (1),
+ sbas (2),
+ modernizedGPS (3),
+ qzss (4),
+ glonass (5) } (SIZE (2..16))
+
+GANSS-AssistData ::= SEQUENCE {
+ ganss-controlHeader GANSS-ControlHeader
+}
+GANSS-ControlHeader ::= SEQUENCE {
+ ganssCommonAssistData GANSSCommonAssistData OPTIONAL,
+ ganssGenericAssistDataList SeqOfGANSSGenericAssistDataElement OPTIONAL
+}
+
+-- GANSS Common Assistance Data Elements
+GANSSCommonAssistData ::= SEQUENCE {
+ ganssReferenceTime GANSSReferenceTime OPTIONAL,
+ ganssRefLocation GANSSRefLocation OPTIONAL,
+ ganssIonosphericModel GANSSIonosphericModel OPTIONAL,
+ ... ,
+ ganssAddIonosphericModel GANSSAddIonosphericModel OPTIONAL,
+ ganssEarthOrientParam GANSSEarthOrientParam OPTIONAL,
+ -- If GANSSReferenceTime is included, GANSSReferenceTime-R10-Ext shall also be included.
+ ganssReferenceTime-R10-Ext GANSSReferenceTime-R10-Ext OPTIONAL
+}
+
+-- List of GANSS Generic Assistance Data Elements, up to 8 GANSS
+SeqOfGANSSGenericAssistDataElement ::= SEQUENCE (SIZE (1..8)) OF GANSSGenericAssistDataElement
+-- GANSS Generic Assistance Data Elements
+GANSSGenericAssistDataElement ::= SEQUENCE {
+ ganssID INTEGER (0..7) OPTIONAL, -- Coding according to Annex
+ ganssTimeModel SeqOfGANSSTimeModel OPTIONAL,
+ ganssDiffCorrections GANSSDiffCorrections OPTIONAL,
+ ganssNavigationModel GANSSNavModel OPTIONAL,
+ ganssRealTimeIntegrity GANSSRealTimeIntegrity OPTIONAL,
+ ganssDataBitAssist GANSSDataBitAssist OPTIONAL,
+ ganssRefMeasurementAssist GANSSRefMeasurementAssist OPTIONAL,
+ ganssAlmanacModel GANSSAlmanacModel OPTIONAL,
+ ganssUTCModel GANSSUTCModel OPTIONAL,
+ ganssEphemerisExtension GANSSEphemerisExtension OPTIONAL,
+ ganssEphemerisExtCheck GANSSEphemerisExtensionCheck OPTIONAL,
+ ... ,
+ sbasID INTEGER (0..7) OPTIONAL, -- Coding according to Annex
+ ganssAddUTCModel GANSSAddUTCModel OPTIONAL,
+ ganssAuxiliaryInfo GANSSAuxiliaryInformation OPTIONAL,
+ ganssDiffCorrectionsValidityPeriod GANSSDiffCorrectionsValidityPeriod OPTIONAL,
+ -- If SeqOfGANSSTimeModel is included, SeqOfGANSSTimeModel-R10-Ext shall also be included.
+ ganssTimeModel-R10-Ext SeqOfGANSSTimeModel-R10-Ext OPTIONAL,
+ -- If GANSSRefMeasurementAssist is included, GANSSRefMeasurementAssist-R10-Ext shall also be
+ -- included.
+ ganssRefMeasurementAssist-R10-Ext GANSSRefMeasurementAssist-R10-Ext OPTIONAL,
+ -- If GANSSAlmanacModel is included, GANSSAlmanacModel-R10-Ext shall also be included.
+ ganssAlmanacModel-R10-Ext GANSSAlmanacModel-R10-Ext OPTIONAL
+}
+
+-- GANSS COMMON ASSISTANCE DATA ELEMENTS
+
+-- GANSS Reference Time IE
+GANSSReferenceTime ::= SEQUENCE {
+ ganssRefTimeInfo GANSSRefTimeInfo,
+ ganssTOD-GSMTimeAssociation GANSSTOD-GSMTimeAssociation OPTIONAL
+}
+
+-- GANSS Reference Time includes GANSS TOD, GANSS Day, uncertainty
+GANSSRefTimeInfo ::= SEQUENCE {
+ -- ganssDay shall be present in this version of the protocol
+ ganssDay INTEGER(0 .. 8191) OPTIONAL,
+ ganssTOD GANSSTOD,
+ ganssTODUncertainty GANSSTODUncertainty OPTIONAL,
+ ganssTimeID INTEGER (0 .. 7) OPTIONAL
+}
+
+-- GANSS TOD integer seconds
+GANSSTOD ::= INTEGER (0 .. 86399)
+
+-- GANSS TOD uncertainty
+GANSSTODUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
+
+-- GANSS Reference Time Rel-10 Extension:
+GANSSReferenceTime-R10-Ext ::= SEQUENCE {
+ ganssDayCycleNumber INTEGER(0..7) -- coding according to annex
+}
+-- GANSS TOD-GSM Time association
+GANSSTOD-GSMTimeAssociation ::= SEQUENCE {
+ bcchCarrier BCCHCarrier, -- BCCH carrier
+ bsic BSIC, -- BSIC
+ frameNumber FrameNumber,
+ timeSlot TimeSlot,
+ bitNumber BitNumber,
+ frameDrift FrameDrift OPTIONAL
+}
+
+-- Frame drift
+FrameDrift ::= INTEGER(-64 .. 63)
+
+-- GANSS Reference Location IE
+GANSSRefLocation ::= SEQUENCE {
+ threeDLocation Ext-GeographicalInformation
+}
+
+-- GANSS Ionospheric Model IE
+-- GANSS Ionospheric Model consists of NeQuick model parameters and storm flags
+GANSSIonosphericModel ::= SEQUENCE {
+ ganssIonoModel GANSSIonosphereModel,
+ ganssIonoStormFlags GANSSIonoStormFlags OPTIONAL,
+ ...
+}
+
+-- GANSS ionosphere model. Coding according to Annex
+GANSSIonosphereModel ::= SEQUENCE {
+ ai0 INTEGER (0 .. 4095),
+ ai1 INTEGER (0 .. 4095),
+ ai2 INTEGER (0 .. 4095)
+}
+
+-- GANSS ionosphere storm flags
+GANSSIonoStormFlags ::= SEQUENCE {
+ ionoStormFlag1 INTEGER (0 .. 1),
+ ionoStormFlag2 INTEGER (0 .. 1),
+ ionoStormFlag3 INTEGER (0 .. 1),
+ ionoStormFlag4 INTEGER (0 .. 1),
+ ionoStormFlag5 INTEGER (0 .. 1)
+}
+
+-- GANSS Additional Ionospheric Model IE
+-- GANSS Additional Ionospheric Model consists of Klobuchar model parameters
+GANSSAddIonosphericModel ::= SEQUENCE {
+ dataID BIT STRING (SIZE (2)), -- Coding according to Annex
+ ionoModel IonosphericModel
+}
+
+-- GANSS Earth Orientation Paramaters IE
+GANSSEarthOrientParam ::= SEQUENCE {
+ teop INTEGER (0..65535),
+ pmX INTEGER (-1048576..1048575),
+ pmXdot INTEGER (-16384..16383),
+ pmY INTEGER (-1048576..1048575),
+ pmYdot INTEGER (-16384..16383),
+ deltaUT1 INTEGER (-1073741824..1073741823),
+ deltaUT1dot INTEGER (-262144..262143)
+}
+
+-- GANSS GENERIC ASSISTANCE DATA ELEMENTS
+
+-- GANSS Time Model IE consists of time offset and first and second order parameters to relate GNSS
+-- specific system time to selected time reference
+SeqOfGANSSTimeModel ::= SEQUENCE (SIZE(1..7)) OF GANSSTimeModelElement
+
+GANSSTimeModelElement ::= SEQUENCE {
+ ganssTimeModelRefTime INTEGER(0 .. 65535),
+ tA0 TA0,
+ tA1 TA1 OPTIONAL,
+ tA2 TA2 OPTIONAL,
+ gnssTOID INTEGER (0 .. 7), -- coding according to annex
+ weekNumber INTEGER (0 .. 8191) OPTIONAL
+}
+
+-- GANSS time model parameter A0
+TA0 ::= INTEGER (-2147483648 .. 2147483647)
+
+-- GANSS time model parameter A1
+TA1 ::= INTEGER (-8388608 .. 8388607)
+
+-- GANSS time model parameter A2
+TA2 ::= INTEGER (-64 .. 63)
+
+-- GANSS Time Model Rel-10 Extension:
+SeqOfGANSSTimeModel-R10-Ext ::= SEQUENCE (SIZE(1..7)) OF GANSSTimeModelElement-R10-Ext
+
+GANSSTimeModelElement-R10-Ext ::= SEQUENCE {
+ gnssTOID INTEGER (0 .. 7), -- coding according to annex
+ deltaT INTEGER (-128..127)
+}
+
+-- DGANSS Corrections IE
+GANSSDiffCorrections ::= SEQUENCE {
+ dganssRefTime INTEGER (0 .. 119), -- DGANSS reference time
+
+ -- N_SGN_TYPE can be read from number of elements of sgnTypeList
+ sgnTypeList SeqOfSgnTypeElement
+}
+
+SeqOfSgnTypeElement ::= SEQUENCE (SIZE (1..3)) OF SgnTypeElement -- max three signals per GNSS
+
+-- DGANSS signal type element, once per GNSS signal type included in DGANSS
+SgnTypeElement ::= SEQUENCE {
+ ganssSignalID GANSSSignalID, -- signal type identity
+ ganssStatusHealth INTEGER (0 .. 7),
+ -- N_SAT can be read from number of elements of dganssSgnList
+ dganssSgnList SeqOfDGANSSSgnElement
+}
+
+GANSSSignalID ::= INTEGER (0 .. 7) -- Coding according to Annex
+SeqOfDGANSSSgnElement ::= SEQUENCE (SIZE (1..16)) OF DGANSSSgnElement
+
+-- number of correction for signals
+DGANSSSgnElement ::= SEQUENCE {
+ svID SVID, -- Satellite identity
+
+--- Sequence number for GANSS Navigation Model that matches the DGANSS correction set
+ iod INTEGER (0 .. 1023),
+
+ -- User Differential Range Error
+ udre INTEGER (0..3),
+
+ -- Pseudo Range Correction, range is
+ -- -655.04 - +655.04,
+ pseudoRangeCor INTEGER (-2047..2047),
+
+ -- Pseudo Range Rate Correction, range is
+ -- -4.064 - +4.064,
+ rangeRateCor INTEGER (-127..127)
+}
+
+SVID ::= INTEGER (0 .. 63) -- Coding according to Annex
+
+-- GANSS Navigation Model IE
+GANSSNavModel ::= SEQUENCE {
+ nonBroadcastIndFlag INTEGER (0 .. 1),
+ ganssSatelliteList SeqOfGANSSSatelliteElement
+}
+
+SeqOfGANSSSatelliteElement ::= SEQUENCE (SIZE(1..32)) OF GANSSSatelliteElement
+
+GANSSSatelliteElement ::= SEQUENCE {
+ svID SVID,
+ svHealth BIT STRING (SIZE(5)), -- Coding according to Annex
+ iod INTEGER (0 .. 1023), -- Coding according to Annex
+ ganssClockModel GANSSClockModel,
+ ganssOrbitModel GANSSOrbitModel,
+ ...,
+ svHealthMSB BIT STRING (SIZE(1)) OPTIONAL, -- Coding according to Annex
+ iodMSB INTEGER (0 .. 1) OPTIONAL -- Coding according to Annex
+}
+
+-- GANSS orbit model for the GNSS satellite according to the choice
+GANSSOrbitModel ::= CHOICE {
+ keplerianSet NavModel-KeplerianSet, -- Model-1
+ ... ,
+ navKeplerianSet NavModel-NAVKeplerianSet, -- Model-2
+ cnavKeplerianSet NavModel-CNAVKeplerianSet, -- Model-3
+ glonassECEF NavModel-GLONASSecef, -- Model-4
+ sbasECEF NavModel-SBASecef -- Model-5
+}
+
+-- Navigation model in Keplerian parameters
+NavModel-KeplerianSet ::= SEQUENCE {
+ keplerToe INTEGER (0 .. 16383),
+ keplerW INTEGER (-2147483648..2147483647),
+ keplerDeltaN INTEGER (-32768..32767),
+ keplerM0 INTEGER (-2147483648..2147483647),
+ keplerOmegaDot INTEGER (-8388608..8388607),
+ keplerE INTEGER (0..4294967295),
+ keplerIDot INTEGER (-8192..8191),
+ keplerAPowerHalf INTEGER (0.. 4294967295),
+ keplerI0 INTEGER (-2147483648..2147483647),
+ keplerOmega0 INTEGER (-2147483648..2147483647),
+ keplerCrs INTEGER (-32768..32767),
+ keplerCis INTEGER (-32768..32767),
+ keplerCus INTEGER (-32768..32767),
+ keplerCrc INTEGER (-32768..32767),
+ keplerCic INTEGER (-32768..32767),
+ keplerCuc INTEGER (-32768..32767)
+}
+
+NavModel-NAVKeplerianSet ::= SEQUENCE {
+ navURA INTEGER (0..15),
+ navFitFlag INTEGER (0..1),
+ navToe INTEGER (0..37799),
+ navOmega INTEGER (-2147483648..2147483647),
+ navDeltaN INTEGER (-32768..32767),
+ navM0 INTEGER (-2147483648..2147483647),
+ navOmegaADot INTEGER (-8388608..8388607),
+ navE INTEGER (0..4294967295),
+ navIDot INTEGER (-8192..8191),
+ navAPowerHalf INTEGER (0..4294967295),
+ navI0 INTEGER (-2147483648..2147483647),
+ navOmegaA0 INTEGER (-2147483648..2147483647),
+ navCrs INTEGER (-32768..32767),
+ navCis INTEGER (-32768..32767),
+ navCus INTEGER (-32768..32767),
+ navCrc INTEGER (-32768..32767),
+ navCic INTEGER (-32768..32767),
+ navCuc INTEGER (-32768..32767)
+}
+
+NavModel-CNAVKeplerianSet ::= SEQUENCE {
+ cnavTop INTEGER (0..2015),
+ cnavURAindex INTEGER (-16..15),
+ cnavDeltaA INTEGER (-33554432..33554431),
+ cnavAdot INTEGER (-16777216..16777215),
+ cnavDeltaNo INTEGER (-65536..65535),
+ cnavDeltaNoDot INTEGER (-4194304..4194303),
+ cnavMo INTEGER (-4294967296..4294967295),
+ cnavE INTEGER (0..8589934591),
+ cnavOmega INTEGER (-4294967296..4294967295),
+ cnavOMEGA0 INTEGER (-4294967296..4294967295),
+ cnavDeltaOmegaDot INTEGER (-65536..65535),
+ cnavIo INTEGER (-4294967296..4294967295),
+ cnavIoDot INTEGER (-16384..16383),
+ cnavCis INTEGER (-32768..32767),
+ cnavCic INTEGER (-32768..32767),
+ cnavCrs INTEGER (-8388608..8388607),
+ cnavCrc INTEGER (-8388608..8388607),
+ cnavCus INTEGER (-1048576..1048575),
+ cnavCuc INTEGER (-1048576..1048575)
+}
+
+NavModel-GLONASSecef ::= SEQUENCE {
+ gloEn INTEGER (0..31),
+ gloP1 BIT STRING (SIZE(2)),
+ gloP2 BOOLEAN,
+ gloM INTEGER (0..3),
+ gloX INTEGER (-67108864..67108863),
+ gloXdot INTEGER (-8388608..8388607),
+ gloXdotdot INTEGER (-16..15),
+ gloY INTEGER (-67108864..67108863),
+ gloYdot INTEGER (-8388608..8388607),
+ gloYdotdot INTEGER (-16..15),
+ gloZ INTEGER (-67108864..67108863),
+ gloZdot INTEGER (-8388608..8388607),
+ gloZdotdot INTEGER (-16..15)
+}
+
+
+NavModel-SBASecef ::= SEQUENCE {
+ sbasTo INTEGER (0..5399) OPTIONAL,
+ sbasAccuracy BIT STRING (SIZE(4)),
+ sbasXg INTEGER (-536870912..536870911),
+ sbasYg INTEGER (-536870912..536870911),
+ sbasZg INTEGER (-16777216..16777215),
+ sbasXgDot INTEGER (-65536..65535),
+ sbasYgDot INTEGER (-65536..65535),
+ sbasZgDot INTEGER (-131072..131071),
+ sbasXgDotDot INTEGER (-512..511),
+ sbagYgDotDot INTEGER (-512..511),
+ sbasZgDotDot INTEGER (-512..511)
+}
+
+-- GANSS clock model for the GNSS satellite according to the choice
+GANSSClockModel ::= CHOICE {
+ standardClockModelList SeqOfStandardClockModelElement, -- Model-1
+ ... ,
+ navClockModel NAVclockModel, -- Model-2
+ cnavClockModel CNAVclockModel, -- Model-3
+ glonassClockModel GLONASSclockModel, -- Model-4
+ sbasClockModel SBASclockModel -- Model-5
+}
+
+SeqOfStandardClockModelElement ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement
+
+StandardClockModelElement ::= SEQUENCE {
+ stanClockToc INTEGER (0 .. 16383),
+ stanClockAF2 INTEGER (-2048 .. 2047),
+ stanClockAF1 INTEGER (-131072 .. 131071),
+ stanClockAF0 INTEGER (-134217728 .. 134217727),
+ stanClockTgd INTEGER (-512 .. 511) OPTIONAL,
+ stanModelID INTEGER (0 .. 1) OPTIONAL,
+ ...
+}
+
+NAVclockModel ::= SEQUENCE {
+ navToc INTEGER (0.. 37799),
+ navaf2 INTEGER (-128..127),
+ navaf1 INTEGER (-32768..32767),
+ navaf0 INTEGER (-2097152..2097151),
+ navTgd INTEGER (-128..127)
+}
+
+CNAVclockModel ::= SEQUENCE {
+ cnavToc INTEGER (0..2015),
+ cnavTop INTEGER (0..2015),
+ cnavURA0 INTEGER (-16..15),
+ cnavURA1 INTEGER (0..7),
+ cnavURA2 INTEGER (0..7),
+ cnavAf2 INTEGER (-512..511),
+ cnavAf1 INTEGER (-524288..524287),
+ cnavAf0 INTEGER (-33554432..33554431),
+ cnavTgd INTEGER (-4096..4095),
+ cnavISCl1cp INTEGER (-4096..4095) OPTIONAL,
+ cnavISCl1cd INTEGER (-4096..4095) OPTIONAL,
+ cnavISCl1ca INTEGER (-4096..4095) OPTIONAL,
+ cnavISCl2c INTEGER (-4096..4095) OPTIONAL,
+ cnavISCl5i5 INTEGER (-4096..4095) OPTIONAL,
+ cnavISCl5q5 INTEGER (-4096..4095) OPTIONAL
+}
+
+GLONASSclockModel ::= SEQUENCE {
+ gloTau INTEGER (-2097152..2097151),
+ gloGamma INTEGER (-1024..1023),
+ gloDeltaTau INTEGER (-16..15) OPTIONAL
+}
+
+SBASclockModel ::= SEQUENCE {
+ sbasTo INTEGER (0..5399),
+ sbasAgfo INTEGER (-2048..2047),
+ sbasAgf1 INTEGER (-128..127)
+}
+
+-- GANSS Real-Time Integrity IE
+GANSSRealTimeIntegrity ::= SEQUENCE {
+ -- list of satellites with bad signals
+ -- NBS can be read from number of elements in SeqOf-BadSignalSet
+ ganssBadSignalList SeqOfBadSignalElement
+}
+
+SeqOfBadSignalElement ::= SEQUENCE (SIZE(1..16)) OF BadSignalElement
+
+BadSignalElement ::= SEQUENCE {
+ badSVID SVID, -- Coding according to Annex
+ badSignalID GANSSSignals OPTIONAL -- Coding according to Annex
+}
+
+-- GANSS Data Bit Assistance IE
+GANSSDataBitAssist ::= SEQUENCE {
+ ganssTOD INTEGER (0 .. 59),
+ -- N_SAT can be read from number of elements in SeqOfGanssDataBitsElement
+ ganssDataBitsSatList SeqOfGanssDataBitsElement,
+ ...
+}
+
+SeqOfGanssDataBitsElement ::= SEQUENCE (SIZE(1 .. 32))OF GanssDataBitsElement
+
+GanssDataBitsElement ::= SEQUENCE {
+ svID SVID,
+ -- N_SGN can be read from number of elements in Seq-OfGANSSDataBitsSgn
+ ganssDataBitsSgnList Seq-OfGANSSDataBitsSgn,
+ ...
+}
+
+Seq-OfGANSSDataBitsSgn ::= SEQUENCE (SIZE(1..8)) OF GANSSDataBitsSgnElement
+
+GANSSDataBitsSgnElement ::= SEQUENCE {
+ ganssSignalType GANSSSignalID,
+ -- N_BIT can be read from number of elements in SeqOf-DataBits
+ ganssDataBits SeqOf-GANSSDataBits,
+ ...
+}
+
+SeqOf-GANSSDataBits ::= SEQUENCE (SIZE(1 .. 1024)) OF GANSSDataBit
+GANSSDataBit ::= INTEGER(0 .. 1)
+
+-- GANSS Reference Measurement Assistance IE
+-- Code and Doppler assistance from the network.
+GANSSRefMeasurementAssist ::= SEQUENCE {
+ ganssSignalID GANSSSignalID, -- Coding according to Annex
+ ganssRefMeasAssistList SeqOfGANSSRefMeasurementElement
+}
+
+SeqOfGANSSRefMeasurementElement ::= SEQUENCE (SIZE(1 .. 16)) OF GANSSRefMeasurementElement
+
+GANSSRefMeasurementElement ::= SEQUENCE {
+ svID SVID,
+ -- Doppler 0th order term,
+ -- -1024 m/s to 1023.5 m/s with 0.5 m/s resolution)
+ doppler0 INTEGER (-2048 .. 2047), -- Coding according to Annex
+ additionalDoppler AdditionalDopplerFields OPTIONAL,
+ codePhase INTEGER (0 .. 1022), -- Code Phase in ms
+ intCodePhase INTEGER (0 .. 127), -- Integer Code Phase in ms
+ codePhaseSearchWindow INTEGER (0 .. 31), -- Code Phase Search Window, see Annex
+ additionalAngle AddionalAngleFields OPTIONAL,
+ ...
+}
+
+AdditionalDopplerFields ::= SEQUENCE {
+ -- Doppler 1st order term, -0.2 - +0.1 m/s2
+ -- ( = -42 + (0 to 63) with 1/210 m/s2 resolution)
+ doppler1 INTEGER (0..63),
+ dopplerUncertainty INTEGER (0..4)
+}
+-- GANSS Reference Measurement Rel-10 Extension:
+-- GANSSRefMeasurementAssist-R10-Ext shall contain the same number of elements as the
+-- SeqOfGANSSRefMeasurementElement included in GANSSRefMeasurementAssist IE
+GANSSRefMeasurementAssist-R10-Ext ::= SEQUENCE (SIZE(1 .. 16)) OF
+ GANSSRefMeasurement-R10-Ext-Element
+
+GANSSRefMeasurement-R10-Ext-Element ::= SEQUENCE {
+ svID SVID,
+ azimuthLSB INTEGER(0..15),
+ elevationLSB INTEGER(0..15)
+}
+
+-- GANSS Almanac Model IE
+GANSSAlmanacModel ::= SEQUENCE {
+ weekNumber INTEGER (0 .. 255),
+ toa INTEGER (0 .. 255) OPTIONAL,
+ ioda INTEGER (0 .. 3) OPTIONAL,
+ ganssAlmanacList SeqOfGANSSAlmanacElement
+}
+
+
+SeqOfGANSSAlmanacElement ::= SEQUENCE (SIZE(1 .. 36)) OF GANSSAlmanacElement
+
+-- GANSS Almanac Model
+GANSSAlmanacElement ::= CHOICE {
+ keplerianAlmanacSet Almanac-KeplerianSet, -- Model-1
+ ...,
+ keplerianNAVAlmanac Almanac-NAVKeplerianSet, -- Model-2
+ keplerianReducedAlmanac Almanac-ReducedKeplerianSet, -- Model-3
+ keplerianMidiAlmanac Almanac-MidiAlmanacSet, -- Model-4
+ keplerianGLONASS Almanac-GlonassAlmanacSet, -- Model-5
+ ecefSBASAlmanac Almanac-ECEFsbasAlmanacSet -- Model-6
+}
+
+-- Almanac parameters according to Keplerian parameters
+Almanac-KeplerianSet ::= SEQUENCE {
+ svID SVID,
+ kepAlmanacE INTEGER (0 .. 2047),
+ kepAlmanacDeltaI INTEGER (-1024 .. 1023),
+ kepAlmanacOmegaDot INTEGER (-1024 .. 1023),
+ kepSVHealth INTEGER (0 .. 15), -- Coding according to Annex
+ kepAlmanacAPowerHalf INTEGER (-65536 .. 65535),
+ kepAlmanacOmega0 INTEGER (-32768 .. 32767),
+ kepAlmanacW INTEGER (-32768 .. 32767),
+ kepAlmanacM0 INTEGER (-32768 .. 32767),
+ kepAlmanacAF0 INTEGER (-8192 .. 8191),
+ kepAlmanacAF1 INTEGER (-1024..1023)
+}
+
+Almanac-NAVKeplerianSet ::= SEQUENCE {
+ svID SVID,
+ navAlmE INTEGER (0..65535),
+ navAlmDeltaI INTEGER (-32768..32767),
+ navAlmOMEGADOT INTEGER (-32768..32767),
+ navAlmSVHealth INTEGER (0..255),
+ navAlmSqrtA INTEGER (0..16777215),
+ navAlmOMEGAo INTEGER (-8388608..8388607),
+ navAlmOmega INTEGER (-8388608..8388607),
+ navAlmMo INTEGER (-8388608..8388607),
+ navAlmaf0 INTEGER (-1024..1023),
+ navAlmaf1 INTEGER (-1024..1023)
+}
+
+Almanac-ReducedKeplerianSet ::= SEQUENCE {
+ svID SVID,
+ redAlmDeltaA INTEGER (-128..127),
+ redAlmOmega0 INTEGER (-64..63),
+ redAlmPhi0 INTEGER (-64..63),
+ redAlmL1Health BOOLEAN,
+ redAlmL2Health BOOLEAN,
+ redAlmL5Health BOOLEAN
+}
+
+Almanac-MidiAlmanacSet ::= SEQUENCE {
+ svID SVID,
+ midiAlmE INTEGER (0..2047),
+ midiAlmDeltaI INTEGER (-1024..1023),
+ midiAlmOmegaDot INTEGER (-1024..1023),
+ midiAlmSqrtA INTEGER (0..131071),
+ midiAlmOmega0 INTEGER (-32768..32767),
+ midiAlmOmega INTEGER (-32768..32767),
+ midiAlmMo INTEGER (-32768..32767),
+ midiAlmaf0 INTEGER (-1024..1023),
+ midiAlmaf1 INTEGER (-512..511),
+ midiAlmL1Health BOOLEAN,
+ midiAlmL2Health BOOLEAN,
+ midiAlmL5Health BOOLEAN
+}
+
+Almanac-GlonassAlmanacSet ::= SEQUENCE {
+ gloAlmNA INTEGER (1..1461),
+ gloAlmnA INTEGER (1..24),
+ gloAlmHA INTEGER (0..31),
+ gloAlmLambdaA INTEGER (-1048576..1048575),
+ gloAlmtlambdaA INTEGER (0..2097151),
+ gloAlmDeltaIa INTEGER (-131072..131071),
+ gloAlmDeltaTA INTEGER (-2097152..2097151),
+ gloAlmDeltaTdotA INTEGER (-64..63),
+ gloAlmEpsilonA INTEGER (0..32767),
+ gloAlmOmegaA INTEGER (-32768..32767),
+ gloAlmTauA INTEGER (-512..511),
+ gloAlmCA INTEGER (0..1),
+ gloAlmMA BIT STRING (SIZE(2)) OPTIONAL
+}
+
+Almanac-ECEFsbasAlmanacSet ::= SEQUENCE {
+ sbasAlmDataID INTEGER (0..3),
+ svID SVID,
+ sbasAlmHealth BIT STRING (SIZE(8)),
+ sbasAlmXg INTEGER (-16384..16383),
+ sbasAlmYg INTEGER (-16384..16383),
+ sbasAlmZg INTEGER (-256..255),
+ sbasAlmXgdot INTEGER (-4..3),
+ sbasAlmYgDot INTEGER (-4..3),
+ sbasAlmZgDot INTEGER (-8..7),
+ sbasAlmTo INTEGER (0..2047)
+}
+
+-- GANSS Almanac Model Rel-10 Extension
+GANSSAlmanacModel-R10-Ext ::= SEQUENCE {
+ completeAlmanacProvided BOOLEAN -- TRUE means that complete Almanac is provided
+}
+
+-- GANSS Universal Time Coordinate Model (Model-1)
+GANSSUTCModel ::= SEQUENCE {
+ ganssUtcA1 INTEGER (-8388608..8388607),
+ ganssUtcA0 INTEGER (-2147483648..2147483647),
+ ganssUtcTot INTEGER (0..255),
+ ganssUtcWNt INTEGER (0..255),
+ ganssUtcDeltaTls INTEGER (-128..127),
+ ganssUtcWNlsf INTEGER (0..255),
+ ganssUtcDN INTEGER (-128..127),
+ ganssUtcDeltaTlsf INTEGER (-128..127)
+}
+
+--GANSS Ephemeris Extension
+GANSSEphemerisExtension ::= SEQUENCE {
+ ganssEphemerisHeader GANSSEphemerisExtensionHeader OPTIONAL,
+ ganssReferenceSet SeqOfGANSSRefOrbit OPTIONAL,
+ ganssephemerisDeltasMatrix GANSSEphemerisDeltaMatrix OPTIONAL,
+...
+}
+
+-- The ganssEphemerisHeader and the ganssReferenceSet are mandatory only once in the delivery of the
+-- GANSS Ephemeris Extension. The ganssReferenceSet shall include all healthy satellite vehicles
+-- at the time of message construction.
+
+GANSSEphemerisExtensionHeader ::= SEQUENCE {
+ timeAtEstimation GANSSEphemerisExtensionTime,
+ validityPeriod INTEGER(1..8),
+-- The validity period, represented in hours, is the validity period of each individual ephemeris
+-- delta payload
+ ephemerisExtensionDuration INTEGER(1..512),
+-- If the ephemerisExtensionDuration does not match the request duration made by the MS, the MS
+-- should regard the provided ephemerisExtensionDuration as the limit of the SMLC ephemeris
+-- extension capability at this time.
+...
+}
+
+GANSSEphemerisExtensionTime ::= SEQUENCE {
+ ganssEphExtDay INTEGER(0..8191),
+ ganssEphExtTOD GANSSTOD,
+...
+}
+
+-- Reference Nav Model for Ephepmeris Extension
+ReferenceNavModel ::= SEQUENCE {
+ keplerToe INTEGER (0..37799),
+ keplerW INTEGER (-2147483648..2147483647),
+ keplerDeltaN INTEGER (-32768..32767),
+ keplerM0 INTEGER (-2147483648..2147483647),
+ keplerOmegaDot INTEGER (-8388608..8388607),
+ keplerE INTEGER (0..4294967295),
+ keplerIDot INTEGER (-8192..8191),
+ keplerAPowerHalf INTEGER (0.. 4294967295),
+ keplerI0 INTEGER (-2147483648..2147483647),
+ keplerOmega0 INTEGER (-2147483648..2147483647),
+ keplerCrs INTEGER (-32768..32767),
+ keplerCis INTEGER (-32768..32767),
+ keplerCus INTEGER (-32768..32767),
+ keplerCrc INTEGER (-32768..32767),
+ keplerCic INTEGER (-32768..32767),
+ keplerCuc INTEGER (-32768..32767)
+}
+
+SeqOfGANSSRefOrbit ::= SEQUENCE (SIZE(1..32)) OF GANSSReferenceOrbit
+--The number of reference orbits can be read from number of elements in this sequence
+
+GANSSReferenceOrbit ::= SEQUENCE {
+ svID SVID,
+ ganssOrbitModel ReferenceNavModel,
+ ganssClockModel GANSSClockModel,
+...
+}
+
+GANSSEphemerisDeltaMatrix ::= SEQUENCE (SIZE(1 .. 128)) OF GANSSEphemerisDeltaEpoch
+
+GANSSEphemerisDeltaEpoch ::= SEQUENCE {
+ ganssDeltaEpochHeader GANSSDeltaEpochHeader OPTIONAL,
+ ganssDeltaElementList GANSSDeltaElementList,
+...
+}
+-- Each GANSSDeltaEpoch element contains a header and the delta values for a particular time window
+-- for all PRN's.
+
+GANSSDeltaEpochHeader ::= SEQUENCE {
+ validityPeriod INTEGER(1..8) OPTIONAL,
+ ephemerisDeltaSizes GANSSEphemerisDeltaBitSizes OPTIONAL,
+ ephemerisDeltaScales GANSSEphemerisDeltaScales OPTIONAL,
+...
+}
+-- In each of the GANSSDeltaEpochs, if the optional element, validityPeriod is not included, the
+-- value in GANSSEphemerisExtensionHeader shall be used. If the optional elements
+-- ephemerisDeltaSizes or ephemerisDeltaScales are not included, then the default ephemeris delta
+-- sizes and scales shall be used. The default sizes and scales are found in the annex in the
+-- table 55.11.
+
+GANSSDeltaElementList ::= SEQUENCE (SIZE(1 .. 32)) OF OCTET STRING(SIZE (1..49))
+-- Each octet string element in GANSSDeltaElementList corresponds to one PRN within one epoch
+
+-- Table 55.11 of the annex shows the organization of the delta ephemeris octet string.
+-- Decoding of each of the octet strings is accomplished by consulting the ephemerisDeltaSizes
+-- table to learn the length and order of each of the parameters in the ephemerisDelta payload.
+
+-- Post decode scaling is accomplished by consulting the ephemerisDeltaScales table to learn the
+-- scale factors to apply to the terms in the delta ephemeris.
+
+-- Ephemeris Delta Bit Sizes.
+
+GANSSEphemerisDeltaBitSizes ::= SEQUENCE {
+
+-- This structure defines the order and sizes of the fields in the GANSSDeltaEpoch octet string
+-- seqNum and svID are the first two elements of each GANSS Ephemeris Delta Element Structure
+-- seqNum is always 7 bits, and svID is always 6 bits long and are thus not included in
+-- the GANSSEphemerisDeltaBitSizes table. The value of seqNum indicates the GANSSDeltaEpoch number
+
+-- The Ephemeris delta element payload mimics the bitsize table, but also includes the svID and
+-- seqNum as the first two elements (in that order),in each block.
+
+ bitsize-delta-omega INTEGER(1..32),
+ bitsize-delta-deltaN INTEGER(1..16),
+ bitsize-delta-m0 INTEGER(1..32),
+ bitsize-delta-omegadot INTEGER(1..24),
+ bitsize-delta-e INTEGER(1..32),
+ bitsize-delta-idot INTEGER(1..14),
+ bitsize-delta-sqrtA INTEGER(1..32),
+ bitsize-delta-i0 INTEGER(1..32),
+ bitsize-delta-omega0 INTEGER(1..32),
+ bitsize-delta-crs INTEGER(1..16),
+ bitsize-delta-cis INTEGER(1..16),
+ bitsize-delta-cus INTEGER(1..16),
+ bitsize-delta-crc INTEGER(1..16),
+ bitsize-delta-cic INTEGER(1..16),
+ bitsize-delta-cuc INTEGER(1..16),
+ bitsize-delta-tgd1 INTEGER(1..10),
+ bitsize-delta-tgd2 INTEGER(1..10),
+...
+}
+
+GANSSEphemerisDeltaScales ::= SEQUENCE {
+
+ scale-delta-omega INTEGER(-16..15),
+ scale-delta-deltaN INTEGER(-16..15),
+ scale-delta-m0 INTEGER(-16..15),
+ scale-delta-omegadot INTEGER(-16..15),
+ scale-delta-e INTEGER(-16..15),
+ scale-delta-idot INTEGER(-16..15),
+ scale-delta-sqrtA INTEGER(-16..15),
+ scale-delta-i0 INTEGER(-16..15),
+ scale-delta-omega0 INTEGER(-16..15),
+ scale-delta-crs INTEGER(-16..15),
+ scale-delta-cis INTEGER(-16..15),
+ scale-delta-cus INTEGER(-16..15),
+ scale-delta-crc INTEGER(-16..15),
+ scale-delta-cic INTEGER(-16..15),
+ scale-delta-cuc INTEGER(-16..15),
+ scale-delta-tgd1 INTEGER(-16..15),
+ scale-delta-tgd2 INTEGER(-16..15),
+...
+}
+
+-- GANSS Ephemeris Extension Check
+GANSSEphemerisExtensionCheck ::= SEQUENCE {
+ ganssBeginTime GANSSEphemerisExtensionTime,
+ ganssEndTime GANSSEphemerisExtensionTime,
+ ganssSatEventsInfo GANSSSatEventsInfo,
+...
+}
+
+GANSSSatEventsInfo ::= SEQUENCE {
+ eventOccured BIT STRING (SIZE (64)),
+ futureEventNoted BIT STRING (SIZE (64)),
+...
+}
+-- If a bit is clear in the eventOccured field it indicates that no known errors have occured
+-- between the current time and the ganssBeginTime nor is a maneuver planned for the next sixty
+-- minutes.
+-- If a bit is set in the futureEventNoted field it indicates that a maneuver is planned during the
+-- time period between current time plus sixty minutes and the ganssEndTime
+-- GANSS Additional Universal Time Coordinate Model
+GANSSAddUTCModel ::= CHOICE {
+ utcModel2 UTCmodelSet2,
+ utcModel3 UTCmodelSet3,
+ utcModel4 UTCmodelSet4,
+ ...
+}
+
+UTCmodelSet2 ::= SEQUENCE {
+ utcA0 INTEGER (-32768..32767),
+ utcA1 INTEGER (-4096.. 4095),
+ utcA2 INTEGER (-64..63),
+ utcDeltaTls INTEGER (-128.. 127),
+ utcTot INTEGER (0..65535),
+ utcWNot INTEGER (0..8191),
+ utcWNlsf INTEGER (0..255),
+ utcDN BIT STRING (SIZE(4)),
+ utcDeltaTlsf INTEGER (-128..127)
+}
+
+UTCmodelSet3 ::= SEQUENCE {
+ nA INTEGER (1..1461),
+ tauC INTEGER (-2147483648..2147483647),
+ b1 INTEGER (-1024..1023) OPTIONAL,
+ b2 INTEGER (-512..511) OPTIONAL,
+ kp BIT STRING (SIZE(2)) OPTIONAL
+}
+
+UTCmodelSet4 ::= SEQUENCE {
+ utcA1wnt INTEGER (-8388608..8388607),
+ utcA0wnt INTEGER (-2147483648..2147483647),
+ utcTot INTEGER (0..255),
+ utcWNt INTEGER (0..255),
+ utcDeltaTls INTEGER (-128..127),
+ utcWNlsf INTEGER (0..255),
+ utcDN INTEGER (-128..127),
+ utcDeltaTlsf INTEGER (-128..127),
+ utcStandardID INTEGER (0..7) -- coding according to annex
+}
+
+-- GANSS Auxiliary Information
+GANSSAuxiliaryInformation ::= CHOICE{
+ ganssID1 GANSS-ID1, -- This choice may only be present if GANSS ID indicates Modernized GPS
+ ganssID3 GANSS-ID3, -- This choice may only be present if GANSS ID indicates GLONASS
+ ...
+}
+
+GANSS-ID1 ::= SEQUENCE (SIZE(1..64)) OF GANSS-ID1-element
+
+GANSS-ID1-element ::= SEQUENCE {
+ svID SVID,
+ signalsAvailable GANSSSignals,
+ ...
+}
+
+GANSS-ID3 ::= SEQUENCE (SIZE(1..64)) OF GANSS-ID3-element
+
+GANSS-ID3-element ::= SEQUENCE {
+ svID SVID,
+ signalsAvailable GANSSSignals,
+ channelNumber INTEGER (-7..13),
+ ...
+}
+
+-- DGANSS Corrections Validity Period:
+-- This element may only be included if GANSSDiffCorrections IE is included in
+-- GANSSGenericAssistDataElement element.
+-- GANSSDiffCorrectionsValidityPeriod shall contain the same number of elements as the
+-- SeqOfSgnTypeElement included in GANSSDiffCorrections IE
+GANSSDiffCorrectionsValidityPeriod ::= SEQUENCE (SIZE (1..3)) OF DGANSSExtensionSgnTypeElement
+
+DGANSSExtensionSgnTypeElement ::= SEQUENCE {
+ ganssSignalID GANSSSignalID, -- signal type identity
+ dganssExtensionSgnList SeqOfDGANSSExtensionSgnElement
+}
+
+-- SeqOfDGANSSExtensionSgnElement shall contain the same number of elements as the
+-- SeqOfDGANSSSgnElement included in GANSSDiffCorrections IE
+SeqOfDGANSSExtensionSgnElement ::= SEQUENCE (SIZE (1..16)) OF DGANSSExtensionSgnElement
+
+DGANSSExtensionSgnElement ::= SEQUENCE {
+ svID SVID, -- Satellite identity
+ udreGrowthRate INTEGER(0..7), -- coding according to annex
+ udreValidityTime INTEGER(0..7), -- coding according to annex
+ ...
+}
+
+--Required Measurement Request Response Time, range is 1 to 128 seconds.
+RequiredResponseTime ::= INTEGER (1..128)
+
+-- Control header for additional GPS assistance data
+Add-GPS-AssistData ::= SEQUENCE {
+ add-GPS-controlHeader Add-GPS-ControlHeader
+}
+
+Add-GPS-ControlHeader ::= SEQUENCE {
+ gpsEphemerisExtension GPSEphemerisExtension OPTIONAL,
+ gpsEphemerisExtensionCheck GPSEphemerisExtensionCheck OPTIONAL,
+ ... ,
+ dgpsCorrectionsValidityPeriod DGPSCorrectionsValidityPeriod OPTIONAL,
+ -- If ReferenceTime is included in ControlHeader, GPSReferenceTime-R10-Ext
+ -- shall also be included.
+ gpsReferenceTime-R10-Ext GPSReferenceTime-R10-Ext OPTIONAL,
+ -- If AcquisAssist is included in ControlHeader, GPSAcquisAssist-R10-Ext
+ -- shall also be included.
+ gpsAcquisAssist-R10-Ext GPSAcquisAssist-R10-Ext OPTIONAL,
+ -- If Almanac is included in ControlHeader, GPSAlmanac-R10-Ext
+ -- shall also be included.
+ gpsAlmanac-R10-Ext GPSAlmanac-R10-Ext OPTIONAL
+}
+
+GPSClockModel ::= SEQUENCE {
+ af2 INTEGER (-128..127),
+ af1 INTEGER (-32768..32767),
+ af0 INTEGER (-2097152..2097151),
+ tgd INTEGER (-128..127)
+}
+
+--GPS Ephemeris Extension
+GPSEphemerisExtension ::= SEQUENCE {
+ gpsEphemerisHeader GPSEphemerisExtensionHeader OPTIONAL,
+ gpsReferenceSet SeqOfGPSRefOrbit OPTIONAL,
+ gpsephemerisDeltaMatrix GPSEphemerisDeltaMatrix OPTIONAL,
+...
+}
+
+-- The gpsEphemerisHeader and the gpsReferenceSet are mandatory only once in the delivery of the
+-- GPS Ephemeris Extension. The gpsReferenceSet shall include all healthy satellite vehicles at the
+-- time of message construction
+
+-- The SMLC is required to deliver the gpsReferenceSet for all healthy satellite vehicles
+-- at the time of message construction.
+
+GPSEphemerisExtensionHeader ::= SEQUENCE {
+ timeofEstimation GPSEphemerisExtensionTime,
+ validityPeriod INTEGER(1..8),
+-- The validity period, represented in hours is the validity period of each individual ephemeris
+-- delta payload
+ ephemerisExtensionDuration INTEGER(1..512),
+-- If the ephemerisExtensionDuration does not match the request duration made by the MS, the MS
+-- should regard the provided ephemerisExtensionDuration as the limit of the SMLC ephemeris
+-- extension capability at this time.
+...
+}
+
+GPSEphemerisExtensionTime ::= SEQUENCE {
+ gpsWeek GPSWeek,
+ gpsTOW INTEGER (0..604799),
+...
+}
+
+SeqOfGPSRefOrbit ::= SEQUENCE (SIZE(1..32)) OF GPSReferenceOrbit
+--The number of reference orbits can be read from number of elements in this sequence
+
+GPSReferenceOrbit ::= SEQUENCE {
+ svID SVID,
+ gpsOrbitModel ReferenceNavModel,
+ gpsClockModel GPSClockModel,
+...
+}
+
+GPSEphemerisDeltaMatrix ::= SEQUENCE (SIZE(1 .. 128)) OF GPSEphemerisDeltaEpoch
+
+GPSEphemerisDeltaEpoch ::= SEQUENCE {
+ gpsDeltaEpochHeader GPSDeltaEpochHeader OPTIONAL,
+ gpsDeltaElementList GPSDeltaElementList,
+...
+}
+
+-- Each GPSDeltaEpoch element contains a header and the delta values for a particular time window
+-- for all PRN's.
+GPSDeltaEpochHeader ::= SEQUENCE {
+ validityPeriod INTEGER(1..8) OPTIONAL,
+ ephemerisDeltaSizes GPSEphemerisDeltaBitSizes OPTIONAL,
+ ephemerisDeltaScales GPSEphemerisDeltaScales OPTIONAL,
+...
+}
+
+-- In each of the GPSDeltaEpochs, if the optional element validityPeriod is not included,
+-- the value in GPSEphemerisExtensionHeader shall be used. if the optional elements
+-- ephemerisDeltaSizes or ephemerisDeltaScales are not included, then the default ephemeris delta
+-- sizes and scales shall be used. The default sizes and scales are found in the annex in section
+-- A.29.m
+
+GPSDeltaElementList ::= SEQUENCE (SIZE(1 .. 32)) OF OCTET STRING(SIZE (1..47))
+
+-- Each octet string element in GPSDeltaElementList corresponds to one PRN within one epoch
+
+-- Table A.29.m of the annex shows the organization of the delta ephemeris octet string.
+-- Decoding of each of the octet strings is accomplished by consulting the ephemerisDeltaSizes
+-- table to learn the length and order of each of the parameters in the ephemerisDelta payload
+
+-- Post decode scaling is accomplished by consulting the ephemerisDeltaScales table to learn the.
+-- scale factors to apply to the terms in the delta ephemeris
+
+-- Ephemeris Delta Bit Sizes.
+
+GPSEphemerisDeltaBitSizes ::= SEQUENCE {
+
+-- This structure defines the order and sizes of the fields in the GPSsDeltaEpoch octet string
+-- seqNum and svID are the first two elements of each GPS Ephemeris Delta Element Structure
+-- seqNum is always 7 bits, and svID is always 5 bits long and are thus not included in
+-- the GPSEphemerisDeltaBitSizes table. seqNum indicates the GPSDeltaEpoch number.
+
+-- The Ephemeris delta element payload mimics the bitsize table, but also includes the svID and
+-- seqNum as the first two elements (in that order),in each block.
+
+ bitsize-delta-omega INTEGER(1..32),
+ bitsize-delta-deltaN INTEGER(1..16),
+ bitsize-delta-m0 INTEGER(1..32),
+ bitsize-delta-omegadot INTEGER(1..24),
+ bitsize-delta-e INTEGER(1..32),
+ bitsize-delta-idot INTEGER(1..14),
+ bitsize-delta-sqrtA INTEGER(1..32),
+ bitsize-delta-i0 INTEGER(1..32),
+ bitsize-delta-omega0 INTEGER(1..32),
+ bitsize-delta-crs INTEGER(1..16),
+ bitsize-delta-cis INTEGER(1..16),
+ bitsize-delta-cus INTEGER(1..16),
+ bitsize-delta-crc INTEGER(1..16),
+ bitsize-delta-cic INTEGER(1..16),
+ bitsize-delta-cuc INTEGER(1..16),
+ bitsize-delta-tgd INTEGER(1..10),
+...
+}
+
+GPSEphemerisDeltaScales ::= SEQUENCE {
+ scale-delta-omega INTEGER(-16..15),
+ scale-delta-deltaN INTEGER(-16..15),
+ scale-delta-m0 INTEGER(-16..15),
+ scale-delta-omegadot INTEGER(-16..15),
+ scale-delta-e INTEGER(-16..15),
+ scale-delta-idot INTEGER(-16..15),
+ scale-delta-sqrtA INTEGER(-16..15),
+ scale-delta-i0 INTEGER(-16..15),
+ scale-delta-omega0 INTEGER(-16..15),
+ scale-delta-crs INTEGER(-16..15),
+ scale-delta-cis INTEGER(-16..15),
+ scale-delta-cus INTEGER(-16..15),
+ scale-delta-crc INTEGER(-16..15),
+ scale-delta-cic INTEGER(-16..15),
+ scale-delta-cuc INTEGER(-16..15),
+ scale-delta-tgd INTEGER(-16..15),
+...
+}
+
+GPSEphemerisExtensionCheck ::= SEQUENCE {
+ gpsBeginTime GPSEphemerisExtensionTime,
+ gpsEndTime GPSEphemerisExtensionTime,
+ gpsSatEventsInfo GPSSatEventsInfo,
+...
+}
+
+GPSSatEventsInfo ::= SEQUENCE {
+ eventOccured BIT STRING (SIZE (32)),
+ futureEventNoted BIT STRING (SIZE (32)),
+...
+}
+-- If a bit is clear in the eventOccured field it indicates that no known errors have occured since
+-- the gpsBeginTime nor is a maneuver planned for the next sixty minutes.
+-- If a bit is set in the futureEventNoted field it indicates that a maneuver is planned during the
+-- time period between current time plus sixty minutes and gpsEndTime
+
+-- DGPS Corrections Validity Period:
+-- This element may only be included if DGPSCorrections IE is included in ControlHeader element.
+-- DGPSCorrectionsValidityPeriod shall contain the same number of elements as the SeqOfSatElement
+-- included in DGPSCorrections IE
+DGPSCorrectionsValidityPeriod ::= SEQUENCE (SIZE (1..16)) OF DGPSExtensionSatElement
+
+DGPSExtensionSatElement ::= SEQUENCE {
+ satelliteID SatelliteID,
+ udreGrowthRate INTEGER(0..7), -- coding according to annex
+ udreValidityTime INTEGER(0..7), -- coding according to annex
+ ...
+}
+
+-- GPS Reference Time Rel-10 Extension:
+GPSReferenceTime-R10-Ext ::= SEQUENCE {
+ gpsWeekCycleNumber INTEGER(0..7) -- coding according to annex
+}
+
+-- GPS Acquisition Assistance Rel-10 Extension:
+-- GPSAcquisAssist-R10-Ext shall contain the same number of elements as the SeqOfAcquisElement
+-- included in AcquisAssist IE
+GPSAcquisAssist-R10-Ext ::= SEQUENCE(SIZE (1..16)) OF GPSAcquisAssist-R10-Ext-Element
+
+GPSAcquisAssist-R10-Ext-Element::= SEQUENCE {
+ satelliteID SatelliteID,
+ azimuthLSB INTEGER(0..15),
+ elevationLSB INTEGER(0..15)
+}
+
+-- GPS Almanac Rel-10 Extension:
+GPSAlmanac-R10-Ext ::= SEQUENCE {
+ completeAlmanacProvided BOOLEAN -- TRUE means that complete Almanac is provided
+}
+
+Rel-7-MsrPosition-Rsp-Extension ::= SEQUENCE {
+
+ velEstimate VelocityEstimate OPTIONAL,
+ -- Horizontal Velocity
+ -- Horizontal with Vertical Velocity
+ -- Horizontal Velocity with Uncertainty
+ -- Horizontal with Vertical Velocity and Uncertainty
+ ganssLocationInfo GANSSLocationInfo OPTIONAL,
+ ganssMeasureInfo GANSSMeasureInfo OPTIONAL,
+ ...
+-- Further Release 7 extensions here
+}
+
+-- GANSS Location Information contains location estimate, time stamp with uncertainty
+-- and optionally Reference Frame field
+GANSSLocationInfo ::= SEQUENCE {
+ referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
+ ganssTODm GANSSTODm OPTIONAL, -- GNSS TOD modulo
+ ganssTODFrac INTEGER (0 .. 16384) OPTIONAL, -- Coding according to Annex
+ -- a value of 16384 shall not be encoded by the sender
+ -- the receiver shall consider a value of 16384 to be invalid data
+ ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding according to Annex
+ ganssTimeID INTEGER (0 .. 7) OPTIONAL, -- Coding according to Annex
+ fixType FixType,
+ posData PositionData,
+ stationaryIndication INTEGER(0 .. 1) OPTIONAL, -- '0' if moving or motion not
+ -- known
+ -- Possible shapes carried in posEstimate are
+ -- ellipsoid point,
+ -- ellipsoid point with uncertainty circle
+ -- ellipsoid point with uncertainty ellipse
+ -- ellipsoid point with altitude and uncertainty ellipsoid
+ posEstimate Ext-GeographicalInformation,
+ ...
+}
+
+PositionData ::= BIT STRING {
+ e-otd (0),
+ gps (1),
+ galileo (2),
+ sbas (3),
+ modernizedGPS (4),
+ qzss (5),
+ glonass (6) } (SIZE (3..16))
+
+-- GANSS TOD modulo 1 hour
+GANSSTODm ::= INTEGER (0 .. 3599999)
+
+ReferenceFrame ::= SEQUENCE {
+ referenceFN INTEGER (0 .. 65535),
+ -- Note that applicable range for referenceFN is 0 - 42431
+ referenceFNMSB INTEGER (0 .. 63) OPTIONAL -- MSB of Reference Frame Number
+}
+
+-- GANSS Measurement Information
+GANSSMeasureInfo ::= SEQUENCE {
+ -- Measurement info elements
+ganssMsrSetList SeqOfGANSS-MsrSetElement
+}
+SeqOfGANSS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GANSS-MsrSetElement
+
+-- GANSS measurement information 1-3 times in a message
+GANSS-MsrSetElement ::= SEQUENCE {
+ referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
+ -- if ganssTODm is included, it is the GNSS specific system time of the GANSS reported
+ -- first in ganss-SgnTypeList. If GPS Measurement Information element is not included in
+ -- a Measure Position Response component, this field shall be present.
+ ganssTODm GANSSTODm OPTIONAL, -- GANSS TOD modulo 1 hour
+ deltaGANSSTOD INTEGER (0 .. 127) OPTIONAL,
+ ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding according to Annex
+ --N_GANSS can be read from number of elements of SeqOfGANSS-MsrElement
+ ganss-MsrElementList SeqOfGANSS-MsrElement
+}
+
+SeqOfGANSS-MsrElement ::= SEQUENCE (SIZE(1..8)) OF GANSS-MsrElement
+
+GANSS-MsrElement ::= SEQUENCE {
+ ganssID INTEGER (0..7) OPTIONAL, --Absence means Galileo
+ ganss-SgnTypeList SeqOfGANSS-SgnTypeElement
+}
+
+-- Measurements can be returned up to 8 different signal types
+-- N_SGN_TYPE can be read from number of elements of SeqOfGANSS-SgnTypeElement
+-- Reporting of multiple signal types as defined in A.2.2.4g
+SeqOfGANSS-SgnTypeElement ::= SEQUENCE (SIZE(1..8)) OF GANSS-SgnTypeElement
+
+GANSS-SgnTypeElement ::= SEQUENCE {
+ ganssSignalID GANSSSignalID, -- Coding according to Annex
+ ganssCodePhaseAmbiguity INTEGER (0 .. 127) OPTIONAL,
+ --N_SGN can be read from number of elements of SeqOfGANSS-SgnElement
+ ganss-SgnList SeqOfGANSS-SgnElement,
+ ...
+}
+
+-- Up to 16 Measurements can be returned per signal type
+SeqOfGANSS-SgnElement ::= SEQUENCE (SIZE(1..16)) OF GANSS-SgnElement
+
+
+GANSS-SgnElement ::= SEQUENCE {
+ svID SVID,
+ cNo INTEGER (0 .. 63),
+ mpathDet MpathIndic, -- Coding according to Annex
+ carrierQualityInd INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
+ codePhase INTEGER (0 .. 2097151),
+ integerCodePhase INTEGER (0 .. 127) OPTIONAL,
+ codePhaseRMSError INTEGER (0..63), -- Coding according to Annex
+ doppler INTEGER (-32768 .. 32767) OPTIONAL,
+ adr INTEGER (0 .. 33554431) OPTIONAL
+}
+
+Rel7-AssistanceData-Extension ::= SEQUENCE {
+ ganss-AssistData GANSS-AssistData OPTIONAL,
+ ganssCarrierPhaseMeasurementRequest NULL OPTIONAL,
+ ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
+ add-GPS-AssistData Add-GPS-AssistData OPTIONAL,
+ ...
+-- Possibly more extensions for Release 7 here
+}
+
+-- Rel-7 Positioning Capability parameters here
+
+PosCapabilities ::= SEQUENCE {
+
+-- nonGANSSpositionMethods shall be included if and only if any
+-- of the non-GANSS methods is supported.
+ nonGANSSpositionMethods NonGANSSPositionMethods OPTIONAL,
+
+-- gANSSpositionMethods shall be included if and only if any of the GANSS methods is supported.
+ gANSSPositionMethods GANSSPositionMethods OPTIONAL,
+
+-- multipleMeasurementSets shall be present if and only if 'multiple sets' is supported
+-- for any of the positioning methods
+ multipleMeasurementSets MultipleMeasurementSets OPTIONAL,
+ ...
+}
+
+NonGANSSPositionMethods ::= BIT STRING {
+ msAssistedEOTD (0),
+ msBasedEOTD (1),
+ msAssistedGPS (2), -- If this bit is set, gpsAssistance in AssistanceSupported IE
+ -- shall be present
+ msBasedGPS (3), -- If this bit is set, gpsAssistance in AssistanceSupported IE
+ -- shall be present
+
+ standaloneGPS (4) } (SIZE (1..16))
+
+GANSSPositionMethods ::= SEQUENCE (SIZE(1..16)) OF GANSSPositionMethod
+
+GANSSPositionMethod ::= SEQUENCE {
+ ganssID INTEGER (0..7) OPTIONAL, --Absence means Galileo
+-- gANSSPositioningMethodTypes may be present for PosCapability-Req
+-- and shall be present for PosCapability-Rsp
+ gANSSPositioningMethodTypes GANSSPositioningMethodTypes OPTIONAL,
+ gANSSSignals GANSSSignals,
+ ... ,
+-- sbasID shall be present if and only if ganssID indicates SBAS
+ sbasID SBASID OPTIONAL
+}
+
+GANSSPositioningMethodTypes ::= BIT STRING {
+ msAssisted (0), -- If this bit is set, gANSSAssistanceSet in AssistanceSupported IE
+ -- shall be present.
+ msBased (1), -- If this bit is set, gANSSAssistanceSet in AssistanceSupported IE
+ -- shall be present.
+ standalone (2) } (SIZE (1..8))
+
+-- indicates MS support for particular GANSS signals and frequencies
+GANSSSignals ::= BIT STRING {
+ signal1 (0),
+ signal2 (1),
+ signal3 (2),
+ signal4 (3),
+ signal5 (4),
+ signal6 (5),
+ signal7 (6),
+ signal8 (7) } (SIZE (1..8))
+
+SBASID ::= BIT STRING {
+ waas (0),
+ egnos (1),
+ masas (2),
+ gagan (3) } (SIZE (1..8))
+
+-- indicates MS support of multiple measurement sets for MS assisted position methods
+MultipleMeasurementSets ::= BIT STRING {
+ eotd (0),
+ gps (1),
+ ganss (2) } (SIZE (1..8))
+
+-- indicates MS support of different types of assistance data
+AssistanceSupported ::= SEQUENCE {
+ gpsAssistance GPSAssistance OPTIONAL,
+ gANSSAssistanceSet GANSSAssistanceSet OPTIONAL,
+ ... ,
+-- gANSSAdditionalAssistanceChoices shall be present if the MS supports other than native models
+ gANSSAdditionalAssistanceChoices GANSSAdditionalAssistanceChoices OPTIONAL
+}
+
+-- GPS assistance data supported
+GPSAssistance ::= BIT STRING {
+ almanac (0),
+ uTCmodel (1),
+ ionosphericModel (2),
+ navigationmodel (3),
+ dGPScorrections (4),
+ referenceLocation (5),
+ referenceTime (6),
+ acquisitionAssistance (7),
+ realTimeIntegrity (8),
+ ephemerisExtension (9),
+ ephemerisExtensionCheck (10)} (SIZE (1..16))
+
+-- GANSS assistance data supported
+GANSSAssistanceSet ::= SEQUENCE {
+ commonGANSSAssistance CommonGANSSAssistance,
+ specificGANSSAssistance SpecificGANSSAssistance,
+ ...
+}
+
+-- Common GANSS assistance data supported
+CommonGANSSAssistance ::= BIT STRING {
+ referenceTime (0),
+ referenceLocation (1),
+ ionosphericModel (3),
+ addIonosphericModel (4),
+ earthOrientationParam (5) } (SIZE (1..8))
+
+SpecificGANSSAssistance ::= SEQUENCE (SIZE(1..16)) OF GANSSAssistanceForOneGANSS
+
+-- assistance data supported for a particular GANSS system
+GANSSAssistanceForOneGANSS ::= SEQUENCE {
+ ganssID INTEGER (0..7) OPTIONAL, --Absence means Galileo
+ gANSSAssistance GANSSAssistance,
+ ...
+}
+
+-- specific GANSS assistance data supported
+GANSSAssistance ::= BIT STRING {
+ realTimeIntegrity (0),
+ differentialCorrections (1),
+ almanac (2),
+ referenceMeasurementInformation (3),
+ navigationModel (4),
+ timeModelGNSS-UTC (5),
+ timeModelGNSS-GNSS (6),
+ databitassistance (7),
+ ephemerisExtension (8),
+ ephemerisExtensionCheck (9),
+ addUTCmodel (10),
+ auxiliaryInformation (11) } (SIZE (1..16))
+
+
+GANSSAdditionalAssistanceChoices ::= SEQUENCE (SIZE(1..16)) OF GANSSAdditionalAssistanceChoicesForOneGANSS
+
+GANSSAdditionalAssistanceChoicesForOneGANSS ::= SEQUENCE {
+ ganssID INTEGER (0..7) OPTIONAL, --Absence means Galileo
+ ganssClockModelChoice GANSSModelID OPTIONAL,
+ gannsOrbitModelChoice GANSSModelID OPTIONAL,
+ ganssAlmanacModelChoice GANSSModelID OPTIONAL,
+ ganssAdditionalUTCModelChoice GANSSModelID OPTIONAL,
+ ...
+}
+
+GANSSModelID ::= BIT STRING {
+ model1 (0),
+ model2 (1),
+ model3 (2),
+ model4 (3),
+ model5 (4),
+ model6 (5),
+ model7 (6),
+ model8 (7) } (SIZE (1..8))
+
+
+-- indicates assistance data that may be needed by the MS
+-- These elements are coded as defined in TS 49.031 with the exceptions defined in section A.8.2.3
+AssistanceNeeded ::= SEQUENCE {
+ gpsAssistanceData GPSAssistanceData OPTIONAL,
+ ganssAssistanceData GANSSAssistanceData OPTIONAL,
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/rrlp/RRLP-Messages.asn b/epan/dissectors/asn1/rrlp/RRLP-Messages.asn
new file mode 100644
index 00000000..8c4bdc84
--- /dev/null
+++ b/epan/dissectors/asn1/rrlp/RRLP-Messages.asn
@@ -0,0 +1,39 @@
+-- RRLP-Messages.asn
+-- Taken from 3GPP TS 44.031 V11.0.0 (2012-09)
+-- http://www.3gpp.org/ftp/Specs/archive/44_series/44.031/44031-b00.zip/44031-b00.doc
+--
+-- 3.1 General Format of RRLP Message
+--
+
+RRLP-Messages
+-- { RRLP-messages }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ MsrPosition-Req, MsrPosition-Rsp, AssistanceData,
+ ProtocolError, PosCapability-Req, PosCapability-Rsp
+FROM
+ RRLP-Components -- { RRLP-Components }
+;
+
+PDU ::= SEQUENCE {
+ referenceNumber INTEGER (0..7),
+ component RRLP-Component
+}
+
+RRLP-Component ::= CHOICE {
+ msrPositionReq MsrPosition-Req,
+ msrPositionRsp MsrPosition-Rsp,
+ assistanceData AssistanceData,
+ assistanceDataAck NULL,
+ protocolError ProtocolError,
+ ...,
+ posCapabilityReq PosCapability-Req,
+ posCapabilityRsp PosCapability-Rsp
+}
+
+END
+
diff --git a/epan/dissectors/asn1/rrlp/packet-rrlp-template.c b/epan/dissectors/asn1/rrlp/packet-rrlp-template.c
new file mode 100644
index 00000000..622542f0
--- /dev/null
+++ b/epan/dissectors/asn1/rrlp/packet-rrlp-template.c
@@ -0,0 +1,90 @@
+/* packet-rrlp.c
+ * Routines for 3GPP Radio Resource LCS Protocol (RRLP) packet dissection
+ * Copyright 2006, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref 3GPP TS 44.031 version 11.0.0 Release 11
+ * http://www.3gpp.org
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-gsm_a_common.h"
+
+#define PNAME "Radio Resource LCS Protocol (RRLP)"
+#define PSNAME "RRLP"
+#define PFNAME "rrlp"
+
+
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+void proto_register_rrlp(void);
+void proto_reg_handoff_rrlp(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_rrlp = -1;
+
+
+#include "packet-rrlp-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_rrlp = -1;
+#include "packet-rrlp-ett.c"
+
+/* Include constants */
+#include "packet-rrlp-val.h"
+
+
+#include "packet-rrlp-fn.c"
+
+
+/*--- proto_register_rrlp -------------------------------------------*/
+void proto_register_rrlp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-rrlp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_rrlp,
+#include "packet-rrlp-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_rrlp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("rrlp", dissect_PDU_PDU, proto_rrlp);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_rrlp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+
+}
+
+
+/*--- proto_reg_handoff_rrlp ---------------------------------------*/
+void
+proto_reg_handoff_rrlp(void)
+{
+
+}
+
+
diff --git a/epan/dissectors/asn1/rrlp/rrlp.cnf b/epan/dissectors/asn1/rrlp/rrlp.cnf
new file mode 100644
index 00000000..25e1e693
--- /dev/null
+++ b/epan/dissectors/asn1/rrlp/rrlp.cnf
@@ -0,0 +1,40 @@
+# rrlp.cnf
+# rrlp conformation file
+# Copyright 2006 Anders Broman
+
+#.OPT
+PER
+UNALIGNED
+#.END
+
+#.PDU
+PDU
+
+#.OMIT_ASSIGNMENTS_EXCEPT MAP-LCS-DataTypes
+Ext-GeographicalInformation
+maxExt-GeographicalInformation
+VelocityEstimate
+#.END
+
+#.OMIT_ASSIGNMENT MAP-ExtensionDataTypes
+SLR-ArgExtensionContainer
+SLR-Arg-PCS-Extensions
+#.END
+
+#.FN_HDR PDU
+
+ proto_tree_add_item(tree, proto_rrlp, tvb, 0, -1, ENC_NA);
+
+ col_append_sep_str(actx->pinfo->cinfo, COL_PROTOCOL, "/", "RRLP");
+#.END
+
+
+#.FN_BODY Ext-GeographicalInformation VAL_PTR = &parameter_tvb
+
+tvbuff_t *parameter_tvb = NULL;
+
+ %(DEFAULT_BODY)s
+
+ if(parameter_tvb)
+ dissect_geographical_description(parameter_tvb, %(ACTX)s->pinfo, tree);
+#.END
diff --git a/epan/dissectors/asn1/rtse/CMakeLists.txt b/epan/dissectors/asn1/rtse/CMakeLists.txt
new file mode 100644
index 00000000..8628426f
--- /dev/null
+++ b/epan/dissectors/asn1/rtse/CMakeLists.txt
@@ -0,0 +1,42 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME rtse )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/rtse/packet-rtse-template.c b/epan/dissectors/asn1/rtse/packet-rtse-template.c
new file mode 100644
index 00000000..63fc3758
--- /dev/null
+++ b/epan/dissectors/asn1/rtse/packet-rtse-template.c
@@ -0,0 +1,397 @@
+/* packet-rtse-template.c
+ * Routines for RTSE packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/prefs.h>
+#include <epan/reassemble.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+
+#include <wsutil/str_util.h>
+
+#include "packet-ber.h"
+#include "packet-pres.h"
+#include "packet-acse.h"
+#include "packet-ros.h"
+#include "packet-rtse.h"
+
+#define PNAME "X.228 OSI Reliable Transfer Service"
+#define PSNAME "RTSE"
+#define PFNAME "rtse"
+
+void proto_register_rtse(void);
+void proto_reg_handoff_rtse(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_rtse = -1;
+
+static gboolean open_request=FALSE;
+static guint32 app_proto=0;
+
+static proto_tree *top_tree=NULL;
+
+/* Preferences */
+static gboolean rtse_reassemble = TRUE;
+
+#include "packet-rtse-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_rtse = -1;
+#include "packet-rtse-ett.c"
+
+static expert_field ei_rtse_dissector_oid_not_implemented = EI_INIT;
+static expert_field ei_rtse_unknown_rtse_pdu = EI_INIT;
+static expert_field ei_rtse_abstract_syntax = EI_INIT;
+
+static dissector_table_t rtse_oid_dissector_table=NULL;
+static dissector_handle_t rtse_handle = NULL;
+static gint ett_rtse_unknown = -1;
+
+static reassembly_table rtse_reassembly_table;
+
+static int hf_rtse_segment_data = -1;
+static int hf_rtse_fragments = -1;
+static int hf_rtse_fragment = -1;
+static int hf_rtse_fragment_overlap = -1;
+static int hf_rtse_fragment_overlap_conflicts = -1;
+static int hf_rtse_fragment_multiple_tails = -1;
+static int hf_rtse_fragment_too_long_fragment = -1;
+static int hf_rtse_fragment_error = -1;
+static int hf_rtse_fragment_count = -1;
+static int hf_rtse_reassembled_in = -1;
+static int hf_rtse_reassembled_length = -1;
+
+static gint ett_rtse_fragment = -1;
+static gint ett_rtse_fragments = -1;
+
+static const fragment_items rtse_frag_items = {
+ /* Fragment subtrees */
+ &ett_rtse_fragment,
+ &ett_rtse_fragments,
+ /* Fragment fields */
+ &hf_rtse_fragments,
+ &hf_rtse_fragment,
+ &hf_rtse_fragment_overlap,
+ &hf_rtse_fragment_overlap_conflicts,
+ &hf_rtse_fragment_multiple_tails,
+ &hf_rtse_fragment_too_long_fragment,
+ &hf_rtse_fragment_error,
+ &hf_rtse_fragment_count,
+ /* Reassembled in field */
+ &hf_rtse_reassembled_in,
+ /* Reassembled length field */
+ &hf_rtse_reassembled_length,
+ /* Reassembled data field */
+ NULL,
+ /* Tag */
+ "RTSE fragments"
+};
+
+void
+register_rtse_oid_dissector_handle(const char *oid, dissector_handle_t dissector, int proto, const char *name, gboolean uses_ros)
+{
+/* XXX: Note that this fcn is called from proto_reg_handoff in *other* dissectors ... */
+
+ static dissector_handle_t ros_handle = NULL;
+
+ if (ros_handle == NULL)
+ ros_handle = find_dissector("ros");
+
+ /* register RTSE with the BER (ACSE) */
+ register_ber_oid_dissector_handle(oid, rtse_handle, proto, name);
+
+ if (uses_ros) {
+ /* make sure we call ROS ... */
+ dissector_add_string("rtse.oid", oid, ros_handle);
+
+ /* and then tell ROS how to dissect the AS*/
+ if (dissector != NULL)
+ register_ros_oid_dissector_handle(oid, dissector, proto, name, TRUE);
+
+ } else {
+ /* otherwise we just remember how to dissect the AS */
+ dissector_add_string("rtse.oid", oid, dissector);
+ }
+}
+
+static int
+call_rtse_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ tvbuff_t *next_tvb;
+ int len;
+
+ next_tvb = tvb_new_subset_remaining(tvb, offset);
+
+ if ((len = dissector_try_string(rtse_oid_dissector_table, oid, next_tvb, pinfo, tree, data)) == 0) {
+ proto_item *item;
+ proto_tree *next_tree;
+
+ next_tree = proto_tree_add_subtree_format(tree, next_tvb, 0, -1, ett_rtse_unknown, &item,
+ "RTSE: Dissector for OID:%s not implemented. Contact Wireshark developers if you want this supported", oid);
+
+ expert_add_info_format(pinfo, item, &ei_rtse_dissector_oid_not_implemented,
+ "RTSE: Dissector for OID %s not implemented", oid);
+ len = dissect_unknown_ber(pinfo, next_tvb, offset, next_tree);
+ }
+
+ offset += len;
+
+ return offset;
+}
+
+static int
+call_rtse_external_type_callback(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_)
+{
+ const char *oid = NULL;
+
+ if (actx->external.indirect_ref_present) {
+
+ oid = (const char *)find_oid_by_pres_ctx_id(actx->pinfo, actx->external.indirect_reference);
+
+ if (!oid)
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_rtse_abstract_syntax, tvb, offset, tvb_captured_length_remaining(tvb, offset),
+ "Unable to determine abstract syntax for indirect reference: %d.", actx->external.indirect_reference);
+ } else if (actx->external.direct_ref_present) {
+ oid = actx->external.direct_reference;
+ }
+
+ if (oid)
+ offset = call_rtse_oid_callback(oid, tvb, offset, actx->pinfo, top_tree ? top_tree : tree, actx->private_data);
+
+ return offset;
+}
+
+#include "packet-rtse-fn.c"
+
+/*
+* Dissect RTSE PDUs inside a PPDU.
+*/
+static int
+dissect_rtse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
+{
+ int offset = 0;
+ int old_offset;
+ proto_item *item;
+ proto_tree *tree;
+ proto_tree *next_tree=NULL;
+ tvbuff_t *next_tvb = NULL;
+ tvbuff_t *data_tvb = NULL;
+ fragment_head *frag_msg = NULL;
+ guint32 fragment_length;
+ guint32 rtse_id = 0;
+ gboolean data_handled = FALSE;
+ struct SESSION_DATA_STRUCTURE* session;
+ conversation_t *conversation = NULL;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* do we have application context from the acse dissector? */
+ if (data == NULL)
+ return 0;
+ session = (struct SESSION_DATA_STRUCTURE*)data;
+
+ /* save parent_tree so subdissectors can create new top nodes */
+ top_tree=parent_tree;
+
+ asn1_ctx.private_data = session;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "RTSE");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ if (rtse_reassemble &&
+ ((session->spdu_type == SES_DATA_TRANSFER) ||
+ (session->spdu_type == SES_MAJOR_SYNC_POINT)))
+ {
+ /* Use conversation index as fragment id */
+ conversation = find_conversation_pinfo(pinfo, 0);
+ if (conversation != NULL) {
+ rtse_id = conversation->conv_index;
+ }
+ session->rtse_reassemble = TRUE;
+ }
+ if (rtse_reassemble && session->spdu_type == SES_MAJOR_SYNC_POINT) {
+ frag_msg = fragment_end_seq_next (&rtse_reassembly_table,
+ pinfo, rtse_id, NULL);
+ next_tvb = process_reassembled_data (tvb, offset, pinfo, "Reassembled RTSE",
+ frag_msg, &rtse_frag_items, NULL, parent_tree);
+ }
+
+ item = proto_tree_add_item(parent_tree, proto_rtse, next_tvb ? next_tvb : tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_rtse);
+
+ if (rtse_reassemble && session->spdu_type == SES_DATA_TRANSFER) {
+ /* strip off the OCTET STRING encoding - including any CONSTRUCTED OCTET STRING */
+ dissect_ber_octet_string(FALSE, &asn1_ctx, tree, tvb, offset, hf_rtse_segment_data, &data_tvb);
+
+ if (data_tvb) {
+ fragment_length = tvb_captured_length_remaining (data_tvb, 0);
+ proto_item_append_text(asn1_ctx.created_item, " (%u byte%s)", fragment_length,
+ plurality(fragment_length, "", "s"));
+ frag_msg = fragment_add_seq_next (&rtse_reassembly_table,
+ data_tvb, 0, pinfo,
+ rtse_id, NULL,
+ fragment_length, TRUE);
+ if (frag_msg && pinfo->num != frag_msg->reassembled_in) {
+ /* Add a "Reassembled in" link if not reassembled in this frame */
+ proto_tree_add_uint (tree, *(rtse_frag_items.hf_reassembled_in),
+ data_tvb, 0, 0, frag_msg->reassembled_in);
+ }
+ pinfo->fragmented = TRUE;
+ data_handled = TRUE;
+ } else {
+ fragment_length = tvb_captured_length_remaining (tvb, offset);
+ }
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "[RTSE fragment, %u byte%s]",
+ fragment_length, plurality(fragment_length, "", "s"));
+ } else if (rtse_reassemble && session->spdu_type == SES_MAJOR_SYNC_POINT) {
+ if (next_tvb) {
+ /* ROS won't do this for us */
+ session->ros_op = (ROS_OP_INVOKE | ROS_OP_ARGUMENT);
+ /*offset=*/dissect_ber_external_type(FALSE, tree, next_tvb, 0, &asn1_ctx, -1, call_rtse_external_type_callback);
+ top_tree = NULL;
+ /* Return other than 0 to indicate that we handled this packet */
+ return 1;
+ } else {
+ offset = tvb_captured_length (tvb);
+ }
+ pinfo->fragmented = FALSE;
+ data_handled = TRUE;
+ }
+
+ if (!data_handled) {
+ while (tvb_reported_length_remaining(tvb, offset) > 0) {
+ old_offset=offset;
+ offset=dissect_rtse_RTSE_apdus(TRUE, tvb, offset, &asn1_ctx, tree, -1);
+ if (offset == old_offset) {
+ next_tree = proto_tree_add_subtree(tree, tvb, offset, -1,
+ ett_rtse_unknown, &item, "Unknown RTSE PDU");
+ expert_add_info (pinfo, item, &ei_rtse_unknown_rtse_pdu);
+ dissect_unknown_ber(pinfo, tvb, offset, next_tree);
+ break;
+ }
+ }
+ }
+
+ top_tree = NULL;
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_rtse -------------------------------------------*/
+void proto_register_rtse(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+ /* Fragment entries */
+ { &hf_rtse_segment_data,
+ { "RTSE segment data", "rtse.segment", FT_NONE, BASE_NONE,
+ NULL, 0x00, NULL, HFILL } },
+ { &hf_rtse_fragments,
+ { "RTSE fragments", "rtse.fragments", FT_NONE, BASE_NONE,
+ NULL, 0x00, NULL, HFILL } },
+ { &hf_rtse_fragment,
+ { "RTSE fragment", "rtse.fragment", FT_FRAMENUM, BASE_NONE,
+ NULL, 0x00, NULL, HFILL } },
+ { &hf_rtse_fragment_overlap,
+ { "RTSE fragment overlap", "rtse.fragment.overlap", FT_BOOLEAN,
+ BASE_NONE, NULL, 0x0, NULL, HFILL } },
+ { &hf_rtse_fragment_overlap_conflicts,
+ { "RTSE fragment overlapping with conflicting data",
+ "rtse.fragment.overlap.conflicts", FT_BOOLEAN, BASE_NONE,
+ NULL, 0x0, NULL, HFILL } },
+ { &hf_rtse_fragment_multiple_tails,
+ { "RTSE has multiple tail fragments",
+ "rtse.fragment.multiple_tails", FT_BOOLEAN, BASE_NONE,
+ NULL, 0x0, NULL, HFILL } },
+ { &hf_rtse_fragment_too_long_fragment,
+ { "RTSE fragment too long", "rtse.fragment.too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } },
+ { &hf_rtse_fragment_error,
+ { "RTSE defragmentation error", "rtse.fragment.error", FT_FRAMENUM,
+ BASE_NONE, NULL, 0x00, NULL, HFILL } },
+ { &hf_rtse_fragment_count,
+ { "RTSE fragment count", "rtse.fragment.count", FT_UINT32, BASE_DEC,
+ NULL, 0x00, NULL, HFILL } },
+ { &hf_rtse_reassembled_in,
+ { "Reassembled RTSE in frame", "rtse.reassembled.in", FT_FRAMENUM, BASE_NONE,
+ NULL, 0x00, "This RTSE packet is reassembled in this frame", HFILL } },
+ { &hf_rtse_reassembled_length,
+ { "Reassembled RTSE length", "rtse.reassembled.length", FT_UINT32, BASE_DEC,
+ NULL, 0x00, "The total length of the reassembled payload", HFILL } },
+
+#include "packet-rtse-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_rtse,
+ &ett_rtse_unknown,
+ &ett_rtse_fragment,
+ &ett_rtse_fragments,
+#include "packet-rtse-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_rtse_dissector_oid_not_implemented, { "rtse.dissector_oid_not_implemented", PI_UNDECODED, PI_WARN, "RTSE: Dissector for OID not implemented", EXPFILL }},
+ { &ei_rtse_unknown_rtse_pdu, { "rtse.unknown_rtse_pdu", PI_UNDECODED, PI_WARN, "Unknown RTSE PDU", EXPFILL }},
+ { &ei_rtse_abstract_syntax, { "rtse.bad_abstract_syntax", PI_PROTOCOL, PI_WARN, "Unable to determine abstract syntax for indirect reference", EXPFILL }},
+ };
+
+ expert_module_t* expert_rtse;
+ module_t *rtse_module;
+
+ /* Register protocol */
+ proto_rtse = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ rtse_handle = register_dissector("rtse", dissect_rtse, proto_rtse);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_rtse, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_rtse = expert_register_protocol(proto_rtse);
+ expert_register_field_array(expert_rtse, ei, array_length(ei));
+
+ reassembly_table_register (&rtse_reassembly_table,
+ &addresses_reassembly_table_functions);
+
+ rtse_module = prefs_register_protocol_subtree("OSI", proto_rtse, NULL);
+
+ prefs_register_bool_preference(rtse_module, "reassemble",
+ "Reassemble segmented RTSE datagrams",
+ "Whether segmented RTSE datagrams should be reassembled."
+ " To use this option, you must also enable"
+ " \"Allow subdissectors to reassemble TCP streams\""
+ " in the TCP protocol settings.", &rtse_reassemble);
+
+ rtse_oid_dissector_table = register_dissector_table("rtse.oid", "RTSE OID Dissectors", proto_rtse, FT_STRING, STRING_CASE_SENSITIVE);
+}
+
+
+/*--- proto_reg_handoff_rtse --- */
+void proto_reg_handoff_rtse(void) {
+
+
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/rtse/packet-rtse-template.h b/epan/dissectors/asn1/rtse/packet-rtse-template.h
new file mode 100644
index 00000000..eb7b0473
--- /dev/null
+++ b/epan/dissectors/asn1/rtse/packet-rtse-template.h
@@ -0,0 +1,19 @@
+/* packet-rtse.h
+ * Routines for RTSE packet dissection
+ * Graeme Lunt 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_RTSE_H
+#define PACKET_RTSE_H
+
+#include "packet-rtse-exp.h"
+
+void register_rtse_oid_dissector_handle(const char *oid, dissector_handle_t dissector, int proto _U_, const char *name, gboolean uses_ros);
+
+#endif /* PACKET_RTSE_H */
diff --git a/epan/dissectors/asn1/rtse/rtse.asn b/epan/dissectors/asn1/rtse/rtse.asn
new file mode 100644
index 00000000..dce9ca1a
--- /dev/null
+++ b/epan/dissectors/asn1/rtse/rtse.asn
@@ -0,0 +1,141 @@
+-- RTSE definition from
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x228/1988/Reliable-Transfer-APDU.html
+-- and modified to pass through asn2wrs
+--
+--
+-- Module Reliable-Transfer-APDU (X.228:11/1988)
+-- See also the README file
+-- See also the index of all ASN.1 assignments needed in this Recommendation
+
+
+Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
+DEFINITIONS ::=
+BEGIN
+
+EXPORTS
+ rTSE, rTSE-abstract-syntax, RTORQapdu, RTOACapdu, RTORJapdu, RTABapdu; -- for use by Presentation Layer only
+
+--IMPORTS
+-- CONTRACT
+-- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+-- remote-operations(4) informationObjects(5) version1(0)};
+--OPEN ::= CLASS {&Type
+--}WITH SYNTAX {TYPE &Type
+--}
+
+rTSE-abstract-syntax OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t reliable-transfer(3) abstract-syntax(2)}
+
+--rTSE CONTRACT ::= {ID {joint-iso-itu-t reliable-transfer(3) aseID(1)}
+--}
+
+RTSE-apdus ::= CHOICE {
+ rtorq-apdu [16] IMPLICIT RTORQapdu,
+ rtoac-apdu [17] IMPLICIT RTOACapdu,
+ rtorj-apdu [18] IMPLICIT RTORJapdu,
+ rttp-apdu RTTPapdu,
+ rttr-apdu RTTRapdu,
+ rtab-apdu [22] IMPLICIT RTABapdu
+}
+
+-- Tags [19], [20], [21] are used by the values of the UNBIND macro of the RO-notation of
+-- Recommendation X.219. Tags [0] to [15] inclusive are reserved for the
+-- use by the APDUs of ROSE (Recommendation X229). Any occurrence of
+-- ANY in this module shall be replaced by a single ASN. 1 type (if any) in an RTSE-user
+-- protocol specification. In addition any RTSE-user protocol sharing a single named
+-- abstract syntax with the RTSE protocol shall use distinct tags for the single
+-- presentation data values in the user data parameters of the RT-CLOSE (if any) and
+-- RT- TRANSFER services. These tags shall be distinct from the tag values [16], [17],
+-- [18] and [22] and from the ASN. 1 types INTEGER and OCTET STRING.
+-- Note - The above conditions are ensured, if the RTSE-user protocol specification uses the
+-- RO-notation of Recommendation X229.
+-- In X.410-1984 mode only the components of RTORQapdu, RTOACapdu, RTORJapdu
+-- and RTABapdu are used by the presentation layer. This has the effect that the following
+-- APDU types appear in the protocol in X.410-1984 mode instead of the alternative types
+-- of the RTSE-apdus type:
+-- RTORQapdu
+-- RTOACapdu
+-- RTORJapdu
+-- RTTPapdu
+-- RTTRapdu
+-- RTABapdu
+RTORQapdu ::= SET {
+ checkpointSize [0] IMPLICIT INTEGER DEFAULT 0,
+ windowSize [1] IMPLICIT INTEGER DEFAULT 3,
+ dialogueMode
+ [2] IMPLICIT INTEGER {monologue(0), twa(1)} DEFAULT monologue,
+ connectionDataRQ [3] ConnectionData,
+ applicationProtocol
+ [4] IMPLICIT INTEGER {mts-transfer-protocol(12), mts-transfer-protocol-1984(1)} OPTIONAL --solely in X.410-1984 mode--
+}
+
+RTOACapdu ::= SET {
+ checkpointSize [0] IMPLICIT INTEGER DEFAULT 0,
+ windowSize [1] IMPLICIT INTEGER DEFAULT 3,
+ connectionDataAC [2] ConnectionData
+}
+
+RTORJapdu ::= SET {
+ refuseReason [0] IMPLICIT RefuseReason OPTIONAL, -- only in X.410-1984 mode
+ userDataRJ
+-- [1] OPEN.&Type OPTIONAL
+ [1] ANY OPTIONAL -- RTSE user data, only in normal mode--
+}
+
+RTTPapdu ::= INTEGER -- priority--
+
+RTTRapdu ::= OCTET STRING
+
+RTABapdu ::= SET {
+ abortReason [0] IMPLICIT AbortReason OPTIONAL,
+ reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
+ -- 8 bits maximum, only if abortReason is invalidParameter
+ userdataAB
+-- [2] OPEN.&Type OPTIONAL
+ [2] ANY OPTIONAL -- only in normal mode and if abortReason--
+ -- is userError
+}
+
+ConnectionData ::= CHOICE {
+-- open [0] OPEN.&Type,
+ open [0] ANY, -- RTSE user data
+
+ -- this alternative is encoded as [0] IMPLICIT NULL
+ -- in the case of absence of RTSE user data,
+ recover [1] IMPLICIT SessionConnectionIdentifier
+}
+
+SessionConnectionIdentifier ::= SEQUENCE {
+ callingSSuserReference CallingSSuserReference,
+ commonReference CommonReference,
+ additionalReferenceInformation
+ [0] IMPLICIT AdditionalReferenceInformation OPTIONAL
+}
+
+RefuseReason ::= INTEGER {
+ rtsBusy(0), cannotRecover(1), validationFailure(2),
+ unacceptableDialogueMode(3)}
+
+CallingSSuserReference ::= CHOICE {
+ t61String T61String -- solely in X.410-1984 --,
+ octetString OCTET STRING -- solely in normal mode --
+}
+
+CommonReference ::= UTCTime
+
+AdditionalReferenceInformation ::= T61String
+
+AbortReason ::= INTEGER {
+ localSystemProblem(0),
+ invalidParameter(1), -- reflectedParameter supplied
+ unrecognizedActivity(2),
+ temporaryProblem(3),
+ -- the RTSE cannot accept a session for a period of time
+ protocolError(4), -- RTSE level protocol error
+ permanentProblem(5), --provider-abort solely in normal mode
+ userError(6), -- user-abort solely in normal mode
+ transferCompleted(7) -- activity can't be discarded--}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/rtse/rtse.cnf b/epan/dissectors/asn1/rtse/rtse.cnf
new file mode 100644
index 00000000..8bf5a8c9
--- /dev/null
+++ b/epan/dissectors/asn1/rtse/rtse.cnf
@@ -0,0 +1,186 @@
+#.EXPORTS
+RTORQapdu
+RTOACapdu
+RTORJapdu
+RTABapdu
+
+#.NO_EMIT ONLY_VALS
+RTSE-apdus
+
+#.FN_BODY RTORJapdu/userDataRJ
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+ const char *oid = NULL;
+
+ switch(app_proto) {
+ case 1: /* mts-transfer-protocol-1984 */
+ oid = "applicationProtocol.1";
+ break;
+ case 12: /* mts-transfer-protocol */
+ oid = "applicationProtocol.12";
+ break;
+ default:
+ if(session && session->pres_ctx_id)
+ oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id);
+ break;
+ }
+
+ if(!oid) /* XXX: problem here is we haven't decoded the applicationProtocol yet - so we make assumptions! */
+ oid = "applicationProtocol.12";
+
+ if(oid) {
+ if(session != NULL)
+ session->ros_op = (ROS_OP_BIND | ROS_OP_ERROR);
+
+ offset = call_rtse_oid_callback(oid, tvb, offset, actx->pinfo, top_tree ? top_tree : tree, session);
+ }
+
+#.FN_BODY RTABapdu/userdataAB
+/*XXX not implemented yet */
+
+#.FN_BODY RTORQapdu
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+
+ if(session != NULL)
+ session->ros_op = (ROS_OP_BIND | ROS_OP_ARGUMENT);
+ open_request=TRUE;
+ %(DEFAULT_BODY)s
+ open_request=FALSE;
+
+#.FN_BODY RTOACapdu
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+
+ if(session != NULL)
+ session->ros_op = (ROS_OP_BIND | ROS_OP_RESULT);
+
+ %(DEFAULT_BODY)s
+
+#.FN_BODY ConnectionData/open
+
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+ const char *oid = NULL;
+
+ switch(app_proto) {
+ case 1: /* mts-transfer-protocol-1984 */
+ oid = "applicationProtocol.1";
+ break;
+ case 12: /* mts-transfer-protocol */
+ oid = "applicationProtocol.12";
+ break;
+ default:
+ if(session && session->pres_ctx_id)
+ oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id);
+ break;
+ }
+
+ if(!oid) /* XXX: problem here is we haven't decoded the applicationProtocol yet - so we make assumptions! */
+ oid = "applicationProtocol.12";
+
+ if(oid) {
+
+ offset = call_rtse_oid_callback(oid, tvb, offset, actx->pinfo, top_tree ? top_tree : tree, session);
+ }
+
+ /* else XXX: need to flag we can't find the presentation context */
+
+#.FN_BODY RTTRapdu
+ tvbuff_t *next_tvb = NULL;
+ struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE*)actx->private_data;
+
+ offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &next_tvb);
+
+ if(next_tvb) {
+
+ /* XXX: we should check is this is an EXTERNAL first */
+
+ /* ROS won't do this for us */
+ if(session)
+ session->ros_op = (ROS_OP_INVOKE | ROS_OP_ARGUMENT);
+
+ offset = dissect_ber_external_type(FALSE, tree, next_tvb, 0, actx, -1, call_rtse_external_type_callback);
+ }
+
+
+#.FN_BODY RTORQapdu/applicationProtocol
+
+ offset = dissect_ber_integer(TRUE, actx, tree, tvb, offset, hf_index, &app_proto);
+
+#.FN_BODY SessionConnectionIdentifier
+ if(open_request){
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Recover");
+ }
+ %(DEFAULT_BODY)s
+
+#.END
+
+#.FN_BODY CallingSSuserReference/t61String VAL_PTR=&string
+ tvbuff_t *string = NULL;
+ %(DEFAULT_BODY)s
+ if(open_request && string)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", tvb_get_string_enc(actx->pinfo->pool, string, 0,
+ tvb_reported_length(string), ENC_T61));
+
+#.TYPE_ATTR
+CallingSSuserReference/t61String DISPLAY = BASE_NONE
+
+#.FN_PARS CommonReference
+ VAL_PTR=&string
+#.FN_BODY CommonReference
+ tvbuff_t *string = NULL;
+ %(DEFAULT_BODY)s
+ if(open_request && string)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", tvb_format_text(actx->pinfo->pool, string, 0, tvb_reported_length(string)));
+
+#.END
+
+#.FN_BODY CallingSSuserReference/octetString VAL_PTR=&string
+ tvbuff_t *string = NULL;
+ %(DEFAULT_BODY)s
+ if(open_request && string)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", tvb_format_text(actx->pinfo->pool, string, 0, tvb_reported_length(string)));
+
+#.FN_BODY RTTPapdu VAL_PTR=&priority
+ int priority = -1;
+
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Turn-Please");
+
+ %(DEFAULT_BODY)s
+
+ if(priority != -1)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%d)", priority);
+
+#.FN_BODY RTORJapdu
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Refuse");
+
+ %(DEFAULT_BODY)s
+
+#.FN_PARS RefuseReason
+ VAL_PTR=&reason
+
+#.FN_BODY RefuseReason
+ int reason = -1;
+
+ %(DEFAULT_BODY)s
+
+ if(reason != -1)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(reason, rtse_RefuseReason_vals, "reason(%%d)"));
+
+#.FN_BODY RTABapdu
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "Abort");
+
+ %(DEFAULT_BODY)s
+
+#.FN_PARS AbortReason
+ VAL_PTR=&reason
+
+#.FN_BODY AbortReason
+ int reason = -1;
+
+ %(DEFAULT_BODY)s
+
+ if(reason != -1)
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(reason, rtse_AbortReason_vals, "reason(%%d)"));
+
+#.TYPE_ATTR
+AdditionalReferenceInformation DISPLAY = BASE_NONE
+
+#.END
diff --git a/epan/dissectors/asn1/rua/CMakeLists.txt b/epan/dissectors/asn1/rua/CMakeLists.txt
new file mode 100644
index 00000000..6a0a4dec
--- /dev/null
+++ b/epan/dissectors/asn1/rua/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME rua )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ RUA-CommonDataTypes.asn
+ RUA-Constants.asn
+ RUA-Containers.asn
+ RUA-IEs.asn
+ RUA-PDU-Contents.asn
+ RUA-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/rua/RUA-CommonDataTypes.asn b/epan/dissectors/asn1/rua/RUA-CommonDataTypes.asn
new file mode 100644
index 00000000..4212bb57
--- /dev/null
+++ b/epan/dissectors/asn1/rua/RUA-CommonDataTypes.asn
@@ -0,0 +1,53 @@
+-- RUA-CommonDataTypes.asn
+--
+-- 3GPP TS 25.468 V9.1.0 (2010-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm
+--
+-- 9.3.5 Common definitions
+--
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+RUA-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+
+ProcedureCode ::= INTEGER (0..255)
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0..65535),
+ global OBJECT IDENTIFIER
+}
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome }
+
+END
diff --git a/epan/dissectors/asn1/rua/RUA-Constants.asn b/epan/dissectors/asn1/rua/RUA-Constants.asn
new file mode 100644
index 00000000..6ab3c25a
--- /dev/null
+++ b/epan/dissectors/asn1/rua/RUA-Constants.asn
@@ -0,0 +1,63 @@
+-- RUA-Constants.asn
+--
+-- 3GPP TS 25.468 V9.1.0 (2010-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm
+--
+-- 9.3.6 Constant definitions
+--
+
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+RUA-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM RUA-CommonDataTypes;
+
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+id-Connect ProcedureCode ::= 1
+id-DirectTransfer ProcedureCode ::= 2
+id-Disconnect ProcedureCode ::= 3
+id-ConnectionlessTransfer ProcedureCode ::= 4
+id-ErrorIndication ProcedureCode ::= 5
+id-privateMessage ProcedureCode ::= 6
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+maxNrOfErrors INTEGER ::= 256
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Cause ProtocolIE-ID ::= 1
+id-CriticalityDiagnostics ProtocolIE-ID ::= 2
+id-Context-ID ProtocolIE-ID ::= 3
+id-RANAP-Message ProtocolIE-ID ::= 4
+id-IntraDomainNasNodeSelector ProtocolIE-ID ::= 5
+id-Establishment-Cause ProtocolIE-ID ::= 6
+id-CN-DomainIndicator ProtocolIE-ID ::= 7
+id-CSGMembershipStatus ProtocolIE-ID ::= 9
+
+
+END
diff --git a/epan/dissectors/asn1/rua/RUA-Containers.asn b/epan/dissectors/asn1/rua/RUA-Containers.asn
new file mode 100644
index 00000000..cffd5c28
--- /dev/null
+++ b/epan/dissectors/asn1/rua/RUA-Containers.asn
@@ -0,0 +1,161 @@
+-- RUA-Containers.asn
+--
+-- 3GPP TS 25.468 V9.1.0 (2010-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm
+--
+-- 9.3.7 Container definitions
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+RUA-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID,
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM RUA-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+RUA-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+RUA-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+RUA-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {RUA-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {RUA-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {RUA-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id RUA-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality RUA-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value RUA-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RUA-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id RUA-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality RUA-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue RUA-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {RUA-PRIVATE-IES : IEsSetParam } ::=
+ SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {RUA-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id RUA-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality RUA-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value RUA-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+
+END
diff --git a/epan/dissectors/asn1/rua/RUA-IEs.asn b/epan/dissectors/asn1/rua/RUA-IEs.asn
new file mode 100644
index 00000000..de1d5191
--- /dev/null
+++ b/epan/dissectors/asn1/rua/RUA-IEs.asn
@@ -0,0 +1,199 @@
+-- RUA-IEs.asn
+--
+-- 3GPP TS 25.468 V9.1.0 (2010-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm
+--
+-- 9.3.4 Information Element definitions
+--
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+RUA-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ maxNrOfErrors
+FROM RUA-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM RUA-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ RUA-PROTOCOL-EXTENSION
+FROM RUA-Containers;
+
+
+CN-DomainIndicator ::= ENUMERATED {
+ cs-domain,
+ ps-domain
+}
+
+CSGMembershipStatus ::= ENUMERATED {
+ member,
+ non-member,
+ ...
+}
+
+Establishment-Cause ::= ENUMERATED {
+ emergency-call,
+ normal-call,
+ ...
+ }
+
+
+
+
+
+Context-ID ::= BIT STRING (SIZE(24))
+
+IntraDomainNasNodeSelector ::= SEQUENCE {
+ version CHOICE {
+ release99 SEQUENCE {
+ cn-Type CHOICE {
+ gsm-Map-IDNNS Gsm-map-IDNNS,
+ ansi-41-IDNNS Ansi-41-IDNNS
+ }
+ },
+ later SEQUENCE {
+ futurecoding BIT STRING (SIZE (15))
+ }
+ }
+}
+
+Gsm-map-IDNNS ::= SEQUENCE {
+ routingbasis CHOICE {
+ localPTMSI SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ tMSIofsamePLMN SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ tMSIofdifferentPLMN SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ iMSIresponsetopaging SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ iMSIcauseUEinitiatedEvent SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ iMEI SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ spare2 SEQUENCE {
+ routingparameter RoutingParameter
+ },
+ spare1 SEQUENCE {
+ routingparameter RoutingParameter
+ }
+ },
+ -- dummy is not used in this version of the specification and
+ -- it should be ignored by the receiver.
+ dummy BOOLEAN
+}
+
+
+Ansi-41-IDNNS ::= BIT STRING (SIZE (14))
+
+RANAP-Message ::= OCTET STRING
+
+RoutingParameter ::= BIT STRING (SIZE (10))
+
+
+-- **************************************************************
+--
+-- Cause IE
+--
+-- **************************************************************
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+CauseRadioNetwork ::= ENUMERATED {
+ normal,
+ connect-failed,
+ network-release,
+ unspecified,
+ ...
+}
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ unspecified,
+ abstract-syntax-error-falsely-constructed-message,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ processing-overload,
+ hardware-failure,
+ o-and-m-intervention,
+ unspecified,
+ ...
+}
+
+-- **************************************************************
+--
+-- CriticalityDiagnostics
+--
+-- **************************************************************
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CriticalityDiagnostics-IE-List-ExtIEs RUA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs RUA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/rua/RUA-PDU-Contents.asn b/epan/dissectors/asn1/rua/RUA-PDU-Contents.asn
new file mode 100644
index 00000000..b2598958
--- /dev/null
+++ b/epan/dissectors/asn1/rua/RUA-PDU-Contents.asn
@@ -0,0 +1,204 @@
+-- RUA-PDU-Contents.asn
+--
+-- 3GPP TS 25.468 V9.1.0 (2010-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm
+--
+-- 9.3.3 PDU definitions
+--
+
+-- **************************************************************
+--
+-- PDU definitions for RUA.
+--
+-- **************************************************************
+
+RUA-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Cause,
+ CriticalityDiagnostics,
+ Context-ID,
+ CN-DomainIndicator,
+ CSGMembershipStatus,
+ IntraDomainNasNodeSelector,
+ RANAP-Message,
+ Establishment-Cause
+
+FROM RUA-IEs
+
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-Container{},
+ ProtocolIE-Single-Container{},
+ PrivateIE-Container{},
+ RUA-PRIVATE-IES,
+ RUA-PROTOCOL-EXTENSION,
+ RUA-PROTOCOL-IES
+FROM RUA-Containers
+
+ id-Cause,
+ id-CriticalityDiagnostics,
+ id-Context-ID,
+ id-CN-DomainIndicator,
+ id-CSGMembershipStatus,
+ id-RANAP-Message,
+ id-IntraDomainNasNodeSelector,
+ id-Establishment-Cause
+
+FROM RUA-Constants;
+
+
+-- **************************************************************
+--
+-- Connect
+--
+-- **************************************************************
+
+Connect ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ConnectIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ConnectExtensions} } OPTIONAL,
+ ...
+}
+
+ConnectIEs RUA-PROTOCOL-IES ::= {
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } |
+ { ID id-IntraDomainNasNodeSelector CRITICALITY ignore TYPE IntraDomainNasNodeSelector PRESENCE optional } |
+ { ID id-Establishment-Cause CRITICALITY reject TYPE Establishment-Cause PRESENCE mandatory } |
+ { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE mandatory },
+ ...
+}
+
+ConnectExtensions RUA-PROTOCOL-EXTENSION ::= {
+ { ID id-CSGMembershipStatus CRITICALITY ignore EXTENSION CSGMembershipStatus PRESENCE optional },
+
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Direct Transfer
+--
+-- **************************************************************
+
+DirectTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DirectTransferIEs} },
+ protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL,
+ ...
+}
+
+DirectTransferIEs RUA-PROTOCOL-IES ::= {
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } |
+ { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE mandatory },
+ ...
+}
+
+DirectTransferExtensions RUA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- Disconnect
+--
+-- **************************************************************
+
+Disconnect ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DisconnectIEs} },
+ protocolExtensions ProtocolExtensionContainer { {DisconnectExtensions} } OPTIONAL,
+ ...
+}
+
+DisconnectIEs RUA-PROTOCOL-IES ::= {
+ { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
+ { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory } |
+ { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE conditional },
+ -- RANAP message shall be included if Cause value is "normal"
+ ...
+}
+
+DisconnectExtensions RUA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Connectionless Transfer
+--
+-- **************************************************************
+
+ConnectionlessTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ConnectionlessTransferIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ConnectionlessTransferExtensions} } OPTIONAL,
+ ...
+}
+
+ConnectionlessTransferIEs RUA-PROTOCOL-IES ::= {
+ { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE mandatory },
+ ...
+}
+
+ConnectionlessTransferExtensions RUA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
+ protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL,
+ ...
+}
+
+ErrorIndicationIEs RUA-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+ErrorIndicationExtensions RUA-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs RUA-PRIVATE-IES ::= {
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/rua/RUA-PDU-Descriptions.asn b/epan/dissectors/asn1/rua/RUA-PDU-Descriptions.asn
new file mode 100644
index 00000000..7220b289
--- /dev/null
+++ b/epan/dissectors/asn1/rua/RUA-PDU-Descriptions.asn
@@ -0,0 +1,176 @@
+-- RUA-PDU-Descriptions.asn
+--
+-- 3GPP TS 25.468 V9.1.0 (2010-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm
+--
+-- 9.3.2 Elementary Procedure definitions
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+RUA-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM RUA-CommonDataTypes
+ Connect,
+ DirectTransfer,
+ Disconnect,
+ ConnectionlessTransfer,
+ ErrorIndication,
+ PrivateMessage
+
+
+FROM RUA-PDU-Contents
+ id-Connect,
+ id-DirectTransfer,
+ id-Disconnect,
+ id-ConnectionlessTransfer,
+ id-ErrorIndication,
+ id-privateMessage
+FROM RUA-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+RUA-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU definitions
+--
+-- **************************************************************
+
+RUA-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode RUA-ELEMENTARY-PROCEDURE.&procedureCode ({RUA-ELEMENTARY-PROCEDURES}),
+ criticality RUA-ELEMENTARY-PROCEDURE.&criticality ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value RUA-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode RUA-ELEMENTARY-PROCEDURE.&procedureCode ({RUA-ELEMENTARY-PROCEDURES}),
+ criticality RUA-ELEMENTARY-PROCEDURE.&criticality ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value RUA-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode RUA-ELEMENTARY-PROCEDURE.&procedureCode ({RUA-ELEMENTARY-PROCEDURES}),
+ criticality RUA-ELEMENTARY-PROCEDURE.&criticality ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value RUA-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+RUA-ELEMENTARY-PROCEDURES RUA-ELEMENTARY-PROCEDURE ::= {
+ RUA-ELEMENTARY-PROCEDURES-CLASS-1 |
+ RUA-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+RUA-ELEMENTARY-PROCEDURES-CLASS-1 RUA-ELEMENTARY-PROCEDURE ::= {
+ ...
+}
+
+
+RUA-ELEMENTARY-PROCEDURES-CLASS-2 RUA-ELEMENTARY-PROCEDURE ::= {
+ connectionRequest |
+ directTransfer |
+ disconnectRequest |
+ connectionlessTransfer |
+ errorIndication |
+ privateMessage,
+ ...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+
+connectionRequest RUA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Connect
+ PROCEDURE CODE id-Connect
+ CRITICALITY ignore
+}
+
+directTransfer RUA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DirectTransfer
+ PROCEDURE CODE id-DirectTransfer
+ CRITICALITY ignore
+}
+
+disconnectRequest RUA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Disconnect
+ PROCEDURE CODE id-Disconnect
+ CRITICALITY ignore
+}
+connectionlessTransfer RUA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ConnectionlessTransfer
+ PROCEDURE CODE id-ConnectionlessTransfer
+ CRITICALITY ignore
+}
+
+errorIndication RUA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-ErrorIndication
+ CRITICALITY ignore
+}
+
+privateMessage RUA-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+
+END
+
+
diff --git a/epan/dissectors/asn1/rua/packet-rua-template.c b/epan/dissectors/asn1/rua/packet-rua-template.c
new file mode 100644
index 00000000..cd4ba112
--- /dev/null
+++ b/epan/dissectors/asn1/rua/packet-rua-template.c
@@ -0,0 +1,161 @@
+/* packet-rua-template.c
+ * Routines for UMTS Home Node B RANAP User Adaptation (RUA) packet dissection
+ * Copyright 2010 Neil Piercy, ip.access Limited <Neil.Piercy@ipaccess.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref: 3GPP TS 25.468 version 8.1.0 Release 8
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/sctpppids.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+
+#include "packet-per.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "UTRAN Iuh interface RUA signalling"
+#define PSNAME "RUA"
+#define PFNAME "rua"
+/* Dissector to use SCTP PPID 19 or a configured SCTP port. IANA assigned port = 29169*/
+#define SCTP_PORT_RUA 29169
+
+void proto_register_rua(void);
+
+#include "packet-rua-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_rua = -1;
+
+#include "packet-rua-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_rua = -1;
+
+ /* initialise sub-dissector handles */
+ static dissector_handle_t ranap_handle = NULL;
+
+#include "packet-rua-ett.c"
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+
+/* Dissector tables */
+static dissector_table_t rua_ies_dissector_table;
+static dissector_table_t rua_extension_dissector_table;
+static dissector_table_t rua_proc_imsg_dissector_table;
+static dissector_table_t rua_proc_sout_dissector_table;
+static dissector_table_t rua_proc_uout_dissector_table;
+
+static dissector_handle_t rua_handle;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+void proto_reg_handoff_rua(void);
+
+#include "packet-rua-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(rua_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(rua_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(rua_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(rua_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint_new(rua_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_rua(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_item *rua_item = NULL;
+ proto_tree *rua_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "RUA");
+
+ /* create the rua protocol tree */
+ rua_item = proto_tree_add_item(tree, proto_rua, tvb, 0, -1, ENC_NA);
+ rua_tree = proto_item_add_subtree(rua_item, ett_rua);
+
+ return dissect_RUA_PDU_PDU(tvb, pinfo, rua_tree, data);
+}
+
+/*--- proto_register_rua -------------------------------------------*/
+void proto_register_rua(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+
+#include "packet-rua-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_rua,
+#include "packet-rua-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_rua = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_rua, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ rua_handle = register_dissector("rua", dissect_rua, proto_rua);
+
+ /* Register dissector tables */
+ rua_ies_dissector_table = register_dissector_table("rua.ies", "RUA-PROTOCOL-IES", proto_rua, FT_UINT32, BASE_DEC);
+ rua_extension_dissector_table = register_dissector_table("rua.extension", "RUA-PROTOCOL-EXTENSION", proto_rua, FT_UINT32, BASE_DEC);
+ rua_proc_imsg_dissector_table = register_dissector_table("rua.proc.imsg", "RUA-ELEMENTARY-PROCEDURE InitiatingMessage", proto_rua, FT_UINT32, BASE_DEC);
+ rua_proc_sout_dissector_table = register_dissector_table("rua.proc.sout", "RUA-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_rua, FT_UINT32, BASE_DEC);
+ rua_proc_uout_dissector_table = register_dissector_table("rua.proc.uout", "RUA-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_rua, FT_UINT32, BASE_DEC);
+
+ /* rua_module = prefs_register_protocol(proto_rua, NULL); */
+
+}
+
+
+/*--- proto_reg_handoff_rua ---------------------------------------*/
+void
+proto_reg_handoff_rua(void)
+{
+ ranap_handle = find_dissector_add_dependency("ranap", proto_rua);
+ dissector_add_uint("sctp.ppi", RUA_PAYLOAD_PROTOCOL_ID, rua_handle);
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_RUA, rua_handle);
+#include "packet-rua-dis-tab.c"
+}
diff --git a/epan/dissectors/asn1/rua/rua.cnf b/epan/dissectors/asn1/rua/rua.cnf
new file mode 100644
index 00000000..f173d7d7
--- /dev/null
+++ b/epan/dissectors/asn1/rua/rua.cnf
@@ -0,0 +1,147 @@
+# rua.cnf
+# rua conformation file
+# Copyright 2010 Neil Piercy, ip.access Limited <Neil.Piercy@ipaccess.com>
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.PDU
+RUA-PDU
+
+#.MAKE_ENUM
+ProtocolIE-ID
+ProcedureCode
+
+#.TYPE_RENAME
+ProtocolIE-Field/value ProtocolIE_Field_value
+PrivateIE-Field/value PrivateIE_Field_value
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+ProtocolIE-Field/id protocol_ie_field_id
+PrivateIE-Field/id private_ie_field_id
+
+#.OMIT_ASSIGNMENT
+Presence
+ProtocolIE-ContainerList
+ProtocolIE-Single-Container
+#.END
+
+#.FN_PARS ProtocolIE-ID VAL_PTR = &ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(rua_ProtocolIE_ID_vals), "unknown (%d)"));
+ }
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
+#.FN_FTR ProcedureCode
+ if (strcmp(val_to_str(ProcedureCode, rua_ProcedureCode_vals, "Unknown"), "Unknown") == 0) {
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "Unknown Message ");
+ } /* Known Procedures should be included below and broken out as ELEMENTARY names to avoid confusion */
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+#.FN_BODY Connect
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "CONNECT ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY DirectTransfer
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "DIRECT_TRANSFER ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY Disconnect
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "DISCONNECT ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY ConnectionlessTransfer
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "CONNECTIONLESS_TRANSFER ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY ErrorIndication
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "ERROR_INDICATION ");
+ col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect info from CriticalityDiagnostics decodes */
+%(DEFAULT_BODY)s
+
+#.FN_BODY PrivateMessage
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "PRIVATE_MESSAGE ");
+%(DEFAULT_BODY)s
+
+#.FN_BODY RANAP-Message VAL_PTR = &ranap_message_tvb
+ tvbuff_t *ranap_message_tvb=NULL;
+%(DEFAULT_BODY)s
+ if ((tvb_reported_length(ranap_message_tvb)>0)&&(ranap_handle)) { /* RUA has a RANAP-PDU */
+ col_set_str(actx->pinfo->cinfo, COL_INFO,
+ "(RUA) "); /* Set info to (RUA) to make room for RANAP */
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ call_dissector(ranap_handle,ranap_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
+ }
+#.END
+
+
+#.ASSIGN_VALUE_TO_TYPE # RUA ASN.1 does not have constants assigned to types,
+# ProcedureCode
+id-Connect ProcedureCode
+id-DirectTransfer ProcedureCode
+id-Disconnect ProcedureCode
+id-ConnectionlessTransfer ProcedureCode
+id-ErrorIndication ProcedureCode
+id-privateMessage ProcedureCode
+
+# ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-Context-ID ProtocolIE-ID
+id-RANAP-Message ProtocolIE-ID
+id-IntraDomainNasNodeSelector ProtocolIE-ID
+id-Establishment-Cause ProtocolIE-ID
+id-CN-DomainIndicator ProtocolIE-ID
+#.END
+
+
+#.REGISTER
+
+#RUA-PROTOCOL-IES
+Cause N rua.ies id-Cause
+CriticalityDiagnostics N rua.ies id-CriticalityDiagnostics
+Context-ID N rua.ies id-Context-ID
+RANAP-Message N rua.ies id-RANAP-Message
+IntraDomainNasNodeSelector N rua.ies id-IntraDomainNasNodeSelector
+Establishment-Cause N rua.ies id-Establishment-Cause
+CN-DomainIndicator N rua.ies id-CN-DomainIndicator
+
+#RUA-PROTOCOL-EXTENSION
+CSGMembershipStatus N rua.extension id-CSGMembershipStatus
+
+#RUA-ELEMENTARY-PROCEDURE
+Connect N rua.proc.imsg id-Connect
+DirectTransfer N rua.proc.imsg id-DirectTransfer
+Disconnect N rua.proc.imsg id-Disconnect
+ConnectionlessTransfer N rua.proc.imsg id-ConnectionlessTransfer
+ErrorIndication N rua.proc.imsg id-ErrorIndication
+PrivateMessage N rua.proc.imsg id-privateMessage
+#.END
diff --git a/epan/dissectors/asn1/s1ap/CMakeLists.txt b/epan/dissectors/asn1/s1ap/CMakeLists.txt
new file mode 100644
index 00000000..6ac8be13
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/CMakeLists.txt
@@ -0,0 +1,45 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME s1ap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ S1AP-CommonDataTypes.asn
+ S1AP-Constants.asn
+ S1AP-Containers.asn
+ S1AP-IEs.asn
+ S1AP-PDU-Contents.asn
+ S1AP-PDU-Descriptions.asn
+ S1AP-SonTransfer-IEs.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn b/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn
new file mode 100644
index 00000000..6f03db3c
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn
@@ -0,0 +1,34 @@
+-- 3GPP TS 36.413 V17.5.0 (2023-06)
+-- 9.3.5 Common Definitions
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+S1AP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0..65535),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolExtensionID ::= INTEGER (0..65535)
+
+ProtocolIE-ID ::= INTEGER (0..65535)
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
+
+END
diff --git a/epan/dissectors/asn1/s1ap/S1AP-Constants.asn b/epan/dissectors/asn1/s1ap/S1AP-Constants.asn
new file mode 100644
index 00000000..3e111932
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/S1AP-Constants.asn
@@ -0,0 +1,539 @@
+-- 3GPP TS 36.413 V17.5.0 (2023-06)
+-- 9.3.6 Constant Definitions
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+S1AP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+
+FROM S1AP-CommonDataTypes;
+
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-HandoverPreparation ProcedureCode ::= 0
+id-HandoverResourceAllocation ProcedureCode ::= 1
+id-HandoverNotification ProcedureCode ::= 2
+id-PathSwitchRequest ProcedureCode ::= 3
+id-HandoverCancel ProcedureCode ::= 4
+id-E-RABSetup ProcedureCode ::= 5
+id-E-RABModify ProcedureCode ::= 6
+id-E-RABRelease ProcedureCode ::= 7
+id-E-RABReleaseIndication ProcedureCode ::= 8
+id-InitialContextSetup ProcedureCode ::= 9
+id-Paging ProcedureCode ::= 10
+id-downlinkNASTransport ProcedureCode ::= 11
+id-initialUEMessage ProcedureCode ::= 12
+id-uplinkNASTransport ProcedureCode ::= 13
+id-Reset ProcedureCode ::= 14
+id-ErrorIndication ProcedureCode ::= 15
+id-NASNonDeliveryIndication ProcedureCode ::= 16
+id-S1Setup ProcedureCode ::= 17
+id-UEContextReleaseRequest ProcedureCode ::= 18
+id-DownlinkS1cdma2000tunnelling ProcedureCode ::= 19
+id-UplinkS1cdma2000tunnelling ProcedureCode ::= 20
+id-UEContextModification ProcedureCode ::= 21
+id-UECapabilityInfoIndication ProcedureCode ::= 22
+id-UEContextRelease ProcedureCode ::= 23
+id-eNBStatusTransfer ProcedureCode ::= 24
+id-MMEStatusTransfer ProcedureCode ::= 25
+id-DeactivateTrace ProcedureCode ::= 26
+id-TraceStart ProcedureCode ::= 27
+id-TraceFailureIndication ProcedureCode ::= 28
+id-ENBConfigurationUpdate ProcedureCode ::= 29
+id-MMEConfigurationUpdate ProcedureCode ::= 30
+id-LocationReportingControl ProcedureCode ::= 31
+id-LocationReportingFailureIndication ProcedureCode ::= 32
+id-LocationReport ProcedureCode ::= 33
+id-OverloadStart ProcedureCode ::= 34
+id-OverloadStop ProcedureCode ::= 35
+id-WriteReplaceWarning ProcedureCode ::= 36
+id-eNBDirectInformationTransfer ProcedureCode ::= 37
+id-MMEDirectInformationTransfer ProcedureCode ::= 38
+id-PrivateMessage ProcedureCode ::= 39
+id-eNBConfigurationTransfer ProcedureCode ::= 40
+id-MMEConfigurationTransfer ProcedureCode ::= 41
+id-CellTrafficTrace ProcedureCode ::= 42
+id-Kill ProcedureCode ::= 43
+id-downlinkUEAssociatedLPPaTransport ProcedureCode ::= 44
+id-uplinkUEAssociatedLPPaTransport ProcedureCode ::= 45
+id-downlinkNonUEAssociatedLPPaTransport ProcedureCode ::= 46
+id-uplinkNonUEAssociatedLPPaTransport ProcedureCode ::= 47
+id-UERadioCapabilityMatch ProcedureCode ::= 48
+id-PWSRestartIndication ProcedureCode ::= 49
+id-E-RABModificationIndication ProcedureCode ::= 50
+id-PWSFailureIndication ProcedureCode ::= 51
+id-RerouteNASRequest ProcedureCode ::= 52
+id-UEContextModificationIndication ProcedureCode ::= 53
+id-ConnectionEstablishmentIndication ProcedureCode ::= 54
+id-UEContextSuspend ProcedureCode ::= 55
+id-UEContextResume ProcedureCode ::= 56
+id-NASDeliveryIndication ProcedureCode ::= 57
+id-RetrieveUEInformation ProcedureCode ::= 58
+id-UEInformationTransfer ProcedureCode ::= 59
+id-eNBCPRelocationIndication ProcedureCode ::= 60
+id-MMECPRelocationIndication ProcedureCode ::= 61
+id-SecondaryRATDataUsageReport ProcedureCode ::= 62
+id-UERadioCapabilityIDMapping ProcedureCode ::= 63
+id-HandoverSuccess ProcedureCode ::= 64
+id-eNBEarlyStatusTransfer ProcedureCode ::= 65
+id-MMEEarlyStatusTransfer ProcedureCode ::= 66
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxnoofCSGs INTEGER ::= 256
+maxnoofE-RABs INTEGER ::= 256
+maxnoofTAIs INTEGER ::= 256
+maxnoofTACs INTEGER ::= 256
+maxnoofErrors INTEGER ::= 256
+maxnoofBPLMNs INTEGER ::= 6
+maxnoofPLMNsPerMME INTEGER ::= 32
+maxnoofEPLMNs INTEGER ::= 15
+maxnoofEPLMNsPlusOne INTEGER ::= 16
+maxnoofForbLACs INTEGER ::= 4096
+maxnoofForbTACs INTEGER ::= 4096
+maxnoofIndividualS1ConnectionsToReset INTEGER ::= 256
+maxnoofCellsinUEHistoryInfo INTEGER ::= 16
+maxnoofCellsineNB INTEGER ::= 256
+maxnoofTAIforWarning INTEGER ::= 65535
+maxnoofCellID INTEGER ::= 65535
+maxnoofDCNs INTEGER ::= 32
+maxnoofEmergencyAreaID INTEGER ::= 65535
+maxnoofCellinTAI INTEGER ::= 65535
+maxnoofCellinEAI INTEGER ::= 65535
+maxnoofeNBX2TLAs INTEGER ::= 2
+maxnoofeNBX2ExtTLAs INTEGER ::= 16
+maxnoofeNBX2GTPTLAs INTEGER ::= 16
+maxnoofRATs INTEGER ::= 8
+maxnoofGroupIDs INTEGER ::= 65535
+maxnoofMMECs INTEGER ::= 256
+maxnoofCellIDforMDT INTEGER ::= 32
+maxnoofTAforMDT INTEGER ::= 8
+maxnoofMDTPLMNs INTEGER ::= 16
+maxnoofCellsforRestart INTEGER ::= 256
+maxnoofRestartTAIs INTEGER ::= 2048
+maxnoofRestartEmergencyAreaIDs INTEGER ::= 256
+maxEARFCN INTEGER ::= 262143
+maxnoofMBSFNAreaMDT INTEGER ::= 8
+maxnoofRecommendedCells INTEGER ::= 16
+maxnoofRecommendedENBs INTEGER ::= 16
+maxnooftimeperiods INTEGER ::= 2
+maxnoofCellIDforQMC INTEGER ::= 32
+maxnoofTAforQMC INTEGER ::= 8
+maxnoofPLMNforQMC INTEGER ::= 16
+maxnoofBluetoothName INTEGER ::= 4
+maxnoofWLANName INTEGER ::= 4
+maxnoofConnectedengNBs INTEGER ::= 256
+maxnoofPC5QoSFlows INTEGER ::= 2048
+maxnooffrequencies INTEGER ::= 64
+maxNARFCN INTEGER ::= 3279165
+maxRS-IndexCellQual INTEGER ::= 16
+maxnoofPSCellsPerPrimaryCellinUEHistoryInfo INTEGER ::= 8
+maxnoofTACsInNTN INTEGER ::= 12
+maxnoofSensorName INTEGER ::= 3
+
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0
+id-HandoverType ProtocolIE-ID ::= 1
+id-Cause ProtocolIE-ID ::= 2
+id-SourceID ProtocolIE-ID ::= 3
+id-TargetID ProtocolIE-ID ::= 4
+--WS extension
+id-Unknown-5 ProtocolIE-ID ::= 5
+id-Unknown-6 ProtocolIE-ID ::= 6
+id-Unknown-7 ProtocolIE-ID ::= 7
+id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8
+--WS extension
+id-Unknown-9 ProtocolIE-ID ::= 9
+id-Unknown-10 ProtocolIE-ID ::= 10
+id-Unknown-11 ProtocolIE-ID ::= 11
+id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12
+id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13
+id-E-RABDataForwardingItem ProtocolIE-ID ::= 14
+id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15
+id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16
+id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17
+id-E-RABAdmittedList ProtocolIE-ID ::= 18
+id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19
+id-E-RABAdmittedItem ProtocolIE-ID ::= 20
+id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21
+id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22
+id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23
+id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24
+id-TraceActivation ProtocolIE-ID ::= 25
+id-NAS-PDU ProtocolIE-ID ::= 26
+id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27
+id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28
+id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29
+id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30
+id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31
+id-E-RABFailedToModifyList ProtocolIE-ID ::= 32
+id-E-RABToBeReleasedList ProtocolIE-ID ::= 33
+id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34
+id-E-RABItem ProtocolIE-ID ::= 35
+id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36
+id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
+id-E-RABReleaseItem ProtocolIE-ID ::= 38
+id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
+id-SecurityContext ProtocolIE-ID ::= 40
+id-HandoverRestrictionList ProtocolIE-ID ::= 41
+--WS extension
+id-Unknown-42 ProtocolIE-ID ::= 42
+id-UEPagingID ProtocolIE-ID ::= 43
+id-pagingDRX ProtocolIE-ID ::= 44
+--WS extension
+id-Unknown-45 ProtocolIE-ID ::= 45
+id-TAIList ProtocolIE-ID ::= 46
+id-TAIItem ProtocolIE-ID ::= 47
+id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
+id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
+id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
+id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51
+id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52
+id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53
+--WS extension
+id-Unknown-54 ProtocolIE-ID ::= 54
+id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55
+--WS extension
+id-Unknown-56 ProtocolIE-ID ::= 56
+id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57
+id-CriticalityDiagnostics ProtocolIE-ID ::= 58
+id-Global-ENB-ID ProtocolIE-ID ::= 59
+id-eNBname ProtocolIE-ID ::= 60
+id-MMEname ProtocolIE-ID ::= 61
+--WS extension
+id-Unknown-62 ProtocolIE-ID ::= 62
+id-ServedPLMNs ProtocolIE-ID ::= 63
+id-SupportedTAs ProtocolIE-ID ::= 64
+id-TimeToWait ProtocolIE-ID ::= 65
+id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66
+id-TAI ProtocolIE-ID ::= 67
+--WS extension
+id-Unknown-68 ProtocolIE-ID ::= 68
+id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69
+id-cdma2000PDU ProtocolIE-ID ::= 70
+id-cdma2000RATType ProtocolIE-ID ::= 71
+id-cdma2000SectorID ProtocolIE-ID ::= 72
+id-SecurityKey ProtocolIE-ID ::= 73
+id-UERadioCapability ProtocolIE-ID ::= 74
+id-GUMMEI-ID ProtocolIE-ID ::= 75
+--WS extension
+id-Unknown-76 ProtocolIE-ID ::= 76
+id-Unknown-77 ProtocolIE-ID ::= 77
+id-E-RABInformationListItem ProtocolIE-ID ::= 78
+id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79
+id-UEIdentityIndexValue ProtocolIE-ID ::= 80
+--WS extension
+id-Unknown-81 ProtocolIE-ID ::= 81
+id-Unknown-82 ProtocolIE-ID ::= 82
+id-cdma2000HOStatus ProtocolIE-ID ::= 83
+id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84
+--WS extension
+id-Unknown-85 ProtocolIE-ID ::= 85
+id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86
+id-RelativeMMECapacity ProtocolIE-ID ::= 87
+id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88
+id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89
+id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90
+id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91
+id-ResetType ProtocolIE-ID ::= 92
+id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93
+id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94
+id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95
+id-S-TMSI ProtocolIE-ID ::= 96
+id-cdma2000OneXRAND ProtocolIE-ID ::= 97
+id-RequestType ProtocolIE-ID ::= 98
+id-UE-S1AP-IDs ProtocolIE-ID ::= 99
+id-EUTRAN-CGI ProtocolIE-ID ::= 100
+id-OverloadResponse ProtocolIE-ID ::= 101
+id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102
+id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103
+id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104
+id-ServedGUMMEIs ProtocolIE-ID ::= 105
+id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106
+id-UESecurityCapabilities ProtocolIE-ID ::= 107
+id-CSFallbackIndicator ProtocolIE-ID ::= 108
+id-CNDomain ProtocolIE-ID ::= 109
+id-E-RABReleasedList ProtocolIE-ID ::= 110
+id-MessageIdentifier ProtocolIE-ID ::= 111
+id-SerialNumber ProtocolIE-ID ::= 112
+id-WarningAreaList ProtocolIE-ID ::= 113
+id-RepetitionPeriod ProtocolIE-ID ::= 114
+id-NumberofBroadcastRequest ProtocolIE-ID ::= 115
+id-WarningType ProtocolIE-ID ::= 116
+id-WarningSecurityInfo ProtocolIE-ID ::= 117
+id-DataCodingScheme ProtocolIE-ID ::= 118
+id-WarningMessageContents ProtocolIE-ID ::= 119
+id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120
+id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121
+id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122
+id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123
+id-SRVCCOperationPossible ProtocolIE-ID ::= 124
+id-SRVCCHOIndication ProtocolIE-ID ::= 125
+id-NAS-DownlinkCount ProtocolIE-ID ::= 126
+id-CSG-Id ProtocolIE-ID ::= 127
+id-CSG-IdList ProtocolIE-ID ::= 128
+id-SONConfigurationTransferECT ProtocolIE-ID ::= 129
+id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130
+id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131
+id-MSClassmark2 ProtocolIE-ID ::= 132
+id-MSClassmark3 ProtocolIE-ID ::= 133
+id-RRC-Establishment-Cause ProtocolIE-ID ::= 134
+id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135
+id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136
+id-DefaultPagingDRX ProtocolIE-ID ::= 137
+id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138
+id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
+id-EUTRANRoundTripDelayEstimationInfo ProtocolIE-ID ::= 140
+id-BroadcastCancelledAreaList ProtocolIE-ID ::= 141
+id-ConcurrentWarningMessageIndicator ProtocolIE-ID ::= 142
+id-Data-Forwarding-Not-Possible ProtocolIE-ID ::= 143
+id-ExtendedRepetitionPeriod ProtocolIE-ID ::= 144
+id-CellAccessMode ProtocolIE-ID ::= 145
+id-CSGMembershipStatus ProtocolIE-ID ::= 146
+id-LPPa-PDU ProtocolIE-ID ::= 147
+id-Routing-ID ProtocolIE-ID ::= 148
+id-Time-Synchronisation-Info ProtocolIE-ID ::= 149
+id-PS-ServiceNotAvailable ProtocolIE-ID ::= 150
+id-PagingPriority ProtocolIE-ID ::= 151
+id-x2TNLConfigurationInfo ProtocolIE-ID ::= 152
+id-eNBX2ExtendedTransportLayerAddresses ProtocolIE-ID ::= 153
+id-GUMMEIList ProtocolIE-ID ::= 154
+id-GW-TransportLayerAddress ProtocolIE-ID ::= 155
+id-Correlation-ID ProtocolIE-ID ::= 156
+id-SourceMME-GUMMEI ProtocolIE-ID ::= 157
+id-MME-UE-S1AP-ID-2 ProtocolIE-ID ::= 158
+id-RegisteredLAI ProtocolIE-ID ::= 159
+id-RelayNode-Indicator ProtocolIE-ID ::= 160
+id-TrafficLoadReductionIndication ProtocolIE-ID ::= 161
+id-MDTConfiguration ProtocolIE-ID ::= 162
+id-MMERelaySupportIndicator ProtocolIE-ID ::= 163
+id-GWContextReleaseIndication ProtocolIE-ID ::= 164
+id-ManagementBasedMDTAllowed ProtocolIE-ID ::= 165
+id-PrivacyIndicator ProtocolIE-ID ::= 166
+id-Time-UE-StayedInCell-EnhancedGranularity ProtocolIE-ID ::= 167
+id-HO-Cause ProtocolIE-ID ::= 168
+id-VoiceSupportMatchIndicator ProtocolIE-ID ::= 169
+id-GUMMEIType ProtocolIE-ID ::= 170
+id-M3Configuration ProtocolIE-ID ::= 171
+id-M4Configuration ProtocolIE-ID ::= 172
+id-M5Configuration ProtocolIE-ID ::= 173
+id-MDT-Location-Info ProtocolIE-ID ::= 174
+id-MobilityInformation ProtocolIE-ID ::= 175
+id-Tunnel-Information-for-BBF ProtocolIE-ID ::= 176
+id-ManagementBasedMDTPLMNList ProtocolIE-ID ::= 177
+id-SignallingBasedMDTPLMNList ProtocolIE-ID ::= 178
+id-ULCOUNTValueExtended ProtocolIE-ID ::= 179
+id-DLCOUNTValueExtended ProtocolIE-ID ::= 180
+id-ReceiveStatusOfULPDCPSDUsExtended ProtocolIE-ID ::= 181
+id-ECGIListForRestart ProtocolIE-ID ::= 182
+id-SIPTO-Correlation-ID ProtocolIE-ID ::= 183
+id-SIPTO-L-GW-TransportLayerAddress ProtocolIE-ID ::= 184
+id-TransportInformation ProtocolIE-ID ::= 185
+id-LHN-ID ProtocolIE-ID ::= 186
+id-AdditionalCSFallbackIndicator ProtocolIE-ID ::= 187
+id-TAIListForRestart ProtocolIE-ID ::= 188
+id-UserLocationInformation ProtocolIE-ID ::= 189
+id-EmergencyAreaIDListForRestart ProtocolIE-ID ::= 190
+id-KillAllWarningMessages ProtocolIE-ID ::= 191
+id-Masked-IMEISV ProtocolIE-ID ::= 192
+id-eNBIndirectX2TransportLayerAddresses ProtocolIE-ID ::= 193
+id-uE-HistoryInformationFromTheUE ProtocolIE-ID ::= 194
+id-ProSeAuthorized ProtocolIE-ID ::= 195
+id-ExpectedUEBehaviour ProtocolIE-ID ::= 196
+id-LoggedMBSFNMDT ProtocolIE-ID ::= 197
+id-UERadioCapabilityForPaging ProtocolIE-ID ::= 198
+id-E-RABToBeModifiedListBearerModInd ProtocolIE-ID ::= 199
+id-E-RABToBeModifiedItemBearerModInd ProtocolIE-ID ::= 200
+id-E-RABNotToBeModifiedListBearerModInd ProtocolIE-ID ::= 201
+id-E-RABNotToBeModifiedItemBearerModInd ProtocolIE-ID ::= 202
+id-E-RABModifyListBearerModConf ProtocolIE-ID ::= 203
+id-E-RABModifyItemBearerModConf ProtocolIE-ID ::= 204
+id-E-RABFailedToModifyListBearerModConf ProtocolIE-ID ::= 205
+id-SON-Information-Report ProtocolIE-ID ::= 206
+id-Muting-Availability-Indication ProtocolIE-ID ::= 207
+id-Muting-Pattern-Information ProtocolIE-ID ::= 208
+id-Synchronisation-Information ProtocolIE-ID ::= 209
+id-E-RABToBeReleasedListBearerModConf ProtocolIE-ID ::= 210
+id-AssistanceDataForPaging ProtocolIE-ID ::= 211
+id-CellIdentifierAndCELevelForCECapableUEs ProtocolIE-ID ::= 212
+id-InformationOnRecommendedCellsAndENBsForPaging ProtocolIE-ID ::= 213
+id-RecommendedCellItem ProtocolIE-ID ::= 214
+id-RecommendedENBItem ProtocolIE-ID ::= 215
+id-ProSeUEtoNetworkRelaying ProtocolIE-ID ::= 216
+id-ULCOUNTValuePDCP-SNlength18 ProtocolIE-ID ::= 217
+id-DLCOUNTValuePDCP-SNlength18 ProtocolIE-ID ::= 218
+id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ProtocolIE-ID ::= 219
+id-M6Configuration ProtocolIE-ID ::= 220
+id-M7Configuration ProtocolIE-ID ::= 221
+id-PWSfailedECGIList ProtocolIE-ID ::= 222
+id-MME-Group-ID ProtocolIE-ID ::= 223
+id-Additional-GUTI ProtocolIE-ID ::= 224
+id-S1-Message ProtocolIE-ID ::= 225
+id-CSGMembershipInfo ProtocolIE-ID ::= 226
+id-Paging-eDRXInformation ProtocolIE-ID ::= 227
+id-UE-RetentionInformation ProtocolIE-ID ::= 228
+--WS extension
+id-Unknown-229 ProtocolIE-ID ::= 229
+id-UE-Usage-Type ProtocolIE-ID ::= 230
+id-extended-UEIdentityIndexValue ProtocolIE-ID ::= 231
+id-RAT-Type ProtocolIE-ID ::= 232
+id-BearerType ProtocolIE-ID ::= 233
+id-NB-IoT-DefaultPagingDRX ProtocolIE-ID ::= 234
+id-E-RABFailedToResumeListResumeReq ProtocolIE-ID ::= 235
+id-E-RABFailedToResumeItemResumeReq ProtocolIE-ID ::= 236
+id-E-RABFailedToResumeListResumeRes ProtocolIE-ID ::= 237
+id-E-RABFailedToResumeItemResumeRes ProtocolIE-ID ::= 238
+id-NB-IoT-Paging-eDRXInformation ProtocolIE-ID ::= 239
+id-V2XServicesAuthorized ProtocolIE-ID ::= 240
+id-UEUserPlaneCIoTSupportIndicator ProtocolIE-ID ::= 241
+id-CE-mode-B-SupportIndicator ProtocolIE-ID ::= 242
+id-SRVCCOperationNotPossible ProtocolIE-ID ::= 243
+id-NB-IoT-UEIdentityIndexValue ProtocolIE-ID ::= 244
+id-RRC-Resume-Cause ProtocolIE-ID ::= 245
+id-DCN-ID ProtocolIE-ID ::= 246
+id-ServedDCNs ProtocolIE-ID ::= 247
+id-UESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 248
+id-DLNASPDUDeliveryAckRequest ProtocolIE-ID ::= 249
+id-Coverage-Level ProtocolIE-ID ::= 250
+id-EnhancedCoverageRestricted ProtocolIE-ID ::= 251
+id-UE-Level-QoS-Parameters ProtocolIE-ID ::= 252
+id-DL-CP-SecurityInformation ProtocolIE-ID ::= 253
+id-UL-CP-SecurityInformation ProtocolIE-ID ::= 254
+id-extended-e-RAB-MaximumBitrateDL ProtocolIE-ID ::= 255
+id-extended-e-RAB-MaximumBitrateUL ProtocolIE-ID ::= 256
+id-extended-e-RAB-GuaranteedBitrateDL ProtocolIE-ID ::= 257
+id-extended-e-RAB-GuaranteedBitrateUL ProtocolIE-ID ::= 258
+id-extended-uEaggregateMaximumBitRateDL ProtocolIE-ID ::= 259
+id-extended-uEaggregateMaximumBitRateUL ProtocolIE-ID ::= 260
+id-NRrestrictioninEPSasSecondaryRAT ProtocolIE-ID ::= 261
+id-UEAppLayerMeasConfig ProtocolIE-ID ::= 262
+id-UE-Application-Layer-Measurement-Capability ProtocolIE-ID ::= 263
+id-SecondaryRATDataUsageReportList ProtocolIE-ID ::= 264
+id-SecondaryRATDataUsageReportItem ProtocolIE-ID ::= 265
+id-HandoverFlag ProtocolIE-ID ::= 266
+id-E-RABUsageReportItem ProtocolIE-ID ::= 267
+id-SecondaryRATDataUsageRequest ProtocolIE-ID ::= 268
+id-NRUESecurityCapabilities ProtocolIE-ID ::= 269
+id-UnlicensedSpectrumRestriction ProtocolIE-ID ::= 270
+id-CE-ModeBRestricted ProtocolIE-ID ::= 271
+id-LTE-M-Indication ProtocolIE-ID ::= 272
+id-DownlinkPacketLossRate ProtocolIE-ID ::= 273
+id-UplinkPacketLossRate ProtocolIE-ID ::= 274
+id-UECapabilityInfoRequest ProtocolIE-ID ::= 275
+id-serviceType ProtocolIE-ID ::= 276
+id-AerialUEsubscriptionInformation ProtocolIE-ID ::= 277
+id-Subscription-Based-UE-DifferentiationInfo ProtocolIE-ID ::= 278
+--WS extension
+id-Unknown-279 ProtocolIE-ID ::= 279
+id-EndIndication ProtocolIE-ID ::= 280
+id-EDT-Session ProtocolIE-ID ::= 281
+id-CNTypeRestrictions ProtocolIE-ID ::= 282
+id-PendingDataIndication ProtocolIE-ID ::= 283
+id-BluetoothMeasurementConfiguration ProtocolIE-ID ::= 284
+id-WLANMeasurementConfiguration ProtocolIE-ID ::= 285
+id-WarningAreaCoordinates ProtocolIE-ID ::= 286
+id-NRrestrictionin5GS ProtocolIE-ID ::= 287
+id-PSCellInformation ProtocolIE-ID ::= 288
+--WS extension
+id-Unknown-289 ProtocolIE-ID ::= 289
+id-LastNG-RANPLMNIdentity ProtocolIE-ID ::= 290
+id-ConnectedengNBList ProtocolIE-ID ::= 291
+id-ConnectedengNBToAddList ProtocolIE-ID ::= 292
+id-ConnectedengNBToRemoveList ProtocolIE-ID ::= 293
+id-EN-DCSONConfigurationTransfer-ECT ProtocolIE-ID ::= 294
+id-EN-DCSONConfigurationTransfer-MCT ProtocolIE-ID ::= 295
+id-IMSvoiceEPSfallbackfrom5G ProtocolIE-ID ::= 296
+id-TimeSinceSecondaryNodeRelease ProtocolIE-ID ::= 297
+id-RequestTypeAdditionalInfo ProtocolIE-ID ::= 298
+id-AdditionalRRMPriorityIndex ProtocolIE-ID ::= 299
+id-ContextatSource ProtocolIE-ID ::= 300
+id-IAB-Authorized ProtocolIE-ID ::= 301
+id-IAB-Node-Indication ProtocolIE-ID ::= 302
+id-IAB-Supported ProtocolIE-ID ::= 303
+id-DataSize ProtocolIE-ID ::= 304
+id-Ethernet-Type ProtocolIE-ID ::= 305
+id-NRV2XServicesAuthorized ProtocolIE-ID ::= 306
+id-NRUESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 307
+id-PC5QoSParameters ProtocolIE-ID ::= 308
+id-IntersystemSONConfigurationTransferMCT ProtocolIE-ID ::= 309
+id-IntersystemSONConfigurationTransferECT ProtocolIE-ID ::= 310
+id-IntersystemMeasurementConfiguration ProtocolIE-ID ::= 311
+id-SourceNodeID ProtocolIE-ID ::= 312
+id-NB-IoT-RLF-Report-Container ProtocolIE-ID ::= 313
+id-UERadioCapabilityID ProtocolIE-ID ::= 314
+id-UERadioCapability-NR-Format ProtocolIE-ID ::= 315
+id-MDTConfigurationNR ProtocolIE-ID ::= 316
+id-DAPSRequestInfo ProtocolIE-ID ::= 317
+id-DAPSResponseInfoList ProtocolIE-ID ::= 318
+id-DAPSResponseInfoItem ProtocolIE-ID ::= 319
+id-NotifySourceeNB ProtocolIE-ID ::= 320
+id-eNB-EarlyStatusTransfer-TransparentContainer ProtocolIE-ID ::= 321
+id-Bearers-SubjectToEarlyStatusTransfer-Item ProtocolIE-ID ::= 322
+id-WUS-Assistance-Information ProtocolIE-ID ::= 323
+id-NB-IoT-PagingDRX ProtocolIE-ID ::= 324
+id-TraceCollectionEntityURI ProtocolIE-ID ::= 325
+id-EmergencyIndicator ProtocolIE-ID ::= 326
+id-UERadioCapabilityForPaging-NR-Format ProtocolIE-ID ::= 327
+id-SourceTransportLayerAddress ProtocolIE-ID ::= 328
+id-lastVisitedPSCellList ProtocolIE-ID ::= 329
+id-RACSIndication ProtocolIE-ID ::= 330
+id-PagingCause ProtocolIE-ID ::= 331
+id-SecurityIndication ProtocolIE-ID ::= 332
+id-SecurityResult ProtocolIE-ID ::= 333
+id-E-RABSecurityResultItem ProtocolIE-ID ::= 334
+id-E-RABSecurityResultList ProtocolIE-ID ::= 335
+id-RAT-Restrictions ProtocolIE-ID ::= 336
+id-UEContextReferenceatSourceeNB ProtocolIE-ID ::= 337
+--WS extension
+id-Unknown-338 ProtocolIE-ID ::= 338
+id-LTE-NTN-TAI-Information ProtocolIE-ID ::= 339
+id-SourceNodeTransportLayerAddress ProtocolIE-ID ::= 340
+id-E-RABToBeUpdatedList ProtocolIE-ID ::= 341
+id-E-RABToBeUpdatedItem ProtocolIE-ID ::= 342
+id-SourceSNID ProtocolIE-ID ::= 343
+id-LoggedMDTTrigger ProtocolIE-ID ::= 344
+id-SensorMeasurementConfiguration ProtocolIE-ID ::= 345
+
+END
diff --git a/epan/dissectors/asn1/s1ap/S1AP-Containers.asn b/epan/dissectors/asn1/s1ap/S1AP-Containers.asn
new file mode 100644
index 00000000..9b53fe64
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/S1AP-Containers.asn
@@ -0,0 +1,199 @@
+-- 3GPP TS 36.413 V17.5.0 (2023-06)
+-- 9.3.7 Container Definitions
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+S1AP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolExtensionID,
+ ProtocolIE-ID
+FROM S1AP-CommonDataTypes
+
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM S1AP-Constants;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+S1AP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+S1AP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+S1AP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolExtensionID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+S1AP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id S1AP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-SingleContainer {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
+ SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id S1AP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/s1ap/S1AP-IEs.asn b/epan/dissectors/asn1/s1ap/S1AP-IEs.asn
new file mode 100644
index 00000000..ab6c5a8a
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/S1AP-IEs.asn
@@ -0,0 +1,3328 @@
+-- 3GPP TS 36.413 V17.5.0 (2023-06)
+-- 9.3.4 Information Element Definitions
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+S1AP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ id-E-RABInformationListItem,
+ id-E-RABItem,
+ id-GUMMEIType,
+ id-Bearers-SubjectToStatusTransfer-Item,
+ id-Time-Synchronisation-Info,
+ id-x2TNLConfigurationInfo,
+ id-eNBX2ExtendedTransportLayerAddresses,
+ id-MDTConfiguration,
+ id-Time-UE-StayedInCell-EnhancedGranularity,
+ id-HO-Cause,
+ id-M3Configuration,
+ id-M4Configuration,
+ id-M5Configuration,
+ id-MDT-Location-Info,
+ id-SignallingBasedMDTPLMNList,
+ id-MobilityInformation,
+ id-ULCOUNTValueExtended,
+ id-DLCOUNTValueExtended,
+ id-ReceiveStatusOfULPDCPSDUsExtended,
+ id-eNBIndirectX2TransportLayerAddresses,
+ id-Muting-Availability-Indication,
+ id-Muting-Pattern-Information,
+ id-NRrestrictioninEPSasSecondaryRAT,
+ id-NRrestrictionin5GS,
+ id-Synchronisation-Information,
+ id-uE-HistoryInformationFromTheUE,
+ id-LoggedMBSFNMDT,
+ id-SON-Information-Report,
+ id-RecommendedCellItem,
+ id-RecommendedENBItem,
+ id-ProSeUEtoNetworkRelaying,
+ id-ULCOUNTValuePDCP-SNlength18,
+ id-DLCOUNTValuePDCP-SNlength18,
+ id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18,
+ id-M6Configuration,
+ id-M7Configuration,
+ id-RAT-Type,
+ id-extended-e-RAB-MaximumBitrateDL,
+ id-extended-e-RAB-MaximumBitrateUL,
+ id-extended-e-RAB-GuaranteedBitrateDL,
+ id-extended-e-RAB-GuaranteedBitrateUL,
+ id-extended-uEaggregateMaximumBitRateDL,
+ id-extended-uEaggregateMaximumBitRateUL,
+ id-SecondaryRATDataUsageReportItem,
+ id-E-RABUsageReportItem,
+ id-UEAppLayerMeasConfig,
+ id-serviceType,
+ id-UnlicensedSpectrumRestriction,
+ id-CNTypeRestrictions,
+ id-DownlinkPacketLossRate,
+ id-UplinkPacketLossRate,
+ id-BluetoothMeasurementConfiguration,
+ id-WLANMeasurementConfiguration,
+ id-LastNG-RANPLMNIdentity,
+ id-PSCellInformation,
+ id-IMSvoiceEPSfallbackfrom5G,
+ id-RequestTypeAdditionalInfo,
+ id-AdditionalRRMPriorityIndex,
+ id-ContextatSource,
+ id-IntersystemMeasurementConfiguration,
+ id-SourceNodeID,
+ id-NB-IoT-RLF-Report-Container,
+ id-MDTConfigurationNR,
+ id-DAPSRequestInfo,
+ id-DAPSResponseInfoList,
+ id-DAPSResponseInfoItem,
+ id-Bearers-SubjectToEarlyStatusTransfer-Item,
+ id-TraceCollectionEntityURI,
+ id-EmergencyIndicator,
+ id-SourceTransportLayerAddress,
+ id-lastVisitedPSCellList,
+ id-RACSIndication,
+ id-SecurityIndication,
+ id-E-RABSecurityResultItem,
+ id-E-RABSecurityResultList,
+ id-RAT-Restrictions,
+ id-UEContextReferenceatSourceeNB,
+ id-LTE-NTN-TAI-Information,
+ id-SourceNodeTransportLayerAddress,
+ id-SourceSNID,
+ id-Direct-Forwarding-Path-Availability,
+ id-LoggedMDTTrigger,
+ id-SensorMeasurementConfiguration,
+ maxnoofCSGs,
+ maxnoofE-RABs,
+ maxnoofErrors,
+ maxnoofBPLMNs,
+ maxnoofPLMNsPerMME,
+ maxnoofTACs,
+ maxnoofEPLMNs,
+ maxnoofEPLMNsPlusOne,
+ maxnoofForbLACs,
+ maxnoofForbTACs,
+ maxnoofCellsinUEHistoryInfo,
+ maxnoofCellID,
+ maxnoofDCNs,
+ maxnoofEmergencyAreaID,
+ maxnoofTAIforWarning,
+ maxnoofCellinTAI,
+ maxnoofCellinEAI,
+ maxnoofeNBX2TLAs,
+ maxnoofeNBX2ExtTLAs,
+ maxnoofeNBX2GTPTLAs,
+ maxnoofRATs,
+ maxnoofGroupIDs,
+ maxnoofMMECs,
+ maxnoofTAforMDT,
+ maxnoofCellIDforMDT,
+ maxnoofMDTPLMNs,
+ maxnoofCellsforRestart,
+ maxnoofRestartTAIs,
+ maxnoofRestartEmergencyAreaIDs,
+ maxnoofMBSFNAreaMDT,
+ maxEARFCN,
+ maxnoofCellsineNB,
+ maxnoofRecommendedCells,
+ maxnoofRecommendedENBs,
+ maxnooftimeperiods,
+ maxnoofCellIDforQMC,
+ maxnoofTAforQMC,
+ maxnoofPLMNforQMC,
+ maxnoofBluetoothName,
+ maxnoofWLANName,
+ maxnoofConnectedengNBs,
+ maxnoofPC5QoSFlows,
+ maxnooffrequencies,
+ maxNARFCN,
+ maxRS-IndexCellQual,
+ maxnoofPSCellsPerPrimaryCellinUEHistoryInfo,
+ maxnoofTACsInNTN,
+ maxnoofSensorName
+
+
+
+
+FROM S1AP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM S1AP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ S1AP-PROTOCOL-EXTENSION,
+ ProtocolIE-SingleContainer{},
+ S1AP-PROTOCOL-IES
+
+FROM S1AP-Containers;
+
+-- A
+
+Additional-GUTI::= SEQUENCE {
+ gUMMEI GUMMEI,
+ m-TMSI M-TMSI,
+ iE-Extensions ProtocolExtensionContainer { {Additional-GUTI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-GUTI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalRRMPriorityIndex ::= BIT STRING (SIZE(32))
+
+AerialUEsubscriptionInformation ::= ENUMERATED {
+ allowed,
+ not-allowed,
+ ...
+}
+
+AreaScopeOfMDT ::= CHOICE {
+ cellBased CellBasedMDT,
+ tABased TABasedMDT,
+ pLMNWide NULL,
+ ...,
+ tAIBased TAIBasedMDT
+}
+
+
+AreaScopeOfQMC ::= CHOICE {
+ cellBased CellBasedQMC,
+ tABased TABasedQMC,
+ tAIBased TAIBasedQMC,
+ pLMNAreaBased PLMNAreaBasedQMC,
+ ...
+}
+
+AllocationAndRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllocationAndRetentionPriority-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssistanceDataForCECapableUEs ::= SEQUENCE {
+ cellIdentifierAndCELevelForCECapableUEs CellIdentifierAndCELevelForCECapableUEs,
+ iE-Extensions ProtocolExtensionContainer { { InformationForCECapableUEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InformationForCECapableUEs-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssistanceDataForPaging ::= SEQUENCE {
+ assistanceDataForRecommendedCells AssistanceDataForRecommendedCells OPTIONAL,
+ assistanceDataForCECapableUEs AssistanceDataForCECapableUEs OPTIONAL,
+ pagingAttemptInformation PagingAttemptInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AssistanceDataForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceDataForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AssistanceDataForRecommendedCells ::= SEQUENCE {
+ recommendedCellsForPaging RecommendedCellsForPaging,
+ iE-Extensions ProtocolExtensionContainer { { AssistanceDataForRecommendedCells-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceDataForRecommendedCells-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- B
+
+Bearers-SubjectToStatusTransferList ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { { Bearers-SubjectToStatusTransfer-ItemIEs } }
+
+Bearers-SubjectToStatusTransfer-ItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Bearers-SubjectToStatusTransfer-Item CRITICALITY ignore TYPE Bearers-SubjectToStatusTransfer-Item PRESENCE mandatory },
+ ...
+}
+
+Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ uL-COUNTvalue COUNTvalue,
+ dL-COUNTvalue COUNTvalue,
+ receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Bearers-SubjectToStatusTransfer-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+Bearers-SubjectToStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ULCOUNTValueExtended CRITICALITY ignore EXTENSION COUNTValueExtended PRESENCE optional}|
+ { ID id-DLCOUNTValueExtended CRITICALITY ignore EXTENSION COUNTValueExtended PRESENCE optional}|
+ { ID id-ReceiveStatusOfULPDCPSDUsExtended CRITICALITY ignore EXTENSION ReceiveStatusOfULPDCPSDUsExtended PRESENCE optional}|
+ { ID id-ULCOUNTValuePDCP-SNlength18 CRITICALITY ignore EXTENSION COUNTvaluePDCP-SNlength18 PRESENCE optional}|
+ { ID id-DLCOUNTValuePDCP-SNlength18 CRITICALITY ignore EXTENSION COUNTvaluePDCP-SNlength18 PRESENCE optional}|
+ { ID id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 CRITICALITY ignore EXTENSION ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 PRESENCE optional},
+ ...
+}
+
+Bearers-SubjectToEarlyStatusTransferList ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { { Bearers-SubjectToEarlyStatusTransfer-ItemIEs } }
+
+Bearers-SubjectToEarlyStatusTransfer-ItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Bearers-SubjectToEarlyStatusTransfer-Item CRITICALITY ignore TYPE Bearers-SubjectToEarlyStatusTransfer-Item PRESENCE mandatory},
+ ...
+}
+
+Bearers-SubjectToEarlyStatusTransfer-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dLCOUNT-PDCP-SNlength DLCOUNT-PDCP-SNlength,
+ iE-Extensions ProtocolExtensionContainer { {Bearers-SubjectToEarlyStatusTransfer-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+Bearers-SubjectToEarlyStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BearerType ::= ENUMERATED {
+ non-IP,
+ ...
+}
+
+BitRate ::= INTEGER (0..10000000000)
+
+BluetoothMeasurementConfiguration ::= SEQUENCE {
+ bluetoothMeasConfig BluetoothMeasConfig,
+ bluetoothMeasConfigNameList BluetoothMeasConfigNameList OPTIONAL,
+ bt-rssi ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BluetoothMeasurementConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BluetoothMeasurementConfiguration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BluetoothMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofBluetoothName)) OF BluetoothName
+
+BluetoothMeasConfig::= ENUMERATED {setup,...}
+
+BluetoothName ::= OCTET STRING (SIZE (1..248))
+
+BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity
+
+BroadcastCancelledAreaList ::= CHOICE {
+ cellID-Cancelled CellID-Cancelled,
+ tAI-Cancelled TAI-Cancelled,
+ emergencyAreaID-Cancelled EmergencyAreaID-Cancelled,
+ ...
+}
+
+BroadcastCompletedAreaList ::= CHOICE {
+ cellID-Broadcast CellID-Broadcast,
+ tAI-Broadcast TAI-Broadcast,
+ emergencyAreaID-Broadcast EmergencyAreaID-Broadcast,
+ ...
+}
+
+
+-- C
+
+CancelledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellinEAI-Item
+
+CancelledCellinEAI-Item ::= SEQUENCE {
+ eCGI EUTRAN-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CancelledCellinEAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CancelledCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CancelledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellinTAI-Item
+
+CancelledCellinTAI-Item ::= SEQUENCE{
+ eCGI EUTRAN-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CancelledCellinTAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CancelledCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ nas CauseNas,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ not-enough-user-plane-processing-resources,
+ hardware-failure,
+ om-intervention,
+ unspecified,
+ unknown-PLMN,
+...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ abstract-syntax-error-falsely-constructed-message,
+ unspecified,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ unspecified,
+ tx2relocoverall-expiry,
+ successful-handover,
+ release-due-to-eutran-generated-reason,
+ handover-cancelled,
+ partial-handover,
+ ho-failure-in-target-EPC-eNB-or-target-system,
+ ho-target-not-allowed,
+ tS1relocoverall-expiry,
+ tS1relocprep-expiry,
+ cell-not-available,
+ unknown-targetID,
+ no-radio-resources-available-in-target-cell,
+ unknown-mme-ue-s1ap-id,
+ unknown-enb-ue-s1ap-id,
+ unknown-pair-ue-s1ap-id,
+ handover-desirable-for-radio-reason,
+ time-critical-handover,
+ resource-optimisation-handover,
+ reduce-load-in-serving-cell,
+ user-inactivity,
+ radio-connection-with-ue-lost,
+ load-balancing-tau-required,
+ cs-fallback-triggered,
+ ue-not-available-for-ps-service,
+ radio-resources-not-available,
+ failure-in-radio-interface-procedure,
+ invalid-qos-combination,
+ interrat-redirection,
+ interaction-with-other-procedure,
+ unknown-E-RAB-ID,
+ multiple-E-RAB-ID-instances,
+ encryption-and-or-integrity-protection-algorithms-not-supported,
+ s1-intra-system-handover-triggered,
+ s1-inter-system-handover-triggered,
+ x2-handover-triggered,
+ ...,
+ redirection-towards-1xRTT,
+ not-supported-QCI-value,
+ invalid-CSG-Id,
+ release-due-to-pre-emption,
+ n26-interface-not-available,
+ insufficient-ue-capabilities,
+ maximum-bearer-pre-emption-rate-exceeded,
+ up-integrity-protection-not-possible
+
+}
+
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+CauseNas ::= ENUMERATED {
+ normal-release,
+ authentication-failure,
+ detach,
+ unspecified,
+ ...,
+ csg-subscription-expiry,
+ uE-not-in-PLMN-serving-area
+}
+
+CellAccessMode ::= ENUMERATED {
+ hybrid,
+ ...
+}
+
+CellIdentifierAndCELevelForCECapableUEs ::= SEQUENCE {
+ global-Cell-ID EUTRAN-CGI,
+ cELevel CELevel,
+ iE-Extensions ProtocolExtensionContainer { { CellIdentifierAndCELevelForCECapableUEs-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellIdentifierAndCELevelForCECapableUEs-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CELevel ::= OCTET STRING
+
+CE-mode-B-SupportIndicator ::= ENUMERATED {
+ supported,
+ ...
+}
+
+CellIdentity ::= BIT STRING (SIZE (28))
+
+CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item
+
+CellID-Broadcast-Item ::= SEQUENCE {
+ eCGI EUTRAN-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CellID-Broadcast-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellID-Cancelled::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Cancelled-Item
+
+CellID-Cancelled-Item ::= SEQUENCE {
+ eCGI EUTRAN-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CellID-Cancelled-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellBasedMDT::= SEQUENCE {
+ cellIdListforMDT CellIdListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIdListforMDT ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF EUTRAN-CGI
+
+CellBasedQMC::= SEQUENCE {
+ cellIdListforQMC CellIdListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedQMC-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIdListforQMC ::= SEQUENCE (SIZE(1..maxnoofCellIDforQMC)) OF EUTRAN-CGI
+
+Cdma2000PDU ::= OCTET STRING
+
+Cdma2000RATType ::= ENUMERATED {
+ hRPD,
+ onexRTT,
+ ...
+}
+
+Cdma2000SectorID ::= OCTET STRING
+
+Cdma2000HOStatus ::= ENUMERATED {
+ hOSuccess,
+ hOFailure,
+ ...
+}
+
+Cdma2000HORequiredIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+Cdma2000OneXSRVCCInfo ::= SEQUENCE {
+ cdma2000OneXMEID Cdma2000OneXMEID,
+ cdma2000OneXMSI Cdma2000OneXMSI,
+ cdma2000OneXPilot Cdma2000OneXPilot,
+ iE-Extensions ProtocolExtensionContainer { {Cdma2000OneXSRVCCInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Cdma2000OneXSRVCCInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cdma2000OneXMEID ::= OCTET STRING
+
+Cdma2000OneXMSI ::= OCTET STRING
+
+Cdma2000OneXPilot ::= OCTET STRING
+
+Cdma2000OneXRAND ::= OCTET STRING
+
+
+Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...}
+
+CellType ::= SEQUENCE {
+ cell-Size Cell-Size,
+ iE-Extensions ProtocolExtensionContainer { { CellType-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CellType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CGI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ lAC LAC,
+ cI CI,
+ rAC RAC OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CI ::= OCTET STRING (SIZE (2))
+
+CNDomain ::= ENUMERATED {
+ ps,
+ cs
+}
+
+CNTypeRestrictions::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF CNTypeRestrictions-Item
+
+CNTypeRestrictions-Item ::= SEQUENCE {
+ pLMN-Identity PLMNidentity,
+ cNType CNType,
+ iE-Extensions ProtocolExtensionContainer { { CNTypeRestrictions-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CNTypeRestrictions-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CNType ::= ENUMERATED {
+ fiveGCForbidden,
+ ...,
+ epc-Forbiddden
+}
+
+ConcurrentWarningMessageIndicator ::= ENUMERATED {
+ true
+}
+
+ConnectedengNBList ::= SEQUENCE (SIZE(1..maxnoofConnectedengNBs)) OF ConnectedengNBItem
+
+ConnectedengNBItem ::= SEQUENCE {
+ en-gNB-ID En-gNB-ID,
+ supportedTAs SupportedTAs,
+ iE-Extensions ProtocolExtensionContainer { {ConnectedengNBItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ConnectedengNBItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ContextatSource ::= SEQUENCE {
+ sourceNG-RAN-node-ID Global-RAN-NODE-ID,
+ rAN-UE-NGAP-ID RAN-UE-NGAP-ID,
+ iE-Extensions ProtocolExtensionContainer { {ContextatSource-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ContextatSource-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Correlation-ID ::= OCTET STRING (SIZE (4))
+
+CSFallbackIndicator ::= ENUMERATED {
+ cs-fallback-required,
+ ...,
+ cs-fallback-high-priority
+}
+
+AdditionalCSFallbackIndicator ::= ENUMERATED {
+ no-restriction,
+ restriction,
+ ...
+}
+
+CSG-Id ::= BIT STRING (SIZE (27))
+
+
+CSG-IdList ::= SEQUENCE (SIZE (1.. maxnoofCSGs)) OF CSG-IdList-Item
+
+CSG-IdList-Item ::= SEQUENCE {
+ cSG-Id CSG-Id,
+ iE-Extensions ProtocolExtensionContainer { {CSG-IdList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CSGMembershipStatus ::= ENUMERATED {
+ member,
+ not-member
+}
+
+
+COUNTvalue ::= SEQUENCE {
+ pDCP-SN PDCP-SN,
+ hFN HFN,
+ iE-Extensions ProtocolExtensionContainer { {COUNTvalue-ExtIEs} } OPTIONAL,
+ ...
+}
+COUNTvalue-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+COUNTValueExtended ::= SEQUENCE {
+ pDCP-SNExtended PDCP-SNExtended,
+ hFNModified HFNModified,
+ iE-Extensions ProtocolExtensionContainer { {COUNTValueExtended-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNTValueExtended-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+COUNTvaluePDCP-SNlength18 ::= SEQUENCE {
+ pDCP-SNlength18 PDCP-SNlength18,
+ hFNforPDCP-SNlength18 HFNforPDCP-SNlength18,
+ iE-Extensions ProtocolExtensionContainer { {COUNTvaluePDCP-SNlength18-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNTvaluePDCP-SNlength18-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Coverage-Level ::= ENUMERATED {
+ extendedcoverage,
+ ...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1.. maxnoofErrors)) OF CriticalityDiagnostics-IE-Item
+
+CriticalityDiagnostics-IE-Item ::= SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- D
+
+DAPSRequestInfo ::= SEQUENCE {
+ dAPSIndicator ENUMERATED {dAPS-HO-required, ...},
+ iE-Extensions ProtocolExtensionContainer { {DAPSRequestInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSRequestInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DAPSResponseInfoList ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { { DAPSResponseInfoListIEs } }
+
+DAPSResponseInfoListIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-DAPSResponseInfoItem CRITICALITY ignore TYPE DAPSResponseInfoItem PRESENCE mandatory},
+ ...
+}
+
+DAPSResponseInfoItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dAPSResponseInfo DAPSResponseInfo,
+ iE-Extensions ProtocolExtensionContainer { {DAPSResponseInfoItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSResponseInfoItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DAPSResponseInfo ::= SEQUENCE {
+ dapsresponseindicator ENUMERATED {dAPS-HO-accepted,dAPS-HO-not-accepted,...},
+ iE-Extensions ProtocolExtensionContainer { { DAPSResponseInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSResponseInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DataCodingScheme ::= BIT STRING (SIZE (8))
+
+DataSize ::= INTEGER(1..4095, ...)
+
+DCN-ID ::= INTEGER (0..65535)
+
+ServedDCNs ::= SEQUENCE (SIZE(0..maxnoofDCNs)) OF ServedDCNsItem
+
+ServedDCNsItem ::= SEQUENCE {
+ dCN-ID DCN-ID,
+ relativeDCNCapacity RelativeMMECapacity,
+ iE-Extensions ProtocolExtensionContainer { {ServedDCNsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedDCNsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-CP-SecurityInformation ::= SEQUENCE {
+ dl-NAS-MAC DL-NAS-MAC,
+ iE-Extensions ProtocolExtensionContainer { { DL-CP-SecurityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DL-CP-SecurityInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-Forwarding ::= ENUMERATED {
+ dL-Forwarding-proposed,
+ ...
+}
+
+DL-NAS-MAC ::= BIT STRING (SIZE (16))
+
+DLCOUNT-PDCP-SNlength ::= CHOICE {
+ dLCOUNTValuePDCP-SNlength12 COUNTvalue,
+ dLCOUNTValuePDCP-SNlength15 COUNTValueExtended,
+ dLCOUNTValuePDCP-SNlength18 COUNTvaluePDCP-SNlength18,
+ ...
+}
+
+Direct-Forwarding-Path-Availability ::= ENUMERATED {
+ directPathAvailable,
+ ...
+}
+
+Data-Forwarding-Not-Possible ::= ENUMERATED {
+ data-Forwarding-not-Possible,
+ ...
+}
+
+DLNASPDUDeliveryAckRequest ::= ENUMERATED {
+ requested,
+ ...
+}
+
+-- E
+
+EARFCN ::= INTEGER(0..maxEARFCN, ...)
+
+ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI
+
+PWSfailedECGIList ::= SEQUENCE (SIZE(1..maxnoofCellsineNB)) OF EUTRAN-CGI
+
+EDT-Session ::= ENUMERATED {
+ true,
+ ...
+}
+
+EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID
+
+EmergencyAreaID ::= OCTET STRING (SIZE (3))
+
+EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item
+
+EmergencyAreaID-Broadcast-Item ::= SEQUENCE {
+ emergencyAreaID EmergencyAreaID,
+ completedCellinEAI CompletedCellinEAI,
+ iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EmergencyAreaID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EmergencyAreaID-Cancelled ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Cancelled-Item
+
+EmergencyAreaID-Cancelled-Item ::= SEQUENCE {
+ emergencyAreaID EmergencyAreaID,
+ cancelledCellinEAI CancelledCellinEAI,
+ iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Cancelled-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EmergencyAreaID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item
+
+CompletedCellinEAI-Item ::= SEQUENCE {
+ eCGI EUTRAN-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CompletedCellinEAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompletedCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ECGI-List ::= SEQUENCE (SIZE(1..maxnoofCellsineNB)) OF EUTRAN-CGI
+
+EmergencyAreaIDListForRestart ::= SEQUENCE (SIZE(1..maxnoofRestartEmergencyAreaIDs)) OF EmergencyAreaID
+
+EmergencyIndicator ::= ENUMERATED {
+ true,
+ ...
+}
+
+ENB-EarlyStatusTransfer-TransparentContainer ::= SEQUENCE {
+ bearers-SubjectToEarlyStatusTransferList Bearers-SubjectToEarlyStatusTransferList,
+ iE-Extensions ProtocolExtensionContainer { {ENB-EarlyStatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ENB-EarlyStatusTransfer-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ENB-ID ::= CHOICE {
+ macroENB-ID BIT STRING (SIZE(20)),
+ homeENB-ID BIT STRING (SIZE(28)),
+ ... ,
+ short-macroENB-ID BIT STRING (SIZE(18)),
+ long-macroENB-ID BIT STRING (SIZE(21))
+}
+
+En-gNB-ID ::= BIT STRING (SIZE(22..32, ...))
+
+GERAN-Cell-ID ::= SEQUENCE {
+ lAI LAI,
+ rAC RAC,
+ cI CI,
+ iE-Extensions ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GERAN-Cell-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Global-ENB-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ eNB-ID ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalENB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Global-en-gNB-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ en-gNB-ID En-gNB-ID,
+ iE-Extensions ProtocolExtensionContainer { {Global-en-gNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Global-en-gNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GUMMEIList::= SEQUENCE (SIZE (1.. maxnoofMMECs)) OF GUMMEI
+
+ENB-StatusTransfer-TransparentContainer ::= SEQUENCE {
+ bearers-SubjectToStatusTransferList Bearers-SubjectToStatusTransferList,
+ iE-Extensions ProtocolExtensionContainer { {ENB-StatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ENB-StatusTransfer-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ENB-UE-S1AP-ID ::= INTEGER (0..16777215)
+
+ENBname ::= PrintableString (SIZE (1..150,...))
+
+ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress
+
+EncryptionAlgorithms ::= BIT STRING (SIZE (16,...))
+
+EN-DCSONConfigurationTransfer ::= SEQUENCE {
+ transfertype EN-DCSONTransferType,
+ sONInformation SONInformation,
+ x2TNLConfigInfo X2TNLConfigurationInfo OPTIONAL,
+ -- This IE shall be present if the SON Information IE contains the SON Information Request IE and the SON Information Request IE is set to "X2TNL Configuration Info" --
+ iE-Extensions ProtocolExtensionContainer { {EN-DCSONConfigurationTransfer-ExtIEs} } OPTIONAL,
+...
+}
+
+EN-DCSONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EN-DCSONTransferType ::= CHOICE {
+ request EN-DCTransferTypeRequest,
+ reply EN-DCTransferTypeReply,
+ ...
+}
+
+EN-DCTransferTypeRequest ::= SEQUENCE {
+ sourceeNB EN-DCSONeNBIdentification,
+ targetengNB EN-DCSONengNBIdentification,
+ targeteNB EN-DCSONeNBIdentification OPTIONAL,
+ associatedTAI TAI OPTIONAL,
+ broadcast5GSTAI FiveGSTAI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EN-DCTransferTypeRequest-ExtIEs} } OPTIONAL,
+...
+}
+
+EN-DCTransferTypeRequest-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EN-DCTransferTypeReply ::= SEQUENCE {
+ sourceengNB EN-DCSONengNBIdentification,
+ targeteNB EN-DCSONeNBIdentification,
+ iE-Extensions ProtocolExtensionContainer { {EN-DCTransferTypeReply-ExtIEs} } OPTIONAL,
+...
+}
+
+EN-DCTransferTypeReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EN-DCSONeNBIdentification ::= SEQUENCE {
+ globaleNBID Global-ENB-ID,
+ selectedTAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {EN-DCSONeNBIdentification-ExtIEs} } OPTIONAL,
+...
+}
+
+EN-DCSONeNBIdentification-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EN-DCSONengNBIdentification ::= SEQUENCE {
+ globalengNBID Global-en-gNB-ID,
+ selectedTAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {EN-DCSONengNBIdentification-ExtIEs} } OPTIONAL,
+...
+}
+
+EN-DCSONengNBIdentification-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EndIndication ::= ENUMERATED {
+ no-further-data,
+ further-data-exists,
+ ...
+}
+
+EnhancedCoverageRestricted ::= ENUMERATED {
+ restricted,
+ ...
+}
+
+CE-ModeBRestricted ::= ENUMERATED {
+ restricted,
+ not-restricted,
+ ...
+}
+
+EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity
+EventType ::= ENUMERATED {
+ direct,
+ change-of-serve-cell,
+ stop-change-of-serve-cell,
+ ...
+}
+
+E-RAB-ID ::= INTEGER (0..15, ...)
+
+E-RABInformationList ::= SEQUENCE (SIZE (1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { { E-RABInformationListIEs } }
+
+E-RABInformationListIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABInformationListItem CRITICALITY ignore TYPE E-RABInformationListItem PRESENCE mandatory },
+ ...
+}
+
+E-RABInformationListItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dL-Forwarding DL-Forwarding OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABInformationListItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABInformationListItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional }|
+ { ID id-SourceTransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ { ID id-SecurityIndication CRITICALITY ignore EXTENSION SecurityIndication PRESENCE optional }|
+ { ID id-SourceNodeTransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+E-RABList ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} }
+
+E-RABItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABItem CRITICALITY ignore TYPE E-RABItem PRESENCE mandatory },
+ ...
+}
+
+E-RABItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {E-RABItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-RABLevelQoSParameters ::= SEQUENCE {
+ qCI QCI,
+ allocationRetentionPriority AllocationAndRetentionPriority,
+ gbrQosInformation GBR-QosInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABQoSParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+E-RABSecurityResultList ::= SEQUENCE (SIZE (1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { { E-RABSecurityResultListIEs } }
+
+E-RABSecurityResultListIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABSecurityResultItem CRITICALITY ignore TYPE E-RABSecurityResultItem PRESENCE mandatory },
+ ...
+}
+
+E-RABSecurityResultItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ securityResult SecurityResult,
+ iE-Extensions ProtocolExtensionContainer { { E-RABSecurityResultItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABSecurityResultItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABUsageReportList ::= SEQUENCE (SIZE(1..maxnooftimeperiods)) OF ProtocolIE-SingleContainer { {E-RABUsageReportItemIEs} }
+
+E-RABUsageReportItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABUsageReportItem CRITICALITY ignore TYPE E-RABUsageReportItem PRESENCE mandatory },
+ ...
+}
+
+E-RABUsageReportItem ::= SEQUENCE {
+ startTimestamp OCTET STRING (SIZE(4)),
+ endTimestamp OCTET STRING (SIZE(4)),
+ usageCountUL INTEGER (0..18446744073709551615),
+ usageCountDL INTEGER (0..18446744073709551615),
+ iE-Extensions ProtocolExtensionContainer { { E-RABUsageReportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABUsageReportItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extended for introduction of downlink and uplink packet loss rate for enhanced Voice performance --
+ { ID id-DownlinkPacketLossRate CRITICALITY ignore EXTENSION Packet-LossRate PRESENCE optional}|
+ { ID id-UplinkPacketLossRate CRITICALITY ignore EXTENSION Packet-LossRate PRESENCE optional},
+ ...
+}
+
+Ethernet-Type ::= ENUMERATED {
+ true,
+ ...
+}
+
+EUTRAN-CGI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ cell-ID CellIdentity,
+ iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRAN-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRANRoundTripDelayEstimationInfo ::= INTEGER (0..2047)
+
+EventL1LoggedMDTConfig ::= SEQUENCE {
+ l1Threshold MeasurementThresholdL1LoggedMDT,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ iE-Extensions ProtocolExtensionContainer { { EventL1LoggedMDTConfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventL1LoggedMDTConfig-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EventTrigger::= CHOICE {
+ outOfCoverage ENUMERATED {true, ...},
+ eventL1LoggedMDTConfig EventL1LoggedMDTConfig,
+ choice-Extensions ProtocolIE-SingleContainer { { EventTrigger-ExtIEs} }
+}
+
+EventTrigger-ExtIEs S1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+ExpectedUEBehaviour ::= SEQUENCE {
+ expectedActivity ExpectedUEActivityBehaviour OPTIONAL,
+ expectedHOInterval ExpectedHOInterval OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ExpectedUEBehaviour-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEBehaviour-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExpectedUEActivityBehaviour ::= SEQUENCE {
+ expectedActivityPeriod ExpectedActivityPeriod OPTIONAL,
+ expectedIdlePeriod ExpectedIdlePeriod OPTIONAL,
+ sourceofUEActivityBehaviourInformation SourceOfUEActivityBehaviourInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ExpectedUEActivityBehaviour-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEActivityBehaviour-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExpectedActivityPeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181,...)
+
+ExpectedIdlePeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181,...)
+
+SourceOfUEActivityBehaviourInformation ::= ENUMERATED {
+ subscription-information,
+ statistics,
+ ...
+}
+
+ExpectedHOInterval ::= ENUMERATED {
+ sec15, sec30, sec60, sec90, sec120, sec180, long-time,
+ ...
+}
+
+ExtendedBitRate ::= INTEGER (10000000001..4000000000000, ...)
+
+ExtendedRNC-ID ::= INTEGER (4096..65535)
+
+ExtendedRepetitionPeriod ::= INTEGER (4096..131071)
+
+Extended-UEIdentityIndexValue ::= BIT STRING (SIZE (14))
+
+-- F
+
+FiveGSTAC ::= OCTET STRING (SIZE (3))
+
+FiveGSTAI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ fiveGSTAC FiveGSTAC,
+ iE-Extensions ProtocolExtensionContainer { {FiveGSTAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveGSTAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveQI ::= INTEGER (0..255, ...)
+
+ForbiddenInterRATs ::= ENUMERATED {
+ all,
+ geran,
+ utran,
+ cdma2000,
+ ...,
+ geranandutran,
+ cdma2000andutran
+
+}
+
+ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item
+
+ForbiddenTAs-Item ::= SEQUENCE {
+ pLMN-Identity PLMNidentity,
+ forbiddenTACs ForbiddenTACs,
+ iE-Extensions ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ForbiddenTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC
+
+ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item
+
+ForbiddenLAs-Item ::= SEQUENCE {
+ pLMN-Identity PLMNidentity,
+ forbiddenLACs ForbiddenLACs,
+ iE-Extensions ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ForbiddenLAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC
+
+-- G
+
+GBR-QosInformation ::= SEQUENCE {
+ e-RAB-MaximumBitrateDL BitRate,
+ e-RAB-MaximumBitrateUL BitRate,
+ e-RAB-GuaranteedBitrateDL BitRate,
+ e-RAB-GuaranteedBitrateUL BitRate,
+ iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBR-QosInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for maximum bitrate > 10G bps --
+ { ID id-extended-e-RAB-MaximumBitrateDL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
+ { ID id-extended-e-RAB-MaximumBitrateUL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
+ { ID id-extended-e-RAB-GuaranteedBitrateDL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
+ { ID id-extended-e-RAB-GuaranteedBitrateUL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional},
+ ...}
+
+
+GTP-TEID ::= OCTET STRING (SIZE (4))
+
+GUMMEI ::= SEQUENCE {
+ pLMN-Identity PLMNidentity,
+ mME-Group-ID MME-Group-ID,
+ mME-Code MME-Code,
+ iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GUMMEI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GUMMEIType ::= ENUMERATED {
+ native,
+ mapped,
+ ...,
+ mappedFrom5G
+}
+
+GWContextReleaseIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+-- H
+
+HandoverFlag ::= ENUMERATED {
+ handoverPreparation,
+ ...
+}
+
+
+HandoverRestrictionList ::= SEQUENCE {
+ servingPLMN PLMNidentity,
+ equivalentPLMNs EPLMNs OPTIONAL,
+ forbiddenTAs ForbiddenTAs OPTIONAL,
+ forbiddenLAs ForbiddenLAs OPTIONAL,
+ forbiddenInterRATs ForbiddenInterRATs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NRrestrictioninEPSasSecondaryRAT CRITICALITY ignore EXTENSION NRrestrictioninEPSasSecondaryRAT PRESENCE optional}|
+ { ID id-UnlicensedSpectrumRestriction CRITICALITY ignore EXTENSION UnlicensedSpectrumRestriction PRESENCE optional}|
+ { ID id-CNTypeRestrictions CRITICALITY ignore EXTENSION CNTypeRestrictions PRESENCE optional}|
+ { ID id-NRrestrictionin5GS CRITICALITY ignore EXTENSION NRrestrictionin5GS PRESENCE optional}|
+ { ID id-LastNG-RANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}|
+ { ID id-RAT-Restrictions CRITICALITY ignore EXTENSION RAT-Restrictions PRESENCE optional},
+ ...
+}
+
+HandoverType ::= ENUMERATED {
+ intralte,
+ ltetoutran,
+ ltetogeran,
+ utrantolte,
+ gerantolte,
+ ...,
+ eps-to-5gs,
+ fivegs-to-eps
+}
+
+HFN ::= INTEGER (0..1048575)
+
+HFNModified ::= INTEGER (0..131071)
+
+HFNforPDCP-SNlength18 ::= INTEGER (0..16383)
+
+Hysteresis ::= INTEGER (0..30)
+
+-- I
+
+Masked-IMEISV ::= BIT STRING (SIZE (64))
+
+ImmediateMDT ::= SEQUENCE {
+ measurementsToActivate MeasurementsToActivate,
+ m1reportingTrigger M1ReportingTrigger,
+ m1thresholdeventA2 M1ThresholdEventA2 OPTIONAL,
+-- Included in case of event-triggered, or event-triggered periodic reporting for measurement M1
+ m1periodicReporting M1PeriodicReporting OPTIONAL,
+-- Included in case of periodic or event-triggered periodic reporting
+ iE-Extensions ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ImmediateMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-M3Configuration CRITICALITY ignore EXTENSION M3Configuration PRESENCE conditional}|
+ { ID id-M4Configuration CRITICALITY ignore EXTENSION M4Configuration PRESENCE conditional}|
+ { ID id-M5Configuration CRITICALITY ignore EXTENSION M5Configuration PRESENCE conditional}|
+ { ID id-MDT-Location-Info CRITICALITY ignore EXTENSION MDT-Location-Info PRESENCE optional}|
+ { ID id-M6Configuration CRITICALITY ignore EXTENSION M6Configuration PRESENCE conditional}|
+ { ID id-M7Configuration CRITICALITY ignore EXTENSION M7Configuration PRESENCE conditional}|
+ { ID id-BluetoothMeasurementConfiguration CRITICALITY ignore EXTENSION BluetoothMeasurementConfiguration PRESENCE optional}|
+ { ID id-WLANMeasurementConfiguration CRITICALITY ignore EXTENSION WLANMeasurementConfiguration PRESENCE optional}|
+ { ID id-SensorMeasurementConfiguration CRITICALITY ignore EXTENSION SensorMeasurementConfiguration PRESENCE optional},
+ ...
+}
+
+IMSI ::= OCTET STRING (SIZE (3..8))
+
+InformationOnRecommendedCellsAndENBsForPaging ::= SEQUENCE {
+ recommendedCellsForPaging RecommendedCellsForPaging,
+ recommendENBsForPaging RecommendedENBsForPaging,
+ iE-Extensions ProtocolExtensionContainer { { InformationOnRecommendedCellsAndENBsForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+InformationOnRecommendedCellsAndENBsForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
+
+IntegrityProtectionIndication ::= ENUMERATED {
+ required,
+ preferred,
+ not-needed,
+ ...
+}
+
+IntegrityProtectionResult ::= ENUMERATED {
+ performed,
+ not-performed,
+ ...
+}
+
+IntendedNumberOfPagingAttempts ::= INTEGER (1..16, ...)
+
+InterfacesToTrace ::= BIT STRING (SIZE (8))
+
+IntersystemMeasurementConfiguration ::= SEQUENCE {
+ rSRP INTEGER (0.. 127) OPTIONAL,
+ rSRQ INTEGER (0.. 127) OPTIONAL,
+ sINR INTEGER (0.. 127) OPTIONAL,
+ interSystemMeasurementParameters InterSystemMeasurementParameters,
+ iE-Extensions ProtocolExtensionContainer { { IntersystemMeasurementConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+IntersystemMeasurementConfiguration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InterSystemMeasurementParameters ::= SEQUENCE {
+ measurementDuration INTEGER (1..100),
+ interSystemMeasurementList InterSystemMeasurementList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { InterSystemMeasurementParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+InterSystemMeasurementParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InterSystemMeasurementList ::= SEQUENCE (SIZE(1.. maxnooffrequencies)) OF InterSystemMeasurementItem
+
+InterSystemMeasurementItem ::= SEQUENCE {
+ freqBandIndicatorNR INTEGER (1..1024),
+ sSBfrequencies INTEGER (0..maxNARFCN),
+ subcarrierSpacingSSB ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, ..., kHz480, kHz960},
+ maxRSIndexCellQual INTEGER (1..maxRS-IndexCellQual) OPTIONAL,
+ sMTC OCTET STRING OPTIONAL,
+ threshRS-Index-r15 OCTET STRING OPTIONAL,
+ sSBToMeasure OCTET STRING OPTIONAL,
+ sSRSSIMeasurement OCTET STRING OPTIONAL,
+ quantityConfigNR-R15 OCTET STRING OPTIONAL,
+ excludedCellsToAddModList OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { InterSystemMeasurementItem-ExtIEs} } OPTIONAL
+}
+
+InterSystemMeasurementItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IntersystemSONConfigurationTransfer ::= OCTET STRING
+
+IMSvoiceEPSfallbackfrom5G ::= ENUMERATED {
+ true,
+ ...
+}
+
+IAB-Authorized ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+IAB-Node-Indication ::= ENUMERATED {
+ true,
+ ...
+}
+
+IAB-Supported ::= ENUMERATED {
+ true,
+ ...
+}
+
+-- J
+-- K
+
+KillAllWarningMessages ::= ENUMERATED {true}
+
+-- L
+
+
+LAC ::= OCTET STRING (SIZE (2))
+
+LAI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ lAC LAC,
+ iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LastVisitedCell-Item ::= CHOICE {
+ e-UTRAN-Cell LastVisitedEUTRANCellInformation,
+ uTRAN-Cell LastVisitedUTRANCellInformation,
+ gERAN-Cell LastVisitedGERANCellInformation,
+ ...,
+ nG-RAN-Cell LastVisitedNGRANCellInformation
+}
+LastVisitedEUTRANCellInformation ::= SEQUENCE {
+ global-Cell-ID EUTRAN-CGI,
+ cellType CellType,
+ time-UE-StayedInCell Time-UE-StayedInCell,
+ iE-Extensions ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Rel-11 to support enhanced granularity for time UE stayed in cell --
+ { ID id-Time-UE-StayedInCell-EnhancedGranularity CRITICALITY ignore EXTENSION Time-UE-StayedInCell-EnhancedGranularity PRESENCE optional}|
+ { ID id-HO-Cause CRITICALITY ignore EXTENSION Cause PRESENCE optional}|
+ { ID id-lastVisitedPSCellList CRITICALITY ignore EXTENSION LastVisitedPSCellList PRESENCE optional},
+ ...
+}
+
+LastVisitedPSCellList ::= SEQUENCE (SIZE(1.. maxnoofPSCellsPerPrimaryCellinUEHistoryInfo)) OF LastVisitedPSCellInformation
+
+
+LastVisitedPSCellInformation ::= SEQUENCE {
+ pSCellID PSCellInformation OPTIONAL,
+ timeStay INTEGER (0..40950),
+ iE-Extensions ProtocolExtensionContainer { { LastVisitedPSCellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LastVisitedPSCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LastVisitedNGRANCellInformation ::= OCTET STRING
+
+LastVisitedUTRANCellInformation ::= OCTET STRING
+
+LastVisitedGERANCellInformation ::= CHOICE {
+ undefined NULL,
+ ...
+}
+
+L3-Information ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+LPPa-PDU ::= OCTET STRING
+
+LHN-ID ::= OCTET STRING(SIZE (32..256))
+
+Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}
+
+ListeningSubframePattern ::= SEQUENCE {
+ pattern-period ENUMERATED {ms1280, ms2560, ms5120, ms10240, ...},
+ pattern-offset INTEGER (0..10239, ...),
+ iE-Extensions ProtocolExtensionContainer { { ListeningSubframePattern-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ListeningSubframePattern-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+LoggedMDT ::= SEQUENCE {
+ loggingInterval LoggingInterval,
+ loggingDuration LoggingDuration,
+ iE-Extensions ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LoggedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-BluetoothMeasurementConfiguration CRITICALITY ignore EXTENSION BluetoothMeasurementConfiguration PRESENCE optional}|
+ { ID id-WLANMeasurementConfiguration CRITICALITY ignore EXTENSION WLANMeasurementConfiguration PRESENCE optional}|
+ { ID id-LoggedMDTTrigger CRITICALITY ignore EXTENSION LoggedMDTTrigger PRESENCE optional}|
+ { ID id-SensorMeasurementConfiguration CRITICALITY ignore EXTENSION SensorMeasurementConfiguration PRESENCE optional},
+...
+}
+
+LoggingInterval ::= ENUMERATED {ms1280, ms2560, ms5120, ms10240, ms20480, ms30720, ms40960, ms61440}
+
+LoggingDuration ::= ENUMERATED {m10, m20, m40, m60, m90, m120}
+
+LoggedMBSFNMDT ::= SEQUENCE {
+ loggingInterval LoggingInterval,
+ loggingDuration LoggingDuration,
+ mBSFN-ResultToLog MBSFN-ResultToLog OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { LoggedMBSFNMDT-ExtIEs } } OPTIONAL,
+ ...
+}
+
+LoggedMBSFNMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LoggedMDTTrigger ::= CHOICE{
+ periodical NULL,
+ eventTrigger EventTrigger,
+ ...
+}
+
+LTE-M-Indication ::= ENUMERATED {lte-m, ... }
+
+LTE-NTN-TAI-Information ::= SEQUENCE {
+ servingPLMN PLMNidentity,
+ tACList-In-LTE-NTN TACList-In-LTE-NTN,
+ uE-Location-Derived-TAC TAC OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LTE-NTN-TAI-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LTE-NTN-TAI-Information-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- M
+
+M3Configuration ::= SEQUENCE {
+ m3period M3period,
+ iE-Extensions ProtocolExtensionContainer { { M3Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M3Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M3period ::= ENUMERATED {ms100, ms1000, ms10000, ...,ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, min1 }
+
+M4Configuration ::= SEQUENCE {
+ m4period M4period,
+ m4-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M4Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M4Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+M5Configuration ::= SEQUENCE {
+ m5period M5period,
+ m5-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M5Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M5Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+M6Configuration ::= SEQUENCE {
+ m6report-Interval M6report-Interval,
+ m6delay-threshold M6delay-threshold OPTIONAL,
+-- This IE shall be present if the M6 Links to log IE is set to "uplink" or to "both-uplink-and-downlink" --
+ m6-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M6Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M6report-Interval ::= ENUMERATED { ms1024, ms2048, ms5120, ms10240, ... }
+
+M6delay-threshold ::= ENUMERATED { ms30, ms40, ms50, ms60, ms70, ms80, ms90, ms100, ms150, ms300, ms500, ms750, ... }
+
+M7Configuration ::= SEQUENCE {
+ m7period M7period,
+ m7-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M7Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M7Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M7period ::= INTEGER(1..60, ...)
+
+MDT-Activation ::= ENUMERATED {
+ immediate-MDT-only,
+ immediate-MDT-and-Trace,
+ logged-MDT-only,
+ ...,
+ logged-MBSFN-MDT
+}
+
+MDT-Location-Info ::= BIT STRING (SIZE (8))
+
+MDT-Configuration ::= SEQUENCE {
+ mdt-Activation MDT-Activation,
+ areaScopeOfMDT AreaScopeOfMDT,
+ mDTMode MDTMode,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+MDT-Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SignallingBasedMDTPLMNList CRITICALITY ignore EXTENSION MDTPLMNList PRESENCE optional },
+ ...
+}
+
+ManagementBasedMDTAllowed ::= ENUMERATED {allowed, ...}
+
+MBSFN-ResultToLog ::= SEQUENCE (SIZE(1..maxnoofMBSFNAreaMDT)) OF MBSFN-ResultToLogInfo
+
+MBSFN-ResultToLogInfo ::= SEQUENCE {
+ mBSFN-AreaId INTEGER (0..255) OPTIONAL,
+ carrierFreq EARFCN,
+ iE-Extensions ProtocolExtensionContainer { { MBSFN-ResultToLogInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSFN-ResultToLogInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMNidentity
+
+PrivacyIndicator ::= ENUMERATED {
+ immediate-MDT,
+ logged-MDT,
+ ...
+}
+
+MDTMode ::= CHOICE {
+ immediateMDT ImmediateMDT,
+ loggedMDT LoggedMDT,
+ ...,
+ mDTMode-Extension MDTMode-Extension
+}
+
+MDTMode-Extension ::= ProtocolIE-SingleContainer {{ MDTMode-ExtensionIE }}
+
+MDTMode-ExtensionIE S1AP-PROTOCOL-IES ::= {
+ { ID id-LoggedMBSFNMDT CRITICALITY ignore TYPE LoggedMBSFNMDT PRESENCE mandatory}
+}
+
+MeasurementsToActivate ::= BIT STRING (SIZE (8))
+
+MeasurementThresholdA2 ::= CHOICE {
+ threshold-RSRP Threshold-RSRP,
+ threshold-RSRQ Threshold-RSRQ,
+ ...
+}
+
+MeasurementThresholdL1LoggedMDT ::= CHOICE {
+ threshold-RSRP Threshold-RSRP,
+ threshold-RSRQ Threshold-RSRQ,
+ choice-Extensions ProtocolIE-SingleContainer { { MeasurementThresholdL1LoggedMDT-ExtIEs} }
+}
+
+MeasurementThresholdL1LoggedMDT-ExtIEs S1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+MessageIdentifier ::= BIT STRING (SIZE (16))
+
+MobilityInformation ::= BIT STRING (SIZE(32))
+
+MMEname ::= PrintableString (SIZE (1..150,...))
+
+MMEPagingTarget ::= CHOICE {
+ global-ENB-ID Global-ENB-ID,
+ tAI TAI,
+ ...
+}
+
+MMERelaySupportIndicator ::= ENUMERATED {true, ...}
+
+MME-Group-ID ::= OCTET STRING (SIZE (2))
+
+MME-Code ::= OCTET STRING (SIZE (1))
+
+MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
+M-TMSI ::= OCTET STRING (SIZE (4))
+
+MSClassmark2 ::= OCTET STRING
+MSClassmark3 ::= OCTET STRING
+
+MutingAvailabilityIndication ::= ENUMERATED {
+ available,
+ unavailable,
+ ...
+}
+
+
+MutingPatternInformation ::= SEQUENCE {
+ muting-pattern-period ENUMERATED {ms0, ms1280, ms2560, ms5120, ms10240, ...},
+ muting-pattern-offset INTEGER (0..10239, ...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MutingPatternInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MutingPatternInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDT-ConfigurationNR ::= OCTET STRING
+
+-- N
+
+NAS-PDU ::= OCTET STRING
+
+NASSecurityParametersfromE-UTRAN ::= OCTET STRING
+
+NASSecurityParameterstoE-UTRAN ::= OCTET STRING
+
+NB-IoT-DefaultPagingDRX ::= ENUMERATED {
+ v128,
+ v256,
+ v512,
+ v1024,
+ ...
+ }
+
+NB-IoT-PagingDRX ::= ENUMERATED { v32, v64, v128, v256, v512, v1024,...}
+
+NB-IoT-Paging-eDRXInformation ::= SEQUENCE {
+ nB-IoT-paging-eDRX-Cycle NB-IoT-Paging-eDRX-Cycle,
+ nB-IoT-pagingTimeWindow NB-IoT-PagingTimeWindow OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NB-IoT-Paging-eDRXInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NB-IoT-Paging-eDRXInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NB-IoT-Paging-eDRX-Cycle ::= ENUMERATED{hf2, hf4, hf6, hf8, hf10, hf12, hf14, hf16, hf32, hf64, hf128, hf256, hf512, hf1024, ...}
+
+NB-IoT-PagingTimeWindow ::= ENUMERATED{s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, ...}
+
+NB-IoT-RLF-Report-Container ::= OCTET STRING
+
+NB-IoT-UEIdentityIndexValue ::= BIT STRING (SIZE (12))
+
+NextPagingAreaScope ::= ENUMERATED {
+ same,
+ changed,
+ ...
+}
+
+NotifySourceeNB ::= ENUMERATED {
+ notifySource,
+ ...
+}
+
+NRCellIdentity ::= BIT STRING (SIZE(36))
+
+NR-CGI ::= SEQUENCE {
+ pLMNIdentity PLMNidentity,
+ nRCellIdentity NRCellIdentity,
+ iE-Extensions ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NRencryptionAlgorithms ::= BIT STRING (SIZE (16,...))
+NRintegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
+
+NRrestrictioninEPSasSecondaryRAT ::= ENUMERATED {
+ nRrestrictedinEPSasSecondaryRAT,
+ ...
+}
+
+NRrestrictionin5GS ::= ENUMERATED {
+ nRrestrictedin5GS,
+ ...
+}
+
+NRUESecurityCapabilities ::= SEQUENCE {
+ nRencryptionAlgorithms NRencryptionAlgorithms,
+ nRintegrityProtectionAlgorithms NRintegrityProtectionAlgorithms,
+ iE-Extensions ProtocolExtensionContainer { { NRUESecurityCapabilities-ExtIEs} } OPTIONAL,
+...
+}
+
+NRUESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NumberofBroadcastRequest ::= INTEGER (0..65535)
+
+NumberOfBroadcasts ::= INTEGER (0..65535)
+
+NRV2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+ pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NRV2XServicesAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRV2XServicesAuthorized-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRUESidelinkAggregateMaximumBitrate ::= SEQUENCE {
+ uEaggregateMaximumBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {NRUESidelinkAggregateMaximumBitrate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRUESidelinkAggregateMaximumBitrate-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- O
+OldBSS-ToNewBSS-Information ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+OverloadAction ::= ENUMERATED {
+ reject-non-emergency-mo-dt,
+ reject-rrc-cr-signalling,
+ permit-emergency-sessions-and-mobile-terminated-services-only,
+ ...,
+ permit-high-priority-sessions-and-mobile-terminated-services-only,
+ reject-delay-tolerant-access,
+ permit-high-priority-sessions-and-exception-reporting-and-mobile-terminated-services-only,
+ not-accept-mo-data-or-delay-tolerant-access-from-CP-CIoT
+
+}
+
+OverloadResponse ::= CHOICE {
+ overloadAction OverloadAction,
+ ...
+}
+
+
+-- P
+
+Packet-LossRate ::= INTEGER(0..1000)
+
+PagingAttemptInformation ::= SEQUENCE {
+ pagingAttemptCount PagingAttemptCount,
+ intendedNumberOfPagingAttempts IntendedNumberOfPagingAttempts,
+ nextPagingAreaScope NextPagingAreaScope OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PagingAttemptInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PagingAttemptInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PagingAttemptCount ::= INTEGER (1..16, ...)
+
+Paging-eDRXInformation ::= SEQUENCE {
+ paging-eDRX-Cycle Paging-eDRX-Cycle,
+ pagingTimeWindow PagingTimeWindow OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Paging-eDRXInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Paging-eDRXInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Paging-eDRX-Cycle ::= ENUMERATED{hfhalf, hf1, hf2, hf4, hf6, hf8, hf10, hf12, hf14, hf16, hf32, hf64, hf128, hf256, ...}
+
+PagingTimeWindow ::= ENUMERATED{s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, ...}
+
+PagingDRX ::= ENUMERATED {
+ v32,
+ v64,
+ v128,
+ v256,
+ ...
+ }
+
+PagingPriority ::= ENUMERATED {
+ priolevel1,
+ priolevel2,
+ priolevel3,
+ priolevel4,
+ priolevel5,
+ priolevel6,
+ priolevel7,
+ priolevel8,
+ ...
+}
+
+PagingProbabilityInformation ::= ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p35, p40, p45, p50, p55, p60, p65, p70, p75, p80, p85, p90, p95, p100, ...}
+
+PagingCause::= ENUMERATED {voice, ...}
+
+PC5QoSParameters ::= SEQUENCE {
+ pc5QoSFlowList PC5QoSFlowList,
+ pc5LinkAggregatedBitRates BitRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5QoSParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5QoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofPC5QoSFlows)) OF PC5QoSFlowItem
+
+PC5QoSFlowItem::= SEQUENCE {
+ pQI FiveQI,
+ pc5FlowBitRates PC5FlowBitRates OPTIONAL,
+ range Range OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5QoSFlowItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5QoSFlowItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PC5FlowBitRates ::= SEQUENCE {
+ guaranteedFlowBitRate BitRate,
+ maximumFlowBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { { PC5FlowBitRates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5FlowBitRates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+...
+}
+PDCP-SN ::= INTEGER (0..4095)
+
+PDCP-SNExtended ::= INTEGER (0..32767)
+
+PDCP-SNlength18 ::= INTEGER (0..262143)
+
+PendingDataIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+M1PeriodicReporting ::= SEQUENCE {
+ reportInterval ReportIntervalMDT,
+ reportAmount ReportAmountMDT,
+ iE-Extensions ProtocolExtensionContainer { { M1PeriodicReporting-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1PeriodicReporting-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PLMNidentity ::= TBCD-STRING
+
+PLMNAreaBasedQMC ::= SEQUENCE {
+ plmnListforQMC PLMNListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {PLMNAreaBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLMNAreaBasedQMC-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PLMNListforQMC ::= SEQUENCE (SIZE(1..maxnoofPLMNforQMC)) OF PLMNidentity
+
+Port-Number ::= OCTET STRING (SIZE (2))
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable
+}
+
+PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
+
+ProSeAuthorized ::= SEQUENCE {
+ proSeDirectDiscovery ProSeDirectDiscovery OPTIONAL,
+ proSeDirectCommunication ProSeDirectCommunication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ProSeAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ProSeAuthorized-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ProSeUEtoNetworkRelaying CRITICALITY ignore EXTENSION ProSeUEtoNetworkRelaying PRESENCE optional},
+ ...
+}
+
+ProSeDirectDiscovery ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+ProSeUEtoNetworkRelaying ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+ProSeDirectCommunication ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+PS-ServiceNotAvailable ::= ENUMERATED {
+ ps-service-not-available,
+ ...
+}
+
+PSCellInformation ::= SEQUENCE {
+ nCGI NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { { PSCellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PSCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- Q
+
+QCI ::= INTEGER (0..255)
+
+-- R
+
+RACSIndication ::= ENUMERATED {true, ...}
+
+RAN-UE-NGAP-ID ::= INTEGER (0..4294967295)
+
+Range ::= ENUMERATED {m50, m80, m180, m200, m350, m400, m500, m700, m1000, ...}
+
+ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
+
+ReceiveStatusOfULPDCPSDUsExtended ::= BIT STRING (SIZE(1..16384))
+
+ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ::= BIT STRING (SIZE(1..131072))
+
+RecommendedCellsForPaging ::= SEQUENCE {
+ recommendedCellList RecommendedCellList,
+ iE-Extensions ProtocolExtensionContainer { { RecommendedCellsForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RecommendedCellsForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RecommendedCellList ::= SEQUENCE (SIZE(1.. maxnoofRecommendedCells)) OF ProtocolIE-SingleContainer { { RecommendedCellItemIEs } }
+
+RecommendedCellItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-RecommendedCellItem CRITICALITY ignore TYPE RecommendedCellItem PRESENCE mandatory },
+ ...
+}
+
+RecommendedCellItem::= SEQUENCE {
+ eUTRAN-CGI EUTRAN-CGI,
+ timeStayedInCell INTEGER (0..4095) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RecommendedCellsForPagingItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RecommendedCellsForPagingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RecommendedENBsForPaging ::= SEQUENCE {
+ recommendedENBList RecommendedENBList,
+ iE-Extensions ProtocolExtensionContainer { { RecommendedENBsForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RecommendedENBsForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RecommendedENBList::= SEQUENCE (SIZE(1.. maxnoofRecommendedENBs)) OF ProtocolIE-SingleContainer { { RecommendedENBItemIEs } }
+
+RecommendedENBItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-RecommendedENBItem CRITICALITY ignore TYPE RecommendedENBItem PRESENCE mandatory },
+ ...
+}
+
+RecommendedENBItem ::= SEQUENCE {
+ mMEPagingTarget MMEPagingTarget,
+ iE-Extensions ProtocolExtensionContainer { { RecommendedENBItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RecommendedENBItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RelativeMMECapacity ::= INTEGER (0..255)
+
+RelayNode-Indicator ::= ENUMERATED {
+ true,
+ ...
+}
+
+RAC ::= OCTET STRING (SIZE (1))
+
+RAT-Restrictions ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF RAT-RestrictionsItem
+
+RAT-RestrictionsItem ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ rAT-RestrictionInformation BIT STRING (SIZE(8, ...)),
+ iE-Extensions ProtocolExtensionContainer { { RAT-RestrictionsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAT-RestrictionsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RAT-Type ::= ENUMERATED {
+ nbiot,
+ ...,
+ nbiot-leo,
+ nbiot-meo,
+ nbiot-geo,
+ nbiot-othersat,
+ eutran-leo,
+ eutran-meo,
+ eutran-geo,
+ eutran-othersat
+}
+
+ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity}
+
+ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60}
+
+M1ReportingTrigger ::= ENUMERATED{
+ periodic,
+ a2eventtriggered,
+ ...,
+ a2eventtriggered-periodic
+}
+
+RequestType ::= SEQUENCE {
+ eventType EventType,
+ reportArea ReportArea,
+ iE-Extensions ProtocolExtensionContainer { { RequestType-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RequestTypeAdditionalInfo CRITICALITY ignore EXTENSION RequestTypeAdditionalInfo PRESENCE optional },
+ ...
+}
+
+RequestTypeAdditionalInfo ::= ENUMERATED {
+ includePSCell,
+ ...
+}
+
+RIMTransfer ::= SEQUENCE {
+ rIMInformation RIMInformation,
+ rIMRoutingAddress RIMRoutingAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RIMTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RIMInformation ::= OCTET STRING
+
+RIMRoutingAddress ::= CHOICE {
+ gERAN-Cell-ID GERAN-Cell-ID,
+ ...,
+ targetRNC-ID TargetRNC-ID,
+ eHRPD-Sector-ID OCTET STRING (SIZE(16))
+}
+
+ReportArea ::= ENUMERATED {
+ ecgi,
+ ...
+}
+
+RepetitionPeriod ::= INTEGER (0..4095)
+
+RLFReportInformation ::= SEQUENCE {
+ uE-RLF-Report-Container UE-RLF-Report-Container,
+ uE-RLF-Report-Container-for-extended-bands UE-RLF-Report-Container-for-extended-bands OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{ RLFReportInformation-ExtIEs}} OPTIONAL,
+ ...
+}
+
+RLFReportInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-NB-IoT-RLF-Report-Container CRITICALITY ignore EXTENSION NB-IoT-RLF-Report-Container PRESENCE optional},
+ ...
+}
+
+RNC-ID ::= INTEGER (0..4095)
+
+RRC-Container ::= OCTET STRING
+
+RRC-Establishment-Cause ::= ENUMERATED {
+ emergency,
+ highPriorityAccess,
+ mt-Access,
+ mo-Signalling,
+ mo-Data,
+ ...,
+ delay-TolerantAccess,
+ mo-VoiceCall,
+ mo-ExceptionData
+}
+
+ECGIListForRestart ::= SEQUENCE (SIZE(1..maxnoofCellsforRestart)) OF EUTRAN-CGI
+
+Routing-ID ::= INTEGER (0..255)
+
+-- S
+
+
+SecurityKey ::= BIT STRING (SIZE(256))
+
+
+
+SecurityContext ::= SEQUENCE {
+ nextHopChainingCount INTEGER (0..7),
+ nextHopParameter SecurityKey,
+ iE-Extensions ProtocolExtensionContainer { { SecurityContext-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+SecurityContext-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecondaryRATType ::= ENUMERATED {
+ nR,
+ ...,
+ unlicensed
+}
+
+
+SecondaryRATDataUsageRequest ::= ENUMERATED {
+ requested,
+ ...
+}
+
+SecondaryRATDataUsageReportList ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {SecondaryRATDataUsageReportItemIEs} }
+
+SecondaryRATDataUsageReportItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-SecondaryRATDataUsageReportItem CRITICALITY ignore TYPE SecondaryRATDataUsageReportItem PRESENCE mandatory },
+ ...
+}
+
+SecondaryRATDataUsageReportItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ secondaryRATType SecondaryRATType,
+ e-RABUsageReportList E-RABUsageReportList,
+ iE-Extensions ProtocolExtensionContainer { { SecondaryRATDataUsageReportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecondaryRATDataUsageReportItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityIndication ::= SEQUENCE {
+ integrityProtectionIndication IntegrityProtectionIndication,
+ iE-Extensions ProtocolExtensionContainer { { SecurityIndication-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SecurityIndication-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityResult ::= SEQUENCE {
+ integrityProtectionResult IntegrityProtectionResult,
+ iE-Extensions ProtocolExtensionContainer { {SecurityResult-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityResult-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorMeasConfig::= ENUMERATED {setup,...}
+
+SensorMeasConfigNameItem ::= SEQUENCE {
+ sensorNameConfig SensorNameConfig,
+ iE-Extensions ProtocolExtensionContainer { { SensorMeasConfigNameItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SensorMeasConfigNameItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofSensorName)) OF SensorMeasConfigNameItem
+
+SensorMeasurementConfiguration ::= SEQUENCE {
+ sensorMeasConfig SensorMeasConfig,
+ sensorMeasConfigNameList SensorMeasConfigNameList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SensorMeasurementConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SensorMeasurementConfiguration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorNameConfig ::= CHOICE {
+ uncompensatedBarometricConfig ENUMERATED {true, ...},
+ choice-Extensions ProtocolIE-SingleContainer { {SensorNameConfig-ExtIEs} }
+}
+
+SensorNameConfig-ExtIEs S1AP-PROTOCOL-IES ::= {
+ ...
+}
+
+SerialNumber ::= BIT STRING (SIZE (16))
+
+ServiceType ::= ENUMERATED{
+ qMC-for-streaming-service,
+ qMC-for-MTSI-service,
+ ...
+}
+
+SONInformation ::= CHOICE{
+ sONInformationRequest SONInformationRequest,
+ sONInformationReply SONInformationReply,
+ ...,
+ sONInformation-Extension SONInformation-Extension
+}
+
+SONInformation-Extension ::= ProtocolIE-SingleContainer {{ SONInformation-ExtensionIE }}
+
+SONInformation-ExtensionIE S1AP-PROTOCOL-IES ::= {
+ { ID id-SON-Information-Report CRITICALITY ignore TYPE SONInformationReport PRESENCE mandatory}
+}
+
+SONInformationRequest ::= ENUMERATED {
+ x2TNL-Configuration-Info,
+ ...,
+ time-Synchronisation-Info,
+ activate-Muting,
+ deactivate-Muting}
+
+SONInformationReply ::= SEQUENCE {
+ x2TNLConfigurationInfo X2TNLConfigurationInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{SONInformationReply-ExtIEs}} OPTIONAL,
+ ...
+}
+
+SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 9 to transfer Time synchronisation information --
+ {ID id-Time-Synchronisation-Info CRITICALITY ignore EXTENSION TimeSynchronisationInfo PRESENCE optional},
+ ...,
+ {ID id-Muting-Pattern-Information CRITICALITY ignore EXTENSION MutingPatternInformation PRESENCE optional}
+}
+
+SONInformationReport ::= CHOICE{
+ rLFReportInformation RLFReportInformation,
+ ...
+}
+
+SONConfigurationTransfer ::= SEQUENCE {
+ targeteNB-ID TargeteNB-ID,
+ sourceeNB-ID SourceeNB-ID,
+ sONInformation SONInformation,
+ iE-Extensions ProtocolExtensionContainer { { SONConfigurationTransfer-ExtIEs} } OPTIONAL,
+...
+}
+
+SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 10 to transfer the IP addresses of the eNB initiating the ANR action --
+ {ID id-x2TNLConfigurationInfo CRITICALITY ignore EXTENSION X2TNLConfigurationInfo PRESENCE conditional
+ -- This IE shall be present if the SON Information IE contains the SON Information Request IE and the SON Information Request IE is set to "X2TNL Configuration Info" --}|
+-- Extension for Release 12 to transfer information concerning the source cell of synchronisation and the aggressor cell --
+ {ID id-Synchronisation-Information CRITICALITY ignore EXTENSION SynchronisationInformation PRESENCE conditional
+ -- This IE shall be present if the SON Information IE contains the SON Information Request IE set to " Activate Muting " --},
+ ...
+}
+
+
+SynchronisationInformation ::= SEQUENCE {
+ sourceStratumLevel StratumLevel OPTIONAL,
+ listeningSubframePattern ListeningSubframePattern OPTIONAL,
+ aggressoreCGI-List ECGI-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SynchronisationInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SynchronisationInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Source-ToTarget-TransparentContainer ::= OCTET STRING
+-- This IE includes a transparent container from the source RAN node to the target RAN node.
+-- The octets of the OCTET STRING are encoded according to the specifications of the target system.
+
+SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+SourceeNB-ID ::= SEQUENCE {
+ global-ENB-ID Global-ENB-ID,
+ selected-TAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {SourceeNB-ID-ExtIEs} } OPTIONAL
+}
+
+SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRVCCOperationNotPossible ::= ENUMERATED {
+ notPossible,
+ ...
+}
+
+SRVCCOperationPossible ::= ENUMERATED {
+ possible,
+ ...
+}
+
+SRVCCHOIndication ::= ENUMERATED {
+ pSandCS,
+ cSonly,
+ ...
+}
+
+SourceNodeID ::= CHOICE {
+ sourceNgRanNode-ID SourceNgRanNode-ID,
+ sourceNodeID-Extension SourceNodeID-Extension
+}
+
+SourceNodeID-Extension ::= ProtocolIE-SingleContainer {{ SourceNodeID-ExtensionIE }}
+
+SourceNodeID-ExtensionIE S1AP-PROTOCOL-IES ::= {
+...
+}
+
+SourceeNB-ToTargeteNB-TransparentContainer ::= SEQUENCE {
+ rRC-Container RRC-Container,
+ e-RABInformationList E-RABInformationList OPTIONAL,
+ targetCell-ID EUTRAN-CGI,
+ subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL,
+ uE-HistoryInformation UE-HistoryInformation,
+ iE-Extensions ProtocolExtensionContainer { {SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-MobilityInformation CRITICALITY ignore EXTENSION MobilityInformation PRESENCE optional}|
+ {ID id-uE-HistoryInformationFromTheUE CRITICALITY ignore EXTENSION UE-HistoryInformationFromTheUE PRESENCE optional}|
+ {ID id-IMSvoiceEPSfallbackfrom5G CRITICALITY ignore EXTENSION IMSvoiceEPSfallbackfrom5G PRESENCE optional}|
+ {ID id-AdditionalRRMPriorityIndex CRITICALITY ignore EXTENSION AdditionalRRMPriorityIndex PRESENCE optional}|
+ {ID id-ContextatSource CRITICALITY ignore EXTENSION ContextatSource PRESENCE optional}|
+ {ID id-IntersystemMeasurementConfiguration CRITICALITY ignore EXTENSION IntersystemMeasurementConfiguration PRESENCE optional}|
+ {ID id-SourceNodeID CRITICALITY ignore EXTENSION SourceNodeID PRESENCE optional}|
+ {ID id-EmergencyIndicator CRITICALITY ignore EXTENSION EmergencyIndicator PRESENCE optional}|
+ {ID id-UEContextReferenceatSourceeNB CRITICALITY ignore EXTENSION ENB-UE-S1AP-ID PRESENCE optional}|
+ {ID id-SourceSNID CRITICALITY ignore EXTENSION Global-RAN-NODE-ID PRESENCE optional}|
+ {ID id-Direct-Forwarding-Path-Availability CRITICALITY ignore EXTENSION Direct-Forwarding-Path-Availability PRESENCE optional},
+ ...
+}
+
+SourceNgRanNode-ID ::= SEQUENCE {
+ global-RAN-NODE-ID Global-RAN-NODE-ID,
+ selected-TAI FiveGSTAI,
+ iE-Extensions ProtocolExtensionContainer { { SourceNgRanNode-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SourceNgRanNode-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+SourceNgRanNode-ToTargetNgRanNode-TransparentContainer ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem
+
+ServedGUMMEIsItem ::= SEQUENCE {
+ servedPLMNs ServedPLMNs,
+ servedGroupIDs ServedGroupIDs,
+ servedMMECs ServedMMECs,
+ iE-Extensions ProtocolExtensionContainer { {ServedGUMMEIsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedGUMMEIsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-GUMMEIType CRITICALITY ignore EXTENSION GUMMEIType PRESENCE optional},
+ ...
+}
+
+ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID
+ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code
+
+ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity
+
+SubscriberProfileIDforRFP ::= INTEGER (1..256)
+
+Subscription-Based-UE-DifferentiationInfo ::= SEQUENCE {
+ periodicCommunicationIndicator ENUMERATED {periodically, ondemand, ...} OPTIONAL,
+ periodicTime INTEGER (1..3600, ...) OPTIONAL,
+ scheduledCommunicationTime ScheduledCommunicationTime OPTIONAL,
+ stationaryIndication ENUMERATED {stationary, mobile, ...} OPTIONAL,
+ trafficProfile ENUMERATED {single-packet, dual-packets, multiple-packets, ...} OPTIONAL,
+ batteryIndication ENUMERATED {battery-powered, battery-powered-not-rechargeable-or-replaceable, not-battery-powered, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Subscription-Based-UE-DifferentiationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Subscription-Based-UE-DifferentiationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ScheduledCommunicationTime ::= SEQUENCE {
+ dayofWeek BIT STRING (SIZE(7)) OPTIONAL,
+ timeofDayStart INTEGER (0..86399, ...) OPTIONAL,
+ timeofDayEnd INTEGER (0..86399, ...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ScheduledCommunicationTime-ExtIEs}} OPTIONAL,
+ ...
+}
+
+ScheduledCommunicationTime-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item
+
+SupportedTAs-Item ::= SEQUENCE {
+ tAC TAC,
+ broadcastPLMNs BPLMNs,
+ iE-Extensions ProtocolExtensionContainer { {SupportedTAs-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SupportedTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ -- Extension for Release 13 to transfer RAT-Type per TAC --
+ {ID id-RAT-Type CRITICALITY reject EXTENSION RAT-Type PRESENCE optional},
+ ...
+}
+
+StratumLevel ::= INTEGER (0..3, ...)
+
+SynchronisationStatus ::= ENUMERATED { synchronous, asynchronous, ... }
+
+TimeSynchronisationInfo ::= SEQUENCE {
+ stratumLevel StratumLevel,
+ synchronisationStatus SynchronisationStatus,
+ iE-Extensions ProtocolExtensionContainer { { TimeSynchronisationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TimeSynchronisationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ -- Extension for Release 12 to transfer Muting Availability Indication --
+ {ID id-Muting-Availability-Indication CRITICALITY ignore EXTENSION MutingAvailabilityIndication PRESENCE optional},
+ ...
+}
+
+S-TMSI ::= SEQUENCE {
+ mMEC MME-Code,
+ m-TMSI M-TMSI,
+ iE-Extensions ProtocolExtensionContainer { {S-TMSI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+S-TMSI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- T
+
+TAC ::= OCTET STRING (SIZE (2))
+
+TACList-In-LTE-NTN ::= SEQUENCE (SIZE(1..maxnoofTACsInNTN)) OF TAC
+
+TAIBasedMDT ::= SEQUENCE {
+ tAIListforMDT TAIListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {TAIBasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBasedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAI
+
+TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI
+
+TAI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ tAC TAC,
+ iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item
+
+TAI-Broadcast-Item ::= SEQUENCE {
+ tAI TAI,
+ completedCellinTAI CompletedCellinTAI,
+ iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAI-Cancelled ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Cancelled-Item
+
+TAI-Cancelled-Item ::= SEQUENCE {
+ tAI TAI,
+ cancelledCellinTAI CancelledCellinTAI,
+ iE-Extensions ProtocolExtensionContainer { {TAI-Cancelled-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TABasedMDT ::= SEQUENCE {
+ tAListforMDT TAListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TABasedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC
+
+TABasedQMC ::= SEQUENCE {
+ tAListforQMC TAListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {TABasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TABasedQMC-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAC
+
+TAIBasedQMC ::= SEQUENCE {
+ tAIListforQMC TAIListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {TAIBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBasedQMC-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAI
+
+CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item
+
+CompletedCellinTAI-Item ::= SEQUENCE{
+ eCGI EUTRAN-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CompletedCellinTAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompletedCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TBCD-STRING ::= OCTET STRING (SIZE (3))
+
+TargetID ::= CHOICE {
+ targeteNB-ID TargeteNB-ID,
+ targetRNC-ID TargetRNC-ID,
+ cGI CGI,
+ ...,
+ targetgNgRanNode-ID TargetNgRanNode-ID
+}
+
+TargeteNB-ID ::= SEQUENCE {
+ global-ENB-ID Global-ENB-ID,
+ selected-TAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargeteNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargetRNC-ID ::= SEQUENCE {
+ lAI LAI,
+ rAC RAC OPTIONAL,
+ rNC-ID RNC-ID,
+ extendedRNC-ID ExtendedRNC-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+
+TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TargetNgRanNode-ID ::= SEQUENCE {
+ global-RAN-NODE-ID Global-RAN-NODE-ID,
+ selected-TAI FiveGSTAI,
+ iE-Extensions ProtocolExtensionContainer { { TargetNgRanNode-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetNgRanNode-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Global-RAN-NODE-ID::= CHOICE {
+ gNB GNB,
+ ng-eNB NG-eNB,
+ ...
+}
+
+GNB ::= SEQUENCE {
+ global-gNB-ID Global-GNB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GNB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GNB-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Global-GNB-ID ::= SEQUENCE {
+ pLMN-Identity PLMNidentity,
+ gNB-ID GNB-Identity,
+ iE-Extensions ProtocolExtensionContainer { { Global-GNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Global-GNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-Identity ::= CHOICE {
+ gNB-ID GNB-ID,
+ ...
+}
+
+NG-eNB ::= SEQUENCE {
+ global-ng-eNB-ID Global-ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { { NG-eNB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NG-eNB-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-ID ::= BIT STRING (SIZE(22..32))
+
+TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE {
+ rRC-Container RRC-Container,
+ iE-Extensions ProtocolExtensionContainer { {TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-DAPSResponseInfoList CRITICALITY ignore EXTENSION DAPSResponseInfoList PRESENCE optional}|
+ { ID id-RACSIndication CRITICALITY ignore EXTENSION RACSIndication PRESENCE optional }|
+ { ID id-E-RABSecurityResultList CRITICALITY ignore EXTENSION E-RABSecurityResultList PRESENCE optional}|
+ { ID id-Direct-Forwarding-Path-Availability CRITICALITY ignore EXTENSION Direct-Forwarding-Path-Availability PRESENCE optional },
+ ...
+}
+
+Target-ToSource-TransparentContainer ::= OCTET STRING
+-- This IE includes a transparent container from the target RAN node to the source RAN node.
+-- The octets of the OCTET STRING are coded according to the specifications of the target system.
+
+TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+TargetNgRanNode-ToSourceNgRanNode-TransparentContainer ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+M1ThresholdEventA2 ::= SEQUENCE {
+ measurementThreshold MeasurementThresholdA2,
+ iE-Extensions ProtocolExtensionContainer { { M1ThresholdEventA2-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1ThresholdEventA2-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Threshold-RSRP ::= INTEGER(0..97)
+
+Threshold-RSRQ ::= INTEGER(0..34)
+
+TimeToTrigger ::= ENUMERATED {ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256, ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, ms5120}
+
+TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
+
+Time-UE-StayedInCell ::= INTEGER (0..4095)
+
+Time-UE-StayedInCell-EnhancedGranularity ::= INTEGER (0..40950)
+
+TimeSinceSecondaryNodeRelease ::= OCTET STRING (SIZE(4))
+
+TransportInformation ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ uL-GTP-TEID GTP-TEID,
+ ...
+}
+
+TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
+
+TraceActivation ::= SEQUENCE {
+ e-UTRAN-Trace-ID E-UTRAN-Trace-ID,
+ interfacesToTrace InterfacesToTrace,
+traceDepth TraceDepth,
+traceCollectionEntityIPAddress TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { TraceActivation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Rel-10 to support MDT --
+ { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional }|
+-- Extension for Rel-15 to support QMC --
+ { ID id-UEAppLayerMeasConfig CRITICALITY ignore EXTENSION UEAppLayerMeasConfig PRESENCE optional }|
+ { ID id-MDTConfigurationNR CRITICALITY ignore EXTENSION MDT-ConfigurationNR PRESENCE optional }|
+ { ID id-TraceCollectionEntityURI CRITICALITY ignore EXTENSION URI-Address PRESENCE optional },
+ ...
+}
+
+TraceDepth ::= ENUMERATED {
+ minimum,
+ medium,
+ maximum,
+ minimumWithoutVendorSpecificExtension,
+ mediumWithoutVendorSpecificExtension,
+ maximumWithoutVendorSpecificExtension,
+ ...
+}
+
+E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8))
+
+TrafficLoadReductionIndication ::= INTEGER (1..99)
+
+TunnelInformation ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ uDP-Port-Number Port-Number OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Tunnel-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Tunnel-Information-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+TAIListForRestart ::= SEQUENCE (SIZE(1..maxnoofRestartTAIs)) OF TAI
+
+-- U
+
+UEAggregateMaximumBitrate ::= SEQUENCE {
+ uEaggregateMaximumBitRateDL BitRate,
+ uEaggregateMaximumBitRateUL BitRate,
+ iE-Extensions ProtocolExtensionContainer { {UEAggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for maximum bitrate > 10G bps --
+ { ID id-extended-uEaggregateMaximumBitRateDL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
+ { ID id-extended-uEaggregateMaximumBitRateUL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional},
+ ...
+}
+
+UEAppLayerMeasConfig ::= SEQUENCE {
+ containerForAppLayerMeasConfig OCTET STRING (SIZE(1..1000)),
+ areaScopeOfQMC AreaScopeOfQMC,
+ iE-Extensions ProtocolExtensionContainer { {UEAppLayerMeasConfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAppLayerMeasConfig-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-serviceType CRITICALITY ignore EXTENSION ServiceType PRESENCE optional},
+ ...
+}
+
+UECapabilityInfoRequest ::= ENUMERATED {
+ requested,
+ ...
+}
+
+UE-RetentionInformation ::= ENUMERATED {
+ ues-retained,
+ ...}
+
+UE-S1AP-IDs ::= CHOICE{
+ uE-S1AP-ID-pair UE-S1AP-ID-pair,
+ mME-UE-S1AP-ID MME-UE-S1AP-ID,
+ ...
+}
+
+UE-S1AP-ID-pair ::= SEQUENCE{
+ mME-UE-S1AP-ID MME-UE-S1AP-ID,
+ eNB-UE-S1AP-ID ENB-UE-S1AP-ID,
+ iE-Extensions ProtocolExtensionContainer { {UE-S1AP-ID-pair-ExtIEs} } OPTIONAL,
+ ...
+}
+UE-S1AP-ID-pair-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE {
+ mME-UE-S1AP-ID MME-UE-S1AP-ID OPTIONAL,
+ eNB-UE-S1AP-ID ENB-UE-S1AP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalS1-ConnectionItemExtIEs} } OPTIONAL,
+ ...
+}
+
+
+UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEIdentityIndexValue ::= BIT STRING (SIZE (10))
+
+UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCellsinUEHistoryInfo)) OF LastVisitedCell-Item
+
+UE-HistoryInformationFromTheUE ::= OCTET STRING
+
+UEPagingID ::= CHOICE {
+ s-TMSI S-TMSI,
+ iMSI IMSI,
+ ...
+ }
+
+UERadioCapability ::= OCTET STRING
+
+UERadioCapabilityForPaging ::= OCTET STRING
+
+UERadioCapabilityID ::= OCTET STRING
+
+UE-RLF-Report-Container ::= OCTET STRING
+
+UE-RLF-Report-Container-for-extended-bands ::= OCTET STRING
+
+UESecurityCapabilities ::= SEQUENCE {
+ encryptionAlgorithms EncryptionAlgorithms,
+ integrityProtectionAlgorithms IntegrityProtectionAlgorithms,
+ iE-Extensions ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} } OPTIONAL,
+...
+}
+
+UESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UESidelinkAggregateMaximumBitrate ::= SEQUENCE {
+ uESidelinkAggregateMaximumBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {UE-Sidelink-Aggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-Sidelink-Aggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-Usage-Type ::= INTEGER (0..255)
+
+UL-CP-SecurityInformation ::= SEQUENCE {
+ ul-NAS-MAC UL-NAS-MAC,
+ ul-NAS-Count UL-NAS-Count,
+ iE-Extensions ProtocolExtensionContainer { { UL-CP-SecurityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-CP-SecurityInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-NAS-MAC ::= BIT STRING (SIZE (16))
+
+UL-NAS-Count ::= BIT STRING (SIZE (5))
+
+UnlicensedSpectrumRestriction ::= ENUMERATED {
+ unlicensed-restricted,
+ ...
+}
+
+
+URI-Address ::= VisibleString
+
+UserLocationInformation ::= SEQUENCE {
+ eutran-cgi EUTRAN-CGI,
+ tai TAI,
+ iE-Extensions ProtocolExtensionContainer { { UserLocationInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UserLocationInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-PSCellInformation CRITICALITY ignore EXTENSION PSCellInformation PRESENCE optional}|
+ { ID id-LTE-NTN-TAI-Information CRITICALITY ignore EXTENSION LTE-NTN-TAI-Information PRESENCE optional},
+ ...
+}
+
+UEUserPlaneCIoTSupportIndicator ::= ENUMERATED {
+ supported,
+ ...
+}
+
+UE-Application-Layer-Measurement-Capability ::= BIT STRING (SIZE (8))
+
+-- First bit: QoE Measurement for streaming service
+-- Second bit: QoE Measurement for MTSI service
+
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+-- V
+
+VoiceSupportMatchIndicator ::= ENUMERATED {
+ supported,
+ not-supported,
+ ...
+}
+
+V2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+ pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {V2XServicesAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+V2XServicesAuthorized-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+VehicleUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+PedestrianUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+-- W
+
+WarningAreaCoordinates ::= OCTET STRING (SIZE(1..1024))
+
+WarningAreaList ::= CHOICE {
+ cellIDList ECGIList,
+ trackingAreaListforWarning TAIListforWarning,
+ emergencyAreaIDList EmergencyAreaIDList,
+ ...
+}
+
+
+WarningType ::= OCTET STRING (SIZE (2))
+
+WarningSecurityInfo ::= OCTET STRING (SIZE (50))
+
+
+WarningMessageContents ::= OCTET STRING (SIZE(1..9600))
+
+WLANMeasurementConfiguration ::= SEQUENCE {
+ wlanMeasConfig WLANMeasConfig,
+ wlanMeasConfigNameList WLANMeasConfigNameList OPTIONAL,
+ wlan-rssi ENUMERATED {true, ...} OPTIONAL,
+ wlan-rtt ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasurementConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+WLANMeasurementConfiguration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLANMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofWLANName)) OF WLANName
+
+WLANMeasConfig::= ENUMERATED {setup,...}
+
+WLANName ::= OCTET STRING (SIZE (1..32))
+
+WUS-Assistance-Information ::= SEQUENCE {
+ pagingProbabilityInformation PagingProbabilityInformation,
+ iE-Extensions ProtocolExtensionContainer { { WUS-Assistance-Information-ExtIEs } } OPTIONAL,
+ ...
+}
+
+WUS-Assistance-Information-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- X
+
+
+X2TNLConfigurationInfo ::= SEQUENCE {
+ eNBX2TransportLayerAddresses ENBX2TLAs,
+ iE-Extensions ProtocolExtensionContainer { { X2TNLConfigurationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 10 to transfer the IPsec and U-plane addresses during ANR action --
+ {ID id-eNBX2ExtendedTransportLayerAddresses CRITICALITY ignore EXTENSION ENBX2ExtTLAs PRESENCE optional}|
+-- Extension for Release 12 to transfer the IP addresses of the X2 GW --
+ {ID id-eNBIndirectX2TransportLayerAddresses CRITICALITY ignore EXTENSION ENBIndirectX2TransportLayerAddresses PRESENCE optional},
+ ...
+}
+
+ENBX2ExtTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2ExtTLAs)) OF ENBX2ExtTLA
+
+ENBX2ExtTLA ::= SEQUENCE {
+ iPsecTLA TransportLayerAddress OPTIONAL,
+ gTPTLAa ENBX2GTPTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ENBX2ExtTLA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ENBX2ExtTLA-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ENBX2GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2GTPTLAs)) OF TransportLayerAddress
+
+ENBIndirectX2TransportLayerAddresses ::= SEQUENCE (SIZE(1..maxnoofeNBX2TLAs)) OF TransportLayerAddress
+
+-- Y
+-- Z
+
+END
diff --git a/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn b/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn
new file mode 100644
index 00000000..f781fd7a
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn
@@ -0,0 +1,3370 @@
+-- 3GPP TS 36.413 V17.5.0 (2023-06)
+-- 9.3.3 PDU Definitions
+-- **************************************************************
+--
+-- PDU definitions for S1AP.
+--
+-- **************************************************************
+
+S1AP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ UEAggregateMaximumBitrate,
+ BearerType,
+ Cause,
+ CellAccessMode,
+ Cdma2000HORequiredIndication,
+ Cdma2000HOStatus,
+ Cdma2000OneXSRVCCInfo,
+ Cdma2000OneXRAND,
+ Cdma2000PDU,
+ Cdma2000RATType,
+ Cdma2000SectorID,
+ EUTRANRoundTripDelayEstimationInfo,
+ CNDomain,
+ ConcurrentWarningMessageIndicator,
+ CriticalityDiagnostics,
+ CSFallbackIndicator,
+ CSG-Id,
+ CSG-IdList,
+ CSGMembershipStatus,
+ Data-Forwarding-Not-Possible,
+ Direct-Forwarding-Path-Availability,
+ Global-ENB-ID,
+ EUTRAN-CGI,
+ ENBname,
+ ENB-StatusTransfer-TransparentContainer,
+ ENB-UE-S1AP-ID,
+ ExtendedRepetitionPeriod,
+ GTP-TEID,
+ GUMMEI,
+ GUMMEIType,
+ HandoverRestrictionList,
+ HandoverType,
+ Masked-IMEISV,
+ LAI,
+ LPPa-PDU,
+ ManagementBasedMDTAllowed,
+ MDTPLMNList,
+ MMEname,
+ MMERelaySupportIndicator,
+ MME-UE-S1AP-ID,
+ MSClassmark2,
+ MSClassmark3,
+ NAS-PDU,
+ NASSecurityParametersfromE-UTRAN,
+ NASSecurityParameterstoE-UTRAN,
+ OverloadResponse,
+ PagingDRX,
+ PagingPriority,
+ PLMNidentity,
+ ProSeAuthorized,
+ RIMTransfer,
+ RelativeMMECapacity,
+ RequestType,
+ E-RAB-ID,
+ E-RABLevelQoSParameters,
+ E-RABList,
+ RelayNode-Indicator,
+ Routing-ID,
+ SecurityKey,
+ SecurityContext,
+ ServedGUMMEIs,
+ SONConfigurationTransfer,
+ Source-ToTarget-TransparentContainer,
+ SourceBSS-ToTargetBSS-TransparentContainer,
+ SourceeNB-ToTargeteNB-TransparentContainer,
+ SourceRNC-ToTargetRNC-TransparentContainer,
+ SubscriberProfileIDforRFP,
+ SRVCCOperationNotPossible,
+ SRVCCOperationPossible,
+ SRVCCHOIndication,
+ SupportedTAs,
+ TAI,
+ Target-ToSource-TransparentContainer,
+ TargetBSS-ToSourceBSS-TransparentContainer,
+ TargeteNB-ToSourceeNB-TransparentContainer,
+ TargetID,
+ TargetRNC-ToSourceRNC-TransparentContainer,
+ TimeToWait,
+ TraceActivation,
+ TrafficLoadReductionIndication,
+ E-UTRAN-Trace-ID,
+ TransportLayerAddress,
+ UEIdentityIndexValue,
+ UEPagingID,
+ UERadioCapability,
+ UERadioCapabilityForPaging,
+ UE-RetentionInformation,
+ UE-S1AP-IDs,
+ UE-associatedLogicalS1-ConnectionItem,
+ UESecurityCapabilities,
+ S-TMSI,
+ MessageIdentifier,
+ SerialNumber,
+ WarningAreaList,
+ RepetitionPeriod,
+ NumberofBroadcastRequest,
+ WarningType,
+ WarningSecurityInfo,
+ DataCodingScheme,
+ WarningMessageContents,
+ BroadcastCompletedAreaList,
+ RRC-Establishment-Cause,
+ BroadcastCancelledAreaList,
+ PS-ServiceNotAvailable,
+ GUMMEIList,
+ Correlation-ID,
+ GWContextReleaseIndication,
+ PrivacyIndicator,
+ VoiceSupportMatchIndicator,
+ TunnelInformation,
+ KillAllWarningMessages,
+ TransportInformation,
+ LHN-ID,
+ UserLocationInformation,
+ AdditionalCSFallbackIndicator,
+ ECGIListForRestart,
+ TAIListForRestart,
+ EmergencyAreaIDListForRestart,
+ ExpectedUEBehaviour,
+ Paging-eDRXInformation,
+ Extended-UEIdentityIndexValue,
+ MME-Group-ID,
+ Additional-GUTI,
+ PWSfailedECGIList,
+ CellIdentifierAndCELevelForCECapableUEs,
+ AssistanceDataForPaging,
+ InformationOnRecommendedCellsAndENBsForPaging,
+ UE-Usage-Type,
+ UEUserPlaneCIoTSupportIndicator,
+ NB-IoT-DefaultPagingDRX,
+ NB-IoT-Paging-eDRXInformation,
+ CE-mode-B-SupportIndicator,
+ NB-IoT-UEIdentityIndexValue,
+ V2XServicesAuthorized,
+ DCN-ID,
+ ServedDCNs,
+ UESidelinkAggregateMaximumBitrate,
+ DLNASPDUDeliveryAckRequest,
+ Coverage-Level,
+ EnhancedCoverageRestricted,
+ DL-CP-SecurityInformation,
+ UL-CP-SecurityInformation,
+ SecondaryRATDataUsageRequest,
+ SecondaryRATDataUsageReportList,
+ HandoverFlag,
+ NRUESecurityCapabilities,
+ UE-Application-Layer-Measurement-Capability,
+ CE-ModeBRestricted,
+ Packet-LossRate,
+ UECapabilityInfoRequest,
+ SourceNgRanNode-ToTargetNgRanNode-TransparentContainer,
+ TargetNgRanNode-ToSourceNgRanNode-TransparentContainer,
+ EndIndication,
+ EDT-Session,
+ LTE-M-Indication,
+ AerialUEsubscriptionInformation,
+ PendingDataIndication,
+ WarningAreaCoordinates,
+ Subscription-Based-UE-DifferentiationInfo,
+ PSCellInformation,
+ NR-CGI,
+ ConnectedengNBList,
+ EN-DCSONConfigurationTransfer,
+ TimeSinceSecondaryNodeRelease,
+ AdditionalRRMPriorityIndex,
+ IAB-Authorized,
+ IAB-Node-Indication,
+ IAB-Supported,
+ DataSize,
+ Ethernet-Type,
+ NRV2XServicesAuthorized,
+ NRUESidelinkAggregateMaximumBitrate,
+ PC5QoSParameters,
+ IntersystemSONConfigurationTransfer,
+ UERadioCapabilityID,
+ NotifySourceeNB,
+ ENB-EarlyStatusTransfer-TransparentContainer,
+ WUS-Assistance-Information,
+ NB-IoT-PagingDRX,
+ PagingCause,
+ SecurityIndication,
+ SecurityResult,
+ LTE-NTN-TAI-Information
+
+
+
+
+FROM S1AP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-ContainerPairList{},
+ ProtocolIE-SingleContainer{},
+ S1AP-PRIVATE-IES,
+ S1AP-PROTOCOL-EXTENSION,
+ S1AP-PROTOCOL-IES,
+ S1AP-PROTOCOL-IES-PAIR
+FROM S1AP-Containers
+
+
+ id-AssistanceDataForPaging,
+ id-AerialUEsubscriptionInformation,
+ id-uEaggregateMaximumBitrate,
+ id-BearerType,
+ id-Cause,
+ id-CellAccessMode,
+ id-CellIdentifierAndCELevelForCECapableUEs,
+ id-cdma2000HORequiredIndication,
+ id-cdma2000HOStatus,
+ id-cdma2000OneXSRVCCInfo,
+ id-cdma2000OneXRAND,
+ id-cdma2000PDU,
+ id-cdma2000RATType,
+ id-cdma2000SectorID,
+ id-EUTRANRoundTripDelayEstimationInfo,
+ id-CNDomain,
+ id-ConcurrentWarningMessageIndicator,
+ id-CriticalityDiagnostics,
+ id-CSFallbackIndicator,
+ id-CSG-Id,
+ id-CSG-IdList,
+ id-CSGMembershipStatus,
+ id-Data-Forwarding-Not-Possible,
+ id-DefaultPagingDRX,
+ id-Direct-Forwarding-Path-Availability,
+ id-Global-ENB-ID,
+ id-EUTRAN-CGI,
+ id-eNBname,
+ id-eNB-StatusTransfer-TransparentContainer,
+ id-eNB-UE-S1AP-ID,
+ id-GERANtoLTEHOInformationRes,
+ id-GUMMEI-ID,
+ id-GUMMEIType,
+ id-HandoverRestrictionList,
+ id-HandoverType,
+ id-Masked-IMEISV,
+ id-InformationOnRecommendedCellsAndENBsForPaging,
+ id-InitialContextSetup,
+ id-Inter-SystemInformationTransferTypeEDT,
+ id-Inter-SystemInformationTransferTypeMDT,
+ id-LPPa-PDU,
+ id-NAS-DownlinkCount,
+ id-ManagementBasedMDTAllowed,
+ id-ManagementBasedMDTPLMNList,
+ id-MMEname,
+ id-MME-UE-S1AP-ID,
+ id-MSClassmark2,
+ id-MSClassmark3,
+ id-NAS-PDU,
+ id-NASSecurityParametersfromE-UTRAN,
+ id-NASSecurityParameterstoE-UTRAN,
+ id-OverloadResponse,
+ id-pagingDRX,
+ id-PagingPriority,
+ id-RelativeMMECapacity,
+ id-RequestType,
+ id-Routing-ID,
+ id-E-RABAdmittedItem,
+ id-E-RABAdmittedList,
+ id-E-RABDataForwardingItem,
+ id-E-RABFailedToModifyList,
+ id-E-RABFailedToReleaseList,
+ id-E-RABFailedtoSetupItemHOReqAck,
+ id-E-RABFailedToSetupListBearerSURes,
+ id-E-RABFailedToSetupListCtxtSURes,
+ id-E-RABFailedToSetupListHOReqAck,
+ id-E-RABFailedToBeReleasedList,
+ id-E-RABFailedToResumeListResumeReq,
+ id-E-RABFailedToResumeItemResumeReq,
+ id-E-RABFailedToResumeListResumeRes,
+ id-E-RABFailedToResumeItemResumeRes,
+ id-E-RABModify,
+ id-E-RABModifyItemBearerModRes,
+ id-E-RABModifyListBearerModRes,
+ id-E-RABRelease,
+ id-E-RABReleaseItemBearerRelComp,
+ id-E-RABReleaseItemHOCmd,
+ id-E-RABReleaseListBearerRelComp,
+ id-E-RABReleaseIndication,
+ id-E-RABSetup,
+ id-E-RABSetupItemBearerSURes,
+ id-E-RABSetupItemCtxtSURes,
+ id-E-RABSetupListBearerSURes,
+ id-E-RABSetupListCtxtSURes,
+ id-E-RABSubjecttoDataForwardingList,
+ id-E-RABToBeModifiedItemBearerModReq,
+ id-E-RABToBeModifiedListBearerModReq,
+ id-E-RABToBeModifiedListBearerModInd,
+ id-E-RABToBeModifiedItemBearerModInd,
+ id-E-RABNotToBeModifiedListBearerModInd,
+ id-E-RABNotToBeModifiedItemBearerModInd,
+ id-E-RABModifyListBearerModConf,
+ id-E-RABModifyItemBearerModConf,
+ id-E-RABFailedToModifyListBearerModConf,
+ id-E-RABToBeReleasedListBearerModConf,
+ id-E-RABToBeReleasedList,
+ id-E-RABReleasedList,
+ id-E-RABToBeSetupItemBearerSUReq,
+ id-E-RABToBeSetupItemCtxtSUReq,
+ id-E-RABToBeSetupItemHOReq,
+ id-E-RABToBeSetupListBearerSUReq,
+ id-E-RABToBeSetupListCtxtSUReq,
+ id-E-RABToBeSetupListHOReq,
+ id-E-RABToBeSwitchedDLItem,
+ id-E-RABToBeSwitchedDLList,
+ id-E-RABToBeSwitchedULList,
+ id-E-RABToBeSwitchedULItem,
+ id-E-RABtoReleaseListHOCmd,
+ id-ProSeAuthorized,
+ id-SecurityKey,
+ id-SecurityContext,
+ id-ServedGUMMEIs,
+ id-SONConfigurationTransferECT,
+ id-SONConfigurationTransferMCT,
+ id-Source-ToTarget-TransparentContainer,
+ id-Source-ToTarget-TransparentContainer-Secondary,
+ id-SourceMME-UE-S1AP-ID,
+ id-SRVCCOperationNotPossible,
+ id-SRVCCOperationPossible,
+ id-SRVCCHOIndication,
+ id-SubscriberProfileIDforRFP,
+ id-SupportedTAs,
+ id-S-TMSI,
+ id-TAI,
+ id-TAIItem,
+ id-TAIList,
+ id-Target-ToSource-TransparentContainer,
+ id-Target-ToSource-TransparentContainer-Secondary,
+ id-TargetID,
+ id-TimeToWait,
+ id-TraceActivation,
+ id-TrafficLoadReductionIndication,
+ id-E-UTRAN-Trace-ID,
+ id-UEIdentityIndexValue,
+ id-UEPagingID,
+ id-UERadioCapability,
+ id-UERadioCapabilityForPaging,
+ id-UTRANtoLTEHOInformationRes,
+ id-UE-associatedLogicalS1-ConnectionListResAck,
+ id-UE-associatedLogicalS1-ConnectionItem,
+ id-UE-RetentionInformation,
+ id-UESecurityCapabilities,
+ id-UE-S1AP-IDs,
+ id-V2XServicesAuthorized,
+ id-ResetType,
+ id-MessageIdentifier,
+ id-SerialNumber,
+ id-WarningAreaList,
+ id-RepetitionPeriod,
+ id-NumberofBroadcastRequest,
+ id-WarningType,
+ id-WarningSecurityInfo,
+ id-DataCodingScheme,
+ id-WarningMessageContents,
+ id-BroadcastCompletedAreaList,
+ id-BroadcastCancelledAreaList,
+ id-RRC-Establishment-Cause,
+ id-TraceCollectionEntityIPAddress,
+ id-AdditionalRRMPriorityIndex,
+ id-MDTConfigurationNR,
+ maxnoofTAIs,
+ maxnoofErrors,
+ maxnoofE-RABs,
+ maxnoofIndividualS1ConnectionsToReset,
+ maxnoofEmergencyAreaID,
+ maxnoofCellID,
+ maxnoofTAIforWarning,
+ maxnoofCellinTAI,
+ maxnoofCellinEAI,
+ id-ExtendedRepetitionPeriod,
+ id-PS-ServiceNotAvailable,
+ id-RegisteredLAI,
+ id-GUMMEIList,
+ id-SourceMME-GUMMEI,
+ id-MME-UE-S1AP-ID-2,
+ id-GW-TransportLayerAddress,
+ id-RelayNode-Indicator,
+ id-Correlation-ID,
+ id-MMERelaySupportIndicator,
+ id-GWContextReleaseIndication,
+ id-PrivacyIndicator,
+ id-VoiceSupportMatchIndicator,
+ id-Tunnel-Information-for-BBF,
+ id-SIPTO-Correlation-ID,
+ id-SIPTO-L-GW-TransportLayerAddress,
+ id-KillAllWarningMessages,
+ id-TransportInformation,
+ id-LHN-ID,
+ id-UserLocationInformation,
+ id-AdditionalCSFallbackIndicator,
+ id-ECGIListForRestart,
+ id-TAIListForRestart,
+ id-EmergencyAreaIDListForRestart,
+ id-ExpectedUEBehaviour,
+ id-Paging-eDRXInformation,
+ id-extended-UEIdentityIndexValue,
+ id-CSGMembershipInfo,
+ id-MME-Group-ID,
+ id-Additional-GUTI,
+ id-S1-Message,
+ id-PWSfailedECGIList,
+ id-PWSFailureIndication,
+ id-UE-Usage-Type,
+ id-UEUserPlaneCIoTSupportIndicator,
+ id-NB-IoT-DefaultPagingDRX,
+ id-NB-IoT-Paging-eDRXInformation,
+ id-CE-mode-B-SupportIndicator,
+ id-NB-IoT-UEIdentityIndexValue,
+ id-RRC-Resume-Cause,
+ id-DCN-ID,
+ id-ServedDCNs,
+ id-UESidelinkAggregateMaximumBitrate,
+ id-DLNASPDUDeliveryAckRequest,
+ id-Coverage-Level,
+ id-EnhancedCoverageRestricted,
+ id-UE-Level-QoS-Parameters,
+ id-DL-CP-SecurityInformation,
+ id-UL-CP-SecurityInformation,
+ id-SecondaryRATDataUsageRequest,
+ id-SecondaryRATDataUsageReportList,
+ id-HandoverFlag,
+ id-NRUESecurityCapabilities,
+ id-UE-Application-Layer-Measurement-Capability,
+ id-CE-ModeBRestricted,
+ id-DownlinkPacketLossRate,
+ id-UplinkPacketLossRate,
+ id-UECapabilityInfoRequest,
+ id-EndIndication,
+ id-EDT-Session,
+ id-LTE-M-Indication,
+ id-PendingDataIndication,
+ id-WarningAreaCoordinates,
+ id-Subscription-Based-UE-DifferentiationInfo,
+ id-PSCellInformation,
+ id-ConnectedengNBList,
+ id-ConnectedengNBToAddList,
+ id-ConnectedengNBToRemoveList,
+ id-EN-DCSONConfigurationTransfer-ECT,
+ id-EN-DCSONConfigurationTransfer-MCT,
+ id-TimeSinceSecondaryNodeRelease,
+ id-IAB-Authorized,
+ id-IAB-Node-Indication,
+ id-IAB-Supported,
+ id-DataSize,
+ id-Ethernet-Type,
+ id-NRV2XServicesAuthorized,
+ id-NRUESidelinkAggregateMaximumBitrate,
+ id-PC5QoSParameters,
+ id-IntersystemSONConfigurationTransferMCT,
+ id-IntersystemSONConfigurationTransferECT,
+ id-UERadioCapabilityID,
+ id-UERadioCapability-NR-Format,
+ id-NotifySourceeNB,
+ id-eNB-EarlyStatusTransfer-TransparentContainer,
+ id-WUS-Assistance-Information,
+ id-NB-IoT-PagingDRX,
+ id-UERadioCapabilityForPaging-NR-Format,
+ id-PagingCause,
+ id-SecurityIndication,
+ id-SecurityResult,
+ id-LTE-NTN-TAI-Information,
+ id-E-RABToBeUpdatedList,
+ id-E-RABToBeUpdatedItem
+
+FROM S1AP-Constants;
+
+-- **************************************************************
+--
+-- Common Container Lists
+--
+-- **************************************************************
+
+E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxnoofE-RABs, {IEsSetParam} }
+E-RAB-IE-ContainerPairList { S1AP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxnoofE-RABs, {IEsSetParam} }
+ProtocolError-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxnoofE-RABs, {IEsSetParam} }
+
+-- **************************************************************
+--
+-- HANDOVER PREPARATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Required
+--
+-- **************************************************************
+
+HandoverRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverRequiredIEs} },
+ ...
+}
+
+HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory}|
+ { ID id-Direct-Forwarding-Path-Availability CRITICALITY ignore TYPE Direct-Forwarding-Path-Availability PRESENCE optional}|
+ { ID id-SRVCCHOIndication CRITICALITY reject TYPE SRVCCHOIndication PRESENCE optional}|
+ { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory}|
+ { ID id-Source-ToTarget-TransparentContainer-Secondary CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE optional}|
+ { ID id-MSClassmark2 CRITICALITY reject TYPE MSClassmark2 PRESENCE conditional}|
+ { ID id-MSClassmark3 CRITICALITY ignore TYPE MSClassmark3 PRESENCE conditional}|
+ { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional}|
+ { ID id-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional}|
+ { ID id-PS-ServiceNotAvailable CRITICALITY ignore TYPE PS-ServiceNotAvailable PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Handover Command
+--
+-- **************************************************************
+
+HandoverCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverCommandIEs} },
+ ...
+}
+
+HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory}|
+ { ID id-NASSecurityParametersfromE-UTRAN CRITICALITY reject TYPE NASSecurityParametersfromE-UTRAN PRESENCE conditional
+ -- This IE shall be present if HandoverType IE is set to value "LTEtoUTRAN" or "LTEtoGERAN" --}|
+ { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABSubjecttoDataForwardingList PRESENCE optional}|
+ { ID id-E-RABtoReleaseListHOCmd CRITICALITY ignore TYPE E-RABList PRESENCE optional}|
+ { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory}|
+ { ID id-Target-ToSource-TransparentContainer-Secondary CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+E-RABSubjecttoDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} }
+
+E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABDataForwardingItem CRITICALITY ignore TYPE E-RABDataForwardingItem PRESENCE mandatory },
+ ...
+}
+
+E-RABDataForwardingItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dL-transportLayerAddress TransportLayerAddress OPTIONAL,
+ dL-gTP-TEID GTP-TEID OPTIONAL,
+ uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
+ uL-GTP-TEID GTP-TEID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABDataForwardingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- Handover Preparation Failure
+--
+-- **************************************************************
+
+HandoverPreparationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverPreparationFailureIEs} },
+ ...
+}
+
+HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER RESOURCE ALLOCATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Request
+--
+-- **************************************************************
+
+HandoverRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HandoverRequestIEs} },
+ ...
+}
+
+HandoverRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory}|
+ { ID id-E-RABToBeSetupListHOReq CRITICALITY reject TYPE E-RABToBeSetupListHOReq PRESENCE mandatory}|
+ { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory}|
+ { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory}|
+ { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}|
+ { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional}|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}|
+ { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
+ { ID id-NASSecurityParameterstoE-UTRAN CRITICALITY reject TYPE NASSecurityParameterstoE-UTRAN PRESENCE conditional
+ -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" -- }|
+ { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional}|
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
+ { ID id-GUMMEI-ID CRITICALITY ignore TYPE GUMMEI PRESENCE optional}|
+ { ID id-MME-UE-S1AP-ID-2 CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional}|
+ { ID id-ManagementBasedMDTAllowed CRITICALITY ignore TYPE ManagementBasedMDTAllowed PRESENCE optional}|
+ { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional}|
+ { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional}|
+ { ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional}|
+ { ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}|
+ { ID id-UEUserPlaneCIoTSupportIndicator CRITICALITY ignore TYPE UEUserPlaneCIoTSupportIndicator PRESENCE optional}|
+ { ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}|
+ { ID id-UESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE UESidelinkAggregateMaximumBitrate PRESENCE optional}|
+ { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}|
+ { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}|
+ { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}|
+ { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional }|
+ { ID id-IAB-Authorized CRITICALITY reject TYPE IAB-Authorized PRESENCE optional}|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional}, ...
+}
+
+E-RABToBeSetupListHOReq ::= E-RAB-IE-ContainerList { {E-RABToBeSetupItemHOReqIEs} }
+
+E-RABToBeSetupItemHOReqIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABToBeSetupItemHOReq CRITICALITY reject TYPE E-RABToBeSetupItemHOReq PRESENCE mandatory },
+ ...
+}
+
+E-RABToBeSetupItemHOReq ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ e-RABlevelQosParameters E-RABLevelQoSParameters,
+ iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Data-Forwarding-Not-Possible CRITICALITY ignore EXTENSION Data-Forwarding-Not-Possible PRESENCE optional}|
+ { ID id-BearerType CRITICALITY reject EXTENSION BearerType PRESENCE optional}|
+ { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}|
+ { ID id-SecurityIndication CRITICALITY reject EXTENSION SecurityIndication PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Handover Request Acknowledge
+--
+-- **************************************************************
+
+HandoverRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {HandoverRequestAcknowledgeIEs} },
+ ...
+}
+
+HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-E-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory}|
+ { ID id-E-RABFailedToSetupListHOReqAck CRITICALITY ignore TYPE E-RABFailedtoSetupListHOReqAck PRESENCE optional}|
+ { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory}|
+ { ID id-CSG-Id CRITICALITY ignore TYPE CSG-Id PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-CellAccessMode CRITICALITY ignore TYPE CellAccessMode PRESENCE optional}|
+ { ID id-CE-mode-B-SupportIndicator CRITICALITY ignore TYPE CE-mode-B-SupportIndicator PRESENCE optional},
+ ...
+}
+
+E-RABAdmittedList ::= E-RAB-IE-ContainerList { {E-RABAdmittedItemIEs} }
+
+E-RABAdmittedItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABAdmittedItem CRITICALITY ignore TYPE E-RABAdmittedItem PRESENCE mandatory },
+ ...
+}
+
+E-RABAdmittedItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ dL-transportLayerAddress TransportLayerAddress OPTIONAL,
+ dL-gTP-TEID GTP-TEID OPTIONAL,
+ uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
+ uL-GTP-TEID GTP-TEID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABAdmittedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABFailedtoSetupListHOReqAck ::= E-RAB-IE-ContainerList { {E-RABFailedtoSetupItemHOReqAckIEs} }
+
+E-RABFailedtoSetupItemHOReqAckIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABFailedtoSetupItemHOReqAck CRITICALITY ignore TYPE E-RABFailedToSetupItemHOReqAck PRESENCE mandatory },
+ ...
+}
+
+E-RABFailedToSetupItemHOReqAck ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABFailedToSetupItemHOReqAckExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Handover Failure
+--
+-- **************************************************************
+
+HandoverFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverFailureIEs} },
+ ...
+}
+
+HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER NOTIFICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Notify
+--
+-- **************************************************************
+
+HandoverNotify ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverNotifyIEs} },
+ ...
+}
+
+HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
+ { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
+-- Extension for Release 11 to support BBAI --
+ { ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
+ { ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional}|
+ { ID id-PSCellInformation CRITICALITY ignore TYPE PSCellInformation PRESENCE optional }|
+ { ID id-NotifySourceeNB CRITICALITY ignore TYPE NotifySourceeNB PRESENCE optional}|
+ { ID id-LTE-NTN-TAI-Information CRITICALITY ignore TYPE LTE-NTN-TAI-Information PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PATH SWITCH REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Path Switch Request
+--
+-- **************************************************************
+
+PathSwitchRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PathSwitchRequestIEs} },
+ ...
+}
+
+PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory}|
+ { ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
+ { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
+ { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory}|
+ { ID id-CSG-Id CRITICALITY ignore TYPE CSG-Id PRESENCE optional}|
+ { ID id-CellAccessMode CRITICALITY ignore TYPE CellAccessMode PRESENCE optional}|
+ { ID id-SourceMME-GUMMEI CRITICALITY ignore TYPE GUMMEI PRESENCE optional}|
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
+-- Extension for Release 11 to support BBAI --
+ { ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
+ { ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional}|
+ { ID id-RRC-Resume-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE optional }|
+ { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
+ { ID id-PSCellInformation CRITICALITY ignore TYPE PSCellInformation PRESENCE optional }|
+ { ID id-LTE-NTN-TAI-Information CRITICALITY ignore TYPE LTE-NTN-TAI-Information PRESENCE optional},
+ ...
+}
+
+E-RABToBeSwitchedDLList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedDLItemIEs} }
+
+E-RABToBeSwitchedDLItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABToBeSwitchedDLItem CRITICALITY reject TYPE E-RABToBeSwitchedDLItem PRESENCE mandatory },
+ ...
+}
+
+E-RABToBeSwitchedDLItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABToBeSwitchedDLItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SecurityIndication CRITICALITY ignore EXTENSION SecurityIndication PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Path Switch Request Acknowledge
+--
+-- **************************************************************
+
+PathSwitchRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PathSwitchRequestAcknowledgeIEs} },
+ ...
+}
+
+PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional}|
+ { ID id-E-RABToBeSwitchedULList CRITICALITY ignore TYPE E-RABToBeSwitchedULList PRESENCE optional}|
+ { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE optional}|
+ { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MME-UE-S1AP-ID-2 CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional}|
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
+ { ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}|
+ { ID id-UEUserPlaneCIoTSupportIndicator CRITICALITY ignore TYPE UEUserPlaneCIoTSupportIndicator PRESENCE optional}|
+ { ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}|
+ { ID id-UESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE UESidelinkAggregateMaximumBitrate PRESENCE optional}|
+ { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}|
+ { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}|
+ { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}|
+ { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}|
+ { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional }|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional}|
+ { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE optional}|
+ { ID id-E-RABToBeUpdatedList CRITICALITY ignore TYPE E-RABToBeUpdatedList PRESENCE optional},
+ ...
+}
+
+E-RABToBeSwitchedULList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedULItemIEs} }
+
+E-RABToBeSwitchedULItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABToBeSwitchedULItem CRITICALITY ignore TYPE E-RABToBeSwitchedULItem PRESENCE mandatory },
+ ...
+}
+
+E-RABToBeSwitchedULItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABToBeSwitchedULItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+
+ ...
+}
+
+E-RABToBeUpdatedList ::= E-RAB-IE-ContainerList { {E-RABToBeUpdatedItemIEs} }
+
+E-RABToBeUpdatedItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABToBeUpdatedItem CRITICALITY ignore TYPE E-RABToBeUpdatedItem PRESENCE mandatory },
+ ...
+}
+
+E-RABToBeUpdatedItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ securityIndication SecurityIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { E-RABToBeUpdatedItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABToBeUpdatedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Path Switch Request Failure
+--
+-- **************************************************************
+
+PathSwitchRequestFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { PathSwitchRequestFailureIEs} },
+ ...
+}
+
+PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER CANCEL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Cancel
+--
+-- **************************************************************
+
+HandoverCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverCancelIEs} },
+ ...
+}
+
+HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- Handover Cancel Request Acknowledge
+--
+-- **************************************************************
+
+HandoverCancelAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverCancelAcknowledgeIEs} },
+ ...
+}
+
+HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER SUCCESS ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Success
+--
+-- **************************************************************
+
+HandoverSuccess ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { HandoverSuccessIEs} },
+ ...
+}
+
+HandoverSuccessIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- eNB EARLY STATUS TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- eNB Early Status Transfer
+--
+-- **************************************************************
+
+ENBEarlyStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ENBEarlyStatusTransferIEs} },
+ ...
+}
+
+ENBEarlyStatusTransferIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-EarlyStatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-EarlyStatusTransfer-TransparentContainer PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- MME EARLY STATUS TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MME Early Status Transfer
+--
+-- **************************************************************
+
+MMEEarlyStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MMEEarlyStatusTransferIEs} },
+ ...
+}
+
+MMEEarlyStatusTransferIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-EarlyStatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-EarlyStatusTransfer-TransparentContainer PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-RAB SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Setup Request
+--
+-- **************************************************************
+
+E-RABSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E-RABSetupRequestIEs} },
+ ...
+}
+
+E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-E-RABToBeSetupListBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupListBearerSUReq PRESENCE mandatory },
+ ...
+}
+
+E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemBearerSUReqIEs} }
+
+E-RABToBeSetupItemBearerSUReqIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABToBeSetupItemBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupItemBearerSUReq PRESENCE mandatory },
+ ...
+}
+
+E-RABToBeSetupItemBearerSUReq ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RABlevelQoSParameters E-RABLevelQoSParameters,
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ nAS-PDU NAS-PDU,
+ iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL,
+ ...
+}
+
+
+E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}|
+ { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}|
+ { ID id-BearerType CRITICALITY reject EXTENSION BearerType PRESENCE optional}|
+ { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}|
+ { ID id-SecurityIndication CRITICALITY reject EXTENSION SecurityIndication PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- E-RAB Setup Response
+--
+-- **************************************************************
+
+E-RABSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E-RABSetupResponseIEs} },
+ ...
+}
+
+E-RABSetupResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-E-RABSetupListBearerSURes CRITICALITY ignore TYPE E-RABSetupListBearerSURes PRESENCE optional }|
+ { ID id-E-RABFailedToSetupListBearerSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional },
+ ...
+}
+
+
+E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemBearerSUResIEs} }
+
+E-RABSetupItemBearerSUResIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABSetupItemBearerSURes CRITICALITY ignore TYPE E-RABSetupItemBearerSURes PRESENCE mandatory },
+ ...
+}
+
+E-RABSetupItemBearerSURes ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL,
+ ...
+}
+
+
+E-RABSetupItemBearerSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- E-RAB MODIFY ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Modify Request
+--
+-- **************************************************************
+
+E-RABModifyRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E-RABModifyRequestIEs} },
+ ...
+}
+
+E-RABModifyRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-E-RABToBeModifiedListBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedListBearerModReq PRESENCE mandatory }|
+ { ID id-SecondaryRATDataUsageRequest CRITICALITY ignore TYPE SecondaryRATDataUsageRequest PRESENCE optional },
+ ...
+}
+
+E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeModifiedItemBearerModReqIEs} }
+
+E-RABToBeModifiedItemBearerModReqIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABToBeModifiedItemBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedItemBearerModReq PRESENCE mandatory },
+ ...
+}
+
+E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RABLevelQoSParameters E-RABLevelQoSParameters,
+ nAS-PDU NAS-PDU,
+ iE-Extensions ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL,
+ ...
+}
+
+
+E-RABToBeModifyItemBearerModReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-TransportInformation CRITICALITY reject EXTENSION TransportInformation PRESENCE optional},
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- E-RAB Modify Response
+--
+-- **************************************************************
+
+E-RABModifyResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E-RABModifyResponseIEs} },
+ ...
+}
+
+E-RABModifyResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-E-RABModifyListBearerModRes CRITICALITY ignore TYPE E-RABModifyListBearerModRes PRESENCE optional }|
+ { ID id-E-RABFailedToModifyList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional },
+ ...
+}
+
+
+E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModResIEs} }
+
+E-RABModifyItemBearerModResIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABModifyItemBearerModRes CRITICALITY ignore TYPE E-RABModifyItemBearerModRes PRESENCE mandatory},
+ ...
+}
+
+E-RABModifyItemBearerModRes ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {E-RABModifyItemBearerModResExtIEs} } OPTIONAL,
+ ...
+}
+
+
+E-RABModifyItemBearerModResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+
+-- **************************************************************
+--
+-- E-RAB RELEASE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Release Command
+--
+-- **************************************************************
+
+E-RABReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E-RABReleaseCommandIEs} },
+ ...
+}
+
+E-RABReleaseCommandIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }|
+ { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- E-RAB Release Response
+--
+-- **************************************************************
+
+E-RABReleaseResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { E-RABReleaseResponseIEs } },
+ ...
+}
+
+E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-E-RABReleaseListBearerRelComp CRITICALITY ignore TYPE E-RABReleaseListBearerRelComp PRESENCE optional }|
+ { ID id-E-RABFailedToReleaseList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+-- Extension for Release 12 to support User Location Information --
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
+ { ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional },
+ ...
+}
+
+
+E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABReleaseItemBearerRelCompIEs} }
+
+E-RABReleaseItemBearerRelCompIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABReleaseItemBearerRelComp CRITICALITY ignore TYPE E-RABReleaseItemBearerRelComp PRESENCE mandatory },
+ ...
+}
+
+E-RABReleaseItemBearerRelComp ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL,
+ ...
+}
+
+
+E-RABReleaseItemBearerRelCompExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- E-RAB RELEASE INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Release Indication
+--
+-- **************************************************************
+
+E-RABReleaseIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E-RABReleaseIndicationIEs} },
+ ...
+}
+
+E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-E-RABReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }|
+-- Extension for Release 12 to support User Location Information --
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
+ { ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- INITIAL CONTEXT SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Initial Context Setup Request
+--
+-- **************************************************************
+
+InitialContextSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} },
+ ...
+}
+
+InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory}|
+ { ID id-E-RABToBeSetupListCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupListCtxtSUReq PRESENCE mandatory}|
+ { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory}|
+ { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}|
+ { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional}|
+ { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional}|
+ { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional}|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}|
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
+ { ID id-RegisteredLAI CRITICALITY ignore TYPE LAI PRESENCE optional}|
+ { ID id-GUMMEI-ID CRITICALITY ignore TYPE GUMMEI PRESENCE optional}|
+ { ID id-MME-UE-S1AP-ID-2 CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional}|
+ { ID id-ManagementBasedMDTAllowed CRITICALITY ignore TYPE ManagementBasedMDTAllowed PRESENCE optional}|
+ { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional}|
+ { ID id-AdditionalCSFallbackIndicator CRITICALITY ignore TYPE AdditionalCSFallbackIndicator PRESENCE conditional}|
+ { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional}|
+ { ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional}|
+ { ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}|
+ { ID id-UEUserPlaneCIoTSupportIndicator CRITICALITY ignore TYPE UEUserPlaneCIoTSupportIndicator PRESENCE optional}|
+ { ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}|
+ { ID id-UESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE UESidelinkAggregateMaximumBitrate PRESENCE optional}|
+ { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}|
+ { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}|
+ { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}|
+ { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional }|
+ { ID id-IAB-Authorized CRITICALITY ignore TYPE IAB-Authorized PRESENCE optional}|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional},
+ ...
+}
+
+
+
+
+E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemCtxtSUReqIEs} }
+
+E-RABToBeSetupItemCtxtSUReqIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABToBeSetupItemCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupItemCtxtSUReq PRESENCE mandatory },
+ ...
+}
+
+E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RABlevelQoSParameters E-RABLevelQoSParameters,
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ nAS-PDU NAS-PDU OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemCtxtSUReqExtIEs} } OPTIONAL,
+ ...
+}
+
+
+E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}|
+ { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}|
+ { ID id-BearerType CRITICALITY reject EXTENSION BearerType PRESENCE optional}|
+ { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}|
+ { ID id-SecurityIndication CRITICALITY reject EXTENSION SecurityIndication PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Initial Context Setup Response
+--
+-- **************************************************************
+
+InitialContextSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} },
+ ...
+}
+
+InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-E-RABSetupListCtxtSURes CRITICALITY ignore TYPE E-RABSetupListCtxtSURes PRESENCE mandatory }|
+ { ID id-E-RABFailedToSetupListCtxtSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemCtxtSUResIEs} }
+
+E-RABSetupItemCtxtSUResIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABSetupItemCtxtSURes CRITICALITY ignore TYPE E-RABSetupItemCtxtSURes PRESENCE mandatory },
+ ...
+}
+
+E-RABSetupItemCtxtSURes ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemCtxtSUResExtIEs} } OPTIONAL,
+ ...
+}
+
+
+E-RABSetupItemCtxtSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Initial Context Setup Failure
+--
+-- **************************************************************
+
+InitialContextSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {InitialContextSetupFailureIEs} },
+ ...
+}
+
+InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PAGING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- Paging
+--
+-- **************************************************************
+
+Paging ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{PagingIEs}},
+ ...
+}
+
+PagingIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-UEIdentityIndexValue CRITICALITY ignore TYPE UEIdentityIndexValue PRESENCE mandatory}|
+ { ID id-UEPagingID CRITICALITY ignore TYPE UEPagingID PRESENCE mandatory}|
+ { ID id-pagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional}|
+ { ID id-CNDomain CRITICALITY ignore TYPE CNDomain PRESENCE mandatory}|
+ { ID id-TAIList CRITICALITY ignore TYPE TAIList PRESENCE mandatory}|
+ { ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional}|
+ { ID id-PagingPriority CRITICALITY ignore TYPE PagingPriority PRESENCE optional}|
+ { ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional}|
+-- Extension for Release 13 to support Paging Optimisation and Coverage Enhancement paging --
+ { ID id-AssistanceDataForPaging CRITICALITY ignore TYPE AssistanceDataForPaging PRESENCE optional}|
+ { ID id-Paging-eDRXInformation CRITICALITY ignore TYPE Paging-eDRXInformation PRESENCE optional}|
+ { ID id-extended-UEIdentityIndexValue CRITICALITY ignore TYPE Extended-UEIdentityIndexValue PRESENCE optional}|
+ { ID id-NB-IoT-Paging-eDRXInformation CRITICALITY ignore TYPE NB-IoT-Paging-eDRXInformation PRESENCE optional}|
+ { ID id-NB-IoT-UEIdentityIndexValue CRITICALITY ignore TYPE NB-IoT-UEIdentityIndexValue PRESENCE optional}|
+ { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}|
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-DataSize CRITICALITY ignore TYPE DataSize PRESENCE optional}|
+ { ID id-WUS-Assistance-Information CRITICALITY ignore TYPE WUS-Assistance-Information PRESENCE optional}|
+ { ID id-NB-IoT-PagingDRX CRITICALITY ignore TYPE NB-IoT-PagingDRX PRESENCE optional}|
+ { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional},
+ ...
+}
+
+TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF ProtocolIE-SingleContainer {{TAIItemIEs}}
+
+TAIItemIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-TAIItem CRITICALITY ignore TYPE TAIItem PRESENCE mandatory },
+ ...
+}
+
+TAIItem ::= SEQUENCE {
+ tAI TAI,
+ iE-Extensions ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL,
+ ...
+}
+
+
+TAIItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Release Request
+--
+-- **************************************************************
+
+UEContextReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEContextReleaseRequest-IEs}},
+ ...
+}
+
+UEContextReleaseRequest-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-GWContextReleaseIndication CRITICALITY reject TYPE GWContextReleaseIndication PRESENCE optional }|
+ { ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Release Command
+--
+-- **************************************************************
+
+UEContextReleaseCommand ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEContextReleaseCommand-IEs}},
+ ...
+}
+
+UEContextReleaseCommand-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-UE-S1AP-IDs CRITICALITY reject TYPE UE-S1AP-IDs PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Release Complete
+--
+-- **************************************************************
+
+UEContextReleaseComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEContextReleaseComplete-IEs}},
+ ...
+}
+
+UEContextReleaseComplete-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+-- Extension for Release 12 to support User Location Information --
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional}|
+-- Extension for Release 13 to support Paging Optimisation
+ { ID id-InformationOnRecommendedCellsAndENBsForPaging CRITICALITY ignore TYPE InformationOnRecommendedCellsAndENBsForPaging PRESENCE optional}|
+-- Extension for Release 13 to support coverage enhancement paging --
+ { ID id-CellIdentifierAndCELevelForCECapableUEs CRITICALITY ignore TYPE CellIdentifierAndCELevelForCECapableUEs PRESENCE optional}|
+ { ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional }|
+ { ID id-TimeSinceSecondaryNodeRelease CRITICALITY ignore TYPE TimeSinceSecondaryNodeRelease PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Modification Request
+--
+-- **************************************************************
+
+UEContextModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationRequestIEs} },
+ ...
+}
+
+UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional}|
+ { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional}|
+ { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional}|
+ { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional}|
+ { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional}|
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
+ { ID id-RegisteredLAI CRITICALITY ignore TYPE LAI PRESENCE optional}|
+ { ID id-AdditionalCSFallbackIndicator CRITICALITY ignore TYPE AdditionalCSFallbackIndicator PRESENCE conditional}|
+ { ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}|
+ { ID id-SRVCCOperationNotPossible CRITICALITY ignore TYPE SRVCCOperationNotPossible PRESENCE optional}|
+ { ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}|
+ { ID id-UESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE UESidelinkAggregateMaximumBitrate PRESENCE optional}|
+ { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional}|
+ { ID id-IAB-Authorized CRITICALITY ignore TYPE IAB-Authorized PRESENCE optional}|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional},
+ ...
+}
+-- **************************************************************
+--
+-- UE Context Modification Response
+--
+-- **************************************************************
+
+UEContextModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationResponseIEs} },
+ ...
+}
+
+UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- UE Context Modification Failure
+--
+-- **************************************************************
+
+UEContextModificationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationFailureIEs} },
+ ...
+}
+
+UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY MATCH ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Radio Capability Match Request
+--
+-- **************************************************************
+
+UERadioCapabilityMatchRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UERadioCapabilityMatchRequestIEs} },
+ ...
+}
+
+UERadioCapabilityMatchRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Radio Capability Match Response
+--
+-- **************************************************************
+
+UERadioCapabilityMatchResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UERadioCapabilityMatchResponseIEs} },
+ ...
+}
+
+UERadioCapabilityMatchResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-VoiceSupportMatchIndicator CRITICALITY reject TYPE VoiceSupportMatchIndicator PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- NAS TRANSPORT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DOWNLINK NAS TRANSPORT
+--
+-- **************************************************************
+
+DownlinkNASTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DownlinkNASTransport-IEs}},
+ ...
+}
+
+DownlinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory}|
+ { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}|
+ { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional}|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional}|
+ { ID id-DLNASPDUDeliveryAckRequest CRITICALITY ignore TYPE DLNASPDUDeliveryAckRequest PRESENCE optional}|
+ { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}|
+ { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-UECapabilityInfoRequest CRITICALITY ignore TYPE UECapabilityInfoRequest PRESENCE optional}|
+ { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional}|
+ { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}|
+ { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional}|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional}|
+ { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- INITIAL UE MESSAGE
+--
+-- **************************************************************
+
+InitialUEMessage ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{InitialUEMessage-IEs}},
+ ...
+}
+
+InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory}|
+ { ID id-TAI CRITICALITY reject TYPE TAI PRESENCE mandatory}|
+ { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
+ { ID id-RRC-Establishment-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE mandatory}|
+ { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE optional}|
+ { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional}|
+ { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE optional}|
+ { ID id-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional}|
+ { ID id-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
+ { ID id-RelayNode-Indicator CRITICALITY reject TYPE RelayNode-Indicator PRESENCE optional}|
+ { ID id-GUMMEIType CRITICALITY ignore TYPE GUMMEIType PRESENCE optional}|
+-- Extension for Release 11 to support BBAI --
+ { ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
+ { ID id-SIPTO-L-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
+ { ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional}|
+ { ID id-MME-Group-ID CRITICALITY ignore TYPE MME-Group-ID PRESENCE optional}|
+ { ID id-UE-Usage-Type CRITICALITY ignore TYPE UE-Usage-Type PRESENCE optional}|
+ { ID id-CE-mode-B-SupportIndicator CRITICALITY ignore TYPE CE-mode-B-SupportIndicator PRESENCE optional}|
+ { ID id-DCN-ID CRITICALITY ignore TYPE DCN-ID PRESENCE optional}|
+ { ID id-Coverage-Level CRITICALITY ignore TYPE Coverage-Level PRESENCE optional}|
+ { ID id-UE-Application-Layer-Measurement-Capability CRITICALITY ignore TYPE UE-Application-Layer-Measurement-Capability PRESENCE optional}|
+ { ID id-EDT-Session CRITICALITY ignore TYPE EDT-Session PRESENCE optional}|
+ { ID id-IAB-Node-Indication CRITICALITY reject TYPE IAB-Node-Indication PRESENCE optional}|
+ { ID id-LTE-NTN-TAI-Information CRITICALITY ignore TYPE LTE-NTN-TAI-Information PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UPLINK NAS TRANSPORT
+--
+-- **************************************************************
+
+UplinkNASTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UplinkNASTransport-IEs}},
+ ...
+}
+
+UplinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory}|
+ { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
+ { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
+ { ID id-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
+ { ID id-SIPTO-L-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
+ { ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional}|
+ { ID id-PSCellInformation CRITICALITY ignore TYPE PSCellInformation PRESENCE optional }|
+ { ID id-LTE-NTN-TAI-Information CRITICALITY ignore TYPE LTE-NTN-TAI-Information PRESENCE optional},
+ ...
+}
+-- **************************************************************
+--
+-- NAS NON DELIVERY INDICATION
+--
+-- **************************************************************
+
+NASNonDeliveryIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{NASNonDeliveryIndication-IEs}},
+ ...
+}
+
+NASNonDeliveryIndication-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- REROUTE NAS REQUEST
+--
+-- **************************************************************
+
+RerouteNASRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RerouteNASRequest-IEs}},
+ ...
+}
+
+-- WS modification, add a definition for S1 Message
+S1-Message ::= OCTET STRING
+
+RerouteNASRequest-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional}|
+-- WS modification, add a definition for S1 Message
+-- { ID id-S1-Message CRITICALITY reject TYPE OCTET STRING PRESENCE mandatory}|
+ { ID id-S1-Message CRITICALITY reject TYPE S1-Message PRESENCE mandatory}|
+ { ID id-MME-Group-ID CRITICALITY reject TYPE MME-Group-ID PRESENCE mandatory}|
+ { ID id-Additional-GUTI CRITICALITY ignore TYPE Additional-GUTI PRESENCE optional}|
+ { ID id-UE-Usage-Type CRITICALITY ignore TYPE UE-Usage-Type PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- NAS DELIVERY INDICATION
+--
+-- **************************************************************
+
+NASDeliveryIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { NASDeliveryIndicationIEs} },
+ ...
+}
+
+NASDeliveryIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Reset
+--
+-- **************************************************************
+
+Reset ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetIEs} },
+ ...
+}
+
+ResetIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
+ ...
+}
+
+ResetType ::= CHOICE {
+ s1-Interface ResetAll,
+ partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes,
+ ...
+}
+
+
+
+ResetAll ::= ENUMERATED {
+ reset-all,
+ ...
+}
+
+UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxnoofIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemRes } }
+
+UE-associatedLogicalS1-ConnectionItemRes S1AP-PROTOCOL-IES ::= {
+ { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Reset Acknowledge
+--
+-- **************************************************************
+
+ResetAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
+ ...
+}
+
+ResetAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-UE-associatedLogicalS1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionListResAck PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxnoofIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemResAck } }
+
+UE-associatedLogicalS1-ConnectionItemResAck S1AP-PROTOCOL-IES ::= {
+ { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Error Indication
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}},
+ ...
+}
+
+ErrorIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-S-TMSI CRITICALITY ignore TYPE S-TMSI PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- S1 SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- S1 Setup Request
+--
+-- **************************************************************
+
+S1SetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {S1SetupRequestIEs} },
+ ...
+}
+
+S1SetupRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory}|
+ { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional}|
+ { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE mandatory}|
+ { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory}|
+ { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}|
+ { ID id-UE-RetentionInformation CRITICALITY ignore TYPE UE-RetentionInformation PRESENCE optional}|
+ { ID id-NB-IoT-DefaultPagingDRX CRITICALITY ignore TYPE NB-IoT-DefaultPagingDRX PRESENCE optional}|
+ { ID id-ConnectedengNBList CRITICALITY ignore TYPE ConnectedengNBList PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- S1 Setup Response
+--
+-- **************************************************************
+
+S1SetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {S1SetupResponseIEs} },
+ ...
+}
+
+
+S1SetupResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional}|
+ { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE mandatory}|
+ { ID id-RelativeMMECapacity CRITICALITY ignore TYPE RelativeMMECapacity PRESENCE mandatory}|
+ { ID id-MMERelaySupportIndicator CRITICALITY ignore TYPE MMERelaySupportIndicator PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-UE-RetentionInformation CRITICALITY ignore TYPE UE-RetentionInformation PRESENCE optional}|
+ { ID id-ServedDCNs CRITICALITY ignore TYPE ServedDCNs PRESENCE optional}|
+ { ID id-IAB-Supported CRITICALITY ignore TYPE IAB-Supported PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- S1 Setup Failure
+--
+-- **************************************************************
+
+S1SetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {S1SetupFailureIEs} },
+ ...
+}
+
+S1SetupFailureIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- ENB CONFIGURATION UPDATE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- eNB Configuration Update
+--
+-- **************************************************************
+
+ENBConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateIEs} },
+ ...
+}
+
+ENBConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional}|
+ { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE optional}|
+ { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}|
+ { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional}|
+ { ID id-NB-IoT-DefaultPagingDRX CRITICALITY ignore TYPE NB-IoT-DefaultPagingDRX PRESENCE optional}|
+ { ID id-ConnectedengNBToAddList CRITICALITY ignore TYPE ConnectedengNBList PRESENCE optional}|
+ { ID id-ConnectedengNBToRemoveList CRITICALITY ignore TYPE ConnectedengNBList PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- eNB Configuration Update Acknowledge
+--
+-- **************************************************************
+
+ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateAcknowledgeIEs} },
+ ...
+}
+
+
+ENBConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- eNB Configuration Update Failure
+--
+-- **************************************************************
+
+ENBConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateFailureIEs} },
+ ...
+}
+
+ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+...
+}
+
+
+-- **************************************************************
+--
+-- MME CONFIGURATION UPDATE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MME Configuration Update
+--
+-- **************************************************************
+
+MMEConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateIEs} },
+ ...
+}
+
+MMEConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }|
+ { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE optional }|
+ { ID id-RelativeMMECapacity CRITICALITY reject TYPE RelativeMMECapacity PRESENCE optional }|
+ { ID id-ServedDCNs CRITICALITY ignore TYPE ServedDCNs PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- MME Configuration Update Acknowledge
+--
+-- **************************************************************
+
+MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateAcknowledgeIEs} },
+ ...
+}
+
+
+MMEConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MME Configuration Update Failure
+--
+-- **************************************************************
+
+MMEConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateFailureIEs} },
+ ...
+}
+
+MMEConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK S1 CDMA2000 TUNNELLING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Downlink S1 CDMA2000 Tunnelling
+--
+-- **************************************************************
+
+DownlinkS1cdma2000tunnelling ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DownlinkS1cdma2000tunnellingIEs} },
+ ...
+}
+
+DownlinkS1cdma2000tunnellingIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABSubjecttoDataForwardingList PRESENCE optional }|
+ { ID id-cdma2000HOStatus CRITICALITY ignore TYPE Cdma2000HOStatus PRESENCE optional }|
+ { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory }|
+ { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK S1 CDMA2000 TUNNELLING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Uplink S1 CDMA2000 Tunnelling
+--
+-- **************************************************************
+
+UplinkS1cdma2000tunnelling ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UplinkS1cdma2000tunnellingIEs} },
+ ...
+}
+
+UplinkS1cdma2000tunnellingIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory }|
+ { ID id-cdma2000SectorID CRITICALITY reject TYPE Cdma2000SectorID PRESENCE mandatory }|
+ { ID id-cdma2000HORequiredIndication CRITICALITY ignore TYPE Cdma2000HORequiredIndication PRESENCE optional }|
+ { ID id-cdma2000OneXSRVCCInfo CRITICALITY reject TYPE Cdma2000OneXSRVCCInfo PRESENCE optional }|
+ { ID id-cdma2000OneXRAND CRITICALITY reject TYPE Cdma2000OneXRAND PRESENCE optional }|
+ { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory }|
+ { ID id-EUTRANRoundTripDelayEstimationInfo CRITICALITY ignore TYPE EUTRANRoundTripDelayEstimationInfo PRESENCE optional },
+ -- Extension for Release 9 to assist target HRPD access with the acquisition of the UE --
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE CAPABILITY INFO INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Capability Info Indication
+--
+-- **************************************************************
+
+UECapabilityInfoIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UECapabilityInfoIndicationIEs} },
+ ...
+}
+
+UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory}|
+ { ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional}|
+ { ID id-UE-Application-Layer-Measurement-Capability CRITICALITY ignore TYPE UE-Application-Layer-Measurement-Capability PRESENCE optional}|
+ { ID id-LTE-M-Indication CRITICALITY ignore TYPE LTE-M-Indication PRESENCE optional}|
+ { ID id-UERadioCapability-NR-Format CRITICALITY ignore TYPE UERadioCapability PRESENCE optional}|
+ { ID id-UERadioCapabilityForPaging-NR-Format CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- eNB STATUS TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- eNB Status Transfer
+--
+-- **************************************************************
+
+ENBStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ENBStatusTransferIEs} },
+ ...
+}
+
+ENBStatusTransferIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MME STATUS TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MME Status Transfer
+--
+-- **************************************************************
+
+MMEStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {MMEStatusTransferIEs} },
+ ...
+}
+
+MMEStatusTransferIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- TRACE ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- Trace Start
+--
+-- **************************************************************
+
+TraceStart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TraceStartIEs} },
+ ...
+}
+
+TraceStartIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- Trace Failure Indication
+--
+-- **************************************************************
+
+TraceFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TraceFailureIndicationIEs} },
+ ...
+}
+
+TraceFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- DEACTIVATE TRACE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Deactivate Trace
+--
+-- **************************************************************
+
+DeactivateTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { DeactivateTraceIEs} },
+ ...
+}
+
+DeactivateTraceIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL TRAFFIC TRACE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Cell Traffic Trace
+--
+-- **************************************************************
+
+CellTrafficTrace ::= SEQUENCE {
+protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } },
+...
+}
+
+CellTrafficTraceIEs S1AP-PROTOCOL-IES ::= {
+ {ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ {ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ {ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory }|
+ {ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory }|
+ {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }|
+ {ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- LOCATION ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Location Reporting Control
+--
+-- **************************************************************
+
+LocationReportingControl ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { LocationReportingControlIEs} },
+ ...
+}
+
+LocationReportingControlIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- Location Report Failure Indication
+--
+-- **************************************************************
+
+LocationReportingFailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { LocationReportingFailureIndicationIEs} },
+ ...
+}
+
+LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- Location Report
+--
+-- **************************************************************
+
+LocationReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { LocationReportIEs} },
+ ...
+}
+
+LocationReportIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory }|
+ { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory }|
+ { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory }|
+ { ID id-PSCellInformation CRITICALITY ignore TYPE PSCellInformation PRESENCE optional }|
+ { ID id-LTE-NTN-TAI-Information CRITICALITY ignore TYPE LTE-NTN-TAI-Information PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- OVERLOAD ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Overload Start
+--
+-- **************************************************************
+
+OverloadStart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {OverloadStartIEs} },
+ ...
+}
+
+OverloadStartIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory }|
+ { ID id-GUMMEIList CRITICALITY ignore TYPE GUMMEIList PRESENCE optional }|
+ { ID id-TrafficLoadReductionIndication CRITICALITY ignore TYPE TrafficLoadReductionIndication PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- Overload Stop
+--
+-- **************************************************************
+
+OverloadStop ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {OverloadStopIEs} },
+ ...
+}
+
+OverloadStopIEs S1AP-PROTOCOL-IES ::= {
+{ ID id-GUMMEIList CRITICALITY ignore TYPE GUMMEIList PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Write-Replace Warning Request
+--
+-- **************************************************************
+
+
+WriteReplaceWarningRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} },
+ ...
+}
+
+WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
+ { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
+ { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
+ { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }|
+ { ID id-ExtendedRepetitionPeriod CRITICALITY reject TYPE ExtendedRepetitionPeriod PRESENCE optional }|
+ { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }|
+ { ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }|
+ { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }|
+ { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }|
+ { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional }|
+ { ID id-ConcurrentWarningMessageIndicator CRITICALITY reject TYPE ConcurrentWarningMessageIndicator PRESENCE optional }|
+ { ID id-WarningAreaCoordinates CRITICALITY ignore TYPE WarningAreaCoordinates PRESENCE optional },
+ ...
+}
+-- **************************************************************
+--
+-- Write-Replace Warning Response
+--
+-- **************************************************************
+
+WriteReplaceWarningResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} },
+ ...
+}
+
+WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
+ { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
+ { ID id-BroadcastCompletedAreaList CRITICALITY ignore TYPE BroadcastCompletedAreaList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- eNB DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- eNB Direct Information Transfer
+--
+-- **************************************************************
+
+ENBDirectInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ ENBDirectInformationTransferIEs}},
+ ...
+}
+
+ENBDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Inter-SystemInformationTransferTypeEDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory },
+ ...
+}
+
+Inter-SystemInformationTransferType ::= CHOICE {
+ rIMTransfer RIMTransfer,
+ ...
+}
+
+-- **************************************************************
+--
+-- MME DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MME Direct Information Transfer
+--
+-- **************************************************************
+
+MMEDirectInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MMEDirectInformationTransferIEs}},
+ ...
+}
+
+MMEDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Inter-SystemInformationTransferTypeMDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory },
+ ...
+}
+-- **************************************************************
+--
+-- eNB CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- eNB Configuration Transfer
+--
+-- **************************************************************
+
+ENBConfigurationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ ENBConfigurationTransferIEs}},
+ ...
+}
+
+ENBConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-SONConfigurationTransferECT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional }|
+ { ID id-EN-DCSONConfigurationTransfer-ECT CRITICALITY ignore TYPE EN-DCSONConfigurationTransfer PRESENCE optional }|
+ { ID id-IntersystemSONConfigurationTransferECT CRITICALITY ignore TYPE IntersystemSONConfigurationTransfer PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- MME CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MME Configuration Transfer
+--
+-- **************************************************************
+
+MMEConfigurationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ MMEConfigurationTransferIEs}},
+ ...
+}
+
+MMEConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-SONConfigurationTransferMCT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional }|
+ { ID id-EN-DCSONConfigurationTransfer-MCT CRITICALITY ignore TYPE EN-DCSONConfigurationTransfer PRESENCE optional }|
+ { ID id-IntersystemSONConfigurationTransferMCT CRITICALITY ignore TYPE IntersystemSONConfigurationTransfer PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Private Message
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessageIEs}},
+ ...
+}
+
+PrivateMessageIEs S1AP-PRIVATE-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- KILL PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Kill Request
+--
+-- **************************************************************
+
+
+KillRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {KillRequestIEs} },
+ ...
+}
+
+KillRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory}|
+ { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory}|
+ { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional}|
+ { ID id-KillAllWarningMessages CRITICALITY reject TYPE KillAllWarningMessages PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Kill Response
+--
+-- **************************************************************
+
+KillResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {KillResponseIEs} },
+ ...
+}
+
+KillResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
+ { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
+ { ID id-BroadcastCancelledAreaList CRITICALITY ignore TYPE BroadcastCancelledAreaList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS RESTART INDICATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PWS Restart Indication
+--
+-- **************************************************************
+
+PWSRestartIndication::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PWSRestartIndicationIEs}},
+ ...
+}
+
+PWSRestartIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-ECGIListForRestart CRITICALITY reject TYPE ECGIListForRestart PRESENCE mandatory}|
+ { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory}|
+ { ID id-TAIListForRestart CRITICALITY reject TYPE TAIListForRestart PRESENCE mandatory}|
+ { ID id-EmergencyAreaIDListForRestart CRITICALITY reject TYPE EmergencyAreaIDListForRestart PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS Failure Indication
+--
+-- **************************************************************
+
+PWSFailureIndication::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PWSFailureIndicationIEs}},
+ ...
+}
+
+PWSFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-PWSfailedECGIList CRITICALITY reject TYPE PWSfailedECGIList PRESENCE mandatory}|
+ { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- LPPA TRANSPORT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DOWNLINK UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DownlinkUEAssociatedLPPaTransport-IEs}},
+ ...
+}
+
+DownlinkUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory }|
+ { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UplinkUEAssociatedLPPaTransport-IEs}},
+ ...
+}
+
+UplinkUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
+ { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory }|
+ { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK NON UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DownlinkNonUEAssociatedLPPaTransport-IEs}},
+ ...
+}
+
+DownlinkNonUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory }|
+ { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK NON UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UplinkNonUEAssociatedLPPaTransport-IEs}},
+ ...
+}
+
+UplinkNonUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory }|
+ { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- E-RAB MODIFICATION INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Modification Indication
+--
+-- **************************************************************
+
+E-RABModificationIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { E-RABModificationIndicationIEs} },
+ ...
+}
+
+E-RABModificationIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-E-RABToBeModifiedListBearerModInd CRITICALITY reject TYPE E-RABToBeModifiedListBearerModInd PRESENCE mandatory}|
+ { ID id-E-RABNotToBeModifiedListBearerModInd CRITICALITY reject TYPE E-RABNotToBeModifiedListBearerModInd PRESENCE optional}|
+ { ID id-CSGMembershipInfo CRITICALITY reject TYPE CSGMembershipInfo PRESENCE optional}|
+-- Extension for Release 11 to support BBAI --
+ { ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
+ { ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional }|
+{ ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional },
+ ...
+}
+
+E-RABToBeModifiedListBearerModInd ::= E-RAB-IE-ContainerList { {E-RABToBeModifiedItemBearerModIndIEs} }
+
+E-RABToBeModifiedItemBearerModIndIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABToBeModifiedItemBearerModInd CRITICALITY reject TYPE E-RABToBeModifiedItemBearerModInd PRESENCE mandatory},
+ ...
+}
+
+E-RABToBeModifiedItemBearerModInd ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ transportLayerAddress TransportLayerAddress,
+ dL-GTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { { E-RABToBeModifiedItemBearerModInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABToBeModifiedItemBearerModInd-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABNotToBeModifiedListBearerModInd ::= E-RAB-IE-ContainerList { {E-RABNotToBeModifiedItemBearerModIndIEs} }
+
+E-RABNotToBeModifiedItemBearerModIndIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABNotToBeModifiedItemBearerModInd CRITICALITY reject TYPE E-RABNotToBeModifiedItemBearerModInd PRESENCE mandatory},
+ ...
+}
+
+E-RABNotToBeModifiedItemBearerModInd ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ transportLayerAddress TransportLayerAddress,
+ dL-GTP-TEID GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { { E-RABNotToBeModifiedItemBearerModInd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABNotToBeModifiedItemBearerModInd-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CSGMembershipInfo ::= SEQUENCE {
+ cSGMembershipStatus CSGMembershipStatus,
+ cSG-Id CSG-Id,
+ cellAccessMode CellAccessMode OPTIONAL,
+ pLMNidentity PLMNidentity OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CSGMembershipInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CSGMembershipInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- E-RAB Modification Confirm
+--
+-- **************************************************************
+
+E-RABModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {E-RABModificationConfirmIEs} },
+ ...
+}
+
+E-RABModificationConfirmIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-E-RABModifyListBearerModConf CRITICALITY ignore TYPE E-RABModifyListBearerModConf PRESENCE optional}|
+ { ID id-E-RABFailedToModifyListBearerModConf CRITICALITY ignore TYPE E-RABList PRESENCE optional}|
+ { ID id-E-RABToBeReleasedListBearerModConf CRITICALITY ignore TYPE E-RABList PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional},
+ ...
+}
+
+E-RABModifyListBearerModConf ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModConfIEs} }
+
+E-RABModifyItemBearerModConfIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABModifyItemBearerModConf CRITICALITY ignore TYPE E-RABModifyItemBearerModConf PRESENCE mandatory},
+ ...
+}
+
+E-RABModifyItemBearerModConf ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {E-RABModifyItemBearerModConfExtIEs} } OPTIONAL,
+ ...
+}
+
+
+E-RABModifyItemBearerModConfExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Modification Indication
+--
+-- **************************************************************
+
+UEContextModificationIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextModificationIndicationIEs} },
+ ...
+}
+
+UEContextModificationIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-CSGMembershipInfo CRITICALITY reject TYPE CSGMembershipInfo PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE Context Modification Confirm
+--
+-- **************************************************************
+
+UEContextModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextModificationConfirmIEs} },
+ ...
+}
+
+UEContextModificationConfirmIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT SUSPEND ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Suspend Request
+--
+-- **************************************************************
+
+UEContextSuspendRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextSuspendRequestIEs} },
+ ...
+}
+
+UEContextSuspendRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-InformationOnRecommendedCellsAndENBsForPaging CRITICALITY ignore TYPE InformationOnRecommendedCellsAndENBsForPaging PRESENCE optional}|
+ { ID id-CellIdentifierAndCELevelForCECapableUEs CRITICALITY ignore TYPE CellIdentifierAndCELevelForCECapableUEs PRESENCE optional}|
+ { ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional }|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
+ { ID id-TimeSinceSecondaryNodeRelease CRITICALITY ignore TYPE TimeSinceSecondaryNodeRelease PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Suspend Response
+--
+-- **************************************************************
+
+UEContextSuspendResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {UEContextSuspendResponseIEs} },
+ ...
+}
+
+UEContextSuspendResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RESUME ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Resume Request
+--
+-- **************************************************************
+
+UEContextResumeRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextResumeRequestIEs} },
+ ...
+}
+
+UEContextResumeRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-E-RABFailedToResumeListResumeReq CRITICALITY reject TYPE E-RABFailedToResumeListResumeReq PRESENCE optional}|
+ { ID id-RRC-Resume-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE optional},
+ ...
+}
+
+E-RABFailedToResumeListResumeReq ::= E-RAB-IE-ContainerList { {E-RABFailedToResumeItemResumeReqIEs} }
+
+E-RABFailedToResumeItemResumeReqIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABFailedToResumeItemResumeReq CRITICALITY reject TYPE E-RABFailedToResumeItemResumeReq PRESENCE mandatory},
+ ...
+}
+
+E-RABFailedToResumeItemResumeReq ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { E-RABFailedToResumeItemResumeReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABFailedToResumeItemResumeReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Resume Response
+--
+-- **************************************************************
+
+UEContextResumeResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextResumeResponseIEs} },
+ ...
+}
+
+UEContextResumeResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-E-RABFailedToResumeListResumeRes CRITICALITY reject TYPE E-RABFailedToResumeListResumeRes PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE optional}|
+ { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional},
+ ...
+}
+
+E-RABFailedToResumeListResumeRes ::= E-RAB-IE-ContainerList { {E-RABFailedToResumeItemResumeResIEs} }
+
+E-RABFailedToResumeItemResumeResIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-E-RABFailedToResumeItemResumeRes CRITICALITY reject TYPE E-RABFailedToResumeItemResumeRes PRESENCE mandatory},
+ ...
+}
+
+E-RABFailedToResumeItemResumeRes ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { E-RABFailedToResumeItemResumeRes-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABFailedToResumeItemResumeRes-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Context Resume Failure
+--
+-- **************************************************************
+
+UEContextResumeFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEContextResumeFailureIEs} },
+ ...
+}
+
+UEContextResumeFailureIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Connection Establishment Indication
+--
+-- **************************************************************
+
+ConnectionEstablishmentIndication::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {ConnectionEstablishmentIndicationIEs} },
+ ...
+}
+
+ConnectionEstablishmentIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
+ { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional }|
+ { ID id-DL-CP-SecurityInformation CRITICALITY ignore TYPE DL-CP-SecurityInformation PRESENCE optional }|
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional}|
+ { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}|
+ { ID id-UE-Level-QoS-Parameters CRITICALITY ignore TYPE E-RABLevelQoSParameters PRESENCE optional}|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional}|
+ { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- Retrieve UE Information
+--
+-- **************************************************************
+
+RetrieveUEInformation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { RetrieveUEInformationIEs} },
+ ...
+}
+
+RetrieveUEInformationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE mandatory},
+...
+
+}
+
+
+-- **************************************************************
+
+-- UE Information Transfer
+--
+-- **************************************************************
+UEInformationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UEInformationTransferIEs} },
+ ...
+}
+
+UEInformationTransferIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE mandatory}|
+ { ID id-UE-Level-QoS-Parameters CRITICALITY ignore TYPE E-RABLevelQoSParameters PRESENCE optional}|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional}|
+ { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}|
+ { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}|
+ { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- eNB CP Relocation Indication
+--
+-- **************************************************************
+
+ENBCPRelocationIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { ENBCPRelocationIndicationIEs} },
+ ...
+}
+
+ENBCPRelocationIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE mandatory}|
+ { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
+ { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
+ { ID id-UL-CP-SecurityInformation CRITICALITY reject TYPE UL-CP-SecurityInformation PRESENCE mandatory}|
+ { ID id-LTE-NTN-TAI-Information CRITICALITY ignore TYPE LTE-NTN-TAI-Information PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MME CP Relocation Indication
+--
+-- **************************************************************
+
+MMECPRelocationIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { MMECPRelocationIndicationIEs} },
+ ...
+}
+
+MMECPRelocationIndicationIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Secondary RAT Data Usage Report
+--
+-- **************************************************************
+
+SecondaryRATDataUsageReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { SecondaryRATDataUsageReportIEs} },
+ ...
+}
+
+SecondaryRATDataUsageReportIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
+ { ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE mandatory}|
+ { ID id-HandoverFlag CRITICALITY ignore TYPE HandoverFlag PRESENCE optional}|
+ { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional}|
+ { ID id-TimeSinceSecondaryNodeRelease CRITICALITY ignore TYPE TimeSinceSecondaryNodeRelease PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY ID MAPPING PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Radio Capability ID Mapping Request
+--
+-- **************************************************************
+
+UERadioCapabilityIDMappingRequest::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UERadioCapabilityIDMappingRequestIEs} },
+ ...
+}
+
+UERadioCapabilityIDMappingRequestIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE Radio Capability ID Mapping Response
+--
+-- **************************************************************
+
+UERadioCapabilityIDMappingResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UERadioCapabilityIDMappingResponseIEs} },
+ ...
+}
+
+UERadioCapabilityIDMappingResponseIEs S1AP-PROTOCOL-IES ::= {
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE mandatory }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn b/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn
new file mode 100644
index 00000000..f3956daa
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn
@@ -0,0 +1,779 @@
+-- 3GPP TS 36.413 V17.5.0 (2023-06)
+-- 9.3.2 Elementary Procedure Definitions
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+S1AP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM S1AP-CommonDataTypes
+
+ CellTrafficTrace,
+ DeactivateTrace,
+ DownlinkUEAssociatedLPPaTransport,
+ DownlinkNASTransport,
+ DownlinkNonUEAssociatedLPPaTransport,
+ DownlinkS1cdma2000tunnelling,
+ ENBDirectInformationTransfer,
+ ENBStatusTransfer,
+ ENBConfigurationUpdate,
+ ENBConfigurationUpdateAcknowledge,
+ ENBConfigurationUpdateFailure,
+ ErrorIndication,
+ HandoverCancel,
+ HandoverCancelAcknowledge,
+ HandoverCommand,
+ HandoverFailure,
+ HandoverNotify,
+ HandoverPreparationFailure,
+ HandoverRequest,
+ HandoverRequestAcknowledge,
+ HandoverRequired,
+ InitialContextSetupFailure,
+ InitialContextSetupRequest,
+ InitialContextSetupResponse,
+ InitialUEMessage,
+ KillRequest,
+ KillResponse,
+ LocationReportingControl,
+ LocationReportingFailureIndication,
+ LocationReport,
+ MMEConfigurationUpdate,
+ MMEConfigurationUpdateAcknowledge,
+ MMEConfigurationUpdateFailure,
+ MMEDirectInformationTransfer,
+ MMEStatusTransfer,
+ NASNonDeliveryIndication,
+ OverloadStart,
+ OverloadStop,
+ Paging,
+ PathSwitchRequest,
+ PathSwitchRequestAcknowledge,
+ PathSwitchRequestFailure,
+ PrivateMessage,
+ Reset,
+ ResetAcknowledge,
+ S1SetupFailure,
+ S1SetupRequest,
+ S1SetupResponse,
+ E-RABModifyRequest,
+ E-RABModifyResponse,
+ E-RABModificationIndication,
+ E-RABModificationConfirm,
+ E-RABReleaseCommand,
+ E-RABReleaseResponse,
+ E-RABReleaseIndication,
+ E-RABSetupRequest,
+ E-RABSetupResponse,
+ TraceFailureIndication,
+ TraceStart,
+ UECapabilityInfoIndication,
+ UEContextModificationFailure,
+ UEContextModificationRequest,
+ UEContextModificationResponse,
+ UEContextReleaseCommand,
+ UEContextReleaseComplete,
+ UEContextReleaseRequest,
+ UERadioCapabilityMatchRequest,
+ UERadioCapabilityMatchResponse,
+ UplinkUEAssociatedLPPaTransport,
+ UplinkNASTransport,
+ UplinkNonUEAssociatedLPPaTransport,
+ UplinkS1cdma2000tunnelling,
+ WriteReplaceWarningRequest,
+ WriteReplaceWarningResponse,
+ ENBConfigurationTransfer,
+ MMEConfigurationTransfer,
+ PWSRestartIndication,
+ UEContextModificationIndication,
+ UEContextModificationConfirm,
+ RerouteNASRequest,
+ PWSFailureIndication,
+ UEContextSuspendRequest,
+ UEContextSuspendResponse,
+ UEContextResumeRequest,
+ UEContextResumeResponse,
+ UEContextResumeFailure,
+ ConnectionEstablishmentIndication,
+ NASDeliveryIndication,
+ RetrieveUEInformation,
+ UEInformationTransfer,
+ ENBCPRelocationIndication,
+ MMECPRelocationIndication,
+ SecondaryRATDataUsageReport,
+ UERadioCapabilityIDMappingRequest,
+ UERadioCapabilityIDMappingResponse,
+ HandoverSuccess,
+ ENBEarlyStatusTransfer,
+ MMEEarlyStatusTransfer
+
+
+FROM S1AP-PDU-Contents
+
+ id-CellTrafficTrace,
+ id-DeactivateTrace,
+ id-downlinkUEAssociatedLPPaTransport,
+ id-downlinkNASTransport,
+ id-downlinkNonUEAssociatedLPPaTransport,
+ id-DownlinkS1cdma2000tunnelling,
+ id-eNBStatusTransfer,
+ id-ErrorIndication,
+ id-HandoverCancel,
+ id-HandoverNotification,
+ id-HandoverPreparation,
+ id-HandoverResourceAllocation,
+ id-InitialContextSetup,
+ id-initialUEMessage,
+ id-ENBConfigurationUpdate,
+ id-Kill,
+ id-LocationReportingControl,
+ id-LocationReportingFailureIndication,
+ id-LocationReport,
+ id-eNBDirectInformationTransfer,
+ id-MMEConfigurationUpdate,
+ id-MMEDirectInformationTransfer,
+ id-MMEStatusTransfer,
+ id-NASNonDeliveryIndication,
+ id-OverloadStart,
+ id-OverloadStop,
+ id-Paging,
+ id-PathSwitchRequest,
+ id-PrivateMessage,
+ id-Reset,
+ id-S1Setup,
+ id-E-RABModify,
+ id-E-RABModificationIndication,
+ id-E-RABRelease,
+ id-E-RABReleaseIndication,
+ id-E-RABSetup,
+ id-TraceFailureIndication,
+ id-TraceStart,
+ id-UECapabilityInfoIndication,
+ id-UEContextModification,
+ id-UEContextRelease,
+ id-UEContextReleaseRequest,
+ id-UERadioCapabilityMatch,
+ id-uplinkUEAssociatedLPPaTransport,
+ id-uplinkNASTransport,
+ id-uplinkNonUEAssociatedLPPaTransport,
+ id-UplinkS1cdma2000tunnelling,
+ id-WriteReplaceWarning,
+ id-eNBConfigurationTransfer,
+ id-MMEConfigurationTransfer,
+ id-PWSRestartIndication,
+ id-UEContextModificationIndication,
+ id-RerouteNASRequest,
+ id-PWSFailureIndication,
+ id-UEContextSuspend,
+ id-UEContextResume,
+ id-ConnectionEstablishmentIndication,
+ id-NASDeliveryIndication,
+ id-RetrieveUEInformation,
+ id-UEInformationTransfer,
+ id-eNBCPRelocationIndication,
+ id-MMECPRelocationIndication,
+ id-SecondaryRATDataUsageReport,
+ id-UERadioCapabilityIDMapping,
+ id-HandoverSuccess,
+ id-eNBEarlyStatusTransfer,
+ id-MMEEarlyStatusTransfer
+
+
+FROM S1AP-Constants;
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+S1AP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
+ criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
+ criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
+ criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
+ S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
+ ...
+}
+
+
+S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
+ handoverPreparation |
+ handoverResourceAllocation |
+ pathSwitchRequest |
+ e-RABSetup |
+ e-RABModify |
+ e-RABRelease |
+ initialContextSetup |
+ handoverCancel |
+ kill |
+ reset |
+ s1Setup |
+ uEContextModification |
+ uEContextRelease |
+ eNBConfigurationUpdate |
+ mMEConfigurationUpdate |
+ writeReplaceWarning ,
+ ...,
+ uERadioCapabilityMatch |
+ e-RABModificationIndication |
+ uEContextModificationIndication |
+ uEContextSuspend |
+ uEContextResume |
+ uERadioCapabilityIDMapping
+}
+
+S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
+ handoverNotification |
+ e-RABReleaseIndication |
+ paging |
+ downlinkNASTransport |
+ initialUEMessage |
+ uplinkNASTransport |
+ errorIndication |
+ nASNonDeliveryIndication |
+ uEContextReleaseRequest |
+ downlinkS1cdma2000tunnelling |
+ uplinkS1cdma2000tunnelling |
+ uECapabilityInfoIndication |
+ eNBStatusTransfer |
+ mMEStatusTransfer |
+ deactivateTrace |
+ traceStart |
+ traceFailureIndication |
+ cellTrafficTrace |
+ locationReportingControl |
+ locationReportingFailureIndication |
+ locationReport |
+ overloadStart |
+ overloadStop |
+ eNBDirectInformationTransfer |
+ mMEDirectInformationTransfer |
+ eNBConfigurationTransfer |
+ mMEConfigurationTransfer |
+ privateMessage ,
+ ...,
+ downlinkUEAssociatedLPPaTransport |
+ uplinkUEAssociatedLPPaTransport |
+ downlinkNonUEAssociatedLPPaTransport |
+ uplinkNonUEAssociatedLPPaTransport |
+ pWSRestartIndication |
+ rerouteNASRequest |
+ pWSFailureIndication |
+ connectionEstablishmentIndication |
+ nASDeliveryIndication |
+ retrieveUEInformation |
+ uEInformationTransfer |
+ eNBCPRelocationIndication |
+ mMECPRelocationIndication |
+ secondaryRATDataUsageReport |
+ handoverSuccess |
+ eNBEarlyStatusTransfer |
+ mMEEarlyStatusTransfer
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverRequired
+ SUCCESSFUL OUTCOME HandoverCommand
+ UNSUCCESSFUL OUTCOME HandoverPreparationFailure
+ PROCEDURE CODE id-HandoverPreparation
+ CRITICALITY reject
+}
+
+handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverRequest
+ SUCCESSFUL OUTCOME HandoverRequestAcknowledge
+ UNSUCCESSFUL OUTCOME HandoverFailure
+ PROCEDURE CODE id-HandoverResourceAllocation
+ CRITICALITY reject
+}
+
+handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverNotify
+ PROCEDURE CODE id-HandoverNotification
+ CRITICALITY ignore
+}
+
+pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PathSwitchRequest
+ SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
+ UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
+ PROCEDURE CODE id-PathSwitchRequest
+ CRITICALITY reject
+}
+
+e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-RABSetupRequest
+ SUCCESSFUL OUTCOME E-RABSetupResponse
+ PROCEDURE CODE id-E-RABSetup
+ CRITICALITY reject
+}
+
+e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-RABModifyRequest
+ SUCCESSFUL OUTCOME E-RABModifyResponse
+ PROCEDURE CODE id-E-RABModify
+ CRITICALITY reject
+}
+
+e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-RABReleaseCommand
+ SUCCESSFUL OUTCOME E-RABReleaseResponse
+ PROCEDURE CODE id-E-RABRelease
+ CRITICALITY reject
+}
+
+e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-RABReleaseIndication
+ PROCEDURE CODE id-E-RABReleaseIndication
+ CRITICALITY ignore
+}
+
+initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InitialContextSetupRequest
+ SUCCESSFUL OUTCOME InitialContextSetupResponse
+ UNSUCCESSFUL OUTCOME InitialContextSetupFailure
+ PROCEDURE CODE id-InitialContextSetup
+ CRITICALITY reject
+}
+
+uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextReleaseRequest
+ PROCEDURE CODE id-UEContextReleaseRequest
+ CRITICALITY ignore
+}
+
+paging S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Paging
+ PROCEDURE CODE id-Paging
+ CRITICALITY ignore
+}
+
+downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkNASTransport
+ PROCEDURE CODE id-downlinkNASTransport
+ CRITICALITY ignore
+}
+
+initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE InitialUEMessage
+ PROCEDURE CODE id-initialUEMessage
+ CRITICALITY ignore
+}
+
+uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkNASTransport
+ PROCEDURE CODE id-uplinkNASTransport
+ CRITICALITY ignore
+}
+nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE NASNonDeliveryIndication
+ PROCEDURE CODE id-NASNonDeliveryIndication
+ CRITICALITY ignore
+}
+
+handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverCancel
+ SUCCESSFUL OUTCOME HandoverCancelAcknowledge
+ PROCEDURE CODE id-HandoverCancel
+ CRITICALITY reject
+}
+
+reset S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Reset
+ SUCCESSFUL OUTCOME ResetAcknowledge
+ PROCEDURE CODE id-Reset
+ CRITICALITY reject
+}
+
+errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-ErrorIndication
+ CRITICALITY ignore
+}
+
+s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE S1SetupRequest
+ SUCCESSFUL OUTCOME S1SetupResponse
+ UNSUCCESSFUL OUTCOME S1SetupFailure
+ PROCEDURE CODE id-S1Setup
+ CRITICALITY reject
+}
+
+eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENBConfigurationUpdate
+ SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
+ PROCEDURE CODE id-ENBConfigurationUpdate
+ CRITICALITY reject
+}
+
+mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MMEConfigurationUpdate
+ SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure
+ PROCEDURE CODE id-MMEConfigurationUpdate
+ CRITICALITY reject
+}
+
+downlinkS1cdma2000tunnelling S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkS1cdma2000tunnelling
+ PROCEDURE CODE id-DownlinkS1cdma2000tunnelling
+ CRITICALITY ignore
+}
+
+uplinkS1cdma2000tunnelling S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkS1cdma2000tunnelling
+ PROCEDURE CODE id-UplinkS1cdma2000tunnelling
+ CRITICALITY ignore
+}
+
+uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextModificationRequest
+ SUCCESSFUL OUTCOME UEContextModificationResponse
+ UNSUCCESSFUL OUTCOME UEContextModificationFailure
+ PROCEDURE CODE id-UEContextModification
+ CRITICALITY reject
+}
+
+uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UECapabilityInfoIndication
+ PROCEDURE CODE id-UECapabilityInfoIndication
+ CRITICALITY ignore
+}
+
+uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextReleaseCommand
+ SUCCESSFUL OUTCOME UEContextReleaseComplete
+ PROCEDURE CODE id-UEContextRelease
+ CRITICALITY reject
+}
+
+eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENBStatusTransfer
+ PROCEDURE CODE id-eNBStatusTransfer
+ CRITICALITY ignore
+}
+
+mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MMEStatusTransfer
+ PROCEDURE CODE id-MMEStatusTransfer
+ CRITICALITY ignore
+}
+
+deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DeactivateTrace
+ PROCEDURE CODE id-DeactivateTrace
+ CRITICALITY ignore
+}
+
+traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TraceStart
+ PROCEDURE CODE id-TraceStart
+ CRITICALITY ignore
+}
+
+traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TraceFailureIndication
+ PROCEDURE CODE id-TraceFailureIndication
+ CRITICALITY ignore
+}
+cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
+INITIATING MESSAGE CellTrafficTrace
+PROCEDURE CODE id-CellTrafficTrace
+CRITICALITY ignore
+}
+
+locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LocationReportingControl
+ PROCEDURE CODE id-LocationReportingControl
+ CRITICALITY ignore
+}
+
+locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LocationReportingFailureIndication
+ PROCEDURE CODE id-LocationReportingFailureIndication
+ CRITICALITY ignore
+}
+
+locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LocationReport
+ PROCEDURE CODE id-LocationReport
+ CRITICALITY ignore
+}
+
+overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE OverloadStart
+ PROCEDURE CODE id-OverloadStart
+ CRITICALITY ignore
+}
+
+overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE OverloadStop
+ PROCEDURE CODE id-OverloadStop
+ CRITICALITY reject
+}
+
+writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE WriteReplaceWarningRequest
+ SUCCESSFUL OUTCOME WriteReplaceWarningResponse
+ PROCEDURE CODE id-WriteReplaceWarning
+ CRITICALITY reject
+}
+
+eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENBDirectInformationTransfer
+ PROCEDURE CODE id-eNBDirectInformationTransfer
+ CRITICALITY ignore
+}
+
+mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MMEDirectInformationTransfer
+ PROCEDURE CODE id-MMEDirectInformationTransfer
+ CRITICALITY ignore
+}
+
+eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENBConfigurationTransfer
+ PROCEDURE CODE id-eNBConfigurationTransfer
+ CRITICALITY ignore
+}
+
+mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MMEConfigurationTransfer
+ PROCEDURE CODE id-MMEConfigurationTransfer
+ CRITICALITY ignore
+}
+
+
+privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-PrivateMessage
+ CRITICALITY ignore
+}
+
+pWSRestartIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWSRestartIndication
+ PROCEDURE CODE id-PWSRestartIndication
+ CRITICALITY ignore
+}
+
+kill S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE KillRequest
+ SUCCESSFUL OUTCOME KillResponse
+ PROCEDURE CODE id-Kill
+ CRITICALITY reject
+}
+
+downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport
+ PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport
+ CRITICALITY ignore
+}
+
+uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkUEAssociatedLPPaTransport
+ PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport
+ CRITICALITY ignore
+}
+downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport
+ PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport
+ CRITICALITY ignore
+}
+
+uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport
+ PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport
+ CRITICALITY ignore
+}
+
+uERadioCapabilityMatch S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UERadioCapabilityMatchRequest
+ SUCCESSFUL OUTCOME UERadioCapabilityMatchResponse
+ PROCEDURE CODE id-UERadioCapabilityMatch
+ CRITICALITY reject
+}
+
+e-RABModificationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-RABModificationIndication
+ SUCCESSFUL OUTCOME E-RABModificationConfirm
+ PROCEDURE CODE id-E-RABModificationIndication
+ CRITICALITY reject
+}
+
+uEContextModificationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextModificationIndication
+ SUCCESSFUL OUTCOME UEContextModificationConfirm
+ PROCEDURE CODE id-UEContextModificationIndication
+ CRITICALITY reject
+}
+
+rerouteNASRequest S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RerouteNASRequest
+ PROCEDURE CODE id-RerouteNASRequest
+ CRITICALITY reject
+}
+
+pWSFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWSFailureIndication
+ PROCEDURE CODE id-PWSFailureIndication
+ CRITICALITY ignore
+}
+
+uEContextSuspend S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextSuspendRequest
+ SUCCESSFUL OUTCOME UEContextSuspendResponse
+ PROCEDURE CODE id-UEContextSuspend
+ CRITICALITY reject
+}
+
+uEContextResume S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextResumeRequest
+ SUCCESSFUL OUTCOME UEContextResumeResponse
+ UNSUCCESSFUL OUTCOME UEContextResumeFailure
+ PROCEDURE CODE id-UEContextResume
+ CRITICALITY reject
+}
+
+connectionEstablishmentIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ConnectionEstablishmentIndication
+ PROCEDURE CODE id-ConnectionEstablishmentIndication
+ CRITICALITY reject
+}
+
+nASDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE NASDeliveryIndication
+ PROCEDURE CODE id-NASDeliveryIndication
+ CRITICALITY ignore
+}
+
+retrieveUEInformation S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RetrieveUEInformation
+ PROCEDURE CODE id-RetrieveUEInformation
+ CRITICALITY reject
+}
+
+uEInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEInformationTransfer
+ PROCEDURE CODE id-UEInformationTransfer
+ CRITICALITY reject
+}
+
+eNBCPRelocationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENBCPRelocationIndication
+ PROCEDURE CODE id-eNBCPRelocationIndication
+ CRITICALITY reject
+}
+
+mMECPRelocationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MMECPRelocationIndication
+ PROCEDURE CODE id-MMECPRelocationIndication
+ CRITICALITY reject
+}
+
+secondaryRATDataUsageReport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SecondaryRATDataUsageReport
+ PROCEDURE CODE id-SecondaryRATDataUsageReport
+ CRITICALITY ignore
+}
+
+uERadioCapabilityIDMapping S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UERadioCapabilityIDMappingRequest
+ SUCCESSFUL OUTCOME UERadioCapabilityIDMappingResponse
+ PROCEDURE CODE id-UERadioCapabilityIDMapping
+ CRITICALITY reject
+}
+
+handoverSuccess S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverSuccess
+ PROCEDURE CODE id-HandoverSuccess
+ CRITICALITY ignore
+}
+
+eNBEarlyStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENBEarlyStatusTransfer
+ PROCEDURE CODE id-eNBEarlyStatusTransfer
+ CRITICALITY reject
+}
+
+mMEEarlyStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MMEEarlyStatusTransfer
+ PROCEDURE CODE id-MMEEarlyStatusTransfer
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn b/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn
new file mode 100644
index 00000000..73d734fe
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn
@@ -0,0 +1,335 @@
+-- 3GPP TS 36.413 V17.5.0 (2023-06)
+-- B.2 ASN.1 definition
+-- **************************************************************
+--
+-- IE definitions for the SON Transfer application
+-- The IEs in this ASN.1 module shall be defined and encoded
+-- using the same rules as applicable for the S1AP-IEs module.
+--
+-- **************************************************************
+SonTransfer-IEs
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+--
+-- Generic IEs for the SON Transfer application
+--
+
+SONtransferApplicationIdentity ::= ENUMERATED {
+ cell-load-reporting,
+ ...,
+ multi-cell-load-reporting,
+ event-triggered-cell-load-reporting,
+ ho-reporting,
+ eutran-cell-activation,
+ energy-savings-indication,
+ failure-event-reporting
+}
+
+SONtransferRequestContainer ::= CHOICE{
+ cellLoadReporting NULL,
+ ...,
+ multiCellLoadReporting MultiCellLoadReportingRequest,
+ eventTriggeredCellLoadReporting EventTriggeredCellLoadReportingRequest,
+ hOReporting HOReport,
+ eutranCellActivation CellActivationRequest,
+ energySavingsIndication CellStateIndication,
+ failureEventReporting FailureEventReport
+}
+
+SONtransferResponseContainer ::= CHOICE{
+ cellLoadReporting CellLoadReportingResponse,
+ ...,
+ multiCellLoadReporting MultiCellLoadReportingResponse,
+ eventTriggeredCellLoadReporting EventTriggeredCellLoadReportingResponse,
+ hOReporting NULL,
+ eutranCellActivation CellActivationResponse,
+ energySavingsIndication NULL,
+ failureEventReporting NULL
+}
+
+SONtransferCause ::= CHOICE {
+ cellLoadReporting CellLoadReportingCause,
+ ...,
+ multiCellLoadReporting CellLoadReportingCause,
+ eventTriggeredCellLoadReporting CellLoadReportingCause,
+ hOReporting HOReportingCause,
+ eutranCellActivation CellActivationCause,
+ energySavingsIndication CellStateIndicationCause,
+ failureEventReporting FailureEventReportingCause
+}
+
+
+CellLoadReportingCause ::= ENUMERATED {
+ application-container-syntax-error,
+ inconsistent-reporting-cell-identifier,
+ unspecified,
+ ...
+}
+
+HOReportingCause ::= ENUMERATED {
+ application-container-syntax-error,
+ inconsistent-reporting-cell-identifier,
+ unspecified,
+ ...
+}
+
+CellActivationCause ::= ENUMERATED {
+ application-container-syntax-error,
+ inconsistent-reporting-cell-identifier,
+ unspecified,
+ ...
+}
+
+CellStateIndicationCause ::= ENUMERATED {
+ application-container-syntax-error,
+ inconsistent-reporting-cell-identifier,
+ unspecified,
+ ...
+}
+
+FailureEventReportingCause ::= ENUMERATED {
+ application-container-syntax-error,
+ inconsistent-reporting-cell-identifier,
+ unspecified,
+ ...
+}
+
+--
+-- IEs for Cell Load Reporting application
+--
+
+CellLoadReportingResponse::= CHOICE{
+ eUTRAN EUTRANcellLoadReportingResponse,
+ uTRAN OCTET STRING,
+ gERAN OCTET STRING,
+ ...,
+ eHRPD EHRPDSectorLoadReportingResponse
+}
+
+CompositeAvailableCapacityGroup ::= OCTET STRING
+
+EUTRANcellLoadReportingResponse ::= SEQUENCE {
+ compositeAvailableCapacityGroup CompositeAvailableCapacityGroup,
+ ...
+}
+
+--
+-- IEs for Multi-Cell Load Reporting application
+--
+
+EUTRANResponse::= SEQUENCE {
+ cell-ID OCTET STRING,
+ eUTRANcellLoadReportingResponse EUTRANcellLoadReportingResponse,
+ ...
+}
+
+EHRPD-Sector-ID ::= OCTET STRING (SIZE (16))
+
+IRAT-Cell-ID ::= CHOICE{
+ eUTRAN OCTET STRING,
+ uTRAN OCTET STRING,
+ gERAN OCTET STRING,
+ ...,
+ eHRPD EHRPD-Sector-ID
+}
+
+RequestedCellList ::= SEQUENCE (SIZE(1.. maxnoofIRATReportingCells)) OF IRAT-Cell-ID
+
+MultiCellLoadReportingRequest::= SEQUENCE {
+ requestedCellList RequestedCellList,
+ ...
+}
+
+ReportingCellList-Item ::= SEQUENCE {
+ cell-ID IRAT-Cell-ID,
+ ...
+}
+
+ReportingCellList ::= SEQUENCE (SIZE(1.. maxnoofIRATReportingCells)) OF ReportingCellList-Item
+
+MultiCellLoadReportingResponse ::= SEQUENCE (SIZE(1.. maxnoofIRATReportingCells)) OF MultiCellLoadReportingResponse-Item
+
+MultiCellLoadReportingResponse-Item ::= CHOICE{
+ eUTRANResponse EUTRANResponse,
+ uTRANResponse OCTET STRING,
+ gERANResponse OCTET STRING,
+ ...,
+ eHRPD EHRPDMultiSectorLoadReportingResponseItem
+}
+
+
+--
+-- IEs for Event-triggered Cell Load Reporting application
+--
+
+NumberOfMeasurementReportingLevels ::= ENUMERATED {
+ rl2,
+ rl3,
+ rl4,
+ rl5,
+ rl10,
+ ...
+}
+
+EventTriggeredCellLoadReportingRequest ::= SEQUENCE {
+ numberOfMeasurementReportingLevels NumberOfMeasurementReportingLevels,
+ ...
+}
+
+OverloadFlag ::= ENUMERATED {
+ overload,
+ ...
+}
+
+EventTriggeredCellLoadReportingResponse ::= SEQUENCE {
+ cellLoadReportingResponse CellLoadReportingResponse,
+ overloadFlag OverloadFlag OPTIONAL,
+ ...
+}
+
+--
+-- IEs for HO Reporting application
+--
+
+
+
+HOReport::= SEQUENCE {
+ hoType HoType,
+ hoReportType HoReportType,
+ hosourceID IRAT-Cell-ID,
+ hoTargetID IRAT-Cell-ID,
+ candidateCellList CandidateCellList,
+ ...,
+ candidatePCIList CandidatePCIList OPTIONAL
+}
+
+HoType ::= ENUMERATED {
+ ltetoutran,
+ ltetogeran,
+ ...
+}
+
+HoReportType ::= ENUMERATED {
+ unnecessaryhotoanotherrat,
+ ...,
+ earlyirathandover
+}
+
+CandidateCellList ::= SEQUENCE (SIZE(1..maxnoofcandidateCells)) OF IRAT-Cell-ID
+
+CandidatePCIList ::= SEQUENCE (SIZE(1..maxnoofcandidateCells)) OF CandidatePCI
+
+CandidatePCI ::= SEQUENCE {
+ pCI INTEGER (0..503),
+ eARFCN OCTET STRING,
+ ...
+}
+
+--
+-- IEs for E-UTRAN Cell Activation application
+--
+
+CellActivationRequest ::= SEQUENCE {
+ cellsToActivateList CellsToActivateList,
+ minimumActivationTime INTEGER (1..60) OPTIONAL,
+...
+}
+
+CellsToActivateList ::= SEQUENCE (SIZE(1.. maxnoofCellineNB)) OF CellsToActivateList-Item
+
+CellsToActivateList-Item ::= SEQUENCE {
+ cell-ID OCTET STRING,
+ ...
+}
+
+CellActivationResponse ::= SEQUENCE {
+ activatedCellsList ActivatedCellsList,
+ ...
+}
+
+ActivatedCellsList ::= SEQUENCE (SIZE(0.. maxnoofCellineNB)) OF ActivatedCellsList-Item
+
+ActivatedCellsList-Item ::= SEQUENCE {
+ cell-ID OCTET STRING,
+ ...
+}
+
+--
+-- IEs for Energy Savings Indication application
+--
+
+CellStateIndication ::= SEQUENCE {
+ notificationCellList NotificationCellList,
+ ...
+}
+
+NotificationCellList ::= SEQUENCE (SIZE(1.. maxnoofCellineNB)) OF NotificationCellList-Item
+
+NotificationCellList-Item ::= SEQUENCE {
+ cell-ID OCTET STRING,
+ notifyFlag NotifyFlag,
+ ...
+}
+
+NotifyFlag ::= ENUMERATED {
+ activated,
+ deactivated,
+ ...
+}
+
+FailureEventReport::= CHOICE {
+ tooEarlyInterRATHOReportFromEUTRAN TooEarlyInterRATHOReportReportFromEUTRAN,
+ ...
+}
+
+TooEarlyInterRATHOReportReportFromEUTRAN ::= SEQUENCE {
+ uERLFReportContainer OCTET STRING,
+ mobilityInformation MobilityInformation OPTIONAL,
+ ...
+}
+
+-- WS modification, already defined in S1AP-IEs.asn
+--MobilityInformation ::= BIT STRING (SIZE(32))
+
+
+--
+-- IEs for reporting of eHRPD load
+--
+
+EHRPDCapacityValue ::= INTEGER (0..100)
+
+EHRPDSectorCapacityClassValue ::= INTEGER (1..100, ...)
+
+EHRPDSectorLoadReportingResponse ::= SEQUENCE {
+ dL-EHRPD-CompositeAvailableCapacity EHRPDCompositeAvailableCapacity,
+ uL-EHRPD-CompositeAvailableCapacity EHRPDCompositeAvailableCapacity,
+ ...
+}
+
+EHRPDCompositeAvailableCapacity ::= SEQUENCE {
+ eHRPDSectorCapacityClassValue EHRPDSectorCapacityClassValue,
+ eHRPDCapacityValue EHRPDCapacityValue,
+ ...
+}
+
+EHRPDMultiSectorLoadReportingResponseItem ::= SEQUENCE {
+ eHRPD-Sector-ID EHRPD-Sector-ID,
+ eHRPDSectorLoadReportingResponse EHRPDSectorLoadReportingResponse,
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Constants
+--
+-- **************************************************************
+
+maxnoofIRATReportingCells INTEGER ::= 128
+maxnoofcandidateCells INTEGER ::= 16
+maxnoofCellineNB INTEGER ::= 256
+
+END
diff --git a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c
new file mode 100644
index 00000000..a5e2e878
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c
@@ -0,0 +1,843 @@
+/* packet-s1ap.c
+ * Routines for E-UTRAN S1 Application Protocol (S1AP) packet dissection
+ * Copyright 2007-2016, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Based on the RANAP dissector
+ *
+ * References: 3GPP TS 36.413 V17.5.0 (2023-06)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/sctpppids.h>
+#include <epan/expert.h>
+#include <epan/conversation.h>
+#include <epan/proto_data.h>
+#include <epan/exceptions.h>
+#include <epan/show_exception.h>
+
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-e212.h"
+#include "packet-sccp.h"
+#include "packet-lte-rrc.h"
+#include "packet-ranap.h"
+#include "packet-bssgp.h"
+#include "packet-s1ap.h"
+#include "packet-a21.h"
+#include "packet-gsm_map.h"
+#include "packet-cell_broadcast.h"
+#include "packet-gsm_a_common.h"
+#include "packet-ntp.h"
+#include "packet-ngap.h"
+
+#define PNAME "S1 Application Protocol"
+#define PSNAME "S1AP"
+#define PFNAME "s1ap"
+
+/* Dissector will use SCTP PPID 18 or SCTP port. IANA assigned port = 36412 */
+#define SCTP_PORT_S1AP 36412
+
+void proto_register_s1ap(void);
+void proto_reg_handoff_s1ap(void);
+
+static dissector_handle_t gcsna_handle;
+static dissector_handle_t nas_eps_handle;
+static dissector_handle_t lppa_handle;
+static dissector_handle_t bssgp_handle;
+static dissector_handle_t lte_rrc_ue_radio_access_cap_info_handle;
+static dissector_handle_t lte_rrc_ue_radio_access_cap_info_nb_handle;
+static dissector_handle_t nr_rrc_ue_radio_access_cap_info_handle;
+static dissector_handle_t lte_rrc_ue_radio_paging_info_handle;
+static dissector_handle_t lte_rrc_ue_radio_paging_info_nb_handle;
+static dissector_handle_t nr_rrc_ue_radio_paging_info_handle;
+
+#include "packet-s1ap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_s1ap = -1;
+
+static int hf_s1ap_transportLayerAddressIPv4 = -1;
+static int hf_s1ap_transportLayerAddressIPv6 = -1;
+static int hf_s1ap_E_UTRAN_Trace_ID_TraceID = -1;
+static int hf_s1ap_E_UTRAN_Trace_ID_TraceRecordingSessionReference = -1;
+static int hf_s1ap_interfacesToTrace_S1_MME = -1;
+static int hf_s1ap_interfacesToTrace_X2 = -1;
+static int hf_s1ap_interfacesToTrace_Uu = -1;
+static int hf_s1ap_interfacesToTrace_F1_C = -1;
+static int hf_s1ap_interfacesToTrace_E1 = -1;
+static int hf_s1ap_interfacesToTrace_Reserved = -1;
+static int hf_s1ap_encryptionAlgorithms_EEA1 = -1;
+static int hf_s1ap_encryptionAlgorithms_EEA2 = -1;
+static int hf_s1ap_encryptionAlgorithms_EEA3 = -1;
+static int hf_s1ap_encryptionAlgorithms_Reserved = -1;
+static int hf_s1ap_integrityProtectionAlgorithms_EIA1 = -1;
+static int hf_s1ap_integrityProtectionAlgorithms_EIA2 = -1;
+static int hf_s1ap_integrityProtectionAlgorithms_EIA3 = -1;
+static int hf_s1ap_integrityProtectionAlgorithms_EIA7 = -1;
+static int hf_s1ap_integrityProtectionAlgorithms_Reserved = -1;
+static int hf_s1ap_SerialNumber_gs = -1;
+static int hf_s1ap_SerialNumber_msg_code = -1;
+static int hf_s1ap_SerialNumber_upd_nb = -1;
+static int hf_s1ap_WarningType_value = -1;
+static int hf_s1ap_WarningType_emergency_user_alert = -1;
+static int hf_s1ap_WarningType_popup = -1;
+static int hf_s1ap_WarningMessageContents_nb_pages = -1;
+static int hf_s1ap_WarningMessageContents_decoded_page = -1;
+static int hf_s1ap_measurementsToActivate_M1 = -1;
+static int hf_s1ap_measurementsToActivate_M2 = -1;
+static int hf_s1ap_measurementsToActivate_M3 = -1;
+static int hf_s1ap_measurementsToActivate_M4 = -1;
+static int hf_s1ap_measurementsToActivate_M5 = -1;
+static int hf_s1ap_measurementsToActivate_LoggingM1FromEventTriggered = -1;
+static int hf_s1ap_measurementsToActivate_M6 = -1;
+static int hf_s1ap_measurementsToActivate_M7 = -1;
+static int hf_s1ap_MDT_Location_Info_GNSS = -1;
+static int hf_s1ap_MDT_Location_Info_E_CID = -1;
+static int hf_s1ap_MDT_Location_Info_Reserved = -1;
+static int hf_s1ap_NRencryptionAlgorithms_NEA1 = -1;
+static int hf_s1ap_NRencryptionAlgorithms_NEA2 = -1;
+static int hf_s1ap_NRencryptionAlgorithms_NEA3 = -1;
+static int hf_s1ap_NRencryptionAlgorithms_Reserved = -1;
+static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA1 = -1;
+static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA2 = -1;
+static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA3 = -1;
+static int hf_s1ap_NRintegrityProtectionAlgorithms_Reserved = -1;
+static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service = -1;
+static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service = -1;
+static int hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved = -1;
+static int hf_s1ap_rAT_RestrictionInformation_LEO = -1;
+static int hf_s1ap_rAT_RestrictionInformation_MEO = -1;
+static int hf_s1ap_rAT_RestrictionInformation_GEO = -1;
+static int hf_s1ap_rAT_RestrictionInformation_OTHERSAT = -1;
+static int hf_s1ap_rAT_RestrictionInformation_Reserved = -1;
+#include "packet-s1ap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_s1ap = -1;
+static int ett_s1ap_TransportLayerAddress = -1;
+static int ett_s1ap_ToTargetTransparentContainer = -1;
+static int ett_s1ap_ToSourceTransparentContainer = -1;
+static int ett_s1ap_RRCContainer = -1;
+static int ett_s1ap_UERadioCapability = -1;
+static int ett_s1ap_RIMInformation = -1;
+static int ett_s1ap_Cdma2000PDU = -1;
+static int ett_s1ap_Cdma2000SectorID = -1;
+static int ett_s1ap_UERadioPagingInformation = -1;
+static int ett_s1ap_UE_HistoryInformationFromTheUE = -1;
+static int ett_s1ap_CELevel = -1;
+static int ett_s1ap_UE_RLF_Report_Container = -1;
+static int ett_s1ap_UE_RLF_Report_Container_for_extended_bands = -1;
+static int ett_s1ap_S1_Message = -1;
+static int ett_s1ap_E_UTRAN_Trace_ID = -1;
+static int ett_s1ap_InterfacesToTrace = -1;
+static int ett_s1ap_EncryptionAlgorithms = -1;
+static int ett_s1ap_IntegrityProtectionAlgorithms = -1;
+static int ett_s1ap_LastVisitedNGRANCellInformation = -1;
+static int ett_s1ap_LastVisitedUTRANCellInformation = -1;
+static int ett_s1ap_SerialNumber = -1;
+static int ett_s1ap_WarningType = -1;
+static int ett_s1ap_DataCodingScheme = -1;
+static int ett_s1ap_WarningMessageContents = -1;
+static int ett_s1ap_MSClassmark = -1;
+static int ett_s1ap_MeasurementsToActivate = -1;
+static int ett_s1ap_MDT_Location_Info = -1;
+static int ett_s1ap_IMSI = -1;
+static int ett_s1ap_NASSecurityParameters = -1;
+static int ett_s1ap_NRencryptionAlgorithms = -1;
+static int ett_s1ap_NRintegrityProtectionAlgorithms = -1;
+static int ett_s1ap_UE_Application_Layer_Measurement_Capability = -1;
+static int ett_s1ap_sMTC = -1;
+static int ett_s1ap_threshRS_Index_r15 = -1;
+static int ett_s1ap_sSBToMeasure = -1;
+static int ett_s1ap_sSRSSIMeasurement = -1;
+static int ett_s1ap_quantityConfigNR_R15 = -1;
+static int ett_s1ap_excludedCellsToAddModList = -1;
+static int ett_s1ap_NB_IoT_RLF_Report_Container = -1;
+static int ett_s1ap_MDT_ConfigurationNR = -1;
+static int ett_s1ap_IntersystemSONConfigurationTransfer = -1;
+static int ett_s1ap_rAT_RestrictionInformation = -1;
+#include "packet-s1ap-ett.c"
+
+static expert_field ei_s1ap_number_pages_le15 = EI_INIT;
+
+enum{
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+struct s1ap_conv_info {
+ wmem_map_t *nbiot_ta;
+ wmem_tree_t *nbiot_enb_ue_s1ap_id;
+};
+
+struct s1ap_supported_ta {
+ guint16 tac;
+ wmem_array_t *plmn;
+};
+
+struct s1ap_tai {
+ guint32 plmn;
+ guint16 tac;
+};
+
+struct s1ap_private_data {
+ struct s1ap_conv_info *s1ap_conv;
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ guint32 protocol_extension_id;
+ guint32 handover_type_value;
+ guint32 message_type;
+ guint8 data_coding_scheme;
+ struct s1ap_supported_ta *supported_ta;
+ const char *obj_id;
+ struct s1ap_tai *tai;
+ guint16 enb_ue_s1ap_id;
+ gboolean srvcc_ho_cs_only;
+ guint8 transparent_container_type;
+ e212_number_type_t number_type;
+};
+
+enum {
+ S1AP_LTE_CONTAINER_AUTOMATIC,
+ S1AP_LTE_CONTAINER_LEGACY,
+ S1AP_LTE_CONTAINER_NBIOT
+};
+
+static const enum_val_t s1ap_lte_container_vals[] = {
+ {"automatic", "Automatic", S1AP_LTE_CONTAINER_AUTOMATIC},
+ {"legacy", "Legacy LTE", S1AP_LTE_CONTAINER_LEGACY},
+ {"nb-iot","NB-IoT", S1AP_LTE_CONTAINER_NBIOT},
+ {NULL, NULL, -1}
+};
+
+enum {
+ SOURCE_TO_TARGET_TRANSPARENT_CONTAINER = 1,
+ TARGET_TO_SOURCE_TRANSPARENT_CONTAINER
+};
+
+/* Global variables */
+static gboolean g_s1ap_dissect_container = TRUE;
+static gint g_s1ap_dissect_lte_container_as = S1AP_LTE_CONTAINER_AUTOMATIC;
+
+static dissector_handle_t s1ap_handle;
+
+/* Dissector tables */
+static dissector_table_t s1ap_ies_dissector_table;
+static dissector_table_t s1ap_ies_p1_dissector_table;
+static dissector_table_t s1ap_ies_p2_dissector_table;
+static dissector_table_t s1ap_extension_dissector_table;
+static dissector_table_t s1ap_proc_imsg_dissector_table;
+static dissector_table_t s1ap_proc_sout_dissector_table;
+static dissector_table_t s1ap_proc_uout_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+/* Currently not used
+static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+*/
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+static int dissect_InitialUEMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data);
+#if 0
+static int dissect_SourceRNC_ToTargetRNC_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+static int dissect_TargetRNC_ToSourceRNC_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+static int dissect_SourceBSS_ToTargetBSS_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+static int dissect_TargetBSS_ToSourceBSS_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+#endif
+
+static void
+s1ap_Threshold_RSRP_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", (gint32)v-140, v);
+}
+
+static void
+s1ap_Threshold_RSRQ_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-20, v);
+}
+
+static void
+s1ap_Hysteresis_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", (float)v/2, v);
+}
+
+static const true_false_string s1ap_tfs_interfacesToTrace = {
+ "Should be traced",
+ "Should not be traced"
+};
+
+static void
+s1ap_Time_UE_StayedInCell_EnhancedGranularity_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fs", ((float)v)/10);
+}
+
+const value_string s1ap_serialNumber_gs_vals[] = {
+ { 0, "Display mode immediate, cell wide"},
+ { 1, "Display mode normal, PLMN wide"},
+ { 2, "Display mode normal, tracking area wide"},
+ { 3, "Display mode normal, cell wide"},
+ { 0, NULL},
+};
+
+const value_string s1ap_warningType_vals[] = {
+ { 0, "Earthquake"},
+ { 1, "Tsunami"},
+ { 2, "Earthquake and Tsunami"},
+ { 3, "Test"},
+ { 4, "Other"},
+ { 0, NULL},
+};
+
+void
+dissect_s1ap_warningMessageContents(tvbuff_t *warning_msg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dcs, int hf_nb_pages, int hf_decoded_page)
+{
+ guint32 offset;
+ guint8 nb_of_pages, length, *str;
+ proto_item *ti;
+ tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
+ int i;
+
+ nb_of_pages = tvb_get_guint8(warning_msg_tvb, 0);
+ ti = proto_tree_add_uint(tree, hf_nb_pages, warning_msg_tvb, 0, 1, nb_of_pages);
+ if (nb_of_pages > 15) {
+ expert_add_info_format(pinfo, ti, &ei_s1ap_number_pages_le15,
+ "Number of pages should be <=15 (found %u)", nb_of_pages);
+ nb_of_pages = 15;
+ }
+ for (i = 0, offset = 1; i < nb_of_pages; i++) {
+ length = tvb_get_guint8(warning_msg_tvb, offset+82);
+ cb_data_page_tvb = tvb_new_subset_length(warning_msg_tvb, offset, length);
+ cb_data_tvb = dissect_cbs_data(dcs, cb_data_page_tvb, tree, pinfo, 0);
+ if (cb_data_tvb) {
+ str = tvb_get_string_enc(pinfo->pool, cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
+ proto_tree_add_string_format(tree, hf_decoded_page, warning_msg_tvb, offset, 83,
+ str, "Decoded Page %u: %s", i+1, str);
+ }
+ offset += 83;
+ }
+}
+
+static void
+s1ap_EUTRANRoundTripDelayEstimationInfo_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%uTs (%u)", 16*v, v);
+}
+
+static const true_false_string s1ap_tfs_activate_do_not_activate = {
+ "Activate",
+ "Do not activate"
+};
+
+static void
+s1ap_Packet_LossRate_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f %% (%u)", (float)v/10, v);
+}
+
+static void
+s1ap_threshold_nr_rsrp_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", (gint32)v-156, v);
+}
+
+static void
+s1ap_threshold_nr_rsrq_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-43, v);
+}
+
+static void
+s1ap_threshold_nr_sinr_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-23, v);
+}
+
+static struct s1ap_private_data*
+s1ap_get_private_data(packet_info *pinfo)
+{
+ struct s1ap_private_data *s1ap_data = (struct s1ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_s1ap, 0);
+ if (!s1ap_data) {
+ s1ap_data = wmem_new0(pinfo->pool, struct s1ap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_s1ap, 0, s1ap_data);
+ }
+ return s1ap_data;
+}
+
+static gboolean
+s1ap_is_nbiot_ue(packet_info *pinfo)
+{
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
+
+ if (s1ap_data->s1ap_conv) {
+ wmem_tree_key_t tree_key[3];
+ guint32 *id;
+ guint32 enb_ue_s1ap_id = s1ap_data->enb_ue_s1ap_id;
+
+ tree_key[0].length = 1;
+ tree_key[0].key = &enb_ue_s1ap_id;
+ tree_key[1].length = 1;
+ tree_key[1].key = &pinfo->num;
+ tree_key[2].length = 0;
+ tree_key[2].key = NULL;
+ id = (guint32*)wmem_tree_lookup32_array_le(s1ap_data->s1ap_conv->nbiot_enb_ue_s1ap_id, tree_key);
+ if (id && (*id == enb_ue_s1ap_id)) {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+#include "packet-s1ap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ s1ap_ctx_t s1ap_ctx;
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
+
+ s1ap_ctx.message_type = s1ap_data->message_type;
+ s1ap_ctx.ProcedureCode = s1ap_data->procedure_code;
+ s1ap_ctx.ProtocolIE_ID = s1ap_data->protocol_ie_id;
+ s1ap_ctx.ProtocolExtensionID = s1ap_data->protocol_extension_id;
+
+ return (dissector_try_uint_new(s1ap_ies_dissector_table, s1ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &s1ap_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+/* Currently not used
+static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint(s1ap_ies_p1_dissector_table, s1ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint(s1ap_ies_p2_dissector_table, s1ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+*/
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ s1ap_ctx_t s1ap_ctx;
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
+
+ s1ap_ctx.message_type = s1ap_data->message_type;
+ s1ap_ctx.ProcedureCode = s1ap_data->procedure_code;
+ s1ap_ctx.ProtocolIE_ID = s1ap_data->protocol_ie_id;
+ s1ap_ctx.ProtocolExtensionID = s1ap_data->protocol_extension_id;
+
+ return (dissector_try_uint_new(s1ap_extension_dissector_table, s1ap_data->protocol_extension_id, tvb, pinfo, tree, FALSE, &s1ap_ctx)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(s1ap_proc_imsg_dissector_table, s1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(s1ap_proc_sout_dissector_table, s1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(s1ap_proc_uout_dissector_table, s1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static int
+dissect_s1ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *s1ap_item = NULL;
+ proto_tree *s1ap_tree = NULL;
+ conversation_t *conversation;
+ struct s1ap_private_data* s1ap_data;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "S1AP");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ /* create the s1ap protocol tree */
+ s1ap_item = proto_tree_add_item(tree, proto_s1ap, tvb, 0, -1, ENC_NA);
+ s1ap_tree = proto_item_add_subtree(s1ap_item, ett_s1ap);
+
+ s1ap_data = s1ap_get_private_data(pinfo);
+ conversation = find_or_create_conversation(pinfo);
+ s1ap_data->s1ap_conv = (struct s1ap_conv_info *)conversation_get_proto_data(conversation, proto_s1ap);
+ if (!s1ap_data->s1ap_conv) {
+ s1ap_data->s1ap_conv = wmem_new(wmem_file_scope(), struct s1ap_conv_info);
+ s1ap_data->s1ap_conv->nbiot_ta = wmem_map_new(wmem_file_scope(), wmem_int64_hash, g_int64_equal);
+ s1ap_data->s1ap_conv->nbiot_enb_ue_s1ap_id = wmem_tree_new(wmem_file_scope());
+ conversation_add_proto_data(conversation, proto_s1ap, s1ap_data->s1ap_conv);
+ }
+
+ dissect_S1AP_PDU_PDU(tvb, pinfo, s1ap_tree, NULL);
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_reg_handoff_s1ap ---------------------------------------*/
+void
+proto_reg_handoff_s1ap(void)
+{
+ gcsna_handle = find_dissector_add_dependency("gcsna", proto_s1ap);
+ nas_eps_handle = find_dissector_add_dependency("nas-eps", proto_s1ap);
+ lppa_handle = find_dissector_add_dependency("lppa", proto_s1ap);
+ bssgp_handle = find_dissector_add_dependency("bssgp", proto_s1ap);
+ lte_rrc_ue_radio_access_cap_info_handle = find_dissector_add_dependency("lte-rrc.ue_radio_access_cap_info", proto_s1ap);
+ lte_rrc_ue_radio_access_cap_info_nb_handle = find_dissector_add_dependency("lte-rrc.ue_radio_access_cap_info.nb", proto_s1ap);
+ nr_rrc_ue_radio_access_cap_info_handle = find_dissector_add_dependency("nr-rrc.ue_radio_access_cap_info", proto_s1ap);
+ lte_rrc_ue_radio_paging_info_handle = find_dissector_add_dependency("lte-rrc.ue_radio_paging_info", proto_s1ap);
+ lte_rrc_ue_radio_paging_info_nb_handle = find_dissector_add_dependency("lte-rrc.ue_radio_paging_info.nb", proto_s1ap);
+ nr_rrc_ue_radio_paging_info_handle = find_dissector_add_dependency("nr-rrc.ue_radio_paging_info", proto_s1ap);
+ dissector_add_uint("sctp.ppi", S1AP_PAYLOAD_PROTOCOL_ID, s1ap_handle);
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_S1AP, s1ap_handle);
+#include "packet-s1ap-dis-tab.c"
+}
+
+/*--- proto_register_s1ap -------------------------------------------*/
+void proto_register_s1ap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_s1ap_transportLayerAddressIPv4,
+ { "transportLayerAddress(IPv4)", "s1ap.transportLayerAddressIPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_transportLayerAddressIPv6,
+ { "transportLayerAddress(IPv6)", "s1ap.transportLayerAddressIPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_E_UTRAN_Trace_ID_TraceID,
+ { "TraceID", "s1ap.E_UTRAN_Trace_ID.TraceID",
+ FT_UINT24, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_E_UTRAN_Trace_ID_TraceRecordingSessionReference,
+ { "TraceRecordingSessionReference", "s1ap.E_UTRAN_Trace_ID.TraceRecordingSessionReference",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_interfacesToTrace_S1_MME,
+ { "S1-MME", "s1ap.interfacesToTrace.S1_MME",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_interfacesToTrace), 0x80,
+ NULL, HFILL }},
+ { &hf_s1ap_interfacesToTrace_X2,
+ { "X2", "s1ap.interfacesToTrace.X2",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_interfacesToTrace), 0x40,
+ NULL, HFILL }},
+ { &hf_s1ap_interfacesToTrace_Uu,
+ { "Uu", "s1ap.interfacesToTrace.Uu",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_interfacesToTrace), 0x20,
+ NULL, HFILL }},
+ { &hf_s1ap_interfacesToTrace_F1_C,
+ { "F1-C", "s1ap.interfacesToTrace.F1_C",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_interfacesToTrace), 0x10,
+ NULL, HFILL }},
+ { &hf_s1ap_interfacesToTrace_E1,
+ { "E1", "s1ap.interfacesToTrace.E1",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_interfacesToTrace), 0x08,
+ NULL, HFILL }},
+ { &hf_s1ap_interfacesToTrace_Reserved,
+ { "Reserved", "s1ap.interfacesToTrace.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x07,
+ NULL, HFILL }},
+ { &hf_s1ap_encryptionAlgorithms_EEA1,
+ { "128-EEA1", "s1ap.encryptionAlgorithms.EEA1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_s1ap_encryptionAlgorithms_EEA2,
+ { "128-EEA2", "s1ap.encryptionAlgorithms.EEA2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_s1ap_encryptionAlgorithms_EEA3,
+ { "128-EEA3", "s1ap.encryptionAlgorithms.EEA3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_s1ap_encryptionAlgorithms_Reserved,
+ { "Reserved", "s1ap.encryptionAlgorithms.Reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1fff,
+ NULL, HFILL }},
+ { &hf_s1ap_integrityProtectionAlgorithms_EIA1,
+ { "128-EIA1", "s1ap.integrityProtectionAlgorithms.EIA1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_s1ap_integrityProtectionAlgorithms_EIA2,
+ { "128-EIA2", "s1ap.integrityProtectionAlgorithms.EIA2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_s1ap_integrityProtectionAlgorithms_EIA3,
+ { "128-EIA3", "s1ap.integrityProtectionAlgorithms.EIA3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_s1ap_integrityProtectionAlgorithms_EIA7,
+ { "EIA7", "s1ap.integrityProtectionAlgorithms.EIA7",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x0200,
+ NULL, HFILL }},
+ { &hf_s1ap_integrityProtectionAlgorithms_Reserved,
+ { "Reserved", "s1ap.integrityProtectionAlgorithms.Reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1dff,
+ NULL, HFILL }},
+ { &hf_s1ap_SerialNumber_gs,
+ { "Geographical Scope", "s1ap.SerialNumber.gs",
+ FT_UINT16, BASE_DEC, VALS(s1ap_serialNumber_gs_vals), 0xc000,
+ NULL, HFILL }},
+ { &hf_s1ap_SerialNumber_msg_code,
+ { "Message Code", "s1ap.SerialNumber.msg_code",
+ FT_UINT16, BASE_DEC, NULL, 0x3ff0,
+ NULL, HFILL }},
+ { &hf_s1ap_SerialNumber_upd_nb,
+ { "Update Number", "s1ap.SerialNumber.upd_nb",
+ FT_UINT16, BASE_DEC, NULL, 0x000f,
+ NULL, HFILL }},
+ { &hf_s1ap_WarningType_value,
+ { "Warning Type Value", "s1ap.WarningType.value",
+ FT_UINT16, BASE_DEC, VALS(s1ap_warningType_vals), 0xfe00,
+ NULL, HFILL }},
+ { &hf_s1ap_WarningType_emergency_user_alert,
+ { "Emergency User Alert", "s1ap.WarningType.emergency_user_alert",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
+ NULL, HFILL }},
+ { &hf_s1ap_WarningType_popup,
+ { "Popup", "s1ap.WarningType.popup",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
+ NULL, HFILL }},
+ { &hf_s1ap_WarningMessageContents_nb_pages,
+ { "Number of Pages", "s1ap.WarningMessageContents.nb_pages",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_WarningMessageContents_decoded_page,
+ { "Decoded Page", "s1ap.WarningMessageContents.decoded_page",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_measurementsToActivate_M1,
+ { "M1", "s1ap.measurementsToActivate.M1",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x80,
+ NULL, HFILL }},
+ { &hf_s1ap_measurementsToActivate_M2,
+ { "M2", "s1ap.measurementsToActivate.M2",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x40,
+ NULL, HFILL }},
+ { &hf_s1ap_measurementsToActivate_M3,
+ { "M3", "s1ap.measurementsToActivate.M3",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x20,
+ NULL, HFILL }},
+ { &hf_s1ap_measurementsToActivate_M4,
+ { "M4", "s1ap.measurementsToActivate.M4",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x10,
+ NULL, HFILL }},
+ { &hf_s1ap_measurementsToActivate_M5,
+ { "M5", "s1ap.measurementsToActivate.M5",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x08,
+ NULL, HFILL }},
+ { &hf_s1ap_measurementsToActivate_LoggingM1FromEventTriggered,
+ { "LoggingOfM1FromEventTriggeredMeasurementReports", "s1ap.measurementsToActivate.LoggingM1FromEventTriggered",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x04,
+ NULL, HFILL }},
+ { &hf_s1ap_measurementsToActivate_M6,
+ { "M6", "s1ap.measurementsToActivate.M6",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x02,
+ NULL, HFILL }},
+ { &hf_s1ap_measurementsToActivate_M7,
+ { "M7", "s1ap.measurementsToActivate.M7",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x01,
+ NULL, HFILL }},
+ { &hf_s1ap_MDT_Location_Info_GNSS,
+ { "GNSS", "s1ap.MDT_Location_Info.GNSS",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x80,
+ NULL, HFILL }},
+ { &hf_s1ap_MDT_Location_Info_E_CID,
+ { "E-CID", "s1ap.MDT_Location_Info.E_CID",
+ FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x40,
+ NULL, HFILL }},
+ { &hf_s1ap_MDT_Location_Info_Reserved,
+ { "Reserved", "s1ap.MDT_Location_Info.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x3f,
+ NULL, HFILL }},
+ { &hf_s1ap_NRencryptionAlgorithms_NEA1,
+ { "128-NEA1", "s1ap.NRencryptionAlgorithms.NEA1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_s1ap_NRencryptionAlgorithms_NEA2,
+ { "128-NEA2", "s1ap.NRencryptionAlgorithms.NEA2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_s1ap_NRencryptionAlgorithms_NEA3,
+ { "128-NEA3", "s1ap.NRencryptionAlgorithms.NEA3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_s1ap_NRencryptionAlgorithms_Reserved,
+ { "Reserved", "s1ap.NRencryptionAlgorithms.Reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1fff,
+ NULL, HFILL }},
+ { &hf_s1ap_NRintegrityProtectionAlgorithms_NIA1,
+ { "128-NIA1", "s1ap.NRintegrityProtectionAlgorithms.NIA1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_s1ap_NRintegrityProtectionAlgorithms_NIA2,
+ { "128-NIA2", "s1ap.NRintegrityProtectionAlgorithms.NIA2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_s1ap_NRintegrityProtectionAlgorithms_NIA3,
+ { "128-NIA3", "s1ap.NRintegrityProtectionAlgorithms.NIA3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_s1ap_NRintegrityProtectionAlgorithms_Reserved,
+ { "Reserved", "s1ap.NRintegrityProtectionAlgorithms.Reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1fff,
+ NULL, HFILL }},
+ { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service,
+ { "QoE Measurement for streaming service", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement_for_streaming_service",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x80,
+ NULL, HFILL }},
+ { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service,
+ { "QoE Measurement for MTSI service", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement_for_MTSI_service",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x40,
+ NULL, HFILL }},
+ { &hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved,
+ { "Reserved", "s1ap.UE_Application_Layer_Measurement_Capability.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x3f,
+ NULL, HFILL }},
+ { &hf_s1ap_rAT_RestrictionInformation_LEO,
+ { "LEO", "s1ap.rAT_RestrictionInformation.LEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
+ NULL, HFILL }},
+ { &hf_s1ap_rAT_RestrictionInformation_MEO,
+ { "MEO", "s1ap.rAT_RestrictionInformation.MEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
+ NULL, HFILL }},
+ { &hf_s1ap_rAT_RestrictionInformation_GEO,
+ { "GEO", "s1ap.rAT_RestrictionInformation.GEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
+ NULL, HFILL }},
+ { &hf_s1ap_rAT_RestrictionInformation_OTHERSAT,
+ { "OTHERSAT", "s1ap.rAT_RestrictionInformation.OTHERSAT",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x10,
+ NULL, HFILL }},
+ { &hf_s1ap_rAT_RestrictionInformation_Reserved,
+ { "Reserved", "s1ap.rAT_RestrictionInformation.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x0f,
+ NULL, HFILL }},
+#include "packet-s1ap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_s1ap,
+ &ett_s1ap_TransportLayerAddress,
+ &ett_s1ap_ToTargetTransparentContainer,
+ &ett_s1ap_ToSourceTransparentContainer,
+ &ett_s1ap_RRCContainer,
+ &ett_s1ap_UERadioCapability,
+ &ett_s1ap_RIMInformation,
+ &ett_s1ap_Cdma2000PDU,
+ &ett_s1ap_Cdma2000SectorID,
+ &ett_s1ap_UERadioPagingInformation,
+ &ett_s1ap_UE_HistoryInformationFromTheUE,
+ &ett_s1ap_CELevel,
+ &ett_s1ap_UE_RLF_Report_Container,
+ &ett_s1ap_UE_RLF_Report_Container_for_extended_bands,
+ &ett_s1ap_S1_Message,
+ &ett_s1ap_E_UTRAN_Trace_ID,
+ &ett_s1ap_InterfacesToTrace,
+ &ett_s1ap_EncryptionAlgorithms,
+ &ett_s1ap_IntegrityProtectionAlgorithms,
+ &ett_s1ap_LastVisitedNGRANCellInformation,
+ &ett_s1ap_LastVisitedUTRANCellInformation,
+ &ett_s1ap_SerialNumber,
+ &ett_s1ap_WarningType,
+ &ett_s1ap_DataCodingScheme,
+ &ett_s1ap_WarningMessageContents,
+ &ett_s1ap_MSClassmark,
+ &ett_s1ap_MeasurementsToActivate,
+ &ett_s1ap_MDT_Location_Info,
+ &ett_s1ap_IMSI,
+ &ett_s1ap_NASSecurityParameters,
+ &ett_s1ap_NRencryptionAlgorithms,
+ &ett_s1ap_NRintegrityProtectionAlgorithms,
+ &ett_s1ap_UE_Application_Layer_Measurement_Capability,
+ &ett_s1ap_sMTC,
+ &ett_s1ap_threshRS_Index_r15,
+ &ett_s1ap_sSBToMeasure,
+ &ett_s1ap_sSRSSIMeasurement,
+ &ett_s1ap_quantityConfigNR_R15,
+ &ett_s1ap_excludedCellsToAddModList,
+ &ett_s1ap_NB_IoT_RLF_Report_Container,
+ &ett_s1ap_MDT_ConfigurationNR,
+ &ett_s1ap_IntersystemSONConfigurationTransfer,
+ &ett_s1ap_rAT_RestrictionInformation,
+#include "packet-s1ap-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_s1ap_number_pages_le15, { "s1ap.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }}
+ };
+
+ module_t *s1ap_module;
+ expert_module_t* expert_s1ap;
+
+ /* Register protocol */
+ proto_s1ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_s1ap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_s1ap = expert_register_protocol(proto_s1ap);
+ expert_register_field_array(expert_s1ap, ei, array_length(ei));
+
+ /* Register dissector */
+ s1ap_handle = register_dissector("s1ap", dissect_s1ap, proto_s1ap);
+
+ /* Register dissector tables */
+ s1ap_ies_dissector_table = register_dissector_table("s1ap.ies", "S1AP-PROTOCOL-IES", proto_s1ap, FT_UINT32, BASE_DEC);
+ s1ap_ies_p1_dissector_table = register_dissector_table("s1ap.ies.pair.first", "S1AP-PROTOCOL-IES-PAIR FirstValue", proto_s1ap, FT_UINT32, BASE_DEC);
+ s1ap_ies_p2_dissector_table = register_dissector_table("s1ap.ies.pair.second", "S1AP-PROTOCOL-IES-PAIR SecondValue", proto_s1ap, FT_UINT32, BASE_DEC);
+ s1ap_extension_dissector_table = register_dissector_table("s1ap.extension", "S1AP-PROTOCOL-EXTENSION", proto_s1ap, FT_UINT32, BASE_DEC);
+ s1ap_proc_imsg_dissector_table = register_dissector_table("s1ap.proc.imsg", "S1AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_s1ap, FT_UINT32, BASE_DEC);
+ s1ap_proc_sout_dissector_table = register_dissector_table("s1ap.proc.sout", "S1AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_s1ap, FT_UINT32, BASE_DEC);
+ s1ap_proc_uout_dissector_table = register_dissector_table("s1ap.proc.uout", "S1AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_s1ap, FT_UINT32, BASE_DEC);
+
+ /* Register configuration options for ports */
+ s1ap_module = prefs_register_protocol(proto_s1ap, NULL);
+
+ prefs_register_bool_preference(s1ap_module, "dissect_container", "Dissect TransparentContainer", "Dissect TransparentContainers that are opaque to S1AP", &g_s1ap_dissect_container);
+ prefs_register_enum_preference(s1ap_module, "dissect_lte_container_as", "Dissect LTE TransparentContainer as",
+ "Select whether LTE TransparentContainer should be dissected as NB-IOT or legacy LTE",
+ &g_s1ap_dissect_lte_container_as, s1ap_lte_container_vals, FALSE);
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/s1ap/packet-s1ap-template.h b/epan/dissectors/asn1/s1ap/packet-s1ap-template.h
new file mode 100644
index 00000000..a8998971
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/packet-s1ap-template.h
@@ -0,0 +1,41 @@
+/* packet-s1ap.h
+ * Routines for E-UTRAN S1 Application Protocol (S1AP) packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_S1AP_H
+#define PACKET_S1AP_H
+
+typedef struct _s1ap_ctx_t {
+ guint32 message_type;
+ guint32 ProcedureCode;
+ guint32 ProtocolIE_ID;
+ guint32 ProtocolExtensionID;
+} s1ap_ctx_t;
+
+extern const value_string s1ap_warningType_vals[];
+extern const value_string s1ap_serialNumber_gs_vals[];
+
+void dissect_s1ap_warningMessageContents(tvbuff_t *warning_msg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dcs, int hf_nb_pages, int hf_decoded_page);
+
+#include "packet-s1ap-exp.h"
+
+#endif /* PACKET_S1AP_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/s1ap/s1ap.cnf b/epan/dissectors/asn1/s1ap/s1ap.cnf
new file mode 100644
index 00000000..61cde3a2
--- /dev/null
+++ b/epan/dissectors/asn1/s1ap/s1ap.cnf
@@ -0,0 +1,2729 @@
+# s1ap.cnf
+# s1ap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.USE_VALS_EXT
+CauseRadioNetwork
+ProcedureCode
+ProtocolIE-ID
+
+#.EXPORTS ONLY_VALS WS_DLL
+CauseRadioNetwork
+CauseTransport
+CauseNas
+CauseProtocol
+CauseMisc
+Cause
+
+#.EXPORTS
+EN-DCSONConfigurationTransfer_PDU
+ENB-StatusTransfer-TransparentContainer_PDU
+EUTRAN-CGI_PDU
+Global-ENB-ID_PDU
+Global-ENB-ID
+HandoverRestrictionList_PDU
+IntersystemSONConfigurationTransfer_PDU
+LastVisitedEUTRANCellInformation_PDU
+LastVisitedGERANCellInformation_PDU
+MDTMode_PDU
+PSCellInformation_PDU
+SourceeNB-ToTargeteNB-TransparentContainer_PDU
+SONConfigurationTransfer_PDU
+SONtransferApplicationIdentity_PDU
+SONtransferRequestContainer_PDU
+SONtransferRequestContainer
+SONtransferResponseContainer_PDU
+SONtransferResponseContainer
+SONtransferCause_PDU
+TargeteNB-ToSourceeNB-TransparentContainer_PDU
+UE-HistoryInformation_PDU
+
+#.PDU
+EN-DCSONConfigurationTransfer
+ENB-StatusTransfer-TransparentContainer
+EUTRAN-CGI
+HandoverRestrictionList
+IntersystemSONConfigurationTransfer
+LastVisitedEUTRANCellInformation
+LastVisitedGERANCellInformation
+MDTMode
+PSCellInformation
+S1AP-PDU
+SourceeNB-ToTargeteNB-TransparentContainer
+SONConfigurationTransfer
+SONtransferApplicationIdentity
+SONtransferRequestContainer
+SONtransferResponseContainer
+SONtransferCause
+TargeteNB-ToSourceeNB-TransparentContainer
+UE-HistoryInformation
+
+#.MAKE_ENUM
+HandoverType
+ProcedureCode
+ProtocolIE-ID
+RAT-Type
+SRVCCHOIndication
+
+#.NO_EMIT
+TBCD-STRING
+SourceBSS-ToTargetBSS-TransparentContainer
+TargetBSS-ToSourceBSS-TransparentContainer
+SourceRNC-ToTargetRNC-TransparentContainer
+TargetRNC-ToSourceRNC-TransparentContainer
+SourceNgRanNode-ToTargetNgRanNode-TransparentContainer
+TargetNgRanNode-ToSourceNgRanNode-TransparentContainer
+ReportingCellList
+ReportingCellList-Item
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+ProtocolIE-FieldPair
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+ProtocolError-IE-ContainerList
+E-RAB-IE-ContainerPairList
+Presence
+L3-Information
+OldBSS-ToNewBSS-Information
+#.END
+
+
+#.TYPE_RENAME
+
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+
+
+PrivateIE-Field/id private_id
+ProtocolExtensionField/id ext_id
+
+#PrivateIE-Field/value private_value
+ProtocolIE-Field/value ie_field_value
+
+#.FIELD_ATTR
+UE-associatedLogicalS1-ConnectionItem/eNB-UE-S1AP-ID ABBREV=ENB_UE_S1AP_ID
+UE-associatedLogicalS1-ConnectionItem/mME-UE-S1AP-ID ABBREV=MME_UE_S1AP_ID
+UE-S1AP-ID-pair/eNB-UE-S1AP-ID ABBREV=ENB_UE_S1AP_ID
+UE-S1AP-ID-pair/mME-UE-S1AP-ID ABBREV=MME_UE_S1AP_ID
+UE-S1AP-IDs/mME-UE-S1AP-ID ABBREV=MME_UE_S1AP_ID
+
+#.FN_BODY ProtocolIE-ID VAL_PTR=&s1ap_data->protocol_ie_id
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
+ val_to_str_ext(s1ap_data->protocol_ie_id, &s1ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+# Currently not used
+# FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue
+# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
+
+#.FN_BODY ProtocolExtensionID VAL_PTR=&s1ap_data->protocol_extension_id
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_BODY ProcedureCode VAL_PTR = &s1ap_data->procedure_code
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->message_type = INITIATING_MESSAGE;
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->message_type = SUCCESSFUL_OUTCOME;
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->message_type = UNSUCCESSFUL_OUTCOME;
+
+#--- Parameterization is not supported in asn2wrs ---
+
+#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-Container {{IEsSetParam}}
+
+#.FN_PARS ProtocolIE-ContainerList
+MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+#.FN_HDR ProtocolIE-ContainerList
+ static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
+ { "lowerBound", ASN1_PAR_INTEGER },
+ { "upperBound", ASN1_PAR_INTEGER },
+ { NULL, (asn1_par_type)0 }
+ };
+ asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
+#.END
+
+#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-ContainerPair {{IEsSetParam}}
+
+# Currently not used
+# FN_PARS ProtocolIE-ContainerPairList
+#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# FN_HDR ProtocolIE-ContainerPairList
+# static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, 0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
+# END
+
+#E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxnoofE-RABs, {IEsSetParam} }
+#.FN_BODY E-RAB-IE-ContainerList
+ asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+ asn1_param_push_integer(%(ACTX)s, 1);
+ asn1_param_push_integer(%(ACTX)s, maxnoofE_RABs);
+%(DEFAULT_BODY)s
+ asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+#.END
+
+# E-RAB-IE-ContainerPairList { S1AP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxnoofE-RABs, {IEsSetParam} }
+# Currently not used
+# FN_BODY SAEB-IE-ContainerPairList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerPairList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxnoofE_RABs);
+#%(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerPairList");
+# END
+
+# Currently not used
+# ProtocolError-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxnoofE-RABs, {IEsSetParam} }
+# FN_BODY ProtocolError-IE-ContainerList
+# asn1_stack_frame_push(%(ACTX)s, "ProtocolIE-ContainerList");
+# asn1_param_push_integer(%(ACTX)s, 1);
+# asn1_param_push_integer(%(ACTX)s, maxnoofE_RABs);
+#%(DEFAULT_BODY)s
+# asn1_stack_frame_pop(%(ACTX)s, "ProtocolIE-ContainerList");
+# END
+
+#.FN_HDR PrivateIE-ID
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->obj_id = NULL;
+
+#.FN_BODY PrivateIE-ID/global FN_VARIANT = _str VAL_PTR = &s1ap_data->obj_id
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_BODY PrivateIE-Field/value
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ if (s1ap_data->obj_id) {
+ offset = call_per_oid_callback(s1ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
+ } else {
+%(DEFAULT_BODY)s
+ }
+
+
+# following construction is not supported by asn2wrs
+# PLMNidentity ::= TBCD-STRING (SIZE (3))
+# TBCD-STRING ::= OCTET STRING
+
+#.FN_BODY PLMNidentity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = s1ap_data->number_type;
+ s1ap_data->number_type = E212_NONE;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, &parameter_tvb);
+ if(tvb_reported_length(tvb)==0)
+ return offset;
+
+ if (!parameter_tvb)
+ return offset;
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, number_type, FALSE);
+ if (s1ap_data->supported_ta) {
+ guint32 plmn = tvb_get_ntoh24(parameter_tvb, 0);
+ wmem_array_append_one(s1ap_data->supported_ta->plmn, plmn);
+ } else if (s1ap_data->tai) {
+ s1ap_data->tai->plmn = tvb_get_ntoh24(parameter_tvb, 0);
+ }
+#.END
+
+#.FN_BODY ENBname VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ int length;
+ gboolean is_ascii;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ length = tvb_reported_length(parameter_tvb);
+
+ is_ascii = tvb_ascii_isprint(parameter_tvb, 0, length);
+ if (is_ascii)
+ proto_item_append_text(actx->created_item," (%%s)",tvb_format_text(actx->pinfo->pool, parameter_tvb, 0, length));
+
+#.FN_BODY MMEname VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ int length;
+ gboolean is_ascii;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ length = tvb_reported_length(parameter_tvb);
+
+ is_ascii = tvb_ascii_isprint(parameter_tvb, 0, length);
+ if (is_ascii)
+ proto_item_append_text(actx->created_item," (%%s)",tvb_format_text(actx->pinfo->pool, parameter_tvb, 0, length));
+
+#.END
+
+
+#.FN_BODY NAS-PDU VAL_PTR = &parameter_tvb
+
+tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if ((tvb_reported_length(parameter_tvb)>0)&&(nas_eps_handle))
+ call_dissector(nas_eps_handle,parameter_tvb,%(ACTX)s->pinfo, tree);
+
+#.FN_BODY LPPa-PDU VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+
+ if ((tvb_reported_length(parameter_tvb)>0)&&(lppa_handle))
+ call_dissector(lppa_handle, parameter_tvb, %(ACTX)s->pinfo, tree);
+
+#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+ gint tvb_len;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+# The Transport Layer Address signalled in S1-AP messages is a bit string of
+# a) 32 bits in case of IPv4 address according to IETF RFC 791 [6]; or
+# b) 128 bits in case of IPv6 address according to IETF RFC 2460 [5]; or
+# c) 160 bits if both IPv4 and IPv6 addresses are signalled, in which case the IPv4 address is contained in the first 32 bits.
+ /* Get the length */
+ tvb_len = tvb_reported_length(parameter_tvb);
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_TransportLayerAddress);
+ if (tvb_len==4) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_s1ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ } else if (tvb_len==16) {
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_s1ap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
+ } else if (tvb_len==20) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_s1ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_s1ap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
+ }
+
+#.TYPE_ATTR
+Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
+#.FN_BODY Port-Number VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_HDR InitialUEMessage
+ /* Set the direction of the message */
+ actx->pinfo->link_dir=P2P_DIR_UL;
+
+#.FN_HDR DownlinkNASTransport
+ /* Set the direction of the message */
+ actx->pinfo->link_dir=P2P_DIR_DL;
+
+#.FN_HDR UplinkNASTransport
+ /* Set the direction of the message */
+ actx->pinfo->link_dir=P2P_DIR_UL;
+
+#.FN_BODY HandoverType VAL_PTR = &s1ap_data->handover_type_value
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_BODY SRVCCHOIndication VAL_PTR = &srvcc_ho_ind
+ guint32 srvcc_ho_ind;
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ if (srvcc_ho_ind == cSonly)
+ s1ap_data->srvcc_ho_cs_only = TRUE;
+
+#Undef the value before use
+#.FN_HDR HandoverRequired
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->handover_type_value = 0xff;
+ s1ap_data->srvcc_ho_cs_only = FALSE;
+#.FN_HDR HandoverCommand
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->handover_type_value = 0xff;
+#.FN_HDR HandoverRequest
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->handover_type_value = 0xff;
+#.FN_HDR HandoverRequestAcknowledge
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->handover_type_value = 0xff;
+
+#.FN_BODY SourceeNB-ToTargeteNB-TransparentContainer
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ volatile guint32 _offset;
+
+ s1ap_data->transparent_container_type = SOURCE_TO_TARGET_TRANSPARENT_CONTAINER;
+ _offset = offset;
+ TRY {
+
+ offset = dissect_per_sequence(tvb, _offset, actx, tree, hf_index,
+ ett_s1ap_SourceeNB_ToTargeteNB_TransparentContainer, SourceeNB_ToTargeteNB_TransparentContainer_sequence);
+ } CATCH_ALL {
+ show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = _offset;
+
+
+
+#.FN_BODY Source-ToTarget-TransparentContainer VAL_PTR = &parameter_tvb
+# I think the message is "directly encoded" into the octet string(no "double encoding")
+# (Compare RANAP)
+# Annex A
+# ...Therefore the container content is encoded according to the
+# rules which are specified for the target radio system. In section 8.4.1.2,
+# it is described how the container shall be encoded with respect to the scenario
+# in which it is used.
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+ %(DEFAULT_BODY)s
+
+ if ((g_s1ap_dissect_container)&&(parameter_tvb) && (tvb_reported_length(parameter_tvb) > 0)) {
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ /* Don't want elements inside container to write to info column */
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_ToTargetTransparentContainer);
+
+ switch(s1ap_data->handover_type_value){
+ /*
+ HandoverType ::= ENUMERATED {
+ intralte,
+ ltetoutran,
+ ltetogeran,
+ utrantolte,
+ gerantolte,
+ ...
+ eps_to_5gs,
+ fivegs_to_eps
+ } */
+ case intralte:
+ /* intralte
+ Intra E-UTRAN handover Source eNB to Target eNB
+ Transparent Container 36.413
+ */
+ case utrantolte:
+ /* utrantolte */
+ case gerantolte:
+ /* gerantolte */
+ case fivegs_to_eps:
+ /* fivegs_to_eps */
+ dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case ltetoutran:
+ /* ltetoutran
+ Source RNC to Target RNC
+ Transparent Container 25.413
+ */
+ dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case ltetogeran:
+ /* ltetogeran
+ Source BSS to Target BSS
+ Transparent Container 48.018
+ or
+ Old BSS to New BSS information elements
+ Transparent Container 48.008
+ */
+ if (s1ap_data->srvcc_ho_cs_only)
+ bssmap_old_bss_to_new_bss_info(parameter_tvb, subtree, actx->pinfo);
+ else
+ de_bssgp_source_BSS_to_target_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+ break;
+ case eps_to_5gs:
+ /* eps_to_5gs */
+ dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ /* Enable writing of the column again */
+ col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);
+ }
+
+#.FN_BODY TargeteNB-ToSourceeNB-TransparentContainer
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ volatile guint32 _offset;
+
+ s1ap_data->transparent_container_type = TARGET_TO_SOURCE_TRANSPARENT_CONTAINER;
+ _offset = offset;
+ TRY {
+
+ _offset = dissect_per_sequence(tvb, _offset, actx, tree, hf_index,
+ ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer, TargeteNB_ToSourceeNB_TransparentContainer_sequence);
+ } CATCH_ALL {
+ show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = _offset;
+
+#.FN_BODY Target-ToSource-TransparentContainer VAL_PTR = &parameter_tvb
+# I think the message is "directly encoded" into the octet string(no "double encoding")
+# See Target-ToSource-TransparentContainer in RANAP
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if ((g_s1ap_dissect_container)&&(parameter_tvb) && (tvb_reported_length(parameter_tvb) > 0)) {
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_ToSourceTransparentContainer);
+
+ switch(s1ap_data->handover_type_value){
+ /*
+ HandoverType ::= ENUMERATED {
+ intralte,
+ ltetoutran,
+ ltetogeran,
+ utrantolte,
+ gerantolte,
+ ...
+ eps_to_5gs,
+ fivegs_to_eps
+ } */
+ case intralte:
+ /* intralte
+ Intra E-UTRAN handover Target eNB to Source eNB
+ Transparent Container 36.413
+ */
+ case utrantolte:
+ /* utrantolte */
+ case gerantolte:
+ /* gerantolte */
+ case fivegs_to_eps:
+ /* fivegs_to_eps */
+ dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case ltetoutran:
+ /* ltetoutran
+ Target RNC to Source RNC
+ Transparent Container 25.413
+ */
+ dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case ltetogeran:
+ /* ltetogeran
+ Target BSS to Source BSS
+ Transparent Container 48.018
+ */
+ de_bssgp_target_BSS_to_source_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+ break;
+ case eps_to_5gs:
+ /* eps_to_5gs */
+ dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ }
+#SourceBSS-ToTargetBSS-TransparentContainer
+#SourceRNC-ToTargetRNC-TransparentContainer
+#TargetRNC-ToSourceRNC-TransparentContainer
+#TargetBSS-ToSourceBSS-TransparentContainer
+
+#.FN_BODY RRC-Container VAL_PTR = &parameter_tvb
+
+# Extracts from the standard:
+# Includes the RRC Handover Preparation Information message as defined
+# in subclause 10.2.2 of [16].
+# [16] 3GPP TS 36.331: "Evolved Universal Terrestrial Radio Access (E-UTRAN); Radio Resource
+# Control (RRC) Protocol Specification3GPP TS 36.331:
+# "Evolved Universal Terrestrial Radio Access (E-UTRAN); Radio Resource
+# Control (RRC) Protocol Specification.
+# :
+# 9.2.1.7 Source eNB to Target eNB Transparent Container
+# The Source eNB to target eNB Transparent Container IE is an information element
+# that is produced by the source eNB and is transmitted to the target eNB.
+# For inter-system handovers to E-UTRAN, the IE is transmitted from the external
+# handover source to the target eNB. This IE is transparent to the EPC.
+#
+# RRC Container M OCTET STRING Includes the RRC Handover Preparation Information
+# message as defined in subclause 10.2.2 of [16].
+# :
+# 9.2.1.8 Target eNB to Source eNB Transparent Container
+# The Target eNB to Source eNB Transparent Container IE is an information element
+# that is produced by the target eNB and is transmitted to the source eNB.
+# For inter-system handovers to E-UTRAN, the IE is transmitted from the target
+# eNB to the external relocation source.
+# :
+# RRC Container M OCTET STRING Includes the RRC E-UTRA Handover Command message
+# as defined in subclause 10.2.2 of [16].
+# --- End quote ---
+# Source eNB to Target eNB Transparent Container is present in
+# HandoverRequired and HandoverRequest.
+# Target eNB to Source eNB Transparent Container is present in
+# HandoverCommand and HandoverRequestAcknowledge.
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_RRCContainer);
+ volatile int saved_offset = offset;
+
+ switch(s1ap_data->transparent_container_type){
+ case SOURCE_TO_TARGET_TRANSPARENT_CONTAINER:
+ /* 9.2.1.7 Source eNB to Target eNB Transparent Container */
+ if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) ||
+ (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) {
+ TRY {
+ dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ } else {
+ TRY {
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ }
+ break;
+ case TARGET_TO_SOURCE_TRANSPARENT_CONTAINER:
+ /* 9.2.1.8 Target eNB to Source eNB Transparent Container */
+ TRY {
+ dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ break;
+ default:
+ break;
+ }
+ offset = saved_offset;
+ }
+
+#.FN_BODY UE-HistoryInformationFromTheUE VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_HistoryInformationFromTheUE);
+ TRY {
+ dissect_lte_rrc_VisitedCellInfoList_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ }
+
+#.FN_BODY UERadioCapability VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ volatile dissector_handle_t handle;
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UERadioCapability);
+ if (s1ap_data->protocol_ie_id == id_UERadioCapability_NR_Format) {
+ handle = nr_rrc_ue_radio_access_cap_info_handle;
+ } else if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) ||
+ (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) {
+ handle = lte_rrc_ue_radio_access_cap_info_nb_handle;
+ } else {
+ handle = lte_rrc_ue_radio_access_cap_info_handle;
+ }
+ if (handle) {
+ TRY {
+ call_dissector(handle, parameter_tvb, actx->pinfo, subtree);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ }
+ }
+
+#.TYPE_ATTR
+Threshold-RSRP DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Threshold_RSRP_fmt)
+
+#.TYPE_ATTR
+Threshold-RSRQ DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Threshold_RSRQ_fmt)
+
+#.TYPE_ATTR
+Hysteresis DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Hysteresis_fmt)
+
+#.FN_BODY RAT-RestrictionsItem/rAT-RestrictionInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_s1ap_rAT_RestrictionInformation_LEO,
+ &hf_s1ap_rAT_RestrictionInformation_MEO,
+ &hf_s1ap_rAT_RestrictionInformation_GEO,
+ &hf_s1ap_rAT_RestrictionInformation_OTHERSAT,
+ &hf_s1ap_rAT_RestrictionInformation_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_rAT_RestrictionInformation);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+# 9.2.3.24 RIM Information
+# Contains the BSSGP RIM PDU
+#.FN_BODY RIMInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_RIMInformation);
+ if ((tvb_reported_length(parameter_tvb)>0)&&(bssgp_handle)){
+ col_set_fence(%(ACTX)s->pinfo->cinfo, COL_INFO);
+ call_dissector(bssgp_handle,parameter_tvb,%(ACTX)s->pinfo, subtree);
+ }
+
+
+#.FN_BODY Cdma2000PDU VAL_PTR = &parameter_tvb
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+if (gcsna_handle) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_Cdma2000PDU);
+ call_dissector(gcsna_handle, parameter_tvb, %(ACTX)s->pinfo, subtree);
+}
+
+
+#.FN_BODY Cdma2000SectorID VAL_PTR = &parameter_tvb
+/* 9.2.1.25
+ * This IE is set to CDMA2000 Reference Cell ID
+ * corresponding to the HRPD/1xRTT sector under
+ * the HRPD AN/1xBS to which the eNB has initiated the UE
+ * to handover to. The CDMA2000 Reference Cell
+ * ID is statically configured in the eNB.
+ */
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_Cdma2000SectorID);
+ dissect_a21_ie_common(parameter_tvb, %(ACTX)s->pinfo, NULL/* Top tree not needed */, subtree, 0, 0 /* message_type not needed */);
+
+#.FN_BODY UERadioCapabilityForPaging VAL_PTR = &parameter_tvb
+# 9.2.1.98 UE Radio Capability for Paging
+# Includes the UERadioPagingInformation message as defined in 10.2.2 of TS 36.331 [16].
+
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ volatile dissector_handle_t handle;
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UERadioPagingInformation);
+ if (s1ap_data->protocol_ie_id == id_UERadioCapabilityForPaging_NR_Format) {
+ handle = nr_rrc_ue_radio_paging_info_handle;
+ } else if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) ||
+ (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) {
+ handle = lte_rrc_ue_radio_paging_info_nb_handle;
+ } else {
+ handle = lte_rrc_ue_radio_paging_info_handle;
+ }
+ if (handle) {
+ TRY {
+ call_dissector(handle, parameter_tvb, actx->pinfo, subtree);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ }
+ }
+
+#.FN_BODY CELevel VAL_PTR = &parameter_tvb
+# 9.2.1.109 Cell Identifier and Coverage Enhancement Level
+# Includes the UEPagingCoverageInformation message as defined in 10.2.2 of TS 36.331
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_CELevel);
+ volatile int saved_offset = offset;
+ if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) ||
+ (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) {
+ TRY {
+ dissect_lte_rrc_UEPagingCoverageInformation_NB_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ } else {
+ TRY {
+ dissect_lte_rrc_UEPagingCoverageInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ }
+ offset = saved_offset;
+ }
+
+#.FN_BODY UE-RLF-Report-Container VAL_PTR = &parameter_tvb
+# 9.2.3.40 RLF Report Information
+# Includes the rlf-Report-r9 contained in UEInformationResponse message as defined in TS 36.331
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container);
+ volatile int saved_offset = offset;
+ TRY {
+ dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = saved_offset;
+ }
+
+#.FN_BODY UE-RLF-Report-Container-for-extended-bands VAL_PTR = &parameter_tvb
+# 9.2.3.40 RLF Report Information
+# Includes the rlf-Report-v9e0 contained in UEInformationResponse message as defined in TS 36.331
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container_for_extended_bands);
+ volatile int saved_offset = offset;
+ TRY {
+ dissect_lte_rrc_RLF_Report_v9e0_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = saved_offset;
+ }
+
+#.FN_BODY NB-IoT-RLF-Report-Container VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NB_IoT_RLF_Report_Container);
+ volatile int saved_offset = offset;
+ TRY {
+ dissect_lte_rrc_RLF_Report_NB_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = saved_offset;
+ }
+
+#.FN_BODY TooEarlyInterRATHOReportReportFromEUTRAN/uERLFReportContainer VAL_PTR = &parameter_tvb
+# B.1.17 Failure Event Report
+# Includes the RLF Report contained in the UEInformationResponse message (TS 36.331 [16])
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container);
+ volatile int saved_offset = offset;
+ TRY {
+ dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = saved_offset;
+ }
+
+#.TYPE_ATTR
+ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &s1ap_ProtocolIE_ID_vals_ext
+
+#.FN_BODY S1-Message VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_S1_Message);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ call_dissector(s1ap_handle, parameter_tvb, actx->pinfo, subtree);
+
+#.FN_BODY E-UTRAN-Trace-ID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_E_UTRAN_Trace_ID);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
+ proto_tree_add_item(subtree, hf_s1ap_E_UTRAN_Trace_ID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_s1ap_E_UTRAN_Trace_ID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
+
+#.FN_BODY InterfacesToTrace VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_s1ap_interfacesToTrace_S1_MME,
+ &hf_s1ap_interfacesToTrace_X2,
+ &hf_s1ap_interfacesToTrace_Uu,
+ &hf_s1ap_interfacesToTrace_F1_C,
+ &hf_s1ap_interfacesToTrace_E1,
+ &hf_s1ap_interfacesToTrace_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_InterfacesToTrace);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+IntersystemMeasurementConfiguration/rSRP DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_threshold_nr_rsrp_fmt)
+
+#.TYPE_ATTR
+IntersystemMeasurementConfiguration/rSRQ DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_threshold_nr_rsrq_fmt)
+
+#.TYPE_ATTR
+IntersystemMeasurementConfiguration/sINR DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_threshold_nr_sinr_fmt)
+
+#.TYPE_ATTR
+InterSystemMeasurementParameters/measurementDuration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.FN_BODY InterSystemMeasurementItem/sMTC VAL_PTR = &ssb_mtc_tvb
+ tvbuff_t *ssb_mtc_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ssb_mtc_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_sMTC);
+ dissect_lte_rrc_MTC_SSB_NR_r15_PDU(ssb_mtc_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY InterSystemMeasurementItem/threshRS-Index-r15 VAL_PTR = &threshold_list_tvb
+ tvbuff_t *threshold_list_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (threshold_list_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_threshRS_Index_r15);
+ dissect_lte_rrc_ThresholdListNR_r15_PDU(threshold_list_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY InterSystemMeasurementItem/sSBToMeasure VAL_PTR = &ssb_to_meas_tvb
+ tvbuff_t *ssb_to_meas_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ssb_to_meas_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_sSBToMeasure);
+ dissect_lte_rrc_SSB_ToMeasure_r15_PDU(ssb_to_meas_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY InterSystemMeasurementItem/sSRSSIMeasurement VAL_PTR = &ss_rssi_meas_tvb
+ tvbuff_t *ss_rssi_meas_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (ss_rssi_meas_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_sSRSSIMeasurement);
+ dissect_lte_rrc_SS_RSSI_Measurement_r15_PDU(ss_rssi_meas_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY InterSystemMeasurementItem/quantityConfigNR-R15 VAL_PTR = &quantity_config_nr_tvb
+ tvbuff_t *quantity_config_nr_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (quantity_config_nr_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_quantityConfigNR_R15);
+ dissect_lte_rrc_QuantityConfigNR_r15_PDU(quantity_config_nr_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY InterSystemMeasurementItem/excludedCellsToAddModList VAL_PTR = &excluded_cells_list_tvb
+ tvbuff_t *excluded_cells_list_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (excluded_cells_list_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_excludedCellsToAddModList);
+ dissect_lte_rrc_CellsToAddModListNR_r15_PDU(excluded_cells_list_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY GUMMEI
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->number_type = E212_GUMMEI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+MME-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC_HEX
+#.FN_BODY MME-Code VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+MME-Group-ID TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY MME-Group-ID VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY EncryptionAlgorithms VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_s1ap_encryptionAlgorithms_EEA1,
+ &hf_s1ap_encryptionAlgorithms_EEA2,
+ &hf_s1ap_encryptionAlgorithms_EEA3,
+ &hf_s1ap_encryptionAlgorithms_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_EncryptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY IntegrityProtectionAlgorithms VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_s1ap_integrityProtectionAlgorithms_EIA1,
+ &hf_s1ap_integrityProtectionAlgorithms_EIA2,
+ &hf_s1ap_integrityProtectionAlgorithms_EIA3,
+ &hf_s1ap_integrityProtectionAlgorithms_EIA7,
+ &hf_s1ap_integrityProtectionAlgorithms_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_IntegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Time-UE-StayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+Time-UE-StayedInCell-EnhancedGranularity DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Time_UE_StayedInCell_EnhancedGranularity_fmt)
+
+#.FN_BODY TimeSinceSecondaryNodeRelease VAL_PTR=&parameter_tvb HF_INDEX=-1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+TimeSinceSecondaryNodeRelease TYPE=FT_UINT32 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+LastVisitedPSCellInformation/timeStay DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RecommendedCellItem/timeStayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY LastVisitedNGRANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_LastVisitedNGRANCellInformation);
+ volatile int saved_offset = offset;
+ TRY {
+ dissect_ngap_LastVisitedNGRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = saved_offset;
+ }
+
+#.FN_BODY LastVisitedUTRANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ if (g_s1ap_dissect_container) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_LastVisitedUTRANCellInformation);
+ volatile int saved_offset = offset;
+ TRY {
+ dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ CATCH_BOUNDS_ERRORS {
+ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = saved_offset;
+ }
+
+#.TYPE_ATTR
+MessageIdentifier TYPE = FT_UINT16 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &lte_rrc_messageIdentifier_vals_ext
+
+#.FN_BODY MessageIdentifier VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY SerialNumber VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_SerialNumber);
+ proto_tree_add_item(subtree, hf_s1ap_SerialNumber_gs, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_s1ap_SerialNumber_msg_code, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_s1ap_SerialNumber_upd_nb, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+RepetitionPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY WarningType VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_WarningType);
+ proto_tree_add_item(subtree, hf_s1ap_WarningType_value, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_s1ap_WarningType_emergency_user_alert, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_s1ap_WarningType_popup, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY DataCodingScheme VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_DataCodingScheme);
+ s1ap_data->data_coding_scheme = dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
+ }
+
+#.TYPE_ATTR
+DataSize DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_bits
+
+#.FN_BODY WarningMessageContents VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_WarningMessageContents);
+ dissect_s1ap_warningMessageContents(parameter_tvb, subtree, actx->pinfo, s1ap_data->data_coding_scheme, hf_s1ap_WarningMessageContents_nb_pages, hf_s1ap_WarningMessageContents_decoded_page);
+ }
+
+#.FN_BODY MSClassmark2 VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MSClassmark);
+ de_ms_cm_2(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+ }
+
+#.FN_BODY MSClassmark3 VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MSClassmark);
+ de_ms_cm_3(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+ }
+
+#.TYPE_ATTR
+EUTRANRoundTripDelayEstimationInfo DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_EUTRANRoundTripDelayEstimationInfo_fmt)
+
+#.TYPE_ATTR
+ExtendedRepetitionPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY MeasurementsToActivate VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_s1ap_measurementsToActivate_M1,
+ &hf_s1ap_measurementsToActivate_M2,
+ &hf_s1ap_measurementsToActivate_M3,
+ &hf_s1ap_measurementsToActivate_M4,
+ &hf_s1ap_measurementsToActivate_M5,
+ &hf_s1ap_measurementsToActivate_LoggingM1FromEventTriggered,
+ &hf_s1ap_measurementsToActivate_M6,
+ &hf_s1ap_measurementsToActivate_M7,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MeasurementsToActivate);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY MDT-Location-Info VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_s1ap_MDT_Location_Info_GNSS,
+ &hf_s1ap_MDT_Location_Info_E_CID,
+ &hf_s1ap_MDT_Location_Info_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MDT_Location_Info);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+LHN-ID TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY LHN-ID VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+#.END
+
+#.TYPE_ATTR
+ExpectedActivityPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ExpectedIdlePeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY E-RABUsageReportItem/startTimestamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR E-RABUsageReportItem/startTimestamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.FN_BODY E-RABUsageReportItem/endTimestamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR E-RABUsageReportItem/endTimestamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.TYPE_ATTR
+E-RABUsageReportItem/usageCountUL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+E-RABUsageReportItem/usageCountDL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+ExtendedBitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.FN_BODY NRencryptionAlgorithms VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_s1ap_NRencryptionAlgorithms_NEA1,
+ &hf_s1ap_NRencryptionAlgorithms_NEA2,
+ &hf_s1ap_NRencryptionAlgorithms_NEA3,
+ &hf_s1ap_NRencryptionAlgorithms_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NRencryptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY NRintegrityProtectionAlgorithms VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_s1ap_NRintegrityProtectionAlgorithms_NIA1,
+ &hf_s1ap_NRintegrityProtectionAlgorithms_NIA2,
+ &hf_s1ap_NRintegrityProtectionAlgorithms_NIA3,
+ &hf_s1ap_NRintegrityProtectionAlgorithms_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NRintegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY UE-Application-Layer-Measurement-Capability VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service,
+ &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service,
+ &hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_Application_Layer_Measurement_Capability);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ if (s1ap_data->supported_ta) {
+ s1ap_data->supported_ta->tac = tvb_get_ntohs(parameter_tvb, 0);
+ } else if (s1ap_data->tai) {
+ s1ap_data->tai->tac = tvb_get_ntohs(parameter_tvb, 0);
+ }
+ }
+
+#.FN_BODY LAI
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->number_type = E212_LAI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+LAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY LAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+RAC TYPE = FT_UINT8 DISPLAY = BASE_DEC_HEX
+#.FN_BODY RAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY FiveGSTAI
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->number_type = E212_5GSTAI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+FiveGSTAC TYPE = FT_UINT24 DISPLAY = BASE_DEC_HEX
+#.FN_BODY FiveGSTAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+M-TMSI TYPE = FT_UINT32 DISPLAY = BASE_DEC_HEX
+#.FN_BODY M-TMSI VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+ proto_item *ti;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ ti = proto_tree_add_item(tree, hf_3gpp_tmsi, tvb, 0, 4, ENC_BIG_ENDIAN);
+ proto_item_set_hidden(ti);
+
+ }
+
+#.FN_BODY IMSI VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_IMSI);
+ dissect_e212_imsi(parameter_tvb, actx->pinfo, subtree, 0, tvb_reported_length(parameter_tvb), FALSE);
+ }
+
+#.FN_BODY NASSecurityParametersfromE-UTRAN VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NASSecurityParameters);
+ de_emm_sec_par_from_eutra(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+ }
+
+#.FN_BODY NASSecurityParameterstoE-UTRAN VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NASSecurityParameters);
+ de_emm_sec_par_to_eutra(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
+ }
+
+#.FN_HDR SupportedTAs-Item
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+
+ if (!PINFO_FD_VISITED(actx->pinfo) &&
+ (s1ap_data->message_type == INITIATING_MESSAGE) &&
+ ((s1ap_data->procedure_code == id_S1Setup) ||
+ (s1ap_data->procedure_code == id_ENBConfigurationUpdate))) {
+ s1ap_data->supported_ta = wmem_new0(actx->pinfo->pool, struct s1ap_supported_ta);
+ s1ap_data->supported_ta->plmn = wmem_array_new(actx->pinfo->pool, sizeof(guint32));
+ }
+
+#.FN_FTR SupportedTAs-Item
+ s1ap_data->supported_ta = NULL;
+
+#.FN_BODY RAT-Type VAL_PTR = &rat_type
+ guint32 rat_type = 0xffffffff;
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ if (s1ap_data->s1ap_conv && s1ap_data->supported_ta && rat_type <= nbiot_othersat) {
+ guint64 *key;
+ guint i;
+
+ for (i = 0; i < wmem_array_get_count(s1ap_data->supported_ta->plmn); i++) {
+ key = wmem_new(wmem_file_scope(), guint64);
+ *key = ((*(guint32*)wmem_array_index(s1ap_data->supported_ta->plmn, i)) << 16) | s1ap_data->supported_ta->tac;
+ wmem_map_insert(s1ap_data->s1ap_conv->nbiot_ta, key, GUINT_TO_POINTER(1));
+ }
+ }
+
+#.FN_BODY ENB-UE-S1AP-ID VAL_PTR = &enb_ue_s1ap_id
+ guint32 enb_ue_s1ap_id;
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ if (hf_index == hf_s1ap_eNB_UE_S1AP_ID) {
+ proto_item *item;
+ item = proto_tree_add_uint(tree, hf_s1ap_ENB_UE_S1AP_ID_PDU, tvb, offset, 0 , enb_ue_s1ap_id );
+ proto_item_set_hidden(item);
+ }
+
+ s1ap_data->enb_ue_s1ap_id = (guint16)enb_ue_s1ap_id;
+
+#.FN_BODY MME-UE-S1AP-ID VAL_PTR = &mme_ue_s1ap_id
+ guint32 mme_ue_s1ap_id;
+%(DEFAULT_BODY)s
+ if (hf_index == hf_s1ap_mME_UE_S1AP_ID) {
+ proto_item *item;
+ item = proto_tree_add_uint(tree, hf_s1ap_MME_UE_S1AP_ID_PDU, tvb, offset, 0 , mme_ue_s1ap_id );
+ proto_item_set_hidden(item);
+ }
+
+#.FN_BODY TAI
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->number_type = E212_TAI;
+ s1ap_data->tai = wmem_new0(actx->pinfo->pool, struct s1ap_tai);
+%(DEFAULT_BODY)s
+ if (!PINFO_FD_VISITED(actx->pinfo) && s1ap_data->s1ap_conv &&
+ (s1ap_data->message_type == INITIATING_MESSAGE) &&
+ (s1ap_data->procedure_code == id_initialUEMessage)) {
+ guint64 key = (s1ap_data->tai->plmn << 16) | s1ap_data->tai->tac;
+
+ if (wmem_map_lookup(s1ap_data->s1ap_conv->nbiot_ta, &key)) {
+ wmem_tree_key_t tree_key[3];
+ guint32 *id = wmem_new(wmem_file_scope(), guint32);
+
+ *id = s1ap_data->enb_ue_s1ap_id;
+ tree_key[0].length = 1;
+ tree_key[0].key = id;
+ tree_key[1].length = 1;
+ tree_key[1].key = &actx->pinfo->num;
+ tree_key[2].length = 0;
+ tree_key[2].key = NULL;
+ wmem_tree_insert32_array(s1ap_data->s1ap_conv->nbiot_enb_ue_s1ap_id, tree_key, id);
+ }
+ }
+
+#.TYPE_ATTR
+Packet-LossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Packet_LossRate_fmt)
+
+#.TYPE_ATTR
+BluetoothName TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY BluetoothName VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+#.END
+
+#.TYPE_ATTR
+WLANName TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY WLANName VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+#.END
+
+#.TYPE_ATTR
+Subscription-Based-UE-DifferentiationInfo/periodicTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ScheduledCommunicationTime/timeofDayStart DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ScheduledCommunicationTime/timeofDayEnd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+TrafficLoadReductionIndication DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.FN_BODY MDT-ConfigurationNR VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MDT_ConfigurationNR);
+ dissect_ngap_MDT_Configuration_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY IntersystemSONConfigurationTransfer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_IntersystemSONConfigurationTransfer);
+ dissect_ngap_SONConfigurationTransfer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.ASSIGN_VALUE_TO_TYPE # S1AP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+
+id-HandoverPreparation ProcedureCode
+id-HandoverResourceAllocation ProcedureCode
+id-HandoverNotification ProcedureCode
+id-PathSwitchRequest ProcedureCode
+id-HandoverCancel ProcedureCode
+id-E-RABSetup ProcedureCode
+id-E-RABModify ProcedureCode
+id-E-RABRelease ProcedureCode
+id-E-RABReleaseIndication ProcedureCode
+id-InitialContextSetup ProcedureCode
+id-Paging ProcedureCode
+id-downlinkNASTransport ProcedureCode
+id-initialUEMessage ProcedureCode
+id-uplinkNASTransport ProcedureCode
+id-Reset ProcedureCode
+id-ErrorIndication ProcedureCode
+id-NASNonDeliveryIndication ProcedureCode
+id-S1Setup ProcedureCode
+id-UEContextReleaseRequest ProcedureCode
+id-DownlinkS1cdma2000tunnelling ProcedureCode
+id-UplinkS1cdma2000tunnelling ProcedureCode
+id-UEContextModification ProcedureCode
+id-UECapabilityInfoIndication ProcedureCode
+id-UEContextRelease ProcedureCode
+id-eNBStatusTransfer ProcedureCode
+id-MMEStatusTransfer ProcedureCode
+id-DeactivateTrace ProcedureCode
+id-TraceStart ProcedureCode
+id-TraceFailureIndication ProcedureCode
+id-ENBConfigurationUpdate ProcedureCode
+id-MMEConfigurationUpdate ProcedureCode
+id-LocationReportingControl ProcedureCode
+id-LocationReportingFailureIndication ProcedureCode
+id-LocationReport ProcedureCode
+id-OverloadStart ProcedureCode
+id-OverloadStop ProcedureCode
+id-WriteReplaceWarning ProcedureCode
+id-eNBDirectInformationTransfer ProcedureCode
+id-MMEDirectInformationTransfer ProcedureCode
+id-PrivateMessage ProcedureCode
+id-eNBConfigurationTransfer ProcedureCode
+id-MMEConfigurationTransfer ProcedureCode
+id-CellTrafficTrace ProcedureCode
+id-Kill ProcedureCode
+id-downlinkUEAssociatedLPPaTransport ProcedureCode
+id-uplinkUEAssociatedLPPaTransport ProcedureCode
+id-downlinkNonUEAssociatedLPPaTransport ProcedureCode
+id-uplinkNonUEAssociatedLPPaTransport ProcedureCode
+id-UERadioCapabilityMatch ProcedureCode
+id-PWSRestartIndication ProcedureCode
+id-E-RABModificationIndication ProcedureCode
+id-PWSFailureIndication ProcedureCode
+id-RerouteNASRequest ProcedureCode
+id-UEContextModificationIndication ProcedureCode
+id-ConnectionEstablishmentIndication ProcedureCode
+id-UEContextSuspend ProcedureCode
+id-UEContextResume ProcedureCode
+id-NASDeliveryIndication ProcedureCode
+id-RetrieveUEInformation ProcedureCode
+id-UEInformationTransfer ProcedureCode
+id-eNBCPRelocationIndication ProcedureCode
+id-MMECPRelocationIndication ProcedureCode
+id-SecondaryRATDataUsageReport ProcedureCode
+id-HandoverSuccess ProcedureCode
+id-eNBEarlyStatusTransfer ProcedureCode
+id-MMEEarlyStatusTransfer ProcedureCode
+
+# ProtocolIE-ID
+id-MME-UE-S1AP-ID ProtocolIE-ID
+id-HandoverType ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-TargetID ProtocolIE-ID
+id-eNB-UE-S1AP-ID ProtocolIE-ID
+id-E-RABSubjecttoDataForwardingList ProtocolIE-ID
+id-E-RABtoReleaseListHOCmd ProtocolIE-ID
+id-E-RABDataForwardingItem ProtocolIE-ID
+id-E-RABReleaseItemBearerRelComp ProtocolIE-ID
+id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID
+id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID
+id-E-RABAdmittedList ProtocolIE-ID
+id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID
+id-E-RABAdmittedItem ProtocolIE-ID
+id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID
+id-E-RABToBeSwitchedDLList ProtocolIE-ID
+id-E-RABToBeSwitchedDLItem ProtocolIE-ID
+id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID
+id-TraceActivation ProtocolIE-ID
+id-NAS-PDU ProtocolIE-ID
+id-E-RABToBeSetupItemHOReq ProtocolIE-ID
+id-E-RABSetupListBearerSURes ProtocolIE-ID
+id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID
+id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID
+id-E-RABModifyListBearerModRes ProtocolIE-ID
+id-E-RABFailedToModifyList ProtocolIE-ID
+id-E-RABToBeReleasedList ProtocolIE-ID
+id-E-RABFailedToReleaseList ProtocolIE-ID
+id-E-RABItem ProtocolIE-ID
+id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID
+id-E-RABModifyItemBearerModRes ProtocolIE-ID
+id-E-RABReleaseItem ProtocolIE-ID
+id-E-RABSetupItemBearerSURes ProtocolIE-ID
+id-SecurityContext ProtocolIE-ID
+id-HandoverRestrictionList ProtocolIE-ID
+id-UEPagingID ProtocolIE-ID
+id-pagingDRX ProtocolIE-ID
+id-TAIList ProtocolIE-ID
+id-TAIItem ProtocolIE-ID
+id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID
+id-E-RABReleaseItemHOCmd ProtocolIE-ID
+id-E-RABSetupItemCtxtSURes ProtocolIE-ID
+id-E-RABSetupListCtxtSURes ProtocolIE-ID
+id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID
+id-E-RABToBeSetupListHOReq ProtocolIE-ID
+id-GERANtoLTEHOInformationRes ProtocolIE-ID
+id-UTRANtoLTEHOInformationRes ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-eNBname ProtocolIE-ID
+id-MMEname ProtocolIE-ID
+id-Global-ENB-ID ProtocolIE-ID
+id-ServedPLMNs ProtocolIE-ID
+id-SupportedTAs ProtocolIE-ID
+id-TimeToWait ProtocolIE-ID
+id-uEaggregateMaximumBitrate ProtocolIE-ID
+id-TAI ProtocolIE-ID
+id-E-RABReleaseListBearerRelComp ProtocolIE-ID
+id-cdma2000PDU ProtocolIE-ID
+id-cdma2000RATType ProtocolIE-ID
+id-cdma2000SectorID ProtocolIE-ID
+id-SecurityKey ProtocolIE-ID
+id-UERadioCapability ProtocolIE-ID
+id-GUMMEI-ID ProtocolIE-ID
+id-E-RABInformationListItem ProtocolIE-ID
+id-Direct-Forwarding-Path-Availability ProtocolIE-ID
+id-UEIdentityIndexValue ProtocolIE-ID
+id-cdma2000HOStatus ProtocolIE-ID
+id-cdma2000HORequiredIndication ProtocolIE-ID
+id-E-UTRAN-Trace-ID ProtocolIE-ID
+id-RelativeMMECapacity ProtocolIE-ID
+id-SourceMME-UE-S1AP-ID ProtocolIE-ID
+id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID
+id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID
+id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID
+id-ResetType ProtocolIE-ID
+id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID
+id-E-RABToBeSwitchedULItem ProtocolIE-ID
+id-E-RABToBeSwitchedULList ProtocolIE-ID
+id-S-TMSI ProtocolIE-ID
+id-cdma2000OneXRAND ProtocolIE-ID
+id-RequestType ProtocolIE-ID
+id-UE-S1AP-IDs ProtocolIE-ID
+id-EUTRAN-CGI ProtocolIE-ID
+id-OverloadResponse ProtocolIE-ID
+id-cdma2000OneXSRVCCInfo ProtocolIE-ID
+id-E-RABFailedToBeReleasedList ProtocolIE-ID
+id-Source-ToTarget-TransparentContainer ProtocolIE-ID
+id-ServedGUMMEIs ProtocolIE-ID
+id-SubscriberProfileIDforRFP ProtocolIE-ID
+id-UESecurityCapabilities ProtocolIE-ID
+id-CSFallbackIndicator ProtocolIE-ID
+id-CNDomain ProtocolIE-ID
+id-E-RABReleasedList ProtocolIE-ID
+id-MessageIdentifier ProtocolIE-ID
+id-SerialNumber ProtocolIE-ID
+id-WarningAreaList ProtocolIE-ID
+id-RepetitionPeriod ProtocolIE-ID
+id-NumberofBroadcastRequest ProtocolIE-ID
+id-WarningType ProtocolIE-ID
+id-WarningSecurityInfo ProtocolIE-ID
+id-DataCodingScheme ProtocolIE-ID
+id-WarningMessageContents ProtocolIE-ID
+id-BroadcastCompletedAreaList ProtocolIE-ID
+id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID
+id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID
+id-Target-ToSource-TransparentContainer ProtocolIE-ID
+id-SRVCCOperationPossible ProtocolIE-ID
+id-SRVCCHOIndication ProtocolIE-ID
+id-NAS-DownlinkCount ProtocolIE-ID
+id-CSG-Id ProtocolIE-ID
+id-CSG-IdList ProtocolIE-ID
+id-SONConfigurationTransferECT ProtocolIE-ID
+id-SONConfigurationTransferMCT ProtocolIE-ID
+id-TraceCollectionEntityIPAddress ProtocolIE-ID
+id-MSClassmark2 ProtocolIE-ID
+id-MSClassmark3 ProtocolIE-ID
+id-RRC-Establishment-Cause ProtocolIE-ID
+id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID
+id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID
+id-DefaultPagingDRX ProtocolIE-ID
+id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID
+id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID
+id-EUTRANRoundTripDelayEstimationInfo ProtocolIE-ID
+id-BroadcastCancelledAreaList ProtocolIE-ID
+id-ConcurrentWarningMessageIndicator ProtocolIE-ID
+id-Data-Forwarding-Not-Possible ProtocolIE-ID
+id-ExtendedRepetitionPeriod ProtocolIE-ID
+id-CellAccessMode ProtocolIE-ID
+id-CSGMembershipStatus ProtocolIE-ID
+id-LPPa-PDU ProtocolIE-ID
+id-Routing-ID ProtocolIE-ID
+id-Time-Synchronisation-Info ProtocolIE-ID
+id-PS-ServiceNotAvailable ProtocolIE-ID
+id-PagingPriority ProtocolIE-ID
+id-x2TNLConfigurationInfo ProtocolIE-ID
+id-eNBX2ExtendedTransportLayerAddresses ProtocolIE-ID
+id-GUMMEIList ProtocolIE-ID
+id-GW-TransportLayerAddress ProtocolIE-ID
+id-Correlation-ID ProtocolIE-ID
+id-SourceMME-GUMMEI ProtocolIE-ID
+id-MME-UE-S1AP-ID-2 ProtocolIE-ID
+id-RegisteredLAI ProtocolIE-ID
+id-RelayNode-Indicator ProtocolIE-ID
+id-TrafficLoadReductionIndication ProtocolIE-ID
+id-MDTConfiguration ProtocolIE-ID
+id-MMERelaySupportIndicator ProtocolIE-ID
+id-GWContextReleaseIndication ProtocolIE-ID
+id-ManagementBasedMDTAllowed ProtocolIE-ID
+id-PrivacyIndicator ProtocolIE-ID
+id-Time-UE-StayedInCell-EnhancedGranularity ProtocolIE-ID
+id-HO-Cause ProtocolIE-ID
+id-VoiceSupportMatchIndicator ProtocolIE-ID
+id-GUMMEIType ProtocolIE-ID
+id-M3Configuration ProtocolIE-ID
+id-M4Configuration ProtocolIE-ID
+id-M5Configuration ProtocolIE-ID
+id-MDT-Location-Info ProtocolIE-ID
+id-MobilityInformation ProtocolIE-ID
+id-Tunnel-Information-for-BBF ProtocolIE-ID
+id-ManagementBasedMDTPLMNList ProtocolIE-ID
+id-SignallingBasedMDTPLMNList ProtocolIE-ID
+id-ULCOUNTValueExtended ProtocolIE-ID
+id-DLCOUNTValueExtended ProtocolIE-ID
+id-ReceiveStatusOfULPDCPSDUsExtended ProtocolIE-ID
+id-ECGIListForRestart ProtocolIE-ID
+id-SIPTO-Correlation-ID ProtocolIE-ID
+id-SIPTO-L-GW-TransportLayerAddress ProtocolIE-ID
+id-TransportInformation ProtocolIE-ID
+id-LHN-ID ProtocolIE-ID
+id-AdditionalCSFallbackIndicator ProtocolIE-ID
+id-TAIListForRestart ProtocolIE-ID
+id-UserLocationInformation ProtocolIE-ID
+id-EmergencyAreaIDListForRestart ProtocolIE-ID
+id-KillAllWarningMessages ProtocolIE-ID
+id-Masked-IMEISV ProtocolIE-ID
+id-eNBIndirectX2TransportLayerAddresses ProtocolIE-ID
+id-uE-HistoryInformationFromTheUE ProtocolIE-ID
+id-ProSeAuthorized ProtocolIE-ID
+id-ExpectedUEBehaviour ProtocolIE-ID
+id-LoggedMBSFNMDT ProtocolIE-ID
+id-UERadioCapabilityForPaging ProtocolIE-ID
+id-E-RABToBeModifiedListBearerModInd ProtocolIE-ID
+id-E-RABToBeModifiedItemBearerModInd ProtocolIE-ID
+id-E-RABNotToBeModifiedListBearerModInd ProtocolIE-ID
+id-E-RABNotToBeModifiedItemBearerModInd ProtocolIE-ID
+id-E-RABModifyListBearerModConf ProtocolIE-ID
+id-E-RABModifyItemBearerModConf ProtocolIE-ID
+id-E-RABFailedToModifyListBearerModConf ProtocolIE-ID
+id-SON-Information-Report ProtocolIE-ID
+id-Muting-Availability-Indication ProtocolIE-ID
+id-Muting-Pattern-Information ProtocolIE-ID
+id-Synchronisation-Information ProtocolIE-ID
+id-E-RABToBeReleasedListBearerModConf ProtocolIE-ID
+id-AssistanceDataForPaging ProtocolIE-ID
+id-CellIdentifierAndCELevelForCECapableUEs ProtocolIE-ID
+id-InformationOnRecommendedCellsAndENBsForPaging ProtocolIE-ID
+id-RecommendedCellItem ProtocolIE-ID
+id-RecommendedENBItem ProtocolIE-ID
+id-ProSeUEtoNetworkRelaying ProtocolIE-ID
+id-ULCOUNTValuePDCP-SNlength18 ProtocolIE-ID
+id-DLCOUNTValuePDCP-SNlength18 ProtocolIE-ID
+id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ProtocolIE-ID
+id-M6Configuration ProtocolIE-ID
+id-M7Configuration ProtocolIE-ID
+id-PWSfailedECGIList ProtocolIE-ID
+id-MME-Group-ID ProtocolIE-ID
+id-Additional-GUTI ProtocolIE-ID
+id-S1-Message ProtocolIE-ID
+id-CSGMembershipInfo ProtocolIE-ID
+id-Paging-eDRXInformation ProtocolIE-ID
+id-UE-RetentionInformation ProtocolIE-ID
+id-UE-Usage-Type ProtocolIE-ID
+id-extended-UEIdentityIndexValue ProtocolIE-ID
+id-RAT-Type ProtocolIE-ID
+id-BearerType ProtocolIE-ID
+id-NB-IoT-DefaultPagingDRX ProtocolIE-ID
+id-E-RABFailedToResumeListResumeReq ProtocolIE-ID
+id-E-RABFailedToResumeItemResumeReq ProtocolIE-ID
+id-E-RABFailedToResumeListResumeRes ProtocolIE-ID
+id-E-RABFailedToResumeItemResumeRes ProtocolIE-ID
+id-NB-IoT-Paging-eDRXInformation ProtocolIE-ID
+id-V2XServicesAuthorized ProtocolIE-ID
+id-UEUserPlaneCIoTSupportIndicator ProtocolIE-ID
+id-CE-mode-B-SupportIndicator ProtocolIE-ID
+id-SRVCCOperationNotPossible ProtocolIE-ID
+id-NB-IoT-UEIdentityIndexValue ProtocolIE-ID
+id-RRC-Resume-Cause ProtocolIE-ID
+id-DCN-ID ProtocolIE-ID
+id-ServedDCNs ProtocolIE-ID
+id-UESidelinkAggregateMaximumBitrate ProtocolIE-ID
+id-DLNASPDUDeliveryAckRequest ProtocolIE-ID
+id-Coverage-Level ProtocolIE-ID
+id-EnhancedCoverageRestricted ProtocolIE-ID
+id-UE-Level-QoS-Parameters ProtocolIE-ID
+id-DL-CP-SecurityInformation ProtocolIE-ID
+id-UL-CP-SecurityInformation ProtocolIE-ID
+id-extended-e-RAB-MaximumBitrateDL ProtocolIE-ID
+id-extended-e-RAB-MaximumBitrateUL ProtocolIE-ID
+id-extended-e-RAB-GuaranteedBitrateDL ProtocolIE-ID
+id-extended-e-RAB-GuaranteedBitrateUL ProtocolIE-ID
+id-extended-uEaggregateMaximumBitRateDL ProtocolIE-ID
+id-extended-uEaggregateMaximumBitRateUL ProtocolIE-ID
+id-NRrestrictioninEPSasSecondaryRAT ProtocolIE-ID
+id-UEAppLayerMeasConfig ProtocolIE-ID
+id-UE-Application-Layer-Measurement-Capability ProtocolIE-ID
+id-SecondaryRATDataUsageReportList ProtocolIE-ID
+id-SecondaryRATDataUsageReportItem ProtocolIE-ID
+id-HandoverFlag ProtocolIE-ID
+id-E-RABUsageReportItem ProtocolIE-ID
+id-SecondaryRATDataUsageRequest ProtocolIE-ID
+id-NRUESecurityCapabilities ProtocolIE-ID
+id-UnlicensedSpectrumRestriction ProtocolIE-ID
+id-CE-ModeBRestricted ProtocolIE-ID
+id-LTE-M-Indication ProtocolIE-ID
+id-DownlinkPacketLossRate ProtocolIE-ID
+id-UplinkPacketLossRate ProtocolIE-ID
+id-UECapabilityInfoRequest ProtocolIE-ID
+id-serviceType ProtocolIE-ID
+id-AerialUEsubscriptionInformation ProtocolIE-ID
+id-Subscription-Based-UE-DifferentiationInfo ProtocolIE-ID
+id-EndIndication ProtocolIE-ID
+id-EDT-Session ProtocolIE-ID
+id-CNTypeRestrictions ProtocolIE-ID
+id-PendingDataIndication ProtocolIE-ID
+id-BluetoothMeasurementConfiguration ProtocolIE-ID
+id-WLANMeasurementConfiguration ProtocolIE-ID
+id-WarningAreaCoordinates ProtocolIE-ID
+id-NRrestrictionin5GS ProtocolIE-ID
+id-PSCellInformation ProtocolIE-ID
+id-LastNG-RANPLMNIdentity ProtocolIE-ID
+id-ConnectedengNBList ProtocolIE-ID
+id-ConnectedengNBToAddList ProtocolIE-ID
+id-ConnectedengNBToRemoveList ProtocolIE-ID
+id-EN-DCSONConfigurationTransfer-ECT ProtocolIE-ID
+id-EN-DCSONConfigurationTransfer-MCT ProtocolIE-ID
+id-IMSvoiceEPSfallbackfrom5G ProtocolIE-ID
+id-TimeSinceSecondaryNodeRelease ProtocolIE-ID
+id-RequestTypeAdditionalInfo ProtocolIE-ID
+id-AdditionalRRMPriorityIndex ProtocolIE-ID
+id-ContextatSource ProtocolIE-ID
+id-IAB-Authorized ProtocolIE-ID
+id-IAB-Node-Indication ProtocolIE-ID
+id-IAB-Supported ProtocolIE-ID
+id-DataSize ProtocolIE-ID
+id-Ethernet-Type ProtocolIE-ID
+id-NRV2XServicesAuthorized ProtocolIE-ID
+id-NRUESidelinkAggregateMaximumBitrate ProtocolIE-ID
+id-PC5QoSParameters ProtocolIE-ID
+id-IntersystemSONConfigurationTransferMCT ProtocolIE-ID
+id-IntersystemSONConfigurationTransferECT ProtocolIE-ID
+id-IntersystemMeasurementConfiguration ProtocolIE-ID
+id-SourceNodeID ProtocolIE-ID
+id-NB-IoT-RLF-Report-Container ProtocolIE-ID
+id-UERadioCapabilityID ProtocolIE-ID
+id-UERadioCapability-NR-Format ProtocolIE-ID
+id-MDTConfigurationNR ProtocolIE-ID
+id-DAPSRequestInfo ProtocolIE-ID
+id-DAPSResponseInfoList ProtocolIE-ID
+id-DAPSResponseInfoItem ProtocolIE-ID
+id-NotifySourceeNB ProtocolIE-ID
+id-eNB-EarlyStatusTransfer-TransparentContainer ProtocolIE-ID
+id-Bearers-SubjectToEarlyStatusTransfer-Item ProtocolIE-ID
+id-WUS-Assistance-Information ProtocolIE-ID
+id-NB-IoT-PagingDRX ProtocolIE-ID
+id-TraceCollectionEntityURI ProtocolIE-ID
+id-EmergencyIndicator ProtocolIE-ID
+id-UERadioCapabilityForPaging-NR-Format ProtocolIE-ID
+id-SourceTransportLayerAddress ProtocolIE-ID
+id-lastVisitedPSCellList ProtocolIE-ID
+id-RACSIndication ProtocolIE-ID
+id-PagingCause ProtocolIE-ID
+id-SecurityIndication ProtocolIE-ID
+id-SecurityResult ProtocolIE-ID
+id-E-RABSecurityResultItem ProtocolIE-ID
+id-E-RABSecurityResultList ProtocolIE-ID
+id-RAT-Restrictions ProtocolIE-ID
+id-UEContextReferenceatSourceeNB ProtocolIE-ID
+id-LTE-NTN-TAI-Information ProtocolIE-ID
+id-SourceNodeTransportLayerAddress ProtocolIE-ID
+id-E-RABToBeUpdatedList ProtocolIE-ID
+id-E-RABToBeUpdatedItem ProtocolIE-ID
+id-SourceSNID ProtocolIE-ID
+id-LoggedMDTTrigger ProtocolIE-ID
+id-SensorMeasurementConfiguration ProtocolIE-ID
+
+#.END
+
+#.REGISTER
+
+#S1AP-PROTOCOL-IES
+MME-UE-S1AP-ID N s1ap.ies id-MME-UE-S1AP-ID
+HandoverType N s1ap.ies id-HandoverType
+Cause N s1ap.ies id-Cause
+TargetID N s1ap.ies id-TargetID
+ENB-UE-S1AP-ID N s1ap.ies id-eNB-UE-S1AP-ID
+E-RABSubjecttoDataForwardingList N s1ap.ies id-E-RABSubjecttoDataForwardingList
+E-RABList N s1ap.ies id-E-RABtoReleaseListHOCmd
+E-RABDataForwardingItem N s1ap.ies id-E-RABDataForwardingItem
+E-RABReleaseItemBearerRelComp N s1ap.ies id-E-RABReleaseItemBearerRelComp
+E-RABToBeSetupListBearerSUReq N s1ap.ies id-E-RABToBeSetupListBearerSUReq
+E-RABToBeSetupItemBearerSUReq N s1ap.ies id-E-RABToBeSetupItemBearerSUReq
+E-RABAdmittedList N s1ap.ies id-E-RABAdmittedList
+E-RABFailedtoSetupListHOReqAck N s1ap.ies id-E-RABFailedToSetupListHOReqAck
+E-RABAdmittedItem N s1ap.ies id-E-RABAdmittedItem
+E-RABFailedToSetupItemHOReqAck N s1ap.ies id-E-RABFailedtoSetupItemHOReqAck
+E-RABToBeSwitchedDLList N s1ap.ies id-E-RABToBeSwitchedDLList
+E-RABToBeSwitchedDLItem N s1ap.ies id-E-RABToBeSwitchedDLItem
+E-RABToBeSetupListCtxtSUReq N s1ap.ies id-E-RABToBeSetupListCtxtSUReq
+TraceActivation N s1ap.ies id-TraceActivation
+E-UTRAN-Trace-ID N s1ap.ies id-E-UTRAN-Trace-ID
+NAS-PDU N s1ap.ies id-NAS-PDU
+E-RABToBeSetupItemHOReq N s1ap.ies id-E-RABToBeSetupItemHOReq
+E-RABSetupListBearerSURes N s1ap.ies id-E-RABSetupListBearerSURes
+E-RABList N s1ap.ies id-E-RABFailedToSetupListBearerSURes
+E-RABToBeModifiedListBearerModReq N s1ap.ies id-E-RABToBeModifiedListBearerModReq
+E-RABModifyListBearerModRes N s1ap.ies id-E-RABModifyListBearerModRes
+E-RABList N s1ap.ies id-E-RABFailedToModifyList
+E-RABList N s1ap.ies id-E-RABToBeReleasedList
+E-RABList N s1ap.ies id-E-RABFailedToReleaseList
+E-RABItem N s1ap.ies id-E-RABItem
+E-RABToBeModifiedItemBearerModReq N s1ap.ies id-E-RABToBeModifiedItemBearerModReq
+E-RABModifyItemBearerModRes N s1ap.ies id-E-RABModifyItemBearerModRes
+#SAEBearerReleaseItem N s1ap.ies id-E-RABReleaseItem
+E-RABSetupItemBearerSURes N s1ap.ies id-E-RABSetupItemBearerSURes
+SecurityContext N s1ap.ies id-SecurityContext
+HandoverRestrictionList N s1ap.ies id-HandoverRestrictionList
+UEPagingID N s1ap.ies id-UEPagingID
+PagingDRX N s1ap.ies id-pagingDRX
+TAIList N s1ap.ies id-TAIList
+TAIItem N s1ap.ies id-TAIItem
+E-RABList N s1ap.ies id-E-RABFailedToSetupListCtxtSURes
+#E-RABReleaseItemHOCmd N s1ap.ies id-E-RABReleaseItemHOCmd
+E-RABSetupItemCtxtSURes N s1ap.ies id-E-RABSetupItemCtxtSURes
+E-RABSetupListCtxtSURes N s1ap.ies id-E-RABSetupListCtxtSURes
+E-RABToBeSetupItemCtxtSUReq N s1ap.ies id-E-RABToBeSetupItemCtxtSUReq
+E-RABToBeSetupListHOReq N s1ap.ies id-E-RABToBeSetupListHOReq
+#UTRANtoLTEHOInformationRes N s1ap.ies id-UTRANtoLTEHOInformationRes
+CriticalityDiagnostics N s1ap.ies id-CriticalityDiagnostics
+Global-ENB-ID N s1ap.ies id-Global-ENB-ID
+ENBname N s1ap.ies id-eNBname
+MMEname N s1ap.ies id-MMEname
+ServedPLMNs N s1ap.ies id-ServedPLMNs
+SupportedTAs N s1ap.ies id-SupportedTAs
+TimeToWait N s1ap.ies id-TimeToWait
+UEAggregateMaximumBitrate N s1ap.ies id-uEaggregateMaximumBitrate
+TAI N s1ap.ies id-TAI
+E-RABReleaseListBearerRelComp N s1ap.ies id-E-RABReleaseListBearerRelComp
+Cdma2000PDU N s1ap.ies id-cdma2000PDU
+Cdma2000RATType N s1ap.ies id-cdma2000RATType
+Cdma2000SectorID N s1ap.ies id-cdma2000SectorID
+SecurityKey N s1ap.ies id-SecurityKey
+UERadioCapability N s1ap.ies id-UERadioCapability
+GUMMEI N s1ap.ies id-GUMMEI-ID
+E-RABInformationListItem N s1ap.ies id-E-RABInformationListItem
+Direct-Forwarding-Path-Availability N s1ap.ies id-Direct-Forwarding-Path-Availability
+UEIdentityIndexValue N s1ap.ies id-UEIdentityIndexValue
+Cdma2000HOStatus N s1ap.ies id-cdma2000HOStatus
+Cdma2000HORequiredIndication N s1ap.ies id-cdma2000HORequiredIndication
+RelativeMMECapacity N s1ap.ies id-RelativeMMECapacity
+MME-UE-S1AP-ID N s1ap.ies id-SourceMME-UE-S1AP-ID
+Bearers-SubjectToStatusTransfer-Item N s1ap.ies id-Bearers-SubjectToStatusTransfer-Item
+ENB-StatusTransfer-TransparentContainer N s1ap.ies id-eNB-StatusTransfer-TransparentContainer
+UE-associatedLogicalS1-ConnectionItem N s1ap.ies id-UE-associatedLogicalS1-ConnectionItem
+ResetType N s1ap.ies id-ResetType
+UE-associatedLogicalS1-ConnectionListResAck N s1ap.ies id-UE-associatedLogicalS1-ConnectionListResAck
+E-RABToBeSwitchedULItem N s1ap.ies id-E-RABToBeSwitchedULItem
+E-RABToBeSwitchedULList N s1ap.ies id-E-RABToBeSwitchedULList
+S-TMSI N s1ap.ies id-S-TMSI
+Cdma2000OneXRAND N s1ap.ies id-cdma2000OneXRAND
+RequestType N s1ap.ies id-RequestType
+UE-S1AP-IDs N s1ap.ies id-UE-S1AP-IDs
+EUTRAN-CGI N s1ap.ies id-EUTRAN-CGI
+OverloadResponse N s1ap.ies id-OverloadResponse
+Cdma2000OneXSRVCCInfo N s1ap.ies id-cdma2000OneXSRVCCInfo
+#SAEBearerList N s1ap.ies id-E-RABFailedToBeReleasedList
+Source-ToTarget-TransparentContainer N s1ap.ies id-Source-ToTarget-TransparentContainer
+ServedGUMMEIs N s1ap.ies id-ServedGUMMEIs
+SubscriberProfileIDforRFP N s1ap.ies id-SubscriberProfileIDforRFP
+UESecurityCapabilities N s1ap.ies id-UESecurityCapabilities
+CSFallbackIndicator N s1ap.ies id-CSFallbackIndicator
+CNDomain N s1ap.ies id-CNDomain
+E-RABList N s1ap.ies id-E-RABReleasedList
+MessageIdentifier N s1ap.ies id-MessageIdentifier
+SerialNumber N s1ap.ies id-SerialNumber
+WarningAreaList N s1ap.ies id-WarningAreaList
+RepetitionPeriod N s1ap.ies id-RepetitionPeriod
+NumberofBroadcastRequest N s1ap.ies id-NumberofBroadcastRequest
+WarningType N s1ap.ies id-WarningType
+WarningSecurityInfo N s1ap.ies id-WarningSecurityInfo
+DataCodingScheme N s1ap.ies id-DataCodingScheme
+WarningMessageContents N s1ap.ies id-WarningMessageContents
+BroadcastCompletedAreaList N s1ap.ies id-BroadcastCompletedAreaList
+Inter-SystemInformationTransferType N s1ap.ies id-Inter-SystemInformationTransferTypeEDT
+Inter-SystemInformationTransferType N s1ap.ies id-Inter-SystemInformationTransferTypeMDT
+Target-ToSource-TransparentContainer N s1ap.ies id-Target-ToSource-TransparentContainer
+SRVCCOperationPossible N s1ap.ies id-SRVCCOperationPossible
+SRVCCHOIndication N s1ap.ies id-SRVCCHOIndication
+CSG-Id N s1ap.ies id-CSG-Id
+CSG-IdList N s1ap.ies id-CSG-IdList
+SONConfigurationTransfer N s1ap.ies id-SONConfigurationTransferECT
+SONConfigurationTransfer N s1ap.ies id-SONConfigurationTransferMCT
+TransportLayerAddress N s1ap.ies id-TraceCollectionEntityIPAddress
+MSClassmark2 N s1ap.ies id-MSClassmark2
+MSClassmark3 N s1ap.ies id-MSClassmark3
+RRC-Establishment-Cause N s1ap.ies id-RRC-Establishment-Cause
+NASSecurityParametersfromE-UTRAN N s1ap.ies id-NASSecurityParametersfromE-UTRAN
+NASSecurityParameterstoE-UTRAN N s1ap.ies id-NASSecurityParameterstoE-UTRAN
+PagingDRX N s1ap.ies id-DefaultPagingDRX
+Source-ToTarget-TransparentContainer N s1ap.ies id-Source-ToTarget-TransparentContainer-Secondary
+Target-ToSource-TransparentContainer N s1ap.ies id-Target-ToSource-TransparentContainer-Secondary
+EUTRANRoundTripDelayEstimationInfo N s1ap.ies id-EUTRANRoundTripDelayEstimationInfo
+BroadcastCancelledAreaList N s1ap.ies id-BroadcastCancelledAreaList
+ConcurrentWarningMessageIndicator N s1ap.ies id-ConcurrentWarningMessageIndicator
+ExtendedRepetitionPeriod N s1ap.ies id-ExtendedRepetitionPeriod
+CellAccessMode N s1ap.ies id-CellAccessMode
+CSGMembershipStatus N s1ap.ies id-CSGMembershipStatus
+LPPa-PDU N s1ap.ies id-LPPa-PDU
+Routing-ID N s1ap.ies id-Routing-ID
+PS-ServiceNotAvailable N s1ap.ies id-PS-ServiceNotAvailable
+PagingPriority N s1ap.ies id-PagingPriority
+GUMMEIList N s1ap.ies id-GUMMEIList
+TransportLayerAddress N s1ap.ies id-GW-TransportLayerAddress
+GUMMEI N s1ap.ies id-SourceMME-GUMMEI
+MME-UE-S1AP-ID N s1ap.ies id-MME-UE-S1AP-ID-2
+LAI N s1ap.ies id-RegisteredLAI
+RelayNode-Indicator N s1ap.ies id-RelayNode-Indicator
+TrafficLoadReductionIndication N s1ap.ies id-TrafficLoadReductionIndication
+MMERelaySupportIndicator N s1ap.ies id-MMERelaySupportIndicator
+GWContextReleaseIndication N s1ap.ies id-GWContextReleaseIndication
+ManagementBasedMDTAllowed N s1ap.ies id-ManagementBasedMDTAllowed
+PrivacyIndicator N s1ap.ies id-PrivacyIndicator
+VoiceSupportMatchIndicator N s1ap.ies id-VoiceSupportMatchIndicator
+GUMMEIType N s1ap.ies id-GUMMEIType
+TunnelInformation N s1ap.ies id-Tunnel-Information-for-BBF
+MDTPLMNList N s1ap.ies id-ManagementBasedMDTPLMNList
+ECGIListForRestart N s1ap.ies id-ECGIListForRestart
+TransportLayerAddress N s1ap.ies id-SIPTO-L-GW-TransportLayerAddress
+LHN-ID N s1ap.ies id-LHN-ID
+AdditionalCSFallbackIndicator N s1ap.ies id-AdditionalCSFallbackIndicator
+TAIListForRestart N s1ap.ies id-TAIListForRestart
+UserLocationInformation N s1ap.ies id-UserLocationInformation
+KillAllWarningMessages N s1ap.ies id-KillAllWarningMessages
+Masked-IMEISV N s1ap.ies id-Masked-IMEISV
+ProSeAuthorized N s1ap.ies id-ProSeAuthorized
+ExpectedUEBehaviour N s1ap.ies id-ExpectedUEBehaviour
+UERadioCapabilityForPaging N s1ap.ies id-UERadioCapabilityForPaging
+E-RABToBeModifiedListBearerModInd N s1ap.ies id-E-RABToBeModifiedListBearerModInd
+E-RABToBeModifiedItemBearerModInd N s1ap.ies id-E-RABToBeModifiedItemBearerModInd
+E-RABNotToBeModifiedListBearerModInd N s1ap.ies id-E-RABNotToBeModifiedListBearerModInd
+E-RABNotToBeModifiedItemBearerModInd N s1ap.ies id-E-RABNotToBeModifiedItemBearerModInd
+E-RABModifyListBearerModConf N s1ap.ies id-E-RABModifyListBearerModConf
+E-RABModifyItemBearerModConf N s1ap.ies id-E-RABModifyItemBearerModConf
+E-RABList N s1ap.ies id-E-RABFailedToModifyListBearerModConf
+SONInformationReport N s1ap.ies id-SON-Information-Report
+E-RABList N s1ap.ies id-E-RABToBeReleasedListBearerModConf
+AssistanceDataForPaging N s1ap.ies id-AssistanceDataForPaging
+CellIdentifierAndCELevelForCECapableUEs N s1ap.ies id-CellIdentifierAndCELevelForCECapableUEs
+InformationOnRecommendedCellsAndENBsForPaging N s1ap.ies id-InformationOnRecommendedCellsAndENBsForPaging
+RecommendedCellItem N s1ap.ies id-RecommendedCellItem
+RecommendedENBItem N s1ap.ies id-RecommendedENBItem
+PWSfailedECGIList N s1ap.ies id-PWSfailedECGIList
+MME-Group-ID N s1ap.ies id-MME-Group-ID
+Additional-GUTI N s1ap.ies id-Additional-GUTI
+S1-Message N s1ap.ies id-S1-Message
+CSGMembershipInfo N s1ap.ies id-CSGMembershipInfo
+Paging-eDRXInformation N s1ap.ies id-Paging-eDRXInformation
+UE-RetentionInformation N s1ap.ies id-UE-RetentionInformation
+UE-Usage-Type N s1ap.ies id-UE-Usage-Type
+Extended-UEIdentityIndexValue N s1ap.ies id-extended-UEIdentityIndexValue
+NB-IoT-DefaultPagingDRX N s1ap.ies id-NB-IoT-DefaultPagingDRX
+E-RABFailedToResumeListResumeReq N s1ap.ies id-E-RABFailedToResumeListResumeReq
+E-RABFailedToResumeItemResumeReq N s1ap.ies id-E-RABFailedToResumeItemResumeReq
+E-RABFailedToResumeListResumeRes N s1ap.ies id-E-RABFailedToResumeListResumeRes
+E-RABFailedToResumeItemResumeRes N s1ap.ies id-E-RABFailedToResumeItemResumeRes
+NB-IoT-Paging-eDRXInformation N s1ap.ies id-NB-IoT-Paging-eDRXInformation
+UEUserPlaneCIoTSupportIndicator N s1ap.ies id-UEUserPlaneCIoTSupportIndicator
+CE-mode-B-SupportIndicator N s1ap.ies id-CE-mode-B-SupportIndicator
+SRVCCOperationNotPossible N s1ap.ies id-SRVCCOperationNotPossible
+NB-IoT-UEIdentityIndexValue N s1ap.ies id-NB-IoT-UEIdentityIndexValue
+RRC-Establishment-Cause N s1ap.ies id-RRC-Resume-Cause
+V2XServicesAuthorized N s1ap.ies id-V2XServicesAuthorized
+UESidelinkAggregateMaximumBitrate N s1ap.ies id-UESidelinkAggregateMaximumBitrate
+EnhancedCoverageRestricted N s1ap.ies id-EnhancedCoverageRestricted
+DLNASPDUDeliveryAckRequest N s1ap.ies id-DLNASPDUDeliveryAckRequest
+DCN-ID N s1ap.ies id-DCN-ID
+Coverage-Level N s1ap.ies id-Coverage-Level
+ServedDCNs N s1ap.ies id-ServedDCNs
+DL-CP-SecurityInformation N s1ap.ies id-DL-CP-SecurityInformation
+E-RABLevelQoSParameters N s1ap.ies id-UE-Level-QoS-Parameters
+UL-CP-SecurityInformation N s1ap.ies id-UL-CP-SecurityInformation
+E-RABUsageReportItem N s1ap.ies id-E-RABUsageReportItem
+SecondaryRATDataUsageReportItem N s1ap.ies id-SecondaryRATDataUsageReportItem
+NRUESecurityCapabilities N s1ap.ies id-NRUESecurityCapabilities
+SecondaryRATDataUsageRequest N s1ap.ies id-SecondaryRATDataUsageRequest
+SecondaryRATDataUsageReportList N s1ap.ies id-SecondaryRATDataUsageReportList
+UE-Application-Layer-Measurement-Capability N s1ap.ies id-UE-Application-Layer-Measurement-Capability
+HandoverFlag N s1ap.ies id-HandoverFlag
+EmergencyAreaIDListForRestart N s1ap.ies id-EmergencyAreaIDListForRestart
+CE-ModeBRestricted N s1ap.ies id-CE-ModeBRestricted
+AerialUEsubscriptionInformation N s1ap.ies id-AerialUEsubscriptionInformation
+UECapabilityInfoRequest N s1ap.ies id-UECapabilityInfoRequest
+EndIndication N s1ap.ies id-EndIndication
+EDT-Session N s1ap.ies id-EDT-Session
+LTE-M-Indication N s1ap.ies id-LTE-M-Indication
+Subscription-Based-UE-DifferentiationInfo N s1ap.ies id-Subscription-Based-UE-DifferentiationInfo
+PendingDataIndication N s1ap.ies id-PendingDataIndication
+WarningAreaCoordinates N s1ap.ies id-WarningAreaCoordinates
+PSCellInformation N s1ap.ies id-PSCellInformation
+ConnectedengNBList N s1ap.ies id-ConnectedengNBList
+ConnectedengNBList N s1ap.ies id-ConnectedengNBToAddList
+ConnectedengNBList N s1ap.ies id-ConnectedengNBToRemoveList
+EN-DCSONConfigurationTransfer N s1ap.ies id-EN-DCSONConfigurationTransfer-ECT
+EN-DCSONConfigurationTransfer N s1ap.ies id-EN-DCSONConfigurationTransfer-MCT
+TimeSinceSecondaryNodeRelease N s1ap.ies id-TimeSinceSecondaryNodeRelease
+AdditionalRRMPriorityIndex N s1ap.ies id-AdditionalRRMPriorityIndex
+IAB-Authorized N s1ap.ies id-IAB-Authorized
+IAB-Node-Indication N s1ap.ies id-IAB-Node-Indication
+IAB-Supported N s1ap.ies id-IAB-Supported
+DataSize N s1ap.ies id-DataSize
+NRV2XServicesAuthorized N s1ap.ies id-NRV2XServicesAuthorized
+NRUESidelinkAggregateMaximumBitrate N s1ap.ies id-NRUESidelinkAggregateMaximumBitrate
+PC5QoSParameters N s1ap.ies id-PC5QoSParameters
+IntersystemSONConfigurationTransfer N s1ap.ies id-IntersystemSONConfigurationTransferMCT
+IntersystemSONConfigurationTransfer N s1ap.ies id-IntersystemSONConfigurationTransferECT
+UERadioCapabilityID N s1ap.ies id-UERadioCapabilityID
+UERadioCapability N s1ap.ies id-UERadioCapability-NR-Format
+DAPSResponseInfoItem N s1ap.ies id-DAPSResponseInfoItem
+NotifySourceeNB N s1ap.ies id-NotifySourceeNB
+ENB-EarlyStatusTransfer-TransparentContainer N s1ap.ies id-eNB-EarlyStatusTransfer-TransparentContainer
+Bearers-SubjectToEarlyStatusTransfer-Item N s1ap.ies id-Bearers-SubjectToEarlyStatusTransfer-Item
+WUS-Assistance-Information N s1ap.ies id-WUS-Assistance-Information
+NB-IoT-PagingDRX N s1ap.ies id-NB-IoT-PagingDRX
+UERadioCapabilityForPaging N s1ap.ies id-UERadioCapabilityForPaging-NR-Format
+PagingCause N s1ap.ies id-PagingCause
+E-RABSecurityResultItem N s1ap.ies id-E-RABSecurityResultItem
+LTE-NTN-TAI-Information N s1ap.ies id-LTE-NTN-TAI-Information
+E-RABToBeUpdatedList N s1ap.ies id-E-RABToBeUpdatedList
+E-RABToBeUpdatedItem N s1ap.ies id-E-RABToBeUpdatedItem
+
+#S1AP-PROTOCOL-IES-PAIR
+#RAB-SetupOrModifyItemFirst N s1ap.ies.pair.first id-RAB-SetupOrModifyItem
+#RAB-SetupOrModifyItemSecond N s1ap.ies.pair.second id-RAB-SetupOrModifyItem
+
+#S1AP-PROTOCOL-EXTENSION
+#RAB-Parameters N s1ap.extension id-AlternativeRABConfiguration
+#Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf N s1ap.extension id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf
+Data-Forwarding-Not-Possible N s1ap.extension id-Data-Forwarding-Not-Possible
+TimeSynchronisationInfo N s1ap.extension id-Time-Synchronisation-Info
+X2TNLConfigurationInfo N s1ap.extension id-x2TNLConfigurationInfo
+ENBX2ExtTLAs N s1ap.extension id-eNBX2ExtendedTransportLayerAddresses
+Correlation-ID N s1ap.extension id-Correlation-ID
+MDT-Configuration N s1ap.extension id-MDTConfiguration
+Time-UE-StayedInCell-EnhancedGranularity N s1ap.extension id-Time-UE-StayedInCell-EnhancedGranularity
+Cause N s1ap.extension id-HO-Cause
+M3Configuration N s1ap.extension id-M3Configuration
+M4Configuration N s1ap.extension id-M4Configuration
+M5Configuration N s1ap.extension id-M5Configuration
+MDT-Location-Info N s1ap.extension id-MDT-Location-Info
+MobilityInformation N s1ap.extension id-MobilityInformation
+MDTPLMNList N s1ap.extension id-SignallingBasedMDTPLMNList
+COUNTValueExtended N s1ap.extension id-ULCOUNTValueExtended
+COUNTValueExtended N s1ap.extension id-DLCOUNTValueExtended
+ReceiveStatusOfULPDCPSDUsExtended N s1ap.extension id-ReceiveStatusOfULPDCPSDUsExtended
+Correlation-ID N s1ap.extension id-SIPTO-Correlation-ID
+TransportInformation N s1ap.extension id-TransportInformation
+ENBIndirectX2TransportLayerAddresses N s1ap.extension id-eNBIndirectX2TransportLayerAddresses
+LoggedMBSFNMDT N s1ap.extension id-LoggedMBSFNMDT
+UE-HistoryInformationFromTheUE N s1ap.extension id-uE-HistoryInformationFromTheUE
+MutingAvailabilityIndication N s1ap.extension id-Muting-Availability-Indication
+MutingPatternInformation N s1ap.extension id-Muting-Pattern-Information
+SynchronisationInformation N s1ap.extension id-Synchronisation-Information
+ProSeUEtoNetworkRelaying N s1ap.extension id-ProSeUEtoNetworkRelaying
+COUNTvaluePDCP-SNlength18 N s1ap.extension id-ULCOUNTValuePDCP-SNlength18
+COUNTvaluePDCP-SNlength18 N s1ap.extension id-DLCOUNTValuePDCP-SNlength18
+ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 N s1ap.extension id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18
+M6Configuration N s1ap.extension id-M6Configuration
+M7Configuration N s1ap.extension id-M7Configuration
+RAT-Type N s1ap.extension id-RAT-Type
+BearerType N s1ap.extension id-BearerType
+ExtendedBitRate N s1ap.extension id-extended-e-RAB-MaximumBitrateDL
+ExtendedBitRate N s1ap.extension id-extended-e-RAB-MaximumBitrateUL
+ExtendedBitRate N s1ap.extension id-extended-e-RAB-GuaranteedBitrateDL
+ExtendedBitRate N s1ap.extension id-extended-e-RAB-GuaranteedBitrateUL
+NRrestrictioninEPSasSecondaryRAT N s1ap.extension id-NRrestrictioninEPSasSecondaryRAT
+UEAppLayerMeasConfig N s1ap.extension id-UEAppLayerMeasConfig
+ExtendedBitRate N s1ap.extension id-extended-uEaggregateMaximumBitRateDL
+ExtendedBitRate N s1ap.extension id-extended-uEaggregateMaximumBitRateUL
+UnlicensedSpectrumRestriction N s1ap.extension id-UnlicensedSpectrumRestriction
+CNTypeRestrictions N s1ap.extension id-CNTypeRestrictions
+Packet-LossRate N s1ap.extension id-DownlinkPacketLossRate
+Packet-LossRate N s1ap.extension id-UplinkPacketLossRate
+ServiceType N s1ap.extension id-serviceType
+BluetoothMeasurementConfiguration N s1ap.extension id-BluetoothMeasurementConfiguration
+WLANMeasurementConfiguration N s1ap.extension id-WLANMeasurementConfiguration
+NRrestrictionin5GS N s1ap.extension id-NRrestrictionin5GS
+PLMNidentity N s1ap.extension id-LastNG-RANPLMNIdentity
+PSCellInformation N s1ap.extension id-PSCellInformation
+IMSvoiceEPSfallbackfrom5G N s1ap.extension id-IMSvoiceEPSfallbackfrom5G
+RequestTypeAdditionalInfo N s1ap.extension id-RequestTypeAdditionalInfo
+ContextatSource N s1ap.extension id-ContextatSource
+Ethernet-Type N s1ap.extension id-Ethernet-Type
+IntersystemMeasurementConfiguration N s1ap.extension id-IntersystemMeasurementConfiguration
+SourceNodeID N s1ap.extension id-SourceNodeID
+NB-IoT-RLF-Report-Container N s1ap.extension id-NB-IoT-RLF-Report-Container
+MDT-ConfigurationNR N s1ap.extension id-MDTConfigurationNR
+DAPSRequestInfo N s1ap.extension id-DAPSRequestInfo
+DAPSResponseInfoList N s1ap.extension id-DAPSResponseInfoList
+URI-Address N s1ap.extension id-TraceCollectionEntityURI
+EmergencyIndicator N s1ap.extension id-EmergencyIndicator
+TransportLayerAddress N s1ap.extension id-SourceTransportLayerAddress
+LastVisitedPSCellList N s1ap.extension id-lastVisitedPSCellList
+RACSIndication N s1ap.extension id-RACSIndication
+SecurityIndication N s1ap.extension id-SecurityIndication
+E-RABSecurityResultList N s1ap.extension id-E-RABSecurityResultList
+RAT-Restrictions N s1ap.extension id-RAT-Restrictions
+ENB-UE-S1AP-ID N s1ap.extension id-UEContextReferenceatSourceeNB
+LTE-NTN-TAI-Information N s1ap.extension id-LTE-NTN-TAI-Information
+TransportLayerAddress N s1ap.extension id-SourceNodeTransportLayerAddress
+Global-RAN-NODE-ID N s1ap.extension id-SourceSNID
+LoggedMDTTrigger N s1ap.extension id-LoggedMDTTrigger
+SensorMeasurementConfiguration N s1ap.extension id-SensorMeasurementConfiguration
+
+#S1AP-ELEMENTARY-PROCEDURE
+HandoverRequired N s1ap.proc.imsg id-HandoverPreparation
+HandoverCommand N s1ap.proc.sout id-HandoverPreparation
+HandoverPreparationFailure N s1ap.proc.uout id-HandoverPreparation
+
+HandoverRequest N s1ap.proc.imsg id-HandoverResourceAllocation
+HandoverRequestAcknowledge N s1ap.proc.sout id-HandoverResourceAllocation
+HandoverFailure N s1ap.proc.uout id-HandoverResourceAllocation
+
+HandoverNotify N s1ap.proc.imsg id-HandoverNotification
+
+PathSwitchRequest N s1ap.proc.imsg id-PathSwitchRequest
+PathSwitchRequestAcknowledge N s1ap.proc.sout id-PathSwitchRequest
+PathSwitchRequestFailure N s1ap.proc.uout id-PathSwitchRequest
+
+E-RABSetupRequest N s1ap.proc.imsg id-E-RABSetup
+E-RABSetupResponse N s1ap.proc.sout id-E-RABSetup
+
+E-RABModifyRequest N s1ap.proc.imsg id-E-RABModify
+E-RABModifyResponse N s1ap.proc.sout id-E-RABModify
+
+E-RABReleaseCommand N s1ap.proc.imsg id-E-RABRelease
+E-RABReleaseResponse N s1ap.proc.sout id-E-RABRelease
+
+E-RABReleaseIndication N s1ap.proc.imsg id-E-RABReleaseIndication
+
+InitialContextSetupRequest N s1ap.proc.imsg id-InitialContextSetup
+InitialContextSetupResponse N s1ap.proc.sout id-InitialContextSetup
+InitialContextSetupFailure N s1ap.proc.uout id-InitialContextSetup
+
+UEContextReleaseRequest N s1ap.proc.imsg id-UEContextReleaseRequest
+
+Paging N s1ap.proc.imsg id-Paging
+
+DownlinkNASTransport N s1ap.proc.imsg id-downlinkNASTransport
+
+InitialUEMessage N s1ap.proc.imsg id-initialUEMessage
+
+UplinkNASTransport N s1ap.proc.imsg id-uplinkNASTransport
+
+NASNonDeliveryIndication N s1ap.proc.imsg id-NASNonDeliveryIndication
+
+HandoverCancel N s1ap.proc.imsg id-HandoverCancel
+HandoverCancelAcknowledge N s1ap.proc.sout id-HandoverCancel
+
+Reset N s1ap.proc.imsg id-Reset
+ResetAcknowledge N s1ap.proc.sout id-Reset
+
+ErrorIndication N s1ap.proc.imsg id-ErrorIndication
+
+S1SetupRequest N s1ap.proc.imsg id-S1Setup
+S1SetupResponse N s1ap.proc.sout id-S1Setup
+S1SetupFailure N s1ap.proc.uout id-S1Setup
+
+DownlinkS1cdma2000tunnelling N s1ap.proc.imsg id-DownlinkS1cdma2000tunnelling
+
+ENBConfigurationUpdate N s1ap.proc.imsg id-ENBConfigurationUpdate
+ENBConfigurationUpdateAcknowledge N s1ap.proc.sout id-ENBConfigurationUpdate
+ENBConfigurationUpdateFailure N s1ap.proc.uout id-ENBConfigurationUpdate
+
+MMEConfigurationUpdate N s1ap.proc.imsg id-MMEConfigurationUpdate
+MMEConfigurationUpdateAcknowledge N s1ap.proc.sout id-MMEConfigurationUpdate
+MMEConfigurationUpdateFailure N s1ap.proc.uout id-MMEConfigurationUpdate
+
+UplinkS1cdma2000tunnelling N s1ap.proc.imsg id-UplinkS1cdma2000tunnelling
+
+UEContextModificationRequest N s1ap.proc.imsg id-UEContextModification
+UEContextModificationResponse N s1ap.proc.sout id-UEContextModification
+UEContextModificationFailure N s1ap.proc.uout id-UEContextModification
+
+UECapabilityInfoIndication N s1ap.proc.imsg id-UECapabilityInfoIndication
+
+UEContextReleaseCommand N s1ap.proc.imsg id-UEContextRelease
+UEContextReleaseComplete N s1ap.proc.sout id-UEContextRelease
+
+ENBStatusTransfer N s1ap.proc.imsg id-eNBStatusTransfer
+
+MMEStatusTransfer N s1ap.proc.imsg id-MMEStatusTransfer
+
+DeactivateTrace N s1ap.proc.imsg id-DeactivateTrace
+
+TraceStart N s1ap.proc.imsg id-TraceStart
+
+TraceFailureIndication N s1ap.proc.imsg id-TraceFailureIndication
+
+LocationReportingControl N s1ap.proc.imsg id-LocationReportingControl
+
+LocationReportingFailureIndication N s1ap.proc.imsg id-LocationReportingFailureIndication
+
+LocationReport N s1ap.proc.imsg id-LocationReport
+
+OverloadStart N s1ap.proc.imsg id-OverloadStart
+
+OverloadStop N s1ap.proc.imsg id-OverloadStop
+
+WriteReplaceWarningRequest N s1ap.proc.imsg id-WriteReplaceWarning
+WriteReplaceWarningResponse N s1ap.proc.sout id-WriteReplaceWarning
+
+ENBDirectInformationTransfer N s1ap.proc.imsg id-eNBDirectInformationTransfer
+
+MMEDirectInformationTransfer N s1ap.proc.imsg id-MMEDirectInformationTransfer
+
+ENBConfigurationTransfer N s1ap.proc.imsg id-eNBConfigurationTransfer
+
+MMEConfigurationTransfer N s1ap.proc.imsg id-MMEConfigurationTransfer
+
+CellTrafficTrace N s1ap.proc.imsg id-CellTrafficTrace
+
+PrivateMessage N s1ap.proc.imsg id-PrivateMessage
+
+PWSRestartIndication N s1ap.proc.imsg id-PWSRestartIndication
+
+KillRequest N s1ap.proc.imsg id-Kill
+KillResponse N s1ap.proc.sout id-Kill
+
+DownlinkUEAssociatedLPPaTransport N s1ap.proc.imsg id-downlinkUEAssociatedLPPaTransport
+
+UplinkUEAssociatedLPPaTransport N s1ap.proc.imsg id-uplinkUEAssociatedLPPaTransport
+
+DownlinkNonUEAssociatedLPPaTransport N s1ap.proc.imsg id-downlinkNonUEAssociatedLPPaTransport
+
+UplinkNonUEAssociatedLPPaTransport N s1ap.proc.imsg id-uplinkNonUEAssociatedLPPaTransport
+
+UERadioCapabilityMatchRequest N s1ap.proc.imsg id-UERadioCapabilityMatch
+UERadioCapabilityMatchResponse N s1ap.proc.sout id-UERadioCapabilityMatch
+
+E-RABModificationIndication N s1ap.proc.imsg id-E-RABModificationIndication
+E-RABModificationConfirm N s1ap.proc.sout id-E-RABModificationIndication
+
+UEContextModificationIndication N s1ap.proc.imsg id-UEContextModificationIndication
+UEContextModificationConfirm N s1ap.proc.sout id-UEContextModificationIndication
+
+RerouteNASRequest N s1ap.proc.imsg id-RerouteNASRequest
+
+PWSFailureIndication N s1ap.proc.imsg id-PWSFailureIndication
+
+ConnectionEstablishmentIndication N s1ap.proc.imsg id-ConnectionEstablishmentIndication
+
+UEContextSuspendRequest N s1ap.proc.imsg id-UEContextSuspend
+UEContextSuspendResponse N s1ap.proc.sout id-UEContextSuspend
+
+UEContextResumeRequest N s1ap.proc.imsg id-UEContextResume
+UEContextResumeResponse N s1ap.proc.sout id-UEContextResume
+UEContextResumeFailure N s1ap.proc.uout id-UEContextResume
+
+NASDeliveryIndication N s1ap.proc.imsg id-NASDeliveryIndication
+
+RetrieveUEInformation N s1ap.proc.imsg id-RetrieveUEInformation
+
+UEInformationTransfer N s1ap.proc.imsg id-UEInformationTransfer
+
+ENBCPRelocationIndication N s1ap.proc.imsg id-eNBCPRelocationIndication
+
+MMECPRelocationIndication N s1ap.proc.imsg id-MMECPRelocationIndication
+
+SecondaryRATDataUsageReport N s1ap.proc.imsg id-SecondaryRATDataUsageReport
+
+UERadioCapabilityIDMappingRequest N s1ap.proc.imsg id-UERadioCapabilityIDMapping
+UERadioCapabilityIDMappingResponse N s1ap.proc.sout id-UERadioCapabilityIDMapping
+
+HandoverSuccess N s1ap.proc.imsg id-HandoverSuccess
+
+ENBEarlyStatusTransfer N s1ap.proc.imsg id-eNBEarlyStatusTransfer
+
+MMEEarlyStatusTransfer N s1ap.proc.imsg id-MMEEarlyStatusTransfer
+
+
+#.FN_HDR HandoverRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequired");
+#.FN_HDR HandoverCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCommand");
+#.FN_HDR HandoverPreparationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
+#.FN_HDR HandoverRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
+#.FN_HDR HandoverRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
+#.FN_HDR HandoverFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure");
+#.FN_HDR HandoverNotify
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify");
+#.FN_HDR PathSwitchRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest");
+#.FN_HDR PathSwitchRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge");
+#.FN_HDR PathSwitchRequestFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure");
+#.FN_HDR HandoverCancel
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
+#.FN_HDR HandoverCancelAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge");
+#.FN_HDR E-RABSetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupRequest");
+#.FN_HDR E-RABSetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupResponse");
+#.FN_HDR E-RABModifyRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyRequest");
+#.FN_HDR E-RABModifyResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyResponse");
+#.FN_HDR E-RABReleaseCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseCommand");
+#.FN_HDR E-RABReleaseResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseResponse");
+#.FN_HDR E-RABReleaseIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseIndication");
+#.FN_HDR InitialContextSetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest");
+#.FN_HDR InitialContextSetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse");
+#.FN_HDR InitialContextSetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure");
+#.FN_HDR Paging
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
+#.FN_HDR UEContextReleaseRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
+#.FN_HDR UEContextReleaseCommand
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
+#.FN_HDR UEContextReleaseComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
+#.FN_HDR UEContextModificationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
+#.FN_HDR UEContextModificationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
+#.FN_HDR UEContextModificationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
+#.FN_HDR UERadioCapabilityMatchRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchRequest");
+#.FN_HDR UERadioCapabilityMatchResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchResponse");
+#.FN_HDR DownlinkNASTransport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNASTransport");
+#.FN_HDR InitialUEMessage
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialUEMessage");
+#.FN_HDR UplinkNASTransport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNASTransport");
+#.FN_HDR NASNonDeliveryIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication");
+#.FN_HDR RerouteNASRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest");
+#.FN_HDR Reset
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
+#.FN_HDR ResetAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
+#.FN_HDR ErrorIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
+#.FN_HDR S1SetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupRequest");
+#.FN_HDR S1SetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupResponse");
+#.FN_HDR S1SetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupFailure");
+#.FN_HDR ENBConfigurationUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
+#.FN_HDR ENBConfigurationUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
+#.FN_HDR ENBConfigurationUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
+#.FN_HDR MMEConfigurationUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdate");
+#.FN_HDR MMEConfigurationUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateAcknowledge");
+#.FN_HDR MMEConfigurationUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateFailure");
+#.FN_HDR DownlinkS1cdma2000tunnelling
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkS1cdma2000tunnelling");
+#.FN_HDR UplinkS1cdma2000tunnelling
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkS1cdma2000tunnelling");
+#.FN_HDR UECapabilityInfoIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInfoIndication");
+#.FN_HDR ENBStatusTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBStatusTransfer");
+#.FN_HDR MMEStatusTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEStatusTransfer");
+#.FN_HDR TraceStart
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
+#.FN_HDR TraceFailureIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication");
+#.FN_HDR DeactivateTrace
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
+#.FN_HDR CellTrafficTrace
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
+#.FN_HDR LocationReportingControl
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl");
+#.FN_HDR LocationReportingFailureIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication");
+#.FN_HDR LocationReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport");
+#.FN_HDR OverloadStart
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStart");
+#.FN_HDR OverloadStop
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStop");
+#.FN_HDR WriteReplaceWarningRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest");
+#.FN_HDR WriteReplaceWarningResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse");
+#.FN_HDR ENBDirectInformationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBDirectInformationTransfer");
+#.FN_HDR MMEDirectInformationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEDirectInformationTransfer");
+#.FN_HDR ENBConfigurationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationTransfer");
+#.FN_HDR MMEConfigurationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationTransfer");
+#.FN_HDR PrivateMessage
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
+#.FN_HDR KillRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillRequest");
+#.FN_HDR KillResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillResponse");
+#.FN_HDR PWSRestartIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication");
+#.FN_HDR PWSFailureIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication");
+#.FN_HDR DownlinkUEAssociatedLPPaTransport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedLPPaTransport");
+#.FN_HDR UplinkUEAssociatedLPPaTransport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedLPPaTransport");
+#.FN_HDR DownlinkNonUEAssociatedLPPaTransport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedLPPaTransport");
+#.FN_HDR UplinkNonUEAssociatedLPPaTransport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedLPPaTransport");
+#.FN_HDR E-RABModificationIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationIndication");
+#.FN_HDR E-RABModificationConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationConfirm");
+#.FN_HDR UEContextModificationIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationIndication");
+#.FN_HDR UEContextModificationConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm");
+#.FN_HDR UEContextSuspendRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendRequest");
+#.FN_HDR UEContextSuspendResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendResponse");
+#.FN_HDR UEContextResumeRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeRequest");
+#.FN_HDR UEContextResumeResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeResponse");
+#.FN_HDR UEContextResumeFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeFailure");
+#.FN_HDR ConnectionEstablishmentIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConnectionEstablishmentIndication");
+#.FN_HDR NASDeliveryIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASDeliveryIndication");
+#.FN_HDR RetrieveUEInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEInformation");
+#.FN_HDR UEInformationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationTransfer");
+#.FN_HDR ENBCPRelocationIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBCPRelocationIndication");
+#.FN_HDR MMECPRelocationIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMECPRelocationIndication");
+#.FN_HDR SecondaryRATDataUsageReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport");
+#.FN_HDR UERadioCapabilityIDMappingRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingRequest");
+#.FN_HDR UERadioCapabilityIDMappingResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingResponse");
+#.FN_HDR HandoverSuccess
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess");
+#.FN_HDR ENBEarlyStatusTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBEarlyStatusTransfer");
+#.FN_HDR MMEEarlyStatusTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEEarlyStatusTransfer");
+#.END
+
+# Whenever a Cause appears, look up the reason and show it in the Info column
+
+#.FN_BODY CauseRadioNetwork VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [RadioNetwork-cause=%%s]", val_to_str_const(value, s1ap_CauseRadioNetwork_vals, "Unknown"));
+
+#.FN_BODY CauseTransport VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [Transport-cause=%%s]", val_to_str_const(value, s1ap_CauseTransport_vals, "Unknown"));
+
+#.FN_BODY CauseNas VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [NAS-cause=%%s]", val_to_str_const(value, s1ap_CauseNas_vals, "Unknown"));
+
+#.FN_BODY CauseProtocol VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [Protocol-cause=%%s]", val_to_str_const(value, s1ap_CauseProtocol_vals, "Unknown"));
+
+#.FN_BODY CauseMisc VAL_PTR=&value
+ guint32 value;
+%(DEFAULT_BODY)s
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [Misc-cause=%%s]", val_to_str_const(value, s1ap_CauseMisc_vals, "Unknown"));
+
+#.END
+
+#.FN_BODY CGI
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->number_type = E212_CGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY EUTRAN-CGI
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->number_type = E212_ECGI;
+%(DEFAULT_BODY)s
+
+#.FIELD_ATTR
+EUTRAN-CGI/cell-ID ABBREV=CellIdentity TYPE=FT_UINT32 DISPLAY=BASE_HEX BITMASK=0xFFFFFFF0
+#.FN_BODY CellIdentity VAL_PTR = &cell_id_tvb HF_INDEX=-1
+ tvbuff_t *cell_id_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cell_id_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, cell_id_tvb, 0, 4, ENC_BIG_ENDIAN);
+ }
+#.END
+
+#.FN_BODY NR-CGI
+ struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
+ s1ap_data->number_type = E212_NRCGI;
+%(DEFAULT_BODY)s
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/sabp/CMakeLists.txt b/epan/dissectors/asn1/sabp/CMakeLists.txt
new file mode 100644
index 00000000..f7434fb9
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME sabp )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ SABP-CommonDataTypes.asn
+ SABP-Constants.asn
+ SABP-Containers.asn
+ SABP-IEs.asn
+ SABP-PDU-Contents.asn
+ SABP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/sabp/SABP-CommonDataTypes.asn b/epan/dissectors/asn1/sabp/SABP-CommonDataTypes.asn
new file mode 100644
index 00000000..ca8ae0ea
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/SABP-CommonDataTypes.asn
@@ -0,0 +1,37 @@
+-- SABP-CommonDataTypes.asn
+--
+-- Taken from 3GPP TS 25.419 V11.1.0 (2013-03)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
+--
+-- 9.3.5 Common Definitions
+--
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+SABP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolExtensionID ::= INTEGER (0..65535)
+
+ProtocolIE-ID ::= INTEGER (0..65535)
+
+TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome}
+
+END
+
+
diff --git a/epan/dissectors/asn1/sabp/SABP-Constants.asn b/epan/dissectors/asn1/sabp/SABP-Constants.asn
new file mode 100644
index 00000000..feb87b8e
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/SABP-Constants.asn
@@ -0,0 +1,86 @@
+-- SABP-Constants.asn
+--
+-- Taken from 3GPP TS 25.419 V11.1.0 (2013-03)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
+--
+-- 9.3.6 Constant Definitions
+--
+
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+SABP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-Write-Replace INTEGER ::= 0
+id-Kill INTEGER ::= 1
+id-Load-Status-Enquiry INTEGER ::= 2
+id-Message-Status-Query INTEGER ::= 3
+id-Restart-Indication INTEGER ::= 4
+id-Reset INTEGER ::= 5
+id-Failure-Indication INTEGER ::= 6
+id-Error-Indication INTEGER ::= 7
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Broadcast-Message-Content INTEGER ::= 0
+id-Category INTEGER ::= 1
+id-Cause INTEGER ::= 2
+id-Criticality-Diagnostics INTEGER ::=3
+id-Data-Coding-Scheme INTEGER ::= 4
+id-Failure-List INTEGER ::= 5
+id-Message-Identifier INTEGER ::= 6
+id-New-Serial-Number INTEGER ::= 7
+id-Number-of-Broadcasts-Completed-List INTEGER ::= 8
+id-Number-of-Broadcasts-Requested INTEGER ::= 9
+id-Old-Serial-Number INTEGER ::= 10
+id-Radio-Resource-Loading-List INTEGER ::= 11
+id-Recovery-Indication INTEGER ::= 12
+id-Repetition-Period INTEGER ::= 13
+id-Serial-Number INTEGER ::= 14
+id-Service-Areas-List INTEGER ::= 15
+id-MessageStructure INTEGER ::= 16
+id-TypeOfError INTEGER ::= 17
+id-Paging-ETWS-Indicator INTEGER ::= 18
+id-Warning-Type INTEGER ::= 19
+id-WarningSecurityInfo INTEGER ::= 20
+id-Broadcast-Message-Content-Validity-Indicator INTEGER ::= 21
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxNrOfErrors INTEGER ::= 256
+maxnoofSAI INTEGER ::= 65535
+
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+maxNrOfLevels INTEGER ::= 256
+
+END
diff --git a/epan/dissectors/asn1/sabp/SABP-Containers.asn b/epan/dissectors/asn1/sabp/SABP-Containers.asn
new file mode 100644
index 00000000..777d7229
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/SABP-Containers.asn
@@ -0,0 +1,121 @@
+-- SABP-Containers.asn
+--
+-- Taken from 3GPP TS 25.419 V11.1.0 (2013-03)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
+--
+-- 9.3.7 Container Definitions
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+SABP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ Presence,
+ ProtocolExtensionID,
+ ProtocolIE-ID
+FROM SABP-CommonDataTypes
+
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM SABP-Constants;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+SABP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+SABP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolExtensionID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id SABP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality SABP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value SABP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id SABP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality SABP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue SABP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+
+END
diff --git a/epan/dissectors/asn1/sabp/SABP-IEs.asn b/epan/dissectors/asn1/sabp/SABP-IEs.asn
new file mode 100644
index 00000000..3798a843
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/SABP-IEs.asn
@@ -0,0 +1,292 @@
+-- SABP-IEs.asn
+--
+-- Taken from 3GPP TS 25.419 V11.1.0 (2013-03)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
+--
+-- 9.3.4 Information Element Definitions
+--
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+
+SABP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ maxNrOfErrors,
+ maxnoofSAI,
+ maxNrOfLevels,
+
+ id-MessageStructure,
+ id-TypeOfError
+
+FROM SABP-Constants
+
+ Criticality,
+ ProcedureCode,
+ TriggeringMessage,
+ ProtocolIE-ID
+FROM SABP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+
+ SABP-PROTOCOL-EXTENSION
+FROM SABP-Containers;
+
+
+-- A
+
+Available-Bandwidth ::= INTEGER (0..20480)
+-- bits/sec
+
+-- B
+
+Broadcast-Message-Content ::= BIT STRING (SIZE (1..9968))-- This IE is sent from the CN to the RNC containing user information i.e.
+-- the message.
+
+Broadcast-Message-Content-Validity-Indicator ::= ENUMERATED {
+ broadcast-Message-Content-not-valid,
+ ...
+}
+
+-- C
+
+Category ::= ENUMERATED {
+ high-priority,
+ background-priority,
+ normal-priority,
+ default-priority,
+ ...
+}
+
+Cause ::= INTEGER {
+ parameter-not-recognised (0),
+ parameter-value-invalid (1),
+ valid-CN-message-not-identified (2),
+ service-area-identity-not-valid (3),
+ unrecognised-message (4),
+ missing-mandatory-element (5),
+ rNC-capacity-exceeded (6),
+ rNC-memory-exceeded (7),
+ service-area-broadcast-not-supported (8),
+ service-area-broadcast-not-operational (9),
+ message-reference-already-used (10),
+ unspecifed-error (11),
+ transfer-syntax-error (12),
+ semantic-error (13),
+ message-not-compatible-with-receiver-state (14),
+ abstract-syntax-error-reject (15),
+ abstract-syntax-error-ignore-and-notify (16),
+ abstract-syntax-error-falsely-constructed-message (17)
+} (0..255)
+
+Criticality-Diagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber0 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+ { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }|
+ { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
+ ...
+}
+
+
+MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
+ SEQUENCE {
+ iE-ID ProtocolIE-ID,
+ repetitionNumber RepetitionNumber1 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+
+MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- D
+
+Data-Coding-Scheme ::= BIT STRING (SIZE (8))
+
+-- E
+
+-- F
+
+Failure-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Failure-List-Item
+
+Failure-List-Item ::= SEQUENCE {
+ service-area-identifier Service-Area-Identifier,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+-- G
+
+-- H
+
+-- I
+
+-- J
+
+-- K
+
+-- L
+
+-- M
+
+Message-Identifier ::= BIT STRING (SIZE (16))
+
+-- N
+
+New-Serial-Number ::= Serial-Number
+
+Number-of-Broadcasts-Completed-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF
+ Number-of-Broadcasts-Completed-List-Item
+
+Number-of-Broadcasts-Completed-List-Item ::= SEQUENCE {
+ service-area-identifier Service-Area-Identifier,
+ number-of-broadcasts-completed INTEGER (0..65535),
+ number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+Number-Of-Broadcasts-Completed-Info ::= ENUMERATED {
+ overflow,
+ unknown,
+ ...
+}
+
+Number-of-Broadcasts-Requested ::= INTEGER {
+ broadcast-indefinitely (0)
+} (0..65535)
+
+-- O
+
+Old-Serial-Number ::= Serial-Number
+
+-- P
+
+Paging-ETWS-Indicator ::= ENUMERATED {
+ paging,
+ ...
+}
+
+-- Q
+
+-- R
+
+Radio-Resource-Loading-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF
+ Radio-Resource-Loading-List-Item
+
+Radio-Resource-Loading-List-Item ::= SEQUENCE {
+ service-area-identifier Service-Area-Identifier,
+ available-bandwidth Available-Bandwidth,
+ iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+Recovery-Indication ::= ENUMERATED {
+ data-lost,
+ data-available
+}
+
+RepetitionNumber0 ::= INTEGER(0..255)
+
+RepetitionNumber1 ::= INTEGER(1..256)
+
+Repetition-Period ::= INTEGER (1..4096)
+-- Each unit represents a repetition of one second to a maximum of
+-- once per 4096 seconds (~1 hour).
+
+
+-- S
+
+Serial-Number ::= BIT STRING (SIZE (16))
+
+
+Service-Area-Identifier ::= SEQUENCE {
+ pLMNidentity OCTET STRING (SIZE (3))
+ -- Digits 0 to 9, two digits per octet. --
+ -- Each octet encoded 0000 to 1001. --
+ -- 1111 used as filler --
+ -- Bit 4 to 1 of octet n encoding digit 2n-1. --
+ -- Bit 8 to 5 of octet n encoding digit 2n. --
+ -- The PLMN identity consists of 3 digits from MCC --
+ -- followed by either a filler plus 2 digits --
+ -- from MNC (in case of 2 digit MNC) or 3 digits --
+ -- from MNC (in case of 3 digit MNC). -- ,
+ lac OCTET STRING (SIZE (2))
+ -- 0000 and FFFE not allowed -- ,
+ sac OCTET STRING (SIZE (2))
+}
+
+-- **TODO** The IE type for these parameters is not known as yet
+Service-Areas-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Service-Area-Identifier
+
+
+
+-- T
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+-- U
+
+-- V
+
+-- W
+
+WarningSecurityInfo ::= OCTET STRING (SIZE (50))
+
+Warning-Type ::= OCTET STRING (SIZE(2))
+
+-- X
+
+-- Y
+
+END
diff --git a/epan/dissectors/asn1/sabp/SABP-PDU-Contents.asn b/epan/dissectors/asn1/sabp/SABP-PDU-Contents.asn
new file mode 100644
index 00000000..edc039c3
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/SABP-PDU-Contents.asn
@@ -0,0 +1,534 @@
+-- SABP-PDU-Contents.asn
+--
+-- Taken from 3GPP TS 25.419 V11.1.0 (2013-03)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
+--
+-- 9.3.3 PDU Definitions
+--
+
+-- **************************************************************
+--
+-- PDU definitions for SABP.
+--
+-- **************************************************************
+
+SABP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Broadcast-Message-Content,
+ Category,
+ Cause,
+Criticality-Diagnostics,
+ Data-Coding-Scheme,
+ Failure-List,
+ Message-Identifier,
+ New-Serial-Number,
+ Number-of-Broadcasts-Completed-List,
+ Number-of-Broadcasts-Requested,
+ Old-Serial-Number,
+ Paging-ETWS-Indicator,
+ Radio-Resource-Loading-List,
+ Recovery-Indication,
+ Repetition-Period,
+ Serial-Number,
+ Service-Areas-List,
+ WarningSecurityInfo,
+ Warning-Type,
+ Broadcast-Message-Content-Validity-Indicator
+FROM SABP-IEs
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ SABP-PROTOCOL-EXTENSION,
+ SABP-PROTOCOL-IES
+FROM SABP-Containers
+
+ id-Broadcast-Message-Content,
+ id-Category,
+ id-Criticality-Diagnostics,
+ id-Cause,
+ id-Data-Coding-Scheme,
+ id-Failure-List,
+ id-Message-Identifier,
+ id-New-Serial-Number,
+ id-Number-of-Broadcasts-Completed-List,
+ id-Number-of-Broadcasts-Requested,
+ id-Old-Serial-Number,
+ id-Paging-ETWS-Indicator,
+ id-Radio-Resource-Loading-List,
+ id-Recovery-Indication,
+ id-Repetition-Period,
+ id-Serial-Number,
+ id-Service-Areas-List,
+ id-WarningSecurityInfo,
+ id-Warning-Type,
+ id-Broadcast-Message-Content-Validity-Indicator
+FROM SABP-Constants;
+
+-- **************************************************************
+--
+-- Write-Replace
+--
+-- **************************************************************
+
+Write-Replace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Write-Replace-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Write-Replace-Extensions} } OPTIONAL,
+ ...
+}
+
+Write-Replace-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY ignore TYPE Old-Serial-Number PRESENCE optional } |
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } |
+ { ID id-Category CRITICALITY ignore TYPE Category PRESENCE optional } |
+ { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Requested
+ CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } |
+ { ID id-Data-Coding-Scheme CRITICALITY reject TYPE Data-Coding-Scheme PRESENCE mandatory } |
+ { ID id-Broadcast-Message-Content
+ CRITICALITY reject TYPE Broadcast-Message-Content PRESENCE mandatory },
+ ...
+}
+
+Write-Replace-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ { ID id-WarningSecurityInfo CRITICALITY ignore EXTENSION WarningSecurityInfo PRESENCE optional } |
+ { ID id-Paging-ETWS-Indicator CRITICALITY ignore EXTENSION Paging-ETWS-Indicator PRESENCE optional } |
+ { ID id-Warning-Type CRITICALITY ignore EXTENSION Warning-Type PRESENCE optional } |
+ { ID id-Broadcast-Message-Content-Validity-Indicator CRITICALITY ignore EXTENSION Broadcast-Message-Content-Validity-Indicator PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Write-Replace-Complete
+--
+-- **************************************************************
+
+Write-Replace-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Write-Replace-Complete-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Write-Replace-Complete-Extensions} } OPTIONAL,
+ ...
+}
+
+Write-Replace-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE mandatory }|
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+
+Write-Replace-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Write-Replace-Failure
+--
+-- **************************************************************
+
+Write-Replace-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Write-Replace-Failure-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Write-Replace-Failure-Extensions} } OPTIONAL,
+ ...
+}
+
+Write-Replace-Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } |
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+Write-Replace-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Kill
+--
+-- **************************************************************
+
+Kill ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Kill-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Kill-Extensions}} OPTIONAL,
+ ...
+}
+
+Kill-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
+ ...
+}
+
+Kill-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Kill-Complete
+--
+-- **************************************************************
+
+Kill-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Kill-Complete-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Kill-Complete-Extensions}} OPTIONAL,
+ ...
+}
+
+Kill-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE mandatory }|
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+
+Kill-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Kill-Failure
+--
+-- **************************************************************
+
+Kill-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Kill-Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Kill-Failure-Extensions}} OPTIONAL,
+ ...
+}
+
+Kill-Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+
+Kill-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Load-Query
+--
+-- **************************************************************
+
+Load-Query ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Load-Query-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Load-Query-Extensions}} OPTIONAL,
+ ...
+}
+
+Load-Query-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
+ ...
+}
+
+Load-Query-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Load-Query-Complete
+--
+-- **************************************************************
+
+Load-Query-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Load-Query-Complete-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Load-Query-Complete-Extensions}} OPTIONAL,
+ ...
+}
+
+Load-Query-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Radio-Resource-Loading-List
+ CRITICALITY reject TYPE Radio-Resource-Loading-List
+ PRESENCE mandatory } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+
+Load-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Load-Query-Failure
+--
+-- **************************************************************
+
+Load-Query-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Load-Query-Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Load-Query-Failure-Extensions}} OPTIONAL,
+ ...
+}
+
+Load-Query-Failure-IEs SABP-PROTOCOL-IES ::= {
+
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
+ { ID id-Radio-Resource-Loading-List
+ CRITICALITY ignore TYPE Radio-Resource-Loading-List
+ PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+
+Load-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Message-Status-Query
+--
+-- **************************************************************
+
+Message-Status-Query ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Message-Status-Query-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Extensions}} OPTIONAL,
+ ...
+}
+
+Message-Status-Query-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
+ ...
+}
+
+Message-Status-Query-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Message-Status-Query-Complete
+--
+-- **************************************************************
+
+Message-Status-Query-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Message-Status-Query-Complete-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Complete-Extensions}} OPTIONAL,
+ ...
+}
+
+Message-Status-Query-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE mandatory } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+
+Message-Status-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Message-Status-Query-Failure
+--
+-- **************************************************************
+
+Message-Status-Query-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Message-Status-Query-Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Failure-Extensions}} OPTIONAL,
+ ...
+}
+
+Message-Status-Query-Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
+ { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } |
+ { ID id-Number-of-Broadcasts-Completed-List
+ CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List
+ PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+
+Message-Status-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Reset
+--
+-- **************************************************************
+
+Reset ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Reset-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Reset-Extensions}} OPTIONAL,
+ ...
+}
+
+Reset-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } ,
+ ...
+}
+
+Reset-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Reset-Complete
+--
+-- **************************************************************
+
+Reset-Complete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Reset-Complete-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Reset-Complete-Extensions}} OPTIONAL,
+ ...
+}
+
+Reset-Complete-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+
+Reset-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Reset-Failure
+--
+-- **************************************************************
+
+Reset-Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Reset-Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Reset-Failure-Extensions}} OPTIONAL,
+ ...
+}
+
+Reset-Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } |
+ { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } ,
+ ...
+}
+
+Reset-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Restart
+--
+-- **************************************************************
+
+Restart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Restart-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Restart-Extensions}} OPTIONAL,
+ ...
+}
+
+Restart-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } |
+ { ID id-Recovery-Indication CRITICALITY ignore TYPE Recovery-Indication PRESENCE optional } ,
+ ...
+}
+
+Restart-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Failure
+--
+-- **************************************************************
+
+Failure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Failure-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Failure-Extensions}} OPTIONAL,
+ ...
+}
+
+Failure-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } ,
+ ...
+}
+
+Failure-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Error-Indication
+--
+-- **************************************************************
+
+Error-Indication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{Error-Indication-IEs}},
+ protocolExtensions ProtocolExtensionContainer {{Error-Indication-Extensions}} OPTIONAL,
+ ...
+}
+
+Error-Indication-IEs SABP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY ignore TYPE Message-Identifier PRESENCE optional } |
+ { ID id-Serial-Number CRITICALITY ignore TYPE Serial-Number PRESENCE optional } |
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+{ ID id-Criticality-Diagnostics
+CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional },
+ ...
+}
+
+Error-Indication-Extensions SABP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/sabp/SABP-PDU-Descriptions.asn b/epan/dissectors/asn1/sabp/SABP-PDU-Descriptions.asn
new file mode 100644
index 00000000..058ca586
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/SABP-PDU-Descriptions.asn
@@ -0,0 +1,202 @@
+-- SABP-PDU-Descriptions.asn
+--
+-- Taken from 3GPP TS 25.419 V11.1.0 (2013-03)
+-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.419/25419-700.zip/25419-700.DOC
+--
+-- 9.3.2 Elementary Procedure Definitions
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+SABP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM SABP-CommonDataTypes
+
+ Error-Indication,
+ Failure,
+ Kill,
+ Kill-Complete,
+ Kill-Failure,
+ Load-Query,
+ Load-Query-Complete,
+ Load-Query-Failure,
+ Reset,
+ Reset-Complete,
+ Reset-Failure,
+ Restart,
+ Message-Status-Query,
+ Message-Status-Query-Complete,
+ Message-Status-Query-Failure,
+ Write-Replace,
+ Write-Replace-Complete,
+ Write-Replace-Failure
+FROM SABP-PDU-Contents
+
+ id-Error-Indication,
+ id-Failure-Indication,
+ id-Kill,
+ id-Reset,
+ id-Restart-Indication,
+ id-Load-Status-Enquiry,
+ id-Message-Status-Query,
+ id-Write-Replace
+FROM SABP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+SABP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+SABP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}),
+ criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value SABP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}),
+ criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value SABP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}),
+ criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value SABP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+SABP-ELEMENTARY-PROCEDURES SABP-ELEMENTARY-PROCEDURE ::= {
+ SABP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ SABP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+SABP-ELEMENTARY-PROCEDURES-CLASS-1 SABP-ELEMENTARY-PROCEDURE ::= {
+ write-Replace |
+ kill |
+ load-Status-Enquiry |
+ message-Status-Query |
+ reset ,
+ ...
+}
+
+SABP-ELEMENTARY-PROCEDURES-CLASS-2 SABP-ELEMENTARY-PROCEDURE ::= {
+ restart-Indication |
+ failure-Indication |
+ error-Indication ,
+ ...
+}
+
+write-Replace SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Write-Replace
+ SUCCESSFUL OUTCOME Write-Replace-Complete
+ UNSUCCESSFUL OUTCOME Write-Replace-Failure
+ PROCEDURE CODE id-Write-Replace
+ CRITICALITY reject
+}
+
+kill SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Kill
+ SUCCESSFUL OUTCOME Kill-Complete
+ UNSUCCESSFUL OUTCOME Kill-Failure
+ PROCEDURE CODE id-Kill
+ CRITICALITY reject
+}
+
+load-Status-Enquiry SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Load-Query
+ SUCCESSFUL OUTCOME Load-Query-Complete
+ UNSUCCESSFUL OUTCOME Load-Query-Failure
+ PROCEDURE CODE id-Load-Status-Enquiry
+ CRITICALITY reject
+}
+
+message-Status-Query SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Message-Status-Query
+ SUCCESSFUL OUTCOME Message-Status-Query-Complete
+ UNSUCCESSFUL OUTCOME Message-Status-Query-Failure
+ PROCEDURE CODE id-Message-Status-Query
+ CRITICALITY reject
+}
+
+reset SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Reset
+ SUCCESSFUL OUTCOME Reset-Complete
+ UNSUCCESSFUL OUTCOME Reset-Failure
+ PROCEDURE CODE id-Reset
+ CRITICALITY reject
+}
+
+restart-Indication SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Restart
+ PROCEDURE CODE id-Restart-Indication
+ CRITICALITY ignore
+}
+
+failure-Indication SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Failure
+ PROCEDURE CODE id-Failure-Indication
+ CRITICALITY ignore
+}
+
+error-Indication SABP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Error-Indication
+ PROCEDURE CODE id-Error-Indication
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/sabp/packet-sabp-template.c b/epan/dissectors/asn1/sabp/packet-sabp-template.c
new file mode 100644
index 00000000..494f96c7
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/packet-sabp-template.c
@@ -0,0 +1,285 @@
+/* packet-sabp-template.c
+ * Routines for UTRAN Iu-BC Interface: Service Area Broadcast Protocol (SABP) packet dissection
+ * Copyright 2007, Tomas Kukosa <tomas.kukosa@siemens.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref: 3GPP TS 25.419 version V9.0.0 (2009-12)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+
+#include <epan/asn1.h>
+
+#include "packet-tcp.h"
+#include "packet-per.h"
+#include "packet-e212.h"
+#include "packet-gsm_map.h"
+#include "packet-gsm_sms.h"
+#include <epan/sctpppids.h>
+#include "packet-cell_broadcast.h"
+
+#define PNAME "UTRAN IuBC interface SABP signaling"
+#define PSNAME "SABP"
+#define PFNAME "sabp"
+
+#include "packet-sabp-val.h"
+
+void proto_register_sabp(void);
+void proto_reg_handoff_sabp(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_sabp = -1;
+
+static int hf_sabp_no_of_pages = -1;
+static int hf_sabp_cb_inf_len = -1;
+static int hf_sabp_cb_msg_inf_page = -1;
+static int hf_sabp_cbs_page_content = -1;
+#include "packet-sabp-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_sabp = -1;
+static int ett_sabp_e212 = -1;
+static int ett_sabp_cbs_data_coding = -1;
+static int ett_sabp_bcast_msg = -1;
+static int ett_sabp_cbs_serial_number = -1;
+static int ett_sabp_cbs_new_serial_number = -1;
+static int ett_sabp_cbs_page = -1;
+static int ett_sabp_cbs_page_content = -1;
+
+#include "packet-sabp-ett.c"
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+static guint32 ProtocolExtensionID;
+static guint8 sms_encoding;
+
+#define SABP_PORT 3452
+
+/* Dissector tables */
+static dissector_table_t sabp_ies_dissector_table;
+static dissector_table_t sabp_extension_dissector_table;
+static dissector_table_t sabp_proc_imsg_dissector_table;
+static dissector_table_t sabp_proc_sout_dissector_table;
+static dissector_table_t sabp_proc_uout_dissector_table;
+
+static dissector_handle_t sabp_handle;
+static dissector_handle_t sabp_tcp_handle;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static void dissect_sabp_cb_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+
+#include "packet-sabp-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sabp_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sabp_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sabp_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sabp_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sabp_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+/* 3GPP TS 23.041 version 11.4.0
+ * 9.4.2.2.5 CB Data
+ */
+static void
+dissect_sabp_cb_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ proto_item *cbs_page_item;
+ proto_tree *subtree;
+ tvbuff_t *page_tvb, *unpacked_tvb;
+ int offset = 0;
+ int n;
+ guint8 nr_pages, len, cb_inf_msg_len;
+
+
+ /* Octet 1 Number-of-Pages */
+ nr_pages = tvb_get_guint8(tvb, offset);
+ proto_tree_add_item(tree, hf_sabp_no_of_pages, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ /*
+ * NOTE: n equal to or less than 15
+ */
+ if(nr_pages > 15){
+ /* Error */
+ return;
+ }
+ for (n = 0; n < nr_pages; n++) {
+ subtree = proto_tree_add_subtree_format(tree, tvb, offset, 83, ett_sabp_cbs_page, NULL,
+ "CB page %u data", n+1);
+ /* octet 2 - 83 CBS-Message-Information-Page 1 */
+ cbs_page_item = proto_tree_add_item(subtree, hf_sabp_cb_msg_inf_page, tvb, offset, 82, ENC_NA);
+ cb_inf_msg_len = tvb_get_guint8(tvb,offset+82);
+ page_tvb = tvb_new_subset_length(tvb, offset, cb_inf_msg_len);
+ unpacked_tvb = dissect_cbs_data(sms_encoding, page_tvb, subtree, pinfo, 0);
+ len = tvb_captured_length(unpacked_tvb);
+ if (unpacked_tvb != NULL){
+ if (tree != NULL){
+ proto_tree *cbs_page_subtree = proto_item_add_subtree(cbs_page_item, ett_sabp_cbs_page_content);
+ proto_tree_add_item(cbs_page_subtree, hf_sabp_cbs_page_content, unpacked_tvb, 0, len, ENC_UTF_8);
+ }
+ }
+
+ offset = offset+82;
+ /* 84 CBS-Message-Information-Length 1 */
+ proto_tree_add_item(subtree, hf_sabp_cb_inf_len, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ }
+}
+
+static int
+dissect_sabp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *sabp_item = NULL;
+ proto_tree *sabp_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+
+ /* create the sabp protocol tree */
+ sabp_item = proto_tree_add_item(tree, proto_sabp, tvb, 0, -1, ENC_NA);
+ sabp_tree = proto_item_add_subtree(sabp_item, ett_sabp);
+
+ return dissect_SABP_PDU_PDU(tvb, pinfo, sabp_tree, NULL);
+}
+
+/* Note a little bit of a hack assumes length max takes two bytes and that the length starts at byte 4 */
+static int
+dissect_sabp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ guint32 type_length, msg_len;
+ guint tvb_length;
+ int bit_offset;
+ gboolean is_fragmented;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+
+ tvb_length = tvb_reported_length(tvb);
+
+ if (tvb_length < 5) {
+ pinfo->desegment_offset = 0;
+ pinfo->desegment_len = DESEGMENT_ONE_MORE_SEGMENT;
+ return tvb_captured_length(tvb);
+ }
+
+ /* Length should be in the 3:d octet */
+ bit_offset = 24;
+ /* Get the length of the sabp packet. Offset in bits */
+ do {
+ bit_offset = dissect_per_length_determinant(tvb, bit_offset, &asn1_ctx, NULL, -1, &type_length, &is_fragmented);
+ bit_offset += 8*type_length;
+ msg_len = (bit_offset + 7) >> 3;
+ if (is_fragmented) {
+ /* Next length field will take 1 or 2 bytes; let's ask for the maximum */
+ msg_len += 2;
+ }
+ if (msg_len > tvb_length) {
+ pinfo->desegment_offset = 0;
+ pinfo->desegment_len = msg_len - tvb_length;
+ return tvb_captured_length(tvb);
+ }
+ } while (is_fragmented);
+
+ return dissect_sabp(tvb, pinfo, tree, data);
+}
+
+/*--- proto_register_sabp -------------------------------------------*/
+void proto_register_sabp(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_sabp_no_of_pages,
+ { "Number-of-Pages", "sabp.no_of_pages",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_sabp_cb_msg_inf_page,
+ { "CBS-Message-Information-Page", "sabp.cb_msg_inf_page",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_sabp_cbs_page_content,
+ { "CBS Page Content", "sabp.cb_page_content",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_sabp_cb_inf_len,
+ { "CBS-Message-Information-Length", "sabp.cb_inf_len",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+#include "packet-sabp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_sabp,
+ &ett_sabp_e212,
+ &ett_sabp_cbs_data_coding,
+ &ett_sabp_bcast_msg,
+ &ett_sabp_cbs_serial_number,
+ &ett_sabp_cbs_new_serial_number,
+ &ett_sabp_cbs_page,
+ &ett_sabp_cbs_page_content,
+#include "packet-sabp-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_sabp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_sabp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ sabp_handle = register_dissector("sabp", dissect_sabp, proto_sabp);
+ sabp_tcp_handle = register_dissector("sabp.tcp", dissect_sabp_tcp, proto_sabp);
+
+ /* Register dissector tables */
+ sabp_ies_dissector_table = register_dissector_table("sabp.ies", "SABP-PROTOCOL-IES", proto_sabp, FT_UINT32, BASE_DEC);
+ sabp_extension_dissector_table = register_dissector_table("sabp.extension", "SABP-PROTOCOL-EXTENSION", proto_sabp, FT_UINT32, BASE_DEC);
+ sabp_proc_imsg_dissector_table = register_dissector_table("sabp.proc.imsg", "SABP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_sabp, FT_UINT32, BASE_DEC);
+ sabp_proc_sout_dissector_table = register_dissector_table("sabp.proc.sout", "SABP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_sabp, FT_UINT32, BASE_DEC);
+ sabp_proc_uout_dissector_table = register_dissector_table("sabp.proc.uout", "SABP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_sabp, FT_UINT32, BASE_DEC);
+}
+
+
+/*--- proto_reg_handoff_sabp ---------------------------------------*/
+void
+proto_reg_handoff_sabp(void)
+{
+ dissector_add_uint_with_preference("udp.port", SABP_PORT, sabp_handle);
+ dissector_add_uint_with_preference("tcp.port", SABP_PORT, sabp_tcp_handle);
+ dissector_add_uint("sctp.ppi", SABP_PAYLOAD_PROTOCOL_ID, sabp_handle);
+
+#include "packet-sabp-dis-tab.c"
+}
+
+
diff --git a/epan/dissectors/asn1/sabp/sabp.cnf b/epan/dissectors/asn1/sabp/sabp.cnf
new file mode 100644
index 00000000..2630514e
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/sabp.cnf
@@ -0,0 +1,216 @@
+# sabp.cnf
+# sabp conformation file
+# Copyright 2007 Tomas Kukosa
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.NO_EMIT
+
+#.PDU
+SABP-PDU
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.USE_VALS_EXT
+ProcedureCode
+ProtocolIE-ID
+Cause
+
+#.OMIT_ASSIGNMENT
+Presence
+ProtocolIE-ContainerList
+#.END
+
+#.TF_RENAME
+ProtocolIE-Field/value ProtocolIE_Field_value
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+#.END
+
+#.FIELD_RENAME
+ProtocolExtensionField/id ext_id
+MessageStructure/_item/repetitionNumber repetitionNumber1
+#.END
+
+
+#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &sabp_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
+#.FN_FTR ProcedureCode
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
+ val_to_str_ext(ProcedureCode, &sabp_ProcedureCode_vals_ext,
+ "unknown message"));
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+
+#.ASSIGN_VALUE_TO_TYPE # SABP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+id-Write-Replace ProcedureCode
+id-Kill ProcedureCode
+id-Load-Status-Enquiry ProcedureCode
+id-Message-Status-Query ProcedureCode
+id-Restart-Indication ProcedureCode
+id-Reset ProcedureCode
+id-Failure-Indication ProcedureCode
+id-Error-Indication ProcedureCode
+
+# ProtocolIE-ID
+id-Broadcast-Message-Content ProtocolIE-ID
+id-Category ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-Criticality-Diagnostics ProtocolIE-ID
+id-Data-Coding-Scheme ProtocolIE-ID
+id-Failure-List ProtocolIE-ID
+id-Message-Identifier ProtocolIE-ID
+id-New-Serial-Number ProtocolIE-ID
+id-Number-of-Broadcasts-Completed-List ProtocolIE-ID
+id-Number-of-Broadcasts-Requested ProtocolIE-ID
+id-Old-Serial-Number ProtocolIE-ID
+id-Radio-Resource-Loading-List ProtocolIE-ID
+id-Recovery-Indication ProtocolIE-ID
+id-Repetition-Period ProtocolIE-ID
+id-Serial-Number ProtocolIE-ID
+id-Service-Areas-List ProtocolIE-ID
+id-MessageStructure ProtocolIE-ID
+id-TypeOfError ProtocolIE-ID
+id-Paging-ETWS-Indicator ProtocolIE-ID
+id-Warning-Type ProtocolIE-ID
+id-WarningSecurityInfo ProtocolIE-ID
+id-Broadcast-Message-Content-Validity-Indicator ProtocolIE-ID
+
+#.END
+
+#.REGISTER
+
+#SABP-PROTOCOL-IES
+Message-Identifier N sabp.ies id-Message-Identifier
+New-Serial-Number N sabp.ies id-New-Serial-Number
+Old-Serial-Number N sabp.ies id-Old-Serial-Number
+Service-Areas-List N sabp.ies id-Service-Areas-List
+Category N sabp.ies id-Category
+Repetition-Period N sabp.ies id-Repetition-Period
+Number-of-Broadcasts-Requested N sabp.ies id-Number-of-Broadcasts-Requested
+Data-Coding-Scheme N sabp.ies id-Data-Coding-Scheme
+Broadcast-Message-Content N sabp.ies id-Broadcast-Message-Content
+Number-of-Broadcasts-Completed-List N sabp.ies id-Number-of-Broadcasts-Completed-List
+Criticality-Diagnostics N sabp.ies id-Criticality-Diagnostics
+Failure-List N sabp.ies id-Failure-List
+Radio-Resource-Loading-List N sabp.ies id-Radio-Resource-Loading-List
+Recovery-Indication N sabp.ies id-Recovery-Indication
+Serial-Number N sabp.ies id-Serial-Number
+Cause N sabp.ies id-Cause
+
+#SABP-PROTOCOL-EXTENSION
+MessageStructure N sabp.extension id-MessageStructure
+TypeOfError N sabp.extension id-TypeOfError
+Paging-ETWS-Indicator N sabp.extension id-Paging-ETWS-Indicator
+Warning-Type N sabp.extension id-Warning-Type
+WarningSecurityInfo N sabp.extension id-WarningSecurityInfo
+Broadcast-Message-Content-Validity-Indicator N sabp.extension id-Broadcast-Message-Content-Validity-Indicator
+
+#SABP-ELEMENTARY-PROCEDURE
+Write-Replace N sabp.proc.imsg id-Write-Replace
+Write-Replace-Complete N sabp.proc.sout id-Write-Replace
+Write-Replace-Failure N sabp.proc.uout id-Write-Replace
+Kill N sabp.proc.imsg id-Kill
+Kill-Complete N sabp.proc.sout id-Kill
+Kill-Failure N sabp.proc.uout id-Kill
+Load-Query N sabp.proc.imsg id-Load-Status-Enquiry
+Load-Query-Complete N sabp.proc.sout id-Load-Status-Enquiry
+Load-Query-Failure N sabp.proc.uout id-Load-Status-Enquiry
+Message-Status-Query N sabp.proc.imsg id-Message-Status-Query
+Message-Status-Query-Complete N sabp.proc.sout id-Message-Status-Query
+Message-Status-Query-Failure N sabp.proc.uout id-Message-Status-Query
+Reset N sabp.proc.imsg id-Reset
+Reset-Complete N sabp.proc.sout id-Reset
+Reset-Failure N sabp.proc.uout id-Reset
+Restart N sabp.proc.imsg id-Restart-Indication
+Failure N sabp.proc.imsg id-Failure-Indication
+Error-Indication N sabp.proc.imsg id-Error-Indication
+
+# following construction is not supported by asn2wrs
+# PLMNidentity ::= TBCD-STRING (SIZE (3))
+# TBCD-STRING ::= OCTET STRING
+
+#.FN_BODY Service-Area-Identifier/pLMNidentity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, &parameter_tvb);
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_sabp_e212);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_SAI, FALSE);
+
+#.FN_BODY Data-Coding-Scheme VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_sabp_cbs_data_coding);
+ sms_encoding = dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
+
+#.FN_BODY Message-Identifier VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ dissect_cbs_message_identifier(parameter_tvb, tree, 0);
+
+#.FN_BODY Serial-Number VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_sabp_cbs_serial_number);
+ dissect_cbs_serial_number(parameter_tvb, subtree, 0);
+
+#.FN_BODY New-Serial-Number VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_sabp_cbs_new_serial_number);
+ dissect_cbs_serial_number(parameter_tvb, subtree, 0);
+
+#.FN_BODY Broadcast-Message-Content VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ dissect_sabp_cb_data(parameter_tvb, actx->pinfo, tree);
+# dissect_umts_cell_broadcast_message(parameter_tvb, actx->pinfo, proto_tree_get_root(tree));
diff --git a/epan/dissectors/asn1/sbc-ap/CMakeLists.txt b/epan/dissectors/asn1/sbc-ap/CMakeLists.txt
new file mode 100644
index 00000000..d7f39c08
--- /dev/null
+++ b/epan/dissectors/asn1/sbc-ap/CMakeLists.txt
@@ -0,0 +1,43 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME sbc-ap )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ SBC-AP-CommonDataTypes.asn
+ SBC-AP-Constants.asn
+ SBC-AP-Containers.asn
+ SBC-AP-IEs.asn
+ SBC-AP-PDU-Contents.asn
+ SBC-AP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-CommonDataTypes.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-CommonDataTypes.asn
new file mode 100644
index 00000000..e11f3175
--- /dev/null
+++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-CommonDataTypes.asn
@@ -0,0 +1,35 @@
+-- SBC-AP-CommonDataTypes.asn
+--
+-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09)
+-- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip
+--
+-- 4.4.6 Common Definitions
+--
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+SBC-AP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) sbc-AP (3) version1 (1) sbc-AP-CommonDataTypes (3)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+ProcedureCode ::= INTEGER (0..255)
+
+ProtocolExtensionID ::= INTEGER (0..65535)
+
+ProtocolIE-ID ::= INTEGER (0..65535)
+
+TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome}
+
+END
diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-Constants.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-Constants.asn
new file mode 100644
index 00000000..447e1c42
--- /dev/null
+++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-Constants.asn
@@ -0,0 +1,127 @@
+-- SBC-AP-Constants.asn
+--
+-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09)
+-- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip
+--
+-- 4.4.7 Constant Definitions
+--
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+SBC-AP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) sbc-AP (3) version1 (1) sbc-AP-Constants (4)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-Write-Replace-Warning INTEGER ::= 0
+id-Stop-Warning INTEGER ::= 1
+id-Error-Indication INTEGER ::= 2
+id-Write-Replace-Warning-Indication INTEGER ::= 3
+id-Stop-Warning-Indication INTEGER ::= 4
+id-PWS-Restart-Indication INTEGER ::= 5
+id-PWS-Failure-Indication INTEGER ::= 6
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Broadcast-Message-Content INTEGER ::= 0
+id-Cause INTEGER ::= 1
+id-Criticality-Diagnostics INTEGER ::=2
+id-Data-Coding-Scheme INTEGER ::= 3
+id-Failure-List INTEGER ::= 4
+id-Message-Identifier INTEGER ::= 5
+id-Number-of-Broadcasts-Completed-List INTEGER ::= 6
+id-Number-of-Broadcasts-Requested INTEGER ::= 7
+id-Radio-Resource-Loading-List INTEGER ::= 8
+id-Recovery-Indication INTEGER ::= 9
+id-Repetition-Period INTEGER ::= 10
+id-Serial-Number INTEGER ::= 11
+id-Service-Areas-List INTEGER ::= 12
+id-TypeOfError INTEGER ::= 13
+id-List-of-TAIs INTEGER ::= 14
+id-Warning-Area-List INTEGER ::= 15
+id-Warning-Message-Content INTEGER ::= 16
+id-Warning-Security-Information INTEGER ::= 17
+id-Warning-Type INTEGER ::= 18
+id-Omc-Id INTEGER ::= 19
+id-Concurrent-Warning-Message-Indicator INTEGER ::= 20
+id-Extended-Repetition-Period INTEGER ::= 21
+id-Unknown-Tracking-Area-List INTEGER ::= 22
+id-Broadcast-Scheduled-Area-List INTEGER ::= 23
+id-Send-Write-Replace-Warning-Indication INTEGER ::= 24
+id-Broadcast-Cancelled-Area-List INTEGER ::= 25
+id-Send-Stop-Warning-Indication INTEGER ::= 26
+id-Stop-All-Indicator INTEGER ::= 27
+id-Global-ENB-ID INTEGER ::= 28
+id-Broadcast-Empty-Area-List INTEGER ::= 29
+id-Restarted-Cell-List INTEGER ::= 30
+id-List-of-TAIs-Restart INTEGER ::= 31
+id-List-of-EAIs-Restart INTEGER ::= 32
+id-Failed-Cell-List INTEGER ::= 33
+id-List-of-5GS-TAIs INTEGER ::= 34
+id-Warning-Area-List-5GS INTEGER ::= 35
+id-Global-RAN-Node-ID INTEGER ::= 36
+id-Global-GNB-ID INTEGER ::= 37
+id-RAT-Selector-5GS INTEGER ::= 38
+id-Unknown-5GS-Tracking-Area-List INTEGER ::= 39
+id-Broadcast-Scheduled-Area-List-5GS INTEGER ::= 40
+id-Broadcast-Cancelled-Area-List-5GS INTEGER ::= 41
+id-Broadcast-Empty-Area-List-5GS INTEGER ::= 42
+id-Restarted-Cell-List-NR INTEGER ::= 43
+id-Failed-Cell-List-NR INTEGER ::= 44
+id-List-of-5GS-TAI-for-Restart INTEGER ::= 45
+id-Warning-Area-Coordinates INTEGER ::= 46
+
+
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxNrOfErrors INTEGER ::= 256
+maxnoofCellID INTEGER ::= 65535
+maxnoofCellinEAI INTEGER ::= 65535
+maxnoofCellinTAI INTEGER ::= 65535
+maxNrOfTAIs INTEGER ::= 65535
+maxnoofEmergencyAreaID INTEGER ::= 65535
+maxnoofTAIforWarning INTEGER ::= 65535
+
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+maxnoofeNBIds INTEGER ::= 256
+maxnoofRestartedCells INTEGER ::= 256
+maxnoofRestartTAIs INTEGER ::= 2048
+maxnoofRestartEAIs INTEGER ::= 256
+maxnoofFailedCells INTEGER ::= 256
+maxnoof5GSTAIs INTEGER ::= 2048
+maxnoofCellsingNB INTEGER ::= 16384
+maxnoofCellsin5GS INTEGER ::= 16776960
+maxnoofCellsin5GSTAI INTEGER ::= 65535
+maxnoofRANNodes INTEGER ::= 65535
+maxnoofRestart5GSTAIs INTEGER ::= 2048maxnoofCellsforRestartNR INTEGER ::= 16384
+
+
+END
diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-Containers.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-Containers.asn
new file mode 100644
index 00000000..8b71821c
--- /dev/null
+++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-Containers.asn
@@ -0,0 +1,121 @@
+-- SBC-AP-Containers.asn
+--
+-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09)
+-- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip
+--
+-- 4.4.8 Container Definitions
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+SBC-AP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) sbc-AP (3) version1 (1) sbc-AP-Containers (5)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ Presence,
+ ProtocolExtensionID,
+ ProtocolIE-ID
+FROM SBC-AP-CommonDataTypes
+
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM SBC-AP-Constants;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+SBC-AP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+SBC-AP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolExtensionID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {SBC-AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {SBC-AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id SBC-AP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality SBC-AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value SBC-AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SBC-AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {SBC-AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {SBC-AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id SBC-AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality SBC-AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue SBC-AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+
+END
diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-IEs.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-IEs.asn
new file mode 100644
index 00000000..3cfa8472
--- /dev/null
+++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-IEs.asn
@@ -0,0 +1,650 @@
+-- SBC-AP-IEs.asn
+--
+-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09)
+-- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip
+--
+-- 4.4.5 Information Element Definitions
+--
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+SBC-AP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) sbc-AP (3) version1 (1) sbc-AP-IEs (2)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ maxNrOfErrors,
+ maxNrOfTAIs,
+ maxnoofTAIforWarning,
+ maxnoofCellID,
+ maxnoofEmergencyAreaID,
+
+ id-TypeOfError,
+ maxnoofCellinEAI,
+ maxnoofCellinTAI,
+ maxnoofeNBIds,
+ maxnoofRestartTAIs,
+ maxnoofRestartEAIs,
+ maxnoofRestartedCells,
+ maxnoofFailedCells,
+ maxnoof5GSTAIs,
+ maxnoofCellsingNB,
+ maxnoofCellsin5GS,
+ maxnoofCellsforRestartNR,
+ maxnoofRANNodes,
+ maxnoofRestart5GSTAIs,
+ maxnoofCellsin5GSTAI
+
+FROM SBC-AP-Constants
+
+ Criticality,
+ ProcedureCode,
+ TriggeringMessage,
+ ProtocolIE-ID
+FROM SBC-AP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+
+ SBC-AP-PROTOCOL-EXTENSION
+FROM SBC-AP-Containers;
+
+
+-- A
+
+-- B
+
+Broadcast-Scheduled-Area-List ::= SEQUENCE {
+ cellId-Broadcast-List CellId-Broadcast-List OPTIONAL,
+ tAI-Broadcast-List TAI-Broadcast-List OPTIONAL,
+ emergencyAreaID-Broadcast-List EmergencyAreaID-Broadcast-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{Broadcast-Scheduled-Area-List-ExtIEs}} OPTIONAL,
+ ...
+}
+
+Broadcast-Scheduled-Area-List-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Broadcast-Scheduled-Area-List-5GS ::= SEQUENCE {
+ cellId-Broadcast-List-5GS CellId-Broadcast-List-5GS OPTIONAL,
+ tAI-Broadcast-List-5GS TAI-Broadcast-List-5GS OPTIONAL,
+ emergencyAreaID-Broadcast-List EmergencyAreaID-Broadcast-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{Broadcast-Scheduled-Area-List-5GS-ExtIEs}} OPTIONAL,
+ ...
+}
+
+Broadcast-Scheduled-Area-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Broadcast-Cancelled-Area-List ::= SEQUENCE {
+ cellID-Cancelled-List CellID-Cancelled-List OPTIONAL,
+ tAI-Cancelled-List TAI-Cancelled-List OPTIONAL,
+ emergencyAreaID-Cancelled-List EmergencyAreaID-Cancelled-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{Broadcast-Cancelled-Area-List-ExtIEs}} OPTIONAL,
+ ...
+}
+
+Broadcast-Cancelled-Area-List-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Broadcast-Cancelled-Area-List-5GS ::= SEQUENCE {
+ cellID-Cancelled-List-5GS CellID-Cancelled-List-5GS OPTIONAL,
+ tAI-Cancelled-List-5GS TAI-Cancelled-List-5GS OPTIONAL,
+ emergencyAreaID-Cancelled-List EmergencyAreaID-Cancelled-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer {{Broadcast-Cancelled-Area-List-5GS-ExtIEs}} OPTIONAL,
+ ...
+}
+
+Broadcast-Cancelled-Area-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Broadcast-Empty-Area-List ::= SEQUENCE (SIZE (1.. maxnoofeNBIds)) OF Global-ENB-ID
+
+Broadcast-Empty-Area-List-5GS ::= SEQUENCE (SIZE (1.. maxnoofRANNodes)) OF Global-RAN-Node-ID
+
+
+-- C
+
+CancelledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellinEAI-Item
+
+CancelledCellinEAI-Item ::= SEQUENCE {
+ eCGI EUTRAN-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CancelledCellinEAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CancelledCellinEAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+CancelledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellinTAI-Item
+
+CancelledCellinTAI-Item ::= SEQUENCE{
+ eCGI EUTRAN-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CancelledCellinTAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CancelledCellinTAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CancelledCellinTAI-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GSTAI)) OF
+ SEQUENCE{
+ nR-CGI NR-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CancelledCellinTAI-5GS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CancelledCellinTAI-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Cause ::= INTEGER {
+ message-accepted (0),
+ parameter-not-recognised (1),
+ parameter-value-invalid (2),
+ valid-message-not-identified (3),
+ tracking-area-not-valid (4),
+ unrecognised-message (5),
+ missing-mandatory-element (6),
+ mME-capacity-exceeded (7),
+ mME-memory-exceeded (8),
+ warning-broadcast-not-supported (9),
+ warning-broadcast-not-operational (10),
+ message-reference-already-used (11),
+ unspecifed-error (12),
+ transfer-syntax-error (13),
+ semantic-error (14),
+ message-not-compatible-with-receiver-state (15),
+ abstract-syntax-error-reject (16),
+ abstract-syntax-error-ignore-and-notify (17),
+ abstract-syntax-error-falsely-constructed-message (18)
+} (0..255)
+
+CellId-Broadcast-List ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellId-Broadcast-List-Item
+
+CellId-Broadcast-List-Item ::= SEQUENCE {
+ eCGI EUTRAN-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CellId-Broadcast-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellId-Broadcast-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellId-Broadcast-List-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GS)) OF
+ SEQUENCE {
+ nR-CGI NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CellId-Broadcast-List-5GS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellId-Broadcast-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellID-Cancelled-List ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Cancelled-Item
+
+CellID-Cancelled-Item ::= SEQUENCE {
+ eCGI EUTRAN-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CellID-Cancelled-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellID-Cancelled-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellID-Cancelled-List-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GS)) OF
+ SEQUENCE {
+ nR-CGI NR-CGI,
+ numberOfBroadcasts NumberOfBroadcasts,
+ iE-Extensions ProtocolExtensionContainer { {CellID-Cancelled-5GS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellID-Cancelled-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+CellIdentity ::= BIT STRING (SIZE (28))
+
+Concurrent-Warning-Message-Indicator ::= ENUMERATED {true}
+
+Criticality-Diagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iE-CriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- D
+
+Data-Coding-Scheme ::= BIT STRING (SIZE (8))
+
+-- E
+
+ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI
+
+Emergency-Area-ID-List ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF Emergency-Area-ID
+
+Emergency-Area-ID ::= OCTET STRING (SIZE (3))
+
+EmergencyAreaID-Broadcast-List ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-List-Item
+
+EmergencyAreaID-Broadcast-List-Item ::= SEQUENCE {
+ emergencyAreaID Emergency-Area-ID,
+ scheduledCellinEAI ScheduledCellinEAI,
+ iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EmergencyAreaID-Broadcast-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EmergencyAreaID-Cancelled-List ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Cancelled-Item
+
+EmergencyAreaID-Cancelled-Item ::= SEQUENCE {
+ emergencyAreaID Emergency-Area-ID,
+ cancelledCellinEAI CancelledCellinEAI,
+ iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Cancelled-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EmergencyAreaID-Cancelled-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRAN-CGI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ cell-ID CellIdentity,
+ iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRAN-CGI-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Extended-Repetition-Period ::= INTEGER (4096..131071)
+
+ENB-ID ::= CHOICE {
+ macroENB-ID BIT STRING (SIZE(20)),
+ homeENB-ID BIT STRING (SIZE(28)),
+ ...,
+ short-macroENB-ID BIT STRING (SIZE(18)),
+ long-macroENB-ID BIT STRING (SIZE(21))
+}
+
+
+-- F
+
+Failed-Cell-List ::= SEQUENCE (SIZE(1..maxnoofFailedCells)) OF EUTRAN-CGI
+
+Failed-Cell-List-NR ::= SEQUENCE (SIZE(1..maxnoofCellsingNB)) OF NR-CGI
+
+-- G
+
+Global-ENB-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ eNB-ID ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalENB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Global-RAN-Node-ID ::= CHOICE {
+ global-GNB-ID Global-GNB-ID,
+ global-NgENB-ID Global-NgENB-ID,
+ ...
+}
+
+Global-GNB-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ gNB-ID GNB-ID,
+ iE-Extensions ProtocolExtensionContainer { {Global-GNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Global-GNB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-ID ::= CHOICE {
+ gNB-ID BIT STRING (SIZE(22..32)),
+ ...
+}
+Global-NgENB-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ ngENB-ID ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { {Global-NgENB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Global-NgENB-ID-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- H
+
+-- I
+
+-- J
+
+-- K
+
+-- L
+
+List-of-TAIs ::= SEQUENCE (SIZE (1..maxNrOfTAIs)) OF
+ SEQUENCE {
+ tai TAI
+}
+
+List-of-TAIs-Restart ::= SEQUENCE (SIZE (1..maxnoofRestartTAIs)) OF
+ SEQUENCE {
+ tai TAI
+}
+
+
+List-of-EAIs-Restart ::= SEQUENCE (SIZE(1..maxnoofRestartEAIs)) OF Emergency-Area-ID
+
+List-of-5GS-TAIs ::= SEQUENCE (SIZE (1..maxnoof5GSTAIs)) OF TAI-5GS
+
+List-of-5GS-Cells-for-Failure ::= SEQUENCE ( SIZE(1..maxnoofCellsingNB)) OF NR-CGI
+
+List-of-5GS-TAI-for-Restart ::= SEQUENCE (SIZE (1..maxnoofRestart5GSTAIs)) OF TAI-5GS
+
+
+-- M
+
+Message-Identifier ::= BIT STRING (SIZE (16))
+
+-- N
+
+Number-of-Broadcasts-Requested ::= INTEGER (0..65535)
+
+-- For Number-of-Broadcasts-Requested = 0 and Repetition-Period = 0, then eNB action is no broadcast
+-- for ETWS Secondary and CMAS.
+--
+-- For Number-of-Broadcasts-Requested = 1 and Repetition-Period = 0, then eNB action is broadcast
+-- only once for ETWS and CMAS.
+--
+-- For Number-of-Broadcasts-Requested = 0 and Repetition-Period > 0, then eNB action is no broadcast
+-- for the ETWS Secondary, and broadcast until further notice for the CMAS.
+--
+-- For Number-of-Broadcasts-Requested > 0 and Repetition-Period > 0, then eNB action is normal
+-- broadcast.
+-- All other combinations of Number-of-Broadcasts-Requested and Repetition-Period are considered
+-- invalid.
+
+NumberOfBroadcasts ::= INTEGER (0..65535)
+
+NR-CGIList ::= SEQUENCE (SIZE(1..maxnoofCellsingNB)) OF NR-CGI
+
+NR-CGI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ nRCellIdentity NRCellIdentity,
+ iE-Extensions ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-CGI-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRCellIdentity ::= BIT STRING (SIZE(36))
+
+NgENB-ID ::= CHOICE {
+ macroNgENB-ID BIT STRING (SIZE(20)),
+ shortMacroNgENB-ID BIT STRING (SIZE(18)),
+ longMacroNgENB-ID BIT STRING (SIZE(21)),
+ ...
+}
+
+-- O
+Omc-Id ::= OCTET STRING (SIZE (1..20))
+
+
+-- P
+PLMNidentity ::= TBCD-STRING
+
+-- Q
+
+-- R
+
+Repetition-Period ::= INTEGER (0..4096)
+-- 1 to 4096: Each unit represents a repetition of one second to a maximum of
+-- once per 4096 seconds (~1 hour).
+-- 0: no repetition
+-- A CBC compliant to this version or later of this specification shall not send a repetition period
+-- greater than 4095.
+-- For backwards compatibility with a CBC compliant to an earlier version of this specification the
+-- maximum value of the repetition period defined in ASN.1 remains at 4096.
+-- If the value of the Repetition Period IE received in the WRITE-REPLACE WARNING REQUEST message is
+-- set to 4096, the MME shall set the Repetition Period IE to the maximum value 4095 supported on
+-- the S1-MME interface as defined in [7] before forwarding to the selected eNBs.
+
+Restarted-Cell-List ::= SEQUENCE (SIZE(1.. maxnoofRestartedCells)) OF EUTRAN-CGI
+
+RAT-Selector-5GS ::= ENUMERATED {true}
+
+Restarted-Cell-List-NR ::= SEQUENCE (SIZE(1.. maxnoofCellsforRestartNR)) OF NR-CGI
+
+
+
+-- S
+
+ScheduledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF ScheduledCellinEAI-Item
+
+ScheduledCellinEAI-Item ::= SEQUENCE {
+ eCGI EUTRAN-CGI,
+ iE-Extensions ProtocolExtensionContainer { {ScheduledCellinEAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ScheduledCellinEAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ScheduledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF ScheduledCellinTAI-Item
+
+ScheduledCellinTAI-Item ::= SEQUENCE{
+ eCGI EUTRAN-CGI,
+ iE-Extensions ProtocolExtensionContainer { {ScheduledCellinTAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ScheduledCellinTAI-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ScheduledCellinTAI-5GS ::= SEQUENCE (SIZE(1..maxnoofCellsin5GSTAI)) OF
+ SEQUENCE{
+ nR-CGI NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { {ScheduledCellinTAI-5GS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ScheduledCellinTAI-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Send-Write-Replace-Warning-Indication ::= ENUMERATED {true}
+
+Send-Stop-Warning-Indication ::= ENUMERATED {true}
+
+Serial-Number ::= BIT STRING (SIZE (16))
+
+Stop-All-Indicator ::= ENUMERATED {true}
+
+-- T
+
+TAC ::= OCTET STRING (SIZE (2))
+
+TAC-5GS ::= OCTET STRING (SIZE (3))
+
+TAI-Broadcast-List ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-List-Item
+
+TAI-Broadcast-List-Item ::= SEQUENCE {
+ tAI TAI,
+ scheduledCellinTAI ScheduledCellinTAI,
+ iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-Broadcast-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAI-Broadcast-List-5GS ::= SEQUENCE (SIZE(1..maxnoof5GSTAIs)) OF
+ SEQUENCE {
+ tAI-5GS TAI-5GS,
+ scheduledCellinTAI-5GS ScheduledCellinTAI-5GS,
+ iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-List-5GS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-Broadcast-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TAI-Cancelled-List ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Cancelled-List-Item
+
+TAI-Cancelled-List-Item ::= SEQUENCE {
+ tAI TAI,
+ cancelledCellinTAI CancelledCellinTAI,
+ iE-Extensions ProtocolExtensionContainer { {TAI-Cancelled-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-Cancelled-List-Item-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAI-Cancelled-List-5GS ::= SEQUENCE (SIZE(1..maxnoof5GSTAIs)) OF
+ SEQUENCE {
+ tAI-5GS TAI-5GS,
+ cancelledCellinTAI-5GS CancelledCellinTAI-5GS,
+ iE-Extensions ProtocolExtensionContainer { {TAI-Cancelled-List-5GS-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-Cancelled-List-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAI-List-for-Warning ::= SEQUENCE (SIZE(1.. maxnoofTAIforWarning)) OF TAI
+
+TAI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ tAC TAC,
+ iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL
+}
+
+TAI-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TBCD-STRING ::= OCTET STRING (SIZE (3))
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+TAI-5GS ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ tAC-5GS TAC-5GS,
+ iE-Extensions ProtocolExtensionContainer { {TAI-5GS-ExtIEs} } OPTIONAL
+}
+
+TAI-5GS-ExtIEs SBC-AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- U
+
+Unknown-Tracking-Area-List ::= SEQUENCE (SIZE(1.. maxNrOfTAIs)) OF TAI
+
+Unknown-5GS-Tracking-Area-List ::= SEQUENCE (SIZE(1.. maxnoof5GSTAIs)) OF TAI-5GS
+
+
+-- V
+
+-- W
+
+Warning-Area-List ::= CHOICE {
+ cell-ID-List ECGIList,
+ tracking-Area-List-for-Warning TAI-List-for-Warning,
+ emergency-Area-ID-List Emergency-Area-ID-List,
+ ...
+}
+
+Warning-Message-Content ::= OCTET STRING (SIZE (1..9600))
+Warning-Area-Coordinates ::= OCTET STRING (SIZE (1..1024))
+Warning-Security-Information ::= OCTET STRING (SIZE (50))
+Warning-Type ::= OCTET STRING (SIZE (2))
+
+Warning-Area-List-5GS ::= CHOICE {
+ cell-ID-List ECGIList,
+ nR-CGIList NR-CGIList,
+ tAIList-5GS TAI-5GS,
+ emergencyAreaIDList Emergency-Area-ID-List,
+ ...
+}
+
+
+
+-- X
+
+-- Y
+
+END
diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Contents.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Contents.asn
new file mode 100644
index 00000000..11174328
--- /dev/null
+++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Contents.asn
@@ -0,0 +1,374 @@
+-- SBC-AP-PDU-Contents.asn
+--
+-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09)
+-- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip
+--
+-- 4.4.4 PDU Definitions
+--
+
+-- **************************************************************
+--
+-- PDU definitions for SBC-AP.
+--
+-- **************************************************************
+
+SBC-AP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) sbc-AP (3) version1 (1) sbc-AP-PDU-Contents (1)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ Cause,
+ Concurrent-Warning-Message-Indicator,
+ Criticality-Diagnostics,
+ Data-Coding-Scheme,
+ Message-Identifier,
+ Serial-Number,
+ List-of-TAIs,
+ Warning-Area-List,
+ Omc-Id,
+ Repetition-Period,
+ Extended-Repetition-Period,
+ Number-of-Broadcasts-Requested,
+ Warning-Type,
+ Warning-Security-Information,
+ Warning-Message-Content,
+ Warning-Area-Coordinates,
+ Send-Write-Replace-Warning-Indication,
+ Broadcast-Scheduled-Area-List,
+ Unknown-Tracking-Area-List,
+ Send-Stop-Warning-Indication,
+ Broadcast-Cancelled-Area-List,
+ Stop-All-Indicator,
+ Broadcast-Empty-Area-List,
+ Restarted-Cell-List,
+ Global-ENB-ID,
+ List-of-TAIs-Restart,
+ List-of-EAIs-Restart,
+ Failed-Cell-List,
+ List-of-5GS-TAIs,
+ Warning-Area-List-5GS,
+ Global-RAN-Node-ID,
+ Global-GNB-ID,
+ RAT-Selector-5GS,
+ Unknown-5GS-Tracking-Area-List,
+ Broadcast-Scheduled-Area-List-5GS,
+ Broadcast-Cancelled-Area-List-5GS,
+ Broadcast-Empty-Area-List-5GS,
+ Restarted-Cell-List-NR,
+ Failed-Cell-List-NR,
+ List-of-5GS-TAI-for-Restart
+
+FROM SBC-AP-IEs
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ SBC-AP-PROTOCOL-EXTENSION,
+ SBC-AP-PROTOCOL-IES
+FROM SBC-AP-Containers
+
+ id-Concurrent-Warning-Message-Indicator,
+ id-Criticality-Diagnostics,
+ id-Cause,
+ id-Data-Coding-Scheme,
+ id-List-of-TAIs,
+ id-Message-Identifier,
+ id-Serial-Number,
+ id-Number-of-Broadcasts-Requested,
+ id-Omc-Id,
+ id-Radio-Resource-Loading-List,
+ id-Recovery-Indication,
+ id-Repetition-Period,
+ id-Extended-Repetition-Period,
+ id-Warning-Area-List,
+ id-Warning-Message-Content,
+ id-Warning-Area-Coordinates,
+ id-Warning-Security-Information,
+ id-Warning-Type,
+ id-Send-Write-Replace-Warning-Indication,
+ id-Broadcast-Scheduled-Area-List,
+ id-Unknown-Tracking-Area-List,
+ id-Send-Stop-Warning-Indication,
+ id-Broadcast-Cancelled-Area-List,
+ id-Stop-All-Indicator,
+ id-Broadcast-Empty-Area-List,
+ id-Global-ENB-ID,
+ id-Restarted-Cell-List,
+ id-List-of-TAIs-Restart,
+ id-List-of-EAIs-Restart,
+ id-Failed-Cell-List,
+ id-List-of-5GS-TAIs,
+ id-Warning-Area-List-5GS,
+ id-Global-RAN-Node-ID,
+ id-Global-GNB-ID,
+ id-RAT-Selector-5GS,
+ id-Unknown-5GS-Tracking-Area-List,
+ id-Broadcast-Scheduled-Area-List-5GS,
+ id-Broadcast-Cancelled-Area-List-5GS,
+ id-Broadcast-Empty-Area-List-5GS,
+ id-Restarted-Cell-List-NR,
+ id-Failed-Cell-List-NR,
+ id-List-of-5GS-TAI-for-Restart
+
+FROM SBC-AP-Constants;
+
+-- **************************************************************
+--
+-- Write-Replace-Warning-Request
+--
+-- **************************************************************
+
+Write-Replace-Warning-Request ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Write-Replace-Warning-Request-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Write-Replace-Warning-Request-Extensions} } OPTIONAL,
+ ...
+}
+
+Write-Replace-Warning-Request-IEs SBC-AP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } |
+ { ID id-List-of-TAIs CRITICALITY reject TYPE List-of-TAIs PRESENCE optional } |
+ { ID id-Warning-Area-List CRITICALITY ignore TYPE Warning-Area-List PRESENCE optional } |
+ { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } |
+ { ID id-Extended-Repetition-Period CRITICALITY reject TYPE Extended-Repetition-Period PRESENCE optional } |
+
+ { ID id-Number-of-Broadcasts-Requested
+ CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } |
+ { ID id-Warning-Type CRITICALITY ignore TYPE Warning-Type PRESENCE optional } |
+ { ID id-Warning-Security-Information CRITICALITY ignore TYPE Warning-Security-Information PRESENCE optional } |
+ { ID id-Data-Coding-Scheme CRITICALITY ignore TYPE Data-Coding-Scheme PRESENCE optional } |
+ { ID id-Warning-Message-Content
+ CRITICALITY ignore TYPE Warning-Message-Content PRESENCE optional } |
+ { ID id-Omc-Id CRITICALITY ignore TYPE Omc-Id PRESENCE optional } |
+ { ID id-Concurrent-Warning-Message-Indicator CRITICALITY reject TYPE Concurrent-Warning-Message-Indicator PRESENCE optional } |
+ { ID id-Send-Write-Replace-Warning-Indication CRITICALITY ignore TYPE Send-Write-Replace-Warning-Indication PRESENCE optional } |
+ { ID id-Global-ENB-ID CRITICALITY ignore TYPE Global-ENB-ID PRESENCE optional },
+ ... ,
+ {ID id-Warning-Area-Coordinates CRITICALITY ignore TYPE Warning-Area-Coordinates PRESENCE optional}
+}
+
+Write-Replace-Warning-Request-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-List-of-5GS-TAIs CRITICALITY ignore EXTENSION List-of-5GS-TAIs PRESENCE optional }|
+ { ID id-Warning-Area-List-5GS CRITICALITY ignore EXTENSION Warning-Area-List-5GS PRESENCE optional }|
+ { ID id-Global-RAN-Node-ID CRITICALITY ignore EXTENSION Global-RAN-Node-ID PRESENCE optional }|
+ { ID id-RAT-Selector-5GS CRITICALITY ignore EXTENSION RAT-Selector-5GS PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Write-Replace-Warning-Response
+--
+-- **************************************************************
+
+Write-Replace-Warning-Response ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Write-Replace-Warning-Response-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Write-Replace-Warning-Response-Extensions} } OPTIONAL,
+ ...
+}
+
+Write-Replace-Warning-Response-IEs SBC-AP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory } |
+ { ID id-Criticality-Diagnostics CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } |
+ { ID id-Unknown-Tracking-Area-List CRITICALITY ignore TYPE List-of-TAIs PRESENCE optional },
+ ...
+}
+
+Write-Replace-Warning-Response-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Unknown-5GS-Tracking-Area-List CRITICALITY ignore EXTENSION Unknown-5GS-Tracking-Area-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Stop-Warning-Request
+--
+-- **************************************************************
+
+Stop-Warning-Request ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Stop-Warning-Request-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Stop-Warning-Request-Extensions} } OPTIONAL,
+ ...
+}
+
+Stop-Warning-Request-IEs SBC-AP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } |
+ { ID id-List-of-TAIs CRITICALITY reject TYPE List-of-TAIs PRESENCE optional } |
+ { ID id-Warning-Area-List CRITICALITY ignore TYPE Warning-Area-List PRESENCE optional }|
+ { ID id-Omc-Id CRITICALITY ignore TYPE Omc-Id PRESENCE optional } |
+ { ID id-Send-Stop-Warning-Indication CRITICALITY ignore TYPE Send-Stop-Warning-Indication PRESENCE optional } |
+ { ID id-Stop-All-Indicator CRITICALITY reject TYPE Stop-All-Indicator PRESENCE optional},
+ ...
+}
+
+Stop-Warning-Request-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-List-of-5GS-TAIs CRITICALITY ignore EXTENSION List-of-5GS-TAIs PRESENCE optional }|
+ { ID id-Warning-Area-List-5GS CRITICALITY ignore EXTENSION Warning-Area-List-5GS PRESENCE optional } | { ID id-RAT-Selector-5GS CRITICALITY ignore EXTENSION RAT-Selector-5GS PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Stop-Warning-Response
+--
+-- **************************************************************
+
+Stop-Warning-Response ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Stop-Warning-Response-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Stop-Warning-Response-Extensions} } OPTIONAL,
+ ...
+}
+
+Stop-Warning-Response-IEs SBC-AP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } |
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory } |
+ { ID id-Criticality-Diagnostics CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } |
+ { ID id-Unknown-Tracking-Area-List CRITICALITY ignore TYPE List-of-TAIs PRESENCE optional },
+ ...
+}
+
+Stop-Warning-Response-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Unknown-5GS-Tracking-Area-List CRITICALITY ignore EXTENSION Unknown-5GS-Tracking-Area-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Write-Replace-Warning-Indication
+--
+-- **************************************************************
+
+Write-Replace-Warning-Indication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Write-Replace-Warning-Indication-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Write-Replace-Warning-Indication-Extensions} } OPTIONAL,
+ ...
+}
+
+Write-Replace-Warning-Indication-IEs SBC-AP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } |
+ { ID id-Broadcast-Scheduled-Area-List CRITICALITY reject TYPE Broadcast-Scheduled-Area-List PRESENCE optional },
+ ...
+}
+
+Write-Replace-Warning-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Broadcast-Scheduled-Area-List-5GS CRITICALITY ignore EXTENSION Broadcast-Scheduled-Area-List-5GS PRESENCE optional },
+
+ ...
+}
+
+-- **************************************************************
+--
+-- Stop-Warning-Indication
+--
+-- **************************************************************
+
+Stop-Warning-Indication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {Stop-Warning-Indication-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {Stop-Warning-Indication-Extensions} } OPTIONAL,
+ ...
+}
+
+Stop-Warning-Indication-IEs SBC-AP-PROTOCOL-IES ::= {
+ { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } |
+ { ID id-Serial-Number CRITICALITY reject TYPE Serial-Number PRESENCE mandatory } |
+ { ID id-Broadcast-Cancelled-Area-List CRITICALITY reject TYPE Broadcast-Cancelled-Area-List PRESENCE optional }|
+ { ID id-Broadcast-Empty-Area-List CRITICALITY ignore TYPE Broadcast-Empty-Area-List PRESENCE optional },
+ ...
+}
+
+Stop-Warning-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Broadcast-Cancelled-Area-List-5GS CRITICALITY ignore EXTENSION Broadcast-Cancelled-Area-List-5GS PRESENCE optional }|
+ { ID id-Broadcast-Empty-Area-List-5GS CRITICALITY ignore EXTENSION Broadcast-Empty-Area-List-5GS PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS-Restart-Indication
+--
+-- **************************************************************
+
+PWS-Restart-Indication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PWS-Restart-Indication-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {PWS-Restart-Indication-Extensions} } OPTIONAL,
+ ...
+}
+
+PWS-Restart-Indication-IEs SBC-AP-PROTOCOL-IES ::= {
+ { ID id-Restarted-Cell-List CRITICALITY reject TYPE Restarted-Cell-List PRESENCE mandatory }|
+ { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory } |
+ { ID id-List-of-TAIs-Restart CRITICALITY reject TYPE List-of-TAIs-Restart PRESENCE mandatory } |
+ { ID id-List-of-EAIs-Restart CRITICALITY reject TYPE List-of-EAIs-Restart PRESENCE optional },
+ ...
+}
+
+PWS-Restart-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Restarted-Cell-List-NR CRITICALITY ignore EXTENSION Restarted-Cell-List-NR PRESENCE optional }|
+ { ID id-List-of-5GS-TAI-for-Restart CRITICALITY ignore EXTENSION List-of-5GS-TAI-for-Restart PRESENCE optional }|
+{ ID id-Global-GNB-ID CRITICALITY ignore EXTENSION Global-GNB-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PWS-Failure-Indication
+--
+-- **************************************************************
+
+PWS-Failure-Indication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {PWS-Failure-Indication-IEs} },
+ protocolExtensions ProtocolExtensionContainer { {PWS-Failure-Indication-Extensions} } OPTIONAL,
+ ...
+}
+
+PWS-Failure-Indication-IEs SBC-AP-PROTOCOL-IES ::= {
+ { ID id-Failed-Cell-List CRITICALITY reject TYPE Failed-Cell-List PRESENCE mandatory }|
+ { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory },
+ ...
+}
+
+PWS-Failure-Indication-Extensions SBC-AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Failed-Cell-List-NR CRITICALITY ignore EXTENSION Failed-Cell-List-NR PRESENCE optional }|
+ { ID id-Global-GNB-ID CRITICALITY ignore EXTENSION Global-GNB-ID PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Error Indication
+--
+-- **************************************************************
+
+Error-Indication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}},
+ ...
+}
+
+ErrorIndicationIEs SBC-AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
+ { ID id-Criticality-Diagnostics CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } ,
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Descriptions.asn b/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Descriptions.asn
new file mode 100644
index 00000000..fbb80d53
--- /dev/null
+++ b/epan/dissectors/asn1/sbc-ap/SBC-AP-PDU-Descriptions.asn
@@ -0,0 +1,179 @@
+-- SBC-AP-PDU-Descriptions.asn
+--
+-- Taken from 3GPP TS 29.168 V15.1.0 (2018-09)
+-- http://www.3gpp.org/ftp/Specs/archive/29_series/29.168/29168-930.zip
+--
+-- 4.4.3 Elementary Procedure Definitions
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+SBC-AP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) sbc-AP (3) version1 (1) sbc-AP-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+FROM SBC-AP-CommonDataTypes
+
+ Write-Replace-Warning-Request,
+ Write-Replace-Warning-Response,
+ Stop-Warning-Request,
+ Stop-Warning-Response,
+ Error-Indication,
+ Write-Replace-Warning-Indication,
+ Stop-Warning-Indication,
+ PWS-Restart-Indication,
+ PWS-Failure-Indication
+FROM SBC-AP-PDU-Contents
+
+ id-Write-Replace-Warning,
+ id-Stop-Warning,
+ id-Error-Indication,
+ id-Write-Replace-Warning-Indication,
+ id-Stop-Warning-Indication,
+ id-PWS-Restart-Indication,
+ id-PWS-Failure-Indication
+FROM SBC-AP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+SBC-AP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+SBC-AP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode SBC-AP-ELEMENTARY-PROCEDURE.&procedureCode ({SBC-AP-ELEMENTARY-PROCEDURES}),
+ criticality SBC-AP-ELEMENTARY-PROCEDURE.&criticality ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value SBC-AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode SBC-AP-ELEMENTARY-PROCEDURE.&procedureCode ({SBC-AP-ELEMENTARY-PROCEDURES}),
+ criticality SBC-AP-ELEMENTARY-PROCEDURE.&criticality ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value SBC-AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode SBC-AP-ELEMENTARY-PROCEDURE.&procedureCode ({SBC-AP-ELEMENTARY-PROCEDURES}),
+ criticality SBC-AP-ELEMENTARY-PROCEDURE.&criticality ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value SBC-AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SBC-AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+SBC-AP-ELEMENTARY-PROCEDURES SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ SBC-AP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ SBC-AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+SBC-AP-ELEMENTARY-PROCEDURES-CLASS-1 SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ write-Replace-Warning |
+ stop-Warning ,
+ ...
+}
+
+SBC-AP-ELEMENTARY-PROCEDURES-CLASS-2 SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ error-Indication |
+ write-Replace-Warning-Indication |
+ stop-Warning-Indication |
+ pws-Restart-Indication |
+ pws-Failure-Indication,
+ ...
+ }
+
+write-Replace-Warning SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Write-Replace-Warning-Request
+ SUCCESSFUL OUTCOME Write-Replace-Warning-Response
+
+ PROCEDURE CODE id-Write-Replace-Warning
+ CRITICALITY reject
+}
+
+stop-Warning SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Stop-Warning-Request
+ SUCCESSFUL OUTCOME Stop-Warning-Response
+
+ PROCEDURE CODE id-Stop-Warning
+ CRITICALITY reject
+}
+
+error-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Error-Indication
+ PROCEDURE CODE id-Error-Indication
+ CRITICALITY ignore
+}
+
+write-Replace-Warning-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Write-Replace-Warning-Indication
+ PROCEDURE CODE id-Write-Replace-Warning-Indication
+ CRITICALITY ignore
+}
+
+stop-Warning-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE Stop-Warning-Indication
+ PROCEDURE CODE id-Stop-Warning-Indication
+ CRITICALITY ignore
+}
+
+pws-Restart-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWS-Restart-Indication
+ PROCEDURE CODE id-PWS-Restart-Indication
+ CRITICALITY ignore
+}
+
+pws-Failure-Indication SBC-AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PWS-Failure-Indication
+ PROCEDURE CODE id-PWS-Failure-Indication
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/sbc-ap/packet-sbc-ap-template.c b/epan/dissectors/asn1/sbc-ap/packet-sbc-ap-template.c
new file mode 100644
index 00000000..3b714f3d
--- /dev/null
+++ b/epan/dissectors/asn1/sbc-ap/packet-sbc-ap-template.c
@@ -0,0 +1,272 @@
+/* packet-sbc-ap.c
+ * Routines for SBc Application Part (SBc-AP) packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref 3GPP TS 29.168
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/strutil.h>
+#include <epan/asn1.h>
+#include <epan/sctpppids.h>
+#include <epan/proto_data.h>
+
+#include "packet-ber.h"
+#include "packet-per.h"
+#include "packet-e212.h"
+#include "packet-gsm_map.h"
+#include "packet-s1ap.h"
+#include "packet-lte-rrc.h"
+
+#define PNAME "SBc Application Part"
+#define PSNAME "SBcAP"
+#define PFNAME "sbcap"
+
+void proto_register_sbc_ap(void);
+void proto_reg_handoff_sbc_ap(void);
+
+/* The registered port number for SBc-AP is 29168.
+ * The registered payload protocol identifier for SBc-AP is 24.
+ */
+#define SBC_AP_PORT 29168
+static dissector_handle_t sbc_ap_handle=NULL;
+
+
+#include "packet-sbc-ap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_sbc_ap = -1;
+
+static int hf_sbc_ap_Serial_Number_gs = -1;
+static int hf_sbc_ap_Serial_Number_msg_code = -1;
+static int hf_sbc_ap_Serial_Number_upd_nb = -1;
+static int hf_sbc_ap_Warning_Type_value = -1;
+static int hf_sbc_ap_Warning_Type_emergency_user_alert = -1;
+static int hf_sbc_ap_Warning_Type_popup = -1;
+static int hf_sbc_ap_Warning_Message_Contents_nb_pages = -1;
+static int hf_sbc_ap_Warning_Message_Contents_decoded_page = -1;
+#include "packet-sbc-ap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_sbc_ap = -1;
+static int ett_sbc_ap_Serial_Number = -1;
+static int ett_sbc_ap_Warning_Type = -1;
+static int ett_sbc_ap_Data_Coding_Scheme = -1;
+static int ett_sbc_ap_Warning_Message_Contents = -1;
+
+#include "packet-sbc-ap-ett.c"
+
+enum{
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+struct sbc_ap_private_data {
+ guint8 data_coding_scheme;
+ e212_number_type_t number_type;
+};
+
+/* Global variables */
+static guint32 ProcedureCode;
+static guint32 ProtocolIE_ID;
+static guint32 ProtocolExtensionID;
+static int global_sbc_ap_port = SBC_AP_PORT;
+
+/* Dissector tables */
+static dissector_table_t sbc_ap_ies_dissector_table;
+static dissector_table_t sbc_ap_extension_dissector_table;
+static dissector_table_t sbc_ap_proc_imsg_dissector_table;
+static dissector_table_t sbc_ap_proc_sout_dissector_table;
+static dissector_table_t sbc_ap_proc_uout_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+
+
+static struct sbc_ap_private_data*
+sbc_ap_get_private_data(packet_info *pinfo)
+{
+ struct sbc_ap_private_data *sbc_ap_data = (struct sbc_ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_sbc_ap, 0);
+ if (!sbc_ap_data) {
+ sbc_ap_data = wmem_new0(pinfo->pool, struct sbc_ap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_sbc_ap, 0, sbc_ap_data);
+ }
+ return sbc_ap_data;
+}
+
+#include "packet-sbc-ap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sbc_ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+/* Currently not used
+static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sbc_ap_ies_p1_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sbc_ap_ies_p2_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+*/
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sbc_ap_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sbc_ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sbc_ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ return (dissector_try_uint(sbc_ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
+}
+
+
+static int
+dissect_sbc_ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *sbc_ap_item = NULL;
+ proto_tree *sbc_ap_tree = NULL;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ /* create the sbc_ap protocol tree */
+ sbc_ap_item = proto_tree_add_item(tree, proto_sbc_ap, tvb, 0, -1, ENC_NA);
+ sbc_ap_tree = proto_item_add_subtree(sbc_ap_item, ett_sbc_ap);
+
+ dissect_SBC_AP_PDU_PDU(tvb, pinfo, sbc_ap_tree, NULL);
+
+ return tvb_captured_length(tvb);
+}
+/*--- proto_register_sbc_ap -------------------------------------------*/
+void proto_register_sbc_ap(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_sbc_ap_Serial_Number_gs,
+ { "Geographical Scope", "sbc_ap.SerialNumber.gs",
+ FT_UINT16, BASE_DEC, VALS(s1ap_serialNumber_gs_vals), 0xc000,
+ NULL, HFILL }},
+ { &hf_sbc_ap_Serial_Number_msg_code,
+ { "Message Code", "sbc_ap.SerialNumber.msg_code",
+ FT_UINT16, BASE_DEC, NULL, 0x3ff0,
+ NULL, HFILL }},
+ { &hf_sbc_ap_Serial_Number_upd_nb,
+ { "Update Number", "sbc_ap.SerialNumber.upd_nb",
+ FT_UINT16, BASE_DEC, NULL, 0x000f,
+ NULL, HFILL }},
+ { &hf_sbc_ap_Warning_Type_value,
+ { "Warning Type Value", "sbc-ap.WarningType.value",
+ FT_UINT16, BASE_DEC, VALS(s1ap_warningType_vals), 0xfe00,
+ NULL, HFILL }},
+ { &hf_sbc_ap_Warning_Type_emergency_user_alert,
+ { "Emergency User Alert", "sbc-ap.WarningType.emergency_user_alert",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
+ NULL, HFILL }},
+ { &hf_sbc_ap_Warning_Type_popup,
+ { "Popup", "sbc-ap.WarningType.popup",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
+ NULL, HFILL }},
+ { &hf_sbc_ap_Warning_Message_Contents_nb_pages,
+ { "Number of Pages", "sbc-ap.WarningMessageContents.nb_pages",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_sbc_ap_Warning_Message_Contents_decoded_page,
+ { "Decoded Page", "sbc-ap.WarningMessageContents.decoded_page",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-sbc-ap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_sbc_ap,
+ &ett_sbc_ap_Serial_Number,
+ &ett_sbc_ap_Warning_Type,
+ &ett_sbc_ap_Data_Coding_Scheme,
+ &ett_sbc_ap_Warning_Message_Contents,
+#include "packet-sbc-ap-ettarr.c"
+ };
+
+
+ /* Register protocol */
+ proto_sbc_ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_sbc_ap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ sbc_ap_handle = register_dissector(PFNAME, dissect_sbc_ap, proto_sbc_ap);
+
+ /* Register dissector tables */
+ sbc_ap_ies_dissector_table = register_dissector_table("sbc_ap.ies", "SBC-AP-PROTOCOL-IES", proto_sbc_ap, FT_UINT32, BASE_DEC);
+ sbc_ap_extension_dissector_table = register_dissector_table("sbc_ap.extension", "SBC-AP-PROTOCOL-EXTENSION", proto_sbc_ap, FT_UINT32, BASE_DEC);
+ sbc_ap_proc_imsg_dissector_table = register_dissector_table("sbc_ap.proc.imsg", "SBC-AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_sbc_ap, FT_UINT32, BASE_DEC);
+ sbc_ap_proc_sout_dissector_table = register_dissector_table("sbc_ap.proc.sout", "SBC-AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_sbc_ap, FT_UINT32, BASE_DEC);
+ sbc_ap_proc_uout_dissector_table = register_dissector_table("sbc_ap.proc.uout", "SBC-AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_sbc_ap, FT_UINT32, BASE_DEC);
+
+
+}
+
+
+/*--- proto_reg_handoff_sbc_ap ---------------------------------------*/
+void
+proto_reg_handoff_sbc_ap(void)
+{
+ static gboolean inited = FALSE;
+ static guint SctpPort;
+
+ if( !inited ) {
+ dissector_add_uint("sctp.ppi", SBC_AP_PAYLOAD_PROTOCOL_ID, sbc_ap_handle);
+ inited = TRUE;
+#include "packet-sbc-ap-dis-tab.c"
+ } else {
+ if (SctpPort != 0) {
+ dissector_delete_uint("sctp.port", SctpPort, sbc_ap_handle);
+ }
+ }
+
+ SctpPort = global_sbc_ap_port;
+ if (SctpPort != 0) {
+ dissector_add_uint("sctp.port", SctpPort, sbc_ap_handle);
+ }
+
+}
+
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf b/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf
new file mode 100644
index 00000000..08a2b1f1
--- /dev/null
+++ b/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf
@@ -0,0 +1,377 @@
+# sbc-ap.cnf
+# sbc-ap conformation file
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.EXPORTS
+
+#.PDU
+SBC-AP-PDU
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.NO_EMIT
+TBCD-STRING
+#.END
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+ProtocolIE-ContainerList
+Presence
+Unknown-Tracking-Area-List
+NgENB-ID
+List-of-5GS-Cells-for-Failure
+
+#.TYPE_RENAME
+
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+
+InitiatingMessage/value initiatingMessagevalue
+UnsuccessfulOutcome/value unsuccessfulOutcome_value
+SuccessfulOutcome/value successfulOutcome_value
+
+ProtocolExtensionField/id ext_id
+
+ProtocolIE-Field/value ie_field_value
+
+#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(sbc_ap_ProtocolIE_ID_vals), "unknown (%d)"));
+ }
+#.END
+
+
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+# Currently not used
+# FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue
+# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
+
+#.FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+#--- Parameterization is not supported in asn2wrs ---
+
+#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SBC-AP-PROTOCOL-IES : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-Container {{IEsSetParam}}
+
+# FN_PARS ProtocolIE-ContainerList
+#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
+#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
+# FN_HDR ProtocolIE-ContainerList
+# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
+# { "lowerBound", ASN1_PAR_INTEGER },
+# { "upperBound", ASN1_PAR_INTEGER },
+# { NULL, 0 }
+# };
+# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
+#.END
+#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, SBC-AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+# SEQUENCE (SIZE (lowerBound..upperBound)) OF
+# ProtocolIE-ContainerPair {{IEsSetParam}}
+
+# following construction is not supported by asn2wrs
+# PLMNidentity ::= TBCD-STRING (SIZE (3))
+# TBCD-STRING ::= OCTET STRING
+
+#.FN_BODY PLMNidentity VAL_PTR = parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = sbc_ap_data->number_type;
+ sbc_ap_data->number_type = E212_NONE;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, &parameter_tvb);
+ if(tvb_reported_length(tvb)==0)
+ return offset;
+
+ if (!parameter_tvb)
+ return offset;
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, number_type, FALSE);
+#.END
+
+#.TYPE_ATTR
+ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(sbc_ap_ProtocolIE_ID_vals)
+
+#.FN_BODY EUTRAN-CGI
+ struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo);
+ sbc_ap_data->number_type = E212_ECGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY NR-CGI
+ struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo);
+ sbc_ap_data->number_type = E212_NRCGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY TAI
+ struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo);
+ sbc_ap_data->number_type = E212_TAI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY TAI-5GS
+ struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo);
+ sbc_ap_data->number_type = E212_5GSTAI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+TAC-5GS TYPE = FT_UINT24 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC-5GS VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
+ }
+
+
+#.ASSIGN_VALUE_TO_TYPE # SBC-AP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+id-Write-Replace-Warning ProcedureCode
+id-Stop-Warning ProcedureCode
+id-Error-Indication ProcedureCode
+id-Write-Replace-Warning-Indication ProcedureCode
+id-Stop-Warning-Indication ProcedureCode
+id-PWS-Restart-Indication ProcedureCode
+id-PWS-Failure-Indication ProcedureCode
+
+# ProtocolIE-ID
+
+id-Broadcast-Message-Content ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-Criticality-Diagnostics ProtocolIE-ID
+id-Data-Coding-Scheme ProtocolIE-ID
+id-Failure-List ProtocolIE-ID
+id-Message-Identifier ProtocolIE-ID
+id-Number-of-Broadcasts-Completed-List ProtocolIE-ID
+id-Number-of-Broadcasts-Requested ProtocolIE-ID
+id-Radio-Resource-Loading-List ProtocolIE-ID
+id-Recovery-Indication ProtocolIE-ID
+id-Repetition-Period ProtocolIE-ID
+id-Serial-Number ProtocolIE-ID
+id-Service-Areas-List ProtocolIE-ID
+id-TypeOfError ProtocolIE-ID
+id-List-of-TAIs ProtocolIE-ID
+id-Warning-Area-List ProtocolIE-ID
+id-Warning-Message-Content ProtocolIE-ID
+id-Warning-Security-Information ProtocolIE-ID
+id-Warning-Type ProtocolIE-ID
+id-Omc-Id ProtocolIE-ID
+id-Concurrent-Warning-Message-Indicator ProtocolIE-ID
+id-Extended-Repetition-Period ProtocolIE-ID
+id-Unknown-Tracking-Area-List ProtocolIE-ID
+id-Broadcast-Scheduled-Area-List ProtocolIE-ID
+id-Send-Write-Replace-Warning-Indication ProtocolIE-ID
+id-Broadcast-Cancelled-Area-List ProtocolIE-ID
+id-Send-Stop-Warning-Indication ProtocolIE-ID
+id-Stop-All-Indicator ProtocolIE-ID
+id-Global-ENB-ID ProtocolIE-ID
+id-Broadcast-Empty-Area-List ProtocolIE-ID
+id-Restarted-Cell-List ProtocolIE-ID
+id-List-of-TAIs-Restart ProtocolIE-ID
+id-List-of-EAIs-Restart ProtocolIE-ID
+id-Failed-Cell-List ProtocolIE-ID
+
+id-List-of-5GS-TAIs ProtocolIE-ID
+id-Warning-Area-List-5GS ProtocolIE-ID
+id-Global-RAN-Node-ID ProtocolIE-ID
+id-Global-GNB-ID ProtocolIE-ID
+id-RAT-Selector-5GS ProtocolIE-ID
+id-Unknown-5GS-Tracking-Area-List ProtocolIE-ID
+id-Broadcast-Scheduled-Area-List-5GS ProtocolIE-ID
+id-Broadcast-Cancelled-Area-List-5GS ProtocolIE-ID
+id-Broadcast-Empty-Area-List-5GS ProtocolIE-ID
+id-Restarted-Cell-List-NR ProtocolIE-ID
+id-Failed-Cell-List-NR ProtocolIE-ID
+id-List-of-5GS-TAI-for-Restart ProtocolIE-ID
+id-Warning-Area-Coordinates ProtocolIE-ID
+
+#.REGISTER
+
+#SBC-AP-PROTOCOL-IES
+
+# N sbc_ap.ies id-Broadcast-Message-Content
+Cause N sbc_ap.ies id-Cause
+Criticality-Diagnostics N sbc_ap.ies id-Criticality-Diagnostics
+Data-Coding-Scheme N sbc_ap.ies id-Data-Coding-Scheme
+# N sbc_ap.ies id-Failure-List
+Message-Identifier N sbc_ap.ies id-Message-Identifier
+# id-Number-of-Broadcasts-Completed-List
+Number-of-Broadcasts-Requested N sbc_ap.ies id-Number-of-Broadcasts-Requested
+# not used ? N sbc_ap.ies id-Radio-Resource-Loading-List
+# not used N sbc_ap.ies id-Recovery-Indication
+Repetition-Period N sbc_ap.ies id-Repetition-Period
+Serial-Number N sbc_ap.ies id-Serial-Number
+# id-Service-Areas-List
+# id-TypeOfError
+List-of-TAIs N sbc_ap.ies id-List-of-TAIs
+Warning-Area-List N sbc_ap.ies id-Warning-Area-List
+Warning-Message-Content N sbc_ap.ies id-Warning-Message-Content
+Warning-Security-Information N sbc_ap.ies id-Warning-Security-Information
+Warning-Type N sbc_ap.ies id-Warning-Type
+Omc-Id N sbc_ap.ies id-Omc-Id
+Concurrent-Warning-Message-Indicator N sbc_ap.ies id-Concurrent-Warning-Message-Indicator
+Extended-Repetition-Period N sbc_ap.ies id-Extended-Repetition-Period
+List-of-TAIs N sbc_ap.ies id-Unknown-Tracking-Area-List
+Broadcast-Scheduled-Area-List N sbc_ap.ies id-Broadcast-Scheduled-Area-List
+Send-Write-Replace-Warning-Indication N sbc_ap.ies id-Send-Write-Replace-Warning-Indication
+Broadcast-Cancelled-Area-List N sbc_ap.ies id-Broadcast-Cancelled-Area-List
+Send-Stop-Warning-Indication N sbc_ap.ies id-Send-Stop-Warning-Indication
+Stop-All-Indicator N sbc_ap.ies id-Stop-All-Indicator
+Global-ENB-ID N sbc_ap.ies id-Global-ENB-ID
+Broadcast-Empty-Area-List N sbc_ap.ies id-Broadcast-Empty-Area-List
+Restarted-Cell-List N sbc_ap.ies id-Restarted-Cell-List
+List-of-TAIs-Restart N sbc_ap.ies id-List-of-TAIs-Restart
+List-of-EAIs-Restart N sbc_ap.ies id-List-of-EAIs-Restart
+Failed-Cell-List N sbc_ap.ies id-Failed-Cell-List
+
+List-of-5GS-TAIs N sbc_ap.extension id-List-of-5GS-TAIs
+Warning-Area-List-5GS N sbc_ap.extension id-Warning-Area-List-5GS
+Global-RAN-Node-ID N sbc_ap.extension id-Global-RAN-Node-ID
+Global-GNB-ID N sbc_ap.extension id-Global-GNB-ID
+RAT-Selector-5GS N sbc_ap.extension id-RAT-Selector-5GS
+Unknown-5GS-Tracking-Area-List N sbc_ap.extension id-Unknown-5GS-Tracking-Area-List
+Broadcast-Scheduled-Area-List-5GS N sbc_ap.extension id-Broadcast-Scheduled-Area-List-5GS
+Broadcast-Cancelled-Area-List-5GS N sbc_ap.extension id-Broadcast-Cancelled-Area-List-5GS
+Broadcast-Empty-Area-List-5GS N sbc_ap.extension id-Broadcast-Empty-Area-List-5GS
+Restarted-Cell-List-NR N sbc_ap.extension id-Restarted-Cell-List-NR
+Failed-Cell-List-NR N sbc_ap.extension id-Failed-Cell-List-NR
+List-of-5GS-TAI-for-Restart N sbc_ap.extension id-List-of-5GS-TAI-for-Restart
+Warning-Area-Coordinates N sbc_ap.ies id-Warning-Area-Coordinates
+
+
+#SBC-AP-ELEMENTARY-PROCEDURE
+Write-Replace-Warning-Request N sbc_ap.proc.imsg id-Write-Replace-Warning
+Write-Replace-Warning-Response N sbc_ap.proc.sout id-Write-Replace-Warning
+
+Stop-Warning-Request N sbc_ap.proc.imsg id-Stop-Warning
+Stop-Warning-Response N sbc_ap.proc.sout id-Stop-Warning
+
+Error-Indication N sbc_ap.proc.imsg id-Error-Indication
+
+Write-Replace-Warning-Indication N sbc_ap.proc.imsg id-Write-Replace-Warning-Indication
+
+Stop-Warning-Indication N sbc_ap.proc.imsg id-Stop-Warning-Indication
+
+PWS-Restart-Indication N sbc_ap.proc.imsg id-PWS-Restart-Indication
+
+PWS-Failure-Indication N sbc_ap.proc.imsg id-PWS-Failure-Indication
+
+#.END
+
+#.TYPE_ATTR
+Message-Identifier TYPE = FT_UINT16 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &lte_rrc_messageIdentifier_vals_ext
+
+#.FN_HDR Write-Replace-Warning-Request
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Write-Replace-Warning-Request");
+#.FN_HDR Write-Replace-Warning-Response
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Write-Replace-Warning-Response");
+#.FN_HDR Stop-Warning-Request
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Stop-Warning-Request");
+#.FN_HDR Stop-Warning-Response
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Stop-Warning-Response");
+#.FN_HDR Error-Indication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Error-Indication");
+#.FN_HDR Write-Replace-Warning-Indication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Write-Replace-Warning-Indication");
+#.FN_HDR Stop-Warning-Indication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Stop-Warning-Indication");
+#.FN_HDR PWS-Restart-Indication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWS-Restart-Indication");
+#.FN_HDR PWS-Failure-Indication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWS-Failure-Indication");
+
+#.FN_BODY Message-Identifier VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY Serial-Number VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_sbc_ap_Serial_Number);
+ proto_tree_add_item(subtree, hf_sbc_ap_Serial_Number_gs, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_sbc_ap_Serial_Number_msg_code, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_sbc_ap_Serial_Number_upd_nb, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Repetition-Period DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+Extended-Repetition-Period DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY Warning-Type VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_sbc_ap_Warning_Type);
+ proto_tree_add_item(subtree, hf_sbc_ap_Warning_Type_value, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_sbc_ap_Warning_Type_emergency_user_alert, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_sbc_ap_Warning_Type_popup, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+
+#.FN_BODY Data-Coding-Scheme VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_sbc_ap_Data_Coding_Scheme);
+ sbc_ap_data->data_coding_scheme = dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
+ }
+
+#.FN_BODY Warning-Message-Content VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo);
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_sbc_ap_Warning_Message_Contents);
+ dissect_s1ap_warningMessageContents(parameter_tvb, subtree, actx->pinfo, sbc_ap_data->data_coding_scheme, hf_sbc_ap_Warning_Message_Contents_nb_pages, hf_sbc_ap_Warning_Message_Contents_decoded_page);
+ }
+
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/smrse/CMakeLists.txt b/epan/dissectors/asn1/smrse/CMakeLists.txt
new file mode 100644
index 00000000..6d1209d7
--- /dev/null
+++ b/epan/dissectors/asn1/smrse/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME smrse )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ SMRSE.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/smrse/SMRSE.asn b/epan/dissectors/asn1/smrse/SMRSE.asn
new file mode 100644
index 00000000..ee11a261
--- /dev/null
+++ b/epan/dissectors/asn1/smrse/SMRSE.asn
@@ -0,0 +1,133 @@
+SMRS DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+SMR-Bind ::= SEQUENCE {
+ sc-address SMS-Address,
+ password Password,
+ ...
+}
+
+ub-password-length INTEGER ::= 20
+
+IMSI-Address ::= OCTET STRING
+
+SMS-Address ::= SEQUENCE {
+ address-type INTEGER {
+ unknown-type (0),
+ internat-number (1),
+ national-number (2),
+ net-spec-number (3),
+ short-number (4)
+ },
+
+ numbering-plan INTEGER {
+ unknown-numbering (0),
+ iSDN-numbering (1),
+ data-network-numbering (3),
+ telex-numbering (4),
+ national-numbering (8),
+ private-numbering (9)
+ },
+
+ address-value CHOICE {
+ octet-format SemiOctetString
+ }
+}
+
+
+SemiOctetString ::= OCTET STRING
+
+Password ::= PrintableString
+
+SMR-Bind-Confirm ::= SEQUENCE {
+ ...
+}
+
+SMR-Bind-Failure ::= SEQUENCE {
+ connect-fail-reason Connect-fail,
+ ...
+}
+
+Connect-fail ::= INTEGER {
+ not-entitled (0),
+ tmp-overload (1),
+ tmp-failure (2),
+ id-or-passwd (3),
+ not-supported (4),
+ inv-SC-addr (5)
+}
+
+SMR-Unbind ::= SEQUENCE {
+ ...
+}
+
+RPDataMT ::= SEQUENCE {
+ mt-priority-request BOOLEAN,
+ mt-mms BOOLEAN,
+ mt-message-reference RP-MR,
+ mt-originating-address SMS-Address,
+ mt-destination-address SMS-Address,
+ mt-user-data RP-UD,
+ mt-origVMSCAddr [1] SMS-Address OPTIONAL,
+ mt-tariffClass [2] SM-TC OPTIONAL,
+ ...
+}
+
+RPDataMO ::= SEQUENCE {
+ mo-message-reference RP-MR,
+ mo-originating-address SMS-Address,
+ mo-user-data RP-UD,
+ origVMSCAddr [1] SMS-Address OPTIONAL ,
+ moimsi [2] IMSI-Address OPTIONAL,
+ ...
+}
+
+RP-MR ::= INTEGER (0..65535)
+
+RP-UD ::= OCTET STRING (SIZE (1..164))
+
+SM-TC ::= INTEGER (0..65535)
+
+RPAck ::= SEQUENCE {
+ message-reference RP-MR,
+ ...
+}
+
+Error-reason ::= INTEGER {
+ unknown-subscriber (1),
+ illegal-subscriber (9),
+ teleservice-not-provisioned (11),
+ call-barred (13),
+ cug-reject (15),
+ sMS-ll-capabilities-not-prov (19),
+ error-in-MS (20),
+ facility-not-supported (21),
+ memory-capacity-exceeded (22),
+ absent-subscriber (29),
+ ms-busy-for-MT-sms (30),
+ system-failure (36),
+ illegal-equipment (44),
+ no-resp-to-paging (60),
+ gMSC-congestion (61),
+ dublicate-sm (70),
+ sC-congestion (101),
+ mS-not-SC-Subscriber (103),
+ invalid-sme-address (104)
+}
+
+RPError ::= SEQUENCE {
+ error-reason Error-reason,
+ msg-waiting-set BOOLEAN,
+ message-reference RP-MR,
+ alerting-MS-ISDN [1] SMS-Address OPTIONAL,
+ sm-diag-info [2] RP-UD OPTIONAL,
+ ...
+}
+
+RPAlertSC ::= SEQUENCE {
+ ms-address SMS-Address,
+ message-reference RP-MR,
+ ...
+}
+
+END
diff --git a/epan/dissectors/asn1/smrse/packet-smrse-template.c b/epan/dissectors/asn1/smrse/packet-smrse-template.c
new file mode 100644
index 00000000..d8695f80
--- /dev/null
+++ b/epan/dissectors/asn1/smrse/packet-smrse-template.c
@@ -0,0 +1,173 @@
+/* packet-smrse.c
+ * Routines for SMRSE Short Message Relay Service packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-smrse.h"
+
+#define PNAME "Short Message Relaying Service"
+#define PSNAME "SMRSE"
+#define PFNAME "smrse"
+
+#define TCP_PORT_SMRSE 4321 /* Not IANA registered */
+
+void proto_register_smrse(void);
+void proto_reg_handoff_smrse(void);
+
+static dissector_handle_t smrse_handle;
+
+/* Initialize the protocol and registered fields */
+static int proto_smrse = -1;
+static int hf_smrse_reserved = -1;
+static int hf_smrse_tag = -1;
+static int hf_smrse_length = -1;
+static int hf_smrse_Octet_Format = -1;
+#include "packet-smrse-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_smrse = -1;
+#include "packet-smrse-ett.c"
+
+
+#include "packet-smrse-fn.c"
+
+static const value_string tag_vals[] = {
+ { 1, "AliveTest" },
+ { 2, "AliveTestRsp" },
+ { 3, "Bind" },
+ { 4, "BindRsp" },
+ { 5, "BindFail" },
+ { 6, "Unbind" },
+ { 7, "MT" },
+ { 8, "MO" },
+ { 9, "Ack" },
+ { 10, "Error" },
+ { 11, "Alert" },
+ { 0, NULL }
+};
+
+static int
+dissect_smrse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ guint8 reserved, tag;
+ int offset=0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ reserved=tvb_get_guint8(tvb, 0);
+ tag=tvb_get_guint8(tvb, 3);
+
+ if( reserved!= 126 )
+ return 0;
+ if( (tag<1)||(tag>11) )
+ return 0;
+
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_smrse, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_smrse);
+ }
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "SMRSE");
+ col_add_str(pinfo->cinfo, COL_INFO, val_to_str(tag, tag_vals,"Unknown Tag:0x%02x"));
+
+ proto_tree_add_item(tree, hf_smrse_reserved, tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_smrse_length, tvb, 1, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_smrse_tag, tvb, 3, 1, ENC_BIG_ENDIAN);
+
+ switch(tag){
+ case 1:
+ case 2:
+ offset=4;
+ break;
+ case 3:
+ offset=dissect_smrse_SMR_Bind(FALSE, tvb, 4, &asn1_ctx, tree, -1);
+ break;
+ case 4:
+ offset=dissect_smrse_SMR_Bind_Confirm(FALSE, tvb, 4, &asn1_ctx, tree, -1);
+ break;
+ case 5:
+ offset=dissect_smrse_SMR_Bind_Failure(FALSE, tvb, 4, &asn1_ctx, tree, -1);
+ break;
+ case 6:
+ offset=dissect_smrse_SMR_Unbind(FALSE, tvb, 4, &asn1_ctx, tree, -1);
+ break;
+ case 7:
+ offset=dissect_smrse_RPDataMT(FALSE, tvb, 4, &asn1_ctx, tree, -1);
+ break;
+ case 8:
+ offset=dissect_smrse_RPDataMO(FALSE, tvb, 4, &asn1_ctx, tree, -1);
+ break;
+ case 9:
+ offset=dissect_smrse_RPAck(FALSE, tvb, 4, &asn1_ctx, tree, -1);
+ break;
+ case 10:
+ offset=dissect_smrse_RPError(FALSE, tvb, 4, &asn1_ctx, tree, -1);
+ break;
+ case 11:
+ offset=dissect_smrse_RPAlertSC(FALSE, tvb, 4, &asn1_ctx, tree, -1);
+ break;
+ }
+
+ return offset;
+}
+
+/*--- proto_register_smrse ----------------------------------------------*/
+void proto_register_smrse(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_smrse_reserved, {
+ "Reserved", "smrse.reserved", FT_UINT8, BASE_DEC,
+ NULL, 0, "Reserved byte, must be 126", HFILL }},
+ { &hf_smrse_tag, {
+ "Tag", "smrse.tag", FT_UINT8, BASE_DEC,
+ VALS(tag_vals), 0, NULL, HFILL }},
+ { &hf_smrse_length, {
+ "Length", "smrse.length", FT_UINT16, BASE_DEC,
+ NULL, 0, "Length of SMRSE PDU", HFILL }},
+ { &hf_smrse_Octet_Format,
+ { "octet-Format", "smrse.octet_Format",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "SMS-Address/address-value/octet-format", HFILL }},
+
+#include "packet-smrse-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_smrse,
+#include "packet-smrse-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_smrse = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register dissector */
+ smrse_handle = register_dissector(PFNAME, dissect_smrse, proto_smrse);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_smrse, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_smrse -------------------------------------------*/
+void proto_reg_handoff_smrse(void) {
+ dissector_add_uint_with_preference("tcp.port",TCP_PORT_SMRSE, smrse_handle);
+}
+
diff --git a/epan/dissectors/asn1/smrse/packet-smrse-template.h b/epan/dissectors/asn1/smrse/packet-smrse-template.h
new file mode 100644
index 00000000..c22c15db
--- /dev/null
+++ b/epan/dissectors/asn1/smrse/packet-smrse-template.h
@@ -0,0 +1,18 @@
+/* packet-smrse.h
+ * Routines for SMRSE Short Message Relay Service packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_SMRSE_H
+#define PACKET_SMRSE_H
+
+/*#include "packet-smrse-exp.h"*/
+
+#endif /* PACKET_SMRSE_H */
+
diff --git a/epan/dissectors/asn1/smrse/smrse.cnf b/epan/dissectors/asn1/smrse/smrse.cnf
new file mode 100644
index 00000000..7794027c
--- /dev/null
+++ b/epan/dissectors/asn1/smrse/smrse.cnf
@@ -0,0 +1,46 @@
+# smrse.cnf
+# SMRSE conformation file
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.NO_EMIT
+SemiOctetString
+#.END
+
+#.PDU
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.FN_BODY SMS-Address/address-value/octet-format
+ char *strp,tmpstr[21];
+ guint32 i, start_offset;
+ gint8 ber_class;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+ static char n2a[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
+
+ start_offset=offset;
+
+ /* skip the tag and length */
+ offset=dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
+ if(len>10){
+ len=10;
+ }
+ strp=tmpstr;
+ for(i=0;i<len;i++){
+ *strp++=n2a[tvb_get_guint8(tvb, offset)&0x0f];
+ *strp++=n2a[(tvb_get_guint8(tvb, offset)>>4)&0x0f];
+ offset++;
+ }
+ *strp=0;
+
+ proto_tree_add_string(tree, hf_smrse_Octet_Format, tvb, start_offset, offset-start_offset, tmpstr);
+#.END
+
+
diff --git a/epan/dissectors/asn1/snmp/CMakeLists.txt b/epan/dissectors/asn1/snmp/CMakeLists.txt
new file mode 100644
index 00000000..dc6a1c97
--- /dev/null
+++ b/epan/dissectors/asn1/snmp/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME snmp )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/snmp/packet-snmp-template.c b/epan/dissectors/asn1/snmp/packet-snmp-template.c
new file mode 100644
index 00000000..e8e606e1
--- /dev/null
+++ b/epan/dissectors/asn1/snmp/packet-snmp-template.c
@@ -0,0 +1,2732 @@
+/* packet-snmp.c
+ * Routines for SNMP (simple network management protocol)
+ * Copyright (C) 1998 Didier Jorand
+ *
+ * See RFC 1157 for SNMPv1.
+ *
+ * See RFCs 1901, 1905, and 1906 for SNMPv2c.
+ *
+ * See RFCs 1905, 1906, 1909, and 1910 for SNMPv2u [historic].
+ *
+ * See RFCs 2570-2576 for SNMPv3
+ * Updated to use the asn2wrs compiler made by Tomas Kukosa
+ * Copyright (C) 2005 - 2006 Anders Broman [AT] ericsson.com
+ *
+ * See RFC 3414 for User-based Security Model for SNMPv3
+ * See RFC 3826 for (AES) Cipher Algorithm in the SNMP USM
+ * See RFC 2578 for Structure of Management Information Version 2 (SMIv2)
+ * Copyright (C) 2007 Luis E. Garcia Ontanon <luis@ontanon.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * Some stuff from:
+ *
+ * GXSNMP -- An snmp mangament application
+ * Copyright (C) 1998 Gregory McLean & Jochen Friedrich
+ * Beholder RMON ethernet network monitor,Copyright (C) 1993 DNPAP group
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#if 0
+#include <stdio.h>
+#define D(args) do {printf args; fflush(stdout); } while(0)
+#endif
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/strutil.h>
+#include <epan/conversation.h>
+#include <epan/etypes.h>
+#include <epan/prefs.h>
+#include <epan/addr_resolv.h>
+#include <epan/next_tvb.h>
+#include <epan/uat.h>
+#include <epan/asn1.h>
+#include <epan/expert.h>
+#include <epan/oids.h>
+#include <epan/srt_table.h>
+#include <epan/tap.h>
+#include "packet-ipx.h"
+#include "packet-hpext.h"
+#include "packet-ber.h"
+#include "packet-snmp.h"
+#include <wsutil/wsgcrypt.h>
+
+#define PNAME "Simple Network Management Protocol"
+#define PSNAME "SNMP"
+#define PFNAME "snmp"
+
+#define UDP_PORT_SNMP 161
+#define UDP_PORT_SNMP_TRAP 162
+#define TCP_PORT_SNMP 161
+#define TCP_PORT_SNMP_TRAP 162
+#define TCP_PORT_SMUX 199
+#define UDP_PORT_SNMP_PATROL 8161
+#define SNMP_NUM_PROCEDURES 8
+
+/* Initialize the protocol and registered fields */
+static int snmp_tap = -1;
+static int proto_snmp = -1;
+static int proto_smux = -1;
+
+static gboolean display_oid = TRUE;
+static gboolean snmp_var_in_tree = TRUE;
+
+void proto_register_snmp(void);
+void proto_reg_handoff_snmp(void);
+void proto_register_smux(void);
+void proto_reg_handoff_smux(void);
+
+static void snmp_usm_password_to_key(const snmp_usm_auth_model_t model, const guint8 *password, guint passwordlen,
+ const guint8 *engineID, guint engineLength, guint8 *key);
+
+static tvbuff_t* snmp_usm_priv_des(snmp_usm_params_t*, tvbuff_t*, packet_info *pinfo, gchar const**);
+static tvbuff_t* snmp_usm_priv_aes128(snmp_usm_params_t*, tvbuff_t*, packet_info *pinfo, gchar const**);
+static tvbuff_t* snmp_usm_priv_aes192(snmp_usm_params_t*, tvbuff_t*, packet_info *pinfo, gchar const**);
+static tvbuff_t* snmp_usm_priv_aes256(snmp_usm_params_t*, tvbuff_t*, packet_info *pinfo, gchar const**);
+
+static bool snmp_usm_auth(const packet_info *pinfo, const snmp_usm_auth_model_t model, snmp_usm_params_t* p, guint8**, guint*, gchar const**);
+
+static const value_string auth_types[] = {
+ {SNMP_USM_AUTH_MD5,"MD5"},
+ {SNMP_USM_AUTH_SHA1,"SHA1"},
+ {SNMP_USM_AUTH_SHA2_224,"SHA2-224"},
+ {SNMP_USM_AUTH_SHA2_256,"SHA2-256"},
+ {SNMP_USM_AUTH_SHA2_384,"SHA2-384"},
+ {SNMP_USM_AUTH_SHA2_512,"SHA2-512"},
+ {0,NULL}
+};
+
+static const guint auth_hash_len[] = {
+ HASH_MD5_LENGTH,
+ HASH_SHA1_LENGTH,
+ HASH_SHA2_224_LENGTH,
+ HASH_SHA2_256_LENGTH,
+ HASH_SHA2_384_LENGTH,
+ HASH_SHA2_512_LENGTH
+};
+
+static const guint auth_tag_len[] = {
+ 12,
+ 12,
+ 16,
+ 24,
+ 32,
+ 48
+};
+
+static const enum gcry_md_algos auth_hash_algo[] = {
+ GCRY_MD_MD5,
+ GCRY_MD_SHA1,
+ GCRY_MD_SHA224,
+ GCRY_MD_SHA256,
+ GCRY_MD_SHA384,
+ GCRY_MD_SHA512
+};
+
+#define PRIV_DES 0
+#define PRIV_AES128 1
+#define PRIV_AES192 2
+#define PRIV_AES256 3
+
+static const value_string priv_types[] = {
+ { PRIV_DES, "DES" },
+ { PRIV_AES128, "AES" },
+ { PRIV_AES192, "AES192" },
+ { PRIV_AES256, "AES256" },
+ { 0, NULL}
+};
+static snmp_usm_decoder_t priv_protos[] = {
+ snmp_usm_priv_des,
+ snmp_usm_priv_aes128,
+ snmp_usm_priv_aes192,
+ snmp_usm_priv_aes256
+};
+
+static snmp_ue_assoc_t* ueas = NULL;
+static guint num_ueas = 0;
+static snmp_ue_assoc_t* localized_ues = NULL;
+static snmp_ue_assoc_t* unlocalized_ues = NULL;
+/****/
+
+/* Variables used for handling enterprise specific trap types */
+typedef struct _snmp_st_assoc_t {
+ char *enterprise;
+ guint trap;
+ char *desc;
+} snmp_st_assoc_t;
+static guint num_specific_traps = 0;
+static snmp_st_assoc_t *specific_traps = NULL;
+static const char *enterprise_oid = NULL;
+static guint generic_trap = 0;
+static guint32 snmp_version = 0;
+static guint32 RequestID = -1;
+
+static snmp_usm_params_t usm_p = {FALSE,FALSE,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,FALSE};
+
+#define TH_AUTH 0x01
+#define TH_CRYPT 0x02
+#define TH_REPORT 0x04
+
+/* desegmentation of SNMP-over-TCP */
+static gboolean snmp_desegment = TRUE;
+
+/* Global variables */
+
+guint32 MsgSecurityModel;
+tvbuff_t *oid_tvb=NULL;
+tvbuff_t *value_tvb=NULL;
+
+static dissector_handle_t snmp_handle;
+static dissector_handle_t snmp_tcp_handle;
+static dissector_handle_t data_handle;
+static dissector_handle_t smux_handle;
+
+static next_tvb_list_t *var_list;
+
+static int hf_snmp_response_in = -1;
+static int hf_snmp_response_to = -1;
+static int hf_snmp_time = -1;
+
+static int hf_snmp_v3_flags_auth = -1;
+static int hf_snmp_v3_flags_crypt = -1;
+static int hf_snmp_v3_flags_report = -1;
+
+static int hf_snmp_engineid_conform = -1;
+static int hf_snmp_engineid_enterprise = -1;
+static int hf_snmp_engineid_format = -1;
+static int hf_snmp_engineid_ipv4 = -1;
+static int hf_snmp_engineid_ipv6 = -1;
+static int hf_snmp_engineid_cisco_type = -1;
+static int hf_snmp_engineid_mac = -1;
+static int hf_snmp_engineid_text = -1;
+static int hf_snmp_engineid_time = -1;
+static int hf_snmp_engineid_data = -1;
+static int hf_snmp_decryptedPDU = -1;
+static int hf_snmp_msgAuthentication = -1;
+
+static int hf_snmp_noSuchObject = -1;
+static int hf_snmp_noSuchInstance = -1;
+static int hf_snmp_endOfMibView = -1;
+static int hf_snmp_unSpecified = -1;
+
+static int hf_snmp_integer32_value = -1;
+static int hf_snmp_octetstring_value = -1;
+static int hf_snmp_oid_value = -1;
+static int hf_snmp_null_value = -1;
+static int hf_snmp_ipv4_value = -1;
+static int hf_snmp_ipv6_value = -1;
+static int hf_snmp_anyaddress_value = -1;
+static int hf_snmp_unsigned32_value = -1;
+static int hf_snmp_unknown_value = -1;
+static int hf_snmp_opaque_value = -1;
+static int hf_snmp_nsap_value = -1;
+static int hf_snmp_counter_value = -1;
+static int hf_snmp_timeticks_value = -1;
+static int hf_snmp_big_counter_value = -1;
+static int hf_snmp_gauge32_value = -1;
+
+static int hf_snmp_objectname = -1;
+static int hf_snmp_scalar_instance_index = -1;
+
+static int hf_snmp_var_bind_str = -1;
+static int hf_snmp_agentid_trailer = -1;
+
+#include "packet-snmp-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_smux = -1;
+static gint ett_snmp = -1;
+static gint ett_engineid = -1;
+static gint ett_msgFlags = -1;
+static gint ett_encryptedPDU = -1;
+static gint ett_decrypted = -1;
+static gint ett_authParameters = -1;
+static gint ett_internet = -1;
+static gint ett_varbind = -1;
+static gint ett_name = -1;
+static gint ett_value = -1;
+static gint ett_decoding_error = -1;
+
+#include "packet-snmp-ett.c"
+
+static expert_field ei_snmp_failed_decrypted_data_pdu = EI_INIT;
+static expert_field ei_snmp_decrypted_data_bad_formatted = EI_INIT;
+static expert_field ei_snmp_verify_authentication_error = EI_INIT;
+static expert_field ei_snmp_authentication_ok = EI_INIT;
+static expert_field ei_snmp_authentication_error = EI_INIT;
+static expert_field ei_snmp_varbind_not_uni_class_seq = EI_INIT;
+static expert_field ei_snmp_varbind_has_indicator = EI_INIT;
+static expert_field ei_snmp_objectname_not_oid = EI_INIT;
+static expert_field ei_snmp_objectname_has_indicator = EI_INIT;
+static expert_field ei_snmp_value_not_primitive_encoding = EI_INIT;
+static expert_field ei_snmp_invalid_oid = EI_INIT;
+static expert_field ei_snmp_varbind_wrong_tag = EI_INIT;
+static expert_field ei_snmp_varbind_response = EI_INIT;
+static expert_field ei_snmp_no_instance_subid = EI_INIT;
+static expert_field ei_snmp_wrong_num_of_subids = EI_INIT;
+static expert_field ei_snmp_index_suboid_too_short = EI_INIT;
+static expert_field ei_snmp_unimplemented_instance_index = EI_INIT;
+static expert_field ei_snmp_index_suboid_len0 = EI_INIT;
+static expert_field ei_snmp_index_suboid_too_long = EI_INIT;
+static expert_field ei_snmp_index_string_too_long = EI_INIT;
+static expert_field ei_snmp_column_parent_not_row = EI_INIT;
+static expert_field ei_snmp_uint_too_large = EI_INIT;
+static expert_field ei_snmp_int_too_large = EI_INIT;
+static expert_field ei_snmp_integral_value0 = EI_INIT;
+static expert_field ei_snmp_missing_mib = EI_INIT;
+static expert_field ei_snmp_varbind_wrong_length_value = EI_INIT;
+static expert_field ei_snmp_varbind_wrong_class_tag = EI_INIT;
+static expert_field ei_snmp_rfc1910_non_conformant = EI_INIT;
+static expert_field ei_snmp_rfc3411_non_conformant = EI_INIT;
+static expert_field ei_snmp_version_unknown = EI_INIT;
+static expert_field ei_snmp_trap_pdu_obsolete = EI_INIT;
+
+static const true_false_string auth_flags = {
+ "OK",
+ "Failed"
+};
+
+/* Security Models */
+
+#define SNMP_SEC_ANY 0
+#define SNMP_SEC_V1 1
+#define SNMP_SEC_V2C 2
+#define SNMP_SEC_USM 3
+
+static const value_string sec_models[] = {
+ { SNMP_SEC_ANY, "Any" },
+ { SNMP_SEC_V1, "V1" },
+ { SNMP_SEC_V2C, "V2C" },
+ { SNMP_SEC_USM, "USM" },
+ { 0, NULL }
+};
+
+#if 0
+/* SMUX PDU types */
+#define SMUX_MSG_OPEN 0
+#define SMUX_MSG_CLOSE 1
+#define SMUX_MSG_RREQ 2
+#define SMUX_MSG_RRSP 3
+#define SMUX_MSG_SOUT 4
+
+static const value_string smux_types[] = {
+ { SMUX_MSG_OPEN, "Open" },
+ { SMUX_MSG_CLOSE, "Close" },
+ { SMUX_MSG_RREQ, "Registration Request" },
+ { SMUX_MSG_RRSP, "Registration Response" },
+ { SMUX_MSG_SOUT, "Commit Or Rollback" },
+ { 0, NULL }
+};
+#endif
+
+/* Procedure names (used in Service Response Time) */
+const value_string snmp_procedure_names[] = {
+ { 0, "Get" },
+ { 1, "GetNext" },
+ { 3, "Set" },
+ { 4, "Register" },
+ { 5, "Bulk" },
+ { 6, "Inform" },
+ { 0, NULL }
+};
+
+#define SNMP_IPA 0 /* IP Address */
+#define SNMP_CNT 1 /* Counter (Counter32) */
+#define SNMP_GGE 2 /* Gauge (Gauge32) */
+#define SNMP_TIT 3 /* TimeTicks */
+#define SNMP_OPQ 4 /* Opaque */
+#define SNMP_NSP 5 /* NsapAddress */
+#define SNMP_C64 6 /* Counter64 */
+#define SNMP_U32 7 /* Uinteger32 */
+
+#define SERR_NSO 0
+#define SERR_NSI 1
+#define SERR_EOM 2
+
+
+dissector_table_t value_sub_dissectors_table;
+
+/*
+ * Data structure attached to a conversation, request/response information
+ */
+typedef struct snmp_conv_info_t {
+ wmem_map_t *request_response;
+} snmp_conv_info_t;
+
+static snmp_conv_info_t*
+snmp_find_conversation_and_get_conv_data(packet_info *pinfo);
+
+static snmp_request_response_t *
+snmp_get_request_response_pointer(wmem_map_t *map, guint32 requestId)
+{
+ snmp_request_response_t *srrp=(snmp_request_response_t *)wmem_map_lookup(map, &requestId);
+ if (!srrp) {
+ srrp=wmem_new0(wmem_file_scope(), snmp_request_response_t);
+ srrp->requestId=requestId;
+ wmem_map_insert(map, &(srrp->requestId), (void *)srrp);
+ }
+
+ return srrp;
+}
+
+static snmp_request_response_t*
+snmp_match_request_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint requestId, guint procedure_id, snmp_conv_info_t *snmp_info)
+{
+ snmp_request_response_t *srrp=NULL;
+
+ DISSECTOR_ASSERT_HINT(snmp_info, "No SNMP info from ASN1 context");
+
+ /* get or create request/response pointer based on request id */
+ srrp=(snmp_request_response_t *)snmp_get_request_response_pointer(snmp_info->request_response, requestId);
+
+ // if not visited fill the request/response data
+ if (!PINFO_FD_VISITED(pinfo)) {
+ switch(procedure_id)
+ {
+ case SNMP_REQ_GET:
+ case SNMP_REQ_GETNEXT:
+ case SNMP_REQ_SET:
+ case SNMP_REQ_GETBULK:
+ case SNMP_REQ_INFORM:
+ srrp->request_frame_id=pinfo->fd->num;
+ srrp->response_frame_id=0;
+ srrp->request_time=pinfo->abs_ts;
+ srrp->request_procedure_id=procedure_id;
+ break;
+ case SNMP_RES_GET:
+ srrp->response_frame_id=pinfo->fd->num;
+ break;
+ default:
+ return NULL;
+ }
+ }
+
+ /* if request and response was matched */
+ if (srrp->request_frame_id!=0 && srrp->response_frame_id!=0)
+ {
+ proto_item *it;
+
+ // if it is a request
+ if (srrp->request_frame_id == pinfo->fd->num)
+ {
+ it=proto_tree_add_uint(tree, hf_snmp_response_in, tvb, 0, 0, srrp->response_frame_id);
+ proto_item_set_generated(it);
+ } else {
+ nstime_t ns;
+ it=proto_tree_add_uint(tree, hf_snmp_response_to, tvb, 0, 0, srrp->request_frame_id);
+ proto_item_set_generated(it);
+ nstime_delta(&ns, &pinfo->abs_ts, &srrp->request_time);
+ it=proto_tree_add_time(tree, hf_snmp_time, tvb, 0, 0, &ns);
+ proto_item_set_generated(it);
+
+ return srrp;
+ }
+ }
+
+ return NULL;
+}
+
+static void
+snmpstat_init(struct register_srt* srt _U_, GArray* srt_array)
+{
+ srt_stat_table *snmp_srt_table;
+ guint32 i;
+
+ snmp_srt_table = init_srt_table("SNMP Commands", NULL, srt_array, SNMP_NUM_PROCEDURES, NULL, "snmp.data", NULL);
+ for (i = 0; i < SNMP_NUM_PROCEDURES; i++)
+ {
+ init_srt_table_row(snmp_srt_table, i, val_to_str_const(i, snmp_procedure_names, "<unknown>"));
+ }
+}
+
+/* This is called only if request and response was matched -> no need to return anything than TAP_PACKET_REDRAW */
+static tap_packet_status
+snmpstat_packet(void *psnmp, packet_info *pinfo, epan_dissect_t *edt _U_, const void *psi, tap_flags_t flags _U_)
+{
+ guint i = 0;
+ srt_stat_table *snmp_srt_table;
+ const snmp_request_response_t *snmp=(const snmp_request_response_t *)psi;
+ srt_data_t *data = (srt_data_t *)psnmp;
+
+ snmp_srt_table = g_array_index(data->srt_array, srt_stat_table*, i);
+
+ add_srt_table_data(snmp_srt_table, snmp->request_procedure_id, &snmp->request_time, pinfo);
+ return TAP_PACKET_REDRAW;
+}
+
+static const gchar *
+snmp_lookup_specific_trap (guint specific_trap)
+{
+ guint i;
+
+ for (i = 0; i < num_specific_traps; i++) {
+ snmp_st_assoc_t *u = &(specific_traps[i]);
+
+ if ((u->trap == specific_trap) &&
+ (strcmp (u->enterprise, enterprise_oid) == 0))
+ {
+ return u->desc;
+ }
+ }
+
+ return NULL;
+}
+
+static int
+dissect_snmp_variable_string(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
+{
+
+ proto_tree_add_item(tree, hf_snmp_var_bind_str, tvb, 0, -1, ENC_ASCII);
+
+ return tvb_captured_length(tvb);
+}
+
+/*
+DateAndTime ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
+ STATUS current
+ DESCRIPTION
+ "A date-time specification.
+
+ field octets contents range
+ ----- ------ -------- -----
+ 1 1-2 year* 0..65536
+ 2 3 month 1..12
+ 3 4 day 1..31
+ 4 5 hour 0..23
+ 5 6 minutes 0..59
+ 6 7 seconds 0..60
+ (use 60 for leap-second)
+ 7 8 deci-seconds 0..9
+ 8 9 direction from UTC '+' / '-'
+ 9 10 hours from UTC* 0..13
+ 10 11 minutes from UTC 0..59
+
+ * Notes:
+ - the value of year is in network-byte order
+ - daylight saving time in New Zealand is +13
+
+ For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be
+ displayed as:
+
+ 1992-5-26,13:30:15.0,-4:0
+
+ Note that if only local time is known, then timezone
+ information (fields 8-10) is not present."
+ SYNTAX OCTET STRING (SIZE (8 | 11))
+*/
+static proto_item *
+dissect_snmp_variable_date_and_time(proto_tree *tree, packet_info *pinfo, int hfid, tvbuff_t *tvb, int offset, int length)
+{
+ guint16 year;
+ guint8 month;
+ guint8 day;
+ guint8 hour;
+ guint8 minutes;
+ guint8 seconds;
+ guint8 deci_seconds;
+ guint8 hour_from_utc;
+ guint8 min_from_utc;
+ gchar *str;
+
+ year = tvb_get_ntohs(tvb,offset);
+ month = tvb_get_guint8(tvb,offset+2);
+ day = tvb_get_guint8(tvb,offset+3);
+ hour = tvb_get_guint8(tvb,offset+4);
+ minutes = tvb_get_guint8(tvb,offset+5);
+ seconds = tvb_get_guint8(tvb,offset+6);
+ deci_seconds = tvb_get_guint8(tvb,offset+7);
+ if(length > 8){
+ hour_from_utc = tvb_get_guint8(tvb,offset+9);
+ min_from_utc = tvb_get_guint8(tvb,offset+10);
+
+ str = wmem_strdup_printf(pinfo->pool,
+ "%u-%u-%u, %u:%u:%u.%u UTC %s%u:%u",
+ year,
+ month,
+ day,
+ hour,
+ minutes,
+ seconds,
+ deci_seconds,
+ tvb_get_string_enc(pinfo->pool,tvb,offset+8,1,ENC_ASCII|ENC_NA),
+ hour_from_utc,
+ min_from_utc);
+ }else{
+ str = wmem_strdup_printf(pinfo->pool,
+ "%u-%u-%u, %u:%u:%u.%u",
+ year,
+ month,
+ day,
+ hour,
+ minutes,
+ seconds,
+ deci_seconds);
+ }
+
+ return proto_tree_add_string(tree, hfid, tvb, offset, length, str);
+
+}
+
+/*
+ * dissect_snmp_VarBind
+ * this routine dissects variable bindings, looking for the oid information in our oid reporsitory
+ * to format and add the value adequatelly.
+ *
+ * The choice to handwrite this code instead of using the asn compiler is to avoid having tons
+ * of uses of global variables distributed in very different parts of the code.
+ * Other than that there's a cosmetic thing: the tree from ASN generated code would be so
+ * convoluted due to the nesting of CHOICEs in the definition of VarBind/value.
+ *
+ * XXX: the length of this function (~400 lines) is an aberration!
+ * oid_key_t:key_type could become a series of callbacks instead of an enum
+ * the (! oid_info_is_ok) switch could be made into an array (would be slower)
+ *
+
+ NetworkAddress ::= CHOICE { internet IpAddress }
+ IpAddress ::= [APPLICATION 0] IMPLICIT OCTET STRING (SIZE (4))
+ TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER (0..4294967295)
+ Integer32 ::= INTEGER (-2147483648..2147483647)
+ ObjectName ::= OBJECT IDENTIFIER
+ Counter32 ::= [APPLICATION 1] IMPLICIT INTEGER (0..4294967295)
+ Gauge32 ::= [APPLICATION 2] IMPLICIT INTEGER (0..4294967295)
+ Unsigned32 ::= [APPLICATION 2] IMPLICIT INTEGER (0..4294967295)
+ Integer-value ::= INTEGER (-2147483648..2147483647)
+ Integer32 ::= INTEGER (-2147483648..2147483647)
+ ObjectID-value ::= OBJECT IDENTIFIER
+ Empty ::= NULL
+ TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER (0..4294967295)
+ Opaque ::= [APPLICATION 4] IMPLICIT OCTET STRING
+ Counter64 ::= [APPLICATION 6] IMPLICIT INTEGER (0..18446744073709551615)
+
+ ObjectSyntax ::= CHOICE {
+ simple SimpleSyntax,
+ application-wide ApplicationSyntax
+ }
+
+ SimpleSyntax ::= CHOICE {
+ integer-value Integer-value,
+ string-value String-value,
+ objectID-value ObjectID-value,
+ empty Empty
+ }
+
+ ApplicationSyntax ::= CHOICE {
+ ipAddress-value IpAddress,
+ counter-value Counter32,
+ timeticks-value TimeTicks,
+ arbitrary-value Opaque,
+ big-counter-value Counter64,
+ unsigned-integer-value Unsigned32
+ }
+
+ ValueType ::= CHOICE {
+ value ObjectSyntax,
+ unSpecified NULL,
+ noSuchObject[0] IMPLICIT NULL,
+ noSuchInstance[1] IMPLICIT NULL,
+ endOfMibView[2] IMPLICIT NULL
+ }
+
+ VarBind ::= SEQUENCE {
+ name ObjectName,
+ valueType ValueType
+ }
+
+ */
+
+static int
+dissect_snmp_VarBind(bool implicit_tag _U_, tvbuff_t *tvb, int offset,
+ asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_)
+{
+ int seq_offset, name_offset, value_offset, value_start;
+ guint32 seq_len, name_len, value_len;
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ bool ind;
+ guint32* subids;
+ guint8* oid_bytes;
+ oid_info_t* oid_info = NULL;
+ guint oid_matched, oid_left;
+ proto_item *pi_name, *pi_varbind, *pi_value = NULL;
+ proto_tree *pt, *pt_varbind, *pt_name, *pt_value;
+ char label[ITEM_LABEL_LENGTH];
+ const char* repr = NULL;
+ const char* info_oid = NULL;
+ char* valstr;
+ int hfid = -1;
+ int min_len = 0, max_len = 0;
+ bool oid_info_is_ok;
+ const char* oid_string = NULL;
+ enum {BER_NO_ERROR, BER_WRONG_LENGTH, BER_WRONG_TAG} format_error = BER_NO_ERROR;
+
+ seq_offset = offset;
+
+ /* first have the VarBind's sequence header */
+ offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &seq_len, &ind);
+
+ if (!pc && ber_class==BER_CLASS_UNI && tag==BER_UNI_TAG_SEQUENCE) {
+ proto_item* pi;
+ pt = proto_tree_add_subtree(tree, tvb, seq_offset, seq_len + (offset - seq_offset),
+ ett_decoding_error, &pi, "VarBind must be an universal class sequence");
+ expert_add_info(actx->pinfo, pi, &ei_snmp_varbind_not_uni_class_seq);
+ return dissect_unknown_ber(actx->pinfo, tvb, seq_offset, pt);
+ }
+
+ if (ind) {
+ proto_item* pi;
+ pt = proto_tree_add_subtree(tree, tvb, seq_offset, seq_len + (offset - seq_offset),
+ ett_decoding_error, &pi, "Indicator must be clear in VarBind");
+ expert_add_info(actx->pinfo, pi, &ei_snmp_varbind_has_indicator);
+ return dissect_unknown_ber(actx->pinfo, tvb, seq_offset, pt);
+ }
+
+ /* we add the varbind tree root with a dummy label we'll fill later on */
+ pt_varbind = proto_tree_add_subtree(tree,tvb,offset,seq_len,ett_varbind,&pi_varbind,"VarBind");
+ *label = '\0';
+
+ seq_len += offset - seq_offset;
+
+ /* then we have the ObjectName's header */
+
+ offset = dissect_ber_identifier(actx->pinfo, pt_varbind, tvb, offset, &ber_class, &pc, &tag);
+ name_offset = offset = dissect_ber_length(actx->pinfo, pt_varbind, tvb, offset, &name_len, &ind);
+
+ if (! ( !pc && ber_class==BER_CLASS_UNI && tag==BER_UNI_TAG_OID) ) {
+ proto_item* pi;
+ pt = proto_tree_add_subtree(tree, tvb, seq_offset, seq_len,
+ ett_decoding_error, &pi, "ObjectName must be an OID in primitive encoding");
+ expert_add_info(actx->pinfo, pi, &ei_snmp_objectname_not_oid);
+ return dissect_unknown_ber(actx->pinfo, tvb, seq_offset, pt);
+ }
+
+ if (ind) {
+ proto_item* pi;
+ pt = proto_tree_add_subtree(tree, tvb, seq_offset, seq_len,
+ ett_decoding_error, &pi, "Indicator must be clear in ObjectName");
+ expert_add_info(actx->pinfo, pi, &ei_snmp_objectname_has_indicator);
+ return dissect_unknown_ber(actx->pinfo, tvb, seq_offset, pt);
+ }
+
+ pi_name = proto_tree_add_item(pt_varbind,hf_snmp_objectname,tvb,name_offset,name_len,ENC_NA);
+ pt_name = proto_item_add_subtree(pi_name,ett_name);
+
+ offset += name_len;
+ value_start = offset;
+ /* then we have the value's header */
+ offset = dissect_ber_identifier(actx->pinfo, pt_varbind, tvb, offset, &ber_class, &pc, &tag);
+ value_offset = dissect_ber_length(actx->pinfo, pt_varbind, tvb, offset, &value_len, &ind);
+
+ if (! (!pc) ) {
+ proto_item* pi;
+ pt = proto_tree_add_subtree(pt_varbind, tvb, value_start, value_len,
+ ett_decoding_error, &pi, "the value must be in primitive encoding");
+ expert_add_info(actx->pinfo, pi, &ei_snmp_value_not_primitive_encoding);
+ return dissect_unknown_ber(actx->pinfo, tvb, value_start, pt);
+ }
+
+ /* Now, we know where everithing is */
+
+ /* fetch ObjectName and its relative oid_info */
+ oid_bytes = (guint8*)tvb_memdup(actx->pinfo->pool, tvb, name_offset, name_len);
+ oid_info = oid_get_from_encoded(actx->pinfo->pool, oid_bytes, name_len, &subids, &oid_matched, &oid_left);
+
+ add_oid_debug_subtree(oid_info,pt_name);
+
+ if (!subids) {
+ proto_item* pi;
+
+ repr = oid_encoded2string(actx->pinfo->pool, oid_bytes, name_len);
+ pt = proto_tree_add_subtree_format(pt_name,tvb, 0, 0, ett_decoding_error, &pi, "invalid oid: %s", repr);
+ expert_add_info_format(actx->pinfo, pi, &ei_snmp_invalid_oid, "invalid oid: %s", repr);
+ return dissect_unknown_ber(actx->pinfo, tvb, name_offset, pt);
+ }
+
+ if (oid_matched+oid_left) {
+ oid_string = oid_subid2string(actx->pinfo->pool, subids,oid_matched+oid_left);
+ }
+
+ if (ber_class == BER_CLASS_CON) {
+ /* if we have an error value just add it and get out the way ASAP */
+ proto_item* pi;
+ const char* note;
+
+ if (value_len != 0) {
+ min_len = max_len = 0;
+ format_error = BER_WRONG_LENGTH;
+ }
+
+ switch (tag) {
+ case SERR_NSO:
+ hfid = hf_snmp_noSuchObject;
+ note = "noSuchObject";
+ break;
+ case SERR_NSI:
+ hfid = hf_snmp_noSuchInstance;
+ note = "noSuchInstance";
+ break;
+ case SERR_EOM:
+ hfid = hf_snmp_endOfMibView;
+ note = "endOfMibView";
+ break;
+ default: {
+ pt = proto_tree_add_subtree_format(pt_varbind,tvb,0,0,ett_decoding_error,&pi,
+ "Wrong tag for Error Value: expected 0, 1, or 2 but got: %d",tag);
+ expert_add_info(actx->pinfo, pi, &ei_snmp_varbind_wrong_tag);
+ return dissect_unknown_ber(actx->pinfo, tvb, value_start, pt);
+ }
+ }
+
+ pi = proto_tree_add_item(pt_varbind,hfid,tvb,value_offset,value_len,ENC_BIG_ENDIAN);
+ expert_add_info_format(actx->pinfo, pi, &ei_snmp_varbind_response, "%s",note);
+ (void) g_strlcpy (label, note, ITEM_LABEL_LENGTH);
+ goto set_label;
+ }
+
+ /* now we'll try to figure out which are the indexing sub-oids and whether the oid we know about is the one oid we have to use */
+ switch (oid_info->kind) {
+ case OID_KIND_SCALAR:
+ if (oid_left == 1) {
+ /* OK: we got the instance sub-id */
+ proto_tree_add_uint64(pt_name,hf_snmp_scalar_instance_index,tvb,name_offset,name_len,subids[oid_matched]);
+ oid_info_is_ok = TRUE;
+ goto indexing_done;
+ } else if (oid_left == 0) {
+ if (ber_class == BER_CLASS_UNI && tag == BER_UNI_TAG_NULL) {
+ /* unSpecified does not require an instance sub-id add the new value and get off the way! */
+ pi_value = proto_tree_add_item(pt_varbind,hf_snmp_unSpecified,tvb,value_offset,value_len,ENC_NA);
+ goto set_label;
+ } else {
+ proto_tree_add_expert(pt_name,actx->pinfo,&ei_snmp_no_instance_subid,tvb,0,0);
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+ } else {
+ proto_tree_add_expert_format(pt_name,actx->pinfo,&ei_snmp_wrong_num_of_subids,tvb,0,0,"A scalar should have only one instance sub-id this has: %d",oid_left);
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+ break;
+ case OID_KIND_COLUMN:
+ if ( oid_info->parent->kind == OID_KIND_ROW) {
+ oid_key_t* k = oid_info->parent->key;
+ guint key_start = oid_matched;
+ guint key_len = oid_left;
+ oid_info_is_ok = TRUE;
+
+ if ( key_len == 0 && ber_class == BER_CLASS_UNI && tag == BER_UNI_TAG_NULL) {
+ /* unSpecified does not require an instance sub-id add the new value and get off the way! */
+ pi_value = proto_tree_add_item(pt_varbind,hf_snmp_unSpecified,tvb,value_offset,value_len,ENC_NA);
+ goto set_label;
+ }
+
+ if (k) {
+ for (;k;k = k->next) {
+ guint suboid_len;
+
+ if (key_start >= oid_matched+oid_left) {
+ proto_tree_add_expert(pt_name,actx->pinfo,&ei_snmp_index_suboid_too_short,tvb,0,0);
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+
+ switch(k->key_type) {
+ case OID_KEY_TYPE_WRONG: {
+ proto_tree_add_expert(pt_name,actx->pinfo,&ei_snmp_unimplemented_instance_index,tvb,0,0);
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+ case OID_KEY_TYPE_INTEGER: {
+ if (FT_IS_INT(k->ft_type)) {
+ proto_tree_add_int(pt_name,k->hfid,tvb,name_offset,name_len,(guint)subids[key_start]);
+ } else { /* if it's not an unsigned int let proto_tree_add_uint throw a warning */
+ proto_tree_add_uint64(pt_name,k->hfid,tvb,name_offset,name_len,(guint)subids[key_start]);
+ }
+ key_start++;
+ key_len--;
+ continue; /* k->next */
+ }
+ case OID_KEY_TYPE_IMPLIED_OID:
+ suboid_len = key_len;
+
+ goto show_oid_index;
+
+ case OID_KEY_TYPE_OID: {
+ guint8* suboid_buf;
+ guint suboid_buf_len;
+ guint32* suboid;
+
+ suboid_len = subids[key_start++];
+ key_len--;
+
+show_oid_index:
+ suboid = &(subids[key_start]);
+
+ if( suboid_len == 0 ) {
+ proto_tree_add_expert(pt_name,actx->pinfo,&ei_snmp_index_suboid_len0,tvb,0,0);
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+
+ if( key_len < suboid_len ) {
+ proto_tree_add_expert(pt_name,actx->pinfo,&ei_snmp_index_suboid_too_long,tvb,0,0);
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+
+ suboid_buf_len = oid_subid2encoded(actx->pinfo->pool, suboid_len, suboid, &suboid_buf);
+
+ DISSECTOR_ASSERT(suboid_buf_len);
+
+ proto_tree_add_oid(pt_name,k->hfid,tvb,name_offset, suboid_buf_len, suboid_buf);
+
+ key_start += suboid_len;
+ key_len -= suboid_len + 1;
+ continue; /* k->next */
+ }
+ default: {
+ guint8* buf;
+ guint buf_len;
+ guint32* suboid;
+ guint i;
+
+
+ switch (k->key_type) {
+ case OID_KEY_TYPE_IPADDR:
+ suboid = &(subids[key_start]);
+ buf_len = 4;
+ break;
+ case OID_KEY_TYPE_IMPLIED_STRING:
+ case OID_KEY_TYPE_IMPLIED_BYTES:
+ case OID_KEY_TYPE_ETHER:
+ suboid = &(subids[key_start]);
+ buf_len = key_len;
+ break;
+ default:
+ buf_len = k->num_subids;
+ suboid = &(subids[key_start]);
+
+ if(!buf_len) {
+ buf_len = *suboid++;
+ key_len--;
+ key_start++;
+ }
+ break;
+ }
+
+ if( key_len < buf_len ) {
+ proto_tree_add_expert(pt_name,actx->pinfo,&ei_snmp_index_string_too_long,tvb,0,0);
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+
+ buf = (guint8*)wmem_alloc(actx->pinfo->pool, buf_len+1);
+ for (i = 0; i < buf_len; i++)
+ buf[i] = (guint8)suboid[i];
+ buf[i] = '\0';
+
+ switch(k->key_type) {
+ case OID_KEY_TYPE_STRING:
+ case OID_KEY_TYPE_IMPLIED_STRING:
+ proto_tree_add_string(pt_name,k->hfid,tvb,name_offset,buf_len, buf);
+ break;
+ case OID_KEY_TYPE_BYTES:
+ case OID_KEY_TYPE_NSAP:
+ case OID_KEY_TYPE_IMPLIED_BYTES:
+ proto_tree_add_bytes(pt_name,k->hfid,tvb,name_offset,buf_len, buf);
+ break;
+ case OID_KEY_TYPE_ETHER:
+ proto_tree_add_ether(pt_name,k->hfid,tvb,name_offset,buf_len, buf);
+ break;
+ case OID_KEY_TYPE_IPADDR: {
+ guint32* ipv4_p = (guint32*)buf;
+ proto_tree_add_ipv4(pt_name,k->hfid,tvb,name_offset,buf_len, *ipv4_p);
+ }
+ break;
+ default:
+ DISSECTOR_ASSERT_NOT_REACHED();
+ break;
+ }
+
+ key_start += buf_len;
+ key_len -= buf_len;
+ continue; /* k->next*/
+ }
+ }
+ }
+ goto indexing_done;
+ } else {
+ proto_tree_add_expert(pt_name,actx->pinfo,&ei_snmp_unimplemented_instance_index,tvb,0,0);
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+ } else {
+ proto_tree_add_expert(pt_name,actx->pinfo,&ei_snmp_column_parent_not_row,tvb,0,0);
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+ default: {
+/* proto_tree_add_expert (pt_name,actx->pinfo,PI_MALFORMED, PI_WARN,tvb,0,0,"This kind OID should have no value"); */
+ oid_info_is_ok = FALSE;
+ goto indexing_done;
+ }
+ }
+indexing_done:
+
+ if (oid_info_is_ok && oid_info->value_type) {
+ if (ber_class == BER_CLASS_UNI && tag == BER_UNI_TAG_NULL) {
+ pi_value = proto_tree_add_item(pt_varbind,hf_snmp_unSpecified,tvb,value_offset,value_len,ENC_NA);
+ } else {
+ /* Provide a tree_item to attach errors to, if needed. */
+ pi_value = pi_name;
+
+ if ((oid_info->value_type->ber_class != BER_CLASS_ANY) &&
+ (ber_class != oid_info->value_type->ber_class))
+ format_error = BER_WRONG_TAG;
+ else if ((oid_info->value_type->ber_tag != BER_TAG_ANY) &&
+ (tag != oid_info->value_type->ber_tag))
+ format_error = BER_WRONG_TAG;
+ else {
+ max_len = oid_info->value_type->max_len == -1 ? 0xffffff : oid_info->value_type->max_len;
+ min_len = oid_info->value_type->min_len;
+
+ if ((int)value_len < min_len || (int)value_len > max_len)
+ format_error = BER_WRONG_LENGTH;
+ }
+
+ if (format_error == BER_NO_ERROR) {
+ /* Special case DATE AND TIME */
+ if((oid_info->value_type)&&(oid_info->value_type->keytype == OID_KEY_TYPE_DATE_AND_TIME)&&(value_len > 7)){
+ pi_value = dissect_snmp_variable_date_and_time(pt_varbind, actx->pinfo, oid_info->value_hfid, tvb, value_offset, value_len);
+ } else {
+ pi_value = proto_tree_add_item(pt_varbind,oid_info->value_hfid,tvb,value_offset,value_len,ENC_BIG_ENDIAN);
+ }
+ }
+ }
+ } else {
+ switch(ber_class|(tag<<4)) {
+ case BER_CLASS_UNI|(BER_UNI_TAG_INTEGER<<4):
+ {
+ gint64 val=0;
+ unsigned int int_val_offset = value_offset;
+ unsigned int i;
+
+ max_len = 4; min_len = 1;
+ if (value_len > (guint)max_len || value_len < (guint)min_len) {
+ hfid = hf_snmp_integer32_value;
+ format_error = BER_WRONG_LENGTH;
+ break;
+ }
+
+ if(value_len > 0) {
+ /* extend sign bit */
+ if(tvb_get_guint8(tvb, int_val_offset)&0x80) {
+ val=-1;
+ }
+ for(i=0;i<value_len;i++) {
+ val=(val<<8)|tvb_get_guint8(tvb, int_val_offset);
+ int_val_offset++;
+ }
+ }
+ pi_value = proto_tree_add_int64(pt_varbind, hf_snmp_integer32_value, tvb,value_offset,value_len, val);
+
+ goto already_added;
+ }
+ case BER_CLASS_UNI|(BER_UNI_TAG_OCTETSTRING<<4):
+ if(oid_info->value_hfid> -1){
+ hfid = oid_info->value_hfid;
+ }else{
+ hfid = hf_snmp_octetstring_value;
+ }
+ break;
+ case BER_CLASS_UNI|(BER_UNI_TAG_OID<<4):
+ max_len = -1; min_len = 1;
+ if (value_len < (guint)min_len) format_error = BER_WRONG_LENGTH;
+ hfid = hf_snmp_oid_value;
+ break;
+ case BER_CLASS_UNI|(BER_UNI_TAG_NULL<<4):
+ max_len = 0; min_len = 0;
+ if (value_len != 0) format_error = BER_WRONG_LENGTH;
+ hfid = hf_snmp_null_value;
+ break;
+ case BER_CLASS_APP: /* | (SNMP_IPA<<4)*/
+ switch(value_len) {
+ case 4: hfid = hf_snmp_ipv4_value; break;
+ case 16: hfid = hf_snmp_ipv6_value; break;
+ default: hfid = hf_snmp_anyaddress_value; break;
+ }
+ break;
+ case BER_CLASS_APP|(SNMP_U32<<4):
+ hfid = hf_snmp_unsigned32_value;
+ break;
+ case BER_CLASS_APP|(SNMP_GGE<<4):
+ hfid = hf_snmp_gauge32_value;
+ break;
+ case BER_CLASS_APP|(SNMP_CNT<<4):
+ hfid = hf_snmp_counter_value;
+ break;
+ case BER_CLASS_APP|(SNMP_TIT<<4):
+ hfid = hf_snmp_timeticks_value;
+ break;
+ case BER_CLASS_APP|(SNMP_OPQ<<4):
+ hfid = hf_snmp_opaque_value;
+ break;
+ case BER_CLASS_APP|(SNMP_NSP<<4):
+ hfid = hf_snmp_nsap_value;
+ break;
+ case BER_CLASS_APP|(SNMP_C64<<4):
+ hfid = hf_snmp_big_counter_value;
+ break;
+ default:
+ hfid = hf_snmp_unknown_value;
+ break;
+ }
+ if (value_len > 8) {
+ /*
+ * Too long for an FT_UINT64 or an FT_INT64.
+ */
+ header_field_info *hfinfo = proto_registrar_get_nth(hfid);
+ if (hfinfo->type == FT_UINT64) {
+ /*
+ * Check if this is an unsigned int64 with
+ * a big value.
+ */
+ if (value_len > 9 || tvb_get_guint8(tvb, value_offset) != 0) {
+ /* It is. Fail. */
+ proto_tree_add_expert_format(pt_varbind,actx->pinfo,&ei_snmp_uint_too_large,tvb,value_offset,value_len,"Integral value too large");
+ goto already_added;
+ }
+ /* Cheat and skip the leading 0 byte */
+ value_len--;
+ value_offset++;
+ } else if (hfinfo->type == FT_INT64) {
+ /*
+ * For now, just reject these.
+ */
+ proto_tree_add_expert_format(pt_varbind,actx->pinfo,&ei_snmp_int_too_large,tvb,value_offset,value_len,"Integral value too large or too small");
+ goto already_added;
+ }
+ } else if (value_len == 0) {
+ /*
+ * X.690 section 8.3.1 "Encoding of an integer value":
+ * "The encoding of an integer value shall be
+ * primitive. The contents octets shall consist of
+ * one or more octets."
+ *
+ * Zero is not "one or more".
+ */
+ header_field_info *hfinfo = proto_registrar_get_nth(hfid);
+ if (hfinfo->type == FT_UINT64 || hfinfo->type == FT_INT64) {
+ proto_tree_add_expert_format(pt_varbind,actx->pinfo,&ei_snmp_integral_value0,tvb,value_offset,value_len,"Integral value is zero-length");
+ goto already_added;
+ }
+ }
+ /* Special case DATE AND TIME */
+ if((oid_info->value_type)&&(oid_info->value_type->keytype == OID_KEY_TYPE_DATE_AND_TIME)&&(value_len > 7)){
+ pi_value = dissect_snmp_variable_date_and_time(pt_varbind, actx->pinfo, hfid, tvb, value_offset, value_len);
+ }else{
+ pi_value = proto_tree_add_item(pt_varbind,hfid,tvb,value_offset,value_len,ENC_BIG_ENDIAN);
+ }
+ if (format_error != BER_NO_ERROR) {
+ expert_add_info(actx->pinfo, pi_value, &ei_snmp_missing_mib);
+ }
+
+ }
+already_added:
+ pt_value = proto_item_add_subtree(pi_value,ett_value);
+
+ if (value_len > 0 && oid_string) {
+ tvbuff_t* sub_tvb = tvb_new_subset_length(tvb, value_offset, value_len);
+
+ next_tvb_add_string(var_list, sub_tvb, (snmp_var_in_tree) ? pt_value : NULL, value_sub_dissectors_table, oid_string);
+ }
+
+
+set_label:
+ if (pi_value) proto_item_fill_label(PITEM_FINFO(pi_value), label);
+
+ if (oid_info && oid_info->name) {
+ if (oid_left >= 1) {
+ repr = wmem_strdup_printf(actx->pinfo->pool, "%s.%s (%s)", oid_info->name,
+ oid_subid2string(actx->pinfo->pool, &(subids[oid_matched]),oid_left),
+ oid_subid2string(actx->pinfo->pool, subids,oid_matched+oid_left));
+ info_oid = wmem_strdup_printf(actx->pinfo->pool, "%s.%s", oid_info->name,
+ oid_subid2string(actx->pinfo->pool, &(subids[oid_matched]),oid_left));
+ } else {
+ repr = wmem_strdup_printf(actx->pinfo->pool, "%s (%s)", oid_info->name,
+ oid_subid2string(actx->pinfo->pool, subids,oid_matched));
+ info_oid = oid_info->name;
+ }
+ } else if (oid_string) {
+ repr = wmem_strdup(actx->pinfo->pool, oid_string);
+ info_oid = oid_string;
+ } else {
+ repr = wmem_strdup(actx->pinfo->pool, "[Bad OID]");
+ }
+
+ valstr = strstr(label,": ");
+ valstr = valstr ? valstr+2 : label;
+
+ proto_item_set_text(pi_varbind,"%s: %s",repr,valstr);
+
+ if (display_oid && info_oid) {
+ col_append_fstr (actx->pinfo->cinfo, COL_INFO, " %s", info_oid);
+ }
+
+ switch (format_error) {
+ case BER_WRONG_LENGTH: {
+ proto_item* pi;
+ proto_tree* p_tree = proto_item_add_subtree(pi_value,ett_decoding_error);
+ pt = proto_tree_add_subtree_format(p_tree,tvb,0,0,ett_decoding_error,&pi,
+ "Wrong value length: %u expecting: %u <= len <= %u",
+ value_len, min_len, max_len == -1 ? 0xFFFFFF : max_len);
+ expert_add_info(actx->pinfo, pi, &ei_snmp_varbind_wrong_length_value);
+ return dissect_unknown_ber(actx->pinfo, tvb, value_start, pt);
+ }
+ case BER_WRONG_TAG: {
+ proto_item* pi;
+ proto_tree* p_tree = proto_item_add_subtree(pi_value,ett_decoding_error);
+ pt = proto_tree_add_subtree_format(p_tree,tvb,0,0,ett_decoding_error,&pi,
+ "Wrong class/tag for Value expected: %d,%d got: %d,%d",
+ oid_info->value_type->ber_class, oid_info->value_type->ber_tag,
+ ber_class, tag);
+ expert_add_info(actx->pinfo, pi, &ei_snmp_varbind_wrong_class_tag);
+ return dissect_unknown_ber(actx->pinfo, tvb, value_start, pt);
+ }
+ default:
+ break;
+ }
+
+ return seq_offset + seq_len;
+}
+
+
+#define F_SNMP_ENGINEID_CONFORM 0x80
+#define SNMP_ENGINEID_RFC1910 0x00
+#define SNMP_ENGINEID_RFC3411 0x01
+
+static const true_false_string tfs_snmp_engineid_conform = {
+ "RFC3411 (SNMPv3)",
+ "RFC1910 (Non-SNMPv3)"
+};
+
+#define SNMP_ENGINEID_FORMAT_IPV4 0x01
+#define SNMP_ENGINEID_FORMAT_IPV6 0x02
+#define SNMP_ENGINEID_FORMAT_MACADDRESS 0x03
+#define SNMP_ENGINEID_FORMAT_TEXT 0x04
+#define SNMP_ENGINEID_FORMAT_OCTETS 0x05
+
+static const value_string snmp_engineid_format_vals[] = {
+ { SNMP_ENGINEID_FORMAT_IPV4, "IPv4 address" },
+ { SNMP_ENGINEID_FORMAT_IPV6, "IPv6 address" },
+ { SNMP_ENGINEID_FORMAT_MACADDRESS, "MAC address" },
+ { SNMP_ENGINEID_FORMAT_TEXT, "Text, administratively assigned" },
+ { SNMP_ENGINEID_FORMAT_OCTETS, "Octets, administratively assigned" },
+ { 0, NULL }
+};
+
+#define SNMP_ENGINEID_CISCO_AGENT 0x00
+#define SNMP_ENGINEID_CISCO_MANAGER 0x01
+
+static const value_string snmp_engineid_cisco_type_vals[] = {
+ { SNMP_ENGINEID_CISCO_AGENT, "Agent" },
+ { SNMP_ENGINEID_CISCO_MANAGER, "Manager" },
+ { 0, NULL }
+};
+
+/*
+ * SNMP Engine ID dissection according to RFC 3411 (SnmpEngineID TC)
+ * or historic RFC 1910 (AgentID)
+ */
+int
+dissect_snmp_engineid(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, int offset, int len)
+{
+ proto_item *item = NULL;
+ guint8 conformance, format;
+ guint32 enterpriseid;
+ time_t seconds;
+ nstime_t ts;
+ int len_remain = len;
+
+ /* first bit: engine id conformance */
+ if (len_remain<1) return offset;
+ conformance = ((tvb_get_guint8(tvb, offset)>>7) & 0x01);
+ proto_tree_add_item(tree, hf_snmp_engineid_conform, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+ /* 4-byte enterprise number/name */
+ if (len_remain<4) return offset;
+ enterpriseid = tvb_get_ntohl(tvb, offset);
+ if (conformance)
+ enterpriseid -= 0x80000000; /* ignore first bit */
+ proto_tree_add_uint(tree, hf_snmp_engineid_enterprise, tvb, offset, 4, enterpriseid);
+ offset+=4;
+ len_remain-=4;
+
+ switch(conformance) {
+
+ case SNMP_ENGINEID_RFC1910:
+ /* 12-byte AgentID w/ 8-byte trailer */
+ if (len_remain==8) {
+ proto_tree_add_item(tree, hf_snmp_agentid_trailer, tvb, offset, 8, ENC_NA);
+ offset+=8;
+ len_remain-=8;
+ } else {
+ proto_tree_add_expert(tree, pinfo, &ei_snmp_rfc1910_non_conformant, tvb, offset, len_remain);
+ return offset;
+ }
+ break;
+
+ case SNMP_ENGINEID_RFC3411: /* variable length: 5..32 */
+
+ /* 1-byte format specifier */
+ if (len_remain<1) return offset;
+ format = tvb_get_guint8(tvb, offset);
+ item = proto_tree_add_uint_format(tree, hf_snmp_engineid_format, tvb, offset, 1, format, "Engine ID Format: %s (%d)",
+ val_to_str_const(format, snmp_engineid_format_vals, "Reserved/Enterprise-specific"),
+ format);
+ offset+=1;
+ len_remain-=1;
+
+ switch(format) {
+ case SNMP_ENGINEID_FORMAT_IPV4:
+ /* 4-byte IPv4 address */
+ if (len_remain==4) {
+ proto_tree_add_item(tree, hf_snmp_engineid_ipv4, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset+=4;
+ len_remain=0;
+ }
+ break;
+ case SNMP_ENGINEID_FORMAT_IPV6:
+ /* 16-byte IPv6 address */
+ if (len_remain==16) {
+ proto_tree_add_item(tree, hf_snmp_engineid_ipv6, tvb, offset, 16, ENC_NA);
+ offset+=16;
+ len_remain=0;
+ }
+ break;
+ case SNMP_ENGINEID_FORMAT_MACADDRESS:
+ /* See: https://supportforums.cisco.com/message/3010617#3010617 for details. */
+ if ((enterpriseid==9)&&(len_remain==7)) {
+ proto_tree_add_item(tree, hf_snmp_engineid_cisco_type, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ len_remain--;
+ }
+ /* 6-byte MAC address */
+ if (len_remain==6) {
+ proto_tree_add_item(tree, hf_snmp_engineid_mac, tvb, offset, 6, ENC_NA);
+ offset+=6;
+ len_remain=0;
+ }
+ break;
+ case SNMP_ENGINEID_FORMAT_TEXT:
+ /* max. 27-byte string, administratively assigned */
+ if (len_remain<=27) {
+ proto_tree_add_item(tree, hf_snmp_engineid_text, tvb, offset, len_remain, ENC_ASCII);
+ offset+=len_remain;
+ len_remain=0;
+ }
+ break;
+ case 128:
+ /* most common enterprise-specific format: (ucd|net)-snmp random */
+ if ((enterpriseid==2021)||(enterpriseid==8072)) {
+ proto_item_append_text(item, (enterpriseid==2021) ? ": UCD-SNMP Random" : ": Net-SNMP Random");
+ /* demystify: 4B random, 4B/8B epoch seconds */
+ if ((len_remain==8) || (len_remain==12)) {
+ proto_tree_add_item(tree, hf_snmp_engineid_data, tvb, offset, 4, ENC_NA);
+ if (len_remain==8) {
+ seconds = (time_t)tvb_get_letohl(tvb, offset + 4);
+ } else {
+ seconds = (time_t)tvb_get_letohi64(tvb, offset + 4);
+ }
+ ts.secs = seconds;
+ ts.nsecs = 0;
+ proto_tree_add_time_format_value(tree, hf_snmp_engineid_time, tvb, offset + 4, len_remain - 4,
+ &ts, "%s",
+ abs_time_secs_to_str(pinfo->pool, seconds, ABSOLUTE_TIME_LOCAL, TRUE));
+ offset+=len_remain;
+ len_remain=0;
+ }
+ break;
+ }
+ /* fall through */
+ case SNMP_ENGINEID_FORMAT_OCTETS:
+ default:
+ /* max. 27 bytes, administratively assigned or unknown format */
+ if (len_remain<=27) {
+ proto_tree_add_item(tree, hf_snmp_engineid_data, tvb, offset, len_remain, ENC_NA);
+ offset+=len_remain;
+ len_remain=0;
+ }
+ break;
+ }
+ }
+
+ if (len_remain>0) {
+ proto_tree_add_expert(tree, pinfo, &ei_snmp_rfc3411_non_conformant, tvb, offset, len_remain);
+ offset+=len_remain;
+ }
+ return offset;
+}
+
+
+static void set_ue_keys(snmp_ue_assoc_t* n ) {
+ guint key_size = auth_hash_len[n->user.authModel];
+
+ n->user.authKey.data = (guint8 *)g_malloc(key_size);
+ n->user.authKey.len = key_size;
+ snmp_usm_password_to_key(n->user.authModel,
+ n->user.authPassword.data,
+ n->user.authPassword.len,
+ n->engine.data,
+ n->engine.len,
+ n->user.authKey.data);
+
+ if (n->priv_proto == PRIV_AES128 || n->priv_proto == PRIV_AES192 || n->priv_proto == PRIV_AES256) {
+ guint need_key_len =
+ (n->priv_proto == PRIV_AES128) ? 16 :
+ (n->priv_proto == PRIV_AES192) ? 24 :
+ (n->priv_proto == PRIV_AES256) ? 32 :
+ 0;
+
+ guint key_len = key_size;
+
+ while (key_len < need_key_len)
+ key_len += key_size;
+
+ n->user.privKey.data = (guint8 *)g_malloc(key_len);
+ n->user.privKey.len = need_key_len;
+
+ snmp_usm_password_to_key(n->user.authModel,
+ n->user.privPassword.data,
+ n->user.privPassword.len,
+ n->engine.data,
+ n->engine.len,
+ n->user.privKey.data);
+
+ key_len = key_size;
+
+ /* extend key if needed */
+ while (key_len < need_key_len) {
+ snmp_usm_password_to_key(n->user.authModel,
+ n->user.privKey.data,
+ key_len,
+ n->engine.data,
+ n->engine.len,
+ n->user.privKey.data + key_len);
+
+ key_len += key_size;
+ }
+
+ } else {
+ n->user.privKey.data = (guint8 *)g_malloc(key_size);
+ n->user.privKey.len = key_size;
+ snmp_usm_password_to_key(n->user.authModel,
+ n->user.privPassword.data,
+ n->user.privPassword.len,
+ n->engine.data,
+ n->engine.len,
+ n->user.privKey.data);
+ }
+}
+
+static snmp_ue_assoc_t*
+ue_dup(snmp_ue_assoc_t* o)
+{
+ snmp_ue_assoc_t* d = (snmp_ue_assoc_t*)g_memdup2(o,sizeof(snmp_ue_assoc_t));
+
+ d->user.authModel = o->user.authModel;
+
+ d->user.privProtocol = o->user.privProtocol;
+
+ d->user.userName.data = (guint8 *)g_memdup2(o->user.userName.data,o->user.userName.len);
+ d->user.userName.len = o->user.userName.len;
+
+ d->user.authPassword.data = o->user.authPassword.data ? (guint8 *)g_memdup2(o->user.authPassword.data,o->user.authPassword.len) : NULL;
+ d->user.authPassword.len = o->user.authPassword.len;
+
+ d->user.privPassword.data = o->user.privPassword.data ? (guint8 *)g_memdup2(o->user.privPassword.data,o->user.privPassword.len) : NULL;
+ d->user.privPassword.len = o->user.privPassword.len;
+
+ d->engine.len = o->engine.len;
+
+ if (d->engine.len) {
+ d->engine.data = (guint8 *)g_memdup2(o->engine.data,o->engine.len);
+ set_ue_keys(d);
+ }
+
+ return d;
+
+}
+
+static void*
+snmp_users_copy_cb(void* dest, const void* orig, size_t len _U_)
+{
+ const snmp_ue_assoc_t* o = (const snmp_ue_assoc_t*)orig;
+ snmp_ue_assoc_t* d = (snmp_ue_assoc_t*)dest;
+
+ d->auth_model = o->auth_model;
+ d->user.authModel = (snmp_usm_auth_model_t) o->auth_model;
+
+ d->priv_proto = o->priv_proto;
+ d->user.privProtocol = priv_protos[o->priv_proto];
+
+ d->user.userName.data = (guint8*)g_memdup2(o->user.userName.data,o->user.userName.len);
+ d->user.userName.len = o->user.userName.len;
+
+ d->user.authPassword.data = o->user.authPassword.data ? (guint8*)g_memdup2(o->user.authPassword.data,o->user.authPassword.len) : NULL;
+ d->user.authPassword.len = o->user.authPassword.len;
+
+ d->user.privPassword.data = o->user.privPassword.data ? (guint8*)g_memdup2(o->user.privPassword.data,o->user.privPassword.len) : NULL;
+ d->user.privPassword.len = o->user.privPassword.len;
+
+ d->engine.len = o->engine.len;
+ if (o->engine.data) {
+ d->engine.data = (guint8*)g_memdup2(o->engine.data,o->engine.len);
+ }
+
+ d->user.authKey.data = o->user.authKey.data ? (guint8*)g_memdup2(o->user.authKey.data,o->user.authKey.len) : NULL;
+ d->user.authKey.len = o->user.authKey.len;
+
+ d->user.privKey.data = o->user.privKey.data ? (guint8*)g_memdup2(o->user.privKey.data,o->user.privKey.len) : NULL;
+ d->user.privKey.len = o->user.privKey.len;
+
+ return d;
+}
+
+static void
+snmp_users_free_cb(void* p)
+{
+ snmp_ue_assoc_t* ue = (snmp_ue_assoc_t*)p;
+ g_free(ue->user.userName.data);
+ g_free(ue->user.authPassword.data);
+ g_free(ue->user.privPassword.data);
+ g_free(ue->user.authKey.data);
+ g_free(ue->user.privKey.data);
+ g_free(ue->engine.data);
+}
+
+static bool
+snmp_users_update_cb(void* p _U_, char** err)
+{
+ snmp_ue_assoc_t* ue = (snmp_ue_assoc_t*)p;
+ GString* es = g_string_new("");
+ unsigned int i;
+
+ *err = NULL;
+
+ if (! ue->user.userName.len) {
+ g_string_append_printf(es,"no userName\n");
+ } else if ((ue->engine.len > 0) && (ue->engine.len < 5 || ue->engine.len > 32)) {
+ /* RFC 3411 section 5 */
+ g_string_append_printf(es, "Invalid engineId length (%u). Must be between 5 and 32 (10 and 64 hex digits)\n", ue->engine.len);
+ } else if (num_ueas) {
+ for (i=0; i<num_ueas-1; i++) {
+ snmp_ue_assoc_t* u = &(ueas[i]);
+
+ if ( u->user.userName.len == ue->user.userName.len
+ && u->engine.len == ue->engine.len && (u != ue)) {
+
+ if (u->engine.len > 0 && memcmp( u->engine.data, ue->engine.data, u->engine.len ) == 0) {
+ if ( memcmp( u->user.userName.data, ue->user.userName.data, ue->user.userName.len ) == 0 ) {
+ /* XXX: make a string for the engineId */
+ g_string_append_printf(es,"Duplicate key (userName='%s')\n",ue->user.userName.data);
+ break;
+ }
+ }
+
+ if (u->engine.len == 0) {
+ if ( memcmp( u->user.userName.data, ue->user.userName.data, ue->user.userName.len ) == 0 ) {
+ g_string_append_printf(es,"Duplicate key (userName='%s' engineId=NONE)\n",ue->user.userName.data);
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ if (es->len) {
+ es = g_string_truncate(es,es->len-1);
+ *err = g_string_free(es, FALSE);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static void
+free_ue_cache(snmp_ue_assoc_t **cache)
+{
+ static snmp_ue_assoc_t *a, *nxt;
+
+ for (a = *cache; a; a = nxt) {
+ nxt = a->next;
+ snmp_users_free_cb(a);
+ g_free(a);
+ }
+
+ *cache = NULL;
+}
+
+#define CACHE_INSERT(c,a) if (c) { snmp_ue_assoc_t* t = c; c = a; c->next = t; } else { c = a; a->next = NULL; }
+
+static void
+init_ue_cache(void)
+{
+ guint i;
+
+ for (i = 0; i < num_ueas; i++) {
+ snmp_ue_assoc_t* a = ue_dup(&(ueas[i]));
+
+ if (a->engine.len) {
+ CACHE_INSERT(localized_ues,a);
+
+ } else {
+ CACHE_INSERT(unlocalized_ues,a);
+ }
+
+ }
+}
+
+static void
+cleanup_ue_cache(void)
+{
+ free_ue_cache(&localized_ues);
+ free_ue_cache(&unlocalized_ues);
+}
+
+/* Called when the user applies changes to UAT preferences. */
+static void
+renew_ue_cache(void)
+{
+ cleanup_ue_cache();
+ init_ue_cache();
+}
+
+
+static snmp_ue_assoc_t*
+localize_ue( snmp_ue_assoc_t* o, const guint8* engine, guint engine_len )
+{
+ snmp_ue_assoc_t* n = (snmp_ue_assoc_t*)g_memdup2(o,sizeof(snmp_ue_assoc_t));
+
+ n->user.userName.data = (guint8*)g_memdup2(o->user.userName.data,o->user.userName.len);
+ n->user.authModel = o->user.authModel;
+ n->user.authPassword.data = (guint8*)g_memdup2(o->user.authPassword.data,o->user.authPassword.len);
+ n->user.authPassword.len = o->user.authPassword.len;
+ n->user.privPassword.data = (guint8*)g_memdup2(o->user.privPassword.data,o->user.privPassword.len);
+ n->user.privPassword.len = o->user.privPassword.len;
+ n->user.authKey.data = (guint8*)g_memdup2(o->user.authKey.data,o->user.authKey.len);
+ n->user.privKey.data = (guint8*)g_memdup2(o->user.privKey.data,o->user.privKey.len);
+ n->engine.data = (guint8*)g_memdup2(engine,engine_len);
+ n->engine.len = engine_len;
+ n->priv_proto = o->priv_proto;
+
+ set_ue_keys(n);
+
+ return n;
+}
+
+
+#define localized_match(a,u,ul,e,el) \
+ ( a->user.userName.len == ul \
+ && a->engine.len == el \
+ && memcmp( a->user.userName.data, u, ul ) == 0 \
+ && memcmp( a->engine.data, e, el ) == 0 )
+
+#define unlocalized_match(a,u,l) \
+ ( a->user.userName.len == l && memcmp( a->user.userName.data, u, l) == 0 )
+
+static snmp_ue_assoc_t*
+get_user_assoc(tvbuff_t* engine_tvb, tvbuff_t* user_tvb, packet_info *pinfo)
+{
+ static snmp_ue_assoc_t* a;
+ guint given_username_len;
+ guint8* given_username;
+ guint given_engine_len = 0;
+ guint8* given_engine = NULL;
+
+ if ( ! (localized_ues || unlocalized_ues ) ) return NULL;
+
+ if (! ( user_tvb && engine_tvb ) ) return NULL;
+
+ given_username_len = tvb_captured_length(user_tvb);
+ given_engine_len = tvb_captured_length(engine_tvb);
+ if (! ( given_engine_len && given_username_len ) ) return NULL;
+ given_username = (guint8*)tvb_memdup(pinfo->pool,user_tvb,0,-1);
+ given_engine = (guint8*)tvb_memdup(pinfo->pool,engine_tvb,0,-1);
+
+ for (a = localized_ues; a; a = a->next) {
+ if ( localized_match(a, given_username, given_username_len, given_engine, given_engine_len) ) {
+ return a;
+ }
+ }
+
+ for (a = unlocalized_ues; a; a = a->next) {
+ if ( unlocalized_match(a, given_username, given_username_len) ) {
+ snmp_ue_assoc_t* n = localize_ue( a, given_engine, given_engine_len );
+ CACHE_INSERT(localized_ues,n);
+ return n;
+ }
+ }
+
+ return NULL;
+}
+
+static bool
+snmp_usm_auth(const packet_info *pinfo, const snmp_usm_auth_model_t model, snmp_usm_params_t* p, guint8** calc_auth_p,
+ guint* calc_auth_len_p, gchar const** error)
+{
+ gint msg_len;
+ guint8* msg;
+ guint auth_len;
+ guint8* auth;
+ guint8* key;
+ guint key_len;
+ guint8 *calc_auth;
+ guint start;
+ guint end;
+ guint i;
+
+ if (!p->auth_tvb) {
+ *error = "No Authenticator";
+ return FALSE;
+ }
+
+ key = p->user_assoc->user.authKey.data;
+ key_len = p->user_assoc->user.authKey.len;
+
+ if (! key ) {
+ *error = "User has no authKey";
+ return FALSE;
+ }
+
+ auth_len = tvb_captured_length(p->auth_tvb);
+
+ if (auth_len != auth_tag_len[model]) {
+ *error = "Authenticator length wrong";
+ return FALSE;
+ }
+
+ msg_len = tvb_captured_length(p->msg_tvb);
+ if (msg_len <= 0) {
+ *error = "Not enough data remaining";
+ return FALSE;
+ }
+ msg = (guint8*)tvb_memdup(pinfo->pool,p->msg_tvb,0,msg_len);
+
+ auth = (guint8*)tvb_memdup(pinfo->pool,p->auth_tvb,0,auth_len);
+
+ start = p->auth_offset - p->start_offset;
+ end = start + auth_len;
+
+ /* fill the authenticator with zeros */
+ for ( i = start ; i < end ; i++ ) {
+ msg[i] = '\0';
+ }
+
+ calc_auth = (guint8*)wmem_alloc(pinfo->pool, auth_hash_len[model]);
+
+ if (ws_hmac_buffer(auth_hash_algo[model], calc_auth, msg, msg_len, key, key_len)) {
+ return FALSE;
+ }
+
+ if (calc_auth_p) *calc_auth_p = calc_auth;
+ if (calc_auth_len_p) *calc_auth_len_p = auth_len;
+
+ return ( memcmp(auth,calc_auth,auth_len) != 0 ) ? FALSE : TRUE;
+}
+
+static tvbuff_t*
+snmp_usm_priv_des(snmp_usm_params_t* p, tvbuff_t* encryptedData, packet_info *pinfo, gchar const** error)
+{
+ gcry_error_t err;
+ gcry_cipher_hd_t hd = NULL;
+
+ guint8* cleartext;
+ guint8* des_key = p->user_assoc->user.privKey.data; /* first 8 bytes */
+ guint8* pre_iv = &(p->user_assoc->user.privKey.data[8]); /* last 8 bytes */
+ guint8* salt;
+ gint salt_len;
+ gint cryptgrm_len;
+ guint8* cryptgrm;
+ tvbuff_t* clear_tvb;
+ guint8 iv[8];
+ guint i;
+
+
+ salt_len = tvb_captured_length(p->priv_tvb);
+
+ if (salt_len != 8) {
+ *error = "decryptionError: msgPrivacyParameters length != 8";
+ return NULL;
+ }
+
+ salt = (guint8*)tvb_memdup(pinfo->pool,p->priv_tvb,0,salt_len);
+
+ /*
+ The resulting "salt" is XOR-ed with the pre-IV to obtain the IV.
+ */
+ for (i=0; i<8; i++) {
+ iv[i] = pre_iv[i] ^ salt[i];
+ }
+
+ cryptgrm_len = tvb_captured_length(encryptedData);
+
+ if ((cryptgrm_len <= 0) || (cryptgrm_len % 8)) {
+ *error = "decryptionError: the length of the encrypted data is not a multiple of 8 octets";
+ return NULL;
+ }
+
+ cryptgrm = (guint8*)tvb_memdup(pinfo->pool,encryptedData,0,-1);
+
+ cleartext = (guint8*)wmem_alloc(pinfo->pool, cryptgrm_len);
+
+ err = gcry_cipher_open(&hd, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_CBC, 0);
+ if (err != GPG_ERR_NO_ERROR) goto on_gcry_error;
+
+ err = gcry_cipher_setiv(hd, iv, 8);
+ if (err != GPG_ERR_NO_ERROR) goto on_gcry_error;
+
+ err = gcry_cipher_setkey(hd,des_key,8);
+ if (err != GPG_ERR_NO_ERROR) goto on_gcry_error;
+
+ err = gcry_cipher_decrypt(hd, cleartext, cryptgrm_len, cryptgrm, cryptgrm_len);
+ if (err != GPG_ERR_NO_ERROR) goto on_gcry_error;
+
+ gcry_cipher_close(hd);
+
+ clear_tvb = tvb_new_child_real_data(encryptedData, cleartext, cryptgrm_len, cryptgrm_len);
+
+ return clear_tvb;
+
+on_gcry_error:
+ *error = (const gchar *)gcry_strerror(err);
+ if (hd) gcry_cipher_close(hd);
+ return NULL;
+}
+
+static tvbuff_t*
+snmp_usm_priv_aes_common(snmp_usm_params_t* p, tvbuff_t* encryptedData, packet_info *pinfo, gchar const** error, int algo)
+{
+ gcry_error_t err;
+ gcry_cipher_hd_t hd = NULL;
+
+ guint8* cleartext;
+ guint8* aes_key = p->user_assoc->user.privKey.data;
+ int aes_key_len = p->user_assoc->user.privKey.len;
+ guint8 iv[16];
+ gint priv_len;
+ gint cryptgrm_len;
+ guint8* cryptgrm;
+ tvbuff_t* clear_tvb;
+
+ priv_len = tvb_captured_length(p->priv_tvb);
+
+ if (priv_len != 8) {
+ *error = "decryptionError: msgPrivacyParameters length != 8";
+ return NULL;
+ }
+
+ iv[0] = (p->boots & 0xff000000) >> 24;
+ iv[1] = (p->boots & 0x00ff0000) >> 16;
+ iv[2] = (p->boots & 0x0000ff00) >> 8;
+ iv[3] = (p->boots & 0x000000ff);
+ iv[4] = (p->snmp_time & 0xff000000) >> 24;
+ iv[5] = (p->snmp_time & 0x00ff0000) >> 16;
+ iv[6] = (p->snmp_time & 0x0000ff00) >> 8;
+ iv[7] = (p->snmp_time & 0x000000ff);
+ tvb_memcpy(p->priv_tvb,&(iv[8]),0,8);
+
+ cryptgrm_len = tvb_captured_length(encryptedData);
+ if (cryptgrm_len <= 0) {
+ *error = "Not enough data remaining";
+ return NULL;
+ }
+ cryptgrm = (guint8*)tvb_memdup(pinfo->pool,encryptedData,0,-1);
+
+ cleartext = (guint8*)wmem_alloc(pinfo->pool, cryptgrm_len);
+
+ err = gcry_cipher_open(&hd, algo, GCRY_CIPHER_MODE_CFB, 0);
+ if (err != GPG_ERR_NO_ERROR) goto on_gcry_error;
+
+ err = gcry_cipher_setiv(hd, iv, 16);
+ if (err != GPG_ERR_NO_ERROR) goto on_gcry_error;
+
+ err = gcry_cipher_setkey(hd,aes_key,aes_key_len);
+ if (err != GPG_ERR_NO_ERROR) goto on_gcry_error;
+
+ err = gcry_cipher_decrypt(hd, cleartext, cryptgrm_len, cryptgrm, cryptgrm_len);
+ if (err != GPG_ERR_NO_ERROR) goto on_gcry_error;
+
+ gcry_cipher_close(hd);
+
+ clear_tvb = tvb_new_child_real_data(encryptedData, cleartext, cryptgrm_len, cryptgrm_len);
+
+ return clear_tvb;
+
+on_gcry_error:
+ *error = (const gchar *)gcry_strerror(err);
+ if (hd) gcry_cipher_close(hd);
+ return NULL;
+}
+
+static tvbuff_t*
+snmp_usm_priv_aes128(snmp_usm_params_t* p, tvbuff_t* encryptedData, packet_info *pinfo, gchar const** error)
+{
+ return snmp_usm_priv_aes_common(p, encryptedData, pinfo, error, GCRY_CIPHER_AES);
+}
+
+static tvbuff_t*
+snmp_usm_priv_aes192(snmp_usm_params_t* p, tvbuff_t* encryptedData, packet_info *pinfo, gchar const** error)
+{
+ return snmp_usm_priv_aes_common(p, encryptedData, pinfo, error, GCRY_CIPHER_AES192);
+}
+
+static tvbuff_t*
+snmp_usm_priv_aes256(snmp_usm_params_t* p, tvbuff_t* encryptedData, packet_info *pinfo, gchar const** error)
+{
+ return snmp_usm_priv_aes_common(p, encryptedData, pinfo, error, GCRY_CIPHER_AES256);
+}
+
+static gboolean
+check_ScopedPdu(tvbuff_t* tvb)
+{
+ int offset;
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ int hoffset, eoffset;
+ guint32 len;
+
+ offset = get_ber_identifier(tvb, 0, &ber_class, &pc, &tag);
+ offset = get_ber_length(tvb, offset, NULL, NULL);
+
+ if ( ! (((ber_class!=BER_CLASS_APP) && (ber_class!=BER_CLASS_PRI) )
+ && ( (!pc) || (ber_class!=BER_CLASS_UNI) || (tag!=BER_UNI_TAG_ENUMERATED) )
+ )) return FALSE;
+
+ if((tvb_get_guint8(tvb, offset)==0)&&(tvb_get_guint8(tvb, offset+1)==0))
+ return TRUE;
+
+ hoffset = offset;
+
+ offset = get_ber_identifier(tvb, offset, &ber_class, &pc, &tag);
+ offset = get_ber_length(tvb, offset, &len, NULL);
+ eoffset = offset + len;
+
+ if (eoffset <= hoffset) return FALSE;
+
+ if ((ber_class!=BER_CLASS_APP)&&(ber_class!=BER_CLASS_PRI))
+ if( (ber_class!=BER_CLASS_UNI)
+ ||((tag<BER_UNI_TAG_NumericString)&&(tag!=BER_UNI_TAG_OCTETSTRING)&&(tag!=BER_UNI_TAG_UTF8String)) )
+ return FALSE;
+
+ return TRUE;
+
+}
+
+#include "packet-snmp-fn.c"
+
+static snmp_conv_info_t*
+snmp_find_conversation_and_get_conv_data(packet_info *pinfo) {
+
+ conversation_t *conversation = NULL;
+ snmp_conv_info_t *snmp_info = NULL;
+
+ /* Get the conversation with the wildcarded port, if it exists
+ * and is associated with SNMP, so that requests and responses
+ * can be matched even if the response comes from a different,
+ * ephemeral, source port, as originally done in OS/400.
+ * On UDP, we do not automatically call conversation_set_port2()
+ * and we do not want to do so. Possibly this should eventually
+ * use find_conversation_full and separate the "SNMP conversation"
+ * from "the transport layer conversation that carries SNMP."
+ */
+ if (pinfo->destport == UDP_PORT_SNMP) {
+ conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, conversation_pt_to_conversation_type(pinfo->ptype),
+ pinfo->srcport, 0, NO_PORT_B);
+ } else if (pinfo->srcport == UDP_PORT_SNMP) {
+ conversation = find_conversation(pinfo->fd->num, &pinfo->dst, &pinfo->src, conversation_pt_to_conversation_type(pinfo->ptype),
+ pinfo->destport, 0, NO_PORT_B);
+ }
+ if ((conversation == NULL) || (conversation_get_dissector(conversation, pinfo->num) != snmp_handle)) {
+ conversation = find_or_create_conversation(pinfo);
+ }
+
+ snmp_info = (snmp_conv_info_t *)conversation_get_proto_data(conversation, proto_snmp);
+ if (snmp_info == NULL) {
+ snmp_info = wmem_new0(wmem_file_scope(), snmp_conv_info_t);
+ snmp_info->request_response=wmem_map_new(wmem_file_scope(), g_int_hash, g_int_equal);
+
+ conversation_add_proto_data(conversation, proto_snmp, snmp_info);
+ }
+ return snmp_info;
+}
+
+guint
+dissect_snmp_pdu(tvbuff_t *tvb, int offset, packet_info *pinfo,
+ proto_tree *tree, int proto, gint ett, gboolean is_tcp)
+{
+
+ guint length_remaining;
+ gint8 ber_class;
+ bool pc, ind = 0;
+ gint32 tag;
+ guint32 len;
+ guint message_length;
+ int start_offset = offset;
+ guint32 version = 0;
+ tvbuff_t *next_tvb;
+
+ proto_tree *snmp_tree = NULL;
+ proto_item *item = NULL;
+
+ snmp_conv_info_t *snmp_info = snmp_find_conversation_and_get_conv_data(pinfo);
+
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ asn1_ctx.private_data = snmp_info;
+
+ usm_p.msg_tvb = tvb;
+ usm_p.start_offset = tvb_offset_from_real_beginning(tvb);
+ usm_p.engine_tvb = NULL;
+ usm_p.user_tvb = NULL;
+ usm_p.auth_item = NULL;
+ usm_p.auth_tvb = NULL;
+ usm_p.auth_offset = 0;
+ usm_p.priv_tvb = NULL;
+ usm_p.user_assoc = NULL;
+ usm_p.authenticated = FALSE;
+ usm_p.encrypted = FALSE;
+ usm_p.boots = 0;
+ usm_p.snmp_time = 0;
+ usm_p.authOK = FALSE;
+
+ /*
+ * This will throw an exception if we don't have any data left.
+ * That's what we want. (See "tcp_dissect_pdus()", which is
+ * similar, but doesn't have to deal with ASN.1.
+ * XXX - can we make "tcp_dissect_pdus()" provide enough
+ * information to the "get_pdu_len" routine so that we could
+ * have that routine deal with ASN.1, and just use
+ * "tcp_dissect_pdus()"?)
+ */
+ length_remaining = tvb_ensure_captured_length_remaining(tvb, offset);
+
+ /* NOTE: we have to parse the message piece by piece, since the
+ * capture length may be less than the message length: a 'global'
+ * parsing is likely to fail.
+ */
+
+ /*
+ * If this is SNMP-over-TCP, we might have to do reassembly
+ * in order to read the "Sequence Of" header.
+ */
+ if (is_tcp && snmp_desegment && pinfo->can_desegment) {
+ /*
+ * This is TCP, and we should, and can, do reassembly.
+ *
+ * Is the "Sequence Of" header split across segment
+ * boundaries? We require at least 6 bytes for the
+ * header, which allows for a 4-byte length (ASN.1
+ * BER).
+ */
+ if (length_remaining < 6) {
+ /*
+ * Yes. Tell the TCP dissector where the data
+ * for this message starts in the data it handed
+ * us and that we need "some more data." Don't tell
+ * it exactly how many bytes we need because if/when
+ * we ask for even more (after the header) that will
+ * break reassembly.
+ */
+ pinfo->desegment_offset = offset;
+ pinfo->desegment_len = DESEGMENT_ONE_MORE_SEGMENT;
+ return 0;
+ }
+ }
+
+ /*
+ * OK, try to read the "Sequence Of" header; this gets the total
+ * length of the SNMP message.
+ */
+ offset = get_ber_identifier(tvb, offset, &ber_class, &pc, &tag);
+ /*Get the total octet length of the SNMP data*/
+ offset = get_ber_length(tvb, offset, &len, &ind);
+ message_length = len + offset;
+
+ /*Get the SNMP version data*/
+ /*offset =*/ dissect_ber_integer(FALSE, &asn1_ctx, 0, tvb, offset, -1, &version);
+
+
+ /*
+ * If this is SNMP-over-TCP, we might have to do reassembly
+ * to get all of this message.
+ */
+ if (is_tcp && snmp_desegment && pinfo->can_desegment) {
+ /*
+ * Yes - is the message split across segment boundaries?
+ */
+ if (length_remaining < message_length) {
+ /*
+ * Yes. Tell the TCP dissector where the data
+ * for this message starts in the data it handed
+ * us, and how many more bytes we need, and
+ * return.
+ */
+ pinfo->desegment_offset = start_offset;
+ pinfo->desegment_len =
+ message_length - length_remaining;
+
+ /*
+ * Return 0, which means "I didn't dissect anything
+ * because I don't have enough data - we need
+ * to desegment".
+ */
+ return 0;
+ }
+ }
+
+ var_list = next_tvb_list_new(pinfo->pool);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, proto_get_protocol_short_name(find_protocol_by_id(proto)));
+
+ item = proto_tree_add_item(tree, proto, tvb, start_offset, message_length, ENC_BIG_ENDIAN);
+ snmp_tree = proto_item_add_subtree(item, ett);
+
+ switch (version) {
+ case 0: /* v1 */
+ case 1: /* v2c */
+ offset = dissect_snmp_Message(FALSE , tvb, start_offset, &asn1_ctx, snmp_tree, -1);
+ break;
+ case 2: /* v2u */
+ offset = dissect_snmp_Messagev2u(FALSE , tvb, start_offset, &asn1_ctx, snmp_tree, -1);
+ break;
+ /* v3 */
+ case 3:
+ offset = dissect_snmp_SNMPv3Message(FALSE , tvb, start_offset, &asn1_ctx, snmp_tree, -1);
+ break;
+ default:
+ /*
+ * Return the length remaining in the tvbuff, so
+ * if this is SNMP-over-TCP, our caller thinks there's
+ * nothing left to dissect.
+ */
+ expert_add_info(pinfo, item, &ei_snmp_version_unknown);
+ return length_remaining;
+ break;
+ }
+
+ /* There may be appended data after the SNMP data, so treat as raw
+ * data which needs to be dissected in case of UDP as UDP is PDU oriented.
+ */
+ if((!is_tcp) && (length_remaining > (guint)offset)) {
+ next_tvb = tvb_new_subset_remaining(tvb, offset);
+ call_dissector(data_handle, next_tvb, pinfo, tree);
+ } else {
+ next_tvb_call(var_list, pinfo, tree, NULL, data_handle);
+ }
+
+ return offset;
+}
+
+static gint
+dissect_snmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ int offset;
+ gint8 tmp_class;
+ bool tmp_pc;
+ gint32 tmp_tag;
+ guint32 tmp_length;
+ bool tmp_ind;
+
+ /*
+ * See if this looks like SNMP or not. if not, return 0 so
+ * wireshark can try some other dissector instead.
+ */
+ /* All SNMP packets are BER encoded and consist of a SEQUENCE
+ * that spans the entire PDU. The first item is an INTEGER that
+ * has the values 0-2 (version 1-3).
+ * if not it is not snmp.
+ */
+ /* SNMP starts with a SEQUENCE */
+ offset = get_ber_identifier(tvb, 0, &tmp_class, &tmp_pc, &tmp_tag);
+ if((tmp_class!=BER_CLASS_UNI)||(tmp_tag!=BER_UNI_TAG_SEQUENCE)) {
+ return 0;
+ }
+ /* then comes a length which spans the rest of the tvb */
+ offset = get_ber_length(tvb, offset, &tmp_length, &tmp_ind);
+ /* Loosen the heuristic a bit to handle the case where data has intentionally
+ * been added after the snmp PDU ( UDP case) (#3684)
+ * If this is fragmented or carried in ICMP, we don't expect the tvb to
+ * have the full legnth, so don't check.
+ */
+ if (!pinfo->fragmented && !pinfo->flags.in_error_pkt) {
+ if ( pinfo->ptype == PT_UDP ) {
+ if(tmp_length>(guint32)tvb_reported_length_remaining(tvb, offset)) {
+ return 0;
+ }
+ }else{
+ if(tmp_length!=(guint32)tvb_reported_length_remaining(tvb, offset)) {
+ return 0;
+ }
+ }
+ }
+ /* then comes an INTEGER (version)*/
+ get_ber_identifier(tvb, offset, &tmp_class, &tmp_pc, &tmp_tag);
+ if((tmp_class!=BER_CLASS_UNI)||(tmp_tag!=BER_UNI_TAG_INTEGER)) {
+ return 0;
+ }
+ /* do we need to test that version is 0 - 2 (version1-3) ? */
+
+
+ /*
+ * The IBM i (OS/400) SNMP agent, at least originally, would
+ * send responses back from some *other* UDP port, an ephemeral
+ * port above 5000, going back to the same IP address and port
+ * from which the request came, similar to TFTP. This only happens
+ * with the agent port, 161, not with the trap port, etc. As of
+ * 2015 with the latest fixes applied, it no longer does this:
+ * https://www.ibm.com/support/pages/ptf/SI55487
+ * https://www.ibm.com/support/pages/ptf/SI55537
+ *
+ * The SNMP RFCs are silent on this (cf. L2TP RFC 2661, which
+ * supports using either the well-known port or an ephemeral
+ * port as the source port for responses, while noting that
+ * the latter can cause issues with firewalls and NATs.) so
+ * possibly some other implementations could do this.
+ *
+ * If this packet went to the SNMP port, we check to see if
+ * there's already a conversation with one address/port pair
+ * matching the source IP address and port of this packet,
+ * the other address matching the destination IP address of this
+ * packet, and any destination port.
+ *
+ * If not, we create one, with its address 1/port 1 pair being
+ * the source address/port of this packet, its address 2 being
+ * the destination address of this packet, and its port 2 being
+ * wildcarded, and give it the SNMP dissector as a dissector.
+ */
+
+ if (pinfo->destport == UDP_PORT_SNMP) {
+ conversation_t *conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, conversation_pt_to_conversation_type(pinfo->ptype),
+ pinfo->srcport, 0, NO_PORT_B);
+
+ if( (conversation == NULL) || (conversation_get_dissector(conversation, pinfo->num)!=snmp_handle) ) {
+ conversation = conversation_new(pinfo->num, &pinfo->src, &pinfo->dst, conversation_pt_to_conversation_type(pinfo->ptype),
+ pinfo->srcport, 0, NO_PORT2);
+ conversation_set_dissector(conversation, snmp_handle);
+ }
+ }
+
+ return dissect_snmp_pdu(tvb, 0, pinfo, tree, proto_snmp, ett_snmp, FALSE);
+}
+
+static int
+dissect_snmp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ int offset = 0;
+ guint message_len;
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0) {
+ message_len = dissect_snmp_pdu(tvb, offset, pinfo, tree, proto_snmp, ett_snmp, TRUE);
+ if (message_len == 0) {
+ /*
+ * We don't have all the data for that message,
+ * so we need to do desegmentation;
+ * "dissect_snmp_pdu()" has set that up.
+ */
+ break;
+ }
+ offset += message_len;
+ }
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_smux(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_tree *smux_tree = NULL;
+ proto_item *item = NULL;
+
+ var_list = next_tvb_list_new(pinfo->pool);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "SMUX");
+
+ item = proto_tree_add_item(tree, proto_smux, tvb, 0, -1, ENC_NA);
+ smux_tree = proto_item_add_subtree(item, ett_smux);
+
+ return dissect_SMUX_PDUs_PDU(tvb, pinfo, smux_tree, data);
+}
+
+/*
+ MD5 Password to Key Algorithm from RFC 3414 A.2.1
+ SHA1 Password to Key Algorithm from RFC 3414 A.2.2
+ SHA2 Password to Key Algorithm from RFC 7860 9.3
+*/
+static void
+snmp_usm_password_to_key(const snmp_usm_auth_model_t model, const guint8 *password,
+ guint passwordlen, const guint8 *engineID, guint engineLength, guint8 *key)
+{
+ gcry_md_hd_t hash_handle;
+ guint8 *cp, password_buf[64];
+ guint32 password_index = 0;
+ guint32 count = 0, i;
+ guint hash_len;
+
+ if (gcry_md_open(&hash_handle, auth_hash_algo[model], 0)) {
+ return;
+ }
+
+ hash_len = auth_hash_len[model];
+
+ /**********************************************/
+ /* Use while loop until we've done 1 Megabyte */
+ /**********************************************/
+ while (count < 1048576) {
+ cp = password_buf;
+ if (passwordlen != 0) {
+ for (i = 0; i < 64; i++) {
+ /*************************************************/
+ /* Take the next octet of the password, wrapping */
+ /* to the beginning of the password as necessary.*/
+ /*************************************************/
+ *cp++ = password[password_index++ % passwordlen];
+ }
+ } else {
+ *cp = 0;
+ }
+ gcry_md_write(hash_handle, password_buf, 64);
+ count += 64;
+ }
+ memcpy(key, gcry_md_read(hash_handle, 0), hash_len);
+ gcry_md_close(hash_handle);
+
+ /*****************************************************/
+ /* Now localise the key with the engineID and pass */
+ /* through hash function to produce final key */
+ /* We ignore invalid engineLengths here. More strict */
+ /* checking is done in snmp_users_update_cb. */
+ /*****************************************************/
+ if (gcry_md_open(&hash_handle, auth_hash_algo[model], 0)) {
+ return;
+ }
+ gcry_md_write(hash_handle, key, hash_len);
+ gcry_md_write(hash_handle, engineID, engineLength);
+ gcry_md_write(hash_handle, key, hash_len);
+ memcpy(key, gcry_md_read(hash_handle, 0), hash_len);
+ gcry_md_close(hash_handle);
+ return;
+}
+
+static void
+process_prefs(void)
+{
+}
+
+UAT_LSTRING_CB_DEF(snmp_users,userName,snmp_ue_assoc_t,user.userName.data,user.userName.len)
+UAT_LSTRING_CB_DEF(snmp_users,authPassword,snmp_ue_assoc_t,user.authPassword.data,user.authPassword.len)
+UAT_LSTRING_CB_DEF(snmp_users,privPassword,snmp_ue_assoc_t,user.privPassword.data,user.privPassword.len)
+UAT_BUFFER_CB_DEF(snmp_users,engine_id,snmp_ue_assoc_t,engine.data,engine.len)
+UAT_VS_DEF(snmp_users,auth_model,snmp_ue_assoc_t,guint,0,"MD5")
+UAT_VS_DEF(snmp_users,priv_proto,snmp_ue_assoc_t,guint,0,"DES")
+
+static void *
+snmp_specific_trap_copy_cb(void *dest, const void *orig, size_t len _U_)
+{
+ snmp_st_assoc_t *u = (snmp_st_assoc_t *)dest;
+ const snmp_st_assoc_t *o = (const snmp_st_assoc_t *)orig;
+
+ u->enterprise = g_strdup(o->enterprise);
+ u->trap = o->trap;
+ u->desc = g_strdup(o->desc);
+
+ return dest;
+}
+
+static void
+snmp_specific_trap_free_cb(void *r)
+{
+ snmp_st_assoc_t *u = (snmp_st_assoc_t *)r;
+
+ g_free(u->enterprise);
+ g_free(u->desc);
+}
+
+UAT_CSTRING_CB_DEF(specific_traps, enterprise, snmp_st_assoc_t)
+UAT_DEC_CB_DEF(specific_traps, trap, snmp_st_assoc_t)
+UAT_CSTRING_CB_DEF(specific_traps, desc, snmp_st_assoc_t)
+
+ /*--- proto_register_snmp -------------------------------------------*/
+void proto_register_snmp(void) {
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_snmp_response_in,
+ { "Response In", "snmp.response_in", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "The response to this SNMP request is in this frame", HFILL }},
+ { &hf_snmp_response_to,
+ { "Response To", "snmp.response_to", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "This is a response to the SNMP request in this frame", HFILL }},
+ { &hf_snmp_time,
+ { "Time", "snmp.time", FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "The time between the Request and the Response", HFILL }},
+ { &hf_snmp_v3_flags_auth,
+ { "Authenticated", "snmp.v3.flags.auth", FT_BOOLEAN, 8,
+ TFS(&tfs_set_notset), TH_AUTH, NULL, HFILL }},
+ { &hf_snmp_v3_flags_crypt,
+ { "Encrypted", "snmp.v3.flags.crypt", FT_BOOLEAN, 8,
+ TFS(&tfs_set_notset), TH_CRYPT, NULL, HFILL }},
+ { &hf_snmp_v3_flags_report,
+ { "Reportable", "snmp.v3.flags.report", FT_BOOLEAN, 8,
+ TFS(&tfs_set_notset), TH_REPORT, NULL, HFILL }},
+ { &hf_snmp_engineid_conform, {
+ "Engine ID Conformance", "snmp.engineid.conform", FT_BOOLEAN, 8,
+ TFS(&tfs_snmp_engineid_conform), F_SNMP_ENGINEID_CONFORM, "Engine ID RFC3411 Conformance", HFILL }},
+ { &hf_snmp_engineid_enterprise, {
+ "Engine Enterprise ID", "snmp.engineid.enterprise", FT_UINT32, BASE_ENTERPRISES,
+ STRINGS_ENTERPRISES, 0, NULL, HFILL }},
+ { &hf_snmp_engineid_format, {
+ "Engine ID Format", "snmp.engineid.format", FT_UINT8, BASE_DEC,
+ VALS(snmp_engineid_format_vals), 0, NULL, HFILL }},
+ { &hf_snmp_engineid_ipv4, {
+ "Engine ID Data: IPv4 address", "snmp.engineid.ipv4", FT_IPv4, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_engineid_ipv6, {
+ "Engine ID Data: IPv6 address", "snmp.engineid.ipv6", FT_IPv6, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_engineid_cisco_type, {
+ "Engine ID Data: Cisco type", "snmp.engineid.cisco.type", FT_UINT8, BASE_HEX,
+ VALS(snmp_engineid_cisco_type_vals), 0, NULL, HFILL }},
+ { &hf_snmp_engineid_mac, {
+ "Engine ID Data: MAC address", "snmp.engineid.mac", FT_ETHER, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_engineid_text, {
+ "Engine ID Data: Text", "snmp.engineid.text", FT_STRING, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_engineid_time, {
+ "Engine ID Data: Creation Time", "snmp.engineid.time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_engineid_data, {
+ "Engine ID Data", "snmp.engineid.data", FT_BYTES, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_msgAuthentication, {
+ "Authentication", "snmp.v3.auth", FT_BOOLEAN, BASE_NONE,
+ TFS(&auth_flags), 0, NULL, HFILL }},
+ { &hf_snmp_decryptedPDU, {
+ "Decrypted ScopedPDU", "snmp.decrypted_pdu", FT_BYTES, BASE_NONE,
+ NULL, 0, "Decrypted PDU", HFILL }},
+ { &hf_snmp_noSuchObject, {
+ "noSuchObject", "snmp.noSuchObject", FT_NONE, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_noSuchInstance, {
+ "noSuchInstance", "snmp.noSuchInstance", FT_NONE, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_endOfMibView, {
+ "endOfMibView", "snmp.endOfMibView", FT_NONE, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_unSpecified, {
+ "unSpecified", "snmp.unSpecified", FT_NONE, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+
+ { &hf_snmp_integer32_value, {
+ "Value (Integer32)", "snmp.value.int", FT_INT64, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_octetstring_value, {
+ "Value (OctetString)", "snmp.value.octets", FT_BYTES, BASE_SHOW_ASCII_PRINTABLE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_oid_value, {
+ "Value (OID)", "snmp.value.oid", FT_OID, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_null_value, {
+ "Value (Null)", "snmp.value.null", FT_NONE, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_ipv4_value, {
+ "Value (IpAddress)", "snmp.value.ipv4", FT_IPv4, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_ipv6_value, {
+ "Value (IpAddress)", "snmp.value.ipv6", FT_IPv6, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_anyaddress_value, {
+ "Value (IpAddress)", "snmp.value.addr", FT_BYTES, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_unsigned32_value, {
+ "Value (Unsigned32)", "snmp.value.u32", FT_INT64, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_gauge32_value, {
+ "Value (Gauge32)", "snmp.value.g32", FT_INT64, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_unknown_value, {
+ "Value (Unknown)", "snmp.value.unk", FT_BYTES, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_counter_value, {
+ "Value (Counter32)", "snmp.value.counter", FT_UINT64, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_big_counter_value, {
+ "Value (Counter64)", "snmp.value.counter", FT_UINT64, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_nsap_value, {
+ "Value (NSAP)", "snmp.value.nsap", FT_UINT64, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_timeticks_value, {
+ "Value (Timeticks)", "snmp.value.timeticks", FT_UINT64, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_opaque_value, {
+ "Value (Opaque)", "snmp.value.opaque", FT_BYTES, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_objectname, {
+ "Object Name", "snmp.name", FT_OID, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_scalar_instance_index, {
+ "Scalar Instance Index", "snmp.name.index", FT_UINT64, BASE_DEC,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_var_bind_str, {
+ "Variable-binding-string", "snmp.var-bind_str", FT_STRING, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+ { &hf_snmp_agentid_trailer, {
+ "AgentID Trailer", "snmp.agentid_trailer", FT_BYTES, BASE_NONE,
+ NULL, 0, NULL, HFILL }},
+
+
+#include "packet-snmp-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_snmp,
+ &ett_engineid,
+ &ett_msgFlags,
+ &ett_encryptedPDU,
+ &ett_decrypted,
+ &ett_authParameters,
+ &ett_internet,
+ &ett_varbind,
+ &ett_name,
+ &ett_value,
+ &ett_decoding_error,
+#include "packet-snmp-ettarr.c"
+ };
+ static ei_register_info ei[] = {
+ { &ei_snmp_failed_decrypted_data_pdu, { "snmp.failed_decrypted_data_pdu", PI_MALFORMED, PI_WARN, "Failed to decrypt encryptedPDU", EXPFILL }},
+ { &ei_snmp_decrypted_data_bad_formatted, { "snmp.decrypted_data_bad_formatted", PI_MALFORMED, PI_WARN, "Decrypted data not formatted as expected, wrong key?", EXPFILL }},
+ { &ei_snmp_verify_authentication_error, { "snmp.verify_authentication_error", PI_MALFORMED, PI_ERROR, "Error while verifying Message authenticity", EXPFILL }},
+ { &ei_snmp_authentication_ok, { "snmp.authentication_ok", PI_CHECKSUM, PI_CHAT, "SNMP Authentication OK", EXPFILL }},
+ { &ei_snmp_authentication_error, { "snmp.authentication_error", PI_CHECKSUM, PI_WARN, "SNMP Authentication Error", EXPFILL }},
+ { &ei_snmp_varbind_not_uni_class_seq, { "snmp.varbind.not_uni_class_seq", PI_MALFORMED, PI_WARN, "VarBind is not an universal class sequence", EXPFILL }},
+ { &ei_snmp_varbind_has_indicator, { "snmp.varbind.has_indicator", PI_MALFORMED, PI_WARN, "VarBind has indicator set", EXPFILL }},
+ { &ei_snmp_objectname_not_oid, { "snmp.objectname_not_oid", PI_MALFORMED, PI_WARN, "ObjectName not an OID", EXPFILL }},
+ { &ei_snmp_objectname_has_indicator, { "snmp.objectname_has_indicator", PI_MALFORMED, PI_WARN, "ObjectName has indicator set", EXPFILL }},
+ { &ei_snmp_value_not_primitive_encoding, { "snmp.value_not_primitive_encoding", PI_MALFORMED, PI_WARN, "value not in primitive encoding", EXPFILL }},
+ { &ei_snmp_invalid_oid, { "snmp.invalid_oid", PI_MALFORMED, PI_WARN, "invalid oid", EXPFILL }},
+ { &ei_snmp_varbind_wrong_tag, { "snmp.varbind.wrong_tag", PI_MALFORMED, PI_WARN, "Wrong tag for SNMP VarBind error value", EXPFILL }},
+ { &ei_snmp_varbind_response, { "snmp.varbind.response", PI_RESPONSE_CODE, PI_NOTE, "Response", EXPFILL }},
+ { &ei_snmp_no_instance_subid, { "snmp.no_instance_subid", PI_MALFORMED, PI_WARN, "No instance sub-id in scalar value", EXPFILL }},
+ { &ei_snmp_wrong_num_of_subids, { "snmp.wrong_num_of_subids", PI_MALFORMED, PI_WARN, "Wrong number of instance sub-ids in scalar value", EXPFILL }},
+ { &ei_snmp_index_suboid_too_short, { "snmp.index_suboid_too_short", PI_MALFORMED, PI_WARN, "index sub-oid shorter than expected", EXPFILL }},
+ { &ei_snmp_unimplemented_instance_index, { "snmp.unimplemented_instance_index", PI_UNDECODED, PI_WARN, "OID instaces not handled, if you want this implemented please contact the wireshark developers", EXPFILL }},
+ { &ei_snmp_index_suboid_len0, { "snmp.ndex_suboid_len0", PI_MALFORMED, PI_WARN, "an index sub-oid OID cannot be 0 bytes long!", EXPFILL }},
+ { &ei_snmp_index_suboid_too_long, { "snmp.index_suboid_too_long", PI_MALFORMED, PI_WARN, "index sub-oid should not be longer than remaining oid size", EXPFILL }},
+ { &ei_snmp_index_string_too_long, { "snmp.index_string_too_long", PI_MALFORMED, PI_WARN, "index string should not be longer than remaining oid size", EXPFILL }},
+ { &ei_snmp_column_parent_not_row, { "snmp.column_parent_not_row", PI_MALFORMED, PI_ERROR, "COLUMNS's parent is not a ROW", EXPFILL }},
+ { &ei_snmp_uint_too_large, { "snmp.uint_too_large", PI_UNDECODED, PI_NOTE, "Unsigned integer value > 2^64 - 1", EXPFILL }},
+ { &ei_snmp_int_too_large, { "snmp.int_too_large", PI_UNDECODED, PI_NOTE, "Signed integer value > 2^63 - 1 or <= -2^63", EXPFILL }},
+ { &ei_snmp_integral_value0, { "snmp.integral_value0", PI_UNDECODED, PI_NOTE, "Integral value is zero-length", EXPFILL }},
+ { &ei_snmp_missing_mib, { "snmp.missing_mib", PI_UNDECODED, PI_NOTE, "Unresolved value, Missing MIB", EXPFILL }},
+ { &ei_snmp_varbind_wrong_length_value, { "snmp.varbind.wrong_length_value", PI_MALFORMED, PI_WARN, "Wrong length for SNMP VarBind/value", EXPFILL }},
+ { &ei_snmp_varbind_wrong_class_tag, { "snmp.varbind.wrong_class_tag", PI_MALFORMED, PI_WARN, "Wrong class/tag for SNMP VarBind/value", EXPFILL }},
+ { &ei_snmp_rfc1910_non_conformant, { "snmp.rfc1910_non_conformant", PI_PROTOCOL, PI_WARN, "Data not conforming to RFC1910", EXPFILL }},
+ { &ei_snmp_rfc3411_non_conformant, { "snmp.rfc3411_non_conformant", PI_PROTOCOL, PI_WARN, "Data not conforming to RFC3411", EXPFILL }},
+ { &ei_snmp_version_unknown, { "snmp.version.unknown", PI_PROTOCOL, PI_WARN, "Unknown version", EXPFILL }},
+ { &ei_snmp_trap_pdu_obsolete, { "snmp.trap_pdu_obsolete", PI_PROTOCOL, PI_WARN, "Trap-PDU is obsolete in this SNMP version", EXPFILL }},
+
+ };
+
+ expert_module_t* expert_snmp;
+ module_t *snmp_module;
+
+ static uat_field_t users_fields[] = {
+ UAT_FLD_BUFFER(snmp_users,engine_id,"Engine ID","Engine-id for this entry (empty = any)"),
+ UAT_FLD_LSTRING(snmp_users,userName,"Username","The username"),
+ UAT_FLD_VS(snmp_users,auth_model,"Authentication model",auth_types,"Algorithm to be used for authentication."),
+ UAT_FLD_LSTRING(snmp_users,authPassword,"Password","The password used for authenticating packets for this entry"),
+ UAT_FLD_VS(snmp_users,priv_proto,"Privacy protocol",priv_types,"Algorithm to be used for privacy."),
+ UAT_FLD_LSTRING(snmp_users,privPassword,"Privacy password","The password used for encrypting packets for this entry"),
+ UAT_END_FIELDS
+ };
+
+ uat_t *assocs_uat = uat_new("SNMP Users",
+ sizeof(snmp_ue_assoc_t),
+ "snmp_users",
+ TRUE,
+ &ueas,
+ &num_ueas,
+ UAT_AFFECTS_DISSECTION, /* affects dissection of packets, but not set of named fields */
+ "ChSNMPUsersSection",
+ snmp_users_copy_cb,
+ snmp_users_update_cb,
+ snmp_users_free_cb,
+ renew_ue_cache,
+ NULL,
+ users_fields);
+
+ static uat_field_t specific_traps_flds[] = {
+ UAT_FLD_CSTRING(specific_traps,enterprise,"Enterprise OID","Enterprise Object Identifier"),
+ UAT_FLD_DEC(specific_traps,trap,"Trap Id","The specific-trap value"),
+ UAT_FLD_CSTRING(specific_traps,desc,"Description","Trap type description"),
+ UAT_END_FIELDS
+ };
+
+ uat_t* specific_traps_uat = uat_new("SNMP Enterprise Specific Trap Types",
+ sizeof(snmp_st_assoc_t),
+ "snmp_specific_traps",
+ TRUE,
+ &specific_traps,
+ &num_specific_traps,
+ UAT_AFFECTS_DISSECTION, /* affects dissection of packets, but not set of named fields */
+ "ChSNMPEnterpriseSpecificTrapTypes",
+ snmp_specific_trap_copy_cb,
+ NULL,
+ snmp_specific_trap_free_cb,
+ NULL,
+ NULL,
+ specific_traps_flds);
+
+ /* Register protocol */
+ proto_snmp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ snmp_handle = register_dissector("snmp", dissect_snmp, proto_snmp);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_snmp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_snmp = expert_register_protocol(proto_snmp);
+ expert_register_field_array(expert_snmp, ei, array_length(ei));
+
+ /* Register dissector */
+ snmp_tcp_handle = register_dissector("snmp.tcp", dissect_snmp_tcp, proto_snmp);
+
+ /* Register configuration preferences */
+ snmp_module = prefs_register_protocol(proto_snmp, process_prefs);
+ prefs_register_bool_preference(snmp_module, "display_oid",
+ "Show SNMP OID in info column",
+ "Whether the SNMP OID should be shown in the info column",
+ &display_oid);
+
+ prefs_register_obsolete_preference(snmp_module, "mib_modules");
+ prefs_register_obsolete_preference(snmp_module, "users_file");
+
+ prefs_register_bool_preference(snmp_module, "desegment",
+ "Reassemble SNMP-over-TCP messages spanning multiple TCP segments",
+ "Whether the SNMP dissector should reassemble messages spanning multiple TCP segments."
+ " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &snmp_desegment);
+
+ prefs_register_bool_preference(snmp_module, "var_in_tree",
+ "Display dissected variables inside SNMP tree",
+ "ON - display dissected variables inside SNMP tree, OFF - display dissected variables in root tree after SNMP",
+ &snmp_var_in_tree);
+
+ prefs_register_uat_preference(snmp_module, "users_table",
+ "Users Table",
+ "Table of engine-user associations used for authentication and decryption",
+ assocs_uat);
+
+ prefs_register_uat_preference(snmp_module, "specific_traps_table",
+ "Enterprise Specific Trap Types",
+ "Table of enterprise specific-trap type descriptions",
+ specific_traps_uat);
+
+#ifdef HAVE_LIBSMI
+ prefs_register_static_text_preference(snmp_module, "info_mibs",
+ "MIB settings can be changed in the Name Resolution preferences",
+ "MIB settings can be changed in the Name Resolution preferences");
+#endif
+
+ value_sub_dissectors_table = register_dissector_table("snmp.variable_oid","SNMP Variable OID", proto_snmp, FT_STRING, STRING_CASE_SENSITIVE);
+
+ register_init_routine(init_ue_cache);
+ register_cleanup_routine(cleanup_ue_cache);
+
+ register_ber_syntax_dissector("SNMP", proto_snmp, dissect_snmp_tcp);
+
+ snmp_tap=register_tap("snmp");
+
+ register_srt_table(proto_snmp, NULL, 1, snmpstat_packet, snmpstat_init, NULL);
+}
+
+
+/*--- proto_reg_handoff_snmp ---------------------------------------*/
+void proto_reg_handoff_snmp(void) {
+
+ dissector_add_uint_with_preference("udp.port", UDP_PORT_SNMP, snmp_handle);
+ dissector_add_uint("ethertype", ETHERTYPE_SNMP, snmp_handle);
+ dissector_add_uint("ipx.socket", IPX_SOCKET_SNMP_AGENT, snmp_handle);
+ dissector_add_uint("ipx.socket", IPX_SOCKET_SNMP_SINK, snmp_handle);
+ dissector_add_uint("hpext.dxsap", HPEXT_SNMP, snmp_handle);
+
+ dissector_add_uint_with_preference("tcp.port", TCP_PORT_SNMP, snmp_tcp_handle);
+ /* Since "regular" SNMP port and "trap" SNMP port use the same handler,
+ the "trap" port doesn't really need a separate preference. Just register
+ normally */
+ dissector_add_uint("tcp.port", TCP_PORT_SNMP_TRAP, snmp_tcp_handle);
+ dissector_add_uint("udp.port", UDP_PORT_SNMP_TRAP, snmp_handle);
+ dissector_add_uint("udp.port", UDP_PORT_SNMP_PATROL, snmp_handle);
+
+ data_handle = find_dissector("data");
+
+ /* SNMPv2-MIB sysDescr "1.3.6.1.2.1.1.1.0" */
+ dissector_add_string("snmp.variable_oid", "1.3.6.1.2.1.1.1.0",
+ create_dissector_handle(dissect_snmp_variable_string, proto_snmp));
+ /* SNMPv2-MIB::sysName.0 (1.3.6.1.2.1.1.5.0) */
+ dissector_add_string("snmp.variable_oid", "1.3.6.1.2.1.1.5.0",
+ create_dissector_handle(dissect_snmp_variable_string, proto_snmp));
+
+ /*
+ * Process preference settings.
+ *
+ * We can't do this in the register routine, as preferences aren't
+ * read until all dissector register routines have been called (so
+ * that all dissector preferences have been registered).
+ */
+ process_prefs();
+
+}
+
+void
+proto_register_smux(void)
+{
+ static gint *ett[] = {
+ &ett_smux,
+ };
+
+ proto_smux = proto_register_protocol("SNMP Multiplex Protocol",
+ "SMUX", "smux");
+
+ proto_register_subtree_array(ett, array_length(ett));
+
+ smux_handle = register_dissector("smux", dissect_smux, proto_smux);
+}
+
+void
+proto_reg_handoff_smux(void)
+{
+ dissector_add_uint_with_preference("tcp.port", TCP_PORT_SMUX, smux_handle);
+}
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 8
+ * tab-width: 8
+ * indent-tabs-mode: t
+ * End:
+ *
+ * vi: set shiftwidth=8 tabstop=8 noexpandtab:
+ * :indentSize=8:tabSize=8:noTabs=false:
+ */
diff --git a/epan/dissectors/asn1/snmp/packet-snmp-template.h b/epan/dissectors/asn1/snmp/packet-snmp-template.h
new file mode 100644
index 00000000..362114d5
--- /dev/null
+++ b/epan/dissectors/asn1/snmp/packet-snmp-template.h
@@ -0,0 +1,107 @@
+/* packet-snmp.h
+ * Routines for snmp packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_SNMP_H
+#define PACKET_SNMP_H
+
+#define SNMP_REQ_GET 0
+#define SNMP_REQ_GETNEXT 1
+#define SNMP_REQ_SET 3
+#define SNMP_REQ_GETBULK 5
+#define SNMP_REQ_INFORM 6
+
+#define SNMP_RES_GET 2
+
+#define SNMP_TRAP 4
+#define SNMP_TRAPV2 7
+#define SNMP_REPORT 8
+
+typedef struct _snmp_usm_key {
+ guint8* data;
+ guint len;
+} snmp_usm_key_t;
+
+typedef struct _snmp_ue_assoc_t snmp_ue_assoc_t;
+typedef struct _snmp_usm_params_t snmp_usm_params_t;
+
+typedef tvbuff_t* (*snmp_usm_decoder_t)(snmp_usm_params_t*, tvbuff_t* encryptedData, packet_info *pinfo, gchar const** error);
+
+typedef enum _snmp_usm_auth_model_t {
+ SNMP_USM_AUTH_MD5 = 0,
+ SNMP_USM_AUTH_SHA1,
+ SNMP_USM_AUTH_SHA2_224,
+ SNMP_USM_AUTH_SHA2_256,
+ SNMP_USM_AUTH_SHA2_384,
+ SNMP_USM_AUTH_SHA2_512
+} snmp_usm_auth_model_t;
+
+typedef struct _snmp_user_t {
+ snmp_usm_key_t userName;
+
+ snmp_usm_auth_model_t authModel;
+ snmp_usm_key_t authPassword;
+ snmp_usm_key_t authKey;
+
+ snmp_usm_decoder_t privProtocol;
+ snmp_usm_key_t privPassword;
+ snmp_usm_key_t privKey;
+} snmp_user_t;
+
+typedef struct {
+ guint8* data;
+ guint len;
+} snmp_engine_id_t;
+
+struct _snmp_ue_assoc_t {
+ snmp_user_t user;
+ snmp_engine_id_t engine;
+ guint auth_model;
+ guint priv_proto;
+ struct _snmp_ue_assoc_t* next;
+};
+
+struct _snmp_usm_params_t {
+ gboolean authenticated;
+ gboolean encrypted;
+ guint start_offset;
+ guint auth_offset;
+
+ guint32 boots;
+ guint32 snmp_time;
+ tvbuff_t* engine_tvb;
+ tvbuff_t* user_tvb;
+ proto_item* auth_item;
+ tvbuff_t* auth_tvb;
+ tvbuff_t* priv_tvb;
+ tvbuff_t* msg_tvb;
+ snmp_ue_assoc_t* user_assoc;
+
+ gboolean authOK;
+};
+
+typedef struct snmp_request_response {
+ guint32 request_frame_id;
+ guint32 response_frame_id;
+ nstime_t request_time;
+ guint requestId;
+ guint request_procedure_id;
+} snmp_request_response_t;
+
+/*
+ * Guts of the SNMP dissector - exported for use by protocols such as
+ * ILMI.
+ */
+extern guint dissect_snmp_pdu(tvbuff_t *, int, packet_info *, proto_tree *tree,
+ int, gint, gboolean);
+extern int dissect_snmp_engineid(proto_tree *, packet_info *, tvbuff_t *, int, int);
+
+/*#include "packet-snmp-exp.h"*/
+
+#endif /* PACKET_SNMP_H */
diff --git a/epan/dissectors/asn1/snmp/snmp.asn b/epan/dissectors/asn1/snmp/snmp.asn
new file mode 100644
index 00000000..9b214472
--- /dev/null
+++ b/epan/dissectors/asn1/snmp/snmp.asn
@@ -0,0 +1,338 @@
+RFC1157-SNMP DEFINITIONS ::= BEGIN
+
+-- IMPORTS
+-- ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks
+-- FROM RFC1155-SMI;
+--
+-- Local imports
+-- IMPORTS
+-- ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks
+-- FROM RFC1155-SMI;
+--
+-- names of objects
+-- (Note that these definitions of ObjectName and NotificationName
+-- are not to be IMPORTed by MIB modules.)
+--
+
+--ObjectSyntax ::= CHOICE {
+-- simple SimpleSyntax,
+-- application-wide ApplicationSyntax
+--}
+
+--SimpleSyntax ::= CHOICE {
+-- integer-value Integer-value,
+-- string-value String-value,
+-- objectID-value ObjectID-value,
+-- empty Empty
+--}
+
+--String-value ::= OCTET STRING (SIZE (0..65535))
+
+ -- includes Integer32
+--Integer-value ::= INTEGER (-2147483648..2147483647)
+
+--Integer32 ::= INTEGER (-2147483648..2147483647)
+
+--ObjectID-value ::= OBJECT IDENTIFIER
+
+--Empty ::= NULL
+
+ -- hundredths of seconds since an event, usualy the last restart
+--TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER (0..4294967295)
+
+--Opaque ::= [APPLICATION 4] IMPLICIT OCTET STRING
+
+--Counter64 ::= [APPLICATION 6] IMPLICIT INTEGER (0..18446744073709551615)
+
+--ApplicationSyntax ::= CHOICE {
+-- ipAddress-value IpAddress,
+-- counter-value Counter32,
+-- timeticks-value TimeTicks,
+-- arbitrary-value Opaque,
+-- big-counter-value Counter64,
+-- unsigned-integer-value Unsigned32
+ -- includes Gauge32
+--}
+--NetworkAddress ::= CHOICE { internet IpAddress }
+--IpAddress ::= [APPLICATION 0] IMPLICIT OCTET STRING (SIZE (4))
+
+NotificationName ::= OBJECT IDENTIFIER
+EnterpriseOID ::= OBJECT IDENTIFIER
+NetworkAddress ::= [APPLICATION 0] IMPLICIT OCTET STRING (SIZE (4))
+TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER (0..4294967295)
+Integer32 ::= INTEGER (-2147483648..2147483647)
+ObjectName ::= OBJECT IDENTIFIER
+--Counter32 ::= [APPLICATION 1] IMPLICIT INTEGER (0..4294967295)
+--Gauge32 ::= [APPLICATION 2] IMPLICIT INTEGER (0..4294967295)
+--Unsigned32 ::= [APPLICATION 2] IMPLICIT INTEGER (0..4294967295)
+
+-- End Import
+
+Message ::= SEQUENCE {
+ version Version,
+ community OCTET STRING,
+ data PDUs
+}
+
+Version ::= INTEGER { version-1(0), v2c(1), v2u (2), snmpv3(3) }
+
+
+Messagev2u ::=
+ SEQUENCE {
+ version Version,
+ parameters OCTET STRING,
+ -- <model=1>
+ -- <qoS><agentID><agentBoots><agentTime><maxSize>
+ -- <userLen><userName><authLen><authDigest>
+ -- <contextSelector>
+
+ datav2u CHOICE {
+ plaintext PDUs,
+ encrypted OCTET STRING
+ }
+}
+
+-- USMSecurityParametersSyntax DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+UsmSecurityParameters ::= SEQUENCE {
+ -- global User-based security parameters
+ msgAuthoritativeEngineID SnmpEngineID,
+ msgAuthoritativeEngineBoots INTEGER (0..2147483647),
+ msgAuthoritativeEngineTime INTEGER (0..2147483647),
+ msgUserName OCTET STRING (SIZE(1..32)),
+ -- authentication protocol specific parameters
+ msgAuthenticationParameters OCTET STRING,
+ -- privacy protocol specific parameters
+ msgPrivacyParameters OCTET STRING
+}
+ -- END USMSecurityParametersSyntax
+
+SnmpEngineID ::= OCTET STRING
+
+-- SNMPv3MessageSyntax DEFINITIONS IMPLICIT TAGS ::= BEGIN
+
+SNMPv3Message ::= SEQUENCE {
+ -- identify the layout of the SNMPv3Message
+ -- this element is in same position as in SNMPv1
+ -- and SNMPv2c, allowing recognition
+ -- the value 3 is used for snmpv3
+ msgVersion Version,
+ -- INTEGER ( 0 .. 2147483647 ),
+ -- administrative parameters
+ msgGlobalData HeaderData,
+ -- security model-specific parameters
+ -- format defined by Security Model
+ msgSecurityParameters OCTET STRING,
+ msgData ScopedPduData
+}
+
+HeaderData ::= SEQUENCE {
+ msgID INTEGER (0..2147483647),
+ msgMaxSize INTEGER (484..2147483647),
+
+ msgFlags OCTET STRING (SIZE(1)),
+ -- .... ...1 authFlag
+ -- .... ..1. privFlag
+ -- .... .1.. reportableFlag
+ -- Please observe:
+ -- .... ..00 is OK, means noAuthNoPriv
+ -- .... ..01 is OK, means authNoPriv
+ -- .... ..10 reserved, must NOT be used.
+ -- .... ..11 is OK, means authPriv
+
+ msgSecurityModel INTEGER (1..2147483647)
+}
+
+
+ScopedPduData ::= CHOICE {
+ plaintext ScopedPDU,
+ encryptedPDU OCTET STRING -- encrypted scopedPDU value
+}
+
+ScopedPDU ::= SEQUENCE {
+ contextEngineID SnmpEngineID,
+ contextName OCTET STRING,
+ data PDUs
+ -- ANY
+ -- e.g., PDUs as defined in RFC 1905
+}
+
+-- END SNMPv3MessageSyntax
+ -- protocol data units
+
+PDUs ::= CHOICE {
+ get-request GetRequest-PDU,
+ get-next-request GetNextRequest-PDU,
+ get-response GetResponse-PDU,
+ set-request SetRequest-PDU,
+ trap Trap-PDU,
+ getBulkRequest GetBulkRequest-PDU,
+ informRequest InformRequest-PDU,
+ snmpV2-trap SNMPv2-Trap-PDU,
+ report Report-PDU
+}
+
+-- PDUs
+
+GetRequest-PDU ::= [0] IMPLICIT PDU
+GetNextRequest-PDU ::= [1] IMPLICIT PDU
+GetResponse-PDU ::= [2] IMPLICIT PDU
+
+SetRequest-PDU ::= [3] IMPLICIT PDU
+
+-- v2 added
+-- [4] is obsolete
+GetBulkRequest-PDU ::= [5] IMPLICIT BulkPDU
+InformRequest-PDU ::= [6] IMPLICIT PDU
+SNMPv2-Trap-PDU ::= [7] IMPLICIT PDU
+
+ -- Usage and precise semantics of Report-PDU are not presently
+ -- defined. Any SNMP administrative framework making use of
+ -- this PDU must define its usage and semantics.
+Report-PDU ::= [8] IMPLICIT PDU
+
+
+PDU ::= SEQUENCE {
+ request-id INTEGER,
+ error-status INTEGER {
+ noError(0),
+ tooBig(1),
+ noSuchName(2), -- for proxy compatibility
+ badValue(3), -- for proxy compatibility
+ readOnly(4), -- for proxy compatibility
+ genErr(5),
+ noAccess(6),
+ wrongType(7),
+ wrongLength(8),
+ wrongEncoding(9),
+ wrongValue(10),
+ noCreation(11),
+ inconsistentValue(12),
+ resourceUnavailable(13),
+ commitFailed(14),
+ undoFailed(15),
+ authorizationError(16),
+ notWritable(17),
+ inconsistentName(18)
+ },
+ error-index INTEGER,
+ variable-bindings VarBindList
+}
+
+-- v2
+BulkPDU ::= SEQUENCE { -- MUST be identical in structure to PDU
+ request-id Integer32,
+ non-repeaters INTEGER (0..2147483647),
+ max-repetitions INTEGER (0..2147483647),
+ variable-bindings VarBindList
+}
+
+-- end v2
+Trap-PDU ::= [4] IMPLICIT SEQUENCE {
+ enterprise EnterpriseOID, -- type of object generating trap, see sysObjectID in [5]
+ agent-addr NetworkAddress, -- address of object generating trap
+ generic-trap INTEGER { -- generic trap type
+ coldStart(0),
+ warmStart(1),
+ linkDown(2),
+ linkUp(3),
+ authenticationFailure(4),
+ egpNeighborLoss(5),
+ enterpriseSpecific(6)
+ },
+ specific-trap INTEGER, -- specific code, present even if generic-trap is not enterpriseSpecific
+ time-stamp TimeTicks, -- time elapsed between the last (re)initialization of the network entity and the generation of the trap
+ variable-bindings VarBindList -- "interesting" information
+}
+
+
+-- variable bindings
+
+VarBind ::= SEQUENCE { name ObjectName, valueType ValueType }
+-- SEQUENCE {
+-- name ObjectName,
+-- valueType ValueType
+-- }
+
+--ValueType ::= CHOICE {
+-- value ObjectSyntax,
+-- unSpecified NULL,
+ -- in retrieval requests
+ -- exceptions in responses
+-- noSuchObject[0] IMPLICIT NULL,
+-- noSuchInstance[1] IMPLICIT NULL,
+-- endOfMibView[2] IMPLICIT NULL
+--}
+
+VarBindList ::= SEQUENCE OF VarBind
+
+-- SMUX DEFINITIONS ::= BEGIN RFC 1227
+
+SMUX-PDUs ::= CHOICE {
+ open OpenPDU,-- SMUX peer uses immediately after TCP open
+ close ClosePDU, -- either uses immediately before TCP close
+ registerRequest RReqPDU, -- SMUX peer uses
+
+-- registerResponse .. SNMP agent uses
+-- RRspPDU,
+--
+-- PDUs,
+-- Rewritten
+ registerResponse RegisterResponse,
+ -- note that roles are reversed:
+ -- SNMP agent does get/get-next/set
+ -- SMUX peer does get-response/trap
+
+ commitOrRollback -- SNMP agent uses
+ SOutPDU
+}
+
+RegisterResponse ::= CHOICE {
+ rRspPDU RRspPDU,
+ pDUs PDUs
+}
+
+ -- open PDU
+ -- currently only simple authentication
+
+OpenPDU ::= CHOICE {
+ smux-simple SimpleOpen
+}
+
+SimpleOpen ::= [APPLICATION 0] IMPLICIT SEQUENCE {
+ smux-version INTEGER { version-1(0) }, -- of SMUX protocol
+ identity OBJECT IDENTIFIER, -- of SMUX peer, authoritative
+ description DisplayString, -- of SMUX peer, implementation-specific
+ password OCTET STRING -- zero length indicates no authentication
+}
+
+DisplayString ::= OCTET STRING
+
+ClosePDU ::= [APPLICATION 1] IMPLICIT INTEGER {
+ goingDown(0),
+ unsupportedVersion(1),
+ packetFormat(2),
+ protocolError(3),
+ internalError(4),
+ authenticationFailure(5)
+}
+
+
+ -- insert PDU
+RReqPDU ::= [APPLICATION 2] IMPLICIT SEQUENCE {
+ subtree ObjectName,
+ priority INTEGER (-1..2147483647), -- the lower the better, "-1" means default
+
+ operation INTEGER {
+ delete(0), -- remove registration
+ readOnly(1), -- add registration, objects are RO
+ readWrite(2) -- .., objects are RW
+ }
+}
+
+RRspPDU ::= [APPLICATION 3] IMPLICIT INTEGER { failure(-1) } -- on success the non-negative priority is returned
+SOutPDU ::= [APPLICATION 4] IMPLICIT INTEGER { commit(0), rollback(1) }
+
+END
+
+
diff --git a/epan/dissectors/asn1/snmp/snmp.cnf b/epan/dissectors/asn1/snmp/snmp.cnf
new file mode 100644
index 00000000..9c9547aa
--- /dev/null
+++ b/epan/dissectors/asn1/snmp/snmp.cnf
@@ -0,0 +1,266 @@
+# snmp.cnf
+# snmp conformation file
+
+
+#.PDU
+SMUX-PDUs
+
+#.NO_EMIT
+NotificationName
+VarBind
+
+#.TYPE_RENAME
+Message/community Community
+Trap-PDU/_untag/generic-trap GenericTrap
+Trap-PDU/_untag/specific-trap SpecificTrap
+
+#.FIELD_RENAME
+Messagev2u/datav2u/plaintext v2u_plaintext
+BulkPDU/request-id bulkPDU_request-id
+
+#.FN_HDR SMUX-PDUs
+
+ snmp_conv_info_t *snmp_info = snmp_find_conversation_and_get_conv_data(actx->pinfo);
+
+ actx->private_data = snmp_info;
+
+#.FN_PARS Version VAL_PTR = &snmp_version
+
+#.FN_PARS PDUs
+
+ VAL_PTR = &pdu_type
+
+#.FN_BODY PDUs
+ gint pdu_type=-1;
+
+ snmp_request_response_t *srrp;
+ snmp_conv_info_t *snmp_info = (snmp_conv_info_t *)actx->private_data;
+
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+
+%(DEFAULT_BODY)s
+ if( (pdu_type!=-1) && snmp_PDUs_vals[pdu_type].strptr ){
+ col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%%s", snmp_PDUs_vals[pdu_type].strptr);
+
+ /* pdu_type is the index, not the tag so convert it to the tag value */
+ pdu_type = snmp_PDUs_vals[pdu_type].value;
+
+ srrp=snmp_match_request_response(tvb, actx->pinfo, tree, RequestID, pdu_type, snmp_info);
+ if (srrp) {
+ tap_queue_packet(snmp_tap, actx->pinfo, srrp);
+ }
+ }
+
+
+#.END
+
+#.FN_BODY PDU/request-id VAL_PTR = &RequestID
+
+%(DEFAULT_BODY)s
+
+#.FN_BODY Integer32 VAL_PTR = &RequestID
+
+%(DEFAULT_BODY)s
+
+#.FN_BODY Trap-PDU/_untag
+ generic_trap = 0;
+ enterprise_oid = NULL;
+
+%(DEFAULT_BODY)s
+
+ if (snmp_version != 0) {
+ expert_add_info(actx->pinfo, tree, &ei_snmp_trap_pdu_obsolete);
+ }
+
+#.FN_PARS Trap-PDU/_untag/generic-trap VAL_PTR = &generic_trap
+
+#.FN_BODY Trap-PDU/_untag/specific-trap VAL_PTR = &specific_trap
+ guint specific_trap;
+
+%(DEFAULT_BODY)s
+
+ if (generic_trap == 6) { /* enterprise specific */
+ const gchar *specific_str = snmp_lookup_specific_trap (specific_trap);
+ if (specific_str) {
+ proto_item_append_text(actx->created_item, " (%%s)", specific_str);
+ }
+ }
+#.END
+
+
+#.FN_PARS EnterpriseOID FN_VARIANT = _str VAL_PTR = &enterprise_oid
+
+#.FN_BODY EnterpriseOID
+ const gchar* name;
+
+%(DEFAULT_BODY)s
+
+ if (display_oid && enterprise_oid) {
+ name = oid_resolved_from_string(actx->pinfo->pool, enterprise_oid);
+ if (name) {
+ col_append_fstr (actx->pinfo->cinfo, COL_INFO, " %%s", name);
+ }
+ }
+
+#.END
+
+#.FN_PARS HeaderData/msgSecurityModel
+
+ VAL_PTR = &MsgSecurityModel
+
+#.FN_PARS UsmSecurityParameters/msgAuthoritativeEngineBoots
+
+ VAL_PTR = &usm_p.boots
+
+#.FN_PARS UsmSecurityParameters/msgAuthoritativeEngineTime
+
+ VAL_PTR = &usm_p.snmp_time
+
+#.FN_BODY UsmSecurityParameters/msgAuthoritativeEngineID
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &usm_p.engine_tvb);
+ if (usm_p.engine_tvb) {
+ proto_tree* engine_tree = proto_item_add_subtree(%(ACTX)s->created_item,ett_engineid);
+ dissect_snmp_engineid(engine_tree, actx->pinfo, usm_p.engine_tvb, 0, tvb_reported_length_remaining(usm_p.engine_tvb,0));
+ }
+
+#.FN_BODY SnmpEngineID
+ tvbuff_t* param_tvb = NULL;
+
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &param_tvb);
+ if (param_tvb) {
+ proto_tree* engine_tree = proto_item_add_subtree(%(ACTX)s->created_item,ett_engineid);
+ dissect_snmp_engineid(engine_tree, actx->pinfo, param_tvb, 0, tvb_reported_length_remaining(param_tvb,0));
+ }
+
+#.FN_PARS UsmSecurityParameters/msgUserName
+ VAL_PTR = &usm_p.user_tvb
+
+#.FN_BODY UsmSecurityParameters/msgAuthenticationParameters
+ offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &usm_p.auth_tvb);
+ if (usm_p.auth_tvb) {
+ usm_p.auth_item = %(ACTX)s->created_item;
+ usm_p.auth_offset = tvb_offset_from_real_beginning(usm_p.auth_tvb);
+ }
+#.FN_PARS UsmSecurityParameters/msgPrivacyParameters
+ VAL_PTR = &usm_p.priv_tvb
+
+#.FN_BODY ScopedPduData/encryptedPDU
+ tvbuff_t* crypt_tvb;
+ offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_snmp_encryptedPDU, &crypt_tvb);
+
+ if( usm_p.encrypted && crypt_tvb
+ && usm_p.user_assoc
+ && usm_p.user_assoc->user.privProtocol ) {
+
+ const gchar* error = NULL;
+ proto_tree* encryptedpdu_tree = proto_item_add_subtree(%(ACTX)s->created_item,ett_encryptedPDU);
+ tvbuff_t* cleartext_tvb = usm_p.user_assoc->user.privProtocol(&usm_p, crypt_tvb, actx->pinfo, &error );
+
+ if (! cleartext_tvb) {
+ proto_tree_add_expert_format(encryptedpdu_tree, actx->pinfo, &ei_snmp_failed_decrypted_data_pdu,
+ crypt_tvb, 0, -1, "Failed to decrypt encryptedPDU: %%s", error);
+
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "encryptedPDU: Failed to decrypt");
+
+ return offset;
+ } else {
+ proto_item* decrypted_item;
+ proto_tree* decrypted_tree;
+
+ if (! check_ScopedPdu(cleartext_tvb)) {
+ proto_tree_add_expert(encryptedpdu_tree, actx->pinfo, &ei_snmp_decrypted_data_bad_formatted, cleartext_tvb, 0, -1);
+
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "encryptedPDU: Decrypted data not formatted as expected");
+
+ return offset;
+ }
+
+
+ add_new_data_source(actx->pinfo, cleartext_tvb, "Decrypted ScopedPDU");
+
+ decrypted_item = proto_tree_add_item(encryptedpdu_tree, hf_snmp_decryptedPDU,cleartext_tvb,0,-1,ENC_NA);
+ decrypted_tree = proto_item_add_subtree(decrypted_item,ett_decrypted);
+ dissect_snmp_ScopedPDU(FALSE, cleartext_tvb, 0, actx, decrypted_tree, -1);
+ }
+ } else {
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "encryptedPDU: privKey Unknown");
+ }
+
+#.FN_BODY SNMPv3Message/msgSecurityParameters
+
+ switch(MsgSecurityModel){
+ case SNMP_SEC_USM: /* 3 */
+ offset = get_ber_identifier(tvb, offset, NULL, NULL, NULL);
+ offset = get_ber_length(tvb, offset, NULL, NULL);
+ offset = dissect_snmp_UsmSecurityParameters(FALSE, tvb, offset, actx, tree, -1);
+ usm_p.user_assoc = get_user_assoc(usm_p.engine_tvb, usm_p.user_tvb, actx->pinfo);
+ break;
+ case SNMP_SEC_ANY: /* 0 */
+ case SNMP_SEC_V1: /* 1 */
+ case SNMP_SEC_V2C: /* 2 */
+ default:
+ %(DEFAULT_BODY)s
+ break;
+ }
+
+#.FN_FTR SNMPv3Message
+
+ if( usm_p.authenticated
+ && usm_p.user_assoc ) {
+ const gchar* error = NULL;
+ proto_item* authen_item;
+ proto_tree* authen_tree = proto_item_add_subtree(usm_p.auth_item,ett_authParameters);
+ guint8* calc_auth = NULL;
+ guint calc_auth_len = 0;
+
+ usm_p.authOK = snmp_usm_auth(actx->pinfo, usm_p.user_assoc->user.authModel, &usm_p, &calc_auth, &calc_auth_len, &error );
+
+ if (error) {
+ expert_add_info_format( actx->pinfo, usm_p.auth_item, &ei_snmp_verify_authentication_error, "Error while verifying Message authenticity: %s", error );
+ } else {
+ expert_field* expert;
+
+ authen_item = proto_tree_add_boolean(authen_tree, hf_snmp_msgAuthentication, tvb, 0, 0, usm_p.authOK);
+ proto_item_set_generated(authen_item);
+
+ if (usm_p.authOK) {
+ expert = &ei_snmp_authentication_ok;
+ } else {
+ const gchar* calc_auth_str = bytes_to_str_punct(actx->pinfo->pool, calc_auth,calc_auth_len,' ');
+ proto_item_append_text(authen_item, " calculated = %s", calc_auth_str);
+ expert = &ei_snmp_authentication_error;
+ }
+
+ expert_add_info( actx->pinfo, authen_item, expert);
+ }
+ }
+
+#.END
+
+
+
+#.FN_BODY HeaderData/msgFlags VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+ %(DEFAULT_BODY)s
+ if (parameter_tvb){
+ guint8 v3_flags = tvb_get_guint8(parameter_tvb, 0);
+ proto_tree* flags_tree = proto_item_add_subtree(%(ACTX)s->created_item,ett_msgFlags);
+
+ proto_tree_add_item(flags_tree, hf_snmp_v3_flags_report, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(flags_tree, hf_snmp_v3_flags_crypt, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(flags_tree, hf_snmp_v3_flags_auth, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+
+ usm_p.encrypted = v3_flags & TH_CRYPT ? TRUE : FALSE;
+ usm_p.authenticated = v3_flags & TH_AUTH ? TRUE : FALSE;
+ }
+
+
+#.TYPE_ATTR
+NetworkAddress TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
+Message/community TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+HeaderData/msgSecurityModel TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(sec_models)
+UsmSecurityParameters/msgUserName TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+ScopedPDU/contextName TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
+#.END
diff --git a/epan/dissectors/asn1/spnego/CMakeLists.txt b/epan/dissectors/asn1/spnego/CMakeLists.txt
new file mode 100644
index 00000000..20041788
--- /dev/null
+++ b/epan/dissectors/asn1/spnego/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME spnego )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/spnego/packet-spnego-template.c b/epan/dissectors/asn1/spnego/packet-spnego-template.c
new file mode 100644
index 00000000..25fcfa08
--- /dev/null
+++ b/epan/dissectors/asn1/spnego/packet-spnego-template.c
@@ -0,0 +1,1464 @@
+/* packet-spnego-template.c
+ * Routines for the simple and protected GSS-API negotiation mechanism
+ * as described in RFC 2478.
+ * Copyright 2002, Tim Potter <tpot@samba.org>
+ * Copyright 2002, Richard Sharpe <rsharpe@ns.aus.com>
+ * Copyright 2003, Richard Sharpe <rsharpe@richardsharpe.com>
+ * Copyright 2005, Ronnie Sahlberg (krb decryption)
+ * Copyright 2005, Anders Broman (converted to asn2wrs generated dissector)
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+/* The heimdal code for decryption of GSSAPI wrappers using heimdal comes from
+ Heimdal 1.6 and has been modified for wireshark's requirements.
+*/
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/asn1.h>
+#include <epan/conversation.h>
+#include <epan/proto_data.h>
+#include <wsutil/wsgcrypt.h>
+#include "packet-gssapi.h"
+#include "packet-kerberos.h"
+#include "packet-ber.h"
+
+#define PNAME "Simple Protected Negotiation"
+#define PSNAME "SPNEGO"
+#define PFNAME "spnego"
+
+void proto_register_spnego(void);
+void proto_reg_handoff_spnego(void);
+
+static dissector_handle_t spnego_wrap_handle;
+
+/* Initialize the protocol and registered fields */
+static int proto_spnego = -1;
+static int proto_spnego_krb5 = -1;
+
+
+static int hf_spnego_wraptoken = -1;
+static int hf_spnego_krb5_oid;
+static int hf_spnego_krb5 = -1;
+static int hf_spnego_krb5_tok_id = -1;
+static int hf_spnego_krb5_sgn_alg = -1;
+static int hf_spnego_krb5_seal_alg = -1;
+static int hf_spnego_krb5_snd_seq = -1;
+static int hf_spnego_krb5_sgn_cksum = -1;
+static int hf_spnego_krb5_confounder = -1;
+static int hf_spnego_krb5_filler = -1;
+static int hf_spnego_krb5_cfx_flags = -1;
+static int hf_spnego_krb5_cfx_flags_01 = -1;
+static int hf_spnego_krb5_cfx_flags_02 = -1;
+static int hf_spnego_krb5_cfx_flags_04 = -1;
+static int hf_spnego_krb5_cfx_ec = -1;
+static int hf_spnego_krb5_cfx_rrc = -1;
+static int hf_spnego_krb5_cfx_seq = -1;
+
+#include "packet-spnego-hf.c"
+
+/* Global variables */
+static const char *MechType_oid;
+gssapi_oid_value *next_level_value;
+gboolean saw_mechanism = FALSE;
+
+
+/* Initialize the subtree pointers */
+static gint ett_spnego = -1;
+static gint ett_spnego_wraptoken = -1;
+static gint ett_spnego_krb5 = -1;
+static gint ett_spnego_krb5_cfx_flags = -1;
+
+#include "packet-spnego-ett.c"
+
+static expert_field ei_spnego_decrypted_keytype = EI_INIT;
+static expert_field ei_spnego_unknown_header = EI_INIT;
+
+static dissector_handle_t spnego_handle;
+static dissector_handle_t spnego_krb5_handle;
+static dissector_handle_t spnego_krb5_wrap_handle;
+
+/*
+ * Unfortunately, we have to have forward declarations of these,
+ * as the code generated by asn2wrs includes a call before the
+ * definition.
+ */
+static int dissect_spnego_NegTokenInit(bool implicit_tag, tvbuff_t *tvb,
+ int offset, asn1_ctx_t *actx _U_,
+ proto_tree *tree, int hf_index);
+static int dissect_spnego_NegTokenInit2(bool implicit_tag, tvbuff_t *tvb,
+ int offset, asn1_ctx_t *actx _U_,
+ proto_tree *tree, int hf_index);
+
+#include "packet-spnego-fn.c"
+/*
+ * This is the SPNEGO KRB5 dissector. It is not true KRB5, but some ASN.1
+ * wrapped blob with an OID, USHORT token ID, and a Ticket, that is also
+ * ASN.1 wrapped by the looks of it. It conforms to RFC1964.
+ */
+
+#define KRB_TOKEN_AP_REQ 0x0001
+#define KRB_TOKEN_AP_REP 0x0002
+#define KRB_TOKEN_AP_ERR 0x0003
+#define KRB_TOKEN_GETMIC 0x0101
+#define KRB_TOKEN_WRAP 0x0102
+#define KRB_TOKEN_DELETE_SEC_CONTEXT 0x0201
+#define KRB_TOKEN_TGT_REQ 0x0004
+#define KRB_TOKEN_TGT_REP 0x0104
+#define KRB_TOKEN_CFX_GETMIC 0x0404
+#define KRB_TOKEN_CFX_WRAP 0x0405
+
+static const value_string spnego_krb5_tok_id_vals[] = {
+ { KRB_TOKEN_AP_REQ, "KRB5_AP_REQ"},
+ { KRB_TOKEN_AP_REP, "KRB5_AP_REP"},
+ { KRB_TOKEN_AP_ERR, "KRB5_ERROR"},
+ { KRB_TOKEN_GETMIC, "KRB5_GSS_GetMIC" },
+ { KRB_TOKEN_WRAP, "KRB5_GSS_Wrap" },
+ { KRB_TOKEN_DELETE_SEC_CONTEXT, "KRB5_GSS_Delete_sec_context" },
+ { KRB_TOKEN_TGT_REQ, "KERB_TGT_REQUEST" },
+ { KRB_TOKEN_TGT_REP, "KERB_TGT_REPLY" },
+ { KRB_TOKEN_CFX_GETMIC, "KRB_TOKEN_CFX_GetMic" },
+ { KRB_TOKEN_CFX_WRAP, "KRB_TOKEN_CFX_WRAP" },
+ { 0, NULL}
+};
+
+#define KRB_SGN_ALG_DES_MAC_MD5 0x0000
+#define KRB_SGN_ALG_MD2_5 0x0001
+#define KRB_SGN_ALG_DES_MAC 0x0002
+#define KRB_SGN_ALG_HMAC 0x0011
+
+static const value_string spnego_krb5_sgn_alg_vals[] = {
+ { KRB_SGN_ALG_DES_MAC_MD5, "DES MAC MD5"},
+ { KRB_SGN_ALG_MD2_5, "MD2.5"},
+ { KRB_SGN_ALG_DES_MAC, "DES MAC"},
+ { KRB_SGN_ALG_HMAC, "HMAC"},
+ { 0, NULL}
+};
+
+#define KRB_SEAL_ALG_DES_CBC 0x0000
+#define KRB_SEAL_ALG_RC4 0x0010
+#define KRB_SEAL_ALG_NONE 0xffff
+
+static const value_string spnego_krb5_seal_alg_vals[] = {
+ { KRB_SEAL_ALG_DES_CBC, "DES CBC"},
+ { KRB_SEAL_ALG_RC4, "RC4"},
+ { KRB_SEAL_ALG_NONE, "None"},
+ { 0, NULL}
+};
+
+/*
+ * XXX - is this for SPNEGO or just GSS-API?
+ * RFC 1964 is "The Kerberos Version 5 GSS-API Mechanism"; presumably one
+ * can directly designate Kerberos V5 as a mechanism in GSS-API, rather
+ * than designating SPNEGO as the mechanism, offering Kerberos V5, and
+ * getting it accepted.
+ */
+static int
+dissect_spnego_krb5_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
+static int
+dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint16 token_id, gssapi_encrypt_info_t* gssapi_encrypt);
+static int
+dissect_spnego_krb5_cfx_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
+static int
+dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint16 token_id, gssapi_encrypt_info_t* gssapi_encrypt);
+
+static int
+dissect_spnego_krb5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ proto_item *item;
+ proto_tree *subtree;
+ int offset = 0;
+ guint16 token_id;
+ const char *oid;
+ tvbuff_t *krb5_tvb;
+ gint8 ber_class;
+ bool pc, ind = 0;
+ gint32 tag;
+ guint32 len;
+ gssapi_encrypt_info_t* encrypt_info = (gssapi_encrypt_info_t*)data;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ item = proto_tree_add_item(tree, hf_spnego_krb5, tvb, offset, -1, ENC_NA);
+
+ subtree = proto_item_add_subtree(item, ett_spnego_krb5);
+
+ /*
+ * The KRB5 blob conforms to RFC1964:
+ * [APPLICATION 0] {
+ * OID,
+ * USHORT (0x0001 == AP-REQ, 0x0002 == AP-REP, 0x0003 == ERROR),
+ * OCTET STRING }
+ *
+ * However, for some protocols, the KRB5 blob starts at the SHORT
+ * and has no DER encoded header etc.
+ *
+ * It appears that for some other protocols the KRB5 blob is just
+ * a Kerberos message, with no [APPLICATION 0] header, no OID,
+ * and no USHORT.
+ *
+ * So:
+ *
+ * If we see an [APPLICATION 0] HEADER, we show the OID and
+ * the USHORT, and then dissect the rest as a Kerberos message.
+ *
+ * If we see an [APPLICATION 14] or [APPLICATION 15] header,
+ * we assume it's an AP-REQ or AP-REP message, and dissect
+ * it all as a Kerberos message.
+ *
+ * Otherwise, we show the USHORT, and then dissect the rest
+ * as a Kerberos message.
+ */
+
+ /*
+ * Get the first header ...
+ */
+ get_ber_identifier(tvb, offset, &ber_class, &pc, &tag);
+ if (ber_class == BER_CLASS_APP && pc) {
+ /*
+ * [APPLICATION <tag>]
+ */
+ offset = dissect_ber_identifier(pinfo, subtree, tvb, offset, &ber_class, &pc, &tag);
+ offset = dissect_ber_length(pinfo, subtree, tvb, offset, &len, &ind);
+
+ switch (tag) {
+
+ case 0:
+ /*
+ * [APPLICATION 0]
+ */
+
+ /* Next, the OID */
+ offset=dissect_ber_object_identifier_str(FALSE, &asn1_ctx, subtree, tvb, offset, hf_spnego_krb5_oid, &oid);
+
+ token_id = tvb_get_letohs(tvb, offset);
+ proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2, token_id);
+
+ offset += 2;
+
+ break;
+
+ case 14: /* [APPLICATION 14] */
+ case 15: /* [APPLICATION 15] */
+ /*
+ * No token ID - just dissect as a Kerberos message and
+ * return.
+ */
+ dissect_kerberos_main(tvb, pinfo, subtree, FALSE, NULL);
+ return tvb_captured_length(tvb);
+
+ default:
+ proto_tree_add_expert_format(subtree, pinfo, &ei_spnego_unknown_header, tvb, offset, 0,
+ "Unknown header (class=%d, pc=%d, tag=%d)", ber_class, pc, tag);
+ goto done;
+ }
+ } else {
+ /* Next, the token ID ... */
+
+ token_id = tvb_get_letohs(tvb, offset);
+ proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2, token_id);
+
+ offset += 2;
+ }
+
+ switch (token_id) {
+
+ case KRB_TOKEN_TGT_REQ:
+ offset = dissect_kerberos_TGT_REQ(FALSE, tvb, offset, &asn1_ctx, subtree, -1);
+ break;
+ case KRB_TOKEN_TGT_REP:
+ offset = dissect_kerberos_TGT_REP(FALSE, tvb, offset, &asn1_ctx, subtree, -1);
+ break;
+
+ case KRB_TOKEN_AP_REQ:
+ case KRB_TOKEN_AP_REP:
+ case KRB_TOKEN_AP_ERR:
+ krb5_tvb = tvb_new_subset_remaining(tvb, offset);
+ offset += dissect_kerberos_main(krb5_tvb, pinfo, subtree, FALSE, NULL);
+ break;
+
+ case KRB_TOKEN_GETMIC:
+ offset = dissect_spnego_krb5_getmic_base(tvb, offset, pinfo, subtree);
+ break;
+
+ case KRB_TOKEN_WRAP:
+ offset = dissect_spnego_krb5_wrap_base(tvb, offset, pinfo, subtree, token_id, encrypt_info);
+ break;
+
+ case KRB_TOKEN_DELETE_SEC_CONTEXT:
+
+ break;
+
+ case KRB_TOKEN_CFX_GETMIC:
+ offset = dissect_spnego_krb5_cfx_getmic_base(tvb, offset, pinfo, subtree);
+ break;
+
+ case KRB_TOKEN_CFX_WRAP:
+ offset = dissect_spnego_krb5_cfx_wrap_base(tvb, offset, pinfo, subtree, token_id, encrypt_info);
+ break;
+
+ default:
+
+ break;
+ }
+
+ done:
+ proto_item_set_len(item, offset);
+ return tvb_captured_length(tvb);
+}
+
+#ifdef HAVE_KERBEROS
+#ifndef KEYTYPE_ARCFOUR_56
+# define KEYTYPE_ARCFOUR_56 24
+#endif
+#ifndef KEYTYPE_ARCFOUR_HMAC
+# define KEYTYPE_ARCFOUR_HMAC 23
+#endif
+/* XXX - We should probably do a configure-time check for this instead */
+#ifndef KRB5_KU_USAGE_SEAL
+# define KRB5_KU_USAGE_SEAL 22
+#endif
+
+static int
+arcfour_mic_key(const guint8 *key_data, size_t key_size, int key_type,
+ const guint8 *cksum_data, size_t cksum_size,
+ guint8 *key6_data)
+{
+ guint8 k5_data[HASH_MD5_LENGTH];
+ guint8 T[4] = { 0 };
+
+ if (key_type == KEYTYPE_ARCFOUR_56) {
+ guint8 L40[14] = "fortybits";
+ memcpy(L40 + 10, T, sizeof(T));
+ if (ws_hmac_buffer(GCRY_MD_MD5, k5_data, L40, 14, key_data, key_size)) {
+ return 0;
+ }
+ memset(&k5_data[7], 0xAB, 9);
+ } else {
+ if (ws_hmac_buffer(GCRY_MD_MD5, k5_data, T, 4, key_data, key_size)) {
+ return 0;
+ }
+ }
+
+ if (ws_hmac_buffer(GCRY_MD_MD5, key6_data, cksum_data, cksum_size, k5_data, HASH_MD5_LENGTH)) {
+ return 0;
+ }
+ return 0;
+}
+
+static int
+usage2arcfour(int usage)
+{
+ switch (usage) {
+ case 3: /*KRB5_KU_AS_REP_ENC_PART 3 */
+ case 9: /*KRB5_KU_TGS_REP_ENC_PART_SUB_KEY 9 */
+ return 8;
+ case 22: /*KRB5_KU_USAGE_SEAL 22 */
+ return 13;
+ case 23: /*KRB5_KU_USAGE_SIGN 23 */
+ return 15;
+ case 24: /*KRB5_KU_USAGE_SEQ 24 */
+ return 0;
+ default :
+ return 0;
+ }
+}
+
+static int
+arcfour_mic_cksum(guint8 *key_data, int key_length,
+ unsigned int usage,
+ guint8 sgn_cksum[8],
+ const guint8 *v1, size_t l1,
+ const guint8 *v2, size_t l2,
+ const guint8 *v3, size_t l3)
+{
+ static const guint8 signature[] = "signaturekey";
+ guint8 ksign_c[HASH_MD5_LENGTH];
+ guint8 t[4];
+ guint8 digest[HASH_MD5_LENGTH];
+ int rc4_usage;
+ guint8 cksum[HASH_MD5_LENGTH];
+ gcry_md_hd_t md5_handle;
+
+ rc4_usage=usage2arcfour(usage);
+ if (ws_hmac_buffer(GCRY_MD_MD5, ksign_c, signature, sizeof(signature), key_data, key_length)) {
+ return 0;
+ }
+
+ if (gcry_md_open(&md5_handle, GCRY_MD_MD5, 0)) {
+ return 0;
+ }
+ t[0] = (rc4_usage >> 0) & 0xFF;
+ t[1] = (rc4_usage >> 8) & 0xFF;
+ t[2] = (rc4_usage >> 16) & 0xFF;
+ t[3] = (rc4_usage >> 24) & 0xFF;
+ gcry_md_write(md5_handle, t, 4);
+ gcry_md_write(md5_handle, v1, l1);
+ gcry_md_write(md5_handle, v2, l2);
+ gcry_md_write(md5_handle, v3, l3);
+ memcpy(digest, gcry_md_read(md5_handle, 0), HASH_MD5_LENGTH);
+ gcry_md_close(md5_handle);
+
+ if (ws_hmac_buffer(GCRY_MD_MD5, cksum, digest, HASH_MD5_LENGTH, ksign_c, HASH_MD5_LENGTH)) {
+ return 0;
+ }
+
+ memcpy(sgn_cksum, cksum, 8);
+
+ return 0;
+}
+
+/*
+ * Verify padding of a gss wrapped message and return its length.
+ */
+static int
+gssapi_verify_pad(guint8 *wrapped_data, int wrapped_length,
+ int datalen,
+ int *padlen)
+{
+ guint8 *pad;
+ int padlength;
+ int i;
+
+ pad = wrapped_data + wrapped_length - 1;
+ padlength = *pad;
+
+ if (padlength > datalen)
+ return 1;
+
+ for (i = padlength; i > 0 && *pad == padlength; i--, pad--);
+ if (i != 0)
+ return 2;
+
+ *padlen = padlength;
+
+ return 0;
+}
+
+static int
+decrypt_arcfour(gssapi_encrypt_info_t* gssapi_encrypt, guint8 *input_message_buffer, guint8 *output_message_buffer,
+ guint8 *key_value, int key_size, int key_type)
+{
+ guint8 Klocaldata[16];
+ int ret;
+ int datalen;
+ guint8 k6_data[16];
+ guint32 SND_SEQ[2];
+ guint8 Confounder[8];
+ guint8 cksum_data[8];
+ int cmp;
+ int conf_flag;
+ int padlen = 0;
+ gcry_cipher_hd_t rc4_handle;
+ int i;
+
+ datalen = tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb);
+
+ if(tvb_get_ntohs(gssapi_encrypt->gssapi_wrap_tvb, 4)==0x1000){
+ conf_flag=1;
+ } else if (tvb_get_ntohs(gssapi_encrypt->gssapi_wrap_tvb, 4)==0xffff){
+ conf_flag=0;
+ } else {
+ return -3;
+ }
+
+ if(tvb_get_ntohs(gssapi_encrypt->gssapi_wrap_tvb, 6)!=0xffff){
+ return -4;
+ }
+
+ ret = arcfour_mic_key(key_value, key_size, key_type,
+ tvb_get_ptr(gssapi_encrypt->gssapi_wrap_tvb, 16, 8),
+ 8, /* SGN_CKSUM */
+ k6_data);
+ if (ret) {
+ return -5;
+ }
+
+ tvb_memcpy(gssapi_encrypt->gssapi_wrap_tvb, SND_SEQ, 8, 8);
+ if (gcry_cipher_open (&rc4_handle, GCRY_CIPHER_ARCFOUR, GCRY_CIPHER_MODE_STREAM, 0)) {
+ return -12;
+ }
+ if (gcry_cipher_setkey(rc4_handle, k6_data, sizeof(k6_data))) {
+ gcry_cipher_close(rc4_handle);
+ return -13;
+ }
+ gcry_cipher_decrypt(rc4_handle, (guint8 *)SND_SEQ, 8, NULL, 0);
+ gcry_cipher_close(rc4_handle);
+
+ memset(k6_data, 0, sizeof(k6_data));
+
+
+
+ if (SND_SEQ[1] != 0xFFFFFFFF && SND_SEQ[1] != 0x00000000) {
+ return -6;
+ }
+
+
+ for (i = 0; i < 16; i++)
+ Klocaldata[i] = ((guint8 *)key_value)[i] ^ 0xF0;
+
+ ret = arcfour_mic_key(Klocaldata,sizeof(Klocaldata),key_type,
+ (const guint8 *)SND_SEQ, 4,
+ k6_data);
+ memset(Klocaldata, 0, sizeof(Klocaldata));
+ if (ret) {
+ return -7;
+ }
+
+ if(conf_flag) {
+
+ tvb_memcpy(gssapi_encrypt->gssapi_wrap_tvb, Confounder, 24, 8);
+ if (gcry_cipher_open (&rc4_handle, GCRY_CIPHER_ARCFOUR, GCRY_CIPHER_MODE_STREAM, 0)) {
+ return -14;
+ }
+ if (gcry_cipher_setkey(rc4_handle, k6_data, sizeof(k6_data))) {
+ gcry_cipher_close(rc4_handle);
+ return -15;
+ }
+
+ gcry_cipher_decrypt(rc4_handle, Confounder, 8, NULL, 0);
+ gcry_cipher_decrypt(rc4_handle, output_message_buffer, datalen, input_message_buffer, datalen);
+ gcry_cipher_close(rc4_handle);
+ } else {
+ tvb_memcpy(gssapi_encrypt->gssapi_wrap_tvb, Confounder, 24, 8);
+ memcpy(output_message_buffer, input_message_buffer, datalen);
+ }
+ memset(k6_data, 0, sizeof(k6_data));
+
+ /* only normal (i.e. non DCE style wrapping use padding ? */
+ if(gssapi_encrypt->decrypt_gssapi_tvb==DECRYPT_GSSAPI_NORMAL){
+ ret = gssapi_verify_pad(output_message_buffer,datalen,datalen, &padlen);
+ if (ret) {
+ return -9;
+ }
+ datalen -= padlen;
+ }
+
+ /* don't know what the checksum looks like for dce style gssapi */
+ if(gssapi_encrypt->decrypt_gssapi_tvb==DECRYPT_GSSAPI_NORMAL){
+ ret = arcfour_mic_cksum(key_value, key_size, KRB5_KU_USAGE_SEAL,
+ cksum_data,
+ tvb_get_ptr(gssapi_encrypt->gssapi_wrap_tvb, 0, 8), 8,
+ Confounder, sizeof(Confounder), output_message_buffer,
+ datalen + padlen);
+ if (ret) {
+ return -10;
+ }
+
+ cmp = tvb_memeql(gssapi_encrypt->gssapi_wrap_tvb, 16, cksum_data, 8); /* SGN_CKSUM */
+ if (cmp) {
+ return -11;
+ }
+ }
+
+ return datalen;
+}
+
+
+
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+
+static void
+decrypt_gssapi_krb_arcfour_wrap(proto_tree *tree _U_, packet_info *pinfo, tvbuff_t *tvb, int keytype, gssapi_encrypt_info_t* gssapi_encrypt)
+{
+ int ret;
+ enc_key_t *ek;
+ int length;
+ const guint8 *original_data;
+
+ guint8 *cryptocopy=NULL; /* workaround for pre-0.6.1 heimdal bug */
+ guint8 *output_message_buffer;
+
+ length=tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb);
+ original_data=tvb_get_ptr(gssapi_encrypt->gssapi_encrypted_tvb, 0, length);
+
+ /* don't do anything if we are not attempting to decrypt data */
+/*
+ if(!krb_decrypt){
+ return;
+ }
+*/
+ /* XXX we should only do this for first time, then store somewhere */
+ /* XXX We also need to re-read the keytab when the preference changes */
+
+ cryptocopy=(guint8 *)wmem_alloc(pinfo->pool, length);
+ output_message_buffer=(guint8 *)wmem_alloc(pinfo->pool, length);
+
+ for(ek=enc_key_list;ek;ek=ek->next){
+ /* shortcircuit and bail out if enctypes are not matching */
+ if(ek->keytype!=keytype){
+ continue;
+ }
+
+ /* pre-0.6.1 versions of Heimdal would sometimes change
+ the cryptotext data even when the decryption failed.
+ This would obviously not work since we iterate over the
+ keys. So just give it a copy of the crypto data instead.
+ This has been seen for RC4-HMAC blobs.
+ */
+ memcpy(cryptocopy, original_data, length);
+ ret=decrypt_arcfour(gssapi_encrypt,
+ cryptocopy,
+ output_message_buffer,
+ ek->keyvalue,
+ ek->keylength,
+ ek->keytype);
+ if (ret >= 0) {
+ expert_add_info_format(pinfo, NULL, &ei_spnego_decrypted_keytype,
+ "Decrypted keytype %d in frame %u using %s",
+ ek->keytype, pinfo->num, ek->key_origin);
+
+ gssapi_encrypt->gssapi_decrypted_tvb=tvb_new_child_real_data(tvb, output_message_buffer, ret, ret);
+ add_new_data_source(pinfo, gssapi_encrypt->gssapi_decrypted_tvb, "Decrypted GSS-Krb5");
+ return;
+ }
+ }
+}
+
+/* borrowed from heimdal */
+static int
+rrc_rotate(guint8 *data, int len, guint16 rrc, int unrotate)
+{
+ guint8 *tmp, buf[256];
+ size_t left;
+
+ if (len == 0)
+ return 0;
+
+ rrc %= len;
+
+ if (rrc == 0)
+ return 0;
+
+ left = len - rrc;
+
+ if (rrc <= sizeof(buf)) {
+ tmp = buf;
+ } else {
+ tmp = (guint8 *)g_malloc(rrc);
+ if (tmp == NULL)
+ return -1;
+ }
+
+ if (unrotate) {
+ memcpy(tmp, data, rrc);
+ memmove(data, data + rrc, left);
+ memcpy(data + left, tmp, rrc);
+ } else {
+ memcpy(tmp, data + left, rrc);
+ memmove(data + rrc, data, left);
+ memcpy(data, tmp, rrc);
+ }
+
+ if (rrc > sizeof(buf))
+ g_free(tmp);
+
+ return 0;
+}
+
+
+static void
+decrypt_gssapi_krb_cfx_wrap(proto_tree *tree,
+ packet_info *pinfo,
+ tvbuff_t *checksum_tvb,
+ gssapi_encrypt_info_t* gssapi_encrypt,
+ guint16 ec _U_,
+ guint16 rrc,
+ int keytype,
+ unsigned int usage)
+{
+ guint8 *rotated;
+ guint8 *output;
+ int datalen;
+ tvbuff_t *next_tvb;
+
+ /* don't do anything if we are not attempting to decrypt data */
+ if(!krb_decrypt){
+ return;
+ }
+
+ if (gssapi_encrypt->decrypt_gssapi_tvb==DECRYPT_GSSAPI_DCE) {
+ tvbuff_t *out_tvb = NULL;
+
+ out_tvb = decrypt_krb5_krb_cfx_dce(tree, pinfo, usage, keytype,
+ gssapi_encrypt->gssapi_header_tvb,
+ gssapi_encrypt->gssapi_encrypted_tvb,
+ gssapi_encrypt->gssapi_trailer_tvb,
+ checksum_tvb);
+ if (out_tvb) {
+ gssapi_encrypt->gssapi_decrypted_tvb = out_tvb;
+ add_new_data_source(pinfo, gssapi_encrypt->gssapi_decrypted_tvb, "Decrypted GSS-Krb5 CFX DCE");
+ }
+ return;
+ }
+
+ datalen = tvb_captured_length(checksum_tvb) + tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb);
+
+ rotated = (guint8 *)wmem_alloc(pinfo->pool, datalen);
+
+ tvb_memcpy(checksum_tvb, rotated, 0, tvb_captured_length(checksum_tvb));
+ tvb_memcpy(gssapi_encrypt->gssapi_encrypted_tvb, rotated + tvb_captured_length(checksum_tvb),
+ 0, tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb));
+
+ rrc_rotate(rotated, datalen, rrc, TRUE);
+
+ next_tvb=tvb_new_child_real_data(gssapi_encrypt->gssapi_encrypted_tvb, rotated,
+ datalen, datalen);
+ add_new_data_source(pinfo, next_tvb, "GSSAPI CFX");
+
+ output = decrypt_krb5_data(tree, pinfo, usage, next_tvb, keytype, &datalen);
+
+ if (output) {
+ guint8 *outdata;
+
+ outdata = (guint8 *)wmem_memdup(pinfo->pool, output, tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb));
+
+ gssapi_encrypt->gssapi_decrypted_tvb=tvb_new_child_real_data(gssapi_encrypt->gssapi_encrypted_tvb,
+ outdata,
+ tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb),
+ tvb_captured_length(gssapi_encrypt->gssapi_encrypted_tvb));
+ add_new_data_source(pinfo, gssapi_encrypt->gssapi_decrypted_tvb, "Decrypted GSS-Krb5");
+ }
+}
+
+#endif /* HAVE_HEIMDAL_KERBEROS || HAVE_MIT_KERBEROS */
+
+
+#endif
+
+/*
+ * This is for GSSAPI Wrap tokens ...
+ */
+static int
+dissect_spnego_krb5_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint16 token_id, gssapi_encrypt_info_t* gssapi_encrypt)
+{
+ guint16 sgn_alg, seal_alg;
+#ifdef HAVE_KERBEROS
+ int start_offset=offset;
+#else
+ (void) pinfo;
+ (void) token_id;
+#endif
+
+ /*
+ * The KRB5 blob conforms to RFC1964:
+ * USHORT (0x0102 == GSS_Wrap)
+ * and so on }
+ */
+
+ /* Now, the sign and seal algorithms ... */
+
+ sgn_alg = tvb_get_letohs(tvb, offset);
+ proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2, sgn_alg);
+
+ offset += 2;
+
+ seal_alg = tvb_get_letohs(tvb, offset);
+ proto_tree_add_uint(tree, hf_spnego_krb5_seal_alg, tvb, offset, 2, seal_alg);
+
+ offset += 2;
+
+ /* Skip the filler */
+
+ offset += 2;
+
+ /* Encrypted sequence number */
+
+ proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8, ENC_NA);
+
+ offset += 8;
+
+ /* Checksum of plaintext padded data */
+
+ proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8, ENC_NA);
+
+ offset += 8;
+
+ /*
+ * At least according to draft-brezak-win2k-krb-rc4-hmac-04,
+ * if the signing algorithm is KRB_SGN_ALG_HMAC, there's an
+ * extra 8 bytes of "Random confounder" after the checksum.
+ * It certainly confounds code expecting all Kerberos 5
+ * GSS_Wrap() tokens to look the same....
+ */
+ if ((sgn_alg == KRB_SGN_ALG_HMAC) ||
+ /* there also seems to be a confounder for DES MAC MD5 - certainly seen when using with
+ SASL with LDAP between a Java client and Active Directory. If this breaks other things
+ we may need to make this an option. gal 17/2/06 */
+ (sgn_alg == KRB_SGN_ALG_DES_MAC_MD5)) {
+ proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8, ENC_NA);
+ offset += 8;
+ }
+
+ /* Is the data encrypted? */
+ if (gssapi_encrypt != NULL)
+ gssapi_encrypt->gssapi_data_encrypted=(seal_alg!=KRB_SEAL_ALG_NONE);
+
+#ifdef HAVE_KERBEROS
+#define GSS_ARCFOUR_WRAP_TOKEN_SIZE 32
+ if(gssapi_encrypt && gssapi_encrypt->decrypt_gssapi_tvb){
+ /* if the caller did not provide a tvb, then we just use
+ whatever is left of our current tvb.
+ */
+ if(!gssapi_encrypt->gssapi_encrypted_tvb){
+ int len;
+ len=tvb_reported_length_remaining(tvb,offset);
+ if(len>tvb_captured_length_remaining(tvb, offset)){
+ /* no point in trying to decrypt,
+ we don't have the full pdu.
+ */
+ return offset;
+ }
+ gssapi_encrypt->gssapi_encrypted_tvb = tvb_new_subset_length(
+ tvb, offset, len);
+ }
+
+ /* if this is KRB5 wrapped rc4-hmac */
+ if((token_id==KRB_TOKEN_WRAP)
+ &&(sgn_alg==KRB_SGN_ALG_HMAC)
+ &&(seal_alg==KRB_SEAL_ALG_RC4)){
+ /* do we need to create a tvb for the wrapper
+ as well ?
+ */
+ if(!gssapi_encrypt->gssapi_wrap_tvb){
+ gssapi_encrypt->gssapi_wrap_tvb = tvb_new_subset_length(
+ tvb, start_offset-2,
+ GSS_ARCFOUR_WRAP_TOKEN_SIZE);
+ }
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+ decrypt_gssapi_krb_arcfour_wrap(tree,
+ pinfo,
+ tvb,
+ KEYTYPE_ARCFOUR_HMAC,
+ gssapi_encrypt);
+#endif /* HAVE_HEIMDAL_KERBEROS || HAVE_MIT_KERBEROS */
+ }
+ }
+#endif
+ /*
+ * Return the offset past the checksum, so that we know where
+ * the data we're wrapped around starts. Also, set the length
+ * of our top-level item to that offset, so it doesn't cover
+ * the data we're wrapped around.
+ *
+ * Note that for DCERPC the GSSAPI blobs comes after the data it wraps,
+ * not before.
+ */
+ return offset;
+}
+
+/*
+ * XXX - This is for GSSAPI GetMIC tokens ...
+ */
+static int
+dissect_spnego_krb5_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree)
+{
+ guint16 sgn_alg;
+
+ /*
+ * The KRB5 blob conforms to RFC1964:
+ * USHORT (0x0101 == GSS_GetMIC)
+ * and so on }
+ */
+
+ /* Now, the sign algorithm ... */
+
+ sgn_alg = tvb_get_letohs(tvb, offset);
+ proto_tree_add_uint(tree, hf_spnego_krb5_sgn_alg, tvb, offset, 2, sgn_alg);
+
+ offset += 2;
+
+ /* Skip the filler */
+
+ offset += 4;
+
+ /* Encrypted sequence number */
+
+ proto_tree_add_item(tree, hf_spnego_krb5_snd_seq, tvb, offset, 8, ENC_NA);
+
+ offset += 8;
+
+ /* Checksum of plaintext padded data */
+
+ proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, 8, ENC_NA);
+
+ offset += 8;
+
+ /*
+ * At least according to draft-brezak-win2k-krb-rc4-hmac-04,
+ * if the signing algorithm is KRB_SGN_ALG_HMAC, there's an
+ * extra 8 bytes of "Random confounder" after the checksum.
+ * It certainly confounds code expecting all Kerberos 5
+ * GSS_Wrap() tokens to look the same....
+ *
+ * The exception is DNS/TSIG where there is no such confounder
+ * so we need to test here if there are more bytes in our tvb or not.
+ * -- ronnie
+ */
+ if (tvb_reported_length_remaining(tvb, offset)) {
+ if (sgn_alg == KRB_SGN_ALG_HMAC) {
+ proto_tree_add_item(tree, hf_spnego_krb5_confounder, tvb, offset, 8, ENC_NA);
+
+ offset += 8;
+ }
+ }
+
+ /*
+ * Return the offset past the checksum, so that we know where
+ * the data we're wrapped around starts. Also, set the length
+ * of our top-level item to that offset, so it doesn't cover
+ * the data we're wrapped around.
+ */
+
+ return offset;
+}
+
+static int
+dissect_spnego_krb5_cfx_flags(tvbuff_t *tvb, int offset,
+ proto_tree *spnego_krb5_tree,
+ guint8 cfx_flags _U_)
+{
+ static int * const flags[] = {
+ &hf_spnego_krb5_cfx_flags_04,
+ &hf_spnego_krb5_cfx_flags_02,
+ &hf_spnego_krb5_cfx_flags_01,
+ NULL
+ };
+
+ proto_tree_add_bitmask(spnego_krb5_tree, tvb, offset, hf_spnego_krb5_cfx_flags, ett_spnego_krb5_cfx_flags, flags, ENC_NA);
+ return (offset + 1);
+}
+
+/*
+ * This is for GSSAPI CFX Wrap tokens ...
+ */
+static int
+dissect_spnego_krb5_cfx_wrap_base(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint16 token_id _U_, gssapi_encrypt_info_t* gssapi_encrypt)
+{
+ guint8 flags;
+ guint16 ec;
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+ guint16 rrc;
+#else
+ (void) pinfo;
+#endif
+ int checksum_size;
+ int start_offset=offset;
+
+ /*
+ * The KRB5 blob conforms to RFC4121:
+ * USHORT (0x0504)
+ * and so on }
+ */
+
+ /* Now, the sign and seal algorithms ... */
+
+ flags = tvb_get_guint8(tvb, offset);
+ offset = dissect_spnego_krb5_cfx_flags(tvb, offset, tree, flags);
+
+ if (gssapi_encrypt != NULL)
+ gssapi_encrypt->gssapi_data_encrypted=(flags & 2);
+
+ /* Skip the filler */
+
+ proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 1, ENC_NA);
+ offset += 1;
+
+ /* EC */
+ ec = tvb_get_ntohs(tvb, offset);
+ proto_tree_add_item(tree, hf_spnego_krb5_cfx_ec, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
+
+ /* RRC */
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+ rrc = tvb_get_ntohs(tvb, offset);
+#endif
+ proto_tree_add_item(tree, hf_spnego_krb5_cfx_rrc, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
+
+ /* sequence number */
+
+ proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8, ENC_BIG_ENDIAN);
+ offset += 8;
+
+ if (gssapi_encrypt == NULL) /* Probably shoudn't happen, but just protect ourselves */
+ return offset;
+
+ /* Checksum of plaintext padded data */
+
+ if (gssapi_encrypt->gssapi_data_encrypted) {
+ checksum_size = 44 + ec;
+
+ proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
+ offset += checksum_size;
+
+ } else {
+ int returned_offset;
+ int inner_token_len = 0;
+
+ /*
+ * We know we have a wrap token, but we have to let the proto
+ * above us decode that, so hand it back in gssapi_wrap_tvb
+ * and put the checksum in the tree.
+ */
+
+ checksum_size = ec;
+
+ inner_token_len = tvb_reported_length_remaining(tvb, offset);
+ if (inner_token_len > ec) {
+ inner_token_len -= ec;
+ }
+
+ /*
+ * We handle only the two common cases for now
+ * (rrc == 0 and rrc == ec)
+ */
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+ if (rrc == ec) {
+ proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
+ offset += checksum_size;
+ }
+#endif
+
+ returned_offset = offset;
+ gssapi_encrypt->gssapi_wrap_tvb = tvb_new_subset_length(tvb, offset,
+ inner_token_len);
+
+ offset += inner_token_len;
+
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+ if (rrc == 0)
+#endif
+ {
+ proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
+ }
+
+ /*
+ * Return an offset that puts our caller before the inner
+ * token. This is better than before, but we still see the
+ * checksum included in the LDAP query at times.
+ */
+ return returned_offset;
+ }
+
+ if(gssapi_encrypt->decrypt_gssapi_tvb){
+ /* if the caller did not provide a tvb, then we just use
+ whatever is left of our current tvb.
+ */
+ if(!gssapi_encrypt->gssapi_encrypted_tvb){
+ int len;
+ len=tvb_reported_length_remaining(tvb,offset);
+ if(len>tvb_captured_length_remaining(tvb, offset)){
+ /* no point in trying to decrypt,
+ we don't have the full pdu.
+ */
+ return offset;
+ }
+ gssapi_encrypt->gssapi_encrypted_tvb = tvb_new_subset_length_caplen(
+ tvb, offset, len, len);
+ }
+
+ if (gssapi_encrypt->gssapi_data_encrypted) {
+ /* do we need to create a tvb for the wrapper
+ as well ?
+ */
+ if(!gssapi_encrypt->gssapi_wrap_tvb){
+ gssapi_encrypt->gssapi_wrap_tvb = tvb_new_subset_length(
+ tvb, start_offset-2,
+ offset - (start_offset-2));
+ }
+ }
+ }
+
+#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
+{
+ tvbuff_t *checksum_tvb = tvb_new_subset_length(tvb, 16, checksum_size);
+
+ if (gssapi_encrypt->gssapi_data_encrypted) {
+ if(gssapi_encrypt->gssapi_encrypted_tvb){
+ decrypt_gssapi_krb_cfx_wrap(tree,
+ pinfo,
+ checksum_tvb,
+ gssapi_encrypt,
+ ec,
+ rrc,
+ -1,
+ (flags & 0x0001)?
+ KRB5_KU_USAGE_ACCEPTOR_SEAL:
+ KRB5_KU_USAGE_INITIATOR_SEAL);
+ }
+ }
+}
+#endif /* HAVE_HEIMDAL_KERBEROS || HAVE_MIT_KERBEROS */
+
+ /*
+ * Return the offset past the checksum, so that we know where
+ * the data we're wrapped around starts. Also, set the length
+ * of our top-level item to that offset, so it doesn't cover
+ * the data we're wrapped around.
+ *
+ * Note that for DCERPC the GSSAPI blobs comes after the data it wraps,
+ * not before.
+ */
+ return offset;
+}
+
+/*
+ * XXX - This is for GSSAPI CFX GetMIC tokens ...
+ */
+static int
+dissect_spnego_krb5_cfx_getmic_base(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree)
+{
+ guint8 flags;
+ int checksum_size;
+
+ /*
+ * The KRB5 blob conforms to RFC4121:
+ * USHORT (0x0404 == GSS_GetMIC)
+ * and so on }
+ */
+
+ flags = tvb_get_guint8(tvb, offset);
+ offset = dissect_spnego_krb5_cfx_flags(tvb, offset, tree, flags);
+
+ /* Skip the filler */
+
+ proto_tree_add_item(tree, hf_spnego_krb5_filler, tvb, offset, 5, ENC_NA);
+ offset += 5;
+
+ /* sequence number */
+
+ proto_tree_add_item(tree, hf_spnego_krb5_cfx_seq, tvb, offset, 8, ENC_BIG_ENDIAN);
+ offset += 8;
+
+ /* Checksum of plaintext padded data */
+
+ checksum_size = tvb_captured_length_remaining(tvb, offset);
+
+ proto_tree_add_item(tree, hf_spnego_krb5_sgn_cksum, tvb, offset, checksum_size, ENC_NA);
+ offset += checksum_size;
+
+ /*
+ * Return the offset past the checksum, so that we know where
+ * the data we're wrapped around starts. Also, set the length
+ * of our top-level item to that offset, so it doesn't cover
+ * the data we're wrapped around.
+ */
+
+ return offset;
+}
+
+/*
+ * XXX - is this for SPNEGO or just GSS-API?
+ * RFC 1964 is "The Kerberos Version 5 GSS-API Mechanism"; presumably one
+ * can directly designate Kerberos V5 as a mechanism in GSS-API, rather
+ * than designating SPNEGO as the mechanism, offering Kerberos V5, and
+ * getting it accepted.
+ */
+static int
+dissect_spnego_krb5_wrap(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data)
+{
+ proto_item *item;
+ proto_tree *subtree;
+ int offset = 0;
+ guint16 token_id;
+ gssapi_encrypt_info_t* encrypt_info = (gssapi_encrypt_info_t*)data;
+
+ item = proto_tree_add_item(tree, hf_spnego_krb5, tvb, 0, -1, ENC_NA);
+
+ subtree = proto_item_add_subtree(item, ett_spnego_krb5);
+
+ /*
+ * The KRB5 blob conforms to RFC1964:
+ * USHORT (0x0102 == GSS_Wrap)
+ * and so on }
+ */
+
+ /* First, the token ID ... */
+
+ token_id = tvb_get_letohs(tvb, offset);
+ proto_tree_add_uint(subtree, hf_spnego_krb5_tok_id, tvb, offset, 2, token_id);
+
+ offset += 2;
+
+ switch (token_id) {
+ case KRB_TOKEN_GETMIC:
+ offset = dissect_spnego_krb5_getmic_base(tvb, offset, pinfo, subtree);
+ break;
+
+ case KRB_TOKEN_WRAP:
+ offset = dissect_spnego_krb5_wrap_base(tvb, offset, pinfo, subtree, token_id, encrypt_info);
+ break;
+
+ case KRB_TOKEN_CFX_GETMIC:
+ offset = dissect_spnego_krb5_cfx_getmic_base(tvb, offset, pinfo, subtree);
+ break;
+
+ case KRB_TOKEN_CFX_WRAP:
+ offset = dissect_spnego_krb5_cfx_wrap_base(tvb, offset, pinfo, subtree, token_id, encrypt_info);
+ break;
+
+ default:
+
+ break;
+ }
+
+ /*
+ * Return the offset past the checksum, so that we know where
+ * the data we're wrapped around starts. Also, set the length
+ * of our top-level item to that offset, so it doesn't cover
+ * the data we're wrapped around.
+ */
+ proto_item_set_len(item, offset);
+ return offset;
+}
+
+/* Spnego stuff from here */
+
+static int
+dissect_spnego_wrap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ proto_item *item;
+ proto_tree *subtree;
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ MechType_oid = NULL;
+
+ /*
+ * We need this later, so lets get it now ...
+ * It has to be per-frame as there can be more than one GSS-API
+ * negotiation in a conversation.
+ */
+
+
+ item = proto_tree_add_item(tree, proto_spnego, tvb, offset, -1, ENC_NA);
+
+ subtree = proto_item_add_subtree(item, ett_spnego);
+ /*
+ * The TVB contains a [0] header and a sequence that consists of an
+ * object ID and a blob containing the data ...
+ * XXX - is this RFC 2743's "Mechanism-Independent Token Format",
+ * with the "optional" "use in non-initial tokens" being chosen.
+ * ASN1 code addet to spnego.asn to handle this.
+ */
+
+ offset = dissect_spnego_InitialContextToken(FALSE, tvb, offset, &asn1_ctx , subtree, -1);
+
+ return offset;
+}
+
+
+static int
+dissect_spnego(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ proto_item *item;
+ proto_tree *subtree;
+ int offset = 0;
+ conversation_t *conversation;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /*
+ * We need this later, so lets get it now ...
+ * It has to be per-frame as there can be more than one GSS-API
+ * negotiation in a conversation.
+ */
+ next_level_value = (gssapi_oid_value *)p_get_proto_data(wmem_file_scope(), pinfo, proto_spnego, 0);
+ if (!next_level_value && !pinfo->fd->visited) {
+ /*
+ * No handle attached to this frame, but it's the first
+ * pass, so it'd be attached to the conversation.
+ * If we have a conversation, try to get the handle,
+ * and if we get one, attach it to the frame.
+ */
+ conversation = find_conversation_pinfo(pinfo, 0);
+
+ if (conversation) {
+ next_level_value = (gssapi_oid_value *)conversation_get_proto_data(conversation, proto_spnego);
+ if (next_level_value)
+ p_add_proto_data(wmem_file_scope(), pinfo, proto_spnego, 0, next_level_value);
+ }
+ }
+
+ item = proto_tree_add_item(parent_tree, proto_spnego, tvb, offset, -1, ENC_NA);
+
+ subtree = proto_item_add_subtree(item, ett_spnego);
+
+ /*
+ * The TVB contains a [0] header and a sequence that consists of an
+ * object ID and a blob containing the data ...
+ * Actually, it contains, according to RFC2478:
+ * NegotiationToken ::= CHOICE {
+ * negTokenInit [0] NegTokenInit,
+ * negTokenTarg [1] NegTokenTarg }
+ * NegTokenInit ::= SEQUENCE {
+ * mechTypes [0] MechTypeList OPTIONAL,
+ * reqFlags [1] ContextFlags OPTIONAL,
+ * mechToken [2] OCTET STRING OPTIONAL,
+ * mechListMIC [3] OCTET STRING OPTIONAL }
+ * NegTokenTarg ::= SEQUENCE {
+ * negResult [0] ENUMERATED {
+ * accept_completed (0),
+ * accept_incomplete (1),
+ * reject (2) } OPTIONAL,
+ * supportedMech [1] MechType OPTIONAL,
+ * responseToken [2] OCTET STRING OPTIONAL,
+ * mechListMIC [3] OCTET STRING OPTIONAL }
+ *
+ * Windows typically includes mechTypes and mechListMic ('NONE'
+ * in the case of NTLMSSP only).
+ * It seems to duplicate the responseToken into the mechListMic field
+ * as well. Naughty, naughty.
+ *
+ */
+ dissect_spnego_NegotiationToken(FALSE, tvb, offset, &asn1_ctx, subtree, -1);
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_spnego -------------------------------------------*/
+void proto_register_spnego(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_spnego_wraptoken,
+ { "wrapToken", "spnego.wraptoken",
+ FT_NONE, BASE_NONE, NULL, 0x0, "SPNEGO wrapToken",
+ HFILL}},
+ { &hf_spnego_krb5,
+ { "krb5_blob", "spnego.krb5.blob", FT_BYTES,
+ BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_spnego_krb5_oid,
+ { "KRB5 OID", "spnego.krb5_oid", FT_STRING,
+ BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_spnego_krb5_tok_id,
+ { "krb5_tok_id", "spnego.krb5.tok_id", FT_UINT16, BASE_HEX,
+ VALS(spnego_krb5_tok_id_vals), 0, "KRB5 Token Id", HFILL}},
+ { &hf_spnego_krb5_sgn_alg,
+ { "krb5_sgn_alg", "spnego.krb5.sgn_alg", FT_UINT16, BASE_HEX,
+ VALS(spnego_krb5_sgn_alg_vals), 0, "KRB5 Signing Algorithm", HFILL}},
+ { &hf_spnego_krb5_seal_alg,
+ { "krb5_seal_alg", "spnego.krb5.seal_alg", FT_UINT16, BASE_HEX,
+ VALS(spnego_krb5_seal_alg_vals), 0, "KRB5 Sealing Algorithm", HFILL}},
+ { &hf_spnego_krb5_snd_seq,
+ { "krb5_snd_seq", "spnego.krb5.snd_seq", FT_BYTES, BASE_NONE,
+ NULL, 0, "KRB5 Encrypted Sequence Number", HFILL}},
+ { &hf_spnego_krb5_sgn_cksum,
+ { "krb5_sgn_cksum", "spnego.krb5.sgn_cksum", FT_BYTES, BASE_NONE,
+ NULL, 0, "KRB5 Data Checksum", HFILL}},
+ { &hf_spnego_krb5_confounder,
+ { "krb5_confounder", "spnego.krb5.confounder", FT_BYTES, BASE_NONE,
+ NULL, 0, "KRB5 Confounder", HFILL}},
+ { &hf_spnego_krb5_filler,
+ { "krb5_filler", "spnego.krb5.filler", FT_BYTES, BASE_NONE,
+ NULL, 0, "KRB5 Filler", HFILL}},
+ { &hf_spnego_krb5_cfx_flags,
+ { "krb5_cfx_flags", "spnego.krb5.cfx_flags", FT_UINT8, BASE_HEX,
+ NULL, 0, "KRB5 CFX Flags", HFILL}},
+ { &hf_spnego_krb5_cfx_flags_01,
+ { "SendByAcceptor", "spnego.krb5.send_by_acceptor", FT_BOOLEAN, 8,
+ TFS (&tfs_set_notset), 0x01, NULL, HFILL}},
+ { &hf_spnego_krb5_cfx_flags_02,
+ { "Sealed", "spnego.krb5.sealed", FT_BOOLEAN, 8,
+ TFS (&tfs_set_notset), 0x02, NULL, HFILL}},
+ { &hf_spnego_krb5_cfx_flags_04,
+ { "AcceptorSubkey", "spnego.krb5.acceptor_subkey", FT_BOOLEAN, 8,
+ TFS (&tfs_set_notset), 0x04, NULL, HFILL}},
+ { &hf_spnego_krb5_cfx_ec,
+ { "krb5_cfx_ec", "spnego.krb5.cfx_ec", FT_UINT16, BASE_DEC,
+ NULL, 0, "KRB5 CFX Extra Count", HFILL}},
+ { &hf_spnego_krb5_cfx_rrc,
+ { "krb5_cfx_rrc", "spnego.krb5.cfx_rrc", FT_UINT16, BASE_DEC,
+ NULL, 0, "KRB5 CFX Right Rotation Count", HFILL}},
+ { &hf_spnego_krb5_cfx_seq,
+ { "krb5_cfx_seq", "spnego.krb5.cfx_seq", FT_UINT64, BASE_DEC,
+ NULL, 0, "KRB5 Sequence Number", HFILL}},
+
+#include "packet-spnego-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_spnego,
+ &ett_spnego_wraptoken,
+ &ett_spnego_krb5,
+ &ett_spnego_krb5_cfx_flags,
+
+#include "packet-spnego-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_spnego_decrypted_keytype, { "spnego.decrypted_keytype", PI_SECURITY, PI_CHAT, "Decrypted keytype", EXPFILL }},
+ { &ei_spnego_unknown_header, { "spnego.unknown_header", PI_PROTOCOL, PI_WARN, "Unknown header", EXPFILL }},
+ };
+
+ expert_module_t* expert_spnego;
+
+ /* Register protocol */
+ proto_spnego = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ spnego_handle = register_dissector("spnego", dissect_spnego, proto_spnego);
+ spnego_wrap_handle = register_dissector("spnego-wrap", dissect_spnego_wrap, proto_spnego);
+
+ proto_spnego_krb5 = proto_register_protocol("SPNEGO-KRB5", "SPNEGO-KRB5", "spnego-krb5");
+
+ spnego_krb5_handle = register_dissector("spnego-krb5", dissect_spnego_krb5, proto_spnego_krb5);
+ spnego_krb5_wrap_handle = register_dissector("spnego-krb5-wrap", dissect_spnego_krb5_wrap, proto_spnego_krb5);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_spnego, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_spnego = expert_register_protocol(proto_spnego);
+ expert_register_field_array(expert_spnego, ei, array_length(ei));
+}
+
+
+/*--- proto_reg_handoff_spnego ---------------------------------------*/
+void proto_reg_handoff_spnego(void) {
+
+ /* Register protocol with GSS-API module */
+
+ gssapi_init_oid("1.3.6.1.5.5.2", proto_spnego, ett_spnego,
+ spnego_handle, spnego_wrap_handle,
+ "SPNEGO - Simple Protected Negotiation");
+
+ /* Register both the one MS created and the real one */
+ /*
+ * Thanks to Jean-Baptiste Marchand and Richard B Ward, the
+ * mystery of the MS KRB5 OID is cleared up. It was due to a library
+ * that did not handle OID components greater than 16 bits, and was
+ * fixed in Win2K SP2 as well as WinXP.
+ * See the archive of <ietf-krb-wg@anl.gov> for the thread topic
+ * SPNEGO implementation issues. 3-Dec-2002.
+ */
+ gssapi_init_oid("1.2.840.48018.1.2.2", proto_spnego_krb5, ett_spnego_krb5,
+ spnego_krb5_handle, spnego_krb5_wrap_handle,
+ "MS KRB5 - Microsoft Kerberos 5");
+ gssapi_init_oid("1.2.840.113554.1.2.2", proto_spnego_krb5, ett_spnego_krb5,
+ spnego_krb5_handle, spnego_krb5_wrap_handle,
+ "KRB5 - Kerberos 5");
+ gssapi_init_oid("1.2.840.113554.1.2.2.3", proto_spnego_krb5, ett_spnego_krb5,
+ spnego_krb5_handle, spnego_krb5_wrap_handle,
+ "KRB5 - Kerberos 5 - User to User");
+
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/spnego/spnego.asn b/epan/dissectors/asn1/spnego/spnego.asn
new file mode 100644
index 00000000..b62973df
--- /dev/null
+++ b/epan/dissectors/asn1/spnego/spnego.asn
@@ -0,0 +1,104 @@
+Spnego {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) snego(2)}
+-- (1.3.6.1.5.5.2)
+DEFINITIONS ::=
+
+BEGIN
+
+MechType::= OBJECT IDENTIFIER
+
+NegotiationToken ::= CHOICE {
+ negTokenInit [0] NegTokenInit,
+ negTokenTarg [1] NegTokenTarg }
+
+MechTypeList ::= SEQUENCE OF MechType
+
+--
+-- MS-SPNG tells us that the format of a negTokenInit is actually
+-- negTokenInit2 if a negTokenInit is seen in a response. It might need
+-- to be the first negTokenInit seen in a response, but I am not sure.
+-- It will only occur in a NegotiateProtocol response in CIFS/SMB or SMB2.
+--
+NegTokenInit ::= SEQUENCE {
+ mechTypes [0] MechTypeList OPTIONAL,
+ reqFlags [1] ContextFlags OPTIONAL,
+ mechToken [2] OCTET STRING OPTIONAL,
+ mechListMIC [3] OCTET STRING OPTIONAL
+ }
+
+NegHints ::= SEQUENCE {
+ hintName [0] GeneralString OPTIONAL,
+ hintAddress [1] OCTET STRING OPTIONAL
+}
+
+NegTokenInit2 ::= SEQUENCE {
+ mechTypes [0] MechTypeList OPTIONAL,
+ reqFlags [1] ContextFlags OPTIONAL,
+ mechToken [2] OCTET STRING OPTIONAL,
+ negHints [3] NegHints OPTIONAL,
+ mechListMIC [4] OCTET STRING OPTIONAL
+}
+
+ContextFlags ::= BIT STRING {
+ delegFlag (0),
+ mutualFlag (1),
+ replayFlag (2),
+ sequenceFlag (3),
+ anonFlag (4),
+ confFlag (5),
+ integFlag (6)
+}
+
+NegTokenTarg ::= SEQUENCE {
+ negResult [0] ENUMERATED {
+ accept-completed (0),
+ accept-incomplete (1),
+ reject (2) } OPTIONAL,
+ supportedMech [1] MechType OPTIONAL,
+ responseToken [2] OCTET STRING OPTIONAL,
+ mechListMIC [3] OCTET STRING OPTIONAL
+}
+
+--GSS-API DEFINITIONS ::=
+--BEGIN
+--MechType ::= OBJECT IDENTIFIER
+-- data structure definitions
+-- callers must be able to distinguish among
+-- InitialContextToken, SubsequentContextToken,
+-- PerMsgToken, and SealedMessage data elements
+-- based on the usage in which they occur
+InitialContextToken ::=
+ -- option indication (delegation, etc.) indicated within
+ -- mechanism-specific token
+[APPLICATION 0] IMPLICIT SEQUENCE {
+ thisMech MechType,
+ innerContextToken InnerContextToken
+ -- DEFINED BY thisMech
+ -- contents mechanism-specific
+ -- ASN.1 structure not required
+ }
+
+-- SubsequentContextToken ::= InnerContextToken
+
+InnerContextToken ::= ANY
+-- interpretation based on predecessor InitialContextToken
+-- ASN.1 structure not required
+
+-- PerMsgToken ::=
+-- as emitted by GSS_GetMIC and processed by GSS_VerifyMIC
+-- ASN.1 structure not required
+-- InnerMsgToken
+
+-- InnerMsgToken ::= ANY
+
+-- SealedMessage ::=
+-- as emitted by GSS_Wrap and processed by GSS_Unwrap
+-- includes internal, mechanism-defined indicator
+-- of whether or not encrypted
+-- ASN.1 structure not required
+-- SealedUserData
+
+-- SealedUserData ::= ANY
+
+-- END GSS-API DEFINITIONS
+
+END
diff --git a/epan/dissectors/asn1/spnego/spnego.cnf b/epan/dissectors/asn1/spnego/spnego.cnf
new file mode 100644
index 00000000..7558d0c7
--- /dev/null
+++ b/epan/dissectors/asn1/spnego/spnego.cnf
@@ -0,0 +1,215 @@
+# spnego.cnf
+# spnego conformation file
+
+#.EXPORTS
+
+#.PDU
+
+#.NO_EMIT ONLY_VALS
+NegotiationToken
+
+#.FN_BODY NegotiationToken/negTokenInit
+ bool is_response = actx->pinfo->ptype == PT_TCP &&
+ actx->pinfo->srcport < 1024;
+
+ /*
+ * We decode as negTokenInit2 or negTokenInit depending on whether or not
+ * we are in a response or a request. That is essentially what MS-SPNG
+ * says.
+ */
+ if (is_response) {
+ return dissect_spnego_NegTokenInit2(%(IMPLICIT_TAG)s, %(TVB)s, %(OFFSET)s,
+ %(ACTX)s, %(TREE)s, %(HF_INDEX)s);
+ } else {
+ return dissect_spnego_NegTokenInit(%(IMPLICIT_TAG)s, %(TVB)s, %(OFFSET)s,
+ %(ACTX)s, %(TREE)s, %(HF_INDEX)s);
+ }
+
+#.FN_PARS MechType
+
+ FN_VARIANT = _str VAL_PTR = &MechType_oid
+
+#.FN_BODY MechType
+
+ gssapi_oid_value *value;
+
+%(DEFAULT_BODY)s
+
+ value = gssapi_lookup_oid_str(MechType_oid);
+
+ /*
+ * Tell our caller the first mechanism we see, so that if
+ * this is a negTokenInit with a mechToken, it can interpret
+ * the mechToken according to the first mechType. (There
+ * might not have been any indication of the mechType
+ * in prior frames, so we can't necessarily use the
+ * mechanism from the conversation; i.e., a negTokenInit
+ * can contain the initial security token for the desired
+ * mechanism of the initiator - that's the first mechanism
+ * in the list.)
+ */
+ if (!saw_mechanism) {
+ if (value)
+ next_level_value = value;
+ saw_mechanism = TRUE;
+ }
+
+#.FN_BODY InnerContextToken
+
+ gssapi_oid_value *next_level_value_lcl;
+ proto_item *item;
+ proto_tree *subtree;
+ tvbuff_t *token_tvb;
+ int len;
+
+ /*
+ * XXX - what should we do if this OID doesn't match the value
+ * attached to the frame or conversation? (That would be
+ * bogus, but that's not impossible - some broken implementation
+ * might negotiate some security mechanism but put the OID
+ * for some other security mechanism in GSS_Wrap tokens.)
+ * Does it matter?
+ */
+ next_level_value_lcl = gssapi_lookup_oid_str(MechType_oid);
+
+ /*
+ * Now dissect the GSS_Wrap token; it's assumed to be in the
+ * rest of the tvbuff.
+ */
+ item = proto_tree_add_item(tree, hf_spnego_wraptoken, tvb, offset, -1, ENC_NA);
+
+ subtree = proto_item_add_subtree(item, ett_spnego_wraptoken);
+
+ /*
+ * Now, we should be able to dispatch after creating a new TVB.
+ * The subdissector must return the length of the part of the
+ * token it dissected, so we can return the length of the part
+ * we (and it) dissected.
+ */
+ token_tvb = tvb_new_subset_remaining(tvb, offset);
+ if (next_level_value_lcl && next_level_value_lcl->wrap_handle) {
+ len = call_dissector(next_level_value_lcl->wrap_handle, token_tvb, actx->pinfo,
+ subtree);
+ if (len == 0)
+ offset = tvb_reported_length(tvb);
+ else
+ offset = offset + len;
+ } else
+ offset = tvb_reported_length(tvb);
+
+#.FN_BODY MechTypeList
+
+ conversation_t *conversation;
+
+ saw_mechanism = FALSE;
+
+%(DEFAULT_BODY)s
+
+ /*
+ * If we saw a mechType we need to store it in case the negTokenTarg
+ * does not provide a supportedMech.
+ */
+ if(saw_mechanism){
+ conversation = find_or_create_conversation(actx->pinfo);
+ conversation_add_proto_data(conversation, proto_spnego, next_level_value);
+ }
+
+#.FN_PARS NegTokenInit/mechToken
+
+ VAL_PTR = &mechToken_tvb
+
+#.FN_BODY NegTokenInit/mechToken
+
+ tvbuff_t *mechToken_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ /*
+ * Now, we should be able to dispatch, if we've gotten a tvbuff for
+ * the token and we have information on how to dissect its contents.
+ */
+ if (mechToken_tvb && next_level_value)
+ call_dissector(next_level_value->handle, mechToken_tvb, actx->pinfo, tree);
+
+#.FN_BODY NegTokenTarg/supportedMech
+
+ conversation_t *conversation;
+
+ saw_mechanism = FALSE;
+
+%(DEFAULT_BODY)s
+
+ /*
+ * If we saw an explicit mechType we store this in the conversation so that
+ * it will override any mechType we might have picked up from the
+ * negTokenInit.
+ */
+ if(saw_mechanism){
+ conversation = find_or_create_conversation(actx->pinfo);
+ conversation_add_proto_data(conversation, proto_spnego, next_level_value);
+ }
+
+
+#.FN_PARS NegTokenTarg/responseToken
+
+ VAL_PTR = &responseToken_tvb
+
+#.FN_BODY NegTokenTarg/responseToken
+
+ tvbuff_t *responseToken_tvb;
+
+
+%(DEFAULT_BODY)s
+
+
+ /*
+ * Now, we should be able to dispatch, if we've gotten a tvbuff for
+ * the token and we have information on how to dissect its contents.
+ * However, we should make sure that there is something in the
+ * response token ...
+ */
+ if (responseToken_tvb && (tvb_reported_length(responseToken_tvb) > 0) ){
+ gssapi_oid_value *value=next_level_value;
+
+ if(value){
+ call_dissector(value->handle, responseToken_tvb, actx->pinfo, tree);
+ }
+ }
+
+
+#.FN_BODY NegTokenTarg/mechListMIC VAL_PTR = &mechListMIC_tvb
+
+ tvbuff_t *mechListMIC_tvb;
+
+
+%(DEFAULT_BODY)s
+
+
+ /*
+ * Now, we should be able to dispatch, if we've gotten a tvbuff for
+ * the token and we have information on how to dissect its contents.
+ * However, we should make sure that there is something in the
+ * response token ...
+ */
+ if (mechListMIC_tvb && (tvb_reported_length(mechListMIC_tvb) > 0) ){
+ gssapi_oid_value *value=next_level_value;
+
+ if(value){
+ call_dissector(value->handle, mechListMIC_tvb, actx->pinfo, tree);
+ }
+ }
+
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/sv/CMakeLists.txt b/epan/dissectors/asn1/sv/CMakeLists.txt
new file mode 100644
index 00000000..fc8a5412
--- /dev/null
+++ b/epan/dissectors/asn1/sv/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME sv )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/sv/packet-sv-template.c b/epan/dissectors/asn1/sv/packet-sv-template.c
new file mode 100644
index 00000000..a2d8fc89
--- /dev/null
+++ b/epan/dissectors/asn1/sv/packet-sv-template.c
@@ -0,0 +1,373 @@
+/* packet-sv.c
+ * Routines for IEC 61850 Sampled Values packet dissection
+ * Michael Bernhard 2008
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/etypes.h>
+#include <epan/expert.h>
+#include <epan/prefs.h>
+#include <epan/addr_resolv.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+
+#include "tap.h"
+
+#include "packet-sv.h"
+
+#define PNAME "IEC61850 Sampled Values"
+#define PSNAME "SV"
+#define PFNAME "sv"
+
+/* see IEC61850-8-1 8.2 */
+#define Q_VALIDITY_GOOD (0x0U << 0)
+#define Q_VALIDITY_INVALID_BW (0x1U << 0)
+#define Q_VALIDITY_INVALID (0x2U << 0)
+#define Q_VALIDITY_QUESTIONABLE (0x3U << 0)
+#define Q_VALIDITY_MASK (0x3U << 0)
+
+#define Q_OVERFLOW (1U << 2)
+#define Q_OUTOFRANGE (1U << 3)
+#define Q_BADREFERENCE (1U << 4)
+#define Q_OSCILLATORY (1U << 5)
+#define Q_FAILURE (1U << 6)
+#define Q_OLDDATA (1U << 7)
+#define Q_INCONSISTENT (1U << 8)
+#define Q_INACCURATE (1U << 9)
+
+#define Q_SOURCE_PROCESS (0U << 10)
+#define Q_SOURCE_SUBSTITUTED (1U << 10)
+#define Q_SOURCE_MASK (1U << 10)
+
+#define Q_TEST (1U << 11)
+#define Q_OPERATORBLOCKED (1U << 12)
+
+/* see UCA Implementation Guideline for IEC 61850-9-2 */
+#define Q_DERIVED (1U << 13)
+
+/* Bit fields in the Reserved attributes */
+#define F_RESERVE1_S_BIT 0x8000
+
+
+void proto_register_sv(void);
+void proto_reg_handoff_sv(void);
+
+/* Data for SV tap */
+static int sv_tap = -1;
+static sv_frame_data sv_data;
+
+/* Initialize the protocol and registered fields */
+static int proto_sv = -1;
+static int hf_sv_appid = -1;
+static int hf_sv_length = -1;
+static int hf_sv_reserve1 = -1;
+static int hf_sv_reserve1_s_bit = -1;
+static int hf_sv_reserve2 = -1;
+static int hf_sv_phmeas_instmag_i = -1;
+static int hf_sv_phsmeas_q = -1;
+static int hf_sv_phsmeas_q_validity = -1;
+static int hf_sv_phsmeas_q_overflow = -1;
+static int hf_sv_phsmeas_q_outofrange = -1;
+static int hf_sv_phsmeas_q_badreference = -1;
+static int hf_sv_phsmeas_q_oscillatory = -1;
+static int hf_sv_phsmeas_q_failure = -1;
+static int hf_sv_phsmeas_q_olddata = -1;
+static int hf_sv_phsmeas_q_inconsistent = -1;
+static int hf_sv_phsmeas_q_inaccurate = -1;
+static int hf_sv_phsmeas_q_source = -1;
+static int hf_sv_phsmeas_q_test = -1;
+static int hf_sv_phsmeas_q_operatorblocked = -1;
+static int hf_sv_phsmeas_q_derived = -1;
+static int hf_sv_gmidentity = -1;
+static int hf_sv_gmidentity_manuf = -1;
+
+#include "packet-sv-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_sv = -1;
+static int ett_phsmeas = -1;
+static int ett_phsmeas_q = -1;
+static int ett_gmidentity = -1;
+static int ett_reserve1 = -1;
+
+
+#include "packet-sv-ett.c"
+
+static expert_field ei_sv_mal_utctime = EI_INIT;
+static expert_field ei_sv_zero_pdu = EI_INIT;
+static expert_field ei_sv_mal_gmidentity = EI_INIT;
+
+static gboolean sv_decode_data_as_phsmeas = FALSE;
+
+static dissector_handle_t sv_handle;
+
+/*
+ * See
+ * IEC 61850-9-2 Edition 2.1 2020-02,
+ * Section 8.6 Definitions for basic data types – Presentation layer functionality,
+ * Table 21
+ *
+ * Be aware that in the specification the bits are numbered in reverse (it
+ * specifies the least significant bit as bit 31 instead of as bit 0)!
+ */
+
+static const value_string sv_q_validity_vals[] = {
+ { 0, "good" },
+ { 1, "invalid (backwards compatible)" },
+ { 2, "invalid" },
+ { 3, "questionable" },
+ { 0, NULL }
+};
+
+static const value_string sv_q_source_vals[] = {
+ { 0, "process" },
+ { 1, "substituted" },
+ { 0, NULL }
+};
+
+static int
+dissect_PhsMeas1(bool implicit_tag, packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, int hf_id _U_)
+{
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ guint32 len;
+ proto_tree *subtree;
+ gint32 value;
+ guint32 qual;
+ guint32 i;
+
+ static int * const q_flags[] = {
+ &hf_sv_phsmeas_q_validity,
+ &hf_sv_phsmeas_q_overflow,
+ &hf_sv_phsmeas_q_outofrange,
+ &hf_sv_phsmeas_q_badreference,
+ &hf_sv_phsmeas_q_oscillatory,
+ &hf_sv_phsmeas_q_failure,
+ &hf_sv_phsmeas_q_olddata,
+ &hf_sv_phsmeas_q_inconsistent,
+ &hf_sv_phsmeas_q_inaccurate,
+ &hf_sv_phsmeas_q_source,
+ &hf_sv_phsmeas_q_test,
+ &hf_sv_phsmeas_q_operatorblocked,
+ &hf_sv_phsmeas_q_derived,
+ NULL
+ };
+
+ if (!implicit_tag) {
+ offset=dissect_ber_identifier(pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset=dissect_ber_length(pinfo, tree, tvb, offset, &len, NULL);
+ } else {
+ len=tvb_reported_length_remaining(tvb, offset);
+ }
+
+ subtree = proto_tree_add_subtree(tree, tvb, offset, len, ett_phsmeas, NULL, "PhsMeas1");
+
+ sv_data.num_phsMeas = 0;
+ for (i = 0; i < len/8; i++) {
+ if (tree && subtree) {
+ value = tvb_get_ntohl(tvb, offset);
+ qual = tvb_get_ntohl(tvb, offset + 4);
+
+ proto_tree_add_item(subtree, hf_sv_phmeas_instmag_i, tvb, offset, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_bitmask(subtree, tvb, offset + 4, hf_sv_phsmeas_q, ett_phsmeas_q, q_flags, ENC_BIG_ENDIAN);
+
+ if (i < IEC61850_SV_MAX_PHSMEAS_ENTRIES) {
+ sv_data.phsMeas[i].value = value;
+ sv_data.phsMeas[i].qual = qual;
+ sv_data.num_phsMeas++;
+ }
+ }
+
+ offset += 8;
+ }
+
+ return offset;
+}
+
+#include "packet-sv-fn.c"
+
+/*
+* Dissect SV PDUs inside a PPDU.
+*/
+static int
+dissect_sv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ int offset = 0;
+ int old_offset;
+ guint sv_length = 0;
+ proto_item *item;
+ proto_tree *tree;
+
+ static int * const reserve1_flags[] = {
+ &hf_sv_reserve1_s_bit,
+ NULL
+ };
+
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ item = proto_tree_add_item(parent_tree, proto_sv, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_sv);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PNAME);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ /* APPID */
+ proto_tree_add_item(tree, hf_sv_appid, tvb, offset, 2, ENC_BIG_ENDIAN);
+
+ /* Length */
+ proto_tree_add_item_ret_uint(tree, hf_sv_length, tvb, offset + 2, 2, ENC_BIG_ENDIAN, &sv_length);
+
+ /* Reserved 1 */
+ proto_tree_add_bitmask(tree, tvb, offset + 4, hf_sv_reserve1, ett_reserve1,
+ reserve1_flags, ENC_BIG_ENDIAN);
+
+
+ /* Reserved 2 */
+ proto_tree_add_item(tree, hf_sv_reserve2, tvb, offset + 6, 2, ENC_BIG_ENDIAN);
+
+ offset = 8;
+ set_actual_length(tvb, sv_length);
+ while (tvb_reported_length_remaining(tvb, offset) > 0) {
+ old_offset = offset;
+ offset = dissect_sv_SampledValues(FALSE, tvb, offset, &asn1_ctx , tree, -1);
+ if (offset == old_offset) {
+ proto_tree_add_expert(tree, pinfo, &ei_sv_zero_pdu, tvb, offset, -1);
+ break;
+ }
+ }
+
+ tap_queue_packet(sv_tap, pinfo, &sv_data);
+ return tvb_captured_length(tvb);
+}
+
+
+/*--- proto_register_sv -------------------------------------------*/
+void proto_register_sv(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_sv_appid,
+ { "APPID", "sv.appid", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_sv_length,
+ { "Length", "sv.length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_sv_reserve1,
+ { "Reserved 1", "sv.reserve1", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_sv_reserve1_s_bit,
+ { "Simulated", "sv.reserve1.s_bit",
+ FT_BOOLEAN, 16, NULL, F_RESERVE1_S_BIT, NULL, HFILL } },
+
+ { &hf_sv_reserve2,
+ { "Reserved 2", "sv.reserve2", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }},
+
+ { &hf_sv_phmeas_instmag_i,
+ { "value", "sv.meas_value", FT_INT32, BASE_DEC, NULL, 0x0, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q,
+ { "quality", "sv.meas_quality", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_validity,
+ { "validity", "sv.meas_quality.validity", FT_UINT32, BASE_HEX, VALS(sv_q_validity_vals), Q_VALIDITY_MASK, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_overflow,
+ { "overflow", "sv.meas_quality.overflow", FT_BOOLEAN, 32, NULL, Q_OVERFLOW, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_outofrange,
+ { "out of range", "sv.meas_quality.outofrange", FT_BOOLEAN, 32, NULL, Q_OUTOFRANGE, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_badreference,
+ { "bad reference", "sv.meas_quality.badreference", FT_BOOLEAN, 32, NULL, Q_BADREFERENCE, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_oscillatory,
+ { "oscillatory", "sv.meas_quality.oscillatory", FT_BOOLEAN, 32, NULL, Q_OSCILLATORY, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_failure,
+ { "failure", "sv.meas_quality.failure", FT_BOOLEAN, 32, NULL, Q_FAILURE, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_olddata,
+ { "old data", "sv.meas_quality.olddata", FT_BOOLEAN, 32, NULL, Q_OLDDATA, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_inconsistent,
+ { "inconsistent", "sv.meas_quality.inconsistent", FT_BOOLEAN, 32, NULL, Q_INCONSISTENT, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_inaccurate,
+ { "inaccurate", "sv.meas_quality.inaccurate", FT_BOOLEAN, 32, NULL, Q_INACCURATE, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_source,
+ { "source", "sv.meas_quality.source", FT_UINT32, BASE_HEX, VALS(sv_q_source_vals), Q_SOURCE_MASK, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_test,
+ { "test", "sv.meas_quality.test", FT_BOOLEAN, 32, NULL, Q_TEST, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_operatorblocked,
+ { "operator blocked", "sv.meas_quality.operatorblocked", FT_BOOLEAN, 32, NULL, Q_OPERATORBLOCKED, NULL, HFILL}},
+
+ { &hf_sv_phsmeas_q_derived,
+ { "derived", "sv.meas_quality.derived", FT_BOOLEAN, 32, NULL, Q_DERIVED, NULL, HFILL}},
+
+ { &hf_sv_gmidentity,
+ { "gmIdentity", "sv.gmidentity", FT_UINT64, BASE_HEX, NULL, 0x00, NULL, HFILL}},
+
+ { &hf_sv_gmidentity_manuf,
+ { "MAC Vendor", "sv.gmidentity_manuf", FT_BYTES, BASE_NONE, NULL, 0x00, NULL, HFILL}},
+
+
+#include "packet-sv-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_sv,
+ &ett_phsmeas,
+ &ett_phsmeas_q,
+ &ett_gmidentity,
+ &ett_reserve1,
+#include "packet-sv-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_sv_mal_utctime, { "sv.malformed.utctime", PI_MALFORMED, PI_WARN, "BER Error: malformed UTCTime encoding", EXPFILL }},
+ { &ei_sv_zero_pdu, { "sv.zero_pdu", PI_PROTOCOL, PI_ERROR, "Internal error, zero-byte SV PDU", EXPFILL }},
+ { &ei_sv_mal_gmidentity, { "sv.malformed.gmidentity", PI_MALFORMED, PI_WARN, "BER Error: malformed gmIdentity encoding", EXPFILL }},
+ };
+
+ expert_module_t* expert_sv;
+ module_t *sv_module;
+
+ /* Register protocol */
+ proto_sv = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ sv_handle = register_dissector("sv", dissect_sv, proto_sv);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_sv, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_sv = expert_register_protocol(proto_sv);
+ expert_register_field_array(expert_sv, ei, array_length(ei));
+ sv_module = prefs_register_protocol(proto_sv, NULL);
+ prefs_register_bool_preference(sv_module, "decode_data_as_phsmeas",
+ "Force decoding of seqData as PhsMeas",
+ NULL, &sv_decode_data_as_phsmeas);
+
+ /* Register tap */
+ sv_tap = register_tap("sv");
+}
+
+/*--- proto_reg_handoff_sv --- */
+void proto_reg_handoff_sv(void) {
+ dissector_add_uint("ethertype", ETHERTYPE_IEC61850_SV, sv_handle);
+}
diff --git a/epan/dissectors/asn1/sv/packet-sv-template.h b/epan/dissectors/asn1/sv/packet-sv-template.h
new file mode 100644
index 00000000..45ff60da
--- /dev/null
+++ b/epan/dissectors/asn1/sv/packet-sv-template.h
@@ -0,0 +1,30 @@
+/* packet-sv.h
+ * Routines for IEC 61850 Sampled Vales packet dissection
+ * Michael Bernhard 2008
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef __PACKET_SV_H__
+#define __PACKET_SV_H__
+
+#define IEC61850_SV_MAX_PHSMEAS_ENTRIES 20
+
+typedef struct _sv_phs_meas {
+ gint32 value;
+ guint32 qual;
+} sv_phs_meas;
+
+typedef struct _sv_frame_data {
+ guint16 smpCnt;
+ guint8 smpSynch;
+ guint8 num_phsMeas;
+ sv_phs_meas phsMeas[IEC61850_SV_MAX_PHSMEAS_ENTRIES];
+ guint16 smpMod;
+} sv_frame_data;
+
+#endif /*__PACKET_SV_H__*/
diff --git a/epan/dissectors/asn1/sv/sv.asn b/epan/dissectors/asn1/sv/sv.asn
new file mode 100644
index 00000000..e0276c7b
--- /dev/null
+++ b/epan/dissectors/asn1/sv/sv.asn
@@ -0,0 +1,30 @@
+IEC61850 DEFINITIONS ::= BEGIN
+
+SampledValues ::= CHOICE {
+ savPdu [APPLICATION 0] IMPLICIT SavPdu,
+ ...
+}
+
+SavPdu ::= SEQUENCE {
+ noASDU [0] IMPLICIT INTEGER(0..65535),
+ seqASDU [2] IMPLICIT SEQUENCE OF ASDU
+}
+
+ASDU ::= SEQUENCE {
+ svID [0] IMPLICIT VisibleString,
+ datSet [1] IMPLICIT VisibleString OPTIONAL,
+ smpCnt [2] IMPLICIT INTEGER(0..65535),
+ confRev [3] IMPLICIT INTEGER(0..4294967295),
+ refrTm [4] IMPLICIT UtcTime OPTIONAL,
+ smpSynch [5] IMPLICIT INTEGER{none(0),local(1),global(2)} OPTIONAL,
+ smpRate [6] IMPLICIT INTEGER(0..65535) OPTIONAL,
+ seqData [7] IMPLICIT Data,
+ smpMod [8] IMPLICIT INTEGER{samplesPerNormalPeriod(0),samplesPerSecond(1),secondsPerSample(2)} OPTIONAL,
+ gmidData [9] IMPLICIT GmidData OPTIONAL,
+ ...
+}
+UtcTime ::= OCTET STRING
+Data ::= OCTET STRING
+GmidData ::= OCTET STRING
+END
+
diff --git a/epan/dissectors/asn1/sv/sv.cnf b/epan/dissectors/asn1/sv/sv.cnf
new file mode 100644
index 00000000..7da1f370
--- /dev/null
+++ b/epan/dissectors/asn1/sv/sv.cnf
@@ -0,0 +1,115 @@
+# sv.cnf
+# SampledValue conformation file
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.PDU
+
+#.NO_EMIT ONLY_VALS
+SampledValues
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.FN_BODY ASDU/smpCnt VAL_PTR = &value
+ guint32 value;
+%(DEFAULT_BODY)s
+ sv_data.smpCnt = value;
+#.END
+
+#.FN_BODY UtcTime
+ guint32 len;
+ guint32 seconds;
+ guint32 fraction;
+ guint32 nanoseconds;
+ nstime_t ts;
+ gchar * ptime;
+
+ len = tvb_reported_length_remaining(tvb, offset);
+
+ if(len != 8)
+ {
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_sv_mal_utctime, tvb, offset, len,
+ "BER Error: malformed UTCTime encoding, length must be 8 bytes");
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, "????");
+ }
+ return offset;
+ }
+
+ seconds = tvb_get_ntohl(tvb, offset);
+ fraction = tvb_get_ntoh24(tvb, offset+4) * 0x100; /* Only 3 bytes are recommended */
+ nanoseconds = (guint32)( ((guint64)fraction * G_GUINT64_CONSTANT(1000000000)) / G_GUINT64_CONSTANT(0x100000000) ) ;
+
+ ts.secs = seconds;
+ ts.nsecs = nanoseconds;
+
+ ptime = abs_time_to_str(actx->pinfo->pool, &ts, ABSOLUTE_TIME_UTC, TRUE);
+
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
+ }
+ offset += 8;
+#.END
+
+#.TYPE_ATTR
+UtcTime TYPE = FT_STRING DISPLAY = BASE_NONE
+
+#.FN_BODY ASDU/smpSynch VAL_PTR = &value
+ guint32 value;
+%(DEFAULT_BODY)s
+ sv_data.smpSynch = value;
+#.END
+
+#.FN_BODY ASDU/smpMod VAL_PTR = &value
+ guint32 value;
+%(DEFAULT_BODY)s
+ sv_data.smpMod = value;
+#.END
+
+#.FN_BODY Data
+ if (sv_decode_data_as_phsmeas) {
+ offset = dissect_PhsMeas1(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index);
+ } else {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+ }
+#.END
+
+#.FN_BODY GmidData
+ guint32 len;
+ proto_item *gmidentity_ti;
+ proto_tree *gmidentity_tree;
+ const gchar *manuf_name;
+
+ len = tvb_reported_length_remaining(tvb, offset);
+
+ if(len != 8)
+ {
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_sv_mal_gmidentity, tvb, offset, len,
+ "BER Error: malformed gmIdentity encoding, length must be 8 bytes");
+ if(hf_index >= 0)
+ {
+ proto_tree_add_string(tree, hf_index, tvb, offset, len, "????");
+ }
+ return offset;
+ }
+
+ gmidentity_ti = proto_tree_add_item(tree, hf_sv_gmidentity, tvb, offset, 8, ENC_BIG_ENDIAN);
+
+ /* EUI-64: vendor ID | 0xFF - 0xFE | card ID */
+ if (tvb_get_ntohs(tvb, offset + 3) == 0xFFFE) {
+ gmidentity_tree = proto_item_add_subtree(gmidentity_ti, ett_gmidentity);
+
+ manuf_name = tvb_get_manuf_name(tvb, offset);
+ proto_tree_add_bytes_format_value(gmidentity_tree, hf_sv_gmidentity_manuf, tvb, offset, 3, NULL, "%%s", manuf_name);
+ }
+
+ offset += 8;
+#.END
+
+#.END_OF_CNF
diff --git a/epan/dissectors/asn1/t124/CMakeLists.txt b/epan/dissectors/asn1/t124/CMakeLists.txt
new file mode 100644
index 00000000..1e461b6c
--- /dev/null
+++ b/epan/dissectors/asn1/t124/CMakeLists.txt
@@ -0,0 +1,36 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME t124 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST_LATE
+ ../t125/MCS-PROTOCOL.asn
+)
+
+set( ASN_FILE_LIST
+ GCC-PROTOCOL.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/t124/GCC-PROTOCOL.asn b/epan/dissectors/asn1/t124/GCC-PROTOCOL.asn
new file mode 100644
index 00000000..0dfe881c
--- /dev/null
+++ b/epan/dissectors/asn1/t124/GCC-PROTOCOL.asn
@@ -0,0 +1,1179 @@
+-- Module GCC-PROTOCOL (T.124:01/2007)
+-- See also ITU-T T.124 (01/2007)
+-- See also the index of all ASN.1 assignments needed in this document
+
+GCC-PROTOCOL {itu-t(0) recommendation(0) t(20) t124(124) version(0) 2 asn1Modules(2) gcc-protocol(1)}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+-- Export all symbols
+-- =============================================================================
+-- Part 1: Elements of which messages are composed
+-- =============================================================================
+ChannelID ::= INTEGER(1..65535)
+
+StaticChannelID ::= INTEGER(1..1000)
+
+-- Those assigned by specifications
+DynamicChannelID ::= INTEGER(1001..65535)
+
+-- Those created and deleted by MCS
+UserID ::= DynamicChannelID
+
+TokenID ::= INTEGER(1..65535)
+
+StaticTokenID ::= INTEGER(1..16383)
+
+-- Those assigned by specifications
+DynamicTokenID ::= INTEGER(16384..65535)
+
+-- Those assigned by the registry
+Time ::= INTEGER(-2147483648..2147483647)
+
+-- Time in seconds
+Handle ::= INTEGER(0..4294967295)
+
+-- 32-bit value
+H221NonStandardIdentifier ::= OCTET STRING(SIZE (4..255))
+
+-- First four octets shall be country code and
+-- Manufacturer code, assigned as specified in
+-- Annex A/H.221 for NS-cap and NS-comm
+Key ::= CHOICE -- Identifier of a standard or non-standard object
+ {
+ object OBJECT IDENTIFIER,
+ h221NonStandard H221NonStandardIdentifier
+}
+
+NonStandardParameter ::= SEQUENCE {key Key,
+ data OCTET STRING
+}
+
+TextString ::= BMPString(SIZE (0..255))
+
+-- Basic Multilingual Plane of ISO/IEC 10646-1 (Unicode)
+--simpleTextFirstCharacter UniversalString ::=
+-- {0, 0, 0, 0}
+
+--simpleTextLastCharacter UniversalString ::= {0, 0, 0, 255}
+
+SimpleTextString ::=
+ BMPString(SIZE (0..255))
+-- (FROM (simpleTextFirstCharacter..simpleTextLastCharacter))
+
+SimpleNumericString ::= NumericString(SIZE (1..255))(FROM ("0123456789"))
+
+DiallingString ::= NumericString(SIZE (1..16))(FROM ("0123456789"))
+
+SubAddressString ::= NumericString(SIZE (1..40))(FROM ("0123456789"))
+
+ExtraDiallingString ::= TextString(SIZE (1..255))(FROM ("0123456789#*,"))
+
+UserData ::= SET OF SEQUENCE {key Key,
+ value OCTET STRING OPTIONAL}
+
+Password ::= SEQUENCE {
+ numeric SimpleNumericString,
+ text SimpleTextString OPTIONAL,
+ ...,
+ unicodeText TextString OPTIONAL
+}
+
+PasswordSelector ::= CHOICE {
+ numeric SimpleNumericString,
+ text SimpleTextString,
+ ...,
+ unicodeText TextString
+}
+
+ChallengeResponseItem ::= CHOICE {
+ passwordString PasswordSelector,
+ responseData UserData,
+ ...
+}
+
+ChallengeResponseAlgorithm ::= CHOICE {
+ passwordInTheClear NULL,
+ nonStandardAlgorithm NonStandardParameter,
+ ...
+}
+
+ChallengeItem ::= SEQUENCE {
+ responseAlgorithm ChallengeResponseAlgorithm,
+ challengeData UserData,
+ ...
+}
+
+ChallengeRequest ::= SEQUENCE {
+ challengeTag INTEGER,
+ challengeSet SET OF ChallengeItem,
+ -- Set of algorithms offered for response
+ ...
+}
+
+ChallengeResponse ::= SEQUENCE {
+ challengeTag INTEGER,
+ responseAlgorithm ChallengeResponseAlgorithm,
+ -- Specific algorithm selected from the set of
+ -- items presented in the ChallengeRequest
+ responseItem ChallengeResponseItem,
+ ...
+}
+
+PasswordChallengeRequestResponse ::= CHOICE {
+ passwordInTheClear PasswordSelector,
+ challengeRequestResponse
+ SEQUENCE {challengeRequest ChallengeRequest OPTIONAL,
+ challengeResponse ChallengeResponse OPTIONAL,
+ ...},
+ ...
+}
+
+ConferenceName ::= SEQUENCE {
+ numeric SimpleNumericString,
+ text SimpleTextString OPTIONAL,
+ ...,
+ unicodeText TextString OPTIONAL
+}
+
+ConferenceNameSelector ::= CHOICE {
+ numeric SimpleNumericString,
+ text SimpleTextString,
+ ...,
+ unicodeText TextString
+}
+
+ConferenceNameModifier ::= SimpleNumericString
+
+Privilege ::= ENUMERATED {
+ terminate(0), ejectUser(1), add(2), lockUnlock(3), transfer(4), ...
+ }
+
+TerminationMethod ::= ENUMERATED {automatic(0), manual(1), ...
+ }
+
+ConferencePriorityScheme ::= CHOICE {
+ nonStandardScheme NonStandardParameter,
+ ...
+}
+
+ConferencePriority ::= SEQUENCE {
+ priority INTEGER(0..65535),
+ scheme ConferencePriorityScheme,
+ ...
+}
+
+NodeCategory ::= CHOICE {
+ conventional NULL,
+ counted NULL,
+ anonymous NULL,
+ nonStandardCategory NonStandardParameter,
+ ...
+}
+
+ConferenceMode ::= CHOICE {
+ conventional-only NULL,
+ counted-only NULL,
+ anonymous-only NULL,
+ conventional-control NULL,
+ unrestricted-mode NULL,
+ non-standard-mode NonStandardParameter,
+ ...
+}
+
+NetworkAddress ::=
+ SEQUENCE (SIZE (1..64)) OF
+ CHOICE -- Listed in order of use
+ {aggregatedChannel
+ SEQUENCE {transferModes
+ SEQUENCE-- One or more-- {speech BOOLEAN,
+ voice-band BOOLEAN,
+ digital-56k BOOLEAN,
+ digital-64k BOOLEAN,
+ digital-128k BOOLEAN,
+ digital-192k BOOLEAN,
+ digital-256k BOOLEAN,
+ digital-320k BOOLEAN,
+ digital-384k BOOLEAN,
+ digital-512k BOOLEAN,
+ digital-768k BOOLEAN,
+ digital-1152k BOOLEAN,
+ digital-1472k BOOLEAN,
+ digital-1536k BOOLEAN,
+ digital-1920k BOOLEAN,
+ packet-mode BOOLEAN,
+ frame-mode BOOLEAN,
+ atm BOOLEAN,
+ ...},
+ internationalNumber DiallingString,
+ subAddress SubAddressString OPTIONAL,
+ extraDialling ExtraDiallingString OPTIONAL,
+ highLayerCompatibility
+ SEQUENCE {telephony3kHz BOOLEAN,
+ telephony7kHz BOOLEAN,
+ videotelephony BOOLEAN,
+ videoconference BOOLEAN,
+ audiographic BOOLEAN,
+ audiovisual BOOLEAN,
+ multimedia BOOLEAN,
+ ...} OPTIONAL,
+ ...},
+ transportConnection
+ SEQUENCE {nsapAddress OCTET STRING(SIZE (1..20)),
+ transportSelector OCTET STRING OPTIONAL},
+ nonStandard NonStandardParameter,
+ ...}
+
+MediaList ::= SEQUENCE {audio BOOLEAN,
+ video BOOLEAN,
+ data BOOLEAN,
+ ...
+}
+
+ChannelAggregationMethod ::= CHOICE {
+ h221 NULL,
+ h244 NULL,
+ iso-iec-13871 NULL,
+ -- The actual mode of bonding is dynamically selected according
+ -- to the procedures described in ISO/IEC 13871.
+ nonStandard NonStandardParameter,
+ ...
+}
+
+Profile ::= CHOICE {
+ simpleProfile
+ CHOICE {-- Basic transfer modes:
+ speech NULL, -- Simple telephony--
+ telephony-3kHz NULL, -- Rec. G.711--
+ telephony-7kHz NULL, -- Rec. G.722--
+ voice-band NULL, -- Modems--
+ frameRelay NULL,
+ -- T.120-only data profiles (Rec. T.123):
+ t123-pstn-basic NULL,
+ t123-psdn-basic NULL,
+ t123-b-isdn-basic NULL},
+ multimediaProfile
+ SEQUENCE {profile
+ CHOICE {h310 NULL,
+ h320 NULL,
+ h321 NULL,
+ h322 NULL,
+ h323 NULL,
+ h324 NULL,
+ h324m NULL,
+ asvd NULL,
+ dsvd NULL},
+ t120Data BOOLEAN},
+ dsmccDownloadProfile NULL,
+ nonStandard NonStandardParameter,
+ ...
+}
+
+ExtendedE164NetworkAddress ::= SEQUENCE {
+ internationalNumber DiallingString,
+ subAddress SubAddressString OPTIONAL,
+ extraDialling ExtraDiallingString OPTIONAL,
+ ...
+}
+
+TransportAddress ::= SEQUENCE {
+ nsapAddress OCTET STRING(SIZE (1..20)),
+ transportSelector OCTET STRING OPTIONAL
+}
+
+GSTNConnection ::= SEQUENCE {networkAddress ExtendedE164NetworkAddress,
+ ...
+}
+
+ISDNConnection ::= SEQUENCE {
+ circuitTypes
+ SET OF
+ CHOICE {digital-64k NULL,
+ digital-2x64k NULL,
+ digital-384k NULL,
+ digital-1536 NULL,
+ digital-1920k NULL,
+ multirate-base-64k INTEGER(1..30) -- See Note 1 --},
+ networkAddress ExtendedE164NetworkAddress,
+ highLayerCompatibility
+ SEQUENCE {-- Those are supported code points for IE HLC of the D
+ -- protocol (Rec. Q.931).
+ telephony3kHz BOOLEAN,
+ telephony7kHz BOOLEAN,
+ videotelephony BOOLEAN,
+ videoconference BOOLEAN,
+ audiographic BOOLEAN,
+ audiovisual BOOLEAN,
+ multimedia BOOLEAN,
+ ...} OPTIONAL,
+ ...
+}
+
+-- Note 1: digital-2x64k differs from multirate-base-64k
+-- with a multiplier value of 2;
+-- in the first case
+-- the network is requested an 8 kHz integrity with Restricted
+-- Differential Time Delay (RDTD);
+-- in the second case
+-- the network is requested a Time Slot
+-- Sequence integrity (see 4.5.5/Q.931)
+CSDNConnection ::= SEQUENCE {
+ circuitTypes SET OF CHOICE {digital-56k NULL,
+ digital-64k NULL},
+ networkAddress ExtendedE164NetworkAddress,
+ ...
+}
+
+PSDNConnection ::= SEQUENCE {
+ networkAddress
+ CHOICE {extendedE164NetworkAddress ExtendedE164NetworkAddress,
+ transportAddress TransportAddress,
+ nonStandard NonStandardParameter},
+ ...
+}
+
+ATMConnection ::= SEQUENCE {
+ networkAddress
+ CHOICE {extendedE164 ExtendedE164NetworkAddress,
+ nsapAddress TransportAddress,
+ -- this case is reserved for NSAPs only: the
+ -- optional transport selector shall never be used
+ nonStandard NonStandardParameter},
+ maxTransferRate INTEGER(0..MAX) OPTIONAL,
+ -- in cells per seconds
+ ...
+}
+
+NetworkConnection ::= CHOICE {
+ gstnConnection GSTNConnection,
+ isdnConnection ISDNConnection,
+ csdnConnection CSDNConnection,
+ psdnConnection PSDNConnection,
+ atmConnection ATMConnection,
+ extendedE164NetworkAddress ExtendedE164NetworkAddress,
+ -- Note: LAN connections and leased
+ transportAddress TransportAddress,
+ -- lines (Rec. G.703/G.704) may be
+ nonStandard NonStandardParameter,
+ -- covered by one of these
+ ...
+}
+
+NetworkAddressV2 ::=
+ SET OF
+ SEQUENCE {networkConnection
+ CHOICE {singleConnection NetworkConnection,
+ aggregatedConnections
+ SEQUENCE {connectionList
+ SET (SIZE (1..30)) OF
+ CHOICE {isdnConnection ISDNConnection,
+ csdnConnection CSDNConnection,
+ ...},
+ aggregationMethods
+ SET OF ChannelAggregationMethod OPTIONAL,
+ ...}},
+ profiles SET OF Profile OPTIONAL,
+ mediaConcerned MediaList OPTIONAL,
+ ...}
+
+NodeType ::= ENUMERATED {terminal(0), multiportTerminal(1), mcu(2), ...
+ }
+
+NodeProperties ::= SEQUENCE {
+ managementDevice BOOLEAN,
+ -- Is the node a device such as a reservation system
+ peripheralDevice BOOLEAN,
+ -- Is the node a peripheral to a primary node
+ ...
+}
+
+AsymmetryIndicator ::= CHOICE {
+ callingNode NULL,
+ calledNode NULL,
+ unknown INTEGER(0..4294967295)
+ -- Uniformly distributed 32-bit random number
+}
+
+AlternativeNodeID ::= CHOICE {h243NodeID OCTET STRING(SIZE (2)),
+ ...
+}
+
+ConferenceDescriptor ::= SEQUENCE {
+ conferenceName ConferenceName,
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ conferenceDescription TextString OPTIONAL,
+ lockedConference BOOLEAN,
+ passwordInTheClearRequired BOOLEAN,
+ networkAddress NetworkAddress OPTIONAL,
+ ...,
+ defaultConferenceFlag BOOLEAN,
+ conferenceMode ConferenceMode
+}
+
+NodeRecord ::= SEQUENCE {
+ superiorNode UserID OPTIONAL,
+ -- Not present only for the Top GCC Provider
+ nodeType NodeType,
+ nodeProperties NodeProperties,
+ nodeName TextString OPTIONAL,
+ participantsList SEQUENCE OF TextString OPTIONAL,
+ siteInformation TextString OPTIONAL,
+ networkAddress NetworkAddress OPTIONAL,
+ alternativeNodeID AlternativeNodeID OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ nodeCategory NodeCategory OPTIONAL,
+ networkAddressV2 NetworkAddressV2 OPTIONAL
+}
+
+SessionKey ::= SEQUENCE
+{
+ applicationProtocolKey Key,
+ sessionID ChannelID OPTIONAL
+}
+
+ChannelType ::= ENUMERATED {
+ static(0), dynamicMulticast(1), dynamicPrivate(2), dynamicUserId(3)
+}
+
+ApplicationRecord ::= SEQUENCE {
+ applicationActive BOOLEAN,
+ -- Active/Inactive flag
+ conductingOperationCapable BOOLEAN,
+ -- Maximum one per node per session
+ startupChannel ChannelType OPTIONAL,
+ applicationUserID UserID OPTIONAL,
+ -- User ID assigned to the Application Protocol Entity
+ nonCollapsingCapabilities
+ SET OF
+ SEQUENCE {capabilityID CapabilityID,
+ applicationData OCTET STRING OPTIONAL} OPTIONAL,
+ ...
+}
+
+CapabilityID ::= CHOICE {
+ standard INTEGER(0..65535),
+ -- Assigned by Application Protocol specifications
+ nonStandard Key
+}
+
+CapabilityClass ::= CHOICE {
+ logical NULL,
+ unsignedMin INTEGER(0..MAX), -- Capability value
+ unsignedMax INTEGER(0..MAX), -- Capability value
+ ...
+}
+
+EntityID ::= INTEGER(0..65535)
+
+ApplicationInvokeSpecifier ::= SEQUENCE {
+ sessionKey SessionKey,
+ expectedCapabilitySet
+ SET OF
+ SEQUENCE {capabilityID CapabilityID,
+ capabilityClass CapabilityClass,
+ ...} OPTIONAL,
+ startupChannel ChannelType OPTIONAL,
+ mandatoryFlag BOOLEAN,
+ -- TRUE indicates required Application Protocol Entity
+ ...
+}
+
+RegistryKey ::= SEQUENCE {
+ sessionKey SessionKey,
+ resourceID OCTET STRING(SIZE (0..64))
+}
+
+RegistryItem ::= CHOICE {
+ channelID DynamicChannelID,
+ tokenID DynamicTokenID,
+ parameter OCTET STRING(SIZE (0..64)),
+ vacant NULL,
+ ...
+}
+
+RegistryEntryOwner ::= CHOICE {
+ owned
+ SEQUENCE {nodeID UserID, -- Node ID of the owning node--
+ entityID EntityID -- Entity ID of the owning-- }, -- Appliction Protocol Entity
+ notOwned NULL -- There is no current owner
+}
+
+RegistryModificationRights ::= ENUMERATED {owner(0), session(1), public(2)}
+
+-- ============================================================================
+-- Part 2: PDU Messages
+-- ============================================================================
+UserIDIndication ::= SEQUENCE {tag INTEGER,
+ ...
+}
+
+ConferenceCreateRequest ::=
+ SEQUENCE { -- MCS-Connect-Provider request user data
+ conferenceName ConferenceName,
+ convenerPassword Password OPTIONAL,
+ password Password OPTIONAL,
+ lockedConference BOOLEAN,
+ listedConference BOOLEAN,
+ conductibleConference BOOLEAN,
+ terminationMethod TerminationMethod,
+ conductorPrivileges SET OF Privilege OPTIONAL,
+ conductedPrivileges SET OF Privilege OPTIONAL,
+ nonConductedPrivileges SET OF Privilege OPTIONAL,
+ conferenceDescription TextString OPTIONAL,
+ callerIdentifier TextString OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ conferencePriority ConferencePriority OPTIONAL,
+ conferenceMode ConferenceMode OPTIONAL
+}
+
+ConferenceCreateResponse ::=
+ SEQUENCE { -- MCS-Connect-Provider response user data
+ nodeID UserID, -- Node ID of the sending node
+ tag INTEGER,
+ result
+ ENUMERATED {success(0), userRejected(1), resourcesNotAvailable(2),
+ rejectedForSymmetryBreaking(3),
+ lockedConferenceNotSupported(4), ...
+ },
+ userData UserData OPTIONAL,
+ ...
+}
+
+ConferenceQueryRequest ::= SEQUENCE { -- MCS-Connect-Provider request user data
+ nodeType NodeType,
+ asymmetryIndicator AsymmetryIndicator OPTIONAL,
+ userData UserData OPTIONAL,
+ ...
+}
+
+ConferenceQueryResponse ::=
+ SEQUENCE { -- MCS-Connect-Provider response user data
+ nodeType NodeType,
+ asymmetryIndicator AsymmetryIndicator OPTIONAL,
+ conferenceList SET OF ConferenceDescriptor,
+ result ENUMERATED {success(0), userRejected(1), ...
+ },
+ userData UserData OPTIONAL,
+ ...,
+ waitForInvitationFlag BOOLEAN OPTIONAL,
+ noUnlistedConferenceFlag BOOLEAN OPTIONAL
+}
+
+ConferenceJoinRequest ::=
+ SEQUENCE { -- MCS-Connect-Provider request user data as well as
+ -- MCS-Send-Data on Node ID Channel of Top GCC sent
+ -- by the receiver of the MCS-Connect-Provider
+ conferenceName ConferenceNameSelector OPTIONAL,
+ -- Required when part of MCS-Connect-Provider
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ tag INTEGER OPTIONAL,
+ -- Filled in when sent on Node ID Channel of Top GCC
+ password PasswordChallengeRequestResponse OPTIONAL,
+ convenerPassword PasswordSelector OPTIONAL,
+ callerIdentifier TextString OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ nodeCategory NodeCategory OPTIONAL
+}
+
+ConferenceJoinResponse ::=
+ SEQUENCE { -- MCS-Connect-Provider response user data as well as
+ -- MCS-Send-Data on Node ID Channel of
+ -- the receiver of the MCS-Connect-Provider
+ nodeID UserID OPTIONAL,
+ -- Node ID of directly connected node only
+ topNodeID UserID,
+ -- Node ID of Top GCC Provider
+ tag INTEGER,
+ conferenceNameAlias ConferenceNameSelector OPTIONAL,
+ passwordInTheClearRequired BOOLEAN,
+ lockedConference BOOLEAN,
+ listedConference BOOLEAN,
+ conductibleConference BOOLEAN,
+ terminationMethod TerminationMethod,
+ conductorPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ conductedPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ nonConductedPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ conferenceDescription TextString OPTIONAL,
+ password PasswordChallengeRequestResponse OPTIONAL,
+ result
+ ENUMERATED {success(0), userRejected(1), invalidConference(2),
+ invalidPassword(3), invalidConvenerPassword(4),
+ challengeResponseRequired(5), invalidChallengeResponse(6),
+ ...
+ },
+ userData UserData OPTIONAL,
+ ...,
+ nodeCategory NodeCategory OPTIONAL,
+ conferenceMode ConferenceMode OPTIONAL
+}
+
+ConferenceInviteRequest ::=
+ SEQUENCE { -- MCS-Connect-Provider request user data
+ conferenceName ConferenceName,
+ nodeID UserID, -- Node ID of the sending node
+ topNodeID UserID, -- Node ID of Top GCC Provider
+ tag INTEGER,
+ passwordInTheClearRequired BOOLEAN,
+ lockedConference BOOLEAN,
+ listedConference BOOLEAN,
+ conductibleConference BOOLEAN,
+ terminationMethod TerminationMethod,
+ conductorPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ conductedPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ nonConductedPrivileges SET OF Privilege OPTIONAL,
+ -- No privilege shall be listed more than once
+ conferenceDescription TextString OPTIONAL,
+ callerIdentifier TextString OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ conferencePriority ConferencePriority OPTIONAL,
+ nodeCategory NodeCategory OPTIONAL,
+ conferenceMode ConferenceMode OPTIONAL
+}
+
+ConferenceInviteResponse ::=
+ SEQUENCE { -- MCS-Connect-Provider response user data
+ result ENUMERATED {success(0), userRejected(1), ...
+ },
+ userData UserData OPTIONAL,
+ ...
+}
+
+ConferenceAddRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC or
+ -- Node ID Channel of Adding MCU if specified
+ networkAddress NetworkAddress,
+ requestingNode UserID,
+ tag INTEGER,
+ addingMCU UserID OPTIONAL,
+ userData UserData OPTIONAL,
+ ...,
+ nodeCategory NodeCategory OPTIONAL,
+ networkAddressV2 NetworkAddressV2
+}
+
+ConferenceAddResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ tag INTEGER,
+ result
+ ENUMERATED {success(0), invalidRequester(1), invalidNetworkType(2),
+ invalidNetworkAddress(3), addedNodeBusy(4), networkBusy(5),
+ noPortsAvailable(6), connectionUnsuccessful(7), ...
+ },
+ userData UserData OPTIONAL,
+ ...
+}
+
+ConferenceLockRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ -- No parameters
+ ...
+}
+
+ConferenceLockResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ result ENUMERATED {success(0), invalidRequester(1), alreadyLocked(2), ...
+ },
+ ...
+}
+
+ConferenceLockIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ -- or MCS-Send-Data on Node ID Channel
+ -- No parameters
+ ...
+}
+
+ConferenceUnlockRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ -- No parameters
+ ...
+}
+
+ConferenceUnlockResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ result ENUMERATED {success(0), invalidRequester(1), alreadyUnlocked(2), ...
+ },
+ ...
+}
+
+ConferenceUnlockIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ -- or MCS-Send-Data on Node ID Channel
+ -- No parameters
+ ...
+}
+
+ConferenceTerminateRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ reason ENUMERATED {userInitiated(0), timedConferenceTermination(1), ...
+ },
+ ...
+}
+
+ConferenceTerminateResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ result ENUMERATED {success(0), invalidRequester(1), ...
+ },
+ ...
+}
+
+ConferenceTerminateIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ reason ENUMERATED {userInitiated(0), timedConferenceTermination(1), ...
+ },
+ ...
+}
+
+ConferenceEjectUserRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ nodeToEject UserID, -- Node ID of the node to eject
+ reason ENUMERATED {userInitiated(0), ...
+ },
+ ...
+}
+
+ConferenceEjectUserResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ nodeToEject UserID, -- Node ID of the node to eject
+ result
+ ENUMERATED {success(0), invalidRequester(1), invalidNode(2), ...
+ },
+ ...
+}
+
+ConferenceEjectUserIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ nodeToEject UserID, -- Node ID of the node to eject
+ reason
+ ENUMERATED {userInitiated(0), higherNodeDisconnected(1),
+ higherNodeEjected(2), ...
+ },
+ ...
+}
+
+ConferenceTransferRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ conferenceName ConferenceNameSelector,
+ -- Name of conference to transfer to
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ networkAddress NetworkAddress OPTIONAL,
+ transferringNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
+ password PasswordSelector OPTIONAL,
+ ...,
+ networkAddressV2 NetworkAddressV2 OPTIONAL
+}
+
+ConferenceTransferResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ conferenceName ConferenceNameSelector,
+ -- Name of conference to transfer to
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ transferringNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
+ result ENUMERATED {success(0), invalidRequester(1), ...
+ },
+ ...
+}
+
+ConferenceTransferIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ conferenceName ConferenceNameSelector,
+ -- Name of conference to transfer to
+ conferenceNameModifier ConferenceNameModifier OPTIONAL,
+ networkAddress NetworkAddress OPTIONAL,
+ transferringNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
+ -- List of Node IDs,
+ -- not present if destined for all nodes
+ password PasswordSelector OPTIONAL,
+ ...,
+ networkAddressV2 NetworkAddressV2 OPTIONAL
+}
+
+RosterUpdateIndication ::= SEQUENCE { -- MCS-Send-Data on Node ID Channel or
+ -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ fullRefresh BOOLEAN,
+ -- Conference Roster and all
+ -- ApplicationProtocol Sessions refreshed
+ nodeInformation
+ SEQUENCE {nodeRecordList
+ CHOICE {noChange NULL,
+ refresh
+ SET (SIZE (1..65536)) OF
+ SEQUENCE
+ -- One for each node in the conference;
+ -- no node shall be listed more than once
+ {nodeID UserID, -- Node ID of the node--
+ nodeRecord NodeRecord},
+ update
+ SET (SIZE (1..65536)) OF
+ SEQUENCE
+ -- One for each node changing its node record;
+ -- no node shall be listed more than once
+ {nodeID UserID, -- Node ID of the node--
+ nodeUpdate
+ CHOICE {addRecord NodeRecord,
+ replaceRecord NodeRecord,
+ removeRecord NULL,
+ ...}},
+ ...},
+ rosterInstanceNumber INTEGER(0..65535),
+ nodesAdded BOOLEAN,
+ -- Nodes have been added since last instance
+ nodesRemoved BOOLEAN,
+ -- Nodes have been removed since last instance
+ ...},
+ applicationInformation
+ SET (SIZE (0..65535)) OF
+ SEQUENCE
+ -- One for each Application Protocol Session;
+ -- all Application Protocol Sessions if full refresh;
+ -- no Application Protocol shall be
+ -- listed more than once
+ {
+ sessionKey SessionKey,
+ applicationRecordList CHOICE
+ {
+ noChange NULL,
+ refresh SET (SIZE (0..65535)) OF
+ SEQUENCE
+ -- One for each node with the
+ -- Application Protocol Session enrolled;
+ -- no node shall be listed more than once
+ {nodeID UserID,
+ -- Node ID of node
+ entityID EntityID,
+ -- ID for this Application Protocol Entity at this node
+ applicationRecord ApplicationRecord},
+ update
+ SET (SIZE (1..65536)) OF
+ SEQUENCE
+ -- One for each node modifying its Application Record;
+ -- no node shall be listed more than once
+ {nodeID UserID,
+ -- Node ID of node
+ entityID EntityID,
+ -- ID for this Application Protocol Entity at this node
+ applicationUpdate
+ CHOICE {addRecord ApplicationRecord,
+ replaceRecord ApplicationRecord,
+ removeRecord NULL,
+ ...}},
+ ...},
+ applicationCapabilitiesList
+ CHOICE {noChange NULL,
+ refresh
+ SET OF
+ SEQUENCE {capabilityID CapabilityID,
+ capabilityClass CapabilityClass,
+ numberOfEntities INTEGER(1..65536),
+ -- Number of Application Protocol Entities
+ -- which issued the capability
+ ...},
+ ...},
+ rosterInstanceNumber INTEGER(0..65535),
+ peerEntitiesAdded BOOLEAN,
+ -- Peer Entities have been added since last instance
+ peerEntitiesRemoved BOOLEAN,
+ -- Peer Entities have been removed since last instance
+ ...},
+ ...
+}
+
+ApplicationInvokeIndication ::=
+ SEQUENCE { -- MCS-Send-Data or MCS-Uniform-Send-Data
+ -- on GCC-Broadcast-Channel or Node ID Channel
+ applicationProtocolEntiyList
+ SET (SIZE (1..65536)) OF ApplicationInvokeSpecifier,
+ destinationNodes SET (SIZE (1..65536)) OF UserID OPTIONAL,
+ -- List of Node IDs,
+ -- not present if destined for all nodes
+ ...
+}
+
+RegistryRegisterChannelRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ channelID DynamicChannelID,
+ ...
+}
+
+RegistryAssignTokenRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ ...
+}
+
+RegistrySetParameterRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ parameter OCTET STRING(SIZE (0..64)),
+ modificationRights RegistryModificationRights OPTIONAL,
+ ...
+}
+
+RegistryRetrieveEntryRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ ...
+}
+
+RegistryDeleteEntryRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ ...
+}
+
+RegistryMonitorEntryRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ key RegistryKey,
+ ...
+}
+
+RegistryMonitorEntryIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ key RegistryKey,
+ item RegistryItem,
+ -- Contents: channel, token, parameter, or empty
+ owner RegistryEntryOwner,
+ modificationRights RegistryModificationRights OPTIONAL,
+ ...
+}
+
+RegistryAllocateHandleRequest ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of Top GCC
+ entityID EntityID,
+ numberOfHandles INTEGER(1..1024),
+ ...
+}
+
+RegistryAllocateHandleResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ entityID EntityID,
+ numberOfHandles INTEGER(1..1024),
+ firstHandle Handle,
+ result ENUMERATED {successful(0), noHandlesAvailable(1), ...
+ },
+ ...
+}
+
+RegistryResponse ::=
+ SEQUENCE { -- MCS-Send-Data on Node ID Channel of requester
+ entityID EntityID,
+ -- Entity ID of the requesting Application Protocol Entity
+ primitiveType
+ ENUMERATED {registerChannel(0), assignToken(1), setParameter(2),
+ retrieveEntry(3), deleteEntry(4), monitorEntry(5), ...
+ },
+ key RegistryKey,
+ -- Database index
+ item RegistryItem,
+ -- Contents: channel, token, parameter, or vacant
+ owner RegistryEntryOwner,
+ modificationRights RegistryModificationRights OPTIONAL,
+ result
+ ENUMERATED {successful(0), belongsToOther(1), tooManyEntries(2),
+ inconsistentType(3), entryNotFound(4), entryAlreadyExists(5),
+ invalidRequester(6), ...
+ },
+ ...
+}
+
+ConductorAssignIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ conductingNode UserID,
+ ...
+}
+
+ConductorReleaseIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ -- No parameters
+ ...
+}
+
+ConductorPermissionAskIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ grantFlag BOOLEAN,
+ -- TRUE to request permission grant, FALSE to release
+ ...
+}
+
+ConductorPermissionGrantIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ permissionList SEQUENCE (SIZE (0..65535)) OF UserID,
+ -- Node ID of nodes granted permission
+ waitingList SEQUENCE (SIZE (1..65536)) OF UserID OPTIONAL,
+ -- Node ID of nodes waiting form permission
+ ...
+}
+
+ConferenceTimeRemainingIndication ::=
+ SEQUENCE { -- MCS-Send-Data on GCC-Broadcast-Channel
+ timeRemaining Time,
+ nodeID UserID OPTIONAL,
+ ...
+}
+
+ConferenceTimeInquireIndication ::=
+ SEQUENCE { -- MCS-Send-Data on GCC-Convener-Channel
+ nodeSpecificTimeFlag BOOLEAN,
+ -- FALSE for conference-wide, TRUE for node-specific
+ ...
+}
+
+ConferenceTimeExtendIndication ::=
+ SEQUENCE { -- MCS-Send-Data on GCC-Convener-Channel
+ timeToExtend Time,
+ nodeSpecificTimeFlag BOOLEAN,
+ -- FALSE for conference-wide, TRUE for node-specific
+ ...
+}
+
+ConferenceAssistanceIndication ::=
+ SEQUENCE { -- MCS-Uniform-Send-Data on GCC-Broadcast-Channel
+ userData UserData OPTIONAL,
+ ...
+}
+
+TextMessageIndication ::= SEQUENCE { -- MCS-Send-Data or MCS-Uniform-Send-Data
+ message TextString,
+ -- on GCC-Broadcast-Channel or Node ID Channel
+ ...
+}
+
+RosterRefreshRequest ::= SEQUENCE {
+ nodeID UserID,
+ nodeCategory NodeCategory,
+ fullRefresh BOOLEAN,
+ sendConferenceRoster BOOLEAN OPTIONAL,
+ applicationList
+ SEQUENCE {applicationKeyList
+ SET OF
+ SEQUENCE {applicationProtocolKey Key,
+ nonStandardParameter
+ NonStandardParameter OPTIONAL,
+ ...},
+ nonStandardParameter NonStandardParameter OPTIONAL,
+ ...} OPTIONAL,
+ sessionList
+ SEQUENCE {sessionKeyList
+ SET OF
+ SEQUENCE {sessionKey SessionKey,
+ nonStandardParameter NonStandardParameter OPTIONAL,
+ ...},
+ nonStandardParameter NonStandardParameter OPTIONAL,
+ ...} OPTIONAL,
+ nonStandardParameter NonStandardParameter OPTIONAL,
+ ...
+}
+
+FunctionNotSupportedResponse ::= SEQUENCE {request RequestPDU
+}
+
+NonStandardPDU ::= SEQUENCE {data NonStandardParameter,
+ ...
+}
+
+-- ==========================================================================
+-- Part 3: Messages sent as MCS-Connect-Provider user data
+-- ==========================================================================
+ConnectData ::= SEQUENCE {
+ t124Identifier Key,
+ -- This shall be set to the value {itu-t recommendation t 124 version(0) 1}
+ connectPDU OCTET STRING
+}
+
+ConnectGCCPDU ::= CHOICE {
+ conferenceCreateRequest ConferenceCreateRequest,
+ conferenceCreateResponse ConferenceCreateResponse,
+ conferenceQueryRequest ConferenceQueryRequest,
+ conferenceQueryResponse ConferenceQueryResponse,
+ conferenceJoinRequest ConferenceJoinRequest,
+ conferenceJoinResponse ConferenceJoinResponse,
+ conferenceInviteRequest ConferenceInviteRequest,
+ conferenceInviteResponse ConferenceInviteResponse,
+ ...
+}
+
+-- ============================================================================
+-- Part 4: Messages sent using MCS-Send-Data or MCS-Uniform-Send-Data
+-- ============================================================================
+GCCPDU ::= CHOICE {
+ request RequestPDU,
+ response ResponsePDU,
+ indication IndicationPDU
+}
+
+RequestPDU ::= CHOICE {
+ conferenceJoinRequest ConferenceJoinRequest,
+ conferenceAddRequest ConferenceAddRequest,
+ conferenceLockRequest ConferenceLockRequest,
+ conferenceUnlockRequest ConferenceUnlockRequest,
+ conferenceTerminateRequest ConferenceTerminateRequest,
+ conferenceEjectUserRequest ConferenceEjectUserRequest,
+ conferenceTransferRequest ConferenceTransferRequest,
+ registryRegisterChannelRequest RegistryRegisterChannelRequest,
+ registryAssignTokenRequest RegistryAssignTokenRequest,
+ registrySetParameterRequest RegistrySetParameterRequest,
+ registryRetrieveEntryRequest RegistryRetrieveEntryRequest,
+ registryDeleteEntryRequest RegistryDeleteEntryRequest,
+ registryMonitorEntryRequest RegistryMonitorEntryRequest,
+ registryAllocateHandleRequest RegistryAllocateHandleRequest,
+ nonStandardRequest NonStandardPDU,
+ ...
+}
+
+ResponsePDU ::= CHOICE {
+ conferenceJoinResponse ConferenceJoinResponse,
+ conferenceAddResponse ConferenceAddResponse,
+ conferenceLockResponse ConferenceLockResponse,
+ conferenceUnlockResponse ConferenceUnlockResponse,
+ conferenceTerminateResponse ConferenceTerminateResponse,
+ conferenceEjectUserResponse ConferenceEjectUserResponse,
+ conferenceTransferResponse ConferenceTransferResponse,
+ registryResponse RegistryResponse,
+ registryAllocateHandleResponse RegistryAllocateHandleResponse,
+ functionNotSupportedResponse FunctionNotSupportedResponse,
+ nonStandardResponse NonStandardPDU,
+ ...
+}
+
+IndicationPDU ::= CHOICE {
+ userIDIndication UserIDIndication,
+ conferenceLockIndication ConferenceLockIndication,
+ conferenceUnlockIndication ConferenceUnlockIndication,
+ conferenceTerminateIndication ConferenceTerminateIndication,
+ conferenceEjectUserIndication ConferenceEjectUserIndication,
+ conferenceTransferIndication ConferenceTransferIndication,
+ rosterUpdateIndication RosterUpdateIndication,
+ applicationInvokeIndication ApplicationInvokeIndication,
+ registryMonitorEntryIndication RegistryMonitorEntryIndication,
+ conductorAssignIndication ConductorAssignIndication,
+ conductorReleaseIndication ConductorReleaseIndication,
+ conductorPermissionAskIndication ConductorPermissionAskIndication,
+ conductorPermissionGrantIndication ConductorPermissionGrantIndication,
+ conferenceTimeRemainingIndication ConferenceTimeRemainingIndication,
+ conferenceTimeInquireIndication ConferenceTimeInquireIndication,
+ conferenceTimeExtendIndication ConferenceTimeExtendIndication,
+ conferenceAssistanceIndication ConferenceAssistanceIndication,
+ textMessageIndication TextMessageIndication,
+ nonStandardIndication NonStandardPDU,
+ ...
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/epan/dissectors/asn1/t124/packet-t124-template.c b/epan/dissectors/asn1/t124/packet-t124-template.c
new file mode 100644
index 00000000..fa29e3a8
--- /dev/null
+++ b/epan/dissectors/asn1/t124/packet-t124-template.c
@@ -0,0 +1,208 @@
+/* packet-t124.c
+ * Routines for t124 packet dissection
+ * Copyright 2010, Graeme Lunt
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/conversation.h>
+
+#include <epan/asn1.h>
+#include "packet-per.h"
+#include "packet-ber.h"
+#include "packet-t124.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "GENERIC-CONFERENCE-CONTROL T.124"
+#define PSNAME "T.124"
+#define PFNAME "t124"
+
+void proto_register_t124(void);
+void proto_reg_handoff_t124(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_t124 = -1;
+static proto_tree *top_tree = NULL;
+
+#include "packet-t124-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_t124 = -1;
+static int ett_t124_connectGCCPDU = -1;
+
+static int hf_t124_ConnectData = -1;
+static int hf_t124_connectGCCPDU = -1;
+static int hf_t124_DomainMCSPDU_PDU = -1;
+
+static guint32 channelId = -1;
+
+static dissector_table_t t124_ns_dissector_table=NULL;
+static dissector_table_t t124_sd_dissector_table=NULL;
+
+#include "packet-t124-ett.c"
+
+#include "packet-t124-fn.c"
+
+static const per_sequence_t t124Heur_sequence[] = {
+ { &hf_t124_t124Identifier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key },
+ { NULL, 0, 0, NULL }
+};
+
+void
+register_t124_ns_dissector(const char *nsKey, dissector_t dissector, int proto)
+{
+ dissector_handle_t dissector_handle;
+
+ dissector_handle=create_dissector_handle(dissector, proto);
+ dissector_add_string("t124.ns", nsKey, dissector_handle);
+}
+
+void register_t124_sd_dissector(packet_info *pinfo _U_, guint32 channelId_param, dissector_t dissector, int proto)
+{
+ /* XXX: we should keep the sub-dissectors list per conversation
+ as the same channels may be used.
+ While we are just using RDP over T.124, then we can get away with it.
+ */
+
+ dissector_handle_t dissector_handle;
+
+ dissector_handle=create_dissector_handle(dissector, proto);
+ dissector_add_uint("t124.sd", channelId_param, dissector_handle);
+
+}
+
+guint32 t124_get_last_channelId(void)
+{
+ return channelId;
+}
+
+void t124_set_top_tree(proto_tree *tree)
+{
+ top_tree = tree;
+}
+
+int dissect_DomainMCSPDU_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+
+ offset = dissect_t124_DomainMCSPDU(tvb, offset, &asn1_ctx, tree, hf_t124_DomainMCSPDU_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+static int
+dissect_t124(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ asn1_ctx_t asn1_ctx;
+
+ top_tree = parent_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "T.124");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ item = proto_tree_add_item(parent_tree, proto_t124, tvb, 0, tvb_captured_length(tvb), ENC_NA);
+ tree = proto_item_add_subtree(item, ett_t124);
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ dissect_t124_ConnectData(tvb, 0, &asn1_ctx, tree, hf_t124_ConnectData);
+
+ return tvb_captured_length(tvb);
+}
+
+static gboolean
+dissect_t124_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ asn1_ctx_t asn1_ctx;
+ volatile gboolean failed = FALSE;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+
+ /*
+ * We must catch all the "ran past the end of the packet" exceptions
+ * here and, if we catch one, just return FALSE. It's too painful
+ * to have a version of dissect_per_sequence() that checks all
+ * references to the tvbuff before making them and returning "no"
+ * if they would fail.
+ *
+ * We (ab)use hf_t124_connectGCCPDU here just to give a valid entry...
+ */
+ TRY {
+ (void) dissect_per_sequence(tvb, 0, &asn1_ctx, NULL, hf_t124_connectGCCPDU, -1, t124Heur_sequence);
+ } CATCH_BOUNDS_ERRORS {
+ failed = TRUE;
+ } ENDTRY;
+
+ if (!failed && ((asn1_ctx.external.direct_reference != NULL) &&
+ (strcmp(asn1_ctx.external.direct_reference, "0.0.20.124.0.1") == 0))) {
+ dissect_t124(tvb, pinfo, parent_tree, data);
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+/*--- proto_register_t124 -------------------------------------------*/
+void proto_register_t124(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_t124_ConnectData,
+ { "ConnectData", "t124.ConnectData",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_t124_connectGCCPDU,
+ { "connectGCCPDU", "t124.connectGCCPDU",
+ FT_UINT32, BASE_DEC, VALS(t124_ConnectGCCPDU_vals), 0,
+ NULL, HFILL }},
+ { &hf_t124_DomainMCSPDU_PDU,
+ { "DomainMCSPDU", "t124.DomainMCSPDU",
+ FT_UINT32, BASE_DEC, VALS(t124_DomainMCSPDU_vals), 0,
+ NULL, HFILL }},
+#include "packet-t124-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_t124,
+ &ett_t124_connectGCCPDU,
+#include "packet-t124-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_t124 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_t124, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ t124_ns_dissector_table = register_dissector_table("t124.ns", "T.124 H.221 Non Standard Dissectors", proto_t124, FT_STRING, STRING_CASE_SENSITIVE);
+ t124_sd_dissector_table = register_dissector_table("t124.sd", "T.124 H.221 Send Data Dissectors", proto_t124, FT_UINT32, BASE_HEX);
+
+ register_dissector("t124", dissect_t124, proto_t124);
+
+}
+
+void
+proto_reg_handoff_t124(void) {
+
+ register_ber_oid_dissector("0.0.20.124.0.1", dissect_t124, proto_t124, "Generic Conference Control");
+
+ heur_dissector_add("t125", dissect_t124_heur, "T.124 over T.125", "t124_t125", proto_t124, HEURISTIC_ENABLE);
+
+}
diff --git a/epan/dissectors/asn1/t124/packet-t124-template.h b/epan/dissectors/asn1/t124/packet-t124-template.h
new file mode 100644
index 00000000..9869ca1d
--- /dev/null
+++ b/epan/dissectors/asn1/t124/packet-t124-template.h
@@ -0,0 +1,29 @@
+/* packet-t124.h
+ * Routines for t124 packet dissection
+ * Copyright 2010, Graeme Lunt
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_T124_H
+#define PACKET_T124_H
+
+#include <epan/packet_info.h>
+#include "packet-per.h"
+
+extern int dissect_DomainMCSPDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
+extern guint32 t124_get_last_channelId(void);
+extern void t124_set_top_tree(proto_tree *tree);
+
+extern void register_t124_ns_dissector(const char *nsKey, dissector_t dissector, int proto);
+extern void register_t124_sd_dissector(packet_info *pinfo, guint32 channelId, dissector_t dissector, int proto);
+
+#include "packet-t124-exp.h"
+
+#endif /* PACKET_T124_H */
+
+
diff --git a/epan/dissectors/asn1/t124/t124.cnf b/epan/dissectors/asn1/t124/t124.cnf
new file mode 100644
index 00000000..f3281d6b
--- /dev/null
+++ b/epan/dissectors/asn1/t124/t124.cnf
@@ -0,0 +1,241 @@
+# T.124/GCC-PROTOCOL.cnf
+# Copyright 2011 Graeme Lunt
+#----------------------------------------------------------------------------------------
+#.EXPORTS
+#----------------------------------------------------------------------------------------
+ConnectData
+ConnectGCCPDU
+#.END
+
+#.OMIT_ASSIGNMENT
+GCCPDU
+ConnectMCSPDU
+IndicationPDU
+ResponsePDU
+Connect-Initial
+Connect-Additional
+Connect-Result
+UserIDIndication
+ConferenceAddResponse
+ConferenceLockResponse
+ConferenceLockIndication
+ConferenceUnlockResponse
+ConferenceUnlockIndication
+ConferenceTerminateResponse
+ConferenceTerminateIndication
+ConferenceEjectUserResponse
+ConferenceEjectUserIndication
+ConferenceTransferResponse
+ConferenceTransferIndication
+RosterUpdateIndication
+ApplicationInvokeIndication
+RegistryMonitorEntryIndication
+RegistryAllocateHandleResponse
+RegistryResponse
+ConductorAssignIndication
+ConductorReleaseIndication
+ConductorPermissionAskIndication
+ConductorPermissionGrantIndication
+ConferenceTimeRemainingIndication
+ConferenceTimeInquireIndication
+ConferenceTimeExtendIndication
+ConferenceAssistanceIndication
+TextMessageIndication
+FunctionNotSupportedResponse
+Connect-Response
+Time
+Handle
+NodeRecord
+ApplicationRecord
+ApplicationInvokeSpecifier
+RegistryItem
+RegistryEntryOwner
+RequestPDU
+DomainParameters
+DynamicTokenID
+NodeProperties
+AlternativeNodeID
+ChannelType
+CapabilityID
+CapabilityClass
+ConferenceAddRequest
+ConferenceLockRequest
+ConferenceUnlockRequest
+ConferenceTerminateRequest
+ConferenceEjectUserRequest
+ConferenceTransferRequest
+RegistryRegisterChannelRequest
+RegistryAssignTokenRequest
+RegistrySetParameterRequest
+RegistryRetrieveEntryRequest
+RegistryDeleteEntryRequest
+RegistryMonitorEntryRequest
+RegistryAllocateHandleRequest
+NonStandardPDU
+NetworkAddressV2
+EntityID
+RegistryKey
+RegistryModificationRights
+MediaList
+ChannelAggregationMethod
+Profile
+NetworkConnection
+SessionKey
+ChannelID
+GSTNConnection
+ISDNConnection
+CSDNConnection
+PSDNConnection
+ATMConnection
+ExtendedE164NetworkAddress
+TransportAddress
+
+#----------------------------------------------------------------------------------------
+
+#.PDU
+#----------------------------------------------------------------------------------------
+
+
+#.TF_RENAME
+ISDNConnection/circuitTypes ISDNCircuitTypes
+ISDNConnection/circuitTypes/_item ISDNCircuitTypes_item
+ISDNConnection/highLayerCompatibility ISDNHighLayerCompatibility
+PSDNConnection/networkAddress PSDNNetworkAddress
+ConferenceTerminateRequest/reason TerminateRequestReason
+ConferenceTerminateIndication/reason TerminateIndicationReason
+ConferenceEjectUserRequest/reason EjectUserRequestReason
+RosterUpdateIndication/nodeInformation/nodeRecordList/refresh NodeRefresh
+RosterUpdateIndication/applicationInformation/_item/applicationRecordList/refresh ApplicationRefresh
+RosterUpdateIndication/applicationInformation/_item/applicationRecordList/update ApplicationUpdate
+RosterUpdateIndication/applicationInformation/_item/applicationRecordList/update/_item ApplicationUpdateItem
+ConferenceQueryResponse/result QueryResponseResult
+ConferenceJoinResponse/result JoinResponseResult
+ConferenceInviteResponse/result InviteResponseResult
+ConferenceAddResponse/result AddResponseResult
+ConferenceLockResponse/result LockResponseResult
+ConferenceUnlockResponse/result UnlockResponseResult
+ConferenceTerminateResponse/result TerminateResponseResult
+ConferenceEjectUserResponse/result EjectUserResponseResult
+ConferenceTransferResponse/result TransferResponseResult
+RegistryAllocateHandleResponse/result AllocateHandleResponseResult
+
+#.FN_BODY ConnectData/connectPDU VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+ proto_tree *next_tree = NULL;
+ int old_offset = 0;
+
+ old_offset = offset;
+ %(DEFAULT_BODY)s
+ if(next_tvb) {
+ /* "2a -> ConnectData::connectPDU length = 42 bytes */
+ /* This length MUST be ignored by the client." */
+
+ /* Not sure why - but lets ignore the length. */
+ /* We assume the OCTET STRING is all of the remaining bytes */
+
+ if(tvb_reported_length(next_tvb) == 42) {
+ /* this is perhaps a naive ... */
+ next_tvb = tvb_new_subset_remaining(tvb, (old_offset>>3)+1);
+ }
+
+ next_tree = proto_item_add_subtree(actx->created_item, ett_t124_connectGCCPDU);
+
+ dissect_t124_ConnectGCCPDU(next_tvb, 0, actx, next_tree, hf_t124_connectGCCPDU);
+
+ }
+#.END
+
+#.FN_BODY UserData/_item/value VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+ tvbuff_t *t124NSIdentifier = (tvbuff_t*)actx->private_data;
+ guint8 *ns = NULL;
+
+%(DEFAULT_BODY)s
+
+ if(next_tvb && t124NSIdentifier) {
+
+ ns = tvb_get_string_enc(actx->pinfo->pool, t124NSIdentifier, 0, tvb_reported_length(t124NSIdentifier), ENC_ASCII|ENC_NA);
+ if(ns != NULL) {
+ dissector_try_string_new(t124_ns_dissector_table, ns, next_tvb, actx->pinfo, top_tree, FALSE, NULL);
+ }
+ }
+
+#.END
+
+#.FN_BODY SendDataRequest/userData VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if(next_tvb) {
+
+ dissector_try_uint_new(t124_sd_dissector_table, channelId, next_tvb, actx->pinfo, top_tree, FALSE, NULL);
+
+ }
+
+#.END
+
+#.FN_BODY SendDataIndication/userData VAL_PTR = &next_tvb
+ tvbuff_t *next_tvb = NULL;
+
+%(DEFAULT_BODY)s
+
+ if(next_tvb) {
+
+ dissector_try_uint(t124_sd_dissector_table, channelId, next_tvb, actx->pinfo, top_tree);
+
+ }
+
+#.END
+
+
+#.FN_BODY DomainMCSPDU VAL_PTR = &domainmcs_value
+ gint domainmcs_value;
+
+%(DEFAULT_BODY)s
+ switch(domainmcs_value) {
+ case 25: /* sendDataRequest */
+ case 26: /* sendDataIndication */
+ case 27: /* uniformSendDataRequest */
+ case 28: /* uniformSendDataIndication */
+ /* Do nothing */
+ break;
+ default:
+ col_prepend_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "%%s ", val_to_str(domainmcs_value, t124_DomainMCSPDU_vals, "Unknown"));
+ break;
+ }
+
+#.END
+
+#.FN_PARS Key/object
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_PARS H221NonStandardIdentifier
+ VAL_PTR = (tvbuff_t**)&actx->private_data
+
+#.FN_BODY H221NonStandardIdentifier
+
+ %(DEFAULT_BODY)s
+
+
+#.FN_BODY ChannelId VAL_PTR = &channelId
+
+ %(DEFAULT_BODY)s
+
+ if(hf_index == hf_t124_channelId_03)
+ col_append_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "%%d", channelId);
+
+
+#.OMIT_ASSIGNMENT
+StaticChannelID
+TokenID
+StaticTokenID
+RosterRefreshRequest
+#.END
+#.VIRTUAL_ASSGN
+#----------------------------------------------------------------------------------------
+
+#.END
+
+#----------------------------------------------------------------------------------------
+# vim:set ts=4 sts=2 sw=2:
diff --git a/epan/dissectors/asn1/t125/CMakeLists.txt b/epan/dissectors/asn1/t125/CMakeLists.txt
new file mode 100644
index 00000000..5db69d80
--- /dev/null
+++ b/epan/dissectors/asn1/t125/CMakeLists.txt
@@ -0,0 +1,34 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME t125 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ MCS-PROTOCOL.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/t125/MCS-PROTOCOL.asn b/epan/dissectors/asn1/t125/MCS-PROTOCOL.asn
new file mode 100644
index 00000000..95fda658
--- /dev/null
+++ b/epan/dissectors/asn1/t125/MCS-PROTOCOL.asn
@@ -0,0 +1,445 @@
+-- Module MCS-PROTOCOL (T.125:02/1998)
+MCS-PROTOCOL DEFINITIONS ::=
+BEGIN
+
+-- Part 1: Fundamental MCS types
+ChannelId ::= INTEGER(0..65535) -- range is 16 bits
+
+
+StaticChannelId ::= ChannelId(1..1000) -- those known permanently
+
+
+DynamicChannelId ::= ChannelId(1001..65535) -- those created and deleted
+
+
+UserId ::= DynamicChannelId -- created by Attach-User
+
+-- deleted by Detach-User
+PrivateChannelId ::=
+ DynamicChannelId -- created by Channel-Convene
+
+-- deleted by Channel-Disband
+AssignedChannelId ::=
+ DynamicChannelId -- created by Channel-Join zero
+
+-- deleted by last Channel-Leave
+TokenId ::= INTEGER(1..65535) -- all are known permanently
+
+
+TokenStatus ::= ENUMERATED {
+ notInUse(0), selfGrabbed(1), otherGrabbed(2), selfInhibited(3),
+ otherInhibited(4), selfRecipient(5), selfGiving(6), otherGiving(7)}
+
+DataPriority ::= ENUMERATED {top(0), high(1), medium(2), low(3)}
+
+Segmentation ::= BIT STRING {begin(0), end(1)}(SIZE (2))
+
+DomainParameters ::= SEQUENCE {
+ maxChannelIds INTEGER(0..MAX),
+ -- a limit on channel ids in use,
+ -- static + user id + private + assigned
+ maxUserIds INTEGER(0..MAX),
+ -- a sublimit on user id channels alone
+ maxTokenIds INTEGER(0..MAX),
+ -- a limit on token ids in use
+ -- grabbed + inhibited + giving + ungivable + given
+ numPriorities INTEGER(0..MAX),
+ -- the number of TCs in an MCS connection
+ minThroughput INTEGER(0..MAX),
+ -- the enforced number of octets per second
+ maxHeight INTEGER(0..MAX),
+ -- a limit on the height of a provider
+ maxMCSPDUsize INTEGER(0..MAX),
+ -- an octet limit on domain MCSPDUs
+ protocolVersion INTEGER(0..MAX)
+}
+
+-- Part 2: Connect provider
+Connect-Initial ::= [APPLICATION 101] IMPLICIT SEQUENCE {
+ callingDomainSelector OCTET STRING,
+ calledDomainSelector OCTET STRING,
+ upwardFlag BOOLEAN,
+ -- TRUE if called provider is higher
+ targetParameters DomainParameters,
+ minimumParameters DomainParameters,
+ maximumParameters DomainParameters,
+ userData OCTET STRING
+}
+
+Connect-Response ::= [APPLICATION 102] IMPLICIT SEQUENCE {
+ result Result,
+ calledConnectId INTEGER(0..MAX),
+ -- assigned by the called provider
+ -- to identify additional TCs of
+ -- the same MCS connection
+ domainParameters DomainParameters,
+ userData OCTET STRING
+}
+
+Connect-Additional ::= [APPLICATION 103] IMPLICIT SEQUENCE {
+ calledConnectId INTEGER(0..MAX),
+ dataPriority DataPriority
+}
+
+Connect-Result ::= [APPLICATION 104] IMPLICIT SEQUENCE {result Result
+}
+
+-- Part 3: Merge domain
+PlumbDomainIndication ::= [APPLICATION 0] IMPLICIT SEQUENCE {
+ heightLimit INTEGER(0..MAX)
+} -- a restriction on the MCSPDU receiver
+
+ErectDomainRequest ::= [APPLICATION 1] IMPLICIT SEQUENCE {
+ subHeight INTEGER(0..MAX),
+ -- height in domain of the MCSPDU transmitter
+ subInterval INTEGER(0..MAX)
+} -- its throughput enforcement interval in milliseconds
+
+ChannelAttributes ::= CHOICE {
+ static [0] IMPLICIT SEQUENCE {channelId StaticChannelId}, -- joined is implicitly TRUE
+ userId
+ [1] IMPLICIT SEQUENCE {joined BOOLEAN,
+ -- TRUE if user is joined to its user id
+ userId UserId},
+ private
+ [2] IMPLICIT SEQUENCE {joined BOOLEAN,
+ -- TRUE if channel id is joined below
+ channelId PrivateChannelId,
+ manager UserId,
+ admitted SET OF UserId}, -- may span multiple MergeChannelsRequest
+ assigned [3] IMPLICIT SEQUENCE {channelId AssignedChannelId} -- joined is implicitly TRUE
+}
+
+MergeChannelsRequest ::= [APPLICATION 2] IMPLICIT SEQUENCE {
+ mergeChannels SET OF ChannelAttributes,
+ purgeChannelIds SET OF ChannelId
+}
+
+MergeChannelsConfirm ::= [APPLICATION 3] IMPLICIT SEQUENCE {
+ mergeChannels SET OF ChannelAttributes,
+ purgeChannelIds SET OF ChannelId
+}
+
+PurgeChannelsIndication ::= [APPLICATION 4] IMPLICIT SEQUENCE {
+ detachUserIds SET OF UserId,
+ -- purge user id channels
+ purgeChannelIds SET OF ChannelId
+} -- purge other channels
+
+TokenAttributes ::= CHOICE {
+ grabbed [0] IMPLICIT SEQUENCE {tokenId TokenId,
+ grabber UserId},
+ inhibited
+ [1] IMPLICIT SEQUENCE {tokenId TokenId,
+ inhibitors SET OF UserId}, -- may span multiple MergeTokensRequest
+ giving
+ [2] IMPLICIT SEQUENCE {tokenId TokenId,
+ grabber UserId,
+ recipient UserId},
+ ungivable [3] IMPLICIT SEQUENCE {tokenId TokenId,
+ grabber UserId}, -- recipient has since detached
+ given [4] IMPLICIT SEQUENCE {tokenId TokenId,
+ recipient UserId} -- grabber released or detached
+}
+
+MergeTokensRequest ::= [APPLICATION 5] IMPLICIT SEQUENCE {
+ mergeTokens SET OF TokenAttributes,
+ purgeTokenIds SET OF TokenId
+}
+
+MergeTokensConfirm ::= [APPLICATION 6] IMPLICIT SEQUENCE {
+ mergeTokens SET OF TokenAttributes,
+ purgeTokenIds SET OF TokenId
+}
+
+PurgeTokensIndication ::= [APPLICATION 7] IMPLICIT SEQUENCE {
+ purgeTokenIds SET OF TokenId
+}
+
+-- Part 4: Disconnect provider
+DisconnectProviderUltimatum ::= [APPLICATION 8] IMPLICIT SEQUENCE {
+ reason Reason
+}
+
+RejectMCSPDUUltimatum ::= [APPLICATION 9] IMPLICIT SEQUENCE {
+ diagnostic Diagnostic,
+ initialOctets OCTET STRING
+}
+
+-- Part 5: Attach/Detach user
+AttachUserRequest ::= [APPLICATION 10] IMPLICIT SEQUENCE {
+}
+
+AttachUserConfirm ::= [APPLICATION 11] IMPLICIT SEQUENCE {
+ result Result,
+ initiator UserId OPTIONAL
+}
+
+DetachUserRequest ::= [APPLICATION 12] IMPLICIT SEQUENCE {
+ reason Reason,
+ userIds SET OF UserId
+}
+
+DetachUserIndication ::= [APPLICATION 13] IMPLICIT SEQUENCE {
+ reason Reason,
+ userIds SET OF UserId
+}
+
+-- Part 6: Channel management
+ChannelJoinRequest ::= [APPLICATION 14] IMPLICIT SEQUENCE {
+ initiator UserId,
+ channelId ChannelId
+} -- may be zero
+
+ChannelJoinConfirm ::= [APPLICATION 15] IMPLICIT SEQUENCE {
+ result Result,
+ initiator UserId,
+ requested ChannelId,
+ -- may be zero
+ channelId ChannelId OPTIONAL
+}
+
+ChannelLeaveRequest ::= [APPLICATION 16] IMPLICIT SEQUENCE {
+ channelIds SET OF ChannelId
+}
+
+ChannelConveneRequest ::= [APPLICATION 17] IMPLICIT SEQUENCE {initiator UserId
+}
+
+ChannelConveneConfirm ::= [APPLICATION 18] IMPLICIT SEQUENCE {
+ result Result,
+ initiator UserId,
+ channelId PrivateChannelId OPTIONAL
+}
+
+ChannelDisbandRequest ::= [APPLICATION 19] IMPLICIT SEQUENCE {
+ initiator UserId,
+ channelId PrivateChannelId
+}
+
+ChannelDisbandIndication ::= [APPLICATION 20] IMPLICIT SEQUENCE {
+ channelId PrivateChannelId
+}
+
+ChannelAdmitRequest ::= [APPLICATION 21] IMPLICIT SEQUENCE {
+ initiator UserId,
+ channelId PrivateChannelId,
+ userIds SET OF UserId
+}
+
+ChannelAdmitIndication ::= [APPLICATION 22] IMPLICIT SEQUENCE {
+ initiator UserId,
+ channelId PrivateChannelId,
+ userIds SET OF UserId
+}
+
+ChannelExpelRequest ::= [APPLICATION 23] IMPLICIT SEQUENCE {
+ initiator UserId,
+ channelId PrivateChannelId,
+ userIds SET OF UserId
+}
+
+ChannelExpelIndication ::= [APPLICATION 24] IMPLICIT SEQUENCE {
+ channelId PrivateChannelId,
+ userIds SET OF UserId
+}
+
+-- Part 7: Data transfer
+SendDataRequest ::= [APPLICATION 25] IMPLICIT SEQUENCE {
+ initiator UserId,
+ channelId ChannelId,
+ dataPriority DataPriority,
+ segmentation Segmentation,
+ userData OCTET STRING
+}
+
+SendDataIndication ::= [APPLICATION 26] IMPLICIT SEQUENCE {
+ initiator UserId,
+ channelId ChannelId,
+ dataPriority DataPriority,
+ segmentation Segmentation,
+ userData OCTET STRING
+}
+
+UniformSendDataRequest ::= [APPLICATION 27] IMPLICIT SEQUENCE {
+ initiator UserId,
+ channelId ChannelId,
+ dataPriority DataPriority,
+ segmentation Segmentation,
+ userData OCTET STRING
+}
+
+UniformSendDataIndication ::= [APPLICATION 28] IMPLICIT SEQUENCE {
+ initiator UserId,
+ channelId ChannelId,
+ dataPriority DataPriority,
+ segmentation Segmentation,
+ userData OCTET STRING
+}
+
+-- Part 8: Token management
+TokenGrabRequest ::= [APPLICATION 29] IMPLICIT SEQUENCE {
+ initiator UserId,
+ tokenId TokenId
+}
+
+TokenGrabConfirm ::= [APPLICATION 30] IMPLICIT SEQUENCE {
+ result Result,
+ initiator UserId,
+ tokenId TokenId,
+ tokenStatus TokenStatus
+}
+
+TokenInhibitRequest ::= [APPLICATION 31] IMPLICIT SEQUENCE {
+ initiator UserId,
+ tokenId TokenId
+}
+
+TokenInhibitConfirm ::= [APPLICATION 32] IMPLICIT SEQUENCE {
+ result Result,
+ initiator UserId,
+ tokenId TokenId,
+ tokenStatus TokenStatus
+}
+
+TokenGiveRequest ::= [APPLICATION 33] IMPLICIT SEQUENCE {
+ initiator UserId,
+ tokenId TokenId,
+ recipient UserId
+}
+
+TokenGiveIndication ::= [APPLICATION 34] IMPLICIT SEQUENCE {
+ initiator UserId,
+ tokenId TokenId,
+ recipient UserId
+}
+
+TokenGiveResponse ::= [APPLICATION 35] IMPLICIT SEQUENCE {
+ result Result,
+ recipient UserId,
+ tokenId TokenId
+}
+
+TokenGiveConfirm ::= [APPLICATION 36] IMPLICIT SEQUENCE {
+ result Result,
+ initiator UserId,
+ tokenId TokenId,
+ tokenStatus TokenStatus
+}
+
+TokenPleaseRequest ::= [APPLICATION 37] IMPLICIT SEQUENCE {
+ initiator UserId,
+ tokenId TokenId
+}
+
+TokenPleaseIndication ::= [APPLICATION 38] IMPLICIT SEQUENCE {
+ initiator UserId,
+ tokenId TokenId
+}
+
+TokenReleaseRequest ::= [APPLICATION 39] IMPLICIT SEQUENCE {
+ initiator UserId,
+ tokenId TokenId
+}
+
+TokenReleaseConfirm ::= [APPLICATION 40] IMPLICIT SEQUENCE {
+ result Result,
+ initiator UserId,
+ tokenId TokenId,
+ tokenStatus TokenStatus
+}
+
+TokenTestRequest ::= [APPLICATION 41] IMPLICIT SEQUENCE {
+ initiator UserId,
+ tokenId TokenId
+}
+
+TokenTestConfirm ::= [APPLICATION 42] IMPLICIT SEQUENCE {
+ initiator UserId,
+ tokenId TokenId,
+ tokenStatus TokenStatus
+}
+
+-- Part 9: Status codes
+-- in DisconnectProviderUltimatum, DetachUserRequest, DetachUserIndication
+Reason ::= ENUMERATED {
+ rn-domain-disconnected(0), rn-provider-initiated(1), rn-token-purged(2),
+ rn-user-requested(3), rn-channel-purged(4)}
+
+-- in Connect, response, confirm
+Result ::= ENUMERATED {
+ rt-successful(0), rt-domain-merging(1), rt-domain-not-hierarchical(2),
+ rt-no-such-channel(3), rt-no-such-domain(4), rt-no-such-user(5),
+ rt-not-admitted(6), rt-other-user-id(7), rt-parameters-unacceptable(8),
+ rt-token-not-available(9), rt-token-not-possessed(10),
+ rt-too-many-channels(11), rt-too-many-tokens(12), rt-too-many-users(13),
+ rt-unspecified-failure(14), rt-user-rejected(15)}
+
+-- in RejectMCSPDUUltimatum
+Diagnostic ::= ENUMERATED {
+ dc-inconsistent-merge(0), dc-forbidden-PDU-downward(1),
+ dc-forbidden-PDU-upward(2), dc-invalid-BER-encoding(3),
+ dc-invalid-PER-encoding(4), dc-misrouted-user(5), dc-unrequested-confirm(6),
+ dc-wrong-transport-priority(7), dc-channel-id-conflict(8),
+ dc-token-id-conflict(9), dc-not-user-id-channel(10),
+ dc-too-many-channels(11), dc-too-many-tokens(12), dc-too-many-users(13)
+}
+
+-- Part 10: MCSPDU repertoire
+ConnectMCSPDU ::= CHOICE {
+ connect-initial Connect-Initial,
+ connect-response Connect-Response,
+ connect-additional Connect-Additional,
+ connect-result Connect-Result
+}
+
+DomainMCSPDU ::= CHOICE {
+ plumbDomainIndication PlumbDomainIndication,
+ erectDomainRequest ErectDomainRequest,
+ mergeChannelsRequest MergeChannelsRequest,
+ mergeChannelsConfirm MergeChannelsConfirm,
+ purgeChannelsIndication PurgeChannelsIndication,
+ mergeTokensRequest MergeTokensRequest,
+ mergeTokensConfirm MergeTokensConfirm,
+ purgeTokensIndication PurgeTokensIndication,
+ disconnectProviderUltimatum DisconnectProviderUltimatum,
+ rejectMCSPDUUltimatum RejectMCSPDUUltimatum,
+ attachUserRequest AttachUserRequest,
+ attachUserConfirm AttachUserConfirm,
+ detachUserRequest DetachUserRequest,
+ detachUserIndication DetachUserIndication,
+ channelJoinRequest ChannelJoinRequest,
+ channelJoinConfirm ChannelJoinConfirm,
+ channelLeaveRequest ChannelLeaveRequest,
+ channelConveneRequest ChannelConveneRequest,
+ channelConveneConfirm ChannelConveneConfirm,
+ channelDisbandRequest ChannelDisbandRequest,
+ channelDisbandIndication ChannelDisbandIndication,
+ channelAdmitRequest ChannelAdmitRequest,
+ channelAdmitIndication ChannelAdmitIndication,
+ channelExpelRequest ChannelExpelRequest,
+ channelExpelIndication ChannelExpelIndication,
+ sendDataRequest SendDataRequest,
+ sendDataIndication SendDataIndication,
+ uniformSendDataRequest UniformSendDataRequest,
+ uniformSendDataIndication UniformSendDataIndication,
+ tokenGrabRequest TokenGrabRequest,
+ tokenGrabConfirm TokenGrabConfirm,
+ tokenInhibitRequest TokenInhibitRequest,
+ tokenInhibitConfirm TokenInhibitConfirm,
+ tokenGiveRequest TokenGiveRequest,
+ tokenGiveIndication TokenGiveIndication,
+ tokenGiveResponse TokenGiveResponse,
+ tokenGiveConfirm TokenGiveConfirm,
+ tokenPleaseRequest TokenPleaseRequest,
+ tokenPleaseIndication TokenPleaseIndication,
+ tokenReleaseRequest TokenReleaseRequest,
+ tokenReleaseConfirm TokenReleaseConfirm,
+ tokenTestRequest TokenTestRequest,
+ tokenTestConfirm TokenTestConfirm
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/t125/packet-t125-template.c b/epan/dissectors/asn1/t125/packet-t125-template.c
new file mode 100644
index 00000000..8a7e99cb
--- /dev/null
+++ b/epan/dissectors/asn1/t125/packet-t125-template.c
@@ -0,0 +1,171 @@
+/* packet-t125.c
+ * Routines for t125 packet dissection
+ * Copyright 2007, Ronnie Sahlberg
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+
+#include <epan/asn1.h>
+#include "packet-ber.h"
+#include "packet-per.h"
+
+#include "packet-t124.h"
+
+#define PNAME "MULTIPOINT-COMMUNICATION-SERVICE T.125"
+#define PSNAME "T.125"
+#define PFNAME "t125"
+
+
+#define HF_T125_ERECT_DOMAIN_REQUEST 1
+#define HF_T125_DISCONNECT_PROVIDER_ULTIMATUM 8
+#define HF_T125_ATTACH_USER_REQUEST 10
+#define HF_T125_ATTACH_USER_CONFIRM 11
+#define HF_T125_CHANNEL_JOIN_REQUEST 14
+#define HF_T125_CHANNEL_JOIN_CONFIRM 15
+#define HF_T125_SEND_DATA_REQUEST 25
+#define HF_T125_SEND_DATA_INDICATION 26
+
+void proto_register_t125(void);
+void proto_reg_handoff_t125(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_t125 = -1;
+static proto_tree *top_tree = NULL;
+#include "packet-t125-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_t125 = -1;
+
+#include "packet-t125-ett.c"
+
+static heur_dissector_list_t t125_heur_subdissector_list;
+
+#include "packet-t125-fn.c"
+
+static int
+dissect_t125(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+
+ top_tree = parent_tree;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "T.125");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ item = proto_tree_add_item(parent_tree, proto_t125, tvb, 0, tvb_captured_length(tvb), ENC_NA);
+ tree = proto_item_add_subtree(item, ett_t125);
+
+ get_ber_identifier(tvb, 0, &ber_class, &pc, &tag);
+
+ if ( (ber_class==BER_CLASS_APP) && (tag>=101) && (tag<=104) ){
+ dissect_ConnectMCSPDU_PDU(tvb, pinfo, tree, NULL);
+ } else {
+ t124_set_top_tree(top_tree);
+ dissect_DomainMCSPDU_PDU(tvb, pinfo, tree);
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+static gboolean
+dissect_t125_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ volatile bool failed;
+
+ /*
+ * We must catch all the "ran past the end of the packet" exceptions
+ * here and, if we catch one, just return FALSE. It's too painful
+ * to have a version of dissect_per_sequence() that checks all
+ * references to the tvbuff before making them and returning "no"
+ * if they would fail.
+ */
+ failed = FALSE;
+ TRY {
+ /* could be BER */
+ get_ber_identifier(tvb, 0, &ber_class, &pc, &tag);
+ } CATCH_BOUNDS_ERRORS {
+ failed = TRUE;
+ } ENDTRY;
+
+ if (failed) {
+ return FALSE;
+ }
+
+ if (((ber_class==BER_CLASS_APP) && ((tag>=101) && (tag<=104)))) {
+ dissect_t125(tvb, pinfo, parent_tree, NULL);
+
+ return TRUE;
+ }
+
+ /*
+ * Check that the first byte of the packet is a valid t125/MCS header.
+ * This might not be enough, but since t125 only catch COTP packets,
+ * it should not be a problem.
+ */
+ guint8 first_byte = tvb_get_guint8(tvb, 0) >> 2;
+ switch (first_byte) {
+ case HF_T125_ERECT_DOMAIN_REQUEST:
+ case HF_T125_ATTACH_USER_REQUEST:
+ case HF_T125_ATTACH_USER_CONFIRM:
+ case HF_T125_CHANNEL_JOIN_REQUEST:
+ case HF_T125_CHANNEL_JOIN_CONFIRM:
+ case HF_T125_DISCONNECT_PROVIDER_ULTIMATUM:
+ case HF_T125_SEND_DATA_REQUEST:
+ case HF_T125_SEND_DATA_INDICATION:
+ dissect_t125(tvb, pinfo, parent_tree, NULL);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+
+/*--- proto_register_t125 -------------------------------------------*/
+void proto_register_t125(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-t125-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_t125,
+#include "packet-t125-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_t125 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_t125, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ t125_heur_subdissector_list= register_heur_dissector_list("t125", proto_t125);
+
+ register_dissector("t125", dissect_t125, proto_t125);
+}
+
+
+/*--- proto_reg_handoff_t125 ---------------------------------------*/
+void proto_reg_handoff_t125(void) {
+
+ heur_dissector_add("cotp", dissect_t125_heur, "T.125 over COTP", "t125_cotp", proto_t125, HEURISTIC_ENABLE);
+ heur_dissector_add("cotp_is", dissect_t125_heur, "T.125 over COTP (inactive subset)", "t125_cotp_is", proto_t125, HEURISTIC_ENABLE);
+}
diff --git a/epan/dissectors/asn1/t125/t125.cnf b/epan/dissectors/asn1/t125/t125.cnf
new file mode 100644
index 00000000..012896f6
--- /dev/null
+++ b/epan/dissectors/asn1/t125/t125.cnf
@@ -0,0 +1,119 @@
+# T.125/MCS-PROTOCOL.cnf
+# Copyright 2007 Ronnie Sahlberg
+#----------------------------------------------------------------------------------------
+#.EXPORTS
+#----------------------------------------------------------------------------------------
+#.END
+
+#.OMIT_ASSIGNMENT
+# dissected in t124
+DomainMCSPDU
+PlumbDomainIndication
+ErectDomainRequest
+MergeChannelsRequest
+MergeChannelsConfirm
+PurgeChannelsIndication
+MergeTokensRequest
+MergeTokensConfirm
+PurgeTokensIndication
+DisconnectProviderUltimatum
+RejectMCSPDUUltimatum
+AttachUserRequest
+AttachUserConfirm
+DetachUserRequest
+DetachUserIndication
+ChannelJoinRequest
+ChannelJoinConfirm
+ChannelLeaveRequest
+ChannelConveneRequest
+ChannelConveneConfirm
+ChannelDisbandRequest
+ChannelDisbandIndication
+ChannelAdmitRequest
+ChannelAdmitIndication
+ChannelExpelRequest
+ChannelExpelIndication
+SendDataRequest
+SendDataIndication
+UniformSendDataRequest
+UniformSendDataIndication
+TokenGrabConfirm
+TokenInhibitRequest
+TokenInhibitConfirm
+TokenGiveRequest
+TokenGiveIndication
+TokenGiveResponse
+TokenGiveConfirm
+TokenPleaseRequest
+TokenPleaseIndication
+TokenReleaseRequest
+TokenReleaseConfirm
+TokenTestRequest
+TokenTestConfirm
+TokenStatus
+Segmentation
+ChannelAttributes
+TokenAttributes
+TokenGrabRequest
+Reason
+Diagnostic
+StaticChannelId
+UserId
+PrivateChannelId
+AssignedChannelId
+TokenId
+DynamicChannelId
+ChannelId
+
+#----------------------------------------------------------------------------------------
+
+#.PDU
+#----------------------------------------------------------------------------------------
+ConnectMCSPDU
+#.END
+
+#.VIRTUAL_ASSGN
+#----------------------------------------------------------------------------------------
+
+# dissected in t124
+# FN_BODY DomainMCSPDU VAL_PTR = &domainmcs_value
+# gint domainmcs_value;
+#
+#%(DEFAULT_BODY)s
+# switch(domainmcs_value) {
+# case 25: /* sendDataRequest */
+# case 26: /* sendDataIndication */
+# case 27: /* uniformSendDataRequest */
+# case 28: /* uniformSendDataIndication */
+# /* Do nothing */
+# break;
+# default:
+# col_append_sep_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, " ", "MCS: %%s ", val_to_str(domainmcs_value, t125_DomainMCSPDU_vals, "Unknown"));
+# break;
+# }
+# END
+
+#.FN_BODY Connect-Initial/_untag/userData VAL_PTR = &next_tvb
+#.FN_BODY Connect-Initial/_untag/userData
+ tvbuff_t *next_tvb = NULL;
+ heur_dtbl_entry_t *hdtbl_entry;
+%(DEFAULT_BODY)s
+ if(next_tvb)
+ dissector_try_heuristic(t125_heur_subdissector_list, next_tvb,
+ actx->pinfo, top_tree, &hdtbl_entry, NULL);
+#.END
+
+#.FN_BODY Connect-Response/_untag/userData VAL_PTR = &next_tvb
+#.FN_BODY Connect-Response/_untag/userData
+ tvbuff_t *next_tvb = NULL;
+ heur_dtbl_entry_t *hdtbl_entry;
+
+%(DEFAULT_BODY)s
+ if(next_tvb)
+ dissector_try_heuristic(t125_heur_subdissector_list, next_tvb,
+ actx->pinfo, top_tree, &hdtbl_entry, NULL);
+#.END
+
+
+#----------------------------------------------------------------------------------------
+# vim:set ts=4 sts=2 sw=2:
diff --git a/epan/dissectors/asn1/t38/CMakeLists.txt b/epan/dissectors/asn1/t38/CMakeLists.txt
new file mode 100644
index 00000000..d216829c
--- /dev/null
+++ b/epan/dissectors/asn1/t38/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME t38 )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ T38_2002.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/t38/T38_1998.asn b/epan/dissectors/asn1/t38/T38_1998.asn
new file mode 100644
index 00000000..deaa3d84
--- /dev/null
+++ b/epan/dissectors/asn1/t38/T38_1998.asn
@@ -0,0 +1,55 @@
+-- T38(1998).asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/t/t38/2005/T38(1998).asn
+--
+-- it is not used for dissector generation
+-- it is here only for information to see difference of the "Pre-Corrigendum" version
+--
+
+-- Module T38(1998) (T.38:09/2005)
+T38 DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IFPPacket ::= SEQUENCE {
+ type-of-msg Type-of-msg,
+ data-field Data-Field OPTIONAL
+}
+
+Type-of-msg ::= CHOICE {
+ t30-indicator
+ ENUMERATED {no-signal, cng, ced, v21-preamble, v27-2400-training,
+ v27-4800-training, v29-7200-training, v29-9600-training,
+ v17-7200-short-training, v17-7200-long-training,
+ v17-9600-short-training, v17-9600-long-training,
+ v17-12000-short-training, v17-12000-long-training,
+ v17-14400-short-training, v17-14400-long-training, ...
+ },
+ data
+ ENUMERATED {v21, v27-2400, v27-4800, v29-7200, v29-9600, v17-7200,
+ v17-9600, v17-12000, v17-14400, ...
+ }
+}
+
+Data-Field ::=
+ SEQUENCE OF
+ SEQUENCE {field-type
+ ENUMERATED {hdlc-data, hdlc-sig-end, hdlc-fcs-OK, hdlc-fcs-BAD,
+ hdlc-fcs-OK-sig-end, hdlc-fcs-BAD-sig-end,
+ t4-non-ecm-data, t4-non-ecm-sig-end},
+ field-data OCTET STRING(SIZE (1..65535)) OPTIONAL}
+
+UDPTLPacket ::= SEQUENCE {
+ seq-number INTEGER(0..65535),
+ primary-ifp-packet TYPE-IDENTIFIER.&Type(IFPPacket),
+ error-recovery
+ CHOICE {secondary-ifp-packets SEQUENCE OF TYPE-IDENTIFIER.&Type(IFPPacket),
+ fec-info
+ SEQUENCE {fec-npackets INTEGER,
+ fec-data SEQUENCE OF OCTET STRING}}
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/t38/T38_2002.asn b/epan/dissectors/asn1/t38/T38_2002.asn
new file mode 100644
index 00000000..a0ff932c
--- /dev/null
+++ b/epan/dissectors/asn1/t38/T38_2002.asn
@@ -0,0 +1,54 @@
+-- T38(2002).asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/t/t38/2005/T38(2002).asn
+--
+
+-- Module T38(2002) (T.38:09/2005)
+T38 DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IFPPacket ::= SEQUENCE {
+ type-of-msg Type-of-msg,
+ data-field Data-Field OPTIONAL
+}
+
+Type-of-msg ::= CHOICE {
+ t30-indicator
+ ENUMERATED {no-signal, cng, ced, v21-preamble, v27-2400-training,
+ v27-4800-training, v29-7200-training, v29-9600-training,
+ v17-7200-short-training, v17-7200-long-training,
+ v17-9600-short-training, v17-9600-long-training,
+ v17-12000-short-training, v17-12000-long-training,
+ v17-14400-short-training, v17-14400-long-training, ...,
+ v8-ansam, v8-signal, v34-cntl-channel-1200, v34-pri-channel,
+ v34-CC-retrain, v33-12000-training, v33-14400-training},
+ t30-data
+ ENUMERATED {v21, v27-2400, v27-4800, v29-7200, v29-9600, v17-7200,
+ v17-9600, v17-12000, v17-14400, ...,
+ v8, v34-pri-rate, v34-CC-1200, v34-pri-ch, v33-12000, v33-14400}
+}
+
+Data-Field ::=
+ SEQUENCE OF
+ SEQUENCE {field-type
+ ENUMERATED {hdlc-data, hdlc-sig-end, hdlc-fcs-OK, hdlc-fcs-BAD,
+ hdlc-fcs-OK-sig-end, hdlc-fcs-BAD-sig-end,
+ t4-non-ecm-data, t4-non-ecm-sig-end, ...,
+ cm-message, jm-message, ci-message, v34rate},
+ field-data OCTET STRING(SIZE (1..65535)) OPTIONAL}
+
+UDPTLPacket ::= SEQUENCE {
+ seq-number INTEGER(0..65535),
+ primary-ifp-packet TYPE-IDENTIFIER.&Type(IFPPacket),
+ error-recovery
+ CHOICE {secondary-ifp-packets SEQUENCE OF TYPE-IDENTIFIER.&Type(IFPPacket),
+ fec-info
+ SEQUENCE {fec-npackets INTEGER,
+ fec-data SEQUENCE OF OCTET STRING}}
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/t38/packet-t38-template.c b/epan/dissectors/asn1/t38/packet-t38-template.c
new file mode 100644
index 00000000..ad46a999
--- /dev/null
+++ b/epan/dissectors/asn1/t38/packet-t38-template.c
@@ -0,0 +1,768 @@
+/* packet-t38.c
+ * Routines for T.38 packet dissection
+ * 2003 Hans Viens
+ * 2004 Alejandro Vaquero, add support Conversations for SDP
+ * 2006 Alejandro Vaquero, add T30 reassemble and dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+
+/* Depending on what ASN.1 specification is used you may have to change
+ * the preference setting regarding Pre-Corrigendum ASN.1 specification:
+ * http://www.itu.int/ITU-T/asn1/database/itu-t/t/t38/1998/T38.html (Pre-Corrigendum=TRUE)
+ * http://www.itu.int/ITU-T/asn1/database/itu-t/t/t38/2003/T38(1998).html (Pre-Corrigendum=TRUE)
+ *
+ * http://www.itu.int/ITU-T/asn1/database/itu-t/t/t38/2003/T38(2002).html (Pre-Corrigendum=FALSE)
+ * http://www.itu.int/ITU-T/asn1/database/itu-t/t/t38/2002/t38.html (Pre-Corrigendum=FALSE)
+ * http://www.itu.int/ITU-T/asn1/database/itu-t/t/t38/2002-Amd1/T38.html (Pre-Corrigendum=FALSE)
+ */
+
+/* TO DO:
+ * - TCP desegmentation is currently not supported for T.38 IFP directly over TCP.
+ * - H.245 dissectors should be updated to start conversations for T.38 similar to RTP.
+ * - Sometimes the last octet is not high-lighted when selecting something in the tree. Bug in PER dissector?
+ * - Add support for RTP payload audio/t38 (draft-jones-avt-audio-t38-03.txt), i.e. T38 in RTP packets.
+ */
+
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/reassemble.h>
+#include <epan/conversation.h>
+#include <epan/tap.h>
+#include <epan/expert.h>
+#include <epan/strutil.h>
+#include <epan/prefs.h>
+#include <epan/ipproto.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+
+#include "packet-t38.h"
+#include "packet-per.h"
+#include "packet-tpkt.h"
+#include "packet-acdr.h"
+
+void proto_register_t38(void);
+
+static int t38_tap = -1;
+
+/* dissect using the Pre Corrigendum T.38 ASN.1 specification (1998) */
+static gboolean use_pre_corrigendum_asn1_specification = TRUE;
+
+/* dissect packets that looks like RTP version 2 packets as RTP */
+/* instead of as T.38. This may result in that some T.38 UPTL */
+/* packets with sequence number values higher than 32767 may be */
+/* shown as RTP packets. */
+static gboolean dissect_possible_rtpv2_packets_as_rtp = FALSE;
+
+
+/* Reassembly of T.38 PDUs over TPKT over TCP */
+static gboolean t38_tpkt_reassembly = TRUE;
+
+/* Preference setting whether TPKT header is used when sending T.38 over TCP.
+ * The default setting is Maybe where the dissector will look on the first
+ * bytes to try to determine whether TPKT header is used or not. This may not
+ * work so well in some cases. You may want to change the setting to Always or
+ * Newer.
+ */
+#define T38_TPKT_NEVER 0 /* Assume that there is never a TPKT header */
+#define T38_TPKT_ALWAYS 1 /* Assume that there is always a TPKT header */
+#define T38_TPKT_MAYBE 2 /* Assume TPKT if first octets are 03-00-xx-xx */
+static gint t38_tpkt_usage = T38_TPKT_MAYBE;
+
+static const enum_val_t t38_tpkt_options[] = {
+ {"never", "Never", T38_TPKT_NEVER},
+ {"always", "Always", T38_TPKT_ALWAYS},
+ {"maybe", "Maybe", T38_TPKT_MAYBE},
+ {NULL, NULL, -1}
+};
+
+
+
+/* T38 */
+static dissector_handle_t t38_udp_handle;
+static dissector_handle_t t38_tcp_handle;
+static dissector_handle_t t38_tcp_pdu_handle;
+static dissector_handle_t rtp_handle;
+static dissector_handle_t t30_hdlc_handle;
+static dissector_handle_t data_handle;
+
+static gint32 Type_of_msg_value;
+static guint32 Data_Field_field_type_value;
+static guint32 Data_value;
+static guint32 T30ind_value;
+static guint32 Data_Field_item_num;
+
+static int proto_t38 = -1;
+static int proto_acdr = -1;
+#include "packet-t38-hf.c"
+
+/* T38 setup fields */
+static int hf_t38_setup = -1;
+static int hf_t38_setup_frame = -1;
+static int hf_t38_setup_method = -1;
+
+/* T38 Data reassemble fields */
+static int hf_t38_fragments = -1;
+static int hf_t38_fragment = -1;
+static int hf_t38_fragment_overlap = -1;
+static int hf_t38_fragment_overlap_conflicts = -1;
+static int hf_t38_fragment_multiple_tails = -1;
+static int hf_t38_fragment_too_long_fragment = -1;
+static int hf_t38_fragment_error = -1;
+static int hf_t38_fragment_count = -1;
+static int hf_t38_reassembled_in = -1;
+static int hf_t38_reassembled_length = -1;
+
+static gint ett_t38 = -1;
+#include "packet-t38-ett.c"
+static gint ett_t38_setup = -1;
+
+static gint ett_data_fragment = -1;
+static gint ett_data_fragments = -1;
+
+static expert_field ei_t38_malformed = EI_INIT;
+
+static gboolean primary_part = TRUE;
+static guint32 seq_number = 0;
+
+/* Tables for reassembly of Data fragments. */
+static reassembly_table data_reassembly_table;
+
+static const fragment_items data_frag_items = {
+ /* Fragment subtrees */
+ &ett_data_fragment,
+ &ett_data_fragments,
+ /* Fragment fields */
+ &hf_t38_fragments,
+ &hf_t38_fragment,
+ &hf_t38_fragment_overlap,
+ &hf_t38_fragment_overlap_conflicts,
+ &hf_t38_fragment_multiple_tails,
+ &hf_t38_fragment_too_long_fragment,
+ &hf_t38_fragment_error,
+ &hf_t38_fragment_count,
+ /* Reassembled in field */
+ &hf_t38_reassembled_in,
+ /* Reassembled length field */
+ &hf_t38_reassembled_length,
+ /* Reassembled data field */
+ NULL,
+ /* Tag */
+ "Data fragments"
+};
+
+typedef struct _fragment_key {
+ address src;
+ address dst;
+ guint32 id;
+} fragment_key;
+
+static conversation_t *p_conv= NULL;
+static t38_conv *p_t38_conv = NULL;
+static t38_conv *p_t38_packet_conv = NULL;
+static t38_conv_info *p_t38_conv_info = NULL;
+static t38_conv_info *p_t38_packet_conv_info = NULL;
+
+/* RTP Version is the first 2 bits of the first octet in the UDP payload*/
+#define RTP_VERSION(octet) ((octet) >> 6)
+
+void proto_reg_handoff_t38(void);
+
+static void show_setup_info(tvbuff_t *tvb, proto_tree *tree, t38_conv *p_t38_conv);
+/* Preferences bool to control whether or not setup info should be shown */
+static gboolean global_t38_show_setup_info = TRUE;
+
+/* Can tap up to 4 T38 packets within same packet */
+/* We only tap the primary part, not the redundancy */
+#define MAX_T38_MESSAGES_IN_PACKET 4
+static t38_packet_info t38_info_arr[MAX_T38_MESSAGES_IN_PACKET];
+static int t38_info_current=0;
+static t38_packet_info *t38_info=NULL;
+
+
+/* Set up an T38 conversation */
+void t38_add_address(packet_info *pinfo,
+ address *addr, int port,
+ int other_port,
+ const gchar *setup_method, guint32 setup_frame_number)
+{
+ address null_addr;
+ conversation_t* p_conversation;
+ t38_conv* p_conversation_data = NULL;
+
+ /*
+ * If this isn't the first time this packet has been processed,
+ * we've already done this work, so we don't need to do it
+ * again.
+ */
+ if ((pinfo->fd->visited) || (t38_udp_handle == NULL))
+ {
+ return;
+ }
+
+ clear_address(&null_addr);
+
+ /*
+ * Check if the ip address and port combination is not
+ * already registered as a conversation.
+ */
+ p_conversation = find_conversation( setup_frame_number, addr, &null_addr, CONVERSATION_UDP, port, other_port,
+ NO_ADDR_B | (!other_port ? NO_PORT_B : 0));
+
+ /*
+ * If not, create a new conversation.
+ */
+ if ( !p_conversation || p_conversation->setup_frame != setup_frame_number) {
+ p_conversation = conversation_new( setup_frame_number, addr, &null_addr, CONVERSATION_UDP,
+ (guint32)port, (guint32)other_port,
+ NO_ADDR2 | (!other_port ? NO_PORT2 : 0));
+ }
+
+ /* Set dissector */
+ conversation_set_dissector(p_conversation, t38_udp_handle);
+
+ /*
+ * Check if the conversation has data associated with it.
+ */
+ p_conversation_data = (t38_conv*)conversation_get_proto_data(p_conversation, proto_t38);
+
+ /*
+ * If not, add a new data item.
+ */
+ if ( ! p_conversation_data ) {
+ /* Create conversation data */
+ p_conversation_data = wmem_new(wmem_file_scope(), t38_conv);
+
+ conversation_add_proto_data(p_conversation, proto_t38, p_conversation_data);
+ }
+
+ /*
+ * Update the conversation data.
+ */
+ (void) g_strlcpy(p_conversation_data->setup_method, setup_method, MAX_T38_SETUP_METHOD_SIZE);
+ p_conversation_data->setup_frame_number = setup_frame_number;
+ p_conversation_data->src_t38_info.reass_ID = 0;
+ p_conversation_data->src_t38_info.reass_start_seqnum = -1;
+ p_conversation_data->src_t38_info.reass_data_type = 0;
+ p_conversation_data->src_t38_info.last_seqnum = -1;
+ p_conversation_data->src_t38_info.packet_lost = 0;
+ p_conversation_data->src_t38_info.burst_lost = 0;
+ p_conversation_data->src_t38_info.time_first_t4_data = 0;
+ p_conversation_data->src_t38_info.additional_hdlc_data_field_counter = 0;
+ p_conversation_data->src_t38_info.seqnum_prev_data_field = -1;
+ p_conversation_data->src_t38_info.next = NULL;
+
+ p_conversation_data->dst_t38_info.reass_ID = 0;
+ p_conversation_data->dst_t38_info.reass_start_seqnum = -1;
+ p_conversation_data->dst_t38_info.reass_data_type = 0;
+ p_conversation_data->dst_t38_info.last_seqnum = -1;
+ p_conversation_data->dst_t38_info.packet_lost = 0;
+ p_conversation_data->dst_t38_info.burst_lost = 0;
+ p_conversation_data->dst_t38_info.time_first_t4_data = 0;
+ p_conversation_data->dst_t38_info.additional_hdlc_data_field_counter = 0;
+ p_conversation_data->dst_t38_info.seqnum_prev_data_field = -1;
+ p_conversation_data->dst_t38_info.next = NULL;
+}
+
+
+static fragment_head *
+force_reassemble_seq(reassembly_table *table, packet_info *pinfo, guint32 id)
+{
+ fragment_head *fd_head;
+ fragment_item *fd_i;
+ fragment_item *last_fd;
+ guint32 dfpos, size, packet_lost, burst_lost, seq_num;
+ guint8 *data;
+
+ fd_head = fragment_get(table, pinfo, id, NULL);
+
+ /* have we already seen this frame ?*/
+ if (pinfo->fd->visited) {
+ if (fd_head != NULL && fd_head->flags & FD_DEFRAGMENTED) {
+ return fd_head;
+ } else {
+ return NULL;
+ }
+ }
+
+ if (fd_head==NULL){
+ /* we must have it to continue */
+ return NULL;
+ }
+
+ /* check for packet lost and count the burst of packet lost */
+ packet_lost = 0;
+ burst_lost = 0;
+ seq_num = 0;
+ for(fd_i=fd_head->next;fd_i;fd_i=fd_i->next) {
+ if (seq_num != fd_i->offset) {
+ packet_lost += fd_i->offset - seq_num;
+ if ( (fd_i->offset - seq_num) > burst_lost ) {
+ burst_lost = fd_i->offset - seq_num;
+ }
+ }
+ seq_num = fd_i->offset + 1;
+ }
+
+ /* we have received an entire packet, defragment it and
+ * free all fragments
+ */
+ size=0;
+ last_fd=NULL;
+ for(fd_i=fd_head->next;fd_i;fd_i=fd_i->next) {
+ if(!last_fd || last_fd->offset!=fd_i->offset){
+ size+=fd_i->len;
+ }
+ last_fd=fd_i;
+ }
+
+ data = (guint8 *) wmem_alloc(pinfo->pool, size);
+ fd_head->tvb_data = tvb_new_real_data(data, size, size);
+ fd_head->len = size; /* record size for caller */
+
+ /* add all data fragments */
+ dfpos = 0;
+ last_fd=NULL;
+ for (fd_i=fd_head->next;fd_i && fd_i->len + dfpos <= size;fd_i=fd_i->next) {
+ if (fd_i->len) {
+ if(!last_fd || last_fd->offset!=fd_i->offset){
+ tvb_memcpy(fd_i->tvb_data, data+dfpos, 0, fd_i->len);
+ dfpos += fd_i->len;
+ } else {
+ /* duplicate/retransmission/overlap */
+ fd_i->flags |= FD_OVERLAP;
+ fd_head->flags |= FD_OVERLAP;
+ if( (last_fd->len!=fd_i->len)
+ || tvb_memeql(last_fd->tvb_data, 0, tvb_get_ptr(fd_i->tvb_data, 0, last_fd->len), last_fd->len) ){
+ fd_i->flags |= FD_OVERLAPCONFLICT;
+ fd_head->flags |= FD_OVERLAPCONFLICT;
+ }
+ }
+ }
+ last_fd=fd_i;
+ }
+
+ /* we have defragmented the pdu, now free all fragments*/
+ for (fd_i=fd_head->next;fd_i;fd_i=fd_i->next) {
+ if(fd_i->tvb_data){
+ tvb_free(fd_i->tvb_data);
+ fd_i->tvb_data=NULL;
+ }
+ }
+
+ /* mark this packet as defragmented */
+ fd_head->flags |= FD_DEFRAGMENTED;
+ fd_head->reassembled_in=pinfo->num;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, " (t4-data Reassembled: %d pack lost, %d pack burst lost)", packet_lost, burst_lost);
+
+ p_t38_packet_conv_info->packet_lost = packet_lost;
+ p_t38_packet_conv_info->burst_lost = burst_lost;
+
+ return fd_head;
+}
+
+/* T38 Routines */
+#include "packet-t38-fn.c"
+
+/* initialize the tap t38_info and the conversation */
+static void
+init_t38_info_conv(packet_info *pinfo)
+{
+ /* tap info */
+ t38_info_current++;
+ if (t38_info_current==MAX_T38_MESSAGES_IN_PACKET) {
+ t38_info_current=0;
+ }
+ t38_info = &t38_info_arr[t38_info_current];
+
+ t38_info->seq_num = 0;
+ t38_info->type_msg = 0;
+ t38_info->data_value = 0;
+ t38_info->t30ind_value =0;
+ t38_info->setup_frame_number = 0;
+ t38_info->Data_Field_field_type_value = 0;
+ t38_info->desc[0] = '\0';
+ t38_info->desc_comment[0] = '\0';
+ t38_info->time_first_t4_data = 0;
+ t38_info->frame_num_first_t4_data = 0;
+
+
+ /*
+ p_t38_packet_conv hold the conversation info in each of the packets.
+ p_t38_conv hold the conversation info used to reassemble the HDLC packets, and also the Setup info (e.g SDP)
+ If we already have p_t38_packet_conv in the packet, it means we already reassembled the HDLC packets, so we don't
+ need to use p_t38_conv
+ */
+ p_t38_packet_conv = NULL;
+ p_t38_conv = NULL;
+
+ /* Use existing packet info if available */
+ p_t38_packet_conv = (t38_conv *)p_get_proto_data(wmem_file_scope(), pinfo, proto_t38, 0);
+
+
+ /* find the conversation used for Reassemble and Setup Info */
+ p_conv = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
+ conversation_pt_to_conversation_type(pinfo->ptype),
+ pinfo->destport, pinfo->srcport, NO_ADDR_B | NO_PORT_B);
+
+ /* create a conv if it doen't exist */
+ if (!p_conv) {
+ p_conv = conversation_new(pinfo->num, &pinfo->net_src, &pinfo->net_dst,
+ conversation_pt_to_conversation_type(pinfo->ptype), pinfo->srcport, pinfo->destport, NO_ADDR2 | NO_PORT2);
+
+ /* Set dissector */
+ conversation_set_dissector(p_conv, t38_udp_handle);
+ }
+
+ p_t38_conv = (t38_conv *)conversation_get_proto_data(p_conv, proto_t38);
+
+ /* create the conversation if it doesn't exist */
+ if (!p_t38_conv) {
+ p_t38_conv = wmem_new(wmem_file_scope(), t38_conv);
+ p_t38_conv->setup_method[0] = '\0';
+ p_t38_conv->setup_frame_number = 0;
+
+ p_t38_conv->src_t38_info.reass_ID = 0;
+ p_t38_conv->src_t38_info.reass_start_seqnum = -1;
+ p_t38_conv->src_t38_info.reass_start_data_field = 0;
+ p_t38_conv->src_t38_info.reass_data_type = 0;
+ p_t38_conv->src_t38_info.last_seqnum = -1;
+ p_t38_conv->src_t38_info.packet_lost = 0;
+ p_t38_conv->src_t38_info.burst_lost = 0;
+ p_t38_conv->src_t38_info.time_first_t4_data = 0;
+ p_t38_conv->src_t38_info.additional_hdlc_data_field_counter = 0;
+ p_t38_conv->src_t38_info.seqnum_prev_data_field = -1;
+ p_t38_conv->src_t38_info.next = NULL;
+
+ p_t38_conv->dst_t38_info.reass_ID = 0;
+ p_t38_conv->dst_t38_info.reass_start_seqnum = -1;
+ p_t38_conv->dst_t38_info.reass_start_data_field = 0;
+ p_t38_conv->dst_t38_info.reass_data_type = 0;
+ p_t38_conv->dst_t38_info.last_seqnum = -1;
+ p_t38_conv->dst_t38_info.packet_lost = 0;
+ p_t38_conv->dst_t38_info.burst_lost = 0;
+ p_t38_conv->dst_t38_info.time_first_t4_data = 0;
+ p_t38_conv->dst_t38_info.additional_hdlc_data_field_counter = 0;
+ p_t38_conv->dst_t38_info.seqnum_prev_data_field = -1;
+ p_t38_conv->dst_t38_info.next = NULL;
+
+ conversation_add_proto_data(p_conv, proto_t38, p_t38_conv);
+ }
+
+ if (!p_t38_packet_conv) {
+ /* copy the t38 conversation info to the packet t38 conversation */
+ p_t38_packet_conv = wmem_new(wmem_file_scope(), t38_conv);
+ (void) g_strlcpy(p_t38_packet_conv->setup_method, p_t38_conv->setup_method, MAX_T38_SETUP_METHOD_SIZE);
+ p_t38_packet_conv->setup_frame_number = p_t38_conv->setup_frame_number;
+
+ memcpy(&(p_t38_packet_conv->src_t38_info), &(p_t38_conv->src_t38_info), sizeof(t38_conv_info));
+ memcpy(&(p_t38_packet_conv->dst_t38_info), &(p_t38_conv->dst_t38_info), sizeof(t38_conv_info));
+
+ p_add_proto_data(wmem_file_scope(), pinfo, proto_t38, 0, p_t38_packet_conv);
+ }
+
+ if (addresses_equal(conversation_key_addr1(p_conv->key_ptr), &pinfo->net_src)) {
+ p_t38_conv_info = &(p_t38_conv->src_t38_info);
+ p_t38_packet_conv_info = &(p_t38_packet_conv->src_t38_info);
+ } else {
+ p_t38_conv_info = &(p_t38_conv->dst_t38_info);
+ p_t38_packet_conv_info = &(p_t38_packet_conv->dst_t38_info);
+ }
+
+ /* update t38_info */
+ t38_info->setup_frame_number = p_t38_packet_conv->setup_frame_number;
+}
+
+/* Entry point for dissection */
+static int
+dissect_t38_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ guint8 octet1;
+ proto_item *it;
+ proto_tree *tr;
+ guint32 offset=0;
+
+ /*
+ * XXX - heuristic to check for misidentified packets.
+ */
+ if (dissect_possible_rtpv2_packets_as_rtp){
+ octet1 = tvb_get_guint8(tvb, offset);
+ if (RTP_VERSION(octet1) == 2){
+ return call_dissector(rtp_handle,tvb,pinfo,tree);
+ }
+ }
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "T.38");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ primary_part = TRUE;
+
+ /* This indicate the item number in the primary part of the T38 message, it is used for the reassemble of T30 packets */
+ Data_Field_item_num = 0;
+
+ it=proto_tree_add_protocol_format(tree, proto_t38, tvb, 0, -1, "ITU-T Recommendation T.38");
+ tr=proto_item_add_subtree(it, ett_t38);
+
+ /* init tap and conv info */
+ init_t38_info_conv(pinfo);
+
+ /* Show Conversation setup info if exists*/
+ if (global_t38_show_setup_info) {
+ show_setup_info(tvb, tr, p_t38_packet_conv);
+ }
+
+ col_append_str(pinfo->cinfo, COL_INFO, "UDP: UDPTLPacket ");
+
+ offset = dissect_UDPTLPacket_PDU(tvb, pinfo, tr, NULL);
+
+ if (tvb_reported_length_remaining(tvb,offset)>0){
+ proto_tree_add_expert_format(tr, pinfo, &ei_t38_malformed, tvb, offset, tvb_reported_length_remaining(tvb, offset),
+ "[MALFORMED PACKET or wrong preference settings]");
+ col_append_str(pinfo->cinfo, COL_INFO, " [Malformed?]");
+ }
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_t38_tcp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *it;
+ proto_tree *tr;
+ guint32 offset=0;
+ tvbuff_t *next_tvb;
+ guint16 ifp_packet_number=1;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "T.38");
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ primary_part = TRUE;
+
+ /* This indicate the item number in the primary part of the T38 message, it is used for the reassemble of T30 packets */
+ Data_Field_item_num = 0;
+
+ it=proto_tree_add_protocol_format(tree, proto_t38, tvb, 0, -1, "ITU-T Recommendation T.38");
+ tr=proto_item_add_subtree(it, ett_t38);
+
+ /* init tap and conv info */
+ init_t38_info_conv(pinfo);
+
+ /* Show Conversation setup info if exists*/
+ if (global_t38_show_setup_info) {
+ show_setup_info(tvb, tr, p_t38_packet_conv);
+ }
+
+ col_append_str(pinfo->cinfo, COL_INFO, "TCP: IFPPacket");
+
+ while(tvb_reported_length_remaining(tvb,offset)>0)
+ {
+ next_tvb = tvb_new_subset_remaining(tvb, offset);
+ offset += dissect_IFPPacket_PDU(next_tvb, pinfo, tr, NULL);
+ ifp_packet_number++;
+
+ if(tvb_reported_length_remaining(tvb,offset)>0){
+ if(t38_tpkt_usage == T38_TPKT_ALWAYS){
+ proto_tree_add_expert_format(tr, pinfo, &ei_t38_malformed, tvb, offset, tvb_reported_length_remaining(tvb, offset),
+ "[MALFORMED PACKET or wrong preference settings]");
+ col_append_str(pinfo->cinfo, COL_INFO, " [Malformed?]");
+ break;
+ }else {
+ col_append_fstr(pinfo->cinfo, COL_INFO, " IFPPacket#%u",ifp_packet_number);
+ }
+ }
+ }
+
+ return tvb_captured_length(tvb);
+}
+
+static int
+dissect_t38_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ primary_part = TRUE;
+
+ if(t38_tpkt_usage == T38_TPKT_ALWAYS){
+ dissect_tpkt_encap(tvb,pinfo,tree,t38_tpkt_reassembly,t38_tcp_pdu_handle);
+ }
+ else if((t38_tpkt_usage == T38_TPKT_NEVER) || (is_tpkt(tvb,1) == -1)){
+ dissect_t38_tcp_pdu(tvb, pinfo, tree, data);
+ }
+ else {
+ dissect_tpkt_encap(tvb,pinfo,tree,t38_tpkt_reassembly,t38_tcp_pdu_handle);
+ }
+ return tvb_captured_length(tvb);
+}
+
+/* Look for conversation info and display any setup info found */
+void
+show_setup_info(tvbuff_t *tvb, proto_tree *tree, t38_conv *p_t38_conversation)
+{
+ proto_tree *t38_setup_tree;
+ proto_item *ti;
+
+ if (!p_t38_conversation || p_t38_conversation->setup_frame_number == 0) {
+ /* there is no Setup info */
+ return;
+ }
+
+ ti = proto_tree_add_string_format(tree, hf_t38_setup, tvb, 0, 0,
+ "",
+ "Stream setup by %s (frame %u)",
+ p_t38_conversation->setup_method,
+ p_t38_conversation->setup_frame_number);
+ proto_item_set_generated(ti);
+ t38_setup_tree = proto_item_add_subtree(ti, ett_t38_setup);
+ if (t38_setup_tree)
+ {
+ /* Add details into subtree */
+ proto_item* item = proto_tree_add_uint(t38_setup_tree, hf_t38_setup_frame,
+ tvb, 0, 0, p_t38_conversation->setup_frame_number);
+ proto_item_set_generated(item);
+ item = proto_tree_add_string(t38_setup_tree, hf_t38_setup_method,
+ tvb, 0, 0, p_t38_conversation->setup_method);
+ proto_item_set_generated(item);
+ }
+}
+
+/* This function tries to understand if the payload is sitting on top of AC DR */
+static gboolean
+dissect_t38_acdr_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ guint acdr_prot = GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_acdr, 0));
+ if (acdr_prot == ACDR_T38)
+ return dissect_t38_udp(tvb, pinfo, tree, NULL);
+ return FALSE;
+}
+
+
+/* Wireshark Protocol Registration */
+void
+proto_register_t38(void)
+{
+ static hf_register_info hf[] =
+ {
+#include "packet-t38-hfarr.c"
+ { &hf_t38_setup,
+ { "Stream setup", "t38.setup", FT_STRING, BASE_NONE,
+ NULL, 0x0, "Stream setup, method and frame number", HFILL }},
+ { &hf_t38_setup_frame,
+ { "Stream frame", "t38.setup-frame", FT_FRAMENUM, BASE_NONE,
+ NULL, 0x0, "Frame that set up this stream", HFILL }},
+ { &hf_t38_setup_method,
+ { "Stream Method", "t38.setup-method", FT_STRING, BASE_NONE,
+ NULL, 0x0, "Method used to set up this stream", HFILL }},
+ {&hf_t38_fragments,
+ {"Message fragments", "t38.fragments",
+ FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+ {&hf_t38_fragment,
+ {"Message fragment", "t38.fragment",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+ {&hf_t38_fragment_overlap,
+ {"Message fragment overlap", "t38.fragment.overlap",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } },
+ {&hf_t38_fragment_overlap_conflicts,
+ {"Message fragment overlapping with conflicting data",
+ "t38.fragment.overlap.conflicts",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } },
+ {&hf_t38_fragment_multiple_tails,
+ {"Message has multiple tail fragments",
+ "t38.fragment.multiple_tails",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } },
+ {&hf_t38_fragment_too_long_fragment,
+ {"Message fragment too long", "t38.fragment.too_long_fragment",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } },
+ {&hf_t38_fragment_error,
+ {"Message defragmentation error", "t38.fragment.error",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+ {&hf_t38_fragment_count,
+ {"Message fragment count", "t38.fragment.count",
+ FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
+ {&hf_t38_reassembled_in,
+ {"Reassembled in", "t38.reassembled.in",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x00, NULL, HFILL } },
+ {&hf_t38_reassembled_length,
+ {"Reassembled T38 length", "t38.reassembled.length",
+ FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } },
+ };
+
+ static gint *ett[] =
+ {
+ &ett_t38,
+#include "packet-t38-ettarr.c"
+ &ett_t38_setup,
+ &ett_data_fragment,
+ &ett_data_fragments
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_t38_malformed, { "t38.malformed", PI_MALFORMED, PI_ERROR, "Malformed packet", EXPFILL }},
+ };
+
+ module_t *t38_module;
+ expert_module_t* expert_t38;
+
+ proto_t38 = proto_register_protocol("T.38", "T.38", "t38");
+ proto_register_field_array(proto_t38, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_t38 = expert_register_protocol(proto_t38);
+ expert_register_field_array(expert_t38, ei, array_length(ei));
+ t38_udp_handle=register_dissector("t38_udp", dissect_t38_udp, proto_t38);
+ t38_tcp_handle=register_dissector("t38_tcp", dissect_t38_tcp, proto_t38);
+ t38_tcp_pdu_handle=register_dissector("t38_tcp_pdu", dissect_t38_tcp_pdu, proto_t38);
+
+ /* Register reassemble tables for HDLC */
+ reassembly_table_register(&data_reassembly_table,
+ &addresses_reassembly_table_functions);
+
+ t38_tap = register_tap("t38");
+
+ t38_module = prefs_register_protocol(proto_t38, NULL);
+ prefs_register_bool_preference(t38_module, "use_pre_corrigendum_asn1_specification",
+ "Use the Pre-Corrigendum ASN.1 specification",
+ "Whether the T.38 dissector should decode using the Pre-Corrigendum T.38 "
+ "ASN.1 specification (1998).",
+ &use_pre_corrigendum_asn1_specification);
+ prefs_register_bool_preference(t38_module, "dissect_possible_rtpv2_packets_as_rtp",
+ "Dissect possible RTP version 2 packets with RTP dissector",
+ "Whether a UDP packet that looks like RTP version 2 packet will "
+ "be dissected as RTP packet or T.38 packet. If enabled there is a risk that T.38 UDPTL "
+ "packets with sequence number higher than 32767 may be dissected as RTP.",
+ &dissect_possible_rtpv2_packets_as_rtp);
+ prefs_register_bool_preference(t38_module, "reassembly",
+ "Reassemble T.38 PDUs over TPKT over TCP",
+ "Whether the dissector should reassemble T.38 PDUs spanning multiple TCP segments "
+ "when TPKT is used over TCP. "
+ "To use this option, you must also enable \"Allow subdissectors to reassemble "
+ "TCP streams\" in the TCP protocol settings.",
+ &t38_tpkt_reassembly);
+ prefs_register_enum_preference(t38_module, "tpkt_usage",
+ "TPKT used over TCP",
+ "Whether T.38 is used with TPKT for TCP",
+ (gint *)&t38_tpkt_usage,t38_tpkt_options,FALSE);
+
+ prefs_register_bool_preference(t38_module, "show_setup_info",
+ "Show stream setup information",
+ "Where available, show which protocol and frame caused "
+ "this T.38 stream to be created",
+ &global_t38_show_setup_info);
+
+}
+
+void
+proto_reg_handoff_t38(void)
+{
+ rtp_handle = find_dissector_add_dependency("rtp", proto_t38);
+ t30_hdlc_handle = find_dissector_add_dependency("t30.hdlc", proto_t38);
+ proto_acdr = proto_get_id_by_filter_name("acdr");
+ data_handle = find_dissector("data");
+ dissector_add_for_decode_as("tcp.port", t38_tcp_handle);
+ dissector_add_for_decode_as("udp.port", t38_udp_handle);
+ heur_dissector_add("udp", dissect_t38_acdr_heur, "T38 over AC DR", "t38_acdr", proto_t38, HEURISTIC_ENABLE);
+ dissector_add_uint("acdr.media_type", ACDR_T38, t38_udp_handle);
+}
diff --git a/epan/dissectors/asn1/t38/packet-t38-template.h b/epan/dissectors/asn1/t38/packet-t38-template.h
new file mode 100644
index 00000000..82ff1483
--- /dev/null
+++ b/epan/dissectors/asn1/t38/packet-t38-template.h
@@ -0,0 +1,76 @@
+/* packet-t38.h
+ *
+ * Routines for T38 dissection
+ * 2003 Hans Viens
+ * 2004 Alejandro Vaquero, add support to conversation
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "ws_symbol_export.h"
+
+#define MAX_T38_DATA_ITEMS 4
+#define MAX_T38_DESC 128
+
+typedef struct _t38_packet_info {
+ guint16 seq_num; /* UDPTLPacket sequence number */
+ gint32 type_msg; /* 0=t30-indicator 1=data */
+ guint32 t30ind_value;
+ guint32 data_value; /* standard and speed */
+ guint32 setup_frame_number;
+ guint32 Data_Field_field_type_value;
+ guint8 t30_Facsimile_Control;
+ gchar desc[MAX_T38_DESC]; /* Description used to be displayed in the frame label Graph Anlaysis */
+ gchar desc_comment[MAX_T38_DESC]; /* Description used to be displayed in the Comment Graph Anlaysis */
+ double time_first_t4_data;
+ guint32 frame_num_first_t4_data;
+} t38_packet_info;
+
+
+#define MAX_T38_SETUP_METHOD_SIZE 7
+
+
+/* Info to save the State to reassemble Data (e.g. HDLC) and the Setup (e.g. SDP) in T38 conversations */
+typedef struct _t38_conv_info t38_conv_info;
+
+struct _t38_conv_info {
+
+ guint32 reass_ID;
+ int reass_start_seqnum;
+ guint32 reass_start_data_field;
+ guint32 reass_data_type;
+ gint32 last_seqnum; /* used to avoid duplicated seq num shown in the Graph Analysis */
+ guint32 packet_lost;
+ guint32 burst_lost;
+ double time_first_t4_data;
+ guint32 additional_hdlc_data_field_counter;
+ gint32 seqnum_prev_data_field;
+ t38_conv_info *next;
+
+};
+
+/* Info to save the State to reassemble Data (e.g. HDLC) and the Setup (e.g. SDP) in T38 conversations */
+typedef struct _t38_conv
+{
+ gchar setup_method[MAX_T38_SETUP_METHOD_SIZE + 1];
+ guint32 setup_frame_number;
+ t38_conv_info src_t38_info;
+ t38_conv_info dst_t38_info;
+} t38_conv;
+
+/* Add an T38 conversation with the given details */
+WS_DLL_PUBLIC
+void t38_add_address(packet_info *pinfo,
+ address *addr, int port,
+ int other_port,
+ const gchar *setup_method, guint32 setup_frame_number);
+
+
+#include "packet-t38-exp.h"
+
+
+
diff --git a/epan/dissectors/asn1/t38/t38.cnf b/epan/dissectors/asn1/t38/t38.cnf
new file mode 100644
index 00000000..7b8fad22
--- /dev/null
+++ b/epan/dissectors/asn1/t38/t38.cnf
@@ -0,0 +1,280 @@
+# t38.cnf
+# T.38 conformation file
+# 2007 Tomas Kukosa
+
+#.EXPORTS ONLY_VALS WS_DLL
+Type-of-msg/t30-indicator
+Type-of-msg/t30-data
+#.END
+
+#.TYPE_RENAME
+Type-of-msg/t30-indicator T30_indicator
+Type-of-msg/t30-data T30_data
+#.END
+
+#.PDU
+IFPPacket
+UDPTLPacket
+#.END
+
+#.FN_PARS Type-of-msg VAL_PTR=&Type_of_msg_value
+#.FN_FTR Type-of-msg
+ /* info for tap */
+ if (primary_part)
+ t38_info->type_msg = Type_of_msg_value;
+#.END
+
+#.FN_PARS Type-of-msg/t30-indicator VAL_PTR=&T30ind_value
+#.FN_FTR Type-of-msg/t30-indicator
+ if (primary_part){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " t30ind: %s",
+ val_to_str(T30ind_value,t38_T30_indicator_vals,"<unknown>"));
+ }
+
+ /* info for tap */
+ if (primary_part)
+ t38_info->t30ind_value = T30ind_value;
+#.END
+
+#.FN_PARS Type-of-msg/t30-data VAL_PTR=&Data_value
+#.FN_FTR Type-of-msg/t30-data
+ if (primary_part){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " data:%s:",
+ val_to_str(Data_value,t38_T30_data_vals,"<unknown>"));
+ }
+
+
+ /* info for tap */
+ if (primary_part)
+ t38_info->data_value = Data_value;
+#.END
+
+#.FN_FTR Data-Field/_item
+ if (primary_part) Data_Field_item_num++;
+#.END
+
+#.FN_PARS Data-Field/_item/field-type
+EXT=(use_pre_corrigendum_asn1_specification)?FALSE:TRUE
+EXT_NUM=(use_pre_corrigendum_asn1_specification)?0:4
+VAL_PTR=&Data_Field_field_type_value
+#.FN_FTR Data-Field/_item/field-type
+ if (primary_part){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s",
+ val_to_str(Data_Field_field_type_value,t38_T_field_type_vals,"<unknown>"));
+ }
+
+ if (primary_part) {
+ if (Data_Field_field_type_value == 2 || Data_Field_field_type_value == 4 || Data_Field_field_type_value == 7) {/* hdlc-fcs-OK or hdlc-fcs-OK-sig-end or t4-non-ecm-sig-end*/
+ fragment_head *frag_msg = NULL;
+ tvbuff_t* new_tvb = NULL;
+ gboolean save_fragmented = actx->pinfo->fragmented;
+
+ actx->pinfo->fragmented = TRUE;
+
+ /* if reass_start_seqnum=-1 it means we have received the end of the fragmente, without received any fragment data */
+ if (p_t38_packet_conv_info->reass_start_seqnum != -1) {
+ guint32 frag_seq_num;
+ if (seq_number == (guint32)p_t38_packet_conv_info->reass_start_seqnum) {
+ frag_seq_num = (guint32)p_t38_packet_conv_info->additional_hdlc_data_field_counter + Data_Field_item_num - p_t38_packet_conv_info->reass_start_data_field;
+ } else {
+ frag_seq_num = seq_number - (guint32)p_t38_packet_conv_info->reass_start_seqnum + (guint32)p_t38_packet_conv_info->additional_hdlc_data_field_counter + Data_Field_item_num;
+ }
+ frag_msg = fragment_add_seq(&data_reassembly_table, /* reassembly table */
+ tvb, offset, actx->pinfo,
+ p_t38_packet_conv_info->reass_ID, /* ID for fragments belonging together */
+ NULL,
+ frag_seq_num, /* fragment sequence number */
+ /*0,*/
+ 0, /* fragment length */
+ FALSE, /* More fragments */
+ 0);
+ if ( Data_Field_field_type_value == 7 ) {
+ /* if there was packet lost or other errors during the defrag then frag_msg is NULL. This could also means
+ * there are out of order packets (e.g, got the tail frame t4-non-ecm-sig-end before the last fragment),
+ * but we will assume there was packet lost instead, which is more usual. So, we are going to reassemble the packet
+ * and get some stat, like packet lost and burst number of packet lost
+ */
+ if (!frag_msg) {
+ force_reassemble_seq(&data_reassembly_table, /* reassembly table */
+ actx->pinfo,
+ p_t38_packet_conv_info->reass_ID /* ID for fragments belonging together */
+ );
+ } else {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " (t4-data Reassembled: No packet lost)");
+
+ snprintf(t38_info->desc_comment, MAX_T38_DESC, "No packet lost");
+ }
+
+
+ if (p_t38_packet_conv_info->packet_lost) {
+ snprintf(t38_info->desc_comment, MAX_T38_DESC, " Pack lost: %d, Pack burst lost: %d", p_t38_packet_conv_info->packet_lost, p_t38_packet_conv_info->burst_lost);
+ } else {
+ snprintf(t38_info->desc_comment, MAX_T38_DESC, "No packet lost");
+ }
+
+ process_reassembled_data(tvb, offset, actx->pinfo,
+ "Reassembled T38", frag_msg, &data_frag_items, NULL, tree);
+
+ /* Now reset fragmentation information in pinfo */
+ actx->pinfo->fragmented = save_fragmented;
+
+ t38_info->time_first_t4_data = p_t38_packet_conv_info->time_first_t4_data;
+ t38_info->frame_num_first_t4_data = p_t38_packet_conv_info->reass_ID; /* The reass_ID is the Frame number of the first t4 fragment */
+
+ } else {
+ new_tvb = process_reassembled_data(tvb, offset, actx->pinfo,
+ "Reassembled T38", frag_msg, &data_frag_items, NULL, tree);
+
+ /* Now reset fragmentation information in pinfo */
+ actx->pinfo->fragmented = save_fragmented;
+
+ if (new_tvb) call_dissector_with_data((t30_hdlc_handle) ? t30_hdlc_handle : data_handle, new_tvb, actx->pinfo, tree, t38_info);
+ }
+ } else {
+ /* If this is the same sequence number as the previous packet
+ * (i.e., a retransmission), we don't expect to have any
+ * fragment data (we reassembled it in the previous packet).
+ */
+ if (p_t38_packet_conv && ((gint32) seq_number != p_t38_packet_conv_info->last_seqnum)) {
+ proto_tree_add_expert_format(tree, actx->pinfo, &ei_t38_malformed, tvb, offset, tvb_reported_length_remaining(tvb, offset),
+ "[RECEIVED END OF FRAGMENT W/OUT ANY FRAGMENT DATA]");
+ col_append_str(actx->pinfo->cinfo, COL_INFO, " [Malformed?]");
+ }
+ actx->pinfo->fragmented = save_fragmented;
+ }
+ }
+
+ /* reset the reassemble ID and the start seq number if it is not HDLC data */
+ if ( p_t38_conv && ( ((Data_Field_field_type_value >0) && (Data_Field_field_type_value <6)) || (Data_Field_field_type_value == 7) ) ){
+ p_t38_conv_info->reass_ID = 0;
+ p_t38_conv_info->reass_start_seqnum = -1;
+ p_t38_conv_info->additional_hdlc_data_field_counter = 0;
+ p_t38_conv_info->seqnum_prev_data_field = -1;
+
+ if (p_t38_packet_conv_info->next == NULL) {
+ p_t38_packet_conv_info->next = wmem_new(wmem_file_scope(), t38_conv_info);
+ p_t38_packet_conv_info = p_t38_packet_conv_info->next;
+ memcpy(p_t38_packet_conv_info, p_t38_conv_info, sizeof(t38_conv_info));
+ }
+
+ }
+ t38_info->Data_Field_field_type_value = Data_Field_field_type_value;
+ }
+#.END
+
+#.FN_BODY Data-Field/_item/field-data VAL_PTR=&value_tvb
+ tvbuff_t *value_tvb = NULL;
+ guint32 value_len;
+
+%(DEFAULT_BODY)s
+ value_len = tvb_reported_length(value_tvb);
+
+#.FN_FTR Data-Field/_item/field-data
+ if (primary_part){
+ if(value_len < 8){
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "[%s]",
+ tvb_bytes_to_str(actx->pinfo->pool, value_tvb,0,value_len));
+ }
+ else {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "[%s...]",
+ tvb_bytes_to_str(actx->pinfo->pool, value_tvb,0,7));
+ }
+ }
+
+ if (primary_part) {
+ fragment_head *frag_msg = NULL;
+
+ /* HDLC Data or t4-non-ecm-data */
+ if (Data_Field_field_type_value == 0 || Data_Field_field_type_value == 6) { /* 0=HDLC Data or 6=t4-non-ecm-data*/
+ gboolean save_fragmented = actx->pinfo->fragmented;
+
+ actx->pinfo->fragmented = TRUE;
+
+ /* if we have not reassembled this packet and it is the first fragment, reset the reassemble ID and the start seq number*/
+ if (p_t38_packet_conv && p_t38_conv && (p_t38_packet_conv_info->reass_start_seqnum == -1)) {
+ /* we use the first fragment's frame_number as fragment ID because the protocol doesn't provide it */
+ /* XXX: We'd be better off assigning our own IDs using a one-up
+ * counter, if it's possible for more than one reassembly to
+ * begin in the same frame.
+ */
+ p_t38_conv_info->reass_ID = actx->pinfo->num;
+ p_t38_conv_info->reass_start_seqnum = seq_number;
+ p_t38_conv_info->time_first_t4_data = nstime_to_sec(&actx->pinfo->rel_ts);
+ p_t38_conv_info->additional_hdlc_data_field_counter = 0;
+ p_t38_packet_conv_info->reass_ID = p_t38_conv_info->reass_ID;
+ p_t38_packet_conv_info->reass_start_seqnum = p_t38_conv_info->reass_start_seqnum;
+ p_t38_packet_conv_info->reass_start_data_field = Data_Field_item_num;
+ p_t38_packet_conv_info->seqnum_prev_data_field = p_t38_conv_info->seqnum_prev_data_field;
+ p_t38_packet_conv_info->additional_hdlc_data_field_counter = p_t38_conv_info->additional_hdlc_data_field_counter;
+ p_t38_packet_conv_info->time_first_t4_data = p_t38_conv_info->time_first_t4_data;
+ }
+ if (seq_number == (guint32)p_t38_packet_conv_info->seqnum_prev_data_field){
+ if(p_t38_conv){
+ p_t38_conv_info->additional_hdlc_data_field_counter++;
+ }
+ }
+ guint32 frag_seq_num;
+ if (seq_number == (guint32)p_t38_packet_conv_info->reass_start_seqnum) {
+ frag_seq_num = (guint32)p_t38_packet_conv_info->additional_hdlc_data_field_counter + Data_Field_item_num - (guint32)p_t38_packet_conv_info->reass_start_data_field;
+ } else {
+ frag_seq_num = seq_number - (guint32)p_t38_packet_conv_info->reass_start_seqnum + (guint32)p_t38_packet_conv_info->additional_hdlc_data_field_counter + Data_Field_item_num;
+ }
+ frag_msg = fragment_add_seq(&data_reassembly_table,
+ value_tvb, 0,
+ actx->pinfo,
+ p_t38_packet_conv_info->reass_ID, /* ID for fragments belonging together */
+ NULL,
+ frag_seq_num, /* fragment sequence number */
+ value_len, /* fragment length */
+ TRUE, /* More fragments */
+ 0);
+ p_t38_packet_conv_info->seqnum_prev_data_field = (gint32)seq_number;
+ process_reassembled_data(tvb, offset, actx->pinfo,
+ "Reassembled T38", frag_msg, &data_frag_items, NULL, tree);
+
+ if (!frag_msg) { /* Not last packet of reassembled */
+ if (Data_Field_field_type_value == 0) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO," (HDLC fragment %u)", frag_seq_num);
+ } else {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO," (t4-data fragment %u)", seq_number - (guint32)p_t38_packet_conv_info->reass_start_seqnum);
+ }
+ }
+
+ /* Now reset fragmentation information in pinfo */
+ actx->pinfo->fragmented = save_fragmented;
+ }
+ }
+#.END
+
+
+#.FN_HDR UDPTLPacket
+ /* Initialize to something else than data type */
+ Data_Field_field_type_value = 1;
+#.END
+
+#.FN_PARS UDPTLPacket/seq-number VAL_PTR=&seq_number
+#.FN_FTR UDPTLPacket/seq-number
+ /* info for tap */
+ if (primary_part)
+ t38_info->seq_num = seq_number;
+
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "Seq=%05u ",seq_number);
+#.END
+
+#.FN_HDR UDPTLPacket/primary-ifp-packet
+ primary_part = TRUE;
+#.FN_FTR UDPTLPacket/primary-ifp-packet
+ /* if is a valid t38 packet, add to tap */
+ /* Note that t4-non-ecm-sig-end without first_t4_data is not valid */
+ if (p_t38_packet_conv && (!actx->pinfo->flags.in_error_pkt) && ((gint32) seq_number != p_t38_packet_conv_info->last_seqnum) &&
+ !(t38_info->type_msg == 1 && t38_info->Data_Field_field_type_value == 7 && t38_info->frame_num_first_t4_data == 0))
+ tap_queue_packet(t38_tap, actx->pinfo, t38_info);
+
+ if (p_t38_conv) p_t38_conv_info->last_seqnum = (gint32) seq_number;
+#.END
+
+#.FN_HDR UDPTLPacket/error-recovery
+ primary_part = FALSE;
+#.FN_FTR UDPTLPacket/error-recovery
+ primary_part = TRUE;
+#.END
diff --git a/epan/dissectors/asn1/tcap/CMakeLists.txt b/epan/dissectors/asn1/tcap/CMakeLists.txt
new file mode 100644
index 00000000..742c3035
--- /dev/null
+++ b/epan/dissectors/asn1/tcap/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME tcap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+ UnidialoguePDUs.asn
+ DialoguePDUs.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+ TCAPMessages.asn
+ TC-Notation-Extensions.asn
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/tcap/DialoguePDUs.asn b/epan/dissectors/asn1/tcap/DialoguePDUs.asn
new file mode 100644
index 00000000..9ae2fd7a
--- /dev/null
+++ b/epan/dissectors/asn1/tcap/DialoguePDUs.asn
@@ -0,0 +1,79 @@
+-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
+DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2) version1(1)
+ } DEFINITIONS ::=
+BEGIN
+
+EXPORTS dialogue-as-id, DialoguePDU;
+
+-- abstract syntax name for structured dialogue APDUs
+dialogue-as-id OBJECT IDENTIFIER ::=
+ {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)}
+
+DialoguePDU ::= CHOICE {
+ dialogueRequest AARQ-apdu,
+ dialogueResponse AARE-apdu,
+ dialogueAbort ABRT-apdu
+}
+
+AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
+ protocol-version
+ [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
+ application-context-name [1] OBJECT IDENTIFIER,
+ user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
+}
+
+AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
+ protocol-version
+ [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
+ application-context-name [1] OBJECT IDENTIFIER,
+ result [2] Associate-result,
+ result-source-diagnostic [3] Associate-source-diagnostic,
+ user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
+}
+
+-- RLRQ PDU is currently not used.
+-- It is included for completeness only.
+RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
+ reason [0] IMPLICIT Release-request-reason OPTIONAL,
+ user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
+}
+
+-- RLRE PDU is currently not used.
+-- It is included for completeness only
+RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
+ reason [0] IMPLICIT Release-response-reason OPTIONAL,
+ user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
+}
+
+ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
+ abort-source [0] IMPLICIT ABRT-source,
+ user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
+}
+
+ABRT-source ::= INTEGER {dialogue-service-user(0), dialogue-service-provider(1)
+}
+
+Associate-result ::= INTEGER {accepted(0), reject-permanent(1)}
+
+Associate-source-diagnostic ::= CHOICE {
+ dialogue-service-user
+ [1] INTEGER {null(0), no-reason-given(1),
+ application-context-name-not-supported(2)},
+ dialogue-service-provider
+ [2] INTEGER {null(0), no-reason-given(1), no-common-dialogue-portion(2)}
+}
+
+-- Release-request-reason is currently not used.
+-- It is included for completeness only.
+Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30)
+}
+
+-- Release-response-reason is currently not used.
+-- It is included for completeness only.
+Release-response-reason ::= INTEGER {
+ normal(0), not-finished(1), user-defined(30)}
+
+END -- DialoguePDUs
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/tcap/TC-Notation-Extensions.asn b/epan/dissectors/asn1/tcap/TC-Notation-Extensions.asn
new file mode 100644
index 00000000..f389cae4
--- /dev/null
+++ b/epan/dissectors/asn1/tcap/TC-Notation-Extensions.asn
@@ -0,0 +1,87 @@
+-- Module TC-Notation-Extensions (Q.775:06/1997)
+
+TC-Notation-Extensions {itu-t recommendation q 775 modules(2)
+ notation-extension(4) version1(1)} DEFINITIONS ::=
+BEGIN
+
+IMPORTS
+ TCMessage{}
+ FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1)
+ version3(3)}
+ Bind{}, Unbind{}
+ FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
+ remote-operations(4) generic-ROS-PDUs(6) version1(0)}
+ AllOperations{}, ConsumerPerforms{}, SupplierPerforms{}, combine{}
+ FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
+ remote-operations(4) useful-definitions(7) version1(0)}
+ CONTRACT, OPERATION-PACKAGE
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ UniDialoguePDU, uniDialogue-as-id
+ FROM UnidialoguePDUs {itu-t recommendation q 773 modules(2)
+ unidialoguePDUs(3) version1(1)}
+ DialoguePDU, dialogue-as-id
+ FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2)
+ version1(1)};
+
+APPLICATION-CONTEXT ::= CLASS {
+ &associationContract CONTRACT,
+ &dialogueMode DialogueMode,
+ &termination Termination OPTIONAL,
+ &componentGrouping BOOLEAN DEFAULT TRUE,
+ &dialogueAndComponentGrouping BOOLEAN DEFAULT TRUE,
+ &AdditionalASEs OBJECT IDENTIFIER OPTIONAL,
+ &AbstractSyntaxes ABSTRACT-SYNTAX,
+ &applicationContextName OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ CONTRACT &associationContract
+ DIALOGUE MODE &dialogueMode
+ [TERMINATION &termination]
+ [COMPONENT GROUPING ALLOWED &componentGrouping]
+ [DIALOGUE WITH COMPONENTS ALLOWED &dialogueAndComponentGrouping]
+ [ADDITIONAL ASES &AdditionalASEs]
+ ABSTRACT SYNTAXES &AbstractSyntaxes
+ APPLICATION CONTEXT NAME &applicationContextName
+}
+
+DialogueMode ::= ENUMERATED {structured(1), unstructured(2)}
+
+Termination ::= ENUMERATED {basic(1), prearranged(2)}
+
+dialogue-abstract-syntax ABSTRACT-SYNTAX ::= {
+ DialoguePDU
+ IDENTIFIED BY dialogue-as-id
+}
+
+uniDialogue-abstract-syntax ABSTRACT-SYNTAX ::= {
+ UniDialoguePDU
+ IDENTIFIED BY uniDialogue-as-id
+}
+
+TCSingleAS{OPERATION-PACKAGE:package} ::=
+ TCMessage{{AllOperations {package}}, {AllOperations {package}}}
+
+TCConsumerAS{OPERATION-PACKAGE:package} ::=
+ TCMessage{{ConsumerPerforms {package}}, {ConsumerPerforms {package}}}
+
+TCSupplierAS{OPERATION-PACKAGE:package} ::=
+ TCMessage{{SupplierPerforms {package}}, {SupplierPerforms {package}}}
+
+AllPackagesAS{APPLICATION-CONTEXT:ac} ::=
+ TCSingleAS
+ {combine{{ac.&associationContract.&OperationsOf |
+ ac.&associationContract.&InitiatorConsumerOf |
+ ac.&associationContract.&InitiatorSupplierOf},
+ {...}, --was illegaly empty, needs to be changed
+ { -- Information Object of class OPERATION-PACKAGE to be defined --}}}
+
+ConnectionAS{APPLICATION-CONTEXT:ac} ::= CHOICE {
+ bind Bind{ac.&associationContract.&connection.&bind},
+ unbind Unbind{ac.&associationContract.&connection.&unbind}
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/tcap/TCAPMessages.asn b/epan/dissectors/asn1/tcap/TCAPMessages.asn
new file mode 100644
index 00000000..cccec042
--- /dev/null
+++ b/epan/dissectors/asn1/tcap/TCAPMessages.asn
@@ -0,0 +1,96 @@
+-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
+TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- EXPORTS everything
+-- Transaction Portion fields.
+IMPORTS
+ ROS{}, InvokeId
+ FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
+ remote-operations(4) generic-ROS-PDUs(6) version1(0)}
+ OPERATION
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+TCMessage{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
+ unidirectional [APPLICATION 1] Unidirectional{{Invokable}, {Returnable}},
+ begin [APPLICATION 2] Begin{{Invokable}, {Returnable}},
+ end [APPLICATION 4] End{{Invokable}, {Returnable}},
+ continue [APPLICATION 5] Continue{{Invokable}, {Returnable}},
+ abort [APPLICATION 7] Abort
+}
+
+Unidirectional{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion{{Invokable}, {Returnable}}
+}
+
+Begin{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
+ otid OrigTransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
+}
+
+End{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
+ dtid DestTransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
+}
+
+Continue{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
+ otid OrigTransactionID,
+ dtid DestTransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
+}
+
+Abort ::= SEQUENCE {
+ dtid DestTransactionID,
+ reason CHOICE {p-abortCause P-AbortCause,
+ u-abortCause DialoguePortion} OPTIONAL
+}
+
+-- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be
+-- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT
+-- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
+-- abstract syntax.
+DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL
+
+-- The dialogue portion carries the dialogue control PDUs as value of the external data type. The direct
+-- reference should be set to {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} if structured
+-- dialogue is used and to {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} if unstructured
+-- dialogue is used.
+OrigTransactionID ::= [APPLICATION 8] OCTET STRING(SIZE (1..4))
+
+DestTransactionID ::= [APPLICATION 9] OCTET STRING(SIZE (1..4))
+
+P-AbortCause ::= [APPLICATION 10] INTEGER {
+ unrecognizedMessageType(0), unrecognizedTransactionID(1),
+ badlyFormattedTransactionPortion(2), incorrectTransactionPortion(3),
+ resourceLimitation(4)}(0..127)
+
+-- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the
+-- component portion. The component portion may be absent.
+ComponentPortion{OPERATION:Invokable, OPERATION:Returnable} ::=
+ [APPLICATION 12]
+ SEQUENCE SIZE (1..MAX) OF Component{{Invokable}, {Returnable}}
+
+-- Component Portion fields
+-- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking
+-- operations, returning results or error, and for the rejection of invalid PDUs.
+-- TCAP adds returnResultNotLast to allow for the segmentation of a result.
+Component{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
+ basicROS ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}},
+ returnResultNotLast
+ [7] returnResult < ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}}
+}
+
+TCInvokeIdSet ::= InvokeId(WITH COMPONENTS {
+ present (-128..127)
+ })
+
+END -- TCAPMessages
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/tcap/UnidialoguePDUs.asn b/epan/dissectors/asn1/tcap/UnidialoguePDUs.asn
new file mode 100644
index 00000000..4f7c6c35
--- /dev/null
+++ b/epan/dissectors/asn1/tcap/UnidialoguePDUs.asn
@@ -0,0 +1,25 @@
+-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
+UnidialoguePDUs {itu-t recommendation q 773 modules(2) unidialoguePDUs(3)
+ version1(1)} DEFINITIONS ::=
+BEGIN
+
+EXPORTS uniDialogue-as-id, UniDialoguePDU;
+
+-- Abstract syntax name for unstructured dialogue APDUs
+uniDialogue-as-id OBJECT IDENTIFIER ::=
+ {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)}
+
+UniDialoguePDU ::= CHOICE {unidialoguePDU AUDT-apdu
+}
+
+AUDT-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
+ protocol-version
+ [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
+ application-context-name [1] OBJECT IDENTIFIER,
+ user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
+}
+
+END -- UNIDialoguePDU
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/tcap/packet-tcap-template.c b/epan/dissectors/asn1/tcap/packet-tcap-template.c
new file mode 100644
index 00000000..65efb15b
--- /dev/null
+++ b/epan/dissectors/asn1/tcap/packet-tcap-template.c
@@ -0,0 +1,2352 @@
+/* packet-tcap-template.c
+ * Routines for TCAP
+ * Copyright 2004 - 2005, Tim Endean <endeant@hotmail.com>
+ * Built from the gsm-map dissector Copyright 2004 - 2005, Anders Broman <anders.broman@ericsson.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * References: ETSI 300 374
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/exceptions.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/address_types.h>
+#include <epan/strutil.h>
+#include <epan/show_exception.h>
+
+#include "packet-ber.h"
+#include "packet-tcap.h"
+#include "packet-mtp3.h"
+
+
+#define PNAME "Transaction Capabilities Application Part"
+#define PSNAME "TCAP"
+#define PFNAME "tcap"
+
+/* Initialize the protocol and registered fields */
+static int proto_tcap = -1;
+static int hf_tcap_tag = -1;
+static int hf_tcap_length = -1;
+static int hf_tcap_data = -1;
+static int hf_tcap_tid = -1;
+static int hf_tcap_constructor_eoc=-1;
+
+int hf_tcapsrt_SessionId=-1;
+int hf_tcapsrt_Duplicate=-1;
+int hf_tcapsrt_BeginSession=-1;
+int hf_tcapsrt_EndSession=-1;
+int hf_tcapsrt_SessionTime=-1;
+
+#include "packet-tcap-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_tcap = -1;
+static gint ett_param = -1;
+
+static gint ett_otid = -1;
+static gint ett_dtid = -1;
+gint ett_tcap_stat = -1;
+
+static struct tcapsrt_info_t * gp_tcapsrt_info;
+static gboolean tcap_subdissector_used=FALSE;
+static dissector_handle_t requested_subdissector_handle = NULL;
+
+static int ss7pc_address_type = -1;
+
+static struct tcaphash_context_t * gp_tcap_context=NULL;
+
+#include "packet-tcap-ett.c"
+
+/* When several Tcap components are received in a single TCAP message,
+ we have to use several buffers for the stored parameters
+ because else this data are erased during TAP dissector call */
+#define MAX_TCAP_INSTANCE 10
+static int tcapsrt_global_current=0;
+static struct tcapsrt_info_t tcapsrt_global_info[MAX_TCAP_INSTANCE];
+
+#define MAX_SSN 254
+static range_t *global_ssn_range;
+static range_t *ssn_range;
+
+/* These two timeout (in second) are used when some message are lost,
+ or when the same TCAP transcation identifier is reused */
+guint gtcap_RepetitionTimeout = 10;
+guint gtcap_LostTimeout = 30;
+gboolean gtcap_PersistentSRT=FALSE;
+gboolean gtcap_DisplaySRT=FALSE;
+gboolean gtcap_StatSRT=FALSE;
+
+/* Global hash tables*/
+static wmem_map_t *tcaphash_context = NULL;
+static wmem_map_t *tcaphash_begin = NULL;
+static wmem_map_t *tcaphash_cont = NULL;
+static wmem_map_t *tcaphash_end = NULL;
+static wmem_map_t *tcaphash_ansi = NULL;
+
+static guint32 tcapsrt_global_SessionId=1;
+
+static dissector_handle_t tcap_handle = NULL;
+static dissector_table_t ber_oid_dissector_table;
+static const char * cur_oid;
+static const char * tcapext_oid;
+static proto_tree * tcap_top_tree=NULL;
+static proto_tree * tcap_stat_tree=NULL;
+
+static dissector_handle_t data_handle;
+static dissector_handle_t ansi_tcap_handle;
+
+static int dissect_tcap_param(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset);
+static bool dissect_tcap_ITU_ComponentPDU(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
+
+static dissector_table_t ansi_sub_dissectors = NULL;
+static dissector_table_t itu_sub_dissectors = NULL;
+
+extern void add_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector) {
+ dissector_add_uint("ansi_tcap.ssn",ssn,dissector);
+ dissector_add_uint("sccp.ssn",ssn,tcap_handle);
+}
+
+extern void add_itu_tcap_subdissector(guint32 ssn, dissector_handle_t dissector) {
+ dissector_add_uint("itu_tcap.ssn",ssn,dissector);
+ dissector_add_uint("sccp.ssn",ssn,tcap_handle);
+}
+
+extern void delete_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector) {
+ dissector_delete_uint("ansi_tcap.ssn",ssn,dissector);
+ if (!get_itu_tcap_subdissector(ssn))
+ dissector_delete_uint("sccp.ssn",ssn,tcap_handle);
+}
+extern void delete_itu_tcap_subdissector(guint32 ssn, dissector_handle_t dissector _U_) {
+ dissector_delete_uint("itu_tcap.ssn",ssn,dissector);
+ if (!get_ansi_tcap_subdissector(ssn))
+ dissector_delete_uint("sccp.ssn", ssn,tcap_handle);
+}
+
+dissector_handle_t get_ansi_tcap_subdissector(guint32 ssn) {
+ return dissector_get_uint_handle(ansi_sub_dissectors, ssn);
+}
+
+dissector_handle_t get_itu_tcap_subdissector(guint32 ssn) {
+ return dissector_get_uint_handle(itu_sub_dissectors, ssn);
+}
+
+#include "packet-tcap-fn.c"
+
+/*
+ * DEBUG functions
+ */
+#undef DEBUG_TCAPSRT
+/* #define DEBUG_TCAPSRT */
+
+#ifdef DEBUG_TCAPSRT
+#include <stdio.h>
+#include <stdarg.h>
+static guint debug_level = 99;
+
+static void
+dbg(guint level, const char* fmt, ...)
+{
+ va_list ap;
+
+ if (level > debug_level) return;
+ va_start(ap,fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+}
+#endif
+
+static gint
+tcaphash_context_equal(gconstpointer k1, gconstpointer k2)
+{
+ const struct tcaphash_context_key_t *key1 = (const struct tcaphash_context_key_t *) k1;
+ const struct tcaphash_context_key_t *key2 = (const struct tcaphash_context_key_t *) k2;
+
+ return (key1->session_id == key2->session_id);
+}
+
+/* calculate a hash key */
+static guint
+tcaphash_context_calchash(gconstpointer k)
+{
+ const struct tcaphash_context_key_t *key = (const struct tcaphash_context_key_t *) k;
+ return key->session_id;
+}
+
+
+static gint
+tcaphash_begin_equal(gconstpointer k1, gconstpointer k2)
+{
+ const struct tcaphash_begin_info_key_t *key1 = (const struct tcaphash_begin_info_key_t *) k1;
+ const struct tcaphash_begin_info_key_t *key2 = (const struct tcaphash_begin_info_key_t *) k2;
+
+ if (key1->hashKey == key2->hashKey) {
+ if ( (key1->pc_hash == key2->pc_hash) && (key1->tid == key2->tid) )
+ return TRUE;
+ }
+ return FALSE;
+}
+
+/* calculate a hash key */
+static guint
+tcaphash_begin_calchash(gconstpointer k)
+{
+ const struct tcaphash_begin_info_key_t *key = (const struct tcaphash_begin_info_key_t *) k;
+ guint hashkey;
+ /* hashkey = key->opc_hash<<16 + key->dpc_hash<<8 + key->src_tid; */
+ hashkey = key->tid;
+ return hashkey;
+}
+
+static gint
+tcaphash_cont_equal(gconstpointer k1, gconstpointer k2)
+{
+ const struct tcaphash_cont_info_key_t *key1 = (const struct tcaphash_cont_info_key_t *) k1;
+ const struct tcaphash_cont_info_key_t *key2 = (const struct tcaphash_cont_info_key_t *) k2;
+
+ if (key1->hashKey == key2->hashKey) {
+
+ if ( (key1->opc_hash == key2->opc_hash) &&
+ (key1->dpc_hash == key2->dpc_hash) &&
+ (key1->src_tid == key2->src_tid) &&
+ (key1->dst_tid == key2->dst_tid) ) {
+ return TRUE;
+ }
+ else if ( (key1->opc_hash == key2->dpc_hash) &&
+ (key1->dpc_hash == key2->opc_hash) &&
+ (key1->src_tid == key2->dst_tid) &&
+ (key1->dst_tid == key2->src_tid) ) {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+/* calculate a hash key */
+static guint
+tcaphash_cont_calchash(gconstpointer k)
+{
+ const struct tcaphash_cont_info_key_t *key = (const struct tcaphash_cont_info_key_t *) k;
+ guint hashkey;
+ hashkey = key->src_tid + key->dst_tid;
+ return hashkey;
+}
+
+
+static gint
+tcaphash_end_equal(gconstpointer k1, gconstpointer k2)
+{
+ const struct tcaphash_end_info_key_t *key1 = (const struct tcaphash_end_info_key_t *) k1;
+ const struct tcaphash_end_info_key_t *key2 = (const struct tcaphash_end_info_key_t *) k2;
+
+ if (key1->hashKey == key2->hashKey) {
+ if ( (key1->opc_hash == key2->opc_hash) &&
+ (key1->dpc_hash == key2->dpc_hash) &&
+ (key1->tid == key2->tid) )
+ return TRUE;
+ }
+ return FALSE;
+}
+
+/* calculate a hash key */
+static guint
+tcaphash_end_calchash(gconstpointer k)
+{
+ const struct tcaphash_end_info_key_t *key = (const struct tcaphash_end_info_key_t *) k;
+ guint hashkey;
+ hashkey = key->tid;
+ return hashkey;
+}
+
+static gint
+tcaphash_ansi_equal(gconstpointer k1, gconstpointer k2)
+{
+ const struct tcaphash_ansi_info_key_t *key1 = (const struct tcaphash_ansi_info_key_t *) k1;
+ const struct tcaphash_ansi_info_key_t *key2 = (const struct tcaphash_ansi_info_key_t *) k2;
+
+ if (key1->hashKey == key2->hashKey) {
+
+ if ( ( (key1->opc_hash == key2->opc_hash) &&
+ (key1->dpc_hash == key2->dpc_hash) &&
+ (key1->tid == key2->tid) )
+ ||
+ ( (key1->opc_hash == key2->dpc_hash) &&
+ (key1->dpc_hash == key2->opc_hash) &&
+ (key1->tid == key2->tid) )
+ )
+ return TRUE;
+ }
+ return FALSE;
+}
+
+/* calculate a hash key */
+static guint
+tcaphash_ansi_calchash(gconstpointer k)
+{
+ const struct tcaphash_ansi_info_key_t *key = (const struct tcaphash_ansi_info_key_t *) k;
+ guint hashkey;
+ /* hashkey = key->opc_hash<<16 + key->dpc_hash<<8 + key->src_tid; */
+ hashkey = key->tid;
+ return hashkey;
+}
+
+/*
+ * Update a record with the data of the Request
+ */
+static void
+update_tcaphash_begincall(struct tcaphash_begincall_t *p_tcaphash_begincall,
+ packet_info *pinfo)
+{
+ p_tcaphash_begincall->context->first_frame = pinfo->num;
+ p_tcaphash_begincall->context->last_frame = 0;
+ p_tcaphash_begincall->context->responded = FALSE;
+ p_tcaphash_begincall->context->begin_time = pinfo->abs_ts;
+}
+
+/*
+ * Append a new dialogue, using the same Key, to the chained list
+ * The time is stored too
+ */
+static struct tcaphash_begincall_t *
+append_tcaphash_begincall(struct tcaphash_begincall_t *prev_begincall,
+ struct tcaphash_context_t *p_tcaphash_context,
+ packet_info *pinfo)
+{
+ struct tcaphash_begincall_t *p_new_tcaphash_begincall = NULL;
+
+ /* Append the transaction to the list, when the same key is found
+ This should append when the tcap-transaction Id is reused */
+
+ p_new_tcaphash_begincall = wmem_new0(wmem_file_scope(), struct tcaphash_begincall_t);
+ p_new_tcaphash_begincall->context=p_tcaphash_context;
+ p_tcaphash_context->begincall=p_new_tcaphash_begincall;
+ p_new_tcaphash_begincall->beginkey=prev_begincall->beginkey;
+ p_new_tcaphash_begincall->context->first_frame = pinfo->num;
+ p_new_tcaphash_begincall->next_begincall=NULL;
+ p_new_tcaphash_begincall->previous_begincall=prev_begincall;
+ p_new_tcaphash_begincall->father=FALSE;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"+B%d ", p_new_tcaphash_begincall->context->session_id);
+#endif
+ /* Insert in the chained list */
+ prev_begincall->next_begincall = p_new_tcaphash_begincall;
+ if (prev_begincall->context->last_frame == 0) {
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"last ");
+#endif
+ prev_begincall->context->last_frame = pinfo->num-1;
+ }
+ return p_new_tcaphash_begincall;
+}
+
+/*
+ * Update a record with the data of the Request
+ */
+static void
+update_tcaphash_ansicall(struct tcaphash_ansicall_t *p_tcaphash_ansicall,
+ packet_info *pinfo)
+{
+ p_tcaphash_ansicall->context->first_frame = pinfo->num;
+ p_tcaphash_ansicall->context->last_frame = 0;
+ p_tcaphash_ansicall->context->responded = FALSE;
+ p_tcaphash_ansicall->context->begin_time = pinfo->abs_ts;
+}
+
+/*
+ * Append a new dialogue, using the same Key, to the chained list
+ * The time is stored too
+ */
+static struct tcaphash_ansicall_t *
+append_tcaphash_ansicall(struct tcaphash_ansicall_t *prev_ansicall,
+ struct tcaphash_context_t *p_tcaphash_context,
+ packet_info *pinfo)
+{
+ struct tcaphash_ansicall_t *p_new_tcaphash_ansicall = NULL;
+
+ /* Append the transaction to the list, when the same key is found
+ This should append when the tcap-transaction Id is reused */
+
+ p_new_tcaphash_ansicall = wmem_new0(wmem_file_scope(), struct tcaphash_ansicall_t);
+ p_new_tcaphash_ansicall->context=p_tcaphash_context;
+ p_tcaphash_context->ansicall=p_new_tcaphash_ansicall;
+ p_new_tcaphash_ansicall->ansikey=prev_ansicall->ansikey;
+ p_new_tcaphash_ansicall->context->first_frame = pinfo->num;
+ p_new_tcaphash_ansicall->next_ansicall=NULL;
+ p_new_tcaphash_ansicall->previous_ansicall=prev_ansicall;
+ p_new_tcaphash_ansicall->father=FALSE;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"+A%d ", p_new_tcaphash_ansicall->context->session_id);
+#endif
+ /* Insert in the chained list */
+ prev_ansicall->next_ansicall = p_new_tcaphash_ansicall;
+ if (prev_ansicall->context->last_frame == 0) {
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"last ");
+#endif
+ prev_ansicall->context->last_frame = pinfo->num-1;
+ }
+ return p_new_tcaphash_ansicall;
+}
+
+
+static struct tcaphash_contcall_t *
+append_tcaphash_contcall(struct tcaphash_contcall_t *prev_contcall,
+ struct tcaphash_context_t *p_tcaphash_context)
+{
+ struct tcaphash_contcall_t *p_new_tcaphash_contcall = NULL;
+
+ /* Append the transaction to the list, when the same key is found
+ This should append when the tcap-transaction Id is reused */
+
+ p_new_tcaphash_contcall = wmem_new0(wmem_file_scope(), struct tcaphash_contcall_t);
+ p_new_tcaphash_contcall->context=p_tcaphash_context;
+ p_tcaphash_context->contcall=p_new_tcaphash_contcall;
+ p_new_tcaphash_contcall->contkey=prev_contcall->contkey;
+ p_new_tcaphash_contcall->next_contcall=NULL;
+ p_new_tcaphash_contcall->previous_contcall=prev_contcall;
+ p_new_tcaphash_contcall->father=FALSE;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"+C%d ", p_new_tcaphash_contcall->context->session_id);
+#endif
+ /* Insert in the chained list */
+ prev_contcall->next_contcall = p_new_tcaphash_contcall;
+ return p_new_tcaphash_contcall;
+}
+
+
+static struct tcaphash_endcall_t *
+append_tcaphash_endcall(struct tcaphash_endcall_t *prev_endcall,
+ struct tcaphash_context_t *p_tcaphash_context)
+{
+ struct tcaphash_endcall_t *p_new_tcaphash_endcall = NULL;
+
+ /* Append the transaction to the list, when the same key is found
+ This should append when the tcap-transaction Id is reused */
+
+ p_new_tcaphash_endcall = wmem_new0(wmem_file_scope(), struct tcaphash_endcall_t);
+ p_new_tcaphash_endcall->context=p_tcaphash_context;
+ p_tcaphash_context->endcall=p_new_tcaphash_endcall;
+ p_new_tcaphash_endcall->endkey=prev_endcall->endkey;
+ p_new_tcaphash_endcall->next_endcall=NULL;
+ p_new_tcaphash_endcall->previous_endcall=prev_endcall;
+ p_new_tcaphash_endcall->father=FALSE;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"+E%d ", p_new_tcaphash_endcall->context->session_id);
+#endif
+ /* Insert in the chained list */
+ prev_endcall->next_endcall = p_new_tcaphash_endcall;
+ return p_new_tcaphash_endcall;
+}
+
+
+/*
+ * Find the dialog by Key and Time
+ */
+static struct tcaphash_begincall_t *
+find_tcaphash_begin(struct tcaphash_begin_info_key_t *p_tcaphash_begin_key,
+ packet_info *pinfo, gboolean isBegin)
+{
+ struct tcaphash_begincall_t *p_tcaphash_begincall = NULL;
+ p_tcaphash_begincall = (struct tcaphash_begincall_t *)wmem_map_lookup(tcaphash_begin, p_tcaphash_begin_key);
+
+ if(p_tcaphash_begincall) {
+ do {
+ if ( p_tcaphash_begincall->context ) {
+ if ( ( isBegin &&
+ pinfo->num == p_tcaphash_begincall->context->first_frame )
+ ||
+ ( !isBegin &&
+ pinfo->num >= p_tcaphash_begincall->context->first_frame &&
+ ( p_tcaphash_begincall->context->last_frame?pinfo->num <= p_tcaphash_begincall->context->last_frame:1 )
+ )
+ ) {
+ /* We have a dialogue, with this key, opened before this request */
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"B%d ", p_tcaphash_begincall->context->session_id);
+#endif
+ return p_tcaphash_begincall;
+ }
+#ifdef DEBUG_TCAPSRT
+ dbg(60,"[B%d] ", p_tcaphash_begincall->context->session_id);
+#endif
+ }
+ /* Break when list end is reached */
+ if(p_tcaphash_begincall->next_begincall == NULL) {
+#ifdef DEBUG_TCAPSRT
+ dbg(23,"End of Blist ");
+#endif
+ break;
+ }
+ p_tcaphash_begincall = p_tcaphash_begincall->next_begincall;
+ } while (p_tcaphash_begincall != NULL) ;
+ } else {
+#ifdef DEBUG_TCAPSRT
+ dbg(23,"Not in Bhash ");
+#endif
+ }
+ return NULL;
+}
+
+
+
+static struct tcaphash_contcall_t *
+find_tcaphash_cont(struct tcaphash_cont_info_key_t *p_tcaphash_cont_key,
+ packet_info *pinfo)
+{
+ struct tcaphash_contcall_t *p_tcaphash_contcall = NULL;
+ p_tcaphash_contcall = (struct tcaphash_contcall_t *)wmem_map_lookup(tcaphash_cont, p_tcaphash_cont_key);
+
+ if(p_tcaphash_contcall) {
+ do {
+ if ( p_tcaphash_contcall->context ) {
+ if (pinfo->num >= p_tcaphash_contcall->context->first_frame &&
+ (p_tcaphash_contcall->context->last_frame?pinfo->num <= p_tcaphash_contcall->context->last_frame:1) ) {
+ /* We have a dialogue, with this key, opened before this request */
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"C%d ", p_tcaphash_contcall->context->session_id);
+#endif
+ return p_tcaphash_contcall;
+ }
+#ifdef DEBUG_TCAPSRT
+ dbg(60,"[C%d] ", p_tcaphash_contcall->context->session_id);
+#endif
+ }
+ /* Break when list end is reached */
+ if(p_tcaphash_contcall->next_contcall == NULL) {
+#ifdef DEBUG_TCAPSRT
+ dbg(23,"End of Clist ");
+#endif
+ break;
+ }
+ p_tcaphash_contcall = p_tcaphash_contcall->next_contcall;
+ } while (p_tcaphash_contcall != NULL) ;
+ } else {
+#ifdef DEBUG_TCAPSRT
+ dbg(23,"Not in Chash ");
+#endif
+ }
+ return NULL;
+}
+
+static struct tcaphash_endcall_t *
+find_tcaphash_end(struct tcaphash_end_info_key_t *p_tcaphash_end_key,
+ packet_info *pinfo, gboolean isEnd)
+{
+ struct tcaphash_endcall_t *p_tcaphash_endcall = NULL;
+ p_tcaphash_endcall = (struct tcaphash_endcall_t *)wmem_map_lookup(tcaphash_end, p_tcaphash_end_key);
+
+ if(p_tcaphash_endcall) {
+ do {
+ if ( p_tcaphash_endcall->context ) {
+ if ( ( isEnd &&
+ (p_tcaphash_endcall->context->last_frame?pinfo->num == p_tcaphash_endcall->context->last_frame:1)
+ )
+ ||
+ ( !isEnd &&
+ pinfo->num >= p_tcaphash_endcall->context->first_frame &&
+ (p_tcaphash_endcall->context->last_frame?pinfo->num <= p_tcaphash_endcall->context->last_frame:1)
+ )
+ ) {
+ /* We have a dialogue, with this key, opened before this request */
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"E%d ", p_tcaphash_endcall->context->session_id);
+#endif
+ return p_tcaphash_endcall;
+ }
+#ifdef DEBUG_TCAPSRT
+ dbg(60,"[E%d] ", p_tcaphash_endcall->context->session_id);
+#endif
+ }
+ /* Break when list end is reached */
+ if(p_tcaphash_endcall->next_endcall == NULL) {
+#ifdef DEBUG_TCAPSRT
+ dbg(23,"End of Elist ");
+#endif
+ break;
+ }
+ p_tcaphash_endcall = p_tcaphash_endcall->next_endcall;
+ } while (p_tcaphash_endcall != NULL) ;
+ } else {
+#ifdef DEBUG_TCAPSRT
+ dbg(23,"Not in Ehash ");
+#endif
+ }
+ return NULL;
+}
+
+/*
+ * New record to create, to identify a new transaction
+ */
+static struct tcaphash_context_t *
+new_tcaphash_context(struct tcaphash_context_key_t *p_tcaphash_context_key,
+ packet_info *pinfo)
+{
+ struct tcaphash_context_key_t *p_new_tcaphash_context_key;
+ struct tcaphash_context_t *p_new_tcaphash_context = NULL;
+
+ /* Register the transaction in the hash table
+ with the tcap transaction Id as Main Key
+ Once created, this entry will be updated later */
+
+ p_new_tcaphash_context_key = wmem_new(wmem_file_scope(), struct tcaphash_context_key_t);
+ p_new_tcaphash_context_key->session_id = p_tcaphash_context_key->session_id;
+
+ p_new_tcaphash_context = wmem_new0(wmem_file_scope(), struct tcaphash_context_t);
+ p_new_tcaphash_context->key = p_new_tcaphash_context_key;
+ p_new_tcaphash_context->session_id = p_tcaphash_context_key->session_id;
+ p_new_tcaphash_context->first_frame = pinfo->num;
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"S%d ", p_new_tcaphash_context->session_id);
+#endif
+ /* store it */
+ wmem_map_insert(tcaphash_context, p_new_tcaphash_context_key, p_new_tcaphash_context);
+ return p_new_tcaphash_context;
+}
+
+/*
+ * New record to create, to identify a new transaction
+ */
+static struct tcaphash_begincall_t *
+new_tcaphash_begin(struct tcaphash_begin_info_key_t *p_tcaphash_begin_key,
+ struct tcaphash_context_t *p_tcaphash_context)
+{
+ struct tcaphash_begin_info_key_t *p_new_tcaphash_begin_key;
+ struct tcaphash_begincall_t *p_new_tcaphash_begincall = NULL;
+
+ /* Register the transaction in the hash table
+ with the tcap transaction Id as Main Key
+ Once created, this entry will be updated later */
+
+ p_new_tcaphash_begin_key = wmem_new(wmem_file_scope(), struct tcaphash_begin_info_key_t);
+ p_new_tcaphash_begin_key->hashKey = p_tcaphash_begin_key->hashKey;
+ p_new_tcaphash_begin_key->tid = p_tcaphash_begin_key->tid;
+ p_new_tcaphash_begin_key->pc_hash = p_tcaphash_begin_key->pc_hash;
+
+ p_new_tcaphash_begincall = wmem_new0(wmem_file_scope(), struct tcaphash_begincall_t);
+ p_new_tcaphash_begincall->beginkey=p_new_tcaphash_begin_key;
+ p_new_tcaphash_begincall->context=p_tcaphash_context;
+ p_tcaphash_context->begincall=p_new_tcaphash_begincall;
+ p_new_tcaphash_begincall->father=TRUE;
+ p_new_tcaphash_begincall->next_begincall=NULL;
+ p_new_tcaphash_begincall->previous_begincall=NULL;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"B%d ", p_new_tcaphash_begincall->context->session_id);
+#endif
+ /* store it */
+ wmem_map_insert(tcaphash_begin, p_new_tcaphash_begin_key, p_new_tcaphash_begincall);
+ return p_new_tcaphash_begincall;
+}
+
+
+
+/*
+ * New record to create, to identify a new transaction
+ */
+static struct tcaphash_contcall_t *
+new_tcaphash_cont(struct tcaphash_cont_info_key_t *p_tcaphash_cont_key,
+ struct tcaphash_context_t *p_tcaphash_context)
+{
+ struct tcaphash_cont_info_key_t *p_new_tcaphash_cont_key;
+ struct tcaphash_contcall_t *p_new_tcaphash_contcall = NULL;
+
+ /* Register the transaction in the hash table
+ with the tcap transaction Id as Main Key
+ Once created, this entry will be updated later */
+
+ p_new_tcaphash_cont_key = wmem_new(wmem_file_scope(), struct tcaphash_cont_info_key_t);
+ p_new_tcaphash_cont_key->hashKey = p_tcaphash_cont_key->hashKey;
+ p_new_tcaphash_cont_key->src_tid = p_tcaphash_cont_key->src_tid;
+ p_new_tcaphash_cont_key->dst_tid = p_tcaphash_cont_key->dst_tid;
+ p_new_tcaphash_cont_key->opc_hash = p_tcaphash_cont_key->opc_hash;
+ p_new_tcaphash_cont_key->dpc_hash = p_tcaphash_cont_key->dpc_hash;
+
+ p_new_tcaphash_contcall = wmem_new0(wmem_file_scope(), struct tcaphash_contcall_t);
+ p_new_tcaphash_contcall->contkey=p_new_tcaphash_cont_key;
+ p_new_tcaphash_contcall->context=p_tcaphash_context;
+ p_tcaphash_context->contcall=p_new_tcaphash_contcall;
+ p_new_tcaphash_contcall->father=TRUE;
+ p_new_tcaphash_contcall->next_contcall=NULL;
+ p_new_tcaphash_contcall->previous_contcall=NULL;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"C%d ", p_new_tcaphash_contcall->context->session_id);
+#endif
+ /* store it */
+ wmem_map_insert(tcaphash_cont, p_new_tcaphash_cont_key, p_new_tcaphash_contcall);
+ return p_new_tcaphash_contcall;
+}
+
+
+/*
+ * New record to create, to identify a new transaction
+ */
+static struct tcaphash_endcall_t *
+new_tcaphash_end(struct tcaphash_end_info_key_t *p_tcaphash_end_key,
+ struct tcaphash_context_t *p_tcaphash_context)
+{
+ struct tcaphash_end_info_key_t *p_new_tcaphash_end_key;
+ struct tcaphash_endcall_t *p_new_tcaphash_endcall = NULL;
+
+ /* Register the transaction in the hash table
+ with the tcap transaction Id as Main Key
+ Once created, this entry will be updated later */
+
+ p_new_tcaphash_end_key = wmem_new(wmem_file_scope(), struct tcaphash_end_info_key_t);
+ p_new_tcaphash_end_key->hashKey = p_tcaphash_end_key->hashKey;
+ p_new_tcaphash_end_key->tid = p_tcaphash_end_key->tid;
+ p_new_tcaphash_end_key->opc_hash = p_tcaphash_end_key->opc_hash;
+ p_new_tcaphash_end_key->dpc_hash = p_tcaphash_end_key->dpc_hash;
+
+ p_new_tcaphash_endcall = wmem_new0(wmem_file_scope(), struct tcaphash_endcall_t);
+ p_new_tcaphash_endcall->endkey=p_new_tcaphash_end_key;
+ p_new_tcaphash_endcall->context=p_tcaphash_context;
+ p_tcaphash_context->endcall=p_new_tcaphash_endcall;
+ p_new_tcaphash_endcall->father=TRUE;
+ p_new_tcaphash_endcall->next_endcall=NULL;
+ p_new_tcaphash_endcall->previous_endcall=NULL;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"E%d ", p_new_tcaphash_endcall->context->session_id);
+#endif
+ /* store it */
+ wmem_map_insert(tcaphash_end, p_new_tcaphash_end_key, p_new_tcaphash_endcall);
+ return p_new_tcaphash_endcall;
+}
+/*
+ * New record to create, to identify a new transaction
+ */
+static struct tcaphash_ansicall_t *
+new_tcaphash_ansi(struct tcaphash_ansi_info_key_t *p_tcaphash_ansi_key,
+ struct tcaphash_context_t *p_tcaphash_context)
+{
+ struct tcaphash_ansi_info_key_t *p_new_tcaphash_ansi_key;
+ struct tcaphash_ansicall_t *p_new_tcaphash_ansicall = NULL;
+
+ /* Register the transaction in the hash table
+ with the tcap transaction Id as Main Key
+ Once created, this entry will be updated later */
+
+ p_new_tcaphash_ansi_key = wmem_new(wmem_file_scope(), struct tcaphash_ansi_info_key_t);
+ p_new_tcaphash_ansi_key->hashKey = p_tcaphash_ansi_key->hashKey;
+ p_new_tcaphash_ansi_key->tid = p_tcaphash_ansi_key->tid;
+ p_new_tcaphash_ansi_key->opc_hash = p_tcaphash_ansi_key->opc_hash;
+ p_new_tcaphash_ansi_key->dpc_hash = p_tcaphash_ansi_key->dpc_hash;
+
+ p_new_tcaphash_ansicall = wmem_new0(wmem_file_scope(), struct tcaphash_ansicall_t);
+ p_new_tcaphash_ansicall->ansikey=p_new_tcaphash_ansi_key;
+ p_new_tcaphash_ansicall->context=p_tcaphash_context;
+ p_tcaphash_context->ansicall=p_new_tcaphash_ansicall;
+ p_new_tcaphash_ansicall->father=TRUE;
+ p_new_tcaphash_ansicall->next_ansicall=NULL;
+ p_new_tcaphash_ansicall->previous_ansicall=NULL;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"A%d ", p_new_tcaphash_ansicall->context->session_id);
+#endif
+ /* store it */
+ wmem_map_insert(tcaphash_ansi, p_new_tcaphash_ansi_key, p_new_tcaphash_ansicall);
+ return p_new_tcaphash_ansicall;
+}
+
+static struct tcaphash_contcall_t *
+create_tcaphash_cont(struct tcaphash_cont_info_key_t *p_tcaphash_cont_key,
+ struct tcaphash_context_t *p_tcaphash_context)
+{
+ struct tcaphash_contcall_t *p_tcaphash_contcall1 = NULL;
+ struct tcaphash_contcall_t *p_tcaphash_contcall = NULL;
+
+ p_tcaphash_contcall1 = (struct tcaphash_contcall_t *)
+ wmem_map_lookup(tcaphash_cont, p_tcaphash_cont_key);
+
+ if (p_tcaphash_contcall1) {
+ /* Walk through list of transaction with identical keys */
+ /* go to the end to insert new record */
+ do {
+ if (!p_tcaphash_contcall1->next_contcall) {
+ p_tcaphash_contcall=append_tcaphash_contcall(p_tcaphash_contcall1,
+ p_tcaphash_context);
+ break;
+ }
+ p_tcaphash_contcall1 = p_tcaphash_contcall1->next_contcall;
+ } while (p_tcaphash_contcall1 != NULL );
+ } else {
+ p_tcaphash_contcall = new_tcaphash_cont(p_tcaphash_cont_key,
+ p_tcaphash_context);
+ }
+ return p_tcaphash_contcall;
+}
+
+
+static struct tcaphash_endcall_t *
+create_tcaphash_end(struct tcaphash_end_info_key_t *p_tcaphash_end_key,
+ struct tcaphash_context_t *p_tcaphash_context)
+{
+ struct tcaphash_endcall_t *p_tcaphash_endcall1 = NULL;
+ struct tcaphash_endcall_t *p_tcaphash_endcall = NULL;
+
+ p_tcaphash_endcall1 = (struct tcaphash_endcall_t *)
+ wmem_map_lookup(tcaphash_end, p_tcaphash_end_key);
+
+ if (p_tcaphash_endcall1) {
+ /* Walk through list of transaction with identical keys */
+ /* go to the end to insert new record */
+ do {
+ if (!p_tcaphash_endcall1->next_endcall) {
+ p_tcaphash_endcall=append_tcaphash_endcall(p_tcaphash_endcall1,
+ p_tcaphash_context);
+ break;
+ }
+ p_tcaphash_endcall1 = p_tcaphash_endcall1->next_endcall;
+ } while (p_tcaphash_endcall1 != NULL );
+ } else {
+ p_tcaphash_endcall = new_tcaphash_end(p_tcaphash_end_key,
+ p_tcaphash_context);
+ }
+ return p_tcaphash_endcall;
+}
+
+/*
+ * Create the record identifiying the TCAP transaction
+ * When the identifier for the transaction is reused, check
+ * the following criteria before to append a new record:
+ * - a timeout corresponding to a message retransmission is detected,
+ * - a message hast been lost
+ * - or the previous transaction has been be closed
+ */
+static struct tcaphash_context_t *
+tcaphash_begin_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ struct tcapsrt_info_t *p_tcapsrt_info)
+{
+ struct tcaphash_context_t *p_tcaphash_context=NULL;
+ struct tcaphash_context_key_t tcaphash_context_key;
+ struct tcaphash_begincall_t *p_tcaphash_begincall, *p_new_tcaphash_begincall=NULL;
+ struct tcaphash_begin_info_key_t tcaphash_begin_key;
+ proto_item *pi;
+ proto_item *stat_item=NULL;
+ proto_tree *stat_tree=NULL;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(51,"src %s srcTid %lx dst %s ", address_to_str(pinfo->pool, &pinfo->src), p_tcapsrt_info->src_tid, address_to_str(pinfo->pool, &pinfo->dst));
+#endif
+
+ /* prepare the key data */
+ tcaphash_begin_key.tid = p_tcapsrt_info->src_tid;
+ if (pinfo->src.type == ss7pc_address_type && pinfo->dst.type == ss7pc_address_type)
+ {
+ /* We have MTP3 PCs (so we can safely do this cast) */
+ tcaphash_begin_key.pc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->src.data);
+ } else {
+ /* Don't have MTP3 PCs (have SCCP GT ?) */
+ tcaphash_begin_key.pc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->src));
+ }
+ tcaphash_begin_key.hashKey=tcaphash_begin_calchash(&tcaphash_begin_key);
+
+ /* look up the request */
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"\n Hbegin #%u ", pinfo->num);
+ dbg(11,"key %lx ",tcaphash_begin_key.hashKey);
+ dbg(51,"addr %s ", address_to_str(pinfo->pool, &pinfo->src));
+ dbg(51,"Tid %lx \n",tcaphash_begin_key.tid);
+#endif
+
+ p_tcaphash_begincall = (struct tcaphash_begincall_t *)
+ wmem_map_lookup(tcaphash_begin, &tcaphash_begin_key);
+
+ if (p_tcaphash_begincall) {
+ /* Walk through list of transaction with identical keys */
+ do {
+ /* Check if the request with this reqSeqNum has been seen, with the same Message Type */
+ if (pinfo->num == p_tcaphash_begincall->context->first_frame) {
+ /* We have seen this request before -> do nothing */
+#ifdef DEBUG_TCAPSRT
+ dbg(22,"Already seen ");
+#endif
+ p_tcaphash_context=p_tcaphash_begincall->context;
+ break;
+ }
+ /* If the last record for Tcap transaction with identifier has not been reached */
+ if (!p_tcaphash_begincall->next_begincall) {
+ /* check if we have to create a new record or not */
+ /* if last request has been responded (response number is known)
+ and this request appears after last response (has bigger frame number)
+ and last request occurred after the timeout for repetition,
+ or
+ if last request hasn't been responded (so number unknown)
+ and this request appears after last request (has bigger frame number)
+ and this request occurred after the timeout for message lost */
+ if ( ( p_tcaphash_begincall->context->last_frame != 0
+ && pinfo->num > p_tcaphash_begincall->context->first_frame
+ && (guint) pinfo->abs_ts.secs > (guint)(p_tcaphash_begincall->context->begin_time.secs + gtcap_RepetitionTimeout)
+ ) ||
+ ( p_tcaphash_begincall->context->last_frame == 0
+ && pinfo->num > p_tcaphash_begincall->context->first_frame
+ && (guint)pinfo->abs_ts.secs > (guint)(p_tcaphash_begincall->context->begin_time.secs + gtcap_LostTimeout)
+ )
+ )
+ {
+ /* we decide that we have a new request */
+ /* Append new record to the list */
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"(timeout) Append key %lx ",tcaphash_begin_key.hashKey);
+ dbg(12,"Frame %u rsp %u ",pinfo->num,p_tcaphash_begincall->context->last_frame );
+#endif
+ tcaphash_context_key.session_id = tcapsrt_global_SessionId++;
+ p_tcaphash_context = new_tcaphash_context(&tcaphash_context_key, pinfo);
+
+ p_new_tcaphash_begincall = append_tcaphash_begincall(p_tcaphash_begincall,
+ p_tcaphash_context,
+ pinfo);
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"Update key %lx ",tcaphash_begin_key.hashKey);
+#endif
+ update_tcaphash_begincall(p_new_tcaphash_begincall, pinfo);
+ } else { /* timeout or message lost */
+
+ /* If the Tid is reused for a closed Transaction */
+ /* Or if we received an TC_BEGIN for a Transaction marked as "closed" */
+ /* (this is the case, for pre-arranged END, the transaction is marked as closed */
+ /* by the upper layer, thank to a callback method close) */
+ if ( p_tcaphash_begincall->context->closed) {
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"(closed) Append key %lu ",tcaphash_begin_key.hashKey);
+ dbg(12,"Frame %u rsp %u ",pinfo->num,p_tcaphash_begincall->context->last_frame );
+#endif
+ tcaphash_context_key.session_id = tcapsrt_global_SessionId++;
+ p_tcaphash_context = new_tcaphash_context(&tcaphash_context_key, pinfo);
+ p_new_tcaphash_begincall = append_tcaphash_begincall(p_tcaphash_begincall,
+ p_tcaphash_context,
+ pinfo);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"Update key %lu ",tcaphash_begin_key.hashKey);
+#endif
+ update_tcaphash_begincall(p_new_tcaphash_begincall, pinfo);
+
+ } else {
+ /* the TCAP session is not closed, so, either messages have been lost */
+ /* or it's a duplicate request. Mark it as such. */
+#ifdef DEBUG_TCAPSRT
+ dbg(21,"Display_duplicate %d ",p_tcaphash_begincall->context->first_frame);
+#endif
+ p_tcaphash_context=p_tcaphash_begincall->context;
+ if (gtcap_DisplaySRT && tree) {
+ stat_tree = proto_tree_add_subtree(tree, tvb, 0, -1, ett_tcap_stat, &stat_item, "Stat");
+ proto_item_set_generated(stat_item);
+ pi = proto_tree_add_uint_format(stat_tree, hf_tcapsrt_Duplicate, tvb, 0, 0,
+ p_tcaphash_context->first_frame,
+ "Duplicate with session %u in frame %u",
+ p_tcaphash_context->session_id,p_tcaphash_context->first_frame);
+ proto_item_set_generated(pi);
+ }
+ return p_tcaphash_context;
+ } /* Previous session closed */
+ } /* test with Timeout or message Lost */
+ break;
+ } /* Next call is NULL */
+ /* Repeat the tests for the next record with the same transaction identifier */
+ p_tcaphash_begincall = p_tcaphash_begincall->next_begincall;
+ } while (p_tcaphash_begincall != NULL );
+ /*
+ * End of analyze for the list be TC_BEGIN with same transaction ID
+ */
+ } else { /* p_tcaphash_begincall has not been found */
+ /*
+ * Create a new TCAP context
+ */
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"New key %lx ",tcaphash_begin_key.hashKey);
+#endif
+
+ tcaphash_context_key.session_id = tcapsrt_global_SessionId++;
+ p_tcaphash_context = new_tcaphash_context(&tcaphash_context_key, pinfo);
+ p_tcaphash_begincall = new_tcaphash_begin(&tcaphash_begin_key, p_tcaphash_context);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(11,"Update key %lx ",tcaphash_begin_key.hashKey);
+ dbg(11,"Frame reqlink #%u ", pinfo->num);
+#endif
+ update_tcaphash_begincall(p_tcaphash_begincall, pinfo);
+ }
+
+ /* display tcap session, if available */
+ if ( gtcap_DisplaySRT && tree &&
+ p_tcaphash_context &&
+ p_tcaphash_context->session_id) {
+ stat_tree = proto_tree_add_subtree(tree, tvb, 0, 0, ett_tcap_stat, &stat_item, "Stat");
+ proto_item_set_generated(stat_item);
+ pi = proto_tree_add_uint(stat_tree, hf_tcapsrt_SessionId, tvb, 0,0, p_tcaphash_context->session_id);
+ proto_item_set_generated(pi);
+
+ /* add link to response frame, if available */
+ /* p_tcaphash_begincall->context->last_frame) */
+ if( p_tcaphash_context->last_frame != 0 ){
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"Display_frameRsplink %d ",p_tcaphash_context->last_frame);
+#endif
+ pi = proto_tree_add_uint_format(stat_tree, hf_tcapsrt_BeginSession, tvb, 0, 0,
+ p_tcaphash_context->last_frame,
+ "End of session in frame %u",
+ p_tcaphash_context->last_frame);
+ proto_item_set_generated(pi);
+ }
+ }
+ return p_tcaphash_context;
+}
+
+/*
+* Try to find a TCAP session according to the source and destination
+* Identifier given in the TC_CONT
+* If nothing is found, it is probably a session in opening state, so try to find
+* a tcap session registered with a TC_BEGIN "key", matching the destination Id of the TC_CONT
+* Then associate the TC_CONT "key" to the TCAP context, and create a TC_END "key"
+* and display the available info for the TCAP context
+*/
+static struct tcaphash_context_t *
+tcaphash_cont_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ struct tcapsrt_info_t *p_tcapsrt_info)
+{
+ struct tcaphash_context_t *p_tcaphash_context=NULL;
+ struct tcaphash_contcall_t *p_tcaphash_contcall;
+ struct tcaphash_cont_info_key_t tcaphash_cont_key;
+ struct tcaphash_begin_info_key_t tcaphash_begin_key;
+ struct tcaphash_begincall_t *p_tcaphash_begincall;
+ struct tcaphash_end_info_key_t tcaphash_end_key;
+ proto_item *pi;
+ proto_item *stat_item=NULL;
+ proto_tree *stat_tree=NULL;
+ gboolean use_dst = FALSE;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(51,"src %s srcTid %lx dst %s dstTid %lx ", address_to_str(pinfo->pool, &pinfo->src), p_tcapsrt_info->src_tid, address_to_str(pinfo->pool, &pinfo->dst), p_tcapsrt_info->dst_tid);
+ dbg(10,"\n Hcont #%u ", pinfo->num);
+#endif
+
+ /* look only for matching request, if matching conversation is available. */
+ tcaphash_cont_key.src_tid = p_tcapsrt_info->src_tid;
+ tcaphash_cont_key.dst_tid = p_tcapsrt_info->dst_tid;
+ if (pinfo->src.type == ss7pc_address_type && pinfo->dst.type == ss7pc_address_type)
+ {
+ /* We have MTP3 PCs (so we can safely do this cast) */
+ tcaphash_cont_key.opc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->src.data);
+ tcaphash_cont_key.dpc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->dst.data);
+ } else {
+ /* Don't have MTP3 PCs (have SCCP GT ?) */
+ tcaphash_cont_key.opc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->src));
+ tcaphash_cont_key.dpc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->dst));
+ }
+ tcaphash_cont_key.hashKey=tcaphash_cont_calchash(&tcaphash_cont_key);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(11,"Ckey %lx ", tcaphash_cont_key.hashKey);
+ dbg(51,"addr %s %s ", address_to_str(pinfo->pool, &pinfo->src), address_to_str(pinfo->pool, &pinfo->dst));
+ dbg(51,"Tid %lx %lx \n",tcaphash_cont_key.src_tid, tcaphash_cont_key.dst_tid);
+#endif
+ p_tcaphash_contcall = find_tcaphash_cont(&tcaphash_cont_key, pinfo);
+ if(p_tcaphash_contcall) {
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"CFound ");
+#endif
+ p_tcaphash_context=p_tcaphash_contcall->context;
+ } else { /* cont not found */
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"CnotFound ");
+#endif
+ /* Find the TCAP transaction according to the TC_BEGIN (from dtid,dst) */
+ tcaphash_begin_key.tid = p_tcapsrt_info->dst_tid;
+ if (pinfo->src.type == ss7pc_address_type && pinfo->dst.type == ss7pc_address_type)
+ {
+ /* We have MTP3 PCs (so we can safely do this cast) */
+ tcaphash_begin_key.pc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->dst.data);
+ } else {
+ /* Don't have MTP3 PCs (have SCCP GT ?) */
+ tcaphash_begin_key.pc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->dst));
+ }
+ tcaphash_begin_key.hashKey=tcaphash_begin_calchash(&tcaphash_begin_key);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(11,"Bkey %lx ", tcaphash_begin_key.hashKey);
+ dbg(51,"addr %s ", address_to_str(pinfo->pool, &pinfo->dst));
+ dbg(51,"Tid %lx \n",tcaphash_begin_key.tid);
+#endif
+ p_tcaphash_begincall = find_tcaphash_begin(&tcaphash_begin_key, pinfo, FALSE);
+ if(!p_tcaphash_begincall){
+ try_src:
+/* can this actually happen? */
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"BNotFound trying stid,src");
+#endif
+ /* Do we have a continue from the same source? (stid,src) */
+ use_dst = TRUE;
+ tcaphash_begin_key.tid = p_tcapsrt_info->src_tid;
+ if (pinfo->src.type == ss7pc_address_type && pinfo->dst.type == ss7pc_address_type)
+ {
+ /* We have MTP3 PCs (so we can safely do this cast) */
+ tcaphash_begin_key.pc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->src.data);
+ } else {
+ /* Don't have MTP3 PCs (have SCCP GT ?) */
+ tcaphash_begin_key.pc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->src));
+ }
+ tcaphash_begin_key.hashKey=tcaphash_begin_calchash(&tcaphash_begin_key);
+#ifdef DEBUG_TCAPSRT
+ dbg(11,"Bkey %lx ", tcaphash_begin_key.hashKey);
+ dbg(51,"addr %s ", address_to_str(pinfo->pool, &pinfo->src));
+ dbg(51,"Tid %lx \n",tcaphash_begin_key.tid);
+#endif
+ p_tcaphash_begincall = find_tcaphash_begin(&tcaphash_begin_key, pinfo,FALSE);
+ }
+ if(p_tcaphash_begincall &&
+ !p_tcaphash_begincall->context->contcall ) {
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"BFound \n");
+#endif
+ p_tcaphash_context=p_tcaphash_begincall->context;
+ p_tcaphash_context->responded=TRUE;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"New Ckey %lx ",tcaphash_cont_key.hashKey);
+ dbg(11,"Frame reqlink #%u \n", pinfo->num);
+#endif
+ create_tcaphash_cont(&tcaphash_cont_key,
+ p_tcaphash_begincall->context);
+
+ /* Create END for (stid,src) or (dtid,dst) */
+ tcaphash_end_key.tid = use_dst ? p_tcapsrt_info->dst_tid : p_tcapsrt_info->src_tid;
+ if (pinfo->src.type == ss7pc_address_type && pinfo->dst.type == ss7pc_address_type)
+ {
+ /* We have MTP3 PCs (so we can safely do this cast) */
+ tcaphash_end_key.dpc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)(use_dst ? pinfo->dst.data : pinfo->src.data));
+ tcaphash_end_key.opc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)(use_dst ? pinfo->src.data : pinfo->dst.data));
+ } else {
+ /* Don't have MTP3 PCs (have SCCP GT ?) */
+ tcaphash_end_key.dpc_hash = g_str_hash(address_to_str(pinfo->pool, use_dst ? &pinfo->dst : &pinfo->src));
+ tcaphash_end_key.opc_hash = g_str_hash(address_to_str(pinfo->pool, use_dst ? &pinfo->src : &pinfo->dst));
+ }
+ tcaphash_end_key.hashKey=tcaphash_end_calchash(&tcaphash_end_key);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"New Ekey %lx ",tcaphash_end_key.hashKey);
+ dbg(51,"addr %s ", address_to_str(pinfo->pool, use_dst ? &pinfo->dst : &pinfo->src));
+ dbg(51,"Tid %lx ",tcaphash_end_key.tid);
+ dbg(11,"Frame reqlink #%u ", pinfo->num);
+#endif
+ create_tcaphash_end(&tcaphash_end_key,
+ p_tcaphash_begincall->context);
+
+ } else { /* Begin not found */
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"BnotFound ");
+#endif
+ if (!use_dst) {
+ /* make another try with src tid / address */
+ goto try_src;
+ }
+ } /* begin found */
+ } /* cont found */
+ /* display tcap session, if available */
+ if (gtcap_DisplaySRT && tree &&
+ p_tcaphash_context &&
+ p_tcaphash_context->session_id) {
+ stat_tree = proto_tree_add_subtree(tree, tvb, 0, -1, ett_tcap_stat, &stat_item, "Stat");
+ proto_item_set_generated(stat_item);
+ pi = proto_tree_add_uint(stat_tree, hf_tcapsrt_SessionId, tvb, 0,0, p_tcaphash_context->session_id);
+ proto_item_set_generated(pi);
+ }
+
+ return p_tcaphash_context;
+}
+
+/*
+* Try to find a TCAP session according to the destination Identifier given in the TC_END/TC_ABORT
+* If nothing is found,
+* - either it is a session in opening state,
+* - or the session is closed/aborted by the remote, ( so we switch the src and dst tid )
+* so try to find a tcap session registered with a TC_BEGIN "key",
+* matching the destination Id of the TC_END
+* Then associate the TC_CONT "key" to the TCAP context
+* and display the available info for the TCAP context
+*/
+
+static struct tcaphash_context_t *
+tcaphash_end_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ struct tcapsrt_info_t *p_tcapsrt_info)
+{
+ struct tcaphash_context_t *p_tcaphash_context=NULL;
+
+ struct tcaphash_end_info_key_t tcaphash_end_key;
+ struct tcaphash_endcall_t *p_tcaphash_endcall=NULL;
+
+ struct tcaphash_begin_info_key_t tcaphash_begin_key;
+ struct tcaphash_begincall_t *p_tcaphash_begincall=NULL;
+ proto_item *pi;
+ nstime_t delta;
+ proto_item *stat_item=NULL;
+ proto_tree *stat_tree=NULL;
+
+#ifdef DEBUG_TCAPSRT
+ dbg(51,"src %s dst %s dstTid %lx ", address_to_str(pinfo->pool, &pinfo->src), address_to_str(pinfo->pool, &pinfo->dst), p_tcapsrt_info->dst_tid);
+ dbg(10,"\n Hend #%u ", pinfo->num);
+#endif
+ /* look only for matching request, if matching conversation is available. */
+ tcaphash_end_key.tid = p_tcapsrt_info->dst_tid;
+ if (pinfo->src.type == ss7pc_address_type && pinfo->dst.type == ss7pc_address_type)
+ {
+ /* We have MTP3 PCs (so we can safely do this cast) */
+ tcaphash_end_key.opc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->src.data);
+ tcaphash_end_key.dpc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->dst.data);
+ } else {
+ /* Don't have MTP3 PCs (have SCCP GT ?) */
+ tcaphash_end_key.opc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->src));
+ tcaphash_end_key.dpc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->dst));
+}
+ tcaphash_end_key.hashKey=tcaphash_end_calchash(&tcaphash_end_key);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(11,"Ekey %lx ",tcaphash_end_key.hashKey);
+ dbg(11,"addr %s ", address_to_str(pinfo->pool, &pinfo->dst));
+ dbg(51,"Tid %lx ",tcaphash_end_key.tid);
+#endif
+ p_tcaphash_endcall = find_tcaphash_end(&tcaphash_end_key, pinfo,TRUE);
+
+ if(!p_tcaphash_endcall) {
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"EnotFound ");
+#endif
+ tcaphash_begin_key.tid = p_tcapsrt_info->dst_tid;
+ if (pinfo->src.type == ss7pc_address_type && pinfo->dst.type == ss7pc_address_type)
+ {
+ /* We have MTP3 PCs (so we can safely do this cast) */
+ tcaphash_begin_key.pc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->dst.data);
+ } else {
+ /* Don't have MTP3 PCs (have SCCP GT ?) */
+ tcaphash_begin_key.pc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->dst));
+ }
+ tcaphash_begin_key.hashKey=tcaphash_begin_calchash(&tcaphash_begin_key);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(11,"Bkey %lx ", tcaphash_begin_key.hashKey);
+ dbg(51,"addr %s ", address_to_str(pinfo->pool, &pinfo->dst));
+ dbg(51,"Tid %lx ",tcaphash_begin_key.tid);
+#endif
+ p_tcaphash_begincall = find_tcaphash_begin(&tcaphash_begin_key, pinfo,FALSE);
+ if(!p_tcaphash_begincall) {
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"BnotFound ");
+#endif
+ }
+ }
+ if (p_tcaphash_endcall) {
+ /* Use the TC_BEGIN Destination reference */
+ p_tcaphash_context=p_tcaphash_endcall->context;
+ } else if (p_tcaphash_begincall) {
+ /* Use the TC_BEGIN Source reference */
+ p_tcaphash_context=p_tcaphash_begincall->context;
+ }
+
+ if (p_tcaphash_context) {
+
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"Found, req=%d ",p_tcaphash_context->first_frame);
+#endif
+ if (gtcap_DisplaySRT && tree) {
+ stat_tree = proto_tree_add_subtree(tree, tvb, 0, -1, ett_tcap_stat, &stat_item, "Stat");
+ proto_item_set_generated(stat_item);
+
+ pi = proto_tree_add_uint(stat_tree, hf_tcapsrt_SessionId, tvb, 0,0, p_tcaphash_context->session_id);
+ proto_item_set_generated(pi);
+ }
+
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"Display framereqlink %d ",p_tcaphash_context->first_frame);
+#endif
+ /* Indicate the frame to which this is a reply. */
+ if (gtcap_DisplaySRT && stat_tree) {
+ pi = proto_tree_add_uint_format(stat_tree, hf_tcapsrt_EndSession, tvb, 0, 0,
+ p_tcaphash_context->first_frame,
+ "Begin of session in frame %u",
+ p_tcaphash_context->first_frame);
+ proto_item_set_generated(pi);
+ /* Calculate Service Response Time */
+ nstime_delta(&delta, &pinfo->abs_ts, &p_tcaphash_context->begin_time);
+
+ /* display Service Response Time and make it filterable */
+ pi = proto_tree_add_time(stat_tree, hf_tcapsrt_SessionTime, tvb, 0, 0, &delta);
+ proto_item_set_generated(pi);
+ }
+ /* Close the context and remove it (if needed) */
+ tcapsrt_close(p_tcaphash_context,pinfo);
+
+ } else {/* context present */
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"Context notFound ");
+#endif
+ }
+ return p_tcaphash_context;
+}
+
+/*
+ * ANSI PART
+ * Create the record identifiying the TCAP transaction
+ * When the identifier for the transaction is reused, check
+ * the following criteria before to append a new record:
+ * - a timeout corresponding to a message retransmission is detected,
+ * - a message hast been lost
+ * - or the previous transaction has been be closed
+ */
+static struct tcaphash_context_t *
+tcaphash_ansi_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ struct tcapsrt_info_t *p_tcapsrt_info)
+{
+ struct tcaphash_context_t *p_tcaphash_context=NULL;
+ struct tcaphash_context_key_t tcaphash_context_key;
+ struct tcaphash_ansicall_t *p_tcaphash_ansicall, *p_new_tcaphash_ansicall;
+ struct tcaphash_ansi_info_key_t tcaphash_ansi_key;
+ proto_item *pi;
+ nstime_t delta;
+ gboolean isResponse=FALSE;
+ proto_tree * stat_tree=NULL;
+ proto_item * stat_item=NULL;
+
+ /* prepare the key data */
+ tcaphash_ansi_key.tid = p_tcapsrt_info->src_tid;
+ if (pinfo->src.type == ss7pc_address_type && pinfo->dst.type == ss7pc_address_type)
+ {
+ /* We have MTP3 PCs (so we can safely do this cast) */
+ tcaphash_ansi_key.opc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->src.data);
+ tcaphash_ansi_key.dpc_hash = mtp3_pc_hash((const mtp3_addr_pc_t *)pinfo->dst.data);
+ } else {
+ /* Don't have MTP3 PCs (have SCCP GT ?) */
+ tcaphash_ansi_key.opc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->src));
+ tcaphash_ansi_key.dpc_hash = g_str_hash(address_to_str(pinfo->pool, &pinfo->dst));
+ }
+ tcaphash_ansi_key.hashKey=tcaphash_ansi_calchash(&tcaphash_ansi_key);
+
+ /* look up the request */
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"\n Hansi #%u ", pinfo->num);
+ dbg(11,"key %lx ",tcaphash_ansi_key.hashKey);
+ dbg(51,"PC %s %s ",address_to_str(pinfo->pool, &pinfo->src), address_to_str(pinfo->pool, &pinfo->dst));
+ dbg(51,"Tid %lx ",tcaphash_ansi_key.tid);
+#endif
+ p_tcaphash_ansicall = (struct tcaphash_ansicall_t *)
+ wmem_map_lookup(tcaphash_ansi, &tcaphash_ansi_key);
+
+ if (p_tcaphash_ansicall) {
+ /* Walk through list of transaction with identical keys */
+ do {
+ /* Check if the request with this reqSeqNum has been seen */
+ if (pinfo->num == p_tcaphash_ansicall->context->first_frame) {
+ /* We have seen this request before -> do nothing */
+#ifdef DEBUG_TCAPSRT
+ dbg(22,"Request already seen ");
+#endif
+ isResponse=FALSE;
+ p_tcaphash_context=p_tcaphash_ansicall->context;
+ break;
+ }
+
+ /* Check if the response with this reqSeqNum has been seen */
+ if (pinfo->num == p_tcaphash_ansicall->context->last_frame) {
+ /* We have seen this response before -> do nothing */
+#ifdef DEBUG_TCAPSRT
+ dbg(22,"Response already seen ");
+#endif
+ isResponse=TRUE;
+ p_tcaphash_context=p_tcaphash_ansicall->context;
+ break;
+ }
+
+ /* Check for the first Request without Response
+ received before this frame */
+ if ( pinfo->num > p_tcaphash_ansicall->context->first_frame &&
+ p_tcaphash_ansicall->context->last_frame==0 ) {
+ /* Take it, and update the context */
+
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"Update key %lx ",tcaphash_ansi_key.hashKey);
+#endif
+ p_tcaphash_ansicall->context->last_frame = pinfo->num;
+ p_tcaphash_ansicall->context->responded = TRUE;
+ p_tcaphash_ansicall->context->closed = TRUE;
+ p_tcaphash_context=p_tcaphash_ansicall->context;
+ isResponse=TRUE;
+
+ if (gtcap_DisplaySRT && tree) {
+ stat_tree = proto_tree_add_subtree(tree, tvb, 0, -1, ett_tcap_stat, &stat_item, "Stat");
+ proto_item_set_generated(stat_item);
+
+ pi = proto_tree_add_uint(stat_tree, hf_tcapsrt_SessionId, tvb, 0,0, p_tcaphash_context->session_id);
+ proto_item_set_generated(pi);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"Display framereqlink %d ",p_tcaphash_context->first_frame);
+#endif
+ /* Indicate the frame to which this is a reply. */
+ pi = proto_tree_add_uint_format(stat_tree, hf_tcapsrt_EndSession, tvb, 0, 0,
+ p_tcaphash_context->first_frame,
+ "Begin of session in frame %u",
+ p_tcaphash_context->first_frame);
+ proto_item_set_generated(pi);
+ /* Calculate Service Response Time */
+ nstime_delta(&delta, &pinfo->abs_ts, &p_tcaphash_context->begin_time);
+
+ /* display Service Response Time and make it filterable */
+ pi = proto_tree_add_time(stat_tree, hf_tcapsrt_SessionTime, tvb, 0, 0, &delta);
+ proto_item_set_generated(pi);
+ }
+ break;
+ } /* Lastframe=0, so take it */
+
+
+ /* If the last record for Tcap transaction with identifier has been reached */
+ if (!p_tcaphash_ansicall->next_ansicall) {
+ /* check if we have to create a new record or not */
+ /* if last request has been responded (response number in known)
+ and this request appears after last response (has bigger frame number)
+ and last request occurred after the timeout for repetition,
+ or
+ if last request hasn't been responded (so number unknown)
+ and this request appears after last request (has bigger frame number)
+ and this request occurred after the timeout for message lost */
+ if ( ( p_tcaphash_ansicall->context->last_frame != 0
+ && pinfo->num > p_tcaphash_ansicall->context->first_frame
+ && (guint) pinfo->abs_ts.secs > (guint)(p_tcaphash_ansicall->context->begin_time.secs + gtcap_RepetitionTimeout)
+ ) ||
+ ( p_tcaphash_ansicall->context->last_frame == 0
+ && pinfo->num > p_tcaphash_ansicall->context->first_frame
+ && (guint)pinfo->abs_ts.secs > (guint)(p_tcaphash_ansicall->context->begin_time.secs + gtcap_LostTimeout)
+ )
+ )
+ {
+ /* we decide that we have a new request */
+ /* Append new record to the list */
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"(timeout) Append key %lx ",tcaphash_ansi_key.hashKey);
+ dbg(12,"Frame %u rsp %u ",pinfo->num,p_tcaphash_ansicall->context->last_frame );
+#endif
+ tcaphash_context_key.session_id = tcapsrt_global_SessionId++;
+ p_tcaphash_context = new_tcaphash_context(&tcaphash_context_key, pinfo);
+ p_new_tcaphash_ansicall = append_tcaphash_ansicall(p_tcaphash_ansicall,
+ p_tcaphash_context,
+ pinfo);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"Update key %lx ",tcaphash_ansi_key.hashKey);
+#endif
+ update_tcaphash_ansicall(p_new_tcaphash_ansicall, pinfo);
+ p_tcaphash_ansicall=p_new_tcaphash_ansicall;
+ } else {
+
+ /* If the Tid is reused for a closed Transaction */
+ if ( p_tcaphash_ansicall->context->closed) {
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"(closed) Append key %lu ",tcaphash_ansi_key.hashKey);
+ dbg(12,"Frame %u rsp %u ",pinfo->num,p_tcaphash_ansicall->context->last_frame );
+#endif
+ tcaphash_context_key.session_id = tcapsrt_global_SessionId++;
+ p_tcaphash_context = new_tcaphash_context(&tcaphash_context_key, pinfo);
+ p_new_tcaphash_ansicall = append_tcaphash_ansicall(p_tcaphash_ansicall,
+ p_tcaphash_context,
+ pinfo);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"Update key %lu ",tcaphash_ansi_key.hashKey);
+#endif
+ update_tcaphash_ansicall(p_new_tcaphash_ansicall, pinfo);
+ p_tcaphash_ansicall=p_new_tcaphash_ansicall;
+
+ } else {
+ /* the Tid is reused for an opened Transaction */
+ /* so, this is the reply to the request of our context */
+ p_tcaphash_context=p_tcaphash_ansicall->context;
+#ifdef DEBUG_TCAPSRT
+ dbg(12,"Found, req=%d ",p_tcaphash_context->first_frame);
+#endif
+
+ if (gtcap_DisplaySRT && tree) {
+ stat_tree = proto_tree_add_subtree(tree, tvb, 0, -1, ett_tcap_stat, &stat_item, "Stat");
+ proto_item_set_generated(stat_item);
+
+ pi = proto_tree_add_uint(stat_tree, hf_tcapsrt_SessionId, tvb, 0,0, p_tcaphash_context->session_id);
+ proto_item_set_generated(pi);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"Display framereqlink %d ",p_tcaphash_context->first_frame);
+#endif
+ /* Indicate the frame to which this is a reply. */
+ pi = proto_tree_add_uint_format(stat_tree, hf_tcapsrt_EndSession, tvb, 0, 0,
+ p_tcaphash_context->first_frame,
+ "Begin of session in frame %u",
+ p_tcaphash_context->first_frame);
+ proto_item_set_generated(pi);
+ /* Calculate Service Response Time */
+ nstime_delta(&delta, &pinfo->abs_ts, &p_tcaphash_context->begin_time);
+
+ /* display Service Response Time and make it filterable */
+ pi = proto_tree_add_time(stat_tree, hf_tcapsrt_SessionTime, tvb, 0, 0, &delta);
+ proto_item_set_generated(pi);
+ }
+ p_tcaphash_context=p_tcaphash_ansicall->context;
+ } /* test with Timeout */
+ } /* closed */
+ break;
+ } /* Next call is NULL */
+ p_tcaphash_ansicall = p_tcaphash_ansicall->next_ansicall;
+ } while (p_tcaphash_ansicall != NULL );
+ /*
+ * New TCAP context
+ */
+ } else { /* p_tcaphash_ansicall has not been found */
+#ifdef DEBUG_TCAPSRT
+ dbg(10,"New key %lx ",tcaphash_ansi_key.hashKey);
+#endif
+
+ tcaphash_context_key.session_id = tcapsrt_global_SessionId++;
+ p_tcaphash_context = new_tcaphash_context(&tcaphash_context_key, pinfo);
+ p_tcaphash_ansicall = new_tcaphash_ansi(&tcaphash_ansi_key, p_tcaphash_context);
+
+#ifdef DEBUG_TCAPSRT
+ dbg(11,"Update key %lx ",tcaphash_ansi_key.hashKey);
+ dbg(11,"Frame reqlink #%u ", pinfo->num);
+#endif
+ update_tcaphash_ansicall(p_tcaphash_ansicall, pinfo);
+ }
+
+ /* display tcap session, if available */
+ if ( gtcap_DisplaySRT && tree &&
+ p_tcaphash_context &&
+ p_tcaphash_context->session_id) {
+ stat_tree = proto_tree_add_subtree(tree, tvb, 0, -1, ett_tcap_stat, &stat_item, "Stat");
+ proto_item_set_generated(stat_item);
+ pi = proto_tree_add_uint(stat_tree, hf_tcapsrt_SessionId, tvb, 0,0, p_tcaphash_context->session_id);
+ proto_item_set_generated(pi);
+ }
+
+
+ /* add link to response frame, if available */
+ if( gtcap_DisplaySRT && stat_tree &&
+ p_tcaphash_ansicall->context->last_frame != 0){
+ if (!isResponse) { /* Request */
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"Display_frameRsplink %d ",p_tcaphash_ansicall->context->last_frame);
+#endif
+ pi = proto_tree_add_uint_format(stat_tree, hf_tcapsrt_BeginSession, tvb, 0, 0,
+ p_tcaphash_ansicall->context->last_frame,
+ "End of session in frame %u",
+ p_tcaphash_ansicall->context->last_frame);
+ proto_item_set_generated(pi);
+ } else { /* Response */
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"Display framereqlink %d ",p_tcaphash_context->first_frame);
+#endif
+ /* Indicate the frame to which this is a reply. */
+ if (gtcap_DisplaySRT) {
+ pi = proto_tree_add_uint_format(stat_tree, hf_tcapsrt_EndSession, tvb, 0, 0,
+ p_tcaphash_context->first_frame,
+ "Begin of session in frame %u",
+ p_tcaphash_context->first_frame);
+ proto_item_set_generated(pi);
+ /* Calculate Service Response Time */
+ nstime_delta(&delta, &pinfo->abs_ts, &p_tcaphash_context->begin_time);
+
+ /* display Service Response Time and make it filterable */
+ pi = proto_tree_add_time(stat_tree, hf_tcapsrt_SessionTime, tvb, 0, 0, &delta);
+ proto_item_set_generated(pi);
+ }
+ } /* Request or Response */
+ }
+ return p_tcaphash_context;
+}
+
+/*
+ * Service Response Time analyze
+ * Called just after dissector call
+ * Associate a TCAP context to a tcap session and display session related infomations
+ * like the first frame, the last, the session duration,
+ * and a uniq session identifier for the filtering
+ *
+ * For ETSI tcap, the TCAP context can be reached through three keys
+ * - a key (BEGIN) identifying the session according to the tcap source identifier
+ * - a key (CONT) identifying the established session (src_id and dst_id)
+ * - a key (END) identifying the session according to the tcap destination identifier
+ *
+ * For ANSI tcap, the TCAP context is reached through a uniq key
+ * - a key (ANSI) identifying the session according to the tcap identifier
+*/
+struct tcaphash_context_t *
+tcapsrt_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ struct tcapsrt_info_t *p_tcapsrt_info)
+{
+ struct tcaphash_context_t *tcap_context=NULL;
+
+ /* if this packet isn't loaded because of a read filter, don't output anything */
+ if(pinfo == NULL || pinfo->num == 0) {
+ return NULL;
+ }
+
+ switch (p_tcapsrt_info->ope) {
+
+ case TC_BEGIN:
+#ifdef DEBUG_TCAPSRT
+ dbg(1,"\nTC_BEGIN ");
+#endif
+ tcap_context=tcaphash_begin_matching(tvb, pinfo, tree, p_tcapsrt_info);
+ break;
+
+ case TC_CONT:
+#ifdef DEBUG_TCAPSRT
+ dbg(1,"\nTC_CONT ");
+#endif
+ tcap_context=tcaphash_cont_matching(tvb, pinfo, tree, p_tcapsrt_info);
+ break;
+
+ case TC_ABORT:
+#ifdef DEBUG_TCAPSRT
+ dbg(1,"\nTC_ABORT ");
+#endif
+ tcap_context=tcaphash_end_matching(tvb, pinfo, tree, p_tcapsrt_info);
+ break;
+
+ case TC_END:
+#ifdef DEBUG_TCAPSRT
+ dbg(1,"\nTC_END ");
+#endif
+ tcap_context=tcaphash_end_matching(tvb, pinfo, tree, p_tcapsrt_info);
+ break;
+
+ case TC_ANSI_ALL:
+ case TC_ANSI_ABORT:
+#ifdef DEBUG_TCAPSRT
+ dbg(1,"\nTC_ANSI ");
+#endif
+ tcap_context=tcaphash_ansi_matching(tvb, pinfo, tree, p_tcapsrt_info);
+ break;
+
+ default:
+#ifdef DEBUG_TCAPSRT
+ dbg(1,"\nUnknown %d ", p_tcapsrt_info->ope);
+#endif
+ break;
+ } /* switch tcapop */
+#ifdef DEBUG_TCAPSRT
+ if (tcap_context)
+ dbg(1,"session %d ", tcap_context->session_id);
+#endif
+ return tcap_context;
+}
+
+/*
+ * Initialize the Message Info used by the main dissector
+ * Data are linked to a TCAP transaction
+ */
+struct tcapsrt_info_t *
+tcapsrt_razinfo(void)
+{
+ struct tcapsrt_info_t *p_tcapsrt_info ;
+
+ /* Global buffer for packet extraction */
+ tcapsrt_global_current++;
+ if(tcapsrt_global_current==MAX_TCAP_INSTANCE){
+ tcapsrt_global_current=0;
+ }
+
+ p_tcapsrt_info=&tcapsrt_global_info[tcapsrt_global_current];
+ memset(p_tcapsrt_info,0,sizeof(struct tcapsrt_info_t));
+
+ return p_tcapsrt_info;
+}
+
+void
+tcapsrt_close(struct tcaphash_context_t *p_tcaphash_context,
+ packet_info *pinfo)
+{
+#ifdef DEBUG_TCAPSRT
+ dbg(60,"Force close ");
+#endif
+ if (p_tcaphash_context) {
+ p_tcaphash_context->responded=TRUE;
+ p_tcaphash_context->last_frame = pinfo->num;
+ p_tcaphash_context->end_time = pinfo->abs_ts;
+ p_tcaphash_context->closed=TRUE;
+
+ /* If the endkey is present */
+ if (p_tcaphash_context->endcall
+ && !gtcap_PersistentSRT) {
+ if (p_tcaphash_context->endcall->next_endcall) {
+ if (p_tcaphash_context->endcall->previous_endcall ) {
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"deplace Ehash ");
+#endif
+ p_tcaphash_context->endcall->previous_endcall->next_endcall
+ = p_tcaphash_context->endcall->next_endcall;
+ p_tcaphash_context->endcall->next_endcall->previous_endcall
+ = p_tcaphash_context->endcall->previous_endcall;
+ wmem_map_remove(tcaphash_end, p_tcaphash_context->endcall->endkey);
+ } else {
+ /* cannot remove the father */
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"father Ehash ");
+#endif
+ } /* no previous link, so father */
+ } else if (!gtcap_PersistentSRT) {
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"remove Ehash ");
+#endif
+ wmem_map_remove(tcaphash_end, p_tcaphash_context->endcall->endkey);
+
+ } /* endcall without chained string */
+ } /* no endcall */
+
+
+ /* If the contkey is present */
+ if (p_tcaphash_context->contcall
+ && !gtcap_PersistentSRT) {
+ if (p_tcaphash_context->contcall->next_contcall) {
+ if (p_tcaphash_context->contcall->previous_contcall ) {
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"deplace Chash ");
+#endif
+ p_tcaphash_context->contcall->previous_contcall->next_contcall
+ = p_tcaphash_context->contcall->next_contcall;
+ p_tcaphash_context->contcall->next_contcall->previous_contcall
+ = p_tcaphash_context->contcall->previous_contcall;
+ wmem_map_remove(tcaphash_cont, p_tcaphash_context->contcall->contkey);
+ } else {
+ /* cannot remove the father */
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"father Chash ");
+#endif
+ } /* no previous link, so father */
+ } else if (!gtcap_PersistentSRT) {
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"remove Chash ");
+#endif
+ wmem_map_remove(tcaphash_cont, p_tcaphash_context->contcall->contkey);
+ } /* contcall without chained string */
+ } /* no contcall */
+
+
+ /* If the beginkey is present */
+ if (p_tcaphash_context->begincall
+ && !gtcap_PersistentSRT) {
+ if (p_tcaphash_context->begincall->next_begincall) {
+ if (p_tcaphash_context->begincall->previous_begincall ) {
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"deplace Bhash ");
+#endif
+ p_tcaphash_context->begincall->previous_begincall->next_begincall
+ = p_tcaphash_context->begincall->next_begincall;
+ p_tcaphash_context->begincall->next_begincall->previous_begincall
+ = p_tcaphash_context->begincall->previous_begincall;
+ wmem_map_remove(tcaphash_begin, p_tcaphash_context->begincall->beginkey);
+ } else {
+ /* cannot remove the father */
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"father Bhash ");
+#endif
+ }
+ } else if (!gtcap_PersistentSRT) {
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"remove Bhash ");
+#endif
+ wmem_map_remove(tcaphash_begin, p_tcaphash_context->begincall->beginkey);
+ } /* begincall without chained string */
+ } /* no begincall */
+
+ /* If the ansikey is present */
+ if (p_tcaphash_context->ansicall
+ && !gtcap_PersistentSRT) {
+ if (p_tcaphash_context->ansicall->next_ansicall) {
+ if (p_tcaphash_context->ansicall->previous_ansicall ) {
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"deplace Ahash ");
+#endif
+ p_tcaphash_context->ansicall->previous_ansicall->next_ansicall
+ = p_tcaphash_context->ansicall->next_ansicall;
+ p_tcaphash_context->ansicall->next_ansicall->previous_ansicall
+ = p_tcaphash_context->ansicall->previous_ansicall;
+ wmem_map_remove(tcaphash_ansi, p_tcaphash_context->ansicall->ansikey);
+ } else {
+ /* cannot remove the father */
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"father Ahash ");
+#endif
+ }
+ } else if (!gtcap_PersistentSRT) {
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"remove Ahash ");
+#endif
+ wmem_map_remove(tcaphash_ansi, p_tcaphash_context->ansicall->ansikey);
+ } /* ansicall without chained string */
+ } /* no ansicall */
+
+ if (!gtcap_PersistentSRT) {
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"remove context ");
+#endif
+ wmem_map_remove(tcaphash_context, p_tcaphash_context->key);
+ }
+ } else { /* no context */
+#ifdef DEBUG_TCAPSRT
+ dbg(20,"No context to remove ");
+#endif
+ }
+}
+
+const value_string tcap_component_type_str[] = {
+ { TCAP_COMP_INVOKE, "Invoke" },
+ { TCAP_COMP_RRL, "Return Result(L)" },
+ { TCAP_COMP_RE, "Return Error" },
+ { TCAP_COMP_REJECT, "Reject" },
+ { TCAP_COMP_RRN, "Return Result(NL)" },
+ { 0, NULL }
+};
+
+static int
+dissect_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+
+ struct tcaphash_context_t * p_tcap_context;
+ dissector_handle_t subdissector_handle;
+ asn1_ctx_t asn1_ctx;
+ gint8 ber_class;
+ bool pc;
+ gint tag;
+ struct tcap_private_t *p_tcap_private;
+
+ /* Check if ANSI TCAP and call the ANSI TCAP dissector if that's the case
+ * PackageType ::= CHOICE { unidirectional [PRIVATE 1] IMPLICIT UniTransactionPDU,
+ * queryWithPerm [PRIVATE 2] IMPLICIT TransactionPDU,
+ * queryWithoutPerm [PRIVATE 3] IMPLICIT TransactionPDU,
+ * response [PRIVATE 4] IMPLICIT TransactionPDU,
+ * conversationWithPerm [PRIVATE 5] IMPLICIT TransactionPDU,
+ * conversationWithoutPerm [PRIVATE 6] IMPLICIT TransactionPDU,
+ * abort [PRIVATE 22] IMPLICIT Abort
+ * }
+ *
+ *
+ */
+ get_ber_identifier(tvb, 0, &ber_class, &pc, &tag);
+
+ if(ber_class == BER_CLASS_PRI){
+ switch (tag){
+
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 22:
+ return call_dissector(ansi_tcap_handle, tvb, pinfo, parent_tree);
+
+ default:
+ return tvb_captured_length(tvb);
+ }
+ }
+
+ /* ITU TCAP */
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ tcap_top_tree = parent_tree;
+ tcap_stat_tree = NULL;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "TCAP");
+
+ /* create display subtree for the protocol */
+ if(parent_tree){
+ item = proto_tree_add_item(parent_tree, proto_tcap, tvb, 0, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_tcap);
+ tcap_stat_tree=tree;
+ }
+ cur_oid = NULL;
+ tcapext_oid = NULL;
+
+ p_tcap_private = wmem_new0(pinfo->pool, struct tcap_private_t);
+ asn1_ctx.value_ptr = p_tcap_private;
+ gp_tcapsrt_info=tcapsrt_razinfo();
+ tcap_subdissector_used=FALSE;
+ gp_tcap_context=NULL;
+ dissect_tcap_TCMessage(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+
+ if (!tcap_subdissector_used ) {
+ p_tcap_context=tcapsrt_call_matching(tvb, pinfo, tcap_stat_tree, gp_tcapsrt_info);
+ p_tcap_private->context=p_tcap_context;
+
+ /* If the current message is TCAP only,
+ * save the Application Context Name for the next messages
+ */
+ if ( p_tcap_context && cur_oid && !p_tcap_context->oid_present ) {
+ /* Save the application context and the sub dissector */
+ (void) g_strlcpy(p_tcap_context->oid, cur_oid, sizeof(p_tcap_context->oid));
+ p_tcap_context->oid_present=TRUE;
+ if ( (subdissector_handle = dissector_get_string_handle(ber_oid_dissector_table, cur_oid)) ) {
+ p_tcap_context->subdissector_handle=subdissector_handle;
+ p_tcap_context->subdissector_present=TRUE;
+ }
+ }
+ if (p_tcap_context && p_tcap_context->callback) {
+ /* Callback fonction for the upper layer */
+ (p_tcap_context->callback)(tvb, pinfo, tcap_stat_tree, p_tcap_context);
+ }
+ }
+ return tvb_captured_length(tvb);
+}
+
+void
+proto_reg_handoff_tcap(void)
+{
+
+ data_handle = find_dissector("data");
+ ansi_tcap_handle = find_dissector_add_dependency("ansi_tcap", proto_tcap);
+ ber_oid_dissector_table = find_dissector_table("ber.oid");
+
+ ss7pc_address_type = address_type_get_by_name("AT_SS7PC");
+
+#include "packet-tcap-dis-tab.c"
+}
+
+static void init_tcap(void);
+static void cleanup_tcap(void);
+
+void
+proto_register_tcap(void)
+{
+
+/* Setup list of header fields See Section 1.6.1 for details*/
+ static hf_register_info hf[] = {
+ { &hf_tcap_tag,
+ { "Tag",
+ "tcap.msgtype",
+ FT_UINT8, BASE_HEX, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_tcap_length,
+ { "Length",
+ "tcap.len",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_tcap_data,
+ { "Data",
+ "tcap.data",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_tcap_tid,
+ { "Transaction Id",
+ "tcap.tid",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_tcap_constructor_eoc,
+ { "CONSTRUCTOR EOC",
+ "tcap.constructor_eoc",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }
+ },
+ /* Tcap Service Response Time */
+ { &hf_tcapsrt_SessionId,
+ { "Session Id",
+ "tcap.srt.session_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_tcapsrt_BeginSession,
+ { "Begin Session",
+ "tcap.srt.begin",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "SRT Begin of Session", HFILL }
+ },
+ { &hf_tcapsrt_EndSession,
+ { "End Session",
+ "tcap.srt.end",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "SRT End of Session", HFILL }
+ },
+ { &hf_tcapsrt_SessionTime,
+ { "Session duration",
+ "tcap.srt.sessiontime",
+ FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0,
+ "Duration of the TCAP session", HFILL }
+ },
+ { &hf_tcapsrt_Duplicate,
+ { "Session Duplicate",
+ "tcap.srt.duplicate",
+ FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ "SRT Duplicated with Session", HFILL }
+ },
+#include "packet-tcap-hfarr.c"
+ };
+
+/* Setup protocol subtree array */
+ static gint *ett[] = {
+ &ett_tcap,
+ &ett_param,
+ &ett_otid,
+ &ett_dtid,
+ &ett_tcap_stat,
+#include "packet-tcap-ettarr.c"
+ };
+
+ /*static enum_val_t tcap_options[] = {
+ { "itu", "ITU", ITU_TCAP_STANDARD },
+ { "ansi", "ANSI", ANSI_TCAP_STANDARD },
+ { NULL, NULL, 0 }
+ };*/
+
+ module_t *tcap_module;
+
+/* Register the protocol name and description */
+ proto_tcap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+/* Required function calls to register the header fields and subtrees used */
+ proto_register_field_array(proto_tcap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ ansi_sub_dissectors = register_dissector_table("ansi_tcap.ssn", "ANSI SSN", proto_tcap, FT_UINT8, BASE_DEC);
+ itu_sub_dissectors = register_dissector_table("itu_tcap.ssn", "ITU SSN", proto_tcap, FT_UINT8, BASE_DEC);
+
+ tcap_module = prefs_register_protocol(proto_tcap, NULL);
+
+#if 0
+ prefs_register_enum_preference(tcap_module, "standard", "ITU TCAP standard",
+ "The SS7 standard used in ITU TCAP packets",
+ &tcap_standard, tcap_options, FALSE);
+#else
+ prefs_register_obsolete_preference(tcap_module, "standard");
+#endif
+
+#if 0
+ prefs_register_bool_preference(tcap_module, "lock_info_col", "Lock Info column",
+ "Always show TCAP in Info column",
+ &lock_info_col);
+#else
+ prefs_register_obsolete_preference(tcap_module, "lock_info_col");
+#endif
+
+ /* Set default SSNs */
+ range_convert_str(wmem_epan_scope(), &global_ssn_range, "", MAX_SSN);
+
+ prefs_register_range_preference(tcap_module, "ssn", "SCCP SSNs",
+ "SCCP (and SUA) SSNs to decode as TCAP",
+ &global_ssn_range, MAX_SSN);
+
+ prefs_register_obsolete_preference(tcap_module, "srt");
+
+ prefs_register_bool_preference(tcap_module, "persistentsrt",
+ "Persistent stats for SRT",
+ "Statistics for Response Time",
+ &gtcap_PersistentSRT);
+
+ prefs_register_uint_preference(tcap_module, "repetitiontimeout",
+ "Repetition timeout",
+ "Maximal delay for message repetition",
+ 10, &gtcap_RepetitionTimeout);
+
+ prefs_register_uint_preference(tcap_module, "losttimeout",
+ "Lost timeout",
+ "Maximal delay for message lost",
+ 10, &gtcap_LostTimeout);
+
+ /* 'globally' register dissector */
+ tcap_handle = register_dissector("tcap", dissect_tcap, proto_tcap);
+
+ /* hash-tables for SRT */
+ tcaphash_context = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), tcaphash_context_calchash, tcaphash_context_equal);
+ tcaphash_begin = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), tcaphash_begin_calchash, tcaphash_begin_equal);
+ tcaphash_cont = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), tcaphash_cont_calchash, tcaphash_cont_equal);
+ tcaphash_end = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), tcaphash_end_calchash, tcaphash_end_equal);
+ tcaphash_ansi = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), tcaphash_ansi_calchash, tcaphash_ansi_equal);
+
+ register_init_routine(&init_tcap);
+ register_cleanup_routine(&cleanup_tcap);
+}
+
+
+static void range_delete_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if ( ssn && !get_ansi_tcap_subdissector(ssn) && !get_itu_tcap_subdissector(ssn) ) {
+ dissector_delete_uint("sccp.ssn", ssn, tcap_handle);
+ }
+}
+
+static void range_add_callback(guint32 ssn, gpointer ptr _U_)
+{
+ if (ssn && !get_ansi_tcap_subdissector(ssn) && !get_itu_tcap_subdissector(ssn) ) {
+ dissector_add_uint("sccp.ssn", ssn, tcap_handle);
+ }
+}
+
+
+static void init_tcap(void)
+{
+ ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
+ range_foreach(ssn_range, range_add_callback, NULL);
+
+ /* Reset the session counter */
+ tcapsrt_global_SessionId=1;
+
+ /* Display of SRT is enabled
+ * 1) For wireshark only if Persistent Stat is enabled
+ * 2) For tshark, if the CLI SRT tap is registered
+ */
+ gtcap_DisplaySRT=gtcap_PersistentSRT || gtcap_StatSRT;
+}
+
+static void cleanup_tcap(void)
+{
+ range_foreach(ssn_range, range_delete_callback, NULL);
+ wmem_free(wmem_epan_scope(), ssn_range);
+}
+
+static int
+dissect_tcap_param(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset)
+{
+ gint tag_offset, saved_offset, len_offset;
+ tvbuff_t *next_tvb;
+ proto_tree *subtree;
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ guint32 len;
+ guint32 tag_length;
+ guint32 len_length;
+ bool ind_field;
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0)
+ {
+ saved_offset = offset;
+
+ offset = get_ber_identifier(tvb, offset, &ber_class, &pc, &tag);
+ tag_offset = offset;
+ offset = get_ber_length(tvb, offset, &len, &ind_field);
+ len_offset = offset;
+
+ tag_length = tag_offset - saved_offset;
+ len_length = len_offset - tag_offset;
+
+ if (pc)
+ {
+ subtree = proto_tree_add_subtree(tree, tvb, saved_offset,
+ len + (len_offset - saved_offset), ett_param, NULL,
+ "CONSTRUCTOR");
+ proto_tree_add_uint_format(subtree, hf_tcap_tag, tvb,
+ saved_offset, tag_length, tag,
+ "CONSTRUCTOR Tag");
+ proto_tree_add_uint(subtree, hf_tcap_tag, tvb, saved_offset,
+ tag_length, ber_class);
+
+ proto_tree_add_uint(subtree, hf_tcap_length, tvb, tag_offset,
+ len_length, len);
+
+ if (len-(2*ind_field)) /*should always be positive unless we get an empty contructor pointless? */
+ {
+ next_tvb = tvb_new_subset_length(tvb, offset, len-(2*ind_field));
+ dissect_tcap_param(actx, subtree,next_tvb,0);
+ }
+
+ if (ind_field)
+ proto_tree_add_item(subtree, hf_tcap_constructor_eoc, tvb, offset+len-2, 2, ENC_BIG_ENDIAN);
+
+ offset += len;
+ }
+ else
+ {
+ subtree = proto_tree_add_subtree_format(tree, tvb, saved_offset,
+ len + (len_offset - saved_offset), ett_param, NULL,
+ "Parameter (0x%.2x)", tag);
+
+ proto_tree_add_uint(subtree, hf_tcap_tag, tvb, saved_offset,
+ tag_length, tag);
+
+ proto_tree_add_uint(subtree, hf_tcap_length, tvb,
+ saved_offset+tag_length, len_length, len);
+
+ if (len) /* check for NULLS */
+ {
+ next_tvb = tvb_new_subset_length(tvb, offset, len);
+ dissect_ber_octet_string(TRUE, actx, tree, next_tvb, 0,
+ hf_tcap_data, NULL);
+ }
+
+ offset += len;
+ }
+ }
+ return offset;
+}
+
+/*
+ * Call ITU Subdissector to decode the Tcap Component
+ */
+static bool
+dissect_tcap_ITU_ComponentPDU(bool implicit_tag _U_, tvbuff_t *tvb, int offset _U_, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_)
+{
+ dissector_handle_t subdissector_handle=NULL;
+ gboolean is_subdissector=FALSE;
+ struct tcaphash_context_t * p_tcap_context=NULL;
+ struct tcap_private_t *p_tcap_private = (struct tcap_private_t*)actx->value_ptr;
+
+ /*
+ * ok lets look at the oid and ssn and try and find a dissector, otherwise lets decode it.
+ */
+
+ /*
+ * Handle The TCAP Service Response Time
+ */
+ if (!tcap_subdissector_used) {
+ p_tcap_context=tcapsrt_call_matching(tvb, actx->pinfo, tcap_stat_tree, gp_tcapsrt_info);
+ tcap_subdissector_used=TRUE;
+ gp_tcap_context=p_tcap_context;
+ p_tcap_private->context=p_tcap_context;
+ } else {
+ /* Take the last TCAP context */
+ p_tcap_context = gp_tcap_context;
+ p_tcap_private->context=p_tcap_context;
+ }
+ if (p_tcap_context) {
+ if (cur_oid) {
+ if (p_tcap_context->oid_present) {
+ /* We have already an Application Context, check if we have
+ to fallback to a lower version */
+ if (strncmp(p_tcap_context->oid, cur_oid, sizeof(p_tcap_context->oid)) != 0) {
+ /* ACN, changed, Fallback to lower version
+ * and update the subdissector (purely formal)
+ */
+ (void) g_strlcpy(p_tcap_context->oid, cur_oid, sizeof(p_tcap_context->oid));
+ if ((subdissector_handle = dissector_get_string_handle(ber_oid_dissector_table, cur_oid))) {
+ p_tcap_context->subdissector_handle = subdissector_handle;
+ p_tcap_context->subdissector_present = TRUE;
+ }
+ }
+ } else {
+ /* We do not have the OID in the TCAP context, so store it */
+ (void) g_strlcpy(p_tcap_context->oid, cur_oid, sizeof(p_tcap_context->oid));
+ p_tcap_context->oid_present = TRUE;
+ /* Try to find a subdissector according to OID */
+ if ((subdissector_handle
+ = dissector_get_string_handle(ber_oid_dissector_table, cur_oid))) {
+ p_tcap_context->subdissector_handle = subdissector_handle;
+ p_tcap_context->subdissector_present = TRUE;
+ } else {
+ /* Not found, so try to find a subdissector according to SSN */
+ if ((subdissector_handle = get_itu_tcap_subdissector(actx->pinfo->match_uint))) {
+ /* Found according to SSN */
+ p_tcap_context->subdissector_handle = subdissector_handle;
+ p_tcap_context->subdissector_present = TRUE;
+ }
+ }
+ } /* context OID */
+ } else {
+ /* Copy the OID from the TCAP context to the current oid */
+ if (p_tcap_context->oid_present) {
+ p_tcap_private->oid = (void*)p_tcap_context->oid;
+ p_tcap_private->acv = TRUE;
+ }
+ } /* no OID */
+ } /* no TCAP context */
+
+
+ if (p_tcap_context
+ && p_tcap_context->subdissector_present) {
+ /* Take the subdissector from the context */
+ subdissector_handle = p_tcap_context->subdissector_handle;
+ is_subdissector = TRUE;
+ }
+
+ /* Have SccpUsersTable protocol taking precedence over sccp.ssn table */
+ if (!is_subdissector && requested_subdissector_handle) {
+ is_subdissector = TRUE;
+ subdissector_handle = requested_subdissector_handle;
+ }
+
+ if (!is_subdissector) {
+ /*
+ * If we do not currently know the subdissector, we have to find it
+ * - first, according to the OID
+ * - then according to the SSN
+ * - and at least, take the default Data handler
+ */
+ if (ber_oid_dissector_table && cur_oid) {
+ /* Search if we can find the sub protocol according to the A.C.N */
+ if ((subdissector_handle
+ = dissector_get_string_handle(ber_oid_dissector_table, cur_oid))) {
+ /* found */
+ is_subdissector = TRUE;
+ } else {
+ /* Search if we can found the sub protocol according to the SSN table */
+ if ((subdissector_handle
+ = get_itu_tcap_subdissector(actx->pinfo->match_uint))) {
+ /* Found according to SSN */
+ is_subdissector = TRUE;
+ } else {
+ /* Nothing found, take the Data handler */
+ subdissector_handle = data_handle;
+ is_subdissector = TRUE;
+ } /* SSN */
+ } /* ACN */
+ } else {
+ /* There is no A.C.N for this transaction, so search in the SSN table */
+ if ((subdissector_handle = get_itu_tcap_subdissector(actx->pinfo->match_uint))) {
+ /* Found according to SSN */
+ is_subdissector = TRUE;
+ } else {
+ subdissector_handle = data_handle;
+ is_subdissector = TRUE;
+ }
+ } /* OID */
+ } else {
+ /* We have it already */
+ }
+
+ /* Call the sub dissector if present, and not already called */
+ if (is_subdissector) {
+ gboolean is_active = call_dissector_only(subdissector_handle, tvb, actx->pinfo, tree, actx->value_ptr);
+ col_set_fence(actx->pinfo->cinfo, COL_INFO);
+ if(!is_active){
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+void
+call_tcap_dissector(dissector_handle_t handle, tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree)
+{
+ requested_subdissector_handle = handle;
+
+ TRY {
+ dissect_tcap(tvb, pinfo, tree, NULL);
+ } CATCH_ALL {
+ requested_subdissector_handle = NULL;
+ RETHROW;
+ } ENDTRY;
+
+ requested_subdissector_handle = NULL;
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/tcap/packet-tcap-template.h b/epan/dissectors/asn1/tcap/packet-tcap-template.h
new file mode 100644
index 00000000..8e3a6ccd
--- /dev/null
+++ b/epan/dissectors/asn1/tcap/packet-tcap-template.h
@@ -0,0 +1,214 @@
+/* packet-tcap.h
+ *
+ * Copyright 2004, Tim Endean <endeant@hotmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+
+#ifndef PACKET_tcap_H
+#define PACKET_tcap_H
+
+#include "ws_symbol_export.h"
+
+/* TCAP component type */
+#define TCAP_COMP_INVOKE 0xa1
+#define TCAP_COMP_RRL 0xa2
+#define TCAP_COMP_RE 0xa3
+#define TCAP_COMP_REJECT 0xa4
+#define TCAP_COMP_RRN 0xa7
+
+
+#define ANSI_TC_INVOKE_L 0xe9
+#define ANSI_TC_RRL 0xea
+#define ANSI_TC_RE 0xeb
+#define ANSI_TC_REJECT 0xec
+#define ANSI_TC_INVOKE_N 0xed
+#define ANSI_TC_RRN 0xee
+
+
+#define TCAP_SEQ_TAG 0x30
+#define TCAP_SET_TAG 0x31
+
+#define TCAP_INVOKE_ID_TAG 0x02
+#define TCAP_LINKED_ID_TAG 0x80
+
+#define TCAP_EOC_LEN 2
+
+#define TCAP_CONSTRUCTOR(TCtag) (TCtag & 0x20)
+
+#define TC_BEGIN 1
+#define TC_CONT 2
+#define TC_END 3
+#define TC_ABORT 4
+#define TC_ANSI_ABORT 5
+#define TC_ANSI_ALL 6
+
+struct tcap_private_t {
+ gboolean acv; /* Is the Application Context Version present */
+ const void * oid;
+ guint32 session_id;
+ void * context;
+ gchar *TransactionID_str;
+ guint32 src_tid;
+ guint32 dst_tid;
+};
+
+/** @file
+ * lists and hash tables used in wireshark's tcap dissector
+ * for calculation of delays in tcap-calls
+ */
+
+#define LENGTH_OID 23
+struct tcaphash_context_t {
+ struct tcaphash_context_key_t * key;
+ guint32 session_id;
+ guint32 first_frame;
+ guint32 last_frame;
+ nstime_t begin_time; /**< time of arrival of TC_BEGIN */
+ nstime_t end_time; /**< time of closing message */
+ gboolean responded; /**< true, if request has been responded */
+ gboolean closed;
+ gboolean upper_dissector;
+ gboolean oid_present;
+ gchar oid[LENGTH_OID+1];
+ gboolean subdissector_present;
+ dissector_handle_t subdissector_handle;
+ void (* callback) (tvbuff_t *,packet_info *, proto_tree *, struct tcaphash_context_t *);
+ struct tcaphash_begincall_t * begincall;
+ struct tcaphash_contcall_t * contcall;
+ struct tcaphash_endcall_t * endcall;
+ struct tcaphash_ansicall_t * ansicall;
+};
+
+struct tcaphash_begincall_t {
+ struct tcaphash_begin_info_key_t * beginkey;
+ struct tcaphash_context_t * context;
+ gboolean father;
+ struct tcaphash_begincall_t * next_begincall;
+ struct tcaphash_begincall_t * previous_begincall;
+};
+
+struct tcaphash_contcall_t {
+ struct tcaphash_cont_info_key_t * contkey;
+ struct tcaphash_context_t * context;
+ gboolean father;
+ struct tcaphash_contcall_t * next_contcall;
+ struct tcaphash_contcall_t * previous_contcall;
+};
+
+struct tcaphash_endcall_t {
+ struct tcaphash_end_info_key_t * endkey;
+ struct tcaphash_context_t * context;
+ gboolean father;
+ struct tcaphash_endcall_t * next_endcall;
+ struct tcaphash_endcall_t * previous_endcall;
+};
+
+struct tcaphash_ansicall_t {
+ struct tcaphash_ansi_info_key_t * ansikey;
+ struct tcaphash_context_t * context;
+ gboolean father;
+ struct tcaphash_ansicall_t * next_ansicall;
+ struct tcaphash_ansicall_t * previous_ansicall;
+};
+
+/** The Key for the hash table is the TCAP origine transaction identifier
+ of the TC_BEGIN containing the InitialDP */
+
+struct tcaphash_context_key_t {
+ guint32 session_id;
+};
+
+struct tcaphash_begin_info_key_t {
+ guint32 hashKey;
+ guint32 tid;
+ guint32 pc_hash;
+};
+
+struct tcaphash_cont_info_key_t {
+ guint32 hashKey;
+ guint32 src_tid;
+ guint32 dst_tid;
+ guint32 opc_hash;
+ guint32 dpc_hash;
+};
+
+struct tcaphash_end_info_key_t {
+ guint32 hashKey;
+ guint32 tid;
+ guint32 opc_hash;
+ guint32 dpc_hash;
+};
+
+struct tcaphash_ansi_info_key_t {
+ guint32 hashKey;
+ guint32 tid;
+ guint32 opc_hash;
+ guint32 dpc_hash;
+};
+
+
+/** List of infos to store for the analyse */
+struct tcapsrt_info_t {
+ guint32 tcap_session_id;
+ guint32 src_tid;
+ guint32 dst_tid;
+ guint8 ope;
+};
+
+/**
+ * Initialize the Message Info used by the main dissector
+ * Data are linked to a TCAP transaction
+ */
+struct tcapsrt_info_t * tcapsrt_razinfo(void);
+
+void tcapsrt_close(struct tcaphash_context_t * p_tcaphash_context,
+ packet_info * pinfo _U_);
+
+/**
+ * Service Response Time analyze
+ * Called just after dissector call
+ * Associate a TCAP context to a tcap session and display session related infomations
+ * like the first frame, the last, the session duration,
+ * and a uniq session identifier for the filtering
+ *
+ * For ETSI tcap, the TCAP context can be reached through three keys
+ * - a key (BEGIN) identifying the session according to the tcap source identifier
+ * - a key (CONT) identifying the established session (src_id and dst_id)
+ * - a key (END) identifying the session according to the tcap destination identifier
+ *
+ * For ANSI tcap, the TCAP context is reached through a uniq key
+ * - a key (ANSI) identifying the session according to the tcap identifier
+*/
+struct tcaphash_context_t * tcapsrt_call_matching(tvbuff_t *tvb,
+ packet_info * pinfo _U_,
+ proto_tree *tree,
+ struct tcapsrt_info_t * p_tcap_info);
+
+WS_DLL_PUBLIC gboolean gtcap_StatSRT;
+
+extern gint tcap_standard;
+
+extern const value_string tcap_component_type_str[];
+void proto_reg_handoff_tcap(void);
+void proto_register_tcap(void);
+
+extern dissector_handle_t get_itu_tcap_subdissector(guint32 ssn);
+dissector_handle_t get_ansi_tcap_subdissector(guint32 ssn);
+
+extern void add_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);
+WS_DLL_PUBLIC void add_itu_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);
+
+extern void delete_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);
+WS_DLL_PUBLIC void delete_itu_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);
+
+extern void call_tcap_dissector(dissector_handle_t, tvbuff_t*, packet_info*, proto_tree*);
+
+#include "packet-tcap-exp.h"
+
+#endif /* PACKET_tcap_H */
diff --git a/epan/dissectors/asn1/tcap/tcap.asn b/epan/dissectors/asn1/tcap/tcap.asn
new file mode 100644
index 00000000..c9b8d442
--- /dev/null
+++ b/epan/dissectors/asn1/tcap/tcap.asn
@@ -0,0 +1,246 @@
+TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
+
+DEFINITIONS ::=
+
+BEGIN
+
+--EXPORTS OPERATION, ERROR, Component, InvokeId Type;
+-- WS stuff
+ExternalPDU ::= [UNIVERSAL 8] IMPLICIT SEQUENCE
+ {
+ oid OBJECT IDENTIFIER,
+ dialog [0] IMPLICIT Dialog1
+ }
+
+
+Dialog1 ::= OCTET STRING
+-- End WS
+-- Transaction Portion fields
+
+TCMessage ::= CHOICE {
+ unidirectional [APPLICATION 1] IMPLICIT Unidirectional,
+ begin [APPLICATION 2] IMPLICIT Begin,
+ end [APPLICATION 4] IMPLICIT End,
+ continue [APPLICATION 5] IMPLICIT Continue,
+ abort [APPLICATION 7] IMPLICIT Abort
+}
+
+Unidirectional ::= SEQUENCE{
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion
+ }
+
+Begin ::= SEQUENCE{
+ otid OrigTransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion OPTIONAL
+ }
+
+End ::= SEQUENCE{
+ dtid DestTransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion OPTIONAL
+ }
+
+
+Continue ::= SEQUENCE {
+ otid OrigTransactionID,
+ dtid DestTransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion OPTIONAL
+ }
+
+Abort ::= SEQUENCE{
+ dtid DestTransactionID,
+ reason Reason OPTIONAL
+ }
+
+Reason ::= CHOICE{
+ p-abortCause P-AbortCause,
+ u-abortCause DialoguePortion
+ }
+
+-- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be
+-- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT
+-- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
+-- abstract syntax.
+
+--DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL
+
+-- WS adaptation
+DialoguePortion ::= [APPLICATION 11] IMPLICIT DialogueOC
+DialogueOC ::= OCTET STRING
+
+-- The dialogue portion carries the dialogue control PDUs as value of the external data type.
+-- The direct reference should be set to { ccitt recommendation q 773 as (1) dialogue-as (1) version (1) }
+-- if structured dialogue is used and to { ccitt recommendation q 773 as (1) unidialogue-as (2) version (1) }
+-- if unstructured dialogue is used or any user defined abstract syntax name when only user information
+-- is carried (e.g. when user information is sent in a 1988 Abort message).
+
+OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
+
+DestTransactionID ::=[APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )
+
+P-AbortCause ::= [APPLICATION 10] IMPLICIT INTEGER {
+ unrecognizedMessageType (0),
+ unrecognizedTransactionID (1),
+ badlyFormattedTransactionPortion (2),
+ incorrectTransactionPortion (3),
+ resourceLimitation (4)}(0..127)
+
+-- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the Component Portion.
+-- The Component Portion may be absent.
+
+ComponentPortion ::= [APPLICATION 12] IMPLICIT SEQUENCE SIZE (1..MAX) OF Component
+
+-- Component Portion fields
+-- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking
+-- operations, returning results or error, and for the rejection of invalid PDUs.
+-- TCAP adds returnResultNotLast to allow for the segmentation of a result.
+
+Component ::= CHOICE {
+ invoke [1] IMPLICIT Invoke,
+ returnResultLast [2] IMPLICIT ReturnResult,
+ returnError [3] IMPLICIT ReturnError,
+ reject [4] IMPLICIT Reject,
+ returnResultNotLast [7] IMPLICIT ReturnResult
+ }
+
+-- The Components are sequences of data elements.
+
+Invoke ::= SEQUENCE {
+ invokeID InvokeIdType,
+ linkedID [0] IMPLICIT InvokeIdType OPTIONAL,
+ opCode OPERATION,
+ parameter Parameter OPTIONAL }
+
+Parameter ::= ANY
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT
+-- in the type definition of a particular operation.
+
+ReturnResult ::= SEQUENCE {
+ invokeID InvokeIdType,
+ resultretres SEQUENCE {
+ opCode OPERATION,
+ parameter Parameter OPTIONAL
+ } OPTIONAL
+ }
+
+-- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition
+-- of a particular operation.
+
+ReturnError ::= SEQUENCE {
+ invokeID InvokeIdType,
+ errorCode ErrorCode,
+ parameter Parameter OPTIONAL }
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
+-- of a particular error.
+
+Reject ::= SEQUENCE {
+ invokeIDRej CHOICE {
+ derivable InvokeIdType,
+ not-derivable NULL },
+ problem CHOICE {
+ generalProblem [0] IMPLICIT GeneralProblem,
+ invokeProblem [1] IMPLICIT InvokeProblem,
+ returnResultProblem [2] IMPLICIT ReturnResultProblem,
+ returnErrorProblem [3] IMPLICIT ReturnErrorProblem } }
+
+InvokeIdType ::= INTEGER (-128..127)
+
+
+OPERATION ::= CHOICE {
+ localValue INTEGER,
+ globalValue OBJECT IDENTIFIER }
+
+ERROR ::= CHOICE {
+ localValue INTEGER,
+ globalValue OBJECT IDENTIFIER }
+
+-- OPERATIONS
+
+-- Operations are specified with the OPERATION MACRO.
+-- When an operation is specified, the valid parameter set, results, and errors for that operation are indicated.
+-- Default values and optional parameters are permitted.
+
+--OPERATION MACRO ::=
+
+--BEGIN
+-- TYPE NOTATION ::= Parameter Result Errors LinkedOperations
+-- VALUE NOTATION ::= value (VALUE CHOICE {
+-- localValue INTEGER,
+-- globalValue OBJECT IDENTIFIER } )
+-- Parameter ::= ArgKeyword NamedType | empty
+-- ArgKeyword ::= "ARGUMENT" | "PARAMETER"
+-- Result ::= "RESULT" ResultType | empty
+-- Errors ::= "ERRORS" "{"ErrorNames"}" | empty
+-- LinkedOperations ::= "LINKED" "{"LinkedOperationNames"}" | empty
+-- ResultType ::= NamedType | empty
+-- ErrorNames ::= ErrorList | empty
+-- ErrorList ::= Error | ErrorList "," Error
+-- Error ::= value (ERROR)
+ -- shall reference an error value
+ --| type shall reference an error type
+ -- if no error value is specified
+
+-- LinkedOperationNames ::= OperationList | empty
+-- OperationList ::= Operation | OperationList "," Operation
+-- Operation ::= value (OPERATION)
+ -- shall reference an operation value
+-- | type shall reference an operation type if
+ -- no operation value is specified
+-- NamedType ::= identifier type | type
+--END
+
+-- ERRORS
+
+-- Errors are specified with the ERROR MACRO.
+-- When an error is specified, the valid parameters for that error are indicated.
+-- Default values and optional parameters are permitted.
+
+--ERROR MACRO ::=
+--
+--BEGIN
+-- TYPE NOTATION ::= Parameter
+-- VALUE NOTATION ::= value (VALUE CHOICE {
+-- localValue INTEGER,
+-- globalValue OBJECT IDENTIFIER } )
+-- Parameter ::= "PARAMETER" NamedType | empty
+-- NamedType ::= identifier type | type
+--END
+
+-- PROBLEMS
+
+GeneralProblem ::= INTEGER { unrecognizedComponent (0),
+ mistypedComponent (1),
+ badlyStructuredComponent (2) }
+
+InvokeProblem ::= INTEGER { duplicateInvokeID (0),
+ unrecognizedOperation (1),
+ mistypedParameter (2),
+ resourceLimitation (3),
+ initiatingRelease (4),
+ unrecognizedLinkedID (5),
+ linkedResponseUnexpected (6),
+ unexpectedLinkedOperation (7) }
+
+ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnResultUnexpected (1),
+ mistypedParameter (2) }
+
+ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnErrorUnexpected (1),
+ unrecognizedError (2),
+ unexpectedError (3),
+ mistypedParameter (4) }
+
+
+ErrorCode ::= CHOICE
+ {
+ nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767),
+ privateer [PRIVATE 20] IMPLICIT INTEGER
+ }
+
+END -- end of the TCAP Package Module
diff --git a/epan/dissectors/asn1/tcap/tcap.cnf b/epan/dissectors/asn1/tcap/tcap.cnf
new file mode 100644
index 00000000..7e52d38c
--- /dev/null
+++ b/epan/dissectors/asn1/tcap/tcap.cnf
@@ -0,0 +1,281 @@
+# tcap.cnf
+# tcap conformation file
+
+#.OMIT_ASSIGNMENT
+RLRQ-apdu
+RLRE-apdu
+Release-request-reason
+Release-response-reason
+ERROR
+#.END
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+DialoguePDU
+UniDialoguePDU
+
+#.REGISTER
+DialoguePDU B "0.0.17.773.1.1.1" "id-as-dialogue"
+UniDialoguePDU B "0.0.17.773.1.2.1" "id-as-uniDialogue"
+
+#.PDU
+
+
+#.NO_EMIT ONLY_VALS
+TCMessage
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+AUDT-apdu/_untag/protocol-version AUDT_protocol_version
+AARQ-apdu/_untag/protocol-version AARQ_protocol_version
+AARE-apdu/_untag/protocol-version AARE_protocol_version
+
+AARE-apdu/_untag/application-context-name AARE_application_context_name
+AARQ-apdu/_untag/application-context-name AARQ_application_context_name
+AUDT-apdu/_untag/application-context-name AUDT_application_context_name
+
+AARQ-apdu/_untag/user-information AARQ_user_information
+AARE-apdu/_untag/user-information AARE_user_information
+ABRT-apdu/_untag/user-information ABRT_user_information
+AUDT-apdu/_untag/user-information AUDT_user_information
+
+#.FIELD_RENAME
+AUDT-apdu/_untag/protocol-version audt_protocol_version
+AARQ-apdu/_untag/protocol-version aarq_protocol_version
+AARE-apdu/_untag/protocol-version aare_protocol_version
+
+AARQ-apdu/_untag/application-context-name aarq_application_context_name
+AARE-apdu/_untag/application-context-name aare_application_context_name
+AUDT-apdu/_untag/application-context-name audt_application_context_name
+
+AARQ-apdu/_untag/user-information aarq_user_information
+AARE-apdu/_untag/user-information aare_user_information
+AUDT-apdu/_untag/user-information audt_user_information
+ABRT-apdu/_untag/user-information abrt_user_information
+#.END
+
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY DialogueOC
+
+ offset = dissect_tcap_ExternalPDU(FALSE /*implicit_tag*/, tvb, offset, actx, tree, -1);
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY ExternalPDU
+
+%(DEFAULT_BODY)s
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY Dialog1
+
+ offset = dissect_tcap_DialoguePDU(TRUE, tvb, offset, actx, tree, -1);
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY Parameter
+
+ offset = dissect_tcap_param(actx,tree,tvb,offset);
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY Component
+ tvbuff_t *next_tvb;
+ gint8 ber_class;
+ bool pc;
+ gint tag;
+ guint32 len, comp_offset;
+ volatile guint32 _offset;
+ bool ind_field;
+
+ comp_offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ comp_offset = dissect_ber_length(actx->pinfo, tree, tvb, comp_offset, &len, &ind_field);
+ /* we can believe the length now */
+ next_tvb = tvb_new_subset_length(tvb, offset, len+comp_offset-offset);
+
+ if (!next_tvb)
+ return comp_offset;
+ if(dissect_tcap_ITU_ComponentPDU(implicit_tag, next_tvb, 0, actx, tcap_top_tree, hf_index)){
+ return comp_offset;
+ }
+
+ _offset = offset;
+ TRY {
+ _offset = dissect_ber_choice(actx, tree, tvb, _offset,
+ Component_choice, hf_index, ett_tcap_Component,
+ NULL);
+ }
+ CATCH_NONFATAL_ERRORS {
+ show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
+ }
+ ENDTRY;
+ offset = _offset;
+
+/* return comp_offset+len; or return offset (will be automatically added) */
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY AUDT-apdu/_untag/application-context-name FN_VARIANT = _str VAL_PTR = &cur_oid
+ struct tcap_private_t *p_tcap_private = (struct tcap_private_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+ if (p_tcap_private) {
+ p_tcap_private->oid= (const void*) cur_oid;
+ p_tcap_private->acv=TRUE;
+ }
+#----------------------------------------------------------------------------------------
+#.FN_BODY AARQ-apdu/_untag/application-context-name FN_VARIANT = _str VAL_PTR = &cur_oid
+ struct tcap_private_t *p_tcap_private = (struct tcap_private_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+ if (p_tcap_private) {
+ p_tcap_private->oid= (const void*) cur_oid;
+ p_tcap_private->acv=TRUE;
+ }
+#----------------------------------------------------------------------------------------
+#.FN_BODY AARE-apdu/_untag/application-context-name FN_VARIANT = _str VAL_PTR = &cur_oid
+ struct tcap_private_t *p_tcap_private = (struct tcap_private_t*)actx->value_ptr;
+%(DEFAULT_BODY)s
+ if (p_tcap_private) {
+ p_tcap_private->oid= (const void*) cur_oid;
+ p_tcap_private->acv=TRUE;
+ }
+#----------------------------------------------------------------------------------------
+#.FN_BODY OrigTransactionID
+ tvbuff_t *parameter_tvb;
+ guint8 len, i;
+ proto_tree *subtree;
+ int saved_offset;
+ struct tcap_private_t *p_tcap_private = (struct tcap_private_t*)actx->value_ptr;
+
+ hf_index = hf_tcap_tid;
+ saved_offset = offset;
+%(DEFAULT_BODY)s
+ proto_item_set_generated(actx->created_item);
+ offset = saved_offset;
+
+ subtree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_otid, NULL, "Source Transaction ID");
+ offset = dissect_ber_octet_string(implicit_tag, actx, subtree, tvb, offset, hf_tcap_otid,
+ &parameter_tvb);
+
+ if (parameter_tvb) {
+ len = tvb_reported_length_remaining(parameter_tvb, 0);
+ switch(len) {
+ case 1:
+ gp_tcapsrt_info->src_tid=tvb_get_guint8(parameter_tvb, 0);
+ break;
+ case 2:
+ gp_tcapsrt_info->src_tid=tvb_get_ntohs(parameter_tvb, 0);
+ break;
+ case 3:
+ gp_tcapsrt_info->src_tid=tvb_get_ntoh24(parameter_tvb, 0);
+ break;
+ case 4:
+ gp_tcapsrt_info->src_tid=tvb_get_ntohl(parameter_tvb, 0);
+ break;
+ default:
+ gp_tcapsrt_info->src_tid=0;
+ break;
+ }
+ if (p_tcap_private)
+ p_tcap_private->src_tid = gp_tcapsrt_info->src_tid;
+
+ if (len) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "otid(");
+ for (i = 0; i < len; i++) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%02x",tvb_get_guint8(parameter_tvb,i));
+ }
+ col_append_str(actx->pinfo->cinfo, COL_INFO, ") ");
+ }
+ }
+
+#----------------------------------------------------------------------------------------
+#.FN_BODY DestTransactionID
+ tvbuff_t *parameter_tvb;
+ guint8 len , i;
+ proto_tree *subtree;
+ int saved_offset;
+ struct tcap_private_t *p_tcap_private = (struct tcap_private_t*)actx->value_ptr;
+
+ hf_index = hf_tcap_tid;
+ saved_offset = offset;
+%(DEFAULT_BODY)s
+ proto_item_set_generated(actx->created_item);
+ offset = saved_offset;
+
+ subtree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_dtid, NULL, "Destination Transaction ID");
+ offset = dissect_ber_octet_string(implicit_tag, actx, subtree, tvb, offset, hf_tcap_dtid,
+ &parameter_tvb);
+
+ if (parameter_tvb) {
+ len = tvb_reported_length_remaining(parameter_tvb, 0);
+ switch(len) {
+ case 1:
+ gp_tcapsrt_info->dst_tid=tvb_get_guint8(parameter_tvb, 0);
+ break;
+ case 2:
+ gp_tcapsrt_info->dst_tid=tvb_get_ntohs(parameter_tvb, 0);
+ break;
+ case 3:
+ gp_tcapsrt_info->dst_tid=tvb_get_ntoh24(parameter_tvb, 0);
+ break;
+ case 4:
+ gp_tcapsrt_info->dst_tid=tvb_get_ntohl(parameter_tvb, 0);
+ break;
+ default:
+ gp_tcapsrt_info->dst_tid=0;
+ break;
+ }
+ if (p_tcap_private)
+ p_tcap_private->dst_tid = gp_tcapsrt_info->dst_tid;
+
+ if (len) {
+ col_append_str(actx->pinfo->cinfo, COL_INFO, "dtid(");
+ for(i = 0; i < len; i++) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%02x",tvb_get_guint8(parameter_tvb,i));
+ }
+ col_append_str(actx->pinfo->cinfo, COL_INFO, ") ");
+ }
+ }
+#.FN_HDR Begin
+gp_tcapsrt_info->ope=TC_BEGIN;
+
+/* Do not change col_add_str() to col_append_str() here: we _want_ this call
+ * to overwrite whatever's currently in the INFO column (e.g., "UDT" from
+ * the SCCP dissector).
+ *
+ * If there's something there that should not be overwritten, whoever
+ * put that info there should call col_set_fence() to protect it.
+ */
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "Begin ");
+#.END
+
+
+#.FN_HDR End
+gp_tcapsrt_info->ope=TC_END;
+
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "End ");
+#.END
+
+
+#.FN_HDR Continue
+gp_tcapsrt_info->ope=TC_CONT;
+
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "Continue ");
+#.END
+
+
+#.FN_HDR Abort
+gp_tcapsrt_info->ope=TC_ABORT;
+
+ col_set_str(actx->pinfo->cinfo, COL_INFO, "Abort ");
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/tcg-cp-oids/CMakeLists.txt b/epan/dissectors/asn1/tcg-cp-oids/CMakeLists.txt
new file mode 100644
index 00000000..ce9e4db3
--- /dev/null
+++ b/epan/dissectors/asn1/tcg-cp-oids/CMakeLists.txt
@@ -0,0 +1,42 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME tcg-cp-oids )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ tcg-cp-oids.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/tcg-cp-oids/packet-tcg-cp-oids-template.c b/epan/dissectors/asn1/tcg-cp-oids/packet-tcg-cp-oids-template.c
new file mode 100644
index 00000000..ab8bc3d2
--- /dev/null
+++ b/epan/dissectors/asn1/tcg-cp-oids/packet-tcg-cp-oids-template.c
@@ -0,0 +1,103 @@
+/* packet-tcg-cp-oids.c
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-tcg-cp-oids.h"
+#include "packet-ber.h"
+#include "packet-pkix1explicit.h"
+#include "packet-pkix1implicit.h"
+
+#define PNAME "TCG_CP_OIDS"
+#define PSNAME "TCG_CP_OIDS"
+#define PFNAME "tcg_cp_oids"
+
+void proto_register_tcg_cp_oids(void);
+void proto_reg_handoff_tcg_cp_oids(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_tcg_cp_oids = -1;
+#include "packet-tcg-cp-oids-hf.c"
+static int hf_tcg_cp_oids_UTF8String_PDU = -1;
+
+/* Initialize the subtree pointers */
+#include "packet-tcg-cp-oids-ett.c"
+#include "packet-tcg-cp-oids-fn.c"
+
+
+/*--- proto_register_tcg_cp_oids ----------------------------------------------*/
+void proto_register_tcg_cp_oids(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_tcg_cp_oids_UTF8String_PDU,
+ { "UTF8String", "tcg-cp-oids.UTF8String",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-tcg-cp-oids-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-tcg-cp-oids-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_tcg_cp_oids = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_tcg_cp_oids, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+}
+
+/* to be able to register OIDs for UTF8String */
+static int
+dissect_tcg_cp_oids_UTF8String_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t actx;
+ asn1_ctx_init(&actx, ASN1_ENC_BER, TRUE, pinfo);
+ offset = dissect_ber_restricted_string(FALSE, BER_UNI_TAG_UTF8String, &actx, tree, tvb, offset, hf_tcg_cp_oids_UTF8String_PDU, NULL);
+ return offset;
+}
+
+/*--- proto_reg_handoff_tcg_cp_oids -------------------------------------------*/
+void proto_reg_handoff_tcg_cp_oids(void) {
+#include "packet-tcg-cp-oids-dis-tab.c"
+ oid_add_from_string("tcg","2.23.133");
+ oid_add_from_string("tcg-attribute","2.23.133.2");
+ oid_add_from_string("tcg-protocol","2.23.133.3");
+ oid_add_from_string("tcg-algorithm","2.23.133.4");
+ oid_add_from_string("tcg-ce","2.23.133.6");
+ oid_add_from_string("tcg-kp","2.23.133.8");
+ /* TCG Spec Version OIDs */
+ oid_add_from_string("tcg-sv-tpm12","2.23.133.1.1");
+ oid_add_from_string("tcg-sv-tpm20","2.23.133.1.2");
+ /* TCG Attribute OIDs */
+ oid_add_from_string("tcg-at-securityQualities","2.23.133.2.10");
+ /* TCG Algorithm OIDs */
+ oid_add_from_string("tcg-algorithm-null","2.23.133.4.1");
+ /* TCG Key Purposes OIDs */
+ oid_add_from_string("tcg-kp-EKCertificate","2.23.133.8.1");
+ oid_add_from_string("tcg-kp-PlatformCertificate","2.23.133.8.2");
+ oid_add_from_string("tcg-kp-AIKCertificate","2.23.133.8.3");
+ /* TCG Protocol OIDs */
+ oid_add_from_string("tcg-prt-tpmIdProtocol","2.23.133.3.1");
+
+ register_ber_oid_dissector("2.23.133.2.1", dissect_tcg_cp_oids_UTF8String_PDU, proto_tcg_cp_oids, "tcg-at-tpmManufacturer");
+ register_ber_oid_dissector("2.23.133.2.2", dissect_tcg_cp_oids_UTF8String_PDU, proto_tcg_cp_oids, "tcg-at-tpmModel");
+ register_ber_oid_dissector("2.23.133.2.3", dissect_tcg_cp_oids_UTF8String_PDU, proto_tcg_cp_oids, "tcg-at-tpmVersion");
+ register_ber_oid_dissector("2.23.133.2.4", dissect_tcg_cp_oids_UTF8String_PDU, proto_tcg_cp_oids, "tcg-at-platformManufacturer");
+ register_ber_oid_dissector("2.23.133.2.5", dissect_tcg_cp_oids_UTF8String_PDU, proto_tcg_cp_oids, "tcg-at-platformModel");
+ register_ber_oid_dissector("2.23.133.2.6", dissect_tcg_cp_oids_UTF8String_PDU, proto_tcg_cp_oids, "tcg-at-platformVersion");
+ register_ber_oid_dissector("2.23.133.2.15", dissect_tcg_cp_oids_UTF8String_PDU, proto_tcg_cp_oids, "tcg-at-tpmIdLabel");
+}
diff --git a/epan/dissectors/asn1/tcg-cp-oids/packet-tcg-cp-oids-template.h b/epan/dissectors/asn1/tcg-cp-oids/packet-tcg-cp-oids-template.h
new file mode 100644
index 00000000..8ec299cd
--- /dev/null
+++ b/epan/dissectors/asn1/tcg-cp-oids/packet-tcg-cp-oids-template.h
@@ -0,0 +1,16 @@
+/* packet-tcg-cp-oids.h
+ * Routines for TCG Certificate Profile OIDs
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_TCG_CP_OIDS_H
+#define PACKET_TCG_CP_OIDS_H
+
+#include "packet-tcg-cp-oids-exp.h"
+
+#endif /* PACKET_TCG_CP_OIDS_H */
diff --git a/epan/dissectors/asn1/tcg-cp-oids/tcg-cp-oids.asn b/epan/dissectors/asn1/tcg-cp-oids/tcg-cp-oids.asn
new file mode 100644
index 00000000..8331796a
--- /dev/null
+++ b/epan/dissectors/asn1/tcg-cp-oids/tcg-cp-oids.asn
@@ -0,0 +1,294 @@
+--
+-- ASN.1 extracted from
+-- TCG EK Credential Profile
+-- For TPM Family 2.0; Level 0
+-- Specification Version 2.0
+-- Revision 14
+-- 4 November 2014
+-- https://www.trustedcomputinggroup.org/wp-content/uploads/Credential_Profile_EK_V2.0_R14_published.pdf
+-- on 2018-10-02, and heavily polished + bug fixed for asn2wrs
+
+TCG DEFINITIONS::=
+
+BEGIN
+
+IMPORTS
+
+-- Additional IMPORT for Wireshark
+ AlgorithmIdentifier
+ FROM PKIX1Explicit88 {iso(1) identified-organization(3)
+ dod(6) internet(1) security(5) mechanisms(5) pkix(7)
+ id-mod(0) id-pkix1-explicit-88(1)};
+
+-- TCG specific OIDs
+-- tcg OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) international-organizations(23) tcg(133) }
+-- tcg-tcpaSpecVersion OBJECT IDENTIFIER ::= {tcg 1}
+-- tcg-attribute OBJECT IDENTIFIER ::= {tcg 2}
+-- tcg-protocol OBJECT IDENTIFIER ::= {tcg 3}
+-- tcg-algorithm OBJECT IDENTIFIER ::= {tcg 4}
+-- tcg-ce OBJECT IDENTIFIER ::= {tcg 6}
+-- tcg-kp OBJECT IDENTIFIER ::= {tcg 8}
+-- TCG Spec Version OIDs
+-- tcg-sv-tpm12 OBJECT IDENTIFIER ::= { tcg-tcpaSpecVersion 1}
+-- tcg-sv-tpm20 OBJECT IDENTIFIER ::= { tcg-tcpaSpecVersion 2}
+-- TCG Attribute OIDs
+-- tcg-at-tpmManufacturer OBJECT IDENTIFIER ::= {tcg-attribute 1}
+-- tcg-at-tpmModel OBJECT IDENTIFIER ::= {tcg-attribute 2}
+-- tcg-at-tpmVersion OBJECT IDENTIFIER ::= {tcg-attribute 3}
+-- tcg-at-platformManufacturer OBJECT IDENTIFIER ::= {tcg-attribute 4}
+-- tcg-at-platformModel OBJECT IDENTIFIER ::= {tcg-attribute 5}
+-- tcg-at-platformVersion OBJECT IDENTIFIER ::= {tcg-attribute 6}
+-- tcg-at-securityQualities OBJECT IDENTIFIER ::= {tcg-attribute 10}
+-- tcg-at-tpmProtectionProfile OBJECT IDENTIFIER ::= {tcg-attribute 11}
+-- tcg-at-tpmSecurityTarget OBJECT IDENTIFIER ::= {tcg-attribute 12}
+-- tcg-at-tbbProtectionProfile OBJECT IDENTIFIER ::= {tcg-attribute 13}
+-- tcg-at-tbbSecurityTarget OBJECT IDENTIFIER ::= {tcg-attribute 14}
+-- tcg-at-tpmIdLabel OBJECT IDENTIFIER ::= {tcg-attribute 15}
+-- tcg-at-tpmSpecification OBJECT IDENTIFIER ::= {tcg-attribute 16}
+-- tcg-at-tcgPlatformSpecification OBJECT IDENTIFIER ::= {tcg-attribute 17}
+-- tcg-at-tpmSecurityAssertions OBJECT IDENTIFIER ::= {tcg-attribute 18}
+-- tcg-at-tbbSecurityAssertions OBJECT IDENTIFIER ::= {tcg-attribute 19}
+-- TCG Algorithm OIDs
+-- tcg-algorithm-null OBJECT IDENTIFIER ::= {tcg-algorithm 1}
+-- TCG Key Purposes OIDs
+-- tcg-kp-EKCertificate OBJECT IDENTIFIER ::= {tcg-kp 1}
+-- tcg-kp-PlatformCertificate OBJECT IDENTIFIER ::= {tcg-kp 2}
+-- tcg-kp-AIKCertificate OBJECT IDENTIFIER ::= {tcg-kp 3}
+-- TCG Certificate Extensions
+-- tcg-ce-relevantCredentials OBJECT IDENTIFIER ::= {tcg-ce 2}
+-- tcg-ce-relevantManifests OBJECT IDENTIFIER ::= {tcg-ce 3}
+-- tcg-ce-virtualPlatformAttestationService OBJECT IDENTIFIER ::= {tcg-ce 4}
+-- tcg-ce-migrationControllerAttestationService OBJECT IDENTIFIER ::= {tcg-ce 5}
+-- tcg-ce-migrationControllerRegistrationService OBJECT IDENTIFIER ::= {tcg-ce 6}
+-- tcg-ce-virtualPlatformBackupService OBJECT IDENTIFIER ::= {tcg-ce 7}
+-- TCG Protocol OIDs
+-- tcg-prt-tpmIdProtocol OBJECT IDENTIFIER ::= {tcg-protocol 1}
+-- tcg specification attributes for tpm and platform
+
+-- tPMSpecification ATTRIBUTE ::= {
+-- WITH SYNTAX TPMSpecification
+-- ID tcg-at-tpmSpecification }
+
+TPMSpecification ::= SEQUENCE {
+family UTF8String, -- (SIZE (1..STRMAX)),
+level INTEGER,
+revision INTEGER }
+
+-- tCGPlatformSpecification ATTRIBUTE ::= {
+-- WITH SYNTAX TCGPlatformSpecification
+-- ID tcg-at-tcgPlatformSpecification }
+
+TCGSpecificationVersion ::= SEQUENCE {
+majorVersion INTEGER,
+minorVersion INTEGER,
+revision INTEGER }
+
+TCGPlatformSpecification ::= SEQUENCE {
+version TCGSpecificationVersion,
+platformClass OCTET STRING } -- SIZE(4) }
+
+-- tcpa tpm specification attribute (deprecated)
+-- tCPASpecVersion ATTRIBUTE ::= {
+-- WITH SYNTAX TCPASpecVersion
+-- ID tcg-tcpaSpecVersion }
+
+TCPASpecVersion ::= SEQUENCE {
+major INTEGER,
+minor INTEGER }
+
+-- manufacturer implementation model and version attributes
+-- TPMManufacturer ATTRIBUTE ::= {
+-- WITH SYNTAX UTF8String (SIZE (1..STRMAX))
+-- ID tcg-at-tpmManufacturer }
+-- TPMModel ATTRIBUTE ::= {
+-- WITH SYNTAX UTF8String (SIZE (1..STRMAX))
+-- ID tcg-at-tpmModel }
+-- TPMVersion ATTRIBUTE ::= {
+-- WITH SYNTAX UTF8String (SIZE (1..STRMAX))
+-- ID tcg-at-tpmVersion }
+-- PlatformManufacturer ATTRIBUTE ::= {
+-- WITH SYNTAX UTF8String (SIZE (1..STRMAX))
+-- ID tcg-at-platformManufacturer }
+-- PlatformModel ATTRIBUTE ::= {
+-- WITH SYNTAX UTF8String (SIZE (1..STRMAX))
+-- ID tcg-at-platformModel }
+-- PlatformVersion ATTRIBUTE ::= {
+-- WITH SYNTAX UTF8String (SIZE (1..STRMAX))
+-- ID tcg-at-platformVersion }
+-- tpm and platform tbb security assertions
+
+-- TODO: Wireshark dissection of version could be added
+Version ::= INTEGER -- { v1(0) }
+
+-- tPMSecurityAssertions ATTRIBUTE ::= {
+-- WITH SYNTAX TPMSecurityAssertions
+-- ID tcg—at-tpmSecurityAssertions
+-- }
+
+TPMSecurityAssertions ::= SEQUENCE {
+version Version DEFAULT v1,
+fieldUpgradable BOOLEAN DEFAULT FALSE,
+ekGenerationType [0] IMPLICIT EKGenerationType OPTIONAL,
+ekGenerationLocation [1] IMPLICIT EKGenerationLocation OPTIONAL,
+ekCertificateGenerationLocation [2] IMPLICIT
+EKCertificateGenerationLocation OPTIONAL,
+ccInfo [3] IMPLICIT CommonCriteriaMeasures OPTIONAL,
+fipsLevel [4] IMPLICIT FIPSLevel OPTIONAL,
+iso9000Certified [5] IMPLICIT BOOLEAN DEFAULT FALSE,
+iso9000Uri IA5String OPTIONAL } -- (SIZE (1..URIMAX)) OPTIONAL }
+
+-- tBBSecurityAssertions ATTRIBUTE ::= {
+-- WITH SYNTAX TBBSecurityAssertions
+-- ID tcg—at-tbbSecurityAssertions }
+
+TBBSecurityAssertions ::= SEQUENCE {
+version Version DEFAULT v1,
+ccInfo [0] IMPLICIT CommonCriteriaMeasures OPTIONAL,
+fipsLevel [1] IMPLICIT FIPSLevel OPTIONAL,
+rtmType [2] IMPLICIT MeasurementRootType OPTIONAL,
+iso9000Certified BOOLEAN DEFAULT FALSE,
+iso9000Uri IA5String OPTIONAL } -- (SIZE (1..URIMAX)) OPTIONAL }
+
+EKGenerationType ::= ENUMERATED {
+internal (0),
+injected (1),
+internalRevocable(2),
+injectedRevocable(3) }
+
+EKGenerationLocation ::= ENUMERATED {
+tpmManufacturer (0),
+platformManufacturer (1),
+ekCertSigner (2) }
+
+EKCertificateGenerationLocation ::= ENUMERATED {
+tpmManufacturer (0),
+platformManufacturer (1),
+ekCertSigner (2) }
+
+-- V1.1 of this specification adds hybrid and physical.
+-- Hybrid means the measurement root is capable of static AND dynamic
+-- Physical means that the root is anchored by a physical TPM
+-- Virtual means the TPM is virtualized (possibly running in a VMM)
+-- TPMs or RTMs might leverage other lower layer RTMs to virtualize the
+-- the capabilities of the platform.
+
+MeasurementRootType ::= ENUMERATED {
+static (0),
+dynamic (1),
+nonHost (2),
+hybrid (3),
+physical (4),
+virtual (5) }
+
+-- common criteria evaluation
+CommonCriteriaMeasures ::= SEQUENCE {
+version IA5String, -- (SIZE (1..STRMAX)), “2.2†or “3.1â€; future syntax defined by CC
+assurancelevel EvaluationAssuranceLevel,
+evaluationStatus EvaluationStatus,
+plus BOOLEAN DEFAULT FALSE,
+strengthOfFunction [0] IMPLICIT StrengthOfFunction OPTIONAL,
+profileOid [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
+profileUri [2] IMPLICIT URIReference OPTIONAL,
+targetOid [3] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
+targetUri [4] IMPLICIT URIReference OPTIONAL }
+
+EvaluationAssuranceLevel ::= ENUMERATED {
+levell (1),
+level2 (2),
+level3 (3),
+level4 (4),
+level5 (5),
+level6 (6),
+level7 (7) }
+
+StrengthOfFunction ::= ENUMERATED {
+basic (0),
+medium (1),
+high (2) }
+
+URIReference ::= SEQUENCE {
+uniformResourceIdentifier IA5String, -- (SIZE (1..URIMAX)),
+hashAlgorithm AlgorithmIdentifier OPTIONAL,
+hashValue BIT STRING OPTIONAL }
+
+EvaluationStatus ::= ENUMERATED {
+designedToMeet (0),
+evaluationInProgress (1),
+evaluationCompleted (2) }
+-- fips evaluation
+
+FIPSLevel ::= SEQUENCE {
+version IA5String, -- (SIZE (1..STRMAX)), “140-1†or “140-2â€
+level SecurityLevel,
+plus BOOLEAN DEFAULT FALSE }
+
+SecurityLevel ::= ENUMERATED {
+level1 (1),
+level2 (2),
+level3 (3),
+level4 (4) }
+
+-- aik certificate label from tpm owner
+--TPMIdLabel OTHER-NAME ::= {UTF8String IDENTIFIED BY {tcg-at-tpmIdLabel} }
+-- the following are deprecated but may be present for compatibility with TCPA
+
+-- TPMProtectionProfile ATTRIBUTE ::= {
+-- WITH SYNTAX ProtectionProfile
+-- ID tcg-at-tpmProtectionProfile }
+-- TPMSecurityTarget ATTRIBUTE ::= {
+-- WITH SYNTAX SecurityTarget
+-- ID tcg-at-tpmSecurityTarget }
+--
+-- TBBProtectionProfile ATTRIBUTE ::= {
+-- WITH SYNTAX ProtectionProfile
+-- ID tcg-at-tbbProtectionProfile }
+-- TBBSecurityTarget ATTRIBUTE ::= {
+-- WITH SYNTAX SecurityTarget
+-- ID tcg-at-tbbSecurityTarget }
+
+ProtectionProfile ::= OBJECT IDENTIFIER
+
+SecurityTarget ::= OBJECT IDENTIFIER
+
+-- V1.1 addition for enabling references to other credentials or
+-- XML-based Reference Manifests. These data objects are included
+-- in X.509 extensions using the new tcg-ce-[relevantCredentials,
+-- relevantManifests] OIDs.
+
+HashAlgAndValue ::= SEQUENCE {
+hashAlg AlgorithmIdentifier,
+hashValue OCTET STRING }
+
+HashedSubjectInfoURI ::= SEQUENCE {
+documentURI IA5String, -- (SIZE (1..URIMAX)),
+documentAccessInfo OBJECT IDENTIFIER OPTIONAL,
+documentHashInfo HashAlgAndValue OPTIONAL }
+
+-- Use of SubjectInfoURIList is not specified anywhere, therefore commented out for Wireshark in cnf file
+SubjectInfoURIList ::=
+SEQUENCE -- SIZE (1..REFMAX) -- OF HashedSubjectInfoURI
+
+TCGRelevantCredentials::=
+SEQUENCE -- SIZE (1..REFMAX) -- OF HashedSubjectInfoURI
+
+TCGRelevantManifests::=
+SEQUENCE -- SIZE (1..REFMAX) -- OF HashedSubjectInfoURI
+
+-- V1.2 addition of virtualization oriented credential extensions.
+-- This extension indicates how a remote challenger can contact the (deep) attestation service below the current credential holder in order to attest the layer below.
+-- Using this model allows the credential of each virtualization layer to reference the attestation service for the layer below it.
+-- A remote challenger could traverse the layer hierarchy using this extension until reaching the physical trusted platform rooted attestation.
+-- The following URI is optionally included in a certificate for a virtual machine associated with the tcg-ce-virtualPlatformAttestationService extension OID.
+-- These URI are associated with the tcg-ce-[virtualPlatformAttestationService,
+-- migrationControllerAttestationService, migrationControllerRegistrationService, virtualPlatformBackupService] OIDs respectively:
+VirtualPlatformAttestationServiceURI ::= IA5String -- (SIZE (1..URIMAX)
+
+MigrationControllerAttestationServiceURI ::= IA5String -- (SIZE (1..URIMAX)
+
+MigrationControllerRegistrationServiceURI ::= IA5String -- (SIZE (1..URIMAX)
+
+VirtualPlatformBackupServiceURI ::= SEQUENCE {
+restoreAllowed BOOLEAN DEFAULT FALSE,
+backupServiceURI IA5String }
+
+END
diff --git a/epan/dissectors/asn1/tcg-cp-oids/tcg-cp-oids.cnf b/epan/dissectors/asn1/tcg-cp-oids/tcg-cp-oids.cnf
new file mode 100644
index 00000000..4a68bc28
--- /dev/null
+++ b/epan/dissectors/asn1/tcg-cp-oids/tcg-cp-oids.cnf
@@ -0,0 +1,62 @@
+# tcg-cp-OID.cnf
+# Trusted Computing Group Certificate Profile OIDs conformation file
+
+#.MODULE_IMPORT
+PKIX1Explicit88 pkix1explicit
+#.INCLUDE ../pkix1explicit/pkix1explicit_exp.cnf
+
+
+#.OMIT_ASSIGNMENT
+SubjectInfoURIList
+#.END
+
+#.EXPORTS
+
+#.REGISTER
+
+TCPASpecVersion B "2.23.133.1" "tcg-tcpaSpecVersion"
+
+ProtectionProfile B "2.23.133.2.11" "tcg-at-tpmProtectionProfile"
+SecurityTarget B "2.23.133.2.12" "tcg-at-tpmSecurityTarget"
+ProtectionProfile B "2.23.133.2.13" "tcg-at-tbbProtectionProfile"
+SecurityTarget B "2.23.133.2.14" "tcg-at-tbbSecurityTarget"
+TPMSpecification B "2.23.133.2.16" "tcg-at-tpmSpecification"
+TCGPlatformSpecification B "2.23.133.2.17" "tcg-at-tcgPlatformSpecification"
+TPMSecurityAssertions B "2.23.133.2.18" "tcg-at-tpmSecurityAssertions"
+TBBSecurityAssertions B "2.23.133.2.19" "tcg-at-tbbSecurityAssertions"
+
+# TCG Certificate Extensions
+# this is a guess for SubjectInfoURIList, whose use is not specified anywhere
+#SubjectInfoURIList B "2.23.133.6.1" "tcg-ce-subjectInfoURIList"
+TCGRelevantCredentials B "2.23.133.6.2" "tcg-ce-relevantCredentials"
+TCGRelevantManifests B "2.23.133.6.3" "tcg-ce-relevantManifests"
+
+VirtualPlatformAttestationServiceURI B "2.23.133.6.4" "tcg-ce-virtualPlatformAttestationService"
+MigrationControllerAttestationServiceURI B "2.23.133.6.5" "tcg-ce-migrationControllerAttestationService"
+MigrationControllerRegistrationServiceURI B "2.23.133.6.6" "tcg-ce-migrationControllerRegistrationService"
+VirtualPlatformBackupServiceURI B "2.23.133.6.7" "tcg-ce-virtualPlatformBackupService"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+HashAlgAndValue/hashValue hash_alg_and_value_hashvalue
+URIReference/hashValue uri_reference_hashvalue
+
+TPMSpecification/level tpm_specification_level
+FIPSLevel/level fips_security_level
+
+TPMSecurityAssertions/version security_assertions_version
+TBBSecurityAssertions/version security_assertions_version
+
+TCGPlatformSpecification/version tcg_specification_vesion
+
+CommonCriteriaMeasures/version cc_measures_version_string
+FIPSLevel/version fips_level_version_string
+
+
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/tetra/CMakeLists.txt b/epan/dissectors/asn1/tetra/CMakeLists.txt
new file mode 100644
index 00000000..cd602a47
--- /dev/null
+++ b/epan/dissectors/asn1/tetra/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME tetra )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ${PROTOCOL_NAME}.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -u )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/tetra/packet-tetra-template.c b/epan/dissectors/asn1/tetra/packet-tetra-template.c
new file mode 100644
index 00000000..d3be1021
--- /dev/null
+++ b/epan/dissectors/asn1/tetra/packet-tetra-template.c
@@ -0,0 +1,632 @@
+/* packet-tetra.c
+ * Routines for TETRA packet dissection
+ *
+ * Copyright (c) 2007 - 2011 Professional Mobile Communication Research Group,
+ * Beijing Institute of Technology, China
+ * Copyright (c) 2011 Holger Hans Peter Freyther
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * REF: ETSI EN 300 392-2 V3.2.1
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/expert.h>
+#include <epan/prefs.h>
+#include <epan/oids.h>
+#include <epan/conversation.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-tetra.h"
+
+#define PROTO_TAG_tetra "TETRA"
+
+void proto_register_tetra(void);
+void proto_reg_handoff_tetra(void);
+
+/* Wireshark ID of the tetra protocol */
+static int proto_tetra = -1;
+
+static dissector_handle_t tetra_handle;
+
+#define TETRA_UDP_PORT 7074 /* Not IANA assigned */
+
+/* Whether the capture data include carrier numbers */
+static gboolean include_carrier_number = TRUE;
+
+/* The following hf_* variables are used to hold the Wireshark IDs of
+* our header fields; they are filled out when we call
+* proto_register_field_array() in proto_register_tetra()
+*/
+/** Kts attempt at defining the protocol */
+static gint hf_tetra = -1;
+static gint hf_tetra_header = -1;
+static gint hf_tetra_channels = -1;
+static gint hf_tetra_channel1 = -1;
+static gint hf_tetra_channel2 = -1;
+static gint hf_tetra_channel3 = -1;
+static gint hf_tetra_txreg = -1;
+static gint hf_tetra_timer = -1;
+static gint hf_tetra_pdu = -1;
+static gint hf_tetra_rvstr = -1;
+static gint hf_tetra_carriernumber = -1;
+static gint hf_tetra_rxchannel1 = -1;
+static gint hf_tetra_rxchannel2 = -1;
+static gint hf_tetra_rxchannel3 = -1;
+static gint hf_tetra_crc = -1;
+static gint hf_tetra_len0 = -1;
+
+#include "packet-tetra-hf.c"
+
+/* Initialize the subtree pointers */
+/* These are the ids of the subtrees that we may be creating */
+static gint ett_tetra = -1;
+static gint ett_tetra_header = -1;
+static gint ett_tetra_length = -1;
+static gint ett_tetra_txreg = -1;
+static gint ett_tetra_text = -1;
+
+#include "packet-tetra-ett.c"
+
+static expert_field ei_tetra_channels_incorrect = EI_INIT;
+
+#include "packet-tetra-fn.c"
+
+static const value_string channeltypenames[] = {
+ { 0, "Reserved" },
+ { 1, "AACH" },
+ { 2, "SCH/F" },
+ { 3, "SCH/HD" },
+ { 4, "Unknown" },
+ { 5, "BSCH" },
+ { 6, "BNCH" },
+ { 7, "TCH/F" },
+ { 8, "TCH/H" },
+ { 9, "TCH4.8"},
+ { 10, "TCH7.2"},
+ { 11, "STCH"},
+ { 0, NULL }
+};
+
+static const value_string recvchanneltypenames[] = {
+ { 0, "Reserved" },
+ { 1, "AACH" },
+ { 2, "SCH/F" },
+ { 3, "SCH/HD" },
+ { 4, "Unknown" },
+ { 5, "BSCH" },
+ { 6, "BNCH" },
+ { 7, "TCH/F" },
+ { 8, "TCH/H" },
+ { 9, "TCH4.8"},
+ { 10, "TCH7.2"},
+ { 11, "STCH"},
+ { 15, "SCH/HU"},
+ { 0, NULL }
+};
+
+/* Get the length of received pdu */
+static gint get_rx_pdu_length(guint32 channel_type)
+{
+ gint len = 0;
+
+ switch(channel_type) {
+ case TETRA_CHAN_AACH:
+ len = 14;
+ break;
+ case TETRA_CHAN_SCH_F:
+ len = 268;
+ break;
+ case TETRA_CHAN_SCH_D:
+ len = 124; ;
+ break;
+ case TETRA_CHAN_BSCH:
+ len = 60;
+ break;
+ case TETRA_CHAN_BNCH:
+ len = 124;
+ break;
+ case TETRA_CHAN_TCH_F:
+ len = 274;
+ break;
+ case TETRA_CHAN_TCH_H:
+ len = 137;
+ break;
+ case TETRA_CHAN_TCH_2_4:
+ len = 144;
+ break;
+ case TETRA_CHAN_TCH_4_8:
+ len = 288;
+ break;
+ case TETRA_CHAN_STCH:
+ len = 124;
+ break;
+ case TETRA_CHAN_SCH_HU:
+ len = 92;
+ break;
+ default:
+ len = 0;
+ break;
+ }
+
+ return len;
+}
+
+/* Get the length of transmitted pdu */
+static gint get_tx_pdu_length(guint32 channel_type)
+{
+ gint len = 0;
+
+ switch(channel_type) {
+ case TETRA_CHAN_AACH:
+ len = 14;
+ break;
+ case TETRA_CHAN_SCH_F:
+ len = 268;
+ break;
+ case TETRA_CHAN_SCH_D:
+ len = 124;
+ break;
+ case TETRA_CHAN_BSCH:
+ len = 60;
+ break;
+ case TETRA_CHAN_BNCH:
+ len = 124;
+ break;
+ case TETRA_CHAN_TCH_F:
+ len = 274;
+ break;
+ case TETRA_CHAN_TCH_H:
+ len = 137;
+ break;
+ case TETRA_CHAN_TCH_2_4:
+ len = 144;
+ break;
+ case TETRA_CHAN_TCH_4_8:
+ len = 288;
+ break;
+ case TETRA_CHAN_STCH:
+ len = 124;
+ break;
+ }
+
+ return len;
+}
+
+void tetra_dissect_pdu(int channel_type, int dir, tvbuff_t *pdu, proto_tree *tree, packet_info *pinfo)
+{
+ proto_item *tetra_sub_item;
+ proto_tree *tetra_sub_tree;
+ guint8 p;
+
+ tetra_sub_item = proto_tree_add_item(tree, hf_tetra_pdu,
+ pdu, 0, tvb_captured_length(pdu), ENC_NA);
+
+ tetra_sub_tree = proto_item_add_subtree(tetra_sub_item, ett_tetra);
+
+ switch(channel_type) {
+ case TETRA_CHAN_AACH:
+ dissect_AACH_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case TETRA_CHAN_SCH_F:
+ p = tvb_get_guint8(pdu, 0);
+ switch(p >> 6) {
+ case 0:
+ if (dir == TETRA_DOWNLINK)
+ dissect_MAC_RESOURCE_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ else
+ dissect_MAC_DATA_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case 1: /* MAC-FRAG or MAC-END */
+ if((p >> 5) == 3) {
+ if (dir == TETRA_DOWNLINK)
+ dissect_MAC_END_DOWNLINK_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ else
+ dissect_MAC_END_UPLINK_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+
+ } else
+ dissect_MAC_FRAG_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case 2:
+ dissect_MAC_ACCESS_DEFINE_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ }
+ break;
+ case TETRA_CHAN_SCH_D:
+ p = tvb_get_guint8(pdu, 0);
+ switch(p >> 6) {
+ case 0:
+ dissect_MAC_RESOURCE_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case 1: /* MAC-FRAG or MAC-END */
+ if((p >> 5) == 3)
+ dissect_MAC_END_DOWN111_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ else
+ dissect_MAC_FRAG120_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case 2:
+ dissect_MAC_ACCESS_DEFINE_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ }
+ break;
+ case TETRA_CHAN_SCH_HU:
+ p = tvb_get_guint8(pdu, 0);
+ switch(p >> 7) {
+ case 0: /* MAC-ACCESS */
+ dissect_MAC_ACCESS_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case 1: /* MAC-END-HU */
+ dissect_MAC_END_HU_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ }
+ break;
+ case TETRA_CHAN_BSCH:
+ col_append_sep_str(pinfo->cinfo, COL_INFO, NULL, "BSCH");
+ dissect_BSCH_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case TETRA_CHAN_BNCH:
+ col_append_sep_str(pinfo->cinfo, COL_INFO, NULL, "BNCH");
+ dissect_BNCH_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case TETRA_CHAN_STCH:
+ p = tvb_get_guint8(pdu, 0);
+ switch(p >> 6) {
+ case 0:
+ dissect_MAC_RESOURCE_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case 1: /* MAC-FRAG or MAC-END */
+ if((p >> 5) == 3) {
+ if (dir == TETRA_DOWNLINK)
+ dissect_MAC_END_DOWN111_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ else
+ dissect_MAC_END_UP114_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ } else
+ dissect_MAC_FRAG120_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ case 2:
+ dissect_MAC_ACCESS_DEFINE_PDU(pdu, pinfo, tetra_sub_tree, NULL);
+ break;
+ }
+ break;
+ case TETRA_CHAN_TCH_F:
+ col_append_sep_str(pinfo->cinfo, COL_INFO, NULL, "Voice");
+ break;
+ }
+}
+
+static void dissect_tetra_UNITDATA_IND(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tetra_tree, int offset)
+{
+ guint32 rxreg = 0;
+ guint32 channels = 0, i;
+ guint32 channel_type;
+ gint pdu_offset = 0;
+ proto_item *tetra_sub_item;
+ proto_tree *tetra_header_tree = NULL;
+ tvbuff_t *payload_tvb;
+
+ /* Length */
+ rxreg = tvb_get_letohl(tvb, offset);
+ proto_tree_add_uint(tetra_tree, hf_tetra_len0, tvb, offset, 4, rxreg);
+
+ /* RvSteR */
+ offset += 4;
+ rxreg = tvb_get_letohl(tvb, offset);
+ proto_tree_add_uint(tetra_tree, hf_tetra_rvstr, tvb, offset, 4, rxreg);
+
+ /* Logical channels */
+ channels = rxreg & 0x3;
+ tetra_sub_item = proto_tree_add_uint( tetra_tree, hf_tetra_channels, tvb, offset, 4, channels );
+ tetra_header_tree = proto_item_add_subtree(tetra_sub_item, ett_tetra);
+ if (channels > 3) {
+ expert_add_info(pinfo, tetra_sub_item, &ei_tetra_channels_incorrect);
+ channels = 3;
+ }
+
+ pdu_offset = offset + 4;
+ for(i = 0; i < channels; i++) {
+ gint byte_len, bits_len, remaining_bits;
+ gint hf_channel[3];
+
+ hf_channel[0] = hf_tetra_rxchannel1;
+ hf_channel[1] = hf_tetra_rxchannel2;
+ hf_channel[2] = hf_tetra_rxchannel3;
+
+ /* Channel type */
+ channel_type = (rxreg >> ((i + 1) * 4) ) & 0xf;
+ proto_tree_add_uint( tetra_header_tree, hf_channel[i], tvb, offset, 4, channel_type);
+
+ /* CRC */
+ proto_tree_add_boolean( tetra_header_tree, hf_tetra_crc, tvb, offset, 4, !(rxreg >> (i + 2) & 0x01));
+
+ /* PDU */
+ bits_len = get_rx_pdu_length(channel_type);
+ byte_len = bits_len >> 3;
+ remaining_bits = bits_len % 8;
+ if ((remaining_bits)!=0)
+ byte_len++;
+
+ payload_tvb = tvb_new_subset_length(tvb, pdu_offset, byte_len);
+ tetra_dissect_pdu(channel_type, TETRA_UPLINK, payload_tvb, tetra_header_tree, pinfo);
+
+ if ((remaining_bits)!=0)
+ byte_len--;
+ pdu_offset += byte_len;
+ }
+}
+
+static void dissect_tetra_UNITDATA_REQ(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tetra_tree, int offset)
+{
+ guint32 txreg = 0;
+ guint32 channels = 0, i;
+ guint32 channel_type;
+ gint pdu_offset = 0;
+ proto_item *tetra_sub_item = NULL;
+ proto_tree *tetra_header_tree = NULL;
+ tvbuff_t *payload_tvb;
+
+ /* TxR */
+ txreg = tvb_get_letohl(tvb, offset);
+ proto_tree_add_uint(tetra_tree, hf_tetra_txreg, tvb, offset, 4, txreg);
+
+ /* Logical channels */
+ channels = (txreg & 0x3) + 1;
+ tetra_sub_item = proto_tree_add_uint( tetra_tree, hf_tetra_channels, tvb, offset, 4, channels );
+ tetra_header_tree = proto_item_add_subtree(tetra_sub_item, ett_tetra);
+ txreg >>= 2;
+ /* Skip 0000B */
+ if(channels == 2)
+ txreg >>= 4;
+
+ if (channels > 3) {
+ expert_add_info(pinfo, tetra_sub_item, &ei_tetra_channels_incorrect);
+ channels = 3;
+ }
+
+ pdu_offset = offset + 4;
+ for(i = 0; i < channels; i++) {
+ gint byte_len, bits_len, remaining_bits;
+ gint hf_channel[3];
+
+ hf_channel[0] = hf_tetra_channel1;
+ hf_channel[1] = hf_tetra_channel2;
+ hf_channel[2] = hf_tetra_channel3;
+
+ channel_type = txreg & 0xf;
+ proto_tree_add_uint( tetra_header_tree, hf_channel[i], tvb, offset, 4, channel_type);
+ txreg >>= 4;
+ /* PDU */
+ bits_len = get_tx_pdu_length(channel_type);
+ byte_len = bits_len >> 3;
+ remaining_bits = bits_len % 8;
+ if ((remaining_bits)!=0)
+ byte_len++;
+
+ payload_tvb = tvb_new_subset_length(tvb, pdu_offset, byte_len);
+ tetra_dissect_pdu(channel_type, TETRA_DOWNLINK, payload_tvb, tetra_header_tree, pinfo);
+ pdu_offset += byte_len;
+ }
+}
+
+static int
+dissect_tetra(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ proto_item *tetra_item = NULL;
+ proto_item *tetra_sub_item = NULL;
+ proto_tree *tetra_tree = NULL;
+ proto_tree *tetra_header_tree = NULL;
+ guint16 type = 0;
+ guint8 carriernumber = -1;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PROTO_TAG_tetra);
+ /* Clear out stuff in the info column */
+ col_clear(pinfo->cinfo,COL_INFO);
+
+ /*
+ * This is not a good way of dissecting packets. The tvb length should
+ * be sanity checked so we aren't going past the actual size of the buffer.
+ */
+ type = tvb_get_guint8(tvb, 0);
+
+ if(include_carrier_number) {
+ carriernumber = tvb_get_guint8(tvb, 1);
+ }
+
+
+ switch(type) {
+ case 1:
+ if(include_carrier_number)
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Tetra-UNITDATA-REQ, Carrier: %d",
+ carriernumber);
+ else
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Tetra-UNITDATA-REQ");
+ break;
+ case 2:
+ if(include_carrier_number)
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Tetra-UNITDATA-IND, Carrier: %d",
+ carriernumber);
+ else
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Tetra-UNITDATA-IND");
+ break;
+ case 3:
+ if(include_carrier_number)
+ col_add_fstr(pinfo->cinfo, COL_INFO, "MAC-Timer, Carrier: %d",
+ carriernumber);
+ else
+ col_add_fstr(pinfo->cinfo, COL_INFO, "MAC-Timer");
+ break;
+ case 127:
+ if(include_carrier_number)
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Tetra-UNITDATA-IND Done, Carrier: %d",
+ carriernumber);
+ else
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Tetra-UNITDATA-IND Done");
+ break;
+ case 128:
+ if(include_carrier_number)
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Tetra-UNITDATA-REQ Done, Carrier: %d",
+ carriernumber);
+ else
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Tetra-UNITDATA-REQ Done");
+ break;
+ default:
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Unknown command: %d", type);
+ break;
+ }
+
+ /* if (tree) */ { /* we are being asked for details */
+ guint32 offset = 0;
+ guint32 txtimer = 0;
+ guint32 tslot = 0;
+
+ tetra_item = proto_tree_add_item(tree, proto_tetra, tvb, 0, -1, ENC_NA);
+ tetra_tree = proto_item_add_subtree(tetra_item, ett_tetra);
+
+ offset ++;
+
+ /* Carrier number */
+ if(include_carrier_number) {
+ proto_tree_add_uint(tetra_tree, hf_tetra_carriernumber, tvb, offset, 1, carriernumber);
+ offset ++;
+ }
+
+ /* Registers */
+ tetra_sub_item = proto_tree_add_item( tetra_tree, hf_tetra_header, tvb, offset, -1, ENC_NA );
+ tetra_header_tree = proto_item_add_subtree(tetra_sub_item, ett_tetra);
+
+ /* Timer */
+ txtimer = tvb_get_letohl(tvb, offset);
+ tetra_sub_item = proto_tree_add_item(tetra_header_tree, hf_tetra_timer, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ tslot = ((txtimer & 0x7800) >> 11);
+ if(tslot==4)
+ tslot = 3;
+ if(tslot==8)
+ tslot = 4;
+ proto_item_append_text(tetra_sub_item, " (Multiple frame: %d, Frame: %d, Slot: %d)",
+ txtimer & 0x3F, (txtimer & 0x7c0) >> 6,
+ tslot);
+
+ offset += 4;
+
+ switch(type) {
+ case 1: /* tetra-UNITDATA-REQ */
+ case 128: /* tetra-UNITDATA-REQ Done */
+ dissect_tetra_UNITDATA_REQ(tvb, pinfo, tetra_header_tree, offset);
+ break;
+ case 2: /* tetra-UNITDATA-IND */
+ case 127: /* tetra-UNITDATA-IND Done */
+ dissect_tetra_UNITDATA_IND(tvb, pinfo, tetra_header_tree, offset);
+ break;
+ case 3: /* MAC-Timer */
+ break;
+ default:
+ break;
+ }
+ }
+ return tvb_captured_length(tvb);
+}
+
+void proto_reg_handoff_tetra(void)
+{
+ dissector_add_uint_with_preference("udp.port", TETRA_UDP_PORT, tetra_handle);
+}
+
+
+void proto_register_tetra (void)
+{
+ module_t *tetra_module;
+ expert_module_t* expert_tetra;
+
+ /*
+ * A header field is something you can search/filter on.
+ *
+ * We create a structure to register our fields. It consists of an
+ * array of hf_register_info structures, each of which are of the format
+ * {&(field id), {name, abbrev, type, display, strings, bitmask, blurb, HFILL}}.
+ */
+ static hf_register_info hf[] = {
+ { &hf_tetra,
+ { "Data", "tetra.data", FT_NONE, BASE_NONE, NULL, 0x0,
+ "tetra PDU", HFILL }},
+ { &hf_tetra_header,
+ { "Registers", "tetra.header", FT_NONE, BASE_NONE, NULL, 0x0,
+ "TETRA Registers", HFILL }},
+ { &hf_tetra_channels,
+ { "Logical Channels", "tetra.channels", FT_UINT8, BASE_DEC, NULL, 0x0,
+ "The amount of logical channels", HFILL }},
+ { &hf_tetra_channel1,
+ { "Channel 1", "tetra.txchannel1", FT_UINT8, BASE_DEC, VALS(channeltypenames), 0x0,
+ "Logical channels type", HFILL }},
+ { &hf_tetra_channel2,
+ { "Channel 2", "tetra.txchannel2", FT_UINT8, BASE_DEC, VALS(channeltypenames), 0x0,
+ "Logical channels type", HFILL }},
+ { &hf_tetra_channel3,
+ { "Channel 3", "tetra.txchannel3", FT_UINT8, BASE_DEC, VALS(channeltypenames), 0x0,
+ "Logical channels type", HFILL }},
+ { &hf_tetra_txreg,
+ { "TxR", "tetra.txreg", FT_UINT32, BASE_HEX, NULL, 0x0,
+ "TX Register", HFILL }},
+ { &hf_tetra_rvstr,
+ { "RvSteR", "tetra.rvster", FT_UINT32, BASE_HEX, NULL, 0x0,
+ "Receive Status Register", HFILL }},
+ { &hf_tetra_carriernumber,
+ { "Carrier Number", "tetra.carrier", FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+ { &hf_tetra_rxchannel1,
+ { "Channel 1", "tetra.rxchannel1", FT_UINT8, BASE_DEC, VALS(recvchanneltypenames), 0x0,
+ "Logical channels type", HFILL }},
+ { &hf_tetra_rxchannel2,
+ { "Channel 2", "tetra.rxchannel2", FT_UINT8, BASE_DEC, VALS(recvchanneltypenames), 0x0,
+ "Logical channels type", HFILL }},
+ { &hf_tetra_rxchannel3,
+ { "Channel 3", "tetra.rxchannel3", FT_UINT8, BASE_DEC, VALS(recvchanneltypenames), 0x0,
+ "Logical channels type", HFILL }},
+ { &hf_tetra_timer,
+ { "Timer", "tetra.timer", FT_UINT32, BASE_HEX, NULL, 0x0,
+ "Timer Register", HFILL }},
+ { &hf_tetra_crc,
+ { "CRC", "tetra.crc", FT_BOOLEAN, BASE_NONE, NULL, 0x0,
+ "CRC result", HFILL }},
+ { &hf_tetra_len0,
+ { "Length", "tetra.len0", FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Length of the PDU", HFILL }},
+ { &hf_tetra_pdu,
+ { "PDU", "tetra.pdu", FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }} ,
+
+#include "packet-tetra-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_tetra,
+ &ett_tetra_header,
+ &ett_tetra_length,
+ &ett_tetra_txreg,
+ &ett_tetra_text,
+#include "packet-tetra-ettarr.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_tetra_channels_incorrect, { "tetra.channels.incorrect", PI_MALFORMED, PI_WARN, "Channel count incorrect, must be <= 3", EXPFILL }},
+ };
+
+ proto_tetra = proto_register_protocol("TETRA Protocol", "TETRA", "tetra");
+ proto_register_field_array (proto_tetra, hf, array_length (hf));
+ proto_register_subtree_array (ett, array_length (ett));
+ tetra_handle = register_dissector("tetra", dissect_tetra, proto_tetra);
+ expert_tetra = expert_register_protocol(proto_tetra);
+ expert_register_field_array(expert_tetra, ei, array_length(ei));
+
+ tetra_module = prefs_register_protocol(proto_tetra, NULL);
+ prefs_register_bool_preference(tetra_module, "include_carrier_number",
+ "The data include carrier numbers",
+ "Whether the captured data include carrier number",
+ &include_carrier_number);
+}
diff --git a/epan/dissectors/asn1/tetra/packet-tetra-template.h b/epan/dissectors/asn1/tetra/packet-tetra-template.h
new file mode 100644
index 00000000..448077ad
--- /dev/null
+++ b/epan/dissectors/asn1/tetra/packet-tetra-template.h
@@ -0,0 +1,41 @@
+/* packet-tetra.h
+ * Routines for TETRA packet dissection
+ *
+ * Copyright (c) 2007 - 2011 Professional Mobile Communication Research Group,
+ * Beijing Institute of Technology, China
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * REF: ETSI EN 300 392-2 V3.2.1
+ */
+
+#ifndef PACKET_TETRA_H
+#define PACKET_TETRA_H
+
+enum {
+ TETRA_CHAN_AACH = 1,
+ TETRA_CHAN_SCH_F = 2,
+ TETRA_CHAN_SCH_D = 3,
+ TETRA_CHAN_BSCH = 5,
+ TETRA_CHAN_BNCH = 6,
+ TETRA_CHAN_TCH_F = 7,
+ TETRA_CHAN_TCH_H = 8,
+ TETRA_CHAN_TCH_2_4 = 9,
+ TETRA_CHAN_TCH_4_8 = 10,
+ TETRA_CHAN_STCH = 11,
+ TETRA_CHAN_SCH_HU = 15
+};
+
+enum {
+ TETRA_UPLINK,
+ TETRA_DOWNLINK
+};
+
+void tetra_dissect_pdu(int channel_type, int dir, tvbuff_t *pdu, proto_tree *head, packet_info *pinfo);
+
+/*#include "packet-tetra-exp.h"*/
+#endif /* PACKET_TETRA_H */
diff --git a/epan/dissectors/asn1/tetra/tetra.asn b/epan/dissectors/asn1/tetra/tetra.asn
new file mode 100644
index 00000000..e197d13f
--- /dev/null
+++ b/epan/dissectors/asn1/tetra/tetra.asn
@@ -0,0 +1,2337 @@
+-- TETRA packet dissection
+-- Copyright (c) 2007 - 2013 Professional Mobile Communication Research Group,
+-- Beijing Institute of Technology, China
+--
+
+UMAC-MODULE DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+AACH ::= SEQUENCE
+{
+ function INTEGER(0..3),
+ field1 INTEGER(0..63),
+ field2 INTEGER(0..63)
+}
+
+BSCH ::= SEQUENCE
+{
+ system-code System-Code,
+ colour-code Colour-Code,
+ timeslot-number Timeslot-Number,
+ frame-number Frame-Number,
+ multiple-frame-number Multiple-Frame-Number,
+ sharing-mod Sharing-Mod,
+ ts-reserved-frames TS-Reserved-Frames,
+ u-plane-dtx U-Plane-DTX,
+ frame-18-extension Frame-18-Extension,
+ reserved Reserved ,
+ tm-sdu MLE-Sync
+}
+ System-Code ::= ENUMERATED
+ {
+ ets-300-392-2(0),
+ ets-300-392-2anden-300-392-7(1),
+ en-300-392-2-v2-3-2orlateranden-300-392-7(2),
+ v-d-reserved(3),
+ v-d-reserved(4),
+ v-d-reserved(5),
+ v-d-reserved(6),
+ v-d-reserved(7),
+ reserved(8),
+ reserved(9),
+ direct-mode-operation(10),
+ direct-mode-operation(11),
+ direct-mode-operation(12),
+ direct-mode-operation(13),
+ direct-mode-operation(14),
+ direct-mode-operation(15)
+ }
+ Colour-Code ::= ENUMERATED
+ {
+ pre-defined(0),
+ operator-defined(1),
+ operator-defined(2),
+ operator-defined(3),
+ operator-defined(4),
+ operator-defined(5),
+ operator-defined(6),
+ operator-defined(7),
+ operator-defined(8),
+ operator-defined(9),
+ operator-defined(10),
+ operator-defined(11),
+ operator-defined(12),
+ operator-defined(13),
+ operator-defined(14),
+ operator-defined(15),
+ operator-defined(16),
+ operator-defined(17),
+ operator-defined(18),
+ operator-defined(19),
+ operator-defined(20),
+ operator-defined(21),
+ operator-defined(22),
+ operator-defined(23),
+ operator-defined(24),
+ operator-defined(25),
+ operator-defined(26),
+ operator-defined(27),
+ operator-defined(28),
+ operator-defined(29),
+ operator-defined(30),
+ operator-defined(31),
+ operator-defined(32),
+ operator-defined(33),
+ operator-defined(34),
+ operator-defined(35),
+ operator-defined(36),
+ operator-defined(37),
+ operator-defined(38),
+ operator-defined(39),
+ operator-defined(40),
+ operator-defined(41),
+ operator-defined(42),
+ operator-defined(43),
+ operator-defined(44),
+ operator-defined(45),
+ operator-defined(46),
+ operator-defined(47),
+ operator-defined(48),
+ operator-defined(49),
+ operator-defined(50),
+ operator-defined(51),
+ operator-defined(52),
+ operator-defined(53),
+ operator-defined(54),
+ operator-defined(55),
+ operator-defined(56),
+ operator-defined(57),
+ operator-defined(58),
+ operator-defined(59),
+ operator-defined(60),
+ operator-defined(61),
+ operator-defined(62),
+ operator-defined(63)
+ }
+ Timeslot-Number ::= ENUMERATED
+ {
+ timeslot-1(0),
+ timeslot-2(1),
+ timeslot-3(2),
+ timeslot-4(3)
+ }
+ Frame-Number ::= ENUMERATED
+ {
+ reserved(0),
+ frame-1(1),
+ frame-2(2),
+ frame-3(3),
+ frame-4(4),
+ frame-5(5),
+ frame-6(6),
+ frame-7(7),
+ frame-8(8),
+ frame-9(9),
+ frame-10(10),
+ frame-11(11),
+ frame-12(12),
+ frame-13(13),
+ frame-14(14),
+ frame-15(15),
+ frame-16(16),
+ frame-17(17),
+ frame-18(18),
+ reserved(19),
+ reserved(20),
+ reserved(21),
+ reserved(22),
+ reserved(23),
+ reserved(24),
+ reserved(25),
+ reserved(26),
+ reserved(27),
+ reserved(28),
+ reserved(29),
+ reserved(30),
+ reserved(31)
+ }
+ Multiple-Frame-Number ::= ENUMERATED
+ {
+ reserved(0),
+ multiframe-1(1),
+ multiframe-2(2),
+ multiframe-3(3),
+ multiframe-4(4),
+ multiframe-5(5),
+ multiframe-6(6),
+ multiframe-7(7),
+ multiframe-8(8),
+ multiframe-9(9),
+ multiframe-10(10),
+ multiframe-11(11),
+ multiframe-12(12),
+ multiframe-13(13),
+ multiframe-14(14),
+ multiframe-15(15),
+ multiframe-16(16),
+ multiframe-17(17),
+ multiframe-18(18),
+ multiframe-19(19),
+ multiframe-20(20),
+ multiframe-21(21),
+ multiframe-22(22),
+ multiframe-23(23),
+ multiframe-24(24),
+ multiframe-25(25),
+ multiframe-26(26),
+ multiframe-27(27),
+ multiframe-28(28),
+ multiframe-29(29),
+ multiframe-30(30),
+ multiframe-31(31),
+ multiframe-32(32),
+ multiframe-33(33),
+ multiframe-34(34),
+ multiframe-35(35),
+ multiframe-36(36),
+ multiframe-37(37),
+ multiframe-38(38),
+ multiframe-39(39),
+ multiframe-40(40),
+ multiframe-41(41),
+ multiframe-42(42),
+ multiframe-43(43),
+ multiframe-44(44),
+ multiframe-45(45),
+ multiframe-46(46),
+ multiframe-47(47),
+ multiframe-48(48),
+ multiframe-49(49),
+ multiframe-50(50),
+ multiframe-51(51),
+ multiframe-52(52),
+ multiframe-53(53),
+ multiframe-54(54),
+ multiframe-55(55),
+ multiframe-56(56),
+ multiframe-57(57),
+ multiframe-58(58),
+ multiframe-59(59),
+ multiframe-60(60),
+ reserved(61),
+ reserved(62),
+ reserved(63)
+ }
+ Sharing-Mod ::= ENUMERATED
+ {
+ continuous-transmission(0),
+ carrier-sharing(1),
+ mcch-sharing(2),
+ traffic-carrier-sharing(3)
+ }
+ TS-Reserved-Frames ::= ENUMERATED
+ {
+ frame-reserved-1(0),
+ frames-reserved-2(1),
+ frames-reserved-3(2),
+ frames-reserved-4(3),
+ frames-reserved-6(4),
+ frames-reserved-9(5),
+ frames-reserved-12(6),
+ frames-reserved-18(7)
+ }
+ U-Plane-DTX ::= ENUMERATED
+ {
+ not-allowed(0),
+ allowed(1)
+ }
+ Frame-18-Extension ::= ENUMERATED
+ {
+ not-allowed(0),
+ allowed(1)
+ }
+ Reserved ::= ENUMERATED
+ {
+ default(0),
+ not-used(1)
+ }
+ MLE-Sync ::= SEQUENCE
+ {
+ mcc INTEGER(0..1023),
+ mnc INTEGER(0..16383),
+ neighbour-cell-broadcast INTEGER(0..3),
+ cell-service-level INTEGER(0..3),
+ late-entry-information INTEGER(0..1)
+ }
+
+
+BNCH ::= SEQUENCE
+{
+ pdu-type INTEGER(0..3),
+ broadcast-type INTEGER(0..3),
+ main-carrier INTEGER(0..4095),
+ frequency-band INTEGER(0..15),
+ offset Offset,
+ duplex-spacing INTEGER(0..7),
+ reverse-operation Reverse-Operation,
+ sencond-ctl-carrier Sencond-Ctl-Carrier,
+ ms-txpwr-max-cell MS-TXPWR-MAX-CELL,
+ rxlev-access-min RXLEV-ACCESS-MIN ,
+ access-parameter ACCESS-PARAMETER,
+ radio-downlink-timeout RADIO-DOWNLINK-TIMEOUT,
+ hyperframe-or-cck CHOICE
+ {
+ hyperframe INTEGER(0..65535),
+ cckid INTEGER(0..65535)
+ },
+ optional-params CHOICE
+ {
+ even-multiframe TS-COMMON-FRAMES,
+ odd-multiframe TS-COMMON-FRAMES,
+ access-a-code Default-Code-A,
+ extend-service Extended-Services-Broadcast
+ },
+ la INTEGER(0..16383),
+ subscriber-class Subscriber-class,
+ registriation INTEGER(0..1),
+ de-registration INTEGER(0..1),
+ priority-cell INTEGER(0..1),
+ minimum-mode-service INTEGER(0..1),
+ migration INTEGER(0..1),
+ system-wide-service INTEGER(0..1),
+ tetra-voice-service INTEGER(0..1),
+ circuit-mode-data-service INTEGER(0..1),
+ reserved INTEGER(0..1),
+ sndcp-service INTEGER(0..1),
+ air-interface-encryption INTEGER(0..1),
+ advanced-link-support INTEGER(0..1)
+}
+ Offset ::= ENUMERATED
+ {
+ offset-0(0),
+ offset-positive-6-point-25(1),
+ offset-minus-6-point-25(2),
+ offset-12-point-5(3)
+ }
+
+ Reverse-Operation ::= ENUMERATED
+ {
+ normal(0),
+ reverse(1)
+ }
+ Sencond-Ctl-Carrier ::= ENUMERATED
+ {
+ none(0),
+ timeslot-2(1),
+ timeslots-2and3(2),
+ timeslots-2and3and4(3)
+ }
+ MS-TXPWR-MAX-CELL ::= ENUMERATED
+ {
+ reserved(0),
+ dbm-15(1),
+ dbm-20(2),
+ dbm-25(3),
+ dbm-30(4),
+ dbm-35(5),
+ dbm-40(6),
+ dbm-45(7)
+ }
+ RXLEV-ACCESS-MIN ::= ENUMERATED
+ {
+ dbm-125(0),
+ dbm-120(1),
+ dbm-115(2),
+ dbm-110(3),
+ dbm-105(4),
+ dbm-100(5),
+ dbm-95(6),
+ dnm-90(7),
+ dbm-85(8),
+ dbm-80(9),
+ dbm-75(10),
+ dbm-70(11),
+ dbm-65(12),
+ dbm-60(13),
+ dbm-55(14),
+ dbm-50(15)
+ }
+ ACCESS-PARAMETER ::= ENUMERATED
+ {
+ dbm-53(0),
+ dbm-51(1),
+ dbm-49(2),
+ dbm-47(3),
+ dbm-45(4),
+ dbm-43(5),
+ dbm-41(6),
+ dbm-39(7),
+ dbm-37(8),
+ dbm-35(9),
+ dbm-33(10),
+ dbm-31(11),
+ dbm-29(12),
+ dbm-27(13),
+ dbm-25(14),
+ dbm-23(15)
+ }
+ RADIO-DOWNLINK-TIMEOUT ::= ENUMERATED
+ {
+ disable(0),
+ timeslots-144(1),
+ timeslots-288(2),
+ timeslots-432(3),
+ timeslots-576(4),
+ timeslots-720(5),
+ timeslots-864(6),
+ timeslots-1008(7),
+ timeslots-1152(8),
+ timeslots-1296(9),
+ timeslots-1440(10),
+ timeslots-1584(11),
+ timeslots-1728(12),
+ timeslots-1872(13),
+ timeslots-2016(14),
+ timeslots-2160(15)
+ }
+ TS-COMMON-FRAMES ::= SEQUENCE
+ {
+ frame1 FRAME,
+ frame2 FRAME,
+ frame3 FRAME,
+ frame4 FRAME,
+ frame5 FRAME,
+ frame6 FRAME,
+ frame7 FRAME,
+ frame8 FRAME,
+ frame9 FRAME,
+ frame10 FRAME,
+ frame11 FRAME,
+ frame12 FRAME,
+ frame13 FRAME,
+ frame14 FRAME,
+ frame15 FRAME,
+ frame16 FRAME,
+ frame17 FRAME,
+ frame18 FRAME
+ }
+ FRAME ::= ENUMERATED
+ {
+ not-common(0),
+ common(1)
+ }
+ Default-Code-A ::= SEQUENCE
+ {
+ imm IMM,
+ wt WT,
+ nu NU,
+ frame-len-factor Frame-Len-Factor,
+ timeslot-pointer Timeslot-Pointer,
+ min-pdu-priority Min-Pdu-Priority
+ }
+ IMM ::= ENUMERATED
+ {
+ always-randomize(0),
+ randomize-after-imm-tdma(1),
+ randomize-after-imm-tdma(2),
+ randomize-after-imm-tdma(3),
+ randomize-after-imm-tdma(4),
+ randomize-after-imm-tdma(5),
+ randomize-after-imm-tdma(6),
+ randomize-after-imm-tdma(7),
+ randomize-after-imm-tdma(8),
+ randomize-after-imm-tdma(9),
+ randomize-after-imm-tdma(10),
+ randomize-after-imm-tdma(11),
+ randomize-after-imm-tdma(12),
+ randomize-after-imm-tdma(13),
+ randomize-after-imm-tdma(14),
+ immediate-access-allowed(15)
+ }
+ WT ::= ENUMERATED
+ {
+ reserved(0),
+ response-within-wt-downlink(1),
+ response-within-wt-downlink(2),
+ response-within-wt-downlink(3),
+ response-within-wt-downlink(4),
+ response-within-wt-downlink(5),
+ response-within-wt-downlink(6),
+ response-within-wt-downlink(7),
+ response-within-wt-downlink(8),
+ response-within-wt-downlink(9),
+ response-within-wt-downlink(10),
+ response-within-wt-downlink(11),
+ response-within-wt-downlink(12),
+ response-within-wt-downlink(13),
+ response-within-wt-downlink(14),
+ response-within-wt-downlink(15)
+ }
+ NU ::= ENUMERATED
+ {
+ no-random(0),
+ random-1(1),
+ random-2(2),
+ random-3(3),
+ random-4(4),
+ random-5(5),
+ random-6(6),
+ random-7(7),
+ random-8(8),
+ random-9(9),
+ random-10(10),
+ random-11(11),
+ random-12(12),
+ random-13(13),
+ random-14(14),
+ random-15(15)
+ }
+ Frame-Len-Factor ::= ENUMERATED
+ {
+ multiply-1(0),
+ multiply-4(1)
+ }
+ Timeslot-Pointer ::= ENUMERATED
+ {
+ same-as-downlink(0),
+ timeslot-4(1),
+ timeslot-bit-map(2),
+ timeslot-bit-map(3),
+ timeslot-bit-map(4),
+ timeslot-bit-map(5),
+ timeslot-bit-map(6),
+ timeslot-bit-map(7),
+ timeslot-bit-map(8),
+ timeslot-bit-map(9),
+ timeslot-bit-map(10),
+ timeslot-bit-map(11),
+ timeslot-bit-map(12),
+ timeslot-bit-map(13),
+ timeslot-bit-map(14),
+ all-four-timeslots(15)
+ }
+ Min-Pdu-Priority ::= ENUMERATED
+ {
+ priority-0(0),
+ priority-1(1),
+ priority-2(2),
+ priority-3(3),
+ priority-4(4),
+ priority-5(5),
+ priority-6(6),
+ priority-7(7)
+ }
+ Extended-Services-Broadcast ::= SEQUENCE
+ {
+ security-information INTEGER(0..255),
+ sds-tl-addressing-method SDS-TL-Addressing-Method,
+ gck-supported INTEGER(0..1),
+ section CHOICE
+ {
+ present-1 PRESENT1,
+ present-2 INTEGER(0..127),
+ present-3 INTEGER(0..127),
+ present-4 INTEGER(0..127)
+ }
+ }
+ SDS-TL-Addressing-Method ::= ENUMERATED
+ {
+ reserved(0),
+ service-centre(1),
+ never-use-service-centre(2),
+ ms-choice-to-use-service-centre(3)
+ }
+ PRESENT1 ::=SEQUENCE
+ {
+ data-priority-supported Data-Priority-Supported,
+ reserved INTEGER(0..7),
+ section-2-information Section-Information,
+ section-3-information Section-Information,
+ section-4-information Section-Information
+ }
+ Data-Priority-Supported ::=ENUMERATED
+ {
+ not-supported(0),
+ supported(1)
+ }
+ Section-Information ::=ENUMERATED
+ {
+ no-information(0),
+ futher-information(1)
+ }
+
+
+
+
+MAC-ACCESS ::= SEQUENCE
+{
+ pdu-type INTEGER(0..1),
+ fill-bit-indication Fill-Bit-Indication,
+ encrypted-flag Encrypted-Flag,
+ address Address,
+ data CHOICE
+ {
+ sdu1 U-LLC-PDU,
+ sdu2 ComplexSDU
+ }
+}
+
+Address ::= CHOICE
+{
+ ssi INTEGER(0..16777215),
+ eventLabel INTEGER(0..1023),
+ ussi INTEGER(0..16777215),
+ smi INTEGER(0..16777215)
+}
+U-LLC-PDU ::= CHOICE
+{
+ bl-adata U-BL-ADATA,
+ bl-data U-BL-DATA,
+ bl-udata U-MLE-PDU,
+ bl-ack U-BL-ACK,
+ bl-adata-fcs U-BL-ADATA-FCS,
+ bl-data-fcs U-BL-DATA-FCS,
+ bl-udata-fcs U-MLE-PDU-FCS,
+ bl-ack-fcs U-BL-ACK-FCS,
+ al-setup NULL,
+ al-data NULL,
+ al-udata NULL,
+ al-ack NULL,
+ al-reconnect NULL,
+ reserve1 NULL,
+ reserve2 NULL,
+ al-disc NULL
+}
+ U-BL-ACK-FCS ::= SEQUENCE
+{
+ nr INTEGER(0..1),
+ tl-sdu U-MLE-PDU,
+ fcs OCTET STRING(SIZE(4))
+}
+
+ U-MLE-PDU-FCS ::= SEQUENCE
+ {
+ u-mle-pdu U-MLE-PDU,
+ fcs OCTET STRING(SIZE(4))
+ }
+
+ U-BL-DATA-FCS ::= SEQUENCE
+ {
+ ns INTEGER(0..1),
+ tl-sdu U-MLE-PDU,
+ fcs OCTET STRING(SIZE(4))
+ }
+
+U-BL-ADATA-FCS ::= SEQUENCE
+ {
+ nr INTEGER(0..1),
+ ns INTEGER(0..1),
+ tl-sdu U-MLE-PDU,
+ fcs OCTET STRING(SIZE(4))
+ }
+
+
+U-MLE-PDU ::= CHOICE
+{
+ u-mle-reserved1 NULL,
+ mm U-MM-PDU,
+ cmce U-CMCE-PDU,
+ u-mle-reserved2 NULL,
+ sndcp NULL,
+ mle UMLE-PDU,
+ tetra-management-entity-protocol NULL,
+ u-mle-reserved3 NULL
+}
+ComplexSDU ::= SEQUENCE
+{
+ lengthIndicationOrCapacityRequest CHOICE
+ {
+ lengthIndication LengthIndication,
+ capacityRequest FRAG
+ },
+ tm-sdu U-LLC-PDU
+}
+FRAG ::= SEQUENCE
+{
+ frag Frag1,
+ reservation-requirement SLOT-APPLY
+}
+
+LengthIndication ::= ENUMERATED
+{
+ null(0),
+ reserved-1(1),
+ reserved-2(2),
+ bits-24(3),
+ bits-32(4),
+ bits-40(5),
+ bits-48(6),
+ bits-56(7),
+ bits-64(8),
+ bits-72(9),
+ bits-80(10),
+ bits-88(11),
+ bits-96(12),
+ reserved-13(13),
+ reserved-14(14),
+ reserved-15(15),
+ reserved-16(16),
+ reserved-17(17),
+ reserved-18(18),
+ reserved-19(19),
+ reserved-20(20),
+ reserved-21(21),
+ reserved-22(22),
+ reserved-23(23),
+ reserved-24(24),
+ reserved-25(25),
+ reserved-26(26),
+ reserved-27(27),
+ reserved-28(28),
+ reserved-29(29),
+ reserved-30(30),
+ reserved-31(31)
+}
+SLOT-APPLY ::= ENUMERATED
+{
+ subslot(0),
+ slot-1(1),
+ slot-2(2),
+ slot-3(3),
+ slot-4(4),
+ slot-5(5),
+ slot-6(6),
+ slot-8(7),
+ slot-10(8),
+ slot-13(9),
+ slot-17(10),
+ slot-24(11),
+ slot-34(12),
+ slot-51(13),
+ slot-68(14),
+ more-than-68(15)
+}
+Frag1 ::= ENUMERATED
+{
+ not-fragmented(0),
+ start-of-fragmentation(1)
+}
+
+MAC-DATA ::= SEQUENCE
+{
+ pdu-type INTEGER(0..3),
+ fill-bit-indication Fill-Bit-Indication,
+ encrypted-flag Encrypted-Flag,
+ address Address,
+ lengthIndicationOrCapacityRequest CHOICE
+ {
+ lengthIndication LengthIndicationMacData,
+ capacityRequest FRAG6
+ },
+ tm-sdu U-LLC-PDU
+}
+Fill-Bit-Indication ::= ENUMERATED
+ {
+ no-present(0),
+ present(1)
+ }
+Encrypted-Flag ::= ENUMERATED
+ {
+ not-encrypted(0),
+ encrypted(1)
+ }
+LengthIndicationMacData ::= ENUMERATED
+{
+ null(0),
+ reserved-1(1),
+ reserved-2(2),
+ bits-24(3),
+ bits-32(4),
+ bits-40(5),
+ bits-48(6),
+ bits-56(7),
+ bits-64(8),
+ bits-72(9),
+ bits-80(10),
+ bits-88(11),
+ bits-96(12),
+ bits-104(13),
+ bits-112(14),
+ bits-120(15),
+ bits-128(16),
+ bits-136(17),
+ bits-144(18),
+ bits-152(19),
+ bits-160(20),
+ bits-168(21),
+ bits-176(22),
+ bits-184(23),
+ bits-192(24),
+ bits-200(25),
+ bits-208(26),
+ bits-216(27),
+ bits-224(28),
+ bits-232(29),
+ bits-240(30),
+ bits-248(31),
+ bits-256(32),
+ bits-264(33),
+ bits-272(34),
+ reserved-35(35),
+ reserved-36(36),
+ reserved-37(37),
+ reserved-38(38),
+ reserved-39(39),
+ reserved-40(40),
+ reserved-41(41),
+ reserved-42(42),
+ reserved-43(43),
+ reserved-44(44),
+ reserved-45(45),
+ reserved-46(46),
+ reserved-47(47),
+ reserved-48(48),
+ reserved-49(49),
+ reserved-50(50),
+ reserved-51(51),
+ reserved-52(52),
+ reserved-53(53),
+ reserved-54(54),
+ reserved-55(55),
+ reserved-56(56),
+ reserved-57(57),
+ reserved-58(58),
+ reserved-59(59),
+ reserved-60(60),
+ reserved-61(61),
+ second-halfslot-stolen(62),
+ start-frag(63)
+}
+
+FRAG6 ::= SEQUENCE
+{
+ frag Frag1,
+ reservation-requirement SLOT-APPLY,
+ reserved INTEGER(0..1)
+}
+
+MAC-FRAG ::= SEQUENCE
+{
+ pdu-type INTEGER(0..3),
+ sub-type INTEGER(0..1),
+ fill-bit-indication Fill-Bit-Indication,
+ tm-sdu BIT STRING(SIZE(264))
+}
+
+MAC-FRAG120 ::= SEQUENCE
+{
+ pdu-type INTEGER(0..3),
+ sub-type INTEGER(0..1),
+ fill-bit-indication Fill-Bit-Indication,
+ tm-sdu BIT STRING(SIZE(120))
+}
+
+MAC-END-UPLINK ::= SEQUENCE
+{
+ pdu-type INTEGER(0..3),
+ sub-type INTEGER(0..1),
+ fill-bit-indication Fill-Bit-Indication,
+ lengthInd-ReservationReq LengthIndOrReservationReq,
+ tm-sdu BIT STRING(SIZE(258))
+}
+
+MAC-END-UP114 ::= SEQUENCE
+{
+ pdu-type INTEGER(0..3),
+ pdu-subtype INTEGER(0..1),
+ fill-bit-indication Fill-Bit-Indication,
+ lengthInd-ReservationReq LengthIndOrReservationReq,
+ tm-sdu BIT STRING(SIZE(114))
+}
+
+LengthIndOrReservationReq ::= ENUMERATED
+{
+ reserved-0(0),
+ reserved-1(1),
+ bits-16(2),
+ bits-24(3),
+ bits-32(4),
+ bits-40(5),
+ bits-48(6),
+ bits-56(7),
+ bits-64(8),
+ bits-72(9),
+ bits-80(10),
+ bits-88(11),
+ bits-96(12),
+ bits-104(13),
+ bits-112(14),
+ bits-120(15),
+ bits-128(16),
+ bits-136(17),
+ bits-144(18),
+ bits-152(19),
+ bits-160(20),
+ bits-168(21),
+ bits-176(22),
+ bits-184(23),
+ bits-192(24),
+ bits-200(25),
+ bits-208(26),
+ bits-216(27),
+ bits-224(28),
+ bits-232(29),
+ bits-240(30),
+ bits-248(31),
+ bits-256(32),
+ bits-264(33),
+ bits-272(34),
+ reserved-35(35),
+ reserved-36(36),
+ reserved-37(37),
+ reserved-38(38),
+ reserved-39(39),
+ reserved-40(40),
+ reserved-41(41),
+ reserved-42(42),
+ reserved-43(43),
+ reserved-44(44),
+ reserved-45(45),
+ reserved-46(46),
+ reserved-47(47),
+ subslot(48),
+ slot-1(49),
+ slot-2(50),
+ slot-3(51),
+ slot-4(52),
+ slot-5(53),
+ slot-6(54),
+ slot-8(55),
+ slot-10(56),
+ slot-13(57),
+ slot-17(58),
+ slot-24(59),
+ slot-34(60),
+ slot-51(61),
+ slot-68(62),
+ more-than-68(63)
+}
+
+MAC-END-HU ::= SEQUENCE
+{
+ pdu-type INTEGER(0..1),
+ fill-bit-indication Fill-Bit-Indication,
+ lengthInd-ReservationReq CHOICE
+ {
+ lengthInd LengthIndMacHu,
+ reservation-requirement SLOT-APPLY
+ },
+ tm-sdu BIT STRING(SIZE(85))
+}
+LengthIndMacHu ::= ENUMERATED
+{
+ reserved-0(0),
+ bits-8(1),
+ bits-16(2),
+ bits-24(3),
+ bits-32(4),
+ bits-40(5),
+ bits-48(6),
+ bits-56(7),
+ bits-64(8),
+ bits-72(9),
+ bits-80(10),
+ bits-88(11),
+ bits-96(12),
+ reserved-13(13),
+ reserved-14(14),
+ reserved-15(15)
+}
+
+MAC-END-DOWNLINK ::= SEQUENCE
+{
+ pdu-type INTEGER(0..3),
+ sub-type INTEGER(0..1),
+ fill-bit-indication Fill-Bit-Indication,
+ position-of-grant Position-Of-Grant,
+ lengthIndication LengthIndicationMacEndDl,
+ slot-granting CHOICE
+ {
+ none NULL,
+ slot-granting-param SlotGranting
+ },
+ channel-allocation CHOICE
+ {
+ none NULL,
+ channel-allocation-element ChannelAllocation
+ },
+ tm-sdu BIT STRING(SIZE(255))
+}
+
+SlotGranting ::= SEQUENCE
+{
+ capacity-allocation Capacity-Allocation,
+ granting-delay Granting-delay
+ }
+
+
+ Capacity-Allocation ::= ENUMERATED
+ {
+ first-subslot(0),
+ slot-allocated-1(1),
+ slot-allocated-2(2),
+ slot-allocated-3(3),
+ slot-allocated-4(4),
+ slot-allocated-5(5),
+ slot-allocated-6(6),
+ slot-allocated-8(7),
+ slot-allocated-10(8),
+ slot-allocated-13(9),
+ slot-allocated-17(10),
+ slot-allocated-24(11),
+ slot-allocated-34(12),
+ lot-allocated-51(13),
+ slot-allocated-68(14),
+ second-subslot(15)
+ }
+Granting-delay ::= ENUMERATED
+ {
+ capacity-allocation-at-next-opportunity(0),
+ number-of-opportunities-delay(1),
+ number-of-opportunities-delay(2),
+ number-of-opportunities-delay(3),
+ number-of-opportunities-delay(4),
+ number-of-opportunities-delay(5),
+ number-of-opportunities-delay(6),
+ number-of-opportunities-delay(7),
+ number-of-opportunities-delay(8),
+ number-of-opportunities-delay(9),
+ number-of-opportunities-delay(10),
+ number-of-opportunities-delay(11),
+ number-of-opportunities-delay(12),
+ number-of-opportunities-delay(13),
+ allocation-starts-at-frame-18(14),
+ wait(15)
+ }
+
+
+ChannelAllocation ::= SEQUENCE
+{
+ allocation-type ENUMERATED {replace(0), add(1), quit(2), reserved(3)},
+ timeslot-assigned Timeslot-Assigned,
+ up-down-assigned ENUMERATED {reserve(0), downlink-only(1), uplink-only(2), uplink-downlink(3)},
+ clch-permission CLCH-permission,
+ cell-change Cell-change-flag,
+ carrier-number INTEGER(0..4095),
+ extend-carrier-flag CHOICE{none NULL,extended Extended-carrier-flag} ,
+ monitoring-pattern CHOICE{one Monitoring-pattern,none1 NULL,none2 NULL,none3 NULL}
+}
+Timeslot-Assigned ::= ENUMERATED
+{
+ go-to-control-channel(0),
+ timeslot-4(1),
+ timeslot-bit-map(2),
+ timeslot-bit-map(3),
+ timeslot-bit-map(4),
+ timeslot-bit-map(5),
+ timeslot-bit-map(6),
+ timeslot-bit-map(7),
+ timeslot-bit-map(8),
+ timeslot-bit-map(9),
+ timeslot-bit-map(10),
+ timeslot-bit-map(11),
+ timeslot-bit-map(12),
+ timeslot-bit-map(13),
+ timeslot-bit-map(14),
+ all-four-timeslots(15)
+}
+CLCH-permission ::= ENUMERATED
+ {
+ no-permission(0),
+ permission(1)
+ }
+ Cell-change-flag ::= ENUMERATED
+ {
+ no-change(0),
+ change(1)
+ }
+ Extended-carrier-flag ::= SEQUENCE
+ {
+ frequency-band INTEGER(0..15),
+ offset INTEGER(0..3),
+ duplex-spacing INTEGER(0..7),
+ reverse-operation ENUMERATED{normal(0),reverse(1)}
+ }
+ Monitoring-pattern ::= ENUMERATED
+ {
+ no(0),
+ one(1),
+ two(2),
+ three(3)
+ }
+
+
+
+MAC-END-DOWN111 ::= SEQUENCE
+{
+ pdu-type INTEGER(0..7),
+ fill-bit-ind BOOLEAN,
+ position-of-grant INTEGER(0..1),
+ lengthIndication LengthIndicationMacEndDl,
+ slot-granting CHOICE
+ {
+ none NULL,
+ slot-granting-param SlotGranting
+ },
+ channel-allocation CHOICE
+ {
+ none NULL,
+ channel-allocation-element ChannelAllocation
+ },
+ tm-sdu BIT STRING(SIZE(111))
+}
+LengthIndicationMacEndDl ::= ENUMERATED
+{
+ reserved-0(0),
+ reserved-1(1),
+ bits-16(2),
+ bits-24(3),
+ bits-32(4),
+ bits-40(5),
+ bits-48(6),
+ bits-56(7),
+ bits-64(8),
+ bits-72(9),
+ bits-80(10),
+ bits-88(11),
+ bits-96(12),
+ bits-104(13),
+ bits-112(14),
+ bits-120(15),
+ bits-128(16),
+ bits-136(17),
+ bits-144(18),
+ bits-152(19),
+ bits-160(20),
+ bits-168(21),
+ bits-176(22),
+ bits-184(23),
+ bits-192(24),
+ bits-200(25),
+ bits-208(26),
+ bits-216(27),
+ bits-224(28),
+ bits-232(29),
+ bits-240(30),
+ bits-248(31),
+ bits-256(32),
+ bits-264(33),
+ bits-272(34),
+ reserved-35(35),
+ reserved-36(36),
+ reserved-37(37),
+ reserved-38(38),
+ reserved-39(39),
+ reserved-40(40),
+ reserved-41(41),
+ reserved-42(42),
+ reserved-43(43),
+ reserved-44(44),
+ reserved-45(45),
+ reserved-46(46),
+ reserved-47(47),
+ reserved-48(48),
+ reserved-49(49),
+ reserved-50(50),
+ reserved-51(51),
+ reserved-52(52),
+ reserved-53(53),
+ reserved-54(54),
+ reserved-55(55),
+ reserved-56(56),
+ reserved-57(57),
+ reserved-58(58),
+ reserved-59(59),
+ reserved-60(60),
+ reserved-61(61),
+ reserved-62(62),
+ reserved-63(63)
+}
+
+MAC-RESOURCE ::= SEQUENCE
+{
+ pdu-type INTEGER(0..3),
+ fill-bit-indication Fill-Bit-Indication,
+ position-of-grant Position-Of-Grant,
+ encryption-mode INTEGER(0..3),
+ access-ack ENUMERATED{undefined(0),random-access-acknowledged(1)},
+ lengthIndication LengthIndicationMacResource,
+ address AddressMacResource
+}
+OTHER-DATA ::= SEQUENCE
+{
+ power-control CHOICE
+ {
+ none NULL,
+ powerParameters PowerControl
+ },
+ slot-granting CHOICE
+ {
+ none NULL,
+ slot-granting-param SlotGranting
+ },
+ channel-allocation CHOICE
+ {
+ none NULL,
+ channel-allocation-element ChannelAllocation
+ },
+ tm-sdu D-LLC-PDU
+}
+
+
+Position-Of-Grant ::= ENUMERATED
+ {
+ on-current(0),
+ on-allocated(1)
+ }
+AddressMacResource ::= CHOICE
+{
+ null-pdu NULL,
+ ssi SSI-NEED,
+ eventLabel EVENT-NEED,
+ ussi USSI-NEED,
+ smi SMI-NEED,
+ ssi-eventLabel SSI-EVENT-NEED,
+ ssi-usage-maker SSI-USAGE-NEED,
+ smi-eventLabel SMI-EVENT-NEED
+}
+SSI-NEED ::= SEQUENCE
+{
+ ssi INTEGER(0..16777215),
+ other OTHER-DATA
+}
+EVENT-NEED ::= SEQUENCE
+{
+ eventlabel INTEGER(0..1023),
+ other OTHER-DATA
+}
+USSI-NEED ::= SEQUENCE
+{
+ ussi INTEGER(0..16777215),
+ other OTHER-DATA
+}
+
+SMI-NEED ::= SEQUENCE
+{
+ smi INTEGER(0..16777215),
+ other OTHER-DATA
+}
+SSI-EVENT-NEED ::= SEQUENCE
+{
+ ssi INTEGER(0..16777215),
+ ventlabel INTEGER(0..1023),
+ other OTHER-DATA
+}
+SSI-USAGE-NEED ::= SEQUENCE
+{
+ ssi INTEGER(0..16777215),
+ usage-maker INTEGER(0..63),
+ other OTHER-DATA
+}
+SMI-EVENT-NEED ::= SEQUENCE
+{
+ smi-eventlabel BIT STRING(SIZE(34)),
+ other OTHER-DATA
+}
+
+
+LengthIndicationMacResource ::= ENUMERATED
+{
+ reserved-0(0),
+ reserved-1(1),
+ null-pdu(2),
+ reserved(3),
+ bits-32(4),
+ bits-40(5),
+ bits-48(6),
+ bits-56(7),
+ bits-64(8),
+ bits-72(9),
+ bits-80(10),
+ bits-88(11),
+ bits-96(12),
+ bits-104(13),
+ bits-112(14),
+ bits-120(15),
+ bits-128(16),
+ bits-136(17),
+ bits-144(18),
+ bits-152(19),
+ bits-160(20),
+ bits-168(21),
+ bits-176(22),
+ bits-184(23),
+ bits-192(24),
+ bits-200(25),
+ bits-208(26),
+ bits-216(27),
+ bits-224(28),
+ bits-232(29),
+ bits-240(30),
+ bits-248(31),
+ bits-256(32),
+ bits-264(33),
+ bits-272(34),
+ reserved-35(35),
+ reserved-36(36),
+ reserved-37(37),
+ reserved-38(38),
+ reserved-39(39),
+ reserved-40(40),
+ reserved-41(41),
+ reserved-42(42),
+ reserved-43(43),
+ reserved-44(44),
+ reserved-45(45),
+ reserved-46(46),
+ reserved-47(47),
+ reserved-48(48),
+ reserved-49(49),
+ reserved-50(50),
+ reserved-51(51),
+ reserved-52(52),
+ reserved-53(53),
+ reserved-54(54),
+ reserved-55(55),
+ reserved-56(56),
+ reserved-57(57),
+ reserved-58(58),
+ reserved-59(59),
+ reserved-60(60),
+ reserved-61(61),
+ second-halfslot-stolen(62),
+ start-frag(63)
+}
+
+ PowerControl ::= ENUMERATED
+ {
+ no-change(0),
+ increase-1(1),
+ increase-2(2),
+ increase-3(3),
+ increase-4(4),
+ increase-5(5),
+ increase-6(6),
+ maximum-xceeded(7),
+ revert-open-loop-control(8),
+ decrease-1(9),
+ decrease-2(10),
+ decrease-3(11),
+ decrease-4(12),
+ decrease-5(13),
+ decrease-6(14),
+ radio-uplink-failure(15)
+ }
+
+
+ExtendCarrier ::= SEQUENCE
+{
+ freq-band INTEGER(0..15),
+ offset INTEGER(0..3),
+ duplex-spacing INTEGER(0..7),
+ reverse-operation BOOLEAN
+}
+
+MAC-ACCESS-DEFINE ::= SEQUENCE
+{
+ pdu-type INTEGER(0..3),
+ broadcast-type INTEGER(0..3),
+ broadcast-channel INTEGER(0..1),
+ access-code INTEGER(0..3),
+ imm INTEGER(0..15),
+ wt INTEGER(0..15),
+ nu INTEGER(0..15),
+ frame-len-factor INTEGER(0..1),
+ timeslot-pointer INTEGER(0..15),
+ min-priority INTEGER(0..7),
+ optional-field CHOICE
+{
+ none NULL,
+ class-bitmap INTEGER(0..65535),
+ gssi INTEGER(0..33554431),
+ reserved NULL
+ },
+ filler-bits INTEGER(0..7)
+}
+
+D-LLC-PDU ::= CHOICE
+{
+ bl-adata D-BL-ADATA,
+ bl-data D-BL-DATA,
+ bl-udata D-MLE-PDU,
+ bl-ack D-BL-ACK,
+ bl-adata-fcs D-BL-ADATA-FCS,
+ bl-data-fcs D-BL-DATA-FCS,
+ bl-udata-fcs D-MLE-PDU-FCS,
+ bl-ack-fcs D-BL-ACK-FCS,
+ al-setup NULL,
+ al-data NULL,
+ al-udata NULL,
+ al-ack NULL,
+ al-reconnect NULL,
+ reserve1 NULL,
+ reserve2 NULL,
+ al-disc NULL
+}
+
+D-BL-ACK-FCS ::= SEQUENCE
+{
+ nr INTEGER(0..1),
+ tl-sdu D-MLE-PDU,
+ fcs OCTET STRING(SIZE(4))
+}
+
+D-MLE-PDU-FCS ::= SEQUENCE
+ {
+ d-mle-pdu D-MLE-PDU,
+ fcs OCTET STRING(SIZE(4))
+ }
+
+
+D-BL-ADATA-FCS ::= SEQUENCE
+ {
+ nr INTEGER(0..1),
+ ns INTEGER(0..1),
+ tl-sdu D-MLE-PDU,
+ fcs OCTET STRING(SIZE(4))
+ }
+
+D-BL-DATA-FCS ::= SEQUENCE
+ {
+ ns INTEGER(0..1),
+ tl-sdu D-MLE-PDU,
+ fcs OCTET STRING(SIZE(4))
+ }
+
+U-BL-ACK ::= SEQUENCE
+{
+ nr INTEGER(0..1),
+ tl-sdu U-MLE-PDU
+}
+
+D-BL-ACK ::= SEQUENCE
+{
+ nr INTEGER(0..1),
+ tl-sdu D-MLE-PDU
+}
+
+U-BL-DATA ::= SEQUENCE
+{
+ ns INTEGER(0..1),
+ tl-sdu U-MLE-PDU
+}
+
+D-BL-DATA ::= SEQUENCE
+{
+ ns INTEGER(0..1),
+ tl-sdu D-MLE-PDU
+}
+
+U-BL-ADATA ::= SEQUENCE
+{
+ nr INTEGER(0..1),
+ ns INTEGER(0..1),
+ tl-sdu U-MLE-PDU
+}
+
+D-BL-ADATA ::= SEQUENCE
+{
+ nr INTEGER(0..1),
+ ns INTEGER(0..1),
+ tl-sdu D-MLE-PDU
+}
+
+D-MLE-PDU ::= CHOICE
+{
+ u-mle-reserved1 NULL,
+ mm D-MM-PDU,
+ cmce D-CMCE-PDU,
+ u-mle-reserved2 NULL,
+ sndcp NULL,
+ mle DMLE-PDU,
+ tetra-management-entity-protocol NULL,
+ u-mle-reserved3 NULL
+}
+
+UMLE-PDU ::= CHOICE
+{
+ u-prepare U-PREPARE,
+ umle-reserved1 NULL,
+ umle-reserved2 NULL,
+ umle-reserved3 NULL,
+ u-restore U-RESTORE,
+ umle-reserved4 NULL,
+ umle-reserved5 NULL,
+ umle-reserved6 NULL
+}
+
+DMLE-PDU ::= CHOICE
+{
+ d-new-cell D-NEW-CELL,
+ d-prepare-fail D-PREPARE-FAIL,
+ d-nwrk-broadcast D-NWRK-BRDADCAST,
+ dmle-reserved1 NULL,
+ d-restore-ack D-RESTORE-ACK,
+ d-restore-fail D-RESTORE-FAIL,
+ dmle-reserved2 NULL,
+ dmle-reserved3 NULL
+}
+
+U-PREPARE ::= SEQUENCE
+{
+ pdu-type INTEGER(0..7),
+ optional-elements CHOICE
+ {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ cell-number CHOICE{none NULL, cell-number INTEGER(0..65535)},
+ sdu BIT STRING
+ }
+ }
+}
+
+U-RESTORE ::= SEQUENCE
+{
+ pdu-type INTEGER(0..7),
+ optional-elements CHOICE {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ mcc CHOICE{none NULL,mcc INTEGER(0..1023)},
+ mnc CHOICE{none NULL,mnc INTEGER(0..16383)},
+ la CHOICE{none NULL,la INTEGER(0..16383)},
+ sdu BIT STRING
+ }
+ }
+}
+
+D-NEW-CELL ::= SEQUENCE
+{
+ pdu-type INTEGER(0..7),
+ channel-command-valid INTEGER(0..3),
+ optional-elements CHOICE {
+ no-type2 NULL,
+ sdu BIT STRING
+ }
+}
+
+D-PREPARE-FAIL ::= SEQUENCE
+{
+ pdu-type INTEGER(0..7),
+ fail-cause INTEGER(0..3),
+ optional-elements CHOICE {
+ no-type2 NULL,
+ sdu BIT STRING
+ }
+}
+
+D-NWRK-BRDADCAST ::= SEQUENCE
+{
+ pdu-type INTEGER(0..7),
+ cell-re-select-parameters INTEGER(0..65535),
+ cell-service-level INTEGER(0..3),
+ optional-elements CHOICE {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ tetra-network-time CHOICE{none NULL, tetra-network-time TETRA-NETWORK-TIME},
+ number-of-neighbour-cells CHOICE{none NULL, number-of-neighbour-cells INTEGER(0..7)}
+ }
+ }
+}
+
+TETRA-NETWORK-TIME ::= SEQUENCE
+{
+ network-time INTEGER(SIZE(24)),
+ local-time-offset-sign INTEGER(0..1),
+ local-time-offset INTEGER(0..63),
+ year INTEGER(0..63),
+ reserved INTEGER(SIZE(11))
+}
+
+D-RESTORE-ACK ::= SEQUENCE
+{
+ pdu-type INTEGER(0..7),
+ sdu BIT STRING
+}
+
+D-RESTORE-FAIL ::= SEQUENCE
+{
+ pdu-type INTEGER(0..7),
+ fail-cause INTEGER(0..3)
+}
+
+U-MM-PDU ::= CHOICE
+{
+ u-Authentication NULL,
+ u-Itsi-Detach NULL,
+ u-Location-Update-Demand U-LOCATION-UPDATE-DEMAND,
+ u-MM-Status U-MM-STATUS,
+ u-MM-reserved1 NULL,
+ u-WK NULL,
+ u-MM-reserved3 NULL,
+ u-Attach-Detach-Group-Identity U-ATTACH-DETACH-GROUP-IDENTITY,
+ u-Attach-Detach-Group-Identity-Ack U-ATTACH-DETACH-GROUP-IDENTITY-ACK,
+ u-TEI-Provide NULL,
+ u-MM-reserved6 NULL,
+ u-Disabled-Status NULL,
+ u-MM-reserved7 NULL,
+ u-MM-reserved8 NULL,
+ u-MM-reserved9 NULL,
+ u-MM-Function-Not-Support NULL
+}
+
+D-MM-PDU ::= CHOICE
+{
+ d-Otar NULL,
+ d-Authentication NULL,
+ d-Authentication-Reject NULL,
+ d-Disable NULL,
+ d-Enable NULL,
+ d-Location-Update-Accept D-LOCATION-UPDATE-ACCEPT,
+ d-Location-Update-Command NULL,
+ d-Location-Update-Reject D-LOCATION-UPDATE-REJECT,
+ d-MM-reserved2 NULL,
+ d-Location-Update-Proceeding NULL,
+ d-Attach-Detach-Group-Identity D-ATTACH-DETACH-GROUP-IDENTITY,
+ d-Attach-Detach-Group-Identity-Ack D-ATTACH-DETACH-GROUP-IDENTITY-ACK,
+ d-MM-Status D-MM-STATUS,
+ d-MM-reserved5 NULL,
+ d-MM-reserved6 NULL,
+ d-MM-Function-Not-Support NULL
+}
+
+UPDATE-TYPE ::= ENUMERATED
+{
+ roaming-location-updating(0),
+ temporary-registration(1),
+ periodic-location-updating(2),
+ itsi-attach(3),
+ call-restoration-roaming(4),
+ migrating-or-call-restoration-migrating(5),
+ demand-location-updating(6),
+ disabled-MS-updating(7)
+}
+
+TYPE3-IDENTIFIER ::= ENUMERATED
+{
+ reserved(0),
+ default-group-attachment-lifetime(1),
+ new-registered-area(2),
+ group-identity-location-demand(3),
+ group-report-response(4),
+ group-identity-location-accept(5),
+ dm-ms-address(6),
+ group-identity-downlink(7),
+ group-identity-uplink(8),
+ authentication-uplink(9),
+ authentication-downlink(10),
+ reserved(11),
+ reserved1(12),
+ reserved2(13),
+ reserved3(14),
+ proprietary(15)
+}
+
+GROUP-IDENTITY-DOWNLINK ::= SEQUENCE
+{
+ attach-detach-identifier CHOICE{
+ attach SEQUENCE{
+ lifetime INTEGER(0..3),
+ class-of-usage INTEGER(0..7)
+ },
+ detach SEQUENCE{
+ detach-downlike ENUMERATED{
+ unknow-gssi(0),
+ temporary-detachment1(1),
+ temporary-detachment2(2),
+ permanent-detachment(3)
+ }
+ }
+ },
+ address-type CHOICE{
+ gssi OCTET STRING(SIZE(3)),
+ gssi-extension SEQUENCE{ gssi OCTET STRING(SIZE(3)), extension OCTET STRING(SIZE(3))},
+ vgssi OCTET STRING(SIZE(3))
+ }
+}
+
+GROUP-IDENTITY-UPLINK ::= SEQUENCE
+{
+ attach-detach-identifier CHOICE{
+ attach SEQUENCE{
+ class-of-usage INTEGER(0..7)
+ },
+ detach SEQUENCE{
+ detach-uplike ENUMERATED{
+ unknow-gssi(0),
+ invalid-cipher(1),
+ user-intitial(2),
+ reserved(3)
+ }
+ }
+ },
+ address-type CHOICE{
+ gssi OCTET STRING(SIZE(3)),
+ gssi-extension SEQUENCE{ gssi OCTET STRING(SIZE(3)), extension OCTET STRING(SIZE(3))},
+ vgssi OCTET STRING(SIZE(3))
+ }
+}
+
+
+D-LOCATION-UPDATE-ACCEPT ::= SEQUENCE
+{
+ location-update-type UPDATE-TYPE,
+ optional-elements CHOICE
+ {
+ no-type2 NULL,
+ type2-parameters SEQUENCE
+ {
+ ssi CHOICE{none NULL,ssi OCTET STRING(SIZE(3))},
+ address-extension CHOICE{none NULL,address-extension OCTET STRING(SIZE(3))},
+ subscriber-class CHOICE{none NULL,subscriber-class Subscriber-class},
+ energy-saving-mode CHOICE{none NULL,energy-saving-mode INTEGER(0..7)},
+ scch-info CHOICE{none NULL,scch-info INTEGER(0..16383)},
+ type3 CHOICE{
+ no-type3 NULL,
+ type3-elements SEQUENCE
+ {
+ type2-existance BOOLEAN,
+ type3-identifier TYPE3-IDENTIFIER,
+ new-ra CHOICE{none NULL,new-ra INTEGER(0..3)},
+ group-identity-location-accept CHOICE{none NULL,group-identity-location-accept INTEGER(0..3)},
+ group-predefined-lifetime CHOICE{none NULL,group-predefined-lifetime INTEGER(0..3)},
+ group-identity-downlink CHOICE{none NULL,group-identity-downlink INTEGER(0..15)},
+ proprietary CHOICE{none NULL,proprietary INTEGER(0..7) }
+ }
+ }
+ }
+ }
+}
+
+D-LOCATION-UPDATE-REJECT ::= SEQUENCE
+{
+ location-update-type UPDATE-TYPE,
+ reject-cause INTEGER(0..31),
+ cipher-control BOOLEAN
+}
+
+U-MM-STATUS ::= SEQUENCE
+{
+ status-uplink INTEGER(0..63),
+ scanning-on-off ENUMERATED{on(0),off(1)}
+
+}
+
+D-MM-STATUS ::= SEQUENCE
+{
+ status-downlink INTEGER(0..63)
+}
+
+Subscriber-class ::= BIT STRING(SIZE(16))
+
+U-CMCE-PDU ::= CHOICE
+{
+ u-Alert U-ALERT,
+ reserved1 NULL,
+ u-Connect U-CONNECT,
+ reserved2 NULL,
+ u-Disconnect U-DISCONNECT,
+ u-Info U-INFO,
+ u-Release U-RELEASE,
+ u-Setup U-SETUP,
+ u-Status U-STATUS,
+ u-Tx-Ceased U-TX-CEASED,
+ u-Tx-Demand U-TX-DEMAND,
+ reserved3 NULL,
+ reserved4 NULL,
+ reserved5 NULL,
+ u-Call-Restore U-CALL-RESTORE,
+ u-SDS-Data U-SDS-DATA,
+ u-Facility NULL
+}
+
+U-RELEASE ::= SEQUENCE
+{
+ call-identifier INTEGER(0..16383),
+ disconnect-cause INTEGER(0..31)
+}
+
+U-SDS-DATA ::= SEQUENCE
+{
+ area-selection INTEGER(0..15),
+ called-party-type-identifier CHOICE{
+ sna INTEGER(0..255),
+ ssi INTEGER(0..16777215),
+ ssi-extension BIT STRING(SIZE(48)),
+ none NULL
+ },
+ short-data-type-identifier CHOICE{
+ data-1 INTEGER(0..65535),
+ data-2 OCTET STRING(SIZE(4)),
+ data-3 BIT STRING(SIZE(64)),
+ length-indicator-data-4 INTEGER(0..4194304)
+ }
+}
+
+U-STATUS ::= SEQUENCE
+{
+ area-selection INTEGER(0..15),
+ called-party-type-identifier CHOICE
+ {
+ short-number-address INTEGER(0..255),
+ ssi INTEGER(0..16777215),
+ called-ssi-called-extension BIT STRING(SIZE(48)),
+ none NULL
+ },
+ pre-coded-status INTEGER(0..65535)
+}
+
+U-INFO ::= SEQUENCE
+{
+ call-id INTEGER(0..16383),
+ poll-response INTEGER(0..1)
+}
+
+D-CMCE-PDU ::= CHOICE
+{
+ d-Alert D-ALERT,
+ d-Call-Proceeding D-CALL-PROCEEDING,
+ d-Connect D-CONNECT,
+ d-Connect-Ack D-CONNECT-ACK,
+ d-Disconnect D-DISCONNECT,
+ d-Info D-INFO,
+ d-Release D-RELEASE,
+ d-Setup D-SETUP,
+ d-Status D-STATUS,
+ d-Tx-Ceased D-TX-CEASED,
+ d-Tx-Continue D-TX-CONTINUE,
+ d-Tx-Granted D-TX-GRANTED,
+ d-Tx-Wait D-TX-WAIT,
+ d-Tx-Interrupt NULL,
+ d-Call-Restore D-CALL-RESTORE,
+ d-SDS-Data D-SDS-DATA,
+ d-Facility NULL
+}
+
+D-SDS-DATA ::= SEQUENCE
+{
+ calling-party-type-identifier CHOICE{
+ none1 NULL,
+ ssi INTEGER(0..16777215),
+ ssi-extension OCTET STRING(SIZE(6)),
+ none2 NULL
+ },
+ short-data-type-identifier CHOICE{
+ data-1 INTEGER(0..65535),
+ data-2 OCTET STRING(SIZE(4)),
+ data-3 OCTET STRING(SIZE(8)),
+ length-indicator-data-4 INTEGER(0..4194304)
+ }
+}
+
+D-STATUS ::= SEQUENCE
+{
+ calling-party-type-identifier CHOICE{
+ none1 NULL,
+ calling-party-address-SSI INTEGER(0..16777215),
+ ssi-extension OCTET STRING(SIZE(6)),
+ none2 NULL
+ },
+ pre-coded-status INTEGER(0..65535)
+}
+
+D-DISCONNECT ::= SEQUENCE
+{
+ call-identifier INTEGER(0..16383),
+ disconnect-cause INTEGER(0..31)
+}
+
+D-INFO ::= SEQUENCE
+{
+ call-identifier INTEGER(0..16383),
+ reset-call-time-out-timer INTEGER(0..1),
+ poll-request INTEGER(0..1)
+}
+
+D-TX-WAIT ::= SEQUENCE
+{
+ call-identifier INTEGER(0..16383),
+ transmission-request-permission INTEGER(0..1)
+}
+D-TX-CONTINUE ::= SEQUENCE
+{
+ call-identifier INTEGER(0..16383),
+ continue INTEGER(0..1),
+ transmission-request-permission INTEGER(0..1)
+}
+
+U-LOCATION-UPDATE-DEMAND ::= SEQUENCE
+{
+ location-update-type UPDATE-TYPE,
+ request-to-append-LA BOOLEAN,
+ cipher-control CHOICE{no-cipher NULL,ciphering-parameters INTEGER(0..1023)},
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-parameters SEQUENCE
+ {
+ class-of-MS CHOICE{none NULL, class-of-MS INTEGER(0..16777215)},
+ energy-saving-mode CHOICE{none NULL,energy-saving-mode INTEGER(0..7)},
+ la-information CHOICE{none NULL,la-information INTEGER(0..16383)},
+ ssi CHOICE{none NULL,ssi OCTET STRING(SIZE(3))},
+ address-extension CHOICE{none NULL,address-extension OCTET STRING(SIZE(3))},
+ type3 CHOICE
+ {
+ no-type3 NULL,
+ type3-elements SEQUENCE
+ {
+ type3-identifier TYPE3-IDENTIFIER,
+ group-identity-location-demand CHOICE{none NULL,group-identity-location-demand INTEGER(0..3)},
+ group-report-response CHOICE{none NULL,group-report-response BOOLEAN},
+ group-identity-uplink CHOICE{none NULL,group-identity-uplink INTEGER(0..15)},
+ proprietary CHOICE{none NULL,proprietary INTEGER(0..7) }
+ }
+ }
+ }
+ }
+}
+
+U-ATTACH-DETACH-GROUP-IDENTITY ::=SEQUENCE
+{
+ group-identity-report BOOLEAN,
+ group-identity-attach-detach-mode BOOLEAN,
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-element SEQUENCE{
+ type3 CHOICE
+ {
+ no-type3 NULL,
+ type3-elements SEQUENCE
+ {
+ type3-identifier TYPE3-IDENTIFIER,
+ length INTEGER(0..2047),
+ repeat-num INTEGER(0..63),
+ group-identity-uplink GROUP-IDENTITY-UPLINK
+ --group-report-response CHOICE{none NULL,group-report-response INTEGER(0..7)},
+ --group-identity-uplink CHOICE{none NULL,group-identity-uplink INTEGER(0..15)},
+ -- proprietary CHOICE{none NULL,proprietary INTEGER(0..7)}
+ }
+ }
+ }
+ }
+}
+
+
+U-ATTACH-DETACH-GROUP-IDENTITY-ACK ::=SEQUENCE
+{
+ group-identity-ack-type BOOLEAN,
+ group-identity-attach-detach-mode BOOLEAN,
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-element SEQUENCE{
+ type3 CHOICE{
+ no-type3 NULL,
+ type3-elements SEQUENCE
+ {
+ type3-identifier TYPE3-IDENTIFIER,
+ length INTEGER(0..2047),
+ repeat-num INTEGER(0..63),
+ group-identity-uplink GROUP-IDENTITY-UPLINK
+ --group-identity-uplink CHOICE{none NULL,group-identity-uplink INTEGER(0..15)},
+ -- proprietary CHOICE{none NULL,proprietary INTEGER(0..7) }
+ }
+ }
+ }
+}
+}
+
+U-SETUP ::= SEQUENCE{
+ area-selection INTEGER ( 0..15 ),
+ hook-method-selection BOOLEAN,
+ simple-duplex-selection ENUMERATED {simplex(0), duplex(1)},
+ basic-service-information Basic-service-information,
+ request-transmit-send-data INTEGER ( 0..1 ),
+ call-priority INTEGER ( 0..15 ),
+ clir-control INTEGER ( 0..3 ),
+ called-party-address Called-party-address-type,
+ optional-elements CHOICE
+ {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ external-subscriber-number [14] CHOICE { none NULL, external-subscriber-number [14] INTEGER (0..31)},
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+Basic-service-information ::= SEQUENCE
+{
+ circuit-mode CIRCUIT,
+ encryption INTEGER(0..1),
+ communication INTEGER(0..3),
+ slots-or-speech INTEGER(0..3)
+ }
+CIRCUIT ::= ENUMERATED {
+ speech-tch-s(0),
+ unprotected-tch-7-2(1),
+ low-protection-tch-4-8(2),
+ low-protection-tch-4-8(3),
+ low-protection-tch-4-8(4),
+ high-protection-tch-2-4(5),
+ high-protection-tch-2-4(6),
+ high-protection-tch-2-4(7)
+ }
+
+U-ALERT::=
+ SEQUENCE{
+ call-identifier INTEGER ( 0..1023 ),
+ reserved INTEGER ( 0..1 ),
+ simplex-duplex-selection ENUMERATED {simplex(0), duplex(1)},
+ optional-elements CHOICE {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ basic-service-information CHOICE{none NULL, basic-service-information Basic-service-information},
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+
+U-CONNECT ::=
+ SEQUENCE{
+ call-identifier INTEGER (0..1023),
+ hook-method-selection BOOLEAN,
+ simplex-duplex-selection ENUMERATED {simplex(0), duplex(1)},
+ optional-elements CHOICE {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ basic-service-information CHOICE{none NULL, basic-service-information Basic-service-information},
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+
+U-TX-CEASED::=
+ SEQUENCE{
+ call-identifier INTEGER ( 0..1023 ),
+ optional-elements CHOICE {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+
+U-TX-DEMAND::=
+ SEQUENCE{
+ call-identifier INTEGER ( 0..1023 ),
+ tx-demand-priority INTEGER ( 0..3),
+ encryption-control INTEGER ( 0..1 ),
+ reserved INTEGER ( 0..1 ),
+ optional-elements CHOICE {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+U-DISCONNECT ::=
+ SEQUENCE{
+ call-identifier INTEGER ( 0..1023 ),
+ disconnect-cause INTEGER ( 0..31 ),
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+U-CALL-RESTORE::=
+ SEQUENCE{
+ call-identifier INTEGER ( 0..1023 ),
+ request-to-transmit-send-data INTEGER ( 0..1 ),
+ other-party-address Other-party-address-type,
+ basic-service-information Basic-service-information,
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+
+D-SETUP ::= SEQUENCE{
+ call-identifier INTEGER (0..16383 ),
+ call-time-out INTEGER (0..15 ),
+ hook-method-selection INTEGER(0..1),
+ simplex-duplex-selection ENUMERATED {simplex(0), duplex(1)},
+ basic-service-information Basic-service-information,
+ transmission-grant INTEGER (0..3 ),
+ transmission-request-permission INTEGER (0..1 ),
+ call-priority INTEGER (0..15),
+ optional-elements CHOICE {
+ no-type2 NULL ,
+ type2-parameters SEQUENCE {
+ calling-party-address CHOICE { none NULL, calling-party-address Calling-party-address-type},
+ external-subscriber-number [14] CHOICE { none NULL, external-subscriber-number [14] INTEGER (0..15)},
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+D-CALL-PROCEEDING ::=
+ SEQUENCE{
+ call-identifier INTEGER (0..1023),
+ call-time-out-setup-phase INTEGER (0..7),
+ hook-method-selection BOOLEAN ,
+ simplex-duplex-selection INTEGER (0..1),
+ optional-elements CHOICE {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ basic-service-information CHOICE{none NULL, basic-service-information Basic-service-information},
+ call-status CHOICE{none NULL, call-status INTEGER (0..7)},
+ notification-indicator CHOICE{none NULL, notification-indicator INTEGER (0..63) },
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+
+D-ALERT ::= SEQUENCE{
+
+ call-identifier INTEGER ( 0..1023 ),
+ call-time-out-setup-phase INTEGER ( 0..7 ),
+ reserved INTEGER ( 0..1 ),
+ simplex-duplex-selection ENUMERATED {simplex(0), duplex(1)},
+ call-queued BOOLEAN,
+ optional-elements CHOICE
+ {
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ basic-service-infomation CHOICE{none NULL, basic-service-infomation Basic-service-information},
+ notification-indicator CHOICE{none NULL, notification-indicator INTEGER (0..63) },
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+
+D-CONNECT::=
+ SEQUENCE{
+ call-identifier INTEGER (0..1023),
+ call-time-out INTEGER (0..31),
+ hook-method-selection BOOLEAN,
+ simplex-duplex-selection ENUMERATED {simplex(0), duplex(1)},
+ transmission-grant INTEGER (0..3),
+ transmission-request-permission INTEGER (0..1) ,
+ call-ownership INTEGER (0..1) ,
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ call-priority CHOICE{none NULL, call-priority INTEGER (0..15)},
+ basic-service-information CHOICE{none NULL, basic-service-information Basic-service-information},
+ temporary-address CHOICE { none NULL, temporary-address Calling-party-address-type},
+ notification-indicator CHOICE { none NULL, notification-indicator INTEGER (0..63)},
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+ }
+
+D-CONNECT-ACK::=
+ SEQUENCE{
+ call-identifier INTEGER (0..1023),
+ call-time-out INTEGER (0..15),
+ transmission-grant INTEGER (0..3),
+ transmission-request-permission INTEGER (0..1),
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ notification-indicator CHOICE { none NULL, notification-indicator INTEGER (0..63)},
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+D-RELEASE::=
+ SEQUENCE{
+ call-identifier INTEGER ( 0..16383 ),
+ disconnect-cause INTEGER ( 0..31 ),
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ notification-indicator CHOICE {none NULL, notification-indicator INTEGER (0..63) },
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+ }
+
+D-CALL-RESTORE::=
+ SEQUENCE{
+ call-identifier INTEGER ( 0..1023 ),
+ transmission-grant INTEGER ( 0..3 ),
+ transmission-request-permission INTEGER( 0..1 ),
+ reset-call-time-out INTEGER ( 0..1 ),
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ new-call-identifier CHOICE{none NULL, new-call-identifier INTEGER (0..1023)},
+ call-time-out CHOICE{none NULL, call-time-out INTEGER ( 0..7 )},
+ call-status CHOICE { none NULL, call-status INTEGER ( 0..7 )},
+ modify CHOICE { none NULL, modify Modify-type},
+ notification-indicator CHOICE { none NULL, notification-indicator INTEGER (0..63)},
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+}
+
+D-TX-CEASED::=
+ SEQUENCE{
+ call-identifier INTEGER ( 0..1023 ),
+ transmission-request-permission INTEGER ( 0..1 ),
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-parameters SEQUENCE {
+ notification-indicator CHOICE {none NULL, notification-indicator INTEGER (0..63) },
+ prop [15] CHOICE {none NULL, prop [15] Proprietary }
+ }
+ }
+ }
+
+D-TX-GRANTED ::=
+ SEQUENCE {
+ call-identifier INTEGER ( 0..1023 ),
+ transmission-grant INTEGER ( 0..3 ),
+ transmission-request-permission INTEGER ( 0..1 ),
+ encryption-control INTEGER ( 0..1 ),
+ reserved INTEGER ( 0..1 )
+}
+ D-ATTACH-DETACH-GROUP-IDENTITY ::=SEQUENCE
+{
+ group-identity-report BOOLEAN,
+ group-identity-ack-request BOOLEAN,
+ group-identity-attach-detach-mode BOOLEAN,
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-element SEQUENCE{
+ type3 CHOICE{
+ no-type3 NULL,
+ type3-elements SEQUENCE
+ {type3-identifier TYPE3-IDENTIFIER,
+ length INTEGER(0..2047),
+ repeat-num INTEGER(0..63),
+ group-identity-downlink GROUP-IDENTITY-DOWNLINK
+ --proprietary CHOICE{none NULL,proprietary INTEGER(0..7)},
+ --group-report-response CHOICE{none NULL,group-report-response INTEGER(0..7)},
+ -- group-identity-downlink CHOICE{none NULL,group-identity-downlink INTEGER(0..15)}
+ }
+ }
+ }
+ }
+}
+
+D-ATTACH-DETACH-GROUP-IDENTITY-ACK ::=SEQUENCE
+{
+ group-identity-attach-detach-accept BOOLEAN,
+ reserved INTEGER ( 0..1 ),
+ optional-elements CHOICE{
+ no-type2 NULL,
+ type2-element SEQUENCE{
+ type3 CHOICE{
+ no-type3 NULL,
+ type3-elements SEQUENCE
+ {
+ type3-identifier TYPE3-IDENTIFIER,
+ length INTEGER(0..2047),
+ repeat-num INTEGER(0..63),
+ group-identity-downlink GROUP-IDENTITY-DOWNLINK
+ -- proprietary CHOICE{none NULL,proprietary INTEGER(0..7) },
+ -- group-identity-downlink CHOICE{none NULL,group-identity-downlink INTEGER(0..15)}
+ }
+ }
+ }
+ }
+}
+
+SPEECHMODE ::= SEQUENCE
+{
+ encryption-flag INTEGER ( 0..1 ),
+ communication-type CALLMODE,
+ speech-service INTEGER (0..3)
+}
+
+DATAMODE ::= SEQUENCE
+{
+ encryption-flag INTEGER ( 0..1 ),
+ communication-type INTEGER ( 0..3 ),
+ slots-per-frame INTEGER (0..3)
+}
+
+CALLMODE ::= ENUMERATED
+{
+ single-call(0),
+ group-call(1),
+ reserve(2),
+ broadcase(3)
+}
+
+Calling-party-address-type ::= CHOICE {
+ called-party-sna [0] INTEGER ( 0..255 ),
+ called-party-ssi [1] INTEGER ( 0..16777215 ),
+ -- WS modification: fix misspelling
+ called-party-ssi-extension [2] SEQUENCE {
+ -- End WS modification
+ called-party-ssi INTEGER ( 0..16777215 ),
+ -- WS modification: fix misspelling
+ called-party-extention INTEGER ( 0..16777215 )
+ -- End WS modification
+ }
+}
+
+Called-party-address-type ::= Calling-party-address-type
+Other-party-address-type ::= Calling-party-address-type
+
+Proprietary ::= [15] SEQUENCE {
+ -- element identifier is 15 as defined in table 212
+ -- the length is encoded in 11 bits (table E.1)
+ data CHOICE
+ {
+ element1 Type1,
+ element Type2
+ }
+}
+
+Proprietary-element-owner ::= INTEGER(0..255)
+
+Type1 ::= SEQUENCE
+{
+ proprietary-element-owner Proprietary-element-owner,
+ proprietary-element-owner-extension BIT STRING
+ }
+
+Type2 ::= SEQUENCE
+{
+ proprietary-element-owner Proprietary-element-owner
+
+ }
+
+Modify-type ::= SEQUENCE{
+ simplex-duplex-selection ENUMERATED {simplex(0), duplex(1)},
+ basic-service-information Basic-service-information
+}
+
+
+
+END
diff --git a/epan/dissectors/asn1/tetra/tetra.cnf b/epan/dissectors/asn1/tetra/tetra.cnf
new file mode 100644
index 00000000..8c4aab8a
--- /dev/null
+++ b/epan/dissectors/asn1/tetra/tetra.cnf
@@ -0,0 +1,261 @@
+# umac.cnf
+# umac conformation file
+
+#.OPT
+-u
+
+#.MODULE_IMPORT
+
+#.OMIT_ASSIGNMENT
+
+ExtendCarrier
+SPEECHMODE
+DATAMODE
+CALLMODE
+
+#.EXPORTS
+
+#U-ALERT
+#U-CONNECT
+#U-DISCONNECT
+#U-INFO
+#U-RELEASE
+#U-SETUP
+#U-STATUS
+#U-TX-CEASED
+#U-TX-DEMAND
+#U-CALL-RESTORE
+#U-SDS-DATA
+#D-ALERT
+#D-CALL-PROCEEDING
+#D-CONNECT
+#D-CONNECT-ACK
+#D-DISCONNECT
+#D-INFO
+#D-RELEASE
+#D-SETUP
+#D-STATUS
+#D-TX-CEASED
+#D-TX-GRANTED
+#D-CALL-RESTORE
+#D-SDS-DATA
+#D-TX-WAIT
+#D-TX-CONTINUE
+#D-ATTACH-DETACH-GROUP-IDENTITY
+#D-ATTACH-DETACH-GROUP-IDENTITY-ACK
+#U-LOCATION-UPDATE-DEMAND
+#U-ATTACH-DETACH-GROUP-IDENTITY
+#U-ATTACH-DETACH-GROUP-IDENTITY-ACK
+#U-MM-STATUS
+#D-LOCATION-UPDATE-ACCEPT
+#D-LOCATION-UPDATE-REJECT
+#D-MM-STATUS
+
+#.END
+
+
+#.PDU
+AACH
+MAC-FRAG
+MAC-FRAG120
+MAC-END-UPLINK
+MAC-END-UP114
+MAC-END-HU
+MAC-END-DOWNLINK
+MAC-END-DOWN111
+MAC-ACCESS-DEFINE
+MAC-RESOURCE
+MAC-ACCESS
+BSCH
+BNCH
+MAC-DATA
+
+
+#.FN_BODY U-RELEASE
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-RELEASE");
+#.END
+
+#.FN_BODY D-RELEASE
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-RELEASE");
+#.END
+
+
+
+#.FN_BODY D-CALL-PROCEEDING
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-CALL-PROCEEDING");
+#.END
+
+#.FN_BODY D-SETUP
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-SETUP");
+#.END
+
+
+#.FN_BODY U-LOCATION-UPDATE-DEMAND
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-LOCATION-UPDATE-DEMAND");
+#.END
+
+
+#.FN_BODY D-LOCATION-UPDATE-ACCEPT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-LOCATION-UPDATE-ACCEPT");
+#.END
+
+
+#.FN_BODY D-CONNECT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-CONNECT");
+#.END
+
+#.FN_BODY D-CONNECT-ACK
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-CONNECT-ACK");
+#.END
+
+#.FN_BODY D-INFO
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-INFO");
+#.END
+
+#.FN_BODY D-DISCONNECT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-DISCONNECT");
+#.END
+
+#.FN_BODY D-ALERT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-ALERT");
+#.END
+
+#.FN_BODY D-TX-CEASED
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-TX-CEASED");
+#.END
+
+
+#.FN_BODY D-STATUS
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-STATUS");
+#.END
+
+#.FN_BODY D-TX-CONTINUE
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-TX-CONTINUE");
+#.END
+
+#.FN_BODY D-TX-GRANTED
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-TX-GRANTED");
+
+#.END
+
+#.FN_BODY D-TX-WAIT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-TX-WAIT");
+#.END
+
+#.FN_BODY D-CALL-RESTORE
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-CALL-RESTORE");
+#.END
+
+#.FN_BODY D-SDS-DATA
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-SDS-DATA");
+#.END
+
+#.FN_BODY D-TX-WAIT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-TX-WAIT");
+#.END
+
+
+#.FN_BODY U-ALERT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-ALERT");
+#.END
+
+#.FN_BODY U-CONNECT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-CONNECT");
+#.END
+
+#.FN_BODY U-DISCONNECT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-DISCONNECT");
+#.END
+
+#.FN_BODY U-RELEASE
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-RELEASE");
+#.END
+
+#.FN_BODY U-SETUP
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-SETUP");
+#.END
+
+#.FN_BODY U-STATUS
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-STATUS");
+#.END
+
+#.FN_BODY U-SDS-DATA
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-SDS-DATA");
+#.END
+
+#.FN_BODY U-CALL-RESTORE
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-CALL-RESTORE");
+#.END
+
+#.FN_BODY U-TX-DEMAND
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-TX-DEMAND");
+#.END
+
+#.FN_BODY U-TX-CEASED
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-TX-CEASED");
+#.END
+
+
+#.FN_BODY U-MM-STATUS
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-MM-STATUS");
+#.END
+
+#.FN_BODY D-MM-STATUS
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-MM-STATUS");
+#.END
+
+#.FN_BODY U-ATTACH-DETACH-GROUP-IDENTITY
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-ATTACH-DETACH-GROUP-IDENTITY");
+#.END
+
+#.FN_BODY U-ATTACH-DETACH-GROUP-IDENTITY-ACK
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-ATTACH-DETACH-GROUP-IDENTITY-ACK");
+#.END
+
+#.FN_BODY D-LOCATION-UPDATE-REJECT
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-LOCATION-UPDATE-REJECT");
+#.END
+
+#.FN_BODY D-ATTACH-DETACH-GROUP-IDENTITY
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-ATTACH-DETACH-GROUP-IDENTITY");
+#.END
+
+#.FN_BODY D-ATTACH-DETACH-GROUP-IDENTITY-ACK
+%(DEFAULT_BODY)s
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "U-ATTACH-DETACH-GROUP-IDENTITY-ACK");
+#.END
diff --git a/epan/dissectors/asn1/ulp/CMakeLists.txt b/epan/dissectors/asn1/ulp/CMakeLists.txt
new file mode 100644
index 00000000..f8dedd2c
--- /dev/null
+++ b/epan/dissectors/asn1/ulp/CMakeLists.txt
@@ -0,0 +1,36 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME ulp )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ ULP.asn
+ SUPL.asn
+ ULP-Components.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/ulp/SUPL.asn b/epan/dissectors/asn1/ulp/SUPL.asn
new file mode 100644
index 00000000..20d7a1f3
--- /dev/null
+++ b/epan/dissectors/asn1/ulp/SUPL.asn
@@ -0,0 +1,1028 @@
+-- SUPL.asn
+-- Taken from OMA UserPlane Location Protocol
+-- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ULP-V2_0_5-20191028-A.zip
+
+--
+-- 11.2 Message Specific Part
+--
+--
+-- 11.2.1 SUPL INIT
+--
+SUPL-INIT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLINIT, Notification;
+
+IMPORTS
+ SLPAddress, QoP, PosMethod
+FROM ULP-Components
+ Ver2-SUPL-INIT-extension
+FROM ULP-Version-2-message-extensions
+ Ver2-Notification-extension
+FROM ULP-Version-2-parameter-extensions;
+
+SUPLINIT ::= SEQUENCE {
+ posMethod PosMethod,
+ notification Notification OPTIONAL,
+ sLPAddress SLPAddress OPTIONAL,
+ qoP QoP OPTIONAL,
+ sLPMode SLPMode,
+ mac MAC OPTIONAL, -- included for backwards compatibility
+ keyIdentity KeyIdentity OPTIONAL, -- included for backwards compatibility
+ ...,
+-- version 2 extension element
+ ver2-SUPL-INIT-extension Ver2-SUPL-INIT-extension OPTIONAL}
+
+Notification ::= SEQUENCE {
+ notificationType NotificationType,
+ encodingType EncodingType OPTIONAL,
+ requestorId OCTET STRING(SIZE (1..maxReqLength)) OPTIONAL,
+ requestorIdType FormatIndicator OPTIONAL,
+ clientName OCTET STRING(SIZE (1..maxClientLength)) OPTIONAL,
+ clientNameType FormatIndicator OPTIONAL,
+ ...,
+ ver2-Notification-extension Ver2-Notification-extension OPTIONAL}
+
+NotificationType ::= ENUMERATED {
+ noNotificationNoVerification(0), notificationOnly(1),
+ notificationAndVerficationAllowedNA(2),
+ notificationAndVerficationDeniedNA(3), privacyOverride(4), ...}
+
+EncodingType ::= ENUMERATED {ucs2(0), gsmDefault(1), utf8(2), ...}
+
+maxReqLength INTEGER ::= 50
+
+maxClientLength INTEGER ::= 50
+
+FormatIndicator ::= ENUMERATED {
+ logicalName(0), e-mailAddress(1), msisdn(2), url(3), sipUrl(4), min(5),
+ mdn(6), iMSPublicidentity(7), ...}
+
+SLPMode ::= ENUMERATED {proxy(0), nonProxy(1)}
+
+MAC ::= BIT STRING(SIZE (64)) -- empty placeholder required for SUPL 1.0 backwards compatibility
+
+KeyIdentity ::= BIT STRING(SIZE (128)) -- empty placeholder required for SUPL 1.0 backwards compatibility
+
+END
+
+--
+-- 11.2.2 SUPL START
+--
+SUPL-START DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLSTART, SETCapabilities;
+
+IMPORTS
+ LocationId, QoP
+FROM ULP-Components
+ Ver2-SUPL-START-extension
+FROM ULP-Version-2-message-extensions
+ Ver2-SETCapabilities-extension, Ver2-PosProtocol-extension, Ver2-PosTechnology-extension
+FROM ULP-Version-2-parameter-extensions;
+
+SUPLSTART ::= SEQUENCE {
+ sETCapabilities SETCapabilities,
+ locationId LocationId,
+ qoP QoP OPTIONAL,
+ ...,
+-- version 2 extension element
+ ver2-SUPL-START-extension Ver2-SUPL-START-extension OPTIONAL}
+
+SETCapabilities ::= SEQUENCE {
+ posTechnology PosTechnology,
+ prefMethod PrefMethod,
+ posProtocol PosProtocol,
+ ...,
+ ver2-SETCapabilities-extension Ver2-SETCapabilities-extension OPTIONAL}
+
+PosTechnology ::= SEQUENCE {
+ agpsSETassisted BOOLEAN,
+ agpsSETBased BOOLEAN,
+ autonomousGPS BOOLEAN,
+ aflt BOOLEAN,
+ ecid BOOLEAN,
+ eotd BOOLEAN,
+ otdoa BOOLEAN,
+ ...,
+ ver2-PosTechnology-extension Ver2-PosTechnology-extension OPTIONAL}
+
+PrefMethod ::= ENUMERATED {
+ agpsSETassistedPreferred, agpsSETBasedPreferred, noPreference}
+-- To achieve compatibility with ULP V1.0 the names of the enumerations are
+-- kept the same as in ULP V1.0. agps shall be interpreted as agnss.
+
+PosProtocol ::= SEQUENCE {
+ tia801 BOOLEAN,
+ rrlp BOOLEAN,
+ rrc BOOLEAN,
+ ...,
+ ver2-PosProtocol-extension Ver2-PosProtocol-extension OPTIONAL}
+
+END
+
+--
+-- 11.2.3 SUPL RESPONSE
+--
+SUPL-RESPONSE DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLRESPONSE;
+
+IMPORTS
+ PosMethod, SLPAddress
+FROM ULP-Components
+ Ver2-SUPL-RESPONSE-extension
+FROM ULP-Version-2-message-extensions;
+
+SUPLRESPONSE ::= SEQUENCE {
+ posMethod PosMethod,
+ sLPAddress SLPAddress OPTIONAL,
+sETAuthKey SETAuthKey OPTIONAL, -- included for backwards compatibility
+ keyIdentity4 KeyIdentity4 OPTIONAL, -- included for backwards compatibility
+ ...,
+-- version 2 extension element
+ ver2-SUPL-RESPONSE-extension Ver2-SUPL-RESPONSE-extension OPTIONAL}
+
+SETAuthKey ::= CHOICE {
+ shortKey BIT STRING(SIZE (128)),
+ longKey BIT STRING(SIZE (256)),
+ ...}
+
+KeyIdentity4 ::= BIT STRING(SIZE (128))
+
+END
+
+--
+-- 11.2.4 SUPL POS INIT
+--
+SUPL-POS-INIT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLPOSINIT;
+
+IMPORTS
+ SUPLPOS
+FROM SUPL-POS
+ SETCapabilities
+FROM SUPL-START
+ LocationId, Position, Ver
+FROM ULP-Components
+ Ver2-SUPL-POS-INIT-extension
+FROM ULP-Version-2-message-extensions
+ Ver2-RequestedAssistData-extension
+FROM ULP-Version-2-parameter-extensions;
+
+SUPLPOSINIT ::= SEQUENCE {
+ sETCapabilities SETCapabilities,
+ requestedAssistData RequestedAssistData OPTIONAL,
+ locationId LocationId,
+ position Position OPTIONAL,
+ suplpos SUPLPOS OPTIONAL,
+ ver Ver OPTIONAL,
+ ...,
+-- version 2 extension element
+ ver2-SUPL-POS-INIT-extension Ver2-SUPL-POS-INIT-extension OPTIONAL}
+
+RequestedAssistData ::= SEQUENCE {
+ almanacRequested BOOLEAN,
+ utcModelRequested BOOLEAN,
+ ionosphericModelRequested BOOLEAN,
+ dgpsCorrectionsRequested BOOLEAN,
+ referenceLocationRequested BOOLEAN, -- Note: Used also for GANSS
+ referenceTimeRequested BOOLEAN,
+ acquisitionAssistanceRequested BOOLEAN,
+ realTimeIntegrityRequested BOOLEAN,
+ navigationModelRequested BOOLEAN,
+ navigationModelData NavigationModel OPTIONAL,
+ ...,
+ ver2-RequestedAssistData-extension Ver2-RequestedAssistData-extension OPTIONAL}
+
+NavigationModel ::= SEQUENCE {
+ gpsWeek INTEGER(0..1023),
+ gpsToe INTEGER(0..167),
+ nsat INTEGER(0..31),
+ toeLimit INTEGER(0..10),
+ satInfo SatelliteInfo OPTIONAL,
+...}
+
+-- Further information on this fields can be found
+-- in [3GPP RRLP]and [3GPP 49.031]
+
+SatelliteInfo ::= SEQUENCE (SIZE (1..31)) OF SatelliteInfoElement
+
+SatelliteInfoElement ::= SEQUENCE {
+ satId INTEGER(0..63),
+ iode INTEGER(0..255),
+ ...}
+
+END
+
+--
+-- 11.2.5 SUPL POS
+--
+SUPL-POS DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLPOS;
+
+IMPORTS
+ Velocity
+FROM ULP-Components
+ Ver2-SUPL-POS-extension
+FROM ULP-Version-2-message-extensions
+Ver2-PosPayLoad-extension
+FROM ULP-Version-2-parameter-extensions;
+
+SUPLPOS ::= SEQUENCE {
+ posPayLoad PosPayLoad,
+ velocity Velocity OPTIONAL,
+ ...,
+-- version 2 extension element
+ ver2-SUPL-POS-extension Ver2-SUPL-POS-extension OPTIONAL}
+
+PosPayLoad ::= CHOICE {
+ tia801payload OCTET STRING(SIZE (1..8192)),
+ rrcPayload OCTET STRING(SIZE (1..8192)),
+ rrlpPayload OCTET STRING(SIZE (1..8192)),
+ ...,
+ ver2-PosPayLoad-extension Ver2-PosPayLoad-extension}
+
+END
+
+--
+-- 11.2.6 SUPL END
+--
+SUPL-END DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLEND;
+
+IMPORTS
+ StatusCode, Position, Ver
+FROM ULP-Components
+ Ver2-SUPL-END-extension
+FROM ULP-Version-2-message-extensions;
+
+SUPLEND ::= SEQUENCE {
+ position Position OPTIONAL,
+ statusCode StatusCode OPTIONAL,
+ ver Ver OPTIONAL,
+ ...,
+-- version 2 extension element
+ ver2-SUPL-END-extension Ver2-SUPL-END-extension OPTIONAL}
+
+END
+
+--
+-- 11.2.7 SUPL AUTH REQ
+--
+SUPL-AUTH-REQ DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLAUTHREQ;
+
+IMPORTS
+ Ver
+FROM ULP-Components
+ SETCapabilities
+FROM SUPL-START;
+
+SUPLAUTHREQ ::= SEQUENCE {
+ ver Ver OPTIONAL,
+ sETCapabilities SETCapabilities OPTIONAL,
+ ...}
+
+END
+
+--
+-- 11.2.8 SUPL AUTH RESP
+--
+SUPL-AUTH-RESP DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLAUTHRESP;
+
+IMPORTS
+ SPCSETKey, SPCTID, SPCSETKeylifetime
+FROM Ver2-ULP-Components;
+
+SUPLAUTHRESP ::= SEQUENCE {
+ sPCSETKey SPCSETKey,
+ spctid SPCTID,
+ sPCSETKeylifetime SPCSETKeylifetime OPTIONAL,
+ ...}
+
+END
+
+--
+-- 11.2.9 SUPL NOTIFY
+--
+SUPL-NOTIFY DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS Ver2-SUPLNOTIFY;
+
+IMPORTS
+ Notification
+FROM SUPL-INIT;
+
+Ver2-SUPLNOTIFY ::= SEQUENCE {
+ notification Notification,
+ ...}
+END
+
+--
+-- 11.2.10 SUPL NOTIFY RESPONSE
+--
+SUPL-NOTIFY-RESPONSE DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS Ver2-SUPLNOTIFYRESPONSE;
+
+Ver2-SUPLNOTIFYRESPONSE ::= SEQUENCE {
+ notificationResponse NotificationResponse OPTIONAL,
+ ...}
+
+NotificationResponse ::= ENUMERATED {allowed(0), notAllowed(1), ...}
+
+END
+
+--
+-- 11.2.11 SUPL SET INIT
+--
+SUPL-SET-INIT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS Ver2-SUPLSETINIT;
+
+IMPORTS
+ SETId, QoP
+FROM ULP-Components
+ApplicationID
+FROM Ver2-ULP-Components;
+
+
+Ver2-SUPLSETINIT ::= SEQUENCE {
+ targetSETID SETId, --Target SETid identifies the target SET to be located
+ qoP QoP OPTIONAL,
+ applicationID ApplicationID OPTIONAL,
+ ...}
+
+END
+
+--
+-- 11.2.12 SUPL TRIGGERED START
+--
+SUPL-TRIGGERED-START DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS Ver2-SUPLTRIGGEREDSTART, TriggerType, TriggerParams, maxNumGeoArea, maxAreaId, maxAreaIdList;
+
+IMPORTS
+ LocationId, QoP, Ver, Position
+FROM ULP-Components
+ MultipleLocationIds, CauseCode, ThirdParty, ApplicationID, ReportingCap, Coordinate, CircularArea, EllipticalArea, PolygonArea
+FROM Ver2-ULP-Components
+ SETCapabilities
+FROM SUPL-START;
+
+Ver2-SUPLTRIGGEREDSTART ::= SEQUENCE {
+ sETCapabilities SETCapabilities,
+ locationId LocationId,
+ ver Ver OPTIONAL,
+ qoP QoP OPTIONAL,
+ multipleLocationIds MultipleLocationIds OPTIONAL,
+thirdParty ThirdParty OPTIONAL,
+applicationID ApplicationID OPTIONAL,
+ triggerType TriggerType OPTIONAL,
+ triggerParams TriggerParams OPTIONAL,
+ position Position OPTIONAL,
+ reportingCap ReportingCap OPTIONAL,
+ causeCode CauseCode OPTIONAL,
+...}
+
+TriggerType ::= ENUMERATED {
+ periodic(0), areaEvent(1),
+ ...}
+
+TriggerParams ::= CHOICE {
+ periodicParams PeriodicParams,
+ areaEventParams AreaEventParams,
+ ...}
+
+PeriodicParams ::= SEQUENCE{
+ numberOfFixes INTEGER(1.. 8639999),
+ intervalBetweenFixes INTEGER(1.. 8639999),
+ startTime INTEGER(0..2678400) OPTIONAL,
+...}
+-- intervalBetweenFixes and startTime are in seconds.
+-- numberOfFixes * intervalBetweenFixes shall not exceed 8639999
+-- (100 days in seconds) for compatibility with OMA MLP and RLP
+-- startTime is in relative time in units of seconds measured from "now"
+-- a value of 0 signifies "now", a value of "startTime" signifies startTime
+-- seconds from "now"
+
+AreaEventParams ::= SEQUENCE {
+areaEventType AreaEventType,
+locationEstimate BOOLEAN,
+repeatedReportingParams RepeatedReportingParams OPTIONAL,
+startTime INTEGER(0..2678400) OPTIONAL,
+stopTime INTEGER(0..11318399) OPTIONAL,
+geographicTargetAreaList GeographicTargetAreaList OPTIONAL,
+areaIdLists SEQUENCE (SIZE (1..maxAreaIdList)) OF AreaIdList OPTIONAL,
+...}
+
+-- startTime and stopTime are in seconds.
+-- startTime and stop Time are in relative time in units of seconds measured
+-- from "now"
+-- a value of 0 signifies "now"
+-- stopTime must be > startTime
+-- stopTime - startTime shall not exceed 8639999
+-- (100 days in seconds) for compatibility with OMA MLP and RLP
+
+AreaEventType ::= ENUMERATED {enteringArea(0), insideArea(1), outsideArea(2), leavingArea(3), ...}
+
+RepeatedReportingParams ::= SEQUENCE {
+minimumIntervalTime INTEGER (1..604800), -- time in seconds
+maximumNumberOfReports INTEGER (1..1024),
+...}
+
+GeographicTargetAreaList ::= SEQUENCE (SIZE (1..maxNumGeoArea)) OF GeographicTargetArea
+
+GeographicTargetArea ::= CHOICE {
+ circularArea CircularArea,
+ ellipticalArea EllipticalArea,
+ polygonArea PolygonArea,
+ ...}
+
+AreaIdList ::= SEQUENCE {
+ areaIdSet AreaIdSet,
+ areaIdSetType AreaIdSetType OPTIONAL,
+ geoAreaMappingList GeoAreaMappingList OPTIONAL}
+
+AreaIdSet ::= SEQUENCE SIZE (1..maxAreaId) OF AreaId
+
+AreaId ::= CHOICE {
+ gSMAreaId GSMAreaId,
+ wCDMAAreaId WCDMAAreaId, -- For TD-SCDMA networks, this parameter indicates a TD-SCDMA Area ID
+ cDMAAreaId CDMAAreaId,
+ hRPDAreaId HRPDAreaId,
+ uMBAreaId UMBAreaId,
+ lTEAreaId LTEAreaId,
+ wLANAreaId WLANAreaId,
+ wiMAXAreaId WimaxAreaId,
+ ...,
+nRAreaId NRAreaId }
+
+GSMAreaId ::= SEQUENCE {
+ refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code
+ refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code
+ refLAC INTEGER(0..65535) OPTIONAL, -- Location Area Code
+ refCI INTEGER(0..65535) OPTIONAL, -- Cell Id
+ ...}
+-- only one of the following four combinations are allowed: (1) refMCC, (2) refMCC+refMNC, (3) refMCC+refMNC+refLAC or (4) refMCC+refMNC+refLAC+refCI
+
+WCDMAAreaId ::= SEQUENCE {
+ refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code
+refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code
+ refLAC INTEGER(0..65535) OPTIONAL, -- Location Area Code
+refUC INTEGER(0..268435455) OPTIONAL, -- Cell identity
+...}
+-- only one of the following four combinations are allowed: (1) refMCC, (2) refMCC+refMNC, (3) refMCC+refMNC+refLAC, or (4) refMCC+refMNC+refLAC+refUC
+
+CDMAAreaId::= SEQUENCE {
+ refSID INTEGER(0..65535) OPTIONAL, -- System Id
+ refNID INTEGER(0..32767) OPTIONAL, -- Network Id
+ refBASEID INTEGER(0..65535) OPTIONAL, -- Base Station Id
+...}
+-- only one of the following three combinations are allowed: (1) refSID, (2) refSID+refNID, or (3) refSID+refNID+refBASEID
+
+HRPDAreaId::= SEQUENCE {
+refSECTORID BIT STRING(SIZE (128)), -- HRPD Sector Id
+...}
+
+UMBAreaId::= SEQUENCE {
+ refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code
+ refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code
+refSECTORID BIT STRING(SIZE (128)) OPTIONAL, -- UMB Sector Id
+...}
+
+LTEAreaId::= SEQUENCE {
+ refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code
+ refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code
+refCI BIT STRING(SIZE (29)) OPTIONAL, -- LTE Cell-Id
+...}
+-- only one of the following three combinations are allowed: (1) refMCC, (2) refMCC+refMNC, or (3) refMCC+refMNC+refCI
+-- The LTE Cell-Id is encoded in the 28 Least Significant Bits of refCI
+-- The Most Significant Bit of refCI shall be ignored
+
+WLANAreaId::= SEQUENCE {
+ apMACAddress BIT STRING(SIZE (48)), -- AP MAC Address
+...}
+
+WimaxAreaId ::= SEQUENCE {
+ bsID-MSB BIT STRING (SIZE(24)) OPTIONAL,
+ bsID-LSB BIT STRING (SIZE(24)) }
+-- if only LSB is present, MSB is assumed to be identical to the current serving BS or clamped on network value
+
+NRAreaId ::= SEQUENCE {
+ refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code
+ refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code
+refCI BIT STRING(SIZE (36)) OPTIONAL, -- NR Cell-Id
+...}
+-- only one of the following three combinations are allowed: (1) refMCC, (2)
+-- refMCC+refMNC, or (3) refMCC+refMNC+refCI
+
+
+AreaIdSetType ::= ENUMERATED {border(0), within(1), ...}
+
+GeoAreaMappingList ::= SEQUENCE (SIZE (1..maxNumGeoArea)) OF GeoAreaIndex
+
+GeoAreaIndex ::= INTEGER (1..maxNumGeoArea)
+
+maxNumGeoArea INTEGER ::= 32
+
+maxAreaId INTEGER ::= 256
+
+maxAreaIdList INTEGER ::= 32
+
+END
+
+--
+-- 11.2.13 SUPL TRIGGERED RESPONSE
+--
+SUPL-TRIGGERED-RESPONSE DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS Ver2-SUPLTRIGGEREDRESPONSE;
+
+IMPORTS
+ PosMethod, SLPAddress
+FROM ULP-Components
+ SupportedNetworkInformation, SPCSETKey, SPCTID, SPCSETKeylifetime, GNSSPosTechnology
+FROM Ver2-ULP-Components
+ TriggerParams
+FROM SUPL-TRIGGERED-START;
+
+Ver2-SUPLTRIGGEREDRESPONSE::= SEQUENCE{
+ posMethod PosMethod,
+ triggerParams TriggerParams OPTIONAL,
+ sLPAddress SLPAddress OPTIONAL,
+ supportedNetworkInformation SupportedNetworkInformation OPTIONAL,
+ reportingMode ReportingMode OPTIONAL,
+ sPCSETKey SPCSETKey OPTIONAL,
+ spctid SPCTID OPTIONAL,
+ sPCSETKeylifetime SPCSETKeylifetime OPTIONAL,
+ gnssPosTechnology GNSSPosTechnology OPTIONAL,
+ ...}
+ReportingMode ::= SEQUENCE {
+repMode RepModee,
+batchRepConditions BatchRepConditions OPTIONAL, -- only used for batch reporting
+batchRepType BatchRepType OPTIONAL, -- only used for batch reporting
+...}
+
+RepModee ::= ENUMERATED {realtime(1), quasirealtime(2), batch(3), ...}
+
+BatchRepConditions ::= CHOICE {
+ num-interval INTEGER (1..1024), -- number of periodic fixes/measurements after which the batch report is sent to the SLP
+ num-minutes INTEGER (1..2048), -- number of minutes after which the batch report is sent to the SLP
+ endofsession NULL, -- if selected batch report is to be sent at the end of the session
+ ...}
+
+BatchRepType ::= SEQUENCE {
+reportPosition BOOLEAN, -- set to "true" if reporting of position is allowed
+reportMeasurements BOOLEAN, -- set to "true" if reporting of measurements is allowed
+intermediateReports BOOLEAN, -- set to "true" if the SET is allowed to send intermediate reports if it runs out of memory
+discardOldest BOOLEAN OPTIONAL, -- set to "true" if the SET should discard the oldest positions or measurements of the batch report in order to save memory, set to "false" the SET should discard the latest positions or measurements
+...}
+
+END
+
+--
+-- 11.2.14 SUPL REPORT
+--
+SUPL-REPORT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS Ver2-SUPLREPORT;
+
+IMPORTS
+ SETCapabilities
+FROM SUPL-START
+ Position, PosMethod, SessionID, Ver
+FROM ULP-Components
+ MultipleLocationIds, GNSSPosTechnology, GANSSSignals
+FROM Ver2-ULP-Components
+ maxGANSS
+FROM ULP-Version-2-parameter-extensions;
+
+Ver2-SUPLREPORT ::= SEQUENCE {
+ sessionList SessionList OPTIONAL,
+ sETCapabilities SETCapabilities OPTIONAL,
+ reportDataList ReportDataList OPTIONAL,
+ ver Ver OPTIONAL,
+ moreComponents NULL OPTIONAL,
+...}
+
+SessionList ::= SEQUENCE SIZE (1..maxnumSessions) OF SessionInformation
+
+SessionInformation ::= SEQUENCE {
+ sessionID SessionID,
+ ...}
+
+maxnumSessions INTEGER ::= 64
+
+ReportDataList ::= SEQUENCE SIZE (1.. 1024) OF ReportData
+
+ReportData ::= SEQUENCE {
+ positionData PositionData OPTIONAL,
+ multipleLocationIds MultipleLocationIds OPTIONAL,
+ resultCode ResultCode OPTIONAL,
+ timestamp TimeStamp OPTIONAL,
+ ...}
+
+PositionData ::= SEQUENCE {
+ position Position,
+ posMethod PosMethod OPTIONAL,
+ gnssPosTechnology GNSSPosTechnology OPTIONAL,
+ ganssSignalsInfo GANSSsignalsInfo OPTIONAL,
+ ...}
+
+GANSSsignalsInfo ::= SEQUENCE SIZE (1..maxGANSS) OF GANSSSignalsDescription
+
+GANSSSignalsDescription ::= SEQUENCE {
+ganssId INTEGER(0..15), -- coding according to parameter definition in section 10.10
+gANSSSignals GANSSSignals,
+...}
+
+ResultCode ::= ENUMERATED {outofradiocoverage(1), noposition(2), nomeasurement(3), nopositionnomeasurement(4), outofmemory(5), outofmemoryintermediatereporting(6), other(7), ...}
+
+TimeStamp ::= CHOICE {
+ absoluteTime UTCTime,
+ relativeTime INTEGER (0..31536000)} -- relative time to when the SUPL REPORT message is sent in units of 1 sec, where 0 signifies "now" and n signifies n seconds in the past
+
+END
+
+--
+-- 11.2.15 SUPL TRIGGERED STOP
+--
+SUPL-TRIGGERED-STOP DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS Ver2-SUPLTRIGGEREDSTOP;
+
+IMPORTS
+ StatusCode
+FROM ULP-Components;
+
+Ver2-SUPLTRIGGEREDSTOP::= SEQUENCE{
+ statusCode StatusCode OPTIONAL,
+ ...}
+
+END
+
+--
+-- 11.3 Messsage Extensions (SUPL Version 2)
+--
+ULP-Version-2-message-extensions DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS
+Ver2-SUPL-INIT-extension, Ver2-SUPL-START-extension, Ver2-SUPL-RESPONSE-extension, Ver2-SUPL-POS-INIT-extension, Ver2-SUPL-POS-extension, Ver2-SUPL-END-extension;
+
+IMPORTS
+ SLPAddress, Position, Ver
+FROM ULP-Components
+ SETCapabilities
+FROM SUPL-START
+ SupportedNetworkInformation, GNSSPosTechnology, MultipleLocationIds, UTRAN-GPSReferenceTimeResult, UTRAN-GANSSReferenceTimeResult, UTRAN-GPSReferenceTimeAssistance, UTRAN-GANSSReferenceTimeAssistance, SPCSETKey, SPCTID, SPCSETKeylifetime, ThirdParty, ApplicationID
+FROM Ver2-ULP-Components
+ TriggerType
+FROM SUPL-TRIGGERED-START
+ Ver2-HighAccuracyPosition
+FROM Ver2-ULP-Components;
+
+Ver2-SUPL-INIT-extension ::= SEQUENCE {
+ notificationMode NotificationMode OPTIONAL,
+ supportedNetworkInformation SupportedNetworkInformation OPTIONAL,
+ triggerType TriggerType OPTIONAL,
+ e-SLPAddress SLPAddress OPTIONAL,
+ historicReporting HistoricReporting OPTIONAL,
+ protectionLevel ProtectionLevel OPTIONAL,
+ gnssPosTechnology GNSSPosTechnology OPTIONAL,
+ minimumMajorVersion INTEGER (0..255) OPTIONAL,
+...}
+
+NotificationMode ::= ENUMERATED {normal(0), basedOnLocation(1), ...}
+
+HistoricReporting ::= SEQUENCE {
+ allowedReportingType AllowedReportingType,
+ reportingCriteria ReportingCriteria OPTIONAL, ...}
+
+AllowedReportingType ::= ENUMERATED {
+ positionsOnly(0), measurementsOnly(1), positionsAndMeasurements(2), ...}
+
+ReportingCriteria ::= SEQUENCE {
+ timeWindow TimeWindow OPTIONAL,
+ maxNumberofReports INTEGER(1..65536) OPTIONAL,
+ minTimeInterval INTEGER(1..86400) OPTIONAL,
+...}
+
+TimeWindow ::= SEQUENCE {
+ startTime INTEGER(-525600..-1), -- Time in minutes
+ stopTime INTEGER(-525599..0)} -- Time in minutes
+
+ProtectionLevel ::= SEQUENCE {
+ protlevel ProtLevel,
+ basicProtectionParams BasicProtectionParams OPTIONAL,
+...}
+
+ProtLevel ::= ENUMERATED {
+ nullProtection(0), basicProtection(1), ...}
+
+BasicProtectionParams ::= SEQUENCE {
+ keyIdentifier OCTET STRING(SIZE (8)),
+ basicReplayCounter INTEGER(0..65535),
+ basicMAC BIT STRING(SIZE (32)),
+...}
+
+Ver2-SUPL-START-extension ::= SEQUENCE {
+ multipleLocationIds MultipleLocationIds OPTIONAL,
+ thirdParty ThirdParty OPTIONAL,
+ applicationID ApplicationID OPTIONAL,
+ position Position OPTIONAL,
+...}
+
+Ver2-SUPL-RESPONSE-extension ::= SEQUENCE {
+ supportedNetworkInformation SupportedNetworkInformation OPTIONAL,
+ sPCSETKey SPCSETKey OPTIONAL,
+ spctid SPCTID OPTIONAL,
+ sPCSETKeylifetime SPCSETKeylifetime OPTIONAL,
+ initialApproximateposition Position OPTIONAL,
+ gnssPosTechnology GNSSPosTechnology OPTIONAL,
+...}
+
+Ver2-SUPL-POS-INIT-extension ::= SEQUENCE {
+ multipleLocationIds MultipleLocationIds OPTIONAL,
+ utran-GPSReferenceTimeResult UTRAN-GPSReferenceTimeResult OPTIONAL,
+ utran-GANSSReferenceTimeResult UTRAN-GANSSReferenceTimeResult OPTIONAL,
+...}
+
+Ver2-SUPL-POS-extension ::= SEQUENCE {
+utran-GPSReferenceTimeAssistance UTRAN-GPSReferenceTimeAssistance OPTIONAL,
+utran-GPSReferenceTimeResult UTRAN-GPSReferenceTimeResult OPTIONAL,
+utran-GANSSReferenceTimeAssistance UTRAN-GANSSReferenceTimeAssistance OPTIONAL,
+utran-GANSSReferenceTimeResult UTRAN-GANSSReferenceTimeResult OPTIONAL,
+...}
+
+Ver2-SUPL-END-extension ::= SEQUENCE {
+ sETCapabilities SETCapabilities OPTIONAL,
+...,
+ ver2-HighAccuracyPosition Ver2-HighAccuracyPosition OPTIONAL}
+
+END
+
+--
+-- 11.4 Parameter Extensions (SUPL Version 2)
+--
+ULP-Version-2-parameter-extensions DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS
+maxGANSS, Ver2-Notification-extension, Ver2-SETCapabilities-extension, Ver2-PosProtocol-extension, Ver2-PosTechnology-extension, Ver2-RequestedAssistData-extension, Ver2-PosPayLoad-extension;
+
+IMPORTS
+ GANSSSignals, ReportingCap
+FROM Ver2-ULP-Components
+ maxNumGeoArea, maxAreaId, maxAreaIdList
+FROM SUPL-TRIGGERED-START;
+
+Ver2-Notification-extension ::= SEQUENCE {
+ emergencyCallLocation NULL OPTIONAL,
+ ...}
+
+Ver2-SETCapabilities-extension ::= SEQUENCE {
+serviceCapabilities ServiceCapabilities OPTIONAL,
+...,
+ supportedBearers SupportedBearers OPTIONAL}
+
+
+ServiceCapabilities ::= SEQUENCE {
+ servicesSupported ServicesSupported,
+ reportingCapabilities ReportingCap OPTIONAL,
+ eventTriggerCapabilities EventTriggerCapabilities OPTIONAL,
+ sessionCapabilities SessionCapabilities,
+...}
+
+ServicesSupported ::= SEQUENCE {
+ periodicTrigger BOOLEAN,
+ areaEventTrigger BOOLEAN,
+...}
+
+EventTriggerCapabilities ::= SEQUENCE {
+ geoAreaShapesSupported GeoAreaShapesSupported,
+ maxNumGeoAreaSupported INTEGER (0..maxNumGeoArea) OPTIONAL,
+ maxAreaIdListSupported INTEGER (0..maxAreaIdList) OPTIONAL,
+ maxAreaIdSupportedPerList INTEGER (0..maxAreaId) OPTIONAL,
+...}
+
+GeoAreaShapesSupported ::= SEQUENCE {
+ ellipticalArea BOOLEAN,
+ polygonArea BOOLEAN,
+...}
+
+SessionCapabilities ::= SEQUENCE {
+ maxNumberTotalSessions INTEGER (1..128),
+ maxNumberPeriodicSessions INTEGER (1..32),
+ maxNumberTriggeredSessions INTEGER (1..32),
+...}
+
+SupportedBearers ::= SEQUENCE {
+ gsm BOOLEAN,
+ wcdma BOOLEAN,
+ lte BOOLEAN,
+ cdma BOOLEAN,
+ hprd BOOLEAN,
+ umb BOOLEAN,
+ wlan BOOLEAN,
+ wiMAX BOOLEAN,
+...,
+ nr BOOLEAN OPTIONAL}
+
+
+Ver2-PosProtocol-extension ::= SEQUENCE {
+ lpp BOOLEAN,
+posProtocolVersionRRLP PosProtocolVersion3GPP OPTIONAL,
+posProtocolVersionRRC PosProtocolVersion3GPP OPTIONAL,
+posProtocolVersionTIA801 PosProtocolVersion3GPP2 OPTIONAL,
+posProtocolVersionLPP PosProtocolVersion3GPP OPTIONAL,
+...,
+ lppe BOOLEAN OPTIONAL,
+ posProtocolVersionLPPe PosProtocolVersionOMA OPTIONAL}
+
+PosProtocolVersion3GPP ::= SEQUENCE {
+ majorVersionField INTEGER(0..255),
+ technicalVersionField INTEGER(0..255),
+ editorialVersionField INTEGER(0..255),
+...}
+
+PosProtocolVersion3GPP2 ::= SEQUENCE (SIZE(1..8)) OF Supported3GPP2PosProtocolVersion
+
+Supported3GPP2PosProtocolVersion ::= SEQUENCE {
+ revisionNumber BIT STRING(SIZE (6)), -- the location standard revision number the SET supports coded according to 3GPP2 C.S0022
+ pointReleaseNumber INTEGER(0..255),
+ internalEditLevel INTEGER(0..255),
+...}
+
+PosProtocolVersionOMA ::= SEQUENCE {
+ majorVersionField INTEGER(0..255),
+ minorVersionField INTEGER(0..255),
+...}
+
+Ver2-PosTechnology-extension ::= SEQUENCE {
+ gANSSPositionMethods GANSSPositionMethods OPTIONAL,
+...,
+ additionalPositioningMethods AdditionalPositioningMethods OPTIONAL}
+
+GANSSPositionMethods ::= SEQUENCE (SIZE(1..16)) OF GANSSPositionMethod
+
+GANSSPositionMethod ::= SEQUENCE {
+ganssId INTEGER(0..15), -- coding according to parameter definition in section 10.10
+ganssSBASid BIT STRING(SIZE(3)) OPTIONAL, --coding according to parameter definition in section 10.10
+gANSSPositioningMethodTypes GANSSPositioningMethodTypes,
+gANSSSignals GANSSSignals,
+...,
+ rtk RTK OPTIONAL}
+
+RTK ::= SEQUENCE {
+ osr BOOLEAN,
+...}
+
+GANSSPositioningMethodTypes ::= SEQUENCE {
+ setAssisted BOOLEAN,
+ setBased BOOLEAN,
+ autonomous BOOLEAN,
+...}
+
+AdditionalPositioningMethods ::= SEQUENCE (SIZE(1..8)) OF AddPosSupport-Element
+
+AddPosSupport-Element ::= SEQUENCE {
+ addPosID ENUMERATED {
+ mBS,
+ ...
+ },
+ addPosMode BIT STRING {
+ standalone (0),
+ setBased (1),
+ setAssisted (2)} (SIZE (1..8)) OPTIONAL,
+...}
+
+Ver2-RequestedAssistData-extension ::= SEQUENCE {
+ ganssRequestedCommonAssistanceDataList GanssRequestedCommonAssistanceDataList OPTIONAL,
+ ganssRequestedGenericAssistanceDataList GanssRequestedGenericAssistanceDataList OPTIONAL,
+ extendedEphemeris ExtendedEphemeris OPTIONAL,
+ extendedEphemerisCheck ExtendedEphCheck OPTIONAL,
+...}
+
+GanssRequestedCommonAssistanceDataList ::= SEQUENCE {
+ ganssReferenceTime BOOLEAN,
+ ganssIonosphericModel BOOLEAN,
+ ganssAdditionalIonosphericModelForDataID00 BOOLEAN,
+ ganssAdditionalIonosphericModelForDataID11 BOOLEAN,
+ ganssEarthOrientationParameters BOOLEAN,
+...,
+ ganssAdditionalIonosphericModelForDataID01 BOOLEAN OPTIONAL}
+
+GanssRequestedGenericAssistanceDataList ::= SEQUENCE(SIZE(1..maxGANSS)) OF GanssReqGenericData
+
+GanssReqGenericData ::= SEQUENCE {
+ ganssId INTEGER(0..15), -- coding according to parameter definition in section 10.10
+ ganssSBASid BIT STRING(SIZE(3)) OPTIONAL, --coding according to parameter definition in section 10.10
+ ganssRealTimeIntegrity BOOLEAN,
+ ganssDifferentialCorrection DGANSS-Sig-Id-Req OPTIONAL,
+ ganssAlmanac BOOLEAN,
+ ganssNavigationModelData GanssNavigationModelData OPTIONAL,
+ ganssTimeModels BIT STRING(SIZE(16)) OPTIONAL,
+ ganssReferenceMeasurementInfo BOOLEAN,
+ ganssDataBits GanssDataBits OPTIONAL,
+ ganssUTCModel BOOLEAN,
+ ganssAdditionalDataChoices GanssAdditionalDataChoices OPTIONAL,
+ ganssAuxiliaryInformation BOOLEAN,
+ ganssExtendedEphemeris ExtendedEphemeris OPTIONAL,
+ ganssExtendedEphemerisCheck GanssExtendedEphCheck OPTIONAL,
+...,
+ bds-DifferentialCorrection BDS-Sig-Id-Req OPTIONAL,
+ bds-GridModelReq BOOLEAN OPTIONAL}
+
+DGANSS-Sig-Id-Req ::= BIT STRING (SIZE(8)) -- coding according to parameter definition in section 10.9
+
+BDS-Sig-Id-Req ::= BIT STRING (SIZE(8)) -- coding according to parameter definition in section 10.9
+
+GanssNavigationModelData ::= SEQUENCE {
+ganssWeek INTEGER(0..4095),
+ganssToe INTEGER(0..167),
+t-toeLimit INTEGER(0..15),
+satellitesListRelatedDataList SatellitesListRelatedDataList OPTIONAL,
+...}
+
+SatellitesListRelatedDataList ::= SEQUENCE(SIZE(0..maxGANSSSat)) OF SatellitesListRelatedData
+
+SatellitesListRelatedData ::= SEQUENCE {
+ satId INTEGER(0..63),
+ iod INTEGER(0..1023),
+...}
+
+maxGANSS INTEGER ::= 16
+maxGANSSSat INTEGER ::= 32
+
+GanssDataBits ::= SEQUENCE {
+ ganssTODmin INTEGER (0..59),
+ reqDataBitAssistanceList ReqDataBitAssistanceList,
+...}
+
+ReqDataBitAssistanceList ::= SEQUENCE {
+ gnssSignals GANSSSignals,
+ ganssDataBitInterval INTEGER (0..15),
+ ganssDataBitSatList SEQUENCE (SIZE(1..maxGANSSSat)) OF INTEGER (0..63) OPTIONAL,
+...}
+
+GanssAdditionalDataChoices ::= SEQUENCE {
+ orbitModelID INTEGER(0..7) OPTIONAL,
+ clockModelID INTEGER(0..7) OPTIONAL,
+ utcModelID INTEGER(0..7) OPTIONAL,
+ almanacModelID INTEGER(0..7) OPTIONAL,
+...}
+
+ExtendedEphemeris ::= SEQUENCE {
+ validity INTEGER (1..256), -- Requested validity in 4 hour steps
+ ...}
+
+ExtendedEphCheck ::= SEQUENCE {
+ beginTime GPSTime, -- Begin time of ephemeris extension held by SET
+ endTime GPSTime, -- End time of ephemeris extension held by SET
+ ...}
+
+GanssExtendedEphCheck ::= SEQUENCE {
+ beginTime GANSSextEphTime, -- Begin time of ephemeris extension held by SET
+ endTime GANSSextEphTime, -- End time of ephemeris extension held by SET
+ ...}
+
+GPSTime ::= SEQUENCE {
+ gPSWeek INTEGER (0..1023),
+ gPSTOWhour INTEGER (0..167),
+...}
+
+GANSSextEphTime ::= SEQUENCE {
+ gANSSday INTEGER (0..8191),
+ gANSSTODhour INTEGER (0..23),
+...}
+
+Ver2-PosPayLoad-extension ::= SEQUENCE {
+ lPPPayload SEQUENCE (SIZE (1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL,
+ tia801Payload SEQUENCE (SIZE(1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL,
+...}
+
+
+END
diff --git a/epan/dissectors/asn1/ulp/ULP-Components.asn b/epan/dissectors/asn1/ulp/ULP-Components.asn
new file mode 100644
index 00000000..50997cb9
--- /dev/null
+++ b/epan/dissectors/asn1/ulp/ULP-Components.asn
@@ -0,0 +1,917 @@
+-- ULP-Components.asn
+-- Taken from OMA UserPlane Location Protocol
+-- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ULP-V2_0_5-20191028-A.zip
+
+--
+-- 11.5 Common elements (SUPL Version 1)
+--
+ULP-Components DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS Version, SessionID, IPAddress, SLPAddress, LocationId, Position, StatusCode, Velocity, QoP, PosMethod, Ver, SETId, PrimaryCPICH-Info, CellParametersID, FQDN;
+
+IMPORTS
+ Ver2-CellInfo-extension
+FROM Ver2-ULP-Components;
+
+-- protocol version expressed as x.y.z (e.g., 5.1.0)
+Version ::= SEQUENCE {
+ maj INTEGER(0..255),
+ min INTEGER(0..255),
+ servind INTEGER(0..255)}
+
+SessionID ::= SEQUENCE {
+ setSessionID SetSessionID OPTIONAL, -- the semantics of OPTIONAL applies to the encoding only. The parameter itself is MANDATORY. This is introduced only to minimize bandwidth for the SUPL INIT message. Since the setSessionID is allocated by the SET, there is no setSessionID to be transmitted in the SUPL INIT message.
+ slpSessionID SlpSessionID OPTIONAL -- the semantics of OPTIONAL applies to the encoding only. The parameter itself is MANDATORY. This is introduced only to minimize bandwidth for the SUPL START, SUPL TRIGGERED START and SUPL SET INIT messages. Since the slpSessionID is allocated by the SLP, there is no slpSessionID to be transmitted in these messages (with the exception described in section 10.14).
+}
+
+SetSessionID ::= SEQUENCE {sessionId INTEGER(0..65535),
+ setId SETId}
+
+SETId ::= CHOICE {
+ msisdn OCTET STRING(SIZE (8)),
+ mdn OCTET STRING(SIZE (8)),
+ min BIT STRING(SIZE (34)), -- coded according to TIA-553
+ imsi OCTET STRING(SIZE (8)),
+ nai IA5String(SIZE (1..1000)),
+ iPAddress IPAddress,
+ ...,
+ ver2-imei OCTET STRING(SIZE(8))}
+-- msisdn, mnd, imsi and imei are a BCD (Binary Coded Decimal) string
+-- represent digits from 0 through 9,
+-- two digits per octet, each digit encoded 0000 to 1001 (0 to 9)
+-- bits 8765 of octet n encoding digit 2n
+-- bits 4321 of octet n encoding digit 2(n-1) +1
+-- not used digits in the string shall be filled with 1111
+-- imei SHALL NOT be used unless the SLP indicates support for SUPL ver 2.0.3
+-- or greater
+
+SlpSessionID ::= SEQUENCE {
+ sessionID OCTET STRING(SIZE (4)),
+ slpId SLPAddress}
+
+IPAddress ::= CHOICE {
+ ipv4Address OCTET STRING(SIZE (4)),
+ ipv6Address OCTET STRING(SIZE (16))}
+
+SLPAddress ::= CHOICE {iPAddress IPAddress,
+ fqdn FQDN,
+ ...}
+
+FQDN ::=
+ VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" |".-"))(SIZE (1..255))
+
+Ver ::= BIT STRING(SIZE (64))
+
+LocationId ::= SEQUENCE {cellInfo CellInfo,
+ status Status,
+ ...}
+
+Status ::= ENUMERATED {stale(0), current(1), unknown(2), ...}
+
+CellInfo ::= CHOICE {
+ gsmCell GsmCellInformation,
+ wcdmaCell WcdmaCellInformation, --WCDMA Cell Information/TD-SCDMA Cell Information
+ cdmaCell CdmaCellInformation,
+ ...,
+ ver2-CellInfo-extension Ver2-CellInfo-extension}
+
+Position ::= SEQUENCE {
+ timestamp UTCTime, -- shall include seconds and shall use UTC time.
+ positionEstimate PositionEstimate,
+ velocity Velocity OPTIONAL,
+ ...}
+
+PositionEstimate ::= SEQUENCE {
+ latitudeSign ENUMERATED {north, south},
+ latitude INTEGER(0..8388607),
+ longitude INTEGER(-8388608..8388607),
+ uncertainty
+ SEQUENCE {uncertaintySemiMajor INTEGER(0..127),
+ uncertaintySemiMinor INTEGER(0..127),
+ orientationMajorAxis INTEGER(0..180)} OPTIONAL, -- angle in degree between major axis and North
+ confidence INTEGER(0..100) OPTIONAL,
+ altitudeInfo AltitudeInfo OPTIONAL,
+ ...} -- Coding as in [3GPP GAD]
+
+AltitudeInfo ::= SEQUENCE {
+ altitudeDirection ENUMERATED {height, depth},
+ altitude INTEGER(0..32767),
+ altUncertainty INTEGER(0..127),
+ ... } -- based on [3GPP GAD]
+
+CdmaCellInformation ::= SEQUENCE {
+ refNID INTEGER(0..65535), -- Network Id
+ refSID INTEGER(0..32767), -- System Id
+ refBASEID INTEGER(0..65535), -- Base Station Id
+ refBASELAT INTEGER(0..4194303), -- Base Station Latitude
+ reBASELONG INTEGER(0..8388607), -- Base Station Longitude
+ refREFPN INTEGER(0..511), -- Base Station PN Code
+ refWeekNumber INTEGER(0..65535), -- GPS Week Number
+ refSeconds INTEGER(0..4194303), -- GPS Seconds
+ ...}
+
+GsmCellInformation ::= SEQUENCE {
+ refMCC INTEGER(0..999), -- Mobile Country Code
+ refMNC INTEGER(0..999), -- Mobile Network Code
+ refLAC INTEGER(0..65535), -- Location area code
+ refCI INTEGER(0..65535), -- Cell identity
+ nmr NMR OPTIONAL,
+ ta INTEGER(0..255) OPTIONAL, --Timing Advance
+ ...}
+
+WcdmaCellInformation ::= SEQUENCE {
+ refMCC INTEGER(0..999), -- Mobile Country Code
+ refMNC INTEGER(0..999), -- Mobile Network Code
+ refUC INTEGER(0..268435455), -- Cell identity
+ frequencyInfo FrequencyInfo OPTIONAL,
+ primaryScramblingCode INTEGER(0..511) OPTIONAL, -- Not applicable for TDD
+ measuredResultsList MeasuredResultsList OPTIONAL,
+ ...,
+ cellParametersId INTEGER(0..127) OPTIONAL, -- Not applicable for FDD
+ timingAdvance TimingAdvance OPTIONAL -- Not applicable for FDD
+}
+
+TimingAdvance ::= SEQUENCE {
+ ta INTEGER (0..8191),
+ tAResolution TAResolution OPTIONAL, --If missing, resolution is 0.125 chips
+ chipRate ChipRate OPTIONAL, --If missing, chip rate is 1.28 Mchip/s
+...}
+
+TAResolution ::= ENUMERATED {res10chip(0),res05chip(1),res0125chip(2), ...} -- Corresponding to 1.0-chip, 0.5-chip and 0.125-chip resolutions, respectively
+
+ChipRate ::= ENUMERATED {tdd128(0),tdd384(1), tdd768(2), ...} --Corresponding to 1.28-Mchips/s, 3.84-Mchips/s and 7.68-Mchips/s chip rates, respectively
+
+
+FrequencyInfo ::= SEQUENCE {
+ modeSpecificInfo CHOICE {fdd FrequencyInfoFDD,
+ tdd FrequencyInfoTDD,
+ ...},
+ ...}
+
+FrequencyInfoFDD ::= SEQUENCE {
+ uarfcn-UL UARFCN OPTIONAL,
+ uarfcn-DL UARFCN,
+ ...}
+
+FrequencyInfoTDD ::= SEQUENCE {uarfcn-Nt UARFCN,
+ ...}
+
+UARFCN ::= INTEGER(0..16383)
+
+NMR ::= SEQUENCE (SIZE (1..15)) OF NMRelement
+
+NMRelement ::= SEQUENCE {
+ arfcn INTEGER(0..1023),
+ bsic INTEGER(0..63),
+ rxLev INTEGER(0..63),
+ ...}
+
+MeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasuredResults
+
+MeasuredResults ::= SEQUENCE {
+ frequencyInfo FrequencyInfo OPTIONAL,
+ utra-CarrierRSSI UTRA-CarrierRSSI OPTIONAL,
+ cellMeasuredResultsList CellMeasuredResultsList OPTIONAL}
+
+CellMeasuredResultsList ::=
+ SEQUENCE (SIZE (1..maxCellMeas)) OF CellMeasuredResults
+
+-- SPARE: UTRA-CarrierRSSI, Max = 76
+-- Values above Max are spare
+UTRA-CarrierRSSI ::= INTEGER(0..127)
+
+CellMeasuredResults ::= SEQUENCE {
+ cellIdentity INTEGER(0..268435455) OPTIONAL,
+ modeSpecificInfo
+ CHOICE {fdd
+ SEQUENCE {primaryCPICH-Info PrimaryCPICH-Info,
+ cpich-Ec-N0 CPICH-Ec-N0 OPTIONAL,
+ cpich-RSCP CPICH-RSCP OPTIONAL,
+ pathloss Pathloss OPTIONAL},
+ tdd
+ SEQUENCE {cellParametersID CellParametersID,
+ proposedTGSN TGSN OPTIONAL,
+ primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL,
+ pathloss Pathloss OPTIONAL,
+ timeslotISCP-List TimeslotISCP-List OPTIONAL --NOTE: TimeSlotISCP measurement list cannot be interpreted without the knowledge of Cell Info as defined in [3GPP RRC]
+}}}
+
+CellParametersID ::= INTEGER(0..127)
+
+TGSN ::= INTEGER(0..14)
+
+PrimaryCCPCH-RSCP ::= INTEGER(0..127)
+
+-- SPARE: TimeslotISCP, Max = 91
+-- Values above Max are spare
+TimeslotISCP ::= INTEGER(0..127)
+
+TimeslotISCP-List ::= SEQUENCE (SIZE (1..maxTS)) OF TimeslotISCP
+
+PrimaryCPICH-Info ::= SEQUENCE {primaryScramblingCode INTEGER(0..511)}
+
+-- SPARE: CPICH-Ec-No, Max = 49
+-- Values above Max are spare
+CPICH-Ec-N0 ::= INTEGER(0..63)
+
+-- SPARE: CPICH- RSCP, data range from 0 to 91 and from 123 to 127.
+-- Values from 92 to 122 are spare
+-- the encoding of cpich-RSCP is (as per [3GPP RRC] V5.11.0)
+
+-- cpich-RSCP = 123 CPICH RSCP <-120 dBm
+-- cpich-RSCP = 124 -120 ? CPICH RSCP < -119 dBm
+-- cpich-RSCP = 125 -119 ? CPICH RSCP < -118 dBm
+-- cpich-RSCP = 126 -118 ? CPICH RSCP < -117 dBm
+-- cpich-RSCP = 127 -117 ? CPICH RSCP < -116 dBm
+-- cpich-RSCP = 0 -116 ? CPICH RSCP < -115 dBm
+-- cpich-RSCP = 1 -115 ? CPICH RSCP < -114 dBm
+-- ... ... ...
+-- cpich-RSCP = 89 -27 ? CPICH RSCP < -26 dBm
+-- cpich-RSCP = 90 -26 ? CPICH RSCP < -25 dBm
+-- cpich-RSCP = 91 -25 ? CPICH RSCP dBm
+
+CPICH-RSCP ::= INTEGER(0..127)
+
+-- SPARE: Pathloss, Max = 158
+-- Values above Max are spare
+Pathloss ::= INTEGER(46..173)
+
+maxCellMeas INTEGER ::= 32
+
+maxFreq INTEGER ::= 8
+
+maxTS INTEGER ::= 14
+
+StatusCode ::= ENUMERATED {
+ unspecified(0), systemFailure(1), unexpectedMessage(2), protocolError(3),
+ dataMissing(4), unexpectedDataValue(5), posMethodFailure(6),
+ posMethodMismatch(7), posProtocolMismatch(8), targetSETnotReachable(9),
+ versionNotSupported(10), resourceShortage(11), invalidSessionId(12),
+ nonProxyModeNotSupported(13), proxyModeNotSupported(14),
+ positioningNotPermitted(15), authNetFailure(16), authSuplinitFailure(17), consentDeniedByUser(100), consentGrantedByUser(101), ..., ver2-incompatibleProtectionLevel(18), ver2-serviceNotSupported(19), ver2-insufficientInterval(20), ver2-noSUPLCoverage(21), ver2-sessionStopped(102), ver2-appIdDenied(103)}
+
+QoP ::= SEQUENCE {
+ horacc INTEGER(0..127),
+ veracc INTEGER(0..127) OPTIONAL, -- as defined in [3GPP GAD] "uncertainty altitude"
+ maxLocAge INTEGER(0..65535) OPTIONAL,
+ delay INTEGER(0..7) OPTIONAL, -- as defined in [3GPP RRLP]
+ ...,
+ ver2-responseTime INTEGER (1..128) OPTIONAL}
+
+Velocity ::= CHOICE { -- velocity definition as per [3GPP GAD]
+ horvel Horvel,
+ horandvervel Horandvervel,
+ horveluncert Horveluncert,
+ horandveruncert Horandveruncert,
+ ...}
+
+Horvel ::= SEQUENCE {
+ bearing BIT STRING(SIZE (9)),
+ horspeed BIT STRING(SIZE (16)),
+ ...}
+
+Horandvervel ::= SEQUENCE {
+ verdirect BIT STRING(SIZE (1)),
+ bearing BIT STRING(SIZE (9)),
+ horspeed BIT STRING(SIZE (16)),
+ verspeed BIT STRING(SIZE (8)),
+ ...}
+
+Horveluncert ::= SEQUENCE {
+ bearing BIT STRING(SIZE (9)),
+ horspeed BIT STRING(SIZE (16)),
+ uncertspeed BIT STRING(SIZE (8)),
+ ...}
+
+Horandveruncert ::= SEQUENCE {
+ verdirect BIT STRING(SIZE (1)),
+ bearing BIT STRING(SIZE (9)),
+ horspeed BIT STRING(SIZE (16)),
+ verspeed BIT STRING(SIZE (8)),
+ horuncertspeed BIT STRING(SIZE (8)),
+ veruncertspeed BIT STRING(SIZE (8)),
+ ...}
+
+PosMethod ::= ENUMERATED {
+agpsSETassisted(0), agpsSETbased(1), agpsSETassistedpref(2), agpsSETbasedpref(3), autonomousGPS(4), aflt(5), ecid(6), eotd(7), otdoa(8), noPosition(9), ..., ver2-historicalDataRetrieval(10), ver2-agnssSETassisted(11), ver2-agnssSETbased(12), ver2-agnssSETassistedpref(13), ver2-agnssSETbasedpref(14), ver2-autonomousGNSS(15), ver2-sessioninfoquery(16), ver2-mbs(17)}
+
+END
+
+--
+-- 11.6 Common elements (SUPL Version 2)
+--
+Ver2-ULP-Components DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS Ver2-CellInfo-extension, MultipleLocationIds, SupportedNetworkInformation, CauseCode, UTRAN-GPSReferenceTimeAssistance, UTRAN-GPSReferenceTimeResult, SPCSETKey, SPCTID, SPCSETKeylifetime, UTRAN-GANSSReferenceTimeAssistance, UTRAN-GANSSReferenceTimeResult, GNSSPosTechnology, GANSSSignals, ThirdParty, ApplicationID, ReportingCap, Coordinate, CircularArea, EllipticalArea, PolygonArea, Ver2-HighAccuracyPosition;
+
+IMPORTS
+ LocationId, PrimaryCPICH-Info, CellParametersID, FQDN, Velocity
+FROM ULP-Components;
+
+MultipleLocationIds ::= SEQUENCE SIZE (1..maxLidSize) OF LocationIdData
+
+LocationIdData ::= SEQUENCE {
+locationId LocationId,
+relativetimestamp RelativeTime OPTIONAL, -- if relativetimestamp is present, then data represents historical measurement, if absent, data represents current measurements
+servingFlag BOOLEAN, -- if "true" measurements represent serving cell
+...}
+
+RelativeTime ::= INTEGER (0..65535) -- relative time to "current" Location Id in multiples of 0.01sec
+
+maxLidSize INTEGER ::= 64
+
+SupportedNetworkInformation ::= SEQUENCE {
+ wlan BOOLEAN,
+ supportedWLANInfo SupportedWLANInfo OPTIONAL,
+ supportedWLANApsList SupportedWLANApsList OPTIONAL,
+ gsm BOOLEAN,
+ wcdma BOOLEAN,
+ supportedWCDMAInfo SupportedWCDMAInfo OPTIONAL,
+ cdma BOOLEAN,
+ hrdp BOOLEAN,
+ umb BOOLEAN,
+ lte BOOLEAN,
+ wimax BOOLEAN,
+ historic BOOLEAN,
+ nonServing BOOLEAN,
+ uTRANGPSReferenceTime BOOLEAN,
+ uTRANGANSSReferenceTime BOOLEAN,
+ ...,
+ nr BOOLEAN OPTIONAL}
+
+SupportedWLANInfo ::= SEQUENCE {
+ apTP BOOLEAN, -- AP transmit power
+ apAG BOOLEAN, -- AP antenna gain
+ apSN BOOLEAN, -- AP S/N received at SET
+ apDevType BOOLEAN, -- Device type
+ apRSSI BOOLEAN, -- AP signal strength at SET
+ apChanFreq BOOLEAN, -- AP channel/frequency of Tx/Rx
+ apRTD BOOLEAN, -- Round Trip Delay between SET and AP
+ setTP BOOLEAN, -- SET transmit power
+ setAG BOOLEAN, -- SET antenna gain
+ setSN BOOLEAN, -- SET S/N received at AP
+ setRSSI BOOLEAN, -- SET signal strength at AP
+ apRepLoc BOOLEAN, -- AP Location as reported by AP (legacy encoding)
+ ...,
+ apRL BOOLEAN OPTIONAL, -- AP Location as reported by AP (as per IEEE802.11)
+ opClass BOOLEAN OPTIONAL, -- operating class as defined in IEEE 802.11
+ apSSID BOOLEAN OPTIONAL, -- SSID of the wireless network served by AP
+ apPHYType BOOLEAN OPTIONAL, -- AP PHY Type as defined in IEEE 802.11
+ setMACAddress BOOLEAN OPTIONAL -- SET MAC Address as known to the WLAN AP
+}
+
+maxWLANApDataSize INTEGER ::= 128
+
+SupportedWLANApsList ::= SEQUENCE {
+ supportedWLANApDataList SEQUENCE (SIZE (1..maxWLANApDataSize)) OF SupportedWLANApData,
+ supportedWLANapsChannel11a SupportedWLANApsChannel11a OPTIONAL,
+ supportedWLANapsChannel11bg SupportedWLANApsChannel11bg OPTIONAL,
+ ...
+}
+
+SupportedWLANApsChannel11a ::= SEQUENCE {
+ ch34 BOOLEAN,
+ ch36 BOOLEAN,
+ ch38 BOOLEAN,
+ ch40 BOOLEAN,
+ ch42 BOOLEAN,
+ ch44 BOOLEAN,
+ ch46 BOOLEAN,
+ ch48 BOOLEAN,
+ ch52 BOOLEAN,
+ ch56 BOOLEAN,
+ ch60 BOOLEAN,
+ ch64 BOOLEAN,
+ ch149 BOOLEAN,
+ ch153 BOOLEAN,
+ ch157 BOOLEAN,
+ ch161 BOOLEAN
+}
+
+SupportedWLANApsChannel11bg ::= SEQUENCE {
+ ch1 BOOLEAN,
+ ch2 BOOLEAN,
+ ch3 BOOLEAN,
+ ch4 BOOLEAN,
+ ch5 BOOLEAN,
+ ch6 BOOLEAN,
+ ch7 BOOLEAN,
+ ch8 BOOLEAN,
+ ch9 BOOLEAN,
+ ch10 BOOLEAN,
+ ch11 BOOLEAN,
+ ch12 BOOLEAN,
+ ch13 BOOLEAN,
+ ch14 BOOLEAN
+}
+
+SupportedWLANApData ::= SEQUENCE {
+ apMACAddress BIT STRING (SIZE (48)),
+ apDevType ENUMERATED {wlan802-11a(0), wlan802-11b(1), wlan802-11g(2), ...},
+ ...}
+
+SupportedWCDMAInfo ::= SEQUENCE {
+ mrl BOOLEAN, -- Measured Results List
+ ...}
+
+Ver2-CellInfo-extension ::= CHOICE {
+ hrpdCell HrpdCellInformation,
+ umbCell UmbCellInformation,
+ lteCell LteCellInformation,
+ wlanAP WlanAPInformation,
+ wimaxBS WimaxBSInformation,
+ ...,
+ nrCell NRCellInformation}
+
+HrpdCellInformation ::= SEQUENCE {
+ refSECTORID BIT STRING(SIZE (128)) OPTIONAL, -- HRPD Sector Id
+ refBASELAT INTEGER(0..4194303), -- Base Station Latitude
+ reBASELONG INTEGER(0..8388607), -- Base Station Longitude
+ refWeekNumber INTEGER(0..65535), -- GPS Week Number
+ refSeconds INTEGER(0..4194303), -- GPS Seconds
+ ...}
+
+UmbCellInformation ::= SEQUENCE {
+ refSECTORID BIT STRING(SIZE (128)), -- UMB Sector Id
+ refMCC INTEGER(0..999), -- Mobile Country Code
+ refMNC INTEGER(0..999), -- Mobile Network Code
+ refBASELAT INTEGER(0..4194303), -- Base Station Latitude
+ reBASELONG INTEGER(0..8388607), -- Base Station Longitude
+ refWeekNumber INTEGER(0..65535), -- GPS Week Number
+ refSeconds INTEGER(0..4194303), -- GPS Seconds
+ ...}
+
+-- LTE Cell info per 3GPP TS 36.331.
+-- If not otherwise stated info is related to serving cell
+
+LteCellInformation ::= SEQUENCE {
+ cellGlobalIdEUTRA CellGlobalIdEUTRA,
+ physCellId PhysCellId,
+ trackingAreaCode TrackingAreaCode,
+ rsrpResult RSRP-Range OPTIONAL,
+ rsrqResult RSRQ-Range OPTIONAL,
+ ta INTEGER(0..1282) OPTIONAL, -- Currently used Timing Advance value (N_TA/16 as per [3GPP 36.213])
+ measResultListEUTRA MeasResultListEUTRA OPTIONAL, --Neighbour measurements
+ ...,
+ earfcn INTEGER(0..65535) OPTIONAL, -- see Table 37
+ earfcn-ext INTEGER (65536..262143) OPTIONAL, -- see Table 37
+ rsrpResult-ext RSRP-Range-Ext OPTIONAL,
+ rsrqResult-ext RSRQ-Range-Ext OPTIONAL,
+ rs-sinrResult RS-SINR-Range OPTIONAL,
+ servingInformation5G ServingInformation5G OPTIONAL
+}
+-- If rsrpResult-ext is included, rsrpResult shall be excluded or set to 0
+-- If rsrqResult-ext is included and in the range 0 to 34, rsrqResult shall
+-- be included and set equal to rsrqResult-ext
+-- If rsrqResult-ext is included and outside the range 0 to 34, rsrqResult shall
+-- be excluded or set to 0 when rsrqResult-ext is negative or to 34 when
+-- rsrqResult-ext is positive
+-- servingInformation5G shall be included for a serving cell connected to 5GCN
+
+-- Measured results of neighbours cells per 3GPP TS 36.331
+
+MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA
+
+MeasResultEUTRA ::= SEQUENCE {
+ physCellId PhysCellId,
+ cgi-Info SEQUENCE {
+ cellGlobalId CellGlobalIdEUTRA,
+ trackingAreaCode TrackingAreaCode
+} OPTIONAL,
+ measResult SEQUENCE {
+ rsrpResult RSRP-Range OPTIONAL, -- Mapping to measured values
+ rsrqResult RSRQ-Range OPTIONAL, -- in 3GPP TS 36.133
+ ...,
+ earfcn INTEGER(0..65535) OPTIONAL, -- see Table 37
+earfcn-ext INTEGER (65536..262143) OPTIONAL, -- see Table 37
+ rsrpResult-ext RSRP-Range-Ext OPTIONAL,
+ rsrqResult-ext RSRQ-Range-Ext OPTIONAL,
+ rs-sinrResult RS-SINR-Range OPTIONAL,
+ neighbourInformation5G NeighbourInformation5G OPTIONAL
+ }
+}
+-- If rsrpResult-ext is included, rsrpResult shall be excluded or set to 0
+-- If rsrqResult-ext is included and in the range 0 to 34, rsrqResult shall
+-- be included and set equal to rsrqResult-ext
+-- If rsrqResult-ext is included and outside the range 0 to 34, rsrqResult shall
+-- be excluded or set to 0 when rsrqResult-ext is negative or to 34 when
+-- rsrqResult-ext is positive
+-- neighbourInformation5G may only be included for a cell connected to 5GCN
+
+PhysCellId ::= INTEGER (0..503)
+
+TrackingAreaCode ::= BIT STRING (SIZE (16))
+
+CellGlobalIdEUTRA ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellIdentity CellIdentity,
+ ...
+}
+
+PLMN-Identity ::= SEQUENCE {
+ mcc MCC OPTIONAL,
+ mnc MNC
+}
+
+CellIdentity ::= BIT STRING (SIZE (28))
+
+MCC ::= SEQUENCE (SIZE (3)) OF MCC-MNC-Digit
+
+MNC ::= SEQUENCE (SIZE (2..3)) OF MCC-MNC-Digit
+
+MCC-MNC-Digit ::= INTEGER (0..9)
+
+RSRP-Range ::= INTEGER(0..97)
+RSRQ-Range ::= INTEGER(0..34)
+RSRP-Range-Ext ::= INTEGER(-17..-1)
+RSRQ-Range-Ext ::= INTEGER(-30..46)
+RS-SINR-Range ::= INTEGER(0..127)
+
+ServingInformation5G ::= SEQUENCE {
+ trackingAreaCode TrackingAreaCodeNR,
+ ...
+}
+
+NeighbourInformation5G ::= SEQUENCE {
+ trackingAreaCode TrackingAreaCodeNR OPTIONAL,
+ ...
+}
+
+maxCellReport INTEGER ::= 8
+
+WlanAPInformation ::= SEQUENCE { -- as per [IEEE 802.11]
+ apMACAddress BIT STRING(SIZE (48)), -- AP MAC Address
+ apTransmitPower INTEGER(-127..128) OPTIONAL, -- AP transmit power in dbm
+ apAntennaGain INTEGER(-127..128) OPTIONAL, -- AP antenna gain in dBi
+ apSignaltoNoise INTEGER(-127..128) OPTIONAL, -- AP S/N received at SET
+ apDeviceType ENUMERATED {wlan802-11a(0), wlan802-11b(1), wlan802-11g(2), ..., wlan802-11n(3), wlan802-11ac(4), wlan802-11ad(5)} OPTIONAL,
+ apSignalStrength INTEGER(-127..128) OPTIONAL, -- AP signal strength at SET
+ apChannelFrequency INTEGER(0..256) OPTIONAL, -- AP channel/frequency of Tx/Rx
+ apRoundTripDelay RTD OPTIONAL, -- Round Trip Delay between SET and AP
+ setTransmitPower INTEGER(-127..128) OPTIONAL, -- SET transmit power in dBm
+ setAntennaGain INTEGER (-127..128) OPTIONAL, -- SET antenna gain in dBi
+ setSignaltoNoise INTEGER (-127..128) OPTIONAL, -- SET S/N received at AP
+ setSignalStrength INTEGER(-127..128) OPTIONAL, -- SET signal strength at AP
+ apReportedLocation ReportedLocation OPTIONAL, -- AP Location reported by AP (legacy encoding)
+ ...,
+ apRepLocation RepLocation OPTIONAL, -- AP Location reported by AP
+ apSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- see Table 41
+ apSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- see Table 41
+ setSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- see Table 41
+ setSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- see Table 41
+ operatingClass INTEGER (0..255) OPTIONAL,
+ apSSID OCTET STRING (SIZE (1..32)) OPTIONAL,
+ apPHYType ENUMERATED {unknown(0), any(1), fhss(2), dsss(3), irbaseband(4), ofdm(5), hrdsss(6), erp(7), ht(8), ihv(9), ...} OPTIONAL,
+ setMACAddress BIT STRING(SIZE (48)) OPTIONAL -- MAC Address used by SET to connect to AP
+}
+
+RTD ::= SEQUENCE { -- as per [IEEE 802.11]
+ rTDValue INTEGER(0..16777216), -- measured RTD value corresponding to
+-- about 500km in units of 1/10 of nanoseconds
+ rTDUnits RTDUnits, -- units of RTD
+ rTDAccuracy INTEGER(0..255) OPTIONAL, -- RTD accuracy
+ ...}
+
+RTDUnits ::= ENUMERATED {
+ microseconds(0), hundredsofnanoseconds(1), tensofnanoseconds(2), nanoseconds(3), tenthsofnanoseconds(4), ...}
+
+ReportedLocation ::= SEQUENCE { -- as per [IEEE 802.11v]
+ locationEncodingDescriptor LocationEncodingDescriptor,
+ locationData LocationData, -- location data field
+ ...}
+
+LocationEncodingDescriptor ::= ENUMERATED {
+ lci(0), asn1(1), ...}
+
+LocationData ::= SEQUENCE {
+ locationAccuracy INTEGER(0..4294967295) OPTIONAL,
+ locationValue OCTET STRING (SIZE(1..128)),
+ ...}
+
+RepLocation ::= CHOICE {
+ lciLocData LciLocData, -- location data field as per [IEEE 802.11] and [RFC 3825]
+ ... -- future formats may be added here
+}
+
+LciLocData ::= SEQUENCE {
+ locationDataLCI LocationDataLCI OPTIONAL,
+...}
+
+LocationDataLCI ::= SEQUENCE {
+ latitudeResolution BIT STRING (SIZE (6)),
+ latitude BIT STRING (SIZE (34)),
+ longitudeResolution BIT STRING (SIZE (6)),
+ longitude BIT STRING (SIZE (34)),
+ altitudeType BIT STRING (SIZE (4)),
+ altitudeResolution BIT STRING (SIZE (6)),
+ altitude BIT STRING (SIZE (30)),
+ datum BIT STRING (SIZE (8)),
+...}
+
+WimaxBSInformation ::= SEQUENCE {
+ wimaxBsID WimaxBsID, -- WiMax serving base station ID
+ wimaxRTD WimaxRTD OPTIONAL, -- Round Trip Delay measurements
+ wimaxNMRList WimaxNMRList OPTIONAL, -- Network measurements
+ ...}
+
+WimaxBsID ::= SEQUENCE {
+ bsID-MSB BIT STRING (SIZE(24)) OPTIONAL,
+ bsID-LSB BIT STRING (SIZE(24)),
+...}
+-- if only LSB is present, MSB is assumed to be identical to the current serving BS or clamped on network value
+
+WimaxRTD ::= SEQUENCE {
+ rtd INTEGER (0..65535), -- Round trip delay of serving BS in units of 10 ns
+ rTDstd INTEGER (0..1023) OPTIONAL, -- Standard deviation of round trip delay in units of 10 ns
+...}
+
+WimaxNMRList ::= SEQUENCE (SIZE (1..maxWimaxBSMeas)) OF WimaxNMR
+
+WimaxNMR ::= SEQUENCE {
+ wimaxBsID WimaxBsID, -- WiMax BS ID for the measurement
+ relDelay INTEGER (-32768..32767) OPTIONAL, -- Relative delay for this neighbouring BSs to the serving cell in units of 10 ns
+ relDelaystd INTEGER (0..1023) OPTIONAL, -- Standard deviation of Relative delay in units of 10 ns
+ rssi INTEGER (0..255) OPTIONAL, -- RSSI in 0.25 dBm steps, starting from -103.75 dBm
+ rSSIstd INTEGER (0..63) OPTIONAL, -- Standard deviation of RSSI in dB
+ bSTxPower INTEGER (0..255) OPTIONAL, -- BS transmit power in 0.25 dBm steps, starting from -103.75 dBm
+ cinr INTEGER (0..255) OPTIONAL, -- in dB
+ cINRstd INTEGER (0..63) OPTIONAL, -- Standard deviation of CINR in dB
+ bSLocation ReportedLocation OPTIONAL, -- Reported location of the BS
+...}
+
+maxWimaxBSMeas INTEGER ::= 32
+
+NRCellInformation ::= SEQUENCE {
+ servingCellInformation ServingCellInformationNR, --Serving cell information
+ measuredResultsListNR MeasResultListNR OPTIONAL, --Neighbour measurements
+ ...
+}
+
+-- Information for serving cells per 3GPP TS 38.331
+
+ServingCellInformationNR ::= SEQUENCE (SIZE (1..maxNRServingCell)) OF ServCellNR
+-- The first listed serving cell shall be the primary cell
+
+ServCellNR ::= SEQUENCE {
+ physCellId PhysCellIdNR,
+ arfcn-NR ARFCN-NR,
+ cellGlobalId CellGlobalIdNR,
+ trackingAreaCode TrackingAreaCodeNR,
+ ssb-Measurements NR-Measurements OPTIONAL,
+ csi-rs-Measurements NR-Measurements OPTIONAL,
+ ta INTEGER(0..3846) OPTIONAL, --Timing Advance value
+ ...
+}
+
+-- Measured results of neighbours cells per 3GPP TS 38.331
+
+MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReportNR)) OF MeasResultNR
+
+MeasResultNR ::= SEQUENCE {
+ physCellId PhysCellIdNR,
+ arfcn-NR ARFCN-NR,
+ cellGlobalId CellGlobalIdNR OPTIONAL,
+ trackingAreaCode TrackingAreaCodeNR OPTIONAL,
+ ssb-Measurements NR-Measurements OPTIONAL,
+ csi-rs-Measurements NR-Measurements OPTIONAL,
+ ...
+}
+
+PhysCellIdNR ::= INTEGER (0..1007)
+
+ARFCN-NR ::= INTEGER (0.. 3279165)
+
+TrackingAreaCodeNR ::= BIT STRING (SIZE (24))
+
+CellGlobalIdNR ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cellIdentityNR CellIdentityNR,
+ ...
+}
+
+CellIdentityNR ::= BIT STRING (SIZE (36))
+
+NR-Measurements ::= SEQUENCE {
+ rsrp-Range INTEGER (0..127) OPTIONAL,
+ rsrq-Range INTEGER (0..127) OPTIONAL,
+ sinr-Range INTEGER (0..127) OPTIONAL,
+ ...
+}
+
+maxNRServingCell INTEGER ::= 32
+maxCellReportNR INTEGER ::= 32
+UTRAN-GPSReferenceTimeAssistance ::= SEQUENCE {
+utran-GPSReferenceTime UTRAN-GPSReferenceTime,
+gpsReferenceTimeUncertainty INTEGER (0..127) OPTIONAL,
+utranGPSDriftRate UTRANGPSDriftRate OPTIONAL}
+
+UTRAN-GPSReferenceTime ::= SEQUENCE {
+-- For utran-GPSTimingOfCell values above 2322431999999 are not used in this version of the specification. Actual value utran-GPSTimingOfCell = (ms-part * 4294967296) + ls-part used on the downlink i.e. sent from the SLP to the SET
+ utran-GPSTimingOfCell SEQUENCE {
+ ms-part INTEGER (0..1023),
+ ls-part INTEGER (0..4294967295)},
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info},
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID}} OPTIONAL,
+ sfn INTEGER (0..4095)}
+
+UTRANGPSDriftRate ::= ENUMERATED {
+ utran-GPSDrift0, utran-GPSDrift1, utran-GPSDrift2,
+ utran-GPSDrift5, utran-GPSDrift10, utran-GPSDrift15,
+ utran-GPSDrift25, utran-GPSDrift50, utran-GPSDrift-1,
+ utran-GPSDrift-2, utran-GPSDrift-5, utran-GPSDrift-10,
+ utran-GPSDrift-15, utran-GPSDrift-25, utran-GPSDrift-50}
+
+UTRAN-GPSReferenceTimeResult ::= SEQUENCE {
+-- For ue-GPSTimingOfCell values above 37158911999999 are not used in this version of the specification. Actual value utran-GPSTimingOfCell = (ms-part * 4294967296) + ls-part used on the uplink i.e. reported by the SET to the SLP
+ set-GPSTimingOfCell SEQUENCE {
+ ms-part INTEGER (0.. 16383),
+ ls-part INTEGER (0..4294967295)},
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info},
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID}} OPTIONAL,
+ sfn INTEGER (0..4095),
+ gpsReferenceTimeUncertainty INTEGER (0..127) OPTIONAL,
+ ...}
+
+UTRAN-GANSSReferenceTimeAssistance ::= SEQUENCE {
+ganssDay INTEGER (0..8191) OPTIONAL,
+ganssTimeID INTEGER (0..15),
+utran-GANSSReferenceTime UTRAN-GANSSReferenceTime,
+utranGANSSDriftRate UTRANGANSSDriftRate OPTIONAL}
+
+UTRAN-GANSSReferenceTime ::= SEQUENCE {
+
+ ganssTOD INTEGER (0..86399),
+ utran-GANSSTimingOfCell INTEGER (0..3999999)OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info},
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID}} OPTIONAL,
+ sfn INTEGER (0..4095),
+ ganss-TODUncertainty INTEGER (0..127) OPTIONAL,
+...}
+
+UTRANGANSSDriftRate ::= ENUMERATED {
+ utran-GANSSDrift0, utran-GANSSDrift1, utran-GANSSDrift2,
+ utran-GANSSDrift5, utran-GANSSDrift10, utran-GANSSDrift15,
+ utran-GANSSDrift25, utran-GANSSDrift50, utran-GANSSDrift-1,
+ utran-GANSSDrift-2, utran-GANSSDrift-5, utran-GANSSDrift-10,
+ utran-GANSSDrift-15, utran-GANSSDrift-25, utran-GANSSDrift-50}
+
+UTRAN-GANSSReferenceTimeResult ::= SEQUENCE {
+ ganssTimeID INTEGER (0..15),
+ set-GANSSReferenceTime SET-GANSSReferenceTime,
+ ...}
+
+SET-GANSSReferenceTime ::= SEQUENCE {
+-- Actual value [ns] = (ms-Part * 4294967296 + ls-Part) * 250
+-- Actual values [ns] > 86399999999750 are reserved and are considered a
+-- protocol error
+ set-GANSSTimingOfCell SEQUENCE {
+ ms-part INTEGER (0..80),
+ ls-part INTEGER (0..4294967295)} OPTIONAL,
+ modeSpecificInfo CHOICE {
+ fdd SEQUENCE {
+ referenceIdentity PrimaryCPICH-Info},
+ tdd SEQUENCE {
+ referenceIdentity CellParametersID}} OPTIONAL,
+ sfn INTEGER (0..4095),
+ ganss-TODUncertainty INTEGER (0..127) OPTIONAL,
+...}
+
+GNSSPosTechnology ::= SEQUENCE {
+ gps BOOLEAN,
+ galileo BOOLEAN,
+ sbas BOOLEAN,
+ modernized-gps BOOLEAN,
+ qzss BOOLEAN,
+ glonass BOOLEAN,
+...,
+ bds BOOLEAN OPTIONAL,
+ rtk-osr BOOLEAN OPTIONAL}
+
+-- indicates MS support for particular GANSS signals and frequencies coding according to parameter definition in section 10.9
+
+GANSSSignals ::= BIT STRING {
+ signal1 (0),
+ signal2 (1),
+ signal3 (2),
+ signal4 (3),
+ signal5 (4),
+ signal6 (5),
+ signal7 (6),
+ signal8 (7)} (SIZE (1..8))
+
+SPCSETKey ::= BIT STRING(SIZE (128))
+
+SPCTID ::= SEQUENCE {
+ rand BIT STRING(SIZE (128)),
+ slpFQDN FQDN,
+ ...}
+
+SPCSETKeylifetime ::= INTEGER (1..24) -- units in hours
+
+CauseCode ::= ENUMERATED {
+servingNetWorkNotInAreaIdList(0), sETCapabilitiesChanged(1), noSUPLCoverage(2), ...}
+
+ThirdParty ::= SEQUENCE (SIZE (1..64)) OF ThirdPartyID
+
+ThirdPartyID ::= CHOICE {
+ logicalName IA5String(SIZE (1..1000)),
+ msisdn OCTET STRING(SIZE (8)),
+ emailaddr IA5String(SIZE (1..1000)),
+-- sip-uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~%#@?")) (SIZE (1..255)),
+-- ims-public-identity VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~%#@?")) (SIZE (1..255)),
+-- # asn2wrs does not handle '%' in the restricted string
+ sip-uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~#@?")) (SIZE (1..255)),
+ ims-public-identity VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~#@?")) (SIZE (1..255)),
+ min BIT STRING(SIZE (34)), -- coded according to TIA-553
+ mdn OCTET STRING(SIZE (8)),
+-- uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | "./-_~%#")) (SIZE (1..255)),
+ uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | "./-_~#")) (SIZE (1..255)),
+...}
+
+ApplicationID ::= SEQUENCE {
+ appProvider IA5String(SIZE (1..24)), -- The application provider
+ appName IA5String(SIZE (1..32)), -- The application name
+ appVersion IA5String(SIZE (1..8)) OPTIONAL, -- The application version
+...}
+
+ReportingCap ::= SEQUENCE {
+ minInt INTEGER (1..3600), -- units in seconds
+ maxInt INTEGER (1..1440) OPTIONAL, -- units in minutes
+repMode RepMode,
+batchRepCap BatchRepCap OPTIONAL, -- only used for batch and quasi real time reporting
+...}
+
+RepMode ::= SEQUENCE {
+realtime BOOLEAN,
+quasirealtime BOOLEAN,
+batch BOOLEAN,
+...}
+
+BatchRepCap ::= SEQUENCE {
+report-position BOOLEAN, -- set to "true" if reporting of position is supported
+report-measurements BOOLEAN, -- set to "true" if reporting of measurements is supported
+max-num-positions INTEGER (1..1024) OPTIONAL,
+max-num-measurements INTEGER (1..1024) OPTIONAL,
+...}
+
+Coordinate::= SEQUENCE {
+ latitudeSign ENUMERATED {north(0), south(1)},
+ latitude INTEGER(0..8388607),
+ longitude INTEGER(-8388608..8388607)} -- Coding as in [3GPP GAD]
+
+CircularArea ::= SEQUENCE {
+ coordinate Coordinate,
+ radius INTEGER(1..1000000), -- radius in meters
+ radius-min INTEGER(1..1000000) OPTIONAL, -- hysteresis minimum radius
+ radius-max INTEGER(1..1500000) OPTIONAL} -- hysteresis maximum radius
+
+EllipticalArea ::= SEQUENCE {
+ coordinate Coordinate,
+ semiMajor INTEGER(1..1000000), -- units in meters
+ semiMajor-min INTEGER(1..1000000) OPTIONAL, -- hysteresis minimum semiMajor
+ semiMajor-max INTEGER(1..1500000) OPTIONAL, -- hysteresis maximum semiMajor
+ semiMinor INTEGER(1..1000000), -- units in meters
+ semiMinor-min INTEGER(1..1000000) OPTIONAL, -- hysteresis minimum semiMinor
+ semiMinor-max INTEGER(1..1500000) OPTIONAL, -- hysteresis maximum semiMinor
+ angle INTEGER(0.. 179)} -- units in degrees. The angle is defined as the angle between the semi-major axis and North, increasing in a clockwise direction. An angle of 0 represents an ellipse with the semi-major axis pointing North/South while an angle of 90 represents an ellipse with the semi-major axis pointing East/West.
+
+PolygonArea ::= SEQUENCE {
+ polygonDescription PolygonDescription,
+ polygonHysteresis INTEGER(1..100000) OPTIONAL} --units in meters
+
+PolygonDescription ::= SEQUENCE (SIZE (3..15)) OF Coordinate
+
+Ver2-HighAccuracyPosition ::= SEQUENCE {
+ timestamp UTCTime, -- shall include seconds and shall use UTC time.
+ highAccuracyPositionEstimate HighAccuracyPositionEstimate,
+ velocity Velocity OPTIONAL,
+...}
+
+HighAccuracyPositionEstimate ::= SEQUENCE {
+ degreesLatitude INTEGER(-2147483648..2147483647),
+ degreesLongitude INTEGER(-2147483648..2147483647),
+ uncertaintySemiMajor INTEGER (0..255),
+ uncertaintySemiMinor INTEGER (0..255),
+ orientationMajorAxis INTEGER (0..179),
+ horizontalConfidence INTEGER (0..100),
+ highAccuracyAltitudeInfo HighAccuracyAltitudeInfo OPTIONAL,
+...} -- Coding as in [3GPP GAD]
+
+HighAccuracyAltitudeInfo ::= SEQUENCE {
+ altitude INTEGER(64000..1280000),
+ uncertaintyAltitude INTEGER (0..255),
+ verticalConfidence INTEGER (0..100),
+...} -- Coding as in [3GPP GAD]
+
+END
diff --git a/epan/dissectors/asn1/ulp/ULP.asn b/epan/dissectors/asn1/ulp/ULP.asn
new file mode 100644
index 00000000..a46e7b63
--- /dev/null
+++ b/epan/dissectors/asn1/ulp/ULP.asn
@@ -0,0 +1,70 @@
+-- ULP.asn
+-- Taken from OMA UserPlane Location Protocol
+-- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ULP-V2_0_5-20191028-A.zip
+
+--
+-- 11.1 Common Part
+--
+ULP DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ Version, SessionID
+FROM ULP-Components
+ SUPLINIT
+FROM SUPL-INIT
+ SUPLSTART
+FROM SUPL-START
+ SUPLRESPONSE
+FROM SUPL-RESPONSE
+ SUPLPOSINIT
+FROM SUPL-POS-INIT
+ SUPLPOS
+FROM SUPL-POS
+ SUPLEND
+FROM SUPL-END
+ SUPLAUTHREQ
+FROM SUPL-AUTH-REQ
+ SUPLAUTHRESP
+FROM SUPL-AUTH-RESP
+ Ver2-SUPLTRIGGEREDSTART
+FROM SUPL-TRIGGERED-START
+ Ver2-SUPLTRIGGEREDRESPONSE
+FROM SUPL-TRIGGERED-RESPONSE
+ Ver2-SUPLREPORT
+FROM SUPL-REPORT
+ Ver2-SUPLTRIGGEREDSTOP
+FROM SUPL-TRIGGERED-STOP
+ Ver2-SUPLSETINIT
+FROM SUPL-SET-INIT
+ Ver2-SUPLNOTIFY
+FROM SUPL-NOTIFY
+ Ver2-SUPLNOTIFYRESPONSE
+FROM SUPL-NOTIFY-RESPONSE;
+
+-- general ULP PDU layout;--
+ULP-PDU ::= SEQUENCE {
+ length INTEGER(0..65535),
+ version Version,
+ sessionID SessionID,
+ message UlpMessage}
+
+UlpMessage ::= CHOICE {
+ msSUPLINIT SUPLINIT,
+ msSUPLSTART SUPLSTART,
+ msSUPLRESPONSE SUPLRESPONSE,
+ msSUPLPOSINIT SUPLPOSINIT,
+ msSUPLPOS SUPLPOS,
+ msSUPLEND SUPLEND,
+ msSUPLAUTHREQ SUPLAUTHREQ,
+ msSUPLAUTHRESP SUPLAUTHRESP,
+ ...,
+ msSUPLTRIGGEREDSTART Ver2-SUPLTRIGGEREDSTART,
+ msSUPLTRIGGEREDRESPONSE Ver2-SUPLTRIGGEREDRESPONSE,
+ msSUPLTRIGGEREDSTOP Ver2-SUPLTRIGGEREDSTOP,
+ msSUPLNOTIFY Ver2-SUPLNOTIFY,
+ msSUPLNOTIFYRESPONSE Ver2-SUPLNOTIFYRESPONSE,
+ msSUPLSETINIT Ver2-SUPLSETINIT,
+msSUPLREPORT Ver2-SUPLREPORT}
+
+END
diff --git a/epan/dissectors/asn1/ulp/packet-ulp-template.c b/epan/dissectors/asn1/ulp/packet-ulp-template.c
new file mode 100644
index 00000000..f231deb6
--- /dev/null
+++ b/epan/dissectors/asn1/ulp/packet-ulp-template.c
@@ -0,0 +1,435 @@
+/* packet-ulp.c
+ * Routines for OMA UserPlane Location Protocol packet dissection
+ * Copyright 2006, Anders Broman <anders.broman@ericsson.com>
+ * Copyright 2014-2019, Pascal Quantin <pascal@wireshark.org>
+ * Copyright 2020, Stig Bjorlykke <stig@bjorlykke.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * ref OMA-TS-ULP-V2_0_5-20191028-A
+ * http://www.openmobilealliance.org
+ */
+
+#include "config.h"
+
+#include "math.h"
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+#include "packet-tcp.h"
+#include "packet-gsm_map.h"
+#include "packet-e164.h"
+#include "packet-e212.h"
+
+#define PNAME "OMA UserPlane Location Protocol"
+#define PSNAME "ULP"
+#define PFNAME "ulp"
+
+void proto_register_ulp(void);
+
+static dissector_handle_t rrlp_handle;
+static dissector_handle_t lpp_handle;
+
+/* IANA Registered Ports
+ * oma-ulp 7275/tcp OMA UserPlane Location
+ * oma-ulp 7275/udp OMA UserPlane Location
+ */
+#define ULP_PORT 7275
+
+/* Initialize the protocol and registered fields */
+static int proto_ulp = -1;
+
+
+#define ULP_HEADER_SIZE 2
+
+static gboolean ulp_desegment = TRUE;
+
+#include "packet-ulp-hf.c"
+static int hf_ulp_mobile_directory_number = -1;
+static int hf_ulp_ganssTimeModels_bit0 = -1;
+static int hf_ulp_ganssTimeModels_bit1 = -1;
+static int hf_ulp_ganssTimeModels_bit2 = -1;
+static int hf_ulp_ganssTimeModels_bit3 = -1;
+static int hf_ulp_ganssTimeModels_bit4 = -1;
+static int hf_ulp_ganssTimeModels_spare = -1;
+
+/* Initialize the subtree pointers */
+static gint ett_ulp = -1;
+static gint ett_ulp_setid = -1;
+static gint ett_ulp_thirdPartyId = -1;
+static gint ett_ulp_ganssTimeModels = -1;
+#include "packet-ulp-ett.c"
+
+static dissector_handle_t ulp_tcp_handle;
+static dissector_handle_t ulp_pdu_handle;
+
+static const value_string ulp_ganss_id_vals[] = {
+ { 0, "Galileo"},
+ { 1, "SBAS"},
+ { 2, "Modernized GPS"},
+ { 3, "QZSS"},
+ { 4, "GLONASS"},
+ { 5, "BDS"},
+ { 0, NULL},
+};
+
+static const value_string ulp_ganss_sbas_id_vals[] = {
+ { 0, "WAAS"},
+ { 1, "EGNOS"},
+ { 2, "MSAS"},
+ { 3, "GAGAN"},
+ { 0, NULL},
+};
+
+static void
+ulp_ganssDataBitInterval_fmt(gchar *s, guint32 v)
+{
+ if (v == 15) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Time interval is not specified (15)");
+ } else {
+ double interval = (0.1*pow(2, (double)v));
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%u)", interval, v);
+ }
+}
+
+static void
+ulp_ExtendedEphemeris_validity_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%uh (%u)", 4*v, v);
+}
+
+static void
+ulp_PositionEstimate_latitude_fmt(gchar *s, guint32 v)
+{
+ double latitude = ((double)v*90)/pow(2,23);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", latitude, v);
+}
+
+static void
+ulp_PositionEstimate_longitude_fmt(gchar *s, guint32 v)
+{
+ double longitude = ((double)(gint32)v*360)/pow(2,24);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", longitude, v);
+}
+
+static void
+ulp_NMRelement_rxLev_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RxLev < -110dBm (0)");
+ } else if (v == 63) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RxLev >= -48dBm (63)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RxLev < %ddBm (%u)", -111+v, -110+v, v);
+ }
+}
+
+static void
+ulp_UTRA_CarrierRSSI_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSSI < -100dBm (0)");
+ } else if (v == 76) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSSI >= -25dBm (76)");
+ } else if (v > 76) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSSI < %ddBm (%u)", -101+v, -100+v, v);
+ }
+}
+
+static void
+ulp_PrimaryCCPCH_RSCP_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSCP < -115dBm (0)");
+ } else if (v == 91) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSCP >= -25dBm (91)");
+ } else if (v > 91) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSCP < %ddBm (%u)", -116+v, -115+v, v);
+ }
+}
+
+static void
+ulp_CPICH_Ec_N0_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "CPICH Ec/N0 < -24dB (0)");
+ } else if (v == 49) {
+ snprintf(s, ITEM_LABEL_LENGTH, "CPICH Ec/N0 >= 0dB (49)");
+ } else if (v > 49) {
+ snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= CPICH Ec/N0 < %.1fdB (%u)", -24.5+((float)v/2), -24+((float)v/2), v);
+ }
+}
+
+static void
+ulp_CPICH_RSCP_fmt(gchar *s, guint32 v)
+{
+ if (v == 123) {
+ snprintf(s, ITEM_LABEL_LENGTH, "CPICH RSCP < -120dBm (123)");
+ } else if (v > 123) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= CPICH RSCP < %ddBm (%u)", -244+v, -243+v, v);
+ } else if (v == 91) {
+ snprintf(s, ITEM_LABEL_LENGTH, "CPICH RSCP >= -25dBm (91)");
+ } else if (v < 91) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm < CPICH RSCP <= %ddBm (%u)", -116+v, -115+v, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
+ }
+}
+
+static void
+ulp_QoP_horacc_fmt(gchar *s, guint32 v)
+{
+ double uncertainty = 10*(pow(1.1, (double)v)-1);
+
+ if (uncertainty < 1000) {
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm (%u)", uncertainty, v);
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%fkm (%u)", uncertainty/1000, v);
+ }
+}
+
+static void
+ulp_QoP_veracc_fmt(gchar *s, guint32 v)
+{
+ double uncertainty = 45*(pow(1.025, (double)v)-1);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fm (%u)", uncertainty, v);
+}
+
+static void
+ulp_QoP_delay_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%gs (%u)", pow(2, (double)v), v);
+}
+
+static const true_false_string ulp_vertical_dir_val = {
+ "Downward",
+ "Upward"
+};
+
+static void
+ulp_RelativeTime_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fs (%u)", 0.01*v, v);
+}
+
+static void
+ulp_RSRP_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)");
+ } else if (v == 97) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRP >= -44dBm (97)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", -141+v, -140+v, v);
+ }
+}
+
+static void
+ulp_RSRQ_Range_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
+ } else if (v == 64) {
+ snprintf(s, ITEM_LABEL_LENGTH, "RSRQ >= -3dB (34)");
+ } else {
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", -20+((float)v/2), -19.5+((float)v/2), v);
+ }
+}
+
+static void
+ulp_SignalDelta_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%sdB (%u)", v ? "0.5" : "0", v);
+}
+
+static void
+ulp_locationAccuracy_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fm (%u)", 0.1*v, v);
+}
+
+static void
+ulp_WimaxRTD_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fus (%u)", 0.01*v, v);
+}
+
+static void
+ulp_WimaxNMR_rssi_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fdBm (%u)", -103.75+(0.25*v), v);
+}
+
+static void
+ulp_UTRAN_gpsReferenceTimeUncertainty_fmt(gchar *s, guint32 v)
+{
+ double uncertainty = 0.0022*(pow(1.18, (double)v)-1);
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%fus (%u)", uncertainty, v);
+}
+
+static const value_string ulp_ganss_time_id_vals[] = {
+ { 0, "Galileo"},
+ { 1, "QZSS"},
+ { 2, "GLONASS"},
+ { 3, "BDS"},
+ { 0, NULL},
+};
+
+static void
+ulp_utran_GANSSTimingOfCell_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fus (%u)", 0.25*v, v);
+}
+
+static void
+ulp_Coordinate_latitude_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)",
+ ((float)v/8388607.0)*90, v);
+}
+
+static void
+ulp_Coordinate_longitude_fmt(gchar *s, guint32 v)
+{
+ gint32 longitude = (gint32) v;
+
+ snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%d)",
+ ((float)longitude/8388608.0)*180, longitude);
+}
+
+/* Include constants */
+#include "packet-ulp-val.h"
+
+typedef struct
+{
+ guint8 notif_enc_type;
+ guint8 ganss_req_gen_data_ganss_id;
+} ulp_private_data_t;
+
+static ulp_private_data_t* ulp_get_private_data(asn1_ctx_t *actx)
+{
+ if (actx->private_data == NULL) {
+ actx->private_data = wmem_new0(actx->pinfo->pool, ulp_private_data_t);
+ }
+ return (ulp_private_data_t*)actx->private_data;
+}
+
+#include "packet-ulp-fn.c"
+
+
+static guint
+get_ulp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset, void *data _U_)
+{
+ /* PDU length = Message length */
+ return tvb_get_ntohs(tvb,offset);
+}
+
+static int
+dissect_ulp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
+{
+ tcp_dissect_pdus(tvb, pinfo, tree, ulp_desegment, ULP_HEADER_SIZE,
+ get_ulp_pdu_len, dissect_ULP_PDU_PDU, data);
+ return tvb_captured_length(tvb);
+}
+
+void proto_reg_handoff_ulp(void);
+
+/*--- proto_register_ulp -------------------------------------------*/
+void proto_register_ulp(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-ulp-hfarr.c"
+ { &hf_ulp_mobile_directory_number,
+ { "Mobile Directory Number", "ulp.mobile_directory_number",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ulp_ganssTimeModels_bit0,
+ { "GPS", "ulp.ganssTimeModels.gps",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x8000,
+ NULL, HFILL }},
+ { &hf_ulp_ganssTimeModels_bit1,
+ { "Galileo", "ulp.ganssTimeModels.galileo",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x4000,
+ NULL, HFILL }},
+ { &hf_ulp_ganssTimeModels_bit2,
+ { "QZSS", "ulp.ganssTimeModels.qzss",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x2000,
+ NULL, HFILL }},
+ { &hf_ulp_ganssTimeModels_bit3,
+ { "GLONASS", "ulp.ganssTimeModels.glonass",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x1000,
+ NULL, HFILL }},
+ { &hf_ulp_ganssTimeModels_bit4,
+ { "BDS", "ulp.ganssTimeModels.bds",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0800,
+ NULL, HFILL }},
+ { &hf_ulp_ganssTimeModels_spare,
+ { "Spare", "ulp.ganssTimeModels.spare",
+ FT_UINT16, BASE_HEX, NULL, 0x07ff,
+ NULL, HFILL }},
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_ulp,
+ &ett_ulp_setid,
+ &ett_ulp_thirdPartyId,
+ &ett_ulp_ganssTimeModels,
+#include "packet-ulp-ettarr.c"
+ };
+
+ module_t *ulp_module;
+
+
+ /* Register protocol */
+ proto_ulp = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ ulp_tcp_handle = register_dissector("ulp", dissect_ulp_tcp, proto_ulp);
+ ulp_pdu_handle = register_dissector("ulp.pdu", dissect_ULP_PDU_PDU, proto_ulp);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_ulp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ ulp_module = prefs_register_protocol(proto_ulp, NULL);
+
+ prefs_register_bool_preference(ulp_module, "desegment_ulp_messages",
+ "Reassemble ULP messages spanning multiple TCP segments",
+ "Whether the ULP dissector should reassemble messages spanning multiple TCP segments."
+ " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &ulp_desegment);
+}
+
+
+/*--- proto_reg_handoff_ulp ---------------------------------------*/
+void
+proto_reg_handoff_ulp(void)
+{
+ rrlp_handle = find_dissector_add_dependency("rrlp", proto_ulp);
+ lpp_handle = find_dissector_add_dependency("lpp", proto_ulp);
+
+ dissector_add_string("media_type","application/oma-supl-ulp", ulp_pdu_handle);
+ dissector_add_string("media_type","application/vnd.omaloc-supl-init", ulp_pdu_handle);
+ dissector_add_uint_with_preference("tcp.port", ULP_PORT, ulp_tcp_handle);
+ dissector_add_uint_with_preference("udp.port", ULP_PORT, ulp_pdu_handle);
+}
+
diff --git a/epan/dissectors/asn1/ulp/ulp.cnf b/epan/dissectors/asn1/ulp/ulp.cnf
new file mode 100644
index 00000000..69a36d87
--- /dev/null
+++ b/epan/dissectors/asn1/ulp/ulp.cnf
@@ -0,0 +1,751 @@
+# upl.cnf
+# upl conformation file
+# Copyright 2006-2010 Anders Broman
+# Copyright 2014-2019 Pascal Quantin
+
+#.OPT
+PER
+UNALIGNED
+#.END
+
+#.PDU
+ULP-PDU
+#.END
+
+#.TYPE_RENAME
+FrequencyInfo/modeSpecificInfo FrequencySpecificInfo
+#.END
+
+#.FIELD_RENAME
+FrequencyInfo/modeSpecificInfo modeSpecificFrequencyInfo
+FrequencyInfo/modeSpecificInfo/fdd fdd_fr
+FrequencyInfo/modeSpecificInfo/tdd tdd_fr
+SlpSessionID/sessionID sessionSlpID
+SETId/min minsi
+Coordinate/latitude coordinateLatitude
+Coordinate/longitude coordinateLongitude
+#.END
+
+#.FN_HDR ULP-PDU
+ proto_item *it;
+ proto_tree *ulp_tree;
+
+ it = proto_tree_add_item(tree, proto_ulp, tvb, 0, -1, ENC_NA);
+ ulp_tree = proto_item_add_subtree(it, ett_ulp);
+
+ col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, PSNAME);
+ col_clear(actx->pinfo->cinfo, COL_INFO);
+#.END
+
+#.FN_BODY ULP-PDU TREE=ulp_tree
+%(DEFAULT_BODY)s
+#.END
+
+#.FN_BODY UlpMessage VAL_PTR = &UlpMessage
+
+guint32 UlpMessage;
+
+ %(DEFAULT_BODY)s
+
+ col_prepend_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "%%s ", val_to_str_const(UlpMessage,ulp_UlpMessage_vals,"Unknown"));
+
+#.END
+
+#.FN_BODY Notification
+ ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
+
+ ulp_priv->notif_enc_type = -1;
+%(DEFAULT_BODY)s
+
+#.FN_BODY EncodingType VAL_PTR=&val
+ guint32 val;
+ ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
+
+%(DEFAULT_BODY)s
+ ulp_priv->notif_enc_type = (guint8) val;
+
+#.FN_BODY Notification/requestorId VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
+ switch(ulp_priv->notif_enc_type) {
+ case 0: /* UCS-2 */
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
+ tvb_reported_length(val_tvb),
+ ENC_UCS_2|ENC_BIG_ENDIAN);
+ break;
+ case 1: /* GSM 7bits */
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
+ tvb_reported_length(val_tvb), ENC_3GPP_TS_23_038_7BITS|ENC_NA);
+ break;
+ case 2: /* UTF-8 */
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
+ tvb_reported_length(val_tvb), ENC_UTF_8|ENC_NA);
+ break;
+ default:
+ actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0,
+ tvb_reported_length(val_tvb),
+ tvb_bytes_to_str(actx->pinfo->pool, val_tvb, 0,
+ tvb_reported_length(val_tvb)));
+ break;
+ }
+ }
+
+#.TYPE_ATTR
+Notification/requestorId TYPE=FT_STRING DISPLAY=BASE_NONE
+
+#.FN_BODY Notification/clientName VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
+ switch(ulp_priv->notif_enc_type) {
+ case 0: /* UCS-2 */
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
+ tvb_reported_length(val_tvb),
+ ENC_UCS_2|ENC_BIG_ENDIAN);
+ break;
+ case 1: /* GSM 7bits */
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
+ tvb_reported_length(val_tvb), ENC_3GPP_TS_23_038_7BITS|ENC_NA);
+ break;
+ case 2: /* UTF-8 */
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
+ tvb_reported_length(val_tvb), ENC_UTF_8|ENC_NA);
+ break;
+ default:
+ actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0,
+ tvb_reported_length(val_tvb),
+ tvb_bytes_to_str(actx->pinfo->pool, val_tvb, 0,
+ tvb_reported_length(val_tvb)));
+ break;
+ }
+ }
+
+#.TYPE_ATTR
+Notification/clientName TYPE=FT_STRING DISPLAY=BASE_NONE
+
+#.TYPE_ATTR
+NavigationModel/gpsToe DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_hours
+
+#.TYPE_ATTR
+NavigationModel/toeLimit DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_hours
+
+#.FN_BODY PosPayLoad/rrlpPayload VAL_PTR = &rrlp_tvb
+ tvbuff_t *rrlp_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (rrlp_tvb && rrlp_handle) {
+ call_dissector(rrlp_handle, rrlp_tvb, %(ACTX)s->pinfo, tree);
+ }
+
+#.TYPE_ATTR
+PeriodicParams/intervalBetweenFixes DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+PeriodicParams/startTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+AreaEventParams/startTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+AreaEventParams/stopTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RepeatedReportingParams/minimumIntervalTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY WLANAreaId/apMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
+ }
+
+#.TYPE_ATTR
+WLANAreaId/apMACAddress TYPE=FT_ETHER
+
+#.TYPE_ATTR
+GANSSSignalsDescription/ganssId STRINGS=VALS(ulp_ganss_id_vals)
+
+#.TYPE_ATTR
+TimeStamp/relativeTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ReportingCriteria/minTimeInterval DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+TimeWindow/startTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
+
+#.TYPE_ATTR
+TimeWindow/stopTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
+
+#.TYPE_ATTR
+GANSSPositionMethod/ganssId STRINGS=VALS(ulp_ganss_id_vals)
+
+#.FN_BODY GANSSPositionMethod/ganssSBASid VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 3, ENC_NA);
+ }
+
+#.TYPE_ATTR
+GANSSPositionMethod/ganssSBASid TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(ulp_ganss_sbas_id_vals)
+
+#.FN_BODY GanssReqGenericData/ganssId VAL_PTR=&val
+ guint32 val;
+ ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
+
+%(DEFAULT_BODY)s
+ ulp_priv->ganss_req_gen_data_ganss_id = (guint8) val;
+
+#.TYPE_ATTR
+GanssReqGenericData/ganssId STRINGS=VALS(ulp_ganss_id_vals)
+
+#.FN_BODY GanssReqGenericData/ganssSBASid VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 3, ENC_NA);
+ }
+
+#.TYPE_ATTR
+GanssReqGenericData/ganssSBASid TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(ulp_ganss_sbas_id_vals)
+
+#.FN_BODY GanssReqGenericData/ganssTimeModels VAL_PTR=&val_tvb
+ tvbuff_t *val_tvb;
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ulp_ganssTimeModels);
+ proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit0, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit1, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit2, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit3, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit4, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_spare, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY GanssNavigationModelData/ganssWeek
+ ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
+
+%(DEFAULT_BODY)s
+ if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
+ /* Not GLONASS */
+ proto_item_append_text(actx->created_item, "wk");
+ } else {
+ proto_item_append_text(actx->created_item, "d");
+ }
+
+#.FN_BODY GanssNavigationModelData/ganssToe VAL_PTR=&val
+ guint32 val;
+ ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
+
+%(DEFAULT_BODY)s
+
+#.FN_FTR GanssNavigationModelData/ganssToe
+ if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
+ /* Not GLONASS */
+ proto_item_append_text(actx->created_item, "h");
+ } else {
+ proto_item_set_text(actx->created_item, "%umin (%u)", 15*val, val);
+ }
+
+#.FN_BODY GanssNavigationModelData/t-toeLimit VAL_PTR=&val
+ guint32 val;
+ ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
+
+%(DEFAULT_BODY)s
+
+#.FN_FTR GanssNavigationModelData/t-toeLimit
+ if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
+ /* Not GLONASS */
+ proto_item_append_text(actx->created_item, "h");
+ } else {
+ proto_item_set_text(actx->created_item, "%umin (%u)", 30*val, val);
+ }
+
+#.TYPE_ATTR
+GanssDataBits/ganssTODmin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ReqDataBitAssistanceList/ganssDataBitInterval DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_ganssDataBitInterval_fmt)
+
+#.TYPE_ATTR
+ExtendedEphemeris/validity DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_ExtendedEphemeris_validity_fmt)
+
+#.FN_BODY Ver2-PosPayLoad-extension/lPPPayload/_item VAL_PTR = &lpp_tvb
+ tvbuff_t *lpp_tvb;
+
+%(DEFAULT_BODY)s
+
+ if (lpp_tvb && lpp_handle) {
+ call_dissector(lpp_handle, lpp_tvb, %(ACTX)s->pinfo, tree);
+ }
+
+#.FN_BODY SETId/msisdn VAL_PTR=&msisdn_tvb
+ tvbuff_t *msisdn_tvb;
+%(DEFAULT_BODY)s
+ if (msisdn_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
+ dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
+ }
+
+#.FN_BODY SETId/mdn VAL_PTR=&mdn_tvb
+ tvbuff_t *mdn_tvb;
+%(DEFAULT_BODY)s
+ if (mdn_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
+ proto_tree_add_item(subtree, hf_ulp_mobile_directory_number, mdn_tvb, 0, 8, ENC_BCD_DIGITS_0_9);
+ }
+
+#.FN_BODY SETId/imsi VAL_PTR=&imsi_tvb
+ tvbuff_t *imsi_tvb;
+%(DEFAULT_BODY)s
+ if (imsi_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
+ dissect_e212_imsi(imsi_tvb, actx->pinfo, subtree, 0, 8, FALSE);
+ }
+
+#.TYPE_ATTR
+IPAddress/ipv4Address TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
+IPAddress/ipv6Address TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
+
+#.TYPE_ATTR
+PositionEstimate/latitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_PositionEstimate_latitude_fmt)
+
+#.TYPE_ATTR
+PositionEstimate/longitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_PositionEstimate_longitude_fmt)
+
+#.TYPE_ATTR
+PositionEstimate/uncertainty/uncertaintySemiMajor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_horacc_fmt)
+
+#.TYPE_ATTR
+PositionEstimate/uncertainty/uncertaintySemiMinor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_horacc_fmt)
+
+#.TYPE_ATTR
+PositionEstimate/uncertainty/orientationMajorAxis DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
+
+#.TYPE_ATTR
+PositionEstimate/confidence DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
+
+#.TYPE_ATTR
+AltitudeInfo/altitude DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
+
+#.TYPE_ATTR
+AltitudeInfo/altUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_veracc_fmt)
+
+#.TYPE_ATTR
+NMRelement/rxLev DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_NMRelement_rxLev_fmt)
+
+#.TYPE_ATTR
+UTRA-CarrierRSSI DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRA_CarrierRSSI_fmt)
+
+#.TYPE_ATTR
+PrimaryCCPCH-RSCP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_PrimaryCCPCH_RSCP_fmt)
+
+#.TYPE_ATTR
+CPICH-Ec-N0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_CPICH_Ec_N0_fmt)
+
+#.TYPE_ATTR
+CPICH-RSCP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_CPICH_RSCP_fmt)
+
+#.TYPE_ATTR
+QoP/horacc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_horacc_fmt)
+
+#.TYPE_ATTR
+QoP/veracc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_veracc_fmt)
+
+#.TYPE_ATTR
+QoP/maxLocAge DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+QoP/delay DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_delay_fmt)
+
+#.TYPE_ATTR
+QoP/ver2-responseTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY Horvel/bearing VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horvel/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
+
+#.FN_BODY Horvel/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horvel/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.FN_BODY Horandvervel/verdirect VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 1, ENC_NA);
+ }
+
+#.TYPE_ATTR
+Horandvervel/verdirect TYPE=FT_BOOLEAN STRINGS=TFS(&ulp_vertical_dir_val)
+
+#.FN_BODY Horandvervel/bearing VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horandvervel/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
+
+#.FN_BODY Horandvervel/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horandvervel/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.FN_BODY Horandvervel/verspeed VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horandvervel/verspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.FN_BODY Horveluncert/bearing VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horveluncert/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
+
+#.FN_BODY Horveluncert/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horveluncert/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.FN_BODY Horveluncert/uncertspeed VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horveluncert/uncertspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.FN_BODY Horandveruncert/verdirect VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 1, ENC_NA);
+ }
+
+#.TYPE_ATTR
+Horandveruncert/verdirect TYPE=FT_BOOLEAN STRINGS=TFS(&ulp_vertical_dir_val)
+
+#.FN_BODY Horandveruncert/bearing VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horandveruncert/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
+
+#.FN_BODY Horandveruncert/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horandveruncert/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.FN_BODY Horandveruncert/verspeed VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horandveruncert/verspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.FN_BODY Horandveruncert/horuncertspeed VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horandveruncert/horuncertspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.FN_BODY Horandveruncert/veruncertspeed VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Horandveruncert/veruncertspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
+
+#.TYPE_ATTR
+RelativeTime DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_RelativeTime_fmt)
+
+#.FN_BODY SupportedWLANApData/apMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
+ }
+
+#.TYPE_ATTR
+SupportedWLANApData/apMACAddress TYPE=FT_ETHER
+
+#.TYPE_ATTR
+RSRP-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_RSRP_Range_fmt)
+
+#.TYPE_ATTR
+RSRQ-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_RSRQ_Range_fmt)
+
+#.FN_BODY WlanAPInformation/apMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
+ }
+
+#.TYPE_ATTR
+WlanAPInformation/apMACAddress TYPE=FT_ETHER
+
+#.TYPE_ATTR
+WlanAPInformation/apTransmitPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+WlanAPInformation/apAntennaGain DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbi
+
+#.TYPE_ATTR
+WlanAPInformation/apSignaltoNoise DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+WlanAPInformation/apSignalStrength DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+WlanAPInformation/setTransmitPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+WlanAPInformation/setAntennaGain DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbi
+
+#.TYPE_ATTR
+WlanAPInformation/setSignaltoNoise DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+WlanAPInformation/setSignalStrength DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
+
+#.TYPE_ATTR
+WlanAPInformation/apSignalStrengthDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
+
+#.TYPE_ATTR
+WlanAPInformation/apSignaltoNoiseDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
+
+#.TYPE_ATTR
+WlanAPInformation/setSignalStrengthDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
+
+#.TYPE_ATTR
+WlanAPInformation/setSignaltoNoiseDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
+
+#.FN_BODY WlanAPInformation/apSSID VAL_PTR=&ssid_tvb HF_INDEX=-1
+ tvbuff_t *ssid_tvb;
+
+%(DEFAULT_BODY)s
+ if (ssid_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
+ }
+
+#.TYPE_ATTR
+WlanAPInformation/apSSID TYPE=FT_STRING DISPLAY=BASE_NONE
+
+#.FN_BODY WlanAPInformation/setMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
+ tvbuff_t *val_tvb;
+
+%(DEFAULT_BODY)s
+ if (val_tvb) {
+ proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
+ }
+
+#.TYPE_ATTR
+WlanAPInformation/setMACAddress TYPE=FT_ETHER
+
+#.TYPE_ATTR
+LocationData/locationAccuracy DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_locationAccuracy_fmt)
+
+#.TYPE_ATTR
+WimaxRTD/rtd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
+
+#.TYPE_ATTR
+WimaxRTD/rTDstd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
+
+#.TYPE_ATTR
+WimaxNMR/relDelay DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
+
+#.TYPE_ATTR
+WimaxNMR/relDelaystd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
+
+#.TYPE_ATTR
+WimaxNMR/rssi DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxNMR_rssi_fmt)
+
+#.TYPE_ATTR
+WimaxNMR/rSSIstd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+WimaxNMR/bSTxPower DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxNMR_rssi_fmt)
+
+#.TYPE_ATTR
+WimaxNMR/cinr DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+WimaxNMR/cINRstd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
+
+#.TYPE_ATTR
+UTRAN-GPSReferenceTimeAssistance/gpsReferenceTimeUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
+
+#.TYPE_ATTR
+UTRAN-GPSReferenceTimeResult/gpsReferenceTimeUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
+
+#.TYPE_ATTR
+UTRAN-GANSSReferenceTimeAssistance/ganssTimeID STRINGS=VALS(ulp_ganss_time_id_vals)
+
+#.TYPE_ATTR
+UTRAN-GANSSReferenceTime/ganssTOD DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+UTRAN-GANSSReferenceTime/utran-GANSSTimingOfCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_utran_GANSSTimingOfCell_fmt)
+
+#.TYPE_ATTR
+UTRAN-GANSSReferenceTime/ganss-TODUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
+
+#.TYPE_ATTR
+UTRAN-GANSSReferenceTimeResult/ganssTimeID STRINGS=VALS(ulp_ganss_time_id_vals)
+
+#.TYPE_ATTR
+SET-GANSSReferenceTime/ganss-TODUncertainty ulp_UTRAN_gpsReferenceTimeUncertainty_fmtulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
+
+#.FN_BODY ThirdPartyID/msisdn VAL_PTR=&msisdn_tvb
+ tvbuff_t *msisdn_tvb;
+%(DEFAULT_BODY)s
+ if (msisdn_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ulp_thirdPartyId);
+ dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
+ }
+
+#.FN_BODY ThirdPartyID/sip-uri
+# asn2wrs does not handle '%' in the restricted string ( Has to be there twice)
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
+ 1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%%#@?", 72,
+ NULL);
+#.FN_BODY ThirdPartyID/ims-public-identity
+# asn2wrs does not handle '%' in the restricted string ( Has to be there twice)
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
+ 1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%%#@?", 72,
+ NULL);
+#.FN_BODY ThirdPartyID/mdn VAL_PTR=&mdn_tvb
+ tvbuff_t *mdn_tvb;
+%(DEFAULT_BODY)s
+ if (mdn_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_ulp_thirdPartyId);
+ proto_tree_add_string(subtree, hf_ulp_mobile_directory_number, mdn_tvb, 0, 8, tvb_bcd_dig_to_str(actx->pinfo->pool, mdn_tvb, 0, 8, NULL, FALSE));
+ }
+
+#.FN_BODY ThirdPartyID/uri
+# asn2wrs does not handle '%' in the restricted string ( Has to be there twice)
+ offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
+ 1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./-_~%%#", 69,
+ NULL);
+
+#.TYPE_ATTR
+ReportingCap/minInt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ReportingCap/maxInt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
+
+#.TYPE_ATTR
+Coordinate/latitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_Coordinate_latitude_fmt)
+
+#.TYPE_ATTR
+Coordinate/longitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_Coordinate_longitude_fmt)
+
+#.TYPE_ATTR
+CircularArea/radius DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
+
+#.TYPE_ATTR
+EllipticalArea/semiMajor DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
+
+#.TYPE_ATTR
+EllipticalArea/semiMinor DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
+
+#.TYPE_ATTR
+EllipticalArea/angle DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
+
+#.TYPE_ATTR
+PolygonArea/polygonHysteresis DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
+
+#.END
diff --git a/epan/dissectors/asn1/wlancertextn/CMakeLists.txt b/epan/dissectors/asn1/wlancertextn/CMakeLists.txt
new file mode 100644
index 00000000..133762cf
--- /dev/null
+++ b/epan/dissectors/asn1/wlancertextn/CMakeLists.txt
@@ -0,0 +1,35 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME wlancertextn )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ WLANCERTEXTN.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/wlancertextn/WLANCERTEXTN.asn b/epan/dissectors/asn1/wlancertextn/WLANCERTEXTN.asn
new file mode 100644
index 00000000..52bda2c9
--- /dev/null
+++ b/epan/dissectors/asn1/wlancertextn/WLANCERTEXTN.asn
@@ -0,0 +1,93 @@
+-- ASN definitions taken from RFC3770
+-- Copyright notice from RFC3770 follows below
+--
+-- RFC 3770 PPP and WLAN May 2004
+--
+-- 10. Full Copyright Statement
+--
+-- Copyright (C) The Internet Society (2004). This document is subject
+-- to the rights, licenses and restrictions contained in BCP 78, and
+-- except as set forth therein, the authors retain all their rights.
+--
+-- This document and the information contained herein are provided on an
+-- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+-- OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+-- ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+-- INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+-- INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+-- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+--
+-- Intellectual Property
+--
+-- The IETF takes no position regarding the validity or scope of any
+-- Intellectual Property Rights or other rights that might be claimed to
+-- pertain to the implementation or use of the technology described in
+-- this document or the extent to which any license under such rights
+-- might or might not be available; nor does it represent that it has
+-- made any independent effort to identify any such rights. Information
+-- on the procedures with respect to rights in RFC documents can be
+-- found in BCP 78 and BCP 79.
+--
+-- Copies of IPR disclosures made to the IETF Secretariat and any
+-- assurances of licenses to be made available, or the result of an
+-- attempt made to obtain a general license or permission for the use of
+-- such proprietary rights by implementers or users of this
+-- specification can be obtained from the IETF on-line IPR repository at
+-- http://www.ietf.org/ipr.
+--
+-- The IETF invites any interested party to bring to its attention any
+-- copyrights, patents or patent applications, or other proprietary
+-- rights that may cover technology that may be required to implement
+-- this standard. Please address the information to the IETF at ietf-
+-- ipr@ietf.org.
+--
+-- Acknowledgement
+--
+-- Funding for the RFC Editor function is currently provided by the
+-- Internet Society.
+--
+
+
+ WLANCertExtn
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-wlan-extns(24) }
+
+ DEFINITIONS IMPLICIT TAGS ::=
+ BEGIN
+
+ -- OID Arcs
+
+ id-pe OBJECT IDENTIFIER ::=
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) 1 }
+
+ id-kp OBJECT IDENTIFIER ::=
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) 3 }
+
+ id-aca OBJECT IDENTIFIER ::=
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) 10 }
+
+ -- Extended Key Usage Values
+
+ id-kp-eapOverPPP OBJECT IDENTIFIER ::= { id-kp 13 }
+
+ id-kp-eapOverLAN OBJECT IDENTIFIER ::= { id-kp 14 }
+
+
+ -- Wireless LAN SSID Extension
+
+ id-pe-wlanSSID OBJECT IDENTIFIER ::= { id-pe 13 }
+
+ SSIDList ::= SEQUENCE SIZE (1..MAX) OF SSID
+
+ SSID ::= OCTET STRING (SIZE (1..32))
+
+ -- Wireless LAN SSID Attribute Certificate Attribute
+ -- Uses same syntax as the certificate extension: SSIDList
+
+ id-aca-wlanSSID OBJECT IDENTIFIER ::= { id-aca 6 }
+
+ END
diff --git a/epan/dissectors/asn1/wlancertextn/packet-wlancertextn-template.c b/epan/dissectors/asn1/wlancertextn/packet-wlancertextn-template.c
new file mode 100644
index 00000000..39a0c220
--- /dev/null
+++ b/epan/dissectors/asn1/wlancertextn/packet-wlancertextn-template.c
@@ -0,0 +1,70 @@
+/* packet-wlancertextn.c
+ * Routines for Wireless Certificate Extension (RFC3770)
+ * Ronnie Sahlberg 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include "packet-ber.h"
+#include "packet-wlancertextn.h"
+#include "packet-x509af.h"
+#include "packet-x509ce.h"
+#include "packet-x509sat.h"
+
+#define PNAME "Wlan Certificate Extension"
+#define PSNAME "WLANCERTEXTN"
+#define PFNAME "wlancertextn"
+
+void proto_register_wlancertextn(void);
+void proto_reg_handoff_wlancertextn(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_wlancertextn = -1;
+#include "packet-wlancertextn-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-wlancertextn-ett.c"
+
+#include "packet-wlancertextn-fn.c"
+
+
+/*--- proto_register_wlancertextn ----------------------------------------------*/
+void proto_register_wlancertextn(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-wlancertextn-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-wlancertextn-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_wlancertextn = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_wlancertextn, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_wlancertextn -------------------------------------------*/
+void proto_reg_handoff_wlancertextn(void) {
+#include "packet-wlancertextn-dis-tab.c"
+ oid_add_from_string("id-kp-eapOverPPP","1.3.6.1.5.5.7.3.13");
+ oid_add_from_string("id-kp-eapOverLAN","1.3.6.1.5.5.7.3.14");
+}
+
diff --git a/epan/dissectors/asn1/wlancertextn/packet-wlancertextn-template.h b/epan/dissectors/asn1/wlancertextn/packet-wlancertextn-template.h
new file mode 100644
index 00000000..944a74d5
--- /dev/null
+++ b/epan/dissectors/asn1/wlancertextn/packet-wlancertextn-template.h
@@ -0,0 +1,18 @@
+/* packet-wlancertextn.h
+ * Routines for Wireless Certificate Extensions (RFC3770) packet dissection
+ * Ronnie Sahlberg 2005
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_WLANCERTEXTN_H
+#define PACKET_WLANCERTEXTN_H
+
+/*#include "packet-wlancertextn-exp.h"*/
+
+#endif /* PACKET_WLANCERTEXTN_H */
+
diff --git a/epan/dissectors/asn1/wlancertextn/wlancertextn.cnf b/epan/dissectors/asn1/wlancertextn/wlancertextn.cnf
new file mode 100644
index 00000000..2a867029
--- /dev/null
+++ b/epan/dissectors/asn1/wlancertextn/wlancertextn.cnf
@@ -0,0 +1,21 @@
+# WlanCertExtn.cnf
+# WlanCertExtn conformation file
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.REGISTER
+
+SSIDList B "1.3.6.1.5.5.7.1.13" "id-pe-wlanSSID"
+SSIDList B "1.3.6.1.5.5.7.10.6" "id-aca-wlanSSID"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/x2ap/CMakeLists.txt b/epan/dissectors/asn1/x2ap/CMakeLists.txt
new file mode 100644
index 00000000..a858ff93
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME x2ap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ X2AP-CommonDataTypes.asn
+ X2AP-Constants.asn
+ X2AP-Containers.asn
+ X2AP-IEs.asn
+ X2AP-PDU-Contents.asn
+ X2AP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn b/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn
new file mode 100644
index 00000000..c993cc41
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn
@@ -0,0 +1,50 @@
+-- 3GPP TS 36.423 V17.5.0 (2023-06)
+-- 9.3.6 Common definitions
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+X2AP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0.. maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
+
+END
diff --git a/epan/dissectors/asn1/x2ap/X2AP-Constants.asn b/epan/dissectors/asn1/x2ap/X2AP-Constants.asn
new file mode 100644
index 00000000..0f406d19
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/X2AP-Constants.asn
@@ -0,0 +1,618 @@
+-- 3GPP TS 36.423 V17.5.0 (2023-06)
+-- 9.3.7 Constant definitions
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+X2AP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM X2AP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-handoverPreparation ProcedureCode ::= 0
+id-handoverCancel ProcedureCode ::= 1
+id-loadIndication ProcedureCode ::= 2
+id-errorIndication ProcedureCode ::= 3
+id-snStatusTransfer ProcedureCode ::= 4
+id-uEContextRelease ProcedureCode ::= 5
+id-x2Setup ProcedureCode ::= 6
+id-reset ProcedureCode ::= 7
+id-eNBConfigurationUpdate ProcedureCode ::= 8
+id-resourceStatusReportingInitiation ProcedureCode ::= 9
+id-resourceStatusReporting ProcedureCode ::= 10
+id-privateMessage ProcedureCode ::= 11
+id-mobilitySettingsChange ProcedureCode ::= 12
+id-rLFIndication ProcedureCode ::= 13
+id-handoverReport ProcedureCode ::= 14
+id-cellActivation ProcedureCode ::= 15
+id-x2Release ProcedureCode ::= 16
+id-x2APMessageTransfer ProcedureCode ::= 17
+id-x2Removal ProcedureCode ::= 18
+id-seNBAdditionPreparation ProcedureCode ::= 19
+id-seNBReconfigurationCompletion ProcedureCode ::= 20
+id-meNBinitiatedSeNBModificationPreparation ProcedureCode ::= 21
+id-seNBinitiatedSeNBModification ProcedureCode ::= 22
+id-meNBinitiatedSeNBRelease ProcedureCode ::= 23
+id-seNBinitiatedSeNBRelease ProcedureCode ::= 24
+id-seNBCounterCheck ProcedureCode ::= 25
+id-retrieveUEContext ProcedureCode ::= 26
+id-sgNBAdditionPreparation ProcedureCode ::= 27
+id-sgNBReconfigurationCompletion ProcedureCode ::= 28
+id-meNBinitiatedSgNBModificationPreparation ProcedureCode ::= 29
+id-sgNBinitiatedSgNBModification ProcedureCode ::= 30
+id-meNBinitiatedSgNBRelease ProcedureCode ::= 31
+id-sgNBinitiatedSgNBRelease ProcedureCode ::= 32
+id-sgNBCounterCheck ProcedureCode ::= 33
+id-sgNBChange ProcedureCode ::= 34
+id-rRCTransfer ProcedureCode ::= 35
+id-endcX2Setup ProcedureCode ::= 36
+id-endcConfigurationUpdate ProcedureCode ::= 37
+id-secondaryRATDataUsageReport ProcedureCode ::= 38
+id-endcCellActivation ProcedureCode ::= 39
+id-endcPartialReset ProcedureCode ::= 40
+id-eUTRANRCellResourceCoordination ProcedureCode ::= 41
+id-SgNBActivityNotification ProcedureCode ::= 42
+id-endcX2Removal ProcedureCode ::= 43
+id-dataForwardingAddressIndication ProcedureCode ::= 44
+id-gNBStatusIndication ProcedureCode ::= 45
+id-deactivateTrace ProcedureCode ::= 46
+id-traceStart ProcedureCode ::= 47
+id-endcConfigurationTransfer ProcedureCode ::= 48
+id-handoverSuccess ProcedureCode ::= 49
+id-conditionalHandoverCancel ProcedureCode ::= 50
+id-earlyStatusTransfer ProcedureCode ::= 51
+id-cellTrafficTrace ProcedureCode ::= 52
+id-endcresourceStatusReporting ProcedureCode ::= 53
+id-endcresourceStatusReportingInitiation ProcedureCode ::= 54
+id-f1CTrafficTransfer ProcedureCode ::= 55
+id-UERadioCapabilityIDMapping ProcedureCode ::= 56
+id-accessAndMobilityIndication ProcedureCode ::= 57
+id-procedure-code-58-not-to-be-used ProcedureCode ::= 58
+id-CPC-cancel ProcedureCode ::= 59
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxEARFCN INTEGER ::= 65535
+maxEARFCNPlusOne INTEGER ::= 65536
+newmaxEARFCN INTEGER ::= 262143
+maxInterfaces INTEGER ::= 16
+maxCellineNB INTEGER ::= 256
+maxnoofBands INTEGER ::= 16
+maxnoofBearers INTEGER ::= 256
+maxNrOfErrors INTEGER ::= 256
+maxnoofPDCP-SN INTEGER ::= 16
+maxnoofEPLMNs INTEGER ::= 15
+maxnoofEPLMNsPlusOne INTEGER ::= 16
+maxnoofForbLACs INTEGER ::= 4096
+maxnoofForbTACs INTEGER ::= 4096
+maxnoofBPLMNs INTEGER ::= 6
+maxnoofAdditionalPLMNs INTEGER ::= 6
+maxnoofNeighbours INTEGER ::= 512
+maxnoofPRBs INTEGER ::= 110
+maxPools INTEGER ::= 16
+maxnoofCells INTEGER ::= 16
+maxnoofMBSFN INTEGER ::= 8
+maxFailedMeasObjects INTEGER ::= 32
+maxnoofCellIDforMDT INTEGER ::= 32
+maxnoofTAforMDT INTEGER ::= 8
+maxnoofMBMSServiceAreaIdentities INTEGER ::= 256
+maxnoofMDTPLMNs INTEGER ::= 16
+maxnoofCoMPHypothesisSet INTEGER ::= 256
+maxnoofCoMPCells INTEGER ::= 32
+maxUEReport INTEGER ::= 128
+maxCellReport INTEGER ::= 9
+maxnoofPA INTEGER ::= 3
+maxCSIProcess INTEGER ::= 4
+maxCSIReport INTEGER ::= 2
+maxSubband INTEGER ::= 14
+maxofNRNeighbours INTEGER ::= 1024
+maxCellinengNB INTEGER ::= 16384
+-- maxnoofNRCarriers INTEGER ::= 32
+maxnooftimeperiods INTEGER ::= 2
+maxnoofCellIDforQMC INTEGER ::= 32
+maxnoofTAforQMC INTEGER ::= 8
+maxnoofPLMNforQMC INTEGER ::= 16
+maxUEsinengNBDU INTEGER ::= 8192
+maxnoofProtectedResourcePatterns INTEGER ::= 16
+maxnoNRcellsSpectrumSharingWithE-UTRA INTEGER ::= 64
+maxnoofNrCellBands INTEGER ::= 32
+maxnoofBluetoothName INTEGER ::= 4
+maxnoofWLANName INTEGER ::= 4
+maxnoofextBPLMNs INTEGER ::= 12
+maxnoofTLAs INTEGER ::= 16
+maxnoofGTPTLAs INTEGER ::= 16
+maxnoofTNLAssociations INTEGER ::= 32
+maxnoofCellsinCHO INTEGER ::= 8
+maxnoofPC5QoSFlows INTEGER ::= 2048
+maxnoofSSBAreas INTEGER ::= 64
+maxnoofNRSCSs INTEGER ::= 5
+maxnoofNRPhysicalResourceBlocks INTEGER ::= 275
+maxnoofNonAnchorCarrierFreqConfig INTEGER ::= 15
+maxnoofRACHReports INTEGER ::= 64
+maxnoofPSCellsPerSN INTEGER ::= 8
+maxnoofPSCellsPerPrimaryCellinUEHistoryInfo INTEGER ::= 8
+maxnoofReportedNRCellsPossiblyAggregated INTEGER ::= 16
+maxnoofPSCellCandidates INTEGER ::= 8
+maxnoofTargetSgNBs INTEGER ::= 8
+maxnoofMTCItems INTEGER ::= 16
+maxnoofCSIRSconfigurations INTEGER ::= 96
+maxnoofCSIRSneighbourCells INTEGER ::= 16
+maxnoofCSIRSneighbourCellsInMTC INTEGER ::= 16
+maxnoofSensorName INTEGER ::= 3
+maxnoofTargetSgNBsMinusOne INTEGER ::= 7
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-E-RABs-Admitted-Item ProtocolIE-ID ::= 0
+id-E-RABs-Admitted-List ProtocolIE-ID ::= 1
+id-E-RAB-Item ProtocolIE-ID ::= 2
+id-E-RABs-NotAdmitted-List ProtocolIE-ID ::= 3
+id-E-RABs-ToBeSetup-Item ProtocolIE-ID ::= 4
+id-Cause ProtocolIE-ID ::= 5
+id-CellInformation ProtocolIE-ID ::= 6
+id-CellInformation-Item ProtocolIE-ID ::= 7
+--WS extension
+id-Unknown-8 ProtocolIE-ID ::= 8
+id-New-eNB-UE-X2AP-ID ProtocolIE-ID ::= 9
+id-Old-eNB-UE-X2AP-ID ProtocolIE-ID ::= 10
+id-TargetCell-ID ProtocolIE-ID ::= 11
+id-TargeteNBtoSource-eNBTransparentContainer ProtocolIE-ID ::= 12
+id-TraceActivation ProtocolIE-ID ::= 13
+id-UE-ContextInformation ProtocolIE-ID ::= 14
+id-UE-HistoryInformation ProtocolIE-ID ::= 15
+id-UE-X2AP-ID ProtocolIE-ID ::= 16
+id-CriticalityDiagnostics ProtocolIE-ID ::= 17
+id-E-RABs-SubjectToStatusTransfer-List ProtocolIE-ID ::= 18
+id-E-RABs-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 19
+id-ServedCells ProtocolIE-ID ::= 20
+id-GlobalENB-ID ProtocolIE-ID ::= 21
+id-TimeToWait ProtocolIE-ID ::= 22
+id-GUMMEI-ID ProtocolIE-ID ::= 23
+id-GUGroupIDList ProtocolIE-ID ::= 24
+id-ServedCellsToAdd ProtocolIE-ID ::= 25
+id-ServedCellsToModify ProtocolIE-ID ::= 26
+id-ServedCellsToDelete ProtocolIE-ID ::= 27
+id-Registration-Request ProtocolIE-ID ::= 28
+id-CellToReport ProtocolIE-ID ::= 29
+id-ReportingPeriodicity ProtocolIE-ID ::= 30
+id-CellToReport-Item ProtocolIE-ID ::= 31
+id-CellMeasurementResult ProtocolIE-ID ::= 32
+id-CellMeasurementResult-Item ProtocolIE-ID ::= 33
+id-GUGroupIDToAddList ProtocolIE-ID ::= 34
+id-GUGroupIDToDeleteList ProtocolIE-ID ::= 35
+id-SRVCCOperationPossible ProtocolIE-ID ::= 36
+id-Measurement-ID ProtocolIE-ID ::= 37
+id-ReportCharacteristics ProtocolIE-ID ::= 38
+id-ENB1-Measurement-ID ProtocolIE-ID ::= 39
+id-ENB2-Measurement-ID ProtocolIE-ID ::= 40
+id-Number-of-Antennaports ProtocolIE-ID ::= 41
+id-CompositeAvailableCapacityGroup ProtocolIE-ID ::= 42
+id-ENB1-Cell-ID ProtocolIE-ID ::= 43
+id-ENB2-Cell-ID ProtocolIE-ID ::= 44
+id-ENB2-Proposed-Mobility-Parameters ProtocolIE-ID ::= 45
+id-ENB1-Mobility-Parameters ProtocolIE-ID ::= 46
+id-ENB2-Mobility-Parameters-Modification-Range ProtocolIE-ID ::= 47
+id-FailureCellPCI ProtocolIE-ID ::= 48
+id-Re-establishmentCellECGI ProtocolIE-ID ::= 49
+id-FailureCellCRNTI ProtocolIE-ID ::= 50
+id-ShortMAC-I ProtocolIE-ID ::= 51
+id-SourceCellECGI ProtocolIE-ID ::= 52
+id-FailureCellECGI ProtocolIE-ID ::= 53
+id-HandoverReportType ProtocolIE-ID ::= 54
+id-PRACH-Configuration ProtocolIE-ID ::= 55
+id-MBSFN-Subframe-Info ProtocolIE-ID ::= 56
+id-ServedCellsToActivate ProtocolIE-ID ::= 57
+id-ActivatedCellList ProtocolIE-ID ::= 58
+id-DeactivationIndication ProtocolIE-ID ::= 59
+id-UE-RLF-Report-Container ProtocolIE-ID ::= 60
+id-ABSInformation ProtocolIE-ID ::= 61
+id-InvokeIndication ProtocolIE-ID ::= 62
+id-ABS-Status ProtocolIE-ID ::= 63
+id-PartialSuccessIndicator ProtocolIE-ID ::= 64
+id-MeasurementInitiationResult-List ProtocolIE-ID ::= 65
+id-MeasurementInitiationResult-Item ProtocolIE-ID ::= 66
+id-MeasurementFailureCause-Item ProtocolIE-ID ::= 67
+id-CompleteFailureCauseInformation-List ProtocolIE-ID ::= 68
+id-CompleteFailureCauseInformation-Item ProtocolIE-ID ::= 69
+id-CSG-Id ProtocolIE-ID ::= 70
+id-CSGMembershipStatus ProtocolIE-ID ::= 71
+id-MDTConfiguration ProtocolIE-ID ::= 72
+--WS extension
+id-Unknown-73 ProtocolIE-ID ::= 73
+id-ManagementBasedMDTallowed ProtocolIE-ID ::= 74
+id-RRCConnSetupIndicator ProtocolIE-ID ::= 75
+id-NeighbourTAC ProtocolIE-ID ::= 76
+id-Time-UE-StayedInCell-EnhancedGranularity ProtocolIE-ID ::= 77
+id-RRCConnReestabIndicator ProtocolIE-ID ::= 78
+id-MBMS-Service-Area-List ProtocolIE-ID ::= 79
+id-HO-cause ProtocolIE-ID ::= 80
+id-TargetCellInUTRAN ProtocolIE-ID ::= 81
+id-MobilityInformation ProtocolIE-ID ::= 82
+id-SourceCellCRNTI ProtocolIE-ID ::= 83
+id-MultibandInfoList ProtocolIE-ID ::= 84
+id-M3Configuration ProtocolIE-ID ::= 85
+id-M4Configuration ProtocolIE-ID ::= 86
+id-M5Configuration ProtocolIE-ID ::= 87
+id-MDT-Location-Info ProtocolIE-ID ::= 88
+id-ManagementBasedMDTPLMNList ProtocolIE-ID ::= 89
+id-SignallingBasedMDTPLMNList ProtocolIE-ID ::= 90
+id-ReceiveStatusOfULPDCPSDUsExtended ProtocolIE-ID ::= 91
+id-ULCOUNTValueExtended ProtocolIE-ID ::= 92
+id-DLCOUNTValueExtended ProtocolIE-ID ::= 93
+id-eARFCNExtension ProtocolIE-ID ::= 94
+id-UL-EARFCNExtension ProtocolIE-ID ::= 95
+id-DL-EARFCNExtension ProtocolIE-ID ::= 96
+id-AdditionalSpecialSubframe-Info ProtocolIE-ID ::= 97
+id-Masked-IMEISV ProtocolIE-ID ::= 98
+id-IntendedULDLConfiguration ProtocolIE-ID ::= 99
+id-ExtendedULInterferenceOverloadInfo ProtocolIE-ID ::= 100
+id-RNL-Header ProtocolIE-ID ::= 101
+id-x2APMessage ProtocolIE-ID ::= 102
+id-ProSeAuthorized ProtocolIE-ID ::= 103
+id-ExpectedUEBehaviour ProtocolIE-ID ::= 104
+id-UE-HistoryInformationFromTheUE ProtocolIE-ID ::= 105
+id-DynamicDLTransmissionInformation ProtocolIE-ID ::= 106
+id-UE-RLF-Report-Container-for-extended-bands ProtocolIE-ID ::= 107
+id-CoMPInformation ProtocolIE-ID ::= 108
+id-ReportingPeriodicityRSRPMR ProtocolIE-ID ::= 109
+id-RSRPMRList ProtocolIE-ID ::= 110
+id-MeNB-UE-X2AP-ID ProtocolIE-ID ::= 111
+id-SeNB-UE-X2AP-ID ProtocolIE-ID ::= 112
+id-UE-SecurityCapabilities ProtocolIE-ID ::= 113
+id-SeNBSecurityKey ProtocolIE-ID ::= 114
+id-SeNBUEAggregateMaximumBitRate ProtocolIE-ID ::= 115
+id-ServingPLMN ProtocolIE-ID ::= 116
+id-E-RABs-ToBeAdded-List ProtocolIE-ID ::= 117
+id-E-RABs-ToBeAdded-Item ProtocolIE-ID ::= 118
+id-MeNBtoSeNBContainer ProtocolIE-ID ::= 119
+id-E-RABs-Admitted-ToBeAdded-List ProtocolIE-ID ::= 120
+id-E-RABs-Admitted-ToBeAdded-Item ProtocolIE-ID ::= 121
+id-SeNBtoMeNBContainer ProtocolIE-ID ::= 122
+id-ResponseInformationSeNBReconfComp ProtocolIE-ID ::= 123
+id-UE-ContextInformationSeNBModReq ProtocolIE-ID ::= 124
+id-E-RABs-ToBeAdded-ModReqItem ProtocolIE-ID ::= 125
+id-E-RABs-ToBeModified-ModReqItem ProtocolIE-ID ::= 126
+id-E-RABs-ToBeReleased-ModReqItem ProtocolIE-ID ::= 127
+id-E-RABs-Admitted-ToBeAdded-ModAckList ProtocolIE-ID ::= 128
+id-E-RABs-Admitted-ToBeModified-ModAckList ProtocolIE-ID ::= 129
+id-E-RABs-Admitted-ToBeReleased-ModAckList ProtocolIE-ID ::= 130
+id-E-RABs-Admitted-ToBeAdded-ModAckItem ProtocolIE-ID ::= 131
+id-E-RABs-Admitted-ToBeModified-ModAckItem ProtocolIE-ID ::= 132
+id-E-RABs-Admitted-ToBeReleased-ModAckItem ProtocolIE-ID ::= 133
+id-E-RABs-ToBeReleased-ModReqd ProtocolIE-ID ::= 134
+id-E-RABs-ToBeReleased-ModReqdItem ProtocolIE-ID ::= 135
+id-SCGChangeIndication ProtocolIE-ID ::= 136
+id-E-RABs-ToBeReleased-List-RelReq ProtocolIE-ID ::= 137
+id-E-RABs-ToBeReleased-RelReqItem ProtocolIE-ID ::= 138
+id-E-RABs-ToBeReleased-List-RelConf ProtocolIE-ID ::= 139
+id-E-RABs-ToBeReleased-RelConfItem ProtocolIE-ID ::= 140
+id-E-RABs-SubjectToCounterCheck-List ProtocolIE-ID ::= 141
+id-E-RABs-SubjectToCounterCheckItem ProtocolIE-ID ::= 142
+id-CoverageModificationList ProtocolIE-ID ::= 143
+--WS extension
+id-Unknown-144 ProtocolIE-ID ::= 144
+id-ReportingPeriodicityCSIR ProtocolIE-ID ::= 145
+id-CSIReportList ProtocolIE-ID ::= 146
+id-UEID ProtocolIE-ID ::= 147
+id-enhancedRNTP ProtocolIE-ID ::= 148
+id-ProSeUEtoNetworkRelaying ProtocolIE-ID ::= 149
+id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ProtocolIE-ID ::= 150
+id-ULCOUNTValuePDCP-SNlength18 ProtocolIE-ID ::= 151
+id-DLCOUNTValuePDCP-SNlength18 ProtocolIE-ID ::= 152
+id-UE-ContextReferenceAtSeNB ProtocolIE-ID ::= 153
+id-UE-ContextKeptIndicator ProtocolIE-ID ::= 154
+id-New-eNB-UE-X2AP-ID-Extension ProtocolIE-ID ::= 155
+id-Old-eNB-UE-X2AP-ID-Extension ProtocolIE-ID ::= 156
+id-MeNB-UE-X2AP-ID-Extension ProtocolIE-ID ::= 157
+id-SeNB-UE-X2AP-ID-Extension ProtocolIE-ID ::= 158
+id-LHN-ID ProtocolIE-ID ::= 159
+id-FreqBandIndicatorPriority ProtocolIE-ID ::= 160
+id-M6Configuration ProtocolIE-ID ::= 161
+id-M7Configuration ProtocolIE-ID ::= 162
+id-Tunnel-Information-for-BBF ProtocolIE-ID ::= 163
+id-SIPTO-BearerDeactivationIndication ProtocolIE-ID ::= 164
+id-GW-TransportLayerAddress ProtocolIE-ID ::= 165
+id-Correlation-ID ProtocolIE-ID ::= 166
+id-SIPTO-Correlation-ID ProtocolIE-ID ::= 167
+id-SIPTO-L-GW-TransportLayerAddress ProtocolIE-ID ::= 168
+id-X2RemovalThreshold ProtocolIE-ID ::= 169
+id-CellReportingIndicator ProtocolIE-ID ::= 170
+id-BearerType ProtocolIE-ID ::= 171
+id-resumeID ProtocolIE-ID ::= 172
+id-UE-ContextInformationRetrieve ProtocolIE-ID ::= 173
+id-E-RABs-ToBeSetupRetrieve-Item ProtocolIE-ID ::= 174
+id-NewEUTRANCellIdentifier ProtocolIE-ID ::= 175
+id-V2XServicesAuthorized ProtocolIE-ID ::= 176
+id-OffsetOfNbiotChannelNumberToDL-EARFCN ProtocolIE-ID ::= 177
+id-OffsetOfNbiotChannelNumberToUL-EARFCN ProtocolIE-ID ::= 178
+id-AdditionalSpecialSubframeExtension-Info ProtocolIE-ID ::= 179
+id-BandwidthReducedSI ProtocolIE-ID ::= 180
+id-MakeBeforeBreakIndicator ProtocolIE-ID ::= 181
+id-UE-ContextReferenceAtWT ProtocolIE-ID ::= 182
+id-WT-UE-ContextKeptIndicator ProtocolIE-ID ::= 183
+id-UESidelinkAggregateMaximumBitRate ProtocolIE-ID ::= 184
+id-uL-GTPtunnelEndpoint ProtocolIE-ID ::= 185
+--WS extension
+id-Unknown-186 ProtocolIE-ID ::= 186
+id-Unknown-187 ProtocolIE-ID ::= 187
+id-Unknown-188 ProtocolIE-ID ::= 188
+id-Unknown-189 ProtocolIE-ID ::= 189
+id-Unknown-190 ProtocolIE-ID ::= 190
+id-Unknown-191 ProtocolIE-ID ::= 191
+id-Unknown-192 ProtocolIE-ID ::= 192
+id-DL-scheduling-PDCCH-CCE-usage ProtocolIE-ID ::= 193
+id-UL-scheduling-PDCCH-CCE-usage ProtocolIE-ID ::= 194
+id-UEAppLayerMeasConfig ProtocolIE-ID ::= 195
+id-extended-e-RAB-MaximumBitrateDL ProtocolIE-ID ::= 196
+id-extended-e-RAB-MaximumBitrateUL ProtocolIE-ID ::= 197
+id-extended-e-RAB-GuaranteedBitrateDL ProtocolIE-ID ::= 198
+id-extended-e-RAB-GuaranteedBitrateUL ProtocolIE-ID ::= 199
+id-extended-uEaggregateMaximumBitRateDownlink ProtocolIE-ID ::= 200
+id-extended-uEaggregateMaximumBitRateUplink ProtocolIE-ID ::= 201
+id-NRrestrictioninEPSasSecondaryRAT ProtocolIE-ID ::= 202
+id-SgNBSecurityKey ProtocolIE-ID ::= 203
+id-SgNBUEAggregateMaximumBitRate ProtocolIE-ID ::= 204
+id-E-RABs-ToBeAdded-SgNBAddReqList ProtocolIE-ID ::= 205
+id-MeNBtoSgNBContainer ProtocolIE-ID ::= 206
+id-SgNB-UE-X2AP-ID ProtocolIE-ID ::= 207
+id-RequestedSplitSRBs ProtocolIE-ID ::= 208
+id-E-RABs-ToBeAdded-SgNBAddReq-Item ProtocolIE-ID ::= 209
+id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList ProtocolIE-ID ::= 210
+id-SgNBtoMeNBContainer ProtocolIE-ID ::= 211
+id-AdmittedSplitSRBs ProtocolIE-ID ::= 212
+id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item ProtocolIE-ID ::= 213
+id-ResponseInformationSgNBReconfComp ProtocolIE-ID ::= 214
+id-UE-ContextInformation-SgNBModReq ProtocolIE-ID ::= 215
+id-E-RABs-ToBeAdded-SgNBModReq-Item ProtocolIE-ID ::= 216
+id-E-RABs-ToBeModified-SgNBModReq-Item ProtocolIE-ID ::= 217
+id-E-RABs-ToBeReleased-SgNBModReq-Item ProtocolIE-ID ::= 218
+id-E-RABs-Admitted-ToBeAdded-SgNBModAckList ProtocolIE-ID ::= 219
+id-E-RABs-Admitted-ToBeModified-SgNBModAckList ProtocolIE-ID ::= 220
+id-E-RABs-Admitted-ToBeReleased-SgNBModAckList ProtocolIE-ID ::= 221
+id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item ProtocolIE-ID ::= 222
+id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item ProtocolIE-ID ::= 223
+id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item ProtocolIE-ID ::= 224
+id-E-RABs-ToBeReleased-SgNBModReqdList ProtocolIE-ID ::= 225
+id-E-RABs-ToBeModified-SgNBModReqdList ProtocolIE-ID ::= 226
+id-E-RABs-ToBeReleased-SgNBModReqd-Item ProtocolIE-ID ::= 227
+id-E-RABs-ToBeModified-SgNBModReqd-Item ProtocolIE-ID ::= 228
+id-E-RABs-ToBeReleased-SgNBChaConfList ProtocolIE-ID ::= 229
+id-E-RABs-ToBeReleased-SgNBChaConf-Item ProtocolIE-ID ::= 230
+id-E-RABs-ToBeReleased-SgNBRelReqList ProtocolIE-ID ::= 231
+id-E-RABs-ToBeReleased-SgNBRelReq-Item ProtocolIE-ID ::= 232
+id-E-RABs-ToBeReleased-SgNBRelConfList ProtocolIE-ID ::= 233
+id-E-RABs-ToBeReleased-SgNBRelConf-Item ProtocolIE-ID ::= 234
+id-E-RABs-SubjectToSgNBCounterCheck-List ProtocolIE-ID ::= 235
+id-E-RABs-SubjectToSgNBCounterCheck-Item ProtocolIE-ID ::= 236
+id-RRCContainer ProtocolIE-ID ::= 237
+id-SRBType ProtocolIE-ID ::= 238
+id-Target-SgNB-ID ProtocolIE-ID ::= 239
+id-HandoverRestrictionList ProtocolIE-ID ::= 240
+id-SCGConfigurationQuery ProtocolIE-ID ::= 241
+id-SplitSRB ProtocolIE-ID ::= 242
+id-NRUeReport ProtocolIE-ID ::= 243
+id-InitiatingNodeType-EndcX2Setup ProtocolIE-ID ::= 244
+id-InitiatingNodeType-EndcConfigUpdate ProtocolIE-ID ::= 245
+id-RespondingNodeType-EndcX2Setup ProtocolIE-ID ::= 246
+id-RespondingNodeType-EndcConfigUpdate ProtocolIE-ID ::= 247
+id-NRUESecurityCapabilities ProtocolIE-ID ::= 248
+id-PDCPChangeIndication ProtocolIE-ID ::= 249
+id-ServedEUTRAcellsENDCX2ManagementList ProtocolIE-ID ::= 250
+id-CellAssistanceInformation ProtocolIE-ID ::= 251
+id-Globalen-gNB-ID ProtocolIE-ID ::= 252
+id-ServedNRcellsENDCX2ManagementList ProtocolIE-ID ::= 253
+id-UE-ContextReferenceAtSgNB ProtocolIE-ID ::= 254
+id-SecondaryRATUsageReport ProtocolIE-ID ::= 255
+id-ActivationID ProtocolIE-ID ::= 256
+id-MeNBResourceCoordinationInformation ProtocolIE-ID ::= 257
+id-SgNBResourceCoordinationInformation ProtocolIE-ID ::= 258
+id-ServedEUTRAcellsToModifyListENDCConfUpd ProtocolIE-ID ::= 259
+id-ServedEUTRAcellsToDeleteListENDCConfUpd ProtocolIE-ID ::= 260
+id-ServedNRcellsToModifyListENDCConfUpd ProtocolIE-ID ::= 261
+id-ServedNRcellsToDeleteListENDCConfUpd ProtocolIE-ID ::= 262
+id-E-RABUsageReport-Item ProtocolIE-ID ::= 263
+id-Old-SgNB-UE-X2AP-ID ProtocolIE-ID ::= 264
+id-SecondaryRATUsageReportList ProtocolIE-ID ::= 265
+id-SecondaryRATUsageReport-Item ProtocolIE-ID ::= 266
+id-ServedNRCellsToActivate ProtocolIE-ID ::= 267
+id-ActivatedNRCellList ProtocolIE-ID ::= 268
+id-SelectedPLMN ProtocolIE-ID ::= 269
+id-UEs-ToBeReset ProtocolIE-ID ::= 270
+id-UEs-Admitted-ToBeReset ProtocolIE-ID ::= 271
+id-RRCConfigIndication ProtocolIE-ID ::= 272
+id-DownlinkPacketLossRate ProtocolIE-ID ::= 273
+id-UplinkPacketLossRate ProtocolIE-ID ::= 274
+id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 275
+id-serviceType ProtocolIE-ID ::= 276
+id-AerialUEsubscriptionInformation ProtocolIE-ID ::= 277
+id-SGNB-Addition-Trigger-Ind ProtocolIE-ID ::= 278
+id-MeNBCell-ID ProtocolIE-ID ::= 279
+id-RequestedSplitSRBsrelease ProtocolIE-ID ::= 280
+id-AdmittedSplitSRBsrelease ProtocolIE-ID ::= 281
+id-NRS-NSSS-PowerOffset ProtocolIE-ID ::= 282
+id-NSSS-NumOccasionDifferentPrecoder ProtocolIE-ID ::= 283
+id-ProtectedEUTRAResourceIndication ProtocolIE-ID ::= 284
+id-InitiatingNodeType-EutranrCellResourceCoordination ProtocolIE-ID ::= 285
+id-RespondingNodeType-EutranrCellResourceCoordination ProtocolIE-ID ::= 286
+id-DataTrafficResourceIndication ProtocolIE-ID ::= 287
+id-SpectrumSharingGroupID ProtocolIE-ID ::= 288
+id-ListofEUTRACellsinEUTRACoordinationReq ProtocolIE-ID ::= 289
+id-ListofEUTRACellsinEUTRACoordinationResp ProtocolIE-ID ::= 290
+id-ListofEUTRACellsinNRCoordinationReq ProtocolIE-ID ::= 291
+id-ListofNRCellsinNRCoordinationReq ProtocolIE-ID ::= 292
+id-ListofNRCellsinNRCoordinationResp ProtocolIE-ID ::= 293
+id-E-RABs-AdmittedToBeModified-SgNBModConfList ProtocolIE-ID ::= 294
+id-E-RABs-AdmittedToBeModified-SgNBModConf-Item ProtocolIE-ID ::= 295
+id-UEContextLevelUserPlaneActivity ProtocolIE-ID ::= 296
+id-ERABActivityNotifyItemList ProtocolIE-ID ::= 297
+id-InitiatingNodeType-EndcX2Removal ProtocolIE-ID ::= 298
+id-RespondingNodeType-EndcX2Removal ProtocolIE-ID ::= 299
+id-RLC-Status ProtocolIE-ID ::= 300
+id-CNTypeRestrictions ProtocolIE-ID ::= 301
+id-uLpDCPSnLength ProtocolIE-ID ::= 302
+id-BluetoothMeasurementConfiguration ProtocolIE-ID ::= 303
+id-WLANMeasurementConfiguration ProtocolIE-ID ::= 304
+id-NRrestrictionin5GS ProtocolIE-ID ::= 305
+id-dL-Forwarding ProtocolIE-ID ::= 306
+id-E-RABs-DataForwardingAddress-List ProtocolIE-ID ::= 307
+id-E-RABs-DataForwardingAddress-Item ProtocolIE-ID ::= 308
+id-Subscription-Based-UE-DifferentiationInfo ProtocolIE-ID ::= 309
+id-GNBOverloadInformation ProtocolIE-ID ::= 310
+id-dLPDCPSnLength ProtocolIE-ID ::= 311
+id-secondarysgNBDLGTPTEIDatPDCP ProtocolIE-ID ::= 312
+id-secondarymeNBULGTPTEIDatPDCP ProtocolIE-ID ::= 313
+id-lCID ProtocolIE-ID ::= 314
+id-duplicationActivation ProtocolIE-ID ::= 315
+id-ECGI ProtocolIE-ID ::= 316
+id-RLCMode-transferred ProtocolIE-ID ::= 317
+id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList ProtocolIE-ID ::= 318
+id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item ProtocolIE-ID ::= 319
+id-E-RABs-ToBeReleased-SgNBRelReqdList ProtocolIE-ID ::= 320
+id-E-RABs-ToBeReleased-SgNBRelReqd-Item ProtocolIE-ID ::= 321
+id-NRCGI ProtocolIE-ID ::= 322
+id-MeNBCoordinationAssistanceInformation ProtocolIE-ID ::= 323
+id-SgNBCoordinationAssistanceInformation ProtocolIE-ID ::= 324
+id-new-drb-ID-req ProtocolIE-ID ::= 325
+id-endcSONConfigurationTransfer ProtocolIE-ID ::= 326
+id-NRNeighbourInfoToAdd ProtocolIE-ID ::= 327
+id-NRNeighbourInfoToModify ProtocolIE-ID ::= 328
+id-DesiredActNotificationLevel ProtocolIE-ID ::= 329
+id-LocationInformationSgNBReporting ProtocolIE-ID ::= 330
+id-LocationInformationSgNB ProtocolIE-ID ::= 331
+id-LastNG-RANPLMNIdentity ProtocolIE-ID ::= 332
+id-EUTRANTraceID ProtocolIE-ID ::= 333
+id-additionalPLMNs-Item ProtocolIE-ID ::= 334
+id-InterfaceInstanceIndication ProtocolIE-ID ::= 335
+id-BPLMN-ID-Info-EUTRA ProtocolIE-ID ::= 336
+id-BPLMN-ID-Info-NR ProtocolIE-ID ::= 337
+id-NBIoT-UL-DL-AlignmentOffset ProtocolIE-ID ::= 338
+id-ERABs-transferred-to-MeNB ProtocolIE-ID ::= 339
+id-AdditionalRRMPriorityIndex ProtocolIE-ID ::= 340
+id-LowerLayerPresenceStatusChange ProtocolIE-ID ::= 341
+id-FastMCGRecovery-SN-to-MN ProtocolIE-ID ::= 342
+id-RequestedFastMCGRecoveryViaSRB3 ProtocolIE-ID ::= 343
+id-AvailableFastMCGRecoveryViaSRB3 ProtocolIE-ID ::= 344
+id-RequestedFastMCGRecoveryViaSRB3Release ProtocolIE-ID ::= 345
+id-ReleaseFastMCGRecoveryViaSRB3 ProtocolIE-ID ::= 346
+id-FastMCGRecovery-MN-to-SN ProtocolIE-ID ::= 347
+id-PartialListIndicator ProtocolIE-ID ::= 348
+id-MaximumCellListSize ProtocolIE-ID ::= 349
+id-MessageOversizeNotification ProtocolIE-ID ::= 350
+id-CellandCapacityAssistInfo ProtocolIE-ID ::= 351
+id-TNLConfigurationInfo ProtocolIE-ID ::= 352
+id-TNLA-To-Add-List ProtocolIE-ID ::= 353
+id-TNLA-To-Update-List ProtocolIE-ID ::= 354
+id-TNLA-To-Remove-List ProtocolIE-ID ::= 355
+id-TNLA-Setup-List ProtocolIE-ID ::= 356
+id-TNLA-Failed-To-Setup-List ProtocolIE-ID ::= 357
+id-UnlicensedSpectrumRestriction ProtocolIE-ID ::= 358
+id-UEContextReferenceatSourceNGRAN ProtocolIE-ID ::= 359
+id-EPCHandoverRestrictionListContainer ProtocolIE-ID ::= 360
+id-CHOinformation-REQ ProtocolIE-ID ::= 361
+id-CHOinformation-ACK ProtocolIE-ID ::= 362
+id-DAPSRequestInfo ProtocolIE-ID ::= 363
+id-RequestedTargetCellID ProtocolIE-ID ::= 364
+id-CandidateCellsToBeCancelledList ProtocolIE-ID ::= 365
+id-DAPSResponseInfo ProtocolIE-ID ::= 366
+id-ProcedureStage ProtocolIE-ID ::= 367
+id-CHO-DC-Indicator ProtocolIE-ID ::= 368
+id-Ethernet-Type ProtocolIE-ID ::= 369
+id-NRV2XServicesAuthorized ProtocolIE-ID ::= 370
+id-NRUESidelinkAggregateMaximumBitRate ProtocolIE-ID ::= 371
+id-PC5QoSParameters ProtocolIE-ID ::= 372
+id-NPRACHConfiguration ProtocolIE-ID ::= 373
+id-NBIoT-RLF-Report-Container ProtocolIE-ID ::= 374
+id-MDTConfigurationNR ProtocolIE-ID ::= 375
+id-PrivacyIndicator ProtocolIE-ID ::= 376
+id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 377
+id-UERadioCapabilityID ProtocolIE-ID ::= 378
+id-SNtriggered ProtocolIE-ID ::= 379
+id-CSI-RSTransmissionIndication ProtocolIE-ID ::= 380
+id-DLCarrierList ProtocolIE-ID ::= 381
+id-TargetCellInNGRAN ProtocolIE-ID ::= 382
+id-E-UTRAN-Node1-Measurement-ID ProtocolIE-ID ::= 383
+id-E-UTRAN-Node2-Measurement-ID ProtocolIE-ID ::= 384
+id-TDDULDLConfigurationCommonNR ProtocolIE-ID ::= 385
+id-CarrierList ProtocolIE-ID ::= 386
+id-ULCarrierList ProtocolIE-ID ::= 387
+id-FrequencyShift7p5khz ProtocolIE-ID ::= 388
+id-SSB-PositionsInBurst ProtocolIE-ID ::= 389
+id-NRCellPRACHConfig ProtocolIE-ID ::= 390
+id-CellToReport-NR-ENDC ProtocolIE-ID ::= 391
+id-CellToReport-NR-ENDC-Item ProtocolIE-ID ::= 392
+id-CellMeasurementResult-NR-ENDC ProtocolIE-ID ::= 393
+id-CellMeasurementResult-NR-ENDC-Item ProtocolIE-ID ::= 394
+id-IABNodeIndication ProtocolIE-ID ::= 395
+id-QoS-Mapping-Information ProtocolIE-ID ::= 396
+id-F1CTrafficContainer ProtocolIE-ID ::= 397
+--WS extension
+id-Unknown-398 ProtocolIE-ID ::= 398
+id-IntendedTDD-DL-ULConfiguration-NR ProtocolIE-ID ::= 399
+id-UERadioCapability ProtocolIE-ID ::= 400
+id-CellMeasurementResult-E-UTRA-ENDC ProtocolIE-ID ::= 401
+id-CellMeasurementResult-E-UTRA-ENDC-Item ProtocolIE-ID ::= 402
+id-CellToReport-E-UTRA-ENDC ProtocolIE-ID ::= 403
+id-CellToReport-E-UTRA-ENDC-Item ProtocolIE-ID ::= 404
+id-TraceCollectionEntityURI ProtocolIE-ID ::= 405
+id-SFN-Offset ProtocolIE-ID ::= 406
+id-CHO-DC-EarlyDataForwarding ProtocolIE-ID ::= 407
+id-IMSvoiceEPSfallbackfrom5G ProtocolIE-ID ::= 408
+id-AdditionLocationInformation ProtocolIE-ID ::= 409
+id-DirectForwardingPathAvailability ProtocolIE-ID ::= 410
+id-sourceNG-RAN-node-id ProtocolIE-ID ::= 411
+id-SourceDLForwardingIPAddress ProtocolIE-ID ::= 412
+id-SourceNodeDLForwardingIPAddress ProtocolIE-ID ::= 413
+id-NRRACHReportInformation ProtocolIE-ID ::= 414
+id-SCG-UE-HistoryInformation ProtocolIE-ID ::= 415
+id-PSCellHistoryInformationRetrieve ProtocolIE-ID ::= 416
+id-MeasurementResultforNRCellsPossiblyAggregated ProtocolIE-ID ::= 417
+id-PSCell-UE-HistoryInformation ProtocolIE-ID ::= 418
+id-PSCellChangeHistory ProtocolIE-ID ::= 419
+id-CHOinformation-AddReq ProtocolIE-ID ::= 420
+id-CHOinformation-ModReq ProtocolIE-ID ::= 421
+id-SCGActivationStatus ProtocolIE-ID ::= 422
+id-SCGActivationRequest ProtocolIE-ID ::= 423
+id-CPAinformation-REQ ProtocolIE-ID ::= 424
+id-CPAinformation-REQ-ACK ProtocolIE-ID ::= 425
+id-CPAinformation-MOD ProtocolIE-ID ::= 426
+id-CPAinformation-MOD-ACK ProtocolIE-ID ::= 427
+id-CPACinformation-REQD ProtocolIE-ID ::= 428
+id-CPCinformation-REQD ProtocolIE-ID ::= 429
+id-CPCinformation-CONF ProtocolIE-ID ::= 430
+id-CPCinformation-NOTIFY ProtocolIE-ID ::= 431
+id-CPCupdate-MOD ProtocolIE-ID ::= 432
+id-Additional-Measurement-Timing-Configuration-List ProtocolIE-ID ::= 433
+id-ServedCellSpecificInfoReq-NR ProtocolIE-ID ::= 434
+id-SecurityIndication ProtocolIE-ID ::= 435
+id-SecurityResult ProtocolIE-ID ::= 436
+id-RAT-Restrictions ProtocolIE-ID ::= 437
+id-SCGreconfigNotification ProtocolIE-ID ::= 438
+id-MIMOPRBusageInformation ProtocolIE-ID ::= 439
+id-SensorMeasurementConfiguration ProtocolIE-ID ::= 440
+id-AdditionalListofForwardingGTPTunnelEndpoint ProtocolIE-ID ::= 441
+
+END
diff --git a/epan/dissectors/asn1/x2ap/X2AP-Containers.asn b/epan/dissectors/asn1/x2ap/X2AP-Containers.asn
new file mode 100644
index 00000000..31cb1c0e
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/X2AP-Containers.asn
@@ -0,0 +1,196 @@
+-- 3GPP TS 36.423 V17.5.0 (2023-06)
+-- 9.3.8 Container definitions
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+X2AP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+FROM X2AP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+X2AP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+X2AP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+X2AP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+X2AP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {X2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id X2AP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality X2AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value X2AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id X2AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality X2AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue X2AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality X2AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue X2AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id X2AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality X2AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue X2AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {X2AP-PRIVATE-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {X2AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id X2AP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality X2AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value X2AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/x2ap/X2AP-IEs.asn b/epan/dissectors/asn1/x2ap/X2AP-IEs.asn
new file mode 100644
index 00000000..4fb6042b
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/X2AP-IEs.asn
@@ -0,0 +1,3926 @@
+-- 3GPP TS 36.423 V17.5.0 (2023-06)
+-- 9.3.5 Information Element definitions
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+X2AP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ id-E-RAB-Item,
+ id-Number-of-Antennaports,
+ id-MBSFN-Subframe-Info,
+ id-PRACH-Configuration,
+ id-CSG-Id,
+ id-MDTConfiguration,
+ id-SignallingBasedMDTPLMNList,
+ id-MultibandInfoList,
+ id-FreqBandIndicatorPriority,
+ id-NeighbourTAC,
+ id-Time-UE-StayedInCell-EnhancedGranularity,
+ id-MBMS-Service-Area-List,
+ id-HO-cause,
+ id-eARFCNExtension,
+ id-DL-EARFCNExtension,
+ id-UL-EARFCNExtension,
+ id-M3Configuration,
+ id-M4Configuration,
+ id-M5Configuration,
+ id-MDT-Location-Info,
+ id-NRrestrictioninEPSasSecondaryRAT,
+ id-NRrestrictionin5GS,
+ id-AdditionalSpecialSubframe-Info,
+ id-UEID,
+ id-enhancedRNTP,
+ id-ProSeUEtoNetworkRelaying,
+ id-M6Configuration,
+ id-M7Configuration,
+ id-OffsetOfNbiotChannelNumberToDL-EARFCN,
+ id-OffsetOfNbiotChannelNumberToUL-EARFCN,
+ id-AdditionalSpecialSubframeExtension-Info,
+ id-BandwidthReducedSI,
+ id-extended-e-RAB-MaximumBitrateDL,
+ id-extended-e-RAB-MaximumBitrateUL,
+ id-extended-e-RAB-GuaranteedBitrateDL,
+ id-extended-e-RAB-GuaranteedBitrateUL,
+ id-extended-uEaggregateMaximumBitRateDownlink,
+ id-extended-uEaggregateMaximumBitRateUplink,
+ id-E-RABUsageReport-Item,
+ id-SecondaryRATUsageReport-Item,
+ id-UEAppLayerMeasConfig,
+ id-DL-scheduling-PDCCH-CCE-usage,
+ id-UL-scheduling-PDCCH-CCE-usage,
+ id-DownlinkPacketLossRate,
+ id-UplinkPacketLossRate,
+ id-serviceType,
+ id-ProtectedEUTRAResourceIndication,
+ id-NRS-NSSS-PowerOffset,
+ id-NSSS-NumOccasionDifferentPrecoder,
+ id-CNTypeRestrictions,
+ id-BluetoothMeasurementConfiguration,
+ id-WLANMeasurementConfiguration,
+ id-ECGI,
+ id-NRCGI,
+ id-MeNBCoordinationAssistanceInformation,
+ id-SgNBCoordinationAssistanceInformation,
+ id-NRNeighbourInfoToAdd,
+ id-LastNG-RANPLMNIdentity,
+ id-BPLMN-ID-Info-EUTRA,
+ id-NBIoT-UL-DL-AlignmentOffset,
+ id-UnlicensedSpectrumRestriction,
+ id-CarrierList,
+ id-FrequencyShift7p5khz,
+ id-NPRACHConfiguration,
+ id-MDTConfigurationNR,
+ id-CSI-RSTransmissionIndication,
+ id-QoS-Mapping-Information,
+ id-IntendedTDD-DL-ULConfiguration-NR,
+ id-TraceCollectionEntityURI,
+ id-SFN-Offset,
+ id-AdditionLocationInformation,
+ id-SSB-PositionsInBurst,
+ id-NRCellPRACHConfig,
+ id-ULCarrierList,
+ id-TDDULDLConfigurationCommonNR,
+ id-MIMOPRBusageInformation,
+ id-Additional-Measurement-Timing-Configuration-List,
+ id-ServedCellSpecificInfoReq-NR,
+ id-RAT-Restrictions,
+ id-PSCell-UE-HistoryInformation,
+ id-SensorMeasurementConfiguration,
+
+ maxnoofBearers,
+ maxCellineNB,
+ maxEARFCN,
+ maxEARFCNPlusOne,
+ newmaxEARFCN,
+ maxInterfaces,
+
+ maxnoofBands,
+ maxnoofBPLMNs,
+ maxnoofAdditionalPLMNs,
+ maxnoofCells,
+ maxnoofEPLMNs,
+ maxnoofEPLMNsPlusOne,
+ maxnoofForbLACs,
+ maxnoofForbTACs,
+ maxnoofNeighbours,
+ maxnoofPRBs,
+ maxNrOfErrors,
+ maxPools,
+ maxnoofMBSFN,
+ maxnoofTAforMDT,
+ maxnoofCellIDforMDT,
+ maxnoofMBMSServiceAreaIdentities,
+ maxnoofMDTPLMNs,
+ maxnoofCoMPHypothesisSet,
+ maxnoofCoMPCells,
+ maxUEReport,
+ maxCellReport,
+ maxnoofPA,
+ maxCSIProcess,
+ maxCSIReport,
+ maxSubband,
+ maxnooftimeperiods,
+ maxnoofCellIDforQMC,
+ maxnoofTAforQMC,
+ maxnoofPLMNforQMC,
+ maxUEsinengNBDU,
+ maxnoofProtectedResourcePatterns,
+ maxnoNRcellsSpectrumSharingWithE-UTRA,
+ maxnoofNrCellBands,
+ maxnoofBluetoothName,
+ maxnoofWLANName,
+ maxofNRNeighbours,
+ maxnoofextBPLMNs,
+ maxnoofTLAs,
+ maxnoofGTPTLAs,
+ maxnoofTNLAssociations,
+ maxnoofCellsinCHO, maxnoofPC5QoSFlows,
+ maxnoofSSBAreas,
+ maxnoofNRSCSs,
+ maxnoofNRPhysicalResourceBlocks,
+ maxnoofNonAnchorCarrierFreqConfig,
+ maxnoofRACHReports,
+ maxnoofPSCellsPerSN,
+ maxnoofPSCellsPerPrimaryCellinUEHistoryInfo,
+ maxnoofReportedNRCellsPossiblyAggregated,
+ maxnoofPSCellCandidates,
+ maxnoofTargetSgNBs,
+ maxnoofMTCItems,
+ maxnoofCSIRSconfigurations,
+ maxnoofCSIRSneighbourCells,
+ maxnoofCSIRSneighbourCellsInMTC,
+ maxCellinengNB,
+ maxnoofSensorName,
+ maxnoofTargetSgNBsMinusOne
+
+
+FROM X2AP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM X2AP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Single-Container{},
+
+ X2AP-PROTOCOL-EXTENSION,
+ X2AP-PROTOCOL-IES
+FROM X2AP-Containers;
+
+-- A
+
+ABSInformation ::= CHOICE {
+ fdd ABSInformationFDD,
+ tdd ABSInformationTDD,
+ abs-inactive NULL,
+ ...
+}
+
+ABSInformationFDD ::= SEQUENCE {
+ abs-pattern-info BIT STRING (SIZE(40)),
+ numberOfCellSpecificAntennaPorts ENUMERATED {one, two, four, ...},
+ measurement-subset BIT STRING (SIZE(40)),
+ iE-Extensions ProtocolExtensionContainer { {ABSInformationFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ABSInformationFDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ABSInformationTDD ::= SEQUENCE {
+ abs-pattern-info BIT STRING (SIZE(1..70, ...)),
+ numberOfCellSpecificAntennaPorts ENUMERATED {one, two, four, ...},
+ measurement-subset BIT STRING (SIZE(1..70, ...)),
+ iE-Extensions ProtocolExtensionContainer { {ABSInformationTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ABSInformationTDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ABS-Status ::= SEQUENCE {
+ dL-ABS-status DL-ABS-status,
+ usableABSInformation UsableABSInformation,
+ iE-Extensions ProtocolExtensionContainer { {ABS-Status-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ABS-Status-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ActivationID ::= INTEGER (0..255)
+
+Additional-Measurement-Timing-Configuration-List ::= SEQUENCE (SIZE(1.. maxnoofMTCItems)) OF Additional-Measurement-Timing-Configuration-Item
+
+Additional-Measurement-Timing-Configuration-Item ::= SEQUENCE {
+ additionalMeasurementTimingConfiguration INTEGER(0..16),
+ csi-RS-MTC-Configuration-List CSI-RS-MTC-Configuration-List,
+ iE-Extensions ProtocolExtensionContainer { { Additional-Measurement-Timing-Configuration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-Measurement-Timing-Configuration-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CSI-RS-MTC-Configuration-List ::= SEQUENCE (SIZE(1.. maxnoofCSIRSconfigurations)) OF CSI-RS-MTC-Configuration-Item
+
+CSI-RS-MTC-Configuration-Item ::= SEQUENCE {
+ csi-RS-Index INTEGER(0..95),
+ csi-RS-Status ENUMERATED {activated,deactivated, ...},
+ csi-RS-Neighbour-List CSI-RS-Neighbour-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CSI-RS-MTC-Configuration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CSI-RS-MTC-Configuration-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CSI-RS-Neighbour-List ::= SEQUENCE (SIZE(1.. maxnoofCSIRSneighbourCells)) OF CSI-RS-Neighbour-Item
+
+CSI-RS-Neighbour-Item ::= SEQUENCE {
+ nr-cgi NRCGI,
+ csi-RS-MTC-Neighbour-List CSI-RS-MTC-Neighbour-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CSI-RS-Neighbour-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CSI-RS-Neighbour-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CSI-RS-MTC-Neighbour-List ::= SEQUENCE (SIZE(1.. maxnoofCSIRSneighbourCellsInMTC)) OF CSI-RS-MTC-Neighbour-Item
+
+CSI-RS-MTC-Neighbour-Item ::= SEQUENCE {
+ csi-RS-Index INTEGER(0..95),
+ iE-Extensions ProtocolExtensionContainer { { CSI-RS-MTC-Neighbour-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CSI-RS-MTC-Neighbour-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalListofForwardingGTPTunnelEndpoint ::= SEQUENCE (SIZE(1..maxnoofTargetSgNBsMinusOne)) OF AdditionalListofForwardingGTPTunnelEndpoint-Item
+
+AdditionalListofForwardingGTPTunnelEndpoint-Item ::= SEQUENCE {
+ uL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalListofForwardingGTPTunnelEndpoint-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AdditionalListofForwardingGTPTunnelEndpoint-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionLocationInformation ::= ENUMERATED {
+ includePSCell,
+ ...
+}
+
+AdditionalRRMPriorityIndex ::= BIT STRING (SIZE(32))
+
+AdditionalSpecialSubframe-Info ::= SEQUENCE {
+ additionalspecialSubframePatterns AdditionalSpecialSubframePatterns,
+ cyclicPrefixDL CyclicPrefixDL,
+ cyclicPrefixUL CyclicPrefixUL,
+ iE-Extensions ProtocolExtensionContainer { {AdditionalSpecialSubframe-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AdditionalSpecialSubframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalSpecialSubframePatterns ::= ENUMERATED {
+ ssp0,
+ ssp1,
+ ssp2,
+ ssp3,
+ ssp4,
+ ssp5,
+ ssp6,
+ ssp7,
+ ssp8,
+ ssp9,
+ ...
+}
+
+AdditionalSpecialSubframeExtension-Info ::= SEQUENCE {
+ additionalspecialSubframePatternsExtension AdditionalSpecialSubframePatternsExtension,
+ cyclicPrefixDL CyclicPrefixDL,
+ cyclicPrefixUL CyclicPrefixUL,
+ iE-Extensions ProtocolExtensionContainer { {AdditionalSpecialSubframeExtension-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AdditionalSpecialSubframeExtension-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalSpecialSubframePatternsExtension ::= ENUMERATED {
+ ssp10,
+ ...
+}
+
+AvailableFastMCGRecoveryViaSRB3 ::= ENUMERATED {true,...}
+
+AerialUEsubscriptionInformation ::= ENUMERATED {
+ allowed,
+ not-allowed,
+ ...
+}
+
+AllocationAndRetentionPriority ::= SEQUENCE {
+ priorityLevel PriorityLevel,
+ pre-emptionCapability Pre-emptionCapability,
+ pre-emptionVulnerability Pre-emptionVulnerability,
+ iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllocationAndRetentionPriority-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AreaScopeOfMDT ::= CHOICE {
+ cellBased CellBasedMDT,
+ tABased TABasedMDT,
+ pLMNWide NULL,
+ ...,
+ tAIBased TAIBasedMDT
+}
+
+AreaScopeOfQMC ::= CHOICE {
+ cellBased CellBasedQMC,
+ tABased TABasedQMC,
+ tAIBased TAIBasedQMC,
+ pLMNAreaBased PLMNAreaBasedQMC,
+ ...
+}
+
+AS-SecurityInformation ::= SEQUENCE {
+ key-eNodeB-star Key-eNodeB-Star,
+ nextHopChainingCount NextHopChainingCount,
+ iE-Extensions ProtocolExtensionContainer { {AS-SecurityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AS-SecurityInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalPLMNs-Item ::= SEQUENCE (SIZE(1..maxnoofAdditionalPLMNs)) OF PLMN-Identity
+
+
+-- B
+
+BandwidthReducedSI::= ENUMERATED {
+ scheduled,
+ ...
+}
+
+BearerType ::= ENUMERATED {
+ non-IP,
+ ...
+}
+
+BenefitMetric ::= INTEGER (-101..100, ...)
+
+BitRate ::= INTEGER (0..10000000000)
+BroadcastPLMNs-Item ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF PLMN-Identity
+
+BluetoothMeasurementConfiguration ::= SEQUENCE {
+ bluetoothMeasConfig BluetoothMeasConfig,
+ bluetoothMeasConfigNameList BluetoothMeasConfigNameList OPTIONAL,
+ bt-rssi ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {BluetoothMeasurementConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BluetoothMeasurementConfiguration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BluetoothMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofBluetoothName)) OF BluetoothName
+
+BluetoothMeasConfig::= ENUMERATED {setup,...}
+
+BluetoothName ::= OCTET STRING (SIZE (1..248))
+
+BPLMN-ID-Info-EUTRA ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF BPLMN-ID-Info-EUTRA-Item
+
+BPLMN-ID-Info-EUTRA-Item ::= SEQUENCE {
+ broadcastPLMNs BroadcastPLMNs-Item,
+ tac TAC,
+ e-utraCI EUTRANCellIdentifier,
+ iE-Extension ProtocolExtensionContainer { {BPLMN-ID-Info-EUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BPLMN-ID-Info-EUTRA-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BPLMN-ID-Info-NR ::= SEQUENCE (SIZE(1..maxnoofextBPLMNs)) OF BPLMN-ID-Info-NR-Item
+
+BPLMN-ID-Info-NR-Item ::= SEQUENCE {
+ broadcastPLMNs BroadcastextPLMNs,
+ fiveGS-TAC FiveGS-TAC OPTIONAL,
+ nr-CI NRCellIdentifier,
+ iE-Extension ProtocolExtensionContainer { {BPLMN-ID-Info-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BPLMN-ID-Info-NR-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastextPLMNs ::= SEQUENCE (SIZE(1..maxnoofextBPLMNs)) OF PLMN-Identity
+
+-- C
+
+CapacityValue ::= INTEGER (0..100)
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetwork,
+ transport CauseTransport,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ hardware-failure,
+ om-intervention,
+ not-enough-user-plane-processing-resources,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ unspecified,
+ abstract-syntax-error-falsely-constructed-message,
+ ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+ handover-desirable-for-radio-reasons,
+ time-critical-handover,
+ resource-optimisation-handover,
+ reduce-load-in-serving-cell,
+ partial-handover,
+ unknown-new-eNB-UE-X2AP-ID,
+ unknown-old-eNB-UE-X2AP-ID,
+ unknown-pair-of-UE-X2AP-ID,
+ ho-target-not-allowed,
+ tx2relocoverall-expiry,
+ trelocprep-expiry,
+ cell-not-available,
+ no-radio-resources-available-in-target-cell,
+ invalid-MME-GroupID,
+ unknown-MME-Code,
+ encryption-and-or-integrity-protection-algorithms-not-supported,
+ reportCharacteristicsEmpty,
+ noReportPeriodicity,
+ existingMeasurementID,
+ unknown-eNB-Measurement-ID,
+ measurement-temporarily-not-available,
+ unspecified,
+ ...,
+ load-balancing,
+ handover-optimisation,
+ value-out-of-allowed-range,
+ multiple-E-RAB-ID-instances,
+ switch-off-ongoing,
+ not-supported-QCI-value,
+ measurement-not-supported-for-the-object,
+ tDCoverall-expiry,
+ tDCprep-expiry,
+ action-desirable-for-radio-reasons,
+ reduce-load,
+ resource-optimisation,
+ time-critical-action,
+ target-not-allowed,
+ no-radio-resources-available,
+ invalid-QoS-combination,
+ encryption-algorithms-not-supported,
+ procedure-cancelled,
+ rRM-purpose,
+ improve-user-bit-rate,
+ user-inactivity,
+ radio-connection-with-UE-lost,
+ failure-in-the-radio-interface-procedure,
+ bearer-option-not-supported,
+ mCG-Mobility,
+ sCG-Mobility,
+ count-reaches-max-value,
+ unknown-old-en-gNB-UE-X2AP-ID,
+ pDCP-Overload,
+ cho-cpc-resources-tobechanged,
+ ue-power-saving,
+ insufficient-ue-capabilities,
+ normal-release,
+ unknown-E-UTRAN-Node-Measurement-ID,
+ sCG-activation-deactivation-failure,
+ sCG-deactivation-failure-due-to-data-transmission,
+ up-integrity-protection-not-possible
+
+
+}
+
+CauseTransport ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+CellBasedMDT::= SEQUENCE {
+ cellIdListforMDT CellIdListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellBasedQMC::= SEQUENCE {
+ cellIdListforQMC CellIdListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedQMC-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellCapacityClassValue ::= INTEGER (1..100, ...)
+
+CellDeploymentStatusIndicator ::= ENUMERATED {pre-change-notification, ...}
+
+CellIdListforMDT ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF ECGI
+
+CellIdListforQMC ::= SEQUENCE (SIZE(1..maxnoofCellIDforQMC)) OF ECGI
+
+CellReplacingInfo ::= SEQUENCE {
+ replacingCellsList ReplacingCellsList,
+ iE-Extensions ProtocolExtensionContainer { {CellReplacingInfo-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CellReplacingInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellReportingIndicator ::= ENUMERATED {stop-request, ... }
+
+Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ... }
+
+
+CellType ::= SEQUENCE {
+ cell-Size Cell-Size,
+ iE-Extensions ProtocolExtensionContainer { {CellType-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CellType-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPACcandidatePSCells-list ::= SEQUENCE (SIZE(1..maxnoofPSCellCandidates)) OF CPACcandidatePSCells-item
+
+CPACcandidatePSCells-item ::= SEQUENCE {
+ pscell-id NRCGI,
+ iE-Extensions ProtocolExtensionContainer { {CPACcandidatePSCells-item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CPACcandidatePSCells-item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPCindicator ::= ENUMERATED {cpc-initiation, cpc-modification, cpc-cancel, ...}
+
+
+CPCdataforwarding ::= ENUMERATED {cpc-triggered, early-data-transmission-stop, ..., coordination-only}
+
+
+CPAinformation-REQ ::= SEQUENCE {
+ max-no-of-pscells INTEGER (1..maxnoofPSCellCandidates),
+ estimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CPAinformation-REQ-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPAinformation-REQ-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPAinformation-REQ-ACK ::= SEQUENCE {
+ candidate-pscells CPACcandidatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { {CPAinformation-REQ-ACK-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPAinformation-REQ-ACK-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPCinformation-REQD ::= SEQUENCE {
+ cpc-target-sgnb-list CPC-target-SgNB-reqd-list,
+ iE-Extensions ProtocolExtensionContainer { {CPCinformation-REQD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CPCinformation-REQD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPC-target-SgNB-reqd-list ::= SEQUENCE (SIZE(1..maxnoofTargetSgNBs)) OF CPC-target-SgNB-reqd-item
+
+
+CPC-target-SgNB-reqd-item ::= SEQUENCE {
+ target-SgNB-ID GlobalGNB-ID,
+ cpc-indicator CPCindicator,
+ max-no-of-pscells INTEGER (1..maxnoofPSCellCandidates),
+ estimatedArrivalProbability CHO-Probability OPTIONAL,
+ sgNBtoMeNBContainer SgNBtoMeNBContainer,
+ iE-Extensions ProtocolExtensionContainer { {CPC-target-SgNB-reqd-item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-target-SgNB-reqd-item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPCinformation-CONF ::= SEQUENCE {
+ cpc-target-sgnb-list CPC-target-SgNB-conf-list,
+ iE-Extensions ProtocolExtensionContainer { {CPCinformation-CONF-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CPCinformation-CONF-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPC-target-SgNB-conf-list ::= SEQUENCE (SIZE(1..maxnoofTargetSgNBs)) OF CPC-target-SgNB-conf-item
+
+
+CPC-target-SgNB-conf-item ::= SEQUENCE {
+ target-SgNB-ID GlobalGNB-ID,
+ candidate-pscells CPACcandidatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { {CPC-target-SgNB-conf-item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-target-SgNB-conf-item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPCinformation-NOTIFY ::= SEQUENCE {
+ cpc-indicator CPCdataforwarding,
+ iE-Extensions ProtocolExtensionContainer { {CPCinformation-NOTIFY-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPCinformation-NOTIFY-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPAinformation-MOD ::= SEQUENCE {
+ max-no-of-pscells INTEGER (1..maxnoofPSCellCandidates) OPTIONAL,
+ estimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CPAinformation-MOD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPAinformation-MOD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPCupdate-MOD ::= SEQUENCE {
+
+ cpc-target-sgnb-list CPC-target-SgNB-mod-list,
+ iE-Extensions ProtocolExtensionContainer { {CPCupdate-MOD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPCupdate-MOD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPC-target-SgNB-mod-list ::= SEQUENCE (SIZE(1..maxnoofTargetSgNBs)) OF CPC-target-SgNB-mod-item
+
+CPC-target-SgNB-mod-item ::= SEQUENCE {
+ target-SgNB-ID GlobalGNB-ID,
+ candidate-pscells CPACcandidatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { {CPC-target-SgNB-mod-item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-target-SgNB-mod-item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPAinformation-MOD-ACK ::= SEQUENCE {
+ candidate-pscells CPACcandidatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { {CPAinformation-MOD-ACK-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPAinformation-MOD-ACK-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPACinformation-REQD ::= SEQUENCE {
+ candidate-pscells CPACcandidatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { { CPACinformation-REQD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPACinformation-REQD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CHO-DC-EarlyDataForwarding ::= ENUMERATED {stop, ...}
+
+CHO-DC-Indicator ::= ENUMERATED {true, ..., coordination-only}
+
+CNTypeRestrictions ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF CNTypeRestrictionsItem
+
+CNTypeRestrictionsItem ::= SEQUENCE {
+ plmn-Id PLMN-Identity,
+ cn-type ENUMERATED {fiveGC-forbidden, ... , epc-forbidden},
+ iE-Extensions ProtocolExtensionContainer { {CNTypeRestrictionsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CNTypeRestrictionsItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CoMPHypothesisSet ::= SEQUENCE (SIZE(1..maxnoofCoMPCells)) OF CoMPHypothesisSetItem
+
+CoMPHypothesisSetItem ::= SEQUENCE {
+ coMPCellID ECGI,
+ coMPHypothesis BIT STRING (SIZE(6..4400, ...)),
+ iE-Extensions ProtocolExtensionContainer { {CoMPHypothesisSetItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CoMPHypothesisSetItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CoMPInformation ::= SEQUENCE {
+ coMPInformationItem CoMPInformationItem,
+ coMPInformationStartTime CoMPInformationStartTime,
+ iE-Extensions ProtocolExtensionContainer { {CoMPInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CoMPInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CoMPInformationItem ::= SEQUENCE (SIZE(1..maxnoofCoMPHypothesisSet)) OF
+ SEQUENCE {
+ coMPHypothesisSet CoMPHypothesisSet,
+ benefitMetric BenefitMetric,
+ iE-Extensions ProtocolExtensionContainer { {CoMPInformationItem-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CoMPInformationItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CoMPInformationStartTime ::= SEQUENCE (SIZE(0..1)) OF
+ SEQUENCE {
+ startSFN INTEGER (0..1023, ...),
+ startSubframeNumber INTEGER (0..9, ...),
+ iE-Extensions ProtocolExtensionContainer { {CoMPInformationStartTime-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CoMPInformationStartTime-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CompositeAvailableCapacity ::= SEQUENCE {
+ cellCapacityClassValue CellCapacityClassValue OPTIONAL,
+ capacityValue CapacityValue,
+ iE-Extensions ProtocolExtensionContainer { {CompositeAvailableCapacity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompositeAvailableCapacity-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CompositeAvailableCapacityGroup ::= SEQUENCE {
+ dL-CompositeAvailableCapacity CompositeAvailableCapacity,
+ uL-CompositeAvailableCapacity CompositeAvailableCapacity,
+ iE-Extensions ProtocolExtensionContainer { {CompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompositeAvailableCapacityGroup-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Correlation-ID ::= OCTET STRING (SIZE (4))
+
+COUNTvalue ::= SEQUENCE {
+ pDCP-SN PDCP-SN,
+ hFN HFN,
+ iE-Extensions ProtocolExtensionContainer { {COUNTvalue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNTvalue-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+COUNTValueExtended ::= SEQUENCE {
+ pDCP-SNExtended PDCP-SNExtended,
+ hFNModified HFNModified,
+ iE-Extensions ProtocolExtensionContainer { {COUNTValueExtended-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNTValueExtended-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+COUNTvaluePDCP-SNlength18 ::= SEQUENCE {
+ pDCP-SNlength18 PDCP-SNlength18,
+ hFNforPDCP-SNlength18 HFNforPDCP-SNlength18,
+ iE-Extensions ProtocolExtensionContainer { {COUNTvaluePDCP-SNlength18-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNTvaluePDCP-SNlength18-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CoverageModificationList ::= SEQUENCE (SIZE (1..maxCellineNB)) OF CoverageModification-Item
+
+CoverageModification-Item ::= SEQUENCE {
+ eCGI ECGI,
+ coverageState INTEGER (0..15, ...),
+ cellDeploymentStatusIndicator CellDeploymentStatusIndicator OPTIONAL,
+ cellReplacingInfo CellReplacingInfo OPTIONAL,
+-- Included in case the Cell Deployment Status Indicator IE is present
+ ...
+}
+
+CPTransportLayerInformation ::= CHOICE {
+ endpointIPAddress TransportLayerAddress,
+ endpointIPAddressAndPort TransportLayerAddressAndPort,
+ ...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CriticalityDiagnostics-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CRNTI ::= BIT STRING (SIZE (16))
+
+CSGMembershipStatus ::= ENUMERATED {
+ member,
+ not-member
+}
+
+CSG-Id ::= BIT STRING (SIZE (27))
+
+CSIReportList ::= SEQUENCE (SIZE(1..maxUEReport)) OF
+ SEQUENCE {
+ uEID UEID,
+ cSIReportPerCSIProcess CSIReportPerCSIProcess,
+ iE-Extensions ProtocolExtensionContainer { {CSIReportList-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CSIReportList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CSIReportPerCSIProcess ::= SEQUENCE (SIZE(1.. maxCSIProcess)) OF
+ SEQUENCE {
+ cSIProcessConfigurationIndex INTEGER (1..7, ...),
+ cSIReportPerCSIProcessItem CSIReportPerCSIProcessItem,
+ iE-Extensions ProtocolExtensionContainer { {CSIReportPerCSIProcess-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CSIReportPerCSIProcess-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CSIReportPerCSIProcessItem ::= SEQUENCE (SIZE(1.. maxCSIReport)) OF
+ SEQUENCE {
+ rI INTEGER (1..8, ...),
+ widebandCQI WidebandCQI,
+ subbandSize SubbandSize,
+ subbandCQIList SubbandCQIList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CSIReportPerCSIProcessItem-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+CSIReportPerCSIProcessItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CyclicPrefixDL ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+CyclicPrefixUL ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+CHOtrigger ::= ENUMERATED {
+ cho-initiation,
+ cho-replace,
+ ...
+}
+
+CHOinformation-REQ ::= SEQUENCE {
+ cho-trigger CHOtrigger,
+ new-eNB-UE-X2AP-ID UE-X2AP-ID OPTIONAL
+ -- This IE shall be present if the cho-trigger IE is present and set to "CHO-replace" --,
+ new-eNB-UE-X2AP-ID-Extension UE-X2AP-ID-Extension OPTIONAL,
+ cHO-EstimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CHOinformation-REQ-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOinformation-REQ-ExtIEs X2AP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+CHOinformation-ACK ::= SEQUENCE {
+ requestedTargetCellID ECGI,
+ maxCHOpreparations MaxCHOpreparations OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CHOinformation-ACK-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOinformation-ACK-ExtIEs X2AP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+CandidateCellsToBeCancelledList ::= SEQUENCE (SIZE (1..maxnoofCellsinCHO)) OF ECGI
+
+CHO-Probability ::= INTEGER (1..100)
+
+CHOinformation-AddReq ::= SEQUENCE {
+ source-eNB-ID GlobalENB-ID,
+ source-eNB-UE-X2AP-ID UE-X2AP-ID,
+ source-eNB-UE-X2AP-ID-Ext UE-X2AP-ID-Extension OPTIONAL,
+ cHO-EstimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CHOinformation-AddReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOinformation-AddReq-ExtIEs X2AP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+CHOinformation-ModReq ::= SEQUENCE {
+ conditionalReconfig ENUMERATED {intra-mn-cho, ...},
+ cHO-EstimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CHOinformation-ModReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOinformation-ModReq-ExtIEs X2AP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+CSI-RSTransmissionIndication ::= ENUMERATED {
+ activated,
+ deactivated,
+ ...
+}
+
+-- D
+
+
+DataTrafficResources ::= BIT STRING (SIZE(6..17600))
+
+DataTrafficResourceIndication ::= SEQUENCE {
+ activationSFN INTEGER (0..1023),
+ sharedResourceType SharedResourceType,
+ reservedSubframePattern ReservedSubframePattern OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DataTrafficResourceIndication-ExtIEs} } OPTIONAL,
+...
+}
+
+DataTrafficResourceIndication-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DAPSRequestInfo ::= SEQUENCE {
+ dAPSIndicator ENUMERATED {daps-HO-required, ...},
+ iE-Extensions ProtocolExtensionContainer { {DAPSRequestInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSRequestInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+DAPSResponseInfo ::= SEQUENCE {
+ dAPSResponseIndicator ENUMERATED { daps-HO-accepted, daps-HO-not-accepted,...},
+ iE-Extensions ProtocolExtensionContainer { { DAPSResponseInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSResponseInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DeactivationIndication::= ENUMERATED {
+ deactivated,
+ ...
+}
+
+DeliveryStatus ::= SEQUENCE {
+ highestSuccessDeliveredPDCPSN INTEGER (0..4095),
+ iE-Extensions ProtocolExtensionContainer { {DeliveryStatus-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DeliveryStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DesiredActNotificationLevel ::= ENUMERATED {none, e-rab, ue-level, ...}
+
+DirectForwardingPathAvailability ::= ENUMERATED {direct-path-available, ...}
+
+DL-ABS-status::= INTEGER (0..100)
+
+DL-Forwarding ::= ENUMERATED {
+ dL-forwardingProposed,
+ ...
+}
+
+DL-GBR-PRB-usage::= INTEGER (0..100)
+
+DL-GBR-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+DL-non-GBR-PRB-usage::= INTEGER (0..100)
+
+DL-non-GBR-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+DLResourceBitmapULandDLSharing ::= DataTrafficResources
+
+DLResourcesULandDLSharing ::= CHOICE {
+unchanged NULL,
+ changed DLResourceBitmapULandDLSharing,
+ ...
+}
+
+DL-scheduling-PDCCH-CCE-usage::= INTEGER (0..100)
+
+DL-Total-PRB-usage::= INTEGER (0..100)
+
+DL-Total-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+DRB-ID ::= INTEGER (1..32)
+
+DuplicationActivation::= ENUMERATED {active, inactive, ...}
+
+DynamicDLTransmissionInformation ::= CHOICE {
+ naics-active DynamicNAICSInformation,
+ naics-inactive NULL,
+ ...
+}
+
+DynamicNAICSInformation ::= SEQUENCE {
+ transmissionModes BIT STRING (SIZE(8)) OPTIONAL,
+ pB-information INTEGER(0..3) OPTIONAL,
+ pA-list SEQUENCE (SIZE(0..maxnoofPA)) OF PA-Values,
+ iE-Extensions ProtocolExtensionContainer { {DynamicNAICSInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DynamicNAICSInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- E
+
+EARFCN ::= INTEGER (0..maxEARFCN)
+
+EARFCNExtension ::= INTEGER(maxEARFCNPlusOne..newmaxEARFCN, ...)
+
+ECGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ eUTRANcellIdentifier EUTRANCellIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {ECGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ECGI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EndcSONConfigurationTransfer ::= OCTET STRING
+
+EnhancedRNTP ::= SEQUENCE {
+ enhancedRNTPBitmap BIT STRING (SIZE(12..8800, ...)),
+ rNTP-High-Power-Threshold RNTP-Threshold,
+ enhancedRNTPStartTime EnhancedRNTPStartTime OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EnhancedRNTP-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EnhancedRNTP-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EnhancedRNTPStartTime ::= SEQUENCE {
+ startSFN INTEGER (0..1023, ...),
+ startSubframeNumber INTEGER (0..9, ...),
+ iE-Extensions ProtocolExtensionContainer { {EnhancedRNTPStartTime-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+EnhancedRNTPStartTime-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ENB-ID ::= CHOICE {
+ macro-eNB-ID BIT STRING (SIZE (20)),
+ home-eNB-ID BIT STRING (SIZE (28)),
+ ... ,
+ short-Macro-eNB-ID BIT STRING (SIZE(18)),
+ long-Macro-eNB-ID BIT STRING (SIZE(21))
+}
+
+EncryptionAlgorithms ::= BIT STRING (SIZE (16, ...))
+
+EN-DC-ResourceConfiguration ::= SEQUENCE {
+ pDCPatSgNB ENUMERATED {present, not-present, ...},
+ mCGresources ENUMERATED {present, not-present, ...},
+ sCGresources ENUMERATED {present, not-present, ...},
+ iE-Extensions ProtocolExtensionContainer { {EN-DC-ResourceConfigurationExtIEs} } OPTIONAL,
+ ...
+}
+
+EN-DC-ResourceConfigurationExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EPCHandoverRestrictionListContainer ::= OCTET STRING
+-- This octets of the OCTET STRING contain the Handover Restriction List IE as specified in TS 36.413 [4]. --
+
+EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMN-Identity
+
+ERABActivityNotifyItemList ::= SEQUENCE (SIZE (0..maxnoofBearers)) OF ERABActivityNotifyItem
+
+ERABActivityNotifyItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ activityReport UserPlaneTrafficActivityReport,
+ iE-Extensions ProtocolExtensionContainer { {ERABActivityNotifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ERABActivityNotifyItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RAB-ID ::= INTEGER (0..15, ...)
+
+E-RAB-Level-QoS-Parameters ::= SEQUENCE {
+ qCI QCI,
+ allocationAndRetentionPriority AllocationAndRetentionPriority,
+ gbrQosInformation GBR-QosInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RAB-Level-QoS-Parameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RAB-Level-QoS-Parameters-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+-- Extended for introduction of downlink and uplink packet loss rate for enhanced Voice performance –
+ { ID id-DownlinkPacketLossRate CRITICALITY ignore EXTENSION Packet-LossRate PRESENCE optional}|
+ { ID id-UplinkPacketLossRate CRITICALITY ignore EXTENSION Packet-LossRate PRESENCE optional},
+ ...
+}
+
+E-RAB-List ::= SEQUENCE (SIZE(1.. maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RAB-ItemIEs} }
+
+E-RAB-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RAB-Item CRITICALITY ignore TYPE E-RAB-Item PRESENCE mandatory },
+ ...
+}
+
+E-RAB-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {E-RAB-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RAB-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABsSubjectToEarlyStatusTransfer-List ::= SEQUENCE (SIZE (1.. maxnoofBearers)) OF E-RABsSubjectToEarlyStatusTransfer-Item
+
+E-RABsSubjectToEarlyStatusTransfer-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ fIRST-DL-COUNTValue COUNTvalue,
+ fIRST-DL-COUNTValueExtended COUNTValueExtended OPTIONAL,
+ fIRST-DL-COUNTValueforPDCPSNLength18 COUNTvaluePDCP-SNlength18 OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { E-RABsSubjectToEarlyStatusTransfer-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABsSubjectToEarlyStatusTransfer-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABsSubjectToDLDiscarding-List ::= SEQUENCE (SIZE (1.. maxnoofBearers)) OF E-RABsSubjectToDLDiscarding-Item
+
+E-RABsSubjectToDLDiscarding-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dISCARD-DL-COUNTValue COUNTvalue,
+ dISCARD-DL-COUNTValueExtended COUNTValueExtended OPTIONAL,
+ dISCARD-DL-COUNTValueforPDCPSNLength18 COUNTvaluePDCP-SNlength18 OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { E-RABsSubjectToDLDiscarding-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABsSubjectToDLDiscarding-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-RABUsageReportList ::= SEQUENCE (SIZE(1..maxnooftimeperiods)) OF ProtocolIE-Single-Container { {E-RABUsageReport-ItemIEs} }
+
+E-RABUsageReport-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABUsageReport-Item CRITICALITY ignore TYPE E-RABUsageReport-Item PRESENCE mandatory },
+ ...
+}
+
+E-RABUsageReport-Item ::= SEQUENCE {
+ startTimeStamp OCTET STRING (SIZE(4)),
+ endTimeStamp OCTET STRING (SIZE(4)),
+ usageCountUL INTEGER (0..18446744073709551615),
+ usageCountDL INTEGER (0..18446744073709551615),
+ iE-Extensions ProtocolExtensionContainer { {E-RABUsageReport-Item-ExtIEs} } OPTIONAL,
+...
+}
+
+E-RABUsageReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Ethernet-Type ::= ENUMERATED {
+ true,
+ ...
+}
+
+EUTRA-Mode-Info ::= CHOICE {
+ fDD FDD-Info,
+ tDD TDD-Info,
+ ...
+}
+
+EUTRANCellIdentifier ::= BIT STRING (SIZE (28))
+
+EUTRANTraceID ::= OCTET STRING (SIZE (8))
+
+EventType ::= ENUMERATED{
+ change-of-serving-cell,
+ ...
+}
+
+ExpectedUEBehaviour ::= SEQUENCE {
+ expectedActivity ExpectedUEActivityBehaviour OPTIONAL,
+ expectedHOInterval ExpectedHOInterval OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ExpectedUEBehaviour-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEBehaviour-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExpectedUEActivityBehaviour ::= SEQUENCE {
+ expectedActivityPeriod ExpectedActivityPeriod OPTIONAL,
+ expectedIdlePeriod ExpectedIdlePeriod OPTIONAL,
+ sourceofUEActivityBehaviourInformation SourceOfUEActivityBehaviourInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ExpectedUEActivityBehaviour-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEActivityBehaviour-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExpectedActivityPeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181,...)
+
+ExpectedIdlePeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181,...)
+
+ExpectedHOInterval ::= ENUMERATED {
+ sec15, sec30, sec60, sec90, sec120, sec180, long-time,
+ ...
+}
+
+ExtendedULInterferenceOverloadInfo ::= SEQUENCE {
+ associatedSubframes BIT STRING (SIZE (5)),
+ extended-ul-InterferenceOverloadIndication UL-InterferenceOverloadIndication,
+ iE-Extensions ProtocolExtensionContainer { {ExtendedULInterferenceOverloadInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExtendedULInterferenceOverloadInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExtendedBitRate ::= INTEGER (10000000001..4000000000000,...)
+
+-- F
+
+F1CTrafficContainer ::= OCTET STRING
+
+FastMCGRecovery ::= SEQUENCE {
+ rrcContainer RRCContainer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {FastMCGRecovery-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FastMCGRecovery-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FDD-Info ::= SEQUENCE {
+ uL-EARFCN EARFCN,
+ dL-EARFCN EARFCN,
+ uL-Transmission-Bandwidth Transmission-Bandwidth,
+ dL-Transmission-Bandwidth Transmission-Bandwidth,
+ iE-Extensions ProtocolExtensionContainer { {FDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-UL-EARFCNExtension CRITICALITY reject EXTENSION EARFCNExtension PRESENCE optional}|
+ { ID id-DL-EARFCNExtension CRITICALITY reject EXTENSION EARFCNExtension PRESENCE optional}|
+ { ID id-OffsetOfNbiotChannelNumberToDL-EARFCN CRITICALITY reject EXTENSION OffsetOfNbiotChannelNumberToEARFCN PRESENCE optional}|
+ { ID id-OffsetOfNbiotChannelNumberToUL-EARFCN CRITICALITY reject EXTENSION OffsetOfNbiotChannelNumberToEARFCN PRESENCE optional}|
+ { ID id-NRS-NSSS-PowerOffset CRITICALITY ignore EXTENSION NRS-NSSS-PowerOffset PRESENCE optional}|
+ { ID id-NSSS-NumOccasionDifferentPrecoder CRITICALITY ignore EXTENSION NSSS-NumOccasionDifferentPrecoder PRESENCE optional},
+ ...
+}
+
+FDD-InfoNeighbourServedNRCell-Information ::= SEQUENCE {
+ ul-NRFreqInfo NRFreqInfo,
+ dl-NRFreqInfo NRFreqInfo,
+ iE-Extensions ProtocolExtensionContainer { {FDD-InfoNeighbourServedNRCell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-InfoNeighbourServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ULCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional },
+ ...
+}
+
+FiveQI ::= INTEGER (0..255, ...)
+
+ForbiddenInterRATs ::= ENUMERATED {
+ all,
+ geran,
+ utran,
+ cdma2000,
+ ...,
+ geranandutran,
+ cdma2000andutran
+
+}
+
+ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item
+
+ForbiddenTAs-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ forbiddenTACs ForbiddenTACs,
+ iE-Extensions ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ForbiddenTAs-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC
+
+ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item
+
+ForbiddenLAs-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ forbiddenLACs ForbiddenLACs,
+ iE-Extensions ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ForbiddenLAs-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC
+
+Fourframes ::= BIT STRING (SIZE (24))
+
+FreqBandIndicator ::= INTEGER (1..256, ...)
+
+FreqBandIndicatorPriority ::= ENUMERATED {
+ not-broadcasted,
+ broadcasted,
+ ...
+}
+
+
+FreqBandNrItem ::= SEQUENCE {
+ freqBandIndicatorNr INTEGER (1..1024,...),
+ supportedSULBandList SEQUENCE (SIZE(0..maxnoofNrCellBands)) OF SupportedSULFreqBandItem,
+ iE-Extensions ProtocolExtensionContainer { {FreqBandNrItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FreqBandNrItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FrequencyShift7p5khz ::= ENUMERATED {false, true, ...}
+
+
+-- G
+
+GBR-QosInformation ::= SEQUENCE {
+ e-RAB-MaximumBitrateDL BitRate,
+ e-RAB-MaximumBitrateUL BitRate,
+ e-RAB-GuaranteedBitrateDL BitRate,
+ e-RAB-GuaranteedBitrateUL BitRate,
+ iE-Extensions ProtocolExtensionContainer { {GBR-QosInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBR-QosInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+-- Extension for maximum bitrate > 10Gbps --
+ { ID id-extended-e-RAB-MaximumBitrateDL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
+ { ID id-extended-e-RAB-MaximumBitrateUL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
+ { ID id-extended-e-RAB-GuaranteedBitrateDL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
+ { ID id-extended-e-RAB-GuaranteedBitrateUL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional},
+ ...
+}
+
+GlobalENB-ID ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ eNB-ID ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalENB-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GlobalGNB-ID ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ gNB-ID GNB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalGNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalGNB-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Global-RAN-NODE-ID ::= CHOICE {
+ gNB GlobalGNB-ID,
+ choice-extension ProtocolIE-Single-Container { { Global-RAN-NODE-ID-ExtIEs} }
+}
+
+Global-RAN-NODE-ID-ExtIEs X2AP-PROTOCOL-IES ::= {
+ ...
+}
+
+GNBOverloadInformation ::= ENUMERATED {overloaded, not-overloaded, ...}
+
+GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofGTPTLAs)) OF GTPTLA-Item
+
+
+GTPTLA-Item ::= SEQUENCE {
+ gTPTransportLayerAddresses TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { GTPTLA-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GTPTLA-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GTPtunnelEndpoint ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ gTP-TEID GTP-TEI,
+ iE-Extensions ProtocolExtensionContainer { {GTPtunnelEndpoint-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GTPtunnelEndpoint-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ {ID id-QoS-Mapping-Information CRITICALITY reject EXTENSION QoS-Mapping-Information PRESENCE optional},
+ ...
+}
+
+GTP-TEI ::= OCTET STRING (SIZE (4))
+
+GUGroupIDList ::= SEQUENCE (SIZE (1..maxPools)) OF GU-Group-ID
+
+
+GU-Group-ID ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ mME-Group-ID MME-Group-ID,
+ iE-Extensions ProtocolExtensionContainer { {GU-Group-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GU-Group-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GUMMEI ::= SEQUENCE {
+
+ gU-Group-ID GU-Group-ID,
+ mME-Code MME-Code,
+ iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GUMMEI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-ID ::= CHOICE {
+ gNB-ID BIT STRING (SIZE (22..32)),
+ ...
+}
+
+
+-- H
+
+HandoverReportType ::= ENUMERATED {
+ hoTooEarly,
+ hoToWrongCell,
+ ...,
+ interRATpingpong,
+ interSystemPingpong
+}
+
+HandoverRestrictionList ::= SEQUENCE {
+ servingPLMN PLMN-Identity,
+ equivalentPLMNs EPLMNs OPTIONAL,
+ forbiddenTAs ForbiddenTAs OPTIONAL,
+ forbiddenLAs ForbiddenLAs OPTIONAL,
+ forbiddenInterRATs ForbiddenInterRATs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HandoverRestrictionList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NRrestrictioninEPSasSecondaryRAT CRITICALITY ignore EXTENSION NRrestrictioninEPSasSecondaryRAT PRESENCE optional}|
+ { ID id-CNTypeRestrictions CRITICALITY ignore EXTENSION CNTypeRestrictions PRESENCE optional}|
+ { ID id-NRrestrictionin5GS CRITICALITY ignore EXTENSION NRrestrictionin5GS PRESENCE optional}|
+ { ID id-LastNG-RANPLMNIdentity CRITICALITY ignore EXTENSION PLMN-Identity PRESENCE optional}|
+ { ID id-UnlicensedSpectrumRestriction CRITICALITY ignore EXTENSION UnlicensedSpectrumRestriction PRESENCE optional}|
+ { ID id-RAT-Restrictions CRITICALITY ignore EXTENSION RAT-Restrictions PRESENCE optional},
+ ...
+}
+
+HFN ::= INTEGER (0..1048575)
+
+HFNModified ::= INTEGER (0..131071)
+
+HFNforPDCP-SNlength18 ::= INTEGER (0..16383)
+
+HWLoadIndicator ::= SEQUENCE {
+ dLHWLoadIndicator LoadIndicator,
+ uLHWLoadIndicator LoadIndicator,
+ iE-Extensions ProtocolExtensionContainer { {HWLoadIndicator-ExtIEs} } OPTIONAL,
+ ...
+}
+
+HWLoadIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- I
+
+
+IABNodeIndication ::= ENUMERATED {true,...}
+
+IMSvoiceEPSfallbackfrom5G ::= ENUMERATED {
+ true,
+ ...
+}
+
+IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16, ...))
+
+IntegrityProtectionIndication ::= ENUMERATED {
+ required,
+ preferred,
+ notneeded,
+ ...
+}
+
+IntegrityProtectionResult ::= ENUMERATED {
+ performed,
+ notperformed,
+ ...
+}
+
+IntendedTDD-DL-ULConfiguration-NR ::= OCTET STRING
+
+InterfaceInstanceIndication ::= INTEGER (0..255, ...)
+
+InterfacesToTrace ::= BIT STRING (SIZE (8))
+
+InvokeIndication ::= ENUMERATED{
+ abs-information,
+ ...,
+ naics-information-start,
+ naics-information-stop
+}
+
+-- J
+-- K
+
+Key-eNodeB-Star ::= BIT STRING (SIZE(256))
+
+-- L
+
+LastVisitedPSCell-Item ::= OCTET STRING
+
+LAC ::= OCTET STRING (SIZE (2)) --(EXCEPT ('0000'H|'FFFE'H))
+
+LastVisitedCell-Item ::= CHOICE {
+ e-UTRAN-Cell LastVisitedEUTRANCellInformation,
+ uTRAN-Cell LastVisitedUTRANCellInformation,
+ gERAN-Cell LastVisitedGERANCellInformation,
+ ...,
+ nG-RAN-Cell LastVisitedNGRANCellInformation
+}
+
+LastVisitedEUTRANCellInformation ::= SEQUENCE {
+ global-Cell-ID ECGI,
+ cellType CellType,
+ time-UE-StayedInCell Time-UE-StayedInCell,
+ iE-Extensions ProtocolExtensionContainer { {LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LastVisitedEUTRANCellInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Rel-11 to support enhanced granularity for time UE stayed in cell --
+ { ID id-Time-UE-StayedInCell-EnhancedGranularity CRITICALITY ignore EXTENSION Time-UE-StayedInCell-EnhancedGranularity PRESENCE optional}|
+ { ID id-HO-cause CRITICALITY ignore EXTENSION Cause PRESENCE optional}|
+ { ID id-PSCell-UE-HistoryInformation CRITICALITY ignore EXTENSION PSCell-UE-HistoryInformation PRESENCE optional},
+ ...
+}
+
+LastVisitedGERANCellInformation ::= CHOICE {
+ undefined NULL,
+ ...
+}
+
+LastVisitedNGRANCellInformation ::= OCTET STRING
+
+LastVisitedUTRANCellInformation ::= OCTET STRING
+
+LCID ::= INTEGER(1..32, ...)
+
+LHN-ID ::= OCTET STRING(SIZE (32..256))
+
+Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}
+
+LoadIndicator ::= ENUMERATED {
+ lowLoad,
+ mediumLoad,
+ highLoad,
+ overLoad,
+ ...
+}
+
+LocationInformationSgNB ::= SEQUENCE {
+ pSCell-id NRCGI,
+ iE-Extensions ProtocolExtensionContainer { {LocationInformationSgNB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LocationInformationSgNB-ExtIEs X2AP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+LocationInformationSgNBReporting ::= ENUMERATED {
+ pSCell,
+ ...
+}
+
+LocationReportingInformation ::= SEQUENCE {
+ eventType EventType,
+ reportArea ReportArea,
+ iE-Extensions ProtocolExtensionContainer { {LocationReportingInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LocationReportingInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::={
+ { ID id-AdditionLocationInformation CRITICALITY ignore EXTENSION AdditionLocationInformation PRESENCE optional},
+ ...
+}
+
+LowerLayerPresenceStatusChange ::= ENUMERATED {
+ release-lower-layers,
+ re-establish-lower-layers,
+ suspend-lower-layers,
+ resume-lower-layers,
+ ...
+}
+
+-- M
+
+M1PeriodicReporting ::= SEQUENCE {
+ reportInterval ReportIntervalMDT,
+ reportAmount ReportAmountMDT,
+ iE-Extensions ProtocolExtensionContainer { {M1PeriodicReporting-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1PeriodicReporting-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M1ReportingTrigger::= ENUMERATED{
+ periodic,
+ a2eventtriggered,
+ ...,
+ a2eventtriggered-periodic
+}
+
+M1ThresholdEventA2 ::= SEQUENCE {
+ measurementThreshold MeasurementThresholdA2,
+ iE-Extensions ProtocolExtensionContainer { {M1ThresholdEventA2-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1ThresholdEventA2-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M3Configuration ::= SEQUENCE {
+ m3period M3period,
+ iE-Extensions ProtocolExtensionContainer { {M3Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M3Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M3period ::= ENUMERATED {ms100, ms1000, ms10000, ... }
+
+M4Configuration ::= SEQUENCE {
+ m4period M4period,
+ m4-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { {M4Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M4Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+
+M5Configuration ::= SEQUENCE {
+ m5period M5period,
+ m5-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { {M5Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M5Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+M6Configuration ::= SEQUENCE {
+ m6report-interval M6report-interval,
+ m6delay-threshold M6delay-threshold OPTIONAL,
+-- This IE shall be present if the M6 Links to log IE is set to “uplink†or to “both-uplink-and-downlink†--
+ m6-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { {M6Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M6Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M6report-interval ::= ENUMERATED { ms1024, ms2048, ms5120, ms10240, ... }
+
+M6delay-threshold ::= ENUMERATED { ms30, ms40, ms50, ms60, ms70, ms80, ms90, ms100, ms150, ms300, ms500, ms750, ... }
+
+M7Configuration ::= SEQUENCE {
+ m7period M7period,
+ m7-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { {M7Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M7Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+M7period ::= INTEGER(1..60, ...)
+
+MakeBeforeBreakIndicator::= ENUMERATED {true, ...}
+
+ManagementBasedMDTallowed ::= ENUMERATED {allowed, ...}
+
+Masked-IMEISV ::= BIT STRING (SIZE (64))
+
+MaxCHOpreparations ::= INTEGER(1..8, ...)
+
+MDT-Activation ::= ENUMERATED {
+ immediate-MDT-only,
+ immediate-MDT-and-Trace,
+ ...
+}
+
+MDT-Configuration ::= SEQUENCE {
+ mdt-Activation MDT-Activation,
+ areaScopeOfMDT AreaScopeOfMDT,
+ measurementsToActivate MeasurementsToActivate,
+ m1reportingTrigger M1ReportingTrigger,
+ m1thresholdeventA2 M1ThresholdEventA2 OPTIONAL,
+-- Included in case of event-triggered, or event-triggered periodic reporting for measurement M1
+ m1periodicReporting M1PeriodicReporting OPTIONAL,
+-- Included in case of periodic, or event-triggered periodic reporting for measurement M1
+ iE-Extensions ProtocolExtensionContainer { {MDT-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MDT-Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ {ID id-M3Configuration CRITICALITY ignore EXTENSION M3Configuration PRESENCE conditional}|
+ {ID id-M4Configuration CRITICALITY ignore EXTENSION M4Configuration PRESENCE conditional}|
+ {ID id-M5Configuration CRITICALITY ignore EXTENSION M5Configuration PRESENCE conditional}|
+ {ID id-MDT-Location-Info CRITICALITY ignore EXTENSION MDT-Location-Info PRESENCE optional}|
+ {ID id-SignallingBasedMDTPLMNList CRITICALITY ignore EXTENSION MDTPLMNList PRESENCE optional}|
+ {ID id-M6Configuration CRITICALITY ignore EXTENSION M6Configuration PRESENCE conditional}|
+ {ID id-M7Configuration CRITICALITY ignore EXTENSION M7Configuration PRESENCE conditional}|
+ { ID id-BluetoothMeasurementConfiguration CRITICALITY ignore EXTENSION BluetoothMeasurementConfiguration PRESENCE optional}|
+ { ID id-WLANMeasurementConfiguration CRITICALITY ignore EXTENSION WLANMeasurementConfiguration PRESENCE optional}|
+ { ID id-SensorMeasurementConfiguration CRITICALITY ignore EXTENSION SensorMeasurementConfiguration PRESENCE optional},
+ ...
+}
+
+MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMN-Identity
+
+MDT-Location-Info ::= BIT STRING (SIZE (8))
+
+Measurement-ID ::= INTEGER (1..4095, ...)
+
+Measurement-ID-ENDC ::= INTEGER (1..4095, ...)
+
+
+MeasurementsToActivate::= BIT STRING (SIZE (8))
+
+MeasurementThresholdA2 ::= CHOICE {
+ threshold-RSRP Threshold-RSRP,
+ threshold-RSRQ Threshold-RSRQ,
+ ...
+}
+
+MeNBCoordinationAssistanceInformation ::= ENUMERATED{
+ coordination-not-required,
+ ...
+}
+
+MeNBResourceCoordinationInformation ::= SEQUENCE {
+ eUTRA-Cell-ID ECGI,
+ uLCoordinationInformation BIT STRING (SIZE(6..4400, ...)),
+ dLCoordinationInformation BIT STRING (SIZE(6..4400, ...)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MeNBResourceCoordinationInformationExtIEs} } OPTIONAL,
+ ...
+}
+
+MeNBResourceCoordinationInformationExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NRCGI CRITICALITY ignore EXTENSION NRCGI PRESENCE optional}|
+ { ID id-MeNBCoordinationAssistanceInformation CRITICALITY reject EXTENSION MeNBCoordinationAssistanceInformation PRESENCE optional},
+ ...
+}
+
+MeNBtoSeNBContainer ::= OCTET STRING
+
+MME-Group-ID ::= OCTET STRING (SIZE (2))
+
+MME-Code ::= OCTET STRING (SIZE (1))
+
+MBMS-Service-Area-Identity-List ::= SEQUENCE (SIZE(1.. maxnoofMBMSServiceAreaIdentities)) OF MBMS-Service-Area-Identity
+
+MBMS-Service-Area-Identity ::= OCTET STRING (SIZE (2))
+
+MBSFN-Subframe-Infolist::= SEQUENCE (SIZE(1.. maxnoofMBSFN)) OF MBSFN-Subframe-Info
+
+MBSFN-Subframe-Info ::= SEQUENCE {
+ radioframeAllocationPeriod RadioframeAllocationPeriod,
+ radioframeAllocationOffset RadioframeAllocationOffset,
+ subframeAllocation SubframeAllocation,
+ iE-Extensions ProtocolExtensionContainer { {MBSFN-Subframe-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSFN-Subframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDT-ConfigurationNR ::= OCTET STRING
+
+MobilityParametersModificationRange ::= SEQUENCE {
+ handoverTriggerChangeLowerLimit INTEGER (-20..20),
+ handoverTriggerChangeUpperLimit INTEGER (-20..20),
+ ...
+}
+
+MobilityParametersInformation ::= SEQUENCE {
+ handoverTriggerChange INTEGER (-20..20),
+ ...
+}
+
+MultibandInfoList ::= SEQUENCE (SIZE(1..maxnoofBands)) OF BandInfo
+
+MessageOversizeNotification ::= SEQUENCE {
+ maximumCellListSize MaximumCellListSize,
+ iE-Extensions ProtocolExtensionContainer { {MessageOversizeNotification-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MessageOversizeNotification-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MaximumCellListSize ::= INTEGER(1..16384, ...)
+
+BandInfo ::= SEQUENCE {
+ freqBandIndicator FreqBandIndicator,
+ iE-Extensions ProtocolExtensionContainer { {BandInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BandInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MeNBtoSgNBContainer ::= OCTET STRING
+
+SplitSRBs ::= ENUMERATED {srb1, srb2, srb1and2, ...}
+
+SplitSRB ::= SEQUENCE {
+ rrcContainer RRCContainer OPTIONAL,
+ srbType SRBType,
+ deliveryStatus DeliveryStatus OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SplitSRB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SplitSRB-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- N
+
+NBIoT-UL-DL-AlignmentOffset ::= ENUMERATED {
+ khz-7dot5,
+ khz0,
+ khz7dot5,
+ ...
+}
+
+NBIoT-RLF-Report-Container ::= OCTET STRING
+
+Neighbour-Information ::= SEQUENCE (SIZE (0..maxnoofNeighbours)) OF SEQUENCE {
+ eCGI ECGI,
+ pCI PCI,
+ eARFCN EARFCN,
+ iE-Extensions ProtocolExtensionContainer { {Neighbour-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Neighbour-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NeighbourTAC CRITICALITY ignore EXTENSION TAC PRESENCE optional}|
+ { ID id-eARFCNExtension CRITICALITY reject EXTENSION EARFCNExtension PRESENCE optional},
+ ...
+}
+
+NextHopChainingCount ::= INTEGER (0..7)
+
+NewDRBIDrequest::= ENUMERATED {true, ...}
+
+Number-of-Antennaports ::= ENUMERATED {
+ an1,
+ an2,
+ an4,
+ ...
+}
+
+NRCapacityValue ::= SEQUENCE {
+ capacityValue INTEGER (0..100),
+ ssbAreaCapacityValue-List SSBAreaCapacityValue-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NRCapacityValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRCapacityValue-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRCarrierList ::= SEQUENCE (SIZE(1..maxnoofNRSCSs)) OF NRCarrierItem
+
+NRCarrierItem ::= SEQUENCE {
+ carrierSCS NRSCS,
+ offsetToCarrier INTEGER (0..2199, ...),
+ carrierBandwidth INTEGER (0..maxnoofNRPhysicalResourceBlocks, ...),
+ iE-Extension ProtocolExtensionContainer { {NRCarrierItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRCarrierItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRCellCapacityClassValue ::= INTEGER (1..100, ...)
+
+NRCellPRACHConfig ::= OCTET STRING
+
+NRCompositeAvailableCapacityGroup ::= SEQUENCE {
+ compositeAvailableCapacityDL NRCompositeAvailableCapacity,
+ compositeAvailableCapacityUL NRCompositeAvailableCapacity,
+ iE-Extensions ProtocolExtensionContainer { {NRCompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRCompositeAvailableCapacityGroup-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRCompositeAvailableCapacity ::= SEQUENCE {
+ cellCapacityClassValue NRCellCapacityClassValue OPTIONAL,
+ capacityValue NRCapacityValue,
+ iE-Extensions ProtocolExtensionContainer { {NRCompositeAvailableCapacity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRCompositeAvailableCapacity-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRFreqInfo ::= SEQUENCE{
+ nRARFCN INTEGER (0.. 3279165),
+ freqBandListNr SEQUENCE (SIZE(1..maxnoofNrCellBands)) OF FreqBandNrItem,
+ sULInformation SULInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NRFreqInfo-ExtIEs} } OPTIONAL,
+
+ ...
+}
+
+NRFreqInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional},
+ ...
+}
+
+NRCellIdentifier ::= BIT STRING (SIZE (36))
+
+NRCGI ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ nRcellIdentifier NRCellIdentifier,
+ iE-Extensions ProtocolExtensionContainer { {NRCGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRCGI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRRACHReportContainer ::= OCTET STRING
+
+NRRACHReportInformation ::= SEQUENCE (SIZE(1.. maxnoofRACHReports)) OF NRRACHReportList-Item
+
+NRRACHReportList-Item ::= SEQUENCE {
+ nRRACHReport NRRACHReportContainer,
+ uEAssitantIdentifier SgNB-UE-X2AP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NRRACHReportList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRRACHReportList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRNeighbour-Information ::= SEQUENCE (SIZE (1.. maxofNRNeighbours))OF SEQUENCE {
+ nrpCI NRPCI,
+ nrCellID NRCGI,
+ fiveGS-TAC FiveGS-TAC OPTIONAL,
+ configured-TAC TAC OPTIONAL,
+ measurementTimingConfiguration OCTET STRING,
+ nRNeighbourModeInfo CHOICE {
+ fdd FDD-InfoNeighbourServedNRCell-Information,
+ tdd TDD-InfoNeighbourServedNRCell-Information,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {NRNeighbour-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRNeighbour-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ {ID id-CSI-RSTransmissionIndication CRITICALITY ignore EXTENSION CSI-RSTransmissionIndication PRESENCE optional}|
+ {ID id-SSB-PositionsInBurst CRITICALITY ignore EXTENSION SSB-PositionsInBurst PRESENCE optional}|
+ {ID id-NRCellPRACHConfig CRITICALITY ignore EXTENSION NRCellPRACHConfig PRESENCE optional}|
+ {ID id-Additional-Measurement-Timing-Configuration-List CRITICALITY ignore EXTENSION Additional-Measurement-Timing-Configuration-List PRESENCE optional },
+ ...
+}
+
+NPRACHConfiguration::= SEQUENCE {
+ fdd-or-tdd CHOICE {
+ fdd NPRACHConfiguration-FDD,
+ tdd NPRACHConfiguration-TDD,
+ ...
+ }, iE-Extensions ProtocolExtensionContainer { { NPRACHConfiguration-ExtIEs} } OPTIONAL,
+...
+}
+
+NPRACHConfiguration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPRACHConfiguration-FDD::= SEQUENCE {
+ nprach-CP-length NPRACH-CP-Length,
+ anchorCarrier-NPRACHConfig OCTET STRING,
+ anchorCarrier-EDT-NPRACHConfig OCTET STRING OPTIONAL,
+ anchorCarrier-Format2-NPRACHConfig OCTET STRING OPTIONAL,
+ anchorCarrier-Format2-EDT-NPRACHConfig OCTET STRING OPTIONAL,
+ non-anchorCarrier-NPRACHConfig OCTET STRING OPTIONAL,
+ non-anchorCarrier-Format2-NPRACHConfig OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NPRACHConfiguration-FDD-ExtIEs} } OPTIONAL,
+
+...
+}
+
+NPRACHConfiguration-FDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPRACHConfiguration-TDD::= SEQUENCE {
+ nprach-preambleFormat NPRACH-preambleFormat,
+ anchorCarrier-NPRACHConfigTDD OCTET STRING,
+ non-anchorCarrierFequencyConfiglist Non-AnchorCarrierFrequencylist OPTIONAL,
+ non-anchorCarrier-NPRACHConfigTDD OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NPRACHConfiguration-TDD-ExtIEs} } OPTIONAL,
+
+...
+}
+
+NPRACHConfiguration-TDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPRACH-CP-Length::= ENUMERATED {
+ us66dot7,
+ us266dot7,
+ ...
+}
+
+NPRACH-preambleFormat::= ENUMERATED {fmt0,fmt1,fmt2,fmt0a,fmt1a,...}
+
+-- WS modification: define a dedicated type for dissection
+Non-anchorCarrierFrequency ::= OCTET STRING
+
+Non-AnchorCarrierFrequencylist ::= SEQUENCE (SIZE(1..maxnoofNonAnchorCarrierFreqConfig)) OF
+ SEQUENCE {
+-- WS modification: define a dedicated type for dissection
+-- non-anchorCarrioerFrquency OCTET STRING,
+ non-anchorCarrioerFrquency Non-anchorCarrierFrequency,
+ iE-Extensions ProtocolExtensionContainer { { Non-AnchorCarrierFrequencylist-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Non-AnchorCarrierFrequencylist-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NRPCI ::= INTEGER (0..1007)
+
+NRrestrictioninEPSasSecondaryRAT ::= ENUMERATED {
+ nRrestrictedinEPSasSecondaryRAT,
+ ...
+}
+
+MeasurementResultforNRCellsPossiblyAggregated ::= SEQUENCE (SIZE(1.. maxnoofReportedNRCellsPossiblyAggregated)) OF MeasurementResultforNRCellsPossiblyAggregated-Item
+
+MeasurementResultforNRCellsPossiblyAggregated-Item ::= SEQUENCE {
+ cellID NRCGI,
+ nrCompositeAvailableCapacityGroup NRCompositeAvailableCapacityGroup OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { MeasurementResultforNRCellsPossiblyAggregated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MeasurementResultforNRCellsPossiblyAggregated-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRRadioResourceStatus ::= SEQUENCE {
+ ssbAreaRadioResourceStatus-List SSBAreaRadioResourceStatus-List,
+ iE-Extensions ProtocolExtensionContainer { {NRRadioResourceStatus-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRRadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-MIMOPRBusageInformation CRITICALITY ignore EXTENSION MIMOPRBusageInformation PRESENCE optional },
+ ...
+}
+
+MIMOPRBusageInformation ::= SEQUENCE {
+dl-GBR-PRB-usage-for-MIMO DL-GBR-PRB-usage-for-MIMO,
+ ul-GBR-PRB-usage-for-MIMO UL-GBR-PRB-usage-for-MIMO,
+ dl-non-GBR-PRB-usage-for-MIMO DL-non-GBR-PRB-usage-for-MIMO,
+ ul-non-GBR-PRB-usage-for-MIMO UL-non-GBR-PRB-usage-for-MIMO,
+ dl-Total-PRB-usage-for-MIMO DL-Total-PRB-usage-for-MIMO,
+ ul-Total-PRB-usage-for-MIMO UL-Total-PRB-usage-for-MIMO,
+ iE-Extensions ProtocolExtensionContainer { { MIMOPRBusageInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MIMOPRBusageInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRrestrictionin5GS ::= ENUMERATED {
+ nRrestrictedin5GS,
+ ...
+}
+
+NRencryptionAlgorithms ::= BIT STRING (SIZE (16,...))
+NRintegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
+
+NR-TxBW ::= SEQUENCE {
+ nRSCS NRSCS,
+ nRNRB NRNRB,
+ iE-Extensions ProtocolExtensionContainer { {NR-TxBW-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-TxBW-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRNRB ::= ENUMERATED { nrb11, nrb18, nrb24, nrb25, nrb31, nrb32, nrb38, nrb51, nrb52, nrb65, nrb66, nrb78, nrb79, nrb93, nrb106, nrb107, nrb121, nrb132, nrb133, nrb135, nrb160, nrb162, nrb189, nrb216, nrb217, nrb245, nrb264, nrb270, nrb273, ... , nrb44, nrb58, nrb92, nrb119, nrb188, nrb242}
+
+NRSCS ::= ENUMERATED { scs15, scs30, scs60, scs120, ...}
+
+NRS-NSSS-PowerOffset ::= ENUMERATED { minusThree, zero, three, ...}
+
+FiveGS-TAC ::= OCTET STRING (SIZE (3))
+
+NRUeReport ::= SEQUENCE {
+ uENRMeasurements RRCContainer,
+ iE-Extensions ProtocolExtensionContainer { { NRUeReport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRUeReport-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRUESidelinkAggregateMaximumBitRate ::= SEQUENCE {
+ uESidelinkAggregateMaximumBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { { NRUESidelinkAggregateMaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRUESidelinkAggregateMaximumBitRate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRUESecurityCapabilities ::= SEQUENCE {
+ nRencryptionAlgorithms NRencryptionAlgorithms,
+ nRintegrityProtectionAlgorithms NRintegrityProtectionAlgorithms,
+ iE-Extensions ProtocolExtensionContainer { {NRUESecurityCapabilities-ExtIEs} } OPTIONAL,
+...
+}
+
+NRUESecurityCapabilities-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NSSS-NumOccasionDifferentPrecoder ::= ENUMERATED { two, four, eight, ...}
+
+NRV2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+ pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NRV2XServicesAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRV2XServicesAuthorized-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- O
+
+OffsetOfNbiotChannelNumberToEARFCN ::= ENUMERATED {
+ minusTen,
+ minusNine,
+ minusEight,
+ minusSeven,
+ minusSix,
+ minusFive,
+ minusFour,
+ minusThree,
+ minusTwo,
+ minusOne,
+ minusZeroDotFive,
+ zero,
+ one,
+ two,
+ three,
+ four,
+ five,
+ six,
+ seven,
+ eight,
+ nine,
+ ...,
+ minusEightDotFive,
+ minusFourDotFive,
+ threeDotFive,
+ sevenDotFive
+}
+
+Oneframe ::= BIT STRING (SIZE (6))
+
+-- P
+
+Packet-LossRate ::= INTEGER(0..1000)
+
+PA-Values ::= ENUMERATED {
+ dB-6,
+ dB-4dot77,
+ dB-3,
+ dB-1dot77,
+ dB0,
+ dB1,
+ dB2,
+ dB3,
+ ...
+}
+
+PC5QoSParameters ::= SEQUENCE {
+ pc5QoSFlowList PC5QoSFlowList,
+ pc5LinkAggregatedBitRates BitRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5QoSParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5QoSParameters-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+PC5QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofPC5QoSFlows)) OF PC5QoSFlowItem
+
+PC5QoSFlowItem::= SEQUENCE {
+ pQI FiveQI,
+ pc5FlowBitRates PC5FlowBitRates OPTIONAL,
+ range Range OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5QoSFlowItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5QoSFlowItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+             ...
+}
+
+PC5FlowBitRates ::= SEQUENCE {
+ guaranteedFlowBitRate BitRate,
+ maximumFlowBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { { PC5FlowBitRates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5FlowBitRates-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+             ...
+}
+
+PDCPChangeIndication ::= ENUMERATED {s-KgNB-update-required, pDCP-data-recovery-required,...}
+
+PDCP-SN ::= INTEGER (0..4095)
+
+PDCP-SNExtended ::= INTEGER (0..32767)
+
+PDCP-SNlength18 ::= INTEGER (0..262143)
+
+PDCPSnLength ::= ENUMERATED {twelve-bits,eighteen-bits,...}
+
+PCI ::= INTEGER (0..503, ...)
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+Port-Number ::= OCTET STRING (SIZE (2))
+
+PRACH-Configuration ::= SEQUENCE {
+ rootSequenceIndex INTEGER (0..837),
+ zeroCorrelationIndex INTEGER (0..15),
+ highSpeedFlag BOOLEAN,
+ prach-FreqOffset INTEGER (0..94),
+ prach-ConfigIndex INTEGER (0..63) OPTIONAL, -- present for TDD --
+ iE-Extensions ProtocolExtensionContainer { {PRACH-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLMNAreaBasedQMC ::= SEQUENCE {
+ plmnListforQMC PLMNListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {PLMNAreaBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLMNAreaBasedQMC-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PLMNListforQMC ::= SEQUENCE (SIZE(1..maxnoofPLMNforQMC)) OF PLMN-Identity
+
+
+PRACH-Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Pre-emptionCapability ::= ENUMERATED {
+ shall-not-trigger-pre-emption,
+ may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+ not-pre-emptable,
+ pre-emptable
+}
+
+PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
+
+ProSeAuthorized ::= SEQUENCE {
+ proSeDirectDiscovery ProSeDirectDiscovery OPTIONAL,
+ proSeDirectCommunication ProSeDirectCommunication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ProSeAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ProSeAuthorized-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ProSeUEtoNetworkRelaying CRITICALITY ignore EXTENSION ProSeUEtoNetworkRelaying PRESENCE optional},
+ ...
+}
+
+ProSeDirectDiscovery ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+ProSeDirectCommunication ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+ProSeUEtoNetworkRelaying ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+ProtectedEUTRAResourceIndication::= SEQUENCE {
+ activationSFN INTEGER (0..1023),
+ protectedResourceList ProtectedResourceList,
+ mBSFNControlRegionLength INTEGER (0..3) OPTIONAL,
+ pDCCHRegionLength INTEGER (1..3) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ProtectedEUTRAResourceIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ProtectedEUTRAResourceIndication-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+} -- Rapporteur: missing extension --
+
+
+ProtectedFootprintTimePattern ::= SEQUENCE {
+ protectedFootprintTimePeriodicity INTEGER (1..320, ...),
+ protectedFootprintStartTime INTEGER (1..20, ...),
+ iE-Extensions ProtocolExtensionContainer { {ProtectedFootprintTimePattern-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ProtectedFootprintTimePattern-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ProtectedResourceList ::= SEQUENCE (SIZE(1.. maxnoofProtectedResourcePatterns)) OF ProtectedResourceList-Item
+
+ProtectedResourceList-Item ::= SEQUENCE {
+ resourceType ResourceType,
+ intraPRBProtectedResourceFootprint BIT STRING (SIZE(84, ...)),
+ protectedFootprintFrequencyPattern BIT STRING (SIZE(6..110, ...)),
+ protectedFootprintTimePattern ProtectedFootprintTimePattern,
+ iE-Extensions ProtocolExtensionContainer { {ProtectedResourceList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ProtectedResourceList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PartialListIndicator ::= ENUMERATED {partial, ...}
+
+PrivacyIndicator ::= ENUMERATED {
+ immediate-MDT,
+ logged-MDT,
+ ...
+}
+
+PSCellHistoryInformationRetrieve ::= ENUMERATED {query, ...}
+
+PSCell-UE-HistoryInformation ::= SEQUENCE (SIZE(1.. maxnoofPSCellsPerPrimaryCellinUEHistoryInfo)) OF LastVisitedPSCell-Item
+
+PSCellChangeHistory ::= ENUMERATED {reportingFullHistory,...}
+
+
+-- Q
+
+QCI ::= INTEGER (0..255)
+
+QoS-Mapping-Information ::= SEQUENCE {
+dscp BIT STRING (SIZE(6)) OPTIONAL,
+flow-label BIT STRING (SIZE(20)) OPTIONAL,
+iE-Extensions ProtocolExtensionContainer { {QoS-Mapping-Information-ExtIEs} } OPTIONAL,
+...
+}
+
+QoS-Mapping-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- R
+
+RadioframeAllocationOffset ::= INTEGER (0..7, ...)
+
+RadioframeAllocationPeriod ::= ENUMERATED{
+ n1,
+ n2,
+ n4,
+ n8,
+ n16,
+ n32,
+ ...
+}
+
+
+RadioResourceStatus ::= SEQUENCE {
+ dL-GBR-PRB-usage DL-GBR-PRB-usage,
+ uL-GBR-PRB-usage UL-GBR-PRB-usage,
+ dL-non-GBR-PRB-usage DL-non-GBR-PRB-usage,
+ uL-non-GBR-PRB-usage UL-non-GBR-PRB-usage,
+ dL-Total-PRB-usage DL-Total-PRB-usage,
+ uL-Total-PRB-usage UL-Total-PRB-usage,
+ iE-Extensions ProtocolExtensionContainer { {RadioResourceStatus-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ {ID id-DL-scheduling-PDCCH-CCE-usage CRITICALITY ignore EXTENSION DL-scheduling-PDCCH-CCE-usage PRESENCE optional}|
+ {ID id-UL-scheduling-PDCCH-CCE-usage CRITICALITY ignore EXTENSION UL-scheduling-PDCCH-CCE-usage PRESENCE optional},
+ ...
+}
+
+Range ::= ENUMERATED {m50, m80, m180, m200, m350, m400, m500, m700, m1000, ...}
+
+RAN-UE-NGAP-ID ::= INTEGER (0..4294967295)
+
+RAT-Restrictions ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF RAT-RestrictionsItem
+
+RAT-RestrictionsItem ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ rAT-RestrictionInformation BIT STRING (SIZE(8, ...)),
+ iE-Extensions ProtocolExtensionContainer { { RAT-RestrictionsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAT-RestrictionsItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
+
+ReceiveStatusOfULPDCPSDUsExtended ::= BIT STRING (SIZE(1..16384))
+
+ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ::= BIT STRING (SIZE(1..131072))
+
+ReleaseFastMCGRecoveryViaSRB3 ::= ENUMERATED {true,...}
+
+Reestablishment-Indication ::= ENUMERATED {
+ reestablished,
+ ...
+}
+
+Registration-Request ::= ENUMERATED {
+ start,
+ stop,
+ ...,
+ partial-stop,
+ add
+}
+
+Registration-Request-ENDC ::= ENUMERATED {
+ start,
+ stop,
+ add,
+ ...
+}
+
+
+RelativeNarrowbandTxPower ::= SEQUENCE {
+
+ rNTP-PerPRB BIT STRING (SIZE(6..110, ...)),
+ rNTP-Threshold RNTP-Threshold,
+ numberOfCellSpecificAntennaPorts ENUMERATED {one, two, four, ...},
+ p-B INTEGER (0..3,...),
+ pDCCH-InterferenceImpact INTEGER (0..4,...),
+ iE-Extensions ProtocolExtensionContainer { {RelativeNarrowbandTxPower-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RelativeNarrowbandTxPower-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-enhancedRNTP CRITICALITY ignore EXTENSION EnhancedRNTP PRESENCE optional },
+ ...
+}
+
+ReplacingCellsList ::= SEQUENCE (SIZE(0.. maxCellineNB)) OF ReplacingCellsList-Item
+
+ReplacingCellsList-Item ::= SEQUENCE {
+ eCGI ECGI,
+ ...
+}
+
+ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity}
+
+ReportArea ::= ENUMERATED{
+ ecgi,
+ ...
+}
+
+ReportCharacteristics ::= BIT STRING (SIZE (32))
+
+ReportingPeriodicityCSIR ::= ENUMERATED {
+ ms5,
+ ms10,
+ ms20,
+ ms40,
+ ms80,
+...
+}
+
+ReportCharacteristics-ENDC ::= BIT STRING (SIZE (32))
+
+ReportingPeriodicityRSRPMR ::= ENUMERATED {
+ one-hundred-20-ms,
+ two-hundred-40-ms,
+ four-hundred-80-ms,
+ six-hundred-40-ms,
+...
+}
+
+ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60}
+
+RequestedFastMCGRecoveryViaSRB3 ::= ENUMERATED {true,...}
+
+RequestedFastMCGRecoveryViaSRB3Release ::= ENUMERATED {true,...}
+
+ReservedSubframePattern ::= SEQUENCE{
+ subframeType SubframeType,
+ reservedSubframePattern BIT STRING (SIZE(10..160)),
+ mBSFNControlRegionLength INTEGER (0..3),
+ iE-Extensions ProtocolExtensionContainer { {ReservedSubframePattern-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ReservedSubframePattern-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResourceType ::= ENUMERATED {
+ downlinknonCRS,
+ cRS,
+ uplink,
+ ...
+}
+
+ResumeID ::= CHOICE {
+ non-truncated BIT STRING(SIZE(40)),
+ truncated BIT STRING(SIZE(24)),
+ ...
+}
+
+RLCMode ::= ENUMERATED {
+ rlc-am,
+ rlc-um-bidirectional,
+ rlc-um-unidirectional-ul,
+ rlc-um-unidirectional-dl,
+ ...
+}
+
+RLC-Status ::= SEQUENCE {
+ reestablishment-Indication Reestablishment-Indication,
+ iE-Extensions ProtocolExtensionContainer { {RLC-Status-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLC-Status-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RNTP-Threshold ::= ENUMERATED {
+ minusInfinity,
+ minusEleven,
+ minusTen,
+ minusNine,
+ minusEight,
+ minusSeven,
+ minusSix,
+ minusFive,
+ minusFour,
+ minusThree,
+ minusTwo,
+ minusOne,
+ zero,
+ one,
+ two,
+ three,
+ ...
+}
+
+RRC-Config-Ind ::= ENUMERATED {
+ full-config,
+ delta-config,
+ ...
+}
+
+RRC-Context ::= OCTET STRING
+
+RRCConnReestabIndicator ::= ENUMERATED {
+ reconfigurationFailure, handoverFailure, otherFailure, ...
+}
+-- The values correspond to the values of ReestablishmentCause reported from the UE in the RRCConnectionReestablishmentRequest, as defined in TS 36.331 [9]
+
+RRCConnSetupIndicator::= ENUMERATED {
+ rrcConnSetup,
+ ...
+}
+
+RSRPMeasurementResult ::= SEQUENCE (SIZE(1..maxCellReport)) OF
+ SEQUENCE {
+ rSRPCellID ECGI,
+ rSRPMeasured INTEGER (0..97, ...),
+ iE-Extensions ProtocolExtensionContainer { {RSRPMeasurementResult-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+RSRPMeasurementResult-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RSRPMRList ::= SEQUENCE (SIZE(1..maxUEReport)) OF
+ SEQUENCE {
+ rSRPMeasurementResult RSRPMeasurementResult,
+ iE-Extensions ProtocolExtensionContainer { {RSRPMRList-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+RSRPMRList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-UEID CRITICALITY ignore EXTENSION UEID PRESENCE optional},
+ ...
+}
+
+RRCContainer ::= OCTET STRING
+
+-- S
+
+S1TNLLoadIndicator ::= SEQUENCE {
+ dLS1TNLLoadIndicator LoadIndicator,
+ uLS1TNLLoadIndicator LoadIndicator,
+ iE-Extensions ProtocolExtensionContainer { {S1TNLLoadIndicator-ExtIEs} } OPTIONAL,
+ ...
+}
+
+S1TNLLoadIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SCGActivationStatus ::= ENUMERATED {scg-activated, scg-deactivated, ...}
+
+
+SCGActivationRequest ::= ENUMERATED {activate-scg, deactivate-scg, ...}
+
+
+SCGChangeIndication ::= ENUMERATED {pDCPCountWrapAround, pSCellChange, other, ...}
+
+SCGreconfigNotification ::= ENUMERATED {executed, ..., executed-deleted, deleted }
+
+
+SCG-UE-HistoryInformation ::= SEQUENCE (SIZE(1.. maxnoofPSCellsPerSN)) OF LastVisitedPSCell-Item
+
+SecondaryRATUsageReportList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container {{SecondaryRATUsageReport-ItemIEs}}
+
+SecondaryRATUsageReport-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-SecondaryRATUsageReport-Item CRITICALITY reject TYPE SecondaryRATUsageReport-Item PRESENCE mandatory},
+ ...
+}
+
+SecondaryRATUsageReport-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ secondaryRATType ENUMERATED {nr, ..., nR-unlicensed },
+ e-RABUsageReportList E-RABUsageReportList,
+ iE-Extensions ProtocolExtensionContainer { {SecondaryRATUsageReport-Item-ExtIEs} } OPTIONAL,
+...
+}
+
+SecondaryRATUsageReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityIndication ::= SEQUENCE {
+ integrityProtectionIndication IntegrityProtectionIndication,
+ iE-Extensions ProtocolExtensionContainer { { SecurityIndication-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SecurityIndication-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityResult ::= SEQUENCE {
+ integrityProtectionResult IntegrityProtectionResult,
+ iE-Extensions ProtocolExtensionContainer { {SecurityResult-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityResult-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SeNBSecurityKey ::= BIT STRING (SIZE(256))
+
+SeNBtoMeNBContainer ::= OCTET STRING
+
+SensorMeasurementConfiguration ::= SEQUENCE {
+ sensorMeasConfig SensorMeasConfig,
+ sensorMeasConfigNameList SensorMeasConfigNameList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SensorMeasurementConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SensorMeasurementConfiguration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofSensorName)) OF SensorMeasConfigNameItem
+
+SensorMeasConfigNameItem ::= SEQUENCE {
+ sensorNameConfig SensorNameConfig,
+ iE-Extensions ProtocolExtensionContainer { { SensorMeasConfigNameItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SensorMeasConfigNameItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorMeasConfig::= ENUMERATED {setup,...}
+
+SensorNameConfig ::= CHOICE {
+ uncompensatedBarometricConfig ENUMERATED {true, ...},
+ choice-extension ProtocolIE-Single-Container { {SensorNameConfig-ExtIEs} }
+}
+
+SensorNameConfig-ExtIEs X2AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+ServedCells ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF SEQUENCE {
+ servedCellInfo ServedCell-Information,
+ neighbour-Info Neighbour-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCell-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCell-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-NRNeighbourInfoToAdd CRITICALITY ignore EXTENSION NRNeighbour-Information PRESENCE optional }|
+ { ID id-ServedCellSpecificInfoReq-NR CRITICALITY ignore EXTENSION ServedCellSpecificInfoReq-NR PRESENCE optional },
+ ...
+}
+
+ServedCell-Information ::= SEQUENCE {
+ pCI PCI,
+ cellId ECGI,
+ tAC TAC,
+ broadcastPLMNs BroadcastPLMNs-Item,
+ eUTRA-Mode-Info EUTRA-Mode-Info,
+ iE-Extensions ProtocolExtensionContainer { {ServedCell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Number-of-Antennaports CRITICALITY ignore EXTENSION Number-of-Antennaports PRESENCE optional}|
+ { ID id-PRACH-Configuration CRITICALITY ignore EXTENSION PRACH-Configuration PRESENCE optional}|
+ { ID id-MBSFN-Subframe-Info CRITICALITY ignore EXTENSION MBSFN-Subframe-Infolist PRESENCE optional}|
+ { ID id-CSG-Id CRITICALITY ignore EXTENSION CSG-Id PRESENCE optional}|
+ { ID id-MBMS-Service-Area-List CRITICALITY ignore EXTENSION MBMS-Service-Area-Identity-List PRESENCE optional}|
+ { ID id-MultibandInfoList CRITICALITY ignore EXTENSION MultibandInfoList PRESENCE optional}|
+ { ID id-FreqBandIndicatorPriority CRITICALITY ignore EXTENSION FreqBandIndicatorPriority PRESENCE optional}|
+ { ID id-BandwidthReducedSI CRITICALITY ignore EXTENSION BandwidthReducedSI PRESENCE optional}|
+ { ID id-ProtectedEUTRAResourceIndication CRITICALITY ignore EXTENSION ProtectedEUTRAResourceIndication PRESENCE optional}|
+ { ID id-BPLMN-ID-Info-EUTRA CRITICALITY ignore EXTENSION BPLMN-ID-Info-EUTRA PRESENCE optional}|
+ { ID id-NPRACHConfiguration CRITICALITY ignore EXTENSION NPRACHConfiguration PRESENCE optional}|
+ { ID id-SFN-Offset CRITICALITY ignore EXTENSION SFN-Offset PRESENCE optional},
+ ...
+}
+
+ServedCellSpecificInfoReq-NR ::= SEQUENCE (SIZE(1.. maxCellinengNB)) OF ServedCellSpecificInfoReq-NR-Item
+
+ServedCellSpecificInfoReq-NR-Item ::= SEQUENCE {
+ nRCGI NRCGI,
+ additionalMTCListRequestIndicator ENUMERATED {additionalMTCListRequested, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ServedCellSpecificInfoReq-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellSpecificInfoReq-NR-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServiceType ::= ENUMERATED{
+ qMC-for-streaming-service,
+ qMC-for-MTSI-service,
+ ...
+}
+
+SgNBCoordinationAssistanceInformation ::= ENUMERATED{
+ coordination-not-required,
+ ...
+}
+
+SgNBResourceCoordinationInformation ::= SEQUENCE {
+ nR-CGI NRCGI,
+ uLCoordinationInformation BIT STRING (SIZE(6..4400, ...)),
+ dLCoordinationInformation BIT STRING (SIZE(6..4400, ...)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SgNBResourceCoordinationInformationExtIEs} } OPTIONAL,
+ ...
+}
+
+SgNBResourceCoordinationInformationExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ECGI CRITICALITY ignore EXTENSION ECGI PRESENCE optional}|
+ { ID id-SgNBCoordinationAssistanceInformation CRITICALITY reject EXTENSION SgNBCoordinationAssistanceInformation PRESENCE optional},
+ ...
+}
+
+SgNB-UE-X2AP-ID ::= INTEGER (0..4294967295)
+
+SIPTOBearerDeactivationIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+SharedResourceType ::= CHOICE{
+ uLOnlySharing ULOnlySharing,
+ uLandDLSharing ULandDLSharing,
+ ...
+}
+
+ShortMAC-I ::= BIT STRING (SIZE(16))
+
+
+SGNB-Addition-Trigger-Ind ::= ENUMERATED {
+ sn-change,
+ inter-eNB-HO,
+ intra-eNB-HO,
+ ...
+}
+
+SNtriggered ::=ENUMERATED{
+true,
+...
+}
+
+SourceOfUEActivityBehaviourInformation ::= ENUMERATED {
+ subscription-information,
+ statistics,
+ ...
+}
+
+SpecialSubframe-Info ::= SEQUENCE {
+ specialSubframePatterns SpecialSubframePatterns,
+ cyclicPrefixDL CyclicPrefixDL,
+ cyclicPrefixUL CyclicPrefixUL,
+ iE-Extensions ProtocolExtensionContainer { {SpecialSubframe-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SpecialSubframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SpecialSubframePatterns ::= ENUMERATED {
+ ssp0,
+ ssp1,
+ ssp2,
+ ssp3,
+ ssp4,
+ ssp5,
+ ssp6,
+ ssp7,
+ ssp8,
+ ...
+}
+
+SpectrumSharingGroupID ::= INTEGER (1..maxCellineNB)
+
+SubbandCQI ::= SEQUENCE {
+ subbandCQICodeword0 SubbandCQICodeword0,
+ subbandCQICodeword1 SubbandCQICodeword1 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SubbandCQI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Subscription-Based-UE-DifferentiationInfo ::= SEQUENCE {
+ periodicCommunicationIndicator ENUMERATED {periodically, ondemand, ...} OPTIONAL,
+ periodicTime INTEGER (1..3600, ...) OPTIONAL,
+ scheduledCommunicationTime ScheduledCommunicationTime OPTIONAL,
+ stationaryIndication ENUMERATED {stationary, mobile, ...} OPTIONAL,
+ trafficProfile ENUMERATED {single-packet, dual-packets, multiple-packets, ...} OPTIONAL,
+ batteryIndication ENUMERATED {battery-powered, battery-powered-not-rechargeable-or-replaceable, not-battery-powered, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Subscription-Based-UE-DifferentiationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Subscription-Based-UE-DifferentiationInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ScheduledCommunicationTime ::= SEQUENCE {
+ dayofWeek BIT STRING (SIZE(7)) OPTIONAL,
+ timeofDayStart INTEGER (0..86399, ...) OPTIONAL,
+ timeofDayEnd INTEGER (0..86399, ...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ScheduledCommunicationTime-ExtIEs}} OPTIONAL,
+ ...
+}
+
+ScheduledCommunicationTime-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRVCCOperationPossible ::= ENUMERATED {
+ possible,
+ ...
+}
+
+SSBAreaCapacityValue-List ::= SEQUENCE (SIZE (1.. maxnoofSSBAreas)) OF SSBAreaCapacityValue-Item
+
+SSBAreaCapacityValue-Item ::= SEQUENCE {
+ ssbIndex SSBIndex,
+ ssbAreaCapacityValue INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { {SSBAreaCapacityValue-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SSBAreaCapacityValue-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSBAreaRadioResourceStatus-List ::= SEQUENCE (SIZE (1.. maxnoofSSBAreas)) OF SSBAreaRadioResourceStatus-Item
+
+SSBAreaRadioResourceStatus-Item ::= SEQUENCE {
+ ssbIndex SSBIndex,
+ ssbAreaDLGBRPRBUsage INTEGER (0..100),
+ ssbAreaULGBRPRBUsage INTEGER (0..100),
+ ssbAreaDLNonGBRPRBUsage INTEGER (0..100),
+ ssbAreaULNonGBRPRBUsage INTEGER (0..100),
+ ssbAreaDLTotalPRBUsage INTEGER (0..100),
+ ssbAreaULTotalPRBUsage INTEGER (0..100),
+ ssbAreaDLSchedulingPDCCHCCEUsage INTEGER (0..100) OPTIONAL,
+ ssbAreaULSchedulingPDCCHCCEUsage INTEGER (0..100) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SSBAreaRadioResourceStatus-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SSBAreaRadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSBIndex ::= INTEGER (0..63)
+
+SSB-PositionsInBurst ::= CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64)),
+ choice-extension ProtocolIE-Single-Container { {SSB-PositionsInBurst-ExtIEs} }
+}
+
+SSB-PositionsInBurst-ExtIEs X2AP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+SubbandCQI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SubbandCQICodeword0 ::= CHOICE {
+ four-bitCQI INTEGER (0..15, ...),
+ two-bitSubbandDifferentialCQI INTEGER (0..3, ...),
+ two-bitDifferentialCQI INTEGER (0..3, ...),
+ ...
+}
+SubbandCQICodeword1 ::= CHOICE {
+ four-bitCQI INTEGER (0..15, ...),
+ three-bitSpatialDifferentialCQI INTEGER (0..7, ...),
+ two-bitSubbandDifferentialCQI INTEGER (0..3, ...),
+ two-bitDifferentialCQI INTEGER (0..3, ...),
+ ...
+}
+
+SubbandCQIList ::= SEQUENCE (SIZE(1.. maxSubband)) OF SubbandCQIItem
+
+SubbandCQIItem ::= SEQUENCE {
+ subbandCQI SubbandCQI,
+ subbandIndex INTEGER (0..27,...),
+ iE-Extensions ProtocolExtensionContainer { {SubbandCQIItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SubbandCQIItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SubbandSize ::= ENUMERATED {
+ size2,
+ size3,
+ size4,
+ size6,
+ size8,
+ ...
+}
+
+SubscriberProfileIDforRFP ::= INTEGER (1..256)
+
+SubframeAllocation ::= CHOICE {
+ oneframe Oneframe,
+ fourframes Fourframes,
+ ...
+}
+
+SubframeAssignment ::= ENUMERATED {
+ sa0,
+ sa1,
+ sa2,
+ sa3,
+ sa4,
+ sa5,
+ sa6,
+ ...
+}
+
+SubframeType ::= ENUMERATED{mbsfn,nonmbsfn,...}
+
+SgNBSecurityKey ::= BIT STRING (SIZE(256))
+
+SgNBtoMeNBContainer ::= OCTET STRING
+
+SRBType ::= ENUMERATED {srb1, srb2, ...}
+SCGConfigurationQuery ::= ENUMERATED {true,...}
+
+SULInformation ::= SEQUENCE {
+ sUL-ARFCN INTEGER (0.. 3279165),
+ sUL-TxBW NR-TxBW,
+ iE-Extensions ProtocolExtensionContainer { {SULInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+SupportedSULFreqBandItem ::= SEQUENCE {
+ freqBandIndicatorNr INTEGER (1..1024,...),
+ iE-Extensions ProtocolExtensionContainer { {SupportedSULFreqBandItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SupportedSULFreqBandItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SULInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }|
+ { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional },
+ ...
+}
+
+SFN-Offset ::= SEQUENCE {
+ sFN-Time-Offset BIT STRING (SIZE(24)),
+ iE-Extensions ProtocolExtensionContainer { {SFN-Offset-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SFN-Offset-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- T
+
+TABasedMDT::= SEQUENCE {
+ tAListforMDT TAListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TABasedMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAC ::= OCTET STRING (SIZE (2))
+
+TAIBasedMDT ::= SEQUENCE {
+ tAIListforMDT TAIListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {TAIBasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBasedMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAI-Item
+
+TAI-Item ::= SEQUENCE {
+ tAC TAC,
+ pLMN-Identity PLMN-Identity,
+ iE-Extensions ProtocolExtensionContainer { {TAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC
+
+TABasedQMC ::= SEQUENCE {
+ tAListforQMC TAListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {TABasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TABasedQMC-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAC
+
+TAIBasedQMC ::= SEQUENCE {
+ tAIListforQMC TAIListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {TAIBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBasedQMC-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAI-Item
+
+TargetCellInNGRAN ::= OCTET STRING
+
+TargetCellInUTRAN ::= OCTET STRING -- This IE is to be encoded according to the UTRAN Cell ID in the Last Visited UTRAN Cell Information IE in TS 25.413 [24]
+
+TargeteNBtoSource-eNBTransparentContainer ::= OCTET STRING
+
+TDD-Info ::= SEQUENCE {
+ eARFCN EARFCN,
+ transmission-Bandwidth Transmission-Bandwidth,
+ subframeAssignment SubframeAssignment,
+ specialSubframe-Info SpecialSubframe-Info,
+ iE-Extensions ProtocolExtensionContainer { {TDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalSpecialSubframe-Info CRITICALITY ignore EXTENSION AdditionalSpecialSubframe-Info PRESENCE optional}|
+ { ID id-eARFCNExtension CRITICALITY reject EXTENSION EARFCNExtension PRESENCE optional}|
+ { ID id-AdditionalSpecialSubframeExtension-Info CRITICALITY ignore EXTENSION AdditionalSpecialSubframeExtension-Info PRESENCE optional}|
+ { ID id-OffsetOfNbiotChannelNumberToDL-EARFCN CRITICALITY reject EXTENSION OffsetOfNbiotChannelNumberToEARFCN PRESENCE optional}|
+ { ID id-NBIoT-UL-DL-AlignmentOffset CRITICALITY reject EXTENSION NBIoT-UL-DL-AlignmentOffset PRESENCE optional},
+ ...
+}
+
+TDD-InfoNeighbourServedNRCell-Information ::= SEQUENCE {
+ nRFreqInfo NRFreqInfo,
+ iE-Extensions ProtocolExtensionContainer { {TDD-InfoNeighbourServedNRCell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-InfoNeighbourServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ {ID id-IntendedTDD-DL-ULConfiguration-NR CRITICALITY ignore EXTENSION IntendedTDD-DL-ULConfiguration-NR PRESENCE optional}|
+ {ID id-TDDULDLConfigurationCommonNR CRITICALITY ignore EXTENSION TDDULDLConfigurationCommonNR PRESENCE optional}|
+ {ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional},
+ ...
+}
+
+TDDULDLConfigurationCommonNR ::= OCTET STRING
+
+
+Threshold-RSRP ::= INTEGER(0..97)
+
+Threshold-RSRQ ::= INTEGER(0..34)
+
+TimeToWait ::= ENUMERATED {
+ v1s,
+ v2s,
+ v5s,
+ v10s,
+ v20s,
+ v60s,
+ ...
+}
+
+Time-UE-StayedInCell ::= INTEGER (0..4095)
+
+Time-UE-StayedInCell-EnhancedGranularity ::= INTEGER (0..40950)
+
+TNLA-To-Add-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-To-Add-Item
+
+TNLA-To-Add-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ tNLAssociationUsage TNLAssociationUsage,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-To-Add-Item-ExtIEs} } OPTIONAL
+}
+
+TNLA-To-Add-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TNLA-To-Update-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-To-Update-Item
+
+TNLA-To-Update-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ tNLAssociationUsage TNLAssociationUsage OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-To-Update-Item-ExtIEs} } OPTIONAL
+}
+
+TNLA-To-Update-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TNLA-To-Remove-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-To-Remove-Item
+
+TNLA-To-Remove-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-To-Remove-Item-ExtIEs} } OPTIONAL
+}
+
+TNLA-To-Remove-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TNLA-Setup-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-Setup-Item
+
+TNLA-Setup-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-Setup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNLA-Setup-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TNLA-Failed-To-Setup-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-Failed-To-Setup-Item
+
+TNLA-Failed-To-Setup-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-Failed-To-Setup-Item-ExtIEs} } OPTIONAL
+}
+
+TNLA-Failed-To-Setup-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TNLAssociationUsage ::= ENUMERATED {
+ ue,
+ non-ue,
+ both,
+ ...
+}
+
+TNLCapacityIndicator ::= SEQUENCE {
+ dlTNLMaximumOfferedCapacity INTEGER (1..16777216, ...),
+ dlTNLAvailableCapacity INTEGER (0..100, ...),
+ ulTNLMaximumOfferedCapacity INTEGER (1..16777216, ...),
+ ulTNLAvailableCapacity INTEGER (0..100, ...),
+ iE-Extensions ProtocolExtensionContainer { {TNLCapacityIndicator-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNLCapacityIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Transport-UP-Layer-Addresses-Info-To-Add-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Addresses-Info-To-Add-Item
+
+Transport-UP-Layer-Addresses-Info-To-Add-Item ::= SEQUENCE {
+ iP-SecTransportLayerAddress TransportLayerAddress,
+ gTPTransportLayerAddressesToAdd GTPTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Addresses-Info-To-Add-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Transport-UP-Layer-Addresses-Info-To-Add-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Transport-UP-Layer-Addresses-Info-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Addresses-Info-To-Remove-Item
+
+Transport-UP-Layer-Addresses-Info-To-Remove-Item ::= SEQUENCE {
+ iP-SecTransportLayerAddress TransportLayerAddress,
+ gTPTransportLayerAddressesToRemove GTPTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Addresses-Info-To-Remove-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+Transport-UP-Layer-Addresses-Info-To-Remove-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TNLConfigurationInfo ::= SEQUENCE {
+ transport-UP-Layer-Addresses-Info-To-Add-List Transport-UP-Layer-Addresses-Info-To-Add-List OPTIONAL,
+ transport-UP-Layer-Addresses-Info-To-Remove-List Transport-UP-Layer-Addresses-Info-To-Remove-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TNLConfigurationInfo-ExtIEs } } OPTIONAL,
+ ...
+}
+
+TNLConfigurationInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TraceActivation ::= SEQUENCE {
+ eUTRANTraceID EUTRANTraceID,
+ interfacesToTrace InterfacesToTrace,
+traceDepth TraceDepth,
+traceCollectionEntityIPAddress TraceCollectionEntityIPAddress,
+ iE-Extensions ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TraceActivation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional}|
+ { ID id-UEAppLayerMeasConfig CRITICALITY ignore EXTENSION UEAppLayerMeasConfig PRESENCE optional}|
+ { ID id-MDTConfigurationNR CRITICALITY ignore EXTENSION MDT-ConfigurationNR PRESENCE optional}|
+ { ID id-TraceCollectionEntityURI CRITICALITY ignore EXTENSION URI-Address PRESENCE optional},
+ ...
+}
+
+TraceCollectionEntityIPAddress ::= BIT STRING (SIZE(1..160, ...))
+
+TraceDepth ::= ENUMERATED {
+ minimum,
+ medium,
+ maximum,
+ minimumWithoutVendorSpecificExtension,
+ mediumWithoutVendorSpecificExtension,
+ maximumWithoutVendorSpecificExtension,
+ ...
+}
+
+Transmission-Bandwidth ::= ENUMERATED {
+ bw6,
+ bw15,
+ bw25,
+ bw50,
+ bw75,
+ bw100,
+ ...,
+ bw1
+}
+
+TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
+
+TransportLayerAddressAndPort ::= SEQUENCE {
+ endpointIPAddress TransportLayerAddress,
+ portnumber Port-Number
+}
+
+TunnelInformation ::= SEQUENCE {
+ transportLayerAddress TransportLayerAddress,
+ uDP-Port-Number Port-Number OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Tunnel-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Tunnel-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+
+-- U
+
+UEAggregateMaximumBitRate ::= SEQUENCE {
+ uEaggregateMaximumBitRateDownlink BitRate,
+ uEaggregateMaximumBitRateUplink BitRate,
+ iE-Extensions ProtocolExtensionContainer { {UEAggregate-MaximumBitrate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAggregate-MaximumBitrate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-extended-uEaggregateMaximumBitRateDownlink CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
+ { ID id-extended-uEaggregateMaximumBitRateUplink CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional},
+ ...
+}
+
+UEAppLayerMeasConfig ::= SEQUENCE {
+ containerForAppLayerMeasConfig OCTET STRING (SIZE(1..1000)),
+ areaScopeOfQMC AreaScopeOfQMC,
+ iE-Extensions ProtocolExtensionContainer { {UEAppLayerMeasConfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAppLayerMeasConfig-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ {ID id-serviceType CRITICALITY ignore EXTENSION ServiceType PRESENCE optional},
+ ...
+}
+
+UE-ContextKeptIndicator ::= ENUMERATED {
+ true,
+ ...
+}
+
+UEID ::= BIT STRING (SIZE (16))
+
+UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item
+
+UE-HistoryInformationFromTheUE ::= OCTET STRING
+-- This IE is a transparent container and shall be encoded as the VisitedCellInfoList field contained in the UEInformationResponse message as defined in TS 36.331 [9]
+
+UE-S1AP-ID ::= INTEGER (0.. 4294967295)
+
+UE-X2AP-ID ::= INTEGER (0..4095)
+
+UE-X2AP-ID-Extension ::= INTEGER (0..4095, ...)
+
+UERadioCapability ::= OCTET STRING
+
+UERadioCapabilityID ::= OCTET STRING
+
+UE-RLF-Report-Container::= OCTET STRING
+-- This IE is a transparent container and shall be encoded as the RLF-Report-r9 field contained in the UEInformationResponse message as defined in TS 36.331 [9]
+
+UE-RLF-Report-Container-for-extended-bands ::= OCTET STRING
+-- This IE is a transparent container and shall be encoded as the RLF-Report-v9e0 field contained in the UEInformationResponse message as defined in TS 36.331 [9]
+
+UESecurityCapabilities ::= SEQUENCE {
+ encryptionAlgorithms EncryptionAlgorithms,
+ integrityProtectionAlgorithms IntegrityProtectionAlgorithms,
+ iE-Extensions ProtocolExtensionContainer { {UESecurityCapabilities-ExtIEs} } OPTIONAL,
+...
+}
+
+UESecurityCapabilities-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UESidelinkAggregateMaximumBitRate ::= SEQUENCE {
+ uESidelinkAggregateMaximumBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {UE-Sidelink-Aggregate-MaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-Sidelink-Aggregate-MaximumBitRate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEsToBeResetList ::= SEQUENCE (SIZE (1.. maxUEsinengNBDU)) OF UEsToBeResetList-Item
+
+UEsToBeResetList-Item::= SEQUENCE {
+ meNB-ID UE-X2AP-ID,
+ meNB-ID-ext UE-X2AP-ID-Extension OPTIONAL,
+ sgNB-ID SgNB-UE-X2AP-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UEsToBeResetList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEsToBeResetList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ULandDLSharing ::= SEQUENCE{
+ uLResourcesULandDLSharing ULResourcesULandDLSharing,
+ dLResourcesULandDLSharing DLResourcesULandDLSharing,
+ iE-Extensions ProtocolExtensionContainer { {ULandDLSharing-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ULandDLSharing-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ULConfiguration::= SEQUENCE {
+ uL-PDCP UL-UE-Configuration,
+ iE-Extensions ProtocolExtensionContainer { {ULConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ULConfiguration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-UE-Configuration::= ENUMERATED { no-data, shared, only, ... }
+
+UL-GBR-PRB-usage::= INTEGER (0..100)
+
+UL-GBR-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+UL-HighInterferenceIndicationInfo ::= SEQUENCE (SIZE(1..maxCellineNB)) OF UL-HighInterferenceIndicationInfo-Item
+
+UL-HighInterferenceIndicationInfo-Item ::= SEQUENCE {
+ target-Cell-ID ECGI,
+ ul-interferenceindication UL-HighInterferenceIndication,
+ iE-Extensions ProtocolExtensionContainer { {UL-HighInterferenceIndicationInfo-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UL-HighInterferenceIndicationInfo-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-HighInterferenceIndication ::= BIT STRING (SIZE(1..110, ...))
+
+UL-InterferenceOverloadIndication ::= SEQUENCE (SIZE(1..maxnoofPRBs)) OF UL-InterferenceOverloadIndication-Item
+
+UL-InterferenceOverloadIndication-Item ::= ENUMERATED {
+ high-interference,
+ medium-interference,
+ low-interference,
+ ...
+}
+
+UL-non-GBR-PRB-usage::= INTEGER (0..100)
+
+UL-non-GBR-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+ULOnlySharing ::= SEQUENCE{
+ uLResourceBitmapULOnlySharing DataTrafficResources,
+ iE-Extensions ProtocolExtensionContainer { {ULOnlySharing-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ULOnlySharing-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ULResourceBitmapULandDLSharing ::= DataTrafficResources
+
+
+ULResourcesULandDLSharing ::= CHOICE {
+ unchanged NULL,
+ changed ULResourceBitmapULandDLSharing,
+ ...
+}
+
+UL-scheduling-PDCCH-CCE-usage::= INTEGER (0..100)
+
+UL-Total-PRB-usage::= INTEGER (0..100)
+
+UL-Total-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+UnlicensedSpectrumRestriction ::= ENUMERATED {
+ unlicensed-restricted,
+ ...
+}
+
+URI-Address ::= VisibleString
+
+UsableABSInformation ::= CHOICE {
+ fdd UsableABSInformationFDD,
+ tdd UsableABSInformationTDD,
+ ...
+}
+
+
+UsableABSInformationFDD ::= SEQUENCE {
+ usable-abs-pattern-info BIT STRING (SIZE(40)),
+ iE-Extensions ProtocolExtensionContainer { {UsableABSInformationFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UsableABSInformationFDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UsableABSInformationTDD ::= SEQUENCE {
+ usaable-abs-pattern-info BIT STRING (SIZE(1..70, ...)),
+ iE-Extensions ProtocolExtensionContainer { {UsableABSInformationTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UsableABSInformationTDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UserPlaneTrafficActivityReport ::= ENUMERATED {inactive, re-activated, ...}
+
+-- V
+
+V2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {V2XServicesAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+V2XServicesAuthorized-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+VehicleUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+PedestrianUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+-- W
+
+WidebandCQI ::= SEQUENCE {
+ widebandCQICodeword0 INTEGER (0..15, ...),
+ widebandCQICodeword1 WidebandCQICodeword1 OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {WidebandCQI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+WidebandCQI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WidebandCQICodeword1::= CHOICE {
+ four-bitCQI INTEGER (0..15, ...),
+ three-bitSpatialDifferentialCQI INTEGER (0..7, ...),
+ ...
+}
+
+WLANMeasurementConfiguration ::= SEQUENCE {
+ wlanMeasConfig WLANMeasConfig,
+ wlanMeasConfigNameList WLANMeasConfigNameList OPTIONAL,
+ wlan-rssi ENUMERATED {true, ...} OPTIONAL,
+ wlan-rtt ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {WLANMeasurementConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+WLANMeasurementConfiguration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLANMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofWLANName)) OF WLANName
+
+WLANMeasConfig::= ENUMERATED {setup,...}
+
+WLANName ::= OCTET STRING (SIZE (1..32))
+
+WTID ::= CHOICE {
+ wTID-Type1 WTID-Type1,
+ wTID-Type2 WTID-Long-Type2,
+ ...
+}
+
+WTID-Type1 ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ shortWTID BIT STRING (SIZE(24)),
+ ...
+}
+
+WTID-Long-Type2 ::= BIT STRING (SIZE(48))
+
+WT-UE-XwAP-ID ::= OCTET STRING (SIZE (3))
+
+-- X
+
+X2BenefitValue ::= INTEGER (1..8, ...)
+
+-- Y
+-- Z
+
+END
diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn
new file mode 100644
index 00000000..9f5ca165
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn
@@ -0,0 +1,5017 @@
+-- 3GPP TS 36.423 V17.5.0 (2023-06)
+-- 9.3.4 PDU Definitions
+-- **************************************************************
+--
+-- PDU definitions for X2AP.
+--
+-- **************************************************************
+
+X2AP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ ABSInformation,
+ ABS-Status,
+ AS-SecurityInformation,
+ BearerType,
+ Cause,
+ CompositeAvailableCapacityGroup,
+ Correlation-ID,
+ COUNTvalue,
+ CellReportingIndicator,
+ AerialUEsubscriptionInformation,
+ CriticalityDiagnostics,
+ CRNTI,
+ CSGMembershipStatus,
+ CSG-Id,
+ DeactivationIndication,
+ DL-Forwarding,
+ DynamicDLTransmissionInformation,
+ E-RABsSubjectToDLDiscarding-List,
+ E-RABsSubjectToEarlyStatusTransfer-List,
+ ECGI,
+ E-RAB-ID,
+ E-RAB-Level-QoS-Parameters,
+ E-RAB-List,
+ EUTRANTraceID,
+ GlobalENB-ID,
+ GTPtunnelEndpoint,
+ GUGroupIDList,
+ GUMMEI,
+ HandoverReportType,
+ HandoverRestrictionList,
+ Masked-IMEISV,
+ InvokeIndication,
+ LocationReportingInformation,
+ LowerLayerPresenceStatusChange,
+ MDT-Configuration,
+ ManagementBasedMDTallowed,
+ MDTPLMNList,
+ Neighbour-Information,
+ PCI,
+ PDCP-SN,
+ PLMN-Identity,
+ ReceiveStatusofULPDCPSDUs,
+ Registration-Request,
+ RelativeNarrowbandTxPower,
+ RadioResourceStatus,
+ RLC-Status,
+ RRCConnReestabIndicator,
+ RRCConnSetupIndicator,
+ UE-RLF-Report-Container,
+ UEAppLayerMeasConfig,
+ RRC-Context,
+ ServedCell-Information,
+ ServedCells,
+ ShortMAC-I,
+ SRVCCOperationPossible,
+ SubscriberProfileIDforRFP,
+ TargetCellInUTRAN,
+ TargeteNBtoSource-eNBTransparentContainer,
+ TimeToWait,
+ TraceActivation,
+ TraceDepth,
+ TransportLayerAddress,
+ UEAggregateMaximumBitRate,
+ UE-HistoryInformation,
+ UE-HistoryInformationFromTheUE,
+ UE-S1AP-ID,
+ UESecurityCapabilities,
+ UEsToBeResetList,
+ UE-X2AP-ID,
+ UL-HighInterferenceIndicationInfo,
+ UL-InterferenceOverloadIndication,
+ HWLoadIndicator,
+ S1TNLLoadIndicator,
+ Measurement-ID,
+ ReportCharacteristics,
+ MobilityParametersInformation,
+ MobilityParametersModificationRange,
+ ReceiveStatusOfULPDCPSDUsExtended,
+ COUNTValueExtended,
+ SubframeAssignment,
+ ExtendedULInterferenceOverloadInfo,
+ ExpectedUEBehaviour,
+ SeNBSecurityKey,
+ MeNBtoSeNBContainer,
+ SeNBtoMeNBContainer,
+ SCGChangeIndication,
+ CoMPInformation,
+ ReportingPeriodicityRSRPMR,
+ RSRPMRList,
+ UE-RLF-Report-Container-for-extended-bands,
+ ProSeAuthorized,
+ CoverageModificationList,
+ ReportingPeriodicityCSIR,
+ CSIReportList,
+ ReceiveStatusOfULPDCPSDUsPDCP-SNlength18,
+ COUNTvaluePDCP-SNlength18,
+ LHN-ID,
+ UE-ContextKeptIndicator,
+ UE-X2AP-ID-Extension,
+ SIPTOBearerDeactivationIndication,
+ TunnelInformation,
+ V2XServicesAuthorized,
+ X2BenefitValue,
+ ResumeID,
+ EUTRANCellIdentifier,
+ MakeBeforeBreakIndicator,
+ WTID,
+ WT-UE-XwAP-ID,
+ UESidelinkAggregateMaximumBitRate,
+ SgNBSecurityKey,
+ MeNBtoSgNBContainer,
+ SgNBtoMeNBContainer,
+ SplitSRBs,
+ RRCContainer,
+ SRBType,
+ GlobalGNB-ID,
+ GNB-ID,
+ SCGConfigurationQuery,
+ SplitSRB,
+ NRUeReport,
+ EN-DC-ResourceConfiguration,
+ TAC,
+ NRFreqInfo,
+ NRCGI,
+ NRPCI,
+ NRUESecurityCapabilities,
+ PDCPChangeIndication,
+ ULConfiguration,
+ SgNB-UE-X2AP-ID,
+ SecondaryRATUsageReportList,
+ ActivationID,
+ MeNBResourceCoordinationInformation,
+ SgNBResourceCoordinationInformation,
+ NR-TxBW,
+ BroadcastPLMNs-Item,
+ AdditionalPLMNs-Item,
+ RLCMode,
+ GBR-QosInformation,
+ DRB-ID,
+ FiveGS-TAC,
+ SULInformation,
+ Packet-LossRate,
+ ResourceType,
+ DataTrafficResourceIndication,
+ SpectrumSharingGroupID,
+ RRC-Config-Ind,
+ SGNB-Addition-Trigger-Ind,
+ UserPlaneTrafficActivityReport,
+ ERABActivityNotifyItemList,
+ PDCPSnLength,
+ Subscription-Based-UE-DifferentiationInfo,
+ LCID,
+ DuplicationActivation,
+ GNBOverloadInformation,
+ NewDRBIDrequest,
+ DesiredActNotificationLevel,
+ LocationInformationSgNB,
+ LocationInformationSgNBReporting,
+ EndcSONConfigurationTransfer,
+ NRNeighbour-Information,
+ InterfaceInstanceIndication,
+ BPLMN-ID-Info-NR,
+ SNtriggered,
+ EPCHandoverRestrictionListContainer,
+ AdditionalRRMPriorityIndex,
+ RequestedFastMCGRecoveryViaSRB3,
+ AvailableFastMCGRecoveryViaSRB3,
+ RequestedFastMCGRecoveryViaSRB3Release,
+ ReleaseFastMCGRecoveryViaSRB3,
+ FastMCGRecovery,
+ PartialListIndicator,
+ MaximumCellListSize,
+ MessageOversizeNotification,
+ TNLConfigurationInfo,
+ TNLA-To-Add-List,
+ TNLA-To-Update-List,
+ TNLA-To-Remove-List,
+ TNLA-Setup-List,
+ TNLA-Failed-To-Setup-List,
+ RAN-UE-NGAP-ID,
+ CHOinformation-REQ,
+ CHOinformation-ACK,
+ CHOinformation-AddReq,
+ CHOinformation-ModReq,
+ DAPSRequestInfo,
+ DAPSResponseInfo,
+ CandidateCellsToBeCancelledList,
+ CHO-DC-EarlyDataForwarding,
+ CHO-DC-Indicator,
+ Ethernet-Type,
+ NRV2XServicesAuthorized,
+ NRUESidelinkAggregateMaximumBitRate,
+ PC5QoSParameters,
+ TargetCellInNGRAN,
+ Measurement-ID-ENDC,
+ Registration-Request-ENDC,
+ ReportCharacteristics-ENDC,
+ NRRadioResourceStatus,
+ TNLCapacityIndicator,
+ NRCompositeAvailableCapacityGroup,
+ SSBIndex,
+ TDDULDLConfigurationCommonNR,
+ NRCarrierList,
+ SSB-PositionsInBurst,
+ NRCellPRACHConfig,
+ NBIoT-RLF-Report-Container,
+ PrivacyIndicator,
+ UERadioCapabilityID,
+ CSI-RSTransmissionIndication,
+ IABNodeIndication,
+ F1CTrafficContainer,
+ IntendedTDD-DL-ULConfiguration-NR,
+ UERadioCapability,
+ SFN-Offset,
+ IMSvoiceEPSfallbackfrom5G,
+ Global-RAN-NODE-ID,
+ DirectForwardingPathAvailability,
+ NRRACHReportInformation,
+ SCG-UE-HistoryInformation,
+ PSCellHistoryInformationRetrieve,
+
+ PSCell-UE-HistoryInformation,
+ PSCellChangeHistory,
+ MeasurementResultforNRCellsPossiblyAggregated,
+ SCGActivationStatus,
+ SCGActivationRequest,
+ CPAinformation-REQ,
+ CPAinformation-REQ-ACK,
+ CPAinformation-MOD,
+ CPAinformation-MOD-ACK,
+ CPACinformation-REQD,
+ CPCinformation-REQD,
+ CPCinformation-CONF,
+ CPCinformation-NOTIFY,
+ CPCupdate-MOD,
+ Additional-Measurement-Timing-Configuration-List,
+ ServedCellSpecificInfoReq-NR,
+ SecurityIndication,
+ SecurityResult,
+ TraceCollectionEntityIPAddress,
+ SCGreconfigNotification,
+ AdditionalListofForwardingGTPTunnelEndpoint
+
+
+
+
+FROM X2AP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-ContainerPairList{},
+ ProtocolIE-Single-Container{},
+ X2AP-PRIVATE-IES,
+ X2AP-PROTOCOL-EXTENSION,
+ X2AP-PROTOCOL-IES,
+ X2AP-PROTOCOL-IES-PAIR
+FROM X2AP-Containers
+
+ id-ABSInformation,
+ id-ActivatedCellList,
+ id-BearerType,
+ id-Cause,
+ id-CellInformation,
+ id-CellInformation-Item,
+ id-CellMeasurementResult,
+ id-CellMeasurementResult-NR-ENDC,
+ id-CellMeasurementResult-Item,
+ id-CellMeasurementResult-NR-ENDC-Item,
+ id-CellMeasurementResult-E-UTRA-ENDC,
+ id-CellMeasurementResult-E-UTRA-ENDC-Item,
+ id-CellToReport,
+ id-CellToReport-E-UTRA-ENDC,
+ id-CellToReport-NR-ENDC,
+ id-CellToReport-Item,
+ id-CellToReport-E-UTRA-ENDC-Item,
+ id-CellToReport-NR-ENDC-Item,
+ id-CompositeAvailableCapacityGroup,
+ id-AerialUEsubscriptionInformation,
+ id-CriticalityDiagnostics,
+ id-DeactivationIndication,
+ id-DynamicDLTransmissionInformation,
+ id-E-RABs-Admitted-Item,
+ id-E-RABs-Admitted-List,
+ id-E-RABs-NotAdmitted-List,
+ id-E-RABs-SubjectToStatusTransfer-List,
+ id-E-RABs-SubjectToStatusTransfer-Item,
+ id-E-RABs-ToBeSetup-Item,
+ id-GlobalENB-ID,
+ id-GUGroupIDList,
+ id-GUGroupIDToAddList,
+ id-GUGroupIDToDeleteList,
+ id-GUMMEI-ID,
+ id-Masked-IMEISV,
+ id-IMSvoiceEPSfallbackfrom5G,
+ id-InvokeIndication,
+ id-New-eNB-UE-X2AP-ID,
+ id-Old-eNB-UE-X2AP-ID,
+ id-Registration-Request,
+ id-ReportingPeriodicity,
+ id-RLC-Status,
+ id-ServedCells,
+ id-ServedCellsToActivate,
+ id-ServedCellsToAdd,
+ id-ServedCellsToModify,
+ id-ServedCellsToDelete,
+ id-SRVCCOperationPossible,
+ id-TargetCell-ID,
+ id-TargeteNBtoSource-eNBTransparentContainer,
+ id-TimeToWait,
+ id-TraceActivation,
+ id-UE-ContextInformation,
+ id-UE-HistoryInformation,
+ id-UE-X2AP-ID,
+ id-Measurement-ID,
+ id-ReportCharacteristics,
+ id-ENB1-Measurement-ID,
+ id-ENB2-Measurement-ID,
+ id-ENB1-Cell-ID,
+ id-ENB2-Cell-ID,
+ id-ENB2-Proposed-Mobility-Parameters,
+ id-ENB1-Mobility-Parameters,
+ id-ENB2-Mobility-Parameters-Modification-Range,
+ id-FailureCellPCI,
+ id-Re-establishmentCellECGI,
+ id-FailureCellCRNTI,
+ id-ShortMAC-I,
+ id-SourceCellECGI,
+ id-FailureCellECGI,
+ id-HandoverReportType,
+ id-UE-RLF-Report-Container,
+ id-PartialSuccessIndicator,
+ id-MeasurementInitiationResult-List,
+ id-MeasurementInitiationResult-Item,
+ id-MeasurementFailureCause-Item,
+ id-CompleteFailureCauseInformation-List,
+ id-CompleteFailureCauseInformation-Item,
+ id-CSGMembershipStatus,
+ id-CSG-Id,
+ id-MDTConfiguration,
+ id-ManagementBasedMDTallowed,
+ id-ABS-Status,
+ id-RRCConnSetupIndicator,
+ id-RRCConnReestabIndicator,
+ id-TargetCellInUTRAN,
+ id-MobilityInformation,
+ id-SourceCellCRNTI,
+ id-ManagementBasedMDTPLMNList,
+ id-ReceiveStatusOfULPDCPSDUsExtended,
+ id-ULCOUNTValueExtended,
+ id-DLCOUNTValueExtended,
+ id-IntendedULDLConfiguration,
+ id-ExtendedULInterferenceOverloadInfo,
+ id-RNL-Header,
+ id-x2APMessage,
+ id-UE-HistoryInformationFromTheUE,
+ id-ExpectedUEBehaviour,
+ id-MeNB-UE-X2AP-ID,
+ id-SeNB-UE-X2AP-ID,
+ id-UE-SecurityCapabilities,
+ id-SeNBSecurityKey,
+ id-SeNBUEAggregateMaximumBitRate,
+ id-ServingPLMN,
+ id-E-RABs-ToBeAdded-List,
+ id-E-RABs-ToBeAdded-Item,
+ id-MeNBtoSeNBContainer,
+ id-E-RABs-Admitted-ToBeAdded-List,
+ id-E-RABs-Admitted-ToBeAdded-Item,
+ id-SeNBtoMeNBContainer,
+ id-ResponseInformationSeNBReconfComp,
+ id-UE-ContextInformationSeNBModReq,
+ id-E-RABs-ToBeAdded-ModReqItem,
+ id-E-RABs-ToBeModified-ModReqItem,
+ id-E-RABs-ToBeReleased-ModReqItem,
+ id-E-RABs-Admitted-ToBeAdded-ModAckList,
+ id-E-RABs-Admitted-ToBeModified-ModAckList,
+ id-E-RABs-Admitted-ToBeReleased-ModAckList,
+ id-E-RABs-Admitted-ToBeAdded-ModAckItem,
+ id-E-RABs-Admitted-ToBeModified-ModAckItem,
+ id-E-RABs-Admitted-ToBeReleased-ModAckItem,
+ id-SCGChangeIndication,
+ id-E-RABs-ToBeReleased-ModReqd,
+ id-E-RABs-ToBeReleased-ModReqdItem,
+ id-E-RABs-ToBeReleased-List-RelReq,
+ id-E-RABs-ToBeReleased-RelReqItem,
+ id-E-RABs-ToBeReleased-List-RelConf,
+ id-E-RABs-ToBeReleased-RelConfItem,
+ id-E-RABs-SubjectToCounterCheck-List,
+ id-E-RABs-SubjectToCounterCheckItem,
+ id-CoMPInformation,
+ id-ReportingPeriodicityRSRPMR,
+ id-RSRPMRList,
+ id-UE-RLF-Report-Container-for-extended-bands,
+ id-ProSeAuthorized,
+ id-CoverageModificationList,
+ id-ReportingPeriodicityCSIR,
+ id-CSIReportList,
+ id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18,
+ id-ULCOUNTValuePDCP-SNlength18,
+ id-DLCOUNTValuePDCP-SNlength18,
+ id-LHN-ID,
+ id-Correlation-ID,
+ id-SIPTO-Correlation-ID,
+ id-UE-ContextReferenceAtSeNB,
+ id-UE-ContextReferenceAtWT,
+ id-UE-ContextKeptIndicator,
+ id-UEs-ToBeReset,
+ id-UEs-Admitted-ToBeReset,
+ id-WT-UE-ContextKeptIndicator,
+ id-New-eNB-UE-X2AP-ID-Extension,
+ id-Old-eNB-UE-X2AP-ID-Extension,
+ id-MeNB-UE-X2AP-ID-Extension,
+ id-SeNB-UE-X2AP-ID-Extension,
+ id-SIPTO-BearerDeactivationIndication,
+ id-Tunnel-Information-for-BBF,
+ id-SIPTO-L-GW-TransportLayerAddress,
+ id-GW-TransportLayerAddress,
+ id-X2RemovalThreshold,
+ id-CellReportingIndicator,
+ id-V2XServicesAuthorized,
+ id-resumeID,
+ id-UE-ContextInformationRetrieve,
+ id-E-RABs-ToBeSetupRetrieve-Item,
+ id-NewEUTRANCellIdentifier,
+ id-MakeBeforeBreakIndicator,
+ id-UESidelinkAggregateMaximumBitRate,
+ id-uL-GTPtunnelEndpoint,
+ id-SgNBSecurityKey,
+ id-SgNBUEAggregateMaximumBitRate,
+ id-E-RABs-ToBeAdded-SgNBAddReqList,
+ id-MeNBtoSgNBContainer,
+ id-SgNB-UE-X2AP-ID,
+ id-RequestedSplitSRBs,
+ id-E-RABs-ToBeAdded-SgNBAddReq-Item,
+ id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList,
+ id-SgNBtoMeNBContainer,
+ id-AdmittedSplitSRBs,
+ id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item,
+ id-ResponseInformationSgNBReconfComp,
+ id-UE-ContextInformation-SgNBModReq,
+ id-E-RABs-ToBeAdded-SgNBModReq-Item,
+ id-E-RABs-ToBeModified-SgNBModReq-Item,
+ id-E-RABs-ToBeReleased-SgNBModReq-Item,
+ id-E-RABs-Admitted-ToBeAdded-SgNBModAckList,
+ id-E-RABs-Admitted-ToBeModified-SgNBModAckList,
+ id-E-RABs-Admitted-ToBeReleased-SgNBModAckList,
+ id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item,
+ id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item,
+ id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item,
+ id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList,
+ id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item,
+ id-E-RABs-ToBeReleased-SgNBModReqdList,
+ id-E-RABs-ToBeModified-SgNBModReqdList,
+ id-E-RABs-ToBeReleased-SgNBModReqd-Item,
+ id-E-RABs-ToBeModified-SgNBModReqd-Item,
+ id-E-RABs-ToBeReleased-SgNBChaConfList,
+ id-E-RABs-ToBeReleased-SgNBChaConf-Item,
+ id-E-RABs-ToBeReleased-SgNBRelReqList,
+ id-E-RABs-ToBeReleased-SgNBRelReq-Item,
+ id-E-RABs-ToBeReleased-SgNBRelConfList,
+ id-E-RABs-ToBeReleased-SgNBRelConf-Item,
+ id-E-RABs-ToBeReleased-SgNBRelReqdList,
+ id-E-RABs-ToBeReleased-SgNBRelReqd-Item,
+ id-E-RABs-SubjectToSgNBCounterCheck-List,
+ id-E-RABs-SubjectToSgNBCounterCheck-Item,
+ id-Target-SgNB-ID,
+ id-RRCContainer,
+ id-SRBType,
+ id-HandoverRestrictionList,
+ id-SCGConfigurationQuery,
+ id-SplitSRB,
+ id-NRUeReport,
+ id-InitiatingNodeType-EndcX2Setup,
+ id-InitiatingNodeType-EndcConfigUpdate,
+ id-RespondingNodeType-EndcX2Setup,
+ id-RespondingNodeType-EndcConfigUpdate,
+ id-NRUESecurityCapabilities,
+ id-PDCPChangeIndication,
+ id-ServedEUTRAcellsENDCX2ManagementList,
+ id-ServedEUTRAcellsToModifyListENDCConfUpd,
+ id-ServedEUTRAcellsToDeleteListENDCConfUpd,
+ id-ServedNRcellsToModifyListENDCConfUpd,
+ id-ServedNRcellsToDeleteListENDCConfUpd,
+ id-CellAssistanceInformation,
+ id-Globalen-gNB-ID,
+ id-ServedNRcellsENDCX2ManagementList,
+ id-Old-SgNB-UE-X2AP-ID,
+ id-UE-ContextReferenceAtSgNB,
+ id-SecondaryRATUsageReportList,
+ id-ActivationID,
+ id-ServedNRCellsToActivate,
+ id-ActivatedNRCellList,
+ id-MeNBResourceCoordinationInformation,
+ id-SgNBResourceCoordinationInformation,
+ id-UEAppLayerMeasConfig,
+ id-SelectedPLMN,
+ id-SubscriberProfileIDforRFP,
+ id-InitiatingNodeType-EutranrCellResourceCoordination,
+ id-RespondingNodeType-EutranrCellResourceCoordination,
+ id-DataTrafficResourceIndication,
+ id-SpectrumSharingGroupID,
+ id-ListofEUTRACellsinEUTRACoordinationReq,
+ id-ListofEUTRACellsinEUTRACoordinationResp,
+ id-ListofEUTRACellsinNRCoordinationReq,
+ id-ListofNRCellsinNRCoordinationReq,
+ id-ListofNRCellsinNRCoordinationResp,
+ id-RRCConfigIndication,
+ id-SGNB-Addition-Trigger-Ind,
+ id-RequestedSplitSRBsrelease,
+ id-AdmittedSplitSRBsrelease,
+ id-E-RABs-AdmittedToBeModified-SgNBModConfList,
+ id-E-RABs-AdmittedToBeModified-SgNBModConf-Item,
+ id-UEContextLevelUserPlaneActivity,
+ id-ERABActivityNotifyItemList,
+ id-MeNBCell-ID,
+ id-InitiatingNodeType-EndcX2Removal,
+ id-RespondingNodeType-EndcX2Removal,
+ id-uLpDCPSnLength,
+ id-dL-Forwarding,
+ id-E-RABs-DataForwardingAddress-List,
+ id-E-RABs-DataForwardingAddress-Item,
+ id-Subscription-Based-UE-DifferentiationInfo,
+ id-RLCMode-transferred,
+ id-dLPDCPSnLength,
+ id-secondarysgNBDLGTPTEIDatPDCP,
+ id-secondarymeNBULGTPTEIDatPDCP,
+ id-lCID,
+ id-duplicationActivation,
+ id-GNBOverloadInformation,
+ id-new-drb-ID-req,
+ id-NRNeighbourInfoToModify,
+ id-DesiredActNotificationLevel,
+ id-LocationInformationSgNB,
+ id-LocationInformationSgNBReporting,
+ id-endcSONConfigurationTransfer,
+ id-EUTRANTraceID,
+ id-additionalPLMNs-Item,
+ id-InterfaceInstanceIndication,
+ id-BPLMN-ID-Info-NR,
+ id-SNtriggered,
+ id-EPCHandoverRestrictionListContainer,
+ id-ERABs-transferred-to-MeNB,
+ id-AdditionalRRMPriorityIndex,
+ id-LowerLayerPresenceStatusChange,
+ id-FastMCGRecovery-SN-to-MN,
+ id-FastMCGRecovery-MN-to-SN,
+ id-RequestedFastMCGRecoveryViaSRB3,
+ id-AvailableFastMCGRecoveryViaSRB3,
+ id-RequestedFastMCGRecoveryViaSRB3Release,
+ id-ReleaseFastMCGRecoveryViaSRB3,
+ id-PartialListIndicator,
+ id-MaximumCellListSize,
+ id-MessageOversizeNotification,
+ id-CellandCapacityAssistInfo,
+ id-TNLConfigurationInfo,
+ id-TNLA-To-Add-List,
+ id-TNLA-To-Update-List,
+ id-TNLA-To-Remove-List,
+ id-TNLA-Setup-List,
+ id-TNLA-Failed-To-Setup-List,
+ id-UEContextReferenceatSourceNGRAN,
+ id-CHOinformation-REQ,
+ id-CHOinformation-ACK,
+ id-CHOinformation-AddReq,
+ id-CHOinformation-ModReq,
+ id-DAPSRequestInfo,
+ id-RequestedTargetCellID,
+ id-CandidateCellsToBeCancelledList,
+ id-DAPSResponseInfo,
+ id-ProcedureStage,
+ id-CHO-DC-EarlyDataForwarding,
+ id-CHO-DC-Indicator,
+ id-Ethernet-Type,
+ id-NRV2XServicesAuthorized,
+ id-NRUESidelinkAggregateMaximumBitRate,
+ id-PC5QoSParameters,
+ id-TargetCellInNGRAN,
+ id-E-UTRAN-Node1-Measurement-ID,
+ id-E-UTRAN-Node2-Measurement-ID,
+ id-TDDULDLConfigurationCommonNR,
+ id-CarrierList,
+ id-ULCarrierList,
+ id-SSB-PositionsInBurst,
+ id-NRCellPRACHConfig,
+ id-NBIoT-RLF-Report-Container,
+ id-MDTConfigurationNR,
+ id-PrivacyIndicator,
+ id-TraceCollectionEntityIPAddress,
+ id-UERadioCapabilityID,
+ id-CSI-RSTransmissionIndication,
+ id-DLCarrierList,
+ id-IABNodeIndication,
+ id-F1CTrafficContainer,
+ id-IntendedTDD-DL-ULConfiguration-NR,
+ id-UERadioCapability,
+ id-SFN-Offset,
+ id-DirectForwardingPathAvailability,
+ id-sourceNG-RAN-node-id,
+ id-SourceDLForwardingIPAddress,
+ id-SourceNodeDLForwardingIPAddress,
+ id-NRRACHReportInformation,
+ id-SCG-UE-HistoryInformation,
+ id-PSCellHistoryInformationRetrieve,
+ id-MeasurementResultforNRCellsPossiblyAggregated,
+ id-PSCellChangeHistory,
+ id-SCGActivationStatus,
+ id-SCGActivationRequest,
+ id-CPAinformation-REQ,
+ id-CPAinformation-REQ-ACK,
+ id-CPAinformation-MOD,
+ id-CPAinformation-MOD-ACK,
+ id-CPACinformation-REQD,
+ id-CPCinformation-REQD,
+ id-CPCinformation-CONF,
+ id-CPCinformation-NOTIFY,
+ id-CPCupdate-MOD,
+ id-Additional-Measurement-Timing-Configuration-List,
+ id-ServedCellSpecificInfoReq-NR,
+ id-SecurityIndication,
+ id-SecurityResult,
+ id-SCGreconfigNotification,
+ id-AdditionalListofForwardingGTPTunnelEndpoint,
+ maxCellineNB,
+ maxnoofBearers,
+ maxnoofPDCP-SN,
+ maxFailedMeasObjects,
+ maxnoofCellIDforMDT,
+ maxnoofTAforMDT,
+ maxCellinengNB,
+ maxnoofCellIDforQMC,
+ maxnoofTAforQMC,
+ maxnoofPLMNforQMC,
+ maxnoofProtectedResourcePatterns,
+ maxnoNRcellsSpectrumSharingWithE-UTRA,
+ maxnoofNrCellBands,
+ maxnoofSSBAreas
+
+FROM X2AP-Constants;
+
+-- **************************************************************
+--
+-- HANDOVER REQUEST
+--
+-- **************************************************************
+
+HandoverRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverRequest-IEs}},
+ ...
+}
+
+HandoverRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TargetCell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory}|
+ { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE mandatory}|
+ { ID id-UE-ContextInformation CRITICALITY reject TYPE UE-ContextInformation PRESENCE mandatory}|
+ { ID id-UE-HistoryInformation CRITICALITY ignore TYPE UE-HistoryInformation PRESENCE mandatory}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}|
+ { ID id-CSGMembershipStatus CRITICALITY reject TYPE CSGMembershipStatus PRESENCE optional}|
+ { ID id-MobilityInformation CRITICALITY ignore TYPE MobilityInformation PRESENCE optional}|
+ { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional}|
+ { ID id-UE-HistoryInformationFromTheUE CRITICALITY ignore TYPE UE-HistoryInformationFromTheUE PRESENCE optional}|
+ { ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional}|
+ { ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}|
+ { ID id-UE-ContextReferenceAtSeNB CRITICALITY ignore TYPE UE-ContextReferenceAtSeNB PRESENCE optional}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}|
+ { ID id-UE-ContextReferenceAtWT CRITICALITY ignore TYPE UE-ContextReferenceAtWT PRESENCE optional}|
+ { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
+ { ID id-UE-ContextReferenceAtSgNB CRITICALITY ignore TYPE UE-ContextReferenceAtSgNB PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}|
+ { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}|
+ { ID id-CHOinformation-REQ CRITICALITY ignore TYPE CHOinformation-REQ PRESENCE optional}|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional}|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional},
+ ...
+}
+
+UE-ContextInformation ::= SEQUENCE {
+ mME-UE-S1AP-ID UE-S1AP-ID,
+ uESecurityCapabilities UESecurityCapabilities,
+ aS-SecurityInformation AS-SecurityInformation,
+ uEaggregateMaximumBitRate UEAggregateMaximumBitRate,
+ subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL,
+ e-RABs-ToBeSetup-List E-RABs-ToBeSetup-List,
+ rRC-Context RRC-Context,
+ handoverRestrictionList HandoverRestrictionList OPTIONAL,
+ locationReportingInformation LocationReportingInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UE-ContextInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-ContextInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-ManagementBasedMDTallowed CRITICALITY ignore EXTENSION ManagementBasedMDTallowed PRESENCE optional }|
+{ ID id-ManagementBasedMDTPLMNList CRITICALITY ignore EXTENSION MDTPLMNList PRESENCE optional }|
+{ ID id-UESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION UESidelinkAggregateMaximumBitRate PRESENCE optional }|
+{ ID id-EPCHandoverRestrictionListContainer CRITICALITY ignore EXTENSION EPCHandoverRestrictionListContainer PRESENCE optional }|
+{ ID id-AdditionalRRMPriorityIndex CRITICALITY ignore EXTENSION AdditionalRRMPriorityIndex PRESENCE optional}|
+{ ID id-NRUESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION NRUESidelinkAggregateMaximumBitRate PRESENCE optional}|
+{ ID id-UERadioCapabilityID CRITICALITY reject EXTENSION UERadioCapabilityID PRESENCE optional }|
+{ ID id-IMSvoiceEPSfallbackfrom5G CRITICALITY ignore EXTENSION IMSvoiceEPSfallbackfrom5G PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeSetup-ItemIEs} }
+
+E-RABs-ToBeSetup-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeSetup-Item CRITICALITY ignore TYPE E-RABs-ToBeSetup-Item PRESENCE mandatory },
+ ...
+}
+
+E-RABs-ToBeSetup-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ dL-Forwarding DL-Forwarding OPTIONAL,
+ uL-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeSetup-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeSetup-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-BearerType CRITICALITY reject EXTENSION BearerType PRESENCE optional}|
+ { ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional}|
+ { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}|
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ { ID id-SecurityIndication CRITICALITY reject EXTENSION SecurityIndication PRESENCE optional},
+ ...
+}
+
+MobilityInformation ::= BIT STRING (SIZE(32))
+
+SourceDLForwardingIPAddress ::= BIT STRING (SIZE(1..160, ...))
+
+
+UE-ContextReferenceAtSeNB ::= SEQUENCE {
+ source-GlobalSeNB-ID GlobalENB-ID,
+ seNB-UE-X2AP-ID UE-X2AP-ID,
+ seNB-UE-X2AP-ID-Extension UE-X2AP-ID-Extension,
+ iE-Extensions ProtocolExtensionContainer { {UE-ContextReferenceAtSeNB-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-ContextReferenceAtSeNB-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-ContextReferenceAtWT ::= SEQUENCE {
+ wTID WTID,
+ wT-UE-XwAP-ID WT-UE-XwAP-ID,
+ iE-Extensions ProtocolExtensionContainer { {UE-ContextReferenceAtWT-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-ContextReferenceAtWT-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UE-ContextReferenceAtSgNB ::= SEQUENCE {
+ source-GlobalSgNB-ID GlobalGNB-ID,
+ sgNB-UE-X2AP-ID SgNB-UE-X2AP-ID,
+ iE-Extensions ProtocolExtensionContainer { {UE-ContextReferenceAtSgNB-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-ContextReferenceAtSgNB-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+HandoverRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverRequestAcknowledge-IEs}},
+ ...
+}
+
+HandoverRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-Admitted-List CRITICALITY ignore TYPE E-RABs-Admitted-List PRESENCE mandatory}|
+ { ID id-E-RABs-NotAdmitted-List CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}|
+ { ID id-TargeteNBtoSource-eNBTransparentContainer CRITICALITY ignore TYPE TargeteNBtoSource-eNBTransparentContainer PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}-- The id-SeNB-UE-X2AP-ID-Extension shall not be sent and shall be ignored, if received.--|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-WT-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}|
+ { ID id-ERABs-transferred-to-MeNB CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}|
+ { ID id-CHOinformation-ACK CRITICALITY ignore TYPE CHOinformation-ACK PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-List ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ItemIEs} }
+
+E-RABs-Admitted-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-Item CRITICALITY ignore TYPE E-RABs-Admitted-Item PRESENCE mandatory }
+}
+
+E-RABs-Admitted-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ uL-GTP-TunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ dL-GTP-TunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-DAPSResponseInfo CRITICALITY reject EXTENSION DAPSResponseInfo PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER PREPARATION FAILURE
+--
+-- **************************************************************
+
+HandoverPreparationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverPreparationFailure-IEs}},
+ ...
+}
+
+HandoverPreparationFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-RequestedTargetCellID CRITICALITY reject TYPE ECGI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER REPORT
+--
+-- **************************************************************
+
+HandoverReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverReport-IEs}},
+ ...
+}
+
+HandoverReport-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-HandoverReportType CRITICALITY ignore TYPE HandoverReportType PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-SourceCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
+ { ID id-FailureCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
+ { ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE ECGI PRESENCE conditional} -- The IE shall be present if the Handover Report Type IE is set to “HO to Wrong Cell†-- |
+ { ID id-TargetCellInUTRAN CRITICALITY ignore TYPE TargetCellInUTRAN PRESENCE conditional} -- The IE shall be present if the Handover Report Type IE is set to "InterRAT ping-pong" --|
+ { ID id-SourceCellCRNTI CRITICALITY ignore TYPE CRNTI PRESENCE optional}|
+ { ID id-MobilityInformation CRITICALITY ignore TYPE MobilityInformation PRESENCE optional}|
+ { ID id-UE-RLF-Report-Container CRITICALITY ignore TYPE UE-RLF-Report-Container PRESENCE optional}|
+ { ID id-UE-RLF-Report-Container-for-extended-bands CRITICALITY ignore TYPE UE-RLF-Report-Container-for-extended-bands PRESENCE optional}|
+ { ID id-TargetCellInNGRAN CRITICALITY ignore TYPE TargetCellInNGRAN PRESENCE conditional} -- The IE shall be present if the Handover Report Type IE is set to "interSystemPingpong" --,
+ ...
+}
+
+-- **************************************************************
+--
+-- EARLY STATUS TRANSFER
+--
+-- **************************************************************
+
+EarlyStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ EarlyStatusTransfer-IEs}},
+ ...
+}
+
+EarlyStatusTransfer-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-ProcedureStage CRITICALITY reject TYPE ProcedureStageChoice PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE optional},
+ ...
+}
+
+ProcedureStageChoice ::= CHOICE {
+ first-dl-count FirstDLCount,
+ dl-discarding DLDiscarding,
+ choice-extension ProtocolIE-Single-Container { {ProcedureStageChoice-ExtIEs} }
+}
+
+ProcedureStageChoice-ExtIEs X2AP-PROTOCOL-IES ::= {
+ ...
+}
+
+FirstDLCount ::= SEQUENCE {
+ e-RABsSubjectToEarlyStatusTransfer E-RABsSubjectToEarlyStatusTransfer-List,
+ iE-Extension ProtocolExtensionContainer { {FirstDLCount-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FirstDLCount-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DLDiscarding ::= SEQUENCE {
+ e-RABsSubjectToDLDiscarding-List E-RABsSubjectToDLDiscarding-List,
+ iE-Extension ProtocolExtensionContainer { {DLDiscarding-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DLDiscarding-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+-- **************************************************************
+--
+-- SN STATUS TRANSFER
+--
+-- **************************************************************
+
+SNStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SNStatusTransfer-IEs}},
+ ...
+}
+
+SNStatusTransfer-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-SubjectToStatusTransfer-List CRITICALITY ignore TYPE E-RABs-SubjectToStatusTransfer-List PRESENCE mandatory}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE optional},
+ ...
+}
+
+E-RABs-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-SubjectToStatusTransfer-ItemIEs} }
+
+E-RABs-SubjectToStatusTransfer-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-SubjectToStatusTransfer-Item CRITICALITY ignore TYPE E-RABs-SubjectToStatusTransfer-Item PRESENCE mandatory }
+}
+
+E-RABs-SubjectToStatusTransfer-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+
+ receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL,
+ uL-COUNTvalue COUNTvalue,
+ dL-COUNTvalue COUNTvalue,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-SubjectToStatusTransfer-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-SubjectToStatusTransfer-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ReceiveStatusOfULPDCPSDUsExtended CRITICALITY ignore EXTENSION ReceiveStatusOfULPDCPSDUsExtended PRESENCE optional}|
+ { ID id-ULCOUNTValueExtended CRITICALITY ignore EXTENSION COUNTValueExtended PRESENCE optional}|
+ { ID id-DLCOUNTValueExtended CRITICALITY ignore EXTENSION COUNTValueExtended PRESENCE optional}|
+ { ID id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 CRITICALITY ignore EXTENSION ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 PRESENCE optional}|
+ { ID id-ULCOUNTValuePDCP-SNlength18 CRITICALITY ignore EXTENSION COUNTvaluePDCP-SNlength18 PRESENCE optional}|
+ { ID id-DLCOUNTValuePDCP-SNlength18 CRITICALITY ignore EXTENSION COUNTvaluePDCP-SNlength18 PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE
+--
+-- **************************************************************
+
+UEContextRelease ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEContextRelease-IEs}},
+ ...
+}
+
+UEContextRelease-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SIPTO-BearerDeactivationIndication CRITICALITY ignore TYPE SIPTOBearerDeactivationIndication PRESENCE optional}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- HANDOVER CANCEL
+--
+-- **************************************************************
+
+HandoverCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverCancel-IEs}},
+ ...
+}
+
+HandoverCancel-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-CandidateCellsToBeCancelledList CRITICALITY reject TYPE CandidateCellsToBeCancelledList PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- HANDOVER SUCCESS
+--
+-- **************************************************************
+
+HandoverSuccess ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverSuccess-IEs}},
+ ...
+}
+
+HandoverSuccess-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-TargetCell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- CONDITIONAL HANDOVER CANCEL
+--
+-- **************************************************************
+
+ConditionalHandoverCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ConditionalHandoverCancel-IEs}},
+ ...
+}
+
+ConditionalHandoverCancel-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-CandidateCellsToBeCancelledList CRITICALITY reject TYPE CandidateCellsToBeCancelledList PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ ...
+}
+
+ErrorIndication-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE optional}|
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-Old-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE optional}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET REQUEST
+--
+-- **************************************************************
+
+ResetRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetRequest-IEs}},
+ ...
+}
+
+ResetRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET RESPONSE
+--
+-- **************************************************************
+
+ResetResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetResponse-IEs}},
+ ...
+}
+
+ResetResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- X2 SETUP REQUEST
+--
+-- **************************************************************
+
+X2SetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{X2SetupRequest-IEs}},
+ ...
+}
+
+X2SetupRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}|
+ { ID id-ServedCells CRITICALITY reject TYPE ServedCells PRESENCE mandatory}|
+ { ID id-GUGroupIDList CRITICALITY reject TYPE GUGroupIDList PRESENCE optional}|
+ { ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional},
+...
+}
+
+
+
+-- **************************************************************
+--
+-- X2 SETUP RESPONSE
+--
+-- **************************************************************
+
+X2SetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{X2SetupResponse-IEs}},
+ ...
+}
+
+X2SetupResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}|
+ { ID id-ServedCells CRITICALITY reject TYPE ServedCells PRESENCE mandatory}|
+ { ID id-GUGroupIDList CRITICALITY reject TYPE GUGroupIDList PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional},
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- X2 SETUP FAILURE
+--
+-- **************************************************************
+
+X2SetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{X2SetupFailure-IEs}},
+ ...
+}
+
+X2SetupFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional} |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- LOAD INFORMATION
+--
+-- **************************************************************
+
+LoadInformation ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{LoadInformation-IEs}},
+ ...
+}
+
+LoadInformation-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CellInformation CRITICALITY ignore TYPE CellInformation-List PRESENCE mandatory} ,
+ ...
+}
+
+CellInformation-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellInformation-ItemIEs} }
+
+CellInformation-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CellInformation-Item CRITICALITY ignore TYPE CellInformation-Item PRESENCE mandatory }
+}
+
+CellInformation-Item ::= SEQUENCE {
+ cell-ID ECGI,
+ ul-InterferenceOverloadIndication UL-InterferenceOverloadIndication OPTIONAL,
+ ul-HighInterferenceIndicationInfo UL-HighInterferenceIndicationInfo OPTIONAL,
+ relativeNarrowbandTxPower RelativeNarrowbandTxPower OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CellInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellInformation-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-ABSInformation CRITICALITY ignore EXTENSION ABSInformation PRESENCE optional }|
+{ ID id-InvokeIndication CRITICALITY ignore EXTENSION InvokeIndication PRESENCE optional }|
+{ ID id-IntendedULDLConfiguration CRITICALITY ignore EXTENSION SubframeAssignment PRESENCE optional }|
+{ ID id-ExtendedULInterferenceOverloadInfo CRITICALITY ignore EXTENSION ExtendedULInterferenceOverloadInfo PRESENCE optional }|
+{ ID id-CoMPInformation CRITICALITY ignore EXTENSION CoMPInformation PRESENCE optional }|
+{ ID id-DynamicDLTransmissionInformation CRITICALITY ignore EXTENSION DynamicDLTransmissionInformation PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- ENB CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+ENBConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENBConfigurationUpdate-IEs}},
+ ...
+}
+
+ENBConfigurationUpdate-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ServedCellsToAdd CRITICALITY reject TYPE ServedCells PRESENCE optional}|
+ { ID id-ServedCellsToModify CRITICALITY reject TYPE ServedCellsToModify PRESENCE optional}|
+ { ID id-ServedCellsToDelete CRITICALITY reject TYPE Old-ECGIs PRESENCE optional}|
+ { ID id-GUGroupIDToAddList CRITICALITY reject TYPE GUGroupIDList PRESENCE optional}|
+ { ID id-GUGroupIDToDeleteList CRITICALITY reject TYPE GUGroupIDList PRESENCE optional}|
+ { ID id-CoverageModificationList CRITICALITY reject TYPE CoverageModificationList PRESENCE optional},
+ ...
+}
+
+ServedCellsToModify::= SEQUENCE (SIZE (1..maxCellineNB)) OF ServedCellsToModify-Item
+
+ServedCellsToModify-Item::= SEQUENCE {
+ old-ecgi ECGI,
+ servedCellInfo ServedCell-Information,
+ neighbour-Info Neighbour-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellsToModify-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellsToModify-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-DeactivationIndication CRITICALITY ignore EXTENSION DeactivationIndication PRESENCE optional }|
+ { ID id-NRNeighbourInfoToModify CRITICALITY ignore EXTENSION NRNeighbour-Information PRESENCE optional },
+ ...
+}
+
+
+Old-ECGIs::= SEQUENCE (SIZE (1..maxCellineNB)) OF ECGI
+
+-- **************************************************************
+--
+-- ENB CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENBConfigurationUpdateAcknowledge-IEs}},
+ ...
+}
+
+ENBConfigurationUpdateAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+...
+}
+
+-- **************************************************************
+--
+-- ENB CONFIGURATION UPDATE FAIURE
+--
+-- **************************************************************
+
+ENBConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENBConfigurationUpdateFailure-IEs}},
+ ...
+}
+
+ENBConfigurationUpdateFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- RESOURCE STATUS REQUEST
+--
+-- **************************************************************
+
+ResourceStatusRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResourceStatusRequest-IEs}},
+ ...
+}
+
+ResourceStatusRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-ENB2-Measurement-ID CRITICALITY ignore TYPE Measurement-ID PRESENCE conditional}|-- The IE shall be present if the Registration Request IE is set to “Stopâ€, “Partial stop†or to “Addâ€--
+ { ID id-Registration-Request CRITICALITY reject TYPE Registration-Request PRESENCE mandatory}|
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE optional}|
+ { ID id-CellToReport CRITICALITY ignore TYPE CellToReport-List PRESENCE mandatory}|
+ { ID id-ReportingPeriodicity CRITICALITY ignore TYPE ReportingPeriodicity PRESENCE optional}|
+ { ID id-PartialSuccessIndicator CRITICALITY ignore TYPE PartialSuccessIndicator PRESENCE optional}|
+ { ID id-ReportingPeriodicityRSRPMR CRITICALITY ignore TYPE ReportingPeriodicityRSRPMR PRESENCE optional}|
+ { ID id-ReportingPeriodicityCSIR CRITICALITY ignore TYPE ReportingPeriodicityCSIR PRESENCE optional},
+ ...
+}
+
+
+CellToReport-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellToReport-ItemIEs} }
+
+CellToReport-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CellToReport-Item CRITICALITY ignore TYPE CellToReport-Item PRESENCE mandatory}
+}
+
+CellToReport-Item ::= SEQUENCE {
+ cell-ID ECGI,
+ iE-Extensions ProtocolExtensionContainer { {CellToReport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellToReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ReportingPeriodicity ::= ENUMERATED {
+ one-thousand-ms,
+ two-thousand-ms,
+ five-thousand-ms,
+ ten-thousand-ms,
+...
+}
+
+PartialSuccessIndicator ::= ENUMERATED {
+ partial-success-allowed,
+...
+}
+
+-- **************************************************************
+--
+-- RESOURCE STATUS RESPONSE
+--
+-- **************************************************************
+
+ResourceStatusResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResourceStatusResponse-IEs}},
+ ...
+}
+
+ResourceStatusResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeasurementInitiationResult-List CRITICALITY ignore TYPE MeasurementInitiationResult-List PRESENCE optional},
+ ...
+}
+
+
+MeasurementInitiationResult-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {MeasurementInitiationResult-ItemIEs} }
+
+MeasurementInitiationResult-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeasurementInitiationResult-Item CRITICALITY ignore TYPE MeasurementInitiationResult-Item PRESENCE mandatory}
+}
+
+MeasurementInitiationResult-Item ::= SEQUENCE {
+ cell-ID ECGI,
+ measurementFailureCause-List MeasurementFailureCause-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MeasurementInitiationResult-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MeasurementInitiationResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MeasurementFailureCause-List ::= SEQUENCE (SIZE (1..maxFailedMeasObjects)) OF ProtocolIE-Single-Container { {MeasurementFailureCause-ItemIEs} }
+
+MeasurementFailureCause-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeasurementFailureCause-Item CRITICALITY ignore TYPE MeasurementFailureCause-Item PRESENCE mandatory}
+}
+
+MeasurementFailureCause-Item ::= SEQUENCE {
+ measurementFailedReportCharacteristics ReportCharacteristics,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {MeasurementFailureCause-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MeasurementFailureCause-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RESOURCE STATUS FAILURE
+--
+-- **************************************************************
+
+ResourceStatusFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResourceStatusFailure-IEs}},
+ ...
+}
+
+ResourceStatusFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-CompleteFailureCauseInformation-List CRITICALITY ignore TYPE CompleteFailureCauseInformation-List PRESENCE optional},
+ ...
+}
+
+CompleteFailureCauseInformation-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CompleteFailureCauseInformation-ItemIEs} }
+
+CompleteFailureCauseInformation-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CompleteFailureCauseInformation-Item CRITICALITY ignore TYPE CompleteFailureCauseInformation-Item PRESENCE mandatory}
+}
+
+CompleteFailureCauseInformation-Item ::= SEQUENCE {
+ cell-ID ECGI,
+ measurementFailureCause-List MeasurementFailureCause-List,
+ iE-Extensions ProtocolExtensionContainer { {CompleteFailureCauseInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompleteFailureCauseInformation-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RESOURCE STATUS UPDATE
+--
+-- **************************************************************
+
+ResourceStatusUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResourceStatusUpdate-IEs}},
+ ...
+}
+
+ResourceStatusUpdate-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-CellMeasurementResult CRITICALITY ignore TYPE CellMeasurementResult-List PRESENCE mandatory},
+ ...
+}
+
+CellMeasurementResult-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellMeasurementResult-ItemIEs} }
+
+CellMeasurementResult-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CellMeasurementResult-Item CRITICALITY ignore TYPE CellMeasurementResult-Item PRESENCE mandatory}
+}
+
+CellMeasurementResult-Item ::= SEQUENCE {
+ cell-ID ECGI,
+ hWLoadIndicator HWLoadIndicator OPTIONAL,
+ s1TNLLoadIndicator S1TNLLoadIndicator OPTIONAL,
+ radioResourceStatus RadioResourceStatus OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CellMeasurementResult-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellMeasurementResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-CompositeAvailableCapacityGroup CRITICALITY ignore EXTENSION CompositeAvailableCapacityGroup PRESENCE optional}|
+ { ID id-ABS-Status CRITICALITY ignore EXTENSION ABS-Status PRESENCE optional}|
+ { ID id-RSRPMRList CRITICALITY ignore EXTENSION RSRPMRList PRESENCE optional}|
+ { ID id-CSIReportList CRITICALITY ignore EXTENSION CSIReportList PRESENCE optional}|
+ { ID id-CellReportingIndicator CRITICALITY ignore EXTENSION CellReportingIndicator PRESENCE optional}|
+ { ID id-MeasurementResultforNRCellsPossiblyAggregated CRITICALITY ignore EXTENSION MeasurementResultforNRCellsPossiblyAggregated PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs X2AP-PRIVATE-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- MOBILITY CHANGE REQUEST
+--
+-- **************************************************************
+
+MobilityChangeRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MobilityChangeRequest-IEs}},
+ ...
+}
+
+MobilityChangeRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory}|
+ { ID id-ENB2-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory}|
+ { ID id-ENB1-Mobility-Parameters CRITICALITY ignore TYPE MobilityParametersInformation PRESENCE optional}|
+ { ID id-ENB2-Proposed-Mobility-Parameters CRITICALITY reject TYPE MobilityParametersInformation PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- MOBILITY CHANGE ACKNOWLEDGE
+--
+-- **************************************************************
+
+MobilityChangeAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MobilityChangeAcknowledge-IEs}},
+ ...
+}
+
+MobilityChangeAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory}|
+ { ID id-ENB2-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MOBILITY CHANGE FAILURE
+--
+-- **************************************************************
+
+MobilityChangeFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MobilityChangeFailure-IEs}},
+ ...
+}
+
+MobilityChangeFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Cell-ID CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
+ { ID id-ENB2-Cell-ID CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-ENB2-Mobility-Parameters-Modification-Range CRITICALITY ignore TYPE MobilityParametersModificationRange PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RADIO LINK FAILURE INDICATION
+--
+-- **************************************************************
+
+RLFIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RLFIndication-IEs}},
+ ...
+}
+
+RLFIndication-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-FailureCellPCI CRITICALITY ignore TYPE PCI PRESENCE mandatory}|
+ { ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
+ { ID id-FailureCellCRNTI CRITICALITY ignore TYPE CRNTI PRESENCE mandatory}|
+ { ID id-ShortMAC-I CRITICALITY ignore TYPE ShortMAC-I PRESENCE optional}|
+ { ID id-UE-RLF-Report-Container CRITICALITY ignore TYPE UE-RLF-Report-Container PRESENCE optional}|
+ { ID id-RRCConnSetupIndicator CRITICALITY reject TYPE RRCConnSetupIndicator PRESENCE optional}|
+ { ID id-RRCConnReestabIndicator CRITICALITY ignore TYPE RRCConnReestabIndicator PRESENCE optional}|
+ { ID id-UE-RLF-Report-Container-for-extended-bands CRITICALITY ignore TYPE UE-RLF-Report-Container-for-extended-bands PRESENCE optional}|
+ { ID id-NBIoT-RLF-Report-Container CRITICALITY ignore TYPE NBIoT-RLF-Report-Container PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- CELL ACTIVATION REQUEST
+--
+-- **************************************************************
+
+CellActivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationRequest-IEs}},
+ ...
+}
+
+CellActivationRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ServedCellsToActivate CRITICALITY reject TYPE ServedCellsToActivate PRESENCE mandatory},
+ ...
+}
+
+ServedCellsToActivate::= SEQUENCE (SIZE (1..maxCellineNB)) OF ServedCellsToActivate-Item
+
+ServedCellsToActivate-Item::= SEQUENCE {
+ ecgi ECGI,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellsToActivate-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellsToActivate-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL ACTIVATION RESPONSE
+--
+-- **************************************************************
+
+CellActivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationResponse-IEs}},
+ ...
+}
+
+CellActivationResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ActivatedCellList CRITICALITY ignore TYPE ActivatedCellList PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+ActivatedCellList ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ActivatedCellList-Item
+
+ActivatedCellList-Item::= SEQUENCE {
+ ecgi ECGI,
+ iE-Extensions ProtocolExtensionContainer { {ActivatedCellList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ActivatedCellList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+--**************************************************************
+--
+-- CELL ACTIVATION FAILURE
+--
+-- **************************************************************
+
+CellActivationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationFailure-IEs}},
+ ...
+}
+
+CellActivationFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- X2 RELEASE
+--
+-- **************************************************************
+
+X2Release ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{X2Release-IEs}},
+ ...
+}
+
+X2Release-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory},
+...
+}
+
+-- **************************************************************
+--
+-- X2AP MESSAGE TRANSFER
+--
+-- **************************************************************
+
+X2APMessageTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{X2APMessageTransfer-IEs}},
+ ...
+}
+
+X2APMessageTransfer-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-RNL-Header CRITICALITY reject TYPE RNL-Header PRESENCE mandatory}|
+ { ID id-x2APMessage CRITICALITY reject TYPE X2AP-Message PRESENCE optional},
+ ...
+}
+
+RNL-Header ::= SEQUENCE {
+ source-GlobalENB-ID GlobalENB-ID,
+ target-GlobalENB-ID GlobalENB-ID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RNL-Header-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RNL-Header-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+X2AP-Message ::= OCTET STRING
+
+-- **************************************************************
+--
+-- SENB ADDITION REQUEST
+--
+-- **************************************************************
+
+SeNBAdditionRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBAdditionRequest-IEs}},
+ ...
+}
+
+SeNBAdditionRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-UE-SecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE conditional}|
+ -- This IE shall be present if the Bearer Option IE is set to the value “SCG bearer†--
+ { ID id-SeNBSecurityKey CRITICALITY reject TYPE SeNBSecurityKey PRESENCE conditional}|
+ -- This IE shall be present if the Bearer Option IE is set to the value “SCG bearer†--
+ { ID id-SeNBUEAggregateMaximumBitRate CRITICALITY reject TYPE UEAggregateMaximumBitRate PRESENCE mandatory}|
+ { ID id-ServingPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional}|
+ { ID id-E-RABs-ToBeAdded-List CRITICALITY reject TYPE E-RABs-ToBeAdded-List PRESENCE mandatory}|
+ { ID id-MeNBtoSeNBContainer CRITICALITY reject TYPE MeNBtoSeNBContainer PRESENCE mandatory}|
+ { ID id-CSGMembershipStatus CRITICALITY reject TYPE CSGMembershipStatus PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeAdded-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeAdded-ItemIEs} }
+
+E-RABs-ToBeAdded-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeAdded-Item CRITICALITY reject TYPE E-RABs-ToBeAdded-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeAdded-Item ::= CHOICE {
+ sCG-Bearer E-RABs-ToBeAdded-Item-SCG-Bearer,
+ split-Bearer E-RABs-ToBeAdded-Item-Split-Bearer,
+ ...
+}
+
+E-RABs-ToBeAdded-Item-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ dL-Forwarding DL-Forwarding OPTIONAL,
+ s1-UL-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-Item-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-Item-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}|
+ { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}|
+ { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}|
+ { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}|
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeAdded-Item-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ meNB-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-Item-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-Item-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB ADDITION REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+SeNBAdditionRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBAdditionRequestAcknowledge-IEs}},
+ ...
+}
+
+SeNBAdditionRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-Admitted-ToBeAdded-List CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-List PRESENCE mandatory}|
+ { ID id-E-RABs-NotAdmitted-List CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}|
+ { ID id-SeNBtoMeNBContainer CRITICALITY reject TYPE SeNBtoMeNBContainer PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
+ { ID id-SIPTO-L-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-List ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeAdded-ItemIEs} }
+
+E-RABs-Admitted-ToBeAdded-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-ToBeAdded-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-Item PRESENCE mandatory}
+}
+
+E-RABs-Admitted-ToBeAdded-Item ::= CHOICE {
+ sCG-Bearer E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer,
+ split-Bearer E-RABs-Admitted-ToBeAdded-Item-Split-Bearer,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ s1-DL-GTPtunnelEndpoint GTPtunnelEndpoint,
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ uL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-Item-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-Item-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-Item-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ seNB-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-Item-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-Item-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB ADDITION REQUEST REJECT
+--
+-- **************************************************************
+
+SeNBAdditionRequestReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBAdditionRequestReject-IEs}},
+ ...
+}
+
+SeNBAdditionRequestReject-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB RECONFIGURATION COMPLETE
+--
+-- **************************************************************
+
+SeNBReconfigurationComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBReconfigurationComplete-IEs}},
+ ...
+}
+
+SeNBReconfigurationComplete-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-ResponseInformationSeNBReconfComp CRITICALITY ignore TYPE ResponseInformationSeNBReconfComp PRESENCE mandatory}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+ResponseInformationSeNBReconfComp ::= CHOICE {
+ success ResponseInformationSeNBReconfComp-SuccessItem,
+ reject-by-MeNB ResponseInformationSeNBReconfComp-RejectByMeNBItem,
+ ...
+}
+
+ResponseInformationSeNBReconfComp-SuccessItem ::= SEQUENCE {
+ meNBtoSeNBContainer MeNBtoSeNBContainer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ResponseInformationSeNBReconfComp-SuccessItemExtIEs} } OPTIONAL,
+ ...
+}
+
+ResponseInformationSeNBReconfComp-SuccessItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResponseInformationSeNBReconfComp-RejectByMeNBItem ::= SEQUENCE {
+ cause Cause,
+ meNBtoSeNBContainer MeNBtoSeNBContainer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ResponseInformationSeNBReconfComp-RejectByMeNBItemExtIEs} } OPTIONAL,
+ ...
+}
+
+ResponseInformationSeNBReconfComp-RejectByMeNBItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB MODIFICATION REQUEST
+--
+-- **************************************************************
+
+SeNBModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SeNBModificationRequest-IEs}},
+ ...
+}
+
+SeNBModificationRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-SCGChangeIndication CRITICALITY ignore TYPE SCGChangeIndication PRESENCE optional}|
+ { ID id-ServingPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional}|
+ { ID id-UE-ContextInformationSeNBModReq CRITICALITY reject TYPE UE-ContextInformationSeNBModReq PRESENCE optional}|
+ { ID id-MeNBtoSeNBContainer CRITICALITY ignore TYPE MeNBtoSeNBContainer PRESENCE optional}|
+ { ID id-CSGMembershipStatus CRITICALITY reject TYPE CSGMembershipStatus PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+UE-ContextInformationSeNBModReq ::= SEQUENCE {
+ uE-SecurityCapabilities UESecurityCapabilities OPTIONAL,
+ seNB-SecurityKey SeNBSecurityKey OPTIONAL,
+ seNBUEAggregateMaximumBitRate UEAggregateMaximumBitRate OPTIONAL,
+ e-RABs-ToBeAdded E-RABs-ToBeAdded-List-ModReq OPTIONAL,
+ e-RABs-ToBeModified E-RABs-ToBeModified-List-ModReq OPTIONAL,
+ e-RABs-ToBeReleased E-RABs-ToBeReleased-List-ModReq OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UE-ContextInformationSeNBModReqExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-ContextInformationSeNBModReqExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeAdded-List-ModReq ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeAdded-ModReqItemIEs} }
+
+E-RABs-ToBeAdded-ModReqItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeAdded-ModReqItem CRITICALITY ignore TYPE E-RABs-ToBeAdded-ModReqItem PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeAdded-ModReqItem ::= CHOICE {
+ sCG-Bearer E-RABs-ToBeAdded-ModReqItem-SCG-Bearer,
+ split-Bearer E-RABs-ToBeAdded-ModReqItem-Split-Bearer,
+ ...
+}
+
+E-RABs-ToBeAdded-ModReqItem-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ dL-Forwarding DL-Forwarding OPTIONAL,
+ s1-UL-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-ModReqItem-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-ModReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}|
+ { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}|
+ { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}|
+ { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}|
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeAdded-ModReqItem-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ meNB-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-ModReqItem-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-ModReqItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeModified-List-ModReq ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeModified-ModReqItemIEs} }
+
+E-RABs-ToBeModified-ModReqItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeModified-ModReqItem CRITICALITY ignore TYPE E-RABs-ToBeModified-ModReqItem PRESENCE mandatory},
+ ...
+}
+
+
+E-RABs-ToBeModified-ModReqItem ::= CHOICE {
+ sCG-Bearer E-RABs-ToBeModified-ModReqItem-SCG-Bearer,
+ split-Bearer E-RABs-ToBeModified-ModReqItem-Split-Bearer,
+ ...
+}
+
+E-RABs-ToBeModified-ModReqItem-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL,
+ s1-UL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-ModReqItem-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeModified-ModReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeModified-ModReqItem-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL,
+ meNB-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-ModReqItem-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeModified-ModReqItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-List-ModReq ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-ModReqItemIEs} }
+
+E-RABs-ToBeReleased-ModReqItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-ModReqItem CRITICALITY ignore TYPE E-RABs-ToBeReleased-ModReqItem PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeReleased-ModReqItem ::= CHOICE {
+ sCG-Bearer E-RABs-ToBeReleased-ModReqItem-SCG-Bearer,
+ split-Bearer E-RABs-ToBeReleased-ModReqItem-Split-Bearer,
+ ...
+}
+
+E-RABs-ToBeReleased-ModReqItem-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ uL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-ModReqItem-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-ModReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-ModReqItem-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-ModReqItem-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-ModReqItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB MODIFICATION REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+SeNBModificationRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBModificationRequestAcknowledge-IEs}},
+ ...
+}
+
+SeNBModificationRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-Admitted-ToBeAdded-ModAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-ModAckList PRESENCE optional}|
+ { ID id-E-RABs-Admitted-ToBeModified-ModAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeModified-ModAckList PRESENCE optional}|
+ { ID id-E-RABs-Admitted-ToBeReleased-ModAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeReleased-ModAckList PRESENCE optional}|
+ { ID id-E-RABs-NotAdmitted-List CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}|
+ { ID id-SeNBtoMeNBContainer CRITICALITY ignore TYPE SeNBtoMeNBContainer PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-ModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeAdded-ModAckItemIEs} }
+
+E-RABs-Admitted-ToBeAdded-ModAckItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-ToBeAdded-ModAckItem CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-ModAckItem PRESENCE mandatory}
+}
+
+E-RABs-Admitted-ToBeAdded-ModAckItem ::= CHOICE {
+ sCG-Bearer E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer,
+ split-Bearer E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ s1-DL-GTPtunnelEndpoint GTPtunnelEndpoint,
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ uL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ seNB-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-ModAckItem-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-ModAckItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+E-RABs-Admitted-ToBeModified-ModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeModified-ModAckItemIEs} }
+
+E-RABs-Admitted-ToBeModified-ModAckItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-ToBeModified-ModAckItem CRITICALITY ignore TYPE E-RABs-Admitted-ToBeModified-ModAckItem PRESENCE mandatory}
+}
+
+E-RABs-Admitted-ToBeModified-ModAckItem ::= CHOICE {
+ sCG-Bearer E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer,
+ split-Bearer E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer,
+ ...
+}
+
+E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ s1-DL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeModified-ModAckItem-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeModified-ModAckItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ seNB-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeModified-ModAckItem-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeModified-ModAckItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-ModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeReleased-ModAckItemIEs} }
+
+E-RABs-Admitted-ToBeReleased-ModAckItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-ToBeReleased-ModAckItem CRITICALITY ignore TYPE E-RABs-Admitted-ToReleased-ModAckItem PRESENCE mandatory}
+}
+
+E-RABs-Admitted-ToReleased-ModAckItem ::= CHOICE {
+ sCG-Bearer E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer,
+ split-Bearer E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer,
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeReleased-ModAckItem-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-ModAckItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB MODIFICATION REQUEST REJECT
+--
+-- **************************************************************
+
+SeNBModificationRequestReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBModificationRequestReject-IEs}},
+ ...
+}
+
+SeNBModificationRequestReject-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB MODIFICATION REQUIRED
+--
+-- **************************************************************
+
+SeNBModificationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBModificationRequired-IEs}},
+ ...
+}
+
+SeNBModificationRequired-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-SCGChangeIndication CRITICALITY ignore TYPE SCGChangeIndication PRESENCE optional}|
+ { ID id-E-RABs-ToBeReleased-ModReqd CRITICALITY ignore TYPE E-RABs-ToBeReleased-ModReqd PRESENCE optional}|
+ { ID id-SeNBtoMeNBContainer CRITICALITY ignore TYPE SeNBtoMeNBContainer PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+
+E-RABs-ToBeReleased-ModReqd ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-ModReqdItemIEs} }
+
+E-RABs-ToBeReleased-ModReqdItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-ModReqdItem CRITICALITY ignore TYPE E-RABs-ToBeReleased-ModReqdItem PRESENCE mandatory },
+ ...
+}
+
+E-RABs-ToBeReleased-ModReqdItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-ModReqdItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-ModReqdItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB MODIFICATION CONFIRM
+--
+-- **************************************************************
+
+SeNBModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBModificationConfirm-IEs}},
+ ...
+}
+
+SeNBModificationConfirm-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-MeNBtoSeNBContainer CRITICALITY ignore TYPE MeNBtoSeNBContainer PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB MODIFICATION REFUSE
+--
+-- **************************************************************
+
+SeNBModificationRefuse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBModificationRefuse-IEs}},
+ ...
+}
+
+SeNBModificationRefuse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-MeNBtoSeNBContainer CRITICALITY ignore TYPE MeNBtoSeNBContainer PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB RELEASE REQUEST
+--
+-- **************************************************************
+
+SeNBReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBReleaseRequest-IEs}},
+ ...
+}
+
+SeNBReleaseRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}|
+ { ID id-E-RABs-ToBeReleased-List-RelReq CRITICALITY ignore TYPE E-RABs-ToBeReleased-List-RelReq PRESENCE optional}|
+ { ID id-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-MakeBeforeBreakIndicator CRITICALITY ignore TYPE MakeBeforeBreakIndicator PRESENCE optional},
+ ...
+}
+E-RABs-ToBeReleased-List-RelReq ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-RelReqItemIEs} }
+
+E-RABs-ToBeReleased-RelReqItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-RelReqItem CRITICALITY ignore TYPE E-RABs-ToBeReleased-RelReqItem PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeReleased-RelReqItem ::= CHOICE {
+ sCG-Bearer E-RABs-ToBeReleased-RelReqItem-SCG-Bearer,
+ split-Bearer E-RABs-ToBeReleased-RelReqItem-Split-Bearer,
+ ...
+}
+
+E-RABs-ToBeReleased-RelReqItem-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ uL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-RelReqItem-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-RelReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-RelReqItem-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-RelReqItem-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-RelReqItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB RELEASE REQUIRED
+--
+-- **************************************************************
+
+SeNBReleaseRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBReleaseRequired-IEs}},
+ ...
+}
+
+SeNBReleaseRequired-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB RELEASE CONFIRM
+--
+-- **************************************************************
+
+SeNBReleaseConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBReleaseConfirm-IEs}},
+ ...
+}
+
+SeNBReleaseConfirm-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-ToBeReleased-List-RelConf CRITICALITY ignore TYPE E-RABs-ToBeReleased-List-RelConf PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+E-RABs-ToBeReleased-List-RelConf ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-RelConfItemIEs} }
+
+E-RABs-ToBeReleased-RelConfItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-RelConfItem CRITICALITY ignore TYPE E-RABs-ToBeReleased-RelConfItem PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeReleased-RelConfItem ::= CHOICE {
+ sCG-Bearer E-RABs-ToBeReleased-RelConfItem-SCG-Bearer,
+ split-Bearer E-RABs-ToBeReleased-RelConfItem-Split-Bearer,
+ ...
+}
+
+E-RABs-ToBeReleased-RelConfItem-SCG-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ uL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-RelConfItem-SCG-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-RelConfItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-RelConfItem-Split-Bearer ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-RelConfItem-Split-BearerExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-RelConfItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SENB COUNTER CHECK REQUEST
+--
+-- **************************************************************
+
+SeNBCounterCheckRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SeNBCounterCheckRequest-IEs}},
+ ...
+}
+
+SeNBCounterCheckRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-SubjectToCounterCheck-List CRITICALITY ignore TYPE E-RABs-SubjectToCounterCheck-List PRESENCE mandatory}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+E-RABs-SubjectToCounterCheck-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-SubjectToCounterCheckItemIEs} }
+
+E-RABs-SubjectToCounterCheckItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-SubjectToCounterCheckItem CRITICALITY ignore TYPE E-RABs-SubjectToCounterCheckItem PRESENCE mandatory},
+ ...
+}
+
+E-RABs-SubjectToCounterCheckItem ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ uL-Count INTEGER (0..4294967295),
+ dL-Count INTEGER (0..4294967295),
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-SubjectToCounterCheckItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-SubjectToCounterCheckItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- X2 REMOVAL REQUEST
+--
+-- **************************************************************
+
+X2RemovalRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{X2RemovalRequest-IEs}},
+ ...
+}
+
+X2RemovalRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}|
+ { ID id-X2RemovalThreshold CRITICALITY reject TYPE X2BenefitValue PRESENCE optional},
+...
+}
+
+
+
+-- **************************************************************
+--
+-- X2 REMOVAL RESPONSE
+--
+-- **************************************************************
+
+X2RemovalResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{X2RemovalResponse-IEs}},
+ ...
+}
+
+X2RemovalResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- X2 REMOVAL FAILURE
+--
+-- **************************************************************
+
+X2RemovalFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{X2RemovalFailure-IEs}},
+ ...
+}
+
+X2RemovalFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT REQUEST
+--
+-- **************************************************************
+
+RetrieveUEContextRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RetrieveUEContextRequest-IEs}},
+ ...
+}
+
+RetrieveUEContextRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+-- Allocated at the new eNB.
+-- This IE contains an Extended eNB UE X2AP ID, which, together with the New eNB UE X2AP ID IE
+-- represents the eNB UE X2AP ID allocated at the new eNB.
+ { ID id-resumeID CRITICALITY reject TYPE ResumeID PRESENCE mandatory}|
+ { ID id-ShortMAC-I CRITICALITY reject TYPE ShortMAC-I PRESENCE mandatory}|
+ { ID id-NewEUTRANCellIdentifier CRITICALITY reject TYPE EUTRANCellIdentifier PRESENCE mandatory}|
+ {ID id-FailureCellCRNTI CRITICALITY reject TYPE CRNTI PRESENCE optional}|
+ {ID id-FailureCellPCI CRITICALITY reject TYPE PCI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT RESPONSE
+--
+-- **************************************************************
+
+RetrieveUEContextResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RetrieveUEContextResponse-IEs}},
+ ...
+}
+
+RetrieveUEContextResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE mandatory}|
+ { ID id-UE-ContextInformationRetrieve CRITICALITY reject TYPE UE-ContextInformationRetrieve PRESENCE mandatory}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}|
+ { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional}|
+ { ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional}|
+ { ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}|
+ { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional}|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional },
+ ...
+}
+
+UE-ContextInformationRetrieve ::= SEQUENCE {
+ mME-UE-S1AP-ID UE-S1AP-ID,
+ uESecurityCapabilities UESecurityCapabilities,
+ aS-SecurityInformation AS-SecurityInformation,
+ uEaggregateMaximumBitRate UEAggregateMaximumBitRate,
+ subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL,
+ e-RABs-ToBeSetup-ListRetrieve E-RABs-ToBeSetup-ListRetrieve,
+ rRC-Context RRC-Context,
+ handoverRestrictionList HandoverRestrictionList OPTIONAL,
+ locationReportingInformation LocationReportingInformation OPTIONAL,
+ managBasedMDTallowed ManagementBasedMDTallowed OPTIONAL,
+ managBasedMDTPLMNList MDTPLMNList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UE-ContextInformationRetrieve-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-ContextInformationRetrieve-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-UESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION UESidelinkAggregateMaximumBitRate PRESENCE optional }|
+{ ID id-AdditionalRRMPriorityIndex CRITICALITY ignore EXTENSION AdditionalRRMPriorityIndex PRESENCE optional }|
+{ ID id-EPCHandoverRestrictionListContainer CRITICALITY ignore EXTENSION EPCHandoverRestrictionListContainer PRESENCE optional }|
+{ ID id-NRUESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION NRUESidelinkAggregateMaximumBitRate PRESENCE optional}|
+{ ID id-UERadioCapabilityID CRITICALITY reject EXTENSION UERadioCapabilityID PRESENCE optional }|
+{ ID id-IMSvoiceEPSfallbackfrom5G CRITICALITY ignore EXTENSION IMSvoiceEPSfallbackfrom5G PRESENCE optional },
+ ...
+}
+
+E-RABs-ToBeSetup-ListRetrieve ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeSetupRetrieve-ItemIEs} }
+
+E-RABs-ToBeSetupRetrieve-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeSetupRetrieve-Item CRITICALITY ignore TYPE E-RABs-ToBeSetupRetrieve-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeSetupRetrieve-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ e-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ bearerType BearerType OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeSetupRetrieve-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeSetupRetrieve-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-uL-GTPtunnelEndpoint CRITICALITY reject EXTENSION GTPtunnelEndpoint PRESENCE mandatory}|
+ { ID id-dL-Forwarding CRITICALITY ignore EXTENSION DL-Forwarding PRESENCE optional}|
+ { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}|
+ { ID id-SecurityIndication CRITICALITY reject EXTENSION SecurityIndication PRESENCE optional}|
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT FAILURE
+--
+-- **************************************************************
+
+RetrieveUEContextFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RetrieveUEContextFailure-IEs}},
+ ...
+}
+
+RetrieveUEContextFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB ADDITION REQUEST
+--
+-- **************************************************************
+
+SgNBAdditionRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBAdditionRequest-IEs}},
+ ...
+}
+
+SgNBAdditionRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-NRUESecurityCapabilities CRITICALITY reject TYPE NRUESecurityCapabilities PRESENCE mandatory}|
+ { ID id-SgNBSecurityKey CRITICALITY reject TYPE SgNBSecurityKey PRESENCE mandatory}|
+ { ID id-SgNBUEAggregateMaximumBitRate CRITICALITY reject TYPE UEAggregateMaximumBitRate PRESENCE mandatory}|
+ { ID id-SelectedPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional}|
+ { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}|
+ { ID id-E-RABs-ToBeAdded-SgNBAddReqList CRITICALITY reject TYPE E-RABs-ToBeAdded-SgNBAddReqList PRESENCE mandatory}|
+ { ID id-MeNBtoSgNBContainer CRITICALITY reject TYPE MeNBtoSgNBContainer PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE optional}|
+ { ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-RequestedSplitSRBs CRITICALITY reject TYPE SplitSRBs PRESENCE optional}|
+ { ID id-MeNBResourceCoordinationInformation CRITICALITY ignore TYPE MeNBResourceCoordinationInformation PRESENCE optional}|
+ { ID id-SGNB-Addition-Trigger-Ind CRITICALITY reject TYPE SGNB-Addition-Trigger-Ind PRESENCE optional}|
+ { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional}|
+ { ID id-MeNBCell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory}|
+ { ID id-DesiredActNotificationLevel CRITICALITY ignore TYPE DesiredActNotificationLevel PRESENCE optional}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}|
+ { ID id-LocationInformationSgNBReporting CRITICALITY ignore TYPE LocationInformationSgNBReporting PRESENCE optional}|
+ { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional}|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional}|
+ { ID id-RequestedFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE RequestedFastMCGRecoveryViaSRB3 PRESENCE optional}|
+ { ID id-UEContextReferenceatSourceNGRAN CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE optional}|
+ { ID id-ManagementBasedMDTallowed CRITICALITY ignore TYPE ManagementBasedMDTallowed PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional}|
+ { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional}|
+ { ID id-sourceNG-RAN-node-id CRITICALITY ignore TYPE Global-RAN-NODE-ID PRESENCE optional}|
+ { ID id-UE-HistoryInformation CRITICALITY ignore TYPE UE-HistoryInformation PRESENCE optional}|
+ { ID id-UE-HistoryInformationFromTheUE CRITICALITY ignore TYPE UE-HistoryInformationFromTheUE PRESENCE optional}|
+ { ID id-PSCellChangeHistory CRITICALITY ignore TYPE PSCellChangeHistory PRESENCE optional}|
+ { ID id-CHOinformation-AddReq CRITICALITY reject TYPE CHOinformation-AddReq PRESENCE optional}|
+ { ID id-SCGActivationRequest CRITICALITY ignore TYPE SCGActivationRequest PRESENCE optional}|
+ { ID id-CPAinformation-REQ CRITICALITY reject TYPE CPAinformation-REQ PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBAddReqList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeAdded-SgNBAddReq-ItemIEs} }
+
+E-RABs-ToBeAdded-SgNBAddReq-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeAdded-SgNBAddReq-Item CRITICALITY reject TYPE E-RABs-ToBeAdded-SgNBAddReq-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBAddReq-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ drb-ID DRB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBAddReq-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBAddReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent ::= SEQUENCE {
+ full-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ max-MCG-admit-E-RAB-Level-QoS-Parameters GBR-QosInformation OPTIONAL,
+-- This IE shall be present if MCG resource and SCG resources IEs in the EN-DC Resource Configuration IE are set to “present†and GBR QoS Information IE is present in Full E-RAB Level QoS Parameters IE --
+ dL-Forwarding DL-Forwarding OPTIONAL,
+ meNB-DL-GTP-TEIDatMCG GTPtunnelEndpoint OPTIONAL,
+-- This IE shall be present if MCG resource IE in the EN-DC Resource Configuration IE is set to “present†--
+ s1-UL-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RLCMode-transferred CRITICALITY ignore EXTENSION RLCMode PRESENCE optional}|
+ { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}|
+ { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}|
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ { ID id-SecurityIndication CRITICALITY reject EXTENSION SecurityIndication PRESENCE optional}|
+ { ID id-SourceNodeDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ requested-SCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ meNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint,
+ secondary-meNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL,
+ rlc-Mode RLCMode,
+ uL-Configuration ULConfiguration OPTIONAL,
+-- This IE shall be present if MCG resource and SCG resources IEs in the EN-DC Resource Configuration IE are set to “present†--
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-uLpDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-dLPDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-duplicationActivation CRITICALITY ignore EXTENSION DuplicationActivation PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB ADDITION REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+SgNBAdditionRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBAdditionRequestAcknowledge-IEs}},
+ ...
+}
+
+SgNBAdditionRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList PRESENCE mandatory}|
+ { ID id-E-RABs-NotAdmitted-List CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}|
+ { ID id-SgNBtoMeNBContainer CRITICALITY reject TYPE SgNBtoMeNBContainer PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-AdmittedSplitSRBs CRITICALITY reject TYPE SplitSRBs PRESENCE optional}|
+ { ID id-SgNBResourceCoordinationInformation CRITICALITY ignore TYPE SgNBResourceCoordinationInformation PRESENCE optional}|
+ { ID id-RRCConfigIndication CRITICALITY reject TYPE RRC-Config-Ind PRESENCE optional}|
+ { ID id-LocationInformationSgNB CRITICALITY ignore TYPE LocationInformationSgNB PRESENCE optional}|
+ { ID id-AvailableFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE AvailableFastMCGRecoveryViaSRB3 PRESENCE optional }|
+ { ID id-DirectForwardingPathAvailability CRITICALITY ignore TYPE DirectForwardingPathAvailability PRESENCE optional }|
+ { ID id-SCGActivationStatus CRITICALITY ignore TYPE SCGActivationStatus PRESENCE optional}|
+ { ID id-CPAinformation-REQ-ACK CRITICALITY ignore TYPE CPAinformation-REQ-ACK PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-ItemIEs} }
+
+E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item PRESENCE mandatory}
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBAddReqAck-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBAddReqAck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresent ::= SEQUENCE {
+ s1-DL-GTPtunnelEndpoint GTPtunnelEndpoint,
+ sgNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL,
+-- This IE shall be present if MCG resource IE in the EN-DC Resource Configuration IE is set to “present†--
+ rlc-Mode RLCMode OPTIONAL,
+-- This IE shall be present if MCG resource IE in the EN-DC Resource Configuration IE is set to “present†--
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ uL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ mCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL,
+-- This IE shall be present if MCG resource and SCG resource IEs in the EN-DC Resource Configuration IE are set to “present†and the GBR QoS Information IE is present in the Requested MCG E-RAB Level QoS Parameters IE --
+ uL-Configuration ULConfiguration OPTIONAL,
+-- This IE shall be present if MCG resource and SCG resources IEs in the EN-DC Resource Configuration IE are set to “present†--
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-uLpDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-dLPDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+ { ID id-SecurityResult CRITICALITY ignore EXTENSION SecurityResult PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint,
+ secondary-sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-lCID CRITICALITY ignore EXTENSION LCID PRESENCE optional},
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- SGNB ADDITION REQUEST REJECT
+--
+-- **************************************************************
+
+SgNBAdditionRequestReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBAdditionRequestReject-IEs}},
+ ...
+}
+
+SgNBAdditionRequestReject-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- SGNB RECONFIGURATION COMPLETE
+--
+-- **************************************************************
+
+SgNBReconfigurationComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBReconfigurationComplete-IEs}},
+ ...
+}
+
+SgNBReconfigurationComplete-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-ResponseInformationSgNBReconfComp CRITICALITY ignore TYPE ResponseInformationSgNBReconfComp PRESENCE mandatory}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+ResponseInformationSgNBReconfComp ::= CHOICE {
+ success-SgNBReconfComp ResponseInformationSgNBReconfComp-SuccessItem,
+ reject-by-MeNB-SgNBReconfComp ResponseInformationSgNBReconfComp-RejectByMeNBItem,
+ ...
+}
+
+ResponseInformationSgNBReconfComp-SuccessItem ::= SEQUENCE {
+ meNBtoSgNBContainer MeNBtoSgNBContainer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ResponseInformationSgNBReconfComp-SuccessItemExtIEs} } OPTIONAL,
+ ...
+}
+
+ResponseInformationSgNBReconfComp-SuccessItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResponseInformationSgNBReconfComp-RejectByMeNBItem ::= SEQUENCE {
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {ResponseInformationSgNBReconfComp-RejectByMeNBItemExtIEs} } OPTIONAL,
+ ...
+}
+
+ResponseInformationSgNBReconfComp-RejectByMeNBItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- SGNB MODIFICATION REQUEST
+--
+-- **************************************************************
+
+SgNBModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SgNBModificationRequest-IEs}},
+ ...
+}
+
+SgNBModificationRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-SelectedPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional}|
+ { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}|
+ { ID id-SCGConfigurationQuery CRITICALITY ignore TYPE SCGConfigurationQuery PRESENCE optional}|
+ { ID id-UE-ContextInformation-SgNBModReq CRITICALITY reject TYPE UE-ContextInformation-SgNBModReq PRESENCE optional}|
+ { ID id-MeNBtoSgNBContainer CRITICALITY reject TYPE MeNBtoSgNBContainer PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-MeNBResourceCoordinationInformation CRITICALITY ignore TYPE MeNBResourceCoordinationInformation PRESENCE optional}|
+ { ID id-RequestedSplitSRBs CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}|
+ { ID id-RequestedSplitSRBsrelease CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}|
+ { ID id-DesiredActNotificationLevel CRITICALITY ignore TYPE DesiredActNotificationLevel PRESENCE optional}|
+ { ID id-LocationInformationSgNBReporting CRITICALITY ignore TYPE LocationInformationSgNBReporting PRESENCE optional}|
+ { ID id-MeNBCell-ID CRITICALITY ignore TYPE ECGI PRESENCE optional}|
+ { ID id-RequestedFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE RequestedFastMCGRecoveryViaSRB3 PRESENCE optional}|
+ { ID id-RequestedFastMCGRecoveryViaSRB3Release CRITICALITY ignore TYPE RequestedFastMCGRecoveryViaSRB3Release PRESENCE optional}|
+ { ID id-SNtriggered CRITICALITY ignore TYPE SNtriggered PRESENCE optional}|
+ { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional}|
+ { ID id-PSCellHistoryInformationRetrieve CRITICALITY ignore TYPE PSCellHistoryInformationRetrieve PRESENCE optional}|
+ { ID id-UE-HistoryInformationFromTheUE CRITICALITY ignore TYPE UE-HistoryInformationFromTheUE PRESENCE optional}|
+ { ID id-CHOinformation-ModReq CRITICALITY ignore TYPE CHOinformation-ModReq PRESENCE optional}|
+ { ID id-SCGActivationRequest CRITICALITY ignore TYPE SCGActivationRequest PRESENCE optional}|
+ { ID id-CPAinformation-MOD CRITICALITY ignore TYPE CPAinformation-MOD PRESENCE optional}|
+ { ID id-CPCupdate-MOD CRITICALITY ignore TYPE CPCupdate-MOD PRESENCE optional},
+ ...
+}
+
+UE-ContextInformation-SgNBModReq ::= SEQUENCE {
+ nRUE-SecurityCapabilities NRUESecurityCapabilities OPTIONAL,
+ sgNB-SecurityKey SgNBSecurityKey OPTIONAL,
+ sgNBUEAggregateMaximumBitRate UEAggregateMaximumBitRate OPTIONAL,
+ e-RABs-ToBeAdded E-RABs-ToBeAdded-SgNBModReq-List OPTIONAL,
+ e-RABs-ToBeModified E-RABs-ToBeModified-SgNBModReq-List OPTIONAL,
+ e-RABs-ToBeReleased E-RABs-ToBeReleased-SgNBModReq-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UE-ContextInformationSgNBModReqExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-ContextInformationSgNBModReqExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}|
+ { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore EXTENSION AdditionalRRMPriorityIndex PRESENCE optional}|
+ {ID id-LowerLayerPresenceStatusChange CRITICALITY ignore EXTENSION LowerLayerPresenceStatusChange PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBModReq-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeAdded-SgNBModReq-ItemIEs} }
+
+E-RABs-ToBeAdded-SgNBModReq-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeAdded-SgNBModReq-Item CRITICALITY ignore TYPE E-RABs-ToBeAdded-SgNBModReq-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBModReq-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ drb-ID DRB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBModReq-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBModReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent ::= SEQUENCE {
+ full-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ max-MN-admit-E-RAB-Level-QoS-Parameters GBR-QosInformation OPTIONAL,
+-- This IE shall be present if MCG resource and SCG resources IEs in the EN-DC Resource Configuration IE are set to “present†and GBR QoS Information IE is present in Full E-RAB Level QoS Parameters IE --
+ dL-Forwarding DL-Forwarding OPTIONAL,
+ meNB-DL-GTP-TEIDatMCG GTPtunnelEndpoint OPTIONAL,
+-- This IE shall be present if MCG resource IE in the EN-DC Resource Configuration IE is set to “present†--
+ s1-UL-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RLCMode-transferred CRITICALITY ignore EXTENSION RLCMode PRESENCE optional}|
+ { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}|
+ { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}|
+ { ID id-SecurityIndication CRITICALITY reject EXTENSION SecurityIndication PRESENCE optional}|
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ requested-SCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
+ meNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint,
+ secondary-meNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL,
+ rlc-Mode RLCMode,
+ uL-Configuration ULConfiguration OPTIONAL,
+-- This IE shall be present if MCG resource and SCG resources IEs in the EN-DC Resource Configuration IE are set to “present†--
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-uLpDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-dLPDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-duplicationActivation CRITICALITY ignore EXTENSION DuplicationActivation PRESENCE optional},
+ ...
+}
+
+
+E-RABs-ToBeModified-SgNBModReq-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeModified-SgNBModReq-ItemIEs} }
+
+E-RABs-ToBeModified-SgNBModReq-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeModified-SgNBModReq-Item CRITICALITY ignore TYPE E-RABs-ToBeModified-SgNBModReq-Item PRESENCE mandatory},
+ ...
+}
+
+
+E-RABs-ToBeModified-SgNBModReq-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReq-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent ::= SEQUENCE {
+ full-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL,
+ max-MN-admit-E-RAB-Level-QoS-Parameters GBR-QosInformation OPTIONAL,
+ meNB-DL-GTP-TEIDatMCG GTPtunnelEndpoint OPTIONAL,
+ s1-UL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RLC-Status CRITICALITY ignore EXTENSION RLC-Status PRESENCE optional },
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ requested-SCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL,
+ meNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL,
+ uL-Configuration ULConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-uLpDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-dLPDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-secondarymeNBULGTPTEIDatPDCP CRITICALITY ignore EXTENSION GTPtunnelEndpoint PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModReq-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBModReq-ItemIEs} }
+
+E-RABs-ToBeReleased-SgNBModReq-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-SgNBModReq-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBModReq-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModReq-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModReq-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent ::= SEQUENCE {
+ dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ uL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- SGNB MODIFICATION REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+SgNBModificationRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBModificationRequestAcknowledge-IEs}},
+ ...
+}
+
+SgNBModificationRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-Admitted-ToBeAdded-SgNBModAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-SgNBModAckList PRESENCE optional}|
+ { ID id-E-RABs-Admitted-ToBeModified-SgNBModAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeModified-SgNBModAckList PRESENCE optional}|
+ { ID id-E-RABs-Admitted-ToBeReleased-SgNBModAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeReleased-SgNBModAckList PRESENCE optional}|
+ { ID id-E-RABs-NotAdmitted-List CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}|
+ { ID id-SgNBtoMeNBContainer CRITICALITY ignore TYPE SgNBtoMeNBContainer PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SgNBResourceCoordinationInformation CRITICALITY ignore TYPE SgNBResourceCoordinationInformation PRESENCE optional}|
+ { ID id-AdmittedSplitSRBs CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}|
+ { ID id-AdmittedSplitSRBsrelease CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}|
+ { ID id-RRCConfigIndication CRITICALITY reject TYPE RRC-Config-Ind PRESENCE optional}|
+ { ID id-LocationInformationSgNB CRITICALITY ignore TYPE LocationInformationSgNB PRESENCE optional}|
+ { ID id-AvailableFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE AvailableFastMCGRecoveryViaSRB3 PRESENCE optional}|
+ { ID id-ReleaseFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE ReleaseFastMCGRecoveryViaSRB3 PRESENCE optional}|
+ { ID id-SCG-UE-HistoryInformation CRITICALITY ignore TYPE SCG-UE-HistoryInformation PRESENCE optional}|
+ { ID id-SCGActivationStatus CRITICALITY ignore TYPE SCGActivationStatus PRESENCE optional}|
+ { ID id-CPAinformation-MOD-ACK CRITICALITY reject TYPE CPAinformation-MOD-ACK PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemIEs} }
+
+E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-SgNBModAck-Item PRESENCE mandatory}
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBModAck-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent ::= SEQUENCE {
+ s1-DL-GTPtunnelEndpoint GTPtunnelEndpoint,
+ sgNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL,
+-- This IE shall be present if MCG resource IE in the EN-DC Resource Configuration IE are set to “present†--
+ rlc-Mode RLCMode OPTIONAL,
+-- This IE shall be present if MCG resource IE in the EN-DC Resource Configuration IE are set to “present†--
+ dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ uL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ mCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL,
+-- This IE shall be present if MCG resource and SCG resource IEs in the EN-DC Resource Configuration IE are set to “present†and the GBR QoS Information IE is present in the Requested MCG E-RAB Level QoS Parameters IE --
+ uL-Configuration ULConfiguration OPTIONAL,
+-- This IE shall be present if MCG resource and SCG resources IEs in the EN-DC Resource Configuration IE are set to “present†--
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-uLpDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-dLPDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-SecurityResult CRITICALITY ignore EXTENSION SecurityResult PRESENCE optional}|
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint,
+ secondary-sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ {ID id-lCID CRITICALITY ignore EXTENSION LCID PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeModified-SgNBModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeModified-SgNBModAck-ItemIEs} }
+
+E-RABs-Admitted-ToBeModified-SgNBModAck-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToBeModified-SgNBModAck-Item PRESENCE mandatory}
+}
+
+E-RABs-Admitted-ToBeModified-SgNBModAck-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBModAck-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeAdded-SgNBModAck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent ::= SEQUENCE {
+ s1-DL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ sgNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL,
+ mCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL,
+ uL-Configuration ULConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-uLpDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-dLPDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-secondarysgNBDLGTPTEIDatPDCP CRITICALITY ignore EXTENSION GTPtunnelEndpoint PRESENCE optional}|
+ { ID id-RLC-Status CRITICALITY ignore EXTENSION RLC-Status PRESENCE optional },
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-SgNBModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeReleased-SgNBModAck-ItemIEs} }
+
+E-RABs-Admitted-ToBeReleased-SgNBModAck-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToReleased-SgNBModAck-Item PRESENCE mandatory}
+}
+
+E-RABs-Admitted-ToReleased-SgNBModAck-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModAck-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModAck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- SGNB MODIFICATION REQUEST REJECT
+--
+-- **************************************************************
+
+SgNBModificationRequestReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBModificationRequestReject-IEs}},
+ ...
+}
+
+SgNBModificationRequestReject-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- SGNB MODIFICATION REQUIRED
+--
+-- **************************************************************
+
+SgNBModificationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBModificationRequired-IEs}},
+ ...
+}
+
+SgNBModificationRequired-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-PDCPChangeIndication CRITICALITY ignore TYPE PDCPChangeIndication PRESENCE optional}|
+ { ID id-E-RABs-ToBeReleased-SgNBModReqdList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBModReqdList PRESENCE optional}|
+ { ID id-SgNBtoMeNBContainer CRITICALITY ignore TYPE SgNBtoMeNBContainer PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-E-RABs-ToBeModified-SgNBModReqdList CRITICALITY ignore TYPE E-RABs-ToBeModified-SgNBModReqdList PRESENCE optional}|
+ { ID id-SgNBResourceCoordinationInformation CRITICALITY ignore TYPE SgNBResourceCoordinationInformation PRESENCE optional}|
+ { ID id-RRCConfigIndication CRITICALITY reject TYPE RRC-Config-Ind PRESENCE optional}|
+ { ID id-LocationInformationSgNB CRITICALITY ignore TYPE LocationInformationSgNB PRESENCE optional}|
+ { ID id-SCG-UE-HistoryInformation CRITICALITY ignore TYPE SCG-UE-HistoryInformation PRESENCE optional}|
+ { ID id-SCGActivationRequest CRITICALITY ignore TYPE SCGActivationRequest PRESENCE optional}|
+ { ID id-CPACinformation-REQD CRITICALITY ignore TYPE CPACinformation-REQD PRESENCE optional}|
+ { ID id-SCGreconfigNotification CRITICALITY ignore TYPE SCGreconfigNotification PRESENCE optional},
+ ...
+}
+
+
+E-RABs-ToBeReleased-SgNBModReqdList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBModReqd-ItemIEs} }
+
+E-RABs-ToBeReleased-SgNBModReqd-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-SgNBModReqd-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBModReqd-Item PRESENCE mandatory },
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModReqd-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModReqd-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBModReqd-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RLCMode-transferred CRITICALITY ignore EXTENSION RLCMode PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReqdList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeModified-SgNBModReqd-ItemIEs} }
+
+E-RABs-ToBeModified-SgNBModReqd-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeModified-SgNBModReqd-Item CRITICALITY ignore TYPE E-RABs-ToBeModified-SgNBModReqd-Item PRESENCE mandatory },
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReqd-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReqd-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReqd-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent ::= SEQUENCE {
+ requested-MCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL,
+ uL-Configuration ULConfiguration OPTIONAL,
+ sgNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL,
+ s1-DL-GTP-TEIDatSgNB GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-uLpDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-dLPDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-new-drb-ID-req CRITICALITY ignore EXTENSION NewDRBIDrequest PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint OPTIONAL,
+ secondary-sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-RLC-Status CRITICALITY ignore EXTENSION RLC-Status PRESENCE optional}|
+ { ID id-lCID CRITICALITY ignore EXTENSION LCID PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- SGNB MODIFICATION CONFIRM
+--
+-- **************************************************************
+
+SgNBModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBModificationConfirm-IEs}},
+ ...
+}
+
+SgNBModificationConfirm-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-AdmittedToBeModified-SgNBModConfList CRITICALITY ignore TYPE E-RABs-AdmittedToBeModified-SgNBModConfList PRESENCE optional}|
+ { ID id-MeNBtoSgNBContainer CRITICALITY ignore TYPE MeNBtoSgNBContainer PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-MeNBResourceCoordinationInformation CRITICALITY ignore TYPE MeNBResourceCoordinationInformation PRESENCE optional},
+ ...
+}
+
+E-RABs-AdmittedToBeModified-SgNBModConfList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container
+ { {E-RABs-AdmittedToBeModified-SgNBModConf-ItemIEs} }
+
+E-RABs-AdmittedToBeModified-SgNBModConf-ItemIEs X2AP-PROTOCOL-IES ::= {
+{ ID id-E-RABs-AdmittedToBeModified-SgNBModConf-Item CRITICALITY ignore TYPE E-RABs-AdmittedToBeModified-SgNBModConf-Item PRESENCE mandatory },
+ ...
+}
+
+E-RABs-AdmittedToBeModified-SgNBModConf-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-AdmittedToBeModified-SgNBModConf-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-AdmittedToBeModified-SgNBModConf-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresent ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ secondary-meNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-AdmittedToBeModified-SgNBModConf-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-uLpDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional}|
+ { ID id-dLPDCPSnLength CRITICALITY ignore EXTENSION PDCPSnLength PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB MODIFICATION REFUSE
+--
+-- **************************************************************
+
+SgNBModificationRefuse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBModificationRefuse-IEs}},
+ ...
+}
+
+SgNBModificationRefuse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-MeNBtoSgNBContainer CRITICALITY ignore TYPE MeNBtoSgNBContainer PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB RELEASE REQUEST
+--
+-- **************************************************************
+
+SgNBReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBReleaseRequest-IEs}},
+ ...
+}
+
+SgNBReleaseRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-E-RABs-ToBeReleased-SgNBRelReqList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelReqList PRESENCE optional}|
+ { ID id-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-MeNBtoSgNBContainer CRITICALITY reject TYPE MeNBtoSgNBContainer PRESENCE optional}|
+ { ID id-ERABs-transferred-to-MeNB CRITICALITY ignore TYPE E-RAB-List PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelReqList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBRelReq-ItemIEs} }
+
+E-RABs-ToBeReleased-SgNBRelReq-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-SgNBRelReq-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelReq-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelReq-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelReq-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent ::= SEQUENCE {
+ uL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB RELEASE REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+SgNBReleaseRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBReleaseRequestAcknowledge-IEs}},
+ ...
+}
+
+SgNBReleaseRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional }|
+ { ID id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList PRESENCE optional }|
+ { ID id-SCG-UE-HistoryInformation CRITICALITY ignore TYPE SCG-UE-HistoryInformation PRESENCE optional},
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF
+ ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-ItemIEs} }
+
+E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ rlc-Mode-transferred RLCMode,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB RELEASE REQUEST REJECT
+--
+-- **************************************************************
+
+SgNBReleaseRequestReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBReleaseRequestReject-IEs}},
+ ...
+}
+
+SgNBReleaseRequestReject-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB RELEASE REQUIRED
+--
+-- **************************************************************
+
+SgNBReleaseRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBReleaseRequired-IEs}},
+ ...
+}
+
+SgNBReleaseRequired-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional }|
+ { ID id-E-RABs-ToBeReleased-SgNBRelReqdList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelReqdList PRESENCE optional }|
+ { ID id-SgNBtoMeNBContainer CRITICALITY ignore TYPE SgNBtoMeNBContainer PRESENCE optional }|
+ { ID id-SCG-UE-HistoryInformation CRITICALITY ignore TYPE SCG-UE-HistoryInformation PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelReqdList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBRelReqd-ItemIEs} }
+
+E-RABs-ToBeReleased-SgNBRelReqd-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-SgNBRelReqd-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelReqd-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelReqd-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ rlc-Mode-transferred RLCMode,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelReqd-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelReqd-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB RELEASE CONFIRM
+--
+-- **************************************************************
+
+SgNBReleaseConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBReleaseConfirm-IEs}},
+ ...
+}
+
+SgNBReleaseConfirm-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-ToBeReleased-SgNBRelConfList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelConfList PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelConfList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBRelConf-ItemIEs} }
+
+E-RABs-ToBeReleased-SgNBRelConf-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-SgNBRelConf-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelConf-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelConf-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelConf-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelConf-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent ::= SEQUENCE {
+ uL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- SGNB COUNTER CHECK REQUEST
+--
+-- **************************************************************
+
+SgNBCounterCheckRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBCounterCheckRequest-IEs}},
+ ...
+}
+
+SgNBCounterCheckRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-SubjectToSgNBCounterCheck-List CRITICALITY ignore TYPE E-RABs-SubjectToSgNBCounterCheck-List PRESENCE mandatory}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+E-RABs-SubjectToSgNBCounterCheck-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-SubjectToSgNBCounterCheck-ItemIEs} }
+
+E-RABs-SubjectToSgNBCounterCheck-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-SubjectToSgNBCounterCheck-Item CRITICALITY ignore TYPE E-RABs-SubjectToSgNBCounterCheck-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-SubjectToSgNBCounterCheck-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ uL-Count INTEGER (0..4294967295),
+ dL-Count INTEGER (0..4294967295),
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-SubjectToSgNBCounterCheck-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-SubjectToSgNBCounterCheck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB CHANGE REQUIRED
+--
+-- **************************************************************
+
+SgNBChangeRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBChangeRequired-IEs}},
+ ...
+}
+
+SgNBChangeRequired-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Target-SgNB-ID CRITICALITY reject TYPE GlobalGNB-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-SgNBtoMeNBContainer CRITICALITY reject TYPE SgNBtoMeNBContainer PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-SCG-UE-HistoryInformation CRITICALITY ignore TYPE SCG-UE-HistoryInformation PRESENCE optional}|
+ { ID id-CPCinformation-REQD CRITICALITY reject TYPE CPCinformation-REQD PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- ACCESS AND MOBILITY INDICATION
+--
+-- **************************************************************
+
+AccessAndMobilityIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ AccessAndMobilityIndication-IEs}},
+ ...
+}
+AccessAndMobilityIndication-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-NRRACHReportInformation CRITICALITY ignore TYPE NRRACHReportInformation PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB CHANGE CONFIRM
+--
+-- **************************************************************
+
+SgNBChangeConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBChangeConfirm-IEs}},
+ ...
+}
+
+SgNBChangeConfirm-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-E-RABs-ToBeReleased-SgNBChaConfList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBChaConfList PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-CPCinformation-CONF CRITICALITY ignore TYPE CPCinformation-CONF PRESENCE optional}|
+ { ID id-MeNBtoSgNBContainer CRITICALITY ignore TYPE MeNBtoSgNBContainer PRESENCE optional},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBChaConfList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBChaConf-ItemIEs} }
+
+E-RABs-ToBeReleased-SgNBChaConf-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-ToBeReleased-SgNBChaConf-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBChaConf-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBChaConf-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ en-DC-ResourceConfiguration EN-DC-ResourceConfiguration,
+ resource-configuration CHOICE {
+ sgNBPDCPpresent E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent,
+ sgNBPDCPnotpresent E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent,
+ ...
+ },
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBChaConf-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBChaConf-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent ::= SEQUENCE {
+ uL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalListofForwardingGTPTunnelEndpoint CRITICALITY ignore EXTENSION AdditionalListofForwardingGTPTunnelEndpoint PRESENCE optional },
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RRC TRANSFER
+--
+-- **************************************************************
+
+RRCTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RRCTransfer-IEs}},
+ ...
+}
+
+RRCTransfer-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SplitSRB CRITICALITY reject TYPE SplitSRB PRESENCE optional}|
+ { ID id-NRUeReport CRITICALITY reject TYPE NRUeReport PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-FastMCGRecovery-SN-to-MN CRITICALITY ignore TYPE FastMCGRecovery PRESENCE optional}|
+ { ID id-FastMCGRecovery-MN-to-SN CRITICALITY ignore TYPE FastMCGRecovery PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB CHANGE REFUSE
+--
+-- **************************************************************
+
+SgNBChangeRefuse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBChangeRefuse-IEs}},
+ ...
+}
+
+SgNBChangeRefuse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC X2 SETUP REQUEST
+--
+-- **************************************************************
+
+ENDCX2SetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCX2SetupRequest-IEs}},
+ ...
+}
+
+ENDCX2SetupRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-InitiatingNodeType-EndcX2Setup CRITICALITY reject TYPE InitiatingNodeType-EndcX2Setup PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional}|
+ { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional},
+ ...
+}
+
+InitiatingNodeType-EndcX2Setup ::= CHOICE {
+ init-eNB ProtocolIE-Container {{ENB-ENDCX2SetupReqIEs}},
+ init-en-gNB ProtocolIE-Container {{En-gNB-ENDCX2SetupReqIEs}},
+ ...
+}
+
+ENB-ENDCX2SetupReqIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}|
+ { ID id-ServedEUTRAcellsENDCX2ManagementList CRITICALITY reject TYPE ServedEUTRAcellsENDCX2ManagementList PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+-- NOTE: In the current version of this specification the Interface Instance Indication IE is not included in the Initiating NodeType IE --
+ { ID id-CellandCapacityAssistInfo CRITICALITY ignore TYPE CellandCapacityAssistInfo PRESENCE optional },
+ ...
+}
+
+ServedEUTRAcellsENDCX2ManagementList ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF SEQUENCE {
+ servedEUTRACellInfo ServedCell-Information,
+ nrNeighbourInfo NRNeighbour-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedEUTRAcellsENDCX2Management-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedEUTRAcellsENDCX2Management-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+En-gNB-ENDCX2SetupReqIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Globalen-gNB-ID CRITICALITY reject TYPE GlobalGNB-ID PRESENCE mandatory}|
+ { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE mandatory}|
+ { ID id-PartialListIndicator CRITICALITY ignore TYPE PartialListIndicator PRESENCE optional },
+ ...
+}
+
+ServedNRcellsENDCX2ManagementList ::= SEQUENCE (SIZE (1.. maxCellinengNB)) OF SEQUENCE {
+ servedNRCellInfo ServedNRCell-Information,
+ nRNeighbourInfo NRNeighbour-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {En-gNBServedCells-ExtIEs} } OPTIONAL,
+ ...
+}
+
+En-gNBServedCells-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ServedCellSpecificInfoReq-NR CRITICALITY ignore EXTENSION ServedCellSpecificInfoReq-NR PRESENCE optional },
+ ...
+}
+
+ServedNRCell-Information ::= SEQUENCE {
+ nrpCI NRPCI,
+ nrCellID NRCGI,
+ fiveGS-TAC FiveGS-TAC OPTIONAL,
+ configured-TAC TAC OPTIONAL,
+ broadcastPLMNs BroadcastPLMNs-Item,
+ nrModeInfo CHOICE {
+ fdd FDD-InfoServedNRCell-Information,
+ tdd TDD-InfoServedNRCell-Information,
+ ...
+ },
+ measurementTimingConfiguration OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { {ServedNRCell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-additionalPLMNs-Item CRITICALITY ignore EXTENSION AdditionalPLMNs-Item PRESENCE optional}|
+ { ID id-BPLMN-ID-Info-NR CRITICALITY ignore EXTENSION BPLMN-ID-Info-NR PRESENCE optional}|
+ { ID id-SSB-PositionsInBurst CRITICALITY ignore EXTENSION SSB-PositionsInBurst PRESENCE optional}|
+ { ID id-NRCellPRACHConfig CRITICALITY ignore EXTENSION NRCellPRACHConfig PRESENCE optional}|
+ { ID id-CSI-RSTransmissionIndication CRITICALITY ignore EXTENSION CSI-RSTransmissionIndication PRESENCE optional}|
+ { ID id-SFN-Offset CRITICALITY ignore EXTENSION SFN-Offset PRESENCE optional}|
+ { ID id-Additional-Measurement-Timing-Configuration-List CRITICALITY ignore EXTENSION Additional-Measurement-Timing-Configuration-List PRESENCE optional },
+ ...
+}
+
+FDD-InfoServedNRCell-Information ::= SEQUENCE {
+ ul-NRFreqInfo NRFreqInfo,
+ dl-NRFreqInfo NRFreqInfo,
+ ul-NR-TxBW NR-TxBW,
+ dl-NR-TxBW NR-TxBW,
+ iE-Extensions ProtocolExtensionContainer { {FDD-InfoServedNRCell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FDD-InfoServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-ULCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }|
+ { ID id-DLCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional },
+ ...
+}
+
+TDD-InfoServedNRCell-Information ::= SEQUENCE {
+ nRFreqInfo NRFreqInfo,
+ nR-TxBW NR-TxBW,
+ iE-Extensions ProtocolExtensionContainer { {TDD-InfoServedNRCell-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TDD-InfoServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-TDDULDLConfigurationCommonNR CRITICALITY ignore EXTENSION TDDULDLConfigurationCommonNR PRESENCE optional}|
+ { ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional}|
+ { ID id-IntendedTDD-DL-ULConfiguration-NR CRITICALITY ignore EXTENSION IntendedTDD-DL-ULConfiguration-NR PRESENCE optional},
+ ...
+}
+
+CellandCapacityAssistInfo::= SEQUENCE {
+ maximumCellListSize MaximumCellListSize OPTIONAL,
+ cellAssistanceInformation CellAssistanceInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CellandCapacityAssistInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellandCapacityAssistInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellAssistanceInformation ::= CHOICE {
+ limited-list Limited-list,
+ full-list ENUMERATED {allServedNRcells, ...},
+ ...
+}
+
+
+Limited-list ::= SEQUENCE (SIZE (1..maxCellinengNB)) OF SEQUENCE {
+ nrCellID NRCGI,
+ iE-Extensions ProtocolExtensionContainer { {Limited-list-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Limited-list-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC X2 SETUP RESPONSE
+--
+-- **************************************************************
+
+ENDCX2SetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCX2SetupResponse-IEs}},
+ ...
+}
+
+ENDCX2SetupResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-RespondingNodeType-EndcX2Setup CRITICALITY reject TYPE RespondingNodeType-EndcX2Setup PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional },
+ ...
+}
+
+RespondingNodeType-EndcX2Setup ::= CHOICE {
+ respond-eNB ProtocolIE-Container {{ENB-ENDCX2SetupReqAckIEs}},
+ respond-en-gNB ProtocolIE-Container {{En-gNB-ENDCX2SetupReqAckIEs}},
+ ...
+}
+
+ENB-ENDCX2SetupReqAckIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}|
+ { ID id-ServedEUTRAcellsENDCX2ManagementList CRITICALITY reject TYPE ServedEUTRAcellsENDCX2ManagementList PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+-- NOTE: In the current version of this specification the Interface Instance Indication IE is not included in the Responding NodeType IE --
+ { ID id-CellandCapacityAssistInfo CRITICALITY ignore TYPE CellandCapacityAssistInfo PRESENCE optional },
+ ...
+}
+
+
+En-gNB-ENDCX2SetupReqAckIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Globalen-gNB-ID CRITICALITY reject TYPE GlobalGNB-ID PRESENCE mandatory}|
+ { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE mandatory}|
+ { ID id-PartialListIndicator CRITICALITY ignore TYPE PartialListIndicator PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC X2 SETUP FAILURE
+--
+-- **************************************************************
+
+ENDCX2SetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCX2SetupFailure-IEs}},
+ ...
+}
+
+ENDCX2SetupFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional } |
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-MessageOversizeNotification CRITICALITY ignore TYPE MessageOversizeNotification PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+ENDCConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCConfigurationUpdate-IEs}},
+ ...
+}
+
+ENDCConfigurationUpdate-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-InitiatingNodeType-EndcConfigUpdate CRITICALITY reject TYPE InitiatingNodeType-EndcConfigUpdate PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional}|
+ { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional }|
+ { ID id-TNLA-To-Add-List CRITICALITY ignore TYPE TNLA-To-Add-List PRESENCE optional }|
+ { ID id-TNLA-To-Update-List CRITICALITY ignore TYPE TNLA-To-Update-List PRESENCE optional }|
+ { ID id-TNLA-To-Remove-List CRITICALITY ignore TYPE TNLA-To-Remove-List PRESENCE optional },
+ ...
+}
+
+InitiatingNodeType-EndcConfigUpdate::= CHOICE {
+ init-eNB ProtocolIE-Container {{ENB-ENDCConfigUpdateIEs}},
+ init-en-gNB ProtocolIE-Container {{En-gNB-ENDCConfigUpdateIEs}},
+ ...
+}
+
+ENB-ENDCConfigUpdateIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CellAssistanceInformation CRITICALITY reject TYPE CellAssistanceInformation PRESENCE optional }|
+ { ID id-ServedEUTRAcellsENDCX2ManagementList CRITICALITY reject TYPE ServedEUTRAcellsENDCX2ManagementList PRESENCE optional }|
+ { ID id-ServedEUTRAcellsToModifyListENDCConfUpd CRITICALITY reject TYPE ServedEUTRAcellsToModifyListENDCConfUpd PRESENCE optional }|
+ { ID id-ServedEUTRAcellsToDeleteListENDCConfUpd CRITICALITY reject TYPE ServedEUTRAcellsToDeleteListENDCConfUpd PRESENCE optional },
+ ...
+}
+
+ServedEUTRAcellsToModifyListENDCConfUpd ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF SEQUENCE {
+ old-ECGI ECGI,
+ servedEUTRACellInfo ServedCell-Information,
+ nrNeighbourInfo NRNeighbour-Information OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedEUTRAcellsToModifyListENDCConfUpd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedEUTRAcellsToModifyListENDCConfUpd-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ServedEUTRAcellsToDeleteListENDCConfUpd ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ECGI
+
+
+En-gNB-ENDCConfigUpdateIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE optional }|
+ { ID id-ServedNRcellsToModifyListENDCConfUpd CRITICALITY reject TYPE ServedNRcellsToModifyENDCConfUpdList PRESENCE optional }|
+ { ID id-ServedNRcellsToDeleteListENDCConfUpd CRITICALITY reject TYPE ServedNRcellsToDeleteENDCConfUpdList PRESENCE optional },
+ ...
+}
+
+ServedNRcellsToModifyENDCConfUpdList ::= SEQUENCE (SIZE (1..maxCellinengNB)) OF ServedNRCellsToModify-Item
+
+ServedNRCellsToModify-Item::= SEQUENCE {
+ old-nrcgi NRCGI,
+ servedNRCellInformation ServedNRCell-Information,
+ nrNeighbourInformation NRNeighbour-Information OPTIONAL,
+ nrDeactivationIndication DeactivationIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedNRCellsToModify-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedNRCellsToModify-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ServedNRcellsToDeleteENDCConfUpdList ::= SEQUENCE (SIZE (1..maxCellinengNB)) OF NRCGI
+
+-- **************************************************************
+--
+-- EN-DC CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+ENDCConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCConfigurationUpdateAcknowledge-IEs}},
+ ...
+}
+
+ENDCConfigurationUpdateAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-RespondingNodeType-EndcConfigUpdate CRITICALITY reject TYPE RespondingNodeType-EndcConfigUpdate PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional }|
+ { ID id-TNLA-Setup-List CRITICALITY ignore TYPE TNLA-Setup-List PRESENCE optional }|
+ { ID id-TNLA-Failed-To-Setup-List CRITICALITY ignore TYPE TNLA-Failed-To-Setup-List PRESENCE optional },
+ ...
+}
+
+
+RespondingNodeType-EndcConfigUpdate::= CHOICE {
+ respond-eNB ProtocolIE-Container {{ENB-ENDCConfigUpdateAckIEs}},
+ respond-en-gNB ProtocolIE-Container {{En-gNB-ENDCConfigUpdateAckIEs}},
+ ...
+}
+
+
+ENB-ENDCConfigUpdateAckIEs X2AP-PROTOCOL-IES ::= {
+ ...
+}
+
+En-gNB-ENDCConfigUpdateAckIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- EN-DC CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+
+ENDCConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCConfigurationUpdateFailure-IEs}},
+ ...
+}
+
+ENDCConfigurationUpdateFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- EN-DC CELL ACTIVATION REQUEST
+--
+-- **************************************************************
+
+ENDCCellActivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCCellActivationRequest-IEs}},
+ ...
+}
+
+ENDCCellActivationRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ServedNRCellsToActivate CRITICALITY reject TYPE ServedNRCellsToActivate PRESENCE mandatory}|
+ { ID id-ActivationID CRITICALITY reject TYPE ActivationID PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+ServedNRCellsToActivate::= SEQUENCE (SIZE (1.. maxCellinengNB)) OF ServedNRCellsToActivate-Item
+
+ServedNRCellsToActivate-Item::= SEQUENCE {
+ nrCellID NRCGI,
+ iE-Extensions ProtocolExtensionContainer { {ServedNRCellsToActivate-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedNRCellsToActivate-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC CELL ACTIVATION RESPONSE
+--
+-- **************************************************************
+
+ENDCCellActivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCCellActivationResponse-IEs}},
+ ...
+}
+
+ENDCCellActivationResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ActivatedNRCellList CRITICALITY ignore TYPE ActivatedNRCellList PRESENCE mandatory}|
+ { ID id-ActivationID CRITICALITY reject TYPE ActivationID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+ActivatedNRCellList ::= SEQUENCE (SIZE (1.. maxCellinengNB)) OF ActivatedNRCellList-Item
+
+ActivatedNRCellList-Item::= SEQUENCE {
+ nrCellID NRCGI,
+ iE-Extensions ProtocolExtensionContainer { {ActivatedNRCellList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ActivatedNRCellList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+--**************************************************************
+--
+-- EN-DC CELL ACTIVATION FAILURE
+--
+-- **************************************************************
+
+ENDCCellActivationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCCellActivationFailure-IEs}},
+ ...
+}
+
+ENDCCellActivationFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ActivationID CRITICALITY reject TYPE ActivationID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC RESOURCE STATUS REQUEST
+--
+-- **************************************************************
+
+ENDCResourceStatusRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCResourceStatusRequest-IEs}},
+ ...
+}
+
+ENDCResourceStatusRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-UTRAN-Node1-Measurement-ID CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory }|
+ { ID id-E-UTRAN-Node2-Measurement-ID CRITICALITY ignore TYPE Measurement-ID-ENDC PRESENCE conditional}| -- The IE shall be present if the Registration Request EN-DC IE is set to “Stop†or to “Addâ€
+ { ID id-Registration-Request CRITICALITY reject TYPE Registration-Request-ENDC PRESENCE mandatory }|
+ { ID id-ReportingPeriodicity CRITICALITY ignore TYPE ReportingPeriodicity-ENDC PRESENCE optional }|
+ { ID id-ReportCharacteristics CRITICALITY ignore TYPE ReportCharacteristics-ENDC PRESENCE conditional}| -- The IE shall be present if the Registration Request EN-DC IE is set to “Startâ€
+ { ID id-CellToReport-NR-ENDC CRITICALITY ignore TYPE CellToReport-NR-ENDC-List PRESENCE optional } |
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-CellToReport-E-UTRA-ENDC CRITICALITY ignore TYPE CellToReport-E-UTRA-ENDC-List PRESENCE optional},
+ ...
+}
+
+ReportingPeriodicity-ENDC ::= ENUMERATED {ms500, ms1000, ms2000, ms5000, ms10000, ...}
+
+CellToReport-NR-ENDC-List ::= SEQUENCE (SIZE (1..maxCellinengNB)) OF ProtocolIE-Single-Container { {CellToReport-NR-ENDC-ItemIEs} }
+
+CellToReport-NR-ENDC-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CellToReport-NR-ENDC-Item CRITICALITY ignore TYPE CellToReport-NR-ENDC-Item PRESENCE mandatory}
+}
+
+CellToReport-NR-ENDC-Item ::= SEQUENCE {
+ nr-cell-ID NRCGI,
+ ssbToReport-List SSBToReport-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CellToReport-NR-ENDC-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellToReport-NR-ENDC-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellToReport-E-UTRA-ENDC-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellToReport-E-UTRA-ENDC-Item-IEs} }
+
+CellToReport-E-UTRA-ENDC-Item-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CellToReport-E-UTRA-ENDC-Item CRITICALITY ignore TYPE CellToReport-E-UTRA-ENDC-Item PRESENCE mandatory}
+}
+
+CellToReport-E-UTRA-ENDC-Item ::= SEQUENCE {
+ e-utra-cell-ID ECGI,
+ iE-Extensions ProtocolExtensionContainer { {CellToReport-E-UTRA-ENDC-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellToReport-E-UTRA-ENDC-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSBToReport-List ::= SEQUENCE (SIZE (1.. maxnoofSSBAreas)) OF SSBToReport-Item
+
+SSBToReport-Item ::= SEQUENCE {
+ ssbIndex SSBIndex,
+ iE-Extensions ProtocolExtensionContainer { {SSBToReport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SSBToReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC RESOURCE STATUS RESPONSE
+--
+-- **************************************************************
+
+ENDCResourceStatusResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCResourceStatusResponse-IEs}},
+ ...
+}
+
+ENDCResourceStatusResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-UTRAN-Node1-Measurement-ID CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}|
+ { ID id-E-UTRAN-Node2-Measurement-ID CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC RESOURCE STATUS FAILURE
+--
+-- **************************************************************
+
+ENDCResourceStatusFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCResourceStatusFailure-IEs}},
+ ...
+}
+
+ENDCResourceStatusFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-UTRAN-Node1-Measurement-ID CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}|
+ { ID id-E-UTRAN-Node2-Measurement-ID CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC RESOURCE STATUS UPDATE
+--
+-- **************************************************************
+
+ENDCResourceStatusUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCResourceStatusUpdate-IEs}},
+ ...
+}
+
+ENDCResourceStatusUpdate-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-UTRAN-Node1-Measurement-ID CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}|
+ { ID id-E-UTRAN-Node2-Measurement-ID CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}|
+ { ID id-CellMeasurementResult-NR-ENDC CRITICALITY ignore TYPE CellMeasurementResult-NR-ENDC-List PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-CellMeasurementResult-E-UTRA-ENDC CRITICALITY ignore TYPE CellMeasurementResult-E-UTRA-ENDC-List PRESENCE optional},
+ ...
+}
+
+CellMeasurementResult-NR-ENDC-List ::= SEQUENCE (SIZE (1..maxCellinengNB)) OF ProtocolIE-Single-Container { {CellMeasurementResult-NR-ENDC-ItemIEs} }
+
+CellMeasurementResult-NR-ENDC-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CellMeasurementResult-NR-ENDC-Item CRITICALITY ignore TYPE CellMeasurementResult-NR-ENDC-Item PRESENCE mandatory}
+}
+
+CellMeasurementResult-NR-ENDC-Item ::= SEQUENCE {
+ nr-cell-ID NRCGI,
+ nr-radioResourceStatus NRRadioResourceStatus OPTIONAL,
+ tnlCapacityIndicator TNLCapacityIndicator OPTIONAL,
+ nr-compositeAvailableCapacityGroup NRCompositeAvailableCapacityGroup OPTIONAL,
+ numberofActiveUEs INTEGER (0..16777215, ...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CellMeasurementResult-NR-ENDC-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellMeasurementResult-NR-ENDC-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellMeasurementResult-E-UTRA-ENDC-List ::= SEQUENCE (SIZE (1..maxCellineNB))
+ OF ProtocolIE-Single-Container { {CellMeasurementResult-E-UTRA-ENDC-ItemIEs} }
+
+CellMeasurementResult-E-UTRA-ENDC-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CellMeasurementResult-E-UTRA-ENDC-Item CRITICALITY ignore TYPE CellMeasurementResult-E-UTRA-ENDC-Item PRESENCE mandatory}
+}
+
+CellMeasurementResult-E-UTRA-ENDC-Item ::= SEQUENCE {
+ e-utra-cell-ID ECGI,
+ hWLoadIndicator HWLoadIndicator OPTIONAL,
+ s1TNLLoadIndicator S1TNLLoadIndicator OPTIONAL,
+ radioResourceStatus RadioResourceStatus OPTIONAL,
+ compositeAvailableCapacityGroup CompositeAvailableCapacityGroup OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CellMeasurementResult-E-UTRA-ENDC-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellMeasurementResult-E-UTRA-ENDC-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SECONDARY RAT DATA USAGE REPORT
+--
+-- **************************************************************
+
+SecondaryRATDataUsageReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SecondaryRATDataUsageReport-IEs}},
+ ...
+}
+
+SecondaryRATDataUsageReport-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SecondaryRATUsageReportList CRITICALITY reject TYPE SecondaryRATUsageReportList PRESENCE mandatory}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SGNB ACTIVITY NOTIFICATION
+--
+-- **************************************************************
+
+SgNBActivityNotification ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SgNBActivityNotification-IEs}},
+ ...
+}
+
+SgNBActivityNotification-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-UEContextLevelUserPlaneActivity CRITICALITY ignore TYPE UserPlaneTrafficActivityReport PRESENCE optional}|
+ { ID id-ERABActivityNotifyItemList CRITICALITY ignore TYPE ERABActivityNotifyItemList PRESENCE optional}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC PARTIAL RESET REQUIRED
+--
+-- **************************************************************
+
+ENDCPartialResetRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCPartialResetRequired-IEs}},
+ ...
+}
+
+ENDCPartialResetRequired-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-UEs-ToBeReset CRITICALITY reject TYPE UEsToBeResetList PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC PARTIAL RESET CONFIRM
+--
+-- **************************************************************
+
+ENDCPartialResetConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCPartialResetConfirm-IEs}},
+ ...
+}
+
+ENDCPartialResetConfirm-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-UEs-Admitted-ToBeReset CRITICALITY reject TYPE UEsToBeResetList PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- E-UTRA - NR CELL RESOURCE COORDINATION REQUEST
+--
+-- **************************************************************
+
+EUTRANRCellResourceCoordinationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EUTRANRCellResourceCoordinationRequest-IEs}},
+ ...
+}
+
+EUTRANRCellResourceCoordinationRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-InitiatingNodeType-EutranrCellResourceCoordination CRITICALITY reject TYPE InitiatingNodeType-EutranrCellResourceCoordination PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+InitiatingNodeType-EutranrCellResourceCoordination ::= CHOICE {
+ initiate-eNB ProtocolIE-Container {{ENB-EUTRA-NRCellResourceCoordinationReqIEs}},
+ initiate-en-gNB ProtocolIE-Container {{En-gNB-EUTRA-NRCellResourceCoordinationReqIEs}},
+ ...
+}
+
+
+ENB-EUTRA-NRCellResourceCoordinationReqIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-DataTrafficResourceIndication CRITICALITY reject TYPE DataTrafficResourceIndication PRESENCE mandatory}|
+ { ID id-SpectrumSharingGroupID CRITICALITY reject TYPE SpectrumSharingGroupID PRESENCE mandatory}|
+ { ID id-ListofEUTRACellsinEUTRACoordinationReq CRITICALITY reject TYPE ListofEUTRACellsinEUTRACoordinationReq PRESENCE mandatory},
+ ...
+}
+
+
+En-gNB-EUTRA-NRCellResourceCoordinationReqIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-DataTrafficResourceIndication CRITICALITY reject TYPE DataTrafficResourceIndication PRESENCE mandatory}|
+ { ID id-ListofEUTRACellsinNRCoordinationReq CRITICALITY reject TYPE ListofEUTRACellsinNRCoordinationReq PRESENCE mandatory }|
+ { ID id-SpectrumSharingGroupID CRITICALITY reject TYPE SpectrumSharingGroupID PRESENCE mandatory}|
+ { ID id-ListofNRCellsinNRCoordinationReq CRITICALITY reject TYPE ListofNRCellsinNRCoordinationReq PRESENCE mandatory},
+ ...
+}
+
+
+ListofEUTRACellsinEUTRACoordinationReq ::= SEQUENCE (SIZE (0..maxCellineNB)) OF ECGI
+ListofEUTRACellsinNRCoordinationReq ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ECGI
+ListofNRCellsinNRCoordinationReq ::= SEQUENCE (SIZE (0..maxnoNRcellsSpectrumSharingWithE-UTRA)) OF NRCGI
+
+-- **************************************************************
+--
+-- E-UTRA - NR CELL RESOURCE COORDINATION RESPONSE
+--
+-- **************************************************************
+
+EUTRANRCellResourceCoordinationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{EUTRANRCellResourceCoordinationResponse-IEs}},
+ ...
+}
+
+EUTRANRCellResourceCoordinationResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-RespondingNodeType-EutranrCellResourceCoordination CRITICALITY reject TYPE RespondingNodeType-EutranrCellResourceCoordination PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+RespondingNodeType-EutranrCellResourceCoordination ::= CHOICE {
+ respond-eNB ProtocolIE-Container {{ENB-EUTRA-NRCellResourceCoordinationReqAckIEs}},
+ respond-en-gNB ProtocolIE-Container {{En-gNB-EUTRA-NRCellResourceCoordinationReqAckIEs}},
+ ...
+}
+
+
+ENB-EUTRA-NRCellResourceCoordinationReqAckIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-DataTrafficResourceIndication CRITICALITY reject TYPE DataTrafficResourceIndication PRESENCE mandatory}|
+ { ID id-SpectrumSharingGroupID CRITICALITY reject TYPE SpectrumSharingGroupID PRESENCE mandatory}|
+ { ID id-ListofEUTRACellsinEUTRACoordinationResp CRITICALITY reject TYPE ListofEUTRACellsinEUTRACoordinationResp PRESENCE mandatory},
+ ...
+}
+
+
+En-gNB-EUTRA-NRCellResourceCoordinationReqAckIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-DataTrafficResourceIndication CRITICALITY reject TYPE DataTrafficResourceIndication PRESENCE mandatory}|
+ { ID id-SpectrumSharingGroupID CRITICALITY reject TYPE SpectrumSharingGroupID PRESENCE mandatory}|
+ { ID id-ListofNRCellsinNRCoordinationResp CRITICALITY reject TYPE ListofNRCellsinNRCoordinationResp PRESENCE mandatory},
+
+
+ ...
+}
+
+ListofEUTRACellsinEUTRACoordinationResp ::= SEQUENCE (SIZE (0..maxCellineNB)) OF ECGI
+ListofNRCellsinNRCoordinationResp ::= SEQUENCE (SIZE (0..maxnoNRcellsSpectrumSharingWithE-UTRA)) OF NRCGI
+
+-- **************************************************************
+--
+-- EN-DC X2 REMOVAL REQUEST
+--
+-- **************************************************************
+
+ENDCX2RemovalRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCX2RemovalRequest-IEs}},
+ ...
+}
+
+ENDCX2RemovalRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-InitiatingNodeType-EndcX2Removal CRITICALITY reject TYPE InitiatingNodeType-EndcX2Removal PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+InitiatingNodeType-EndcX2Removal ::= CHOICE {
+ init-eNB ProtocolIE-Container {{ENB-ENDCX2RemovalReqIEs}},
+ init-en-gNB ProtocolIE-Container {{En-gNB-ENDCX2RemovalReqIEs}},
+ ...
+}
+
+ENB-ENDCX2RemovalReqIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory},
+ ...
+}
+
+En-gNB-ENDCX2RemovalReqIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Globalen-gNB-ID CRITICALITY reject TYPE GlobalGNB-ID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC X2 REMOVAL RESPONSE
+--
+-- **************************************************************
+
+ENDCX2RemovalResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCX2RemovalResponse-IEs}},
+ ...
+}
+
+ENDCX2RemovalResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-RespondingNodeType-EndcX2Removal CRITICALITY reject TYPE RespondingNodeType-EndcX2Removal PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+RespondingNodeType-EndcX2Removal ::= CHOICE {
+ respond-eNB ProtocolIE-Container {{ENB-ENDCX2RemovalReqAckIEs}},
+ respond-en-gNB ProtocolIE-Container {{En-gNB-ENDCX2RemovalReqAckIEs}},
+ ...
+}
+
+ENB-ENDCX2RemovalReqAckIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory},
+ ...
+}
+
+En-gNB-ENDCX2RemovalReqAckIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Globalen-gNB-ID CRITICALITY reject TYPE GlobalGNB-ID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC X2 REMOVAL FAILURE
+--
+-- **************************************************************
+
+ENDCX2RemovalFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCX2RemovalFailure-IEs}},
+ ...
+}
+
+ENDCX2RemovalFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DATA FORWARDING ADDRESS INDICATION
+--
+-- **************************************************************
+
+DataForwardingAddressIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DataForwardingAddressIndication-IEs}},
+ ...
+}
+
+DataForwardingAddressIndication-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional }|
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional }|
+ { ID id-E-RABs-DataForwardingAddress-List CRITICALITY ignore TYPE E-RABs-DataForwardingAddress-List PRESENCE mandatory}|
+ { ID id-CHO-DC-Indicator CRITICALITY reject TYPE CHO-DC-Indicator PRESENCE optional}|
+ { ID id-CHO-DC-EarlyDataForwarding CRITICALITY ignore TYPE CHO-DC-EarlyDataForwarding PRESENCE optional}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE optional}|
+ { ID id-CPCinformation-NOTIFY CRITICALITY reject TYPE CPCinformation-NOTIFY PRESENCE optional},
+ ...
+}
+
+E-RABs-DataForwardingAddress-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-DataForwardingAddress-ItemIEs} }
+
+E-RABs-DataForwardingAddress-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-E-RABs-DataForwardingAddress-Item CRITICALITY ignore TYPE E-RABs-DataForwardingAddress-Item PRESENCE mandatory},
+ ...
+}
+
+E-RABs-DataForwardingAddress-Item ::= SEQUENCE {
+ e-RAB-ID E-RAB-ID,
+ dl-GTPtunnelEndpoint GTPtunnelEndpoint,
+ iE-Extensions ProtocolExtensionContainer { {E-RABs-DataForwardingAddress-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+E-RABs-DataForwardingAddress-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- GNB STATUS INDICATION
+--
+-- **************************************************************
+
+
+GNBStatusIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { GNBStatusIndicationIEs} },
+ ...
+}
+
+GNBStatusIndicationIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-GNBOverloadInformation CRITICALITY ignore TYPE GNBOverloadInformation PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- EN-DC CONFIGURATION TRANSFER
+--
+-- **************************************************************
+
+ENDCConfigurationTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ENDCConfigurationTransfer-IEs}},
+ ...
+}
+
+ENDCConfigurationTransfer-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-endcSONConfigurationTransfer CRITICALITY ignore TYPE EndcSONConfigurationTransfer PRESENCE optional}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- TRACE START
+--
+-- **************************************************************
+
+TraceStart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TraceStartIEs} },
+ ...
+}
+
+TraceStartIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory }|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory }|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- DEACTIVATE TRACE
+--
+-- **************************************************************
+
+DeactivateTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DeactivateTraceIEs} },
+ ...
+}
+
+DeactivateTraceIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory }|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory }|
+ { ID id-EUTRANTraceID CRITICALITY ignore TYPE EUTRANTraceID PRESENCE mandatory }|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL TRAFFIC TRACE
+--
+-- **************************************************************
+
+CellTrafficTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {CellTrafficTraceIEs} },
+ ...
+}
+
+CellTrafficTraceIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory }|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory }|
+ { ID id-EUTRANTraceID CRITICALITY ignore TYPE EUTRANTraceID PRESENCE mandatory }|
+ { ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TraceCollectionEntityIPAddress PRESENCE mandatory }|
+ { ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional }|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- F1-C TRAFFIC TRANSFER
+--
+-- **************************************************************
+
+F1CTrafficTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ F1CTrafficTransfer-IEs}},
+ ...
+}
+
+F1CTrafficTransfer-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-F1CTrafficContainer CRITICALITY reject TYPE F1CTrafficContainer PRESENCE mandatory}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY ID MAPPING REQUEST
+--
+-- **************************************************************
+
+UERadioCapabilityIDMappingRequest::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UERadioCapabilityIDMappingRequestIEs} },
+ ...
+}
+
+UERadioCapabilityIDMappingRequestIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY ID MAPPING RESPONSE
+--
+-- **************************************************************
+
+UERadioCapabilityIDMappingResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { { UERadioCapabilityIDMappingResponseIEs} },
+ ...
+}
+
+UERadioCapabilityIDMappingResponseIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE mandatory }|
+ { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- CONDITIONAL PSCELL CHANGE CANCEL
+--
+-- **************************************************************
+
+CPC-cancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CPC-cancel-IEs}},
+ ...
+}
+
+CPC-cancel-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}|
+ { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}|
+ { ID id-Target-SgNB-ID CRITICALITY reject TYPE GlobalGNB-ID PRESENCE mandatory},
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn
new file mode 100644
index 00000000..cbc5b2e5
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn
@@ -0,0 +1,755 @@
+-- 3GPP TS 36.423 V17.5.0 (2023-06)
+-- 9.3.3 Elementary Procedure Definitions
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+X2AP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+
+FROM X2AP-CommonDataTypes
+
+ CellActivationRequest,
+ CellActivationResponse,
+ CellActivationFailure,
+ ENBConfigurationUpdate,
+ ENBConfigurationUpdateAcknowledge,
+ ENBConfigurationUpdateFailure,
+ ErrorIndication,
+ HandoverCancel,
+ HandoverReport,
+ HandoverPreparationFailure,
+ HandoverRequest,
+ HandoverRequestAcknowledge,
+ LoadInformation,
+ PrivateMessage,
+ ResetRequest,
+ ResetResponse,
+ ResourceStatusFailure,
+ ResourceStatusRequest,
+ ResourceStatusResponse,
+ ResourceStatusUpdate,
+ RLFIndication,
+ SNStatusTransfer,
+ UEContextRelease,
+ X2SetupFailure,
+ X2SetupRequest,
+ X2SetupResponse,
+ MobilityChangeRequest,
+ MobilityChangeAcknowledge,
+ MobilityChangeFailure,
+ X2Release,
+ X2APMessageTransfer,
+ SeNBAdditionRequest,
+ SeNBAdditionRequestAcknowledge,
+ SeNBAdditionRequestReject,
+ SeNBReconfigurationComplete,
+ SeNBModificationRequest,
+ SeNBModificationRequestAcknowledge,
+ SeNBModificationRequestReject,
+ SeNBModificationRequired,
+ SeNBModificationConfirm,
+ SeNBModificationRefuse,
+ SeNBReleaseRequest,
+ SeNBReleaseRequired,
+ SeNBReleaseConfirm,
+ SeNBCounterCheckRequest,
+ X2RemovalFailure,
+ X2RemovalRequest,
+ X2RemovalResponse,
+ RetrieveUEContextRequest,
+ RetrieveUEContextResponse,
+ RetrieveUEContextFailure,
+ SgNBAdditionRequest,
+ SgNBAdditionRequestAcknowledge,
+ SgNBAdditionRequestReject,
+ SgNBReconfigurationComplete,
+ SgNBModificationRequest,
+ SgNBModificationRequestAcknowledge,
+ SgNBModificationRequestReject,
+ SgNBModificationRequired,
+ SgNBModificationConfirm,
+ SgNBModificationRefuse,
+ SgNBReleaseRequest,
+ SgNBReleaseRequestAcknowledge,
+ SgNBReleaseRequestReject,
+ SgNBReleaseRequired,
+ SgNBReleaseConfirm,
+ SgNBCounterCheckRequest,
+ SgNBChangeRequired,
+ SgNBChangeConfirm,
+ SgNBChangeRefuse,
+ RRCTransfer,
+ ENDCX2SetupRequest,
+ ENDCX2SetupResponse,
+ ENDCX2SetupFailure,
+ ENDCConfigurationUpdate,
+ ENDCConfigurationUpdateAcknowledge,
+ ENDCConfigurationUpdateFailure,
+ SecondaryRATDataUsageReport,
+ ENDCCellActivationRequest,
+ ENDCCellActivationResponse,
+ ENDCCellActivationFailure,
+ ENDCPartialResetRequired,
+ ENDCPartialResetConfirm,
+ EUTRANRCellResourceCoordinationRequest,
+ EUTRANRCellResourceCoordinationResponse,
+ SgNBActivityNotification,
+ ENDCX2RemovalRequest,
+ ENDCX2RemovalResponse,
+ ENDCX2RemovalFailure,
+ DataForwardingAddressIndication,
+ GNBStatusIndication,
+ ENDCConfigurationTransfer,
+ DeactivateTrace,
+ TraceStart,
+ HandoverSuccess,
+ EarlyStatusTransfer,
+ ConditionalHandoverCancel,
+ ENDCResourceStatusRequest,
+ ENDCResourceStatusResponse,
+ ENDCResourceStatusFailure,
+ ENDCResourceStatusUpdate,
+ CellTrafficTrace,
+ F1CTrafficTransfer,
+ UERadioCapabilityIDMappingRequest,
+ UERadioCapabilityIDMappingResponse,
+ AccessAndMobilityIndication,
+ CPC-cancel
+
+
+
+
+FROM X2AP-PDU-Contents
+
+ id-cellActivation,
+ id-eNBConfigurationUpdate,
+ id-errorIndication,
+ id-handoverCancel,
+ id-handoverReport,
+ id-handoverPreparation,
+
+ id-loadIndication,
+ id-privateMessage,
+ id-reset,
+
+ id-resourceStatusReporting,
+ id-resourceStatusReportingInitiation,
+ id-rLFIndication,
+ id-snStatusTransfer,
+ id-uEContextRelease,
+ id-x2Setup,
+ id-mobilitySettingsChange,
+ id-x2Release,
+ id-x2APMessageTransfer,
+ id-seNBAdditionPreparation,
+ id-seNBReconfigurationCompletion,
+ id-meNBinitiatedSeNBModificationPreparation,
+ id-seNBinitiatedSeNBModification,
+ id-meNBinitiatedSeNBRelease,
+ id-seNBinitiatedSeNBRelease,
+ id-seNBCounterCheck,
+ id-x2Removal,
+ id-retrieveUEContext,
+ id-sgNBAdditionPreparation,
+ id-sgNBReconfigurationCompletion,
+ id-meNBinitiatedSgNBModificationPreparation,
+ id-sgNBinitiatedSgNBModification,
+ id-meNBinitiatedSgNBRelease,
+ id-sgNBinitiatedSgNBRelease,
+ id-sgNBChange,
+ id-sgNBCounterCheck,
+ id-rRCTransfer,
+ id-endcX2Setup,
+ id-endcConfigurationUpdate,
+ id-secondaryRATDataUsageReport,
+ id-endcCellActivation,
+ id-endcPartialReset,
+ id-eUTRANRCellResourceCoordination,
+ id-SgNBActivityNotification,
+ id-endcX2Removal,
+ id-dataForwardingAddressIndication,
+ id-gNBStatusIndication,
+ id-endcConfigurationTransfer,
+ id-deactivateTrace,
+ id-traceStart,
+ id-handoverSuccess,
+ id-earlyStatusTransfer,
+ id-conditionalHandoverCancel,
+ id-endcresourceStatusReporting,
+ id-endcresourceStatusReportingInitiation,
+ id-cellTrafficTrace,
+ id-f1CTrafficTransfer,
+ id-UERadioCapabilityIDMapping,
+ id-accessAndMobilityIndication,
+ id-CPC-cancel
+
+
+
+
+FROM X2AP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+X2AP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+X2AP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
+ criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value X2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
+ criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value X2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
+ criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value X2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+X2AP-ELEMENTARY-PROCEDURES X2AP-ELEMENTARY-PROCEDURE ::= {
+ X2AP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ X2AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= {
+ handoverPreparation |
+ reset |
+ x2Setup |
+ resourceStatusReportingInitiation |
+ eNBConfigurationUpdate |
+ mobilitySettingsChange |
+ cellActivation |
+ seNBAdditionPreparation |
+ meNBinitiatedSeNBModificationPreparation |
+ seNBinitiatedSeNBModification |
+ seNBinitiatedSeNBRelease |
+ x2Removal |
+ retrieveUEContext |
+ sgNBAdditionPreparation |
+ meNBinitiatedSgNBModificationPreparation |
+ sgNBinitiatedSgNBModification |
+ meNBinitiatedSgNBRelease |
+ sgNBinitiatedSgNBRelease |
+ sgNBChange |
+ endcX2Setup |
+ endcConfigurationUpdate |
+ endcCellActivation |
+ endcPartialReset |
+ eUTRANRCellResourceCoordination |
+ endcX2Removal |
+ endcresourceStatusReportingInitiation |
+ uERadioCapabilityIDMapping ,
+ ...
+}
+
+X2AP-ELEMENTARY-PROCEDURES-CLASS-2 X2AP-ELEMENTARY-PROCEDURE ::= {
+ snStatusTransfer |
+ uEContextRelease |
+ handoverCancel |
+ errorIndication |
+ resourceStatusReporting |
+ loadIndication |
+ privateMessage |
+ rLFIndication |
+ handoverReport |
+ x2Release |
+ x2APMessageTransfer |
+ seNBReconfigurationCompletion |
+ meNBinitiatedSeNBRelease |
+ seNBCounterCheck |
+ sgNBReconfigurationCompletion |
+ sgNBCounterCheck |
+ rRCTransfer |
+ secondaryRATDataUsageReport |
+ sgNBActivityNotification |
+ dataForwardingAddressIndication |
+ gNBStatusIndication |
+ endcConfigurationTransfer |
+ deactivateTrace |
+ traceStart |
+ handoverSuccess |
+ earlyStatusTransfer |
+ conditionalHandoverCancel |
+ endcresourceStatusReporting |
+ cellTrafficTrace |
+ f1CTrafficTransfer |
+ accessAndMobilityIndication |
+ cPC-cancel ,
+ ...
+
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+handoverPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverRequest
+ SUCCESSFUL OUTCOME HandoverRequestAcknowledge
+ UNSUCCESSFUL OUTCOME HandoverPreparationFailure
+ PROCEDURE CODE id-handoverPreparation
+ CRITICALITY reject
+}
+
+snStatusTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNStatusTransfer
+ PROCEDURE CODE id-snStatusTransfer
+ CRITICALITY ignore
+}
+
+uEContextRelease X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextRelease
+ PROCEDURE CODE id-uEContextRelease
+ CRITICALITY ignore
+}
+
+
+handoverCancel X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverCancel
+ PROCEDURE CODE id-handoverCancel
+ CRITICALITY ignore
+}
+
+handoverReport X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverReport
+ PROCEDURE CODE id-handoverReport
+ CRITICALITY ignore
+}
+
+errorIndication X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-errorIndication
+ CRITICALITY ignore
+}
+
+reset X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResetRequest
+ SUCCESSFUL OUTCOME ResetResponse
+ PROCEDURE CODE id-reset
+ CRITICALITY reject
+}
+
+x2Setup X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE X2SetupRequest
+ SUCCESSFUL OUTCOME X2SetupResponse
+ UNSUCCESSFUL OUTCOME X2SetupFailure
+ PROCEDURE CODE id-x2Setup
+ CRITICALITY reject
+}
+
+
+loadIndication X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE LoadInformation
+ PROCEDURE CODE id-loadIndication
+ CRITICALITY ignore
+}
+
+eNBConfigurationUpdate X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENBConfigurationUpdate
+ SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
+ PROCEDURE CODE id-eNBConfigurationUpdate
+ CRITICALITY reject
+}
+
+resourceStatusReportingInitiation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResourceStatusRequest
+ SUCCESSFUL OUTCOME ResourceStatusResponse
+ UNSUCCESSFUL OUTCOME ResourceStatusFailure
+ PROCEDURE CODE id-resourceStatusReportingInitiation
+ CRITICALITY reject
+}
+
+resourceStatusReporting X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResourceStatusUpdate
+ PROCEDURE CODE id-resourceStatusReporting
+ CRITICALITY ignore
+}
+
+rLFIndication X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RLFIndication
+ PROCEDURE CODE id-rLFIndication
+ CRITICALITY ignore
+}
+
+privateMessage X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+mobilitySettingsChange X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MobilityChangeRequest
+ SUCCESSFUL OUTCOME MobilityChangeAcknowledge
+ UNSUCCESSFUL OUTCOME MobilityChangeFailure
+ PROCEDURE CODE id-mobilitySettingsChange
+ CRITICALITY reject
+}
+
+cellActivation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellActivationRequest
+ SUCCESSFUL OUTCOME CellActivationResponse
+ UNSUCCESSFUL OUTCOME CellActivationFailure
+ PROCEDURE CODE id-cellActivation
+ CRITICALITY reject
+}
+
+x2Release X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE X2Release
+ PROCEDURE CODE id-x2Release
+ CRITICALITY reject
+}
+
+x2APMessageTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE X2APMessageTransfer
+ PROCEDURE CODE id-x2APMessageTransfer
+ CRITICALITY reject
+}
+
+seNBAdditionPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SeNBAdditionRequest
+ SUCCESSFUL OUTCOME SeNBAdditionRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SeNBAdditionRequestReject
+ PROCEDURE CODE id-seNBAdditionPreparation
+ CRITICALITY reject
+}
+
+seNBReconfigurationCompletion X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SeNBReconfigurationComplete
+ PROCEDURE CODE id-seNBReconfigurationCompletion
+ CRITICALITY ignore
+}
+
+meNBinitiatedSeNBModificationPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SeNBModificationRequest
+ SUCCESSFUL OUTCOME SeNBModificationRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SeNBModificationRequestReject
+ PROCEDURE CODE id-meNBinitiatedSeNBModificationPreparation
+ CRITICALITY reject
+}
+
+seNBinitiatedSeNBModification X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SeNBModificationRequired
+ SUCCESSFUL OUTCOME SeNBModificationConfirm
+ UNSUCCESSFUL OUTCOME SeNBModificationRefuse
+ PROCEDURE CODE id-seNBinitiatedSeNBModification
+ CRITICALITY reject
+}
+
+meNBinitiatedSeNBRelease X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SeNBReleaseRequest
+ PROCEDURE CODE id-meNBinitiatedSeNBRelease
+ CRITICALITY ignore
+}
+
+seNBinitiatedSeNBRelease X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SeNBReleaseRequired
+ SUCCESSFUL OUTCOME SeNBReleaseConfirm
+ PROCEDURE CODE id-seNBinitiatedSeNBRelease
+ CRITICALITY reject
+}
+
+seNBCounterCheck X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SeNBCounterCheckRequest
+ PROCEDURE CODE id-seNBCounterCheck
+ CRITICALITY reject
+}
+
+x2Removal X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE X2RemovalRequest
+ SUCCESSFUL OUTCOME X2RemovalResponse
+ UNSUCCESSFUL OUTCOME X2RemovalFailure
+ PROCEDURE CODE id-x2Removal
+ CRITICALITY reject
+}
+
+retrieveUEContext X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RetrieveUEContextRequest
+ SUCCESSFUL OUTCOME RetrieveUEContextResponse
+ UNSUCCESSFUL OUTCOME RetrieveUEContextFailure
+ PROCEDURE CODE id-retrieveUEContext
+ CRITICALITY reject
+}
+
+sgNBAdditionPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SgNBAdditionRequest
+ SUCCESSFUL OUTCOME SgNBAdditionRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SgNBAdditionRequestReject
+ PROCEDURE CODE id-sgNBAdditionPreparation
+ CRITICALITY reject
+}
+
+sgNBReconfigurationCompletion X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SgNBReconfigurationComplete
+ PROCEDURE CODE id-sgNBReconfigurationCompletion
+ CRITICALITY ignore
+}
+
+meNBinitiatedSgNBModificationPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SgNBModificationRequest
+ SUCCESSFUL OUTCOME SgNBModificationRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SgNBModificationRequestReject
+ PROCEDURE CODE id-meNBinitiatedSgNBModificationPreparation
+ CRITICALITY reject
+}
+
+sgNBinitiatedSgNBModification X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SgNBModificationRequired
+ SUCCESSFUL OUTCOME SgNBModificationConfirm
+ UNSUCCESSFUL OUTCOME SgNBModificationRefuse
+ PROCEDURE CODE id-sgNBinitiatedSgNBModification
+ CRITICALITY reject
+}
+
+meNBinitiatedSgNBRelease X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SgNBReleaseRequest
+ SUCCESSFUL OUTCOME SgNBReleaseRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SgNBReleaseRequestReject
+ PROCEDURE CODE id-meNBinitiatedSgNBRelease
+ CRITICALITY ignore
+}
+
+sgNBinitiatedSgNBRelease X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SgNBReleaseRequired
+ SUCCESSFUL OUTCOME SgNBReleaseConfirm
+ PROCEDURE CODE id-sgNBinitiatedSgNBRelease
+ CRITICALITY reject
+}
+
+sgNBCounterCheck X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SgNBCounterCheckRequest
+ PROCEDURE CODE id-sgNBCounterCheck
+ CRITICALITY reject
+}
+
+sgNBChange X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SgNBChangeRequired
+ SUCCESSFUL OUTCOME SgNBChangeConfirm
+ UNSUCCESSFUL OUTCOME SgNBChangeRefuse
+ PROCEDURE CODE id-sgNBChange
+ CRITICALITY reject
+}
+
+rRCTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RRCTransfer
+ PROCEDURE CODE id-rRCTransfer
+ CRITICALITY reject
+}
+
+endcX2Setup X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENDCX2SetupRequest
+ SUCCESSFUL OUTCOME ENDCX2SetupResponse
+ UNSUCCESSFUL OUTCOME ENDCX2SetupFailure
+ PROCEDURE CODE id-endcX2Setup
+ CRITICALITY reject
+}
+
+
+endcConfigurationUpdate X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENDCConfigurationUpdate
+ SUCCESSFUL OUTCOME ENDCConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME ENDCConfigurationUpdateFailure
+ PROCEDURE CODE id-endcConfigurationUpdate
+ CRITICALITY reject
+}
+
+secondaryRATDataUsageReport X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SecondaryRATDataUsageReport
+ PROCEDURE CODE id-secondaryRATDataUsageReport
+ CRITICALITY reject
+}
+
+endcCellActivation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENDCCellActivationRequest
+ SUCCESSFUL OUTCOME ENDCCellActivationResponse
+ UNSUCCESSFUL OUTCOME ENDCCellActivationFailure
+ PROCEDURE CODE id-endcCellActivation
+ CRITICALITY reject
+}
+
+endcPartialReset X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENDCPartialResetRequired
+ SUCCESSFUL OUTCOME ENDCPartialResetConfirm
+ PROCEDURE CODE id-endcPartialReset
+ CRITICALITY reject
+}
+
+eUTRANRCellResourceCoordination X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EUTRANRCellResourceCoordinationRequest
+ SUCCESSFUL OUTCOME EUTRANRCellResourceCoordinationResponse
+ PROCEDURE CODE id-eUTRANRCellResourceCoordination
+ CRITICALITY reject
+}
+
+sgNBActivityNotification X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SgNBActivityNotification
+ PROCEDURE CODE id-SgNBActivityNotification
+ CRITICALITY reject
+}
+
+
+endcX2Removal X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENDCX2RemovalRequest
+ SUCCESSFUL OUTCOME ENDCX2RemovalResponse
+ UNSUCCESSFUL OUTCOME ENDCX2RemovalFailure
+ PROCEDURE CODE id-endcX2Removal
+ CRITICALITY reject
+}
+
+dataForwardingAddressIndication X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DataForwardingAddressIndication
+ PROCEDURE CODE id-dataForwardingAddressIndication
+ CRITICALITY ignore
+}
+
+gNBStatusIndication X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE GNBStatusIndication
+ PROCEDURE CODE id-gNBStatusIndication
+ CRITICALITY ignore
+}
+
+endcConfigurationTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENDCConfigurationTransfer
+ PROCEDURE CODE id-endcConfigurationTransfer
+ CRITICALITY ignore
+}
+
+deactivateTrace X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DeactivateTrace
+ PROCEDURE CODE id-deactivateTrace
+ CRITICALITY ignore
+}
+
+traceStart X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TraceStart
+ PROCEDURE CODE id-traceStart
+ CRITICALITY ignore
+}
+
+handoverSuccess X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverSuccess
+ PROCEDURE CODE id-handoverSuccess
+ CRITICALITY ignore
+}
+
+earlyStatusTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EarlyStatusTransfer
+ PROCEDURE CODE id-earlyStatusTransfer
+ CRITICALITY ignore
+}
+
+conditionalHandoverCancel X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ConditionalHandoverCancel
+ PROCEDURE CODE id-conditionalHandoverCancel
+ CRITICALITY ignore
+}
+
+endcresourceStatusReportingInitiation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENDCResourceStatusRequest
+ SUCCESSFUL OUTCOME ENDCResourceStatusResponse
+ UNSUCCESSFUL OUTCOME ENDCResourceStatusFailure
+ PROCEDURE CODE id-endcresourceStatusReportingInitiation
+ CRITICALITY reject
+}
+
+endcresourceStatusReporting X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ENDCResourceStatusUpdate
+ PROCEDURE CODE id-endcresourceStatusReporting
+ CRITICALITY ignore
+}
+
+cellTrafficTrace X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellTrafficTrace
+ PROCEDURE CODE id-cellTrafficTrace
+ CRITICALITY ignore
+}
+
+f1CTrafficTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE F1CTrafficTransfer
+ PROCEDURE CODE id-f1CTrafficTransfer
+ CRITICALITY ignore
+}
+
+uERadioCapabilityIDMapping X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UERadioCapabilityIDMappingRequest
+ SUCCESSFUL OUTCOME UERadioCapabilityIDMappingResponse
+ PROCEDURE CODE id-UERadioCapabilityIDMapping
+ CRITICALITY reject
+}
+
+accessAndMobilityIndication X2AP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE AccessAndMobilityIndication
+ PROCEDURE CODE id-accessAndMobilityIndication
+ CRITICALITY ignore
+}
+
+
+cPC-cancel X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CPC-cancel
+ PROCEDURE CODE id-CPC-cancel
+ CRITICALITY ignore
+}
+
+
+END
diff --git a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c
new file mode 100644
index 00000000..ccae93d0
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c
@@ -0,0 +1,771 @@
+/* packet-x2ap.c
+ * Routines for dissecting Evolved Universal Terrestrial Radio Access Network (EUTRAN);
+ * X2 Application Protocol (X2AP);
+ * 3GPP TS 36.423 packet dissection
+ * Copyright 2007-2014, Anders Broman <anders.broman@ericsson.com>
+ * Copyright 2016-2023, Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref:
+ * 3GPP TS 36.423 V17.5.0 (2023-06)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/tfs.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/sctpppids.h>
+#include <epan/proto_data.h>
+
+#include "packet-x2ap.h"
+#include "packet-per.h"
+#include "packet-e212.h"
+#include "packet-lte-rrc.h"
+#include "packet-nr-rrc.h"
+#include "packet-ngap.h"
+#include "packet-ranap.h"
+#include "packet-ntp.h"
+#include "packet-s1ap.h"
+#include "packet-f1ap.h"
+#include "packet-xnap.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "EUTRAN X2 Application Protocol (X2AP)"
+#define PSNAME "X2AP"
+#define PFNAME "x2ap"
+
+void proto_register_x2ap(void);
+
+/* Dissector will use SCTP PPID 27 or SCTP port. IANA assigned port = 36422 */
+#define SCTP_PORT_X2AP 36422
+
+#include "packet-x2ap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_x2ap = -1;
+static int hf_x2ap_transportLayerAddressIPv4 = -1;
+static int hf_x2ap_transportLayerAddressIPv6 = -1;
+static int hf_x2ap_ReportCharacteristics_PRBPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_TNLLoadIndPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_HWLoadIndPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_ABSStatusPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_RSRPMeasurementReportPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_CSIReportPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_Reserved = -1;
+static int hf_x2ap_measurementFailedReportCharacteristics_PRBPeriodic = -1;
+static int hf_x2ap_measurementFailedReportCharacteristics_TNLLoadIndPeriodic = -1;
+static int hf_x2ap_measurementFailedReportCharacteristics_HWLoadIndPeriodic = -1;
+static int hf_x2ap_measurementFailedReportCharacteristics_CompositeAvailableCapacityPeriodic = -1;
+static int hf_x2ap_measurementFailedReportCharacteristics_ABSStatusPeriodic = -1;
+static int hf_x2ap_measurementFailedReportCharacteristics_RSRPMeasurementReportPeriodic = -1;
+static int hf_x2ap_measurementFailedReportCharacteristics_CSIReportPeriodic = -1;
+static int hf_x2ap_measurementFailedReportCharacteristics_Reserved = -1;
+static int hf_x2ap_eUTRANTraceID_TraceID = -1;
+static int hf_x2ap_eUTRANTraceID_TraceRecordingSessionReference = -1;
+static int hf_x2ap_interfacesToTrace_S1_MME = -1;
+static int hf_x2ap_interfacesToTrace_X2 = -1;
+static int hf_x2ap_interfacesToTrace_Uu = -1;
+static int hf_x2ap_interfacesToTrace_F1_C = -1;
+static int hf_x2ap_interfacesToTrace_E1 = -1;
+static int hf_x2ap_interfacesToTrace_Reserved = -1;
+static int hf_x2ap_traceCollectionEntityIPAddress_IPv4 = -1;
+static int hf_x2ap_traceCollectionEntityIPAddress_IPv6 = -1;
+static int hf_x2ap_encryptionAlgorithms_EEA1 = -1;
+static int hf_x2ap_encryptionAlgorithms_EEA2 = -1;
+static int hf_x2ap_encryptionAlgorithms_EEA3 = -1;
+static int hf_x2ap_encryptionAlgorithms_Reserved = -1;
+static int hf_x2ap_integrityProtectionAlgorithms_EIA1 = -1;
+static int hf_x2ap_integrityProtectionAlgorithms_EIA2 = -1;
+static int hf_x2ap_integrityProtectionAlgorithms_EIA3 = -1;
+static int hf_x2ap_integrityProtectionAlgorithms_EIA7 = -1;
+static int hf_x2ap_integrityProtectionAlgorithms_Reserved = -1;
+static int hf_x2ap_measurementsToActivate_M1 = -1;
+static int hf_x2ap_measurementsToActivate_M2 = -1;
+static int hf_x2ap_measurementsToActivate_M3 = -1;
+static int hf_x2ap_measurementsToActivate_M4 = -1;
+static int hf_x2ap_measurementsToActivate_M5 = -1;
+static int hf_x2ap_measurementsToActivate_LoggingM1FromEventTriggered = -1;
+static int hf_x2ap_measurementsToActivate_M6 = -1;
+static int hf_x2ap_measurementsToActivate_M7 = -1;
+static int hf_x2ap_MDT_Location_Info_GNSS = -1;
+static int hf_x2ap_MDT_Location_Info_E_CID = -1;
+static int hf_x2ap_MDT_Location_Info_Reserved = -1;
+static int hf_x2ap_MDT_transmissionModes_tm1 = -1;
+static int hf_x2ap_MDT_transmissionModes_tm2 = -1;
+static int hf_x2ap_MDT_transmissionModes_tm3 = -1;
+static int hf_x2ap_MDT_transmissionModes_tm4 = -1;
+static int hf_x2ap_MDT_transmissionModes_tm6 = -1;
+static int hf_x2ap_MDT_transmissionModes_tm8 = -1;
+static int hf_x2ap_MDT_transmissionModes_tm9 = -1;
+static int hf_x2ap_MDT_transmissionModes_tm10 = -1;
+static int hf_x2ap_NRencryptionAlgorithms_NEA1 = -1;
+static int hf_x2ap_NRencryptionAlgorithms_NEA2 = -1;
+static int hf_x2ap_NRencryptionAlgorithms_NEA3 = -1;
+static int hf_x2ap_NRencryptionAlgorithms_Reserved = -1;
+static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA1 = -1;
+static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA2 = -1;
+static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA3 = -1;
+static int hf_x2ap_NRintegrityProtectionAlgorithms_Reserved = -1;
+static int hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic = -1;
+static int hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs = -1;
+static int hf_x2ap_ReportCharacteristics_ENDC_Reserved = -1;
+static int hf_x2ap_Registration_Request_ENDC_PDU = -1;
+static int hf_x2ap_ReportingPeriodicity_ENDC_PDU = -1;
+static int hf_x2ap_ReportCharacteristics_ENDC_PDU = -1;
+static int hf_x2ap_rAT_RestrictionInformation_LEO = -1;
+static int hf_x2ap_rAT_RestrictionInformation_MEO = -1;
+static int hf_x2ap_rAT_RestrictionInformation_GEO = -1;
+static int hf_x2ap_rAT_RestrictionInformation_OTHERSAT = -1;
+static int hf_x2ap_rAT_RestrictionInformation_Reserved = -1;
+#include "packet-x2ap-hf.c"
+
+/* Initialize the subtree pointers */
+static int ett_x2ap = -1;
+static int ett_x2ap_TransportLayerAddress = -1;
+static int ett_x2ap_PLMN_Identity = -1;
+static int ett_x2ap_TargeteNBtoSource_eNBTransparentContainer = -1;
+static int ett_x2ap_RRC_Context = -1;
+static int ett_x2ap_UE_HistoryInformationFromTheUE = -1;
+static int ett_x2ap_ReportCharacteristics = -1;
+static int ett_x2ap_measurementFailedReportCharacteristics = -1;
+static int ett_x2ap_UE_RLF_Report_Container = -1;
+static int ett_x2ap_UE_RLF_Report_Container_for_extended_bands = -1;
+static int ett_x2ap_MeNBtoSeNBContainer = -1;
+static int ett_x2ap_SeNBtoMeNBContainer = -1;
+static int ett_x2ap_EUTRANTraceID = -1;
+static int ett_x2ap_InterfacesToTrace = -1;
+static int ett_x2ap_TraceCollectionEntityIPAddress = -1;
+static int ett_x2ap_EncryptionAlgorithms = -1;
+static int ett_x2ap_IntegrityProtectionAlgorithms = -1;
+static int ett_x2ap_MeasurementsToActivate = -1;
+static int ett_x2ap_MDT_Location_Info = -1;
+static int ett_x2ap_transmissionModes = -1;
+static int ett_x2ap_X2AP_Message = -1;
+static int ett_x2ap_MeNBtoSgNBContainer = -1;
+static int ett_x2ap_SgNBtoMeNBContainer = -1;
+static int ett_x2ap_RRCContainer = -1;
+static int ett_x2ap_NRencryptionAlgorithms = -1;
+static int ett_x2ap_NRintegrityProtectionAlgorithms = -1;
+static int ett_x2ap_measurementTimingConfiguration = -1;
+static int ett_x2ap_LastVisitedNGRANCellInformation = -1;
+static int ett_x2ap_LastVisitedUTRANCellInformation = -1;
+static int ett_x2ap_EndcSONConfigurationTransfer = -1;
+static int ett_x2ap_EPCHandoverRestrictionListContainer = -1;
+static int ett_x2ap_NBIoT_RLF_Report_Container = -1;
+static int ett_x2ap_anchorCarrier_NPRACHConfig = -1;
+static int ett_x2ap_anchorCarrier_EDT_NPRACHConfig = -1;
+static int ett_x2ap_anchorCarrier_Format2_NPRACHConfig = -1;
+static int ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig = -1;
+static int ett_x2ap_non_anchorCarrier_NPRACHConfig = -1;
+static int ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig = -1;
+static int ett_x2ap_anchorCarrier_NPRACHConfigTDD = -1;
+static int ett_x2ap_non_anchorCarrier_NPRACHConfigTDD = -1;
+static int ett_x2ap_Non_anchorCarrierFrequency = -1;
+static int ett_x2ap_ReportCharacteristics_ENDC = -1;
+static int ett_x2ap_TargetCellInNGRAN = -1;
+static int ett_x2ap_TDDULDLConfigurationCommonNR = -1;
+static int ett_x2ap_MDT_ConfigurationNR = -1;
+static int ett_x2ap_NRCellPRACHConfig = -1;
+static int ett_x2ap_IntendedTDD_DL_ULConfiguration_NR = -1;
+static int ett_x2ap_UERadioCapability = -1;
+static int ett_x2ap_LastVisitedPSCell_Item = -1;
+static int ett_x2ap_NRRACHReportContainer = -1;
+static int ett_x2ap_rAT_RestrictionInformation = -1;
+#include "packet-x2ap-ett.c"
+
+/* Forward declarations */
+static int dissect_x2ap_Registration_Request_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_x2ap_ReportCharacteristics_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+static int dissect_x2ap_ReportingPeriodicity_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+typedef enum {
+ RRC_CONTAINER_TYPE_UNKNOWN,
+ RRC_CONTAINER_TYPE_PDCP_C_PDU,
+ RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT,
+ RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB,
+ RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB
+} rrc_container_type_e;
+
+enum{
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+};
+
+struct x2ap_private_data {
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ guint32 message_type;
+ rrc_container_type_e rrc_container_type;
+ e212_number_type_t number_type;
+};
+
+enum {
+ X2AP_RRC_CONTEXT_LTE,
+ X2AP_RRC_CONTEXT_NBIOT
+};
+
+static const enum_val_t x2ap_rrc_context_vals[] = {
+ {"lte", "LTE", X2AP_RRC_CONTEXT_LTE},
+ {"nb-iot","NB-IoT", X2AP_RRC_CONTEXT_NBIOT},
+ {NULL, NULL, -1}
+};
+
+/* Global variables */
+static gint g_x2ap_dissect_rrc_context_as = X2AP_RRC_CONTEXT_LTE;
+
+/* Dissector tables */
+static dissector_table_t x2ap_ies_dissector_table;
+static dissector_table_t x2ap_extension_dissector_table;
+static dissector_table_t x2ap_proc_imsg_dissector_table;
+static dissector_table_t x2ap_proc_sout_dissector_table;
+static dissector_table_t x2ap_proc_uout_dissector_table;
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+void proto_reg_handoff_x2ap(void);
+
+static dissector_handle_t x2ap_handle;
+
+static const true_false_string x2ap_tfs_failed_succeeded = {
+ "Failed",
+ "Succeeded"
+};
+
+static const true_false_string x2ap_tfs_interfacesToTrace = {
+ "Should be traced",
+ "Should not be traced"
+};
+
+static const true_false_string x2ap_tfs_activate_do_not_activate = {
+ "Activate",
+ "Do not activate"
+};
+
+static void
+x2ap_Time_UE_StayedInCell_EnhancedGranularity_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fs", ((float)v)/10);
+}
+
+static void
+x2ap_handoverTriggerChange_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%d)", ((float)v)/2, (gint32)v);
+}
+
+static void
+x2ap_Threshold_RSRP_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", (gint32)v-140, v);
+}
+
+static void
+x2ap_Threshold_RSRQ_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-20, v);
+}
+
+static void
+x2ap_Packet_LossRate_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f %% (%u)", (float)v/10, v);
+}
+
+static struct x2ap_private_data*
+x2ap_get_private_data(packet_info *pinfo)
+{
+ struct x2ap_private_data *x2ap_data = (struct x2ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_x2ap, 0);
+ if (!x2ap_data) {
+ x2ap_data = wmem_new0(pinfo->pool, struct x2ap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_x2ap, 0, x2ap_data);
+ }
+ return x2ap_data;
+}
+
+#include "packet-x2ap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(x2ap_ies_dissector_table, x2ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(x2ap_extension_dissector_table, x2ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
+
+ x2ap_data->message_type = INITIATING_MESSAGE;
+ return (dissector_try_uint_new(x2ap_proc_imsg_dissector_table, x2ap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
+
+ x2ap_data->message_type = SUCCESSFUL_OUTCOME;
+ return (dissector_try_uint_new(x2ap_proc_sout_dissector_table, x2ap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
+
+ x2ap_data->message_type = UNSUCCESSFUL_OUTCOME;
+ return (dissector_try_uint_new(x2ap_proc_uout_dissector_table, x2ap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_x2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_item *x2ap_item;
+ proto_tree *x2ap_tree;
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "X2AP");
+ col_clear_fence(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ /* create the x2ap protocol tree */
+ x2ap_item = proto_tree_add_item(tree, proto_x2ap, tvb, 0, -1, ENC_NA);
+ x2ap_tree = proto_item_add_subtree(x2ap_item, ett_x2ap);
+
+ return dissect_X2AP_PDU_PDU(tvb, pinfo, x2ap_tree, data);
+}
+
+/*--- proto_register_x2ap -------------------------------------------*/
+void proto_register_x2ap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_x2ap_transportLayerAddressIPv4,
+ { "transportLayerAddress(IPv4)", "x2ap.transportLayerAddressIPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_transportLayerAddressIPv6,
+ { "transportLayerAddress(IPv6)", "x2ap.transportLayerAddressIPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_PRBPeriodic,
+ { "PRBPeriodic", "x2ap.ReportCharacteristics.PRBPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_TNLLoadIndPeriodic,
+ { "TNLLoadIndPeriodic", "x2ap.ReportCharacteristics.TNLLoadIndPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_HWLoadIndPeriodic,
+ { "HWLoadIndPeriodic", "x2ap.ReportCharacteristics.HWLoadIndPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic,
+ { "CompositeAvailableCapacityPeriodic", "x2ap.ReportCharacteristics.CompositeAvailableCapacityPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_ABSStatusPeriodic,
+ { "ABSStatusPeriodic", "x2ap.ReportCharacteristics.ABSStatusPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x08000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_RSRPMeasurementReportPeriodic,
+ { "RSRPMeasurementReportPeriodic", "x2ap.ReportCharacteristics.RSRPMeasurementReportPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x04000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_CSIReportPeriodic,
+ { "CSIReportPeriodic", "x2ap.ReportCharacteristics.CSIReportPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x02000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_Reserved,
+ { "Reserved", "x2ap.ReportCharacteristics.Reserved",
+ FT_UINT32, BASE_HEX, NULL, 0x01ffffff,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailedReportCharacteristics_PRBPeriodic,
+ { "PRBPeriodic", "x2ap.measurementFailedReportCharacteristics.PRBPeriodic",
+ FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x80000000,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailedReportCharacteristics_TNLLoadIndPeriodic,
+ { "TNLLoadIndPeriodic", "x2ap.measurementFailedReportCharacteristics.TNLLoadIndPeriodic",
+ FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x40000000,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailedReportCharacteristics_HWLoadIndPeriodic,
+ { "HWLoadIndPeriodic", "x2ap.measurementFailedReportCharacteristics.HWLoadIndPeriodic",
+ FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x20000000,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailedReportCharacteristics_CompositeAvailableCapacityPeriodic,
+ { "CompositeAvailableCapacityPeriodic", "x2ap.measurementFailedReportCharacteristics.CompositeAvailableCapacityPeriodic",
+ FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x10000000,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailedReportCharacteristics_ABSStatusPeriodic,
+ { "ABSStatusPeriodic", "x2ap.measurementFailedReportCharacteristics.ABSStatusPeriodic",
+ FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x08000000,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailedReportCharacteristics_RSRPMeasurementReportPeriodic,
+ { "RSRPMeasurementReportPeriodic", "x2ap.measurementFailedReportCharacteristics.RSRPMeasurementReportPeriodic",
+ FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x04000000,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailedReportCharacteristics_CSIReportPeriodic,
+ { "CSIReportPeriodic", "x2ap.measurementFailedReportCharacteristics.CSIReportPeriodic",
+ FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x02000000,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailedReportCharacteristics_Reserved,
+ { "Reserved", "x2ap.measurementFailedReportCharacteristics.Reserved",
+ FT_UINT32, BASE_HEX, NULL, 0x01ffffff,
+ NULL, HFILL }},
+ { &hf_x2ap_eUTRANTraceID_TraceID,
+ { "TraceID", "x2ap.eUTRANTraceID.TraceID",
+ FT_UINT24, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_eUTRANTraceID_TraceRecordingSessionReference,
+ { "TraceRecordingSessionReference", "x2ap.eUTRANTraceID.TraceRecordingSessionReference",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_interfacesToTrace_S1_MME,
+ { "S1-MME", "x2ap.interfacesToTrace.S1_MME",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_interfacesToTrace), 0x80,
+ NULL, HFILL }},
+ { &hf_x2ap_interfacesToTrace_X2,
+ { "X2", "x2ap.interfacesToTrace.X2",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_interfacesToTrace), 0x40,
+ NULL, HFILL }},
+ { &hf_x2ap_interfacesToTrace_Uu,
+ { "Uu", "x2ap.interfacesToTrace.Uu",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_interfacesToTrace), 0x20,
+ NULL, HFILL }},
+ { &hf_x2ap_interfacesToTrace_F1_C,
+ { "F1-C", "x2ap.interfacesToTrace.F1_C",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_interfacesToTrace), 0x10,
+ NULL, HFILL }},
+ { &hf_x2ap_interfacesToTrace_E1,
+ { "E1", "x2ap.interfacesToTrace.E1",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_interfacesToTrace), 0x08,
+ NULL, HFILL }},
+ { &hf_x2ap_interfacesToTrace_Reserved,
+ { "Reserved", "x2ap.interfacesToTrace.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x07,
+ NULL, HFILL }},
+ { &hf_x2ap_traceCollectionEntityIPAddress_IPv4,
+ { "IPv4", "x2ap.traceCollectionEntityIPAddress.IPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_traceCollectionEntityIPAddress_IPv6,
+ { "IPv6", "x2ap.traceCollectionEntityIPAddress.IPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_encryptionAlgorithms_EEA1,
+ { "128-EEA1", "x2ap.encryptionAlgorithms.EEA1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_x2ap_encryptionAlgorithms_EEA2,
+ { "128-EEA2", "x2ap.encryptionAlgorithms.EEA2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_x2ap_encryptionAlgorithms_EEA3,
+ { "128-EEA3", "x2ap.encryptionAlgorithms.EEA3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_x2ap_encryptionAlgorithms_Reserved,
+ { "Reserved", "x2ap.encryptionAlgorithms.Reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1fff,
+ NULL, HFILL }},
+ { &hf_x2ap_integrityProtectionAlgorithms_EIA1,
+ { "128-EIA1", "x2ap.integrityProtectionAlgorithms.EIA1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_x2ap_integrityProtectionAlgorithms_EIA2,
+ { "128-EIA2", "x2ap.integrityProtectionAlgorithms.EIA2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_x2ap_integrityProtectionAlgorithms_EIA3,
+ { "128-EIA3", "x2ap.integrityProtectionAlgorithms.EIA3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_x2ap_integrityProtectionAlgorithms_EIA7,
+ { "EIA7", "x2ap.integrityProtectionAlgorithms.EIA7",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x0200,
+ NULL, HFILL }},
+ { &hf_x2ap_integrityProtectionAlgorithms_Reserved,
+ { "Reserved", "x2ap.integrityProtectionAlgorithms.Reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1dff,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementsToActivate_M1,
+ { "M1", "x2ap.measurementsToActivate.M1",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x80,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementsToActivate_M2,
+ { "M2", "x2ap.measurementsToActivate.M2",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x40,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementsToActivate_M3,
+ { "M3", "x2ap.measurementsToActivate.M3",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x20,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementsToActivate_M4,
+ { "M4", "x2ap.measurementsToActivate.M4",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x10,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementsToActivate_M5,
+ { "M5", "x2ap.measurementsToActivate.M5",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x08,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementsToActivate_LoggingM1FromEventTriggered,
+ { "LoggingOfM1FromEventTriggeredMeasurementReports", "x2ap.measurementsToActivate.LoggingM1FromEventTriggered",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x04,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementsToActivate_M6,
+ { "M6", "x2ap.measurementsToActivate.M6",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x02,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementsToActivate_M7,
+ { "M7", "x2ap.measurementsToActivate.M7",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x01,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_Location_Info_GNSS,
+ { "GNSS", "x2ap.MDT_Location_Info.GNSS",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x80,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_Location_Info_E_CID,
+ { "E-CID", "x2ap.MDT_Location_Info.E_CID",
+ FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x40,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_Location_Info_Reserved,
+ { "Reserved", "x2ap.MDT_Location_Info.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x3f,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_transmissionModes_tm1,
+ { "TM1", "x2ap.MDT_Location_Info.transmissionModes.tm1",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x80,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_transmissionModes_tm2,
+ { "TM2", "x2ap.MDT_Location_Info.transmissionModes.tm2",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x40,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_transmissionModes_tm3,
+ { "TM3", "x2ap.MDT_Location_Info.transmissionModes.tm3",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x20,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_transmissionModes_tm4,
+ { "TM4", "x2ap.MDT_Location_Info.transmissionModes.tm4",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x10,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_transmissionModes_tm6,
+ { "TM6", "x2ap.MDT_Location_Info.transmissionModes.tm6",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x08,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_transmissionModes_tm8,
+ { "TM8", "x2ap.MDT_Location_Info.transmissionModes.tm8",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x04,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_transmissionModes_tm9,
+ { "TM9", "x2ap.MDT_Location_Info.transmissionModes.tm9",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x02,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_transmissionModes_tm10,
+ { "TM10", "x2ap.MDT_Location_Info.transmissionModes.tm10",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x01,
+ NULL, HFILL }},
+ { &hf_x2ap_NRencryptionAlgorithms_NEA1,
+ { "128-NEA1", "x2ap.NRencryptionAlgorithms.NEA1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_x2ap_NRencryptionAlgorithms_NEA2,
+ { "128-NEA2", "x2ap.NRencryptionAlgorithms.NEA2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_x2ap_NRencryptionAlgorithms_NEA3,
+ { "128-NEA3", "x2ap.NRencryptionAlgorithms.NEA3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_x2ap_NRencryptionAlgorithms_Reserved,
+ { "Reserved", "x2ap.NRencryptionAlgorithms.Reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1fff,
+ NULL, HFILL }},
+ { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA1,
+ { "128-NIA1", "x2ap.NRintegrityProtectionAlgorithms.NIA1",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
+ NULL, HFILL }},
+ { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA2,
+ { "128-NIA2", "x2ap.NRintegrityProtectionAlgorithms.NIA2",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
+ NULL, HFILL }},
+ { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA3,
+ { "128-NIA3", "x2ap.NRintegrityProtectionAlgorithms.NIA3",
+ FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
+ NULL, HFILL }},
+ { &hf_x2ap_NRintegrityProtectionAlgorithms_Reserved,
+ { "Reserved", "x2ap.NRintegrityProtectionAlgorithms.Reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x1fff,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic,
+ { "PRBPeriodic", "x2ap.ReportCharacteristics_ENDC.PRBPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic,
+ { "TNLCapacityIndPeriodic", "x2ap.ReportCharacteristics_ENDC.TNLCapacityIndPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic,
+ { "CompositeAvailableCapacityPeriodic", "x2ap.ReportCharacteristics_ENDC.CompositeAvailableCapacityPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs,
+ { "NumberOfActiveUEs", "x2ap.ReportCharacteristics_ENDC.NumberOfActiveUEs",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_ENDC_Reserved,
+ { "Reserved", "x2ap.ReportCharacteristics_ENDC.Reserved",
+ FT_UINT32, BASE_HEX, NULL, 0x0fffffff,
+ NULL, HFILL }},
+ { &hf_x2ap_Registration_Request_ENDC_PDU,
+ { "Registration-Request-ENDC", "x2ap.Registration_Request_ENDC",
+ FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_ENDC_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportingPeriodicity_ENDC_PDU,
+ { "ReportingPeriodicity-ENDC", "x2ap.ReportingPeriodicity_ENDC",
+ FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicity_ENDC_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_ReportCharacteristics_ENDC_PDU,
+ { "ReportCharacteristics-ENDC", "x2ap.ReportCharacteristics_ENDC",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_rAT_RestrictionInformation_LEO,
+ { "LEO", "x2ap.rAT_RestrictionInformation.LEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
+ NULL, HFILL }},
+ { &hf_x2ap_rAT_RestrictionInformation_MEO,
+ { "MEO", "x2ap.rAT_RestrictionInformation.MEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
+ NULL, HFILL }},
+ { &hf_x2ap_rAT_RestrictionInformation_GEO,
+ { "GEO", "x2ap.rAT_RestrictionInformation.GEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
+ NULL, HFILL }},
+ { &hf_x2ap_rAT_RestrictionInformation_OTHERSAT,
+ { "OTHERSAT", "x2ap.rAT_RestrictionInformation.OTHERSAT",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x10,
+ NULL, HFILL }},
+ { &hf_x2ap_rAT_RestrictionInformation_Reserved,
+ { "Reserved", "x2ap.rAT_RestrictionInformation.Reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x0f,
+ NULL, HFILL }},
+#include "packet-x2ap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_x2ap,
+ &ett_x2ap_TransportLayerAddress,
+ &ett_x2ap_PLMN_Identity,
+ &ett_x2ap_TargeteNBtoSource_eNBTransparentContainer,
+ &ett_x2ap_RRC_Context,
+ &ett_x2ap_UE_HistoryInformationFromTheUE,
+ &ett_x2ap_ReportCharacteristics,
+ &ett_x2ap_measurementFailedReportCharacteristics,
+ &ett_x2ap_UE_RLF_Report_Container,
+ &ett_x2ap_UE_RLF_Report_Container_for_extended_bands,
+ &ett_x2ap_MeNBtoSeNBContainer,
+ &ett_x2ap_SeNBtoMeNBContainer,
+ &ett_x2ap_EUTRANTraceID,
+ &ett_x2ap_InterfacesToTrace,
+ &ett_x2ap_TraceCollectionEntityIPAddress,
+ &ett_x2ap_EncryptionAlgorithms,
+ &ett_x2ap_IntegrityProtectionAlgorithms,
+ &ett_x2ap_MeasurementsToActivate,
+ &ett_x2ap_MDT_Location_Info,
+ &ett_x2ap_transmissionModes,
+ &ett_x2ap_X2AP_Message,
+ &ett_x2ap_MeNBtoSgNBContainer,
+ &ett_x2ap_SgNBtoMeNBContainer,
+ &ett_x2ap_RRCContainer,
+ &ett_x2ap_NRencryptionAlgorithms,
+ &ett_x2ap_NRintegrityProtectionAlgorithms,
+ &ett_x2ap_measurementTimingConfiguration,
+ &ett_x2ap_LastVisitedNGRANCellInformation,
+ &ett_x2ap_LastVisitedUTRANCellInformation,
+ &ett_x2ap_EndcSONConfigurationTransfer,
+ &ett_x2ap_EPCHandoverRestrictionListContainer,
+ &ett_x2ap_NBIoT_RLF_Report_Container,
+ &ett_x2ap_anchorCarrier_NPRACHConfig,
+ &ett_x2ap_anchorCarrier_EDT_NPRACHConfig,
+ &ett_x2ap_anchorCarrier_Format2_NPRACHConfig,
+ &ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig,
+ &ett_x2ap_non_anchorCarrier_NPRACHConfig,
+ &ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig,
+ &ett_x2ap_anchorCarrier_NPRACHConfigTDD,
+ &ett_x2ap_non_anchorCarrier_NPRACHConfigTDD,
+ &ett_x2ap_Non_anchorCarrierFrequency,
+ &ett_x2ap_ReportCharacteristics_ENDC,
+ &ett_x2ap_TargetCellInNGRAN,
+ &ett_x2ap_TDDULDLConfigurationCommonNR,
+ &ett_x2ap_MDT_ConfigurationNR,
+ &ett_x2ap_NRCellPRACHConfig,
+ &ett_x2ap_IntendedTDD_DL_ULConfiguration_NR,
+ &ett_x2ap_UERadioCapability,
+ &ett_x2ap_LastVisitedPSCell_Item,
+ &ett_x2ap_NRRACHReportContainer,
+ &ett_x2ap_rAT_RestrictionInformation,
+#include "packet-x2ap-ettarr.c"
+ };
+
+ module_t *x2ap_module;
+
+ /* Register protocol */
+ proto_x2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_x2ap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register dissector */
+ x2ap_handle = register_dissector("x2ap", dissect_x2ap, proto_x2ap);
+
+ /* Register dissector tables */
+ x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", proto_x2ap, FT_UINT32, BASE_DEC);
+ x2ap_extension_dissector_table = register_dissector_table("x2ap.extension", "X2AP-PROTOCOL-EXTENSION", proto_x2ap, FT_UINT32, BASE_DEC);
+ x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_x2ap, FT_UINT32, BASE_DEC);
+ x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_x2ap, FT_UINT32, BASE_DEC);
+ x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_x2ap, FT_UINT32, BASE_DEC);
+
+ /* Register configuration options */
+ x2ap_module = prefs_register_protocol(proto_x2ap, NULL);
+
+ prefs_register_enum_preference(x2ap_module, "dissect_rrc_context_as", "Dissect RRC Context as",
+ "Select whether RRC Context should be dissected as legacy LTE or NB-IOT",
+ &g_x2ap_dissect_rrc_context_as, x2ap_rrc_context_vals, FALSE);
+}
+
+
+/*--- proto_reg_handoff_x2ap ---------------------------------------*/
+void
+proto_reg_handoff_x2ap(void)
+{
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_X2AP, x2ap_handle);
+ dissector_add_uint("sctp.ppi", X2AP_PAYLOAD_PROTOCOL_ID, x2ap_handle);
+#include "packet-x2ap-dis-tab.c"
+}
+
+
diff --git a/epan/dissectors/asn1/x2ap/packet-x2ap-template.h b/epan/dissectors/asn1/x2ap/packet-x2ap-template.h
new file mode 100644
index 00000000..fac1a62d
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/packet-x2ap-template.h
@@ -0,0 +1,29 @@
+/* packet-x2ap.h
+ * Routines for E-UTRAN X2 Application Protocol (X2AP) packet dissection
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_X2AP_H
+#define PACKET_X2AP_H
+
+#include "packet-x2ap-exp.h"
+
+#endif /* PACKET_X2AP_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/x2ap/x2ap.cnf b/epan/dissectors/asn1/x2ap/x2ap.cnf
new file mode 100644
index 00000000..85488b5c
--- /dev/null
+++ b/epan/dissectors/asn1/x2ap/x2ap.cnf
@@ -0,0 +1,2262 @@
+# x2ap.cnf
+# x2ap conformation file
+# Copyright 2007 Anders Broman
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+Presence
+ProtocolIE-FieldPair
+ProtocolIE-ContainerList
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+SourceDLForwardingIPAddress
+#.END
+
+#.PDU
+X2AP-PDU
+
+#.MAKE_ENUM
+ProtocolIE-ID
+ProcedureCode
+
+#.USE_VALS_EXT
+CauseRadioNetwork
+OffsetOfNbiotChannelNumberToEARFCN
+NRNRB
+ProcedureCode
+ProtocolIE-ID
+
+#.EXPORTS
+EUTRANRCellResourceCoordinationRequest_PDU
+EUTRANRCellResourceCoordinationResponse_PDU
+MeNBResourceCoordinationInformation_PDU
+ProtectedEUTRAResourceIndication_PDU
+SgNBResourceCoordinationInformation_PDU
+
+#.PDU
+EUTRANRCellResourceCoordinationRequest
+EUTRANRCellResourceCoordinationResponse
+MeNBResourceCoordinationInformation
+ProtectedEUTRAResourceIndication
+SgNBResourceCoordinationInformation
+
+#.TYPE_RENAME
+ProtocolIE-Field/value ProtocolIE_Field_value
+PrivateIE-Field/value PrivateIE_Field_value
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+ProtocolExtensionField/id extension_id
+PrivateIE-Field/id private_id
+InitiatingMessage/value initiatingMessage_value
+
+ProtocolIE-Field/value protocolIE_Field_value
+SuccessfulOutcome/value successfulOutcome_value
+PrivateIE-Field/value privateIE_Field_value
+
+#.FN_BODY ProtocolIE-ID VAL_PTR = &x2ap_data->protocol_ie_id
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(x2ap_data->protocol_ie_id, &x2ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_BODY ProcedureCode VAL_PTR = &x2ap_data->procedure_code
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+
+#.FN_BODY PrivateIE-ID/global FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+%(DEFAULT_BODY)s
+ actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
+
+#.FN_BODY PrivateIE-Field/value
+ if (actx->external.direct_ref_present){
+ offset=call_per_oid_callback(actx->external.direct_reference, tvb, actx->pinfo, tree, offset, actx, hf_index);
+ }else{
+ %(DEFAULT_BODY)s
+ }
+
+#.FN_BODY TargeteNBtoSource-eNBTransparentContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TargeteNBtoSource_eNBTransparentContainer);
+ dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.TYPE_ATTR
+ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &x2ap_ProtocolIE_ID_vals_ext
+#.END
+
+#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb LEN_PTR = &len
+# For details on the Transport Layer Address, see
+# ref. [8], [19]
+# [8] 3GPP TS 36.424: "Evolved Universal Terrestrial Radio Access Network (E-UTRAN); X2 data transport".
+# [19] 3GPP TS 36.414: "Evolved Universal Terrestrial Radio Access Network (E-UTRAN); S1 data transport".
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ int len;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TransportLayerAddress);
+ if (len == 32) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ } else if (len == 128) {
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
+ } else if (len == 160) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
+ }
+
+#.TYPE_ATTR
+Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
+#.FN_BODY Port-Number VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY RRC-Context VAL_PTR = &parameter_tvb
+# Includes the RRC Handover Preparation Information message as defined in
+# subclause 10.2.2 of [9].
+# [9] 3GPP TS 36.331: "Evolved Universal Terrestrial Radio Access (E-UTRAN); Radio Resource
+# Control (RRC) Protocol Specification".
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRC_Context);
+ if (g_x2ap_dissect_rrc_context_as == X2AP_RRC_CONTEXT_NBIOT) {
+ dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else {
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UE-HistoryInformationFromTheUE VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_HistoryInformationFromTheUE);
+ dissect_lte_rrc_VisitedCellInfoList_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.FN_BODY RAT-RestrictionsItem/rAT-RestrictionInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_rAT_RestrictionInformation_LEO,
+ &hf_x2ap_rAT_RestrictionInformation_MEO,
+ &hf_x2ap_rAT_RestrictionInformation_GEO,
+ &hf_x2ap_rAT_RestrictionInformation_OTHERSAT,
+ &hf_x2ap_rAT_RestrictionInformation_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_rAT_RestrictionInformation);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY ReportCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_ReportCharacteristics_PRBPeriodic,
+ &hf_x2ap_ReportCharacteristics_TNLLoadIndPeriodic,
+ &hf_x2ap_ReportCharacteristics_HWLoadIndPeriodic,
+ &hf_x2ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic,
+ &hf_x2ap_ReportCharacteristics_ABSStatusPeriodic,
+ &hf_x2ap_ReportCharacteristics_RSRPMeasurementReportPeriodic,
+ &hf_x2ap_ReportCharacteristics_CSIReportPeriodic,
+ &hf_x2ap_ReportCharacteristics_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_ReportCharacteristics);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY MeasurementFailureCause-Item/measurementFailedReportCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 32, 32, FALSE, NULL, 0, &parameter_tvb, NULL);
+
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_measurementFailedReportCharacteristics_PRBPeriodic,
+ &hf_x2ap_measurementFailedReportCharacteristics_TNLLoadIndPeriodic,
+ &hf_x2ap_measurementFailedReportCharacteristics_HWLoadIndPeriodic,
+ &hf_x2ap_measurementFailedReportCharacteristics_CompositeAvailableCapacityPeriodic,
+ &hf_x2ap_measurementFailedReportCharacteristics_ABSStatusPeriodic,
+ &hf_x2ap_measurementFailedReportCharacteristics_RSRPMeasurementReportPeriodic,
+ &hf_x2ap_measurementFailedReportCharacteristics_CSIReportPeriodic,
+ &hf_x2ap_measurementFailedReportCharacteristics_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_measurementFailedReportCharacteristics);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY UE-RLF-Report-Container VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_RLF_Report_Container);
+ dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.FN_BODY UE-RLF-Report-Container-for-extended-bands VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_RLF_Report_Container_for_extended_bands);
+ dissect_lte_rrc_RLF_Report_v9e0_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.FN_BODY NBIoT-RLF-Report-Container VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NBIoT_RLF_Report_Container);
+ dissect_lte_rrc_RLF_Report_NB_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.FN_BODY MeNBtoSeNBContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeNBtoSeNBContainer);
+ dissect_lte_rrc_SCG_ConfigInfo_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.FN_BODY SeNBtoMeNBContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SeNBtoMeNBContainer);
+ dissect_lte_rrc_SCG_Config_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.FN_BODY MeNBtoSgNBContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeNBtoSgNBContainer);
+ if ((x2ap_data->procedure_code == id_sgNBReconfigurationCompletion &&
+ x2ap_data->message_type == INITIATING_MESSAGE) ||
+ (x2ap_data->procedure_code == id_sgNBinitiatedSgNBModification &&
+ x2ap_data->message_type == SUCCESSFUL_OUTCOME)) {
+ dissect_nr_rrc_RRCReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else {
+ dissect_nr_rrc_CG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SgNBtoMeNBContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SgNBtoMeNBContainer);
+ dissect_nr_rrc_CG_Config_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+
+#.FN_HDR SplitSRB/rrcContainer
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+
+ x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_PDCP_C_PDU;
+
+#.FN_HDR NRUeReport/uENRMeasurements
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+
+ x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT;
+
+#.FN_HDR FastMCGRecovery
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+
+ if (x2ap_data->protocol_ie_id == id_FastMCGRecovery_SN_to_MN)
+ x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB;
+ else if (x2ap_data->protocol_ie_id == id_FastMCGRecovery_MN_to_SN)
+ x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB;
+
+#.FN_BODY RRCContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ switch (x2ap_data->rrc_container_type) {
+ case RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT:
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer);
+ dissect_nr_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB:
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer);
+ dissect_lte_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB:
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer);
+ dissect_lte_rrc_DL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_UNKNOWN;
+
+#.FN_BODY EUTRANTraceID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EUTRANTraceID);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
+ proto_tree_add_item(subtree, hf_x2ap_eUTRANTraceID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_x2ap_eUTRANTraceID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
+
+#.FN_BODY InterfacesToTrace VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_interfacesToTrace_S1_MME,
+ &hf_x2ap_interfacesToTrace_X2,
+ &hf_x2ap_interfacesToTrace_Uu,
+ &hf_x2ap_interfacesToTrace_F1_C,
+ &hf_x2ap_interfacesToTrace_E1,
+ &hf_x2ap_interfacesToTrace_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_InterfacesToTrace);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY LastVisitedPSCell-Item VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_LastVisitedPSCell_Item);
+ dissect_s1ap_PSCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY TraceCollectionEntityIPAddress VAL_PTR = &parameter_tvb LEN_PTR = &len
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ int len;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TraceCollectionEntityIPAddress);
+ if (len == 32) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ } else if (len == 128) {
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv6, parameter_tvb, 0, 16, ENC_NA);
+ } else if (len == 160) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv6, parameter_tvb, 4, 16, ENC_NA);
+ }
+
+#.FN_BODY ECGI
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+ x2ap_data->number_type = E212_ECGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY NRCGI
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+ x2ap_data->number_type = E212_NRCGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY TAI-Item
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+ x2ap_data->number_type = E212_TAI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+LAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY LAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+FiveGS-TAC TYPE = FT_UINT24 DISPLAY = BASE_DEC_HEX
+#.FN_BODY FiveGS-TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY PLMN-Identity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = x2ap_data->number_type;
+ x2ap_data->number_type = E212_NONE;
+
+%(DEFAULT_BODY)s
+
+ if(tvb_reported_length(tvb)==0)
+ return offset;
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_PLMN_Identity);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, number_type, FALSE);
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.FN_BODY GUMMEI
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+ x2ap_data->number_type = E212_GUMMEI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+MME-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC_HEX
+#.FN_BODY MME-Code VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+MME-Group-ID TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
+#.FN_BODY MME-Group-ID VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY EncryptionAlgorithms VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_encryptionAlgorithms_EEA1,
+ &hf_x2ap_encryptionAlgorithms_EEA2,
+ &hf_x2ap_encryptionAlgorithms_EEA3,
+ &hf_x2ap_encryptionAlgorithms_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EncryptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY IntegrityProtectionAlgorithms VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_integrityProtectionAlgorithms_EIA1,
+ &hf_x2ap_integrityProtectionAlgorithms_EIA2,
+ &hf_x2ap_integrityProtectionAlgorithms_EIA3,
+ &hf_x2ap_integrityProtectionAlgorithms_EIA7,
+ &hf_x2ap_integrityProtectionAlgorithms_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_IntegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Time-UE-StayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+Time-UE-StayedInCell-EnhancedGranularity DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_Time_UE_StayedInCell_EnhancedGranularity_fmt)
+
+#.TYPE_ATTR
+MobilityParametersInformation/handoverTriggerChange DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_handoverTriggerChange_fmt)
+
+#.TYPE_ATTR
+MobilityParametersModificationRange/handoverTriggerChangeLowerLimit DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_handoverTriggerChange_fmt)
+
+#.TYPE_ATTR
+MobilityParametersModificationRange/handoverTriggerChangeUpperLimit DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_handoverTriggerChange_fmt)
+
+#.FN_BODY MeasurementsToActivate VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_measurementsToActivate_M1,
+ &hf_x2ap_measurementsToActivate_M2,
+ &hf_x2ap_measurementsToActivate_M3,
+ &hf_x2ap_measurementsToActivate_M4,
+ &hf_x2ap_measurementsToActivate_M5,
+ &hf_x2ap_measurementsToActivate_LoggingM1FromEventTriggered,
+ &hf_x2ap_measurementsToActivate_M6,
+ &hf_x2ap_measurementsToActivate_M7,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeasurementsToActivate);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+Threshold-RSRP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_Threshold_RSRP_fmt)
+
+#.TYPE_ATTR
+Threshold-RSRQ DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_Threshold_RSRQ_fmt)
+
+#.FN_BODY MDT-Location-Info VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_MDT_Location_Info_GNSS,
+ &hf_x2ap_MDT_Location_Info_E_CID,
+ &hf_x2ap_MDT_Location_Info_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MDT_Location_Info);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+ExpectedActivityPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ExpectedIdlePeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+RSRPMeasurementResult/_item/rSRPMeasured DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(x2ap_Threshold_RSRP_fmt)
+
+#.FN_BODY DynamicNAICSInformation/transmissionModes VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_MDT_transmissionModes_tm1,
+ &hf_x2ap_MDT_transmissionModes_tm2,
+ &hf_x2ap_MDT_transmissionModes_tm3,
+ &hf_x2ap_MDT_transmissionModes_tm4,
+ &hf_x2ap_MDT_transmissionModes_tm6,
+ &hf_x2ap_MDT_transmissionModes_tm8,
+ &hf_x2ap_MDT_transmissionModes_tm9,
+ &hf_x2ap_MDT_transmissionModes_tm10,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_transmissionModes);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+LHN-ID TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY LHN-ID VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+
+#.FN_BODY X2AP-Message VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_X2AP_Message);
+ dissect_X2AP_PDU_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+ExtendedBitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.FN_BODY NRencryptionAlgorithms VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_x2ap_NRencryptionAlgorithms_NEA1,
+ &hf_x2ap_NRencryptionAlgorithms_NEA2,
+ &hf_x2ap_NRencryptionAlgorithms_NEA3,
+ &hf_x2ap_NRencryptionAlgorithms_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRencryptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY NRintegrityProtectionAlgorithms VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_x2ap_NRintegrityProtectionAlgorithms_NIA1,
+ &hf_x2ap_NRintegrityProtectionAlgorithms_NIA2,
+ &hf_x2ap_NRintegrityProtectionAlgorithms_NIA3,
+ &hf_x2ap_NRintegrityProtectionAlgorithms_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRintegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY E-RABUsageReport-Item/startTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR E-RABUsageReport-Item/startTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.FN_BODY E-RABUsageReport-Item/endTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR E-RABUsageReport-Item/endTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.TYPE_ATTR
+E-RABUsageReport-Item/usageCountUL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+E-RABUsageReport-Item/usageCountDL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.FN_BODY ServedNRCell-Information/measurementTimingConfiguration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_measurementTimingConfiguration);
+ dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NRNeighbour-Information/_item/measurementTimingConfiguration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_measurementTimingConfiguration);
+ dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+Packet-LossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(x2ap_Packet_LossRate_fmt)
+
+#.FN_FTR ProtectedEUTRAResourceIndication/mBSFNControlRegionLength
+ proto_item_append_text(actx->created_item, " REs");
+
+#.FN_FTR ProtectedEUTRAResourceIndication/pDCCHRegionLength
+ proto_item_append_text(actx->created_item, " REs");
+
+#.FN_FTR ReservedSubframePattern/mBSFNControlRegionLength
+ proto_item_append_text(actx->created_item, " REs");
+
+#.TYPE_ATTR
+BluetoothName TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY BluetoothName VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+#.END
+
+#.TYPE_ATTR
+WLANName TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY WLANName VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+#.END
+
+#.TYPE_ATTR
+Subscription-Based-UE-DifferentiationInfo/periodicTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ScheduledCommunicationTime/timeofDayStart DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ScheduledCommunicationTime/timeofDayEnd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY LastVisitedNGRANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_LastVisitedNGRANCellInformation);
+ dissect_ngap_LastVisitedNGRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY LastVisitedUTRANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_LastVisitedUTRANCellInformation);
+ dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY EndcSONConfigurationTransfer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EndcSONConfigurationTransfer);
+ dissect_s1ap_EN_DCSONConfigurationTransfer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY EPCHandoverRestrictionListContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EPCHandoverRestrictionListContainer);
+ dissect_s1ap_HandoverRestrictionList_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_NPRACHConfig);
+ dissect_lte_rrc_NPRACH_ParametersList_NB_r13_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-EDT-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_EDT_NPRACHConfig);
+ dissect_lte_rrc_NPRACH_ParametersList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-Format2-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_Format2_NPRACHConfig);
+ dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-Format2-EDT-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig);
+ dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/non-anchorCarrier-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_NPRACHConfig);
+ dissect_lte_rrc_UL_ConfigCommonList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/non-anchorCarrier-Format2-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig);
+ dissect_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-TDD/anchorCarrier-NPRACHConfigTDD VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_NPRACHConfigTDD);
+ dissect_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-TDD/non-anchorCarrier-NPRACHConfigTDD VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_NPRACHConfigTDD);
+ dissect_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Non-anchorCarrierFrequency VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_Non_anchorCarrierFrequency);
+ dissect_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ReportCharacteristics-ENDC VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic,
+ &hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic,
+ &hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic,
+ &hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs,
+ &hf_x2ap_ReportCharacteristics_ENDC_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_ReportCharacteristics_ENDC);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY TargetCellInNGRAN VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TargetCellInNGRAN);
+ dissect_ngap_NGRAN_CGI_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY TDDULDLConfigurationCommonNR VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TDDULDLConfigurationCommonNR);
+ dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_HDR Registration-Request
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+ if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation)
+ return dissect_x2ap_Registration_Request_ENDC(tvb, offset, actx, tree, hf_x2ap_Registration_Request_ENDC_PDU);
+
+#.FN_HDR ReportingPeriodicity
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+ if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation)
+ return dissect_x2ap_ReportingPeriodicity_ENDC(tvb, offset, actx, tree, hf_x2ap_ReportingPeriodicity_ENDC_PDU);
+
+#.FN_HDR ReportCharacteristics
+ struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
+ if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation)
+ return dissect_x2ap_ReportCharacteristics_ENDC(tvb, offset, actx, tree, hf_x2ap_ReportCharacteristics_ENDC_PDU);
+
+#.FN_BODY MDT-ConfigurationNR VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MDT_ConfigurationNR);
+ dissect_ngap_MDT_Configuration_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NRCellPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRCellPRACHConfig);
+ dissect_f1ap_NRPRACHConfig_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NRRACHReportContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRRACHReportContainer);
+ dissect_nr_rrc_RA_ReportList_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY IntendedTDD-DL-ULConfiguration-NR VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_IntendedTDD_DL_ULConfiguration_NR);
+ dissect_xnap_IntendedTDD_DL_ULConfiguration_NR_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UERadioCapability VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UERadioCapability);
+ dissect_lte_rrc_UERadioAccessCapabilityInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+#.END
+
+#.FN_HDR HandoverRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
+#.FN_HDR HandoverRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
+#.FN_HDR HandoverPreparationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
+#.FN_HDR SNStatusTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer");
+#.FN_HDR UEContextRelease
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease");
+#.FN_HDR HandoverCancel
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
+#.FN_HDR ErrorIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
+#.FN_HDR ResetRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
+#.FN_HDR ResetResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
+#.FN_HDR X2SetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupRequest");
+#.FN_HDR X2SetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupResponse");
+#.FN_HDR X2SetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupFailure");
+#.FN_HDR LoadInformation
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LoadInformation");
+#.FN_HDR ENBConfigurationUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
+#.FN_HDR ENBConfigurationUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
+#.FN_HDR ENBConfigurationUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
+#.FN_HDR ResourceStatusRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest");
+#.FN_HDR ResourceStatusResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse");
+#.FN_HDR ResourceStatusFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure");
+#.FN_HDR ResourceStatusUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate");
+#.FN_HDR PrivateMessage
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
+#.FN_HDR HandoverReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverReport");
+#.FN_HDR RLFIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RLFIndication");
+#.FN_HDR MobilityChangeRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeRequest");
+#.FN_HDR MobilityChangeAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeAcknowledge");
+#.FN_HDR MobilityChangeFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeFailure");
+#.FN_HDR CellActivationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest");
+#.FN_HDR CellActivationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse");
+#.FN_HDR CellActivationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure");
+#.FN_HDR X2Release
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2Release");
+#.FN_HDR X2APMessageTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2APMessageTransfer");
+#.FN_HDR X2RemovalRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalRequest");
+#.FN_HDR X2RemovalResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalResponse");
+#.FN_HDR X2RemovalFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalFailure");
+#.FN_HDR SeNBAdditionRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequest");
+#.FN_HDR SeNBAdditionRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestAcknowledge");
+#.FN_HDR SeNBAdditionRequestReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestReject");
+#.FN_HDR SeNBReconfigurationComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReconfigurationComplete");
+#.FN_HDR SeNBModificationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequest");
+#.FN_HDR SeNBModificationRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestAcknowledge");
+#.FN_HDR SeNBModificationRequestReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestReject");
+#.FN_HDR SeNBModificationRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequired");
+#.FN_HDR SeNBModificationConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationConfirm");
+#.FN_HDR SeNBModificationRefuse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRefuse");
+#.FN_HDR SeNBReleaseRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequest");
+#.FN_HDR SeNBReleaseRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequired");
+#.FN_HDR SeNBReleaseConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseConfirm");
+#.FN_HDR SeNBCounterCheckRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBCounterCheckRequest");
+#.FN_HDR RetrieveUEContextRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest");
+#.FN_HDR RetrieveUEContextResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse");
+#.FN_HDR RetrieveUEContextFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure");
+#.FN_HDR SgNBAdditionRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequest");
+#.FN_HDR SgNBAdditionRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestAcknowledge");
+#.FN_HDR SgNBAdditionRequestReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestReject");
+#.FN_HDR SgNBReconfigurationComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReconfigurationComplete");
+#.FN_HDR SgNBModificationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequest");
+#.FN_HDR SgNBModificationRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestAcknowledge");
+#.FN_HDR SgNBModificationRequestReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestReject");
+#.FN_HDR SgNBModificationRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequired");
+#.FN_HDR SgNBModificationConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationConfirm");
+#.FN_HDR SgNBModificationRefuse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRefuse");
+#.FN_HDR SgNBReleaseRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequest");
+#.FN_HDR SgNBReleaseRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestAcknowledge");
+#.FN_HDR SgNBReleaseRequestReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestReject");
+#.FN_HDR SgNBReleaseRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequired");
+#.FN_HDR SgNBReleaseConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseConfirm");
+#.FN_HDR SgNBCounterCheckRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBCounterCheckRequest");
+#.FN_HDR SgNBChangeRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRequired");
+#.FN_HDR SgNBChangeConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeConfirm");
+#.FN_HDR SgNBChangeRefuse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRefuse");
+#.FN_HDR RRCTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer");
+#.FN_HDR ENDCX2SetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupRequest");
+#.FN_HDR ENDCX2SetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupResponse");
+#.FN_HDR ENDCX2SetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupFailure");
+#.FN_HDR ENDCConfigurationUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdate");
+#.FN_HDR ENDCConfigurationUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateAcknowledge");
+#.FN_HDR ENDCConfigurationUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateFailure");
+#.FN_HDR SecondaryRATDataUsageReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport");
+#.FN_HDR ENDCCellActivationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationRequest");
+#.FN_HDR ENDCCellActivationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationResponse");
+#.FN_HDR ENDCCellActivationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationFailure");
+#.FN_HDR ENDCPartialResetRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCPartialResetRequired");
+#.FN_HDR ENDCPartialResetConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCPartialResetConfirm");
+#.FN_HDR EUTRANRCellResourceCoordinationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EUTRANRCellResourceCoordinationRequest");
+#.FN_HDR EUTRANRCellResourceCoordinationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EUTRANRCellResourceCoordinationResponse");
+#.FN_HDR SgNBActivityNotification
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBActivityNotification");
+#.FN_HDR ENDCX2RemovalRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalRequest");
+#.FN_HDR ENDCX2RemovalResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalResponse");
+#.FN_HDR ENDCX2RemovalFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalFailure");
+#.FN_HDR DataForwardingAddressIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataForwardingAddressIndication");
+#.FN_HDR GNBStatusIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBStatusIndication");
+#.FN_HDR ENDCConfigurationTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationTransfer");
+#.FN_HDR DeactivateTrace
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
+#.FN_HDR TraceStart
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
+#.FN_HDR HandoverSuccess
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess");
+#.FN_HDR EarlyStatusTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyStatusTransfer");
+#.FN_HDR ConditionalHandoverCancel
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConditionalHandoverCancel");
+#.FN_HDR ENDCResourceStatusRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusRequest");
+#.FN_HDR ENDCResourceStatusResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusResponse");
+#.FN_HDR ENDCResourceStatusFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusFailure");
+#.FN_HDR ENDCResourceStatusUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusUpdate");
+#.FN_HDR CellTrafficTrace
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
+#.FN_HDR F1CTrafficTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1CTrafficTransfer");
+#.FN_HDR UERadioCapabilityIDMappingRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingRequest");
+#.FN_HDR UERadioCapabilityIDMappingResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingResponse");
+#.FN_HDR AccessAndMobilityIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessAndMobilityIndication");
+#.FN_HDR CPC-cancel
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CPC-cancel");
+
+#.ASSIGN_VALUE_TO_TYPE # X2AP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+
+id-handoverPreparation ProcedureCode
+id-handoverCancel ProcedureCode
+id-loadIndication ProcedureCode
+id-errorIndication ProcedureCode
+id-snStatusTransfer ProcedureCode
+id-uEContextRelease ProcedureCode
+id-x2Setup ProcedureCode
+id-reset ProcedureCode
+id-eNBConfigurationUpdate ProcedureCode
+id-resourceStatusReportingInitiation ProcedureCode
+id-resourceStatusReporting ProcedureCode
+id-privateMessage ProcedureCode
+id-mobilitySettingsChange ProcedureCode
+id-rLFIndication ProcedureCode
+id-handoverReport ProcedureCode
+id-cellActivation ProcedureCode
+id-x2Release ProcedureCode
+id-x2APMessageTransfer ProcedureCode
+id-x2Removal ProcedureCode
+id-seNBAdditionPreparation ProcedureCode
+id-seNBReconfigurationCompletion ProcedureCode
+id-meNBinitiatedSeNBModificationPreparation ProcedureCode
+id-seNBinitiatedSeNBModification ProcedureCode
+id-meNBinitiatedSeNBRelease ProcedureCode
+id-seNBinitiatedSeNBRelease ProcedureCode
+id-seNBCounterCheck ProcedureCode
+id-retrieveUEContext ProcedureCode
+id-sgNBAdditionPreparation ProcedureCode
+id-sgNBReconfigurationCompletion ProcedureCode
+id-meNBinitiatedSgNBModificationPreparation ProcedureCode
+id-sgNBinitiatedSgNBModification ProcedureCode
+id-meNBinitiatedSgNBRelease ProcedureCode
+id-sgNBinitiatedSgNBRelease ProcedureCode
+id-sgNBCounterCheck ProcedureCode
+id-sgNBChange ProcedureCode
+id-rRCTransfer ProcedureCode
+id-endcX2Setup ProcedureCode
+id-endcConfigurationUpdate ProcedureCode
+id-secondaryRATDataUsageReport ProcedureCode
+id-endcCellActivation ProcedureCode
+id-endcPartialReset ProcedureCode
+id-eUTRANRCellResourceCoordination ProcedureCode
+id-SgNBActivityNotification ProcedureCode
+id-endcX2Removal ProcedureCode
+id-dataForwardingAddressIndication ProcedureCode
+id-gNBStatusIndication ProcedureCode
+id-deactivateTrace ProcedureCode
+id-traceStart ProcedureCode
+id-endcConfigurationTransfer ProcedureCode
+id-handoverSuccess ProcedureCode
+id-conditionalHandoverCancel ProcedureCode
+id-earlyStatusTransfer ProcedureCode
+id-cellTrafficTrace ProcedureCode
+id-endcresourceStatusReporting ProcedureCode
+id-endcresourceStatusReportingInitiation ProcedureCode
+id-f1CTrafficTransfer ProcedureCode
+id-UERadioCapabilityIDMapping ProcedureCode
+id-accessAndMobilityIndication ProcedureCode
+id-procedure-code-58-not-to-be-used ProcedureCode
+id-CPC-cancel ProcedureCode
+
+
+# ProtocolIE-ID
+
+id-E-RABs-Admitted-Item ProtocolIE-ID
+id-E-RABs-Admitted-List ProtocolIE-ID
+id-E-RAB-Item ProtocolIE-ID
+id-E-RABs-NotAdmitted-List ProtocolIE-ID
+id-E-RABs-ToBeSetup-Item ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-CellInformation ProtocolIE-ID
+id-CellInformation-Item ProtocolIE-ID
+id-New-eNB-UE-X2AP-ID ProtocolIE-ID
+id-Old-eNB-UE-X2AP-ID ProtocolIE-ID
+id-TargetCell-ID ProtocolIE-ID
+id-TargeteNBtoSource-eNBTransparentContainer ProtocolIE-ID
+id-TraceActivation ProtocolIE-ID
+id-UE-ContextInformation ProtocolIE-ID
+id-UE-HistoryInformation ProtocolIE-ID
+id-UE-X2AP-ID ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-E-RABs-SubjectToStatusTransfer-List ProtocolIE-ID
+id-E-RABs-SubjectToStatusTransfer-Item ProtocolIE-ID
+id-ServedCells ProtocolIE-ID
+id-GlobalENB-ID ProtocolIE-ID
+id-TimeToWait ProtocolIE-ID
+id-GUMMEI-ID ProtocolIE-ID
+id-GUGroupIDList ProtocolIE-ID
+id-ServedCellsToAdd ProtocolIE-ID
+id-ServedCellsToModify ProtocolIE-ID
+id-ServedCellsToDelete ProtocolIE-ID
+id-Registration-Request ProtocolIE-ID
+id-CellToReport ProtocolIE-ID
+id-ReportingPeriodicity ProtocolIE-ID
+id-CellToReport-Item ProtocolIE-ID
+id-CellMeasurementResult ProtocolIE-ID
+id-CellMeasurementResult-Item ProtocolIE-ID
+id-GUGroupIDToAddList ProtocolIE-ID
+id-GUGroupIDToDeleteList ProtocolIE-ID
+id-SRVCCOperationPossible ProtocolIE-ID
+id-Measurement-ID ProtocolIE-ID
+id-ReportCharacteristics ProtocolIE-ID
+id-ENB1-Measurement-ID ProtocolIE-ID
+id-ENB2-Measurement-ID ProtocolIE-ID
+id-Number-of-Antennaports ProtocolIE-ID
+id-CompositeAvailableCapacityGroup ProtocolIE-ID
+id-ENB1-Cell-ID ProtocolIE-ID
+id-ENB2-Cell-ID ProtocolIE-ID
+id-ENB2-Proposed-Mobility-Parameters ProtocolIE-ID
+id-ENB1-Mobility-Parameters ProtocolIE-ID
+id-ENB2-Mobility-Parameters-Modification-Range ProtocolIE-ID
+id-FailureCellPCI ProtocolIE-ID
+id-Re-establishmentCellECGI ProtocolIE-ID
+id-FailureCellCRNTI ProtocolIE-ID
+id-ShortMAC-I ProtocolIE-ID
+id-SourceCellECGI ProtocolIE-ID
+id-FailureCellECGI ProtocolIE-ID
+id-HandoverReportType ProtocolIE-ID
+id-PRACH-Configuration ProtocolIE-ID
+id-MBSFN-Subframe-Info ProtocolIE-ID
+id-ServedCellsToActivate ProtocolIE-ID
+id-ActivatedCellList ProtocolIE-ID
+id-DeactivationIndication ProtocolIE-ID
+id-UE-RLF-Report-Container ProtocolIE-ID
+id-ABSInformation ProtocolIE-ID
+id-InvokeIndication ProtocolIE-ID
+id-ABS-Status ProtocolIE-ID
+id-PartialSuccessIndicator ProtocolIE-ID
+id-MeasurementInitiationResult-List ProtocolIE-ID
+id-MeasurementInitiationResult-Item ProtocolIE-ID
+id-MeasurementFailureCause-Item ProtocolIE-ID
+id-CompleteFailureCauseInformation-List ProtocolIE-ID
+id-CompleteFailureCauseInformation-Item ProtocolIE-ID
+id-CSG-Id ProtocolIE-ID
+id-CSGMembershipStatus ProtocolIE-ID
+id-MDTConfiguration ProtocolIE-ID
+id-ManagementBasedMDTallowed ProtocolIE-ID
+id-RRCConnSetupIndicator ProtocolIE-ID
+id-NeighbourTAC ProtocolIE-ID
+id-Time-UE-StayedInCell-EnhancedGranularity ProtocolIE-ID
+id-RRCConnReestabIndicator ProtocolIE-ID
+id-MBMS-Service-Area-List ProtocolIE-ID
+id-HO-cause ProtocolIE-ID
+id-TargetCellInUTRAN ProtocolIE-ID
+id-MobilityInformation ProtocolIE-ID
+id-SourceCellCRNTI ProtocolIE-ID
+id-MultibandInfoList ProtocolIE-ID
+id-M3Configuration ProtocolIE-ID
+id-M4Configuration ProtocolIE-ID
+id-M5Configuration ProtocolIE-ID
+id-MDT-Location-Info ProtocolIE-ID
+id-ManagementBasedMDTPLMNList ProtocolIE-ID
+id-SignallingBasedMDTPLMNList ProtocolIE-ID
+id-ReceiveStatusOfULPDCPSDUsExtended ProtocolIE-ID
+id-ULCOUNTValueExtended ProtocolIE-ID
+id-DLCOUNTValueExtended ProtocolIE-ID
+id-eARFCNExtension ProtocolIE-ID
+id-UL-EARFCNExtension ProtocolIE-ID
+id-DL-EARFCNExtension ProtocolIE-ID
+id-AdditionalSpecialSubframe-Info ProtocolIE-ID
+id-Masked-IMEISV ProtocolIE-ID
+id-IntendedULDLConfiguration ProtocolIE-ID
+id-ExtendedULInterferenceOverloadInfo ProtocolIE-ID
+id-RNL-Header ProtocolIE-ID
+id-x2APMessage ProtocolIE-ID
+id-ProSeAuthorized ProtocolIE-ID
+id-ExpectedUEBehaviour ProtocolIE-ID
+id-UE-HistoryInformationFromTheUE ProtocolIE-ID
+id-DynamicDLTransmissionInformation ProtocolIE-ID
+id-UE-RLF-Report-Container-for-extended-bands ProtocolIE-ID
+id-CoMPInformation ProtocolIE-ID
+id-ReportingPeriodicityRSRPMR ProtocolIE-ID
+id-RSRPMRList ProtocolIE-ID
+id-MeNB-UE-X2AP-ID ProtocolIE-ID
+id-SeNB-UE-X2AP-ID ProtocolIE-ID
+id-UE-SecurityCapabilities ProtocolIE-ID
+id-SeNBSecurityKey ProtocolIE-ID
+id-SeNBUEAggregateMaximumBitRate ProtocolIE-ID
+id-ServingPLMN ProtocolIE-ID
+id-E-RABs-ToBeAdded-List ProtocolIE-ID
+id-E-RABs-ToBeAdded-Item ProtocolIE-ID
+id-MeNBtoSeNBContainer ProtocolIE-ID
+id-E-RABs-Admitted-ToBeAdded-List ProtocolIE-ID
+id-E-RABs-Admitted-ToBeAdded-Item ProtocolIE-ID
+id-SeNBtoMeNBContainer ProtocolIE-ID
+id-ResponseInformationSeNBReconfComp ProtocolIE-ID
+id-UE-ContextInformationSeNBModReq ProtocolIE-ID
+id-E-RABs-ToBeAdded-ModReqItem ProtocolIE-ID
+id-E-RABs-ToBeModified-ModReqItem ProtocolIE-ID
+id-E-RABs-ToBeReleased-ModReqItem ProtocolIE-ID
+id-E-RABs-Admitted-ToBeAdded-ModAckList ProtocolIE-ID
+id-E-RABs-Admitted-ToBeModified-ModAckList ProtocolIE-ID
+id-E-RABs-Admitted-ToBeReleased-ModAckList ProtocolIE-ID
+id-E-RABs-Admitted-ToBeAdded-ModAckItem ProtocolIE-ID
+id-E-RABs-Admitted-ToBeModified-ModAckItem ProtocolIE-ID
+id-E-RABs-Admitted-ToBeReleased-ModAckItem ProtocolIE-ID
+id-E-RABs-ToBeReleased-ModReqd ProtocolIE-ID
+id-E-RABs-ToBeReleased-ModReqdItem ProtocolIE-ID
+id-SCGChangeIndication ProtocolIE-ID
+id-E-RABs-ToBeReleased-List-RelReq ProtocolIE-ID
+id-E-RABs-ToBeReleased-RelReqItem ProtocolIE-ID
+id-E-RABs-ToBeReleased-List-RelConf ProtocolIE-ID
+id-E-RABs-ToBeReleased-RelConfItem ProtocolIE-ID
+id-E-RABs-SubjectToCounterCheck-List ProtocolIE-ID
+id-E-RABs-SubjectToCounterCheckItem ProtocolIE-ID
+id-CoverageModificationList ProtocolIE-ID
+id-ReportingPeriodicityCSIR ProtocolIE-ID
+id-CSIReportList ProtocolIE-ID
+id-UEID ProtocolIE-ID
+id-enhancedRNTP ProtocolIE-ID
+id-ProSeUEtoNetworkRelaying ProtocolIE-ID
+id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ProtocolIE-ID
+id-ULCOUNTValuePDCP-SNlength18 ProtocolIE-ID
+id-DLCOUNTValuePDCP-SNlength18 ProtocolIE-ID
+id-UE-ContextReferenceAtSeNB ProtocolIE-ID
+id-UE-ContextKeptIndicator ProtocolIE-ID
+id-New-eNB-UE-X2AP-ID-Extension ProtocolIE-ID
+id-Old-eNB-UE-X2AP-ID-Extension ProtocolIE-ID
+id-MeNB-UE-X2AP-ID-Extension ProtocolIE-ID
+id-SeNB-UE-X2AP-ID-Extension ProtocolIE-ID
+id-LHN-ID ProtocolIE-ID
+id-FreqBandIndicatorPriority ProtocolIE-ID
+id-M6Configuration ProtocolIE-ID
+id-M7Configuration ProtocolIE-ID
+id-Tunnel-Information-for-BBF ProtocolIE-ID
+id-SIPTO-BearerDeactivationIndication ProtocolIE-ID
+id-GW-TransportLayerAddress ProtocolIE-ID
+id-Correlation-ID ProtocolIE-ID
+id-SIPTO-Correlation-ID ProtocolIE-ID
+id-SIPTO-L-GW-TransportLayerAddress ProtocolIE-ID
+id-X2RemovalThreshold ProtocolIE-ID
+id-CellReportingIndicator ProtocolIE-ID
+id-BearerType ProtocolIE-ID
+id-resumeID ProtocolIE-ID
+id-UE-ContextInformationRetrieve ProtocolIE-ID
+id-E-RABs-ToBeSetupRetrieve-Item ProtocolIE-ID
+id-NewEUTRANCellIdentifier ProtocolIE-ID
+id-V2XServicesAuthorized ProtocolIE-ID
+id-OffsetOfNbiotChannelNumberToDL-EARFCN ProtocolIE-ID
+id-OffsetOfNbiotChannelNumberToUL-EARFCN ProtocolIE-ID
+id-AdditionalSpecialSubframeExtension-Info ProtocolIE-ID
+id-BandwidthReducedSI ProtocolIE-ID
+id-MakeBeforeBreakIndicator ProtocolIE-ID
+id-UE-ContextReferenceAtWT ProtocolIE-ID
+id-WT-UE-ContextKeptIndicator ProtocolIE-ID
+id-UESidelinkAggregateMaximumBitRate ProtocolIE-ID
+id-uL-GTPtunnelEndpoint ProtocolIE-ID
+id-DL-scheduling-PDCCH-CCE-usage ProtocolIE-ID
+id-UL-scheduling-PDCCH-CCE-usage ProtocolIE-ID
+id-UEAppLayerMeasConfig ProtocolIE-ID
+id-extended-e-RAB-MaximumBitrateDL ProtocolIE-ID
+id-extended-e-RAB-MaximumBitrateUL ProtocolIE-ID
+id-extended-e-RAB-GuaranteedBitrateDL ProtocolIE-ID
+id-extended-e-RAB-GuaranteedBitrateUL ProtocolIE-ID
+id-extended-uEaggregateMaximumBitRateDownlink ProtocolIE-ID
+id-extended-uEaggregateMaximumBitRateUplink ProtocolIE-ID
+id-NRrestrictioninEPSasSecondaryRAT ProtocolIE-ID
+id-SgNBSecurityKey ProtocolIE-ID
+id-SgNBUEAggregateMaximumBitRate ProtocolIE-ID
+id-E-RABs-ToBeAdded-SgNBAddReqList ProtocolIE-ID
+id-MeNBtoSgNBContainer ProtocolIE-ID
+id-SgNB-UE-X2AP-ID ProtocolIE-ID
+id-RequestedSplitSRBs ProtocolIE-ID
+id-E-RABs-ToBeAdded-SgNBAddReq-Item ProtocolIE-ID
+id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList ProtocolIE-ID
+id-SgNBtoMeNBContainer ProtocolIE-ID
+id-AdmittedSplitSRBs ProtocolIE-ID
+id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item ProtocolIE-ID
+id-ResponseInformationSgNBReconfComp ProtocolIE-ID
+id-UE-ContextInformation-SgNBModReq ProtocolIE-ID
+id-E-RABs-ToBeAdded-SgNBModReq-Item ProtocolIE-ID
+id-E-RABs-ToBeModified-SgNBModReq-Item ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBModReq-Item ProtocolIE-ID
+id-E-RABs-Admitted-ToBeAdded-SgNBModAckList ProtocolIE-ID
+id-E-RABs-Admitted-ToBeModified-SgNBModAckList ProtocolIE-ID
+id-E-RABs-Admitted-ToBeReleased-SgNBModAckList ProtocolIE-ID
+id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item ProtocolIE-ID
+id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item ProtocolIE-ID
+id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBModReqdList ProtocolIE-ID
+id-E-RABs-ToBeModified-SgNBModReqdList ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBModReqd-Item ProtocolIE-ID
+id-E-RABs-ToBeModified-SgNBModReqd-Item ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBChaConfList ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBChaConf-Item ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBRelReqList ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBRelReq-Item ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBRelConfList ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBRelConf-Item ProtocolIE-ID
+id-E-RABs-SubjectToSgNBCounterCheck-List ProtocolIE-ID
+id-E-RABs-SubjectToSgNBCounterCheck-Item ProtocolIE-ID
+id-RRCContainer ProtocolIE-ID
+id-SRBType ProtocolIE-ID
+id-Target-SgNB-ID ProtocolIE-ID
+id-HandoverRestrictionList ProtocolIE-ID
+id-SCGConfigurationQuery ProtocolIE-ID
+id-SplitSRB ProtocolIE-ID
+id-NRUeReport ProtocolIE-ID
+id-InitiatingNodeType-EndcX2Setup ProtocolIE-ID
+id-InitiatingNodeType-EndcConfigUpdate ProtocolIE-ID
+id-RespondingNodeType-EndcX2Setup ProtocolIE-ID
+id-RespondingNodeType-EndcConfigUpdate ProtocolIE-ID
+id-NRUESecurityCapabilities ProtocolIE-ID
+id-PDCPChangeIndication ProtocolIE-ID
+id-ServedEUTRAcellsENDCX2ManagementList ProtocolIE-ID
+id-CellAssistanceInformation ProtocolIE-ID
+id-Globalen-gNB-ID ProtocolIE-ID
+id-ServedNRcellsENDCX2ManagementList ProtocolIE-ID
+id-UE-ContextReferenceAtSgNB ProtocolIE-ID
+id-SecondaryRATUsageReport ProtocolIE-ID
+id-ActivationID ProtocolIE-ID
+id-MeNBResourceCoordinationInformation ProtocolIE-ID
+id-SgNBResourceCoordinationInformation ProtocolIE-ID
+id-ServedEUTRAcellsToModifyListENDCConfUpd ProtocolIE-ID
+id-ServedEUTRAcellsToDeleteListENDCConfUpd ProtocolIE-ID
+id-ServedNRcellsToModifyListENDCConfUpd ProtocolIE-ID
+id-ServedNRcellsToDeleteListENDCConfUpd ProtocolIE-ID
+id-E-RABUsageReport-Item ProtocolIE-ID
+id-Old-SgNB-UE-X2AP-ID ProtocolIE-ID
+id-SecondaryRATUsageReportList ProtocolIE-ID
+id-SecondaryRATUsageReport-Item ProtocolIE-ID
+id-ServedNRCellsToActivate ProtocolIE-ID
+id-ActivatedNRCellList ProtocolIE-ID
+id-SelectedPLMN ProtocolIE-ID
+id-UEs-ToBeReset ProtocolIE-ID
+id-UEs-Admitted-ToBeReset ProtocolIE-ID
+id-RRCConfigIndication ProtocolIE-ID
+id-DownlinkPacketLossRate ProtocolIE-ID
+id-UplinkPacketLossRate ProtocolIE-ID
+id-SubscriberProfileIDforRFP ProtocolIE-ID
+id-serviceType ProtocolIE-ID
+id-AerialUEsubscriptionInformation ProtocolIE-ID
+id-SGNB-Addition-Trigger-Ind ProtocolIE-ID
+id-MeNBCell-ID ProtocolIE-ID
+id-RequestedSplitSRBsrelease ProtocolIE-ID
+id-AdmittedSplitSRBsrelease ProtocolIE-ID
+id-NRS-NSSS-PowerOffset ProtocolIE-ID
+id-NSSS-NumOccasionDifferentPrecoder ProtocolIE-ID
+id-ProtectedEUTRAResourceIndication ProtocolIE-ID
+id-InitiatingNodeType-EutranrCellResourceCoordination ProtocolIE-ID
+id-RespondingNodeType-EutranrCellResourceCoordination ProtocolIE-ID
+id-DataTrafficResourceIndication ProtocolIE-ID
+id-SpectrumSharingGroupID ProtocolIE-ID
+id-ListofEUTRACellsinEUTRACoordinationReq ProtocolIE-ID
+id-ListofEUTRACellsinEUTRACoordinationResp ProtocolIE-ID
+id-ListofEUTRACellsinNRCoordinationReq ProtocolIE-ID
+id-ListofNRCellsinNRCoordinationReq ProtocolIE-ID
+id-ListofNRCellsinNRCoordinationResp ProtocolIE-ID
+id-E-RABs-AdmittedToBeModified-SgNBModConfList ProtocolIE-ID
+id-E-RABs-AdmittedToBeModified-SgNBModConf-Item ProtocolIE-ID
+id-UEContextLevelUserPlaneActivity ProtocolIE-ID
+id-ERABActivityNotifyItemList ProtocolIE-ID
+id-InitiatingNodeType-EndcX2Removal ProtocolIE-ID
+id-RespondingNodeType-EndcX2Removal ProtocolIE-ID
+id-RLC-Status ProtocolIE-ID
+id-CNTypeRestrictions ProtocolIE-ID
+id-uLpDCPSnLength ProtocolIE-ID
+id-BluetoothMeasurementConfiguration ProtocolIE-ID
+id-WLANMeasurementConfiguration ProtocolIE-ID
+id-NRrestrictionin5GS ProtocolIE-ID
+id-dL-Forwarding ProtocolIE-ID
+id-E-RABs-DataForwardingAddress-List ProtocolIE-ID
+id-E-RABs-DataForwardingAddress-Item ProtocolIE-ID
+id-Subscription-Based-UE-DifferentiationInfo ProtocolIE-ID
+id-GNBOverloadInformation ProtocolIE-ID
+id-dLPDCPSnLength ProtocolIE-ID
+id-secondarysgNBDLGTPTEIDatPDCP ProtocolIE-ID
+id-secondarymeNBULGTPTEIDatPDCP ProtocolIE-ID
+id-lCID ProtocolIE-ID
+id-duplicationActivation ProtocolIE-ID
+id-ECGI ProtocolIE-ID
+id-RLCMode-transferred ProtocolIE-ID
+id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList ProtocolIE-ID
+id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBRelReqdList ProtocolIE-ID
+id-E-RABs-ToBeReleased-SgNBRelReqd-Item ProtocolIE-ID
+id-NRCGI ProtocolIE-ID
+id-MeNBCoordinationAssistanceInformation ProtocolIE-ID
+id-SgNBCoordinationAssistanceInformation ProtocolIE-ID
+id-new-drb-ID-req ProtocolIE-ID
+id-endcSONConfigurationTransfer ProtocolIE-ID
+id-NRNeighbourInfoToAdd ProtocolIE-ID
+id-NRNeighbourInfoToModify ProtocolIE-ID
+id-DesiredActNotificationLevel ProtocolIE-ID
+id-LocationInformationSgNBReporting ProtocolIE-ID
+id-LocationInformationSgNB ProtocolIE-ID
+id-LastNG-RANPLMNIdentity ProtocolIE-ID
+id-EUTRANTraceID ProtocolIE-ID
+id-additionalPLMNs-Item ProtocolIE-ID
+id-InterfaceInstanceIndication ProtocolIE-ID
+id-BPLMN-ID-Info-EUTRA ProtocolIE-ID
+id-BPLMN-ID-Info-NR ProtocolIE-ID
+id-NBIoT-UL-DL-AlignmentOffset ProtocolIE-ID
+id-ERABs-transferred-to-MeNB ProtocolIE-ID
+id-AdditionalRRMPriorityIndex ProtocolIE-ID
+id-LowerLayerPresenceStatusChange ProtocolIE-ID
+id-FastMCGRecovery-SN-to-MN ProtocolIE-ID
+id-RequestedFastMCGRecoveryViaSRB3 ProtocolIE-ID
+id-AvailableFastMCGRecoveryViaSRB3 ProtocolIE-ID
+id-RequestedFastMCGRecoveryViaSRB3Release ProtocolIE-ID
+id-ReleaseFastMCGRecoveryViaSRB3 ProtocolIE-ID
+id-FastMCGRecovery-MN-to-SN ProtocolIE-ID
+id-PartialListIndicator ProtocolIE-ID
+id-MaximumCellListSize ProtocolIE-ID
+id-MessageOversizeNotification ProtocolIE-ID
+id-CellandCapacityAssistInfo ProtocolIE-ID
+id-TNLConfigurationInfo ProtocolIE-ID
+id-TNLA-To-Add-List ProtocolIE-ID
+id-TNLA-To-Update-List ProtocolIE-ID
+id-TNLA-To-Remove-List ProtocolIE-ID
+id-TNLA-Setup-List ProtocolIE-ID
+id-TNLA-Failed-To-Setup-List ProtocolIE-ID
+id-UnlicensedSpectrumRestriction ProtocolIE-ID
+id-UEContextReferenceatSourceNGRAN ProtocolIE-ID
+id-EPCHandoverRestrictionListContainer ProtocolIE-ID
+id-CHOinformation-REQ ProtocolIE-ID
+id-CHOinformation-ACK ProtocolIE-ID
+id-DAPSRequestInfo ProtocolIE-ID
+id-RequestedTargetCellID ProtocolIE-ID
+id-CandidateCellsToBeCancelledList ProtocolIE-ID
+id-DAPSResponseInfo ProtocolIE-ID
+id-ProcedureStage ProtocolIE-ID
+id-CHO-DC-Indicator ProtocolIE-ID
+id-Ethernet-Type ProtocolIE-ID
+id-NRV2XServicesAuthorized ProtocolIE-ID
+id-NRUESidelinkAggregateMaximumBitRate ProtocolIE-ID
+id-PC5QoSParameters ProtocolIE-ID
+id-NPRACHConfiguration ProtocolIE-ID
+id-NBIoT-RLF-Report-Container ProtocolIE-ID
+id-MDTConfigurationNR ProtocolIE-ID
+id-PrivacyIndicator ProtocolIE-ID
+id-TraceCollectionEntityIPAddress ProtocolIE-ID
+id-UERadioCapabilityID ProtocolIE-ID
+id-SNtriggered ProtocolIE-ID
+id-CSI-RSTransmissionIndication ProtocolIE-ID
+id-DLCarrierList ProtocolIE-ID
+id-TargetCellInNGRAN ProtocolIE-ID
+id-E-UTRAN-Node1-Measurement-ID ProtocolIE-ID
+id-E-UTRAN-Node2-Measurement-ID ProtocolIE-ID
+id-TDDULDLConfigurationCommonNR ProtocolIE-ID
+id-CarrierList ProtocolIE-ID
+id-ULCarrierList ProtocolIE-ID
+id-FrequencyShift7p5khz ProtocolIE-ID
+id-SSB-PositionsInBurst ProtocolIE-ID
+id-NRCellPRACHConfig ProtocolIE-ID
+id-CellToReport-NR-ENDC ProtocolIE-ID
+id-CellToReport-NR-ENDC-Item ProtocolIE-ID
+id-CellMeasurementResult-NR-ENDC ProtocolIE-ID
+id-CellMeasurementResult-NR-ENDC-Item ProtocolIE-ID
+id-IABNodeIndication ProtocolIE-ID
+id-QoS-Mapping-Information ProtocolIE-ID
+id-F1CTrafficContainer ProtocolIE-ID
+id-IntendedTDD-DL-ULConfiguration-NR ProtocolIE-ID
+id-UERadioCapability ProtocolIE-ID
+id-CellMeasurementResult-E-UTRA-ENDC ProtocolIE-ID
+id-CellMeasurementResult-E-UTRA-ENDC-Item ProtocolIE-ID
+id-CellToReport-E-UTRA-ENDC ProtocolIE-ID
+id-CellToReport-E-UTRA-ENDC-Item ProtocolIE-ID
+id-TraceCollectionEntityURI ProtocolIE-ID
+id-SFN-Offset ProtocolIE-ID
+id-CHO-DC-EarlyDataForwarding ProtocolIE-ID
+id-IMSvoiceEPSfallbackfrom5G ProtocolIE-ID
+id-AdditionLocationInformation ProtocolIE-ID
+id-DirectForwardingPathAvailability ProtocolIE-ID
+id-sourceNG-RAN-node-id ProtocolIE-ID
+id-SourceDLForwardingIPAddress ProtocolIE-ID
+id-SourceNodeDLForwardingIPAddress ProtocolIE-ID
+id-NRRACHReportInformation ProtocolIE-ID
+id-SCG-UE-HistoryInformation ProtocolIE-ID
+id-PSCellHistoryInformationRetrieve ProtocolIE-ID
+id-MeasurementResultforNRCellsPossiblyAggregated ProtocolIE-ID
+id-PSCell-UE-HistoryInformation ProtocolIE-ID
+id-PSCellChangeHistory ProtocolIE-ID
+id-CHOinformation-AddReq ProtocolIE-ID
+id-CHOinformation-ModReq ProtocolIE-ID
+id-SCGActivationStatus ProtocolIE-ID
+id-SCGActivationRequest ProtocolIE-ID
+id-CPAinformation-REQ ProtocolIE-ID
+id-CPAinformation-REQ-ACK ProtocolIE-ID
+id-CPAinformation-MOD ProtocolIE-ID
+id-CPAinformation-MOD-ACK ProtocolIE-ID
+id-CPACinformation-REQD ProtocolIE-ID
+id-CPCinformation-REQD ProtocolIE-ID
+id-CPCinformation-CONF ProtocolIE-ID
+id-CPCinformation-NOTIFY ProtocolIE-ID
+id-CPCupdate-MOD ProtocolIE-ID
+id-Additional-Measurement-Timing-Configuration-List ProtocolIE-ID
+id-ServedCellSpecificInfoReq-NR ProtocolIE-ID
+id-SecurityIndication ProtocolIE-ID
+id-SecurityResult ProtocolIE-ID
+id-RAT-Restrictions ProtocolIE-ID
+id-SCGreconfigNotification ProtocolIE-ID
+id-MIMOPRBusageInformation ProtocolIE-ID
+id-SensorMeasurementConfiguration ProtocolIE-ID
+id-AdditionalListofForwardingGTPTunnelEndpoint ProtocolIE-ID
+
+#.REGISTER
+
+#X2AP-PROTOCOL-IES
+E-RABs-Admitted-Item N x2ap.ies id-E-RABs-Admitted-Item
+E-RABs-Admitted-List N x2ap.ies id-E-RABs-Admitted-List
+E-RAB-Item N x2ap.ies id-E-RAB-Item
+E-RAB-List N x2ap.ies id-E-RABs-NotAdmitted-List
+E-RABs-ToBeSetup-Item N x2ap.ies id-E-RABs-ToBeSetup-Item
+Cause N x2ap.ies id-Cause
+CellInformation-List N x2ap.ies id-CellInformation
+CellInformation-Item N x2ap.ies id-CellInformation-Item
+UE-X2AP-ID N x2ap.ies id-New-eNB-UE-X2AP-ID
+UE-X2AP-ID N x2ap.ies id-Old-eNB-UE-X2AP-ID
+ECGI N x2ap.ies id-TargetCell-ID
+TargeteNBtoSource-eNBTransparentContainer N x2ap.ies id-TargeteNBtoSource-eNBTransparentContainer
+TraceActivation N x2ap.ies id-TraceActivation
+UE-ContextInformation N x2ap.ies id-UE-ContextInformation
+UE-HistoryInformation N x2ap.ies id-UE-HistoryInformation
+UE-X2AP-ID N x2ap.ies id-UE-X2AP-ID
+CriticalityDiagnostics N x2ap.ies id-CriticalityDiagnostics
+E-RABs-SubjectToStatusTransfer-List N x2ap.ies id-E-RABs-SubjectToStatusTransfer-List
+E-RABs-SubjectToStatusTransfer-Item N x2ap.ies id-E-RABs-SubjectToStatusTransfer-Item
+ServedCells N x2ap.ies id-ServedCells
+GlobalENB-ID N x2ap.ies id-GlobalENB-ID
+TimeToWait N x2ap.ies id-TimeToWait
+GUMMEI N x2ap.ies id-GUMMEI-ID
+GUGroupIDList N x2ap.ies id-GUGroupIDList
+ServedCells N x2ap.ies id-ServedCellsToAdd
+ServedCellsToModify N x2ap.ies id-ServedCellsToModify
+Old-ECGIs N x2ap.ies id-ServedCellsToDelete
+Registration-Request N x2ap.ies id-Registration-Request
+CellToReport-List N x2ap.ies id-CellToReport
+ReportingPeriodicity N x2ap.ies id-ReportingPeriodicity
+CellToReport-Item N x2ap.ies id-CellToReport-Item
+CellMeasurementResult-List N x2ap.ies id-CellMeasurementResult
+CellMeasurementResult-Item N x2ap.ies id-CellMeasurementResult-Item
+GUGroupIDList N x2ap.ies id-GUGroupIDToAddList
+GUGroupIDList N x2ap.ies id-GUGroupIDToDeleteList
+SRVCCOperationPossible N x2ap.ies id-SRVCCOperationPossible
+# N x2ap.ies id-Measurement-ID
+ReportCharacteristics N x2ap.ies id-ReportCharacteristics
+Measurement-ID N x2ap.ies id-ENB1-Measurement-ID
+Measurement-ID N x2ap.ies id-ENB2-Measurement-ID
+ECGI N x2ap.ies id-ENB1-Cell-ID
+ECGI N x2ap.ies id-ENB2-Cell-ID
+MobilityParametersInformation N x2ap.ies id-ENB2-Proposed-Mobility-Parameters
+MobilityParametersInformation N x2ap.ies id-ENB1-Mobility-Parameters
+MobilityParametersModificationRange N x2ap.ies id-ENB2-Mobility-Parameters-Modification-Range
+PCI N x2ap.ies id-FailureCellPCI
+ECGI N x2ap.ies id-Re-establishmentCellECGI
+CRNTI N x2ap.ies id-FailureCellCRNTI
+ShortMAC-I N x2ap.ies id-ShortMAC-I
+ECGI N x2ap.ies id-SourceCellECGI
+ECGI N x2ap.ies id-FailureCellECGI
+HandoverReportType N x2ap.ies id-HandoverReportType
+UE-RLF-Report-Container N x2ap.ies id-UE-RLF-Report-Container
+ServedCellsToActivate N x2ap.ies id-ServedCellsToActivate
+ActivatedCellList N x2ap.ies id-ActivatedCellList
+PartialSuccessIndicator N x2ap.ies id-PartialSuccessIndicator
+MeasurementInitiationResult-List N x2ap.ies id-MeasurementInitiationResult-List
+MeasurementInitiationResult-Item N x2ap.ies id-MeasurementInitiationResult-Item
+MeasurementFailureCause-Item N x2ap.ies id-MeasurementFailureCause-Item
+CompleteFailureCauseInformation-List N x2ap.ies id-CompleteFailureCauseInformation-List
+CompleteFailureCauseInformation-Item N x2ap.ies id-CompleteFailureCauseInformation-Item
+CSGMembershipStatus N x2ap.ies id-CSGMembershipStatus
+RRCConnSetupIndicator N x2ap.ies id-RRCConnSetupIndicator
+RRCConnReestabIndicator N x2ap.ies id-RRCConnReestabIndicator
+TargetCellInUTRAN N x2ap.ies id-TargetCellInUTRAN
+MobilityInformation N x2ap.ies id-MobilityInformation
+CRNTI N x2ap.ies id-SourceCellCRNTI
+Masked-IMEISV N x2ap.ies id-Masked-IMEISV
+RNL-Header N x2ap.ies id-RNL-Header
+X2AP-Message N x2ap.ies id-x2APMessage
+ProSeAuthorized N x2ap.ies id-ProSeAuthorized
+ExpectedUEBehaviour N x2ap.ies id-ExpectedUEBehaviour
+UE-HistoryInformationFromTheUE N x2ap.ies id-UE-HistoryInformationFromTheUE
+UE-RLF-Report-Container-for-extended-bands N x2ap.ies id-UE-RLF-Report-Container-for-extended-bands
+ReportingPeriodicityRSRPMR N x2ap.ies id-ReportingPeriodicityRSRPMR
+UE-X2AP-ID N x2ap.ies id-MeNB-UE-X2AP-ID
+UE-X2AP-ID N x2ap.ies id-SeNB-UE-X2AP-ID
+UESecurityCapabilities N x2ap.ies id-UE-SecurityCapabilities
+SeNBSecurityKey N x2ap.ies id-SeNBSecurityKey
+UEAggregateMaximumBitRate N x2ap.ies id-SeNBUEAggregateMaximumBitRate
+PLMN-Identity N x2ap.ies id-ServingPLMN
+E-RABs-ToBeAdded-List N x2ap.ies id-E-RABs-ToBeAdded-List
+E-RABs-ToBeAdded-Item N x2ap.ies id-E-RABs-ToBeAdded-Item
+MeNBtoSeNBContainer N x2ap.ies id-MeNBtoSeNBContainer
+E-RABs-Admitted-ToBeAdded-List N x2ap.ies id-E-RABs-Admitted-ToBeAdded-List
+E-RABs-Admitted-ToBeAdded-Item N x2ap.ies id-E-RABs-Admitted-ToBeAdded-Item
+SeNBtoMeNBContainer N x2ap.ies id-SeNBtoMeNBContainer
+ResponseInformationSeNBReconfComp N x2ap.ies id-ResponseInformationSeNBReconfComp
+UE-ContextInformationSeNBModReq N x2ap.ies id-UE-ContextInformationSeNBModReq
+E-RABs-ToBeAdded-ModReqItem N x2ap.ies id-E-RABs-ToBeAdded-ModReqItem
+E-RABs-ToBeModified-ModReqItem N x2ap.ies id-E-RABs-ToBeModified-ModReqItem
+E-RABs-ToBeReleased-ModReqItem N x2ap.ies id-E-RABs-ToBeReleased-ModReqItem
+E-RABs-Admitted-ToBeAdded-ModAckList N x2ap.ies id-E-RABs-Admitted-ToBeAdded-ModAckList
+E-RABs-Admitted-ToBeModified-ModAckList N x2ap.ies id-E-RABs-Admitted-ToBeModified-ModAckList
+E-RABs-Admitted-ToBeReleased-ModAckList N x2ap.ies id-E-RABs-Admitted-ToBeReleased-ModAckList
+E-RABs-Admitted-ToBeAdded-ModAckItem N x2ap.ies id-E-RABs-Admitted-ToBeAdded-ModAckItem
+E-RABs-Admitted-ToBeModified-ModAckItem N x2ap.ies id-E-RABs-Admitted-ToBeModified-ModAckItem
+E-RABs-Admitted-ToReleased-ModAckItem N x2ap.ies id-E-RABs-Admitted-ToBeReleased-ModAckItem
+E-RABs-ToBeReleased-ModReqd N x2ap.ies id-E-RABs-ToBeReleased-ModReqd
+E-RABs-ToBeReleased-ModReqdItem N x2ap.ies id-E-RABs-ToBeReleased-ModReqdItem
+SCGChangeIndication N x2ap.ies id-SCGChangeIndication
+E-RABs-ToBeReleased-List-RelReq N x2ap.ies id-E-RABs-ToBeReleased-List-RelReq
+E-RABs-ToBeReleased-RelReqItem N x2ap.ies id-E-RABs-ToBeReleased-RelReqItem
+E-RABs-ToBeReleased-List-RelConf N x2ap.ies id-E-RABs-ToBeReleased-List-RelConf
+E-RABs-ToBeReleased-RelConfItem N x2ap.ies id-E-RABs-ToBeReleased-RelConfItem
+E-RABs-SubjectToCounterCheck-List N x2ap.ies id-E-RABs-SubjectToCounterCheck-List
+E-RABs-SubjectToCounterCheckItem N x2ap.ies id-E-RABs-SubjectToCounterCheckItem
+CoverageModificationList N x2ap.ies id-CoverageModificationList
+ReportingPeriodicityCSIR N x2ap.ies id-ReportingPeriodicityCSIR
+UE-ContextReferenceAtSeNB N x2ap.ies id-UE-ContextReferenceAtSeNB
+UE-ContextKeptIndicator N x2ap.ies id-UE-ContextKeptIndicator
+UE-X2AP-ID-Extension N x2ap.ies id-New-eNB-UE-X2AP-ID-Extension
+UE-X2AP-ID-Extension N x2ap.ies id-Old-eNB-UE-X2AP-ID-Extension
+UE-X2AP-ID-Extension N x2ap.ies id-MeNB-UE-X2AP-ID-Extension
+UE-X2AP-ID-Extension N x2ap.ies id-SeNB-UE-X2AP-ID-Extension
+LHN-ID N x2ap.ies id-LHN-ID
+TunnelInformation N x2ap.ies id-Tunnel-Information-for-BBF
+SIPTOBearerDeactivationIndication N x2ap.ies id-SIPTO-BearerDeactivationIndication
+TransportLayerAddress N x2ap.ies id-GW-TransportLayerAddress
+TransportLayerAddress N x2ap.ies id-SIPTO-L-GW-TransportLayerAddress
+X2BenefitValue N x2ap.ies id-X2RemovalThreshold
+ResumeID N x2ap.ies id-resumeID
+UE-ContextInformationRetrieve N x2ap.ies id-UE-ContextInformationRetrieve
+E-RABs-ToBeSetupRetrieve-Item N x2ap.ies id-E-RABs-ToBeSetupRetrieve-Item
+EUTRANCellIdentifier N x2ap.ies id-NewEUTRANCellIdentifier
+V2XServicesAuthorized N x2ap.ies id-V2XServicesAuthorized
+UE-ContextReferenceAtWT N x2ap.ies id-UE-ContextReferenceAtWT
+UE-ContextKeptIndicator N x2ap.ies id-WT-UE-ContextKeptIndicator
+MakeBeforeBreakIndicator N x2ap.ies id-MakeBeforeBreakIndicator
+SgNBSecurityKey N x2ap.ies id-SgNBSecurityKey
+UEAggregateMaximumBitRate N x2ap.ies id-SgNBUEAggregateMaximumBitRate
+E-RABs-ToBeAdded-SgNBAddReqList N x2ap.ies id-E-RABs-ToBeAdded-SgNBAddReqList
+MeNBtoSgNBContainer N x2ap.ies id-MeNBtoSgNBContainer
+SgNB-UE-X2AP-ID N x2ap.ies id-SgNB-UE-X2AP-ID
+SplitSRBs N x2ap.ies id-RequestedSplitSRBs
+E-RABs-ToBeAdded-SgNBAddReq-Item N x2ap.ies id-E-RABs-ToBeAdded-SgNBAddReq-Item
+E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList N x2ap.ies id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList
+SgNBtoMeNBContainer N x2ap.ies id-SgNBtoMeNBContainer
+SplitSRBs N x2ap.ies id-AdmittedSplitSRBs
+E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item N x2ap.ies id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item
+ResponseInformationSgNBReconfComp N x2ap.ies id-ResponseInformationSgNBReconfComp
+UE-ContextInformation-SgNBModReq N x2ap.ies id-UE-ContextInformation-SgNBModReq
+E-RABs-ToBeAdded-SgNBModReq-Item N x2ap.ies id-E-RABs-ToBeAdded-SgNBModReq-Item
+E-RABs-ToBeModified-SgNBModReq-Item N x2ap.ies id-E-RABs-ToBeModified-SgNBModReq-Item
+E-RABs-ToBeReleased-SgNBModReq-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBModReq-Item
+E-RABs-Admitted-ToBeAdded-SgNBModAckList N x2ap.ies id-E-RABs-Admitted-ToBeAdded-SgNBModAckList
+E-RABs-Admitted-ToBeModified-SgNBModAckList N x2ap.ies id-E-RABs-Admitted-ToBeModified-SgNBModAckList
+E-RABs-Admitted-ToBeReleased-SgNBModAckList N x2ap.ies id-E-RABs-Admitted-ToBeReleased-SgNBModAckList
+E-RABs-Admitted-ToBeAdded-SgNBModAck-Item N x2ap.ies id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item
+E-RABs-Admitted-ToBeModified-SgNBModAck-Item N x2ap.ies id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item
+E-RABs-Admitted-ToReleased-SgNBModAck-Item N x2ap.ies id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item
+E-RABs-ToBeReleased-SgNBModReqdList N x2ap.ies id-E-RABs-ToBeReleased-SgNBModReqdList
+E-RABs-ToBeModified-SgNBModReqdList N x2ap.ies id-E-RABs-ToBeModified-SgNBModReqdList
+E-RABs-ToBeReleased-SgNBModReqd-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBModReqd-Item
+E-RABs-ToBeModified-SgNBModReqd-Item N x2ap.ies id-E-RABs-ToBeModified-SgNBModReqd-Item
+E-RABs-ToBeReleased-SgNBChaConfList N x2ap.ies id-E-RABs-ToBeReleased-SgNBChaConfList
+E-RABs-ToBeReleased-SgNBChaConf-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBChaConf-Item
+E-RABs-ToBeReleased-SgNBRelReqList N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelReqList
+E-RABs-ToBeReleased-SgNBRelReq-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelReq-Item
+E-RABs-ToBeReleased-SgNBRelConfList N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelConfList
+E-RABs-ToBeReleased-SgNBRelConf-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelConf-Item
+E-RABs-SubjectToSgNBCounterCheck-List N x2ap.ies id-E-RABs-SubjectToSgNBCounterCheck-List
+E-RABs-SubjectToSgNBCounterCheck-Item N x2ap.ies id-E-RABs-SubjectToSgNBCounterCheck-Item
+GlobalGNB-ID N x2ap.ies id-Target-SgNB-ID
+HandoverRestrictionList N x2ap.ies id-HandoverRestrictionList
+SCGConfigurationQuery N x2ap.ies id-SCGConfigurationQuery
+SplitSRB N x2ap.ies id-SplitSRB
+NRUeReport N x2ap.ies id-NRUeReport
+InitiatingNodeType-EndcX2Setup N x2ap.ies id-InitiatingNodeType-EndcX2Setup
+InitiatingNodeType-EndcConfigUpdate N x2ap.ies id-InitiatingNodeType-EndcConfigUpdate
+RespondingNodeType-EndcX2Setup N x2ap.ies id-RespondingNodeType-EndcX2Setup
+RespondingNodeType-EndcConfigUpdate N x2ap.ies id-RespondingNodeType-EndcConfigUpdate
+NRUESecurityCapabilities N x2ap.ies id-NRUESecurityCapabilities
+PDCPChangeIndication N x2ap.ies id-PDCPChangeIndication
+ServedEUTRAcellsENDCX2ManagementList N x2ap.ies id-ServedEUTRAcellsENDCX2ManagementList
+CellAssistanceInformation N x2ap.ies id-CellAssistanceInformation
+GlobalGNB-ID N x2ap.ies id-Globalen-gNB-ID
+ServedNRcellsENDCX2ManagementList N x2ap.ies id-ServedNRcellsENDCX2ManagementList
+UE-ContextReferenceAtSgNB N x2ap.ies id-UE-ContextReferenceAtSgNB
+ActivationID N x2ap.ies id-ActivationID
+MeNBResourceCoordinationInformation N x2ap.ies id-MeNBResourceCoordinationInformation
+SgNBResourceCoordinationInformation N x2ap.ies id-SgNBResourceCoordinationInformation
+ServedEUTRAcellsToModifyListENDCConfUpd N x2ap.ies id-ServedEUTRAcellsToModifyListENDCConfUpd
+ServedEUTRAcellsToDeleteListENDCConfUpd N x2ap.ies id-ServedEUTRAcellsToDeleteListENDCConfUpd
+ServedNRcellsToModifyENDCConfUpdList N x2ap.ies id-ServedNRcellsToModifyListENDCConfUpd
+ServedNRcellsToDeleteENDCConfUpdList N x2ap.ies id-ServedNRcellsToDeleteListENDCConfUpd
+E-RABUsageReport-Item N x2ap.ies id-E-RABUsageReport-Item
+SgNB-UE-X2AP-ID N x2ap.ies id-Old-SgNB-UE-X2AP-ID
+SecondaryRATUsageReportList N x2ap.ies id-SecondaryRATUsageReportList
+SecondaryRATUsageReport-Item N x2ap.ies id-SecondaryRATUsageReport-Item
+ServedNRCellsToActivate N x2ap.ies id-ServedNRCellsToActivate
+ActivatedNRCellList N x2ap.ies id-ActivatedNRCellList
+PLMN-Identity N x2ap.ies id-SelectedPLMN
+UEsToBeResetList N x2ap.ies id-UEs-ToBeReset
+UEsToBeResetList N x2ap.ies id-UEs-Admitted-ToBeReset
+RRC-Config-Ind N x2ap.ies id-RRCConfigIndication
+SubscriberProfileIDforRFP N x2ap.ies id-SubscriberProfileIDforRFP
+AerialUEsubscriptionInformation N x2ap.ies id-AerialUEsubscriptionInformation
+SGNB-Addition-Trigger-Ind N x2ap.ies id-SGNB-Addition-Trigger-Ind
+ECGI N x2ap.ies id-MeNBCell-ID
+SplitSRBs N x2ap.ies id-RequestedSplitSRBsrelease
+SplitSRBs N x2ap.ies id-AdmittedSplitSRBsrelease
+InitiatingNodeType-EutranrCellResourceCoordination N x2ap.ies id-InitiatingNodeType-EutranrCellResourceCoordination
+RespondingNodeType-EutranrCellResourceCoordination N x2ap.ies id-RespondingNodeType-EutranrCellResourceCoordination
+DataTrafficResourceIndication N x2ap.ies id-DataTrafficResourceIndication
+SpectrumSharingGroupID N x2ap.ies id-SpectrumSharingGroupID
+ListofEUTRACellsinEUTRACoordinationReq N x2ap.ies id-ListofEUTRACellsinEUTRACoordinationReq
+ListofEUTRACellsinEUTRACoordinationResp N x2ap.ies id-ListofEUTRACellsinEUTRACoordinationResp
+ListofEUTRACellsinNRCoordinationReq N x2ap.ies id-ListofEUTRACellsinNRCoordinationReq
+ListofNRCellsinNRCoordinationReq N x2ap.ies id-ListofNRCellsinNRCoordinationReq
+ListofNRCellsinNRCoordinationResp N x2ap.ies id-ListofNRCellsinNRCoordinationResp
+E-RABs-AdmittedToBeModified-SgNBModConfList N x2ap.ies id-E-RABs-AdmittedToBeModified-SgNBModConfList
+E-RABs-AdmittedToBeModified-SgNBModConf-Item N x2ap.ies id-E-RABs-AdmittedToBeModified-SgNBModConf-Item
+UserPlaneTrafficActivityReport N x2ap.ies id-UEContextLevelUserPlaneActivity
+ERABActivityNotifyItemList N x2ap.ies id-ERABActivityNotifyItemList
+InitiatingNodeType-EndcX2Removal N x2ap.ies id-InitiatingNodeType-EndcX2Removal
+RespondingNodeType-EndcX2Removal N x2ap.ies id-RespondingNodeType-EndcX2Removal
+E-RABs-DataForwardingAddress-List N x2ap.ies id-E-RABs-DataForwardingAddress-List
+E-RABs-DataForwardingAddress-Item N x2ap.ies id-E-RABs-DataForwardingAddress-Item
+Subscription-Based-UE-DifferentiationInfo N x2ap.ies id-Subscription-Based-UE-DifferentiationInfo
+GNBOverloadInformation N x2ap.ies id-GNBOverloadInformation
+E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList N x2ap.ies id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList
+E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item N x2ap.ies id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item
+E-RABs-ToBeReleased-SgNBRelReqdList N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelReqdList
+E-RABs-ToBeReleased-SgNBRelReqd-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelReqd-Item
+EndcSONConfigurationTransfer N x2ap.ies id-endcSONConfigurationTransfer
+DesiredActNotificationLevel N x2ap.ies id-DesiredActNotificationLevel
+LocationInformationSgNBReporting N x2ap.ies id-LocationInformationSgNBReporting
+LocationInformationSgNB N x2ap.ies id-LocationInformationSgNB
+EUTRANTraceID N x2ap.ies id-EUTRANTraceID
+InterfaceInstanceIndication N x2ap.ies id-InterfaceInstanceIndication
+E-RAB-List N x2ap.ies id-ERABs-transferred-to-MeNB
+AdditionalRRMPriorityIndex N x2ap.ies id-AdditionalRRMPriorityIndex
+FastMCGRecovery N x2ap.ies id-FastMCGRecovery-SN-to-MN
+RequestedFastMCGRecoveryViaSRB3 N x2ap.ies id-RequestedFastMCGRecoveryViaSRB3
+AvailableFastMCGRecoveryViaSRB3 N x2ap.ies id-AvailableFastMCGRecoveryViaSRB3
+RequestedFastMCGRecoveryViaSRB3Release N x2ap.ies id-RequestedFastMCGRecoveryViaSRB3Release
+ReleaseFastMCGRecoveryViaSRB3 N x2ap.ies id-ReleaseFastMCGRecoveryViaSRB3
+FastMCGRecovery N x2ap.ies id-FastMCGRecovery-MN-to-SN
+PartialListIndicator N x2ap.ies id-PartialListIndicator
+# id-MaximumCellListSize
+MessageOversizeNotification N x2ap.ies id-MessageOversizeNotification
+CellandCapacityAssistInfo N x2ap.ies id-CellandCapacityAssistInfo
+TNLConfigurationInfo N x2ap.ies id-TNLConfigurationInfo
+TNLA-To-Add-List N x2ap.ies id-TNLA-To-Add-List
+TNLA-To-Update-List N x2ap.ies id-TNLA-To-Update-List
+TNLA-To-Remove-List N x2ap.ies id-TNLA-To-Remove-List
+TNLA-Setup-List N x2ap.ies id-TNLA-Setup-List
+TNLA-Failed-To-Setup-List N x2ap.ies id-TNLA-Failed-To-Setup-List
+RAN-UE-NGAP-ID N x2ap.ies id-UEContextReferenceatSourceNGRAN
+CHOinformation-REQ N x2ap.ies id-CHOinformation-REQ
+CHOinformation-ACK N x2ap.ies id-CHOinformation-ACK
+ECGI N x2ap.ies id-RequestedTargetCellID
+CandidateCellsToBeCancelledList N x2ap.ies id-CandidateCellsToBeCancelledList
+ProcedureStageChoice N x2ap.ies id-ProcedureStage
+CHO-DC-Indicator N x2ap.ies id-CHO-DC-Indicator
+NRV2XServicesAuthorized N x2ap.ies id-NRV2XServicesAuthorized
+PC5QoSParameters N x2ap.ies id-PC5QoSParameters
+NBIoT-RLF-Report-Container N x2ap.ies id-NBIoT-RLF-Report-Container
+PrivacyIndicator N x2ap.ies id-PrivacyIndicator
+TransportLayerAddress N x2ap.ies id-TraceCollectionEntityIPAddress
+UERadioCapabilityID N x2ap.ies id-UERadioCapabilityID
+SNtriggered N x2ap.ies id-SNtriggered
+TargetCellInNGRAN N x2ap.ies id-TargetCellInNGRAN
+Measurement-ID-ENDC N x2ap.ies id-E-UTRAN-Node1-Measurement-ID
+Measurement-ID-ENDC N x2ap.ies id-E-UTRAN-Node2-Measurement-ID
+CellToReport-NR-ENDC-List N x2ap.ies id-CellToReport-NR-ENDC
+CellToReport-NR-ENDC-Item N x2ap.ies id-CellToReport-NR-ENDC-Item
+CellMeasurementResult-NR-ENDC-List N x2ap.ies id-CellMeasurementResult-NR-ENDC
+CellMeasurementResult-NR-ENDC-Item N x2ap.ies id-CellMeasurementResult-NR-ENDC-Item
+IABNodeIndication N x2ap.ies id-IABNodeIndication
+F1CTrafficContainer N x2ap.ies id-F1CTrafficContainer
+UERadioCapability N x2ap.ies id-UERadioCapability
+CellMeasurementResult-E-UTRA-ENDC-List N x2ap.ies id-CellMeasurementResult-E-UTRA-ENDC
+CellMeasurementResult-E-UTRA-ENDC-Item N x2ap.ies id-CellMeasurementResult-E-UTRA-ENDC-Item
+CellToReport-E-UTRA-ENDC-List N x2ap.ies id-CellToReport-E-UTRA-ENDC
+CellToReport-E-UTRA-ENDC-Item N x2ap.ies id-CellToReport-E-UTRA-ENDC-Item
+CHO-DC-EarlyDataForwarding N x2ap.ies id-CHO-DC-EarlyDataForwarding
+DirectForwardingPathAvailability N x2ap.ies id-DirectForwardingPathAvailability
+Global-RAN-NODE-ID N x2ap.ies id-sourceNG-RAN-node-id
+NRRACHReportInformation N x2ap.ies id-NRRACHReportInformation
+SCG-UE-HistoryInformation N x2ap.ies id-SCG-UE-HistoryInformation
+PSCellHistoryInformationRetrieve N x2ap.ies id-PSCellHistoryInformationRetrieve
+PSCellChangeHistory N x2ap.ies id-PSCellChangeHistory
+CHOinformation-AddReq N x2ap.ies id-CHOinformation-AddReq
+CHOinformation-ModReq N x2ap.ies id-CHOinformation-ModReq
+SCGActivationStatus N x2ap.ies id-SCGActivationStatus
+SCGActivationRequest N x2ap.ies id-SCGActivationRequest
+CPAinformation-REQ N x2ap.ies id-CPAinformation-REQ
+CPAinformation-REQ-ACK N x2ap.ies id-CPAinformation-REQ-ACK
+CPAinformation-MOD N x2ap.ies id-CPAinformation-MOD
+CPAinformation-MOD-ACK N x2ap.ies id-CPAinformation-MOD-ACK
+CPACinformation-REQD N x2ap.ies id-CPACinformation-REQD
+CPCinformation-REQD N x2ap.ies id-CPCinformation-REQD
+CPCinformation-CONF N x2ap.ies id-CPCinformation-CONF
+CPCinformation-NOTIFY N x2ap.ies id-CPCinformation-NOTIFY
+CPCupdate-MOD N x2ap.ies id-CPCupdate-MOD
+SCGreconfigNotification N x2ap.ies id-SCGreconfigNotification
+
+#X2AP-PROTOCOL-EXTENSION
+Number-of-Antennaports N x2ap.extension id-Number-of-Antennaports
+CompositeAvailableCapacityGroup N x2ap.extension id-CompositeAvailableCapacityGroup
+PRACH-Configuration N x2ap.extension id-PRACH-Configuration
+MBSFN-Subframe-Infolist N x2ap.extension id-MBSFN-Subframe-Info
+DeactivationIndication N x2ap.extension id-DeactivationIndication
+ABSInformation N x2ap.extension id-ABSInformation
+InvokeIndication N x2ap.extension id-InvokeIndication
+ABS-Status N x2ap.extension id-ABS-Status
+CSG-Id N x2ap.extension id-CSG-Id
+MDT-Configuration N x2ap.extension id-MDTConfiguration
+ManagementBasedMDTallowed N x2ap.extension id-ManagementBasedMDTallowed
+TAC N x2ap.extension id-NeighbourTAC
+Time-UE-StayedInCell-EnhancedGranularity N x2ap.extension id-Time-UE-StayedInCell-EnhancedGranularity
+MBMS-Service-Area-Identity-List N x2ap.extension id-MBMS-Service-Area-List
+Cause N x2ap.extension id-HO-cause
+MultibandInfoList N x2ap.extension id-MultibandInfoList
+M3Configuration N x2ap.extension id-M3Configuration
+M4Configuration N x2ap.extension id-M4Configuration
+M5Configuration N x2ap.extension id-M5Configuration
+MDT-Location-Info N x2ap.extension id-MDT-Location-Info
+MDTPLMNList N x2ap.extension id-ManagementBasedMDTPLMNList
+MDTPLMNList N x2ap.extension id-SignallingBasedMDTPLMNList
+ReceiveStatusOfULPDCPSDUsExtended N x2ap.extension id-ReceiveStatusOfULPDCPSDUsExtended
+COUNTValueExtended N x2ap.extension id-ULCOUNTValueExtended
+COUNTValueExtended N x2ap.extension id-DLCOUNTValueExtended
+EARFCNExtension N x2ap.extension id-eARFCNExtension
+EARFCNExtension N x2ap.extension id-UL-EARFCNExtension
+EARFCNExtension N x2ap.extension id-DL-EARFCNExtension
+AdditionalSpecialSubframe-Info N x2ap.extension id-AdditionalSpecialSubframe-Info
+SubframeAssignment N x2ap.extension id-IntendedULDLConfiguration
+ExtendedULInterferenceOverloadInfo N x2ap.extension id-ExtendedULInterferenceOverloadInfo
+DynamicDLTransmissionInformation N x2ap.extension id-DynamicDLTransmissionInformation
+CoMPInformation N x2ap.extension id-CoMPInformation
+RSRPMRList N x2ap.extension id-RSRPMRList
+CSIReportList N x2ap.extension id-CSIReportList
+UEID N x2ap.extension id-UEID
+EnhancedRNTP N x2ap.extension id-enhancedRNTP
+ProSeUEtoNetworkRelaying N x2ap.extension id-ProSeUEtoNetworkRelaying
+ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 N x2ap.extension id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18
+COUNTvaluePDCP-SNlength18 N x2ap.extension id-ULCOUNTValuePDCP-SNlength18
+COUNTvaluePDCP-SNlength18 N x2ap.extension id-DLCOUNTValuePDCP-SNlength18
+FreqBandIndicatorPriority N x2ap.extension id-FreqBandIndicatorPriority
+M6Configuration N x2ap.extension id-M6Configuration
+M7Configuration N x2ap.extension id-M7Configuration
+Correlation-ID N x2ap.extension id-Correlation-ID
+Correlation-ID N x2ap.extension id-SIPTO-Correlation-ID
+CellReportingIndicator N x2ap.extension id-CellReportingIndicator
+BearerType N x2ap.extension id-BearerType
+OffsetOfNbiotChannelNumberToEARFCN N x2ap.extension id-OffsetOfNbiotChannelNumberToDL-EARFCN
+OffsetOfNbiotChannelNumberToEARFCN N x2ap.extension id-OffsetOfNbiotChannelNumberToUL-EARFCN
+GTPtunnelEndpoint N x2ap.extension id-uL-GTPtunnelEndpoint
+UESidelinkAggregateMaximumBitRate N x2ap.extension id-UESidelinkAggregateMaximumBitRate
+BandwidthReducedSI N x2ap.extension id-BandwidthReducedSI
+AdditionalSpecialSubframeExtension-Info N x2ap.extension id-AdditionalSpecialSubframeExtension-Info
+DL-scheduling-PDCCH-CCE-usage N x2ap.extension id-DL-scheduling-PDCCH-CCE-usage
+UL-scheduling-PDCCH-CCE-usage N x2ap.extension id-UL-scheduling-PDCCH-CCE-usage
+UEAppLayerMeasConfig N x2ap.extension id-UEAppLayerMeasConfig
+ExtendedBitRate N x2ap.extension id-extended-e-RAB-MaximumBitrateDL
+ExtendedBitRate N x2ap.extension id-extended-e-RAB-MaximumBitrateUL
+ExtendedBitRate N x2ap.extension id-extended-e-RAB-GuaranteedBitrateDL
+ExtendedBitRate N x2ap.extension id-extended-e-RAB-GuaranteedBitrateUL
+ExtendedBitRate N x2ap.extension id-extended-uEaggregateMaximumBitRateDownlink
+ExtendedBitRate N x2ap.extension id-extended-uEaggregateMaximumBitRateUplink
+NRrestrictioninEPSasSecondaryRAT N x2ap.extension id-NRrestrictioninEPSasSecondaryRAT
+Packet-LossRate N x2ap.extension id-DownlinkPacketLossRate
+Packet-LossRate N x2ap.extension id-UplinkPacketLossRate
+SubscriberProfileIDforRFP N x2ap.extension id-SubscriberProfileIDforRFP
+ServiceType N x2ap.extension id-serviceType
+NRS-NSSS-PowerOffset N x2ap.extension id-NRS-NSSS-PowerOffset
+NSSS-NumOccasionDifferentPrecoder N x2ap.extension id-NSSS-NumOccasionDifferentPrecoder
+ProtectedEUTRAResourceIndication N x2ap.extension id-ProtectedEUTRAResourceIndication
+RLC-Status N x2ap.extension id-RLC-Status
+CNTypeRestrictions N x2ap.extension id-CNTypeRestrictions
+PDCPSnLength N x2ap.extension id-uLpDCPSnLength
+BluetoothMeasurementConfiguration N x2ap.extension id-BluetoothMeasurementConfiguration
+WLANMeasurementConfiguration N x2ap.extension id-WLANMeasurementConfiguration
+NRrestrictionin5GS N x2ap.extension id-NRrestrictionin5GS
+DL-Forwarding N x2ap.extension id-dL-Forwarding
+PDCPSnLength N x2ap.extension id-dLPDCPSnLength
+GTPtunnelEndpoint N x2ap.extension id-secondarysgNBDLGTPTEIDatPDCP
+GTPtunnelEndpoint N x2ap.extension id-secondarymeNBULGTPTEIDatPDCP
+LCID N x2ap.extension id-lCID
+DuplicationActivation N x2ap.extension id-duplicationActivation
+ECGI N x2ap.extension id-ECGI
+RLCMode N x2ap.extension id-RLCMode-transferred
+NRCGI N x2ap.extension id-NRCGI
+MeNBCoordinationAssistanceInformation N x2ap.extension id-MeNBCoordinationAssistanceInformation
+SgNBCoordinationAssistanceInformation N x2ap.extension id-SgNBCoordinationAssistanceInformation
+NewDRBIDrequest N x2ap.extension id-new-drb-ID-req
+NRNeighbour-Information N x2ap.extension id-NRNeighbourInfoToAdd
+NRNeighbour-Information N x2ap.extension id-NRNeighbourInfoToModify
+PLMN-Identity N x2ap.extension id-LastNG-RANPLMNIdentity
+AdditionalPLMNs-Item N x2ap.extension id-additionalPLMNs-Item
+BPLMN-ID-Info-EUTRA N x2ap.extension id-BPLMN-ID-Info-EUTRA
+BPLMN-ID-Info-NR N x2ap.extension id-BPLMN-ID-Info-NR
+NBIoT-UL-DL-AlignmentOffset N x2ap.extension id-NBIoT-UL-DL-AlignmentOffset
+EPCHandoverRestrictionListContainer N x2ap.extension id-EPCHandoverRestrictionListContainer
+AdditionalRRMPriorityIndex N x2ap.extension id-AdditionalRRMPriorityIndex
+LowerLayerPresenceStatusChange N x2ap.extension id-LowerLayerPresenceStatusChange
+UnlicensedSpectrumRestriction N x2ap.extension id-UnlicensedSpectrumRestriction
+DAPSRequestInfo N x2ap.extension id-DAPSRequestInfo
+DAPSResponseInfo N x2ap.extension id-DAPSResponseInfo
+Ethernet-Type N x2ap.extension id-Ethernet-Type
+NRUESidelinkAggregateMaximumBitRate N x2ap.extension id-NRUESidelinkAggregateMaximumBitRate
+NPRACHConfiguration N x2ap.extension id-NPRACHConfiguration
+MDT-ConfigurationNR N x2ap.extension id-MDTConfigurationNR
+UERadioCapabilityID N x2ap.extension id-UERadioCapabilityID
+CSI-RSTransmissionIndication N x2ap.extension id-CSI-RSTransmissionIndication
+NRCarrierList N x2ap.extension id-DLCarrierList
+TDDULDLConfigurationCommonNR N x2ap.extension id-TDDULDLConfigurationCommonNR
+NRCarrierList N x2ap.extension id-CarrierList
+NRCarrierList N x2ap.extension id-ULCarrierList
+FrequencyShift7p5khz N x2ap.extension id-FrequencyShift7p5khz
+SSB-PositionsInBurst N x2ap.extension id-SSB-PositionsInBurst
+NRCellPRACHConfig N x2ap.extension id-NRCellPRACHConfig
+QoS-Mapping-Information N x2ap.extension id-QoS-Mapping-Information
+IntendedTDD-DL-ULConfiguration-NR N x2ap.extension id-IntendedTDD-DL-ULConfiguration-NR
+URI-Address N x2ap.extension id-TraceCollectionEntityURI
+SFN-Offset N x2ap.extension id-SFN-Offset
+IMSvoiceEPSfallbackfrom5G N x2ap.extension id-IMSvoiceEPSfallbackfrom5G
+AdditionLocationInformation N x2ap.extension id-AdditionLocationInformation
+TransportLayerAddress N x2ap.extension id-SourceDLForwardingIPAddress
+TransportLayerAddress N x2ap.extension id-SourceNodeDLForwardingIPAddress
+MeasurementResultforNRCellsPossiblyAggregated N x2ap.extension id-MeasurementResultforNRCellsPossiblyAggregated
+PSCell-UE-HistoryInformation N x2ap.extension id-PSCell-UE-HistoryInformation
+Additional-Measurement-Timing-Configuration-List N x2ap.extension id-Additional-Measurement-Timing-Configuration-List
+ServedCellSpecificInfoReq-NR N x2ap.extension id-ServedCellSpecificInfoReq-NR
+SecurityIndication N x2ap.extension id-SecurityIndication
+SecurityResult N x2ap.extension id-SecurityResult
+RAT-Restrictions N x2ap.extension id-RAT-Restrictions
+MIMOPRBusageInformation N x2ap.extension id-MIMOPRBusageInformation
+SensorMeasurementConfiguration N x2ap.extension id-SensorMeasurementConfiguration
+AdditionalListofForwardingGTPTunnelEndpoint N x2ap.extension id-AdditionalListofForwardingGTPTunnelEndpoint
+
+# X2AP-PDU-Descriptions.asn Interface Elementary Procedures
+#X2AP-ELEMENTARY-PROCEDURE
+HandoverRequest N x2ap.proc.imsg id-handoverPreparation
+HandoverRequestAcknowledge N x2ap.proc.sout id-handoverPreparation
+HandoverPreparationFailure N x2ap.proc.uout id-handoverPreparation
+
+SNStatusTransfer N x2ap.proc.imsg id-snStatusTransfer
+
+UEContextRelease N x2ap.proc.imsg id-uEContextRelease
+
+HandoverCancel N x2ap.proc.imsg id-handoverCancel
+
+ErrorIndication N x2ap.proc.imsg id-errorIndication
+
+ResetRequest N x2ap.proc.imsg id-reset
+ResetResponse N x2ap.proc.sout id-reset
+
+X2SetupRequest N x2ap.proc.imsg id-x2Setup
+X2SetupResponse N x2ap.proc.sout id-x2Setup
+X2SetupFailure N x2ap.proc.uout id-x2Setup
+
+LoadInformation N x2ap.proc.imsg id-loadIndication
+
+ENBConfigurationUpdate N x2ap.proc.imsg id-eNBConfigurationUpdate
+ENBConfigurationUpdateAcknowledge N x2ap.proc.sout id-eNBConfigurationUpdate
+ENBConfigurationUpdateFailure N x2ap.proc.uout id-eNBConfigurationUpdate
+
+ResourceStatusRequest N x2ap.proc.imsg id-resourceStatusReportingInitiation
+ResourceStatusResponse N x2ap.proc.sout id-resourceStatusReportingInitiation
+ResourceStatusFailure N x2ap.proc.uout id-resourceStatusReportingInitiation
+
+ResourceStatusUpdate N x2ap.proc.imsg id-resourceStatusReporting
+
+PrivateMessage N x2ap.proc.imsg id-privateMessage
+
+HandoverReport N x2ap.proc.imsg id-handoverReport
+
+RLFIndication N x2ap.proc.imsg id-rLFIndication
+
+MobilityChangeRequest N x2ap.proc.imsg id-mobilitySettingsChange
+MobilityChangeAcknowledge N x2ap.proc.sout id-mobilitySettingsChange
+MobilityChangeFailure N x2ap.proc.uout id-mobilitySettingsChange
+
+CellActivationRequest N x2ap.proc.imsg id-cellActivation
+CellActivationResponse N x2ap.proc.sout id-cellActivation
+CellActivationFailure N x2ap.proc.uout id-cellActivation
+
+X2Release N x2ap.proc.imsg id-x2Release
+
+X2APMessageTransfer N x2ap.proc.imsg id-x2APMessageTransfer
+
+X2RemovalRequest N x2ap.proc.imsg id-x2Removal
+X2RemovalResponse N x2ap.proc.sout id-x2Removal
+X2RemovalFailure N x2ap.proc.uout id-x2Removal
+
+SeNBAdditionRequest N x2ap.proc.imsg id-seNBAdditionPreparation
+SeNBAdditionRequestAcknowledge N x2ap.proc.sout id-seNBAdditionPreparation
+SeNBAdditionRequestReject N x2ap.proc.uout id-seNBAdditionPreparation
+
+SeNBReconfigurationComplete N x2ap.proc.imsg id-seNBReconfigurationCompletion
+
+SeNBModificationRequest N x2ap.proc.imsg id-meNBinitiatedSeNBModificationPreparation
+SeNBModificationRequestAcknowledge N x2ap.proc.sout id-meNBinitiatedSeNBModificationPreparation
+SeNBModificationRequestReject N x2ap.proc.uout id-meNBinitiatedSeNBModificationPreparation
+
+SeNBModificationRequired N x2ap.proc.imsg id-seNBinitiatedSeNBModification
+SeNBModificationConfirm N x2ap.proc.sout id-seNBinitiatedSeNBModification
+SeNBModificationRefuse N x2ap.proc.uout id-seNBinitiatedSeNBModification
+
+SeNBReleaseRequest N x2ap.proc.imsg id-meNBinitiatedSeNBRelease
+
+SeNBReleaseRequired N x2ap.proc.imsg id-seNBinitiatedSeNBRelease
+SeNBReleaseConfirm N x2ap.proc.sout id-seNBinitiatedSeNBRelease
+
+SeNBCounterCheckRequest N x2ap.proc.imsg id-seNBCounterCheck
+
+RetrieveUEContextRequest N x2ap.proc.imsg id-retrieveUEContext
+RetrieveUEContextResponse N x2ap.proc.sout id-retrieveUEContext
+RetrieveUEContextFailure N x2ap.proc.uout id-retrieveUEContext
+
+SgNBAdditionRequest N x2ap.proc.imsg id-sgNBAdditionPreparation
+SgNBAdditionRequestAcknowledge N x2ap.proc.sout id-sgNBAdditionPreparation
+SgNBAdditionRequestReject N x2ap.proc.uout id-sgNBAdditionPreparation
+
+SgNBReconfigurationComplete N x2ap.proc.imsg id-sgNBReconfigurationCompletion
+
+SgNBModificationRequest N x2ap.proc.imsg id-meNBinitiatedSgNBModificationPreparation
+SgNBModificationRequestAcknowledge N x2ap.proc.sout id-meNBinitiatedSgNBModificationPreparation
+SgNBModificationRequestReject N x2ap.proc.uout id-meNBinitiatedSgNBModificationPreparation
+
+SgNBModificationRequired N x2ap.proc.imsg id-sgNBinitiatedSgNBModification
+SgNBModificationConfirm N x2ap.proc.sout id-sgNBinitiatedSgNBModification
+SgNBModificationRefuse N x2ap.proc.uout id-sgNBinitiatedSgNBModification
+
+SgNBReleaseRequest N x2ap.proc.imsg id-meNBinitiatedSgNBRelease
+SgNBReleaseRequestAcknowledge N x2ap.proc.sout id-meNBinitiatedSgNBRelease
+SgNBReleaseRequestReject N x2ap.proc.uout id-meNBinitiatedSgNBRelease
+
+SgNBReleaseRequired N x2ap.proc.imsg id-sgNBinitiatedSgNBRelease
+SgNBReleaseConfirm N x2ap.proc.sout id-sgNBinitiatedSgNBRelease
+
+SgNBCounterCheckRequest N x2ap.proc.imsg id-sgNBCounterCheck
+
+SgNBChangeRequired N x2ap.proc.imsg id-sgNBChange
+SgNBChangeConfirm N x2ap.proc.sout id-sgNBChange
+SgNBChangeRefuse N x2ap.proc.uout id-sgNBChange
+
+RRCTransfer N x2ap.proc.imsg id-rRCTransfer
+
+ENDCX2SetupRequest N x2ap.proc.imsg id-endcX2Setup
+ENDCX2SetupResponse N x2ap.proc.sout id-endcX2Setup
+ENDCX2SetupFailure N x2ap.proc.uout id-endcX2Setup
+
+ENDCConfigurationUpdate N x2ap.proc.imsg id-endcConfigurationUpdate
+ENDCConfigurationUpdateAcknowledge N x2ap.proc.sout id-endcConfigurationUpdate
+ENDCConfigurationUpdateFailure N x2ap.proc.uout id-endcConfigurationUpdate
+
+SecondaryRATDataUsageReport N x2ap.proc.imsg id-secondaryRATDataUsageReport
+
+ENDCCellActivationRequest N x2ap.proc.imsg id-endcCellActivation
+ENDCCellActivationResponse N x2ap.proc.sout id-endcCellActivation
+ENDCCellActivationFailure N x2ap.proc.uout id-endcCellActivation
+
+ENDCPartialResetRequired N x2ap.proc.imsg id-endcPartialReset
+ENDCPartialResetConfirm N x2ap.proc.sout id-endcPartialReset
+
+EUTRANRCellResourceCoordinationRequest N x2ap.proc.imsg id-eUTRANRCellResourceCoordination
+EUTRANRCellResourceCoordinationResponse N x2ap.proc.sout id-eUTRANRCellResourceCoordination
+
+SgNBActivityNotification N x2ap.proc.imsg id-SgNBActivityNotification
+
+ENDCX2RemovalRequest N x2ap.proc.imsg id-endcX2Removal
+ENDCX2RemovalResponse N x2ap.proc.sout id-endcX2Removal
+ENDCX2RemovalFailure N x2ap.proc.uout id-endcX2Removal
+
+DataForwardingAddressIndication N x2ap.proc.imsg id-dataForwardingAddressIndication
+
+GNBStatusIndication N x2ap.proc.imsg id-gNBStatusIndication
+
+ENDCConfigurationTransfer N x2ap.proc.imsg id-endcConfigurationTransfer
+
+DeactivateTrace N x2ap.proc.imsg id-deactivateTrace
+
+TraceStart N x2ap.proc.imsg id-traceStart
+
+HandoverSuccess N x2ap.proc.imsg id-handoverSuccess
+
+EarlyStatusTransfer N x2ap.proc.imsg id-earlyStatusTransfer
+
+ConditionalHandoverCancel N x2ap.proc.imsg id-conditionalHandoverCancel
+
+ENDCResourceStatusRequest N x2ap.proc.imsg id-endcresourceStatusReportingInitiation
+ENDCResourceStatusResponse N x2ap.proc.sout id-endcresourceStatusReportingInitiation
+ENDCResourceStatusFailure N x2ap.proc.uout id-endcresourceStatusReportingInitiation
+
+ENDCResourceStatusUpdate N x2ap.proc.imsg id-endcresourceStatusReporting
+
+CellTrafficTrace N x2ap.proc.imsg id-cellTrafficTrace
+
+F1CTrafficTransfer N x2ap.proc.imsg id-f1CTrafficTransfer
+
+UERadioCapabilityIDMappingRequest N x2ap.proc.imsg id-UERadioCapabilityIDMapping
+UERadioCapabilityIDMappingResponse N x2ap.proc.sout id-UERadioCapabilityIDMapping
+
+AccessAndMobilityIndication N x2ap.proc.imsg id-accessAndMobilityIndication
+
+CPC-cancel N x2ap.proc.imsg id-CPC-cancel
+#.END
diff --git a/epan/dissectors/asn1/x509af/AuthenticationFramework.asn b/epan/dissectors/asn1/x509af/AuthenticationFramework.asn
new file mode 100644
index 00000000..a978e122
--- /dev/null
+++ b/epan/dissectors/asn1/x509af/AuthenticationFramework.asn
@@ -0,0 +1,287 @@
+-- Module AuthenticationFramework (X.509:08/1997)
+
+AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3} DEFINITIONS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+IMPORTS
+ id-at, id-mr, informationFramework, upperBounds, selectedAttributeTypes,
+ basicAccessControl, certificateExtensions
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 3}
+ Name, ATTRIBUTE, AttributeType, MATCHING-RULE, Attribute, RDNSequence
+ FROM InformationFramework informationFramework
+ ub-user-password
+ FROM UpperBounds upperBounds
+ AuthenticationLevel
+ FROM BasicAccessControl basicAccessControl
+ UniqueIdentifier, octetStringMatch
+ FROM SelectedAttributeTypes selectedAttributeTypes
+ certificateExactMatch, certificatePairExactMatch, certificateListExactMatch,
+ GeneralNames
+ FROM CertificateExtensions certificateExtensions;
+
+-- basic certificate definition
+Certificate ::= SEQUENCE {
+ signedCertificate SEQUENCE {
+ version [0] Version DEFAULT v1,
+ serialNumber CertificateSerialNumber,
+ signature AlgorithmIdentifier,
+ issuer Name,
+ validity Validity,
+ subject SubjectName,
+ subjectPublicKeyInfo SubjectPublicKeyInfo,
+ issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
+ -- if present, version must be v2 or v3
+ subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
+ -- if present, version must be v2 or v3
+ extensions [3] Extensions OPTIONAL
+ -- If present, version must be v3 -- },
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+-- imported to allow labelling
+SubjectName ::= CHOICE {
+ rdnSequence RDNSequence
+}
+
+Version ::= INTEGER {v1(0), v2(1), v3(2)}
+
+CertificateSerialNumber ::= INTEGER
+
+AlgorithmIdentifier ::= SEQUENCE {
+ algorithmId OBJECT IDENTIFIER,
+ parameters ANY OPTIONAL
+}
+
+-- Definition of the following information object set is deferred, perhaps to standardized
+-- profiles or to protocol implementation conformance statements. The set is required to
+-- specify a table constraint on the parameters component of AlgorithmIdentifier.
+--SupportedAlgorithms ALGORITHM ::=
+--{...}
+
+Validity ::= SEQUENCE {notBefore Time,
+ notAfter Time
+}
+
+SubjectPublicKeyInfo ::= SEQUENCE {
+ algorithm AlgorithmIdentifier,
+ subjectPublicKey BIT STRING
+}
+
+Time ::= CHOICE {utcTime UTCTime,
+ generalizedTime GeneralizedTime
+}
+
+Extensions ::= SEQUENCE OF Extension
+
+-- For those extensions where ordering of individual extensions within the SEQUENCE is significant, the
+-- specification of those individual extensions shall include the rules for the significance of the order therein
+Extension ::= SEQUENCE {
+ extnId OBJECT IDENTIFIER,
+ critical BOOLEAN OPTIONAL,
+ extnValue OCTET STRING
+-- contains a DER encoding of a value of type &ExtnType
+-- for the extension object identified by extnId
+}
+
+--ExtensionSet EXTENSION ::=
+-- {...}
+
+EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &ExtnType
+}WITH SYNTAX {SYNTAX &ExtnType
+ IDENTIFIED BY &id
+}
+
+-- other certificate constructs
+Certificates ::= SEQUENCE {
+ userCertificate Certificate,
+ certificationPath ForwardCertificationPath OPTIONAL
+}
+
+ForwardCertificationPath ::= SEQUENCE OF CrossCertificates
+
+CrossCertificates ::= SET OF Certificate
+
+CertificationPath ::= SEQUENCE {
+ userCertificate Certificate,
+ theCACertificates SEQUENCE OF CertificatePair OPTIONAL
+}
+
+CertificatePair ::= SEQUENCE {
+ issuedByThisCA [0] Certificate OPTIONAL,
+ issuedToThisCA [1] Certificate OPTIONAL
+ -- at least one of the pair shall be present
+}
+
+-- Certificate Revocation List (CRL)
+CertificateList ::= SEQUENCE {
+ signedCertificateList SEQUENCE {
+ version Version OPTIONAL,
+ -- if present, version must be v2
+ signature AlgorithmIdentifier,
+ issuer Name,
+ thisUpdate Time,
+ nextUpdate Time OPTIONAL,
+ revokedCertificates
+ SEQUENCE OF
+ SEQUENCE {userCertificate CertificateSerialNumber,
+ revocationDate Time,
+ crlEntryExtensions Extensions OPTIONAL} OPTIONAL,
+ crlExtensions [0] Extensions OPTIONAL},
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+-- attribute certificate
+AttributeCertificationPath ::= SEQUENCE {
+ attributeCertificate AttributeCertificate,
+ acPath SEQUENCE OF ACPathData OPTIONAL
+}
+
+ACPathData ::= SEQUENCE {
+ certificate [0] Certificate OPTIONAL,
+ attributeCertificate [1] AttributeCertificate OPTIONAL
+}
+
+--attributeCertificate ATTRIBUTE ::= {
+-- WITH SYNTAX AttributeCertificate
+-- EQUALITY MATCHING RULE attributeCertificateMatch
+-- ID id-at-attributeCertificate
+--}
+
+AttributeCertificate ::= SEQUENCE {
+ signedAttributeCertificateInfo AttributeCertificateInfo,
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+AttributeCertificateInfo ::= SEQUENCE {
+ version Version DEFAULT v1,
+ subject
+ CHOICE {baseCertificateID [0] IssuerSerial,
+ subjectName [1] GeneralNames
+ },
+ issuer GeneralNames,
+ signature AlgorithmIdentifier,
+ serialNumber CertificateSerialNumber,
+ attCertValidityPeriod AttCertValidityPeriod,
+ attributes SEQUENCE OF Attribute,
+ issuerUniqueID UniqueIdentifier OPTIONAL,
+ extensions Extensions OPTIONAL
+}
+
+IssuerSerial ::= SEQUENCE {
+ issuer GeneralNames,
+ serial CertificateSerialNumber,
+ issuerUID UniqueIdentifier OPTIONAL
+}
+
+AttCertValidityPeriod ::= SEQUENCE {
+ notBeforeTime GeneralizedTime,
+ notAfterTime GeneralizedTime
+}
+
+--attributeCertificateMatch MATCHING-RULE ::= {
+-- SYNTAX AttributeCertificateAssertion
+-- ID id-mr-attributeCertificateMatch
+--}
+
+AttributeCertificateAssertion ::= SEQUENCE {
+ subject
+ [0] CHOICE {baseCertificateID [0] IssuerSerial,
+ subjectName [1] SubjectName} OPTIONAL,
+ issuer [1] Name OPTIONAL,
+ attCertValidity [2] GeneralizedTime OPTIONAL,
+ attType [3] SET OF AttributeType OPTIONAL
+}
+
+-- At least one component of the sequence must be present
+-- attribute types
+--userPassword ATTRIBUTE ::= {
+-- WITH SYNTAX OCTET STRING(SIZE (0..ub-user-password))
+-- EQUALITY MATCHING RULE octetStringMatch
+-- ID id-at-userPassword
+--}
+
+--userCertificate ATTRIBUTE ::= {
+-- WITH SYNTAX Certificate
+-- EQUALITY MATCHING RULE certificateExactMatch
+-- ID id-at-userCertificate
+--}
+
+--cACertificate ATTRIBUTE ::= {
+-- WITH SYNTAX Certificate
+-- EQUALITY MATCHING RULE certificateExactMatch
+-- ID id-at-cAcertificate
+--}
+
+--crossCertificatePair ATTRIBUTE ::= {
+-- WITH SYNTAX CertificatePair
+-- EQUALITY MATCHING RULE certificatePairExactMatch
+-- ID id-at-crossCertificatePair
+--}
+
+--authorityRevocationList ATTRIBUTE ::= {
+-- WITH SYNTAX CertificateList
+-- EQUALITY MATCHING RULE certificateListExactMatch
+-- ID id-at-authorityRevocationList
+--}
+
+--certificateRevocationList ATTRIBUTE ::= {
+-- WITH SYNTAX CertificateList
+-- EQUALITY MATCHING RULE certificateListExactMatch
+-- ID id-at-certificateRevocationList
+--}
+
+--attributeCertificateRevocationList ATTRIBUTE ::= {
+-- WITH SYNTAX CertificateList
+-- ID id-at-attributeCertificateRevocationList
+--}
+
+-- information object classes
+--ALGORITHM ::= TYPE-IDENTIFIER
+
+-- object identifier assignments
+--id-at-userPassword OBJECT IDENTIFIER ::=
+-- {id-at 35}
+
+id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
+
+id-at-cAcertificate OBJECT IDENTIFIER ::= {id-at 37}
+
+id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
+
+id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
+
+id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
+
+id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
+
+id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
+
+--id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
+
+-- these are sneaked in from DSS - a separate dissector seems OTT
+
+DSS-Params ::= SEQUENCE {
+ p INTEGER,
+ q INTEGER,
+ g INTEGER
+}
+-- WS Add some stuff fytom RFC 1274
+
+ub-user-identifier INTEGER ::= 256
+Userid ::= UTF8String (SIZE (1 .. ub-user-identifier))
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/x509af/CMakeLists.txt b/epan/dissectors/asn1/x509af/CMakeLists.txt
new file mode 100644
index 00000000..213294c9
--- /dev/null
+++ b/epan/dissectors/asn1/x509af/CMakeLists.txt
@@ -0,0 +1,45 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME x509af )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ AuthenticationFramework.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/x509af/packet-x509af-template.c b/epan/dissectors/asn1/x509af/packet-x509af-template.c
new file mode 100644
index 00000000..314007f2
--- /dev/null
+++ b/epan/dissectors/asn1/x509af/packet-x509af-template.c
@@ -0,0 +1,194 @@
+/* packet-x509af.c
+ * Routines for X.509 Authentication Framework packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/strutil.h>
+
+#include "packet-ber.h"
+#include "packet-x509af.h"
+#include "packet-x509ce.h"
+#include "packet-x509if.h"
+#include "packet-x509sat.h"
+#include "packet-ldap.h"
+#include "packet-pkcs1.h"
+#if defined(HAVE_LIBGNUTLS)
+#include <gnutls/gnutls.h>
+#endif
+
+#define PNAME "X.509 Authentication Framework"
+#define PSNAME "X509AF"
+#define PFNAME "x509af"
+
+void proto_register_x509af(void);
+void proto_reg_handoff_x509af(void);
+
+static dissector_handle_t pkix_crl_handle;
+
+/* Initialize the protocol and registered fields */
+static int proto_x509af = -1;
+static int hf_x509af_algorithm_id = -1;
+static int hf_x509af_extension_id = -1;
+#include "packet-x509af-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_pkix_crl = -1;
+#include "packet-x509af-ett.c"
+static const char *algorithm_id = NULL;
+static void
+x509af_export_publickey(tvbuff_t *tvb, asn1_ctx_t *actx, int offset, int len);
+#include "packet-x509af-fn.c"
+
+/* Exports the SubjectPublicKeyInfo structure as gnutls_datum_t.
+ * actx->private_data is assumed to be a gnutls_datum_t pointer which will be
+ * filled in if non-NULL. */
+static void
+x509af_export_publickey(tvbuff_t *tvb _U_, asn1_ctx_t *actx _U_, int offset _U_, int len _U_)
+{
+#if defined(HAVE_LIBGNUTLS)
+ gnutls_datum_t *subjectPublicKeyInfo = (gnutls_datum_t *)actx->private_data;
+ if (subjectPublicKeyInfo) {
+ subjectPublicKeyInfo->data = (guchar *) tvb_get_ptr(tvb, offset, len);
+ subjectPublicKeyInfo->size = len;
+ actx->private_data = NULL;
+ }
+#endif
+}
+
+const char *x509af_get_last_algorithm_id(void) {
+ return algorithm_id;
+}
+
+
+static int
+dissect_pkix_crl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
+{
+ proto_tree *tree;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "PKIX-CRL");
+
+ col_set_str(pinfo->cinfo, COL_INFO, "Certificate Revocation List");
+
+
+ tree=proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_pkix_crl, NULL, "Certificate Revocation List");
+
+ return dissect_x509af_CertificateList(FALSE, tvb, 0, &asn1_ctx, tree, -1);
+}
+
+static void
+x509af_cleanup_protocol(void)
+{
+ algorithm_id = NULL;
+}
+
+/*--- proto_register_x509af ----------------------------------------------*/
+void proto_register_x509af(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_x509af_algorithm_id,
+ { "Algorithm Id", "x509af.algorithm.id",
+ FT_OID, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x509af_extension_id,
+ { "Extension Id", "x509af.extension.id",
+ FT_OID, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+#include "packet-x509af-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_pkix_crl,
+#include "packet-x509af-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_x509af = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_x509af, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ register_cleanup_routine(&x509af_cleanup_protocol);
+
+ pkix_crl_handle = register_dissector(PFNAME, dissect_pkix_crl, proto_x509af);
+
+ register_ber_syntax_dissector("Certificate", proto_x509af, dissect_x509af_Certificate_PDU);
+ register_ber_syntax_dissector("CertificateList", proto_x509af, dissect_CertificateList_PDU);
+ register_ber_syntax_dissector("CrossCertificatePair", proto_x509af, dissect_CertificatePair_PDU);
+
+ register_ber_oid_syntax(".cer", NULL, "Certificate");
+ register_ber_oid_syntax(".crt", NULL, "Certificate");
+ register_ber_oid_syntax(".crl", NULL, "CertificateList");
+}
+
+
+/*--- proto_reg_handoff_x509af -------------------------------------------*/
+void proto_reg_handoff_x509af(void) {
+
+ dissector_add_string("media_type", "application/pkix-crl", pkix_crl_handle);
+
+#include "packet-x509af-dis-tab.c"
+
+ /*XXX these should really go to a better place but since
+ I have not that ITU standard, I'll put it here for the time
+ being.
+ Only implemented those algorithms that take no parameters
+ for the time being, ronnie
+ */
+ /* from http://www.alvestrand.no/objectid/1.3.14.3.2.html */
+ register_ber_oid_dissector("1.3.14.3.2.2", dissect_ber_oid_NULL_callback, proto_x509af, "md4WithRSA");
+ register_ber_oid_dissector("1.3.14.3.2.3", dissect_ber_oid_NULL_callback, proto_x509af, "md5WithRSA");
+ register_ber_oid_dissector("1.3.14.3.2.4", dissect_ber_oid_NULL_callback, proto_x509af, "md4WithRSAEncryption");
+ register_ber_oid_dissector("1.3.14.3.2.6", dissect_ber_oid_NULL_callback, proto_x509af, "desECB");
+ register_ber_oid_dissector("1.3.14.3.2.11", dissect_ber_oid_NULL_callback, proto_x509af, "rsaSignature");
+ register_ber_oid_dissector("1.3.14.3.2.14", dissect_ber_oid_NULL_callback, proto_x509af, "mdc2WithRSASignature");
+ register_ber_oid_dissector("1.3.14.3.2.15", dissect_ber_oid_NULL_callback, proto_x509af, "shaWithRSASignature");
+ register_ber_oid_dissector("1.3.14.3.2.16", dissect_ber_oid_NULL_callback, proto_x509af, "dhWithCommonModulus");
+ register_ber_oid_dissector("1.3.14.3.2.17", dissect_ber_oid_NULL_callback, proto_x509af, "desEDE");
+ register_ber_oid_dissector("1.3.14.3.2.18", dissect_ber_oid_NULL_callback, proto_x509af, "sha");
+ register_ber_oid_dissector("1.3.14.3.2.19", dissect_ber_oid_NULL_callback, proto_x509af, "mdc-2");
+ register_ber_oid_dissector("1.3.14.3.2.20", dissect_ber_oid_NULL_callback, proto_x509af, "dsaCommon");
+ register_ber_oid_dissector("1.3.14.3.2.21", dissect_ber_oid_NULL_callback, proto_x509af, "dsaCommonWithSHA");
+ register_ber_oid_dissector("1.3.14.3.2.22", dissect_ber_oid_NULL_callback, proto_x509af, "rsaKeyTransport");
+ register_ber_oid_dissector("1.3.14.3.2.23", dissect_ber_oid_NULL_callback, proto_x509af, "keyed-hash-seal");
+ register_ber_oid_dissector("1.3.14.3.2.24", dissect_ber_oid_NULL_callback, proto_x509af, "md2WithRSASignature");
+ register_ber_oid_dissector("1.3.14.3.2.25", dissect_ber_oid_NULL_callback, proto_x509af, "md5WithRSASignature");
+ register_ber_oid_dissector("1.3.14.3.2.26", dissect_ber_oid_NULL_callback, proto_x509af, "SHA-1");
+ register_ber_oid_dissector("1.3.14.3.2.27", dissect_ber_oid_NULL_callback, proto_x509af, "dsaWithSHA1");
+ register_ber_oid_dissector("1.3.14.3.2.28", dissect_ber_oid_NULL_callback, proto_x509af, "dsaWithCommonSHA1");
+ register_ber_oid_dissector("1.3.14.3.2.29", dissect_ber_oid_NULL_callback, proto_x509af, "sha-1WithRSAEncryption");
+
+ /* these will generally be encoded as ";binary" in LDAP */
+
+ dissector_add_string("ldap.name", "cACertificate", create_dissector_handle(dissect_x509af_Certificate_PDU, proto_x509af));
+ dissector_add_string("ldap.name", "userCertificate", create_dissector_handle(dissect_x509af_Certificate_PDU, proto_x509af));
+
+ dissector_add_string("ldap.name", "certificateRevocationList", create_dissector_handle(dissect_CertificateList_PDU, proto_x509af));
+ dissector_add_string("ldap.name", "crl", create_dissector_handle(dissect_CertificateList_PDU, proto_x509af));
+
+ dissector_add_string("ldap.name", "authorityRevocationList", create_dissector_handle(dissect_CertificateList_PDU, proto_x509af));
+ dissector_add_string("ldap.name", "arl", create_dissector_handle(dissect_CertificateList_PDU, proto_x509af));
+
+ dissector_add_string("ldap.name", "crossCertificatePair", create_dissector_handle(dissect_CertificatePair_PDU, proto_x509af));
+
+ /* RFC 7468 files */
+ dissector_add_string("rfc7468.preeb_label", "CERTIFICATE", create_dissector_handle(dissect_x509af_Certificate_PDU, proto_x509af));
+ dissector_add_string("rfc7468.preeb_label", "X509 CRL", create_dissector_handle(dissect_CertificateList_PDU, proto_x509af));
+ dissector_add_string("rfc7468.preeb_label", "ATTRIBUTE CERTIFICATE", create_dissector_handle(dissect_AttributeCertificate_PDU, proto_x509af));
+ dissector_add_string("rfc7468.preeb_label", "PUBLIC KEY", create_dissector_handle(dissect_SubjectPublicKeyInfo_PDU, proto_x509af));
+}
diff --git a/epan/dissectors/asn1/x509af/packet-x509af-template.h b/epan/dissectors/asn1/x509af/packet-x509af-template.h
new file mode 100644
index 00000000..7e4d971d
--- /dev/null
+++ b/epan/dissectors/asn1/x509af/packet-x509af-template.h
@@ -0,0 +1,20 @@
+/* packet-x509af.h
+ * Routines for X.509 Authentication Framework packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_X509AF_H
+#define PACKET_X509AF_H
+
+#include "packet-x509af-exp.h"
+
+extern const char* x509af_get_last_algorithm_id(void);
+
+#endif /* PACKET_X509AF_H */
+
diff --git a/epan/dissectors/asn1/x509af/x509af.cnf b/epan/dissectors/asn1/x509af/x509af.cnf
new file mode 100644
index 00000000..3061ed2c
--- /dev/null
+++ b/epan/dissectors/asn1/x509af/x509af.cnf
@@ -0,0 +1,176 @@
+# x509.cnf
+# X509 conformation file
+
+#.IMPORT ../x509ce/x509ce-exp.cnf
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509sat/x509sat-exp.cnf
+
+#.MODULE_EXPORTS
+EXTENSION
+ACPathData
+AlgorithmIdentifier
+AttCertValidityPeriod
+AttributeCertificate
+AttributeCertificateAssertion
+AttributeCertificateInfo
+AttributeCertificationPath
+Certificate
+Certificate_PDU
+Certificates
+CertificateList
+CertificatePair
+CertificateSerialNumber
+CertificationPath
+CrossCertificates
+Extension
+Extensions
+ForwardCertificationPath
+IssuerSerial
+SubjectPublicKeyInfo
+Time
+Validity
+Version
+
+#.PDU
+SubjectPublicKeyInfo
+
+#.REGISTER
+Certificate B "2.5.4.36" "id-at-userCertificate"
+Certificate B "2.5.4.37" "id-at-cAcertificate"
+CertificateList B "2.5.4.38" "id-at-authorityRevocationList"
+CertificateList B "2.5.4.39" "id-at-certificateRevocationList"
+CertificatePair B "2.5.4.40" "id-at-crossCertificatePair"
+CertificateList B "2.5.4.53" "id-at-deltaRevocationList"
+AttributeCertificate B "2.5.4.58" "id-at-attributeCertificate"
+CertificateList B "2.5.4.59" "id-at-attributeCertificateRevocationList"
+
+DSS-Params B "1.2.840.10040.4.1" "id-dsa"
+# WS Implemet from RFC 1274
+Userid B "0.9.2342.19200300.100.1.1" "id-userid"
+
+#.TYPE_RENAME
+AttributeCertificateInfo/subject InfoSubject
+AttributeCertificateAssertion/subject AssertionSubject
+
+#.FIELD_RENAME
+AttributeCertificateInfo/issuer issuerName
+AttributeCertificateInfo/subject info_subject
+AttributeCertificateAssertion/subject assertion_subject
+
+AttributeCertificateAssertion/issuer assertionIssuer
+
+AttributeCertificateInfo/subject/subjectName infoSubjectName
+AttributeCertificateAssertion/subject/subjectName assertionSubjectName
+IssuerSerial/issuer issuerName
+CertificateList/signedCertificateList/revokedCertificates/_item/userCertificate revokedUserCertificate
+#.END
+
+#.FN_PARS AlgorithmIdentifier/algorithmId
+ FN_VARIANT = _str HF_INDEX = hf_x509af_algorithm_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY AlgorithmIdentifier/algorithmId
+ const char *name;
+
+ %(DEFAULT_BODY)s
+
+ if (algorithm_id) {
+ wmem_free(wmem_file_scope(), (void*)algorithm_id);
+ }
+
+ if(actx->external.direct_reference) {
+ algorithm_id = (const char *)wmem_strdup(wmem_file_scope(), actx->external.direct_reference);
+
+ name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference);
+
+ proto_item_append_text(tree, " (%%s)", name ? name : actx->external.direct_reference);
+ } else {
+ algorithm_id = NULL;
+ }
+
+#.FN_BODY AlgorithmIdentifier/parameters
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_HDR SubjectPublicKeyInfo
+ int orig_offset = offset;
+#.FN_FTR SubjectPublicKeyInfo
+ x509af_export_publickey(tvb, actx, orig_offset, offset - orig_offset);
+#.END
+
+#.FN_BODY SubjectPublicKeyInfo/subjectPublicKey
+ tvbuff_t *bs_tvb = NULL;
+# proto_tree *subtree;
+
+ dissect_ber_bitstring(FALSE, actx, NULL, tvb, offset,
+ NULL, 0, hf_index, -1, &bs_tvb);
+
+ /* See RFC 3279 for possible subjectPublicKey values given an Algorithm ID.
+ * The contents of subjectPublicKey are always explicitly tagged. */
+ if (bs_tvb && !g_strcmp0(algorithm_id, "1.2.840.113549.1.1.1")) { /* id-rsa */
+ offset += dissect_pkcs1_RSAPublicKey(FALSE, bs_tvb, 0, actx, tree, hf_index);
+
+# TODO: PKCS#1 only defines RSA; DH and DSA are from PKIX1Algorithms2008
+# } else if (bs_tvb && !g_strcmp0(algorithm_id, "1.2.840.10040.4.1")) { /* id-dsa */
+# subtree = proto_item_add_subtree(actx->created_item, ett_subjectpublickey);
+# offset += dissect_DSAPublicKey(FALSE, bs_tvb, 0, actx, subtree, hf_dsa_y);
+#
+# } else if (bs_tvb && !g_strcmp0(algorithm_id, "1.2.840.10046.2.1")) { /* dhpublicnumber */
+# subtree = proto_item_add_subtree(actx->created_item, ett_subjectpublickey);
+# offset += dissect_DHPublicKey(FALSE, bs_tvb, 0, actx, subtree, hf_dh_y);
+#
+ } else {
+ offset = dissect_ber_bitstring(FALSE, actx, tree, tvb, offset,
+ NULL, 0, hf_index, -1, NULL);
+ }
+
+#.FN_PARS Extension/extnId
+ FN_VARIANT = _str HF_INDEX = hf_x509af_extension_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Extension/extnId
+ const char *name;
+
+ %(DEFAULT_BODY)s
+
+ if(actx->external.direct_reference) {
+ name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference);
+
+ proto_item_append_text(tree, " (%%s)", name ? name : actx->external.direct_reference);
+ }
+
+#.FN_BODY Extension/extnValue
+ gint8 ber_class;
+ bool pc, ind;
+ gint32 tag;
+ guint32 len;
+ /* skip past the T and L */
+ offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY Time/utcTime
+ char *outstr, *newstr;
+ guint32 tvblen;
+
+ /* the 2-digit year can only be in the range 1950..2049 https://tools.ietf.org/html/rfc5280#section-4.1.2.5.1 */
+ offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index, &outstr, &tvblen);
+ if (hf_index >= 0 && outstr) {
+ newstr = wmem_strconcat(actx->pinfo->pool, outstr[0] < '5' ? "20": "19", outstr, NULL);
+ proto_tree_add_string(tree, hf_index, tvb, offset - tvblen, tvblen, newstr);
+ }
+
+#.FN_BODY SubjectName
+
+ const char* str;
+ %(DEFAULT_BODY)s
+
+ str = x509if_get_last_dn();
+ proto_item_append_text(proto_item_get_parent(tree), " (%%s)", str?str:"");
+
+#.TYPE_ATTR
+CertificateSerialNumber TYPE = FT_BYTES DISPLAY = BASE_NONE
+DSS-Params/p TYPE = FT_BYTES DISPLAY = BASE_NONE
+DSS-Params/q TYPE = FT_BYTES DISPLAY = BASE_NONE
+DSS-Params/g TYPE = FT_BYTES DISPLAY = BASE_NONE
+
+#.FN_PARS CertificateSerialNumber FN_VARIANT = 64
+
+#.END
diff --git a/epan/dissectors/asn1/x509ce/CMakeLists.txt b/epan/dissectors/asn1/x509ce/CMakeLists.txt
new file mode 100644
index 00000000..00749863
--- /dev/null
+++ b/epan/dissectors/asn1/x509ce/CMakeLists.txt
@@ -0,0 +1,52 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME x509ce )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ CertificateExtensions.asn
+ CertificateExtensionsRFC9310.asn
+ CertificateExtensionsCiplus.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+)
+
+set( EXPORT_DEPENDS
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/x509ce/CertificateExtensions.asn b/epan/dissectors/asn1/x509ce/CertificateExtensions.asn
new file mode 100644
index 00000000..3fad9fb8
--- /dev/null
+++ b/epan/dissectors/asn1/x509ce/CertificateExtensions.asn
@@ -0,0 +1,757 @@
+-- Module CertificateExtensions (X.509:08/2005)
+CertificateExtensions {joint-iso-itu-t ds(5) module(1)
+ certificateExtensions(26) 5} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- EXPORTS ALL
+IMPORTS
+ id-at, id-ce, id-mr, informationFramework, authenticationFramework,
+ selectedAttributeTypes, upperBounds
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 5}
+ Name, RelativeDistinguishedName, ATTRIBUTE, Attribute, MATCHING-RULE
+ FROM InformationFramework informationFramework
+ CertificateSerialNumber, CertificateList, AlgorithmIdentifier, EXTENSION,
+ Time, PolicyID
+ FROM AuthenticationFramework authenticationFramework
+ DirectoryString{}
+ FROM SelectedAttributeTypes selectedAttributeTypes
+ ub-name
+ FROM UpperBounds upperBounds
+ ORAddress
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)};
+
+-- Unless explicitly noted otherwise, there is no significance to the ordering
+-- of components of a SEQUENCE OF construct in this Specification.
+-- public-key certificate and CRL extensions
+authorityKeyIdentifier EXTENSION ::= {
+ SYNTAX AuthorityKeyIdentifier
+ IDENTIFIED BY id-ce-authorityKeyIdentifier
+}
+
+AuthorityKeyIdentifier ::= SEQUENCE {
+ keyIdentifier [0] KeyIdentifier OPTIONAL,
+ authorityCertIssuer [1] GeneralNames OPTIONAL,
+ authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL
+}
+(WITH COMPONENTS {
+ ...,
+ authorityCertIssuer PRESENT,
+ authorityCertSerialNumber PRESENT
+ } |
+ WITH COMPONENTS {
+ ...,
+ authorityCertIssuer ABSENT,
+ authorityCertSerialNumber ABSENT
+ })
+
+KeyIdentifier ::= OCTET STRING
+
+subjectKeyIdentifier EXTENSION ::= {
+ SYNTAX SubjectKeyIdentifier
+ IDENTIFIED BY id-ce-subjectKeyIdentifier
+}
+
+SubjectKeyIdentifier ::= KeyIdentifier
+
+keyUsage EXTENSION ::= {SYNTAX KeyUsage
+ IDENTIFIED BY id-ce-keyUsage
+}
+
+KeyUsage ::= BIT STRING {
+ digitalSignature(0), contentCommitment(1), keyEncipherment(2),
+ dataEncipherment(3), keyAgreement(4), keyCertSign(5), cRLSign(6),
+ encipherOnly(7), decipherOnly(8)}
+
+extKeyUsage EXTENSION ::= {
+ SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId
+ IDENTIFIED BY id-ce-extKeyUsage
+}
+
+KeyPurposeId ::= OBJECT IDENTIFIER
+
+KeyPurposeIDs ::= SEQUENCE OF KeyPurposeId
+
+privateKeyUsagePeriod EXTENSION ::= {
+ SYNTAX PrivateKeyUsagePeriod
+ IDENTIFIED BY id-ce-privateKeyUsagePeriod
+}
+
+PrivateKeyUsagePeriod ::= SEQUENCE {
+ notBefore [0] GeneralizedTime OPTIONAL,
+ notAfter [1] GeneralizedTime OPTIONAL
+}
+(WITH COMPONENTS {
+ ...,
+ notBefore PRESENT
+ } | WITH COMPONENTS {
+ ...,
+ notAfter PRESENT
+ })
+
+certificatePolicies EXTENSION ::= {
+ SYNTAX CertificatePoliciesSyntax
+ IDENTIFIED BY id-ce-certificatePolicies
+}
+
+CertificatePoliciesSyntax ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
+
+PolicyInformation ::= SEQUENCE {
+ policyIdentifier CertPolicyId,
+ policyQualifiers SEQUENCE SIZE (1..MAX) OF PolicyQualifierInfo OPTIONAL
+}
+
+CertPolicyId ::= OBJECT IDENTIFIER
+
+PolicyQualifierInfo ::= SEQUENCE {
+ policyQualifierId CERT-POLICY-QUALIFIER.&id({SupportedPolicyQualifiers}),
+ qualifier
+ CERT-POLICY-QUALIFIER.&Qualifier
+ ({SupportedPolicyQualifiers}{@policyQualifierId}) OPTIONAL
+}
+
+SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::=
+ {...}
+
+anyPolicy OBJECT IDENTIFIER ::= {2 5 29 32 0}
+
+CERT-POLICY-QUALIFIER ::= CLASS {
+ &id OBJECT IDENTIFIER UNIQUE,
+ &Qualifier OPTIONAL
+}WITH SYNTAX {POLICY-QUALIFIER-ID &id
+ [QUALIFIER-TYPE &Qualifier]
+}
+
+policyMappings EXTENSION ::= {
+ SYNTAX PolicyMappingsSyntax
+ IDENTIFIED BY id-ce-policyMappings
+}
+
+PolicyMappingsSyntax ::=
+ SEQUENCE SIZE (1..MAX) OF
+ SEQUENCE {issuerDomainPolicy CertPolicyId,
+ subjectDomainPolicy CertPolicyId}
+
+subjectAltName EXTENSION ::= {
+ SYNTAX GeneralNames
+ IDENTIFIED BY id-ce-subjectAltName
+}
+
+GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
+
+GeneralName ::= CHOICE {
+ otherName [0] -- INSTANCE OF OTHER-NAME-- OtherName,
+ rfc822Name [1] IA5String,
+ dNSName [2] IA5String,
+ x400Address [3] ORAddress,
+ directoryName [4] Name,
+ ediPartyName [5] EDIPartyName,
+ uniformResourceIdentifier [6] IA5String,
+ iPAddress [7] OCTET STRING,
+ registeredID [8] OBJECT IDENTIFIER
+}
+
+-- OTHER-NAME ::= TYPE-IDENTIFIER
+
+OtherName ::= SEQUENCE {
+ type-id OtherNameType,
+ value [0] EXPLICIT OtherNameValue
+}
+
+OtherNameType ::= OBJECT IDENTIFIER
+OtherNameValue ::= ANY
+
+EDIPartyName ::= SEQUENCE {
+ nameAssigner [0] DirectoryString{ub-name} OPTIONAL,
+ partyName [1] DirectoryString{ub-name}
+}
+
+issuerAltName EXTENSION ::= {
+ SYNTAX GeneralNames
+ IDENTIFIED BY id-ce-issuerAltName
+}
+
+subjectDirectoryAttributes EXTENSION ::= {
+ SYNTAX AttributesSyntax
+ IDENTIFIED BY id-ce-subjectDirectoryAttributes
+}
+
+AttributesSyntax ::= SEQUENCE SIZE (1..MAX) OF Attribute
+
+basicConstraints EXTENSION ::= {
+ SYNTAX BasicConstraintsSyntax
+ IDENTIFIED BY id-ce-basicConstraints
+}
+
+BasicConstraintsSyntax ::= SEQUENCE {
+ cA BOOLEAN DEFAULT FALSE,
+ pathLenConstraint INTEGER(0..MAX) OPTIONAL
+}
+
+nameConstraints EXTENSION ::= {
+ SYNTAX NameConstraintsSyntax
+ IDENTIFIED BY id-ce-nameConstraints
+}
+
+NameConstraintsSyntax ::= SEQUENCE {
+ permittedSubtrees [0] GeneralSubtrees OPTIONAL,
+ excludedSubtrees [1] GeneralSubtrees OPTIONAL
+}(-- ALL EXCEPT -- ({ --none; at least one component shall be present--}))
+
+GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
+
+GeneralSubtree ::= SEQUENCE {
+ base GeneralName,
+ minimum [0] BaseDistance DEFAULT 0,
+ maximum [1] BaseDistance OPTIONAL
+}
+
+BaseDistance ::= INTEGER(0..MAX)
+
+policyConstraints EXTENSION ::= {
+ SYNTAX PolicyConstraintsSyntax
+ IDENTIFIED BY id-ce-policyConstraints
+}
+
+PolicyConstraintsSyntax ::= SEQUENCE {
+ requireExplicitPolicy [0] SkipCerts OPTIONAL,
+ inhibitPolicyMapping [1] SkipCerts OPTIONAL
+}
+
+SkipCerts ::= INTEGER(0..MAX)
+
+cRLNumber EXTENSION ::= {
+ SYNTAX CRLNumber
+ IDENTIFIED BY id-ce-cRLNumber
+}
+
+CRLNumber ::= INTEGER(0..MAX)
+
+reasonCode EXTENSION ::= {
+ SYNTAX CRLReason
+ IDENTIFIED BY id-ce-reasonCode
+}
+
+CRLReason ::= ENUMERATED {
+ unspecified(0), keyCompromise(1), cACompromise(2), affiliationChanged(3),
+ superseded(4), cessationOfOperation(5), certificateHold(6), removeFromCRL(8),
+ privilegeWithdrawn(9), aaCompromise(10)}
+
+holdInstructionCode EXTENSION ::= {
+ SYNTAX HoldInstruction
+ IDENTIFIED BY id-ce-instructionCode
+}
+
+HoldInstruction ::= OBJECT IDENTIFIER
+
+invalidityDate EXTENSION ::= {
+ SYNTAX GeneralizedTime
+ IDENTIFIED BY id-ce-invalidityDate
+}
+
+crlScope EXTENSION ::= {
+ SYNTAX CRLScopeSyntax
+ IDENTIFIED BY id-ce-cRLScope
+}
+
+CRLScopeSyntax ::= SEQUENCE SIZE (1..MAX) OF PerAuthorityScope
+
+PerAuthorityScope ::= SEQUENCE {
+ authorityName [0] GeneralName OPTIONAL,
+ distributionPoint [1] DistributionPointName OPTIONAL,
+ onlyContains [2] OnlyCertificateTypes OPTIONAL,
+ onlySomeReasons [4] ReasonFlags OPTIONAL,
+ serialNumberRange [5] NumberRange OPTIONAL,
+ subjectKeyIdRange [6] NumberRange OPTIONAL,
+ nameSubtrees [7] GeneralNames OPTIONAL,
+ baseRevocationInfo [9] BaseRevocationInfo OPTIONAL
+}
+
+OnlyCertificateTypes ::= BIT STRING {user(0), authority(1), attribute(2)}
+
+NumberRange ::= SEQUENCE {
+ startingNumber [0] INTEGER OPTIONAL,
+ endingNumber [1] INTEGER OPTIONAL,
+ modulus INTEGER OPTIONAL
+}
+
+BaseRevocationInfo ::= SEQUENCE {
+ cRLStreamIdentifier [0] CRLStreamIdentifier OPTIONAL,
+ cRLNumber [1] CRLNumber,
+ baseThisUpdate [2] GeneralizedTime
+}
+
+statusReferrals EXTENSION ::= {
+ SYNTAX StatusReferrals
+ IDENTIFIED BY id-ce-statusReferrals
+}
+
+StatusReferrals ::= SEQUENCE SIZE (1..MAX) OF StatusReferral
+
+StatusReferral ::= CHOICE {
+ cRLReferral [0] CRLReferral
+-- otherReferral [1] INSTANCE OF OTHER-REFERRAL
+}
+
+CRLReferral ::= SEQUENCE {
+ issuer [0] GeneralName OPTIONAL,
+ location [1] GeneralName OPTIONAL,
+ deltaRefInfo [2] DeltaRefInfo OPTIONAL,
+ cRLScope CRLScopeSyntax,
+ lastUpdate [3] GeneralizedTime OPTIONAL,
+ lastChangedCRL [4] GeneralizedTime OPTIONAL
+}
+
+DeltaRefInfo ::= SEQUENCE {
+ deltaLocation GeneralName,
+ lastDelta GeneralizedTime OPTIONAL
+}
+
+--OTHER-REFERRAL ::= TYPE-IDENTIFIER
+--
+cRLStreamIdentifier EXTENSION ::= {
+ SYNTAX CRLStreamIdentifier
+ IDENTIFIED BY id-ce-cRLStreamIdentifier
+}
+
+CRLStreamIdentifier ::= INTEGER(0..MAX)
+
+orderedList EXTENSION ::= {
+ SYNTAX OrderedListSyntax
+ IDENTIFIED BY id-ce-orderedList
+}
+
+OrderedListSyntax ::= ENUMERATED {ascSerialNum(0), ascRevDate(1)}
+
+deltaInfo EXTENSION ::= {
+ SYNTAX DeltaInformation
+ IDENTIFIED BY id-ce-deltaInfo
+}
+
+DeltaInformation ::= SEQUENCE {
+ deltaLocation GeneralName,
+ nextDelta GeneralizedTime OPTIONAL
+}
+
+cRLDistributionPoints EXTENSION ::= {
+ SYNTAX CRLDistPointsSyntax
+ IDENTIFIED BY id-ce-cRLDistributionPoints
+}
+
+CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
+
+DistributionPoint ::= SEQUENCE {
+ distributionPoint [0] DistributionPointName OPTIONAL,
+ reasons [1] ReasonFlags OPTIONAL,
+ cRLIssuer [2] GeneralNames OPTIONAL
+}
+
+DistributionPointName ::= CHOICE {
+ fullName [0] GeneralNames,
+ nameRelativeToCRLIssuer [1] RelativeDistinguishedName
+}
+
+ReasonFlags ::= BIT STRING {
+ unused(0), keyCompromise(1), cACompromise(2), affiliationChanged(3),
+ superseded(4), cessationOfOperation(5), certificateHold(6),
+ privilegeWithdrawn(7), aACompromise(8)}
+
+issuingDistributionPoint EXTENSION ::= {
+ SYNTAX IssuingDistPointSyntax
+ IDENTIFIED BY id-ce-issuingDistributionPoint
+}
+
+IssuingDistPointSyntax ::= SEQUENCE {
+ -- If onlyContainsUserPublicKeyCerts and onlyContainsCACerts are both FALSE,
+ -- the CRL covers both certificate types
+ distributionPoint [0] DistributionPointName OPTIONAL,
+ onlyContainsUserPublicKeyCerts [1] BOOLEAN DEFAULT FALSE,
+ onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
+ onlySomeReasons [3] ReasonFlags OPTIONAL,
+ indirectCRL [4] BOOLEAN DEFAULT FALSE
+}
+
+certificateIssuer EXTENSION ::= {
+ SYNTAX GeneralNames
+ IDENTIFIED BY id-ce-certificateIssuer
+}
+
+deltaCRLIndicator EXTENSION ::= {
+ SYNTAX BaseCRLNumber
+ IDENTIFIED BY id-ce-deltaCRLIndicator
+}
+
+BaseCRLNumber ::= CRLNumber
+
+toBeRevoked EXTENSION ::= {
+ SYNTAX ToBeRevokedSyntax
+ IDENTIFIED BY id-ce-toBeRevoked
+}
+
+ToBeRevokedSyntax ::= SEQUENCE SIZE (1..MAX) OF ToBeRevokedGroup
+
+ToBeRevokedGroup ::= SEQUENCE {
+ certificateIssuer [0] GeneralName OPTIONAL,
+ reasonInfo [1] ReasonInfo OPTIONAL,
+ revocationTime GeneralizedTime,
+ certificateGroup CertificateGroup
+}
+
+ReasonInfo ::= SEQUENCE {
+ reasonCode CRLReason,
+ holdInstructionCode HoldInstruction OPTIONAL
+}
+
+CertificateGroup ::= CHOICE {
+ serialNumbers [0] CertificateSerialNumbers,
+ serialNumberRange [1] CertificateGroupNumberRange,
+ nameSubtree [2] GeneralName
+}
+
+CertificateGroupNumberRange ::= SEQUENCE {
+ startingNumber [0] INTEGER,
+ endingNumber [1] INTEGER
+}
+
+CertificateSerialNumbers ::= SEQUENCE SIZE (1..MAX) OF CertificateSerialNumber
+
+revokedGroups EXTENSION ::= {
+ SYNTAX RevokedGroupsSyntax
+ IDENTIFIED BY id-ce-RevokedGroups
+}
+
+RevokedGroupsSyntax ::= SEQUENCE SIZE (1..MAX) OF RevokedGroup
+
+RevokedGroup ::= SEQUENCE {
+ certificateIssuer [0] GeneralName OPTIONAL,
+ reasonInfo [1] ReasonInfo OPTIONAL,
+ invalidityDate [2] GeneralizedTime OPTIONAL,
+ revokedcertificateGroup [3] RevokedCertificateGroup
+}
+
+RevokedCertificateGroup ::= CHOICE {
+ serialNumberRange NumberRange,
+ nameSubtree GeneralName
+}
+
+expiredCertsOnCRL EXTENSION ::= {
+ SYNTAX ExpiredCertsOnCRL
+ IDENTIFIED BY id-ce-expiredCertsOnCRL
+}
+
+ExpiredCertsOnCRL ::= GeneralizedTime
+
+baseUpdateTime EXTENSION ::= {
+ SYNTAX GeneralizedTime
+ IDENTIFIED BY id-ce-baseUpdateTime
+}
+
+freshestCRL EXTENSION ::= {
+ SYNTAX CRLDistPointsSyntax
+ IDENTIFIED BY id-ce-freshestCRL
+}
+
+aAissuingDistributionPoint EXTENSION ::= {
+ SYNTAX AAIssuingDistPointSyntax
+ IDENTIFIED BY id-ce-aAissuingDistributionPoint
+}
+
+AAIssuingDistPointSyntax ::= SEQUENCE {
+ distributionPoint [0] DistributionPointName OPTIONAL,
+ onlySomeReasons [1] ReasonFlags OPTIONAL,
+ indirectCRL [2] BOOLEAN DEFAULT FALSE,
+ containsUserAttributeCerts [3] BOOLEAN DEFAULT TRUE,
+ containsAACerts [4] BOOLEAN DEFAULT TRUE,
+ containsSOAPublicKeyCerts [5] BOOLEAN DEFAULT TRUE
+}
+
+inhibitAnyPolicy EXTENSION ::= {
+ SYNTAX SkipCerts
+ IDENTIFIED BY id-ce-inhibitAnyPolicy
+}
+
+-- PKI matching rules
+certificateExactMatch MATCHING-RULE ::= {
+ SYNTAX CertificateExactAssertion
+ ID id-mr-certificateExactMatch
+}
+
+CertificateExactAssertion ::= SEQUENCE {
+ serialNumber CertificateSerialNumber,
+ issuer Name
+}
+
+certificateMatch MATCHING-RULE ::= {
+ SYNTAX CertificateAssertion
+ ID id-mr-certificateMatch
+}
+
+CertificateAssertion ::= SEQUENCE {
+ serialNumber [0] CertificateSerialNumber OPTIONAL,
+ issuer [1] Name OPTIONAL,
+ subjectKeyIdentifier [2] SubjectKeyIdentifier OPTIONAL,
+ authorityKeyIdentifier [3] AuthorityKeyIdentifier OPTIONAL,
+ certificateValid [4] Time OPTIONAL,
+ privateKeyValid [5] GeneralizedTime OPTIONAL,
+ subjectPublicKeyAlgID [6] OBJECT IDENTIFIER OPTIONAL,
+ keyUsage [7] KeyUsage OPTIONAL,
+ subjectAltName [8] AltNameType OPTIONAL,
+ policy [9] CertPolicySet OPTIONAL,
+ pathToName [10] Name OPTIONAL,
+ subject [11] Name OPTIONAL,
+ nameConstraints [12] NameConstraintsSyntax OPTIONAL
+}
+
+AltNameType ::= CHOICE {
+ builtinNameForm
+ ENUMERATED {rfc822Name(1), dNSName(2), x400Address(3), directoryName(4),
+ ediPartyName(5), uniformResourceIdentifier(6), iPAddress(7),
+ registeredId(8)},
+ otherNameForm OBJECT IDENTIFIER
+}
+
+CertPolicySet ::= SEQUENCE SIZE (1..MAX) OF CertPolicyId
+
+certificatePairExactMatch MATCHING-RULE ::= {
+ SYNTAX CertificatePairExactAssertion
+ ID id-mr-certificatePairExactMatch
+}
+
+CertificatePairExactAssertion ::= SEQUENCE {
+ issuedToThisCAAssertion [0] CertificateExactAssertion OPTIONAL,
+ issuedByThisCAAssertion [1] CertificateExactAssertion OPTIONAL
+}
+(WITH COMPONENTS {
+ ...,
+ issuedToThisCAAssertion PRESENT
+ } | WITH COMPONENTS {
+ ...,
+ issuedByThisCAAssertion PRESENT
+ })
+
+certificatePairMatch MATCHING-RULE ::= {
+ SYNTAX CertificatePairAssertion
+ ID id-mr-certificatePairMatch
+}
+
+CertificatePairAssertion ::= SEQUENCE {
+ issuedToThisCAAssertion [0] CertificateAssertion OPTIONAL,
+ issuedByThisCAAssertion [1] CertificateAssertion OPTIONAL
+}
+(WITH COMPONENTS {
+ ...,
+ issuedToThisCAAssertion PRESENT
+ } | WITH COMPONENTS {
+ ...,
+ issuedByThisCAAssertion PRESENT
+ })
+
+certificateListExactMatch MATCHING-RULE ::= {
+ SYNTAX CertificateListExactAssertion
+ ID id-mr-certificateListExactMatch
+}
+
+CertificateListExactAssertion ::= SEQUENCE {
+ issuer Name,
+ thisUpdate Time,
+ distributionPoint DistributionPointName OPTIONAL
+}
+
+certificateListMatch MATCHING-RULE ::= {
+ SYNTAX CertificateListAssertion
+ ID id-mr-certificateListMatch
+}
+
+CertificateListAssertion ::= SEQUENCE {
+ issuer Name OPTIONAL,
+ minCRLNumber [0] CRLNumber OPTIONAL,
+ maxCRLNumber [1] CRLNumber OPTIONAL,
+ reasonFlags ReasonFlags OPTIONAL,
+ dateAndTime Time OPTIONAL,
+ distributionPoint [2] DistributionPointName OPTIONAL,
+ authorityKeyIdentifier [3] AuthorityKeyIdentifier OPTIONAL
+}
+
+algorithmIdentifierMatch MATCHING-RULE ::= {
+ SYNTAX AlgorithmIdentifier
+ ID id-mr-algorithmIdentifierMatch
+}
+
+policyMatch MATCHING-RULE ::= {SYNTAX PolicyID
+ ID id-mr-policyMatch
+}
+
+pkiPathMatch MATCHING-RULE ::= {
+ SYNTAX PkiPathMatchSyntax
+ ID id-mr-pkiPathMatch
+}
+
+PkiPathMatchSyntax ::= SEQUENCE {firstIssuer Name,
+ lastSubject Name
+}
+
+enhancedCertificateMatch MATCHING-RULE ::= {
+ SYNTAX EnhancedCertificateAssertion
+ ID id-mr-enhancedCertificateMatch
+}
+
+EnhancedCertificateAssertion ::= SEQUENCE {
+ serialNumber [0] CertificateSerialNumber OPTIONAL,
+ issuer [1] Name OPTIONAL,
+ subjectKeyIdentifier [2] SubjectKeyIdentifier OPTIONAL,
+ authorityKeyIdentifier [3] AuthorityKeyIdentifier OPTIONAL,
+ certificateValid [4] Time OPTIONAL,
+ privateKeyValid [5] GeneralizedTime OPTIONAL,
+ subjectPublicKeyAlgID [6] OBJECT IDENTIFIER OPTIONAL,
+ keyUsage [7] KeyUsage OPTIONAL,
+ subjectAltName [8] AltName OPTIONAL,
+ policy [9] CertPolicySet OPTIONAL,
+ pathToName [10] GeneralNames OPTIONAL,
+ subject [11] Name OPTIONAL,
+ nameConstraints [12] NameConstraintsSyntax OPTIONAL
+}(--ALL EXCEPT-- ({ -- none; at least one component shall be present --}))
+
+AltName ::= SEQUENCE {
+ altnameType AltNameType,
+ altNameValue GeneralName OPTIONAL
+}
+
+-- Object identifier assignments
+id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::=
+ {id-ce 9}
+
+id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 14}
+
+id-ce-keyUsage OBJECT IDENTIFIER ::= {id-ce 15}
+
+id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= {id-ce 16}
+
+id-ce-subjectAltName OBJECT IDENTIFIER ::= {id-ce 17}
+
+id-ce-issuerAltName OBJECT IDENTIFIER ::= {id-ce 18}
+
+id-ce-basicConstraints OBJECT IDENTIFIER ::= {id-ce 19}
+
+id-ce-cRLNumber OBJECT IDENTIFIER ::= {id-ce 20}
+
+id-ce-reasonCode OBJECT IDENTIFIER ::= {id-ce 21}
+
+id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23}
+
+id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24}
+
+id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27}
+
+id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28}
+
+id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29}
+
+id-ce-nameConstraints OBJECT IDENTIFIER ::= {id-ce 30}
+
+id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
+
+id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32}
+
+id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33}
+
+-- deprecated OBJECT IDENTIFIER ::= {id-ce 34}
+id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=
+ {id-ce 35}
+
+id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36}
+
+id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
+
+id-ce-cRLStreamIdentifier OBJECT IDENTIFIER ::= {id-ce 40}
+
+id-ce-cRLScope OBJECT IDENTIFIER ::= {id-ce 44}
+
+id-ce-statusReferrals OBJECT IDENTIFIER ::= {id-ce 45}
+
+id-ce-freshestCRL OBJECT IDENTIFIER ::= {id-ce 46}
+
+id-ce-orderedList OBJECT IDENTIFIER ::= {id-ce 47}
+
+id-ce-baseUpdateTime OBJECT IDENTIFIER ::= {id-ce 51}
+
+id-ce-deltaInfo OBJECT IDENTIFIER ::= {id-ce 53}
+
+id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= {id-ce 54}
+
+id-ce-toBeRevoked OBJECT IDENTIFIER ::= {id-ce 58}
+
+id-ce-RevokedGroups OBJECT IDENTIFIER ::= {id-ce 59}
+
+id-ce-expiredCertsOnCRL OBJECT IDENTIFIER ::= {id-ce 60}
+
+id-ce-aAissuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 63}
+
+-- matching rule OIDs
+id-mr-certificateExactMatch OBJECT IDENTIFIER ::=
+ {id-mr 34}
+
+id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
+
+id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
+
+id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
+
+id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
+
+id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
+
+id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
+
+id-mr-policyMatch OBJECT IDENTIFIER ::= {id-mr 60}
+
+id-mr-pkiPathMatch OBJECT IDENTIFIER ::= {id-mr 62}
+
+id-mr-enhancedCertificateMatch OBJECT IDENTIFIER ::= {id-mr 65}
+
+
+-- The following OBJECT IDENTIFIERS are not used by this Specification:
+-- {id-ce 2}, {id-ce 3}, {id-ce 4}, {id-ce 5}, {id-ce 6}, {id-ce 7},
+-- {id-ce 8}, {id-ce 10}, {id-ce 11}, {id-ce 12}, {id-ce 13},
+-- {id-ce 22}, {id-ce 25}, {id-ce 26}
+
+-- Microsoft Certificate Extension
+
+CertificateTemplate ::= SEQUENCE {
+ templateID OBJECT IDENTIFIER,
+ templateMajorVersion INTEGER,
+ templateMinorVersion INTEGER OPTIONAL
+}
+
+-- Microsoft NTDS CA Security Extension
+NtdsCaSecurity ::= SEQUENCE {
+ ntdsObjectSid NtdsObjectSid
+}
+
+NtdsObjectSid ::= [0] SEQUENCE {
+ type-id OBJECT IDENTIFIER,
+ sid [0] PrintableString
+}
+
+
+
+-- Entrust Certificate Extension
+
+EntrustVersionInfo ::= SEQUENCE {
+ entrustVers GeneralString,
+ entrustVersInfoFlags EntrustInfoFlags OPTIONAL
+}
+
+EntrustInfoFlags ::= BIT STRING {
+ keyUpdateAllowed(0),
+ newExtensions(1),
+ pKIXCertificate(2),
+ enterpriseCategory(3),
+ webCategory(4),
+ sETCategory(5)
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/x509ce/CertificateExtensionsCiplus.asn b/epan/dissectors/asn1/x509ce/CertificateExtensionsCiplus.asn
new file mode 100644
index 00000000..9f824c8e
--- /dev/null
+++ b/epan/dissectors/asn1/x509ce/CertificateExtensionsCiplus.asn
@@ -0,0 +1,56 @@
+-- Module CertificateExtensionsCiplus
+-- X.509 certificate extensions defined by CI+ (www.ci-plus.com)
+CertificateExtensionsCiplus DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- EXPORTS ALL
+IMPORTS
+ id-pkix
+ FROM PKIX1Explicit93 {iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit-93(3)}
+ EXTENSION
+ FROM AuthenticationFramework { joint-iso-itu-t ds(5)
+ module(1) authenticationFramework(7) 3 };
+
+scramblerCapabilities EXTENSION ::= {
+ SYNTAX ScramblerCapabilities
+ IDENTIFIED BY id-pe-scramblerCapabilities
+}
+
+ScramblerCapabilities ::= SEQUENCE {
+ capability INTEGER (0..MAX),
+ version INTEGER (0..MAX)
+}
+
+
+ciplusInfo EXTENSION ::= {
+ SYNTAX CiplusInfo
+ IDENTIFIED BY id-pe-ciplusInfo
+}
+
+CiplusInfo ::= BIT STRING
+
+
+cicamBrandId EXTENSION ::= {
+ SYNTAX CicamBrandId
+ IDENTIFIED BY id-pe-cicamBrandId
+}
+
+CicamBrandId ::= INTEGER(1..65535)
+
+
+securityLevel EXTENSION ::= {
+ SYNTAX SecurityLevel
+ IDENTIFIED BY id-pe-securityLevel
+}
+
+SecurityLevel ::= INTEGER (0..MAX)
+
+
+-- Object identifier assignments
+id-pe-scramblerCapabilities OBJECT IDENTIFIER ::= { id-pkix id-pe(1) 25 }
+id-pe-ciplusInfo OBJECT IDENTIFIER ::= { id-pkix id-pe(1) 26 }
+id-pe-cicamBrandId OBJECT IDENTIFIER ::= { id-pkix id-pe(1) 27 }
+id-pe-securityLevel OBJECT IDENTIFIER ::= { id-pkix id-pe(1) 50 }
+
+END
diff --git a/epan/dissectors/asn1/x509ce/CertificateExtensionsRFC9310.asn b/epan/dissectors/asn1/x509ce/CertificateExtensionsRFC9310.asn
new file mode 100644
index 00000000..9d432be8
--- /dev/null
+++ b/epan/dissectors/asn1/x509ce/CertificateExtensionsRFC9310.asn
@@ -0,0 +1,28 @@
+ -- ASN.1 file from the RFC9310 definition
+ NFTypeCertExtn
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-mod(0)
+ id-mod-nftype(106) }
+
+ DEFINITIONS IMPLICIT TAGS ::=
+ BEGIN
+
+ -- NFTypes Certificate Extension
+
+ ext-NFType EXTENSION ::= {
+ SYNTAX NFTypes
+ IDENTIFIED BY id-pe-nftype }
+
+ -- NFTypes Certificate Extension OID
+
+ id-pe-nftype OBJECT IDENTIFIER ::=
+ { iso(1) identified-organization(3) dod(6) internet(1)
+ security(5) mechanisms(5) pkix(7) id-pe(1) 34 }
+
+ -- NFTypes Certificate Extension Syntax
+
+ NFTypes ::= SEQUENCE SIZE (1..MAX) OF NFType
+
+ NFType ::= IA5String (SIZE (1..32))
+
+ END
diff --git a/epan/dissectors/asn1/x509ce/packet-x509ce-template.c b/epan/dissectors/asn1/x509ce/packet-x509ce-template.c
new file mode 100644
index 00000000..1817c428
--- /dev/null
+++ b/epan/dissectors/asn1/x509ce/packet-x509ce-template.c
@@ -0,0 +1,164 @@
+/* packet-x509ce.c
+ * Routines for X.509 Certificate Extensions packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/oids.h>
+
+#include "packet-ber.h"
+#include "packet-x509ce.h"
+#include "packet-x509af.h"
+#include "packet-x509if.h"
+#include "packet-x509sat.h"
+#include "packet-p1.h"
+
+#define PNAME "X.509 Certificate Extensions"
+#define PSNAME "X509CE"
+#define PFNAME "x509ce"
+
+void proto_register_x509ce(void);
+void proto_reg_handoff_x509ce(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_x509ce = -1;
+static int hf_x509ce_id_ce_invalidityDate = -1;
+static int hf_x509ce_id_ce_baseUpdateTime = -1;
+static int hf_x509ce_object_identifier_id = -1;
+static int hf_x509ce_IPAddress_ipv4 = -1;
+static int hf_x509ce_IPAddress_ipv6 = -1;
+#include "packet-x509ce-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-x509ce-ett.c"
+#include "packet-x509ce-fn.c"
+
+static const val64_string ciplus_scr_cap[] = {
+ { 0, "DES" },
+ { 1, "DES and AES" },
+ { 0, NULL }
+};
+
+static const val64_string ciplus_security_level[] = {
+ { 0, "Standard Security Level" },
+ { 1, "ECP Security Level" },
+ { 0, NULL }
+};
+
+/* CI+ (www.ci-plus.com) defines some X.509 certificate extensions
+ that use OIDs which are not officially assigned
+ dissection of these extensions can be enabled temporarily using the
+ functions below */
+void
+x509ce_enable_ciplus(void)
+{
+ dissector_handle_t dh25, dh26, dh27, dh50;
+
+ dh25 = create_dissector_handle(dissect_ScramblerCapabilities_PDU, proto_x509ce);
+ dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.25", dh25);
+ dh26 = create_dissector_handle(dissect_CiplusInfo_PDU, proto_x509ce);
+ dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.26", dh26);
+ dh27 = create_dissector_handle(dissect_CicamBrandId_PDU, proto_x509ce);
+ dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.27", dh27);
+ dh50 = create_dissector_handle(dissect_SecurityLevel_PDU, proto_x509ce);
+ dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.50", dh50);
+}
+
+void
+x509ce_disable_ciplus(void)
+{
+ dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.25");
+ dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.26");
+ dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.27");
+ dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.50");
+}
+
+
+static int
+dissect_x509ce_invalidityDate_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ return dissect_x509ce_GeneralizedTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_id_ce_invalidityDate);
+}
+
+static int
+dissect_x509ce_baseUpdateTime_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
+{
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ return dissect_x509ce_GeneralizedTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_id_ce_baseUpdateTime);
+}
+
+/*--- proto_register_x509ce ----------------------------------------------*/
+void proto_register_x509ce(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_x509ce_id_ce_baseUpdateTime,
+ { "baseUpdateTime", "x509ce.id_ce_baseUpdateTime",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x509ce_id_ce_invalidityDate,
+ { "invalidityDate", "x509ce.id_ce_invalidityDate",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x509ce_object_identifier_id,
+ { "Id", "x509ce.id", FT_OID, BASE_NONE, NULL, 0,
+ "Object identifier Id", HFILL }},
+ { &hf_x509ce_IPAddress_ipv4,
+ { "iPAddress", "x509ce.IPAddress.ipv4", FT_IPv4, BASE_NONE, NULL, 0,
+ "IPv4 address", HFILL }},
+ { &hf_x509ce_IPAddress_ipv6,
+ { "iPAddress", "x509ce.IPAddress.ipv6", FT_IPv6, BASE_NONE, NULL, 0,
+ "IPv6 address", HFILL }},
+
+#include "packet-x509ce-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-x509ce-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_x509ce = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_x509ce, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_x509ce -------------------------------------------*/
+void proto_reg_handoff_x509ce(void) {
+#include "packet-x509ce-dis-tab.c"
+ register_ber_oid_dissector("2.5.29.24", dissect_x509ce_invalidityDate_callback, proto_x509ce, "id-ce-invalidityDate");
+ register_ber_oid_dissector("2.5.29.51", dissect_x509ce_baseUpdateTime_callback, proto_x509ce, "id-ce-baseUpdateTime");
+ oid_add_from_string("anyPolicy","2.5.29.32.0");
+}
+
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/x509ce/packet-x509ce-template.h b/epan/dissectors/asn1/x509ce/packet-x509ce-template.h
new file mode 100644
index 00000000..ad30d59d
--- /dev/null
+++ b/epan/dissectors/asn1/x509ce/packet-x509ce-template.h
@@ -0,0 +1,33 @@
+/* packet-x509ce.h
+ * Routines for X.509 Certificate Extensions packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_X509CE_H
+#define PACKET_X509CE_H
+
+#include "packet-x509ce-exp.h"
+
+void x509ce_enable_ciplus(void);
+void x509ce_disable_ciplus(void);
+
+#endif /* PACKET_X509CE_H */
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/x509ce/x509ce.cnf b/epan/dissectors/asn1/x509ce/x509ce.cnf
new file mode 100644
index 00000000..ae0090a7
--- /dev/null
+++ b/epan/dissectors/asn1/x509ce/x509ce.cnf
@@ -0,0 +1,215 @@
+# x509ce.cnf
+# X509CE conformation file
+
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../x509af/x509af-exp.cnf
+#.IMPORT ../x509sat/x509sat-exp.cnf
+#.IMPORT ../p1/p1-exp.cnf
+
+# Forward declaration
+#.CLASS CERT-POLICY-QUALIFIER
+&id ObjectIdentifierType
+&Qualifier
+#.END
+
+# InformationFramework classes
+# #.CLASS ATTRIBUTE
+#&derivation ClassReference ATTRIBUTE
+#&Type
+#&equality-match ClassReference MATCHING-RULE
+#&ordering-match ClassReference MATCHING-RULE
+#&substrings-match ClassReference MATCHING-RULE
+#&single-valued BooleanType
+#&collective BooleanType
+#&no-user-modification BooleanType
+#&usage
+#&id ObjectIdentifierType
+# #.END
+
+#.CLASS MATCHING-RULE
+&ParentMatchingRules ClassReference MATCHING-RULE
+&AssertionType
+&uniqueMatchIndicator ClassReference ATTRIBUTE
+&id ObjectIdentifierType
+#.END
+#.EXPORTS
+AltNameType
+AttributesSyntax
+AuthorityKeyIdentifier
+BaseCRLNumber
+BaseDistance
+BaseRevocationInfo
+BasicConstraintsSyntax
+CertificateAssertion
+CertificateExactAssertion
+CertificateListAssertion
+CertificateListExactAssertion
+CertificatePairAssertion
+CertificatePairExactAssertion
+CertificatePoliciesSyntax
+CertPolicySet
+CRLDistPointsSyntax
+CRLNumber
+CRLReason
+CRLReferral
+CRLScopeSyntax
+CRLStreamIdentifier
+DeltaInformation
+DeltaRefInfo
+DistributionPoint
+DistributionPointName
+EDIPartyName
+GeneralName
+GeneralNames
+GeneralSubtree
+GeneralSubtrees
+HoldInstruction
+IssuingDistPointSyntax
+KeyIdentifier
+KeyPurposeId
+KeyPurposeIDs
+KeyUsage
+NameConstraintsSyntax
+NumberRange
+OnlyCertificateTypes
+OrderedListSyntax
+PerAuthorityScope
+PkiPathMatchSyntax
+PolicyConstraintsSyntax
+PolicyInformation
+PolicyMappingsSyntax
+PolicyQualifierInfo
+PrivateKeyUsagePeriod
+ReasonFlags
+SkipCerts
+StatusReferral
+StatusReferrals
+SubjectKeyIdentifier
+ScramblerCapabilities
+CiplusInfo
+CicamBrandId
+SecurityLevel
+
+#.PDU
+ScramblerCapabilities
+CiplusInfo
+CicamBrandId
+SecurityLevel
+
+
+#.REGISTER
+CertificatePoliciesSyntax B "2.5.29.3" "id-ce-certificatePolicies"
+AttributesSyntax B "2.5.29.9" "id-ce-subjectDirectoryAttributes"
+SubjectKeyIdentifier B "2.5.29.14" "id-ce-subjectKeyIdentifier"
+KeyUsage B "2.5.29.15" "id-ce-keyUsage"
+PrivateKeyUsagePeriod B "2.5.29.16" "id-ce-privateKeyUsagePeriod"
+GeneralNames B "2.5.29.17" "id-ce-subjectAltName"
+GeneralNames B "2.5.29.18" "id-ce-issuerAltName"
+BasicConstraintsSyntax B "2.5.29.19" "id-ce-basicConstraints"
+CRLNumber B "2.5.29.20" "id-ce-cRLNumber"
+CRLReason B "2.5.29.21" "id-ce-reasonCode"
+HoldInstruction B "2.5.29.23" "id-ce-instructionCode"
+BaseCRLNumber B "2.5.29.27" "id-ce-deltaCRLIndicator"
+IssuingDistPointSyntax B "2.5.29.28" "id-ce-issuingDistributionPoint"
+GeneralNames B "2.5.29.29" "id-ce-certificateIssuer"
+NameConstraintsSyntax B "2.5.29.30" "id-ce-nameConstraints"
+CRLDistPointsSyntax B "2.5.29.31" "id-ce-cRLDistributionPoints"
+CertificatePoliciesSyntax B "2.5.29.32" "id-ce-certificatePolicies"
+PolicyMappingsSyntax B "2.5.29.33" "id-ce-policyMappings"
+AuthorityKeyIdentifier B "2.5.29.35" "id-ce-authorityKeyIdentifier"
+PolicyConstraintsSyntax B "2.5.29.36" "id-ce-policyConstraints"
+KeyPurposeIDs B "2.5.29.37" "id-ce-extKeyUsage"
+CRLStreamIdentifier B "2.5.29.40" "id-ce-cRLStreamIdentifier"
+CRLScopeSyntax B "2.5.29.44" "id-ce-cRLScope"
+StatusReferrals B "2.5.29.45" "id-ce-statusReferrals"
+CRLDistPointsSyntax B "2.5.29.46" "id-ce-freshestCRL"
+OrderedListSyntax B "2.5.29.47" "id-ce-orderedList"
+DeltaInformation B "2.5.29.53" "id-ce-deltaInfo"
+SkipCerts B "2.5.29.54" "id-ce-inhibitAnyPolicy"
+ToBeRevokedSyntax B "2.5.29.58" "id-ce-toBeRevoked"
+RevokedGroupsSyntax B "2.5.29.59" "id-ce-RevokedGroups"
+ExpiredCertsOnCRL B "2.5.29.60" "id-ce-expiredCertsOnCRL"
+AAIssuingDistPointSyntax B "2.5.29.61" "id-ce-aAissuingDistributionPoint"
+NFTypes B "1.3.6.1.5.5.7.1.34" "id-pe-nftype"
+
+CertificateAssertion B "2.5.13.35" "id-mr-certificateMatch"
+CertificatePairExactAssertion B "2.5.13.36" "id-mr-certificatePairExactMatch"
+CertificatePairAssertion B "2.5.13.37" "id-mr-certificatePairMatch"
+CertificateListExactAssertion B "2.5.13.38" "id-mr-certificateListExactMatch"
+CertificateListAssertion B "2.5.13.39" "id-mr-certificateListMatch"
+PkiPathMatchSyntax B "2.5.13.62" "id-mr-pkiPathMatch"
+EnhancedCertificateAssertion B "2.5.13.65" "id-mr-enhancedCertificateMatch"
+
+# These are obsolete???
+# The following OBJECT IDENTIFIERS are not used by this Specification:
+# {id-ce 2}, {id-ce 3}, {id-ce 4}, {id-ce 5}, {id-ce 6}, {id-ce 7},
+# {id-ce 8}, {id-ce 10}, {id-ce 11}, {id-ce 12}, {id-ce 13},
+# {id-ce 22}, {id-ce 25}, {id-ce 26}
+
+# Microsoft extensions
+CertificateTemplate B "1.3.6.1.4.1.311.21.7" "id-ms-certificate-template"
+CertificatePoliciesSyntax B "1.3.6.1.4.1.311.21.10" "id-ms-application-certificate-policies"
+NtdsCaSecurity B "1.3.6.1.4.1.311.25.2" "id-ms-ntds-ca-security"
+NtdsObjectSid B "1.3.6.1.4.1.311.25.2.1" "id-ms-ntds-object-sid"
+
+# Entrust extensions
+EntrustVersionInfo B "1.2.840.113533.7.65.0" "id-ce-entrustVersionInfo"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.TYPE_ATTR
+ScramblerCapabilities/capability DISPLAY = BASE_DEC STRINGS = VALS64(ciplus_scr_cap)
+SecurityLevel DISPLAY = BASE_DEC STRINGS = VALS64(ciplus_security_level)
+
+#.FIELD_RENAME
+CRLReferral/issuer crlr_issuer
+CertificatePairExactAssertion/issuedToThisCAAssertion cpea_issuedToThisCAAssertion
+CertificatePairExactAssertion/issuedByThisCAAssertion cpea_issuedByThisCAAssertion
+CertificateGroup/serialNumberRange certificateGroupNumberRange
+CertificateAssertion/subjectAltName subjectAltNameType
+EnhancedCertificateAssertion/pathToName enhancedPathToName
+
+#.FN_PARS PolicyQualifierInfo/policyQualifierId
+ FN_VARIANT = _str HF_INDEX = hf_x509ce_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY PolicyQualifierInfo/qualifier
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY GeneralName/iPAddress
+ switch (tvb_reported_length(tvb)) {
+ case 4: /* IPv4 */
+ proto_tree_add_item(tree, hf_x509ce_IPAddress_ipv4, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+ break;
+ case 16: /* IPv6 */
+ proto_tree_add_item(tree, hf_x509ce_IPAddress_ipv6, tvb, offset, 16, ENC_NA);
+ offset += 16;
+ break;
+ }
+
+#.FN_PARS OtherNameType
+ FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY OtherNameValue
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_FTR GeneralName/uniformResourceIdentifier
+
+ proto_item_set_url(actx->created_item);
+
+#.END
+
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab:
+# :indentSize=2:tabSize=8:noTabs=true:
+#
diff --git a/epan/dissectors/asn1/x509if/CMakeLists.txt b/epan/dissectors/asn1/x509if/CMakeLists.txt
new file mode 100644
index 00000000..c7c98257
--- /dev/null
+++ b/epan/dissectors/asn1/x509if/CMakeLists.txt
@@ -0,0 +1,44 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME x509if )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ InformationFramework.asn
+ ServiceAdministration.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509sat/x509sat-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/x509if/InformationFramework.asn b/epan/dissectors/asn1/x509if/InformationFramework.asn
new file mode 100644
index 00000000..fda46efa
--- /dev/null
+++ b/epan/dissectors/asn1/x509if/InformationFramework.asn
@@ -0,0 +1,685 @@
+-- Module InformationFramework (X.501:08/2005)
+InformationFramework {joint-iso-itu-t ds(5) module(1) informationFramework(1)
+ 5} DEFINITIONS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+ directoryAbstractService, id-ar, id-at, id-mr, id-nf, id-oa, id-oc,
+ id-sc, selectedAttributeTypes, serviceAdministration, upperBounds
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 5}
+ SearchRule
+ FROM ServiceAdministration serviceAdministration
+ -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
+ TypeAndContextAssertion
+ FROM DirectoryAbstractService directoryAbstractService
+ -- from ITU-T Rec. X.520 | ISO/IEC 9594-6
+ booleanMatch, commonName, DirectoryString{}, generalizedTimeMatch,
+ generalizedTimeOrderingMatch, integerFirstComponentMatch, integerMatch,
+ integerOrderingMatch, objectIdentifierFirstComponentMatch
+ FROM SelectedAttributeTypes selectedAttributeTypes
+ ub-search
+ FROM UpperBounds upperBounds;
+
+-- attribute data types
+Attribute ::= SEQUENCE {
+ type ATTRIBUTE.&id({SupportedAttributes}),
+ values
+ SET SIZE (0..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}{@type}),
+ valuesWithContext
+ SET SIZE (1..MAX) OF
+ SEQUENCE {value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
+ contextList SET SIZE (1..MAX) OF Context} OPTIONAL
+}
+
+AttributeType ::= ATTRIBUTE.&id
+
+AttributeValue ::= ATTRIBUTE.&Type
+
+Context ::= SEQUENCE {
+ contextType CONTEXT.&id({SupportedContexts}),
+ contextValues
+ SET SIZE (1..MAX) OF CONTEXT.&Type({SupportedContexts}{@contextType}),
+ fallback BOOLEAN DEFAULT FALSE
+}
+
+AttributeValueAssertion ::= SEQUENCE {
+ type ATTRIBUTE.&id({SupportedAttributes}),
+ assertion
+ ATTRIBUTE.&equality-match.&AssertionType({SupportedAttributes}{@type}),
+ assertedContexts
+ CHOICE {allContexts [0] NULL,
+ selectedContexts [1] SET SIZE (1..MAX) OF ContextAssertion
+ } OPTIONAL
+}
+
+ContextAssertion ::= SEQUENCE {
+ contextType CONTEXT.&id({SupportedContexts}),
+ contextValues
+ SET SIZE (1..MAX) OF CONTEXT.&Assertion({SupportedContexts}{@contextType})
+}
+
+AttributeTypeAssertion ::= SEQUENCE {
+ type ATTRIBUTE.&id({SupportedAttributes}),
+ assertedContexts SEQUENCE SIZE (1..MAX) OF ContextAssertion OPTIONAL
+}
+
+-- Definition of the following information object set is deferred, perhaps to standardized
+-- profiles or to protocol implementation conformance statements. The set is required to
+-- specify a table constraint on the values component of Attribute, the value component
+-- of AttributeTypeAndValue, and the assertion component of AttributeValueAssertion.
+SupportedAttributes ATTRIBUTE ::=
+ {objectClass | aliasedEntryName, ...}
+
+-- Definition of the following information object set is deferred, perhaps to standardized
+-- profiles or to protocol implementation conformance statements. The set is required to
+-- specify a table constraint on the context specifications
+SupportedContexts CONTEXT ::=
+ {...}
+
+-- naming data types
+Name ::= CHOICE { -- only one possibility for now --rdnSequence RDNSequence
+}
+
+RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
+
+DistinguishedName ::= RDNSequence
+
+RelativeDistinguishedName ::=
+ SET SIZE (1..MAX) OF AttributeTypeAndDistinguishedValue
+
+AttributeTypeAndDistinguishedValue ::= SEQUENCE {
+ type ATTRIBUTE.&id({SupportedAttributes}),
+ value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
+ primaryDistinguished BOOLEAN DEFAULT TRUE,
+ valuesWithContext
+ SET SIZE (1..MAX) OF
+ SEQUENCE {distingAttrValue
+ [0] ATTRIBUTE.&Type({SupportedAttributes}{@type}) OPTIONAL,
+ contextList SET SIZE (1..MAX) OF Context} OPTIONAL
+}
+
+-- subtree data types
+SubtreeSpecification ::= SEQUENCE {
+ base [0] LocalName DEFAULT {},
+ COMPONENTS OF ChopSpecification,
+ specificationFilter [4] Refinement OPTIONAL
+}
+
+-- empty sequence specifies whole administrative area
+LocalName ::= RDNSequence
+
+ChopSpecification ::= SEQUENCE {
+ specificExclusions
+ [1] SET SIZE (1..MAX) OF
+ CHOICE {chopBefore [0] LocalName,
+ chopAfter [1] LocalName} OPTIONAL,
+ minimum [2] BaseDistance DEFAULT 0,
+ maximum [3] BaseDistance OPTIONAL
+}
+
+BaseDistance ::= INTEGER(0..MAX)
+
+Refinement ::= CHOICE {
+ item [0] OBJECT-CLASS.&id,
+ and [1] SET OF Refinement,
+ or [2] SET OF Refinement,
+ not [3] Refinement
+}
+
+-- OBJECT-CLASS information object class specification
+OBJECT-CLASS ::= CLASS {
+ &Superclasses OBJECT-CLASS OPTIONAL,
+ &kind ObjectClassKind DEFAULT structural,
+ &MandatoryAttributes ATTRIBUTE OPTIONAL,
+ &OptionalAttributes ATTRIBUTE OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ [SUBCLASS OF &Superclasses]
+ [KIND &kind]
+ [MUST CONTAIN &MandatoryAttributes]
+ [MAY CONTAIN &OptionalAttributes]
+ ID &id
+}
+
+ObjectClassKind ::= ENUMERATED {abstract(0), structural(1), auxiliary(2)}
+
+-- object classes
+top OBJECT-CLASS ::= {
+ KIND abstract
+ MUST CONTAIN {objectClass}
+ ID id-oc-top
+}
+
+alias OBJECT-CLASS ::= {
+ SUBCLASS OF {top}
+ MUST CONTAIN {aliasedEntryName}
+ ID id-oc-alias
+}
+
+parent OBJECT-CLASS ::= {KIND abstract
+ ID id-oc-parent
+}
+
+child OBJECT-CLASS ::= {KIND auxiliary
+ ID id-oc-child
+}
+
+-- ATTRIBUTE information object class specification
+ATTRIBUTE ::= CLASS {
+ &derivation ATTRIBUTE OPTIONAL,
+ &Type OPTIONAL, -- either &Type or &derivation required
+ &equality-match MATCHING-RULE OPTIONAL,
+ &ordering-match MATCHING-RULE OPTIONAL,
+ &substrings-match MATCHING-RULE OPTIONAL,
+ &single-valued BOOLEAN DEFAULT FALSE,
+ &collective BOOLEAN DEFAULT FALSE,
+ &dummy BOOLEAN DEFAULT FALSE,
+ -- operational extensions
+ &no-user-modification BOOLEAN DEFAULT FALSE,
+ &usage AttributeUsage DEFAULT userApplications,
+ &id OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ [SUBTYPE OF &derivation]
+ [WITH SYNTAX &Type]
+ [EQUALITY MATCHING RULE &equality-match]
+ [ORDERING MATCHING RULE &ordering-match]
+ [SUBSTRINGS MATCHING RULE &substrings-match]
+ [SINGLE VALUE &single-valued]
+ [COLLECTIVE &collective]
+ [DUMMY &dummy]
+ [NO USER MODIFICATION &no-user-modification]
+ [USAGE &usage]
+ ID &id
+}
+
+AttributeUsage ::= ENUMERATED {
+ userApplications(0), directoryOperation(1), distributedOperation(2),
+ dSAOperation(3)}
+
+-- attributes
+objectClass ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-objectClass
+}
+
+aliasedEntryName ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ SINGLE VALUE TRUE
+ ID id-at-aliasedEntryName
+}
+
+-- MATCHING-RULE information object class specification
+MATCHING-RULE ::= CLASS {
+ &ParentMatchingRules MATCHING-RULE OPTIONAL,
+ &AssertionType OPTIONAL,
+ &uniqueMatchIndicator ATTRIBUTE OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ [PARENT &ParentMatchingRules]
+ [SYNTAX &AssertionType]
+ [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator]
+ ID &id
+}
+
+-- matching rules
+objectIdentifierMatch MATCHING-RULE ::= {
+ SYNTAX OBJECT IDENTIFIER
+ ID id-mr-objectIdentifierMatch
+}
+
+distinguishedNameMatch MATCHING-RULE ::= {
+ SYNTAX DistinguishedName
+ ID id-mr-distinguishedNameMatch
+}
+
+MAPPING-BASED-MATCHING{SelectedBy, BOOLEAN:combinable, MappingResult,
+ OBJECT IDENTIFIER:matchingRule} ::= CLASS {
+ &selectBy SelectedBy OPTIONAL,
+ &ApplicableTo ATTRIBUTE,
+ &subtypesIncluded BOOLEAN DEFAULT TRUE,
+ &combinable BOOLEAN(combinable),
+ &mappingResults MappingResult OPTIONAL,
+ &userControl BOOLEAN DEFAULT FALSE,
+ &exclusive BOOLEAN DEFAULT TRUE,
+ &matching-rule MATCHING-RULE.&id(matchingRule),
+ &id OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ [SELECT BY &selectBy]
+ APPLICABLE TO &ApplicableTo
+ [SUBTYPES INCLUDED &subtypesIncluded]
+ COMBINABLE &combinable
+ [MAPPING RESULTS &mappingResults]
+ [USER CONTROL &userControl]
+ [EXCLUSIVE &exclusive]
+ MATCHING RULE &matching-rule
+ ID &id
+}
+
+-- NAME-FORM information object class specification
+NAME-FORM ::= CLASS {
+ &namedObjectClass OBJECT-CLASS,
+ &MandatoryAttributes ATTRIBUTE,
+ &OptionalAttributes ATTRIBUTE OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ NAMES &namedObjectClass
+ WITH ATTRIBUTES &MandatoryAttributes
+ [AND OPTIONALLY &OptionalAttributes]
+ ID &id
+}
+
+-- STRUCTURE-RULE class and DIT structure rule data types
+STRUCTURE-RULE ::= CLASS {
+ &nameForm NAME-FORM,
+ &SuperiorStructureRules STRUCTURE-RULE OPTIONAL,
+ &id RuleIdentifier
+}
+WITH SYNTAX {
+ NAME FORM &nameForm
+ [SUPERIOR RULES &SuperiorStructureRules]
+ ID &id
+}
+
+DITStructureRule ::= SEQUENCE {
+ ruleIdentifier RuleIdentifier,
+ -- shall be unique within the scope of the subschema
+ nameForm NAME-FORM.&id,
+ superiorStructureRules SET SIZE (1..MAX) OF RuleIdentifier OPTIONAL
+}
+
+RuleIdentifier ::= INTEGER
+
+-- CONTENT-RULE class and DIT content rule data types
+CONTENT-RULE ::= CLASS {
+ &structuralClass OBJECT-CLASS.&id UNIQUE,
+ &Auxiliaries OBJECT-CLASS OPTIONAL,
+ &Mandatory ATTRIBUTE OPTIONAL,
+ &Optional ATTRIBUTE OPTIONAL,
+ &Precluded ATTRIBUTE OPTIONAL
+}
+WITH SYNTAX {
+ STRUCTURAL OBJECT-CLASS &structuralClass
+ [AUXILIARY OBJECT-CLASSES &Auxiliaries]
+ [MUST CONTAIN &Mandatory]
+ [MAY CONTAIN &Optional]
+ [MUST-NOT CONTAIN &Precluded]
+}
+
+DITContentRule ::= SEQUENCE {
+ structuralObjectClass OBJECT-CLASS.&id,
+ auxiliaries SET SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL,
+ mandatory [1] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
+ optional [2] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
+ precluded [3] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL
+}
+
+CONTEXT ::= CLASS {
+ &Type ,
+ &DefaultValue OPTIONAL,
+ &Assertion OPTIONAL,
+ &absentMatch BOOLEAN DEFAULT TRUE,
+ &id OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ WITH SYNTAX &Type
+ [DEFAULT-VALUE &DefaultValue]
+ [ASSERTED AS &Assertion]
+ [ABSENT-MATCH &absentMatch]
+ ID &id
+}
+
+DITContextUse ::= SEQUENCE {
+ attributeType ATTRIBUTE.&id,
+ mandatoryContexts [1] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL,
+ optionalContexts [2] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL
+}
+
+DIT-CONTEXT-USE-RULE ::= CLASS {
+ &attributeType ATTRIBUTE.&id UNIQUE,
+ &Mandatory CONTEXT OPTIONAL,
+ &Optional CONTEXT OPTIONAL
+}
+WITH SYNTAX {
+ ATTRIBUTE TYPE &attributeType
+ [MANDATORY CONTEXTS &Mandatory]
+ [OPTIONAL CONTEXTS &Optional]
+}
+
+FRIENDS ::= CLASS {&anchor ATTRIBUTE.&id UNIQUE,
+ &Friends ATTRIBUTE
+}WITH SYNTAX {ANCHOR &anchor
+ FRIENDS &Friends
+}
+
+-- system schema information objects
+-- object classes
+subentry OBJECT-CLASS ::= {
+ SUBCLASS OF {top}
+ KIND structural
+ MUST CONTAIN {commonName | subtreeSpecification}
+ ID id-sc-subentry
+}
+
+subentryNameForm NAME-FORM ::= {
+ NAMES subentry
+ WITH ATTRIBUTES {commonName}
+ ID id-nf-subentryNameForm
+}
+
+accessControlSubentry OBJECT-CLASS ::= {
+ KIND auxiliary
+ ID id-sc-accessControlSubentry
+}
+
+collectiveAttributeSubentry OBJECT-CLASS ::= {
+ KIND auxiliary
+ ID id-sc-collectiveAttributeSubentry
+}
+
+contextAssertionSubentry OBJECT-CLASS ::= {
+ KIND auxiliary
+ MUST CONTAIN {contextAssertionDefaults}
+ ID id-sc-contextAssertionSubentry
+}
+
+serviceAdminSubentry OBJECT-CLASS ::= {
+ KIND auxiliary
+ MUST CONTAIN {searchRules}
+ ID id-sc-serviceAdminSubentry
+}
+
+-- attributes
+subtreeSpecification ATTRIBUTE ::= {
+ WITH SYNTAX SubtreeSpecification
+ USAGE directoryOperation
+ ID id-oa-subtreeSpecification
+}
+
+administrativeRole ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT-CLASS.&id
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ USAGE directoryOperation
+ ID id-oa-administrativeRole
+}
+
+createTimestamp ATTRIBUTE ::= {
+ WITH SYNTAX GeneralizedTime
+ -- as per 42.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
+ EQUALITY MATCHING RULE generalizedTimeMatch
+ ORDERING MATCHING RULE generalizedTimeOrderingMatch
+ SINGLE VALUE TRUE
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-createTimestamp
+}
+
+modifyTimestamp ATTRIBUTE ::= {
+ WITH SYNTAX GeneralizedTime
+ -- as per 42.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
+ EQUALITY MATCHING RULE generalizedTimeMatch
+ ORDERING MATCHING RULE generalizedTimeOrderingMatch
+ SINGLE VALUE TRUE
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-modifyTimestamp
+}
+
+subschemaTimestamp ATTRIBUTE ::= {
+ WITH SYNTAX GeneralizedTime
+ -- as per 42.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
+ EQUALITY MATCHING RULE generalizedTimeMatch
+ ORDERING MATCHING RULE generalizedTimeOrderingMatch
+ SINGLE VALUE TRUE
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-subschemaTimestamp
+}
+
+creatorsName ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ SINGLE VALUE TRUE
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-creatorsName
+}
+
+modifiersName ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ SINGLE VALUE TRUE
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-modifiersName
+}
+
+subschemaSubentryList ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ SINGLE VALUE TRUE
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-subschemaSubentryList
+}
+
+accessControlSubentryList ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-accessControlSubentryList
+}
+
+collectiveAttributeSubentryList ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-collectiveAttributeSubentryList
+}
+
+contextDefaultSubentryList ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-contextDefaultSubentryList
+}
+
+serviceAdminSubentryList ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-serviceAdminSubentryList
+}
+
+hasSubordinates ATTRIBUTE ::= {
+ WITH SYNTAX BOOLEAN
+ EQUALITY MATCHING RULE booleanMatch
+ SINGLE VALUE TRUE
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-hasSubordinates
+}
+
+collectiveExclusions ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ USAGE directoryOperation
+ ID id-oa-collectiveExclusions
+}
+
+contextAssertionDefaults ATTRIBUTE ::= {
+ WITH SYNTAX TypeAndContextAssertion
+ EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
+ USAGE directoryOperation
+ ID id-oa-contextAssertionDefault
+}
+
+searchRules ATTRIBUTE ::= {
+ WITH SYNTAX SearchRuleDescription
+ EQUALITY MATCHING RULE integerFirstComponentMatch
+ USAGE directoryOperation
+ ID id-oa-searchRules
+}
+
+SearchRuleDescription ::= SEQUENCE {
+ COMPONENTS OF SearchRule,
+ name [28] SET SIZE (1..MAX) OF DirectoryString{ub-search} OPTIONAL,
+ description [29] DirectoryString{ub-search} OPTIONAL
+}
+
+hierarchyLevel ATTRIBUTE ::= {
+ WITH SYNTAX HierarchyLevel
+ EQUALITY MATCHING RULE integerMatch
+ ORDERING MATCHING RULE integerOrderingMatch
+ SINGLE VALUE TRUE
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-hierarchyLevel
+}
+
+HierarchyLevel ::= INTEGER
+
+hierarchyBelow ATTRIBUTE ::= {
+ WITH SYNTAX HierarchyBelow
+ EQUALITY MATCHING RULE booleanMatch
+ SINGLE VALUE TRUE
+ NO USER MODIFICATION TRUE
+ USAGE directoryOperation
+ ID id-oa-hierarchyBelow
+}
+
+HierarchyBelow ::= BOOLEAN
+
+hierarchyParent ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ SINGLE VALUE TRUE
+ USAGE directoryOperation
+ ID id-oa-hierarchyParent
+}
+
+hierarchyTop ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ SINGLE VALUE TRUE
+ USAGE directoryOperation
+ ID id-oa-hierarchyTop
+}
+
+-- object identifier assignments
+-- object classes
+id-oc-top OBJECT IDENTIFIER ::=
+ {id-oc 0}
+
+id-oc-alias OBJECT IDENTIFIER ::= {id-oc 1}
+
+id-oc-parent OBJECT IDENTIFIER ::= {id-oc 28}
+
+id-oc-child OBJECT IDENTIFIER ::= {id-oc 29}
+
+-- attributes
+id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
+
+id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
+
+-- matching rules
+id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
+
+id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
+
+-- operational attributes
+id-oa-excludeAllCollectiveAttributes OBJECT IDENTIFIER ::=
+ {id-oa 0}
+
+id-oa-createTimestamp OBJECT IDENTIFIER ::= {id-oa 1}
+
+id-oa-modifyTimestamp OBJECT IDENTIFIER ::= {id-oa 2}
+
+id-oa-creatorsName OBJECT IDENTIFIER ::= {id-oa 3}
+
+id-oa-modifiersName OBJECT IDENTIFIER ::= {id-oa 4}
+
+id-oa-administrativeRole OBJECT IDENTIFIER ::= {id-oa 5}
+
+id-oa-subtreeSpecification OBJECT IDENTIFIER ::= {id-oa 6}
+
+id-oa-collectiveExclusions OBJECT IDENTIFIER ::= {id-oa 7}
+
+id-oa-subschemaTimestamp OBJECT IDENTIFIER ::= {id-oa 8}
+
+id-oa-hasSubordinates OBJECT IDENTIFIER ::= {id-oa 9}
+
+id-oa-subschemaSubentryList OBJECT IDENTIFIER ::= {id-oa 10}
+
+id-oa-accessControlSubentryList OBJECT IDENTIFIER ::= {id-oa 11}
+
+id-oa-collectiveAttributeSubentryList OBJECT IDENTIFIER ::= {id-oa 12}
+
+id-oa-contextDefaultSubentryList OBJECT IDENTIFIER ::= {id-oa 13}
+
+id-oa-contextAssertionDefault OBJECT IDENTIFIER ::= {id-oa 14}
+
+id-oa-serviceAdminSubentryList OBJECT IDENTIFIER ::= {id-oa 15}
+
+id-oa-searchRules OBJECT IDENTIFIER ::= {id-oa 16}
+
+id-oa-hierarchyLevel OBJECT IDENTIFIER ::= {id-oa 17}
+
+id-oa-hierarchyBelow OBJECT IDENTIFIER ::= {id-oa 18}
+
+id-oa-hierarchyParent OBJECT IDENTIFIER ::= {id-oa 19}
+
+id-oa-hierarchyTop OBJECT IDENTIFIER ::= {id-oa 20}
+
+-- subentry classes
+id-sc-subentry OBJECT IDENTIFIER ::= {id-sc 0}
+
+id-sc-accessControlSubentry OBJECT IDENTIFIER ::= {id-sc 1}
+
+id-sc-collectiveAttributeSubentry OBJECT IDENTIFIER ::= {id-sc 2}
+
+id-sc-contextAssertionSubentry OBJECT IDENTIFIER ::= {id-sc 3}
+
+id-sc-serviceAdminSubentry OBJECT IDENTIFIER ::= {id-sc 4}
+
+-- Name forms
+id-nf-subentryNameForm OBJECT IDENTIFIER ::= {id-nf 16}
+
+-- administrative roles
+id-ar-autonomousArea OBJECT IDENTIFIER ::= {id-ar 1}
+
+id-ar-accessControlSpecificArea OBJECT IDENTIFIER ::= {id-ar 2}
+
+id-ar-accessControlInnerArea OBJECT IDENTIFIER ::= {id-ar 3}
+
+id-ar-subschemaAdminSpecificArea OBJECT IDENTIFIER ::= {id-ar 4}
+
+id-ar-collectiveAttributeSpecificArea OBJECT IDENTIFIER ::= {id-ar 5}
+
+id-ar-collectiveAttributeInnerArea OBJECT IDENTIFIER ::= {id-ar 6}
+
+id-ar-contextDefaultSpecificArea OBJECT IDENTIFIER ::= {id-ar 7}
+
+id-ar-serviceSpecificArea OBJECT IDENTIFIER ::= {id-ar 8}
+
+END -- InformationFramework
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/x509if/ServiceAdministration.asn b/epan/dissectors/asn1/x509if/ServiceAdministration.asn
new file mode 100644
index 00000000..fdd61fb2
--- /dev/null
+++ b/epan/dissectors/asn1/x509if/ServiceAdministration.asn
@@ -0,0 +1,239 @@
+-- Module ServiceAdministration (X.501:08/2005)
+ServiceAdministration {joint-iso-itu-t ds(5) module(1)
+ serviceAdministration(33) 5} DEFINITIONS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+IMPORTS
+ -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
+ directoryAbstractService, informationFramework
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 5}
+ ATTRIBUTE, AttributeType, CONTEXT, MATCHING-RULE, OBJECT-CLASS,
+ SupportedAttributes, SupportedContexts
+ FROM InformationFramework informationFramework
+ -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
+ FamilyGrouping, FamilyReturn, HierarchySelections, SearchControlOptions,
+ ServiceControlOptions
+ FROM DirectoryAbstractService directoryAbstractService;
+
+-- types
+SearchRule ::= SEQUENCE {
+ COMPONENTS OF SearchRuleId,
+ serviceType [1] OBJECT IDENTIFIER OPTIONAL,
+ userClass [2] INTEGER OPTIONAL,
+ inputAttributeTypes
+ [3] SEQUENCE SIZE (0..MAX) OF RequestAttribute OPTIONAL,
+ attributeCombination [4] AttributeCombination DEFAULT and:{},
+ outputAttributeTypes [5] SEQUENCE SIZE (1..MAX) OF ResultAttribute OPTIONAL,
+ defaultControls [6] ControlOptions OPTIONAL,
+ mandatoryControls [7] ControlOptions OPTIONAL,
+ searchRuleControls [8] ControlOptions OPTIONAL,
+ familyGrouping [9] FamilyGrouping OPTIONAL,
+ familyReturn [10] FamilyReturn OPTIONAL,
+ relaxation [11] RelaxationPolicy OPTIONAL,
+ additionalControl [12] SEQUENCE SIZE (1..MAX) OF AttributeType OPTIONAL,
+ allowedSubset [13] AllowedSubset DEFAULT '111'B,
+ imposedSubset [14] ImposedSubset OPTIONAL,
+ entryLimit [15] EntryLimit OPTIONAL
+}
+
+SearchRuleId ::= SEQUENCE {id INTEGER,
+ dmdId [0] OBJECT IDENTIFIER
+}
+
+AllowedSubset ::= BIT STRING {baseObject(0), oneLevel(1), wholeSubtree(2)}
+
+ImposedSubset ::= ENUMERATED {baseObject(0), oneLevel(1), wholeSubtree(2)}
+
+RequestAttribute ::= SEQUENCE {
+ attributeType ATTRIBUTE.&id({SupportedAttributes}),
+ includeSubtypes [0] BOOLEAN DEFAULT FALSE,
+ selectedValues
+ [1] SEQUENCE SIZE (0..MAX) OF
+ ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}) OPTIONAL,
+ defaultValues
+ [2] SEQUENCE SIZE (0..MAX) OF
+ SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
+ values
+ SEQUENCE OF
+ ATTRIBUTE.&Type({SupportedAttributes}{@attributeType})
+ } OPTIONAL,
+ contexts [3] SEQUENCE SIZE (0..MAX) OF ContextProfile OPTIONAL,
+ contextCombination [4] ContextCombination DEFAULT and:{},
+ matchingUse [5] SEQUENCE SIZE (1..MAX) OF MatchingUse OPTIONAL
+}
+
+ContextProfile ::= SEQUENCE {
+ contextType CONTEXT.&id({SupportedContexts}),
+ contextValue
+ SEQUENCE SIZE (1..MAX) OF
+ CONTEXT.&Assertion({SupportedContexts}{@contextType}) OPTIONAL
+}
+
+ContextCombination ::= CHOICE {
+ context [0] CONTEXT.&id({SupportedContexts}),
+ and [1] SEQUENCE OF ContextCombination,
+ or [2] SEQUENCE OF ContextCombination,
+ not [3] ContextCombination
+}
+
+MatchingUse ::= SEQUENCE {
+ restrictionType MATCHING-RESTRICTION.&id({SupportedMatchingRestrictions}),
+ restrictionValue
+ MATCHING-RESTRICTION.&Restriction
+ ({SupportedMatchingRestrictions}{@restrictionType})
+}
+
+-- Definition of the following information object set is deferred, perhaps to standardized
+-- profiles or to protocol implementation conformance statements. The set is required to
+-- specify a table constraint on the components of SupportedMatchingRestrictions
+SupportedMatchingRestrictions MATCHING-RESTRICTION ::=
+ {...}
+
+AttributeCombination ::= CHOICE {
+ attribute [0] AttributeType,
+ and [1] SEQUENCE OF AttributeCombination,
+ or [2] SEQUENCE OF AttributeCombination,
+ not [3] AttributeCombination
+}
+
+ResultAttribute ::= SEQUENCE {
+ attributeType ATTRIBUTE.&id({SupportedAttributes}),
+ outputValues
+ CHOICE {selectedValues
+ SEQUENCE OF
+ ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}),
+ matchedValuesOnly NULL} OPTIONAL,
+ contexts [0] SEQUENCE SIZE (1..MAX) OF ContextProfile OPTIONAL
+}
+
+ControlOptions ::= SEQUENCE {
+ serviceControls [0] ServiceControlOptions DEFAULT {},
+ searchOptions [1] SearchControlOptions DEFAULT {searchAliases},
+ hierarchyOptions [2] HierarchySelections OPTIONAL
+}
+
+EntryLimit ::= SEQUENCE {default INTEGER,
+ max INTEGER
+}
+
+RelaxationPolicy ::= SEQUENCE {
+ basic [0] MRMapping DEFAULT {},
+ tightenings [1] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
+ relaxations [2] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
+ maximum [3] INTEGER OPTIONAL, -- mandatory if tightenings is present
+ minimum [4] INTEGER DEFAULT 1
+}
+
+MRMapping ::= SEQUENCE {
+ mapping [0] SEQUENCE SIZE (1..MAX) OF Mapping OPTIONAL,
+ substitution [1] SEQUENCE SIZE (1..MAX) OF MRSubstitution OPTIONAL
+}
+
+Mapping ::= SEQUENCE {
+ mappingFunction
+ OBJECT IDENTIFIER
+ (CONSTRAINED BY {-- shall be an--
+
+ -- object identifier of a mapping-based matching algorithm -- }),
+ level INTEGER DEFAULT 0
+}
+
+MRSubstitution ::= SEQUENCE {
+ attribute AttributeType,
+ oldMatchingRule [0] MATCHING-RULE.&id OPTIONAL,
+ newMatchingRule [1] MATCHING-RULE.&id OPTIONAL
+}
+
+-- ASN.1 information object classes
+SEARCH-RULE ::= CLASS {
+ &dmdId OBJECT IDENTIFIER,
+ &serviceType OBJECT IDENTIFIER OPTIONAL,
+ &userClass INTEGER OPTIONAL,
+ &InputAttributeTypes REQUEST-ATTRIBUTE OPTIONAL,
+ &combination AttributeCombination OPTIONAL,
+ &OutputAttributeTypes RESULT-ATTRIBUTE OPTIONAL,
+ &defaultControls ControlOptions OPTIONAL,
+ &mandatoryControls ControlOptions OPTIONAL,
+ &searchRuleControls ControlOptions OPTIONAL,
+ &familyGrouping FamilyGrouping OPTIONAL,
+ &familyReturn FamilyReturn OPTIONAL,
+ &additionalControl AttributeType OPTIONAL,
+ &relaxation RelaxationPolicy OPTIONAL,
+ &allowedSubset AllowedSubset DEFAULT '111'B,
+ &imposedSubset ImposedSubset OPTIONAL,
+ &entryLimit EntryLimit OPTIONAL,
+ &id INTEGER UNIQUE
+}
+WITH SYNTAX {
+ DMD ID &dmdId
+ [SERVICE-TYPE &serviceType]
+ [USER-CLASS &userClass]
+ [INPUT ATTRIBUTES &InputAttributeTypes]
+ [COMBINATION &combination]
+ [OUTPUT ATTRIBUTES &OutputAttributeTypes]
+ [DEFAULT CONTROL &defaultControls]
+ [MANDATORY CONTROL &mandatoryControls]
+ [SEARCH-RULE CONTROL &searchRuleControls]
+ [FAMILY-GROUPING &familyGrouping]
+ [FAMILY-RETURN &familyReturn]
+ [ADDITIONAL CONTROL &additionalControl]
+ [RELAXATION &relaxation]
+ [ALLOWED SUBSET &allowedSubset]
+ [IMPOSED SUBSET &imposedSubset]
+ [ENTRY LIMIT &entryLimit]
+ ID &id
+}
+
+REQUEST-ATTRIBUTE ::= CLASS {
+ &attributeType ATTRIBUTE.&id,
+ &SelectedValues ATTRIBUTE.&Type OPTIONAL,
+ &DefaultValues SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
+ values SEQUENCE OF ATTRIBUTE.&Type
+ } OPTIONAL,
+ &contexts SEQUENCE OF ContextProfile OPTIONAL,
+ &contextCombination ContextCombination OPTIONAL,
+ &MatchingUse MatchingUse OPTIONAL,
+ &includeSubtypes BOOLEAN DEFAULT FALSE
+}
+WITH SYNTAX {
+ ATTRIBUTE TYPE &attributeType
+ [SELECTED VALUES &SelectedValues]
+ [DEFAULT VALUES &DefaultValues]
+ [CONTEXTS &contexts]
+ [CONTEXT COMBINATION &contextCombination]
+ [MATCHING USE &MatchingUse]
+ [INCLUDE SUBTYPES &includeSubtypes]
+}
+
+RESULT-ATTRIBUTE ::= CLASS {
+ &attributeType ATTRIBUTE.&id,
+ &outputValues CHOICE {selectedValues SEQUENCE OF ATTRIBUTE.&Type,
+ matchedValuesOnly NULL
+ } OPTIONAL,
+ &contexts ContextProfile OPTIONAL
+}
+WITH SYNTAX {
+ ATTRIBUTE TYPE &attributeType
+ [OUTPUT VALUES &outputValues]
+ [CONTEXTS &contexts]
+}
+
+MATCHING-RESTRICTION ::= CLASS {
+ &Restriction ,
+ &Rules MATCHING-RULE.&id,
+ &id OBJECT IDENTIFIER UNIQUE
+}WITH SYNTAX {RESTRICTION &Restriction
+ RULES &Rules
+ ID &id
+}
+
+END -- ServiceAdministration
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/x509if/packet-x509if-template.c b/epan/dissectors/asn1/x509if/packet-x509if-template.c
new file mode 100644
index 00000000..bce87917
--- /dev/null
+++ b/epan/dissectors/asn1/x509if/packet-x509if-template.c
@@ -0,0 +1,144 @@
+/* packet-x509if.c
+ * Routines for X.509 Information Framework packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+#include <epan/strutil.h>
+
+#include "packet-ber.h"
+#include "packet-dap.h"
+#include "packet-x509if.h"
+#include "packet-x509sat.h"
+#include "packet-frame.h"
+
+#define PNAME "X.509 Information Framework"
+#define PSNAME "X509IF"
+#define PFNAME "x509if"
+
+void proto_register_x509if(void);
+void proto_reg_handoff_x509if(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_x509if = -1;
+static int hf_x509if_object_identifier_id = -1;
+static int hf_x509if_any_string = -1;
+#include "packet-x509if-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-x509if-ett.c"
+
+static proto_tree *top_of_dn = NULL;
+static proto_tree *top_of_rdn = NULL;
+
+static gboolean rdn_one_value = FALSE; /* have we seen one value in an RDN yet */
+static gboolean dn_one_rdn = FALSE; /* have we seen one RDN in a DN yet */
+static gboolean doing_attr = FALSE;
+
+static wmem_strbuf_t *last_dn_buf = NULL;
+static wmem_strbuf_t *last_rdn_buf = NULL;
+
+static int ava_hf_index;
+#define MAX_FMT_VALS 32
+static value_string fmt_vals[MAX_FMT_VALS];
+#define MAX_AVA_STR_LEN 64
+static char *last_ava = NULL;
+
+static void
+x509if_frame_end(void)
+{
+ top_of_dn = NULL;
+ top_of_rdn = NULL;
+
+ rdn_one_value = FALSE;
+ dn_one_rdn = FALSE;
+ doing_attr = FALSE;
+
+ last_dn_buf = NULL;
+ last_rdn_buf = NULL;
+ last_ava = NULL;
+}
+
+#include "packet-x509if-fn.c"
+
+const char * x509if_get_last_dn(void)
+{
+ return last_dn_buf ? wmem_strbuf_get_str(last_dn_buf) : NULL;
+}
+
+gboolean x509if_register_fmt(int hf_index, const gchar *fmt)
+{
+ static int idx = 0;
+
+ if(idx < (MAX_FMT_VALS - 1)) {
+
+ fmt_vals[idx].value = hf_index;
+ fmt_vals[idx].strptr = fmt;
+
+ idx++;
+
+ fmt_vals[idx].value = 0;
+ fmt_vals[idx].strptr = NULL;
+
+ return TRUE;
+
+ } else
+ return FALSE; /* couldn't register it */
+
+}
+
+const char * x509if_get_last_ava(void)
+{
+ return last_ava;
+}
+
+/*--- proto_register_x509if ----------------------------------------------*/
+void proto_register_x509if(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_x509if_object_identifier_id,
+ { "Object Id", "x509if.oid", FT_OID, BASE_NONE, NULL, 0,
+ "Object identifier Id", HFILL }},
+ { &hf_x509if_any_string,
+ { "AnyString", "x509if.any.String", FT_BYTES, BASE_NONE,
+ NULL, 0, "This is any String", HFILL }},
+
+#include "packet-x509if-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-x509if-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_x509if = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_x509if, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* initialise array */
+ fmt_vals[0].value = 0;
+ fmt_vals[0].strptr = NULL;
+
+}
+
+
+/*--- proto_reg_handoff_x509if -------------------------------------------*/
+void proto_reg_handoff_x509if(void) {
+#include "packet-x509if-dis-tab.c"
+}
+
diff --git a/epan/dissectors/asn1/x509if/packet-x509if-template.h b/epan/dissectors/asn1/x509if/packet-x509if-template.h
new file mode 100644
index 00000000..c01f2d7b
--- /dev/null
+++ b/epan/dissectors/asn1/x509if/packet-x509if-template.h
@@ -0,0 +1,23 @@
+/* packet-x509if.h
+ * Routines for X.509 Information Framework packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_X509IF_H
+#define PACKET_X509IF_H
+
+#include "packet-x509if-exp.h"
+
+extern const char * x509if_get_last_dn(void);
+
+extern gboolean x509if_register_fmt(int hf_index, const gchar *fmt);
+extern const char * x509if_get_last_ava(void);
+
+#endif /* PACKET_X509IF_H */
+
diff --git a/epan/dissectors/asn1/x509if/x509if.cnf b/epan/dissectors/asn1/x509if/x509if.cnf
new file mode 100644
index 00000000..6a9f654e
--- /dev/null
+++ b/epan/dissectors/asn1/x509if/x509if.cnf
@@ -0,0 +1,421 @@
+# x509if.cnf
+# X509IF conformation file
+
+#.IMPORT ../x509sat/x509sat-exp.cnf
+
+#.MODULE_IMPORT
+DirectoryAbstractService dap
+
+#.OMIT_ASSIGNMENT
+ObjectClassKind
+#.END
+#.CLASS ATTRIBUTE
+&derivation ClassReference ATTRIBUTE
+&Type
+&equality-match ClassReference MATCHING-RULE
+&ordering-match ClassReference MATCHING-RULE
+&substrings-match ClassReference MATCHING-RULE
+&single-valued BooleanType
+&collective BooleanType
+&no-user-modification BooleanType
+&usage TypeReference AttributeUsage
+&id ObjectIdentifierType
+#.END
+#.CLASS CONTEXT
+&Type
+&Assertion
+&id ObjectIdentifierType
+#.END
+#.CLASS OBJECT-CLASS
+&Superclasses ClassReference OBJECT-CLASS
+&kind TypeReference ObjectClassKind
+&MandatoryAttributes ClassReference ATTRIBUTE
+&OptionalAttributes ClassReference ATTRIBUTE
+&id ObjectIdentifierType
+#.END
+
+#.CLASS MATCHING-RESTRICTION
+&Restriction
+&Rules _FixedTypeValueSetFieldSpec
+&id ObjectIdentifierType
+#.END
+
+#.CLASS MATCHING-RULE
+&ParentMatchingRules ClassReference MATCHING-RULE
+&AssertionType
+&uniqueMatchIndicator ClassReference ATTRIBUTE
+&id ObjectIdentifierType
+#.END
+
+#.EXPORTS
+OBJECT-CLASS
+ATTRIBUTE
+MATCHING-RULE
+MAPPING-BASED-MATCHING
+NAME-FORM
+STRUCTURE-RULE
+CONTENT-RULE
+CONTEXT
+SEARCH-RULE
+MATCHING-RESTRICTION
+AllowedSubset
+Attribute
+AttributeCombination
+AttributeType
+AttributeTypeAndDistinguishedValue
+AttributeTypeAssertion
+AttributeUsage
+AttributeValue
+AttributeValueAssertion
+#BaseDistance
+ChopSpecification
+Context
+ContextAssertion
+ContextCombination
+ContextProfile
+ControlOptions
+DistinguishedName
+DITContentRule
+DITContextUse
+DITStructureRule
+EntryLimit
+ImposedSubset
+LocalName
+Mapping
+MatchingUse
+MRMapping
+MRSubstitution
+Name
+Refinement
+RelativeDistinguishedName
+RelaxationPolicy
+RDNSequence
+RequestAttribute
+ResultAttribute
+RuleIdentifier
+SearchRule
+SearchRuleDescription
+SearchRuleId
+SubtreeSpecification
+
+#.PDU
+DistinguishedName
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+AttributeTypeAndDistinguishedValue/valuesWithContext T_valWithContext
+AttributeTypeAndDistinguishedValue/valuesWithContext/_item T_valWithContext_item
+ChopSpecification/specificExclusions T_chopSpecificExclusions
+ChopSpecification/specificExclusions/_item T_chopSpecificExclusions_item
+
+#.FIELD_RENAME
+AttributeTypeAssertion/assertedContexts ata_assertedContexts
+AttributeTypeAndDistinguishedValue/value atadv_value
+AttributeTypeAndDistinguishedValue/valuesWithContext valueswithContext
+AttributeTypeAndDistinguishedValue/valuesWithContext/_item valueswithContext_item
+ChopSpecification/specificExclusions chopSpecificExclusions
+ChopSpecification/specificExclusions/_item chopSpecificExclusions_item
+Refinement/and refinement_and
+Refinement/and/_item refinement_and_item
+Refinement/not refinement_not
+Refinement/or refinement_or
+Refinement/or/_item refinement_or_item
+ContextAssertion/contextType ca_contextType
+ContextAssertion/contextValues ca_contextValues
+ContextAssertion/contextValues/_item ca_contextValues_item
+ContextCombination/not contextcombination_not
+ContextCombination/and contextcombination_and
+ContextCombination/and/_item contextcombination_and_item
+ContextCombination/or contextcombination_or
+ContextCombination/or/_item contextcombination_or_item
+RelaxationPolicy/maximum maximum_relaxation
+RelaxationPolicy/minimum minimum_relaxation
+RequestAttribute/defaultValues/_item/values ra_values
+RequestAttribute/defaultValues/_item/values/_item ra_values_item
+RequestAttribute/selectedValues ra_selectedValues
+RequestAttribute/selectedValues/_item ra_selectedValues_item
+
+#.REGISTER
+DistinguishedName B "2.5.4.1" "id-at-aliasedEntryName"
+DistinguishedName B "2.5.4.31" "id-at-member"
+DistinguishedName B "2.5.4.32" "id-at-owner"
+DistinguishedName B "2.5.4.33" "id-at-roleOccupant"
+DistinguishedName B "2.5.4.34" "id-at-seeAlso"
+DistinguishedName B "2.5.4.49" "id-at-distinguishedName"
+
+DistinguishedName B "2.5.18.3" "id-oa-creatorsName"
+DistinguishedName B "2.5.18.4" "id-oa-modifiersName"
+SubtreeSpecification B "2.5.18.6" "id-oa-subtreeSpecification"
+DistinguishedName B "2.5.18.10" "id-oa-subschemaSubentry"
+DistinguishedName B "2.5.18.11" "id-oa-accessControlSubentry"
+DistinguishedName B "2.5.18.12" "id-oa-collectiveAttributeSubentry"
+DistinguishedName B "2.5.18.13" "id-oa-contextDefaultSubentry"
+HierarchyLevel B "2.5.18.17" "id-oa-hierarchyLevel"
+HierarchyBelow B "2.5.18.18" "iid-oa-hierarchyBelow"
+# X402 - see master list in acp133.cnf
+DistinguishedName B "2.6.5.2.5" "id-at-mhs-message-store-dn"
+DistinguishedName B "2.6.5.2.14" "id-at-mhs-dl-related-lists"
+
+# ACP133 - see master list in acp133.cnf
+DistinguishedName B "2.16.840.1.101.2.2.1.3" "id-at-alternateRecipient"
+DistinguishedName B "2.16.840.1.101.2.2.1.4" "id-at-associatedOrganization"
+DistinguishedName B "2.16.840.1.101.2.2.1.6" "id-at-associatedPLA"
+DistinguishedName B "2.16.840.1.101.2.2.1.49" "id-at-aliasPointer"
+DistinguishedName B "2.16.840.1.101.2.2.1.61" "id-at-listPointer"
+DistinguishedName B "2.16.840.1.101.2.2.1.110" "id-at-administrator"
+DistinguishedName B "2.16.840.1.101.2.2.1.111" "id-at-aigsExpanded"
+DistinguishedName B "2.16.840.1.101.2.2.1.113" "id-at-associatedAL"
+DistinguishedName B "2.16.840.1.101.2.2.1.114" "id-at-copyMember"
+DistinguishedName B "2.16.840.1.101.2.2.1.117" "id-at-guard"
+DistinguishedName B "2.16.840.1.101.2.2.1.121" "id-at-networkDN"
+DistinguishedName B "2.16.840.1.101.2.2.1.138" "id-at-plasServed"
+DistinguishedName B "2.16.840.1.101.2.2.1.139" "id-at-deployed"
+DistinguishedName B "2.16.840.1.101.2.2.1.140" "id-at-garrison"
+DistinguishedName B "2.16.840.1.101.2.2.1.184" "id-at-aCPDutyOfficer"
+DistinguishedName B "2.16.840.1.101.2.2.1.188" "id-at-primaryMember"
+
+
+
+#.FN_PARS ContextAssertion/contextType
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY ContextAssertion/contextValues/_item
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS AttributeTypeAndDistinguishedValue/type
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY AttributeTypeAndDistinguishedValue/type
+ const char *fmt;
+ const char *name;
+
+ %(DEFAULT_BODY)s
+
+ if(actx->external.direct_reference) {
+ /* see if we can find a nice name */
+ name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference);
+ if(!name) name = actx->external.direct_reference;
+
+ if(last_rdn_buf) { /* append it to the RDN */
+ wmem_strbuf_append(last_rdn_buf, name);
+ wmem_strbuf_append_c(last_rdn_buf, '=');
+
+ /* append it to the tree */
+ proto_item_append_text(tree, " (%%s=", name);
+ } else if(doing_attr) {
+ /* append it to the parent item */
+ proto_item_append_text(tree, " (%%s)", name);
+ }
+
+ if((fmt = val_to_str_const(hf_index, fmt_vals, "")) && *fmt) {
+ /* we have a format */
+ last_ava = (char *)wmem_alloc(actx->pinfo->pool, MAX_AVA_STR_LEN); *last_ava = '\0';
+ register_frame_end_routine (actx->pinfo, x509if_frame_end);
+
+ snprintf(last_ava, MAX_AVA_STR_LEN, "%%s %%s", name, fmt);
+
+ proto_item_append_text(tree, " %%s", last_ava);
+
+ }
+ }
+
+#.FN_BODY AttributeTypeAndDistinguishedValue/value
+ int old_offset = offset;
+ tvbuff_t *out_tvb;
+ char *value = NULL;
+ const char *fmt;
+ const char *name = NULL;
+ const char *orig_oid = actx->external.direct_reference;
+
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+ /* in dissecting the value we may have overridden the OID of the value - which is
+ a problem if there are multiple values */
+ actx->external.direct_reference = orig_oid;
+
+ /* try and dissect as a string */
+ dissect_ber_octet_string(FALSE, actx, NULL, tvb, old_offset, hf_x509if_any_string, &out_tvb);
+
+ /* should also try and dissect as an OID and integer */
+ /* of course, if I can look up the syntax .... */
+
+ if(out_tvb) {
+ /* it was a string - format it */
+ value = tvb_format_text(actx->pinfo->pool, out_tvb, 0, tvb_reported_length(out_tvb));
+
+ if(last_rdn_buf) {
+ wmem_strbuf_append(last_rdn_buf, value);
+
+ /* append it to the tree*/
+ proto_item_append_text(tree, "%%s)", value);
+ }
+
+ if((fmt = val_to_str_const(ava_hf_index, fmt_vals, "")) && *fmt) {
+ /* we have a format */
+
+ if (!last_ava) {
+ last_ava = (char *)wmem_alloc(actx->pinfo->pool, MAX_AVA_STR_LEN);
+ }
+
+ if(!(name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference)))
+ name = actx->external.direct_reference;
+ snprintf(last_ava, MAX_AVA_STR_LEN, "%%s %%s %%s", name, fmt, value);
+
+ proto_item_append_text(tree, " %%s", last_ava);
+
+ }
+ }
+
+#.FN_PARS RequestAttribute/attributeType
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY RequestAttribute/selectedValues/_item
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS RequestAttribute/defaultValues/_item/entryType
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY RequestAttribute/defaultValues/_item/values/_item
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY Attribute/valuesWithContext/_item/value
+ offset=call_ber_oid_callback("unknown", tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS ResultAttribute/attributeType
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY ResultAttribute/outputValues/selectedValues/_item
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS Context/contextType
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Context/contextValues/_item
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS AttributeType
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY AttributeValue
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS AttributeValueAssertion/type
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY AttributeValueAssertion/assertion
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS Attribute/type
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY Attribute/values/_item
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS ContextProfile/contextType
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY ContextProfile/contextValue/_item
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_PARS MatchingUse/restrictionType
+ FN_VARIANT = _str HF_INDEX = hf_x509if_object_identifier_id VAL_PTR = &actx->external.direct_reference
+
+#.FN_BODY MatchingUse/restrictionValue
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY AttributeTypeAndDistinguishedValue/valuesWithContext/_item/distingAttrValue
+ offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
+
+#.FN_BODY RelativeDistinguishedName
+ rdn_one_value = FALSE;
+ top_of_rdn = tree;
+ last_rdn_buf = wmem_strbuf_new(actx->pinfo->pool, "");
+ register_frame_end_routine (actx->pinfo, x509if_frame_end);
+
+ %(DEFAULT_BODY)s
+
+ /* we've finished - close the bracket */
+ proto_item_append_text(top_of_rdn, " (%%s)", wmem_strbuf_get_str(last_rdn_buf));
+
+ /* now append this to the DN */
+ if (last_dn_buf) {
+ if(wmem_strbuf_get_len(last_dn_buf) > 0) {
+ wmem_strbuf_t *temp_dn_buf = wmem_strbuf_new_sized(actx->pinfo->pool, wmem_strbuf_get_len(last_rdn_buf) + wmem_strbuf_get_len(last_dn_buf) + 1);
+ wmem_strbuf_append(temp_dn_buf, wmem_strbuf_get_str(last_rdn_buf));
+ wmem_strbuf_append_c(temp_dn_buf, ',');
+ wmem_strbuf_append(temp_dn_buf, wmem_strbuf_get_str(last_dn_buf));
+ wmem_strbuf_destroy(last_dn_buf);
+ last_dn_buf = temp_dn_buf;
+ } else {
+ wmem_strbuf_append(last_dn_buf, wmem_strbuf_get_str(last_rdn_buf));
+ }
+ }
+
+ last_rdn_buf = NULL; /* it will get freed when the next packet is dissected */
+
+#.FN_BODY RelativeDistinguishedName/_item
+
+ if(!rdn_one_value) {
+ top_of_rdn = tree;
+ } else {
+
+ if(last_rdn_buf)
+ /* this is an additional value - delimit */
+ wmem_strbuf_append_c(last_rdn_buf, '+');
+ }
+
+ %(DEFAULT_BODY)s
+
+ rdn_one_value = TRUE;
+
+#.FN_BODY RDNSequence
+ const char *fmt;
+
+ dn_one_rdn = FALSE; /* reset */
+ last_dn_buf = wmem_strbuf_new(actx->pinfo->pool, "");
+ top_of_dn = NULL;
+ register_frame_end_routine (actx->pinfo, x509if_frame_end);
+
+
+ %(DEFAULT_BODY)s
+
+ /* we've finished - append the dn */
+ proto_item_append_text(top_of_dn, " (%%s)", wmem_strbuf_get_str(last_dn_buf));
+
+ /* see if we should append this to the col info */
+ if((fmt = val_to_str_const(hf_index, fmt_vals, "")) && *fmt) {
+ /* we have a format */
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s%%s", fmt, wmem_strbuf_get_str(last_dn_buf));
+ }
+
+
+#.FN_BODY RDNSequence/_item
+
+ if(!dn_one_rdn) {
+ /* this is the first element - record the top */
+ top_of_dn = tree;
+ }
+
+ %(DEFAULT_BODY)s
+
+ dn_one_rdn = TRUE;
+
+#.FN_BODY AttributeValueAssertion
+
+ ava_hf_index = hf_index;
+ last_ava = (char *)wmem_alloc(actx->pinfo->pool, MAX_AVA_STR_LEN); *last_ava = '\0';
+ register_frame_end_routine (actx->pinfo, x509if_frame_end);
+
+ %(DEFAULT_BODY)s
+
+ ava_hf_index=-1;
+
+#.FN_BODY Attribute
+ doing_attr = TRUE;
+ register_frame_end_routine (actx->pinfo, x509if_frame_end);
+
+ %(DEFAULT_BODY)s
+#.END
+
+
diff --git a/epan/dissectors/asn1/x509sat/CMakeLists.txt b/epan/dissectors/asn1/x509sat/CMakeLists.txt
new file mode 100644
index 00000000..66e5a873
--- /dev/null
+++ b/epan/dissectors/asn1/x509sat/CMakeLists.txt
@@ -0,0 +1,44 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME x509sat )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ SelectedAttributeTypes.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b -r Syntax )
+
+set( EXTRA_CNF
+ "${CMAKE_CURRENT_BINARY_DIR}/../x509if/x509if-exp.cnf"
+ "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf"
+)
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/x509sat/SelectedAttributeTypes.asn b/epan/dissectors/asn1/x509sat/SelectedAttributeTypes.asn
new file mode 100644
index 00000000..190226f5
--- /dev/null
+++ b/epan/dissectors/asn1/x509sat/SelectedAttributeTypes.asn
@@ -0,0 +1,1491 @@
+-- Module SelectedAttributeTypes (X.520:08/1997)
+
+SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 3} DEFINITIONS ::=
+BEGIN
+
+-- EXPORTS All
+-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
+-- within the Directory Specifications, and for the use of other applications which will use them to access
+-- Directory services. Other applications may use them for their own purposes, but this will not constrain
+-- extensions and modifications needed to maintain or improve the Directory service.
+IMPORTS
+ informationFramework, upperBounds, id-mr, id-avc,
+ directoryAbstractService, id-pr, id-not, id-cat
+ FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
+ usefulDefinitions(0) 3}
+ Attribute, ATTRIBUTE, MATCHING-RULE, AttributeType, OBJECT-CLASS,
+ DistinguishedName, objectIdentifierMatch, distinguishedNameMatch,
+ CONTEXT, ContextAssertion, AttributeCombination, ContextCombination,
+ MAPPING-BASED-MATCHING, MRMapping, AttributeValueAssertion
+ FROM InformationFramework informationFramework
+ G3FacsimileNonBasicParameters
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ ub-answerback, ub-name, ub-common-name, ub-surname, ub-serial-number,
+ ub-locality-name, ub-state-name, ub-street-address, ub-organization-name,
+ ub-organizational-unit-name, ub-title, ub-description,
+ ub-business-category, ub-postal-line, ub-postal-string, ub-postal-code,
+ ub-post-office-box, ub-physical-office-name, ub-telex-number,
+ ub-country-code, ub-teletex-terminal-id, ub-telephone-number,
+ ub-x121-address, ub-international-isdn-number, ub-destination-indicator,
+ ub-user-password, ub-match, ub-knowledge-information,
+ ub-directory-string-first-component-match, ub-localeContextSyntax,
+ ub-pseudonym
+ FROM UpperBounds upperBounds
+ FilterItem, HierarchySelections, SearchControlOptions, ServiceControlOptions
+ FROM DirectoryAbstractService directoryAbstractService;
+
+-- Directory string type
+--This one is much better declared as this, it is prettier at least
+--the octet string dissector can handle all of them
+--DirectoryString ::= PrintableString
+
+DirectoryString ::= CHOICE {
+ teletexString TeletexString,
+ printableString PrintableString,
+ universalString UniversalString,
+ bmpString BMPString,
+ uTF8String UTF8String
+}
+
+
+-- Attribute types
+ knowledgeInformation ATTRIBUTE ::= {
+ WITH SYNTAX DirectoryString {ub-knowledge-information}
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ ID id-at-knowledgeInformation
+ }
+
+ name ATTRIBUTE ::= {
+ WITH SYNTAX DirectoryString {ub-name}
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-name
+ }
+
+ commonName ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-common-name}
+ ID id-at-commonName
+ }
+
+ surname ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-surname}
+ ID id-at-surname
+ }
+
+ givenName ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-name}
+ ID id-at-givenName
+ }
+
+ initials ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-name}
+ ID id-at-initials
+ }
+
+ generationQualifier ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-name}
+ ID id-at-generationQualifier
+ }
+
+ uniqueIdentifier ATTRIBUTE ::= {
+ WITH SYNTAX UniqueIdentifier
+ EQUALITY MATCHING RULE bitStringMatch
+ ID id-at-uniqueIdentifier
+ }
+
+UniqueIdentifier ::= BIT STRING
+
+ dnQualifier ATTRIBUTE ::= {
+ WITH SYNTAX PrintableString
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ ORDERING MATCHING RULE caseIgnoreOrderingMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-dnQualifier
+ }
+
+ serialNumber ATTRIBUTE ::= {
+ WITH SYNTAX PrintableString(SIZE (1..ub-serial-number))
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-serialNumber
+ }
+
+ pseudonym ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-pseudonym}
+ ID id-at-pseudonym
+ }
+
+ countryName ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX CountryName
+ SINGLE VALUE TRUE
+ ID id-at-countryName
+ }
+
+CountryName ::= PrintableString
+-- ISO 3166 codes only
+
+
+ localityName ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-locality-name}
+ ID id-at-localityName
+ }
+
+ collectiveLocalityName ATTRIBUTE ::= {
+ SUBTYPE OF localityName
+ COLLECTIVE TRUE
+ ID id-at-collectiveLocalityName
+ }
+
+ stateOrProvinceName ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-state-name}
+ ID id-at-stateOrProvinceName
+ }
+
+ collectiveStateOrProvinceName ATTRIBUTE ::= {
+ SUBTYPE OF stateOrProvinceName
+ COLLECTIVE TRUE
+ ID id-at-collectiveStateOrProvinceName
+ }
+
+ streetAddress ATTRIBUTE ::= {
+ WITH SYNTAX DirectoryString {ub-street-address}
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-streetAddress
+ }
+
+ collectiveStreetAddress ATTRIBUTE ::= {
+ SUBTYPE OF streetAddress
+ COLLECTIVE TRUE
+ ID id-at-collectiveStreetAddress
+ }
+
+ houseIdentifier ATTRIBUTE ::= {
+ WITH SYNTAX DirectoryString {ub-name}
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-houseIdentifier
+ }
+
+ organizationName ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-organization-name}
+ ID id-at-organizationName
+ }
+
+ collectiveOrganizationName ATTRIBUTE ::= {
+ SUBTYPE OF organizationName
+ COLLECTIVE TRUE
+ ID id-at-collectiveOrganizationName
+ }
+
+ organizationalUnitName ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-organizational-unit-name}
+ ID id-at-organizationalUnitName
+ }
+
+ collectiveOrganizationalUnitName ATTRIBUTE ::= {
+ SUBTYPE OF organizationalUnitName
+ COLLECTIVE TRUE
+ ID id-at-collectiveOrganizationalUnitName
+ }
+
+ title ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-title}
+ ID id-at-title
+ }
+
+ description ATTRIBUTE ::= {
+ WITH SYNTAX DirectoryString {ub-description}
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-description
+ }
+
+ searchGuide ATTRIBUTE ::= {WITH SYNTAX Guide
+ ID id-at-searchGuide
+ }
+
+
+Guide ::= SET {
+ objectClass [0] OBJECT IDENTIFIER OPTIONAL,
+ criteria [1] Criteria
+}
+
+Criteria ::= CHOICE {
+ type [0] CriteriaItem,
+ and [1] SET OF Criteria,
+ or [2] SET OF Criteria,
+ not [3] Criteria
+}
+
+CriteriaItem ::= CHOICE {
+ equality [0] AttributeType,
+ substrings [1] AttributeType,
+ greaterOrEqual [2] AttributeType,
+ lessOrEqual [3] AttributeType,
+ approximateMatch [4] AttributeType
+}
+
+ enhancedSearchGuide ATTRIBUTE ::= {
+ WITH SYNTAX EnhancedGuide
+ ID id-at-enhancedSearchGuide
+ }
+
+EnhancedGuide ::= SEQUENCE {
+ objectClass [0] OBJECT IDENTIFIER,
+ criteria [1] Criteria,
+ subset [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} OPTIONAL
+}
+
+ businessCategory ATTRIBUTE ::= {
+ WITH SYNTAX DirectoryString {ub-business-category}
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-businessCategory
+ }
+
+ postalAddress ATTRIBUTE ::= {
+ WITH SYNTAX PostalAddress
+ EQUALITY MATCHING RULE caseIgnoreListMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch
+ ID id-at-postalAddress
+ }
+
+PostalAddress ::= SEQUENCE OF DirectoryString
+
+ collectivePostalAddress ATTRIBUTE ::= {
+ SUBTYPE OF postalAddress
+ COLLECTIVE TRUE
+ ID id-at-collectivePostalAddress
+ }
+
+ postalCode ATTRIBUTE ::= {
+ WITH SYNTAX DirectoryString {ub-postal-code}
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-postalCode
+ }
+
+ collectivePostalCode ATTRIBUTE ::= {
+ SUBTYPE OF postalCode
+ COLLECTIVE TRUE
+ ID id-at-collectivePostalCode
+ }
+
+ postOfficeBox ATTRIBUTE ::= {
+ WITH SYNTAX DirectoryString {ub-post-office-box}
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-postOfficeBox
+ }
+
+ collectivePostOfficeBox ATTRIBUTE ::= {
+ SUBTYPE OF postOfficeBox
+ COLLECTIVE TRUE
+ ID id-at-collectivePostOfficeBox
+ }
+
+ physicalDeliveryOfficeName ATTRIBUTE ::= {
+ WITH SYNTAX DirectoryString {ub-physical-office-name}
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-physicalDeliveryOfficeName
+ }
+
+ collectivePhysicalDeliveryOfficeName ATTRIBUTE ::= {
+ SUBTYPE OF physicalDeliveryOfficeName
+ COLLECTIVE TRUE
+ ID id-at-collectivePhysicalDeliveryOfficeName
+ }
+
+ telephoneNumber ATTRIBUTE ::= {
+ WITH SYNTAX TelephoneNumber
+ EQUALITY MATCHING RULE telephoneNumberMatch
+ SUBSTRINGS MATCHING RULE telephoneNumberSubstringsMatch
+ ID id-at-telephoneNumber
+ }
+
+TelephoneNumber ::= PrintableString
+
+-- String complying with CCITT Rec. E.123 only
+ collectiveTelephoneNumber ATTRIBUTE ::= {
+ SUBTYPE OF telephoneNumber
+ COLLECTIVE TRUE
+ ID id-at-collectiveTelephoneNumber
+ }
+
+ telexNumber ATTRIBUTE ::= {
+ WITH SYNTAX TelexNumber
+ ID id-at-telexNumber
+ }
+
+TelexNumber ::= SEQUENCE {
+ telexNumber PrintableString,
+ countryCode PrintableString,
+ answerback PrintableString
+}
+
+ collectiveTelexNumber ATTRIBUTE ::= {
+ SUBTYPE OF telexNumber
+ COLLECTIVE TRUE
+ ID id-at-collectiveTelexNumber
+ }
+
+ facsimileTelephoneNumber ATTRIBUTE ::= {
+ WITH SYNTAX FacsimileTelephoneNumber
+ EQUALITY MATCHING RULE facsimileNumberMatch
+ SUBSTRINGS MATCHING RULE facsimileNumberSubstringsMatch
+ ID id-at-facsimileTelephoneNumber
+ }
+
+ facsimileNumberMatch MATCHING-RULE ::= {
+ SYNTAX TelephoneNumber
+ ID id-mr-facsimileNumberMatch
+ }
+
+ facsimileNumberSubstringsMatch MATCHING-RULE ::= {
+ SYNTAX SubstringAssertion
+ ID id-mr-facsimileNumberSubstringsMatch
+ }
+
+FacsimileTelephoneNumber ::= SEQUENCE {
+ telephoneNumber TelephoneNumber,
+ parameters G3FacsimileNonBasicParameters OPTIONAL
+}
+
+ collectiveFacsimileTelephoneNumber ATTRIBUTE ::= {
+ SUBTYPE OF facsimileTelephoneNumber
+ COLLECTIVE TRUE
+ ID id-at-collectiveFacsimileTelephoneNumber
+ }
+
+ x121Address ATTRIBUTE ::= {
+ WITH SYNTAX X121Address
+ EQUALITY MATCHING RULE numericStringMatch
+ SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
+ ID id-at-x121Address
+ }
+
+X121Address ::= NumericString
+
+-- String as defined by ITU-T Rec. X.121
+ internationalISDNNumber ATTRIBUTE ::= {
+ WITH SYNTAX InternationalISDNNumber
+ EQUALITY MATCHING RULE numericStringMatch
+ SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
+ ID id-at-internationalISDNNumber
+ }
+
+InternationalISDNNumber ::= NumericString
+
+-- String complying with ITU-T Rec. E.164 only
+ collectiveInternationalISDNNumber ATTRIBUTE ::= {
+ SUBTYPE OF internationalISDNNumber
+ COLLECTIVE TRUE
+ ID id-at-collectiveInternationalISDNNumber
+ }
+
+ registeredAddress ATTRIBUTE ::= {
+ SUBTYPE OF postalAddress
+ WITH SYNTAX PostalAddress
+ ID id-at-registeredAddress
+ }
+
+ destinationIndicator ATTRIBUTE ::= {
+ WITH SYNTAX DestinationIndicator
+ EQUALITY MATCHING RULE caseIgnoreMatch
+ SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
+ ID id-at-destinationIndicator
+ }
+
+DestinationIndicator ::= PrintableString
+
+ communicationsService ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-communicationsService
+ }
+
+ communicationsNetwork ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ SINGLE VALUE TRUE
+ ID id-at-communicationsNetwork
+ }
+
+-- alphabetical characters only
+ preferredDeliveryMethod ATTRIBUTE ::= {
+ WITH SYNTAX PreferredDeliveryMethod
+ SINGLE VALUE TRUE
+ ID id-at-preferredDeliveryMethod
+ }
+
+PreferredDeliveryMethod ::= SEQUENCE OF
+ INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
+ telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
+ g4-facsimile-delivery(6), ia5-terminal-delivery(7),
+ videotex-delivery(8), telephone-delivery(9)}
+
+ presentationAddress ATTRIBUTE ::= {
+ WITH SYNTAX PresentationAddress
+ EQUALITY MATCHING RULE presentationAddressMatch
+ SINGLE VALUE TRUE
+ ID id-at-presentationAddress
+ }
+
+PresentationAddress ::= SEQUENCE {
+ pSelector [0] OCTET STRING OPTIONAL,
+ sSelector [1] OCTET STRING OPTIONAL,
+ tSelector [2] OCTET STRING OPTIONAL,
+ nAddresses [3] SET OF OCTET STRING
+}
+
+ supportedApplicationContext ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-at-supportedApplicationContext
+ }
+
+ protocolInformation ATTRIBUTE ::= {
+ WITH SYNTAX ProtocolInformation
+ EQUALITY MATCHING RULE protocolInformationMatch
+ ID id-at-protocolInformation
+ }
+
+ProtocolInformation ::= SEQUENCE {
+ nAddress OCTET STRING,
+ profiles SET OF OBJECT IDENTIFIER
+}
+
+ distinguishedName ATTRIBUTE ::= {
+ WITH SYNTAX DistinguishedName
+ EQUALITY MATCHING RULE distinguishedNameMatch
+ ID id-at-distinguishedName
+ }
+
+ member ATTRIBUTE ::= {SUBTYPE OF distinguishedName
+ ID id-at-member
+ }
+
+ uniqueMember ATTRIBUTE ::= {
+ WITH SYNTAX NameAndOptionalUID
+ EQUALITY MATCHING RULE uniqueMemberMatch
+ ID id-at-uniqueMember
+ }
+
+NameAndOptionalUID ::= SEQUENCE {
+ dn DistinguishedName,
+ uid UniqueIdentifier OPTIONAL
+}
+
+ owner ATTRIBUTE ::= {SUBTYPE OF distinguishedName
+ ID id-at-owner
+ }
+
+ roleOccupant ATTRIBUTE ::= {
+ SUBTYPE OF distinguishedName
+ ID id-at-roleOccupant
+ }
+
+ seeAlso ATTRIBUTE ::= {SUBTYPE OF distinguishedName
+ ID id-at-seeAlso
+ }
+
+ dmdName ATTRIBUTE ::= {
+ SUBTYPE OF name
+ WITH SYNTAX DirectoryString {ub-common-name}
+ ID id-at-dmdName
+ }
+
+ dSAProblem ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-not-dSAProblem
+ }
+
+ searchServiceProblem ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ SINGLE VALUE TRUE
+ ID id-not-searchServiceProblem
+ }
+
+ serviceType ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ SINGLE VALUE TRUE
+ ID id-not-serviceType
+ }
+
+ attributeTypeList ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-not-attributeTypeList
+ }
+
+ filterItem ATTRIBUTE ::= {
+ WITH SYNTAX FilterItem
+ ID id-not-filterItem
+ }
+
+ attributeCombinations ATTRIBUTE ::= {
+ WITH SYNTAX AttributeCombination
+ ID id-not-attributeCombinations
+ }
+
+ contextTypeList ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-not-contextTypeList
+ }
+
+ contextList ATTRIBUTE ::= {
+ WITH SYNTAX ContextAssertion
+ ID id-not-contextList
+ }
+
+ hierarchySelectList ATTRIBUTE ::= {
+ WITH SYNTAX HierarchySelections
+ SINGLE VALUE TRUE
+ ID id-not-hierarchySelectList
+ }
+
+ searchOptionsList ATTRIBUTE ::= {
+ WITH SYNTAX SearchControlOptions
+ SINGLE VALUE TRUE
+ ID id-not-searchOptionsList
+ }
+
+ serviceControlOptionsList ATTRIBUTE ::= {
+ WITH SYNTAX ServiceControlOptions
+ SINGLE VALUE TRUE
+ ID id-not-serviceControlOptionsList
+ }
+
+ multipleMatchingLocalities ATTRIBUTE ::= {
+ WITH SYNTAX MultipleMatchingLocalities
+ ID id-not-multipleMatchingLocalities
+ }
+
+MultipleMatchingLocalities ::= SEQUENCE {
+ matchingRuleUsed OBJECT IDENTIFIER OPTIONAL,
+ attributeList SEQUENCE OF AttributeValueAssertion
+}
+
+ proposedRelaxation ATTRIBUTE ::= {
+ WITH SYNTAX SEQUENCE OF MRMapping
+ ID id-not-proposedRelaxation
+ }
+
+ appliedRelaxation ATTRIBUTE ::= {
+ WITH SYNTAX OBJECT IDENTIFIER
+ EQUALITY MATCHING RULE objectIdentifierMatch
+ ID id-not-appliedRelaxation
+ }
+
+-- Matching rules
+ caseIgnoreMatch MATCHING-RULE ::= {
+ SYNTAX DirectoryString {ub-match}
+ ID id-mr-caseIgnoreMatch
+ }
+
+ caseIgnoreOrderingMatch MATCHING-RULE ::= {
+ SYNTAX DirectoryString {ub-match}
+ ID id-mr-caseIgnoreOrderingMatch
+ }
+
+ caseIgnoreSubstringsMatch MATCHING-RULE ::= {
+ SYNTAX SubstringAssertion
+ ID id-mr-caseIgnoreSubstringsMatch
+ }
+
+SubstringAssertion ::= SEQUENCE OF
+ CHOICE {initial [0] DirectoryString,
+ any [1] DirectoryString,
+ final [2] DirectoryString,
+ control Attribute
+ }
+
+-- Used to specify interpretation of the following items
+
+-- at most one initial and one final component
+ caseExactMatch MATCHING-RULE ::= {
+ SYNTAX DirectoryString {ub-match}
+ ID id-mr-caseExactMatch
+ }
+
+ caseExactOrderingMatch MATCHING-RULE ::= {
+ SYNTAX DirectoryString {ub-match}
+ ID id-mr-caseExactOrderingMatch
+ }
+
+ caseExactSubstringsMatch MATCHING-RULE ::= {
+ SYNTAX SubstringAssertion
+ only the PrintableString choice
+ ID id-mr-caseExactSubstringsMatch
+ }
+
+ numericStringMatch MATCHING-RULE ::= {
+ SYNTAX NumericString
+ ID id-mr-numericStringMatch
+ }
+
+ numericStringOrderingMatch MATCHING-RULE ::= {
+ SYNTAX NumericString
+ ID id-mr-numericStringOrderingMatch
+ }
+
+ numericStringSubstringsMatch MATCHING-RULE ::= {
+ SYNTAX SubstringAssertion
+ ID id-mr-numericStringSubstringsMatch
+ }
+
+ caseIgnoreListMatch MATCHING-RULE ::= {
+ SYNTAX CaseIgnoreListMatch
+ ID id-mr-caseIgnoreListMatch
+ }
+
+CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString
+
+ caseIgnoreListSubstringsMatch MATCHING-RULE ::= {
+ SYNTAX SubstringAssertion
+ ID id-mr-caseIgnoreListSubstringsMatch
+ }
+
+ storedPrefixMatch MATCHING-RULE ::= {
+ SYNTAX DirectoryString {ub-match}
+ ID id-mr-storedPrefixMatch
+ }
+
+ booleanMatch MATCHING-RULE ::= {SYNTAX BOOLEAN
+ ID id-mr-booleanMatch
+ }
+
+ integerMatch MATCHING-RULE ::= {SYNTAX INTEGER
+ ID id-mr-integerMatch
+ }
+
+ integerOrderingMatch MATCHING-RULE ::= {
+ SYNTAX INTEGER
+ ID id-mr-integerOrderingMatch
+ }
+
+ bitStringMatch MATCHING-RULE ::= {
+ SYNTAX BIT STRING
+ ID id-mr-bitStringMatch
+ }
+
+ octetStringMatch MATCHING-RULE ::= {
+ SYNTAX OCTET STRING
+ ID id-mr-octetStringMatch
+ }
+
+ octetStringOrderingMatch MATCHING-RULE ::= {
+ SYNTAX OCTET STRING
+ ID id-mr-octetStringOrderingMatch
+ }
+
+ octetStringSubstringsMatch MATCHING-RULE ::= {
+ SYNTAX OctetSubstringAssertion
+ ID id-mr-octetStringSubstringsMatch
+ }
+
+OctetSubstringAssertion ::= SEQUENCE OF
+ CHOICE {initial [0] OCTET STRING,
+ any [1] OCTET STRING,
+ final [2] OCTET STRING}
+
+-- at most one initial and one final component
+ telephoneNumberMatch MATCHING-RULE ::= {
+ SYNTAX TelephoneNumber
+ ID id-mr-telephoneNumberMatch
+ }
+
+ telephoneNumberSubstringsMatch MATCHING-RULE ::= {
+ SYNTAX SubstringAssertion
+ ID id-mr-telephoneNumberSubstringsMatch
+ }
+
+ presentationAddressMatch MATCHING-RULE ::= {
+ SYNTAX PresentationAddress
+ ID id-mr-presentationAddressMatch
+ }
+
+ uniqueMemberMatch MATCHING-RULE ::= {
+ SYNTAX NameAndOptionalUID
+ ID id-mr-uniqueMemberMatch
+ }
+
+ protocolInformationMatch MATCHING-RULE ::= {
+ SYNTAX OCTET STRING
+ ID id-mr-protocolInformationMatch
+ }
+
+ uTCTimeMatch MATCHING-RULE ::= {SYNTAX UTCTime
+ ID id-mr-uTCTimeMatch
+ }
+
+ uTCTimeOrderingMatch MATCHING-RULE ::= {
+ SYNTAX UTCTime
+ ID id-mr-uTCTimeOrderingMatch
+ }
+
+ generalizedTimeMatch MATCHING-RULE ::= {
+ SYNTAX GeneralizedTime
+-- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
+ ID id-mr-generalizedTimeMatch
+ }
+
+ generalizedTimeOrderingMatch MATCHING-RULE ::= {
+ SYNTAX GeneralizedTime
+ as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
+ ID id-mr-generalizedTimeOrderingMatch
+ }
+
+ integerFirstComponentMatch MATCHING-RULE ::= {
+ SYNTAX INTEGER
+ ID id-mr-integerFirstComponentMatch
+ }
+
+ objectIdentifierFirstComponentMatch MATCHING-RULE ::= {
+ SYNTAX OBJECT IDENTIFIER
+ ID id-mr-objectIdentifierFirstComponentMatch
+ }
+
+ directoryStringFirstComponentMatch MATCHING-RULE ::= {
+ SYNTAX DirectoryString {ub-directory-string-first-component-match}
+ ID id-mr-directoryStringFirstComponentMatch
+ }
+
+ wordMatch MATCHING-RULE ::= {
+ SYNTAX DirectoryString {ub-match}
+ ID id-mr-wordMatch
+ }
+
+ keywordMatch MATCHING-RULE ::= {
+ SYNTAX DirectoryString {ub-match}
+ ID id-mr-keywordMatch
+ }
+
+ systemProposedMatch MATCHING-RULE ::= {ID id-mr-systemProposedMatch
+ }
+
+ generalWordMatch MATCHING-RULE ::= {
+ SYNTAX SubstringAssertion
+ ID id-mr-generalWordMatch
+ }
+
+ sequenceMatchType ATTRIBUTE ::= {
+ WITH SYNTAX
+ ENUMERATED {sequenceExact(0), sequenceDeletion(1),
+ sequenceRestrictedDeletion(2), sequencePermutation(3),
+ sequencePermutationAndDeletion(4), sequenceProviderDefined(5)}
+ SINGLE VALUE TRUE
+ ID id-cat-sequenceMatchType
+ }
+-- defaulting to sequenceExact,
+
+ wordMatchTypes ATTRIBUTE ::= {
+ WITH SYNTAX
+ ENUMERATED {wordExact(0), wordTruncated(1), wordPhonetic(2),
+ wordProviderDefined(3)}
+ SINGLE VALUE TRUE
+ ID id-cat-wordMatchType
+ }
+-- defaulting to wordExact
+
+ characterMatchTypes ATTRIBUTE ::= {
+ WITH SYNTAX
+ ENUMERATED {characterExact(0), characterCaseIgnore(1), characterMapped(2)}
+ SINGLE VALUE TRUE
+ ID id-cat-characterMatchTypes
+ }
+
+ selectedContexts ATTRIBUTE ::= {
+ WITH SYNTAX ContextAssertion
+ ID id-cat-selectedContexts
+ }
+
+ approximateStringMatch MATCHING-RULE ::= {ID id-mr-approximateStringMatch
+ }
+
+ ignoreIfAbsentMatch MATCHING-RULE ::= {ID id-mr-ignoreIfAbsentMatch
+ }
+
+ nullMatch MATCHING-RULE ::= {ID id-mr-nullMatch
+ }
+
+ ZONAL-MATCHING ::=
+ MAPPING-BASED-MATCHING{ZonalSelect, TRUE, ZonalResult, zonalMatch.&id}
+
+ZonalSelect ::= SEQUENCE OF AttributeType
+
+ZonalResult ::= ENUMERATED {
+ cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)}
+
+ zonalMatch MATCHING-RULE ::= {
+ UNIQUE-MATCH-INDICATOR multipleMatchingLocalities.&id
+ ID id-mr-zonalMatch
+ }
+
+-- Contexts
+ languageContext CONTEXT ::= {
+ WITH SYNTAX LanguageContextSyntax
+ ID id-avc-language
+ }
+
+LanguageContextSyntax ::= PrintableString
+-- ISO 639-2 codes only
+
+
+ temporalContext CONTEXT ::= {
+ WITH SYNTAX TimeSpecification
+ ASSERTED AS TimeAssertion
+ ID id-avc-temporal
+ }
+
+TimeSpecification ::= SEQUENCE {
+ time CHOICE {absolute SEQUENCE {
+ startTime [0] GeneralizedTime OPTIONAL,
+ endTime [1] GeneralizedTime OPTIONAL},
+ periodic SET OF Period},
+ notThisTime BOOLEAN OPTIONAL,
+ timeZone TimeZone OPTIONAL
+}
+
+Period ::= SEQUENCE {
+ timesOfDay [0] SET OF DayTimeBand OPTIONAL,
+ days [1] CHOICE {intDay SET OF INTEGER,
+ bitDay BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6)},
+ dayOf XDayOf} OPTIONAL,
+ weeks [2] CHOICE {allWeeks NULL,
+ intWeek SET OF INTEGER,
+ bitWeek BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)}
+ } OPTIONAL,
+ months [3] CHOICE {allMonths NULL,
+ intMonth SET OF INTEGER,
+ bitMonth BIT STRING {january(0), february(1), march(2), april(3), may(4), june(5), july(6), august(7), september(8), october(9), november(10), december(11)}} OPTIONAL,
+ years [4] SET OF INTEGER OPTIONAL
+}
+
+XDayOf ::= CHOICE {
+ first [1] NamedDay,
+ second [2] NamedDay,
+ third [3] NamedDay,
+ fourth [4] NamedDay,
+ fifth [5] NamedDay
+}
+
+NamedDay ::= CHOICE {
+ intNamedDays ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5), friday(6), saturday(7)},
+ bitNamedDays BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6)}
+}
+
+DayTimeBand ::= SEQUENCE {
+ startDayTime [0] DayTime OPTIONAL,
+ endDayTime [1] DayTime OPTIONAL
+}
+
+DayTime ::= SEQUENCE {
+ hour [0] INTEGER,
+ minute [1] INTEGER OPTIONAL,
+ second [2] INTEGER OPTIONAL
+}
+
+TimeZone ::= INTEGER
+
+TimeAssertion ::= CHOICE {
+ now NULL,
+ at GeneralizedTime,
+ between SEQUENCE {startTime [0] GeneralizedTime,
+ endTime [1] GeneralizedTime OPTIONAL,
+ entirely BOOLEAN OPTIONAL}
+}
+
+ localeContext CONTEXT ::= {
+ WITH SYNTAX LocaleContextSyntax
+ ID id-avc-locale
+ }
+
+LocaleContextSyntax ::= CHOICE {
+ localeID1 OBJECT IDENTIFIER,
+ localeID2 DirectoryString
+}
+
+-- Object identifier assignments -
+-- object identifiers assigned in other modules are shown in comments
+-- Attributes
+-- (id-at copied in from UsefulDefinitions)
+id-at OBJECT IDENTIFIER ::= {joint-iso-itu-t ds(5) 4}
+ id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
+ id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
+ id-at-encryptedAliasedEntryName OBJECT IDENTIFIER ::=
+ {id-at 1 2}
+
+id-at-knowledgeInformation OBJECT IDENTIFIER ::= {id-at 2}
+
+id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
+
+ id-at-encryptedCommonName OBJECT IDENTIFIER ::= {id-at 3 2}
+
+id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
+
+ id-at-encryptedSurname OBJECT IDENTIFIER ::= {id-at 4 2}
+
+ id-at-serialNumber OBJECT IDENTIFIER ::= {id-at 5}
+
+ id-at-encryptedSerialNumber OBJECT IDENTIFIER ::= {id-at 5 2}
+
+id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
+
+ id-at-encryptedCountryName OBJECT IDENTIFIER ::= {id-at 6 2}
+
+id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
+
+ id-at-encryptedLocalityName OBJECT IDENTIFIER ::= {id-at 7 2}
+
+id-at-collectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1}
+
+ id-at-encryptedCollectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1 2}
+
+id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
+
+ id-at-encryptedStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 2}
+
+id-at-collectiveStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 1}
+
+ id-at-encryptedCollectiveStateOrProvinceName OBJECT IDENTIFIER ::=
+ {id-at 8 1 2}
+
+id-at-streetAddress OBJECT IDENTIFIER ::= {id-at 9}
+
+ id-at-encryptedStreetAddress OBJECT IDENTIFIER ::= {id-at 9 2}
+
+id-at-collectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1}
+
+ id-at-encryptedCollectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1 2}
+
+id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
+
+ id-at-encryptedOrganizationName OBJECT IDENTIFIER ::= {id-at 10 2}
+
+id-at-collectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1}
+
+ id-at-encryptedCollectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1 2}
+
+id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
+
+ id-at-encryptedOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 2}
+
+id-at-collectiveOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 1}
+
+ id-at-encryptedCollectiveOrganizationalUnitName OBJECT IDENTIFIER ::=
+ {id-at 11 1 2}
+
+id-at-title OBJECT IDENTIFIER ::= {id-at 12}
+
+ id-at-encryptedTitle OBJECT IDENTIFIER ::= {id-at 12 2}
+
+id-at-description OBJECT IDENTIFIER ::= {id-at 13}
+
+ id-at-encryptedDescription OBJECT IDENTIFIER ::= {id-at 13 2}
+
+ id-at-searchGuide OBJECT IDENTIFIER ::= {id-at 14}
+
+ id-at-encryptedSearchGuide OBJECT IDENTIFIER ::= {id-at 14 2}
+
+id-at-businessCategory OBJECT IDENTIFIER ::= {id-at 15}
+
+ id-at-encryptedBusinessCategory OBJECT IDENTIFIER ::= {id-at 15 2}
+
+ id-at-postalAddress OBJECT IDENTIFIER ::= {id-at 16}
+
+ id-at-encryptedPostalAddress OBJECT IDENTIFIER ::= {id-at 16 2}
+
+ id-at-collectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1}
+
+ id-at-encryptedCollectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1 2}
+
+id-at-postalCode OBJECT IDENTIFIER ::= {id-at 17}
+
+ id-at-encryptedPostalCode OBJECT IDENTIFIER ::= {id-at 17 2}
+
+id-at-collectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1}
+
+ id-at-encryptedCollectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1 2}
+
+id-at-postOfficeBox OBJECT IDENTIFIER ::= {id-at 18}
+
+ id-at-encryptedPostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 2}
+
+id-at-collectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1}
+
+ id-at-encryptedCollectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1 2}
+
+id-at-physicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19}
+
+ id-at-encryptedPhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 2}
+
+id-at-collectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 1}
+
+ id-at-encryptedCollectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::=
+ {id-at 19 1 2}
+
+id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20}
+
+ id-at-encryptedTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 2}
+
+id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1}
+
+ id-at-encryptedCollectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1 2}
+
+id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21}
+
+ id-at-encryptedTelexNumber OBJECT IDENTIFIER ::= {id-at 21 2}
+
+id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1}
+
+ id-at-encryptedCollectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1 2}
+
+ id-at-teletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22}
+ id-at-encryptedTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 2}
+ id-at-collectiveTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 1}
+ id-at-encryptedCollectiveTeletexTerminalIdentifier
+ OBJECT IDENTIFIER ::= {id-at 22 1 2}
+ id-at-facsimileTelephoneNumber OBJECT IDENTIFIER ::=
+ {id-at 23}
+
+ id-at-encryptedFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 2}
+
+ id-at-collectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 1}
+
+ id-at-encryptedCollectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::=
+ {id-at 23 1 2}
+
+ id-at-x121Address OBJECT IDENTIFIER ::= {id-at 24}
+
+ id-at-encryptedX121Address OBJECT IDENTIFIER ::= {id-at 24 2}
+
+ id-at-internationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25}
+
+ id-at-encryptedInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 2}
+
+ id-at-collectiveInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 1}
+
+ id-at-encryptedCollectiveInternationalISDNNumber OBJECT IDENTIFIER ::=
+ {id-at 25 1 2}
+
+ id-at-registeredAddress OBJECT IDENTIFIER ::= {id-at 26}
+
+ id-at-encryptedRegisteredAddress OBJECT IDENTIFIER ::= {id-at 26 2}
+
+ id-at-destinationIndicator OBJECT IDENTIFIER ::= {id-at 27}
+
+ id-at-encryptedDestinationIndicator OBJECT IDENTIFIER ::= {id-at 27 2}
+
+ id-at-preferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28}
+
+ id-at-encryptedPreferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28 2}
+
+ id-at-presentationAddress OBJECT IDENTIFIER ::= {id-at 29}
+
+ id-at-encryptedPresentationAddress OBJECT IDENTIFIER ::= {id-at 29 2}
+
+ id-at-supportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30}
+
+ id-at-encryptedSupportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30 2}
+
+ id-at-member OBJECT IDENTIFIER ::= {id-at 31}
+
+ id-at-encryptedMember OBJECT IDENTIFIER ::= {id-at 31 2}
+
+ id-at-owner OBJECT IDENTIFIER ::= {id-at 32}
+
+ id-at-encryptedOwner OBJECT IDENTIFIER ::= {id-at 32 2}
+
+ id-at-roleOccupant OBJECT IDENTIFIER ::= {id-at 33}
+
+ id-at-encryptedRoleOccupant OBJECT IDENTIFIER ::= {id-at 33 2}
+
+ id-at-seeAlso OBJECT IDENTIFIER ::= {id-at 34}
+
+ id-at-encryptedSeeAlso OBJECT IDENTIFIER ::= {id-at 34 2}
+
+ id-at-userPassword OBJECT IDENTIFIER ::= {id-at 35}
+ id-at-encryptedUserPassword OBJECT IDENTIFIER ::=
+ {id-at 35 2}
+
+ id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
+ id-at-encryptedUserCertificate OBJECT IDENTIFIER ::=
+ {id-at 36 2}
+
+ id-at-cACertificate OBJECT IDENTIFIER ::= {id-at 37}
+ id-at-encryptedCACertificate OBJECT IDENTIFIER ::=
+ {id-at 37 2}
+
+ id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
+ id-at-encryptedAuthorityRevocationList OBJECT IDENTIFIER ::=
+ {id-at 38 2}
+
+ id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
+ id-at-encryptedCertificateRevocationList OBJECT IDENTIFIER ::=
+ {id-at 39 2}
+
+ id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
+ id-at-encryptedCrossCertificatePair OBJECT IDENTIFIER ::=
+ {id-at 40 2}
+
+id-at-name OBJECT IDENTIFIER ::= {id-at 41}
+
+id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
+
+ id-at-encryptedGivenName OBJECT IDENTIFIER ::= {id-at 42 2}
+
+id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
+
+ id-at-encryptedInitials OBJECT IDENTIFIER ::= {id-at 43 2}
+
+id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
+
+ id-at-encryptedGenerationQualifier OBJECT IDENTIFIER ::= {id-at 44 2}
+
+ id-at-uniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45}
+
+ id-at-encryptedUniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45 2}
+
+ id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
+
+ id-at-encryptedDnQualifier OBJECT IDENTIFIER ::= {id-at 46 2}
+
+ id-at-enhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47}
+
+ id-at-encryptedEnhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47 2}
+
+ id-at-protocolInformation OBJECT IDENTIFIER ::= {id-at 48}
+
+ id-at-encryptedProtocolInformation OBJECT IDENTIFIER ::= {id-at 48 2}
+
+ id-at-distinguishedName OBJECT IDENTIFIER ::= {id-at 49}
+
+ id-at-encryptedDistinguishedName OBJECT IDENTIFIER ::= {id-at 49 2}
+
+ id-at-uniqueMember OBJECT IDENTIFIER ::= {id-at 50}
+
+ id-at-encryptedUniqueMember OBJECT IDENTIFIER ::= {id-at 50 2}
+
+id-at-houseIdentifier OBJECT IDENTIFIER ::= {id-at 51}
+
+ id-at-encryptedHouseIdentifier OBJECT IDENTIFIER ::= {id-at 51 2}
+
+ id-at-supportedAlgorithms OBJECT IDENTIFIER ::= {id-at 52}
+ id-at-encryptedSupportedAlgorithms OBJECT IDENTIFIER ::=
+ {id-at 52 2}
+
+ id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
+ id-at-encryptedDeltaRevocationList OBJECT IDENTIFIER ::=
+ {id-at 53 2}
+
+id-at-dmdName OBJECT IDENTIFIER ::= {id-at 54}
+
+ id-at-encryptedDmdName OBJECT IDENTIFIER ::= {id-at 54 2}
+
+ id-at-clearance OBJECT IDENTIFIER ::= {id-at 55}
+ id-at-encryptedClearance OBJECT IDENTIFIER ::=
+ {id-at 55 2}
+
+ id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56}
+ id-at-encryptedDefaultDirQop OBJECT IDENTIFIER ::=
+ {id-at 56 2}
+
+ id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::= {id-at 57}
+ id-at-encryptedAttributeIntegrityInfo OBJECT IDENTIFIER ::=
+ {id-at 57 2}
+
+ id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
+ id-at-encryptedAttributeCertificate OBJECT IDENTIFIER ::=
+ {id-at 58 2}
+
+ id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
+ id-at-encryptedAttributeCertificateRevocationList OBJECT IDENTIFIER ::=
+ {id-at 59 2}
+
+ id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60}
+ id-at-encryptedConfKeyInfo OBJECT IDENTIFIER ::=
+ {id-at 60 2}
+
+ --id-at-family-information OBJECT IDENTIFIER {id-at 64}
+id-at-pseudonym OBJECT IDENTIFIER ::= {id-at 65}
+
+ id-at-communicationsService OBJECT IDENTIFIER ::= {id-at 66}
+
+ id-at-communicationsNetwork OBJECT IDENTIFIER ::= {id-at 67}
+
+-- Matching rules
+ id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
+ id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
+ id-mr-caseIgnoreMatch OBJECT IDENTIFIER ::=
+ {id-mr 2}
+
+ id-mr-caseIgnoreOrderingMatch OBJECT IDENTIFIER ::= {id-mr 3}
+
+ id-mr-caseIgnoreSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 4}
+
+ id-mr-caseExactMatch OBJECT IDENTIFIER ::= {id-mr 5}
+
+ id-mr-caseExactOrderingMatch OBJECT IDENTIFIER ::= {id-mr 6}
+
+ id-mr-caseExactSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 7}
+
+ id-mr-numericStringMatch OBJECT IDENTIFIER ::= {id-mr 8}
+
+ id-mr-numericStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 9}
+
+ id-mr-numericStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 10}
+
+ id-mr-caseIgnoreListMatch OBJECT IDENTIFIER ::= {id-mr 11}
+
+ id-mr-caseIgnoreListSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 12}
+
+ id-mr-booleanMatch OBJECT IDENTIFIER ::= {id-mr 13}
+
+ id-mr-integerMatch OBJECT IDENTIFIER ::= {id-mr 14}
+
+ id-mr-integerOrderingMatch OBJECT IDENTIFIER ::= {id-mr 15}
+
+ id-mr-bitStringMatch OBJECT IDENTIFIER ::= {id-mr 16}
+
+ id-mr-octetStringMatch OBJECT IDENTIFIER ::= {id-mr 17}
+
+ id-mr-octetStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 18}
+
+ id-mr-octetStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 19}
+
+ id-mr-telephoneNumberMatch OBJECT IDENTIFIER ::= {id-mr 20}
+
+ id-mr-telephoneNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 21}
+
+ id-mr-presentationAddressMatch OBJECT IDENTIFIER ::= {id-mr 22}
+
+ id-mr-uniqueMemberMatch OBJECT IDENTIFIER ::= {id-mr 23}
+
+ id-mr-protocolInformationMatch OBJECT IDENTIFIER ::= {id-mr 24}
+
+ id-mr-uTCTimeMatch OBJECT IDENTIFIER ::= {id-mr 25}
+
+ id-mr-uTCTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 26}
+
+ id-mr-generalizedTimeMatch OBJECT IDENTIFIER ::= {id-mr 27}
+
+ id-mr-generalizedTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 28}
+
+ id-mr-integerFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 29}
+
+ id-mr-objectIdentifierFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 30}
+
+ id-mr-directoryStringFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 31}
+
+ id-mr-wordMatch OBJECT IDENTIFIER ::= {id-mr 32}
+
+ id-mr-keywordMatch OBJECT IDENTIFIER ::= {id-mr 33}
+
+ id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
+ id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
+ id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
+ id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
+ id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
+ id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
+ id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
+ id-mr-storedPrefixMatch OBJECT IDENTIFIER ::=
+ {id-mr 41}
+
+ id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
+ id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43}
+ id-mr-attributeIntegrityMatch OBJECT IDENTIFIER ::= {id-mr 44}
+ id-mr-systemProposedMatch OBJECT IDENTIFIER ::=
+ {id-mr 47}
+
+ id-mr-generalWordMatch OBJECT IDENTIFIER ::= {id-mr 48}
+
+ id-mr-approximateStringMatch OBJECT IDENTIFIER ::= {id-mr 49}
+
+ id-mr-ignoreIfAbsentMatch OBJECT IDENTIFIER ::= {id-mr 50}
+
+ id-mr-nullMatch OBJECT IDENTIFIER ::= {id-mr 51}
+
+ id-mr-zonalMatch OBJECT IDENTIFIER ::= {id-mr 52}
+
+ id-mr-facsimileNumberMatch OBJECT IDENTIFIER ::= {id-mr 63}
+
+ id-mr-facsimileNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 64}
+
+-- contexts
+ id-avc-language OBJECT IDENTIFIER ::= {id-avc 0}
+
+ id-avc-temporal OBJECT IDENTIFIER ::= {id-avc 1}
+
+ id-avc-locale OBJECT IDENTIFIER ::= {id-avc 2}
+
+ id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::= {id-avc 3}
+ id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4}
+-- Problem definitions
+ id-pr-targetDsaUnavailable OBJECT IDENTIFIER ::=
+ {id-pr 1}
+
+ id-pr-dataSourceUnavailable OBJECT IDENTIFIER ::= {id-pr 2}
+
+ id-pr-unidentifiedOperation OBJECT IDENTIFIER ::= {id-pr 3}
+
+ id-pr-unavailableOperation OBJECT IDENTIFIER ::= {id-pr 4}
+
+ id-pr-searchAttributeViolation OBJECT IDENTIFIER ::= {id-pr 5}
+
+ id-pr-searchAttributeCombinationViolation OBJECT IDENTIFIER ::= {id-pr 6}
+
+ id-pr-searchValueNotAllowed OBJECT IDENTIFIER ::= {id-pr 7}
+
+ id-pr-missingSearchAttribute OBJECT IDENTIFIER ::= {id-pr 8}
+
+ id-pr-searchValueViolation OBJECT IDENTIFIER ::= {id-pr 9}
+
+ id-pr-attributeNegationViolation OBJECT IDENTIFIER ::= {id-pr 10}
+
+ id-pr-searchValueRequired OBJECT IDENTIFIER ::= {id-pr 11}
+
+ id-pr-invalidSearchValue OBJECT IDENTIFIER ::= {id-pr 12}
+
+ id-pr-searchContextViolation OBJECT IDENTIFIER ::= {id-pr 13}
+
+ id-pr-searchContextCombinationViolation OBJECT IDENTIFIER ::= {id-pr 14}
+
+ id-pr-missingSearchContext OBJECT IDENTIFIER ::= {id-pr 15}
+
+ id-pr-searchContextValueViolation OBJECT IDENTIFIER ::= {id-pr 16}
+
+ id-pr-searchContextValueRequired OBJECT IDENTIFIER ::= {id-pr 17}
+
+ id-pr-invalidContextSearchValue OBJECT IDENTIFIER ::= {id-pr 18}
+
+ id-pr-unsupportedMatchingRule OBJECT IDENTIFIER ::= {id-pr 19}
+
+ id-pr-attributeMatchingViolation OBJECT IDENTIFIER ::= {id-pr 20}
+
+ id-pr-unsupportedMatchingUse OBJECT IDENTIFIER ::= {id-pr 21}
+
+ id-pr-matchingUseViolation OBJECT IDENTIFIER ::= {id-pr 22}
+
+ id-pr-hierarchySelectForbidden OBJECT IDENTIFIER ::= {id-pr 23}
+
+ id-pr-invalidHierarchySelect OBJECT IDENTIFIER ::= {id-pr 24}
+
+ id-pr-unavailableHierarchySelect OBJECT IDENTIFIER ::= {id-pr 25}
+
+ id-pr-invalidSearchOptions OBJECT IDENTIFIER ::= {id-pr 26}
+
+ id-pr-missingSearchOptions OBJECT IDENTIFIER ::= {id-pr 27}
+
+ id-pr-invalidServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 28}
+
+ id-pr-missingServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 29}
+
+ id-pr-searchSubsetViolation OBJECT IDENTIFIER ::= {id-pr 30}
+
+ id-pr-unmatchedKeyAttributes OBJECT IDENTIFIER ::= {id-pr 31}
+
+ id-pr-ambiguousKeyAttributes OBJECT IDENTIFIER ::= {id-pr 32}
+
+-- Notification attributes
+ id-not-dSAProblem OBJECT IDENTIFIER ::= {id-not 0}
+
+ id-not-searchServiceProblem OBJECT IDENTIFIER ::= {id-not 1}
+
+ id-not-serviceType OBJECT IDENTIFIER ::= {id-not 2}
+
+ id-not-attributeTypeList OBJECT IDENTIFIER ::= {id-not 3}
+
+ id-not-matchingRuleList OBJECT IDENTIFIER ::= {id-not 4}
+
+ id-not-filterItem OBJECT IDENTIFIER ::= {id-not 5}
+
+ id-not-attributeCombinations OBJECT IDENTIFIER ::= {id-not 6}
+
+ id-not-contextTypeList OBJECT IDENTIFIER ::= {id-not 7}
+
+ id-not-contextList OBJECT IDENTIFIER ::= {id-not 8}
+
+ id-not-contextCombinations OBJECT IDENTIFIER ::= {id-not 9}
+
+ id-not-hierarchySelectList OBJECT IDENTIFIER ::= {id-not 10}
+
+ id-not-searchOptionsList OBJECT IDENTIFIER ::= {id-not 11}
+
+ id-not-serviceControlOptionsList OBJECT IDENTIFIER ::= {id-not 12}
+
+ id-not-multipleMatchingLocalities OBJECT IDENTIFIER ::= {id-not 13}
+
+ id-not-proposedRelaxation OBJECT IDENTIFIER ::= {id-not 14}
+
+ id-not-appliedRelaxation OBJECT IDENTIFIER ::= {id-not 15}
+
+ id-not-substringRequirements OBJECT IDENTIFIER ::= {id-not 16}
+
+-- Control attributes
+ id-cat-sequenceMatchType OBJECT IDENTIFIER ::=
+ {id-cat 1}
+
+ id-cat-wordMatchType OBJECT IDENTIFIER ::= {id-cat 2}
+
+ id-cat-characterMatchTypes OBJECT IDENTIFIER ::= {id-cat 3}
+
+ id-cat-selectedContexts OBJECT IDENTIFIER ::= {id-cat 4}
+
+
+-- We add these in to give the low-level ASN.1 syntaxes
+-- PrintableString and ObjectIdentifier are the most useful
+-- Note the "Syntax" will be removed during the "make" - it is
+-- present to stop asn2wrs complaining about reserved words
+-- Needed to be able to "call" them from OID callbacks.(see .cnf)
+
+ObjectIdentifier ::= OBJECT IDENTIFIER
+OctetString ::= OCTET STRING
+BitString ::= BIT STRING
+Integer ::= INTEGER
+Boolean ::= BOOLEAN
+
+-- these are reserved words, so we need to prefix them
+-- Currently not used ones commented out.
+SyntaxGeneralizedTime ::= GeneralizedTime
+SyntaxUTCTime ::= UTCTime
+SyntaxNumericString ::= NumericString
+SyntaxPrintableString ::= PrintableString
+SyntaxIA5String ::= IA5String
+SyntaxBMPString ::= BMPString
+SyntaxUniversalString ::= UniversalString
+SyntaxUTF8String ::= UTF8String
+SyntaxTeletexString ::= TeletexString
+SyntaxT61String ::= T61String
+SyntaxVideotexString ::= VideotexString
+SyntaxGraphicString ::= GraphicString
+SyntaxISO646String ::= ISO646String
+SyntaxVisibleString ::= VisibleString
+SyntaxGeneralString ::= GeneralString
+
+GUID ::= OCTET STRING
+
+END -- SelectedAttributeTypes
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/x509sat/packet-x509sat-template.c b/epan/dissectors/asn1/x509sat/packet-x509sat-template.c
new file mode 100644
index 00000000..c32c5b08
--- /dev/null
+++ b/epan/dissectors/asn1/x509sat/packet-x509sat-template.c
@@ -0,0 +1,110 @@
+/* packet-x509sat.c
+ * Routines for X.509 Selected Attribute Types packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+#include <epan/proto_data.h>
+#include <epan/strutil.h>
+
+#include "packet-ber.h"
+#include "packet-p1.h"
+#include "packet-x509sat.h"
+#include "packet-x509if.h"
+
+#define PNAME "X.509 Selected Attribute Types"
+#define PSNAME "X509SAT"
+#define PFNAME "x509sat"
+
+void proto_register_x509sat(void);
+void proto_reg_handoff_x509sat(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_x509sat = -1;
+#include "packet-x509sat-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-x509sat-ett.c"
+
+#include "packet-x509sat-fn.c"
+
+
+/*--- proto_register_x509sat ----------------------------------------------*/
+void proto_register_x509sat(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-x509sat-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-x509sat-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_x509sat = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_x509sat, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+#include "packet-x509sat-syn-reg.c"
+
+}
+
+
+/*--- proto_reg_handoff_x509sat -------------------------------------------*/
+void proto_reg_handoff_x509sat(void) {
+#include "packet-x509sat-dis-tab.c"
+
+ /* OBJECT CLASSES */
+
+ oid_add_from_string("top","2.5.6.0");
+ oid_add_from_string("alias","2.5.6.1");
+ oid_add_from_string("country","2.5.6.2");
+ oid_add_from_string("locality","2.5.6.3");
+ oid_add_from_string("organization","2.5.6.4");
+ oid_add_from_string("organizationalUnit","2.5.6.5");
+ oid_add_from_string("person","2.5.6.6");
+ oid_add_from_string("organizationalPerson","2.5.6.7");
+ oid_add_from_string("organizationalRole","2.5.6.8");
+ oid_add_from_string("groupOfNames","2.5.6.9");
+ oid_add_from_string("residentialPerson","2.5.6.10");
+ oid_add_from_string("applicationProcess","2.5.6.11");
+ oid_add_from_string("applicationEntity","2.5.6.12");
+ oid_add_from_string("dSA","2.5.6.13");
+ oid_add_from_string("device","2.5.6.14");
+ oid_add_from_string("strongAuthenticationUser","2.5.6.15");
+ oid_add_from_string("certificationAuthority","2.5.6.16");
+ oid_add_from_string("certificationAuthorityV2","2.5.6.16.2");
+ oid_add_from_string("groupOfUniqueNames","2.5.6.17");
+ oid_add_from_string("userSecurityInformation","2.5.6.18");
+ oid_add_from_string("cRLDistributionPoint","2.5.6.19");
+ oid_add_from_string("dmd","2.5.6.20");
+ oid_add_from_string("pkiUser","2.5.6.21");
+ oid_add_from_string("pkiCA","2.5.6.22");
+
+ oid_add_from_string("parent","2.5.6.28");
+ oid_add_from_string("child","2.5.6.29");
+
+ /* RFC 2247 */
+ oid_add_from_string("dcObject","1.3.6.1.4.1.1446.344");
+ oid_add_from_string("domain","0.9.2342.19200300.100.4.13");
+
+ /* RFC 2798 */
+ oid_add_from_string("inetOrgPerson","2.16.840.1.113730.3.2.2");
+}
+
+
+
diff --git a/epan/dissectors/asn1/x509sat/packet-x509sat-template.h b/epan/dissectors/asn1/x509sat/packet-x509sat-template.h
new file mode 100644
index 00000000..da368280
--- /dev/null
+++ b/epan/dissectors/asn1/x509sat/packet-x509sat-template.h
@@ -0,0 +1,18 @@
+/* packet-x509sat.h
+ * Routines for X.509 Selected Attribute Types packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_X509SAT_H
+#define PACKET_X509SAT_H
+
+#include "packet-x509sat-exp.h"
+
+#endif /* PACKET_X509SAT_H */
+
diff --git a/epan/dissectors/asn1/x509sat/x509sat.cnf b/epan/dissectors/asn1/x509sat/x509sat.cnf
new file mode 100644
index 00000000..e139e092
--- /dev/null
+++ b/epan/dissectors/asn1/x509sat/x509sat.cnf
@@ -0,0 +1,421 @@
+# x509sat.cnf
+# X509SAT conformation file
+
+#.TYPE_ATTR
+GUID TYPE = FT_GUID DISPLAY = BASE_NONE STRING = NULL BITMASK = 0
+
+#.IMPORT ../x509if/x509if-exp.cnf
+#.IMPORT ../p1/p1-exp.cnf
+
+#.CLASS CONTEXT
+&Type
+&Assertion
+&id ObjectIdentifierType
+#.END
+#.CLASS ATTRIBUTE
+&derivation ClassReference ATTRIBUTE
+&Type
+&equality-match ClassReference MATCHING-RULE
+&ordering-match ClassReference MATCHING-RULE
+&substrings-match ClassReference MATCHING-RULE
+&single-valued BooleanType
+&collective BooleanType
+&no-user-modification BooleanType
+&usage TypeReference AttributeUsage
+&id ObjectIdentifierType
+#.END
+#.CLASS MATCHING-RULE
+&ParentMatchingRules ClassReference MATCHING-RULE
+&AssertionType
+&uniqueMatchIndicator ClassReference ATTRIBUTE
+&id ObjectIdentifierType
+#.END
+#.MODULE_EXPORTS
+CaseIgnoreListMatch
+CountryName
+Criteria
+#DayTime
+DayTimeBand
+DestinationIndicator
+DirectoryString
+EnhancedGuide
+FacsimileTelephoneNumber
+InternationalISDNNumber
+LanguageContextSyntax
+LocaleContextSyntax
+MultipleMatchingLocalities
+NameAndOptionalUID
+NamedDay
+OctetSubstringAssertion
+Period
+PostalAddress
+PreferredDeliveryMethod
+PresentationAddress
+ProtocolInformation
+SubstringAssertion
+TimeAssertion
+TimeSpecification
+TimeZone
+UniqueIdentifier
+X121Address
+XDayOf
+ZonalResult
+ZonalSelect
+
+#.SYNTAX
+BitString
+Boolean
+CaseIgnoreListMatch
+CountryName
+DestinationIndicator
+DirectoryString
+EnhancedGuide
+FacsimileTelephoneNumber
+GUID
+Guide
+InternationalISDNNumber
+Integer
+NameAndOptionalUID
+ObjectIdentifier
+OctetString
+PostalAddress
+PreferredDeliveryMethod
+PresentationAddress
+SyntaxBMPString "BMPString"
+SyntaxGeneralizedTime "GeneralizedTime"
+SyntaxGeneralString "GeneralString"
+SyntaxGraphicString "GraphicString"
+SyntaxIA5String "IA5String"
+SyntaxISO646String "ISO646String"
+SyntaxNumericString "NumericString"
+SyntaxPrintableString "PrintableString"
+SyntaxT61String "T61String"
+SyntaxTeletexString "TeletexString"
+SyntaxUniversalString "UniversalString"
+SyntaxUTF8String "UTF8String"
+SyntaxUTCTime "UTCTime"
+SyntaxVideotexString "VideotexString"
+SyntaxVisibleString "VisibleString"
+TelephoneNumber
+TelexNumber
+UniqueIdentifier
+X121Address
+
+#.REGISTER
+ObjectIdentifier B "2.5.4.0" "id-at-objectClass"
+# - see x509if.cnf for "id-at-aliasedEntryName"
+DirectoryString B "2.5.4.2" "id-at-knowledgeInformation"
+DirectoryString B "2.5.4.3" "id-at-commonName"
+DirectoryString B "2.5.4.4" "id-at-surname"
+SyntaxPrintableString B "2.5.4.5" "id-at-serialNumber"
+CountryName B "2.5.4.6" "id-at-countryName"
+DirectoryString B "2.5.4.7" "id-at-localityName"
+DirectoryString B "2.5.4.7.1" "id-at-collectiveLocalityName"
+DirectoryString B "2.5.4.8" "id-at-stateOrProvinceName"
+DirectoryString B "2.5.4.8.1" "id-at-collectiveStateOrProvinceName"
+DirectoryString B "2.5.4.9" "id-at-streetAddress"
+DirectoryString B "2.5.4.9.1" "id-at-collectiveStreetAddress"
+DirectoryString B "2.5.4.10.1" "id-at-collectiveOrganizationName"
+DirectoryString B "2.5.4.10" "id-at-organizationName"
+DirectoryString B "2.5.4.11" "id-at-organizationalUnitName"
+DirectoryString B "2.5.4.11.1" "id-at-collectiveOrganizationalUnitName"
+DirectoryString B "2.5.4.12" "id-at-title"
+DirectoryString B "2.5.4.13" "id-at-description"
+Guide B "2.5.4.14" "id-at-searchGuide"
+DirectoryString B "2.5.4.15" "id-at-businessCategory"
+PostalAddress B "2.5.4.16" "id-at-postalAddress"
+DirectoryString B "2.5.4.17" "id-at-postalCode"
+DirectoryString B "2.5.4.17.1" "id-at-collectivePostalCode"
+DirectoryString B "2.5.4.18" "id-at-postOfficeBox"
+DirectoryString B "2.5.4.18.1" "id-at-collectivePostOfficeBox"
+DirectoryString B "2.5.4.19" "id-at-physicalDeliveryOfficeName"
+DirectoryString B "2.5.4.19.1" "id-at-collectivePhysicalDeliveryOfficeName"
+TelephoneNumber B "2.5.4.20" "id-at-telephoneNumber"
+TelephoneNumber B "2.5.4.20.1" "id-at-collectiveTelephoneNumber"
+TelexNumber B "2.5.4.21" "id-at-telexNumber"
+TelexNumber B "2.5.4.21.1" "id-at-collectiveTelexNumber"
+# "id-at-teletexTerminalIdentifier" - what syntax?
+FacsimileTelephoneNumber B "2.5.4.23" "id-at-facsimileTelephoneNumber"
+FacsimileTelephoneNumber B "2.5.4.23.1" "id-at-collectiveFacsimileTelephoneNumber"
+X121Address B "2.5.4.24" "id-at-x121Address"
+InternationalISDNNumber B "2.5.4.25" "id-at-internationalISDNNumber"
+InternationalISDNNumber B "2.5.4.25.1" "id-at-collectiveInternationalISDNNumber"
+PostalAddress B "2.5.4.26" "id-at-registeredAddress"
+DestinationIndicator B "2.5.4.27" "id-at-destinationIndicator"
+PreferredDeliveryMethod B "2.5.4.28" "id-at-preferredDeliveryMethod"
+PresentationAddress B "2.5.4.29" "id-at-presentationAddress"
+ObjectIdentifier B "2.5.4.30" "id-at-supportedApplicationContext"
+# "id-at-member" - see x509if.cnf
+# "id-at-owner" - see x509if.cnf
+# "id-at-roleOccupant" - see x509if.cnf
+# "id-at-seeAlso" - see x509if.cnf
+OctetString B "2.5.4.35" "id-at-userPassword"
+# "id-at-userCertificate" - see x509af.cnf
+# "id-at-cACertificate" - see x509af.cnf
+# "id-at-authorityRevocationList" - see x509af.cnf
+# "id-at-certificateRevocationList" - see x509af.cnf
+# "id-at-crossCertificatePair" - see x509af.cnf
+DirectoryString B "2.5.4.41" "id-at-name"
+DirectoryString B "2.5.4.42" "id-at-givenName"
+DirectoryString B "2.5.4.43" "id-at-initials"
+DirectoryString B "2.5.4.44" "id-at-generationQualifier"
+UniqueIdentifier B "2.5.4.45" "id-at-uniqueIdedntifier"
+SyntaxPrintableString B "2.5.4.46" "id-at-dnQualifier"
+EnhancedGuide B "2.5.4.47" "id-at-enhancedSearchGuide"
+ProtocolInformation B "2.5.4.48" "id-at-protocolInformation"
+# 49 "id-at-distinguishedName" - see x509if.cnf
+NameAndOptionalUID B "2.5.4.50" "id-at-uniqueMember"
+DirectoryString B "2.5.4.51" "id-at-houseIdentifier"
+ObjectIdentifier B "2.5.4.52" "id-at-supportedAlgorithms"
+# 53 "id-at-deltaRevocationList" - see x509af.cnf
+DirectoryString B "2.5.4.54" "id-at-dmdName"
+#Clearance B "2.5.4.55" "id-at-clearance"
+ObjectIdentifier B "2.5.4.56" "id-at-defaultDirQop"
+# 57 "id-at-attributeIntegrityInfo" - what syntax?
+# 58 "id-at-attributeCertificate" - see x509af.cnf
+# 59 "id-at-attributeCertificateRevocationLIst" - see x509af.cnf
+# 60 "id-at-confKeyInfo" - what syntax?
+# 61 ? aACertificate(61)
+# 62 ? attributeDescriptorCertificate(62)
+# 63 ? attributeAuthorityRevocationList(63)
+# 64 "id-at-familyInformation" - what syntax?
+DirectoryString B "2.5.4.65" "id-at-pseudonym"
+ObjectIdentifier B "2.5.4.66" "id-at-communuicationsService"
+ObjectIdentifier B "2.5.4.67" "id-at-communuicationsNetwork"
+
+SyntaxNumericString B "2.5.13.8" "id-mr-numericStringMatch"
+CaseIgnoreListMatch B "2.5.13.11" "id-mr-caseIgnoreListMatch"
+BitString B "2.5.13.16" "id-mr-bitStringMatch"
+SyntaxUTCTime B "2.5.13.26" "id-mr-uTCTimeOrderingMatch"
+
+SyntaxGeneralizedTime B "2.5.18.1" "id-oa-createTimeStamp"
+SyntaxGeneralizedTime B "2.5.18.2" "id-oa-modifyTimeStamp"
+ObjectIdentifier B "2.5.18.5" "id-oa-administrativeRole"
+ObjectIdentifier B "2.5.18.7" "id-oa-collectiveExclusions"
+SyntaxGeneralizedTime B "2.5.18.8" "id-oa-subschemaTimeStamp"
+Boolean B "2.5.18.9" "id-oa-hasSubordinates"
+#id-oa-subschemaSubentryList OBJECT IDENTIFIER ::= {id-oa 10}
+#id-oa-accessControlSubentryList OBJECT IDENTIFIER ::= {id-oa 11}
+#id-oa-collectiveAttributeSubentryList OBJECT IDENTIFIER ::= {id-oa 12}
+#id-oa-contextDefaultSubentryList OBJECT IDENTIFIER ::= {id-oa 13}
+#id-oa-contextAssertionDefault OBJECT IDENTIFIER ::= {id-oa 14}
+#id-oa-serviceAdminSubentryList OBJECT IDENTIFIER ::= {id-oa 15}
+#id-oa-searchRules OBJECT IDENTIFIER ::= {id-oa 16}
+#id-oa-hierarchyLevel OBJECT IDENTIFIER ::= {id-oa 17}
+#id-oa-hierarchyBelow OBJECT IDENTIFIER ::= {id-oa 18}
+#id-oa-hierarchyParent OBJECT IDENTIFIER ::= {id-oa 19}
+
+ObjectIdentifier B "2.5.24.1" "id-aca-accessControlScheme"
+
+# X402 - see master list in acp133.cnf
+ObjectIdentifier B "2.6.5.2.8" "id-at-mhs-supported-automatic-actions"
+ObjectIdentifier B "2.6.5.2.10" "id-at-mhs-supported-attributes"
+ObjectIdentifier B "2.6.5.2.11" "id-at-mhs-supported-matching-rules"
+
+# ACP133 - see master list in acp133.cnf
+
+DirectoryString B "2.16.840.1.101.2.2.1.45" "id-at-releaseAuthorityName"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.51" "id-at-cognizantAuthority"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.53" "id-at-accountingCode"
+Boolean B "2.16.840.1.101.2.2.1.54" "id-at-dualRoute"
+SyntaxGeneralizedTime B "2.16.840.1.101.2.2.1.55" "id-at-effectiveDate"
+SyntaxGeneralizedTime B "2.16.840.1.101.2.2.1.57" "id-at-expirationDate"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.58" "id-at-hostOrgACP127"
+SyntaxGeneralizedTime B "2.16.840.1.101.2.2.1.60" "id-at-lastRecapDate"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.62" "id-at-lmf"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.63" "id-at-longTitle"
+Boolean B "2.16.840.1.101.2.2.1.64" "id-at-minimize"
+Boolean B "2.16.840.1.101.2.2.1.65" "id-at-minimizeOverride"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.68" "id-at-nationality"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.68.1" "id-at-collectiveNationality"
+Boolean B "2.16.840.1.101.2.2.1.69" "id-at-transferStation"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.70" "id-at-plaNameACP127"
+Boolean B "2.16.840.1.101.2.2.1.72" "id-at-plaReplace"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.73" "id-at-primarySpellingACP127"
+Boolean B "2.16.840.1.101.2.2.1.74" "id-at-publish"
+SyntaxGeneralizedTime B "2.16.840.1.101.2.2.1.75" "id-at-recapDueDate"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.77" "id-at-rI"
+Boolean B "2.16.840.1.101.2.2.1.81" "id-at-section"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.82" "id-at-serviceOrAgency"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.83" "id-at-sHD"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.84" "id-at-shortTitle"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.85" "id-at-sigad"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.86" "id-at-spot"
+Boolean B "2.16.840.1.101.2.2.1.87" "id-at-tARE"
+TelephoneNumber B "2.16.840.1.101.2.2.1.94" "id-at-aCPMobileTelephoneNumber"
+TelephoneNumber B "2.16.840.1.101.2.2.1.95" "id-at-aCPPagerTelephoneNumber"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.96" "id-at-tCC"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.97" "id-at-tRC"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.106" "id-at-accessCodes"
+SyntaxGraphicString B "2.16.840.1.101.2.2.1.107" "id-at-accessSchema"
+TelephoneNumber B "2.16.840.1.101.2.2.1.109" "id-at-aCPTelephoneFaxNumber"
+ObjectIdentifier B "2.16.840.1.101.2.2.1.115" "id-at-gatewayType"
+ObjectIdentifier B "2.16.840.1.101.2.2.1.116" "id-at-ghpType"
+DirectoryString B "2.16.840.1.101.2.2.1.118" "id-at-mailDomains"
+TelephoneNumber B "2.16.840.1.101.2.2.1.119" "id-at-militaryFacsimileNumber"
+TelephoneNumber B "2.16.840.1.101.2.2.1.119.1" "id-at-collectiveMilitaryFacsimileNumber"
+TelephoneNumber B "2.16.840.1.101.2.2.1.120" "id-at-militaryTelephoneNumber"
+TelephoneNumber B "2.16.840.1.101.2.2.1.120.1" "id-at-collectiveMilitaryTelephoneNumber"
+SyntaxGraphicString B "2.16.840.1.101.2.2.1.122" "id-at-networkSchema"
+DirectoryString B "2.16.840.1.101.2.2.1.124" "id-at-operationName"
+DirectoryString B "2.16.840.1.101.2.2.1.125" "id-at-positionNumber"
+DirectoryString B "2.16.840.1.101.2.2.1.126" "id-at-proprietaryMailboxes"
+TelephoneNumber B "2.16.840.1.101.2.2.1.127" "id-at-secureFacsimileNumber"
+TelephoneNumber B "2.16.840.1.101.2.2.1.127.1" "id-at-collectiveSecureFacsimileNumber"
+TelephoneNumber B "2.16.840.1.101.2.2.1.128" "id-at-secureTelephoneNumber"
+TelephoneNumber B "2.16.840.1.101.2.2.1.128.1" "id-at-collectiveSecureTelephoneNumber"
+DirectoryString B "2.16.840.1.101.2.2.1.129" "id-at-serviceNumber"
+DirectoryString B "2.16.840.1.101.2.2.1.133" "id-at-rank"
+DirectoryString B "2.16.840.1.101.2.2.1.143" "id-at-adminConversion"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.144" "id-at-tCCG"
+DirectoryString B "2.16.840.1.101.2.2.1.145" "id-at-usdConversion"
+DirectoryString B "2.16.840.1.101.2.2.1.158" "id-at-aCPRoleInformation"
+DirectoryString B "2.16.840.1.101.2.2.1.159" "id-at-coalitionGrade"
+TelephoneNumber B "2.16.840.1.101.2.2.1.160" "id-at-militaryIPPhoneNumber"
+ObjectIdentifier B "2.16.840.1.101.2.2.1.161" "id-at-fileTypeInfoCapability"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.172" "id-at-aCPFunctionalDescription"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.173" "id-at-alternatePLAName"
+SyntaxGeneralizedTime B "2.16.840.1.101.2.2.1.174" "id-at-aCPEntryCreationDate"
+SyntaxGeneralizedTime B "2.16.840.1.101.2.2.1.175" "id-at-aCPEntryModificationDate"
+ObjectIdentifier B "2.16.840.1.101.2.2.1.176" "id-at-aCPEntryType"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.177" "id-at-aCPEntryUniqueId"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.178" "id-at-aCPCitizenship"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.179" "id-at-aCPEID"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.180" "id-at-aCPCOI"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.181" "id-at-aCPPublishTo"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.182" "id-at-aCPSvcApps"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.183" "id-at-aCPDirectionsTo"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.185" "id-at-aCPLatitude"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.186" "id-at-aCPLocationMap"
+SyntaxPrintableString B "2.16.840.1.101.2.2.1.187" "id-at-aCPLongitude"
+
+# PKCS#9
+
+SyntaxIA5String B "1.2.840.113549.1.9.1" "pkcs-9-at-emailAddress"
+#PKCS9String B "1.2.840.113549.1.9.2" "pkcs-9-at-unstructuredName" - TBD
+#ContentType B "1.2.840.113549.1.9.3" "pkcs-9-at-contentType" - see cms.cnf
+#MessageDigest B "1.2.840.113549.1.9.4" "pkcs-9-at-messageDigest" - see cms.cnf
+#SigningTime B "1.2.840.113549.1.9.5" "pkcs-9-at-signingTime" - see cms.cnf
+#Countersignature B "1.2.840.113549.1.9.6" "pkcs-9-at-counterSignature" - see cms.cnf
+DirectoryString B "1.2.840.113549.1.9.7" "pkcs-9-at-challengePassword"
+DirectoryString B "1.2.840.113549.1.9.8" "pkcs-9-at-unstructuredAddress"
+#SETOFAttribute B "1.2.840.113549.1.9.9" "pkcs-9-at-extendedCertificateAttributes" - TBD
+DirectoryString B "1.2.840.113549.1.9.13" "pkcs-9-at-signingDescription"
+#ExtensionRequest B "1.2.840.113549.1.9.14" "pkcs-9-at-extensionRequest" - TBD
+#SMIMECapabiliaties B "1.2.840.113549.1.9.15" "pkcs-9-at-smimeCapabilities" - TBD
+SyntaxBMPString B "1.2.840.113549.1.9.20" "pkcs-9-at-friendlyName"
+OctetString B "1.2.840.113549.1.9.21" "pkcs-9-at-localKeyId"
+#PKCS15Token B "1.2.840.113549.1.9.25.1" "pkcs-9-at-pkcs15Token" - TBD
+#EncryptedPrivateKeyInfo B "1.2.840.113549.1.9.25.2" "pkcs-9-at-encryptedPrivateKeyInfo" - see pkcs12.cnf
+OctetString B "1.2.840.113549.1.9.25.3" "pkcs-9-at-randomNonce" # move to PKCS#9 when defined
+Integer B "1.2.840.113549.1.9.25.4" "pkcs-9-at-sequenceNumber" # move to PKCS#9 when defined
+#ContentInfo B "1.2.840.113549.1.9.25.5" "pkcs-9-at-pkcs7PDU" - TBD - not the same as CMS ContentInfo
+
+SyntaxGeneralizedTime B "1.3.6.1.5.5.7.9.1" "pkcs-9-at-dateOfBirth"
+DirectoryString B "1.3.6.1.5.5.7.9.2" "pkcs-9-at-placeOfBirth"
+SyntaxPrintableString B "1.3.6.1.5.5.7.9.3" "pkcs-9-at-gender"
+SyntaxPrintableString B "1.3.6.1.5.5.7.9.4" "pkcs-9-at-countryOfCitizenship"
+SyntaxPrintableString B "1.3.6.1.5.5.7.9.5" "pkcs-9-at-countryOfResidence"
+
+# RFC 2247
+SyntaxIA5String B "0.9.2342.19200300.100.1.25" "dc"
+
+# RFC 2798 - The LDAP inetOrgPerson Object Class
+DirectoryString B "2.16.840.1.113730.3.1.1" "carLicense"
+DirectoryString B "2.16.840.1.113730.3.1.2" "departmentNumber"
+DirectoryString B "2.16.840.1.113730.3.1.3" "employeeNumber"
+DirectoryString B "2.16.840.1.113730.3.1.4" "employeeType"
+#JPEG B "0.9.2342.19200300.100.1.60" "jpegPhoto" - see packet-jpeg.c
+DirectoryString B "2.16.840.1.113730.3.1.39" "preferredLanguage"
+#SignedData B "2.16.840.1.113730.3.1.40" "userSMIMECertificate" - see cms.cnf
+#PFX B "2.16.840.1.113730.3.1.216" "pkcs-9-at-PKCS12" - see pkcs12.cnf
+DirectoryString B "2.16.840.1.113730.3.1.241" "displayName"
+
+# Microsoft-specific
+# GeneralName other-name
+SyntaxBMPString B "1.3.6.1.4.1.311.20.2" "id-ms-certificate-template-name"
+SyntaxUTF8String B "1.3.6.1.4.1.311.20.2.3" "id-ms-user-principal-name"
+SyntaxBMPString B "1.3.6.1.4.1.311.17.1" "id-ms-local-machine-keyset"
+Integer B "1.3.6.1.4.1.311.21.1" "id-ms-ca-version"
+OctetString B "1.3.6.1.4.1.311.21.2" "id-ms-previous-cert-hash"
+Integer B "1.3.6.1.4.1.311.21.3" "id-ms-virtual-base"
+SyntaxUTCTime B "1.3.6.1.4.1.311.21.4" "id-ms-next-publish"
+
+# unknown X.420 PerRecipientExtensionField
+Integer B "1.2.826.0.1063.7.0.0.0" "unknown-UK-organisation-defined-extension"
+
+# NEXOR Originating UA
+SyntaxIA5String B "1.2.826.0.1004.10.1.1" "nexor-originating-ua"
+
+# X.420 Message Store Attributes - see p22.cnf
+Boolean B "2.6.1.6.3" "id-sat-ipm-auto-discarded"
+
+# RFC 4530
+GUID B "1.3.6.1.1.16.4" "entryUUID"
+
+# Guidelines for Extended Validation Certificates (http://www.cabforum.org/EV_Certificate_Guidelines_draft11.pdf)
+DirectoryString B "1.3.6.1.4.1.311.60.2.1.1" "jurisdictionOfIncorporationLocalityName"
+DirectoryString B "1.3.6.1.4.1.311.60.2.1.2" "jurisdictionOfIncorporationStateOrProvinceName"
+CountryName B "1.3.6.1.4.1.311.60.2.1.3" "jurisdictionOfIncorporationCountryName"
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+OctetSubstringAssertion/_item/any any_substring
+OctetSubstringAssertion/_item/final finall_substring
+OctetSubstringAssertion/_item/initial initial_substring
+XDayOf/first first_dayof
+XDayOf/second second_dayof
+XDayOf/third third_dayof
+XDayOf/fourth fourth_dayof
+XDayOf/fifth fifth_dayof
+
+#.END
+
+#.FN_BODY SyntaxUTCTime
+ char *outstr, *newstr;
+ guint32 tvblen;
+
+ /* the 2-digit year can only be in the range 1950..2049 https://tools.ietf.org/html/rfc5280#section-4.1.2.5.1 */
+ offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index, &outstr, &tvblen);
+ if (hf_index >= 0 && outstr) {
+ newstr = wmem_strconcat(actx->pinfo->pool, outstr[0] < '5' ? "20": "19", outstr, NULL);
+ proto_tree_add_string(tree, hf_index, tvb, offset - tvblen, tvblen, newstr);
+ }
+
+#.FN_BODY GUID
+ gint8 ber_class;
+ bool pc;
+ gint32 tag;
+ guint32 len;
+ e_guid_t uuid;
+
+ if(!implicit_tag){
+ offset=dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
+ offset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, NULL);
+ } else {
+ gint32 remaining=tvb_reported_length_remaining(tvb, offset);
+ len=remaining>0 ? remaining : 0;
+ }
+
+ tvb_get_ntohguid (tvb, offset, &uuid);
+ actx->created_item = proto_tree_add_guid(tree, hf_index, tvb, offset, len, &uuid);
+#.END
+
+#.TYPE_ATTR
+DirectoryString/teletexString DISPLAY = BASE_NONE
+
+#.TYPE_ATTR
+SyntaxTeletexString DISPLAY = BASE_NONE
+
+#.TYPE_ATTR
+SyntaxT61String DISPLAY = BASE_NONE
+
+#.TYPE_ATTR
+SyntaxVideotexString DISPLAY = BASE_NONE
+
+#.END
+
+
diff --git a/epan/dissectors/asn1/x721/Attribute-ASN1Module.asn b/epan/dissectors/asn1/x721/Attribute-ASN1Module.asn
new file mode 100644
index 00000000..e4c0b5ad
--- /dev/null
+++ b/epan/dissectors/asn1/x721/Attribute-ASN1Module.asn
@@ -0,0 +1,533 @@
+-- Module Attribute-ASN1Module (X.721:02/1992)
+Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2) asn1Module(2) 1}
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+--EXPORTS everything
+IMPORTS
+ CMIP-ATTRIBUTE, AttributeSet, DistinguishedName, CMISFilter, Attribute,
+ BaseManagedObjectId, AttributeId, ObjectInstance, ObjectClass, EventTypeId
+ FROM CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)}
+ AE-title
+ FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0)
+ version1(1)};
+
+-- Note that the syntax of AE-title to be used is from CCITT Rec. X.227 | ISO 8650 corrigendum and
+-- not "ANY".
+smi2AttributeID OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t ms(9) smi(3) part2(2) attribute(7)}
+
+smi2AttributeGroup OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t ms(9) smi(3) part2(2) attributeGroup(8)}
+
+DMI-TYPE-IDENTIFIER ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+-- as2wrs fault fix:
+DMI-EXTENSION::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+-- as2wrs fault fix:
+DMI-SERVICEUSER ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+
+-- as2wrs fault fix:
+DMI-SUPPORTEDFEATURES ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Value
+}WITH SYNTAX {TYPE &Value
+ ID &id
+}
+
+-- The value assignments for the probable cause used in CCITT Rec. X.733 | ISO/IEC 10164-4 are specified
+-- below.
+-- These are specified in accordance with the corrigendum to ASN.1 ISO/IEC JTC1/SC21 N5901
+arfProbableCause OBJECT IDENTIFIER ::=
+ {joint-iso-ccitt ms(9) smi(3) part2(2) standardSpecificExtension(0) arf(0)}
+
+adapterError ProbableCause ::= globalValue:{arfProbableCause 1}
+
+applicationSubsystemFailure ProbableCause ::= globalValue:{arfProbableCause 2}
+
+bandwidthReduced ProbableCause ::= globalValue:{arfProbableCause 3}
+
+callEstablishmentError ProbableCause ::= globalValue:{arfProbableCause 4}
+
+communicationsProtocolError ProbableCause ::= globalValue:{arfProbableCause 5}
+
+communicationsSubsystemFailure ProbableCause ::=
+ globalValue:{arfProbableCause 6}
+
+configurationOrCustomizationError ProbableCause ::=
+ globalValue:{arfProbableCause 7}
+
+congestion ProbableCause ::= globalValue:{arfProbableCause 8}
+
+corruptData ProbableCause ::= globalValue:{arfProbableCause 9}
+
+cpuCyclesLimitExceeded ProbableCause ::= globalValue:{arfProbableCause 10}
+
+dataSetOrModemError ProbableCause ::= globalValue:{arfProbableCause 11}
+
+degradedSignal ProbableCause ::= globalValue:{arfProbableCause 12}
+
+dTE-DCEInterfaceError ProbableCause ::= globalValue:{arfProbableCause 13}
+
+enclosureDoorOpen ProbableCause ::= globalValue:{arfProbableCause 14}
+
+equipmentMalfunction ProbableCause ::= globalValue:{arfProbableCause 15}
+
+excessiveVibration ProbableCause ::= globalValue:{arfProbableCause 16}
+
+fileError ProbableCause ::= globalValue:{arfProbableCause 17}
+
+fireDetected ProbableCause ::= globalValue:{arfProbableCause 18}
+
+floodDetected ProbableCause ::= globalValue:{arfProbableCause 19}
+
+framingError ProbableCause ::= globalValue:{arfProbableCause 20}
+
+heatingOrVentilationOrCoolingSystemProblem ProbableCause ::=
+ globalValue:{arfProbableCause 21}
+
+humidityUnacceptable ProbableCause ::= globalValue:{arfProbableCause 22}
+
+inputOutputDeviceError ProbableCause ::= globalValue:{arfProbableCause 23}
+
+inputDeviceError ProbableCause ::= globalValue:{arfProbableCause 24}
+
+lANError ProbableCause ::= globalValue:{arfProbableCause 25}
+
+leakDetected ProbableCause ::= globalValue:{arfProbableCause 26}
+
+localNodeTransmissionError ProbableCause ::= globalValue:{arfProbableCause 27}
+
+lossOfFrame ProbableCause ::= globalValue:{arfProbableCause 28}
+
+lossOfSignal ProbableCause ::= globalValue:{arfProbableCause 29}
+
+materialSupplyExhausted ProbableCause ::= globalValue:{arfProbableCause 30}
+
+multiplexerProblem ProbableCause ::= globalValue:{arfProbableCause 31}
+
+outOfMemory ProbableCause ::= globalValue:{arfProbableCause 32}
+
+ouputDeviceError ProbableCause ::= globalValue:{arfProbableCause 33}
+
+performanceDegraded ProbableCause ::= globalValue:{arfProbableCause 34}
+
+powerProblem ProbableCause ::= globalValue:{arfProbableCause 35}
+
+pressureUnacceptable ProbableCause ::= globalValue:{arfProbableCause 36}
+
+processorProblem ProbableCause ::= globalValue:{arfProbableCause 37}
+
+pumpFailure ProbableCause ::= globalValue:{arfProbableCause 38}
+
+queueSizeExceeded ProbableCause ::= globalValue:{arfProbableCause 39}
+
+receiveFailure ProbableCause ::= globalValue:{arfProbableCause 40}
+
+receiverFailure ProbableCause ::= globalValue:{arfProbableCause 41}
+
+remoteNodeTransmissionError ProbableCause ::= globalValue:{arfProbableCause 42}
+
+resourceAtOrNearingCapacity ProbableCause ::= globalValue:{arfProbableCause 43}
+
+responseTimeExcessive ProbableCause ::= globalValue:{arfProbableCause 44}
+
+retransmissionRateExcessive ProbableCause ::= globalValue:{arfProbableCause 45}
+
+softwareError ProbableCause ::= globalValue:{arfProbableCause 46}
+
+softwareProgramAbnormallyTerminated ProbableCause ::=
+ globalValue:{arfProbableCause 47}
+
+softwareProgramError ProbableCause ::= globalValue:{arfProbableCause 48}
+
+storageCapacityProblem ProbableCause ::= globalValue:{arfProbableCause 49}
+
+temperatureUnacceptable ProbableCause ::= globalValue:{arfProbableCause 50}
+
+thresholdCrossed ProbableCause ::= globalValue:{arfProbableCause 51}
+
+timingProblem ProbableCause ::= globalValue:{arfProbableCause 52}
+
+toxicLeakDetected ProbableCause ::= globalValue:{arfProbableCause 53}
+
+transmitFailure ProbableCause ::= globalValue:{arfProbableCause 54}
+
+transmitterFailure ProbableCause ::= globalValue:{arfProbableCause 55}
+
+underlyingResourceUnavailable ProbableCause ::=
+ globalValue:{arfProbableCause 56}
+
+versionMismatch ProbableCause ::= globalValue:{arfProbableCause 57}
+
+-- The following applies to CCITT applications only.
+-- The use of the following values is subject to 8.1.2.12 of The Alarm Management Function
+-- (CCITT Recommendation X.733 | 10164-4).
+arfProposedRepairAction OBJECT IDENTIFIER ::=
+ {joint-iso-ccitt ms(9) smi(3) part2(2) standardSpecificExtension(0) arfpra(2)}
+
+noActionRequired OBJECT IDENTIFIER ::= {arfProposedRepairAction 1}
+
+repairActionRequired OBJECT IDENTIFIER ::= {arfProposedRepairAction 2}
+
+-- The value assignments for the security alarm cause used in CCITT Rec. X.736 | ISO/IEC 10164-7 are
+-- specified below.
+securityAlarmCause OBJECT IDENTIFIER ::=
+ {joint-iso-ccitt ms(9) smi(3) part2(2) standardSpecificExtension(0) sarf(1)}
+
+authenticationFailure SecurityAlarmCause ::= {securityAlarmCause 1}
+
+breachOfConfidentiality SecurityAlarmCause ::= {securityAlarmCause 2}
+
+cableTamper SecurityAlarmCause ::= {securityAlarmCause 3}
+
+delayedInformation SecurityAlarmCause ::= {securityAlarmCause 4}
+
+denialOfService SecurityAlarmCause ::= {securityAlarmCause 5}
+
+duplicateInformation SecurityAlarmCause ::= {securityAlarmCause 6}
+
+informationMissing SecurityAlarmCause ::= {securityAlarmCause 7}
+
+informationModificationDetected SecurityAlarmCause ::= {securityAlarmCause 8}
+
+informationOutOfSequence SecurityAlarmCause ::= {securityAlarmCause 9}
+
+intrusionDetection SecurityAlarmCause ::= {securityAlarmCause 10}
+
+keyExpired SecurityAlarmCause ::= {securityAlarmCause 11}
+
+nonRepudiationFailure SecurityAlarmCause ::= {securityAlarmCause 12}
+
+outOfHoursActivity SecurityAlarmCause ::= {securityAlarmCause 13}
+
+outOfService SecurityAlarmCause ::= {securityAlarmCause 14}
+
+proceduralError SecurityAlarmCause ::= {securityAlarmCause 15}
+
+unauthorizedAccessAttempt SecurityAlarmCause ::= {securityAlarmCause 16}
+
+unexpectedInformation SecurityAlarmCause ::= {securityAlarmCause 17}
+
+unspecifiedReason SecurityAlarmCause ::= {securityAlarmCause 18}
+
+-- default value definitions
+-- asn2wrs Problem omit this assignment
+--defaultIntervalsOfDay IntervalsOfDay ::= {
+-- {intervalStart {hour 0, minute 0},
+-- intervalEnd {hour 23, minute 59}}
+--}
+
+--defaultStopTime StopTime ::= continual:NULL
+
+--defaultWeekMask WeekMask ::= {
+-- {daysOfWeek '1111111'B,
+-- intervalsOfDay defaultIntervalsOfDay}
+--}
+
+defaultDiscriminatorConstruct DiscriminatorConstruct ::= and:{}
+
+-- supporting productions
+ActiveDestination ::=
+ Destination(WITH COMPONENTS {
+ single PRESENT,
+ multiple ABSENT
+ })
+
+AdditionalText ::= GraphicString
+
+AdditionalInformation ::= SET OF ManagementExtension
+
+Allomorphs ::= SET OF ObjectClass
+
+AdministrativeState ::= ENUMERATED {locked(0), unlocked(1), shuttingDown(2)}
+
+AttributeIdentifierList ::= SET OF AttributeId
+
+AttributeList ::= SET OF Attribute
+
+AttributeValueChangeDefinition ::=
+ SET OF
+ SEQUENCE {attributeId CMIP-ATTRIBUTE.&id({AttributeSet}),
+ oldAttributeValue
+ [1] CMIP-ATTRIBUTE.&Value({AttributeSet}{@.attributeId})
+ OPTIONAL,
+ newAttributeValue
+ [2] CMIP-ATTRIBUTE.&Value({AttributeSet}{@.attributeId})
+ }
+
+AlarmStatus ::=
+ SET OF
+ INTEGER {underRepair(0), critical(1), major(2), minor(3),
+ alarmOutstanding(4)}
+
+AvailabilityStatus ::=
+ SET OF
+ INTEGER {inTest(0), failed(1), powerOff(2), offLine(3), offDuty(4),
+ dependency(5), degraded(6), notInstalled(7), logFull(8)}
+
+-- logFull is defined in CCITT Rec X.735 | ISO/IEC 10164-6.
+BackedUpStatus ::= BOOLEAN
+
+-- True implies backed up
+-- False implies not backed up
+BackUpDestinationList ::= SEQUENCE OF AE-title
+
+BackUpRelationshipObject ::= CHOICE {
+ objectName ObjectInstance,
+ noObject NULL
+}
+
+CapacityAlarmThreshold ::= SET OF INTEGER(0..100)
+
+ConfirmedMode ::= BOOLEAN
+
+-- True implies the mode for event report is confirmed
+ControlStatus ::=
+ SET OF
+ INTEGER {subjectToTest(0), partOfServicesLocked(1), reservedForTest(2),
+ suspended(3)}
+
+-- Count ::= INTEGER
+
+CounterThreshold ::=
+ SET OF
+ SEQUENCE {comparisonLevel INTEGER,
+ offsetValue INTEGER,
+ notificationOnOff BOOLEAN}
+
+CorrelatedNotifications ::=
+ SET OF
+ SEQUENCE {correlatedNotifications SET OF NotificationIdentifier,
+ sourceObjectInst ObjectInstance OPTIONAL}
+
+CurrentLogSize ::= INTEGER
+
+Destination ::= CHOICE {single AE-title,
+ multiple SET OF AE-title
+}
+
+-- Note that the syntax of AE-title to be used is from CCITT X.227 | ISO 8650 Technical
+-- corrigendum 1 and not "ANY".
+DiscriminatorConstruct ::=
+ CMISFilter
+
+EventTime ::= GeneralizedTime
+
+GaugeThreshold ::=
+ SET OF SEQUENCE {notifyLow NotifyThreshold,
+ notifyHigh NotifyThreshold}
+
+GaugeThresholdValue ::= ObservedValue
+
+-- same choice must be chosen within a sequence
+-- for both GenericOldState and GenericNewState.
+GroupObjects ::= SET OF ObjectInstance
+
+IntervalsOfDay ::=
+ SET OF
+ SEQUENCE {intervalStart Time24, -- start at the beginning of this minute
+ intervalEnd Time24} -- stop at the end of this minute
+
+LifecycleState ::= ENUMERATED {planned(0), installed(1), pendingRemoval(2)}
+
+LogAvailability ::= AvailabilityStatus(WITH COMPONENT (logFull | offDuty))
+
+LogFullAction ::= ENUMERATED {wrap(0), halt(1)}
+
+LoggingTime ::= GeneralizedTime
+
+LogRecordId ::=
+ SimpleNameType(WITH COMPONENTS {
+ number PRESENT,
+ string ABSENT
+ })
+
+MaxLogSize ::= INTEGER {unlimited(0)} -- size in octets
+
+-- as2wrs fault fix:
+--DMI-EXTENSION ::= DMI-TYPE-IDENTIFIER
+
+ManagementExtension ::= SEQUENCE {
+ identifier DMI-EXTENSION.&id({ManagementExtensionSet}),
+ significance [1] BOOLEAN DEFAULT FALSE,
+ information
+ [2] DMI-EXTENSION.&Value({ManagementExtensionSet}{@.identifier})
+}
+
+ManagementExtensionSet DMI-EXTENSION ::=
+ {...}
+
+MonitoredAttributes ::= SET OF Attribute
+
+NameBinding ::= OBJECT IDENTIFIER
+
+NotificationIdentifier ::= INTEGER -- reuse only when no requirement exists
+
+-- for correlating prior notification.
+NotifyThreshold ::= SEQUENCE {threshold ObservedValue,
+ notifyOnOff BOOLEAN
+}
+
+NumberOfRecords ::= INTEGER
+
+ObservedValue ::= CHOICE {integer INTEGER,
+ real REAL
+}
+
+OperationalState ::= ENUMERATED {disabled(0), enabled(1)}
+
+Packages ::= SET OF OBJECT IDENTIFIER
+
+PerceivedSeverity ::= ENUMERATED {
+ indeterminate(0),
+ -- used when it is not possible to assign the following values
+ critical(1), major(2), minor(3), warning(4), cleared(5)}
+
+PrioritisedObject ::=
+ SET OF
+ SEQUENCE {object ObjectInstance,
+ priority INTEGER {highest(0), lowest(127)}}
+
+ProbableCause ::= CHOICE {globalValue OBJECT IDENTIFIER,
+ localValue INTEGER
+}
+
+-- The values for the probable cause defined in CCITT Rec X.733 | ISO/IEC 10164-4 are specified
+-- above.
+ProceduralStatus ::=
+ SET OF
+ INTEGER {initializationRequired(0), notInitialized(1), initializing(2),
+ reporting(3), terminating(4)}
+
+ProposedRepairActions ::= SET OF SpecificIdentifier
+
+SchedulingAvailability ::= AvailabilityStatus(WITH COMPONENT (offDuty))
+
+SecurityAlarmCause ::= OBJECT IDENTIFIER
+
+SecurityAlarmSeverity ::=
+ PerceivedSeverity(indeterminate | critical | major | minor | warning)
+
+SecurityAlarmDetector ::= CHOICE {
+ mechanism [0] OBJECT IDENTIFIER,
+ object [1] ObjectInstance,
+ application [2] AE-title
+}
+
+ServiceProvider ::= ServiceUser
+
+-- DMI-SERVICEUSER ::= DMI-TYPE-IDENTIFIER
+
+ServiceUser ::= SEQUENCE {
+ identifier DMI-SERVICEUSER.&id({ServiceUserSet}),
+ details DMI-SERVICEUSER.&Value({ServiceUserSet}{@.identifier})
+}
+
+ServiceUserSet DMI-SERVICEUSER ::=
+ {...}
+
+SimpleNameType ::= CHOICE {number INTEGER,
+ string GraphicString
+}
+
+SpecificIdentifier ::= CHOICE {oi OBJECT IDENTIFIER,
+ int INTEGER
+}
+
+SourceIndicator ::= ENUMERATED {
+ resourceOperation(0), managementOperation(1), unknown(2)}
+
+SpecificProblems ::= SET OF SpecificIdentifier
+
+StandbyStatus ::= INTEGER {hotStandby(0), coldStandby(1), providingService(2)}
+
+StartTime ::= GeneralizedTime
+
+StopTime ::= CHOICE {specific GeneralizedTime,
+ continual NULL
+}
+
+-- DMI-SUPPORTEDFEATURES ::= DMI-TYPE-IDENTIFIER
+
+SupportedFeatures ::=
+ SET OF
+ SEQUENCE {featureIdentifier
+ DMI-SUPPORTEDFEATURES.&id({SupportedFeaturesSet}),
+ featureInfo
+ DMI-SUPPORTEDFEATURES.&Value
+ ({SupportedFeaturesSet}{@.featureIdentifier})}
+
+SupportedFeaturesSet DMI-SUPPORTEDFEATURES ::=
+ {...}
+
+SystemId ::= CHOICE {name GraphicString,
+ number INTEGER,
+ nothing NULL
+}
+
+SystemTitle ::= CHOICE {
+ distinguishedName DistinguishedName,
+ oid OBJECT IDENTIFIER,
+ nothing NULL
+}
+
+TideMarkInfo ::= SEQUENCE {
+ currentTideMark TideMark,
+ previousTideMark TideMark,
+ resetTime GeneralizedTime
+}
+
+TideMark ::= CHOICE {
+ maxTideMar [0] ObservedValue,
+ minTideMark [1] ObservedValue
+}
+
+Time24 ::= SEQUENCE {hour INTEGER(0..23),
+ minute INTEGER(0..59)
+}
+
+ThresholdInfo ::= SEQUENCE {
+ triggeredThreshold AttributeId,
+ observedValue ObservedValue,
+ thresholdLevel [1] ThresholdLevelInd OPTIONAL,
+ -- Indication needed for multilevel thresholds
+ armTime [2] GeneralizedTime OPTIONAL
+}
+
+ThresholdLevelInd ::= CHOICE {
+ up [1] SEQUENCE {high ObservedValue,
+ low ObservedValue OPTIONAL}, -- up is the only permitted choice for counter
+ down [2] SEQUENCE {high ObservedValue,
+ low ObservedValue}
+}
+
+TrendIndication ::= ENUMERATED {lessSevere(0), noChange(1), moreSevere(2)}
+
+UnknownStatus ::= BOOLEAN -- TRUE implies unknown status
+
+UnscheduledLogAvailability ::= AvailabilityStatus(WITH COMPONENT (logFull))
+
+UsageState ::= ENUMERATED {idle(0), active(1), busy(2)}
+
+WeekMask ::=
+ SET OF
+ SEQUENCE {daysOfWeek
+ BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3),
+ thursday(4), friday(5), saturday(6)}(SIZE (7)),
+ intervalsOfDay IntervalsOfDay}
+
+END -- end of supporting productions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/x721/CMakeLists.txt b/epan/dissectors/asn1/x721/CMakeLists.txt
new file mode 100644
index 00000000..69f90c25
--- /dev/null
+++ b/epan/dissectors/asn1/x721/CMakeLists.txt
@@ -0,0 +1,38 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME dummy )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ Attribute-ASN1Module.asn
+ ManagedObjectClassesDefinitions.asn
+ Notification-ASN1Module.asn
+ Parameter-ASN1Module.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/x721/ManagedObjectClassesDefinitions.asn b/epan/dissectors/asn1/x721/ManagedObjectClassesDefinitions.asn
new file mode 100644
index 00000000..579234ad
--- /dev/null
+++ b/epan/dissectors/asn1/x721/ManagedObjectClassesDefinitions.asn
@@ -0,0 +1,19 @@
+-- Module ManagedObjectClassesDefinitions (X.721:02/1992)
+ManagedObjectClassesDefinitions {joint-iso-itu-t ms(9) smi(3) part2(2)
+ asn1Module(2) 0} DEFINITIONS ::=
+BEGIN
+
+--EXPORTS everything
+smi2MObjectClass OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t ms(9) smi(3) part2(2) managedObjectClass(3)}
+
+smi2NameBinding OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t ms(9) smi(3) part2(2) nameBinding(6)}
+
+smi2Package OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t ms(9) smi(3) part2(2) package(4)}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/x721/Notification-ASN1Module.asn b/epan/dissectors/asn1/x721/Notification-ASN1Module.asn
new file mode 100644
index 00000000..53314ba6
--- /dev/null
+++ b/epan/dissectors/asn1/x721/Notification-ASN1Module.asn
@@ -0,0 +1,99 @@
+-- Module Notification-ASN1Module (X.721:02/1992)
+Notification-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2) asn1Module(2) 2}
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+IMPORTS
+ ProbableCause, SpecificProblems, PerceivedSeverity, BackedUpStatus,
+ TrendIndication, ThresholdInfo, NotificationIdentifier,
+ CorrelatedNotifications, MonitoredAttributes, ProposedRepairActions,
+ AdditionalText, AdditionalInformation, SecurityAlarmCause,
+ SecurityAlarmSeverity, SecurityAlarmDetector,
+ AttributeValueChangeDefinition, SourceIndicator, AttributeIdentifierList,
+ AttributeList, ServiceUser, ServiceProvider
+ FROM Attribute-ASN1Module
+ ObjectClass, AttributeId, ObjectInstance
+ FROM CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)};
+
+--EXPORTS everything
+smi2Notification OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t ms(9) smi(3) part2(2) notification(10)}
+
+AlarmInfo ::= SEQUENCE {
+ probableCause ProbableCause,
+ specificProblems [1] SpecificProblems OPTIONAL,
+ perceivedSeverity PerceivedSeverity,
+ backedUpStatus BackedUpStatus OPTIONAL,
+ backUpObject [2] ObjectInstance OPTIONAL,
+ trendIndication [3] TrendIndication OPTIONAL,
+ thresholdInfo [4] ThresholdInfo OPTIONAL,
+ notificationIdentifier [5] NotificationIdentifier OPTIONAL,
+ correlatedNotifications [6] CorrelatedNotifications OPTIONAL,
+ stateChangeDefinition [7] AttributeValueChangeDefinition OPTIONAL,
+ monitoredAttributes [8] MonitoredAttributes OPTIONAL,
+ proposedRepairActions [9] ProposedRepairActions OPTIONAL,
+ additionalText AdditionalText OPTIONAL,
+ additionalInformation [10] AdditionalInformation OPTIONAL
+}
+
+-- backUpObject attribute backedUpStatus backUpObject backUpObject attribute
+-- (except in log record component component in log record
+--==============================================================================================================================
+-- ObjectInstance T ObjectInstance ObjectInstance
+-- NULL F < absent > < absent >
+-- < absent > < absent > < absent > < absent >
+AttributeValueChangeInfo ::= SEQUENCE {
+ sourceIndicator SourceIndicator OPTIONAL,
+ attributeIdentifierList [1] AttributeIdentifierList OPTIONAL,
+ attributeValueChangeDefinition AttributeValueChangeDefinition,
+ notificationIdentifier NotificationIdentifier OPTIONAL,
+ correlatedNotifications [2] CorrelatedNotifications OPTIONAL,
+ additionalText AdditionalText OPTIONAL,
+ additionalInformation [3] AdditionalInformation OPTIONAL
+}
+
+ObjectInfo ::= SEQUENCE {
+ sourceIndicator SourceIndicator OPTIONAL,
+ attributeList AttributeList OPTIONAL,
+ notificationIdentifier NotificationIdentifier OPTIONAL,
+ correlatedNotifications [1] CorrelatedNotifications OPTIONAL,
+ additionalText AdditionalText OPTIONAL,
+ additionalInformation [2] AdditionalInformation OPTIONAL
+}
+
+RelationshipChangeInfo ::= SEQUENCE {
+ sourceIndicator SourceIndicator OPTIONAL,
+ attributeIdentifierList [1] AttributeIdentifierList OPTIONAL,
+ relationshipChangeDefinition AttributeValueChangeDefinition,
+ notificationIdentifier NotificationIdentifier OPTIONAL,
+ correlatedNotifications [2] CorrelatedNotifications OPTIONAL,
+ additionalText AdditionalText OPTIONAL,
+ additionalInformation [3] AdditionalInformation OPTIONAL
+}
+
+StateChangeInfo ::= SEQUENCE {
+ sourceIndicator SourceIndicator OPTIONAL,
+ attributeIdentifierList [1] AttributeIdentifierList OPTIONAL,
+ stateChangeDefinition AttributeValueChangeDefinition,
+ notificationIdentifier NotificationIdentifier OPTIONAL,
+ correlatedNotifications [2] CorrelatedNotifications OPTIONAL,
+ additionalText AdditionalText OPTIONAL,
+ additionalInformation [3] AdditionalInformation OPTIONAL
+}
+
+SecurityAlarmInfo ::= SEQUENCE {
+ securityAlarmCause SecurityAlarmCause,
+ securityAlarmSeverity SecurityAlarmSeverity,
+ securityAlarmDetector SecurityAlarmDetector,
+ serviceUser ServiceUser,
+ serviceProvider ServiceProvider,
+ notificationIdentifier NotificationIdentifier OPTIONAL,
+ correlatedNotifications [1] CorrelatedNotifications OPTIONAL,
+ additionalText AdditionalText OPTIONAL,
+ additionalInformation [2] AdditionalInformation OPTIONAL
+}
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/x721/Parameter-ASN1Module.asn b/epan/dissectors/asn1/x721/Parameter-ASN1Module.asn
new file mode 100644
index 00000000..e034941c
--- /dev/null
+++ b/epan/dissectors/asn1/x721/Parameter-ASN1Module.asn
@@ -0,0 +1,14 @@
+-- Module Parameter-ASN1Module (X.721:02/1992)
+Parameter-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2) asn1Module(2) 3}
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+smi2Parameter OBJECT IDENTIFIER ::=
+ {joint-iso-itu-t ms(9) smi(3) part2(2) parameter(5)}
+
+MiscellaneousError ::= NULL
+
+END
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/epan/dissectors/asn1/xnap/CMakeLists.txt b/epan/dissectors/asn1/xnap/CMakeLists.txt
new file mode 100644
index 00000000..1da11410
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME xnap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ XnAP-CommonDataTypes.asn
+ XnAP-Constants.asn
+ XnAP-Containers.asn
+ XnAP-IEs.asn
+ XnAP-PDU-Contents.asn
+ XnAP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ packet-${PROTOCOL_NAME}-template.h
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/xnap/XnAP-CommonDataTypes.asn b/epan/dissectors/asn1/xnap/XnAP-CommonDataTypes.asn
new file mode 100644
index 00000000..84fc1ec4
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-CommonDataTypes.asn
@@ -0,0 +1,50 @@
+-- 3GPP TS 38.423 V17.5.0 (2023-06)
+-- 9.3.6 Common definitions
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+XnAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0.. maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-Constants.asn b/epan/dissectors/asn1/xnap/XnAP-Constants.asn
new file mode 100644
index 00000000..27da94af
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-Constants.asn
@@ -0,0 +1,580 @@
+-- 3GPP TS 38.423 V17.5.0 (2023-06)
+-- 9.3.7 Constant definitions
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+XnAP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-Access (22) modules (3) xnap (2) version1 (1) xnap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM XnAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-handoverPreparation ProcedureCode ::= 0
+id-sNStatusTransfer ProcedureCode ::= 1
+id-handoverCancel ProcedureCode ::= 2
+id-retrieveUEContext ProcedureCode ::= 3
+id-rANPaging ProcedureCode ::= 4
+id-xnUAddressIndication ProcedureCode ::= 5
+id-uEContextRelease ProcedureCode ::= 6
+id-sNGRANnodeAdditionPreparation ProcedureCode ::= 7
+id-sNGRANnodeReconfigurationCompletion ProcedureCode ::= 8
+id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation ProcedureCode ::= 9
+id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation ProcedureCode ::= 10
+id-mNGRANnodeinitiatedSNGRANnodeRelease ProcedureCode ::= 11
+id-sNGRANnodeinitiatedSNGRANnodeRelease ProcedureCode ::= 12
+id-sNGRANnodeCounterCheck ProcedureCode ::= 13
+id-sNGRANnodeChange ProcedureCode ::= 14
+id-rRCTransfer ProcedureCode ::= 15
+id-xnRemoval ProcedureCode ::= 16
+id-xnSetup ProcedureCode ::= 17
+id-nGRANnodeConfigurationUpdate ProcedureCode ::= 18
+id-cellActivation ProcedureCode ::= 19
+id-reset ProcedureCode ::= 20
+id-errorIndication ProcedureCode ::= 21
+id-privateMessage ProcedureCode ::= 22
+id-notificationControl ProcedureCode ::= 23
+id-activityNotification ProcedureCode ::= 24
+id-e-UTRA-NR-CellResourceCoordination ProcedureCode ::= 25
+id-secondaryRATDataUsageReport ProcedureCode ::= 26
+id-deactivateTrace ProcedureCode ::= 27
+id-traceStart ProcedureCode ::= 28
+id-handoverSuccess ProcedureCode ::= 29
+id-conditionalHandoverCancel ProcedureCode ::= 30
+id-earlyStatusTransfer ProcedureCode ::= 31
+id-failureIndication ProcedureCode ::= 32
+id-handoverReport ProcedureCode ::= 33
+id-resourceStatusReportingInitiation ProcedureCode ::= 34
+id-resourceStatusReporting ProcedureCode ::= 35
+id-mobilitySettingsChange ProcedureCode ::= 36
+id-accessAndMobilityIndication ProcedureCode ::= 37
+id-cellTrafficTrace ProcedureCode ::= 38
+id-RANMulticastGroupPaging ProcedureCode ::= 39
+id-scgFailureInformationReport ProcedureCode ::= 40
+id-ProcedureCode41-NotToBeUsed ProcedureCode ::= 41
+id-scgFailureTransfer ProcedureCode ::= 42
+id-f1CTrafficTransfer ProcedureCode ::= 43
+id-iABTransportMigrationManagement ProcedureCode ::= 44
+id-iABTransportMigrationModification ProcedureCode ::= 45
+id-iABResourceCoordination ProcedureCode ::= 46
+id-retrieveUEContextConfirm ProcedureCode ::= 47
+id-cPCCancel ProcedureCode ::= 48
+id-partialUEContextTransfer ProcedureCode ::= 49
+
+
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxEARFCN INTEGER ::= 262143
+maxnoofAllowedAreas INTEGER ::= 16
+maxnoofAMFRegions INTEGER ::= 16
+maxnoofAoIs INTEGER ::= 64
+maxnoofBluetoothName INTEGER ::= 4
+maxnoofBPLMNs INTEGER ::= 12
+maxnoofCAGs INTEGER ::= 12
+maxnoofCAGsperPLMN INTEGER ::= 256
+maxnoofCellIDforMDT INTEGER ::= 32
+maxnoofCellsinAoI INTEGER ::= 256
+maxnoofCellsinUEHistoryInfo INTEGER ::= 16
+maxnoofCellsinNG-RANnode INTEGER ::= 16384
+maxnoofCellsinRNA INTEGER ::= 32
+maxnoofCellsUEMovingTrajectory INTEGER ::= 16
+maxnoofDRBs INTEGER ::= 32
+maxnoofEUTRABands INTEGER ::= 16
+maxnoofEUTRABPLMNs INTEGER ::= 6
+maxnoofEPLMNs INTEGER ::= 15
+maxnoofExtSliceItems INTEGER ::= 65535
+maxnoofEPLMNsplus1 INTEGER ::= 16
+maxnoofForbiddenTACs INTEGER ::= 4096
+maxnoofFreqforMDT INTEGER ::= 8
+maxnoofMBSFNEUTRA INTEGER ::= 8
+maxnoofMDTPLMNs INTEGER ::= 16
+maxnoofMultiConnectivityMinusOne INTEGER ::= 3
+maxnoofNeighbours INTEGER ::= 1024
+maxnoofNeighPCIforMDT INTEGER ::= 32
+maxnoofNIDs INTEGER ::= 12
+maxnoofNRCellBands INTEGER ::= 32
+maxnoofPLMNs INTEGER ::= 16
+maxnoofPDUSessions INTEGER ::= 256
+maxnoofProtectedResourcePatterns INTEGER ::= 16
+maxnoofQoSFlows INTEGER ::= 64
+maxnoofQoSParaSets INTEGER ::= 8
+maxnoofRANAreaCodes INTEGER ::= 32
+maxnoofRANAreasinRNA INTEGER ::= 16
+maxnoofRANNodesinAoI INTEGER ::= 64
+maxnoofSCellGroups INTEGER ::= 3
+maxnoofSCellGroupsplus1 INTEGER ::= 4
+maxnoofSensorName INTEGER ::= 3
+maxnoofSliceItems INTEGER ::= 1024
+maxnoofSNPNIDs INTEGER ::= 12
+maxnoofsupportedPLMNs INTEGER ::= 12
+maxnoofsupportedTACs INTEGER ::= 256
+maxnoofTAforMDT INTEGER ::= 8
+maxnoofTAI INTEGER ::= 16
+maxnoofTAIsinAoI INTEGER ::= 16
+maxnooftimeperiods INTEGER ::= 2
+maxnoofTNLAssociations INTEGER ::= 32
+maxnoofUEContexts INTEGER ::= 8192
+maxNRARFCN INTEGER ::= 3279165
+maxNrOfErrors INTEGER ::= 256
+maxnoofslots INTEGER ::= 5120
+maxnoofExtTLAs INTEGER ::= 16
+maxnoofGTPTLAs INTEGER ::= 16
+maxnoofCHOcells INTEGER ::= 8
+maxnoofPC5QoSFlows INTEGER ::= 2064
+maxnoofSSBAreas INTEGER ::= 64
+maxnoofRACHReports INTEGER ::= 64
+maxnoofNRSCSs INTEGER ::= 5
+maxnoofPhysicalResourceBlocks INTEGER ::= 275
+maxnoofAdditionalPDCPDuplicationTNL INTEGER ::= 2
+maxnoofRLCDuplicationstate INTEGER ::= 3
+maxnoofWLANName INTEGER ::= 4
+maxnoofNonAnchorCarrierFreqConfig INTEGER ::= 15
+maxnoofDataForwardingTunneltoE-UTRAN INTEGER ::= 256
+maxnoofMBSFSAs INTEGER ::= 256
+maxnoofUEIDIndicesforMBSPaging INTEGER ::= 4096
+maxnoofMBSQoSFlows INTEGER ::= 64
+maxnoofMRBs INTEGER ::= 32
+maxnoofCellsforMBS INTEGER ::= 8192
+maxnoofMBSServiceAreaInformation INTEGER ::= 256
+maxnoofTAIforMBS INTEGER ::= 1024
+maxnoofAssociatedMBSSessions INTEGER ::= 32
+maxnoofMBSSessions INTEGER ::= 256
+maxnoofSuccessfulHOReports INTEGER ::= 64
+maxnoofPSCellsPerSN INTEGER ::= 8
+maxnoofNR-UChannelIDs INTEGER ::= 16
+maxnoofCellsinCHO INTEGER ::= 8
+maxnoofCHOexecutioncond INTEGER ::= 2
+maxnoofServedCellsIAB INTEGER ::= 512
+maxnoofServingCells INTEGER ::= 32
+maxnoofBHInfo INTEGER ::= 1024
+maxnoofTrafficIndexEntries INTEGER ::= 1024
+maxnoofTLAsIAB INTEGER ::= 1024
+maxnoofBAPControlPDURLCCHs INTEGER ::= 2
+maxnoofIABSTCInfo INTEGER ::= 45
+maxnoofSymbols INTEGER ::= 14
+maxnoofDUFSlots INTEGER ::= 320
+maxnoofHSNASlots INTEGER ::= 5120
+maxnoofRBsetsPerCell INTEGER ::= 8
+maxnoofRBsetsPerCell1 INTEGER ::= 7
+maxnoofChildIABNodes INTEGER ::= 1024
+maxnoofPSCellCandidates INTEGER ::= 8
+maxnoofTargetSNs INTEGER ::= 8
+maxnoofUEAppLayerMeas INTEGER ::= 16
+maxnoofSNSSAIforQMC INTEGER ::= 16
+maxnoofCellIDforQMC INTEGER ::= 32
+maxnoofPLMNforQMC INTEGER ::= 16
+maxnoofTAforQMC INTEGER ::= 8
+maxnoofMTCItems INTEGER ::= 16
+maxnoofCSIRSconfigurations INTEGER ::= 96
+maxnoofCSIRSneighbourCells INTEGER ::= 16
+maxnoofCSIRSneighbourCellsInMTC INTEGER ::= 16
+maxnoofNeighbour-NG-RAN-Nodes INTEGER ::= 256
+maxnoofSRBs INTEGER ::= 5
+maxnoofSMBR INTEGER ::= 8
+maxnoofNSAGs INTEGER ::= 256
+maxnoofTargetSNsMinusOne INTEGER ::= 7
+maxnoofThresholdsForExcessPacketDelay INTEGER ::= 255
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-ActivatedServedCells ProtocolIE-ID ::= 0
+id-ActivationIDforCellActivation ProtocolIE-ID ::= 1
+id-admittedSplitSRB ProtocolIE-ID ::= 2
+id-admittedSplitSRBrelease ProtocolIE-ID ::= 3
+id-AMF-Region-Information ProtocolIE-ID ::= 4
+id-AssistanceDataForRANPaging ProtocolIE-ID ::= 5
+id-BearersSubjectToCounterCheck ProtocolIE-ID ::= 6
+id-Cause ProtocolIE-ID ::= 7
+id-cellAssistanceInfo-NR ProtocolIE-ID ::= 8
+id-ConfigurationUpdateInitiatingNodeChoice ProtocolIE-ID ::= 9
+id-CriticalityDiagnostics ProtocolIE-ID ::= 10
+id-XnUAddressInfoperPDUSession-List ProtocolIE-ID ::= 11
+id-DRBsSubjectToStatusTransfer-List ProtocolIE-ID ::= 12
+id-ExpectedUEBehaviour ProtocolIE-ID ::= 13
+id-GlobalNG-RAN-node-ID ProtocolIE-ID ::= 14
+id-GUAMI ProtocolIE-ID ::= 15
+id-indexToRatFrequSelectionPriority ProtocolIE-ID ::= 16
+id-initiatingNodeType-ResourceCoordRequest ProtocolIE-ID ::= 17
+id-List-of-served-cells-E-UTRA ProtocolIE-ID ::= 18
+id-List-of-served-cells-NR ProtocolIE-ID ::= 19
+id-LocationReportingInformation ProtocolIE-ID ::= 20
+id-MAC-I ProtocolIE-ID ::= 21
+id-MaskedIMEISV ProtocolIE-ID ::= 22
+id-M-NG-RANnodeUEXnAPID ProtocolIE-ID ::= 23
+id-MN-to-SN-Container ProtocolIE-ID ::= 24
+id-MobilityRestrictionList ProtocolIE-ID ::= 25
+id-new-NG-RAN-Cell-Identity ProtocolIE-ID ::= 26
+id-newNG-RANnodeUEXnAPID ProtocolIE-ID ::= 27
+id-UEReportRRCTransfer ProtocolIE-ID ::= 28
+id-oldNG-RANnodeUEXnAPID ProtocolIE-ID ::= 29
+id-OldtoNewNG-RANnodeResumeContainer ProtocolIE-ID ::= 30
+id-PagingDRX ProtocolIE-ID ::= 31
+id-PCellID ProtocolIE-ID ::= 32
+id-PDCPChangeIndication ProtocolIE-ID ::= 33
+id-PDUSessionAdmittedAddedAddReqAck ProtocolIE-ID ::= 34
+id-PDUSessionAdmittedModSNModConfirm ProtocolIE-ID ::= 35
+id-PDUSessionAdmitted-SNModResponse ProtocolIE-ID ::= 36
+id-PDUSessionNotAdmittedAddReqAck ProtocolIE-ID ::= 37
+id-PDUSessionNotAdmitted-SNModResponse ProtocolIE-ID ::= 38
+id-PDUSessionReleasedList-RelConf ProtocolIE-ID ::= 39
+id-PDUSessionReleasedSNModConfirm ProtocolIE-ID ::= 40
+id-PDUSessionResourcesActivityNotifyList ProtocolIE-ID ::= 41
+id-PDUSessionResourcesAdmitted-List ProtocolIE-ID ::= 42
+id-PDUSessionResourcesNotAdmitted-List ProtocolIE-ID ::= 43
+id-PDUSessionResourcesNotifyList ProtocolIE-ID ::= 44
+id-PDUSession-SNChangeConfirm-List ProtocolIE-ID ::= 45
+id-PDUSession-SNChangeRequired-List ProtocolIE-ID ::= 46
+id-PDUSessionToBeAddedAddReq ProtocolIE-ID ::= 47
+id-PDUSessionToBeModifiedSNModRequired ProtocolIE-ID ::= 48
+id-PDUSessionToBeReleasedList-RelRqd ProtocolIE-ID ::= 49
+id-PDUSessionToBeReleased-RelReq ProtocolIE-ID ::= 50
+id-PDUSessionToBeReleasedSNModRequired ProtocolIE-ID ::= 51
+id-RANPagingArea ProtocolIE-ID ::= 52
+id-PagingPriority ProtocolIE-ID ::= 53
+id-requestedSplitSRB ProtocolIE-ID ::= 54
+id-requestedSplitSRBrelease ProtocolIE-ID ::= 55
+id-ResetRequestTypeInfo ProtocolIE-ID ::= 56
+id-ResetResponseTypeInfo ProtocolIE-ID ::= 57
+id-RespondingNodeTypeConfigUpdateAck ProtocolIE-ID ::= 58
+id-respondingNodeType-ResourceCoordResponse ProtocolIE-ID ::= 59
+id-ResponseInfo-ReconfCompl ProtocolIE-ID ::= 60
+id-RRCConfigIndication ProtocolIE-ID ::= 61
+id-RRCResumeCause ProtocolIE-ID ::= 62
+id-SCGConfigurationQuery ProtocolIE-ID ::= 63
+id-selectedPLMN ProtocolIE-ID ::= 64
+id-ServedCellsToActivate ProtocolIE-ID ::= 65
+id-servedCellsToUpdate-E-UTRA ProtocolIE-ID ::= 66
+id-ServedCellsToUpdateInitiatingNodeChoice ProtocolIE-ID ::= 67
+id-servedCellsToUpdate-NR ProtocolIE-ID ::= 68
+id-s-ng-RANnode-SecurityKey ProtocolIE-ID ::= 69
+id-S-NG-RANnodeUE-AMBR ProtocolIE-ID ::= 70
+id-S-NG-RANnodeUEXnAPID ProtocolIE-ID ::= 71
+id-SN-to-MN-Container ProtocolIE-ID ::= 72
+id-sourceNG-RANnodeUEXnAPID ProtocolIE-ID ::= 73
+id-SplitSRB-RRCTransfer ProtocolIE-ID ::= 74
+id-TAISupport-list ProtocolIE-ID ::= 75
+id-TimeToWait ProtocolIE-ID ::= 76
+id-Target2SourceNG-RANnodeTranspContainer ProtocolIE-ID ::= 77
+id-targetCellGlobalID ProtocolIE-ID ::= 78
+id-targetNG-RANnodeUEXnAPID ProtocolIE-ID ::= 79
+id-target-S-NG-RANnodeID ProtocolIE-ID ::= 80
+id-TraceActivation ProtocolIE-ID ::= 81
+id-UEContextID ProtocolIE-ID ::= 82
+id-UEContextInfoHORequest ProtocolIE-ID ::= 83
+id-UEContextInfoRetrUECtxtResp ProtocolIE-ID ::= 84
+id-UEContextInfo-SNModRequest ProtocolIE-ID ::= 85
+id-UEContextKeptIndicator ProtocolIE-ID ::= 86
+id-UEContextRefAtSN-HORequest ProtocolIE-ID ::= 87
+id-UEHistoryInformation ProtocolIE-ID ::= 88
+id-UEIdentityIndexValue ProtocolIE-ID ::= 89
+id-UERANPagingIdentity ProtocolIE-ID ::= 90
+id-UESecurityCapabilities ProtocolIE-ID ::= 91
+id-UserPlaneTrafficActivityReport ProtocolIE-ID ::= 92
+id-XnRemovalThreshold ProtocolIE-ID ::= 93
+id-DesiredActNotificationLevel ProtocolIE-ID ::= 94
+id-AvailableDRBIDs ProtocolIE-ID ::= 95
+id-AdditionalDRBIDs ProtocolIE-ID ::= 96
+id-SpareDRBIDs ProtocolIE-ID ::= 97
+id-RequiredNumberOfDRBIDs ProtocolIE-ID ::= 98
+id-TNLA-To-Add-List ProtocolIE-ID ::= 99
+id-TNLA-To-Update-List ProtocolIE-ID ::= 100
+id-TNLA-To-Remove-List ProtocolIE-ID ::= 101
+id-TNLA-Setup-List ProtocolIE-ID ::= 102
+id-TNLA-Failed-To-Setup-List ProtocolIE-ID ::= 103
+id-PDUSessionToBeReleased-RelReqAck ProtocolIE-ID ::= 104
+id-S-NG-RANnodeMaxIPDataRate-UL ProtocolIE-ID ::= 105
+-- WS extension
+id-Unknown-106 ProtocolIE-ID ::= 106
+id-PDUSessionResourceSecondaryRATUsageList ProtocolIE-ID ::= 107
+id-Additional-UL-NG-U-TNLatUPF-List ProtocolIE-ID ::= 108
+id-SecondarydataForwardingInfoFromTarget-List ProtocolIE-ID ::= 109
+id-LocationInformationSNReporting ProtocolIE-ID ::= 110
+id-LocationInformationSN ProtocolIE-ID ::= 111
+id-LastE-UTRANPLMNIdentity ProtocolIE-ID ::= 112
+id-S-NG-RANnodeMaxIPDataRate-DL ProtocolIE-ID ::= 113
+id-MaxIPrate-DL ProtocolIE-ID ::= 114
+id-SecurityResult ProtocolIE-ID ::= 115
+id-S-NSSAI ProtocolIE-ID ::= 116
+id-MR-DC-ResourceCoordinationInfo ProtocolIE-ID ::= 117
+id-AMF-Region-Information-To-Add ProtocolIE-ID ::= 118
+id-AMF-Region-Information-To-Delete ProtocolIE-ID ::= 119
+id-OldQoSFlowMap-ULendmarkerexpected ProtocolIE-ID ::= 120
+id-RANPagingFailure ProtocolIE-ID ::= 121
+id-UERadioCapabilityForPaging ProtocolIE-ID ::= 122
+id-PDUSessionDataForwarding-SNModResponse ProtocolIE-ID ::= 123
+id-DRBsNotAdmittedSetupModifyList ProtocolIE-ID ::= 124
+id-Secondary-MN-Xn-U-TNLInfoatM ProtocolIE-ID ::= 125
+id-NE-DC-TDM-Pattern ProtocolIE-ID ::= 126
+id-PDUSessionCommonNetworkInstance ProtocolIE-ID ::= 127
+id-BPLMN-ID-Info-EUTRA ProtocolIE-ID ::= 128
+id-BPLMN-ID-Info-NR ProtocolIE-ID ::= 129
+id-InterfaceInstanceIndication ProtocolIE-ID ::= 130
+id-S-NG-RANnode-Addition-Trigger-Ind ProtocolIE-ID ::= 131
+id-DefaultDRB-Allowed ProtocolIE-ID ::= 132
+id-DRB-IDs-takenintouse ProtocolIE-ID ::= 133
+id-SplitSessionIndicator ProtocolIE-ID ::= 134
+id-CNTypeRestrictionsForEquivalent ProtocolIE-ID ::= 135
+id-CNTypeRestrictionsForServing ProtocolIE-ID ::= 136
+id-DRBs-transferred-to-MN ProtocolIE-ID ::= 137
+id-ULForwardingProposal ProtocolIE-ID ::= 138
+id-EndpointIPAddressAndPort ProtocolIE-ID ::= 139
+id-IntendedTDD-DL-ULConfiguration-NR ProtocolIE-ID ::= 140
+id-TNLConfigurationInfo ProtocolIE-ID ::= 141
+id-PartialListIndicator-NR ProtocolIE-ID ::= 142
+id-MessageOversizeNotification ProtocolIE-ID ::= 143
+id-CellAndCapacityAssistanceInfo-NR ProtocolIE-ID ::= 144
+id-NG-RANTraceID ProtocolIE-ID ::= 145
+id-NonGBRResources-Offered ProtocolIE-ID ::= 146
+id-FastMCGRecoveryRRCTransfer-SN-to-MN ProtocolIE-ID ::= 147
+id-RequestedFastMCGRecoveryViaSRB3 ProtocolIE-ID ::= 148
+id-AvailableFastMCGRecoveryViaSRB3 ProtocolIE-ID ::= 149
+id-RequestedFastMCGRecoveryViaSRB3Release ProtocolIE-ID ::= 150
+id-ReleaseFastMCGRecoveryViaSRB3 ProtocolIE-ID ::= 151
+id-FastMCGRecoveryRRCTransfer-MN-to-SN ProtocolIE-ID ::= 152
+id-ExtendedRATRestrictionInformation ProtocolIE-ID ::= 153
+id-QoSMonitoringRequest ProtocolIE-ID ::= 154
+id-FiveGCMobilityRestrictionListContainer ProtocolIE-ID ::= 155
+id-PartialListIndicator-EUTRA ProtocolIE-ID ::= 156
+id-CellAndCapacityAssistanceInfo-EUTRA ProtocolIE-ID ::= 157
+id-CHOinformation-Req ProtocolIE-ID ::= 158
+id-CHOinformation-Ack ProtocolIE-ID ::= 159
+id-targetCellsToCancel ProtocolIE-ID ::= 160
+id-requestedTargetCellGlobalID ProtocolIE-ID ::= 161
+id-procedureStage ProtocolIE-ID ::= 162
+id-DAPSRequestInfo ProtocolIE-ID ::= 163
+id-DAPSResponseInfo-List ProtocolIE-ID ::= 164
+id-CHO-MRDC-Indicator ProtocolIE-ID ::= 165
+id-OffsetOfNbiotChannelNumberToDL-EARFCN ProtocolIE-ID ::= 166
+id-OffsetOfNbiotChannelNumberToUL-EARFCN ProtocolIE-ID ::= 167
+id-NBIoT-UL-DL-AlignmentOffset ProtocolIE-ID ::= 168
+id-LTEV2XServicesAuthorized ProtocolIE-ID ::= 169
+id-NRV2XServicesAuthorized ProtocolIE-ID ::= 170
+id-LTEUESidelinkAggregateMaximumBitRate ProtocolIE-ID ::= 171
+id-NRUESidelinkAggregateMaximumBitRate ProtocolIE-ID ::= 172
+id-PC5QoSParameters ProtocolIE-ID ::= 173
+id-AlternativeQoSParaSetList ProtocolIE-ID ::= 174
+id-CurrentQoSParaSetIndex ProtocolIE-ID ::= 175
+id-MobilityInformation ProtocolIE-ID ::= 176
+id-InitiatingCondition-FailureIndication ProtocolIE-ID ::= 177
+id-UEHistoryInformationFromTheUE ProtocolIE-ID ::= 178
+id-HandoverReportType ProtocolIE-ID ::= 179
+id-HandoverCause ProtocolIE-ID ::= 180
+id-SourceCellCGI ProtocolIE-ID ::= 181
+id-TargetCellCGI ProtocolIE-ID ::= 182
+id-ReEstablishmentCellCGI ProtocolIE-ID ::= 183
+id-TargetCellinEUTRAN ProtocolIE-ID ::= 184
+id-SourceCellCRNTI ProtocolIE-ID ::= 185
+id-UERLFReportContainer ProtocolIE-ID ::= 186
+id-NGRAN-Node1-Measurement-ID ProtocolIE-ID ::= 187
+id-NGRAN-Node2-Measurement-ID ProtocolIE-ID ::= 188
+id-RegistrationRequest ProtocolIE-ID ::= 189
+id-ReportCharacteristics ProtocolIE-ID ::= 190
+id-CellToReport ProtocolIE-ID ::= 191
+id-ReportingPeriodicity ProtocolIE-ID ::= 192
+id-CellMeasurementResult ProtocolIE-ID ::= 193
+id-NG-RANnode1CellID ProtocolIE-ID ::= 194
+id-NG-RANnode2CellID ProtocolIE-ID ::= 195
+id-NG-RANnode1MobilityParameters ProtocolIE-ID ::= 196
+id-NG-RANnode2ProposedMobilityParameters ProtocolIE-ID ::= 197
+id-MobilityParametersModificationRange ProtocolIE-ID ::= 198
+id-TDDULDLConfigurationCommonNR ProtocolIE-ID ::= 199
+id-CarrierList ProtocolIE-ID ::= 200
+id-ULCarrierList ProtocolIE-ID ::= 201
+id-FrequencyShift7p5khz ProtocolIE-ID ::= 202
+id-SSB-PositionsInBurst ProtocolIE-ID ::= 203
+id-NRCellPRACHConfig ProtocolIE-ID ::= 204
+id-RACHReportInformation ProtocolIE-ID ::= 205
+id-IABNodeIndication ProtocolIE-ID ::= 206
+id-Redundant-UL-NG-U-TNLatUPF ProtocolIE-ID ::= 207
+id-CNPacketDelayBudgetDownlink ProtocolIE-ID ::= 208
+id-CNPacketDelayBudgetUplink ProtocolIE-ID ::= 209
+id-Additional-Redundant-UL-NG-U-TNLatUPF-List ProtocolIE-ID ::= 210
+id-RedundantCommonNetworkInstance ProtocolIE-ID ::= 211
+id-TSCTrafficCharacteristics ProtocolIE-ID ::= 212
+id-RedundantQoSFlowIndicator ProtocolIE-ID ::= 213
+id-Redundant-DL-NG-U-TNLatNG-RAN ProtocolIE-ID ::= 214
+id-ExtendedPacketDelayBudget ProtocolIE-ID ::= 215
+id-Additional-PDCP-Duplication-TNL-List ProtocolIE-ID ::= 216
+id-RedundantPDUSessionInformation ProtocolIE-ID ::= 217
+id-UsedRSNInformation ProtocolIE-ID ::= 218
+id-RLCDuplicationInformation ProtocolIE-ID ::= 219
+id-NPN-Broadcast-Information ProtocolIE-ID ::= 220
+id-NPNPagingAssistanceInformation ProtocolIE-ID ::= 221
+id-NPNMobilityInformation ProtocolIE-ID ::= 222
+id-NPN-Support ProtocolIE-ID ::= 223
+id-MDT-Configuration ProtocolIE-ID ::= 224
+id-MDTPLMNList ProtocolIE-ID ::= 225
+id-TraceCollectionEntityURI ProtocolIE-ID ::= 226
+id-UERadioCapabilityID ProtocolIE-ID ::= 227
+id-CSI-RSTransmissionIndication ProtocolIE-ID ::= 228
+id-SNTriggered ProtocolIE-ID ::= 229
+id-DLCarrierList ProtocolIE-ID ::= 230
+id-ExtendedTAISliceSupportList ProtocolIE-ID ::= 231
+id-cellAssistanceInfo-EUTRA ProtocolIE-ID ::= 232
+id-ConfiguredTACIndication ProtocolIE-ID ::= 233
+id-secondary-SN-UL-PDCP-UP-TNLInfo ProtocolIE-ID ::= 234
+id-pdcpDuplicationConfiguration ProtocolIE-ID ::= 235
+id-duplicationActivation ProtocolIE-ID ::= 236
+id-NPRACHConfiguration ProtocolIE-ID ::= 237
+id-QosMonitoringReportingFrequency ProtocolIE-ID ::= 238
+id-QoSFlowsMappedtoDRB-SetupResponse-MNterminated ProtocolIE-ID ::= 239
+id-DL-scheduling-PDCCH-CCE-usage ProtocolIE-ID ::= 240
+id-UL-scheduling-PDCCH-CCE-usage ProtocolIE-ID ::= 241
+id-SFN-Offset ProtocolIE-ID ::= 242
+id-QoSMonitoringDisabled ProtocolIE-ID ::= 243
+id-ExtendedUEIdentityIndexValue ProtocolIE-ID ::= 244
+id-EUTRAPagingeDRXInformation ProtocolIE-ID ::= 245
+id-CHO-MRDC-EarlyDataForwarding ProtocolIE-ID ::= 246
+id-SCGIndicator ProtocolIE-ID ::= 247
+id-UESpecificDRX ProtocolIE-ID ::= 248
+id-PDUSessionExpectedUEActivityBehaviour ProtocolIE-ID ::= 249
+id-QoS-Mapping-Information ProtocolIE-ID ::= 250
+id-AdditionLocationInformation ProtocolIE-ID ::= 251
+id-dataForwardingInfoFromTargetE-UTRANnode ProtocolIE-ID ::= 252
+id-DirectForwardingPathAvailability ProtocolIE-ID ::= 253
+id-SourceNG-RAN-node-ID ProtocolIE-ID ::= 254
+id-SourceDLForwardingIPAddress ProtocolIE-ID ::= 255
+id-SourceNodeDLForwardingIPAddress ProtocolIE-ID ::= 256
+id-ExtendedReportIntervalMDT ProtocolIE-ID ::= 257
+id-SecurityIndication ProtocolIE-ID ::= 258
+id-RRCConnReestab-Indicator ProtocolIE-ID ::= 259
+id-TargetNodeID ProtocolIE-ID ::= 260
+id-ManagementBasedMDTPLMNList ProtocolIE-ID ::= 261
+id-PrivacyIndicator ProtocolIE-ID ::= 262
+id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 263
+id-M4ReportAmount ProtocolIE-ID ::= 264
+id-M5ReportAmount ProtocolIE-ID ::= 265
+id-M6ReportAmount ProtocolIE-ID ::= 266
+id-M7ReportAmount ProtocolIE-ID ::= 267
+id-BeamMeasurementIndicationM1 ProtocolIE-ID ::= 268
+id-MBS-Session-ID ProtocolIE-ID ::= 269
+id-UEIdentityIndexList-MBSGroupPaging ProtocolIE-ID ::= 270
+id-MulticastRANPagingArea ProtocolIE-ID ::= 271
+id-Supported-MBS-FSA-ID-List ProtocolIE-ID ::= 272
+id-MBS-SessionInformation-List ProtocolIE-ID ::= 273
+id-MBS-SessionInformationResponse-List ProtocolIE-ID ::= 274
+id-MBS-SessionAssociatedInformation ProtocolIE-ID ::= 275
+id-SuccessfulHOReportInformation ProtocolIE-ID ::= 276
+id-SliceRadioResourceStatus-List ProtocolIE-ID ::= 277
+id-CompositeAvailableCapacitySupplementaryUplink ProtocolIE-ID ::= 278
+id-SCGUEHistoryInformation ProtocolIE-ID ::= 279
+id-SSBOffsets-List ProtocolIE-ID ::= 280
+id-NG-RANnode2SSBOffsetModificationRange ProtocolIE-ID ::= 281
+id-Coverage-Modification-List ProtocolIE-ID ::= 282
+id-NR-U-Channel-List ProtocolIE-ID ::= 283
+id-SourcePSCellCGI ProtocolIE-ID ::= 284
+id-FailedPSCellCGI ProtocolIE-ID ::= 285
+id-SCGFailureReportContainer ProtocolIE-ID ::= 286
+id-SNMobilityInformation ProtocolIE-ID ::= 287
+id-SourcePSCellID ProtocolIE-ID ::= 288
+id-SuitablePSCellCGI ProtocolIE-ID ::= 289
+id-PSCellChangeHistory ProtocolIE-ID ::= 290
+id-CHOConfiguration ProtocolIE-ID ::= 291
+id-NR-U-ChannelInfo-List ProtocolIE-ID ::= 292
+id-PSCellHistoryInformationRetrieve ProtocolIE-ID ::= 293
+id-NG-RANnode2SSBOffsetsModificationRange ProtocolIE-ID ::= 294
+id-MIMOPRBusageInformation ProtocolIE-ID ::= 295
+id-F1CTrafficContainer ProtocolIE-ID ::= 296
+id-IAB-MT-Cell-List ProtocolIE-ID ::= 297
+id-NoPDUSessionIndication ProtocolIE-ID ::= 298
+id-IAB-TNL-Address-Request ProtocolIE-ID ::= 299
+id-IAB-TNL-Address-Response ProtocolIE-ID ::= 300
+id-TrafficToBeAddedList ProtocolIE-ID ::= 301
+id-TrafficToBeModifiedList ProtocolIE-ID ::= 302
+id-TrafficToBeReleaseInformation ProtocolIE-ID ::= 303
+id-TrafficAddedList ProtocolIE-ID ::= 304
+id-TrafficModifiedList ProtocolIE-ID ::= 305
+id-TrafficNotAddedList ProtocolIE-ID ::= 306
+id-TrafficNotModifiedList ProtocolIE-ID ::= 307
+id-TrafficRequiredToBeModifiedList ProtocolIE-ID ::= 308
+id-TrafficRequiredModifiedList ProtocolIE-ID ::= 309
+id-TrafficReleasedList ProtocolIE-ID ::= 310
+id-IABTNLAddressToBeAdded ProtocolIE-ID ::= 311
+id-IABTNLAddressToBeReleasedList ProtocolIE-ID ::= 312
+id-nonF1-Terminating-IAB-DonorUEXnAPID ProtocolIE-ID ::= 313
+id-F1-Terminating-IAB-DonorUEXnAPID ProtocolIE-ID ::= 314
+id-BoundaryNodeCellsList ProtocolIE-ID ::= 315
+id-ParentNodeCellsList ProtocolIE-ID ::= 316
+id-tdd-GNB-DU-Cell-Resource-Configuration ProtocolIE-ID ::= 317
+id-UL-GNB-DU-Cell-Resource-Configuration ProtocolIE-ID ::= 318
+id-DL-GNB-DU-Cell-Resource-Configuration ProtocolIE-ID ::= 319
+id-permutation ProtocolIE-ID ::= 320
+id-IABTNLAddressException ProtocolIE-ID ::= 321
+id-CHOinformation-AddReq ProtocolIE-ID ::= 322
+id-CHOinformation-ModReq ProtocolIE-ID ::= 323
+id-SurvivalTime ProtocolIE-ID ::= 324
+id-TimeSynchronizationAssistanceInformation ProtocolIE-ID ::= 325
+id-SCGActivationRequest ProtocolIE-ID ::= 326
+id-SCGActivationStatus ProtocolIE-ID ::= 327
+id-CPAInformationRequest ProtocolIE-ID ::= 328
+id-CPAInformationAck ProtocolIE-ID ::= 329
+id-CPCInformationRequired ProtocolIE-ID ::= 330
+id-CPCInformationConfirm ProtocolIE-ID ::= 331
+id-CPAInformationModReq ProtocolIE-ID ::= 332
+id-CPAInformationModReqAck ProtocolIE-ID ::= 333
+id-CPC-DataForwarding-Indicator ProtocolIE-ID ::= 334
+id-CPCInformationUpdate ProtocolIE-ID ::= 335
+id-CPACInformationModRequired ProtocolIE-ID ::= 336
+id-QMCConfigInfo ProtocolIE-ID ::= 337
+id-ProtocolIE-ID338-NotToBeUsed ProtocolIE-ID ::= 338
+id-Additional-Measurement-Timing-Configuration-List ProtocolIE-ID ::= 339
+id-PDUSession-PairID ProtocolIE-ID ::= 340
+id-Local-NG-RAN-Node-Identifier ProtocolIE-ID ::= 341
+id-Neighbour-NG-RAN-Node-List ProtocolIE-ID ::= 342
+id-Local-NG-RAN-Node-Identifier-Removal ProtocolIE-ID ::= 343
+id-FiveGProSeAuthorized ProtocolIE-ID ::= 344
+id-FiveGProSePC5QoSParameters ProtocolIE-ID ::= 345
+id-FiveGProSeUEPC5AggregateMaximumBitRate ProtocolIE-ID ::= 346
+id-ServedCellSpecificInfoReq-NR ProtocolIE-ID ::= 347
+id-NRPagingeDRXInformation ProtocolIE-ID ::= 348
+id-NRPagingeDRXInformationforRRCINACTIVE ProtocolIE-ID ::= 349
+id-Redcap-Bcast-Information ProtocolIE-ID ::= 350
+id-SDTSupportRequest ProtocolIE-ID ::= 351
+id-SDT-SRB-between-NewNode-OldNode ProtocolIE-ID ::= 352
+id-SDT-Termination-Request ProtocolIE-ID ::= 353
+id-SDTPartialUEContextInfo ProtocolIE-ID ::= 354
+id-SDTDataForwardingDRBList ProtocolIE-ID ::= 355
+id-PagingCause ProtocolIE-ID ::= 356
+id-PEIPSassistanceInformation ProtocolIE-ID ::= 357
+id-UESliceMaximumBitRateList ProtocolIE-ID ::= 358
+id-S-NG-RANnodeUE-Slice-MBR ProtocolIE-ID ::= 359
+id-PositioningInformation ProtocolIE-ID ::= 360
+id-UEAssistantIdentifier ProtocolIE-ID ::= 361
+id-ManagementBasedMDTPLMNModificationList ProtocolIE-ID ::= 362
+id-F1-terminatingIAB-donorIndicator ProtocolIE-ID ::= 363
+id-TAINSAGSupportList ProtocolIE-ID ::= 364
+id-SCGreconfigNotification ProtocolIE-ID ::= 365
+id-earlyMeasurement ProtocolIE-ID ::= 366
+id-BeamMeasurementsReportConfiguration ProtocolIE-ID ::= 367
+id-CoverageModificationCause ProtocolIE-ID ::= 368
+id-AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated ProtocolIE-ID ::= 369
+id-UERLFReportContainerLTEExtension ProtocolIE-ID ::= 370
+id-ExcessPacketDelayThresholdConfiguration ProtocolIE-ID ::= 371
+id-HashedUEIdentityIndexValue ProtocolIE-ID ::= 372
+
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-Containers.asn b/epan/dissectors/asn1/xnap/XnAP-Containers.asn
new file mode 100644
index 00000000..097ae2af
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-Containers.asn
@@ -0,0 +1,194 @@
+-- 3GPP TS 38.423 V17.5.0 (2023-06)
+-- 9.3.8 Container definitions
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+XnAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+FROM XnAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+XNAP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IE pairs
+--
+-- **************************************************************
+
+XNAP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+XNAP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+XNAP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {XNAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {XNAP-PROTOCOL-IES : IEsSetParam} ::= ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {XNAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id XNAP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality XNAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value XNAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {XNAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {XNAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id XNAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality XNAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue XNAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality XNAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue XNAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, XNAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, XNAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {XNAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {XNAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id XNAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality XNAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue XNAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {XNAP-PRIVATE-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {XNAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id XNAP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality XNAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value XNAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-IEs.asn b/epan/dissectors/asn1/xnap/XnAP-IEs.asn
new file mode 100644
index 00000000..d15c829d
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-IEs.asn
@@ -0,0 +1,7724 @@
+-- 3GPP TS 38.423 V17.5.0 (2023-06)
+-- 9.3.5 Information Element definitions
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+XnAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+
+ id-CNTypeRestrictionsForEquivalent,
+ id-CNTypeRestrictionsForServing,
+ id-Additional-UL-NG-U-TNLatUPF-List,
+ id-ConfiguredTACIndication,
+ id-AlternativeQoSParaSetList,
+ id-CurrentQoSParaSetIndex,
+ id-DefaultDRB-Allowed,
+ id-DLCarrierList,
+ id-EndpointIPAddressAndPort,
+ id-ExtendedReportIntervalMDT,
+ id-ExtendedTAISliceSupportList,
+ id-FiveGCMobilityRestrictionListContainer,
+ id-SecondarydataForwardingInfoFromTarget-List,
+ id-LastE-UTRANPLMNIdentity,
+ id-IntendedTDD-DL-ULConfiguration-NR,
+ id-MaxIPrate-DL,
+ id-SecurityResult,
+ id-OldQoSFlowMap-ULendmarkerexpected,
+ id-PDUSessionCommonNetworkInstance,
+ id-PDUSession-PairID,
+ id-BPLMN-ID-Info-EUTRA,
+ id-BPLMN-ID-Info-NR,
+ id-DRBsNotAdmittedSetupModifyList,
+ id-Secondary-MN-Xn-U-TNLInfoatM,
+ id-ULForwardingProposal,
+ id-DRB-IDs-takenintouse,
+ id-SplitSessionIndicator,
+ id-NonGBRResources-Offered,
+ id-MDT-Configuration,
+ id-TraceCollectionEntityURI,
+ id-NPN-Broadcast-Information,
+ id-NPNPagingAssistanceInformation,
+ id-NPNMobilityInformation,
+ id-NPN-Support,
+ id-LTEUESidelinkAggregateMaximumBitRate,
+ id-NRUESidelinkAggregateMaximumBitRate,
+ id-ExtendedRATRestrictionInformation,
+ id-QoSMonitoringRequest,
+ id-QoSMonitoringDisabled,
+ id-QosMonitoringReportingFrequency,
+ id-DAPSRequestInfo,
+ id-OffsetOfNbiotChannelNumberToDL-EARFCN,
+ id-OffsetOfNbiotChannelNumberToUL-EARFCN,
+ id-NBIoT-UL-DL-AlignmentOffset,
+ id-TDDULDLConfigurationCommonNR,
+ id-CarrierList,
+ id-ULCarrierList,
+ id-FrequencyShift7p5khz,
+ id-SSB-PositionsInBurst,
+ id-NRCellPRACHConfig,
+ id-Redundant-UL-NG-U-TNLatUPF,
+ id-Redundant-DL-NG-U-TNLatNG-RAN,
+ id-CNPacketDelayBudgetDownlink,
+ id-CNPacketDelayBudgetUplink,
+ id-ExtendedPacketDelayBudget,
+ id-Additional-Redundant-UL-NG-U-TNLatUPF-List,
+ id-RedundantCommonNetworkInstance,
+ id-TSCTrafficCharacteristics,
+ id-RedundantQoSFlowIndicator,
+ id-Additional-PDCP-Duplication-TNL-List,
+ id-RedundantPDUSessionInformation,
+ id-UsedRSNInformation,
+ id-RLCDuplicationInformation,
+ id-CSI-RSTransmissionIndication,
+ id-UERadioCapabilityID,
+ id-secondary-SN-UL-PDCP-UP-TNLInfo,
+ id-pdcpDuplicationConfiguration,
+ id-duplicationActivation,
+ id-NPRACHConfiguration,
+ id-QoSFlowsMappedtoDRB-SetupResponse-MNterminated,
+ id-DL-scheduling-PDCCH-CCE-usage,
+ id-UL-scheduling-PDCCH-CCE-usage,
+ id-SFN-Offset,
+ id-QoS-Mapping-Information,
+ id-AdditionLocationInformation,
+ id-dataForwardingInfoFromTargetE-UTRANnode,
+ id-Cause,
+ id-SecurityIndication,
+ id-RRCConnReestab-Indicator,
+ id-SourceDLForwardingIPAddress,
+ id-SourceNodeDLForwardingIPAddress,
+ id-M4ReportAmount,
+ id-M5ReportAmount,
+ id-M6ReportAmount,
+ id-M7ReportAmount,
+ id-BeamMeasurementIndicationM1,
+ id-Supported-MBS-FSA-ID-List,
+ id-MBS-SessionAssociatedInformation,
+ id-MBS-SessionInformation-List,
+ id-SliceRadioResourceStatus-List,
+ id-CompositeAvailableCapacitySupplementaryUplink,
+ id-SSBOffsets-List,
+ id-NG-RANnode2SSBOffsetsModificationRange,
+ id-NR-U-Channel-List,
+ id-NR-U-ChannelInfo-List,
+ id-MIMOPRBusageInformation,
+ id-UEAssistantIdentifier,
+ id-IAB-MT-Cell-List,
+ id-NoPDUSessionIndication,
+ id-permutation,
+ id-UL-GNB-DU-Cell-Resource-Configuration,
+ id-DL-GNB-DU-Cell-Resource-Configuration,
+ id-tdd-GNB-DU-Cell-Resource-Configuration,
+ id-Additional-Measurement-Timing-Configuration-List,
+ id-SurvivalTime,
+ id-Local-NG-RAN-Node-Identifier,
+ id-Neighbour-NG-RAN-Node-List,
+ id-FiveGProSeUEPC5AggregateMaximumBitRate,
+ id-Redcap-Bcast-Information,
+ id-UESliceMaximumBitRateList,
+ id-PositioningInformation,
+ id-ServedCellSpecificInfoReq-NR,
+ id-TAINSAGSupportList,
+ id-earlyMeasurement,
+ id-BeamMeasurementsReportConfiguration,
+ id-CoverageModificationCause,
+ id-UERLFReportContainerLTEExtension,
+ id-ExcessPacketDelayThresholdConfiguration,
+ maxEARFCN,
+ maxnoofAllowedAreas,
+ maxnoofAMFRegions,
+ maxnoofAoIs,
+ maxnoofBPLMNs,
+ maxnoofCAGs,
+ maxnoofCAGsperPLMN,
+ maxnoofCellsinAoI,
+ maxnoofCellsinNG-RANnode,
+ maxnoofCellsinRNA,
+ maxnoofCellsinUEHistoryInfo,
+ maxnoofCellsUEMovingTrajectory,
+ maxnoofDRBs,
+ maxnoofEPLMNs,
+ maxnoofEPLMNsplus1,
+ maxnoofEUTRABands,
+ maxnoofEUTRABPLMNs,
+ maxnoofForbiddenTACs,
+ maxnoofMBSFNEUTRA,
+ maxnoofMultiConnectivityMinusOne,
+ maxnoofNeighbours,
+ maxnoofNIDs,
+ maxnoofNRCellBands,
+ maxnoofPDUSessions,
+ maxnoofPLMNs,
+ maxnoofProtectedResourcePatterns,
+ maxnoofQoSFlows,
+ maxnoofQoSParaSets,
+ maxnoofRANAreaCodes,
+ maxnoofRANAreasinRNA,
+ maxnoofSCellGroups,
+ maxnoofSCellGroupsplus1,
+ maxnoofSliceItems,
+ maxnoofExtSliceItems,
+ maxnoofSNPNIDs,
+ maxnoofsupportedTACs,
+ maxnoofsupportedPLMNs,
+ maxnoofTAI,
+ maxnoofTAIsinAoI,
+ maxnoofTNLAssociations,
+ maxnoofUEContexts,
+ maxNRARFCN,
+ maxNrOfErrors,
+ maxnoofRANNodesinAoI,
+ maxnooftimeperiods,
+ maxnoofslots,
+ maxnoofExtTLAs,
+ maxnoofGTPTLAs,
+ maxnoofCHOcells,
+ maxnoofPC5QoSFlows,
+ maxnoofSSBAreas,
+ maxnoofNRSCSs,
+ maxnoofPhysicalResourceBlocks,
+ maxnoofRACHReports,
+ maxnoofAdditionalPDCPDuplicationTNL,
+ maxnoofRLCDuplicationstate,
+ maxnoofBluetoothName,
+ maxnoofCellIDforMDT,
+ maxnoofMDTPLMNs,
+ maxnoofTAforMDT,
+ maxnoofWLANName,
+ maxnoofSensorName,
+ maxnoofNeighPCIforMDT,
+ maxnoofFreqforMDT,
+ maxnoofNonAnchorCarrierFreqConfig,
+ maxnoofDataForwardingTunneltoE-UTRAN,
+ maxnoofUEIDIndicesforMBSPaging,
+ maxnoofMBSFSAs,
+ maxnoofMBSQoSFlows,
+ maxnoofMRBs,
+ maxnoofCellsforMBS,
+ maxnoofMBSServiceAreaInformation,
+ maxnoofTAIforMBS,
+ maxnoofAssociatedMBSSessions,
+ maxnoofMBSSessions,
+ maxnoofSuccessfulHOReports,
+ maxnoofPSCellsPerSN,
+ maxnoofNR-UChannelIDs,
+ maxnoofCellsinCHO,
+ maxnoofCHOexecutioncond,
+ maxnoofServingCells,
+ maxnoofBHInfo,
+ maxnoofTLAsIAB,
+ maxnoofTrafficIndexEntries,
+ maxnoofBAPControlPDURLCCHs,
+ maxnoofServedCellsIAB,
+ maxnoofDUFSlots,
+ maxnoofSymbols,
+ maxnoofHSNASlots,
+ maxnoofRBsetsPerCell,
+ maxnoofChildIABNodes,
+ maxnoofIABSTCInfo,
+ maxnoofPSCellCandidates,
+ maxnoofTargetSNs,
+ maxnoofUEAppLayerMeas,
+ maxnoofSNSSAIforQMC,
+ maxnoofCellIDforQMC,
+ maxnoofPLMNforQMC,
+ maxnoofTAforQMC,
+ maxnoofMTCItems,
+ maxnoofCSIRSconfigurations,
+ maxnoofCSIRSneighbourCells,
+ maxnoofCSIRSneighbourCellsInMTC,
+ maxnoofNeighbour-NG-RAN-Nodes,
+ maxnoofSRBs,
+ maxnoofSMBR,
+ maxnoofNSAGs,
+ maxnoofRBsetsPerCell1,
+ maxnoofTargetSNsMinusOne,
+ maxnoofThresholdsForExcessPacketDelay
+
+FROM XnAP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM XnAP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Single-Container{},
+
+ XNAP-PROTOCOL-EXTENSION,
+ XNAP-PROTOCOL-IES
+FROM XnAP-Containers;
+
+
+-- A
+
+AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated ::= SEQUENCE (SIZE(1..maxnoofTargetSNsMinusOne)) OF AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated-Item
+
+AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated-Item ::= SEQUENCE {
+ pDUSessionResourceChangeConfirmInfo-SNterminated PDUSessionResourceChangeConfirmInfo-SNterminated,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionLocationInformation ::= ENUMERATED {
+ includePSCell,
+ ...
+}
+
+Additional-PDCP-Duplication-TNL-List ::= SEQUENCE (SIZE(1..maxnoofAdditionalPDCPDuplicationTNL)) OF Additional-PDCP-Duplication-TNL-Item
+Additional-PDCP-Duplication-TNL-Item ::= SEQUENCE {
+ additional-PDCP-Duplication-UP-TNL-Information UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { Additional-PDCP-Duplication-TNL-ExtIEs} } OPTIONAL,
+ ...
+}
+Additional-PDCP-Duplication-TNL-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Additional-UL-NG-U-TNLatUPF-Item ::= SEQUENCE {
+ additional-UL-NG-U-TNLatUPF UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { Additional-UL-NG-U-TNLatUPF-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-UL-NG-U-TNLatUPF-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-PDUSessionCommonNetworkInstance CRITICALITY ignore EXTENSION PDUSessionCommonNetworkInstance PRESENCE optional},
+ ...
+}
+
+Additional-UL-NG-U-TNLatUPF-List ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF Additional-UL-NG-U-TNLatUPF-Item
+
+Additional-Measurement-Timing-Configuration-List ::= SEQUENCE (SIZE(1.. maxnoofMTCItems)) OF Additional-Measurement-Timing-Configuration-Item
+
+Additional-Measurement-Timing-Configuration-Item ::= SEQUENCE {
+ additionalMeasurementTimingConfigurationIndex INTEGER (0..16),
+ csi-RS-MTC-Configuration-List CSI-RS-MTC-Configuration-List,
+ iE-Extensions ProtocolExtensionContainer { { Additional-Measurement-Timing-Configuration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Additional-Measurement-Timing-Configuration-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ActivationIDforCellActivation ::= INTEGER (0..255)
+
+Active-MBS-SessionInformation ::= SEQUENCE {
+ mBS-QoSFlowsToAdd-List MBS-QoSFlowsToAdd-List,
+ mBS-ServiceArea MBS-ServiceArea OPTIONAL,
+ mBS-MappingandDataForwardingRequestInfofromSource MBS-MappingandDataForwardingRequestInfofromSource OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Active-MBS-SessionInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Active-MBS-SessionInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AllocationandRetentionPriority ::= SEQUENCE {
+ priorityLevel INTEGER (0..15,...),
+ pre-emption-capability ENUMERATED {shall-not-trigger-preemption, may-trigger-preemption, ...},
+ pre-emption-vulnerability ENUMERATED {not-preemptable, preemptable, ...},
+ iE-Extensions ProtocolExtensionContainer { {AllocationandRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllocationandRetentionPriority-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ActivationSFN ::= INTEGER (0..1023)
+
+AllowedCAG-ID-List-perPLMN ::= SEQUENCE (SIZE(1..maxnoofCAGsperPLMN)) OF CAG-Identifier
+
+AllowedPNI-NPN-ID-List ::= SEQUENCE (SIZE(1..maxnoofEPLMNsplus1)) OF AllowedPNI-NPN-ID-Item
+
+AllowedPNI-NPN-ID-Item ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ pni-npn-restricted-information PNI-NPN-Restricted-Information,
+ allowed-CAG-id-list-per-plmn AllowedCAG-ID-List-perPLMN,
+ iE-Extensions ProtocolExtensionContainer { {AllowedPNI-NPN-ID-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllowedPNI-NPN-ID-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AllTrafficIndication ::= ENUMERATED {true,...}
+
+
+AlternativeQoSParaSetList ::= SEQUENCE (SIZE(1..maxnoofQoSParaSets)) OF AlternativeQoSParaSetItem
+
+AlternativeQoSParaSetItem ::= SEQUENCE {
+ alternativeQoSParaSetIndex QoSParaSetIndex,
+ guaranteedFlowBitRateDL BitRate OPTIONAL,
+ guaranteedFlowBitRateUL BitRate OPTIONAL,
+ packetDelayBudget PacketDelayBudget OPTIONAL,
+ packetErrorRate PacketErrorRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AlternativeQoSParaSetItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AlternativeQoSParaSetItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AMF-Region-Information ::= SEQUENCE (SIZE (1..maxnoofAMFRegions)) OF GlobalAMF-Region-Information
+
+GlobalAMF-Region-Information ::= SEQUENCE {
+ plmn-ID PLMN-Identity,
+ amf-region-id BIT STRING (SIZE (8)),
+ iE-Extensions ProtocolExtensionContainer { {GlobalAMF-Region-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalAMF-Region-Information-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AMF-UE-NGAP-ID ::= INTEGER (0..1099511627775)
+
+
+AreaOfInterestInformation ::= SEQUENCE (SIZE(1..maxnoofAoIs)) OF AreaOfInterest-Item
+
+AreaOfInterest-Item ::= SEQUENCE {
+ listOfTAIsinAoI ListOfTAIsinAoI OPTIONAL,
+ listOfCellsinAoI ListOfCells OPTIONAL,
+ listOfRANNodesinAoI ListOfRANNodesinAoI OPTIONAL,
+ requestReferenceID RequestReferenceID,
+ iE-Extensions ProtocolExtensionContainer { {AreaOfInterest-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AreaOfInterest-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AreaScopeOfMDT-NR ::= CHOICE {
+ cellBased CellBasedMDT-NR,
+ tABased TABasedMDT,
+ tAIBased TAIBasedMDT,
+ ...,
+ choice-extension ProtocolIE-Single-Container { {AreaScopeOfMDT-NR-ExtIEs} }
+}
+
+AreaScopeOfMDT-NR-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+
+}
+AreaScopeOfMDT-EUTRA ::= CHOICE {
+ cellBased CellBasedMDT-EUTRA,
+ tABased TABasedMDT,
+ tAIBased TAIBasedMDT,
+ ...,
+ choice-extension ProtocolIE-Single-Container { {AreaScopeOfMDT-EUTRA-ExtIEs} }
+
+}
+
+AreaScopeOfMDT-EUTRA-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+
+AreaScopeOfNeighCellsList ::= SEQUENCE (SIZE(1..maxnoofFreqforMDT)) OF AreaScopeOfNeighCellsItem
+AreaScopeOfNeighCellsItem ::= SEQUENCE {
+ nrFrequencyInfo NRFrequencyInfo,
+ pciListForMDT PCIListForMDT OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { AreaScopeOfNeighCellsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AreaScopeOfNeighCellsItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AreaScopeOfQMC ::= CHOICE {
+ cellBased CellBasedQMC,
+ tABased TABasedQMC,
+ tAIBased TAIBasedQMC,
+ pLMNAreaBased PLMNAreaBasedQMC,
+ choice-extension ProtocolIE-Single-Container { {AreaScopeOfQMC-ExtIEs} }
+}
+
+AreaScopeOfQMC-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+AS-SecurityInformation ::= SEQUENCE {
+ key-NG-RAN-Star BIT STRING (SIZE(256)),
+ ncc INTEGER (0..7),
+ iE-Extensions ProtocolExtensionContainer { {AS-SecurityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AS-SecurityInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AssistanceDataForRANPaging ::= SEQUENCE {
+ ran-paging-attempt-info RANPagingAttemptInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AssistanceDataForRANPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceDataForRANPaging-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-NPNPagingAssistanceInformation CRITICALITY ignore EXTENSION NPNPagingAssistanceInformation PRESENCE optional },
+ ...
+}
+
+Associated-QoSFlowInfo-List ::= SEQUENCE (SIZE(1..maxnoofMBSQoSFlows)) OF Associated-QoSFlowInfo-Item
+
+Associated-QoSFlowInfo-Item ::= SEQUENCE {
+ mBS-QoSFlowIdentifier QoSFlowIdentifier,
+ associatedUnicastQoSFlowIdentifier QoSFlowIdentifier,
+ iE-Extensions ProtocolExtensionContainer { { Associated-QoSFlowInfo-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Associated-QoSFlowInfo-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AvailableCapacity ::= INTEGER (1.. 100,...)
+
+
+AvailableRRCConnectionCapacityValue ::= INTEGER (0..100)
+
+
+AvailableRVQoEMetrics ::= SEQUENCE {
+ bufferLevel ENUMERATED {true, ...} OPTIONAL,
+ playoutDelayForMediaStartup ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AvailableRVQoEMetrics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AvailableRVQoEMetrics-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AveragingWindow ::= INTEGER (0..4095, ...)
+
+
+-- B
+
+BAPAddress ::= BIT STRING (SIZE(10))
+
+BAPPathID ::= BIT STRING (SIZE(10))
+
+BAPRoutingID ::= SEQUENCE {
+ bAPAddress BAPAddress,
+ bAPPathID BAPPathID,
+ iE-Extensions ProtocolExtensionContainer { {BAPRoutingID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BAPRoutingID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BeamMeasurementIndicationM1 ::= ENUMERATED {true, ...}
+
+BeamMeasurementsReportConfiguration ::= SEQUENCE {
+ beamMeasurementsReportQuantity BeamMeasurementsReportQuantity OPTIONAL,
+ maxNrofRS-IndexesToReport MaxNrofRS-IndexesToReport OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BeamMeasurementsReportConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BeamMeasurementsReportConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BeamMeasurementsReportQuantity ::= SEQUENCE {
+ rSRP ENUMERATED {true, ...},
+ rSRQ ENUMERATED {true, ...},
+ sINR ENUMERATED {true, ...},
+ iE-Extensions ProtocolExtensionContainer { { BeamMeasurementsReportQuantity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BeamMeasurementsReportQuantity-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BHInfoIndex ::= INTEGER (1.. maxnoofBHInfo)
+
+BHInfoList ::= SEQUENCE (SIZE(1.. maxnoofBHInfo)) OF BHInfo-Item
+
+BHInfo-Item ::= SEQUENCE {
+ bHInfoIndex BHInfoIndex,
+ iE-Extensions ProtocolExtensionContainer { { BHInfo-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BHInfo-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BHRLCChannelID ::= BIT STRING (SIZE(16))
+
+BAPControlPDURLCCH-List ::= SEQUENCE (SIZE(1.. maxnoofBAPControlPDURLCCHs)) OF BAPControlPDURLCCH-Item
+
+
+BAPControlPDURLCCH-Item ::= SEQUENCE {
+ bHRLCCHID BHRLCChannelID,
+ nexthopBAPAddress BAPAddress,
+ iE-Extensions ProtocolExtensionContainer { { BAPControlPDURLCCH-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BAPControlPDURLCCH-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BluetoothMeasurementConfiguration ::= SEQUENCE {
+ bluetoothMeasConfig BluetoothMeasConfig,
+ bluetoothMeasConfigNameList BluetoothMeasConfigNameList OPTIONAL,
+ bt-rssi ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { BluetoothMeasurementConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+BluetoothMeasurementConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BluetoothMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofBluetoothName)) OF BluetoothName
+
+BluetoothMeasConfig::= ENUMERATED {setup,...}
+
+BluetoothName ::= OCTET STRING (SIZE (1..248))
+
+
+BPLMN-ID-Info-EUTRA ::= SEQUENCE (SIZE(1..maxnoofEUTRABPLMNs)) OF BPLMN-ID-Info-EUTRA-Item
+
+BPLMN-ID-Info-EUTRA-Item ::= SEQUENCE {
+ broadcastPLMNs BroadcastEUTRAPLMNs,
+ tac TAC,
+ e-utraCI E-UTRA-Cell-Identity,
+ ranac RANAC OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {BPLMN-ID-Info-EUTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BPLMN-ID-Info-EUTRA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BPLMN-ID-Info-NR ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF BPLMN-ID-Info-NR-Item
+
+BPLMN-ID-Info-NR-Item ::= SEQUENCE {
+ broadcastPLMNs BroadcastPLMNs,
+ tac TAC,
+ nr-CI NR-Cell-Identity,
+ ranac RANAC OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {BPLMN-ID-Info-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BPLMN-ID-Info-NR-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ConfiguredTACIndication CRITICALITY ignore EXTENSION ConfiguredTACIndication PRESENCE optional }|
+ { ID id-NPN-Broadcast-Information CRITICALITY reject EXTENSION NPN-Broadcast-Information PRESENCE optional },
+ ...
+}
+
+BitRate ::= INTEGER (0..4000000000000,...)
+
+
+
+BroadcastCAG-Identifier-List ::= SEQUENCE (SIZE(1..maxnoofCAGs)) OF BroadcastCAG-Identifier-Item
+
+BroadcastCAG-Identifier-Item ::= SEQUENCE {
+ cag-Identifier CAG-Identifier,
+ iE-Extension ProtocolExtensionContainer { {BroadcastCAG-Identifier-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastCAG-Identifier-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BroadcastNID-List ::= SEQUENCE (SIZE(1..maxnoofNIDs)) OF BroadcastNID-Item
+
+BroadcastNID-Item ::= SEQUENCE {
+ nid NID,
+ iE-Extension ProtocolExtensionContainer { {BroadcastNID-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastNID-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+BroadcastPLMNs ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF PLMN-Identity
+
+BroadcastEUTRAPLMNs ::= SEQUENCE (SIZE(1..maxnoofEUTRABPLMNs)) OF PLMN-Identity
+
+
+BroadcastPLMNinTAISupport-Item ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ tAISliceSupport-List SliceSupport-List,
+ iE-Extension ProtocolExtensionContainer { {BroadcastPLMNinTAISupport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastPLMNinTAISupport-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-NPN-Support CRITICALITY reject EXTENSION NPN-Support PRESENCE optional}|
+ { ID id-ExtendedTAISliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional}|
+ { ID id-TAINSAGSupportList CRITICALITY ignore EXTENSION TAINSAGSupportList PRESENCE optional },
+ ...
+}
+
+
+BroadcastPNI-NPN-ID-Information ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF BroadcastPNI-NPN-ID-Information-Item
+
+BroadcastPNI-NPN-ID-Information-Item ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ broadcastCAG-Identifier-List BroadcastCAG-Identifier-List,
+ iE-Extension ProtocolExtensionContainer { {BroadcastPNI-NPN-ID-Information-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+BroadcastPNI-NPN-ID-Information-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+BroadcastSNPNID-List ::= SEQUENCE (SIZE(1..maxnoofSNPNIDs)) OF BroadcastSNPNID
+
+
+BroadcastSNPNID ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ broadcastNID-List BroadcastNID-List,
+ iE-Extension ProtocolExtensionContainer { {BroadcastSNPNID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastSNPNID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- C
+
+
+CAG-Identifier ::= BIT STRING (SIZE (32))
+
+
+CapacityValue ::= INTEGER (0..100)
+
+
+
+CapacityValueInfo ::= SEQUENCE {
+ capacityValue CapacityValue,
+ ssbAreaCapacityValueList SSBAreaCapacityValue-List OPTIONAL,
+iE-Extension ProtocolExtensionContainer { {CapacityValueInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CapacityValueInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetworkLayer,
+ transport CauseTransportLayer,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ choice-extension ProtocolIE-Single-Container { {Cause-ExtIEs} }
+}
+
+Cause-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+CauseRadioNetworkLayer ::= ENUMERATED {
+ cell-not-available,
+ handover-desirable-for-radio-reasons,
+ handover-target-not-allowed,
+ invalid-AMF-Set-ID,
+ no-radio-resources-available-in-target-cell,
+ partial-handover,
+ reduce-load-in-serving-cell,
+ resource-optimisation-handover,
+ time-critical-handover,
+ tXnRELOCoverall-expiry,
+ tXnRELOCprep-expiry,
+ unknown-GUAMI-ID,
+ unknown-local-NG-RAN-node-UE-XnAP-ID,
+ inconsistent-remote-NG-RAN-node-UE-XnAP-ID,
+ encryption-and-or-integrity-protection-algorithms-not-supported,
+ not-used-causes-value-1,
+ multiple-PDU-session-ID-instances,
+ unknown-PDU-session-ID,
+ unknown-QoS-Flow-ID,
+ multiple-QoS-Flow-ID-instances,
+ switch-off-ongoing,
+ not-supported-5QI-value,
+ tXnDCoverall-expiry,
+ tXnDCprep-expiry,
+ action-desirable-for-radio-reasons,
+ reduce-load,
+ resource-optimisation,
+ time-critical-action,
+ target-not-allowed,
+ no-radio-resources-available,
+ invalid-QoS-combination,
+ encryption-algorithms-not-supported,
+ procedure-cancelled,
+ rRM-purpose,
+ improve-user-bit-rate,
+ user-inactivity,
+ radio-connection-with-UE-lost,
+ failure-in-the-radio-interface-procedure,
+ bearer-option-not-supported,
+ up-integrity-protection-not-possible,
+ up-confidentiality-protection-not-possible,
+ resources-not-available-for-the-slice-s,
+ ue-max-IP-data-rate-reason,
+ cP-integrity-protection-failure,
+ uP-integrity-protection-failure,
+ slice-not-supported-by-NG-RAN,
+ mN-Mobility,
+ sN-Mobility,
+ count-reaches-max-value,
+ unknown-old-NG-RAN-node-UE-XnAP-ID,
+ pDCP-Overload,
+ drb-id-not-available,
+ unspecified,
+ ...,
+ ue-context-id-not-known,
+ non-relocation-of-context,
+ cho-cpc-resources-tobechanged,
+ rSN-not-available-for-the-UP,
+ npn-access-denied,
+ report-characteristics-empty,
+ existing-measurement-ID,
+ measurement-temporarily-not-available,
+ measurement-not-supported-for-the-object,
+ ue-power-saving,
+ unknown-NG-RAN-node2-Measurement-ID,
+ insufficient-ue-capabilities,
+ normal-release,
+ value-out-of-allowed-range,
+ scg-activation-deactivation-failure,
+ scg-deactivation-failure-due-to-data-transmission
+}
+
+CauseTransportLayer ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ abstract-syntax-error-falsely-constructed-message,
+ unspecified,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ hardware-failure,
+ o-and-M-intervention,
+ not-enough-user-plane-processing-resources,
+ unspecified,
+ ...
+}
+
+CellAssistanceInfo-NR ::= CHOICE {
+ limitedNR-List SEQUENCE (SIZE(1..maxnoofCellsinNG-RANnode)) OF NR-CGI,
+ full-List ENUMERATED {all-served-cells-NR, ...},
+ choice-extension ProtocolIE-Single-Container { {CellAssistanceInfo-NR-ExtIEs} }
+}
+
+CellAssistanceInfo-NR-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+CellAndCapacityAssistanceInfo-NR ::= SEQUENCE {
+ maximumCellListSize MaximumCellListSize OPTIONAL,
+ cellAssistanceInfo-NR CellAssistanceInfo-NR OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellAndCapacityAssistanceInfo-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CellAndCapacityAssistanceInfo-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellAndCapacityAssistanceInfo-EUTRA ::= SEQUENCE {
+ maximumCellListSize MaximumCellListSize OPTIONAL,
+ cellAssistanceInfo-EUTRA CellAssistanceInfo-EUTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellAndCapacityAssistanceInfo-EUTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CellAndCapacityAssistanceInfo-EUTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CellAssistanceInfo-EUTRA ::= CHOICE {
+ limitedEUTRA-List SEQUENCE (SIZE(1..maxnoofCellsinNG-RANnode)) OF E-UTRA-CGI,
+ full-List ENUMERATED {all-served-cells-E-UTRA, ...},
+ choice-extension ProtocolIE-Single-Container { {CellAssistanceInfo-EUTRA-ExtIEs} }
+}
+
+CellAssistanceInfo-EUTRA-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+CellBasedMDT-NR::= SEQUENCE {
+ cellIdListforMDT-NR CellIdListforMDT-NR,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedMDT-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIdListforMDT-NR ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF NR-CGI
+
+CellBasedQMC::= SEQUENCE {
+ cellIdListforQMC CellIdListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedQMC-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CellIdListforQMC ::= SEQUENCE (SIZE(1..maxnoofCellIDforQMC)) OF GlobalNG-RANCell-ID
+
+
+CellBasedMDT-EUTRA::= SEQUENCE {
+ cellIdListforMDT-EUTRA CellIdListforMDT-EUTRA,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-EUTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedMDT-EUTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+CellIdListforMDT-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF E-UTRA-CGI
+
+
+CellCapacityClassValue ::= INTEGER (1..100,...)
+
+CellDeploymentStatusIndicator ::= ENUMERATED {pre-change-notification, ...}
+
+CellGroupID ::= INTEGER (0..maxnoofSCellGroups)
+
+
+CellMeasurementResult ::= SEQUENCE (SIZE(1..maxnoofCellsinNG-RANnode)) OF CellMeasurementResult-Item
+
+CellMeasurementResult-Item ::= SEQUENCE {
+ cell-ID GlobalNG-RANCell-ID,
+radioResourceStatus RadioResourceStatus OPTIONAL,
+tNLCapacityIndicator TNLCapacityIndicator OPTIONAL,
+compositeAvailableCapacityGroup CompositeAvailableCapacityGroup OPTIONAL,
+sliceAvailableCapacity SliceAvailableCapacity OPTIONAL,
+numberofActiveUEs NumberofActiveUEs OPTIONAL,
+rRCConnections RRCConnections OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellMeasurementResult-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CellMeasurementResult-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-NR-U-Channel-List CRITICALITY ignore EXTENSION NR-U-Channel-List PRESENCE optional },
+ ...
+}
+
+
+CellReplacingInfo ::= SEQUENCE {
+ replacingCells ReplacingCells,
+ iE-Extensions ProtocolExtensionContainer { {CellReplacingInfo-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CellReplacingInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CellToReport ::= SEQUENCE (SIZE(1..maxnoofCellsinNG-RANnode)) OF CellToReport-Item
+
+CellToReport-Item ::= SEQUENCE {
+ cell-ID GlobalNG-RANCell-ID,
+sSBToReport-List SSBToReport-List OPTIONAL,
+sliceToReport-List SliceToReport-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CellToReport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CellToReport-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Cell-Type-Choice ::= CHOICE {
+ ng-ran-e-utra E-UTRA-Cell-Identity,
+ ng-ran-nr NR-Cell-Identity,
+ e-utran E-UTRA-Cell-Identity,
+ choice-extension ProtocolIE-Single-Container { { Cell-Type-Choice-ExtIEs} }
+}
+
+Cell-Type-Choice-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+CHOConfiguration ::= SEQUENCE {
+ choCandidateCell-List CHOCandidateCell-List,
+ iE-Extensions ProtocolExtensionContainer { { CHOConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CHOCandidateCell-List ::= SEQUENCE (SIZE(1..maxnoofCellsinCHO)) OF CHOCandidateCell-Item
+
+CHOCandidateCell-Item ::= SEQUENCE {
+ choCandidateCellID GlobalNG-RANCell-ID,
+ choExecutionCondition-List CHOExecutionCondition-List,
+ iE-Extensions ProtocolExtensionContainer { { CHOCandidateCell-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOCandidateCell-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CHOExecutionCondition-List ::= SEQUENCE (SIZE(1..maxnoofCHOexecutioncond)) OF CHOExecutionCondition-Item
+
+CHOExecutionCondition-Item ::= SEQUENCE { measObjectContainer MeasObjectContainer,
+ reportConfigContainer ReportConfigContainer,
+ iE-Extensions ProtocolExtensionContainer { { CHOExecutionCondition-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOExecutionCondition-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CompositeAvailableCapacityGroup ::= SEQUENCE {
+ compositeAvailableCapacityDownlink CompositeAvailableCapacity,
+ compositeAvailableCapacityUplink CompositeAvailableCapacity,
+ iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompositeAvailableCapacityGroup-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CompositeAvailableCapacitySupplementaryUplink CRITICALITY ignore EXTENSION CompositeAvailableCapacity PRESENCE optional },
+ ...
+}
+
+CompositeAvailableCapacity ::= SEQUENCE {
+ cellCapacityClassValue CellCapacityClassValue OPTIONAL,
+ capacityValueInfo CapacityValueInfo, -- this IE represents the IE "CapacityValue" in 9.2.2.a, it’s used to distinguish the "CapacityValue" in 9.2.2.c
+ iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacity-ExtIEs} }OPTIONAL,
+ ...
+}
+
+CompositeAvailableCapacity-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ControlPlaneTrafficType ::= INTEGER (1..3, ...)
+
+CHO-MRDC-EarlyDataForwarding ::= ENUMERATED {stop, ...}
+
+CHO-MRDC-Indicator ::= ENUMERATED {true, ..., coordination-only }
+
+
+
+CHOtrigger ::= ENUMERATED {
+ cho-initiation,
+ cho-replace,
+ ...
+}
+
+CHOinformation-Req ::= SEQUENCE {
+ cho-trigger CHOtrigger,
+ targetNG-RANnodeUEXnAPID NG-RANnodeUEXnAPID OPTIONAL
+ -- This IE shall be present if the cho-trigger IE is present and set to "CHO-replace" --,
+ cHO-EstimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CHOinformation-Req-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOinformation-Req-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+CHOinformation-Ack ::= SEQUENCE {
+ requestedTargetCellGlobalID Target-CGI,
+ maxCHOoperations MaxCHOpreparations OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CHOinformation-Ack-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOinformation-Ack-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+CHOinformation-AddReq ::= SEQUENCE {
+ source-M-NGRAN-node-ID GlobalNG-RANNode-ID,
+ source-M-NGRAN-node-UE-XnAP-ID NG-RANnodeUEXnAPID,
+ cHO-EstimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CHOinformation-AddReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOinformation-AddReq-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+CHOinformation-ModReq ::= SEQUENCE {
+ conditionalReconfig ENUMERATED {intra-mn-cho, ...},
+ cHO-EstimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CHOinformation-ModReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CHOinformation-ModReq-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+CHO-Probability ::= INTEGER (1..100)
+
+CNsubgroupID ::= INTEGER (0..7, ...)
+
+
+ConfiguredTACIndication ::= ENUMERATED {
+ true,
+ ...
+}
+
+
+Connectivity-Support ::= SEQUENCE {
+ eNDC-Support ENUMERATED {supported, not-supported, ...},
+ iE-Extensions ProtocolExtensionContainer { {Connectivity-Support-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Connectivity-Support-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ContainerAppLayerMeasConfig ::= OCTET STRING (SIZE (1..8000))
+
+COUNT-PDCP-SN12 ::= SEQUENCE {
+ pdcp-SN12 INTEGER (0..4095),
+ hfn-PDCP-SN12 INTEGER (0..1048575),
+ iE-Extensions ProtocolExtensionContainer { {COUNT-PDCP-SN12-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNT-PDCP-SN12-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+COUNT-PDCP-SN18 ::= SEQUENCE {
+ pdcp-SN18 INTEGER (0..262143),
+ hfn-PDCP-SN18 INTEGER (0..16383),
+ iE-Extensions ProtocolExtensionContainer { {COUNT-PDCP-SN18-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNT-PDCP-SN18-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CoverageModificationCause ::= ENUMERATED {
+ coverage,
+ cell-edge-capacity,
+ ...}
+
+Coverage-Modification-List ::= SEQUENCE (SIZE (0..maxnoofCellsinNG-RANnode)) OF Coverage-Modification-List-Item
+
+Coverage-Modification-List-Item ::= SEQUENCE {
+ globalNG-RANCell-ID GlobalCell-ID,
+ cellCoverageState INTEGER (0..63, ...),
+ cellDeploymentStatusIndicator CellDeploymentStatusIndicator OPTIONAL,
+ cellReplacingInfo CellReplacingInfo OPTIONAL,
+-- Included in case the Cell Deployment Status Indicator IE is present
+ sSB-Coverage-Modification-List SSB-Coverage-Modification-List,
+ iE-Extension ProtocolExtensionContainer { { Coverage-Modification-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+Coverage-Modification-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-CoverageModificationCause CRITICALITY ignore EXTENSION CoverageModificationCause PRESENCE optional},
+ ...
+}
+
+
+CPTransportLayerInformation ::= CHOICE {
+ endpointIPAddress TransportLayerAddress,
+ choice-extension ProtocolIE-Single-Container { {CPTransportLayerInformation-ExtIEs} }
+}
+
+CPTransportLayerInformation-ExtIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-EndpointIPAddressAndPort CRITICALITY reject TYPE EndpointIPAddressAndPort PRESENCE mandatory},
+ ...
+}
+
+CPACcandidatePSCells-list ::= SEQUENCE (SIZE(1..maxnoofPSCellCandidates)) OF CPACcandidatePSCells-item
+
+CPACcandidatePSCells-item ::= SEQUENCE {
+ pscell-id NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CPACcandidatePSCells-item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CPACcandidatePSCells-item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPCindicator ::= ENUMERATED {cpc-initiation, cpc-modification, cpc-cancellation, ...}
+
+CPAInformationRequest ::= SEQUENCE {
+ max-no-of-pscells INTEGER (1..maxnoofPSCellCandidates, ...),
+ cpac-EstimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CPAInformationRequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPAInformationRequest-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPAInformationAck ::= SEQUENCE {
+ candidate-pscells CPACcandidatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { { CPAInformationAck-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPAInformationAck-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPCInformationRequired::= SEQUENCE {
+ cpc-target-sn-required-list CPC-target-SN-required-list,
+ iE-Extensions ProtocolExtensionContainer { {CPCInformationRequired-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPCInformationRequired-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPC-target-SN-required-list ::= SEQUENCE (SIZE(1..maxnoofTargetSNs)) OF CPC-target-SN-required-list-Item
+
+CPC-target-SN-required-list-Item ::= SEQUENCE {
+ target-S-NG-RANnodeID GlobalNG-RANNode-ID,
+ cpc-indicator CPCindicator,
+ max-no-of-pscells INTEGER (1..maxnoofPSCellCandidates, ...),
+ cpac-EstimatedArrivalProbability CHO-Probability OPTIONAL,
+ sN-to-MN-Container OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { CPC-target-SN-required-list-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-target-SN-required-list-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+CPCInformationConfirm ::= SEQUENCE {
+ cpc-target-sn-confirm-list CPC-target-SN-confirm-list,
+ iE-Extensions ProtocolExtensionContainer { { CPCInformationConfirm-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPCInformationConfirm-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPC-target-SN-confirm-list ::= SEQUENCE (SIZE(1..maxnoofTargetSNs)) OF CPC-target-SN-confirm-list-Item
+
+CPC-target-SN-confirm-list-Item ::= SEQUENCE {
+ target-S-NG-RANnodeID GlobalNG-RANNode-ID,
+ candidate-pscells CPACcandidatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { { CPC-target-SN-confirm-list-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-target-SN-confirm-list-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPAInformationModReq ::= SEQUENCE {
+ max-no-of-pscells INTEGER (1..8, ...) OPTIONAL,
+ cpac-EstimatedArrivalProbability CHO-Probability OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CPAInformationModReq-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPAInformationModReq-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPAInformationModReqAck ::= SEQUENCE {
+ candidate-pscells CPACcandidatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { { CPAInformationModReqAck-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPAInformationModReqAck-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPC-DataForwarding-Indicator ::= ENUMERATED {triggered, early-data-transmission-stop, ..., coordination-only}
+
+
+CPACInformationModRequired ::= SEQUENCE {
+ candidate-pscells CPACcandidatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { { CPACInformationModRequired-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPACInformationModRequired-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPCInformationUpdate::= SEQUENCE {
+ cpc-target-sn-list CPC-target-SN-mod-list,
+ iE-Extensions ProtocolExtensionContainer { { CPCInformationUpdate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPCInformationUpdate-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPC-target-SN-mod-list ::= SEQUENCE (SIZE(1..maxnoofTargetSNs)) OF CPC-target-SN-mod-item
+
+CPC-target-SN-mod-item ::= SEQUENCE {
+ target-S-NG-RANnodeID GlobalNG-RANNode-ID,
+ candidate-pscells CPCInformationUpdatePSCells-list,
+ iE-Extensions ProtocolExtensionContainer { {CPC-target-SN-mod-item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CPC-target-SN-mod-item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CPCInformationUpdatePSCells-list ::= SEQUENCE (SIZE(1..maxnoofPSCellCandidates)) OF CPCInformationUpdatePSCells-item
+
+CPCInformationUpdatePSCells-item ::= SEQUENCE {
+ pscell-id NR-CGI,
+ iE-Extensions ProtocolExtensionContainer { {CPCInformationUpdatePSCells-item-ExtIEs}} OPTIONAL,
+ ...
+}
+
+CPCInformationUpdatePSCells-item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+C-RNTI ::= BIT STRING (SIZE(16))
+
+CSI-RS-MTC-Configuration-List ::= SEQUENCE (SIZE(1.. maxnoofCSIRSconfigurations)) OF CSI-RS-MTC-Configuration-Item
+
+CSI-RS-MTC-Configuration-Item ::= SEQUENCE {
+ csi-RS-Index INTEGER(0..95),
+ csi-RS-Status ENUMERATED {activated, deactivated, ...},
+ csi-RS-Neighbour-List CSI-RS-Neighbour-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CSI-RS-MTC-Configuration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CSI-RS-MTC-Configuration-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CSI-RS-Neighbour-List ::= SEQUENCE (SIZE(1.. maxnoofCSIRSneighbourCells)) OF CSI-RS-Neighbour-Item
+
+CSI-RS-Neighbour-Item ::= SEQUENCE {
+ nr-cgi NR-CGI,
+ csi-RS-MTC-Neighbour-List CSI-RS-MTC-Neighbour-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { CSI-RS-Neighbour-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CSI-RS-Neighbour-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CSI-RS-MTC-Neighbour-List ::= SEQUENCE (SIZE(1.. maxnoofCSIRSneighbourCellsInMTC)) OF CSI-RS-MTC-Neighbour-Item
+
+CSI-RS-MTC-Neighbour-Item ::= SEQUENCE {
+ csi-RS-Index INTEGER(0..95),
+ iE-Extensions ProtocolExtensionContainer { { CSI-RS-MTC-Neighbour-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+CSI-RS-MTC-Neighbour-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+CyclicPrefix-E-UTRA-DL ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+
+CyclicPrefix-E-UTRA-UL ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+CSI-RSTransmissionIndication ::= ENUMERATED {
+ activated,
+ deactivated,
+ ...
+}
+
+
+-- D
+
+
+XnUAddressInfoperPDUSession-List ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF XnUAddressInfoperPDUSession-Item
+
+XnUAddressInfoperPDUSession-Item ::= SEQUENCE {
+ pduSession-ID PDUSession-ID,
+ dataForwardingInfoFromTargetNGRANnode DataForwardingInfoFromTargetNGRANnode OPTIONAL,
+ pduSessionResourceSetupCompleteInfo-SNterm PDUSessionResourceBearerSetupCompleteInfo-SNterminated OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { XnUAddressInfoperPDUSession-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+XnUAddressInfoperPDUSession-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-SecondarydataForwardingInfoFromTarget-List CRITICALITY ignore EXTENSION SecondarydataForwardingInfoFromTarget-List PRESENCE optional}|
+{ ID id-DRB-IDs-takenintouse CRITICALITY reject EXTENSION DRB-List PRESENCE optional}|
+{ ID id-dataForwardingInfoFromTargetE-UTRANnode CRITICALITY ignore EXTENSION DataForwardingInfoFromTargetE-UTRANnode PRESENCE optional},
+ ...
+}
+
+DataForwardingInfoFromTargetE-UTRANnode ::= SEQUENCE {
+ dataForwardingInfoFromTargetE-UTRANnode-List DataForwardingInfoFromTargetE-UTRANnode-List,
+ iE-Extension ProtocolExtensionContainer { { DataForwardingInfoFromTargetE-UTRANnode-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataForwardingInfoFromTargetE-UTRANnode-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DataForwardingInfoFromTargetE-UTRANnode-List ::= SEQUENCE (SIZE(1.. maxnoofDataForwardingTunneltoE-UTRAN)) OF DataForwardingInfoFromTargetE-UTRANnode-Item
+
+DataForwardingInfoFromTargetE-UTRANnode-Item ::= SEQUENCE {
+ dlForwardingUPTNLInformation UPTransportLayerInformation,
+ qosFlowsToBeForwarded-List QoSFlowsToBeForwarded-List,
+ iE-Extension ProtocolExtensionContainer { { DataForwardingInfoFromTargetE-UTRANnode-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataForwardingInfoFromTargetE-UTRANnode-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoSFlowsToBeForwarded-List ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF QoSFlowsToBeForwarded-Item
+QoSFlowsToBeForwarded-Item ::= SEQUENCE {
+ qosFlowIdentifier QoSFlowIdentifier,
+ iE-Extension ProtocolExtensionContainer { { QoSFlowsToBeForwarded-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsToBeForwarded-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DataForwardingInfoFromTargetNGRANnode ::= SEQUENCE {
+ qosFlowsAcceptedForDataForwarding-List QoSFLowsAcceptedToBeForwarded-List,
+ pduSessionLevelDLDataForwardingInfo UPTransportLayerInformation OPTIONAL,
+ pduSessionLevelULDataForwardingInfo UPTransportLayerInformation OPTIONAL,
+ dataForwardingResponseDRBItemList DataForwardingResponseDRBItemList OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DataForwardingInfoFromTargetNGRANnode-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataForwardingInfoFromTargetNGRANnode-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+QoSFLowsAcceptedToBeForwarded-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF QoSFLowsAcceptedToBeForwarded-Item
+
+QoSFLowsAcceptedToBeForwarded-Item ::= SEQUENCE {
+ qosFlowIdentifier QoSFlowIdentifier,
+ iE-Extension ProtocolExtensionContainer { {QoSFLowsAcceptedToBeForwarded-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFLowsAcceptedToBeForwarded-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DataforwardingandOffloadingInfofromSource ::= SEQUENCE {
+ qosFlowsToBeForwarded QoSFLowsToBeForwarded-List,
+ sourceDRBtoQoSFlowMapping DRBToQoSFlowMapping-List OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DataforwardingandOffloadingInfofromSource-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataforwardingandOffloadingInfofromSource-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoSFLowsToBeForwarded-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF QoSFLowsToBeForwarded-Item
+
+QoSFLowsToBeForwarded-Item ::= SEQUENCE {
+ qosFlowIdentifier QoSFlowIdentifier,
+ dl-dataforwarding DLForwarding,
+ ul-dataforwarding ULForwarding,
+ iE-Extension ProtocolExtensionContainer { {QoSFLowsToBeForwarded-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFLowsToBeForwarded-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-ULForwardingProposal CRITICALITY ignore EXTENSION ULForwardingProposal PRESENCE optional }|
+{ ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}|
+{ ID id-SourceNodeDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+
+
+DataForwardingResponseDRBItemList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DataForwardingResponseDRBItem
+
+DataForwardingResponseDRBItem ::= SEQUENCE {
+ drb-ID DRB-ID,
+ dlForwardingUPTNL UPTransportLayerInformation OPTIONAL,
+ ulForwardingUPTNL UPTransportLayerInformation OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DataForwardingResponseDRBItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataForwardingResponseDRBItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DataTrafficResources ::= BIT STRING (SIZE(6..17600))
+
+
+DataTrafficResourceIndication ::= SEQUENCE {
+ activationSFN ActivationSFN,
+ sharedResourceType SharedResourceType,
+ reservedSubframePattern ReservedSubframePattern OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DataTrafficResourceIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataTrafficResourceIndication-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DAPSRequestInfo ::= SEQUENCE {
+ dapsIndicator ENUMERATED {daps-HO-required, ...},
+ iE-Extensions ProtocolExtensionContainer { {DAPSRequestInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSRequestInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DAPSResponseInfo-List ::= SEQUENCE (SIZE (1..maxnoofDRBs)) OF DAPSResponseInfo-Item
+
+DAPSResponseInfo-Item ::= SEQUENCE {
+ drbID DRB-ID,
+ dapsResponseIndicator ENUMERATED {daps-HO-accepted, daps-HO-not-accepted, ...},
+ iE-Extensions ProtocolExtensionContainer { {DAPSResponseInfo-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DAPSResponseInfo-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DeliveryStatus ::= INTEGER (0..4095, ...)
+
+
+DesiredActNotificationLevel ::= ENUMERATED {none, qos-flow, pdu-session, ue-level, ...}
+
+DefaultDRB-Allowed ::= ENUMERATED {true, false, ...}
+
+DirectForwardingPathAvailability ::= ENUMERATED {direct-path-available, ...}
+
+
+DLCountChoice ::= CHOICE {
+ count12bits COUNT-PDCP-SN12,
+ count18bits COUNT-PDCP-SN18,
+ choice-extension ProtocolIE-Single-Container { {DLCountChoice-ExtIEs} }
+}
+
+DLCountChoice-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+DLForwarding ::= ENUMERATED {dl-forwarding-proposed, ...}
+
+
+DL-GBR-PRB-usage::= INTEGER (0..100)
+
+DL-GBR-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+DL-non-GBR-PRB-usage::= INTEGER (0..100)
+
+DL-non-GBR-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+DLF1Terminating-BHInfo ::= SEQUENCE {
+ egressBAPRoutingID BAPRoutingID,
+ egressBHRLCCHID BHRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { DLF1Terminating-BHInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DLF1Terminating-BHInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DLNonF1Terminating-BHInfo ::= SEQUENCE {
+ ingressBAPRoutingID BAPRoutingID,
+ ingressBHRLCCHID BHRLCChannelID,
+ priorhopBAPAddress BAPAddress,
+ iabqosMappingInformation IAB-QoS-Mapping-Information,
+ iE-Extensions ProtocolExtensionContainer { { DLNonF1Terminating-BHInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DLNonF1Terminating-BHInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DL-Total-PRB-usage::= INTEGER (0..100)
+
+DL-Total-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+DRB-ID ::= INTEGER (1..32, ...)
+
+
+DRB-List ::= SEQUENCE (SIZE (1..maxnoofDRBs)) OF DRB-ID
+
+
+DRB-List-withCause ::= SEQUENCE (SIZE (1..maxnoofDRBs)) OF DRB-List-withCause-Item
+
+DRB-List-withCause-Item ::= SEQUENCE {
+ drb-id DRB-ID,
+ cause Cause,
+ rLC-Mode RLCMode OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DRB-List-withCause-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRB-List-withCause-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRB-Number ::= INTEGER (1..32, ...)
+
+
+DRBsSubjectToDLDiscarding-List ::= SEQUENCE (SIZE (1..maxnoofDRBs)) OF DRBsSubjectToDLDiscarding-Item
+
+DRBsSubjectToDLDiscarding-Item ::= SEQUENCE {
+ drbID DRB-ID,
+ dlCount DLCountChoice,
+ iE-Extension ProtocolExtensionContainer { { DRBsSubjectToDLDiscarding-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsSubjectToDLDiscarding-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBsSubjectToEarlyStatusTransfer-List ::= SEQUENCE (SIZE (1..maxnoofDRBs)) OF DRBsSubjectToEarlyStatusTransfer-Item
+
+DRBsSubjectToEarlyStatusTransfer-Item ::= SEQUENCE {
+ drbID DRB-ID,
+ dlCount DLCountChoice,
+ iE-Extension ProtocolExtensionContainer { { DRBsSubjectToEarlyStatusTransfer-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsSubjectToEarlyStatusTransfer-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBsSubjectToStatusTransfer-List ::= SEQUENCE (SIZE (1..maxnoofDRBs)) OF DRBsSubjectToStatusTransfer-Item
+
+DRBsSubjectToStatusTransfer-Item ::= SEQUENCE {
+ drbID DRB-ID,
+ pdcpStatusTransfer-UL DRBBStatusTransferChoice,
+ pdcpStatusTransfer-DL DRBBStatusTransferChoice,
+ iE-Extension ProtocolExtensionContainer { {DRBsSubjectToStatusTransfer-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsSubjectToStatusTransfer-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-OldQoSFlowMap-ULendmarkerexpected CRITICALITY reject EXTENSION QoSFlows-List PRESENCE optional },
+ ...
+}
+
+
+DRBBStatusTransferChoice ::= CHOICE {
+ pdcp-sn-12bits DRBBStatusTransfer12bitsSN,
+ pdcp-sn-18bits DRBBStatusTransfer18bitsSN,
+ choice-extension ProtocolIE-Single-Container { {DRBBStatusTransferChoice-ExtIEs} }
+}
+
+DRBBStatusTransferChoice-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+DRBBStatusTransfer12bitsSN ::= SEQUENCE {
+ receiveStatusofPDCPSDU BIT STRING (SIZE(1..2048)) OPTIONAL,
+ cOUNTValue COUNT-PDCP-SN12,
+ iE-Extension ProtocolExtensionContainer { {DRBBStatusTransfer12bitsSN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBBStatusTransfer12bitsSN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBBStatusTransfer18bitsSN ::= SEQUENCE {
+ receiveStatusofPDCPSDU BIT STRING (SIZE(1..131072)) OPTIONAL,
+ cOUNTValue COUNT-PDCP-SN18,
+ iE-Extension ProtocolExtensionContainer { {DRBBStatusTransfer18bitsSN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBBStatusTransfer18bitsSN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBToQoSFlowMapping-List ::= SEQUENCE (SIZE (1..maxnoofDRBs)) OF DRBToQoSFlowMapping-Item
+
+DRBToQoSFlowMapping-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ qosFlows-List QoSFlows-List,
+ rLC-Mode RLCMode OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DRBToQoSFlowMapping-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBToQoSFlowMapping-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional },
+ ...
+}
+
+
+DUF-Slot-Config-List ::= SEQUENCE (SIZE(1..maxnoofDUFSlots)) OF DUF-Slot-Config-Item
+
+
+DUF-Slot-Config-Item ::= CHOICE {
+ explicitFormat ExplicitFormat,
+ implicitFormat ImplicitFormat,
+ choice-extension ProtocolIE-Single-Container { { DUF-Slot-Config-Item-ExtIEs} }
+}
+
+DUF-Slot-Config-Item-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+DUFSlotformatIndex ::= INTEGER(0..254)
+
+DUFTransmissionPeriodicity ::= ENUMERATED { ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10, ...}
+
+
+DU-RX-MT-RX ::= ENUMERATED {supported, not-supported, supported-FDM-required, ...}
+
+DU-TX-MT-TX ::= ENUMERATED {supported, not-supported, supported-FDM-required, ...}
+
+DU-RX-MT-TX ::= ENUMERATED {supported, not-supported, supported-FDM-required, ...}
+
+DU-TX-MT-RX ::= ENUMERATED {supported, not-supported, supported-FDM-required, ...}
+
+
+
+DuplicationActivation ::= ENUMERATED {active, inactive, ...}
+
+
+Dynamic5QIDescriptor ::= SEQUENCE {
+ priorityLevelQoS PriorityLevelQoS,
+ packetDelayBudget PacketDelayBudget,
+ packetErrorRate PacketErrorRate,
+ fiveQI FiveQI OPTIONAL,
+ delayCritical ENUMERATED {delay-critical, non-delay-critical, ...} OPTIONAL,
+-- This IE shall be present if the GBR QoS Flow Information IE is present in the QoS Flow Level QoS Parameters IE.
+ averagingWindow AveragingWindow OPTIONAL,
+-- This IE shall be present if the GBR QoS Flow Information IE is present in the QoS Flow Level QoS Parameters IE.
+ maximumDataBurstVolume MaximumDataBurstVolume OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {Dynamic5QIDescriptor-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Dynamic5QIDescriptor-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ExtendedPacketDelayBudget CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional}|
+ { ID id-CNPacketDelayBudgetDownlink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional}|
+ { ID id-CNPacketDelayBudgetUplink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional},
+ ...
+}
+
+
+-- E
+
+EarlyMeasurement ::= ENUMERATED {true, ...}
+
+
+E-RAB-ID ::= INTEGER (0..15, ...)
+
+
+E-UTRAARFCN ::= INTEGER (0..maxEARFCN)
+
+
+E-UTRA-Cell-Identity ::= BIT STRING (SIZE(28))
+
+
+E-UTRA-CGI ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ e-utra-CI E-UTRA-Cell-Identity,
+ iE-Extension ProtocolExtensionContainer { {E-UTRA-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-UTRA-CGI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-UTRAFrequencyBandIndicator ::= INTEGER (1..256, ...)
+
+
+E-UTRAMultibandInfoList ::= SEQUENCE (SIZE(1..maxnoofEUTRABands)) OF E-UTRAFrequencyBandIndicator
+
+
+EUTRAPagingeDRXInformation ::= SEQUENCE {
+ eutrapaging-eDRX-Cycle EUTRAPaging-eDRX-Cycle,
+ eutrapaging-Time-Window EUTRAPaging-Time-Window OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {EUTRAPagingeDRXInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EUTRAPagingeDRXInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EUTRAPaging-eDRX-Cycle ::= ENUMERATED {
+ hfhalf, hf1, hf2, hf4, hf6,
+ hf8, hf10, hf12, hf14, hf16,
+ hf32, hf64, hf128, hf256,
+ ...
+}
+
+
+EUTRAPaging-Time-Window ::= ENUMERATED {
+ s1, s2, s3, s4, s5,
+ s6, s7, s8, s9, s10,
+ s11, s12, s13, s14, s15, s16,
+ ...
+}
+
+E-UTRAPCI ::= INTEGER (0..503, ...)
+
+
+E-UTRAPRACHConfiguration ::= SEQUENCE {
+ rootSequenceIndex INTEGER (0..837),
+ zeroCorrelationIndex INTEGER (0..15),
+ highSpeedFlag ENUMERATED {true, false, ...},
+ prach-FreqOffset INTEGER (0..94),
+ prach-ConfigIndex INTEGER (0..63) OPTIONAL,
+-- C-ifTDD: This IE shall be present if the EUTRA-Mode-Info IE in the Served Cell Information IE is set to the value "TDD" --
+ iE-Extensions ProtocolExtensionContainer { {E-UTRAPRACHConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-UTRAPRACHConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-UTRATransmissionBandwidth ::= ENUMERATED {bw6, bw15, bw25, bw50, bw75, bw100, ..., bw1}
+
+EndpointIPAddressAndPort ::=SEQUENCE {
+ endpointIPAddress TransportLayerAddress,
+ portNumber PortNumber,
+ iE-Extensions ProtocolExtensionContainer { { EndpointIPAddressAndPort-ExtIEs} } OPTIONAL
+}
+
+EndpointIPAddressAndPort-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+EventTriggered ::= SEQUENCE {
+ loggedEventTriggeredConfig LoggedEventTriggeredConfig,
+ iE-Extensions ProtocolExtensionContainer { { EventTriggered-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventTriggered-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+EventType ::= ENUMERATED {
+ report-upon-change-of-serving-cell,
+ report-UE-moving-presence-into-or-out-of-the-Area-of-Interest,
+ ...,
+ report-upon-change-of-serving-cell-and-Area-of-Interest
+}
+
+
+EventTypeTrigger ::= CHOICE {
+ outOfCoverage ENUMERATED {true, ...},
+ eventL1 EventL1,
+ choice-Extensions ProtocolIE-Single-Container { {EventTypeTrigger-ExtIEs} }
+}
+
+EventTypeTrigger-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+EventL1 ::= SEQUENCE {
+ l1Threshold MeasurementThresholdL1LoggedMDT,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ iE-Extensions ProtocolExtensionContainer { { EventL1-ExtIEs} } OPTIONAL,
+ ...
+}
+
+EventL1-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MeasurementThresholdL1LoggedMDT ::= CHOICE {
+ threshold-RSRP Threshold-RSRP,
+ threshold-RSRQ Threshold-RSRQ,
+ ...,
+ choice-extension ProtocolIE-Single-Container { {MeasurementThresholdL1LoggedMDT-ExtIEs} }
+}
+
+MeasurementThresholdL1LoggedMDT-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+ExcessPacketDelayThresholdConfiguration ::= SEQUENCE (SIZE(1..maxnoofThresholdsForExcessPacketDelay)) OF ExcessPacketDelayThresholdItem
+
+ExcessPacketDelayThresholdItem ::= SEQUENCE {
+ fiveQI FiveQI,
+ excessPacketDelayThresholdValue ExcessPacketDelayThresholdValue,
+ iE-Extensions ProtocolExtensionContainer { { ExcessPacketDelayThresholdItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ExcessPacketDelayThresholdItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExcessPacketDelayThresholdValue ::= ENUMERATED {
+ ms0dot25, ms0dot5, ms1, ms2, ms4, ms5, ms10, ms20, ms30, ms40, ms50, ms60, ms70, ms80, ms90, ms100, ms150, ms300, ms500,
+ ...
+}
+
+ExpectedActivityPeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181, ...)
+
+ExpectedHOInterval ::= ENUMERATED {
+ sec15, sec30, sec60, sec90, sec120, sec180, long-time,
+ ...
+}
+
+ExpectedIdlePeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181, ...)
+
+ExpectedUEActivityBehaviour ::= SEQUENCE {
+ expectedActivityPeriod ExpectedActivityPeriod OPTIONAL,
+ expectedIdlePeriod ExpectedIdlePeriod OPTIONAL,
+ sourceOfUEActivityBehaviourInformation SourceOfUEActivityBehaviourInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ExpectedUEActivityBehaviour-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEActivityBehaviour-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExpectedUEBehaviour ::= SEQUENCE {
+ expectedUEActivityBehaviour ExpectedUEActivityBehaviour OPTIONAL,
+ expectedHOInterval ExpectedHOInterval OPTIONAL,
+ expectedUEMobility ExpectedUEMobility OPTIONAL,
+ expectedUEMovingTrajectory ExpectedUEMovingTrajectory OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ExpectedUEBehaviour-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEBehaviour-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ExpectedUEMobility ::= ENUMERATED {
+ stationary,
+ mobile,
+ ...
+}
+
+ExpectedUEMovingTrajectory ::= SEQUENCE (SIZE(1..maxnoofCellsUEMovingTrajectory)) OF ExpectedUEMovingTrajectoryItem
+
+ExpectedUEMovingTrajectoryItem ::= SEQUENCE {
+ nGRAN-CGI GlobalNG-RANCell-ID,
+ timeStayedInCell INTEGER (0..4095) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ExpectedUEMovingTrajectoryItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExpectedUEMovingTrajectoryItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SourceOfUEActivityBehaviourInformation ::= ENUMERATED {
+ subscription-information,
+ statistics,
+ ...
+}
+
+ExplicitFormat ::= SEQUENCE {
+ permutation Permutation,
+ noofDownlinkSymbols INTEGER(0..14) OPTIONAL,
+ noofUplinkSymbols INTEGER(0..14) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ExplicitFormat-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExplicitFormat-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ExtendedRATRestrictionInformation ::= SEQUENCE {
+ primaryRATRestriction BIT STRING (SIZE(8, ...)),
+ secondaryRATRestriction BIT STRING (SIZE(8, ...)),
+ iE-Extensions ProtocolExtensionContainer { {ExtendedRATRestrictionInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExtendedRATRestrictionInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ExtendedPacketDelayBudget ::= INTEGER (0..65535, ..., 65536..109999)
+
+ExtendedSliceSupportList ::= SEQUENCE (SIZE(1..maxnoofExtSliceItems)) OF S-NSSAI
+
+ExtendedUEIdentityIndexValue ::= BIT STRING (SIZE(16))
+
+ExtTLAs ::= SEQUENCE (SIZE(1..maxnoofExtTLAs)) OF ExtTLA-Item
+
+ExtTLA-Item ::= SEQUENCE {
+ iPsecTLA TransportLayerAddress OPTIONAL,
+ gTPTransportLayerAddresses GTPTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ExtTLA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ExtTLA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofGTPTLAs)) OF GTPTLA-Item
+
+
+GTPTLA-Item ::= SEQUENCE {
+ gTPTransportLayerAddresses TransportLayerAddress,
+ iE-Extensions ProtocolExtensionContainer { { GTPTLA-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GTPTLA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- F
+
+F1CTrafficContainer ::= OCTET STRING
+
+F1-terminatingIAB-donorIndicator ::= ENUMERATED {true, ...}
+
+F1-TerminatingTopologyBHInformation ::= SEQUENCE {
+ f1TerminatingBHInformation-List F1TerminatingBHInformation-List,
+ iE-Extensions ProtocolExtensionContainer { {F1-TerminatingTopologyBHInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+F1-TerminatingTopologyBHInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+F1TerminatingBHInformation-List ::= SEQUENCE (SIZE(1..maxnoofBHInfo)) OF F1TerminatingBHInformation-Item
+
+F1TerminatingBHInformation-Item ::= SEQUENCE {
+ bHInfoIndex BHInfoIndex,
+ dLTNLAddress IABTNLAddress,
+ dlF1TerminatingBHInfo DLF1Terminating-BHInfo OPTIONAL,
+ ulF1TerminatingBHInfo ULF1Terminating-BHInfo OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { F1TerminatingBHInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+F1TerminatingBHInformation-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+FiveGCMobilityRestrictionListContainer ::= OCTET STRING
+-- This octets of the OCTET STRING contain the Mobility Restriction List IE as specified in TS 38.413 [5]. --
+
+FiveGProSeAuthorized ::= SEQUENCE {
+ fiveGproSeDirectDiscovery FiveGProSeDirectDiscovery OPTIONAL,
+ fiveGproSeDirectCommunication FiveGProSeDirectCommunication OPTIONAL,
+ fiveGnrProSeLayer2UEtoNetworkRelay FiveGProSeLayer2UEtoNetworkRelay OPTIONAL,
+ fiveGnrProSeLayer3UEtoNetworkRelay FiveGProSeLayer3UEtoNetworkRelay OPTIONAL,
+ fiveGnrProSeLayer2RemoteUE FiveGProSeLayer2RemoteUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {FiveGProSeAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveGProSeAuthorized-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveGProSeDirectDiscovery ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveGProSeDirectCommunication ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveGProSeLayer2UEtoNetworkRelay ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveGProSeLayer3UEtoNetworkRelay ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveGProSeLayer2RemoteUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+FiveGProSePC5QoSParameters ::= SEQUENCE {
+ fiveGProSepc5QoSFlowList FiveGProSePC5QoSFlowList,
+ fiveGproSepc5LinkAggregateBitRates BitRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FiveGProSePC5QoSParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveGProSePC5QoSParameters-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveGProSePC5QoSFlowList::= SEQUENCE (SIZE(1..maxnoofPC5QoSFlows)) OF FiveGProSePC5QoSFlowItem
+
+FiveGProSePC5QoSFlowItem::= SEQUENCE {
+ fiveGproSepQI FiveQI,
+ fiveGproSepc5FlowBitRates FiveGProSePC5FlowBitRates OPTIONAL,
+ fiveGproSerange Range OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FiveGProSePC5QoSFlowItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveGProSePC5QoSFlowItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveGProSePC5FlowBitRates ::= SEQUENCE {
+ fiveGproSeguaranteedFlowBitRate BitRate,
+ fiveGproSemaximumFlowBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { { FiveGProSePC5FlowBitRates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveGProSePC5FlowBitRates-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FiveQI ::= INTEGER (0..255, ...)
+
+Flows-Mapped-To-DRB-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF Flows-Mapped-To-DRB-Item
+
+Flows-Mapped-To-DRB-Item ::= SEQUENCE {
+ qoSFlowIdentifier QoSFlowIdentifier,
+ qoSFlowLevelQoSParameters QoSFlowLevelQoSParameters,
+ qoSFlowMappingIndication QoSFlowMappingIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { Flows-Mapped-To-DRB-Item-ExtIEs} } OPTIONAL
+}
+
+Flows-Mapped-To-DRB-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FreqDomainHSNAconfiguration-List ::= SEQUENCE (SIZE(1.. maxnoofHSNASlots)) OF FreqDomainHSNAconfiguration-List-Item
+
+FreqDomainHSNAconfiguration-List-Item ::= SEQUENCE {
+ rBsetIndex INTEGER(0.. maxnoofRBsetsPerCell1, ...),
+ freqDomainSlotHSNAconfiguration-List FreqDomainSlotHSNAconfiguration-List,
+ iE-Extensions ProtocolExtensionContainer { { FreqDomainHSNAconfiguration-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FreqDomainHSNAconfiguration-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+FreqDomainSlotHSNAconfiguration-List ::= SEQUENCE (SIZE(1.. maxnoofHSNASlots)) OF FreqDomainSlotHSNAconfiguration-List-Item
+
+FreqDomainSlotHSNAconfiguration-List-Item ::= SEQUENCE {
+ slotIndex INTEGER(1..maxnoofHSNASlots),
+ hSNADownlink HSNADownlink OPTIONAL,
+ hSNAUplink HSNAUplink OPTIONAL,
+ hSNAFlexible HSNAFlexible OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { FreqDomainSlotHSNAconfiguration-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FreqDomainSlotHSNAconfiguration-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FrequencyShift7p5khz ::= ENUMERATED {false, true, ...}
+
+-- G
+
+
+GBRQoSFlowInfo ::= SEQUENCE {
+ maxFlowBitRateDL BitRate,
+ maxFlowBitRateUL BitRate,
+ guaranteedFlowBitRateDL BitRate,
+ guaranteedFlowBitRateUL BitRate,
+ notificationControl ENUMERATED {notification-requested, ...} OPTIONAL,
+ maxPacketLossRateDL PacketLossRate OPTIONAL,
+ maxPacketLossRateUL PacketLossRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {GBRQoSFlowInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBRQoSFlowInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-AlternativeQoSParaSetList CRITICALITY ignore EXTENSION AlternativeQoSParaSetList PRESENCE optional },
+ ...
+}
+
+GlobalgNB-ID ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ gnb-id GNB-ID-Choice,
+ iE-Extensions ProtocolExtensionContainer { {GlobalgNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalgNB-ID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-DU-Cell-Resource-Configuration ::= SEQUENCE {
+ subcarrierSpacing SSB-subcarrierSpacing,
+ dUFTransmissionPeriodicity DUFTransmissionPeriodicity OPTIONAL,
+ dUF-Slot-Config-List DUF-Slot-Config-List OPTIONAL,
+ hSNATransmissionPeriodicity HSNATransmissionPeriodicity,
+ hNSASlotConfigList HSNASlotConfigList OPTIONAL,
+ rBsetConfiguration RBsetConfiguration OPTIONAL,
+ freqDomainHSNAconfiguration-List FreqDomainHSNAconfiguration-List OPTIONAL,
+ nACellResourceConfigurationList NACellResourceConfigurationList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { GNB-DU-Cell-Resource-Configuration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+GNB-DU-Cell-Resource-Configuration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+GNB-ID-Choice ::= CHOICE {
+ gnb-ID BIT STRING (SIZE(22..32)),
+ choice-extension ProtocolIE-Single-Container { {GNB-ID-Choice-ExtIEs} }
+}
+
+GNB-ID-Choice-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+GNB-RadioResourceStatus ::= SEQUENCE {
+ ssbAreaRadioResourceStatus-List SSBAreaRadioResourceStatus-List,
+ iE-Extensions ProtocolExtensionContainer { { GNB-RadioResourceStatus-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GNB-RadioResourceStatus-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SliceRadioResourceStatus-List CRITICALITY ignore EXTENSION SliceRadioResourceStatus-List PRESENCE optional }|
+ { ID id-MIMOPRBusageInformation CRITICALITY ignore EXTENSION MIMOPRBusageInformation PRESENCE optional },
+ ...
+}
+
+
+GlobalCell-ID ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ cell-type Cell-Type-Choice,
+ iE-Extensions ProtocolExtensionContainer { { GlobalCell-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalCell-ID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GlobalngeNB-ID ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ enb-id ENB-ID-Choice,
+ iE-Extensions ProtocolExtensionContainer { {GlobaleNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobaleNB-ID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ENB-ID-Choice ::= CHOICE {
+ enb-ID-macro BIT STRING (SIZE(20)),
+ enb-ID-shortmacro BIT STRING (SIZE(18)),
+ enb-ID-longmacro BIT STRING (SIZE(21)),
+ choice-extension ProtocolIE-Single-Container { {ENB-ID-Choice-ExtIEs} }
+}
+
+ENB-ID-Choice-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+GlobalNG-RANCell-ID ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ ng-RAN-Cell-id NG-RAN-Cell-Identity,
+ iE-Extensions ProtocolExtensionContainer { {GlobalNG-RANCell-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalNG-RANCell-ID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GlobalNG-RANNode-ID ::= CHOICE {
+ gNB GlobalgNB-ID,
+ ng-eNB GlobalngeNB-ID,
+ choice-extension ProtocolIE-Single-Container { {GlobalNG-RANNode-ID-ExtIEs} }
+}
+
+GlobalNG-RANNode-ID-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+GTP-TEID ::= OCTET STRING (SIZE(4))
+
+
+GTPtunnelTransportLayerInformation ::= SEQUENCE {
+ tnl-address TransportLayerAddress,
+ gtp-teid GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { {GTPtunnelTransportLayerInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GTPtunnelTransportLayerInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-QoS-Mapping-Information CRITICALITY reject EXTENSION QoS-Mapping-Information PRESENCE optional },
+ ...
+}
+
+
+GUAMI ::= SEQUENCE {
+ plmn-ID PLMN-Identity,
+ amf-region-id BIT STRING (SIZE (8)),
+ amf-set-id BIT STRING (SIZE (10)),
+ amf-pointer BIT STRING (SIZE (6)),
+ iE-Extensions ProtocolExtensionContainer { {GUAMI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GUAMI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- H
+
+
+HandoverReportType ::= ENUMERATED {
+ hoTooEarly,
+ hoToWrongCell,
+ intersystempingpong,
+ ...
+}
+
+HashedUEIdentityIndexValue ::= BIT STRING (SIZE(13, ...))
+
+HSNASlotConfigList ::= SEQUENCE (SIZE(1..maxnoofHSNASlots)) OF HSNASlotConfigItem
+
+HSNASlotConfigItem ::= SEQUENCE {
+ hSNADownlink HSNADownlink OPTIONAL,
+ hSNAUplink HSNAUplink OPTIONAL,
+ hSNAFlexible HSNAFlexible OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { HSNASlotConfigItem-ExtIEs } } OPTIONAL,
+ ...
+}
+
+HSNASlotConfigItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+HSNADownlink ::= ENUMERATED { hard, soft, notavailable }
+
+HSNAFlexible ::= ENUMERATED { hard, soft, notavailable }
+
+HSNAUplink ::= ENUMERATED { hard, soft, notavailable }
+
+HSNATransmissionPeriodicity ::= ENUMERATED { ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10, ms20, ms40, ms80, ms160, ...}
+
+
+Hysteresis ::= INTEGER (0..30)
+
+
+-- I
+
+IABCellInformation::= SEQUENCE{
+ nRCGI NR-CGI,
+ iAB-DU-Cell-Resource-Configuration-Mode-Info IAB-DU-Cell-Resource-Configuration-Mode-Info OPTIONAL,
+ iAB-STC-Info IAB-STC-Info OPTIONAL,
+ rACH-Config-Common RACH-Config-Common OPTIONAL,
+ rACH-Config-Common-IAB RACH-Config-Common-IAB OPTIONAL,
+ cSI-RS-Configuration OCTET STRING OPTIONAL,
+ sR-Configuration OCTET STRING OPTIONAL,
+ pDCCH-ConfigSIB1 OCTET STRING OPTIONAL,
+ sCS-Common OCTET STRING OPTIONAL,
+ multiplexingInfo MultiplexingInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { IABCellInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+IABCellInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+IAB-DU-Cell-Resource-Configuration-Mode-Info ::= CHOICE {
+ tDD IAB-DU-Cell-Resource-Configuration-TDD-Info,
+ fDD IAB-DU-Cell-Resource-Configuration-FDD-Info,
+ choice-extension ProtocolIE-Single-Container { { IAB-DU-Cell-Resource-Configuration-Mode-Info-ExtIEs} }
+}
+
+IAB-DU-Cell-Resource-Configuration-Mode-Info-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+IAB-DU-Cell-Resource-Configuration-FDD-Info ::= SEQUENCE {
+ gNB-DU-Cell-Resource-Configuration-FDD-UL GNB-DU-Cell-Resource-Configuration,
+ gNB-DU-Cell-Resource-Configuration-FDD-DL GNB-DU-Cell-Resource-Configuration,
+ uLFrequencyInfo NRFrequencyInfo OPTIONAL,
+ dLFrequencyInfo NRFrequencyInfo OPTIONAL,
+ uLTransmissionBandwidth NRTransmissionBandwidth OPTIONAL,
+ dlTransmissionBandwidth NRTransmissionBandwidth OPTIONAL,
+ uLCarrierList NRCarrierList OPTIONAL,
+ dlCarrierList NRCarrierList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {IAB-DU-Cell-Resource-Configuration-FDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IAB-DU-Cell-Resource-Configuration-FDD-Info-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-DU-Cell-Resource-Configuration-TDD-Info ::= SEQUENCE {
+ gNB-DU-Cell-Resource-Configuration-TDD GNB-DU-Cell-Resource-Configuration,
+ frequencyInfo NRFrequencyInfo OPTIONAL,
+ transmissionBandwidth NRTransmissionBandwidth OPTIONAL,
+ carrierList NRCarrierList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {IAB-DU-Cell-Resource-Configuration-TDD-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IAB-DU-Cell-Resource-Configuration-TDD-Info-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-MT-Cell-List ::= SEQUENCE (SIZE(1..maxnoofServingCells)) OF IAB-MT-Cell-List-Item
+
+IAB-MT-Cell-List-Item ::= SEQUENCE {
+ nRCellIdentity NR-Cell-Identity,
+ dU-RX-MT-RX DU-RX-MT-RX,
+ dU-TX-MT-TX DU-TX-MT-TX,
+ dU-RX-MT-TX DU-RX-MT-TX,
+ dU-TX-MT-RX DU-TX-MT-RX,
+ iE-Extensions ProtocolExtensionContainer { { IAB-MT-Cell-List-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+IAB-MT-Cell-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IABNodeIndication ::= ENUMERATED {true,...}
+
+IAB-QoS-Mapping-Information ::= SEQUENCE {
+ dscp BIT STRING (SIZE(6)) OPTIONAL,
+ flow-label BIT STRING (SIZE(20)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {IAB-QoS-Mapping-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IAB-QoS-Mapping-Information-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-STC-Info ::= SEQUENCE{
+ iAB-STC-Info-List IAB-STC-Info-List,
+ iE-Extensions ProtocolExtensionContainer { { IAB-STC-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+IAB-STC-Info-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-STC-Info-List ::= SEQUENCE (SIZE(1..maxnoofIABSTCInfo)) OF IAB-STC-Info-Item
+
+IAB-STC-Info-Item::= SEQUENCE {
+ sSB-freqInfo SSB-freqInfo,
+ sSB-subcarrierSpacing SSB-subcarrierSpacing,
+ sSB-transmissionPeriodicity SSB-transmissionPeriodicity,
+ sSB-transmissionTimingOffset SSB-transmissionTimingOffset,
+ sSB-transmissionBitmap SSB-transmissionBitmap,
+ iE-Extensions ProtocolExtensionContainer { { IAB-STC-Info-Item-ExtIEs } } OPTIONAL,
+ ...
+}
+
+IAB-STC-Info-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IAB-TNL-Address-Request ::= SEQUENCE {
+ iABIPv4AddressesRequested IABTNLAddressesRequested,
+ iABIPv6RequestType IABIPv6RequestType,
+ iABTNLAddressToRemove-List IABTNLAddressToRemove-List,
+ iE-Extensions ProtocolExtensionContainer { {IAB-TNL-Address-Request-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IAB-TNL-Address-Request-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IABIPv6RequestType ::= CHOICE {
+ iPv6Address IABTNLAddressesRequested,
+ iPv6Prefix IABTNLAddressesRequested,
+ choice-extension ProtocolIE-Single-Container { {IABIPv6RequestType-ExtIEs} }
+}
+
+IABIPv6RequestType-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+IAB-TNL-Address-Response ::= SEQUENCE {
+ iABAllocatedTNLAddress-List IABAllocatedTNLAddress-List,
+ iE-Extensions ProtocolExtensionContainer { {IAB-TNL-Address-Response-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IAB-TNL-Address-Response-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IABAllocatedTNLAddress-List ::= SEQUENCE (SIZE(1..maxnoofTLAsIAB)) OF IABAllocatedTNLAddress-Item
+
+IABAllocatedTNLAddress-Item ::= SEQUENCE {
+ iABTNLAddress IABTNLAddress,
+ iABTNLAddressUsage IABTNLAddressUsage OPTIONAL,
+ associatedDonorDUAddress BAPAddress OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {IABAllocatedTNLAddress-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IABAllocatedTNLAddress-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IABTNLAddress ::= CHOICE {
+ iPv4Address BIT STRING (SIZE(32)),
+ iPv6Address BIT STRING (SIZE(128)),
+ iPv6Prefix BIT STRING (SIZE(64)),
+ choice-extension ProtocolIE-Single-Container { {IABTNLAddress-ExtIEs} }
+}
+
+IABTNLAddress-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+IABTNLAddressesRequested ::= SEQUENCE {
+ tNLAddressesOrPrefixesRequestedAllTraffic INTEGER (1..256) OPTIONAL,
+ tNLAddressesOrPrefixesRequestedF1-C INTEGER (1..256) OPTIONAL,
+ tNLAddressesOrPrefixesRequestedF1-U INTEGER (1..256) OPTIONAL,
+ tNLAddressesOrPrefixesRequestedNoNF1 INTEGER (1..256) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {IABTNLAddressesRequested-ExtIEs} } OPTIONAL
+}
+
+IABTNLAddressesRequested-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+IABTNLAddressToRemove-List ::= SEQUENCE (SIZE(1..maxnoofTLAsIAB)) OF IABTNLAddressToRemove-Item
+
+IABTNLAddressToRemove-Item ::= SEQUENCE {
+ iABTNLAddress IABTNLAddress,
+ iE-Extension ProtocolExtensionContainer { {IABTNLAddressToRemove-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IABTNLAddressToRemove-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IABTNLAddressUsage ::= ENUMERATED {
+ f1-c,
+ f1-u,
+ non-f1,
+ ...,
+ all
+}
+
+IABTNLAddressException ::= SEQUENCE (SIZE(1..maxnoofTLAsIAB)) OF IABTNLAddress-Item
+
+
+IABTNLAddress-Item ::= SEQUENCE {
+ iABTNLAddress IABTNLAddress,
+ iE-Extensions ProtocolExtensionContainer { { IABTNLAddress-ItemExtIEs } } OPTIONAL,
+ ...}
+
+IABTNLAddress-ItemExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ImmediateMDT-NR ::= SEQUENCE {
+ measurementsToActivate MeasurementsToActivate,
+ m1Configuration M1Configuration OPTIONAL,
+ m4Configuration M4Configuration OPTIONAL,
+ m5Configuration M5Configuration OPTIONAL,
+ mDT-Location-Info MDT-Location-Info OPTIONAL,
+ m6Configuration M6Configuration OPTIONAL,
+ m7Configuration M7Configuration OPTIONAL,
+ bluetoothMeasurementConfiguration BluetoothMeasurementConfiguration OPTIONAL,
+ wLANMeasurementConfiguration WLANMeasurementConfiguration OPTIONAL,
+ sensorMeasurementConfiguration SensorMeasurementConfiguration OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ImmediateMDT-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ImmediateMDT-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ImplicitFormat ::= SEQUENCE {
+ dUFSlotformatIndex DUFSlotformatIndex,
+ iE-Extensions ProtocolExtensionContainer { { ImplicitFormat-ExtIEs } } OPTIONAL,
+ ...
+}
+
+ImplicitFormat-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+InitiatingCondition-FailureIndication ::= CHOICE {
+ rRCReestab RRCReestab-initiated,
+ rRCSetup RRCSetup-initiated,
+ choice-extension ProtocolIE-Single-Container { {InitiatingCondition-FailureIndication-ExtIEs} }
+}
+
+InitiatingCondition-FailureIndication-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+IntendedTDD-DL-ULConfiguration-NR ::= SEQUENCE {
+ nrscs NRSCS,
+ nrCyclicPrefix NRCyclicPrefix,
+ nrDL-ULTransmissionPeriodicity NRDL-ULTransmissionPeriodicity,
+ slotConfiguration-List SlotConfiguration-List,
+ iE-Extensions ProtocolExtensionContainer { {IntendedTDD-DL-ULConfiguration-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IntendedTDD-DL-ULConfiguration-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+InterfaceInstanceIndication ::= INTEGER (0..255, ...)
+
+
+I-RNTI ::= CHOICE {
+ i-RNTI-full BIT STRING (SIZE(40)),
+ i-RNTI-short BIT STRING (SIZE(24)),
+ choice-extension ProtocolIE-Single-Container { {I-RNTI-ExtIEs} }
+}
+
+I-RNTI-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+-- J
+
+
+-- K
+
+
+-- L
+
+
+Local-NG-RAN-Node-Identifier ::= CHOICE {
+ full-I-RNTI-Profile-List Full-I-RNTI-Profile-List,
+ short-I-RNTI-Profile-List Short-I-RNTI-Profile-List,
+ choice-extension ProtocolIE-Single-Container { { Local-NG-RAN-Node-Identifier-ExtIEs} }
+}
+
+Local-NG-RAN-Node-Identifier-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+Full-I-RNTI-Profile-List ::= CHOICE {
+ full-I-RNTI-Profile-0 BIT STRING (SIZE (21)),
+ full-I-RNTI-Profile-1 BIT STRING (SIZE (18)),
+ full-I-RNTI-Profile-2 BIT STRING (SIZE (15)),
+ full-I-RNTI-Profile-3 BIT STRING (SIZE (12)),
+ choice-extension ProtocolIE-Single-Container { { Full-I-RNTI-Profile-List-ExtIEs} }
+}
+
+Full-I-RNTI-Profile-List-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+Short-I-RNTI-Profile-List ::= CHOICE {
+ short-I-RNTI-Profile-0 BIT STRING (SIZE (8)),
+ short-I-RNTI-Profile-1 BIT STRING (SIZE (6)),
+ choice-extension ProtocolIE-Single-Container { { Short-I-RNTI-Profile-List-ExtIEs} }
+}
+
+Short-I-RNTI-Profile-List-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+LastVisitedCell-Item ::= CHOICE {
+ nG-RAN-Cell LastVisitedNGRANCellInformation,
+ e-UTRAN-Cell LastVisitedEUTRANCellInformation,
+ uTRAN-Cell LastVisitedUTRANCellInformation,
+ gERAN-Cell LastVisitedGERANCellInformation,
+ choice-extension ProtocolIE-Single-Container { { LastVisitedCell-Item-ExtIEs} }
+}
+
+LastVisitedCell-Item-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+LastVisitedEUTRANCellInformation ::= OCTET STRING
+
+LastVisitedGERANCellInformation ::= OCTET STRING
+
+LastVisitedNGRANCellInformation ::= OCTET STRING
+
+LastVisitedUTRANCellInformation ::= OCTET STRING
+
+LastVisitedPSCellInformation ::= OCTET STRING
+
+LastVisitedPSCellList ::= SEQUENCE (SIZE(1..maxnoofPSCellsPerSN)) OF LastVisitedPSCellList-Item
+
+LastVisitedPSCellList-Item ::= SEQUENCE {
+ lastVisitedPSCellInformation LastVisitedPSCellInformation,
+ iE-Extensions ProtocolExtensionContainer { { LastVisitedPSCellList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LastVisitedPSCellList-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SCGUEHistoryInformation ::= SEQUENCE {
+ lastVisitedPSCellList LastVisitedPSCellList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SCGUEHistoryInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SCGUEHistoryInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+LCID ::= INTEGER (1..32, ...)
+
+Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}
+
+
+ListOfCells ::= SEQUENCE (SIZE(1..maxnoofCellsinAoI)) OF CellsinAoI-Item
+
+CellsinAoI-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ ng-ran-cell-id NG-RAN-Cell-Identity,
+ iE-Extensions ProtocolExtensionContainer { {CellsinAoI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellsinAoI-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ListOfRANNodesinAoI ::= SEQUENCE (SIZE(1.. maxnoofRANNodesinAoI)) OF GlobalNG-RANNodesinAoI-Item
+
+GlobalNG-RANNodesinAoI-Item ::= SEQUENCE {
+ global-NG-RAN-Node-ID GlobalNG-RANNode-ID,
+ iE-Extensions ProtocolExtensionContainer { {GlobalNG-RANNodesinAoI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalNG-RANNodesinAoI-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ListOfTAIsinAoI ::= SEQUENCE (SIZE(1..maxnoofTAIsinAoI)) OF TAIsinAoI-Item
+
+TAIsinAoI-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ tAC TAC,
+ iE-Extensions ProtocolExtensionContainer { {TAIsinAoI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIsinAoI-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LocationInformationSNReporting ::= ENUMERATED {
+ pSCell,
+ ...
+}
+
+LocationReportingInformation ::= SEQUENCE {
+ eventType EventType,
+ reportArea ReportArea,
+ areaOfInterest AreaOfInterestInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LocationReportingInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LocationReportingInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ { ID id-AdditionLocationInformation CRITICALITY ignore EXTENSION AdditionLocationInformation PRESENCE optional},
+ ...
+}
+
+LoggedEventTriggeredConfig ::= SEQUENCE {
+ eventTypeTrigger EventTypeTrigger,
+ iE-Extensions ProtocolExtensionContainer { { LoggedEventTriggeredConfig-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LoggedEventTriggeredConfig-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+LoggedMDT-NR ::= SEQUENCE {
+ loggingInterval LoggingInterval,
+ loggingDuration LoggingDuration,
+ reportType ReportType,
+ bluetoothMeasurementConfiguration BluetoothMeasurementConfiguration OPTIONAL,
+ wLANMeasurementConfiguration WLANMeasurementConfiguration OPTIONAL,
+ sensorMeasurementConfiguration SensorMeasurementConfiguration OPTIONAL,
+ areaScopeOfNeighCellsList AreaScopeOfNeighCellsList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LoggedMDT-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LoggedMDT-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-earlyMeasurement CRITICALITY ignore EXTENSION EarlyMeasurement PRESENCE optional },
+...
+}
+
+LoggingInterval ::= ENUMERATED { ms320, ms640, ms1280, ms2560, ms5120, ms10240, ms20480, ms30720, ms40960, ms61440, infinity,...}
+
+LoggingDuration ::= ENUMERATED {m10, m20, m40, m60, m90, m120}
+
+LowerLayerPresenceStatusChange ::= ENUMERATED {
+ release-lower-layers,
+ re-establish-lower-layers,
+ ...,
+ suspend-lower-layers,
+ resume-lower-layers
+}
+
+LTEV2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+ pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LTEV2XServicesAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LTEV2XServicesAuthorized-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+LTEUESidelinkAggregateMaximumBitRate ::= SEQUENCE {
+ uESidelinkAggregateMaximumBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {LTEUESidelinkAggregateMaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LTEUESidelinkAggregateMaximumBitRate-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- M
+
+MaxNrofRS-IndexesToReport::= INTEGER (1..64, ...)
+
+
+MDTAlignmentInfo ::= CHOICE {
+ s-BasedMDT S-BasedMDT,
+ choice-extension ProtocolIE-Single-Container { {MDTAlignmentInfo-ExtIEs} }
+}
+
+
+MDTAlignmentInfo-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MeasCollectionEntityIPAddress ::= TransportLayerAddress
+
+
+M1Configuration ::= SEQUENCE {
+ m1reportingTrigger M1ReportingTrigger,
+ m1thresholdeventA2 M1ThresholdEventA2 OPTIONAL,
+-- Included in case of event-triggered, or event-triggered periodic reporting for measurement M1
+ m1periodicReporting M1PeriodicReporting OPTIONAL,
+-- Included in case of periodic or event-triggered periodic reporting
+ iE-Extensions ProtocolExtensionContainer { { M1Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1Configuration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-BeamMeasurementIndicationM1 CRITICALITY ignore EXTENSION BeamMeasurementIndicationM1 PRESENCE optional }|
+ {ID id-BeamMeasurementsReportConfiguration CRITICALITY ignore EXTENSION BeamMeasurementsReportConfiguration PRESENCE conditional },
+-- The above IE shall be present if the BeamMeasurementIndicationM1 IE is set to “trueâ€
+ ...
+}
+
+
+M1PeriodicReporting ::= SEQUENCE {
+ reportInterval ReportIntervalMDT,
+ reportAmount ReportAmountMDT,
+ iE-Extensions ProtocolExtensionContainer { { M1PeriodicReporting-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1PeriodicReporting-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-ExtendedReportIntervalMDT CRITICALITY ignore EXTENSION ExtendedReportIntervalMDT PRESENCE optional},
+ ...
+}
+
+M1ReportingTrigger ::= ENUMERATED{
+ periodic,
+ a2eventtriggered,
+ a2eventtriggered-periodic,
+ ...
+
+}
+
+M1ThresholdEventA2 ::= SEQUENCE {
+ measurementThreshold MeasurementThresholdA2,
+ iE-Extensions ProtocolExtensionContainer { { M1ThresholdEventA2-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M1ThresholdEventA2-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+M4Configuration ::= SEQUENCE {
+ m4period M4period,
+ m4-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M4Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M4Configuration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-M4ReportAmount CRITICALITY ignore EXTENSION M4ReportAmountMDT PRESENCE optional },
+ ...
+}
+
+M4ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, infinity, ...}
+
+M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+M5Configuration ::= SEQUENCE {
+ m5period M5period,
+ m5-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M5Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M5Configuration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-M5ReportAmount CRITICALITY ignore EXTENSION M5ReportAmountMDT PRESENCE optional },
+ ...
+}
+
+M5ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, infinity, ...}
+
+M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+
+M6Configuration ::= SEQUENCE {
+ m6report-Interval M6report-Interval,
+ m6-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M6Configuration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-M6ReportAmount CRITICALITY ignore EXTENSION M6ReportAmountMDT PRESENCE optional}|
+ { ID id-ExcessPacketDelayThresholdConfiguration CRITICALITY ignore EXTENSION ExcessPacketDelayThresholdConfiguration PRESENCE optional},
+ ...
+}
+
+M6ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, infinity, ...}
+
+M6report-Interval ::= ENUMERATED { ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, min1, min6, min12, min30,... }
+
+
+M7Configuration ::= SEQUENCE {
+ m7period M7period,
+ m7-links-to-log Links-to-log,
+ iE-Extensions ProtocolExtensionContainer { { M7Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+M7Configuration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-M7ReportAmount CRITICALITY ignore EXTENSION M7ReportAmountMDT PRESENCE optional },
+ ...
+}
+
+M7ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, infinity, ...}
+
+M7period ::= INTEGER(1..60, ...)
+
+
+MAC-I ::= BIT STRING (SIZE(16))
+
+
+MaskedIMEISV ::= BIT STRING (SIZE(64))
+
+
+MaxCHOpreparations ::= INTEGER (1..8, ...)
+
+
+MaximumDataBurstVolume ::= INTEGER (0..4095, ..., 4096.. 2000000)
+
+
+MaximumIPdatarate ::= SEQUENCE {
+ maxIPrate-UL MaxIPrate,
+ iE-Extensions ProtocolExtensionContainer { {MaximumIPdatarate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MaximumIPdatarate-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-MaxIPrate-DL CRITICALITY ignore EXTENSION MaxIPrate PRESENCE optional},
+ ...
+}
+
+MaxIPrate ::= ENUMERATED {
+ bitrate64kbs,
+ max-UErate,
+ ...
+}
+
+
+MBSFNControlRegionLength ::= INTEGER (0..3)
+
+
+MBSFNSubframeAllocation-E-UTRA ::= CHOICE {
+ oneframe BIT STRING (SIZE(6)),
+ fourframes BIT STRING (SIZE(24)),
+ choice-extension ProtocolIE-Single-Container { {MBSFNSubframeAllocation-E-UTRA-ExtIEs} }
+}
+
+MBSFNSubframeAllocation-E-UTRA-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+MBSFNSubframeInfo-E-UTRA ::= SEQUENCE (SIZE(1..maxnoofMBSFNEUTRA)) OF MBSFNSubframeInfo-E-UTRA-Item
+
+
+MBSFNSubframeInfo-E-UTRA-Item ::= SEQUENCE {
+ radioframeAllocationPeriod ENUMERATED{n1,n2,n4,n8,n16,n32,...},
+ radioframeAllocationOffset INTEGER (0..7, ...),
+ subframeAllocation MBSFNSubframeAllocation-E-UTRA,
+ iE-Extensions ProtocolExtensionContainer { {MBSFNSubframeInfo-E-UTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSFNSubframeInfo-E-UTRA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+MBS-FrequencySelectionArea-Identity ::= OCTET STRING (SIZE(3))
+
+MBS-Area-Session-ID ::= INTEGER (0..65535, ...)
+
+MBS-MappingandDataForwardingRequestInfofromSource ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MBS-MappingandDataForwardingRequestInfofromSource-Item
+
+MBS-MappingandDataForwardingRequestInfofromSource-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ mBS-QoSFlow-List MBS-QoSFlow-List,
+ mRB-ProgressInformation MRB-ProgressInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-MappingandDataForwardingRequestInfofromSource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-MappingandDataForwardingRequestInfofromSource-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBS-DataForwardingResponseInfofromTarget ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MBS-DataForwardingResponseInfofromTarget-Item
+
+MBS-DataForwardingResponseInfofromTarget-Item ::= SEQUENCE {
+ mRB-ID MRB-ID,
+ dlForwardingUPTNL UPTransportLayerInformation,
+ mRB-ProgressInformation MRB-ProgressInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-DataForwardingResponseInfofromTarget-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-DataForwardingResponseInfofromTarget-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-QoSFlow-List ::= SEQUENCE (SIZE(1..maxnoofMBSQoSFlows)) OF QoSFlowIdentifier
+
+MBS-QoSFlowsToAdd-List ::= SEQUENCE (SIZE(1..maxnoofMBSQoSFlows)) OF MBS-QoSFlowsToAdd-Item
+
+MBS-QoSFlowsToAdd-Item ::= SEQUENCE {
+ mBS-QosFlowIdentifier QoSFlowIdentifier,
+ mBS-QosFlowLevelQosParameters QoSFlowLevelQoSParameters,
+ iE-Extensions ProtocolExtensionContainer { { MBS-QoSFlowsToAdd-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-QoSFlowsToAdd-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-ServiceArea ::= CHOICE {
+ locationindependent MBS-ServiceAreaInformation,
+ locationdependent MBS-ServiceAreaInformationList,
+ choice-extension ProtocolIE-Single-Container { {MBS-ServiceArea-ExtIEs} }
+}
+
+MBS-ServiceArea-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MBS-ServiceAreaCell-List ::= SEQUENCE (SIZE(1.. maxnoofCellsforMBS)) OF NR-CGI
+
+MBS-ServiceAreaInformation ::= SEQUENCE {
+ mBS-ServiceAreaCell-List MBS-ServiceAreaCell-List OPTIONAL,
+ mBS-ServiceAreaTAI-List MBS-ServiceAreaTAI-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MBS-ServiceAreaInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-ServiceAreaInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-ServiceAreaInformationList ::= SEQUENCE (SIZE(1..maxnoofMBSServiceAreaInformation)) OF MBS-ServiceAreaInformation-Item
+
+MBS-ServiceAreaInformation-Item ::= SEQUENCE { mBS-Area-Session-ID MBS-Area-Session-ID,
+ mBS-ServiceAreaInformation MBS-ServiceAreaInformation,
+ iE-Extensions ProtocolExtensionContainer { { MBS-ServiceAreaInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-ServiceAreaInformation-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-ServiceAreaTAI-List ::= SEQUENCE (SIZE(1.. maxnoofTAIforMBS)) OF MBS-ServiceAreaTAI-Item
+
+MBS-ServiceAreaTAI-Item ::= SEQUENCE {
+ plmn-ID PLMN-Identity,
+ tAC TAC,
+ iE-Extensions ProtocolExtensionContainer { {MBS-ServiceAreaTAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-ServiceAreaTAI-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBS-Session-ID ::= SEQUENCE {
+ tMGI TMGI,
+ nID NID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MBS-Session-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-Session-ID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MBS-SessionAssociatedInformation ::= SEQUENCE (SIZE(1..maxnoofAssociatedMBSSessions)) OF MBS-SessionAssociatedInformation-Item
+
+MBS-SessionAssociatedInformation-Item ::= SEQUENCE {
+ mBS-Session-ID MBS-Session-ID,
+ associated-QoSFlowInfo-List Associated-QoSFlowInfo-List,
+ iE-Extensions ProtocolExtensionContainer { { MBS-SessionAssociatedInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-SessionAssociatedInformation-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+MBS-SessionInformation-List ::= SEQUENCE (SIZE(1..maxnoofMBSSessions)) OF MBS-SessionInformation-Item
+
+MBS-SessionInformation-Item ::= SEQUENCE {
+ mBS-Session-ID MBS-Session-ID,
+ mBS-Area-Session-ID MBS-Area-Session-ID OPTIONAL,
+ active-MBS-SessioInformation Active-MBS-SessionInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-SessionInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-SessionInformation-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBS-SessionInformationResponse-List ::= SEQUENCE (SIZE(1..maxnoofMBSSessions)) OF MBS-SessionInformationResponse-Item
+
+MBS-SessionInformationResponse-Item ::= SEQUENCE {
+ mBS-Session-ID MBS-Session-ID,
+ mBS-DataForwardingResponseInfofromTarget MBS-DataForwardingResponseInfofromTarget OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MBS-SessionInformationResponse-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBS-SessionInformationResponse-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MRB-ID ::= INTEGER (1..512, ...)
+
+MRB-ProgressInformation ::= CHOICE {
+ pdcp-SN12 INTEGER (0..4095),
+ pdcp-SN18 INTEGER (0..262143),
+ choice-extension ProtocolIE-Single-Container { { MRB-ProgressInformation-ExtIEs} }
+}
+
+MRB-ProgressInformation-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MDT-Activation ::= ENUMERATED {
+ immediate-MDT-only,
+ immediate-MDT-and-Trace,
+ logged-MDT-only,
+ ...
+}
+
+MDT-Configuration ::= SEQUENCE {
+ mDT-Configuration-NR MDT-Configuration-NR OPTIONAL,
+ mDT-Configuration-EUTRA MDT-Configuration-EUTRA OPTIONAL,
+iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+MDT-Configuration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDT-Configuration-NR ::= SEQUENCE {
+ mdt-Activation MDT-Activation,
+ areaScopeOfMDT-NR AreaScopeOfMDT-NR OPTIONAL,
+ mDTMode-NR MDTMode-NR,
+ signallingBasedMDTPLMNList MDTPLMNList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+MDT-Configuration-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MDT-Configuration-EUTRA ::= SEQUENCE {
+ mdt-Activation MDT-Activation,
+ areaScopeOfMDT-EUTRA AreaScopeOfMDT-EUTRA OPTIONAL,
+ mDTMode-EUTRA MDTMode-EUTRA,
+ signallingBasedMDTPLMNList MDTPLMNList,
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-EUTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+MDT-Configuration-EUTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MDT-Location-Info ::= BIT STRING (SIZE (8))
+
+
+MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMN-Identity
+
+MDTPLMNModificationList ::= SEQUENCE (SIZE(0..maxnoofMDTPLMNs)) OF PLMN-Identity
+
+MDTMode-NR ::= CHOICE {
+ immediateMDT ImmediateMDT-NR,
+ loggedMDT LoggedMDT-NR,
+ ...,
+ mDTMode-NR-Extension MDTMode-NR-Extension
+}
+
+MDTMode-NR-Extension ::= ProtocolIE-Single-Container {{ MDTMode-NR-ExtensionIE }}
+
+MDTMode-NR-ExtensionIE XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+MDTMode-EUTRA ::= OCTET STRING
+
+
+MeasObjectContainer ::= OCTET STRING
+
+MeasurementsToActivate ::= BIT STRING (SIZE (8))
+
+MeasurementThresholdA2 ::= CHOICE {
+ threshold-RSRP Threshold-RSRP,
+ threshold-RSRQ Threshold-RSRQ,
+ threshold-SINR Threshold-SINR,
+ choice-extension ProtocolIE-Single-Container { { MeasurementThresholdA2-ExtIEs} }
+}
+
+MeasurementThresholdA2-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+Measurement-ID ::= INTEGER (1..4095,...)
+
+
+MIMOPRBusageInformation ::= SEQUENCE {
+dl-GBR-PRB-usage-for-MIMO DL-GBR-PRB-usage-for-MIMO,
+ ul-GBR-PRB-usage-for-MIMO UL-GBR-PRB-usage-for-MIMO,
+ dl-non-GBR-PRB-usage-for-MIMO DL-non-GBR-PRB-usage-for-MIMO,
+ ul-non-GBR-PRB-usage-for-MIMO UL-non-GBR-PRB-usage-for-MIMO,
+ dl-Total-PRB-usage-for-MIMO DL-Total-PRB-usage-for-MIMO,
+ ul-Total-PRB-usage-for-MIMO UL-Total-PRB-usage-for-MIMO,
+ iE-Extensions ProtocolExtensionContainer { { MIMOPRBusageInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MIMOPRBusageInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MobilityInformation ::= BIT STRING (SIZE(32))
+
+MobilityParametersModificationRange ::= SEQUENCE {
+ handoverTriggerChangeLowerLimit INTEGER (-20..20),
+ handoverTriggerChangeUpperLimit INTEGER (-20..20),
+ ...
+}
+
+MobilityParametersInformation ::= SEQUENCE {
+ handoverTriggerChange INTEGER (-20..20),
+ ...
+}
+
+
+MobilityRestrictionList ::= SEQUENCE {
+ serving-PLMN PLMN-Identity,
+ equivalent-PLMNs SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMN-Identity OPTIONAL,
+ rat-Restrictions RAT-RestrictionsList OPTIONAL,
+ forbiddenAreaInformation ForbiddenAreaList OPTIONAL,
+ serviceAreaInformation ServiceAreaList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MobilityRestrictionList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MobilityRestrictionList-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+{ ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMN-Identity PRESENCE optional }|
+{ ID id-CNTypeRestrictionsForServing CRITICALITY ignore EXTENSION CNTypeRestrictionsForServing PRESENCE optional }|
+{ ID id-CNTypeRestrictionsForEquivalent CRITICALITY ignore EXTENSION CNTypeRestrictionsForEquivalent PRESENCE optional }|
+{ ID id-NPNMobilityInformation CRITICALITY reject EXTENSION NPNMobilityInformation PRESENCE optional },
+ ...
+}
+
+CNTypeRestrictionsForEquivalent ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF CNTypeRestrictionsForEquivalentItem
+
+CNTypeRestrictionsForEquivalentItem ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ cn-Type ENUMERATED {epc-forbidden, fiveGC-forbidden, ...},
+ iE-Extensions ProtocolExtensionContainer { {CNTypeRestrictionsForEquivalentItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CNTypeRestrictionsForEquivalentItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+CNTypeRestrictionsForServing ::= ENUMERATED {
+ epc-forbidden,
+ ...
+}
+
+RAT-RestrictionsList ::= SEQUENCE (SIZE(1..maxnoofPLMNs)) OF RAT-RestrictionsItem
+
+
+RAT-RestrictionsItem ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ rat-RestrictionInformation RAT-RestrictionInformation,
+ iE-Extensions ProtocolExtensionContainer { {RAT-RestrictionsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAT-RestrictionsItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ { ID id-ExtendedRATRestrictionInformation CRITICALITY ignore EXTENSION ExtendedRATRestrictionInformation PRESENCE optional},
+ ...
+}
+
+
+RAT-RestrictionInformation ::= BIT STRING {e-UTRA (0),nR (1), nR-unlicensed (2), nR-LEO (3), nR-MEO (4), nR-GEO (5), nR-OTHERSAT (6)} (SIZE(8, ...))
+
+
+ForbiddenAreaList ::= SEQUENCE (SIZE(1..maxnoofPLMNs)) OF ForbiddenAreaItem
+
+
+ForbiddenAreaItem ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ forbidden-TACs SEQUENCE (SIZE(1..maxnoofForbiddenTACs)) OF TAC,
+ iE-Extensions ProtocolExtensionContainer { {ForbiddenAreaItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ForbiddenAreaItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+ServiceAreaList ::= SEQUENCE (SIZE(1..maxnoofPLMNs)) OF ServiceAreaItem
+
+
+ServiceAreaItem ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ allowed-TACs-ServiceArea SEQUENCE (SIZE(1..maxnoofAllowedAreas)) OF TAC OPTIONAL,
+ not-allowed-TACs-ServiceArea SEQUENCE (SIZE(1..maxnoofAllowedAreas)) OF TAC OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServiceAreaItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServiceAreaItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+MR-DC-ResourceCoordinationInfo ::= SEQUENCE {
+ ng-RAN-Node-ResourceCoordinationInfo NG-RAN-Node-ResourceCoordinationInfo,
+ iE-Extension ProtocolExtensionContainer { {MR-DC-ResourceCoordinationInfo-ExtIEs}} OPTIONAL,
+ ...
+}
+
+MR-DC-ResourceCoordinationInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+NG-RAN-Node-ResourceCoordinationInfo ::= CHOICE {
+ eutra-resource-coordination-info E-UTRA-ResourceCoordinationInfo,
+ nr-resource-coordination-info NR-ResourceCoordinationInfo
+}
+
+E-UTRA-ResourceCoordinationInfo ::= SEQUENCE {
+ e-utra-cell E-UTRA-CGI,
+ ul-coordination-info BIT STRING (SIZE (6..4400)),
+ dl-coordination-info BIT STRING (SIZE (6..4400)) OPTIONAL,
+ nr-cell NR-CGI OPTIONAL,
+ e-utra-coordination-assistance-info E-UTRA-CoordinationAssistanceInfo OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {E-UTRA-ResourceCoordinationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-UTRA-ResourceCoordinationInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+E-UTRA-CoordinationAssistanceInfo ::= ENUMERATED {coordination-not-required, ...}
+
+NR-ResourceCoordinationInfo ::= SEQUENCE {
+ nr-cell NR-CGI,
+ ul-coordination-info BIT STRING (SIZE (6..4400)),
+ dl-coordination-info BIT STRING (SIZE (6..4400)) OPTIONAL,
+ e-utra-cell E-UTRA-CGI OPTIONAL,
+ nr-coordination-assistance-info NR-CoordinationAssistanceInfo OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {NR-ResourceCoordinationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-ResourceCoordinationInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NR-CoordinationAssistanceInfo ::= ENUMERATED {coordination-not-required, ...}
+
+MessageOversizeNotification ::= SEQUENCE {
+ maximumCellListSize MaximumCellListSize,
+ iE-Extension ProtocolExtensionContainer { {MessageOversizeNotification-ExtIEs}} OPTIONAL,
+ ...
+}
+
+MessageOversizeNotification-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MaximumCellListSize ::= INTEGER(1..16384, ...)
+
+MultiplexingInfo ::= SEQUENCE{
+ iAB-MT-Cell-List IAB-MT-Cell-List,
+ iE-Extensions ProtocolExtensionContainer { {MultiplexingInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MultiplexingInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- N
+
+NACellResourceConfigurationList ::= SEQUENCE (SIZE(1..maxnoofHSNASlots)) OF NACellResourceConfiguration-Item
+
+NACellResourceConfiguration-Item ::= SEQUENCE {
+ nAdownlin ENUMERATED {true, false, ...} OPTIONAL,
+ nAuplink ENUMERATED {true, false, ...} OPTIONAL,
+ nAflexible ENUMERATED {true, false, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NACellResourceConfiguration-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NACellResourceConfiguration-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NBIoT-UL-DL-AlignmentOffset ::= ENUMERATED {
+ khz-7dot5,
+ khz0,
+ khz7dot5,
+ ...
+}
+NE-DC-TDM-Pattern ::= SEQUENCE {
+ subframeAssignment ENUMERATED {sa0,sa1,sa2,sa3,sa4,sa5,sa6},
+ harqOffset INTEGER (0..9),
+ iE-Extension ProtocolExtensionContainer { {NE-DC-TDM-Pattern-ExtIEs}} OPTIONAL,
+ ...
+}
+
+NE-DC-TDM-Pattern-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+NeighbourInformation-E-UTRA ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF NeighbourInformation-E-UTRA-Item
+
+NeighbourInformation-E-UTRA-Item ::= SEQUENCE {
+ e-utra-PCI E-UTRAPCI,
+ e-utra-cgi E-UTRA-CGI,
+ earfcn E-UTRAARFCN,
+ tac TAC,
+ ranac RANAC OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NeighbourInformation-E-UTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbourInformation-E-UTRA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+NeighbourInformation-NR ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF NeighbourInformation-NR-Item
+
+NeighbourInformation-NR-Item ::= SEQUENCE {
+ nr-PCI NRPCI,
+ nr-cgi NR-CGI,
+ tac TAC,
+ ranac RANAC OPTIONAL,
+ nr-mode-info NeighbourInformation-NR-ModeInfo,
+ connectivitySupport Connectivity-Support,
+ measurementTimingConfiguration OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { {NeighbourInformation-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbourInformation-NR-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+NeighbourInformation-NR-ModeInfo ::= CHOICE {
+ fdd-info NeighbourInformation-NR-ModeFDDInfo,
+ tdd-info NeighbourInformation-NR-ModeTDDInfo,
+ choice-extension ProtocolIE-Single-Container { {NeighbourInformation-NR-ModeInfo-ExtIEs} }
+}
+
+NeighbourInformation-NR-ModeInfo-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+NeighbourInformation-NR-ModeFDDInfo ::= SEQUENCE {
+ ul-NR-FreqInfo NRFrequencyInfo,
+ dl-NR-FequInfo NRFrequencyInfo,
+ ie-Extensions ProtocolExtensionContainer { {NeighbourInformation-NR-ModeFDDInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbourInformation-NR-ModeFDDInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NeighbourInformation-NR-ModeTDDInfo ::= SEQUENCE {
+ nr-FreqInfo NRFrequencyInfo,
+ ie-Extensions ProtocolExtensionContainer { {NeighbourInformation-NR-ModeTDDInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbourInformation-NR-ModeTDDInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Neighbour-NG-RAN-Node-List ::= SEQUENCE (SIZE(0..maxnoofNeighbour-NG-RAN-Nodes)) OF Neighbour-NG-RAN-Node-Item
+
+Neighbour-NG-RAN-Node-Item ::= SEQUENCE {
+ globalNG-RANNodeID GlobalNG-RANNode-ID,
+ local-NG-RAN-Node-Identifier Local-NG-RAN-Node-Identifier,
+ ie-Extensions ProtocolExtensionContainer { {Neighbour-NG-RAN-Node-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Neighbour-NG-RAN-Node-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NID ::= BIT STRING (SIZE(44))
+
+
+NRCarrierList ::= SEQUENCE (SIZE(1..maxnoofNRSCSs)) OF NRCarrierItem
+
+NRCarrierItem ::= SEQUENCE {
+ carrierSCS NRSCS,
+ offsetToCarrier INTEGER (0..2199, ...),
+ carrierBandwidth INTEGER (0..maxnoofPhysicalResourceBlocks, ...),
+ iE-Extension ProtocolExtensionContainer { {NRCarrierItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRCarrierItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRCellPRACHConfig ::= OCTET STRING
+
+
+NG-RAN-Cell-Identity ::= CHOICE {
+ nr NR-Cell-Identity,
+ e-utra E-UTRA-Cell-Identity,
+ choice-extension ProtocolIE-Single-Container { {NG-RAN-Cell-Identity-ExtIEs} }
+}
+
+NG-RAN-Cell-Identity-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+NG-RAN-CellPCI ::= CHOICE {
+ nr NRPCI,
+ e-utra E-UTRAPCI,
+ choice-extension ProtocolIE-Single-Container { {NG-RAN-CellPCI-ExtIEs} }
+}
+
+NG-RAN-CellPCI-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+NG-RANnode2SSBOffsetsModificationRange ::= SEQUENCE (SIZE(1..maxnoofSSBAreas)) OF SSBOffsetModificationRange
+
+NG-RANnodeUEXnAPID ::= INTEGER (0.. 4294967295)
+
+
+NumberofActiveUEs::= INTEGER(0..16777215, ...)
+
+
+NoofRRCConnections ::= INTEGER (1..65536,...)
+
+
+NonDynamic5QIDescriptor ::= SEQUENCE {
+ fiveQI FiveQI,
+ priorityLevelQoS PriorityLevelQoS OPTIONAL,
+ averagingWindow AveragingWindow OPTIONAL,
+ maximumDataBurstVolume MaximumDataBurstVolume OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {NonDynamic5QIDescriptor-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NonDynamic5QIDescriptor-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CNPacketDelayBudgetDownlink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional}|
+ { ID id-CNPacketDelayBudgetUplink CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional},
+ ...
+}
+
+
+NRARFCN ::= INTEGER (0.. maxNRARFCN)
+
+
+NG-eNB-RadioResourceStatus ::= SEQUENCE {
+ dL-GBR-PRB-usage DL-GBR-PRB-usage,
+ uL-GBR-PRB-usage UL-GBR-PRB-usage,
+ dL-non-GBR-PRB-usage DL-non-GBR-PRB-usage,
+ uL-non-GBR-PRB-usage UL-non-GBR-PRB-usage,
+ dL-Total-PRB-usage DL-Total-PRB-usage,
+ uL-Total-PRB-usage UL-Total-PRB-usage,
+ iE-Extensions ProtocolExtensionContainer { { NG-eNB-RadioResourceStatus-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NG-eNB-RadioResourceStatus-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-scheduling-PDCCH-CCE-usage CRITICALITY ignore EXTENSION DL-scheduling-PDCCH-CCE-usage PRESENCE optional}|
+ { ID id-UL-scheduling-PDCCH-CCE-usage CRITICALITY ignore EXTENSION UL-scheduling-PDCCH-CCE-usage PRESENCE optional},
+ ...
+}
+
+DL-scheduling-PDCCH-CCE-usage ::= INTEGER (0.. 100)
+UL-scheduling-PDCCH-CCE-usage ::= INTEGER (0.. 100)
+
+
+TNLCapacityIndicator ::= SEQUENCE {
+ dLTNLOfferedCapacity OfferedCapacity,
+dLTNLAvailableCapacity AvailableCapacity,
+uLTNLOfferedCapacity OfferedCapacity,
+ uLTNLAvailableCapacity AvailableCapacity,
+ iE-Extensions ProtocolExtensionContainer { { TNLCapacityIndicator-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNLCapacityIndicator-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Non-F1-TerminatingTopologyBHInformation ::= SEQUENCE {
+ nonF1TerminatingBHInformation-List NonF1TerminatingBHInformation-List,
+ bAPControlPDURLCCH-List BAPControlPDURLCCH-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Non-F1-TerminatingTopologyBHInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Non-F1-TerminatingTopologyBHInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NonF1TerminatingBHInformation-List ::= SEQUENCE (SIZE(1..maxnoofBHInfo)) OF NonF1TerminatingBHInformation-Item
+
+NonF1TerminatingBHInformation-Item ::= SEQUENCE {
+ bHInfoIndex BHInfoIndex,
+ dlNon-F1TerminatingBHInfo DLNonF1Terminating-BHInfo OPTIONAL,
+ ulNon-F1TerminatingBHInfo ULNonF1Terminating-BHInfo OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { NonF1TerminatingBHInformation-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NonF1TerminatingBHInformation-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NonUPTraffic ::= CHOICE {
+ nonUPTrafficType NonUPTrafficType,
+ controlPlaneTrafficType ControlPlaneTrafficType,
+ choice-extension ProtocolIE-Single-Container { { NonUPTraffic-ExtIEs} }
+}
+
+NonUPTraffic-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NonUPTrafficType ::= ENUMERATED {ueassociatedf1ap, nonueassociatedf1ap, nonf1, ...}
+
+NoPDUSessionIndication ::= ENUMERATED {true, ...}
+
+NPN-Broadcast-Information ::= CHOICE {
+ snpn-Information NPN-Broadcast-Information-SNPN,
+ pni-npn-Information NPN-Broadcast-Information-PNI-NPN,
+ choice-extension ProtocolIE-Single-Container { {NPN-Broadcast-Information-ExtIEs} }
+}
+
+NPN-Broadcast-Information-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPN-Broadcast-Information-SNPN ::= SEQUENCE {
+ broadcastSNPNID-List BroadcastSNPNID-List,
+ iE-Extension ProtocolExtensionContainer { {NPN-Broadcast-Information-SNPN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPN-Broadcast-Information-SNPN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+NPN-Broadcast-Information-PNI-NPN ::= SEQUENCE {
+ broadcastPNI-NPN-ID-Information BroadcastPNI-NPN-ID-Information,
+ iE-Extension ProtocolExtensionContainer { {NPN-Broadcast-Information-PNI-NPN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPN-Broadcast-Information-PNI-NPN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPNMobilityInformation::= CHOICE {
+ snpn-mobility-information NPNMobilityInformation-SNPN,
+ pni-npn-mobility-information NPNMobilityInformation-PNI-NPN,
+ choice-extension ProtocolIE-Single-Container { {NPNMobilityInformation-ExtIEs} }
+}
+
+NPNMobilityInformation-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPNMobilityInformation-SNPN ::= SEQUENCE {
+ serving-NID NID,
+ iE-Extension ProtocolExtensionContainer { {NPNMobilityInformation-SNPN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPNMobilityInformation-SNPN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPNMobilityInformation-PNI-NPN ::= SEQUENCE {
+ allowedPNI-NPN-ID-List AllowedPNI-NPN-ID-List,
+ iE-Extension ProtocolExtensionContainer { {NPNMobilityInformation-PNI-NPN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPNMobilityInformation-PNI-NPN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NPNPagingAssistanceInformation ::= CHOICE {
+ pni-npn-Information NPNPagingAssistanceInformation-PNI-NPN,
+ choice-extension ProtocolIE-Single-Container { {NPNPagingAssistanceInformation-ExtIEs} }
+}
+
+NPNPagingAssistanceInformation-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPNPagingAssistanceInformation-PNI-NPN ::= SEQUENCE {
+ allowedPNI-NPN-ID-List AllowedPNI-NPN-ID-List,
+ iE-Extension ProtocolExtensionContainer { {NPNPagingAssistanceInformation-PNI-NPN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPNPagingAssistanceInformation-PNI-NPN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NPN-Support ::= CHOICE {
+ sNPN NPN-Support-SNPN,
+ choice-Extensions ProtocolIE-Single-Container { {NPN-Support-ExtIEs} }
+}
+
+NPN-Support-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPN-Support-SNPN ::= SEQUENCE {
+ nid NID,
+ ie-Extension ProtocolExtensionContainer { {NPN-Support-SNPN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPN-Support-SNPN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPRACHConfiguration::= SEQUENCE {
+ fdd-or-tdd CHOICE {
+ fdd NPRACHConfiguration-FDD,
+ tdd NPRACHConfiguration-TDD,
+ choice-extension ProtocolIE-Single-Container { { FDD-or-TDD-in-NPRACHConfiguration-Choice-ExtIEs} }
+ },
+ iE-Extensions ProtocolExtensionContainer { { NPRACHConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPRACHConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FDD-or-TDD-in-NPRACHConfiguration-Choice-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NPRACHConfiguration-FDD::= SEQUENCE {
+ nprach-CP-length NPRACH-CP-Length,
+ anchorCarrier-NPRACHConfig OCTET STRING,
+ anchorCarrier-EDT-NPRACHConfig OCTET STRING OPTIONAL,
+ anchorCarrier-Format2-NPRACHConfig OCTET STRING OPTIONAL,
+ anchorCarrier-Format2-EDT-NPRACHConfig OCTET STRING OPTIONAL,
+ non-anchorCarrier-NPRACHConfig OCTET STRING OPTIONAL,
+ non-anchorCarrier-Format2-NPRACHConfig OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NPRACHConfiguration-FDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NPRACHConfiguration-FDD-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPRACHConfiguration-TDD::= SEQUENCE {
+ nprach-preambleFormat NPRACH-preambleFormat,
+ anchorCarrier-NPRACHConfigTDD OCTET STRING,
+ non-anchorCarrierFequencyConfiglist Non-AnchorCarrierFrequencylist OPTIONAL,
+ non-anchorCarrier-NPRACHConfigTDD OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { NPRACHConfiguration-TDD-ExtIEs} } OPTIONAL,
+
+...
+}
+
+NPRACHConfiguration-TDD-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NPRACH-CP-Length::= ENUMERATED {
+ us66dot7,
+ us266dot7,
+ ...
+}
+
+NPRACH-preambleFormat::= ENUMERATED {fmt0,fmt1,fmt2,fmt0a,fmt1a,...}
+
+Non-AnchorCarrierFrequencylist ::= SEQUENCE (SIZE(1..maxnoofNonAnchorCarrierFreqConfig)) OF
+ SEQUENCE {
+ non-anchorCarrierFrquency OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { Non-AnchorCarrierFrequencylist-ExtIEs} } OPTIONAL,
+ ...
+ }
+
+Non-AnchorCarrierFrequencylist-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NR-Cell-Identity ::= BIT STRING (SIZE (36))
+
+
+NG-RAN-Cell-Identity-ListinRANPagingArea ::= SEQUENCE (SIZE (1..maxnoofCellsinRNA)) OF NG-RAN-Cell-Identity
+
+
+NR-CGI ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ nr-CI NR-Cell-Identity,
+ iE-Extension ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-CGI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-U-Channel-List ::= SEQUENCE (SIZE (1..maxnoofNR-UChannelIDs)) OF NR-U-Channel-Item
+
+NR-U-Channel-Item ::= SEQUENCE {
+ nR-U-ChannelID NR-U-ChannelID,
+ channelOccupancyTimePercentageDL ChannelOccupancyTimePercentage,
+ energyDetectionThreshold EnergyDetectionThreshold,
+ iE-Extension ProtocolExtensionContainer { {NR-U-Channel-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-U-Channel-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NR-U-ChannelID ::= INTEGER (1..maxnoofNR-UChannelIDs, ...)
+
+ChannelOccupancyTimePercentage ::= INTEGER (0..100,...)
+
+EnergyDetectionThreshold ::= INTEGER (-100..-50, ...)
+
+
+NR-U-ChannelInfo-List ::= SEQUENCE (SIZE (1..maxnoofNR-UChannelIDs)) OF NR-U-ChannelInfo-Item
+
+NR-U-ChannelInfo-Item ::= SEQUENCE {
+ nR-U-ChannelID NR-U-ChannelID,
+ nRARFCN NRARFCN,
+ bandwidth Bandwidth,
+ iE-Extension ProtocolExtensionContainer { {NR-U-ChannelInfo-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-U-ChannelInfo-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Bandwidth ::= ENUMERATED{mhz10, mhz20, mhz40, mhz60, mhz80, ...}
+
+
+NRCyclicPrefix ::= ENUMERATED {normal, extended, ...}
+
+NRDL-ULTransmissionPeriodicity ::= ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms3, ms4, ms5, ms10, ms20, ms40, ms60, ms80, ms100, ms120, ms140, ms160, ...}
+
+NRFrequencyBand ::= INTEGER (1..1024, ...)
+
+
+NRFrequencyBand-List ::= SEQUENCE (SIZE(1..maxnoofNRCellBands)) OF NRFrequencyBandItem
+
+NRFrequencyBandItem ::= SEQUENCE {
+ nr-frequency-band NRFrequencyBand,
+ supported-SUL-Band-List SupportedSULBandList OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {NRFrequencyBandItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRFrequencyBandItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+NRFrequencyInfo ::= SEQUENCE {
+ nrARFCN NRARFCN,
+ sul-information SUL-Information OPTIONAL,
+ frequencyBand-List NRFrequencyBand-List,
+ iE-Extension ProtocolExtensionContainer { {NRFrequencyInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRFrequencyInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional },...
+}
+
+NRMobilityHistoryReport ::= OCTET STRING
+
+
+NRModeInfo ::= CHOICE {
+ fdd NRModeInfoFDD,
+ tdd NRModeInfoTDD,
+ choice-extension ProtocolIE-Single-Container { {NRModeInfo-ExtIEs} }
+}
+
+NRModeInfo-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+NRModeInfoFDD ::= SEQUENCE {
+ ulNRFrequencyInfo NRFrequencyInfo,
+ dlNRFrequencyInfo NRFrequencyInfo,
+ ulNRTransmissonBandwidth NRTransmissionBandwidth,
+ dlNRTransmissonBandwidth NRTransmissionBandwidth,
+ iE-Extension ProtocolExtensionContainer { {NRModeInfoFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRModeInfoFDD-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ULCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }|
+ { ID id-DLCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }|
+ { ID id-UL-GNB-DU-Cell-Resource-Configuration CRITICALITY ignore EXTENSION GNB-DU-Cell-Resource-Configuration PRESENCE optional }|
+ { ID id-DL-GNB-DU-Cell-Resource-Configuration CRITICALITY ignore EXTENSION GNB-DU-Cell-Resource-Configuration PRESENCE optional },
+...
+}
+
+
+NRModeInfoTDD ::= SEQUENCE {
+ nrFrequencyInfo NRFrequencyInfo,
+ nrTransmissonBandwidth NRTransmissionBandwidth,
+ iE-Extension ProtocolExtensionContainer { {NRModeInfoTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRModeInfoTDD-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-IntendedTDD-DL-ULConfiguration-NR CRITICALITY ignore EXTENSION IntendedTDD-DL-ULConfiguration-NR PRESENCE optional }|
+ {ID id-TDDULDLConfigurationCommonNR CRITICALITY ignore EXTENSION TDDULDLConfigurationCommonNR PRESENCE optional }|
+ { ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }|
+ {ID id-tdd-GNB-DU-Cell-Resource-Configuration CRITICALITY ignore EXTENSION GNB-DU-Cell-Resource-Configuration PRESENCE optional },
+ ...
+}
+
+
+NRNRB ::= ENUMERATED { nrb11, nrb18, nrb24, nrb25, nrb31, nrb32, nrb38, nrb51, nrb52, nrb65, nrb66, nrb78, nrb79, nrb93, nrb106, nrb107, nrb121, nrb132, nrb133, nrb135, nrb160, nrb162, nrb189, nrb216, nrb217, nrb245, nrb264, nrb270, nrb273, ..., nrb33, nrb62, nrb124, nrb148, nrb248, nrb44, nrb58, nrb92, nrb119, nrb188, nrb242}
+
+
+NRPagingeDRXInformation ::= SEQUENCE {
+ nRPaging-eDRX-Cycle NRPaging-eDRX-Cycle,
+ nRPaging-Time-Window NRPaging-Time-Window OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NRPagingeDRXInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRPagingeDRXInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRPaging-eDRX-Cycle ::= ENUMERATED {
+ hfquarter, hfhalf, hf1, hf2, hf4,
+ hf8, hf16,
+ hf32, hf64, hf128, hf256,
+ hf512, hf1024,
+ ...
+}
+
+
+NRPaging-Time-Window ::= ENUMERATED {
+ s1, s2, s3, s4, s5,
+ s6, s7, s8, s9, s10,
+ s11, s12, s13, s14, s15, s16,
+ ...,s17, s18, s19, s20, s21, s22,
+ s23, s24, s25, s26, s27, s28, s29,
+ s30, s31, s32
+}
+
+NRPagingeDRXInformationforRRCINACTIVE ::= SEQUENCE {
+ nRPaging-eDRX-Cycle-Inactive NRPaging-eDRX-Cycle-Inactive,
+ iE-Extensions ProtocolExtensionContainer { { NRPagingeDRXInformationforRRCINACTIVE-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRPagingeDRXInformationforRRCINACTIVE-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRPaging-eDRX-Cycle-Inactive ::= ENUMERATED {
+ hfquarter, hfhalf, hf1,
+ ...
+}
+
+NRPCI ::= INTEGER (0..1007, ...)
+
+NRSCS ::= ENUMERATED { scs15, scs30, scs60, scs120, ..., scs480, scs960}
+
+
+NRTransmissionBandwidth ::= SEQUENCE {
+ nRSCS NRSCS,
+ nRNRB NRNRB,
+ iE-Extensions ProtocolExtensionContainer { {NRTransmissionBandwidth-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRTransmissionBandwidth-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NumberOfAntennaPorts-E-UTRA ::= ENUMERATED {an1, an2, an4, ...}
+
+NG-RANTraceID ::=OCTET STRING (SIZE (8))
+
+NonGBRResources-Offered ::= ENUMERATED {true, ...}
+
+NRV2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {NRV2XServicesAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRV2XServicesAuthorized-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NRUESidelinkAggregateMaximumBitRate ::= SEQUENCE {
+ uESidelinkAggregateMaximumBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {NRUESidelinkAggregateMaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRUESidelinkAggregateMaximumBitRate-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NSAG-ID ::= INTEGER (0..255, ...)
+
+
+-- O
+
+
+OfferedCapacity ::= INTEGER (1.. 16777216,...)
+
+OffsetOfNbiotChannelNumberToEARFCN ::= ENUMERATED {
+ minusTen,
+ minusNine,
+ minusEightDotFive,
+ minusEight,
+ minusSeven,
+ minusSix,
+ minusFive,
+ minusFourDotFive,
+ minusFour,
+ minusThree,
+ minusTwo,
+ minusOne,
+ minusZeroDotFive,
+ zero,
+ one,
+ two,
+ three,
+ threeDotFive,
+ four,
+ five,
+ six,
+ seven,
+ sevenDotFive,
+ eight,
+ nine,
+ ...
+}
+
+-- P
+
+PositioningInformation ::= SEQUENCE {
+ requestedSRSTransmissionCharacteristics RequestedSRSTransmissionCharacteristics,
+ routingID RoutingID,
+ nRPPaTransactionID INTEGER (0..32767),
+ iE-Extension ProtocolExtensionContainer { { PositioningInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PositioningInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PacketDelayBudget ::= INTEGER (0..1023, ...)
+
+
+PacketErrorRate ::= SEQUENCE {
+ pER-Scalar PER-Scalar,
+ pER-Exponent PER-Exponent,
+ iE-Extensions ProtocolExtensionContainer { {PacketErrorRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PacketErrorRate-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PagingCause ::= ENUMERATED {
+ voice,
+ ...
+}
+
+PedestrianUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+PER-Scalar ::= INTEGER (0..9, ...)
+
+PER-Exponent ::= INTEGER (0..9, ...)
+
+PEIPSassistanceInformation ::= SEQUENCE {
+ cNsubgroupID CNsubgroupID,
+ iE-Extensions ProtocolExtensionContainer { {PEIPSassistanceInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PEIPSassistanceInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PacketLossRate ::= INTEGER (0..1000, ...)
+
+
+PagingDRX ::= ENUMERATED {
+ v32,
+ v64,
+ v128,
+ v256,
+ ... ,
+ v512,
+ v1024
+ }
+
+
+PagingPriority ::= ENUMERATED {
+ priolevel1,
+ priolevel2,
+ priolevel3,
+ priolevel4,
+ priolevel5,
+ priolevel6,
+ priolevel7,
+ priolevel8,
+ ...
+}
+
+PartialListIndicator ::= ENUMERATED {partial, ...}
+
+PC5QoSParameters ::= SEQUENCE {
+ pc5QoSFlowList PC5QoSFlowList,
+ pc5LinkAggregateBitRates BitRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5QoSParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+PC5QoSParameters-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PC5QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofPC5QoSFlows)) OF PC5QoSFlowItem
+-- The size of the PC5 QoS Flow List shall not exceed 2048 items.
+
+PC5QoSFlowItem::= SEQUENCE {
+ pQI FiveQI,
+ pc5FlowBitRates PC5FlowBitRates OPTIONAL,
+ range Range OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { PC5QoSFlowItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5QoSFlowItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PC5FlowBitRates ::= SEQUENCE {
+ guaranteedFlowBitRate BitRate,
+ maximumFlowBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { { PC5FlowBitRates-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PC5FlowBitRates-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDCPChangeIndication ::= CHOICE {
+ from-S-NG-RAN-node ENUMERATED {s-ng-ran-node-key-update-required, pdcp-data-recovery-required, ...},
+ from-M-NG-RAN-node ENUMERATED {pdcp-data-recovery-required, ...},
+ choice-extension ProtocolIE-Single-Container { {PDCPChangeIndication-ExtIEs} }
+}
+
+PDCPChangeIndication-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+PDCPDuplicationConfiguration ::= ENUMERATED {
+ configured,
+ de-configured,
+ ...
+}
+
+
+PDCPSNLength ::= SEQUENCE {
+ ulPDCPSNLength ENUMERATED {v12bits, v18bits, ...},
+ dlPDCPSNLength ENUMERATED {v12bits, v18bits, ...},
+ iE-Extension ProtocolExtensionContainer { {PDCPSNLength-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDCPSNLength-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+PDUSessionAggregateMaximumBitRate ::= SEQUENCE {
+ downlink-session-AMBR BitRate,
+ uplink-session-AMBR BitRate,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionAggregateMaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionAggregateMaximumBitRate-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSession-List ::= SEQUENCE (SIZE (1.. maxnoofPDUSessions)) OF PDUSession-ID
+
+
+PDUSession-List-withCause ::= SEQUENCE (SIZE (1.. maxnoofPDUSessions)) OF PDUSession-List-withCause-Item
+
+PDUSession-List-withCause-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ cause Cause OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSession-List-withCause-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSession-List-withCause-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSession-List-withDataForwardingFromTarget ::= SEQUENCE (SIZE (1.. maxnoofPDUSessions)) OF
+ PDUSession-List-withDataForwardingFromTarget-Item
+
+PDUSession-List-withDataForwardingFromTarget-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ dataforwardinginfoTarget DataForwardingInfoFromTargetNGRANnode,
+ iE-Extension ProtocolExtensionContainer { {PDUSession-List-withDataForwardingFromTarget-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSession-List-withDataForwardingFromTarget-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DRB-IDs-takenintouse CRITICALITY reject EXTENSION DRB-List PRESENCE optional},
+ ...
+}
+
+
+PDUSession-List-withDataForwardingRequest ::= SEQUENCE (SIZE (1.. maxnoofPDUSessions)) OF
+ PDUSession-List-withDataForwardingRequest-Item
+
+PDUSession-List-withDataForwardingRequest-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ dataforwardingInfofromSource DataforwardingandOffloadingInfofromSource OPTIONAL,
+ dRBtoBeReleasedList DRBToQoSFlowMapping-List OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSession-List-withDataForwardingRequest-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSession-List-withDataForwardingRequest-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Cause CRITICALITY ignore EXTENSION Cause PRESENCE optional},
+...
+}
+
+
+
+-- **************************************************************
+--
+-- PDU Session related message level IEs BEGIN
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- PDU Session Resources Admitted List
+--
+-- **************************************************************
+
+
+PDUSessionResourcesAdmitted-List ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourcesAdmitted-Item
+
+PDUSessionResourcesAdmitted-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ pduSessionResourceAdmittedInfo PDUSessionResourceAdmittedInfo,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourcesAdmitted-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourcesAdmitted-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSessionResourceAdmittedInfo ::= SEQUENCE {
+ dL-NG-U-TNL-Information-Unchanged ENUMERATED {true, ...} OPTIONAL,
+ qosFlowsAdmitted-List QoSFlowsAdmitted-List,
+ qosFlowsNotAdmitted-List QoSFlows-List-withCause OPTIONAL,
+ dataForwardingInfoFromTarget DataForwardingInfoFromTargetNGRANnode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceAdmittedInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceAdmittedInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-SecondarydataForwardingInfoFromTarget-List CRITICALITY ignore EXTENSION SecondarydataForwardingInfoFromTarget-List PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resources Not Admitted List
+--
+-- **************************************************************
+
+
+PDUSessionResourcesNotAdmitted-List ::= SEQUENCE (SIZE (1..maxnoofPDUSessions)) OF PDUSessionResourcesNotAdmitted-Item
+
+PDUSessionResourcesNotAdmitted-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ cause Cause OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSessionResourcesNotAdmitted-Item-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourcesNotAdmitted-Item-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resources To Be Setup List
+--
+-- **************************************************************
+
+
+PDUSessionResourcesToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourcesToBeSetup-Item
+
+PDUSessionResourcesToBeSetup-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ s-NSSAI S-NSSAI,
+ pduSessionAMBR PDUSessionAggregateMaximumBitRate OPTIONAL,
+ uL-NG-U-TNLatUPF UPTransportLayerInformation,
+ source-DL-NG-U-TNL-Information UPTransportLayerInformation OPTIONAL,
+ securityIndication SecurityIndication OPTIONAL,
+ pduSessionType PDUSessionType,
+ pduSessionNetworkInstance PDUSessionNetworkInstance OPTIONAL,
+ qosFlowsToBeSetup-List QoSFlowsToBeSetup-List,
+ dataforwardinginfofromSource DataforwardingandOffloadingInfofromSource OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourcesToBeSetup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourcesToBeSetup-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-Additional-UL-NG-U-TNLatUPF-List CRITICALITY ignore EXTENSION Additional-UL-NG-U-TNLatUPF-List PRESENCE optional}|
+{ ID id-PDUSessionCommonNetworkInstance CRITICALITY ignore EXTENSION PDUSessionCommonNetworkInstance PRESENCE optional}|
+{ ID id-Redundant-UL-NG-U-TNLatUPF CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional}|
+{ ID id-Additional-Redundant-UL-NG-U-TNLatUPF-List CRITICALITY ignore EXTENSION Additional-UL-NG-U-TNLatUPF-List PRESENCE optional}|
+{ ID id-RedundantCommonNetworkInstance CRITICALITY ignore EXTENSION PDUSessionCommonNetworkInstance PRESENCE optional}|
+{ ID id-RedundantPDUSessionInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional}|
+{ ID id-MBS-SessionAssociatedInformation CRITICALITY ignore EXTENSION MBS-SessionAssociatedInformation PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Setup Info - SN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceSetupInfo-SNterminated ::= SEQUENCE {
+ uL-NG-U-TNLatUPF UPTransportLayerInformation,
+ pduSessionType PDUSessionType,
+ pduSessionNetworkInstance PDUSessionNetworkInstance OPTIONAL,
+ qosFlowsToBeSetup-List QoSFlowsToBeSetup-List-Setup-SNterminated,
+ dataforwardinginfofromSource DataforwardingandOffloadingInfofromSource OPTIONAL,
+ securityIndication SecurityIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupInfo-SNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupInfo-SNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SecurityResult CRITICALITY reject EXTENSION SecurityResult PRESENCE optional}|
+ { ID id-PDUSessionCommonNetworkInstance CRITICALITY ignore EXTENSION PDUSessionCommonNetworkInstance PRESENCE optional}|
+ {ID id-DefaultDRB-Allowed CRITICALITY ignore EXTENSION DefaultDRB-Allowed PRESENCE optional}|
+ { ID id-SplitSessionIndicator CRITICALITY reject EXTENSION SplitSessionIndicator PRESENCE optional}|
+ {ID id-NonGBRResources-Offered CRITICALITY ignore EXTENSION NonGBRResources-Offered PRESENCE optional}|
+ { ID id-Redundant-UL-NG-U-TNLatUPF CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional}|
+ { ID id-RedundantCommonNetworkInstance CRITICALITY ignore EXTENSION PDUSessionCommonNetworkInstance PRESENCE optional}|
+ { ID id-RedundantPDUSessionInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional},
+ ...
+}
+
+QoSFlowsToBeSetup-List-Setup-SNterminated ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF QoSFlowsToBeSetup-List-Setup-SNterminated-Item
+
+QoSFlowsToBeSetup-List-Setup-SNterminated-Item ::= SEQUENCE {
+ qfi QoSFlowIdentifier,
+ qosFlowLevelQoSParameters QoSFlowLevelQoSParameters,
+ offeredGBRQoSFlowInfo GBRQoSFlowInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsToBeSetup-List-Setup-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsToBeSetup-List-Setup-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional}|
+ { ID id-RedundantQoSFlowIndicator CRITICALITY ignore EXTENSION RedundantQoSFlowIndicator PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PDU Session Resource Setup Response Info - SN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceSetupResponseInfo-SNterminated ::= SEQUENCE {
+ dL-NG-U-TNLatNG-RAN UPTransportLayerInformation,
+ dRBsToBeSetup DRBsToBeSetupList-SetupResponse-SNterminated OPTIONAL,
+ dataforwardinginfoTarget DataForwardingInfoFromTargetNGRANnode OPTIONAL,
+ qosFlowsNotAdmittedList QoSFlows-List-withCause OPTIONAL,
+ securityResult SecurityResult OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupResponseInfo-SNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupResponseInfo-SNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DRB-IDs-takenintouse CRITICALITY reject EXTENSION DRB-List PRESENCE optional}|
+ { ID id-Redundant-DL-NG-U-TNLatNG-RAN CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional}|
+ { ID id-UsedRSNInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional},
+ ...
+}
+
+DRBsToBeSetupList-SetupResponse-SNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsToBeSetupList-SetupResponse-SNterminated-Item
+
+DRBsToBeSetupList-SetupResponse-SNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ sN-UL-PDCP-UP-TNLInfo UPTransportParameters,
+ dRB-QoS QoSFlowLevelQoSParameters,
+ pDCP-SNLength PDCPSNLength OPTIONAL,
+ rLC-Mode RLCMode,
+ uL-Configuration ULConfiguration OPTIONAL,
+ secondary-SN-UL-PDCP-UP-TNLInfo UPTransportParameters OPTIONAL,
+ duplicationActivation DuplicationActivation OPTIONAL,
+ qoSFlowsMappedtoDRB-SetupResponse-SNterminated QoSFlowsMappedtoDRB-SetupResponse-SNterminated,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToBeSetupList-SetupResponse-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToBeSetupList-SetupResponse-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional}|
+ { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional},
+ ...
+}
+
+QoSFlowsMappedtoDRB-SetupResponse-SNterminated ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF
+ QoSFlowsMappedtoDRB-SetupResponse-SNterminated-Item
+
+QoSFlowsMappedtoDRB-SetupResponse-SNterminated-Item ::= SEQUENCE {
+ qoSFlowIdentifier QoSFlowIdentifier,
+ mCGRequestedGBRQoSFlowInfo GBRQoSFlowInfo OPTIONAL,
+ qosFlowMappingIndication QoSFlowMappingIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsMappedtoDRB-SetupResponse-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsMappedtoDRB-SetupResponse-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION QoSParaSetIndex PRESENCE optional }|
+ { ID id-SourceDLForwardingIPAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Setup Info - MN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceSetupInfo-MNterminated ::= SEQUENCE {
+ pduSessionType PDUSessionType,
+ dRBsToBeSetup DRBsToBeSetupList-Setup-MNterminated,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupInfo-MNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupInfo-MNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBsToBeSetupList-Setup-MNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsToBeSetupList-Setup-MNterminated-Item
+
+DRBsToBeSetupList-Setup-MNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ mN-UL-PDCP-UP-TNLInfo UPTransportParameters,
+ rLC-Mode RLCMode,
+ uL-Configuration ULConfiguration OPTIONAL,
+ dRB-QoS QoSFlowLevelQoSParameters,
+ pDCP-SNLength PDCPSNLength OPTIONAL,
+ secondary-MN-UL-PDCP-UP-TNLInfo UPTransportParameters OPTIONAL,
+ duplicationActivation DuplicationActivation OPTIONAL,
+ qoSFlowsMappedtoDRB-Setup-MNterminated QoSFlowsMappedtoDRB-Setup-MNterminated,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToBeSetupList-Setup-MNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToBeSetupList-Setup-MNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional}|
+ { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional},
+ ...
+}
+
+QoSFlowsMappedtoDRB-Setup-MNterminated ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF QoSFlowsMappedtoDRB-Setup-MNterminated-Item
+
+QoSFlowsMappedtoDRB-Setup-MNterminated-Item ::= SEQUENCE {
+ qoSFlowIdentifier QoSFlowIdentifier,
+ qoSFlowLevelQoSParameters QoSFlowLevelQoSParameters,
+ qosFlowMappingIndication QoSFlowMappingIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsMappedtoDRB-Setup-MNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsMappedtoDRB-Setup-MNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Setup Response Info - MN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceSetupResponseInfo-MNterminated ::= SEQUENCE {
+ dRBsAdmittedList DRBsAdmittedList-SetupResponse-MNterminated,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupResponseInfo-MNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSetupResponseInfo-MNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-DRBsNotAdmittedSetupModifyList CRITICALITY ignore EXTENSION DRB-List-withCause PRESENCE optional},
+ ...
+}
+
+DRBsAdmittedList-SetupResponse-MNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsAdmittedList-SetupResponse-MNterminated-Item
+
+DRBsAdmittedList-SetupResponse-MNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ sN-DL-SCG-UP-TNLInfo UPTransportParameters,
+ secondary-SN-DL-SCG-UP-TNLInfo UPTransportParameters OPTIONAL,
+ lCID LCID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRBsAdmittedList-SetupResponse-MNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsAdmittedList-SetupResponse-MNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional}|
+ { ID id-QoSFlowsMappedtoDRB-SetupResponse-MNterminated CRITICALITY ignore EXTENSION QoSFlowsMappedtoDRB-SetupResponse-MNterminated PRESENCE optional},
+ ...
+}
+
+QoSFlowsMappedtoDRB-SetupResponse-MNterminated ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF QoSFlowsMappedtoDRB-SetupResponse-MNterminated-Item
+
+QoSFlowsMappedtoDRB-SetupResponse-MNterminated-Item ::= SEQUENCE {
+ qoSFlowIdentifier QoSFlowIdentifier,
+ currentQoSParaSetIndex QoSParaSetIndex,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsMappedtoDRB-SetupResponse-MNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsMappedtoDRB-SetupResponse-MNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Modification Info - SN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceModificationInfo-SNterminated ::= SEQUENCE {
+ uL-NG-U-TNLatUPF UPTransportLayerInformation OPTIONAL,
+ pduSessionNetworkInstance PDUSessionNetworkInstance OPTIONAL,
+ qosFlowsToBeSetup-List QoSFlowsToBeSetup-List-Setup-SNterminated OPTIONAL,
+ dataforwardinginfofromSource DataforwardingandOffloadingInfofromSource OPTIONAL,
+ qosFlowsToBeModified-List QoSFlowsToBeSetup-List-Modified-SNterminated OPTIONAL,
+ qoSFlowsToBeReleased-List QoSFlows-List-withCause OPTIONAL,
+ drbsToBeModifiedList DRBsToBeModified-List-Modified-SNterminated OPTIONAL,
+ dRBsToBeReleased DRB-List-withCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModificationInfo-SNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModificationInfo-SNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PDUSessionCommonNetworkInstance CRITICALITY ignore EXTENSION PDUSessionCommonNetworkInstance PRESENCE optional}|
+ {ID id-DefaultDRB-Allowed CRITICALITY ignore EXTENSION DefaultDRB-Allowed PRESENCE optional}|
+ {ID id-NonGBRResources-Offered CRITICALITY ignore EXTENSION NonGBRResources-Offered PRESENCE optional}|
+ {ID id-Redundant-UL-NG-U-TNLatUPF CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional}|
+ {ID id-RedundantCommonNetworkInstance CRITICALITY ignore EXTENSION PDUSessionCommonNetworkInstance PRESENCE optional}|
+ {ID id-SecurityIndication CRITICALITY ignore EXTENSION SecurityIndication PRESENCE optional},
+ ...
+}
+
+QoSFlowsToBeSetup-List-Modified-SNterminated ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF QoSFlowsToBeSetup-List-Modified-SNterminated-Item
+
+QoSFlowsToBeSetup-List-Modified-SNterminated-Item ::= SEQUENCE {
+ qfi QoSFlowIdentifier,
+ qosFlowLevelQoSParameters QoSFlowLevelQoSParameters OPTIONAL,
+ offeredGBRQoSFlowInfo GBRQoSFlowInfo OPTIONAL,
+ qosFlowMappingIndication QoSFlowMappingIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsToBeSetup-List-Modified-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsToBeSetup-List-Modified-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional}|
+ { ID id-RedundantQoSFlowIndicator CRITICALITY ignore EXTENSION RedundantQoSFlowIndicator PRESENCE optional},
+ ...
+}
+
+DRBsToBeModified-List-Modified-SNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsToBeModified-List-Modified-SNterminated-Item
+
+DRBsToBeModified-List-Modified-SNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ mN-DL-SCG-UP-TNLInfo UPTransportParameters OPTIONAL,
+ secondary-MN-DL-SCG-UP-TNLInfo UPTransportParameters OPTIONAL,
+ lCID LCID OPTIONAL,
+ rlc-status RLC-Status OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToBeModified-List-Modified-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToBeModified-List-Modified-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PDU Session Resource Modification Response Info - SN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceModificationResponseInfo-SNterminated ::= SEQUENCE {
+ dL-NG-U-TNLatNG-RAN UPTransportLayerInformation OPTIONAL,
+ dRBsToBeSetup DRBsToBeSetupList-SetupResponse-SNterminated OPTIONAL,
+ dataforwardinginfoTarget DataForwardingInfoFromTargetNGRANnode OPTIONAL,
+ dRBsToBeModified DRBsToBeModifiedList-ModificationResponse-SNterminated OPTIONAL,
+ dRBsToBeReleased DRB-List-withCause OPTIONAL,
+ dataforwardinginfofromSource DataforwardingandOffloadingInfofromSource OPTIONAL,
+ qosFlowsNotAdmittedTBAdded QoSFlows-List-withCause OPTIONAL,
+ qosFlowsReleased QoSFlows-List-withCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModificationResponseInfo-SNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModificationResponseInfo-SNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DRB-IDs-takenintouse CRITICALITY reject EXTENSION DRB-List PRESENCE optional}|
+ { ID id-Redundant-DL-NG-U-TNLatNG-RAN CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional}|
+ { ID id-SecurityResult CRITICALITY ignore EXTENSION SecurityResult PRESENCE optional},
+ ...
+}
+
+DRBsToBeModifiedList-ModificationResponse-SNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF
+ DRBsToBeModifiedList-ModificationResponse-SNterminated-Item
+
+DRBsToBeModifiedList-ModificationResponse-SNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ sN-UL-PDCP-UP-TNLInfo UPTransportParameters OPTIONAL,
+ dRB-QoS QoSFlowLevelQoSParameters OPTIONAL,
+ qoSFlowsMappedtoDRB-SetupResponse-SNterminated QoSFlowsMappedtoDRB-SetupResponse-SNterminated OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToBeModifiedList-ModificationResponse-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToBeModifiedList-ModificationResponse-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional}|
+ { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional}|
+ { ID id-secondary-SN-UL-PDCP-UP-TNLInfo CRITICALITY ignore EXTENSION UPTransportParameters PRESENCE optional}|
+ { ID id-pdcpDuplicationConfiguration CRITICALITY ignore EXTENSION PDCPDuplicationConfiguration PRESENCE optional}|
+ { ID id-duplicationActivation CRITICALITY ignore EXTENSION DuplicationActivation PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Modification Info - MN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceModificationInfo-MNterminated ::= SEQUENCE {
+ pduSessionType PDUSessionType,
+ dRBsToBeSetup DRBsToBeSetupList-Setup-MNterminated OPTIONAL,
+ dRBsToBeModified DRBsToBeModifiedList-Modification-MNterminated OPTIONAL,
+ dRBsToBeReleased DRB-List-withCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModificationInfo-MNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModificationInfo-MNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBsToBeModifiedList-Modification-MNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF
+ DRBsToBeModifiedList-Modification-MNterminated-Item
+
+DRBsToBeModifiedList-Modification-MNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ mN-UL-PDCP-UP-TNLInfo UPTransportParameters OPTIONAL,
+ dRB-QoS QoSFlowLevelQoSParameters OPTIONAL,
+ secondary-MN-UL-PDCP-UP-TNLInfo UPTransportParameters OPTIONAL,
+ uL-Configuration ULConfiguration OPTIONAL,
+ pdcpDuplicationConfiguration PDCPDuplicationConfiguration OPTIONAL,
+ duplicationActivation DuplicationActivation OPTIONAL,
+ qoSFlowsMappedtoDRB-Setup-MNterminated QoSFlowsMappedtoDRB-Setup-MNterminated OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToBeModifiedList-Modification-MNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToBeModifiedList-Modification-MNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional}|
+ { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Modification Response Info - MN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceModificationResponseInfo-MNterminated ::= SEQUENCE {
+ dRBsAdmittedList DRBsAdmittedList-ModificationResponse-MNterminated,
+ dRBsReleasedList DRB-List OPTIONAL,
+ dRBsNotAdmittedSetupModifyList DRB-List-withCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModificationResponseInfo-MNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModificationResponseInfo-MNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBsAdmittedList-ModificationResponse-MNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsAdmittedList-ModificationResponse-MNterminated-Item
+
+DRBsAdmittedList-ModificationResponse-MNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ sN-DL-SCG-UP-TNLInfo UPTransportParameters OPTIONAL,
+ secondary-SN-DL-SCG-UP-TNLInfo UPTransportParameters OPTIONAL,
+ lCID LCID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRBsAdmittedList-ModificationResponse-MNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsAdmittedList-ModificationResponse-MNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional}|
+ { ID id-QoSFlowsMappedtoDRB-SetupResponse-MNterminated CRITICALITY ignore EXTENSION QoSFlowsMappedtoDRB-SetupResponse-MNterminated PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Change Required Info - SN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceChangeRequiredInfo-SNterminated ::= SEQUENCE {
+ dataforwardinginfofromSource DataforwardingandOffloadingInfofromSource OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceChangeRequiredInfo-SNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceChangeRequiredInfo-SNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Change Confirm Info - SN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceChangeConfirmInfo-SNterminated ::= SEQUENCE {
+ dataforwardinginfoTarget DataForwardingInfoFromTargetNGRANnode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceChangeConfirmInfo-SNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceChangeConfirmInfo-SNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DRB-IDs-takenintouse CRITICALITY reject EXTENSION DRB-List PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Change Required Info - MN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceChangeRequiredInfo-MNterminated ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceChangeRequiredInfo-MNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceChangeRequiredInfo-MNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Change Confirm Info - MN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceChangeConfirmInfo-MNterminated ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceChangeConfirmInfo-MNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceChangeConfirmInfo-MNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Modification Required Info - SN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceModRqdInfo-SNterminated ::= SEQUENCE {
+ dL-NG-U-TNLatNG-RAN UPTransportLayerInformation OPTIONAL,
+ qoSFlowsToBeReleased-List QoSFlows-List-withCause OPTIONAL,
+ dataforwardinginfofromSource DataforwardingandOffloadingInfofromSource OPTIONAL,
+ drbsToBeSetupList DRBsToBeSetup-List-ModRqd-SNterminated OPTIONAL,
+ drbsToBeModifiedList DRBsToBeModified-List-ModRqd-SNterminated OPTIONAL,
+ dRBsToBeReleased DRB-List-withCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModRqdInfo-SNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModRqdInfo-SNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBsToBeSetup-List-ModRqd-SNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsToBeSetup-List-ModRqd-SNterminated-Item
+
+DRBsToBeSetup-List-ModRqd-SNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ pDCP-SNLength PDCPSNLength OPTIONAL,
+ sn-UL-PDCP-UPTNLinfo UPTransportParameters,
+ dRB-QoS QoSFlowLevelQoSParameters,
+ secondary-SN-UL-PDCP-UP-TNLInfo UPTransportParameters OPTIONAL,
+ duplicationActivation DuplicationActivation OPTIONAL,
+ uL-Configuration ULConfiguration OPTIONAL,
+ qoSFlowsMappedtoDRB-ModRqd-SNterminated QoSFlowsSetupMappedtoDRB-ModRqd-SNterminated,
+ rLC-Mode RLCMode,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToBeSetup-List-ModRqd-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToBeSetup-List-ModRqd-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional}|
+ { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional},
+ ...
+}
+
+QoSFlowsSetupMappedtoDRB-ModRqd-SNterminated ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF
+ QoSFlowsSetupMappedtoDRB-ModRqd-SNterminated-Item
+
+QoSFlowsSetupMappedtoDRB-ModRqd-SNterminated-Item ::= SEQUENCE {
+ qoSFlowIdentifier QoSFlowIdentifier,
+ mCGRequestedGBRQoSFlowInfo GBRQoSFlowInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsSetupMappedtoDRB-ModRqd-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsSetupMappedtoDRB-ModRqd-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBsToBeModified-List-ModRqd-SNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsToBeModified-List-ModRqd-SNterminated-Item
+
+DRBsToBeModified-List-ModRqd-SNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ sN-UL-PDCP-UP-TNLInfo UPTransportParameters OPTIONAL,
+ dRB-QoS QoSFlowLevelQoSParameters OPTIONAL,
+ secondary-SN-UL-PDCP-UP-TNLInfo UPTransportParameters OPTIONAL,
+ uL-Configuration ULConfiguration OPTIONAL,
+ pdcpDuplicationConfiguration PDCPDuplicationConfiguration OPTIONAL,
+ duplicationActivation DuplicationActivation OPTIONAL,
+ qoSFlowsMappedtoDRB-ModRqd-SNterminated QoSFlowsModifiedMappedtoDRB-ModRqd-SNterminated OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToBeModified-List-ModRqd-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToBeModified-List-ModRqd-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional}|
+ { ID id-RLCDuplicationInformation CRITICALITY ignore EXTENSION RLCDuplicationInformation PRESENCE optional},
+ ...
+}
+
+QoSFlowsModifiedMappedtoDRB-ModRqd-SNterminated ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF
+ QoSFlowsModifiedMappedtoDRB-ModRqd-SNterminated-Item
+
+QoSFlowsModifiedMappedtoDRB-ModRqd-SNterminated-Item ::= SEQUENCE {
+ qoSFlowIdentifier QoSFlowIdentifier,
+ mCGRequestedGBRQoSFlowInfo GBRQoSFlowInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsModifiedMappedtoDRB-ModRqd-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsModifiedMappedtoDRB-ModRqd-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Modification Confirm Info - SN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceModConfirmInfo-SNterminated ::= SEQUENCE {
+ uL-NG-U-TNLatUPF UPTransportLayerInformation OPTIONAL,
+ dRBsAdmittedList DRBsAdmittedList-ModConfirm-SNterminated,
+ dRBsNotAdmittedSetupModifyList DRB-List-withCause OPTIONAL,
+ dataforwardinginfoTarget DataForwardingInfoFromTargetNGRANnode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModConfirmInfo-SNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModConfirmInfo-SNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DRB-IDs-takenintouse CRITICALITY reject EXTENSION DRB-List PRESENCE optional},
+ ...
+}
+
+DRBsAdmittedList-ModConfirm-SNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF
+ DRBsAdmittedList-ModConfirm-SNterminated-Item
+
+DRBsAdmittedList-ModConfirm-SNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ mN-DL-CG-UP-TNLInfo UPTransportParameters OPTIONAL,
+ secondary-MN-DL-CG-UP-TNLInfo UPTransportParameters OPTIONAL,
+ lCID LCID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRBsAdmittedList-ModConfirm-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsAdmittedList-ModConfirm-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Modification Required Info - MN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceModRqdInfo-MNterminated ::= SEQUENCE {
+ dRBsToBeModified DRBsToBeModified-List-ModRqd-MNterminated OPTIONAL,
+ dRBsToBeReleased DRB-List-withCause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModRqdInfo-MNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModRqdInfo-MNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBsToBeModified-List-ModRqd-MNterminated ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsToBeModified-List-ModRqd-MNterminated-Item
+
+DRBsToBeModified-List-ModRqd-MNterminated-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ sN-DL-SCG-UP-TNLInfo UPTransportLayerInformation,
+ secondary-SN-DL-SCG-UP-TNLInfo UPTransportLayerInformation OPTIONAL,
+ lCID LCID OPTIONAL,
+ rlc-status RLC-Status OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToBeModified-List-ModRqd-MNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToBeModified-List-ModRqd-MNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-Additional-PDCP-Duplication-TNL-List CRITICALITY ignore EXTENSION Additional-PDCP-Duplication-TNL-List PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Modification Confirm Info - MN terminated
+--
+-- **************************************************************
+
+
+PDUSessionResourceModConfirmInfo-MNterminated ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModConfirmInfo-MNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceModConfirmInfo-MNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- PDU Session Resource Setup Complete Info - SN terminated
+--
+-- **************************************************************
+
+PDUSessionResourceBearerSetupCompleteInfo-SNterminated ::= SEQUENCE {
+ dRBsToBeSetupList SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsToBeSetupList-BearerSetupComplete-SNterminated-Item,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceBearerSetupCompleteInfo-SNterminated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceBearerSetupCompleteInfo-SNterminated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DRBsToBeSetupList-BearerSetupComplete-SNterminated-Item ::= SEQUENCE {
+ dRB-ID DRB-ID,
+ mN-Xn-U-TNLInfoatM UPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { {DRBsToBeSetupList-BearerSetupComplete-SNterminated-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsToBeSetupList-BearerSetupComplete-SNterminated-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-Secondary-MN-Xn-U-TNLInfoatM CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- PDU Session related message level IEs END
+--
+-- **************************************************************
+
+PDUSessionResourceSecondaryRATUsageList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSecondaryRATUsageItem
+
+PDUSessionResourceSecondaryRATUsageItem ::= SEQUENCE {
+ pDUSessionID PDUSession-ID,
+ secondaryRATUsageInformation SecondaryRATUsageInformation,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSecondaryRATUsageItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceSecondaryRATUsageItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionUsageReport ::= SEQUENCE {
+ rATType ENUMERATED {nr, eutra, ..., nr-unlicensed, e-utra-unlicensed},
+ pDUSessionTimedReportList VolumeTimedReportList,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionUsageReport-ExtIEs} } OPTIONAL,
+...
+}
+
+PDUSessionUsageReport-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionType ::= ENUMERATED {ipv4, ipv6, ipv4v6, ethernet, unstructured, ...}
+
+PDUSession-ID ::= INTEGER (0..255)
+
+PDUSessionNetworkInstance ::= INTEGER (1..256, ...)
+
+PDUSessionCommonNetworkInstance ::= OCTET STRING
+
+PDUSession-PairID ::= INTEGER (0..255, ...)
+
+
+Periodical ::= SEQUENCE {
+ iE-Extensions ProtocolExtensionContainer { { Periodical-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Periodical-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Permutation ::= ENUMERATED {dfu, ufd, ...}
+
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+PLMNAreaBasedQMC ::= SEQUENCE {
+ plmnListforQMC PLMNListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {PLMNAreaBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PLMNAreaBasedQMC-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PLMNListforQMC ::= SEQUENCE (SIZE(1..maxnoofPLMNforQMC)) OF PLMN-Identity
+
+PCIListForMDT ::= SEQUENCE (SIZE(1.. maxnoofNeighPCIforMDT)) OF NRPCI
+
+
+PNI-NPN-Restricted-Information ::= ENUMERATED { restriced, not-restricted, ...}
+
+PortNumber ::= BIT STRING (SIZE (16))
+
+PriorityLevelQoS ::= INTEGER (1..127, ...)
+
+
+ProtectedE-UTRAResourceIndication ::= SEQUENCE {
+ activationSFN ActivationSFN,
+ protectedResourceList ProtectedE-UTRAResourceList,
+ mbsfnControlRegionLength MBSFNControlRegionLength OPTIONAL,
+ pDCCHRegionLength INTEGER (1..3),
+ iE-Extensions ProtocolExtensionContainer { {ProtectedE-UTRAResourceIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ProtectedE-UTRAResourceIndication-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ProtectedE-UTRAResourceList ::= SEQUENCE (SIZE (1.. maxnoofProtectedResourcePatterns)) OF ProtectedE-UTRAResource-Item
+
+ProtectedE-UTRAResource-Item ::= SEQUENCE {
+ resourceType ENUMERATED {downlinknonCRS, cRS, uplink, ...},
+ intra-PRBProtectedResourceFootprint BIT STRING (SIZE(84, ...)),
+ protectedFootprintFrequencyPattern BIT STRING (SIZE(6..110, ...)),
+ protectedFootprintTimePattern ProtectedE-UTRAFootprintTimePattern,
+ iE-Extensions ProtocolExtensionContainer { {ProtectedE-UTRAResource-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ProtectedE-UTRAResource-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ProtectedE-UTRAFootprintTimePattern ::= SEQUENCE {
+ protectedFootprintTimeperiodicity INTEGER (1..320, ...),
+ protectedFootrpintStartTime INTEGER (1..20, ...),
+ iE-Extensions ProtocolExtensionContainer { {ProtectedE-UTRAFootprintTimePattern-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ProtectedE-UTRAFootprintTimePattern-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PrivacyIndicator ::= ENUMERATED {
+ immediate-MDT,
+ logged-MDT,
+ ...
+}
+
+
+PSCellChangeHistory ::= ENUMERATED {reporting-full-history, ...}
+
+PSCellHistoryInformationRetrieve ::= ENUMERATED {query, ...}
+
+
+-- Q
+
+
+QMCConfigInfo ::= SEQUENCE {
+ uEAppLayerMeasInfoList UEAppLayerMeasInfoList,
+ iE-Extensions ProtocolExtensionContainer { {QMCConfigInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QMCConfigInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEAppLayerMeasInfoList ::= SEQUENCE (SIZE(1..maxnoofUEAppLayerMeas)) OF UEAppLayerMeasInfo-Item
+
+UEAppLayerMeasInfo-Item ::= SEQUENCE {
+ uEAppLayerMeasConfigInfo UEAppLayerMeasConfigInfo,
+ iE-Extensions ProtocolExtensionContainer { { UEAppLayerMeasInfo-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAppLayerMeasInfo-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QOEMeasConfAppLayerID ::= INTEGER (0..15, ...)
+
+QOEMeasStatus ::= ENUMERATED {ongoing, ...}
+
+QOEReference ::= OCTET STRING (SIZE (6))
+
+QoSCharacteristics ::= CHOICE {
+ non-dynamic NonDynamic5QIDescriptor,
+ dynamic Dynamic5QIDescriptor,
+ choice-extension ProtocolIE-Single-Container { {QoSCharacteristics-ExtIEs} }
+}
+
+QoSCharacteristics-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+QoSFlowIdentifier ::= INTEGER (0..63, ...)
+
+
+QoSFlowLevelQoSParameters ::= SEQUENCE {
+ qos-characteristics QoSCharacteristics,
+ allocationAndRetentionPrio AllocationandRetentionPriority,
+ gBRQoSFlowInfo GBRQoSFlowInfo OPTIONAL,
+ reflectiveQoS ReflectiveQoSAttribute OPTIONAL,
+ additionalQoSflowInfo ENUMERATED {more-likely, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowLevelQoSParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowLevelQoSParameters-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-QoSMonitoringRequest CRITICALITY ignore EXTENSION QosMonitoringRequest PRESENCE optional}|
+ {ID id-QosMonitoringReportingFrequency CRITICALITY ignore EXTENSION QosMonitoringReportingFrequency PRESENCE optional}|
+ {ID id-QoSMonitoringDisabled CRITICALITY ignore EXTENSION QoSMonitoringDisabled PRESENCE optional},
+ ...
+}
+
+
+QoSFlowMappingIndication ::= ENUMERATED {
+ ul,
+ dl,
+ ...
+}
+
+
+QoSFlowNotificationControlIndicationInfo ::= SEQUENCE (SIZE (1..maxnoofQoSFlows)) OF QoSFlowNotify-Item
+
+QoSFlowNotify-Item ::= SEQUENCE {
+ qosFlowIdentifier QoSFlowIdentifier,
+ notificationInformation ENUMERATED {fulfilled, not-fulfilled, ...},
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowNotificationControlIndicationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowNotificationControlIndicationInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION QoSParaSetNotifyIndex PRESENCE optional },
+ ...
+}
+
+
+QoSFlows-List ::= SEQUENCE (SIZE (1..maxnoofQoSFlows)) OF QoSFlow-Item
+
+QoSFlow-Item ::= SEQUENCE {
+ qfi QoSFlowIdentifier,
+ qosFlowMappingIndication QoSFlowMappingIndication OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {QoSFlow-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlow-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+QoSFlows-List-withCause ::= SEQUENCE (SIZE (1..maxnoofQoSFlows)) OF QoSFlowwithCause-Item
+
+QoSFlowwithCause-Item ::= SEQUENCE {
+ qfi QoSFlowIdentifier,
+ cause Cause OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {QoSFlowwithCause-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowwithCause-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoS-Mapping-Information ::= SEQUENCE {
+dscp BIT STRING (SIZE(6)) OPTIONAL,
+flow-label BIT STRING (SIZE(20)) OPTIONAL,
+iE-Extensions ProtocolExtensionContainer { {QoS-Mapping-Information-ExtIEs} } OPTIONAL,
+...
+}
+
+QoS-Mapping-Information-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoSParaSetIndex ::= INTEGER (1..8,...)
+QoSParaSetNotifyIndex ::= INTEGER (0..8,...)
+
+
+QoSFlowsAdmitted-List ::= SEQUENCE (SIZE (1..maxnoofQoSFlows)) OF QoSFlowsAdmitted-Item
+
+QoSFlowsAdmitted-Item ::= SEQUENCE {
+ qfi QoSFlowIdentifier,
+ iE-Extension ProtocolExtensionContainer { {QoSFlowsAdmitted-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsAdmitted-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+{ ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION QoSParaSetIndex PRESENCE optional },
+ ...
+}
+
+
+QoSFlowsToBeSetup-List ::= SEQUENCE (SIZE (1..maxnoofQoSFlows)) OF QoSFlowsToBeSetup-Item
+
+QoSFlowsToBeSetup-Item ::= SEQUENCE {
+ qfi QoSFlowIdentifier,
+ qosFlowLevelQoSParameters QoSFlowLevelQoSParameters,
+ e-RAB-ID E-RAB-ID OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {QoSFlowsToBeSetup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsToBeSetup-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional}|
+ { ID id-RedundantQoSFlowIndicator CRITICALITY ignore EXTENSION RedundantQoSFlowIndicator PRESENCE optional},
+ ...
+}
+
+QoSFlowsUsageReportList ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF QoSFlowsUsageReport-Item
+
+QoSFlowsUsageReport-Item ::= SEQUENCE {
+ qosFlowIdentifier QoSFlowIdentifier,
+ rATType ENUMERATED {nr, eutra, ..., nr-unlicensed, e-utra-unlicensed},
+ qoSFlowsTimedReportList VolumeTimedReportList,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsUsageReport-Item-ExtIEs} } OPTIONAL,
+...
+}
+
+QoSFlowsUsageReport-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QosMonitoringRequest ::= ENUMERATED {ul, dl, both}
+QoSMonitoringDisabled ::= ENUMERATED {true, ...}
+QosMonitoringReportingFrequency ::= INTEGER (1..1800, ...)
+
+-- R
+
+RACH-Config-Common ::= OCTET STRING
+
+RACH-Config-Common-IAB ::= OCTET STRING
+
+RACHReportInformation ::= SEQUENCE (SIZE(1.. maxnoofRACHReports)) OF RACHReportList-Item
+RACHReportList-Item ::= SEQUENCE {
+ rACHReport RACHReportContainer,
+ iE-Extensions ProtocolExtensionContainer { { RACHReportList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RACHReportList-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-UEAssistantIdentifier CRITICALITY ignore EXTENSION NG-RANnodeUEXnAPID PRESENCE optional},
+ ...
+}
+
+RACHReportContainer ::= OCTET STRING
+
+
+RadioResourceStatus ::= CHOICE {
+ ng-eNB-RadioResourceStatus NG-eNB-RadioResourceStatus,
+ gNB-RadioResourceStatus GNB-RadioResourceStatus,
+ choice-extension ProtocolIE-Single-Container { { RadioResourceStatus-ExtIEs} }
+
+}
+
+RadioResourceStatus-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+RANAC ::= INTEGER (0..255)
+
+
+RANAreaID ::= SEQUENCE {
+ tAC TAC,
+ rANAC RANAC OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RANAreaID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RANAreaID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RANAreaID-List ::= SEQUENCE (SIZE(1..maxnoofRANAreasinRNA)) OF RANAreaID
+
+Range ::= ENUMERATED {m50, m80, m180, m200, m350, m400, m500, m700, m1000, ...}
+
+RANPagingArea ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ rANPagingAreaChoice RANPagingAreaChoice,
+ iE-Extensions ProtocolExtensionContainer { {RANPagingArea-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RANPagingArea-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RANPagingAreaChoice ::= CHOICE {
+ cell-List NG-RAN-Cell-Identity-ListinRANPagingArea,
+ rANAreaID-List RANAreaID-List,
+ choice-extension ProtocolIE-Single-Container { {RANPagingAreaChoice-ExtIEs} }
+}
+
+RANPagingAreaChoice-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+RANPagingAttemptInfo ::= SEQUENCE {
+ pagingAttemptCount INTEGER (1..16, ...),
+ intendedNumberOfPagingAttempts INTEGER (1..16, ...),
+ nextPagingAreaScope ENUMERATED {same, changed, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RANPagingAttemptInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RANPagingAttemptInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RANPagingFailure ::= ENUMERATED {
+ true,
+ ...
+}
+
+RBsetConfiguration ::= SEQUENCE {
+ subcarrierSpacing SSB-subcarrierSpacing,
+ rBsetSize ENUMERATED {rb2, rb4, rb8, rb16, rb32, rb64},
+ numberofRBSets INTEGER(1.. maxnoofRBsetsPerCell),
+ iE-Extensions ProtocolExtensionContainer { { RBsetConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RBsetConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Redcap-Bcast-Information ::= BIT STRING(SIZE(8))
+
+RedundantQoSFlowIndicator ::= ENUMERATED {true, false}
+
+RedundantPDUSessionInformation ::= SEQUENCE {
+ rSN RSN,
+ iE-Extensions ProtocolExtensionContainer { {RedundantPDUSessionInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RedundantPDUSessionInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PDUSession-PairID CRITICALITY ignore EXTENSION PDUSession-PairID PRESENCE optional },
+ ...
+}
+
+RSN ::= ENUMERATED {v1, v2, ...}
+
+
+ReflectiveQoSAttribute ::= ENUMERATED {subject-to-reflective-QoS, ...}
+
+RequestedSRSTransmissionCharacteristics ::= OCTET STRING
+
+
+RoutingID ::= OCTET STRING
+
+ReplacingCells ::= SEQUENCE (SIZE(0.. maxnoofCellsinNG-RANnode)) OF ReplacingCells-Item
+
+ReplacingCells-Item ::= SEQUENCE {
+ globalNG-RANCell-ID GlobalCell-ID,
+ iE-Extensions ProtocolExtensionContainer { {ReplacingCells-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ReplacingCells-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, infinity, ...}
+
+
+ReportArea ::= ENUMERATED {
+ cell,
+ ...
+}
+
+ReportConfigContainer ::= OCTET STRING
+
+ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60, ...}
+
+ReportType ::= CHOICE {
+ periodical Periodical,
+ eventTriggered EventTriggered,
+ ...,
+ choice-extension ProtocolIE-Single-Container { {ReportType-ExtIEs} }
+}
+
+ReportType-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+ExtendedReportIntervalMDT ::= ENUMERATED {
+ ms20480,
+ ms40960,
+ ...
+}
+
+
+ReportCharacteristics ::= BIT STRING(SIZE(32))
+
+
+ReportingPeriodicity ::= ENUMERATED {
+ half-thousand-ms,
+one-thousand-ms,
+ two-thousand-ms,
+ five-thousand-ms,
+ ten-thousand-ms,
+ ...
+}
+
+
+RegistrationRequest ::= ENUMERATED {start, stop, add, ... }
+
+RequestReferenceID ::= INTEGER (1..64, ...)
+
+
+ReservedSubframePattern ::= SEQUENCE {
+ subframeType ENUMERATED {mbsfn, non-mbsfn, ...},
+ reservedSubframePattern BIT STRING (SIZE(10..160)),
+ mbsfnControlRegionLength MBSFNControlRegionLength OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {ReservedSubframePattern-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ReservedSubframePattern-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+ResetRequestTypeInfo ::= CHOICE {
+ fullReset ResetRequestTypeInfo-Full,
+ partialReset ResetRequestTypeInfo-Partial,
+ choice-extension ProtocolIE-Single-Container { {ResetRequestTypeInfo-ExtIEs} }
+}
+
+ResetRequestTypeInfo-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+ResetRequestTypeInfo-Full ::= SEQUENCE {
+ iE-Extension ProtocolExtensionContainer { {ResetRequestTypeInfo-Full-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetRequestTypeInfo-Full-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetRequestTypeInfo-Partial ::= SEQUENCE {
+ ue-contexts-ToBeReleasedList ResetRequestPartialReleaseList,
+ iE-Extension ProtocolExtensionContainer { {ResetRequestTypeInfo-Partial-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetRequestTypeInfo-Partial-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetRequestPartialReleaseList ::= SEQUENCE (SIZE(1..maxnoofUEContexts)) OF ResetRequestPartialReleaseItem
+
+ResetRequestPartialReleaseItem ::= SEQUENCE {
+ ng-ran-node1UEXnAPID NG-RANnodeUEXnAPID OPTIONAL,
+ ng-ran-node2UEXnAPID NG-RANnodeUEXnAPID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ResetRequestPartialReleaseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetRequestPartialReleaseItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResetResponseTypeInfo ::= CHOICE {
+ fullReset ResetResponseTypeInfo-Full,
+ partialReset ResetResponseTypeInfo-Partial,
+ choice-extension ProtocolIE-Single-Container { {ResetResponseTypeInfo-ExtIEs} }
+}
+
+ResetResponseTypeInfo-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+ResetResponseTypeInfo-Full ::= SEQUENCE {
+ iE-Extension ProtocolExtensionContainer { {ResetResponseTypeInfo-Full-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetResponseTypeInfo-Full-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetResponseTypeInfo-Partial ::= SEQUENCE {
+ ue-contexts-AdmittedToBeReleasedList ResetResponsePartialReleaseList,
+ iE-Extension ProtocolExtensionContainer { {ResetResponseTypeInfo-Partial-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetResponseTypeInfo-Partial-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetResponsePartialReleaseList ::= SEQUENCE (SIZE(1..maxnoofUEContexts)) OF ResetResponsePartialReleaseItem
+
+ResetResponsePartialReleaseItem ::= SEQUENCE {
+ ng-ran-node1UEXnAPID NG-RANnodeUEXnAPID OPTIONAL,
+ ng-ran-node2UEXnAPID NG-RANnodeUEXnAPID OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ResetResponsePartialReleaseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetResponsePartialReleaseItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RLCMode ::= ENUMERATED {
+ rlc-am,
+ rlc-um-bidirectional,
+ rlc-um-unidirectional-ul,
+ rlc-um-unidirectional-dl,
+ ...
+ }
+
+
+RLC-Status ::= SEQUENCE {
+ reestablishment-Indication Reestablishment-Indication,
+ iE-Extensions ProtocolExtensionContainer { {RLC-Status-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RLC-Status-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLCDuplicationInformation ::= SEQUENCE {
+ rLCDuplicationStateList RLCDuplicationStateList,
+ rLC-PrimaryIndicator ENUMERATED {true, false} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RLCDuplicationInformation-ItemExtIEs} } OPTIONAL
+}
+
+RLCDuplicationInformation-ItemExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RLCDuplicationStateList ::= SEQUENCE (SIZE(1..maxnoofRLCDuplicationstate)) OF RLCDuplicationState-Item
+
+RLCDuplicationState-Item ::= SEQUENCE {
+ duplicationState ENUMERATED {active,inactive, ...},
+ iE-Extensions ProtocolExtensionContainer { {RLCDuplicationState-ItemExtIEs } } OPTIONAL,
+ ...
+}
+
+RLCDuplicationState-ItemExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Reestablishment-Indication ::= ENUMERATED {
+ reestablished,
+ ...
+}
+
+
+RFSP-Index ::= INTEGER (1..256)
+
+
+RRCConfigIndication ::= ENUMERATED {
+ full-config,
+ delta-config,
+ ...
+}
+
+RRCConnections::= SEQUENCE {
+ noofRRCConnections NoofRRCConnections,
+ availableRRCConnectionCapacityValue AvailableRRCConnectionCapacityValue,
+ iE-Extensions ProtocolExtensionContainer { { RRCConnections-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RRCConnections-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RRCConnReestab-Indicator ::= ENUMERATED { reconfigurationFailure, handoverFailure, otherFailure, ...}
+
+RRCReestab-initiated ::= SEQUENCE {
+ rRRCReestab-initiated-reporting RRCReestab-Initiated-Reporting,
+ iE-Extensions ProtocolExtensionContainer { { RRCReestab-initiated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RRCReestab-initiated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RRCReestab-Initiated-Reporting ::= CHOICE {
+ rRCReestab-reporting-wo-UERLFReport RRCReestab-Initiated-Reporting-wo-UERLFReport,
+ rRCReestab-reporting-with-UERLFReport RRCReestab-Initiated-Reporting-with-UERLFReport,
+ choice-extension ProtocolIE-Single-Container { {RRCReestab-Initiated-Reporting-ExtIEs} }
+}
+
+RRCReestab-Initiated-Reporting-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+RRCReestab-Initiated-Reporting-wo-UERLFReport ::= SEQUENCE {
+ failureCellPCI NG-RAN-CellPCI,
+ reestabCellCGI GlobalNG-RANCell-ID,
+ c-RNTI C-RNTI,
+ shortMAC-I MAC-I,
+ iE-Extensions ProtocolExtensionContainer { { RRCReestab-Initiated-Reporting-wo-UERLFReport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RRCReestab-Initiated-Reporting-wo-UERLFReport-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-RRCConnReestab-Indicator CRITICALITY ignore EXTENSION RRCConnReestab-Indicator PRESENCE optional },
+ ...
+}
+
+RRCReestab-Initiated-Reporting-with-UERLFReport ::= SEQUENCE {
+ uERLFReportContainer UERLFReportContainer,
+ iE-Extensions ProtocolExtensionContainer { {RRCReestab-Initiated-Reporting-with-UERLFReport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RRCReestab-Initiated-Reporting-with-UERLFReport-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RRCSetup-initiated ::= SEQUENCE {
+ rRRCSetup-Initiated-Reporting RRCSetup-Initiated-Reporting,
+ uERLFReportContainer UERLFReportContainer OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { RRCSetup-initiated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RRCSetup-initiated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RRCSetup-Initiated-Reporting ::= CHOICE {
+ rRCSetup-reporting-with-UERLFReport RRCSetup-Initiated-Reporting-with-UERLFReport,
+ choice-extension ProtocolIE-Single-Container { {RRCSetup-Initiated-Reporting-ExtIEs} }
+}
+
+RRCSetup-Initiated-Reporting-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+RRCSetup-Initiated-Reporting-with-UERLFReport ::= SEQUENCE {
+ uERLFReportContainer UERLFReportContainer,
+ iE-Extensions ProtocolExtensionContainer { {RRCSetup-Initiated-Reporting-with-UERLFReport-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RRCSetup-Initiated-Reporting-with-UERLFReport-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RRCResumeCause ::= ENUMERATED {
+ rna-Update,
+ ...
+}
+
+
+-- S
+
+SCGreconfigNotification ::= ENUMERATED {executed, ... , executed-deleted, deleted }
+
+S-NSSAIListQoE ::= SEQUENCE (SIZE(1..maxnoofSNSSAIforQMC)) OF S-NSSAI
+
+S-BasedMDT ::= SEQUENCE {
+ ng-ran-TraceID NG-RANTraceID,
+ iE-Extension ProtocolExtensionContainer { {S-BasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+S-BasedMDT-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ServiceType ::= ENUMERATED{
+ qMC-for-streaming-service,
+ qMC-for-MTSI-service,
+ qMC-for-VR-service,
+ ...
+}
+
+SecondarydataForwardingInfoFromTarget-Item::= SEQUENCE {
+ secondarydataForwardingInfoFromTarget DataForwardingInfoFromTargetNGRANnode,
+ iE-Extensions ProtocolExtensionContainer { { SecondarydataForwardingInfoFromTarget-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecondarydataForwardingInfoFromTarget-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecondarydataForwardingInfoFromTarget-List ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF SecondarydataForwardingInfoFromTarget-Item
+
+SCGActivationRequest ::= ENUMERATED {activate-scg, deactivate-scg, ...}
+
+SCGActivationStatus ::= ENUMERATED {scg-activated, scg-deactivated, ...}
+
+SCGConfigurationQuery ::= ENUMERATED {true, ...}
+
+SCGIndicator ::= ENUMERATED{released, ...}
+
+SCGFailureReportContainer ::= OCTET STRING
+
+SDTSupportRequest ::= SEQUENCE {
+ sdtindicator SDTIndicator,
+ sdtAssistantInfo SDTAssistantInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SDTSupportRequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SDTSupportRequest-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDTIndicator ::= ENUMERATED {true, ...}
+
+SDTAssistantInfo ::= ENUMERATED {single-packet, multiple-packets, ...}
+
+SDT-Termination-Request ::= ENUMERATED {radio-link-problem, normal, ...}
+
+SDTPartialUEContextInfo ::= SEQUENCE {
+ dRBsToBeSetup SDT-DRBsToBeSetupList OPTIONAL,
+ sRBsToBeSetup SDT-SRBsToBeSetupList,
+ iE-Extensions ProtocolExtensionContainer { { SDTPartialUEContextInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+SDTPartialUEContextInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDT-DRBsToBeSetupList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF SDT-DRBsToBeSetupList-Item
+
+SDT-DRBsToBeSetupList-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ uL-TNLInfo UPTransportLayerInformation,
+ dRB-RLC-Bearer-Configuration OCTET STRING,
+ dRB-QoS QoSFlowLevelQoSParameters,
+ rLC-Mode RLCMode,
+ s-nssai S-NSSAI,
+ pDCP-SNLength PDCPSNLength,
+ flows-Mapped-To-DRB-List Flows-Mapped-To-DRB-List,
+ iE-Extensions ProtocolExtensionContainer { { SDT-DRBsToBeSetupList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SDT-DRBsToBeSetupList-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDT-SRBsToBeSetupList ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF SDT-SRBsToBeSetupList-Item
+
+SDT-SRBsToBeSetupList-Item ::= SEQUENCE {
+ srb-ID SRB-ID,
+ sRB-RLC-Bearer-Configuration OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { SDT-SRBsToBeSetupList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SDT-SRBsToBeSetupList-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SRB-ID ::= INTEGER (0..4, ...)
+
+SDTDataForwardingDRBList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF SDTDataForwardingDRBList-Item
+
+SDTDataForwardingDRBList-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ dL-TNLInfo UPTransportLayerInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SDTDataForwardingDRBList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SDTDataForwardingDRBList-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecondaryRATUsageInformation ::= SEQUENCE {
+ pDUSessionUsageReport PDUSessionUsageReport OPTIONAL,
+ qosFlowsUsageReportList QoSFlowsUsageReportList OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {SecondaryRATUsageInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecondaryRATUsageInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SecurityIndication ::= SEQUENCE {
+ integrityProtectionIndication ENUMERATED {required, preferred, not-needed, ...},
+ confidentialityProtectionIndication ENUMERATED {required, preferred, not-needed, ...},
+ maximumIPdatarate MaximumIPdatarate OPTIONAL,
+-- This IE shall be present if the Integrity Protection IE within the Security Indication IE is present and set to "required" or "preferred". --
+ iE-Extensions ProtocolExtensionContainer { {SecurityIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityIndication-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SecurityResult ::= SEQUENCE {
+ integrityProtectionResult ENUMERATED {performed, not-performed, ...},
+ confidentialityProtectionResult ENUMERATED {performed, not-performed, ...},
+ iE-Extensions ProtocolExtensionContainer { {SecurityResult-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityResult-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorMeasurementConfiguration ::= SEQUENCE {
+ sensorMeasConfig SensorMeasConfig,
+ sensorMeasConfigNameList SensorMeasConfigNameList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { SensorMeasurementConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+SensorMeasurementConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SensorMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofSensorName)) OF SensorName
+
+SensorMeasConfig::= ENUMERATED {setup,...}
+
+SensorName ::= SEQUENCE {
+ uncompensatedBarometricConfig ENUMERATED {true, ...} OPTIONAL,
+ ueSpeedConfig ENUMERATED {true, ...} OPTIONAL,
+ ueOrientationConfig ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SensorNameConfig-ExtIEs} } OPTIONAL,
+...
+}
+
+SensorNameConfig-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- Served Cells E-UTRA IEs
+
+
+ServedCellInformation-E-UTRA ::= SEQUENCE {
+ e-utra-pci E-UTRAPCI,
+ e-utra-cgi E-UTRA-CGI,
+ tac TAC,
+ ranac RANAC OPTIONAL,
+ broadcastPLMNs SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF ServedCellInformation-E-UTRA-perBPLMN,
+ e-utra-mode-info ServedCellInformation-E-UTRA-ModeInfo,
+ numberofAntennaPorts NumberOfAntennaPorts-E-UTRA OPTIONAL,
+ prach-configuration E-UTRAPRACHConfiguration OPTIONAL,
+ mBSFNsubframeInfo MBSFNSubframeInfo-E-UTRA OPTIONAL,
+ multibandInfo E-UTRAMultibandInfoList OPTIONAL,
+ freqBandIndicatorPriority ENUMERATED {not-broadcast, broadcast, ...} OPTIONAL,
+ bandwidthReducedSI ENUMERATED {scheduled, ...} OPTIONAL,
+ protectedE-UTRAResourceIndication ProtectedE-UTRAResourceIndication OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-E-UTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-E-UTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-BPLMN-ID-Info-EUTRA CRITICALITY ignore EXTENSION BPLMN-ID-Info-EUTRA PRESENCE optional }|
+ { ID id-NPRACHConfiguration CRITICALITY ignore EXTENSION NPRACHConfiguration PRESENCE optional},
+ ...
+}
+
+
+ServedCellInformation-E-UTRA-perBPLMN ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-E-UTRA-perBPLMN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-E-UTRA-perBPLMN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCellInformation-E-UTRA-ModeInfo ::= CHOICE {
+ fdd ServedCellInformation-E-UTRA-FDDInfo,
+ tdd ServedCellInformation-E-UTRA-TDDInfo,
+ choice-extension ProtocolIE-Single-Container{ {ServedCellInformation-E-UTRA-ModeInfo-ExtIEs} }
+}
+
+ServedCellInformation-E-UTRA-ModeInfo-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+ServedCellInformation-E-UTRA-FDDInfo ::= SEQUENCE {
+ ul-earfcn E-UTRAARFCN,
+ dl-earfcn E-UTRAARFCN,
+ ul-e-utraTxBW E-UTRATransmissionBandwidth,
+ dl-e-utraTxBW E-UTRATransmissionBandwidth,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-E-UTRA-FDDInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-E-UTRA-FDDInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-OffsetOfNbiotChannelNumberToDL-EARFCN CRITICALITY reject EXTENSION OffsetOfNbiotChannelNumberToEARFCN PRESENCE optional}|
+ { ID id-OffsetOfNbiotChannelNumberToUL-EARFCN CRITICALITY reject EXTENSION OffsetOfNbiotChannelNumberToEARFCN PRESENCE optional},
+ ...
+}
+
+
+ServedCellInformation-E-UTRA-TDDInfo ::= SEQUENCE {
+ earfcn E-UTRAARFCN,
+ e-utraTxBW E-UTRATransmissionBandwidth,
+ subframeAssignmnet ENUMERATED {sa0,sa1,sa2,sa3,sa4,sa5,sa6,...},
+ specialSubframeInfo SpecialSubframeInfo-E-UTRA,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-E-UTRA-TDDInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-E-UTRA-TDDInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-OffsetOfNbiotChannelNumberToDL-EARFCN CRITICALITY reject EXTENSION OffsetOfNbiotChannelNumberToEARFCN PRESENCE optional}|
+ { ID id-NBIoT-UL-DL-AlignmentOffset CRITICALITY reject EXTENSION NBIoT-UL-DL-AlignmentOffset PRESENCE optional},
+ ...
+}
+
+
+ServedCells-E-UTRA ::= SEQUENCE (SIZE (1..maxnoofCellsinNG-RANnode)) OF ServedCells-E-UTRA-Item
+
+ServedCells-E-UTRA-Item ::= SEQUENCE {
+ served-cell-info-E-UTRA ServedCellInformation-E-UTRA,
+ neighbour-info-NR NeighbourInformation-NR OPTIONAL,
+ neighbour-info-E-UTRA NeighbourInformation-E-UTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCells-E-UTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCells-E-UTRA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SFN-Offset CRITICALITY ignore EXTENSION SFN-Offset PRESENCE optional },
+...
+}
+
+
+ServedCellsToUpdate-E-UTRA ::= SEQUENCE {
+ served-Cells-ToAdd-E-UTRA ServedCells-E-UTRA OPTIONAL,
+ served-Cells-ToModify-E-UTRA ServedCells-ToModify-E-UTRA OPTIONAL,
+ served-Cells-ToDelete-E-UTRA SEQUENCE (SIZE (1..maxnoofCellsinNG-RANnode)) OF E-UTRA-CGI OPTIONAL,
+iE-Extensions ProtocolExtensionContainer { {ServedCellsToUpdate-E-UTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellsToUpdate-E-UTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCells-ToModify-E-UTRA ::= SEQUENCE (SIZE (1..maxnoofCellsinNG-RANnode)) OF ServedCells-ToModify-E-UTRA-Item
+
+ServedCells-ToModify-E-UTRA-Item ::= SEQUENCE {
+ old-ECGI E-UTRA-CGI,
+ served-cell-info-E-UTRA ServedCellInformation-E-UTRA,
+ neighbour-info-NR NeighbourInformation-NR OPTIONAL,
+ neighbour-info-E-UTRA NeighbourInformation-E-UTRA OPTIONAL,
+ deactivation-indication ENUMERATED {deactivated, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Served-cells-ToModify-E-UTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Served-cells-ToModify-E-UTRA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SFN-Offset CRITICALITY ignore EXTENSION SFN-Offset PRESENCE optional },
+ ...
+}
+
+
+-- Served Cells NR IEs
+
+
+ServedCellInformation-NR ::= SEQUENCE {
+ nrPCI NRPCI,
+ cellID NR-CGI,
+ tac TAC,
+ ranac RANAC OPTIONAL,
+ broadcastPLMN BroadcastPLMNs,
+ nrModeInfo NRModeInfo,
+ measurementTimingConfiguration OCTET STRING,
+ connectivitySupport Connectivity-Support,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-BPLMN-ID-Info-NR CRITICALITY ignore EXTENSION BPLMN-ID-Info-NR PRESENCE optional }|
+ { ID id-ConfiguredTACIndication CRITICALITY ignore EXTENSION ConfiguredTACIndication PRESENCE optional }|
+ { ID id-SSB-PositionsInBurst CRITICALITY ignore EXTENSION SSB-PositionsInBurst PRESENCE optional }|
+ { ID id-NRCellPRACHConfig CRITICALITY ignore EXTENSION NRCellPRACHConfig PRESENCE optional }|
+ { ID id-NPN-Broadcast-Information CRITICALITY reject EXTENSION NPN-Broadcast-Information PRESENCE optional }|
+ { ID id-CSI-RSTransmissionIndication CRITICALITY ignore EXTENSION CSI-RSTransmissionIndication PRESENCE optional } |
+ { ID id-SFN-Offset CRITICALITY ignore EXTENSION SFN-Offset PRESENCE optional }|
+ { ID id-Supported-MBS-FSA-ID-List CRITICALITY ignore EXTENSION Supported-MBS-FSA-ID-List PRESENCE optional }|
+ { ID id-NR-U-ChannelInfo-List CRITICALITY ignore EXTENSION NR-U-ChannelInfo-List PRESENCE optional }|
+ { ID id-Additional-Measurement-Timing-Configuration-List CRITICALITY ignore EXTENSION Additional-Measurement-Timing-Configuration-List PRESENCE optional }|
+ { ID id-Redcap-Bcast-Information CRITICALITY ignore EXTENSION Redcap-Bcast-Information PRESENCE optional },
+ ...
+}
+
+SFN-Offset ::= SEQUENCE {
+ sFN-Time-Offset BIT STRING (SIZE(24)),
+
+ iE-Extensions ProtocolExtensionContainer { {SFN-Offset-ExtIEs} } OPTIONAL,
+ ...
+}
+SFN-Offset-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCells-NR ::= SEQUENCE (SIZE (1..maxnoofCellsinNG-RANnode)) OF ServedCells-NR-Item
+
+ServedCells-NR-Item ::= SEQUENCE {
+ served-cell-info-NR ServedCellInformation-NR,
+ neighbour-info-NR NeighbourInformation-NR OPTIONAL,
+ neighbour-info-E-UTRA NeighbourInformation-E-UTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCells-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCells-NR-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-ServedCellSpecificInfoReq-NR CRITICALITY ignore EXTENSION ServedCellSpecificInfoReq-NR PRESENCE optional },
+ ...
+}
+
+
+ServedCells-ToModify-NR ::= SEQUENCE (SIZE (1..maxnoofCellsinNG-RANnode)) OF ServedCells-ToModify-NR-Item
+
+ServedCells-ToModify-NR-Item ::= SEQUENCE {
+ old-NR-CGI NR-CGI,
+ served-cell-info-NR ServedCellInformation-NR,
+ neighbour-info-NR NeighbourInformation-NR OPTIONAL,
+ neighbour-info-E-UTRA NeighbourInformation-E-UTRA OPTIONAL,
+ deactivation-indication ENUMERATED {deactivated, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Served-cells-ToModify-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Served-cells-ToModify-NR-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ServedCellSpecificInfoReq-NR ::= SEQUENCE (SIZE(1..maxnoofCellsinNG-RANnode)) OF ServedCellSpecificInfoReq-NR-Item
+
+ServedCellSpecificInfoReq-NR-Item ::= SEQUENCE {
+ nRCGI NR-CGI,
+ additionalMTCListRequestIndicator ENUMERATED {additionalMTCListRequested, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { ServedCellSpecificInfoReq-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellSpecificInfoReq-NR-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ServedCellsToUpdate-NR ::= SEQUENCE {
+ served-Cells-ToAdd-NR ServedCells-NR OPTIONAL,
+ served-Cells-ToModify-NR ServedCells-ToModify-NR OPTIONAL,
+ served-Cells-ToDelete-NR SEQUENCE (SIZE (1..maxnoofCellsinNG-RANnode)) OF NR-CGI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellsToUpdate-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellsToUpdate-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+
+SharedResourceType ::= CHOICE {
+ ul-onlySharing SharedResourceType-UL-OnlySharing,
+ ul-and-dl-Sharing SharedResourceType-ULDL-Sharing,
+ choice-extension ProtocolIE-Single-Container { {SharedResourceType-ExtIEs} }
+}
+
+SharedResourceType-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+SharedResourceType-UL-OnlySharing ::= SEQUENCE {
+ ul-resourceBitmap DataTrafficResources,
+ iE-Extensions ProtocolExtensionContainer { {SharedResourceType-UL-OnlySharing-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SharedResourceType-UL-OnlySharing-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SharedResourceType-ULDL-Sharing ::= CHOICE {
+ ul-resources SharedResourceType-ULDL-Sharing-UL-Resources,
+ dl-resources SharedResourceType-ULDL-Sharing-DL-Resources,
+ choice-extension ProtocolIE-Single-Container { {SharedResourceType-ULDL-Sharing-ExtIEs} }
+}
+
+SharedResourceType-ULDL-Sharing-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+SharedResourceType-ULDL-Sharing-UL-Resources ::= CHOICE {
+ unchanged NULL,
+ changed SharedResourceType-ULDL-Sharing-UL-ResourcesChanged,
+ choice-extension ProtocolIE-Single-Container { {SharedResourceType-ULDL-Sharing-UL-Resources-ExtIEs} }
+}
+
+SharedResourceType-ULDL-Sharing-UL-Resources-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+SharedResourceType-ULDL-Sharing-UL-ResourcesChanged ::= SEQUENCE {
+ ul-resourceBitmap DataTrafficResources,
+ iE-Extensions ProtocolExtensionContainer { {SharedResourceType-ULDL-Sharing-UL-ResourcesChanged-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SharedResourceType-ULDL-Sharing-UL-ResourcesChanged-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SharedResourceType-ULDL-Sharing-DL-Resources ::= CHOICE {
+ unchanged NULL,
+ changed SharedResourceType-ULDL-Sharing-DL-ResourcesChanged,
+ choice-extension ProtocolIE-Single-Container { {SharedResourceType-ULDL-Sharing-DL-Resources-ExtIEs} }
+}
+
+SharedResourceType-ULDL-Sharing-DL-Resources-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+SharedResourceType-ULDL-Sharing-DL-ResourcesChanged ::= SEQUENCE {
+ dl-resourceBitmap DataTrafficResources,
+ iE-Extensions ProtocolExtensionContainer { {SharedResourceType-ULDL-Sharing-DL-ResourcesChanged-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SharedResourceType-ULDL-Sharing-DL-ResourcesChanged-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SliceAvailableCapacity ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF SliceAvailableCapacity-Item
+
+SliceAvailableCapacity-Item ::= SEQUENCE {
+ pLMNIdentity PLMN-Identity,
+ sNSSAIAvailableCapacity-List SNSSAIAvailableCapacity-List,
+ iE-Extensions ProtocolExtensionContainer { { SliceAvailableCapacity-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+SliceAvailableCapacity-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNSSAIAvailableCapacity-List ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF SNSSAIAvailableCapacity-Item
+
+SNSSAIAvailableCapacity-Item ::= SEQUENCE {
+ sNSSAI S-NSSAI,
+ sliceAvailableCapacityValueDownlink INTEGER (0..100),
+ sliceAvailableCapacityValueUplink INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { SNSSAIAvailableCapacity-Item-ExtIEs } } OPTIONAL
+}
+
+SNSSAIAvailableCapacity-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SliceRadioResourceStatus-List ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF SliceRadioResourceStatus-Item
+
+SliceRadioResourceStatus-Item ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ sNSSAIRadioResourceStatus-List SNSSAIRadioResourceStatus-List,
+ iE-Extensions ProtocolExtensionContainer { { SliceRadioResourceStatus-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SliceRadioResourceStatus-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNSSAIRadioResourceStatus-List ::= SEQUENCE (SIZE(1..maxnoofSliceItems)) OF SNSSAIRadioResourceStatus-Item
+
+SNSSAIRadioResourceStatus-Item ::= SEQUENCE {
+ sNSSAI S-NSSAI,
+ slice-DL-GBR-PRB-Usage Slice-DL-GBR-PRB-Usage,
+ slice-UL-GBR-PRB-Usage Slice-UL-GBR-PRB-Usage,
+ slice-DL-non-GBR-PRB-Usage Slice-DL-non-GBR-PRB-Usage,
+ slice-UL-non-GBR-PRB-Usage Slice-UL-non-GBR-PRB-Usage,
+ slice-DL-Total-PRB-Allocation Slice-DL-Total-PRB-Allocation,
+ slice-UL-Total-PRB-Allocation Slice-UL-Total-PRB-Allocation,
+ iE-Extensions ProtocolExtensionContainer { { SNSSAIRadioResourceStatus-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SNSSAIRadioResourceStatus-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Slice-DL-GBR-PRB-Usage ::= INTEGER (0..100)
+
+Slice-UL-GBR-PRB-Usage ::= INTEGER (0..100)
+
+Slice-DL-non-GBR-PRB-Usage ::= INTEGER (0..100)
+
+Slice-UL-non-GBR-PRB-Usage ::= INTEGER (0..100)
+
+Slice-DL-Total-PRB-Allocation ::= INTEGER (0..100)
+
+Slice-UL-Total-PRB-Allocation ::= INTEGER (0..100)
+
+
+SliceSupport-List ::= SEQUENCE (SIZE(1..maxnoofSliceItems)) OF S-NSSAI
+
+SliceToReport-List ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF SliceToReport-List-Item
+
+SliceToReport-List-Item ::= SEQUENCE {
+ pLMNIdentity PLMN-Identity,
+ sNSSAIlist SNSSAI-list,
+ iE-Extensions ProtocolExtensionContainer { { SliceToReport-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+SliceToReport-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNSSAI-list ::= SEQUENCE (SIZE(1.. maxnoofSliceItems)) OF SNSSAI-Item
+
+SNSSAI-Item ::= SEQUENCE {
+ sNSSAI S-NSSAI,
+ iE-Extensions ProtocolExtensionContainer { { SNSSAI-Item-ExtIEs } } OPTIONAL
+}
+
+SNSSAI-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SlotConfiguration-List ::= SEQUENCE (SIZE (1..maxnoofslots)) OF SlotConfiguration-List-Item
+
+SlotConfiguration-List-Item ::= SEQUENCE {
+ slotIndex INTEGER (0..5119),
+ symbolAllocation-in-Slot SymbolAllocation-in-Slot,
+ iE-Extensions ProtocolExtensionContainer { {SlotConfiguration-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SlotConfiguration-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+S-NG-RANnode-SecurityKey ::= BIT STRING (SIZE(256))
+
+S-NG-RANnode-Addition-Trigger-Ind ::= ENUMERATED {
+ sn-change,
+ inter-MN-HO,
+ intra-MN-HO,
+ ...
+}
+
+S-NSSAI ::= SEQUENCE {
+ sst OCTET STRING (SIZE(1)),
+ sd OCTET STRING (SIZE(3)) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {S-NSSAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+S-NSSAI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SNMobilityInformation ::= BIT STRING (SIZE(32))
+
+
+SNTriggered ::=ENUMERATED{
+true,
+...
+}
+
+SpecialSubframeInfo-E-UTRA ::= SEQUENCE {
+ specialSubframePattern SpecialSubframePatterns-E-UTRA,
+ cyclicPrefixDL CyclicPrefix-E-UTRA-DL,
+ cyclicPrefixUL CyclicPrefix-E-UTRA-UL,
+ iE-Extensions ProtocolExtensionContainer { {SpecialSubframeInfo-E-UTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SpecialSubframeInfo-E-UTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SpecialSubframePatterns-E-UTRA ::= ENUMERATED {
+ ssp0,
+ ssp1,
+ ssp2,
+ ssp3,
+ ssp4,
+ ssp5,
+ ssp6,
+ ssp7,
+ ssp8,
+ ssp9,
+ ssp10,
+ ...
+}
+
+
+SpectrumSharingGroupID ::= INTEGER (1..maxnoofCellsinNG-RANnode)
+
+SplitSessionIndicator ::= ENUMERATED {
+ split,
+ ...
+}
+
+SplitSRBsTypes ::= ENUMERATED {srb1, srb2, srb1and2, ...}
+
+SSBAreaCapacityValue-List ::= SEQUENCE (SIZE(1..maxnoofSSBAreas)) OF SSBAreaCapacityValue-List-Item
+
+SSBAreaCapacityValue-List-Item ::= SEQUENCE {
+sSBIndex INTEGER(0..63),
+ssbAreaCapacityValue INTEGER (0..100),
+ iE-Extensions ProtocolExtensionContainer { { SSBAreaCapacityValue-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+SSBAreaCapacityValue-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SSBAreaRadioResourceStatus-List ::= SEQUENCE (SIZE(1..maxnoofSSBAreas)) OF SSBAreaRadioResourceStatus-List-Item
+
+SSBAreaRadioResourceStatus-List-Item ::= SEQUENCE {
+ sSBIndex INTEGER(0..63),
+ssb-Area-DL-GBR-PRB-usage DL-GBR-PRB-usage,
+ssb-Area-UL-GBR-PRB-usage UL-GBR-PRB-usage,
+ssb-Area-dL-non-GBR-PRB-usage DL-non-GBR-PRB-usage,
+ ssb-Area-uL-non-GBR-PRB-usage UL-non-GBR-PRB-usage,
+ ssb-Area-dL-Total-PRB-usage DL-Total-PRB-usage,
+ ssb-Area-uL-Total-PRB-usage UL-Total-PRB-usage,
+ iE-Extensions ProtocolExtensionContainer { { SSBAreaRadioResourceStatus-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+SSBAreaRadioResourceStatus-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-DL-scheduling-PDCCH-CCE-usage CRITICALITY ignore EXTENSION DL-scheduling-PDCCH-CCE-usage PRESENCE optional}|
+ { ID id-UL-scheduling-PDCCH-CCE-usage CRITICALITY ignore EXTENSION UL-scheduling-PDCCH-CCE-usage PRESENCE optional},
+ ...
+}
+
+SSB-Coverage-Modification-List ::= SEQUENCE (SIZE (0..maxnoofSSBAreas)) OF SSB-Coverage-Modification-List-Item
+
+SSB-Coverage-Modification-List-Item ::= SEQUENCE {
+ sSBIndex INTEGER(0..63),
+ sSBCoverageState INTEGER (0..15, ...),
+ iE-Extension ProtocolExtensionContainer { { SSB-Coverage-Modification-List-Item-ExtIEs} } OPTIONAL,
+
+ ...
+}
+
+
+SSB-Coverage-Modification-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SSB-PositionsInBurst ::= CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64)),
+ choice-extension ProtocolIE-Single-Container { {SSB-PositionsInBurst-ExtIEs} }
+}
+
+SSB-PositionsInBurst-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+SSB-freqInfo ::= INTEGER (0..maxNRARFCN)
+
+SSB-subcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz120, kHz240, spare3, spare2, spare1, ...}
+
+SSBOffsets-List ::= SEQUENCE (SIZE(1..maxnoofSSBAreas)) OF SSBOffsets-Item
+
+SSBOffsets-Item ::= SEQUENCE {
+ nG-RANnode1SSBOffsets SSBOffsetInformation OPTIONAL,
+ nG-RANnode2ProposedSSBOffsets SSBOffsetInformation,
+ iE-Extensions ProtocolExtensionContainer { { SSBOffsets-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SSBOffsets-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SSBOffsetInformation ::= SEQUENCE {
+ sSBIndex INTEGER(0..63),
+ sSBTriggeringOffset MobilityParametersInformation,
+ iE-Extensions ProtocolExtensionContainer { { SSBOffsetInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SSBOffsetInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSBOffsetModificationRange ::= SEQUENCE {
+ sSBIndex INTEGER(0..63),
+ sSBobilityParametersModificationRange MobilityParametersModificationRange,
+ iE-Extensions ProtocolExtensionContainer { { SSBOffsetModificationRange-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SSBOffsetModificationRange-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SSBToReport-List ::= SEQUENCE (SIZE(1..maxnoofSSBAreas)) OF SSBToReport-List-Item
+
+SSBToReport-List-Item ::= SEQUENCE {
+ sSBIndex INTEGER(0..63),
+ iE-Extensions ProtocolExtensionContainer { { SSBToReport-List-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+SSBToReport-List-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SSB-transmissionPeriodicity ::= ENUMERATED {sf10, sf20, sf40, sf80, sf160, sf320, sf640, ...}
+
+SSB-transmissionTimingOffset ::= INTEGER (0..127, ...)
+
+SSB-transmissionBitmap ::= CHOICE {
+ shortBitmap BIT STRING (SIZE (4)),
+ mediumBitmap BIT STRING (SIZE (8)),
+ longBitmap BIT STRING (SIZE (64)),
+ choice-extension ProtocolIE-Single-Container { { SSB-transmisisonBitmap-ExtIEs} }
+}
+
+SSB-transmisisonBitmap-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+SuccessfulHOReportInformation ::= SEQUENCE (SIZE(1.. maxnoofSuccessfulHOReports)) OF SuccessfulHOReportList-Item
+SuccessfulHOReportList-Item ::= SEQUENCE {
+ successfulHOReport SuccessfulHOReportContainer,
+ iE-Extensions ProtocolExtensionContainer { { SuccessfulHOReportList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SuccessfulHOReportList-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SuccessfulHOReportContainer ::= OCTET STRING
+
+SUL-FrequencyBand ::= INTEGER (1..1024)
+
+
+SUL-Information ::= SEQUENCE {
+ sulFrequencyInfo NRARFCN,
+ sulTransmissionBandwidth NRTransmissionBandwidth,
+ iE-Extensions ProtocolExtensionContainer { {SUL-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SUL-Information-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }|
+ { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional },
+
+...
+}
+
+Supported-MBS-FSA-ID-List ::= SEQUENCE (SIZE(1..maxnoofMBSFSAs)) OF MBS-FrequencySelectionArea-Identity
+
+SupportedSULBandList ::= SEQUENCE (SIZE(1..maxnoofNRCellBands)) OF SupportedSULBandItem
+
+SupportedSULBandItem ::= SEQUENCE {
+ sulBandItem SUL-FrequencyBand,
+ iE-Extensions ProtocolExtensionContainer { {SupportedSULBandItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SupportedSULBandItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SurvivalTime ::= INTEGER (0..1920000, ...)
+
+
+SymbolAllocation-in-Slot ::= CHOICE {
+ allDL SymbolAllocation-in-Slot-AllDL,
+ allUL SymbolAllocation-in-Slot-AllUL,
+ bothDLandUL SymbolAllocation-in-Slot-BothDLandUL,
+ choice-extension ProtocolIE-Single-Container { {SymbolAllocation-in-Slot-ExtIEs} }
+}
+
+SymbolAllocation-in-Slot-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+SymbolAllocation-in-Slot-AllDL ::= SEQUENCE {
+ iE-Extension ProtocolExtensionContainer { {SymbolAllocation-in-Slot-AllDL-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SymbolAllocation-in-Slot-AllDL-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SymbolAllocation-in-Slot-AllUL ::= SEQUENCE {
+ iE-Extension ProtocolExtensionContainer { {SymbolAllocation-in-Slot-AllUL-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SymbolAllocation-in-Slot-AllUL-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SymbolAllocation-in-Slot-BothDLandUL ::= SEQUENCE {
+ numberofDLSymbols INTEGER (0..13),
+ numberofULSymbols INTEGER (0..13),
+ iE-Extension ProtocolExtensionContainer { {SymbolAllocation-in-Slot-BothDLandUL-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SymbolAllocation-in-Slot-BothDLandUL-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-permutation CRITICALITY ignore EXTENSION Permutation PRESENCE optional },
+ ...
+}
+
+
+
+-- T
+
+TABasedMDT ::= SEQUENCE {
+ tAListforMDT TAListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TABasedMDT-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+
+TAIBasedMDT ::= SEQUENCE {
+ tAIListforMDT TAIListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {TAIBasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBasedMDT-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAIforMDT-Item
+
+TAIforMDT-Item ::= SEQUENCE {
+ plmn-ID PLMN-Identity,
+ tAC TAC,
+ iE-Extensions ProtocolExtensionContainer { {TAIforMDT-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIforMDT-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAC ::= OCTET STRING (SIZE (3))
+
+TAINSAGSupportList ::= SEQUENCE (SIZE(1..maxnoofNSAGs)) OF TAINSAGSupportItem
+
+TAINSAGSupportItem ::= SEQUENCE {
+ nSAG-ID NSAG-ID,
+ nSAGSliceSupportList ExtendedSliceSupportList,
+ iE-Extensions ProtocolExtensionContainer { {TAINSAGSupportItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAINSAGSupportItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAISupport-List ::= SEQUENCE (SIZE(1..maxnoofsupportedTACs)) OF TAISupport-Item
+
+TAISupport-Item ::= SEQUENCE {
+ tac TAC,
+ broadcastPLMNs SEQUENCE (SIZE(1..maxnoofsupportedPLMNs)) OF BroadcastPLMNinTAISupport-Item,
+ iE-Extensions ProtocolExtensionContainer { {TAISupport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAISupport-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC
+
+
+TABasedQMC ::= SEQUENCE {
+ tAListforQMC TAListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {TABasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TABasedQMC-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAC
+
+
+TAIBasedQMC ::= SEQUENCE {
+ tAIListforQMC TAIListforQMC,
+ iE-Extensions ProtocolExtensionContainer { {TAIBasedQMC-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIBasedQMC-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAIListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAI-Item
+
+
+TAI-Item ::= SEQUENCE {
+ tAC TAC,
+ pLMN-Identity PLMN-Identity,
+ iE-Extensions ProtocolExtensionContainer { {TAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TargetCellinEUTRAN ::= OCTET STRING -- This IE is to be encoded according to Global Cell ID in the Last Visited E-UTRAN Cell Information IE, as defined in in TS 36.413 [31]
+
+
+
+Target-CGI ::= CHOICE {
+ nr NR-CGI,
+ e-utra E-UTRA-CGI,
+ choice-extension ProtocolIE-Single-Container { {TargetCGI-ExtIEs} }
+}
+
+TargetCGI-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+TDDULDLConfigurationCommonNR ::= OCTET STRING
+
+
+TargetCellList ::= SEQUENCE (SIZE(1..maxnoofCHOcells)) OF TargetCellList-Item
+
+TargetCellList-Item ::= SEQUENCE {
+ target-cell Target-CGI,
+ iE-Extensions ProtocolExtensionContainer { { TargetCellList-Item-ExtIEs} } OPTIONAL
+}
+
+TargetCellList-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Threshold-RSRQ ::= INTEGER(0..127)
+Threshold-RSRP ::= INTEGER(0..127)
+Threshold-SINR ::= INTEGER(0..127)
+
+TimeSynchronizationAssistanceInformation ::= SEQUENCE {
+ timeDistributionIndication ENUMERATED {enabled, disabled, ...},
+ uuTimeSynchronizationErrorBudget INTEGER (0..1000000, ...) OPTIONAL,
+ -- The above IE shall be present if the Time Distribution Indication IE is set to the value “enabledâ€
+ ie-Extension ProtocolExtensionContainer { { TimeSynchronizationAssistanceInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TimeSynchronizationAssistanceInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TimeToTrigger ::= ENUMERATED {ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256, ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, ms5120}
+
+
+TimeToWait ::= ENUMERATED {
+ v1s,
+ v2s,
+ v5s,
+ v10s,
+ v20s,
+ v60s,
+ ...
+}
+
+
+TMGI ::= OCTET STRING (SIZE(6))
+
+
+TNLConfigurationInfo ::= SEQUENCE {
+ extendedUPTransportLayerAddressesToAdd ExtTLAs OPTIONAL,
+ extendedUPTransportLayerAddressesToRemove ExtTLAs OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TNLConfigurationInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNLConfigurationInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TNLA-To-Add-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-To-Add-Item
+
+TNLA-To-Add-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ tNLAssociationUsage TNLAssociationUsage,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-To-Add-Item-ExtIEs} } OPTIONAL
+}
+
+TNLA-To-Add-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TNLA-To-Update-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-To-Update-Item
+
+TNLA-To-Update-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ tNLAssociationUsage TNLAssociationUsage OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-To-Update-Item-ExtIEs} } OPTIONAL
+}
+
+TNLA-To-Update-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TNLA-To-Remove-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-To-Remove-Item
+
+TNLA-To-Remove-Item::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-To-Remove-Item-ExtIEs} } OPTIONAL
+}
+
+TNLA-To-Remove-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TNLA-Setup-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-Setup-Item
+
+TNLA-Setup-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-Setup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TNLA-Setup-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TNLA-Failed-To-Setup-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-Failed-To-Setup-Item
+
+TNLA-Failed-To-Setup-Item ::= SEQUENCE {
+ tNLAssociationTransportLayerAddress CPTransportLayerInformation,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { TNLA-Failed-To-Setup-Item-ExtIEs} } OPTIONAL
+}
+
+TNLA-Failed-To-Setup-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TNLAssociationUsage ::= ENUMERATED {
+ ue,
+ non-ue,
+ both,
+ ...
+}
+
+
+TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
+
+
+TraceActivation ::= SEQUENCE {
+ ng-ran-TraceID NG-RANTraceID,
+ interfaces-to-trace BIT STRING { ng-c (0), x-nc (1), uu (2), f1-c (3), e1 (4)} (SIZE(8)),
+ trace-depth Trace-Depth,
+ trace-coll-address TransportLayerAddress,
+ ie-Extension ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TraceActivation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+-- Extension to support MDT –
+ { ID id-TraceCollectionEntityURI CRITICALITY ignore EXTENSION URIaddress PRESENCE optional}|
+ { ID id-MDT-Configuration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional},
+ ...
+}
+
+
+Trace-Depth ::= ENUMERATED {
+ minimum,
+ medium,
+ maximum,
+ minimumWithoutVendorSpecificExtension,
+ mediumWithoutVendorSpecificExtension,
+ maximumWithoutVendorSpecificExtension,
+ ...
+}
+
+TrafficIndex ::= INTEGER (1..1024, ...)
+
+TrafficProfile ::= CHOICE {
+ uPTraffic QoSFlowLevelQoSParameters,
+ nonUPTraffic NonUPTraffic,
+ choice-extension ProtocolIE-Single-Container { {TrafficProfile-ExtIEs} }
+}
+
+TrafficProfile-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+TrafficReleaseType ::= CHOICE {
+ fullRelease AllTrafficIndication,
+ partialRelease TrafficToBeRelease-List,
+ choice-extension ProtocolIE-Single-Container { {TrafficReleaseType-ExtIEs} }
+}
+
+TrafficReleaseType-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+TrafficToBeReleaseInformation ::= SEQUENCE {
+ releaseType TrafficReleaseType,
+ ie-Extensions ProtocolExtensionContainer { {TrafficToBeReleaseInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficToBeReleaseInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TrafficToBeRelease-List ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficToBeRelease-Item
+
+TrafficToBeRelease-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ bHInfoList BHInfoList OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {TrafficToBeRelease-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficToBeRelease-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TSCTrafficCharacteristics ::= SEQUENCE {
+ tSCAssistanceInformationDownlink TSCAssistanceInformation OPTIONAL,
+ tSCAssistanceInformationUplink TSCAssistanceInformation OPTIONAL,
+ ie-Extension ProtocolExtensionContainer { {TSCTrafficCharacteristics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TSCTrafficCharacteristics-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TSCAssistanceInformation ::= SEQUENCE {
+ periodicity INTEGER (0.. 640000, ...),
+ burstArrivalTime OCTET STRING OPTIONAL,
+ ie-Extension ProtocolExtensionContainer { { TSCAssistanceInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TSCAssistanceInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-SurvivalTime CRITICALITY ignore EXTENSION SurvivalTime PRESENCE optional},
+ ...
+}
+
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+
+-- U
+
+
+UEAggregateMaximumBitRate ::= SEQUENCE {
+ dl-UE-AMBR BitRate,
+ ul-UE-AMBR BitRate,
+ iE-Extension ProtocolExtensionContainer { {UEAggregateMaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAggregateMaximumBitRate-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEAppLayerMeasConfigInfo ::= SEQUENCE {
+ qOEReference QOEReference,
+ qOEMeasConfigAppLayerID QOEMeasConfAppLayerID OPTIONAL,
+ serviceType ServiceType,
+ qOEMeasStatus QOEMeasStatus OPTIONAL,
+ containerAppLayerMeasConfig ContainerAppLayerMeasConfig OPTIONAL,
+ mDTAlignmentInfo MDTAlignmentInfo OPTIONAL,
+ measCollectionEntityIPAddress MeasCollectionEntityIPAddress OPTIONAL,
+ areaScopeOfQMC AreaScopeOfQMC OPTIONAL,
+ s-NSSAIListQoE S-NSSAIListQoE OPTIONAL,
+ availableRVQoEMetrics AvailableRVQoEMetrics OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {UEAppLayerMeasConfigInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAppLayerMeasConfigInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEContextKeptIndicator ::= ENUMERATED {true, ...}
+
+
+UEContextID ::= CHOICE {
+ rRCResume UEContextIDforRRCResume,
+ rRRCReestablishment UEContextIDforRRCReestablishment,
+ choice-extension ProtocolIE-Single-Container { {UEContextID-ExtIEs} }
+}
+
+UEContextID-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+UEContextIDforRRCResume ::= SEQUENCE {
+ i-rnti I-RNTI,
+ allocated-c-rnti C-RNTI,
+ accessPCI NG-RAN-CellPCI,
+ iE-Extension ProtocolExtensionContainer { {UEContextIDforRRCResume-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextIDforRRCResume-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEContextIDforRRCReestablishment ::= SEQUENCE {
+ c-rnti C-RNTI,
+ failureCellPCI NG-RAN-CellPCI,
+ iE-Extension ProtocolExtensionContainer { {UEContextIDforRRCReestablishment-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextIDforRRCReestablishment-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEContextInfoRetrUECtxtResp ::= SEQUENCE {
+ ng-c-UE-signalling-ref AMF-UE-NGAP-ID,
+ signalling-TNL-at-source CPTransportLayerInformation,
+ ueSecurityCapabilities UESecurityCapabilities,
+ securityInformation AS-SecurityInformation,
+ ue-AMBR UEAggregateMaximumBitRate,
+ pduSessionResourcesToBeSetup-List PDUSessionResourcesToBeSetup-List,
+ rrc-Context OCTET STRING,
+ mobilityRestrictionList MobilityRestrictionList OPTIONAL,
+ indexToRatFrequencySelectionPriority RFSP-Index OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {UEContextInfoRetrUECtxtResp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextInfoRetrUECtxtResp-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-FiveGCMobilityRestrictionListContainer CRITICALITY ignore EXTENSION FiveGCMobilityRestrictionListContainer PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION NRUESidelinkAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-LTEUESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION LTEUESidelinkAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject EXTENSION UERadioCapabilityID PRESENCE optional }|
+ { ID id-MBS-SessionInformation-List CRITICALITY ignore EXTENSION MBS-SessionInformation-List PRESENCE optional }|
+ { ID id-NoPDUSessionIndication CRITICALITY ignore EXTENSION NoPDUSessionIndication PRESENCE optional }|
+ { ID id-FiveGProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore EXTENSION NRUESidelinkAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-UESliceMaximumBitRateList CRITICALITY ignore EXTENSION UESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-PositioningInformation CRITICALITY ignore EXTENSION PositioningInformation PRESENCE optional },
+ ...
+}
+
+
+UEHistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCellsinUEHistoryInfo)) OF LastVisitedCell-Item
+
+
+UEHistoryInformationFromTheUE ::= CHOICE {
+ nR NRMobilityHistoryReport,
+ choice-extension ProtocolIE-Single-Container { {UEHistoryInformationFromTheUE-ExtIEs} }
+}
+
+UEHistoryInformationFromTheUE-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+UEIdentityIndexValue ::= CHOICE {
+ indexLength10 BIT STRING (SIZE(10)),
+ choice-extension ProtocolIE-Single-Container { {UEIdentityIndexValue-ExtIEs} }
+}
+
+UEIdentityIndexValue-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+UEIdentityIndexList-MBSGroupPaging ::= SEQUENCE (SIZE(1..maxnoofUEIDIndicesforMBSPaging)) OF UEIdentityIndexList-MBSGroupPaging-Item
+
+UEIdentityIndexList-MBSGroupPaging-Item ::= SEQUENCE {
+ ueIdentityIndexList-MBSGroupPagingValue UEIdentityIndexList-MBSGroupPagingValue,
+ pagingDRX UESpecificDRX OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {UEIdentityIndexList-MBSGroupPaging-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEIdentityIndexList-MBSGroupPaging-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEIdentityIndexList-MBSGroupPagingValue ::= CHOICE {
+ uEIdentityIndexValueMBSGroupPaging BIT STRING (SIZE(10)),
+ choice-extension ProtocolIE-Single-Container { {UEIdentityIndexValueMBSGroupPaging-ExtIEs} }
+}
+
+UEIdentityIndexValueMBSGroupPaging-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+UERadioCapabilityForPaging ::= SEQUENCE {
+ uERadioCapabilityForPagingOfNR UERadioCapabilityForPagingOfNR OPTIONAL,
+ uERadioCapabilityForPagingOfEUTRA UERadioCapabilityForPagingOfEUTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UERadioCapabilityForPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UERadioCapabilityForPaging-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UERadioCapabilityForPagingOfNR ::= OCTET STRING
+
+UERadioCapabilityForPagingOfEUTRA ::= OCTET STRING
+
+UERadioCapabilityID ::= OCTET STRING
+
+UERANPagingIdentity ::= CHOICE {
+ i-RNTI-full BIT STRING ( SIZE (40)),
+ choice-extension ProtocolIE-Single-Container { {UERANPagingIdentity-ExtIEs} }
+}
+
+UERANPagingIdentity-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+UERLFReportContainer ::= CHOICE {
+ nR-UERLFReportContainer UERLFReportContainerNR,
+ lTE-UERLFReportContainer UERLFReportContainerLTE,
+ choice-Extension ProtocolIE-Single-Container { {UERLFReportContainer-ExtIEs} }
+}
+UERLFReportContainer-ExtIEs XNAP-PROTOCOL-IES ::= {
+ {ID id-UERLFReportContainerLTEExtension CRITICALITY ignore TYPE UERLFReportContainerLTEExtension PRESENCE mandatory},
+ ...
+}
+
+UERLFReportContainerLTE ::= OCTET STRING
+-- This IE is a transparent container and includes the RLF-Report-r9 IE contained in the UEInformationResponse message as defined in TS 36.331 [14].
+
+
+UERLFReportContainerLTEExtension ::= SEQUENCE {
+ ueRLFReportContainerLTE UERLFReportContainerLTE,
+ ueRLFReportContainerLTEExtendBand UERLFReportContainerLTEExtendBand,
+ iE-Extensions ProtocolExtensionContainer { { UERLFReportContainerLTEExtension-ExtIEs} } OPTIONAL,
+ ...
+}
+
+
+UERLFReportContainerLTEExtendBand ::= OCTET STRING
+-- This IE is a transparent container and includes the rLF-Report-v9e0 contained in the UEInformationResponse message as defined in TS 36.331 [14].
+
+
+UERLFReportContainerLTEExtension-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UERLFReportContainerNR ::= OCTET STRING
+-- This IE is a transparent container and includes the nr-RLF-Report-r16 IE contained in the UEInformationResponse message as defined in TS 38.331 [10].
+
+
+UESliceMaximumBitRateList ::= SEQUENCE (SIZE(1.. maxnoofSMBR)) OF UESliceMaximumBitRate-Item
+
+UESliceMaximumBitRate-Item ::= SEQUENCE {
+ s-NSSAI S-NSSAI,
+ dl-UE-Slice-MBR BitRate,
+ ul-UE-Slice-MBR BitRate,
+ iE-Extensions ProtocolExtensionContainer { { UESliceMaximumBitRate-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UESliceMaximumBitRate-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UESecurityCapabilities ::= SEQUENCE {
+ nr-EncyptionAlgorithms BIT STRING {nea1-128(1),
+ nea2-128(2),
+ nea3-128(3)} (SIZE(16, ...)),
+ nr-IntegrityProtectionAlgorithms BIT STRING {nia1-128(1),
+ nia2-128(2),
+ nia3-128(3)} (SIZE(16, ...)),
+ e-utra-EncyptionAlgorithms BIT STRING {eea1-128(1),
+ eea2-128(2),
+ eea3-128(3)} (SIZE(16, ...)),
+ e-utra-IntegrityProtectionAlgorithms BIT STRING {eia1-128(1),
+ eia2-128(2),
+ eia3-128(3)} (SIZE(16, ...)),
+ iE-Extension ProtocolExtensionContainer { {UESecurityCapabilities-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UESecurityCapabilities-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UESpecificDRX ::= ENUMERATED {
+ v32,
+ v64,
+ v128,
+ v256,
+ ...
+}
+
+ULConfiguration::= SEQUENCE {
+ uL-PDCP UL-UE-Configuration,
+ iE-Extensions ProtocolExtensionContainer { {ULConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ULConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UL-UE-Configuration::= ENUMERATED {no-data, shared, only, ...}
+
+ULF1Terminating-BHInfo ::= SEQUENCE {
+ ingressBAPRoutingID BAPRoutingID,
+ ingressBHRLCCHID BHRLCChannelID,
+ iE-Extensions ProtocolExtensionContainer { { ULF1Terminating-BHInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ULF1Terminating-BHInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ULNonF1Terminating-BHInfo ::= SEQUENCE {
+ egressBAPRoutingID BAPRoutingID,
+ egressBHRLCCHID BHRLCChannelID,
+ nexthopBAPAddress BAPAddress,
+ iE-Extensions ProtocolExtensionContainer { { ULNonF1Terminating-BHInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ULNonF1Terminating-BHInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ULForwarding ::= ENUMERATED {ul-forwarding-proposed, ...}
+
+ULForwardingProposal ::= ENUMERATED {ul-forwarding-proposed, ...}
+
+
+UL-GBR-PRB-usage::= INTEGER (0..100)
+
+
+UL-GBR-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+UL-non-GBR-PRB-usage::= INTEGER (0..100)
+
+
+UL-non-GBR-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+UL-Total-PRB-usage::= INTEGER (0..100)
+
+
+UL-Total-PRB-usage-for-MIMO::= INTEGER (0..100)
+
+
+UPTransportLayerInformation ::= CHOICE {
+ gtpTunnel GTPtunnelTransportLayerInformation,
+ choice-extension ProtocolIE-Single-Container { {UPTransportLayerInformation-ExtIEs} }
+}
+
+UPTransportLayerInformation-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+UPTransportParameters ::= SEQUENCE (SIZE(1..maxnoofSCellGroupsplus1)) OF UPTransportParametersItem
+
+UPTransportParametersItem ::= SEQUENCE {
+ upTNLInfo UPTransportLayerInformation,
+ cellGroupID CellGroupID,
+ iE-Extension ProtocolExtensionContainer { {UPTransportParametersItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UPTransportParametersItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UserPlaneTrafficActivityReport ::= ENUMERATED {inactive, re-activated, ...}
+
+URIaddress ::= VisibleString
+
+-- V
+
+VehicleUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+VolumeTimedReportList ::= SEQUENCE (SIZE(1..maxnooftimeperiods)) OF VolumeTimedReport-Item
+
+VolumeTimedReport-Item ::= SEQUENCE {
+ startTimeStamp OCTET STRING (SIZE(4)),
+ endTimeStamp OCTET STRING (SIZE(4)),
+ usageCountUL INTEGER (0..18446744073709551615),
+ usageCountDL INTEGER (0..18446744073709551615),
+ iE-Extensions ProtocolExtensionContainer { {VolumeTimedReport-Item-ExtIEs} } OPTIONAL,
+...
+}
+
+VolumeTimedReport-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- W
+
+WLANMeasurementConfiguration ::= SEQUENCE {
+ wlanMeasConfig WLANMeasConfig,
+ wlanMeasConfigNameList WLANMeasConfigNameList OPTIONAL,
+ wlan-rssi ENUMERATED {true, ...} OPTIONAL,
+ wlan-rtt ENUMERATED {true, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { WLANMeasurementConfiguration-ExtIEs } } OPTIONAL,
+ ...
+}
+
+WLANMeasurementConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+WLANMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofWLANName)) OF WLANName
+
+WLANMeasConfig::= ENUMERATED {setup,...}
+
+WLANName ::= OCTET STRING (SIZE (1..32))
+
+
+-- X
+
+XnBenefitValue ::= INTEGER (1..8, ...)
+
+
+-- Y
+
+
+-- Z
+
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-PDU-Contents.asn b/epan/dissectors/asn1/xnap/XnAP-PDU-Contents.asn
new file mode 100644
index 00000000..842a1adb
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-PDU-Contents.asn
@@ -0,0 +1,3253 @@
+-- 3GPP TS 38.423 V17.5.0 (2023-06)
+-- 9.3.4 PDU Definitions
+-- **************************************************************
+--
+-- PDU definitions for XnAP.
+--
+-- **************************************************************
+
+XnAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ ActivationIDforCellActivation,
+ AMF-Region-Information,
+ AMF-UE-NGAP-ID,
+ AS-SecurityInformation,
+ AssistanceDataForRANPaging,
+ BitRate,
+ Cause,
+ CellAndCapacityAssistanceInfo-EUTRA,
+ CellAndCapacityAssistanceInfo-NR,
+ CellAssistanceInfo-EUTRA,
+ CellAssistanceInfo-NR,
+ CHOinformation-Req,
+ CHOinformation-Ack,
+ CHOinformation-AddReq,
+ CHOinformation-ModReq,
+ CHO-MRDC-EarlyDataForwarding,
+ CHO-MRDC-Indicator,
+ CPTransportLayerInformation,
+ TNLA-To-Add-List,
+ TNLA-To-Update-List,
+ TNLA-To-Remove-List,
+ TNLA-Setup-List,
+ TNLA-Failed-To-Setup-List,
+ CriticalityDiagnostics,
+ XnUAddressInfoperPDUSession-List,
+ DAPSResponseInfo-List,
+ DataTrafficResourceIndication,
+ DeliveryStatus,
+ DesiredActNotificationLevel,
+ DRB-ID,
+ DRB-List,
+ DRB-Number,
+ DRBsSubjectToDLDiscarding-List,
+ DRBsSubjectToEarlyStatusTransfer-List,
+ DRBsSubjectToStatusTransfer-List,
+ DRBToQoSFlowMapping-List,
+ E-UTRA-CGI,
+ ExpectedUEActivityBehaviour,
+ ExpectedUEBehaviour,
+ ExtendedUEIdentityIndexValue,
+ FiveGCMobilityRestrictionListContainer,
+ GlobalCell-ID,
+ GlobalNG-RANNode-ID,
+ GlobalNG-RANCell-ID,
+ GUAMI,
+ InterfaceInstanceIndication,
+ I-RNTI,
+ Local-NG-RAN-Node-Identifier,
+ LocationInformationSNReporting,
+ LocationReportingInformation,
+ LowerLayerPresenceStatusChange,
+ LTEUESidelinkAggregateMaximumBitRate,
+ LTEV2XServicesAuthorized,
+ MR-DC-ResourceCoordinationInfo,
+ ServedCells-E-UTRA,
+ ServedCells-NR,
+ ServedCellsToUpdate-E-UTRA,
+ ServedCellsToUpdate-NR,
+ MAC-I,
+ MaskedIMEISV,
+ MDT-Configuration,
+ MDTPLMNList,
+ MobilityRestrictionList,
+ Neighbour-NG-RAN-Node-List,
+ NG-RAN-Cell-Identity,
+ NG-RANnodeUEXnAPID,
+ NR-CGI,
+ NE-DC-TDM-Pattern,
+ NRUESidelinkAggregateMaximumBitRate,
+ NRV2XServicesAuthorized,
+ PagingDRX,
+ EUTRAPagingeDRXInformation,
+ PagingPriority,
+ PartialListIndicator,
+ PLMN-Identity,
+ PDCPChangeIndication,
+ PDUSessionAggregateMaximumBitRate,
+ PDUSession-ID,
+ PDUSession-List,
+ PDUSession-List-withCause,
+ PDUSession-List-withDataForwardingFromTarget,
+ PDUSession-List-withDataForwardingRequest,
+ PDUSessionResourcesAdmitted-List,
+ PDUSessionResourcesNotAdmitted-List,
+ PDUSessionResourcesToBeSetup-List,
+ PDUSessionResourceChangeRequiredInfo-SNterminated,
+ PDUSessionResourceChangeRequiredInfo-MNterminated,
+ PDUSessionResourceChangeConfirmInfo-SNterminated,
+ PDUSessionResourceChangeConfirmInfo-MNterminated,
+ PDUSessionResourceSecondaryRATUsageList,
+ PDUSessionResourceSetupInfo-SNterminated,
+ PDUSessionResourceSetupInfo-MNterminated,
+ PDUSessionResourceSetupResponseInfo-SNterminated,
+ PDUSessionResourceSetupResponseInfo-MNterminated,
+ PDUSessionResourceModificationInfo-SNterminated,
+ PDUSessionResourceModificationInfo-MNterminated,
+ PDUSessionResourceModificationResponseInfo-SNterminated,
+ PDUSessionResourceModificationResponseInfo-MNterminated,
+ PDUSessionResourceModConfirmInfo-SNterminated,
+ PDUSessionResourceModConfirmInfo-MNterminated,
+ PDUSessionResourceModRqdInfo-SNterminated,
+ PDUSessionResourceModRqdInfo-MNterminated,
+ PDUSessionType,
+ PC5QoSParameters,
+ QoSFlowIdentifier,
+ QoSFlowNotificationControlIndicationInfo,
+ QoSFlows-List,
+ RANPagingArea,
+ ResetRequestTypeInfo,
+ ResetResponseTypeInfo,
+ RFSP-Index,
+ RRCConfigIndication,
+ RRCResumeCause,
+ SCGConfigurationQuery,
+ SCGreconfigNotification,
+ SecurityIndication,
+ S-NG-RANnode-SecurityKey,
+ SpectrumSharingGroupID,
+ SplitSRBsTypes,
+ S-NG-RANnode-Addition-Trigger-Ind,
+ S-NSSAI,
+ TargetCellList,
+ TAISupport-List,
+ Target-CGI,
+ TimeToWait,
+ TraceActivation,
+ UEAggregateMaximumBitRate,
+ UEContextID,
+ UEContextInfoRetrUECtxtResp,
+ UEContextKeptIndicator,
+ UEHistoryInformation,
+ UEIdentityIndexValue,
+ UERadioCapabilityForPaging,
+ UERadioCapabilityID,
+ UERANPagingIdentity,
+ UESecurityCapabilities,
+ UPTransportLayerInformation,
+ UserPlaneTrafficActivityReport,
+ XnBenefitValue,
+ RANPagingFailure,
+ TNLConfigurationInfo,
+ MaximumCellListSize,
+ MessageOversizeNotification,
+ NG-RANTraceID,
+ MobilityInformation,
+ InitiatingCondition-FailureIndication,
+ HandoverReportType,
+ TargetCellinEUTRAN,
+ C-RNTI,
+ UERLFReportContainer,
+ Measurement-ID,
+ RegistrationRequest,
+ ReportCharacteristics,
+ CellToReport,
+ ReportingPeriodicity,
+ CellMeasurementResult,
+ UEHistoryInformationFromTheUE,
+ MobilityParametersInformation,
+ MobilityParametersModificationRange,
+ RACHReportInformation,
+ IABNodeIndication,
+ SNTriggered,
+ SCGIndicator,
+ UESpecificDRX,
+ DirectForwardingPathAvailability,
+ TransportLayerAddress,
+ PrivacyIndicator,
+ URIaddress,
+ MBS-Session-ID,
+ UEIdentityIndexList-MBSGroupPaging,
+ MBS-SessionInformation-List,
+ MBS-SessionInformationResponse-List,
+ SuccessfulHOReportInformation,
+ PSCellHistoryInformationRetrieve,
+ SSBOffsets-List,
+ NG-RANnode2SSBOffsetsModificationRange,
+ Coverage-Modification-List,
+ SCGFailureReportContainer,
+ SNMobilityInformation,
+ PSCellChangeHistory,
+ CHOConfiguration,
+ SCGUEHistoryInformation,
+ F1CTrafficContainer,
+ NoPDUSessionIndication,
+ IAB-TNL-Address-Request,
+ IAB-TNL-Address-Response,
+ TrafficIndex,
+ TrafficProfile,
+ TrafficToBeReleaseInformation,
+ F1-TerminatingTopologyBHInformation,
+ Non-F1-TerminatingTopologyBHInformation,
+ BHInfoList,
+ IABTNLAddress,
+ IABCellInformation,
+ IABTNLAddressException,
+ TimeSynchronizationAssistanceInformation,
+ SCGActivationRequest,
+ SCGActivationStatus,
+ CPAInformationRequest,
+ CPAInformationAck,
+ CPCInformationRequired,
+ CPCInformationConfirm,
+ CPAInformationModReq,
+ CPAInformationModReqAck,
+ CPC-DataForwarding-Indicator,
+ CPCInformationUpdate,
+ CPACInformationModRequired,
+ QMCConfigInfo,
+ FiveGProSeAuthorized,
+ FiveGProSePC5QoSParameters,
+ ServedCellSpecificInfoReq-NR,
+ NRPagingeDRXInformation,
+ NRPagingeDRXInformationforRRCINACTIVE,
+ SDTSupportRequest,
+ SDT-Termination-Request,
+ SDTPartialUEContextInfo,
+ SDTDataForwardingDRBList,
+ PEIPSassistanceInformation,
+ UESliceMaximumBitRateList,
+ PagingCause,
+ MDTPLMNModificationList,
+ F1-terminatingIAB-donorIndicator,
+ SRB-ID,
+ AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated,
+ HashedUEIdentityIndexValue
+
+
+FROM XnAP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-ContainerPairList{},
+ ProtocolIE-Single-Container{},
+ XNAP-PRIVATE-IES,
+ XNAP-PROTOCOL-EXTENSION,
+ XNAP-PROTOCOL-IES,
+ XNAP-PROTOCOL-IES-PAIR
+FROM XnAP-Containers
+
+
+ id-ActivatedServedCells,
+ id-ActivationIDforCellActivation,
+ id-AdditionalDRBIDs,
+ id-AMF-Region-Information,
+ id-AMF-Region-Information-To-Add,
+ id-AMF-Region-Information-To-Delete,
+ id-AssistanceDataForRANPaging,
+ id-AvailableDRBIDs,
+ id-Cause,
+ id-cellAssistanceInfo-EUTRA,
+ id-cellAssistanceInfo-NR,
+ id-CellAndCapacityAssistanceInfo-EUTRA,
+ id-CellAndCapacityAssistanceInfo-NR,
+ id-ConfigurationUpdateInitiatingNodeChoice,
+ id-UEContextID,
+ id-CriticalityDiagnostics,
+ id-XnUAddressInfoperPDUSession-List,
+ id-DesiredActNotificationLevel,
+ id-DRBsSubjectToStatusTransfer-List,
+ id-ExpectedUEBehaviour,
+ id-ExtendedUEIdentityIndexValue,
+ id-FiveGCMobilityRestrictionListContainer,
+ id-GlobalNG-RAN-node-ID,
+ id-GUAMI,
+ id-indexToRatFrequSelectionPriority,
+ id-List-of-served-cells-E-UTRA,
+ id-List-of-served-cells-NR,
+ id-LocationInformationSN,
+ id-LocationInformationSNReporting,
+ id-LocationReportingInformation,
+ id-LTEUESidelinkAggregateMaximumBitRate,
+ id-LTEV2XServicesAuthorized,
+ id-MAC-I,
+ id-MaskedIMEISV,
+ id-MDT-Configuration,
+ id-MDTPLMNList,
+ id-MN-to-SN-Container,
+ id-MobilityRestrictionList,
+ id-M-NG-RANnodeUEXnAPID,
+ id-new-NG-RAN-Cell-Identity,
+ id-newNG-RANnodeUEXnAPID,
+ id-NRUESidelinkAggregateMaximumBitRate,
+ id-NRV2XServicesAuthorized,
+ id-oldNG-RANnodeUEXnAPID,
+ id-OldtoNewNG-RANnodeResumeContainer,
+ id-PagingCause,
+ id-PagingDRX,
+ id-EUTRAPagingeDRXInformation,
+ id-PagingPriority,
+ id-PartialListIndicator-EUTRA,
+ id-PartialListIndicator-NR,
+ id-PCellID,
+ id-PDUSessionResourceSecondaryRATUsageList,
+ id-PDUSessionResourcesActivityNotifyList,
+ id-PDUSessionResourcesAdmitted-List,
+ id-PDUSessionResourcesNotAdmitted-List,
+ id-PDUSessionResourcesNotifyList,
+ id-PDUSessionToBeAddedAddReq,
+ id-PDUSessionToBeReleased-RelReqAck,
+ id-procedureStage,
+ id-RANPagingArea,
+ id-requestedSplitSRB,
+ id-RequiredNumberOfDRBIDs,
+ id-ResetRequestTypeInfo,
+ id-ResetResponseTypeInfo,
+ id-RespondingNodeTypeConfigUpdateAck,
+ id-RRCResumeCause,
+ id-SCGreconfigNotification,
+ id-selectedPLMN,
+ id-ServedCellsToActivate,
+ id-servedCellsToUpdate-E-UTRA,
+ id-ServedCellsToUpdateInitiatingNodeChoice,
+ id-servedCellsToUpdate-NR,
+ id-sourceNG-RANnodeUEXnAPID,
+ id-SpareDRBIDs,
+ id-S-NG-RANnodeMaxIPDataRate-UL,
+ id-S-NG-RANnodeMaxIPDataRate-DL,
+ id-S-NG-RANnodeUEXnAPID,
+ id-TAISupport-list,
+ id-Target2SourceNG-RANnodeTranspContainer,
+ id-targetCellGlobalID,
+ id-targetNG-RANnodeUEXnAPID,
+ id-TimeToWait,
+ id-TNLA-To-Add-List,
+ id-TNLA-To-Update-List,
+ id-TNLA-To-Remove-List,
+ id-TNLA-Setup-List,
+ id-TNLA-Failed-To-Setup-List,
+ id-TraceActivation,
+ id-UEContextInfoHORequest,
+ id-UEContextInfoRetrUECtxtResp,
+ id-UEContextKeptIndicator,
+ id-UEContextRefAtSN-HORequest,
+ id-UEHistoryInformation,
+ id-UEIdentityIndexValue,
+ id-UERANPagingIdentity,
+ id-UESecurityCapabilities,
+ id-UserPlaneTrafficActivityReport,
+ id-XnRemovalThreshold,
+ id-PDUSessionAdmittedAddedAddReqAck,
+ id-PDUSessionNotAdmittedAddReqAck,
+ id-SN-to-MN-Container,
+ id-RRCConfigIndication,
+ id-SplitSRB-RRCTransfer,
+ id-UEReportRRCTransfer,
+ id-PDUSessionReleasedList-RelConf,
+ id-BearersSubjectToCounterCheck,
+ id-PDUSessionToBeReleasedList-RelRqd,
+ id-ResponseInfo-ReconfCompl,
+ id-initiatingNodeType-ResourceCoordRequest,
+ id-respondingNodeType-ResourceCoordResponse,
+ id-PDUSessionToBeReleased-RelReq,
+ id-PDUSession-SNChangeRequired-List,
+ id-PDUSession-SNChangeConfirm-List,
+ id-PDCPChangeIndication,
+ id-PC5QoSParameters,
+ id-SCGConfigurationQuery,
+ id-UEContextInfo-SNModRequest,
+ id-requestedSplitSRBrelease,
+ id-PDUSessionAdmitted-SNModResponse,
+ id-PDUSessionNotAdmitted-SNModResponse,
+ id-admittedSplitSRB,
+ id-admittedSplitSRBrelease,
+ id-PDUSessionAdmittedModSNModConfirm,
+ id-PDUSessionReleasedSNModConfirm,
+ id-s-ng-RANnode-SecurityKey,
+ id-PDUSessionToBeModifiedSNModRequired,
+ id-S-NG-RANnodeUE-AMBR,
+ id-PDUSessionToBeReleasedSNModRequired,
+ id-target-S-NG-RANnodeID,
+ id-S-NSSAI,
+ id-MR-DC-ResourceCoordinationInfo,
+ id-RANPagingFailure,
+ id-UERadioCapabilityForPaging,
+ id-PDUSessionDataForwarding-SNModResponse,
+ id-Secondary-MN-Xn-U-TNLInfoatM,
+ id-NE-DC-TDM-Pattern,
+ id-InterfaceInstanceIndication,
+ id-S-NG-RANnode-Addition-Trigger-Ind,
+ id-SNTriggered,
+ id-DRBs-transferred-to-MN,
+ id-TNLConfigurationInfo,
+ id-MessageOversizeNotification,
+ id-NG-RANTraceID,
+ id-FastMCGRecoveryRRCTransfer-SN-to-MN,
+ id-FastMCGRecoveryRRCTransfer-MN-to-SN,
+ id-RequestedFastMCGRecoveryViaSRB3,
+ id-AvailableFastMCGRecoveryViaSRB3,
+ id-RequestedFastMCGRecoveryViaSRB3Release,
+ id-ReleaseFastMCGRecoveryViaSRB3,
+ id-CHOinformation-Req,
+ id-CHOinformation-Ack,
+ id-targetCellsToCancel,
+ id-requestedTargetCellGlobalID,
+ id-DAPSResponseInfo-List,
+ id-CHO-MRDC-EarlyDataForwarding,
+ id-CHO-MRDC-Indicator,
+ id-MobilityInformation,
+ id-InitiatingCondition-FailureIndication,
+ id-UEHistoryInformationFromTheUE,
+ id-HandoverReportType,
+ id-HandoverCause,
+ id-SourceCellCGI,
+ id-TargetCellCGI,
+ id-ReEstablishmentCellCGI,
+ id-TargetCellinEUTRAN,
+ id-SourceCellCRNTI,
+ id-UERLFReportContainer,
+ id-NGRAN-Node1-Measurement-ID,
+ id-NGRAN-Node2-Measurement-ID,
+ id-RegistrationRequest,
+ id-ReportCharacteristics,
+ id-CellToReport,
+ id-ReportingPeriodicity,
+ id-CellMeasurementResult,
+ id-NG-RANnode1CellID,
+ id-NG-RANnode2CellID,
+ id-NG-RANnode1MobilityParameters,
+ id-NG-RANnode2ProposedMobilityParameters,
+ id-MobilityParametersModificationRange,
+ id-RACHReportInformation,
+ id-IABNodeIndication,
+ id-UERadioCapabilityID,
+ id-SCGIndicator,
+ id-UESpecificDRX,
+ id-PDUSessionExpectedUEActivityBehaviour,
+ id-DirectForwardingPathAvailability,
+ id-SourceNG-RAN-node-ID,
+ id-TargetNodeID,
+ id-ManagementBasedMDTPLMNList,
+ id-PrivacyIndicator,
+ id-TraceCollectionEntityIPAddress,
+ id-TraceCollectionEntityURI,
+ id-MBS-Session-ID,
+ id-UEIdentityIndexList-MBSGroupPaging,
+ id-MulticastRANPagingArea,
+ id-MBS-SessionInformation-List,
+ id-MBS-SessionInformationResponse-List,
+ id-SuccessfulHOReportInformation,
+ id-PSCellHistoryInformationRetrieve,
+ id-SSBOffsets-List,
+ id-NG-RANnode2SSBOffsetsModificationRange,
+ id-Coverage-Modification-List,
+ id-SourcePSCellCGI,
+ id-FailedPSCellCGI,
+ id-SCGFailureReportContainer,
+ id-SNMobilityInformation,
+ id-SourcePSCellID,
+ id-SuitablePSCellCGI,
+ id-PSCellChangeHistory,
+ id-CHOConfiguration,
+ id-SCGUEHistoryInformation,
+ id-F1CTrafficContainer,
+ id-NoPDUSessionIndication,
+ id-F1-Terminating-IAB-DonorUEXnAPID,
+ id-nonF1-Terminating-IAB-DonorUEXnAPID,
+ id-IAB-TNL-Address-Request,
+ id-IAB-TNL-Address-Response,
+ id-TrafficToBeAddedList,
+ id-TrafficToBeModifiedList,
+ id-TrafficToBeReleaseInformation,
+ id-TrafficAddedList,
+ id-TrafficModifiedList,
+ id-TrafficNotAddedList,
+ id-TrafficNotModifiedList,
+ id-TrafficRequiredToBeModifiedList,
+ id-TrafficRequiredModifiedList,
+ id-TrafficReleasedList,
+ id-IABTNLAddressToBeAdded,
+ id-IABTNLAddressToBeReleasedList,
+ id-BoundaryNodeCellsList,
+ id-ParentNodeCellsList,
+ id-IABTNLAddressException,
+ id-CHOinformation-AddReq,
+ id-CHOinformation-ModReq,
+ id-TimeSynchronizationAssistanceInformation,
+ id-SCGActivationRequest,
+ id-SCGActivationStatus,
+ id-CPAInformationRequest,
+ id-CPAInformationAck,
+ id-CPCInformationRequired,
+ id-CPCInformationConfirm,
+ id-CPAInformationModReq,
+ id-CPAInformationModReqAck,
+ id-CPC-DataForwarding-Indicator,
+ id-CPCInformationUpdate,
+ id-CPACInformationModRequired,
+ id-QMCConfigInfo,
+ id-Local-NG-RAN-Node-Identifier,
+ id-Neighbour-NG-RAN-Node-List,
+ id-Local-NG-RAN-Node-Identifier-Removal,
+ id-FiveGProSeAuthorized,
+ id-FiveGProSePC5QoSParameters,
+ id-FiveGProSeUEPC5AggregateMaximumBitRate,
+ id-ServedCellSpecificInfoReq-NR,
+ id-NRPagingeDRXInformation,
+ id-NRPagingeDRXInformationforRRCINACTIVE,
+ id-SDTSupportRequest,
+ id-SDT-SRB-between-NewNode-OldNode,
+ id-SDT-Termination-Request,
+ id-SDTPartialUEContextInfo,
+ id-SDTDataForwardingDRBList,
+ id-PEIPSassistanceInformation,
+ id-UESliceMaximumBitRateList,
+ id-S-NG-RANnodeUE-Slice-MBR,
+ id-ManagementBasedMDTPLMNModificationList,
+ id-F1-terminatingIAB-donorIndicator,
+ id-AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated,
+ id-HashedUEIdentityIndexValue,
+
+
+
+ maxnoofCellsinNG-RANnode,
+ maxnoofDRBs,
+ maxnoofPDUSessions,
+ maxnoofQoSFlows,
+ maxnoofServedCellsIAB,
+ maxnoofTrafficIndexEntries,
+ maxnoofTLAsIAB,
+ maxnoofBAPControlPDURLCCHs,
+ maxnoofServingCells
+
+FROM XnAP-Constants;
+
+-- **************************************************************
+--
+-- HANDOVER REQUEST
+--
+-- **************************************************************
+
+HandoverRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverRequest-IEs}},
+ ...
+}
+
+HandoverRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory}|
+ { ID id-targetCellGlobalID CRITICALITY reject TYPE Target-CGI PRESENCE mandatory}|
+ { ID id-GUAMI CRITICALITY reject TYPE GUAMI PRESENCE mandatory}|
+ { ID id-UEContextInfoHORequest CRITICALITY reject TYPE UEContextInfoHORequest PRESENCE mandatory}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }|
+ { ID id-UEHistoryInformation CRITICALITY ignore TYPE UEHistoryInformation PRESENCE mandatory}|
+ { ID id-UEContextRefAtSN-HORequest CRITICALITY ignore TYPE UEContextRefAtSN-HORequest PRESENCE optional }|
+ { ID id-CHOinformation-Req CRITICALITY reject TYPE CHOinformation-Req PRESENCE optional }|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-MobilityInformation CRITICALITY ignore TYPE MobilityInformation PRESENCE optional }|
+ { ID id-UEHistoryInformationFromTheUE CRITICALITY ignore TYPE UEHistoryInformationFromTheUE PRESENCE optional }|
+ { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional }|
+ { ID id-NoPDUSessionIndication CRITICALITY ignore TYPE NoPDUSessionIndication PRESENCE optional }|
+ { ID id-TimeSynchronizationAssistanceInformation CRITICALITY ignore TYPE TimeSynchronizationAssistanceInformation PRESENCE optional }|
+ { ID id-QMCConfigInfo CRITICALITY ignore TYPE QMCConfigInfo PRESENCE optional }|
+ { ID id-FiveGProSeAuthorized CRITICALITY ignore TYPE FiveGProSeAuthorized PRESENCE optional }|
+ { ID id-FiveGProSePC5QoSParameters CRITICALITY ignore TYPE FiveGProSePC5QoSParameters PRESENCE optional },
+ ...
+}
+
+UEContextInfoHORequest ::= SEQUENCE {
+ ng-c-UE-reference AMF-UE-NGAP-ID,
+ cp-TNL-info-source CPTransportLayerInformation,
+ ueSecurityCapabilities UESecurityCapabilities,
+ securityInformation AS-SecurityInformation,
+ indexToRatFrequencySelectionPriority RFSP-Index OPTIONAL,
+ ue-AMBR UEAggregateMaximumBitRate,
+ pduSessionResourcesToBeSetup-List PDUSessionResourcesToBeSetup-List,
+ rrc-Context OCTET STRING,
+ locationReportingInformation LocationReportingInformation OPTIONAL,
+ mrl MobilityRestrictionList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UEContextInfoHORequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextInfoHORequest-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ { ID id-FiveGCMobilityRestrictionListContainer CRITICALITY ignore EXTENSION FiveGCMobilityRestrictionListContainer PRESENCE optional }|
+ { ID id-NRUESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION NRUESidelinkAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-LTEUESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION LTEUESidelinkAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-MDTPLMNList CRITICALITY ignore EXTENSION MDTPLMNList PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject EXTENSION UERadioCapabilityID PRESENCE optional }|
+ { ID id-MBS-SessionInformation-List CRITICALITY ignore EXTENSION MBS-SessionInformation-List PRESENCE optional }|
+ { ID id-FiveGProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore EXTENSION NRUESidelinkAggregateMaximumBitRate PRESENCE optional }|
+ { ID id-UESliceMaximumBitRateList CRITICALITY ignore EXTENSION UESliceMaximumBitRateList PRESENCE optional },
+ ...
+}
+
+UEContextRefAtSN-HORequest ::= SEQUENCE {
+ globalNG-RANNode-ID GlobalNG-RANNode-ID,
+ sN-NG-RANnodeUEXnAPID NG-RANnodeUEXnAPID,
+ iE-Extensions ProtocolExtensionContainer { {UEContextRefAtSN-HORequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextRefAtSN-HORequest-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+HandoverRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverRequestAcknowledge-IEs}},
+ ...
+}
+
+-- WS modification: define a dedicated type
+Target2SourceNG-RANnodeTranspContainer ::= OCTET STRING
+
+HandoverRequestAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSessionResourcesAdmitted-List CRITICALITY ignore TYPE PDUSessionResourcesAdmitted-List PRESENCE mandatory}|
+ { ID id-PDUSessionResourcesNotAdmitted-List CRITICALITY ignore TYPE PDUSessionResourcesNotAdmitted-List PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-Target2SourceNG-RANnodeTranspContainer CRITICALITY ignore TYPE OCTET STRING PRESENCE mandatory}|
+ { ID id-Target2SourceNG-RANnodeTranspContainer CRITICALITY ignore TYPE Target2SourceNG-RANnodeTranspContainer PRESENCE mandatory}|
+ { ID id-UEContextKeptIndicator CRITICALITY ignore TYPE UEContextKeptIndicator PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-DRBs-transferred-to-MN CRITICALITY ignore TYPE DRB-List PRESENCE optional }|
+ { ID id-DAPSResponseInfo-List CRITICALITY reject TYPE DAPSResponseInfo-List PRESENCE optional }|
+ { ID id-CHOinformation-Ack CRITICALITY reject TYPE CHOinformation-Ack PRESENCE optional }|
+ { ID id-MBS-SessionInformationResponse-List CRITICALITY ignore TYPE MBS-SessionInformationResponse-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER PREPARATION FAILURE
+--
+-- **************************************************************
+
+HandoverPreparationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverPreparationFailure-IEs}},
+ ...
+}
+
+HandoverPreparationFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE Target-CGI PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- SN STATUS TRANSFER
+--
+-- **************************************************************
+
+SNStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SNStatusTransfer-IEs}},
+ ...
+}
+
+SNStatusTransfer-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-DRBsSubjectToStatusTransfer-List CRITICALITY ignore TYPE DRBsSubjectToStatusTransfer-List PRESENCE mandatory}|
+ { ID id-CHOConfiguration CRITICALITY ignore TYPE CHOConfiguration PRESENCE optional}|
+ { ID id-MobilityInformation CRITICALITY ignore TYPE MobilityInformation PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE
+--
+-- **************************************************************
+
+UEContextRelease ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEContextRelease-IEs}},
+ ...
+}
+
+UEContextRelease-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER CANCEL
+--
+-- **************************************************************
+
+HandoverCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverCancel-IEs}},
+ ...
+}
+
+HandoverCancel-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-targetCellsToCancel CRITICALITY reject TYPE TargetCellList PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER SUCCESS
+--
+-- **************************************************************
+
+HandoverSuccess ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverSuccess-IEs}},
+ ...
+}
+
+HandoverSuccess-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-requestedTargetCellGlobalID CRITICALITY reject TYPE Target-CGI PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- CONDITIONAL HANDOVER CANCEL
+--
+-- **************************************************************
+
+ConditionalHandoverCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ ConditionalHandoverCancel-IEs}},
+ ...
+}
+
+ConditionalHandoverCancel-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-targetCellsToCancel CRITICALITY reject TYPE TargetCellList PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- EARLY STATUS TRANSFER
+--
+-- **************************************************************
+
+EarlyStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ EarlyStatusTransfer-IEs}},
+ ...
+}
+
+EarlyStatusTransfer-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-procedureStage CRITICALITY reject TYPE ProcedureStageChoice PRESENCE mandatory},
+ ...
+}
+
+ProcedureStageChoice ::= CHOICE {
+ first-dl-count FirstDLCount,
+ dl-discarding DLDiscarding,
+ choice-extension ProtocolIE-Single-Container { {ProcedureStageChoice-ExtIEs} }
+}
+
+ProcedureStageChoice-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+FirstDLCount ::= SEQUENCE {
+ dRBsSubjectToEarlyStatusTransfer DRBsSubjectToEarlyStatusTransfer-List,
+ iE-Extension ProtocolExtensionContainer { {FirstDLCount-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FirstDLCount-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DLDiscarding ::= SEQUENCE {
+ dRBsSubjectToDLDiscarding DRBsSubjectToDLDiscarding-List,
+ iE-Extension ProtocolExtensionContainer { {DLDiscarding-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DLDiscarding-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RAN PAGING
+--
+-- **************************************************************
+
+RANPaging ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RANPaging-IEs}},
+ ...
+}
+
+RANPaging-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-UEIdentityIndexValue CRITICALITY reject TYPE UEIdentityIndexValue PRESENCE mandatory}|
+ { ID id-UERANPagingIdentity CRITICALITY ignore TYPE UERANPagingIdentity PRESENCE mandatory}|
+ { ID id-PagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory}|
+ { ID id-RANPagingArea CRITICALITY reject TYPE RANPagingArea PRESENCE mandatory}|
+ { ID id-PagingPriority CRITICALITY ignore TYPE PagingPriority PRESENCE optional }|
+ { ID id-AssistanceDataForRANPaging CRITICALITY ignore TYPE AssistanceDataForRANPaging PRESENCE optional }|
+ { ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional }|
+ { ID id-ExtendedUEIdentityIndexValue CRITICALITY ignore TYPE ExtendedUEIdentityIndexValue PRESENCE optional }|
+ { ID id-EUTRAPagingeDRXInformation CRITICALITY ignore TYPE EUTRAPagingeDRXInformation PRESENCE optional }|
+ { ID id-UESpecificDRX CRITICALITY ignore TYPE UESpecificDRX PRESENCE optional }|
+ { ID id-NRPagingeDRXInformation CRITICALITY ignore TYPE NRPagingeDRXInformation PRESENCE optional }|
+ { ID id-NRPagingeDRXInformationforRRCINACTIVE CRITICALITY ignore TYPE NRPagingeDRXInformationforRRCINACTIVE PRESENCE optional }|
+ { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional }|
+ { ID id-PEIPSassistanceInformation CRITICALITY ignore TYPE PEIPSassistanceInformation PRESENCE optional }|
+ { ID id-HashedUEIdentityIndexValue CRITICALITY ignore TYPE HashedUEIdentityIndexValue PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT REQUEST
+--
+-- **************************************************************
+
+RetrieveUEContextRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RetrieveUEContextRequest-IEs}},
+ ...
+}
+
+RetrieveUEContextRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-UEContextID CRITICALITY reject TYPE UEContextID PRESENCE mandatory}|
+ { ID id-MAC-I CRITICALITY reject TYPE MAC-I PRESENCE mandatory}|
+ { ID id-new-NG-RAN-Cell-Identity CRITICALITY reject TYPE NG-RAN-Cell-Identity PRESENCE mandatory}|
+ { ID id-RRCResumeCause CRITICALITY ignore TYPE RRCResumeCause PRESENCE optional }|
+ { ID id-SDTSupportRequest CRITICALITY ignore TYPE SDTSupportRequest PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT RESPONSE
+--
+-- **************************************************************
+
+RetrieveUEContextResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RetrieveUEContextResponse-IEs}},
+ ...
+}
+
+RetrieveUEContextResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-GUAMI CRITICALITY reject TYPE GUAMI PRESENCE mandatory}|
+ { ID id-UEContextInfoRetrUECtxtResp CRITICALITY reject TYPE UEContextInfoRetrUECtxtResp PRESENCE mandatory}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }|
+ { ID id-LocationReportingInformation CRITICALITY ignore TYPE LocationReportingInformation PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
+ { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
+ { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
+ { ID id-UEHistoryInformation CRITICALITY ignore TYPE UEHistoryInformation PRESENCE optional }|
+ { ID id-UEHistoryInformationFromTheUE CRITICALITY ignore TYPE UEHistoryInformationFromTheUE PRESENCE optional }|
+ { ID id-MDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }|
+ { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional }|
+ { ID id-UEContextRefAtSN-HORequest CRITICALITY ignore TYPE UEContextRefAtSN-HORequest PRESENCE optional }|
+ { ID id-TimeSynchronizationAssistanceInformation CRITICALITY ignore TYPE TimeSynchronizationAssistanceInformation PRESENCE optional }|
+ { ID id-QMCConfigInfo CRITICALITY ignore TYPE QMCConfigInfo PRESENCE optional }|
+ { ID id-FiveGProSeAuthorized CRITICALITY ignore TYPE FiveGProSeAuthorized PRESENCE optional }|
+ { ID id-FiveGProSePC5QoSParameters CRITICALITY ignore TYPE FiveGProSePC5QoSParameters PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT CONFIRM
+--
+-- **************************************************************
+
+RetrieveUEContextConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RetrieveUEContextConfirm-IEs}},
+ ...
+}
+RetrieveUEContextConfirm-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-UEContextKeptIndicator CRITICALITY ignore TYPE UEContextKeptIndicator PRESENCE optional }|
+ { ID id-SDT-Termination-Request CRITICALITY ignore TYPE SDT-Termination-Request PRESENCE optional },
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT FAILURE
+--
+-- **************************************************************
+
+RetrieveUEContextFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RetrieveUEContextFailure-IEs}},
+ ...
+}
+
+-- WS modification: define a dedicated type
+OldtoNewNG-RANnodeResumeContainer ::= OCTET STRING
+
+RetrieveUEContextFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+-- WS modification: define a dedicated type
+-- { ID id-OldtoNewNG-RANnodeResumeContainer CRITICALITY ignore TYPE OCTET STRING PRESENCE optional }|
+ { ID id-OldtoNewNG-RANnodeResumeContainer CRITICALITY ignore TYPE OldtoNewNG-RANnodeResumeContainer PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN-U ADDRESS INDICATION
+--
+-- **************************************************************
+
+XnUAddressIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnUAddressIndication-IEs}},
+ ...
+}
+
+XnUAddressIndication-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-XnUAddressInfoperPDUSession-List CRITICALITY reject TYPE XnUAddressInfoperPDUSession-List PRESENCE mandatory}|
+ { ID id-CHO-MRDC-Indicator CRITICALITY reject TYPE CHO-MRDC-Indicator PRESENCE optional }|
+ { ID id-CHO-MRDC-EarlyDataForwarding CRITICALITY ignore TYPE CHO-MRDC-EarlyDataForwarding PRESENCE optional }|
+ { ID id-CPC-DataForwarding-Indicator CRITICALITY reject TYPE CPC-DataForwarding-Indicator PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE ADDITION REQUEST
+--
+-- **************************************************************
+
+SNodeAdditionRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeAdditionRequest-IEs}},
+ ...
+}
+
+-- WS modification: define a dedicated type
+MN-to-SN-Container ::= OCTET STRING
+
+SNodeAdditionRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory}|
+ { ID id-s-ng-RANnode-SecurityKey CRITICALITY reject TYPE S-NG-RANnode-SecurityKey PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUE-AMBR CRITICALITY reject TYPE UEAggregateMaximumBitRate PRESENCE mandatory}|
+ { ID id-selectedPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional }|
+ { ID id-MobilityRestrictionList CRITICALITY ignore TYPE MobilityRestrictionList PRESENCE optional }|
+ { ID id-indexToRatFrequSelectionPriority CRITICALITY reject TYPE RFSP-Index PRESENCE optional }|
+ { ID id-PDUSessionToBeAddedAddReq CRITICALITY reject TYPE PDUSessionToBeAddedAddReq PRESENCE mandatory}|
+-- WS modification: define a dedicated type
+-- { ID id-MN-to-SN-Container CRITICALITY reject TYPE OCTET STRING PRESENCE mandatory}|
+ { ID id-MN-to-SN-Container CRITICALITY reject TYPE MN-to-SN-Container PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional }|
+ { ID id-requestedSplitSRB CRITICALITY reject TYPE SplitSRBsTypes PRESENCE optional }|
+ { ID id-PCellID CRITICALITY reject TYPE GlobalNG-RANCell-ID PRESENCE optional }|
+ { ID id-DesiredActNotificationLevel CRITICALITY ignore TYPE DesiredActNotificationLevel PRESENCE optional }|
+ { ID id-AvailableDRBIDs CRITICALITY reject TYPE DRB-List PRESENCE conditional}
+ -- The IE shall be present if there is at least one PDUSessionResourceSetupInfo-SNterminated included --|
+ { ID id-S-NG-RANnodeMaxIPDataRate-UL CRITICALITY reject TYPE BitRate PRESENCE optional }|
+ { ID id-S-NG-RANnodeMaxIPDataRate-DL CRITICALITY reject TYPE BitRate PRESENCE optional }|
+ { ID id-LocationInformationSNReporting CRITICALITY ignore TYPE LocationInformationSNReporting PRESENCE optional }|
+ { ID id-MR-DC-ResourceCoordinationInfo CRITICALITY ignore TYPE MR-DC-ResourceCoordinationInfo PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }|
+ { ID id-NE-DC-TDM-Pattern CRITICALITY ignore TYPE NE-DC-TDM-Pattern PRESENCE optional }|
+ { ID id-S-NG-RANnode-Addition-Trigger-Ind CRITICALITY reject TYPE S-NG-RANnode-Addition-Trigger-Ind PRESENCE optional }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
+ { ID id-RequestedFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE RequestedFastMCGRecoveryViaSRB3 PRESENCE optional }|
+ { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }|
+ { ID id-SourceNG-RAN-node-ID CRITICALITY ignore TYPE GlobalNG-RANNode-ID PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }|
+ { ID id-UEHistoryInformation CRITICALITY ignore TYPE UEHistoryInformation PRESENCE optional }|
+ { ID id-UEHistoryInformationFromTheUE CRITICALITY ignore TYPE UEHistoryInformationFromTheUE PRESENCE optional }|
+ { ID id-PSCellChangeHistory CRITICALITY ignore TYPE PSCellChangeHistory PRESENCE optional }|
+ { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional }|
+ { ID id-NoPDUSessionIndication CRITICALITY ignore TYPE NoPDUSessionIndication PRESENCE optional }|
+ { ID id-CHOinformation-AddReq CRITICALITY reject TYPE CHOinformation-AddReq PRESENCE optional }|
+ { ID id-SCGActivationRequest CRITICALITY ignore TYPE SCGActivationRequest PRESENCE optional }|
+ { ID id-CPAInformationRequest CRITICALITY reject TYPE CPAInformationRequest PRESENCE optional }|
+ { ID id-S-NG-RANnodeUE-Slice-MBR CRITICALITY reject TYPE UESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-F1-terminatingIAB-donorIndicator CRITICALITY reject TYPE F1-terminatingIAB-donorIndicator PRESENCE optional },
+ ...
+}
+
+PDUSessionToBeAddedAddReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionToBeAddedAddReq-Item
+
+PDUSessionToBeAddedAddReq-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ s-NSSAI S-NSSAI,
+ sN-PDUSessionAMBR PDUSessionAggregateMaximumBitRate OPTIONAL,
+ sn-terminated PDUSessionResourceSetupInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceSetupInfo-MNterminated OPTIONAL,
+-- NOTE: If neither the PDU Session Resource Setup Info – SN terminated IE
+-- nor the PDU Session Resource Setup Info – MN terminated IE is present,
+-- abnormal conditions as specified in clause 8.3.1.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSessionToBeAddedAddReq-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionToBeAddedAddReq-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedFastMCGRecoveryViaSRB3 ::= ENUMERATED {true, ...}
+
+-- **************************************************************
+--
+-- S-NODE ADDITION REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+SNodeAdditionRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeAdditionRequestAcknowledge-IEs}},
+ ...
+}
+
+-- WS modification: define a dedicated type
+SN-to-MN-Container ::= OCTET STRING
+
+SNodeAdditionRequestAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSessionAdmittedAddedAddReqAck CRITICALITY ignore TYPE PDUSessionAdmittedAddedAddReqAck PRESENCE mandatory}|
+ { ID id-PDUSessionNotAdmittedAddReqAck CRITICALITY ignore TYPE PDUSessionNotAdmittedAddReqAck PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-SN-to-MN-Container CRITICALITY reject TYPE OCTET STRING PRESENCE mandatory}|
+ { ID id-SN-to-MN-Container CRITICALITY reject TYPE SN-to-MN-Container PRESENCE mandatory}|
+ { ID id-admittedSplitSRB CRITICALITY reject TYPE SplitSRBsTypes PRESENCE optional }|
+ { ID id-RRCConfigIndication CRITICALITY reject TYPE RRCConfigIndication PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-LocationInformationSN CRITICALITY ignore TYPE Target-CGI PRESENCE optional }|
+ { ID id-MR-DC-ResourceCoordinationInfo CRITICALITY ignore TYPE MR-DC-ResourceCoordinationInfo PRESENCE optional }|
+ { ID id-AvailableFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE AvailableFastMCGRecoveryViaSRB3 PRESENCE optional }|
+ { ID id-DirectForwardingPathAvailability CRITICALITY ignore TYPE DirectForwardingPathAvailability PRESENCE optional }|
+ { ID id-SCGActivationStatus CRITICALITY ignore TYPE SCGActivationStatus PRESENCE optional }|
+ { ID id-CPAInformationAck CRITICALITY ignore TYPE CPAInformationAck PRESENCE optional },
+ ...
+}
+
+PDUSessionAdmittedAddedAddReqAck ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionAdmittedAddedAddReqAck-Item
+
+PDUSessionAdmittedAddedAddReqAck-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ sn-terminated PDUSessionResourceSetupResponseInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceSetupResponseInfo-MNterminated OPTIONAL,
+-- NOTE: If neither the PDU Session Resource Setup Response Info – SN terminated IE
+-- nor the PDU Session Resource Setup Response Info – MN terminated IE is present,
+-- abnormal conditions as specified in clause 8.3.1.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSessionAdmittedAddedAddReqAck-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionAdmittedAddedAddReqAck-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionNotAdmittedAddReqAck ::= SEQUENCE {
+ pduSessionResourcesNotAdmitted-SNterminated PDUSessionResourcesNotAdmitted-List OPTIONAL,
+ pduSessionResourcesNotAdmitted-MNterminated PDUSessionResourcesNotAdmitted-List OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSessionNotAdmittedAddReqAck-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionNotAdmittedAddReqAck-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AvailableFastMCGRecoveryViaSRB3 ::= ENUMERATED {true, ...}
+
+-- **************************************************************
+--
+-- S-NODE ADDITION REQUEST REJECT
+--
+-- **************************************************************
+
+SNodeAdditionRequestReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeAdditionRequestReject-IEs}},
+ ...
+}
+
+SNodeAdditionRequestReject-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RECONFIGURATION COMPLETE
+--
+-- **************************************************************
+
+SNodeReconfigurationComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReconfigurationComplete-IEs}},
+ ...
+}
+
+SNodeReconfigurationComplete-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-ResponseInfo-ReconfCompl CRITICALITY ignore TYPE ResponseInfo-ReconfCompl PRESENCE mandatory},
+ ...
+}
+
+ResponseInfo-ReconfCompl ::= SEQUENCE {
+ responseType-ReconfComplete ResponseType-ReconfComplete,
+ iE-Extensions ProtocolExtensionContainer { {ResponseInfo-ReconfCompl-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResponseInfo-ReconfCompl-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResponseType-ReconfComplete ::= CHOICE {
+ configuration-successfully-applied Configuration-successfully-applied,
+ configuration-rejected-by-M-NG-RANNode Configuration-rejected-by-M-NG-RANNode,
+ choice-extension ProtocolIE-Single-Container { {ResponseType-ReconfComplete-ExtIEs} }
+}
+
+ResponseType-ReconfComplete-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+Configuration-successfully-applied ::= SEQUENCE {
+ m-NG-RANNode-to-S-NG-RANNode-Container OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Configuration-successfully-applied-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Configuration-successfully-applied-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Configuration-rejected-by-M-NG-RANNode ::= SEQUENCE {
+ cause Cause,
+ m-NG-RANNode-to-S-NG-RANNode-Container OCTET STRING OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Configuration-rejected-by-M-NG-RANNode-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Configuration-rejected-by-M-NG-RANNode-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REQUEST
+--
+-- **************************************************************
+
+SNodeModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRequest-IEs}},
+ ...
+}
+
+SNodeModificationRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-PDCPChangeIndication CRITICALITY ignore TYPE PDCPChangeIndication PRESENCE optional }|
+ { ID id-selectedPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional }|
+ { ID id-MobilityRestrictionList CRITICALITY ignore TYPE MobilityRestrictionList PRESENCE optional }|
+ { ID id-SCGConfigurationQuery CRITICALITY ignore TYPE SCGConfigurationQuery PRESENCE optional }|
+ { ID id-UEContextInfo-SNModRequest CRITICALITY reject TYPE UEContextInfo-SNModRequest PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MN-to-SN-Container CRITICALITY ignore TYPE OCTET STRING PRESENCE optional }|
+ { ID id-MN-to-SN-Container CRITICALITY ignore TYPE MN-to-SN-Container PRESENCE optional }|
+ { ID id-requestedSplitSRB CRITICALITY ignore TYPE SplitSRBsTypes PRESENCE optional }|
+ { ID id-requestedSplitSRBrelease CRITICALITY ignore TYPE SplitSRBsTypes PRESENCE optional }|
+ { ID id-DesiredActNotificationLevel CRITICALITY ignore TYPE DesiredActNotificationLevel PRESENCE optional }|
+ { ID id-AdditionalDRBIDs CRITICALITY reject TYPE DRB-List PRESENCE optional }|
+ { ID id-S-NG-RANnodeMaxIPDataRate-UL CRITICALITY reject TYPE BitRate PRESENCE optional }|
+ { ID id-S-NG-RANnodeMaxIPDataRate-DL CRITICALITY reject TYPE BitRate PRESENCE optional }|
+ { ID id-LocationInformationSNReporting CRITICALITY ignore TYPE LocationInformationSNReporting PRESENCE optional }|
+ { ID id-MR-DC-ResourceCoordinationInfo CRITICALITY ignore TYPE MR-DC-ResourceCoordinationInfo PRESENCE optional }|
+ { ID id-PCellID CRITICALITY reject TYPE GlobalNG-RANCell-ID PRESENCE optional }|
+ { ID id-NE-DC-TDM-Pattern CRITICALITY ignore TYPE NE-DC-TDM-Pattern PRESENCE optional }|
+ { ID id-RequestedFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE RequestedFastMCGRecoveryViaSRB3 PRESENCE optional }|
+ { ID id-RequestedFastMCGRecoveryViaSRB3Release CRITICALITY ignore TYPE RequestedFastMCGRecoveryViaSRB3Release PRESENCE optional }|
+ { ID id-SNTriggered CRITICALITY ignore TYPE SNTriggered PRESENCE optional }|
+ { ID id-TargetNodeID CRITICALITY ignore TYPE GlobalNG-RANNode-ID PRESENCE optional }|
+ { ID id-PSCellHistoryInformationRetrieve CRITICALITY ignore TYPE PSCellHistoryInformationRetrieve PRESENCE optional }|
+ { ID id-UEHistoryInformationFromTheUE CRITICALITY ignore TYPE UEHistoryInformationFromTheUE PRESENCE optional }|
+ { ID id-CHOinformation-ModReq CRITICALITY ignore TYPE CHOinformation-ModReq PRESENCE optional }|
+ { ID id-SCGActivationRequest CRITICALITY ignore TYPE SCGActivationRequest PRESENCE optional }|
+ { ID id-CPAInformationModReq CRITICALITY ignore TYPE CPAInformationModReq PRESENCE optional }|
+ { ID id-CPCInformationUpdate CRITICALITY ignore TYPE CPCInformationUpdate PRESENCE optional }|
+ { ID id-S-NG-RANnodeUE-Slice-MBR CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }|
+ { ID id-ManagementBasedMDTPLMNModificationList CRITICALITY ignore TYPE MDTPLMNModificationList PRESENCE optional },
+ ...
+}
+
+UEContextInfo-SNModRequest ::= SEQUENCE {
+ ueSecurityCapabilities UESecurityCapabilities OPTIONAL,
+ s-ng-RANnode-SecurityKey S-NG-RANnode-SecurityKey OPTIONAL,
+ s-ng-RANnodeUE-AMBR UEAggregateMaximumBitRate OPTIONAL,
+ indexToRatFrequencySelectionPriority RFSP-Index OPTIONAL,
+ lowerLayerPresenceStatusChange LowerLayerPresenceStatusChange OPTIONAL,
+ pduSessionResourceToBeAdded PDUSessionsToBeAdded-SNModRequest-List OPTIONAL,
+ pduSessionResourceToBeModified PDUSessionsToBeModified-SNModRequest-List OPTIONAL,
+ pduSessionResourceToBeReleased PDUSessionsToBeReleased-SNModRequest-List OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {UEContextInfo-SNModRequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextInfo-SNModRequest-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionsToBeAdded-SNModRequest-List ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionsToBeAdded-SNModRequest-Item
+
+PDUSessionsToBeAdded-SNModRequest-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ s-NSSAI S-NSSAI,
+ sN-PDUSessionAMBR PDUSessionAggregateMaximumBitRate OPTIONAL,
+ sn-terminated PDUSessionResourceSetupInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceSetupInfo-MNterminated OPTIONAL,
+-- NOTE: If neither the PDU Session Resource Setup Info – SN terminated IE
+-- nor the PDU Session Resource Setup Info – MN terminated IE is present,
+-- abnormal conditions as specified in clause 8.3.3.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSessionsToBeAdded-SNModRequest-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionsToBeAdded-SNModRequest-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-PDUSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional},
+ ...
+}
+
+PDUSessionsToBeModified-SNModRequest-List ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionsToBeModified-SNModRequest-Item
+
+PDUSessionsToBeModified-SNModRequest-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ sN-PDUSessionAMBR PDUSessionAggregateMaximumBitRate OPTIONAL,
+ sn-terminated PDUSessionResourceModificationInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceModificationInfo-MNterminated OPTIONAL,
+-- NOTE: If neither the PDU Session Resource Modification Info – SN terminated IE
+-- nor the PDU Session Resource Modification Info – MN terminated IE is present,
+-- abnormal conditions as specified in clause 8.3.3.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSessionsToBeModified-SNModRequest-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionsToBeModified-SNModRequest-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ {ID id-S-NSSAI CRITICALITY reject EXTENSION S-NSSAI PRESENCE optional}|
+ {ID id-PDUSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional},
+ ...
+}
+
+PDUSessionsToBeReleased-SNModRequest-List ::= SEQUENCE {
+ pdu-session-list PDUSession-List-withCause OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSessionsToBeReleased-SNModRequest-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionsToBeReleased-SNModRequest-List-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RequestedFastMCGRecoveryViaSRB3Release ::= ENUMERATED {true, ...}
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+SNodeModificationRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRequestAcknowledge-IEs}},
+ ...
+}
+
+SNodeModificationRequestAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSessionAdmitted-SNModResponse CRITICALITY ignore TYPE PDUSessionAdmitted-SNModResponse PRESENCE optional }|
+ { ID id-PDUSessionNotAdmitted-SNModResponse CRITICALITY ignore TYPE PDUSessionNotAdmitted-SNModResponse PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-SN-to-MN-Container CRITICALITY ignore TYPE OCTET STRING PRESENCE optional }|
+ { ID id-SN-to-MN-Container CRITICALITY ignore TYPE SN-to-MN-Container PRESENCE optional }|
+ { ID id-admittedSplitSRB CRITICALITY ignore TYPE SplitSRBsTypes PRESENCE optional }|
+ { ID id-admittedSplitSRBrelease CRITICALITY ignore TYPE SplitSRBsTypes PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-LocationInformationSN CRITICALITY ignore TYPE Target-CGI PRESENCE optional }|
+ { ID id-MR-DC-ResourceCoordinationInfo CRITICALITY ignore TYPE MR-DC-ResourceCoordinationInfo PRESENCE optional }|
+ { ID id-PDUSessionDataForwarding-SNModResponse CRITICALITY ignore TYPE PDUSessionDataForwarding-SNModResponse PRESENCE optional }|
+ { ID id-RRCConfigIndication CRITICALITY reject TYPE RRCConfigIndication PRESENCE optional }|
+ { ID id-AvailableFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE AvailableFastMCGRecoveryViaSRB3 PRESENCE optional }|
+ { ID id-ReleaseFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE ReleaseFastMCGRecoveryViaSRB3 PRESENCE optional }|
+ { ID id-DirectForwardingPathAvailability CRITICALITY ignore TYPE DirectForwardingPathAvailability PRESENCE optional }|
+ { ID id-SCGUEHistoryInformation CRITICALITY ignore TYPE SCGUEHistoryInformation PRESENCE optional }|
+ { ID id-SCGActivationStatus CRITICALITY ignore TYPE SCGActivationStatus PRESENCE optional }|
+ { ID id-CPAInformationModReqAck CRITICALITY ignore TYPE CPAInformationModReqAck PRESENCE optional },
+ ...
+}
+PDUSessionAdmitted-SNModResponse ::= SEQUENCE {
+ pduSessionResourcesAdmittedToBeAdded PDUSessionAdmittedToBeAddedSNModResponse OPTIONAL,
+ pduSessionResourcesAdmittedToBeModified PDUSessionAdmittedToBeModifiedSNModResponse OPTIONAL,
+ pduSessionResourcesAdmittedToBeReleased PDUSessionAdmittedToBeReleasedSNModResponse OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSessionAdmitted-SNModResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionAdmitted-SNModResponse-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionAdmittedToBeAddedSNModResponse ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionAdmittedToBeAddedSNModResponse-Item
+PDUSessionAdmittedToBeAddedSNModResponse-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ sn-terminated PDUSessionResourceSetupResponseInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceSetupResponseInfo-MNterminated OPTIONAL,
+-- NOTE: If neither the PDU Session Resource Setup Response Info – SN terminated IE
+-- nor the PDU Session Resource Setup Response Info – MN terminated IE is present,
+-- abnormal conditions as specified in clause 8.3.3.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSessionAdmittedToBeAddedSNModResponse-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionAdmittedToBeAddedSNModResponse-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionAdmittedToBeModifiedSNModResponse::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionAdmittedToBeModifiedSNModResponse-Item
+PDUSessionAdmittedToBeModifiedSNModResponse-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ sn-terminated PDUSessionResourceModificationResponseInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceModificationResponseInfo-MNterminated OPTIONAL,
+-- NOTE: If neither the PDU Session Resource Modification Response Info – SN terminated IE
+-- nor the PDU Session Resource Modification Response Info – MN terminated IE is present,
+-- abnormal conditions as specified in clause 8.3.3.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSessionAdmittedToBeModifiedSNModResponse-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionAdmittedToBeModifiedSNModResponse-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionAdmittedToBeReleasedSNModResponse ::= SEQUENCE {
+ sn-terminated PDUSession-List-withDataForwardingRequest OPTIONAL,
+ mn-terminated PDUSession-List-withCause OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSessionAdmittedToBeReleasedSNModResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionAdmittedToBeReleasedSNModResponse-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionNotAdmitted-SNModResponse ::= SEQUENCE {
+ pdu-Session-List PDUSession-List OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSessionNotAdmitted-SNModResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionNotAdmitted-SNModResponse-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSessionDataForwarding-SNModResponse ::= SEQUENCE {
+ sn-terminated PDUSession-List-withDataForwardingRequest,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionDataForwarding-SNModResponse-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionDataForwarding-SNModResponse-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ReleaseFastMCGRecoveryViaSRB3 ::= ENUMERATED {true, ...}
+
+
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REQUEST REJECT
+--
+-- **************************************************************
+
+SNodeModificationRequestReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRequestReject-IEs}},
+ ...
+}
+
+SNodeModificationRequestReject-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REQUIRED
+--
+-- **************************************************************
+
+SNodeModificationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRequired-IEs}},
+ ...
+}
+
+SNodeModificationRequired-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-PDCPChangeIndication CRITICALITY ignore TYPE PDCPChangeIndication PRESENCE optional }|
+ { ID id-PDUSessionToBeModifiedSNModRequired CRITICALITY ignore TYPE PDUSessionToBeModifiedSNModRequired PRESENCE optional }|
+ { ID id-PDUSessionToBeReleasedSNModRequired CRITICALITY ignore TYPE PDUSessionToBeReleasedSNModRequired PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-SN-to-MN-Container CRITICALITY ignore TYPE OCTET STRING PRESENCE optional }|
+ { ID id-SN-to-MN-Container CRITICALITY ignore TYPE SN-to-MN-Container PRESENCE optional }|
+ { ID id-SpareDRBIDs CRITICALITY ignore TYPE DRB-List PRESENCE optional }|
+ { ID id-RequiredNumberOfDRBIDs CRITICALITY ignore TYPE DRB-Number PRESENCE optional }|
+ { ID id-LocationInformationSN CRITICALITY ignore TYPE Target-CGI PRESENCE optional }|
+ { ID id-MR-DC-ResourceCoordinationInfo CRITICALITY ignore TYPE MR-DC-ResourceCoordinationInfo PRESENCE optional }|
+ { ID id-RRCConfigIndication CRITICALITY reject TYPE RRCConfigIndication PRESENCE optional }|
+ { ID id-AvailableFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE AvailableFastMCGRecoveryViaSRB3 PRESENCE optional }|
+ { ID id-ReleaseFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE ReleaseFastMCGRecoveryViaSRB3 PRESENCE optional }|
+ { ID id-SCGIndicator CRITICALITY ignore TYPE SCGIndicator PRESENCE optional }|
+ { ID id-SCGUEHistoryInformation CRITICALITY ignore TYPE SCGUEHistoryInformation PRESENCE optional }|
+ { ID id-SCGActivationRequest CRITICALITY ignore TYPE SCGActivationRequest PRESENCE optional }|
+ { ID id-CPACInformationModRequired CRITICALITY ignore TYPE CPACInformationModRequired PRESENCE optional }|
+ { ID id-SCGreconfigNotification CRITICALITY ignore TYPE SCGreconfigNotification PRESENCE optional },
+ ...
+}
+PDUSessionToBeModifiedSNModRequired::= SEQUENCE (SIZE (1.. maxnoofPDUSessions)) OF PDUSessionToBeModifiedSNModRequired-Item
+
+PDUSessionToBeModifiedSNModRequired-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ sn-terminated PDUSessionResourceModRqdInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceModRqdInfo-MNterminated OPTIONAL,
+-- NOTE: If neither the PDU Session Resource Modification Required Info – SN terminated IE
+-- nor the PDU Session Resource Modification Required Info – MN terminated IE is present,
+-- abnormal conditions as specified in clause 8.3.4.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSessionToBeModifiedSNModRequired-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionToBeModifiedSNModRequired-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+PDUSessionToBeReleasedSNModRequired ::= SEQUENCE {
+ sn-terminated PDUSession-List-withDataForwardingRequest OPTIONAL,
+ mn-terminated PDUSession-List-withCause OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSessionToBeReleasedSNModRequired-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionToBeReleasedSNModRequired-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION CONFIRM
+--
+-- **************************************************************
+
+SNodeModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationConfirm-IEs}},
+ ...
+}
+
+SNodeModificationConfirm-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSessionAdmittedModSNModConfirm CRITICALITY ignore TYPE PDUSessionAdmittedModSNModConfirm PRESENCE optional }|
+ { ID id-PDUSessionReleasedSNModConfirm CRITICALITY ignore TYPE PDUSessionReleasedSNModConfirm PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MN-to-SN-Container CRITICALITY ignore TYPE OCTET STRING PRESENCE optional }|
+ { ID id-MN-to-SN-Container CRITICALITY ignore TYPE MN-to-SN-Container PRESENCE optional }|
+ { ID id-AdditionalDRBIDs CRITICALITY reject TYPE DRB-List PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-MR-DC-ResourceCoordinationInfo CRITICALITY ignore TYPE MR-DC-ResourceCoordinationInfo PRESENCE optional },
+ ...
+}
+
+PDUSessionAdmittedModSNModConfirm ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionAdmittedModSNModConfirm-Item
+
+PDUSessionAdmittedModSNModConfirm-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ sn-terminated PDUSessionResourceModConfirmInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceModConfirmInfo-MNterminated OPTIONAL,
+-- NOTE: If neither the PDU Session Resource Modification Confirm Info – SN terminated IE
+-- nor the PDU Session Resource Modification Confirm Info – MN terminated IE is present,
+-- abnormal conditions as specified in clause 8.3.4.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSessionAdmittedModSNModConfirm-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionAdmittedModSNModConfirm-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSessionReleasedSNModConfirm ::= SEQUENCE {
+ sn-terminated PDUSession-List-withDataForwardingFromTarget OPTIONAL,
+ mn-terminated PDUSession-List OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSessionAdmittedToBeReleasedSNModConfirm-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionAdmittedToBeReleasedSNModConfirm-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REFUSE
+--
+-- **************************************************************
+
+SNodeModificationRefuse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRefuse-IEs}},
+ ...
+}
+
+SNodeModificationRefuse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+-- WS modification: define a dedicated type
+-- { ID id-MN-to-SN-Container CRITICALITY ignore TYPE OCTET STRING PRESENCE optional }|
+ { ID id-MN-to-SN-Container CRITICALITY ignore TYPE MN-to-SN-Container PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RELEASE REQUEST
+--
+-- **************************************************************
+
+SNodeReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseRequest-IEs}},
+ ...
+}
+
+SNodeReleaseRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-PDUSessionToBeReleased-RelReq CRITICALITY ignore TYPE PDUSession-List-withCause PRESENCE optional }|
+ { ID id-UEContextKeptIndicator CRITICALITY ignore TYPE UEContextKeptIndicator PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MN-to-SN-Container CRITICALITY ignore TYPE OCTET STRING PRESENCE optional }|
+ { ID id-MN-to-SN-Container CRITICALITY ignore TYPE MN-to-SN-Container PRESENCE optional }|
+ { ID id-DRBs-transferred-to-MN CRITICALITY ignore TYPE DRB-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RELEASE REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+SNodeReleaseRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseRequestAcknowledge-IEs}},
+ ...
+}
+
+SNodeReleaseRequestAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-PDUSessionToBeReleased-RelReqAck CRITICALITY ignore TYPE PDUSessionToBeReleasedList-RelReqAck PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-SCGUEHistoryInformation CRITICALITY ignore TYPE SCGUEHistoryInformation PRESENCE optional },
+ ...
+}
+
+PDUSessionToBeReleasedList-RelReqAck ::= SEQUENCE {
+ pduSessionsToBeReleasedList-SNterminated PDUSession-List-withDataForwardingRequest OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionToBeReleasedList-RelReqAck-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionToBeReleasedList-RelReqAck-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RELEASE REJECT
+--
+-- **************************************************************
+
+SNodeReleaseReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseReject-IEs}},
+ ...
+}
+
+SNodeReleaseReject-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RELEASE REQUIRED
+--
+-- **************************************************************
+
+SNodeReleaseRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseRequired-IEs}},
+ ...
+}
+
+SNodeReleaseRequired-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSessionToBeReleasedList-RelRqd CRITICALITY ignore TYPE PDUSessionToBeReleasedList-RelRqd PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+-- WS modification: define a dedicated type
+-- { ID id-SN-to-MN-Container CRITICALITY ignore TYPE OCTET STRING PRESENCE optional }|
+ { ID id-SN-to-MN-Container CRITICALITY ignore TYPE SN-to-MN-Container PRESENCE optional }|
+ { ID id-SCGUEHistoryInformation CRITICALITY ignore TYPE SCGUEHistoryInformation PRESENCE optional },
+ ...
+}
+
+PDUSessionToBeReleasedList-RelRqd ::= SEQUENCE {
+ pduSessionsToBeReleasedList-SNterminated PDUSession-List-withDataForwardingRequest OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionToBeReleasedList-RelRqd-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionToBeReleasedList-RelRqd-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- S-NODE RELEASE CONFIRM
+--
+-- **************************************************************
+
+SNodeReleaseConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseConfirm-IEs}},
+ ...
+}
+
+SNodeReleaseConfirm-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSessionReleasedList-RelConf CRITICALITY ignore TYPE PDUSessionReleasedList-RelConf PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+PDUSessionReleasedList-RelConf ::= SEQUENCE {
+ pduSessionsReleasedList-SNterminated PDUSession-List-withDataForwardingFromTarget OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionReleasedList-RelConf-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionReleasedList-RelConf-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- S-NODE COUNTER CHECK REQUEST
+--
+-- **************************************************************
+
+SNodeCounterCheckRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeCounterCheckRequest-IEs}},
+ ...
+}
+
+SNodeCounterCheckRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-BearersSubjectToCounterCheck CRITICALITY ignore TYPE BearersSubjectToCounterCheck-List PRESENCE mandatory},
+ ...
+}
+
+BearersSubjectToCounterCheck-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF BearersSubjectToCounterCheck-Item
+
+BearersSubjectToCounterCheck-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ ul-count INTEGER (0.. 4294967295),
+ dl-count INTEGER (0.. 4294967295),
+ iE-Extensions ProtocolExtensionContainer { {BearersSubjectToCounterCheck-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BearersSubjectToCounterCheck-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- S-NODE CHANGE REQUIRED
+--
+-- **************************************************************
+
+SNodeChangeRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeChangeRequired-IEs}},
+ ...
+}
+
+SNodeChangeRequired-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-target-S-NG-RANnodeID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-PDUSession-SNChangeRequired-List CRITICALITY ignore TYPE PDUSession-SNChangeRequired-List PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-SN-to-MN-Container CRITICALITY reject TYPE OCTET STRING PRESENCE mandatory}|
+ { ID id-SN-to-MN-Container CRITICALITY reject TYPE SN-to-MN-Container PRESENCE mandatory}|
+ { ID id-SCGUEHistoryInformation CRITICALITY ignore TYPE SCGUEHistoryInformation PRESENCE optional }|
+ { ID id-SNMobilityInformation CRITICALITY ignore TYPE SNMobilityInformation PRESENCE optional }|
+ { ID id-SourcePSCellID CRITICALITY ignore TYPE GlobalNG-RANCell-ID PRESENCE optional }|
+ { ID id-CPCInformationRequired CRITICALITY ignore TYPE CPCInformationRequired PRESENCE optional },
+ ...
+}
+
+PDUSession-SNChangeRequired-List ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSession-SNChangeRequired-Item
+
+PDUSession-SNChangeRequired-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ sn-terminated PDUSessionResourceChangeRequiredInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceChangeRequiredInfo-MNterminated OPTIONAL,
+-- NOTE: If the PDU Session Resource Change Required Info – SN terminated IE is not present,
+-- abnormal conditions as specified in clause 8.3.5.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSession-SNChangeRequired-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSession-SNChangeRequired-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- S-NODE CHANGE CONFIRM
+--
+-- **************************************************************
+
+SNodeChangeConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeChangeConfirm-IEs}},
+ ...
+}
+
+SNodeChangeConfirm-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSession-SNChangeConfirm-List CRITICALITY ignore TYPE PDUSession-SNChangeConfirm-List PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-CPCInformationConfirm CRITICALITY ignore TYPE CPCInformationConfirm PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-MN-to-SN-Container CRITICALITY ignore TYPE OCTET STRING PRESENCE optional },
+ { ID id-MN-to-SN-Container CRITICALITY ignore TYPE MN-to-SN-Container PRESENCE optional },
+ ...
+}
+PDUSession-SNChangeConfirm-List ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSession-SNChangeConfirm-Item
+
+PDUSession-SNChangeConfirm-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ sn-terminated PDUSessionResourceChangeConfirmInfo-SNterminated OPTIONAL,
+ mn-terminated PDUSessionResourceChangeConfirmInfo-MNterminated OPTIONAL,
+-- NOTE: If the PDU Session Resource Change Confirm Info – SN terminated IE is not present,
+-- abnormal conditions as specified in clause 8.3.5.4 apply.
+ iE-Extension ProtocolExtensionContainer { {PDUSession-SNChangeConfirm-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSession-SNChangeConfirm-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated CRITICALITY ignore EXTENSION AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- S-NODE CHANGE REFUSE
+--
+-- **************************************************************
+
+SNodeChangeRefuse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeChangeRefuse-IEs}},
+ ...
+}
+
+SNodeChangeRefuse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RRC TRANSFER
+--
+-- **************************************************************
+
+RRCTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RRCTransfer-IEs}},
+ ...
+}
+
+RRCTransfer-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-SplitSRB-RRCTransfer CRITICALITY reject TYPE SplitSRB-RRCTransfer PRESENCE optional }|
+ { ID id-UEReportRRCTransfer CRITICALITY reject TYPE UEReportRRCTransfer PRESENCE optional }|
+ { ID id-FastMCGRecoveryRRCTransfer-SN-to-MN CRITICALITY ignore TYPE FastMCGRecoveryRRCTransfer PRESENCE optional }|
+ { ID id-FastMCGRecoveryRRCTransfer-MN-to-SN CRITICALITY ignore TYPE FastMCGRecoveryRRCTransfer PRESENCE optional }|
+ { ID id-SDT-SRB-between-NewNode-OldNode CRITICALITY ignore TYPE SDT-SRB-between-NewNode-OldNode PRESENCE optional },
+ ...
+}
+
+SplitSRB-RRCTransfer ::= SEQUENCE {
+ rrcContainer OCTET STRING OPTIONAL,
+ srbType ENUMERATED {srb1, srb2, ...},
+ deliveryStatus DeliveryStatus OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {SplitSRB-RRCTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SplitSRB-RRCTransfer-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UEReportRRCTransfer::= SEQUENCE {
+ rrcContainer OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { {UEReportRRCTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEReportRRCTransfer-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+FastMCGRecoveryRRCTransfer::= SEQUENCE {
+ rrcContainer OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { { FastMCGRecoveryRRCTransfer-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FastMCGRecoveryRRCTransfer-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+SDT-SRB-between-NewNode-OldNode::= SEQUENCE {
+ rrcContainer OCTET STRING,
+ srb-ID SRB-ID,
+ iE-Extensions ProtocolExtensionContainer { { SDT-SRB-between-NewNode-OldNode-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SDT-SRB-between-NewNode-OldNode-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- NOTIFICATION CONTROL INDICATION
+--
+-- **************************************************************
+
+NotificationControlIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{NotificationControlIndication-IEs}},
+ ...
+}
+
+NotificationControlIndication-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSessionResourcesNotifyList CRITICALITY reject TYPE PDUSessionResourcesNotifyList PRESENCE optional },
+ ...
+}
+
+PDUSessionResourcesNotifyList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourcesNotify-Item
+
+PDUSessionResourcesNotify-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ qosFlowsNotificationContrIndInfo QoSFlowNotificationControlIndicationInfo,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourcesNotify-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourcesNotify-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- ACTIVITY NOTIFICATION
+--
+-- **************************************************************
+
+ActivityNotification ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ActivityNotification-IEs}},
+ ...
+}
+
+ActivityNotification-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-UserPlaneTrafficActivityReport CRITICALITY ignore TYPE UserPlaneTrafficActivityReport PRESENCE optional }|
+ { ID id-PDUSessionResourcesActivityNotifyList CRITICALITY ignore TYPE PDUSessionResourcesActivityNotifyList PRESENCE optional }|
+ { ID id-RANPagingFailure CRITICALITY ignore TYPE RANPagingFailure PRESENCE optional },
+ ...
+}
+
+PDUSessionResourcesActivityNotifyList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourcesActivityNotify-Item
+
+PDUSessionResourcesActivityNotify-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ pduSessionLevelUPactivityreport UserPlaneTrafficActivityReport OPTIONAL,
+ qosFlowsActivityNotifyList QoSFlowsActivityNotifyList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourcesActivityNotify-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourcesActivityNotify-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+QoSFlowsActivityNotifyList ::= SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF QoSFlowsActivityNotifyItem
+
+QoSFlowsActivityNotifyItem ::= SEQUENCE {
+ qosFlowIdentifier QoSFlowIdentifier,
+ pduSessionLevelUPactivityreport UserPlaneTrafficActivityReport,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowsActivityNotifyItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsActivityNotifyItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- XN SETUP REQUEST
+--
+-- **************************************************************
+
+XnSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnSetupRequest-IEs}},
+ ...
+}
+
+XnSetupRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-GlobalNG-RAN-node-ID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory}|
+ { ID id-TAISupport-list CRITICALITY reject TYPE TAISupport-List PRESENCE mandatory}|
+ { ID id-AMF-Region-Information CRITICALITY reject TYPE AMF-Region-Information PRESENCE mandatory}|
+ { ID id-List-of-served-cells-NR CRITICALITY reject TYPE ServedCells-NR PRESENCE optional }|
+ { ID id-List-of-served-cells-E-UTRA CRITICALITY reject TYPE ServedCells-E-UTRA PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional }|
+ { ID id-PartialListIndicator-NR CRITICALITY ignore TYPE PartialListIndicator PRESENCE optional }|
+ { ID id-CellAndCapacityAssistanceInfo-NR CRITICALITY ignore TYPE CellAndCapacityAssistanceInfo-NR PRESENCE optional }|
+ { ID id-PartialListIndicator-EUTRA CRITICALITY ignore TYPE PartialListIndicator PRESENCE optional }|
+ { ID id-CellAndCapacityAssistanceInfo-EUTRA CRITICALITY ignore TYPE CellAndCapacityAssistanceInfo-EUTRA PRESENCE optional }|
+ { ID id-Local-NG-RAN-Node-Identifier CRITICALITY ignore TYPE Local-NG-RAN-Node-Identifier PRESENCE optional }|
+ { ID id-Neighbour-NG-RAN-Node-List CRITICALITY ignore TYPE Neighbour-NG-RAN-Node-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN SETUP RESPONSE
+--
+-- **************************************************************
+
+XnSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnSetupResponse-IEs}},
+ ...
+}
+
+XnSetupResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-GlobalNG-RAN-node-ID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory}|
+ { ID id-TAISupport-list CRITICALITY reject TYPE TAISupport-List PRESENCE mandatory}|
+ { ID id-List-of-served-cells-NR CRITICALITY reject TYPE ServedCells-NR PRESENCE optional }|
+ { ID id-List-of-served-cells-E-UTRA CRITICALITY reject TYPE ServedCells-E-UTRA PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-AMF-Region-Information CRITICALITY reject TYPE AMF-Region-Information PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional }|
+ { ID id-PartialListIndicator-NR CRITICALITY ignore TYPE PartialListIndicator PRESENCE optional }|
+ { ID id-CellAndCapacityAssistanceInfo-NR CRITICALITY ignore TYPE CellAndCapacityAssistanceInfo-NR PRESENCE optional }|
+ { ID id-PartialListIndicator-EUTRA CRITICALITY ignore TYPE PartialListIndicator PRESENCE optional }|
+ { ID id-CellAndCapacityAssistanceInfo-EUTRA CRITICALITY ignore TYPE CellAndCapacityAssistanceInfo-EUTRA PRESENCE optional }|
+ { ID id-Local-NG-RAN-Node-Identifier CRITICALITY ignore TYPE Local-NG-RAN-Node-Identifier PRESENCE optional }|
+ { ID id-Neighbour-NG-RAN-Node-List CRITICALITY ignore TYPE Neighbour-NG-RAN-Node-List PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN SETUP FAILURE
+--
+-- **************************************************************
+
+XnSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnSetupFailure-IEs}},
+ ...
+}
+
+XnSetupFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-MessageOversizeNotification CRITICALITY ignore TYPE MessageOversizeNotification PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- NG-RAN NODE CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+NGRANNodeConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ NGRANNodeConfigurationUpdate-IEs}},
+ ...
+}
+
+NGRANNodeConfigurationUpdate-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-TAISupport-list CRITICALITY reject TYPE TAISupport-List PRESENCE optional }|
+ { ID id-ConfigurationUpdateInitiatingNodeChoice CRITICALITY ignore TYPE ConfigurationUpdateInitiatingNodeChoice PRESENCE mandatory}|
+ { ID id-TNLA-To-Add-List CRITICALITY ignore TYPE TNLA-To-Add-List PRESENCE optional }|
+ { ID id-TNLA-To-Remove-List CRITICALITY ignore TYPE TNLA-To-Remove-List PRESENCE optional }|
+ { ID id-TNLA-To-Update-List CRITICALITY ignore TYPE TNLA-To-Update-List PRESENCE optional }|
+ { ID id-GlobalNG-RAN-node-ID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE optional }|
+ { ID id-AMF-Region-Information-To-Add CRITICALITY reject TYPE AMF-Region-Information PRESENCE optional }|
+ { ID id-AMF-Region-Information-To-Delete CRITICALITY reject TYPE AMF-Region-Information PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional }|
+ { ID id-Coverage-Modification-List CRITICALITY reject TYPE Coverage-Modification-List PRESENCE optional }|
+ { ID id-Local-NG-RAN-Node-Identifier CRITICALITY ignore TYPE Local-NG-RAN-Node-Identifier PRESENCE optional }|
+ { ID id-Neighbour-NG-RAN-Node-List CRITICALITY ignore TYPE Neighbour-NG-RAN-Node-List PRESENCE optional }|
+ { ID id-Local-NG-RAN-Node-Identifier-Removal CRITICALITY ignore TYPE Local-NG-RAN-Node-Identifier PRESENCE optional },
+ ...
+}
+
+ConfigurationUpdateInitiatingNodeChoice ::= CHOICE {
+ gNB ProtocolIE-Container { {ConfigurationUpdate-gNB} },
+ ng-eNB ProtocolIE-Container { {ConfigurationUpdate-ng-eNB} },
+ choice-extension ProtocolIE-Single-Container { {ServedCellsToUpdateInitiatingNodeChoice-ExtIEs} }
+}
+
+ServedCellsToUpdateInitiatingNodeChoice-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+ConfigurationUpdate-gNB XNAP-PROTOCOL-IES ::= {
+ { ID id-servedCellsToUpdate-NR CRITICALITY ignore TYPE ServedCellsToUpdate-NR PRESENCE optional }|
+ { ID id-cellAssistanceInfo-NR CRITICALITY ignore TYPE CellAssistanceInfo-NR PRESENCE optional }|
+ { ID id-cellAssistanceInfo-EUTRA CRITICALITY ignore TYPE CellAssistanceInfo-EUTRA PRESENCE optional }|
+ { ID id-ServedCellSpecificInfoReq-NR CRITICALITY ignore TYPE ServedCellSpecificInfoReq-NR PRESENCE optional},
+ ...
+}
+
+
+ConfigurationUpdate-ng-eNB XNAP-PROTOCOL-IES ::= {
+ { ID id-servedCellsToUpdate-E-UTRA CRITICALITY ignore TYPE ServedCellsToUpdate-E-UTRA PRESENCE optional }|
+ { ID id-cellAssistanceInfo-NR CRITICALITY ignore TYPE CellAssistanceInfo-NR PRESENCE optional }|
+ { ID id-cellAssistanceInfo-EUTRA CRITICALITY ignore TYPE CellAssistanceInfo-EUTRA PRESENCE optional },
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- NG-RAN NODE CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+NGRANNodeConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ NGRANNodeConfigurationUpdateAcknowledge-IEs}},
+ ...
+}
+
+NGRANNodeConfigurationUpdateAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-RespondingNodeTypeConfigUpdateAck CRITICALITY ignore TYPE RespondingNodeTypeConfigUpdateAck PRESENCE mandatory}|
+ { ID id-TNLA-Setup-List CRITICALITY ignore TYPE TNLA-Setup-List PRESENCE optional }|
+ { ID id-TNLA-Failed-To-Setup-List CRITICALITY ignore TYPE TNLA-Failed-To-Setup-List PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }|
+ { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional }|
+ { ID id-Local-NG-RAN-Node-Identifier CRITICALITY ignore TYPE Local-NG-RAN-Node-Identifier PRESENCE optional }|
+ { ID id-Neighbour-NG-RAN-Node-List CRITICALITY ignore TYPE Neighbour-NG-RAN-Node-List PRESENCE optional }|
+ { ID id-Local-NG-RAN-Node-Identifier-Removal CRITICALITY ignore TYPE Local-NG-RAN-Node-Identifier PRESENCE optional },
+ ...
+}
+RespondingNodeTypeConfigUpdateAck ::= CHOICE {
+ ng-eNB RespondingNodeTypeConfigUpdateAck-ng-eNB,
+ gNB RespondingNodeTypeConfigUpdateAck-gNB,
+ choice-extension ProtocolIE-Single-Container { {RespondingNodeTypeConfigUpdateAck-ExtIEs} }
+}
+
+RespondingNodeTypeConfigUpdateAck-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+RespondingNodeTypeConfigUpdateAck-ng-eNB ::= SEQUENCE {
+ iE-Extension ProtocolExtensionContainer { {RespondingNodeTypeConfigUpdateAck-ng-eNB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RespondingNodeTypeConfigUpdateAck-ng-eNB-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-List-of-served-cells-E-UTRA CRITICALITY ignore EXTENSION ServedCells-E-UTRA PRESENCE optional }|
+ { ID id-PartialListIndicator-EUTRA CRITICALITY ignore EXTENSION PartialListIndicator PRESENCE optional }|
+ { ID id-CellAndCapacityAssistanceInfo-EUTRA CRITICALITY ignore EXTENSION CellAndCapacityAssistanceInfo-EUTRA PRESENCE optional },
+ ...
+}
+
+
+RespondingNodeTypeConfigUpdateAck-gNB ::= SEQUENCE {
+ served-NR-Cells ServedCells-NR OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {RespondingNodeTypeConfigUpdateAck-gNB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RespondingNodeTypeConfigUpdateAck-gNB-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ { ID id-PartialListIndicator-NR CRITICALITY ignore EXTENSION PartialListIndicator PRESENCE optional }|
+ { ID id-CellAndCapacityAssistanceInfo-NR CRITICALITY ignore EXTENSION CellAndCapacityAssistanceInfo-NR PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- NG-RAN NODE CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+
+NGRANNodeConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{NGRANNodeConfigurationUpdateFailure-IEs}},
+ ...
+}
+
+NGRANNodeConfigurationUpdateFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- E-UTRA NR CELL RESOURCE COORDINATION REQUEST
+--
+-- **************************************************************
+
+E-UTRA-NR-CellResourceCoordinationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-UTRA-NR-CellResourceCoordinationRequest-IEs}},
+ ...
+}
+
+E-UTRA-NR-CellResourceCoordinationRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-initiatingNodeType-ResourceCoordRequest CRITICALITY reject TYPE InitiatingNodeType-ResourceCoordRequest PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+InitiatingNodeType-ResourceCoordRequest ::= CHOICE {
+ ng-eNB ResourceCoordRequest-ng-eNB-initiated,
+ gNB ResourceCoordRequest-gNB-initiated,
+ choice-extension ProtocolIE-Single-Container { {InitiatingNodeType-ResourceCoordRequest-ExtIEs} }
+}
+
+InitiatingNodeType-ResourceCoordRequest-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+ResourceCoordRequest-ng-eNB-initiated ::= SEQUENCE {
+ dataTrafficResourceIndication DataTrafficResourceIndication,
+ spectrumSharingGroupID SpectrumSharingGroupID,
+ listofE-UTRACells SEQUENCE (SIZE(1.. maxnoofCellsinNG-RANnode)) OF E-UTRA-CGI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ResourceCoordRequest-ng-eNB-initiated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceCoordRequest-ng-eNB-initiated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResourceCoordRequest-gNB-initiated ::= SEQUENCE {
+ dataTrafficResourceIndication DataTrafficResourceIndication,
+ listofE-UTRACells SEQUENCE (SIZE(1.. maxnoofCellsinNG-RANnode)) OF E-UTRA-CGI OPTIONAL,
+ spectrumSharingGroupID SpectrumSharingGroupID,
+ listofNRCells SEQUENCE (SIZE(1.. maxnoofCellsinNG-RANnode)) OF NR-CGI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ResourceCoordRequest-gNB-initiated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceCoordRequest-gNB-initiated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- E-UTRA NR CELL RESOURCE COORDINATION RESPONSE
+--
+-- **************************************************************
+
+E-UTRA-NR-CellResourceCoordinationResponse::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{E-UTRA-NR-CellResourceCoordinationResponse-IEs}},
+ ...
+}
+
+E-UTRA-NR-CellResourceCoordinationResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-respondingNodeType-ResourceCoordResponse CRITICALITY reject TYPE RespondingNodeType-ResourceCoordResponse PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+RespondingNodeType-ResourceCoordResponse ::= CHOICE {
+ ng-eNB ResourceCoordResponse-ng-eNB-initiated,
+ gNB ResourceCoordResponse-gNB-initiated,
+ choice-extension ProtocolIE-Single-Container { {RespondingNodeType-ResourceCoordResponse-ExtIEs} }
+}
+
+RespondingNodeType-ResourceCoordResponse-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+ResourceCoordResponse-ng-eNB-initiated ::= SEQUENCE {
+ dataTrafficResourceIndication DataTrafficResourceIndication,
+ spectrumSharingGroupID SpectrumSharingGroupID,
+ listofE-UTRACells SEQUENCE (SIZE(1.. maxnoofCellsinNG-RANnode)) OF E-UTRA-CGI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ResourceCoordResponse-ng-eNB-initiated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceCoordResponse-ng-eNB-initiated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResourceCoordResponse-gNB-initiated ::= SEQUENCE {
+ dataTrafficResourceIndication DataTrafficResourceIndication,
+ spectrumSharingGroupID SpectrumSharingGroupID,
+ listofNRCells SEQUENCE (SIZE(1.. maxnoofCellsinNG-RANnode)) OF NR-CGI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ResourceCoordResponse-gNB-initiated-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResourceCoordResponse-gNB-initiated-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- SECONDARY RAT DATA USAGE REPORT
+--
+-- **************************************************************
+
+SecondaryRATDataUsageReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SecondaryRATDataUsageReport-IEs}},
+ ...
+}
+
+SecondaryRATDataUsageReport-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSessionResourceSecondaryRATUsageList CRITICALITY reject TYPE PDUSessionResourceSecondaryRATUsageList PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- XN REMOVAL REQUEST
+--
+-- **************************************************************
+
+XnRemovalRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnRemovalRequest-IEs}},
+ ...
+}
+
+XnRemovalRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-GlobalNG-RAN-node-ID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory}|
+ { ID id-XnRemovalThreshold CRITICALITY reject TYPE XnBenefitValue PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN REMOVAL RESPONSE
+--
+-- **************************************************************
+
+XnRemovalResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnRemovalResponse-IEs}},
+ ...
+}
+
+XnRemovalResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-GlobalNG-RAN-node-ID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN REMOVAL FAILURE
+--
+-- **************************************************************
+
+XnRemovalFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnRemovalFailure-IEs}},
+ ...
+}
+
+XnRemovalFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL ACTIVATION REQUEST
+--
+-- **************************************************************
+
+CellActivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ CellActivationRequest-IEs}},
+ ...
+}
+
+CellActivationRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ServedCellsToActivate CRITICALITY reject TYPE ServedCellsToActivate PRESENCE mandatory}|
+ { ID id-ActivationIDforCellActivation CRITICALITY reject TYPE ActivationIDforCellActivation PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+ServedCellsToActivate ::= CHOICE {
+ nr-cells SEQUENCE (SIZE(1..maxnoofCellsinNG-RANnode)) OF NR-CGI,
+ e-utra-cells SEQUENCE (SIZE(1..maxnoofCellsinNG-RANnode)) OF E-UTRA-CGI,
+ choice-extension ProtocolIE-Single-Container { {ServedCellsToActivate-ExtIEs} }
+}
+
+ServedCellsToActivate-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- CELL ACTIVATION RESPONSE
+--
+-- **************************************************************
+
+CellActivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationResponse-IEs}},
+ ...
+}
+
+CellActivationResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ActivatedServedCells CRITICALITY reject TYPE ActivatedServedCells PRESENCE mandatory}|
+ { ID id-ActivationIDforCellActivation CRITICALITY reject TYPE ActivationIDforCellActivation PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+ActivatedServedCells ::= CHOICE {
+ nr-cells SEQUENCE (SIZE(1..maxnoofCellsinNG-RANnode)) OF NR-CGI,
+ e-utra-cells SEQUENCE (SIZE(1..maxnoofCellsinNG-RANnode)) OF E-UTRA-CGI,
+ choice-extension ProtocolIE-Single-Container { {ActivatedServedCells-ExtIEs} }
+}
+
+ActivatedServedCells-ExtIEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- CELL ACTIVATION FAILURE
+--
+-- **************************************************************
+
+CellActivationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationFailure-IEs}},
+ ...
+}
+
+CellActivationFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ActivationIDforCellActivation CRITICALITY reject TYPE ActivationIDforCellActivation PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET REQUEST
+--
+-- **************************************************************
+
+ResetRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetRequest-IEs}},
+ ...
+}
+
+ResetRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ResetRequestTypeInfo CRITICALITY reject TYPE ResetRequestTypeInfo PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET RESPONSE
+--
+-- **************************************************************
+
+ResetResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetResponse-IEs}},
+ ...
+}
+
+ResetResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ResetResponseTypeInfo CRITICALITY reject TYPE ResetResponseTypeInfo PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ ...
+}
+
+ErrorIndication-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
+ { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs XNAP-PRIVATE-IES ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- TRACE START
+--
+-- **************************************************************
+
+TraceStart ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {TraceStartIEs} },
+ ...
+}
+
+TraceStartIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DEACTIVATE TRACE
+--
+-- **************************************************************
+
+DeactivateTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {DeactivateTraceIEs} },
+ ...
+}
+
+DeactivateTraceIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-NG-RANTraceID CRITICALITY ignore TYPE NG-RANTraceID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- FAILURE INDICATION
+--
+-- **************************************************************
+
+FailureIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{FailureIndication-IEs}},
+ ...
+}
+
+FailureIndication-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-InitiatingCondition-FailureIndication CRITICALITY reject TYPE InitiatingCondition-FailureIndication PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER REPORT
+--
+-- **************************************************************
+
+HandoverReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ HandoverReport-IEs}},
+ ...
+}
+
+HandoverReport-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-HandoverReportType CRITICALITY ignore TYPE HandoverReportType PRESENCE mandatory}|
+ { ID id-HandoverCause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-SourceCellCGI CRITICALITY ignore TYPE GlobalNG-RANCell-ID PRESENCE mandatory }|
+ { ID id-TargetCellCGI CRITICALITY ignore TYPE GlobalNG-RANCell-ID PRESENCE mandatory }|
+ { ID id-ReEstablishmentCellCGI CRITICALITY ignore TYPE GlobalCell-ID PRESENCE conditional }|
+-- This IE shall be present if the Handover Report Type IE is set to the value "HO to wrong cell"
+ { ID id-TargetCellinEUTRAN CRITICALITY ignore TYPE TargetCellinEUTRAN PRESENCE conditional }|
+-- This IE shall be present if the Handover Report Type IE is set to the value "Inter-system ping-pong"
+ { ID id-SourceCellCRNTI CRITICALITY ignore TYPE C-RNTI PRESENCE optional }|
+ { ID id-MobilityInformation CRITICALITY ignore TYPE MobilityInformation PRESENCE optional }|
+ { ID id-UERLFReportContainer CRITICALITY ignore TYPE UERLFReportContainer PRESENCE optional }|
+ { ID id-CHOConfiguration CRITICALITY ignore TYPE CHOConfiguration PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESOURCE STATUS REQUEST
+--
+-- **************************************************************
+
+ResourceStatusRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResourceStatusRequest-IEs}},
+ ...
+}
+
+ResourceStatusRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-NGRAN-Node1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-NGRAN-Node2-Measurement-ID CRITICALITY ignore TYPE Measurement-ID PRESENCE conditional}|
+-- This IE shall be present if the Registration Request IE is set to the value "stop" or "add".
+ { ID id-RegistrationRequest CRITICALITY reject TYPE RegistrationRequest PRESENCE mandatory}|
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE conditional}|
+-- This IE shall be present if the Registration Request IE is set to the value "start".
+ { ID id-CellToReport CRITICALITY ignore TYPE CellToReport PRESENCE optional}|
+ { ID id-ReportingPeriodicity CRITICALITY ignore TYPE ReportingPeriodicity PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RESOURCE STATUS RESPONSE
+--
+-- **************************************************************
+
+ResourceStatusResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResourceStatusResponse-IEs}},
+ ...
+}
+
+ResourceStatusResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-NGRAN-Node1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-NGRAN-Node2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RESOURCE STATUS FAILURE
+--
+-- **************************************************************
+
+ResourceStatusFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResourceStatusFailure-IEs}},
+ ...
+}
+
+ResourceStatusFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-NGRAN-Node1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-NGRAN-Node2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- RESOURCE STATUS UPDATE
+--
+-- **************************************************************
+
+ResourceStatusUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResourceStatusUpdate-IEs}},
+ ...
+}
+
+ResourceStatusUpdate-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-NGRAN-Node1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-NGRAN-Node2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+{ ID id-CellMeasurementResult CRITICALITY ignore TYPE CellMeasurementResult PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- MOBILITY CHANGE REQUEST
+--
+-- **************************************************************
+
+MobilityChangeRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MobilityChangeRequest-IEs}},
+ ...
+}
+
+MobilityChangeRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-NG-RANnode1CellID CRITICALITY reject TYPE GlobalNG-RANCell-ID PRESENCE mandatory}|
+ { ID id-NG-RANnode2CellID CRITICALITY reject TYPE GlobalNG-RANCell-ID PRESENCE mandatory}|
+ { ID id-NG-RANnode1MobilityParameters CRITICALITY reject TYPE MobilityParametersInformation PRESENCE optional}|
+ { ID id-NG-RANnode2ProposedMobilityParameters CRITICALITY reject TYPE MobilityParametersInformation PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-SSBOffsets-List CRITICALITY ignore TYPE SSBOffsets-List PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MOBILITY CHANGE ACKNOWLEDGE
+--
+-- **************************************************************
+
+MobilityChangeAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MobilityChangeAcknowledge-IEs}},
+ ...
+}
+
+MobilityChangeAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-NG-RANnode1CellID CRITICALITY reject TYPE GlobalNG-RANCell-ID PRESENCE mandatory}|
+ { ID id-NG-RANnode2CellID CRITICALITY reject TYPE GlobalNG-RANCell-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MOBILITY CHANGE FAILURE
+--
+-- **************************************************************
+
+MobilityChangeFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MobilityChangeFailure-IEs}},
+ ...
+}
+
+MobilityChangeFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-NG-RANnode1CellID CRITICALITY reject TYPE GlobalNG-RANCell-ID PRESENCE mandatory}|
+ { ID id-NG-RANnode2CellID CRITICALITY reject TYPE GlobalNG-RANCell-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-MobilityParametersModificationRange CRITICALITY reject TYPE MobilityParametersModificationRange PRESENCE optional}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-NG-RANnode2SSBOffsetsModificationRange CRITICALITY ignore TYPE NG-RANnode2SSBOffsetsModificationRange PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- ACCESS AND MOBILITY INDICATION
+--
+-- **************************************************************
+
+AccessAndMobilityIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ AccessAndMobilityIndication-IEs}},
+ ...
+}
+AccessAndMobilityIndication-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-RACHReportInformation CRITICALITY ignore TYPE RACHReportInformation PRESENCE optional}|
+ { ID id-SuccessfulHOReportInformation CRITICALITY ignore TYPE SuccessfulHOReportInformation PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL TRAFFIC TRACE
+--
+-- **************************************************************
+
+CellTrafficTrace ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container { {CellTrafficTraceIEs} },
+ ...
+}
+
+CellTrafficTraceIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-NG-RANTraceID CRITICALITY ignore TYPE NG-RANTraceID PRESENCE mandatory }|
+ { ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }|
+ { ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional }|
+{ ID id-TraceCollectionEntityURI CRITICALITY ignore TYPE URIaddress PRESENCE optional},
+ ...
+}
+
+-- **************************************************************
+--
+-- RAN MULTICAST GROUP PAGING
+--
+-- **************************************************************
+
+RANMulticastGroupPaging ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RANMulticastGroupPaging-IEs}},
+ ...
+}
+
+RANMulticastGroupPaging-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-MBS-Session-ID CRITICALITY reject TYPE MBS-Session-ID PRESENCE mandatory}|
+ { ID id-UEIdentityIndexList-MBSGroupPaging CRITICALITY reject TYPE UEIdentityIndexList-MBSGroupPaging PRESENCE mandatory}|
+ { ID id-MulticastRANPagingArea CRITICALITY reject TYPE RANPagingArea PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- SCG FAILURE INFORMATION REPORT
+--
+-- **************************************************************
+
+ScgFailureInformationReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ ScgFailureInformationReport-IEs}},
+ ...
+}
+
+ScgFailureInformationReport-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory }|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory }|
+ { ID id-SourcePSCellCGI CRITICALITY ignore TYPE GlobalNG-RANCell-ID PRESENCE optional }|
+ { ID id-FailedPSCellCGI CRITICALITY ignore TYPE GlobalNG-RANCell-ID PRESENCE optional }|
+ { ID id-SCGFailureReportContainer CRITICALITY ignore TYPE SCGFailureReportContainer PRESENCE mandatory }|
+ { ID id-SNMobilityInformation CRITICALITY ignore TYPE SNMobilityInformation PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- SCG FAILURE TRANSFER
+--
+-- **************************************************************
+
+ScgFailureTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ ScgFailureTransfer-IEs}},
+ ...
+}
+ScgFailureTransfer-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory }|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- F1-C TRAFFIC TRANSFER
+
+--
+-- **************************************************************
+
+F1CTrafficTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ F1CTrafficTransfer-IEs}},
+ ...
+}
+
+F1CTrafficTransfer-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-F1CTrafficContainer CRITICALITY reject TYPE F1CTrafficContainer PRESENCE mandatory},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- IAB TRANSPORT MIGRATION MANAGEMENT REQUEST
+--
+-- **************************************************************
+
+IABTransportMigrationManagementRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ IABTransportMigrationManagementRequest-IEs}},
+ ...
+}
+
+IABTransportMigrationManagementRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-F1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-nonF1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-TrafficToBeAddedList CRITICALITY reject TYPE TrafficToBeAddedList PRESENCE optional }|
+ { ID id-TrafficToBeModifiedList CRITICALITY reject TYPE TrafficToBeModifiedList PRESENCE optional }|
+ { ID id-TrafficToBeReleaseInformation CRITICALITY reject TYPE TrafficToBeReleaseInformation PRESENCE optional }|
+ { ID id-IAB-TNL-Address-Request CRITICALITY reject TYPE IAB-TNL-Address-Request PRESENCE optional }|
+ { ID id-IABTNLAddressException CRITICALITY reject TYPE IABTNLAddressException PRESENCE optional },
+ ...
+}
+
+TrafficToBeAddedList ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficToBeAdded-Item
+
+TrafficToBeAdded-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ trafficProfile TrafficProfile,
+ f1-TerminatingTopologyBHInformation F1-TerminatingTopologyBHInformation OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TrafficToBeAdded-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficToBeAdded-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TrafficToBeModifiedList ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficToBeModified-Item
+
+TrafficToBeModified-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ trafficProfile TrafficProfile OPTIONAL,
+ f1-TerminatingTopologyBHInformation F1-TerminatingTopologyBHInformation OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {TrafficToBeModified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficToBeModified-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- IAB TRANSPORT MIGRATION MANAGEMENT RESPONSE
+--
+-- **************************************************************
+
+IABTransportMigrationManagementResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ IABTransportMigrationManagementResponse-IEs}},
+ ...
+}
+
+IABTransportMigrationManagementResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-F1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-nonF1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-TrafficAddedList CRITICALITY reject TYPE TrafficAddedList PRESENCE optional }|
+ { ID id-TrafficModifiedList CRITICALITY reject TYPE TrafficModifiedList PRESENCE optional }|
+ { ID id-TrafficNotAddedList CRITICALITY reject TYPE TrafficNotAddedList PRESENCE optional }|
+ { ID id-TrafficNotModifiedList CRITICALITY reject TYPE TrafficNotModifiedList PRESENCE optional }|
+ { ID id-IAB-TNL-Address-Response CRITICALITY reject TYPE IAB-TNL-Address-Response PRESENCE optional }|
+ { ID id-TrafficReleasedList CRITICALITY reject TYPE TrafficReleasedList PRESENCE optional },
+ ...
+}
+
+TrafficAddedList ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficAdded-Item
+
+TrafficAdded-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ non-F1-TerminatingTopologyBHInformation Non-F1-TerminatingTopologyBHInformation,
+ iE-Extensions ProtocolExtensionContainer { {TrafficAdded-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficAdded-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TrafficModifiedList ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficModified-Item
+
+TrafficModified-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ non-F1-TerminatingTopologyBHInformation Non-F1-TerminatingTopologyBHInformation,
+ iE-Extensions ProtocolExtensionContainer { {TrafficModified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficModified-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TrafficNotAddedList ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficNotAdded-Item
+
+TrafficNotAdded-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ casue Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TrafficNotAdded-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficNotAdded-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TrafficNotModifiedList ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficNotModified-Item
+
+TrafficNotModified-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ cause Cause OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {TrafficNotModified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficNotModified-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TrafficReleasedList ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficReleased-Item
+
+TrafficReleased-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ bHInfoList BHInfoList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { TrafficReleased-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficReleased-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- IAB TRANSPORT MIGRATION MANAGEMENT REJECT
+--
+-- **************************************************************
+
+IABTransportMigrationManagementReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ IABTransportMigrationManagementReject-IEs}},
+ ...
+}
+
+IABTransportMigrationManagementReject-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-F1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-nonF1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- IAB TRANSPORT MIGRATION MODIFICATION REQUEST
+--
+-- **************************************************************
+
+IABTransportMigrationModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ IABTransportMigrationModificationRequest-IEs}},
+ ...
+}
+
+IABTransportMigrationModificationRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-F1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-nonF1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-TrafficRequiredToBeModifiedList CRITICALITY reject TYPE TrafficRequiredToBeModifiedList PRESENCE optional }|
+ { ID id-TrafficToBeReleaseInformation CRITICALITY reject TYPE TrafficToBeReleaseInformation PRESENCE optional }|
+ { ID id-IABTNLAddressToBeAdded CRITICALITY reject TYPE IAB-TNL-Address-Response PRESENCE optional }|
+ { ID id-IABTNLAddressToBeReleasedList CRITICALITY reject TYPE IABTNLAddressToBeReleasedList PRESENCE optional },
+ ...
+}
+
+TrafficRequiredToBeModifiedList ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficRequiredToBeModified-Item
+
+TrafficRequiredToBeModified-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ non-f1-TerminatingTopologyBHInformation Non-F1-TerminatingTopologyBHInformation,
+ iE-Extensions ProtocolExtensionContainer{ { TrafficRequiredToBeModified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficRequiredToBeModified-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+IABTNLAddressToBeReleasedList ::= SEQUENCE (SIZE(1..maxnoofTLAsIAB)) OF IABTNLAddressToBeReleased-Item
+
+IABTNLAddressToBeReleased-Item ::= SEQUENCE {
+ iabTNLAddress IABTNLAddress,
+ iE-Extensions ProtocolExtensionContainer{ { IABTNLAddressToBeReleased-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+IABTNLAddressToBeReleased-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- IAB TRANSPORT MIGRATION MODIFICATION RESPONSE
+--
+-- **************************************************************
+
+IABTransportMigrationModificationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ IABTransportMigrationModificationResponse-IEs}},
+ ...
+}
+
+IABTransportMigrationModificationResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-F1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-nonF1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-TrafficRequiredModifiedList CRITICALITY reject TYPE TrafficRequiredModifiedList PRESENCE optional }|
+ { ID id-TrafficReleasedList CRITICALITY reject TYPE TrafficReleasedList PRESENCE optional },
+ ...
+}
+
+
+
+TrafficRequiredModifiedList ::= SEQUENCE (SIZE(1..maxnoofTrafficIndexEntries)) OF TrafficRequiredModified-Item
+
+TrafficRequiredModified-Item ::= SEQUENCE {
+ trafficIndex TrafficIndex,
+ iE-Extensions ProtocolExtensionContainer { { TrafficRequiredModified-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TrafficRequiredModified-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- IAB RESOURCE COORDINATION REQUEST
+--
+-- **************************************************************
+
+IABResourceCoordinationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ IABResourceCoordinationRequest-IEs}},
+ ...
+}
+
+IABResourceCoordinationRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-F1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-nonF1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-BoundaryNodeCellsList CRITICALITY reject TYPE BoundaryNodeCellsList PRESENCE optional }|
+ { ID id-ParentNodeCellsList CRITICALITY reject TYPE ParentNodeCellsList PRESENCE optional },
+ ...
+}
+
+
+BoundaryNodeCellsList ::= SEQUENCE (SIZE(1..maxnoofServedCellsIAB)) OF BoundaryNodeCellsList-Item
+
+BoundaryNodeCellsList-Item ::= SEQUENCE {
+ boundaryNodeCellInformation IABCellInformation,
+ iE-Extensions ProtocolExtensionContainer { {BoundaryNodeCellsList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BoundaryNodeCellsList-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ParentNodeCellsList ::= SEQUENCE (SIZE(1..maxnoofServingCells)) OF ParentNodeCellsList-Item
+
+ParentNodeCellsList-Item ::= SEQUENCE {
+ parentNodeCellInformation IABCellInformation,
+ iE-Extensions ProtocolExtensionContainer { {ParentNodeCellsList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ParentNodeCellsList-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- IAB RESOURCE COORDINATION RESPONSE
+--
+-- **************************************************************
+
+IABResourceCoordinationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ IABResourceCoordinationResponse-IEs}},
+ ...
+}
+
+IABResourceCoordinationResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-F1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-nonF1-Terminating-IAB-DonorUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-BoundaryNodeCellsList CRITICALITY reject TYPE BoundaryNodeCellsList PRESENCE optional }|
+ { ID id-ParentNodeCellsList CRITICALITY reject TYPE ParentNodeCellsList PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CONDITIONAL PSCELL CHANGE CANCEL
+--
+-- **************************************************************
+
+CPCCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ CPCCancel-IEs}},
+ ...
+}
+CPCCancel-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-M-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-S-NG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
+ { ID id-target-S-NG-RANnodeID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- PARTIAL UE CONTEXT TRANSFER
+--
+-- **************************************************************
+PartialUEContextTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PartialUEContextTransfer-IEs}},
+ ...
+}
+
+PartialUEContextTransfer-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-SDTPartialUEContextInfo CRITICALITY ignore TYPE SDTPartialUEContextInfo PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- PARTIAL UE CONTEXT TRANSFER ACKNOWLEDGE
+--
+-- **************************************************************
+PartialUEContextTransferAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PartialUEContextTransferAcknowledge-IEs}},
+ ...
+}
+
+PartialUEContextTransferAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-SDTDataForwardingDRBList CRITICALITY ignore TYPE SDTDataForwardingDRBList PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PARTIAL UE CONTEXT TRANSFER FAILURE
+--
+-- **************************************************************
+
+PartialUEContextTransferFailure::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ PartialUEContextTransferFailure-IEs}},
+ ...
+}
+
+PartialUEContextTransferFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-PDU-Descriptions.asn b/epan/dissectors/asn1/xnap/XnAP-PDU-Descriptions.asn
new file mode 100644
index 00000000..a3af5271
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-PDU-Descriptions.asn
@@ -0,0 +1,652 @@
+-- 3GPP TS 38.423 V17.5.0 (2023-06)
+-- 9.3.3 Elementary Procedure Definitions
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+XnAP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+
+FROM XnAP-CommonDataTypes
+
+ HandoverRequest,
+ HandoverRequestAcknowledge,
+ HandoverPreparationFailure,
+ SNStatusTransfer,
+ UEContextRelease,
+ HandoverCancel,
+ NotificationControlIndication,
+ RANPaging,
+ RetrieveUEContextRequest,
+ RetrieveUEContextResponse,
+ RetrieveUEContextConfirm,
+ RetrieveUEContextFailure,
+ XnUAddressIndication,
+ SecondaryRATDataUsageReport,
+ SNodeAdditionRequest,
+ SNodeAdditionRequestAcknowledge,
+ SNodeAdditionRequestReject,
+ SNodeReconfigurationComplete,
+ SNodeModificationRequest,
+ SNodeModificationRequestAcknowledge,
+ SNodeModificationRequestReject,
+ SNodeModificationRequired,
+ SNodeModificationConfirm,
+ SNodeModificationRefuse,
+ SNodeReleaseRequest,
+ SNodeReleaseRequestAcknowledge,
+ SNodeReleaseReject,
+ SNodeReleaseRequired,
+ SNodeReleaseConfirm,
+ SNodeCounterCheckRequest,
+ SNodeChangeRequired,
+ SNodeChangeConfirm,
+ SNodeChangeRefuse,
+ RRCTransfer,
+ XnRemovalRequest,
+ XnRemovalResponse,
+ XnRemovalFailure,
+ XnSetupRequest,
+ XnSetupResponse,
+ XnSetupFailure,
+ NGRANNodeConfigurationUpdate,
+ NGRANNodeConfigurationUpdateAcknowledge,
+ NGRANNodeConfigurationUpdateFailure,
+ E-UTRA-NR-CellResourceCoordinationRequest,
+ E-UTRA-NR-CellResourceCoordinationResponse,
+ ActivityNotification,
+ CellActivationRequest,
+ CellActivationResponse,
+ CellActivationFailure,
+ ResetRequest,
+ ResetResponse,
+ ErrorIndication,
+ PrivateMessage,
+ DeactivateTrace,
+ TraceStart,
+ HandoverSuccess,
+ ConditionalHandoverCancel,
+ EarlyStatusTransfer,
+ FailureIndication,
+ HandoverReport,
+ ResourceStatusRequest,
+ ResourceStatusResponse,
+ ResourceStatusFailure,
+ ResourceStatusUpdate,
+ MobilityChangeRequest,
+ MobilityChangeAcknowledge,
+ MobilityChangeFailure,
+ AccessAndMobilityIndication,
+ CellTrafficTrace,
+ RANMulticastGroupPaging,
+ ScgFailureInformationReport,
+ ScgFailureTransfer,
+ F1CTrafficTransfer,
+ IABTransportMigrationManagementRequest,
+ IABTransportMigrationManagementResponse,
+ IABTransportMigrationManagementReject,
+ IABTransportMigrationModificationRequest,
+ IABTransportMigrationModificationResponse,
+ IABResourceCoordinationRequest,
+ IABResourceCoordinationResponse,
+ CPCCancel,
+ PartialUEContextTransfer,
+ PartialUEContextTransferAcknowledge,
+ PartialUEContextTransferFailure
+
+
+FROM XnAP-PDU-Contents
+
+ id-handoverPreparation,
+ id-sNStatusTransfer,
+ id-handoverCancel,
+ id-notificationControl,
+ id-retrieveUEContext,
+ id-rANPaging,
+ id-xnUAddressIndication,
+ id-uEContextRelease,
+ id-secondaryRATDataUsageReport,
+ id-sNGRANnodeAdditionPreparation,
+ id-sNGRANnodeReconfigurationCompletion,
+ id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation,
+ id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation,
+ id-mNGRANnodeinitiatedSNGRANnodeRelease,
+ id-sNGRANnodeinitiatedSNGRANnodeRelease,
+ id-sNGRANnodeCounterCheck,
+ id-sNGRANnodeChange,
+ id-activityNotification,
+ id-rRCTransfer,
+ id-xnRemoval,
+ id-xnSetup,
+ id-nGRANnodeConfigurationUpdate,
+ id-e-UTRA-NR-CellResourceCoordination,
+ id-cellActivation,
+ id-reset,
+ id-errorIndication,
+ id-privateMessage,
+ id-deactivateTrace,
+ id-traceStart,
+ id-handoverSuccess,
+ id-conditionalHandoverCancel,
+ id-earlyStatusTransfer,
+ id-failureIndication,
+ id-handoverReport,
+ id-resourceStatusReportingInitiation,
+ id-resourceStatusReporting,
+ id-mobilitySettingsChange,
+ id-accessAndMobilityIndication,
+ id-cellTrafficTrace,
+ id-RANMulticastGroupPaging,
+ id-scgFailureInformationReport,
+ id-scgFailureTransfer,
+ id-f1CTrafficTransfer,
+ id-iABTransportMigrationManagement,
+ id-iABTransportMigrationModification,
+ id-iABResourceCoordination,
+ id-retrieveUEContextConfirm,
+ id-cPCCancel,
+ id-partialUEContextTransfer
+
+FROM XnAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+XNAP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+XnAP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode XNAP-ELEMENTARY-PROCEDURE.&procedureCode ({XNAP-ELEMENTARY-PROCEDURES}),
+ criticality XNAP-ELEMENTARY-PROCEDURE.&criticality ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value XNAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode XNAP-ELEMENTARY-PROCEDURE.&procedureCode ({XNAP-ELEMENTARY-PROCEDURES}),
+ criticality XNAP-ELEMENTARY-PROCEDURE.&criticality ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value XNAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode XNAP-ELEMENTARY-PROCEDURE.&procedureCode ({XNAP-ELEMENTARY-PROCEDURES}),
+ criticality XNAP-ELEMENTARY-PROCEDURE.&criticality ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value XNAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+XNAP-ELEMENTARY-PROCEDURES XNAP-ELEMENTARY-PROCEDURE ::= {
+ XNAP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ XNAP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+XNAP-ELEMENTARY-PROCEDURES-CLASS-1 XNAP-ELEMENTARY-PROCEDURE ::= {
+ handoverPreparation |
+ retrieveUEContext |
+ sNGRANnodeAdditionPreparation |
+ mNGRANnodeinitiatedSNGRANnodeModificationPreparation |
+ sNGRANnodeinitiatedSNGRANnodeModificationPreparation |
+ mNGRANnodeinitiatedSNGRANnodeRelease |
+ sNGRANnodeinitiatedSNGRANnodeRelease |
+ sNGRANnodeChange |
+ xnRemoval |
+ xnSetup |
+ nGRANnodeConfigurationUpdate |
+ e-UTRA-NR-CellResourceCoordination |
+ cellActivation |
+ reset |
+ resourceStatusReportingInitiation |
+ mobilitySettingsChange |
+ iABTransportMigrationManagement |
+ iABTransportMigrationModification |
+ iABResourceCoordination |
+ partialUEContextTransfer ,
+ ...
+}
+
+XNAP-ELEMENTARY-PROCEDURES-CLASS-2 XNAP-ELEMENTARY-PROCEDURE ::= {
+ sNStatusTransfer |
+ handoverCancel |
+ rANPaging |
+ xnUAddressIndication |
+ uEContextRelease |
+ sNGRANnodeReconfigurationCompletion |
+ sNGRANnodeCounterCheck |
+ rRCTransfer |
+ errorIndication |
+ privateMessage |
+ notificationControl |
+ activityNotification |
+ secondaryRATDataUsageReport |
+ deactivateTrace |
+ traceStart |
+ handoverSuccess |
+ conditionalHandoverCancel |
+ earlyStatusTransfer |
+ failureIndication |
+ handoverReport |
+ resourceStatusReporting |
+ accessAndMobilityIndication |
+ cellTrafficTrace |
+ rANMulticastGroupPaging |
+ scgFailureInformationReport |
+ scgFailureTransfer |
+ f1CTrafficTransfer |
+ retrieveUEContextConfirm |
+ cPCCancel ,
+ ...
+
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+handoverPreparation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverRequest
+ SUCCESSFUL OUTCOME HandoverRequestAcknowledge
+ UNSUCCESSFUL OUTCOME HandoverPreparationFailure
+ PROCEDURE CODE id-handoverPreparation
+ CRITICALITY reject
+}
+
+
+sNStatusTransfer XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNStatusTransfer
+ PROCEDURE CODE id-sNStatusTransfer
+ CRITICALITY ignore
+}
+
+
+handoverCancel XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverCancel
+ PROCEDURE CODE id-handoverCancel
+ CRITICALITY ignore
+}
+
+
+retrieveUEContext XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RetrieveUEContextRequest
+ SUCCESSFUL OUTCOME RetrieveUEContextResponse
+ UNSUCCESSFUL OUTCOME RetrieveUEContextFailure
+ PROCEDURE CODE id-retrieveUEContext
+ CRITICALITY reject
+}
+
+
+rANPaging XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RANPaging
+ PROCEDURE CODE id-rANPaging
+ CRITICALITY reject
+}
+
+
+xnUAddressIndication XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE XnUAddressIndication
+ PROCEDURE CODE id-xnUAddressIndication
+ CRITICALITY reject
+}
+
+
+uEContextRelease XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextRelease
+ PROCEDURE CODE id-uEContextRelease
+ CRITICALITY reject
+}
+
+
+sNGRANnodeAdditionPreparation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeAdditionRequest
+ SUCCESSFUL OUTCOME SNodeAdditionRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SNodeAdditionRequestReject
+ PROCEDURE CODE id-sNGRANnodeAdditionPreparation
+ CRITICALITY reject
+}
+
+
+sNGRANnodeReconfigurationCompletion XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeReconfigurationComplete
+ PROCEDURE CODE id-sNGRANnodeReconfigurationCompletion
+ CRITICALITY reject
+}
+
+
+mNGRANnodeinitiatedSNGRANnodeModificationPreparation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeModificationRequest
+ SUCCESSFUL OUTCOME SNodeModificationRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SNodeModificationRequestReject
+ PROCEDURE CODE id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation
+ CRITICALITY reject
+}
+
+
+sNGRANnodeinitiatedSNGRANnodeModificationPreparation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeModificationRequired
+ SUCCESSFUL OUTCOME SNodeModificationConfirm
+ UNSUCCESSFUL OUTCOME SNodeModificationRefuse
+ PROCEDURE CODE id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation
+ CRITICALITY reject
+}
+
+
+mNGRANnodeinitiatedSNGRANnodeRelease XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeReleaseRequest
+ SUCCESSFUL OUTCOME SNodeReleaseRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SNodeReleaseReject
+ PROCEDURE CODE id-mNGRANnodeinitiatedSNGRANnodeRelease
+ CRITICALITY reject
+}
+
+
+sNGRANnodeinitiatedSNGRANnodeRelease XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeReleaseRequired
+ SUCCESSFUL OUTCOME SNodeReleaseConfirm
+ PROCEDURE CODE id-sNGRANnodeinitiatedSNGRANnodeRelease
+ CRITICALITY reject
+}
+
+
+sNGRANnodeCounterCheck XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeCounterCheckRequest
+ PROCEDURE CODE id-sNGRANnodeCounterCheck
+ CRITICALITY reject
+}
+
+
+sNGRANnodeChange XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeChangeRequired
+ SUCCESSFUL OUTCOME SNodeChangeConfirm
+ UNSUCCESSFUL OUTCOME SNodeChangeRefuse
+ PROCEDURE CODE id-sNGRANnodeChange
+ CRITICALITY reject
+}
+
+
+rRCTransfer XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RRCTransfer
+ PROCEDURE CODE id-rRCTransfer
+ CRITICALITY reject
+}
+
+
+xnRemoval XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE XnRemovalRequest
+ SUCCESSFUL OUTCOME XnRemovalResponse
+ UNSUCCESSFUL OUTCOME XnRemovalFailure
+ PROCEDURE CODE id-xnRemoval
+ CRITICALITY reject
+}
+
+
+xnSetup XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE XnSetupRequest
+ SUCCESSFUL OUTCOME XnSetupResponse
+ UNSUCCESSFUL OUTCOME XnSetupFailure
+ PROCEDURE CODE id-xnSetup
+ CRITICALITY reject
+}
+
+
+nGRANnodeConfigurationUpdate XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE NGRANNodeConfigurationUpdate
+ SUCCESSFUL OUTCOME NGRANNodeConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME NGRANNodeConfigurationUpdateFailure
+ PROCEDURE CODE id-nGRANnodeConfigurationUpdate
+ CRITICALITY reject
+}
+
+partialUEContextTransfer XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PartialUEContextTransfer
+ SUCCESSFUL OUTCOME PartialUEContextTransferAcknowledge
+ UNSUCCESSFUL OUTCOME PartialUEContextTransferFailure
+ PROCEDURE CODE id-partialUEContextTransfer
+ CRITICALITY reject
+}
+
+e-UTRA-NR-CellResourceCoordination XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE E-UTRA-NR-CellResourceCoordinationRequest
+ SUCCESSFUL OUTCOME E-UTRA-NR-CellResourceCoordinationResponse
+ PROCEDURE CODE id-e-UTRA-NR-CellResourceCoordination
+ CRITICALITY reject
+}
+
+
+cellActivation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellActivationRequest
+ SUCCESSFUL OUTCOME CellActivationResponse
+ UNSUCCESSFUL OUTCOME CellActivationFailure
+ PROCEDURE CODE id-cellActivation
+ CRITICALITY reject
+}
+
+
+reset XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResetRequest
+ SUCCESSFUL OUTCOME ResetResponse
+ PROCEDURE CODE id-reset
+ CRITICALITY reject
+}
+
+
+errorIndication XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-errorIndication
+ CRITICALITY ignore
+}
+
+
+notificationControl XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE NotificationControlIndication
+ PROCEDURE CODE id-notificationControl
+ CRITICALITY ignore
+}
+
+
+activityNotification XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ActivityNotification
+ PROCEDURE CODE id-activityNotification
+ CRITICALITY ignore
+}
+
+
+privateMessage XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+secondaryRATDataUsageReport XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SecondaryRATDataUsageReport
+ PROCEDURE CODE id-secondaryRATDataUsageReport
+ CRITICALITY reject
+}
+
+deactivateTrace XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DeactivateTrace
+ PROCEDURE CODE id-deactivateTrace
+ CRITICALITY ignore
+}
+
+traceStart XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE TraceStart
+ PROCEDURE CODE id-traceStart
+ CRITICALITY ignore
+}
+
+handoverSuccess XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverSuccess
+ PROCEDURE CODE id-handoverSuccess
+ CRITICALITY ignore
+}
+
+conditionalHandoverCancel XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ConditionalHandoverCancel
+ PROCEDURE CODE id-conditionalHandoverCancel
+ CRITICALITY ignore
+}
+
+earlyStatusTransfer XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE EarlyStatusTransfer
+ PROCEDURE CODE id-earlyStatusTransfer
+ CRITICALITY ignore
+}
+
+failureIndication XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE FailureIndication
+ PROCEDURE CODE id-failureIndication
+ CRITICALITY ignore
+}
+
+handoverReport XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverReport
+ PROCEDURE CODE id-handoverReport
+ CRITICALITY ignore
+}
+
+resourceStatusReportingInitiation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResourceStatusRequest
+ SUCCESSFUL OUTCOME ResourceStatusResponse
+ UNSUCCESSFUL OUTCOME ResourceStatusFailure
+ PROCEDURE CODE id-resourceStatusReportingInitiation
+ CRITICALITY reject
+}
+
+resourceStatusReporting XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResourceStatusUpdate
+ PROCEDURE CODE id-resourceStatusReporting
+ CRITICALITY ignore
+}
+
+mobilitySettingsChange XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MobilityChangeRequest
+ SUCCESSFUL OUTCOME MobilityChangeAcknowledge
+ UNSUCCESSFUL OUTCOME MobilityChangeFailure
+ PROCEDURE CODE id-mobilitySettingsChange
+ CRITICALITY reject
+}
+
+
+accessAndMobilityIndication XNAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE AccessAndMobilityIndication
+ PROCEDURE CODE id-accessAndMobilityIndication
+ CRITICALITY ignore
+}
+
+cellTrafficTrace XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellTrafficTrace
+ PROCEDURE CODE id-cellTrafficTrace
+ CRITICALITY ignore
+}
+
+rANMulticastGroupPaging XNAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE RANMulticastGroupPaging
+ PROCEDURE CODE id-RANMulticastGroupPaging
+ CRITICALITY reject
+}
+
+scgFailureInformationReport XNAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE ScgFailureInformationReport
+ PROCEDURE CODE id-scgFailureInformationReport
+ CRITICALITY ignore
+}
+
+scgFailureTransfer XNAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE ScgFailureTransfer
+ PROCEDURE CODE id-scgFailureTransfer
+ CRITICALITY ignore
+}
+
+f1CTrafficTransfer XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE F1CTrafficTransfer
+ PROCEDURE CODE id-f1CTrafficTransfer
+ CRITICALITY reject
+}
+
+iABTransportMigrationManagement XNAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE IABTransportMigrationManagementRequest
+ SUCCESSFUL OUTCOME IABTransportMigrationManagementResponse
+ UNSUCCESSFUL OUTCOME IABTransportMigrationManagementReject
+ PROCEDURE CODE id-iABTransportMigrationManagement
+ CRITICALITY reject
+}
+
+iABTransportMigrationModification XNAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE IABTransportMigrationModificationRequest
+ SUCCESSFUL OUTCOME IABTransportMigrationModificationResponse
+ PROCEDURE CODE id-iABTransportMigrationModification
+ CRITICALITY reject
+}
+
+iABResourceCoordination XNAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE IABResourceCoordinationRequest
+ SUCCESSFUL OUTCOME IABResourceCoordinationResponse
+ PROCEDURE CODE id-iABResourceCoordination
+ CRITICALITY reject
+}
+
+retrieveUEContextConfirm XNAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE RetrieveUEContextConfirm
+ PROCEDURE CODE id-retrieveUEContextConfirm
+ CRITICALITY ignore
+}
+
+cPCCancel XNAP-ELEMENTARY-PROCEDURE ::={
+ INITIATING MESSAGE CPCCancel
+ PROCEDURE CODE id-cPCCancel
+ CRITICALITY ignore
+}
+
+
+END
diff --git a/epan/dissectors/asn1/xnap/packet-xnap-template.c b/epan/dissectors/asn1/xnap/packet-xnap-template.c
new file mode 100644
index 00000000..5249e74b
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/packet-xnap-template.c
@@ -0,0 +1,574 @@
+/* packet-xnap.c
+ * Routines for dissecting NG-RAN Xn application protocol (XnAP)
+ * 3GPP TS 38.423 packet dissection
+ * Copyright 2018-2023, Pascal Quantin <pascal@wireshark.org>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref:
+ * 3GPP TS 38.423 V17.5.0 (2023-06)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/sctpppids.h>
+#include <epan/proto_data.h>
+#include <epan/conversation.h>
+
+#include "packet-xnap.h"
+#include "packet-per.h"
+#include "packet-lte-rrc.h"
+#include "packet-nr-rrc.h"
+#include "packet-e212.h"
+#include "packet-ngap.h"
+#include "packet-s1ap.h"
+#include "packet-ranap.h"
+#include "packet-ntp.h"
+#include "packet-f1ap.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "NG-RAN Xn Application Protocol (XnAP)"
+#define PSNAME "XnAP"
+#define PFNAME "xnap"
+
+/* Dissector will use SCTP PPID 61 or SCTP port. IANA assigned port = 38422 */
+#define SCTP_PORT_XnAP 38422
+
+#include "packet-xnap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_xnap = -1;
+static int hf_xnap_transportLayerAddressIPv4 = -1;
+static int hf_xnap_transportLayerAddressIPv6 = -1;
+static int hf_xnap_NG_RANTraceID_TraceID = -1;
+static int hf_xnap_NG_RANTraceID_TraceRecordingSessionReference = -1;
+static int hf_xnap_primaryRATRestriction_e_UTRA = -1;
+static int hf_xnap_primaryRATRestriction_nR = -1;
+static int hf_xnap_primaryRATRestriction_nR_unlicensed = -1;
+static int hf_xnap_primaryRATRestriction_nR_LEO = -1;
+static int hf_xnap_primaryRATRestriction_nR_MEO = -1;
+static int hf_xnap_primaryRATRestriction_nR_GEO = -1;
+static int hf_xnap_primaryRATRestriction_nR_OTHERSAT = -1;
+static int hf_xnap_primaryRATRestriction_reserved = -1;
+static int hf_xnap_secondaryRATRestriction_e_UTRA = -1;
+static int hf_xnap_secondaryRATRestriction_nR = -1;
+static int hf_xnap_secondaryRATRestriction_e_UTRA_unlicensed = -1;
+static int hf_xnap_secondaryRATRestriction_nR_unlicensed = -1;
+static int hf_xnap_secondaryRATRestriction_reserved = -1;
+static int hf_xnap_MDT_Location_Info_GNSS = -1;
+static int hf_xnap_MDT_Location_Info_reserved = -1;
+static int hf_xnap_MeasurementsToActivate_M1 = -1;
+static int hf_xnap_MeasurementsToActivate_M2 = -1;
+static int hf_xnap_MeasurementsToActivate_M3 = -1;
+static int hf_xnap_MeasurementsToActivate_M4 = -1;
+static int hf_xnap_MeasurementsToActivate_M5 = -1;
+static int hf_xnap_MeasurementsToActivate_LoggingM1FromEventTriggered = -1;
+static int hf_xnap_MeasurementsToActivate_M6 = -1;
+static int hf_xnap_MeasurementsToActivate_M7 = -1;
+static int hf_xnap_ReportCharacteristics_PRBPeriodic = -1;
+static int hf_xnap_ReportCharacteristics_TNLCapacityIndPeriodic = -1;
+static int hf_xnap_ReportCharacteristics_CompositeAvailableCapacityPeriodic = -1;
+static int hf_xnap_ReportCharacteristics_NumberOfActiveUEs = -1;
+static int hf_xnap_ReportCharacteristics_Reserved = -1;
+#include "packet-xnap-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_xnap = -1;
+static gint ett_xnap_RRC_Context = -1;
+static gint ett_nxap_container = -1;
+static gint ett_xnap_PLMN_Identity = -1;
+static gint ett_xnap_measurementTimingConfiguration = -1;
+static gint ett_xnap_TransportLayerAddress = -1;
+static gint ett_xnap_NG_RANTraceID = -1;
+static gint ett_xnap_LastVisitedEUTRANCellInformation = -1;
+static gint ett_xnap_LastVisitedNGRANCellInformation = -1;
+static gint ett_xnap_LastVisitedUTRANCellInformation = -1;
+static gint ett_xnap_LastVisitedGERANCellInformation = -1;
+static gint ett_xnap_UERadioCapabilityForPagingOfNR = -1;
+static gint ett_xnap_UERadioCapabilityForPagingOfEUTRA = -1;
+static gint ett_xnap_FiveGCMobilityRestrictionListContainer = -1;
+static gint ett_xnap_primaryRATRestriction = -1;
+static gint ett_xnap_secondaryRATRestriction = -1;
+static gint ett_xnap_ImmediateMDT_EUTRA = -1;
+static gint ett_xnap_MDT_Location_Info = -1;
+static gint ett_xnap_MeasurementsToActivate = -1;
+static gint ett_xnap_NRMobilityHistoryReport = -1;
+static gint ett_xnap_RACHReportContainer = -1;
+static gint ett_xnap_TargetCellinEUTRAN = -1;
+static gint ett_xnap_TDDULDLConfigurationCommonNR = -1;
+static gint ett_xnap_UERLFReportContainerLTE = -1;
+static gint ett_xnap_UERLFReportContainerNR = -1;
+static gint ett_xnap_burstArrivalTime = -1;
+static gint ett_xnap_ReportCharacteristics = -1;
+static gint ett_xnap_NRCellPRACHConfig = -1;
+static gint ett_xnap_anchorCarrier_NPRACHConfig = -1;
+static gint ett_xnap_anchorCarrier_EDT_NPRACHConfig = -1;
+static gint ett_xnap_anchorCarrier_Format2_NPRACHConfig = -1;
+static gint ett_xnap_anchorCarrier_Format2_EDT_NPRACHConfig = -1;
+static gint ett_xnap_non_anchorCarrier_NPRACHConfig = -1;
+static gint ett_xnap_non_anchorCarrier_Format2_NPRACHConfig = -1;
+static gint ett_xnap_anchorCarrier_NPRACHConfigTDD = -1;
+static gint ett_xnap_non_anchorCarrier_NPRACHConfigTDD = -1;
+static gint ett_xnap_non_anchorCarrierFrequency = -1;
+static gint ett_xnap_cSI_RS_Configuration = -1;
+static gint ett_xnap_sR_Configuration = -1;
+static gint ett_xnap_pDCCH_ConfigSIB1 = -1;
+static gint ett_xnap_sCS_Common = -1;
+static gint ett_xnap_LastVisitedPSCellInformation = -1;
+static gint ett_xnap_MeasObjectContainer = -1;
+static gint ett_xnap_RACH_Config_Common = -1;
+static gint ett_xnap_RACH_Config_Common_IAB = -1;
+static gint ett_xnap_ReportConfigContainer = -1;
+static gint ett_xnap_RLC_Bearer_Configuration = -1;
+static gint ett_xnap_SuccessfulHOReportContainer = -1;
+static gint ett_xnap_UERLFReportContainerLTEExtendBand = -1;
+static gint ett_xnap_MDTMode_EUTRA = -1;
+#include "packet-xnap-ett.c"
+
+enum {
+ XNAP_NG_RAN_CONTAINER_AUTOMATIC,
+ XNAP_NG_RAN_CONTAINER_GNB,
+ XNAP_NG_RAN_CONTAINER_NG_ENB
+};
+
+static const enum_val_t xnap_target_ng_ran_container_vals[] = {
+ {"automatic", "automatic", XNAP_NG_RAN_CONTAINER_AUTOMATIC},
+ {"gnb", "gNB", XNAP_NG_RAN_CONTAINER_GNB},
+ {"ng-enb","ng-eNB", XNAP_NG_RAN_CONTAINER_NG_ENB},
+ {NULL, NULL, -1}
+};
+
+enum {
+ XNAP_LTE_RRC_CONTEXT_LTE,
+ XNAP_LTE_RRC_CONTEXT_NBIOT
+};
+
+static const enum_val_t xnap_lte_rrc_context_vals[] = {
+ {"lte", "LTE", XNAP_LTE_RRC_CONTEXT_LTE},
+ {"nb-iot","NB-IoT", XNAP_LTE_RRC_CONTEXT_NBIOT},
+ {NULL, NULL, -1}
+};
+
+/* Global variables */
+static gint xnap_dissect_target_ng_ran_container_as = XNAP_NG_RAN_CONTAINER_AUTOMATIC;
+static gint xnap_dissect_lte_rrc_context_as = XNAP_LTE_RRC_CONTEXT_LTE;
+
+/* Dissector tables */
+static dissector_table_t xnap_ies_dissector_table;
+static dissector_table_t xnap_extension_dissector_table;
+static dissector_table_t xnap_proc_imsg_dissector_table;
+static dissector_table_t xnap_proc_sout_dissector_table;
+static dissector_table_t xnap_proc_uout_dissector_table;
+
+void proto_register_xnap(void);
+void proto_reg_handoff_xnap(void);
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_XnAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static dissector_handle_t xnap_handle;
+
+static void
+xnap_PacketLossRate_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1f%% (%u)", (float)v/10, v);
+}
+
+static void
+xnap_PacketDelayBudget_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v);
+}
+
+static void
+xnap_ExtendedPacketDelayBudget_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.2fms (%u)", (float)v/100, v);
+}
+
+static void
+xnap_handoverTriggerChange_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%d)", ((float)v)/2, (gint32)v);
+}
+
+static void
+xnap_Threshold_RSRP_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", (gint32)v-156, v);
+}
+
+static void
+xnap_Threshold_RSRQ_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-43, v);
+}
+
+static void
+xnap_Threshold_SINR_fmt(gchar *s, guint32 v)
+{
+ snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-23, v);
+}
+
+static const true_false_string xnap_tfs_activate_do_not_activate = {
+ "Activate",
+ "Do not activate"
+};
+
+typedef enum {
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+} xnap_message_type;
+
+struct xnap_conv_info {
+ address addr_a;
+ guint32 port_a;
+ GlobalNG_RANNode_ID_enum ranmode_id_a;
+ address addr_b;
+ guint32 port_b;
+ GlobalNG_RANNode_ID_enum ranmode_id_b;
+};
+
+struct xnap_private_data {
+ struct xnap_conv_info *xnap_conv;
+ xnap_message_type message_type;
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ e212_number_type_t number_type;
+};
+
+static struct xnap_private_data*
+xnap_get_private_data(packet_info *pinfo)
+{
+ struct xnap_private_data *xnap_data = (struct xnap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_xnap, 0);
+ if (!xnap_data) {
+ xnap_data = wmem_new0(pinfo->pool, struct xnap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_xnap, 0, xnap_data);
+ }
+ return xnap_data;
+}
+
+static GlobalNG_RANNode_ID_enum
+xnap_get_ranmode_id(address *addr, guint32 port, packet_info *pinfo)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+ GlobalNG_RANNode_ID_enum ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
+
+ if (xnap_data->xnap_conv) {
+ if (addresses_equal(addr, &xnap_data->xnap_conv->addr_a) && port == xnap_data->xnap_conv->port_a) {
+ ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
+ } else if (addresses_equal(addr, &xnap_data->xnap_conv->addr_b) && port == xnap_data->xnap_conv->port_b) {
+ ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
+ }
+ }
+ return ranmode_id;
+}
+
+#include "packet-xnap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_ies_dissector_table, xnap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_extension_dissector_table, xnap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_proc_imsg_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_proc_sout_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_proc_uout_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_xnap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_item *xnap_item;
+ proto_tree *xnap_tree;
+ conversation_t *conversation;
+ struct xnap_private_data* xnap_data;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "XnAP");
+ col_clear_fence(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ xnap_item = proto_tree_add_item(tree, proto_xnap, tvb, 0, -1, ENC_NA);
+ xnap_tree = proto_item_add_subtree(xnap_item, ett_xnap);
+
+ xnap_data = xnap_get_private_data(pinfo);
+ conversation = find_or_create_conversation(pinfo);
+ xnap_data->xnap_conv = (struct xnap_conv_info *)conversation_get_proto_data(conversation, proto_xnap);
+ if (!xnap_data->xnap_conv) {
+ xnap_data->xnap_conv = wmem_new0(wmem_file_scope(), struct xnap_conv_info);
+ copy_address_wmem(wmem_file_scope(), &xnap_data->xnap_conv->addr_a, &pinfo->src);
+ xnap_data->xnap_conv->port_a = pinfo->srcport;
+ xnap_data->xnap_conv->ranmode_id_a = (GlobalNG_RANNode_ID_enum)-1;
+ copy_address_wmem(wmem_file_scope(), &xnap_data->xnap_conv->addr_b, &pinfo->dst);
+ xnap_data->xnap_conv->port_b = pinfo->destport;
+ xnap_data->xnap_conv->ranmode_id_b = (GlobalNG_RANNode_ID_enum)-1;
+ conversation_add_proto_data(conversation, proto_xnap, xnap_data->xnap_conv);
+ }
+
+ return dissect_XnAP_PDU_PDU(tvb, pinfo, xnap_tree, data);
+}
+
+void proto_register_xnap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_xnap_transportLayerAddressIPv4,
+ { "TransportLayerAddress (IPv4)", "xnap.TransportLayerAddressIPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_transportLayerAddressIPv6,
+ { "TransportLayerAddress (IPv6)", "xnap.TransportLayerAddressIPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_NG_RANTraceID_TraceID,
+ { "TraceID", "xnap.NG_RANTraceID.TraceID",
+ FT_UINT24, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_NG_RANTraceID_TraceRecordingSessionReference,
+ { "TraceRecordingSessionReference", "xnap.NG_RANTraceID.TraceRecordingSessionReference",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_primaryRATRestriction_e_UTRA,
+ { "e-UTRA", "xnap.primaryRATRestriction.e_UTRA",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
+ NULL, HFILL }},
+ { &hf_xnap_primaryRATRestriction_nR,
+ { "nR", "xnap.primaryRATRestriction.nR",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
+ NULL, HFILL }},
+ { &hf_xnap_primaryRATRestriction_nR_unlicensed,
+ { "nR-unlicensed", "xnap.primaryRATRestriction.nR_unlicensed",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
+ NULL, HFILL }},
+ { &hf_xnap_primaryRATRestriction_nR_LEO,
+ { "nR-LEO", "xnap.primaryRATRestriction.nR_LEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x10,
+ NULL, HFILL }},
+ { &hf_xnap_primaryRATRestriction_nR_MEO,
+ { "nR-MEO", "xnap.primaryRATRestriction.nR_MEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x08,
+ NULL, HFILL }},
+ { &hf_xnap_primaryRATRestriction_nR_GEO,
+ { "nR-GEO", "xnap.primaryRATRestriction.nR_GEO",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x04,
+ NULL, HFILL }},
+ { &hf_xnap_primaryRATRestriction_nR_OTHERSAT,
+ { "nR-unlicensed", "xnap.primaryRATRestriction.nR_unlicensed",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x02,
+ NULL, HFILL }},
+ { &hf_xnap_primaryRATRestriction_reserved,
+ { "reserved", "xnap.primaryRATRestriction.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x01,
+ NULL, HFILL }},
+ { &hf_xnap_secondaryRATRestriction_e_UTRA,
+ { "e-UTRA", "xnap.secondaryRATRestriction.e_UTRA",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
+ NULL, HFILL }},
+ { &hf_xnap_secondaryRATRestriction_nR,
+ { "nR", "xnap.secondaryRATRestriction.nR",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
+ NULL, HFILL }},
+ { &hf_xnap_secondaryRATRestriction_e_UTRA_unlicensed,
+ { "e-UTRA-unlicensed", "xnap.secondaryRATRestriction.e_UTRA_unlicensed",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
+ NULL, HFILL }},
+ { &hf_xnap_secondaryRATRestriction_nR_unlicensed,
+ { "nR-unlicensed", "xnap.secondaryRATRestriction.nR_unlicensed",
+ FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x10,
+ NULL, HFILL }},
+ { &hf_xnap_secondaryRATRestriction_reserved,
+ { "reserved", "xnap.secondaryRATRestriction.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x0f,
+ NULL, HFILL }},
+ { &hf_xnap_MDT_Location_Info_GNSS,
+ { "GNSS", "xnap.MDT_Location_Info.GNSS",
+ FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x80,
+ NULL, HFILL }},
+ { &hf_xnap_MDT_Location_Info_reserved,
+ { "Reserved", "xnap.MDT_Location_Info.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x7f,
+ NULL, HFILL }},
+ { &hf_xnap_MeasurementsToActivate_M1,
+ { "M1", "xnap.MeasurementsToActivate.M1",
+ FT_BOOLEAN, 8, TFS(&xnap_tfs_activate_do_not_activate), 0x80,
+ NULL, HFILL }},
+ { &hf_xnap_MeasurementsToActivate_M2,
+ { "M2", "xnap.MeasurementsToActivate.M2",
+ FT_BOOLEAN, 8, TFS(&xnap_tfs_activate_do_not_activate), 0x40,
+ NULL, HFILL }},
+ { &hf_xnap_MeasurementsToActivate_M3,
+ { "M3", "xnap.MeasurementsToActivate.M3",
+ FT_BOOLEAN, 8, TFS(&xnap_tfs_activate_do_not_activate), 0x20,
+ NULL, HFILL }},
+ { &hf_xnap_MeasurementsToActivate_M4,
+ { "M4", "xnap.MeasurementsToActivate.M4",
+ FT_BOOLEAN, 8, TFS(&xnap_tfs_activate_do_not_activate), 0x10,
+ NULL, HFILL }},
+ { &hf_xnap_MeasurementsToActivate_M5,
+ { "M5", "xnap.MeasurementsToActivate.M5",
+ FT_BOOLEAN, 8, TFS(&xnap_tfs_activate_do_not_activate), 0x08,
+ NULL, HFILL }},
+ { &hf_xnap_MeasurementsToActivate_LoggingM1FromEventTriggered,
+ { "LoggingOfM1FromEventTriggeredMeasurementReports", "xnap.MeasurementsToActivate.LoggingM1FromEventTriggered",
+ FT_BOOLEAN, 8, TFS(&xnap_tfs_activate_do_not_activate), 0x04,
+ NULL, HFILL }},
+ { &hf_xnap_MeasurementsToActivate_M6,
+ { "M6", "xnap.MeasurementsToActivate.M6",
+ FT_BOOLEAN, 8, TFS(&xnap_tfs_activate_do_not_activate), 0x02,
+ NULL, HFILL }},
+ { &hf_xnap_MeasurementsToActivate_M7,
+ { "M7", "xnap.MeasurementsToActivate.M7",
+ FT_BOOLEAN, 8, TFS(&xnap_tfs_activate_do_not_activate), 0x01,
+ NULL, HFILL }},
+ { &hf_xnap_ReportCharacteristics_PRBPeriodic,
+ { "PRBPeriodic", "xnap.ReportCharacteristics.PRBPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000,
+ NULL, HFILL }},
+ { &hf_xnap_ReportCharacteristics_TNLCapacityIndPeriodic,
+ { "TNLCapacityIndPeriodic", "xnap.ReportCharacteristics.TNLCapacityIndPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000,
+ NULL, HFILL }},
+ { &hf_xnap_ReportCharacteristics_CompositeAvailableCapacityPeriodic,
+ { "CompositeAvailableCapacityPeriodic", "xnap.ReportCharacteristics.CompositeAvailableCapacityPeriodic",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000,
+ NULL, HFILL }},
+ { &hf_xnap_ReportCharacteristics_NumberOfActiveUEs,
+ { "NumberOfActiveUEs", "xnap.ReportCharacteristics.NumberOfActiveUEs",
+ FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000,
+ NULL, HFILL }},
+ { &hf_xnap_ReportCharacteristics_Reserved,
+ { "Reserved", "xnap.ReportCharacteristics.Reserved",
+ FT_UINT32, BASE_HEX, NULL, 0x0fffffff,
+ NULL, HFILL }},
+#include "packet-xnap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_xnap,
+ &ett_xnap_RRC_Context,
+ &ett_nxap_container,
+ &ett_xnap_PLMN_Identity,
+ &ett_xnap_measurementTimingConfiguration,
+ &ett_xnap_TransportLayerAddress,
+ &ett_xnap_NG_RANTraceID,
+ &ett_xnap_LastVisitedEUTRANCellInformation,
+ &ett_xnap_LastVisitedNGRANCellInformation,
+ &ett_xnap_LastVisitedUTRANCellInformation,
+ &ett_xnap_LastVisitedGERANCellInformation,
+ &ett_xnap_UERadioCapabilityForPagingOfNR,
+ &ett_xnap_UERadioCapabilityForPagingOfEUTRA,
+ &ett_xnap_FiveGCMobilityRestrictionListContainer,
+ &ett_xnap_primaryRATRestriction,
+ &ett_xnap_secondaryRATRestriction,
+ &ett_xnap_ImmediateMDT_EUTRA,
+ &ett_xnap_MDT_Location_Info,
+ &ett_xnap_MeasurementsToActivate,
+ &ett_xnap_NRMobilityHistoryReport,
+ &ett_xnap_RACHReportContainer,
+ &ett_xnap_TargetCellinEUTRAN,
+ &ett_xnap_TDDULDLConfigurationCommonNR,
+ &ett_xnap_UERLFReportContainerLTE,
+ &ett_xnap_UERLFReportContainerNR,
+ &ett_xnap_burstArrivalTime,
+ &ett_xnap_ReportCharacteristics,
+ &ett_xnap_NRCellPRACHConfig,
+ &ett_xnap_anchorCarrier_NPRACHConfig,
+ &ett_xnap_anchorCarrier_EDT_NPRACHConfig,
+ &ett_xnap_anchorCarrier_Format2_NPRACHConfig,
+ &ett_xnap_anchorCarrier_Format2_EDT_NPRACHConfig,
+ &ett_xnap_non_anchorCarrier_NPRACHConfig,
+ &ett_xnap_non_anchorCarrier_Format2_NPRACHConfig,
+ &ett_xnap_anchorCarrier_NPRACHConfigTDD,
+ &ett_xnap_non_anchorCarrier_NPRACHConfigTDD,
+ &ett_xnap_non_anchorCarrierFrequency,
+ &ett_xnap_cSI_RS_Configuration,
+ &ett_xnap_sR_Configuration,
+ &ett_xnap_pDCCH_ConfigSIB1,
+ &ett_xnap_sCS_Common,
+ &ett_xnap_LastVisitedPSCellInformation,
+ &ett_xnap_MeasObjectContainer,
+ &ett_xnap_RACH_Config_Common,
+ &ett_xnap_RACH_Config_Common_IAB,
+ &ett_xnap_ReportConfigContainer,
+ &ett_xnap_RLC_Bearer_Configuration,
+ &ett_xnap_SuccessfulHOReportContainer,
+ &ett_xnap_UERLFReportContainerLTEExtendBand,
+ &ett_xnap_MDTMode_EUTRA,
+#include "packet-xnap-ettarr.c"
+ };
+
+ module_t *xnap_module;
+
+ proto_xnap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ proto_register_field_array(proto_xnap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ xnap_handle = register_dissector("xnap", dissect_xnap, proto_xnap);
+
+ xnap_ies_dissector_table = register_dissector_table("xnap.ies", "XNAP-PROTOCOL-IES", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_extension_dissector_table = register_dissector_table("xnap.extension", "XNAP-PROTOCOL-EXTENSION", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_proc_imsg_dissector_table = register_dissector_table("xnap.proc.imsg", "XNAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_proc_sout_dissector_table = register_dissector_table("xnap.proc.sout", "XNAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_proc_uout_dissector_table = register_dissector_table("xnap.proc.uout", "XNAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_xnap, FT_UINT32, BASE_DEC);
+
+ xnap_module = prefs_register_protocol(proto_xnap, NULL);
+
+ prefs_register_enum_preference(xnap_module, "dissect_target_ng_ran_container_as", "Dissect target NG-RAN container as",
+ "Select whether target NG-RAN container should be decoded automatically"
+ " (based on Xn Setup procedure) or manually",
+ &xnap_dissect_target_ng_ran_container_as, xnap_target_ng_ran_container_vals, FALSE);
+ prefs_register_enum_preference(xnap_module, "dissect_lte_rrc_context_as", "Dissect LTE RRC Context as",
+ "Select whether LTE RRC Context should be dissected as legacy LTE or NB-IOT",
+ &xnap_dissect_lte_rrc_context_as, xnap_lte_rrc_context_vals, FALSE);
+}
+
+
+void
+proto_reg_handoff_xnap(void)
+{
+ dissector_add_uint_with_preference("sctp.port", SCTP_PORT_XnAP, xnap_handle);
+ dissector_add_uint("sctp.ppi", XNAP_PROTOCOL_ID, xnap_handle);
+#include "packet-xnap-dis-tab.c"
+}
diff --git a/epan/dissectors/asn1/xnap/packet-xnap-template.h b/epan/dissectors/asn1/xnap/packet-xnap-template.h
new file mode 100644
index 00000000..ada15145
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/packet-xnap-template.h
@@ -0,0 +1,29 @@
+/* packet-xnap.h
+ * Routines for dissecting NG-RAN Xn application protocol (XnAP)
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef PACKET_XnAP_H
+#define PACKET_XnAP_H
+
+#include "packet-xnap-exp.h"
+
+#endif /* PACKET_XnAP_H */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 2
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=2 tabstop=8 expandtab:
+ * :indentSize=2:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/xnap/xnap.cnf b/epan/dissectors/asn1/xnap/xnap.cnf
new file mode 100644
index 00000000..cc3b855f
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/xnap.cnf
@@ -0,0 +1,2044 @@
+# xnap.cnf
+# xnap conformation file
+# Copyright 2018-2023 Pascal Quantin
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.MAKE_ENUM
+GlobalNG-RANNode-ID TYPE_PREFIX
+ProtocolIE-ID
+ProcedureCode
+
+#.USE_VALS_EXT
+CauseRadioNetworkLayer
+NRNRB
+ProcedureCode
+ProtocolIE-ID
+
+#.EXPORTS
+IntendedTDD-DL-ULConfiguration-NR_PDU
+
+#.PDU
+IntendedTDD-DL-ULConfiguration-NR
+XnAP-PDU
+
+#.TYPE_RENAME
+ProtocolIE-Field/value ProtocolIE_Field_value
+PrivateIE-Field/value PrivateIE_Field_value
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+ProtocolExtensionField/id extension_id
+PrivateIE-Field/id private_id
+InitiatingMessage/value initiatingMessage_value
+
+ProtocolIE-Field/value protocolIE_Field_value
+SuccessfulOutcome/value successfulOutcome_value
+PrivateIE-Field/value privateIE_Field_value
+
+#.OMIT_ASSIGNMENT
+Presence
+ProtocolIE-FieldPair
+ProtocolIE-ContainerList
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+#.END
+
+#.FN_BODY ProtocolIE-ID VAL_PTR = &xnap_data->protocol_ie_id
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(xnap_data->protocol_ie_id, &xnap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_BODY ProcedureCode VAL_PTR = &xnap_data->procedure_code
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->message_type = INITIATING_MESSAGE;
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->message_type = SUCCESSFUL_OUTCOME;
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->message_type = UNSUCCESSFUL_OUTCOME;
+
+#.TYPE_ATTR
+ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &xnap_ProtocolIE_ID_vals_ext
+#.END
+
+#.FN_BODY GlobalNG-RANNode-ID VAL_PTR = &value
+ gint value;
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+
+%(DEFAULT_BODY)s
+ if (xnap_data->xnap_conv && xnap_data->procedure_code == id_xnSetup) {
+ if (addresses_equal(&actx->pinfo->src, &xnap_data->xnap_conv->addr_a) &&
+ actx->pinfo->srcport == xnap_data->xnap_conv->port_a) {
+ xnap_data->xnap_conv->ranmode_id_a = (GlobalNG_RANNode_ID_enum)value;
+ } else if (addresses_equal(&actx->pinfo->src, &xnap_data->xnap_conv->addr_b) &&
+ actx->pinfo->srcport == xnap_data->xnap_conv->port_b) {
+ xnap_data->xnap_conv->ranmode_id_b = (GlobalNG_RANNode_ID_enum)value;
+ }
+ }
+
+#.FN_BODY UEContextInfoHORequest/rrc-Context VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum target_ranmode_id = xnap_get_ranmode_id(&actx->pinfo->dst, actx->pinfo->destport, actx->pinfo);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RRC_Context);
+ if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ target_ranmode_id == GlobalNG_RANNode_ID_gNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_GNB)) {
+ dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_NG_ENB)) {
+ if (xnap_dissect_lte_rrc_context_as == XNAP_LTE_RRC_CONTEXT_NBIOT) {
+ dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else {
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+ }
+
+#.FN_BODY Target2SourceNG-RANnodeTranspContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum source_ranmode_id = xnap_get_ranmode_id(&actx->pinfo->src, actx->pinfo->srcport, actx->pinfo);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nxap_container);
+ if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ source_ranmode_id == GlobalNG_RANNode_ID_gNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_GNB)) {
+ dissect_nr_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ source_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_NG_ENB)) {
+ dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+#.FN_BODY MN-to-SN-Container VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ GlobalNG_RANNode_ID_enum target_ranmode_id = xnap_get_ranmode_id(&actx->pinfo->dst, actx->pinfo->destport, actx->pinfo);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nxap_container);
+ if ((xnap_data->procedure_code == id_sNGRANnodeAdditionPreparation &&
+ xnap_data->message_type == INITIATING_MESSAGE) ||
+ (xnap_data->procedure_code == id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation &&
+ xnap_data->message_type == INITIATING_MESSAGE) ||
+ (xnap_data->procedure_code == id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation &&
+ xnap_data->message_type == UNSUCCESSFUL_OUTCOME) ||
+ (xnap_data->procedure_code == id_mNGRANnodeinitiatedSNGRANnodeRelease &&
+ xnap_data->message_type == INITIATING_MESSAGE)) {
+ dissect_nr_rrc_CG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (xnap_data->procedure_code == id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation &&
+ xnap_data->message_type == SUCCESSFUL_OUTCOME) {
+ if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ target_ranmode_id == GlobalNG_RANNode_ID_gNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_GNB)) {
+ dissect_nr_rrc_RRCReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_NG_ENB)) {
+ dissect_lte_rrc_RRCConnectionReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ } else if (xnap_data->procedure_code == id_sNGRANnodeChange &&
+ xnap_data->message_type == SUCCESSFUL_OUTCOME) {
+ dissect_nr_rrc_RRCReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+#.FN_BODY SN-to-MN-Container VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nxap_container);
+ dissect_nr_rrc_CG_Config_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Configuration-successfully-applied/m-NG-RANNode-to-S-NG-RANNode-Container VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum target_ranmode_id = xnap_get_ranmode_id(&actx->pinfo->dst, actx->pinfo->destport, actx->pinfo);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nxap_container);
+ if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ target_ranmode_id == GlobalNG_RANNode_ID_gNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_GNB)) {
+ dissect_nr_rrc_RRCReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_NG_ENB)) {
+ dissect_lte_rrc_RRCConnectionReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+#.FN_BODY Configuration-rejected-by-M-NG-RANNode/m-NG-RANNode-to-S-NG-RANNode-Container VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nxap_container);
+ dissect_nr_rrc_CG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY CPC-target-SN-required-list-Item/sN-to-MN-Container VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_nxap_container);
+ dissect_nr_rrc_CG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UEContextInfoRetrUECtxtResp/rrc-Context VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum target_ranmode_id = xnap_get_ranmode_id(&actx->pinfo->dst, actx->pinfo->destport, actx->pinfo);
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RRC_Context);
+ if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ target_ranmode_id == GlobalNG_RANNode_ID_gNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_GNB)) {
+ dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
+ target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) ||
+ (xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_NG_ENB)) {
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+#.FN_BODY PLMN-Identity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ e212_number_type_t number_type = xnap_data->number_type;
+ xnap_data->number_type = E212_NONE;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_PLMN_Identity);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, number_type, FALSE);
+
+#.TYPE_ATTR
+PortNumber TYPE = FT_UINT16 DISPLAY = BASE_DEC
+#.FN_BODY PortNumber VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY GUAMI
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->number_type = E212_GUAMI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY TAIsinAoI-Item
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->number_type = E212_5GSTAI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY TAIforMDT-Item
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->number_type = E212_5GSTAI;
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+TAC TYPE = FT_UINT24 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
+ }
+
+#.FIELD_ATTR
+BPLMN-ID-Info-NR-Item/nr-CI ABBREV=NR_Cell_Identity TYPE=FT_UINT40 DISPLAY=BASE_HEX BITMASK=0xFFFFFFFFF0
+
+#.FIELD_ATTR
+Cell-Type-Choice/ng-ran-nr ABBREV=NR_Cell_Identity TYPE=FT_UINT40 DISPLAY=BASE_HEX BITMASK=0xFFFFFFFFF0
+
+#.FIELD_ATTR
+NG-RAN-Cell-Identity/nr ABBREV=NR_Cell_Identity TYPE=FT_UINT40 DISPLAY=BASE_HEX BITMASK=0xFFFFFFFFF0
+
+#.FIELD_ATTR
+NR-CGI/nr-CI ABBREV=NR_Cell_Identity TYPE=FT_UINT40 DISPLAY=BASE_HEX BITMASK=0xFFFFFFFFF0
+
+#.FN_BODY NR-Cell-Identity VAL_PTR = &cell_id_tvb HF_INDEX=-1
+ tvbuff_t *cell_id_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cell_id_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, cell_id_tvb, 0, 5, ENC_BIG_ENDIAN);
+ }
+
+#.FIELD_ATTR
+BPLMN-ID-Info-EUTRA-Item/e-utraCI ABBREV=E_UTRA_Cell_Identity TYPE=FT_UINT32 DISPLAY=BASE_HEX BITMASK=0xFFFFFFF0
+
+#.FIELD_ATTR
+Cell-Type-Choice/ng-ran-e-utra ABBREV=E_UTRA_Cell_Identity TYPE=FT_UINT32 DISPLAY=BASE_HEX BITMASK=0xFFFFFFF0
+
+#.FIELD_ATTR
+Cell-Type-Choice/e-utran ABBREV=E_UTRA_Cell_Identity TYPE=FT_UINT32 DISPLAY=BASE_HEX BITMASK=0xFFFFFFF0
+
+#.FIELD_ATTR
+E-UTRA-CGI/e-utra-CI ABBREV=E_UTRA_Cell_Identity TYPE=FT_UINT32 DISPLAY=BASE_HEX BITMASK=0xFFFFFFF0
+
+#.FIELD_ATTR
+NG-RAN-Cell-Identity/e-utra ABBREV=E_UTRA_Cell_Identity TYPE=FT_UINT32 DISPLAY=BASE_HEX BITMASK=0xFFFFFFF0
+
+#.FN_BODY NR-CGI
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->number_type = E212_NRCGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY E-UTRA-CGI
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->number_type = E212_ECGI;
+%(DEFAULT_BODY)s
+
+#.FN_BODY E-UTRA-Cell-Identity VAL_PTR = &cell_id_tvb HF_INDEX=-1
+ tvbuff_t *cell_id_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cell_id_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, cell_id_tvb, 0, 4, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY ServedCellInformation-NR/measurementTimingConfiguration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_measurementTimingConfiguration);
+ dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NeighbourInformation-NR-Item/measurementTimingConfiguration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_measurementTimingConfiguration);
+ dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SuccessfulHOReportContainer VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_SuccessfulHOReportContainer);
+ dissect_nr_rrc_SuccessHO_Report_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+SurvivalTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.TYPE_ATTR
+PacketLossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(xnap_PacketLossRate_fmt)
+
+#.TYPE_ATTR
+PacketDelayBudget DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(xnap_PacketDelayBudget_fmt)
+
+#.TYPE_ATTR
+AveragingWindow DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
+
+#.TYPE_ATTR
+MaximumDataBurstVolume DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_byte_bytes
+
+#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb LEN_PTR = &len
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ int len;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_TransportLayerAddress);
+ if (len == 32) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ } else if (len == 128) {
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
+ } else if (len == 160) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
+ }
+
+#.FN_BODY NG-RANTraceID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_NG_RANTraceID);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
+ proto_tree_add_item(subtree, hf_xnap_NG_RANTraceID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_xnap_NG_RANTraceID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
+
+#.FN_BODY LastVisitedNGRANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_LastVisitedNGRANCellInformation);
+ dissect_ngap_LastVisitedNGRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY LastVisitedEUTRANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_LastVisitedEUTRANCellInformation);
+ dissect_s1ap_LastVisitedEUTRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY LastVisitedUTRANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_LastVisitedUTRANCellInformation);
+ dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY LastVisitedGERANCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_LastVisitedGERANCellInformation);
+ dissect_s1ap_LastVisitedGERANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY LastVisitedPSCellInformation VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_LastVisitedPSCellInformation);
+ dissect_ngap_LastVisitedPSCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+ExpectedUEMovingTrajectoryItem/timeStayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ExpectedActivityPeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.TYPE_ATTR
+ExpectedIdlePeriod DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY VolumeTimedReport-Item/startTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR VolumeTimedReport-Item/startTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.FN_BODY VolumeTimedReport-Item/endTimeStamp VAL_PTR = &timestamp_tvb
+ tvbuff_t *timestamp_tvb = NULL;
+%(DEFAULT_BODY)s
+
+#.FN_FTR VolumeTimedReport-Item/endTimeStamp
+ if (timestamp_tvb) {
+ proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
+ }
+
+#.TYPE_ATTR
+VolumeTimedReport-Item/usageCountUL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.TYPE_ATTR
+VolumeTimedReport-Item/usageCountDL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets
+
+#.FN_BODY UERadioCapabilityForPagingOfNR VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_UERadioCapabilityForPagingOfNR);
+ dissect_nr_rrc_UERadioPagingInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UERadioCapabilityForPagingOfEUTRA VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_UERadioCapabilityForPagingOfEUTRA);
+ dissect_lte_rrc_UERadioPagingInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY FiveGCMobilityRestrictionListContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_FiveGCMobilityRestrictionListContainer);
+ dissect_ngap_MobilityRestrictionList_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY IABCellInformation/cSI-RS-Configuration VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_cSI_RS_Configuration);
+ dissect_nr_rrc_NZP_CSI_RS_Resource_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY IABCellInformation/sR-Configuration VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_sR_Configuration);
+ dissect_nr_rrc_SchedulingRequestResourceConfig_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY IABCellInformation/pDCCH-ConfigSIB1 VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_pDCCH_ConfigSIB1);
+ dissect_nr_rrc_PDCCH_ConfigSIB1_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY IABCellInformation/sCS-Common VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_sCS_Common);
+ dissect_nr_rrc_subCarrierSpacingCommon_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+IABTNLAddress/iPv4Address TYPE=FT_IPv4
+#.FN_BODY IABTNLAddress/iPv4Address VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+
+#.TYPE_ATTR
+IABTNLAddress/iPv6Address TYPE=FT_IPv6
+#.FN_BODY IABTNLAddress/iPv6Address VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 16, ENC_BIG_ENDIAN);
+
+#.TYPE_ATTR
+IABTNLAddress/iPv6Prefix TYPE=FT_BYTES
+#.FN_BODY IABTNLAddress/iPv6Prefix VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 8, ENC_NA);
+
+#.TYPE_ATTR
+BluetoothName TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY BluetoothName VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+
+#.FN_BODY ExtendedRATRestrictionInformation/primaryRATRestriction VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_xnap_primaryRATRestriction_e_UTRA,
+ &hf_xnap_primaryRATRestriction_nR,
+ &hf_xnap_primaryRATRestriction_nR_unlicensed,
+ &hf_xnap_primaryRATRestriction_nR_LEO,
+ &hf_xnap_primaryRATRestriction_nR_MEO,
+ &hf_xnap_primaryRATRestriction_nR_GEO,
+ &hf_xnap_primaryRATRestriction_nR_OTHERSAT,
+ &hf_xnap_primaryRATRestriction_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_primaryRATRestriction);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY ExtendedRATRestrictionInformation/secondaryRATRestriction VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_xnap_secondaryRATRestriction_e_UTRA,
+ &hf_xnap_secondaryRATRestriction_nR,
+ &hf_xnap_secondaryRATRestriction_e_UTRA_unlicensed,
+ &hf_xnap_secondaryRATRestriction_nR_unlicensed,
+ &hf_xnap_secondaryRATRestriction_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_secondaryRATRestriction);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+ExtendedPacketDelayBudget DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(xnap_ExtendedPacketDelayBudget_fmt)
+
+#.TYPE_ATTR
+M7period DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
+
+#.FN_BODY MDT-Location-Info VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ static int * const fields[] = {
+ &hf_xnap_MDT_Location_Info_GNSS,
+ &hf_xnap_MDT_Location_Info_reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_MDT_Location_Info);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY MeasObjectContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_MeasObjectContainer);
+ dissect_nr_rrc_MeasObjectToAddMod_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY MeasurementsToActivate VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_xnap_MeasurementsToActivate_M1,
+ &hf_xnap_MeasurementsToActivate_M2,
+ &hf_xnap_MeasurementsToActivate_M3,
+ &hf_xnap_MeasurementsToActivate_M4,
+ &hf_xnap_MeasurementsToActivate_M5,
+ &hf_xnap_MeasurementsToActivate_LoggingM1FromEventTriggered,
+ &hf_xnap_MeasurementsToActivate_M6,
+ &hf_xnap_MeasurementsToActivate_M7,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_MeasurementsToActivate);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.TYPE_ATTR
+MobilityParametersModificationRange/handoverTriggerChangeLowerLimit DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(xnap_handoverTriggerChange_fmt)
+
+#.TYPE_ATTR
+MobilityParametersModificationRange/handoverTriggerChangeUpperLimit DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(xnap_handoverTriggerChange_fmt)
+
+#.TYPE_ATTR
+MobilityParametersModificationRange/handoverTriggerChange DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(xnap_handoverTriggerChange_fmt)
+
+#.FN_BODY NRMobilityHistoryReport VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_NRMobilityHistoryReport);
+ dissect_nr_rrc_VisitedCellInfoList_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+OfferedCapacity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kbps
+
+#.FN_BODY RACH-Config-Common VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RACH_Config_Common);
+ dissect_nr_rrc_RACH_ConfigCommon_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RACH-Config-Common-IAB VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RACH_Config_Common_IAB);
+ dissect_nr_rrc_rach_ConfigCommonIAB_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY RACHReportContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RACHReportContainer);
+ dissect_nr_rrc_RA_ReportList_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY ReportConfigContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_ReportConfigContainer);
+ dissect_nr_rrc_ReportConfigToAddMod_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SDT-DRBsToBeSetupList-Item/dRB-RLC-Bearer-Configuration VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RLC_Bearer_Configuration);
+ dissect_nr_rrc_RLC_BearerConfig_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY SDT-SRBsToBeSetupList-Item/sRB-RLC-Bearer-Configuration VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RLC_Bearer_Configuration);
+ dissect_nr_rrc_RLC_BearerConfig_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY TargetCellinEUTRAN VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_TargetCellinEUTRAN);
+ dissect_s1ap_EUTRAN_CGI_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY TDDULDLConfigurationCommonNR VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_TDDULDLConfigurationCommonNR);
+ dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+Threshold-RSRP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(xnap_Threshold_RSRP_fmt)
+
+#.TYPE_ATTR
+Threshold-RSRQ DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(xnap_Threshold_RSRQ_fmt)
+
+#.TYPE_ATTR
+Threshold-SINR DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(xnap_Threshold_SINR_fmt)
+
+#.FN_BODY UERLFReportContainerLTE VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_UERLFReportContainerLTE);
+ dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UERLFReportContainerLTEExtendBand VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_UERLFReportContainerLTEExtendBand);
+ dissect_lte_rrc_RLF_Report_v9e0_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY UERLFReportContainerNR VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_UERLFReportContainerNR);
+ dissect_nr_rrc_nr_RLF_Report_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+WLANName TYPE=FT_STRING DISPLAY = BASE_NONE
+#.FN_BODY WLANName VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
+
+#.FN_BODY TSCAssistanceInformation/burstArrivalTime VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_burstArrivalTime);
+ dissect_nr_rrc_ReferenceTime_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+TSCAssistanceInformation/periodicity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
+
+#.FN_BODY ReportCharacteristics VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if(parameter_tvb){
+ static int * const fields[] = {
+ &hf_xnap_ReportCharacteristics_PRBPeriodic,
+ &hf_xnap_ReportCharacteristics_TNLCapacityIndPeriodic,
+ &hf_xnap_ReportCharacteristics_CompositeAvailableCapacityPeriodic,
+ &hf_xnap_ReportCharacteristics_NumberOfActiveUEs,
+ &hf_xnap_ReportCharacteristics_Reserved,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_ReportCharacteristics);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY NRCellPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_NRCellPRACHConfig);
+ dissect_f1ap_NRPRACHConfig_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_anchorCarrier_NPRACHConfig);
+ dissect_lte_rrc_NPRACH_ParametersList_NB_r13_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-EDT-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_anchorCarrier_EDT_NPRACHConfig);
+ dissect_lte_rrc_NPRACH_ParametersList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-Format2-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_anchorCarrier_Format2_NPRACHConfig);
+ dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-Format2-EDT-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_anchorCarrier_Format2_EDT_NPRACHConfig);
+ dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/non-anchorCarrier-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_non_anchorCarrier_NPRACHConfig);
+ dissect_lte_rrc_UL_ConfigCommonList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-FDD/non-anchorCarrier-Format2-NPRACHConfig VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_non_anchorCarrier_Format2_NPRACHConfig);
+ dissect_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-TDD/anchorCarrier-NPRACHConfigTDD VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_anchorCarrier_NPRACHConfigTDD);
+ dissect_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY NPRACHConfiguration-TDD/non-anchorCarrier-NPRACHConfigTDD VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_non_anchorCarrier_NPRACHConfigTDD);
+ dissect_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.FN_BODY Non-AnchorCarrierFrequencylist/_item/non-anchorCarrierFrquency VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_non_anchorCarrierFrequency);
+ dissect_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+QosMonitoringReportingFrequency DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
+
+#.FN_BODY MDTMode-EUTRA VAL_PTR = &mdt_mode_eutra_tvb
+ tvbuff_t *mdt_mode_eutra_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (mdt_mode_eutra_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_MDTMode_EUTRA);
+ dissect_s1ap_MDTMode_PDU(mdt_mode_eutra_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.END
+
+#.FN_HDR HandoverRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
+#.FN_HDR HandoverRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
+#.FN_HDR HandoverPreparationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
+#.FN_HDR SNStatusTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer");
+#.FN_HDR HandoverCancel
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
+#.FN_HDR RetrieveUEContextRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest");
+#.FN_HDR RetrieveUEContextResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse");
+#.FN_HDR RetrieveUEContextFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure");
+#.FN_HDR RANPaging
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANPaging");
+#.FN_HDR XnUAddressIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnUAddressIndication");
+#.FN_HDR UEContextRelease
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease");
+#.FN_HDR SNodeAdditionRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequest");
+#.FN_HDR SNodeAdditionRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestAcknowledge");
+#.FN_HDR SNodeAdditionRequestReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestReject");
+#.FN_HDR SNodeReconfigurationComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReconfigurationComplete");
+#.FN_HDR SNodeModificationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequest");
+#.FN_HDR SNodeModificationRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestAcknowledge");
+#.FN_HDR SNodeModificationRequestReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestReject");
+#.FN_HDR SNodeModificationRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequired");
+#.FN_HDR SNodeModificationConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationConfirm");
+#.FN_HDR SNodeModificationRefuse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRefuse");
+#.FN_HDR SNodeReleaseRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequest");
+#.FN_HDR SNodeReleaseRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequestAcknowledge");
+#.FN_HDR SNodeReleaseReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseReject");
+#.FN_HDR SNodeReleaseRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequired");
+#.FN_HDR SNodeReleaseConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseConfirm");
+#.FN_HDR SNodeCounterCheckRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeCounterCheckRequest");
+#.FN_HDR SNodeChangeRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRequired");
+#.FN_HDR SNodeChangeConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeConfirm");
+#.FN_HDR SNodeChangeRefuse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRefuse");
+#.FN_HDR RRCTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer");
+#.FN_HDR XnRemovalRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalRequest");
+#.FN_HDR XnRemovalResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalResponse");
+#.FN_HDR XnRemovalFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalFailure");
+#.FN_HDR XnSetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupRequest");
+#.FN_HDR XnSetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupResponse");
+#.FN_HDR XnSetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupFailure");
+#.FN_HDR NGRANNodeConfigurationUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdate");
+#.FN_HDR NGRANNodeConfigurationUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateAcknowledge");
+#.FN_HDR NGRANNodeConfigurationUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateFailure");
+#.FN_HDR PartialUEContextTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PartialUEContextTransfer");
+#.FN_HDR PartialUEContextTransferAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PartialUEContextTransferAcknowledge");
+#.FN_HDR PartialUEContextTransferFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PartialUEContextTransferFailure");
+#.FN_HDR E-UTRA-NR-CellResourceCoordinationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-UTRA-NR-CellResourceCoordinationRequest");
+#.FN_HDR E-UTRA-NR-CellResourceCoordinationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-UTRA-NR-CellResourceCoordinationResponse");
+#.FN_HDR CellActivationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest");
+#.FN_HDR CellActivationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse");
+#.FN_HDR CellActivationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure");
+#.FN_HDR ResetRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
+#.FN_HDR ResetResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
+#.FN_HDR ErrorIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
+#.FN_HDR NotificationControlIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NotificationControlIndication");
+#.FN_HDR ActivityNotification
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ActivityNotification");
+#.FN_HDR PrivateMessage
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
+#.FN_HDR SecondaryRATDataUsageReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport");
+#.FN_HDR DeactivateTrace
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
+#.FN_HDR TraceStart
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
+#.FN_HDR HandoverSuccess
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess");
+#.FN_HDR ConditionalHandoverCancel
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConditionalHandoverCancel");
+#.FN_HDR EarlyStatusTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyStatusTransfer");
+#.FN_HDR FailureIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "FailureIndication");
+#.FN_HDR HandoverReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverReport");
+#.FN_HDR ResourceStatusRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest");
+#.FN_HDR ResourceStatusResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse");
+#.FN_HDR ResourceStatusFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure");
+#.FN_HDR ResourceStatusUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate");
+#.FN_HDR MobilityChangeRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeRequest");
+#.FN_HDR MobilityChangeAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeAcknowledge");
+#.FN_HDR MobilityChangeFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeFailure");
+#.FN_HDR AccessAndMobilityIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessAndMobilityIndication");
+#.FN_HDR CellTrafficTrace
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
+#.FN_HDR RANMulticastGroupPaging
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANMulticastGroupPaging");
+#.FN_HDR ScgFailureInformationReport
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ScgFailureInformationReport");
+#.FN_HDR ScgFailureTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ScgFailureTransfer");
+#.FN_HDR F1CTrafficTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1CTrafficTransfer");
+#.FN_HDR IABTransportMigrationManagementRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTransportMigrationManagementRequest");
+#.FN_HDR IABTransportMigrationManagementResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTransportMigrationManagementResponse");
+#.FN_HDR IABTransportMigrationManagementReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTransportMigrationManagementReject");
+#.FN_HDR IABTransportMigrationModificationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTransportMigrationModificationRequest");
+#.FN_HDR IABTransportMigrationModificationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTransportMigrationModificationResponse");
+#.FN_HDR IABResourceCoordinationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABResourceCoordinationRequest");
+#.FN_HDR IABResourceCoordinationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABResourceCoordinationResponse");
+#.FN_HDR RetrieveUEContextConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextConfirm");
+#.FN_HDR CPCCancel
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CPCCancel");
+
+#.ASSIGN_VALUE_TO_TYPE # XnAP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+id-handoverPreparation ProcedureCode
+id-sNStatusTransfer ProcedureCode
+id-handoverCancel ProcedureCode
+id-retrieveUEContext ProcedureCode
+id-rANPaging ProcedureCode
+id-xnUAddressIndication ProcedureCode
+id-uEContextRelease ProcedureCode
+id-sNGRANnodeAdditionPreparation ProcedureCode
+id-sNGRANnodeReconfigurationCompletion ProcedureCode
+id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation ProcedureCode
+id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation ProcedureCode
+id-mNGRANnodeinitiatedSNGRANnodeRelease ProcedureCode
+id-sNGRANnodeinitiatedSNGRANnodeRelease ProcedureCode
+id-sNGRANnodeCounterCheck ProcedureCode
+id-sNGRANnodeChange ProcedureCode
+id-rRCTransfer ProcedureCode
+id-xnRemoval ProcedureCode
+id-xnSetup ProcedureCode
+id-nGRANnodeConfigurationUpdate ProcedureCode
+id-cellActivation ProcedureCode
+id-reset ProcedureCode
+id-errorIndication ProcedureCode
+id-privateMessage ProcedureCode
+id-notificationControl ProcedureCode
+id-activityNotification ProcedureCode
+id-e-UTRA-NR-CellResourceCoordination ProcedureCode
+id-secondaryRATDataUsageReport ProcedureCode
+id-deactivateTrace ProcedureCode
+id-traceStart ProcedureCode
+id-handoverSuccess ProcedureCode
+id-conditionalHandoverCancel ProcedureCode
+id-earlyStatusTransfer ProcedureCode
+id-failureIndication ProcedureCode
+id-handoverReport ProcedureCode
+id-resourceStatusReportingInitiation ProcedureCode
+id-resourceStatusReporting ProcedureCode
+id-mobilitySettingsChange ProcedureCode
+id-accessAndMobilityIndication ProcedureCode
+id-cellTrafficTrace ProcedureCode
+id-RANMulticastGroupPaging ProcedureCode
+id-scgFailureInformationReport ProcedureCode
+id-ProcedureCode41-NotToBeUsed ProcedureCode
+id-scgFailureTransfer ProcedureCode
+id-f1CTrafficTransfer ProcedureCode
+id-iABTransportMigrationManagement ProcedureCode
+id-iABTransportMigrationModification ProcedureCode
+id-iABResourceCoordination ProcedureCode
+id-retrieveUEContextConfirm ProcedureCode
+id-cPCCancel ProcedureCode
+id-partialUEContextTransfer ProcedureCode
+
+# ProtocolIE-ID
+id-ActivatedServedCells ProtocolIE-ID
+id-ActivationIDforCellActivation ProtocolIE-ID
+id-admittedSplitSRB ProtocolIE-ID
+id-admittedSplitSRBrelease ProtocolIE-ID
+id-AMF-Region-Information ProtocolIE-ID
+id-AssistanceDataForRANPaging ProtocolIE-ID
+id-BearersSubjectToCounterCheck ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-cellAssistanceInfo-NR ProtocolIE-ID
+id-ConfigurationUpdateInitiatingNodeChoice ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-XnUAddressInfoperPDUSession-List ProtocolIE-ID
+id-DRBsSubjectToStatusTransfer-List ProtocolIE-ID
+id-ExpectedUEBehaviour ProtocolIE-ID
+id-GlobalNG-RAN-node-ID ProtocolIE-ID
+id-GUAMI ProtocolIE-ID
+id-indexToRatFrequSelectionPriority ProtocolIE-ID
+id-initiatingNodeType-ResourceCoordRequest ProtocolIE-ID
+id-List-of-served-cells-E-UTRA ProtocolIE-ID
+id-List-of-served-cells-NR ProtocolIE-ID
+id-LocationReportingInformation ProtocolIE-ID
+id-MAC-I ProtocolIE-ID
+id-MaskedIMEISV ProtocolIE-ID
+id-M-NG-RANnodeUEXnAPID ProtocolIE-ID
+id-MN-to-SN-Container ProtocolIE-ID
+id-MobilityRestrictionList ProtocolIE-ID
+id-new-NG-RAN-Cell-Identity ProtocolIE-ID
+id-newNG-RANnodeUEXnAPID ProtocolIE-ID
+id-UEReportRRCTransfer ProtocolIE-ID
+id-oldNG-RANnodeUEXnAPID ProtocolIE-ID
+id-OldtoNewNG-RANnodeResumeContainer ProtocolIE-ID
+id-PagingDRX ProtocolIE-ID
+id-PCellID ProtocolIE-ID
+id-PDCPChangeIndication ProtocolIE-ID
+id-PDUSessionAdmittedAddedAddReqAck ProtocolIE-ID
+id-PDUSessionAdmittedModSNModConfirm ProtocolIE-ID
+id-PDUSessionAdmitted-SNModResponse ProtocolIE-ID
+id-PDUSessionNotAdmittedAddReqAck ProtocolIE-ID
+id-PDUSessionNotAdmitted-SNModResponse ProtocolIE-ID
+id-PDUSessionReleasedList-RelConf ProtocolIE-ID
+id-PDUSessionReleasedSNModConfirm ProtocolIE-ID
+id-PDUSessionResourcesActivityNotifyList ProtocolIE-ID
+id-PDUSessionResourcesAdmitted-List ProtocolIE-ID
+id-PDUSessionResourcesNotAdmitted-List ProtocolIE-ID
+id-PDUSessionResourcesNotifyList ProtocolIE-ID
+id-PDUSession-SNChangeConfirm-List ProtocolIE-ID
+id-PDUSession-SNChangeRequired-List ProtocolIE-ID
+id-PDUSessionToBeAddedAddReq ProtocolIE-ID
+id-PDUSessionToBeModifiedSNModRequired ProtocolIE-ID
+id-PDUSessionToBeReleasedList-RelRqd ProtocolIE-ID
+id-PDUSessionToBeReleased-RelReq ProtocolIE-ID
+id-PDUSessionToBeReleasedSNModRequired ProtocolIE-ID
+id-RANPagingArea ProtocolIE-ID
+id-PagingPriority ProtocolIE-ID
+id-requestedSplitSRB ProtocolIE-ID
+id-requestedSplitSRBrelease ProtocolIE-ID
+id-ResetRequestTypeInfo ProtocolIE-ID
+id-ResetResponseTypeInfo ProtocolIE-ID
+id-RespondingNodeTypeConfigUpdateAck ProtocolIE-ID
+id-respondingNodeType-ResourceCoordResponse ProtocolIE-ID
+id-ResponseInfo-ReconfCompl ProtocolIE-ID
+id-RRCConfigIndication ProtocolIE-ID
+id-RRCResumeCause ProtocolIE-ID
+id-SCGConfigurationQuery ProtocolIE-ID
+id-selectedPLMN ProtocolIE-ID
+id-ServedCellsToActivate ProtocolIE-ID
+id-servedCellsToUpdate-E-UTRA ProtocolIE-ID
+id-ServedCellsToUpdateInitiatingNodeChoice ProtocolIE-ID
+id-servedCellsToUpdate-NR ProtocolIE-ID
+id-s-ng-RANnode-SecurityKey ProtocolIE-ID
+id-S-NG-RANnodeUE-AMBR ProtocolIE-ID
+id-S-NG-RANnodeUEXnAPID ProtocolIE-ID
+id-SN-to-MN-Container ProtocolIE-ID
+id-sourceNG-RANnodeUEXnAPID ProtocolIE-ID
+id-SplitSRB-RRCTransfer ProtocolIE-ID
+id-TAISupport-list ProtocolIE-ID
+id-TimeToWait ProtocolIE-ID
+id-Target2SourceNG-RANnodeTranspContainer ProtocolIE-ID
+id-targetCellGlobalID ProtocolIE-ID
+id-targetNG-RANnodeUEXnAPID ProtocolIE-ID
+id-target-S-NG-RANnodeID ProtocolIE-ID
+id-TraceActivation ProtocolIE-ID
+id-UEContextID ProtocolIE-ID
+id-UEContextInfoHORequest ProtocolIE-ID
+id-UEContextInfoRetrUECtxtResp ProtocolIE-ID
+id-UEContextInfo-SNModRequest ProtocolIE-ID
+id-UEContextKeptIndicator ProtocolIE-ID
+id-UEContextRefAtSN-HORequest ProtocolIE-ID
+id-UEHistoryInformation ProtocolIE-ID
+id-UEIdentityIndexValue ProtocolIE-ID
+id-UERANPagingIdentity ProtocolIE-ID
+id-UESecurityCapabilities ProtocolIE-ID
+id-UserPlaneTrafficActivityReport ProtocolIE-ID
+id-XnRemovalThreshold ProtocolIE-ID
+id-DesiredActNotificationLevel ProtocolIE-ID
+id-AvailableDRBIDs ProtocolIE-ID
+id-AdditionalDRBIDs ProtocolIE-ID
+id-SpareDRBIDs ProtocolIE-ID
+id-RequiredNumberOfDRBIDs ProtocolIE-ID
+id-TNLA-To-Add-List ProtocolIE-ID
+id-TNLA-To-Update-List ProtocolIE-ID
+id-TNLA-To-Remove-List ProtocolIE-ID
+id-TNLA-Setup-List ProtocolIE-ID
+id-TNLA-Failed-To-Setup-List ProtocolIE-ID
+id-PDUSessionToBeReleased-RelReqAck ProtocolIE-ID
+id-S-NG-RANnodeMaxIPDataRate-UL ProtocolIE-ID
+id-PDUSessionResourceSecondaryRATUsageList ProtocolIE-ID
+id-Additional-UL-NG-U-TNLatUPF-List ProtocolIE-ID
+id-SecondarydataForwardingInfoFromTarget-List ProtocolIE-ID
+id-LocationInformationSNReporting ProtocolIE-ID
+id-LocationInformationSN ProtocolIE-ID
+id-LastE-UTRANPLMNIdentity ProtocolIE-ID
+id-S-NG-RANnodeMaxIPDataRate-DL ProtocolIE-ID
+id-MaxIPrate-DL ProtocolIE-ID
+id-SecurityResult ProtocolIE-ID
+id-S-NSSAI ProtocolIE-ID
+id-MR-DC-ResourceCoordinationInfo ProtocolIE-ID
+id-AMF-Region-Information-To-Add ProtocolIE-ID
+id-AMF-Region-Information-To-Delete ProtocolIE-ID
+id-OldQoSFlowMap-ULendmarkerexpected ProtocolIE-ID
+id-RANPagingFailure ProtocolIE-ID
+id-UERadioCapabilityForPaging ProtocolIE-ID
+id-PDUSessionDataForwarding-SNModResponse ProtocolIE-ID
+id-DRBsNotAdmittedSetupModifyList ProtocolIE-ID
+id-Secondary-MN-Xn-U-TNLInfoatM ProtocolIE-ID
+id-NE-DC-TDM-Pattern ProtocolIE-ID
+id-PDUSessionCommonNetworkInstance ProtocolIE-ID
+id-BPLMN-ID-Info-EUTRA ProtocolIE-ID
+id-BPLMN-ID-Info-NR ProtocolIE-ID
+id-InterfaceInstanceIndication ProtocolIE-ID
+id-S-NG-RANnode-Addition-Trigger-Ind ProtocolIE-ID
+id-DefaultDRB-Allowed ProtocolIE-ID
+id-DRB-IDs-takenintouse ProtocolIE-ID
+id-SplitSessionIndicator ProtocolIE-ID
+id-CNTypeRestrictionsForEquivalent ProtocolIE-ID
+id-CNTypeRestrictionsForServing ProtocolIE-ID
+id-DRBs-transferred-to-MN ProtocolIE-ID
+id-ULForwardingProposal ProtocolIE-ID
+id-EndpointIPAddressAndPort ProtocolIE-ID
+id-IntendedTDD-DL-ULConfiguration-NR ProtocolIE-ID
+id-TNLConfigurationInfo ProtocolIE-ID
+id-PartialListIndicator-NR ProtocolIE-ID
+id-MessageOversizeNotification ProtocolIE-ID
+id-CellAndCapacityAssistanceInfo-NR ProtocolIE-ID
+id-NG-RANTraceID ProtocolIE-ID
+id-NonGBRResources-Offered ProtocolIE-ID
+id-FastMCGRecoveryRRCTransfer-SN-to-MN ProtocolIE-ID
+id-RequestedFastMCGRecoveryViaSRB3 ProtocolIE-ID
+id-AvailableFastMCGRecoveryViaSRB3 ProtocolIE-ID
+id-RequestedFastMCGRecoveryViaSRB3Release ProtocolIE-ID
+id-ReleaseFastMCGRecoveryViaSRB3 ProtocolIE-ID
+id-FastMCGRecoveryRRCTransfer-MN-to-SN ProtocolIE-ID
+id-ExtendedRATRestrictionInformation ProtocolIE-ID
+id-QoSMonitoringRequest ProtocolIE-ID
+id-FiveGCMobilityRestrictionListContainer ProtocolIE-ID
+id-PartialListIndicator-EUTRA ProtocolIE-ID
+id-CellAndCapacityAssistanceInfo-EUTRA ProtocolIE-ID
+id-CHOinformation-Req ProtocolIE-ID
+id-CHOinformation-Ack ProtocolIE-ID
+id-targetCellsToCancel ProtocolIE-ID
+id-requestedTargetCellGlobalID ProtocolIE-ID
+id-procedureStage ProtocolIE-ID
+id-DAPSRequestInfo ProtocolIE-ID
+id-DAPSResponseInfo-List ProtocolIE-ID
+id-CHO-MRDC-Indicator ProtocolIE-ID
+id-OffsetOfNbiotChannelNumberToDL-EARFCN ProtocolIE-ID
+id-OffsetOfNbiotChannelNumberToUL-EARFCN ProtocolIE-ID
+id-NBIoT-UL-DL-AlignmentOffset ProtocolIE-ID
+id-LTEV2XServicesAuthorized ProtocolIE-ID
+id-NRV2XServicesAuthorized ProtocolIE-ID
+id-LTEUESidelinkAggregateMaximumBitRate ProtocolIE-ID
+id-NRUESidelinkAggregateMaximumBitRate ProtocolIE-ID
+id-PC5QoSParameters ProtocolIE-ID
+id-AlternativeQoSParaSetList ProtocolIE-ID
+id-CurrentQoSParaSetIndex ProtocolIE-ID
+id-MobilityInformation ProtocolIE-ID
+id-InitiatingCondition-FailureIndication ProtocolIE-ID
+id-UEHistoryInformationFromTheUE ProtocolIE-ID
+id-HandoverReportType ProtocolIE-ID
+id-HandoverCause ProtocolIE-ID
+id-SourceCellCGI ProtocolIE-ID
+id-TargetCellCGI ProtocolIE-ID
+id-ReEstablishmentCellCGI ProtocolIE-ID
+id-TargetCellinEUTRAN ProtocolIE-ID
+id-SourceCellCRNTI ProtocolIE-ID
+id-UERLFReportContainer ProtocolIE-ID
+id-NGRAN-Node1-Measurement-ID ProtocolIE-ID
+id-NGRAN-Node2-Measurement-ID ProtocolIE-ID
+id-RegistrationRequest ProtocolIE-ID
+id-ReportCharacteristics ProtocolIE-ID
+id-CellToReport ProtocolIE-ID
+id-ReportingPeriodicity ProtocolIE-ID
+id-CellMeasurementResult ProtocolIE-ID
+id-NG-RANnode1CellID ProtocolIE-ID
+id-NG-RANnode2CellID ProtocolIE-ID
+id-NG-RANnode1MobilityParameters ProtocolIE-ID
+id-NG-RANnode2ProposedMobilityParameters ProtocolIE-ID
+id-MobilityParametersModificationRange ProtocolIE-ID
+id-TDDULDLConfigurationCommonNR ProtocolIE-ID
+id-CarrierList ProtocolIE-ID
+id-ULCarrierList ProtocolIE-ID
+id-FrequencyShift7p5khz ProtocolIE-ID
+id-SSB-PositionsInBurst ProtocolIE-ID
+id-NRCellPRACHConfig ProtocolIE-ID
+id-RACHReportInformation ProtocolIE-ID
+id-IABNodeIndication ProtocolIE-ID
+id-Redundant-UL-NG-U-TNLatUPF ProtocolIE-ID
+id-CNPacketDelayBudgetDownlink ProtocolIE-ID
+id-CNPacketDelayBudgetUplink ProtocolIE-ID
+id-Additional-Redundant-UL-NG-U-TNLatUPF-List ProtocolIE-ID
+id-RedundantCommonNetworkInstance ProtocolIE-ID
+id-TSCTrafficCharacteristics ProtocolIE-ID
+id-RedundantQoSFlowIndicator ProtocolIE-ID
+id-Redundant-DL-NG-U-TNLatNG-RAN ProtocolIE-ID
+id-ExtendedPacketDelayBudget ProtocolIE-ID
+id-Additional-PDCP-Duplication-TNL-List ProtocolIE-ID
+id-RedundantPDUSessionInformation ProtocolIE-ID
+id-UsedRSNInformation ProtocolIE-ID
+id-RLCDuplicationInformation ProtocolIE-ID
+id-NPN-Broadcast-Information ProtocolIE-ID
+id-NPNPagingAssistanceInformation ProtocolIE-ID
+id-NPNMobilityInformation ProtocolIE-ID
+id-NPN-Support ProtocolIE-ID
+id-MDT-Configuration ProtocolIE-ID
+id-MDTPLMNList ProtocolIE-ID
+id-TraceCollectionEntityURI ProtocolIE-ID
+id-UERadioCapabilityID ProtocolIE-ID
+id-CSI-RSTransmissionIndication ProtocolIE-ID
+id-SNTriggered ProtocolIE-ID
+id-DLCarrierList ProtocolIE-ID
+id-ExtendedTAISliceSupportList ProtocolIE-ID
+id-cellAssistanceInfo-EUTRA ProtocolIE-ID
+id-ConfiguredTACIndication ProtocolIE-ID
+id-secondary-SN-UL-PDCP-UP-TNLInfo ProtocolIE-ID
+id-pdcpDuplicationConfiguration ProtocolIE-ID
+id-duplicationActivation ProtocolIE-ID
+id-NPRACHConfiguration ProtocolIE-ID
+id-QosMonitoringReportingFrequency ProtocolIE-ID
+id-QoSFlowsMappedtoDRB-SetupResponse-MNterminated ProtocolIE-ID
+id-DL-scheduling-PDCCH-CCE-usage ProtocolIE-ID
+id-UL-scheduling-PDCCH-CCE-usage ProtocolIE-ID
+id-SFN-Offset ProtocolIE-ID
+id-QoSMonitoringDisabled ProtocolIE-ID
+id-ExtendedUEIdentityIndexValue ProtocolIE-ID
+id-EUTRAPagingeDRXInformation ProtocolIE-ID
+id-CHO-MRDC-EarlyDataForwarding ProtocolIE-ID
+id-SCGIndicator ProtocolIE-ID
+id-UESpecificDRX ProtocolIE-ID
+id-PDUSessionExpectedUEActivityBehaviour ProtocolIE-ID
+id-QoS-Mapping-Information ProtocolIE-ID
+id-AdditionLocationInformation ProtocolIE-ID
+id-dataForwardingInfoFromTargetE-UTRANnode ProtocolIE-ID
+id-DirectForwardingPathAvailability ProtocolIE-ID
+id-SourceNG-RAN-node-ID ProtocolIE-ID
+id-SourceDLForwardingIPAddress ProtocolIE-ID
+id-SourceNodeDLForwardingIPAddress ProtocolIE-ID
+id-ExtendedReportIntervalMDT ProtocolIE-ID
+id-SecurityIndication ProtocolIE-ID
+id-RRCConnReestab-Indicator ProtocolIE-ID
+id-TargetNodeID ProtocolIE-ID
+id-ManagementBasedMDTPLMNList ProtocolIE-ID
+id-PrivacyIndicator ProtocolIE-ID
+id-TraceCollectionEntityIPAddress ProtocolIE-ID
+id-M4ReportAmount ProtocolIE-ID
+id-M5ReportAmount ProtocolIE-ID
+id-M6ReportAmount ProtocolIE-ID
+id-M7ReportAmount ProtocolIE-ID
+id-BeamMeasurementIndicationM1 ProtocolIE-ID
+id-MBS-Session-ID ProtocolIE-ID
+id-UEIdentityIndexList-MBSGroupPaging ProtocolIE-ID
+id-MulticastRANPagingArea ProtocolIE-ID
+id-Supported-MBS-FSA-ID-List ProtocolIE-ID
+id-MBS-SessionInformation-List ProtocolIE-ID
+id-MBS-SessionInformationResponse-List ProtocolIE-ID
+id-MBS-SessionAssociatedInformation ProtocolIE-ID
+id-SuccessfulHOReportInformation ProtocolIE-ID
+id-SliceRadioResourceStatus-List ProtocolIE-ID
+id-CompositeAvailableCapacitySupplementaryUplink ProtocolIE-ID
+id-SCGUEHistoryInformation ProtocolIE-ID
+id-SSBOffsets-List ProtocolIE-ID
+id-NG-RANnode2SSBOffsetModificationRange ProtocolIE-ID
+id-Coverage-Modification-List ProtocolIE-ID
+id-NR-U-Channel-List ProtocolIE-ID
+id-SourcePSCellCGI ProtocolIE-ID
+id-FailedPSCellCGI ProtocolIE-ID
+id-SCGFailureReportContainer ProtocolIE-ID
+id-SNMobilityInformation ProtocolIE-ID
+id-SourcePSCellID ProtocolIE-ID
+id-SuitablePSCellCGI ProtocolIE-ID
+id-PSCellChangeHistory ProtocolIE-ID
+id-CHOConfiguration ProtocolIE-ID
+id-NR-U-ChannelInfo-List ProtocolIE-ID
+id-PSCellHistoryInformationRetrieve ProtocolIE-ID
+id-NG-RANnode2SSBOffsetsModificationRange ProtocolIE-ID
+id-MIMOPRBusageInformation ProtocolIE-ID
+id-F1CTrafficContainer ProtocolIE-ID
+id-IAB-MT-Cell-List ProtocolIE-ID
+id-NoPDUSessionIndication ProtocolIE-ID
+id-IAB-TNL-Address-Request ProtocolIE-ID
+id-IAB-TNL-Address-Response ProtocolIE-ID
+id-TrafficToBeAddedList ProtocolIE-ID
+id-TrafficToBeModifiedList ProtocolIE-ID
+id-TrafficToBeReleaseInformation ProtocolIE-ID
+id-TrafficAddedList ProtocolIE-ID
+id-TrafficModifiedList ProtocolIE-ID
+id-TrafficNotAddedList ProtocolIE-ID
+id-TrafficNotModifiedList ProtocolIE-ID
+id-TrafficRequiredToBeModifiedList ProtocolIE-ID
+id-TrafficRequiredModifiedList ProtocolIE-ID
+id-TrafficReleasedList ProtocolIE-ID
+id-IABTNLAddressToBeAdded ProtocolIE-ID
+id-IABTNLAddressToBeReleasedList ProtocolIE-ID
+id-nonF1-Terminating-IAB-DonorUEXnAPID ProtocolIE-ID
+id-F1-Terminating-IAB-DonorUEXnAPID ProtocolIE-ID
+id-BoundaryNodeCellsList ProtocolIE-ID
+id-ParentNodeCellsList ProtocolIE-ID
+id-tdd-GNB-DU-Cell-Resource-Configuration ProtocolIE-ID
+id-UL-GNB-DU-Cell-Resource-Configuration ProtocolIE-ID
+id-DL-GNB-DU-Cell-Resource-Configuration ProtocolIE-ID
+id-permutation ProtocolIE-ID
+id-IABTNLAddressException ProtocolIE-ID
+id-CHOinformation-AddReq ProtocolIE-ID
+id-CHOinformation-ModReq ProtocolIE-ID
+id-SurvivalTime ProtocolIE-ID
+id-TimeSynchronizationAssistanceInformation ProtocolIE-ID
+id-SCGActivationRequest ProtocolIE-ID
+id-SCGActivationStatus ProtocolIE-ID
+id-CPAInformationRequest ProtocolIE-ID
+id-CPAInformationAck ProtocolIE-ID
+id-CPCInformationRequired ProtocolIE-ID
+id-CPCInformationConfirm ProtocolIE-ID
+id-CPAInformationModReq ProtocolIE-ID
+id-CPAInformationModReqAck ProtocolIE-ID
+id-CPC-DataForwarding-Indicator ProtocolIE-ID
+id-CPCInformationUpdate ProtocolIE-ID
+id-CPACInformationModRequired ProtocolIE-ID
+id-QMCConfigInfo ProtocolIE-ID
+id-ProtocolIE-ID338-NotToBeUsed ProtocolIE-ID
+id-Additional-Measurement-Timing-Configuration-List ProtocolIE-ID
+id-PDUSession-PairID ProtocolIE-ID
+id-Local-NG-RAN-Node-Identifier ProtocolIE-ID
+id-Neighbour-NG-RAN-Node-List ProtocolIE-ID
+id-Local-NG-RAN-Node-Identifier-Removal ProtocolIE-ID
+id-FiveGProSeAuthorized ProtocolIE-ID
+id-FiveGProSePC5QoSParameters ProtocolIE-ID
+id-FiveGProSeUEPC5AggregateMaximumBitRate ProtocolIE-ID
+id-ServedCellSpecificInfoReq-NR ProtocolIE-ID
+id-NRPagingeDRXInformation ProtocolIE-ID
+id-NRPagingeDRXInformationforRRCINACTIVE ProtocolIE-ID
+id-Redcap-Bcast-Information ProtocolIE-ID
+id-SDTSupportRequest ProtocolIE-ID
+id-SDT-SRB-between-NewNode-OldNode ProtocolIE-ID
+id-SDT-Termination-Request ProtocolIE-ID
+id-SDTPartialUEContextInfo ProtocolIE-ID
+id-SDTDataForwardingDRBList ProtocolIE-ID
+id-PagingCause ProtocolIE-ID
+id-PEIPSassistanceInformation ProtocolIE-ID
+id-UESliceMaximumBitRateList ProtocolIE-ID
+id-S-NG-RANnodeUE-Slice-MBR ProtocolIE-ID
+id-PositioningInformation ProtocolIE-ID
+id-UEAssistantIdentifier ProtocolIE-ID
+id-ManagementBasedMDTPLMNModificationList ProtocolIE-ID
+id-F1-terminatingIAB-donorIndicator ProtocolIE-ID
+id-TAINSAGSupportList ProtocolIE-ID
+id-SCGreconfigNotification ProtocolIE-ID
+id-earlyMeasurement ProtocolIE-ID
+id-BeamMeasurementsReportConfiguration ProtocolIE-ID
+id-CoverageModificationCause ProtocolIE-ID
+id-AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated ProtocolIE-ID
+id-UERLFReportContainerLTEExtension ProtocolIE-ID
+id-ExcessPacketDelayThresholdConfiguration ProtocolIE-ID
+id-HashedUEIdentityIndexValue ProtocolIE-ID
+
+#.REGISTER
+
+#XNAP-PROTOCOL-IES
+ActivatedServedCells N xnap.ies id-ActivatedServedCells
+ActivationIDforCellActivation N xnap.ies id-ActivationIDforCellActivation
+SplitSRBsTypes N xnap.ies id-admittedSplitSRB
+SplitSRBsTypes N xnap.ies id-admittedSplitSRBrelease
+AMF-Region-Information N xnap.ies id-AMF-Region-Information
+AssistanceDataForRANPaging N xnap.ies id-AssistanceDataForRANPaging
+BearersSubjectToCounterCheck-List N xnap.ies id-BearersSubjectToCounterCheck
+Cause N xnap.ies id-Cause
+CellAssistanceInfo-NR N xnap.ies id-cellAssistanceInfo-NR
+ConfigurationUpdateInitiatingNodeChoice N xnap.ies id-ConfigurationUpdateInitiatingNodeChoice
+CriticalityDiagnostics N xnap.ies id-CriticalityDiagnostics
+XnUAddressInfoperPDUSession-List N xnap.ies id-XnUAddressInfoperPDUSession-List
+DRBsSubjectToStatusTransfer-List N xnap.ies id-DRBsSubjectToStatusTransfer-List
+ExpectedUEBehaviour N xnap.ies id-ExpectedUEBehaviour
+GlobalNG-RANNode-ID N xnap.ies id-GlobalNG-RAN-node-ID
+GUAMI N xnap.ies id-GUAMI
+RFSP-Index N xnap.ies id-indexToRatFrequSelectionPriority
+InitiatingNodeType-ResourceCoordRequest N xnap.ies id-initiatingNodeType-ResourceCoordRequest
+ServedCells-E-UTRA N xnap.ies id-List-of-served-cells-E-UTRA
+ServedCells-NR N xnap.ies id-List-of-served-cells-NR
+LocationReportingInformation N xnap.ies id-LocationReportingInformation
+MAC-I N xnap.ies id-MAC-I
+MaskedIMEISV N xnap.ies id-MaskedIMEISV
+NG-RANnodeUEXnAPID N xnap.ies id-M-NG-RANnodeUEXnAPID
+MN-to-SN-Container N xnap.ies id-MN-to-SN-Container
+MobilityRestrictionList N xnap.ies id-MobilityRestrictionList
+NG-RAN-Cell-Identity N xnap.ies id-new-NG-RAN-Cell-Identity
+NG-RANnodeUEXnAPID N xnap.ies id-newNG-RANnodeUEXnAPID
+UEReportRRCTransfer N xnap.ies id-UEReportRRCTransfer
+NG-RANnodeUEXnAPID N xnap.ies id-oldNG-RANnodeUEXnAPID
+OldtoNewNG-RANnodeResumeContainer N xnap.ies id-OldtoNewNG-RANnodeResumeContainer
+PagingDRX N xnap.ies id-PagingDRX
+GlobalNG-RANCell-ID N xnap.ies id-PCellID
+PDCPChangeIndication N xnap.ies id-PDCPChangeIndication
+PDUSessionAdmittedAddedAddReqAck N xnap.ies id-PDUSessionAdmittedAddedAddReqAck
+PDUSessionAdmittedModSNModConfirm N xnap.ies id-PDUSessionAdmittedModSNModConfirm
+PDUSessionAdmitted-SNModResponse N xnap.ies id-PDUSessionAdmitted-SNModResponse
+PDUSessionNotAdmittedAddReqAck N xnap.ies id-PDUSessionNotAdmittedAddReqAck
+PDUSessionNotAdmitted-SNModResponse N xnap.ies id-PDUSessionNotAdmitted-SNModResponse
+PDUSessionReleasedList-RelConf N xnap.ies id-PDUSessionReleasedList-RelConf
+PDUSessionReleasedSNModConfirm N xnap.ies id-PDUSessionReleasedSNModConfirm
+PDUSessionResourcesActivityNotifyList N xnap.ies id-PDUSessionResourcesActivityNotifyList
+PDUSessionResourcesAdmitted-List N xnap.ies id-PDUSessionResourcesAdmitted-List
+PDUSessionResourcesNotAdmitted-List N xnap.ies id-PDUSessionResourcesNotAdmitted-List
+PDUSessionResourcesNotifyList N xnap.ies id-PDUSessionResourcesNotifyList
+PDUSession-SNChangeConfirm-List N xnap.ies id-PDUSession-SNChangeConfirm-List
+PDUSession-SNChangeRequired-List N xnap.ies id-PDUSession-SNChangeRequired-List
+PDUSessionToBeAddedAddReq N xnap.ies id-PDUSessionToBeAddedAddReq
+PDUSessionToBeModifiedSNModRequired N xnap.ies id-PDUSessionToBeModifiedSNModRequired
+PDUSessionToBeReleasedList-RelRqd N xnap.ies id-PDUSessionToBeReleasedList-RelRqd
+PDUSession-List-withCause N xnap.ies id-PDUSessionToBeReleased-RelReq
+PDUSessionToBeReleasedSNModRequired N xnap.ies id-PDUSessionToBeReleasedSNModRequired
+RANPagingArea N xnap.ies id-RANPagingArea
+PagingPriority N xnap.ies id-PagingPriority
+SplitSRBsTypes N xnap.ies id-requestedSplitSRB
+SplitSRBsTypes N xnap.ies id-requestedSplitSRBrelease
+ResetRequestTypeInfo N xnap.ies id-ResetRequestTypeInfo
+ResetResponseTypeInfo N xnap.ies id-ResetResponseTypeInfo
+RespondingNodeTypeConfigUpdateAck N xnap.ies id-RespondingNodeTypeConfigUpdateAck
+RespondingNodeType-ResourceCoordResponse N xnap.ies id-respondingNodeType-ResourceCoordResponse
+ResponseInfo-ReconfCompl N xnap.ies id-ResponseInfo-ReconfCompl
+RRCConfigIndication N xnap.ies id-RRCConfigIndication
+RRCResumeCause N xnap.ies id-RRCResumeCause
+SCGConfigurationQuery N xnap.ies id-SCGConfigurationQuery
+PLMN-Identity N xnap.ies id-selectedPLMN
+ServedCellsToActivate N xnap.ies id-ServedCellsToActivate
+ServedCellsToUpdate-E-UTRA N xnap.ies id-servedCellsToUpdate-E-UTRA
+#id-ServedCellsToUpdateInitiatingNodeChoice
+ServedCellsToUpdate-NR N xnap.ies id-servedCellsToUpdate-NR
+S-NG-RANnode-SecurityKey N xnap.ies id-s-ng-RANnode-SecurityKey
+UEAggregateMaximumBitRate N xnap.ies id-S-NG-RANnodeUE-AMBR
+NG-RANnodeUEXnAPID N xnap.ies id-S-NG-RANnodeUEXnAPID
+SN-to-MN-Container N xnap.ies id-SN-to-MN-Container
+NG-RANnodeUEXnAPID N xnap.ies id-sourceNG-RANnodeUEXnAPID
+SplitSRB-RRCTransfer N xnap.ies id-SplitSRB-RRCTransfer
+TAISupport-List N xnap.ies id-TAISupport-list
+TimeToWait N xnap.ies id-TimeToWait
+Target2SourceNG-RANnodeTranspContainer N xnap.ies id-Target2SourceNG-RANnodeTranspContainer
+Target-CGI N xnap.ies id-targetCellGlobalID
+NG-RANnodeUEXnAPID N xnap.ies id-targetNG-RANnodeUEXnAPID
+GlobalNG-RANNode-ID N xnap.ies id-target-S-NG-RANnodeID
+TraceActivation N xnap.ies id-TraceActivation
+UEContextID N xnap.ies id-UEContextID
+UEContextInfoHORequest N xnap.ies id-UEContextInfoHORequest
+UEContextInfoRetrUECtxtResp N xnap.ies id-UEContextInfoRetrUECtxtResp
+UEContextInfo-SNModRequest N xnap.ies id-UEContextInfo-SNModRequest
+UEContextKeptIndicator N xnap.ies id-UEContextKeptIndicator
+UEContextRefAtSN-HORequest N xnap.ies id-UEContextRefAtSN-HORequest
+UEHistoryInformation N xnap.ies id-UEHistoryInformation
+UEIdentityIndexValue N xnap.ies id-UEIdentityIndexValue
+UERANPagingIdentity N xnap.ies id-UERANPagingIdentity
+UESecurityCapabilities N xnap.ies id-UESecurityCapabilities
+UserPlaneTrafficActivityReport N xnap.ies id-UserPlaneTrafficActivityReport
+XnBenefitValue N xnap.ies id-XnRemovalThreshold
+DesiredActNotificationLevel N xnap.ies id-DesiredActNotificationLevel
+DRB-List N xnap.ies id-AvailableDRBIDs
+DRB-List N xnap.ies id-AdditionalDRBIDs
+DRB-List N xnap.ies id-SpareDRBIDs
+DRB-Number N xnap.ies id-RequiredNumberOfDRBIDs
+TNLA-To-Add-List N xnap.ies id-TNLA-To-Add-List
+TNLA-To-Update-List N xnap.ies id-TNLA-To-Update-List
+TNLA-To-Remove-List N xnap.ies id-TNLA-To-Remove-List
+TNLA-Setup-List N xnap.ies id-TNLA-Setup-List
+TNLA-Failed-To-Setup-List N xnap.ies id-TNLA-Failed-To-Setup-List
+PDUSessionToBeReleasedList-RelReqAck N xnap.ies id-PDUSessionToBeReleased-RelReqAck
+BitRate N xnap.ies id-S-NG-RANnodeMaxIPDataRate-UL
+PDUSessionResourceSecondaryRATUsageList N xnap.ies id-PDUSessionResourceSecondaryRATUsageList
+LocationInformationSNReporting N xnap.ies id-LocationInformationSNReporting
+Target-CGI N xnap.ies id-LocationInformationSN
+BitRate N xnap.ies id-S-NG-RANnodeMaxIPDataRate-DL
+MR-DC-ResourceCoordinationInfo N xnap.ies id-MR-DC-ResourceCoordinationInfo
+AMF-Region-Information N xnap.ies id-AMF-Region-Information-To-Add
+AMF-Region-Information N xnap.ies id-AMF-Region-Information-To-Delete
+RANPagingFailure N xnap.ies id-RANPagingFailure
+UERadioCapabilityForPaging N xnap.ies id-UERadioCapabilityForPaging
+PDUSessionDataForwarding-SNModResponse N xnap.ies id-PDUSessionDataForwarding-SNModResponse
+NE-DC-TDM-Pattern N xnap.ies id-NE-DC-TDM-Pattern
+InterfaceInstanceIndication N xnap.ies id-InterfaceInstanceIndication
+S-NG-RANnode-Addition-Trigger-Ind N xnap.ies id-S-NG-RANnode-Addition-Trigger-Ind
+DRB-List N xnap.ies id-DRBs-transferred-to-MN
+EndpointIPAddressAndPort N xnap.ies id-EndpointIPAddressAndPort
+TNLConfigurationInfo N xnap.ies id-TNLConfigurationInfo
+PartialListIndicator N xnap.ies id-PartialListIndicator-NR
+MessageOversizeNotification N xnap.ies id-MessageOversizeNotification
+CellAndCapacityAssistanceInfo-NR N xnap.ies id-CellAndCapacityAssistanceInfo-NR
+NG-RANTraceID N xnap.ies id-NG-RANTraceID
+FastMCGRecoveryRRCTransfer N xnap.ies id-FastMCGRecoveryRRCTransfer-SN-to-MN
+RequestedFastMCGRecoveryViaSRB3 N xnap.ies id-RequestedFastMCGRecoveryViaSRB3
+AvailableFastMCGRecoveryViaSRB3 N xnap.ies id-AvailableFastMCGRecoveryViaSRB3
+RequestedFastMCGRecoveryViaSRB3Release N xnap.ies id-RequestedFastMCGRecoveryViaSRB3Release
+ReleaseFastMCGRecoveryViaSRB3 N xnap.ies id-ReleaseFastMCGRecoveryViaSRB3
+FastMCGRecoveryRRCTransfer N xnap.ies id-FastMCGRecoveryRRCTransfer-MN-to-SN
+PartialListIndicator N xnap.ies id-PartialListIndicator-EUTRA
+CellAndCapacityAssistanceInfo-EUTRA N xnap.ies id-CellAndCapacityAssistanceInfo-EUTRA
+CHOinformation-Req N xnap.ies id-CHOinformation-Req
+CHOinformation-Ack N xnap.ies id-CHOinformation-Ack
+TargetCellList N xnap.ies id-targetCellsToCancel
+Target-CGI N xnap.ies id-requestedTargetCellGlobalID
+ProcedureStageChoice N xnap.ies id-procedureStage
+DAPSResponseInfo-List N xnap.ies id-DAPSResponseInfo-List
+CHO-MRDC-Indicator N xnap.ies id-CHO-MRDC-Indicator
+LTEV2XServicesAuthorized N xnap.ies id-LTEV2XServicesAuthorized
+NRV2XServicesAuthorized N xnap.ies id-NRV2XServicesAuthorized
+PC5QoSParameters N xnap.ies id-PC5QoSParameters
+MobilityInformation N xnap.ies id-MobilityInformation
+InitiatingCondition-FailureIndication N xnap.ies id-InitiatingCondition-FailureIndication
+UEHistoryInformationFromTheUE N xnap.ies id-UEHistoryInformationFromTheUE
+HandoverReportType N xnap.ies id-HandoverReportType
+Cause N xnap.ies id-HandoverCause
+GlobalNG-RANCell-ID N xnap.ies id-SourceCellCGI
+GlobalNG-RANCell-ID N xnap.ies id-TargetCellCGI
+GlobalCell-ID N xnap.ies id-ReEstablishmentCellCGI
+TargetCellinEUTRAN N xnap.ies id-TargetCellinEUTRAN
+C-RNTI N xnap.ies id-SourceCellCRNTI
+UERLFReportContainer N xnap.ies id-UERLFReportContainer
+Measurement-ID N xnap.ies id-NGRAN-Node1-Measurement-ID
+Measurement-ID N xnap.ies id-NGRAN-Node2-Measurement-ID
+RegistrationRequest N xnap.ies id-RegistrationRequest
+ReportCharacteristics N xnap.ies id-ReportCharacteristics
+CellToReport N xnap.ies id-CellToReport
+ReportingPeriodicity N xnap.ies id-ReportingPeriodicity
+CellMeasurementResult N xnap.ies id-CellMeasurementResult
+GlobalNG-RANCell-ID N xnap.ies id-NG-RANnode1CellID
+GlobalNG-RANCell-ID N xnap.ies id-NG-RANnode2CellID
+MobilityParametersInformation N xnap.ies id-NG-RANnode1MobilityParameters
+MobilityParametersInformation N xnap.ies id-NG-RANnode2ProposedMobilityParameters
+MobilityParametersModificationRange N xnap.ies id-MobilityParametersModificationRange
+RACHReportInformation N xnap.ies id-RACHReportInformation
+IABNodeIndication N xnap.ies id-IABNodeIndication
+MDTPLMNList N xnap.ies id-MDTPLMNList
+UERadioCapabilityID N xnap.ies id-UERadioCapabilityID
+SNTriggered N xnap.ies id-SNTriggered
+CellAssistanceInfo-EUTRA N xnap.ies id-cellAssistanceInfo-EUTRA
+ExtendedUEIdentityIndexValue N xnap.ies id-ExtendedUEIdentityIndexValue
+EUTRAPagingeDRXInformation N xnap.ies id-EUTRAPagingeDRXInformation
+CHO-MRDC-EarlyDataForwarding N xnap.ies id-CHO-MRDC-EarlyDataForwarding
+SCGIndicator N xnap.ies id-SCGIndicator
+UESpecificDRX N xnap.ies id-UESpecificDRX
+DirectForwardingPathAvailability N xnap.ies id-DirectForwardingPathAvailability
+GlobalNG-RANNode-ID N xnap.ies id-SourceNG-RAN-node-ID
+GlobalNG-RANNode-ID N xnap.ies id-TargetNodeID
+MDTPLMNList N xnap.ies id-ManagementBasedMDTPLMNList
+PrivacyIndicator N xnap.ies id-PrivacyIndicator
+TransportLayerAddress N xnap.ies id-TraceCollectionEntityIPAddress
+MBS-Session-ID N xnap.ies id-MBS-Session-ID
+UEIdentityIndexList-MBSGroupPaging N xnap.ies id-UEIdentityIndexList-MBSGroupPaging
+RANPagingArea N xnap.ies id-MulticastRANPagingArea
+MBS-SessionInformationResponse-List N xnap.ies id-MBS-SessionInformationResponse-List
+SuccessfulHOReportInformation N xnap.ies id-SuccessfulHOReportInformation
+SCGUEHistoryInformation N xnap.ies id-SCGUEHistoryInformation
+SSBOffsets-List N xnap.ies id-SSBOffsets-List
+Coverage-Modification-List N xnap.ies id-Coverage-Modification-List
+GlobalNG-RANCell-ID N xnap.ies id-SourcePSCellCGI
+GlobalNG-RANCell-ID N xnap.ies id-FailedPSCellCGI
+SCGFailureReportContainer N xnap.ies id-SCGFailureReportContainer
+SNMobilityInformation N xnap.ies id-SNMobilityInformation
+GlobalNG-RANCell-ID N xnap.ies id-SourcePSCellID
+PSCellChangeHistory N xnap.ies id-PSCellChangeHistory
+CHOConfiguration N xnap.ies id-CHOConfiguration
+PSCellHistoryInformationRetrieve N xnap.ies id-PSCellHistoryInformationRetrieve
+NG-RANnode2SSBOffsetsModificationRange N xnap.ies id-NG-RANnode2SSBOffsetsModificationRange
+F1CTrafficContainer N xnap.ies id-F1CTrafficContainer
+NoPDUSessionIndication N xnap.ies id-NoPDUSessionIndication
+IAB-TNL-Address-Request N xnap.ies id-IAB-TNL-Address-Request
+IAB-TNL-Address-Response N xnap.ies id-IAB-TNL-Address-Response
+TrafficToBeAddedList N xnap.ies id-TrafficToBeAddedList
+TrafficToBeModifiedList N xnap.ies id-TrafficToBeModifiedList
+TrafficToBeReleaseInformation N xnap.ies id-TrafficToBeReleaseInformation
+TrafficAddedList N xnap.ies id-TrafficAddedList
+TrafficModifiedList N xnap.ies id-TrafficModifiedList
+TrafficNotAddedList N xnap.ies id-TrafficNotAddedList
+TrafficNotModifiedList N xnap.ies id-TrafficNotModifiedList
+TrafficRequiredToBeModifiedList N xnap.ies id-TrafficRequiredToBeModifiedList
+TrafficRequiredModifiedList N xnap.ies id-TrafficRequiredModifiedList
+TrafficReleasedList N xnap.ies id-TrafficReleasedList
+IAB-TNL-Address-Response N xnap.ies id-IABTNLAddressToBeAdded
+IABTNLAddressToBeReleasedList N xnap.ies id-IABTNLAddressToBeReleasedList
+NG-RANnodeUEXnAPID N xnap.ies id-nonF1-Terminating-IAB-DonorUEXnAPID
+NG-RANnodeUEXnAPID N xnap.ies id-F1-Terminating-IAB-DonorUEXnAPID
+BoundaryNodeCellsList N xnap.ies id-BoundaryNodeCellsList
+ParentNodeCellsList N xnap.ies id-ParentNodeCellsList
+IABTNLAddressException N xnap.ies id-IABTNLAddressException
+CHOinformation-AddReq N xnap.ies id-CHOinformation-AddReq
+CHOinformation-ModReq N xnap.ies id-CHOinformation-ModReq
+TimeSynchronizationAssistanceInformation N xnap.ies id-TimeSynchronizationAssistanceInformation
+SCGActivationRequest N xnap.ies id-SCGActivationRequest
+SCGActivationStatus N xnap.ies id-SCGActivationStatus
+CPAInformationRequest N xnap.ies id-CPAInformationRequest
+CPAInformationAck N xnap.ies id-CPAInformationAck
+CPCInformationRequired N xnap.ies id-CPCInformationRequired
+CPCInformationConfirm N xnap.ies id-CPCInformationConfirm
+CPAInformationModReq N xnap.ies id-CPAInformationModReq
+CPAInformationModReqAck N xnap.ies id-CPAInformationModReqAck
+CPC-DataForwarding-Indicator N xnap.ies id-CPC-DataForwarding-Indicator
+CPCInformationUpdate N xnap.ies id-CPCInformationUpdate
+CPACInformationModRequired N xnap.ies id-CPACInformationModRequired
+QMCConfigInfo N xnap.ies id-QMCConfigInfo
+Local-NG-RAN-Node-Identifier N xnap.ies id-Local-NG-RAN-Node-Identifier
+Neighbour-NG-RAN-Node-List N xnap.ies id-Neighbour-NG-RAN-Node-List
+Local-NG-RAN-Node-Identifier N xnap.ies id-Local-NG-RAN-Node-Identifier-Removal
+FiveGProSeAuthorized N xnap.ies id-FiveGProSeAuthorized
+FiveGProSePC5QoSParameters N xnap.ies id-FiveGProSePC5QoSParameters
+ServedCellSpecificInfoReq-NR N xnap.ies id-ServedCellSpecificInfoReq-NR
+NRPagingeDRXInformation N xnap.ies id-NRPagingeDRXInformation
+NRPagingeDRXInformationforRRCINACTIVE N xnap.ies id-NRPagingeDRXInformationforRRCINACTIVE
+SDTSupportRequest N xnap.ies id-SDTSupportRequest
+SDT-SRB-between-NewNode-OldNode N xnap.ies id-SDT-SRB-between-NewNode-OldNode
+SDT-Termination-Request N xnap.ies id-SDT-Termination-Request
+SDTPartialUEContextInfo N xnap.ies id-SDTPartialUEContextInfo
+SDTDataForwardingDRBList N xnap.ies id-SDTDataForwardingDRBList
+PagingCause N xnap.ies id-PagingCause
+PEIPSassistanceInformation N xnap.ies id-PEIPSassistanceInformation
+UESliceMaximumBitRateList N xnap.ies id-S-NG-RANnodeUE-Slice-MBR
+MDTPLMNModificationList N xnap.ies id-ManagementBasedMDTPLMNModificationList
+F1-terminatingIAB-donorIndicator N xnap.ies id-F1-terminatingIAB-donorIndicator
+SCGreconfigNotification N xnap.ies id-SCGreconfigNotification
+UERLFReportContainerLTEExtension N xnap.ies id-UERLFReportContainerLTEExtension
+HashedUEIdentityIndexValue N xnap.ies id-HashedUEIdentityIndexValue
+
+#XNAP-PROTOCOL-EXTENSION
+Additional-UL-NG-U-TNLatUPF-List N xnap.extension id-Additional-UL-NG-U-TNLatUPF-List
+SecondarydataForwardingInfoFromTarget-List N xnap.extension id-SecondarydataForwardingInfoFromTarget-List
+PLMN-Identity N xnap.extension id-LastE-UTRANPLMNIdentity
+MaxIPrate N xnap.extension id-MaxIPrate-DL
+SecurityResult N xnap.extension id-SecurityResult
+S-NSSAI N xnap.extension id-S-NSSAI
+QoSFlows-List N xnap.extension id-OldQoSFlowMap-ULendmarkerexpected
+DRB-List-withCause N xnap.extension id-DRBsNotAdmittedSetupModifyList
+UPTransportLayerInformation N xnap.extension id-Secondary-MN-Xn-U-TNLInfoatM
+PDUSessionCommonNetworkInstance N xnap.extension id-PDUSessionCommonNetworkInstance
+BPLMN-ID-Info-EUTRA N xnap.extension id-BPLMN-ID-Info-EUTRA
+BPLMN-ID-Info-NR N xnap.extension id-BPLMN-ID-Info-NR
+DefaultDRB-Allowed N xnap.extension id-DefaultDRB-Allowed
+DRB-List N xnap.extension id-DRB-IDs-takenintouse
+SplitSessionIndicator N xnap.extension id-SplitSessionIndicator
+CNTypeRestrictionsForEquivalent N xnap.extension id-CNTypeRestrictionsForEquivalent
+CNTypeRestrictionsForServing N xnap.extension id-CNTypeRestrictionsForServing
+ULForwardingProposal N xnap.extension id-ULForwardingProposal
+FiveGCMobilityRestrictionListContainer N xnap.extension id-FiveGCMobilityRestrictionListContainer
+IntendedTDD-DL-ULConfiguration-NR N xnap.extension id-IntendedTDD-DL-ULConfiguration-NR
+PartialListIndicator N xnap.extension id-PartialListIndicator-NR
+CellAndCapacityAssistanceInfo-NR N xnap.extension id-CellAndCapacityAssistanceInfo-NR
+NonGBRResources-Offered N xnap.extension id-NonGBRResources-Offered
+ExtendedRATRestrictionInformation N xnap.extension id-ExtendedRATRestrictionInformation
+QosMonitoringRequest N xnap.extension id-QoSMonitoringRequest
+DAPSRequestInfo N xnap.extension id-DAPSRequestInfo
+OffsetOfNbiotChannelNumberToEARFCN N xnap.extension id-OffsetOfNbiotChannelNumberToDL-EARFCN
+OffsetOfNbiotChannelNumberToEARFCN N xnap.extension id-OffsetOfNbiotChannelNumberToUL-EARFCN
+NBIoT-UL-DL-AlignmentOffset N xnap.extension id-NBIoT-UL-DL-AlignmentOffset
+LTEUESidelinkAggregateMaximumBitRate N xnap.extension id-LTEUESidelinkAggregateMaximumBitRate
+NRUESidelinkAggregateMaximumBitRate N xnap.extension id-NRUESidelinkAggregateMaximumBitRate
+AlternativeQoSParaSetList N xnap.extension id-AlternativeQoSParaSetList
+QoSParaSetNotifyIndex N xnap.extension id-CurrentQoSParaSetIndex
+TDDULDLConfigurationCommonNR N xnap.extension id-TDDULDLConfigurationCommonNR
+NRCarrierList N xnap.extension id-CarrierList
+NRCarrierList N xnap.extension id-ULCarrierList
+FrequencyShift7p5khz N xnap.extension id-FrequencyShift7p5khz
+SSB-PositionsInBurst N xnap.extension id-SSB-PositionsInBurst
+NRCellPRACHConfig N xnap.extension id-NRCellPRACHConfig
+UPTransportLayerInformation N xnap.extension id-Redundant-UL-NG-U-TNLatUPF
+ExtendedPacketDelayBudget N xnap.extension id-CNPacketDelayBudgetDownlink
+ExtendedPacketDelayBudget N xnap.extension id-CNPacketDelayBudgetUplink
+Additional-UL-NG-U-TNLatUPF-List N xnap.extension id-Additional-Redundant-UL-NG-U-TNLatUPF-List
+PDUSessionCommonNetworkInstance N xnap.extension id-RedundantCommonNetworkInstance
+TSCTrafficCharacteristics N xnap.extension id-TSCTrafficCharacteristics
+RedundantQoSFlowIndicator N xnap.extension id-RedundantQoSFlowIndicator
+UPTransportLayerInformation N xnap.extension id-Redundant-DL-NG-U-TNLatNG-RAN
+ExtendedPacketDelayBudget N xnap.extension id-ExtendedPacketDelayBudget
+Additional-PDCP-Duplication-TNL-List N xnap.extension id-Additional-PDCP-Duplication-TNL-List
+RedundantPDUSessionInformation N xnap.extension id-RedundantPDUSessionInformation
+RedundantPDUSessionInformation N xnap.extension id-UsedRSNInformation
+RLCDuplicationInformation N xnap.extension id-RLCDuplicationInformation
+NPN-Broadcast-Information N xnap.extension id-NPN-Broadcast-Information
+NPNPagingAssistanceInformation N xnap.extension id-NPNPagingAssistanceInformation
+NPNMobilityInformation N xnap.extension id-NPNMobilityInformation
+NPN-Support N xnap.extension id-NPN-Support
+MDT-Configuration N xnap.extension id-MDT-Configuration
+MDTPLMNList N xnap.extension id-MDTPLMNList
+URIaddress N xnap.extension id-TraceCollectionEntityURI
+UERadioCapabilityID N xnap.extension id-UERadioCapabilityID
+CSI-RSTransmissionIndication N xnap.extension id-CSI-RSTransmissionIndication
+ExtendedSliceSupportList N xnap.extension id-ExtendedTAISliceSupportList
+ConfiguredTACIndication N xnap.extension id-ConfiguredTACIndication
+UPTransportParameters N xnap.extension id-secondary-SN-UL-PDCP-UP-TNLInfo
+PDCPDuplicationConfiguration N xnap.extension id-pdcpDuplicationConfiguration
+DuplicationActivation N xnap.extension id-duplicationActivation
+NPRACHConfiguration N xnap.extension id-NPRACHConfiguration
+QosMonitoringReportingFrequency N xnap.extension id-QosMonitoringReportingFrequency
+QoSFlowsMappedtoDRB-SetupResponse-MNterminated N xnap.extension id-QoSFlowsMappedtoDRB-SetupResponse-MNterminated
+DL-scheduling-PDCCH-CCE-usage N xnap.extension id-DL-scheduling-PDCCH-CCE-usage
+UL-scheduling-PDCCH-CCE-usage N xnap.extension id-UL-scheduling-PDCCH-CCE-usage
+SFN-Offset N xnap.extension id-SFN-Offset
+QoSMonitoringDisabled N xnap.extension id-QoSMonitoringDisabled
+ExpectedUEActivityBehaviour N xnap.extension id-PDUSessionExpectedUEActivityBehaviour
+QoS-Mapping-Information N xnap.extension id-QoS-Mapping-Information
+Cause N xnap.extension id-Cause
+AdditionLocationInformation N xnap.extension id-AdditionLocationInformation
+DataForwardingInfoFromTargetE-UTRANnode N xnap.extension id-dataForwardingInfoFromTargetE-UTRANnode
+TransportLayerAddress N xnap.extension id-SourceDLForwardingIPAddress
+TransportLayerAddress N xnap.extension id-SourceNodeDLForwardingIPAddress
+ExtendedReportIntervalMDT N xnap.extension id-ExtendedReportIntervalMDT
+SecurityIndication N xnap.extension id-SecurityIndication
+RRCConnReestab-Indicator N xnap.extension id-RRCConnReestab-Indicator
+M4ReportAmountMDT N xnap.extension id-M4ReportAmount
+M5ReportAmountMDT N xnap.extension id-M5ReportAmount
+M6ReportAmountMDT N xnap.extension id-M6ReportAmount
+M7ReportAmountMDT N xnap.extension id-M7ReportAmount
+BeamMeasurementIndicationM1 N xnap.extension id-BeamMeasurementIndicationM1
+Supported-MBS-FSA-ID-List N xnap.extension id-Supported-MBS-FSA-ID-List
+MBS-SessionInformation-List N xnap.extension id-MBS-SessionInformation-List
+MBS-SessionAssociatedInformation N xnap.extension id-MBS-SessionAssociatedInformation
+SliceRadioResourceStatus-List N xnap.extension id-SliceRadioResourceStatus-List
+CompositeAvailableCapacity N xnap.extension id-CompositeAvailableCapacitySupplementaryUplink
+NR-U-Channel-List N xnap.extension id-NR-U-Channel-List
+NR-U-ChannelInfo-List N xnap.extension id-NR-U-ChannelInfo-List
+MIMOPRBusageInformation N xnap.extension id-MIMOPRBusageInformation
+NoPDUSessionIndication N xnap.extension id-NoPDUSessionIndication
+GNB-DU-Cell-Resource-Configuration N xnap.extension id-tdd-GNB-DU-Cell-Resource-Configuration
+GNB-DU-Cell-Resource-Configuration N xnap.extension id-UL-GNB-DU-Cell-Resource-Configuration
+GNB-DU-Cell-Resource-Configuration N xnap.extension id-DL-GNB-DU-Cell-Resource-Configuration
+Permutation N xnap.extension id-permutation
+SurvivalTime N xnap.extension id-SurvivalTime
+Additional-Measurement-Timing-Configuration-List N xnap.extension id-Additional-Measurement-Timing-Configuration-List
+PDUSession-PairID N xnap.extension id-PDUSession-PairID
+NRUESidelinkAggregateMaximumBitRate N xnap.extension id-FiveGProSeUEPC5AggregateMaximumBitRate
+ServedCellSpecificInfoReq-NR N xnap.extension id-ServedCellSpecificInfoReq-NR
+Redcap-Bcast-Information N xnap.extension id-Redcap-Bcast-Information
+UESliceMaximumBitRateList N xnap.extension id-UESliceMaximumBitRateList
+PositioningInformation N xnap.extension id-PositioningInformation
+NG-RANnodeUEXnAPID N xnap.extension id-UEAssistantIdentifier
+TAINSAGSupportList N xnap.extension id-TAINSAGSupportList
+EarlyMeasurement N xnap.extension id-earlyMeasurement
+BeamMeasurementsReportConfiguration N xnap.extension id-BeamMeasurementsReportConfiguration
+CoverageModificationCause N xnap.extension id-CoverageModificationCause
+AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated N xnap.extension id-AdditionalListofPDUSessionResourceChangeConfirmInfo-SNterminated
+ExcessPacketDelayThresholdConfiguration N xnap.extension id-ExcessPacketDelayThresholdConfiguration
+
+#XNAP-ELEMENTARY-PROCEDURE
+HandoverRequest N xnap.proc.imsg id-handoverPreparation
+HandoverRequestAcknowledge N xnap.proc.sout id-handoverPreparation
+HandoverPreparationFailure N xnap.proc.uout id-handoverPreparation
+
+SNStatusTransfer N xnap.proc.imsg id-sNStatusTransfer
+
+HandoverCancel N xnap.proc.imsg id-handoverCancel
+
+RetrieveUEContextRequest N xnap.proc.imsg id-retrieveUEContext
+RetrieveUEContextResponse N xnap.proc.sout id-retrieveUEContext
+RetrieveUEContextFailure N xnap.proc.uout id-retrieveUEContext
+
+RANPaging N xnap.proc.imsg id-rANPaging
+
+XnUAddressIndication N xnap.proc.imsg id-xnUAddressIndication
+
+UEContextRelease N xnap.proc.imsg id-uEContextRelease
+
+SNodeAdditionRequest N xnap.proc.imsg id-sNGRANnodeAdditionPreparation
+SNodeAdditionRequestAcknowledge N xnap.proc.sout id-sNGRANnodeAdditionPreparation
+SNodeAdditionRequestReject N xnap.proc.uout id-sNGRANnodeAdditionPreparation
+
+SNodeReconfigurationComplete N xnap.proc.imsg id-sNGRANnodeReconfigurationCompletion
+
+SNodeModificationRequest N xnap.proc.imsg id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation
+SNodeModificationRequestAcknowledge N xnap.proc.sout id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation
+SNodeModificationRequestReject N xnap.proc.uout id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation
+
+SNodeModificationRequired N xnap.proc.imsg id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation
+SNodeModificationConfirm N xnap.proc.sout id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation
+SNodeModificationRefuse N xnap.proc.uout id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation
+
+SNodeReleaseRequest N xnap.proc.imsg id-mNGRANnodeinitiatedSNGRANnodeRelease
+SNodeReleaseRequestAcknowledge N xnap.proc.sout id-mNGRANnodeinitiatedSNGRANnodeRelease
+SNodeReleaseReject N xnap.proc.uout id-mNGRANnodeinitiatedSNGRANnodeRelease
+
+SNodeReleaseRequired N xnap.proc.imsg id-sNGRANnodeinitiatedSNGRANnodeRelease
+SNodeReleaseConfirm N xnap.proc.sout id-sNGRANnodeinitiatedSNGRANnodeRelease
+
+SNodeCounterCheckRequest N xnap.proc.imsg id-sNGRANnodeCounterCheck
+
+SNodeChangeRequired N xnap.proc.imsg id-sNGRANnodeChange
+SNodeChangeConfirm N xnap.proc.sout id-sNGRANnodeChange
+SNodeChangeRefuse N xnap.proc.uout id-sNGRANnodeChange
+
+RRCTransfer N xnap.proc.imsg id-rRCTransfer
+
+XnRemovalRequest N xnap.proc.imsg id-xnRemoval
+XnRemovalResponse N xnap.proc.sout id-xnRemoval
+XnRemovalFailure N xnap.proc.uout id-xnRemoval
+
+XnSetupRequest N xnap.proc.imsg id-xnSetup
+XnSetupResponse N xnap.proc.sout id-xnSetup
+XnSetupFailure N xnap.proc.uout id-xnSetup
+
+NGRANNodeConfigurationUpdate N xnap.proc.imsg id-nGRANnodeConfigurationUpdate
+NGRANNodeConfigurationUpdateAcknowledge N xnap.proc.sout id-nGRANnodeConfigurationUpdate
+NGRANNodeConfigurationUpdateFailure N xnap.proc.uout id-nGRANnodeConfigurationUpdate
+
+PartialUEContextTransfer N xnap.proc.imsg id-partialUEContextTransfer
+PartialUEContextTransferAcknowledge N xnap.proc.sout id-partialUEContextTransfer
+PartialUEContextTransferFailure N xnap.proc.uout id-partialUEContextTransfer
+
+E-UTRA-NR-CellResourceCoordinationRequest N xnap.proc.imsg id-e-UTRA-NR-CellResourceCoordination
+E-UTRA-NR-CellResourceCoordinationResponse N xnap.proc.sout id-e-UTRA-NR-CellResourceCoordination
+
+CellActivationRequest N xnap.proc.imsg id-cellActivation
+CellActivationResponse N xnap.proc.sout id-cellActivation
+CellActivationFailure N xnap.proc.uout id-cellActivation
+
+ResetRequest N xnap.proc.imsg id-reset
+ResetResponse N xnap.proc.sout id-reset
+
+ErrorIndication N xnap.proc.imsg id-errorIndication
+
+NotificationControlIndication N xnap.proc.imsg id-notificationControl
+
+ActivityNotification N xnap.proc.imsg id-activityNotification
+
+PrivateMessage N xnap.proc.imsg id-privateMessage
+
+SecondaryRATDataUsageReport N xnap.proc.imsg id-secondaryRATDataUsageReport
+
+DeactivateTrace N xnap.proc.imsg id-deactivateTrace
+
+TraceStart N xnap.proc.imsg id-traceStart
+
+HandoverSuccess N xnap.proc.imsg id-handoverSuccess
+
+ConditionalHandoverCancel N xnap.proc.imsg id-conditionalHandoverCancel
+
+EarlyStatusTransfer N xnap.proc.imsg id-earlyStatusTransfer
+
+FailureIndication N xnap.proc.imsg id-failureIndication
+
+HandoverReport N xnap.proc.imsg id-handoverReport
+
+ResourceStatusRequest N xnap.proc.imsg id-resourceStatusReportingInitiation
+ResourceStatusResponse N xnap.proc.sout id-resourceStatusReportingInitiation
+ResourceStatusFailure N xnap.proc.uout id-resourceStatusReportingInitiation
+
+ResourceStatusUpdate N xnap.proc.imsg id-resourceStatusReporting
+
+MobilityChangeRequest N xnap.proc.imsg id-mobilitySettingsChange
+MobilityChangeAcknowledge N xnap.proc.sout id-mobilitySettingsChange
+MobilityChangeFailure N xnap.proc.uout id-mobilitySettingsChange
+
+AccessAndMobilityIndication N xnap.proc.imsg id-accessAndMobilityIndication
+
+CellTrafficTrace N xnap.proc.imsg id-cellTrafficTrace
+
+RANMulticastGroupPaging N xnap.proc.imsg id-RANMulticastGroupPaging
+
+ScgFailureInformationReport N xnap.proc.imsg id-scgFailureInformationReport
+
+ScgFailureTransfer N xnap.proc.imsg id-scgFailureTransfer
+
+F1CTrafficTransfer N xnap.proc.imsg id-f1CTrafficTransfer
+
+IABTransportMigrationManagementRequest N xnap.proc.imsg id-iABTransportMigrationManagement
+IABTransportMigrationManagementResponse N xnap.proc.sout id-iABTransportMigrationManagement
+IABTransportMigrationManagementReject N xnap.proc.uout id-iABTransportMigrationManagement
+
+IABTransportMigrationModificationRequest N xnap.proc.imsg id-iABTransportMigrationModification
+IABTransportMigrationModificationResponse N xnap.proc.sout id-iABTransportMigrationModification
+
+IABResourceCoordinationRequest N xnap.proc.imsg id-iABResourceCoordination
+IABResourceCoordinationResponse N xnap.proc.sout id-iABResourceCoordination
+
+RetrieveUEContextConfirm N xnap.proc.imsg id-retrieveUEContextConfirm
+
+CPCCancel N xnap.proc.imsg id-cPCCancel
+#.END
diff --git a/epan/dissectors/asn1/z3950/CMakeLists.txt b/epan/dissectors/asn1/z3950/CMakeLists.txt
new file mode 100644
index 00000000..d2d5af9c
--- /dev/null
+++ b/epan/dissectors/asn1/z3950/CMakeLists.txt
@@ -0,0 +1,40 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME z3950 )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ z3950.asn
+ z3950-oclc.asn
+ z3950-externals.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -b )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/z3950/packet-z3950-template.c b/epan/dissectors/asn1/z3950/packet-z3950-template.c
new file mode 100644
index 00000000..947a46c2
--- /dev/null
+++ b/epan/dissectors/asn1/z3950/packet-z3950-template.c
@@ -0,0 +1,1635 @@
+/* packet-z3950.c
+ * Routines for dissection of the NISO Z39.50 Information Retrieval protocol
+ * Also contains a dissector for the MARC Machine Readable Cataloging file
+ * format. The general format is specified by ISO 2709 and the specific
+ * instance is MARC21.
+ *
+ * Copyright 2018, Craig Jackson <cejackson51@gmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * References:
+ * ISO 2709: https://www.iso.org/standard/41319.html
+ * MARC21: http://www.loc.gov/marc/bibliographic/
+ * Z39.50 Maintenance Agency: http://www.loc.gov/z3950/agency/
+ * Z39.50 2003 standard: http://www.loc.gov/z3950/agency/Z39-50-2003.pdf
+ * Z39.50 1995 ASN.1: https://www.loc.gov/z3950/agency/asn1.html
+ * Registered Z39.50 Object Identifiers:
+ * http://www.loc.gov/z3950/agency/defns/oids.html
+ * Bib-1 Attribute Set: https://www.loc.gov/z3950/agency/defns/bib1.html
+ * Bib-1 Diagnostics: https://www.loc.gov/z3950/agency/defns/bib1diag.html
+ * RFC for Z39.50 over TCP/IP: https://tools.ietf.org/html/rfc1729
+ *
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/exceptions.h>
+#include <epan/expert.h>
+#include <epan/oids.h>
+#include <epan/proto_data.h>
+#include <wsutil/str_util.h>
+
+#include <string.h>
+
+#include "packet-ber.h"
+#include "packet-tcp.h"
+
+typedef struct z3950_atinfo_t {
+ gint atsetidx;
+ gint attype;
+} z3950_atinfo_t;
+
+typedef struct z3950_diaginfo_t {
+ gint diagsetidx;
+ gint diagcondition;
+} z3950_diaginfo_t;
+
+#define PNAME "Z39.50 Protocol"
+#define PSNAME "Z39.50"
+#define PFNAME "z3950"
+#define Z3950_PORT 210 /* UDP port */
+
+/* Known attribute set ids */
+#define Z3950_ATSET_BIB1_OID "1.2.840.10003.3.1"
+
+/* Known diagnostic set ids */
+#define Z3950_DIAGSET_BIB1_OID "1.2.840.10003.4.1"
+
+/* Known record syntax ids */
+#define Z3950_RECORDSYNTAX_MARC21_OID "1.2.840.10003.5.10"
+
+/* Indexes of known attribute set ids */
+#define Z3950_ATSET_UNKNOWN 0
+#define Z3950_ATSET_BIB1 1
+
+/* bib-1 Attribute Types */
+#define Z3950_BIB1_AT_USE 1
+#define Z3950_BIB1_AT_RELATION 2
+#define Z3950_BIB1_AT_POSITION 3
+#define Z3950_BIB1_AT_STRUCTURE 4
+#define Z3950_BIB1_AT_TRUNCATION 5
+#define Z3950_BIB1_AT_COMPLETENESS 6
+
+/* Indexes of known diagnostic set ids */
+#define Z3950_DIAGSET_UNKNOWN 0
+#define Z3950_DIAGSET_BIB1 1
+
+/* Per-packet data keys */
+#define Z3950_ATINFO_KEY 1
+#define Z3950_DIAGSET_KEY 2
+
+/* MARC defines */
+#define MARC_SUBFIELD_INDICATOR '\x1f'
+#define MARC_LEADER_LENGTH 24
+#define MARC_CHAR_UNINITIALIZED 256
+
+#define marc_isdigit(x) (((x) >='0') && ((x) <= '9'))
+#define marc_char_to_int(x) ((x) - '0')
+
+typedef struct marc_directory_entry {
+ guint32 tag;
+ guint32 length;
+ guint32 starting_character;
+} marc_directory_entry;
+
+static dissector_handle_t z3950_handle=NULL;
+
+void proto_reg_handoff_z3950(void);
+void proto_register_z3950(void);
+
+/* Initialize the protocol and registered fields */
+static int proto_z3950 = -1;
+static int global_z3950_port = Z3950_PORT;
+static gboolean z3950_desegment = TRUE;
+
+static const value_string z3950_bib1_att_types[] = {
+ { Z3950_BIB1_AT_USE, "Use" },
+ { Z3950_BIB1_AT_RELATION, "Relation" },
+ { Z3950_BIB1_AT_POSITION, "Position" },
+ { Z3950_BIB1_AT_STRUCTURE, "Structure" },
+ { Z3950_BIB1_AT_TRUNCATION, "Truncation" },
+ { Z3950_BIB1_AT_COMPLETENESS, "Completeness"},
+ { 0, NULL}
+};
+
+static const value_string z3950_bib1_at_use[] = {
+ { 1, "Personal name" },
+ { 2, "Corporate name" },
+ { 3, "Conference name" },
+ { 4, "Title" },
+ { 5, "Title series" },
+ { 6, "Title uniform" },
+ { 7, "ISBN" },
+ { 8, "ISSN" },
+ { 9, "LC card number" },
+ { 10, "BNB card number" },
+ { 11, "BGF card number" },
+ { 12, "Local number" },
+ { 13, "Dewey classification" },
+ { 14, "UDC classification" },
+ { 15, "Bliss classification" },
+ { 16, "LC call number" },
+ { 17, "NLM call number" },
+ { 18, "NAL call number" },
+ { 19, "MOS call number" },
+ { 20, "Local classification" },
+ { 21, "Subject heading" },
+ { 22, "Subject Rameau" },
+ { 23, "BDI index subject" },
+ { 24, "INSPEC subject" },
+ { 25, "MESH subject" },
+ { 26, "PA subject" },
+ { 27, "LC subject heading" },
+ { 28, "RVM subject heading" },
+ { 29, "Local subject index" },
+ { 30, "Date" },
+ { 31, "Date of publication" },
+ { 32, "Date of acquisition" },
+ { 33, "Title key" },
+ { 34, "Title collective" },
+ { 35, "Title parallel" },
+ { 36, "Title cover" },
+ { 37, "Title added title pagw" },
+ { 38, "Title caption" },
+ { 39, "Title running" },
+ { 40, "Title spine" },
+ { 41, "Title other variant" },
+ { 42, "Title former" },
+ { 43, "Title abbreviated" },
+ { 44, "Title expanded" },
+ { 45, "Subject precis" },
+ { 46, "Subject rswk" },
+ { 47, "Subject subdivision" },
+ { 48, "No. nat'l biblio." },
+ { 49, "No. legal deposit" },
+ { 50, "No. govt pub." },
+ { 51, "No. music publisher" },
+ { 52, "Number db" },
+ { 53, "Number local call" },
+ { 54, "Code-language" },
+ { 55, "Code-geographic area" },
+ { 56, "Code-institution" },
+ { 57, "Name and title *" },
+ { 58, "Name geographic" },
+ { 59, "Place publication" },
+ { 60, "CODEN" },
+ { 61, "Microform generation" },
+ { 62, "Abstract" },
+ { 63, "Note" },
+ { 1000, "Author-title" },
+ { 1001, "Record type" },
+ { 1002, "Name" },
+ { 1003, "Author" },
+ { 1004, "Author-name personal" },
+ { 1005, "Author-name corporate" },
+ { 1006, "Author-name conference" },
+ { 1007, "Identifier-standard" },
+ { 1008, "Subject-LC children's" },
+ { 1009, "Subject name-personal" },
+ { 1010, "Body of text" },
+ { 1011, "Date/time added to db" },
+ { 1012, "Date/time last modified" },
+ { 1013, "Authority/format id" },
+ { 1014, "Concept-text" },
+ { 1015, "Concept-reference" },
+ { 1016, "Any" },
+ { 1017, "Server-choice" },
+ { 1018, "Publisher" },
+ { 1019, "Record-source" },
+ { 1020, "Editor" },
+ { 1021, "Bib-level" },
+ { 1022, "Geographic class" },
+ { 1023, "Indexed-by" },
+ { 1024, "Map-scale" },
+ { 1025, "Music-key" },
+ { 1026, "Related-periodical" },
+ { 1027, "Report-number" },
+ { 1028, "Stock-number" },
+ { 1030, "Thematic-number" },
+ { 1031, "Material-type" },
+ { 1032, "Doc-id" },
+ { 1033, "Host-item" },
+ { 1034, "Content-type" },
+ { 1035, "Anywhere" },
+ { 1036, "Author-Title-Subject" },
+ { 1037, "Serial Item and Contribution Identifier (SICI)" },
+ { 1038, "Abstract-language" },
+ { 1039, "Application-kind" },
+ { 1040, "Classification" },
+ { 1041, "Classification-basic" },
+ { 1042, "Classification-local-record" },
+ { 1043, "Enzyme" },
+ { 1044, "Possessing-institution" },
+ { 1045, "Record-linking" },
+ { 1046, "Record-status" },
+ { 1047, "Treatment" },
+ { 1048, "Control-number-GKD" },
+ { 1049, "Control-number-linking" },
+ { 1050, "Control-number-PND" },
+ { 1051, "Control-number-SWD" },
+ { 1052, "Control-number-ZDB" },
+ { 1053, "Country-publication" },
+ { 1054, "Date-conference" },
+ { 1055, "Date-record-status" },
+ { 1056, "Dissertation-information" },
+ { 1057, "Meeting-organizer" },
+ { 1058, "Note-availability" },
+ { 1059, "Number-CAS-registry" },
+ { 1060, "Number-document" },
+ { 1061, "Number-local-accounting" },
+ { 1062, "Number-local-acquisition" },
+ { 1063, "Number-local-call-copy-specific" },
+ { 1064, "Number-of-reference" },
+ { 1065, "Number-norm" },
+ { 1066, "Number-volume" },
+ { 1067, "Place-conference (meeting location)" },
+ { 1068, "Reference (references and footnotes)" },
+ { 1069, "Referenced-journal" },
+ { 1070, "Section-code" },
+ { 1071, "Section-heading" },
+ { 1072, "Subject-GOO" },
+ { 1073, "Subject-name-conference" },
+ { 1074, "Subject-name-corporate" },
+ { 1075, "Subject-genre/form" },
+ { 1076, "Subject-name-geographical" },
+ { 1077, "Subject-chronological" },
+ { 1078, "Subject-title" },
+ { 1079, "Subject-topical" },
+ { 1080, "Subject-uncontrolled" },
+ { 1081, "Terminology-chemical" },
+ { 1082, "Title-translated" },
+ { 1083, "Year-of-beginning" },
+ { 1084, "Year-of-ending" },
+ { 1085, "Subject-AGROVOC" },
+ { 1086, "Subject-COMPASS" },
+ { 1087, "Subject-EPT" },
+ { 1088, "Subject-NAL" },
+ { 1089, "Classification-BCM" },
+ { 1090, "Classification-DB" },
+ { 1091, "Identifier-ISRC" },
+ { 1092, "Identifier-ISMN" },
+ { 1093, "Identifier-ISRN" },
+ { 1094, "Identifier-DOI" },
+ { 1095, "Code-language-original" },
+ { 1096, "Title-later" },
+ { 1097, "DC-Title" },
+ { 1098, "DC-Creator" },
+ { 1099, "DC-Subject" },
+ { 1100, "DC-Description" },
+ { 1101, "DC-Publisher" },
+ { 1102, "DC-Date" },
+ { 1103, "DC-ResourceType" },
+ { 1104, "DC-ResourceIdentifier" },
+ { 1105, "DC-Language" },
+ { 1106, "DC-OtherContributor" },
+ { 1107, "DC-Format" },
+ { 1108, "DC-Source" },
+ { 1109, "DC-Relation" },
+ { 1110, "DC-Coverage" },
+ { 1111, "DC-RightsManagment" },
+ { 1112, "GILS Controlled Subject Index" },
+ { 1113, "GILS Subject Thesaurus" },
+ { 1114, "GILS Index Terms -- Controlled" },
+ { 1115, "GILS Controlled Term" },
+ { 1116, "GILS Spacial Domain" },
+ { 1117, "GILS Bounding Coordinates" },
+ { 1118, "GILS West Bounding Coordinate" },
+ { 1119, "GILS East Bounding Coordinate" },
+ { 1120, "GILS North Bounding Coordinate" },
+ { 1121, "GILS South Bounding Coordinate" },
+ { 1122, "GILS Place" },
+ { 1123, "GILS Place Keyword Thesaurus" },
+ { 1124, "GILS Place Keyword" },
+ { 1125, "GILS Time Period" },
+ { 1126, "GILS Time Period Textual" },
+ { 1127, "GILS Time Period Structured" },
+ { 1128, "GILS Beginning Date" },
+ { 1129, "GILS Ending Date" },
+ { 1130, "GILS Availability" },
+ { 1131, "GILS Distributor" },
+ { 1132, "GILS Distributor Name" },
+ { 1133, "GILS Distributor Organization" },
+ { 1134, "GILS Distributor Street Address" },
+ { 1135, "GILS Distributor City" },
+ { 1136, "GILS Distributor State or Province" },
+ { 1137, "GILS Distributor Zip or Postal Code" },
+ { 1138, "GILS Distributor Country" },
+ { 1139, "GILS Distributor Network Address" },
+ { 1140, "GILS Distributor Hours of Service" },
+ { 1141, "GILS Distributor Telephone" },
+ { 1142, "GILS Distributor Fax" },
+ { 1143, "GILS Resource Description" },
+ { 1144, "GILS Order Process" },
+ { 1145, "GILS Order Information" },
+ { 1146, "GILS Cost" },
+ { 1147, "GILS Cost Information" },
+ { 1148, "GILS Technical Prerequisites" },
+ { 1149, "GILS Available Time Period" },
+ { 1150, "GILS Available Time Textual" },
+ { 1151, "GILS Available Time Structured" },
+ { 1152, "GILS Available Linkage" },
+ { 1153, "GILS Linkage Type" },
+ { 1154, "GILS Linkage" },
+ { 1155, "GILS Sources of Data" },
+ { 1156, "GILS Methodology" },
+ { 1157, "GILS Access Constraints" },
+ { 1158, "GILS General Access Constraints" },
+ { 1159, "GILS Originator Dissemination Control" },
+ { 1160, "GILS Security Classification Control" },
+ { 1161, "GILS Use Constraints" },
+ { 1162, "GILS Point of Contact" },
+ { 1163, "GILS Contact Name" },
+ { 1164, "GILS Contact Organization" },
+ { 1165, "GILS Contact Street Address" },
+ { 1166, "GILS Contact City" },
+ { 1167, "GILS Contact State or Province" },
+ { 1168, "GILS Contact Zip or Postal Code" },
+ { 1169, "GILS Contact Country" },
+ { 1170, "GILS Contact Network Address" },
+ { 1171, "GILS Contact Hours of Service" },
+ { 1172, "GILS Contact Telephone" },
+ { 1173, "GILS Contact Fax" },
+ { 1174, "GILS Supplemental Information" },
+ { 1175, "GILS Purpose" },
+ { 1176, "GILS Agency Program" },
+ { 1177, "GILS Cross Reference" },
+ { 1178, "GILS Cross Reference Title" },
+ { 1179, "GILS Cross Reference Relationship" },
+ { 1180, "GILS Cross Reference Linkage" },
+ { 1181, "GILS Schedule Number" },
+ { 1182, "GILS Original Control Identifier" },
+ { 1183, "GILS Language of Record" },
+ { 1184, "GILS Record Review Date" },
+ { 1185, "Performer" },
+ { 1186, "Performer-Individual" },
+ { 1187, "Performer-Group" },
+ { 1188, "Instrumentation" },
+ { 1189, "Instrumentation-Original" },
+ { 1190, "Instrumentation-Current" },
+ { 1191, "Arrangement" },
+ { 1192, "Arrangement-Original" },
+ { 1193, "Arrangement-Current" },
+ { 1194, "Musical Key-Original" },
+ { 1195, "Musical Key-Current" },
+ { 1196, "Date-Composition" },
+ { 1197, "Date-Recording" },
+ { 1198, "Place-Recording" },
+ { 1199, "Country-Recording" },
+ { 1200, "Number-ISWC" },
+ { 1201, "Number-Matrix" },
+ { 1202, "Number-Plate" },
+ { 1203, "Classification-McColvin" },
+ { 1204, "Duration" },
+ { 1205, "Number-Copies" },
+ { 1206, "Musical Theme" },
+ { 1207, "Instruments - total number" },
+ { 1208, "Instruments - distinct number" },
+ { 1209, "Identifier - URN" },
+ { 1210, "Sears Subject Heading" },
+ { 1211, "OCLC Number" },
+ { 1212, "NORZIG Composition" },
+ { 1213, "NORZIG Intellectual level" },
+ { 1214, "NORZIG EAN" },
+ { 1215, "NORZIG NLC" },
+ { 1216, "NORZIG CRCS" },
+ { 1217, "NORZIG Nationality" },
+ { 1218, "NORZIG Equinox" },
+ { 1219, "NORZIG Compression" },
+ { 1220, "NORZIG Format" },
+ { 1221, "NORZIG Subject - occupation" },
+ { 1222, "NORZIG Subject - function" },
+ { 1223, "NORZIG Edition" },
+ { 1224, "GPO Item Number" },
+ { 1225, "Provider" },
+ { 0, NULL}
+};
+
+static const value_string z3950_bib1_at_relation[] = {
+ { 1, "Less than" },
+ { 2, "Less than or equal" },
+ { 3, "Equal" },
+ { 4, "Greater than or equal" },
+ { 5, "Greater than" },
+ { 6, "Not equal" },
+ { 100, "Phonetic" },
+ { 101, "Stem" },
+ { 102, "Relevance" },
+ { 103, "Always Matches" },
+ { 0, NULL}
+};
+
+static const value_string z3950_bib1_at_position[] = {
+ { 1, "First in field" },
+ { 2, "First in subfield" },
+ { 3, "Any position in field" },
+ { 0, NULL}
+};
+
+static const value_string z3950_bib1_at_structure[] = {
+ { 1, "Phrase" },
+ { 2, "Word" },
+ { 3, "Key" },
+ { 4, "Year" },
+ { 5, "Date (normalized)" },
+ { 6, "Word list" },
+ { 100, "Date (un-normalized)" },
+ { 101, "Name (normalized)" },
+ { 102, "Name (un-normalized)" },
+ { 103, "Structure" },
+ { 104, "Urx" },
+ { 105, "Free-form-text" },
+ { 106, "Document-text" },
+ { 107, "Local" },
+ { 108, "String" },
+ { 109, "Numeric" },
+ { 0, NULL}
+};
+
+static const value_string z3950_bib1_at_truncation[] = {
+ { 1, "Right truncation" },
+ { 2, "Left truncation" },
+ { 3, "Left and right truncation" },
+ { 100, "Do not truncate" },
+ { 101, "Process # in search term" },
+ { 102, "regExpr-1" },
+ { 103, "regExpr-2" },
+ { 104, "Z39.58-1992 Character masking" },
+ { 0, NULL}
+};
+
+static const value_string z3950_bib1_at_completeness[] = {
+ { 1, "Incomplete subfield" },
+ { 2, "Complete subfield" },
+ { 3, "Complete field" },
+ { 0, NULL}
+};
+
+static const value_string z3950_bib1_diagconditions[] = {
+ { 1, "Permanent system error" },
+ { 2, "Temporary system error" },
+ { 3, "Unsupported search" },
+ { 4, "Terms only exclusion (stop) words" },
+ { 5, "Too many argument words" },
+ { 6, "Too many boolean operators" },
+ { 7, "Too many truncated words" },
+ { 8, "Too many incomplete subfields" },
+ { 9, "Truncated words too short" },
+ { 10, "Invalid format for record number (search term)" },
+ { 11, "Too many characters in search statement" },
+ { 12, "Too many records retrieved" },
+ { 13, "Present request out of range" },
+ { 14, "System error in presenting records" },
+ { 15, "Record no authorized to be sent intersystem" },
+ { 16, "Record exceeds Preferred-message-size" },
+ { 17, "Record exceeds Maximum-record-size" },
+ { 18, "Result set not supported as a search term" },
+ { 19, "Only single result set as search term supported" },
+ { 20, "Only ANDing of a single result set as search term supported" },
+ { 21, "Result set exists and replace indicator off" },
+ { 22, "Result set naming not supported" },
+ { 23, "Combination of specified databases not supported" },
+ { 24, "Element set names not supported" },
+ { 25, "Specified element set name not valid for specified database" },
+ { 26, "Only a single element set name supported" },
+ { 27, "Result set no longer exists - unilaterally deleted by target" },
+ { 28, "Result set is in use" },
+ { 29, "One of the specified databases is locked" },
+ { 30, "Specified result set does not exist" },
+ { 31, "Resources exhausted - no results available" },
+ { 32, "Resources exhausted - unpredictable partial results available" },
+ { 33, "Resources exhausted - valid subset of results available" },
+ { 100, "Unspecified error" },
+ { 101, "Access-control failure" },
+ { 102, "Security challenge required but could not be issued - request terminated" },
+ { 103, "Security challenge required but could not be issued - record not included" },
+ { 104, "Security challenge failed - record not included" },
+ { 105, "Terminated by negative continue response" },
+ { 106, "No abstract syntaxes agreed to for this record" },
+ { 107, "Query type not supported" },
+ { 108, "Malformed query" },
+ { 109, "Database unavailable" },
+ { 110, "Operator unsupported" },
+ { 111, "Too many databases specified" },
+ { 112, "Too many result sets created" },
+ { 113, "Unsupported attribute type" },
+ { 114, "Unsupported Use attribute" },
+ { 115, "Unsupported value for Use attribute" },
+ { 116, "Use attribute required but not supplied" },
+ { 117, "Unsupported Relation attribute" },
+ { 118, "Unsupported Structure attribute" },
+ { 119, "Unsupported Position attribute" },
+ { 120, "Unsupported Truncation attribute" },
+ { 121, "Unsupported Attribute Set" },
+ { 122, "Unsupported Completeness attribute" },
+ { 123, "Unsupported attribute combination" },
+ { 124, "Unsupported coded value for term" },
+ { 125, "Malformed search term" },
+ { 126, "Illegal term value for attribute" },
+ { 127, "Unparsable format for un-normalized value" },
+ { 128, "Illegal result set name" },
+ { 129, "Proximity search of sets not supported" },
+ { 130, "Illegal result set in proximity search" },
+ { 131, "Unsupported proximity relation" },
+ { 132, "Unsupported proximity unit code" },
+ { 201, "Proximity not supported with this attribute combination" },
+ { 202, "Unsupported distance for proximity" },
+ { 203, "Ordered flag not supported for proximity" },
+ { 205, "Only zero step size supported for Scan" },
+ { 206, "Specified step size not supported for Scan" },
+ { 207, "Cannot sort according to sequence" },
+ { 208, "No result set name supplied on Sort" },
+ { 209, "Generic sort not supported (database-specific sort only supported)" },
+ { 210, "Database specific sort not supported" },
+ { 211, "Too many sort keys" },
+ { 212, "Duplicate sort keys" },
+ { 213, "Unsupported missing data action" },
+ { 214, "Illegal sort relation" },
+ { 215, "Illegal case value" },
+ { 216, "Illegal missing data action" },
+ { 217, "Segmentation: Cannot guarantee records will fit in specified segments" },
+ { 218, "ES: Package name already in use" },
+ { 219, "ES: no such package, on modify/delete" },
+ { 220, "ES: quota exceeded" },
+ { 221, "ES: extended service type not supported" },
+ { 222, "ES: permission denied on ES - id not authorized" },
+ { 223, "ES: permission denied on ES - cannot modify or delete" },
+ { 224, "ES: immediate execution failed" },
+ { 225, "ES: immediate execution not supported for this service" },
+ { 226, "ES: immediate execution not supported for these parameters" },
+ { 227, "No data available in requested record syntax" },
+ { 228, "Scan: malformed scan" },
+ { 229, "Term type not supported" },
+ { 230, "Sort: too many input results" },
+ { 231, "Sort: incompatible record formats" },
+ { 232, "Scan: term list not supported" },
+ { 233, "Scan: unsupported value of position-in-response" },
+ { 234, "Too many index terms processed" },
+ { 235, "Database does not exist" },
+ { 236, "Access to specified database denied" },
+ { 237, "Sort: illegal sort" },
+ { 238, "Record not available in requested syntax" },
+ { 239, "Record syntax not supported" },
+ { 240, "Scan: Resources exhausted looking for satisfying terms" },
+ { 241, "Scan: Beginning or end of term list" },
+ { 242, "Segmentation: max-segment-size too small to segment record" },
+ { 243, "Present: additional-ranges parameter not supported" },
+ { 244, "Present: comp-spec parameter not supported" },
+ { 245, "Type-1 query: restriction ('resultAttr') operand not supported" },
+ { 246, "Type-1 query: 'complex' attributeValue not supported" },
+ { 247, "Type-1 query: 'attributeSet' as part of AttributeElement not supported" },
+ { 1001, "Malformed APDU" },
+ { 1002, "ES: EXTERNAL form of Item Order request not supported" },
+ { 1003, "ES: Result set item form of Item Order request not supported" },
+ { 1004, "ES: Extended services not supported unless access control is in effect" },
+ { 1005, "Response records in Search response not supported" },
+ { 1006, "Response records in Search response not possible for specified database (or database combination)" },
+ { 1007, "No Explain server. Addinfo: pointers to servers that have a surrogate Explain database for this server" },
+ { 1008, "ES: missing mandatory parameter for specified function. Addinfo: parameter" },
+ { 1009, "ES: Item Order, unsupported OID in itemRequest. Addinfo: OID" },
+ { 1010, "Init/AC: Bad Userid" },
+ { 1011, "Init/AC: Bad Userid and/or Password" },
+ { 1012, "Init/AC: No searches remaining (pre-purchased searches exhausted)" },
+ { 1013, "Init/AC: Incorrect interface type (specified id valid only when used with a particular access method or client)" },
+ { 1014, "Init/AC: Authentication System error" },
+ { 1015, "Init/AC: Maximum number of simultaneous sessions for Userid" },
+ { 1016, "Init/AC: Blocked network address" },
+ { 1017, "Init/AC: No databases available for specified userId" },
+ { 1018, "Init/AC: System temporarily out of resources" },
+ { 1019, "Init/AC: System not available due to maintenance" },
+ { 1020, "Init/AC: System temporarily unavailable (Addinfo: when it's expected back up)" },
+ { 1021, "Init/AC: Account has expired" },
+ { 1022, "Init/AC: Password has expired so a new one must be supplied" },
+ { 1023, "Init/AC: Password has been changed by an administrator so a new one must be supplied" },
+ { 1024, "Unsupported Attribute" },
+ { 1025, "Service not supported for this database" },
+ { 1026, "Record cannot be opened because it is locked" },
+ { 1027, "SQL error" },
+ { 1028, "Record deleted" },
+ { 1029, "Scan: too many terms requested. Addinfo: max terms supported" },
+ { 1040, "ES: Invalid function" },
+ { 1041, "ES: Error in retention time" },
+ { 1042, "ES: Permissions data not understood" },
+ { 1043, "ES: Invalid OID for task specific parameters" },
+ { 1044, "ES: Invalid action" },
+ { 1045, "ES: Unknown schema" },
+ { 1046, "ES: Too many records in package" },
+ { 1047, "ES: Invalid wait action" },
+ { 1048, "ES: Cannot create task package -- exceeds maximum permissible size" },
+ { 1049, "ES: Cannot return task package -- exceeds maximum permissible size" },
+ { 1050, "ES: Extended services request too large" },
+ { 1051, "Scan: Attribute set id required -- not supplied" },
+ { 1052, "ES: Cannot process task package record -- exceeds maximum permissible record size for ES" },
+ { 1053, "ES: Cannot return task package record -- exceeds maximum permissible record size for ES response" },
+ { 1054, "Init: Required negotiation record not included" },
+ { 1055, "Init: negotiation option required" },
+ { 1056, "Attribute not supported for database" },
+ { 1057, "ES: Unsupported value of task package parameter" },
+ { 1058, "Duplicate Detection: Cannot dedup on requested record portion" },
+ { 1059, "Duplicate Detection: Requested detection criterion not supported" },
+ { 1060, "Duplicate Detection: Requested level of match not supported" },
+ { 1061, "Duplicate Detection: Requested regular expression not supported" },
+ { 1062, "Duplicate Detection: Cannot do clustering" },
+ { 1063, "Duplicate Detection: Retention criterion not supported" },
+ { 1064, "Duplicate Detection: Requested number (or percentage) of entries for retention too large" },
+ { 1065, "Duplicate Detection: Requested sort criterion not supported" },
+ { 1066, "CompSpec: Unknown schema, or schema not supported." },
+ { 1067, "Encapsulation: Encapsulated sequence of PDUs not supported" },
+ { 1068, "Encapsulation: Base operation (and encapsulated PDUs) not executed based on pre-screening analysis" },
+ { 1069, "No syntaxes available for this request" },
+ { 1070, "User not authorized to receive record(s) in requested syntax" },
+ { 1071, "preferredRecordSyntax not supplied" },
+ { 1072, "Query term includes characters that do not translate into the target character set" },
+ { 1073, "Database records do not contain data associated with access point" },
+ { 1074, "Proxy failure" },
+ { 0, NULL}
+};
+
+#include "packet-z3950-hf.c"
+
+static int hf_z3950_referenceId_printable = -1;
+static int hf_z3950_general_printable = -1;
+
+/* Initialize the subtree pointers */
+static int ett_z3950 = -1;
+
+#include "packet-z3950-ett.c"
+
+/* MARC variables and forwards */
+
+static int dissect_marc_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void * data _U_);
+
+/* MARC fields */
+static int hf_marc_record = -1;
+static int hf_marc_record_terminator = -1;
+static int hf_marc_leader = -1;
+static int hf_marc_leader_length = -1;
+static int hf_marc_leader_status = -1;
+static int hf_marc_leader_type = -1;
+static int hf_marc_leader_biblevel = -1;
+static int hf_marc_leader_control = -1;
+static int hf_marc_leader_encoding = -1;
+static int hf_marc_leader_indicator_count = -1;
+static int hf_marc_leader_subfield_count = -1;
+static int hf_marc_leader_data_offset = -1;
+static int hf_marc_leader_encoding_level = -1;
+static int hf_marc_leader_descriptive_cataloging = -1;
+static int hf_marc_leader_multipart_level = -1;
+static int hf_marc_leader_length_of_field_length = -1;
+static int hf_marc_leader_starting_character_position_length = -1;
+static int hf_marc_leader_implementation_defined_length = -1;
+static int hf_marc_directory = -1;
+static int hf_marc_directory_entry = -1;
+static int hf_marc_directory_entry_tag = -1;
+static int hf_marc_directory_entry_length = -1;
+static int hf_marc_directory_entry_starting_position = -1;
+static int hf_marc_directory_terminator = -1;
+static int hf_marc_fields = -1;
+static int hf_marc_field = -1;
+static int hf_marc_field_control = -1;
+static int hf_marc_field_terminator = -1;
+static int hf_marc_field_indicator1 = -1;
+static int hf_marc_field_indicator2 = -1;
+static int hf_marc_field_subfield_indicator = -1;
+static int hf_marc_field_subfield_tag = -1;
+static int hf_marc_field_subfield = -1;
+
+/* MARC subtree pointers */
+static int ett_marc_record = -1;
+static int ett_marc_leader = -1;
+static int ett_marc_directory = -1;
+static int ett_marc_directory_entry = -1;
+static int ett_marc_fields = -1;
+static int ett_marc_field = -1;
+
+/* MARC expert fields */
+static expert_field ei_marc_invalid_length = EI_INIT;
+static expert_field ei_marc_invalid_value = EI_INIT;
+static expert_field ei_marc_invalid_record_length = EI_INIT;
+
+/* MARC value strings */
+
+static const value_string marc_tag_names[] = {
+ { 1, "Control Number" },
+ { 3, "Control Number Identifier" },
+ { 5, "Date and Time of Latest Transaction" },
+ { 6, "Fixed-length Data Elements - Additional Material Characteristics" },
+ { 8, "Fixed-length Data Elements" },
+ { 7, "Physical Description Fixed Field" },
+ { 10, "Library of Congress Control Number" },
+ { 15, "National Bibliography Number" },
+ { 16, "National Bibliographic Agency Control Number" },
+ { 17, "Copyright or Legal Deposit Number" },
+ { 20, "International Standard Book Number (ISBN)" },
+ { 22, "International Standard Serial Number (ISSN)" },
+ { 24, "Other Standard Identifier" },
+ { 25, "Overseas Acquisition Number" },
+ { 26, "Fingerprint Identifier" },
+ { 27, "Standard Technical Report Number" },
+ { 28, "Publisher or Distributor Number" },
+ { 30, "CODEN Designation" },
+ { 32, "Postal Registration Number" },
+ { 33, "Date/Time and Place of an Event" },
+ { 35, "System Control Number" },
+ { 37, "Source of Acquisition" },
+ { 38, "Record Content Licensor" },
+ { 40, "Cataloging Source" },
+ { 41, "Language Code" },
+ { 42, "Authentication Code" },
+ { 43, "Geographic Area Code" },
+ { 44, "Country of Publishing/Producing Entity Code" },
+ { 45, "Time Period of Content" },
+ { 47, "Form of Musical Composition Code" },
+ { 50, "Library of Congress Call Number" },
+ { 51, "Library of Congress Copy, Issue, Offprint Statement" },
+ { 60, "National Library of Medicine Call Number" },
+ { 66, "Character Sets Present" },
+ { 80, "Universal Decimal Classification Number" },
+ { 82, "Dewey Decimal Classification Number" },
+ { 83, "Additional Dewey Decimal Classification Number" },
+ { 84, "Other Classification Number" },
+ { 100, "Main Entry - Personal Name" },
+ { 110, "Main Entry - Corporate Name" },
+ { 111, "Main Entry - Meeting Name" },
+ { 130, "Main Entry - Uniform Title" },
+ { 210, "Abbreviated Title" },
+ { 222, "Key Title" },
+ { 240, "Uniform Title" },
+ { 242, "Translation of Title by Cataloging Agency" },
+ { 243, "Collective Uniform Title" },
+ { 245, "Title Statement" },
+ { 246, "Varying Form of Title" },
+ { 247, "Former Title" },
+ { 249, "Local LoC Varying Form of Title" },
+ { 250, "Edition Statement" },
+ { 260, "Publication, Distribution, etc. (Imprint)" },
+ { 264, "Production, Publication, Distribution, Manufacture, and Copyright Notice" },
+ { 300, "Physical Description" },
+ { 310, "Current Publication Frequency" },
+ { 321, "former Publication Frequency" },
+ { 336, "Content Type" },
+ { 337, "Media Type" },
+ { 338, "Carrier Type" },
+ { 340, "Physical Medium" },
+ { 362, "Dates of Publication and/or Sequential Designation" },
+ { 400, "Series Statement/Added Entry-Personal Name" },
+ { 410, "Series Statement/Added Entry-Corporate Name" },
+ { 411, "Series Statement/Added Entry-Meeting Name" },
+ { 440, "Series Statement/Added Entry-Title" },
+ { 490, "Series Statement" },
+ { 500, "General Note" },
+ { 504, "Bibliography, etc. Note" },
+ { 505, "Formatted Contents Note" },
+ { 506, "Restrictions on Access Note" },
+ { 508, "Creation/Production Credits Note" },
+ { 510, "Citation/References Note" },
+ { 511, "Participant or Performer Note" },
+ { 515, "Numbering Peculiarities Note" },
+ { 518, "Date/Time and Place of an Event Note" },
+ { 520, "Summary, etc." },
+ { 521, "Target Audience Note" },
+ { 522, "Geographic Coverage Note" },
+ { 524, "Preferred Citation of Described Materials Note" },
+ { 525, "Supplement Note" },
+ { 530, "Additional Physical Form available Note" },
+ { 532, "Accessibility Note" },
+ { 533, "Reproduction Note" },
+ { 534, "Original Version Note" },
+ { 538, "System Details Note" },
+ { 540, "Terms Governing Use and Reproduction Note" },
+ { 541, "Immediate Source of Acquisition Note" },
+ { 542, "Information Relating to Copyright Status" },
+ { 546, "Language Note" },
+ { 550, "Issuing Body Note" },
+ { 555, "Cumulative Index/Finding Aids Note" },
+ { 583, "Action Note" },
+ { 588, "Source of Description, Etc. Note" },
+ { 590, "Local LoC Note" },
+ { 591, "Local LoC \"With\" Note" },
+ { 592, "Local LoC Acquisition Note" },
+ { 600, "Subject Added Entry - Personal Name" },
+ { 610, "Subject Added Entry - Corporate Name" },
+ { 611, "Subject Added Entry - Meeting Name" },
+ { 630, "Subject Added Entry - Uniform Title" },
+ { 647, "Subject Added Entry - Named Event" },
+ { 648, "Subject Added Entry - Chronological Term" },
+ { 650, "Subject Added Entry - Topical Term" },
+ { 651, "Subject Added Entry - Geographic Name" },
+ { 653, "Index Term - Uncontrolled" },
+ { 654, "Subject Added Entry - Faceted Topical Terms" },
+ { 655, "Index Term - Genre/Form" },
+ { 656, "Index Term - Occupation" },
+ { 657, "Index Term - Function" },
+ { 658, "Index Term - Curriculum Objective" },
+ { 662, "Subject Added Entry - Hierarchical Place Name" },
+ { 700, "Added Entry - Personal Name" },
+ { 710, "Added Entry - Corporate Name" },
+ { 711, "Added Entry - Meeting Name" },
+ { 720, "Added Entry - Uncontrolled Name" },
+ { 730, "Added Entry - Uniform Title" },
+ { 740, "Added Entry - Uncontrolled Related/Analytical Title" },
+ { 751, "Added Entry - Geographic Name" },
+ { 752, "Added Entry - Hierarchical Place Name" },
+ { 753, "System Details Access to Computer Files" },
+ { 754, "Added Entry - Taxonomic Identification" },
+ { 758, "Resource Identifier" },
+ { 760, "Main Series Entry" },
+ { 762, "Subseries Entry" },
+ { 765, "Original Language Entry" },
+ { 767, "Translation Entry" },
+ { 770, "Supplement/Special Issue Entry" },
+ { 772, "Supplement Parent Entry" },
+ { 773, "Host Item Entry" },
+ { 774, "Constituent Unit Entry" },
+ { 775, "Other Edition Entry" },
+ { 776, "Additional Physical Form Entry" },
+ { 777, "Issued With Entry" },
+ { 780, "Preceding Entry" },
+ { 785, "Succeeding Entry" },
+ { 786, "Data Source Entry" },
+ { 787, "Other Relationship Entry" },
+ { 800, "Series Added Entry - Personal Name" },
+ { 810, "Series Added Entry - Corporate Name" },
+ { 811, "Series Added Entry - Meeting Name" },
+ { 830, "Series Added Entry - Uniform Title" },
+ { 850, "Holding Institution" },
+ { 852, "Location" },
+ { 853, "Captions and Pattern - Basic Bibliographic Unit" },
+ { 856, "Electronic Location and Access" },
+ { 859, "Local LoC Electronic Location and Access" },
+ { 863, "Enumeration and Chronology - Basic Bibliographic Unit" },
+ { 880, "Alternate Graphic Representation" },
+ { 890, "Local LoC Visible File Entry" },
+ { 906, "Local LoC Processing Data" },
+ { 920, "Local LoC Selection Decision" },
+ { 922, "Local LoC Book Source" },
+ { 923, "Local LoC Supplier Invoice or Shipment Id" },
+ { 925, "Local LoC Selection Decision" },
+ { 952, "Local LoC Cataloger's Permanent Note" },
+ { 955, "Local LoC Functional Identifying Information" },
+ { 984, "Local LoC Shelflist Compare Status" },
+ { 985, "Local LoC Record History" },
+ { 987, "Local LoC Conversation History" },
+ { 991, "Local LoC Location Information" },
+ { 992, "Local LoC Location Information" },
+ { 0, NULL}
+};
+
+static int
+dissect_z3950_printable_OCTET_STRING(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *next_tvb = NULL;
+ int hf_alternate = -1;
+ guint old_offset = offset;
+
+ if (hf_index == hf_z3950_referenceId) {
+ hf_alternate = hf_z3950_referenceId_printable;
+ }
+ else if ( hf_index == hf_z3950_general) {
+ hf_alternate = hf_z3950_general_printable;
+ }
+
+ if (hf_alternate > 0) {
+ /* extract the value of the octet string so we can look at it. */
+ /* This does not display anything because tree is NULL. */
+ offset = dissect_ber_octet_string(implicit_tag, actx, NULL, tvb, offset, hf_index, &next_tvb);
+
+ if (next_tvb &&
+ tvb_ascii_isprint(next_tvb, 0, tvb_reported_length(next_tvb))) {
+ proto_tree_add_item(tree, hf_alternate, next_tvb,
+ 0, tvb_reported_length(next_tvb), ENC_ASCII|ENC_NA);
+ }
+ else {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb,
+ old_offset, hf_index, NULL);
+ }
+ }
+ else {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb,
+ old_offset, hf_index, NULL);
+ }
+
+ return offset;
+}
+
+#include "packet-z3950-fn.c"
+
+static int
+dissect_z3950(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ proto_item *z3950_item = NULL;
+ proto_tree *z3950_tree = NULL;
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+
+ /* make entry in the Protocol column on summary display */
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
+
+ /* create the z3950 protocol tree */
+ z3950_item = proto_tree_add_item(tree, proto_z3950, tvb, 0, -1, ENC_NA);
+ z3950_tree = proto_item_add_subtree(z3950_item, ett_z3950);
+
+ return dissect_z3950_PDU(FALSE, tvb, offset, &asn1_ctx, z3950_tree, -1);
+}
+
+static guint
+get_z3950_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset, void *data _U_)
+{
+ guint plen;
+ guint ber_offset;
+ TRY {
+ /* Skip past identifier */
+ ber_offset = get_ber_identifier(tvb, offset, NULL, NULL, NULL);
+ ber_offset = get_ber_length(tvb, ber_offset, &plen, NULL);
+ plen += (ber_offset - offset);
+ }
+ CATCH(ReportedBoundsError) {
+ plen = 0;
+ }
+ ENDTRY;
+
+ return plen;
+}
+
+static int
+dissect_z3950_segment(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void * data _U_)
+{
+
+ /* Min length of 8 assumes 3 for identifer and 5 for length. */
+ tcp_dissect_pdus(tvb, pinfo, tree, z3950_desegment, 8, get_z3950_pdu_len, dissect_z3950, data);
+ return tvb_captured_length(tvb);
+}
+
+/*--- proto_register_z3950 -------------------------------------------*/
+void proto_register_z3950(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-z3950-hfarr.c"
+
+ { &hf_z3950_referenceId_printable,
+ { "referenceId", "z3950.referenceId.printable",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_z3950_general_printable,
+ { "general", "z3950.general.printable",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+/* MARC hf definitions */
+ { &hf_marc_record,
+ { "MARC record", "marc",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_record_terminator,
+ { "MARC record terminator", "marc.terminator",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader,
+ { "MARC leader", "marc.leader",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_length,
+ { "MARC leader length", "marc.leader.length",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_status,
+ { "MARC leader status", "marc.leader.status",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_type,
+ { "MARC leader type", "marc.leader.type",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_biblevel,
+ { "MARC leader biblevel", "marc.leader.biblevel",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_control,
+ { "MARC leader control", "marc.leader.control",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_encoding,
+ { "MARC leader encoding", "marc.leader.encoding",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_indicator_count,
+ { "MARC leader indicator count", "marc.leader.indicator_count",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_subfield_count,
+ { "MARC leader subfield count", "marc.leader.subfield_count",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_data_offset,
+ { "MARC leader data offset", "marc.leader.data_offset",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_encoding_level,
+ { "MARC leader encoding level", "marc.leader.encoding_level",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_descriptive_cataloging,
+ { "MARC leader descriptive cataloging", "marc.leader.descriptive_cataloging",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_multipart_level,
+ { "MARC leader multipart level", "marc.leader.multipart_level",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_length_of_field_length,
+ { "MARC leader length-of-field length", "marc.leader.length_of_field_length",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_starting_character_position_length,
+ { "MARC leader starting-character-position length", "marc.leader.starting_character_position_length",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_leader_implementation_defined_length,
+ { "MARC leader implementation-defined length", "marc.leader.implementation_defined_length",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_directory,
+ { "MARC directory", "marc.directory",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_directory_entry,
+ { "MARC directory entry", "marc.directory.entry",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_directory_entry_tag,
+ { "tag", "marc.directory.entry.tag",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_directory_entry_length,
+ { "length", "marc.directory.entry.length",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_directory_entry_starting_position,
+ { "starting position", "marc.directory.entry.starting_position",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_directory_terminator,
+ { "MARC directory terminator", "marc.directory.terminator",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_fields,
+ { "MARC data fields", "marc.fields",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_field,
+ { "MARC field", "marc.field",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_field_control,
+ { "Control field", "marc.field.control",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_field_terminator,
+ { "MARC field terminator", "marc.field.terminator",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_field_indicator1,
+ { "MARC field indicator1", "marc.field.indicator1",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_field_indicator2,
+ { "MARC field indicator2", "marc.field.indicator2",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_field_subfield_indicator,
+ { "MARC field subfield indicator", "marc.field.subfield.indicator",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_field_subfield_tag,
+ { "MARC field subfield tag", "marc.field.subfield.tag",
+ FT_CHAR, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_marc_field_subfield,
+ { "MARC Subfield", "marc.field.subfield",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_z3950,
+/* MARC etts */
+ &ett_marc_record,
+ &ett_marc_leader,
+ &ett_marc_directory,
+ &ett_marc_directory_entry,
+ &ett_marc_fields,
+ &ett_marc_field,
+#include "packet-z3950-ettarr.c"
+ };
+
+ module_t *z3950_module;
+
+/* Expert info */
+ static ei_register_info ei[] = {
+/* Z39.50 expert info */
+
+/* MARC expert info */
+ { &ei_marc_invalid_length, { "marc.invalid_length", PI_MALFORMED, PI_ERROR,
+ "MARC record too short", EXPFILL }},
+ { &ei_marc_invalid_value, { "marc.invalid_value", PI_MALFORMED, PI_ERROR,
+ "MARC field has invalid value", EXPFILL }},
+ { &ei_marc_invalid_record_length, { "marc.invalid_record_length", PI_MALFORMED, PI_ERROR,
+ "MARC length field has invalid value", EXPFILL }},
+ };
+
+ expert_module_t* expert_z3950;
+
+
+ /* Register protocol */
+ proto_z3950 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_z3950, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+ expert_z3950 = expert_register_protocol(proto_z3950);
+ expert_register_field_array(expert_z3950, ei, array_length(ei));
+
+ /* Register preferences */
+ z3950_module = prefs_register_protocol(proto_z3950, NULL);
+ prefs_register_bool_preference(z3950_module, "desegment_buffers",
+ "Reassemble Z39.50 buffers spanning multiple TCP segments",
+ "Whether the Z39.50 dissector should reassemble TDS buffers spanning multiple TCP segments. "
+ "To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &z3950_desegment);
+
+ /* Allow dissector to be found by name. */
+ z3950_handle = register_dissector(PSNAME, dissect_z3950_segment,
+ proto_z3950);
+
+}
+
+/*--- proto_reg_handoff_z3950 ---------------------------------------*/
+void
+proto_reg_handoff_z3950(void)
+{
+
+ dissector_add_uint_with_preference("tcp.port",
+ global_z3950_port, z3950_handle);
+
+#include "packet-z3950-dis-tab.c"
+
+ register_ber_oid_dissector(Z3950_RECORDSYNTAX_MARC21_OID, dissect_marc_record, proto_z3950, "MARC21");
+
+ oid_add_from_string("Z39.50", "1.2.840.10003");
+ oid_add_from_string("Z39.50-APDU", "1.2.840.10003.2");
+ oid_add_from_string("Z39.50-attributeSet", "1.2.840.10003.3");
+ oid_add_from_string("Z39.50-diagnostic", "1.2.840.10003.4");
+ oid_add_from_string("Z39.50-recordSyntax", "1.2.840.10003.5");
+ oid_add_from_string("Z39.50-resourceReport", "1.2.840.10003.7");
+ oid_add_from_string("Z39.50-accessControl", "1.2.840.10003.8");
+ oid_add_from_string("Z39.50-extendedService", "1.2.840.10003.9");
+ oid_add_from_string("Z39.50-userinfoFormat", "1.2.840.10003.10");
+ oid_add_from_string("Z39.50-elementSpec", "1.2.840.10003.11");
+ oid_add_from_string("Z39.50-variantSet", "1.2.840.10003.12");
+ oid_add_from_string("Z39.50-schema", "1.2.840.10003.13");
+ oid_add_from_string("Z39.50-tagSet", "1.2.840.10003.14");
+ oid_add_from_string("Z39.50-negotiation", "1.2.840.10003.15");
+ oid_add_from_string("Z39.50-query", "1.2.840.10003.16");
+ /* MARC Record Syntaxes */
+ oid_add_from_string("UNIMARC","1.2.840.10003.5.1");
+ oid_add_from_string("INTERMARC","1.2.840.10003.5.2");
+ oid_add_from_string("CCF","1.2.840.10003.5.3");
+ oid_add_from_string("MARC21 (formerly USMARC)",Z3950_RECORDSYNTAX_MARC21_OID);
+ oid_add_from_string("UKMARC","1.2.840.10003.5.11");
+ oid_add_from_string("NORMARC","1.2.840.10003.5.12");
+ oid_add_from_string("Librismarc","1.2.840.10003.5.13");
+ oid_add_from_string("danMARC2","1.2.840.10003.5.14");
+ oid_add_from_string("Finmarc","1.2.840.10003.5.15");
+ oid_add_from_string("MAB","1.2.840.10003.5.16");
+ oid_add_from_string("Canmarc","1.2.840.10003.5.17");
+ oid_add_from_string("SBN","1.2.840.10003.5.18");
+ oid_add_from_string("Picamarc","1.2.840.10003.5.19");
+ oid_add_from_string("Ausmarc","1.2.840.10003.5.20");
+ oid_add_from_string("Ibermarc","1.2.840.10003.5.21");
+ oid_add_from_string("Catmarc","1.2.840.10003.5.22");
+ oid_add_from_string("Malmarc","1.2.840.10003.5.23");
+ oid_add_from_string("JPmarc","1.2.840.10003.5.24");
+ oid_add_from_string("SWEMarc","1.2.840.10003.5.25");
+ oid_add_from_string("SIGLEmarc","1.2.840.10003.5.26");
+ oid_add_from_string("ISDS/ISSNmarc","1.2.840.10003.5.27");
+ oid_add_from_string("RUSMarc","1.2.840.10003.5.28");
+ oid_add_from_string("Hunmarc","1.2.840.10003.5.29");
+ oid_add_from_string("NACSIS-CATP","1.2.840.10003.5.30");
+ oid_add_from_string("FINMARC2000","1.2.840.10003.5.31");
+ oid_add_from_string("MARC21-fin","1.2.840.10003.5.32");
+ oid_add_from_string("COMARC","1.2.840.10003.5.33");
+ /* Non-MARC record syntaxes */
+ oid_add_from_string("Explain","1.2.840.10003.5.100");
+ oid_add_from_string("Explain with ZSQL","1.2.840.10003.5.100.1");
+ oid_add_from_string("SUTRS","1.2.840.10003.5.101");
+ oid_add_from_string("OPAC","1.2.840.10003.5.102");
+ oid_add_from_string("Summary","1.2.840.10003.5.103");
+ oid_add_from_string("GRS-0","1.2.840.10003.5.104");
+ oid_add_from_string("GRS-1","1.2.840.10003.5.105");
+ oid_add_from_string("ESTaskPackage","1.2.840.10003.5.106");
+ oid_add_from_string("fragment","1.2.840.10003.5.108");
+ /* Attribute sets */
+ oid_add_from_string("bib-1",Z3950_ATSET_BIB1_OID);
+ oid_add_from_string("exp-1","1.2.840.10003.3.2");
+ oid_add_from_string("ext-1","1.2.840.10003.3.3");
+ oid_add_from_string("ccl-1","1.2.840.10003.3.4");
+ oid_add_from_string("gils","1.2.840.10003.3.5");
+ oid_add_from_string("stas","1.2.840.10003.3.6");
+ oid_add_from_string("collections-1","1.2.840.10003.3.7");
+ oid_add_from_string("cimi-1","1.2.840.10003.3.8");
+ oid_add_from_string("geo-1","1.2.840.10003.3.9");
+ oid_add_from_string("ZBIG","1.2.840.10003.3.10");
+ oid_add_from_string("util","1.2.840.10003.3.11");
+ oid_add_from_string("xd-1","1.2.840.10003.3.12");
+ oid_add_from_string("Zthes","1.2.840.10003.3.13");
+ oid_add_from_string("Fin-1","1.2.840.10003.3.14");
+ oid_add_from_string("Dan-1","1.2.840.10003.3.15");
+ oid_add_from_string("Holdings","1.2.840.10003.3.16");
+ oid_add_from_string("MARC","1.2.840.10003.3.17");
+ oid_add_from_string("bib-2","1.2.840.10003.3.18");
+ oid_add_from_string("ZeeRex","1.2.840.10003.3.19");
+ /* Diagnostic sets */
+ oid_add_from_string("bib-1-diagnostics",Z3950_DIAGSET_BIB1_OID);
+
+}
+
+/* MARC routines */
+
+static int
+dissect_marc_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void * data _U_)
+{
+ proto_item *record_item, *leader_item,
+ *directory_item,
+ *fields_item,
+ *item;
+ proto_tree *marc_tree, *leader_tree,
+ *directory_tree,
+ *fields_tree;
+ marc_directory_entry *marc_directory;
+ guint len = tvb_reported_length(tvb);
+ const guint8 *marc_value_str;
+ guint record_length = 0,
+ data_offset = 0,
+ length_of_field_size,
+ starting_character_position_size,
+ directory_entry_len,
+ directory_entry_count,
+ dir_index,
+ offset = 0;
+ guint32 marc_value_char;
+
+ record_item = proto_tree_add_item(tree, hf_marc_record,
+ tvb, 0, len, ENC_NA);
+ marc_tree = proto_item_add_subtree(record_item, ett_marc_record);
+ if (len < MARC_LEADER_LENGTH) {
+ expert_add_info_format(pinfo, record_item,
+ &ei_marc_invalid_record_length,
+ "MARC record length %d is shorter than leader", len);
+ }
+ leader_item = proto_tree_add_item(marc_tree, hf_marc_leader, tvb, 0,
+ MARC_LEADER_LENGTH, ENC_NA);
+ leader_tree = proto_item_add_subtree(leader_item, ett_marc_leader);
+
+ marc_value_str = NULL;
+ item = proto_tree_add_item_ret_string(leader_tree,
+ hf_marc_leader_length, tvb, offset, 5, ENC_ASCII|ENC_NA,
+ pinfo->pool,&marc_value_str);
+ offset += 5;
+
+ if (marc_value_str) {
+ if (isdigit_string(marc_value_str)) {
+ record_length = (guint)strtoul(marc_value_str, NULL, 10);
+ }
+ else {
+ expert_add_info_format(pinfo, item,
+ &ei_marc_invalid_value,
+ "MARC length field '%s' contains invalid characters",
+ marc_value_str );
+ }
+ if (record_length != len) {
+ expert_add_info_format(pinfo, item,
+ &ei_marc_invalid_length,
+ "MARC length field value %d does not match reported length %d",
+ record_length, len);
+ }
+ }
+
+ proto_tree_add_item(leader_tree, hf_marc_leader_status, tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ proto_tree_add_item(leader_tree, hf_marc_leader_type, tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ proto_tree_add_item(leader_tree, hf_marc_leader_biblevel, tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ proto_tree_add_item(leader_tree, hf_marc_leader_control, tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ proto_tree_add_item(leader_tree, hf_marc_leader_encoding, tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ marc_value_char = MARC_CHAR_UNINITIALIZED;
+ item = proto_tree_add_item_ret_uint(leader_tree, hf_marc_leader_indicator_count,
+ tvb, offset, 1, ENC_ASCII, &marc_value_char);
+ offset += 1;
+ if (marc_value_char != MARC_CHAR_UNINITIALIZED) {
+ if (!marc_isdigit(marc_value_char)) {
+ expert_add_info_format(pinfo, item, &ei_marc_invalid_value,
+ "Indicator count '%c' is invalid", marc_value_char);
+ }
+ else {
+ if (marc_char_to_int(marc_value_char) != 2) {
+ expert_add_info_format(pinfo, item, &ei_marc_invalid_length,
+ "MARC21 requires indicator count equal 2, not %d",
+ marc_char_to_int(marc_value_char));
+ }
+ }
+ }
+
+ marc_value_char = MARC_CHAR_UNINITIALIZED;
+ item = proto_tree_add_item_ret_uint(leader_tree, hf_marc_leader_subfield_count,
+ tvb, offset, 1, ENC_ASCII, &marc_value_char);
+ offset += 1;
+ if (marc_value_char != MARC_CHAR_UNINITIALIZED) {
+ if (!marc_isdigit(marc_value_char)) {
+ expert_add_info_format(pinfo, item, &ei_marc_invalid_value,
+ "Subfield count '%c' is invalid", marc_value_char);
+ }
+ else {
+ if (marc_char_to_int(marc_value_char) != 2) {
+ expert_add_info_format(pinfo, item, &ei_marc_invalid_length,
+ "MARC21 requires subfield count equal 2, not %d",
+ marc_char_to_int(marc_value_char));
+ }
+ }
+ }
+
+ item = proto_tree_add_item_ret_string(leader_tree, hf_marc_leader_data_offset,
+ tvb, offset, 5, ENC_ASCII|ENC_NA,
+ pinfo->pool,&marc_value_str);
+ offset += 5;
+ if (marc_value_str) {
+ if (isdigit_string(marc_value_str)) {
+ data_offset = (guint)strtoul(marc_value_str, NULL, 10);
+ }
+ else {
+ expert_add_info_format(pinfo, item,
+ &ei_marc_invalid_value,
+ "MARC data offset field '%s' contains invalid characters",
+ marc_value_str );
+ }
+ if (data_offset < MARC_LEADER_LENGTH ||
+ data_offset > record_length) {
+ expert_add_info_format(pinfo, item,
+ &ei_marc_invalid_length,
+ "MARC data offset %d does not lie within record (length %d)",
+ data_offset, len);
+ }
+ }
+ proto_tree_add_item(leader_tree, hf_marc_leader_encoding_level, tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ proto_tree_add_item(leader_tree, hf_marc_leader_descriptive_cataloging, tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ proto_tree_add_item(leader_tree, hf_marc_leader_multipart_level, tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ marc_value_char = MARC_CHAR_UNINITIALIZED;
+ item = proto_tree_add_item_ret_uint(leader_tree, hf_marc_leader_length_of_field_length,
+ tvb, offset, 1, ENC_ASCII, &marc_value_char);
+ offset += 1;
+ length_of_field_size = 4;
+ if (marc_value_char != MARC_CHAR_UNINITIALIZED) {
+ if (!marc_isdigit(marc_value_char)) {
+ expert_add_info_format(pinfo, item, &ei_marc_invalid_value,
+ "Length-of field-length '%c' is invalid", marc_value_char);
+ }
+ else {
+ if (marc_char_to_int(marc_value_char) != 4) {
+ expert_add_info_format(pinfo, item, &ei_marc_invalid_length,
+ "MARC21 requires length-of-field equal 4, not %d",
+ marc_char_to_int(marc_value_char));
+ }
+ }
+ }
+
+ marc_value_char = MARC_CHAR_UNINITIALIZED;
+ item = proto_tree_add_item_ret_uint(leader_tree, hf_marc_leader_starting_character_position_length,
+ tvb, offset, 1, ENC_ASCII, &marc_value_char);
+ offset += 1;
+ starting_character_position_size = 5;
+ if (marc_value_char != MARC_CHAR_UNINITIALIZED) {
+ if (!marc_isdigit(marc_value_char)) {
+ expert_add_info_format(pinfo, item, &ei_marc_invalid_value,
+ "Starting-character-position length '%c' is invalid", marc_value_char);
+ }
+ else {
+ if (marc_char_to_int(marc_value_char) != 5) {
+ expert_add_info_format(pinfo, item, &ei_marc_invalid_length,
+ "MARC21 requires starting-character-position equal 5, not %d",
+ marc_char_to_int(marc_value_char));
+ }
+ }
+ }
+
+ proto_tree_add_item(leader_tree, hf_marc_leader_implementation_defined_length, tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+
+ /* One position is defined as unused-must-be-zero.
+ * Don't bother displaying or checking it. */
+ offset += 1;
+
+ /* Process the directory */
+
+ directory_entry_len = 3 + length_of_field_size
+ + starting_character_position_size;
+ directory_entry_count = ((data_offset - 1) - MARC_LEADER_LENGTH) / directory_entry_len;
+
+ marc_directory = (marc_directory_entry *)wmem_alloc0(pinfo->pool,
+ directory_entry_count * sizeof(marc_directory_entry));
+
+ directory_item = proto_tree_add_item(marc_tree, hf_marc_directory,
+ tvb, offset, data_offset - offset, ENC_NA);
+ directory_tree = proto_item_add_subtree(directory_item, ett_marc_directory);
+
+ dir_index = 0;
+ /* Minus one for the terminator character */
+ while (offset < (data_offset - 1)) {
+ guint32 tag_value = 0,
+ length_value = 0,
+ starting_char_value = 0;
+ proto_item *length_item;
+ proto_item *directory_entry_item;
+ proto_tree *directory_entry_tree;
+
+ directory_entry_item = proto_tree_add_item(directory_tree, hf_marc_directory_entry,
+ tvb, offset, directory_entry_len, ENC_NA);
+ directory_entry_tree = proto_item_add_subtree(directory_entry_item, ett_marc_directory_entry);
+
+ marc_value_str = NULL;
+ item = proto_tree_add_item_ret_string(directory_entry_tree, hf_marc_directory_entry_tag,
+ tvb, offset, 3, ENC_ASCII,
+ pinfo->pool, &marc_value_str);
+ offset += 3;
+ if (marc_value_str) {
+ if (isdigit_string(marc_value_str)) {
+ tag_value = (guint)strtoul(marc_value_str, NULL, 10);
+ }
+ else {
+ expert_add_info_format(pinfo, item,
+ &ei_marc_invalid_value,
+ "MARC directory tag value %d ('%s') contains invalid characters",
+ dir_index, marc_value_str );
+ }
+ }
+ marc_value_str = NULL;
+ length_item = proto_tree_add_item_ret_string(directory_entry_tree,
+ hf_marc_directory_entry_length,
+ tvb, offset, length_of_field_size, ENC_ASCII,
+ pinfo->pool, &marc_value_str);
+ offset += length_of_field_size;
+ if (marc_value_str) {
+ if (isdigit_string(marc_value_str)) {
+ length_value = (guint)strtoul(marc_value_str, NULL, 10);
+ }
+ else {
+ expert_add_info_format(pinfo, length_item,
+ &ei_marc_invalid_value,
+ "MARC directory length value %d ('%s') contains invalid characters",
+ dir_index, marc_value_str );
+ }
+ }
+ marc_value_str = NULL;
+ item = proto_tree_add_item_ret_string(directory_entry_tree, hf_marc_directory_entry_starting_position,
+ tvb, offset, starting_character_position_size, ENC_ASCII,
+ pinfo->pool, &marc_value_str);
+ offset += starting_character_position_size;
+ if (marc_value_str) {
+ if (isdigit_string(marc_value_str)) {
+ starting_char_value = (guint)strtoul(marc_value_str, NULL, 10);
+ }
+ else {
+ expert_add_info_format(pinfo, item,
+ &ei_marc_invalid_value,
+ "MARC directory entry %d starting char value '%s' contains invalid characters",
+ dir_index, marc_value_str );
+ }
+ }
+
+ if (starting_char_value >= (record_length - data_offset)) {
+ expert_add_info_format(pinfo, item,
+ &ei_marc_invalid_value,
+ "MARC directory entry %d starting char value %d is outside record size %d",
+ dir_index, starting_char_value, (record_length - data_offset));
+ }
+ if ((starting_char_value + length_value) >= (record_length - data_offset)) {
+ expert_add_info_format(pinfo, length_item,
+ &ei_marc_invalid_value,
+ "MARC directory entry %d length value %d goes outside record size %d",
+ dir_index, length_value, (record_length - data_offset));
+ }
+ marc_directory[dir_index].tag = tag_value;
+ marc_directory[dir_index].length = length_value;
+ marc_directory[dir_index].starting_character = starting_char_value;
+ dir_index++;
+ }
+ proto_tree_add_item(directory_tree, hf_marc_directory_terminator,
+ tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+
+ fields_item = proto_tree_add_item(marc_tree, hf_marc_fields,
+ tvb, offset, record_length - offset, ENC_NA);
+ fields_tree = proto_item_add_subtree(fields_item, ett_marc_fields);
+
+ for (dir_index = 0; dir_index < directory_entry_count; dir_index++) {
+ const gchar *tag_str;
+ proto_item *field_item;
+ proto_tree *field_tree;
+
+ field_item = proto_tree_add_item(fields_tree, hf_marc_field,
+ tvb, offset, marc_directory[dir_index].length, ENC_NA);
+ field_tree = proto_item_add_subtree(field_item, ett_marc_field);
+
+ tag_str = try_val_to_str(marc_directory[dir_index].tag, marc_tag_names);
+ if (tag_str) {
+ proto_item_append_text(field_item," Tag %03d (%s)",
+ marc_directory[dir_index].tag, tag_str);
+ }
+ else {
+ proto_item_append_text(field_item," Tag %03d",
+ marc_directory[dir_index].tag);
+ }
+
+ if (marc_directory[dir_index].tag < 10) {
+ proto_tree_add_item(field_tree, hf_marc_field_control,
+ tvb, offset, marc_directory[dir_index].length - 1, ENC_ASCII);
+ offset += marc_directory[dir_index].length - 1;
+ proto_tree_add_item(field_tree, hf_marc_field_terminator,
+ tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ }
+ else {
+ guint next_offset = offset + marc_directory[dir_index].length - 1;
+ proto_tree_add_item(field_tree, hf_marc_field_indicator1,
+ tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ proto_tree_add_item(field_tree, hf_marc_field_indicator2,
+ tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ do {
+ gint next_subfield;
+ proto_tree_add_item(field_tree, hf_marc_field_subfield_indicator,
+ tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ proto_tree_add_item(field_tree, hf_marc_field_subfield_tag,
+ tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ next_subfield = tvb_find_guint8(tvb, offset, next_offset - offset,
+ MARC_SUBFIELD_INDICATOR);
+ if (next_subfield >= 0) {
+ proto_tree_add_item(field_tree, hf_marc_field_subfield,
+ tvb, offset, next_subfield - offset, ENC_ASCII);
+ offset += (next_subfield - offset);
+ }
+ else {
+ proto_tree_add_item(field_tree, hf_marc_field_subfield,
+ tvb, offset, next_offset - offset, ENC_ASCII);
+ offset = next_offset;
+ }
+ } while (offset < next_offset);
+ proto_tree_add_item(field_tree, hf_marc_field_terminator,
+ tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+ }
+
+ }
+ proto_tree_add_item(marc_tree, hf_marc_record_terminator,
+ tvb, offset, 1, ENC_ASCII);
+ offset += 1;
+
+ if (offset != len) {
+ expert_add_info_format(pinfo, record_item,
+ &ei_marc_invalid_record_length,
+ "MARC record component length %d does not match record length %d",
+ offset, len);
+ }
+
+ return len;
+}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/asn1/z3950/z3950-externals.asn b/epan/dissectors/asn1/z3950/z3950-externals.asn
new file mode 100644
index 00000000..4ce96836
--- /dev/null
+++ b/epan/dissectors/asn1/z3950/z3950-externals.asn
@@ -0,0 +1,1679 @@
+RecordSyntax-SUTRS
+{z39-50-recordSyntax sutrs (101)} DEFINITIONS ::=
+BEGIN
+IMPORTS InternationalString FROM Z39-50-APDU-1995;
+ SutrsRecord ::= InternationalString
+-- Line terminator is ASCII LF (X'0A').
+-- Recommended maximum line length is 72 characters.
+END
+
+RecordSyntax-opac
+{z39-50-recordSyntax opac (102)} DEFINITIONS ::=
+BEGIN
+IMPORTS InternationalString FROM Z39-50-APDU-1995;
+
+OPACRecord ::= SEQUENCE {
+ bibliographicRecord [1] IMPLICIT EXTERNAL OPTIONAL,
+ holdingsData [2] IMPLICIT SEQUENCE OF HoldingsRecord OPTIONAL}
+
+HoldingsRecord ::= CHOICE {
+ marcHoldingsRecord [1] IMPLICIT EXTERNAL,
+ holdingsAndCirc [2] IMPLICIT HoldingsAndCircData}
+
+HoldingsAndCircData ::= SEQUENCE {
+ -- the following elements are required to display
+ -- holdings in conformance with NISO standards.
+ typeOfRecord [1] IMPLICIT InternationalString OPTIONAL,-- LDR 06
+ encodingLevel [2] IMPLICIT InternationalString OPTIONAL, -- LDR 017
+ format [3] IMPLICIT InternationalString OPTIONAL, -- 007
+ -- 00-01
+ receiptAcqStatus [4] IMPLICIT InternationalString OPTIONAL, -- 008 06
+ generalRetention [5] IMPLICIT InternationalString OPTIONAL, -- 008 12
+ completeness [6] IMPLICIT InternationalString OPTIONAL, -- 008 16
+ dateOfReport [7] IMPLICIT InternationalString OPTIONAL, -- 008
+ -- 26-31
+ nucCode [8] IMPLICIT InternationalString OPTIONAL, -- 852 $a
+ localLocation [9] IMPLICIT InternationalString OPTIONAL, -- 852 $b
+ shelvingLocation [10] IMPLICIT InternationalString OPTIONAL, -- 852 $c
+ callNumber [11] IMPLICIT InternationalString OPTIONAL, -- 852 $h
+ -- and $i
+ shelvingData [12] IMPLICIT InternationalString OPTIONAL, -- 852 $j
+ -- thru $m
+ copyNumber [13] IMPLICIT InternationalString OPTIONAL, -- 852 $t
+ publicNote [14] IMPLICIT InternationalString OPTIONAL, -- 852 $z
+ reproductionNote [15] IMPLICIT InternationalString OPTIONAL, -- 843
+ termsUseRepro [16] IMPLICIT InternationalString OPTIONAL, -- 845
+ enumAndChron [17] IMPLICIT InternationalString OPTIONAL, -- all 85x,
+ -- 86x
+ volumes [18] IMPLICIT SEQUENCE OF Volume OPTIONAL,
+ -- repeats for each volume held
+ circulationData [19] IMPLICIT SEQUENCE OF CircRecord OPTIONAL
+ -- repeats for each circulating item.
+ }
+
+Volume ::= SEQUENCE {
+ enumeration [1] IMPLICIT InternationalString OPTIONAL,
+ chronology [2] IMPLICIT InternationalString OPTIONAL,
+ enumAndChron [3] IMPLICIT InternationalString OPTIONAL }
+
+CircRecord ::= SEQUENCE {
+ availableNow [1] IMPLICIT BOOLEAN,
+ availablityDate [2] IMPLICIT InternationalString OPTIONAL,
+ availableThru [3] IMPLICIT InternationalString OPTIONAL,
+ restrictions [4] IMPLICIT InternationalString OPTIONAL,
+ itemId [5] IMPLICIT InternationalString OPTIONAL,
+ renewable [6] IMPLICIT BOOLEAN,
+ onHold [7] IMPLICIT BOOLEAN,
+ enumAndChron [8] IMPLICIT InternationalString OPTIONAL,
+ midspine [9] IMPLICIT InternationalString OPTIONAL,
+ temporaryLocation [10] IMPLICIT InternationalString OPTIONAL}
+END
+
+DiagnosticFormatDiag1
+{z39-50-diagnostic diag-1 (2)} DEFINITIONS ::=
+BEGIN
+IMPORTS Term, Specification, AttributeList, SortElement,
+DatabaseName,
+DefaultDiagFormat, InternationalString FROM Z39-50-APDU-1995;
+
+
+DiagnosticFormat ::= SEQUENCE OF SEQUENCE{
+ diagnostic [1] CHOICE{
+ defaultDiagRec [1] IMPLICIT DefaultDiagFormat,
+ explicitDiagnostic [2] DiagFormat} OPTIONAL,
+ message [2] IMPLICIT InternationalString OPTIONAL}
+
+
+DiagFormat ::= CHOICE{
+
+tooMany [1000] IMPLICIT SEQUENCE{
+ tooManyWhat [1] IMPLICIT INTEGER{
+ argumentWords (1),
+ truncatedWords (2),
+ booleanOperators (3),
+ incompleteSubfields (4),
+ characters (5),
+ recordsRetrieved (6),
+ dataBasesSpecified (7),
+ resultSetsCreated (8),
+ indexTermsProcessed (9)},
+ max [2] IMPLICIT INTEGER OPTIONAL},
+
+
+badSpec [1001] IMPLICIT SEQUENCE{
+ -- element set name or specification
+ spec [1] IMPLICIT Specification,
+ -- esn or element spec not supported
+ db [2] IMPLICIT DatabaseName OPTIONAL,
+ -- if db specified, above spec not
+ -- supported for db; otherwise,
+ -- spec not supported period.
+ goodOnes [3] IMPLICIT SEQUENCE OF Specification
+ OPTIONAL
+ -- target supplies ones that are
+ -- supported
+ },
+
+
+dbUnavail [1002] IMPLICIT SEQUENCE{ -- database unavailable
+ db [1] IMPLICIT DatabaseName,
+ why [2] IMPLICIT SEQUENCE{
+ reasonCode [1] IMPLICIT INTEGER{
+ doesNotExist (0),
+ existsButUnavail (1),
+ locked (2),
+ accessDenied (3)}
+ OPTIONAL,
+ message [2] IMPLICIT
+ InternationalString OPTIONAL}},
+
+
+unSupOp [1003] IMPLICIT INTEGER{ -- unsupported operator
+ and (0),
+ or (1),
+ and-not (2),
+ prox (3)},
+
+
+attribute [1004] IMPLICIT SEQUENCE{
+ -- Applies for unsupported attribute set,
+ -- attribute type, attribute value, or term (for
+ -- a given attribute type or value).
+ id [1] IMPLICIT OBJECT IDENTIFIER,
+ -- if only "id" occurs, then
+ -- attribute set is not supported
+ type [2] IMPLICIT INTEGER OPTIONAL,
+ -- must occur if value occurs.
+ value [3] IMPLICIT INTEGER OPTIONAL,
+ -- if omitted, and Type occurs,
+ -- then Type is what is unsupported
+ term [4] Term OPTIONAL
+ -- If occurs, term is illegal or
+ -- not supported, for attribute
+ -- value, if value occurs;
+ -- otherwise, for type.
+ },
+
+
+attCombo [1005] IMPLICIT SEQUENCE{
+ -- attribute combination not supported
+ unsupportedCombination [1] IMPLICIT AttributeList,
+ recommendedAlternatives [2] IMPLICIT SEQUENCE OF
+ AttributeList OPTIONAL},
+
+
+term [1006] IMPLICIT SEQUENCE{
+ problem [1] IMPLICIT INTEGER{
+ codedValue (1),
+ unparsable (2),
+ tooShort (3),
+ type (4)} OPTIONAL,
+ term [2] Term},
+
+
+proximity [1007] CHOICE{ -- proximity diagnostics:
+ resultSets [1] IMPLICIT NULL,
+ -- proximity between sets not
+ -- supported
+ badSet [2] IMPLICIT InternationalString,
+ -- bad result set specified
+ relation [3] IMPLICIT INTEGER,
+ -- 1 to 6 ; relation not supported
+ unit [4] IMPLICIT INTEGER,
+ -- unsupported unit code
+ distance [5] IMPLICIT INTEGER,
+ -- unsupported distance
+ attributes [6] AttributeList,
+ -- proximity not supported with
+ -- specified attribute combination
+ ordered [7] IMPLICIT NULL,
+ -- ordered flag not supported
+ exclusion [8] IMPLICIT NULL
+ -- exclusion flag not supported
+ },
+
+
+scan [1008] CHOICE{ -- scan diagnostics:
+ nonZeroStepSize [0] IMPLICIT NULL,
+ -- only zero step size
+ -- supported
+ specifiedStepSize [1] IMPLICIT NULL,
+ -- specified step size not
+ -- supported
+ termList1 [3] IMPLICIT NULL,
+ -- term list not supported
+ -- (no alternative supplied)
+ termList2 [4] IMPLICIT SEQUENCE OF
+ AttributeList,
+ -- term list not supported
+ -- (alternatives supplied)
+ posInResponse [5] IMPLICIT INTEGER{
+ -- value of positionIn-
+ -- Response not supported
+ mustBeOne (1),
+ mustBePositive (2),
+ mustBeNonNegative (3),
+ other (4)},
+ resources [6] IMPLICIT NULL,
+ -- resources exhausted
+ -- looking for satisfying
+ -- terms
+ endOfList [7] IMPLICIT NULL
+ -- beginning or end of term
+ -- list
+ },
+
+
+sort [1009] CHOICE{
+ sequence [0] IMPLICIT NULL,
+ -- cannot sort according
+ -- to sequence
+ noRsName [1] IMPLICIT NULL,
+ -- no result set name
+ -- supplied
+ tooMany [2] IMPLICIT INTEGER,
+ -- Too many input result
+ -- sets, maximum supplied.
+ incompatible [3] IMPLICIT NULL,
+ -- records with different
+ -- formats not compatible for
+ -- sorting
+ generic [4] IMPLICIT NULL,
+ -- generic sort not supported
+ -- (db specific only)
+ dbSpecific [5] IMPLICIT NULL,
+ -- db specific sort not
+ -- supported
+ sortElement [6] SortElement,
+ key [7] IMPLICIT INTEGER{
+ tooMany (1),
+ -- too many sort keys
+ duplicate (2)},
+ -- duplicate sort keys
+ action [8] IMPLICIT NULL,
+ -- unuspported missing data
+ -- action
+ illegal [9] IMPLICIT INTEGER{
+ relation (1),
+ -- illegal sort relation
+ case (2),
+ -- illegal case value
+ action (3),
+ -- illegal missing data
+ -- action
+ sort (4)},
+ -- illegal sort
+ inputTooLarge [10] IMPLICIT SEQUENCE OF
+ InternationalString,
+ -- one or more of the
+ -- input result sets too
+ -- large to sort
+ aggregateTooLarge [11] IMPLICIT NULL
+ -- aggregate result set
+ -- too large
+ },
+segmentation [1010] CHOICE{
+ segmentCount [0] IMPLICIT NULL,
+ -- Cannot guarantee record will fit
+ -- within max segments. Target
+ -- suggests that origin try again
+ -- to retrieve record, without
+ -- including max-segment-count.
+ segmentSize [1] IMPLICIT INTEGER
+ -- record cannot be segmented into
+ -- fragments such that the largest
+ -- will fit within max segment
+ -- size specified. Target supplies (in
+ -- bytes) the smallest acceptable value.
+ -- of Max-segment-size to retrieve
+ -- the record.
+ },
+
+extServices [1011] CHOICE{
+ req [1] IMPLICIT INTEGER{ -- bad request
+ nameInUse (1),
+ -- package name already in use
+ noSuchName (2),
+ -- no such package, on
+ -- modify/delete
+ quota (3),
+ -- quota exceeded
+ type (4)},
+ -- extended service type not
+ -- supported
+ permission [2] IMPLICIT INTEGER{
+ -- permission denied on ES, because:
+ id (1),
+ -- id not authorized, or
+ modifyDelete (2)},
+ -- cannot modify or delete
+ immediate [3] IMPLICIT INTEGER{
+ -- immediate execution:
+ failed (1),
+ service (2),
+ -- not supported for this service,
+ parameters (3)
+ -- not supported for these
+ -- parameters.
+ }},
+
+
+accessCtrl [1012] CHOICE{
+ noUser [1] IMPLICIT NULL,
+ -- no user to display challenge to
+ refused [2] IMPLICIT NULL,
+ -- access control information
+ -- refused by user
+ simple [3] IMPLICIT NULL,
+ -- only simple form supported
+ -- (target used externally defined)
+ oid [4] IMPLICIT SEQUENCE OF OBJECT
+ IDENTIFIER,
+ -- oid not supported (origin
+ -- supplies alternative suggested
+ -- oids)
+ alternative [5] IMPLICIT SEQUENCE OF OBJECT
+ IDENTIFIER,
+ -- origin insists that target use
+ -- an alternative challenge for
+ -- this data (e.g. stronger
+ -- authentication or stronger
+ -- Access control). The origin
+ -- supplies suggested alternative
+ -- oids.
+ pwdInv [6] IMPLICIT NULL,
+ -- password invalid
+ pwdExp [7] IMPLICIT NULL
+ -- password expired
+ },
+
+
+recordSyntax [1013] IMPLICIT SEQUENCE{
+ -- record cannot be transferred in requested syntax
+ unsupportedSyntax [1] IMPLICIT OBJECT
+ IDENTIFIER,
+ suggestedAlternatives [2] IMPLICIT SEQUENCE OF
+ OBJECT IDENTIFIER
+ OPTIONAL}
+}
+END
+
+RecordSyntax-explain
+{z39-50-recordSyntax explain (100)} DEFINITIONS ::=
+
+BEGIN
+IMPORTS AttributeSetId, Term, OtherInformation, DatabaseName, ElementSetName,
+IntUnit, Unit, StringOrNumeric, Specification,
+InternationalString,
+AttributeList, AttributeElement
+FROM Z39-50-APDU-1995;
+
+Explain-Record ::= CHOICE{
+ -- Each of these may be used as search term
+ -- when Use attribute is 'explain-category'.
+ targetInfo [0] IMPLICIT TargetInfo,
+ databaseInfo [1] IMPLICIT DatabaseInfo,
+ schemaInfo [2] IMPLICIT SchemaInfo,
+ tagSetInfo [3] IMPLICIT TagSetInfo,
+ recordSyntaxInfo [4] IMPLICIT RecordSyntaxInfo,
+ attributeSetInfo [5] IMPLICIT AttributeSetInfo,
+ termListInfo [6] IMPLICIT TermListInfo,
+ extendedServicesInfo [7] IMPLICIT ExtendedServicesInfo,
+ attributeDetails [8] IMPLICIT AttributeDetails,
+ termListDetails [9] IMPLICIT TermListDetails,
+ elementSetDetails [10] IMPLICIT ElementSetDetails,
+ retrievalRecordDetails [11] IMPLICIT RetrievalRecordDetails,
+ sortDetails [12] IMPLICIT SortDetails,
+ processing [13] IMPLICIT ProcessingInformation,
+ variants [14] IMPLICIT VariantSetInfo,
+ units [15] IMPLICIT UnitInfo,
+ categoryList [100] IMPLICIT CategoryList}
+
+-- Element set name 'B' (brief) retrieves:
+-- - 'commonInfo' (except for otherInfo within commonInfo)
+-- - key elements
+-- - other elements designated as 'non-key brief elements'
+-- Esn 'description' retrieves brief elements as well as 'description', and
+-- specific additional descriptive elements if designated.
+-- Element set name 'F' (full) retrieves all of the above, as well as those
+-- designated as "non-brief elements". Some elements designated as OPTIONAL
+-- may be madatory in full records, and are so identified. (Note that all
+-- elements that are not part of the brief element set must be designated as
+-- OPTIONAL in the ASN.1, otherwise it would be illegal to omit them).
+-- Other esns are defined (below) as needed.
+
+
+-- - - - - - - - - - - - - Info Records
+ -- Info records are mainly for software consumption
+ -- They describe individual entities within the target system:
+ -- The target itself
+ -- Individual databases
+ -- Schemas
+ -- Tag sets
+ -- Record syntaxes
+ -- Attribute sets
+ -- Term lists
+ -- Extended services
+ -- The information about each Schema, Tag Set, Record Syntax and Attribute
+ -- Set should match the universal definitions of these items. The only
+ -- exception is that a target may omit any- items it doesn't support, for
+ -- example the description of the BIB-1 attribute set may omit attributes
+ -- that the target does not support under any circumstances.
+ -- Databases that may be searched together can be listed in the
+ -- dbCominations element of the TargetInfo record.
+
+
+
+TargetInfo ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ name [1] IMPLICIT InternationalString,
+ -- Non-key brief elements follow:
+ recent-news [2] IMPLICIT HumanString OPTIONAL,
+ icon [3] IMPLICIT IconObject OPTIONAL,
+ namedResultSets [4] IMPLICIT BOOLEAN,
+ multipleDBsearch [5] IMPLICIT BOOLEAN,
+ maxResultSets [6] IMPLICIT INTEGER OPTIONAL,
+ maxResultSize [7] IMPLICIT INTEGER OPTIONAL,
+ maxTerms [8] IMPLICIT INTEGER OPTIONAL,
+ timeoutInterval [9] IMPLICIT IntUnit OPTIONAL,
+ welcomeMessage [10] IMPLICIT HumanString OPTIONAL,
+ -- non-brief elements follow:
+ -- 'description' esn retrieves the following two (as well as brief):
+ contactInfo [11] IMPLICIT ContactInfo OPTIONAL,
+ description [12] IMPLICIT HumanString OPTIONAL,
+ nicknames [13] IMPLICIT SEQUENCE OF InternationalString
+ OPTIONAL,
+ usage-restrictions [14] IMPLICIT HumanString OPTIONAL,
+ paymentAddr [15] IMPLICIT HumanString OPTIONAL,
+ hours [16] IMPLICIT HumanString OPTIONAL,
+ dbCombinations [17] IMPLICIT SEQUENCE OF DatabaseList OPTIONAL,
+ addresses [18] IMPLICIT SEQUENCE OF NetworkAddress OPTIONAL,
+ languages [101] IMPLICIT SEQUENCE OF InternationalString OPTIONAL,
+ -- Languages supported for message strings. Each is a three-character
+ -- language code from Z39.53-1994.
+-- characterSets [102] this tag reserved for "character sets supported for name and message strings".
+
+ -- commonAccessInfo elements list objects the target supports. All objects
+ -- listed in AccessInfo for any individual database should also be listed
+ -- here.
+ commonAccessInfo [19] IMPLICIT AccessInfo OPTIONAL}
+--
+
+
+DatabaseInfo ::= SEQUENCE {
+ -- A target may provide "virtual databases" that are combinations of
+ -- individual database. These databases are indicated by the
+ -- presence of subDbs in the combination database's
+ -- DatabaseDescription.
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ name [1] IMPLICIT DatabaseName,
+ -- Non-key brief elements follow:
+ explainDatabase [2] IMPLICIT NULL OPTIONAL,
+ -- If present, this database is the Explain
+ -- database, or an Explain database
+ -- for a different server,
+ -- possibly on a different host. The means
+ -- by which that server may be accessed is
+ -- not addressed by this standard. One
+ -- suggested possibility is an implementor
+ -- agreement whereby the database name is a
+ -- url which may be used to connect to the
+ -- server.
+ nicknames [3] IMPLICIT SEQUENCE OF DatabaseName OPTIONAL,
+ icon [4] IMPLICIT IconObject OPTIONAL,
+ user-fee [5] IMPLICIT BOOLEAN,
+ available [6] IMPLICIT BOOLEAN,
+ titleString [7] IMPLICIT HumanString OPTIONAL,
+ -- Non-brief elements follow:
+ keywords [8] IMPLICIT SEQUENCE OF HumanString OPTIONAL,
+ description [9] IMPLICIT HumanString OPTIONAL,
+ associatedDbs [10] IMPLICIT DatabaseList OPTIONAL,
+ -- databases that may be searched in
+ -- combination with this one
+ subDbs [11] IMPLICIT DatabaseList OPTIONAL,
+ -- When present, this database is a
+ -- composite representing the combined
+ -- databases 'subDbs'. The individual subDbs
+ -- are also available.
+ disclaimers [12] IMPLICIT HumanString OPTIONAL,
+ news [13] IMPLICIT HumanString OPTIONAL,
+ recordCount [14] CHOICE {
+ actualNumber [0] IMPLICIT INTEGER,
+ approxNumber [1] IMPLICIT INTEGER}
+ OPTIONAL,
+ defaultOrder [15] IMPLICIT HumanString OPTIONAL,
+ avRecordSize [16] IMPLICIT INTEGER OPTIONAL,
+ maxRecordSize [17] IMPLICIT INTEGER OPTIONAL,
+ hours [18] IMPLICIT HumanString OPTIONAL,
+ bestTime [19] IMPLICIT HumanString OPTIONAL,
+ lastUpdate [20] IMPLICIT GeneralizedTime OPTIONAL,
+ updateInterval [21] IMPLICIT IntUnit OPTIONAL,
+ coverage [22] IMPLICIT HumanString OPTIONAL,
+ proprietary [23] IMPLICIT BOOLEAN OPTIONAL,
+ -- mandatory in full record
+ copyrightText [24] IMPLICIT HumanString OPTIONAL,
+ copyrightNotice [25] IMPLICIT HumanString OPTIONAL,
+ producerContactInfo [26] IMPLICIT ContactInfo OPTIONAL,
+ supplierContactInfo [27] IMPLICIT ContactInfo OPTIONAL,
+ submissionContactInfo [28] IMPLICIT ContactInfo OPTIONAL,
+ -- accessInfo lists items connected with the database. All listed items
+ -- should be in the target's AccessInfo.
+ accessInfo [29] IMPLICIT AccessInfo OPTIONAL}
+
+
+
+SchemaInfo ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ schema [1] IMPLICIT OBJECT IDENTIFIER,
+ -- Non-key brief elements follow:
+ name [2] IMPLICIT InternationalString,
+ -- Non-brief elements follow:
+ description [3] IMPLICIT HumanString OPTIONAL,
+ tagTypeMapping [4] IMPLICIT SEQUENCE OF SEQUENCE {
+ tagType [0] IMPLICIT INTEGER,
+ tagSet [1] IMPLICIT OBJECT IDENTIFIER
+ OPTIONAL,
+ -- If tagSet is omitted, then
+ -- this tagType is for a tagSet
+ -- locally defined within the
+ -- schema that cannot be
+ -- referenced by another schema.
+ defaultTagType [2] IMPLICIT NULL OPTIONAL} OPTIONAL,
+ recordStructure [5] IMPLICIT SEQUENCE OF ElementInfo OPTIONAL}
+
+
+
+ -- ElementInfo referenced in SchemaInfo and RecordSyntaxInfo
+ ElementInfo ::= SEQUENCE {
+ elementName [1] IMPLICIT InternationalString,
+ elementTagPath [2] IMPLICIT Path,
+ dataType [3] ElementDataType OPTIONAL,
+ -- If omitted, not specified.
+ required [4] IMPLICIT BOOLEAN,
+ repeatable [5] IMPLICIT BOOLEAN,
+ description [6] IMPLICIT HumanString OPTIONAL}
+
+ -- Path is referenced by ElementInfo as well as PerElementDetails
+ Path ::= SEQUENCE OF SEQUENCE{
+ tagType [1] IMPLICIT INTEGER,
+ tagValue [2] StringOrNumeric}
+
+ ElementDataType ::= CHOICE{
+ primitive [0] IMPLICIT PrimitiveDataType,
+ structured [1] IMPLICIT SEQUENCE OF ElementInfo}
+ PrimitiveDataType ::= INTEGER{
+ octetString (0),
+ numeric (1),
+ date (2),
+ external (3),
+ string (4),
+ trueOrFalse (5),
+ oid (6),
+ intUnit (7),
+ empty (8),
+ noneOfTheAbove (100) -- see 'description'
+ }
+
+
+TagSetInfo ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ tagSet [1] IMPLICIT OBJECT IDENTIFIER,
+ -- non-key brief elements follow:
+ name [2] IMPLICIT InternationalString,
+ -- non-brief elements follow:
+ description [3] IMPLICIT HumanString OPTIONAL,
+ elements [4] IMPLICIT SEQUENCE OF SEQUENCE {
+ elementname [1] IMPLICIT InternationalString,
+ nicknames [2] IMPLICIT SEQUENCE OF
+ InternationalString OPTIONAL,
+ elementTag [3] StringOrNumeric,
+ description [4] IMPLICIT HumanString OPTIONAL,
+ dataType [5] PrimitiveDataType OPTIONAL,
+ -- If the data type is expected
+ -- to be structured, that is
+ -- described in the schema info,
+ -- and datatypeis omitted here.
+ otherTagInfo OtherInformation OPTIONAL} OPTIONAL}
+
+
+
+RecordSyntaxInfo ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ recordSyntax [1] IMPLICIT OBJECT IDENTIFIER,
+ -- Non-key brief elements follow:
+ name [2] IMPLICIT InternationalString,
+ -- non-brief elements follow:
+ transferSyntaxes [3] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+ description [4] IMPLICIT HumanString OPTIONAL,
+ asn1Module [5] IMPLICIT InternationalString OPTIONAL,
+ abstractStructure [6] IMPLICIT SEQUENCE OF ElementInfo OPTIONAL
+ -- Omitting abstractStructure only means target
+ -- isn't using Explain to describe the structure,
+ -- not that there is no structure.
+ }
+
+
+
+AttributeSetInfo ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ attributeSet [1] IMPLICIT AttributeSetId,
+ -- non-key brief elements follow:
+ name [2] IMPLICIT InternationalString,
+ -- non-brief elements follow:
+ attributes [3] IMPLICIT SEQUENCE OF AttributeType OPTIONAL,
+ -- mandatory in full record
+ description [4] IMPLICIT HumanString OPTIONAL}
+
+
+
+-- AttributeType referenced in AttributeSetInfo
+ AttributeType ::= SEQUENCE {
+ name [0] IMPLICIT InternationalString OPTIONAL,
+ description [1] IMPLICIT HumanString OPTIONAL,
+ attributeType [2] IMPLICIT INTEGER,
+ attributeValues [3] IMPLICIT SEQUENCE OF AttributeDescription}
+
+ AttributeDescription ::= SEQUENCE {
+ name [0] IMPLICIT InternationalString OPTIONAL,
+ description [1] IMPLICIT HumanString OPTIONAL,
+ attributeValue [2] StringOrNumeric,
+ equivalentAttributes [3] IMPLICIT SEQUENCE OF StringOrNumeric
+ OPTIONAL
+ -- each is an occurence of
+ -- 'attributeValue' from
+ --AttributeDescription for a
+ -- different attribute. Equivalences
+ -- listed here should be derived from the
+ -- attribute set definition, not from a
+ -- particular server's behavior.
+ }
+
+
+TermListInfo ::= SEQUENCE{
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ databaseName [1] IMPLICIT DatabaseName,
+ -- Non-key brief elements follow:
+ termLists [2] IMPLICIT SEQUENCE OF SEQUENCE{
+ name [1] IMPLICIT InternationalString,
+ title [2] IMPLICIT HumanString OPTIONAL,
+ -- Title is for users to see
+ -- and can differ by language.
+ -- Name, on the other hand, is
+ -- typically a short string
+ -- not necessarily meant to be
+ -- human-readable, and not
+ -- variable by language.
+ searchCost [3] IMPLICIT INTEGER {
+ optimized (0),
+ -- The attribute (or combination)
+ -- associated with this list will
+ -- do fast searches.
+ normal (1),
+ -- The attribute (combination) will
+ -- work expected. So there's
+ -- probably an index for the
+ -- attribute (combination) or some
+ -- similar mechanism.
+ expensive (2),
+ -- Can use the attribute
+ -- (combination), but it might not
+ -- provide satisfactory results.
+ -- Probably there is no index, or
+ -- post-processing of records is
+ -- required.
+ filter (3)
+ -- can't search with this
+ -- attribute (combination) alone.
+ } OPTIONAL,
+ scanable [4] IMPLICIT BOOLEAN,
+ -- 'true' means this list can be
+ -- scanned.
+ broader [5] IMPLICIT SEQUENCE OF InternationalString
+ OPTIONAL,
+ narrower [6] IMPLICIT SEQUENCE OF InternationalString
+ OPTIONAL
+ -- broader and narrower list
+ -- alternative term lists related to
+ -- this one. The term lists so listed
+ -- should also be in this termLists
+ -- structure.
+ }
+ -- no non-brief elements
+ }
+
+
+
+
+ExtendedServicesInfo ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ type [1] IMPLICIT OBJECT IDENTIFIER,
+ -- Non-key brief elements follow:
+ name [2] IMPLICIT InternationalString OPTIONAL,
+ -- should be supplied if privateType is 'true'
+ privateType [3] IMPLICIT BOOLEAN,
+ restrictionsApply [5] IMPLICIT BOOLEAN, -- if 'true' see 'description'
+ feeApply [6] IMPLICIT BOOLEAN, -- if 'true' see 'description'
+ available [7] IMPLICIT BOOLEAN,
+ retentionSupported [8] IMPLICIT BOOLEAN,
+ waitAction [9] IMPLICIT INTEGER{
+ waitSupported (1),
+ waitAlways (2),
+ waitNotSupported (3),
+ depends (4),
+ notSaying (5)},
+ -- non-brief elements follow:
+ -- To get brief plus 'description' use esn 'description'
+ description [10] IMPLICIT HumanString OPTIONAL,
+ -- to get above elements and 'specificExplain' use esn
+ --'specificExplain'
+ specificExplain [11] IMPLICIT EXTERNAL OPTIONAL,
+ -- Use oid of specific ES, and select choice
+ -- [3] 'explain'. Format to be developed in
+ -- conjunction with the specific ES definition.
+ -- to get all elements except 'specificExplain', use esn 'asn'
+ esASN [12] IMPLICIT InternationalString OPTIONAL
+ -- the ASN.1 for this ES
+ }
+
+-- - - - - - - - - - - - - Detail records
+ -- The detail records describe relationships among entities supported by the
+ -- target. RetrievalRecordDetails describes the way that schema elements are
+ -- mapped into record elements. This mapping may be different for each
+ -- combination of database, schema, record syntax. The per-element details
+ -- describe the default mapping. Origin-request re-tagging can change that
+ -- mapping. When multiple databases are listed in a databaseNames element,
+ -- the record applies equally to all of the listed databases. This is
+ -- unrelated to searching the databases together. AttributeDetails describes
+ -- how databases can be searched. Each supported attribute is listed, and
+ -- the allowable combinations can be described.
+
+AttributeDetails ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ databaseName [1] IMPLICIT DatabaseName,
+ -- Non-brief elements follow:
+ attributesBySet [2] IMPLICIT SEQUENCE OF AttributeSetDetails
+ OPTIONAL,
+ -- mandatory in full record
+ attributeCombinations [3] IMPLICIT AttributeCombinations OPTIONAL}
+
+
+-- AttributeSetDetails referenced by AttributeDetails
+ AttributeSetDetails ::= SEQUENCE {
+ attributeSet [0] IMPLICIT AttributeSetId,
+ attributesByType [1] IMPLICIT SEQUENCE OF AttributeTypeDetails}
+
+
+ AttributeTypeDetails ::= SEQUENCE {
+ attributeType [0] IMPLICIT INTEGER,
+ defaultIfOmitted [1] IMPLICIT OmittedAttributeInterpretation OPTIONAL,
+ attributeValues [2] IMPLICIT SEQUENCE OF AttributeValue OPTIONAL }
+ -- If no attributeValues are supplied, all
+ -- values of this type are fully supported, and
+ -- the descriptions in AttributeSetInfo are
+ -- adequate.
+
+
+ OmittedAttributeInterpretation ::=
+SEQUENCE {
+ defaultValue [0] StringOrNumeric OPTIONAL,
+ -- A default value is listed if that's how
+ -- the server works
+ defaultDescription [1] IMPLICIT HumanString OPTIONAL }
+ -- The human-readable description should
+ -- generally be provided. It is legal for
+ -- both default elements to be missing,
+ -- which means that the target will allow
+ -- the attribute type to be omitted, but
+ -- isn't saying what it will do.
+
+AttributeValue ::= SEQUENCE {
+ value [0] StringOrNumeric,
+ description [1] IMPLICIT HumanString OPTIONAL,
+ subAttributes [2] IMPLICIT SEQUENCE OF StringOrNumeric OPTIONAL,
+ superAttributes [3] IMPLICIT SEQUENCE OF StringOrNumeric OPTIONAL,
+ partialSupport [4] IMPLICIT NULL OPTIONAL
+ -- partialSupport indicates that an attributeValue is
+ -- accepted, but may not be processed in the
+ -- "expected" way. One important reason for this is
+ -- composite databases: in this case partialSupport
+ -- may indicate that only some of the subDbs support
+ -- the attribute, and others ignore it.
+ }
+
+
+TermListDetails ::= SEQUENCE{ -- one for each termList in TermListInfo
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ termListName [1] IMPLICIT InternationalString,
+ -- Non-key elements (all non-brief) follow:
+ description [2] IMPLICIT HumanString OPTIONAL,
+ attributes [3] IMPLICIT AttributeCombinations OPTIONAL,
+ -- Pattern for attributes that hit this list.
+ -- Mandatory in full record
+ scanInfo [4] IMPLICIT SEQUENCE {
+ maxStepSize [0] IMPLICIT INTEGER OPTIONAL,
+ collatingSequence [1] IMPLICIT HumanString OPTIONAL,
+ increasing [2] IMPLICIT BOOLEAN OPTIONAL}
+ OPTIONAL,
+ -- Occurs only if list is scanable.
+ -- If list is scanable and if scanInfo is omitted,
+ -- target doesn't consider these important.
+ estNumberTerms [5] IMPLICIT INTEGER OPTIONAL,
+ sampleTerms [6] IMPLICIT SEQUENCE OF Term OPTIONAL}
+
+
+
+ElementSetDetails ::= SEQUENCE {
+ -- ElementSetDetails describes the way that database records are mapped to
+ -- record elements. This mapping may be different for each combination of
+ -- database name and element set. The database record description is a
+ -- schema, which may be private to the target. The schema's abstract
+ -- record structure and tag sets provide the vocabulary for discussing
+ -- record content; their presence in the Explain database does not imply
+ -- support for complex retrieval specification.
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ databaseName [1] IMPLICIT DatabaseName,
+ elementSetName [2] IMPLICIT ElementSetName,
+ recordSyntax [3] IMPLICIT OBJECT IDENTIFIER,
+ -- Non-key Brief elements follow:
+ schema [4] IMPLICIT OBJECT IDENTIFIER,
+ -- Non-brief elements follow:
+ description [5] IMPLICIT HumanString OPTIONAL,
+ detailsPerElement [6] IMPLICIT SEQUENCE OF PerElementDetails OPTIONAL
+ -- mandatory in full record
+ }
+
+
+
+RetrievalRecordDetails ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ databaseName [1] IMPLICIT DatabaseName,
+ schema [2] IMPLICIT OBJECT IDENTIFIER,
+ recordSyntax [3] IMPLICIT OBJECT IDENTIFIER,
+ -- Non-brief elements follow:
+ description [4] IMPLICIT HumanString OPTIONAL,
+ detailsPerElement [5] IMPLICIT SEQUENCE OF PerElementDetails OPTIONAL
+ -- mandatory in full record
+ }
+
+
+
+-- PerElementDetails is referenced in RetreivalRecordDetails and
+-- ElementSetDetails.
+ PerElementDetails ::= SEQUENCE {
+ name [0] IMPLICIT InternationalString OPTIONAL,
+ -- If the name is omitted, the record
+ -- syntax's name for this element is
+ -- appropriate.
+ recordTag [1] IMPLICIT RecordTag OPTIONAL,
+ -- The record tag may be omitted if tags are
+ -- inappropriate for the syntax, or if the
+ -- origin can be expected to know it for
+ -- some other reason.
+ schemaTags [2] IMPLICIT SEQUENCE OF Path OPTIONAL,
+ -- The information from the listed schema
+ -- elements is in some way to produce the
+ -- data sent in the listed record tag. The
+ -- 'contents' element below may describe the
+ -- the logic used.
+ maxSize [3] IMPLICIT INTEGER OPTIONAL,
+ minSize [4] IMPLICIT INTEGER OPTIONAL,
+ avgSize [5] IMPLICIT INTEGER OPTIONAL,
+ fixedSize [6] IMPLICIT INTEGER OPTIONAL,
+ repeatable [8] IMPLICIT BOOLEAN,
+ required [9] IMPLICIT BOOLEAN,
+ -- 'required' really means that target will
+ -- always supply the element.
+ description [12] IMPLICIT HumanString OPTIONAL,
+ contents [13] IMPLICIT HumanString OPTIONAL,
+ billingInfo [14] IMPLICIT HumanString OPTIONAL,
+ restrictions [15] IMPLICIT HumanString OPTIONAL,
+ alternateNames [16] IMPLICIT SEQUENCE OF InternationalString
+ OPTIONAL,
+ genericNames [17] IMPLICIT SEQUENCE OF InternationalString
+ OPTIONAL,
+ searchAccess [18] IMPLICIT AttributeCombinations OPTIONAL}
+
+ -- RecordTag referenced in PerElementDetails above
+ RecordTag ::= SEQUENCE {
+ qualifier [0] StringOrNumeric OPTIONAL,
+ -- E.g. tag set for GRS-1
+ tagValue [1] StringOrNumeric}
+
+
+
+
+SortDetails ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ databaseName [1] IMPLICIT DatabaseName,
+ -- No non-key brief elements
+ -- Non-brief elements follow:
+ sortKeys [2] IMPLICIT SEQUENCE OF SortKeyDetails OPTIONAL
+ -- mandatory in full record
+ }
+
+ SortKeyDetails ::= SEQUENCE {
+ description [0] IMPLICIT HumanString OPTIONAL,
+ elementSpecifications [1] IMPLICIT SEQUENCE OF Specification
+ OPTIONAL,
+ -- each specification is a way of
+ -- specifying this same sort key
+ attributeSpecifications [2] IMPLICIT AttributeCombinations OPTIONAL,
+ -- each combination is a way of
+ -- specifying this same sort key
+ sortType [3] CHOICE {
+ character [0] IMPLICIT NULL,
+ numeric [1] IMPLICIT NULL,
+ structured [2] IMPLICIT
+ HumanString} OPTIONAL,
+ caseSensitivity [4] IMPLICIT INTEGER {
+ always (0),
+ -- always case-sensitive
+ never (1),
+ -- never case-sensitive
+ default-yes (2),
+ -- case-sensitivity is as specified
+ -- on request, and if not
+ -- specified, case-sensitive.
+ default-no (3)
+ -- case-sensitivity is as specified
+ -- on request, and if not
+ -- specified, not case-sensitive.
+ }
+ OPTIONAL}
+
+
+
+ProcessingInformation ::= SEQUENCE{
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ databaseName [1] IMPLICIT DatabaseName,
+ processingContext [2] IMPLICIT INTEGER {
+ access (0),
+ -- e.g. choosing databases
+ search (1),
+ -- e.g. "search strategies" or search forms
+ retrieval (2),
+ -- e.g. recommended element combinations
+ record-presentation (3),
+ -- display of retrieved records
+ record-handling (4)
+ -- handling (e.g. saving) of retrieved
+ -- records
+ },
+ name [3] IMPLICIT InternationalString,
+ oid [4] IMPLICIT OBJECT IDENTIFIER,
+ -- So origin can retreive brief record and
+ -- determine if it can handle 'instructions' when
+ -- retrieving the full record.
+ -- No non-key brief elements
+ -- Non-brief elements follow:
+ description [5] IMPLICIT HumanString OPTIONAL,
+ -- use element set name 'description'
+ -- to retrieve all except instructions.
+ instructions [6] IMPLICIT EXTERNAL OPTIONAL -- mandatory in full record
+ }
+
+
+
+
+VariantSetInfo ::= SEQUENCE {
+ -- A record in this category describes a variant set definition, i.e.,
+ -- classes, types, and values, for a specific variant set definition
+ -- supported by the target. Support by the target of a particular
+ -- variant set definition does not imply that the definition is
+ -- supported for any specific database or element.
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ variantSet [1] IMPLICIT OBJECT IDENTIFIER,
+ -- Non-key brief elements follow:
+ name [2] IMPLICIT InternationalString,
+ -- Non-brief elements follow:
+ variants [3] IMPLICIT SEQUENCE OF VariantClass OPTIONAL
+ -- mandatory in full record
+ }
+
+ -- Subsidiary structures for VariantSetInfo
+ VariantClass ::= SEQUENCE {
+ name [0] IMPLICIT InternationalString OPTIONAL,
+ description [1] IMPLICIT HumanString OPTIONAL,
+ variantClass [2] IMPLICIT INTEGER,
+ variantTypes [3] IMPLICIT SEQUENCE OF VariantType}
+
+ VariantType ::= SEQUENCE {
+ name [0] IMPLICIT InternationalString OPTIONAL,
+ description [1] IMPLICIT HumanString OPTIONAL,
+ variantType [2] IMPLICIT INTEGER,
+ variantValue [3] IMPLICIT VariantValue OPTIONAL}
+
+ VariantValue ::= SEQUENCE {
+ dataType [0] PrimitiveDataType,
+ values [1] ValueSet OPTIONAL }
+
+ ValueSet ::= CHOICE {
+ range [0] IMPLICIT ValueRange,
+ enumerated [1] IMPLICIT SEQUENCE OF ValueDescription }
+
+ ValueRange ::= SEQUENCE {
+ -- At last one the following must be supplied, both
+ -- may be supplied.
+ lower [0] ValueDescription OPTIONAL,
+ upper [1] ValueDescription OPTIONAL }
+
+ ValueDescription ::= CHOICE{
+ integer INTEGER,
+ string InternationalString,
+ octets OCTET STRING,
+ oid OBJECT IDENTIFIER,
+ unit [1] IMPLICIT Unit,
+ valueAndUnit [2] IMPLICIT IntUnit
+ -- oid and unit can't be used in a ValueRange
+ }
+
+
+
+UnitInfo ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Key elements follow:
+ unitSystem [1] IMPLICIT InternationalString,
+ -- No non-key brief elements
+ -- Non-brief elements follow:
+ description [2] IMPLICIT HumanString OPTIONAL,
+ units [3] IMPLICIT SEQUENCE OF UnitType OPTIONAL }
+ -- mandatory in full record
+
+ -- Subsidiary structures for UnitInfo
+ UnitType ::= SEQUENCE {
+ name [0] IMPLICIT InternationalString OPTIONAL,
+ description [1] IMPLICIT HumanString OPTIONAL,
+ unitType [2] StringOrNumeric,
+ units [3] IMPLICIT SEQUENCE OF Units}
+
+ Units ::= SEQUENCE {
+ name [0] IMPLICIT InternationalString OPTIONAL,
+ description [1] IMPLICIT HumanString OPTIONAL,
+ unit [2] StringOrNumeric}
+
+
+
+CategoryList ::= SEQUENCE {
+ commonInfo [0] IMPLICIT CommonInfo OPTIONAL,
+ -- Only one record expected per Explain database. All elements
+ -- appear in brief presentation.
+ categories [1] IMPLICIT SEQUENCE OF CategoryInfo }
+
+ CategoryInfo ::= SEQUENCE {
+ category [1] IMPLICIT InternationalString,
+ originalCategory [2] IMPLICIT InternationalString OPTIONAL,
+ description [3] IMPLICIT HumanString OPTIONAL,
+ asn1Module [4] IMPLICIT InternationalString OPTIONAL}
+
+
+
+
+-- - - - - - - - - - - - - - Subsidiary definitions
+
+CommonInfo ::= SEQUENCE {
+ dateAdded [0] IMPLICIT GeneralizedTime OPTIONAL,
+ dateChanged [1] IMPLICIT GeneralizedTime OPTIONAL,
+ expiry [2] IMPLICIT GeneralizedTime OPTIONAL,
+ humanString-Language [3] IMPLICIT LanguageCode OPTIONAL,
+ -- following not to occur for brief:
+ otherInfo OtherInformation OPTIONAL}
+
+HumanString ::= SEQUENCE OF SEQUENCE {
+ language [0] IMPLICIT LanguageCode OPTIONAL,
+ text [1] IMPLICIT InternationalString}
+
+IconObject ::= SEQUENCE OF SEQUENCE{
+ -- Note that the "SEQUENCE OF" is to allow alternative
+ -- representations of the same Icon; it is not intended to allow
+ -- multiple icons.
+ bodyType [1] CHOICE{
+ ianaType [1] IMPLICIT InternationalString,
+ z3950type [2] IMPLICIT InternationalString,
+ otherType [3] IMPLICIT InternationalString},
+ content [2] IMPLICIT OCTET STRING}
+
+
+LanguageCode ::=InternationalString
+ -- from ANSI/NISO Z39.53-1994
+
+ContactInfo ::= SEQUENCE {
+ name [0] IMPLICIT InternationalString OPTIONAL,
+ description [1] IMPLICIT HumanString OPTIONAL,
+ address [2] IMPLICIT HumanString OPTIONAL,
+ email [3] IMPLICIT InternationalString OPTIONAL,
+ phone [4] IMPLICIT InternationalString OPTIONAL}
+
+NetworkAddress ::= CHOICE {
+ internetAddress [0] IMPLICIT SEQUENCE {
+ hostAddress [0] IMPLICIT
+ InternationalString,
+ port [1] IMPLICIT INTEGER},
+ osiPresentationAddress [1] IMPLICIT SEQUENCE {
+ pSel [0] IMPLICIT InternationalString,
+ sSel [1] IMPLICIT InternationalString
+ OPTIONAL,
+ tSel [2] IMPLICIT InternationalString
+ OPTIONAL,
+ nSap [3] IMPLICIT InternationalString},
+ other [2] IMPLICIT SEQUENCE {
+ type [0] IMPLICIT InternationalString,
+ address [1] IMPLICIT InternationalString}}
+
+
+AccessInfo ::= SEQUENCE {
+ -- AccessInfo contains the fundmental information about what facilites
+ -- are required to use this target or server. For example, if an origin
+ -- can handle none of the record syntaxes a database can provide,
+ -- it might choose not to access the database.
+ queryTypesSupported [0] IMPLICIT SEQUENCE OF QueryTypeDetails OPTIONAL,
+ diagnosticsSets [1] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+ attributeSetIds [2] IMPLICIT SEQUENCE OF AttributeSetId OPTIONAL,
+ schemas [3] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+ recordSyntaxes [4] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+ resourceChallenges [5] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+ restrictedAccess [6] IMPLICIT AccessRestrictions OPTIONAL,
+ costInfo [8] IMPLICIT Costs OPTIONAL,
+ variantSets [9] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+ elementSetNames [10] IMPLICIT SEQUENCE OF ElementSetName OPTIONAL,
+ unitSystems [11] IMPLICIT SEQUENCE OF InternationalString}
+
+
+-- begin auxiliary definitions for AccessInfo
+-- Begin Query Details
+QueryTypeDetails ::= CHOICE {
+ private [0] IMPLICIT PrivateCapabilities,
+ rpn [1] IMPLICIT RpnCapabilities,
+ iso8777 [2] IMPLICIT Iso8777Capabilities,
+ z39-58 [100] IMPLICIT HumanString,
+ erpn [101] IMPLICIT RpnCapabilities,
+ rankedList [102] IMPLICIT HumanString}
+
+
+PrivateCapabilities ::= SEQUENCE {
+ operators [0] IMPLICIT SEQUENCE OF SEQUENCE {
+ operator [0] IMPLICIT InternationalString,
+ description [1] IMPLICIT HumanString OPTIONAL } OPTIONAL,
+ searchKeys [1] IMPLICIT SEQUENCE OF SearchKey OPTIONAL,
+ -- field names that can be searched
+ description [2] IMPLICIT SEQUENCE OF HumanString OPTIONAL }
+
+
+RpnCapabilities ::= SEQUENCE {
+ operators [0] IMPLICIT SEQUENCE OF INTEGER OPTIONAL,
+ -- Omitted means all operators are supported.
+ resultSetAsOperandSupported [1] IMPLICIT BOOLEAN,
+ restrictionOperandSupported [2] IMPLICIT BOOLEAN,
+ proximity [3] IMPLICIT ProximitySupport OPTIONAL}
+
+Iso8777Capabilities ::= SEQUENCE {
+ searchKeys [0] IMPLICIT SEQUENCE OF SearchKey,
+ -- field names that may be searched
+ restrictions [1] IMPLICIT HumanString OPTIONAL
+ -- Omitted means supported, not specifying units.
+ }
+
+ProximitySupport ::= SEQUENCE {
+ anySupport [0] IMPLICIT BOOLEAN,
+ -- 'false' means no proximity support, in which case
+ -- unitsSupported not supplied.
+ unitsSupported [1] IMPLICIT SEQUENCE OF CHOICE{
+ known [1] IMPLICIT INTEGER,
+ -- values from KnownProximityUnit
+ private [2] IMPLICIT SEQUENCE{
+ unit [0] IMPLICIT INTEGER,
+ description [1] HumanString OPTIONAL}}
+ OPTIONAL}
+
+SearchKey ::= SEQUENCE {
+ searchKey [0] IMPLICIT InternationalString,
+ description [1] IMPLICIT HumanString OPTIONAL }
+-- End Query details
+
+
+
+AccessRestrictions ::= SEQUENCE OF SEQUENCE {
+ accessType [0] INTEGER {
+ any (0),
+ search (1),
+ present (2),
+ specific-elements (3),
+ extended-services (4),
+ by-database (5)},
+ accessText [1] IMPLICIT HumanString OPTIONAL,
+ accessChallenges [2] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL}
+
+
+Costs ::= SEQUENCE {
+ connectCharge [0] IMPLICIT Charge OPTIONAL, -- Per-connection charge
+ connectTime [1] IMPLICIT Charge OPTIONAL, -- Time-based charge
+ displayCharge [2] IMPLICIT Charge OPTIONAL, -- Per-record charge
+ searchCharge [3] IMPLICIT Charge OPTIONAL, -- Per-search charge
+ subscriptCharge [4] IMPLICIT Charge OPTIONAL, -- Subscription charges
+ otherCharges [5] IMPLICIT SEQUENCE OF SEQUENCE{ -- Other charges
+ forWhat [1] IMPLICIT HumanString,
+ charge [2] IMPLICIT Charge} OPTIONAL}
+
+ Charge ::= SEQUENCE{
+ cost [1] IMPLICIT IntUnit,
+ perWhat [2] IMPLICIT Unit OPTIONAL,
+ -- e.g. "second," "minute," "line," "record"...
+ text [3] IMPLICIT HumanString OPTIONAL}
+-- End Auxiliary definitions for AccessInfo
+
+
+DatabaseList ::= SEQUENCE OF DatabaseName
+
+AttributeCombinations ::= SEQUENCE {
+ defaultAttributeSet [0] IMPLICIT AttributeSetId,
+ -- Default for the combinations. Also probably
+ -- a good choice for the default
+ -- in searches, but that isn't required.
+ legalCombinations [1] IMPLICIT SEQUENCE OF AttributeCombination }
+
+
+AttributeCombination ::= SEQUENCE OF AttributeOccurrence
+ -- An AttributeCombination is a pattern for legal combination of attributes
+
+
+AttributeOccurrence ::= SEQUENCE {
+ -- An AttributeOccurrence lists the legal values for a
+ -- specific attribute type in a combination.
+ attributeSet [0] IMPLICIT AttributeSetId OPTIONAL,
+ attributeType [1] IMPLICIT INTEGER,
+ mustBeSupplied [2] IMPLICIT NULL OPTIONAL,
+ attributeValues CHOICE {
+ any-or-none [3] IMPLICIT NULL,
+ -- All supported values are OK
+ specific [4] IMPLICIT SEQUENCE OF
+ StringOrNumeric}}
+ -- Only these values allowed
+
+
+END
+
+
+
+
+
+RecordSyntax-summary
+
+{z39-50-recordSyntax summary (103)} DEFINITIONS ::=
+BEGIN
+IMPORTS OtherInformation, InternationalString FROM Z39-50-APDU-1995;
+
+BriefBib ::= SEQUENCE {
+ title [1] IMPLICIT InternationalString,
+ author [2] IMPLICIT InternationalString OPTIONAL,
+ callNumber [3] IMPLICIT InternationalString OPTIONAL,
+ recordType [4] IMPLICIT InternationalString OPTIONAL,
+ bibliographicLevel [5] IMPLICIT InternationalString OPTIONAL,
+ format [6] IMPLICIT SEQUENCE OF FormatSpec OPTIONAL,
+ publicationPlace [7] IMPLICIT InternationalString OPTIONAL,
+ publicationDate [8] IMPLICIT InternationalString OPTIONAL,
+ targetSystemKey [9] IMPLICIT InternationalString OPTIONAL,
+ satisfyingElement [10] IMPLICIT InternationalString OPTIONAL,
+ rank [11] IMPLICIT INTEGER OPTIONAL,
+ documentId [12] IMPLICIT InternationalString OPTIONAL,
+ abstract [13] IMPLICIT InternationalString OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+ FormatSpec ::= SEQUENCE {
+ type [1] IMPLICIT InternationalString,
+ size [2] IMPLICIT INTEGER OPTIONAL,
+ bestPosn [3] IMPLICIT INTEGER OPTIONAL}
+END
+
+
+
+
+
+RecordSyntax-generic -- For detailed semantics, see Appendix RET.
+{z39-50-recordSyntax grs-1 (105)} DEFINITIONS ::=
+BEGIN
+EXPORTS Variant;
+IMPORTS IntUnit, Unit, InternationalString, StringOrNumeric, Term
+FROM Z39-50-APDU-1995;
+
+GenericRecord ::= SEQUENCE OF TaggedElement
+TaggedElement ::= SEQUENCE {
+ tagType [1] IMPLICIT INTEGER OPTIONAL,
+ -- If omitted, default should be supplied dynamically
+ -- by tagSet-M; otherwise it should be statically
+ -- specified by the schema.
+ tagValue [2] StringOrNumeric,
+ tagOccurrence [3] IMPLICIT INTEGER OPTIONAL,
+ -- Occurrence within the database record, and
+ -- relative to the parent. No default; if omitted,
+ -- target not telling or it is irrelevant.
+ content [4] ElementData,
+ metaData [5] IMPLICIT ElementMetaData OPTIONAL,
+ appliedVariant [6] IMPLICIT Variant OPTIONAL}
+
+ElementData ::= CHOICE{
+ octets OCTET STRING,
+ numeric INTEGER,
+ date GeneralizedTime,
+ ext EXTERNAL,
+ string InternationalString,
+ trueOrFalse BOOLEAN,
+ oid OBJECT IDENTIFIER,
+ intUnit [1] IMPLICIT IntUnit,
+ elementNotThere [2] IMPLICIT NULL, -- element requested but not there
+ elementEmpty [3] IMPLICIT NULL, -- element there, but empty
+ noDataRequested [4] IMPLICIT NULL, -- variant request said 'no data'
+ diagnostic [5] IMPLICIT EXTERNAL,
+ subtree [6] SEQUENCE OF TaggedElement
+ -- recursive, for nested tags
+ }
+
+ElementMetaData ::= SEQUENCE{
+ seriesOrder [1] IMPLICIT Order OPTIONAL,
+ -- only for a non-leaf node
+ usageRight [2] IMPLICIT Usage OPTIONAL,
+ hits [3] IMPLICIT SEQUENCE OF HitVector OPTIONAL,
+ displayName [4] IMPLICIT InternationalString OPTIONAL,
+ -- name for element that origin can use for
+ -- display
+ supportedVariants [5] IMPLICIT SEQUENCE OF Variant OPTIONAL,
+ message [6] IMPLICIT InternationalString OPTIONAL,
+ elementDescriptor [7] IMPLICIT OCTET STRING OPTIONAL,
+ surrogateFor [8] IMPLICIT TagPath OPTIONAL,
+ -- the retrieved element is a surrogate for the
+ -- element given by this path
+ surrogateElement [9] IMPLICIT TagPath OPTIONAL,
+ -- the element given by this path is a
+ -- surrogate for the retrieved element
+ other [99] IMPLICIT EXTERNAL OPTIONAL}
+
+ TagPath ::= SEQUENCE OF SEQUENCE{
+ tagType [1] IMPLICIT INTEGER OPTIONAL,
+ tagValue [2] StringOrNumeric,
+ tagOccurrence [3] IMPLICIT INTEGER OPTIONAL}
+
+
+Order ::= SEQUENCE{
+ ascending [1] IMPLICIT BOOLEAN,
+ -- "true" means monotonically increasing (i.e. non-
+ -- decreasing); "false" means monotonically
+ -- decreasing (i.e. non-increasing).
+ order [2] IMPLICIT INTEGER
+ -- Same as defined by 'elementOrdering' in tagSet-M,
+ -- though this may be overidden by schema.
+ }
+
+Usage ::= SEQUENCE {
+ type [1] IMPLICIT INTEGER{
+ redistributable (1),
+ -- Element is freely redistributable.
+ restricted (2),
+ -- Restriction contains statement.
+ licensePointer (3)
+ -- Restriction contains license pointer.
+ },
+ restriction [2] IMPLICIT InternationalString OPTIONAL}
+
+HitVector ::= SEQUENCE{
+ -- Each hit vector points to a fragment within the
+ -- element, via location and/or token.
+ satisfier Term OPTIONAL, -- sourceword, etc.
+ offsetIntoElement [1] IMPLICIT IntUnit OPTIONAL,
+ length [2] IMPLICIT IntUnit OPTIONAL,
+ hitRank [3] IMPLICIT INTEGER OPTIONAL,
+ targetToken [4] IMPLICIT OCTET STRING OPTIONAL
+ -- Origin may use token subsequently within a
+ -- variantRequest (in an elementRequest) to
+ -- retrieve (or to refer to) the fragment.
+ }
+
+
+Variant ::= SEQUENCE{
+ globalVariantSetId [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
+ -- Applies to the triples below, when
+ -- variantSetId omitted. If
+ -- globalVariantSetId omitted, default applies.
+ -- Default may be provided by the tagSet-M
+ -- element defaultVariantSetId.
+ triples [2] IMPLICIT SEQUENCE OF SEQUENCE{
+ variantSetId [0] IMPLICIT OBJECT IDENTIFIER
+ OPTIONAL,
+ -- If omitted,
+ -- globalVariantSetId
+ -- (above) applies, unless
+ -- that too is omitted, in
+ -- which case, default
+ -- used.
+ class [1] IMPLICIT INTEGER,
+ type [2] IMPLICIT INTEGER,
+ value [3] CHOICE{
+ integer INTEGER,
+ string InternationalString,
+ octetString OCTET STRING,
+ oid OBJECT IDENTIFIER,
+ boolean BOOLEAN,
+ null NULL,
+ -- Following need context tags:
+ unit [1] IMPLICIT Unit,
+ valueAndUnit [2] IMPLICIT
+ IntUnit}}}
+END
+
+
+RecordSyntax-ESTaskPackage
+{z39-50-recordSyntax esTaskPackage (106)} DEFINITIONS ::=
+BEGIN
+IMPORTS Permissions, InternationalString, IntUnit, DiagRec
+FROM Z39-50-APDU-1995;
+
+TaskPackage ::= SEQUENCE{
+ packageType [1] IMPLICIT OBJECT IDENTIFIER,
+ -- oid of specific ES definition
+ packageName [2] IMPLICIT InternationalString OPTIONAL,
+ userId [3] IMPLICIT InternationalString OPTIONAL,
+ retentionTime [4] IMPLICIT IntUnit OPTIONAL,
+ permissions [5] IMPLICIT Permissions OPTIONAL,
+ description [6] IMPLICIT InternationalString OPTIONAL,
+ targetReference [7] IMPLICIT OCTET STRING OPTIONAL,
+ creationDateTime [8] IMPLICIT GeneralizedTime OPTIONAL,
+ taskStatus [9] IMPLICIT INTEGER{
+ pending (0),
+ active (1),
+ complete (2),
+ aborted (3)},
+ packageDiagnostics [10] IMPLICIT SEQUENCE OF DiagRec OPTIONAL,
+ taskSpecificParameters [11] IMPLICIT EXTERNAL
+ -- Use oid for specific ES definition
+ -- (same oid as packageType above)
+ -- and select [2] "taskPackage."
+ }
+END
+
+AccessControlFormat-Prompt-1
+{z39-50-accessControl prompt-1 (1)} DEFINITIONS ::=
+BEGIN
+IMPORTS InternationalString, DiagRec FROM Z39-50-APDU-1995;
+--
+PromptObject ::= CHOICE{
+ challenge [1] IMPLICIT Challenge,
+ response [2] IMPLICIT Response}
+
+ Challenge ::= SEQUENCE OF SEQUENCE {
+ promptId [1] PromptId,
+ -- Target supplies a number (for an enumerated
+ -- prompt) or string (for a non-enumerated
+ -- prompt), for each prompt, and the origin
+ -- returns it in response, for this prompt, so
+ -- target may correlate the prompt response with
+ -- the prompt.
+ defaultResponse [2] IMPLICIT InternationalString OPTIONAL,
+ promptInfo [3] CHOICE{
+ character [1] IMPLICIT InternationalString,
+ encrypted [2] IMPLICIT Encryption} OPTIONAL,
+ -- Information corresponding to an
+ -- emumerated prompt. For example if 'type',
+ -- within PromptId, is 'copyright', then
+ -- promptInfo may contain a copyright
+ -- statement.
+ regExpr [4] IMPLICIT InternationalString OPTIONAL,
+ -- A regular expression that promptResponse should
+ -- match. See IEEE 1003.2 Volume 1, Section 2.8
+ -- "Regular Expression Notation." For example if
+ -- promptId is "Year of publication," regExpr
+ -- might be "19[89][0-9]|20[0-9][0-9]".
+ responseRequired [5] IMPLICIT NULL OPTIONAL,
+ allowedValues [6] IMPLICIT SEQUENCE OF InternationalString OPTIONAL,
+ -- e.g. promptId="Desired color"; allowed = 'red',
+ -- 'blue','Green'.
+ shouldSave [7] IMPLICIT NULL OPTIONAL,
+ -- Target recommends that origin save the data
+ -- that it prompts from the user corresponding to
+ -- this prompt, because it is likely to be
+ -- requested again (so origin might not have to
+ -- prompt the user next time).
+ dataType [8] IMPLICIT INTEGER{
+ integer (1),
+ date (2),
+ float (3),
+ alphaNumeric (4),
+ url-urn (5),
+ boolean (6)} OPTIONAL,
+ -- Target telling origin type of data it
+ -- wants. E.g., if "date" is specified,
+ -- presumably the origin will try to prompt
+ -- something "date-like" from the user.
+ diagnostic [9] IMPLICIT EXTERNAL OPTIONAL
+ -- Intended for repeat requests when there is an
+ -- error the origin should report to the user from
+ -- previous attempt.
+ }
+
+
+ Response ::= SEQUENCE OF SEQUENCE {
+ promptId [1] PromptId,
+ -- Corresponds to a prompt in the challenge, or
+ -- may be unprompted, for example "newPassword."
+ -- If unprompted, should be "enumerated."
+ -- If this responds to a non-enumerated prompt,
+ -- then nonEnumeratedPrompt should contain the
+ -- prompt string from the challenge.
+ promptResponse [2] CHOICE{
+ string [1] IMPLICIT InternationalString,
+ accept [2] IMPLICIT BOOLEAN,
+ acknowledge [3] IMPLICIT NULL,
+ diagnostic [4] DiagRec,
+ encrypted [5] IMPLICIT Encryption}}
+
+
+ PromptId ::= CHOICE{
+ enummeratedPrompt [1] IMPLICIT SEQUENCE{
+ type [1] IMPLICIT INTEGER{
+ groupId (0),
+ userId (1),
+ password (2),
+ newPassword (3),
+ copyright (4),
+ -- When type on Challenge is
+ -- 'copyright', promptInfo has text of
+ -- copyright message to be displayed
+ -- verbatim to the user. If
+ -- promptResponse indicates
+ -- 'acceptance', this indicates the
+ -- user has been shown, and accepted,
+ -- the terms of the copyright. This is
+ -- not intended to be legally binding,
+ -- but provides a good-faith attempt
+ -- on the part of the target to inform
+ -- the user of the copyright.
+ sessionId (5)},
+ suggestedString [2] IMPLICIT
+ InternationalString OPTIONAL},
+ nonEnumeratedPrompt [2] IMPLICIT InternationalString}
+
+
+ Encryption ::= SEQUENCE{
+ cryptType [1] IMPLICIT OCTET STRING OPTIONAL,
+ credential [2] IMPLICIT OCTET STRING OPTIONAL,
+ --random number, SALT, or other factor
+ data [3] IMPLICIT OCTET STRING}
+
+END
+
+
+
+
+
+AccessControlFormat-des-1
+{z39-50-accessControlFormat des-1 (2)} DEFINITIONS ::=
+BEGIN
+ DES-RN-Object ::= CHOICE {
+ challenge [1] IMPLICIT DRNType,
+ response [2] IMPLICIT DRNType}
+
+ DRNType ::= SEQUENCE{
+ userId [1] IMPLICIT OCTET STRING OPTIONAL,
+ salt [2] IMPLICIT OCTET STRING OPTIONAL,
+ randomNumber [3] IMPLICIT OCTET STRING}
+END
+
+
+
+
+
+AccessControlFormat-krb-1
+{z39-50-accessControlFormat krb-1 (3)} DEFINITIONS ::=
+BEGIN
+IMPORTS InternationalString FROM Z39-50-APDU-1995;
+
+ KRBObject ::= CHOICE {
+ challenge [1] IMPLICIT KRBRequest,
+ response [2] IMPLICIT KRBResponse}
+
+ KRBRequest ::= SEQUENCE{
+ service [1] IMPLICIT InternationalString,
+ instance [2] IMPLICIT InternationalString OPTIONAL,
+ realm [3] IMPLICIT InternationalString OPTIONAL
+ -- target requests a ticket for the given service,
+ -- instance, and realm
+ }
+
+ KRBResponse ::= SEQUENCE{
+ userid [1] IMPLICIT InternationalString OPTIONAL,
+ ticket [2] IMPLICIT OCTET STRING
+ -- origin responds with a ticket for the requested
+ -- service
+ }
+END
+
+UserInfoFormat-searchResult-1
+{z39-50-userInfoFormat searchResult-1 (1)} DEFINITIONS ::=
+BEGIN
+IMPORTS DatabaseName, Term, Query, IntUnit, InternationalString
+FROM Z39-50-APDU-1995;
+
+SearchInfoReport ::= SEQUENCE OF SEQUENCE{
+ subqueryId [1] IMPLICIT InternationalString OPTIONAL,
+ -- shorthand identifier of subquery
+ fullQuery [2] IMPLICIT BOOLEAN,
+ -- 'true' means this is the full query;
+ -- 'false', a sub-query
+ subqueryExpression [3] QueryExpression OPTIONAL,
+
+ -- A subquery of the query as submitted. May
+ -- be whole query; if so, "fullQuery" should
+ -- be 'true'.
+ subqueryInterpretation [4] QueryExpression OPTIONAL,
+
+ -- how target interpreted subquery
+ subqueryRecommendation [5] QueryExpression OPTIONAL,
+ -- target-recommended alternative
+ subqueryCount [6] IMPLICIT INTEGER OPTIONAL,
+ -- Number of records for this subQuery,
+ -- across all of the specified databases.
+ -- (If during search, via resource control,
+ -- number of records so far).
+ subqueryWeight [7] IMPLICIT IntUnit OPTIONAL,
+ -- relative weight of this subquery
+ resultsByDB [8] IMPLICIT ResultsByDB OPTIONAL}
+
+ResultsByDB ::= SEQUENCE OF SEQUENCE{
+ databases [1] CHOICE{
+ all [1] IMPLICIT NULL,
+ -- applies across all of the databases in
+ -- Search PDU
+ list [2] IMPLICIT SEQUENCE OF DatabaseName
+ -- applies across all databases in this
+ -- list
+ },
+ count [2] IMPLICIT INTEGER OPTIONAL,
+ -- Number of records for query component (and, as
+ -- above, if during search, via resource control,
+ -- number of records so far).
+ resultSetName [3] IMPLICIT InternationalString OPTIONAL
+ -- Target-assigned result set by which subQuery is
+ -- available. Should not be provided unless
+ -- processing for this query component is concluded
+ -- (i.e., when this report comes during search, via
+ -- resource control, as opposed to after search, via
+ -- additionalSearchInfo).
+ }
+
+QueryExpression ::= CHOICE {
+ term [1] IMPLICIT SEQUENCE{
+ queryTerm [1] Term,
+ termComment [2] IMPLICIT InternationalString OPTIONAL},
+ query [2] Query}
+END
diff --git a/epan/dissectors/asn1/z3950/z3950-oclc.asn b/epan/dissectors/asn1/z3950/z3950-oclc.asn
new file mode 100644
index 00000000..e6592405
--- /dev/null
+++ b/epan/dissectors/asn1/z3950/z3950-oclc.asn
@@ -0,0 +1,14 @@
+Z39-50-OCLC-UserInformation
+{z39-50-userInformation local (1000) oclc (17) oclc-1 (1)} DEFINITIONS ::=
+
+BEGIN
+OCLC-UserInformation ::= SEQUENCE {
+ motd [1] IMPLICIT VisibleString OPTIONAL,
+ dblist SEQUENCE OF DBName OPTIONAL,
+ failReason [3] IMPLICIT BOOLEAN OPTIONAL,
+ text [2] IMPLICIT VisibleString OPTIONAL
+ }
+
+DBName ::= [2] IMPLICIT VisibleString
+END
+
diff --git a/epan/dissectors/asn1/z3950/z3950.asn b/epan/dissectors/asn1/z3950/z3950.asn
new file mode 100644
index 00000000..e63f46d8
--- /dev/null
+++ b/epan/dissectors/asn1/z3950/z3950.asn
@@ -0,0 +1,807 @@
+ANSI-Z39-50-ObjectIdentifier DEFINITIONS ::=
+BEGIN
+z39-50 OBJECT IDENTIFIER ::=
+{ iso (1) member-body (2) us (840) ansi-standard-Z39-50 (10003)}
+-- thus {Z39-50} is shorthand for {1 2 840 10003}
+Z39-50-APDU OBJECT IDENTIFIER ::= {Z39-50 2} -- See OID.3
+-- and {Z39-50 2} is shorthand for {1 2 840 10003 2} and so on.
+Z39-50-attributeSet OBJECT IDENTIFIER ::= {Z39-50 3} -- See Appendix ATR
+z39-50-diagnostic OBJECT IDENTIFIER ::= {z39-50 4} -- See Appendix DIAG
+z39-50-recordSyntax OBJECT IDENTIFIER ::= {z39-50 5} --See Appendix REC
+Z39-50-resourceReport OBJECT IDENTIFIER ::= {Z39-50 7} --See Appendix RSC
+Z39-50-accessControl OBJECT IDENTIFIER ::= {Z39-50 8} --See Appendix ACC
+Z39-50-extendedService OBJECT IDENTIFIER ::= {Z39-50 9} --See Appendix EXT
+Z39-50-userInfoFormat OBJECT IDENTIFIER ::= {Z39-50 10} --See Appendix USR
+Z39-50-elementSpec OBJECT IDENTIFIER ::= {Z39-50 11} --See Appendix ESP
+Z39-50-variantSet OBJECT IDENTIFIER ::= {Z39-50 12} --See Appendix VAR
+Z39-50-schema OBJECT IDENTIFIER ::= {Z39-50 13} --See Appendix TAG
+Z39-50-tagSet OBJECT IDENTIFIER ::= {Z39-50 14} --See Appendix TAG
+Z39-50-negotiation OBJECT IDENTIFIER ::= {Z39-50 15}
+Z39-50-query OBJECT IDENTIFIER ::= {Z39-50 16}
+END
+
+Z39-50-APDU-1995
+ -- OID for this definition, assigned in OID.3.1, is {Z39-50 2 1}
+
+DEFINITIONS ::=
+BEGIN -- Z39.50-1995 Maintenance Agency Official Text for ANSI/NISO Z39.50-1995 - July 1995
+--
+EXPORTS OtherInformation, Term,
+AttributeSetId, AttributeList,
+AttributeElement, ElementSetName, SortElement, DatabaseName, CompSpec,
+Specification, Permissions, InternationalString, IntUnit, Unit,
+StringOrNumeric, Query, Records, ResultSetId, DefaultDiagFormat, DiagRec;
+--
+PDU ::= CHOICE{
+ initRequest [20] IMPLICIT InitializeRequest,
+ initResponse [21] IMPLICIT InitializeResponse,
+ searchRequest [22] IMPLICIT SearchRequest,
+ searchResponse [23] IMPLICIT SearchResponse,
+ presentRequest [24] IMPLICIT PresentRequest,
+ presentResponse [25] IMPLICIT PresentResponse,
+ deleteResultSetRequest [26] IMPLICIT DeleteResultSetRequest,
+ deleteResultSetResponse [27] IMPLICIT DeleteResultSetResponse,
+ accessControlRequest [28] IMPLICIT AccessControlRequest,
+ accessControlResponse [29] IMPLICIT AccessControlResponse,
+ resourceControlRequest [30] IMPLICIT ResourceControlRequest,
+ resourceControlResponse [31] IMPLICIT ResourceControlResponse,
+ triggerResourceControlRequest [32] IMPLICIT TriggerResourceControlRequest,
+ resourceReportRequest [33] IMPLICIT ResourceReportRequest,
+ resourceReportResponse [34] IMPLICIT ResourceReportResponse,
+ scanRequest [35] IMPLICIT ScanRequest,
+ scanResponse [36] IMPLICIT ScanResponse,
+ -- [37] through [42] reserved
+ sortRequest [43] IMPLICIT SortRequest,
+ sortResponse [44] IMPLICIT SortResponse,
+ segmentRequest [45] IMPLICIT Segment,
+ extendedServicesRequest [46] IMPLICIT ExtendedServicesRequest,
+ extendedServicesResponse [47] IMPLICIT ExtendedServicesResponse,
+ close [48] IMPLICIT Close}
+
+-- Initialize APDUs
+--
+
+ InitializeRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ protocolVersion ProtocolVersion,
+ options Options,
+ preferredMessageSize [5] IMPLICIT INTEGER,
+ exceptionalRecordSize [6] IMPLICIT INTEGER,
+-- idAuthentication [7] ANY OPTIONAL, see note below
+ idAuthentication [7] CHOICE{
+ open VisibleString,
+ idPass SEQUENCE {
+ groupId [0] IMPLICIT InternationalString OPTIONAL,
+ userId [1] IMPLICIT InternationalString OPTIONAL,
+ password [2] IMPLICIT InternationalString OPTIONAL },
+ anonymous NULL,
+ other EXTERNAL} OPTIONAL,
+ implementationId [110] IMPLICIT InternationalString OPTIONAL,
+ implementationName [111] IMPLICIT InternationalString OPTIONAL,
+ implementationVersion [112] IMPLICIT InternationalString OPTIONAL,
+ userInformationField [11] EXTERNAL OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+--Note:
+-- For idAuthentication, the type ANY is retained
+-- for compatibility with earlier versions.
+-- For interoperability, the following is recommended:
+-- IdAuthentication [7] CHOICE{
+-- open VisibleString,
+-- idPass SEQUENCE {
+-- groupId [0] IMPLICIT InternationalString OPTIONAL,
+-- userId [1] IMPLICIT InternationalString OPTIONAL,
+-- password [2] IMPLICIT InternationalString OPTIONAL },
+-- anonymous NULL,
+-- other EXTERNAL
+-- May use access control formats for 'other'. See Appendix 7 ACC.
+--
+ InitializeResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ protocolVersion ProtocolVersion,
+ options Options,
+ preferredMessageSize [5] IMPLICIT INTEGER,
+ exceptionalRecordSize [6] IMPLICIT INTEGER,
+ result [12] IMPLICIT BOOLEAN,
+ -- relect = FALSE; Accept = TRUE
+ implementationId [110] IMPLICIT InternationalString OPTIONAL,
+ implementationName [111] IMPLICIT InternationalString OPTIONAL,
+ implementationVersion [112] IMPLICIT InternationalString OPTIONAL,
+ userInformationField [11] EXTERNAL OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+-- Begin auxiliary definitions for Init PDUs
+ ProtocolVersion ::= [3] IMPLICIT BIT STRING{
+ version-1 (0),
+ -- This bit should always be set, but does not
+ -- correspond to any Z39.50 version.
+ version-2 (1),
+ -- "Version 2 supported."
+ -- This bit should always be set.
+ version-3 (2)
+ -- "Version 3 supported."
+-- Values higher than 'version-3' should be ignored. Both the Initialize
+-- request and Initialize Response APDUs include a value string corresponding
+-- to the supported versions. The highest common version is selected
+-- for use. If there are no versions in common, "Result" in the Init Response
+-- should indicate "reject."
+-- Note: Versions 1 and 2 are identical. Systems supporting version 2 should
+-- indicate support for version 1 as well, for interoperability with systems
+-- that indicate support for version 1 only (e.g. ISO 10163-1991
+-- implementations).
+ }
+ Options ::= [4] IMPLICIT BIT STRING{
+ search (0),
+ present (1),
+ delSet (2),
+ resourceReport (3),
+ triggerResourceCtrl (4),
+ resourceCtrl (5),
+ accessCtrl (6),
+ scan (7),
+ sort (8),
+ -- (9) (reserved)
+ extendedServices (10),
+ level-1Segmentation (11),
+ level-2Segmentation (12),
+ concurrentOperations (13),
+ namedResultSets (14)}
+-- end auxiliary definitions for Init PDUs
+
+
+--Search APDUs
+ SearchRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ smallSetUpperBound [13] IMPLICIT INTEGER,
+ largeSetLowerBound [14] IMPLICIT INTEGER,
+ mediumSetPresentNumber [15] IMPLICIT INTEGER,
+ replaceIndicator [16] IMPLICIT BOOLEAN,
+ resultSetName [17] IMPLICIT InternationalString,
+ databaseNames [18] IMPLICIT SEQUENCE OF DatabaseName,
+ smallSetElementSetNames [100] ElementSetNames OPTIONAL,
+ mediumSetElementSetNames [101] ElementSetNames OPTIONAL,
+ preferredRecordSyntax [104] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
+ query [21] Query,
+ -- Following two parameters may be used only if version 3 is in force.
+ additionalSearchInfo [203] IMPLICIT OtherInformation OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+
+-- Query Definitions
+ Query ::= CHOICE{
+ type-0 [0] ANY,
+ type-1 [1] IMPLICIT RPNQuery,
+ type-2 [2] OCTET STRING,
+ type-100 [100] OCTET STRING,
+ type-101 [101] IMPLICIT RPNQuery,
+ type-102 [102] OCTET STRING}
+--
+-- Definitions for RPN query
+ RPNQuery ::= SEQUENCE{
+ attributeSet AttributeSetId,
+ rpn RPNStructure}
+--
+ RPNStructure ::= CHOICE{
+ op [0] Operand,
+ rpnRpnOp [1] IMPLICIT SEQUENCE{
+ rpn1 RPNStructure,
+ rpn2 RPNStructure,
+ op Operator }}
+ Operand ::= CHOICE{
+ attrTerm AttributesPlusTerm,
+ resultSet ResultSetId,
+ -- If version 2 is in force:
+ -- - If query type is 1, one of the above two must be chosen;
+ -- - resultAttr (below) may be used only if query type is 101.
+ resultAttr ResultSetPlusAttributes}
+
+ AttributesPlusTerm ::= [102] IMPLICIT SEQUENCE{
+ attributes AttributeList,
+ term Term}
+
+ ResultSetPlusAttributes ::= [214] IMPLICIT
+SEQUENCE{
+ resultSet ResultSetId,
+ attributes AttributeList}
+
+ AttributeList ::= [44] IMPLICIT SEQUENCE OF AttributeElement
+--
+ Term ::= CHOICE{
+ general [45] IMPLICIT OCTET STRING,
+ -- values below may be used only if version 3 is in force
+ numeric [215] IMPLICIT INTEGER,
+ characterString [216] IMPLICIT InternationalString,
+ oid [217] IMPLICIT OBJECT IDENTIFIER,
+ dateTime [218] IMPLICIT GeneralizedTime,
+ external [219] IMPLICIT EXTERNAL,
+ integerAndUnit [220] IMPLICIT IntUnit,
+ null [221] IMPLICIT NULL}
+
+ Operator ::= [46] CHOICE{
+ and [0] IMPLICIT NULL,
+ or [1] IMPLICIT NULL,
+ and-not [2] IMPLICIT NULL,
+ -- If version 2 is in force:
+ -- - For query type 1, one of the above three
+ -- must be chosen;
+ -- - prox (below) may be used only if query type
+ -- is 101.
+ prox [3] IMPLICIT ProximityOperator}
+
+ AttributeElement ::= SEQUENCE{
+ attributeSet [1] IMPLICIT AttributeSetId OPTIONAL,
+ -- Must be omitted if version 2 is in force.
+ -- If included, overrides value of attributeSet
+ -- in RPNQuery above, but only for this attribute.
+ attributeType [120] IMPLICIT INTEGER,
+ attributeValue CHOICE{
+ numeric [121] IMPLICIT INTEGER,
+ -- If version 2 is in force,
+ -- Must select 'numeric' for attributeValue.
+
+ complex [224] IMPLICIT SEQUENCE{
+ list [1] IMPLICIT SEQUENCE OF StringOrNumeric,
+ semanticAction [2] IMPLICIT SEQUENCE OF INTEGER OPTIONAL}}}
+
+
+ ProximityOperator ::= SEQUENCE{
+ exclusion [1] IMPLICIT BOOLEAN OPTIONAL,
+ distance [2] IMPLICIT INTEGER,
+ ordered [3] IMPLICIT BOOLEAN,
+ relationType [4] IMPLICIT INTEGER{
+ lessThan (1),
+ lessThanOrEqual (2),
+ equal (3),
+ greaterThanOrEqual (4),
+ greaterThan (5),
+ notEqual (6)},
+ proximityUnitCode [5] CHOICE{
+ known [1] IMPLICIT KnownProximityUnit,
+ private [2] IMPLICIT INTEGER}}
+--
+ KnownProximityUnit ::= INTEGER{
+ character (1),
+ word (2),
+ sentence (3),
+ paragraph (4),
+ section (5),
+ chapter (6),
+ document (7),
+ element (8),
+ subelement (9),
+ elementType (10),
+ byte (11) -- Version 3 only
+ }
+-- End definitions for RPN Query
+
+
+SearchResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ resultCount [23] IMPLICIT INTEGER,
+ numberOfRecordsReturned [24] IMPLICIT INTEGER,
+ nextResultSetPosition [25] IMPLICIT INTEGER,
+ searchStatus [22] IMPLICIT BOOLEAN,
+ resultSetStatus [26] IMPLICIT INTEGER{
+ subset (1),
+ interim (2),
+ none (3)} OPTIONAL,
+ presentStatus PresentStatus OPTIONAL,
+ records Records OPTIONAL,
+ -- Following two parameters may be used only if version 3 is in force.
+ additionalSearchInfo [203] IMPLICIT OtherInformation OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+
+
+--Retrieval APDUs
+ PresentRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ resultSetId ResultSetId,
+ resultSetStartPoint [30] IMPLICIT INTEGER,
+ numberOfRecordsRequested [29] IMPLICIT INTEGER,
+ additionalRanges [212] IMPLICIT SEQUENCE OF Range OPTIONAL,
+ -- additionalRanges may be included only if version 3 is in force.
+ recordComposition CHOICE{
+ simple [19] ElementSetNames,
+ -- must choose 'simple' if version 2
+ -- is in force
+ complex [209] IMPLICIT CompSpec}
+OPTIONAL,
+ preferredRecordSyntax [104] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
+ maxSegmentCount [204] IMPLICIT INTEGER OPTIONAL, -- level 1 or 2
+ maxRecordSize [206] IMPLICIT INTEGER OPTIONAL, -- level 2 only
+ maxSegmentSize [207] IMPLICIT INTEGER OPTIONAL, -- level 2 only
+ otherInfo OtherInformation OPTIONAL}
+--
+
+ Segment ::= SEQUENCE{
+ -- Segment PDU may only be used when version 3 is in force,
+ -- and only when segmentation is in effect.
+ referenceId ReferenceId OPTIONAL,
+ numberOfRecordsReturned [24] IMPLICIT INTEGER,
+ segmentRecords [0] IMPLICIT SEQUENCE OF NamePlusRecord,
+ otherInfo OtherInformation OPTIONAL}
+--
+ PresentResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ numberOfRecordsReturned [24] IMPLICIT INTEGER,
+ nextResultSetPosition [25] IMPLICIT INTEGER,
+ presentStatus PresentStatus,
+ records Records OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+-- begin auxiliary definitions for Search and Present APDUs
+
+-- begin definition of records
+ Records ::= CHOICE{
+ responseRecords [28] IMPLICIT SEQUENCE OF NamePlusRecord,
+ nonSurrogateDiagnostic [130] IMPLICIT DefaultDiagFormat,
+ multipleNonSurDiagnostics [205] IMPLICIT SEQUENCE OF DiagRec}
+--
+ NamePlusRecord ::= SEQUENCE{
+ name [0] IMPLICIT DatabaseName OPTIONAL,
+ record [1] CHOICE{
+ retrievalRecord [1] EXTERNAL,
+ surrogateDiagnostic [2] DiagRec,
+ -- Must select one of the above two, retrievalRecord or
+ -- surrogateDiagnostic, unless 'level 2 segmentation'
+ -- is in effect.
+ startingFragment [3] FragmentSyntax,
+ intermediateFragment [4] FragmentSyntax,
+ finalFragment [5] FragmentSyntax}}
+
+ FragmentSyntax ::= CHOICE{
+ externallyTagged EXTERNAL,
+ notExternallyTagged OCTET STRING}
+
+ DiagRec ::= CHOICE{
+ defaultFormat DefaultDiagFormat,
+ -- Must choose defaultFormat if version 2 is in effect.
+ externallyDefined EXTERNAL}
+
+ DefaultDiagFormat::= SEQUENCE{
+ diagnosticSetId OBJECT IDENTIFIER,
+ condition INTEGER,
+ addinfo CHOICE{
+ v2Addinfo VisibleString, -- version 2
+ v3Addinfo InternationalString -- version 3
+ }}
+ -- end definition of records
+
+ Range ::= SEQUENCE{
+ startingPosition [1] IMPLICIT INTEGER,
+ numberOfRecords [2] IMPLICIT INTEGER}
+--
+ ElementSetNames ::= CHOICE {
+ genericElementSetName [0] IMPLICIT InternationalString,
+ databaseSpecific [1] IMPLICIT SEQUENCE OF SEQUENCE{
+ dbName DatabaseName,
+ esn ElementSetName}}
+
+
+ PresentStatus ::= [27] IMPLICIT INTEGER{
+ success (0),
+ partial-1 (1),
+ partial-2 (2),
+ partial-3 (3),
+ partial-4 (4),
+ failure (5)}
+
+-- begin definition of composition specification
+ CompSpec ::= SEQUENCE{
+ selectAlternativeSyntax [1] IMPLICIT BOOLEAN,
+ -- See comment for recordSyntax, below.
+ generic [2] IMPLICIT Specification OPTIONAL,
+ dbSpecific [3] IMPLICIT SEQUENCE OF SEQUENCE{
+ db [1] DatabaseName,
+ spec [2] IMPLICIT Specification} OPTIONAL,
+ -- At least one of generic and dbSpecific must
+ -- occur, and both may occur. If both, then for
+ -- any record not in the list of databases
+ -- within dbSpecific, generic applies.
+ recordSyntax [4] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL
+ -- For each record, the target selects the
+ -- first record syntax in this list that it can
+ -- support. If the list is exhausted, the
+ -- target may select an alternative syntax if
+ -- selectAlternativeSyntax is 'true'.
+ }
+
+ Specification ::= SEQUENCE{
+ schema [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
+ elementSpec [2] CHOICE{
+ elementSetName [1] IMPLICIT InternationalString,
+ externalEspec [2] IMPLICIT EXTERNAL} OPTIONAL}
+-- end definition of composition specification
+-- end auxiliary definitions for search and response APDUs
+
+-- Delete APDUs
+ DeleteResultSetRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ deleteFunction [32] IMPLICIT INTEGER{
+ list (0),
+ all (1)},
+ resultSetList SEQUENCE OF ResultSetId OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+--
+ DeleteResultSetResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ deleteOperationStatus [0] IMPLICIT DeleteSetStatus,
+ deleteListStatuses [1] IMPLICIT ListStatuses OPTIONAL,
+ numberNotDeleted [34] IMPLICIT INTEGER OPTIONAL,
+ bulkStatuses [35] IMPLICIT ListStatuses OPTIONAL,
+ deleteMessage [36] IMPLICIT InternationalString OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+ ListStatuses ::= SEQUENCE OF SEQUENCE{
+ id ResultSetId,
+ status DeleteSetStatus}
+
+ DeleteSetStatus ::= [33] IMPLICIT INTEGER{
+ success (0),
+ resultSetDidNotExist (1),
+ previouslyDeletedByTarget (2),
+ systemProblemAtTarget (3),
+ accessNotAllowed (4),
+ resourceControlAtOrigin (5),
+ resourceControlAtTarget (6),
+ bulkDeleteNotSupported (7),
+ notAllRsltSetsDeletedOnBulkDlte (8),
+ notAllRequestedResultSetsDeleted (9),
+ resultSetInUse (10)}
+--
+
+--Access- and Resource-control APDUs
+--
+ AccessControlRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ securityChallenge CHOICE{
+ simpleForm [37] IMPLICIT OCTET STRING,
+ externallyDefined [0] EXTERNAL},
+ otherInfo OtherInformation OPTIONAL}
+
+ AccessControlResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ securityChallengeResponse CHOICE{
+ simpleForm [38] IMPLICIT
+ OCTET STRING,
+ externallyDefined [0] EXTERNAL}
+ OPTIONAL,
+ -- Optional only in version 3; mandatory in
+ -- version 2. If omitted (in version 3) then
+ -- diagnostic must occur.
+ diagnostic [223] DiagRec OPTIONAL, -- Version 3 only.
+ otherInfo OtherInformation OPTIONAL}
+
+
+
+ ResourceControlRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ suspendedFlag [39] IMPLICIT BOOLEAN OPTIONAL,
+ resourceReport [40] ResourceReport OPTIONAL,
+ partialResultsAvailable [41] IMPLICIT INTEGER{
+ subset (1),
+ interim (2),
+ none (3)} OPTIONAL,
+ responseRequired [42] IMPLICIT BOOLEAN,
+ triggeredRequestFlag [43] IMPLICIT BOOLEAN OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+
+ ResourceControlResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ continueFlag [44] IMPLICIT BOOLEAN,
+ resultSetWanted [45] IMPLICIT BOOLEAN OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+
+
+ TriggerResourceControlRequest ::=
+SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ requestedAction [46] IMPLICIT INTEGER{
+ resourceReport (1),
+ resourceControl (2),
+ cancel (3)},
+ prefResourceReportFormat [47] IMPLICIT ResourceReportId OPTIONAL,
+ resultSetWanted [48] IMPLICIT BOOLEAN OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+
+
+ ResourceReportRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ opId [210] IMPLICIT ReferenceId OPTIONAL,
+ prefResourceReportFormat [49] IMPLICIT ResourceReportId OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+--
+ ResourceReportResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ resourceReportStatus [50] IMPLICIT INTEGER{
+ success (0),
+ partial (1),
+ failure-1 (2),
+ failure-2 (3),
+ failure-3 (4),
+ failure-4 (5),
+ failure-5 (6),
+ failure-6 (7)},
+ resourceReport [51] ResourceReport OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+--
+ ResourceReport ::= EXTERNAL
+ ResourceReportId ::= OBJECT IDENTIFIER
+
+--Scan APDUs
+ ScanRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ databaseNames [3] IMPLICIT SEQUENCE OF DatabaseName,
+ attributeSet AttributeSetId OPTIONAL,
+ termListAndStartPoint AttributesPlusTerm,
+ stepSize [5] IMPLICIT INTEGER OPTIONAL,
+ numberOfTermsRequested [6] IMPLICIT INTEGER,
+ preferredPositionInResponse [7] IMPLICIT INTEGER OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+ ScanResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ stepSize [3] IMPLICIT INTEGER OPTIONAL,
+ scanStatus [4] IMPLICIT INTEGER {
+ success (0),
+ partial-1 (1),
+ partial-2 (2),
+ partial-3 (3),
+ partial-4 (4),
+ partial-5 (5),
+ failure (6) },
+ numberOfEntriesReturned [5] IMPLICIT INTEGER,
+ positionOfTerm [6] IMPLICIT INTEGER OPTIONAL,
+ entries [7] IMPLICIT ListEntries OPTIONAL,
+ attributeSet [8] IMPLICIT AttributeSetId OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+
+-- begin auxiliary definitions for Scan
+ ListEntries ::= SEQUENCE{
+ entries [1] IMPLICIT SEQUENCE OF Entry OPTIONAL,
+ nonsurrogateDiagnostics [2] IMPLICIT SEQUENCE OF DiagRec OPTIONAL
+ -- At least one of entries and nonsurrogateDiagnostic must occur
+ }
+
+ Entry ::= CHOICE {
+ termInfo [1] IMPLICIT TermInfo,
+ surrogateDiagnostic [2] DiagRec}
+--
+ TermInfo ::= SEQUENCE {
+ term Term,
+ displayTerm [0] IMPLICIT InternationalString OPTIONAL,
+ -- Presence of displayTerm means that term is
+ -- not considered by the target to be suitable
+ -- for display, and displayTerm should instead
+ -- be displayed. 'term' is the actual term in
+ -- the term list; 'displayTerm' is for display
+ -- purposes only, and is not an actual term in
+ -- the term list.
+ suggestedAttributes AttributeList OPTIONAL,
+ alternativeTerm [4] IMPLICIT SEQUENCE OF AttributesPlusTerm OPTIONAL,
+ globalOccurrences [2] IMPLICIT INTEGER OPTIONAL,
+ byAttributes [3] IMPLICIT OccurrenceByAttributes OPTIONAL,
+ otherTermInfo OtherInformation OPTIONAL}
+
+ OccurrenceByAttributes ::= SEQUENCE OF
+SEQUENCE{
+ attributes [1] AttributeList,
+ occurrences CHOICE{
+ global [2] INTEGER,
+ byDatabase [3] IMPLICIT SEQUENCE OF
+ SEQUENCE{
+ db DatabaseName,
+ num [1] IMPLICIT INTEGER OPTIONAL,
+ otherDbInfo OtherInformation OPTIONAL}}
+ OPTIONAL,
+ otherOccurInfo OtherInformation OPTIONAL}
+-- end auxiliary definitions for Scan
+
+-- Sort APDUs
+SortRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ inputResultSetNames [3] IMPLICIT SEQUENCE OF InternationalString,
+ sortedResultSetName [4] IMPLICIT InternationalString,
+ sortSequence [5] IMPLICIT SEQUENCE OF SortKeySpec,
+ -- order of occurrence is
+ -- from major to minor
+ otherInfo OtherInformation OPTIONAL}
+
+SortResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ sortStatus [3] IMPLICIT INTEGER{
+ success (0),
+ partial-1 (1),
+ failure (2)},
+ resultSetStatus [4] IMPLICIT INTEGER{
+ empty (1),
+ interim (2),
+ unchanged (3),
+ none (4)} OPTIONAL,
+ diagnostics [5] IMPLICIT SEQUENCE OF DiagRec OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+
+-- begin auxiliary definitions for Sort
+ SortKeySpec ::= SEQUENCE{
+ sortElement SortElement,
+ sortRelation [1] IMPLICIT INTEGER{
+ ascending (0),
+ descending (1),
+ ascendingByFrequency (3),
+ descendingByfrequency (4)},
+ caseSensitivity [2] IMPLICIT INTEGER{
+ caseSensitive (0),
+ caseInsensitive (1)},
+ missingValueAction [3] CHOICE{
+ abort [1] IMPLICIT NULL,
+ null [2] IMPLICIT NULL,
+ -- supply a null value
+ -- for missing value
+ missingValueData [3] IMPLICIT OCTET
+ STRING} OPTIONAL}
+
+ SortElement ::= CHOICE{
+ generic [1] SortKey,
+ datbaseSpecific [2] IMPLICIT SEQUENCE OF SEQUENCE{
+ databaseName DatabaseName,
+ dbSort SortKey}}
+
+ SortKey ::= CHOICE{
+ sortfield [0] IMPLICIT InternationalString,
+ -- An element, element-group-tag, or alias
+ -- supported by the target and denoting a set
+ -- of elements associated with each record.
+ elementSpec [1] IMPLICIT Specification,
+ sortAttributes [2] IMPLICIT SEQUENCE{
+ id AttributeSetId,
+ list AttributeList}}
+-- end auxiliary definitions for sort
+
+
+
+-- Extended Service APDUs
+ ExtendedServicesRequest ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ function [3] IMPLICIT INTEGER {
+ create (1),
+ delete (2),
+ modify (3)},
+ packageType [4] IMPLICIT OBJECT IDENTIFIER,
+ packageName [5] IMPLICIT InternationalString OPTIONAL,
+ -- PackageName mandatory for 'modify' or
+ -- 'delete'; optional for 'create'.
+ -- Following four parameters mandatory
+ -- for 'create'; should be included on
+ -- 'modify' if being modified; not needed
+ -- on 'delete'.
+ userId [6] IMPLICIT InternationalString OPTIONAL,
+ retentionTime [7] IMPLICIT IntUnit OPTIONAL,
+ permissions [8] IMPLICIT Permissions OPTIONAL,
+ description [9] IMPLICIT InternationalString OPTIONAL,
+ taskSpecificParameters [10] IMPLICIT EXTERNAL OPTIONAL,
+ -- Mandatory for 'create'; included on
+ -- 'modify' if specific parameters being
+ -- modified; not necessary on 'delete'.
+ -- For the 'EXTERNAL,' use OID of
+ -- specific ES definition and select
+ -- CHOICE [1]: 'esRequest'.
+ waitAction [11] IMPLICIT INTEGER{
+ wait (1),
+ waitIfPossible (2),
+ dontWait (3),
+ dontReturnPackage (4)},
+ elements ElementSetName OPTIONAL,
+ otherInfo OtherInformation OPTIONAL}
+--
+
+ExtendedServicesResponse ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL,
+ operationStatus [3] IMPLICIT INTEGER{
+ done (1),
+ accepted (2),
+ failure (3)},
+ diagnostics [4] IMPLICIT SEQUENCE OF DiagRec OPTIONAL,
+ taskPackage [5] IMPLICIT EXTERNAL OPTIONAL,
+ -- Use OID: {Z39-50-recordSyntax (106)}
+ -- and corresponding syntax. For the
+ -- EXTERNAL, 'taskSpecific,' within that
+ -- definition, use OID of the specific
+ -- es, and choose [2], 'taskPackage'.
+ otherInfo OtherInformation OPTIONAL}
+
+ Permissions ::= SEQUENCE OF SEQUENCE{
+ userId [1] IMPLICIT InternationalString,
+ allowableFunctions [2] IMPLICIT SEQUENCE OF INTEGER{
+ delete (1),
+ modifyContents (2),
+ modifyPermissions (3),
+ present (4),
+ invoke (5)}}
+
+Close ::= SEQUENCE{
+ referenceId ReferenceId OPTIONAL, -- See 3.2.11.1.5.
+ closeReason CloseReason,
+ diagnosticInformation [3] IMPLICIT InternationalString OPTIONAL,
+ resourceReportFormat [4] IMPLICIT ResourceReportId OPTIONAL,
+ -- For use by origin only, and only on
+ -- Close request; origin requests target
+ -- to include report in response.
+ resourceReport [5] ResourceReport OPTIONAL,
+ -- For use by target only, unilaterally
+ -- on Close request; on Close response
+ -- may be unilateral or in response to
+ -- origin request.
+ otherInfo OtherInformation OPTIONAL}
+
+ CloseReason ::= [211] IMPLICIT INTEGER{
+ finished (0),
+ shutdown (1),
+ systemProblem (2),
+ costLimit (3),
+ resources (4),
+ securityViolation (5),
+ protocolError (6),
+ lackOfActivity (7),
+ peerAbort (8),
+ unspecified (9)}
+
+
+-- Global auxiliary definitions
+ ReferenceId ::= [2] IMPLICIT OCTET STRING
+ ResultSetId ::= [31] IMPLICIT InternationalString
+ ElementSetName ::= [103] IMPLICIT InternationalString
+ DatabaseName ::= [105] IMPLICIT InternationalString
+ AttributeSetId ::= OBJECT IDENTIFIER
+
+
+-- OtherInformation
+ OtherInformation ::= [201] IMPLICIT SEQUENCE OF
+SEQUENCE{
+ category [1] IMPLICIT InfoCategory OPTIONAL,
+ information CHOICE{
+ characterInfo [2] IMPLICIT InternationalString,
+ binaryInfo [3] IMPLICIT OCTET STRING,
+ externallyDefinedInfo [4] IMPLICIT EXTERNAL,
+ oid [5] IMPLICIT OBJECT IDENTIFIER}}
+--
+ InfoCategory ::= SEQUENCE{
+ categoryTypeId [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
+ categoryValue [2] IMPLICIT INTEGER}
+
+
+-- Units
+ -- IntUnit is used when value and unit are supplied together. Unit, alone,
+ -- is used when just specifying a unit (without a value). For example,
+ -- IntUnit is used in Term, in an RPNQuery, or it can be the datatype of
+ -- an element within a retrieval record. Unit (alone) would be used in an
+ -- element request, when requesting data be returned according to a
+ -- particular unit.
+
+ IntUnit ::= SEQUENCE{
+ value [1] IMPLICIT INTEGER,
+ unitUsed [2] IMPLICIT Unit}
+--
+ Unit ::= SEQUENCE{
+ unitSystem [1] InternationalString OPTIONAL, -- e.g. 'SI'
+ unitType [2] StringOrNumeric OPTIONAL, -- e.g. 'mass'
+ unit [3] StringOrNumeric OPTIONAL, -- e.g. 'kilograms'
+ scaleFactor [4] IMPLICIT INTEGER OPTIONAL -- e.g. 9 means 10**9
+ }
+
+--CharacterString
+ InternationalString ::= GeneralString
+ -- When version 2 is in force, this collapses to VisibleString. That
+ -- is, only characters in the visibleString repertoire may be used.
+ -- (Datatype compatibility with version 2 is not affected, because
+ -- references are IMPLICIT.) When version 3 is in force, the semantics
+ -- of the GeneralString content may be altered by negotiation during
+ -- initialization. If no such negotiation is in effect, then
+ -- GeneralString semantics are in force.
+
+StringOrNumeric ::= CHOICE{
+ string [1] IMPLICIT InternationalString,
+ numeric [2] IMPLICIT INTEGER}
+
+END --IR DEFINITIONS
diff --git a/epan/dissectors/asn1/z3950/z3950.cnf b/epan/dissectors/asn1/z3950/z3950.cnf
new file mode 100644
index 00000000..d735affd
--- /dev/null
+++ b/epan/dissectors/asn1/z3950/z3950.cnf
@@ -0,0 +1,278 @@
+# z3950.cnf
+# Conformation file for the NISO Z39.50 Information Retrieval protocol
+# Copyright 2018 Craig Jackson <cejackson51@gmail.com>
+
+# $Id$
+
+#.MODULE_IMPORT
+
+#.EXPORTS
+
+#.PDU
+#Z39-50-APDU-1995
+
+#.NO_EMIT
+
+#.TYPE_RENAME
+
+#.FIELD_RENAME
+AttributeList/_untag/_item attributeList_item
+OtherInformation/_untag/_item otherInformation_item
+RPNStructure/rpnRpnOp/op operatorRpnOp
+RPNStructure/op operandRpnOp
+SearchResponse/resultSetStatus search_resultSetStatus
+SortResponse/resultSetStatus sort_resultSetStatus
+AttributeElement/attributeValue/numeric attributeValue_numeric
+AttributeElement/attributeValue/complex attributeValue_complex
+AttributeElement/attributeValue/complex/list attributeValue_complex_list
+AttributeElement/attributeType attributeElement_attributeType
+ListStatuses/_item/id listStatuses_id
+CompSpec/generic compSpec_generic
+SortElement/generic sortElement_generic
+ScanResponse/entries scanResponse_entries
+ListEntries/entries listEntries_entries
+Specification/elementSpec specification_elementSpec
+SortKey/elementSpec sortKey_elementSpec
+SortKey/sortAttributes/list sortAttributes_list
+SortKey/sortAttributes/id sortAttributes_id
+PresentRequest/recordComposition/complex recordComposition_complex
+DiagFormat/recordSyntax diagFormat_recordSyntax
+DiagFormat/sort/dbSpecific diagFormat_sort_dbSpecific
+DiagFormat/sort/tooMany diagFormat_sort_tooMany
+DiagnosticFormat/_item/diagnostic diagnosticFormat_item_diagnostic
+DiagFormat/proximity diagFormat_proximity
+DiagFormat/proximity/exclusion diagFormat_proximity_exclusion
+DiagFormat/proximity/ordered diagFormat_proximity_ordered
+DiagFormat/proximity/unit diagFormat_proximity_unit
+DiagFormat/accessCtrl/oid diagFormat_accessCtrl_oid
+DiagFormat/accessCtrl/simple diagFormat_accessCtrl_simple
+DiagFormat/term diagFormat_term
+SortKeyDetails/caseSensitivity sortKeyDetails_caseSensitivity
+SortKeyDetails/sortType/structured sortKeyDetails_sortType_structured
+SortKeyDetails/sortType/numeric sortKeyDetails_sortType_numeric
+PrivateCapabilities/operators privateCapabilities_operators
+PromptId/enummeratedPrompt/type promptId_enummeratedPrompt_type
+ExtendedServicesInfo/waitAction extendedServicesInfo_waitAction
+NetworkAddress/other networkAddress_other
+NetworkAddress/other/address networkAddress_other_address
+NetworkAddress/other/type networkAddress_other_type
+AttributeDescription/attributeValue attributeDescription_attributeValue
+AttributeTypeDetails/attributeValues attributeTypeDetails_attributeValues
+AttributeTypeDetails/attributeValues/_item attributeTypeDetails_attributeValues_item
+AttributeOccurrence/attributeValues attributeOccurrence_attributeValues
+AttributeValue/value attributeValue_value
+DRNType/userId dRNType_userId
+DES-RN-Object/challenge dES_RN_Object_challenge
+DES-RN-Object/response rES_RN_Object_response
+VariantSetInfo/variants variantSetInfo_variants
+Variant/triples/_item/value variant_triples_item_value
+Variant/triples/_item/value/unit variant_triples_item_value_unit
+UnitType/units unitType_units
+UnitInfo/units unitInfo_units
+ValueDescription/unit valueDescription_unit
+ProximitySupport/unitsSupported/_item/private/unit proximitySupport_unitsSupported_item_private_unit
+ProximitySupport/unitsSupported/_item/private proximitySupport_unitsSupported_item_private
+ProximitySupport/unitsSupported/_item/known proximitySupport_unitsSupported_item_known
+Usage/type usage_type
+FormatSpec/type formatSpec_type
+ExtendedServicesInfo/type extendedServicesInfo_type
+QueryExpression/term queryExpression_term
+QueryTypeDetails/rpn queryTypeDetails_rpn
+QueryTypeDetails/private queryTypeDetails_private
+BriefBib/title briefBib_title
+Charge/text charge_text
+OCLC-UserInformation/text oCLC-UserInformation_text
+CircRecord/restrictions circRecord_restrictions
+ResourceControlRequest/responseRequired resourceControlRequest_responseRequired
+KRBObject/challenge kRBObject_challenge
+KRBObject/response kRBObject_response
+CompSpec/recordSyntax compSpec_recordSyntax
+DatabaseInfo/name databaseInfo_name
+DatabaseInfo/nicknames databaseInfo_nicknames
+DatabaseInfo/nicknames/_item databaseInfo_nicknames_item
+NamePlusRecord/name namePlusRecord_name
+BriefBib/format briefBib_format
+TagSetInfo/elements tagSetInfo_elements
+ElementSetDetails/elementSetName elementSetDetails_elementSetName
+PrivateCapabilities/description privateCapabilities_description
+TaskPackage/description taskPackage_description
+ElementData/diagnostic elementData_diagnostic
+Challenge/_item/diagnostic challenge_item_diagnostic
+Challenge/_item/dataType challenge_item_dataType
+Challenge/_item/promptInfo/character challenge_item_promptInfo_character
+ElementInfo/dataType elementInfo_dataType
+TaggedElement/content taggedElement_content
+CategoryInfo/category categoryInfo_category
+TermListDetails/attributes termListDetails_attributes
+AttributeSetInfo/attributes attributeSetInfo_attributes
+ExtendedServicesRequest/description extendedServicesRequest_description
+
+#.END
+
+#.REGISTER
+Explain-Record B "1.2.840.10003.5.100" "Explain-record"
+SutrsRecord B "1.2.840.10003.5.101" "Sutrs-record"
+OPACRecord B "1.2.840.10003.5.102" "OPAC-record"
+BriefBib B "1.2.840.10003.5.103" "Summary-record"
+GenericRecord B "1.2.840.10003.5.105" "GRS-1-record"
+TaskPackage B "1.2.840.10003.5.106" "ESTaskPackage"
+DiagnosticFormat B "1.2.840.10003.4.2" "diag-1"
+PromptObject B "1.2.840.10003.8.1" "Prompt-1"
+DES-RN-Object B "1.2.840.10003.8.2" "DES-1"
+KRBObject B "1.2.840.10003.8.3" "KRB-1"
+SearchInfoReport B "1.2.840.10003.10.1" "SearchResult-1"
+OCLC-UserInformation B "1.2.840.10003.10.1000.17.1" "OCLC-UserInfo-1"
+
+#.FN_HDR PDU
+ gint choice;
+#.FN_PARS PDU VAL_PTR=&choice
+#.FN_FTR PDU
+ if (choice >= 0) {
+ packet_info *pinfo = actx->pinfo;
+ gint32 tag = PDU_choice[choice].tag;
+
+ col_set_str(pinfo->cinfo, COL_INFO,
+ val_to_str_const(tag, z3950_PDU_vals, "Unknown Z39.50 PDU"));
+ }
+
+#.FN_BODY Query/type-0
+/*XXX Not implemented yet */
+
+#.FN_BODY ReferenceId
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_CON, 2, TRUE,
+ dissect_z3950_printable_OCTET_STRING);
+
+#.FN_BODY Term/general
+ offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
+ hf_index, BER_CLASS_CON, 2, TRUE,
+ dissect_z3950_printable_OCTET_STRING);
+
+#.FN_HDR AttributeSetId
+ tvbuff_t *oid_tvb=NULL;
+
+#.FN_PARS AttributeSetId VAL_PTR=&oid_tvb
+#.FN_FTR AttributeSetId
+ if (oid_tvb) {
+ packet_info *pinfo = actx->pinfo;
+ guint len = tvb_reported_length_remaining(oid_tvb, 0);
+ gchar *oid_str = oid_encoded2string(pinfo->pool,
+ tvb_get_ptr(oid_tvb, 0, len), len);
+ gint attribute_set_idx = Z3950_ATSET_UNKNOWN;
+ z3950_atinfo_t *atinfo_data;
+
+ if (g_strcmp0(oid_str, Z3950_ATSET_BIB1_OID) == 0) {
+ attribute_set_idx = Z3950_ATSET_BIB1;
+ }
+ if ((atinfo_data = (z3950_atinfo_t *)p_get_proto_data(pinfo->pool, pinfo, proto_z3950, Z3950_ATINFO_KEY)) == NULL) {
+
+ atinfo_data = wmem_new0(pinfo->pool, z3950_atinfo_t);
+ atinfo_data->atsetidx = attribute_set_idx;
+ p_add_proto_data(pinfo->pool, pinfo,
+ proto_z3950, Z3950_ATINFO_KEY, atinfo_data);
+ }
+ else {
+ atinfo_data->atsetidx = attribute_set_idx;
+ }
+ }
+
+#.FN_HDR AttributeElement/attributeType
+ gint att_type=0;
+ packet_info *pinfo = actx->pinfo;
+ z3950_atinfo_t *atinfo_data;
+#.FN_PARS AttributeElement/attributeType VAL_PTR=&att_type
+#.FN_FTR AttributeElement/attributeType
+ atinfo_data = (z3950_atinfo_t *)p_get_proto_data(pinfo->pool, pinfo, proto_z3950, Z3950_ATINFO_KEY);
+ if (atinfo_data && atinfo_data->atsetidx == Z3950_ATSET_BIB1) {
+ proto_item_append_text(actx->created_item, " (%s)",
+ val_to_str(att_type, z3950_bib1_att_types, "Unknown bib-1 attributeType %d"));
+ atinfo_data->attype = att_type;
+ }
+#.FN_HDR AttributeElement/attributeValue/numeric
+ gint att_value=0;
+ packet_info *pinfo = actx->pinfo;
+ z3950_atinfo_t *atinfo_data;
+ const value_string *att_value_string = NULL;
+#.FN_PARS AttributeElement/attributeValue/numeric VAL_PTR=&att_value
+#.FN_FTR AttributeElement/attributeValue/numeric
+ atinfo_data = (z3950_atinfo_t *)p_get_proto_data(pinfo->pool, pinfo, proto_z3950, Z3950_ATINFO_KEY);
+ if (atinfo_data && atinfo_data->atsetidx == Z3950_ATSET_BIB1) {
+ switch (atinfo_data->attype) {
+ case Z3950_BIB1_AT_USE:
+ att_value_string = z3950_bib1_at_use;
+ break;
+ case Z3950_BIB1_AT_RELATION:
+ att_value_string = z3950_bib1_at_relation;
+ break;
+ case Z3950_BIB1_AT_POSITION:
+ att_value_string = z3950_bib1_at_position;
+ break;
+ case Z3950_BIB1_AT_STRUCTURE:
+ att_value_string = z3950_bib1_at_structure;
+ break;
+ case Z3950_BIB1_AT_TRUNCATION:
+ att_value_string = z3950_bib1_at_truncation;
+ break;
+ case Z3950_BIB1_AT_COMPLETENESS:
+ att_value_string = z3950_bib1_at_completeness;
+ break;
+ default:
+ att_value_string = NULL;
+ }
+ if (att_value_string) {
+ proto_item_append_text(actx->created_item, " (%s)",
+ val_to_str(att_value, att_value_string, "Unknown bib-1 attributeValue %d"));
+ }
+ }
+#.FN_HDR DefaultDiagFormat/diagnosticSetId
+ tvbuff_t *oid_tvb=NULL;
+
+#.FN_PARS DefaultDiagFormat/diagnosticSetId VAL_PTR=&oid_tvb
+#.FN_FTR DefaultDiagFormat/diagnosticSetId
+ if (oid_tvb) {
+ packet_info *pinfo = actx->pinfo;
+ guint len = tvb_reported_length_remaining(oid_tvb, 0);
+ gchar *oid_str = oid_encoded2string(pinfo->pool,
+ tvb_get_ptr(oid_tvb, 0, len), len);
+ gint diagset_idx = Z3950_DIAGSET_UNKNOWN;
+ z3950_diaginfo_t *diaginfo_data;
+
+ if (g_strcmp0(oid_str, Z3950_DIAGSET_BIB1_OID) == 0) {
+ diagset_idx = Z3950_DIAGSET_BIB1;
+ }
+ if ((diaginfo_data = (z3950_diaginfo_t *)p_get_proto_data(pinfo->pool, pinfo, proto_z3950, Z3950_DIAGSET_KEY)) == NULL) {
+
+ diaginfo_data = wmem_new0(pinfo->pool, z3950_diaginfo_t);
+ diaginfo_data->diagsetidx = diagset_idx;
+ p_add_proto_data(pinfo->pool, pinfo,
+ proto_z3950, Z3950_DIAGSET_KEY, diaginfo_data);
+ }
+ else {
+ diaginfo_data->diagsetidx = diagset_idx;
+ }
+ }
+
+#.FN_HDR DefaultDiagFormat/condition
+ gint diag_condition=0;
+ packet_info *pinfo = actx->pinfo;
+ z3950_diaginfo_t *diaginfo_data;
+#.FN_PARS DefaultDiagFormat/condition VAL_PTR=&diag_condition
+#.FN_FTR DefaultDiagFormat/condition
+ diaginfo_data = (z3950_diaginfo_t *)p_get_proto_data(pinfo->pool, pinfo, proto_z3950, Z3950_DIAGSET_KEY);
+ if (diaginfo_data && diaginfo_data->diagsetidx == Z3950_DIAGSET_BIB1) {
+ proto_item_append_text(actx->created_item, " (%s)",
+ val_to_str(diag_condition, z3950_bib1_diagconditions, "Unknown bib-1 diagnostic %d"));
+ diaginfo_data->diagcondition = diag_condition;
+ }
+#
+# Editor modelines - https://www.wireshark.org/tools/modelines.html
+#
+# Local variables:
+# c-basic-offset: 2
+# tab-width: 8
+# indent-tabs-mode: nil
+# End:
+#
+# vi: set shiftwidth=2 tabstop=8 expandtab autoindent:
+# :indentSize=2:tabSize=8:noTabs=true:
+#